diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/404.html b/404.html new file mode 100644 index 0000000000000..d56dd4e67b2d3 --- /dev/null +++ b/404.html @@ -0,0 +1,20 @@ + + + + + +Page Not Found | Buck2 + + + + + + + + +
+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+ + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000000000..e9f120a02324e --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +buck2.build \ No newline at end of file diff --git a/_src/.gitignore b/_src/.gitignore new file mode 100644 index 0000000000000..0aebda0a49b72 --- /dev/null +++ b/_src/.gitignore @@ -0,0 +1,2 @@ +/generated/ +*.generated.md diff --git a/_src/about/benefits/compared_to_buck1.md b/_src/about/benefits/compared_to_buck1.md new file mode 100644 index 0000000000000..b79d5de49f12f --- /dev/null +++ b/_src/about/benefits/compared_to_buck1.md @@ -0,0 +1,150 @@ +--- +id: compared_to_buck1 +title: Benefits When Compared to Buck1 +--- + + + +For reports from real users, see the [Testimonials](testimonials.fb.md), which +include Workplace posts and their full context. + + + +## Benefits for end users + +> _"`buck2 build SOME_TARGET_I_ALREADY_BUILT_BEFORE` is basically instantaneous +> and is a super delightful experience. 🙂"_ - End user experience +> +> ([source](https://fb.prod.workplace.com/groups/buck2users/posts/3030704467185914)) + +> _"Buck2 is largely faster and more memory efficient than buck1, and where I’ve +> seen counter-examples, the buck2 team quickly optimizes and fixes that.🙂"_ - +> Software Engineer feedback +> ([source](https://fb.prod.workplace.com/groups/devx.ci.bffs/posts/616830502778501)) + +For people who use Buck on a daily basis (such as using Buck build as part of +their development inner loop), switching to Buck2 provides the following +benefits: + +- **Performance** - the performance of Buck2 is better in four ways: + - **_Fast things are fast_** - in Buck1, simply typing `buck build` when there + is nothing to do can be expensive (23 seconds in some benchmarks). In Buck2, + the same build action takes 0.1 seconds. Actions that should be fast are + fast, which enables developers to use Buck more freely, without trying to + work around the build system. + - **_Slow things are faster_** - when there is real work to do, Buck2 is + significantly closer to the critical path. Benchmarks range from 5%/10s + faster for changing a header file (lots of parallel C++ computations, Buck1 + already nearly at the critical path) to 42%/145s faster (changing a Thrift + file in a large project). + - **_Users contribute to the shared cache_** - with Buck1, only trusted CI + builds write to the network cache, while with Buck2 everyone writes to the + cache through sandboxed remote execution. This increases the chance of cache + hits, saving capacity and time. + - **_CI builds go faster_** - these numbers vary day by day, but most projects + are 2-4x faster. This means spending less time waiting for CI and saving + some capacity at the same time. +- **Correctness** - in Buck2, rules are hermetic by default. Missing + dependencies are errors. These restrictions apply to both the user-written + `BUCK` files and the language rules. + - During the process of migrating to Buck2, a huge number of missing + dependencies have been fixed. However, during the same process, several + Buck1 issues were identified that are not going to be fixed in Buck1 (such + as missing headers, genrules without dependencies, and OCaml rules don’t + track all deps). The end result is that Buck2 gives the right answer more + often, cutting down on user surprises. +- **Rule features** - the rules in Buck2, especially for less commonly used + languages (such as Haskell, OCaml, and Rust) support features above and beyond + those in Buck1. + - Examples: dependencies can be given as arguments to + `prebuilt_ocaml_library`, Haskell enables the use of stub headers from C++, + and Rust has experimental pipelining support. +- **Actively developed** - the Meta build team is putting all its efforts behind + Buck2; it's vastly easier to develop than Buck1. While Buck2 is already ahead + of Buck1 in many important aspects, the difference is only going to grow with + several improvements in the pipeline. +- **Support** - Meta can provide much better support to those having + difficulties with Buck2 than to those using Buck1. + +## Benefits for Rule Authors + +If you write language-specific rules, then Buck2 is in a different league to +Buck1. + +> _"This is all rather fun! Buck2 rules are so much more hackable than +> Buck1."_ - Software Engineer feedback +> ([source](https://fb.prod.workplace.com/groups/333784157210625/posts/928214407767594)) + +There are a number of reasons why Buck2 excels for Rule Authors: + +- **Faster developer cycle** - in Buck1, the time from changing a rule to seeing + the impact is many minutes: you first have to compile Buck1, invalidate the + dependency cache (and so on), and perhaps work between multiple OSs. With + Buck2, it takes seconds, you don’t even need to restart the daemon. +- **Simple API** - Buck2 rules use a small and documented Starlark API, which is + dependency-correct by construction. In Buck1, the rules must obey a lot of + subtle side conditions with a much larger API. +- **Easier deployment** - for Buck2, deployment is just checking the rules in, + with an atomic commit changing associated macros (when required). For Buck1, + you have to make the repo work with the old and new rules and wait for a Buck + version bump to ship your changes, perhaps a few days later. +- **Low barrier to entry** - writing rules in Buck2 is vastly easier than Buck1, + significantly increasing the developer pool. This means that writing rules is + now accessible to language experts, not just Buck experts. + +## Benefits for Integrators + +For those people who integrate Buck2 into larger systems, in addition to many of +the above benefits apply, Buck2 provides the following benefits: + +- **Faster queries** - many integrators make extensive use of `buck uquery` and + `cquery`. In Buck2, these commands are **faster** and use **less memory**. + - For example, on CI target determination (a bunch of targets/queries), Buck2 + is 25% faster at P50 (moving to 40% faster at P95) with 25% less memory + (saving over 20Gb, and crossing below the 64Gb threshold). +- **Profiling** - Buck2 already ships with five types of profiling for both + loading and analysis (flame graphs, statement breakdown, heap profiles etc). + With Buck2, these tools are much more easily accessible to people not on the + Build Infra team. + + + +- **Eden friendly** - Buck2 is tuned for the Eden architecture, performing fewer + disk operations with greater parallelism. + - For example, the slowdown caused by using Eden for `targets` on `fbandroid` + is + [reduced from 300s to 80s](https://fb.workplace.com/groups/132499338763090/posts/132580122088345). +- **Better observability** - Buck2 populates many Scuba tables with information + about + [loading](https://www.internalfb.com/intern/scuba/query/?dataset=buck2_loads), + [analysis](https://www.internalfb.com/intern/scuba/query/?dataset=buck2_analyses), + [builds](https://www.internalfb.com/intern/scuba/query/?dataset=buck2_builds) + and + [errors](https://www.internalfb.com/intern/scuba/query/?dataset=buck2_action_errors), + and more. The architecture of Buck2 ensures that all important information can + be recorded in a uniform manner, enabling sensible trade-offs to be made about + what to store vs for how long. + + + +## The downside + +While there are many benefits, it would be remiss not to include a small list of +temporary issues: + +- **Stability** - Buck2 is under active development, which means the risk of + regression is correspondingly higher. There may be issues, but they will be + fixed as quickly as possible (and lessons learned) through the through Meta's + SEV-review process. +- **Corner cases** - Buck1 has been battle-tested for nearly a decade, which has + included attention to events such as error messages in unlikely corner cases. + Only time and user feedback will enable Meta to bring Buck2 to the same level. + Please share all such feedback! + + + +- **Buck2 Web UI** - there isn’t yet a working Web UI equivalent to the one + provided by Buck1. But we’re working on it and hope to share an initial + version shortly. + + diff --git a/_src/about/bootstrapping.md b/_src/about/bootstrapping.md new file mode 100644 index 0000000000000..17192e3b49ce5 --- /dev/null +++ b/_src/about/bootstrapping.md @@ -0,0 +1,32 @@ +--- +id: bootstrapping +title: Bootstrapping Buck2 +--- + +# Bootstrapping Buck2 + +To generate `BUCK` files for `buck2`'s dependencies, we use +[reindeer](https://github.com/facebookincubator/reindeer). + +Note that the resulting binary will be compiled without optimisations or +[jemalloc](https://github.com/jemalloc/jemalloc), so we recommend using the +Cargo-produced binary in further development. + +First, install `reindeer` with `Cargo`: + +```sh +cargo install --locked --git https://github.com/facebookincubator/reindeer reindeer +``` + +Next, run the following to buckify dependencies: + +```sh +cd buck2/ +reindeer --third-party-dir shim/third-party/rust buckify +``` + +Build `buck2` with `buck2`: + +```sh +buck2 build //:buck2 +``` diff --git a/_src/about/getting_started.md b/_src/about/getting_started.md new file mode 100644 index 0000000000000..979d5683020f3 --- /dev/null +++ b/_src/about/getting_started.md @@ -0,0 +1,250 @@ +--- +id: getting_started +title: Getting Started +--- + +## Installing Buck2 + +The latest set of `buck2` executables can be found under the +[`latest` release page](https://github.com/facebook/buck2/releases/tag/latest). + +Additionally, for each bi-monthly release there is a +[dotslash](https://dotslash-cli.com/) file that is appropriate for checkin to a +repository. This will automatically fetch the correct version and architecture +for each user, and ensures a consistent build environment for each commit in the +repo. + +To get started, first install [rustup](https://rustup.rs/), then compile the +`buck2` executable: + +```bash +rustup install nightly-2024-06-08 +cargo +nightly-2024-06-08 install --git https://github.com/facebook/buck2.git buck2 +``` + +The above commands install `buck2` into a suitable directory, such as +`$HOME/.cargo/bin`, which you should then add to your `$PATH`: + +Linux / macOS + +```sh +export PATH=$HOME/.cargo/bin:$PATH +``` + +Windows Powershell + +```powershell +$Env:PATH += ";$HOME\.cargo\bin" +``` + +With Buck2 installed, you can build projects with `buck2`! + +### Windows configuration + +Some of our rules use symlinks, which are disabled by default for non-admin +Windows users. You can fix that by +[enabling Developer Mode](https://pureinfotech.com/enable-developer-mode-windows-11/). + +## Compiling your first project + +This section covers the building of a +['hello_world' example project](https://github.com/facebook/buck2/tree/main/examples/hello_world) +that contains a simple C++ binary. If you are interested in seeing how other +languages can be built, take a look at the +[prelude example project](https://github.com/facebook/buck2/tree/main/examples/with_prelude), +which contains Rust, C++, Python, and OCaml targets. + +First, clone the buck2 repository and cd into the 'hello_world' project: + +```bash +git clone https://github.com/facebook/buck2.git +cd buck2/examples/hello_world +``` + +`buck2 init --git` is all the setup you need to start building. This will use +git submodule to pull [buck2-prelude](https://github.com/facebook/buck2-prelude) +into your project: + +```sh +buck2 init --git +``` + +To use another version control system, run `buck2 init` and manually download +[buck2-prelude](https://github.com/facebook/buck2-prelude) into `prelude` at +root. + +```sh +buck2 init +``` + +To build the entire project, run: + +Note: _Requires clang and lld to be in the path_ + +```sh +buck2 build //... +``` + +Note that this uses a +[simple C++ toolchain](https://github.com/facebook/buck2/blob/main/prelude/toolchains/cxx.bzl) +that requires a recent version of `clang` to be installed on your system. This +can be installed with any package manager (ex. `apt install clang`, +`xcode-select --install` on macOS, `choco install llvm`). After installing any +external tools or changing your `PATH`, run `buck2 kill` before running a build. + +To list all targets available in the project, run: + +```sh +buck2 targets //... +``` + +To run the main C++ binary, run: + +```sh +buck2 run //:main +``` + +The newly built binary can be found with the `--show-output` flag: + +```sh +buck2 build //:main --show-output +``` + +Output: + +```sh +Build ID: 0e890477-5b7f-4829-9ffe-662e572320a0 +Jobs completed: 3. Time elapsed: 0.0s. +BUILD SUCCEEDED +root//:main buck-out/v2/gen/root/9f4d83578bb24895/__main__/main +``` + +## Creating your first hello_world project + +This section demonstrates how to create a simple C++ 'hello_world' project. + +To get started, make a new folder for your project and cd into it. + +```sh +mkdir hello_world +cd hello_world +``` + +Next, run `buck2 init --git` to initialize the project. This command will set up +your project with `git` and pull in +[buck2-prelude](https://github.com/facebook/buck2-prelude) as a submodule. +Additionally, it will generate multiple files with default values. + +```sh +buck2 init --git +``` + +Next, add the source code `main.cpp` , + +```c++ +#include +int main() { + std::cout << "Hello from a C++ Buck2 program!" << std::endl; +} +``` + +Then, define a `cxx_binary` in the root `BUCK` file: + +```Python +# BUCK +cxx_binary( + name = "main", + srcs = ["main.cpp"], + link_style = "static", +) +``` + +If you try to build `//:main` at this point, you'll see an error about `buck2` +not being able to find `toolchains//:cxx`. + +The final step is to define the necessary toolchain targets. For that project, +you need `system_cxx_toolchain` and `system_python_bootstrap_toolchain`, which +will pick up the necessary tools (clang++, python, and so on) from the system. + +```Python +# toolchains/BUCK +load("@prelude//toolchains:cxx.bzl", "system_cxx_toolchain") +load("@prelude//toolchains:python.bzl", "system_python_bootstrap_toolchain") + +system_cxx_toolchain( + name = "cxx", + visibility = ["PUBLIC"], +) + +system_python_bootstrap_toolchain( + name = "python_bootstrap", + visibility = ["PUBLIC"], +) +``` + +At this point, your project should have the following files: + +```bash +$ tree -a -I "buck-out|prelude|.git" +|-- .buckconfig +|-- .gitmodules +|-- BUCK +|-- main.cpp +`-- toolchains + `-- BUCK +``` + +Now, you're ready to see the build in action. + +To build the main C++ target, run: + +```sh +buck2 build //:main +``` + +To run the main C++ target, run: + +```sh +buck2 run //:main +``` + +In summary, a `buck2` project requires: + +1. A `.buckconfig` file in the root which has a `[cells]` section listing out + [cells](https://buck2.build/docs/concepts/glossary/#cell) +2. A `prelude` directory, which contains a collection of + [rules](https://buck2.build/docs/concepts/glossary/#rule) of your choice. + `buck2 init` will pull in the + [buck2-prelude](https://github.com/facebook/buck2-prelude.git) as a git + submodule by default +3. If using the [buck2-prelude](https://github.com/facebook/buck2-prelude.git), + a `toolchains` directory that declares relevant toolchains. We provide some + basic toolchains in + [prelude/toolchains](https://github.com/facebook/buck2/tree/main/prelude/toolchains) +4. `BUCK` files that specify targets for your project + +`buck2 init --git` will generate all of these with reasonable default values. + +## Learning More + +You should now be ready to explore Buck2 for use in your own projects. You can +explore the [examples](https://github.com/facebook/buck2/tree/main/examples) +folder. Look out for more tutorials in the future. + + + +## Communication channels + +The following channels provide an insight into Buck2: + +- [Buck2 Engineering](https://fb.workplace.com/groups/buck2prototyping) - + Workplace group for discussions about what features Buck2 should have, how + it's going, status updates, and much more. +- [Buck2 Users](https://fb.workplace.com/groups/buck2users) - Workplace group + featuring questions from users and reports of bugs. +- [Buck2 Rule Authors](https://fb.workplace.com/groups/347532827186692) - + Workplace group for discussions about language-specific rules. +- [Buck2 Oncall Hub](https://www.internalfb.com/intern/monitor/oncall_profile?oncall=buck2) - + urgent tasks and escalation. + + diff --git a/_src/about/why.md b/_src/about/why.md new file mode 100644 index 0000000000000..d0fabb03c6ee0 --- /dev/null +++ b/_src/about/why.md @@ -0,0 +1,148 @@ +--- +id: why +title: Why Buck2 +--- + +Buck2 is a build system from Meta. This page answers the questions: +[why does Buck2 exist](#why-does-buck2-exist), +[what's different about Buck2](#whats-different-about-buck2), and +[why use Buck2](#why-use-buck2). + +## Why does Buck2 exist? + +Meta employs a very large monorepo, consisting of a variety of programming +languages, including C++, Python, Rust, Kotlin, Swift, Objective-C, Haskell, +OCaml, and more. Google employs a different but functionally similar monorepo. + +These large scale and multi-language repositories are generally beyond the +capabilities of traditional build systems like `make`. To optimize the build and +performance of these large systems, Facebook and Google developed their own +build systems, respectively Buck and Bazel. While the internal version of Bazel +was started first (also known as Blaze), Buck was open sourced first (back in +March 2013), followed by Bazel a few years later (March 2015). + +The retroactively named Buck1 was a capable build system and is still in use +today at Meta (although many users have migrated). Buck2 is a rewrite that aims +to keep the best bits of Buck1 (with a high degree of target compatibility) but +also borrows ideas from [academic](https://ndmitchell.com/#shake_10_sep_2012) +[research](https://ndmitchell.com/#shake_21_apr_2020) and build systems, +including [Bazel](https://bazel.build/), [Pants](https://www.pantsbuild.org/), +[Shake](https://shakebuild.com/), [Tup](https://gittup.org/tup/), and more. + +Following are aspects common to Buck1 and Buck2 (and in most cases, Bazel): + +- **Targets that can be queried** - the build is defined as a series of targets, + specified in `BUCK` files, that depend on other targets. This graph of targets + can be queried to understand how they relate to each other and what the + potential impact of a change might be. +- **Remote execution** - the build can send actions to a set of remote servers + to be executed, increasing the parallelism significantly. +- **Multi-language composability** - there can be lots of different languages in + a single build, and they can be put together. For example, you could have a + Python library that depends on a Rust library, which, in turn depends on a C + library. +- **File watching** - at large enough scale, simply looking for changed files is + prohibitively expensive. Buck can integrate with + [Watchman](https://facebook.github.io/watchman/) to discover which files have + changed efficiently. However, for simplicity of setup, the open-source version + defaults to using `inotify` or similar functionality. +- **Uses Starlark** - Starlark is a deterministic Python-like language used to + specify the targets, enabling the definition of targets as literals and more + advanced manipulation/sharing. + +## What's different about Buck2? + +Buck2 has many minor differences from Buck1, but there are a number that give +new efficiency or expressiveness that are of note (most of these are also +different from Bazel). + +- **Buck2 is written in Rust** - Buck1 was written in Java. One of the + advantages of using Rust is the absence of GC pauses, However, Java also has + advantages, such as better memory profiling tools. +- **Buck2 is remote execution first** - local execution is considered a special + case of remote execution, in contrast to Buck1 where it was added after. That + means that things such as directory hashes can be pre-computed ready to send + to remote execution, giving efficiency benefits. +- **All Buck2 rules are written in Starlark** - whereas, in Buck1, they were + written in Java as part of the binary, which makes iteration on rules much + faster. +- **The Buck2 binary is entirely language agnostic** - as a consequence of + having all the rules external to the binary, the most important and complex + rule (such as in C++), don't have access to magic internal features. As a + result, features have been made available to all rules, including: + - [Dep files](../rule_authors/dep_files.md) - the ability to declare that a + subset of the files weren't actually used, and thus not be sensitive to + changes within them. + - [Incremental actions](../rule_authors/incremental_actions.md) - the ability + to have the action short-circuit some subset of the work if run again. +- **Buck2 uses a dynamic (aka monadic) graph as its underlying computation + engine** - while most dependencies are specified statically, there are two + particular features that expose dynamic power to rule authors: + - [Dynamic dependencies](../rule_authors/dynamic_dependencies.md) - enable + rules to build a file then look at its contents before specifying the + dependencies and steps in future actions. Common uses are languages where + the dependency structure within a project must follow imports (e.g. Haskell, + OCaml) and distributed ThinLTO (where the best optimization plan is + generated from summaries). + - [Anonymous targets](../rule_authors/anon_targets.md) - enable rules to + create a graph that has more sharing than the original user graph. As a + result, two unrelated binaries can compile shared code only once, despite + the shared code not knowing about this commonality. This feature is useful + for rules like Swift feature resolution. +- **[Transitive-sets](../rule_authors/transitive_sets.md)** - similar in purpose + to Bazel's [depset](https://bazel.build/rules/lib/depset). But, instead of + being just a memory optimization, are also wired into the dependency graph, + providing a reduction in the size of the dependency graph. +- **Buck2 is not phased** - there are no target graph/action graph phases, just + a series of dependencies in a + [single graph on DICE](https://github.com/facebook/buck2/blob/main/dice/dice/docs/index.md) + that result in whatever the user requested. That means that Buck2 can + sometimes parallelise different phases and track changes very precisely. +- **Buck2 can integrate with the virtual filesystem + [Eden](https://github.com/facebook/sapling)** - this provides good + performance, even when the file system is backed by source control fetches. + However, Eden is not required, and a normal file system will also work well. +- **The Buck2 Starlark implementation is available + [as a standalone library](https://developers.facebook.com/blog/post/2021/04/08/rust-starlark-library/)** - + this provides features such as IDE integration (both LSP and DAP bindings), + linters, typecheckers, and more. These features are integrated into Buck2 to + give a better developer experience (which is still evolving). +- **Buck2 supports configurations** - (such as `select`) to provide + multi-platform/architecture builds, which are heavily inspired by Bazel. + Within that space, there is a number of small differences, such as + `toolchain_deps`. +- **Buck2 is fast** - in our internal tests, we observed that Buck2 completed + builds 2x as fast as Buck1. + +For a comprehensive list of benefits, see +[Benefits Compared to Buck1](benefits/compared_to_buck1.md). + +## Why use Buck2? + +It would be delightful if you tried out Buck2! But it is early-stage software, +so users may run into unexpected issues. If you encounter an issue, please +report it via [Github issues](https://github.com/facebook/buck2/issues). + +Buck2 is being used internally within Meta and is available as open-source +from 2023. + +There are several differences between the internal and open-source versions: + +- Meta uses an internal version of remote execution with builds always hooked up + to remote execution. The open-source binding, which uses Buck2 without remote + execution, may be less polished. +- There are some configuration differences between the open source and internal + versions. For example, file changes default to `inotify` in open-source, and + to Watchman internally. +- The prelude (containing all the rules) is the same for open-source as + internal, but toolchains are not open-sourced. The required custom toolchains + may not work as well. + +There are also some things that aren't quite yet finished: + +- There are not yet mechanisms to build in release mode (that should be achieved + by modifying the toolchain). +- Windows/Mac builds are still in progress; open-source code is mostly tested on + Linux. + +If none of that puts you off, [give Buck2 a go](getting_started.md)! diff --git a/_src/api.md b/_src/api.md new file mode 100644 index 0000000000000..297da4729f3f2 --- /dev/null +++ b/_src/api.md @@ -0,0 +1,17 @@ +# APIs + +A lot of Buck2 is driven by Starlark APIs. While there is a +[Starlark specification](https://github.com/bazelbuild/starlark/blob/master/spec.md), +for most purposes it can be considered a subset of Python. There are three main +places you can write Starlark in Buck2: + +- In `BUCK` files, where you can define the rules. The most interesting + functions are [the rules themselves](../prelude/globals), but you will often + use the [builtin Starlark functions](starlark/globals) (most of which are the + same as in Python), and a few of the [build functions](build/globals) (e.g. + `glob`). +- In rule definitions, where you can use the same Starlark standard functions, + but will heavily be using the [build functions](build/globals) (e.g. `rule` + and `attrs`). +- In [BXL](../developers/bxl), where the [context type](bxl/bxl.Context) is one + of the more important ones. diff --git a/_src/concepts/buck_out.md b/_src/concepts/buck_out.md new file mode 100644 index 0000000000000..5a76dd36f044d --- /dev/null +++ b/_src/concepts/buck_out.md @@ -0,0 +1,22 @@ +--- +id: buck_out +title: buck-out +--- + +# buck-out + +Buck2 stores build artifacts in a directory named `buck-out` in the root of your +[project](glossary.md#project). You should not make assumptions about where +Buck2 places your build artifacts within the directory structure beneath +`buck-out` as these locations depend on Buck2's implementation and could +potentially change over time. Instead, to obtain the location of the build +artifact for a particular target, you can use one of the `--show-*-output` +options with the [`buck2 build`](../../users/commands/build) or +[`buck2 targets`](../../users/commands/targets) commands, most commonly +`--show-output`. For the full list of ways to show the output location, you can +run `buck2 build --help` or `buck2 targets --help`. + +``` +buck2 targets --show-output +buck2 build --show-output +``` diff --git a/_src/concepts/buckconfig.md b/_src/concepts/buckconfig.md new file mode 100644 index 0000000000000..809e8abd3dd8f --- /dev/null +++ b/_src/concepts/buckconfig.md @@ -0,0 +1,273 @@ +--- +id: buckconfig +title: .buckconfig +--- + +The root of your [project](glossary.md#project) must contain a configuration +file named `.buckconfig`. Before executing, Buck2 reads this file to incorporate +any customizations it specifies. + +## Performance impact of Buck2 configuration changes + +Because configuration settings are sometimes included in the cache keys that +Buck2 uses in its caching system, changes to Buck's configuration can invalidate +previously-built artifacts in Buck's caches. If this occurs, Buck2 rebuilds +those artifacts, which can impact your build time. + +## The .buckconfig file uses the INI file format + +The `.buckconfig` file uses the +[INI file format](http://en.wikipedia.org/wiki/INI_file). That is, it is divided +into _sections_ where each section contains a collection of key _names_ and key +_values_. The `.buckconfig` implementation supports some modifications to the +INI file format; these are discussed below. + +### Other INI file parsers + +As mentioned previously, we have extended the INI file parser that Buck2 uses to +parse configuration files. As a result, _INI file parsers provided by other +languages or libraries are often not able to parse Buck's configuration files +successfully_. + +### Dot character not supported in section names + +We do not support the use of the _dot_ character (`.`) in section names within +Buck2 configuration files. For example, the following is **not** +supported—_although Buck2 does not issue a warning or error_. + +```ini +[foo.bar] + baz=1 +``` + +Note that sometimes you might need to define your own custom sections, such as +for platform flavors for C++ or Python. These scenarios are examples of when you +should be careful not to introduce the dot character in section names. This +constraint is because Buck2 uses the dot character to delimit section names and +key names in other contexts such as the `--config` command-line parameter. + +## Character encoding + +To ensure that any character can be encoded in a `.buckconfig` key value, you +can use escape sequences to encode characters that would otherwise be +problematic. The following escape sequences are supported. + +| `\\` | backslash | +| ------------ | --------------------------------------------------- | +| `\"` | double quote | +| `\n` | newline | +| `\r` | carriage return | +| `\t` | tab | +| `\x##` | Unicode character with code point ## (in hex) | +| `\u####` | Unicode character with code point #### (in hex) | +| `\U########` | Unicode character with code point ######## (in hex) | + +## Key values as lists + +Although the standard INI format supports only key values that represent a +single item, Buck2 supports key values that represent a list of items. The +syntax is to separate the items in the list using the space (`0x20`) character. +For example, a key value for the list of command-line flags to be passed to a +compiler could be represented as a list of the flags separated by spaces: + +``` +flags = -foo -bar -baz -qux +``` + +When a key value is parsed as a list instead of a single item, the separator +character is interpreted as a separator only when it occurs _outside of double +quotes_. For example, if `flags` is a key value interpreted as a list of items +separated by spaces, then + +``` +flags = -foo "-bar \u0429" +``` + +results in the two strings: `foo` and `-bar Щ`; the space character between +`-bar` and `\u0429` is not interpreted as a separator. + +## Transclusion of values from one key to another + +Values from other keys can be transcluded into the current key using the +following syntax inside the current key value. + +``` +$(config
.) +``` + +For example, to use the `[go].vendor_path` in a custom setting: + +``` +[custom_section]custom_value = $(config go.vendor_path) +``` + +## Comments + +In addition to the semicolon (`;`), you can use the pound sign (`#`), as a +comment character in `.buckconfig`. + +## .buckconfig.local + +The root of your [project](glossary.md#project) may contain a second +configuration file named `.buckconfig.local`. Its format is the same as that of +`.buckconfig`, but settings in `.buckconfig.local` override those in +`.buckconfig`. In practice, `.buckconfig` is a version-controlled file that +contains settings that are applicable to all team members, whereas +`.buckconfig.local` is excluded from version control to allow users to define +personal settings, such as personal aliases. + +## Other initialization files + +In addition to the `.buckconfig` and `.buckconfig.local` files in the project +root, Buck2 reads configuration settings from the following additional +locations, some of which are actually directories: + +1. Directory `.buckconfig.d` located in the project root directory. +2. File `.buckconfig` and directory `.buckconfig.d` located in the current + user's home directory which, on Unix-like systems, is available from the + `HOME` environment variable or through the `~` symbol. +3. File `buckconfig` and directory `buckconfig.d` located in system directory + `/etc/`. + +Buck2 treats _any_ file—irrespective of name—in a +`.buckconfig.d`(`buckconfig.d`) directory (excluding files found in +subdirectories) as a Buck2 configuration file, provided that it adheres to +`.buckconfig` syntax. Note that a `.buckconfig.d` directory is distinct from the +similarly-named `.buckd` directory which is used by the +[Buck2 Daemon (`buckd`)](daemon.md) . For a description of how Buck2 resolves +collisions between settings in these configuration files, see the section +[**Precedence of Buck2 configuration specifications**](#precedence-of-buck2-configuration-specifications) +below. + +## Command-line control of configuration + +In addition to the above configuration files, Buck2 supports specifying +additional configuration files from the Buck2 command line using the +`--config-file` parameter. You can also specify configuration settings +_individually_ on the Buck2 command line using the `--config` (`-c`) parameter. +Furthermore, you can aggregate these settings into _flag files_ using the +`--flagfile` parameter. A flag file provides similar functionality to a +configuration file but uses a different syntax. Flag files are sometimes called +_mode files_ or _at_ (`@`) files. + +## Precedence of Buck2 configuration specifications + +The following list shows the order of precedence for how Buck2 interprets its +configuration specifications. Settings specified using a method closer to the +top of the list have higher precedence and will override those lower on the +list. For example, the `.buckconfig` file in the repo overrides a `.buckconfig` +file in the user's `HOME` directory. + +1. Configuration specified on the command line using `--config` (`-c`), + `--config-file` and `--flagfile`. Configuration specified later on the + command line overrides configuration specified earlier. +1. `.buckconfig.local` in the repo. +1. `.buckconfig` in the repo. +1. Files in a `.buckconfig.d` folder of the repo. +1. `.buckconfig.local` in user's `HOME` directory. +1. Files in a `.buckconfig.d` folder in user's `HOME` directory. +1. The global file `/etc/buckconfig` +1. Files in the global directory `/etc/buckconfig.d` + +Files in a `.buckconfig.d` (`buckconfig.d`) directory have precedence according +to the lexicographical order of their file names. Files _later_ in the +lexicographical order have precedence over files earlier in that order. + +## Configuration files can include other files + +Any of the configuration files that we've discussed so far can also include by +reference other files that contain configuration information. These included +files can contain complete `.buckconfig` sections or they can contain a group of +key name/value pairs that constitute part of a section. In this second use case, +you'll need to ensure that the _included_ file is referenced beneath the +appropriate section in the _including_ file. Because of this additional +complexity, we recommend that you include only files that contain complete +sections. **Note:** Inclusion of files is a Buck-specific extension to the INI +file parser that Buck2 uses. Therefore, if you use this feature, your Buck2 +configuration files will probably not be parsable by other more-generic INI file +parsers. The syntax to include a file is + +``` + +``` + +where _path-to-included-file_ is either a relative path from the including file +(recommended) or an absolute path from the root of the file system. You can also +specify that the file should be included only if it exists by prefixing with a +question mark (`?`). + +``` + +``` + +If you use this prefix, it is not an error condition if the file does not exist; +Buck2 just silently continues to process the rest of the configuration file. In +the following example, the `.buckconfig` file includes the file +`cxx-other-platform.include` which exists in the subdirectory +`cxx-other-platform`. The `.buckconfig` file will also include the file +`future-platform` from the directory `future-platform.include` if that file +exists. + +``` +# +# .buckconfig +# +[cxx] + cxxppflags="-D MYMACRO=\"Buck\"" + + + + +# +# cxx-other-platform.include +# +[cxx#other_platform] + cxxppflags="-D MYMACRO=\"Watchman\"" +``` + +## Sections + +Below is an incomplete list of supported buckconfigs. + +## [alias] + +This section contains definitions of [build target](build_target.md) aliases. + +``` +[alias]app = //apps/myapp:app + apptest = //apps/myapp:test +``` + +These aliases can then be used from the command line: + +``` +$ buck2 build app +$ buck2 test apptest +``` + +## [cells] + +Lists the cells that constitute the Buck2 project. Buck2 builds that are part of +this project—that is, which use this `.buckconfig`—can access the cells +specified in this section. + +``` +[cells] + buck = . + bazel_skylib = ./third-party/skylark/bazel-skylib +``` + +The string on the left-hand side of the equals sign is the _alias_ for the cell. +The string on the right-hand side of the equals sign is the path to the cell +from the directory that contains this `.buckconfig` file. It is not necessary to +include the current cell in this section, but we consider it a best practice to +do so: + +``` +buck = . +``` + +You can view the contents of this section using the `buck2 audit cell` command. + +`[repositories]` is additionally supported as a deprecated alternative name for +this section. diff --git a/_src/concepts/build_file.md b/_src/concepts/build_file.md new file mode 100644 index 0000000000000..8a4279bdde20f --- /dev/null +++ b/_src/concepts/build_file.md @@ -0,0 +1,63 @@ +--- +id: build_file +title: Build File +--- + +# Build File + +A _build file_ is a file, typically named `BUCK`, that defines one or more +[build rule](build_rule.md)s. Note that you can change the name that Buck2 uses +for the build file in the `buildfile` section of `.buckconfig`. A source file in +your project can only be referenced by rules in its "nearest" build file, where +"nearest" means its closest direct ancestor in your project's file tree. (If a +source file has a build file as a sibling, then that is its nearest ancestor.) +For example, if your project had the following `BUCK` files: + +``` +java/com/facebook/base/BUCK +java/com/facebook/common/BUCK +java/com/facebook/common/collect/BUCK +``` + +Then your build rules would have the following constraints: + +- Rules in `java/com/facebook/base/BUCK` can reference any file under + `java/com/facebook/base/`. +- Rules in `java/com/facebook/common/` can reference any files under that + directory, except for those under `java/com/facebook/common/collect/`, as + those "belong" to the `BUCK` file in the `collect` directory. + +The set of source files accessible to a build file is also known as its _build +package_. The way to refer to code across build packages is to create build +rules and use `deps` to refer to that code. Going back to the previous example, +suppose code in `java/com/facebook/common/concurrent/` wants to depend on code +in `java/com/facebook/common/collect/`. Presumably +`java/com/facebook/common/collect/BUCK` has a build rule like: + +``` +java_library( + name = 'collect', + srcs = glob(['*.java']), + deps = ['//java/com/facebook/base:base',],) +``` + +Then `java/com/facebook/common/BUCK` could have a rule like: + +``` +java_library( + name = 'concurrent', + srcs = glob(['concurrent/*.java']), + deps = ['//java/com/facebook/base:base','//java/com/facebook/common/collect:collect',],) +``` + +whereas the following **would be invalid** because +`java/com/facebook/common/collect/` has its own build file, so +`//java/com/facebook/common/collect:concurrent` cannot list +`java/com/facebook/common/collect/*.java` in its `srcs`. + +``` +java_library( + name = 'concurrent', + srcs = glob(['collect/*.java', 'concurrent/*.java']), + deps = ['//java/com/facebook/base:base',],) +``` diff --git a/_src/concepts/build_rule.md b/_src/concepts/build_rule.md new file mode 100644 index 0000000000000..7149ad60fcd2a --- /dev/null +++ b/_src/concepts/build_rule.md @@ -0,0 +1,166 @@ +--- +id: build_rule +title: Build Rule +--- + +# Build Rule + +A _build rule_ is a procedure for producing output files from a set of input +files in the context of a specified build configuration. Build rules are +specified in [build file](build_file.md)s—typically named BUCK. **Note:** A +build rule must explicitly specify, in its arguments, all of its required inputs +in order for Buck2 to be able to build the rule's output in a way that is +deterministic and reproducible. + +## Buck2's collection of build rules + +Buck2 comes with a collection of built-in build rules for many common build +procedures. For example, compiling Java code against the Android SDK is a common +procedure, so Buck2 provides the build rule +[`android_library`](../../prelude/globals#android_library) to do that. +Similarly, the final product of most Android development is an APK, so you can +use the build rule [`android_binary`](../../prelude/globals#android_binary) to +create an APK. + +## Source files as inputs to build rules + +Most build rules specify source files as inputs. For example, a +[`cxx_library`](../../prelude/globals#cxx_library) rule would specify `.cpp` +files as inputs. To support specifying these files, a `cxx_library` rule +provides the `srcs` argument. Some languages, such as C++, use header files as +well. To specify these, `cxx_library` provides a `headers` argument. In addition +to `srcs` and `headers`, some rules provide variants of these arguments, such as +`platform_srcs` and `platform_headers`. These arguments support groups of source +files that should be used as inputs only when building for specific platforms. + +### Package boundaries and access to source files + +In Buck2, a BUCK file defines a _package_, which corresponds _roughly_ to the +directory that contains the BUCK file and those subdirectories that do not +themselves contain BUCK files. (To learn more, see the +[Key Concepts](key_concepts.md) topic.) A rule in a BUCK file cannot specify a +source file as an input unless that source file is in that BUCK file's package. +An exception to this restriction exists for header files, but only if a rule in +the package that contains the header file _exports_ that header file using the +`exported_headers` argument. For more details, see the description for +`exported_headers` in, for example, the +[`cxx_library`](../../prelude/globals#cxx_library) topic. More commonly though, +the package for a BUCK file contains all the source files required for the rules +defined in that BUCK file. Functionality in source files from other packages is +made available through the artifacts produced by the rules in the BUCK files for +those packages. For example, a [`cxx_binary`](../../prelude/globals/#cxx_binary) +might use the functionality in a `cxx_library` that is defined in another +package. To access that functionality, the `cxx_binary` would take that +`cxx_library` as a _dependency_. + +##### Symlinks: Use with caution if at all + +We recommend that you do _not_ use symlinks—either absolute or relative—to +specify input files to build rules. Although using symlinks in this context does +sometimes work, it can lead to unexpected behavior and errors. + +## Dependencies: Output from one rule as input to another rule + +A build rule can use the output from another build rule as one of its inputs by +specifying that rule as a _dependency_. Typically, a build rule specifies its +dependencies as a list of [build target](build_target.md)s in its `deps` +argument. However, the rule can also specify dependencies—as build targets—in +other arguments, such as `srcs`. **Example:** The output of a +[`java_library`](../../prelude/globals/#java_library) rule is a JAR file. If a +`java_library` rule specifies another `java_library` rule as a dependency, the +JAR file produced by the specified rule is added to the classpath for the +`java_library` that depends on it. **Example:** If a +[`java_binary`](../../prelude/globals/#java_binary) rule specifies a +`java_library` rule as a dependency, the JAR file for the specified +`java_library` is available on the classpath for the `java_binary`. In addition, +in the case of `java_binary`, the JAR files for any dependencies of the +`java_library` rule _are also_ made available to the `java_binary` rule—and if +those dependencies have dependencies of their own, they are added as well. This +exhaustive cascade of dependencies is referred to as the rule's _transitive +closure_. + +### Required dependencies are always built first + +Buck2 guarantees that any dependencies that a rule lists that are required in +order to build that rule are built successfully _before_ Buck2 builds the rule +itself. Note though that there can be special cases—such as +[`apple_bundle`](../../prelude/globals/#apple_bundle)—where a rule's listed +dependencies do not actually need to be built before the rule. + +### Visibility + +In order for a build rule to take a dependency on another build rule, the build +rule on which the dependency is taken must be _visible_ to the build rule taking +the dependency. A build rule's `visibility` argument is a list of +[build target pattern](target_pattern.md)s that specify the rules that can take +that rule as a dependency. For more information about the concept of visibility +in Buck2, see the [Visibility](visibility.md) topic. + +### Dependencies define a graph + +Build rules and their dependencies define a directed acyclic graph (DAG). Buck2 +requires this graph to be acyclic to make it possible to build independent +subgraphs in parallel. + +## How to handle special cases: genrules and macros + +Although Buck2 provides a rich set of built-in build rules for developers, it is +not able to address all possible needs. As an "escape hatch," Buck2 provides a +category of generic build rules called _genrules_. With genrules, you can +perform arbitrary operations using shell scripts. The genrules supported by +Buck2 are: + +- [`genrule`](../../prelude/globals/#genrule) +- [`apk_genrule`](../../prelude/globals/#apk_genrule) +- [`cxx_genrule`](../../prelude/globals/#cxx_genrule) + +### Multiple output files with genrules + +In most cases, a build rule produces exactly one output file. However, with +genrules, you can specify an output _directory_ and write arbitrary files to +that directory. + +### Macros + +Finally, note that you can define functions that generate build rules. In +general, this should not be something that you need to do, but taking advantage +of this option might help you add needed functionality to Buck2's without +editing its source code. + +## String parameter macros + +It is also possible to expand references to other rules within the `cmd`, using +builtin `string parameter macros`. All build rules expanded in the command are +automatically considered to be dependencies of the `genrule()`. + +Note that the paths returned by these macros are _relative_ paths. Using +relative paths ensures that your builds are _hermetic_, that is, they are +reproducible across different machine environments. + +`$(classpath //path/to:target)` + +Expands to the transitive classpath of the specified build rule, provided that +the rule has a Java classpath. If the rule does not have (or contribute to) a +classpath, then an exception is thrown and the build breaks. + +`$(exe //path/to:target)` + +Expands a build rule that results in an executable to the commands necessary to +run that executable. For example, a `java_binary()` might expand to a call to +`java -jar path/to/target.jar` . Files that are executable (perhaps generated by +a `genrule()`) are also expanded. If the build rule does not generate an +executable output, then an exception is thrown and the build breaks. + +If the `$(exe my_dependency)` dependency should actually be built with the +target platform, use `$(exe_target my_dependency)` instead, which will stick to +the same platform as the target. + +`$(location //path/to:target)` + +Expands to the location of the output of the specified build rule. This means +that you can refer to the output without needing to be aware of how Buck is +storing data on the disk mid-build. + +``` + +``` diff --git a/_src/concepts/build_target.md b/_src/concepts/build_target.md new file mode 100644 index 0000000000000..23772e5895c4a --- /dev/null +++ b/_src/concepts/build_target.md @@ -0,0 +1,129 @@ +--- +id: build_target +title: Build Target +--- + +# Build Target + +A _build target_ is a string that identifies a build target in your project. +Build targets are used as arguments to Buck2 commands, such as +[`buck2 build`](../../users/commands/build) and +[`buck2 run`](../../users/commands/run). Build targets are also used as +arguments to [build rules](build_rule.md) to enable one target to reference +another. For example, a build rule might use a build target to reference another +target in order to specify that target as a _dependency_. + +#### Fully-qualified build targets + +Here is an example of a _fully-qualified_ build target: + +``` +//java/com/facebook/share:ui +``` + +A fully-qualified build target has three components: + +1. The `//` prefix indicates that the subsequent path is from the _root_ of your + project. You can use the `buck2 root` command to identify the root of your + project. +2. The `java/com/facebook/share` between the `//` prefix and the colon (`:`) + indicates that the [build file](build_file.md) (usually named `BUCK`) is + located in the directory `java/com/facebook/share`. +3. The `ui` after the colon (`:`) indicates the name of the build target within + the build file. Build target names must be unique within a build file. By + _name_ we mean, more formally, the value of the `name` argument to the build + rule. + +Note that the name of the build file itself—usually BUCK—does _not_ occur in the +build target. All build files within a given Buck2 project must have the same +name—defined in the `[buildfile].name` entry of `.buckconfig`. Therefore, it is +unnecessary to include the name in the target. The full regular expression for a +fully-qualified build target is as follows: + +``` +[A-Za-z0-9._-]*//[A-Za-z0-9/._-]*:[A-Za-z0-9_/.=,@~+-]+ +|- cell name -| | package path | |--- target name ----| +``` + +In Buck2, a _cell_ defines a directory tree of one or more Buck2 packages. For +more information about Buck2 cells and their relationship to packages and +projects, see the [Key Concepts](key_concepts.md) topic. **NOTE:** All target +paths are assumed to start from the root of the Buck2 project. Buck2 does not +support specifying a target path that starts from a directory below the root. +Although the double forward slash (`//`) that prefixes target paths can be +omitted when specifying a target from the command line (see **Pro Tips** below), +Buck2 still assumes that the path is from the root. Buck2 does support +_relative_ build paths, but in Buck2, that concept refers to specifying build +targets _from within_ a build file. See **Relative build targets** below for +more details. + +#### Relative build targets + +A _relative_ build target can be used to reference a build target _within the +same _[_build file_](build_file.md). A relative build target starts with a colon +(`:`) and is followed by only the third component (or _short name_) of the +fully-qualified build target. The following snippet from a build file shows an +example of using a relative path. + +``` +## Assume this target is in //java/com/facebook/share/BUCK# +java_binary( + name = 'ui_jar', + deps = [## The following target path## //java/com/facebook/share:ui## is the same as using the following relative path.#':ui',],) +``` + +## Command-line Pro Tips + +Here are some ways that you can reduce your typing when you specify build +targets as command-line arguments to the `buck2 build` or `buck2 run` commands. +Consider the following example of a fully-qualified build target used with the +`buck2 build` command: + +``` +buck2 build //java/com/facebook/share:share +``` + +Although Buck2 is always strict when parsing build targets in build files, Buck2 +is flexible when parsing build targets on the command-line. Specifically, the +leading `//` is optional on the command line, so the above could be: + +``` +buck2 build java/com/facebook/share:share +``` + +Also, if there is a forward slash before the colon, it is ignored, so this could +also be written as: + +``` +buck2 build java/com/facebook/share/:share +``` + +which enables you to produce the red text shown below using tab-completion, +which dramatically reduces how much you need to type: + +``` +buck2 build java/com/facebook/share/:share +``` + +Finally, if the final path element matches the value specified after the colon, +it can be omitted: + +``` +# This is treated as //java/com/facebook/share:share. +buck2 build java/com/facebook/share/ +``` + +which makes the build target even easier to tab-complete. For this reason, the +name of the build target for the primary deliverable in a build file is often +named the same as the parent directory. That way, it can be built from the +command-line with less typing. + +## See also + +Buck2 supports the ability to define **_aliases_ for build targets**; using +aliases can improve brevity when specifying targets on the Buck2 command line. +For more information, see the [`[alias]`](buckconfig.md#alias) section in the +documentation for [`.buckconfig`](buckconfig.md). A +[**build target pattern**](target_pattern.md) is a string that describes a set +of one or more build targets. For example, the pattern `//...` is used to build +an entire project. For more information, see the **Build Target Pattern** topic. diff --git a/_src/concepts/concept_map.md b/_src/concepts/concept_map.md new file mode 100644 index 0000000000000..d786d7a2446ef --- /dev/null +++ b/_src/concepts/concept_map.md @@ -0,0 +1,27 @@ +--- +id: concept_map +title: Concept Map +--- + +import useBaseUrl from '@docusaurus/useBaseUrl'; + +The Concept Map provides an at-a-glance overview of the relationships between +widely used Buck2 concepts. It is meant to be a tool to help those onboarding to +Buck2 to quickly gain an understanding of the Buck2 environment. + +justifyContent + + +:::note +The Concept Map is for reference only and is not intended to be 100% +accurate nor complete. + + + +The version above was created in LucidChart and is located in the +[Buck2 team folder](https://lucid.app/folder/invitations/accept/inv_c5c89718-b1cd-4b22-ae76-a47616719948). +To login into Lucidcharts, do `bunnylol lucidchart` + + + +::: diff --git a/_src/concepts/configurations.md b/_src/concepts/configurations.md new file mode 100644 index 0000000000000..fd19e41914fab --- /dev/null +++ b/_src/concepts/configurations.md @@ -0,0 +1,91 @@ +--- +id: configurations +title: Configurations +--- + +For rule authors see also: [Configurations](../rule_authors/configurations.md) + +When building a target, buck always builds it in a particular "configuration." +The configuration typically includes information like the target os, target +arch, sanitizers, opt level, etc. One way to understand the effect that a +configuration has is via the `cquery` and `uquery` commands. The cquery command +will compute the appropriate configuration for a target and display a version of +that target's attributes with the configuration applied. The `uquery` command +will not apply a configuration. + +Here is a heavily trimmed version of the outputs of invoking `uquery` and +`cquery` on `//buck2/app/buck2_core:buck2_core`. + +``` +> buck2 uquery -A '"//buck2/app/buck2_core:buck2_core"' +{ + "fbcode//buck2/app/buck2_core:buck2_core": { + "buck.type": "rust_library", + "buck.package": "fbcode//buck2/app/buck2_core:TARGETS", + "name": "buck2_core", + "visibility": [ + "PUBLIC" + ], + "deps": { + "fbsource//third-party/rust:anyhow", + "fbsource//third-party/rust:arc-swap", + "fbsource//third-party/rust:blake3", + "fbsource//third-party/rust:compact_str", + "fbsource//third-party/rust:dashmap", + { + "__type": "selector", + "entries": { + "DEFAULT": [], + "ovr_config//os:windows": [ + "fbsource//third-party/rust:common-path" + ] + } + }, + { + "__type": "selector", + "entries": { + "DEFAULT": [], + "ovr_config//os:linux": [ + "fbsource//third-party/rust:nix" + ] + } + }, + }, + } +} +``` + +``` +> buck2 cquery -A '"//buck2/app/buck2_core:buck2_core"' +{ + "fbcode//buck2/app/buck2_core:buck2_core (ovr_config//platform/linux:)": { + "buck.type": "rust_library", + "buck.package": "fbcode//buck2/app/buck2_core:TARGETS", + "buck.target_configuration": "ovr_config//platform/linux:", + "buck.execution_platform": "fbcode//buck2/platform/", + "name": "buck2_core", + "visibility": [ + "PUBLIC" + ], + "deps": [ + "fbsource//third-party/rust:anyhow (ovr_config//platform/linux:)", + "fbsource//third-party/rust:arc-swap (ovr_config//platform/linux:)", + "fbsource//third-party/rust:blake3 (ovr_config//platform/linux:)", + "fbsource//third-party/rust:compact_str (ovr_config//platform/linux:)", + "fbsource//third-party/rust:dashmap (ovr_config//platform/linux:)", + "fbsource//third-party/rust:nix (ovr_config//platform/linux:)" + ] +} +``` + +The `cquery` output has additional `buck.target_configuration` and +`buck.execution_platform` attributes which tell you what the target is being +built for and what it's being built on, respectively. `uquery` doesn't have +those. + +The deps in `uquery` also have a number of selects; these indicate that the +`common-path` dependency should only be included when building for Windows, +while the `nix` dependency is needed only for Linux. In `cquery` that +distinction has been resolved; because the target has been configured for Linux, +the `nix` dependency is present and indistinguishable from any other, while the +`common-path` dependency is gone. diff --git a/_src/concepts/daemon.md b/_src/concepts/daemon.md new file mode 100644 index 0000000000000..f2f93a30c9f81 --- /dev/null +++ b/_src/concepts/daemon.md @@ -0,0 +1,35 @@ +--- +id: daemon +title: Daemon (buckd) +--- + +The first time that a Buck2 command is run, Buck2 starts a daemon process for +the current project. For subsequent commands, Buck2 checks for the running +daemon process and, if found, uses the daemon to execute the command. Using the +Buck2 daemon can save significant time as it enables Buck to share cache between +Buck2 invocations. + +By default, there is 1 daemon per [project](./glossary.md#project) root, you can +run multiple daemons in the same project by specifying an +[isolation dir](./glossary.md#isolation-dir). + +While it runs, the Buck daemon process monitors the project's file system for +changes. The Buck daemon excludes from monitoring any subtrees of the project +file system that are specified in the `[project].ignore` setting of +`.buckconfig`. + +## Killing or disabling the Buck daemon + +The Buck daemon process is killed if `buck2 clean` or `buck2 kill` commands are +run. Note that they won't kill the daemon associated with custom isolation dirs. +To do that, run using the `--isolation-dir` option +(`buck2 --isolation-dir `) + + + +The Daemon is also killed when: + +- The `buck2 killall` command is run. +- A new buck2 version is available. + + diff --git a/_src/concepts/glossary.md b/_src/concepts/glossary.md new file mode 100644 index 0000000000000..e29b7561659d0 --- /dev/null +++ b/_src/concepts/glossary.md @@ -0,0 +1,295 @@ +--- +id: glossary +title: Glossary of Terms +toc_max_heading_level: 4 +--- + +#### .buckconfig + +The root of your [project](#project) must contain a configuration file named +`.buckconfig`. Before executing, Buck2 reads this file to incorporate specified +customizations. See [.buckconfig](buckconfig.md) for more info. + +#### Action + +An individual, cacheable, ideally hermetic command that's run during the +[build](#buck-file). It takes [artifacts](#artifact) as inputs and produces +other artifacts as outputs. An example command could be `gcc -o main main.c`, +which takes the artifact `main.c` (a source file) and produces the artifact +called `main` (the compiled binary). + +#### Action digest + +Encoded [action](#action) representation. It is sent to +[remote execution](#remote-execution-re). Used among other things to retrieve +action inputs and to check for cache hits + +#### Action graph + +The dependency graph of all [actions](#action) belonging to a target: it can be +queried with `buck2 aquery`. + +#### Artifact + +A single input or output of an [action](#action). These are files that +participate as inputs or outputs of a build and can be source files or build +outputs. For more information, see the +[Artifact API](https://buck2.build/docs/api/build/Artifact/). + +#### Attribute + +Declared by a [rule](#rule) and used to express the properties of a particular +instance of a rule to create a [target](#target). For example, srcs, deps and +copts, which declare a target's source files, dependencies, and custom compiler +options, respectively. The available attributes for a target depend on its rule +type. + +#### BUCK file + +A `BUCK` file (the name is configurable, some projects use `TARGETS`) is the +main configuration file that tells Buck2 what to build, what their dependencies +are, and how to build them. Buck2 takes a `BUCK` file as input and evaluates the +file to declare [targets](#target), which are then used to create a graph of +dependencies and to derive the [actions](#action) that must be completed to +build intermediate and final software outputs. A `BUCK` file marks a directory +and any sub-directories not containing a `BUCK` file as a [package](#package). + +#### BXL + +BXL ([Buck eXtension Language](https://buck2.build/docs/developers/bxl)) scripts +are written in [Starlark](#starlark) (a restricted subset of Python) and give +integrators the ability to inspect and interact directly with the buck2 graph. + +BXL scripts can query the [action graph](#action-graph), +[configured graph](#configured-graph), and +[unconfigured graph](#unconfigured-graph). They can also create +[actions](#action) and trigger builds. + +#### Cell + +The directory tree of one or more Buck2 [packages](#package). A Buck2 build can +involve multiple cells. The cell root always contains a +[.buckconfig](#buckconfig), although the presence of a .buckconfig file doesn't +in itself define a cell. Rather, the cells involved in a build are defined at +the time Buck2 is invoked; they are specified in the .buckconfig for the Buck +[project](#project). + +#### Configuration + +Configurations consist of a set of 'constraint values' that are used to resolve +`select` [attributes](#attribute) prior to evaluating [rule](#rule) +implementations: the attribute takes the value of the first branch in the +`select` that matches the configuration. + +Configurations are instantiated by rules that produce a `PlatformInfo` +[provider](#provider). Once created, targets can receive their configuration +through a variety of mechanisms, such as: + +- Inheritance - by default, when following a dependency edge A -> B, B inherits + A's configuration. +- The `default_target_platform` attribute and `--target-platforms` command line + flag. +- [Transitions](#transition) (see below). + +Configurations allow a single target to exist in multiple variants in the +configured graph (for example, to build a given binary at differing optimization +levels or targeting different CPU architectures). + +#### Configured graph + +The configured target graph is generated by configuring target nodes in the +[unconfigured target graph](#unconfigured-graph). That is, `selects` are fully +resolved and configurations applied. The configured graph includes information +about the [configurations](#configuration) and [transitions](#transition) +involved in building targets. The same target may appear in multiple different +configurations (when printed, the configuration is after the target in +parentheses). + +#### Constraint + +A constraint represents a property that may differ across different +[target](#target) or build contexts, such as CPU architecture, the version of a +system-installed compiler, optimization level, which version of a particular +library to use, etc. + +#### Daemon + +The Daemon process lives between invocations and is designed to allow for cache +reuse between Buck2 invocations, which can considerably speed up builds. For +more information, see [Daemon (buckd)](daemon.md). + +#### Dependency + +A directed edge between two [targets](#target). A target `A` can have a +dependency on target `B`, for example, if any `dep` attribute of `A` mentions +`B`. A target's dependence on another target is determined by the +[visibility](#visibility) of the latter. + +#### Execution platform + +A type of [rule](#rule) that includes information such as what execution types a +[target](#target) supports, which can be [remote](#remote-execution-re), local, +and [hybrid](#hybrid-execution) execution. Also, whether it supports cache +uploads, which allows users to get cache hits for things that executed locally. + +#### Hybrid execution + +Allows Buck2 to race local and remote execution and get whichever finishes first +(unless there's a cache hit, then it will get output from cache). This can +provide substantial speedup by eliminating the overhead of going to +[remote execution](#remote-execution-re) when there is enough capacity to +service the build locally. + +#### Isolation dir + +Instances of Buck2 share a [daemon](#daemon) if and only if their isolation +directory is identical. The isolation directory also influences the output paths +provided by Buck2. + +#### Modifiers + +It's a modification of a constraint from the existing +[configuration](#configuration) to obtain a new configuration. They provide a +unified way to specify build settings on a [project](#project), +[target](#target), and command line level. It is intended to replace +[target platforms](#target-platform) and most use cases of +[.buckconfigs](#buckconfig). + +#### Package + +A directory that contains a Buck2 [BUCK file](#buck-file) and all source files +belonging to the same directory as the BUCK file, or any of its subdirectories +that do not contain a BUCK file themselves. + +#### Prelude + +The prelude is a unique `.bzl` file located at `prelude//prelude.bzl`. Buck2 +implicitly loads all the symbols defined in the prelude whenever it loads a +[`BUCK`](#buck-file) file. Symbols defined outside the prelude can be imported +via a `load()` statement. + +When you create a Buck2 project using `buck2 init --git`, it will contain the +same prelude used internally at Meta by Buck2 users. It is viewable at +https://github.com/facebook/buck2/tree/main/prelude. + +#### Project + +The Outermost directory where there is a [.buckconfig](#buckconfig): also known +as the [root cell](#cell). The .buckconfig for the project specifies the +[cells](#cell) that constitute the Buck2 project. Specifically, these cells are +specified in the '[cells]' section of the `.buckconfig`. All command invocations +are executed from the project root. + +#### Provider + +Data returned from a [rule](#rule) function. It's the only way that information +from this rule is available to other rules that depend on it (see +[dependency](#dependency)). For more information, see +[Providers](https://buck2.build/docs/rule_authors/writing_rules/#providers). + +#### Platform + +A named set of [constraints](#constraint), defining a specific runtime +environment. E.g. `cpu=x86_64, os=windows` + +#### Remote execution (RE) + +Distributed execution of [actions](#action) on remote workers. It can speed up +builds significantly by scaling the nodes available for parallel actions, and by +caching action outputs across Buck2 users. + +#### Rule + +A rule consists of an attribute spec and an implementation, which is a +[Starlark](#starlark) function. + +The attribute spec declares what attributes the rule expects to receive. The +rule implementation receives the [attributes](#attribute) of a [target](#target) +and the [providers](#provider) of its [dependencies](#dependency). It can +declare new [actions](#action) and [artifacts](#artifact) and must return +[providers](#provider) that can be used to pass data to its dependents or to +Buck2 itself. + +Rules are instantiated in [BUCK files](#buck-file) to declare targets and set +their attributes. The rule implementation is called when Buck2 needs its +providers, which can happen when the target is built, or when one of its +dependents is. + +As an example, the `cxx_binary` rule could be used to create a C++ binary, but +`android_binary` rule would be used to create an Android APK + +#### Starlark + +Starlark is a dialect of Python originally developed by Google for the +[Bazel build tool](https://bazel.build/rules/language). It is the configuration +language of the Buck2 build system and the language you use in `.bzl` and +[`BUCK` files](#buck-file) to define and instantiate [rules](#rule). + +There are many reasons why Meta has chosen Starlark, as detailed in +[The Rust Starlark library](https://developers.facebook.com/blog/post/2021/04/08/rust-starlark-library/) +article. + +The Buck2 project maintains and uses an open source +[Starlark interpreter in Rust](https://github.com/facebook/starlark-rust). + +#### Subtarget + +Collection of [providers](#provider) that can be accesed by name. The subtargets +can have their own subtargets as well, which can be accessed by chaining them, +e.g.: `buck2 build cell//foo:bar[baz][qux]`. + +#### Target + +An object that is defined in a [BUCK file](#buck-file). Targets represent the +buildable units of a build from the perspective of the end user. Declared by +instantiating a [rule](#rule) with attributes. A target has +[dependencies](#dependency), which are references to other targets. + +#### Target label + +The identifier for a [target](#target). Structured as +`cell_alias//path/to/package:target`, where `cell_alias//` maps to a +[cell root](#cell) path (as defined in the [./buckconfig](#buckconfig) of the +cell this target belongs to), `path/to/package` is the [package](#package) +directory that contains the [BUCK file](#buck-file) declaring the target +(relative to the mapped cell alias), and `:target` is the target's name. + +#### Target pattern + +A string that resolves to a set of [targets](#target). They can be used as +arguments to commands such as `buck2 build` and `buck2 uquery`. They can also be +used in the [visibility](#visibility) argument of a [rule](#rule). For more +information, see [Target pattern](./target_pattern.md). + +#### Target platform + +Represents the [platform](#platform) that the final output is built for residing +and executing. If buck2 is a chef, and the output is the meal, the target +platform would be the people that eat the meal. + +#### Target universe + +A set of configured targets and their transitive deps. In the context of cquery +and build in the Buck2 CLI, any literals are resolved to all matching targets +within the universe. Target universe can be passed explicitly on the Buck2 CLI +via `--target-universe`. If omitted, the target universe will be inferred by +constructing a universe using all the target literals (and their transitive +deps) within the query string for cquery. + +#### Transition + +Allows the [configuration](#configuration) to change across a +[dependency](#dependency) edge. That is, normally, if [target](#target) A +depends on target B, then if the configuration for A is X, then B is configured +using X too. By using a transition, you can produce X to configure B instead. + +#### Unconfigured graph + +A graph of [targets](#target) before [configurations](#configuration) are +applied. Can be queried via `buck2 uquery`. + +#### Visibility + +Determines whether a [target](#target) can include another [target](#target) as +its [dependency](#dependency). For more information, see +[Visibility](./visibility.md). diff --git a/_src/concepts/key_concepts.md b/_src/concepts/key_concepts.md new file mode 100644 index 0000000000000..fd09c2fc73a52 --- /dev/null +++ b/_src/concepts/key_concepts.md @@ -0,0 +1,86 @@ +--- +id: key_concepts +title: Key Concepts +--- + +import useBaseUrl from '@docusaurus/useBaseUrl'; + +# Key concepts + +Buck2 has a number of fundamental concepts: + +- A [**_build rule_**](build_rule.md) describes how to produce an output file + from a set of input files. Most build rules are specific to a particular + language or platform. For example, you would use the + [`cxx_binary`](../../prelude/globals/#cxx_binary) rule to create a C++ binary, + but you would use the + [`android_binary`](../../prelude/globals/#android_binary) rule to create an + Android APK. +- A [**_build target_**](build_target.md) is a string that uniquely identifies a + build rule. It can be thought of as a URI for the build rule within the Buck2 + project. +- A [**_build file_**](build_rule.md) defines one or more build rules. In Buck2, + build files are typically named `BUCK`. A `BUCK` file is analogous to the + `Makefile` used by the Make utility. In your project, you will usually have a + separate `BUCK` file for each buildable unit of software—such as a binary or + library. For large projects, you could have hundreds of `BUCK` files. + +A Buck2 **_package_** comprises of: a Buck2 build file (a `BUCK` file), all +files—such as source files and headers—in the same directory as the `BUCK` file +or in subdirectories, provided those subdirectories do not themselves contain a +`BUCK` file. To say it another way, a `BUCK` file defines the root of a package, +but Buck2 packages might not include all their subdirectories because Buck2 +packages do not overlap or contain other Buck2 packages. For example, in the +following diagram, the BUCK file in directory `app-dir-1` defines that directory +as the root of a package—which is labeled **Package A** in the diagram. The +directory `app-dir-2` is part of Package A because it is a subdirectory of +`app-dir-1`, but does not itself contain a BUCK file. Now, consider directory +`app-dir-3`. Because `app-dir-3` contains a BUCK file it is the root of a new +package (**Package B**). Although `app-dir-3` is a subdirectory of `app-dir-1`, +it is _not_ part of Package A. Buck2 has the concept of a **_cell_**, which +defines a directory tree of one or more Buck2 packages. A Buck2 build could +involve multiple cells. Cells often correspond to repositories, but this isn't +required. The root of a Buck2 cell contains a global configuration file called +[**`.buckconfig`**](buckconfig.md). Note that although the cell root should +contain a `.buckconfig`, the presence of a `.buckconfig` file doesn't in itself +define a cell. Rather, _the cells involved in a build are defined at the time +Buck2 is invoked_; they are specified in the `.buckconfig` for the Buck2 +_project_ (see below). A Buck2 **_project_** is defined by the `.buckconfig` +where Buck2 is invoked, or if that directory doesn't contain a `.buckconfig`, +the project is defined by the `.buckconfig` in the nearest ancestor directory. +The `.buckconfig` for the project specifies the cells that constitute the Buck2 +project. Specifically, these cells are specified in the +[cells](buckconfig.md#cells) section of the `.buckconfig`. Note that the +directory tree rooted at this `.buckconfig` is automatically considered a cell +by Buck2; in other words, the project's `.buckconfig` doesn't need to specify +the project cell explicitly—although it is a good practice to do so. + +justifyContent + +### Buck2's dependency graph + +Every build rule can have zero or more dependencies. You can specify these +dependencies using, for example, the `deps` argument to the build rule. For more +information about specifying dependencies, consult the reference page for the +build rule you are using. These dependencies form a directed graph, called the +_target graph_. Buck2 requires the graph to be acyclic. When building the output +of a build rule, all of the rule's transitive dependencies are built first. This +means that the graph is built in a "bottom-up" fashion. A build rule knows only +which rules it depends on, not which rules depend on it. This makes the graph +easier to reason about and enables Buck2 to identify independent subgraphs that +can be built in parallel. It also enables Buck2 to determine the minimal set of +build targets that need to be rebuilt. + +### Multiple Buck2 projects in a single repository + +Buck2 is designed to build multiple deliverables from a single repository—that +is, a _monorepo_—rather than from multiple repositories. Support for the +monorepo design motivated Buck2's support for cells and projects. It is +Facebook's experience that maintaining all dependencies in the same repository +makes it easier to ensure that all developers have the correct version of the +code and simplifies the process of making atomic commits. + +### See also + +Take a look at the [Concept Map](concept_map.md) for a visualization of how +Buck2 concepts interact with each other. Also see the [Glossary](glossary.md). diff --git a/_src/concepts/target_pattern.md b/_src/concepts/target_pattern.md new file mode 100644 index 0000000000000..59fa79665b2cb --- /dev/null +++ b/_src/concepts/target_pattern.md @@ -0,0 +1,88 @@ +--- +id: target_pattern +title: Target Pattern +--- + +A _target pattern_ is a string that resolves to a set of +[targets](./glossary.md#target). A target pattern can be used as arguments to +commands, such as `buck2 build` and `buck uquery`. You can also use build target +patterns in the [visibility](./glossary.md#visibility) argument of your build +[rules](./glossary.md#rule). + +The simplest build target pattern matches the build target of the same name: + +```bash +# +# Matches //apps/myapp:app +# +//apps/myapp:app +``` + +A build target pattern that ends with a colon matches all build targets in the +build file at the preceding directory path. For example, suppose that the build +file: + +```sh +apps/myapp/BUCK +``` + +defines the rules: `app_v1` and `app_v2`, then the following build target +pattern would match both of those rules: + +```bash +# +# Matches //apps/myapp:app_v1 and //apps/myapp:app_v2 +# +//apps/myapp: +``` + +A build target pattern that ends with an ellipsis (`/...`) matches all build +targets in the build file in the directory that precedes the ellipsis and also +_all build targets in build files in subdirectories_. For example, suppose that +you have the following build files: + +```bash +apps/BUCK +apps/myapp/BUCK +``` + +then the following pattern would match all build targets in both of those files: + +```bash +# +# Matches (for example) //apps:common and //apps/myapp:app +# +//apps/... +``` + +A target pattern that does not include a `:` separator matches the target with +the same name as the last element of the path: + +```bash +# +# Matches //apps/myapp:myapp +# +//apps/myapp +``` + +Finally, target patterns can be relative to your current directory. For example: + +```bash +# +# If your current working directory is `apps`, matches //apps/myapp:myapp +# +myapp:myapp +``` + +### Build target patterns are not allowed in the deps argument + +Build target patterns cannot be used with the `deps` argument of a build rule. +Buck requires that you specify all dependencies explicitly as either +fully-qualified or relative build targets. + +### Target aliases + +Buck supports the ability to define _aliases_ for build targets; using aliases +can improve brevity when specifying targets on the Buck command line. + +To see which aliases exist, use `buck2 audit config alias`. diff --git a/_src/concepts/visibility.md b/_src/concepts/visibility.md new file mode 100644 index 0000000000000..70e3bcc284144 --- /dev/null +++ b/_src/concepts/visibility.md @@ -0,0 +1,90 @@ +--- +id: visibility +title: Visibility +--- + +Visibility determines whether a [target](./glossary.md#target) can reference +another target in its [attributes](./glossary.md#attribute). In a large project, +you may want to prevent developers from 'reaching across' the project and +pulling in additional code. Reducing the visibility of targets can help prevent +that type of behavior. + +There are two types of visibility attributes available (each of which takes a +list of [target patterns](./glossary.md#target-pattern)): + +- `visibility` - determines which other targets can depend on a target. +- `within_view` - determines which other targets a target can depend on. + +Both attributes act as allowlists, with some exceptions. In general, if a target +is not listed, there may be no dependency relationship. If the `within_view` +list is empty or unset, however, its check is bypassed. Similarly, targets +defined in the same [BUCK file](./glossary.md#buck-file) always act as if they +were members of their siblings' `visibility` lists. + +There is also a special value for `visibility` attribute: `'PUBLIC'`, which +makes a build rule visible to all targets. + +In case of logically-conflicting lists, `within_view` takes precedence over +`visibility`. If `//foo:bar` defines `//hello:world` in its `visibility` list, +but `//hello:world` does not define `//foo:bar` in its `within_view` list, then +`//hello:world` may not depend on `//foo:bar`. + +## Examples + +A common library like Guava should be able to be included by any build rule: + +```java +prebuilt_jar( + name = 'guava', + binary_jar = 'guava-14.0.1.jar', + visibility = ['PUBLIC'] +) +``` + +It is common to restrict the visibility of Android resources to the Java code +that uses it: + +```java +android_resource( + name = 'ui_res', + res = 'res', + package = 'com.example', + visibility = ['//java/com/example/ui:ui'] +) +``` + +Or it may be simpler to make it visible to the entire directory in case +additional build rules are added to `java/com/example/ui/BUCK`: + +```java +android_resource( + name = 'ui_res', + res = 'res', + package = 'com.example', + visibility = ['//java/com/example/ui:'] +) +``` + +Also, it is common to limit code for testing to be visible only to tests. If you +define all of your Java unit tests in a folder named `javatests/` in the root of +your project, then you could define the following rule to ensure that only build +rules under `javatests/` can depend on JUnit: + +```java +prebuilt_jar( + name = 'junit', + binary_jar = 'junit-4.11.jar', + visibility = ['//javatests/...'] +) +``` + +Finally, restricting the view of a target can be useful for preventing +dependency creep: + +```java +java_library( + name = 'example', + visibility = ['PUBLIC',], + within_view = ['//foo:bar','//hello:world'] +) +``` diff --git a/_src/developers/architecture/buck1_vs_buck2.md b/_src/developers/architecture/buck1_vs_buck2.md new file mode 100644 index 0000000000000..0be074ccf367a --- /dev/null +++ b/_src/developers/architecture/buck1_vs_buck2.md @@ -0,0 +1,175 @@ +--- +id: buck1_vs_buck2 +title: Buck1 vs Buck2 +--- + +## At a glance + +The following table provides an at-a-glance comparison of Buck1 and Buck2. + +| Buck1 | Buck2 | +| :---------------------------------------------- | :-------------------------------------------- | +| Build files in Starlark | Build files in Starlark | +| Macros in Starlark | Macros in Starlark | +| Rules in Java | Rules in Starlark | +| Rules and Macros are logically similar | Rules and Macros are logically similar | +| Rules and Core are not well abstracted | Rules and Core are strongly separated | +| Core in Java | Core in Rust | +| Remote Execution (RE) not well supported | All rules support remote execution by default | +| Varying degrees of incrementality / parallelism | Unified incrementality / parallelism | + +## Top-down vs Bottom-up - understanding the implications of the difference in execution models between Buck1 and Buck2 + +It is often said that Buck1 does 'top down' and Buck2 does 'bottom up' building. +This results in cases where some topics that seem conceptually trivial in Buck1 +are hard problems in Buck2, or vice versa. + +### What are the differences? + +**Scenario**: Imagine you are building A, which depends on both B and C, but +where neither B nor C have any dependencies. + +For the sake of simplicity, imagine B and C are C++ compilations (that produce +object files), and A is a link (that consumes them and produces a shared +library). + +#### Building A with Buck1 + +Following is an oversimplified view of what happens: + +- Buck1 computes the 'rulekey' for B. + - This consists of mixing together the hashes of the C++ file being compiled, + as well as all C++ compiler flags, and so on. +- Buck1 then does the same for C. +- Buck1 then computes the rulekey for A. + - This consist of mixing together the rulekeys of B and C, as well as linker + flags used by A. for example. +- Buck1 then looks up the rulekey for A in the cache. + - If there's a hit, then Buck1 downloads the output and its job done. + - If there's a cache miss, continue. +- Buck1 then queries the cache for the rulekeys of B and C: + - If there's a hit, then the output is downloaded. + - If there's a miss, then Buck1 runs the commands needed to produce the object + file that was missed. Regardless of whether those commands run locally or on + RE, Buck1 downloads the output of B and C. +- Buck1 then runs the command for A to produce the shared library. + - At this point, Buck1 may actually do another cache lookup with a different + rulekey, which is called an _input based rulekey_. This rulekey is derived + from the inputs of the action that needs executing, which at this point of + the build are known (since they were just built)! + +#### Building A with Buck2 + +In contrast, if you ask Buck2 to build A, here is what happens: + +- Buck2 produce the action to compile B and computes the hash of the action. + - This is the 'action digest', which consists of mixing the hashes of all the + inputs (such as the C++ file), as well as the command line (so, implicitly, + the compiler flags). +- Buck2 queries the action cache for the action digest hash. + - If there's a hit, Buck2 obtains the hash of the resulting object file (that + is, the output of B). + - If there's a miss, Buck2 runs the action on RE (or potentially locally) and + obtains the hash of the object file. If the action runs remotely, Buck2 will + not download the output. +- Buck2 does the same thing for C. +- Buck2 produces the action to link A. + - This consists of mixing together all the hashes of the input files (which + were retrieved earlier) and the command line to produce an action digest, + then querying the cache and potentially running the action. +- Once Buck2 produces A (again, on RE), then, since this output was requested by + the user (unlike the intermediary outputs B and C), Buck2 downloads A. + +### Some implications + +#### Rulekeys vs Action digests + +The closest thing to Buck1’s rulekey in Buck2 is the action digest, but they are +very different! + +Since it’s a product of the (transitive) inputs of an action, the (default) +rulekey can be computed without running anything or querying any caches. +However, the action digest cannot: it requires the actual inputs of an action, +which means you need to build all the dependencies first. + +This means that: + +- In Buck1, you can ask for rulekeys for a target. +- In Buck2, you’d have to run the build first then ask for the action digests + (this is what the `buck2 log what-ran` would show you). + +#### Buck2 queries many more caches + +- Buck1 will not descend further down a tree of dependency when it gets a cache + hit. +- Buck2 will always walk up all your dependencies, regardless of whether you get + cache hits or not. + +#### Materialization + +- When Buck1 gets a cache miss, it downloads the outputs. +- Buck2, by contract, does not download outputs as part of a build (this is + called 'deferred materialization'). + - Note that Buck2 does download the outputs if the user asked for them (that + is, they were the targets the user put on the command line). + +### Second-order implications + +#### Non-determinism + +Non-determinism in a build affects Buck2 and Buck1 differently. One scenario +that often works fine in Buck1 but can work catastrophically bad in Buck2 is a +codegen step, driven by a Python binary. + +In certain configurations/modes, Python binaries are non-deterministic, because +they are XARs +([https://engineering.fb.com/2018/07/13/data-infrastructure/xars-a-more-efficient-open-source-system-for-self-contained-executables/](eXecutable +ARchives)) and that is always non-deterministic, which is bad! + +- In Buck1, that doesn’t really matter, because you can get a cache hit on the + codegen output without ever visiting the XAR (as long as the input files + haven’t changed). +- In Buck2, you need the XAR to check the action cache for the codegen step. + - However, binaries are often not cached in certain configurations/modes, so + your XAR isn’t cached. + - Therefore, since your XAR build is non-deterministic, you’ll always miss in + the action cache and the codegen step will always have to run in every + build. + +It can get worse! If the Python binary produces non-deterministic codegen, then +the entire build might become uncacheable. + +#### Cache misses don’t necessarily propagate + +Say that, in Buck2, you’re trying to build a chain of actions like codegen -> +compile -> link. + +Even if your codegen step isn’t cached (say, because its action inputs are +non-deterministic as mentioned above), as long as the codegen output is +deterministic, you can still get cache hits from compile and link steps. + +#### Hybrid execution + +If you squint, you’ll note that Buck1’s build could be viewed as 'local first', +whereas Buck2’s would be better viewed as 'remote first': + +- When Buck1 builds something remotely or gets a cache hit, the outputs are + always downloaded. +- When Buck2 builds something remotely or gets a cache hit, the outputs are + never downloaded. + +In turn, this has some important implications: + +- When Buck1 builds something locally, the inputs are always already present. +- When Buck2 builds something locally, the inputs have to be downloaded, unless + they were built locally (which if you’re doing any RE, is usually not the + case), or if another command caused them to be downloaded. + +This means that, in Buck1, running something locally when you have spare +resources is usually a no-brainer, because it’s always ready to go, and you’ll +save on not having to download the output from RE (though you might have to +upload the output if you need to run actions depending on it later). + +On the flip side, with Buck2, that’s not necessarily the case. To run an action +locally, you need to download inputs that you might otherwise not have needed, +which will tax your network connection. diff --git a/_src/developers/architecture/buck2.md b/_src/developers/architecture/buck2.md new file mode 100644 index 0000000000000..90438a76590ef --- /dev/null +++ b/_src/developers/architecture/buck2.md @@ -0,0 +1,190 @@ +--- +id: buck2 +title: Architectural Model +--- + +import useBaseUrl from '@docusaurus/useBaseUrl'; + +## High-level Overview + +Buck2 is a build system whose core is written in Rust. Starlark, which is a +deterministic, immutable version of Python, is used to extend the Buck2 build +system, enabling Buck2 to be language-agnostic. + +The high-level flow starts with a user creating a build file (a `BUCK` file) +containing one or more targets, which is specified by the target label, its +inputs (sources, attributes, configurations, and dependencies), and the type of +macro or rule to use. + +Briefly, a macro is a wrapper around a rule, which runs necessary commands to +generate what’s needed for a target (for example, for a `cxx_binary` target, +generate the header map and run necessary `clang` commands). Macros can be used +to reduce boilerplate code for users (such as to supply the same set of +attributes for a rule for all targets). Macros and rules are both written in +Starlark and are specified by input sources, attributes, and the implementation +function. + +If the target type is a macro, then the macro will fill in some details (for +example, for a `cxx_binary` target, these are the compilation, debug flags to +use, this is the `clang` to use). If the target type is a rule, then the macro +layer is skipped altogether. + +This is all orchestrated by the core, which performs operations such as +executing Buck2 CLI args, generating/updating the dependency graph (which +contains the configured target nodes, unconfigured target nodes, action nodes, +among other types of nodes that all allow for incrementality and execution), and +materializing the artifacts. The core is written in Rust. + +The following diagram shows the high-level overview. + +justifyContent + +The Buck2 CLI runs in a client process, which sends commands to the Buck2 daemon +via gRPC. The daemon goes through several phases after receiving a request from +the client: **evaluation, configuration, analysis, execution, and +materialization** (see [Execution Model](#execution-model), below). When using +`buck2 test`, there is a final stage for **testing**. Note that these are the +phases that a build goes through, but they are not always sequential. + +After finishing all phases, the daemon will send the response back to the client +via gRPC. + +## Execution Model + +The following diagram shows the Execution Model, which consists of 5 phases and +states. + +justifyContent + +Each of the phases and states shown in the Execution Model, are detailed in the +following sub-sections. + +### State 0 - Build Files + +Build files (commonly referred to as `BUCK` files, their default name) are the +main input to Buck2 and are syntactically Python. + +Each build file is uniquely identified by the directory in which it's located. +Since all build files have the same name, there cannot be two build files in the +same directory. This is usually represented as the relative path from the root +of the project (the directory where the .buckconfig file is). + +Each build file has a set of targets. These describe the things the user wants +Buck2 to know about. Each target has a type and a set of named attributes, +including at least a name (also known as the label) identifying it. Additional +attributes depend on the type of the target. + +### Phase A: Evaluation + +First, Buck2 evaluates a build file, and then constructs an unconfigured target +graph. + +Buck2 performs directory listings to discover packages, then evaluates the build +files that were found, expands any macros detected into their underlying rules, +and then will take rule attributes and convert them from Starlark to Rust types +to construct a target node, and insert it into the unconfigured target graph, +which is a smaller portion of Buck2’s larger dependency graph. The target node +consists of a reference to rule implementation, and the set of attributes and +sources. + +The result of evaluation is a list of targets read from the build file mapped to +a target node in Buck2 unconfigured target graph. + +### State 1 - Unconfigured Target Graph is generated + +At this point, the unconfigured target graph is available for the next stage of +transformation, which is to configure the target nodes within the graph. + +### Phase B: Configuration + +At the end of evaluation, the target nodes are not yet configured. Configuration +means applying a list of constraints (such as resolving selects to specify the +right CPU) to make sure the target can be run where it needs to. This is also +known as target platform resolution, and can be configured within the target, +the buckconfig, propagated from dependencies, or passed into the CLI. After +applying configurations, the target nodes are transformed into configured target +nodes within the Buck2 configured target graph, which is a smaller portion of +Buck2’s larger dependency graph. + +### State 2 - Configured Target Graph is generated + +At this point, the configured target graph is available for the analysis stage +to generate the action graph. + +### Phase C: Analysis + +In the analysis phase, Buck2 constructs a context object (ctx) which contains +relevant information (such as attributes pulled from the configuration stage), +all converted into Starlark types and made available to the rule. For example, +the target’s dependencies are turned into a `ProviderCollection`, source files +are converted into `StarlarkArtifacts`, and String attributes are turned into a +`StarlarkString`. This ctx object is backed by Buck2’s dependency graph for +computation and rules use it to tell Buck2 to run actions, create dynamic +actions, or create new files. + +The rule will return a list of providers, which is data that the rule wants to +expose to its dependents (that is, can flow through the dependency graph), such +as output artifact information (such as file paths and file hashes). Providers +could be actions, source files, or attributes. Within the returned list, +DefaultInfo always needs to be returned, which indicates what the default +outputs are. Some other common built-in providers include RunInfo, TestInfo, and +InstallInfo. + +The end result is a list of providers and actions (inserted into the action +graph) that Buck2 needs to execute to produce the desired outputs, known as +'bound artifacts'. + +### State 3 - Action Graph and Providers are generated + +At this point, the action graph and providers are available to be processed by +the execution stage. + +### Phase D: Execute + +Execution is where Buck2 takes all the providers (input files from the targets, +args from the command line), runs the actions, and then outputs the computed +results. The critical path is the theoretical lower bound for the duration of a +build, which are the slowest set of actions. + +Buck2 can be run locally or on remote execution, or in a hybrid manner. + +For each action, a digest is created which is a hash of an action's command and +all its inputs. Buck2 then checks if there is a result cached within RE for an +action with a given digest. + +If there is a cache hit, Buck2 does not need to run the command for the action. +Instead, the RE returns the output action digest. This digest can be used to +download the actual output artifacts at a later time. This is known as the **RE +action cache**. + +If there is a cache miss, the action needs to be run either remotely or locally. +If Buck2 decides to run the action remotely, it will first upload all of the +action's inputs that are missing from the RE's content addressable storage. If +Buck2 decides to run the action locally, it will first download and materialize +in `buck-out` all of the action's inputs. These inputs might be outputs of other +actions and are stored in RE's content addressable storage but are missing on +the local machine.Only after those steps will Buck2 schedule the action for +actual execution. + +Buck2 can also decide to run local and remote execution simultaneously (a +process known as racing), and use the result of whichever action finishes first +to speed up performance. This strategy is known as **hybrid execution**." + +Materialization of action outputs (which involves downloading and placing them +in the correct location in `buck-out`) can be done immediately after the action +has finished executing. Alternatively, it can be deferred until it is actually +needed for the local execution of another action. There are various +configurations that a user can set to control how this materialization is +handled. + +### State 4 - Build outputs are generated + +At this point, the build is complete. + +If a user ran `buck2 test`, then there is a final transformation for Buck2 to +construct a command for TPX to execute the actual test. + +### Phase E: Execute tests + +For more detail on testing, review +[Test Execution](/docs/rule_authors/test_execution). diff --git a/_src/developers/architecture/buck2_telemetry.md b/_src/developers/architecture/buck2_telemetry.md new file mode 100644 index 0000000000000..9cb33beaff202 --- /dev/null +++ b/_src/developers/architecture/buck2_telemetry.md @@ -0,0 +1,11 @@ +--- +id: buck2_telemetry +title: Buck2 Telemetry +--- + + +:::note +🚧   THIS PAGE IS UNDER CONSTRUCTION + + +::: diff --git a/_src/developers/bxl.md b/_src/developers/bxl.md new file mode 100644 index 0000000000000..0b21f9daa2a43 --- /dev/null +++ b/_src/developers/bxl.md @@ -0,0 +1,117 @@ +--- +id: bxl +title: Why BXL +--- + +## Buck2 Extension Language (BXL) + +BXL is a Starlark-based script that enables integrators to inspect and interact +with the Buck2 graph. + +Integrators are able to: + +- Write Starlark code that queries, analyzes, and builds on the Buck2 graph. +- Introspect and interact with the Buck2 graph structures natively, via + Starlark, in a safe, controlled manner. + +Introspection of the Buck2 graph can occur at the unconfigured, configured, +providers, and action stages. There are also APIs offered to allow BXL to accept +custom command line argument, output artifacts, and print results to stdout. + +BXL leverages Buck2 core's incremental +[caching](bxl_faq.md#when-is-my-bxl-script-cached). It also has support for +[running actions](bxl_common_how_tos.md#running-actions), +[dynamic outputs](bxl_dynamic_output.md), and +[anonymous targets](bxl_anon_target.md). In addition, BXL has +[profiling](bxl_common_how_tos.md#profiling-testing-and-debugging-a-bxl-script) +capabilities, and allows users to add their own [telemetry](bxl_telemetry.md) +directly within the BXL scripts. + +BXL is considered to be mostly stable, with a bit more active development here +and there. + +## When should I use BXL over Buck2 API/CLI? + +There are many overlaps between BXL and Buck2 (for example, both can run cquery +and both can build targets). It’s possible that one use case could be handled by +both BXL and Buck2. + +Following are some specific recommendations to help decide when to use BXL over +regular Buck2: + +- **Use/inspect resolved attributes that are not exposed/accessible to users via + normal Buck2 operations.** + - This includes introspecting the Starlark object of providers, analyzing the + Starlark object of a rule’s attr before and after coercing and resolution, + and introspecting intermediate query results. +- **Reduce/eliminate the need to make several Buck2 calls within your program, + such as running several subprocesses to call `cquery` several times.** + - With BXL, you can just call the BXL script once in a subprocess, potentially + reducing the amount of code you need to write in your program. For example, + if you need to call cquery and build several times, you can put that all + within a single BXL script and run `buck2 bxl` once, rather than running + `buck2 cquery` and `buck2 build` several times. +- **Reduce/eliminate the need to manually parse Buck2 output format within your + program, and any bugs that may come with manual parsing**. + - Some languages are more verbose than others when it comes to string parsing. + - BXL scripts are written in Starlark, which is basically a deterministic, + immutable Python. BXL is able to directly introspect Starlark objects (such + as rules and target nodes, and so on) and call methods on these objects + instead of parsing them over Buck2’s output. + +## Example Use Cases + +### Generate a project for IDE + +IDE project generation is roughly as follows: + +- Form the target graph for the project target +- Perform some filtering on the graph targets if needed. This depends on the + target's configuration. +- For each target, generate the project target metadata, including: + - compiler flags + - linker flags + - paths to generated files + - inputs and outputs for each targets + - the paths relative to some `PATH` +- Write a single file translating this metadata into a format understood by the + IDE + +An example BXL flow for generating a project for IDE might be: + +- Add some command line arguments to accept a target (or subtarget) to generate + the project +- Run analysis on the project target with a specific configuration to filter the + graph targets +- For each resulting target, inspect the providers and attributes to extract the + required metadata information. BXL uses filesystem operations to handle paths + within the project +- Run actions based on the linker/compiler flags, and build artifacts as needed + to generate a project +- Write a single file containing the metadata obtained from previous steps + +### Build an LSP + +A compilation database is a database containing information about which compile +options are used to build the files in a project. Language Server Protocols +(LSPs) uses the compilation database to provide language features like auto +complete, go to definition, and find all references for the user within an +IDE/editor. + +An example BXL flow for building a C++ LSP might be: + +- Add a command line argument to accept a file +- Run owners cquery in BXL to get the owning target of the file +- Run analysis on the owning target to get the desired clang flags +- Use BXL to write the clang flags to the disk in compilation database format + +### Perform graph analysis + +Some example graph analysis functionalities might be: + +- Run an analysis in BXL on a set of targets, and then inspect their providers, + and build some subtargets +- Run a uquery on some set of targets, and inspect the resulting nodes' coerced + attributes +- Run a cquery on some set of targets with a specific configuration, and inspect + the resulting nodes' attributes before and after resolution diff --git a/_src/developers/bxl_anon_target.md b/_src/developers/bxl_anon_target.md new file mode 100644 index 0000000000000..4e0757099abc0 --- /dev/null +++ b/_src/developers/bxl_anon_target.md @@ -0,0 +1,144 @@ +--- +id: anon_targets +title: BXL and Anonymous Targets +--- + +## Anonymous targets + +[Anonymous targets](../rule_authors/anon_targets.md) are supported in BXL. +Anonymous targets are keyed by the attributes, and allow you to share/cache work +more effectively. + +You might want to use anonymous targets if there is some heavy Starlark +evaluation which can be cached, or if you want to cache local actions. + +**Note**: The context object within the anon target rule is **not** a BXL +context, but a normal rule analysis context. + +### APIs + +The `actions` object returned from `ctx.bxl_actions().actions` (equivalent of +`ctx.actions` in normal rules) has the following functions for anonymous +targets: + +- `anon_target(rule: "rule", attrs: Dict[str, Any]) -> "promise"`: generates a + single anonymous target. Return type is an unresolved `promise`. +- `anon_targets(rules: [("rule", Dict[str, Any])]) -> "promise"`: generates a + list of anonymous targets. Return type is an unresolved `promise` representing + the list of anonymous targets. +- `artifact_promise(promise: "promise") -> "promise_artifact"`: turns an + unresolved promise into a kind of artifact. See + [Convert promise to artifact](../rule_authors/anon_targets.md#convert-promise-to-artifact) + for more info on why you might want to use this. + +The resulting promise also has `map()` and `join()` functions. `map()` applies a +function to the promise's results, and `join()` turns multiple promises into a +single promise. + +To resolve promises in BXL, `bxl_ctx` has a `resolve()` function, which takes in +the analysis actions instance (`actions` object returned from +`ctx.bxl_actions().actions`) and a single promise and returns an optional +promise value, if there is one. If you intend to create multiple promises, using +`join()` to produce a single promise will allow you to resolve them concurently +with a single `resolve()` call. + +Small example: + +```python +def _my_impl(ctx): + bxl_actions = ctx.bxl_actions() # pass in relevant params to configure the execution platform resolution + actions = bxl_actions.actions + + promise1 = actions.anon_target(my_anon_rule1, my_attrs1).promise + promise2 = actions.anon_target(my_anon_rule2, my_attrs2).promise.map(my_map_function) + + joined = promise1.join(promise2) + + resolved = ctx.resolve(actions, joined) + + # do some more stuff ... +``` + +### Complete Example + +```python +## anon_bxl_rules.bzl ############ + +# Define an anonymous rule. + +MirrorInfo = provider(fields = ["mirrored_attrs"]) + +# Anonymous rule which writes some silly output, and also mirrors all attributes received +def _mirror_impl(ctx: "context") -> ["provider"]: + out = ctx.actions.declare_output("my_output") + ctx.actions.write(out, "my_content") + return [DefaultInfo(default_outputs = [out]), MirrorInfo(mirrored_attrs = ctx.attrs)] + +my_mirror_rule = rule(impl = _mirror_impl, attrs = { + "false": attrs.bool(), + "int": attrs.int(), + "list_string": attrs.list(attrs.string()), + "string": attrs.string(), + "true": attrs.bool(), +}) + +# Will be used in a map function in my_script.bxl below +StringInfo = provider(fields = ["my_string"]) + +## my_script.bxl ############ + +load(":anon_bxl_rules.bzl", "MirrorInfo", "StringInfo", "my_mirror_rule") + +def _anon_target_example(ctx): + bxl_actions = ctx.bxl_actions() + actions = bxl_actions.actions + + # Attrs to pass into the anonymous target. An anonymous target is defined by the hash of its attributes + my_attrs = { + "false": False, + "int": 42, + "list_string": ["a", "b", "c"], + "string": "foo-bar-string", + "true": True, + } + + # A function to be applied to the promise (result of anon target), producing a promise with the resulting value. + def my_function(providers): + # Do something with the attrs. In this example, we are validating that the attrs are what we expect. + mirrored_fields = providers[MirrorInfo].mirrored_attrs + assert_eq(mirrored_fields.true, True) + assert_eq(mirrored_fields.false, False) + assert_eq(mirrored_fields.int, 42) + assert_eq(mirrored_fields.string, "foo-bar-string") + assert_eq(mirrored_fields.list_string, ["a", "b", "c"]) + + outputs = providers[DefaultInfo].default_outputs + # These are the providers this target returns + return [DefaultInfo(default_outputs = outputs), StringInfo(my_string = "map function succeeded!")] + + # Create an anonymous target by passing in "my_attrs" into "my_mirror_rule", and returns providers. + # Specifically, it returns "DefaultInfo" and "MirrorInfo", as defined in "my_mirror_rule" + # Then, we map the result to "my_function", which does some validation + promise = actions.anon_target(my_mirror_rule, my_attrs).promise.map(my_function) + + # Resolving the promise returns a "provider_collection", which was defined by "my_function" above. + # `DefaultInfo` is at index 0, `StringInfo` is at index 1 + promise_result = ctx.resolve(actions, promise) + + ensured = ctx.output.ensure(promise_result[0].default_outputs[0]) + # should print out location of the output, which contains the "my_content" string as defined in anon_bxl_rules.bzl above + ctx.output.print(ensured) + + # should print out "map function succeeded!" + ctx.output.print(promise_result[1].my_string) + +def assert_eq(a, b): + if a != b: + fail("Expected {} == {}".format(a, b)) + +anon_target_example = bxl_main( + impl = _anon_target_example, + cli_args = { + }, +) +``` diff --git a/_src/developers/bxl_basics.md b/_src/developers/bxl_basics.md new file mode 100644 index 0000000000000..b143201df4049 --- /dev/null +++ b/_src/developers/bxl_basics.md @@ -0,0 +1,112 @@ +--- +id: bxl_basics +title: BXL Basics +--- + +This page is a primer on common BXL functionalities and data types. Ramping up +in BXL may be challenging without much prior knowledge of Buck2 building blocks +(ex: targets, configurations, queries), so please take a look at the +[Concepts](../concepts/concept_map.md) documentation before reading on. + +## Common BXL functionalities + +### Build + +You can build targets within BXL with +[`ctx.build()`](../../api/bxl/bxl.Context/#bxl_ctxbuild). The result is a +[`bxl.BuildResult`](../../api/bxl/bxl.BuildResult), which has `artifacts()` and +`failures()` functions that provide iterators to the artifacts or failures, +respectively. You can pass in a single target or target pattern to build. + +### Analysis + +You can run analysis on targets within BXL via +[`ctx.analysis()`](../../api/bxl/bxl.Context/#bxl_ctxanalysis). Analysis means +to evaluate the underlying rule implementation for the inputted targets, and +produce the providers that the rule defined for the target. A common workflow is +to inspect the resulting providers, and perhaps ensure parts of these providers +or run actions using information from the providers (see [Actions](#actions) +below). + +### Query + +Buck2 supports a couple different query types: querying the unconfigured graph +(`buck2 uquery`), the configured graph (`buck2 cquery`), or the action graph +(`buck2 aquery`). These queries are all available in BXL as well: + +- `ctx.uquery()` returns a + [`bxl.UqueryContext`](../../api/bxl/bxl.UqueryContext) +- `ctx.cquery()` returns a + [`bxl.CqueryContext`](../../api/bxl/bxl.CqueryContext) +- `ctx.aquery()` returns a + [`bxl.AqueryContext`](../../api/bxl/bxl.AqueryContext) + +You can read more about the individual queries in the API docs. There are many +queries that are common between uquery, cquery, and aquery, but cquery and +aquery will have extra queries unique to the configured graph or the action +graph. One more thing to call out is the `eval()` query, which is a special +query that takes in the entire query as a string literal. A common use for +`eval()` is to migrate a complex query from Buck2 CLI to BXL by dropping the +entire query string directly into `eval()`. + +The query results are target sets (iterable container) of +[`bxl.UnconfiguredTargetNode`s](../../api/bxl/bxl.UnconfiguredTargetNode) for +uquery, [`bxl.ConfiguredTargetNode`s](../../api/bxl/bxl.ConfiguredTargetNode) +for cquery, and [`bxl.ActionQueryNode`s](../../api/bxl/bxl.ActionQueryNode) for +aquery. Each of these node types have accessors on their attributes. A common +workflow is to run some query in BXL, and iterate through the resulting nodes to +inspect their attributes, and use those attributes to inform further +computations in BXL. + +#### Uquery + +Querying the unconfigured graph means that no configurations (such as platforms +and transitions) have been applied to the target graph yet. This means that it's +very possible that some parts of the target graph is broken due to lack of +configurations. Generally to avoid this problem, cquery may be preferred +instead. + +#### Cquery + +Querying the configured graph means that configurations have been applied to the +target graph. For cquery, we require that users use a +[target universe](../developers/bxl_target_universe.md) for their query inputs. + +#### Aquery + +Aquery is a quite different from uquery and cquery. It is used to query the +action graph, which is constructed after Buck2 runs analysis on the targets and +produces the list of providers and actions needed to build the target. + +### Actions + +You can create actions directly within the BXL API. The available action APIs +are equivalent to the ones found on the [`actions`](../../api/bxl/actions) type +for normal rules, with the caveat that +[dynamic actions](./bxl_dynamic_output.md) use the +[`bxl.Context`](../../api/bxl/bxl.Context) (which provides richer +functionalities). + +A common workflow would be to run analysis on a target, and use some interesting +bits found in the analysis result to construct an augmented +[`cmd_args`](../../api/bxl/cmd_args) to run, and then ensure the action's output +(see below for ensuring). Also see +[Running actions](./bxl_common_how_tos.md#running-actions). + +### Ensure + +Ensuring an artifact means that you want the artifact to be materialized +(meaning, downloaded to your machine) at the end of the BXL execution. There are +two APIs for ensuring: `ctx.output.ensure()` and `ctx.output.ensure_multiple()` +(see [`bxl.OutputStream`](../../api/bxl/bxl.OutputStream)). As the naming +indicates, the former is for ensuring a single artifact, and the latter is for +ensuring multiple artifact-like inputs. Artifact-like inputs include +[`cmd_args`](../../api/bxl/cmd_args) (can be found when inspecting providers), +[`bxl.BuildResult`](../../api/bxl/bxl.BuildResult) (produced when building +something in BXL), or [`artifact`](../../api/bxl/artifact) (can be found when +inspecting providers, or creating your own actions). + +A common workflow is to ensure an artifact that you created via some custom +actions defined in your script, or ensuring some artifacts found in the +providers after running analysis. Also see +[What do I need to know about ensured artifacts](./bxl_faq.md#what-do-i-need-to-know-about-ensured-artifacts). diff --git a/_src/developers/bxl_common_how_tos.md b/_src/developers/bxl_common_how_tos.md new file mode 100644 index 0000000000000..96ad13578f66d --- /dev/null +++ b/_src/developers/bxl_common_how_tos.md @@ -0,0 +1,258 @@ +--- +id: bxl_how_tos +title: Common How-Tos +--- + +## Passing in and using CLI args + +A BXL function can accept a `cli_args` attribute where args names and types are +specified to use within your script, as shown in the following example: + +Example: + +```python +def _impl_example(ctx): + # ... + pass + +example = bxl_main( + impl = _impl_example, + cli_args = { + # cli args that you want to receive from the command line + "bool_arg": cli_args.bool(), + "list_type": cli_args.list(cli_args.int()), + "optional": cli_args.option(cli_args.string()), + "target": cli_args.target_label(), + }, +) +``` + +On the command line, you can invoke the arguments as follows: + +```sh +buck2 bxl //myscript.bxl:example -- --bool_arg true --list_type 1 --list_type 2 --target //foo:bar +``` + +For BXL functions, to read the arguments, use them as attributes from the +`cli_args` attribute on the BXL `ctx` object, as follows: + +```python +def _impl_example(ctx): + my_bool_arg = ctx.cli_args.bool_arg +``` + +## Running actions + +You can create actions within BXL via the `actions_factory`. This is called once +globally then used on demand: + +```python +def _impl_example(ctx): + actions = ctx.bxl_actions().actions # call once, reuse wherever needed + output = actions.write("my_output", "out") +``` + +You will need to have +[execution platforms](../rule_authors/configurations.md#execution-platforms) +enabled for your project, or else you will get an error. You can specify the +execution platform resolution by setting named parameters when instantiating +`bxl_actions`: + +- `exec_deps` - These are dependencies you wish to access as executables for + creating the action. This is usually the same set of targets one would pass to + rule's `attr.exec_dep`. Accepts a list of strings, subtarget labels, target + labels, or target nodes. +- `toolchains` - The set of toolchains needed for the actions you intend to + create. Accepts a list of strings, subtarget labels, target labels, or target + nodes. +- `target_platform` - The intended target platform for your toolchains. Accepts + a string or target label. +- `exec_compatible_with` - Explicit list of configuration nodes (like platforms + or constraints) that these actions are compatible with. This is the + `exec_compatible_with` attribute of a target. Accepts a list of strings, + target labels, or target nodes. + +If you specify `exec_deps` or `toolchains`, you can access the resolved +`dependency` objects on the `bxl_actions` object. The `bxl_actions` object will +have `exec_deps` and `toolchains` attributes, which are `dict`s where the keys +are the unconfigured subtarget labels, and the values are the +configured/resolved `dependency` objects. + +Note that the keys of `exec_deps` and `toolchains` must be unconfigured +subtarget labels (`StarlarkProvidersLabel`), and not unconfigured target labels. +You can use `ctx.unconfigured_sub_targets(...)` or `with_sub_target()` on +`target_label` to create the label. + +```python +def _impl_example(ctx): + my_exec_dep = ctx.unconfigured_sub_targets("foo//bar:baz") # has some provider that you would use in the action + bxl_actions = ctx.bxl_actions(exec_deps = [my_exec_dep]) # call once, reuse wherever needed + output = bxl_actions.actions.run( + [ + "python3", + bxl_actions.exec_deps[my_exec_dep][RunInfo], # access resolved exec_deps on the `bxl_actions` + out.as_output(), + ], + category = "command", + local_only = True, + ) + ctx.output.ensure(output) +``` + +## Getting providers from an analysis + +After calling `analysis()`, you can get the providers collection from +`providers()`: + +```python +def _impl_example(ctx): + my_providers = ctx.analysis(my_target).providers() +``` + +## Get a specific provider from an analysis + +After calling `analysis()`, you can also get the providers collection from +`providers()` then grab whatever specific provider you need: + +```python +def _impl_example(ctx): + default_info = ctx.analysis(my_target).providers()[DefaultInfo] + ctx.output.print(default_info) +``` + +## Get a specific subtarget from an analysis + +Once you have a provider, you can get its subtargets by using the `sub_targets` +attribute on the struct to get a dict of provider labels to provider +collections: + +```python +def _impl_example(ctx): + subtarget = ctx.analysis(my_target).providers()[DefaultInfo].sub_targets["my_subtarget"] + ctx.output.print(subtarget) +``` + +## Building a target/subtarget without blocking + +`ctx.build` is synchronous and should only be used when the result of the build +is needed inline during the bxl execution. To execute builds without blocking +the script, retrieve the `DefaultInfo` from the target's providers and use the +`ctx.output.ensure_multiple` api. + +Example: + +```python +ctx.output.ensure_multiple(ctx.analysis(label).providers()[DefaultInfo]) +``` + +## Getting attributes or resolved attributes efficiently on a configured target node + +If you need to use all of the attrs/resolved_attrs, then initializing the eager +variant once would be best. If you only need a few of the attrs, then +initializing the lazy variant is better. There’s not really a hard line, it +depends on the target node, and which attrs you are looking for. If performance +is key to your BXL script, the best way to determine this is to use the BXL +profiler. + +Regardless, if you use eager or lazy versions of getting attributes, you should +cache the attrs object: + +```python +def _impl_example(ctx): + my_configured_node = ctx.configured_targets(":foo") + + # call once and resue, ideally when you need most/all attrs + eager = my_configured_node.attrs_eager() + + # call once and reuse, ideally when you only need a few attrs + lazy = my_configured_node.attrs_lazy() + + # call once and reuse, ideally when you need most/all resolved attrs + resolved_eager = my_configured_node.resolved_attrs_eager(ctx) + + # call once and reuse, ideally when you only need a few resolved attrs + resolved_lazy = my_configured_node.resolved_attrs_lazy(ctx) +``` + +## Inspecting a struct + +You can use `dir(my_struct)` to inspect a struct. You can also use +`getattr(my_struct, "my_attr")` to grab individual attributes, which is +equivalent to `my_struct.my_attr`. + +These are available as part of the +[Starlark language spec](https://github.com/bazelbuild/starlark/blob/master/spec.md#dir). + +## Set addition/subtraction on a `target_set` + +There are a few BXL actions that return a `target_set` (such as a cquery +`eval()`). The `target_set` supports set subtraction and addition (you can use +`-` and `+` directly in Starlark). + +## Initializing configured/unconfigured `target_set` + +You can use following apis to initialize `target_set` + +```python +def bxl.utarget_set(nodes: None | list[bxl.UnconfiguredTargetNode]) -> bxl.UnconfiguredTargetSet +``` + +```python +def bxl.ctarget_set(nodes: None | list[bxl.ConfiguredTargetNode]) -> bxl.ConfiguredTargetSet +``` + +## Profiling, Testing, and Debugging a BXL script + +You can use `buck2 bxl profiler`, with various measurements, to determine where +the script is least efficient. + +To time individual pieces of the script, you can use BXL’s timestamp methods: + +```python +def _impl_example(_ctx): + start = now() # call once and reuse wherever is necessary + # do something time intensive here + end1 = start.elapsed_millis() + # do something else time intensive here + end2 = start.elapsed_millis() +``` + +- **Debug** - the common way to debug a BXL script is with print statements + (`print()`, `pprint()` and `ctx.output.print()`). + + + +- **Debugger** - to use the debugger you can follow these instructions + [here](https://fb.workplace.com/groups/buck2eng/permalink/3562907607330619/). + + 1. `fdb --starlark-kill-buck attach buck` + 2. place a breakpoint to the bxl file + 3. run the buck2 bxl command + + + +- **Test** - BXL does not have a robust testing framework for mocking. The main + method to test a BXL script is to actually invoke it with required inputs then + verify the outputs. + +## Getting the path of an artifact as a string + +The starlark `artifact` type encapsulates source artifacts, declared artifacts, +and build artifacts. It can be dangerous to access paths and use them in further +BXL computations. For example, if you are trying to use absolute paths for +something and end up passing it into a remotely executed action, the absolute +path may not exist on the remote machine. Or, if you are working with paths and +expecting the artifact to already have been materialized in further BXL +computations, that would also result in errors. + +However, if you are not making any assumptions about the existence of these +artifacts, you can use use +[`get_path_without_materialization()`](../../api/bxl/globals#get_path_without_materialization), +which accepts source, declared, or build aritfacts. It does _not_ accept ensured +artifacts (also see +[What do I need to know about ensured artifacts](./bxl_faq.md#what-do-i-need-to-know-about-ensured-artifacts)). + +For getting paths of `cmd_args()` inputs, you can use +[`get_paths_without_materialization()`](../../api/bxl/globals#get_paths_without_materialization), +but note this is risky because the inputs could contain tsets, which, when +expanded, could be very large. Use these methods at your own risk. diff --git a/_src/developers/bxl_dynamic_output.md b/_src/developers/bxl_dynamic_output.md new file mode 100644 index 0000000000000..979b01c685525 --- /dev/null +++ b/_src/developers/bxl_dynamic_output.md @@ -0,0 +1,79 @@ +--- +id: dynamic_output +title: BXL and Dynamic Outputs +--- + +## Dynamic output + +When declaring [dynamic outputs](../rule_authors/dynamic_dependencies.md) within +a BXL script, the dynamic lambda for is created with a `bxl_ctx`, which means +that you can do things like run analysis or queries to inspect the build graph +from within the dynamic lambda. + +You may declare multiple dynamic outputs within a single BXL script, or declare +nested dynamic outputs. Dynamic outputs are run asynchronously after the BXL +evaluation. + +### Limitations + +- `ctx.output` is not available from a dynamic lambda. This means you can’t + ensure artifacts or print cached outputs within a dynamic lambda. +- Error messages from skipping incompatible targets are only emitted to the + console, and not cached in the stderr +- `build()` is not available from a dynamic lambda +- `bxl_actions` in a dynamic lambda always inherits the execution platform + resolution of the root/parent BXL. + - The expected usage of `bxl_actions` from within a dynamic lambda is to + instantiate it without any named parameters, but the `exec_deps` and + `toolchains` of the execution platform resolution are accessible, and return + the same values as the root/parent BXL +- Profiling is not hooked up to dynamic BXL context + +### Silly example + +This is a silly example of creating a dynamic output which reads some +`query_params` input, calls some BXL functions like `uquery`, +`configured_targets` to get the resolved attributes of a target node, and then +writes the attributes to an output file. + +```python +def _impl_dynamic_output(ctx): + actions = ctx.bxl_actions().actions + + # Declare some input here to read within the lambda + query_params = actions.write_json("query_params", {"rule_type": "apple_bundle", "universe": "fbcode//buck2/tests/..."}) + + # Dynamic lambda's output artifact + resolved_attrs = actions.declare_output("resolved_attrs") + + # Dynamic lambda function to be used in the dynamic_output + def my_deferred(ctx, artifacts, outputs): + + # Read the input, then do some BXL things here + + params = artifacts[query_params].read_json() + target = ctx.uquery().kind(params["rule_type"], params["universe"])[0] + node = ctx.configured_targets(target.label) + eager_attrs = node.resolved_attrs_eager(ctx) + + # Dynamic BXL context's `bxl_actions` does not take in named parameters because it inherits the exec platform resolution from the root/parent BXL. If the root BXL's `bxl_actions` were created with exec deps/toolchains, you can access them using `exec_deps` and `toolchains` attributes here + + ctx.bxl_actions().actions.write(outputs[resolved_attrs], str(eager_attrs)) + + actions.dynamic_output( + dynamic = [query_params], + inputs = [], + outputs = [ + resolved_attrs, + ], + f = my_deferred, + ) + + ctx.output.print(ctx.output.ensure(resolved_attrs).abs_path()) + +dynamic_output_example = bxl_main( + impl = _impl_dynamic_output, + cli_args = { + }, +) +``` diff --git a/_src/developers/bxl_faq.md b/_src/developers/bxl_faq.md new file mode 100644 index 0000000000000..15f1d40bec2ac --- /dev/null +++ b/_src/developers/bxl_faq.md @@ -0,0 +1,78 @@ +--- +id: bxl_faqs +title: FAQs +--- + +## When is my BXL script cached? + +The entire BXL script is represented as a single node on the DICE graph (Buck2’s +internal dependency graph). When the script’s input changes, the entire node is +invalidated and needs to be recomputed. For example, if a BXL function calls +uquery, then uses the result to do a cquery and then a build, if Buck2 detects +that any of the recorded calls to uquery, cquery, and build changes, then the +entire BXL script will be reran. The computations themselves (uquery, cquery, +and build) will still be incrementally evaluated via DICE, so we are not +rerunning _every_ computation entirely within the BXL. + +When the BXL script creates artifacts and ensures them, those artifacts are +cached separately in an action outside of the BXL execution. This means that the +artifacts produced by BXL are cached separately from the BXL script itself, much +like the computations within a BXL. + +During 2023, there is a plan to add finer grain incrementality to make better +use of DICE’s existing incrementality support. + +## What’s the difference between `ctx.output.print()` and `print()`? + +- `ctx.output.print()` writes items to stdout by buck2 even when the script is + cached. Items written to the output stream are considered to be the results of + a BXL script, which will be displayed to stdout by buck2 even when the script + is cached. +- `print()` is offered by Starlark via the stdlib. This prints anything you want + but won’t be provided to stdout at the end of a BXL script. These can be used + to print to stderr. NOTE: `print()` statements don't show up if the script has + been cached. + +## What do I need to know about ensured artifacts + +An `ensured_artifact` prints out the relative or absolute path via +`ctx.output.print()`, depending on if called with `abs_path()` or `rel_path`(), +but will print out `>` via `print()`. + +This is intentional because when the ensured artifact is created within BXL, it +has not been materialized yet. It will be materialized after the BXL script +finishes executing, and Buck2 core performs some additional actions after the +BXL script. + +This is a safeguard to prevent people from misusing the artifact path and +passing it into an action without the artifact having been materialized or +passing an absolute path into RE, which can actually mess up RE and render the +action not shareable across users. In addition, it makes these actions +separately cacheable from the BXL execution. + +## What is the difference between dynamic outputs and anon targets? + +Dynamic outputs are meant for +[dynamic dependencies](../rule_authors/dynamic_dependencies.md). The context +type is a `bxl_ctx`. Dynamic outputs are ran asynchronously outside of the BXL +execution. + +Anon targets are meant for sharing work betwen multiple BXLs. The context type +is a normal rule analysis `context`. Anon targets are `await`-ed inline with +your BXL function. + +## Can I mutate types returned by BXL APIs? + +The data types produced by BXL API calls are always immutable. + +## What is run synchronously vs asynchronously? + +Starlark itself is run synchronously. However, certain BXL APIs are evaluated +asynchronously. + +If you pass in multiple inputs to builds, queries, or analyses, the execution of +these API calls will be blocking, but the inputs themselves will be evaluated in +parallel within the execution. + +Ensuring artifacts, dynamic outputs, anon targets, and resolving promises will +happen _after_ the Starlark script is executed. diff --git a/_src/developers/bxl_getting_started.md b/_src/developers/bxl_getting_started.md new file mode 100644 index 0000000000000..e945568d31b42 --- /dev/null +++ b/_src/developers/bxl_getting_started.md @@ -0,0 +1,101 @@ +--- +id: bxl_getting_started +title: Getting Started +--- + +If you are mostly unfamiliar with Buck2, take a look at +[BXL Basics](./bxl_basics.md). + +## Navigating the docs + +All BXL APIs can be found [here](../../api/bxl/globals). A good place to start +would be the [`bxl.Context`](../../api/bxl/bxl.Context), which contains all +available BXL functionalities. + +All [Build APIs](../../api/build/globals) are mirrored to the BXL APIs section. + +The [Starlark spec](https://github.com/bazelbuild/starlark/blob/master/spec.md) +is also a good resource for general Starlark APIs. + +## Writing a BXL + +To create a BXL, first, create a script somewhere in the repository ending in +`.bxl`. (Note that you can define a single bxl per file, or multiple BXLs per +file like in Starlark rules). + +In it, define a BXL function as follows: + +```python +def _your_implementation(ctx): + # ... + pass + +your_function_name = bxl_main( + impl = _your_implementation, + cli_args = { + # cli args that you want to receive from the command line + "bool_arg": cli_args.bool(), + "list_type": cli_args.list(cli_args.int()), + "optional": cli_args.option(cli_args.string()), + "target": cli_args.target_label(), + }, +) +``` + +This exposes `your_function_name` as a function, with whatever arguments you +defined it, so that on the command line you can invoke: + +```text +buck2 bxl //myscript.bxl:your_function_name -- --bool_arg true --list_type 1 --list_type 2 --target //foo:bar` +``` + +You can also add helpdocs to the cli args and get them to show up in cli via +`--help`: + +```python +def _your_implementation(ctx): + # ... + pass + +your_function_name = bxl_main( + impl = _your_implementation, + cli_args = { + "my_bool": cli_args.bool(True, "this will be printed as part of `--help`") + }, +) +``` + +The implementation function takes a single context as parameter (see the +documentation for [`bxl.Context`](../../api/bxl/bxl.Context)). Using it, you'll +be able to access functions that enable you to perform queries, analysis, +builds, and even create your own actions within BXL to build artifacts as part +of a BXL function. + +The primary method to return information from BXL is to either print them, or +build some artifact (for details, see the +[`bxl.OutputStream`](../../api/bxl/bxl.OutputStream) documentation, available as +part of `ctx.output`). At high level, `ctx.output.print(..)` prints results to +stdout, and `ctx.output.ensure(artifact)` marks artifacts as to be materialized +into buck-out by the end of the BXL function, returning an object that lets you +print the output path via `ctx.output.print(ensured)`. + +## Running a BXL + +To run a BXL function, invoke the buck2 command: + +```text +buck2 bxl -- +``` + +Where `` is of the form `:`, +and `` are the arguments that the function accepts from the +command line. + +The documentation for a BXL function can be seen by running: + +```text + buck2 bxl -- --help` +``` + +Note that this is different from `buck2 bxl --help`, which generates the help +for the buck2 command instead of the function. diff --git a/_src/developers/bxl_target_universe.md b/_src/developers/bxl_target_universe.md new file mode 100644 index 0000000000000..81d2b077d7bc8 --- /dev/null +++ b/_src/developers/bxl_target_universe.md @@ -0,0 +1,121 @@ +--- +id: target_universe +title: Target Universe in BXL +--- + +## BXL cquery and target universe + +BXL cannot infer the [target universe](../concepts/glossary.md#target-universe) +like in the CLI (in most cases). BXL splits up cquery functions per function +(ex: `ctx.cquery().kind(...)`), with the exception of `ctx.cquery.eval(...)`, +which accepts literals exactly like in the CLI. For the `eval` query, target +universe is inferred exactly like the CLI. + +For all other cases, take the following query as an example: + +`buck2 cquery "rdeps(deps(//example:foo), deps(//example:bar))"` + +The target universe here should be constructed from the all the target literals +and their transitive deps, which is to say `deps(//example:foo, //example:bar)`. +When you run the query, the evaluation of `deps(//example:foo)` and +`deps(//example:bar)` nested in the `rdeps` query will happen inside the +universe resulting from `deps(//example:foo, //example:bar)`. Translating it to +BXL's individual cquery functions, and let’s say we also try to use the target +literals to construct the universe as the CLI target inference does: + +```python +from_node = ctx.cquery().deps("//example:foo") # universe would be //example:foo + +to_node = ctx.cquery().deps("//example:bar") # universe would be //example:bar + +rdeps = ctx.cquery().rdeps(from_node, to_node) # what is the universe here? +``` + +Here, the `from_node` query is actually evaluated in the wrong target universe +because we have broken up the query steps in BXL. Instead of +`deps(//example:foo)` being evaluated in `deps(//example:foo, //example:bar)`, +it’s evaluated with only `deps(//example:foo)`. It’s impossible to know that +there’s going to be an rdeps query later on that expects a different target +universe. + +### Specifying target universe in BXL cquery + +BXL cquery functions should only accept configured targets as inputs, with the +exception of `eval` and `testsof_with_default_platform`. + +BXL has a `ctx.target_universe()` function to construct a `target_universe` +object, which has a `lookup()` function to lookup the configured targets within +the target universe and return the target set. ​​The lookup functionality is +useful because sometimes a single target can appear multiple times within a +target universe. For example, if you specify a cxx toolchain using its +unconfigured target label, it will always match against all cxx toolchains in +the target universe (so at least once for target deps and once for exec deps), +since cxx toolchains may have multiple configurations. Example: + +```python +def _impl(): + target_universe = ctx.target_universe(["//example:foo", "//example:bar"]) + to_node = target_universe.lookup("//example:foo") + from_node = target_universe.lookup("//example:bar") + rdeps = ctx.cquery().rdeps(to_node, from_node) +``` + +However, sometimes you might want a specific configuration instead of using all +configurations found within a target universe, in which case you could use +`ctx.configured_targets(...)` to specify the configuration. Or, sometimes you +may want to use the specific configured target nodes resulting from other BXL +calls. In these cases, you can pass the configured targets directly into cquery +functions, instead of going through target universe lookup. + +### What does the target universe tend to be in practice? + +For `owner` query, the universe would be constructed with the unconfigured +target nodes returned from `ctx.uquery().owner(...)`. Example: + +```python +def _impl(): + unconfigured_owners = ctx.uquery().owner("foobar") + target_universe = ctx.target_universe(unconfigured_owners).target_set() + owners = ctx.cquery().owner("foobar", target_universe) +``` + +For everything else, the universe would usually be constructed using all target +literals found in your query. Example: + +```python +def _impl(): + target_universe = ctx.target_universe("//example:foo") + inputs = target_universe.target_set() + deps = ctx.cquery().deps(inputs) +``` + +While the above guideline should work for `rdeps` as well, for `rdeps` the +universe would usually be narrowed down to the "to"/"destination" target set +argument. (This is a subset of the target universe suggested for non-`owner` +query cases). Updating the example from above: + +```python +def _impl(): + target_universe = ctx.target_universe("//example:foo") # narrowed down to the "to" literals in rdeps + universe_node = target_universe.target_set() + from_node = target_universe.lookup("//example:bar") + rdeps = ctx.cquery().rdeps(universe_node, from_node) +``` + +### `keep-going` + +The configured graph can be broken for various reasons: incompatible targets +(BXL skips these automatically), visibility issues, nonexistent targets, etc. +For issues that are not incompatible targets, the `target_universe` can be +constructed with the `keep_going` flag set to `True` to skip any other errors, +and your cquery will not error out. Note that `keep_going` is only compatible +for a single string literal target or target pattern at the moment. + +```python +ctx.target_universe("//foo/...", keep_going = True) +``` + +## BXL build and target universe + +Note that BXL builds currently do not support target universe, but we intend to +add this. diff --git a/_src/developers/bxl_telemetry.md b/_src/developers/bxl_telemetry.md new file mode 100644 index 0000000000000..0a4cb999ca981 --- /dev/null +++ b/_src/developers/bxl_telemetry.md @@ -0,0 +1,168 @@ +--- +id: bxl_telemetry +title: BXL Telemetry +--- + +## Telemetry + +### Emitting events from your BXL script + +In BXL, you can emit custom events via `ctx.instant_event()`, which takes in two +named parameters: + +- `id`: string, identifies your event. Helpful to identify your event when + looking through event logs. Ids do not have to be unique in a single BXL + script. +- `metadata`: dict, where keys are strings, and values are strings, bools, ints, + or lists/dicts of the mentioned types. You can put any metadata you wish here. + +Example: + +```python +def _impl(ctx): + ctx.instant_event(id = "id1", metadata = {"foo": "bar"}) + +my_script = bxl_main( + impl = _impl, + cli_args = {}, +) +``` + +Only instant events can be manually created within BXL at this time, which means +that the event represents a single point in time. If you need something similar +to spans (start and end events which encompass a range of time) for measuring +the duration of a particular section (excluding actions - see below for more +information), you could couple instant events with the global `now()` function +to measure the duration yourself: + +```python +def _impl(ctx): + instant = now() + + # do something time intensive + end = instant.elapsed_millis() + ctx.instant_event(id = "id1", metadata = {"duration": end}) + + # do something else time intensive + end = instant.elapsed_millis() + ctx.instant_event(id = "id2", metadata = {"duration": end}) + +my_script = bxl_main( + impl = _impl, + cli_args = {}, +) +``` + +**Measuring time for actions and ensuring artifacts** + +You cannot use `now()` to measure the time it takes to run actions and ensure +artifacts because these processes occur asynchronously outside of the BXL script +execution. For BXL user telemetry, we emit action events via the buck2 core +automatically. Events around ensuring the artifacts are not emitted currently, +but will be added soon. + +### User event log + +To write to your own event log when running BXL, you can run your BXL command +with the `--user-event-log` flag to tell buck2 where to write the events to. +Buck2 is aware of the following file extensions: `.json-lines`, +`json-lines.zst`, `.json-lines.gz`, and will compress the files automatically +for you depending on the extension. If the extension is not one of these, the +logs will always be written in JSONL format, uncompressed. + +Example: + +``` +buck2 bxl path//to/my_script/script.bxl:my_script --user-event-log my_file.json-lines.gz +``` + +When using this flag to write to a custom event log, it is up to you to clean up +these log files. In addition, if the same filename is used with subsequent BXL +invocations, events are always appended to the existing file contents, which is +the same behavior as `buck2 --event-log `. If you tell buck2 +to write to a compressed file, you are responsible for decompressing them. + +### Getting a user event log from a normal event log + +`buck2 log show-user` can be used to convert a normal event log (regardless of +encoding/compression) to a user event. Similar to `buck2 log show`, you can +choose the most recent invocation, or the nth invocation, or provide a path to +the normal user event log. Note that user event logs are not able to be passed +into `buck2 log show` or `buck2 log show-user`. + +### Event log output + +The first line of your event log will always be the invocation record, which +contains useful things like command line args used, working directory, etc. The +subsequent lines are either instant events and/or action events, depending on +your BXL script's contents. + +**Instant event** + +Sample: + +```python +{ + "StarlarkUserEvent": { + "id": "foo", + "metadata": { + "bool_value": true, + "string_value": "str", + "int_value": 123, + "list_value": [ + "a", + "b", + "c" + ], + "dict_value": { + "foo": "bar" + } + }, + }, + "epoch_millis": 123456789 # when the event was emitted +} +``` + +**Action event** + +```python +{ + "ActionExecutionEvent": { + "kind": "Write", # kind of action, like write or run + "name": { # name of the action, for user display. Unique within the execution of a particular target + "category": "write", # category for the action + "identifier": "my_output" # identifier for the action + }, + "duration_millis": 0, # duration of the action in millis, excluding input materialization time + "output_size": 10, # size in bytes of the action's outputs + "input_materialization_duration_millis": 0, # how long it took to materialize any inputs to the action + "execution_kind": "Simple", # how the action was executed + "owner": "cell//path/to/script.bxl:function_name" # owner of the action execution (target label, anon target label, bxl label) + }, + "epoch_millis": 123456789 # when the event was emitted +} +``` + +`execution_kind` includes: + +- Local: action was executed locally +- Remote: action was executed via a remote executor +- ActionCache: action was served by the action cache and not executed +- Simple: action is simple and executed inline within buck2 (ex: write, + symlink_dir) +- Skipped: action was not executed at all +- Deferred: action logically executed, but didn't do all the work +- LocalDepFile: action was served by the local dep file cache and not executed. +- LocalWorker: action was executed via a local worker +- NotSet: action execution kind was not set + +**Ensure artifact event** + +```python +{ + "BxlEnsureArtifactsEvent": { + "duration_millis": 0, # duration of ensuring the artifact + }, + "epoch_millis": 123456789 # when the event was emitted +} +``` diff --git a/_src/developers/options.md b/_src/developers/options.md new file mode 100644 index 0000000000000..e8eada0f95efb --- /dev/null +++ b/_src/developers/options.md @@ -0,0 +1,10 @@ +# Buck 2 specific options + +Buck 2 introduces some options that don't exist in v1 and are accessed in the +root cell: + +- `project.watchman_merge_base`: defines the merge base to use for SCM-aware + queries to Watchman. This is read when the daemon starts and cannot be changed + later without a restart. +- `test.v2_test_executor`: defines the program to invoke as the test executor in + `buck test`. This is read every time a test command executes. diff --git a/_src/developers/request_for_comments.md b/_src/developers/request_for_comments.md new file mode 100644 index 0000000000000..e707bfb292c16 --- /dev/null +++ b/_src/developers/request_for_comments.md @@ -0,0 +1,24 @@ +--- +id: request_for_comments +title: Request for Comments +--- + +Following are Request for Comments (RFCs) at specific stages of the lifecycle. + +### Drafts + +- [@configuration syntax](rfcs/drafts/configuration-at-syntax.md) +- [bxl actions and Build API](rfcs/drafts/bxl-actions.md) +- [Digest Kinds](rfcs/drafts/digest-kinds.md) +- [labels -> metadata attribute](rfcs/attr-metadata.md) + +### Accepted + +- [configured_alias](rfcs/configured-alias.md) +- [Buck Extension Language (BXL)](rfcs/bxl.md) +- [Bxl Support for performing analysis on targets](rfcs/bxl-analysis.md) +- [Package-local values](rfcs/package-local-values.md) + +### Implemented + +- [ProviderCollection[]](rfcs/implemented/provider-collection-at.md) diff --git a/_src/developers/starlark/spec.md b/_src/developers/starlark/spec.md new file mode 100644 index 0000000000000..85b72ee9bc968 --- /dev/null +++ b/_src/developers/starlark/spec.md @@ -0,0 +1,4 @@ +# Starlark Language Specification + +The Starlark language spec can be found in the +[Bazel GitHub repository](https://github.com/bazelbuild/starlark/blob/master/spec.md). diff --git a/_src/developers/what-ran.md b/_src/developers/what-ran.md new file mode 100644 index 0000000000000..2d04a2516a8fa --- /dev/null +++ b/_src/developers/what-ran.md @@ -0,0 +1,87 @@ +--- +id: what-ran +title: Finding Commands That Buck2 Ran +--- + +Buck2 logs all the commands it runs. So, after you've run a build, you can query +Buck2 to get access to the exact command it used. + +To do so, do your build as normal, then run `buck2 log what-ran`. + +## What Ran output format + +This will output a table showing all the commands that were executed, and how +they were executed. + +The structure is as follows: + +```sh +REASON TARGET IDENTIFIER EXECUTOR REPRODUCER +``` + +Which should be used as follows: + +- REASON - value is either `build` (for building a thing) or `test` (for running + a test). +- TARGET - the name of the build target that declared an action. +- IDENTIFIER - depends on the target but will usually be something like a file + name or a module. +- EXECUTOR - value is either `cache`, `re` or `local`. +- REPRODUCER - how you can re-run this yourself. + +## Using the What Ran output + +Use What Ran as follows: + +- Start by identifying the command you're looking for: + - You can grep the output for a given target. + - You can then grep by identifier if necessary. For example, if you're after + C++ compilation, try grepping for the basename of your file (for example, + for `fbcode/my/stuff.cpp`, grep for `stuff.cpp`). +- Once you found it, reproduce as follows: + - If the executor was `local`, the command is in the output, so just run it. + It's expected that you'll do this from the root of your project (use + `buck2 root --kind project` to find where that is). + - If the executor was `re` or `cache`, you're provided a RE digest of the form + `HASH:SIZE`. Run `frecli cas download-action HASH:SIZE` to retrieve the + action, then follow the instructions to run it. + +## Examples + +The following ran locally: + +```bash +build fbcode//scripts/torozco/getenv:getenv-san-conf-__generated-lib__ (archive_thin libgetenv-san-conf-__generated-lib__.pic.a) local fbcode/third-party-buck/platform010/build/llvm-fb/bin/llvm-ar qcsTD buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/libgetenv-san-conf-__generated-lib__.pic.a buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/__objects__/san-conf.c.pic.o +``` + +To repro, you'd run: + +```bash +fbcode/third-party-buck/platform010/build/llvm-fb/bin/llvm-ar qcsTD buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/libgetenv-san-conf-__generated-lib__.pic.a buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/__objects__/san-conf.c.pic. +``` + +The following ran on RE: + +```bash +build fbcode//common/init:kill (cxx_compile Kill.cpp (pic)) re 97feca9d014155a80ec55fe27e6bb17f9d2f8574:94 +``` + + +To repro, you'd run: + +```bash +frecli cas download-action 97feca9d014155a80ec55fe27e6bb17f9d2f8574:94 +``` + + + +Reproducing this command will depend on the particular RE implementation you use. + + +## Expired Digests + +Note that if the action was a cache hit on RE, you might get an error when +downloading it, indicating that it's not found. If that happens, it's because +the cache entry is there but the inputs have expired. + +If this happens to you, run your build with `--upload-all-actions`. diff --git a/_src/developers/windows_cheat_sheet.md b/_src/developers/windows_cheat_sheet.md new file mode 100644 index 0000000000000..13eca58d8e4c9 --- /dev/null +++ b/_src/developers/windows_cheat_sheet.md @@ -0,0 +1,38 @@ +--- +id: windows_cheat_sheet +title: Windows Cheat Sheet +--- + +This page contains notes and tips to assist you in understanding the different +tools used when migrating Buck2 to Windows. + +## CMD, Powershell, Bash Command Comparison + +| Bash | Powershell | CMD | What does it do | +| ------------------ | ------------------ | ---------------- | -------------------------------- | +| cd | cd | cd | Change the current directory | +| mkdir | mkdir | mkdir / md | Create a directory | +| ls | ls | dir | List contents of a directory | +| export var="value" | $env:var="value" | set var=value | To set environment variables | +| $ENV_VAR | $env:ENV_VAR | %ENV_VAR% | Read environment variable | +| echo "Hello world" | echo "Hello world" | echo Hello world | To print something on the screen | +| rm | rm | del | Delete a file | +| rm -rf | rmdir | rmdir | Delete a directory | +| cat | cat | type | Print file content to console | + +## Symlinks + +In Windows, there are two types of symlinks: file and directory. + +You can find out which type of symlink is being created using: +`dir /AL /S `. + +The command lists all of the symbolic links in the `` directory: + +- `^` is a Directory SymLink +- `^` is a File SymLink + +## Target names + +Escaping the '=' symbol on Windows is quite complicated: make sure none of the +targets being built contain this symbol as it could cause build breakages. diff --git a/_src/index.md b/_src/index.md new file mode 100644 index 0000000000000..de527f9716d81 --- /dev/null +++ b/_src/index.md @@ -0,0 +1,141 @@ +--- +id: index +title: Introduction +--- + +Welcome to Buck2, a large scale, fast, reliable, and extensible build tool +developed and used by Meta. Buck2 supports a variety of languages on many +platforms. + +Buck2's core is written in [Rust](https://www.rust-lang.org/). +[Starlark](https://github.com/bazelbuild/starlark), which is a deterministic, +immutable dialect of Python, is used to extend the Buck2 build system, enabling +Buck2 to be language-agnostic. With Starlark, users can define their own custom +rules. + +Buck2 leverages the Bazel spec of +[Remote Build Execution](https://bazel.build/remote/rbe) as the primary means of +parallelization and caching, which increases the importance of idempotency (no +matter how many times an operation is performed, it yields the same result) and +hermeticity (code is sealed off from the world), giving the right results, +reliably. + +Buck2 multi-language support includes C++, Python, Java, Go, Rust, Erlang, +OCaml, and more. + +The following sub-sections contain a list of links to key points in the Buck2 +Documentation website that explain the advantages of using Buck2 for you and +your team. + +## Buck2 Documentation Website Links + +### For end users + +- [Getting Started](about/getting_started.md) - how to get started with using + Buck2. +- [Benefits](about/benefits/compared_to_buck1.md) - the benefits of using Buck2. + + + +- [Migration Guide](users/migration_guide.fb.md) - how to port projects from + Buck to Buck2, including the issues you might face and notable differences. +- [Buck2 and Build Observability](users/build_observability/observability.fb.md) - + how to use Buck2's datasets to analyze specific invocations or classes of + invocations. +- [Migrating builds to work VPNless](users/advanced/vpnless.fb.md) - how to + migrate builds to work without VPN or lighthouse access. + + + +### For people writing rules + +- [Writing Rules](rule_authors/writing_rules.md) - how to write rules to support + new languages. +- [Build APIs](api/build/globals) - documentation for the APIs available when + writing rules. +- [Starlark Types](https://github.com/facebook/starlark-rust/blob/main/docs/types.md) - + rules are written in Starlark (which is approximately Python), but our version + adds types. + + + +- [Rule Writing Tips](rule_authors/rule_writing_tips.fb.md) - tips for migrating + rules from Buck1 to Buck2. + + + +### For people integrating with Buck2 + +- [Extending Buck via BXL](developers/bxl.md) - powerful Starlark scripts for + introspection of Buck2's graphs. +- [Buck2 change detector](https://github.com/facebookincubator/buck2-change-detector) - + tools for building a CI that only builds/tests what has changed in diff/PR. +- [Buck2 GitHub actions installer](https://github.com/dtolnay/install-buck2) - + script to make GitHub CI with Buck2 easier. +- [Reindeer](https://github.com/facebookincubator/reindeer) - a set of tools for + importing Rust crates from crates.io, git repos etc and generating a BUCK file + for using them. +- [ocaml-scripts](https://github.com/facebook/ocaml-scripts) - scripts to + generate a BUCK file enabling the use of OCaml packages from an OPAM switch. +- [Buckle](https://github.com/benbrittain/buckle) - a launcher for Buck2 on a + per-project basis. Enables a project or team to do seamless upgrades of their + build system tooling. + +### External articles about Buck2 + +- [Introducing Buck2](https://engineering.fb.com/2023/04/06/open-source/buck2-open-source-large-scale-build-system/) - + our initial introduction when we open sourced Buck2. +- [Reddit AMA](https://old.reddit.com/r/rust/comments/136qs44/hello_rrust_we_are_meta_engineers_who_created_the/) + where the Buck2 team answered a number of questions. +- [Using buck to build Rust projects](https://steveklabnik.com/writing/using-buck-to-build-rust-projects) - + working through an initial small Rust project, by + [Steve Klabnik](https://steveklabnik.com/). Followed up by + [building from crates.io](https://steveklabnik.com/writing/using-cratesio-with-buck) + and [updating Buck2](https://steveklabnik.com/writing/updating-buck). +- [Awesome Buck2](https://github.com/sluongng/awesome-buck2) is a collection of + resources about Buck2. +- [Buck2 Unboxing](https://www.buildbuddy.io/blog/buck2-review/) is a general + review of Buck2 by [Son Luong Ngoc](https://github.com/sluongng/). +- [A tour around Buck2](https://www.tweag.io/blog/2023-07-06-buck2/) gives an + overview of Buck2 and how it differs from Bazel. + +### External videos about Buck2 + +- [Accelerating builds with Buck2](https://www.youtube.com/watch?v=oMIzKVxUNAE) + Neil talks about why Buck2 is fast. +- [Buck2: optimizations & dynamic dependencies](https://www.youtube.com/watch?v=EQfVu42KwDs) + Neil and Chris talk about why Buck2 is fast and some of the advanced + dependency features. +- [Building Erlang with Buck2](https://www.youtube.com/watch?v=4ALgsBqNBhQ) + Andreas talks about building WhatsApp with Buck2. +- [antlir2: Deterministic image bulids with Buck2](https://www.youtube.com/watch?v=Wv-ilbckSx4) + talks about layering a packaging system over Buck2. + +### External projects using Buck2 + +- [System Initiative](https://www.systeminit.com/) build their DevOps product + [using Buck2](https://nickgerace.dev/post/system-initiative-the-second-wave-of-devops/#under-the-hood), + with their own custom prelude. +- [Rust `cxx` library](https://github.com/dtolnay/cxx) has examples and tests + with a wide variety of build systems, including Buck2. +- [`ocamlrep` library](https://github.com/facebook/ocamlrep) allows for interop + between OCaml and Rust code, and can be + [built with Buck2](https://github.com/facebook/ocamlrep/blob/main/README-BUCK.md). +- [`buck2-nix`](https://github.com/thoughtpolice/buck2-nix) is an experiment to + integrate Buck2, [Sapling](https://sapling-scm.com) and + [Nix](https://nixos.org) together in a harmonious way. + +Feel free to +[send a PR](https://github.com/facebook/buck2/edit/main/docs/index.md) adding +your project. + + + +### For people developing Buck2 + +- [Basic README](https://www.internalfb.com/code/fbsource/fbcode/buck2/README.md) - + how to get started, compile Buck2 and the basic workflows. +- [Notes for Developers](developers/developers.fb.md) - more advanced workflows + and notes around debugging, profiling etc. + + diff --git a/_src/rfcs/attr-metadata.md b/_src/rfcs/attr-metadata.md new file mode 100644 index 0000000000000..3f471ef6fc088 --- /dev/null +++ b/_src/rfcs/attr-metadata.md @@ -0,0 +1,51 @@ +# RFC: labels -> metadata attribute + +This RFC proposes to add new builtin per target attribute: `metadata`, as +replacement for `labels`. + +## Context: labels + +In buck1 we have `labels` builtin rule attribute, which is a list of strings. + +In buck2 we have `labels` attribute which is configured in prelude, it does not +have special meaning. + +## Context: package values + +`PACKAGE` files have a function: `write_package_value(key, value)`, where a key +is a word-dot-word string, and value is arbitrary starlark value which should be +serializable as JSON. + +## Context: metadata we use or we need + +There are several spaces where we use or need metadata to be stored in buck2 +target graph. + +- fbcode uses per-package values to switch code to new clang + ([example](https://www.internalfb.com/code/fbsource/[ef740e6f2610c64621f7547a3b46d54d32af8600]/fbcode/ownership/code_metadata/PACKAGE?lines=3)) +- testinfra wants to use `PACKAGE` values to mark a set of folders to a logical + larger project +- it is likely that per-target `metadata` attribute should be used in + [configuration factory function](cfg-modifiers/api.md). +- TD wants to declare CI trigger jobs per-target or per-package, and this logic + is to be specified in `BUCK` or `PACKAGE` files — as metadata + +## Proposal: metadata attribute + +Add builtin `metadata` attribute to all the targets. + +`metadata` has the same structure as package values: word-dot-word to arbitrary +value serializable to JSON. + +For example: + +```python +cxx_library( + name = "mylib", + metadata = { + "td.run_on_windows": True, + }, +) +``` + +Metadata attribute is not configurable (means `select` cannot be used). diff --git a/_src/rfcs/audit_visibility.md b/_src/rfcs/audit_visibility.md new file mode 100644 index 0000000000000..deeaf033e0f29 --- /dev/null +++ b/_src/rfcs/audit_visibility.md @@ -0,0 +1,89 @@ +# `buck2 audit visibility` command + +## Context + +Buck has a concept of Visibility for every target. It allows users to define, +for each target, the targets it can depend on and targets that can depend on it. +Visibility is specified as an allowlist of targets/target patterns, and any +target used that falls outside of the allowlist fails visibility checking. +Visibility pattern can be specified on `visibility` and `within_view` attributes +in buildfiles and +[PACKAGE files](https://www.internalfb.com/intern/wiki/Buck-users/Key_Concepts/Package_Files/). + +Visibility is important to lots of codebase maintainers because it can be used +to keep projects from pulling in unwanted dependencies. As some examples, App +Core teams are using Buck visibility as a +[replacement to current supermodules for protecting app modularity](https://fb.prod.workplace.com/groups/2292177024436518/permalink/3112235492430663/). +Instagram's using visibility to +[protect modularity and define Link Groups used for build speed optimizations](https://fb.prod.workplace.com/groups/devx.build.bffs/posts/5169450219756775/?comment_id=5169500636418400). +There's interest from various DevX teams in using Buck visibility on +[PACKAGE files](https://www.internalfb.com/intern/wiki/Buck-users/Key_Concepts/Package_Files/) +to +[enforce repo boundaries, which will allow target determinators to migrate off of sparse profiles and onto Eden](https://fb.prod.workplace.com/groups/devx.build.bffs/posts/5169450219756775/), +although visibility in its current form is likely not fit for enforcing such +repo boundaries. Visibility has also been used to enforce +[requirements that only certain targets are allowed to depend on targets in fbcode/scripts](https://fb.workplace.com/groups/buckeng/permalink/4392940254087889/). + +For perf reasons, buck2 doesn't always enforce visibility. Instead, it only +enforces visibility on construction of the configured target graph. Visibility +checking is expensive memory-wise because it requires tracking all deps at each +node. When constructing configured target graph, this cost is already paid for +when buck2 checks transitive target compatibility. When constructing the +unconfigured target graph, however, this is costly, so we avoid checking +visibility there. (Note that buck does not allow you to specify selects in +visibility attributes.) + +In practice, this means that commands like `cquery` and `build` can enforce +visibility whereas commands like `uquery` and `targets` cannot. Having +visibility checked only on the configured target graph is problematic for 2 +reasons: + +1. Visibility is only checked on configured deps after selects are resolved, so + it's possible for a target to pass visibility checking in one configuration + but fail visibility checking in another. For example, a target may pass + visibility checking on a linux configuration but fail visibility checking on + mac configuration if it has a bad mac-only dependency. This makes visibility + enforcement more difficult because now you have to query the same graph in + both linux and mac configuration before you know that visibility is always + valid. + +2. Uquery (querying the unconfigured target graph) has better performance than + cquery (querying the configured target graph). Big-O wise, uquery scales with + O(# of targets) whereas cquery scales with O((# number of configurations) x + (# of targets)). Having a way to check visibility on unconfigured target + graph can be much cheaper than doing so on configured target graph. + +## Proposed Solution: `audit visibility` command + +It's clear that we need a way to check visibility on the unconfigured target +graph, but we don't want `buck2 uquery` and `buck2 targets` to regress in memory +use. To get the best of both worlds, I propose adding a separate command to +buck2, `buck2 audit visibility`, that will check visibility on the unconfigured +target graph. Instead of checking on construction of the unconfigured target +graph, this command will check after construction, which will avoid any memory +regression. The tradeoff is that the visibility checking won't be cached, and +rerunning `audit visibility` will rerun visibility checking on each invocation. + +## Usage and Invocation + +`buck2 audit visibility` command will take in a list of target patterns as well +as common build args like config flags and mode files as args. It will construct +the unconfigured target graph based on the **transitive deps** of those targets +and check that this graph has valid visibility. Checking transitive deps matches +the behavior of visibility checking on cquery, but we may revisit this decision +in the future if there is a need for just verifying the immediate dependencies. + +For example, an invocation to check visibility on the transitive closure of +fbobjc can be + +```shell +buck2 audit visibility fbsource//fbobjc/... +``` + +It cannot be used to check that a target has a valid visibility with respect to +targets outside of the transitive closure of its deps. For example, +`buck2 audit visibility fbcode//buck2/starlark-rust/starlark:starlark` will just +check that all transitive deps of `starlark` target (including `starlark` +target) have valid visibility with respect to each other. It will not check that +any targets that depend on `starlark` respect `starlark` target's visibility +attribute. diff --git a/_src/rfcs/bxl-analysis.md b/_src/rfcs/bxl-analysis.md new file mode 100644 index 0000000000000..66f989b3631e2 --- /dev/null +++ b/_src/rfcs/bxl-analysis.md @@ -0,0 +1,76 @@ +# Bxl support for performing analysis on targets + +## Intro + +As Bob and I continue to build out `bxl` we want users to be able to inspect the +providers and actions for a given target label. In order to support this, we +need to be able to provide access to `AnalysisResult` via `starlark`, obtained +via a call to `RuleAnalysisCalculation::get_analysis_result`. + +## How to implement it? + +Our three principle options are as follows: + +1. `BxlContext::analyze(targetlabel: ConfiguredTargetLabelLike)`, where + `ConfiguredTargetLabelLike` accepts `ConfiguredTargetLabel`, + `ConfiguredTargetNode`, or sets and lists of these things + acceptable + strings. + +In this scenario, we attach the analysis method onto the bxl context itself, and +require that users pass in the target label-ish thing when they want to +construct an analysis result. It's a little awkward in some ways because the +analysis is more naturally a method on the argument being passed in and the +`BxlContext` is a context that is needed to perform the calculation. On the +other hand, this allows us to construct a type analogous to `TargetExpr` which +can parse from a wide variety of different `ConfiguredTarget` like things +(strings, nodes, labels, sets, ...). It also is a bit nice from an +implementational standpoint since we don't have to pass the context around +everywhere. This isn't a huge pro though, since we can stick it in the global +eval field. + +```python +result = bxl.analyze(bxl.cquery.deps("foo")) +``` + +2. `ConfiguredTargetLabel::analyze()`, `ConfiguredTargetNode::analyze()`, ... + where we carry around the `BxlContext` in the `eval` global field and + implement analysis on each type that is target label like. + +The pro of this one is that it's quite natural - you can take a +`ConfiguredStarlarkTargetLabel` and then just ... call `analyze()` on it like +you might expect to. The two downsides are that we have to propagate the context +around behind the scenes, and we'll have to provide an implementation of +`analyze` on everything that we'd like to have be able to be `analyzable`. + +```python +result = "root//bin:the_binary".analyze() +# but we don't support +"root//bin:the_binary".rdeps() + + +# instead this looks nice +nodes = ctx.cquery.deps("foo") +for n in nodes: + # since we can now do + nodes.label + nodes.attrs.field + + # similarly access analysis + nodes.analysis +``` + +3. `BxlContext::analysis(): AnalysisContext` where `AnalysisContext` exposes + `AnalysisContext::analyze(targetlabel: ConfiguredTargetLabelLike)`. + +There's not really any pros of this approach except that it's similar to the +flow for `cquery` where we return a `cqueryctx` object to call `cquery` methods +through. + +```python +result = ctx.analysis().analyze("//lib:file1") +``` + +We can also restrict the API to require that users go through `cquery` to obtain +a `ConfiguredTargetNode` prior to calling `analysis`, although we don't _have +to_. I say that we don't have to because the `get_analysis_result` method +mentioned above is configured to accept a label anyway. diff --git a/_src/rfcs/bxl.md b/_src/rfcs/bxl.md new file mode 100644 index 0000000000000..fef54a08c4925 --- /dev/null +++ b/_src/rfcs/bxl.md @@ -0,0 +1,276 @@ +# Buck Extension Language (BXL) + +Buck2 will allow more complex introspection and interaction with its graphs via +the `bxl` feature. BXL will be a starlark script that allows integrators to +interact with `buck` commands like build and query within starlark, creating a +sequence of operations that introspect, build, and extend the build graph. + + + +https://fb.workplace.com/groups/buck2prototyping/permalink/2404233936540759/. + + + +These are essentially custom buck operations, defined in Starlark, that still +follow the constraints of Buck2, which will enable the same level of +incrementality and caching as native buck2 operations. Furthermore, bxl will +have subscriptions enabled in the future, where based on the incrementality +tracking, buck2 can provide "updated" bxl executions when its known that its +dependencies change, and even when generated sources need to be regenerated. + +The following proposes a basic set of bxl api and building blocks that are +targeted at solving key issues for IDE integration. + +## Use Cases + +### Cpp LSP + + + +I’ve previously defined some proposed integrations +[here](https://docs.google.com/document/d/1jyehtuQ236rtwq2yyLnLmsIgBOctuAm9eoqx95TCO4I/edit). + + + +Lsp prefers to have a single buck command that given a file, returns the +corresponding compilation database. This requires a single command, i.e a bxl, +that accepts a file as input, performs `owners` queries, and uses the owning +target plus the desired file to get the clang flags, and then writes it to disk +in comp db format. It’s possible to write the same features using buck calls to +cquery, and build using subtargets to generate compilation database per file. +However, this requires lsp owners to maintain code in several locations and +languages, and parse and reserialize data. It also does not provide the same +incrementality and subscription update features of the resulting comp db that +writing this in bxl would have. Furthermore, we may explore the idea of trimming +the compilation command to only dependencies required per the file requested. +Bxl actions provides a straightforward api for adding this when writing the +actual comp db file. + +### Android LSP + +Android project requires traversing the target graph to find and java libraries, +grouping and converting them between modules or project libraries depending on +the number of references, and restructuring the graph as directory based. +Android LSP is able to take advantage of subscriptions in the future when +available, allowing developers to keep their IDE up-to-date automatically +without needing to manually regenerate the project. + +With bxl, the graph traversals can be written in starlark, allowing propagation +of information down the graph, accessing targets’ attributes to analyze +dependencies, and access providers for artifacts and action information needed +to output the project file. Project generation also performs directory listings +that buck2’s dice already performs and caches (I think, need to confirm). Bxl +poses the interesting possibility that we can expose a limited set of IO +operations that are tracked by dice so bxl can access the same cached file +operations as rest of buck2. Android project generation currently doesn’t write +project files to buck-out, which prevents it from using buck2 actions. It will +have to rely on an external script to process the graph information printed by +buck and write the actual project files. If it moves to `buck-out` based, then +it can take advantage of creating actions directly using the graph information +processed, and potentially take advantage of incremental actions api to avoid +writing the entire graph on each subsequent update. + +### iOS Project + +iOS is currently being implemented as a series of queries that are aggregated by +an external python script, that then invokes builds of subtargets. The same can +be achieved in bxl, but with the entire sequence being cacheable and +subscribable so that when the graph is updated, or even when generated files +need updating, buck2 can automatically push the updates. However, it is +uncertain whether xcode itself can make use of push updates. + + + +In +https://docs.google.com/document/d/1USZ_ZYxq45DHUFF-BAYo6zS4lAHlpvNk9uM5SBL9e-w/edit?disco=AAAAQv4gLQ0, +it was also proposed that project generation may need information to flow down +as part of the generation, which is only possible via bxl defining its own +actions. (Although, there may have been a workaround per Chatura). + + + +### Rust LSP + +(note from dbarsky@: I’m adding this at Bob’s request. Can be removed as +needed.) + +### Visual Studio Project (vsgo) + +Vsgo is a pile of python that converts buck query/buck targets output via a +variety of heuristics into inputs to a custom fork gyp which is then invoked to +generate visual studio projects for a given buck target. Having direct access to +the internals of buck would allow us to remove the heuristics and possibly even +move project generation directly into bxl. + +## Goals + +From the above use cases, BXL should offer a simple Starlark API that allows +easy introspection of the buck2 graph at unconfigured, configured, providers, +and actions stage, maintaining incremental behaviour of the BXL evaluation +itself. + +Some minimal API should be offered to allow BXL to provide additional behaviour +such as output artifacts, and print results. + +Most use cases from LSP desire to also propagate information via the command +line for these operations, so BXL should support command line arguments as +inputs. + +## API + +### Defining a bxl function + +There are multiple models possible. We can have each file be its own bxl, or +have each file declare multiple bxl like rules. + +There are multiple advantages to allowing declaration of multiple bxls, such as +grouping similar bxls in the same file, allowing them to "invoke" each other. It +doesn’t necessarily add much more complexity for the author, as even with one +bxl per file, the author still has to have some declaration for the bxls +arguments. + +```python +# sample.bxl +func1 = bxl_main( + impl = my_func1, + args = { + "arg1": arg.list(arg.str()), + } +) + +func2 = bxl_main( + ... +) + +``` + +To invoke buck2 for that bxl, we can have the command line as follows. + +```shell +buck2 bxl sample.bxl::func1 -- --arg1 foo bar baz +``` + +For bxl functions to read the arguments, a similar api to rule attrs is used + +```python +args = ctx.args.args_for_bxl +``` + +Args defined like attrs when declaring the bxl function above + +### Accessing target nodes + +All standard query functions will be enabled in bxl, allowing users to run query +operations, storing them in variables and interacting with them. These allow +introspection of the unconfigured targets, or the configured targets based on +api + +```python +# some.bxl +targets = ctx.uquery(‘deps("//foo")’) +targets = filter(targets, my_filter) + +# introspect a target +for target in targets: + ctx.print(target.attributes) # prints selects + # also inspect the target like below + ctx.print(target.label) + +target = ctx.cquery("//foo", "//x86").attributes # cquery has selects resolved +``` + +### Inspect providers + +When we have a configured target, bxl can request for the analysis of the rule + +```python +target = + +ctx.analysis(target).providers # access the providers +``` + +### Actions + +For IDEs, to generate compilation databases, or generate project files, writing +them in bxl will entail creating actions, and executing them. As such, bxl will +also be given the rules api to register actions, including dynamic outputs for +the rule in the current bxl invocation to build artifacts as part of a bxl +function. + +BXL has the ability to create actions with some constraints: + +1. Action is tied to a particular target +2. It’s output location is determined in the same pattern as regular actions + defined via rules + +```python +targets = ctx.cquery(‘deps("//foo:rule")’) + +for t in targets: + action_ctx = ctx.analysis(t).actions + # the action context here is tied to the configured target `t` + # actions registered by bxl will be attached with bxl prefix key + action_ctx.registry.write(some_output, "foo") + +``` + +BXL can also interact with the existing actions on an action via the action_ctx, +such as iterating through it, analyzing its outputs, or requesting it to be ran. + +```python +targets = deps("foo:rule") + +for t in targets: + action_ctx = ctx.analysis(t).actions + for action in action_ctx.iter(): + if "foo/path" in action.output: + ctx.build(action) +``` + +### What is cached? + +All computations requested by a bxl function will be treated as inputs. So if a +bxl function calls uquery, then uses the result to do a cquery, and then a +build, if buck2 detects that any of the recorded calls to uquery, cquery, and +build changes, the entire bxl will be reran, with no early cutoff. The +computations itself will still be cached via DICE, so no major performance +issues are expected. However, in the event that a bxl function is +computationally heavy, the recommendation would be to move that to an action, or +split up the bxl and use inter-bxl caching described below. + +### Inter-bxl caching? + +Different bxl can be cacheable between each other if structured as +"outputs"/artifacts. This is essentially the same behaviour as a bxl requesting +`ctx.build`, which is cached. Since we have those as hashes on RE, we can track +properly and not require storing the values in dice. + +i.e. + +```python +# caching_sample.bxl +func1 = bxl_main( + impl = my_func1, + args = { + "arg1": arg.list(arg.str()), + } +) + +my_func1(ctx): + … + # do various stuff that might change a lot, but the final result + # doesn’t change much + ctx.return(some_artifact) + +func2 = bxl_main( + impl = my_func2, + ... +) + +my_func2(ctx): + artifact = ctx.bxl(":func1") + # now read artifact value + # everything below will only be reran if the artifact content changes + … + # do some expensive stuff +``` diff --git a/_src/rfcs/cfg-modifiers/api.md b/_src/rfcs/cfg-modifiers/api.md new file mode 100644 index 0000000000000..6a2abe4e1fa50 --- /dev/null +++ b/_src/rfcs/cfg-modifiers/api.md @@ -0,0 +1,468 @@ +# [RFC] Configuration Modifiers + +## Why do we need new configuration setup? + +A target usually needs to be built in multiple build settings. For example, +there may be different OS (ex. linux, mac, windows), architectures (ex. x86, +arm), and sanitizers (ex. asan, tsan, ubsan) to use for a single target. Buck +has 2 main ways of supporting customizations today: + +1. Buckconfigs specified through `--config` or `-c` flags. They are global flags + and are often aggregated in modefiles (`@` on the command line). +2. Target platforms specified through `default_target_platform` attribute or + `--target-platforms` flag), which become a target's "configuration". + `--target-platforms` flags are also commonly specified via modefiles. + +These methods are problematic for the following reasons. + +1. _We have too many modefiles_. A project that needs customizations often ends + up adding its own set of modefiles, causing a continued rise in number of + custom modefiles in the repo. Internally, the number of modefiles in our + monorepo is currently on the order of **10,000s**. + +1. _Changing buckconfigs invalidates Buck's state_. Changing buckconfigs or + modefiles of buckconfigs invalidates global state, which adds non-trivial + Buck overhead on every incremental build that changes state. This does not + affect target platforms. + +1. _Different modefiles of buckconfigs cannot be used in same build_. Users that + need to run multi-configuration builds today often work around this by + writing scripts that wraps multiple buck build invocations of different + modes. This is slow because Buck state keeps getting repeatedly invalidated. + There is also no way to build a target in different modes (ex. dev and opt) + at the same time, so users that need to do this always have to do this + sequentially. This does not affect target platforms. + +1. _Target platform generation is exponential in number of build settings_. + Suppose I want to customize targets based on 3 OSes, 2 architectures, and 3 + compilers. With target platforms, I need to first generate all 18 + permutations of these settings as platform targets before using them. This is + not scalable. + +1. _Target platform does not compose well on command line_. Suppose I want to + use ASAN on top of some existing platform. It's not possible to say specify + ASAN on top of an existing platform on the command line. Instead, I must + create a new platform target with ASAN added to the existing platform before + I can use it. + +1. _Poor user Experience_. When every project needs its own set of modes, it's + onerous for users to track what modes are needed to build what targets. Users + often don't realize when they are using the wrong or unnecessary command line + flags. + +1. _Poor tooling integration_. Similar to user, it's just onerous for tooling to + keep track of what modes are needed to build a target with. Buckconfigs are + also bad for performance for tools like language servers because it's + impossible to request the builds of two modes in parallel when two targets + needs different modes. + +1. _Antithetical to Buck's principles_. Buck's main strength is the ability to + abstract away builds of different languages and libraries under one common + syntax for the user. The need for project-custom flags goes against this + principle. + +The Modifier API introduces a unified way to specify build settings on a +project, target, and command line level. Like target platforms, it constructs +Buck configurations so it supports multi-configuration builds. It avoids +modefile proliferation by allowing users to easily set project-specific build +settings like compiler and toolchain versions in the repo rather than on the +command line. It avoids scalability problems of platform generation by being +composition-first. The goals of this project is to: + +1. _Make `buck build` work on any platform without the use of special flags_. + Today, building a mac target on mac often requires a mac mode, and likewise + for windows. Instead, `buck build` should always work out of the box on any + platform so that there's no need to specify mac mode on macs or windows mode + on windows. +1. _Define a small constrained set of common modifiers that can be used to build + any target in the repo_. This will include common options like mode (ex. dev, + opt, release), OS (ex. linux, mac, iphoneos), and architecture (ex. x86, + arm). +1. _Unblock cross-building for the majority of targets_. `host_info()` is a hack + to obtain information about the host machine that is the main blocker to + Buck2 cross-building (ex. building a mac or windows target from linux) + working everywhere. As an extension of "making `buck build` work on any + platform", modifiers should make it possible to kill off most use cases of + `host_info` in the repo. +1. _Simplify building build tooling_. Because `buck build` works out of the box, + tools like language servers can build targets they need without using + project-specific modefiles or flags. +1. _Delete most modefiles from the repo_. +1. _Deprecate target platforms for modifiers as the sole way of configuring + top-level targets in Buck_. + +## Configuration Background + +_Feel free to skip this if you already understand Buck configurations._ + +A configuration is a collection of `constraint_value` targets (commonly referred +to as constraints). It defines the build settings used by a target. A constraint +value is keyed by a `constraint_setting`, so there can only be one +`constraint_value` of a `constraint_setting` in a configuration. + +For example, suppose `cfg//os:_` is a constraint setting with constraint values +`cfg//os:linux`, `cfg//os:macos`, and `cfg//os:windows`. Then a configuration +may contain either `cfg//os:linux`, `cfg//os:macos`, or `cfg//os:windows` to +indicate which OS a target is built for. + +A constraint or a set of constraints can be selected on via `select()` to +customize a target's behavior. For example, the following adds a linux only dep +to a target. + +```python +deps = select({ + "cfg//os:linux": [":linux_only_dep"], + "DEFAULT": [], +}) +``` + +Before building a target on the command line (known as the top-level target), +Buck needs to know its configuration in order to resolve selects. Modifiers are +a new way to resolve a target's configuration for every top-level target. + +## API + +Every top-level target starts with an empty configuration, and Buck will apply a +list of "modifiers" to obtain a configuration. A modifier is a modification of a +constraint from the existing configuration to obtain a new configuration. There +are two types of modifiers, _conditional_ and _unconditional_ modifiers. + +An unconditional modifier is just a constraint value. Applying an unconditional +modifier will insert the associated constraint value into the configuration for +its respective constraint setting, replacing any existing constraint value for +that setting. For example, specifying `cfg//os:linux` as a modifier will insert +`cfg//os:linux` into the configuration, overriding any existing constraint value +for the `cfg//os:_` constraint setting. + +A conditional modifier is a modifier that only applies when a certain condition +is satisfied. This lets one express powerful composition based on other +criteria. `modifiers.match()` is a conditional modifier that changes the +constraint value inserted based on the existing configuration. For example, a +modifier like + +```python +modifiers.match({ + "cfg//os:windows": "cfg//compiler:msvc", + "DEFAULT": "cfg//compiler:clang", +}) +``` + +will insert msvc constraint into the configuration if OS is windows or clang +constraint otherwise. A `modifiers.match()` behaves similarly to Buck's +`select()` but can only be used in a modifier context. A `modifiers.match()` can +only be used to modify a single constraint setting, so the following example is +not valid. + +```python +# This fails because a modifier cannot modify both compiler and OS. +modifiers.match({ + "cfg//os:windows": "cfg//compiler:msvc", + "DEFAULT": "cfg//os:linux", +}) +``` + +A modifier can be specified in a PACKAGE file, on a target, or on the command +line. This provides the flexibility needed to customize targets on a project, +target, or cli level. + +### PACKAGE Modifier + +In a PACKAGE file, modifiers can be specified using the `cfg_modifiers` function +and would apply to all targets covered under that PACKAGE. For example, +modifiers specified in `repo/PACKAGE` would apply to any target under +`repo//...`. Modifiers specified in `repo/foo/PACKAGE` would apply to any target +under `repo//foo/...` (For resolution order, see "Modifier Resolution" section). + +The `cfg_modifiers` function takes as input a dictionary of constraint setting +to modifier for that setting. For example, the following is an example that sets +modifiers for OS and compiler settings in the repo's top PACKAGE file for all +targets in repo. + +```python +# repo/PACKAGE + +set_cfg_modifiers(cfg_modifiers = [ + "cfg//:linux", + modifiers.match({ + "DEFAULT": "cfg//compiler:clang", + "cfg//os:windows": "cfg//compiler:msvc", + }), +]) +``` + +To make constraints easier to type, you can specify aliases for modifier targets +via Buck's target aliases. + +For example, suppose the following aliases exist in `repo/.buckconfig`. + +```ini +[alias] + os = cfg//os:_ + linux = cfg//os:linux + macos = cfg//os:macos + windows = cfg//os:windows + compiler = cfg//compiler:_ + clang = cfg//compiler:clang + msvc = cfg//compiler:msvc +``` + +Then the same PACKAGE modifiers can be specified as follows. + +```python +# repo/PACKAGE + +set_cfg_modifiers(cfg_modifiers = [ + "linux", + modifiers.match({ + "DEFAULT": "clang", + "windows": "msvc", + }), +}) +``` + +### Target Modifier + +On a target, modifiers can be specified on the `metadata` attribute. For +example, the following specifies modifiers for `repo//foo:bar`. + +```python +# repo/foo/BUCK + +python_binary( + name = "bar", + # ... + metadata = {"buck.cfg_modifiers": [ + "cfg//os:windows", + # Target modifiers can also use aliases + "clang", + ]}, +) +``` + +Note one day all targets will probably have their own `cfg_modifiers` attribute. + +### CLI Modifier + +On the command line, modifiers are specified as +`buck2 build ?`. + +For example, `buck2 build repo//foo:bar?cfg//sanitizer:asan` applies asan +modifier on the command line. +`buck2 build repo//foo:bar?cfg//os:linux,cfg//sanitizer:asan` will apply linux +and asan modifiers. Aliases can also be used on command line, so +`buck2 build repo//foo:bar?asan` is valid. + +Command line modifiers cannot be selects, although this may be revisited if +necessary. + +Modifiers can be specified for any target pattern, so +`buck2 build repo//foo/...?asan` and `buck2 build repo//foo:?asan` are also +valid. When specifying a subtarget and modifier with `?`, subtarget should go +before modifier, ex. `buck2 build repo//foo:bar[comp-db]?asan`. + +To specify modifiers to a list of target patterns on the command line, you can +use the `--modifier` or `-m` flag. For example, +`buck2 build repo//foo:bar repo//foo:baz -m release` is equivalent to +`buck2 build repo//foo:bar?release //foo:baz?release`. + +`--modifier` flag can be specified multiple times to add multiple modifier, so +`buck2 build --modifier=linux --modifier=release repo//foo:bar` is equivalent to +`buck2 build repo//foo:bar?linux,release`. + +It is prohibited to specify both `--modifier` flag and `?` in target pattern. +This restriction can be lifted in the future if there is a need. + +When two modifiers of the same constraint setting are specified, then the later +one overrides the earlier one. For example, +`buck2 build repo//foo:bar?dev,release` is equivalent to +`buck2 build repo//foo:bar?release`. + +On command line, a `config_setting` target can be specified as a collection of +modifiers after `--modifier` or `?`. This will be equivalent to specifying each +constraint inside the `config_setting` as a separate modifier. + +**NOTE**: only `--modifier` flag is currently implemented. `-m` is currently +disabled and `?` is not implemented. + +### Modifier Resolution + +Modifiers are resolved in order of constraint setting, and for each constraint +setting, modifiers for that setting are resolved in order of PACKAGE, target, +and command line, with modifier from parent PACKAGE applied before child +PACKAGE. The end of this section will describe how Buck determines the order of +constraint setting to resolve. + +Suppose modifiers for `repo//foo:bar` are specified as follows. + +```python +# repo/PACKAGE + +set_cfg_modifiers(cfg_modifiers = [ + "cfg//:linux", + modifiers.match({ + "DEFAULT": "cfg//compiler:clang", + "cfg//os:windows": "cfg//compiler:msvc", + }), +]) + +# repo/foo/PACKAGE + +set_cfg_modifiers(cfg_modifiers = ["cfg//os:macos"]) + +# repo/foo/BUCK + +python_binary( + name = "bar", + # ... + metadata = {"buck.cfg_modifiers": ["cfg//os:windows"]}, +) +``` + +At the beginning, the configuration will be empty. When resolving modifiers, +Buck will first resolve all modifiers for `cfg//os:_` before resolving all +modifiers for `cfg//compiler:_`. + +For OS, the linux modifier from `repo/PACKAGE` will apply first, followed by +macos modifier from `repo/foo/PACKAGE` and windows modifier from +`repo//foo:bar`'s target modifiers, so `repo//foo:bar` will end up with +`cfg//os:windows` for `cfg//os:_` in its configuration. Next, to resolve +compiler modifier, the `modifiers.match` from `repo/PACKAGE` will resolve to +`cfg//compiler:msvc` since existing configuration is windows and apply that as +the modifier. The target configuration for `repo//foo:bar` ends up with windows +and msvc. + +However, suppose user invokes `repo//foo:bar?linux` on the command line. When +resolving OS modifier, the linux modifier from cli will override any existing OS +constraint and insert linux into the configuraiton. Then, when resolving the +compiler modifier, the `modifiers.match` will resolve to `cfg//compiler:clang`, +giving clang and linux as the final configuration. + +Because command line modifiers will apply at the end, they are also known as +required modifiers. Any modifier specified on the command line will always +override any modifier for the same constraint setting specified in the repo. + +The ordering of constraint setting to resolve modifiers is determined based on +dependency order of constraints specified in the keys of the `modifiers.match` +specified. Because some modifiers match on other constraints, modifiers for +those constraints must be resolved first. In the previous example, because +compiler modifier matches on OS constraints, Buck will resolve all OS modifiers +before resolving compiler modifiers. `modifiers.match` that ends up with a cycle +of matched constraints (ex. compiler modifier matches on sanitizer but sanitizer +modifier also matches on compiler) will be an error. + +### Conditional Modifiers + +Modifiers have 3 types of conditional modifiers that allow for powerful +compositions. Each operator is a function that accepts a dictionary where the +keys are the conditionals and values are modifiers. + +1. `modifiers.match`. Introduced in the previous sections, this is capable of + inserting constraints based on constraints in the existing configuration. + +2. `modifiers.match_rule`. This is capable of selecting based on the rule name + (also known as rule type). The keys are regex patterns to match against the + rule name or "DEFAULT". Partial matches are allowed. + +3. `modifiers.match_host`. This selects based on the host configuration, whereas + `modifiers.match` selects based on the target configuration. This host + configuration is constructed when resolving modifiers. `modifiers.match_host` + is important to making `buck build` work anywhere on any platform. For + example, when the OS to configure is not specified, it's best to assume that + the user wants to target the same OS as the host machine. + +**NOTE**: `match_rule` and `match_host` are currently not implemented. + +An example using `modifiers.match_rule` and `modifiers.match_host` is as +follows. + +```python +# root/PACKAGE + +# We want OS to target the host machine by default. +# Ex. build linux on linux machine, build windows on windows machine, +# and build mac on mac machine. +# However, if the rule is apple or android specific, then we should +# always be building for apple/android as OS, no matter the host +# configuration. + +set_cfg_modifiers(cfg_modifiers = [ + modifiers.match_rule({ + "apple_.*": "cfg//os:iphone", + "android_.*": "cfg//os:android", + "DEFAULT": host_select({ + "cfg//os:linux": "cfg//os:linux", + "cfg//os:macos": "cfg//os:macos", + "cfg//os:windows": "cfg//os:windows", + }), + }), +]) +``` + +On select resolution, Buck's `select` currently requires unambiguous keys in the +dictionary and resolves to the key with the most refined match. The select +operators used in modifiers will diverge from this and implement a "first-match" +behavior, where select resolves to the first condition that evalutes to true in +the dictionary. + +### Legacy Target platform + +Target platform (`--target-platforms` flag or `default_target_platform` +attribute) will be a deprecated way of specifying configuration and will be +killed once all use cases migrate to modifiers. To maintain backwards +compatibility with target platforms during the migration process, modifier +resolution will take into account the target platform specified. This allows for +an easy migration where modifiers can be introduced one at a time without +reaching feature parity of target platform. + +If a target's modifiers resolve to an empty configuration, then Buck will reuse +the target platform as the configuration. If modifiers resolve to a non-empty +configuration, then Buck look for any constraint in the target platform not +covered by a constraint setting from the modifier configuration and add those to +the configuration. For example, suppose in the previous example, the target +platform for `repo// foo:bar` includes `cfg//sanitizer:asan`, then this +constraint will be inserted into the configuration since no modifier covered the +sanitizer constraint setting. + +## Debugging modifiers + +**NOTE**: below is unimplemented. + +Because many layers of modifiers can be applied before obtaining a final +configuration, it is important that modifier resolution is easy to debug and +understand. Here are some ways that modifier resolution can be interpreted. + +1. _`buck2 audit modifiers` command_. There will be a `buck2 audit modifiers` + command to show all PACKAGE, target, and required modifiers for a target. It + can also show configuration changes from modifier resolution process if + requested by the user. + +2. _Starlark print statements or debugger_. Modifier resolution process will be + implemented in Starlark in prelude. This means that any user can use any of + the existing way to debug starlark (ex. print statements, Starlark debugger + in VSCode) to debug the resolution process. + +## How configuration modifiers differ from transitions + +Modifiers are largely inspired by configuration transitions. The difference +between modifier and transition is that a transition can change the +configuration of any target in the graph, but a modifier can only change the +configuration of a top-level target. In other words, if you have target A that +depends on target B and you request a build of A, then A's target configuration +would be resolved via modifiers and propagated down to B, but dep B would not do +its own modifier resolution. When a top-level target goes through a per-rule +transition, that transition is applied after modifiers are resolved. + +Below are some examples that show when to use modifier and when to use +transition. + +1. _Python version_ should be modeled as a transition and not modifier. Suppose + we have `python_binary` A nested as a resource of another `python_binary` B. + A should not inherit the python version from B, so a transition is needed to + change A's python version when depended on by B. +2. _Library target_ should use modifiers and not transitions. A C++ library + target should always inherit the configuration of its parent C++ binary when + it is used as a dep, but a top-level C++ library target can still have its + configuration changed via modifiers when requested from command line. + +In the future, we may add support for modifier transition, which can transition +via modifiers, but that is out of the scope of this RFC. diff --git a/_src/rfcs/configured-alias.md b/_src/rfcs/configured-alias.md new file mode 100644 index 0000000000000..dd5f35179ba00 --- /dev/null +++ b/_src/rfcs/configured-alias.md @@ -0,0 +1,91 @@ +# Buck support to implement `configured_alias` + +## Intro + +Currently, Buck 2 lacks `configured_alias` rule support. + +`configured_alias` is a builtin rule in Buck v1, and it cannot be currently +implemented as user defined rule in Buck v2. + +This RFC proposes Buck core support for `configured_alias`. + +## What is `configured_alias`? + +Syntax is this: + +```python +configured_alias( + name = "foo-but-linux-release", + actual = ":foo", + platform = "config//platforms:linux-release", +) +``` + +When this rule is built, it ignores "current" target configuration, and builds +the "actual" target with the configuration specified as "platform" argument. + +## How to implement it in buck v2? + +### New rule attribute type: `configured_dep` + +Currently, we have several dependency attributes: + +- `attrs.dep` +- `attrs.exec_dep` +- `attrs.transition_dep` +- `attrs.split_transition_dep` + +This RFC proposes adding another attribute: + +- `attrs.configured_dep` + +`configured_dep` is an attribute which accepts a pair of strings: target and +configuration. During analysis, configured attr deps are resolved to providers +resolved using given configuration. + +### `configured_alias_impl` user defined rule + +The rule implementation is trivial: + +```python + +def _configured_alias_impl(ctx): + return ctx.attrs.actual.providers + +configured_alias_impl = rule( + impl = _configured_alias_impl, + attrs = { + "actual": attrs.configured_dep(), + } +) +``` + +### Finally, `configured_alias` macro + +```python +def configured_alias(name, actual, platform): + configured_alias_impl(name, actual = (actual, platform)) +``` + +## Alternatives + +### No `configured_alias` + +Each specific case where `configured_alias` is used, it can be done with +defining custom transition, and using custom transition rule. + +But having `configured_alias` is a convenient stopgap to unblock people. + +### Use `@configuration` syntax from [another RFC](https://www.internalfb.com/diff/D35136639). + +Instead of passing `confiured_target_label(x, y)` pass `x + "@" + y`. + +### Accept `configured_target_label` in `dep` attribute + +`dep` attribute could support all of: + +- regular target label as string +- configured target label (as either `configured_target_label` or `x@y` + +I don't know practical applications for this magic, and unless there are uses +for it, better keep API simple and explicit. diff --git a/_src/rfcs/drafts/bxl-actions.md b/_src/rfcs/drafts/bxl-actions.md new file mode 100644 index 0000000000000..ead5acdadad66 --- /dev/null +++ b/_src/rfcs/drafts/bxl-actions.md @@ -0,0 +1,71 @@ +# Bxl Actions and Build API + +Bxl allows integrators to write Starlark snippets that introspect the buck2 +graph, and perform various operations on them within Starlark to accomplish +complex operations, as previously proposed in [bxl RFC](../bxl.md)) + +This document is intended at discussing the aspects of build and actions +declaration of a bxl function in more details, and proposed changes to deferred +framework to support bxl actions. + +## Actions API + +The actions API should be the same as rules' actions API. That is, it has the +same `ctx.actions` that allows registering of artifacts, creating actions, +dynamic actions via the same api. + +## Creating and Building the Actions + +Bxl allows users to build targets and actions. However, when creating actions, +they are not bound/buildable until the artifact/action factories are finalized. +As such, we will introduce the limitation that bxl cannot build artifacts that +they themselves declared within the bxl. Instead, they will return a set of +artifacts to expose to users, which buck2 will automatically build after +finalizing the action factory. For dynamic-ness, bxl users will use the standard +dynamic output api. There is an issue that during the dynamic output api's +lambda, bxl functions will not be able to access the regular bxl functions for +queries, etc. However, this is likely not important as most use cases should +reasonably query bxl data before the dynamic outputs, and have limited power in +dynamic-ness. We can also always replace the ctx of the dynamic to be the bxl +context in the future, as we see fit. + +Sample: + +```python +def my_bxl(ctx): + actions_factory = ctx.bxl_actions.factory() + + artifact = actions_factory.write("file.txt", "content") + + # note that existing artifacts that were declared by other rules can be built + ctx.actions.build(ctx.analysis(ctx.target("foo")).providers[DefaultInfo].default_output)) + + return [artifact] # exposes the declared artifact to users +``` + +## Internal Representation (Deferred Framework) + +The existing actions framework attaches all actions to a deferred, which is +based off a `ConfiguredLabel`, which also corresponds to the output path prefix. +bxl actions should also have a unique output path prefix, and follow the same +system of having a base deferred key to reuse the action implementation. + +We should extend the `BaseKey` of a `DeferredKey` to support beyond a +`ConfiguredLabel`, so that we can use a `BxlFunctionLabel` in its place. This +would allow `owner` of these actions to point to the correct creator. The output +path would be determined by using the `BxlFunctionLabel` as prefix similar to a +label. While this means that not all outputs are associated with an actual rule, +this is arguably more correct as bxl that creates outputs that doesn't fit the +target graph structure (i.e android project generation follows directory +structure rather than the packages defined by targets) to not have to conform +the attaching their actions to existing rules. bxl functions can examine +multiple rules and create a single action, attached only to their function +label. + +The ActionRegistry will be attached to the evaluation result of `bxl`. Since we +do not allow bxl to explicitly request build of the actions itself declares, we +can wait until the end of the bxl function to finalize the actions. Then, the +action lookup can simply refer to the result of the `bxl`. + +With the above changes, the rest of the actions framework does not need changed +to support the proposed API. DICE caching will work as today. diff --git a/_src/rfcs/drafts/configuration-at-syntax.md b/_src/rfcs/drafts/configuration-at-syntax.md new file mode 100644 index 0000000000000..5d44dd79e4dc5 --- /dev/null +++ b/_src/rfcs/drafts/configuration-at-syntax.md @@ -0,0 +1,50 @@ +# @configuration syntax + +## What + +Command + +```shell +buck2 build //foo:bar@config//platform:linux-x86_64 +``` + +should be equivalent to current syntax: + +```shell +buck2 build //foo:bar --target-platforms=//platform:linux-x86_64 +``` + +## Why + +Might be convenient if we define global (or per-target, as proposed in +[target configuration discovery RFC](https://www.internalfb.com/diff/D35135886)) +alias. For example, if there's an alias + +``` +release=//config:linux-x86_64-release +``` + +The command above can be expressed as: + +```shell +buck2 build //foo:bar@release +``` + +Additionally, if we have +[configuration expression RFC](https://www.internalfb.com/diff/D35135496) +implemented, we can do something like: + +```shell +buck2 build //foo:bar@release+gcc +``` + +## Possible future extensions + +For now, at-syntax only applies to command line arguments + +- of `build`/`targets`/`run`/`test` commands +- probably `cquery` query + +It would be reasonable to expect that this syntax should be allowed anywhere we +need a target (e.g. in `deps` attribute), but this is out of scope of this +proposal. diff --git a/_src/rfcs/drafts/digest-kinds.md b/_src/rfcs/drafts/digest-kinds.md new file mode 100644 index 0000000000000..73e8e73cbea0d --- /dev/null +++ b/_src/rfcs/drafts/digest-kinds.md @@ -0,0 +1,58 @@ +# Digest Kinds + +## Use cases: + +- Buck2 needs to support more than just SHA1 for open-sourcing, since publicly + available RE providers use SHA256. +- Internally, we want to migrate to (potentially keyed) Blake3, and there will + be a transition period where we need to support both Blake3 and SHA1. + +## Proposed plan + +Make all the ways in which Buck2 _ingests_ digests either configurable or +explicit about the type of digest they expect. + +Internally, we may keep track of digest types for debugging purposes, but we +will never compute more than one digest. It follows that we won't expose +configuration for the digests we _output_ (namely: to use on RE): if we only +have one digest for each blob, making it configurable has no utility since you +never have a choice about the hash to use. + +## Implementation + +### Hashes received from RE + +For interactions with RE, we'll expose two configurations (this can be on the +CommandExecutorConfig): + +- Preferred hash to use when Buck2 is doing the hashing (e.g. hashing + directories). +- Accepted hashes. + +We'll use the format of the digests we receive from RE (in particular their +size) to infer what algorithm they used (remember: the RE API provides no way of +knowing the format of a digest, it's just a string). + +### Hashes of files + +We'll expose the hash to use via a buckconfig. Our +things-that-produce-hashes-of-files should either use the config to choose how +they hash, or fail if they cannot provide the right hash format (e.g. that'll be +true of Eden I/O). + +### Hashes of directories + +This one gets a little tricky. Our directories currently have an implementation +of fingerprinting that receives only the directory as input, so some refactoring +is in order. + +We have two options: + +- Pick the hashing algorithm based on the contents of the directory (pick one + that's already used). Dealing with empty directories is a bit annoying. +- Refactor the directory implementation and have directories parameterized over + their fingerprints, not their hasher. + +The first one is easier but has the downside of not working with keyed Blake3 +(because you don't have a way to bring in the key), so I'm aiming for the second +implementation for now. diff --git a/_src/rfcs/drafts/plugin-deps.md b/_src/rfcs/drafts/plugin-deps.md new file mode 100644 index 0000000000000..3ef52e2c2535e --- /dev/null +++ b/_src/rfcs/drafts/plugin-deps.md @@ -0,0 +1,198 @@ +## Plugin Deps + +### Background on Rust proc macros + +Rust proc macros are compiler plugins. They are a special kind of crate that is +compiled to a dylib, which is then loaded by the compiler when another crate +depends on the proc macro. Notably, like all Rust crates, proc macros may also +be re-exported. This means that if there is a dependency chain like +`bin -> lib -> proc_macro`, the proc macro must be made available when compiling +the binary, even though it does not appear directly in the dependencies. + +Proc macros have posed a challenge to buck2, for two reasons: + +1. Rust users generally expect to not have to distinguish between proc macros + and normal crates when specifying their dependencies. This means it is not + easily possible to make the `lib -> proc_macro` edge an `exec_dep`. +2. `bin` and `lib` might end up with different exec platforms. This means that + even if `proc_macro` were to be correctly configured as an exec dep of + `lib`, that configuration might be wrong for `bin`. + +FIXME: Other use cases for this feature + +### Plugins deps + +This RFC proposes introducing a concept of "plugin deps" to solve this problem. +Plugin deps are deps that can be propagated up the build graph at configuration +time, instead of at analysis time. Here's what this looks like: + +First, plugin deps come in "kinds." Plugin kinds can be created like +`MyKind = plugins.kind()`. These act as identifiers that can be used to divide +all the possible plugin deps up however users need to. + +Each configured target has plugin lists: There is one list for each plugin kind. +The elements of these list are an _unconfigured_ target, together with a +`should_propagate` bool. The same unconfigured target cannot appear more than +once. In other words, this is a `HashMap>`. We +need to describe two things: How to _use_ these list, and how to _create_ them. + +### Using a target's plugin lists + +Using plugin lists is very simple: The rule sets `uses_plugins = [MyKind]` when +declared. Setting this make the elements of the plugin list for the given kind +appear as exec deps on the configured nodes for this rule. This also means that +the plugins participate in exec dep resolution like all other exec deps. + +Analysis will then be able to access a list of the providers for each of the +plugins via `ctx.plugins[MyKind]`. + +The `should_propagate` bool that is associated with each element of the list is +ignored at this stage. + +### Creating a target's plugin lists + +Plugin lists are created by accumulating from two sources: + +The first of these is direct plugin deps. They are defined via a new +`attrs.plugin_dep(kind = "foo")`. This attribute (like other deps), is set to a +label when the target is declared. It then resolves as follows: + +- In the unconfigured graph: To the appropriate unconfigured target +- In the configured graph: To the label of the unconfigured target. In other + words, this will still be displayed in `buck2 cquery -A`, but will not appear + in the deps. +- During analysis: Also to the unconfigured target label. + +The target that appears in the `plugin_dep` is added to the `MyKind` plugin list +with `should_propagate` set. + +The second way to add to the plugin list is by inheriting from regular deps. +This works as follows: Elements of the plugin lists for which the +`should_propagate` value is true are made available to the immediate rdeps of a +configured target. The rdep can use them by setting `pulls_plugins = [MyKind]` +in the appropriate `attrs.dep()` invocation. This will make the targets appear +in the plugin list for the rdep with `should_propagate` unset. Alternatively, +the rdep can set `pulls_and_pushes_plugins = [MyKind]` to add the targets to the +plugin lists with `should_propagate` set to true. This enables transitive +propagation further up the configured graph. + +To decide later: Should we allow plugin rules to appear in regular/exec deps, +with no special behavior? I don't see why not. + +### Example: Proc macros + +```py +RustProcMacro = plugins.kind() + +rust_proc_macro_propagation = rule( + impl = _propagation_impl, + attrs = { + "actual": attrs.plugin_dep(kind = RustProcMacro), + }, +) + +rust_library = rule( + impl = _similar_to_before, # See some notes below + attrs = { + "proc_macro": attrs.bool(default = False), # Same as before + "deps": attrs.list(attrs.dep(pulls_and_pushes_plugins = [RustProcMacro])), + # Here we avoid `pulls_and_pushes` because we do not want to make these deps available to rdeps + "doc_deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])), + }, + uses_plugins = [RustProcMacro] +) + +rust_binary = rule( + impl = _similar_to_before, # See some notes below + attrs = { + "deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])), + "doc_deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])), + }, + uses_plugins = [RustProcMacro] +) + +def _propagation_impl(ctx): + return [ + DefaultInfo(default_outputs = []), + # During analysis for rust libraries, the providers for proc macros will appear in + # `ctx.plugins`. However, this includes the transitive and direct proc macro deps, as + # well as the transitive and direct proc macro doc-deps. Analysis needs to be able to + # distinguish between all of these though. + # + # This dummy provider is passed to allow for precisely that. Generally, it will be passed + # everywhere where the providers of Rust proc macros are currently passed. That ensures that + # analysis on `rust_library` and `rust_binary` have all the information they need about + # where the plugin "entered the dependency graph." + RustProcMacroMarker(ctx.attrs.actual), + ] + +### TARGETS + +# Expanded by macro +rust_library( + name = "p1_REAL", + proc_macro = True, +) + +# Expanded by macro +rust_proc_macro_propagation( + name = "p1", + actual = ":p1_REAL", +) + +# Expanded by macro +rust_library( + name = "p2_REAL", + proc_macro = True, +) + +# Expanded by macro +rust_proc_macro_propagation( + name = "p2", + actual = ":p2_REAL", +) + +rust_library( + name = "l", + deps = [":p1"], + doc_deps = [":p2"], +) + +rust_binary( + name = "b", + deps = [":l"], +) +``` + +Analysis for `:l` will see: + +1. `deps` which contains only the `RustProcMacroMarker("p")` +2. `doc_deps` which contains only the `RustProcMacroMarker("p2")` +3. `ctx.plugins[RustProcMacro]` which contains the providers of `:p1_REAL` and + `:p2_REAL`, correctly configured for the execution platform of `:l`. + +Analysis for `:b` will see: + +1. `deps` which contain the providers of `l` +2. `ctx.plugins[RustProcMacro]` which contain the providers of `:p1_REAL`, also + correctly configured for its own execution platform (which may be different + from `:l`'s). + + Note that because `rust_library` does not re-push doc deps, `:b` will not + see `:p2_REAL`. + +As a result, the implementation of the `rust_library` rule should not propagate +the providers of its proc macro deps (unlike its regular deps). + +There is one downside to this solution: `buck2 build :p` does absolutely none of +the things that the user is probably expecting. They need `buck2 build :p_REAL`. +That's a bit sad. Thankfully directly building proc macros is not that important +a use case? + +#### Alias + +It is already the case today that we can't use the normal `alias` rule on +toolchains. A similar situation crops up here, where aliasing a target that +pushes plugins causes the plugins to "get lost." The right solution to this is +to probably allow `plugins.ALL` as a special value on `pulls_plugins` and +`pulls_and_pushes_plugins`, and then set that for the alias rule. diff --git a/_src/rfcs/drafts/test-info-v2.md b/_src/rfcs/drafts/test-info-v2.md new file mode 100644 index 0000000000000..25fc51f745984 --- /dev/null +++ b/_src/rfcs/drafts/test-info-v2.md @@ -0,0 +1,5 @@ +# RFC: TestInfo v2 + +A stub RFC for TestInfo v2 to track lessons learned about TestInfo v1. The stack +starting D36339960 contains the original code for the TestInfo and templated +test API experiment. diff --git a/_src/rfcs/drafts/universal-cfg-naming.md b/_src/rfcs/drafts/universal-cfg-naming.md new file mode 100644 index 0000000000000..8295bf2189d5b --- /dev/null +++ b/_src/rfcs/drafts/universal-cfg-naming.md @@ -0,0 +1,61 @@ +# Universal Configuration Naming Function + +_tl;dr:_ This RFC proposes using a single naming function to generate names for +all configurations. + +## Context + +NOTE: The configuration name consists of a readable string followed by the hash +of the configuration. The readable string is technically the `PlatformInfo` +name. For sake of ease of writing, this doc uses configuration name and platform +name interchangeably to describe this concept. + +Currently, there are 3 ways to create and name a configuration. + +1. A `platform` target defines a configuration, and the platform target label + becomes the platform name. +2. A transition function defines the configuration and generates a name for the + configuration. +3. When a modifier is used, the cfg constructor function for modifiers defines + the configuration and its name. There is currently a single naming function + that generates all modifier-based configuration names. + +Modifiers are intended to replace platforms, so in the future all configuration +names will be generated. Unfortuately, most of the generated names today used +today in transitions are not very good. Problems that I've seen in practice +include: + +1. Configuration names barely contain any useful information about the + configuration. This happens a lot in transitions. For example, the android + split CPU architecture transition names the generated configurations "x86_64" + and "arm64", which tells very little about the configuration beyond the CPU + architectures it splits on. +2. Transition function incorrectly retains the old configuration name that is no + longer relevant, misleading the user about what this configuration actually + does. I've seen this happen where a configuration has py3.8 in name but the + python version constraint stored is actually py3.10. + +## Proposal + +Register a single Starlark function to define all configuration names. This +Starlark function would accept a `ConfigurationInfo` and return a string for the +name of the `ConfigurationInfo`. + +```python +# Example +def name(cfg: ConfigurationInfo) -> str: + # ... +``` + +`PlatformInfo` is no longer available in Starlark. Any place that previously +uses a `PlatformInfo` will now use `ConfigurationInfo` instead. Buck2 will +invoke this function each time it encounters a new `ConfigurationInfo` to define +its name. + +This function will attempt to provide a useful name based on the constraints in +the configuration, which mitigates the issue of short or misleading +configuration names. There are some risks that there will be high amount of code +complexity in a function if all configurations are named by one function. + +This function will most likely be registered via a `set_cfg_name` function or +something callable from root PACKAGE file or potentially prelude. diff --git a/_src/rfcs/implemented/provider-collection-at.md b/_src/rfcs/implemented/provider-collection-at.md new file mode 100644 index 0000000000000..a2cbc61fde5cc --- /dev/null +++ b/_src/rfcs/implemented/provider-collection-at.md @@ -0,0 +1,40 @@ +# Return error in `ProviderCollection[]` on undeclared provider + +Currently, `ctx.attrs.foo[UnknownInfo]` returns `None` if `foo` is a provider +collection. + +This RFC proposes these changes: + +- `ctx.attrs.foo[UnknownInfo]` is an error +- `UnknownInfo in ctx.attrs.foo` is `False` +- `ctx.attrs.foo.get(UnknownInfo)` returns `None` + +## Why + +Better diagnostics when accessing unknown provider. E. g. when writing: + +```python +ctx.attrs.foo[UnknownInfo].bar +``` + +Currently, the error is: + +``` +Object of type `NoneType` has no attribute `bar` +``` + +Instead, the error will be something like: + +``` +provider collection does not contain `UnknownInfo`, + defined providers are `FooInfo`, `BarInfo`. +``` + +## Bazel + +In bazel, `[]` on unknown provider is an error, like this: + +``` +Error: (rule '_sum') + doesn't contain declared provider 'UnknownInfo' +``` diff --git a/_src/rfcs/package-local-values.md b/_src/rfcs/package-local-values.md new file mode 100644 index 0000000000000..f5092b4f22902 --- /dev/null +++ b/_src/rfcs/package-local-values.md @@ -0,0 +1,108 @@ +# Package-local values + +This RFC proposes to extend buck2 Starlark with package-local values. + +## Why + +DevX people want to have some per-directory configuration files, accessible from +Starlark macros. + +For example, a project NNN may want to switch to building using LLVM 15 by +default. End users would want to have an easy instruction how to do that, after +DevX people provided instructions and infrastructure for that. + +## What we have now + +Currently, in fbcode, we have `get_modes` mechanism. + +`get_modes` symbol is registered in per-package implicit symbols, +[here](https://fburl.com/code/7ud7e3ci). + +This symbol can be accessed from macros using +[implicit_package_symbol](https://fburl.com/code/u5coj9s7) function. + +`get_modes` functions are package-local, but all `BUILD_MODE.bzl` files need to +be registered in global buckconfig, which is not ideal. + +Proposed per-package properties can replace `get_modes` mechanism. + +## API + +### `PACKAGE` files + +Before evaluating `BUCK` file, buck2 will evaluate all `PACKAGE` files in the +same directory and all parent directories. Absent `PACKAGE` files are treated as +empty files. + +All relevant `PACKAGE` files are executed sequentially from the root directory +to the current directory (but unrelated `PACKAGE` files can be executed in +parallel). Evaluating `PACKAGE` files sequentially provides additional +guarantees, for example, attempt to override a property (unless explicitly +requested) should fail with Starlark call stack. + +Each `PACKAGE` file is evaluated at most once (like `bzl` file). + +`PACKAGE` files may load arbitrary `bzl` files. `BUCK`-specific functions called +in `bzl` files (like rule functions) are available, but calling functions from +`PACKAGE` files is an error. This way, `bzl` files are evaluated only once +regardless of whether they are loaded from `PACKAGE` or `BUCK` file. + +### API + +`PACKAGE` files have a global function: + +#### `PACKAGE` file API + +```python +def write_package_value( + name: str, + value: "", + overwrite: bool = False, +): ... +``` + +Name is a string which must contain exactly one dot symbol (just to enforce code +style). + +Value is an arbitrary Starlark value, for example, an integer, a list of +integer, a struct or a function. + +When `overwrite` is `False` (default), attempt to overwrite per-package value +defined in parent `PACKAGE` file will fail. + +Written values are frozen when `PACKAGE` file evaluation is finished. + +Note `write_package_value` symbol exists in `bzl` globals, and it can be called +from `bzl` file in context of `PACKAGE` evaluation, but calling +`write_package_file` is an error on context of `BUCK` evaluation. + +Modifying `PACKAGE` file logically invalidates the `BUCK` file of this package, +and all `PACKAGE` and `BUCK` files of subpackages. However, `BUCK` file +evaluation may track which package-local values were accessed and only +invalidate `BUCK` files which were potentially affected (similarly to how we do +it with buckconfigs, with individual properties being projection keys). + +#### `BUCK` file API + +`BUCK` files (and `bzl` files included from `BUCK` files) have a global +function: + +```python +def read_package_value( + name: str, +): ... +``` + +This function returns the nearest value registered per package, or `None` is +such value does not exist. + +This function is available in `bzl` files, but attempt to call this function in +context of `PACKAGE` file evaluation results in an error. This restriction can +be lifted in the future. + +Per-package values are **not** accessible as global symbols in `BUCK` files. We +may reconsider it in the future. + +### `read_config` + +`PACKAGE` files may call `read_config` function. diff --git a/_src/rule_authors/alias.md b/_src/rule_authors/alias.md new file mode 100644 index 0000000000000..4be02fbed3ca1 --- /dev/null +++ b/_src/rule_authors/alias.md @@ -0,0 +1,102 @@ +--- +id: alias +title: Alias +--- + +The `alias` rule creates another name by which an existing rule can be referred +to. There two variants: [versioned_alias](#versionedalias) and +[configured_alias](#configuredalias), which are detailed below. + +## alias + +The `alias` rule has the following relevant attributes: + +- `name` - (required) what the `actual`'s label should be aliased as. +- `actual` - (required) a target label. +- `default_host_platform` - default host platform to use for the aliased target. + +**Example** + +```python +filegroup( + name = "foo", + srcs = ["foo.txt"], +) + +alias( + name = "other_foo", + actual = ":foo", +) +``` + +## versioned_alias + +The `versioned_alias` rule has the following relevant attributes: + +- `name` - (required) what the `actual`'s label should be aliased as. +- `versions` - (required) a map of versions to their respective versioned target + labels. + +Under the hood, any versioned parameters from the `versioned_alias`'s underlying +`actual` are translated into their `select`-based equivalents, which rely on +constraint settings added to the target platform. + +**Example** + +```Python +versioned_alias( + name = "foo", + versions = { + # Target labels for foo versions + "1.1": "//path/to/lib/1.1:foo", + "1.2": "//path/to/lib/1.2:foo", + }, + visibility = [ + "PUBLIC", + ], +) +``` + +## configured_alias + +The `configured_alias` rule has the following relevant attributes: + +- `name` - (required) what the `actual`'s label should be aliased as. +- `configured_actual` - a configured label (mapped to a configured dep under the + hood so the providers can be simply forwarded). +- `fallback_actual` - if `configured_actual` is not set, then fallback to this + value, which is an unconfigured dep. If `configured_actual` is not set, then + `fallback_actual` must be set. +- `platform` - the platform to build the aliased target with. + + +:::note +The `actual` field is available for `configured_alias` but it is not used under the hood (to keep compatibility of output format with Buck1 queries). + + +::: + +Outside of simply pointing at another target, this target has one other useful +feature - it contains a platform argument. + +This makes the alias rule useful for two distinct scenarios: + +- **Configuration switching during the build**. For example, there is an iOS + target that needs to build a dependency for WatchOS so it can include it in + the bundle. This can be represented by the iOS target having a dependency on + an alias of the Watch app with `platform = "//the/desired/watchos:platform"`. +- **Using a target to refer to another in a non-standard configuration**. For + example, if you want to have an experimental version of an app, you could + represent that as an alias with an 'experimental' configuration pointing to + the original target. + +**Example** + +```Python +configured_alias( + name = "foo-with-platform1", + actual = "//lib:foo", + platform = "//some_config:platform1", + visibility = ["PUBLIC"], +) +``` diff --git a/_src/rule_authors/anon_targets.md b/_src/rule_authors/anon_targets.md new file mode 100644 index 0000000000000..1ba5e96b275fc --- /dev/null +++ b/_src/rule_authors/anon_targets.md @@ -0,0 +1,418 @@ +--- +id: anon_targets +title: Anonymous Targets +--- + +An anonymous target is defined by the hash of its attributes, rather than its +name. During analysis, rules can define and access the providers of anonymous +targets before producing their own providers. Two distinct rules might ask for +the same anonymous target, sharing the work it performs. + +This solves two distinct problems: + +- **The sharing problem** - if you have two processes that want to share some + work, you can create an anon target that does that work once, which is then + reused by the two processes. Without such a mechanism, all sharing must be + present in the target graph: you can't create any new sharing. +- **The overlay problem** - this is the idea that you want to have a + shadow-graph, similar in structure to the normal graph, but with additional + information attached. Bazel accomplishes this with + [Aspects](https://bazel.build/extending/aspects). With Anonymous (anon) + targets, you can create a shadow-graph by convention, just by using the target + name you wish to shadow as the attribute. + +Dynamic dependencies, in their full generality, enable users to do a thing, look +at the result, then ask for fresh things. However, this full generality is not +provided as it breaks processes, like query, that power the Target Determinator. + +In Buck2, dynamic dependencies are implemented using `dynamic_output`, which +provides users with the ability to create new actions, after running actions, +then look at the result. `dynamic_output` is restricted in its power when +compared to fully generic dynamic dependencies, as detailed in the +[Dynamic Dependencies](dynamic_dependencies.md) page. + +Anon targets enable users to create a new analysis (that is, call an anon target +that may not have existed before) after looking at the result of a previous +analysis (which is passed in, or after looking at an anon target). In many ways, +anon target is the version of `dynamic_output` at analysis time, rather than +action time. + +The execution platform for an anon target is that of the inherited from the +calling target, which is part of the hash. If that is too restrictive, you could +use execution groups, where an anon target gets told which execution group to +use. + +# Creating anon targets + +## Anon rule + +An anonymous rule is defined using `rule` or `anon_rule`. + +Example: + +```python +my_anon_rule = rule( + impl = _anon_impl, + attrs = {}, +) + +# Or: + +my_anon_rule = anon_rule( + impl = _anon_impl, + attrs = {}, + artifact_promise_mappings = {} # only available for anon_rule +) +``` + +For `rule`, these are normal rules, with the difference that they are not in a +configuration, so `ctx.actions.label` won't show configuration information, but +just `unspecified`. + +For `anon_rule`, the configuration restrictions also apply, and there is an +`artifact_promise_mappings` field which you can specify a dict of artifact +promise names to the map function, which would be applied to the anon target's +promise during rule resolution. + +## Anon target + +An anonymous rule is used via `ctx.actions.anon_target` or +`ctx.actions.anon_targets`, passing in the rule and the attributes for the rule. + +The return values of those functions are a `AnonTarget` and `AnonTargets` type, +respectively. + +Example: + +```python +my_anon_rule1 = anon_rule( + impl = _anon_impl, + attrs = {}, + artifact_promise_mappings = {} +) + +my_anon_rule2 = anon_rule( + impl = _anon_impl, + attrs = {}, + artifact_promise_mappings = {} +) + +# +anon_target = ctx.actions.anon_target(my_anon_rule1, {}) + +anon_targets = ctx.actions.anon_targets([(my_anon_rule1, {}), (my_anon_rule2, {})]) +``` + +### `AnonTarget` and `AnonTargets` + +`AnonTarget` has a `promise` attribute, and `artifact()` and `artifacts()` +functions. `AnonTargets` has a `promise` attribute and `anon_targets` attribute. + +The `promise` attribute for both types returns the anon target's promise (type +is `promise`), which when evaluated returns the providers of the anonymous +target. The `promise` type has a few special behaviors. + +- It has a `map` function, which takes a function and applies it to the future, + returning a new future +- All promises will eventually resolve to a list of providers + +For `AnonTarget`, the `artifact()` and `artifacts()` functions only return +something if using `anon_rule`. `artifact()` takes in an artifact name, which +should be found in the `artifact_promise_mappings` dict, and returns the +artifact promise. `artifacts()` returns the dict of all promise artifact names +to the artifact promise itself, as defined in `artifact_promise_mappings`. See +[Convert promise to artifact](#convert-promise-to-artifact) below for more +information about artifact promises. + +Example: + +```python +HelloInfo = provider(fields = ["output"]) + +my_anon_rule = anon_rule( + impl = _anon_impl, + attrs = {}, + artifact_promise_mappings = { + "hello": lambda x: x[HelloInfo].output, + } +) + +# +anon_target = ctx.actions.anon_target(my_anon_rule, {}) +artifact = anon_target.artifact("hello") +artifact_from_dict = anon_target.artifacts()["hello"] +``` + +For `AnonTargets`, the `anon_targets` attribute returns a list of the underlying +`AnonTarget`s. + +Example: + +```python +HelloInfo = provider(fields = ["output"]) +GoodbyeInfo = provider(fields = ["output"]) + +my_anon_rule1 = anon_rule( + impl = _anon_impl, + attrs = {}, + artifact_promise_mappings = { + "hello": lambda x: x[HelloInfo].output, + } +) + +my_anon_rule2 = anon_rule( + impl = _anon_impl, + attrs = {}, + artifact_promise_mappings = { + "goodbye": lambda x: x[GoodbyeInfo].output, + } +) + +# +all_targets = ctx.actions.anon_targets([(my_anon_rule1, {}), (my_anon_rule2, {})]) +hello = all_targets.anon_targets[0].artifact("hello") +goodbye = all_targets.anon_targets[1].artifact("goodbye") +``` + +# Attributes + +Anon targets only support a subset of attributes that normal rules support. + +Supported attributes: + +- `bool` +- `int` +- `str` +- `enum` +- `dep` + - `deps` attributes do not take strings, but dependencies, already in a + configuration + - `exec_deps` are available if the passed in `dep`'s execution platform + matches + - Default `attr.deps` (as used for toolchains) are not permitted, as the + default can't express a dependency. They must be passed forward from the + caller. that of the anon target's caller +- `source` + - Accepts bound artifacts or promise artifacts +- `arg` + - Can only be used if `anon_target_compatible` is `True` when declaring + `attrs.arg` (ex: `attrs.arg(anon_target_compatible = True)`) +- `label` +- `list` +- `tuple` +- `dict` +- `one_of` +- `option` + +You can use these attributes like you would in normal rules: + +```python +my_anon_rule = anon_rule( + impl = _my_anon_impl, + attrs = { + "my_int": attrs.int(), + "my_string_with_default": attrs.string(default = "foo"), + "my_optional_source": attrs.option(attrs.source()), + "my_list_of_labels": attrs.list(attrs.label()), + }, + artifact_promise_mappings = {} +) + +def _my_anon_impl(ctx: AnalysisContext) -> list[Provider]: + my_int = ctx.attrs.my_int + my_string_with_default = ctx.attrs.my_string_with_default + my_optional_source = ctx.attrs.my_optional_source + my_list_of_labels = ctx.attrs.my_list_of_labels + + # do something with the attributes... + + return [DefaultInfo()] +``` + +## Attribute resolution + +Attribute resolution is handled differently from normal code: + +- Transitions and more complex forms of attributes are banned. +- The `name` attribute is a reserved attribute. It is an implicit attribute when + defining a rule for an anon target, but can be optionally set when creating an + anon target. If present, it must be a syntactically valid target, but could + refer to a cell/package that does not exist. If not present, buck2 will + generate a name for the target automatically. + +### `name` attribute example + +```python +# Rule definition for anon target +my_rule = rule( + impl = _my_impl, + attrs = { + # `name` is already implicitly defined as an attribute, and will error + # out if you try to define it again during rule declaration + }, +) + +# Anon target instantiation, elsewhere + ctx.actions.anon_target( + my_rule, + { + # you can optionally pass `name` into the attributes even though it's + # not explicitly defined in the `attrs` field for `my_rule` + "name": "foo//bar:baz" + }, +) +``` + +To access the `name` attribute from an analysis context, you can use +`ctx.label.name`. + +# Examples + +## Simple Example + +```python +# Define an anonymous rule +UpperInfo = provider(fields = ["message"]) + +def _impl_upper(ctx): + return [UpperInfo(message = ctx.attrs.message.upper()] + +upper = rule( + attrs = {"message", attrs.string()}, + impl = _impl_upper +) + +# Use an anonymous target +def impl(ctx): + def k(providers): + print(providers[UpperInfo].message) + # These are the providers this target returns + return [DefaultInfo()] + return ctx.actions.anon_target(upper, { + name: "my//:greeting", + message: "Hello World", + }) + .promise + .map(k) +``` + +## Longer example + +The following code represents a scenario for a compile-and-link language where, +if two targets end up compiling the same file (for example, they are in the same +package and both list it, or it gets export_file'd), then that file is compiled +just once: + +```python +## BUCK ############## +@load(":silly.bzl", "silly_binary") + +silly_binary( + name = "hello", + srcs = ["hello.sil", "world.sil"], +) + +## silly.bzl ############ + +_SillyCompilation = provider(fields = ["compiled"]) + +def _silly_compilation_impl(ctx): + out = ctx.actions.declare_output("output.o") + ctx.actions.run(cmd_args( + ctx.attrs.toolchain.compiler, + ctx.attrs.src, + "-o", + out.as_output(), + )) + return [DefaultInfo(), _SillyCompilation(compiled = out)] + +_silly_compilation = rule( + impl = _silly_compilation_impl, + attrs = { + "src": attrs.src(), + "toolchain": attrs.dep(), + }, +) + +def _silly_binary_impl(ctx): + def k(providers): + # Step 2: now link them all together + out = ctx.actions.declare_output("out.exe") + objs = [p[_SillyCompilation].compiled for p in providers] + ctx.actions.run(cmd_args( + ctx.attrs._silly_toolchain.linker, + objs, + "-o", + out.as_output(), + )) + return [ + DefaultInfo(default_output = out), + RunInfo(args = out), + ] + + # Step 1: compile all my individual files + return ctx.actions.anon_targets( + [(_silly_compilation, { + "src": src, + "toolchain": ctx.attrs._silly_toolchain + }) for src in ctx.attrs.srcs] + ).map(k) + +silly_binary = rule( + impl = _silly_binary_impl, + attrs = { + "srcs": attr.list(attr.src()), + "_silly_toolchain": attr.dep(default = "toolchains//:silly"), + }, +) +``` + +## Convert promise to artifact + +It can be challenging to pass around the promises from anon_target and structure +functions to support that. If you only need an artifact (or multiple artifacts) +from an anon_target, you can use `artifact()` function on the anon target to +convert a promise to an artifact. This artifact can be passed to most things +that expect artifacts, but until it is resolved (at the end of the current +analysis) it can't be inspected with artifact functions like `.extension`, etc. +`.short_path` is supported if `ctx.actions.assert_short_path()` was called, +which produces an artifact type. The promise must resolve to a build (not +source) artifact with no associated artifacts. + +Example: + +```python +HelloInfo = provider(fields = ["hello", "world"]) + +def _anon_impl(ctx: AnalysisContext) -> ["provider"]: + hello = ctx.actions.write("hello.out", "hello") + world = ctx.actions.write("world.out", "world") + return [DefaultInfo(), HelloInfo(hello = hello, world = world)] + +_anon = anon_rule( + impl = _anon_impl, + attrs = {}, + artifact_promise_mappings = { + "hello": lambda x: x[HelloInfo].hello, + "world": lambda x: x[HelloInfo].world, + } +) + +def _use_impl(ctx: AnalysisContext) -> ["provider"]: + anon = ctx.actions.anon_target(_anon, {}) + hello_artifact = anon.artifact("hello") + world_artifact = anon.artifact("world") + + out = ctx.actions.declare_output("output") + ctx.actions.run([ + ctx.attrs.some_tool, + hello_artifact, + world_artifact, + out.as_output() + ], category = "process") + return [DefaultInfo(default_output = out)] + +use_promise_artifact = rule(impl = _use_impl, attrs = { + "some_tool": attr.exec_dep(), +}) +``` diff --git a/_src/rule_authors/configuration_transitions.md b/_src/rule_authors/configuration_transitions.md new file mode 100644 index 0000000000000..b0cdbdf886a8a --- /dev/null +++ b/_src/rule_authors/configuration_transitions.md @@ -0,0 +1,216 @@ +--- +id: configuration_transitions +title: Configuration Transitions +--- + +Configuration transition is a mechanism for changing the configuration when +depending on a target. + +Currently, Buck2 has incoming and outgoing transitions: + +- **Incoming** - (or per-rule transitions) declared on the rule. +- **Outgoing** - (or per-attribute transitions) declared on the attribute. + +## Transition rule + +Transition rules are defined in `.bzl` files using the `transition` built-in. + +The `transition` function creates a configuration-related object. The +`transition` object is opaque, it does not have any operations, and can only be +used as an argument to `rule` function or attribute constructor. The +`transition` function call must be assigned to a global variable (this is +similar to user-defined provider declarations). + +The `transition` function takes three arguments: + +- `implementation` - a function. +- `refs` - references to configuration rules to be resolved and passed to the + implementation function. +- `split` - (optional) `bool` flag (default `False`) to indicate whether + transition is a split transition (used in per attribute transitions). + +The `implementation` function takes two arguments: + +- `platform` - a configuration to transition. +- `refs` - resolved references as a struct. + +Example transition from ios to watchos (for example, to build a watchOS bundle +as part of an iOS build): + +```python +def _impl(platform: PlatformInfo.type, refs: struct.type) -> PlatformInfo.type: + # Operating system constraint setting. + os = refs.os[ConstraintSettingInfo] + # Watchos constraint value. + watchos = refs.watchos[ConstraintValueInfo] + # Remove operating system constraint from input platform. + constraints = { + s: v + for (s, v) in platform.configuration.constraints.items() + if s != os.label + } + # Add watchos constraint value. + constraints[watchos.setting.label] = watchos + # Construct configuration structure. + new_cfg = ConfigurationInfo( + # Updated constraints. + constraints = constraints, + # Keep original config values. + values = platform.configuration.values, + ) + # And return new configuration, + # or a dict of marker to configuration in case of split transition. + return PlatformInfo( + # ... supplying configuration label. + label = "", + configuration = new_cfg, + ) + +iphone_to_watch_transition = transition(_impl, refs = { + "os": "//constraints:os", + "watchos": "//constraints:watchos", +}) +``` + +A transition function applied twice must produce the configuration identical to +the configuration produced after applying transition once. + +```python +assert tr(tr(platform=platform, refs=refs), refs=refs) == tr(platform=platform, refs=refs) +``` + +If this invariant is not held, certain operations produce incorrect and possibly +infinite graphs. This is not yet enforced. + +## Per rule transition + +The `rule` function has an optional `cfg` attribute, which takes a reference to +the `transition` object (created with the `transition` function; not a string). + +When such a rule is called, it is instantiated, not with the requested +configuration, but with the requested configuration transformed with a given +rule transition. + +For example, the transition for watchos when the iOS target depends on watchos +resource: + +```python +watchos_resource = rule( + cfg = iphone_to_watch_transition, + ... +) +``` + +## Per attribute transition + +The `attrs` object has two attribute constructors: + +- `attrs.transition_dep(cfg)` +- `attrs.split_transition_dep(cfg)` + +These attributes are similar to the `dep` attribute. When dependencies are +resolved for the rule instance, then they are resolved not with the rule +instance configuration, but with the configuration transformed with the given +transition. + +For split transition, each dependency is resolved into a dict of marker to +providers. + +For example: + +```python +android_binary = rule( + ... + attrs = { + "deps": attrs.list(attrs.split_transition_dep(cfg = cpu_split_transition), default = []), + }, +) +``` + +When the above is invoked as follows: + +```python +android_binary( + deps = ["//foo:bar", "//qux:quux"], +) +``` + +Then the rule implementation gets something like the following in the `deps` +attribute: + +```python +{ + [ + { + # Key in this dict is the marker returned from split transition impl function. + "arm64": "providers for //foo:bar configured for arm64", + "armv7": "providers for //foo:bar configured for armv7", + }, + { + "arm64": "providers for //qux:quux configured for arm64", + "armv7": "providers for //qux:quux configured for armv7", + }, + ] +} +``` + + +:::note +It is an error to pass a split transition object to `attrs.transition_dep` and a non-split transition to `attrs.split_transition_dep`. + + +::: + +## Per target transition + +The Buck2 team is considering the implementation of per target transitions (that +is, transitions referenced at a rule instantiation site as opposed to rule +declaration site). No specific plans or APIs exists at the moment. + +It _could_ be something like the following: + +```python +cxx_binary( + name = "foo", + cfg = "//transitions:opengl-es-1.0", + ... +) +``` + +## Request transition on command line + +For information, see [RFC](../rfcs/drafts/configuration-at-syntax.md). + +## Access rule attributes in transition function implementation + +It might be useful for the transition function to be able to query rule +attributes (for example, to perform transition to different configurations +depending on `java_version` attribute). + +Both incoming (per rule) and outgoing (per dependency) transitions can access +rule attributes. For outgoing transitions, transition rule implementation +accesses the attributes of the target that has dependencies with transitions, +not attributes of dependency targets. + +```python +def _tr(platform, refs, attrs): + # NB: There are some restrictions on what attrs can be made accessible: + # - Only primitive values for now (providers are not resolved) + # - Only unconfigured attributes for now + attrs.my_list_attribute # == [12345, 67890] + +tr = transition( + _tr, + refs = {}, + attrs = { + "my_list_attribute": attr.list(...), + }, +) + +my_rule = rule(..., cfg=tr) + +my_rule( + ..., + my_list_attribute = [12345, 67890], +) +``` diff --git a/_src/rule_authors/configurations.md b/_src/rule_authors/configurations.md new file mode 100644 index 0000000000000..ec62da6f708b9 --- /dev/null +++ b/_src/rule_authors/configurations.md @@ -0,0 +1,291 @@ +--- +id: configurations +title: Configurations +--- + +This page mostly focuses on how configurations and related features are +implemented. + +## Context + +Buck configurations provide an API to express the different ways in which +projects and targets can be built. + +A configuration consists of a set of constraints and config settings (values +from buckconfig). These are determined by a base platform that sets the initial +values and then a series of transitions that may change them. + +The common way that users are exposed to configurations is in `select()` +invocations where the resolution is based on the configuration. + +A build may involve many configurations. A particular target label (`//:foo`) +may end up with multiple instances in the configured graph with different +configurations. + +## Selectable attributes + +Almost all rule attributes can be set to a `select()` value; such an attribute +is 'selectable'. These attributes' final resolved values will depend on the +configuration. + +There are some attributes that cannot use a `select()`; such attributes are +termed 'not selectable'. Examples include attributes that buck needs to read +from the unconfigured node (such as `name` and `default_target_platform`) and +attributes that are used by `platform()` rules and their dependencies (see +below). + +## Selectable resolution + +Resolving selectable attributes is pretty straightforward, it happens when +constructing the 'configured target node'. At that point, the full configuration +is available so Buck can lookup whether each constraint in the select is +satisfied or not. + +If multiple conditions of the select() match, then the select will be resolved +to the 'most refined' of the conditions that match. A set of constraints (as in +a `config_setting`) is said to 'refine' another if it is a superset of that +other's constraints. The 'most refined' of a set is then the condition that +refines all the others. If there is no 'most refined' condition of the matching +ones, it is an error. + +## Target Platform Resolution + +In the event that targets are provided on the command line, or when there is no +indication of what configuration the target will be built in, configurations are +determined by performing 'target platform resolution' on the unconfigured target +labels. + +The target platform resolution for a target `//:foo` works as follows: + +1. Look up (unconfigured) target node for `//:foo`. +1. If the command has a `--target-platforms` flag, use that. +1. If there's a `default_target_platform` attribute, use that. +1. Else, use the cell's default platform. + +This is performed independently for any targets that need a platform. Since this +resolution is done without a configuration, it means that the +`default_target_platform` attribute **is not selectable**. + +This target platform will form the initial configuration for the node. + +## Configuration propagation + +Once the top-level nodes have been configured via the target platform +resolution, the configuration is propagated to dependencies (possibly altered by +transitions). + + +:::note +The target platform resolution is not applied to all nodes in the graph. + + +::: + +## Transitions + +A transition transforms a configuration by adding or changing constraint values +and config settings or by setting an entirely new underlying target platform. + +For more details, see [Configuration transitions](configuration_transitions.md). + +## `ConfigurationInfo`, `platform()` analysis, and more + +The definition of a platform (either execution or target) is done with a +`platform` rule instance. The configuration is actually part of the analysis +result of the platform target (the `ConfigurationInfo` provider instance). This +is convenient from an implementation standpoint, but it leads to a situation +where some nodes are analyzed with an 'unbound' Configuration. + +All the rule types involved in defining a platform may be analyzed with an +unbound configuration (`platform()`, `config_setting()`, `constraint_setting()`, +and so on). These are sometimes called 'configuration rules'. This means that +all the attributes of these rules are not selectable. + +Configurations also reference a few other provider instances such as +`ConstraintSettingInfo`. All of these end up being potentially produced in a +context with an unbound configuration. + +Using analysis for this also means that 'configuration' and 'analysis' are not +distinct phases within a build (although they are still distinct for a node and +are still conceptually useful). + +## Configurations and output paths + +Since a target may appear within a build in multiple different configurations, +output paths cannot be derived based on just targets (as multiple actions would +map to the same outputs). For this reason, the target and the configuration are +encoded into output paths. The configuration is currently represented as a hash +of its values (a 'hashed buck-out'). + +## Target platform compatibility + +All (non-configuration) rules support a `target_compatible_with` attribute. In +addition, the rule itself can define `target_compatible_with` constraints that +affect all instances. The `target_compatible_with` attribute is a list of +constraints/config settings and it **is selectable**. + +Target platform compatibility is transitive, all _dependents_ of an incompatible +target are incompatible. In other words, a node is compatible if and only if the +node itself and all of its transitive dependencies are compatible. + +In buck, this is implemented by graph configuration returning either a +configured target node or an indicator that the node is incompatible with the +target platform. + +### Buck v1 compatibility + +Buck2 also supports the Buck v1 legacy `compatible_with` field on nodes but it +has different behavior. + +In summary: + +- `compatible_with`: List of constraints, where _any_ of them must match the + configuration to be compatible. +- `target_compatible_with`: List of constraints, where _all_ of them must match + the configuration to be compatible. + +## Incompatible target skipping + +In a build-like command where a non-literal target pattern is provided (for +example, `buck build //:` or `buck build //foo/...`), the target pattern will be +resolved to a set of unconfigured targets. Those targets will then go through +[target platform resolution](#target-platform-resolution). If any of those +targets resolve to a platform where they are incompatible, building them will be +skipped. Users generally expect and prefer this behavior to needing to +explicitly specify only the targets that can build in their current context. + +If an explicitly specified literal is incompatible, it is an error. + +The implementation checks compatibility when looking up the analysis results for +configured nodes requested (in the non-ignored flow, it uses that analysis +result to lookup the default outputs and build them). + +## Execution platforms + +Execution platforms/configurations are used to represent the platforms where +build execution happens. These are defined in a similar manner to target +platforms. These may or may not be what one would logically consider different +'platforms'. For example, there could be multiple different execution platforms +that all execute things similarly on the local machine. + +A build configures a fixed list of one or more execution platforms. + +## Execution deps + +Some target deps are 'execution deps'. These are the dependencies of the target +that should be built for the execution platform. For example, a compiler or +other build tool would be an execution dep. This includes all exe macro deps +(for example, `$(exe //:tool)`) and includes all `attrs.exec_dep()` deps. + +## Toolchain deps + +In addition to `attrs.exec_dep()`, there are `attrs.toolchain_dep()`, which are +similar but differ in an important way. These nodes don't select their execution +platform, but instead have it forced on them by whatever includes them; hence, +it must be recorded in the configured target label. The execution platform +resolution sees through them. + +In other words, `attrs.toolchain_dep()` is like a mix of `attrs.dep()` and +`attrs.exec_dep()`: it inherits target platform like `attrs.dep()` (so any +`select()`s on the target of the `attrs.toolchain_dep()` will evaluate as if +they were on the target containing the `attrs.toolchain_dep()` - the target +platform gets inherited as normal) and any `attrs.exec_dep()`s of the +`attrs.toolchain_dep()` target become `attrs.exec_deps()` on the dependent of +target the `attrs.toolchain_dep()` (they get passed up the dep tree, so +participate in exec platform resolution). + +This is illustrated in the following example: + +```python +target( + name = "A", + toolchain = attrs.toolchain_dep(default = ":B"), +) +target( + name = "B", + tool = attrs.exec_dep(default = ":C") +) +``` + +The above means that `:C` will be an execution dependency of `:A` and any +`select()`s defined in `:B` would be evaluated against the same target platform +as `:A` (as target platform gets inherited by `attrs.toolchain_dep()`s). + +## Running non-execution deps + +If you have a binary that you want to run, but it isn't a build tool, then you +should use `$(exe_target //:binary)` rather than `$(exe //:binary)`. That will +run the same binary that you'd get from `buck2 build`, rather than one that is +built for the execution platform. + +The path macros vary along two axes: + +- **Path Source**: either `DefaultInfo` or `RunInfo` providers +- **Configuration**: inherits the configuration or transitions to an execution + platform configuration + +Specifically: + +- `$location`: `DefaultInfo` path source, inherits configuration +- `$exe`: `RunInfo` path source, exec platform configuration +- `$exe_target`: `RunInfo` path source, inherits configuration + +## Execution platform resolution + +During analysis, unlike target platform resolution, every configured node +undergoes execution platform resolution independently (see exception below). +This means that even for a specific target platform, different nodes in the +graph can be built on different execution platforms. + +This works roughly as follows: + +```python +next: for platform in execution_platforms: + if exec_compatible_with(target, platform): + for dep in target.execution_deps(): + if !target_compatible_with(dep, platform): + continue next + return platform +return err +``` + +One important note here is that until the execution platform has been resolved, +**the configuration for execution deps is not known**. Only after execution +platform has been resolved can the execution deps be configured (also, analysis +for them can only be performed at that point). + +For the normal use case, a particular configured target node performs execution +platform resolution a single time. The execution platform **is not** encoded in +output paths. + +Regarding target compatibility, imagine the following pseudo-code for the +`target_compatible_with()` function above: + +```python +def target_compatible_with(target, cfg): + for constraint in target.target_compatible_with: + if not satisfied(constraint, cfg): + return False + + if len(target.compatible_with) > 0: + found_satisfied_constraint = False + for constraint in target.compatible_with: + if satisfied(constraint, cfg): + found_satisfied_constraint = True + break + if not found_satisfied_constraint: + return False + + for (dep, dep_cfg) in direct_deps(target): + # NB: recursive call + if not target_compatible_with(dep, dep_cfg): + return False + + return True +``` + +## Execution groups + +Execution groups are a future feature that will allow a rule to perform +execution platform resolution multiple times and then specify in which of the +resolved platforms each action runs in. diff --git a/_src/rule_authors/dep_files.md b/_src/rule_authors/dep_files.md new file mode 100644 index 0000000000000..089b5e368009f --- /dev/null +++ b/_src/rule_authors/dep_files.md @@ -0,0 +1,135 @@ +--- +id: dep_files +title: Dep Files +--- + +Dep files allow commands to declare which subset of their inputs were used when +the command executed. + +When a command produces a dep file and is later invalidated due to an inputs +change, Buck2 uses the dep file to check whether the inputs that changed were in +the set that the command reported as having used. If none of the inputs that +changed were in that set, Buck2 omits re-running the command and reuses the +previous result. + +## Use Cases + +Dep files are used to make dependencies finer grained than what exists in the +target graph, but they're not a substitute for avoiding unused dependencies. +They're often useful when targets export many outputs (such as C++ headers) that +aren't all used by all their dependents. + +Dep files are currently used to skip recompilation steps in C++ when an unused +header changed. They're also used in Java to skip recompilation when an unused +class changed. + +## Using dep files + +To use dep files, you need to do the following: + +- Declare what output is a dep file and associate it with your command. +- Declare which inputs are covered by the dep file (this can be a subset of your + inputs). +- Have your command produce the dep file in a format Buck2 can use. + +You must also enable +[Deferred Materialization](../users/advanced/deferred_materialization.md) to use +dep files. + +## Declaring the dep files and associating inputs + +To declare a dep file and associate it with your command, you need to tag your +artifacts. + +Specifically, you'll tag the output (the dep file) and the inputs it covers, as +shown in the following code: + +```python +# First, create a tag + +headers_tag = ctx.actions.artifact_tag() + +# Then, tag inputs and the dep file itself in your command line. +# You do this using the `tag_artifacts` method on your tag. +# This method does not mutate the input, it wraps it, so you use the output. +# Any command-line-arg-like can be tagged. + +tagged_headers = headers_tag.tag_artifacts(headers) + +dep_file = ctx.actions.declare_output("deps").as_output() +tagged_dep_file = headers_tag.tag_artifacts(dep_file) + +# Finally, declare your action. +# Use the tagged artifacts as you would regular command-line-arg-likes. +# Pass the tag in `dep_files` and give a name (this is used for logging). + +ctx.actions.run( + ["mycc", "-I", tagged_headers, "-MD", "-MF", tagged_dep_file, "-o", ...], + dep_files = { "headers": headers_tag } +) + +``` + +## Producing the dep file + +Your command must produce dep files in the format Buck2 expects, which is simply +a list of all the inputs that were used, one per line. + +The paths must be the paths Buck2 would use for your inputs, which means paths +relative to the project root. + +If this is not the format your tool produces, use a wrapper to take whatever +output your command produces and rewrite it in the format Buck2 expects. + +## Testing dep files + +When writing a command that produces a dep file, you should test it! At a +minimum, check that the inputs you expect are tagged properly. + +To do so, build your target, then use +`buck2 audit dep-files TARGET CATEGORY IDENTIFIER`, which will show you the set +of inputs your command used and how they're tagged. + +## Extra notes to the implementer + +### Limitations + +Dep files only work if a previous invocation of the command is known to your +Buck2 daemon. Dep files are dropped when the daemon restarts or when you run +`buck2 debug flush-dep-files`. + +This means that, for example, if you change an unused header, then run a build +on a fresh daemon, Buck2 will still need to execute this command in order to +identify that the header was in fact unused. In contrast, if you did the build +(and got a remote cache hit on the command), then applied your change and +re-built, Buck2 would use the dep file on the second execution, and you wouldn't +need to execute anything. + +### Dep files don't need to be covering + +It's OK for the dep file to only cover a subset of the inputs of your action. +However, within that subset, the dep file must declare all the inputs that were +used. + +If you fail to report some inputs you used, then your command will not re-run +when they change, and you'll get stale output. + +### Dep files are lazy + +Dep files aren't parsed by Buck2 unless the command needs to re-run. If the +command ran on RE, they aren't even downloaded until then. This ensures dep +files don't cause a performance hit unless they are used, at which point they +stand a chance of giving a performance boost instead. + +This means that if you produce an invalid dep file, Buck2 will not report this +until your command runs again, at which point Buck2 will report that the dep +file is invalid and refuse to proceed (note: you can unblock yourself using +`buck2 debug flush-dep-files`). + +To flush out issues during development, you can pass `--eager-dep-files` to +Buck2 to force Buck2 to parse your dep files as they are produced. + +## Dep files will traverse symlinks + +If your dep file reports that a symlink was used, Buck2 will track the symlink's +target as covered by this dep file. diff --git a/_src/rule_authors/dynamic_dependencies.md b/_src/rule_authors/dynamic_dependencies.md new file mode 100644 index 0000000000000..a6082b2dc9cea --- /dev/null +++ b/_src/rule_authors/dynamic_dependencies.md @@ -0,0 +1,103 @@ +--- +id: dynamic_dependencies +title: Dynamic Dependencies +--- + +Dynamic dependencies allow a rule to use information that was not available when +the rule was first run at analysis time. Dynamic dependencies in Buck2 are +implemented using `dynamic_output` and are restricted in their power compared to +fully generic dynamic dependencies. + +A rule for a target is run with the attributes of the target, plus the providers +of its attribute dependencies, which contain artifacts. Those values (but not +the artifact contents) are all available directly and immediately when running +the rule. The rule generates providers containing artifacts. Using +`dynamic_output`, a rule can read the contents of an artifact to produce new +artifacts and bind existing artifacts, which were already returned in providers. + +Examples of rules requiring dynamic dependencies include: + +- Distributed ThinLTO, where the index file says what the dependencies are. +- OCaml builds, where the dependencies between source files can only be obtained + from running `ocamldeps`. +- Erlang header files, where only a subset of the available headers are + accessed, which can be determined by reading the source file. +- Erlang BEAM files, where some subset of BEAM files must be compiled in a given + order, as they provide features like compiler plugins, but most can be + compiled in parallel. + + + +The original design document with discussion is available +[here](https://docs.google.com/document/d/1K8RgvDMvdDFsLWAu0cehauJstHZaFe-7NeaAqWe4-L4/edit). + + + +## Implementation + +Buck2 provides the following function: + +```python +ctx.actions.dynamic_output(dynamic, inputs, outputs, lambda ctx: …) +``` + +The arguments are: + +- `dynamic` - a list of artifacts whose values will be available in the + function. These will be built before the function is run. +- `inputs` - a container of artifacts (`cmd_args`, list of artifacts, and so + on). + - These inputs must include all the inputs that are referenced by the body of + the function argument, apart from those listed in `dynamic` and `outputs`: + extra inputs may be passed that are not used. + - The inputs are used for `buck2 aquery` functionality, but do not cause + speculative building. In fact, these inputs may form a cycle with other + `dynamic_output` actions if they were all required. + - In the future, it may be possible to not pass all the inputs if the repo is + set to permissive mode, allowing a more powerful form of dynamic + dependencies. +- `outputs` - a list of unbound artifacts (created with `declare_artifact`) + which will be bound by the function. +- The function argument is given 3 arguments: + - `ctx` (context) - which is the same as that passed to the initial rule + analysis. + - `outputs` - using one of the artifacts from the `dynamic_output`'s `outputs` + (example usage: `outputs[artifact_from_dynamic_output_outputs]`) gives an + unbounded artifact. The function argument must use its `outputs` argument to + bind output artifacts, rather than reusing artifacts from the outputs passed + into `dynamic_output` directly. + - `artifacts` - using one of the artifacts from `dynamic` (example usage: + `artifacts[artifact_from_dynamic])` gives an artifact value containing the + methods `read_string`, `read_lines`, and `read_json` to obtain the values + from the disk in various formats. Anything too complex should be piped + through a Python script for transformation to JSON. +- The function must call `ctx.actions` (probably `ctx.actions.run`) to bind all + outputs. It can examine the values of the dynamic variables and depends on the + inputs. + - The function will usually be a `def`, as `lambda` in Starlark does not allow + statements, making it quite underpowered. + +Following is an example of using the function to determine Erlang BEAM +dependencies: + +```python +def erlang(ctx): + beams = {} + for x in ctx.attr.srcs: + dep_file = ctx.actions.declare_output(x + ".out") + ctx.actions.run("erl", "-dump-output", x, dep_file.as_output()) + beam_file = ctx.actions.declare_output(x + ".beam") + beams[x] = beam_file + def f(ctx, artifacts, outputs, x=x, dep_file=dep_file): + deps = artifacts[dep_file].read_lines() + ctx.actions.run( + "erl", "-comp", x, + [beams[d] for d in deps], + outputs[beams[x]].as_output() + ) + ctx.actions.dynamic_output([dep_file], [x] + deps, [beam_file], f) + return [ErlangInfo(objects = beams.values())] +``` + +The above code uses `declare_output` for the `beam_file` then binds it within +the function `f`, after having read the `dep_file` with `read_lines`. diff --git a/_src/rule_authors/incremental_actions.md b/_src/rule_authors/incremental_actions.md new file mode 100644 index 0000000000000..f0a251aba6420 --- /dev/null +++ b/_src/rule_authors/incremental_actions.md @@ -0,0 +1,115 @@ +--- +id: incremental_actions +title: Incremental Actions +--- + +It's possible to make certain Buck2 actions behave incrementally, that is, to +produce results for a current invocation based on the result from the previous +run. Incrementality could significantly improve performance of some actions such +as packaging (such as Apple App Bundles) or linking (MSVC incremental linking). + +There are two essential requirements to make an action incremental: + +- The result from the previous run should be accessible. +- An understanding of which parts of the result need to be updated; it should be + easy to compare inputs from a previous run with inputs from the current run + and detect those changed. + +The only way to run user-defined commands in Buck2 is with `ctx.actions.run`. +Both of the above requirements are met via its `metadata_env_var`, +`metadata_path` and `no_outputs_cleanup` parameters. + +When the `no_outputs_cleanup` flag is turned on, Buck2 won't perform any +deletion of old outputs for the action. That means the result from the previous +run will be accessible, but the user script has to detect which parts of it +should be deleted and perform a manual cleanup. + +When the `metadata_env_var` and `metadata_path` parameters are present, Buck2 +will create a JSON file on a disk before actually executing the command. The +file will contain a list of paths and hash digests for every command action +input. All paths in the file are relative to the Buck2 project root. Symlinks +are not included in metadata because it is possible for the user script to +resolve symlink and use a resolved path to get the destination hash digest from +action metadata if it's needed, as shown in the following JSON example: + +```json +{ + "version": 1, + "digests": [ + { + "path": "buck-out/v2/gen/cell/configuration_hash/path/to/target/__target_name__/generated_file", + "digest": "da39a3ee5e6b4b0d3255bfef95601890afd80709:10" + }, + ... + ] +} +``` + +A user script that is run as a part of an action execution is responsible for +parsing the JSON file. + +The `version` field is bumped every time there is a non-backwards compatible +change to the format of the file. The user script should verify that the +provided data is of a supported version and should be updated accordingly when +the current version is newer than the supported one. + +The path of the JSON file is provided to the user script via an environment +variable with a key equal to `metadata_env_var`. The user is able to specify the +part of the path relative to the result directory via `metadata_path`. + +For example, if some rule implementation has the following code: + +```python +result = ctx.actions.declare_output("result") +command = cmd_args(["my_script.py", "--output", result.as_output()]) +ctx.actions.run( + command, + category = "my_category", + metadata_env_var = "ACTION_METADATA", + metadata_path = "action_metadata.json", + no_outputs_cleanup = True, +) +``` + +Then `my_script.py` will be executed as: + +```shell +ACTION_METADATA=project/relative/path/to/target/action_metadata.json my_script.py --output resolved/path/to/result +``` + +`my_script.py` is responsible for reading the `ACTION_METADATA` environment +variable and parsing a JSON file with the action metadata. + +Parsed metadata provides information about inputs for the current run, but the +script needs somehow to obtain similar information about inputs from the +previous run. Such information could just be another output of the user script +(as with the previous result, it won't be deleted when +`no_outputs_cleanup = True`). The Format of such a file is an implementation +detail of the user script, but at the very least it should contain a list of +every source that was used to form the result and hash digests for such sources. + +The rule implementation would look something like the following: + +```python +result = ctx.actions.declare_output("result") +state = ctx.actions.declare_output("incremental_state.json") +command = cmd_args(["my_script.py", "--output", result.as_output(), "--incremental-state", state.as_output()]) +ctx.actions.run( + command, + category = "my_category", + metadata_env_var = "ACTION_METADATA", + metadata_path = "action_metadata.json", + no_outputs_cleanup = True, +) +``` + +The user script would then: + +1. Parse `incremental_state.json` and delete it. Deletion prior to amending the + result is important so it doesn't result in a situation where an incremental + state file is out of sync with the result when the user script fails while + changing the result. Such a corrupted state might lead to subsequent + incorrect builds reported as "successful". +2. Parse action metadata file, compute what is needed to update the result, and + amend it accordingly. +3. Calculate the new state and write it into the new `incremental_state.json`. diff --git a/_src/rule_authors/local_resources.md b/_src/rule_authors/local_resources.md new file mode 100644 index 0000000000000..7da168d3dc309 --- /dev/null +++ b/_src/rule_authors/local_resources.md @@ -0,0 +1,161 @@ +--- +id: local_resources +title: Local Resources For Tests Execution +--- + +Executing a test might require an external resource which is expensive to +create. For example running an iOS UI test requires an iOS simulator and it +takes relatively long time to setup it prior to test execution. When tests are +executed remotely resources initialization and allocation could be preemptively +managed by remote execution tier which is not the case for local execution. To +effectively manage such resources needed for local execution of tests there is a +separate Buck2 feature backed by `LocalResourceInfo` provider. + +## `LocalResourceInfo` provider + +This provider describes how to initialize and clean up a pool of homogeneous +local resources. Management of initialized resources is done by Buck2 itself +when it executes tests requiring such resources. + +Fields: + +- `setup` — command represented by `cmd_args` object which is executed to + initialize a local resource. Running this command should write a JSON to + stdout. This JSON represents a pool of local resources which are ready to be + used. +- `resource_env_vars` — key-value mapping `{str: str}` from environment variable + (appended to an execution command for test which is dependent on this local + resource) to keys in JSON output of `setup` command. + +Example JSON output of `setup` command: + +``` +{ + "pid": 42, + "resources": [ + {"socket_address": "foo:1"}, + {"socket_address": "bar:2"} + ] +} +``` + +JSON keys: + +- `pid` — an optional attribute which maps to a PID of a process that holds + initialized local resources. If present, on non-Windows platforms the process + will be sent `SIGTERM` when those resources are no longer needed. Signal + should be handled to release any system resources related to local resources. +- `resources` — a list of resource instances, each is a mapping from a string + alias (e.g. `socket_address`) to a value which represents resource. The number + of concurrently running tests that require resources of the same type is + limited by how many instances are in a list. String alias is mapped to an + environment variable key (which will be added to a command requiring such + resource) using a `resource_env_vars` field in `LocalResourceInfo` provider + (see [example](#example-usage) below). + +## Test Execution + +For a general context on how tests are executed, see +[Test Execution](test_execution.md). + +A decision whether certain local resource is required for specific test is made +by a test runner. List of required resources is then passed to Buck2 in +`required_local_resources` field of `ExecuteRequest2` test API protobuf message. + +If resource is required for a certain test execution and test could potentially +be executed locally, `local_resources` field in test's `ExternalRunnerTestInfo` +provider is used to select appropriate `LocalResourceInfo` provider. + +`ExternalRunnerTestInfo.local_resources` is a key-value mapping +`{str: ["label", None]}`. Keys represent resource types that match the values +passed from the test runner, and values are labels that should point to a target +exposing the `LocalResourceInfo` provider to be used for the initialization of +the resource of that type. If the value is `None`, it indicates that a resource +of that type will not be provided, even if the test runner requests it. + +Before running a test, `setup` command from selected provider is executed and +its output is used to create a pool of resource instances. This pool is shared +across all tests pointing to the same configured target label containing +`LocalResourceInfo` provider (normally that means pool is shared for tests +requiring same resource type). A resource is acquired (with potential queuing) +from that pool prior single test is executed and is returned back to the pool +when test finished execution. After `buck2 test` command is finished, cleanup is +performed when SIGTERM is sent to each process holding a pool of resources. + +## Example Usage + +Define a target which has `LocalResourceInfo` provider: + +``` +simulator( + name = "my_resource", + broker = ":broker", +) +``` + +where `broker` points to a runnable handling actual simulators. + +Implementation of `simulator` rule would be: + +``` +def _impl(ctx: AnalysisContext) -> ["provider"]: + return [ + DefaultInfo(), + LocalResourceInfo( + setup = cmd_args([ctx.attrs.broker[RunInfo]]), + resource_env_vars = { "IDB_COMPANION": "socket_address" }, + ) + ] +``` + +Running a `:broker` via `setup` command produces the following JSON: + +``` +{ + "pid": 42, + "resources": [ + {"socket_address": "foo:1"}, + {"socket_address": "bar:2"} + ] +} +``` + +When Buck2 locally executes a test which requires this particular type of local +resource, it reserves one resource from the pool (e.g. +`{"socket_address": "bar:2"}`) and add environment variable representing this +resource to execution command (e.g. `IDB_COMPANION=bar:2`). In our examples +`"socket_address"` alias was substituted by `"IDB_COMPANION"` based on +`LocalResourceInfo.resource_env_vars` field. + +The last part is to map a resource type to desired `LocalResourceInfo` provider. +Let's assume a test runner requires a resource of type "ios_simulator" for every +`apple_test` rule. + +Pass `:my_resource` target as a dependency into `apple_test` rule: + +``` +apple_test = rule( + impl = apple_test_impl, + attrs = { + ... + "_ios_simulator": attrs.default_only(attrs.dep(default = ":my_resource", providers = [LocalResourceInfo])), + ... + }, +) +``` + +Actually map "ios_simulator" resource type to `:broker` target containing +`LocalResourceInfo` provider: + +``` +def apple_test_impl(ctx: AnalysisContext) -> ["provider"]: + ... + return [ + ... + ExternalRunnerTestInfo( + ... + local_resources = { + "ios_simulator": ctx.attrs._ios_simulator, + }, + ... +``` diff --git a/_src/rule_authors/optimization.md b/_src/rule_authors/optimization.md new file mode 100644 index 0000000000000..c9040eb8f2ba7 --- /dev/null +++ b/_src/rule_authors/optimization.md @@ -0,0 +1,162 @@ +--- +id: optimization +title: Observability and Optimization +--- + +Optimization involves the use of techniques for determining and improving the +performance of Buck2 and specific actions performed by Buck2. This page covers +the internals for developers of Buck2 and provides details of Starlark that are +likely to be relevant to end users. + +## Starlark profiling + +`buck2` supports profiling of the evaluation of specific `BUCK` files and +profiling of the analysis of specific targets. + +There are three `buck2` profiling commands: + +- `buck2 profile loading` +- `buck2 profile analysis` +- `buck2 profile bxl` + +For example: + +```shell +buck2 profile loading --mode=heap-summary-allocated -o heap-summary.csv //some/package: +buck2 profile analysis --mode=heap-summary-allocated -o heap-summary.csv //some/package:target +``` + +Possible values for profiling modes are as follows: + +- [heap-summary-allocated](#summary-profiling): The heap profile mode provides + information about the time spent in each function and allocations performed by + each function. Enabling this mode has the side effect of disabling + garbage-collection. This profiling mode is the recommended one. +- heap-summary-retained: Like heap summary, but information about retained + memory after module is frozen. +- time-flame: Provide output compatible with + [flamegraph.pl](https://github.com/brendangregg/FlameGraph/blob/master/flamegraph.pl). +- heap-flame-allocated: Like heap profile, but writes output comparible with + [flamegraph.pl](https://github.com/brendangregg/FlameGraph/blob/master/flamegraph.pl). +- heap-flame-retained: Like heap flame, but information about retained memory + after module is frozen. +- [statement](#statement-profiling): The statement profile mode provides + information about time spent in each statement. +- bytecode: The bytecode profile mode provides information about bytecode + instruction pairs. +- bytecode-pairs: The bytecode profile mode provides information about bytecode + instruction pairs. +- typecheck: Profile runtime typechecking. + +### Summary profiling + +The first profiling mode (`heap-summary-allocated`) provides the time spent +within a function and the allocations that are performed. + +As an example, running over a folly BUCK file, produces a CSV file whose +top-left corner is: + +```text +Function Time(s) TimeRec(s) Calls Allocs +TOTALS 10.455 10.455 9712799 3477203 +fbchain_configs 1.163 2.514 11328 33984 +is_string 0.726 1.028 1514985 0 +apple_library 0.725 0.725 1887 0 +type 0.435 0.435 2053296 0 +... +``` + +This reveals the following: + +- Total execution was 10.455s, which will be a bit slower than normal, because + profiling is on. +- 1.163s was spent in `fbchain_configs` itself and 2.514s in that function and + the things it calls. +- A disturbing 1.5M calls and 1.028s is spent testing if things are strings, + which is almost certainly responsible for half the type calls. +- Happily, `is_string` doesn't allocate, but `fbchain_configs` does. Scrolling + to the right, on the full CSV file (not shown), reveals it allocates 1 tuple + and 2 dict per call. It can also be seen that `fbchain_configs` is mostly + called by `_add_code_coverage_configs`. + +This profiling mode is implemented by turning off garbage collection, so the +heap retains everything, and pushing function entry/exit entries on to the heap +with the time they happen. After execution, the heap can be scanned in order to +reconstruct the call tree and allocation patterns. As a result, this profile +mode may consume significantly more memory. + +### Statement profiling + +The second profiling mode tells us which statements spent most time executing. +Running it over a structured-logger `BUCK` file gives us a CSV file starting +with: + +```text +File Span Duration(s) Count +TOTAL 4.03 7187761 +fbcode_allowed_list.bzl 420:9-423:1 0.27 455884 +cell_defs.bzl 13:5-13:60 0.17 117736 +read_configs.bzl 46:5-46:55 0.08 65042 +prelude.bzl 28:9-29:20 0.07 1004 +... +``` + +This profile shows how much time is spent in each statement. Looking at the +relevant portion of `fbode_allowed_list.bzl`: + +```python +for _package in _recursive_allowlist: + if base_path == _package or base_path.startswith(_package + "/"): + return True +``` + +The `if` statement is at location 420:9-423:1 and takes 0.27s. The `if` +statement runs approximately 456K times. While looking at the outer statement in +the profile (not shown), it can be seen that the `for` loop is only called 3188 +times, implying an average of 143 iterations per call. It's possible that this +loop could be rewritten as some clever dictionary lookup, perhaps iterating over +the path components of `_package`. + +Line profiling builds on top of the `before_stmt` hook that is used for +debugging. It records the time each statement is entered then blames that +statement for all time until the next statement. That means that sometimes, due +to statements making function calls, the `return` of the function call may be +'blamed' until the next statement executes. As a result, treat the results with +slight caution. + +### Flame profiling + +The flame profiling modes produces a `.svg` flamegraph showing either time spent +or allocations. You can open it in Google chrome and inspect the resulting flame +graph. + + + +The flame profile provides a list of how time is used based on call stacks (you +can download an example [here](https://www.internalfb.com/intern/px/p/1Mz2W)). + + + +## Native profiling + +- Profiling on Linux can be done with + `perf record -g --call-graph=dwarf,20000 ...` and `perf report --call-graph` + - Don't profile the `buck2` process directly unless you are interested in + profiling the CLI; you likely want to profile the `buck2` daemon process. + You can find the pid with `buck2 status` and attach `perf` to that PID. +- Profiling on Mac can be done with `Instruments` (for details, + see the Wiki article + [Running and Testing Builds](https://www.internalfb.com/intern/wiki/GraphQL/Build_Infra/Running_and_Testing_Builds/#profiling-the-rust-code)). + +## Benchmarking + +- If you want to do proper statistically relevant A/B testing, use + `absh -a testa -b testb` (see [absh](https://github.com/stepancheg/absh) in + the GitHub repository). +- To measure the number of instructions: + - On Linux, use `perf stat foo` + - On Mac, use `/usr/bin/time -lp foo` +- On Mac, to run something with the time profiler on the command line, use + `xcrun xctrace record --template 'Time Profiler' --launch -- foo`, then + `open Foo.trace` for the name of the trace file it spits out (or pass + `--output` to control the output filename). diff --git a/_src/rule_authors/package.md b/_src/rule_authors/package.md new file mode 100644 index 0000000000000..7198d7d6ddf59 --- /dev/null +++ b/_src/rule_authors/package.md @@ -0,0 +1,129 @@ +--- +id: package_files +title: PACKAGE Files +--- + +`PACKAGE` files are per-directory configuration files which are accessible from +Starlark rules/macros. It supports things like per-directory properties, reading +parent `PACKAGE` values (`read_parent_package_value()`), writing `PACKAGE` +values (`write_package_value()`), loading helper `bzl` files, and you can also +inspect `PACKAGE` values via `buck2 audit package-values`. + +Before evaluating `BUCK` file, buck2 will evaluate all `PACKAGE` files in the +same directory and all parent directories. Absent `PACKAGE` files are treated as +empty files. + +All relevant `PACKAGE` files are executed sequentially from the root directory +to the current directory (but unrelated `PACKAGE` files can be executed in +parallel). Evaluating `PACKAGE` files sequentially provides additional +guarantees, for example, attempt to override a property (unless explicitly +requested) should fail with Starlark call stack. + +Each `PACKAGE` file is evaluated at most once (like `bzl` files). + +`PACKAGE` files may load arbitrary `bzl` files. `BUCK`-specific functions called +in `bzl` files (like rule functions) are available, but calling functions from +`PACKAGE` files is an error. This way, `bzl` files are evaluated only once +regardless of whether they are loaded from `PACKAGE` or `BUCK` file. + +## APIs + +### `PACKAGE` APIs + +#### [`write_package_value`](../../api/build/globals/#write_package_value) + +```python +def write_package_value( + name: str, + value: "", + overwrite: bool = False, +): ... +``` + +This global API is only available in `PACKAGE` files, or `bzl` files included in +`PACKAGE` files. + +`name` is a string which must contain exactly one dot symbol (just to enforce +code style). + +`value` is an arbitrary Starlark value, for example, an integer, a list of +integer, a struct or a function. The value must be serializable into JSON. + +When `overwrite` is `False` (default), attempt to overwrite per-`PACKAGE` value +defined in parent `PACKAGE` file will fail. + +Written values are frozen when `PACKAGE` file evaluation is finished. + +Note `write_package_value` symbol exists in `bzl` globals, and it can be called +from `bzl` file in context of `PACKAGE` evaluation, but calling +`write_package_file` is an error on context of `BUCK` evaluation. + +Modifying `PACKAGE` file logically invalidates the `BUCK` file of this +directory, and all `PACKAGE` and `BUCK` files of sub-`PACKAGE`s. However, `BUCK` +file evaluation may track which `PACKAGE`-local values were accessed and only +invalidate `BUCK` files which were potentially affected (similarly to how we do +it with buckconfigs). + +#### [`read_parent_package_value`](../../api/build/globals/#read_parent_package_value) + +```python +def read_parent_package_value( + key: str, +): ... +``` + +This global API is only available in `PACKAGE` files, or `bzl` files included in +`PACKAGE` files. + +This function returns the `PACKAGE` value defined in a parent `PACKAGE` file, or +`None` is such value does not exist. + +This function is available in `PACKAGE` files, but attempt to call this function +in context of `bzl` file evaluation results in an error. + +#### [`package`](../../api/build/globals/#package) + +```python +def package( + inherit: bool = False, + visibility: list[str] | tuple[str, ...] = [], + within_view: list[str] | tuple[str, ...] = [] +) -> None +``` + +This global API is only available in `PACKAGE` files, or `bzl` files included in +`PACKAGE` files. + +`visibility` is a list of visibility patterns to apply to all targets contained +within the directory, unless the target defines it's own visibility patterns. + +`within_view` is a list of visibility patterns restricting what all target +contained within the `PACKAGE` directory can depend on. Applies to first-order +deps, and not transitive deps. + +If `inherit` is `True`, then the `visibility` and `within_view` will be +inherited from the nearest parent `PACKAGE`. + +#### [`read_config`](../../api/build/globals/#read_config) + +`PACKAGE` files are able to call `read_config` to read buckconfigs. + +### `BUCK`-specific API + +#### [`read_package_value`](../../api/build/globals/#read_package_value) + +```python +def read_package_value( + name: str, +): ... +``` + +This global API is only available in `BUCK` files, or `bzl` files included in +`BUCK` files. + +This function returns the nearest `name` value registered per `PACKAGE`, or +`None` is such value does not exist. + +This function is available in `bzl` files, but attempt to call this function in +context of `PACKAGE` file evaluation results in an error. This restriction can +be lifted in the future. diff --git a/_src/rule_authors/test_execution.md b/_src/rule_authors/test_execution.md new file mode 100644 index 0000000000000..64f582c490a54 --- /dev/null +++ b/_src/rule_authors/test_execution.md @@ -0,0 +1,235 @@ +--- +id: test_execution +title: Test Execution +--- + +Test execution in Buck2 is a collaboration with a separate test runner process. + + + +In its open-source build, Buck2 ships with a built-in simplistic test runner. + +This test runner receives the commands defined by `ExternalRunnerTestInfo` and +simply executes them. Exit code zero means the test passed, and one means it +failed. + +Users can of course develop their own test runners. Look at +`fbcode/buck2/app/buck2_test_runner` as a sample. For comparison, here's how +it's used at Meta: + + + +At Meta, this test runner is Tpx +[Tpx](https://www.internalfb.com/intern/wiki/TAE/tpx/). + +Tpx has a large number of responsibilities when used with Buck2, which can be +grouped as follows: + +- **Translation**: + - Understands the output formats of various supported test frameworks. This is + used to identify test cases and collect test results. + - Understands, to an extent, the input formats. For example, given a test + case, Tpx can identify what command needs to run to execute just that test. +- **Orchestration**: + - Interacts with Test Infra to discover what tests should run, under a number + of configurations. + - Separates listing of tests (identifying what tests exists in a test target) + and execution (running specific tests within that target). + - Coordinates the execution of tests. For example, it may request retries, or + choose to bundle multiple tests in a single execution (or not). + - Reports test results to Test Infra as well. + +In Buck2, rules interact with the test runner via a provider called +`ExternalRunnerTestInfo`. + +## Anatomy of a test run + +When a user runs `buck2 test $targets`: + +- Buck2 identifies all matching targets that have an `ExternalRunnerTestInfo`. +- Buck2 builds all the artifacts referenced by those targets (this will likely + change eventually to build them only if they are used). +- Buck2 then notifies the test runner that those tests exist. Currently, the + test runner receives a subset of `ExternalRunnerTestInfo`. +- The test runner can request command execution from Buck2 to list and execute + tests. +- When it receives command results from Buck2, the test runner may fire off + events that the end-user will see (such as test results), upload logs + externally, request further executions, and so on. + + +:::note +If more than one target is being built, test building and execution will proceed concurrently. + + +::: + +## Information available on `ExternalRunnerTestInfo` + +As noted, rules communicate their testing capabilities via +`ExternalRunnerTestInfo`. There are a number of fields available on +`ExternalRunnerTestInfo` to control how a given target is tested, as detailed in +the following sub-sections. + +### Fields exposed to the test runner + +The following list shows what is available in `ExternalRunnerTestInfo`, with +which the test runner can interact: + +- `type` - a string key that defines the type of test this is. + Tpx uses this internally to choose a translator. Examples include `gtest`, + `apple_test`, `custom`. Note that Tpx also allows labels to influence the + orchestrator selection. +- `command` and `env` - respectively, a list and a key-value mapping of + arguments. These are the inputs to translation in + Tpx. They are not always visible to the test runner (for more + details, see + [Verbatim arguments and handles](#verbatim-arguments-and-handles), below). +- `labels` - a set of string labels to pass to the test runner. + They have no meaning to Buck2, but some labels have impact on translation in + Tpx. +- `contacts` - a list of contacts for the tests; usually oncalls. +- `executor_overrides` - a key-value mapping of executor configurations that the + test runner can use when requesting execution from Buck2. +- `local_resources` - a key-value mapping from resource type to optional + `LocalResourceInfo` provider. Provider is used for initialization of that + resource type. If the value is `None` resource type is ignored even though + test runner required it. For context see + [Local Resources For Tests Execution](local_resources.md). + +### Fields pertinent for Remote Execution + +For compatibility with Remote Execution (RE), there are two fields that rules +should set in their `ExternalRunnerTestInfo` if they should be run on RE: + +- `use_project_relative_paths` - if `true` (the default is + `false` `true`), Buck2 + will produce relative paths. If not, it'll produce absolute paths. +- `run_from_project_root` - if `true` (the default is + `false` `true`), tests + will run from the project root (their `cwd` will be the project root, which is + the same as all build commands). If `false`, it'll be the cell root. + +Note that passing `--unstable-allow-all-tests-on-re` to `buck2 test` will +override those fields and set them to `true`, since they are a pre-requisite to +run on RE. In contrast, passing `--unstable-allow-compatible-tests-on-re` will +only allow tests that already set both those fields to `true` to execute on RE. + +Also note that when `executor_overrides` are set, if an executor override is +used and results in execution on RE, it'll happen on RE unconditionally. +Therefore, it's a good idea to set those fields if RE-only executor overrides +are provided. + +## Verbatim arguments and handles + +As noted above, the test runner only interacts with a subset of arguments +provided by rules in `ExternalRunnerTestInfo`. The reason for this is that the +test runner doesn't get to access, for example, artifacts, that Buck2 knows +about. + +Consider the following example: + +```python +binary = ctx.attrs.dep[RunInfo] +test_info = ExternalRunnerTestInfo(command = [binary, "run-tests"], ...) +``` + +When Buck2 actually runs this command, `binary` is expanded to a path (and +possibly to more args). Buck2 would also account for any hidden arguments and +make those available where the command is executed. It is important for Buck2 to +retain this capability when running with the test runner. + +To that end, all non-trivial arguments present in `command` (and in the values +of `env`), such as `cmd_args` or `RunInfo`, are exposed to the test runner as +opaque handles, and simple string arguments are passed as-is to the test runner. + +This means that the test runner would see the command described above as: + +```python +[ArgHandle(index = 0), Verbatim("foobar")] +``` + +When requesting execution from Buck2, the test runner can use the `ArgHandle` +and Buck2 will swap it back for the underlying value that was set on the +provider. + +This allows the test runner to introspect and modify parts of the command lines +it receives, as long as it doesn't need to access the actual text value of +non-verbatim arguments. Usually, this works out to be sufficient (or can be made +sufficient with a bit of refactoring in the test runner). + +## Execution Configurations + +By default, tests execute using the execution configuration of the associated +target. This is the execution configuration that would be used for run actions +(`ctx.actions.run`) declared in the same target. This is a default that actually +makes little sense but works out as long as cross-compiling is not the norm. + + + +That said, it's easy to see where this breaks down. + +For example: + +- For iOS tests, the execution platform for builds needs to be XCode (local or + RE Mac). +- For test listing, XCode is not needed (it's preferable to do it on RE Linux + where capacity is cheaper). +- To run the tests, a simulator is required. + + + +To support this, `ExternalRunnerTestInfo` allows specifying override platforms, +which are given a name. The test runner can request execution on them by passing +their name when it sends execution requests to Buck2, as shown in the following +code: + +```python +ExternalRunnerTestInfo( + executor_overrides = { + "ios-simulator": CommandExecutorConfig( + local_enabled = False, + remote_enabled = True, + remote_execution_properties = { + "platform": "ios-simulator-pure-re", + "subplatform": "iPhone 8.iOS 15.0", + "xcode-version": "xcodestable", + }, + remote_execution_use_case = "tpx-default", + ), + "static-listing": CommandExecutorConfig(local_enabled = True, remote_enabled = False), + }, + ... +) +``` + +The default execution platform can also be overridden: + +```python +ExternalRunnerTestInfo( + default_executor = CommandExecutorConfig( + local_enabled = False, + remote_enabled = True, + remote_execution_properties = { + "platform": "ios-simulator-pure-re", + "subplatform": "iPhone 8.iOS 15.0", + "xcode-version": "xcodestable", + }, + remote_execution_use_case = "tpx-default", + ), + ... +) +``` + +## Working Directory + + +Tests can be run from the cell root by setting `run_from_project_root = False`. + + + +As noted above, tests run from the cell root unless `run_from_project_root` is set. + + +To produce paths relative to the cell root for use by tests, use +`relative_to(ctx.label.cell_root)` on `cmd_args`. diff --git a/_src/rule_authors/transitive_sets.md b/_src/rule_authors/transitive_sets.md new file mode 100644 index 0000000000000..804667e1377d9 --- /dev/null +++ b/_src/rule_authors/transitive_sets.md @@ -0,0 +1,269 @@ +--- +id: transitive_sets +title: Transitive Sets +--- + +Transitive sets enable the propagation of data up dependency trees in a manner +that is both efficient in Starlark code (low cost of creation, low memory usage) +and efficient for execution by Buck (edges can be shared instead of having each +action depend directly on all its inputs). + +Examples of where transitive sets are useful include: + +- Propagating transitive link-time dependencies of a library all the way to a + binary to build. +- Propagating transitive compile-time headers. + +## Rule API + +First, you need to declare your transitive set type, then you can use it, as +follows: + +```starlark +# This is the type +MySet = transitive_set() + +# Those are transitive sets: +set1 = ctx.actions.tset(MySet, value = "foo") +set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) +``` + +Values are optional, and so are children. This means you can have a set with no +value and sets with no children. + +## Projections: using transitive sets in command lines + +Sets aren't useful unless you can use their contents! + +To use a set in a command line, you use a concept called a 'projection', which +defines how to turn individual values found in the set into command line +arguments. + +To define a projection, you write a function that takes a value of your set and +returns a command-line like object (`cmd_args`, `string`, `attr.arg()` +attributes, `artifact`, and so on) or a list of them in whichever way makes +sense for your use case. + +Then, you call `project_as_args` to turn a set into a value suitable for +inclusion in a command line. When expanded, this projection will expand like a +list of all the node's individual projected values. + +Following is an example: + +```starlark +# Declare the projection +def project_as_define(value: str): + return cmd_args(value, format = "-D{}") + +# Add it to the set definition +MySet = transitive_set(args_projections = { "define": project_as_define }) + +# Create a set +set1 = ctx.actions.tset(MySet, value = "foo") +set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) + +# Call the projection. +# Note "define" is the key used above in `args_projections`. +args = set2.project_as_args("define") +``` + +When you use `args` in a command line, it will expand to `-Dbar -Dfoo`. + +Note that creating projections is very cheap. Notably, it is independent of the +size of the set. + +## Projections: using transitive sets in write_json() + +As with command lines, sets can form json projections to be used in write_json. + +A json projection is defined in the same way as an arg projection. The function +should return a value that `write_json` otherwise supports. Then, you call +`project_as_json` to turn a set into a value that can be passed to `write_json` +(or can appear within the value passed to it, it doesn't need to be the +top-level value). When expanded, the projection will expand like a list of all +the node's individual projected values. + +Following is an example: + +```starlark +# Declare the projection +def project_as_json(value: str): + return struct(key = "foo", value = value) + +# Add it to the set definition +MySet = transitive_set(json_projections = { "define": project_as_json }) + +# Create a set +set1 = ctx.actions.tset(MySet, value = "foo") +set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) + +# Call the projection. +# Note "define" is the key we used above in `json_projections`. +args = set2.project_as_json("define") +``` + +Note that if your projected values include (or may include) artifacts, you will +likely want to use `write_json(with_inputs=True)` to get back a cmd_args that +has all the artifacts in the json structure already in its `.hidden`. + +### Traversals in depth + +Transitive sets form DAGs. Notably, this means individual nodes can exist more +than once in a given transitive set. + +When a transitive set is traversed, nodes that have already been visited are +skipped. This means their arguments will only be emitted once. + +For example: + +```mermaid +flowchart TD + foo((foo)) + bar((bar)) + qux((qux)) + qux --> foo + bar --> foo + qux --> bar +``` + +```starlark +set1 = ctx.actions.tset(MySet, value = "foo") +set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) +set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2]) + +args = set3.project_as_args("define") +``` + +This will expand to `-Dqux -Dfoo -Dbar`, even though `set1` (`"foo"`) shows up +twice in the DAG. + +## Other APIs + +### Transitive set reductions + +You can aggregate values of a transitive set via a reduction. This can be +helpful for tasks such as propagating Boolean flags up the tree. + +Following is a real-world example. + +When defining a reduction, you receive the reduced values of all your children, +and an optional value for the current node (the value will be `None` when you +create a set and you don't pass a `value`), and you need to merge them together +to produce this node's value: + +```starlark +def link_info_has_default_filelist(children: list[bool], infos: LinkInfos | None): + if infos: + info = infos.default + if info.filelist: + return True + return any(children) + +# Set of LinkInfos +LinkInfosTSet = transitive_set( + reductions = { + "has_default_filelist": link_info_has_default_filelist, + }, +) +``` + +### Transitive set iteration + +You _can_ iterate over a transitive set. This will yield each value once. You +can also iterate over projections. + +However, note that this is generally not recommended, since unlike creating and +using a projection, this operation is `O(set)`. + +You should use this as an escape hatch if and only if you need to implement +something transitive sets don't support via projections or reductions, because +in doing so you'll lose a lot of the performance benefits. + +For example: + +```starlark +set1 = ctx.actions.tset(MySet, value = "foo") +set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) +set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2]) + +values = list(set3.traverse()) +``` + +This will yield `["qux", "foo", "bar"]`. + +### Ordering + +Transitive set iteration uses a left-to-right, pre-order traversal by default, +and ignores nodes that have already been visited. This order is reflected in +projections as well. + +A few different traversal orders are supported with the `ordering` attribute: + +| Ordering | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `preorder` (default) | Traverses using a depth-first-search, visiting nodes left-to-right. | +| `postorder` | Traverses children left-to-right, and then visits the current node. | +| `topological` | A Topological sort, such that nodes are listed after all nodes that have them as descendants. This is similar to a pre-order traversal, except that when nodes are shared with more than one parent it is returned in the order of its last occurrence. | +| `bfs` | Breadth-first-search (BFS) traversal, traverses nodes left-to-right before traversing children. | + +For example: + +```starlark src=fbcode/buck2/app/buck2_build_api_tests/src/interpreter/transitive_set/tests.rs +set1 = ctx.actions.tset(MySet, value = "foo") +set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) +set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2]) + +values = list(set3.traverse(ordering = "topological")) + +# This also works for projections +args = set3.project_as_args("project", ordering = "topological")) +``` + +Following is an example of how different orderings evaluate: + +```mermaid +flowchart TD + foo((foo)) + bar((bar)) + qux((qux)) + qux --> foo + bar --> foo + qux --> bar +``` + +| Ordering | Result | +| ------------- | ----------------------- | +| `preorder` | `["qux", "foo", "bar"]` | +| `postorder` | `["foo", "bar", "qux"]` | +| `topological` | `["qux", "bar", "foo"]` | +| `bfs` | `["qux", "foo", "bar"]` | + + + +This is verified by the test: + +```starlark src=fbcode/buck2/app/buck2_build_api_tests/src/interpreter/transitive_set/tests.rs title=fbcode/buck2/app/buck2_build_api_tests/src/interpreter/transitive_set/tests.rs +# Test all orderings which show up in the table. +assert_eq(list(set3.traverse()), ["qux", "foo", "bar"]) +assert_eq(list(set3.traverse(ordering = "preorder")), ["qux", "foo", "bar"]) +assert_eq(list(set3.traverse(ordering = "postorder")), ["foo", "bar", "qux"]) +assert_eq(list(set3.traverse(ordering = "topological")), ["qux", "bar", "foo"]) +assert_eq(list(set3.traverse(ordering = "bfs")), ["qux", "foo", "bar"]) +``` + + + +## Implementation details + +### Performance + +The performance benefits of tsets arise due to: + +- **Caching**: projections and reductions are cached. +- **Lazy Evaluation**: projection traversals are evaluated lazily. + +### Evaluation + +Projections and reductions are evaluated eagerly for each node of your +transitive set. This means that if your projection throws an error, you'll find +out when creating a set via `ctx.actions.tset`. diff --git a/_src/rule_authors/writing_rules.md b/_src/rule_authors/writing_rules.md new file mode 100644 index 0000000000000..51fe91db131c1 --- /dev/null +++ b/_src/rule_authors/writing_rules.md @@ -0,0 +1,284 @@ +--- +id: writing_rules +title: Writing Rules +--- + +This page describes how to write rules for Buck2 and explains the flow for +implementing rules that are already defined in Buck1. + +For a list of the API functions available, see the +[Build APIs](../../api/build/globals). + + +:::note +Rules such as `@fbcode_macros//build_defs:native_rules.bzl buck_genrule` are not actually rules, they are _macros_ (Starlark functions that eventually call out the underlying `genrule` _rule_). Macros in Buck2 are mostly compatible with Buck1 and should be written in the same way. + + +::: + +## Workflow by example + +The built-in Buck2 rules are stored in the `prelude` folder in the buck2 repo. +To add a rule for a language, say `pascal`: + +1. Look at + [prelude/decls](https://github.com/facebook/buck2/blob/main/prelude/decls/) + to see the attributes that are supported in Buck1 and are mirrored into + Buck2. If `pascal` was an existing rule, you would see what attributes it + takes (often it will be `pascal_library` and `pascal_binary`). + +2. Create a file `pascal.bzl` that will contain your rule implementations. The + details are explained later, but a dummy rule looks like the following: + + ```python + def pascal_binary_impl(_ctx: AnalysisContext) -> list[Provider]: + return [DefaultInfo()] + ``` + +3. Create a directory in `fbcode/buck2/tests/targets/rules/pascal` with + `TARGETS` and whatever source files and test targets you need to test your + project. Note, Apple tests are currently located at + `xplat/buck2/tests/apple/...`. + +4. Test your code with `buck2 build fbcode//buck2/tests/targets/rules/pascal:`. + They should succeed with no actual output produced. + +5. Now implement the rules (see the rest of this page). + + +:::note +Before merging a diff, it's important that all your Starlark is warning free (if you don't want to set up Buck2 for local development, test it in CI). If you do set it up locally, see the `README.md` in the root of `fbcode/buck2`. Running `./test.py --lint-only` will confirm your Starlark code is warning free. + + +::: + +## Concepts and design + +A _rule_ for a _target_ uses _attributes_ to declare _actions_, which produce +_artifacts_ that get included in _providers_. + +For example, given: + +```python +def pascal_binary_impl(ctx: AnalysisContext) -> list[Provider]: + ... + binary = ctx.actions.declare_output(ctx.attrs.out) + ctx.actions.run(["pascalc", ctx.attrs.srcs, "-o", binary.as_output()]) + return [ + DefaultInfo(default_output = binary), + ] + +pascal_binary = rule(impl = pascal_binary_impl, attrs = { + "out": attrs.string(), + ... +}) +``` + +In the above snippet: + +- **Rule** is `pascal_binary`, which is implemented by `pascal_binary_impl`. The + rule says how to build things. +- **Target** will be something like + `fbcode//buck2/tests/targets/rules/pascal:my_binary`. The rule implementation + `pascal_binary_impl` will be called once per target. +- **Attributes** are the fields on the target (for example, you might have + `out`, which can be accessed via `ctx.attrs.out`). +- **Actions** are declared by the rule with things like `ctx.actions.run`, which + takes a command line. Note that the actions are not run by the rule, but + declared, so that Buck2 can run them later. +- **Artifacts** represent files on disk, which could be source or build outputs + (`binary` in the above example). + - For build outputs, the artifact is produced by an action, and the existence + of the artifact does not imply the build has been run: the artifact + 'remembers' what should be run if it is required. +- **Providers** are returned, which is information that other rules get to use. + These will often contain artifacts. + +The rule implementation takes in a `ctx`, which is the rule context. The two +most important fields are `ctx.attrs`, which picks up the attributes declared by +the rule, and `ctx.actions`, which lets you create new actions to actually do +something. + +The output of any actions performed will be materialized in `buck-out`. However, +only the defined outputs of providers are available for dependent rules to +consume and only the actions necessary to produce those outputs being consumed +will be run. By default, the `default_output` of the `DefaultInfo` provider is +built and output during a `buck build`. + +### Providers + +Providers are the data returned from a rule and are the only way that +information from this rule is available to rules that depend on it. Every rule +must return at least the `DefaultInfo` provider, but most will also return +either `RunInfo` (because they are executable) or some custom provider (because +they are incorporated into something that is ultimately executable). + +The `DefaultInfo` provider has a field `default_output`, which is the file that +will be built when someone executes a `buck2 build` on this particular target, +and the file that will be used when someone runs `$(location target)` or uses it +as a source file (such as `srcs = [":my_target"]`.) + +The current rule of thumb is that if you can build the `default_output`, the +rule must 'work', and, if usable, should be 'ready'. For example, for a binary, +the executable and runtime libraries it depends on might be returned. For a +library, because neither the static or dynamic library is the 'default', you +merely have to do enough work to ensure that the static and dynamic library +probably work. + +Similar to how `DefaultInfo` wraps a list of artifacts and `$(location)` selects +from `DefaultInfo`, `RunInfo` wraps a command line and `$(exe)` selects from +`RunInfo`. + +For more information about command lines, see [Run action](#run-action), below. + +For libraries, usually you need to pass some information about the library up to +the binary. The _only_ information that dependents on the library get are the +providers, so designing the information that flows around the provider is +critical to designing good rules. + +For a hypothetical rule, you may decide you want the name of the library and the +artifact that represents the `.so` file, for which you could define the +following provider: + +```python +PascalLibraryInfo = provider(fields=[ + "name", # The name of the library + "object" # An artifact, the .so file that needs linking in + ] +) +``` + +Often, you'll grab your dependencies from all your providers: + +```python +my_deps = [x[PascalLibraryInfo] for x in ctx.attrs.deps] +``` + +In many cases, it becomes apparent you need the transitive closure of all +libraries (for example, the libraries and everything they depend upon), in which +case, the standard pattern is to move to a provider of a list of `record` (see +the +[types.md](https://github.com/facebook/starlark-rust/blob/main/docs/types.md) +document in GitHub) and the `flatten/dedupe` functions, defining it as: + +```python +PascalLibraryInfo = provider(fields=["links"]) # a list of LinkData + +LinkData = record(name = str, object = "artifact") +``` + +And then consuming it: + +```python +my_links = dedupe(flatten([x[PascalLibraryInfo].links for x in ctx.attrs.deps])) +my_info = PascalLibraryInfo(links = my_links) +``` + +However, this `flatten`/`dupe` pattern can get expensive, especially when you +have a deep dependency graph. To fix that it's recommended to use +[transitive sets](transitive_sets.md). + +### Actions + +There are several actions you can use to create symlink trees, and so on. + +#### Run action + +Of the various actions, the `run` action is by far the most important: it's the +one that invokes a command line. + +A command line is both a list of string arguments and a list of artifacts they +depend on; with syntactic niceties for adding artifacts to command lines in a +way that ensures the dependencies are usually correct. + +Following are examples of command line manipulations: + +```python +cmd = cmd_args(["some", "arguments"]) +cmd.add("another-arg") +cmd.add(ctx.attrs.src) # An input artifact +out = ctx.actions.declare_output("an output") +cmd.add(out.as_output()) +ctx.actions.run(cmd) +``` + +The action `declare_output` creates a new artifact which is not bound to +anything. You can call `.as_output()` on it when adding it to a command line to +say that this command line doesn't take the artifact as an input but produces it +as an output. + +From now on, if `out` is used as a dependency (either to another command line, +or in `DefaultInfo`) then the action will be run to produce that artifact. +Typically, these outputs are declared (`declare_output`), bound in a +`ctx.actions.run` call with `.as_output()`, then either used locally as the +input to another action or returned in a provider. + +As another example: + +```python +cmd = cmd_args(["cp", input, output.as_output()]) +ctx.actions.run(cmd) +``` + +A command provides both a string (what to write when used) and a list of +artifacts (what must be available when used). Normally, as in the case above, +the artifacts that are used correspond to those on the command line. But imagine +the rule is changed to write the command to a shell script first: + +```python +sh = ctx.actions.write("test.sh", ["cp", input, output]) +cmd = cmd_args(["sh",sh],hidden=[input, output.as_output()]) +ctx.actions.run(cmd) +``` + +The command has been written to a shell script, which is now run. Beforehand, +all the artifacts used by the command appeared on the command line. Now they +don't. However, the shell script still accesses input and output. To inform the +run command, use the hidden field of the command line to declare the dependency. + +For more complicated actions, which perform meaningful logic beyond invoking a +simple command, the tendency is to write custom Python scripts. Python scripts +are used instead of shell scripts as they have better cross-platform +compatibility and fewer hidden corners (especially in error paths). + +As an example of a Python helper, see +[make_comp_db.py](https://github.com/facebook/buck2/blob/main/prelude/cxx/tools/make_comp_db.py). + +A further advantage of using Python is that these commands can be tested in +isolation, outside of Buck2. + +## Debugging + +The functions `fail`, `print` and `pprint` are your friends. To get started, a +`buck2 build fbcode//buck2/tests/targets/rules/pascal:` builds everything or +`buck2 run fbcode//buck2/tests/targets/rules/pascal:my_binary` runs a specific +binary that returns a `RunInfo`. + +## Testing Rules + +A common way to test is to use `genrule` to cause the produced binary to run and +assert some properties from it. If your rule is in Buck1 and Buck2, use a +`TARGETS` file so you can test with both. If your tests are incompatible with +Buck1 (such as if it is a new rule), use `TARGETS.v2`, which will only be seen +by Buck2 and won't cause errors with Buck1. + +## New rules + +If your rule is **not** already in Buck1, then you can define it wherever you +like, with a preference for it not being in `fbcode/buck2/prelude`. + +The only advantage of the `prelude` is that rules can be used without a +corresponding `load`, which is generally considered a misfeature. The attributes +should usually be placed adjacent to the rule itself. + +As an example, just below the `pascal_binary_impl` function, you could write: + +```python +pascal_binary = rule( + impl = pascal_binary_impl, + attrs = { + "deps": attrs.list(attrs.dep()), + "src": attrs.source(), + } +) +``` diff --git a/_src/users/advanced/deferred_materialization.md b/_src/users/advanced/deferred_materialization.md new file mode 100644 index 0000000000000..747c70cb465b8 --- /dev/null +++ b/_src/users/advanced/deferred_materialization.md @@ -0,0 +1,116 @@ +--- +id: deferred_materialization +title: Deferred Materialization +--- + +When using [Remote Execution](../remote_execution.md), Buck2 can optionally +operate with Deferred Materialization, which means that Buck2 will avoid +downloading outputs until they are required by a local action. + +This can provide very substantial performance savings on builds that execute +primarily on Remote Execution, since those builds become able to proceed without +ever downloading any intermediary outputs. + +At Meta, despite very fast networks being used internally, this was was observed +to make real-world builds finish approximately 2.5 times faster. + +## Pitfalls + +Buck2's deferred materialization makes assumptions about your Remote Execution +backend. In particular, it expects that the TTL returned from action cache +entries by your Remote Execution backend always exceeds the TTL of all output +artifacts it references. + +Nonetheless, artifacts may also eventually expire from your Remote Execution +backend. When that happens, builds using Deferred Materialization may fail if +those artifacts are needed locally. + +A kill is necessary to recover from those builds. However, the +[Restarter](restarter.md) can be used to mitigate this issue by restarting Buck2 +daemon when it encounters an expired artifact. + + +At Meta, artifacts get periodically refreshed, but open source RE backends do not expose the TTL of artifacts, so this feature does not work outside of Meta. + + +## Enabling Deferred Materialization + +To enable deferred materialization, add this to your +[Buckconfig](../../concepts/buckconfig.md): + +``` +[buck2] +materializations = deferred +``` + +## On-disk state + +Buck2 can also optionally track its state on disk in a SQLite database. This +allows Buck2 to remember what files are on disk across restarts. + +This can allow Buck2 to avoid re-downloading outputs from your Remote Execution +backend if they are already on disk. + +To enable, add this to your Buckconfig: + +``` +[buck2] +sqlite_materializer_state = true +``` + +## Deferring Write Actions + +To further speedup builds, Buck2 can also be instructed to not execute any +writes on the critical path for a build. + +To enable, add this to your Buckconfig: + +``` +[buck2] +defer_write_actions = true +``` + +This mechanism is recommended if you're using the On-disk State, since it means +Buck can omit writes entirely if the same content is already on disk. + +## `buck2 clean --stale` + +The deferred materializer can be configured to continuously delete stale +artifacts, that haven't been recently accessed, or untracked artifacts, that +exist in buck-out but not in the materalizer state. + +Unlike `buck2 clean` this does not fully wipe buck-out but it should not +negatively impact build performance if you are building and rebasing regularly. + +Enabling this requires enabling [on-disk state](#on-disk-state) and +[deferred write actions](#deferring-write-actions), and adding this to your +Buckconfig: + +``` +[buck2] +clean_stale_enabled = true +``` + +It can be further configured by changing these default values: + +``` +[buck2] +# one week +clean_stale_artifact_ttl_hours = 24 * 7 +clean_stale_period_hours = 24 +clean_stale_start_offset_hours = 12 +``` + +- `clean_stale_start_offset_hours` determines the time following daemon start up + before the first clean will be scheduled. +- `clean_stale_period_hours` determines how frequently to schedule recurring + clean events. +- `clean_stale_artifact_ttl_hours` determines how long artifacts should be kept + in buck-out before cleaning them. + +If clean stale is running in the background at the same time that a build begins +to materialize artifacts, the clean will be interrupted and not run again until +after the next scheduled period, but it should be able to make gradual progress +and prevent long term accumulation of artifacts. + +If needed, a clean can be manually triggered by calling `buck2 clean --stale`. diff --git a/_src/users/advanced/external_cells.md b/_src/users/advanced/external_cells.md new file mode 100644 index 0000000000000..b6d863c9ae182 --- /dev/null +++ b/_src/users/advanced/external_cells.md @@ -0,0 +1,100 @@ +--- +id: external_cells +title: External Cells +--- + +Normally, buck2 requires source files to be checked into the repo. However, this +is sometimes inconvenient. It makes distribution of the prelude hard, and users +may want to pull in third party dependencies without vendoring them or using +source control tricks. + +To help support these use cases, buck2 has a concept of "external cells." +External cells act much like [normal cells], except that instead of having their +source files checked into the repo, the source files have some alternative +origin. + +[normal cells]: ../../concepts/buckconfig.md/#cells + +## Setting up an external cell + +Configuring an external cell looks much like configuring a regular cell. First, +add the cell to the `cells` section of your `.buckconfig` like normal: + +``` +[cells] + prelude = some/path +``` + +The external cell's files won't actually be generated in the repo. However, you +still need to provide a path for it - this path influences the handling of tree +files, since those cross cell boundaries. It's also used for +`expand-external-cells`, more on that below. + +Next, add an entry to the `external_cells` buckconfig section that specifies the +"origin" of the external cell given an alias. This tells buck2 where you want to +get the cell from, if not files in the source repo. + +``` +[external_cells] + prelude = bundled +``` + +For the `bundled` origin, that's it. Other origins may require additional +configuration. + +## Origins + +Buck2 currently supports two external cell origins, `bundled` and `git`. + +### The `bundled` origin + +The bundled origin can only be used with the `prelude` cell, and provides access +to a copy of the prelude that is bundled as part of the buck2 binary. This is +useful as an easier-to-install alternative to vendoring or submoduling the +prelude. + +### The `git` origin + +The `git` origin indicates that an external cell's content should be loaded from +some git repo. It accepts two additional configuration parameters, `git_origin` +and `commit`, like this: + +``` +[cells] + root = . + libfoo = libfoo + +[external_cells] + libfoo = git + +[external_cell_libfoo] + git_origin = https://github.com/facebook/foo + commit_hash = +``` + +The `commit_hash` value must be a sha1, it cannot be eg a branch name. + +## Expanding external cells + +Because external cells only represent a different way to access source files, +buck2 provides an `expand-external-cell` command. This command will make a copy +of the external cell into the path in the repo you specified for your cell. By +commenting out the `external_cells` buckconfig entry, this allows you to make +direct edits to the cell's files in your repo. + +## Details & Limitations + +- External cells can only be configured in the project root's `.buckconfig`. + This also means that there is no support for "transitive" external cells, ie + an external cell cannot specify additional external cells to pull in. +- External cells cannot have nested cells inside them. +- The `cells` buckconfig section of external cells is ignored. This is done to + ensure that when using an external cell to access some dependency in a git + repo, that git repo can still be an independently building project that + specifies its own toolchain and prelude configuration. + + Because of this difference between external and non-external cells, it's + possible that running `buck2 expand-external-cell` may not produce a working + cell immediately, but instead require you to delete the `cells` section first. + + `cell_aliases` still work just like with regular cells. diff --git a/_src/users/advanced/in_memory_cache.md b/_src/users/advanced/in_memory_cache.md new file mode 100644 index 0000000000000..123073e6bd5ee --- /dev/null +++ b/_src/users/advanced/in_memory_cache.md @@ -0,0 +1,22 @@ +--- +id: in_memory_cache +title: In Memory Cache +--- + +Buck2 can maintain an in-memory cache of actions it executed. This allows +actions to skip re-running even when they are (transitively) affected by file +changes. + +## Enabling the in-memory cache + +This feature requires enabling +[Deferred Materialization](deferred_materialization.md) first. This is necessary +so that Buck2 knows what's on disk. This requirement might go away once we +decouple keeping track of what's on disk and deferred materialization. + +Once done, to enable, add this to your Buckconfig: + +``` +[buck2] +hash_all_commands = true +``` diff --git a/_src/users/advanced/restarter.md b/_src/users/advanced/restarter.md new file mode 100644 index 0000000000000..e0b9c57e746b2 --- /dev/null +++ b/_src/users/advanced/restarter.md @@ -0,0 +1,21 @@ +--- +id: restarter +title: Restarter +--- + +The Restarter can automatically restart Buck2 when Buck2 detects that it hit a +condition that may be recovered by restarting the Buck2 daemon. + +This is particularly useful with +[Deferred Materialization](deferred_materialization.md), which may require a +daemon restart if your daemon holds references to artifacts that have expired in +your Remote Execution backend. + +## Enabling the Restarter + +To enable, add this to your Buckconfig: + +``` +[buck2] +restarter = true +``` diff --git a/_src/users/build_observability/build_report.md b/_src/users/build_observability/build_report.md new file mode 100644 index 0000000000000..b8b34a3c59b06 --- /dev/null +++ b/_src/users/build_observability/build_report.md @@ -0,0 +1,218 @@ +--- +id: build_report +title: Build Report +--- + +The build report is a JSON file that you can ask buck to output which contains +structured information about the result of your build. It is particularly +valuable for its reporting of _unsuccessful_ outcomes in addition to +_successful_ ones; usually, most use cases that only need to care about +successful outcomes are well served by direct usage of the CLI. + +To request a build report, pass `--build-report ` to `buck build` on the +CLI. + +At a high level, the build report outputs information for each of the targets +that you requested to have built on the CLI. As a result, it may report +information for more than one configuration or subtarget of a target. For +example, this can happen if you passed `--target-platforms` or built `:target` +and `:target[sub]`. + +## Schema + +``` +BuildReport { + # A unique ID identifying this buck invocation. Currently a UUID, however + # that may change in the future. + trace_id: str, + + # True if all requested targets built successfully + success: bool, + + # The absolute path to the project root + project_root: Path, + + # The results of the build, categorized by unconfigured target + results: dict[TargetLabel, BuildReportEntry], + + # A cache for error message lookup. This is meant for deduplicating strings + # that might otherwise appear many times in the build report and cause an + # unnecessary size increase. They keys are used in other fields in the build + # report in reference to these strings. + strings: dict[str, str], + + # BUCK1 BACKCOMPAT ONLY! + # + # Currently always empty. Will be filled in if a flag is passed in the future. + # + # A map from targets that failed to build to error messages describing the + # failure. + failures: dict[TargetLabel, str], +} + +BuildReportEntry { + # The results of building the target in the given configurations + configured: dict[Configuration, ConfiguredBuildReportEntry], + + # Errors encountered while building this target. + # + # Note that this does not include the errors that are found within the + # `ConfiguredBuildReportEntry`s. Instead, it includes additional errors + # which could not be associated with a specific configuration of the + # target, typically because they occurred before the target could be + # configured. + errors: list[Error], + + # BUCK1 BACKCOMPAT ONLY! + # + # The two fields below are included for buck1 backwards compatibility only. + # They are both computed by aggregating across all the configured targets in + # the way you might expect. + success: "FAIL" | "SUCCESS, + outputs: dict[str, list[Path]], + + # The path to the package containing this target, relative to the project + # root. This is the source code location for this target. + package_project_relative_path: Optional[str] +} + +ConfiguredBuildReportEntry { + # Did this target build successfully or not? + success: "FAIL" | "SUCCESS, + + # A map of subtargets that were built to a list of the successfully built + # outputs for that subtarget. + # + # The keys are generated by joining the subtargets with a `|`. For example, + # if you request to have `:target` and `:target[foo][bar]` built on the CLI, + # this list will contain one entry for `""` and one for `"foo|bar"`. + outputs: dict[str, list[Path]], + + # The number of targets in the configured dependency graph of this target. + # + # This is only included if `-c buck2.log_configured_graph_size=true` is set. + # Otherwise, it is left as None. + configured_graph_size: Optional[uint], +} + +Error { + # The stringified hash of the same stringified error message that is shown to the user on the + # console. The hash is stored as the key in the `strings` cache of the `BuildReport` + message_content: str, + + # Structured action error. Present only if the error was actually an action error + action_error: Optional[ActionError], + + # An index that can be used to detect duplicate errors. Two errors with the + # same cause index have the same cause. Note that that does not mean that + # they have the same error message. + cause_index: uint, +} + +ActionError { + # The action key + key: ActionKey, + + # The action name + name: ActionName, + + # Digest of the action + digest: str, + + # Stringified hash of the stderr of the action + stderr: str, + + # Stringified hash of the stdout of the action + stdout: str, + + # Stringified hash of the same stringified error message that is provided by the action + error: str, + + # Optional list of error categorizations provided by an error handler which is invoked + # in the event of a failed action, or an error message if the error handler failed. + error_diagnostics: Optional[ActionErrorDiagnostics], +} + +ActionKey { + # The configured target, anon target, or bxl function which owns this action + owner: str, +} + +ActionName { + # The category of the action + category: str, + + # The optional identifier of the action + identifier: Optional[str], +} + +enum ActionErrorDiagnostics { + # The list of sub errors if the error handler succeeded + sub_errors: list[ActionSubError], + + # The stringified hash of the error message if the error handler failed + handler_invocation_error: String, +} + +ActionSubError { + # Name of the error category. The category should be finer grain error categorizations + # provided by the rule authors, and tend to be language specific. These should not be + # any kind of shared concepts among all errors for all languages/rules. For example, + # timeouts and infra errors should not go here - buck2 tries to categorize these types + # of errors automatically. An example of a finer grain error category may be the error + # code for rustc outputs. + category: str, + + # The stringified hash of the extra message provided for the specific sub-error category. + message_content: str, + + # List of error locations, if any + locations: Optional[list[ActionErrorLocation]], +} + +ActionErrorLocation { + # File path where the error appeared, preferrably either project-relative or absolute. + file: str, + + # Optional line number + line: Optional[u64] +} +``` + +### On Compatibility + +The format of the build report is generally stable. However, note that new +fields may be added at any time, and you should ensure this does not cause your +parsing to fail. + +A number of fields above are marked as being for buck1 backwards compatibility +only. These fields all have superior alternatives available in the build report +already. We would strongly prefer that new code neither use nor parse them, as +this increases the likelyhood that they can be removed one day. + +The build report additionally outputs a few fields that are intentionally not +documented here. Those fields are even less useful than ones documented as being +for backwards compatibility only, and even closer to removal. **Please** avoid +using or parsing these if at all possible. + +### Limitations + +The build report currently has at least the following limitations: + +1. It includes only one action error per failed target. This is the expected + behavior when `--keep-going` is not passed, but when `--keep-going` is + passed, this is a bug. +1. It is currently not generated when a non-existant package is specified on + the command line. This is also a bug. +1. It cannot be requested for any buck2 command other than `build` +1. Errors do not contain any additional metadata outside of the error message. + This will be made available as such metadata is available in buck2. +1. The "failures" field is always empty. This will be changed under a + backcompat opt-in flag in the future. + +Finally, it's worth raising that the concept of error deduplication has some +fundamental limitations; if two targets both refer to the same non-existant +dependency, do those errors have the same cause (the dependency doesn't exist) +or different causes (each target is individually broken)? As a result, the exact +details of when two errors are considered to have the same cause are not +generally stable, and may not always be what you expect. diff --git a/_src/users/build_observability/interactive_console.md b/_src/users/build_observability/interactive_console.md new file mode 100644 index 0000000000000..79d9c2127c328 --- /dev/null +++ b/_src/users/build_observability/interactive_console.md @@ -0,0 +1,86 @@ +--- +id: interactive_console +title: Buck2 Consoles +--- + +Buck2 offers several console types for build-like commands (e.g. `build`, +`install`, `test`, etc.). The console is always written to stderr. + +The console can be specified via the `--console` flag, or the `BUCK_CONSOLE` env +variable. The default console type is `auto`. Supported `--console` types: + +- `auto` - Default console type. Auto defaults to the superconsole if the stderr + is a TTY. Otherwise will uses simple console +- `simple` - Build a simpleconsole with TTY, if TTY is supported by the OS. See + [Simpleconsole](#simpleconsole) +- `simplenotty` - Build a simpleconsole without TTY. See + [Simpleconsole](#simpleconsole) +- `simpletty` - Build a simpleconsole with TTY. See + [Simpleconsole](#simpleconsole) +- `super` - Build a superconsole regardless of whether stderr is a TTY. See + [Superconsole](#superconsole) +- `none` - See [No console](#no-console) + +If `simplenotty` or `none` are specified, or if TTY is not supported by the OS, +then we strip out any color within the error messages. + +All console options will output the build result, whether succeeded or not, to +stdout. Note that action execution stderr is hidden if the build succeeded. + +The simple and superconsole will also print metadata about the build itself, +such as the Buck2 UUID, the percentage of cache hits, and the number of action +commands ran. In addition, they will print the event spans detected within the +build. + +## Simpleconsole + +The simpleconsole prints the stdout/stderr messages and event spans, line by +line. There is no resource usage telemetry emitted. + +### Demo + +![Simpleconsole running a build](simpleconsole.gif) + +## Superconsole + +The superconsole uses the +[superconsole](https://github.com/facebookincubator/superconsole) library to +provide an interactive console which shows the event spans going on within +Buck2. + +### Demo + +![Superconsole running a build](superconsole.gif) + +### Toggles + +The superconsole also provides several toggles to inspect ongoing Buck2 +telemetry. + +To see what's available you can press `?` or `h`. This will work as long as +stdin is a TTY, which will be true most of the time if you're not piping +anything into Buck2. To disable to allow alternate use of stdin, or for follow +up pasted commands to not get swallowed, you can set the +`BUCK_NO_INTERACTIVE_CONSOLE` environment variable, or use the flag +`--no-interactive-console`. + +We support the following toggles: + +- `c` - toggle commands (shown in superconsole by default) +- `d` - toggle DICE key states +- `e` - toggle debugging events, such as spans and instant event counts +- `2` - toggle two lines mode when showing events +- `r` - toggle detailed remote execution info, such as uploads, downloads, and + action cache calls +- `i` - toggle I/O counters +- `p` - display target configurations +- `+` - show more lines +- `-` - show fewer lines +- `h` - show help + +Note: Not available yet for Windows + +## No console + +When specifying the `none` console type, Buck2 will only print if the build +succeeded, or the error if the build failed. diff --git a/_src/users/build_observability/logging.md b/_src/users/build_observability/logging.md new file mode 100644 index 0000000000000..88ea1688f2008 --- /dev/null +++ b/_src/users/build_observability/logging.md @@ -0,0 +1,158 @@ +--- +id: logging +title: Logging +--- + +Buck2 produces detailed event logs for each invocation, which follow a schema +outlined in `app/buck2_data/data.proto` in the buck2 parent directory. The event +logs that Buck2 produces automatically are always in protobuf zstd-compressed +format (see [Viewing the event log](#viewing-the-event-log) for more details). + +## Event log format + +Warning: the schemas are all subject to change, so we do not recommend relying +on the format. For the source of truth, take a look at `data.proto`. + +### Invocation header + +The first line of the event log is always the `Invocation` header: + +```python +Invocation { + # CLI args split into a list of strings + command_line_args: List[str], + # Expanded CLI args, which expand any argsfiles + expanded_command_line_args: List[str], + # Absolute path of the current working directory of the Buck2 command + working_dir: str, + # UUID of the Buck2 command + trace_id: str, +} +``` + +### Command result footer + +The last line is always the `CommandResult`: + +```python +Result { + # One of the result types of CommandResult protobuf type in data.proto + result: BuildResponse | CqueryResponse | BxlResponse | ..., +} +``` + +### Buck events + +The rest of the event log contain `BuckEvent`s, which are either +`SpanStartEvent`s, `SpanEndEvent`s, or `InstantEvent`s. + +The `BuckEvent` format is roughly as follows: + +```python +Event { + # When the event was fired. This is always a 2-item list, where the first + # value is millis, second value is micros + timestamp: List[u64], + # UUID of the Buck2 command, same one as the invocation header + trace_id: str, + # A trace-unique 64-bit integer identifying this event's span ID, + # if this event begins a new span or belongs to one. + span_id: u64, + # A trace-unique 64-bit identifying the span that this event is logically + # parented to. + parent_id: u64, + # See sections below for more details + data: SpanStart | SpanEnd | Instant, +} +``` + +#### Span starts + +The `SpanStartEvent` indicates that a span of work starting: + +```python +SpanStart { + # One of the data types of SpanStartEvent protobuf type in data.proto + data: AnalysisStart | ActionExecutionStart | ..., +} +``` + +#### Span ends + +The `SpanEndEvent` indicates that a span of work has finished: + +```python +SpanEnd { + # Duration of the span + duration_us: u64, + # CPU poll times for this span + stats: SpanStats, + # One of the data types of SpanEndEvent protobuf type in data.proto + data: AnalysisEnd | ActionExecutionEnd | ..., +} + +# CPU poll times for this span +SpanStats { + max_poll_time_us: u64, + total_poll_time_us: u64, +} +``` + +#### Instant events + +The `InstantEvent` represents a single point in time: + +```python +InstantEvent { + # One of the data types of InstantEvent protobuf type in data.proto + data: ConsoleMessage | ActionError | ..., +} +``` + +One specific instant event type that may be of interest is the `SnapShot` event, +which includes some interesting details like RSS, CPU, I/O, remote execution, +and DICE metrics. + +## Viewing the event log + +Event logs can be accessed using commands under `buck2 log show`, which outputs +the event logs in JSONL format. You can run `buck2 log show --help` to see all +available options. Some useful commands: + +- Show the logs for the most recent Buck2 command: + +```sh +buck2 log show +``` + +- Show the logs for a specific Buck2 command, given the command's UUID: + +```sh +buck2 log show --trace-id +``` + +- Show the logs for a recent Buck2 command: + +```sh +buck2 log show --recent +``` + + + +You can also download the logs locally from Buck2 UI. The logs will be +downloaded from Manifold in protobuf zstd-compressed format, and you can view +them in JSONL format by passing the path into `buck2 log show`. + + +The JSON schema is derived from the protobuf types, and the log itself could be +quite large. [jq](https://jqlang.github.io/jq/) can be useful to find specific +things. For example, this jq script shows the max event delay between a snapshot +event creation on the daemon side, and when the client receives it. + +```sh +buck2 log show | jq -s ' + map( + .Event.data.Instant.data.Snapshot.this_event_client_delay_ms + | select(. != null) + ) | max' +``` diff --git a/_src/users/build_observability/simpleconsole.gif b/_src/users/build_observability/simpleconsole.gif new file mode 100644 index 0000000000000..079ae7038d5a5 Binary files /dev/null and b/_src/users/build_observability/simpleconsole.gif differ diff --git a/_src/users/build_observability/superconsole.gif b/_src/users/build_observability/superconsole.gif new file mode 100644 index 0000000000000..f04a970e67d0e Binary files /dev/null and b/_src/users/build_observability/superconsole.gif differ diff --git a/_src/users/cheatsheet.md b/_src/users/cheatsheet.md new file mode 100644 index 0000000000000..05d911ea7f7c5 --- /dev/null +++ b/_src/users/cheatsheet.md @@ -0,0 +1,129 @@ +--- +id: cheat_sheet +title: Cheat Sheet +--- + +# Buck2 Cheat Sheet + +This section provides example command lines that you can use to obtain +information about Buck2 and about your build. These techniques can help you to +understand how your build works and to troubleshoot issues with your build. +These examples use the [`buck2 cquery`](../query/cquery) command. We recommend +cquery over uquery in most cases because cquery operates on the configured +graph, which means that targets have had the expected configurations applied on +them. + +--- + +- How do I find all the targets for a package? +- How do I specify more than one target to `buck2 cquery`? +- How do I get the attribute names and values for the targets that result from a + query? +- How do I perform a query inside of a rule? +- How do I find the dependencies for a target, that is, the targets on which a + specified target depends? +- How do I find the reverse-dependencies for a target, that is, the targets that + depend on a specified target? +- How do I find the build file that contains the target that owns a source file? + +--- + +### How do I find all the targets for a package? + +Specify a _build target pattern_ that represents the targets in the package. + +``` +buck2 cquery //path/to/dir/... +``` + +The `buck2 cquery` command can accept a +[build target pattern](../../concepts/target_pattern) as a parameter. If you +specify a build target pattern, Buck2 evaluates this pattern and shows all the +build targets that match it. + +### How do I specify more than one target to `buck2 cquery`? + +Use the `buck2 cquery set()` operator. The following command line returns the +target `main` in the build file in the root of the Buck2 project and all the +targets from the build file in the `myclass` subdirectory of the root. + +``` +buck2 cquery "set( '//:main' '//myclass:' )" +``` + +### How do I get the attribute names and values for the targets returned by a query? + +Add the `--output-attribute ` or `--output-all-attributes` option to +the command line, followed by regular expressions that represent the attributes +of interest. + +``` +buck2 cquery "deps(//foo:bar)" --output-attribute 'name' 'exported_headers' +``` + +The `--output-attribute` option enables you to specify which attributes Buck2 +should return. Instead of returning the names of the targets that match the +query expression, Buck2 returns the names and values of the specified attributes +for those targets in JSON format. Attributes are specified as regular +expressions. For example, `'.*'` matches all attributes. See the +[`buck2 cquery` docs](../query/cquery) for more details. The output for the +example query above might look something like the following. + +``` +{"//foo/bar/lib:lib" : {"exported_headers" : [ "App/util.h" ],"name" : "lib"},"//foo/bar:app" : {"exported_headers" : [ "App/lib.h" ],"name" : "app"}} +``` + +### How do I perform a query** \***inside**\* **of a rule? + +Buck2 supports certain string parameter macros to be used when defining a +target. You can use the query macros as such: + +``` +$(query_targets "queryfunction(//:foo)") +$(query_outputs "queryfunction(//:foo)") +$(query_targets_and_outputs [SEPARATOR] "queryfunction(//:foo)") +``` + +Note, however, that the query macros are supported only for +[`genrule`](../../prelude/globals/#genrule) and +[`apk_genrule`](../../prelude/globals/#apk_genrule). + +### How do I find the dependencies for a target? + +Use the `deps()` operator. + +``` +buck2 cquery "deps('//foo:bar')" +buck2 cquery "deps('//foo:bar', 1, first_order_deps())" +buck2 cquery "deps(set('//foo:bar' '//foo:lib' '//foo/baz:util'))" +``` + +The `deps` operator finds the dependencies of the specified targets. The first +argument represents the targets of interest. This can be a single +[build target](../../concepts/build_target) or +[build target pattern](../../concepts/target_pattern), or a set of these. The +optional second argument is the _depth_ of the search for dependencies from the +specified targets. For example, `1`, as shown in the example above, returns only +the direct dependencies. If you do not provide this argument, the output is the +complete set of transitive dependencies. How do I find the reverse-dependencies +for a target, that is, the targets that** \***depend on**\* **a specified +target? Use the `buck2 cquery rdeps()` (reverse dependencies) operator. The +following example, returns the targets in the +[transitive closure](https://en.wikipedia.org/wiki/Transitive_closure) of +`//foo:bar` that depend directly on `//example:baz`. + +``` +buck2 cquery "rdeps('//foo:bar', '//example:baz', 1)" +``` + +### How do I find the buildfile that contains the target that owns a source file? + +In order to find the build file associated with a source file, combine the +`owner` operator with `buildfile`. For example, + +``` +buck2 cquery "buildfile(owner('foo/bar/main.cpp'))" +``` + +first finds the targets that _own_ `foo/bar/main.cpp` and then returns the build +files, such as `foo/bar/BUCK`, that define those targets. diff --git a/_src/users/faq/buck_hanging.md b/_src/users/faq/buck_hanging.md new file mode 100644 index 0000000000000..660558c6bca40 --- /dev/null +++ b/_src/users/faq/buck_hanging.md @@ -0,0 +1,83 @@ +--- +id: buck_hanging +title: Why is Buck2 hanging? +--- + +Let's look at how to troubleshoot when buck2 hangs, i.e. it just sits there +saying "Jobs: In progress: 0, ..." but it’s not finishing... + +When buck2 hangs, there are two possibilities: It’s either hanging doing +_something_, or it’s hanging doing _nothing_. The first thing you should do is +figure out which of those is happening. That’s because the tools to debug either +of those are _very_ different! We will mainly focus on the first in this case. + +To figure out which hang you have on your hands, just look at how much CPU buck2 +is using when the hang occurs using your favorite activity monitor (e.g. `top`, +`htop`). Remember that you can find the buck2 daemon’s PID using `buck2 status`. +Ideally, break the utilization down by threads (in top, that’s `top -Hp $PID`). + +If any thread is using 100% CPU for some period of time, then you probably have +a busy hang (buck2 is doing “something”) which are usually easier to debug. + +## How to debug a “busy” hang + +### Getting a stack trace + +When debugging a busy hang, the first thing to do is to work out what the +process is doing. There are many tools you can use for this (like a profiler), +but the absolute simplest one is quickstack: just run `quickstack -p $PID`, and +it’ll show you a stack dump for all the threads in your process. If you prefer +`gdb`, you can use `gdb -p $PID`, then `thread apply all bt`, and that’s the +same thing. + +Note that a stack trace tells you what the process is doing at a point in time, +so don’t just look at the very last frame and call it the culprit. Instead, look +at the stack as a whole. If you need more perspective, use a sampling profiler +(strobeclient run --pid $PID). You can also +just grab stack traces at a few points in time and see if they look similar: +this is exactly what a sampling profiler does, albeit at a higher frequency. + +### Interpreting the stack trace + +Let's consider an example user report ( see +[here](https://fb.workplace.com/groups/buck2users/permalink/3232782826978076/)) +with the following stack trace: + +``` +#01 0x0000000005b1ec26 in as core::iter::traits::iterator::Iterator>::next () from ... +#02 0x0000000005b23998 in as itertools::Itertools>::exactly_one () from ... +#03 0x00000000059dbb2c in buck2_server_commands::commands::build::create_unhashed_outputs () from ... +#04 0x0000000005c3c677 in ::command::{closure#0}> as core::future::future::Future>::poll () from ... +#05 0x00000000054c58a3 in as buck2_server_ctx::ctx::ServerCommandDiceContext>::with_dice_ctx::{closure#0}::{closure#0}::{closure#0}, core::pin::Pin> + core::marker::Send>>, cli_proto::BuildResponse>::{closure#0}> as core::future::future::Future>::poll () from ... +#06 0x00000000054c7ae3 in ::{closure#0}::{closure#0}> as core::future::future::Future>::poll () from ... +#07 0x0000000005370df8 in ::call_in_span::, buck2_data::CommandEnd)>, ::span_async::{closure#0}::{closure#0}>, core::result::Result>::{closure#0}::{closure#0}::{closure#0}> () from ... +#08 0x00000000054f7288 in ::build::{closure#0}> as core::future::future::Future>::poll () from... + ... +``` + +At this point, you can look at the code, and note that there is no span around +the output symlink creation function (`create_unhashed_outputs`). This suggests +you’ve found your culprit: there is indeed a buck2 bug and we’re spending ages +creating unhashed output symlinks, and since you need a span to get any console +feedback, the console says nothing is happening. + +**An easy fix**: In this particular instance, Thomas spotted +[an easy optimization](https://github.com/facebook/buck2/commit/d677e41253b73a31aafa1255a532c38992482efd) +which resolved the issue. But, of course, that’s not always possible. If the +easy fix hadn't been available, we’d be at a dead end, so what do we do next? + +**A harder fix**: If it is not clear what the root-cause is, you can +bisect[you can bisect](users/faq/how_to_bisect.fb.md): +i.e. do a binary search across commits for the commit that introduced a given +breakage/perf degradation. Thanks to the fact that we enforce a +linear history, bisecting is pretty straightforward in +`fbsource`. Then, once you identify their commit that caused +breakage, investigate what caused the issue. + +## How to debug a “doing nothing” hang + +**Cycle in dependencies**: If buck2 seems to be doing nothing (e.g. CPU usage is +0%), one of the reasons could be a cycle in your dependencies, which may cause +buck2 to hang (buck2 does implement a form of cycle detection, but it +unfortunately has false negatives). You can confirm this by running buck1, which +will report cycles properly. diff --git a/_src/users/faq/common_issues.md b/_src/users/faq/common_issues.md new file mode 100644 index 0000000000000..803d6154d3f0a --- /dev/null +++ b/_src/users/faq/common_issues.md @@ -0,0 +1,97 @@ +--- +id: common_issues +title: Common Issues +--- + +## Why is stdin being swallowed? + +Buck2 offers an interactive console by default. + +To disable either use an env var: `BUCK_NO_INTERACTIVE_CONSOLE` or a flag: +`--no-interactive-console` + +## Where is my output file? + +To find the location of output for a target, use +`buck2 build //foo:bar --show-output`. This will print the output corresponding +to each built target, in this case `//foo:bar output_path`. + +To only get the output path (without the target beforehand) you want to use +`buck2 build //foo:bar --show-simple-output`. + +The resultant path is relative to the root of the repo (such as +`~/repo_root/...`). For the full path use `--show-full-output` or +`--show-full-simple-output`. + +Note: in Buck1, the path is relative to the enclosing cell (such as +`~/repo_root/cell/...`). + + +For Meta, repo_root = fbsource, cell = fbcode/fbobjc/... + + +## Why is Buck2 hanging? + +If Buck2 seems to be doing nothing, it could be caused be a cycle in your +dependencies, which may cause Buck2 to hang (Buck2 does implement a form of +cycle detection, but it unfortunately has false negatives). You can confirm this +by running Buck1, which will report cycles properly. + +## How do I get the commands Buck2 executed so I can reproduce them in isolation? + +For information, see +[Finding Commands that Buck2 Ran](../../developers/what-ran.md). + +## Are multiple concurrent commands supported? + +Yes, they are supported. There are 2 types of concurrent commands: 1) parallel +invocations, and 2) recursive invocations. + +**Parallel invocations:** + +If the state of all the commands are the same, then they will run at the same +time. "State" is referring to the same configs and source files. If the state is +different amongst the commands, then buck2 will block the commands properly such +that the states do not interfere with each other. Different states are caused by +source file changes or config changes (ex: using a different mode). + +**Recursive invocations:** + +A recursive invocation is when an outer buck2 command ends up calling another +buck2 command as it's running. Recursive invocations are most commonly seen with +genrules and tests. For example: + +- If you have a `genrule` where the command contains a `buck2 cquery`, and you + build the genrule with `buck2 build`, you have a recursive invocation where + the outer command is `buck2 build` and the inner command is `buck2 cquery` +- If you have a test which contains `buck2 build`, and you run your test with + `buck2 test`, you have a recursive invocation where the outer command is + `buck2 test` and the inner command is `buck2 build` + +Recursive invocations should specify an `--isolation-dir`, or else buck2 will +return an error. + +## Why did my build OOM? + +If your build OOMs, you can check the last actions running by using +`buck2 log whatup`. This will print the superconsole state at the moment the +event log ended, which will indicate what actions were being run (and consuming +memory) when your machine ran out of memory. + +You can also use the `--after ` option to see all open spans at a +certain point in time of the build. + +## Why does my target not have any outputs? + +If you see that your build succeeded, but the console message stated that your +target did not have any outputs, this means that the underlying rule did not +declare any outputs artifacts, defined as outputs declared in: + +- `default_outputs` and/or `other_outputs` in `DefaultInfo` +- `cmd_args` in `RunInfo` +- `cmd_args` inside the `command` in `ExternalRunnerTestInfo` + +For example, building a target which uses a `python_library` rule merely groups +source files together and does not generate any output artifacts such as a +python executable. You would need to build a `python_binary` which uses that +library in order to get an output. diff --git a/_src/users/faq/starlark_peak_mem.md b/_src/users/faq/starlark_peak_mem.md new file mode 100644 index 0000000000000..a90fa26775568 --- /dev/null +++ b/_src/users/faq/starlark_peak_mem.md @@ -0,0 +1,168 @@ +--- +id: starlark_peak_mem +title: Debugging Excess Starlark Peak Memory +--- + +## Wut memory? + +Peak memory is the maximum amount of memory used during evaluation of that +particular Starlark file. The memory is usually released after we finish the +evaluation of the file. Because Starlark is only garbage collected in between +top-level statements in the BUCK file, but not garbage collected inside function +calls/macros, on large servers with 64 hardware threads (or more), memory usage +might accumulate, causing slowdowns or OOMs or even SEVs (e.g. +S372092). See +[this post](https://fb.workplace.com/groups/1267349253953900/permalink/1312921066063385/) +for more details on how Starlark's current GC works . + +To prevent such issues until proper GC is implemented, we have set a hard `2GB` +memory limit for Starlark's evaluation of build files. This is a per-file limit. + +Note that this is different than the actual process memory which might include +other things apart from Starlark’s evaluation. + +## How do I see my build file's peak memory usage? + +To see the Starlark peak memory usage of a build file, you can inspect the event +log for your build file. Here is an example entry from the event log for buck2 +uquery `target` showing that it uses 1.5GB: + +``` +{"Event":{..."data":{"Load":{"module_id":"target:BUCK","cell":"...","error":null,"starlark_peak_allocated_bytes":1610608640}}}}}} +``` + +## Profiler to the rescue! + +If you want to see more detailed breakdown where the memory is used, you should +profile Starlark's evaluation of build files. See +[this page](../../rule_authors/optimization.md/#starlark-profiling) for details +of profiling in the loading stage. This is a great starting point for +troubleshooting. + +## How do I reduce memory footprint? + +There are many reasons why Starlark's evaluation of your build file might use a +lot of memory. We list a few common cases below but there might be more +cases. See +[this post](https://fb.workplace.com/groups/buck2eng/permalink/3309329642697846/) +for a few real world examples of debugging Starlark peak memory usage of core +Android macros that have saved over 5.7GB peak memory! + +High level guidance is to pay attention to loops as a starting point. Are there +any unnecessary computations? Can you shave them off? + +### Repeatedly allocating memory unnecessarily in a loop + +A common case where memory usage might accumulate is repeatedly allocating +memory in a loop. For instance, below we call a memory intensive function in a +loop unnecessarily: + +``` +for target in huge_target_list: + memory_intensive_fun(x,y) + ... +``` + +Instead, if we know that arguments `x` and `y` don't change, we could hoist the +call to `memory_intensive_fun` outside of the loop as follows: + +``` +memory_intensive_fun(x,y) +for target in huge_target_list: + ... +``` + +### Simply allocating very big data-structures! + +Another reason why Starlark uses a lot of memory could simply be because the +build file allocates a very big-data structure. For instance, below we allocate +a list with 1 billion integers! + +``` +million_list = [1 for i in range(1 << 20)] +billion_list = million_list * (1 << 10) + +``` + +As a workaround, could you think of splitting the list? + +### Algorithmically inefficient code + +Another reason could be because memory efficiency of your code is bad, i.e. you +are unnecessarily allocating a lot of memory. Let's look at an example where we +try to process a bunch of targets inefficiently: + +``` +targets = generate_targets(n) +for target in targets: + process(target) + +``` + +If `targets` list is big **and** each target takes a lot of space in memory, +memory usage might exceed the limit. Instead, a more efficient version might be +to process each target as you generate it: + +``` +for i in range(n): + target = generate_target(i) + process(target) +``` + +In this version, each target is processed as it is generated so we never need to +store more than one target in memory. + +### Usage of inefficient library calls + +A more subtle reason could be unknowingly invoking library calls that allocate +each time they are called. A well-known case of this is the `dict.items()` call. + +``` +for project, version in constraints.items(): + # process each project .... +``` + +We do an allocation on every call to `constraints.items()`. Especially if this +is a hot code in Starlark, this could cause an OOM. Instead, a potential fix is +to hoist the call out: + +``` +constraints = constraints.items() +for project, version in constraints: + # process each project .... +``` + +However, you need to ensure that the dictionary is not mutated inside, otherwise +you would get functionally different code. A similar case occurs for +`dict.keys()` where it returns a new list for containing the keys. + +### Allocating for rare cases + +Finally, another pattern is allocating memory for the rare cases. For instance, +consdier the following example + +``` +for target in huge_target_list: + if memory_intensive_condition([target]) + fail(...) +``` + +Above program could be optimized as follows: + +``` +if memory_intensive_condition(huge_target_list) + for target in huge_target_list: + if memory_intensive_condition([target]) + fail(...) +``` + +so that in the common non-failure case, we don't end up allocating excessive +memory. + +## I still need more help! + +If you still can not figure out how to reduce Starlark memory footprint of your +build files, please post in +[Buck2 Users](https://fb.workplace.com/groups/buck2users)raise +[an issue](https://github.com/facebook/buck2/issues) in our Github +project. diff --git a/_src/users/remote_execution.md b/_src/users/remote_execution.md new file mode 100644 index 0000000000000..1d72fa14d91a0 --- /dev/null +++ b/_src/users/remote_execution.md @@ -0,0 +1,72 @@ +--- +id: remote_execution +title: Remote Execution +--- + +Buck2 can use services that expose +[Bazel's remote execution API](https://github.com/bazelbuild/remote-apis) in +order to run actions remotely. + +Buck2 projects have been successfully tested for remote execution against +[EngFlow](https://www.engflow.com/), +[BuildBarn](https://github.com/buildbarn/bb-remote-execution) and +[BuildBuddy](https://www.buildbuddy.io). Sample project configurations for those +providers are available under +[examples/remote_execution](https://github.com/facebook/buck2/tree/main/examples/remote_execution). + +## RE configuration in `.buckconfig` + +Configuration for remote execution can be found under `[buck2_re_client]` in +`.buckconfig`. + +Keys supported include: + +- `engine_address` - address to your RE's engine. +- `action_cache_address` - address to your action cache endpoint. +- `cas_address` - address to your content-addressable storage (CAS) endpoint. +- `tls_ca_certs` - path to a CA certificates bundle. This must be PEM-encoded. + If none is set, a default bundle will be used. This path contains environment + variables using shell interpolation syntax (i.e. $VAR). They will be + substituted before reading the file. +- `tls_client_cert` - path to a client certificate (and intermediate chain), as + well as its associated private key. This must be PEM-encoded. This path can + contain environment variables using shell interpolation syntax (i.e. $VAR). + They will be substituted before reading the file. +- `http_headers` - HTTP headers to inject in all requests to RE. This is a + comma-separated list of `Header: Value` pairs. Minimal validation of those + headers is done here. This can contain environment variables using shell + interpolation syntax ($VAR). They will be substituted before reading the file. +- `instance_name` - an instance name to pass on execution, action cache, and CAS + requests. + +Buck2 uses `SHA256` for all its hashing by default. If your RE engine requires +something else, this can be configured in `.buckconfig` as follows: + +```ini +[buck2] +# Accepts BLAKE3, SHA1, or SHA256 +digest_algorithms = BLAKE3 +``` + +## RE platform configuration + +Next, your build will need an +[execution platform](https://buck2.build/docs/concepts/glossary/#execution-platform) +that specifies how and where actions should be executed. For a sample platform +definition that sets up an execution platform to utilize RE, take a look at the +[EngFlow example](https://github.com/facebook/buck2/blob/main/examples/remote_execution/engflow/platforms/defs.bzl), +[BuildBarn example](https://github.com/facebook/buck2/blob/main/examples/remote_execution/buildbarn/platforms/defs.bzl), +or the +[BuildBuddy example](https://github.com/facebook/buck2/blob/main/examples/remote_execution/buildbuddy/platforms/defs.bzl). + +To enable remote execution, configure the following fields in +[CommandExecutorConfig](https://buck2.build/docs/api/build/globals/#commandexecutorconfig) +as follows: + +- `remote_enabled` - set to `True`. +- `local_enabled` - set to `True` if you also want to run actions locally. +- `use_limited_hybrid` - set to `False` unless you want to exclusively run + remotely when possible. +- `remote_execution_properties` - other additional properties. + - If the RE engine requires a container image, this can be done by setting + `container-image` to an image URL, as is done in the example above. diff --git a/assets/css/styles.e465f46c.css b/assets/css/styles.e465f46c.css new file mode 100644 index 0000000000000..a562133289e51 --- /dev/null +++ b/assets/css/styles.e465f46c.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}body,ol ol,ol ul,ul ol,ul ul{margin:0}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_mC6p,.details_lb9f>summary,.dropdown__menu,.menu__list{list-style:none}*,.FeedbackButton_oOHZ,.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.searchbox__reset:focus,.searchbox__submit:focus,body:not(.navigation-with-keyboard) :not(input):focus{outline:0}pre,table{overflow:auto}.markdown li,body{word-wrap:break-word}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#4566a4;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#46cbae;--ifm-color-primary-lighter:#66d4bd;--ifm-color-primary-lightest:#92e0d0;--ifm-code-font-size:95%;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_LNqP{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList__CuJ{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_tbUL,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area.breadcrumbs__link[href]:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_S0QG>:last-child,.collapsibleContent_i85q>:last-child,.footer__items,.tabItem_Ymn6>:last-child{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter);content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.cta_wrapper_gL2E,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-duration:.25s;transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-duration:.1s;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--ifm-color-primary:#88aaeb}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}.docusaurus-highlight-code-line{background-color:#0000001a;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}html[data-theme=dark] .docusaurus-highlight-code-line{background-color:#0000004d}.button{margin:0 10px}table.starlark_members_table td:first-child{max-width:0;width:20%}table.starlark_members_table td:nth-child(2){width:45%}table.starlark_members_table td:nth-child(3){max-width:0;width:30%}.navbar__link--active{text-decoration-line:underline}#docusaurus-base-url-issue-banner-container,.themedImage_ToTc,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit;text-decoration:underline}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}[data-theme=dark] .themedImage--dark_i4oU,[data-theme=light] .themedImage--light_HNdA{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity .2s ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:.15s;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.CodeBlockFilenameTab_T2zd{border:1px solid var(--ifm-color-primary-contrast-foreground);border-radius:8px 8px 0 0;color:var(--ifm-color-primary-contrast-foreground);font-weight:300;padding:6px 10px}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_ev3q{height:auto}.admonition_LlT9{margin-bottom:1em}.admonitionHeading_tbUL{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem}.admonitionHeading_tbUL code{text-transform:none}.admonitionIcon_kALy{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_kALy svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.button_ipBY{background-color:var(--ifm-color-primary-dark);border:2px solid #0000;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:12px 27px;text-align:center;text-decoration:none}.button_ipBY:hover{background-color:#fff;border:2px solid var(--ifm-color-primary-dark);color:var(--ifm-color-primary-dark)}.button_ipBY:disabled{cursor:not-allowed;opacity:.6}.editor_ksb3{grid-gap:12px;display:grid;grid-template-areas:"c c" "d e";grid-template-columns:50% 50%}.editor_header_k1u9{align-content:center;align-items:baseline;display:flex;grid-area:c;justify-content:space-between}.cta_wrapper_gL2E>*+*{margin-left:8px}.editor_input_J9Qe{background:#3a3b3c;grid-area:d}.editor_preview_IykG{grid-area:e}.preview_fail_note_lUiM{border:1px solid #f6f6f6;color:var(--ifm-color-primary-dark);width:50%}.live_editor_gff9{background-color:#3a3b3c;caret-color:#fff;font-family:Roboto Mono,Menlo,monospace;font-size:14px;min-height:400px}.live_error_EIYU{background:none;color:red;font-family:monospace;font-size:1em;padding:10px;white-space:break-spaces}.live_preview_LmGk{border:1px solid #fff;padding:10px}.unknown_component_htsO{background-color:#ffe9e9;border:2px solid #ff7e7e;border-radius:var(--ifm-global-radius);margin-bottom:8px;padding:2px 8px}.unknown_component_children_WmeU{border:2px solid var(--collapse-button-bg-color-dark);border-radius:var(--ifm-global-radius);padding:4px 8px;position:relative}.unknown_component_children_WmeU:before{background:var(--collapse-button-bg-color-dark);border-bottom-left-radius:var(--ifm-global-radius);color:var(--ifm-color-primary-contrast-background);content:"children";display:block;padding:0 4px;position:absolute;right:0;top:-1px}.filepath_validation_list_jJSD{color:#ea0000}.FeedbackButton_oOHZ{background-color:#e4e6eb;border:0 solid #e2e8f0;border-radius:1.5rem;color:#000;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;line-height:1;padding:1rem 1.6rem;text-align:center;touch-action:manipulation;user-select:none;-webkit-user-select:none}.FeedbackButton_oOHZ:hover{background-color:#828282}.FeedbackIcon_kE_h{height:13px;padding-right:5px}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docSidebarContainer_b6E3,.sidebarLogo_isFc{display:none}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.docsWrapper_BCFX{display:flex;flex:1 0 auto}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.buttons_AeoN{justify-content:center}.buttons_AeoN,.features_xdhU{align-items:center;display:flex}.searchbox,.searchbox__input{box-sizing:border-box;display:inline-block}.features_xdhU{padding:2rem 0;width:100%}.featureSvg__8YW{height:200px;width:200px}.algolia-docsearch-suggestion{border-bottom-color:#3a3dd1}.algolia-docsearch-suggestion--category-header{background-color:#4b54de}.algolia-docsearch-suggestion--highlight{color:#3a33d1}.algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background-color:#4d47d5}.aa-cursor .algolia-docsearch-suggestion--content{color:#272296}.aa-cursor .algolia-docsearch-suggestion{background:#ebebfb}.searchbox{height:32px!important;position:relative;visibility:visible!important;white-space:nowrap;width:200px}.searchbox .algolia-autocomplete{display:block;height:100%;width:100%}.searchbox__wrapper{height:100%;position:relative;width:100%;z-index:999}.searchbox__input{-webkit-appearance:none;appearance:none;background:#fff!important;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;font-size:12px;height:100%;padding:0 26px 0 32px;transition:box-shadow .4s,background .4s;vertical-align:middle;white-space:normal;width:100%}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{background:#fff;box-shadow:inset 0 0 0 1px #aaa;outline:0}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{background-color:#458ee100;border:0;border-radius:16px 0 0 16px;font-size:inherit;height:100%;left:0;margin:0;padding:0;position:absolute;right:inherit;text-align:center;top:0;-webkit-user-select:none;user-select:none;vertical-align:middle;width:32px}.searchbox__submit:before{content:"";display:inline-block;height:100%;margin-right:-4px;vertical-align:middle}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion,.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit svg{fill:#6d7e96;height:14px;vertical-align:middle;width:14px}.searchbox__reset{fill:#00000080;background:none;border:0;cursor:pointer;display:block;font-size:inherit;margin:0;padding:0;position:absolute;right:8px;top:8px;-webkit-user-select:none;user-select:none}.searchbox__reset.hide{display:none}.searchbox__reset svg{display:block;height:8px;margin:4px;width:8px}.searchbox__input:valid~.searchbox__reset{animation-duration:.15s;animation-name:a;display:block}@keyframes a{0%{opacity:0;transform:translate3d(-20%,0,0)}to{opacity:1;transform:none}}.algolia-autocomplete .ds-dropdown-menu:before{background:#373940;border-radius:2px;border-right:1px solid #373940;border-top:1px solid #373940;content:"";display:block;height:14px;position:absolute;top:-7px;transform:rotate(-45deg);width:14px;z-index:1000}.algolia-autocomplete .ds-dropdown-menu{box-shadow:0 1px 0 0 #0003,0 2px 3px 0 #0000001a}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{background:#fff;border-radius:4px;overflow:auto;padding:0;position:relative}.algolia-autocomplete .algolia-docsearch-suggestion{display:block;overflow:hidden;padding:0;position:relative;text-decoration:none}.algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--wrapper{background:#f1f1f1;box-shadow:inset -2px 0 0 #61dafb}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{background:#ffe564;padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight{background:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{background:inherit;box-shadow:inset 0 -2px 0 0 #458ee1cc;color:inherit;padding:0 0 1px}.algolia-autocomplete .algolia-docsearch-suggestion--content{cursor:pointer;display:block;float:right;padding:5.33333px 0 5.33333px 10.66667px;position:relative;width:70%}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{background:#ececec;content:"";display:block;height:100%;left:-1px;position:absolute;top:0;width:1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{background-color:#373940;color:#fff;display:none;font-size:14px;font-weight:700;letter-spacing:.08em;margin:0;padding:5px 8px;position:relative;text-transform:uppercase}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{background-color:#fff;float:left;padding:8px 0 0;width:100%}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{word-wrap:break-word;color:#777;display:none;float:left;font-size:.9em;padding:5.33333px 10.66667px;position:relative;text-align:right;width:30%}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{background:#ececec;content:"";display:block;height:100%;position:absolute;right:0;top:0;width:1px}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before,.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight{background-color:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--title{color:#02060c;font-size:.9em;font-weight:700;margin-bottom:4px}.algolia-autocomplete .algolia-docsearch-suggestion--text{color:#63676d;display:block;font-size:.85em;line-height:1.2em;padding-right:2px}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{background-color:#373940;font-size:1.2em;margin-top:-8px;padding:8px 0;text-align:center;width:100%}.algolia-autocomplete .algolia-docsearch-suggestion--no-results .algolia-docsearch-suggestion--text{color:#fff;margin-top:4px}.algolia-autocomplete .algolia-docsearch-suggestion code{background-color:#ebebeb;border:none;border-radius:3px;color:#222;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:90%;padding:1px 5px}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header{color:#fff;display:block}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column{display:block}.algolia-autocomplete .algolia-docsearch-footer{background-color:#fff;float:right;font-size:0;height:30px;line-height:0;width:100%;z-index:2000}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 18'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='url(%2523a)' d='M59.4.02h13.3a2.37 2.37 0 0 1 2.38 2.37V15.6a2.37 2.37 0 0 1-2.38 2.36H59.4a2.37 2.37 0 0 1-2.38-2.36V2.38A2.37 2.37 0 0 1 59.4.02z'/%3E%3Cpath fill='%2523FFF' d='M66.26 4.56c-2.82 0-5.1 2.27-5.1 5.08 0 2.8 2.28 5.07 5.1 5.07 2.8 0 5.1-2.26 5.1-5.07 0-2.8-2.28-5.07-5.1-5.07zm0 8.65c-2 0-3.6-1.6-3.6-3.56 0-1.97 1.6-3.58 3.6-3.58 1.98 0 3.6 1.6 3.6 3.58a3.58 3.58 0 0 1-3.6 3.57zm0-6.4v2.66c0 .07.08.13.15.1l2.4-1.24c.04-.02.06-.1.03-.14a2.96 2.96 0 0 0-2.46-1.5.1.1 0 0 0-.1.1zm-3.33-1.96-.3-.3a.78.78 0 0 0-1.12 0l-.36.36a.77.77 0 0 0 0 1.1l.3.3c.05.05.13.04.17 0 .2-.25.4-.5.6-.7.23-.23.46-.43.7-.6.07-.04.07-.1.03-.16zm5-.8V3.4a.78.78 0 0 0-.78-.78h-1.83a.78.78 0 0 0-.78.78v.63c0 .07.06.12.14.1a5.74 5.74 0 0 1 1.58-.22c.52 0 1.04.07 1.54.2a.1.1 0 0 0 .13-.1z'/%3E%3Cpath fill='%2523182359' d='M102.16 13.76c0 1.46-.37 2.52-1.12 3.2-.75.67-1.9 1-3.44 1-.56 0-1.74-.1-2.67-.3l.34-1.7c.78.17 1.82.2 2.36.2.86 0 1.48-.16 1.84-.5.37-.36.55-.88.55-1.57v-.35a6.37 6.37 0 0 1-.84.3 4.15 4.15 0 0 1-1.2.17 4.5 4.5 0 0 1-1.6-.28 3.38 3.38 0 0 1-1.26-.82 3.74 3.74 0 0 1-.8-1.35c-.2-.54-.3-1.5-.3-2.2 0-.67.1-1.5.3-2.06a3.92 3.92 0 0 1 .9-1.43 4.12 4.12 0 0 1 1.45-.92 5.3 5.3 0 0 1 1.94-.37c.7 0 1.35.1 1.97.2a15.86 15.86 0 0 1 1.6.33v8.46zm-5.95-4.2c0 .9.2 1.88.6 2.3.4.4.9.62 1.53.62.34 0 .66-.05.96-.15a2.75 2.75 0 0 0 .73-.33V6.7a8.53 8.53 0 0 0-1.42-.17c-.76-.02-1.36.3-1.77.8-.4.5-.62 1.4-.62 2.23zm16.13 0c0 .72-.1 1.26-.32 1.85a4.4 4.4 0 0 1-.9 1.53c-.38.42-.85.75-1.4.98-.54.24-1.4.37-1.8.37-.43 0-1.27-.13-1.8-.36a4.1 4.1 0 0 1-1.4-.97 4.5 4.5 0 0 1-.92-1.52 5.04 5.04 0 0 1-.33-1.84c0-.72.1-1.4.32-2 .22-.6.53-1.1.92-1.5.4-.43.86-.75 1.4-.98a4.55 4.55 0 0 1 1.78-.34 4.7 4.7 0 0 1 1.8.34c.54.23 1 .55 1.4.97.38.42.68.92.9 1.5.23.6.35 1.3.35 2zm-2.2 0c0-.92-.2-1.7-.6-2.22-.38-.54-.94-.8-1.64-.8-.72 0-1.27.26-1.67.8-.4.54-.58 1.3-.58 2.22 0 .93.2 1.56.6 2.1.38.54.94.8 1.64.8s1.25-.26 1.65-.8c.4-.55.6-1.17.6-2.1zm6.97 4.7c-3.5.02-3.5-2.8-3.5-3.27L113.57.92l2.15-.34v10c0 .25 0 1.87 1.37 1.88v1.8zm3.77 0h-2.15v-9.2l2.15-.33v9.54zM119.8 3.74c.7 0 1.3-.58 1.3-1.3 0-.7-.58-1.3-1.3-1.3-.73 0-1.3.6-1.3 1.3 0 .72.58 1.3 1.3 1.3zm6.43 1c.7 0 1.3.1 1.78.27.5.18.88.42 1.17.73.28.3.5.74.6 1.18.13.46.2.95.2 1.5v5.47a25.24 25.24 0 0 1-1.5.25c-.67.1-1.42.15-2.25.15a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.37-.27-.9-.27-1.44 0-.52.1-.85.3-1.2.2-.37.48-.67.83-.9a3.6 3.6 0 0 1 1.23-.5 7.07 7.07 0 0 1 2.2-.1l.83.16V8.4c0-.25-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.18-.34-.3-.58-.4a2.54 2.54 0 0 0-.92-.17c-.5 0-.94.06-1.35.13-.4.08-.75.16-1 .25l-.27-1.74c.27-.1.67-.18 1.2-.28a9.34 9.34 0 0 1 1.65-.14zm.18 7.74c.66 0 1.15-.04 1.5-.1V10.2a5.1 5.1 0 0 0-2-.1c-.23.03-.45.1-.64.2a1.17 1.17 0 0 0-.47.38c-.13.17-.18.26-.18.52 0 .5.17.8.5.98.32.2.74.3 1.3.3zM84.1 4.8c.72 0 1.3.08 1.8.26.48.17.87.42 1.15.73.3.3.5.72.6 1.17.14.45.2.94.2 1.47v5.48a25.24 25.24 0 0 1-1.5.26c-.67.1-1.42.14-2.25.14a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.38-.27-.9-.27-1.44 0-.53.1-.86.3-1.22.2-.36.5-.65.84-.88a3.6 3.6 0 0 1 1.24-.5 7.07 7.07 0 0 1 2.2-.1c.26.03.54.08.84.15v-.35c0-.24-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.17-.34-.3-.58-.4a2.54 2.54 0 0 0-.9-.15c-.5 0-.96.05-1.37.12-.4.07-.75.15-1 .24l-.26-1.75c.27-.08.67-.17 1.18-.26a8.9 8.9 0 0 1 1.66-.15zm.2 7.73c.65 0 1.14-.04 1.48-.1v-2.17a5.1 5.1 0 0 0-1.98-.1c-.24.03-.46.1-.65.18a1.17 1.17 0 0 0-.47.4c-.12.17-.17.26-.17.52 0 .5.18.8.5.98.32.2.75.3 1.3.3zm8.68 1.74c-3.5 0-3.5-2.82-3.5-3.28L89.45.92 91.6.6v10c0 .25 0 1.87 1.38 1.88v1.8z'/%3E%3Cpath fill='%25231D3657' d='M5.03 11.03c0 .7-.26 1.24-.76 1.64-.5.4-1.2.6-2.1.6-.88 0-1.6-.14-2.17-.42v-1.2c.36.16.74.3 1.14.38.4.1.78.15 1.13.15.5 0 .88-.1 1.12-.3a.94.94 0 0 0 .35-.77.98.98 0 0 0-.33-.74c-.22-.2-.68-.44-1.37-.72-.72-.3-1.22-.62-1.52-1C.23 8.27.1 7.82.1 7.3c0-.65.22-1.17.7-1.55.46-.37 1.08-.56 1.86-.56.76 0 1.5.16 2.25.48l-.4 1.05c-.7-.3-1.32-.44-1.87-.44-.4 0-.73.08-.94.26a.9.9 0 0 0-.33.72c0 .2.04.38.12.52.08.15.22.3.42.4.2.14.55.3 1.06.52.58.24 1 .47 1.27.67.27.2.47.44.6.7.12.26.18.57.18.92zM9 13.27c-.92 0-1.64-.27-2.16-.8-.52-.55-.78-1.3-.78-2.24 0-.97.24-1.73.72-2.3.5-.54 1.15-.82 2-.82.78 0 1.4.25 1.85.72.46.48.7 1.14.7 1.97v.67H7.35c0 .58.17 1.02.46 1.33.3.3.7.47 1.24.47.36 0 .68-.04.98-.1a5.1 5.1 0 0 0 .98-.33v1.02a3.87 3.87 0 0 1-.94.32 5.72 5.72 0 0 1-1.08.1zm-.22-5.2c-.4 0-.73.12-.97.38s-.37.62-.42 1.1h2.7c0-.48-.13-.85-.36-1.1-.23-.26-.54-.38-.94-.38zm7.7 5.1-.26-.84h-.05c-.28.36-.57.6-.86.74-.28.13-.65.2-1.1.2-.6 0-1.05-.16-1.38-.48-.32-.32-.5-.77-.5-1.34 0-.62.24-1.08.7-1.4.45-.3 1.14-.47 2.07-.5l1.02-.03V9.2c0-.37-.1-.65-.27-.84-.17-.2-.45-.28-.82-.28-.3 0-.6.04-.88.13a6.68 6.68 0 0 0-.8.33l-.4-.9a4.4 4.4 0 0 1 1.05-.4 4.86 4.86 0 0 1 1.08-.12c.76 0 1.33.18 1.7.5.4.33.6.85.6 1.56v4h-.9zm-1.9-.87c.47 0 .83-.13 1.1-.38.3-.26.43-.62.43-1.08v-.52l-.76.03c-.6.03-1.02.13-1.3.3s-.4.45-.4.82c0 .26.08.47.24.6.16.16.4.23.7.23zm7.57-5.2c.25 0 .46.03.62.06l-.12 1.18a2.38 2.38 0 0 0-.56-.06c-.5 0-.92.16-1.24.5-.3.32-.47.75-.47 1.27v3.1h-1.27V7.23h1l.16 1.05h.05c.2-.36.45-.64.77-.85a1.83 1.83 0 0 1 1.02-.3zm4.12 6.17c-.9 0-1.58-.27-2.05-.8-.47-.52-.7-1.27-.7-2.25 0-1 .24-1.77.73-2.3.5-.54 1.2-.8 2.12-.8.63 0 1.2.1 1.7.34l-.4 1c-.52-.2-.96-.3-1.3-.3-1.04 0-1.55.68-1.55 2.05 0 .67.13 1.17.38 1.5.26.34.64.5 1.13.5a3.23 3.23 0 0 0 1.6-.4v1.1a2.53 2.53 0 0 1-.73.28 4.36 4.36 0 0 1-.93.08zm8.28-.1h-1.27V9.5c0-.45-.1-.8-.28-1.02-.18-.23-.47-.34-.88-.34-.53 0-.9.16-1.16.48-.25.3-.38.85-.38 1.6v2.94h-1.26V4.8h1.26v2.12c0 .34-.02.7-.06 1.1h.08a1.76 1.76 0 0 1 .72-.67c.3-.16.66-.24 1.07-.24 1.43 0 2.15.74 2.15 2.2v3.86zM42.2 7.1c.74 0 1.32.28 1.73.82.4.53.62 1.3.62 2.26 0 .97-.2 1.73-.63 2.27-.42.54-1 .82-1.75.82s-1.33-.27-1.75-.8h-.08l-.23.7h-.94V4.8h1.26v2l-.02.64-.03.56h.05c.4-.6 1-.9 1.78-.9zm-.33 1.04c-.5 0-.88.15-1.1.45-.22.3-.34.8-.35 1.5v.08c0 .72.12 1.24.35 1.57.23.32.6.48 1.12.48.44 0 .78-.17 1-.53.24-.35.36-.87.36-1.53 0-1.35-.47-2.03-1.4-2.03zm3.24-.92h1.4l1.2 3.37c.18.47.3.92.36 1.34h.04l.18-.72 1.37-4H51l-2.53 6.73c-.46 1.23-1.23 1.85-2.3 1.85-.3 0-.56-.03-.83-.1v-1c.2.05.4.08.65.08.6 0 1.03-.36 1.28-1.06l.22-.56-2.4-5.94z'/%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100%;display:block;height:100%;margin-left:auto;margin-right:5px;overflow:hidden;text-indent:-9000px;width:110px}@media (min-width:601px){.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{left:inherit!important;right:0!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete .ds-dropdown-menu{background:#0000;border:none;border-radius:4px;height:auto;margin:6px 0 0;max-width:600px;min-width:500px;padding:0;position:relative;text-align:left;top:-6px;z-index:999}}@media (min-width:768px){.algolia-docsearch-suggestion{border-bottom-color:#7671df}.algolia-docsearch-suggestion--subcategory-column{border-right-color:#7671df;color:#4e4726}}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_m80_{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_BlDH,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_m80_:focus,.expandButton_m80_:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_m80_{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_Xe31{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media screen and (max-width:966px){.heroBanner_qdFl{padding:2rem}}@media (max-width:600px){.algolia-autocomplete .ds-dropdown-menu{display:block;left:auto!important;max-height:calc(100% - 5rem);max-width:calc(100% - 2rem);position:fixed!important;right:1rem!important;top:50px!important;width:600px;z-index:100}.algolia-autocomplete .ds-dropdown-menu:before{right:6rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/images/simpleconsole-5bfa37b932256fce081a21ce4f4c4b92.gif b/assets/images/simpleconsole-5bfa37b932256fce081a21ce4f4c4b92.gif new file mode 100644 index 0000000000000..079ae7038d5a5 Binary files /dev/null and b/assets/images/simpleconsole-5bfa37b932256fce081a21ce4f4c4b92.gif differ diff --git a/assets/images/superconsole-71265cd99fd66f981336092604efff94.gif b/assets/images/superconsole-71265cd99fd66f981336092604efff94.gif new file mode 100644 index 0000000000000..f04a970e67d0e Binary files /dev/null and b/assets/images/superconsole-71265cd99fd66f981336092604efff94.gif differ diff --git a/assets/js/00acdd45.9f57d6a4.js b/assets/js/00acdd45.9f57d6a4.js new file mode 100644 index 0000000000000..e4c25502efe5b --- /dev/null +++ b/assets/js/00acdd45.9f57d6a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1796],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>g,mdx:()=>b,useMDXComponents:()=>p,withMDXComponents:()=>d});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),d=function(e){return function(t){var n=p(t.components);return r.createElement(e,i({},t,{components:n}))}},p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},g=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},f="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(n),g=o,f=d["".concat(a,".").concat(g)]||d[g]||u[g]||i;return n?r.createElement(f,l(l({ref:t},c),{},{components:n})):r.createElement(f,l({ref:t},c))}));function b(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[f]="string"==typeof e?e:o,a[1]=l;for(var c=2;c{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var r=n(87462),o=(n(67294),n(3905));const i={id:"digest_config"},a="digest_config type",l={unversionedId:"api/build/digest_config",id:"api/build/digest_config",title:"digest_config type",description:"digest\\config.allows\\blake3",source:"@site/../docs/api/build/digest_config.generated.md",sourceDirName:"api/build",slug:"/api/build/digest_config",permalink:"/docs/api/build/digest_config",draft:!1,tags:[],version:"current",frontMatter:{id:"digest_config"},sidebar:"apiSidebar",previous:{title:"dependency type",permalink:"/docs/api/build/dependency"},next:{title:"label type",permalink:"/docs/api/build/label"}},s={},c=[{value:"digest_config.allows_blake3",id:"digest_configallows_blake3",level:2},{value:"digest_config.allows_blake3_keyed",id:"digest_configallows_blake3_keyed",level:2},{value:"digest_config.allows_sha1",id:"digest_configallows_sha1",level:2},{value:"digest_config.allows_sha256",id:"digest_configallows_sha256",level:2}],d={toc:c};function p(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"digest_config-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"digest_config")," type"),(0,o.mdx)("h2",{id:"digest_configallows_blake3"},"digest","_","config.allows","_","blake3"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def digest_config.allows_blake3() -> bool\n")),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"digest_configallows_blake3_keyed"},"digest","_","config.allows","_","blake3","_","keyed"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def digest_config.allows_blake3_keyed() -> bool\n")),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"digest_configallows_sha1"},"digest","_","config.allows","_","sha1"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def digest_config.allows_sha1() -> bool\n")),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"digest_configallows_sha256"},"digest","_","config.allows","_","sha256"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def digest_config.allows_sha256() -> bool\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/014949af.3f3640c6.js b/assets/js/014949af.3f3640c6.js new file mode 100644 index 0000000000000..0c0a9955de057 --- /dev/null +++ b/assets/js/014949af.3f3640c6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6986],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>d,MDXProvider:()=>c,mdx:()=>g,useMDXComponents:()=>p,withMDXComponents:()=>u});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(){return r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var d=a.createContext({}),u=function(e){return function(t){var n=p(t.components);return a.createElement(e,r({},t,{components:n}))}},p=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=p(e.components);return a.createElement(d.Provider,{value:t},e.children)},h="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),u=p(n),c=i,h=u["".concat(o,".").concat(c)]||u[c]||m[c]||r;return n?a.createElement(h,s(s({ref:t},d),{},{components:n})):a.createElement(h,s({ref:t},d))}));function g(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,o=new Array(r);o[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[h]="string"==typeof e?e:i,o[1]=s;for(var d=2;d{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>d});var a=n(87462),i=(n(67294),n(3905));const r={id:"dep_files",title:"Dep Files"},o=void 0,s={unversionedId:"rule_authors/dep_files",id:"rule_authors/dep_files",title:"Dep Files",description:"Dep files allow commands to declare which subset of their inputs were used when",source:"@site/../docs/rule_authors/dep_files.md",sourceDirName:"rule_authors",slug:"/rule_authors/dep_files",permalink:"/docs/rule_authors/dep_files",draft:!1,tags:[],version:"current",frontMatter:{id:"dep_files",title:"Dep Files"},sidebar:"mainSidebar",previous:{title:"PACKAGE Files",permalink:"/docs/rule_authors/package_files"},next:{title:"Why BXL",permalink:"/docs/developers/bxl"}},l={},d=[{value:"Use Cases",id:"use-cases",level:2},{value:"Using dep files",id:"using-dep-files",level:2},{value:"Declaring the dep files and associating inputs",id:"declaring-the-dep-files-and-associating-inputs",level:2},{value:"Producing the dep file",id:"producing-the-dep-file",level:2},{value:"Testing dep files",id:"testing-dep-files",level:2},{value:"Extra notes to the implementer",id:"extra-notes-to-the-implementer",level:2},{value:"Limitations",id:"limitations",level:3},{value:"Dep files don't need to be covering",id:"dep-files-dont-need-to-be-covering",level:3},{value:"Dep files are lazy",id:"dep-files-are-lazy",level:3},{value:"Dep files will traverse symlinks",id:"dep-files-will-traverse-symlinks",level:2}],u={toc:d};function p(e){let{components:t,...n}=e;return(0,i.mdx)("wrapper",(0,a.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,i.mdx)("p",null,"Dep files allow commands to declare which subset of their inputs were used when\nthe command executed."),(0,i.mdx)("p",null,"When a command produces a dep file and is later invalidated due to an inputs\nchange, Buck2 uses the dep file to check whether the inputs that changed were in\nthe set that the command reported as having used. If none of the inputs that\nchanged were in that set, Buck2 omits re-running the command and reuses the\nprevious result."),(0,i.mdx)("h2",{id:"use-cases"},"Use Cases"),(0,i.mdx)("p",null,"Dep files are used to make dependencies finer grained than what exists in the\ntarget graph, but they're not a substitute for avoiding unused dependencies.\nThey're often useful when targets export many outputs (such as C++ headers) that\naren't all used by all their dependents."),(0,i.mdx)("p",null,"Dep files are currently used to skip recompilation steps in C++ when an unused\nheader changed. They're also used in Java to skip recompilation when an unused\nclass changed."),(0,i.mdx)("h2",{id:"using-dep-files"},"Using dep files"),(0,i.mdx)("p",null,"To use dep files, you need to do the following:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"Declare what output is a dep file and associate it with your command."),(0,i.mdx)("li",{parentName:"ul"},"Declare which inputs are covered by the dep file (this can be a subset of your\ninputs)."),(0,i.mdx)("li",{parentName:"ul"},"Have your command produce the dep file in a format Buck2 can use.")),(0,i.mdx)("p",null,"You must also enable\n",(0,i.mdx)("a",{parentName:"p",href:"/docs/users/advanced/deferred_materialization"},"Deferred Materialization")," to use\ndep files."),(0,i.mdx)("h2",{id:"declaring-the-dep-files-and-associating-inputs"},"Declaring the dep files and associating inputs"),(0,i.mdx)("p",null,"To declare a dep file and associate it with your command, you need to tag your\nartifacts."),(0,i.mdx)("p",null,"Specifically, you'll tag the output (the dep file) and the inputs it covers, as\nshown in the following code:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'# First, create a tag\n\nheaders_tag = ctx.actions.artifact_tag()\n\n# Then, tag inputs and the dep file itself in your command line.\n# You do this using the `tag_artifacts` method on your tag.\n# This method does not mutate the input, it wraps it, so you use the output.\n# Any command-line-arg-like can be tagged.\n\ntagged_headers = headers_tag.tag_artifacts(headers)\n\ndep_file = ctx.actions.declare_output("deps").as_output()\ntagged_dep_file = headers_tag.tag_artifacts(dep_file)\n\n# Finally, declare your action.\n# Use the tagged artifacts as you would regular command-line-arg-likes.\n# Pass the tag in `dep_files` and give a name (this is used for logging).\n\nctx.actions.run(\n ["mycc", "-I", tagged_headers, "-MD", "-MF", tagged_dep_file, "-o", ...],\n dep_files = { "headers": headers_tag }\n)\n\n')),(0,i.mdx)("h2",{id:"producing-the-dep-file"},"Producing the dep file"),(0,i.mdx)("p",null,"Your command must produce dep files in the format Buck2 expects, which is simply\na list of all the inputs that were used, one per line."),(0,i.mdx)("p",null,"The paths must be the paths Buck2 would use for your inputs, which means paths\nrelative to the project root."),(0,i.mdx)("p",null,"If this is not the format your tool produces, use a wrapper to take whatever\noutput your command produces and rewrite it in the format Buck2 expects."),(0,i.mdx)("h2",{id:"testing-dep-files"},"Testing dep files"),(0,i.mdx)("p",null,"When writing a command that produces a dep file, you should test it! At a\nminimum, check that the inputs you expect are tagged properly."),(0,i.mdx)("p",null,"To do so, build your target, then use\n",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 audit dep-files TARGET CATEGORY IDENTIFIER"),", which will show you the set\nof inputs your command used and how they're tagged."),(0,i.mdx)("h2",{id:"extra-notes-to-the-implementer"},"Extra notes to the implementer"),(0,i.mdx)("h3",{id:"limitations"},"Limitations"),(0,i.mdx)("p",null,"Dep files only work if a previous invocation of the command is known to your\nBuck2 daemon. Dep files are dropped when the daemon restarts or when you run\n",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 debug flush-dep-files"),"."),(0,i.mdx)("p",null,"This means that, for example, if you change an unused header, then run a build\non a fresh daemon, Buck2 will still need to execute this command in order to\nidentify that the header was in fact unused. In contrast, if you did the build\n(and got a remote cache hit on the command), then applied your change and\nre-built, Buck2 would use the dep file on the second execution, and you wouldn't\nneed to execute anything."),(0,i.mdx)("h3",{id:"dep-files-dont-need-to-be-covering"},"Dep files don't need to be covering"),(0,i.mdx)("p",null,"It's OK for the dep file to only cover a subset of the inputs of your action.\nHowever, within that subset, the dep file must declare all the inputs that were\nused."),(0,i.mdx)("p",null,"If you fail to report some inputs you used, then your command will not re-run\nwhen they change, and you'll get stale output."),(0,i.mdx)("h3",{id:"dep-files-are-lazy"},"Dep files are lazy"),(0,i.mdx)("p",null,"Dep files aren't parsed by Buck2 unless the command needs to re-run. If the\ncommand ran on RE, they aren't even downloaded until then. This ensures dep\nfiles don't cause a performance hit unless they are used, at which point they\nstand a chance of giving a performance boost instead."),(0,i.mdx)("p",null,"This means that if you produce an invalid dep file, Buck2 will not report this\nuntil your command runs again, at which point Buck2 will report that the dep\nfile is invalid and refuse to proceed (note: you can unblock yourself using\n",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 debug flush-dep-files"),")."),(0,i.mdx)("p",null,"To flush out issues during development, you can pass ",(0,i.mdx)("inlineCode",{parentName:"p"},"--eager-dep-files")," to\nBuck2 to force Buck2 to parse your dep files as they are produced."),(0,i.mdx)("h2",{id:"dep-files-will-traverse-symlinks"},"Dep files will traverse symlinks"),(0,i.mdx)("p",null,"If your dep file reports that a symlink was used, Buck2 will track the symlink's\ntarget as covered by this dep file."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/01e98fbb.2fb29ec9.js b/assets/js/01e98fbb.2fb29ec9.js new file mode 100644 index 0000000000000..b282dbda1a5cb --- /dev/null +++ b/assets/js/01e98fbb.2fb29ec9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3907],{3905:(t,e,a)=>{a.r(e),a.d(e,{MDXContext:()=>s,MDXProvider:()=>f,mdx:()=>x,useMDXComponents:()=>d,withMDXComponents:()=>p});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function i(){return i=Object.assign||function(t){for(var e=1;e=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var s=r.createContext({}),p=function(t){return function(e){var a=d(e.components);return r.createElement(t,i({},e,{components:a}))}},d=function(t){var e=r.useContext(s),a=e;return t&&(a="function"==typeof t?t(e):c(c({},e),t)),a},f=function(t){var e=d(t.components);return r.createElement(s.Provider,{value:e},t.children)},m="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},h=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,i=t.originalType,o=t.parentName,s=l(t,["components","mdxType","originalType","parentName"]),p=d(a),f=n,m=p["".concat(o,".").concat(f)]||p[f]||u[f]||i;return a?r.createElement(m,c(c({ref:e},s),{},{components:a})):r.createElement(m,c({ref:e},s))}));function x(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var i=a.length,o=new Array(i);o[0]=h;var c={};for(var l in e)hasOwnProperty.call(e,l)&&(c[l]=e[l]);c.originalType=t,c[m]="string"==typeof t?t:n,o[1]=c;for(var s=2;s{a.r(e),a.d(e,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const i={id:"artifact"},o="artifact type",c={unversionedId:"api/bxl/artifact",id:"api/bxl/artifact",title:"artifact type",description:"A single input or output file for an action.",source:"@site/../docs/api/bxl/artifact.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/artifact",permalink:"/docs/api/bxl/artifact",draft:!1,tags:[],version:"current",frontMatter:{id:"artifact"},sidebar:"apiSidebar",previous:{title:"anon_targets type",permalink:"/docs/api/bxl/anon_targets"},next:{title:"attrs type",permalink:"/docs/api/bxl/attrs"}},l={},s=[{value:"artifact.as_output",id:"artifactas_output",level:2},{value:"artifact.basename",id:"artifactbasename",level:2},{value:"artifact.extension",id:"artifactextension",level:2},{value:"artifact.is_source",id:"artifactis_source",level:2},{value:"artifact.owner",id:"artifactowner",level:2},{value:"artifact.project",id:"artifactproject",level:2},{value:"artifact.short_path",id:"artifactshort_path",level:2},{value:"artifact.with_associated_artifacts",id:"artifactwith_associated_artifacts",level:2},{value:"artifact.without_associated_artifacts",id:"artifactwithout_associated_artifacts",level:2}],p={toc:s};function d(t){let{components:e,...a}=t;return(0,n.mdx)("wrapper",(0,r.Z)({},p,a,{components:e,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"artifact-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"artifact")," type"),(0,n.mdx)("p",null,"A single input or output file for an action."),(0,n.mdx)("p",null,"There is no ",(0,n.mdx)("inlineCode",{parentName:"p"},".parent")," method on ",(0,n.mdx)("inlineCode",{parentName:"p"},"artifact"),", but in most cases\n",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_args(my_artifact, parent = 1)")," can be used to similar effect."),(0,n.mdx)("h2",{id:"artifactas_output"},"artifact.as","_","output"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def artifact.as_output() -> output_artifact\n")),(0,n.mdx)("p",null,"Returns a ",(0,n.mdx)("inlineCode",{parentName:"p"},"StarlarkOutputArtifact")," instance, or fails if the artifact is either an ",(0,n.mdx)("inlineCode",{parentName:"p"},"Artifact"),", or is a bound ",(0,n.mdx)("inlineCode",{parentName:"p"},"Artifact")," (You cannot bind twice)"),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactbasename"},"artifact.basename"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"artifact.basename: str\n")),(0,n.mdx)("p",null,"The base name of this artifact. e.g. for an artifact at ",(0,n.mdx)("inlineCode",{parentName:"p"},"foo/bar"),", this is ",(0,n.mdx)("inlineCode",{parentName:"p"},"bar")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactextension"},"artifact.extension"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"artifact.extension: str\n")),(0,n.mdx)("p",null,"The file extension of this artifact. e.g. for an artifact at foo/bar.sh, this is ",(0,n.mdx)("inlineCode",{parentName:"p"},".sh"),". If no extension is present, ",(0,n.mdx)("inlineCode",{parentName:"p"},'""')," is returned."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactis_source"},"artifact.is","_","source"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"artifact.is_source: bool\n")),(0,n.mdx)("p",null,"Whether the artifact represents a source file"),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactowner"},"artifact.owner"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"artifact.owner: None | label\n")),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"Label")," of the rule that originally created this artifact. May also be None in the case of source files, or if the artifact has not be used in an action, or if the action was not created by a rule."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactproject"},"artifact.project"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def artifact.project(\n path: str,\n /,\n *,\n hide_prefix: bool = False\n) -> artifact\n")),(0,n.mdx)("p",null,"Create an artifact that lives at path relative from this artifact."),(0,n.mdx)("p",null,"For example, if artifact foo is a directory containing a file bar, then ",(0,n.mdx)("inlineCode",{parentName:"p"},'foo.project("bar")'),"\nyields the file bar. It is possible for projected artifacts to hide the prefix in order to\nhave the short name of the resulting artifact only contain the projected path, by passing\n",(0,n.mdx)("inlineCode",{parentName:"p"},"hide_prefix = True")," to ",(0,n.mdx)("inlineCode",{parentName:"p"},"project()"),"."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactshort_path"},"artifact.short","_","path"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"artifact.short_path: str\n")),(0,n.mdx)("p",null,"The interesting part of the path, relative to somewhere in the output directory. For an artifact declared as ",(0,n.mdx)("inlineCode",{parentName:"p"},"foo/bar"),", this is ",(0,n.mdx)("inlineCode",{parentName:"p"},"foo/bar"),"."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactwith_associated_artifacts"},"artifact.with","_","associated","_","artifacts"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def artifact.with_associated_artifacts(artifacts: list[artifact]) -> artifact\n")),(0,n.mdx)("p",null,"Returns a ",(0,n.mdx)("inlineCode",{parentName:"p"},"StarlarkArtifact")," instance which is identical to the original artifact, but with potentially additional artifacts. The artifacts must be bound."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactwithout_associated_artifacts"},"artifact.without","_","associated","_","artifacts"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def artifact.without_associated_artifacts() -> artifact\n")),(0,n.mdx)("p",null,"Returns a ",(0,n.mdx)("inlineCode",{parentName:"p"},"StarlarkArtifact")," instance which is identical to the original artifact, except with no associated artifacts"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/01f44ee0.f748e904.js b/assets/js/01f44ee0.f748e904.js new file mode 100644 index 0000000000000..853afdf0e3ff3 --- /dev/null +++ b/assets/js/01f44ee0.f748e904.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6708],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>l,MDXProvider:()=>m,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>c});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){return function(t){var n=d(t.components);return r.createElement(e,o({},t,{components:n}))}},d=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},m=function(e){var t=d(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),c=d(n),m=a,p=c["".concat(s,".").concat(m)]||c[m]||f[m]||o;return n?r.createElement(p,i(i({ref:t},l),{},{components:n})):r.createElement(p,i({ref:t},l))}));function b(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,s=new Array(o);s[0]=h;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[p]="string"==typeof e?e:a,s[1]=i;for(var l=2;l{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var r=n(87462),a=(n(67294),n(3905));const o={id:"query",title:"query"},s=void 0,i={unversionedId:"users/commands/query",id:"users/commands/query",title:"query",description:"These are the flags/commands under buck2 query and their --help output:",source:"@site/../docs/users/commands/query.generated.md",sourceDirName:"users/commands",slug:"/users/commands/query",permalink:"/docs/users/commands/query",draft:!1,tags:[],version:"current",frontMatter:{id:"query",title:"query"},sidebar:"mainSidebar",previous:{title:"profile",permalink:"/docs/users/commands/profile"},next:{title:"root",permalink:"/docs/users/commands/root"}},u={},l=[{value:"buck query",id:"buck-query",level:2}],c={toc:l};function d(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"These are the flags/commands under ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 query")," and their ",(0,a.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,a.mdx)("h2",{id:"buck-query"},"buck query"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Alias for `uquery`\n\nUsage: buck2-release query [OPTIONS] [QUERY_ARGS]...\n\nArguments:\n \n the query to evaluate\n\n [QUERY_ARGS]...\n list of literals for a multi-query (one containing `%s` or `%Ss`)\n\nOptions:\n -A, --output-all-attributes\n Output all attributes, equivalent of --output-attribute ''.\n \n Avoid using this flag in automation because it may be expensive to produce certain\n attributes, and because it makes harder to track which special attributes are used.\n\n -B, --output-basic-attributes\n Output basic attributes, namely those the user can supply, plus rule type and package name\n\n -a, --output-attribute \n Regular expressions to match attributes. Regular expressions are used in \"search\" mode, so\n for example empty string matches all attributes including special attributes.\n \n When using in automation, please specify the regular expression to match the attribute\n precisely, for example `--output-attribute '^headers$'` to make it easier to track which\n special attributes are used.\n\n --output-attributes ...\n Deprecated: Use `--output-attribute` instead.\n \n List of space-separated attributes to output, --output-attributes attr1 attr2.\n\n --json\n Output in JSON format\n\n --dot\n Output in Graphviz Dot format\n\n --dot-compact\n Output in a more compact format than Graphviz Dot\n\n --output-format \n Output format (default: list). \n \n dot - dot graph format. \n \n dot_compact - compact alternative to dot format. \n \n json - JSON format. \n \n starlark - targets are printed like starlark code that would produce them.\n \n \n [possible values: dot, json, dot_compact, starlark]\n\n --modifier \n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config \n List of config options\n\n --config-file \n List of config file paths\n\n --fake-host \n [possible values: default, linux, macos, windows]\n\n --fake-arch \n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version \n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible \n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console \n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui ...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log \n Write events to this log file\n\n --write-build-id \n Write command invocation id into this file\n\n --unstable-write-invocation-record \n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose \n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall \n The oncall executing this command\n\n --client-metadata \n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/03a88bad.fb1f8870.js b/assets/js/03a88bad.fb1f8870.js new file mode 100644 index 0000000000000..62b9b0bf8b731 --- /dev/null +++ b/assets/js/03a88bad.fb1f8870.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6568],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>s,MDXProvider:()=>d,mdx:()=>f,useMDXComponents:()=>c,withMDXComponents:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),m=function(e){return function(t){var n=c(t.components);return a.createElement(e,i({},t,{components:n}))}},c=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},b=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),m=c(n),d=r,p=m["".concat(o,".").concat(d)]||m[d]||h[d]||i;return n?a.createElement(p,l(l({ref:t},s),{},{components:n})):a.createElement(p,l({ref:t},s))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=b;var l={};for(var u in t)hasOwnProperty.call(t,u)&&(l[u]=t[u]);l.originalType=e,l[p]="string"==typeof e?e:r,o[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var a=n(87462),r=(n(67294),n(3905));const i={id:"index",title:"Introduction"},o=void 0,l={unversionedId:"index",id:"index",title:"Introduction",description:"Welcome to Buck2, a large scale, fast, reliable, and extensible build tool",source:"@site/../docs/index.md",sourceDirName:".",slug:"/",permalink:"/docs/",draft:!1,tags:[],version:"current",frontMatter:{id:"index",title:"Introduction"},sidebar:"mainSidebar",next:{title:"Why Buck2",permalink:"/docs/about/why"}},u={},s=[{value:"Buck2 Documentation Website Links",id:"buck2-documentation-website-links",level:2},{value:"For end users",id:"for-end-users",level:3},{value:"For people writing rules",id:"for-people-writing-rules",level:3},{value:"For people integrating with Buck2",id:"for-people-integrating-with-buck2",level:3},{value:"External articles about Buck2",id:"external-articles-about-buck2",level:3},{value:"External videos about Buck2",id:"external-videos-about-buck2",level:3},{value:"External projects using Buck2",id:"external-projects-using-buck2",level:3},{value:"For people developing Buck2",id:"for-people-developing-buck2",level:3}],m=(c="FbInternalOnly",function(e){return console.warn("Component "+c+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.mdx)("div",e)});var c;const d={toc:s};function p(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"Welcome to Buck2, a large scale, fast, reliable, and extensible build tool\ndeveloped and used by Meta. Buck2 supports a variety of languages on many\nplatforms."),(0,r.mdx)("p",null,"Buck2's core is written in ",(0,r.mdx)("a",{parentName:"p",href:"https://www.rust-lang.org/"},"Rust"),".\n",(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark"},"Starlark"),", which is a deterministic,\nimmutable dialect of Python, is used to extend the Buck2 build system, enabling\nBuck2 to be language-agnostic. With Starlark, users can define their own custom\nrules."),(0,r.mdx)("p",null,"Buck2 leverages the Bazel spec of\n",(0,r.mdx)("a",{parentName:"p",href:"https://bazel.build/remote/rbe"},"Remote Build Execution")," as the primary means of\nparallelization and caching, which increases the importance of idempotency (no\nmatter how many times an operation is performed, it yields the same result) and\nhermeticity (code is sealed off from the world), giving the right results,\nreliably."),(0,r.mdx)("p",null,"Buck2 multi-language support includes C++, Python, Java, Go, Rust, Erlang,\nOCaml, and more."),(0,r.mdx)("p",null,"The following sub-sections contain a list of links to key points in the Buck2\nDocumentation website that explain the advantages of using Buck2 for you and\nyour team."),(0,r.mdx)("h2",{id:"buck2-documentation-website-links"},"Buck2 Documentation Website Links"),(0,r.mdx)("h3",{id:"for-end-users"},"For end users"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"/docs/about/getting_started"},"Getting Started")," - how to get started with using\nBuck2."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"/docs/about/benefits/compared_to_buck1"},"Benefits")," - the benefits of using Buck2.")),(0,r.mdx)(m,{mdxType:"FbInternalOnly"},(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"users/migration_guide.fb.md"},"Migration Guide")," - how to port projects from\nBuck to Buck2, including the issues you might face and notable differences."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"users/build_observability/observability.fb.md"},"Buck2 and Build Observability")," -\nhow to use Buck2's datasets to analyze specific invocations or classes of\ninvocations."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"users/advanced/vpnless.fb.md"},"Migrating builds to work VPNless")," - how to\nmigrate builds to work without VPN or lighthouse access."))),(0,r.mdx)("h3",{id:"for-people-writing-rules"},"For people writing rules"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"/docs/rule_authors/writing_rules"},"Writing Rules")," - how to write rules to support\nnew languages."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"api/build/globals"},"Build APIs")," - documentation for the APIs available when\nwriting rules."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://github.com/facebook/starlark-rust/blob/main/docs/types.md"},"Starlark Types")," -\nrules are written in Starlark (which is approximately Python), but our version\nadds types.")),(0,r.mdx)(m,{mdxType:"FbInternalOnly"},(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"rule_authors/rule_writing_tips.fb.md"},"Rule Writing Tips")," - tips for migrating\nrules from Buck1 to Buck2."))),(0,r.mdx)("h3",{id:"for-people-integrating-with-buck2"},"For people integrating with Buck2"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"/docs/developers/bxl"},"Extending Buck via BXL")," - powerful Starlark scripts for\nintrospection of Buck2's graphs."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://github.com/facebookincubator/buck2-change-detector"},"Buck2 change detector")," -\ntools for building a CI that only builds/tests what has changed in diff/PR."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://github.com/dtolnay/install-buck2"},"Buck2 GitHub actions installer")," -\nscript to make GitHub CI with Buck2 easier."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://github.com/facebookincubator/reindeer"},"Reindeer")," - a set of tools for\nimporting Rust crates from crates.io, git repos etc and generating a BUCK file\nfor using them."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://github.com/facebook/ocaml-scripts"},"ocaml-scripts")," - scripts to\ngenerate a BUCK file enabling the use of OCaml packages from an OPAM switch."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://github.com/benbrittain/buckle"},"Buckle")," - a launcher for Buck2 on a\nper-project basis. Enables a project or team to do seamless upgrades of their\nbuild system tooling.")),(0,r.mdx)("h3",{id:"external-articles-about-buck2"},"External articles about Buck2"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://engineering.fb.com/2023/04/06/open-source/buck2-open-source-large-scale-build-system/"},"Introducing Buck2")," -\nour initial introduction when we open sourced Buck2."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://old.reddit.com/r/rust/comments/136qs44/hello_rrust_we_are_meta_engineers_who_created_the/"},"Reddit AMA"),"\nwhere the Buck2 team answered a number of questions."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://steveklabnik.com/writing/using-buck-to-build-rust-projects"},"Using buck to build Rust projects")," -\nworking through an initial small Rust project, by\n",(0,r.mdx)("a",{parentName:"li",href:"https://steveklabnik.com/"},"Steve Klabnik"),". Followed up by\n",(0,r.mdx)("a",{parentName:"li",href:"https://steveklabnik.com/writing/using-cratesio-with-buck"},"building from crates.io"),"\nand ",(0,r.mdx)("a",{parentName:"li",href:"https://steveklabnik.com/writing/updating-buck"},"updating Buck2"),"."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://github.com/sluongng/awesome-buck2"},"Awesome Buck2")," is a collection of\nresources about Buck2."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://www.buildbuddy.io/blog/buck2-review/"},"Buck2 Unboxing")," is a general\nreview of Buck2 by ",(0,r.mdx)("a",{parentName:"li",href:"https://github.com/sluongng/"},"Son Luong Ngoc"),"."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://www.tweag.io/blog/2023-07-06-buck2/"},"A tour around Buck2")," gives an\noverview of Buck2 and how it differs from Bazel.")),(0,r.mdx)("h3",{id:"external-videos-about-buck2"},"External videos about Buck2"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=oMIzKVxUNAE"},"Accelerating builds with Buck2"),"\nNeil talks about why Buck2 is fast."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=EQfVu42KwDs"},"Buck2: optimizations & dynamic dependencies"),"\nNeil and Chris talk about why Buck2 is fast and some of the advanced\ndependency features."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=4ALgsBqNBhQ"},"Building Erlang with Buck2"),"\nAndreas talks about building WhatsApp with Buck2."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=Wv-ilbckSx4"},"antlir2: Deterministic image bulids with Buck2"),"\ntalks about layering a packaging system over Buck2.")),(0,r.mdx)("h3",{id:"external-projects-using-buck2"},"External projects using Buck2"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://www.systeminit.com/"},"System Initiative")," build their DevOps product\n",(0,r.mdx)("a",{parentName:"li",href:"https://nickgerace.dev/post/system-initiative-the-second-wave-of-devops/#under-the-hood"},"using Buck2"),",\nwith their own custom prelude."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://github.com/dtolnay/cxx"},"Rust ",(0,r.mdx)("inlineCode",{parentName:"a"},"cxx")," library")," has examples and tests\nwith a wide variety of build systems, including Buck2."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://github.com/facebook/ocamlrep"},(0,r.mdx)("inlineCode",{parentName:"a"},"ocamlrep")," library")," allows for interop\nbetween OCaml and Rust code, and can be\n",(0,r.mdx)("a",{parentName:"li",href:"https://github.com/facebook/ocamlrep/blob/main/README-BUCK.md"},"built with Buck2"),"."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://github.com/thoughtpolice/buck2-nix"},(0,r.mdx)("inlineCode",{parentName:"a"},"buck2-nix"))," is an experiment to\nintegrate Buck2, ",(0,r.mdx)("a",{parentName:"li",href:"https://sapling-scm.com"},"Sapling")," and\n",(0,r.mdx)("a",{parentName:"li",href:"https://nixos.org"},"Nix")," together in a harmonious way.")),(0,r.mdx)("p",null,"Feel free to\n",(0,r.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/edit/main/docs/index.md"},"send a PR")," adding\nyour project."),(0,r.mdx)(m,{mdxType:"FbInternalOnly"},(0,r.mdx)("h3",{id:"for-people-developing-buck2"},"For people developing Buck2"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://www.internalfb.com/code/fbsource/fbcode/buck2/README.md"},"Basic README")," -\nhow to get started, compile Buck2 and the basic workflows."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"developers/developers.fb.md"},"Notes for Developers")," - more advanced workflows\nand notes around debugging, profiling etc."))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/040433d8.b37d60a5.js b/assets/js/040433d8.b37d60a5.js new file mode 100644 index 0000000000000..6b816e6bb808a --- /dev/null +++ b/assets/js/040433d8.b37d60a5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6598],{3905:(t,e,a)=>{a.r(e),a.d(e,{MDXContext:()=>s,MDXProvider:()=>f,mdx:()=>x,useMDXComponents:()=>d,withMDXComponents:()=>p});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function i(){return i=Object.assign||function(t){for(var e=1;e=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var s=r.createContext({}),p=function(t){return function(e){var a=d(e.components);return r.createElement(t,i({},e,{components:a}))}},d=function(t){var e=r.useContext(s),a=e;return t&&(a="function"==typeof t?t(e):c(c({},e),t)),a},f=function(t){var e=d(t.components);return r.createElement(s.Provider,{value:e},t.children)},u="mdxType",m={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},h=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,i=t.originalType,o=t.parentName,s=l(t,["components","mdxType","originalType","parentName"]),p=d(a),f=n,u=p["".concat(o,".").concat(f)]||p[f]||m[f]||i;return a?r.createElement(u,c(c({ref:e},s),{},{components:a})):r.createElement(u,c({ref:e},s))}));function x(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var i=a.length,o=new Array(i);o[0]=h;var c={};for(var l in e)hasOwnProperty.call(e,l)&&(c[l]=e[l]);c.originalType=t,c[u]="string"==typeof t?t:n,o[1]=c;for(var s=2;s{a.r(e),a.d(e,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const i={id:"artifact"},o="artifact type",c={unversionedId:"api/build/artifact",id:"api/build/artifact",title:"artifact type",description:"A single input or output file for an action.",source:"@site/../docs/api/build/artifact.generated.md",sourceDirName:"api/build",slug:"/api/build/artifact",permalink:"/docs/api/build/artifact",draft:!1,tags:[],version:"current",frontMatter:{id:"artifact"},sidebar:"apiSidebar",previous:{title:"anon_targets type",permalink:"/docs/api/build/anon_targets"},next:{title:"attrs type",permalink:"/docs/api/build/attrs"}},l={},s=[{value:"artifact.as_output",id:"artifactas_output",level:2},{value:"artifact.basename",id:"artifactbasename",level:2},{value:"artifact.extension",id:"artifactextension",level:2},{value:"artifact.is_source",id:"artifactis_source",level:2},{value:"artifact.owner",id:"artifactowner",level:2},{value:"artifact.project",id:"artifactproject",level:2},{value:"artifact.short_path",id:"artifactshort_path",level:2},{value:"artifact.with_associated_artifacts",id:"artifactwith_associated_artifacts",level:2},{value:"artifact.without_associated_artifacts",id:"artifactwithout_associated_artifacts",level:2}],p={toc:s};function d(t){let{components:e,...a}=t;return(0,n.mdx)("wrapper",(0,r.Z)({},p,a,{components:e,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"artifact-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"artifact")," type"),(0,n.mdx)("p",null,"A single input or output file for an action."),(0,n.mdx)("p",null,"There is no ",(0,n.mdx)("inlineCode",{parentName:"p"},".parent")," method on ",(0,n.mdx)("inlineCode",{parentName:"p"},"artifact"),", but in most cases\n",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_args(my_artifact, parent = 1)")," can be used to similar effect."),(0,n.mdx)("h2",{id:"artifactas_output"},"artifact.as","_","output"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def artifact.as_output() -> output_artifact\n")),(0,n.mdx)("p",null,"Returns a ",(0,n.mdx)("inlineCode",{parentName:"p"},"StarlarkOutputArtifact")," instance, or fails if the artifact is either an ",(0,n.mdx)("inlineCode",{parentName:"p"},"Artifact"),", or is a bound ",(0,n.mdx)("inlineCode",{parentName:"p"},"Artifact")," (You cannot bind twice)"),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactbasename"},"artifact.basename"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"artifact.basename: str\n")),(0,n.mdx)("p",null,"The base name of this artifact. e.g. for an artifact at ",(0,n.mdx)("inlineCode",{parentName:"p"},"foo/bar"),", this is ",(0,n.mdx)("inlineCode",{parentName:"p"},"bar")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactextension"},"artifact.extension"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"artifact.extension: str\n")),(0,n.mdx)("p",null,"The file extension of this artifact. e.g. for an artifact at foo/bar.sh, this is ",(0,n.mdx)("inlineCode",{parentName:"p"},".sh"),". If no extension is present, ",(0,n.mdx)("inlineCode",{parentName:"p"},'""')," is returned."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactis_source"},"artifact.is","_","source"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"artifact.is_source: bool\n")),(0,n.mdx)("p",null,"Whether the artifact represents a source file"),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactowner"},"artifact.owner"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"artifact.owner: None | label\n")),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"Label")," of the rule that originally created this artifact. May also be None in the case of source files, or if the artifact has not be used in an action, or if the action was not created by a rule."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactproject"},"artifact.project"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def artifact.project(\n path: str,\n /,\n *,\n hide_prefix: bool = False\n) -> artifact\n")),(0,n.mdx)("p",null,"Create an artifact that lives at path relative from this artifact."),(0,n.mdx)("p",null,"For example, if artifact foo is a directory containing a file bar, then ",(0,n.mdx)("inlineCode",{parentName:"p"},'foo.project("bar")'),"\nyields the file bar. It is possible for projected artifacts to hide the prefix in order to\nhave the short name of the resulting artifact only contain the projected path, by passing\n",(0,n.mdx)("inlineCode",{parentName:"p"},"hide_prefix = True")," to ",(0,n.mdx)("inlineCode",{parentName:"p"},"project()"),"."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactshort_path"},"artifact.short","_","path"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"artifact.short_path: str\n")),(0,n.mdx)("p",null,"The interesting part of the path, relative to somewhere in the output directory. For an artifact declared as ",(0,n.mdx)("inlineCode",{parentName:"p"},"foo/bar"),", this is ",(0,n.mdx)("inlineCode",{parentName:"p"},"foo/bar"),"."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactwith_associated_artifacts"},"artifact.with","_","associated","_","artifacts"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def artifact.with_associated_artifacts(artifacts: list[artifact]) -> artifact\n")),(0,n.mdx)("p",null,"Returns a ",(0,n.mdx)("inlineCode",{parentName:"p"},"StarlarkArtifact")," instance which is identical to the original artifact, but with potentially additional artifacts. The artifacts must be bound."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"artifactwithout_associated_artifacts"},"artifact.without","_","associated","_","artifacts"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def artifact.without_associated_artifacts() -> artifact\n")),(0,n.mdx)("p",null,"Returns a ",(0,n.mdx)("inlineCode",{parentName:"p"},"StarlarkArtifact")," instance which is identical to the original artifact, except with no associated artifacts"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/04f21c51.e111d28d.js b/assets/js/04f21c51.e111d28d.js new file mode 100644 index 0000000000000..ac5e887a6a46c --- /dev/null +++ b/assets/js/04f21c51.e111d28d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3537],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>i,MDXProvider:()=>u,mdx:()=>b,useMDXComponents:()=>s,withMDXComponents:()=>c});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(){return d=Object.assign||function(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var i=r.createContext({}),c=function(e){return function(n){var t=s(n.components);return r.createElement(e,d({},n,{components:t}))}},s=function(e){var n=r.useContext(i),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},u=function(e){var n=s(e.components);return r.createElement(i.Provider,{value:n},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},f=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,d=e.originalType,p=e.parentName,i=l(e,["components","mdxType","originalType","parentName"]),c=s(t),u=a,y=c["".concat(p,".").concat(u)]||c[u]||m[u]||d;return t?r.createElement(y,o(o({ref:n},i),{},{components:t})):r.createElement(y,o({ref:n},i))}));function b(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var d=t.length,p=new Array(d);p[0]=f;var o={};for(var l in n)hasOwnProperty.call(n,l)&&(o[l]=n[l]);o.originalType=e,o[y]="string"==typeof e?e:a,p[1]=o;for(var i=2;i{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>p,default:()=>s,frontMatter:()=>d,metadata:()=>o,toc:()=>i});var r=t(87462),a=(t(67294),t(3905));const d={id:"dependency"},p="dependency type",o={unversionedId:"api/bxl/dependency",id:"api/bxl/dependency",title:"dependency type",description:"Dependency type. In Starlark typing it can be represented with Dependency global.",source:"@site/../docs/api/bxl/dependency.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/dependency",permalink:"/docs/api/bxl/dependency",draft:!1,tags:[],version:"current",frontMatter:{id:"dependency"},sidebar:"apiSidebar",previous:{title:"context type",permalink:"/docs/api/bxl/context"},next:{title:"digest_config type",permalink:"/docs/api/bxl/digest_config"}},l={},i=[{value:"dependency.get",id:"dependencyget",level:2},{value:"dependency.label",id:"dependencylabel",level:2},{value:"dependency.providers",id:"dependencyproviders",level:2},{value:"dependency.sub_target",id:"dependencysub_target",level:2}],c={toc:i};function s(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"dependency-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"dependency")," type"),(0,a.mdx)("p",null,"Dependency type. In Starlark typing it can be represented with ",(0,a.mdx)("inlineCode",{parentName:"p"},"Dependency")," global."),(0,a.mdx)("h2",{id:"dependencyget"},"dependency.get"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def dependency.get(index) -> None | provider\n")),(0,a.mdx)("p",null,"Gets a provider by indexing on a ",(0,a.mdx)("inlineCode",{parentName:"p"},"ProviderCallable")," object."),(0,a.mdx)("p",null,"e.g."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-ignore"},'FooInfo = provider(fields=["bar"])\n....\ncollection.get(FooInfo) # None if absent, a FooInfo instance if present\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"dependencylabel"},"dependency.label"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"dependency.label: label\n")),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"dependencyproviders"},"dependency.providers"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"dependency.providers: list[typing.Any]\n")),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"dependencysub_target"},"dependency.sub","_","target"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def dependency.sub_target(subtarget: str, /) -> dependency\n")),(0,a.mdx)("p",null,"Obtain the dependency representing a subtarget. In most cases you will want to use ",(0,a.mdx)("inlineCode",{parentName:"p"},'x[DefaultInfo].sub_targets["foo"]')," to get the ",(0,a.mdx)("em",{parentName:"p"},"providers")," of the subtarget, but if you need a real ",(0,a.mdx)("inlineCode",{parentName:"p"},"Dependency")," type (e.g. for use with ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.action.anon_target"),") then use this method."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/05bc5f0c.0b380e2a.js b/assets/js/05bc5f0c.0b380e2a.js new file mode 100644 index 0000000000000..d9c0b2e6156d8 --- /dev/null +++ b/assets/js/05bc5f0c.0b380e2a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1707],{3905:(e,t,l)=>{l.r(t),l.d(t,{MDXContext:()=>p,MDXProvider:()=>c,mdx:()=>b,useMDXComponents:()=>m,withMDXComponents:()=>d});var r=l(67294);function a(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function n(){return n=Object.assign||function(e){for(var t=1;t=0||(a[l]=e[l]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(a[l]=e[l])}return a}var p=r.createContext({}),d=function(e){return function(t){var l=m(t.components);return r.createElement(e,n({},t,{components:l}))}},m=function(e){var t=r.useContext(p),l=t;return e&&(l="function"==typeof e?e(t):s(s({},t),e)),l},c=function(e){var t=m(e.components);return r.createElement(p.Provider,{value:t},e.children)},u="mdxType",x={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var l=e.components,a=e.mdxType,n=e.originalType,i=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=m(l),c=a,u=d["".concat(i,".").concat(c)]||d[c]||x[c]||n;return l?r.createElement(u,s(s({ref:t},p),{},{components:l})):r.createElement(u,s({ref:t},p))}));function b(e,t){var l=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=l.length,i=new Array(n);i[0]=f;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[u]="string"==typeof e?e:a,i[1]=s;for(var p=2;p{l.r(t),l.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>m,frontMatter:()=>n,metadata:()=>s,toc:()=>p});var r=l(87462),a=(l(67294),l(3905));const n={id:"bxl.Filesystem"},i="bxl.Filesystem type",s={unversionedId:"api/bxl/bxl.Filesystem",id:"api/bxl/bxl.Filesystem",title:"bxl.Filesystem type",description:"Provides some basic tracked filesystem access for bxl functions so that they can meaningfully detect simple properties of artifacts, and source directories.",source:"@site/../docs/api/bxl/bxl.Filesystem.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.Filesystem",permalink:"/docs/api/bxl/bxl.Filesystem",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.Filesystem"},sidebar:"apiSidebar",previous:{title:"bxl.FileNode type",permalink:"/docs/api/bxl/bxl.FileNode"},next:{title:"bxl.LazyResolvedAttrs type",permalink:"/docs/api/bxl/bxl.LazyResolvedAttrs"}},o={},p=[{value:"bxl.Filesystem.abs_path_unsafe",id:"bxlfilesystemabs_path_unsafe",level:2},{value:"bxl.Filesystem.exists",id:"bxlfilesystemexists",level:2},{value:"bxl.Filesystem.is_dir",id:"bxlfilesystemis_dir",level:2},{value:"bxl.Filesystem.is_file",id:"bxlfilesystemis_file",level:2},{value:"bxl.Filesystem.list",id:"bxlfilesystemlist",level:2},{value:"bxl.Filesystem.project_rel_path",id:"bxlfilesystemproject_rel_path",level:2},{value:"bxl.Filesystem.source",id:"bxlfilesystemsource",level:2}],d={toc:p};function m(e){let{components:t,...l}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},d,l,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"bxlfilesystem-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"bxl.Filesystem")," type"),(0,a.mdx)("p",null,"Provides some basic tracked filesystem access for bxl functions so that they can meaningfully detect simple properties of artifacts, and source directories."),(0,a.mdx)("h2",{id:"bxlfilesystemabs_path_unsafe"},"bxl.Filesystem.abs","_","path","_","unsafe"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Filesystem.abs_path_unsafe(expr: artifact | bxl.FileNode | str) -> str\n")),(0,a.mdx)("p",null,"Returns the absolute path, given the file expression. Use at your own risk, as the current working directory may have been changed when this function is called. In addition, passing the absolute path into actions that are run remotely will most likely result in failures since the absolute path most likely differs locally vs remotely."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_abs_path_unsafe(ctx):\n ctx.output.print(ctx.fs.abs_path_unsafe("bin"))\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlfilesystemexists"},"bxl.Filesystem.exists"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Filesystem.exists(expr: artifact | bxl.FileNode | str) -> bool\n")),(0,a.mdx)("p",null,"Check if a path exists on disk, taking advantage of Buck's cached filesystem. Takes in a literal, a source artifact (via ",(0,a.mdx)("inlineCode",{parentName:"p"},"artifact"),"), or a ",(0,a.mdx)("inlineCode",{parentName:"p"},"file_node"),"."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_exists(ctx):\n ctx.output.print(ctx.fs.exists("bin"))\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlfilesystemis_dir"},"bxl.Filesystem.is","_","dir"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Filesystem.is_dir(expr: artifact | bxl.FileNode | str) -> bool\n")),(0,a.mdx)("p",null,"Returns whether the provided path is a dir. Returns false is the dir does not exist. The input is a either a literal, a source artifact (via ",(0,a.mdx)("inlineCode",{parentName:"p"},"artifact"),"), or a ",(0,a.mdx)("inlineCode",{parentName:"p"},"file_node"),"."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_is_dir(ctx):\n ctx.output.print(ctx.fs.is_dir("bin"))\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlfilesystemis_file"},"bxl.Filesystem.is","_","file"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Filesystem.is_file(expr: artifact | bxl.FileNode | str) -> bool\n")),(0,a.mdx)("p",null,"Returns whether the provided path is a file. Returns false is the file does not exist. The input is a either a literal, a source artifact (via ",(0,a.mdx)("inlineCode",{parentName:"p"},"artifact"),"), or a ",(0,a.mdx)("inlineCode",{parentName:"p"},"file_node"),"."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_is_file(ctx):\n ctx.output.print(ctx.fs.is_dir("bin"))\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlfilesystemlist"},"bxl.Filesystem.list"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Filesystem.list(\n expr: artifact | bxl.FileNode | str,\n *,\n dirs_only: bool = False\n) -> read_dir_set\n")),(0,a.mdx)("p",null,"Returns all the contents of the given input that points to a directory. Errors if the given path is a file. Takes an optional boolean ",(0,a.mdx)("inlineCode",{parentName:"p"},"dirs_only")," to only return directories, defaults to false."),(0,a.mdx)("p",null,"The input is a either a literal, a source artifact (via ",(0,a.mdx)("inlineCode",{parentName:"p"},"artifact"),"), or a ",(0,a.mdx)("inlineCode",{parentName:"p"},"file_node"),"."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_list(ctx):\n list_results = ctx.fs.list("bin")\n for result in list_results:\n ctx.output.print(result)\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlfilesystemproject_rel_path"},"bxl.Filesystem.project","_","rel","_","path"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Filesystem.project_rel_path(expr: artifact | bxl.FileNode | str) -> str\n")),(0,a.mdx)("p",null,"Returns the relative path to the project root, given the file expression."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def project_rel_path(ctx):\n ctx.output.print(ctx.fs.project_rel_path("bin"))\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlfilesystemsource"},"bxl.Filesystem.source"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Filesystem.source(\n expr: artifact | bxl.FileNode | str,\n target_hint: None | bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] = None\n) -> artifact\n")),(0,a.mdx)("p",null,"Returns the source artifact for a path and an optional target hint (unconfigured target label or node) which points to the owning package. If no target hint is given, the nearest package will be used to guess the desired artifact. The path should be either an absolute path, or a project relative path."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/064ea4d5.628d4add.js b/assets/js/064ea4d5.628d4add.js new file mode 100644 index 0000000000000..b2ca4fadb0bfe --- /dev/null +++ b/assets/js/064ea4d5.628d4add.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5827],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>u,MDXProvider:()=>c,mdx:()=>f,useMDXComponents:()=>p,withMDXComponents:()=>d});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=r.createContext({}),d=function(e){return function(n){var t=p(n.components);return r.createElement(e,i({},n,{components:t}))}},p=function(e){var n=r.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},c=function(e){var n=p(e.components);return r.createElement(u.Provider,{value:n},e.children)},m="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},x=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=p(t),c=a,m=d["".concat(o,".").concat(c)]||d[c]||h[c]||i;return t?r.createElement(m,l(l({ref:n},u),{},{components:t})):r.createElement(m,l({ref:n},u))}));function f(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=x;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[m]="string"==typeof e?e:a,o[1]=l;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var r=t(87462),a=(t(67294),t(3905));const i={id:"bxl_basics",title:"BXL Basics"},o=void 0,l={unversionedId:"developers/bxl_basics",id:"developers/bxl_basics",title:"BXL Basics",description:"This page is a primer on common BXL functionalities and data types. Ramping up",source:"@site/../docs/developers/bxl_basics.md",sourceDirName:"developers",slug:"/developers/bxl_basics",permalink:"/docs/developers/bxl_basics",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl_basics",title:"BXL Basics"},sidebar:"mainSidebar",previous:{title:"Getting Started",permalink:"/docs/developers/bxl_getting_started"},next:{title:"Common How-Tos",permalink:"/docs/developers/bxl_how_tos"}},s={},u=[{value:"Common BXL functionalities",id:"common-bxl-functionalities",level:2},{value:"Build",id:"build",level:3},{value:"Analysis",id:"analysis",level:3},{value:"Query",id:"query",level:3},{value:"Uquery",id:"uquery",level:4},{value:"Cquery",id:"cquery",level:4},{value:"Aquery",id:"aquery",level:4},{value:"Actions",id:"actions",level:3},{value:"Ensure",id:"ensure",level:3}],d={toc:u};function p(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"This page is a primer on common BXL functionalities and data types. Ramping up\nin BXL may be challenging without much prior knowledge of Buck2 building blocks\n(ex: targets, configurations, queries), so please take a look at the\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/concepts/concept_map"},"Concepts")," documentation before reading on."),(0,a.mdx)("h2",{id:"common-bxl-functionalities"},"Common BXL functionalities"),(0,a.mdx)("h3",{id:"build"},"Build"),(0,a.mdx)("p",null,"You can build targets within BXL with\n",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.Context/#bxl_ctxbuild"},(0,a.mdx)("inlineCode",{parentName:"a"},"ctx.build()")),". The result is a\n",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.BuildResult"},(0,a.mdx)("inlineCode",{parentName:"a"},"bxl.BuildResult")),", which has ",(0,a.mdx)("inlineCode",{parentName:"p"},"artifacts()")," and\n",(0,a.mdx)("inlineCode",{parentName:"p"},"failures()")," functions that provide iterators to the artifacts or failures,\nrespectively. You can pass in a single target or target pattern to build."),(0,a.mdx)("h3",{id:"analysis"},"Analysis"),(0,a.mdx)("p",null,"You can run analysis on targets within BXL via\n",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.Context/#bxl_ctxanalysis"},(0,a.mdx)("inlineCode",{parentName:"a"},"ctx.analysis()")),". Analysis means\nto evaluate the underlying rule implementation for the inputted targets, and\nproduce the providers that the rule defined for the target. A common workflow is\nto inspect the resulting providers, and perhaps ensure parts of these providers\nor run actions using information from the providers (see ",(0,a.mdx)("a",{parentName:"p",href:"#actions"},"Actions"),"\nbelow)."),(0,a.mdx)("h3",{id:"query"},"Query"),(0,a.mdx)("p",null,"Buck2 supports a couple different query types: querying the unconfigured graph\n(",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 uquery"),"), the configured graph (",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 cquery"),"), or the action graph\n(",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 aquery"),"). These queries are all available in BXL as well:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"ctx.uquery()")," returns a\n",(0,a.mdx)("a",{parentName:"li",href:"../../api/bxl/bxl.UqueryContext"},(0,a.mdx)("inlineCode",{parentName:"a"},"bxl.UqueryContext"))),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"ctx.cquery()")," returns a\n",(0,a.mdx)("a",{parentName:"li",href:"../../api/bxl/bxl.CqueryContext"},(0,a.mdx)("inlineCode",{parentName:"a"},"bxl.CqueryContext"))),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"ctx.aquery()")," returns a\n",(0,a.mdx)("a",{parentName:"li",href:"../../api/bxl/bxl.AqueryContext"},(0,a.mdx)("inlineCode",{parentName:"a"},"bxl.AqueryContext")))),(0,a.mdx)("p",null,"You can read more about the individual queries in the API docs. There are many\nqueries that are common between uquery, cquery, and aquery, but cquery and\naquery will have extra queries unique to the configured graph or the action\ngraph. One more thing to call out is the ",(0,a.mdx)("inlineCode",{parentName:"p"},"eval()")," query, which is a special\nquery that takes in the entire query as a string literal. A common use for\n",(0,a.mdx)("inlineCode",{parentName:"p"},"eval()")," is to migrate a complex query from Buck2 CLI to BXL by dropping the\nentire query string directly into ",(0,a.mdx)("inlineCode",{parentName:"p"},"eval()"),"."),(0,a.mdx)("p",null,"The query results are target sets (iterable container) of\n",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.UnconfiguredTargetNode"},(0,a.mdx)("inlineCode",{parentName:"a"},"bxl.UnconfiguredTargetNode"),"s")," for\nuquery, ",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.ConfiguredTargetNode"},(0,a.mdx)("inlineCode",{parentName:"a"},"bxl.ConfiguredTargetNode"),"s"),"\nfor cquery, and ",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.ActionQueryNode"},(0,a.mdx)("inlineCode",{parentName:"a"},"bxl.ActionQueryNode"),"s")," for\naquery. Each of these node types have accessors on their attributes. A common\nworkflow is to run some query in BXL, and iterate through the resulting nodes to\ninspect their attributes, and use those attributes to inform further\ncomputations in BXL."),(0,a.mdx)("h4",{id:"uquery"},"Uquery"),(0,a.mdx)("p",null,"Querying the unconfigured graph means that no configurations (such as platforms\nand transitions) have been applied to the target graph yet. This means that it's\nvery possible that some parts of the target graph is broken due to lack of\nconfigurations. Generally to avoid this problem, cquery may be preferred\ninstead."),(0,a.mdx)("h4",{id:"cquery"},"Cquery"),(0,a.mdx)("p",null,"Querying the configured graph means that configurations have been applied to the\ntarget graph. For cquery, we require that users use a\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/developers/target_universe"},"target universe")," for their query inputs."),(0,a.mdx)("h4",{id:"aquery"},"Aquery"),(0,a.mdx)("p",null,"Aquery is a quite different from uquery and cquery. It is used to query the\naction graph, which is constructed after Buck2 runs analysis on the targets and\nproduces the list of providers and actions needed to build the target."),(0,a.mdx)("h3",{id:"actions"},"Actions"),(0,a.mdx)("p",null,"You can create actions directly within the BXL API. The available action APIs\nare equivalent to the ones found on the ",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/actions"},(0,a.mdx)("inlineCode",{parentName:"a"},"actions"))," type\nfor normal rules, with the caveat that\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/developers/dynamic_output"},"dynamic actions")," use the\n",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.Context"},(0,a.mdx)("inlineCode",{parentName:"a"},"bxl.Context"))," (which provides richer\nfunctionalities)."),(0,a.mdx)("p",null,"A common workflow would be to run analysis on a target, and use some interesting\nbits found in the analysis result to construct an augmented\n",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/cmd_args"},(0,a.mdx)("inlineCode",{parentName:"a"},"cmd_args"))," to run, and then ensure the action's output\n(see below for ensuring). Also see\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/developers/bxl_how_tos#running-actions"},"Running actions"),"."),(0,a.mdx)("h3",{id:"ensure"},"Ensure"),(0,a.mdx)("p",null,"Ensuring an artifact means that you want the artifact to be materialized\n(meaning, downloaded to your machine) at the end of the BXL execution. There are\ntwo APIs for ensuring: ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.output.ensure()")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.output.ensure_multiple()"),"\n(see ",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.OutputStream"},(0,a.mdx)("inlineCode",{parentName:"a"},"bxl.OutputStream")),"). As the naming\nindicates, the former is for ensuring a single artifact, and the latter is for\nensuring multiple artifact-like inputs. Artifact-like inputs include\n",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/cmd_args"},(0,a.mdx)("inlineCode",{parentName:"a"},"cmd_args"))," (can be found when inspecting providers),\n",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.BuildResult"},(0,a.mdx)("inlineCode",{parentName:"a"},"bxl.BuildResult"))," (produced when building\nsomething in BXL), or ",(0,a.mdx)("a",{parentName:"p",href:"../../api/bxl/artifact"},(0,a.mdx)("inlineCode",{parentName:"a"},"artifact"))," (can be found when\ninspecting providers, or creating your own actions)."),(0,a.mdx)("p",null,"A common workflow is to ensure an artifact that you created via some custom\nactions defined in your script, or ensuring some artifacts found in the\nproviders after running analysis. Also see\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/developers/bxl_faqs#what-do-i-need-to-know-about-ensured-artifacts"},"What do I need to know about ensured artifacts"),"."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0672ca2d.7c52aa43.js b/assets/js/0672ca2d.7c52aa43.js new file mode 100644 index 0000000000000..8f2e10d8c99c5 --- /dev/null +++ b/assets/js/0672ca2d.7c52aa43.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9525],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>m,MDXProvider:()=>c,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var m=r.createContext({}),u=function(e){return function(t){var n=d(t.components);return r.createElement(e,o({},t,{components:n}))}},d=function(e){var t=r.useContext(m),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=d(e.components);return r.createElement(m.Provider,{value:t},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),u=d(n),c=a,p=u["".concat(i,".").concat(c)]||u[c]||h[c]||o;return n?r.createElement(p,s(s({ref:t},m),{},{components:n})):r.createElement(p,s({ref:t},m))}));function b(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:a,i[1]=s;for(var m=2;m{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>m});var r=n(87462),a=(n(67294),n(3905));const o={id:"compared_to_buck1",title:"Benefits When Compared to Buck1"},i=void 0,s={unversionedId:"about/benefits/compared_to_buck1",id:"about/benefits/compared_to_buck1",title:"Benefits When Compared to Buck1",description:"For reports from real users, see the Testimonials, which",source:"@site/../docs/about/benefits/compared_to_buck1.md",sourceDirName:"about/benefits",slug:"/about/benefits/compared_to_buck1",permalink:"/docs/about/benefits/compared_to_buck1",draft:!1,tags:[],version:"current",frontMatter:{id:"compared_to_buck1",title:"Benefits When Compared to Buck1"},sidebar:"mainSidebar",previous:{title:"Getting Started",permalink:"/docs/about/getting_started"},next:{title:"Bootstrapping Buck2",permalink:"/docs/about/bootstrapping"}},l={},m=[{value:"Benefits for end users",id:"benefits-for-end-users",level:2},{value:"Benefits for Rule Authors",id:"benefits-for-rule-authors",level:2},{value:"Benefits for Integrators",id:"benefits-for-integrators",level:2},{value:"The downside",id:"the-downside",level:2}],u=(d="FbInternalOnly",function(e){return console.warn("Component "+d+" was not imported, exported, or provided by MDXProvider as global scope"),(0,a.mdx)("div",e)});var d;const c={toc:m};function p(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)(u,{mdxType:"FbInternalOnly"},(0,a.mdx)("p",null,"For reports from real users, see the ",(0,a.mdx)("a",{parentName:"p",href:"testimonials.fb.md"},"Testimonials"),", which\ninclude Workplace posts and their full context.")),(0,a.mdx)("h2",{id:"benefits-for-end-users"},"Benefits for end users"),(0,a.mdx)("blockquote",null,(0,a.mdx)("p",{parentName:"blockquote"},(0,a.mdx)("em",{parentName:"p"},'"',(0,a.mdx)("inlineCode",{parentName:"em"},"buck2 build SOME_TARGET_I_ALREADY_BUILT_BEFORE"),' is basically instantaneous\nand is a super delightful experience. \ud83d\ude42"')," - End user experience"),(0,a.mdx)(u,{mdxType:"FbInternalOnly"},"([source](https://fb.prod.workplace.com/groups/buck2users/posts/3030704467185914))")),(0,a.mdx)("blockquote",null,(0,a.mdx)("p",{parentName:"blockquote"},(0,a.mdx)("em",{parentName:"p"},'"Buck2 is largely faster and more memory efficient than buck1, and where I\u2019ve\nseen counter-examples, the buck2 team quickly optimizes and fixes that.\ud83d\ude42"')," -\nSoftware Engineer feedback",(0,a.mdx)(u,{mdxType:"FbInternalOnly"},"\n(",(0,a.mdx)("a",{parentName:"p",href:"https://fb.prod.workplace.com/groups/devx.ci.bffs/posts/616830502778501"},"source"),")"))),(0,a.mdx)("p",null,"For people who use Buck on a daily basis (such as using Buck build as part of\ntheir development inner loop), switching to Buck2 provides the following\nbenefits:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Performance")," - the performance of Buck2 is better in four ways:",(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},(0,a.mdx)("em",{parentName:"strong"},"Fast things are fast"))," - in Buck1, simply typing ",(0,a.mdx)("inlineCode",{parentName:"li"},"buck build")," when there\nis nothing to do can be expensive (23 seconds in some benchmarks). In Buck2,\nthe same build action takes 0.1 seconds. Actions that should be fast are\nfast, which enables developers to use Buck more freely, without trying to\nwork around the build system."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},(0,a.mdx)("em",{parentName:"strong"},"Slow things are faster"))," - when there is real work to do, Buck2 is\nsignificantly closer to the critical path. Benchmarks range from 5%/10s\nfaster for changing a header file (lots of parallel C++ computations, Buck1\nalready nearly at the critical path) to 42%/145s faster (changing a Thrift\nfile in a large project)."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},(0,a.mdx)("em",{parentName:"strong"},"Users contribute to the shared cache"))," - with Buck1, only trusted CI\nbuilds write to the network cache, while with Buck2 everyone writes to the\ncache through sandboxed remote execution. This increases the chance of cache\nhits, saving capacity and time."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},(0,a.mdx)("em",{parentName:"strong"},"CI builds go faster"))," - these numbers vary day by day, but most projects\nare 2-4x faster. This means spending less time waiting for CI and saving\nsome capacity at the same time."))),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Correctness")," - in Buck2, rules are hermetic by default. Missing\ndependencies are errors. These restrictions apply to both the user-written\n",(0,a.mdx)("inlineCode",{parentName:"li"},"BUCK")," files and the language rules.",(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},"During the process of migrating to Buck2, a huge number of missing\ndependencies have been fixed. However, during the same process, several\nBuck1 issues were identified that are not going to be fixed in Buck1 (such\nas missing headers, genrules without dependencies, and OCaml rules don\u2019t\ntrack all deps). The end result is that Buck2 gives the right answer more\noften, cutting down on user surprises."))),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Rule features")," - the rules in Buck2, especially for less commonly used\nlanguages (such as Haskell, OCaml, and Rust) support features above and beyond\nthose in Buck1.",(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},"Examples: dependencies can be given as arguments to\n",(0,a.mdx)("inlineCode",{parentName:"li"},"prebuilt_ocaml_library"),", Haskell enables the use of stub headers from C++,\nand Rust has experimental pipelining support."))),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Actively developed")," - the Meta build team is putting all its efforts behind\nBuck2; it's vastly easier to develop than Buck1. While Buck2 is already ahead\nof Buck1 in many important aspects, the difference is only going to grow with\nseveral improvements in the pipeline."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Support")," - Meta can provide much better support to those having\ndifficulties with Buck2 than to those using Buck1.")),(0,a.mdx)("h2",{id:"benefits-for-rule-authors"},"Benefits for Rule Authors"),(0,a.mdx)("p",null,"If you write language-specific rules, then Buck2 is in a different league to\nBuck1."),(0,a.mdx)("blockquote",null,(0,a.mdx)("p",{parentName:"blockquote"},(0,a.mdx)("em",{parentName:"p"},'"This is all rather fun! Buck2 rules are so much more hackable than\nBuck1."')," - Software Engineer feedback ",(0,a.mdx)(u,{mdxType:"FbInternalOnly"},"\n(",(0,a.mdx)("a",{parentName:"p",href:"https://fb.prod.workplace.com/groups/333784157210625/posts/928214407767594"},"source"),")"))),(0,a.mdx)("p",null,"There are a number of reasons why Buck2 excels for Rule Authors:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Faster developer cycle")," - in Buck1, the time from changing a rule to seeing\nthe impact is many minutes: you first have to compile Buck1, invalidate the\ndependency cache (and so on), and perhaps work between multiple OSs. With\nBuck2, it takes seconds, you don\u2019t even need to restart the daemon."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Simple API")," - Buck2 rules use a small and documented Starlark API, which is\ndependency-correct by construction. In Buck1, the rules must obey a lot of\nsubtle side conditions with a much larger API."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Easier deployment")," - for Buck2, deployment is just checking the rules in,\nwith an atomic commit changing associated macros (when required). For Buck1,\nyou have to make the repo work with the old and new rules and wait for a Buck\nversion bump to ship your changes, perhaps a few days later."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Low barrier to entry")," - writing rules in Buck2 is vastly easier than Buck1,\nsignificantly increasing the developer pool. This means that writing rules is\nnow accessible to language experts, not just Buck experts.")),(0,a.mdx)("h2",{id:"benefits-for-integrators"},"Benefits for Integrators"),(0,a.mdx)("p",null,"For those people who integrate Buck2 into larger systems, in addition to many of\nthe above benefits apply, Buck2 provides the following benefits:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Faster queries")," - many integrators make extensive use of ",(0,a.mdx)("inlineCode",{parentName:"li"},"buck uquery")," and\n",(0,a.mdx)("inlineCode",{parentName:"li"},"cquery"),". In Buck2, these commands are ",(0,a.mdx)("strong",{parentName:"li"},"faster")," and use ",(0,a.mdx)("strong",{parentName:"li"},"less memory"),".",(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},"For example, on CI target determination (a bunch of targets/queries), Buck2\nis 25% faster at ",(0,a.mdx)("a",{parentName:"li",href:"https://internalfb.com/P50"},"P50")," (moving to 40% faster at ",(0,a.mdx)("a",{parentName:"li",href:"https://internalfb.com/P95"},"P95"),") with 25% less memory\n(saving over 20Gb, and crossing below the 64Gb threshold)."))),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Profiling")," - Buck2 already ships with five types of profiling for both\nloading and analysis (flame graphs, statement breakdown, heap profiles etc).\nWith Buck2, these tools are much more easily accessible to people not on the\nBuild Infra team.")),(0,a.mdx)(u,{mdxType:"FbInternalOnly"},(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Eden friendly")," - Buck2 is tuned for the Eden architecture, performing fewer\ndisk operations with greater parallelism.",(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},"For example, the slowdown caused by using Eden for ",(0,a.mdx)("inlineCode",{parentName:"li"},"targets")," on ",(0,a.mdx)("inlineCode",{parentName:"li"},"fbandroid"),"\nis\n",(0,a.mdx)("a",{parentName:"li",href:"https://fb.workplace.com/groups/132499338763090/posts/132580122088345"},"reduced from 300s to 80s"),"."))),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Better observability")," - Buck2 populates many Scuba tables with information\nabout\n",(0,a.mdx)("a",{parentName:"li",href:"https://www.internalfb.com/intern/scuba/query/?dataset=buck2_loads"},"loading"),",\n",(0,a.mdx)("a",{parentName:"li",href:"https://www.internalfb.com/intern/scuba/query/?dataset=buck2_analyses"},"analysis"),",\n",(0,a.mdx)("a",{parentName:"li",href:"https://www.internalfb.com/intern/scuba/query/?dataset=buck2_builds"},"builds"),"\nand\n",(0,a.mdx)("a",{parentName:"li",href:"https://www.internalfb.com/intern/scuba/query/?dataset=buck2_action_errors"},"errors"),",\nand more. The architecture of Buck2 ensures that all important information can\nbe recorded in a uniform manner, enabling sensible trade-offs to be made about\nwhat to store vs for how long."))),(0,a.mdx)("h2",{id:"the-downside"},"The downside"),(0,a.mdx)("p",null,"While there are many benefits, it would be remiss not to include a small list of\ntemporary issues:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Stability")," - Buck2 is under active development, which means the risk of\nregression is correspondingly higher. There may be issues, but they will be\nfixed as quickly as possible (and lessons learned) through the through Meta's\nSEV-review process."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Corner cases")," - Buck1 has been battle-tested for nearly a decade, which has\nincluded attention to events such as error messages in unlikely corner cases.\nOnly time and user feedback will enable Meta to bring Buck2 to the same level.\nPlease share all such feedback!")),(0,a.mdx)(u,{mdxType:"FbInternalOnly"},(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Buck2 Web UI")," - there isn\u2019t yet a working Web UI equivalent to the one\nprovided by Buck1. But we\u2019re working on it and hope to share an initial\nversion shortly."))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/084ef0a3.5863fcf3.js b/assets/js/084ef0a3.5863fcf3.js new file mode 100644 index 0000000000000..0fc44c2a235f7 --- /dev/null +++ b/assets/js/084ef0a3.5863fcf3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5624],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>l,MDXProvider:()=>m,mdx:()=>g,useMDXComponents:()=>d,withMDXComponents:()=>u});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=r.createContext({}),u=function(e){return function(n){var t=d(n.components);return r.createElement(e,a({},n,{components:t}))}},d=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},m=function(e){var n=d(e.components);return r.createElement(l.Provider,{value:n},e.children)},f="mdxType",p={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},h=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=d(t),m=o,f=u["".concat(s,".").concat(m)]||u[m]||p[m]||a;return t?r.createElement(f,i(i({ref:n},l),{},{components:t})):r.createElement(f,i({ref:n},l))}));function g(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,s=new Array(a);s[0]=h;var i={};for(var c in n)hasOwnProperty.call(n,c)&&(i[c]=n[c]);i.originalType=e,i[f]="string"==typeof e?e:o,s[1]=i;for(var l=2;l{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var r=t(87462),o=(t(67294),t(3905));const a={id:"ctargets",title:"ctargets"},s=void 0,i={unversionedId:"users/commands/ctargets",id:"users/commands/ctargets",title:"ctargets",description:"These are the flags/commands under buck2 ctargets and their --help output:",source:"@site/../docs/users/commands/ctargets.generated.md",sourceDirName:"users/commands",slug:"/users/commands/ctargets",permalink:"/docs/users/commands/ctargets",draft:!1,tags:[],version:"current",frontMatter:{id:"ctargets",title:"ctargets"},sidebar:"mainSidebar",previous:{title:"cquery",permalink:"/docs/users/commands/cquery"},next:{title:"docs",permalink:"/docs/users/commands/docs"}},c={},l=[{value:"buck ctargets",id:"buck-ctargets",level:2}],u={toc:l};function d(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"These are the flags/commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 ctargets")," and their ",(0,o.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,o.mdx)("h2",{id:"buck-ctargets"},"buck ctargets"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Resolve target patterns to configured targets\n\nUsage: buck2-release ctargets [OPTIONS] [TARGET_PATTERNS]...\n\nArguments:\n [TARGET_PATTERNS]...\n Patterns to interpret\n\nOptions:\n --skip-missing-targets\n Skip missing targets from `BUCK` files when non-glob pattern is specified. This option\n does not skip missing packages and does not ignore errors of `BUCK` file evaluation\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms \n Configuration target (one) to use to configure targets\n\n -m, --modifier \n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config \n List of config options\n\n --config-file \n List of config file paths\n\n --fake-host \n [possible values: default, linux, macos, windows]\n\n --fake-arch \n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version \n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible \n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console \n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui ...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log \n Write events to this log file\n\n --write-build-id \n Write command invocation id into this file\n\n --unstable-write-invocation-record \n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose \n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall \n The oncall executing this command\n\n --client-metadata \n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0a7b70f3.a9d32de7.js b/assets/js/0a7b70f3.a9d32de7.js new file mode 100644 index 0000000000000..da61edf40ec7d --- /dev/null +++ b/assets/js/0a7b70f3.a9d32de7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8255],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>u,MDXProvider:()=>d,mdx:()=>x,useMDXComponents:()=>c,withMDXComponents:()=>m});var r=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var u=r.createContext({}),m=function(e){return function(n){var t=c(n.components);return r.createElement(e,a({},n,{components:t}))}},c=function(e){var n=r.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},d=function(e){var n=c(e.components);return r.createElement(u.Provider,{value:n},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},b=r.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),m=c(t),d=i,p=m["".concat(o,".").concat(d)]||m[d]||f[d]||a;return t?r.createElement(p,l(l({ref:n},u),{},{components:t})):r.createElement(p,l({ref:n},u))}));function x(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,o=new Array(a);o[0]=b;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[p]="string"==typeof e?e:i,o[1]=l;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>l,toc:()=>u});var r=t(87462),i=(t(67294),t(3905));const a={id:"remote_execution",title:"Remote Execution"},o=void 0,l={unversionedId:"users/remote_execution",id:"users/remote_execution",title:"Remote Execution",description:"Buck2 can use services that expose",source:"@site/../docs/users/remote_execution.md",sourceDirName:"users",slug:"/users/remote_execution",permalink:"/docs/users/remote_execution",draft:!1,tags:[],version:"current",frontMatter:{id:"remote_execution",title:"Remote Execution"},sidebar:"mainSidebar",previous:{title:"Build Report",permalink:"/docs/users/build_observability/build_report"},next:{title:"Aquery Environment",permalink:"/docs/users/query/aquery"}},s={},u=[{value:"RE configuration in .buckconfig",id:"re-configuration-in-buckconfig",level:2},{value:"RE platform configuration",id:"re-platform-configuration",level:2}],m={toc:u};function c(e){let{components:n,...t}=e;return(0,i.mdx)("wrapper",(0,r.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)("p",null,"Buck2 can use services that expose\n",(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/remote-apis"},"Bazel's remote execution API")," in\norder to run actions remotely."),(0,i.mdx)("p",null,"Buck2 projects have been successfully tested for remote execution against\n",(0,i.mdx)("a",{parentName:"p",href:"https://www.engflow.com/"},"EngFlow"),",\n",(0,i.mdx)("a",{parentName:"p",href:"https://github.com/buildbarn/bb-remote-execution"},"BuildBarn")," and\n",(0,i.mdx)("a",{parentName:"p",href:"https://www.buildbuddy.io"},"BuildBuddy"),". Sample project configurations for those\nproviders are available under\n",(0,i.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/tree/main/examples/remote_execution"},"examples/remote_execution"),"."),(0,i.mdx)("h2",{id:"re-configuration-in-buckconfig"},"RE configuration in ",(0,i.mdx)("inlineCode",{parentName:"h2"},".buckconfig")),(0,i.mdx)("p",null,"Configuration for remote execution can be found under ",(0,i.mdx)("inlineCode",{parentName:"p"},"[buck2_re_client]")," in\n",(0,i.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"."),(0,i.mdx)("p",null,"Keys supported include:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"engine_address")," - address to your RE's engine."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"action_cache_address")," - address to your action cache endpoint."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"cas_address")," - address to your content-addressable storage (CAS) endpoint."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"tls_ca_certs")," - path to a CA certificates bundle. This must be PEM-encoded.\nIf none is set, a default bundle will be used. This path contains environment\nvariables using shell interpolation syntax (i.e. $VAR). They will be\nsubstituted before reading the file."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"tls_client_cert")," - path to a client certificate (and intermediate chain), as\nwell as its associated private key. This must be PEM-encoded. This path can\ncontain environment variables using shell interpolation syntax (i.e. $VAR).\nThey will be substituted before reading the file."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"http_headers")," - HTTP headers to inject in all requests to RE. This is a\ncomma-separated list of ",(0,i.mdx)("inlineCode",{parentName:"li"},"Header: Value")," pairs. Minimal validation of those\nheaders is done here. This can contain environment variables using shell\ninterpolation syntax ($VAR). They will be substituted before reading the file."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"instance_name")," - an instance name to pass on execution, action cache, and CAS\nrequests.")),(0,i.mdx)("p",null,"Buck2 uses ",(0,i.mdx)("inlineCode",{parentName:"p"},"SHA256")," for all its hashing by default. If your RE engine requires\nsomething else, this can be configured in ",(0,i.mdx)("inlineCode",{parentName:"p"},".buckconfig")," as follows:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-ini"},"[buck2]\n# Accepts BLAKE3, SHA1, or SHA256\ndigest_algorithms = BLAKE3\n")),(0,i.mdx)("h2",{id:"re-platform-configuration"},"RE platform configuration"),(0,i.mdx)("p",null,"Next, your build will need an\n",(0,i.mdx)("a",{parentName:"p",href:"https://buck2.build/docs/concepts/glossary/#execution-platform"},"execution platform"),"\nthat specifies how and where actions should be executed. For a sample platform\ndefinition that sets up an execution platform to utilize RE, take a look at the\n",(0,i.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/blob/main/examples/remote_execution/engflow/platforms/defs.bzl"},"EngFlow example"),",\n",(0,i.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/blob/main/examples/remote_execution/buildbarn/platforms/defs.bzl"},"BuildBarn example"),",\nor the\n",(0,i.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/blob/main/examples/remote_execution/buildbuddy/platforms/defs.bzl"},"BuildBuddy example"),"."),(0,i.mdx)("p",null,"To enable remote execution, configure the following fields in\n",(0,i.mdx)("a",{parentName:"p",href:"https://buck2.build/docs/api/build/globals/#commandexecutorconfig"},"CommandExecutorConfig"),"\nas follows:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"remote_enabled")," - set to ",(0,i.mdx)("inlineCode",{parentName:"li"},"True"),"."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"local_enabled")," - set to ",(0,i.mdx)("inlineCode",{parentName:"li"},"True")," if you also want to run actions locally."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"use_limited_hybrid")," - set to ",(0,i.mdx)("inlineCode",{parentName:"li"},"False")," unless you want to exclusively run\nremotely when possible."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"remote_execution_properties")," - other additional properties.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"If the RE engine requires a container image, this can be done by setting\n",(0,i.mdx)("inlineCode",{parentName:"li"},"container-image")," to an image URL, as is done in the example above.")))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0c924533.b35165c5.js b/assets/js/0c924533.b35165c5.js new file mode 100644 index 0000000000000..8ca04e4a900e3 --- /dev/null +++ b/assets/js/0c924533.b35165c5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[893],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>g,MDXProvider:()=>p,mdx:()=>m,useMDXComponents:()=>d,withMDXComponents:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(){return l=Object.assign||function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var g=a.createContext({}),u=function(e){return function(t){var r=d(t.components);return a.createElement(e,l({},t,{components:r}))}},d=function(e){var t=a.useContext(g),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=d(e.components);return a.createElement(g.Provider,{value:t},e.children)},_="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},b=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,g=c(e,["components","mdxType","originalType","parentName"]),u=d(r),p=n,_=u["".concat(o,".").concat(p)]||u[p]||f[p]||l;return r?a.createElement(_,i(i({ref:t},g),{},{components:r})):a.createElement(_,i({ref:t},g))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,o=new Array(l);o[0]=b;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[_]="string"==typeof e?e:n,o[1]=i;for(var g=2;g{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>g});var a=r(87462),n=(r(67294),r(3905));const l={id:"configured_target_label"},o="configured_target_label type",i={unversionedId:"api/bxl/configured_target_label",id:"api/bxl/configured_target_label",title:"configured_target_label type",description:"configured\\target\\label.cell",source:"@site/../docs/api/bxl/configured_target_label.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/configured_target_label",permalink:"/docs/api/bxl/configured_target_label",draft:!1,tags:[],version:"current",frontMatter:{id:"configured_target_label"},sidebar:"apiSidebar",previous:{title:"configured_attr type",permalink:"/docs/api/bxl/configured_attr"},next:{title:"context type",permalink:"/docs/api/bxl/context"}},c={},g=[{value:"configured_target_label.cell",id:"configured_target_labelcell",level:2},{value:"configured_target_label.config",id:"configured_target_labelconfig",level:2},{value:"configured_target_label.name",id:"configured_target_labelname",level:2},{value:"configured_target_label.package",id:"configured_target_labelpackage",level:2},{value:"configured_target_label.path",id:"configured_target_labelpath",level:2},{value:"configured_target_label.raw_target",id:"configured_target_labelraw_target",level:2},{value:"configured_target_label.with_sub_target",id:"configured_target_labelwith_sub_target",level:2}],u={toc:g};function d(e){let{components:t,...r}=e;return(0,n.mdx)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"configured_target_label-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"configured_target_label")," type"),(0,n.mdx)("h2",{id:"configured_target_labelcell"},"configured","_","target","_","label.cell"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"configured_target_label.cell: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelconfig"},"configured","_","target","_","label.config"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def configured_target_label.config() -> configuration\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelname"},"configured","_","target","_","label.name"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"configured_target_label.name: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelpackage"},"configured","_","target","_","label.package"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"configured_target_label.package: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelpath"},"configured","_","target","_","label.path"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"configured_target_label.path: typing.Any\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelraw_target"},"configured","_","target","_","label.raw","_","target"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def configured_target_label.raw_target() -> target_label\n")),(0,n.mdx)("p",null,"Returns the unconfigured underlying target label."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelwith_sub_target"},"configured","_","target","_","label.with","_","sub","_","target"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def configured_target_label.with_sub_target(\n subtarget_name: str | list[str] = _\n) -> label\n")),(0,n.mdx)("p",null,"Converts a ",(0,n.mdx)("inlineCode",{parentName:"p"},"ConfiguredTargetLabel")," into its corresponding ",(0,n.mdx)("inlineCode",{parentName:"p"},"Label")," given the subtarget name which is a list for each layer of subtarget"),(0,n.mdx)("p",null,"Sample usage:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_sub_target(ctx):\n owners = ctx.cquery().owner("bin/TARGETS.fixture")\n for owner in owners:\n configured_label = owner.label\n ctx.output.print(configured_label.with_sub_target())\n ctx.output.print(configured_label.with_sub_target("subtarget1"))\n ctx.output.print(configured_label.with_sub_target(["subtarget1", "subtarget2"]))\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0f079156.aaf18b45.js b/assets/js/0f079156.aaf18b45.js new file mode 100644 index 0000000000000..a99306999c9a3 --- /dev/null +++ b/assets/js/0f079156.aaf18b45.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3674],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>i,MDXProvider:()=>u,mdx:()=>y,useMDXComponents:()=>l,withMDXComponents:()=>p});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(){return a=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var i=n.createContext({}),p=function(e){return function(t){var r=l(t.components);return n.createElement(e,a({},t,{components:r}))}},l=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(i.Provider,{value:t},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},v=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,i=f(e,["components","mdxType","originalType","parentName"]),p=l(r),u=o,m=p["".concat(c,".").concat(u)]||p[u]||d[u]||a;return r?n.createElement(m,s(s({ref:t},i),{},{components:r})):n.createElement(m,s({ref:t},i))}));function y(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=v;var s={};for(var f in t)hasOwnProperty.call(t,f)&&(s[f]=t[f]);s.originalType=e,s[m]="string"==typeof e?e:o,c[1]=s;for(var i=2;i{r.r(t),r.d(t,{assets:()=>f,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>i});var n=r(87462),o=(r(67294),r(3905));const a={},c="RFC: TestInfo v2",s={unversionedId:"rfcs/drafts/test-info-v2",id:"rfcs/drafts/test-info-v2",title:"RFC: TestInfo v2",description:"A stub RFC for TestInfo v2 to track lessons learned about TestInfo v1. The stack",source:"@site/../docs/rfcs/drafts/test-info-v2.md",sourceDirName:"rfcs/drafts",slug:"/rfcs/drafts/test-info-v2",permalink:"/docs/rfcs/drafts/test-info-v2",draft:!1,tags:[],version:"current",frontMatter:{}},f={},i=[],p={toc:i};function l(e){let{components:t,...r}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"rfc-testinfo-v2"},"RFC: TestInfo v2"),(0,o.mdx)("p",null,"A stub RFC for TestInfo v2 to track lessons learned about TestInfo v1. The stack\nstarting ",(0,o.mdx)("a",{parentName:"p",href:"https://internalfb.com/D36339960"},"D36339960")," contains the original code for the TestInfo and templated\ntest API experiment."))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0fa06060.ef3e21bb.js b/assets/js/0fa06060.ef3e21bb.js new file mode 100644 index 0000000000000..dff10b4abfea7 --- /dev/null +++ b/assets/js/0fa06060.ef3e21bb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7778],{3905:(e,a,n)=>{n.r(a),n.d(a,{MDXContext:()=>d,MDXProvider:()=>c,mdx:()=>b,useMDXComponents:()=>p,withMDXComponents:()=>u});var t=n(67294);function r(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function i(){return i=Object.assign||function(e){for(var a=1;a=0||(r[n]=e[n]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=t.createContext({}),u=function(e){return function(a){var n=p(a.components);return t.createElement(e,i({},a,{components:n}))}},p=function(e){var a=t.useContext(d),n=a;return e&&(n="function"==typeof e?e(a):o(o({},a),e)),n},c=function(e){var a=p(e.components);return t.createElement(d.Provider,{value:a},e.children)},m="mdxType",h={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},f=t.forwardRef((function(e,a){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=p(n),c=r,m=u["".concat(l,".").concat(c)]||u[c]||h[c]||i;return n?t.createElement(m,o(o({ref:a},d),{},{components:n})):t.createElement(m,o({ref:a},d))}));function b(e,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=f;var o={};for(var s in a)hasOwnProperty.call(a,s)&&(o[s]=a[s]);o.originalType=e,o[m]="string"==typeof e?e:r,l[1]=o;for(var d=2;d{n.r(a),n.d(a,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var t=n(87462),r=(n(67294),n(3905));const i={id:"build_rule",title:"Build Rule"},l="Build Rule",o={unversionedId:"concepts/build_rule",id:"concepts/build_rule",title:"Build Rule",description:"A build rule is a procedure for producing output files from a set of input",source:"@site/../docs/concepts/build_rule.md",sourceDirName:"concepts",slug:"/concepts/build_rule",permalink:"/docs/concepts/build_rule",draft:!1,tags:[],version:"current",frontMatter:{id:"build_rule",title:"Build Rule"},sidebar:"mainSidebar",previous:{title:"Concept Map",permalink:"/docs/concepts/concept_map"},next:{title:"Build File",permalink:"/docs/concepts/build_file"}},s={},d=[{value:"Buck2's collection of build rules",id:"buck2s-collection-of-build-rules",level:2},{value:"Source files as inputs to build rules",id:"source-files-as-inputs-to-build-rules",level:2},{value:"Package boundaries and access to source files",id:"package-boundaries-and-access-to-source-files",level:3},{value:"Symlinks: Use with caution if at all",id:"symlinks-use-with-caution-if-at-all",level:5},{value:"Dependencies: Output from one rule as input to another rule",id:"dependencies-output-from-one-rule-as-input-to-another-rule",level:2},{value:"Required dependencies are always built first",id:"required-dependencies-are-always-built-first",level:3},{value:"Visibility",id:"visibility",level:3},{value:"Dependencies define a graph",id:"dependencies-define-a-graph",level:3},{value:"How to handle special cases: genrules and macros",id:"how-to-handle-special-cases-genrules-and-macros",level:2},{value:"Multiple output files with genrules",id:"multiple-output-files-with-genrules",level:3},{value:"Macros",id:"macros",level:3},{value:"String parameter macros",id:"string-parameter-macros",level:2}],u={toc:d};function p(e){let{components:a,...n}=e;return(0,r.mdx)("wrapper",(0,t.Z)({},u,n,{components:a,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"build-rule"},"Build Rule"),(0,r.mdx)("p",null,"A ",(0,r.mdx)("em",{parentName:"p"},"build rule")," is a procedure for producing output files from a set of input\nfiles in the context of a specified build configuration. Build rules are\nspecified in ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/build_file"},"build file"),"s\u2014typically named BUCK. ",(0,r.mdx)("strong",{parentName:"p"},"Note:")," A\nbuild rule must explicitly specify, in its arguments, all of its required inputs\nin order for Buck2 to be able to build the rule's output in a way that is\ndeterministic and reproducible."),(0,r.mdx)("h2",{id:"buck2s-collection-of-build-rules"},"Buck2's collection of build rules"),(0,r.mdx)("p",null,"Buck2 comes with a collection of built-in build rules for many common build\nprocedures. For example, compiling Java code against the Android SDK is a common\nprocedure, so Buck2 provides the build rule\n",(0,r.mdx)("a",{parentName:"p",href:"../../prelude/globals#android_library"},(0,r.mdx)("inlineCode",{parentName:"a"},"android_library"))," to do that.\nSimilarly, the final product of most Android development is an APK, so you can\nuse the build rule ",(0,r.mdx)("a",{parentName:"p",href:"../../prelude/globals#android_binary"},(0,r.mdx)("inlineCode",{parentName:"a"},"android_binary"))," to\ncreate an APK."),(0,r.mdx)("h2",{id:"source-files-as-inputs-to-build-rules"},"Source files as inputs to build rules"),(0,r.mdx)("p",null,"Most build rules specify source files as inputs. For example, a\n",(0,r.mdx)("a",{parentName:"p",href:"../../prelude/globals#cxx_library"},(0,r.mdx)("inlineCode",{parentName:"a"},"cxx_library"))," rule would specify ",(0,r.mdx)("inlineCode",{parentName:"p"},".cpp"),"\nfiles as inputs. To support specifying these files, a ",(0,r.mdx)("inlineCode",{parentName:"p"},"cxx_library")," rule\nprovides the ",(0,r.mdx)("inlineCode",{parentName:"p"},"srcs")," argument. Some languages, such as C++, use header files as\nwell. To specify these, ",(0,r.mdx)("inlineCode",{parentName:"p"},"cxx_library")," provides a ",(0,r.mdx)("inlineCode",{parentName:"p"},"headers")," argument. In addition\nto ",(0,r.mdx)("inlineCode",{parentName:"p"},"srcs")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"headers"),", some rules provide variants of these arguments, such as\n",(0,r.mdx)("inlineCode",{parentName:"p"},"platform_srcs")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"platform_headers"),". These arguments support groups of source\nfiles that should be used as inputs only when building for specific platforms."),(0,r.mdx)("h3",{id:"package-boundaries-and-access-to-source-files"},"Package boundaries and access to source files"),(0,r.mdx)("p",null,"In Buck2, a BUCK file defines a ",(0,r.mdx)("em",{parentName:"p"},"package"),", which corresponds ",(0,r.mdx)("em",{parentName:"p"},"roughly")," to the\ndirectory that contains the BUCK file and those subdirectories that do not\nthemselves contain BUCK files. (To learn more, see the\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/key_concepts"},"Key Concepts")," topic.) A rule in a BUCK file cannot specify a\nsource file as an input unless that source file is in that BUCK file's package.\nAn exception to this restriction exists for header files, but only if a rule in\nthe package that contains the header file ",(0,r.mdx)("em",{parentName:"p"},"exports")," that header file using the\n",(0,r.mdx)("inlineCode",{parentName:"p"},"exported_headers")," argument. For more details, see the description for\n",(0,r.mdx)("inlineCode",{parentName:"p"},"exported_headers")," in, for example, the\n",(0,r.mdx)("a",{parentName:"p",href:"../../prelude/globals#cxx_library"},(0,r.mdx)("inlineCode",{parentName:"a"},"cxx_library"))," topic. More commonly though,\nthe package for a BUCK file contains all the source files required for the rules\ndefined in that BUCK file. Functionality in source files from other packages is\nmade available through the artifacts produced by the rules in the BUCK files for\nthose packages. For example, a ",(0,r.mdx)("a",{parentName:"p",href:"../../prelude/globals/#cxx_binary"},(0,r.mdx)("inlineCode",{parentName:"a"},"cxx_binary")),"\nmight use the functionality in a ",(0,r.mdx)("inlineCode",{parentName:"p"},"cxx_library")," that is defined in another\npackage. To access that functionality, the ",(0,r.mdx)("inlineCode",{parentName:"p"},"cxx_binary")," would take that\n",(0,r.mdx)("inlineCode",{parentName:"p"},"cxx_library")," as a ",(0,r.mdx)("em",{parentName:"p"},"dependency"),"."),(0,r.mdx)("h5",{id:"symlinks-use-with-caution-if-at-all"},"Symlinks: Use with caution if at all"),(0,r.mdx)("p",null,"We recommend that you do ",(0,r.mdx)("em",{parentName:"p"},"not")," use symlinks\u2014either absolute or relative\u2014to\nspecify input files to build rules. Although using symlinks in this context does\nsometimes work, it can lead to unexpected behavior and errors."),(0,r.mdx)("h2",{id:"dependencies-output-from-one-rule-as-input-to-another-rule"},"Dependencies: Output from one rule as input to another rule"),(0,r.mdx)("p",null,"A build rule can use the output from another build rule as one of its inputs by\nspecifying that rule as a ",(0,r.mdx)("em",{parentName:"p"},"dependency"),". Typically, a build rule specifies its\ndependencies as a list of ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/build_target"},"build target"),"s in its ",(0,r.mdx)("inlineCode",{parentName:"p"},"deps"),"\nargument. However, the rule can also specify dependencies\u2014as build targets\u2014in\nother arguments, such as ",(0,r.mdx)("inlineCode",{parentName:"p"},"srcs"),". ",(0,r.mdx)("strong",{parentName:"p"},"Example:")," The output of a\n",(0,r.mdx)("a",{parentName:"p",href:"../../prelude/globals/#java_library"},(0,r.mdx)("inlineCode",{parentName:"a"},"java_library"))," rule is a JAR file. If a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"java_library")," rule specifies another ",(0,r.mdx)("inlineCode",{parentName:"p"},"java_library")," rule as a dependency, the\nJAR file produced by the specified rule is added to the classpath for the\n",(0,r.mdx)("inlineCode",{parentName:"p"},"java_library")," that depends on it. ",(0,r.mdx)("strong",{parentName:"p"},"Example:")," If a\n",(0,r.mdx)("a",{parentName:"p",href:"../../prelude/globals/#java_binary"},(0,r.mdx)("inlineCode",{parentName:"a"},"java_binary"))," rule specifies a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"java_library")," rule as a dependency, the JAR file for the specified\n",(0,r.mdx)("inlineCode",{parentName:"p"},"java_library")," is available on the classpath for the ",(0,r.mdx)("inlineCode",{parentName:"p"},"java_binary"),". In addition,\nin the case of ",(0,r.mdx)("inlineCode",{parentName:"p"},"java_binary"),", the JAR files for any dependencies of the\n",(0,r.mdx)("inlineCode",{parentName:"p"},"java_library")," rule ",(0,r.mdx)("em",{parentName:"p"},"are also")," made available to the ",(0,r.mdx)("inlineCode",{parentName:"p"},"java_binary")," rule\u2014and if\nthose dependencies have dependencies of their own, they are added as well. This\nexhaustive cascade of dependencies is referred to as the rule's ",(0,r.mdx)("em",{parentName:"p"},"transitive\nclosure"),"."),(0,r.mdx)("h3",{id:"required-dependencies-are-always-built-first"},"Required dependencies are always built first"),(0,r.mdx)("p",null,"Buck2 guarantees that any dependencies that a rule lists that are required in\norder to build that rule are built successfully ",(0,r.mdx)("em",{parentName:"p"},"before")," Buck2 builds the rule\nitself. Note though that there can be special cases\u2014such as\n",(0,r.mdx)("a",{parentName:"p",href:"../../prelude/globals/#apple_bundle"},(0,r.mdx)("inlineCode",{parentName:"a"},"apple_bundle")),"\u2014where a rule's listed\ndependencies do not actually need to be built before the rule."),(0,r.mdx)("h3",{id:"visibility"},"Visibility"),(0,r.mdx)("p",null,"In order for a build rule to take a dependency on another build rule, the build\nrule on which the dependency is taken must be ",(0,r.mdx)("em",{parentName:"p"},"visible")," to the build rule taking\nthe dependency. A build rule's ",(0,r.mdx)("inlineCode",{parentName:"p"},"visibility")," argument is a list of\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/target_pattern"},"build target pattern"),"s that specify the rules that can take\nthat rule as a dependency. For more information about the concept of visibility\nin Buck2, see the ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/visibility"},"Visibility")," topic."),(0,r.mdx)("h3",{id:"dependencies-define-a-graph"},"Dependencies define a graph"),(0,r.mdx)("p",null,"Build rules and their dependencies define a directed acyclic graph (DAG). Buck2\nrequires this graph to be acyclic to make it possible to build independent\nsubgraphs in parallel."),(0,r.mdx)("h2",{id:"how-to-handle-special-cases-genrules-and-macros"},"How to handle special cases: genrules and macros"),(0,r.mdx)("p",null,'Although Buck2 provides a rich set of built-in build rules for developers, it is\nnot able to address all possible needs. As an "escape hatch," Buck2 provides a\ncategory of generic build rules called ',(0,r.mdx)("em",{parentName:"p"},"genrules"),". With genrules, you can\nperform arbitrary operations using shell scripts. The genrules supported by\nBuck2 are:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"../../prelude/globals/#genrule"},(0,r.mdx)("inlineCode",{parentName:"a"},"genrule"))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"../../prelude/globals/#apk_genrule"},(0,r.mdx)("inlineCode",{parentName:"a"},"apk_genrule"))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"../../prelude/globals/#cxx_genrule"},(0,r.mdx)("inlineCode",{parentName:"a"},"cxx_genrule")))),(0,r.mdx)("h3",{id:"multiple-output-files-with-genrules"},"Multiple output files with genrules"),(0,r.mdx)("p",null,"In most cases, a build rule produces exactly one output file. However, with\ngenrules, you can specify an output ",(0,r.mdx)("em",{parentName:"p"},"directory")," and write arbitrary files to\nthat directory."),(0,r.mdx)("h3",{id:"macros"},"Macros"),(0,r.mdx)("p",null,"Finally, note that you can define functions that generate build rules. In\ngeneral, this should not be something that you need to do, but taking advantage\nof this option might help you add needed functionality to Buck2's without\nediting its source code."),(0,r.mdx)("h2",{id:"string-parameter-macros"},"String parameter macros"),(0,r.mdx)("p",null,"It is also possible to expand references to other rules within the ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd"),", using\nbuiltin ",(0,r.mdx)("inlineCode",{parentName:"p"},"string parameter macros"),". All build rules expanded in the command are\nautomatically considered to be dependencies of the ",(0,r.mdx)("inlineCode",{parentName:"p"},"genrule()"),"."),(0,r.mdx)("p",null,"Note that the paths returned by these macros are ",(0,r.mdx)("em",{parentName:"p"},"relative")," paths. Using\nrelative paths ensures that your builds are ",(0,r.mdx)("em",{parentName:"p"},"hermetic"),", that is, they are\nreproducible across different machine environments."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"$(classpath //path/to:target)")),(0,r.mdx)("p",null,"Expands to the transitive classpath of the specified build rule, provided that\nthe rule has a Java classpath. If the rule does not have (or contribute to) a\nclasspath, then an exception is thrown and the build breaks."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"$(exe //path/to:target)")),(0,r.mdx)("p",null,"Expands a build rule that results in an executable to the commands necessary to\nrun that executable. For example, a ",(0,r.mdx)("inlineCode",{parentName:"p"},"java_binary()")," might expand to a call to\n",(0,r.mdx)("inlineCode",{parentName:"p"},"java -jar path/to/target.jar")," . Files that are executable (perhaps generated by\na ",(0,r.mdx)("inlineCode",{parentName:"p"},"genrule()"),") are also expanded. If the build rule does not generate an\nexecutable output, then an exception is thrown and the build breaks."),(0,r.mdx)("p",null,"If the ",(0,r.mdx)("inlineCode",{parentName:"p"},"$(exe my_dependency)")," dependency should actually be built with the\ntarget platform, use ",(0,r.mdx)("inlineCode",{parentName:"p"},"$(exe_target my_dependency)")," instead, which will stick to\nthe same platform as the target."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"$(location //path/to:target)")),(0,r.mdx)("p",null,"Expands to the location of the output of the specified build rule. This means\nthat you can refer to the output without needing to be aware of how Buck is\nstoring data on the disk mid-build."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/10cf57ad.762ab96d.js b/assets/js/10cf57ad.762ab96d.js new file mode 100644 index 0000000000000..ec57297eadb89 --- /dev/null +++ b/assets/js/10cf57ad.762ab96d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6618],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>u,MDXProvider:()=>b,mdx:()=>y,useMDXComponents:()=>s,withMDXComponents:()=>l});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(){return a=Object.assign||function(e){for(var r=1;r=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var u=n.createContext({}),l=function(e){return function(r){var t=s(r.components);return n.createElement(e,a({},r,{components:t}))}},s=function(e){var r=n.useContext(u),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},b=function(e){var r=s(e.components);return n.createElement(u.Provider,{value:r},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},d=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),l=s(t),b=o,m=l["".concat(c,".").concat(b)]||l[b]||f[b]||a;return t?n.createElement(m,i(i({ref:r},u),{},{components:t})):n.createElement(m,i({ref:r},u))}));function y(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=t.length,c=new Array(a);c[0]=d;var i={};for(var p in r)hasOwnProperty.call(r,p)&&(i[p]=r[p]);i.originalType=e,i[m]="string"==typeof e?e:o,c[1]=i;for(var u=2;u{t.r(r),t.d(r,{assets:()=>p,contentTitle:()=>c,default:()=>s,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var n=t(87462),o=(t(67294),t(3905));const a={id:"buck_regex"},c="buck_regex type",i={unversionedId:"api/bxl/buck_regex",id:"api/bxl/buck_regex",title:"buck_regex type",description:"buck\\_regex.match",source:"@site/../docs/api/bxl/buck_regex.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/buck_regex",permalink:"/docs/api/bxl/buck_regex",draft:!1,tags:[],version:"current",frontMatter:{id:"buck_regex"},sidebar:"apiSidebar",previous:{title:"attrs type",permalink:"/docs/api/bxl/attrs"},next:{title:"bxl.ActionQueryNode type",permalink:"/docs/api/bxl/bxl.ActionQueryNode"}},p={},u=[{value:"buck_regex.match",id:"buck_regexmatch",level:2}],l={toc:u};function s(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},l,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"buck_regex-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"buck_regex")," type"),(0,o.mdx)("h2",{id:"buck_regexmatch"},"buck","_","regex.match"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def buck_regex.match(str: str, /) -> bool\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/14372d82.eae64a55.js b/assets/js/14372d82.eae64a55.js new file mode 100644 index 0000000000000..db2efccc7ae30 --- /dev/null +++ b/assets/js/14372d82.eae64a55.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3353],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>p,MDXProvider:()=>d,mdx:()=>b,useMDXComponents:()=>s,withMDXComponents:()=>u});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(){return i=Object.assign||function(e){for(var r=1;r=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=n.createContext({}),u=function(e){return function(r){var t=s(r.components);return n.createElement(e,i({},r,{components:t}))}},s=function(e){var r=n.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},d=function(e){var r=s(e.components);return n.createElement(p.Provider,{value:r},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},y=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(t),d=o,m=u["".concat(a,".").concat(d)]||u[d]||f[d]||i;return t?n.createElement(m,c(c({ref:r},p),{},{components:t})):n.createElement(m,c({ref:r},p))}));function b(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=y;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c[m]="string"==typeof e?e:o,a[1]=c;for(var p=2;p{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>s,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=t(87462),o=(t(67294),t(3905));const i={id:"ActionErrorLocation"},a="ActionErrorLocation type",c={unversionedId:"api/bxl/ActionErrorLocation",id:"api/bxl/ActionErrorLocation",title:"ActionErrorLocation type",description:"Methods available on StarlarkActionErrorLocation to help with testing the error handler implementation",source:"@site/../docs/api/bxl/ActionErrorLocation.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/ActionErrorLocation",permalink:"/docs/api/bxl/ActionErrorLocation",draft:!1,tags:[],version:"current",frontMatter:{id:"ActionErrorLocation"},sidebar:"apiSidebar",previous:{title:"ActionErrorCtx type",permalink:"/docs/api/bxl/ActionErrorCtx"},next:{title:"ActionSubError type",permalink:"/docs/api/bxl/ActionSubError"}},l={},p=[{value:"ActionErrorLocation.file",id:"actionerrorlocationfile",level:2},{value:"ActionErrorLocation.line",id:"actionerrorlocationline",level:2}],u={toc:p};function s(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"actionerrorlocation-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"ActionErrorLocation")," type"),(0,o.mdx)("p",null,"Methods available on ",(0,o.mdx)("inlineCode",{parentName:"p"},"StarlarkActionErrorLocation")," to help with testing the error handler implementation"),(0,o.mdx)("h2",{id:"actionerrorlocationfile"},"ActionErrorLocation.file"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorLocation.file: str\n")),(0,o.mdx)("p",null,"The file of the error location. This is only needed for action error handler unit testing."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionerrorlocationline"},"ActionErrorLocation.line"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorLocation.line: None | int\n")),(0,o.mdx)("p",null,"The line of the error location. This is only needed for action error handler unit testing."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1500e4bc.83891d9d.js b/assets/js/1500e4bc.83891d9d.js new file mode 100644 index 0000000000000..7a4f8d8e4ad85 --- /dev/null +++ b/assets/js/1500e4bc.83891d9d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2914],{3905:(e,n,r)=>{r.r(n),r.d(n,{MDXContext:()=>l,MDXProvider:()=>d,mdx:()=>h,useMDXComponents:()=>m,withMDXComponents:()=>u});var t=r(67294);function a(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function o(){return o=Object.assign||function(e){for(var n=1;n=0||(a[r]=e[r]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=t.createContext({}),u=function(e){return function(n){var r=m(n.components);return t.createElement(e,o({},n,{components:r}))}},m=function(e){var n=t.useContext(l),r=n;return e&&(r="function"==typeof e?e(n):i(i({},n),e)),r},d=function(e){var n=m(e.components);return t.createElement(l.Provider,{value:n},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},y=t.forwardRef((function(e,n){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=m(r),d=a,p=u["".concat(c,".").concat(d)]||u[d]||f[d]||o;return r?t.createElement(p,i(i({ref:n},l),{},{components:r})):t.createElement(p,i({ref:n},l))}));function h(e,n){var r=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=y;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i[p]="string"==typeof e?e:a,c[1]=i;for(var l=2;l{r.r(n),r.d(n,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var t=r(87462),a=(r(67294),r(3905));const o={id:"in_memory_cache",title:"In Memory Cache"},c=void 0,i={unversionedId:"users/advanced/in_memory_cache",id:"users/advanced/in_memory_cache",title:"In Memory Cache",description:"Buck2 can maintain an in-memory cache of actions it executed. This allows",source:"@site/../docs/users/advanced/in_memory_cache.md",sourceDirName:"users/advanced",slug:"/users/advanced/in_memory_cache",permalink:"/docs/users/advanced/in_memory_cache",draft:!1,tags:[],version:"current",frontMatter:{id:"in_memory_cache",title:"In Memory Cache"},sidebar:"mainSidebar",previous:{title:"Restarter",permalink:"/docs/users/advanced/restarter"},next:{title:"External Cells",permalink:"/docs/users/advanced/external_cells"}},s={},l=[{value:"Enabling the in-memory cache",id:"enabling-the-in-memory-cache",level:2}],u={toc:l};function m(e){let{components:n,...r}=e;return(0,a.mdx)("wrapper",(0,t.Z)({},u,r,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"Buck2 can maintain an in-memory cache of actions it executed. This allows\nactions to skip re-running even when they are (transitively) affected by file\nchanges."),(0,a.mdx)("h2",{id:"enabling-the-in-memory-cache"},"Enabling the in-memory cache"),(0,a.mdx)("p",null,"This feature requires enabling\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/users/advanced/deferred_materialization"},"Deferred Materialization")," first. This is necessary\nso that Buck2 knows what's on disk. This requirement might go away once we\ndecouple keeping track of what's on disk and deferred materialization."),(0,a.mdx)("p",null,"Once done, to enable, add this to your Buckconfig:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"[buck2]\nhash_all_commands = true\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1554.39070c41.js b/assets/js/1554.39070c41.js new file mode 100644 index 0000000000000..651ec3b3e73c7 --- /dev/null +++ b/assets/js/1554.39070c41.js @@ -0,0 +1,2 @@ +/*! For license information please see 1554.39070c41.js.LICENSE.txt */ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1554],{3905:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MDXContext:()=>l,MDXProvider:()=>h,mdx:()=>m,useMDXComponents:()=>u,withMDXComponents:()=>c});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),c=function(e){return function(t){var n=u(t.components);return a.createElement(e,i({},t,{components:n}))}},u=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},h=function(e){var t=u(e.components);return a.createElement(l.Provider,{value:t},e.children)},g="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,l=d(e,["components","mdxType","originalType","parentName"]),c=u(n),h=r,g=c["".concat(s,".").concat(h)]||c[h]||p[h]||i;return n?a.createElement(g,o(o({ref:t},l),{},{components:n})):a.createElement(g,o({ref:t},l))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,s=new Array(i);s[0]=f;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[g]="string"==typeof e?e:r,s[1]=o;for(var l=2;l{"use strict";const a=n(73325),r=/^[\da-fA-F]+$/,i=/^\d+$/,s=new WeakMap;function o(e){e=e.Parser.acorn||e;let t=s.get(e);if(!t){const n=e.tokTypes,a=e.TokContext,r=e.TokenType,i=new a("...",!0,!0),l={tc_oTag:i,tc_cTag:o,tc_expr:d},c={jsxName:new r("jsxName"),jsxText:new r("jsxText",{beforeExpr:!0}),jsxTagStart:new r("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new r("jsxTagEnd")};c.jsxTagStart.updateContext=function(){this.context.push(d),this.context.push(i),this.exprAllowed=!1},c.jsxTagEnd.updateContext=function(e){let t=this.context.pop();t===i&&e===n.slash||t===o?(this.context.pop(),this.exprAllowed=this.curContext()===d):this.exprAllowed=!0},t={tokContexts:l,tokTypes:c},s.set(e,t)}return t}function d(e){return e?"JSXIdentifier"===e.type?e.name:"JSXNamespacedName"===e.type?e.namespace.name+":"+e.name.name:"JSXMemberExpression"===e.type?d(e.object)+"."+d(e.property):void 0:e}e.exports=function(e){return e=e||{},function(t){return function(e,t){const s=t.acorn||n(1234),l=o(s),c=s.tokTypes,u=l.tokTypes,h=s.tokContexts,g=l.tokContexts.tc_oTag,p=l.tokContexts.tc_cTag,f=l.tokContexts.tc_expr,m=s.isNewLine,R=s.isIdentifierStart,y=s.isIdentifierChar;return class extends t{static get acornJsx(){return l}jsx_readToken(){let e="",t=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let n=this.input.charCodeAt(this.pos);switch(n){case 60:case 123:return this.pos===this.start?60===n&&this.exprAllowed?(++this.pos,this.finishToken(u.jsxTagStart)):this.getTokenFromCode(n):(e+=this.input.slice(t,this.pos),this.finishToken(u.jsxText,e));case 38:e+=this.input.slice(t,this.pos),e+=this.jsx_readEntity(),t=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(62===n?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:m(n)?(e+=this.input.slice(t,this.pos),e+=this.jsx_readNewLine(!0),t=this.pos):++this.pos}}}jsx_readNewLine(e){let t,n=this.input.charCodeAt(this.pos);return++this.pos,13===n&&10===this.input.charCodeAt(this.pos)?(++this.pos,t=e?"\n":"\r\n"):t=String.fromCharCode(n),this.options.locations&&(++this.curLine,this.lineStart=this.pos),t}jsx_readString(e){let t="",n=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let a=this.input.charCodeAt(this.pos);if(a===e)break;38===a?(t+=this.input.slice(n,this.pos),t+=this.jsx_readEntity(),n=this.pos):m(a)?(t+=this.input.slice(n,this.pos),t+=this.jsx_readNewLine(!1),n=this.pos):++this.pos}return t+=this.input.slice(n,this.pos++),this.finishToken(c.string,t)}jsx_readEntity(){let e,t="",n=0,s=this.input[this.pos];"&"!==s&&this.raise(this.pos,"Entity must start with an ampersand");let o=++this.pos;for(;this.pos")}let s=r.name?"Element":"Fragment";return n["opening"+s]=r,n["closing"+s]=i,n.children=a,this.type===c.relational&&"<"===this.value&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(n,"JSX"+s)}jsx_parseText(){let e=this.parseLiteral(this.value);return e.type="JSXText",e}jsx_parseElement(){let e=this.start,t=this.startLoc;return this.next(),this.jsx_parseElementAt(e,t)}parseExprAtom(e){return this.type===u.jsxText?this.jsx_parseText():this.type===u.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(e)}readToken(e){let t=this.curContext();if(t===f)return this.jsx_readToken();if(t===g||t===p){if(R(e))return this.jsx_readWord();if(62==e)return++this.pos,this.finishToken(u.jsxTagEnd);if((34===e||39===e)&&t==g)return this.jsx_readString(e)}return 60===e&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(u.jsxTagStart)):super.readToken(e)}updateContext(e){if(this.type==c.braceL){var t=this.curContext();t==g?this.context.push(h.b_expr):t==f?this.context.push(h.b_tmpl):super.updateContext(e),this.exprAllowed=!0}else{if(this.type!==c.slash||e!==u.jsxTagStart)return super.updateContext(e);this.context.length-=2,this.context.push(p),this.exprAllowed=!1}}}}({allowNamespaces:!1!==e.allowNamespaces,allowNamespacedObjects:!!e.allowNamespacedObjects},t)}},Object.defineProperty(e.exports,"tokTypes",{get:function(){return o(n(1234)).tokTypes},configurable:!0,enumerable:!0})},73325:e=>{e.exports={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xa0",iexcl:"\xa1",cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",brvbar:"\xa6",sect:"\xa7",uml:"\xa8",copy:"\xa9",ordf:"\xaa",laquo:"\xab",not:"\xac",shy:"\xad",reg:"\xae",macr:"\xaf",deg:"\xb0",plusmn:"\xb1",sup2:"\xb2",sup3:"\xb3",acute:"\xb4",micro:"\xb5",para:"\xb6",middot:"\xb7",cedil:"\xb8",sup1:"\xb9",ordm:"\xba",raquo:"\xbb",frac14:"\xbc",frac12:"\xbd",frac34:"\xbe",iquest:"\xbf",Agrave:"\xc0",Aacute:"\xc1",Acirc:"\xc2",Atilde:"\xc3",Auml:"\xc4",Aring:"\xc5",AElig:"\xc6",Ccedil:"\xc7",Egrave:"\xc8",Eacute:"\xc9",Ecirc:"\xca",Euml:"\xcb",Igrave:"\xcc",Iacute:"\xcd",Icirc:"\xce",Iuml:"\xcf",ETH:"\xd0",Ntilde:"\xd1",Ograve:"\xd2",Oacute:"\xd3",Ocirc:"\xd4",Otilde:"\xd5",Ouml:"\xd6",times:"\xd7",Oslash:"\xd8",Ugrave:"\xd9",Uacute:"\xda",Ucirc:"\xdb",Uuml:"\xdc",Yacute:"\xdd",THORN:"\xde",szlig:"\xdf",agrave:"\xe0",aacute:"\xe1",acirc:"\xe2",atilde:"\xe3",auml:"\xe4",aring:"\xe5",aelig:"\xe6",ccedil:"\xe7",egrave:"\xe8",eacute:"\xe9",ecirc:"\xea",euml:"\xeb",igrave:"\xec",iacute:"\xed",icirc:"\xee",iuml:"\xef",eth:"\xf0",ntilde:"\xf1",ograve:"\xf2",oacute:"\xf3",ocirc:"\xf4",otilde:"\xf5",ouml:"\xf6",divide:"\xf7",oslash:"\xf8",ugrave:"\xf9",uacute:"\xfa",ucirc:"\xfb",uuml:"\xfc",yacute:"\xfd",thorn:"\xfe",yuml:"\xff",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02c6",tilde:"\u02dc",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039a",Lambda:"\u039b",Mu:"\u039c",Nu:"\u039d",Xi:"\u039e",Omicron:"\u039f",Pi:"\u03a0",Rho:"\u03a1",Sigma:"\u03a3",Tau:"\u03a4",Upsilon:"\u03a5",Phi:"\u03a6",Chi:"\u03a7",Psi:"\u03a8",Omega:"\u03a9",alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03b5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigmaf:"\u03c2",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03c6",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",thetasym:"\u03d1",upsih:"\u03d2",piv:"\u03d6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200c",zwj:"\u200d",lrm:"\u200e",rlm:"\u200f",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201a",ldquo:"\u201c",rdquo:"\u201d",bdquo:"\u201e",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203a",oline:"\u203e",frasl:"\u2044",euro:"\u20ac",image:"\u2111",weierp:"\u2118",real:"\u211c",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21b5",lArr:"\u21d0",uArr:"\u21d1",rArr:"\u21d2",dArr:"\u21d3",hArr:"\u21d4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220b",prod:"\u220f",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221a",prop:"\u221d",infin:"\u221e",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222a",int:"\u222b",there4:"\u2234",sim:"\u223c",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22a5",sdot:"\u22c5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230a",rfloor:"\u230b",lang:"\u2329",rang:"\u232a",loz:"\u25ca",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"}},1234:function(e,t){!function(e){"use strict";var t=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239],n=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938],a="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",r="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",i={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},s="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",o={5:s,"5module":s+" export import",6:s+" const class extends export import super"},d=/^in(stanceof)?$/,l=new RegExp("["+r+"]"),c=new RegExp("["+r+a+"]");function u(e,t){for(var n=65536,a=0;ae)return!1;if((n+=t[a+1])>=e)return!0}}function h(e,t){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&l.test(String.fromCharCode(e)):!1!==t&&u(e,n)))}function g(e,a){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&c.test(String.fromCharCode(e)):!1!==a&&(u(e,n)||u(e,t)))))}var p=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function f(e,t){return new p(e,{beforeExpr:!0,binop:t})}var m={beforeExpr:!0},R={startsExpr:!0},y={};function b(e,t){return void 0===t&&(t={}),t.keyword=e,y[e]=new p(e,t)}var x={num:new p("num",R),regexp:new p("regexp",R),string:new p("string",R),name:new p("name",R),privateId:new p("privateId",R),eof:new p("eof"),bracketL:new p("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new p("]"),braceL:new p("{",{beforeExpr:!0,startsExpr:!0}),braceR:new p("}"),parenL:new p("(",{beforeExpr:!0,startsExpr:!0}),parenR:new p(")"),comma:new p(",",m),semi:new p(";",m),colon:new p(":",m),dot:new p("."),question:new p("?",m),questionDot:new p("?."),arrow:new p("=>",m),template:new p("template"),invalidTemplate:new p("invalidTemplate"),ellipsis:new p("...",m),backQuote:new p("`",R),dollarBraceL:new p("${",{beforeExpr:!0,startsExpr:!0}),eq:new p("=",{beforeExpr:!0,isAssign:!0}),assign:new p("_=",{beforeExpr:!0,isAssign:!0}),incDec:new p("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new p("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:f("||",1),logicalAND:f("&&",2),bitwiseOR:f("|",3),bitwiseXOR:f("^",4),bitwiseAND:f("&",5),equality:f("==/!=/===/!==",6),relational:f("/<=/>=",7),bitShift:f("<>/>>>",8),plusMin:new p("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:f("%",10),star:f("*",10),slash:f("/",10),starstar:new p("**",{beforeExpr:!0}),coalesce:f("??",1),_break:b("break"),_case:b("case",m),_catch:b("catch"),_continue:b("continue"),_debugger:b("debugger"),_default:b("default",m),_do:b("do",{isLoop:!0,beforeExpr:!0}),_else:b("else",m),_finally:b("finally"),_for:b("for",{isLoop:!0}),_function:b("function",R),_if:b("if"),_return:b("return",m),_switch:b("switch"),_throw:b("throw",m),_try:b("try"),_var:b("var"),_const:b("const"),_while:b("while",{isLoop:!0}),_with:b("with"),_new:b("new",{beforeExpr:!0,startsExpr:!0}),_this:b("this",R),_super:b("super",R),_class:b("class",R),_extends:b("extends",m),_export:b("export"),_import:b("import",R),_null:b("null",R),_true:b("true",R),_false:b("false",R),_in:b("in",{beforeExpr:!0,binop:7}),_instanceof:b("instanceof",{beforeExpr:!0,binop:7}),_typeof:b("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:b("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:b("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},v=/\r\n?|\n|\u2028|\u2029/,_=new RegExp(v.source,"g");function k(e){return 10===e||13===e||8232===e||8233===e}function C(e,t,n){void 0===n&&(n=e.length);for(var a=t;a>10),56320+(1023&e)))}var O=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,N=function(e,t){this.line=e,this.column=t};N.prototype.offset=function(e){return new N(this.line,this.column+e)};var B=function(e,t,n){this.start=t,this.end=n,null!==e.sourceFile&&(this.source=e.sourceFile)};function M(e,t){for(var n=1,a=0;;){var r=C(e,a,t);if(r<0)return new N(n,t-a);++n,a=r}}var P={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},j=!1;function V(e){var t={};for(var n in P)t[n]=e&&D(e,n)?e[n]:P[n];if("latest"===t.ecmaVersion?t.ecmaVersion=1e8:null==t.ecmaVersion?(!j&&"object"==typeof console&&console.warn&&(j=!0,console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),null==e.allowHashBang&&(t.allowHashBang=t.ecmaVersion>=14),L(t.onToken)){var a=t.onToken;t.onToken=function(e){return a.push(e)}}return L(t.onComment)&&(t.onComment=$(t,t.onComment)),t}function $(e,t){return function(n,a,r,i,s,o){var d={type:n?"Block":"Line",value:a,start:r,end:i};e.locations&&(d.loc=new B(this,s,o)),e.ranges&&(d.range=[r,i]),t.push(d)}}var U=1,z=2,H=4,Y=8,W=16,q=32,G=64,X=128,J=256,K=U|z|J;function Z(e,t){return z|(e?H:0)|(t?Y:0)}var Q=0,ee=1,te=2,ne=3,ae=4,re=5,ie=function(e,t,n){this.options=e=V(e),this.sourceFile=e.sourceFile,this.keywords=I(o[e.ecmaVersion>=6?6:"module"===e.sourceType?"5module":5]);var a="";!0!==e.allowReserved&&(a=i[e.ecmaVersion>=6?6:5===e.ecmaVersion?5:3],"module"===e.sourceType&&(a+=" await")),this.reservedWords=I(a);var r=(a?a+" ":"")+i.strict;this.reservedWordsStrict=I(r),this.reservedWordsStrictBind=I(r+" "+i.strictBind),this.input=String(t),this.containsEsc=!1,n?(this.pos=n,this.lineStart=this.input.lastIndexOf("\n",n-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(v).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=x.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(U),this.regexpState=null,this.privateNameStack=[]},se={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};ie.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},se.inFunction.get=function(){return(this.currentVarScope().flags&z)>0},se.inGenerator.get=function(){return(this.currentVarScope().flags&Y)>0&&!this.currentVarScope().inClassFieldInit},se.inAsync.get=function(){return(this.currentVarScope().flags&H)>0&&!this.currentVarScope().inClassFieldInit},se.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&J)return!1;if(t.flags&z)return(t.flags&H)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},se.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,n=e.inClassFieldInit;return(t&G)>0||n||this.options.allowSuperOutsideMethod},se.allowDirectSuper.get=function(){return(this.currentThisScope().flags&X)>0},se.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},se.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,n=e.inClassFieldInit;return(t&(z|J))>0||n},se.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&J)>0},ie.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n=this,a=0;a=,?^&]/.test(r)||"!"===r&&"="===this.input.charAt(a+1))}e+=t[0].length,E.lastIndex=e,e+=E.exec(this.input)[0].length,";"===this.input[e]&&e++}},oe.eat=function(e){return this.type===e&&(this.next(),!0)},oe.isContextual=function(e){return this.type===x.name&&this.value===e&&!this.containsEsc},oe.eatContextual=function(e){return!!this.isContextual(e)&&(this.next(),!0)},oe.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},oe.canInsertSemicolon=function(){return this.type===x.eof||this.type===x.braceR||v.test(this.input.slice(this.lastTokEnd,this.start))},oe.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},oe.semicolon=function(){this.eat(x.semi)||this.insertSemicolon()||this.unexpected()},oe.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},oe.expect=function(e){this.eat(e)||this.unexpected()},oe.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")};var le=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};oe.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,t?"Assigning to rvalue":"Parenthesized pattern")}},oe.checkExpressionErrors=function(e,t){if(!e)return!1;var n=e.shorthandAssign,a=e.doubleProto;if(!t)return n>=0||a>=0;n>=0&&this.raise(n,"Shorthand property assignments are valid only in destructuring patterns"),a>=0&&this.raiseRecoverable(a,"Redefinition of __proto__ property")},oe.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&a<56320)return!0;if(e)return!1;if(123===a)return!0;if(h(a,!0)){for(var r=n+1;g(a=this.input.charCodeAt(r),!0);)++r;if(92===a||a>55295&&a<56320)return!0;var i=this.input.slice(n,r);if(!d.test(i))return!0}return!1},ce.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;E.lastIndex=this.pos;var e,t=E.exec(this.input),n=this.pos+t[0].length;return!(v.test(this.input.slice(this.pos,n))||"function"!==this.input.slice(n,n+8)||n+8!==this.input.length&&(g(e=this.input.charCodeAt(n+8))||e>55295&&e<56320))},ce.parseStatement=function(e,t,n){var a,r=this.type,i=this.startNode();switch(this.isLet(e)&&(r=x._var,a="let"),r){case x._break:case x._continue:return this.parseBreakContinueStatement(i,r.keyword);case x._debugger:return this.parseDebuggerStatement(i);case x._do:return this.parseDoStatement(i);case x._for:return this.parseForStatement(i);case x._function:return e&&(this.strict||"if"!==e&&"label"!==e)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i,!1,!e);case x._class:return e&&this.unexpected(),this.parseClass(i,!0);case x._if:return this.parseIfStatement(i);case x._return:return this.parseReturnStatement(i);case x._switch:return this.parseSwitchStatement(i);case x._throw:return this.parseThrowStatement(i);case x._try:return this.parseTryStatement(i);case x._const:case x._var:return a=a||this.value,e&&"var"!==a&&this.unexpected(),this.parseVarStatement(i,a);case x._while:return this.parseWhileStatement(i);case x._with:return this.parseWithStatement(i);case x.braceL:return this.parseBlock(!0,i);case x.semi:return this.parseEmptyStatement(i);case x._export:case x._import:if(this.options.ecmaVersion>10&&r===x._import){E.lastIndex=this.pos;var s=E.exec(this.input),o=this.pos+s[0].length,d=this.input.charCodeAt(o);if(40===d||46===d)return this.parseExpressionStatement(i,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===x._import?this.parseImport(i):this.parseExport(i,n);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(i,!0,!e);var l=this.value,c=this.parseExpression();return r===x.name&&"Identifier"===c.type&&this.eat(x.colon)?this.parseLabeledStatement(i,l,c,e):this.parseExpressionStatement(i,c)}},ce.parseBreakContinueStatement=function(e,t){var n="break"===t;this.next(),this.eat(x.semi)||this.insertSemicolon()?e.label=null:this.type!==x.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var a=0;a=6?this.eat(x.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},ce.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(ue),this.enterScope(0),this.expect(x.parenL),this.type===x.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var n=this.isLet();if(this.type===x._var||this.type===x._const||n){var a=this.startNode(),r=n?"let":this.value;return this.next(),this.parseVar(a,!0,r),this.finishNode(a,"VariableDeclaration"),(this.type===x._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===a.declarations.length?(this.options.ecmaVersion>=9&&(this.type===x._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,a)):(t>-1&&this.unexpected(t),this.parseFor(e,a))}var i=this.isContextual("let"),s=!1,o=new le,d=this.parseExpression(!(t>-1)||"await",o);return this.type===x._in||(s=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===x._in?t>-1&&this.unexpected(t):e.await=t>-1),i&&s&&this.raise(d.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(d,!1,o),this.checkLValPattern(d),this.parseForIn(e,d)):(this.checkExpressionErrors(o,!0),t>-1&&this.unexpected(t),this.parseFor(e,d))},ce.parseFunctionStatement=function(e,t,n){return this.next(),this.parseFunction(e,pe|(n?0:fe),!1,t)},ce.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(x._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},ce.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(x.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},ce.parseSwitchStatement=function(e){var t;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(x.braceL),this.labels.push(he),this.enterScope(0);for(var n=!1;this.type!==x.braceR;)if(this.type===x._case||this.type===x._default){var a=this.type===x._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),a?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),n=!0,t.test=null),this.expect(x.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},ce.parseThrowStatement=function(e){return this.next(),v.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var ge=[];ce.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===x._catch){var t=this.startNode();if(this.next(),this.eat(x.parenL)){t.param=this.parseBindingAtom();var n="Identifier"===t.param.type;this.enterScope(n?q:0),this.checkLValPattern(t.param,n?ae:te),this.expect(x.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(x._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},ce.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},ce.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(ue),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},ce.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},ce.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},ce.parseLabeledStatement=function(e,t,n,a){for(var r=0,i=this.labels;r=0;o--){var d=this.labels[o];if(d.statementStart!==e.start)break;d.statementStart=this.start,d.kind=s}return this.labels.push({name:t,kind:s,statementStart:this.start}),e.body=this.parseStatement(a?-1===a.indexOf("label")?a+"label":a:"label"),this.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")},ce.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},ce.parseBlock=function(e,t,n){for(void 0===e&&(e=!0),void 0===t&&(t=this.startNode()),t.body=[],this.expect(x.braceL),e&&this.enterScope(0);this.type!==x.braceR;){var a=this.parseStatement(null);t.body.push(a)}return n&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},ce.parseFor=function(e,t){return e.init=t,this.expect(x.semi),e.test=this.type===x.semi?null:this.parseExpression(),this.expect(x.semi),e.update=this.type===x.parenR?null:this.parseExpression(),this.expect(x.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},ce.parseForIn=function(e,t){var n=this.type===x._in;return this.next(),"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(!n||this.options.ecmaVersion<8||this.strict||"var"!==t.kind||"Identifier"!==t.declarations[0].id.type)&&this.raise(t.start,(n?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssign(),this.expect(x.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,n?"ForInStatement":"ForOfStatement")},ce.parseVar=function(e,t,n){for(e.declarations=[],e.kind=n;;){var a=this.startNode();if(this.parseVarId(a,n),this.eat(x.eq)?a.init=this.parseMaybeAssign(t):"const"!==n||this.type===x._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===a.id.type||t&&(this.type===x._in||this.isContextual("of"))?a.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(a,"VariableDeclarator")),!this.eat(x.comma))break}return e},ce.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,"var"===t?ee:te,!1)};var pe=1,fe=2,me=4;function Re(e,t){var n=t.key.name,a=e[n],r="true";return"MethodDefinition"!==t.type||"get"!==t.kind&&"set"!==t.kind||(r=(t.static?"s":"i")+t.kind),"iget"===a&&"iset"===r||"iset"===a&&"iget"===r||"sget"===a&&"sset"===r||"sset"===a&&"sget"===r?(e[n]="true",!1):!!a||(e[n]=r,!1)}function ye(e,t){var n=e.computed,a=e.key;return!n&&("Identifier"===a.type&&a.name===t||"Literal"===a.type&&a.value===t)}ce.parseFunction=function(e,t,n,a,r){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!a)&&(this.type===x.star&&t&fe&&this.unexpected(),e.generator=this.eat(x.star)),this.options.ecmaVersion>=8&&(e.async=!!a),t&pe&&(e.id=t&me&&this.type!==x.name?null:this.parseIdent(),!e.id||t&fe||this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?ee:te:ne));var i=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Z(e.async,e.generator)),t&pe||(e.id=this.type===x.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n,!1,r),this.yieldPos=i,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(e,t&pe?"FunctionDeclaration":"FunctionExpression")},ce.parseFunctionParams=function(e){this.expect(x.parenL),e.params=this.parseBindingList(x.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},ce.parseClass=function(e,t){this.next();var n=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var a=this.enterClassBody(),r=this.startNode(),i=!1;for(r.body=[],this.expect(x.braceL);this.type!==x.braceR;){var s=this.parseClassElement(null!==e.superClass);s&&(r.body.push(s),"MethodDefinition"===s.type&&"constructor"===s.kind?(i&&this.raise(s.start,"Duplicate constructor in the same class"),i=!0):s.key&&"PrivateIdentifier"===s.key.type&&Re(a,s)&&this.raiseRecoverable(s.key.start,"Identifier '#"+s.key.name+"' has already been declared"))}return this.strict=n,this.next(),e.body=this.finishNode(r,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},ce.parseClassElement=function(e){if(this.eat(x.semi))return null;var t=this.options.ecmaVersion,n=this.startNode(),a="",r=!1,i=!1,s="method",o=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(x.braceL))return this.parseClassStaticBlock(n),n;this.isClassElementNameStart()||this.type===x.star?o=!0:a="static"}if(n.static=o,!a&&t>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==x.star||this.canInsertSemicolon()?a="async":i=!0),!a&&(t>=9||!i)&&this.eat(x.star)&&(r=!0),!a&&!i&&!r){var d=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?s=d:a=d)}if(a?(n.computed=!1,n.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),n.key.name=a,this.finishNode(n.key,"Identifier")):this.parseClassElementName(n),t<13||this.type===x.parenL||"method"!==s||r||i){var l=!n.static&&ye(n,"constructor"),c=l&&e;l&&"method"!==s&&this.raise(n.key.start,"Constructor can't have get/set modifier"),n.kind=l?"constructor":s,this.parseClassMethod(n,r,i,c)}else this.parseClassField(n);return n},ce.isClassElementNameStart=function(){return this.type===x.name||this.type===x.privateId||this.type===x.num||this.type===x.string||this.type===x.bracketL||this.type.keyword},ce.parseClassElementName=function(e){this.type===x.privateId?("constructor"===this.value&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},ce.parseClassMethod=function(e,t,n,a){var r=e.key;"constructor"===e.kind?(t&&this.raise(r.start,"Constructor can't be a generator"),n&&this.raise(r.start,"Constructor can't be an async method")):e.static&&ye(e,"prototype")&&this.raise(r.start,"Classes may not have a static property named prototype");var i=e.value=this.parseMethod(t,n,a);return"get"===e.kind&&0!==i.params.length&&this.raiseRecoverable(i.start,"getter should have no params"),"set"===e.kind&&1!==i.params.length&&this.raiseRecoverable(i.start,"setter should have exactly one param"),"set"===e.kind&&"RestElement"===i.params[0].type&&this.raiseRecoverable(i.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},ce.parseClassField=function(e){if(ye(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&ye(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(x.eq)){var t=this.currentThisScope(),n=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=n}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},ce.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(J|G);this.type!==x.braceR;){var n=this.parseStatement(null);e.body.push(n)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},ce.parseClassId=function(e,t){this.type===x.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,te,!1)):(!0===t&&this.unexpected(),e.id=null)},ce.parseClassSuper=function(e){e.superClass=this.eat(x._extends)?this.parseExprSubscripts(!1):null},ce.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},ce.exitClassBody=function(){for(var e=this.privateNameStack.pop(),t=e.declared,n=e.used,a=this.privateNameStack.length,r=0===a?null:this.privateNameStack[a-1],i=0;i=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==x.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(x._default)){var n;if(this.checkExport(t,"default",this.lastTokStart),this.type===x._function||(n=this.isAsyncFunction())){var a=this.startNode();this.next(),n&&this.next(),e.declaration=this.parseFunction(a,pe|me,!1,n)}else if(this.type===x._class){var r=this.startNode();e.declaration=this.parseClass(r,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),"VariableDeclaration"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==x.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var i=0,s=e.specifiers;i=13&&this.type===x.string){var e=this.parseLiteral(this.value);return O.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},ce.adaptDirectivePrologue=function(e){for(var t=0;t=5&&"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&('"'===this.input[e.start]||"'"===this.input[e.start])};var be=ie.prototype;be.toAssignable=function(e,t,n){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&"await"===e.name&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",n&&this.checkPatternErrors(n,!0);for(var a=0,r=e.properties;a=8&&!s&&"async"===o.name&&!this.canInsertSemicolon()&&this.eat(x._function))return this.overrideContext(ve.f_expr),this.parseFunction(this.startNodeAt(r,i),0,!1,!0,t);if(a&&!this.canInsertSemicolon()){if(this.eat(x.arrow))return this.parseArrowExpression(this.startNodeAt(r,i),[o],!1,t);if(this.options.ecmaVersion>=8&&"async"===o.name&&this.type===x.name&&!s&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return o=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(x.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(r,i),[o],!0,t)}return o;case x.regexp:var d=this.value;return(n=this.parseLiteral(d.value)).regex={pattern:d.pattern,flags:d.flags},n;case x.num:case x.string:return this.parseLiteral(this.value);case x._null:case x._true:case x._false:return(n=this.startNode()).value=this.type===x._null?null:this.type===x._true,n.raw=this.type.keyword,this.next(),this.finishNode(n,"Literal");case x.parenL:var l=this.start,c=this.parseParenAndDistinguishExpression(a,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)&&(e.parenthesizedAssign=l),e.parenthesizedBind<0&&(e.parenthesizedBind=l)),c;case x.bracketL:return n=this.startNode(),this.next(),n.elements=this.parseExprList(x.bracketR,!0,!0,e),this.finishNode(n,"ArrayExpression");case x.braceL:return this.overrideContext(ve.b_expr),this.parseObj(!1,e);case x._function:return n=this.startNode(),this.next(),this.parseFunction(n,0);case x._class:return this.parseClass(this.startNode(),!1);case x._new:return this.parseNew();case x.backQuote:return this.parseTemplate();case x._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},ke.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case x.parenL:return this.parseDynamicImport(e);case x.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},ke.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(x.parenR)){var t=this.start;this.eat(x.comma)&&this.eat(x.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},ke.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),"meta"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),"module"===this.options.sourceType||this.options.allowImportExportEverywhere||this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},ke.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),110===t.raw.charCodeAt(t.raw.length-1)&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},ke.parseParenExpression=function(){this.expect(x.parenL);var e=this.parseExpression();return this.expect(x.parenR),e},ke.parseParenAndDistinguishExpression=function(e,t){var n,a=this.start,r=this.startLoc,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var s,o=this.start,d=this.startLoc,l=[],c=!0,u=!1,h=new le,g=this.yieldPos,p=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==x.parenR;){if(c?c=!1:this.expect(x.comma),i&&this.afterTrailingComma(x.parenR,!0)){u=!0;break}if(this.type===x.ellipsis){s=this.start,l.push(this.parseParenItem(this.parseRestBinding())),this.type===x.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}l.push(this.parseMaybeAssign(!1,h,this.parseParenItem))}var f=this.lastTokEnd,m=this.lastTokEndLoc;if(this.expect(x.parenR),e&&!this.canInsertSemicolon()&&this.eat(x.arrow))return this.checkPatternErrors(h,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=g,this.awaitPos=p,this.parseParenArrowList(a,r,l,t);l.length&&!u||this.unexpected(this.lastTokStart),s&&this.unexpected(s),this.checkExpressionErrors(h,!0),this.yieldPos=g||this.yieldPos,this.awaitPos=p||this.awaitPos,l.length>1?((n=this.startNodeAt(o,d)).expressions=l,this.finishNodeAt(n,"SequenceExpression",f,m)):n=l[0]}else n=this.parseParenExpression();if(this.options.preserveParens){var R=this.startNodeAt(a,r);return R.expression=n,this.finishNode(R,"ParenthesizedExpression")}return n},ke.parseParenItem=function(e){return e},ke.parseParenArrowList=function(e,t,n,a){return this.parseArrowExpression(this.startNodeAt(e,t),n,!1,a)};var we=[];ke.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(x.dot)){e.meta=t;var n=this.containsEsc;return e.property=this.parseIdent(!0),"target"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),n&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var a=this.start,r=this.startLoc,i=this.type===x._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),a,r,!0,!1),i&&"ImportExpression"===e.callee.type&&this.raise(a,"Cannot use new with import()"),this.eat(x.parenL)?e.arguments=this.parseExprList(x.parenR,this.options.ecmaVersion>=8,!1):e.arguments=we,this.finishNode(e,"NewExpression")},ke.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===x.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),n.value={raw:this.value,cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),n.tail=this.type===x.backQuote,this.finishNode(n,"TemplateElement")},ke.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var a=this.parseTemplateElement({isTagged:t});for(n.quasis=[a];!a.tail;)this.type===x.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(x.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(x.braceR),n.quasis.push(a=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,"TemplateLiteral")},ke.isAsyncProp=function(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===x.name||this.type===x.num||this.type===x.string||this.type===x.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===x.star)&&!v.test(this.input.slice(this.lastTokEnd,this.start))},ke.parseObj=function(e,t){var n=this.startNode(),a=!0,r={};for(n.properties=[],this.next();!this.eat(x.braceR);){if(a)a=!1;else if(this.expect(x.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(x.braceR))break;var i=this.parseProperty(e,t);e||this.checkPropClash(i,r,t),n.properties.push(i)}return this.finishNode(n,e?"ObjectPattern":"ObjectExpression")},ke.parseProperty=function(e,t){var n,a,r,i,s=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(x.ellipsis))return e?(s.argument=this.parseIdent(!1),this.type===x.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(s,"RestElement")):(s.argument=this.parseMaybeAssign(!1,t),this.type===x.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(s,"SpreadElement"));this.options.ecmaVersion>=6&&(s.method=!1,s.shorthand=!1,(e||t)&&(r=this.start,i=this.startLoc),e||(n=this.eat(x.star)));var o=this.containsEsc;return this.parsePropertyName(s),!e&&!o&&this.options.ecmaVersion>=8&&!n&&this.isAsyncProp(s)?(a=!0,n=this.options.ecmaVersion>=9&&this.eat(x.star),this.parsePropertyName(s,t)):a=!1,this.parsePropertyValue(s,e,n,a,r,i,t,o),this.finishNode(s,"Property")},ke.parsePropertyValue=function(e,t,n,a,r,i,s,o){if((n||a)&&this.type===x.colon&&this.unexpected(),this.eat(x.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,s),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===x.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(n,a);else if(t||o||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type===x.comma||this.type===x.braceR||this.type===x.eq)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?((n||a)&&this.unexpected(),this.checkUnreserved(e.key),"await"!==e.key.name||this.awaitIdentPos||(this.awaitIdentPos=r),e.kind="init",t?e.value=this.parseMaybeDefault(r,i,this.copyNode(e.key)):this.type===x.eq&&s?(s.shorthandAssign<0&&(s.shorthandAssign=this.start),e.value=this.parseMaybeDefault(r,i,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected();else{(n||a)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var d="get"===e.kind?0:1;if(e.value.params.length!==d){var l=e.value.start;"get"===e.kind?this.raiseRecoverable(l,"getter should have no params"):this.raiseRecoverable(l,"setter should have exactly one param")}else"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}},ke.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(x.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(x.bracketR),e.key;e.computed=!1}return e.key=this.type===x.num||this.type===x.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},ke.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},ke.parseMethod=function(e,t,n){var a=this.startNode(),r=this.yieldPos,i=this.awaitPos,s=this.awaitIdentPos;return this.initFunction(a),this.options.ecmaVersion>=6&&(a.generator=e),this.options.ecmaVersion>=8&&(a.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Z(t,a.generator)|G|(n?X:0)),this.expect(x.parenL),a.params=this.parseBindingList(x.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(a,!1,!0,!1),this.yieldPos=r,this.awaitPos=i,this.awaitIdentPos=s,this.finishNode(a,"FunctionExpression")},ke.parseArrowExpression=function(e,t,n,a){var r=this.yieldPos,i=this.awaitPos,s=this.awaitIdentPos;return this.enterScope(Z(n,!1)|W),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,a),this.yieldPos=r,this.awaitPos=i,this.awaitIdentPos=s,this.finishNode(e,"ArrowFunctionExpression")},ke.parseFunctionBody=function(e,t,n,a){var r=t&&this.type!==x.braceL,i=this.strict,s=!1;if(r)e.body=this.parseMaybeAssign(a),e.expression=!0,this.checkParams(e,!1);else{var o=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);i&&!o||(s=this.strictDirective(this.end))&&o&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list");var d=this.labels;this.labels=[],s&&(this.strict=!0),this.checkParams(e,!i&&!s&&!t&&!n&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,re),e.body=this.parseBlock(!1,void 0,s&&!i),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=d}this.exitScope()},ke.isSimpleParamList=function(e){for(var t=0,n=e;t-1||r.functions.indexOf(e)>-1||r.var.indexOf(e)>-1,r.lexical.push(e),this.inModule&&r.flags&U&&delete this.undefinedExports[e]}else if(t===ae)this.currentScope().lexical.push(e);else if(t===ne){var i=this.currentScope();a=this.treatFunctionsAsVar?i.lexical.indexOf(e)>-1:i.lexical.indexOf(e)>-1||i.var.indexOf(e)>-1,i.functions.push(e)}else for(var s=this.scopeStack.length-1;s>=0;--s){var o=this.scopeStack[s];if(o.lexical.indexOf(e)>-1&&!(o.flags&q&&o.lexical[0]===e)||!this.treatFunctionsAsVarInScope(o)&&o.functions.indexOf(e)>-1){a=!0;break}if(o.var.push(e),this.inModule&&o.flags&U&&delete this.undefinedExports[e],o.flags&K)break}a&&this.raiseRecoverable(n,"Identifier '"+e+"' has already been declared")},Se.checkLocalExport=function(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&(this.undefinedExports[e.name]=e)},Se.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Se.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&K)return t}},Se.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&K&&!(t.flags&W))return t}};var Te=function(e,t,n){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new B(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},De=ie.prototype;function Le(e,t,n,a){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=a),this.options.ranges&&(e.range[1]=n),e}De.startNode=function(){return new Te(this,this.start,this.startLoc)},De.startNodeAt=function(e,t){return new Te(this,e,t)},De.finishNode=function(e,t){return Le.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},De.finishNodeAt=function(e,t,n,a){return Le.call(this,e,t,n,a)},De.copyNode=function(e){var t=new Te(this,e.start,this.startLoc);for(var n in e)t[n]=e[n];return t};var Ie="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Fe=Ie+" Extended_Pictographic",Oe=Fe+" EBase EComp EMod EPres ExtPict",Ne={9:Ie,10:Fe,11:Fe,12:Oe,13:Oe},Be="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Me="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Pe=Me+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",je=Pe+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Ve=je+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",$e={9:Me,10:Pe,11:je,12:Ve,13:Ve+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith"},Ue={};function ze(e){var t=Ue[e]={binary:I(Ne[e]+" "+Be),nonBinary:{General_Category:I(Be),Script:I($e[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var He=0,Ye=[9,10,11,12,13];He=6?"uy":"")+(e.options.ecmaVersion>=9?"s":"")+(e.options.ecmaVersion>=13?"d":""),this.unicodeProperties=Ue[e.options.ecmaVersion>=13?13:e.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function Ge(e){return 36===e||e>=40&&e<=43||46===e||63===e||e>=91&&e<=94||e>=123&&e<=125}function Xe(e){return h(e,!0)||36===e||95===e}function Je(e){return g(e,!0)||36===e||95===e||8204===e||8205===e}function Ke(e){return e>=65&&e<=90||e>=97&&e<=122}function Ze(e){return e>=0&&e<=1114111}function Qe(e){return 100===e||68===e||115===e||83===e||119===e||87===e}function et(e){return Ke(e)||95===e}function tt(e){return et(e)||nt(e)}function nt(e){return e>=48&&e<=57}function at(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function rt(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e-48}function it(e){return e>=48&&e<=55}qe.prototype.reset=function(e,t,n){var a=-1!==n.indexOf("u");this.start=0|e,this.source=t+"",this.flags=n,this.switchU=a&&this.parser.options.ecmaVersion>=6,this.switchN=a&&this.parser.options.ecmaVersion>=9},qe.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)},qe.prototype.at=function(e,t){void 0===t&&(t=!1);var n=this.source,a=n.length;if(e>=a)return-1;var r=n.charCodeAt(e);if(!t&&!this.switchU||r<=55295||r>=57344||e+1>=a)return r;var i=n.charCodeAt(e+1);return i>=56320&&i<=57343?(r<<10)+i-56613888:r},qe.prototype.nextIndex=function(e,t){void 0===t&&(t=!1);var n=this.source,a=n.length;if(e>=a)return a;var r,i=n.charCodeAt(e);return!t&&!this.switchU||i<=55295||i>=57344||e+1>=a||(r=n.charCodeAt(e+1))<56320||r>57343?e+1:e+2},qe.prototype.current=function(e){return void 0===e&&(e=!1),this.at(this.pos,e)},qe.prototype.lookahead=function(e){return void 0===e&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},qe.prototype.advance=function(e){void 0===e&&(e=!1),this.pos=this.nextIndex(this.pos,e)},qe.prototype.eat=function(e,t){return void 0===t&&(t=!1),this.current(t)===e&&(this.advance(t),!0)},We.validateRegExpFlags=function(e){for(var t=e.validFlags,n=e.flags,a=0;a-1&&this.raise(e.start,"Duplicate regular expression flag")}},We.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},We.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,n=e.backReferenceNames;t=9&&(n=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!n,!0}return e.pos=t,!1},We.regexp_eatQuantifier=function(e,t){return void 0===t&&(t=!1),!!this.regexp_eatQuantifierPrefix(e,t)&&(e.eat(63),!0)},We.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},We.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var a=0,r=-1;if(this.regexp_eatDecimalDigits(e)&&(a=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue),e.eat(125)))return-1!==r&&r=9?this.regexp_groupSpecifier(e):63===e.current()&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},We.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},We.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},We.regexp_eatSyntaxCharacter=function(e){var t=e.current();return!!Ge(t)&&(e.lastIntValue=t,e.advance(),!0)},We.regexp_eatPatternCharacters=function(e){for(var t=e.pos,n=0;-1!==(n=e.current())&&!Ge(n);)e.advance();return e.pos!==t},We.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return!(-1===t||36===t||t>=40&&t<=43||46===t||63===t||91===t||94===t||124===t||(e.advance(),0))},We.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e))return-1!==e.groupNames.indexOf(e.lastStringValue)&&e.raise("Duplicate capture group name"),void e.groupNames.push(e.lastStringValue);e.raise("Invalid group")}},We.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},We.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=F(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=F(e.lastIntValue);return!0}return!1},We.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,a=e.current(n);return e.advance(n),92===a&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(a=e.lastIntValue),Xe(a)?(e.lastIntValue=a,!0):(e.pos=t,!1)},We.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,a=e.current(n);return e.advance(n),92===a&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(a=e.lastIntValue),Je(a)?(e.lastIntValue=a,!0):(e.pos=t,!1)},We.regexp_eatAtomEscape=function(e){return!!(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e))||(e.switchU&&(99===e.current()&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},We.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU)return n>e.maxBackReference&&(e.maxBackReference=n),!0;if(n<=e.numCapturingParens)return!0;e.pos=t}return!1},We.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},We.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},We.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},We.regexp_eatZero=function(e){return 48===e.current()&&!nt(e.lookahead())&&(e.lastIntValue=0,e.advance(),!0)},We.regexp_eatControlEscape=function(e){var t=e.current();return 116===t?(e.lastIntValue=9,e.advance(),!0):110===t?(e.lastIntValue=10,e.advance(),!0):118===t?(e.lastIntValue=11,e.advance(),!0):102===t?(e.lastIntValue=12,e.advance(),!0):114===t&&(e.lastIntValue=13,e.advance(),!0)},We.regexp_eatControlLetter=function(e){var t=e.current();return!!Ke(t)&&(e.lastIntValue=t%32,e.advance(),!0)},We.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){void 0===t&&(t=!1);var n=e.pos,a=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var r=e.lastIntValue;if(a&&r>=55296&&r<=56319){var i=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var s=e.lastIntValue;if(s>=56320&&s<=57343)return e.lastIntValue=1024*(r-55296)+(s-56320)+65536,!0}e.pos=i,e.lastIntValue=r}return!0}if(a&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&Ze(e.lastIntValue))return!0;a&&e.raise("Invalid unicode escape"),e.pos=n}return!1},We.regexp_eatIdentityEscape=function(e){if(e.switchU)return!!this.regexp_eatSyntaxCharacter(e)||!!e.eat(47)&&(e.lastIntValue=47,!0);var t=e.current();return!(99===t||e.switchN&&107===t||(e.lastIntValue=t,e.advance(),0))},We.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48),e.advance()}while((t=e.current())>=48&&t<=57);return!0}return!1},We.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(Qe(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(80===t||112===t)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1},We.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var a=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,n,a),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,r),!0}return!1},We.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){D(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(n)||e.raise("Invalid property value")},We.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")},We.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";et(t=e.current());)e.lastStringValue+=F(t),e.advance();return""!==e.lastStringValue},We.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";tt(t=e.current());)e.lastStringValue+=F(t),e.advance();return""!==e.lastStringValue},We.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},We.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1},We.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;!e.switchU||-1!==t&&-1!==n||e.raise("Invalid character class"),-1!==t&&-1!==n&&t>n&&e.raise("Range out of order in character class")}}},We.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var n=e.current();(99===n||it(n))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var a=e.current();return 93!==a&&(e.lastIntValue=a,e.advance(),!0)},We.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},We.regexp_eatClassControlLetter=function(e){var t=e.current();return!(!nt(t)&&95!==t||(e.lastIntValue=t%32,e.advance(),0))},We.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},We.regexp_eatDecimalDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;nt(n=e.current());)e.lastIntValue=10*e.lastIntValue+(n-48),e.advance();return e.pos!==t},We.regexp_eatHexDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;at(n=e.current());)e.lastIntValue=16*e.lastIntValue+rt(n),e.advance();return e.pos!==t},We.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=64*t+8*n+e.lastIntValue:e.lastIntValue=8*t+n}else e.lastIntValue=t;return!0}return!1},We.regexp_eatOctalDigit=function(e){var t=e.current();return it(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)},We.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var a=0;a=this.input.length?this.finishToken(x.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},ot.readToken=function(e){return h(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},ot.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},ot.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,n=this.input.indexOf("*/",this.pos+=2);if(-1===n&&this.raise(this.pos-2,"Unterminated comment"),this.pos=n+2,this.options.locations)for(var a=void 0,r=t;(a=C(this.input,r,this.pos))>-1;)++this.curLine,r=this.lineStart=a;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,n),t,this.pos,e,this.curPosition())},ot.skipLineComment=function(e){for(var t=this.pos,n=this.options.onComment&&this.curPosition(),a=this.input.charCodeAt(this.pos+=e);this.pos8&&e<14||e>=5760&&w.test(String.fromCharCode(e))))break e;++this.pos}}},ot.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},ot.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(x.ellipsis)):(++this.pos,this.finishToken(x.dot))},ot.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(x.assign,2):this.finishOp(x.slash,1)},ot.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,a=42===e?x.star:x.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++n,a=x.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(x.assign,n+1):this.finishOp(a,n)},ot.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.options.ecmaVersion>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(x.assign,3):this.finishOp(124===e?x.logicalOR:x.logicalAND,2):61===t?this.finishOp(x.assign,2):this.finishOp(124===e?x.bitwiseOR:x.bitwiseAND,1)},ot.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(x.assign,2):this.finishOp(x.bitwiseXOR,1)},ot.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!==t||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!v.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(x.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(x.assign,2):this.finishOp(x.plusMin,1)},ot.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+n)?this.finishOp(x.assign,n+1):this.finishOp(x.bitShift,n)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(n=2),this.finishOp(x.relational,n)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},ot.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(x.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(x.arrow)):this.finishOp(61===e?x.eq:x.prefix,1)},ot.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(46===t){var n=this.input.charCodeAt(this.pos+2);if(n<48||n>57)return this.finishOp(x.questionDot,2)}if(63===t)return e>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(x.assign,3):this.finishOp(x.coalesce,2)}return this.finishOp(x.question,1)},ot.readToken_numberSign=function(){var e=35;if(this.options.ecmaVersion>=13&&(++this.pos,h(e=this.fullCharCodeAtPos(),!0)||92===e))return this.finishToken(x.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+F(e)+"'")},ot.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(x.parenL);case 41:return++this.pos,this.finishToken(x.parenR);case 59:return++this.pos,this.finishToken(x.semi);case 44:return++this.pos,this.finishToken(x.comma);case 91:return++this.pos,this.finishToken(x.bracketL);case 93:return++this.pos,this.finishToken(x.bracketR);case 123:return++this.pos,this.finishToken(x.braceL);case 125:return++this.pos,this.finishToken(x.braceR);case 58:return++this.pos,this.finishToken(x.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(x.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(x.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+F(e)+"'")},ot.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)},ot.readRegexp=function(){for(var e,t,n=this.pos;;){this.pos>=this.input.length&&this.raise(n,"Unterminated regular expression");var a=this.input.charAt(this.pos);if(v.test(a)&&this.raise(n,"Unterminated regular expression"),e)e=!1;else{if("["===a)t=!0;else if("]"===a&&t)t=!1;else if("/"===a&&!t)break;e="\\"===a}++this.pos}var r=this.input.slice(n,this.pos);++this.pos;var i=this.pos,s=this.readWord1();this.containsEsc&&this.unexpected(i);var o=this.regexpState||(this.regexpState=new qe(this));o.reset(n,r,s),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var d=null;try{d=new RegExp(r,s)}catch(l){}return this.finishToken(x.regexp,{pattern:r,flags:s,value:d})},ot.readInt=function(e,t,n){for(var a=this.options.ecmaVersion>=12&&void 0===t,r=n&&48===this.input.charCodeAt(this.pos),i=this.pos,s=0,o=0,d=0,l=null==t?1/0:t;d=97?c-97+10:c>=65?c-65+10:c>=48&&c<=57?c-48:1/0)>=e)break;o=c,s=s*e+u}}return a&&95===o&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===i||null!=t&&this.pos-i!==t?null:s},ot.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var n=this.readInt(e);return null==n&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(n=lt(this.input.slice(t,this.pos)),++this.pos):h(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(x.num,n)},ot.readNumber=function(e){var t=this.pos;e||null!==this.readInt(10,void 0,!0)||this.raise(t,"Invalid number");var n=this.pos-t>=2&&48===this.input.charCodeAt(t);n&&this.strict&&this.raise(t,"Invalid number");var a=this.input.charCodeAt(this.pos);if(!n&&!e&&this.options.ecmaVersion>=11&&110===a){var r=lt(this.input.slice(t,this.pos));return++this.pos,h(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(x.num,r)}n&&/[89]/.test(this.input.slice(t,this.pos))&&(n=!1),46!==a||n||(++this.pos,this.readInt(10),a=this.input.charCodeAt(this.pos)),69!==a&&101!==a||n||(43!==(a=this.input.charCodeAt(++this.pos))&&45!==a||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number")),h(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var i=dt(this.input.slice(t,this.pos),n);return this.finishToken(x.num,i)},ot.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,"Code point out of bounds")}else e=this.readHexChar(4);return e},ot.readString=function(e){for(var t="",n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var a=this.input.charCodeAt(this.pos);if(a===e)break;92===a?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):8232===a||8233===a?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(k(a)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(x.string,t)};var ct={};ot.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==ct)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},ot.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw ct;this.raise(e,t)},ot.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var n=this.input.charCodeAt(this.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==x.template&&this.type!==x.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(x.template,e)):36===n?(this.pos+=2,this.finishToken(x.dollarBraceL)):(++this.pos,this.finishToken(x.backQuote));if(92===n)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(k(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},ot.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var a=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(a,8);return r>255&&(a=a.slice(0,-1),r=parseInt(a,8)),this.pos+=a.length-1,t=this.input.charCodeAt(this.pos),"0"===a&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-a.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(r)}return k(t)?"":String.fromCharCode(t)}},ot.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return null===n&&this.invalidStringToken(t,"Bad character escape sequence"),n},ot.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,n=this.pos,a=this.options.ecmaVersion>=6;this.pos{"use strict";n.r(t),n.d(t,{default:()=>B});var a=n(87462),r=n(67294),i=n(72389),s=n(86010),o=n(66412),d=n(35281),l=n(87594),c=n.n(l);const u=/title=(?["'])(?.*?)\1/,h=/\{(?<range>[\d,-]+)\}/,g={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}};function p(e,t){const n=e.map((e=>{const{start:n,end:a}=g[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${a})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function f(e,t){let n=e.replace(/\n$/,"");const{language:a,magicComments:r,metastring:i}=t;if(i&&h.test(i)){const e=i.match(h).groups.range;if(0===r.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${i}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=r[0].className,a=c()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(a),code:n}}if(void 0===a)return{lineClassNames:{},code:n};const s=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return p(["js","jsBlock"],t);case"jsx":case"tsx":return p(["js","jsBlock","jsx"],t);case"html":return p(["js","jsBlock","html"],t);case"python":case"py":case"bash":return p(["bash"],t);case"markdown":case"md":return p(["html","jsx","bash"],t);default:return p(Object.keys(g),t)}}(a,r),o=n.split("\n"),d=Object.fromEntries(r.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(r.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),u=Object.fromEntries(r.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),f=Object.fromEntries(r.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let c=0;c<o.length;){const e=o[c].match(s);if(!e){c+=1;continue}const t=e.slice(1).find((e=>void 0!==e));l[t]?d[l[t]].range+=`${c},`:u[t]?d[u[t]].start=c:f[t]&&(d[f[t]].range+=`${d[f[t]].start}-${c-1},`),o.splice(c,1)}n=o.join("\n");const m={};return Object.entries(d).forEach((e=>{let[t,{range:n}]=e;c()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const m="codeBlockContainer_Ckt0";function R(e){let{as:t,...n}=e;const i=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[a,r]=e;const i=t[a];i&&"string"==typeof r&&(n[i]=r)})),n}((0,o.p)());return r.createElement(t,(0,a.Z)({},n,{style:i,className:(0,s.default)(n.className,m,d.k.common.codeBlock)}))}const y={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function b(e){let{children:t,className:n}=e;return r.createElement(R,{as:"pre",tabIndex:0,className:(0,s.default)(y.codeBlockStandalone,"thin-scrollbar",n)},r.createElement("code",{className:y.codeBlockLines},t))}var x=n(86668),v=n(902);const _={attributes:!0,characterData:!0,childList:!0,subtree:!0};function k(e,t){const[n,a]=(0,r.useState)(),i=(0,r.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,r.useEffect)((()=>{i()}),[i]),function(e,t,n){void 0===n&&(n=_);const a=(0,v.zX)(t),i=(0,v.Ql)(n);(0,r.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,i),()=>t.disconnect()}),[e,a,i])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),i())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var C=n(23746);const w="codeLine_lJS_",E="codeLineNumber_Tfdd",S="codeLineContent_feaV";function A(e){let{line:t,classNames:n,showLineNumbers:i,getLineProps:o,getTokenProps:d}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const l=o({line:t,className:(0,s.default)(n,i&&w)}),c=t.map(((e,t)=>r.createElement("span",(0,a.Z)({key:t},d({token:e,key:t})))));return r.createElement("span",l,i?r.createElement(r.Fragment,null,r.createElement("span",{className:E}),r.createElement("span",{className:S},c)):c,r.createElement("br",null))}var T=n(95999);const D={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function L(e){let{code:t,className:n}=e;const[a,i]=(0,r.useState)(!1),o=(0,r.useRef)(void 0),d=(0,r.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;const a=document.createElement("textarea"),r=document.activeElement;a.value=e,a.setAttribute("readonly",""),a.style.contain="strict",a.style.position="absolute",a.style.left="-9999px",a.style.fontSize="12pt";const i=document.getSelection();let s=!1;i.rangeCount>0&&(s=i.getRangeAt(0)),n.append(a),a.select(),a.selectionStart=0,a.selectionEnd=e.length;let o=!1;try{o=document.execCommand("copy")}catch{}a.remove(),s&&(i.removeAllRanges(),i.addRange(s)),r&&r.focus()}(t),i(!0),o.current=window.setTimeout((()=>{i(!1)}),1e3)}),[t]);return(0,r.useEffect)((()=>()=>window.clearTimeout(o.current)),[]),r.createElement("button",{type:"button","aria-label":a?(0,T.translate)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,T.translate)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,T.translate)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,s.default)("clean-btn",n,D.copyButton,a&&D.copyButtonCopied),onClick:d},r.createElement("span",{className:D.copyButtonIcons,"aria-hidden":"true"},r.createElement("svg",{className:D.copyButtonIcon,viewBox:"0 0 24 24"},r.createElement("path",{d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})),r.createElement("svg",{className:D.copyButtonSuccessIcon,viewBox:"0 0 24 24"},r.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))))}const I="wordWrapButtonIcon_Bwma",F="wordWrapButtonEnabled_EoeP";function O(e){let{className:t,onClick:n,isEnabled:a}=e;const i=(0,T.translate)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return r.createElement("button",{type:"button",onClick:n,className:(0,s.default)("clean-btn",t,a&&F),"aria-label":i,title:i},r.createElement("svg",{className:I,viewBox:"0 0 24 24","aria-hidden":"true"},r.createElement("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})))}function N(e){let{children:t,className:n="",metastring:i,title:d,showLineNumbers:l,language:c}=e;const{prism:{defaultLanguage:h,magicComments:g}}=(0,x.L)(),p=c??n.split(" ").find((e=>e.startsWith("language-")))?.replace(/language-/,"")??h;const m=(0,o.p)(),b=function(){const[e,t]=(0,r.useState)(!1),[n,a]=(0,r.useState)(!1),i=(0,r.useRef)(null),s=(0,r.useCallback)((()=>{const n=i.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[i,e]),o=(0,r.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=i.current,n=e>t||i.current.querySelector("code").hasAttribute("style");a(n)}),[i]);return k(i,o),(0,r.useEffect)((()=>{o()}),[e,o]),(0,r.useEffect)((()=>(window.addEventListener("resize",o,{passive:!0}),()=>{window.removeEventListener("resize",o)})),[o]),{codeBlockRef:i,isEnabled:e,isCodeScrollable:n,toggle:s}}(),v=function(e){return e?.match(u)?.groups.title??""}(i)||d,{lineClassNames:_,code:w}=f(t,{metastring:i,language:p,magicComments:g}),E=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(i);return r.createElement(R,{as:"div",className:(0,s.default)(n,p&&!n.includes(`language-${p}`)&&`language-${p}`)},v&&r.createElement("div",{className:y.codeBlockTitle},v),r.createElement("div",{className:y.codeBlockContent},r.createElement(C.ZP,(0,a.Z)({},C.lG,{theme:m,code:w,language:p??"text"}),(e=>{let{className:t,tokens:n,getLineProps:a,getTokenProps:i}=e;return r.createElement("pre",{tabIndex:0,ref:b.codeBlockRef,className:(0,s.default)(t,y.codeBlock,"thin-scrollbar")},r.createElement("code",{className:(0,s.default)(y.codeBlockLines,E&&y.codeBlockLinesWithNumbering)},n.map(((e,t)=>r.createElement(A,{key:t,line:e,getLineProps:a,getTokenProps:i,classNames:_[t],showLineNumbers:E})))))})),r.createElement("div",{className:y.buttonGroup},(b.isEnabled||b.isCodeScrollable)&&r.createElement(O,{className:y.codeButton,onClick:()=>b.toggle(),isEnabled:b.isEnabled}),r.createElement(L,{className:y.codeButton,code:w}))))}function B(e){let{children:t,...n}=e;const s=(0,i.default)(),o=function(e){return r.Children.toArray(e).some((e=>(0,r.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),d="string"==typeof o?N:b;return r.createElement(d,(0,a.Z)({key:String(s)},n),o)}},93454:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>Le});var a=n(67294),r=n(1944),i=n(902);const s=a.createContext(null);function o(e){let{children:t,content:n}=e;const r=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return a.createElement(s.Provider,{value:r},t)}function d(){const e=(0,a.useContext)(s);if(null===e)throw new i.i6("DocProvider");return e}function l(){const{metadata:e,frontMatter:t,assets:n}=d();return a.createElement(r.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var c=n(86010),u=n(87524),h=n(87462),g=n(95999),p=n(39960);function f(e){const{permalink:t,title:n,subLabel:r,isNext:i}=e;return a.createElement(p.default,{className:(0,c.default)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},r&&a.createElement("div",{className:"pagination-nav__sublabel"},r),a.createElement("div",{className:"pagination-nav__label"},n))}function m(e){const{previous:t,next:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,g.translate)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages navigation",description:"The ARIA label for the docs pagination"})},t&&a.createElement(f,(0,h.Z)({},t,{subLabel:a.createElement(g.default,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),n&&a.createElement(f,(0,h.Z)({},n,{subLabel:a.createElement(g.default,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}function R(){const{metadata:e}=d();return a.createElement(m,{previous:e.previous,next:e.next})}var y=n(52263),b=n(94104),x=n(35281),v=n(60373),_=n(74477);const k={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(g.default,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(g.default,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function C(e){const t=k[e.versionMetadata.banner];return a.createElement(t,e)}function w(e){let{versionLabel:t,to:n,onClick:r}=e;return a.createElement(g.default,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:a.createElement("b",null,a.createElement(p.default,{to:n,onClick:r},a.createElement(g.default,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function E(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:r}}=(0,y.default)(),{pluginId:i}=(0,b.gA)({failfast:!0}),{savePreferredVersionName:s}=(0,v.J)(i),{latestDocSuggestion:o,latestVersionSuggestion:d}=(0,b.Jo)(i),l=o??(u=d).docs.find((e=>e.id===u.mainDocId));var u;return a.createElement("div",{className:(0,c.default)(t,x.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},a.createElement("div",null,a.createElement(C,{siteTitle:r,versionMetadata:n})),a.createElement("div",{className:"margin-top--md"},a.createElement(w,{versionLabel:d.label,to:l.path,onClick:()=>s(d.name)})))}function S(e){let{className:t}=e;const n=(0,_.E)();return n.banner?a.createElement(E,{className:t,versionMetadata:n}):null}function A(e){let{className:t}=e;const n=(0,_.E)();return n.badge?a.createElement("span",{className:(0,c.default)(t,x.k.docs.docVersionBadge,"badge badge--secondary")},a.createElement(g.default,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label}},"Version: {versionLabel}")):null}function T(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return a.createElement(g.default,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:a.createElement("b",null,a.createElement("time",{dateTime:new Date(1e3*t).toISOString()},n))}}," on {date}")}function D(e){let{lastUpdatedBy:t}=e;return a.createElement(g.default,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:a.createElement("b",null,t)}}," by {user}")}function L(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:r}=e;return a.createElement("span",{className:x.k.common.lastUpdated},a.createElement(g.default,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?a.createElement(T,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:r?a.createElement(D,{lastUpdatedBy:r}):""}},"Last updated{atDate}{byUser}"),!1)}var I=n(86121),F=n.n(I);const O="tag_zVej",N="tagRegular_sFm0",B="tagWithCount_h2kH";function M(e){let{permalink:t,label:n,count:r}=e;return a.createElement(p.default,{href:t,className:(0,c.default)(O,r?B:N)},n,r&&a.createElement("span",null,r))}const P="tags_jXut",j="tag_QGVx";function V(e){let{tags:t}=e;return a.createElement(a.Fragment,null,a.createElement("b",null,a.createElement(g.default,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),a.createElement("ul",{className:(0,c.default)(P,"padding--none","margin-left--sm")},t.map((e=>{let{label:t,permalink:n}=e;return a.createElement("li",{key:n,className:j},a.createElement(M,{label:t,permalink:n}))}))))}const $="lastUpdated_vwxv";function U(e){return a.createElement("div",{className:(0,c.default)(x.k.docs.docFooterTagsRow,"row margin-bottom--sm")},a.createElement("div",{className:"col"},a.createElement(V,e)))}function z(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:r,formattedLastUpdatedAt:i}=e;return a.createElement("div",{className:(0,c.default)(x.k.docs.docFooterEditMetaRow,"row")},a.createElement("div",{className:"col"},t&&a.createElement(F(),{editUrl:t})),a.createElement("div",{className:(0,c.default)("col",$)},(n||r)&&a.createElement(L,{lastUpdatedAt:n,formattedLastUpdatedAt:i,lastUpdatedBy:r})))}function H(){const{metadata:e}=d(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:r,lastUpdatedBy:i,tags:s}=e,o=s.length>0,l=!!(t||n||i);return o||l?a.createElement("footer",{className:(0,c.default)(x.k.docs.docFooter,"docusaurus-mt-lg")},o&&a.createElement(U,{tags:s}),l&&a.createElement(z,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:i,formattedLastUpdatedAt:r})):null}var Y=n(86043),W=n(86668);function q(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...r}=e;n>=0?t[n].children.push(r):a.push(r)})),a}function G(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=G({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function X(e){const t=e.getBoundingClientRect();return t.top===t.bottom?X(e.parentNode):t}function J(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>X(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(X(a))?a:e[e.indexOf(a)-1]??null}return e[e.length-1]??null}function K(){const e=(0,a.useRef)(0),{navbar:{hideOnScroll:t}}=(0,W.L)();return(0,a.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function Z(e){const t=(0,a.useRef)(void 0),n=K();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:r,minHeadingLevel:i,maxHeadingLevel:s}=e;function o(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),o=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let r=t;r<=n;r+=1)a.push(`h${r}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:i,maxHeadingLevel:s}),d=J(o,{anchorTopOffset:n.current}),l=e.find((e=>d&&d.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(r),e.classList.add(r),t.current=e):e.classList.remove(r)}(e,e===l)}))}return document.addEventListener("scroll",o),document.addEventListener("resize",o),o(),()=>{document.removeEventListener("scroll",o),document.removeEventListener("resize",o)}}),[e,n])}function Q(e){let{toc:t,className:n,linkClassName:r,isChild:i}=e;return t.length?a.createElement("ul",{className:i?void 0:n},t.map((e=>a.createElement("li",{key:e.id},a.createElement("a",{href:`#${e.id}`,className:r??void 0,dangerouslySetInnerHTML:{__html:e.value}}),a.createElement(Q,{isChild:!0,toc:e.children,className:n,linkClassName:r}))))):null}const ee=a.memo(Q);function te(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:r="table-of-contents__link",linkActiveClassName:i,minHeadingLevel:s,maxHeadingLevel:o,...d}=e;const l=(0,W.L)(),c=s??l.tableOfContents.minHeadingLevel,u=o??l.tableOfContents.maxHeadingLevel,g=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:r}=e;return(0,a.useMemo)((()=>G({toc:q(t),minHeadingLevel:n,maxHeadingLevel:r})),[t,n,r])}({toc:t,minHeadingLevel:c,maxHeadingLevel:u});return Z((0,a.useMemo)((()=>{if(r&&i)return{linkClassName:r,linkActiveClassName:i,minHeadingLevel:c,maxHeadingLevel:u}}),[r,i,c,u])),a.createElement(ee,(0,h.Z)({toc:g,className:n,linkClassName:r},d))}const ne="tocCollapsibleButton_TO0P",ae="tocCollapsibleButtonExpanded_MG3E";function re(e){let{collapsed:t,...n}=e;return a.createElement("button",(0,h.Z)({type:"button"},n,{className:(0,c.default)("clean-btn",ne,!t&&ae,n.className)}),a.createElement(g.default,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component"},"On this page"))}const ie="tocCollapsible_ETCw",se="tocCollapsibleContent_vkbj",oe="tocCollapsibleExpanded_sAul";function de(e){let{toc:t,className:n,minHeadingLevel:r,maxHeadingLevel:i}=e;const{collapsed:s,toggleCollapsed:o}=(0,Y.u)({initialState:!0});return a.createElement("div",{className:(0,c.default)(ie,!s&&oe,n)},a.createElement(re,{collapsed:s,onClick:o}),a.createElement(Y.z,{lazy:!0,className:se,collapsed:s},a.createElement(te,{toc:t,minHeadingLevel:r,maxHeadingLevel:i})))}const le="tocMobile_ITEo";function ce(){const{toc:e,frontMatter:t}=d();return a.createElement(de,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,c.default)(x.k.docs.docTocMobile,le)})}const ue="tableOfContents_bqdL";function he(e){let{className:t,...n}=e;return a.createElement("div",{className:(0,c.default)(ue,"thin-scrollbar",t)},a.createElement(te,(0,h.Z)({},n,{linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})))}function ge(){const{toc:e,frontMatter:t}=d();return a.createElement(he,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:x.k.docs.docTocDesktop})}var pe=n(92503),fe=n(51788),me=n.n(fe);function Re(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=d();return t.hide_title||void 0!==n?null:e.title}();return a.createElement("div",{className:(0,c.default)(x.k.docs.docMarkdown,"markdown")},n&&a.createElement("header",null,a.createElement(pe.Z,{as:"h1"},n)),a.createElement(me(),null,t))}var ye=n(53438),be=n(48596),xe=n(44996);function ve(e){return a.createElement("svg",(0,h.Z)({viewBox:"0 0 24 24"},e),a.createElement("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"}))}const _e="breadcrumbHomeIcon_YNFT";function ke(){const e=(0,xe.default)("/");return a.createElement("li",{className:"breadcrumbs__item"},a.createElement(p.default,{"aria-label":(0,g.translate)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e},a.createElement(ve,{className:_e})))}const Ce="breadcrumbsContainer_Z_bl";function we(e){let{children:t,href:n,isLast:r}=e;const i="breadcrumbs__link";return r?a.createElement("span",{className:i,itemProp:"name"},t):n?a.createElement(p.default,{className:i,href:n,itemProp:"item"},a.createElement("span",{itemProp:"name"},t)):a.createElement("span",{className:i},t)}function Ee(e){let{children:t,active:n,index:r,addMicrodata:i}=e;return a.createElement("li",(0,h.Z)({},i&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,c.default)("breadcrumbs__item",{"breadcrumbs__item--active":n})}),t,a.createElement("meta",{itemProp:"position",content:String(r+1)}))}function Se(){const e=(0,ye.s1)(),t=(0,be.Ns)();return e?a.createElement("nav",{className:(0,c.default)(x.k.docs.docBreadcrumbs,Ce),"aria-label":(0,g.translate)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},a.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&a.createElement(ke,null),e.map(((t,n)=>{const r=n===e.length-1;return a.createElement(Ee,{key:n,active:r,index:n,addMicrodata:!!t.href},a.createElement(we,{href:t.href,isLast:r},t.label))})))):null}const Ae="docItemContainer_Djhp",Te="docItemCol_VOVn";function De(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=d(),n=(0,u.i)(),r=e.hide_table_of_contents,i=!r&&t.length>0;return{hidden:r,mobile:i?a.createElement(ce,null):void 0,desktop:!i||"desktop"!==n&&"ssr"!==n?void 0:a.createElement(ge,null)}}();return a.createElement("div",{className:"row"},a.createElement("div",{className:(0,c.default)("col",!n.hidden&&Te)},a.createElement(S,null),a.createElement("div",{className:Ae},a.createElement("article",null,a.createElement(Se,null),a.createElement(A,null),n.mobile,a.createElement(Re,null,t),a.createElement(H,null)),a.createElement(R,null))),n.desktop&&a.createElement("div",{className:"col col--3"},n.desktop))}function Le(e){const t=`docs-doc-id-${e.content.metadata.unversionedId}`,n=e.content;return a.createElement(o,{content:e.content},a.createElement(r.FG,{className:t},a.createElement(l,null),a.createElement(De,null,a.createElement(n,null))))}},46215:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var a=n(67294),r=n(95999),i=n(35281),s=n(56262);function o(e){let{editUrl:t}=e;return a.createElement("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:i.k.common.editThisPage},a.createElement(s.default,null),a.createElement(r.default,{id:"theme.common.editThisPage",description:"The link label to edit the current page"},"Edit this page"))}},92503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var a=n(87462),r=n(67294),i=n(86010),s=n(95999),o=n(86668),d=n(39960);const l="anchorWithStickyNavbar_LWe7",c="anchorWithHideOnScrollNavbar_WYt5";function u(e){let{as:t,id:n,...u}=e;const{navbar:{hideOnScroll:h}}=(0,o.L)();if("h1"===t||!n)return r.createElement(t,(0,a.Z)({},u,{id:void 0}));const g=(0,s.translate)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return r.createElement(t,(0,a.Z)({},u,{className:(0,i.default)("anchor",h?c:l,u.className),id:n}),u.children,r.createElement(d.default,{className:"hash-link",to:`#${n}`,"aria-label":g,title:g},"\u200b"))}},56262:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var a=n(87462),r=n(67294),i=n(86010);const s="iconEdit_Z9Sw";function o(e){let{className:t,...n}=e;return r.createElement("svg",(0,a.Z)({fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,i.default)(s,t),"aria-hidden":"true"},n),r.createElement("g",null,r.createElement("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})))}},42752:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>O});var a=n(87462),r=n(67294),i=n(35742);var s=n(20625),o=n.n(s);var d=n(39960);var l=n(86010),c=n(72389),u=n(86043);const h="details_lb9f",g="isBrowser_bmU9",p="collapsibleContent_i85q";function f(e){return!!e&&("SUMMARY"===e.tagName||f(e.parentElement))}function m(e,t){return!!e&&(e===t||m(e.parentElement,t))}function R(e){let{summary:t,children:n,...i}=e;const s=(0,c.default)(),o=(0,r.useRef)(null),{collapsed:d,setCollapsed:R}=(0,u.u)({initialState:!i.open}),[y,b]=(0,r.useState)(i.open);return r.createElement("details",(0,a.Z)({},i,{ref:o,open:y,"data-collapsed":d,className:(0,l.default)(h,s&&g,i.className),onMouseDown:e=>{f(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;f(t)&&m(t,o.current)&&(e.preventDefault(),d?(R(!1),b(!0)):R(!0))}}),t??r.createElement("summary",null,"Details"),r.createElement(u.z,{lazy:!1,collapsed:d,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{R(e),b(!e)}},r.createElement("div",{className:p},n)))}const y="details_b_Ee";function b(e){let{...t}=e;return r.createElement(R,(0,a.Z)({},t,{className:(0,l.default)("alert alert--info",y,t.className)}))}var x=n(92503);function v(e){return r.createElement(x.Z,e)}const _="containsTaskList_mC6p";const k="img_ev3q";var C=n(35281),w=n(95999);const E="admonition_LlT9",S="admonitionHeading_tbUL",A="admonitionIcon_kALy",T="admonitionContent_S0QG";const D={note:{infimaClassName:"secondary",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 14 16"},r.createElement("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))},label:r.createElement(w.default,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 12 16"},r.createElement("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"}))},label:r.createElement(w.default,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 12 16"},r.createElement("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))},label:r.createElement(w.default,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 14 16"},r.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))},label:r.createElement(w.default,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return r.createElement("svg",{viewBox:"0 0 16 16"},r.createElement("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))},label:r.createElement(w.default,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},L={secondary:"note",important:"info",success:"tip",warning:"danger"};function I(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=r.Children.toArray(e),n=t.find((e=>r.isValidElement(e)&&"mdxAdmonitionTitle"===e.props?.mdxType)),a=r.createElement(r.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:a}}(e.children);return{...e,title:e.title??t,children:n}}var F=n(92969);const O={head:function(e){const t=r.Children.map(e.children,(e=>r.isValidElement(e)?function(e){if(e.props?.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...a}=e.props;return r.createElement(e.props.originalType,a)}return e}(e):e));return r.createElement(i.Z,e,t)},code:function(e){const t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return r.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")||(0,r.isValidElement)(e)&&t.includes(e.props?.mdxType)))?r.createElement("code",e):r.createElement(o(),e)},a:function(e){return r.createElement(d.default,e)},pre:function(e){return r.createElement(o(),(0,r.isValidElement)(e.children)&&"code"===e.children.props?.originalType?e.children.props:{...e})},details:function(e){const t=r.Children.toArray(e.children),n=t.find((e=>r.isValidElement(e)&&"summary"===e.props?.mdxType)),i=r.createElement(r.Fragment,null,t.filter((e=>e!==n)));return r.createElement(b,(0,a.Z)({},e,{summary:n}),i)},ul:function(e){return r.createElement("ul",(0,a.Z)({},e,{className:(t=e.className,(0,l.default)(t,t?.includes("contains-task-list")&&_))}));var t},img:function(e){return r.createElement("img",(0,a.Z)({loading:"lazy"},e,{className:(t=e.className,(0,l.default)(t,k))}));var t},h1:e=>r.createElement(v,(0,a.Z)({as:"h1"},e)),h2:e=>r.createElement(v,(0,a.Z)({as:"h2"},e)),h3:e=>r.createElement(v,(0,a.Z)({as:"h3"},e)),h4:e=>r.createElement(v,(0,a.Z)({as:"h4"},e)),h5:e=>r.createElement(v,(0,a.Z)({as:"h5"},e)),h6:e=>r.createElement(v,(0,a.Z)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:a,icon:i}=I(e),s=function(e){const t=L[e]??e,n=D[t];return n||(console.warn(`No admonition config found for admonition type "${t}". Using Info as fallback.`),D.info)}(n),o=a??s.label,{iconComponent:d}=s,c=i??r.createElement(d,null);return r.createElement("div",{className:(0,l.default)(C.k.common.admonition,C.k.common.admonitionType(e.type),"alert",`alert--${s.infimaClassName}`,E)},r.createElement("div",{className:S},r.createElement("span",{className:A},c),o),r.createElement("div",{className:T},t))},mermaid:n.n(F)()}},45042:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var a=n(67294),r=n(3905),i=n(75854),s=n.n(i);function o(e){let{children:t}=e;return a.createElement(r.MDXProvider,{components:s()},t)}},85162:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s});var a=n(67294),r=n(86010);const i="tabItem_Ymn6";function s(e){let{children:t,hidden:n,className:s}=e;return a.createElement("div",{role:"tabpanel",className:(0,r.default)(i,s),hidden:n},t)}},74866:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>_});var a=n(87462),r=n(67294),i=n(86010),s=n(12466),o=n(16550),d=n(91980),l=n(67392),c=n(50012);function u(e){return function(e){return r.Children.map(e,(e=>{if((0,r.isValidElement)(e)&&"value"in e.props)return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}function h(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??u(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function g(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const a=(0,o.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,d._X)(i),(0,r.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(a.location.search);t.set(i,e),a.replace({...a.location,search:t.toString()})}),[i,a])]}function f(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,i=h(e),[s,o]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!g({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:i}))),[d,l]=p({queryString:n,groupId:a}),[u,f]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,i]=(0,c.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:a}),m=(()=>{const e=d??u;return g({value:e,tabValues:i})?e:null})();(0,r.useLayoutEffect)((()=>{m&&o(m)}),[m]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!g({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);o(e),l(e),f(e)}),[l,f,i]),tabValues:i}}var m=n(72389);const R="tabList__CuJ",y="tabItem_LNqP";function b(e){let{className:t,block:n,selectedValue:o,selectValue:d,tabValues:l}=e;const c=[],{blockElementScrollPositionUntilNextRender:u}=(0,s.o5)(),h=e=>{const t=e.currentTarget,n=c.indexOf(t),a=l[n].value;a!==o&&(u(t),d(a))},g=e=>{let t=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.default)("tabs",{"tabs--block":n},t)},l.map((e=>{let{value:t,label:n,attributes:s}=e;return r.createElement("li",(0,a.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:e=>c.push(e),onKeyDown:g,onClick:h},s,{className:(0,i.default)("tabs__item",y,s?.className,{"tabs__item--active":o===t})}),n??t)})))}function x(e){let{lazy:t,children:n,selectedValue:a}=e;if(n=Array.isArray(n)?n:[n],t){const e=n.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},n.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function v(e){const t=f(e);return r.createElement("div",{className:(0,i.default)("tabs-container",R)},r.createElement(b,(0,a.Z)({},e,t)),r.createElement(x,(0,a.Z)({},e,t)))}function _(e){const t=(0,m.default)();return r.createElement(v,(0,a.Z)({key:String(t)},e))}},74477:(e,t,n)=>{"use strict";n.d(t,{E:()=>o,q:()=>s});var a=n(67294),r=n(902);const i=a.createContext(null);function s(e){let{children:t,version:n}=e;return a.createElement(i.Provider,{value:n},t)}function o(){const e=(0,a.useContext)(i);if(null===e)throw new r.i6("DocsVersionProvider");return e}},66412:(e,t,n)=>{"use strict";n.d(t,{p:()=>i});var a=n(92949),r=n(86668);function i(){const{prism:e}=(0,r.L)(),{colorMode:t}=(0,a.I)(),n=e.theme,i=e.darkTheme||n;return"dark"===t?i:n}},81173:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Collapsible:()=>p.z,HtmlClassNameProvider:()=>R.FG,NavbarSecondaryMenuFiller:()=>b.Zo,PageMetadata:()=>R.d,ReactContextError:()=>m.i6,SkipToContentFallbackId:()=>D.u,SkipToContentLink:()=>D.l,ThemeClassNames:()=>f.k,composeProviders:()=>m.Qc,createStorageSlot:()=>r.WA,duplicates:()=>E.l,filterDocCardListItems:()=>s.MN,isMultiColumnFooterLinks:()=>C.a,isRegexpStringMatch:()=>w.F,listStorageKeys:()=>r._f,listTagsByLetters:()=>k,processAdmonitionProps:()=>T,translateTagsPageTitle:()=>_,uniq:()=>E.j,useCollapsible:()=>p.u,useColorMode:()=>y.I,useContextualSearchFilters:()=>i._q,useCurrentSidebarCategory:()=>s.jA,useDocsPreferredVersion:()=>A.J,useEvent:()=>m.zX,useIsomorphicLayoutEffect:()=>m.LI,usePluralForm:()=>g,usePrevious:()=>m.D9,usePrismTheme:()=>S.p,useStorageSlot:()=>r.Nk,useThemeConfig:()=>a.L,useWindowSize:()=>x.i});var a=n(86668),r=n(50012),i=n(43320),s=n(53438),o=n(67294),d=n(52263);const l=["zero","one","two","few","many","other"];function c(e){return l.filter((t=>e.includes(t)))}const u={locale:"en",pluralForms:c(["one","other"]),select:e=>1===e?"one":"other"};function h(){const{i18n:{currentLocale:e}}=(0,d.default)();return(0,o.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:c(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),u}}),[e])}function g(){const e=h();return{selectMessage:(t,n)=>function(e,t,n){const a=e.split("|");if(1===a.length)return a[0];a.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${a.length}: ${e}`);const r=n.select(t),i=n.pluralForms.indexOf(r);return a[Math.min(i,a.length-1)]}(n,t,e)}}var p=n(86043),f=n(35281),m=n(902),R=n(1944),y=n(92949),b=n(13102),x=n(87524),v=n(95999);const _=()=>(0,v.translate)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});function k(e){const t={};return Object.values(e).forEach((e=>{const n=function(e){return e[0].toUpperCase()}(e.label);t[n]??=[],t[n].push(e)})),Object.entries(t).sort(((e,t)=>{let[n]=e,[a]=t;return n.localeCompare(a)})).map((e=>{let[t,n]=e;return{letter:t,tags:n.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}var C=n(42489),w=n(98022),E=n(67392),S=n(66412),A=n(60373);function T(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=o.Children.toArray(e),n=t.find((e=>o.isValidElement(e)&&"mdxAdmonitionTitle"===e.props?.mdxType)),a=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n?.props.children,rest:a}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}var D=n(55225)},14732:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAIRlWElmTU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAACCgAwAEAAAAAQAAACAAAAAAX7wP8AAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAACexJREFUWAmdV2tsXMUV/uY+d9d3/YqDHUKKSYLzDiIpUAEFB9EUWhApiYOaIgjQJog/ULVQVQVpS6nUltJUiNLmoZZfVMS0lGdBPOzmgSolEIVgEsvkYRLb8Sv2rnfv7t7X9JxZ72YNVJV6tbt37p2Z833nO2fOzAr8jyslU9rSzh6xcWNnyEOllNr2Pfcv8CL/4hBBfWm6MRnXzP6t1/3puBAi4ncduzt0vndOz+P2l13iy16W323fvsXcunWHz89/6P7BFYUwf08U+d8IZTjfjGmaEFINjSIJrxBFGrQTmqa/bZnxvzzU/twB7tyyfbW5Y+sHyoYa/Lmf/0ZApLra9dSa7mDX+w8sTOfT26AHt+iWICAfga/ECCXpwR+AqUhdNwUsW0dQpKdQfz0O54cPrn2uj2wZZIsnlRhXkfgyAiIlIVIC0e+77r3PD3I7zQREPutHEAgRQYeQDKjmUkhK5gS1InpJY6Io0mOOoXmulKYW2/LI2hd2kU0txQTETBJaFRnVpNhpDL7tvc2PGwl/VygDUciFPsWWx5pkQCNIMkP4lS/1MDT3ESbfi27oRzRXd/ydv3prwy9SZLOjs+MLeCpRyiRYqmdveSPc1nX3j61k9ER2Mh8Aao5RHlO6E7hOgujcHVIACL8kSPUwsq1FxaIfJmq19vaNy9ynb3txH+fEB68NqUTlwUpGbkzHKXj6vXuuj0yvu+B6EftUkrokM7VZRHI2QuQmIIs2rwrSpQjdyUJGbI5HlcazXWpLRFJaCUPTfLv9kbWd/ypjcX+ZgJpJxsRv3/3uMc2UbUExCmjytOfnjcqQWJk+Mh/PgduTJCXISMsk6lYNwrJMgqNEmEmAWMjQsIQeeqLv0ZtfXUTh5CEcMqn0JUYqFE+9d+dW29Ha/GLol8DZk/PecJPMQDNIfiOENCkEFq0wahfcEF4xUOFgzz536QEVjlitfukT/7ztfu5LdZcwZyjw67c3HCamK8l7WmLsW0lQviseWoQwnUThdAOK52hJjmvqtZ4MYNZSWJvOId6ShklLkUNTUUKtFFLB1kgF+dFjN79xGVlUqmvTFUv+5t07VgkdK70irSJa06Xp095XiZD5pA7pIyaKE6TfrAxA3yArkD9loXiyHvmMhF8gfcuuKXDFXydlpdDFyl++eesqdomxtWWzR9VQGchr7ZjBgSFtpz0u39UjUSInI/rRYgQwbxTxxQNILBmAcckYhYFyjaizY/lsRAXrPImyEhT7gCooqJJeSwPRMEGFkxt8RSJYwelDAGXupQ76LRtg0ciISjSzMUc9BpEyYDZRm8LDWcX5RV6i6EqEngFDj0EXlrJFYijbRHQFv7iwLSmNpaOzlcAyilrCgChUx05Nq/qhvtBjH6kYZhsgnGEldTjeBBFR3GmF0LZA1YjJ6DiX7gfsPtixZtTobcqQwohkCz8wttE5bT8et2w7YYCCT9dMEUoMyTDJnG/NYLDfR21/LZCLqWj5oyZcN4fkgiycJBdCE/lwBDfN+wnmNbYh441j/9B2MusJu8Yi3TwlCWNrHR0lBqatuXZMpwzW6Esmqr4WtWNxGwUcx7dv2Ii7Nt+JwbMD8IZj8IZsDI8OY936dbhpzTp44hTiiTh0q4BFcy/H8otXYf6sZQjCAqyYIe24BsPW84zK2MYn3aUkpLicUXVPBZx9ZhWU79TS4EUZNJlXY1HD1XDmJpH3snjh+Reh6zrW374BV37tq0qFo2PXIB18inp7CWosWrJeEWPZIbj+AKzipVI6ZFNGp5kAY59PwkgeUvGvJGEJnPkIYZCkZ3BlyybYRgK+TwWnIYf4irNIrByGOScH3wtgGTFcdWEHRgpvY0nTjUjGG7gKYzB9nBKzQPlFS8wjixKHmABfGtrb1cYgwmiPm6FeQSGqpGLpMR8OYb6zAa31y8kQMDR6Gm/1PoU5i220tGk4OLwLI5MDSrS5tQtxzQW/w2Vzr1MrJpefwtHxd0iNVjLmGy5t624+2qvQCZu23lTEx64Hr/9bHzHbE6NEJN/ViUMNoh9W5oqWdbSkTDqM+Nhz9BXYtgM9jJFLcZiWg0PDb5EyVJYpcjct2Yxa8p5D1zPwb4yH+2BqydCqIcGl3PPY2tf6GJOxSyHo7lb3MJTb1LpSmHSCoGzOBcexouEuNDsXk3GJ/rPHsffMw/CjcUwW+1S88/4IjqQfxUjuNBrqGqEbGnTNwGcjfdg39AxqY4voHONJrjpRgN8rx6YxK+utzGjb3g1diTqzvZANaEMKTQ0WNrY9Bceu4wqGIPAxTHJ/NtaLdHFU8a1PzMa8WW1orp0HwzCZPvJuAbs/fhxT2iewtEY/lpSmmwm6Hlnzyg1lLCbyuYMGELji3rzwei0rZk4WDodrLnxSr4s10SooUEXTYcdjWBBfgvkti+nsVYoUHURBJ1SVcL7nYcqdgqSNcvGsdrx/bn+YMJvM/BSthyncx6A9dMrmO1+UUqWr++fdkg8KP7vxjXPfvHP1h4inNzVZV2lfv2hTpOuamJyawEv7/0yMqZDoFnlOZ2BeRJQwfkCguTRODfdiz6edaDDnIhFz0GC3RGfdAd3TB4Fi8taf3vz3A4zBp64yboVJ+UX5tLL5Zdz+8OUHXmxtXC7oAO6/uv95/dW+e7WG+BVojC/CnGSbWmbMwfUnMOb1IYtjCI0DuLz2meiaizbQ1ifNM+ljctexNet3rsdLZdtlLL5/gQBlvE4bTiiLckW2mP2IC81Y5iyefP0O1MVbfdp0RChczUeaRMhTwlEcjThss17aZiKiBJRFccb8ziWUfFoLb260BOsva2x2Pirbriagsr/6BbVVXUgX0judpMNLsLDv0Ds76ZQwYiU004hFhkV7qmM2i6R5iagx5ouE0SIoZzTCN2xHmFEghj881fVHmus6yRpMFcZ3TmMo29V4MwjQBIPPaxMTE3c7Nc5VvL9nc9nOTd/asmVp0z1LJ8ay389lgpe9vN/vB34hiHxKRI9zoFAs+Keyk/4/zo1k72sZX7/0e9f96IF8wf1rFJICNTVXnjx5cjPbZoxqApUQUAf1C3nw4EFz4cKFRxOJxIJsNusODQ0tWLZs2dnqSau3rDavXn5BM9Uf2hKBmK6n39w/NPLBjpl/wbq6uppaW1uPO45Tm8vlTtB3CdnyyljVNllqpcbg4OBXMplMQM+S2g/xICZFN/67Zuye/tM5Y/L0w27ZofMYHkvTlae9vb0P5PN52d/fH504cYKqmapyFeUrcnR2dio1TNOcTSU1ogn3E/tdTIyUUX8u+b/iNJZIpVIV9fgdPcuNovQPmp9pDjvBc589fPhwjsKwIwzDZurqL2PxuMpFg5VBYtnc09OzkDvYQGXA/9ko29i7d+/8I0eOMAG2WyH/H45a9ExgQQ3bAAAAAElFTkSuQmCC"},20625:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return r(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(n(67294)),d=s(n(98299)),l=s(n(52263)),c=s(n(72389)),u=n(86341),h=s(n(25510)),g=s(n(14732)),p=s(n(74071)),f=n(28084),m=[{names:["fbsource","fbs"],project:"fbsource",canonicalName:"fbsource"},{names:["www"],project:"facebook-www",canonicalName:"www"}];t.default=e=>{const{siteConfig:t}=(0,l.default)(),n=(0,f.usePluginData)("internaldocs-fb").opts.maxCodeBlockHeight,a=(0,c.default)(),r=(0,o.useRef)(null),i=(0,o.useRef)(null),s=(0,o.useRef)(null),R=(0,o.useRef)(!1),y=(0,o.useCallback)((e=>{R.current||(window.requestAnimationFrame((()=>{i.current&&s.current&&(e.target.scrollTop>0?i.current.style.boxShadow="0 1em 1em -1em black inset":i.current.style.boxShadow="none",e.target.scrollTop===e.target.scrollHeight-e.target.offsetHeight?s.current.style.boxShadow="none":s.current.style.boxShadow="0 -1em 1em -1em black inset"),R.current=!1})),R.current=!0)}),[]);(0,o.useEffect)((()=>{r.current&&(r.current.addEventListener("scroll",y),window.requestAnimationFrame((()=>{y({target:r.current})})))}));const b=function(e){try{return(0,d.default)(e)}catch(t){return o.default.createElement("p",{style:{color:"red",fontWeight:"bold"}},"Could not render codeblock")}}(Object.assign({children:""},e));if(!a)return b;if("string"!=typeof e.file)return b;let x,v,_,k;if((0,u.isInternal)()){if(!t.customFields)return b;const{fbRepoName:n,ossRepoPath:a}=t.customFields;if("string"!=typeof n)return b;x="string"==typeof a&&"string"!=typeof e.repo?function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.map((e=>e.startsWith("/")?e.slice(1):e)).map((e=>e.endsWith("/")?e.slice(0,e.length-1):e)).join("/")}(a,e.file):e.file;const r=m.find((t=>{var a;return t.names.includes((null!==(a=e.repo)&&void 0!==a?a:n).toLowerCase())}));if(void 0===r)return b;v=function(e,t){const n=new URL("https://www.internalfb.com");return n.pathname=`/code/${e.canonicalName}/${t}`,n.toString()}(r,x),_=function(e,t){const n=new URL("https://www.internalfb.com/intern/nuclide/open/arc");return n.searchParams.append("project",e.project),n.searchParams.append("paths[0]",t),n.toString()}(r,x),k=function(e,t){if("fbsource"!==e.canonicalName||!t.startsWith("fbandroid"))return null;const n=new URL("fb-ide-opener://open");return n.searchParams.append("ide","intellij"),n.searchParams.append("filepath",`/fbsource/${t}`),n.toString()}(r,x)}else{if("string"!=typeof t.organizationName||"string"!=typeof t.projectName)return b;x=e.file,v=function(e,t,n){const a=new URL("https://github.com");return a.pathname=`/${e}/${t}/blob/master/${n}`,a.toString()}(t.organizationName,t.projectName,e.file),_=null,k=null}const C=x.split("/"),w=C[C.length-1];return o.default.createElement("div",null,o.default.createElement("a",{href:v,title:"Browse entire file",target:"_blank",rel:"noreferrer",onClick:()=>u.feedback.reportFeatureUsage({featureName:"browse-file",id:x}),className:p.default.CodeBlockFilenameTab},w),null!==_?o.default.createElement("a",{target:"_blank",rel:"noreferrer",href:_,onClick:()=>u.feedback.reportFeatureUsage({featureName:"open-in-vscode",id:x})},o.default.createElement("img",{style:{padding:"0 6px",height:"16px"},title:"Open in VSCode @ FB",src:h.default})):null,null!==k?o.default.createElement("a",{target:"_blank",rel:"noreferrer",href:k,onClick:()=>u.feedback.reportFeatureUsage({featureName:"open-in-android-studio",id:x})},o.default.createElement("img",{style:{padding:"0 6px",height:"16px"},title:"Open in Android Studio",src:g.default})):null,o.default.createElement("div",{style:{position:"relative"}},o.default.createElement("div",{ref:r,style:{maxHeight:n,overflowY:"auto"}},b),void 0===n?null:[o.default.createElement("div",{key:"shadowtop",ref:i,style:{bottom:0,left:0,right:0,top:0,pointerEvents:"none",transition:"all .2s ease-out",boxShadow:"none",position:"absolute"}}),o.default.createElement("div",{key:"shadowbottom",ref:s,style:{bottom:0,left:0,right:0,top:0,pointerEvents:"none",transition:"all .2s ease-out",boxShadow:"none",position:"absolute"}})]))}},25510:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAG/0lEQVR42r2XbVBU5xXH/yB1mpk6Tqa1k1Fsa9hFzdhJJhknzfRDZ2rHdpx2mklDbdOZ1tpWg0GhgK/4shIBESTaqiNjTaOGoMsCu4ggb8E3UqQUd3mxRUVjaBKbMO7dF5Zl793n9NxnL9wdGMcvJP/ZM+d57of9/8459z57FzMvSkCafZZc2mmWjC9NNlsiDKURzTbXXwaI3W4abG869s0jAw8W1wfPpNb871mwvtiO2NqTjNUs7GxtxJtdlLijnRa3EC1uGCOrS6m2OkZeNKdEiZgxrSv/isxrT85BXvN1FHQRtjePJ21rjVprvGpqfVAsadNBwpTq8jVY7J//YAbNu2PmGZXzsaP5FvL/QdyBcWxrpqStLWSp9lJqXYCNAypHdAl3ZCnDpNZ4Dz6yE3KWRAl4nMoN86yapWz+ALZrXHlLBHmthK1NlLSl2QAIktUZkJHqDERS63kktf7QU4VX5k1/fGySyLxhHld57vmXuN1B7L4szTmIYQhbLlLS5maRUvWQ5x9kw8AEhLDWhchS4/Mml32wAJOKr7jE8yL2t8w1q3zEzLPrfoptTYS894mzym3XM4Nw3tyoJW1poRSHogMIHcAIkVo3xp3xKQuLr803K59QmacU5cOEt/qGUNS1fKITBmDC5N2eU/873VhWvPWiprc8FhdjMDsuUVJOQ9BSpYSszlGyVvvJWhPgYAAXAzhMALP60t5ynPiEcGgggiN3ON8klLgzYCjOPAe7LkszbrUms4zGqNzbPiBkOTvnbji5kiv93OoKc8UBwSGz1TkFQCr92JM42DeOw4OEsn4VZQMaB+H4MPFIKrHG9tWY+YVi7LrKxmwWCzJCxdZmHsclQqbjbwBmLzhy/esWu+Kz1obY0C84ZJb7KsUEmLzxdrf9Hm/9m/RgGA0H+wVHBMc/1qH+iewLZ5DbSsht1DgENjcQh76PgA8d7kwY60//AYYWFLcnW+xexVqjG/oFhwSQe3s8QDzE9oZXUdKr4RB3orRPRWk/8V7F4duEw0NcaauGDTWE7Ho2bBDcEQ07r3DLXf1YfeB56GonOaqFxc3zU84piqU6RCk6gN0vs9yfMwHiIWIzzq5agWJPUDeUMCV9hAN9UZT0MxCPZXcHIb1WIPM8YcdlwkbHaQBzJ+8T4wdpoa15/tNnFSXFwYZ2v0g555dZ7s9OAZj27K/7+3ex330XZdyJ4t4oA+hZBkMI7PsXIaNuFK8dXTOti0QJEwAplV7FUqVXLAFk5r0J8Mhn/OWi7yC9eggFN7gLA1Hs90wC8FrwNT2P8tH7y/gTdBrAewbAWb/gkNli532lCTD9dEuveAGZdT78uZGwvlqD7TqPgCGKPBqKdACOIoYoZohD9wgFPcfij+cJgG9IAEV5hg2XsfHSSj8b650I0dPvTQVIM+jTz/0ImS4VOWyeVacio5awrkrFni5C2R02dmsodBMKPXoIuT/0IfG1buy8vCg2ioHZYG080Zm8pMKroGKUcEoROOOjZZU+8ax9lBZVMIBt6mO4wf4qsupJxianhk0uIWFy2whr3+3Dro5alN3VjTVpXsAQMtwRlN7W8yj2dv4Cpubg1MOHa/l9ILcpIF5z+QnvMMipID3Ho5EAZgf2z8XG2rBhrvI6ypmQ20LcFReWr3oKuvKuHkXpEGGfO2oExeKGisI+eoJBEvO7D4KljEbWf+rTSI0SCf5ENEH3H2qirGOccMKrvPKX9mTEKQGvV57G5jZi8wiyLnB2Ef74Tt70s+LSXhTfIrzp1iNqZErk9bwCt8DeQeq9671PpsTUddPNkBd4e97UH6NE/Ond48huImxwfITVZSsnjOWNFf9zndu0CQUDbOwh5PdoyL9BiwoYJKdbODo+0YgVFfwRMcO6jjCtLg3QuqNBGg2LKLFCofE0sKZCJODXR3+CH77x7Ue8EyRMXstq+A1sPdz+fvpaPo9gdw8tP9BLwXDMX2MCXe7bEcIrCq3cF6C/OkM6gEYx9WLal8tKzZY/9iX0Dccq7Oke+1bRTa6+Sy1x3iWWLN3wpytunvkqhW5+qMq9ECJ+LMtgKt74sa9k5tG99tRLlr3dI8jto4pLw5EJE5XrvPepRif5KcBvfeS8Gqahj1W+Lr0nurBiRl7H03KOP4P0jnsn3x8hloQYiwhChk+af3+Pn/BzhVYUBshQ1Mjfm8H/BMsXppd7PBRTRO/ArWGVys+HCGt8dLZtjIY/0+LNP+OYgxmRebM++WDE3yVdohTW81XPOOHHCt36SJXT4etjBkAhZlJ2ikF0tjcka5r2X8NEa+sej+Bnitp7R43EVX+NIxEzLTIgBgcHF6iquECsrttEeJno/ohBFKW3yfjj+sVBmOvnL3aGM/Ern63nP5F03i+BlGn+f10JyvFCZOA3AAAAAElFTkSuQmCC"},60555:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Button=void 0;const r=a(n(67294)),i=a(n(86010)),s=a(n(43150));t.Button=e=>{let{children:t,className:n,onClick:a,style:o,type:d,disabled:l}=e;return r.default.createElement("button",{className:(0,i.default)(s.default.button,n),onClick:a,style:o,type:d,disabled:l},t)}},92705:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return r(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ClosableDiv=t.EditorTrigger=void 0;const o=i(n(67294)),d=s(n(83253)),l=s(n(39960)),c=n(81173),u=n(28084),h=s(n(44996)),g=n(60555),p=n(6434),f=n(32471),m=n(86341),R=n(19445),y=n(86341),b=n(78641),x=s(n(47181)),v=s(n(10275));function _(e){let{onDecision:t,lastEditTimestamp:n}=e;return o.default.createElement(o.default.Fragment,null,o.default.createElement("h3",null,"Continue"),o.default.createElement("p",null,"Do you want to continue with your last edit?"),n&&o.default.createElement("p",null,"created on: ",new Date(Number(n)).toLocaleString()),o.default.createElement("div",{style:{display:"flex",flexDirection:"row",gap:12,justifyContent:"end"}},o.default.createElement(g.Button,{onClick:()=>{t(!1)}},"No"),o.default.createElement(g.Button,{onClick:()=>{t(!0)}},"Yes")))}function k(){return(0,u.usePluginData)("internaldocs-fb")}const C=e=>/\.mdx?$/i.test(e),w=e=>e.replace(/[\w\d.-_]/gi,"").length>0,E=e=>e.startsWith("../")||e.includes("/../");function S(e){let{onSubmit:t,repoRootToWebsiteRoot:n}=e;const[a,r]=(0,o.useState)(""),i=!a||!C(a)||w(a)||E(a);return o.default.createElement("form",{onSubmit:e=>{e.preventDefault(),i||t(a)}},o.default.createElement("label",{style:{display:"block",marginBottom:12}},o.default.createElement("span",null,"New page file path"),o.default.createElement("div",{style:{display:"flex"}},o.default.createElement("code",null,n,"/"),o.default.createElement("input",{type:"text",value:a,placeholder:"docs/path/to/file.md",onChange:e=>{let{target:t}=e;return r(t.value)},style:{flexGrow:1},autoFocus:!0}))),i&&o.default.createElement("ul",{className:v.default.filepath_validation_list},!C(a)&&o.default.createElement("li",null,"You can only create markdown and mdx files, must end with `.mdx` or `.md`"),w(a)&&o.default.createElement("li",null,"File path contains disallowed symbols. You can use alphanumricals, dot, slash, hyphen and underscore."),E(a)&&o.default.createElement("li",null,"You cannot create files outside of website directory")),o.default.createElement(g.Button,{type:"submit",disabled:i,style:{display:"block",marginLeft:"auto"}},"Continue"))}function A(e){let{isOpen:t,onClose:n,kind:a,editUrl:r}=e;var i,s,u;const[g,f]=(0,o.useState)({type:a===R.DiffKind.modify?"restore-session-prompt":"input-new-page-path"}),y=k(),{repoRootToWebsiteRoot:x}=y,v=(0,o.useMemo)((()=>`pageRawContent-${(0,b.generateHash)(`${(0,m.getEphemeralDiffNumber)()}${r}`)}`),[r]),[C,w]=(0,o.useState)(null),E=(0,o.useMemo)((()=>(0,b.getFilePathRelativeToDocsFolder)(r,y.docsDir)),[r,y.docsDir]),A=(0,h.default)(`_src/${E}`),D=(0,o.useMemo)((()=>(0,c.createStorageSlot)(v)),[v]),L=(0,o.useCallback)((()=>{var e;f({type:"submitting"});const t=null==C?void 0:C.pageRawContent,n=(0,m.hasEphemeralDiffNumber)()?Number(null===(e=(0,m.getEphemeralDiffNumber)())||void 0===e?void 0:e.slice(1)):null;if(null==C)throw new Error("Attempting to submit a diff with null content, report to staticdocs oncall");const i=a===R.DiffKind.add?C.newFilePath:r?(0,b.getFilePathRelativeToRepoRoot)(r):null;if(!i){const e=`The provided url ${r} is invalid`;throw f({type:"failed",reason:e}),new Error(e)}if(null==t)throw f({type:"failed",reason:"The page's raw content cannot be null"}),new Error("The page's raw content cannot be null");m.inpageeditor.submitDiff({file_path:i,new_content:t,project_name:null,diff_number:n,diff_kind:a}).then((e=>{f({type:"success",url:e.xfb_static_docs_editor_create_diff.url,diffId:e.xfb_static_docs_editor_create_diff.number_with_prefix})})).catch((e=>{const t=`Error occurred while trying to create diff from editor. Stack trace ${e}`;throw f({type:"failed",reason:t}),new Error(t)}))}),[f,r,C,a]);(0,o.useEffect)((()=>{if(a===R.DiffKind.add)return;const e=D.get();try{w(e?JSON.parse(e):null)}catch(t){w(null)}}),[D,a]);const I=(0,o.useCallback)((e=>{if(e){const e=D.get();if(null==e)throw new Error("Cannot restore page raw content with no saved state in local storage");const t=JSON.parse(e);f({type:"editing"}),w({pageRawContent:t.pageRawContent,timestamp:t.timestamp,newFilePath:""})}else f({type:"loading-raw-content"}),fetch(A).then((e=>{if(!e.ok){const e="Failed to fetch page raw content from server.";throw f({type:"failed",reason:e}),new Error(e)}return e.text()})).then((e=>{w({pageRawContent:e,timestamp:Date.now().toString(),newFilePath:""}),f({type:"editing"})})).catch((e=>{f({type:"failed",reason:`Error occurred while trying fetch page raw content. Stack trace ${e}`})}))}),[f,A,D]);(0,o.useEffect)((()=>{if(a===R.DiffKind.add)return;null===D.get()?I(!1):f({type:"restore-session-prompt"})}),[]);const F=(0,o.useCallback)((e=>{D.set(JSON.stringify(e)),f({type:"editing"}),w({pageRawContent:e.pageRawContent,timestamp:e.timestamp,newFilePath:e.newFilePath})}),[f,D]),{colorMode:O}=(0,c.useColorMode)(),N=(0,o.useMemo)((()=>{let e="min(80vw, 1916px)";return"restore-session-prompt"!==g.type&&"loading-raw-content"!==g.type||(e="min(20, 360px)"),"input-new-page-path"===g.type&&(e="min(40, 520px)"),{content:{backgroundColor:"dark"===O?"black":"white",width:e,maxHeight:"calc(100% - 100px)",margin:"80px auto 10px",inset:"auto",overscrollBehavior:"contain"},overlay:{background:"rgba(0, 0, 0, .5)","overflow-y":"auto",display:"flex",alignItems:"flex-start",justifyContent:"center",zIndex:10}}}),[O,g.type]),B=null!==(i=null==C?void 0:C.timestamp)&&void 0!==i?i:null;return o.default.createElement(d.default,{ariaHideApp:!1,isOpen:t,shouldCloseOnOverlayClick:!1,shouldCloseOnEsc:!1,style:N},"restore-session-prompt"===g.type&&o.default.createElement(_,{onDecision:I,lastEditTimestamp:B}),"loading-raw-content"===g.type&&o.default.createElement("div",null,"Loading raw page content..."),"input-new-page-path"===g.type&&o.default.createElement(S,{repoRootToWebsiteRoot:x,onSubmit:e=>{w({timestamp:Date.now().toString(),pageRawContent:"",newFilePath:`${x}/${e}`}),f({type:"editing"})}}),"editing"===g.type&&o.default.createElement(p.SDocEditor,{pageRawContent:null!==(s=null==C?void 0:C.pageRawContent)&&void 0!==s?s:"",diffKind:a,newFilePath:null!==(u=null==C?void 0:C.newFilePath)&&void 0!==u?u:"",setPageRawContentVersion:F,onEditorSubmit:L,handleCloseEditor:n,isSubmitting:!1}),"submitting"===g.type&&o.default.createElement(T,{onClose:n},"Submitting changes..."),"success"===g.type&&o.default.createElement(T,{onClose:n},"Diff has been submitted"," ",o.default.createElement(l.default,{to:g.url},g.diffId)),"failed"===g.type&&o.default.createElement(T,{onClose:n},"Error: ",g.reason))}function T(e){let{children:t,onClose:n}=e;return o.default.createElement("div",null,o.default.createElement(g.Button,{onClick:n,style:{position:"absolute",padding:"2px 2px 1px",top:0,right:0}},o.default.createElement("img",{src:x.default,style:{height:"17px"}})),t)}t.EditorTrigger=function(e){let{position:t}=e;var n;const a=null===(n=(0,f.useDocMeta)())||void 0===n?void 0:n.metadata,[r,i]=(0,o.useState)({isOpen:!1,kind:R.DiffKind.modify}),s=k(),d=(0,o.useMemo)((()=>(null==a?void 0:a.editUrl)?(0,b.getFilePathRelativeToDocsFolder)(a.editUrl,s.docsDir):null),[a,s.docsDir]);if(null==a)return null;const{editUrl:l}=a;if("before-post"===t&&"top"!==s.opts.enableEditor)return null;if("after-post"===t&&![!0,"bottom"].includes(s.opts.enableEditor))return null;if(!(l||a.lastUpdatedAt||a.lastUpdatedBy))return null;s.repoRootToWebsiteRoot;const c="undefined"!=typeof window&&"1"===new URLSearchParams(window.location.search).get("enableEditor");return l&&d&&(c||(0,y.isInternal)()&&true)?o.default.createElement("div",{className:"margin-vert--"+("after-post"===t?"xl":"xs"),id:"editor-trigger"},o.default.createElement(g.Button,{onClick:()=>i({isOpen:!0,kind:R.DiffKind.modify}),style:{marginRight:8}},"Edit this page"),o.default.createElement(g.Button,{onClick:()=>i({isOpen:!0,kind:R.DiffKind.add})},"Add new page"),r.isOpen?o.default.createElement(A,{isOpen:!0,kind:r.kind,onClose:()=>{i({isOpen:!1,kind:R.DiffKind.modify})},editUrl:l}):null):null},t.ClosableDiv=T},47181:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKdJREFUeNrslQEKgDAIRefooO0GO0o3WFfqRNZAotbcNLAIGkjUPr7U6TwiOkvzznh9HzCUHwAgPyK9TkI/uz7n/bTKopAYyZLAeTroo7bIYweSSMOvSgTlX3GRVDUXfwygB2H3NADOUTM6LaAGaabuDoCDJElNzRvt9RSZFtn0mJo2WpScFgainkXzZqGxH0gjH9fFiJaM6wxZOD00muu/Mp8BrAIMAE/aslxTtku5AAAAAElFTkSuQmCC"},6434:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return r(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SDocEditor=void 0;const o=i(n(67294)),d=s(n(39960)),l=s(n(95999)),c=s(n(44996)),u=s(n(74866)),h=s(n(85162)),g=n(2497),p=n(3905),f=s(n(75854)),m=n(19445),R=n(60555),y=n(77437),b=s(n(1925)),x=e=>({...f.default,MDXProvider:p.MDXProvider,Link:d.default,Translate:l.default,Tabs:u.default,TabItem:h.default,__unknownComponent:t=>function(n){const a=t in e,r=o.default.useMemo((()=>Object.keys(n).reduce(((e,t)=>("children"!==t&&(e[t]=n[t]),e)),{})),[n]);return o.default.createElement("div",{className:b.default.unknown_component},a&&o.default.createElement("p",null,"Live preview does not support imported components"),o.default.createElement("p",{style:{marginBottom:4}},a?"Imported":"Unknown"," component"," ",o.default.createElement("b",null,o.default.createElement("code",null,t))," ","with props ",o.default.createElement("code",null,(e=>{try{return JSON.stringify(e)}catch(t){return console.warn("Could not stringify props for UnknownComponent",e),"Could not stringify"}})(r))),!a&&o.default.createElement("details",null,o.default.createElement("summary",null,"Why did it not render?"),"Editor cannot render it due to the component being custom or nondefined"),n.children?o.default.createElement("div",{className:b.default.unknown_component_children},n.children):null)}});function v(e){let{onCancel:t,isSubmitDisabled:n,diffKind:a,filename:r}=e;return o.default.createElement("div",{className:b.default.editor_header},o.default.createElement("span",null,o.default.createElement("h2",{style:{margin:0}},"Staticdocs editor"),a===m.DiffKind.add?`Add content for a new file ${r}`:`Edit existing ${r}`),o.default.createElement("div",{className:b.default.cta_wrapper},o.default.createElement(R.Button,{onClick:t},"Cancel"),o.default.createElement(R.Button,{type:"submit",disabled:n},"Publish Diff")))}function _(){return o.default.createElement("div",{className:b.default.show_info},o.default.createElement("h3",null,"Note"),o.default.createElement("p",null,"The Live preview fails to render. ",o.default.createElement("br",null),"This might be because we currently do not have support for the operation being performed on the page e.g code-snippets. Please ignore this"," ",o.default.createElement("b",null,"if you are sure")," it is the case and continue with the editor."," ",o.default.createElement("b",null,"Happy Editing!")))}t.SDocEditor=function(e){let{onEditorSubmit:t,handleCloseEditor:n,pageRawContent:a,setPageRawContentVersion:r,isSubmitting:i,diffKind:s,newFilePath:d}=e;const[l,u]=(0,o.useState)(!1),[h,f]=(0,o.useState)({}),m=o.default.useMemo((()=>x(h)),[h]),R=(0,o.useCallback)((e=>{e.preventDefault(),t()}),[t]),k=(0,o.useCallback)((e=>{const t=(0,y.mdxToReactString)(e);if(null===t.code)return u(!0),"";u(!1);return Object.keys(h).join(",")!==Object.keys(t.importedComponents).join(",")&&f(t.importedComponents),`\n ${t.code}\n render(\n <MDXProvider components={components}>\n <MDXContent components={components} />\n </MDXProvider>\n )\n `}),[u,h]),C=(0,o.useCallback)((e=>{r({pageRawContent:e,timestamp:Date.now().toString(),diffKind:s,newFilePath:d})}),[r,s,d]);if(null===a)return null;const w=d.split("/").pop();if(void 0===w)throw new Error(`Could not extract filename from "${d}"`);return o.default.createElement(g.LiveProvider,{code:a,noInline:!0,scope:{components:m,MDXProvider:p.MDXProvider,mdx:p.mdx,useBaseUrl:c.default},transformCode:k},o.default.createElement("form",{onSubmit:R,className:b.default.editor},o.default.createElement(v,{isSubmitDisabled:i,onCancel:n,diffKind:s,filename:w}),o.default.createElement("div",{className:b.default.editor_input},o.default.createElement(g.LiveEditor,{className:b.default.live_editor,onChange:C})),o.default.createElement("div",{className:b.default.editor_preview},l?o.default.createElement(_,null):o.default.createElement(g.LivePreview,{className:b.default.live_preview}),o.default.createElement(g.LiveError,{className:b.default.live_error}))))}},62466:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=a(n(67294)),i=a(n(93454)),s=n(32471);t.default=function(e){return r.default.createElement(s.DocMetaProvider,{value:{frontMatter:e.content.frontMatter,metadata:e.content.metadata}},r.default.createElement(i.default,{...e}))}},78641:(e,t)=>{"use strict";function n(e){const t=new URL(e).pathname;let n;if(t.startsWith("/intern/diffusion/"))n=6;else{if(!t.startsWith("/code/"))return console.warn(`Unexpected editUrl format for in-page editor: ${e}`),null;n=3}const a=t.split("/");if(a.length<=n||""==a[a.length-1])return null;return t.split("/").slice(n).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),t.generateHash=t.getFilePathRelativeToDocsFolder=t.getFilePathRelativeToRepoRoot=void 0,t.getFilePathRelativeToRepoRoot=n,t.getFilePathRelativeToDocsFolder=function(e,t){const a=n(e);if(!a)return null;const r=t.split("/");for(let n=0;n<r.length;n++){const e=r.slice(n).join("/");if(a.startsWith(e))return a.slice(e.length+1)}return null},t.generateHash=function(e){let t,n,a=0;if(0===e.length)return a.toString();for(t=0;t<e.length;t++)n=e.charCodeAt(t),a=(a<<5)-a+n,a|=0;return a.toString()}},84946:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.internLinks=void 0;const s=i(n(62854)),o=s,d=s.default||o.default;function l(e,t){return{type:"text",value:e,position:{start:t,end:t}}}t.internLinks=function(){return function(e){d(e,"paragraph",(e=>{e.children=e.children.reduce(((e,t)=>{if("text"!==t.type)return e.push(t),e;const n=/((D|T|P|S|L|EX)\d+)(.)?/;if(!("value"in t))throw new Error('remark text node is missing "value" field');let a=t.value;if("string"!=typeof a)throw new Error('remark text node is missing "value" field');let r=a.match(n);for(r||e.push(t);r;){const[d,c,u,h]=r,g=r.index;if(null==g)break;"number"==typeof g&&g>0&&e.push(l(a.slice(0,r.index),t.position));h&&h.match(/\w/)?e.push(l(c,t.position)):e.push((i=c,s=`https://internalfb.com/${c}`,o=t.pos,{type:"link",url:s,children:[l(i,o)],position:{start:o,end:o}})),a=a.slice(g+r[1].length),r=a.match(n),a&&!r&&e.push(l(a,t.position))}var i,s,o;return e}),[])}))}}},77437:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.mdxToReactString=void 0;const r=a(n(84707)),i=n(9382),s=n(80865),o=n(24284),d=n(84946),l=new Map,c=()=>e=>(0,i.remove)(e,(e=>{var t,n,a;return"mdxjsEsm"===e.type&&(null===(a=null===(n=null===(t=e.data)||void 0===t?void 0:t.estree)||void 0===n?void 0:n.body)||void 0===a||a.forEach((e=>{"ImportDeclaration"===e.type&&e.specifiers.forEach((t=>{l.set(t.local.name,e.source.value)}))})),!0)})),u=new Set(["/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/",'import React from "react";',"export default MDXContent;"]);t.mdxToReactString=function(e){const t=/^---(.|\n)*?---/;try{return{code:(0,s.compileSync)(e.replace(t,"").split("\n").map((e=>{const t=e.trim().match(/^<!--(.*)-->$/);return t?`{/*${t[1]}*/}`:e})).join("\n"),{remarkPlugins:[[o.remarkMermaid,{version:"v2"}],[d.internLinks,{}],r.default,c],format:"mdx",jsxRuntime:"classic",outputFormat:"program"}).value.toString().replace("const _components =","let _components =").split("\n").filter((e=>!u.has(e))).map((e=>{const t=e.match(/if \(!(.+)\) _missingMdxReference/);if(null===t)return e;const n=t[1];return` if (!${n}) ${n} = _components.__unknownComponent("${n}");`})).join("\n"),importedComponents:Object.fromEntries([...l])}}catch(n){return console.warn("Transpiler error",n),{code:null,importedComponents:{}}}finally{l.clear()}}},24284:(e,t)=>{"use strict";function n(e){return"code"===e.type&&"mermaid"===e.lang}function a(e){e.children=e.children.map((e=>{if(n(e)){return{type:"jsx",value:["<Mermaid chart={`",e.value,"`} />"].join("\n"),position:{...e.position,indent:[1,1,1]}}}return e}))}function r(e){e.children=e.children.map((e=>{if(n(e)){const t={start:{line:e.position.start.line,column:e.position.start.column},end:{line:e.position.end.line,column:e.position.end.column}},n=e.position.start.offset,a=e.position.end.offset,r=[n,a];return{type:"mdxJsxFlowElement",name:"Mermaid",data:{_xdmExplicitJsx:!0},children:[],meta:null,attributes:[{type:"mdxJsxAttribute",name:"chart",value:{type:"mdxJsxAttributeValueExpression",value:["`\n",e.value,"`"].join("\n"),data:{estree:{body:[{type:"ExpressionStatement",start:n,range:r,loc:t,expression:{loc:t,range:r,start:n,end:a,type:"Literal",value:e.value,raw:["`\n",e.value,"`"].join("\n")}}],comments:[],end:a,loc:t,range:r,sourceType:"module",start:n,type:"Program"}}},position:e.position}]}}return e}))}Object.defineProperty(t,"__esModule",{value:!0}),t.remarkMermaid=void 0,t.remarkMermaid=function(e){return"v1"===(null==e?void 0:e.version)?a:r}},32471:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.useDocMeta=t.DocMetaProvider=void 0;const s=i(n(67294)),o=s.default.createContext(null);t.DocMetaProvider=o.Provider;t.useDocMeta=()=>(0,s.useContext)(o)},86121:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=a(n(67294)),i=a(n(46215)),s=n(81173),o=a(n(56262)),d=n(86341),l=e=>{let{url:t}=e;return r.default.createElement("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:s.ThemeClassNames.common.editThisPage},r.default.createElement(o.default,null),"View in CodeHub")};t.default=function(e){return(0,d.isInternal)()?r.default.createElement(l,{url:e.editUrl}):r.default.createElement(i.default,{...e})}},5307:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAPFJREFUOBGtkD8OAVEQxpcQR+ACSolTKGyh0KtQECdwBFdwA+fQoBGlzhVI/CnwG7vz8t6zj5X4km9n5vtmZmc3iv6ImF0reIWPAMWTHul1IEJoKKQ7S9beghP1ENZSDohHaC+TSwz8syc4JdhPWSaOob1AZgxsQ/I67ELVW+QNq1YdKYEKfrxjT2ERylW+j5TAN7Sepf6IeIGqa4wKaYMIWVggnmEvy0TT+ehGoVvt2EaPA97rJ8q3CXZJ+Om5tbs7FPLD7Ld/y+UyB7JkAz8Nytlr+DaMZmAvOKA2jZMz0QVL+qs5Z5y2PdUcVhw1UDwBK0d9heZjHrYAAAAASUVORK5CYII="},93930:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return r(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FeedbackButton=void 0;const o=i(n(67294)),d=n(86341),l=s(n(84373)),c=s(n(5307)),u=s(n(91296));t.FeedbackButton=()=>{const[e,t]=(0,o.useState)(!1),[n,a]=(0,o.useState)(""),[r,i]=(0,o.useState)(!1),[s,h]=(0,o.useState)(0),[g,p]=(0,o.useState)(0);(0,o.useEffect)((()=>(document.addEventListener("mouseup",f),function(){document.removeEventListener("mouseup",f)}))),(0,o.useEffect)((()=>{let e=!0;return d.checkGKs.gk("sdocs_inline_feedback").then((t=>{e&&i(t)})),()=>{e=!1}}),[]);const f=(0,u.default)((0,o.useCallback)((e=>{var i;if(""!==(null===(i=document.getSelection())||void 0===i?void 0:i.toString())&&r){const r=document.getSelection();if(r&&r.toString()!=n){e&&e.preventDefault();const n=r.getRangeAt(0).getBoundingClientRect(),i=void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;h(n.top-40+i),p(n.left+n.width/2-40),a(r.toString()),t(!0)}}else t(!1),p(0),h(0)}),[r,n]),200);return o.default.createElement(o.default.Fragment,null,e&&o.default.createElement("button",{onClick:()=>{var e;null!==n&&""!==n&&(null===(e=window.getSelection())||void 0===e||e.removeAllRanges(),d.feedback.reportContentSelected({textContent:n}))},className:l.default.FeedbackButton,style:{position:"absolute",top:s,left:g}},o.default.createElement("img",{src:c.default,className:l.default.FeedbackIcon}),"Feedback"))}},75854:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=a(n(42752)),i=n(86341),s=a(n(92969)),o={...r.default,FbInternalOnly:i.FbInternalOnly,FBInternalOnly:i.FbInternalOnly,OssOnly:i.OssOnly,OSSOnly:i.OssOnly,Mermaid:s.default};t.default=o},51788:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=a(n(67294)),i=a(n(45042)),s=n(92705),o=n(93930);t.default=function(e){return r.default.createElement(r.default.Fragment,null,r.default.createElement(s.EditorTrigger,{position:"before-post"}),r.default.createElement(i.default,{...e}),r.default.createElement(o.FeedbackButton,null),r.default.createElement(s.EditorTrigger,{position:"after-post"}))}},92969:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return r(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(n(67294)),d=s(n(33231));d.default.initialize({startOnLoad:!0});t.default=e=>{let{chart:t}=e;return(0,o.useEffect)((()=>d.default.contentLoaded()),[]),o.default.createElement("div",{className:"mermaid"},t)}},76907:(e,t,n)=>{var a=n(4977);e.exports=a},9116:(e,t,n)=>{n(19601);var a=n(40857);e.exports=a.Object.assign},77671:(e,t,n)=>{e.exports=n(47537)},47537:(e,t,n)=>{var a=n(76907);e.exports=a},19662:(e,t,n)=>{var a=n(60614),r=n(66330),i=TypeError;e.exports=function(e){if(a(e))return e;throw i(r(e)+" is not a function")}},19670:(e,t,n)=>{var a=n(70111),r=String,i=TypeError;e.exports=function(e){if(a(e))return e;throw i(r(e)+" is not an object")}},41318:(e,t,n)=>{var a=n(45656),r=n(51400),i=n(26244),s=function(e){return function(t,n,s){var o,d=a(t),l=i(d),c=r(s,l);if(e&&n!=n){for(;l>c;)if((o=d[c++])!=o)return!0}else for(;l>c;c++)if((e||c in d)&&d[c]===n)return e||c||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},84326:(e,t,n)=>{var a=n(1702),r=a({}.toString),i=a("".slice);e.exports=function(e){return i(r(e),8,-1)}},99920:(e,t,n)=>{var a=n(92597),r=n(53887),i=n(31236),s=n(3070);e.exports=function(e,t,n){for(var o=r(t),d=s.f,l=i.f,c=0;c<o.length;c++){var u=o[c];a(e,u)||n&&a(n,u)||d(e,u,l(t,u))}}},68880:(e,t,n)=>{var a=n(19781),r=n(3070),i=n(79114);e.exports=a?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},79114:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},98052:(e,t,n)=>{var a=n(60614),r=n(3070),i=n(56339),s=n(13072);e.exports=function(e,t,n,o){o||(o={});var d=o.enumerable,l=void 0!==o.name?o.name:t;if(a(n)&&i(n,l,o),o.global)d?e[t]=n:s(t,n);else{try{o.unsafe?e[t]&&(d=!0):delete e[t]}catch(c){}d?e[t]=n:r.f(e,t,{value:n,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return e}},13072:(e,t,n)=>{var a=n(17854),r=Object.defineProperty;e.exports=function(e,t){try{r(a,e,{value:t,configurable:!0,writable:!0})}catch(n){a[e]=t}return t}},19781:(e,t,n)=>{var a=n(47293);e.exports=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},4154:e=>{var t="object"==typeof document&&document.all,n=void 0===t&&void 0!==t;e.exports={all:t,IS_HTMLDDA:n}},80317:(e,t,n)=>{var a=n(17854),r=n(70111),i=a.document,s=r(i)&&r(i.createElement);e.exports=function(e){return s?i.createElement(e):{}}},88113:(e,t,n)=>{var a=n(35005);e.exports=a("navigator","userAgent")||""},7392:(e,t,n)=>{var a,r,i=n(17854),s=n(88113),o=i.process,d=i.Deno,l=o&&o.versions||d&&d.version,c=l&&l.v8;c&&(r=(a=c.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1])),!r&&s&&(!(a=s.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=s.match(/Chrome\/(\d+)/))&&(r=+a[1]),e.exports=r},80748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},82109:(e,t,n)=>{var a=n(17854),r=n(31236).f,i=n(68880),s=n(98052),o=n(13072),d=n(99920),l=n(54705);e.exports=function(e,t){var n,c,u,h,g,p=e.target,f=e.global,m=e.stat;if(n=f?a:m?a[p]||o(p,{}):(a[p]||{}).prototype)for(c in t){if(h=t[c],u=e.dontCallGetSet?(g=r(n,c))&&g.value:n[c],!l(f?c:p+(m?".":"#")+c,e.forced)&&void 0!==u){if(typeof h==typeof u)continue;d(h,u)}(e.sham||u&&u.sham)&&i(h,"sham",!0),s(n,c,h,e)}}},47293:e=>{e.exports=function(e){try{return!!e()}catch(t){return!0}}},34374:(e,t,n)=>{var a=n(47293);e.exports=!a((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},46916:(e,t,n)=>{var a=n(34374),r=Function.prototype.call;e.exports=a?r.bind(r):function(){return r.apply(r,arguments)}},76530:(e,t,n)=>{var a=n(19781),r=n(92597),i=Function.prototype,s=a&&Object.getOwnPropertyDescriptor,o=r(i,"name"),d=o&&"something"===function(){}.name,l=o&&(!a||a&&s(i,"name").configurable);e.exports={EXISTS:o,PROPER:d,CONFIGURABLE:l}},1702:(e,t,n)=>{var a=n(34374),r=Function.prototype,i=r.call,s=a&&r.bind.bind(i,i);e.exports=a?s:function(e){return function(){return i.apply(e,arguments)}}},35005:(e,t,n)=>{var a=n(17854),r=n(60614),i=function(e){return r(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?i(a[e]):a[e]&&a[e][t]}},58173:(e,t,n)=>{var a=n(19662),r=n(68554);e.exports=function(e,t){var n=e[t];return r(n)?void 0:a(n)}},17854:(e,t,n)=>{var a=function(e){return e&&e.Math==Math&&e};e.exports=a("object"==typeof globalThis&&globalThis)||a("object"==typeof window&&window)||a("object"==typeof self&&self)||a("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},92597:(e,t,n)=>{var a=n(1702),r=n(47908),i=a({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(r(e),t)}},3501:e=>{e.exports={}},64664:(e,t,n)=>{var a=n(19781),r=n(47293),i=n(80317);e.exports=!a&&!r((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},68361:(e,t,n)=>{var a=n(1702),r=n(47293),i=n(84326),s=Object,o=a("".split);e.exports=r((function(){return!s("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?o(e,""):s(e)}:s},42788:(e,t,n)=>{var a=n(1702),r=n(60614),i=n(5465),s=a(Function.toString);r(i.inspectSource)||(i.inspectSource=function(e){return s(e)}),e.exports=i.inspectSource},29909:(e,t,n)=>{var a,r,i,s=n(94811),o=n(17854),d=n(70111),l=n(68880),c=n(92597),u=n(5465),h=n(6200),g=n(3501),p="Object already initialized",f=o.TypeError,m=o.WeakMap;if(s||u.state){var R=u.state||(u.state=new m);R.get=R.get,R.has=R.has,R.set=R.set,a=function(e,t){if(R.has(e))throw f(p);return t.facade=e,R.set(e,t),t},r=function(e){return R.get(e)||{}},i=function(e){return R.has(e)}}else{var y=h("state");g[y]=!0,a=function(e,t){if(c(e,y))throw f(p);return t.facade=e,l(e,y,t),t},r=function(e){return c(e,y)?e[y]:{}},i=function(e){return c(e,y)}}e.exports={set:a,get:r,has:i,enforce:function(e){return i(e)?r(e):a(e,{})},getterFor:function(e){return function(t){var n;if(!d(t)||(n=r(t)).type!==e)throw f("Incompatible receiver, "+e+" required");return n}}}},60614:(e,t,n)=>{var a=n(4154),r=a.all;e.exports=a.IS_HTMLDDA?function(e){return"function"==typeof e||e===r}:function(e){return"function"==typeof e}},54705:(e,t,n)=>{var a=n(47293),r=n(60614),i=/#|\.prototype\./,s=function(e,t){var n=d[o(e)];return n==c||n!=l&&(r(t)?a(t):!!t)},o=s.normalize=function(e){return String(e).replace(i,".").toLowerCase()},d=s.data={},l=s.NATIVE="N",c=s.POLYFILL="P";e.exports=s},68554:e=>{e.exports=function(e){return null==e}},70111:(e,t,n)=>{var a=n(60614),r=n(4154),i=r.all;e.exports=r.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:a(e)||e===i}:function(e){return"object"==typeof e?null!==e:a(e)}},31913:e=>{e.exports=!1},52190:(e,t,n)=>{var a=n(35005),r=n(60614),i=n(47976),s=n(43307),o=Object;e.exports=s?function(e){return"symbol"==typeof e}:function(e){var t=a("Symbol");return r(t)&&i(t.prototype,o(e))}},26244:(e,t,n)=>{var a=n(17466);e.exports=function(e){return a(e.length)}},56339:(e,t,n)=>{var a=n(47293),r=n(60614),i=n(92597),s=n(19781),o=n(76530).CONFIGURABLE,d=n(42788),l=n(29909),c=l.enforce,u=l.get,h=Object.defineProperty,g=s&&!a((function(){return 8!==h((function(){}),"length",{value:8}).length})),p=String(String).split("String"),f=e.exports=function(e,t,n){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!i(e,"name")||o&&e.name!==t)&&(s?h(e,"name",{value:t,configurable:!0}):e.name=t),g&&n&&i(n,"arity")&&e.length!==n.arity&&h(e,"length",{value:n.arity});try{n&&i(n,"constructor")&&n.constructor?s&&h(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(r){}var a=c(e);return i(a,"source")||(a.source=p.join("string"==typeof t?t:"")),e};Function.prototype.toString=f((function(){return r(this)&&u(this).source||d(this)}),"toString")},74758:e=>{var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function(e){var a=+e;return(a>0?n:t)(a)}},21574:(e,t,n)=>{"use strict";var a=n(19781),r=n(1702),i=n(46916),s=n(47293),o=n(81956),d=n(25181),l=n(55296),c=n(47908),u=n(68361),h=Object.assign,g=Object.defineProperty,p=r([].concat);e.exports=!h||s((function(){if(a&&1!==h({b:1},h(g({},"a",{enumerable:!0,get:function(){g(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach((function(e){t[e]=e})),7!=h({},e)[n]||o(h({},t)).join("")!=r}))?function(e,t){for(var n=c(e),r=arguments.length,s=1,h=d.f,g=l.f;r>s;)for(var f,m=u(arguments[s++]),R=h?p(o(m),h(m)):o(m),y=R.length,b=0;y>b;)f=R[b++],a&&!i(g,m,f)||(n[f]=m[f]);return n}:h},3070:(e,t,n)=>{var a=n(19781),r=n(64664),i=n(3353),s=n(19670),o=n(34948),d=TypeError,l=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u="enumerable",h="configurable",g="writable";t.f=a?i?function(e,t,n){if(s(e),t=o(t),s(n),"function"==typeof e&&"prototype"===t&&"value"in n&&g in n&&!n[g]){var a=c(e,t);a&&a[g]&&(e[t]=n.value,n={configurable:h in n?n[h]:a[h],enumerable:u in n?n[u]:a[u],writable:!1})}return l(e,t,n)}:l:function(e,t,n){if(s(e),t=o(t),s(n),r)try{return l(e,t,n)}catch(a){}if("get"in n||"set"in n)throw d("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},31236:(e,t,n)=>{var a=n(19781),r=n(46916),i=n(55296),s=n(79114),o=n(45656),d=n(34948),l=n(92597),c=n(64664),u=Object.getOwnPropertyDescriptor;t.f=a?u:function(e,t){if(e=o(e),t=d(t),c)try{return u(e,t)}catch(n){}if(l(e,t))return s(!r(i.f,e,t),e[t])}},8006:(e,t,n)=>{var a=n(16324),r=n(80748).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return a(e,r)}},25181:(e,t)=>{t.f=Object.getOwnPropertySymbols},47976:(e,t,n)=>{var a=n(1702);e.exports=a({}.isPrototypeOf)},16324:(e,t,n)=>{var a=n(1702),r=n(92597),i=n(45656),s=n(41318).indexOf,o=n(3501),d=a([].push);e.exports=function(e,t){var n,a=i(e),l=0,c=[];for(n in a)!r(o,n)&&r(a,n)&&d(c,n);for(;t.length>l;)r(a,n=t[l++])&&(~s(c,n)||d(c,n));return c}},81956:(e,t,n)=>{var a=n(16324),r=n(80748);e.exports=Object.keys||function(e){return a(e,r)}},55296:(e,t)=>{"use strict";var n={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,r=a&&!n.call({1:2},1);t.f=r?function(e){var t=a(this,e);return!!t&&t.enumerable}:n},92140:(e,t,n)=>{var a=n(46916),r=n(60614),i=n(70111),s=TypeError;e.exports=function(e,t){var n,o;if("string"===t&&r(n=e.toString)&&!i(o=a(n,e)))return o;if(r(n=e.valueOf)&&!i(o=a(n,e)))return o;if("string"!==t&&r(n=e.toString)&&!i(o=a(n,e)))return o;throw s("Can't convert object to primitive value")}},53887:(e,t,n)=>{var a=n(35005),r=n(1702),i=n(8006),s=n(25181),o=n(19670),d=r([].concat);e.exports=a("Reflect","ownKeys")||function(e){var t=i.f(o(e)),n=s.f;return n?d(t,n(e)):t}},40857:(e,t,n)=>{var a=n(17854);e.exports=a},84488:(e,t,n)=>{var a=n(68554),r=TypeError;e.exports=function(e){if(a(e))throw r("Can't call method on "+e);return e}},6200:(e,t,n)=>{var a=n(72309),r=n(69711),i=a("keys");e.exports=function(e){return i[e]||(i[e]=r(e))}},5465:(e,t,n)=>{var a=n(17854),r=n(13072),i="__core-js_shared__",s=a[i]||r(i,{});e.exports=s},72309:(e,t,n)=>{var a=n(31913),r=n(5465);(e.exports=function(e,t){return r[e]||(r[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.27.1",mode:a?"pure":"global",copyright:"\xa9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.27.1/LICENSE",source:"https://github.com/zloirock/core-js"})},36293:(e,t,n)=>{var a=n(7392),r=n(47293);e.exports=!!Object.getOwnPropertySymbols&&!r((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},51400:(e,t,n)=>{var a=n(19303),r=Math.max,i=Math.min;e.exports=function(e,t){var n=a(e);return n<0?r(n+t,0):i(n,t)}},45656:(e,t,n)=>{var a=n(68361),r=n(84488);e.exports=function(e){return a(r(e))}},19303:(e,t,n)=>{var a=n(74758);e.exports=function(e){var t=+e;return t!=t||0===t?0:a(t)}},17466:(e,t,n)=>{var a=n(19303),r=Math.min;e.exports=function(e){return e>0?r(a(e),9007199254740991):0}},47908:(e,t,n)=>{var a=n(84488),r=Object;e.exports=function(e){return r(a(e))}},57593:(e,t,n)=>{var a=n(46916),r=n(70111),i=n(52190),s=n(58173),o=n(92140),d=n(5112),l=TypeError,c=d("toPrimitive");e.exports=function(e,t){if(!r(e)||i(e))return e;var n,d=s(e,c);if(d){if(void 0===t&&(t="default"),n=a(d,e,t),!r(n)||i(n))return n;throw l("Can't convert object to primitive value")}return void 0===t&&(t="number"),o(e,t)}},34948:(e,t,n)=>{var a=n(57593),r=n(52190);e.exports=function(e){var t=a(e,"string");return r(t)?t:t+""}},66330:e=>{var t=String;e.exports=function(e){try{return t(e)}catch(n){return"Object"}}},69711:(e,t,n)=>{var a=n(1702),r=0,i=Math.random(),s=a(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++r+i,36)}},43307:(e,t,n)=>{var a=n(36293);e.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:(e,t,n)=>{var a=n(19781),r=n(47293);e.exports=a&&r((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},94811:(e,t,n)=>{var a=n(17854),r=n(60614),i=a.WeakMap;e.exports=r(i)&&/native code/.test(String(i))},5112:(e,t,n)=>{var a=n(17854),r=n(72309),i=n(92597),s=n(69711),o=n(36293),d=n(43307),l=r("wks"),c=a.Symbol,u=c&&c.for,h=d?c:c&&c.withoutSetter||s;e.exports=function(e){if(!i(l,e)||!o&&"string"!=typeof l[e]){var t="Symbol."+e;o&&i(c,e)?l[e]=c[e]:l[e]=d&&u?u(t):h(t)}return l[e]}},19601:(e,t,n)=>{var a=n(82109),r=n(21574);a({target:"Object",stat:!0,arity:2,forced:Object.assign!==r},{assign:r})},4977:(e,t,n)=>{var a=n(9116);e.exports=a},58875:(e,t,n)=>{var a;!function(){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen};void 0===(a=function(){return i}.call(t,n,t,e))||(e.exports=a)}()},94470:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,a=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},s=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var a,r=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!i)return!1;for(a in e);return void 0===a||t.call(e,a)},o=function(e,t){a&&"__proto__"===t.name?a(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},d=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(r)return r(e,n).value}return e[n]};e.exports=function e(){var t,n,a,r,l,c,u=arguments[0],h=1,g=arguments.length,p=!1;for("boolean"==typeof u&&(p=u,u=arguments[1]||{},h=2),(null==u||"object"!=typeof u&&"function"!=typeof u)&&(u={});h<g;++h)if(null!=(t=arguments[h]))for(n in t)a=d(u,n),u!==(r=d(t,n))&&(p&&r&&(s(r)||(l=i(r)))?(l?(l=!1,c=a&&i(a)?a:[]):c=a&&s(a)?a:{},o(u,{name:n,newValue:e(p,c,r)})):void 0!==r&&o(u,{name:n,newValue:r}));return u}},18139:e=>{var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,a=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,o=/^[;\s]*/,d=/^\s+|\s+$/g,l="";function c(e){return e?e.replace(d,l):l}e.exports=function(e,d){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(!e)return[];d=d||{};var u=1,h=1;function g(e){var t=e.match(n);t&&(u+=t.length);var a=e.lastIndexOf("\n");h=~a?e.length-a:h+e.length}function p(){var e={line:u,column:h};return function(t){return t.position=new f(e),b(),t}}function f(e){this.start=e,this.end={line:u,column:h},this.source=d.source}f.prototype.content=e;var m=[];function R(t){var n=new Error(d.source+":"+u+":"+h+": "+t);if(n.reason=t,n.filename=d.source,n.line=u,n.column=h,n.source=e,!d.silent)throw n;m.push(n)}function y(t){var n=t.exec(e);if(n){var a=n[0];return g(a),e=e.slice(a.length),n}}function b(){y(a)}function x(e){var t;for(e=e||[];t=v();)!1!==t&&e.push(t);return e}function v(){var t=p();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var n=2;l!=e.charAt(n)&&("*"!=e.charAt(n)||"/"!=e.charAt(n+1));)++n;if(n+=2,l===e.charAt(n-1))return R("End of comment missing");var a=e.slice(2,n-2);return h+=2,g(a),e=e.slice(n),h+=2,t({type:"comment",comment:a})}}function _(){var e=p(),n=y(r);if(n){if(v(),!y(i))return R("property missing ':'");var a=y(s),d=e({type:"declaration",property:c(n[0].replace(t,l)),value:a?c(a[0].replace(t,l)):l});return y(o),d}}return b(),function(){var e,t=[];for(x(t);e=_();)!1!==e&&(t.push(e),x(t));return t}()}},48738:e=>{e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},91296:(e,t,n)=>{var a=/^\s+|\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,s=/^0o[0-7]+$/i,o=parseInt,d="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,l="object"==typeof self&&self&&self.Object===Object&&self,c=d||l||Function("return this")(),u=Object.prototype.toString,h=Math.max,g=Math.min,p=function(){return c.Date.now()};function f(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function m(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==u.call(e)}(e))return NaN;if(f(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=f(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(a,"");var n=i.test(e);return n||s.test(e)?o(e.slice(2),n?2:8):r.test(e)?NaN:+e}e.exports=function(e,t,n){var a,r,i,s,o,d,l=0,c=!1,u=!1,R=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var n=a,i=r;return a=r=void 0,l=t,s=e.apply(i,n)}function b(e){return l=e,o=setTimeout(v,t),c?y(e):s}function x(e){var n=e-d;return void 0===d||n>=t||n<0||u&&e-l>=i}function v(){var e=p();if(x(e))return _(e);o=setTimeout(v,function(e){var n=t-(e-d);return u?g(n,i-(e-l)):n}(e))}function _(e){return o=void 0,R&&a?y(e):(a=r=void 0,s)}function k(){var e=p(),n=x(e);if(a=arguments,r=this,d=e,n){if(void 0===o)return b(d);if(u)return o=setTimeout(v,t),y(d)}return void 0===o&&(o=setTimeout(v,t)),s}return t=m(t)||0,f(n)&&(c=!!n.leading,i=(u="maxWait"in n)?h(m(n.maxWait)||0,t):i,R="trailing"in n?!!n.trailing:R),k.cancel=function(){void 0!==o&&clearTimeout(o),l=0,a=d=r=o=void 0},k.flush=function(){return void 0===o?s:_(p())},k}},26024:(e,t,n)=>{"use strict";e.exports=n(68914)},33231:function(e,t,n){(e=n.nmd(e)).exports=function(){"use strict";var a=Object.defineProperty,r=(e,t,n)=>t in e?a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,i=(e,t,n)=>(r(e,"symbol"!=typeof t?t+"":t,n),n);function s(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof n.g<"u"?n.g:typeof self<"u"&&self;var o,d,l={exports:{}};d=function(){var e;function t(){return e.apply(null,arguments)}function n(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function a(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function i(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var t in e)if(r(e,t))return;return 1}function d(e){return void 0===e}function l(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function c(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function u(e,t){for(var n=[],a=e.length,r=0;r<a;++r)n.push(t(e[r],r));return n}function h(e,t){for(var n in t)r(t,n)&&(e[n]=t[n]);return r(t,"toString")&&(e.toString=t.toString),r(t,"valueOf")&&(e.valueOf=t.valueOf),e}function g(e,t,n,a){return Dt(e,t,n,a,!0).utc()}function p(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function f(e){if(null==e._isValid){var t=p(e),n=R.call(t.parsedDateParts,(function(e){return null!=e}));if(n=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n),e._strict&&(n=n&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return n;e._isValid=n}return e._isValid}function m(e){var t=g(NaN);return null!=e?h(p(t),e):p(t).userInvalidated=!0,t}var R=Array.prototype.some||function(e){for(var t=Object(this),n=t.length>>>0,a=0;a<n;a++)if(a in t&&e.call(this,t[a],a,t))return!0;return!1},y=t.momentProperties=[],b=!1;function x(e,t){var n,a,r,i=y.length;if(d(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),d(t._i)||(e._i=t._i),d(t._f)||(e._f=t._f),d(t._l)||(e._l=t._l),d(t._strict)||(e._strict=t._strict),d(t._tzm)||(e._tzm=t._tzm),d(t._isUTC)||(e._isUTC=t._isUTC),d(t._offset)||(e._offset=t._offset),d(t._pf)||(e._pf=p(t)),d(t._locale)||(e._locale=t._locale),0<i)for(n=0;n<i;n++)d(r=t[a=y[n]])||(e[a]=r);return e}function v(e){x(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===b&&(b=!0,t.updateOffset(this),b=!1)}function _(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function k(e){!1===t.suppressDeprecationWarnings&&typeof console<"u"&&console.warn&&console.warn("Deprecation warning: "+e)}function C(e,n){var a=!0;return h((function(){if(null!=t.deprecationHandler&&t.deprecationHandler(null,e),a){for(var i,s,o=[],d=arguments.length,l=0;l<d;l++){if(i="","object"==typeof arguments[l]){for(s in i+="\n["+l+"] ",arguments[0])r(arguments[0],s)&&(i+=s+": "+arguments[0][s]+", ");i=i.slice(0,-2)}else i=arguments[l];o.push(i)}k(e+"\nArguments: "+Array.prototype.slice.call(o).join("")+"\n"+(new Error).stack),a=!1}return n.apply(this,arguments)}),n)}var w={};function E(e,n){null!=t.deprecationHandler&&t.deprecationHandler(e,n),w[e]||(k(n),w[e]=!0)}function S(e){return typeof Function<"u"&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function A(e,t){var n,i=h({},e);for(n in t)r(t,n)&&(a(e[n])&&a(t[n])?(i[n]={},h(i[n],e[n]),h(i[n],t[n])):null!=t[n]?i[n]=t[n]:delete i[n]);for(n in e)r(e,n)&&!r(t,n)&&a(e[n])&&(i[n]=h({},i[n]));return i}function T(e){null!=e&&this.set(e)}t.suppressDeprecationWarnings=!1,t.deprecationHandler=null;var D=Object.keys||function(e){var t,n=[];for(t in e)r(e,t)&&n.push(t);return n};function L(e,t,n){var a=""+Math.abs(e);return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,t-a.length)).toString().substr(1)+a}var I=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,F=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,O={},N={};function B(e,t,n,a){var r="string"==typeof a?function(){return this[a]()}:a;e&&(N[e]=r),t&&(N[t[0]]=function(){return L(r.apply(this,arguments),t[1],t[2])}),n&&(N[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function M(e,t){return e.isValid()?(t=P(t,e.localeData()),O[t]=O[t]||function(e){for(var t,n=e.match(I),a=0,r=n.length;a<r;a++)N[n[a]]?n[a]=N[n[a]]:n[a]=(t=n[a]).match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"");return function(t){for(var a="",i=0;i<r;i++)a+=S(n[i])?n[i].call(t,e):n[i];return a}}(t),O[t](e)):e.localeData().invalidDate()}function P(e,t){var n=5;function a(e){return t.longDateFormat(e)||e}for(F.lastIndex=0;0<=n&&F.test(e);)e=e.replace(F,a),F.lastIndex=0,--n;return e}var j={};function V(e,t){var n=e.toLowerCase();j[n]=j[n+"s"]=j[t]=e}function $(e){return"string"==typeof e?j[e]||j[e.toLowerCase()]:void 0}function U(e){var t,n,a={};for(n in e)r(e,n)&&(t=$(n))&&(a[t]=e[n]);return a}var z={};function H(e,t){z[e]=t}function Y(e){return e%4==0&&e%100!=0||e%400==0}function W(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function q(e){var t=0;return 0!=(e=+e)&&isFinite(e)?W(e):t}function G(e,n){return function(a){return null!=a?(J(this,e,a),t.updateOffset(this,n),this):X(this,e)}}function X(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function J(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&Y(e.year())&&1===e.month()&&29===e.date()?(n=q(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),De(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}var K=/\d/,Z=/\d\d/,Q=/\d{3}/,ee=/\d{4}/,te=/[+-]?\d{6}/,ne=/\d\d?/,ae=/\d\d\d\d?/,re=/\d\d\d\d\d\d?/,ie=/\d{1,3}/,se=/\d{1,4}/,oe=/[+-]?\d{1,6}/,de=/\d+/,le=/[+-]?\d+/,ce=/Z|[+-]\d\d:?\d\d/gi,ue=/Z|[+-]\d\d(?::?\d\d)?/gi,he=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function ge(e,t,n){me[e]=S(t)?t:function(e,a){return e&&n?n:t}}function pe(e,t){return r(me,e)?me[e](t._strict,t._locale):new RegExp(fe(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,n,a,r){return t||n||a||r}))))}function fe(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var me={},Re={};function ye(e,t){var n,a,r=t;for("string"==typeof e&&(e=[e]),l(t)&&(r=function(e,n){n[t]=q(e)}),a=e.length,n=0;n<a;n++)Re[e[n]]=r}function be(e,t){ye(e,(function(e,n,a,r){a._w=a._w||{},t(e,a._w,a,r)}))}var xe,ve=0,_e=1,ke=2,Ce=3,we=4,Ee=5,Se=6,Ae=7,Te=8;function De(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=(t%(n=12)+n)%n;return e+=(t-n)/12,1==n?Y(e)?29:28:31-n%7%2}xe=Array.prototype.indexOf||function(e){for(var t=0;t<this.length;++t)if(this[t]===e)return t;return-1},B("M",["MM",2],"Mo",(function(){return this.month()+1})),B("MMM",0,0,(function(e){return this.localeData().monthsShort(this,e)})),B("MMMM",0,0,(function(e){return this.localeData().months(this,e)})),V("month","M"),H("month",8),ge("M",ne),ge("MM",ne,Z),ge("MMM",(function(e,t){return t.monthsShortRegex(e)})),ge("MMMM",(function(e,t){return t.monthsRegex(e)})),ye(["M","MM"],(function(e,t){t[_e]=q(e)-1})),ye(["MMM","MMMM"],(function(e,t,n,a){null!=(a=n._locale.monthsParse(e,a,n._strict))?t[_e]=a:p(n).invalidMonth=e}));var Le="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ie="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Fe=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Oe=he,Ne=he;function Be(e,t){var n;if(e.isValid()){if("string"==typeof t)if(/^\d+$/.test(t))t=q(t);else if(!l(t=e.localeData().monthsParse(t)))return;n=Math.min(e.date(),De(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n)}}function Me(e){return null!=e?(Be(this,e),t.updateOffset(this,!0),this):X(this,"Month")}function Pe(){function e(e,t){return t.length-e.length}for(var t,n=[],a=[],r=[],i=0;i<12;i++)t=g([2e3,i]),n.push(this.monthsShort(t,"")),a.push(this.months(t,"")),r.push(this.months(t,"")),r.push(this.monthsShort(t,""));for(n.sort(e),a.sort(e),r.sort(e),i=0;i<12;i++)n[i]=fe(n[i]),a[i]=fe(a[i]);for(i=0;i<24;i++)r[i]=fe(r[i]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+n.join("|")+")","i")}function je(e){return Y(e)?366:365}B("Y",0,0,(function(){var e=this.year();return e<=9999?L(e,4):"+"+e})),B(0,["YY",2],0,(function(){return this.year()%100})),B(0,["YYYY",4],0,"year"),B(0,["YYYYY",5],0,"year"),B(0,["YYYYYY",6,!0],0,"year"),V("year","y"),H("year",1),ge("Y",le),ge("YY",ne,Z),ge("YYYY",se,ee),ge("YYYYY",oe,te),ge("YYYYYY",oe,te),ye(["YYYYY","YYYYYY"],ve),ye("YYYY",(function(e,n){n[ve]=2===e.length?t.parseTwoDigitYear(e):q(e)})),ye("YY",(function(e,n){n[ve]=t.parseTwoDigitYear(e)})),ye("Y",(function(e,t){t[ve]=parseInt(e,10)})),t.parseTwoDigitYear=function(e){return q(e)+(68<q(e)?1900:2e3)};var Ve=G("FullYear",!0);function $e(e,t,n,a,r,i,s){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,a,r,i,s),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,a,r,i,s),o}function Ue(e){var t;return e<100&&0<=e?((t=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,t)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function ze(e,t,n){return(n=7+t-n)-(7+Ue(e,0,n).getUTCDay()-t)%7-1}function He(e,t,n,a,r){var i;return n=(t=1+7*(t-1)+(7+n-a)%7+ze(e,a,r))<=0?je(i=e-1)+t:t>je(e)?(i=e+1,t-je(e)):(i=e,t),{year:i,dayOfYear:n}}function Ye(e,t,n){var a,r,i=ze(e.year(),t,n);return(i=Math.floor((e.dayOfYear()-i-1)/7)+1)<1?a=i+We(r=e.year()-1,t,n):i>We(e.year(),t,n)?(a=i-We(e.year(),t,n),r=e.year()+1):(r=e.year(),a=i),{week:a,year:r}}function We(e,t,n){var a=ze(e,t,n);return t=ze(e+1,t,n),(je(e)-a+t)/7}function qe(e,t){return e.slice(t,7).concat(e.slice(0,t))}B("w",["ww",2],"wo","week"),B("W",["WW",2],"Wo","isoWeek"),V("week","w"),V("isoWeek","W"),H("week",5),H("isoWeek",5),ge("w",ne),ge("ww",ne,Z),ge("W",ne),ge("WW",ne,Z),be(["w","ww","W","WW"],(function(e,t,n,a){t[a.substr(0,1)]=q(e)})),B("d",0,"do","day"),B("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),B("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),B("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),B("e",0,0,"weekday"),B("E",0,0,"isoWeekday"),V("day","d"),V("weekday","e"),V("isoWeekday","E"),H("day",11),H("weekday",11),H("isoWeekday",11),ge("d",ne),ge("e",ne),ge("E",ne),ge("dd",(function(e,t){return t.weekdaysMinRegex(e)})),ge("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),ge("dddd",(function(e,t){return t.weekdaysRegex(e)})),be(["dd","ddd","dddd"],(function(e,t,n,a){null!=(a=n._locale.weekdaysParse(e,a,n._strict))?t.d=a:p(n).invalidWeekday=e})),be(["d","e","E"],(function(e,t,n,a){t[a]=q(e)}));var Ge="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Xe="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Je="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ke=he,Ze=he,Qe=he;function et(){function e(e,t){return t.length-e.length}for(var t,n,a,r=[],i=[],s=[],o=[],d=0;d<7;d++)a=g([2e3,1]).day(d),t=fe(this.weekdaysMin(a,"")),n=fe(this.weekdaysShort(a,"")),a=fe(this.weekdays(a,"")),r.push(t),i.push(n),s.push(a),o.push(t),o.push(n),o.push(a);r.sort(e),i.sort(e),s.sort(e),o.sort(e),this._weekdaysRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function tt(){return this.hours()%12||12}function nt(e,t){B(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function at(e,t){return t._meridiemParse}B("H",["HH",2],0,"hour"),B("h",["hh",2],0,tt),B("k",["kk",2],0,(function(){return this.hours()||24})),B("hmm",0,0,(function(){return""+tt.apply(this)+L(this.minutes(),2)})),B("hmmss",0,0,(function(){return""+tt.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)})),B("Hmm",0,0,(function(){return""+this.hours()+L(this.minutes(),2)})),B("Hmmss",0,0,(function(){return""+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)})),nt("a",!0),nt("A",!1),V("hour","h"),H("hour",13),ge("a",at),ge("A",at),ge("H",ne),ge("h",ne),ge("k",ne),ge("HH",ne,Z),ge("hh",ne,Z),ge("kk",ne,Z),ge("hmm",ae),ge("hmmss",re),ge("Hmm",ae),ge("Hmmss",re),ye(["H","HH"],Ce),ye(["k","kk"],(function(e,t,n){e=q(e),t[Ce]=24===e?0:e})),ye(["a","A"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),ye(["h","hh"],(function(e,t,n){t[Ce]=q(e),p(n).bigHour=!0})),ye("hmm",(function(e,t,n){var a=e.length-2;t[Ce]=q(e.substr(0,a)),t[we]=q(e.substr(a)),p(n).bigHour=!0})),ye("hmmss",(function(e,t,n){var a=e.length-4,r=e.length-2;t[Ce]=q(e.substr(0,a)),t[we]=q(e.substr(a,2)),t[Ee]=q(e.substr(r)),p(n).bigHour=!0})),ye("Hmm",(function(e,t,n){var a=e.length-2;t[Ce]=q(e.substr(0,a)),t[we]=q(e.substr(a))})),ye("Hmmss",(function(e,t,n){var a=e.length-4,r=e.length-2;t[Ce]=q(e.substr(0,a)),t[we]=q(e.substr(a,2)),t[Ee]=q(e.substr(r))})),he=G("Hours",!0);var rt,it={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Le,monthsShort:Ie,week:{dow:0,doy:6},weekdays:Ge,weekdaysMin:Je,weekdaysShort:Xe,meridiemParse:/[ap]\.?m?\.?/i},st={},ot={};function dt(e){return e&&e.toLowerCase().replace("_","-")}function lt(e){for(var t,n,a,r,i=0;i<e.length;){for(t=(r=dt(e[i]).split("-")).length,n=(n=dt(e[i+1]))?n.split("-"):null;0<t;){if(a=ct(r.slice(0,t).join("-")))return a;if(n&&n.length>=t&&function(e,t){for(var n=Math.min(e.length,t.length),a=0;a<n;a+=1)if(e[a]!==t[a])return a;return n}(r,n)>=t-1)break;t--}i++}return rt}function ct(e){var t;if(void 0===st[e]&&o&&o.exports&&null!=e.match("^[^/\\\\]*$"))try{t=rt._abbr,s("./locale/"+e),ut(t)}catch{st[e]=null}return st[e]}function ut(e,t){return e&&((t=d(t)?gt(e):ht(e,t))?rt=t:typeof console<"u"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),rt._abbr}function ht(e,t){if(null===t)return delete st[e],null;var n,a=it;if(t.abbr=e,null!=st[e])E("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),a=st[e]._config;else if(null!=t.parentLocale)if(null!=st[t.parentLocale])a=st[t.parentLocale]._config;else{if(null==(n=ct(t.parentLocale)))return ot[t.parentLocale]||(ot[t.parentLocale]=[]),ot[t.parentLocale].push({name:e,config:t}),null;a=n._config}return st[e]=new T(A(a,t)),ot[e]&&ot[e].forEach((function(e){ht(e.name,e.config)})),ut(e),st[e]}function gt(e){var t;if(!(e=e&&e._locale&&e._locale._abbr?e._locale._abbr:e))return rt;if(!n(e)){if(t=ct(e))return t;e=[e]}return lt(e)}function pt(e){var t=e._a;return t&&-2===p(e).overflow&&(t=t[_e]<0||11<t[_e]?_e:t[ke]<1||t[ke]>De(t[ve],t[_e])?ke:t[Ce]<0||24<t[Ce]||24===t[Ce]&&(0!==t[we]||0!==t[Ee]||0!==t[Se])?Ce:t[we]<0||59<t[we]?we:t[Ee]<0||59<t[Ee]?Ee:t[Se]<0||999<t[Se]?Se:-1,p(e)._overflowDayOfYear&&(t<ve||ke<t)&&(t=ke),p(e)._overflowWeeks&&-1===t&&(t=Ae),p(e)._overflowWeekday&&-1===t&&(t=Te),p(e).overflow=t),e}var ft=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,mt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Rt=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],bt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],xt=/^\/?Date\((-?\d+)/i,vt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,_t={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function kt(e){var t,n,a,r,i,s,o=e._i,d=ft.exec(o)||mt.exec(o),l=(o=yt.length,bt.length);if(d){for(p(e).iso=!0,t=0,n=o;t<n;t++)if(yt[t][1].exec(d[1])){r=yt[t][0],a=!1!==yt[t][2];break}if(null==r)e._isValid=!1;else{if(d[3]){for(t=0,n=l;t<n;t++)if(bt[t][1].exec(d[3])){i=(d[2]||" ")+bt[t][0];break}if(null==i)return void(e._isValid=!1)}if(a||null==i){if(d[4]){if(!Rt.exec(d[4]))return void(e._isValid=!1);s="Z"}e._f=r+(i||"")+(s||""),At(e)}else e._isValid=!1}}else e._isValid=!1}function Ct(e,t,n,a,r,i){return e=[(s=e,(s=parseInt(s,10))<=49?2e3+s:s<=999?1900+s:s),Ie.indexOf(t),parseInt(n,10),parseInt(a,10),parseInt(r,10)],i&&e.push(parseInt(i,10)),e;var s}function wt(e){var t,n,a,r,i=vt.exec(e._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));i?(a=t=Ct(i[4],i[3],i[2],i[5],i[6],i[7]),r=e,(n=i[1])&&Xe.indexOf(n)!==new Date(a[0],a[1],a[2]).getDay()?(p(r).weekdayMismatch=!0,r._isValid=!1):(e._a=t,e._tzm=(n=i[8],a=i[9],r=i[10],n?_t[n]:a?0:((n=parseInt(r,10))-(a=n%100))/100*60+a),e._d=Ue.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),p(e).rfc2822=!0)):e._isValid=!1}function Et(e,t,n){return null!=e?e:null!=t?t:n}function St(e){var n,a,r,i,s,o,d,l,c,u,h,g=[];if(!e._d){for(r=e,i=new Date(t.now()),a=r._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()],e._w&&null==e._a[ke]&&null==e._a[_e]&&(null!=(i=(r=e)._w).GG||null!=i.W||null!=i.E?(l=1,c=4,s=Et(i.GG,r._a[ve],Ye(Lt(),1,4).year),o=Et(i.W,1),((d=Et(i.E,1))<1||7<d)&&(u=!0)):(l=r._locale._week.dow,c=r._locale._week.doy,h=Ye(Lt(),l,c),s=Et(i.gg,r._a[ve],h.year),o=Et(i.w,h.week),null!=i.d?((d=i.d)<0||6<d)&&(u=!0):null!=i.e?(d=i.e+l,(i.e<0||6<i.e)&&(u=!0)):d=l),o<1||o>We(s,l,c)?p(r)._overflowWeeks=!0:null!=u?p(r)._overflowWeekday=!0:(h=He(s,o,d,l,c),r._a[ve]=h.year,r._dayOfYear=h.dayOfYear)),null!=e._dayOfYear&&(i=Et(e._a[ve],a[ve]),(e._dayOfYear>je(i)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),u=Ue(i,0,e._dayOfYear),e._a[_e]=u.getUTCMonth(),e._a[ke]=u.getUTCDate()),n=0;n<3&&null==e._a[n];++n)e._a[n]=g[n]=a[n];for(;n<7;n++)e._a[n]=g[n]=null==e._a[n]?2===n?1:0:e._a[n];24===e._a[Ce]&&0===e._a[we]&&0===e._a[Ee]&&0===e._a[Se]&&(e._nextDay=!0,e._a[Ce]=0),e._d=(e._useUTC?Ue:$e).apply(null,g),s=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Ce]=24),e._w&&void 0!==e._w.d&&e._w.d!==s&&(p(e).weekdayMismatch=!0)}}function At(e){if(e._f===t.ISO_8601)kt(e);else if(e._f===t.RFC_2822)wt(e);else{e._a=[],p(e).empty=!0;for(var n,a,i,s,o,d=""+e._i,l=d.length,c=0,u=P(e._f,e._locale).match(I)||[],h=u.length,g=0;g<h;g++)a=u[g],(n=(d.match(pe(a,e))||[])[0])&&(0<(i=d.substr(0,d.indexOf(n))).length&&p(e).unusedInput.push(i),d=d.slice(d.indexOf(n)+n.length),c+=n.length),N[a]?(n?p(e).empty=!1:p(e).unusedTokens.push(a),i=a,o=e,null!=(s=n)&&r(Re,i)&&Re[i](s,o._a,o,i)):e._strict&&!n&&p(e).unusedTokens.push(a);p(e).charsLeftOver=l-c,0<d.length&&p(e).unusedInput.push(d),e._a[Ce]<=12&&!0===p(e).bigHour&&0<e._a[Ce]&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[Ce]=(f=e._locale,m=e._a[Ce],null==(R=e._meridiem)?m:null!=f.meridiemHour?f.meridiemHour(m,R):null!=f.isPM?((f=f.isPM(R))&&m<12&&(m+=12),m=f||12!==m?m:0):m),null!==(l=p(e).era)&&(e._a[ve]=e._locale.erasConvertYear(l,e._a[ve])),St(e),pt(e)}var f,m,R}function Tt(e){var r,i,s,o=e._i,g=e._f;return e._locale=e._locale||gt(e._l),null===o||void 0===g&&""===o?m({nullInput:!0}):("string"==typeof o&&(e._i=o=e._locale.preparse(o)),_(o)?new v(pt(o)):(c(o)?e._d=o:n(g)?function(e){var t,n,a,r,i,s,o=!1,d=e._f.length;if(0===d)return p(e).invalidFormat=!0,e._d=new Date(NaN);for(r=0;r<d;r++)i=0,s=!1,t=x({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[r],At(t),f(t)&&(s=!0),i=(i+=p(t).charsLeftOver)+10*p(t).unusedTokens.length,p(t).score=i,o?i<a&&(a=i,n=t):(null==a||i<a||s)&&(a=i,n=t,s&&(o=!0));h(e,n||t)}(e):g?At(e):d(g=(o=e)._i)?o._d=new Date(t.now()):c(g)?o._d=new Date(g.valueOf()):"string"==typeof g?(i=o,null!==(r=xt.exec(i._i))?i._d=new Date(+r[1]):(kt(i),!1===i._isValid&&(delete i._isValid,wt(i),!1===i._isValid&&(delete i._isValid,i._strict?i._isValid=!1:t.createFromInputFallback(i))))):n(g)?(o._a=u(g.slice(0),(function(e){return parseInt(e,10)})),St(o)):a(g)?(r=o)._d||(s=void 0===(i=U(r._i)).day?i.date:i.day,r._a=u([i.year,i.month,s,i.hour,i.minute,i.second,i.millisecond],(function(e){return e&&parseInt(e,10)})),St(r)):l(g)?o._d=new Date(g):t.createFromInputFallback(o),f(e)||(e._d=null),e))}function Dt(e,t,r,s,o){var d={};return!0!==t&&!1!==t||(s=t,t=void 0),!0!==r&&!1!==r||(s=r,r=void 0),(a(e)&&i(e)||n(e)&&0===e.length)&&(e=void 0),d._isAMomentObject=!0,d._useUTC=d._isUTC=o,d._l=r,d._i=e,d._f=t,d._strict=s,(o=new v(pt(Tt(o=d))))._nextDay&&(o.add(1,"d"),o._nextDay=void 0),o}function Lt(e,t,n,a){return Dt(e,t,n,a,!1)}function It(e,t){var a,r;if(!(t=1===t.length&&n(t[0])?t[0]:t).length)return Lt();for(a=t[0],r=1;r<t.length;++r)t[r].isValid()&&!t[r][e](a)||(a=t[r]);return a}t.createFromInputFallback=C("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))})),t.ISO_8601=function(){},t.RFC_2822=function(){},ae=C("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var e=Lt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:m()})),re=C("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var e=Lt.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:m()}));var Ft=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ot(e){var t=(e=U(e)).year||0,n=e.quarter||0,a=e.month||0,i=e.week||e.isoWeek||0,s=e.day||0,o=e.hour||0,d=e.minute||0,l=e.second||0,c=e.millisecond||0;this._isValid=function(e){var t,n,a=!1,i=Ft.length;for(t in e)if(r(e,t)&&(-1===xe.call(Ft,t)||null!=e[t]&&isNaN(e[t])))return!1;for(n=0;n<i;++n)if(e[Ft[n]]){if(a)return!1;parseFloat(e[Ft[n]])!==q(e[Ft[n]])&&(a=!0)}return!0}(e),this._milliseconds=+c+1e3*l+6e4*d+1e3*o*60*60,this._days=+s+7*i,this._months=+a+3*n+12*t,this._data={},this._locale=gt(),this._bubble()}function Nt(e){return e instanceof Ot}function Bt(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Mt(e,t){B(e,0,0,(function(){var e=this.utcOffset(),n="+";return e<0&&(e=-e,n="-"),n+L(~~(e/60),2)+t+L(~~e%60,2)}))}Mt("Z",":"),Mt("ZZ",""),ge("Z",ue),ge("ZZ",ue),ye(["Z","ZZ"],(function(e,t,n){n._useUTC=!0,n._tzm=jt(ue,e)}));var Pt=/([\+\-]|\d\d)/gi;function jt(e,t){return null===(t=(t||"").match(e))?null:0===(t=60*(e=((t[t.length-1]||[])+"").match(Pt)||["-",0,0])[1]+q(e[2]))?0:"+"===e[0]?t:-t}function Vt(e,n){var a;return n._isUTC?(n=n.clone(),a=(_(e)||c(e)?e:Lt(e)).valueOf()-n.valueOf(),n._d.setTime(n._d.valueOf()+a),t.updateOffset(n,!1),n):Lt(e).local()}function $t(e){return-Math.round(e._d.getTimezoneOffset())}function Ut(){return!!this.isValid()&&this._isUTC&&0===this._offset}t.updateOffset=function(){};var zt=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Ht=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Yt(e,t){var n,a,i,s,o=e,d=null;return Nt(e)?o={ms:e._milliseconds,d:e._days,M:e._months}:l(e)||!isNaN(+e)?(o={},t?o[t]=+e:o.milliseconds=+e):(d=zt.exec(e))?(n="-"===d[1]?-1:1,o={y:0,d:q(d[ke])*n,h:q(d[Ce])*n,m:q(d[we])*n,s:q(d[Ee])*n,ms:q(Bt(1e3*d[Se]))*n}):(d=Ht.exec(e))?(n="-"===d[1]?-1:1,o={y:Wt(d[2],n),M:Wt(d[3],n),w:Wt(d[4],n),d:Wt(d[5],n),h:Wt(d[6],n),m:Wt(d[7],n),s:Wt(d[8],n)}):null==o?o={}:"object"==typeof o&&("from"in o||"to"in o)&&(a=Lt(o.from),i=Lt(o.to),t=a.isValid()&&i.isValid()?(i=Vt(i,a),a.isBefore(i)?s=qt(a,i):((s=qt(i,a)).milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0},(o={}).ms=t.milliseconds,o.M=t.months),d=new Ot(o),Nt(e)&&r(e,"_locale")&&(d._locale=e._locale),Nt(e)&&r(e,"_isValid")&&(d._isValid=e._isValid),d}function Wt(e,t){return e=e&&parseFloat(e.replace(",",".")),(isNaN(e)?0:e)*t}function qt(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function Gt(e,t){return function(n,a){var r;return null===a||isNaN(+a)||(E(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=a,a=r),Xt(this,Yt(n,a),e),this}}function Xt(e,n,a,r){var i=n._milliseconds,s=Bt(n._days);n=Bt(n._months),e.isValid()&&(r=null==r||r,n&&Be(e,X(e,"Month")+n*a),s&&J(e,"Date",X(e,"Date")+s*a),i&&e._d.setTime(e._d.valueOf()+i*a),r&&t.updateOffset(e,s||n))}function Jt(e){return"string"==typeof e||e instanceof String}function Kt(e){return _(e)||c(e)||Jt(e)||l(e)||(s=n(t=e),o=!1,s&&(o=0===t.filter((function(e){return!l(e)&&Jt(t)})).length),s&&o)||function(e){var t,n,s=a(e)&&!i(e),o=!1,d=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],l=d.length;for(t=0;t<l;t+=1)n=d[t],o=o||r(e,n);return s&&o}(e)||null==e;var t,s,o}function Zt(e,t){if(e.date()<t.date())return-Zt(t,e);var n=12*(t.year()-e.year())+(t.month()-e.month()),a=e.clone().add(n,"months");return-(n+(t=t-a<0?(t-a)/(a-e.clone().add(n-1,"months")):(t-a)/(e.clone().add(1+n,"months")-a)))||0}function Qt(e){return void 0===e?this._locale._abbr:(null!=(e=gt(e))&&(this._locale=e),this)}function en(){return this._locale}Yt.fn=Ot.prototype,Yt.invalid=function(){return Yt(NaN)},Le=Gt(1,"add"),Ge=Gt(-1,"subtract"),t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",t.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]",Je=C("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(e){return void 0===e?this.localeData():this.locale(e)}));var tn,nn=126227808e5;function an(e,t){return(e%t+t)%t}function rn(e,t,n){return e<100&&0<=e?new Date(e+400,t,n)-nn:new Date(e,t,n).valueOf()}function sn(e,t,n){return e<100&&0<=e?Date.UTC(e+400,t,n)-nn:Date.UTC(e,t,n)}function on(e,t){return t.erasAbbrRegex(e)}function dn(){for(var e=[],t=[],n=[],a=[],r=this.eras(),i=0,s=r.length;i<s;++i)t.push(fe(r[i].name)),e.push(fe(r[i].abbr)),n.push(fe(r[i].narrow)),a.push(fe(r[i].name)),a.push(fe(r[i].abbr)),a.push(fe(r[i].narrow));this._erasRegex=new RegExp("^("+a.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+t.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+e.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+n.join("|")+")","i")}function ln(e,t){B(0,[e,e.length],0,t)}function cn(e,t,n,a,r){var i;return null==e?Ye(this,a,r).year:(i=We(e,a,r),function(e,t,n,a,r){return t=Ue((e=He(e,t,n,a,r)).year,0,e.dayOfYear),this.year(t.getUTCFullYear()),this.month(t.getUTCMonth()),this.date(t.getUTCDate()),this}.call(this,e,t=i<t?i:t,n,a,r))}for(B("N",0,0,"eraAbbr"),B("NN",0,0,"eraAbbr"),B("NNN",0,0,"eraAbbr"),B("NNNN",0,0,"eraName"),B("NNNNN",0,0,"eraNarrow"),B("y",["y",1],"yo","eraYear"),B("y",["yy",2],0,"eraYear"),B("y",["yyy",3],0,"eraYear"),B("y",["yyyy",4],0,"eraYear"),ge("N",on),ge("NN",on),ge("NNN",on),ge("NNNN",(function(e,t){return t.erasNameRegex(e)})),ge("NNNNN",(function(e,t){return t.erasNarrowRegex(e)})),ye(["N","NN","NNN","NNNN","NNNNN"],(function(e,t,n,a){(a=n._locale.erasParse(e,a,n._strict))?p(n).era=a:p(n).invalidEra=e})),ge("y",de),ge("yy",de),ge("yyy",de),ge("yyyy",de),ge("yo",(function(e,t){return t._eraYearOrdinalRegex||de})),ye(["y","yy","yyy","yyyy"],ve),ye(["yo"],(function(e,t,n,a){var r;n._locale._eraYearOrdinalRegex&&(r=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[ve]=n._locale.eraYearOrdinalParse(e,r):t[ve]=parseInt(e,10)})),B(0,["gg",2],0,(function(){return this.weekYear()%100})),B(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),ln("gggg","weekYear"),ln("ggggg","weekYear"),ln("GGGG","isoWeekYear"),ln("GGGGG","isoWeekYear"),V("weekYear","gg"),V("isoWeekYear","GG"),H("weekYear",1),H("isoWeekYear",1),ge("G",le),ge("g",le),ge("GG",ne,Z),ge("gg",ne,Z),ge("GGGG",se,ee),ge("gggg",se,ee),ge("GGGGG",oe,te),ge("ggggg",oe,te),be(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,n,a){t[a.substr(0,2)]=q(e)})),be(["gg","GG"],(function(e,n,a,r){n[r]=t.parseTwoDigitYear(e)})),B("Q",0,"Qo","quarter"),V("quarter","Q"),H("quarter",7),ge("Q",K),ye("Q",(function(e,t){t[_e]=3*(q(e)-1)})),B("D",["DD",2],"Do","date"),V("date","D"),H("date",9),ge("D",ne),ge("DD",ne,Z),ge("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),ye(["D","DD"],ke),ye("Do",(function(e,t){t[ke]=q(e.match(ne)[0])})),se=G("Date",!0),B("DDD",["DDDD",3],"DDDo","dayOfYear"),V("dayOfYear","DDD"),H("dayOfYear",4),ge("DDD",ie),ge("DDDD",Q),ye(["DDD","DDDD"],(function(e,t,n){n._dayOfYear=q(e)})),B("m",["mm",2],0,"minute"),V("minute","m"),H("minute",14),ge("m",ne),ge("mm",ne,Z),ye(["m","mm"],we),ee=G("Minutes",!1),B("s",["ss",2],0,"second"),V("second","s"),H("second",15),ge("s",ne),ge("ss",ne,Z),ye(["s","ss"],Ee),oe=G("Seconds",!1),B("S",0,0,(function(){return~~(this.millisecond()/100)})),B(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),B(0,["SSS",3],0,"millisecond"),B(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),B(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),B(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),B(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),B(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),B(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),V("millisecond","ms"),H("millisecond",16),ge("S",ie,K),ge("SS",ie,Z),ge("SSS",ie,Q),tn="SSSS";tn.length<=9;tn+="S")ge(tn,de);function un(e,t){t[Se]=q(1e3*("0."+e))}for(tn="S";tn.length<=9;tn+="S")ye(tn,un);function hn(e){return e}function gn(e,t,n,a){var r=gt();return a=g().set(a,t),r[n](a,e)}function pn(e,t,n){if(l(e)&&(t=e,e=void 0),e=e||"",null!=t)return gn(e,t,n,"month");for(var a=[],r=0;r<12;r++)a[r]=gn(e,r,n,"month");return a}function fn(e,t,n,a){"boolean"==typeof e?l(t)&&(n=t,t=void 0):(t=e,e=!1,l(n=t)&&(n=t,t=void 0)),t=t||"";var r,i=gt(),s=e?i._week.dow:0,o=[];if(null!=n)return gn(t,(n+s)%7,a,"day");for(r=0;r<7;r++)o[r]=gn(t,(r+s)%7,a,"day");return o}te=G("Milliseconds",!1),B("z",0,0,"zoneAbbr"),B("zz",0,0,"zoneName"),(K=v.prototype).add=Le,K.calendar=function(e,n){1===arguments.length&&(arguments[0]?Kt(arguments[0])?(e=arguments[0],n=void 0):function(e){for(var t=a(e)&&!i(e),n=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],o=0;o<s.length;o+=1)n=n||r(e,s[o]);return t&&n}(arguments[0])&&(n=arguments[0],e=void 0):n=e=void 0);var s=Vt(e=e||Lt(),this).startOf("day");return s=t.calendarFormat(this,s)||"sameElse",n=n&&(S(n[s])?n[s].call(this,e):n[s]),this.format(n||this.localeData().calendar(s,this,Lt(e)))},K.clone=function(){return new v(this)},K.diff=function(e,t,n){var a,r,i;if(!this.isValid())return NaN;if(!(a=Vt(e,this)).isValid())return NaN;switch(r=6e4*(a.utcOffset()-this.utcOffset()),t=$(t)){case"year":i=Zt(this,a)/12;break;case"month":i=Zt(this,a);break;case"quarter":i=Zt(this,a)/3;break;case"second":i=(this-a)/1e3;break;case"minute":i=(this-a)/6e4;break;case"hour":i=(this-a)/36e5;break;case"day":i=(this-a-r)/864e5;break;case"week":i=(this-a-r)/6048e5;break;default:i=this-a}return n?i:W(i)},K.endOf=function(e){var n,a;if(void 0===(e=$(e))||"millisecond"===e||!this.isValid())return this;switch(a=this._isUTC?sn:rn,e){case"year":n=a(this.year()+1,0,1)-1;break;case"quarter":n=a(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":n=a(this.year(),this.month()+1,1)-1;break;case"week":n=a(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":n=a(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":n=a(this.year(),this.month(),this.date()+1)-1;break;case"hour":n=this._d.valueOf(),n+=36e5-an(n+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":n=this._d.valueOf(),n+=6e4-an(n,6e4)-1;break;case"second":n=this._d.valueOf(),n+=1e3-an(n,1e3)-1}return this._d.setTime(n),t.updateOffset(this,!0),this},K.format=function(e){return e=M(this,e=e||(this.isUtc()?t.defaultFormatUtc:t.defaultFormat)),this.localeData().postformat(e)},K.from=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||Lt(e).isValid())?Yt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},K.fromNow=function(e){return this.from(Lt(),e)},K.to=function(e,t){return this.isValid()&&(_(e)&&e.isValid()||Lt(e).isValid())?Yt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},K.toNow=function(e){return this.to(Lt(),e)},K.get=function(e){return S(this[e=$(e)])?this[e]():this},K.invalidAt=function(){return p(this).overflow},K.isAfter=function(e,t){return e=_(e)?e:Lt(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(t=$(t)||"millisecond")?this.valueOf()>e.valueOf():e.valueOf()<this.clone().startOf(t).valueOf())},K.isBefore=function(e,t){return e=_(e)?e:Lt(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(t=$(t)||"millisecond")?this.valueOf()<e.valueOf():this.clone().endOf(t).valueOf()<e.valueOf())},K.isBetween=function(e,t,n,a){return e=_(e)?e:Lt(e),t=_(t)?t:Lt(t),!!(this.isValid()&&e.isValid()&&t.isValid())&&("("===(a=a||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===a[1]?this.isBefore(t,n):!this.isAfter(t,n))},K.isSame=function(e,t){return e=_(e)?e:Lt(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(t=$(t)||"millisecond")?this.valueOf()===e.valueOf():(e=e.valueOf(),this.clone().startOf(t).valueOf()<=e&&e<=this.clone().endOf(t).valueOf()))},K.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},K.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},K.isValid=function(){return f(this)},K.lang=Je,K.locale=Qt,K.localeData=en,K.max=re,K.min=ae,K.parsingFlags=function(){return h({},p(this))},K.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t,n=[];for(t in e)r(e,t)&&n.push({unit:t,priority:z[t]});return n.sort((function(e,t){return e.priority-t.priority})),n}(e=U(e)),a=n.length,i=0;i<a;i++)this[n[i].unit](e[n[i].unit]);else if(S(this[e=$(e)]))return this[e](t);return this},K.startOf=function(e){var n,a;if(void 0===(e=$(e))||"millisecond"===e||!this.isValid())return this;switch(a=this._isUTC?sn:rn,e){case"year":n=a(this.year(),0,1);break;case"quarter":n=a(this.year(),this.month()-this.month()%3,1);break;case"month":n=a(this.year(),this.month(),1);break;case"week":n=a(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":n=a(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":n=a(this.year(),this.month(),this.date());break;case"hour":n=this._d.valueOf(),n-=an(n+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":n=this._d.valueOf(),n-=an(n,6e4);break;case"second":n=this._d.valueOf(),n-=an(n,1e3)}return this._d.setTime(n),t.updateOffset(this,!0),this},K.subtract=Ge,K.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},K.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},K.toDate=function(){return new Date(this.valueOf())},K.toISOString=function(e){if(!this.isValid())return null;var t=(e=!0!==e)?this.clone().utc():this;return t.year()<0||9999<t.year()?M(t,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):S(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",M(t,"Z")):M(t,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},K.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t="moment",n="";return this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",n="Z"),t="["+t+'("]',e=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",this.format(t+e+"-MM-DD[T]HH:mm:ss.SSS"+n+'[")]')},typeof Symbol<"u"&&null!=Symbol.for&&(K[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),K.toJSON=function(){return this.isValid()?this.toISOString():null},K.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},K.unix=function(){return Math.floor(this.valueOf()/1e3)},K.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},K.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},K.eraName=function(){for(var e,t=this.localeData().eras(),n=0,a=t.length;n<a;++n)if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until||t[n].until<=e&&e<=t[n].since)return t[n].name;return""},K.eraNarrow=function(){for(var e,t=this.localeData().eras(),n=0,a=t.length;n<a;++n)if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until||t[n].until<=e&&e<=t[n].since)return t[n].narrow;return""},K.eraAbbr=function(){for(var e,t=this.localeData().eras(),n=0,a=t.length;n<a;++n)if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until||t[n].until<=e&&e<=t[n].since)return t[n].abbr;return""},K.eraYear=function(){for(var e,n,a=this.localeData().eras(),r=0,i=a.length;r<i;++r)if(e=a[r].since<=a[r].until?1:-1,n=this.clone().startOf("day").valueOf(),a[r].since<=n&&n<=a[r].until||a[r].until<=n&&n<=a[r].since)return(this.year()-t(a[r].since).year())*e+a[r].offset;return this.year()},K.year=Ve,K.isLeapYear=function(){return Y(this.year())},K.weekYear=function(e){return cn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},K.isoWeekYear=function(e){return cn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},K.quarter=K.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},K.month=Me,K.daysInMonth=function(){return De(this.year(),this.month())},K.week=K.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},K.isoWeek=K.isoWeeks=function(e){var t=Ye(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},K.weeksInYear=function(){var e=this.localeData()._week;return We(this.year(),e.dow,e.doy)},K.weeksInWeekYear=function(){var e=this.localeData()._week;return We(this.weekYear(),e.dow,e.doy)},K.isoWeeksInYear=function(){return We(this.year(),1,4)},K.isoWeeksInISOWeekYear=function(){return We(this.isoWeekYear(),1,4)},K.date=se,K.day=K.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,n,a=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(t=e,n=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-a,"d")):a},K.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},K.isoWeekday=function(e){return this.isValid()?null!=e?(t=e,n=this.localeData(),n="string"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t,this.day(this.day()%7?n:n-7)):this.day()||7:null!=e?this:NaN;var t,n},K.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},K.hour=K.hours=he,K.minute=K.minutes=ee,K.second=K.seconds=oe,K.millisecond=K.milliseconds=te,K.utcOffset=function(e,n,a){var r,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?i:$t(this);if("string"==typeof e){if(null===(e=jt(ue,e)))return this}else Math.abs(e)<16&&!a&&(e*=60);return!this._isUTC&&n&&(r=$t(this)),this._offset=e,this._isUTC=!0,null!=r&&this.add(r,"m"),i!==e&&(!n||this._changeInProgress?Xt(this,Yt(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this},K.utc=function(e){return this.utcOffset(0,e)},K.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract($t(this),"m")),this},K.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=jt(ce,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},K.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Lt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},K.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},K.isLocal=function(){return!!this.isValid()&&!this._isUTC},K.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},K.isUtc=Ut,K.isUTC=Ut,K.zoneAbbr=function(){return this._isUTC?"UTC":""},K.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},K.dates=C("dates accessor is deprecated. Use date instead.",se),K.months=C("months accessor is deprecated. Use month instead",Me),K.years=C("years accessor is deprecated. Use year instead",Ve),K.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(e,t){return null!=e?(this.utcOffset(e="string"!=typeof e?-e:e,t),this):-this.utcOffset()})),K.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!d(this._isDSTShifted))return this._isDSTShifted;var e,t={};return x(t,this),(t=Tt(t))._a?(e=(t._isUTC?g:Lt)(t._a),this._isDSTShifted=this.isValid()&&0<function(e,t,n){for(var a=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),i=0,s=0;s<a;s++)(n&&e[s]!==t[s]||!n&&q(e[s])!==q(t[s]))&&i++;return i+r}(t._a,e.toArray())):this._isDSTShifted=!1,this._isDSTShifted})),(Z=T.prototype).calendar=function(e,t,n){return S(e=this._calendar[e]||this._calendar.sameElse)?e.call(t,n):e},Z.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(I).map((function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e})).join(""),this._longDateFormat[e])},Z.invalidDate=function(){return this._invalidDate},Z.ordinal=function(e){return this._ordinal.replace("%d",e)},Z.preparse=hn,Z.postformat=hn,Z.relativeTime=function(e,t,n,a){var r=this._relativeTime[n];return S(r)?r(e,t,n,a):r.replace(/%d/i,e)},Z.pastFuture=function(e,t){return S(e=this._relativeTime[0<e?"future":"past"])?e(t):e.replace(/%s/i,t)},Z.set=function(e){var t,n;for(n in e)r(e,n)&&(S(t=e[n])?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Z.eras=function(e,n){for(var a,r=this._eras||gt("en")._eras,i=0,s=r.length;i<s;++i)switch("string"==typeof r[i].since&&(a=t(r[i].since).startOf("day"),r[i].since=a.valueOf()),typeof r[i].until){case"undefined":r[i].until=1/0;break;case"string":a=t(r[i].until).startOf("day").valueOf(),r[i].until=a.valueOf()}return r},Z.erasParse=function(e,t,n){var a,r,i,s,o,d=this.eras();for(e=e.toUpperCase(),a=0,r=d.length;a<r;++a)if(i=d[a].name.toUpperCase(),s=d[a].abbr.toUpperCase(),o=d[a].narrow.toUpperCase(),n)switch(t){case"N":case"NN":case"NNN":if(s===e)return d[a];break;case"NNNN":if(i===e)return d[a];break;case"NNNNN":if(o===e)return d[a]}else if(0<=[i,s,o].indexOf(e))return d[a]},Z.erasConvertYear=function(e,n){var a=e.since<=e.until?1:-1;return void 0===n?t(e.since).year():t(e.since).year()+(n-e.offset)*a},Z.erasAbbrRegex=function(e){return r(this,"_erasAbbrRegex")||dn.call(this),e?this._erasAbbrRegex:this._erasRegex},Z.erasNameRegex=function(e){return r(this,"_erasNameRegex")||dn.call(this),e?this._erasNameRegex:this._erasRegex},Z.erasNarrowRegex=function(e){return r(this,"_erasNarrowRegex")||dn.call(this),e?this._erasNarrowRegex:this._erasRegex},Z.months=function(e,t){return e?(n(this._months)?this._months:this._months[(this._months.isFormat||Fe).test(t)?"format":"standalone"])[e.month()]:n(this._months)?this._months:this._months.standalone},Z.monthsShort=function(e,t){return e?(n(this._monthsShort)?this._monthsShort:this._monthsShort[Fe.test(t)?"format":"standalone"])[e.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Z.monthsParse=function(e,t,n){var a,r;if(this._monthsParseExact)return function(e,t,n){var a,r,i;if(e=e.toLocaleLowerCase(),!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],a=0;a<12;++a)i=g([2e3,a]),this._shortMonthsParse[a]=this.monthsShort(i,"").toLocaleLowerCase(),this._longMonthsParse[a]=this.months(i,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(r=xe.call(this._shortMonthsParse,e))?r:null:-1!==(r=xe.call(this._longMonthsParse,e))?r:null:"MMM"===t?-1!==(r=xe.call(this._shortMonthsParse,e))||-1!==(r=xe.call(this._longMonthsParse,e))?r:null:-1!==(r=xe.call(this._longMonthsParse,e))||-1!==(r=xe.call(this._shortMonthsParse,e))?r:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++)if(r=g([2e3,a]),n&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[a]||(r="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[a]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[a].test(e)||n&&"MMM"===t&&this._shortMonthsParse[a].test(e)||!n&&this._monthsParse[a].test(e))return a},Z.monthsRegex=function(e){return this._monthsParseExact?(r(this,"_monthsRegex")||Pe.call(this),e?this._monthsStrictRegex:this._monthsRegex):(r(this,"_monthsRegex")||(this._monthsRegex=Ne),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},Z.monthsShortRegex=function(e){return this._monthsParseExact?(r(this,"_monthsRegex")||Pe.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(r(this,"_monthsShortRegex")||(this._monthsShortRegex=Oe),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},Z.week=function(e){return Ye(e,this._week.dow,this._week.doy).week},Z.firstDayOfYear=function(){return this._week.doy},Z.firstDayOfWeek=function(){return this._week.dow},Z.weekdays=function(e,t){return t=n(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"],!0===e?qe(t,this._week.dow):e?t[e.day()]:t},Z.weekdaysMin=function(e){return!0===e?qe(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},Z.weekdaysShort=function(e){return!0===e?qe(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},Z.weekdaysParse=function(e,t,n){var a,r;if(this._weekdaysParseExact)return function(e,t,n){var a,r,i;if(e=e.toLocaleLowerCase(),!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)i=g([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(i,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(i,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(i,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(r=xe.call(this._weekdaysParse,e))?r:null:"ddd"===t?-1!==(r=xe.call(this._shortWeekdaysParse,e))?r:null:-1!==(r=xe.call(this._minWeekdaysParse,e))?r:null:"dddd"===t?-1!==(r=xe.call(this._weekdaysParse,e))||-1!==(r=xe.call(this._shortWeekdaysParse,e))||-1!==(r=xe.call(this._minWeekdaysParse,e))?r:null:"ddd"===t?-1!==(r=xe.call(this._shortWeekdaysParse,e))||-1!==(r=xe.call(this._weekdaysParse,e))||-1!==(r=xe.call(this._minWeekdaysParse,e))?r:null:-1!==(r=xe.call(this._minWeekdaysParse,e))||-1!==(r=xe.call(this._weekdaysParse,e))||-1!==(r=xe.call(this._shortWeekdaysParse,e))?r:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++)if(r=g([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[a]||(r="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[a]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[a].test(e)||n&&"ddd"===t&&this._shortWeekdaysParse[a].test(e)||n&&"dd"===t&&this._minWeekdaysParse[a].test(e)||!n&&this._weekdaysParse[a].test(e))return a},Z.weekdaysRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||et.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(r(this,"_weekdaysRegex")||(this._weekdaysRegex=Ke),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},Z.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||et.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(r(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ze),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Z.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||et.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(r(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Qe),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Z.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},Z.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},ut("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===q(e%100/10)?"th":1==t?"st":2==t?"nd":3==t?"rd":"th")}}),t.lang=C("moment.lang is deprecated. Use moment.locale instead.",ut),t.langData=C("moment.langData is deprecated. Use moment.localeData instead.",gt);var mn=Math.abs;function Rn(e,t,n,a){return t=Yt(t,n),e._milliseconds+=a*t._milliseconds,e._days+=a*t._days,e._months+=a*t._months,e._bubble()}function yn(e){return e<0?Math.floor(e):Math.ceil(e)}function bn(e){return 4800*e/146097}function xn(e){return 146097*e/4800}function vn(e){return function(){return this.as(e)}}function _n(e){return function(){return this.isValid()?this._data[e]:NaN}}ie=vn("ms"),Q=vn("s"),Le=vn("m"),re=vn("h"),ae=vn("d"),Ge=vn("w"),he=vn("M"),ee=vn("Q"),oe=vn("y"),te=_n("milliseconds"),se=_n("seconds"),Ve=_n("minutes"),Z=_n("hours");var kn=_n("days"),Cn=_n("months"),wn=_n("years"),En=Math.round,Sn={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function An(e,t,n,a){var r=Yt(e).abs(),i=En(r.as("s")),s=En(r.as("m")),o=En(r.as("h")),d=En(r.as("d")),l=En(r.as("M")),c=En(r.as("w"));return r=En(r.as("y")),i=(i<=n.ss?["s",i]:i<n.s&&["ss",i])||s<=1&&["m"]||s<n.m&&["mm",s]||o<=1&&["h"]||o<n.h&&["hh",o]||d<=1&&["d"]||d<n.d&&["dd",d],(i=(i=null!=n.w?i||c<=1&&["w"]||c<n.w&&["ww",c]:i)||l<=1&&["M"]||l<n.M&&["MM",l]||r<=1&&["y"]||["yy",r])[2]=t,i[3]=0<+e,i[4]=a,function(e,t,n,a,r){return r.relativeTime(t||1,!!n,e,a)}.apply(null,i)}var Tn=Math.abs;function Dn(e){return(0<e)-(e<0)||+e}function Ln(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,a,r,i,s,o=Tn(this._milliseconds)/1e3,d=Tn(this._days),l=Tn(this._months),c=this.asSeconds();return c?(e=W(o/60),t=W(e/60),o%=60,e%=60,n=W(l/12),l%=12,a=o?o.toFixed(3).replace(/\.?0+$/,""):"",r=Dn(this._months)!==Dn(c)?"-":"",i=Dn(this._days)!==Dn(c)?"-":"",s=Dn(this._milliseconds)!==Dn(c)?"-":"",(c<0?"-":"")+"P"+(n?r+n+"Y":"")+(l?r+l+"M":"")+(d?i+d+"D":"")+(t||e||o?"T":"")+(t?s+t+"H":"")+(e?s+e+"M":"")+(o?s+a+"S":"")):"P0D"}var In=Ot.prototype;return In.isValid=function(){return this._isValid},In.abs=function(){var e=this._data;return this._milliseconds=mn(this._milliseconds),this._days=mn(this._days),this._months=mn(this._months),e.milliseconds=mn(e.milliseconds),e.seconds=mn(e.seconds),e.minutes=mn(e.minutes),e.hours=mn(e.hours),e.months=mn(e.months),e.years=mn(e.years),this},In.add=function(e,t){return Rn(this,e,t,1)},In.subtract=function(e,t){return Rn(this,e,t,-1)},In.as=function(e){if(!this.isValid())return NaN;var t,n,a=this._milliseconds;if("month"===(e=$(e))||"quarter"===e||"year"===e)switch(t=this._days+a/864e5,n=this._months+bn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(xn(this._months)),e){case"week":return t/7+a/6048e5;case"day":return t+a/864e5;case"hour":return 24*t+a/36e5;case"minute":return 1440*t+a/6e4;case"second":return 86400*t+a/1e3;case"millisecond":return Math.floor(864e5*t)+a;default:throw new Error("Unknown unit "+e)}},In.asMilliseconds=ie,In.asSeconds=Q,In.asMinutes=Le,In.asHours=re,In.asDays=ae,In.asWeeks=Ge,In.asMonths=he,In.asQuarters=ee,In.asYears=oe,In.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*q(this._months/12):NaN},In._bubble=function(){var e=this._milliseconds,t=this._days,n=this._months,a=this._data;return 0<=e&&0<=t&&0<=n||e<=0&&t<=0&&n<=0||(e+=864e5*yn(xn(n)+t),n=t=0),a.milliseconds=e%1e3,e=W(e/1e3),a.seconds=e%60,e=W(e/60),a.minutes=e%60,e=W(e/60),a.hours=e%24,t+=W(e/24),n+=e=W(bn(t)),t-=yn(xn(e)),e=W(n/12),n%=12,a.days=t,a.months=n,a.years=e,this},In.clone=function(){return Yt(this)},In.get=function(e){return e=$(e),this.isValid()?this[e+"s"]():NaN},In.milliseconds=te,In.seconds=se,In.minutes=Ve,In.hours=Z,In.days=kn,In.weeks=function(){return W(this.days()/7)},In.months=Cn,In.years=wn,In.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n=!1,a=Sn;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(n=e),"object"==typeof t&&(a=Object.assign({},Sn,t),null!=t.s&&null==t.ss&&(a.ss=t.s-1)),t=An(this,!n,a,e=this.localeData()),n&&(t=e.pastFuture(+this,t)),e.postformat(t)},In.toISOString=Ln,In.toString=Ln,In.toJSON=Ln,In.locale=Qt,In.localeData=en,In.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ln),In.lang=Je,B("X",0,0,"unix"),B("x",0,0,"valueOf"),ge("x",le),ge("X",/[+-]?\d+(\.\d{1,3})?/),ye("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e))})),ye("x",(function(e,t,n){n._d=new Date(q(e))})),t.version="2.29.4",e=Lt,t.fn=K,t.min=function(){return It("isBefore",[].slice.call(arguments,0))},t.max=function(){return It("isAfter",[].slice.call(arguments,0))},t.now=function(){return Date.now?Date.now():+new Date},t.utc=g,t.unix=function(e){return Lt(1e3*e)},t.months=function(e,t){return pn(e,t,"months")},t.isDate=c,t.locale=ut,t.invalid=m,t.duration=Yt,t.isMoment=_,t.weekdays=function(e,t,n){return fn(e,t,n,"weekdays")},t.parseZone=function(){return Lt.apply(null,arguments).parseZone()},t.localeData=gt,t.isDuration=Nt,t.monthsShort=function(e,t){return pn(e,t,"monthsShort")},t.weekdaysMin=function(e,t,n){return fn(e,t,n,"weekdaysMin")},t.defineLocale=ht,t.updateLocale=function(e,t){var n,a;return null!=t?(a=it,null!=st[e]&&null!=st[e].parentLocale?st[e].set(A(st[e]._config,t)):(t=A(a=null!=(n=ct(e))?n._config:a,t),null==n&&(t.abbr=e),(a=new T(t)).parentLocale=st[e],st[e]=a),ut(e)):null!=st[e]&&(null!=st[e].parentLocale?(st[e]=st[e].parentLocale,e===ut()&&ut(e)):null!=st[e]&&delete st[e]),st[e]},t.locales=function(){return D(st)},t.weekdaysShort=function(e,t,n){return fn(e,t,n,"weekdaysShort")},t.normalizeUnits=$,t.relativeTimeRounding=function(e){return void 0===e?En:"function"==typeof e&&(En=e,!0)},t.relativeTimeThreshold=function(e,t){return void 0!==Sn[e]&&(void 0===t?Sn[e]:(Sn[e]=t,"s"===e&&(Sn.ss=t-1),!0))},t.calendarFormat=function(e,t){return(e=e.diff(t,"days",!0))<-6?"sameElse":e<-1?"lastWeek":e<0?"lastDay":e<1?"sameDay":e<2?"nextDay":e<7?"nextWeek":"sameElse"},t.prototype=K,t.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},t},(o=l).exports=d();const u=l.exports,h={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},g={trace:(...e)=>{},debug:(...e)=>{},info:(...e)=>{},warn:(...e)=>{},error:(...e)=>{},fatal:(...e)=>{}},p=function(e="fatal"){let t=h.fatal;"string"==typeof e?(e=e.toLowerCase())in h&&(t=h[e]):"number"==typeof e&&(t=e),g.trace=()=>{},g.debug=()=>{},g.info=()=>{},g.warn=()=>{},g.error=()=>{},g.fatal=()=>{},t<=h.fatal&&(g.fatal=console.error?console.error.bind(console,f("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",f("FATAL"))),t<=h.error&&(g.error=console.error?console.error.bind(console,f("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",f("ERROR"))),t<=h.warn&&(g.warn=console.warn?console.warn.bind(console,f("WARN"),"color: orange"):console.log.bind(console,"\x1b[33m",f("WARN"))),t<=h.info&&(g.info=console.info?console.info.bind(console,f("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",f("INFO"))),t<=h.debug&&(g.debug=console.debug?console.debug.bind(console,f("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",f("DEBUG"))),t<=h.trace&&(g.trace=console.debug?console.debug.bind(console,f("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",f("TRACE")))},f=e=>`%c${u().format("ss.SSS")} : ${e} : `;var m={};Object.defineProperty(m,"__esModule",{value:!0});var R=m.sanitizeUrl=void 0,y=/^([^\w]*)(javascript|data|vbscript)/im,b=/&#(\w+)(^\w|;)?/g,x=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,v=/^([^:]+):/gm,_=[".","/"];function k(e){return _.indexOf(e[0])>-1}function C(e){return e.replace(b,(function(e,t){return String.fromCharCode(t)}))}function w(e){var t=C(e||"").replace(x,"").trim();if(!t)return"about:blank";if(k(t))return t;var n=t.match(v);if(!n)return t;var a=n[0];return y.test(a)?"about:blank":t}function E(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function S(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function A(e){let t,n,a;function r(e,a,r=0,i=e.length){if(r<i){if(0!==t(a,a))return i;do{const t=r+i>>>1;n(e[t],a)<0?r=t+1:i=t}while(r<i)}return r}function i(e,a,r=0,i=e.length){if(r<i){if(0!==t(a,a))return i;do{const t=r+i>>>1;n(e[t],a)<=0?r=t+1:i=t}while(r<i)}return r}function s(e,t,n=0,i=e.length){const s=r(e,t,n,i-1);return s>n&&a(e[s-1],t)>-a(e[s],t)?s-1:s}return 2!==e.length?(t=E,n=(t,n)=>E(e(t),n),a=(t,n)=>e(t)-n):(t=e===E||e===S?e:T,n=e,a=e),{left:r,center:s,right:i}}function T(){return 0}function D(e){return null===e?NaN:+e}R=m.sanitizeUrl=w;const L=A(E).right;A(D).center;const I=L;class F extends Map{constructor(e,t=M){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[n,a]of e)this.set(n,a)}get(e){return super.get(O(this,e))}has(e){return super.has(O(this,e))}set(e,t){return super.set(N(this,e),t)}delete(e){return super.delete(B(this,e))}}function O({_intern:e,_key:t},n){const a=t(n);return e.has(a)?e.get(a):n}function N({_intern:e,_key:t},n){const a=t(n);return e.has(a)?e.get(a):(e.set(a,n),n)}function B({_intern:e,_key:t},n){const a=t(n);return e.has(a)&&(n=e.get(a),e.delete(a)),n}function M(e){return null!==e&&"object"==typeof e?e.valueOf():e}var P=Math.sqrt(50),j=Math.sqrt(10),V=Math.sqrt(2);function $(e,t,n){var a,r,i,s,o=-1;if(n=+n,(e=+e)==(t=+t)&&n>0)return[e];if((a=t<e)&&(r=e,e=t,t=r),0===(s=U(e,t,n))||!isFinite(s))return[];if(s>0){let n=Math.round(e/s),a=Math.round(t/s);for(n*s<e&&++n,a*s>t&&--a,i=new Array(r=a-n+1);++o<r;)i[o]=(n+o)*s}else{s=-s;let n=Math.round(e*s),a=Math.round(t*s);for(n/s<e&&++n,a/s>t&&--a,i=new Array(r=a-n+1);++o<r;)i[o]=(n+o)/s}return a&&i.reverse(),i}function U(e,t,n){var a=(t-e)/Math.max(0,n),r=Math.floor(Math.log(a)/Math.LN10),i=a/Math.pow(10,r);return r>=0?(i>=P?10:i>=j?5:i>=V?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(i>=P?10:i>=j?5:i>=V?2:1)}function z(e,t,n){var a=Math.abs(t-e)/Math.max(0,n),r=Math.pow(10,Math.floor(Math.log(a)/Math.LN10)),i=a/r;return i>=P?r*=10:i>=j?r*=5:i>=V&&(r*=2),t<e?-r:r}function H(e,t){let n;if(void 0===t)for(const a of e)null!=a&&(n<a||void 0===n&&a>=a)&&(n=a);else{let a=-1;for(let r of e)null!=(r=t(r,++a,e))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}function Y(e,t){let n;if(void 0===t)for(const a of e)null!=a&&(n>a||void 0===n&&a>=a)&&(n=a);else{let a=-1;for(let r of e)null!=(r=t(r,++a,e))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}function W(e){return e}var q=1,G=2,X=3,J=4,K=1e-6;function Z(e){return"translate("+e+",0)"}function Q(e){return"translate(0,"+e+")"}function ee(e){return t=>+e(t)}function te(e,t){return t=Math.max(0,e.bandwidth()-2*t)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function ne(){return!this.__axis}function ae(e,t){var n=[],a=null,r=null,i=6,s=6,o=3,d=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=e===q||e===J?-1:1,c=e===J||e===G?"x":"y",u=e===q||e===X?Z:Q;function h(h){var g=null==a?t.ticks?t.ticks.apply(t,n):t.domain():a,p=null==r?t.tickFormat?t.tickFormat.apply(t,n):W:r,f=Math.max(i,0)+o,m=t.range(),R=+m[0]+d,y=+m[m.length-1]+d,b=(t.bandwidth?te:ee)(t.copy(),d),x=h.selection?h.selection():h,v=x.selectAll(".domain").data([null]),_=x.selectAll(".tick").data(g,t).order(),k=_.exit(),C=_.enter().append("g").attr("class","tick"),w=_.select("line"),E=_.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),_=_.merge(C),w=w.merge(C.append("line").attr("stroke","currentColor").attr(c+"2",l*i)),E=E.merge(C.append("text").attr("fill","currentColor").attr(c,l*f).attr("dy",e===q?"0em":e===X?"0.71em":"0.32em")),h!==x&&(v=v.transition(h),_=_.transition(h),w=w.transition(h),E=E.transition(h),k=k.transition(h).attr("opacity",K).attr("transform",(function(e){return isFinite(e=b(e))?u(e+d):this.getAttribute("transform")})),C.attr("opacity",K).attr("transform",(function(e){var t=this.parentNode.__axis;return u((t&&isFinite(t=t(e))?t:b(e))+d)}))),k.remove(),v.attr("d",e===J||e===G?s?"M"+l*s+","+R+"H"+d+"V"+y+"H"+l*s:"M"+d+","+R+"V"+y:s?"M"+R+","+l*s+"V"+d+"H"+y+"V"+l*s:"M"+R+","+d+"H"+y),_.attr("opacity",1).attr("transform",(function(e){return u(b(e)+d)})),w.attr(c+"2",l*i),E.attr(c,l*f).text(p),x.filter(ne).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===G?"start":e===J?"end":"middle"),x.each((function(){this.__axis=b}))}return h.scale=function(e){return arguments.length?(t=e,h):t},h.ticks=function(){return n=Array.from(arguments),h},h.tickArguments=function(e){return arguments.length?(n=null==e?[]:Array.from(e),h):n.slice()},h.tickValues=function(e){return arguments.length?(a=null==e?null:Array.from(e),h):a&&a.slice()},h.tickFormat=function(e){return arguments.length?(r=e,h):r},h.tickSize=function(e){return arguments.length?(i=s=+e,h):i},h.tickSizeInner=function(e){return arguments.length?(i=+e,h):i},h.tickSizeOuter=function(e){return arguments.length?(s=+e,h):s},h.tickPadding=function(e){return arguments.length?(o=+e,h):o},h.offset=function(e){return arguments.length?(d=+e,h):d},h}function re(e){return ae(q,e)}function ie(e){return ae(X,e)}var se={value:()=>{}};function oe(){for(var e,t=0,n=arguments.length,a={};t<n;++t){if(!(e=arguments[t]+"")||e in a||/[\s.]/.test(e))throw new Error("illegal type: "+e);a[e]=[]}return new de(a)}function de(e){this._=e}function le(e,t){return e.trim().split(/^|\s+/).map((function(e){var n="",a=e.indexOf(".");if(a>=0&&(n=e.slice(a+1),e=e.slice(0,a)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function ce(e,t){for(var n,a=0,r=e.length;a<r;++a)if((n=e[a]).name===t)return n.value}function ue(e,t,n){for(var a=0,r=e.length;a<r;++a)if(e[a].name===t){e[a]=se,e=e.slice(0,a).concat(e.slice(a+1));break}return null!=n&&e.push({name:t,value:n}),e}de.prototype=oe.prototype={constructor:de,on:function(e,t){var n,a=this._,r=le(e+"",a),i=-1,s=r.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++i<s;)if(n=(e=r[i]).type)a[n]=ue(a[n],e.name,t);else if(null==t)for(n in a)a[n]=ue(a[n],e.name,null);return this}for(;++i<s;)if((n=(e=r[i]).type)&&(n=ce(a[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new de(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,a,r=new Array(n),i=0;i<n;++i)r[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=0,n=(a=this._[e]).length;i<n;++i)a[i].value.apply(t,r)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)}};var he="http://www.w3.org/1999/xhtml";const ge={svg:"http://www.w3.org/2000/svg",xhtml:he,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function pe(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),ge.hasOwnProperty(t)?{space:ge[t],local:e}:e}function fe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===he&&t.documentElement.namespaceURI===he?t.createElement(e):t.createElementNS(n,e)}}function me(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Re(e){var t=pe(e);return(t.local?me:fe)(t)}function ye(){}function be(e){return null==e?ye:function(){return this.querySelector(e)}}function xe(e){"function"!=typeof e&&(e=be(e));for(var t=this._groups,n=t.length,a=new Array(n),r=0;r<n;++r)for(var i,s,o=t[r],d=o.length,l=a[r]=new Array(d),c=0;c<d;++c)(i=o[c])&&(s=e.call(i,i.__data__,c,o))&&("__data__"in i&&(s.__data__=i.__data__),l[c]=s);return new ln(a,this._parents)}function ve(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function _e(){return[]}function ke(e){return null==e?_e:function(){return this.querySelectorAll(e)}}function Ce(e){return function(){return ve(e.apply(this,arguments))}}function we(e){e="function"==typeof e?Ce(e):ke(e);for(var t=this._groups,n=t.length,a=[],r=[],i=0;i<n;++i)for(var s,o=t[i],d=o.length,l=0;l<d;++l)(s=o[l])&&(a.push(e.call(s,s.__data__,l,o)),r.push(s));return new ln(a,r)}function Ee(e){return function(){return this.matches(e)}}function Se(e){return function(t){return t.matches(e)}}var Ae=Array.prototype.find;function Te(e){return function(){return Ae.call(this.children,e)}}function De(){return this.firstElementChild}function Le(e){return this.select(null==e?De:Te("function"==typeof e?e:Se(e)))}var Ie=Array.prototype.filter;function Fe(){return Array.from(this.children)}function Oe(e){return function(){return Ie.call(this.children,e)}}function Ne(e){return this.selectAll(null==e?Fe:Oe("function"==typeof e?e:Se(e)))}function Be(e){"function"!=typeof e&&(e=Ee(e));for(var t=this._groups,n=t.length,a=new Array(n),r=0;r<n;++r)for(var i,s=t[r],o=s.length,d=a[r]=[],l=0;l<o;++l)(i=s[l])&&e.call(i,i.__data__,l,s)&&d.push(i);return new ln(a,this._parents)}function Me(e){return new Array(e.length)}function Pe(){return new ln(this._enter||this._groups.map(Me),this._parents)}function je(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function Ve(e){return function(){return e}}function $e(e,t,n,a,r,i){for(var s,o=0,d=t.length,l=i.length;o<l;++o)(s=t[o])?(s.__data__=i[o],a[o]=s):n[o]=new je(e,i[o]);for(;o<d;++o)(s=t[o])&&(r[o]=s)}function Ue(e,t,n,a,r,i,s){var o,d,l,c=new Map,u=t.length,h=i.length,g=new Array(u);for(o=0;o<u;++o)(d=t[o])&&(g[o]=l=s.call(d,d.__data__,o,t)+"",c.has(l)?r[o]=d:c.set(l,d));for(o=0;o<h;++o)l=s.call(e,i[o],o,i)+"",(d=c.get(l))?(a[o]=d,d.__data__=i[o],c.delete(l)):n[o]=new je(e,i[o]);for(o=0;o<u;++o)(d=t[o])&&c.get(g[o])===d&&(r[o]=d)}function ze(e){return e.__data__}function He(e,t){if(!arguments.length)return Array.from(this,ze);var n=t?Ue:$e,a=this._parents,r=this._groups;"function"!=typeof e&&(e=Ve(e));for(var i=r.length,s=new Array(i),o=new Array(i),d=new Array(i),l=0;l<i;++l){var c=a[l],u=r[l],h=u.length,g=Ye(e.call(c,c&&c.__data__,l,a)),p=g.length,f=o[l]=new Array(p),m=s[l]=new Array(p);n(c,u,f,m,d[l]=new Array(h),g,t);for(var R,y,b=0,x=0;b<p;++b)if(R=f[b]){for(b>=x&&(x=b+1);!(y=m[x])&&++x<p;);R._next=y||null}}return(s=new ln(s,a))._enter=o,s._exit=d,s}function Ye(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function We(){return new ln(this._exit||this._groups.map(Me),this._parents)}function qe(e,t,n){var a=this.enter(),r=this,i=this.exit();return"function"==typeof e?(a=e(a))&&(a=a.selection()):a=a.append(e+""),null!=t&&(r=t(r))&&(r=r.selection()),null==n?i.remove():n(i),a&&r?a.merge(r).order():r}function Ge(e){for(var t=e.selection?e.selection():e,n=this._groups,a=t._groups,r=n.length,i=a.length,s=Math.min(r,i),o=new Array(r),d=0;d<s;++d)for(var l,c=n[d],u=a[d],h=c.length,g=o[d]=new Array(h),p=0;p<h;++p)(l=c[p]||u[p])&&(g[p]=l);for(;d<r;++d)o[d]=n[d];return new ln(o,this._parents)}function Xe(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var a,r=e[t],i=r.length-1,s=r[i];--i>=0;)(a=r[i])&&(s&&4^a.compareDocumentPosition(s)&&s.parentNode.insertBefore(a,s),s=a);return this}function Je(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=Ke);for(var n=this._groups,a=n.length,r=new Array(a),i=0;i<a;++i){for(var s,o=n[i],d=o.length,l=r[i]=new Array(d),c=0;c<d;++c)(s=o[c])&&(l[c]=s);l.sort(t)}return new ln(r,this._parents).order()}function Ke(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Ze(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Qe(){return Array.from(this)}function et(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var a=e[t],r=0,i=a.length;r<i;++r){var s=a[r];if(s)return s}return null}function tt(){let e=0;for(const t of this)++e;return e}function nt(){return!this.node()}function at(e){for(var t=this._groups,n=0,a=t.length;n<a;++n)for(var r,i=t[n],s=0,o=i.length;s<o;++s)(r=i[s])&&e.call(r,r.__data__,s,i);return this}function rt(e){return function(){this.removeAttribute(e)}}function it(e){return function(){this.removeAttributeNS(e.space,e.local)}}function st(e,t){return function(){this.setAttribute(e,t)}}function ot(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function dt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function lt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function ct(e,t){var n=pe(e);if(arguments.length<2){var a=this.node();return n.local?a.getAttributeNS(n.space,n.local):a.getAttribute(n)}return this.each((null==t?n.local?it:rt:"function"==typeof t?n.local?lt:dt:n.local?ot:st)(n,t))}function ut(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function ht(e){return function(){this.style.removeProperty(e)}}function gt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function pt(e,t,n){return function(){var a=t.apply(this,arguments);null==a?this.style.removeProperty(e):this.style.setProperty(e,a,n)}}function ft(e,t,n){return arguments.length>1?this.each((null==t?ht:"function"==typeof t?pt:gt)(e,t,null==n?"":n)):mt(this.node(),e)}function mt(e,t){return e.style.getPropertyValue(t)||ut(e).getComputedStyle(e,null).getPropertyValue(t)}function Rt(e){return function(){delete this[e]}}function yt(e,t){return function(){this[e]=t}}function bt(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function xt(e,t){return arguments.length>1?this.each((null==t?Rt:"function"==typeof t?bt:yt)(e,t)):this.node()[e]}function vt(e){return e.trim().split(/^|\s+/)}function _t(e){return e.classList||new kt(e)}function kt(e){this._node=e,this._names=vt(e.getAttribute("class")||"")}function Ct(e,t){for(var n=_t(e),a=-1,r=t.length;++a<r;)n.add(t[a])}function wt(e,t){for(var n=_t(e),a=-1,r=t.length;++a<r;)n.remove(t[a])}function Et(e){return function(){Ct(this,e)}}function St(e){return function(){wt(this,e)}}function At(e,t){return function(){(t.apply(this,arguments)?Ct:wt)(this,e)}}function Tt(e,t){var n=vt(e+"");if(arguments.length<2){for(var a=_t(this.node()),r=-1,i=n.length;++r<i;)if(!a.contains(n[r]))return!1;return!0}return this.each(("function"==typeof t?At:t?Et:St)(n,t))}function Dt(){this.textContent=""}function Lt(e){return function(){this.textContent=e}}function It(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function Ft(e){return arguments.length?this.each(null==e?Dt:("function"==typeof e?It:Lt)(e)):this.node().textContent}function Ot(){this.innerHTML=""}function Nt(e){return function(){this.innerHTML=e}}function Bt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function Mt(e){return arguments.length?this.each(null==e?Ot:("function"==typeof e?Bt:Nt)(e)):this.node().innerHTML}function Pt(){this.nextSibling&&this.parentNode.appendChild(this)}function jt(){return this.each(Pt)}function Vt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function $t(){return this.each(Vt)}function Ut(e){var t="function"==typeof e?e:Re(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))}function zt(){return null}function Ht(e,t){var n="function"==typeof e?e:Re(e),a=null==t?zt:"function"==typeof t?t:be(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),a.apply(this,arguments)||null)}))}function Yt(){var e=this.parentNode;e&&e.removeChild(this)}function Wt(){return this.each(Yt)}function qt(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Gt(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Xt(e){return this.select(e?Gt:qt)}function Jt(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Kt(e){return function(t){e.call(this,t,this.__data__)}}function Zt(e){return e.trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}function Qt(e){return function(){var t=this.__on;if(t){for(var n,a=0,r=-1,i=t.length;a<i;++a)n=t[a],e.type&&n.type!==e.type||n.name!==e.name?t[++r]=n:this.removeEventListener(n.type,n.listener,n.options);++r?t.length=r:delete this.__on}}}function en(e,t,n){return function(){var a,r=this.__on,i=Kt(t);if(r)for(var s=0,o=r.length;s<o;++s)if((a=r[s]).type===e.type&&a.name===e.name)return this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=i,a.options=n),void(a.value=t);this.addEventListener(e.type,i,n),a={type:e.type,name:e.name,value:t,listener:i,options:n},r?r.push(a):this.__on=[a]}}function tn(e,t,n){var a,r,i=Zt(e+""),s=i.length;if(!(arguments.length<2)){for(o=t?en:Qt,a=0;a<s;++a)this.each(o(i[a],t,n));return this}var o=this.node().__on;if(o)for(var d,l=0,c=o.length;l<c;++l)for(a=0,d=o[l];a<s;++a)if((r=i[a]).type===d.type&&r.name===d.name)return d.value}function nn(e,t,n){var a=ut(e),r=a.CustomEvent;"function"==typeof r?r=new r(t,n):(r=a.document.createEvent("Event"),n?(r.initEvent(t,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(t,!1,!1)),e.dispatchEvent(r)}function an(e,t){return function(){return nn(this,e,t)}}function rn(e,t){return function(){return nn(this,e,t.apply(this,arguments))}}function sn(e,t){return this.each(("function"==typeof t?rn:an)(e,t))}function*on(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var a,r=e[t],i=0,s=r.length;i<s;++i)(a=r[i])&&(yield a)}je.prototype={constructor:je,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}},kt.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var dn=[null];function ln(e,t){this._groups=e,this._parents=t}function cn(){return new ln([[document.documentElement]],dn)}function un(){return this}function hn(e){return"string"==typeof e?new ln([[document.querySelector(e)]],[document.documentElement]):new ln([[e]],dn)}function gn(e){return"string"==typeof e?new ln([document.querySelectorAll(e)],[document.documentElement]):new ln([ve(e)],dn)}function pn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function fn(e,t){var n=Object.create(e.prototype);for(var a in t)n[a]=t[a];return n}function mn(){}ln.prototype=cn.prototype={constructor:ln,select:xe,selectAll:we,selectChild:Le,selectChildren:Ne,filter:Be,data:He,enter:Pe,exit:We,join:qe,merge:Ge,selection:un,order:Xe,sort:Je,call:Ze,nodes:Qe,node:et,size:tt,empty:nt,each:at,attr:ct,style:ft,property:xt,classed:Tt,text:Ft,html:Mt,raise:jt,lower:$t,append:Ut,insert:Ht,remove:Wt,clone:Xt,datum:Jt,on:tn,dispatch:sn,[Symbol.iterator]:on};var Rn=.7,yn=1/Rn,bn="\\s*([+-]?\\d+)\\s*",xn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",vn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_n=/^#([0-9a-f]{3,8})$/,kn=new RegExp(`^rgb\\(${bn},${bn},${bn}\\)$`),Cn=new RegExp(`^rgb\\(${vn},${vn},${vn}\\)$`),wn=new RegExp(`^rgba\\(${bn},${bn},${bn},${xn}\\)$`),En=new RegExp(`^rgba\\(${vn},${vn},${vn},${xn}\\)$`),Sn=new RegExp(`^hsl\\(${xn},${vn},${vn}\\)$`),An=new RegExp(`^hsla\\(${xn},${vn},${vn},${xn}\\)$`),Tn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Dn(){return this.rgb().formatHex()}function Ln(){return this.rgb().formatHex8()}function In(){return qn(this).formatHsl()}function Fn(){return this.rgb().formatRgb()}function On(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=_n.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?Nn(t):3===n?new jn(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Bn(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Bn(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=kn.exec(e))?new jn(t[1],t[2],t[3],1):(t=Cn.exec(e))?new jn(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=wn.exec(e))?Bn(t[1],t[2],t[3],t[4]):(t=En.exec(e))?Bn(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Sn.exec(e))?Wn(t[1],t[2]/100,t[3]/100,1):(t=An.exec(e))?Wn(t[1],t[2]/100,t[3]/100,t[4]):Tn.hasOwnProperty(e)?Nn(Tn[e]):"transparent"===e?new jn(NaN,NaN,NaN,0):null}function Nn(e){return new jn(e>>16&255,e>>8&255,255&e,1)}function Bn(e,t,n,a){return a<=0&&(e=t=n=NaN),new jn(e,t,n,a)}function Mn(e){return e instanceof mn||(e=On(e)),e?new jn((e=e.rgb()).r,e.g,e.b,e.opacity):new jn}function Pn(e,t,n,a){return 1===arguments.length?Mn(e):new jn(e,t,n,null==a?1:a)}function jn(e,t,n,a){this.r=+e,this.g=+t,this.b=+n,this.opacity=+a}function Vn(){return`#${Yn(this.r)}${Yn(this.g)}${Yn(this.b)}`}function $n(){return`#${Yn(this.r)}${Yn(this.g)}${Yn(this.b)}${Yn(255*(isNaN(this.opacity)?1:this.opacity))}`}function Un(){const e=zn(this.opacity);return`${1===e?"rgb(":"rgba("}${Hn(this.r)}, ${Hn(this.g)}, ${Hn(this.b)}${1===e?")":`, ${e})`}`}function zn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Yn(e){return((e=Hn(e))<16?"0":"")+e.toString(16)}function Wn(e,t,n,a){return a<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Xn(e,t,n,a)}function qn(e){if(e instanceof Xn)return new Xn(e.h,e.s,e.l,e.opacity);if(e instanceof mn||(e=On(e)),!e)return new Xn;if(e instanceof Xn)return e;var t=(e=e.rgb()).r/255,n=e.g/255,a=e.b/255,r=Math.min(t,n,a),i=Math.max(t,n,a),s=NaN,o=i-r,d=(i+r)/2;return o?(s=t===i?(n-a)/o+6*(n<a):n===i?(a-t)/o+2:(t-n)/o+4,o/=d<.5?i+r:2-i-r,s*=60):o=d>0&&d<1?0:s,new Xn(s,o,d,e.opacity)}function Gn(e,t,n,a){return 1===arguments.length?qn(e):new Xn(e,t,n,null==a?1:a)}function Xn(e,t,n,a){this.h=+e,this.s=+t,this.l=+n,this.opacity=+a}function Jn(e){return(e=(e||0)%360)<0?e+360:e}function Kn(e){return Math.max(0,Math.min(1,e||0))}function Zn(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}pn(mn,On,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Dn,formatHex:Dn,formatHex8:Ln,formatHsl:In,formatRgb:Fn,toString:Fn}),pn(jn,Pn,fn(mn,{brighter(e){return e=null==e?yn:Math.pow(yn,e),new jn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?Rn:Math.pow(Rn,e),new jn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new jn(Hn(this.r),Hn(this.g),Hn(this.b),zn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Vn,formatHex:Vn,formatHex8:$n,formatRgb:Un,toString:Un})),pn(Xn,Gn,fn(mn,{brighter(e){return e=null==e?yn:Math.pow(yn,e),new Xn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Rn:Math.pow(Rn,e),new Xn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,a=n+(n<.5?n:1-n)*t,r=2*n-a;return new jn(Zn(e>=240?e-240:e+120,r,a),Zn(e,r,a),Zn(e<120?e+240:e-120,r,a),this.opacity)},clamp(){return new Xn(Jn(this.h),Kn(this.s),Kn(this.l),zn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=zn(this.opacity);return`${1===e?"hsl(":"hsla("}${Jn(this.h)}, ${100*Kn(this.s)}%, ${100*Kn(this.l)}%${1===e?")":`, ${e})`}`}}));const Qn=Math.PI/180,ea=180/Math.PI,ta=18,na=.96422,aa=1,ra=.82521,ia=4/29,sa=6/29,oa=3*sa*sa,da=sa*sa*sa;function la(e){if(e instanceof ua)return new ua(e.l,e.a,e.b,e.opacity);if(e instanceof ya)return ba(e);e instanceof jn||(e=Mn(e));var t,n,a=fa(e.r),r=fa(e.g),i=fa(e.b),s=ha((.2225045*a+.7168786*r+.0606169*i)/aa);return a===r&&r===i?t=n=s:(t=ha((.4360747*a+.3850649*r+.1430804*i)/na),n=ha((.0139322*a+.0971045*r+.7141733*i)/ra)),new ua(116*s-16,500*(t-s),200*(s-n),e.opacity)}function ca(e,t,n,a){return 1===arguments.length?la(e):new ua(e,t,n,null==a?1:a)}function ua(e,t,n,a){this.l=+e,this.a=+t,this.b=+n,this.opacity=+a}function ha(e){return e>da?Math.pow(e,1/3):e/oa+ia}function ga(e){return e>sa?e*e*e:oa*(e-ia)}function pa(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function fa(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function ma(e){if(e instanceof ya)return new ya(e.h,e.c,e.l,e.opacity);if(e instanceof ua||(e=la(e)),0===e.a&&0===e.b)return new ya(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*ea;return new ya(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function Ra(e,t,n,a){return 1===arguments.length?ma(e):new ya(e,t,n,null==a?1:a)}function ya(e,t,n,a){this.h=+e,this.c=+t,this.l=+n,this.opacity=+a}function ba(e){if(isNaN(e.h))return new ua(e.l,0,0,e.opacity);var t=e.h*Qn;return new ua(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}pn(ua,ca,fn(mn,{brighter(e){return new ua(this.l+ta*(null==e?1:e),this.a,this.b,this.opacity)},darker(e){return new ua(this.l-ta*(null==e?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return new jn(pa(3.1338561*(t=na*ga(t))-1.6168667*(e=aa*ga(e))-.4906146*(n=ra*ga(n))),pa(-.9787684*t+1.9161415*e+.033454*n),pa(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),pn(ya,Ra,fn(mn,{brighter(e){return new ya(this.h,this.c,this.l+ta*(null==e?1:e),this.opacity)},darker(e){return new ya(this.h,this.c,this.l-ta*(null==e?1:e),this.opacity)},rgb(){return ba(this).rgb()}}));const xa=e=>()=>e;function va(e,t){return function(n){return e+n*t}}function _a(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(a){return Math.pow(e+a*t,n)}}function ka(e,t){var n=t-e;return n?va(e,n>180||n<-180?n-360*Math.round(n/360):n):xa(isNaN(e)?t:e)}function Ca(e){return 1==(e=+e)?wa:function(t,n){return n-t?_a(t,n,e):xa(isNaN(t)?n:t)}}function wa(e,t){var n=t-e;return n?va(e,n):xa(isNaN(e)?t:e)}const Ea=function e(t){var n=Ca(t);function a(e,t){var a=n((e=Pn(e)).r,(t=Pn(t)).r),r=n(e.g,t.g),i=n(e.b,t.b),s=wa(e.opacity,t.opacity);return function(t){return e.r=a(t),e.g=r(t),e.b=i(t),e.opacity=s(t),e+""}}return a.gamma=e,a}(1);function Sa(e,t){t||(t=[]);var n,a=e?Math.min(t.length,e.length):0,r=t.slice();return function(i){for(n=0;n<a;++n)r[n]=e[n]*(1-i)+t[n]*i;return r}}function Aa(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Ta(e,t){var n,a=t?t.length:0,r=e?Math.min(a,e.length):0,i=new Array(r),s=new Array(a);for(n=0;n<r;++n)i[n]=Pa(e[n],t[n]);for(;n<a;++n)s[n]=t[n];return function(e){for(n=0;n<r;++n)s[n]=i[n](e);return s}}function Da(e,t){var n=new Date;return e=+e,t=+t,function(a){return n.setTime(e*(1-a)+t*a),n}}function La(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Ia(e,t){var n,a={},r={};for(n in(null===e||"object"!=typeof e)&&(e={}),(null===t||"object"!=typeof t)&&(t={}),t)n in e?a[n]=Pa(e[n],t[n]):r[n]=t[n];return function(e){for(n in a)r[n]=a[n](e);return r}}var Fa=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Oa=new RegExp(Fa.source,"g");function Na(e){return function(){return e}}function Ba(e){return function(t){return e(t)+""}}function Ma(e,t){var n,a,r,i=Fa.lastIndex=Oa.lastIndex=0,s=-1,o=[],d=[];for(e+="",t+="";(n=Fa.exec(e))&&(a=Oa.exec(t));)(r=a.index)>i&&(r=t.slice(i,r),o[s]?o[s]+=r:o[++s]=r),(n=n[0])===(a=a[0])?o[s]?o[s]+=a:o[++s]=a:(o[++s]=null,d.push({i:s,x:La(n,a)})),i=Oa.lastIndex;return i<t.length&&(r=t.slice(i),o[s]?o[s]+=r:o[++s]=r),o.length<2?d[0]?Ba(d[0].x):Na(t):(t=d.length,function(e){for(var n,a=0;a<t;++a)o[(n=d[a]).i]=n.x(e);return o.join("")})}function Pa(e,t){var n,a=typeof t;return null==t||"boolean"===a?xa(t):("number"===a?La:"string"===a?(n=On(t))?(t=n,Ea):Ma:t instanceof On?Ea:t instanceof Date?Da:Aa(t)?Sa:Array.isArray(t)?Ta:"function"!=typeof t.valueOf&&"function"!=typeof t.toString||isNaN(t)?Ia:La)(e,t)}function ja(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Va,$a=180/Math.PI,Ua={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function za(e,t,n,a,r,i){var s,o,d;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(d=e*n+t*a)&&(n-=e*d,a-=t*d),(o=Math.sqrt(n*n+a*a))&&(n/=o,a/=o,d/=o),e*a<t*n&&(e=-e,t=-t,d=-d,s=-s),{translateX:r,translateY:i,rotate:Math.atan2(t,e)*$a,skewX:Math.atan(d)*$a,scaleX:s,scaleY:o}}function Ha(e){const t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Ua:za(t.a,t.b,t.c,t.d,t.e,t.f)}function Ya(e){return null!=e&&(Va||(Va=document.createElementNS("http://www.w3.org/2000/svg","g")),Va.setAttribute("transform",e),e=Va.transform.baseVal.consolidate())?za((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):Ua}function Wa(e,t,n,a){function r(e){return e.length?e.pop()+" ":""}function i(e,a,r,i,s,o){if(e!==r||a!==i){var d=s.push("translate(",null,t,null,n);o.push({i:d-4,x:La(e,r)},{i:d-2,x:La(a,i)})}else(r||i)&&s.push("translate("+r+t+i+n)}function s(e,t,n,i){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),i.push({i:n.push(r(n)+"rotate(",null,a)-2,x:La(e,t)})):t&&n.push(r(n)+"rotate("+t+a)}function o(e,t,n,i){e!==t?i.push({i:n.push(r(n)+"skewX(",null,a)-2,x:La(e,t)}):t&&n.push(r(n)+"skewX("+t+a)}function d(e,t,n,a,i,s){if(e!==n||t!==a){var o=i.push(r(i)+"scale(",null,",",null,")");s.push({i:o-4,x:La(e,n)},{i:o-2,x:La(t,a)})}else(1!==n||1!==a)&&i.push(r(i)+"scale("+n+","+a+")")}return function(t,n){var a=[],r=[];return t=e(t),n=e(n),i(t.translateX,t.translateY,n.translateX,n.translateY,a,r),s(t.rotate,n.rotate,a,r),o(t.skewX,n.skewX,a,r),d(t.scaleX,t.scaleY,n.scaleX,n.scaleY,a,r),t=n=null,function(e){for(var t,n=-1,i=r.length;++n<i;)a[(t=r[n]).i]=t.x(e);return a.join("")}}}var qa=Wa(Ha,"px, ","px)","deg)"),Ga=Wa(Ya,", ",")",")");function Xa(e){return function(t,n){var a=e((t=Ra(t)).h,(n=Ra(n)).h),r=wa(t.c,n.c),i=wa(t.l,n.l),s=wa(t.opacity,n.opacity);return function(e){return t.h=a(e),t.c=r(e),t.l=i(e),t.opacity=s(e),t+""}}}const Ja=Xa(ka);var Ka,Za,Qa=0,er=0,tr=0,nr=1e3,ar=0,rr=0,ir=0,sr="object"==typeof performance&&performance.now?performance:Date,or="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function dr(){return rr||(or(lr),rr=sr.now()+ir)}function lr(){rr=0}function cr(){this._call=this._time=this._next=null}function ur(e,t,n){var a=new cr;return a.restart(e,t,n),a}function hr(){dr(),++Qa;for(var e,t=Ka;t;)(e=rr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Qa}function gr(){rr=(ar=sr.now())+ir,Qa=er=0;try{hr()}finally{Qa=0,fr(),rr=0}}function pr(){var e=sr.now(),t=e-ar;t>nr&&(ir-=t,ar=e)}function fr(){for(var e,t,n=Ka,a=1/0;n;)n._call?(a>n._time&&(a=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:Ka=t);Za=e,mr(a)}function mr(e){Qa||(er&&(er=clearTimeout(er)),e-rr>24?(e<1/0&&(er=setTimeout(gr,e-sr.now()-ir)),tr&&(tr=clearInterval(tr))):(tr||(ar=sr.now(),tr=setInterval(pr,nr)),Qa=1,or(gr)))}function Rr(e,t,n){var a=new cr;return t=null==t?0:+t,a.restart((n=>{a.stop(),e(n+t)}),t,n),a}cr.prototype=ur.prototype={constructor:cr,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?dr():+n)+(null==t?0:+t),!this._next&&Za!==this&&(Za?Za._next=this:Ka=this,Za=this),this._call=e,this._time=n,mr()},stop:function(){this._call&&(this._call=null,this._time=1/0,mr())}};var yr=oe("start","end","cancel","interrupt"),br=[],xr=0,vr=1,_r=2,kr=3,Cr=4,wr=5,Er=6;function Sr(e,t,n,a,r,i){var s=e.__transition;if(s){if(n in s)return}else e.__transition={};Lr(e,n,{name:t,index:a,group:r,on:yr,tween:br,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:xr})}function Ar(e,t){var n=Dr(e,t);if(n.state>xr)throw new Error("too late; already scheduled");return n}function Tr(e,t){var n=Dr(e,t);if(n.state>kr)throw new Error("too late; already running");return n}function Dr(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Lr(e,t,n){var a,r=e.__transition;function i(e){n.state=vr,n.timer.restart(s,n.delay,n.time),n.delay<=e&&s(e-n.delay)}function s(i){var l,c,u,h;if(n.state!==vr)return d();for(l in r)if((h=r[l]).name===n.name){if(h.state===kr)return Rr(s);h.state===Cr?(h.state=Er,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[l]):+l<t&&(h.state=Er,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[l])}if(Rr((function(){n.state===kr&&(n.state=Cr,n.timer.restart(o,n.delay,n.time),o(i))})),n.state=_r,n.on.call("start",e,e.__data__,n.index,n.group),n.state===_r){for(n.state=kr,a=new Array(u=n.tween.length),l=0,c=-1;l<u;++l)(h=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(a[++c]=h);a.length=c+1}}function o(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(d),n.state=wr,1),i=-1,s=a.length;++i<s;)a[i].call(e,r);n.state===wr&&(n.on.call("end",e,e.__data__,n.index,n.group),d())}function d(){for(var a in n.state=Er,n.timer.stop(),delete r[t],r)return;delete e.__transition}r[t]=n,n.timer=ur(i,0,n.time)}function Ir(e,t){var n,a,r,i=e.__transition,s=!0;if(i){for(r in t=null==t?null:t+"",i)(n=i[r]).name===t?(a=n.state>_r&&n.state<wr,n.state=Er,n.timer.stop(),n.on.call(a?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[r]):s=!1;s&&delete e.__transition}}function Fr(e){return this.each((function(){Ir(this,e)}))}function Or(e,t){var n,a;return function(){var r=Tr(this,e),i=r.tween;if(i!==n)for(var s=0,o=(a=n=i).length;s<o;++s)if(a[s].name===t){(a=a.slice()).splice(s,1);break}r.tween=a}}function Nr(e,t,n){var a,r;if("function"!=typeof n)throw new Error;return function(){var i=Tr(this,e),s=i.tween;if(s!==a){r=(a=s).slice();for(var o={name:t,value:n},d=0,l=r.length;d<l;++d)if(r[d].name===t){r[d]=o;break}d===l&&r.push(o)}i.tween=r}}function Br(e,t){var n=this._id;if(e+="",arguments.length<2){for(var a,r=Dr(this.node(),n).tween,i=0,s=r.length;i<s;++i)if((a=r[i]).name===e)return a.value;return null}return this.each((null==t?Or:Nr)(n,e,t))}function Mr(e,t,n){var a=e._id;return e.each((function(){var e=Tr(this,a);(e.value||(e.value={}))[t]=n.apply(this,arguments)})),function(e){return Dr(e,a).value[t]}}function Pr(e,t){var n;return("number"==typeof t?La:t instanceof On?Ea:(n=On(t))?(t=n,Ea):Ma)(e,t)}function jr(e){return function(){this.removeAttribute(e)}}function Vr(e){return function(){this.removeAttributeNS(e.space,e.local)}}function $r(e,t,n){var a,r,i=n+"";return function(){var s=this.getAttribute(e);return s===i?null:s===a?r:r=t(a=s,n)}}function Ur(e,t,n){var a,r,i=n+"";return function(){var s=this.getAttributeNS(e.space,e.local);return s===i?null:s===a?r:r=t(a=s,n)}}function zr(e,t,n){var a,r,i;return function(){var s,o,d=n(this);return null==d?void this.removeAttribute(e):(s=this.getAttribute(e))===(o=d+"")?null:s===a&&o===r?i:(r=o,i=t(a=s,d))}}function Hr(e,t,n){var a,r,i;return function(){var s,o,d=n(this);return null==d?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local))===(o=d+"")?null:s===a&&o===r?i:(r=o,i=t(a=s,d))}}function Yr(e,t){var n=pe(e),a="transform"===n?Ga:Pr;return this.attrTween(e,"function"==typeof t?(n.local?Hr:zr)(n,a,Mr(this,"attr."+e,t)):null==t?(n.local?Vr:jr)(n):(n.local?Ur:$r)(n,a,t))}function Wr(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function qr(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Gr(e,t){var n,a;function r(){var r=t.apply(this,arguments);return r!==a&&(n=(a=r)&&qr(e,r)),n}return r._value=t,r}function Xr(e,t){var n,a;function r(){var r=t.apply(this,arguments);return r!==a&&(n=(a=r)&&Wr(e,r)),n}return r._value=t,r}function Jr(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;var a=pe(e);return this.tween(n,(a.local?Gr:Xr)(a,t))}function Kr(e,t){return function(){Ar(this,e).delay=+t.apply(this,arguments)}}function Zr(e,t){return t=+t,function(){Ar(this,e).delay=t}}function Qr(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?Kr:Zr)(t,e)):Dr(this.node(),t).delay}function ei(e,t){return function(){Tr(this,e).duration=+t.apply(this,arguments)}}function ti(e,t){return t=+t,function(){Tr(this,e).duration=t}}function ni(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?ei:ti)(t,e)):Dr(this.node(),t).duration}function ai(e,t){if("function"!=typeof t)throw new Error;return function(){Tr(this,e).ease=t}}function ri(e){var t=this._id;return arguments.length?this.each(ai(t,e)):Dr(this.node(),t).ease}function ii(e,t){return function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw new Error;Tr(this,e).ease=n}}function si(e){if("function"!=typeof e)throw new Error;return this.each(ii(this._id,e))}function oi(e){"function"!=typeof e&&(e=Ee(e));for(var t=this._groups,n=t.length,a=new Array(n),r=0;r<n;++r)for(var i,s=t[r],o=s.length,d=a[r]=[],l=0;l<o;++l)(i=s[l])&&e.call(i,i.__data__,l,s)&&d.push(i);return new Bi(a,this._parents,this._name,this._id)}function di(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,a=t.length,r=n.length,i=Math.min(a,r),s=new Array(a),o=0;o<i;++o)for(var d,l=t[o],c=n[o],u=l.length,h=s[o]=new Array(u),g=0;g<u;++g)(d=l[g]||c[g])&&(h[g]=d);for(;o<a;++o)s[o]=t[o];return new Bi(s,this._parents,this._name,this._id)}function li(e){return(e+"").trim().split(/^|\s+/).every((function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e}))}function ci(e,t,n){var a,r,i=li(t)?Ar:Tr;return function(){var s=i(this,e),o=s.on;o!==a&&(r=(a=o).copy()).on(t,n),s.on=r}}function ui(e,t){var n=this._id;return arguments.length<2?Dr(this.node(),n).on.on(e):this.each(ci(n,e,t))}function hi(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function gi(){return this.on("end.remove",hi(this._id))}function pi(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=be(e));for(var a=this._groups,r=a.length,i=new Array(r),s=0;s<r;++s)for(var o,d,l=a[s],c=l.length,u=i[s]=new Array(c),h=0;h<c;++h)(o=l[h])&&(d=e.call(o,o.__data__,h,l))&&("__data__"in o&&(d.__data__=o.__data__),u[h]=d,Sr(u[h],t,n,h,u,Dr(o,n)));return new Bi(i,this._parents,t,n)}function fi(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=ke(e));for(var a=this._groups,r=a.length,i=[],s=[],o=0;o<r;++o)for(var d,l=a[o],c=l.length,u=0;u<c;++u)if(d=l[u]){for(var h,g=e.call(d,d.__data__,u,l),p=Dr(d,n),f=0,m=g.length;f<m;++f)(h=g[f])&&Sr(h,t,n,f,g,p);i.push(g),s.push(d)}return new Bi(i,s,t,n)}var mi=cn.prototype.constructor;function Ri(){return new mi(this._groups,this._parents)}function yi(e,t){var n,a,r;return function(){var i=mt(this,e),s=(this.style.removeProperty(e),mt(this,e));return i===s?null:i===n&&s===a?r:r=t(n=i,a=s)}}function bi(e){return function(){this.style.removeProperty(e)}}function xi(e,t,n){var a,r,i=n+"";return function(){var s=mt(this,e);return s===i?null:s===a?r:r=t(a=s,n)}}function vi(e,t,n){var a,r,i;return function(){var s=mt(this,e),o=n(this),d=o+"";return null==o&&(this.style.removeProperty(e),d=o=mt(this,e)),s===d?null:s===a&&d===r?i:(r=d,i=t(a=s,o))}}function _i(e,t){var n,a,r,i,s="style."+t,o="end."+s;return function(){var d=Tr(this,e),l=d.on,c=null==d.value[s]?i||(i=bi(t)):void 0;(l!==n||r!==c)&&(a=(n=l).copy()).on(o,r=c),d.on=a}}function ki(e,t,n){var a="transform"==(e+="")?qa:Pr;return null==t?this.styleTween(e,yi(e,a)).on("end.style."+e,bi(e)):"function"==typeof t?this.styleTween(e,vi(e,a,Mr(this,"style."+e,t))).each(_i(this._id,e)):this.styleTween(e,xi(e,a,t),n).on("end.style."+e,null)}function Ci(e,t,n){return function(a){this.style.setProperty(e,t.call(this,a),n)}}function wi(e,t,n){var a,r;function i(){var i=t.apply(this,arguments);return i!==r&&(a=(r=i)&&Ci(e,i,n)),a}return i._value=t,i}function Ei(e,t,n){var a="style."+(e+="");if(arguments.length<2)return(a=this.tween(a))&&a._value;if(null==t)return this.tween(a,null);if("function"!=typeof t)throw new Error;return this.tween(a,wi(e,t,null==n?"":n))}function Si(e){return function(){this.textContent=e}}function Ai(e){return function(){var t=e(this);this.textContent=null==t?"":t}}function Ti(e){return this.tween("text","function"==typeof e?Ai(Mr(this,"text",e)):Si(null==e?"":e+""))}function Di(e){return function(t){this.textContent=e.call(this,t)}}function Li(e){var t,n;function a(){var a=e.apply(this,arguments);return a!==n&&(t=(n=a)&&Di(a)),t}return a._value=e,a}function Ii(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw new Error;return this.tween(t,Li(e))}function Fi(){for(var e=this._name,t=this._id,n=Mi(),a=this._groups,r=a.length,i=0;i<r;++i)for(var s,o=a[i],d=o.length,l=0;l<d;++l)if(s=o[l]){var c=Dr(s,t);Sr(s,e,n,l,o,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Bi(a,this._parents,e,n)}function Oi(){var e,t,n=this,a=n._id,r=n.size();return new Promise((function(i,s){var o={value:s},d={value:function(){0==--r&&i()}};n.each((function(){var n=Tr(this,a),r=n.on;r!==e&&((t=(e=r).copy())._.cancel.push(o),t._.interrupt.push(o),t._.end.push(d)),n.on=t})),0===r&&i()}))}var Ni=0;function Bi(e,t,n,a){this._groups=e,this._parents=t,this._name=n,this._id=a}function Mi(){return++Ni}var Pi=cn.prototype;function ji(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}Bi.prototype={constructor:Bi,select:pi,selectAll:fi,selectChild:Pi.selectChild,selectChildren:Pi.selectChildren,filter:oi,merge:di,selection:Ri,transition:Fi,call:Pi.call,nodes:Pi.nodes,node:Pi.node,size:Pi.size,empty:Pi.empty,each:Pi.each,on:ui,attr:Yr,attrTween:Jr,style:ki,styleTween:Ei,text:Ti,textTween:Ii,remove:gi,tween:Br,delay:Qr,duration:ni,ease:ri,easeVarying:si,end:Oi,[Symbol.iterator]:Pi[Symbol.iterator]};var Vi={time:null,delay:0,duration:250,ease:ji};function $i(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function Ui(e){var t,n;e instanceof Bi?(t=e._id,e=e._name):(t=Mi(),(n=Vi).time=dr(),e=null==e?null:e+"");for(var a=this._groups,r=a.length,i=0;i<r;++i)for(var s,o=a[i],d=o.length,l=0;l<d;++l)(s=o[l])&&Sr(s,e,t,l,o,n||$i(s,t));return new Bi(a,this._parents,e,t)}cn.prototype.interrupt=Fr,cn.prototype.transition=Ui;const zi=Math.PI,Hi=2*zi,Yi=1e-6,Wi=Hi-Yi;function qi(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Gi(){return new qi}function Xi(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.text()}function Ji(e,t){return fetch(e,t).then(Xi)}function Ki(e){return(t,n)=>Ji(t,n).then((t=>(new DOMParser).parseFromString(t,e)))}qi.prototype=Gi.prototype={constructor:qi,moveTo:function(e,t){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(e,t){this._+="L"+(this._x1=+e)+","+(this._y1=+t)},quadraticCurveTo:function(e,t,n,a){this._+="Q"+ +e+","+ +t+","+(this._x1=+n)+","+(this._y1=+a)},bezierCurveTo:function(e,t,n,a,r,i){this._+="C"+ +e+","+ +t+","+ +n+","+ +a+","+(this._x1=+r)+","+(this._y1=+i)},arcTo:function(e,t,n,a,r){e=+e,t=+t,n=+n,a=+a,r=+r;var i=this._x1,s=this._y1,o=n-e,d=a-t,l=i-e,c=s-t,u=l*l+c*c;if(r<0)throw new Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=e)+","+(this._y1=t);else if(u>Yi)if(Math.abs(c*o-d*l)>Yi&&r){var h=n-i,g=a-s,p=o*o+d*d,f=h*h+g*g,m=Math.sqrt(p),R=Math.sqrt(u),y=r*Math.tan((zi-Math.acos((p+u-f)/(2*m*R)))/2),b=y/R,x=y/m;Math.abs(b-1)>Yi&&(this._+="L"+(e+b*l)+","+(t+b*c)),this._+="A"+r+","+r+",0,0,"+ +(c*h>l*g)+","+(this._x1=e+x*o)+","+(this._y1=t+x*d)}else this._+="L"+(this._x1=e)+","+(this._y1=t)},arc:function(e,t,n,a,r,i){e=+e,t=+t,i=!!i;var s=(n=+n)*Math.cos(a),o=n*Math.sin(a),d=e+s,l=t+o,c=1^i,u=i?a-r:r-a;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+d+","+l:(Math.abs(this._x1-d)>Yi||Math.abs(this._y1-l)>Yi)&&(this._+="L"+d+","+l),n&&(u<0&&(u=u%Hi+Hi),u>Wi?this._+="A"+n+","+n+",0,1,"+c+","+(e-s)+","+(t-o)+"A"+n+","+n+",0,1,"+c+","+(this._x1=d)+","+(this._y1=l):u>Yi&&(this._+="A"+n+","+n+",0,"+ +(u>=zi)+","+c+","+(this._x1=e+n*Math.cos(r))+","+(this._y1=t+n*Math.sin(r))))},rect:function(e,t,n,a){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +n+"v"+ +a+"h"+-n+"Z"},toString:function(){return this._}};var Zi=Ki("image/svg+xml");function Qi(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function es(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,a=e.slice(0,n);return[a.length>1?a[0]+a.slice(2):a,+e.slice(n+1)]}function ts(e){return(e=es(Math.abs(e)))?e[1]:NaN}function ns(e,t){return function(n,a){for(var r=n.length,i=[],s=0,o=e[0],d=0;r>0&&o>0&&(d+o+1>a&&(o=Math.max(1,a-d)),i.push(n.substring(r-=o,r+o)),!((d+=o+1)>a));)o=e[s=(s+1)%e.length];return i.reverse().join(t)}}function as(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}var rs,is=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ss(e){if(!(t=is.exec(e)))throw new Error("invalid format: "+e);var t;return new os({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function os(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function ds(e){e:for(var t,n=e.length,a=1,r=-1;a<n;++a)switch(e[a]){case".":r=t=a;break;case"0":0===r&&(r=a),t=a;break;default:if(!+e[a])break e;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(t+1):e}function ls(e,t){var n=es(e,t);if(!n)return e+"";var a=n[0],r=n[1],i=r-(rs=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,s=a.length;return i===s?a:i>s?a+new Array(i-s+1).join("0"):i>0?a.slice(0,i)+"."+a.slice(i):"0."+new Array(1-i).join("0")+es(e,Math.max(0,t+i-1))[0]}function cs(e,t){var n=es(e,t);if(!n)return e+"";var a=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+a:a.length>r+1?a.slice(0,r+1)+"."+a.slice(r+1):a+new Array(r-a.length+2).join("0")}ss.prototype=os.prototype,os.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const us={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:Qi,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>cs(100*e,t),r:cs,s:ls,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function hs(e){return e}var gs,ps,fs,ms=Array.prototype.map,Rs=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function ys(e){var t=void 0===e.grouping||void 0===e.thousands?hs:ns(ms.call(e.grouping,Number),e.thousands+""),n=void 0===e.currency?"":e.currency[0]+"",a=void 0===e.currency?"":e.currency[1]+"",r=void 0===e.decimal?".":e.decimal+"",i=void 0===e.numerals?hs:as(ms.call(e.numerals,String)),s=void 0===e.percent?"%":e.percent+"",o=void 0===e.minus?"\u2212":e.minus+"",d=void 0===e.nan?"NaN":e.nan+"";function l(e){var l=(e=ss(e)).fill,c=e.align,u=e.sign,h=e.symbol,g=e.zero,p=e.width,f=e.comma,m=e.precision,R=e.trim,y=e.type;"n"===y?(f=!0,y="g"):us[y]||(void 0===m&&(m=12),R=!0,y="g"),(g||"0"===l&&"="===c)&&(g=!0,l="0",c="=");var b="$"===h?n:"#"===h&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",x="$"===h?a:/[%p]/.test(y)?s:"",v=us[y],_=/[defgprs%]/.test(y);function k(e){var n,a,s,h=b,k=x;if("c"===y)k=v(e)+k,e="";else{var C=(e=+e)<0||1/e<0;if(e=isNaN(e)?d:v(Math.abs(e),m),R&&(e=ds(e)),C&&0==+e&&"+"!==u&&(C=!1),h=(C?"("===u?u:o:"-"===u||"("===u?"":u)+h,k=("s"===y?Rs[8+rs/3]:"")+k+(C&&"("===u?")":""),_)for(n=-1,a=e.length;++n<a;)if(48>(s=e.charCodeAt(n))||s>57){k=(46===s?r+e.slice(n+1):e.slice(n))+k,e=e.slice(0,n);break}}f&&!g&&(e=t(e,1/0));var w=h.length+e.length+k.length,E=w<p?new Array(p-w+1).join(l):"";switch(f&&g&&(e=t(E+e,E.length?p-k.length:1/0),E=""),c){case"<":e=h+e+k+E;break;case"=":e=h+E+e+k;break;case"^":e=E.slice(0,w=E.length>>1)+h+e+k+E.slice(w);break;default:e=E+h+e+k}return i(e)}return m=void 0===m?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),k.toString=function(){return e+""},k}function c(e,t){var n=l(((e=ss(e)).type="f",e)),a=3*Math.max(-8,Math.min(8,Math.floor(ts(t)/3))),r=Math.pow(10,-a),i=Rs[8+a/3];return function(e){return n(r*e)+i}}return{format:l,formatPrefix:c}}function bs(e){return gs=ys(e),ps=gs.format,fs=gs.formatPrefix,gs}function xs(e){return Math.max(0,-ts(Math.abs(e)))}function vs(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ts(t)/3)))-ts(Math.abs(e)))}function _s(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ts(t)-ts(e))+1}function ks(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}bs({thousands:",",grouping:[3],currency:["$",""]});const Cs=Symbol("implicit");function ws(){var e=new F,t=[],n=[],a=Cs;function r(r){let i=e.get(r);if(void 0===i){if(a!==Cs)return a;e.set(r,i=t.push(r)-1)}return n[i%n.length]}return r.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new F;for(const a of n)e.has(a)||e.set(a,t.push(a)-1);return r},r.range=function(e){return arguments.length?(n=Array.from(e),r):n.slice()},r.unknown=function(e){return arguments.length?(a=e,r):a},r.copy=function(){return ws(t,n).unknown(a)},ks.apply(r,arguments),r}function Es(e){return function(){return e}}function Ss(e){return+e}var As=[0,1];function Ts(e){return e}function Ds(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Es(isNaN(t)?NaN:.5)}function Ls(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function Is(e,t,n){var a=e[0],r=e[1],i=t[0],s=t[1];return r<a?(a=Ds(r,a),i=n(s,i)):(a=Ds(a,r),i=n(i,s)),function(e){return i(a(e))}}function Fs(e,t,n){var a=Math.min(e.length,t.length)-1,r=new Array(a),i=new Array(a),s=-1;for(e[a]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++s<a;)r[s]=Ds(e[s],e[s+1]),i[s]=n(t[s],t[s+1]);return function(t){var n=I(e,t,1,a)-1;return i[n](r[n](t))}}function Os(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Ns(){var e,t,n,a,r,i,s=As,o=As,d=Pa,l=Ts;function c(){var e=Math.min(s.length,o.length);return l!==Ts&&(l=Ls(s[0],s[e-1])),a=e>2?Fs:Is,r=i=null,u}function u(t){return null==t||isNaN(t=+t)?n:(r||(r=a(s.map(e),o,d)))(e(l(t)))}return u.invert=function(n){return l(t((i||(i=a(o,s.map(e),La)))(n)))},u.domain=function(e){return arguments.length?(s=Array.from(e,Ss),c()):s.slice()},u.range=function(e){return arguments.length?(o=Array.from(e),c()):o.slice()},u.rangeRound=function(e){return o=Array.from(e),d=ja,c()},u.clamp=function(e){return arguments.length?(l=!!e||Ts,c()):l!==Ts},u.interpolate=function(e){return arguments.length?(d=e,c()):d},u.unknown=function(e){return arguments.length?(n=e,u):n},function(n,a){return e=n,t=a,c()}}function Bs(){return Ns()(Ts,Ts)}function Ms(e,t,n,a){var r,i=z(e,t,n);switch((a=ss(null==a?",f":a)).type){case"s":var s=Math.max(Math.abs(e),Math.abs(t));return null==a.precision&&!isNaN(r=vs(i,s))&&(a.precision=r),fs(a,s);case"":case"e":case"g":case"p":case"r":null==a.precision&&!isNaN(r=_s(i,Math.max(Math.abs(e),Math.abs(t))))&&(a.precision=r-("e"===a.type));break;case"f":case"%":null==a.precision&&!isNaN(r=xs(i))&&(a.precision=r-2*("%"===a.type))}return ps(a)}function Ps(e){var t=e.domain;return e.ticks=function(e){var n=t();return $(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var a=t();return Ms(a[0],a[a.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var a,r,i=t(),s=0,o=i.length-1,d=i[s],l=i[o],c=10;for(l<d&&(r=d,d=l,l=r,r=s,s=o,o=r);c-- >0;){if((r=U(d,l,n))===a)return i[s]=d,i[o]=l,t(i);if(r>0)d=Math.floor(d/r)*r,l=Math.ceil(l/r)*r;else{if(!(r<0))break;d=Math.ceil(d*r)/r,l=Math.floor(l*r)/r}a=r}return e},e}function js(){var e=Bs();return e.copy=function(){return Os(e,js())},ks.apply(e,arguments),Ps(e)}function Vs(e,t){var n,a=0,r=(e=e.slice()).length-1,i=e[a],s=e[r];return s<i&&(n=a,a=r,r=n,n=i,i=s,s=n),e[a]=t.floor(i),e[r]=t.ceil(s),e}var $s=new Date,Us=new Date;function zs(e,t,n,a){function r(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return r.floor=function(t){return e(t=new Date(+t)),t},r.ceil=function(n){return e(n=new Date(n-1)),t(n,1),e(n),n},r.round=function(e){var t=r(e),n=r.ceil(e);return e-t<n-e?t:n},r.offset=function(e,n){return t(e=new Date(+e),null==n?1:Math.floor(n)),e},r.range=function(n,a,i){var s,o=[];if(n=r.ceil(n),i=null==i?1:Math.floor(i),!(n<a&&i>0))return o;do{o.push(s=new Date(+n)),t(n,i),e(n)}while(s<n&&n<a);return o},r.filter=function(n){return zs((function(t){if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)}),(function(e,a){if(e>=e)if(a<0)for(;++a<=0;)for(;t(e,-1),!n(e););else for(;--a>=0;)for(;t(e,1),!n(e););}))},n&&(r.count=function(t,a){return $s.setTime(+t),Us.setTime(+a),e($s),e(Us),Math.floor(n($s,Us))},r.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?r.filter(a?function(t){return a(t)%e==0}:function(t){return r.count(0,t)%e==0}):r:null}),r}var Hs=zs((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));Hs.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?zs((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,n){t.setTime(+t+n*e)}),(function(t,n){return(n-t)/e})):Hs:null};const Ys=Hs;Hs.range;const Ws=1e3,qs=60*Ws,Gs=60*qs,Xs=24*Gs,Js=7*Xs,Ks=30*Xs,Zs=365*Xs;var Qs=zs((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+t*Ws)}),(function(e,t){return(t-e)/Ws}),(function(e){return e.getUTCSeconds()}));const eo=Qs;Qs.range;var to=zs((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ws)}),(function(e,t){e.setTime(+e+t*qs)}),(function(e,t){return(t-e)/qs}),(function(e){return e.getMinutes()}));const no=to;to.range;var ao=zs((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ws-e.getMinutes()*qs)}),(function(e,t){e.setTime(+e+t*Gs)}),(function(e,t){return(t-e)/Gs}),(function(e){return e.getHours()}));const ro=ao;ao.range;var io=zs((e=>e.setHours(0,0,0,0)),((e,t)=>e.setDate(e.getDate()+t)),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*qs)/Xs),(e=>e.getDate()-1));const so=io;function oo(e){return zs((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*qs)/Js}))}io.range;var lo=oo(0),co=oo(1),uo=oo(2),ho=oo(3),go=oo(4),po=oo(5),fo=oo(6);lo.range,co.range,uo.range,ho.range,go.range,po.range,fo.range;var mo=zs((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}));const Ro=mo;mo.range;var yo=zs((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));yo.every=function(e){return isFinite(e=Math.floor(e))&&e>0?zs((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n*e)})):null};const bo=yo;yo.range;var xo=zs((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*qs)}),(function(e,t){return(t-e)/qs}),(function(e){return e.getUTCMinutes()}));const vo=xo;xo.range;var _o=zs((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*Gs)}),(function(e,t){return(t-e)/Gs}),(function(e){return e.getUTCHours()}));const ko=_o;_o.range;var Co=zs((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/Xs}),(function(e){return e.getUTCDate()-1}));const wo=Co;function Eo(e){return zs((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/Js}))}Co.range;var So=Eo(0),Ao=Eo(1),To=Eo(2),Do=Eo(3),Lo=Eo(4),Io=Eo(5),Fo=Eo(6);So.range,Ao.range,To.range,Do.range,Lo.range,Io.range,Fo.range;var Oo=zs((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()}));const No=Oo;Oo.range;var Bo=zs((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()}));Bo.every=function(e){return isFinite(e=Math.floor(e))&&e>0?zs((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)})):null};const Mo=Bo;function Po(e,t,n,a,r,i){const s=[[eo,1,Ws],[eo,5,5*Ws],[eo,15,15*Ws],[eo,30,30*Ws],[i,1,qs],[i,5,5*qs],[i,15,15*qs],[i,30,30*qs],[r,1,Gs],[r,3,3*Gs],[r,6,6*Gs],[r,12,12*Gs],[a,1,Xs],[a,2,2*Xs],[n,1,Js],[t,1,Ks],[t,3,3*Ks],[e,1,Zs]];function o(e,t,n){const a=t<e;a&&([e,t]=[t,e]);const r=n&&"function"==typeof n.range?n:d(e,t,n),i=r?r.range(e,+t+1):[];return a?i.reverse():i}function d(t,n,a){const r=Math.abs(n-t)/a,i=A((([,,e])=>e)).right(s,r);if(i===s.length)return e.every(z(t/Zs,n/Zs,a));if(0===i)return Ys.every(Math.max(z(t,n,a),1));const[o,d]=s[r/s[i-1][2]<s[i][2]/r?i-1:i];return o.every(d)}return[o,d]}Bo.range,Po(Mo,No,So,wo,ko,vo);const[jo,Vo]=Po(bo,Ro,lo,so,ro,no);function $o(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Uo(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function zo(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function Ho(e){var t=e.dateTime,n=e.date,a=e.time,r=e.periods,i=e.days,s=e.shortDays,o=e.months,d=e.shortMonths,l=Qo(r),c=ed(r),u=Qo(i),h=ed(i),g=Qo(s),p=ed(s),f=Qo(o),m=ed(o),R=Qo(d),y=ed(d),b={a:F,A:O,b:N,B:B,c:null,d:vd,e:vd,f:Ed,g:Md,G:jd,H:_d,I:kd,j:Cd,L:wd,m:Sd,M:Ad,p:M,q:P,Q:dl,s:ll,S:Td,u:Dd,U:Ld,V:Fd,w:Od,W:Nd,x:null,X:null,y:Bd,Y:Pd,Z:Vd,"%":ol},x={a:j,A:V,b:$,B:U,c:null,d:$d,e:$d,f:Wd,g:al,G:il,H:Ud,I:zd,j:Hd,L:Yd,m:qd,M:Gd,p:z,q:H,Q:dl,s:ll,S:Xd,u:Jd,U:Kd,V:Qd,w:el,W:tl,x:null,X:null,y:nl,Y:rl,Z:sl,"%":ol},v={a:E,A:S,b:A,B:T,c:D,d:ud,e:ud,f:Rd,g:od,G:sd,H:gd,I:gd,j:hd,L:md,m:cd,M:pd,p:w,q:ld,Q:bd,s:xd,S:fd,u:nd,U:ad,V:rd,w:td,W:id,x:L,X:I,y:od,Y:sd,Z:dd,"%":yd};function _(e,t){return function(n){var a,r,i,s=[],o=-1,d=0,l=e.length;for(n instanceof Date||(n=new Date(+n));++o<l;)37===e.charCodeAt(o)&&(s.push(e.slice(d,o)),null!=(r=qo[a=e.charAt(++o)])?a=e.charAt(++o):r="e"===a?" ":"0",(i=t[a])&&(a=i(n,r)),s.push(a),d=o+1);return s.push(e.slice(d,o)),s.join("")}}function k(e,t){return function(n){var a,r,i=zo(1900,void 0,1);if(C(i,e,n+="",0)!=n.length)return null;if("Q"in i)return new Date(i.Q);if("s"in i)return new Date(1e3*i.s+("L"in i?i.L:0));if(t&&!("Z"in i)&&(i.Z=0),"p"in i&&(i.H=i.H%12+12*i.p),void 0===i.m&&(i.m="q"in i?i.q:0),"V"in i){if(i.V<1||i.V>53)return null;"w"in i||(i.w=1),"Z"in i?(r=(a=Uo(zo(i.y,0,1))).getUTCDay(),a=r>4||0===r?Ao.ceil(a):Ao(a),a=wo.offset(a,7*(i.V-1)),i.y=a.getUTCFullYear(),i.m=a.getUTCMonth(),i.d=a.getUTCDate()+(i.w+6)%7):(r=(a=$o(zo(i.y,0,1))).getDay(),a=r>4||0===r?co.ceil(a):co(a),a=so.offset(a,7*(i.V-1)),i.y=a.getFullYear(),i.m=a.getMonth(),i.d=a.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),r="Z"in i?Uo(zo(i.y,0,1)).getUTCDay():$o(zo(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(r+5)%7:i.w+7*i.U-(r+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,Uo(i)):$o(i)}}function C(e,t,n,a){for(var r,i,s=0,o=t.length,d=n.length;s<o;){if(a>=d)return-1;if(37===(r=t.charCodeAt(s++))){if(r=t.charAt(s++),!(i=v[r in qo?t.charAt(s++):r])||(a=i(e,n,a))<0)return-1}else if(r!=n.charCodeAt(a++))return-1}return a}function w(e,t,n){var a=l.exec(t.slice(n));return a?(e.p=c.get(a[0].toLowerCase()),n+a[0].length):-1}function E(e,t,n){var a=g.exec(t.slice(n));return a?(e.w=p.get(a[0].toLowerCase()),n+a[0].length):-1}function S(e,t,n){var a=u.exec(t.slice(n));return a?(e.w=h.get(a[0].toLowerCase()),n+a[0].length):-1}function A(e,t,n){var a=R.exec(t.slice(n));return a?(e.m=y.get(a[0].toLowerCase()),n+a[0].length):-1}function T(e,t,n){var a=f.exec(t.slice(n));return a?(e.m=m.get(a[0].toLowerCase()),n+a[0].length):-1}function D(e,n,a){return C(e,t,n,a)}function L(e,t,a){return C(e,n,t,a)}function I(e,t,n){return C(e,a,t,n)}function F(e){return s[e.getDay()]}function O(e){return i[e.getDay()]}function N(e){return d[e.getMonth()]}function B(e){return o[e.getMonth()]}function M(e){return r[+(e.getHours()>=12)]}function P(e){return 1+~~(e.getMonth()/3)}function j(e){return s[e.getUTCDay()]}function V(e){return i[e.getUTCDay()]}function $(e){return d[e.getUTCMonth()]}function U(e){return o[e.getUTCMonth()]}function z(e){return r[+(e.getUTCHours()>=12)]}function H(e){return 1+~~(e.getUTCMonth()/3)}return b.x=_(n,b),b.X=_(a,b),b.c=_(t,b),x.x=_(n,x),x.X=_(a,x),x.c=_(t,x),{format:function(e){var t=_(e+="",b);return t.toString=function(){return e},t},parse:function(e){var t=k(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=_(e+="",x);return t.toString=function(){return e},t},utcParse:function(e){var t=k(e+="",!0);return t.toString=function(){return e},t}}}var Yo,Wo,qo={"-":"",_:" ",0:"0"},Go=/^\s*\d+/,Xo=/^%/,Jo=/[\\^$*+?|[\]().{}]/g;function Ko(e,t,n){var a=e<0?"-":"",r=(a?-e:e)+"",i=r.length;return a+(i<n?new Array(n-i+1).join(t)+r:r)}function Zo(e){return e.replace(Jo,"\\$&")}function Qo(e){return new RegExp("^(?:"+e.map(Zo).join("|")+")","i")}function ed(e){return new Map(e.map(((e,t)=>[e.toLowerCase(),t])))}function td(e,t,n){var a=Go.exec(t.slice(n,n+1));return a?(e.w=+a[0],n+a[0].length):-1}function nd(e,t,n){var a=Go.exec(t.slice(n,n+1));return a?(e.u=+a[0],n+a[0].length):-1}function ad(e,t,n){var a=Go.exec(t.slice(n,n+2));return a?(e.U=+a[0],n+a[0].length):-1}function rd(e,t,n){var a=Go.exec(t.slice(n,n+2));return a?(e.V=+a[0],n+a[0].length):-1}function id(e,t,n){var a=Go.exec(t.slice(n,n+2));return a?(e.W=+a[0],n+a[0].length):-1}function sd(e,t,n){var a=Go.exec(t.slice(n,n+4));return a?(e.y=+a[0],n+a[0].length):-1}function od(e,t,n){var a=Go.exec(t.slice(n,n+2));return a?(e.y=+a[0]+(+a[0]>68?1900:2e3),n+a[0].length):-1}function dd(e,t,n){var a=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return a?(e.Z=a[1]?0:-(a[2]+(a[3]||"00")),n+a[0].length):-1}function ld(e,t,n){var a=Go.exec(t.slice(n,n+1));return a?(e.q=3*a[0]-3,n+a[0].length):-1}function cd(e,t,n){var a=Go.exec(t.slice(n,n+2));return a?(e.m=a[0]-1,n+a[0].length):-1}function ud(e,t,n){var a=Go.exec(t.slice(n,n+2));return a?(e.d=+a[0],n+a[0].length):-1}function hd(e,t,n){var a=Go.exec(t.slice(n,n+3));return a?(e.m=0,e.d=+a[0],n+a[0].length):-1}function gd(e,t,n){var a=Go.exec(t.slice(n,n+2));return a?(e.H=+a[0],n+a[0].length):-1}function pd(e,t,n){var a=Go.exec(t.slice(n,n+2));return a?(e.M=+a[0],n+a[0].length):-1}function fd(e,t,n){var a=Go.exec(t.slice(n,n+2));return a?(e.S=+a[0],n+a[0].length):-1}function md(e,t,n){var a=Go.exec(t.slice(n,n+3));return a?(e.L=+a[0],n+a[0].length):-1}function Rd(e,t,n){var a=Go.exec(t.slice(n,n+6));return a?(e.L=Math.floor(a[0]/1e3),n+a[0].length):-1}function yd(e,t,n){var a=Xo.exec(t.slice(n,n+1));return a?n+a[0].length:-1}function bd(e,t,n){var a=Go.exec(t.slice(n));return a?(e.Q=+a[0],n+a[0].length):-1}function xd(e,t,n){var a=Go.exec(t.slice(n));return a?(e.s=+a[0],n+a[0].length):-1}function vd(e,t){return Ko(e.getDate(),t,2)}function _d(e,t){return Ko(e.getHours(),t,2)}function kd(e,t){return Ko(e.getHours()%12||12,t,2)}function Cd(e,t){return Ko(1+so.count(bo(e),e),t,3)}function wd(e,t){return Ko(e.getMilliseconds(),t,3)}function Ed(e,t){return wd(e,t)+"000"}function Sd(e,t){return Ko(e.getMonth()+1,t,2)}function Ad(e,t){return Ko(e.getMinutes(),t,2)}function Td(e,t){return Ko(e.getSeconds(),t,2)}function Dd(e){var t=e.getDay();return 0===t?7:t}function Ld(e,t){return Ko(lo.count(bo(e)-1,e),t,2)}function Id(e){var t=e.getDay();return t>=4||0===t?go(e):go.ceil(e)}function Fd(e,t){return e=Id(e),Ko(go.count(bo(e),e)+(4===bo(e).getDay()),t,2)}function Od(e){return e.getDay()}function Nd(e,t){return Ko(co.count(bo(e)-1,e),t,2)}function Bd(e,t){return Ko(e.getFullYear()%100,t,2)}function Md(e,t){return Ko((e=Id(e)).getFullYear()%100,t,2)}function Pd(e,t){return Ko(e.getFullYear()%1e4,t,4)}function jd(e,t){var n=e.getDay();return Ko((e=n>=4||0===n?go(e):go.ceil(e)).getFullYear()%1e4,t,4)}function Vd(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ko(t/60|0,"0",2)+Ko(t%60,"0",2)}function $d(e,t){return Ko(e.getUTCDate(),t,2)}function Ud(e,t){return Ko(e.getUTCHours(),t,2)}function zd(e,t){return Ko(e.getUTCHours()%12||12,t,2)}function Hd(e,t){return Ko(1+wo.count(Mo(e),e),t,3)}function Yd(e,t){return Ko(e.getUTCMilliseconds(),t,3)}function Wd(e,t){return Yd(e,t)+"000"}function qd(e,t){return Ko(e.getUTCMonth()+1,t,2)}function Gd(e,t){return Ko(e.getUTCMinutes(),t,2)}function Xd(e,t){return Ko(e.getUTCSeconds(),t,2)}function Jd(e){var t=e.getUTCDay();return 0===t?7:t}function Kd(e,t){return Ko(So.count(Mo(e)-1,e),t,2)}function Zd(e){var t=e.getUTCDay();return t>=4||0===t?Lo(e):Lo.ceil(e)}function Qd(e,t){return e=Zd(e),Ko(Lo.count(Mo(e),e)+(4===Mo(e).getUTCDay()),t,2)}function el(e){return e.getUTCDay()}function tl(e,t){return Ko(Ao.count(Mo(e)-1,e),t,2)}function nl(e,t){return Ko(e.getUTCFullYear()%100,t,2)}function al(e,t){return Ko((e=Zd(e)).getUTCFullYear()%100,t,2)}function rl(e,t){return Ko(e.getUTCFullYear()%1e4,t,4)}function il(e,t){var n=e.getUTCDay();return Ko((e=n>=4||0===n?Lo(e):Lo.ceil(e)).getUTCFullYear()%1e4,t,4)}function sl(){return"+0000"}function ol(){return"%"}function dl(e){return+e}function ll(e){return Math.floor(+e/1e3)}function cl(e){return Yo=Ho(e),Wo=Yo.format,Yo.parse,Yo.utcFormat,Yo.utcParse,Yo}function ul(e){return new Date(e)}function hl(e){return e instanceof Date?+e:+new Date(+e)}function gl(e,t,n,a,r,i,s,o,d,l){var c=Bs(),u=c.invert,h=c.domain,g=l(".%L"),p=l(":%S"),f=l("%I:%M"),m=l("%I %p"),R=l("%a %d"),y=l("%b %d"),b=l("%B"),x=l("%Y");function v(e){return(d(e)<e?g:o(e)<e?p:s(e)<e?f:i(e)<e?m:a(e)<e?r(e)<e?R:y:n(e)<e?b:x)(e)}return c.invert=function(e){return new Date(u(e))},c.domain=function(e){return arguments.length?h(Array.from(e,hl)):h().map(ul)},c.ticks=function(t){var n=h();return e(n[0],n[n.length-1],null==t?10:t)},c.tickFormat=function(e,t){return null==t?v:l(t)},c.nice=function(e){var n=h();return(!e||"function"!=typeof e.range)&&(e=t(n[0],n[n.length-1],null==e?10:e)),e?h(Vs(n,e)):c},c.copy=function(){return Os(c,gl(e,t,n,a,r,i,s,o,d,l))},c}function pl(){return ks.apply(gl(jo,Vo,bo,Ro,lo,so,ro,no,eo,Wo).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function fl(e){return function(){return e}}cl({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});const ml=Math.abs,Rl=Math.atan2,yl=Math.cos,bl=Math.max,xl=Math.min,vl=Math.sin,_l=Math.sqrt,kl=1e-12,Cl=Math.PI,wl=Cl/2,El=2*Cl;function Sl(e){return e>1?0:e<-1?Cl:Math.acos(e)}function Al(e){return e>=1?wl:e<=-1?-wl:Math.asin(e)}function Tl(e){return e.innerRadius}function Dl(e){return e.outerRadius}function Ll(e){return e.startAngle}function Il(e){return e.endAngle}function Fl(e){return e&&e.padAngle}function Ol(e,t,n,a,r,i,s,o){var d=n-e,l=a-t,c=s-r,u=o-i,h=u*d-c*l;if(!(h*h<kl))return[e+(h=(c*(t-i)-u*(e-r))/h)*d,t+h*l]}function Nl(e,t,n,a,r,i,s){var o=e-n,d=t-a,l=(s?i:-i)/_l(o*o+d*d),c=l*d,u=-l*o,h=e+c,g=t+u,p=n+c,f=a+u,m=(h+p)/2,R=(g+f)/2,y=p-h,b=f-g,x=y*y+b*b,v=r-i,_=h*f-p*g,k=(b<0?-1:1)*_l(bl(0,v*v*x-_*_)),C=(_*b-y*k)/x,w=(-_*y-b*k)/x,E=(_*b+y*k)/x,S=(-_*y+b*k)/x,A=C-m,T=w-R,D=E-m,L=S-R;return A*A+T*T>D*D+L*L&&(C=E,w=S),{cx:C,cy:w,x01:-c,y01:-u,x11:C*(r/v-1),y11:w*(r/v-1)}}function Bl(){var e=Tl,t=Dl,n=fl(0),a=null,r=Ll,i=Il,s=Fl,o=null;function d(){var d,l,c=+e.apply(this,arguments),u=+t.apply(this,arguments),h=r.apply(this,arguments)-wl,g=i.apply(this,arguments)-wl,p=ml(g-h),f=g>h;if(o||(o=d=Gi()),u<c&&(l=u,u=c,c=l),u>kl)if(p>El-kl)o.moveTo(u*yl(h),u*vl(h)),o.arc(0,0,u,h,g,!f),c>kl&&(o.moveTo(c*yl(g),c*vl(g)),o.arc(0,0,c,g,h,f));else{var m,R,y=h,b=g,x=h,v=g,_=p,k=p,C=s.apply(this,arguments)/2,w=C>kl&&(a?+a.apply(this,arguments):_l(c*c+u*u)),E=xl(ml(u-c)/2,+n.apply(this,arguments)),S=E,A=E;if(w>kl){var T=Al(w/c*vl(C)),D=Al(w/u*vl(C));(_-=2*T)>kl?(x+=T*=f?1:-1,v-=T):(_=0,x=v=(h+g)/2),(k-=2*D)>kl?(y+=D*=f?1:-1,b-=D):(k=0,y=b=(h+g)/2)}var L=u*yl(y),I=u*vl(y),F=c*yl(v),O=c*vl(v);if(E>kl){var N,B=u*yl(b),M=u*vl(b),P=c*yl(x),j=c*vl(x);if(p<Cl&&(N=Ol(L,I,P,j,B,M,F,O))){var V=L-N[0],$=I-N[1],U=B-N[0],z=M-N[1],H=1/vl(Sl((V*U+$*z)/(_l(V*V+$*$)*_l(U*U+z*z)))/2),Y=_l(N[0]*N[0]+N[1]*N[1]);S=xl(E,(c-Y)/(H-1)),A=xl(E,(u-Y)/(H+1))}}k>kl?A>kl?(m=Nl(P,j,L,I,u,A,f),R=Nl(B,M,F,O,u,A,f),o.moveTo(m.cx+m.x01,m.cy+m.y01),A<E?o.arc(m.cx,m.cy,A,Rl(m.y01,m.x01),Rl(R.y01,R.x01),!f):(o.arc(m.cx,m.cy,A,Rl(m.y01,m.x01),Rl(m.y11,m.x11),!f),o.arc(0,0,u,Rl(m.cy+m.y11,m.cx+m.x11),Rl(R.cy+R.y11,R.cx+R.x11),!f),o.arc(R.cx,R.cy,A,Rl(R.y11,R.x11),Rl(R.y01,R.x01),!f))):(o.moveTo(L,I),o.arc(0,0,u,y,b,!f)):o.moveTo(L,I),c>kl&&_>kl?S>kl?(m=Nl(F,O,B,M,c,-S,f),R=Nl(L,I,P,j,c,-S,f),o.lineTo(m.cx+m.x01,m.cy+m.y01),S<E?o.arc(m.cx,m.cy,S,Rl(m.y01,m.x01),Rl(R.y01,R.x01),!f):(o.arc(m.cx,m.cy,S,Rl(m.y01,m.x01),Rl(m.y11,m.x11),!f),o.arc(0,0,c,Rl(m.cy+m.y11,m.cx+m.x11),Rl(R.cy+R.y11,R.cx+R.x11),f),o.arc(R.cx,R.cy,S,Rl(R.y11,R.x11),Rl(R.y01,R.x01),!f))):o.arc(0,0,c,v,x,f):o.lineTo(F,O)}else o.moveTo(0,0);if(o.closePath(),d)return o=null,d+""||null}return d.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,a=(+r.apply(this,arguments)+ +i.apply(this,arguments))/2-Cl/2;return[yl(a)*n,vl(a)*n]},d.innerRadius=function(t){return arguments.length?(e="function"==typeof t?t:fl(+t),d):e},d.outerRadius=function(e){return arguments.length?(t="function"==typeof e?e:fl(+e),d):t},d.cornerRadius=function(e){return arguments.length?(n="function"==typeof e?e:fl(+e),d):n},d.padRadius=function(e){return arguments.length?(a=null==e?null:"function"==typeof e?e:fl(+e),d):a},d.startAngle=function(e){return arguments.length?(r="function"==typeof e?e:fl(+e),d):r},d.endAngle=function(e){return arguments.length?(i="function"==typeof e?e:fl(+e),d):i},d.padAngle=function(e){return arguments.length?(s="function"==typeof e?e:fl(+e),d):s},d.context=function(e){return arguments.length?(o=null==e?null:e,d):o},d}function Ml(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function Pl(e){this._context=e}function jl(e){return new Pl(e)}function Vl(e){return e[0]}function $l(e){return e[1]}function Ul(e,t){var n=fl(!0),a=null,r=jl,i=null;function s(s){var o,d,l,c=(s=Ml(s)).length,u=!1;for(null==a&&(i=r(l=Gi())),o=0;o<=c;++o)!(o<c&&n(d=s[o],o,s))===u&&((u=!u)?i.lineStart():i.lineEnd()),u&&i.point(+e(d,o,s),+t(d,o,s));if(l)return i=null,l+""||null}return e="function"==typeof e?e:void 0===e?Vl:fl(e),t="function"==typeof t?t:void 0===t?$l:fl(t),s.x=function(t){return arguments.length?(e="function"==typeof t?t:fl(+t),s):e},s.y=function(e){return arguments.length?(t="function"==typeof e?e:fl(+e),s):t},s.defined=function(e){return arguments.length?(n="function"==typeof e?e:fl(!!e),s):n},s.curve=function(e){return arguments.length?(r=e,null!=a&&(i=r(a)),s):r},s.context=function(e){return arguments.length?(null==e?a=i=null:i=r(a=e),s):a},s}function zl(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function Hl(e){return e}function Yl(){var e=Hl,t=zl,n=null,a=fl(0),r=fl(El),i=fl(0);function s(s){var o,d,l,c,u,h=(s=Ml(s)).length,g=0,p=new Array(h),f=new Array(h),m=+a.apply(this,arguments),R=Math.min(El,Math.max(-El,r.apply(this,arguments)-m)),y=Math.min(Math.abs(R)/h,i.apply(this,arguments)),b=y*(R<0?-1:1);for(o=0;o<h;++o)(u=f[p[o]=o]=+e(s[o],o,s))>0&&(g+=u);for(null!=t?p.sort((function(e,n){return t(f[e],f[n])})):null!=n&&p.sort((function(e,t){return n(s[e],s[t])})),o=0,l=g?(R-h*b)/g:0;o<h;++o,m=c)d=p[o],c=m+((u=f[d])>0?u*l:0)+b,f[d]={data:s[d],index:o,value:u,startAngle:m,endAngle:c,padAngle:y};return f}return s.value=function(t){return arguments.length?(e="function"==typeof t?t:fl(+t),s):e},s.sortValues=function(e){return arguments.length?(t=e,n=null,s):t},s.sort=function(e){return arguments.length?(n=e,t=null,s):n},s.startAngle=function(e){return arguments.length?(a="function"==typeof e?e:fl(+e),s):a},s.endAngle=function(e){return arguments.length?(r="function"==typeof e?e:fl(+e),s):r},s.padAngle=function(e){return arguments.length?(i="function"==typeof e?e:fl(+e),s):i},s}function Wl(){}function ql(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Gl(e){this._context=e}function Xl(e){return new Gl(e)}function Jl(e){this._context=e}function Kl(e){return new Jl(e)}function Zl(e){this._context=e}function Ql(e){return new Zl(e)}function ec(e){this._context=e}function tc(e){return new ec(e)}function nc(e){return e<0?-1:1}function ac(e,t,n){var a=e._x1-e._x0,r=t-e._x1,i=(e._y1-e._y0)/(a||r<0&&-0),s=(n-e._y1)/(r||a<0&&-0),o=(i*r+s*a)/(a+r);return(nc(i)+nc(s))*Math.min(Math.abs(i),Math.abs(s),.5*Math.abs(o))||0}function rc(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function ic(e,t,n){var a=e._x0,r=e._y0,i=e._x1,s=e._y1,o=(i-a)/3;e._context.bezierCurveTo(a+o,r+o*t,i-o,s-o*n,i,s)}function sc(e){this._context=e}function oc(e){this._context=new dc(e)}function dc(e){this._context=e}function lc(e){return new sc(e)}function cc(e){return new oc(e)}function uc(e){this._context=e}function hc(e){var t,n,a=e.length-1,r=new Array(a),i=new Array(a),s=new Array(a);for(r[0]=0,i[0]=2,s[0]=e[0]+2*e[1],t=1;t<a-1;++t)r[t]=1,i[t]=4,s[t]=4*e[t]+2*e[t+1];for(r[a-1]=2,i[a-1]=7,s[a-1]=8*e[a-1]+e[a],t=1;t<a;++t)n=r[t]/i[t-1],i[t]-=n,s[t]-=n*s[t-1];for(r[a-1]=s[a-1]/i[a-1],t=a-2;t>=0;--t)r[t]=(s[t]-r[t+1])/i[t];for(i[a-1]=(e[a]+r[a-1])/2,t=0;t<a-1;++t)i[t]=2*e[t+1]-r[t+1];return[r,i]}function gc(e){return new uc(e)}function pc(e,t){this._context=e,this._t=t}function fc(e){return new pc(e,.5)}function mc(e){return new pc(e,0)}function Rc(e){return new pc(e,1)}function yc(e,t,n){this.k=e,this.x=t,this.y=n}function bc(e){return(bc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xc(e,t){return xc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},xc(e,t)}function vc(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch{return!1}}function _c(e,t,n){return(_c=vc()?Reflect.construct:function(e,t,n){var a=[null];a.push.apply(a,t);var r=new(Function.bind.apply(e,a));return n&&xc(r,n.prototype),r}).apply(null,arguments)}function kc(e){return Cc(e)||wc(e)||Ec(e)||Ac()}function Cc(e){if(Array.isArray(e))return Sc(e)}function wc(e){if(typeof Symbol<"u"&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function Ec(e,t){if(e){if("string"==typeof e)return Sc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Sc(e,t)}}function Sc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function Ac(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}Pl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}},Gl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ql(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ql(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},Jl.prototype={areaStart:Wl,areaEnd:Wl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:ql(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},Zl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,a=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,a):this._context.moveTo(n,a);break;case 3:this._point=4;default:ql(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},ec.prototype={areaStart:Wl,areaEnd:Wl,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}},sc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:ic(this,this._t0,rc(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(t=+t,(e=+e)!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,ic(this,rc(this,n=ac(this,e,t)),n);break;default:ic(this,this._t0,n=ac(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},(oc.prototype=Object.create(sc.prototype)).point=function(e,t){sc.prototype.point.call(this,t,e)},dc.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,a,r,i){this._context.bezierCurveTo(t,e,a,n,i,r)}},uc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),2===n)this._context.lineTo(e[1],t[1]);else for(var a=hc(e),r=hc(t),i=0,s=1;s<n;++i,++s)this._context.bezierCurveTo(a[0][i],r[0][i],a[1][i],r[1][i],e[s],t[s]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}},pc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}},yc.prototype={constructor:yc,scale:function(e){return 1===e?this:new yc(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new yc(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},new yc(1,0,0),yc.prototype;var Tc=Object.hasOwnProperty,Dc=Object.setPrototypeOf,Lc=Object.isFrozen,Ic=Object.getPrototypeOf,Fc=Object.getOwnPropertyDescriptor,Oc=Object.freeze,Nc=Object.seal,Bc=Object.create,Mc=typeof Reflect<"u"&&Reflect,Pc=Mc.apply,jc=Mc.construct;Pc||(Pc=function(e,t,n){return e.apply(t,n)}),Oc||(Oc=function(e){return e}),Nc||(Nc=function(e){return e}),jc||(jc=function(e,t){return _c(e,kc(t))});var Vc=Kc(Array.prototype.forEach),$c=Kc(Array.prototype.pop),Uc=Kc(Array.prototype.push),zc=Kc(String.prototype.toLowerCase),Hc=Kc(String.prototype.toString),Yc=Kc(String.prototype.match),Wc=Kc(String.prototype.replace),qc=Kc(String.prototype.indexOf),Gc=Kc(String.prototype.trim),Xc=Kc(RegExp.prototype.test),Jc=Zc(TypeError);function Kc(e){return function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),r=1;r<n;r++)a[r-1]=arguments[r];return Pc(e,t,a)}}function Zc(e){return function(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return jc(e,n)}}function Qc(e,t,n){n=n||zc,Dc&&Dc(e,null);for(var a=t.length;a--;){var r=t[a];if("string"==typeof r){var i=n(r);i!==r&&(Lc(t)||(t[a]=i),r=i)}e[r]=!0}return e}function eu(e){var t,n=Bc(null);for(t in e)Pc(Tc,e,[t])&&(n[t]=e[t]);return n}function tu(e,t){for(;null!==e;){var n=Fc(e,t);if(n){if(n.get)return Kc(n.get);if("function"==typeof n.value)return Kc(n.value)}e=Ic(e)}function a(e){return console.warn("fallback value for",e),null}return a}var nu=Oc(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),au=Oc(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ru=Oc(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),iu=Oc(["animate","color-profile","cursor","discard","fedropshadow","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),su=Oc(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),ou=Oc(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),du=Oc(["#text"]),lu=Oc(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),cu=Oc(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),uu=Oc(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),hu=Oc(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),gu=Nc(/\{\{[\w\W]*|[\w\W]*\}\}/gm),pu=Nc(/<%[\w\W]*|[\w\W]*%>/gm),fu=Nc(/\${[\w\W]*}/gm),mu=Nc(/^data-[\-\w.\u00B7-\uFFFF]/),Ru=Nc(/^aria-[\-\w]+$/),yu=Nc(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),bu=Nc(/^(?:\w+script|data):/i),xu=Nc(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),vu=Nc(/^html$/i),_u=function(){return typeof window>"u"?null:window},ku=function(e,t){if("object"!==bc(e)||"function"!=typeof e.createPolicy)return null;var n=null,a="data-tt-policy-suffix";t.currentScript&&t.currentScript.hasAttribute(a)&&(n=t.currentScript.getAttribute(a));var r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:function(e){return e},createScriptURL:function(e){return e}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}};function Cu(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_u(),t=function(e){return Cu(e)};if(t.version="2.4.1",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,a=e.document,r=e.DocumentFragment,i=e.HTMLTemplateElement,s=e.Node,o=e.Element,d=e.NodeFilter,l=e.NamedNodeMap,c=void 0===l?e.NamedNodeMap||e.MozNamedAttrMap:l,u=e.HTMLFormElement,h=e.DOMParser,g=e.trustedTypes,p=o.prototype,f=tu(p,"cloneNode"),m=tu(p,"nextSibling"),R=tu(p,"childNodes"),y=tu(p,"parentNode");if("function"==typeof i){var b=a.createElement("template");b.content&&b.content.ownerDocument&&(a=b.content.ownerDocument)}var x=ku(g,n),v=x?x.createHTML(""):"",_=a,k=_.implementation,C=_.createNodeIterator,w=_.createDocumentFragment,E=_.getElementsByTagName,S=n.importNode,A={};try{A=eu(a).documentMode?a.documentMode:{}}catch{}var T={};t.isSupported="function"==typeof y&&k&&typeof k.createHTMLDocument<"u"&&9!==A;var D,L,I=gu,F=pu,O=fu,N=mu,B=Ru,M=bu,P=xu,j=yu,V=null,$=Qc({},[].concat(kc(nu),kc(au),kc(ru),kc(su),kc(du))),U=null,z=Qc({},[].concat(kc(lu),kc(cu),kc(uu),kc(hu))),H=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Y=null,W=null,q=!0,G=!0,X=!1,J=!1,K=!1,Z=!1,Q=!1,ee=!1,te=!1,ne=!1,ae=!0,re=!1,ie="user-content-",se=!0,oe=!1,de={},le=null,ce=Qc({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ue=null,he=Qc({},["audio","video","img","source","image","track"]),ge=null,pe=Qc({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),fe="http://www.w3.org/1998/Math/MathML",me="http://www.w3.org/2000/svg",Re="http://www.w3.org/1999/xhtml",ye=Re,be=!1,xe=null,ve=Qc({},[fe,me,Re],Hc),_e=["application/xhtml+xml","text/html"],ke="text/html",Ce=null,we=a.createElement("form"),Ee=function(e){return e instanceof RegExp||e instanceof Function},Se=function(e){Ce&&Ce===e||((!e||"object"!==bc(e))&&(e={}),e=eu(e),D=D=-1===_e.indexOf(e.PARSER_MEDIA_TYPE)?ke:e.PARSER_MEDIA_TYPE,L="application/xhtml+xml"===D?Hc:zc,V="ALLOWED_TAGS"in e?Qc({},e.ALLOWED_TAGS,L):$,U="ALLOWED_ATTR"in e?Qc({},e.ALLOWED_ATTR,L):z,xe="ALLOWED_NAMESPACES"in e?Qc({},e.ALLOWED_NAMESPACES,Hc):ve,ge="ADD_URI_SAFE_ATTR"in e?Qc(eu(pe),e.ADD_URI_SAFE_ATTR,L):pe,ue="ADD_DATA_URI_TAGS"in e?Qc(eu(he),e.ADD_DATA_URI_TAGS,L):he,le="FORBID_CONTENTS"in e?Qc({},e.FORBID_CONTENTS,L):ce,Y="FORBID_TAGS"in e?Qc({},e.FORBID_TAGS,L):{},W="FORBID_ATTR"in e?Qc({},e.FORBID_ATTR,L):{},de="USE_PROFILES"in e&&e.USE_PROFILES,q=!1!==e.ALLOW_ARIA_ATTR,G=!1!==e.ALLOW_DATA_ATTR,X=e.ALLOW_UNKNOWN_PROTOCOLS||!1,J=e.SAFE_FOR_TEMPLATES||!1,K=e.WHOLE_DOCUMENT||!1,ee=e.RETURN_DOM||!1,te=e.RETURN_DOM_FRAGMENT||!1,ne=e.RETURN_TRUSTED_TYPE||!1,Q=e.FORCE_BODY||!1,ae=!1!==e.SANITIZE_DOM,re=e.SANITIZE_NAMED_PROPS||!1,se=!1!==e.KEEP_CONTENT,oe=e.IN_PLACE||!1,j=e.ALLOWED_URI_REGEXP||j,ye=e.NAMESPACE||Re,e.CUSTOM_ELEMENT_HANDLING&&Ee(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(H.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Ee(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(H.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(H.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),J&&(G=!1),te&&(ee=!0),de&&(V=Qc({},kc(du)),U=[],!0===de.html&&(Qc(V,nu),Qc(U,lu)),!0===de.svg&&(Qc(V,au),Qc(U,cu),Qc(U,hu)),!0===de.svgFilters&&(Qc(V,ru),Qc(U,cu),Qc(U,hu)),!0===de.mathMl&&(Qc(V,su),Qc(U,uu),Qc(U,hu))),e.ADD_TAGS&&(V===$&&(V=eu(V)),Qc(V,e.ADD_TAGS,L)),e.ADD_ATTR&&(U===z&&(U=eu(U)),Qc(U,e.ADD_ATTR,L)),e.ADD_URI_SAFE_ATTR&&Qc(ge,e.ADD_URI_SAFE_ATTR,L),e.FORBID_CONTENTS&&(le===ce&&(le=eu(le)),Qc(le,e.FORBID_CONTENTS,L)),se&&(V["#text"]=!0),K&&Qc(V,["html","head","body"]),V.table&&(Qc(V,["tbody"]),delete Y.tbody),Oc&&Oc(e),Ce=e)},Ae=Qc({},["mi","mo","mn","ms","mtext"]),Te=Qc({},["foreignobject","desc","title","annotation-xml"]),De=Qc({},["title","style","font","a","script"]),Le=Qc({},au);Qc(Le,ru),Qc(Le,iu);var Ie=Qc({},su);Qc(Ie,ou);var Fe=function(e){var t=y(e);(!t||!t.tagName)&&(t={namespaceURI:ye,tagName:"template"});var n=zc(e.tagName),a=zc(t.tagName);return!!xe[e.namespaceURI]&&(e.namespaceURI===me?t.namespaceURI===Re?"svg"===n:t.namespaceURI===fe?"svg"===n&&("annotation-xml"===a||Ae[a]):Boolean(Le[n]):e.namespaceURI===fe?t.namespaceURI===Re?"math"===n:t.namespaceURI===me?"math"===n&&Te[a]:Boolean(Ie[n]):e.namespaceURI===Re?!(t.namespaceURI===me&&!Te[a]||t.namespaceURI===fe&&!Ae[a])&&!Ie[n]&&(De[n]||!Le[n]):!("application/xhtml+xml"!==D||!xe[e.namespaceURI]))},Oe=function(e){Uc(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch{try{e.outerHTML=v}catch{e.remove()}}},Ne=function(e,n){try{Uc(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{Uc(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),"is"===e&&!U[e])if(ee||te)try{Oe(n)}catch{}else try{n.setAttribute(e,"")}catch{}},Be=function(e){var t,n;if(Q)e="<remove></remove>"+e;else{var r=Yc(e,/^[\r\n\t ]+/);n=r&&r[0]}"application/xhtml+xml"===D&&ye===Re&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");var i=x?x.createHTML(e):e;if(ye===Re)try{t=(new h).parseFromString(i,D)}catch{}if(!t||!t.documentElement){t=k.createDocument(ye,"template",null);try{t.documentElement.innerHTML=be?"":i}catch{}}var s=t.body||t.documentElement;return e&&n&&s.insertBefore(a.createTextNode(n),s.childNodes[0]||null),ye===Re?E.call(t,K?"html":"body")[0]:K?t.documentElement:s},Me=function(e){return C.call(e.ownerDocument||e,e,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT,null,!1)},Pe=function(e){return e instanceof u&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof c)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},je=function(e){return"object"===bc(s)?e instanceof s:e&&"object"===bc(e)&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},Ve=function(e,n,a){!T[e]||Vc(T[e],(function(e){e.call(t,n,a,Ce)}))},$e=function(e){var n;if(Ve("beforeSanitizeElements",e,null),Pe(e)||Xc(/[\u0080-\uFFFF]/,e.nodeName))return Oe(e),!0;var a=L(e.nodeName);if(Ve("uponSanitizeElement",e,{tagName:a,allowedTags:V}),e.hasChildNodes()&&!je(e.firstElementChild)&&(!je(e.content)||!je(e.content.firstElementChild))&&Xc(/<[/\w]/g,e.innerHTML)&&Xc(/<[/\w]/g,e.textContent)||"select"===a&&Xc(/<template/i,e.innerHTML))return Oe(e),!0;if(!V[a]||Y[a]){if(!Y[a]&&ze(a)&&(H.tagNameCheck instanceof RegExp&&Xc(H.tagNameCheck,a)||H.tagNameCheck instanceof Function&&H.tagNameCheck(a)))return!1;if(se&&!le[a]){var r=y(e)||e.parentNode,i=R(e)||e.childNodes;if(i&&r)for(var s=i.length-1;s>=0;--s)r.insertBefore(f(i[s],!0),m(e))}return Oe(e),!0}return e instanceof o&&!Fe(e)||("noscript"===a||"noembed"===a)&&Xc(/<\/no(script|embed)/i,e.innerHTML)?(Oe(e),!0):(J&&3===e.nodeType&&(n=e.textContent,n=Wc(n,I," "),n=Wc(n,F," "),n=Wc(n,O," "),e.textContent!==n&&(Uc(t.removed,{element:e.cloneNode()}),e.textContent=n)),Ve("afterSanitizeElements",e,null),!1)},Ue=function(e,t,n){if(ae&&("id"===t||"name"===t)&&(n in a||n in we))return!1;if((!G||W[t]||!Xc(N,t))&&(!q||!Xc(B,t)))if(!U[t]||W[t]){if(!(ze(e)&&(H.tagNameCheck instanceof RegExp&&Xc(H.tagNameCheck,e)||H.tagNameCheck instanceof Function&&H.tagNameCheck(e))&&(H.attributeNameCheck instanceof RegExp&&Xc(H.attributeNameCheck,t)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(t))||"is"===t&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&Xc(H.tagNameCheck,n)||H.tagNameCheck instanceof Function&&H.tagNameCheck(n))))return!1}else if(!ge[t]&&!Xc(j,Wc(n,P,""))&&("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==qc(n,"data:")||!ue[e])&&(!X||Xc(M,Wc(n,P,"")))&&n)return!1;return!0},ze=function(e){return e.indexOf("-")>0},He=function(e){var n,a,r,i;Ve("beforeSanitizeAttributes",e,null);var s=e.attributes;if(s){var o={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:U};for(i=s.length;i--;){var d=n=s[i],l=d.name,c=d.namespaceURI;if(a="value"===l?n.value:Gc(n.value),r=L(l),o.attrName=r,o.attrValue=a,o.keepAttr=!0,o.forceKeepAttr=void 0,Ve("uponSanitizeAttribute",e,o),a=o.attrValue,!o.forceKeepAttr&&(Ne(l,e),o.keepAttr)){if(Xc(/\/>/i,a)){Ne(l,e);continue}J&&(a=Wc(a,I," "),a=Wc(a,F," "),a=Wc(a,O," "));var u=L(e.nodeName);if(Ue(u,r,a)){if(re&&("id"===r||"name"===r)&&(Ne(l,e),a=ie+a),x&&"object"===bc(g)&&"function"==typeof g.getAttributeType&&!c)switch(g.getAttributeType(u,r)){case"TrustedHTML":a=x.createHTML(a);break;case"TrustedScriptURL":a=x.createScriptURL(a)}try{c?e.setAttributeNS(c,l,a):e.setAttribute(l,a),$c(t.removed)}catch{}}}}Ve("afterSanitizeAttributes",e,null)}},Ye=function e(t){var n,a=Me(t);for(Ve("beforeSanitizeShadowDOM",t,null);n=a.nextNode();)Ve("uponSanitizeShadowNode",n,null),!$e(n)&&(n.content instanceof r&&e(n.content),He(n));Ve("afterSanitizeShadowDOM",t,null)};return t.sanitize=function(a){var i,o,d,l,c,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((be=!a)&&(a="\x3c!--\x3e"),"string"!=typeof a&&!je(a)){if("function"!=typeof a.toString)throw Jc("toString is not a function");if("string"!=typeof(a=a.toString()))throw Jc("dirty is not a string, aborting")}if(!t.isSupported){if("object"===bc(e.toStaticHTML)||"function"==typeof e.toStaticHTML){if("string"==typeof a)return e.toStaticHTML(a);if(je(a))return e.toStaticHTML(a.outerHTML)}return a}if(Z||Se(u),t.removed=[],"string"==typeof a&&(oe=!1),oe){if(a.nodeName){var h=L(a.nodeName);if(!V[h]||Y[h])throw Jc("root node is forbidden and cannot be sanitized in-place")}}else if(a instanceof s)1===(o=(i=Be("\x3c!----\x3e")).ownerDocument.importNode(a,!0)).nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?i=o:i.appendChild(o);else{if(!ee&&!J&&!K&&-1===a.indexOf("<"))return x&&ne?x.createHTML(a):a;if(!(i=Be(a)))return ee?null:ne?v:""}i&&Q&&Oe(i.firstChild);for(var g=Me(oe?a:i);d=g.nextNode();)3===d.nodeType&&d===l||$e(d)||(d.content instanceof r&&Ye(d.content),He(d),l=d);if(l=null,oe)return a;if(ee){if(te)for(c=w.call(i.ownerDocument);i.firstChild;)c.appendChild(i.firstChild);else c=i;return U.shadowroot&&(c=S.call(n,c,!0)),c}var p=K?i.outerHTML:i.innerHTML;return K&&V["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&Xc(vu,i.ownerDocument.doctype.name)&&(p="<!DOCTYPE "+i.ownerDocument.doctype.name+">\n"+p),J&&(p=Wc(p,I," "),p=Wc(p,F," "),p=Wc(p,O," ")),x&&ne?x.createHTML(p):p},t.setConfig=function(e){Se(e),Z=!0},t.clearConfig=function(){Ce=null,Z=!1},t.isValidAttribute=function(e,t,n){Ce||Se({});var a=L(e),r=L(t);return Ue(a,r,n)},t.addHook=function(e,t){"function"==typeof t&&(T[e]=T[e]||[],Uc(T[e],t))},t.removeHook=function(e){if(T[e])return $c(T[e])},t.removeHooks=function(e){T[e]&&(T[e]=[])},t.removeAllHooks=function(){T={}},t}var wu=Cu();const Eu=e=>e?Fu(e).replace(/\\n/g,"#br#").split("#br#"):[""],Su=e=>wu.sanitize(e),Au=(e,t)=>{var n;if(!1!==(null==(n=t.flowchart)?void 0:n.htmlLabels)){const n=t.securityLevel;"antiscript"===n||"strict"===n?e=Su(e):"loose"!==n&&(e=(e=(e=Fu(e)).replace(/</g,"<").replace(/>/g,">")).replace(/=/g,"="),e=Iu(e))}return e},Tu=(e,t)=>e&&(e=t.dompurifyConfig?wu.sanitize(Au(e,t),t.dompurifyConfig).toString():wu.sanitize(Au(e,t),{FORBID_TAGS:["style"]}).toString()),Du=(e,t)=>"string"==typeof e?Tu(e,t):e.flat().map((e=>Tu(e,t))),Lu=/<br\s*\/?>/gi,Iu=e=>e.replace(/#br#/g,"<br/>"),Fu=e=>e.replace(Lu,"#br#"),Ou=e=>!(!1===e||["false","null","0"].includes(String(e).trim().toLowerCase())),Nu=function(e){let t=e;return e.includes("~")?(t=t.replace(/~([^~].*)/,"<$1"),t=t.replace(/~([^~]*)$/,">$1"),Nu(t)):t},Bu={getRows:Eu,sanitizeText:Tu,sanitizeTextOrArray:Du,hasBreaks:e=>Lu.test(e),splitBreaks:e=>e.split(Lu),lineBreakRegex:Lu,removeScript:Su,getUrl:e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=t.replaceAll(/\(/g,"\\("),t=t.replaceAll(/\)/g,"\\)")),t},evaluate:Ou},Mu={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:e=>e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e),hsl2rgb:({h:e,s:t,l:n},a)=>{if(!t)return 2.55*n;e/=360,t/=100;const r=(n/=100)<.5?n*(1+t):n+t-n*t,i=2*n-r;switch(a){case"r":return 255*Mu.hue2rgb(i,r,e+1/3);case"g":return 255*Mu.hue2rgb(i,r,e);case"b":return 255*Mu.hue2rgb(i,r,e-1/3)}},rgb2hsl:({r:e,g:t,b:n},a)=>{e/=255,t/=255,n/=255;const r=Math.max(e,t,n),i=Math.min(e,t,n),s=(r+i)/2;if("l"===a)return 100*s;if(r===i)return 0;const o=r-i;if("s"===a)return 100*(s>.5?o/(2-r-i):o/(r+i));switch(r){case e:return 60*((t-n)/o+(t<n?6:0));case t:return 60*((n-e)/o+2);case n:return 60*((e-t)/o+4);default:return-1}}},Pu={channel:Mu,lang:{clamp:(e,t,n)=>t>n?Math.min(t,Math.max(n,e)):Math.min(n,Math.max(t,e)),round:e=>Math.round(1e10*e)/1e10},unit:{dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}}},ju={};for(let e=0;e<=255;e++)ju[e]=Pu.unit.dec2hex(e);const Vu={ALL:0,RGB:1,HSL:2};class $u{constructor(){this.type=Vu.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Vu.ALL}is(e){return this.type===e}}const Uu=$u;class zu{constructor(e,t){this.color=t,this.changed=!1,this.data=e,this.type=new Uu}set(e,t){return this.color=t,this.changed=!1,this.data=e,this.type.type=Vu.ALL,this}_ensureHSL(){const e=this.data,{h:t,s:n,l:a}=e;void 0===t&&(e.h=Pu.channel.rgb2hsl(e,"h")),void 0===n&&(e.s=Pu.channel.rgb2hsl(e,"s")),void 0===a&&(e.l=Pu.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r:t,g:n,b:a}=e;void 0===t&&(e.r=Pu.channel.hsl2rgb(e,"r")),void 0===n&&(e.g=Pu.channel.hsl2rgb(e,"g")),void 0===a&&(e.b=Pu.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,t=e.r;return this.type.is(Vu.HSL)||void 0===t?(this._ensureHSL(),Pu.channel.hsl2rgb(e,"r")):t}get g(){const e=this.data,t=e.g;return this.type.is(Vu.HSL)||void 0===t?(this._ensureHSL(),Pu.channel.hsl2rgb(e,"g")):t}get b(){const e=this.data,t=e.b;return this.type.is(Vu.HSL)||void 0===t?(this._ensureHSL(),Pu.channel.hsl2rgb(e,"b")):t}get h(){const e=this.data,t=e.h;return this.type.is(Vu.RGB)||void 0===t?(this._ensureRGB(),Pu.channel.rgb2hsl(e,"h")):t}get s(){const e=this.data,t=e.s;return this.type.is(Vu.RGB)||void 0===t?(this._ensureRGB(),Pu.channel.rgb2hsl(e,"s")):t}get l(){const e=this.data,t=e.l;return this.type.is(Vu.RGB)||void 0===t?(this._ensureRGB(),Pu.channel.rgb2hsl(e,"l")):t}get a(){return this.data.a}set r(e){this.type.set(Vu.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Vu.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Vu.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Vu.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Vu.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Vu.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const Hu=new zu({r:0,g:0,b:0,a:0},"transparent"),Yu={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(35!==e.charCodeAt(0))return;const t=e.match(Yu.re);if(!t)return;const n=t[1],a=parseInt(n,16),r=n.length,i=r%4==0,s=r>4,o=s?1:17,d=s?8:4,l=i?0:-1,c=s?255:15;return Hu.set({r:(a>>d*(l+3)&c)*o,g:(a>>d*(l+2)&c)*o,b:(a>>d*(l+1)&c)*o,a:i?(a&c)*o/255:1},e)},stringify:e=>{const{r:t,g:n,b:a,a:r}=e;return r<1?`#${ju[Math.round(t)]}${ju[Math.round(n)]}${ju[Math.round(a)]}${ju[Math.round(255*r)]}`:`#${ju[Math.round(t)]}${ju[Math.round(n)]}${ju[Math.round(a)]}`}},Wu=Yu,qu={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{const t=e.match(qu.hueRe);if(t){const[,e,n]=t;switch(n){case"grad":return Pu.channel.clamp.h(.9*parseFloat(e));case"rad":return Pu.channel.clamp.h(180*parseFloat(e)/Math.PI);case"turn":return Pu.channel.clamp.h(360*parseFloat(e))}}return Pu.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(104!==t&&72!==t)return;const n=e.match(qu.re);if(!n)return;const[,a,r,i,s,o]=n;return Hu.set({h:qu._hue2deg(a),s:Pu.channel.clamp.s(parseFloat(r)),l:Pu.channel.clamp.l(parseFloat(i)),a:s?Pu.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},e)},stringify:e=>{const{h:t,s:n,l:a,a:r}=e;return r<1?`hsla(${Pu.lang.round(t)}, ${Pu.lang.round(n)}%, ${Pu.lang.round(a)}%, ${r})`:`hsl(${Pu.lang.round(t)}, ${Pu.lang.round(n)}%, ${Pu.lang.round(a)}%)`}},Gu=qu,Xu={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:e=>{e=e.toLowerCase();const t=Xu.colors[e];if(t)return Wu.parse(t)},stringify:e=>{const t=Wu.stringify(e);for(const n in Xu.colors)if(Xu.colors[n]===t)return n}},Ju=Xu,Ku={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{const t=e.charCodeAt(0);if(114!==t&&82!==t)return;const n=e.match(Ku.re);if(!n)return;const[,a,r,i,s,o,d,l,c]=n;return Hu.set({r:Pu.channel.clamp.r(r?2.55*parseFloat(a):parseFloat(a)),g:Pu.channel.clamp.g(s?2.55*parseFloat(i):parseFloat(i)),b:Pu.channel.clamp.b(d?2.55*parseFloat(o):parseFloat(o)),a:l?Pu.channel.clamp.a(c?parseFloat(l)/100:parseFloat(l)):1},e)},stringify:e=>{const{r:t,g:n,b:a,a:r}=e;return r<1?`rgba(${Pu.lang.round(t)}, ${Pu.lang.round(n)}, ${Pu.lang.round(a)}, ${Pu.lang.round(r)})`:`rgb(${Pu.lang.round(t)}, ${Pu.lang.round(n)}, ${Pu.lang.round(a)})`}},Zu=Ku,Qu={format:{keyword:Ju,hex:Wu,rgb:Zu,rgba:Zu,hsl:Gu,hsla:Gu},parse:e=>{if("string"!=typeof e)return e;const t=Wu.parse(e)||Zu.parse(e)||Gu.parse(e)||Ju.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(Vu.HSL)||void 0===e.data.r?Gu.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?Zu.stringify(e):Wu.stringify(e)},eh=(e,t)=>{const n=Qu.parse(e);for(const a in t)n[a]=Pu.channel.clamp[a](t[a]);return Qu.stringify(n)},th=(e,t,n=0,a=1)=>{if("number"!=typeof e)return eh(e,{a:t});const r=Hu.set({r:Pu.channel.clamp.r(e),g:Pu.channel.clamp.g(t),b:Pu.channel.clamp.b(n),a:Pu.channel.clamp.a(a)});return Qu.stringify(r)},nh=(e,t,n)=>{const a=Qu.parse(e),r=a[t],i=Pu.channel.clamp[t](r+n);return r!==i&&(a[t]=i),Qu.stringify(a)},ah=(e,t)=>nh(e,"l",t),rh=(e,t)=>nh(e,"l",-t),ih=(e,t)=>{const n=Qu.parse(e),a={};for(const r in t)!t[r]||(a[r]=n[r]+t[r]);return eh(e,a)},sh=(e,t,n=50)=>{const{r:a,g:r,b:i,a:s}=Qu.parse(e),{r:o,g:d,b:l,a:c}=Qu.parse(t),u=n/100,h=2*u-1,g=s-c,p=((h*g==-1?h:(h+g)/(1+h*g))+1)/2,f=1-p;return th(a*p+o*f,r*p+d*f,i*p+l*f,s*u+c*(1-u))},oh=(e,t=100)=>{const n=Qu.parse(e);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,sh(n,e,t)},dh=(e,t)=>ih(e,t?{s:-40,l:10}:{s:-40,l:-10}),lh="#ffffff",ch="#f2f2f2";class uh{constructor(){this.background="#f4f4f4",this.darkMode=!1,this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||ih(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||ih(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||dh(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||dh(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||dh(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||dh(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||oh(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||oh(this.tertiaryColor),this.lineColor=this.lineColor||oh(this.background),this.textColor=this.textColor||this.primaryTextColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?rh(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||rh(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||oh(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||ah(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||ih(this.primaryColor,{h:30}),this.cScale4=this.cScale4||ih(this.primaryColor,{h:60}),this.cScale5=this.cScale5||ih(this.primaryColor,{h:90}),this.cScale6=this.cScale6||ih(this.primaryColor,{h:120}),this.cScale7=this.cScale7||ih(this.primaryColor,{h:150}),this.cScale8=this.cScale8||ih(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||ih(this.primaryColor,{h:270}),this.cScale10=this.cScale10||ih(this.primaryColor,{h:300}),this.cScale11=this.cScale11||ih(this.primaryColor,{h:330}),this.darkMode)for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScale"+e]=rh(this["cScale"+e],75);else for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScale"+e]=rh(this["cScale"+e],25);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleInv"+e]=this["cScaleInv"+e]||oh(this["cScale"+e]);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this.darkMode?this["cScalePeer"+e]=this["cScalePeer"+e]||ah(this["cScale"+e],10):this["cScalePeer"+e]=this["cScalePeer"+e]||rh(this["cScale"+e],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleLabel"+e]=this["cScaleLabel"+e]||this.scaleLabelColor;this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||ih(this.primaryColor,{h:64}),this.fillType3=this.fillType3||ih(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||ih(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||ih(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||ih(this.primaryColor,{h:128}),this.fillType7=this.fillType7||ih(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||ih(this.primaryColor,{l:-10}),this.pie5=this.pie5||ih(this.secondaryColor,{l:-10}),this.pie6=this.pie6||ih(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||ih(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||ih(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||ih(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||ih(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||ih(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||ih(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?rh(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||ih(this.primaryColor,{h:-30}),this.git4=this.git4||ih(this.primaryColor,{h:-60}),this.git5=this.git5||ih(this.primaryColor,{h:-90}),this.git6=this.git6||ih(this.primaryColor,{h:60}),this.git7=this.git7||ih(this.primaryColor,{h:120}),this.darkMode?(this.git0=ah(this.git0,25),this.git1=ah(this.git1,25),this.git2=ah(this.git2,25),this.git3=ah(this.git3,25),this.git4=ah(this.git4,25),this.git5=ah(this.git5,25),this.git6=ah(this.git6,25),this.git7=ah(this.git7,25)):(this.git0=rh(this.git0,25),this.git1=rh(this.git1,25),this.git2=rh(this.git2,25),this.git3=rh(this.git3,25),this.git4=rh(this.git4,25),this.git5=rh(this.git5,25),this.git6=rh(this.git6,25),this.git7=rh(this.git7,25)),this.gitInv0=this.gitInv0||oh(this.git0),this.gitInv1=this.gitInv1||oh(this.git1),this.gitInv2=this.gitInv2||oh(this.git2),this.gitInv3=this.gitInv3||oh(this.git3),this.gitInv4=this.gitInv4||oh(this.git4),this.gitInv5=this.gitInv5||oh(this.git5),this.gitInv6=this.gitInv6||oh(this.git6),this.gitInv7=this.gitInv7||oh(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||lh,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||ch}calculate(e){if("object"!=typeof e)return void this.updateColors();const t=Object.keys(e);t.forEach((t=>{this[t]=e[t]})),this.updateColors(),t.forEach((t=>{this[t]=e[t]}))}}const hh=e=>{const t=new uh;return t.calculate(e),t};class gh{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=ah(this.primaryColor,16),this.tertiaryColor=ih(this.primaryColor,{h:-160}),this.primaryBorderColor=oh(this.background),this.secondaryBorderColor=dh(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=dh(this.tertiaryColor,this.darkMode),this.primaryTextColor=oh(this.primaryColor),this.secondaryTextColor=oh(this.secondaryColor),this.tertiaryTextColor=oh(this.tertiaryColor),this.lineColor=oh(this.background),this.textColor=oh(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=ah(oh("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=th(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=rh("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.taskBorderColor=th(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=th(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=ah(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=ah(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=ah(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=ih(this.primaryColor,{h:64}),this.fillType3=ih(this.secondaryColor,{h:64}),this.fillType4=ih(this.primaryColor,{h:-64}),this.fillType5=ih(this.secondaryColor,{h:-64}),this.fillType6=ih(this.primaryColor,{h:128}),this.fillType7=ih(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||ih(this.primaryColor,{h:30}),this.cScale4=this.cScale4||ih(this.primaryColor,{h:60}),this.cScale5=this.cScale5||ih(this.primaryColor,{h:90}),this.cScale6=this.cScale6||ih(this.primaryColor,{h:120}),this.cScale7=this.cScale7||ih(this.primaryColor,{h:150}),this.cScale8=this.cScale8||ih(this.primaryColor,{h:210}),this.cScale9=this.cScale9||ih(this.primaryColor,{h:270}),this.cScale10=this.cScale10||ih(this.primaryColor,{h:300}),this.cScale11=this.cScale11||ih(this.primaryColor,{h:330});for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleInv"+e]=this["cScaleInv"+e]||oh(this["cScale"+e]);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScalePeer"+e]=this["cScalePeer"+e]||ah(this["cScale"+e],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleLabel"+e]=this["cScaleLabel"+e]||this.scaleLabelColor;for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["pie"+e]=this["cScale"+e];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?rh(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=ah(this.secondaryColor,20),this.git1=ah(this.pie2||this.secondaryColor,20),this.git2=ah(this.pie3||this.tertiaryColor,20),this.git3=ah(this.pie4||ih(this.primaryColor,{h:-30}),20),this.git4=ah(this.pie5||ih(this.primaryColor,{h:-60}),20),this.git5=ah(this.pie6||ih(this.primaryColor,{h:-90}),10),this.git6=ah(this.pie7||ih(this.primaryColor,{h:60}),10),this.git7=ah(this.pie8||ih(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||oh(this.git0),this.gitInv1=this.gitInv1||oh(this.git1),this.gitInv2=this.gitInv2||oh(this.git2),this.gitInv3=this.gitInv3||oh(this.git3),this.gitInv4=this.gitInv4||oh(this.git4),this.gitInv5=this.gitInv5||oh(this.git5),this.gitInv6=this.gitInv6||oh(this.git6),this.gitInv7=this.gitInv7||oh(this.git7),this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||ah(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||ah(this.background,2)}calculate(e){if("object"!=typeof e)return void this.updateColors();const t=Object.keys(e);t.forEach((t=>{this[t]=e[t]})),this.updateColors(),t.forEach((t=>{this[t]=e[t]}))}}const ph=e=>{const t=new gh;return t.calculate(e),t};class fh{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=ih(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=ih(this.primaryColor,{h:-160}),this.primaryBorderColor=dh(this.primaryColor,this.darkMode),this.secondaryBorderColor=dh(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=dh(this.tertiaryColor,this.darkMode),this.primaryTextColor=oh(this.primaryColor),this.secondaryTextColor=oh(this.secondaryColor),this.tertiaryTextColor=oh(this.tertiaryColor),this.lineColor=oh(this.background),this.textColor=oh(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=th(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||ih(this.primaryColor,{h:30}),this.cScale4=this.cScale4||ih(this.primaryColor,{h:60}),this.cScale5=this.cScale5||ih(this.primaryColor,{h:90}),this.cScale6=this.cScale6||ih(this.primaryColor,{h:120}),this.cScale7=this.cScale7||ih(this.primaryColor,{h:150}),this.cScale8=this.cScale8||ih(this.primaryColor,{h:210}),this.cScale9=this.cScale9||ih(this.primaryColor,{h:270}),this.cScale10=this.cScale10||ih(this.primaryColor,{h:300}),this.cScale11=this.cScale11||ih(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||rh(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||rh(this.tertiaryColor,40);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScale"+e]=rh(this["cScale"+e],10),this["cScalePeer"+e]=this["cScalePeer"+e]||rh(this["cScale"+e],25);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleInv"+e]=this["cScaleInv"+e]||ih(this["cScale"+e],{h:180});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||oh(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||oh(this.labelTextColor);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleLabel"+e]=this["cScaleLabel"+e]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=ah(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=ih(this.primaryColor,{h:64}),this.fillType3=ih(this.secondaryColor,{h:64}),this.fillType4=ih(this.primaryColor,{h:-64}),this.fillType5=ih(this.secondaryColor,{h:-64}),this.fillType6=ih(this.primaryColor,{h:128}),this.fillType7=ih(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||ih(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||ih(this.primaryColor,{l:-10}),this.pie5=this.pie5||ih(this.secondaryColor,{l:-30}),this.pie6=this.pie6||ih(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||ih(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||ih(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||ih(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||ih(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||ih(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||ih(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||ih(this.primaryColor,{h:-30}),this.git4=this.git4||ih(this.primaryColor,{h:-60}),this.git5=this.git5||ih(this.primaryColor,{h:-90}),this.git6=this.git6||ih(this.primaryColor,{h:60}),this.git7=this.git7||ih(this.primaryColor,{h:120}),this.darkMode?(this.git0=ah(this.git0,25),this.git1=ah(this.git1,25),this.git2=ah(this.git2,25),this.git3=ah(this.git3,25),this.git4=ah(this.git4,25),this.git5=ah(this.git5,25),this.git6=ah(this.git6,25),this.git7=ah(this.git7,25)):(this.git0=rh(this.git0,25),this.git1=rh(this.git1,25),this.git2=rh(this.git2,25),this.git3=rh(this.git3,25),this.git4=rh(this.git4,25),this.git5=rh(this.git5,25),this.git6=rh(this.git6,25),this.git7=rh(this.git7,25)),this.gitInv0=this.gitInv0||rh(oh(this.git0),25),this.gitInv1=this.gitInv1||oh(this.git1),this.gitInv2=this.gitInv2||oh(this.git2),this.gitInv3=this.gitInv3||oh(this.git3),this.gitInv4=this.gitInv4||oh(this.git4),this.gitInv5=this.gitInv5||oh(this.git5),this.gitInv6=this.gitInv6||oh(this.git6),this.gitInv7=this.gitInv7||oh(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||oh(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||oh(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||lh,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||ch}calculate(e){if("object"!=typeof e)return void this.updateColors();const t=Object.keys(e);t.forEach((t=>{this[t]=e[t]})),this.updateColors(),t.forEach((t=>{this[t]=e[t]}))}}const mh=e=>{const t=new fh;return t.calculate(e),t};class Rh{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=ah("#cde498",10),this.primaryBorderColor=dh(this.primaryColor,this.darkMode),this.secondaryBorderColor=dh(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=dh(this.tertiaryColor,this.darkMode),this.primaryTextColor=oh(this.primaryColor),this.secondaryTextColor=oh(this.secondaryColor),this.tertiaryTextColor=oh(this.primaryColor),this.lineColor=oh(this.background),this.textColor=oh(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||ih(this.primaryColor,{h:30}),this.cScale4=this.cScale4||ih(this.primaryColor,{h:60}),this.cScale5=this.cScale5||ih(this.primaryColor,{h:90}),this.cScale6=this.cScale6||ih(this.primaryColor,{h:120}),this.cScale7=this.cScale7||ih(this.primaryColor,{h:150}),this.cScale8=this.cScale8||ih(this.primaryColor,{h:210}),this.cScale9=this.cScale9||ih(this.primaryColor,{h:270}),this.cScale10=this.cScale10||ih(this.primaryColor,{h:300}),this.cScale11=this.cScale11||ih(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||rh(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||rh(this.tertiaryColor,40);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScale"+e]=rh(this["cScale"+e],10),this["cScalePeer"+e]=this["cScalePeer"+e]||rh(this["cScale"+e],25);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleInv"+e]=this["cScaleInv"+e]||ih(this["cScale"+e],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleLabel"+e]=this["cScaleLabel"+e]||this.scaleLabelColor;this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.actorBorder=rh(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=ih(this.primaryColor,{h:64}),this.fillType3=ih(this.secondaryColor,{h:64}),this.fillType4=ih(this.primaryColor,{h:-64}),this.fillType5=ih(this.secondaryColor,{h:-64}),this.fillType6=ih(this.primaryColor,{h:128}),this.fillType7=ih(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||ih(this.primaryColor,{l:-30}),this.pie5=this.pie5||ih(this.secondaryColor,{l:-30}),this.pie6=this.pie6||ih(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||ih(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||ih(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||ih(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||ih(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||ih(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||ih(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||ih(this.primaryColor,{h:-30}),this.git4=this.git4||ih(this.primaryColor,{h:-60}),this.git5=this.git5||ih(this.primaryColor,{h:-90}),this.git6=this.git6||ih(this.primaryColor,{h:60}),this.git7=this.git7||ih(this.primaryColor,{h:120}),this.darkMode?(this.git0=ah(this.git0,25),this.git1=ah(this.git1,25),this.git2=ah(this.git2,25),this.git3=ah(this.git3,25),this.git4=ah(this.git4,25),this.git5=ah(this.git5,25),this.git6=ah(this.git6,25),this.git7=ah(this.git7,25)):(this.git0=rh(this.git0,25),this.git1=rh(this.git1,25),this.git2=rh(this.git2,25),this.git3=rh(this.git3,25),this.git4=rh(this.git4,25),this.git5=rh(this.git5,25),this.git6=rh(this.git6,25),this.git7=rh(this.git7,25)),this.gitInv0=this.gitInv0||oh(this.git0),this.gitInv1=this.gitInv1||oh(this.git1),this.gitInv2=this.gitInv2||oh(this.git2),this.gitInv3=this.gitInv3||oh(this.git3),this.gitInv4=this.gitInv4||oh(this.git4),this.gitInv5=this.gitInv5||oh(this.git5),this.gitInv6=this.gitInv6||oh(this.git6),this.gitInv7=this.gitInv7||oh(this.git7),this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||lh,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||ch}calculate(e){if("object"!=typeof e)return void this.updateColors();const t=Object.keys(e);t.forEach((t=>{this[t]=e[t]})),this.updateColors(),t.forEach((t=>{this[t]=e[t]}))}}const yh=e=>{const t=new Rh;return t.calculate(e),t};class bh{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=ah(this.contrast,55),this.background="#ffffff",this.tertiaryColor=ih(this.primaryColor,{h:-160}),this.primaryBorderColor=dh(this.primaryColor,this.darkMode),this.secondaryBorderColor=dh(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=dh(this.tertiaryColor,this.darkMode),this.primaryTextColor=oh(this.primaryColor),this.secondaryTextColor=oh(this.secondaryColor),this.tertiaryTextColor=oh(this.tertiaryColor),this.lineColor=oh(this.background),this.textColor=oh(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=ah(this.contrast,55),this.border2=this.contrast,this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleInv"+e]=this["cScaleInv"+e]||oh(this["cScale"+e]);for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this.darkMode?this["cScalePeer"+e]=this["cScalePeer"+e]||ah(this["cScale"+e],10):this["cScalePeer"+e]=this["cScalePeer"+e]||rh(this["cScale"+e],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["cScaleLabel"+e]=this["cScaleLabel"+e]||this.scaleLabelColor;this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.actorBorder=ah(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.sectionBkgColor=ah(this.contrast,30),this.sectionBkgColor2=ah(this.contrast,30),this.taskBorderColor=rh(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=ah(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=rh(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=ih(this.primaryColor,{h:64}),this.fillType3=ih(this.secondaryColor,{h:64}),this.fillType4=ih(this.primaryColor,{h:-64}),this.fillType5=ih(this.secondaryColor,{h:-64}),this.fillType6=ih(this.primaryColor,{h:128}),this.fillType7=ih(this.secondaryColor,{h:128});for(let e=0;e<this.THEME_COLOR_LIMIT;e++)this["pie"+e]=this["cScale"+e];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=rh(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||ih(this.primaryColor,{h:-30}),this.git4=this.pie5||ih(this.primaryColor,{h:-60}),this.git5=this.pie6||ih(this.primaryColor,{h:-90}),this.git6=this.pie7||ih(this.primaryColor,{h:60}),this.git7=this.pie8||ih(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||oh(this.git0),this.gitInv1=this.gitInv1||oh(this.git1),this.gitInv2=this.gitInv2||oh(this.git2),this.gitInv3=this.gitInv3||oh(this.git3),this.gitInv4=this.gitInv4||oh(this.git4),this.gitInv5=this.gitInv5||oh(this.git5),this.gitInv6=this.gitInv6||oh(this.git6),this.gitInv7=this.gitInv7||oh(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||lh,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||ch}calculate(e){if("object"!=typeof e)return void this.updateColors();const t=Object.keys(e);t.forEach((t=>{this[t]=e[t]})),this.updateColors(),t.forEach((t=>{this[t]=e[t]}))}}const xh={base:{getThemeVariables:hh},dark:{getThemeVariables:ph},default:{getThemeVariables:mh},forest:{getThemeVariables:yh},neutral:{getThemeVariables:e=>{const t=new bh;return t.calculate(e),t}}},vh={theme:"default",themeVariables:xh.default.getThemeVariables(),themeCSS:void 0,maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,deterministicIDSeed:void 0,flowchart:{titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},sequence:{hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",tickInterval:void 0,useMaxWidth:!0,topAxis:!1,useWidth:void 0},journey:{diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},state:{titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},er:{titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12,useMaxWidth:!0},pie:{useWidth:void 0,useMaxWidth:!0},requirement:{useWidth:void 0,useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},gitGraph:{titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0},c4:{useWidth:void 0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,useMaxWidth:!0,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},fontSize:16};vh.class&&(vh.class.arrowMarkerAbsolute=vh.arrowMarkerAbsolute),vh.gitGraph&&(vh.gitGraph.arrowMarkerAbsolute=vh.arrowMarkerAbsolute);const _h=(e,t="")=>Object.keys(e).reduce(((n,a)=>Array.isArray(e[a])?n:"object"==typeof e[a]&&null!==e[a]?[...n,t+a,..._h(e[a],"")]:[...n,t+a]),[]),kh=_h(vh,""),Ch=vh;function wh(e){return typeof e>"u"||null===e}function Eh(e){return"object"==typeof e&&null!==e}function Sh(e){return Array.isArray(e)?e:wh(e)?[]:[e]}function Ah(e,t){var n,a,r,i;if(t)for(n=0,a=(i=Object.keys(t)).length;n<a;n+=1)e[r=i[n]]=t[r];return e}function Th(e,t){var n,a="";for(n=0;n<t;n+=1)a+=e;return a}function Dh(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}var Lh={isNothing:wh,isObject:Eh,toArray:Sh,repeat:Th,isNegativeZero:Dh,extend:Ah};function Ih(e,t){var n="",a=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(n+="\n\n"+e.mark.snippet),a+" "+n):a}function Fh(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=Ih(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}Fh.prototype=Object.create(Error.prototype),Fh.prototype.constructor=Fh,Fh.prototype.toString=function(e){return this.name+": "+Ih(this,e)};var Oh=Fh;function Nh(e,t,n,a,r){var i="",s="",o=Math.floor(r/2)-1;return a-t>o&&(t=a-o+(i=" ... ").length),n-a>o&&(n=a+o-(s=" ...").length),{str:i+e.slice(t,n).replace(/\t/g,"\u2192")+s,pos:a-t+i.length}}function Bh(e,t){return Lh.repeat(" ",t-e.length)+e}function Mh(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,a=/\r?\n|\r|\0/g,r=[0],i=[],s=-1;n=a.exec(e.buffer);)i.push(n.index),r.push(n.index+n[0].length),e.position<=n.index&&s<0&&(s=r.length-2);s<0&&(s=r.length-1);var o,d,l="",c=Math.min(e.line+t.linesAfter,i.length).toString().length,u=t.maxLength-(t.indent+c+3);for(o=1;o<=t.linesBefore&&!(s-o<0);o++)d=Nh(e.buffer,r[s-o],i[s-o],e.position-(r[s]-r[s-o]),u),l=Lh.repeat(" ",t.indent)+Bh((e.line-o+1).toString(),c)+" | "+d.str+"\n"+l;for(d=Nh(e.buffer,r[s],i[s],e.position,u),l+=Lh.repeat(" ",t.indent)+Bh((e.line+1).toString(),c)+" | "+d.str+"\n",l+=Lh.repeat("-",t.indent+c+3+d.pos)+"^\n",o=1;o<=t.linesAfter&&!(s+o>=i.length);o++)d=Nh(e.buffer,r[s+o],i[s+o],e.position-(r[s]-r[s+o]),u),l+=Lh.repeat(" ",t.indent)+Bh((e.line+o+1).toString(),c)+" | "+d.str+"\n";return l.replace(/\n$/,"")}var Ph=Mh,jh=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Vh=["scalar","sequence","mapping"];function $h(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}function Uh(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===jh.indexOf(t))throw new Oh('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=$h(t.styleAliases||null),-1===Vh.indexOf(this.kind))throw new Oh('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var zh=Uh;function Hh(e,t){var n=[];return e[t].forEach((function(e){var t=n.length;n.forEach((function(n,a){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=a)})),n[t]=e})),n}function Yh(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function a(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(a);return n}function Wh(e){return this.extend(e)}Wh.prototype.extend=function(e){var t=[],n=[];if(e instanceof zh)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new Oh("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof zh))throw new Oh("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new Oh("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new Oh("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(e){if(!(e instanceof zh))throw new Oh("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var a=Object.create(Wh.prototype);return a.implicit=(this.implicit||[]).concat(t),a.explicit=(this.explicit||[]).concat(n),a.compiledImplicit=Hh(a,"implicit"),a.compiledExplicit=Hh(a,"explicit"),a.compiledTypeMap=Yh(a.compiledImplicit,a.compiledExplicit),a};var qh=Wh,Gh=new zh("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}}),Xh=new zh("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}}),Jh=new zh("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}}),Kh=new qh({explicit:[Gh,Xh,Jh]});function Zh(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)}function Qh(){return null}function eg(e){return null===e}var tg=new zh("tag:yaml.org,2002:null",{kind:"scalar",resolve:Zh,construct:Qh,predicate:eg,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function ng(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)}function ag(e){return"true"===e||"True"===e||"TRUE"===e}function rg(e){return"[object Boolean]"===Object.prototype.toString.call(e)}var ig=new zh("tag:yaml.org,2002:bool",{kind:"scalar",resolve:ng,construct:ag,predicate:rg,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function sg(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function og(e){return 48<=e&&e<=55}function dg(e){return 48<=e&&e<=57}function lg(e){if(null===e)return!1;var t,n=e.length,a=0,r=!1;if(!n)return!1;if(("-"===(t=e[a])||"+"===t)&&(t=e[++a]),"0"===t){if(a+1===n)return!0;if("b"===(t=e[++a])){for(a++;a<n;a++)if("_"!==(t=e[a])){if("0"!==t&&"1"!==t)return!1;r=!0}return r&&"_"!==t}if("x"===t){for(a++;a<n;a++)if("_"!==(t=e[a])){if(!sg(e.charCodeAt(a)))return!1;r=!0}return r&&"_"!==t}if("o"===t){for(a++;a<n;a++)if("_"!==(t=e[a])){if(!og(e.charCodeAt(a)))return!1;r=!0}return r&&"_"!==t}}if("_"===t)return!1;for(;a<n;a++)if("_"!==(t=e[a])){if(!dg(e.charCodeAt(a)))return!1;r=!0}return!(!r||"_"===t)}function cg(e){var t,n=e,a=1;if(-1!==n.indexOf("_")&&(n=n.replace(/_/g,"")),("-"===(t=n[0])||"+"===t)&&("-"===t&&(a=-1),t=(n=n.slice(1))[0]),"0"===n)return 0;if("0"===t){if("b"===n[1])return a*parseInt(n.slice(2),2);if("x"===n[1])return a*parseInt(n.slice(2),16);if("o"===n[1])return a*parseInt(n.slice(2),8)}return a*parseInt(n,10)}function ug(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!Lh.isNegativeZero(e)}var hg=new zh("tag:yaml.org,2002:int",{kind:"scalar",resolve:lg,construct:cg,predicate:ug,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),gg=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function pg(e){return!(null===e||!gg.test(e)||"_"===e[e.length-1])}function fg(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)}var mg=/^[-+]?[0-9]+e/;function Rg(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Lh.isNegativeZero(e))return"-0.0";return n=e.toString(10),mg.test(n)?n.replace("e",".e"):n}function yg(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||Lh.isNegativeZero(e))}var bg=new zh("tag:yaml.org,2002:float",{kind:"scalar",resolve:pg,construct:fg,predicate:yg,represent:Rg,defaultStyle:"lowercase"}),xg=Kh.extend({implicit:[tg,ig,hg,bg]}),vg=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),_g=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function kg(e){return null!==e&&(null!==vg.exec(e)||null!==_g.exec(e))}function Cg(e){var t,n,a,r,i,s,o,d,l=0,c=null;if(null===(t=vg.exec(e))&&(t=_g.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],a=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,a,r));if(i=+t[4],s=+t[5],o=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(c=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(c=-c)),d=new Date(Date.UTC(n,a,r,i,s,o,l)),c&&d.setTime(d.getTime()-c),d}function wg(e){return e.toISOString()}var Eg=new zh("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:kg,construct:Cg,instanceOf:Date,represent:wg});function Sg(e){return"<<"===e||null===e}var Ag=new zh("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Sg}),Tg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function Dg(e){if(null===e)return!1;var t,n,a=0,r=e.length,i=Tg;for(n=0;n<r;n++)if(!((t=i.indexOf(e.charAt(n)))>64)){if(t<0)return!1;a+=6}return a%8==0}function Lg(e){var t,n,a=e.replace(/[\r\n=]/g,""),r=a.length,i=Tg,s=0,o=[];for(t=0;t<r;t++)t%4==0&&t&&(o.push(s>>16&255),o.push(s>>8&255),o.push(255&s)),s=s<<6|i.indexOf(a.charAt(t));return 0==(n=r%4*6)?(o.push(s>>16&255),o.push(s>>8&255),o.push(255&s)):18===n?(o.push(s>>10&255),o.push(s>>2&255)):12===n&&o.push(s>>4&255),new Uint8Array(o)}function Ig(e){var t,n,a="",r=0,i=e.length,s=Tg;for(t=0;t<i;t++)t%3==0&&t&&(a+=s[r>>18&63],a+=s[r>>12&63],a+=s[r>>6&63],a+=s[63&r]),r=(r<<8)+e[t];return 0==(n=i%3)?(a+=s[r>>18&63],a+=s[r>>12&63],a+=s[r>>6&63],a+=s[63&r]):2===n?(a+=s[r>>10&63],a+=s[r>>4&63],a+=s[r<<2&63],a+=s[64]):1===n&&(a+=s[r>>2&63],a+=s[r<<4&63],a+=s[64],a+=s[64]),a}function Fg(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)}var Og=new zh("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Dg,construct:Lg,predicate:Fg,represent:Ig}),Ng=Object.prototype.hasOwnProperty,Bg=Object.prototype.toString;function Mg(e){if(null===e)return!0;var t,n,a,r,i,s=[],o=e;for(t=0,n=o.length;t<n;t+=1){if(a=o[t],i=!1,"[object Object]"!==Bg.call(a))return!1;for(r in a)if(Ng.call(a,r)){if(i)return!1;i=!0}if(!i)return!1;if(-1!==s.indexOf(r))return!1;s.push(r)}return!0}function Pg(e){return null!==e?e:[]}var jg=new zh("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Mg,construct:Pg}),Vg=Object.prototype.toString;function $g(e){if(null===e)return!0;var t,n,a,r,i,s=e;for(i=new Array(s.length),t=0,n=s.length;t<n;t+=1){if(a=s[t],"[object Object]"!==Vg.call(a)||1!==(r=Object.keys(a)).length)return!1;i[t]=[r[0],a[r[0]]]}return!0}function Ug(e){if(null===e)return[];var t,n,a,r,i,s=e;for(i=new Array(s.length),t=0,n=s.length;t<n;t+=1)a=s[t],r=Object.keys(a),i[t]=[r[0],a[r[0]]];return i}var zg=new zh("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:$g,construct:Ug}),Hg=Object.prototype.hasOwnProperty;function Yg(e){if(null===e)return!0;var t,n=e;for(t in n)if(Hg.call(n,t)&&null!==n[t])return!1;return!0}function Wg(e){return null!==e?e:{}}var qg=new zh("tag:yaml.org,2002:set",{kind:"mapping",resolve:Yg,construct:Wg}),Gg=xg.extend({implicit:[Eg,Ag],explicit:[Og,jg,zg,qg]}),Xg=Object.prototype.hasOwnProperty,Jg=1,Kg=2,Zg=3,Qg=4,ep=1,tp=2,np=3,ap=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,rp=/[\x85\u2028\u2029]/,ip=/[,\[\]\{\}]/,sp=/^(?:!|!!|![a-z\-]+!)$/i,op=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function dp(e){return Object.prototype.toString.call(e)}function lp(e){return 10===e||13===e}function cp(e){return 9===e||32===e}function up(e){return 9===e||32===e||10===e||13===e}function hp(e){return 44===e||91===e||93===e||123===e||125===e}function gp(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function pp(e){return 120===e?2:117===e?4:85===e?8:0}function fp(e){return 48<=e&&e<=57?e-48:-1}function mp(e){return 48===e?"\0":97===e?"\x07":98===e?"\b":116===e||9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"\x1b":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"\x85":95===e?"\xa0":76===e?"\u2028":80===e?"\u2029":""}function Rp(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var yp=new Array(256),bp=new Array(256),xp=0;xp<256;xp++)yp[xp]=mp(xp)?1:0,bp[xp]=mp(xp);function vp(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||Gg,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function _p(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=Ph(n),new Oh(t,n)}function kp(e,t){throw _p(e,t)}function Cp(e,t){e.onWarning&&e.onWarning.call(null,_p(e,t))}var wp={YAML:function(e,t,n){var a,r,i;null!==e.version&&kp(e,"duplication of %YAML directive"),1!==n.length&&kp(e,"YAML directive accepts exactly one argument"),null===(a=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&kp(e,"ill-formed argument of the YAML directive"),r=parseInt(a[1],10),i=parseInt(a[2],10),1!==r&&kp(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=i<2,1!==i&&2!==i&&Cp(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var a,r;2!==n.length&&kp(e,"TAG directive accepts exactly two arguments"),a=n[0],r=n[1],sp.test(a)||kp(e,"ill-formed tag handle (first argument) of the TAG directive"),Xg.call(e.tagMap,a)&&kp(e,'there is a previously declared suffix for "'+a+'" tag handle'),op.test(r)||kp(e,"ill-formed tag prefix (second argument) of the TAG directive");try{r=decodeURIComponent(r)}catch{kp(e,"tag prefix is malformed: "+r)}e.tagMap[a]=r}};function Ep(e,t,n,a){var r,i,s,o;if(t<n){if(o=e.input.slice(t,n),a)for(r=0,i=o.length;r<i;r+=1)9===(s=o.charCodeAt(r))||32<=s&&s<=1114111||kp(e,"expected valid JSON character");else ap.test(o)&&kp(e,"the stream contains non-printable characters");e.result+=o}}function Sp(e,t,n,a){var r,i,s,o;for(Lh.isObject(n)||kp(e,"cannot merge mappings; the provided source object is unacceptable"),s=0,o=(r=Object.keys(n)).length;s<o;s+=1)i=r[s],Xg.call(t,i)||(t[i]=n[i],a[i]=!0)}function Ap(e,t,n,a,r,i,s,o,d){var l,c;if(Array.isArray(r))for(l=0,c=(r=Array.prototype.slice.call(r)).length;l<c;l+=1)Array.isArray(r[l])&&kp(e,"nested arrays are not supported inside keys"),"object"==typeof r&&"[object Object]"===dp(r[l])&&(r[l]="[object Object]");if("object"==typeof r&&"[object Object]"===dp(r)&&(r="[object Object]"),r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===a)if(Array.isArray(i))for(l=0,c=i.length;l<c;l+=1)Sp(e,t,i[l],n);else Sp(e,t,i,n);else!e.json&&!Xg.call(n,r)&&Xg.call(t,r)&&(e.line=s||e.line,e.lineStart=o||e.lineStart,e.position=d||e.position,kp(e,"duplicated mapping key")),"__proto__"===r?Object.defineProperty(t,r,{configurable:!0,enumerable:!0,writable:!0,value:i}):t[r]=i,delete n[r];return t}function Tp(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):kp(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function Dp(e,t,n){for(var a=0,r=e.input.charCodeAt(e.position);0!==r;){for(;cp(r);)9===r&&-1===e.firstTabInLine&&(e.firstTabInLine=e.position),r=e.input.charCodeAt(++e.position);if(t&&35===r)do{r=e.input.charCodeAt(++e.position)}while(10!==r&&13!==r&&0!==r);if(!lp(r))break;for(Tp(e),r=e.input.charCodeAt(e.position),a++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return-1!==n&&0!==a&&e.lineIndent<n&&Cp(e,"deficient indentation"),a}function Lp(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,t=e.input.charCodeAt(n),0!==t&&!up(t)))}function Ip(e,t){1===t?e.result+=" ":t>1&&(e.result+=Lh.repeat("\n",t-1))}function Fp(e,t,n){var a,r,i,s,o,d,l,c,u=e.kind,h=e.result;if(up(c=e.input.charCodeAt(e.position))||hp(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c||(63===c||45===c)&&(up(a=e.input.charCodeAt(e.position+1))||n&&hp(a)))return!1;for(e.kind="scalar",e.result="",r=i=e.position,s=!1;0!==c;){if(58===c){if(up(a=e.input.charCodeAt(e.position+1))||n&&hp(a))break}else if(35===c){if(up(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&Lp(e)||n&&hp(c))break;if(lp(c)){if(o=e.line,d=e.lineStart,l=e.lineIndent,Dp(e,!1,-1),e.lineIndent>=t){s=!0,c=e.input.charCodeAt(e.position);continue}e.position=i,e.line=o,e.lineStart=d,e.lineIndent=l;break}}s&&(Ep(e,r,i,!1),Ip(e,e.line-o),r=i=e.position,s=!1),cp(c)||(i=e.position+1),c=e.input.charCodeAt(++e.position)}return Ep(e,r,i,!1),!!e.result||(e.kind=u,e.result=h,!1)}function Op(e,t){var n,a,r;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,a=r=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(Ep(e,a,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;a=e.position,e.position++,r=e.position}else lp(n)?(Ep(e,a,r,!0),Ip(e,Dp(e,!1,t)),a=r=e.position):e.position===e.lineStart&&Lp(e)?kp(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);kp(e,"unexpected end of the stream within a single quoted scalar")}function Np(e,t){var n,a,r,i,s,o;if(34!==(o=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=a=e.position;0!==(o=e.input.charCodeAt(e.position));){if(34===o)return Ep(e,n,e.position,!0),e.position++,!0;if(92===o){if(Ep(e,n,e.position,!0),lp(o=e.input.charCodeAt(++e.position)))Dp(e,!1,t);else if(o<256&&yp[o])e.result+=bp[o],e.position++;else if((s=pp(o))>0){for(r=s,i=0;r>0;r--)(s=gp(o=e.input.charCodeAt(++e.position)))>=0?i=(i<<4)+s:kp(e,"expected hexadecimal character");e.result+=Rp(i),e.position++}else kp(e,"unknown escape sequence");n=a=e.position}else lp(o)?(Ep(e,n,a,!0),Ip(e,Dp(e,!1,t)),n=a=e.position):e.position===e.lineStart&&Lp(e)?kp(e,"unexpected end of the document within a double quoted scalar"):(e.position++,a=e.position)}kp(e,"unexpected end of the stream within a double quoted scalar")}function Bp(e,t){var n,a,r,i,s,o,d,l,c,u,h,g,p=!0,f=e.tag,m=e.anchor,R=Object.create(null);if(91===(g=e.input.charCodeAt(e.position)))s=93,l=!1,i=[];else{if(123!==g)return!1;s=125,l=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),g=e.input.charCodeAt(++e.position);0!==g;){if(Dp(e,!0,t),(g=e.input.charCodeAt(e.position))===s)return e.position++,e.tag=f,e.anchor=m,e.kind=l?"mapping":"sequence",e.result=i,!0;p?44===g&&kp(e,"expected the node content, but found ','"):kp(e,"missed comma between flow collection entries"),u=c=h=null,o=d=!1,63===g&&up(e.input.charCodeAt(e.position+1))&&(o=d=!0,e.position++,Dp(e,!0,t)),n=e.line,a=e.lineStart,r=e.position,zp(e,t,Jg,!1,!0),u=e.tag,c=e.result,Dp(e,!0,t),g=e.input.charCodeAt(e.position),(d||e.line===n)&&58===g&&(o=!0,g=e.input.charCodeAt(++e.position),Dp(e,!0,t),zp(e,t,Jg,!1,!0),h=e.result),l?Ap(e,i,R,u,c,h,n,a,r):o?i.push(Ap(e,null,R,u,c,h,n,a,r)):i.push(c),Dp(e,!0,t),44===(g=e.input.charCodeAt(e.position))?(p=!0,g=e.input.charCodeAt(++e.position)):p=!1}kp(e,"unexpected end of the stream within a flow collection")}function Mp(e,t){var n,a,r,i,s=ep,o=!1,d=!1,l=t,c=0,u=!1;if(124===(i=e.input.charCodeAt(e.position)))a=!1;else{if(62!==i)return!1;a=!0}for(e.kind="scalar",e.result="";0!==i;)if(43===(i=e.input.charCodeAt(++e.position))||45===i)ep===s?s=43===i?np:tp:kp(e,"repeat of a chomping mode identifier");else{if(!((r=fp(i))>=0))break;0===r?kp(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):d?kp(e,"repeat of an indentation width identifier"):(l=t+r-1,d=!0)}if(cp(i)){do{i=e.input.charCodeAt(++e.position)}while(cp(i));if(35===i)do{i=e.input.charCodeAt(++e.position)}while(!lp(i)&&0!==i)}for(;0!==i;){for(Tp(e),e.lineIndent=0,i=e.input.charCodeAt(e.position);(!d||e.lineIndent<l)&&32===i;)e.lineIndent++,i=e.input.charCodeAt(++e.position);if(!d&&e.lineIndent>l&&(l=e.lineIndent),lp(i))c++;else{if(e.lineIndent<l){s===np?e.result+=Lh.repeat("\n",o?1+c:c):s===ep&&o&&(e.result+="\n");break}for(a?cp(i)?(u=!0,e.result+=Lh.repeat("\n",o?1+c:c)):u?(u=!1,e.result+=Lh.repeat("\n",c+1)):0===c?o&&(e.result+=" "):e.result+=Lh.repeat("\n",c):e.result+=Lh.repeat("\n",o?1+c:c),o=!0,d=!0,c=0,n=e.position;!lp(i)&&0!==i;)i=e.input.charCodeAt(++e.position);Ep(e,n,e.position,!1)}}return!0}function Pp(e,t){var n,a,r=e.tag,i=e.anchor,s=[],o=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),a=e.input.charCodeAt(e.position);0!==a&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,kp(e,"tab characters must not be used in indentation")),45===a&&up(e.input.charCodeAt(e.position+1)));)if(o=!0,e.position++,Dp(e,!0,-1)&&e.lineIndent<=t)s.push(null),a=e.input.charCodeAt(e.position);else if(n=e.line,zp(e,t,Zg,!1,!0),s.push(e.result),Dp(e,!0,-1),a=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==a)kp(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!o&&(e.tag=r,e.anchor=i,e.kind="sequence",e.result=s,!0)}function jp(e,t,n){var a,r,i,s,o,d,l,c=e.tag,u=e.anchor,h={},g=Object.create(null),p=null,f=null,m=null,R=!1,y=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=h),l=e.input.charCodeAt(e.position);0!==l;){if(!R&&-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,kp(e,"tab characters must not be used in indentation")),a=e.input.charCodeAt(e.position+1),i=e.line,63!==l&&58!==l||!up(a)){if(s=e.line,o=e.lineStart,d=e.position,!zp(e,n,Kg,!1,!0))break;if(e.line===i){for(l=e.input.charCodeAt(e.position);cp(l);)l=e.input.charCodeAt(++e.position);if(58===l)up(l=e.input.charCodeAt(++e.position))||kp(e,"a whitespace character is expected after the key-value separator within a block mapping"),R&&(Ap(e,h,g,p,f,null,s,o,d),p=f=m=null),y=!0,R=!1,r=!1,p=e.tag,f=e.result;else{if(!y)return e.tag=c,e.anchor=u,!0;kp(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!y)return e.tag=c,e.anchor=u,!0;kp(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===l?(R&&(Ap(e,h,g,p,f,null,s,o,d),p=f=m=null),y=!0,R=!0,r=!0):R?(R=!1,r=!0):kp(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,l=a;if((e.line===i||e.lineIndent>t)&&(R&&(s=e.line,o=e.lineStart,d=e.position),zp(e,t,Qg,!0,r)&&(R?f=e.result:m=e.result),R||(Ap(e,h,g,p,f,m,s,o,d),p=f=m=null),Dp(e,!0,-1),l=e.input.charCodeAt(e.position)),(e.line===i||e.lineIndent>t)&&0!==l)kp(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return R&&Ap(e,h,g,p,f,null,s,o,d),y&&(e.tag=c,e.anchor=u,e.kind="mapping",e.result=h),y}function Vp(e){var t,n,a,r,i=!1,s=!1;if(33!==(r=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&kp(e,"duplication of a tag property"),60===(r=e.input.charCodeAt(++e.position))?(i=!0,r=e.input.charCodeAt(++e.position)):33===r?(s=!0,n="!!",r=e.input.charCodeAt(++e.position)):n="!",t=e.position,i){do{r=e.input.charCodeAt(++e.position)}while(0!==r&&62!==r);e.position<e.length?(a=e.input.slice(t,e.position),r=e.input.charCodeAt(++e.position)):kp(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==r&&!up(r);)33===r&&(s?kp(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),sp.test(n)||kp(e,"named tag handle cannot contain such characters"),s=!0,t=e.position+1)),r=e.input.charCodeAt(++e.position);a=e.input.slice(t,e.position),ip.test(a)&&kp(e,"tag suffix cannot contain flow indicator characters")}a&&!op.test(a)&&kp(e,"tag name cannot contain such characters: "+a);try{a=decodeURIComponent(a)}catch{kp(e,"tag name is malformed: "+a)}return i?e.tag=a:Xg.call(e.tagMap,n)?e.tag=e.tagMap[n]+a:"!"===n?e.tag="!"+a:"!!"===n?e.tag="tag:yaml.org,2002:"+a:kp(e,'undeclared tag handle "'+n+'"'),!0}function $p(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&kp(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!up(n)&&!hp(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&kp(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function Up(e){var t,n,a;if(42!==(a=e.input.charCodeAt(e.position)))return!1;for(a=e.input.charCodeAt(++e.position),t=e.position;0!==a&&!up(a)&&!hp(a);)a=e.input.charCodeAt(++e.position);return e.position===t&&kp(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),Xg.call(e.anchorMap,n)||kp(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],Dp(e,!0,-1),!0}function zp(e,t,n,a,r){var i,s,o,d,l,c,u,h,g,p=1,f=!1,m=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,i=s=o=Qg===n||Zg===n,a&&Dp(e,!0,-1)&&(f=!0,e.lineIndent>t?p=1:e.lineIndent===t?p=0:e.lineIndent<t&&(p=-1)),1===p)for(;Vp(e)||$p(e);)Dp(e,!0,-1)?(f=!0,o=i,e.lineIndent>t?p=1:e.lineIndent===t?p=0:e.lineIndent<t&&(p=-1)):o=!1;if(o&&(o=f||r),(1===p||Qg===n)&&(h=Jg===n||Kg===n?t:t+1,g=e.position-e.lineStart,1===p?o&&(Pp(e,g)||jp(e,g,h))||Bp(e,h)?m=!0:(s&&Mp(e,h)||Op(e,h)||Np(e,h)?m=!0:Up(e)?(m=!0,(null!==e.tag||null!==e.anchor)&&kp(e,"alias node should not have any properties")):Fp(e,h,Jg===n)&&(m=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===p&&(m=o&&Pp(e,g))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&kp(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),d=0,l=e.implicitTypes.length;d<l;d+=1)if((u=e.implicitTypes[d]).resolve(e.result)){e.result=u.construct(e.result),e.tag=u.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else if("!"!==e.tag){if(Xg.call(e.typeMap[e.kind||"fallback"],e.tag))u=e.typeMap[e.kind||"fallback"][e.tag];else for(u=null,d=0,l=(c=e.typeMap.multi[e.kind||"fallback"]).length;d<l;d+=1)if(e.tag.slice(0,c[d].tag.length)===c[d].tag){u=c[d];break}u||kp(e,"unknown tag !<"+e.tag+">"),null!==e.result&&u.kind!==e.kind&&kp(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result,e.tag)?(e.result=u.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):kp(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||m}function Hp(e){var t,n,a,r,i=e.position,s=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(r=e.input.charCodeAt(e.position))&&(Dp(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==r));){for(s=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!up(r);)r=e.input.charCodeAt(++e.position);for(a=[],(n=e.input.slice(t,e.position)).length<1&&kp(e,"directive name must not be less than one character in length");0!==r;){for(;cp(r);)r=e.input.charCodeAt(++e.position);if(35===r){do{r=e.input.charCodeAt(++e.position)}while(0!==r&&!lp(r));break}if(lp(r))break;for(t=e.position;0!==r&&!up(r);)r=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==r&&Tp(e),Xg.call(wp,n)?wp[n](e,n,a):Cp(e,'unknown document directive "'+n+'"')}Dp(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,Dp(e,!0,-1)):s&&kp(e,"directives end mark is expected"),zp(e,e.lineIndent-1,Qg,!1,!0),Dp(e,!0,-1),e.checkLineBreaks&&rp.test(e.input.slice(i,e.position))&&Cp(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Lp(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,Dp(e,!0,-1)):e.position<e.length-1&&kp(e,"end of the stream or a document separator is expected")}function Yp(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new vp(e,t),a=e.indexOf("\0");for(-1!==a&&(n.position=a,kp(n,"null byte is not allowed in input")),n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)Hp(n);return n.documents}function Wp(e,t,n){null!==t&&"object"==typeof t&&typeof n>"u"&&(n=t,t=null);var a=Yp(e,n);if("function"!=typeof t)return a;for(var r=0,i=a.length;r<i;r+=1)t(a[r])}function qp(e,t){var n=Yp(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new Oh("expected a single document in the stream, but found more")}}var Gp=Kh,Xp={loadAll:Wp,load:qp}.load;const Jp=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s;function Kp(e,t){var n;const a=e.match(Jp);if(a){const r=Xp(a[1],{schema:Gp});return null!=r&&r.title&&(null==(n=t.setDiagramTitle)||n.call(t,r.title)),e.slice(a[0].length)}return e}const Zp=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Qp=/\s*%%.*\n/gm,ef={},tf=function(e,t){e=e.replace(Jp,"").replace(Zp,"").replace(Qp,"\n");for(const[n,{detector:a}]of Object.entries(ef))if(a(e,t))return n;throw new Error(`No diagram type detected for text: ${e}`)},nf=(e,t,n)=>{if(ef[e])throw new Error(`Detector with key ${e} already exists`);ef[e]={detector:t,loader:n},g.debug(`Detector with key ${e} added${n?" with loader":""}`)},af=e=>ef[e].loader,rf=function(e,t,n){const{depth:a,clobber:r}=Object.assign({depth:2,clobber:!1},n);return Array.isArray(t)&&!Array.isArray(e)?(t.forEach((t=>rf(e,t,n))),e):Array.isArray(t)&&Array.isArray(e)?(t.forEach((t=>{e.includes(t)||e.push(t)})),e):void 0===e||a<=0?null!=e&&"object"==typeof e&&"object"==typeof t?Object.assign(e,t):t:(void 0!==t&&"object"==typeof e&&"object"==typeof t&&Object.keys(t).forEach((n=>{"object"!=typeof t[n]||void 0!==e[n]&&"object"!=typeof e[n]?(r||"object"!=typeof e[n]&&"object"!=typeof t[n])&&(e[n]=t[n]):(void 0===e[n]&&(e[n]=Array.isArray(t[n])?[]:{}),e[n]=rf(e[n],t[n],{depth:a-1,clobber:r}))})),e)},sf=rf,of="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;var df="object"==typeof self&&self&&self.Object===Object&&self;const lf=of||df||Function("return this")(),cf=lf.Symbol;var uf=Object.prototype,hf=uf.hasOwnProperty,gf=uf.toString,pf=cf?cf.toStringTag:void 0;function ff(e){var t=hf.call(e,pf),n=e[pf];try{e[pf]=void 0;var a=!0}catch{}var r=gf.call(e);return a&&(t?e[pf]=n:delete e[pf]),r}var mf=Object.prototype.toString;function Rf(e){return mf.call(e)}var yf="[object Null]",bf="[object Undefined]",xf=cf?cf.toStringTag:void 0;function vf(e){return null==e?void 0===e?bf:yf:xf&&xf in Object(e)?ff(e):Rf(e)}function _f(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var kf="[object AsyncFunction]",Cf="[object Function]",wf="[object GeneratorFunction]",Ef="[object Proxy]";function Sf(e){if(!_f(e))return!1;var t=vf(e);return t==Cf||t==wf||t==kf||t==Ef}const Af=lf["__core-js_shared__"];var Tf=function(){var e=/[^.]+$/.exec(Af&&Af.keys&&Af.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Df(e){return!!Tf&&Tf in e}var Lf=Function.prototype.toString;function If(e){if(null!=e){try{return Lf.call(e)}catch{}try{return e+""}catch{}}return""}var Ff=/[\\^$.*+?()[\]{}|]/g,Of=/^\[object .+?Constructor\]$/,Nf=Function.prototype,Bf=Object.prototype,Mf=Nf.toString,Pf=Bf.hasOwnProperty,jf=RegExp("^"+Mf.call(Pf).replace(Ff,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Vf(e){return!(!_f(e)||Df(e))&&(Sf(e)?jf:Of).test(If(e))}function $f(e,t){return null==e?void 0:e[t]}function Uf(e,t){var n=$f(e,t);return Vf(n)?n:void 0}const zf=Uf(Object,"create");function Hf(){this.__data__=zf?zf(null):{},this.size=0}function Yf(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Wf="__lodash_hash_undefined__",qf=Object.prototype.hasOwnProperty;function Gf(e){var t=this.__data__;if(zf){var n=t[e];return n===Wf?void 0:n}return qf.call(t,e)?t[e]:void 0}var Xf=Object.prototype.hasOwnProperty;function Jf(e){var t=this.__data__;return zf?void 0!==t[e]:Xf.call(t,e)}var Kf="__lodash_hash_undefined__";function Zf(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=zf&&void 0===t?Kf:t,this}function Qf(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}function em(){this.__data__=[],this.size=0}function tm(e,t){return e===t||e!=e&&t!=t}function nm(e,t){for(var n=e.length;n--;)if(tm(e[n][0],t))return n;return-1}Qf.prototype.clear=Hf,Qf.prototype.delete=Yf,Qf.prototype.get=Gf,Qf.prototype.has=Jf,Qf.prototype.set=Zf;var am=Array.prototype.splice;function rm(e){var t=this.__data__,n=nm(t,e);return!(n<0||(n==t.length-1?t.pop():am.call(t,n,1),--this.size,0))}function im(e){var t=this.__data__,n=nm(t,e);return n<0?void 0:t[n][1]}function sm(e){return nm(this.__data__,e)>-1}function om(e,t){var n=this.__data__,a=nm(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this}function dm(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}dm.prototype.clear=em,dm.prototype.delete=rm,dm.prototype.get=im,dm.prototype.has=sm,dm.prototype.set=om;const lm=Uf(lf,"Map");function cm(){this.size=0,this.__data__={hash:new Qf,map:new(lm||dm),string:new Qf}}function um(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function hm(e,t){var n=e.__data__;return um(t)?n["string"==typeof t?"string":"hash"]:n.map}function gm(e){var t=hm(this,e).delete(e);return this.size-=t?1:0,t}function pm(e){return hm(this,e).get(e)}function fm(e){return hm(this,e).has(e)}function mm(e,t){var n=hm(this,e),a=n.size;return n.set(e,t),this.size+=n.size==a?0:1,this}function Rm(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}Rm.prototype.clear=cm,Rm.prototype.delete=gm,Rm.prototype.get=pm,Rm.prototype.has=fm,Rm.prototype.set=mm;var ym="Expected a function";function bm(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(ym);var n=function(){var a=arguments,r=t?t.apply(this,a):a[0],i=n.cache;if(i.has(r))return i.get(r);var s=e.apply(this,a);return n.cache=i.set(r,s)||i,s};return n.cache=new(bm.Cache||Rm),n}bm.Cache=Rm;const xm={curveBasis:Xl,curveBasisClosed:Kl,curveBasisOpen:Ql,curveLinear:jl,curveLinearClosed:tc,curveMonotoneX:lc,curveMonotoneY:cc,curveNatural:gc,curveStep:fc,curveStepAfter:Rc,curveStepBefore:mc},vm=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,_m=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,km=function(e,t){const n=Cm(e,/(?:init\b)|(?:initialize\b)/);let a={};if(Array.isArray(n)){const e=n.map((e=>e.args));qm(e),a=sf(a,[...e])}else a=n.args;if(a){let n=tf(e,t);["config"].forEach((e=>{void 0!==a[e]&&("flowchart-v2"===n&&(n="flowchart"),a[n]=a[e],delete a[e])}))}return a},Cm=function(e,t=null){try{const n=new RegExp(`[%]{2}(?![{]${_m.source})(?=[}][%]{2}).*\n`,"ig");let a;e=e.trim().replace(n,"").replace(/'/gm,'"'),g.debug(`Detecting diagram directive${null!==t?" type:"+t:""} based on the text:${e}`);const r=[];for(;null!==(a=vm.exec(e));)if(a.index===vm.lastIndex&&vm.lastIndex++,a&&!t||t&&a[1]&&a[1].match(t)||t&&a[2]&&a[2].match(t)){const e=a[1]?a[1]:a[2],t=a[3]?a[3].trim():a[4]?JSON.parse(a[4].trim()):null;r.push({type:e,args:t})}return 0===r.length&&r.push({type:e,args:null}),1===r.length?r[0]:r}catch(n){return g.error(`ERROR: ${n.message} - Unable to parse directive\n ${null!==t?" type:"+t:""} based on the text:${e}`),{type:null,args:null}}},wm=function(e,t){for(const[n,a]of t.entries())if(a.match(e))return n;return-1};function Em(e,t){if(!e)return t;const n=`curve${e.charAt(0).toUpperCase()+e.slice(1)}`;return xm[n]||t}function Sm(e,t){const n=e.trim();if(n)return"loose"!==t.securityLevel?R(n):n}const Am=(e,...t)=>{const n=e.split("."),a=n.length-1,r=n[a];let i=window;for(let s=0;s<a;s++)if(i=i[n[s]],!i)return;i[r](...t)};function Tm(e,t){return e&&t?Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0}function Dm(e){let t,n=0;e.forEach((e=>{n+=Tm(e,t),t=e}));let a,r=n/2;return t=void 0,e.forEach((e=>{if(t&&!a){const n=Tm(e,t);if(n<r)r-=n;else{const i=r/n;i<=0&&(a=t),i>=1&&(a={x:e.x,y:e.y}),i>0&&i<1&&(a={x:(1-i)*t.x+i*e.x,y:(1-i)*t.y+i*e.y})}}t=e})),a}function Lm(e){return 1===e.length?e[0]:Dm(e)}const Im=(e,t,n)=>{let a;g.info(`our points ${JSON.stringify(t)}`),t[0]!==n&&(t=t.reverse());let r,i=25;a=void 0,t.forEach((e=>{if(a&&!r){const t=Tm(e,a);if(t<i)i-=t;else{const n=i/t;n<=0&&(r=a),n>=1&&(r={x:e.x,y:e.y}),n>0&&n<1&&(r={x:(1-n)*a.x+n*e.x,y:(1-n)*a.y+n*e.y})}}a=e}));const s=e?10:5,o=Math.atan2(t[0].y-r.y,t[0].x-r.x),d={x:0,y:0};return d.x=Math.sin(o)*s+(t[0].x+r.x)/2,d.y=-Math.cos(o)*s+(t[0].y+r.y)/2,d};function Fm(e,t,n){let a,r=JSON.parse(JSON.stringify(n));g.info("our points",r),"start_left"!==t&&"start_right"!==t&&(r=r.reverse()),r.forEach((e=>{a=e}));let i,s=25+e;a=void 0,r.forEach((e=>{if(a&&!i){const t=Tm(e,a);if(t<s)s-=t;else{const n=s/t;n<=0&&(i=a),n>=1&&(i={x:e.x,y:e.y}),n>0&&n<1&&(i={x:(1-n)*a.x+n*e.x,y:(1-n)*a.y+n*e.y})}}a=e}));const o=10+.5*e,d=Math.atan2(r[0].y-i.y,r[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(d)*o+(r[0].x+i.x)/2,l.y=-Math.cos(d)*o+(r[0].y+i.y)/2,"start_left"===t&&(l.x=Math.sin(d+Math.PI)*o+(r[0].x+i.x)/2,l.y=-Math.cos(d+Math.PI)*o+(r[0].y+i.y)/2),"end_right"===t&&(l.x=Math.sin(d-Math.PI)*o+(r[0].x+i.x)/2-5,l.y=-Math.cos(d-Math.PI)*o+(r[0].y+i.y)/2-5),"end_left"===t&&(l.x=Math.sin(d)*o+(r[0].x+i.x)/2-5,l.y=-Math.cos(d)*o+(r[0].y+i.y)/2-5),l}function Om(e){let t="",n="";for(const a of e)void 0!==a&&(a.startsWith("color:")||a.startsWith("text-align:")?n=n+a+";":t=t+a+";");return{style:t,labelStyle:n}}let Nm=0;const Bm=()=>(Nm++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Nm);function Mm(e){let t="";const n="0123456789abcdef",a=n.length;for(let r=0;r<e;r++)t+=n.charAt(Math.floor(Math.random()*a));return t}const Pm=e=>Mm(e.length),jm=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},Vm=function(e,t){const n=t.text.replace(Bu.lineBreakRegex," "),a=e.append("text");a.attr("x",t.x),a.attr("y",t.y),a.style("text-anchor",t.anchor),a.style("font-family",t.fontFamily),a.style("font-size",t.fontSize),a.style("font-weight",t.fontWeight),a.attr("fill",t.fill),void 0!==t.class&&a.attr("class",t.class);const r=a.append("tspan");return r.attr("x",t.x+2*t.textMargin),r.attr("fill",t.fill),r.text(n),a},$m=bm(((e,t,n)=>{if(!e||(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},n),Bu.lineBreakRegex.test(e)))return e;const a=e.split(" "),r=[];let i="";return a.forEach(((e,s)=>{const o=Hm(`${e} `,n),d=Hm(i,n);if(o>t){const{hyphenatedStrings:a,remainingWord:s}=Um(e,t,"-",n);r.push(i,...a),i=s}else d+o>=t?(r.push(i),i=e):i=[i,e].filter(Boolean).join(" ");s+1===a.length&&r.push(i)})),r.filter((e=>""!==e)).join(n.joinWith)}),((e,t,n)=>`${e}${t}${n.fontSize}${n.fontWeight}${n.fontFamily}${n.joinWith}`)),Um=bm(((e,t,n="-",a)=>{a=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},a);const r=[...e],i=[];let s="";return r.forEach(((e,o)=>{const d=`${s}${e}`;if(Hm(d,a)>=t){const e=o+1,t=r.length===e,a=`${d}${n}`;i.push(t?d:a),s=""}else s=d})),{hyphenatedStrings:i,remainingWord:s}}),((e,t,n="-",a)=>`${e}${t}${n}${a.fontSize}${a.fontWeight}${a.fontFamily}`));function zm(e,t){return t=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},t),Ym(e,t).height}function Hm(e,t){return t=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},t),Ym(e,t).width}const Ym=bm(((e,t)=>{t=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},t);const{fontSize:n,fontFamily:a,fontWeight:r}=t;if(!e)return{width:0,height:0};const i=["sans-serif",a],s=e.split(Bu.lineBreakRegex),o=[],d=hn("body");if(!d.remove)return{width:0,height:0,lineHeight:0};const l=d.append("svg");for(const c of i){let e=0;const t={width:0,height:0,lineHeight:0};for(const a of s){const i=jm();i.text=a;const s=Vm(l,i).style("font-size",n).style("font-weight",r).style("font-family",c),o=(s._groups||s)[0][0].getBBox();t.width=Math.round(Math.max(t.width,o.width)),e=Math.round(o.height),t.height+=e,t.lineHeight=Math.round(Math.max(t.lineHeight,e))}o.push(t)}return l.remove(),o[isNaN(o[1].height)||isNaN(o[1].width)||isNaN(o[1].lineHeight)||o[0].height>o[1].height&&o[0].width>o[1].width&&o[0].lineHeight>o[1].lineHeight?0:1]}),((e,t)=>`${e}${t.fontSize}${t.fontWeight}${t.fontFamily}`));let Wm;const qm=e=>{if(g.debug("directiveSanitizer called with",e),"object"==typeof e&&(e.length?e.forEach((e=>qm(e))):Object.keys(e).forEach((t=>{g.debug("Checking key",t),t.startsWith("__")&&(g.debug("sanitize deleting __ option",t),delete e[t]),t.includes("proto")&&(g.debug("sanitize deleting proto option",t),delete e[t]),t.includes("constr")&&(g.debug("sanitize deleting constr option",t),delete e[t]),t.includes("themeCSS")&&(g.debug("sanitizing themeCss option"),e[t]=Gm(e[t])),t.includes("fontFamily")&&(g.debug("sanitizing fontFamily option"),e[t]=Gm(e[t])),t.includes("altFontFamily")&&(g.debug("sanitizing altFontFamily option"),e[t]=Gm(e[t])),kh.includes(t)?"object"==typeof e[t]&&(g.debug("sanitize deleting object",t),qm(e[t])):(g.debug("sanitize deleting option",t),delete e[t])}))),e.themeVariables){const t=Object.keys(e.themeVariables);for(const n of t){const t=e.themeVariables[n];t&&t.match&&!t.match(/^[\d "#%(),.;A-Za-z]+$/)&&(e.themeVariables[n]="")}}g.debug("After sanitization",e)},Gm=e=>{let t=0,n=0;for(const a of e){if(t<n)return"{ /* ERROR: Unbalanced CSS */ }";"{"===a?t++:"}"===a&&n++}return t!==n?"{ /* ERROR: Unbalanced CSS */ }":e};function Xm(e){return"str"in e}function Jm(e){return e instanceof Error?e.message:String(e)}const Km={assignWithDepth:sf,wrapLabel:$m,calculateTextHeight:zm,calculateTextWidth:Hm,calculateTextDimensions:Ym,detectInit:km,detectDirective:Cm,isSubstringInArray:wm,interpolateToCurve:Em,calcLabelPosition:Lm,calcCardinalityPosition:Im,calcTerminalLabelPosition:Fm,formatUrl:Sm,getStylesFromArray:Om,generateId:Bm,random:Pm,runFunc:Am,entityDecode:function(e){return Wm=Wm||document.createElement("div"),e=escape(e).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Wm.innerHTML=e,unescape(Wm.textContent)},initIdGenerator:class{constructor(e,t){this.deterministic=e,this.seed=t,this.count=t?t.length:0}next(){return this.deterministic?this.count++:Date.now()}},directiveSanitizer:qm,sanitizeCss:Gm,insertTitle:(e,t,n,a)=>{if(!a)return;const r=e.node().getBBox();e.append("text").text(a).attr("x",r.x+r.width/2).attr("y",-n).attr("class",t)}};var Zm="comm",Qm="rule",eR="decl",tR="@import",nR="@keyframes",aR=Math.abs,rR=String.fromCharCode;function iR(e){return e.trim()}function sR(e,t,n){return e.replace(t,n)}function oR(e,t){return e.indexOf(t)}function dR(e,t){return 0|e.charCodeAt(t)}function lR(e,t,n){return e.slice(t,n)}function cR(e){return e.length}function uR(e){return e.length}function hR(e,t){return t.push(e),e}var gR=1,pR=1,fR=0,mR=0,RR=0,yR="";function bR(e,t,n,a,r,i,s){return{value:e,root:t,parent:n,type:a,props:r,children:i,line:gR,column:pR,length:s,return:""}}function xR(){return RR}function vR(){return RR=mR>0?dR(yR,--mR):0,pR--,10===RR&&(pR=1,gR--),RR}function _R(){return RR=mR<fR?dR(yR,mR++):0,pR++,10===RR&&(pR=1,gR++),RR}function kR(){return dR(yR,mR)}function CR(){return mR}function wR(e,t){return lR(yR,e,t)}function ER(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function SR(e){return gR=pR=1,fR=cR(yR=e),mR=0,[]}function AR(e){return yR="",e}function TR(e){return iR(wR(mR-1,IR(91===e?e+2:40===e?e+1:e)))}function DR(e){for(;(RR=kR())&&RR<33;)_R();return ER(e)>2||ER(RR)>3?"":" "}function LR(e,t){for(;--t&&_R()&&!(RR<48||RR>102||RR>57&&RR<65||RR>70&&RR<97););return wR(e,CR()+(t<6&&32==kR()&&32==_R()))}function IR(e){for(;_R();)switch(RR){case e:return mR;case 34:case 39:34!==e&&39!==e&&IR(RR);break;case 40:41===e&&IR(e);break;case 92:_R()}return mR}function FR(e,t){for(;_R()&&e+RR!==57&&(e+RR!==84||47!==kR()););return"/*"+wR(t,mR-1)+"*"+rR(47===e?e:_R())}function OR(e){for(;!ER(kR());)_R();return wR(e,mR)}function NR(e){return AR(BR("",null,null,null,[""],e=SR(e),0,[0],e))}function BR(e,t,n,a,r,i,s,o,d){for(var l=0,c=0,u=s,h=0,g=0,p=0,f=1,m=1,R=1,y=0,b="",x=r,v=i,_=a,k=b;m;)switch(p=y,y=_R()){case 40:if(108!=p&&58==dR(k,u-1)){-1!=oR(k+=sR(TR(y),"&","&\f"),"&\f")&&(R=-1);break}case 34:case 39:case 91:k+=TR(y);break;case 9:case 10:case 13:case 32:k+=DR(p);break;case 92:k+=LR(CR()-1,7);continue;case 47:switch(kR()){case 42:case 47:hR(PR(FR(_R(),CR()),t,n),d);break;default:k+="/"}break;case 123*f:o[l++]=cR(k)*R;case 125*f:case 59:case 0:switch(y){case 0:case 125:m=0;case 59+c:g>0&&cR(k)-u&&hR(g>32?jR(k+";",a,n,u-1):jR(sR(k," ","")+";",a,n,u-2),d);break;case 59:k+=";";default:if(hR(_=MR(k,t,n,l,c,r,o,b,x=[],v=[],u),i),123===y)if(0===c)BR(k,t,_,_,x,i,u,o,v);else switch(h){case 100:case 109:case 115:BR(e,_,_,a&&hR(MR(e,_,_,0,0,r,o,b,r,x=[],u),v),r,v,u,o,a?x:v);break;default:BR(k,_,_,_,[""],v,0,o,v)}}l=c=g=0,f=R=1,b=k="",u=s;break;case 58:u=1+cR(k),g=p;default:if(f<1)if(123==y)--f;else if(125==y&&0==f++&&125==vR())continue;switch(k+=rR(y),y*f){case 38:R=c>0?1:(k+="\f",-1);break;case 44:o[l++]=(cR(k)-1)*R,R=1;break;case 64:45===kR()&&(k+=TR(_R())),h=kR(),c=u=cR(b=k+=OR(CR())),y++;break;case 45:45===p&&2==cR(k)&&(f=0)}}return i}function MR(e,t,n,a,r,i,s,o,d,l,c){for(var u=r-1,h=0===r?i:[""],g=uR(h),p=0,f=0,m=0;p<a;++p)for(var R=0,y=lR(e,u+1,u=aR(f=s[p])),b=e;R<g;++R)(b=iR(f>0?h[R]+" "+y:sR(y,/&\f/g,h[R])))&&(d[m++]=b);return bR(e,t,n,0===r?Qm:o,d,l,c)}function PR(e,t,n){return bR(e,t,n,Zm,rR(xR()),lR(e,2,-2),0)}function jR(e,t,n,a){return bR(e,t,n,eR,lR(e,0,a),lR(e,a+1,-1),a)}function VR(e,t){for(var n="",a=uR(e),r=0;r<a;r++)n+=t(e[r],r,e,t)||"";return n}function $R(e,t,n,a){switch(e.type){case tR:case eR:return e.return=e.return||e.value;case Zm:return"";case nR:return e.return=e.value+"{"+VR(e.children,a)+"}";case Qm:e.value=e.props.join(",")}return cR(n=VR(e.children,a))?e.return=e.value+"{"+n+"}":""}const UR={name:"mermaid",version:"9.3.0",description:"Markdown-ish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",main:"./dist/mermaid.min.js",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{require:"./dist/mermaid.min.js",import:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],scripts:{clean:"rimraf dist","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaidAPI.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:spellcheck && pnpm docs:code && ts-node-esm src/docs.mts","docs:verify":"pnpm docs:spellcheck && pnpm docs:code && ts-node-esm src/docs.mts --verify","docs:pre:vitepress":"rimraf src/vitepress && pnpm docs:code && ts-node-esm src/docs.mts --vitepress","docs:build:vitepress":"pnpm docs:pre:vitepress && vitepress build src/vitepress","docs:dev":'pnpm docs:pre:vitepress && concurrently "vitepress dev src/vitepress" "ts-node-esm src/docs.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell --config ../../cSpell.json "src/docs/**/*.md"',release:"pnpm build",prepublishOnly:"pnpm -w run build"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^6.0.0",d3:"^7.0.0","dagre-d3-es":"7.0.6",dompurify:"2.4.1",khroma:"^2.0.0","lodash-es":"^4.17.21","moment-mini":"^2.24.0","non-layered-tidy-tree-layout":"^2.0.2",stylis:"^4.1.2",uuid:"^9.0.0"},devDependencies:{"@types/d3":"^7.4.0","@types/dompurify":"^2.4.0","@types/jsdom":"^20.0.1","@types/lodash-es":"^4.17.6","@types/micromatch":"^4.0.2","@types/prettier":"^2.7.1","@types/stylis":"^4.0.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.42.1","@typescript-eslint/parser":"^5.42.1",chokidar:"^3.5.3",concurrently:"^7.5.0",coveralls:"^3.1.1",cspell:"^6.14.3",globby:"^13.1.2",jison:"^0.4.18","js-base64":"^3.7.2",jsdom:"^20.0.2",micromatch:"^4.0.5",moment:"^2.29.4","path-browserify":"^1.0.1",prettier:"^2.7.1",remark:"^14.0.2",rimraf:"^3.0.2","start-server-and-test":"^1.14.0",typedoc:"^0.23.18","typedoc-plugin-markdown":"^3.13.6",typescript:"^4.8.4","unist-util-flatmap":"^1.0.0",vitepress:"^1.0.0-alpha.28","vitepress-plugin-search":"^1.0.4-alpha.15"},files:["dist","README.md"],sideEffects:["**/*.css","**/*.scss"]},zR=Object.freeze(Ch);let HR,YR=sf({},zR),WR=[],qR=sf({},zR);const GR=(e,t)=>{let n=sf({},e),a={};for(const r of t)ty(r),a=sf(a,r);if(n=sf(n,a),a.theme&&a.theme in xh){const e=sf({},HR),t=sf(e.themeVariables||{},a.themeVariables);n.theme&&n.theme in xh&&(n.themeVariables=xh[n.theme].getThemeVariables(t))}return qR=n,oy(qR),qR},XR=e=>(YR=sf({},zR),YR=sf(YR,e),e.theme&&xh[e.theme]&&(YR.themeVariables=xh[e.theme].getThemeVariables(e.themeVariables)),GR(YR,WR),YR),JR=e=>{HR=sf({},e)},KR=e=>(YR=sf(YR,e),GR(YR,WR),YR),ZR=()=>sf({},YR),QR=e=>(oy(e),sf(qR,e),ey()),ey=()=>sf({},qR),ty=e=>{var t;["secure",...null!=(t=YR.secure)?t:[]].forEach((t=>{void 0!==e[t]&&(g.debug(`Denied attempt to modify a secure key ${t}`,e[t]),delete e[t])})),Object.keys(e).forEach((t=>{0===t.indexOf("__")&&delete e[t]})),Object.keys(e).forEach((t=>{"string"==typeof e[t]&&(e[t].includes("<")||e[t].includes(">")||e[t].includes("url(data:"))&&delete e[t],"object"==typeof e[t]&&ty(e[t])}))},ny=e=>{e.fontFamily&&(e.themeVariables&&e.themeVariables.fontFamily||(e.themeVariables={fontFamily:e.fontFamily})),WR.push(e),GR(YR,WR)},ay=(e=YR)=>{WR=[],GR(e,WR)};var ry=(e=>(e.LAZY_LOAD_DEPRECATED="The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",e))(ry||{});const iy={},sy=e=>{iy[e]||(g.warn(ry[e]),iy[e]=!0)},oy=e=>{!e||(e.lazyLoadedDiagrams||e.loadExternalDiagramsAtStartup)&&sy("LAZY_LOAD_DEPRECATED")},dy=function(e,t){for(let n of t)e.attr(n[0],n[1])},ly=function(e,t,n){let a=new Map;return n?(a.set("width","100%"),a.set("style",`max-width: ${t}px;`)):(a.set("height",e),a.set("width",t)),a},cy=function(e,t,n,a){const r=ly(t,n,a);dy(e,r)},uy=function(e,t,n,a){const r=t.node().getBBox(),i=r.width,s=r.height;g.info(`SVG bounds: ${i}x${s}`,r);let o=0,d=0;g.info(`Graph bounds: ${o}x${d}`,e),o=i+2*n,d=s+2*n,g.info(`Calculated bounds: ${o}x${d}`),cy(t,d,o,a);const l=`${r.x-n} ${r.y-n} ${r.width+2*n} ${r.height+2*n}`;t.attr("viewBox",l)},hy=e=>`g.classGroup text {\n fill: ${e.nodeBorder};\n fill: ${e.classText};\n stroke: none;\n font-family: ${e.fontFamily};\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ${e.classText};\n}\n.edgeLabel .label rect {\n fill: ${e.mainBkg};\n}\n.label text {\n fill: ${e.classText};\n}\n.edgeLabel .label span {\n background: ${e.mainBkg};\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ${e.nodeBorder};\n stroke: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n}\n\ng.classGroup line {\n stroke: ${e.nodeBorder};\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${e.mainBkg};\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ${e.nodeBorder};\n font-size: 10px;\n}\n\n.relation {\n stroke: ${e.lineColor};\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n.dotted-line{\n stroke-dasharray: 1 2;\n}\n\n#compositionStart, .composition {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopStart, .lollipop {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopEnd, .lollipop {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n}\n\n.classTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n}\n`,gy=e=>`\n .entityBox {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n }\n\n .attributeBoxOdd {\n fill: ${e.attributeBackgroundColorOdd};\n stroke: ${e.nodeBorder};\n }\n\n .attributeBoxEven {\n fill: ${e.attributeBackgroundColorEven};\n stroke: ${e.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${e.tertiaryColor};\n opacity: 0.7;\n background-color: ${e.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ${e.lineColor};\n }\n\n .entityTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n } \n`,py=()=>"",fy=e=>`.label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .cluster-label text {\n fill: ${e.titleColor};\n }\n .cluster-label span {\n color: ${e.titleColor};\n }\n\n .label text,span {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${e.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n\n .cluster rect {\n fill: ${e.clusterBkg};\n stroke: ${e.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n .cluster span {\n color: ${e.titleColor};\n }\n /* .cluster div {\n color: ${e.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${e.fontFamily};\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n`,my=e=>`\n .mermaid-main-font {\n font-family: "trebuchet ms", verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n .exclude-range {\n fill: ${e.excludeBkgColor};\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ${e.sectionBkgColor};\n }\n\n .section2 {\n fill: ${e.sectionBkgColor2};\n }\n\n .section1,\n .section3 {\n fill: ${e.altSectionBkgColor};\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ${e.titleColor};\n }\n\n .sectionTitle1 {\n fill: ${e.titleColor};\n }\n\n .sectionTitle2 {\n fill: ${e.titleColor};\n }\n\n .sectionTitle3 {\n fill: ${e.titleColor};\n }\n\n .sectionTitle {\n text-anchor: start;\n // font-size: ${e.ganttFontSize};\n // text-height: 14px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${e.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n text {\n font-family: ${e.fontFamily};\n fill: ${e.textColor};\n }\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ${e.todayLineColor};\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n // .taskText:not([font-size]) {\n // font-size: ${e.ganttFontSize};\n // }\n\n .taskTextOutsideRight {\n fill: ${e.taskTextDarkColor};\n text-anchor: start;\n // font-size: ${e.ganttFontSize};\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n .taskTextOutsideLeft {\n fill: ${e.taskTextDarkColor};\n text-anchor: end;\n // font-size: ${e.ganttFontSize};\n }\n\n /* Special case clickable */\n .task.clickable {\n cursor: pointer;\n }\n .taskText.clickable {\n cursor: pointer;\n fill: ${e.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ${e.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ${e.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ${e.taskTextColor};\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ${e.taskBkgColor};\n stroke: ${e.taskBorderColor};\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ${e.taskTextOutsideColor};\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ${e.taskTextOutsideColor};\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ${e.activeTaskBkgColor};\n stroke: ${e.activeTaskBorderColor};\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ${e.taskTextDarkColor} !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ${e.doneTaskBorderColor};\n fill: ${e.doneTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ${e.taskTextDarkColor} !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ${e.critBorderColor};\n fill: ${e.critBkgColor};\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ${e.critBorderColor};\n fill: ${e.activeTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ${e.critBorderColor};\n fill: ${e.doneTaskBkgColor};\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ${e.taskTextDarkColor} !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ${e.taskTextDarkColor} !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor} ;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n`,Ry=()=>"",yy=e=>`\n .pieCircle{\n stroke: ${e.pieStrokeColor};\n stroke-width : ${e.pieStrokeWidth};\n opacity : ${e.pieOpacity};\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${e.pieTitleTextSize};\n fill: ${e.pieTitleTextColor};\n font-family: ${e.fontFamily};\n }\n .slice {\n font-family: ${e.fontFamily};\n fill: ${e.pieSectionTextColor};\n font-size:${e.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${e.pieLegendTextColor};\n font-family: ${e.fontFamily};\n font-size: ${e.pieLegendTextSize};\n }\n`,by=e=>`\n\n marker {\n fill: ${e.relationColor};\n stroke: ${e.relationColor};\n }\n\n marker.cross {\n stroke: ${e.lineColor};\n }\n\n svg {\n font-family: ${e.fontFamily};\n font-size: ${e.fontSize};\n }\n\n .reqBox {\n fill: ${e.requirementBackground};\n fill-opacity: 100%;\n stroke: ${e.requirementBorderColor};\n stroke-width: ${e.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${e.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${e.relationLabelBackground};\n fill-opacity: 100%;\n }\n\n .req-title-line {\n stroke: ${e.requirementBorderColor};\n stroke-width: ${e.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${e.relationColor};\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ${e.relationLabelColor};\n }\n\n`,xy=e=>`.actor {\n stroke: ${e.actorBorder};\n fill: ${e.actorBkg};\n }\n\n text.actor > tspan {\n fill: ${e.actorTextColor};\n stroke: none;\n }\n\n .actor-line {\n stroke: ${e.actorLineColor};\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ${e.signalColor};\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ${e.signalColor};\n }\n\n #arrowhead path {\n fill: ${e.signalColor};\n stroke: ${e.signalColor};\n }\n\n .sequenceNumber {\n fill: ${e.sequenceNumberColor};\n }\n\n #sequencenumber {\n fill: ${e.signalColor};\n }\n\n #crosshead path {\n fill: ${e.signalColor};\n stroke: ${e.signalColor};\n }\n\n .messageText {\n fill: ${e.signalTextColor};\n stroke: none;\n }\n\n .labelBox {\n stroke: ${e.labelBoxBorderColor};\n fill: ${e.labelBoxBkgColor};\n }\n\n .labelText, .labelText > tspan {\n fill: ${e.labelTextColor};\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ${e.loopTextColor};\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ${e.labelBoxBorderColor};\n fill: ${e.labelBoxBorderColor};\n }\n\n .note {\n //stroke: #decc93;\n stroke: ${e.noteBorderColor};\n fill: ${e.noteBkgColor};\n }\n\n .noteText, .noteText > tspan {\n fill: ${e.noteTextColor};\n stroke: none;\n }\n\n .activation0 {\n fill: ${e.activationBkgColor};\n stroke: ${e.activationBorderColor};\n }\n\n .activation1 {\n fill: ${e.activationBkgColor};\n stroke: ${e.activationBorderColor};\n }\n\n .activation2 {\n fill: ${e.activationBkgColor};\n stroke: ${e.activationBorderColor};\n }\n\n .actorPopupMenu {\n position: absolute;\n }\n\n .actorPopupMenuPanel {\n position: absolute;\n fill: ${e.actorBkg};\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));\n}\n .actor-man line {\n stroke: ${e.actorBorder};\n fill: ${e.actorBkg};\n }\n .actor-man circle, line {\n stroke: ${e.actorBorder};\n fill: ${e.actorBkg};\n stroke-width: 2px;\n }\n`,vy=e=>`\ndefs #statediagram-barbEnd {\n fill: ${e.transitionColor};\n stroke: ${e.transitionColor};\n }\ng.stateGroup text {\n fill: ${e.nodeBorder};\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ${e.textColor};\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ${e.stateLabelColor};\n}\n\ng.stateGroup rect {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n}\n\ng.stateGroup line {\n stroke: ${e.lineColor};\n stroke-width: 1;\n}\n\n.transition {\n stroke: ${e.transitionColor};\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ${e.background};\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ${e.noteBorderColor};\n fill: ${e.noteBkgColor};\n\n text {\n fill: ${e.noteTextColor};\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${e.mainBkg};\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ${e.labelBackgroundColor};\n opacity: 0.5;\n}\n.edgeLabel .label text {\n fill: ${e.transitionLabelColor||e.tertiaryTextColor};\n}\n.label div .edgeLabel {\n color: ${e.transitionLabelColor||e.tertiaryTextColor};\n}\n\n.stateLabel text {\n fill: ${e.stateLabelColor};\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ${e.specialStateColor};\n stroke: ${e.specialStateColor};\n}\n\n.node .fork-join {\n fill: ${e.specialStateColor};\n stroke: ${e.specialStateColor};\n}\n\n.node circle.state-end {\n fill: ${e.innerEndBackground};\n stroke: ${e.background};\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ${e.compositeBackground||e.background};\n // stroke: ${e.background};\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ${e.stateBkg||e.mainBkg};\n stroke: ${e.stateBorder||e.nodeBorder};\n stroke-width: 1px;\n}\n.node polygon {\n fill: ${e.mainBkg};\n stroke: ${e.stateBorder||e.nodeBorder};;\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ${e.lineColor};\n}\n\n.statediagram-cluster rect {\n fill: ${e.compositeTitleBackground};\n stroke: ${e.stateBorder||e.nodeBorder};\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ${e.stateLabelColor};\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ${e.stateBorder||e.nodeBorder};\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ${e.compositeBackground||e.background};\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: ${e.altBackground?e.altBackground:"#efefef"};\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ${e.altBackground?e.altBackground:"#efefef"};\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ${e.noteBkgColor};\n stroke: ${e.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ${e.noteBkgColor};\n stroke: ${e.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ${e.noteTextColor};\n}\n\n.statediagram-note .nodeLabel {\n color: ${e.noteTextColor};\n}\n.statediagram .edgeLabel {\n color: red; // ${e.noteTextColor};\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ${e.lineColor};\n stroke: ${e.lineColor};\n stroke-width: 1;\n}\n\n.statediagramTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n}\n`,_y=e=>`.label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: ${e.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${e.textColor}\n }\n\n .legend {\n fill: ${e.textColor};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${e.textColor}\n }\n\n .face {\n ${e.faceColor?`fill: ${e.faceColor}`:"fill: #FFF8DC"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${e.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${e.fillType0?`fill: ${e.fillType0}`:""};\n }\n .task-type-1, .section-type-1 {\n ${e.fillType0?`fill: ${e.fillType1}`:""};\n }\n .task-type-2, .section-type-2 {\n ${e.fillType0?`fill: ${e.fillType2}`:""};\n }\n .task-type-3, .section-type-3 {\n ${e.fillType0?`fill: ${e.fillType3}`:""};\n }\n .task-type-4, .section-type-4 {\n ${e.fillType0?`fill: ${e.fillType4}`:""};\n }\n .task-type-5, .section-type-5 {\n ${e.fillType0?`fill: ${e.fillType5}`:""};\n }\n .task-type-6, .section-type-6 {\n ${e.fillType0?`fill: ${e.fillType6}`:""};\n }\n .task-type-7, .section-type-7 {\n ${e.fillType0?`fill: ${e.fillType7}`:""};\n }\n\n .actor-0 {\n ${e.actor0?`fill: ${e.actor0}`:""};\n }\n .actor-1 {\n ${e.actor1?`fill: ${e.actor1}`:""};\n }\n .actor-2 {\n ${e.actor2?`fill: ${e.actor2}`:""};\n }\n .actor-3 {\n ${e.actor3?`fill: ${e.actor3}`:""};\n }\n .actor-4 {\n ${e.actor4?`fill: ${e.actor4}`:""};\n }\n .actor-5 {\n ${e.actor5?`fill: ${e.actor5}`:""};\n }\n`,ky=e=>`.person {\n stroke: ${e.personBorder};\n fill: ${e.personBkg};\n }\n`,Cy={flowchart:fy,"flowchart-v2":fy,sequence:xy,gantt:my,classDiagram:hy,"classDiagram-v2":hy,class:hy,stateDiagram:vy,state:vy,info:Ry,pie:yy,er:gy,error:py,journey:_y,requirement:by,c4:ky},wy=(e,t)=>{Cy[e]=t},Ey=(e,t,n)=>{let a="";return e in Cy&&Cy[e]?a=Cy[e](n):g.warn(`No theme found for ${e}`),` & {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n fill: ${n.textColor}\n }\n\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${n.errorBkgColor};\n }\n & .error-text {\n fill: ${n.errorTextColor};\n stroke: ${n.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: 2px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${n.lineColor};\n stroke: ${n.lineColor};\n }\n & .marker.cross {\n stroke: ${n.lineColor};\n }\n\n & svg {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n }\n\n ${a}\n\n ${t}\n`},Sy=g,Ay=p,Ty=ey,Dy=e=>Tu(e,Ty()),Ly=uy,Iy={},Fy=(e,t,n)=>{if(Iy[e])throw new Error(`Diagram ${e} already registered.`);Iy[e]=t,n&&nf(e,n),wy(e,t.styles),t.injectUtils&&t.injectUtils(Sy,Ay,Ty,Dy,Ly)},Oy=e=>{if(e in Iy)return Iy[e];throw new Error(`Diagram ${e} not found.`)};var Ny=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,4],n=[1,7],a=[1,5],r=[1,9],i=[1,6],s=[2,6],o=[1,16],d=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],l=[8,14,20,22,24,25,27,29,32,37,40],c=[8,13,14,20,22,24,25,27,29,32,37,40],u=[1,26],h=[6,8,14,50,55],g=[8,14,55],p=[1,53],f=[1,52],m=[8,14,30,33,35,38,55],R=[1,67],y=[1,68],b=[1,69],x=[8,14,33,35,42,55],v={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,":":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,";":55,$accept:0,$end:1},terminals_:{2:"error",6:"GG",8:"EOF",9:":",10:"DIR",13:"OPT",14:"NL",20:"acc_title",21:"acc_title_value",22:"acc_descr",23:"acc_descr_value",24:"acc_descr_multiline_value",25:"section",27:"CHECKOUT",29:"BRANCH",30:"ORDER",31:"NUM",32:"CHERRY_PICK",33:"COMMIT_ID",34:"STR",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",50:"open_directive",51:"type_directive",52:"arg_directive",53:"close_directive",54:"ID",55:";"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[41,0],[41,1],[39,1],[39,1],[39,1],[5,3],[5,5],[46,1],[47,1],[49,1],[48,1],[28,1],[28,1],[4,1],[4,1],[4,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 3:return i[o];case 4:return i[o-1];case 5:return a.setDirection(i[o-3]),i[o-1];case 7:a.setOptions(i[o-1]),this.$=i[o];break;case 8:i[o-1]+=i[o],this.$=i[o-1];break;case 10:this.$=[];break;case 11:i[o-1].push(i[o]),this.$=i[o-1];break;case 12:this.$=i[o-1];break;case 17:this.$=i[o].trim(),a.setAccTitle(this.$);break;case 18:case 19:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 20:a.addSection(i[o].substr(8)),this.$=i[o].substr(8);break;case 22:a.checkout(i[o]);break;case 23:a.branch(i[o]);break;case 24:a.branch(i[o-2],i[o]);break;case 25:a.cherryPick(i[o],"",void 0);break;case 26:a.cherryPick(i[o-2],"",i[o]);break;case 27:case 29:a.cherryPick(i[o-2],"","");break;case 28:a.cherryPick(i[o],"",i[o-2]);break;case 30:a.merge(i[o],"","","");break;case 31:a.merge(i[o-2],i[o],"","");break;case 32:a.merge(i[o-2],"",i[o],"");break;case 33:a.merge(i[o-2],"","",i[o]);break;case 34:a.merge(i[o-4],i[o],"",i[o-2]);break;case 35:a.merge(i[o-4],"",i[o],i[o-2]);break;case 36:a.merge(i[o-4],"",i[o-2],i[o]);break;case 37:a.merge(i[o-4],i[o-2],i[o],"");break;case 38:a.merge(i[o-4],i[o-2],"",i[o]);break;case 39:a.merge(i[o-4],i[o],i[o-2],"");break;case 40:a.merge(i[o-6],i[o-4],i[o-2],i[o]);break;case 41:a.merge(i[o-6],i[o],i[o-4],i[o-2]);break;case 42:a.merge(i[o-6],i[o-4],i[o],i[o-2]);break;case 43:a.merge(i[o-6],i[o-2],i[o-4],i[o]);break;case 44:a.merge(i[o-6],i[o],i[o-2],i[o-4]);break;case 45:a.merge(i[o-6],i[o-2],i[o],i[o-4]);break;case 46:a.commit(i[o]);break;case 47:a.commit("","",a.commitType.NORMAL,i[o]);break;case 48:a.commit("","",i[o],"");break;case 49:a.commit("","",i[o],i[o-2]);break;case 50:a.commit("","",i[o-2],i[o]);break;case 51:a.commit("",i[o],a.commitType.NORMAL,"");break;case 52:a.commit("",i[o-2],a.commitType.NORMAL,i[o]);break;case 53:a.commit("",i[o],a.commitType.NORMAL,i[o-2]);break;case 54:a.commit("",i[o-2],i[o],"");break;case 55:a.commit("",i[o],i[o-2],"");break;case 56:a.commit("",i[o-4],i[o-2],i[o]);break;case 57:a.commit("",i[o-4],i[o],i[o-2]);break;case 58:a.commit("",i[o-2],i[o-4],i[o]);break;case 59:a.commit("",i[o],i[o-4],i[o-2]);break;case 60:a.commit("",i[o],i[o-2],i[o-4]);break;case 61:a.commit("",i[o-2],i[o],i[o-4]);break;case 62:a.commit(i[o],"",a.commitType.NORMAL,"");break;case 63:a.commit(i[o],"",a.commitType.NORMAL,i[o-2]);break;case 64:a.commit(i[o-2],"",a.commitType.NORMAL,i[o]);break;case 65:a.commit(i[o-2],"",i[o],"");break;case 66:a.commit(i[o],"",i[o-2],"");break;case 67:a.commit(i[o],i[o-2],a.commitType.NORMAL,"");break;case 68:a.commit(i[o-2],i[o],a.commitType.NORMAL,"");break;case 69:a.commit(i[o-4],"",i[o-2],i[o]);break;case 70:a.commit(i[o-4],"",i[o],i[o-2]);break;case 71:a.commit(i[o-2],"",i[o-4],i[o]);break;case 72:a.commit(i[o],"",i[o-4],i[o-2]);break;case 73:a.commit(i[o],"",i[o-2],i[o-4]);break;case 74:a.commit(i[o-2],"",i[o],i[o-4]);break;case 75:a.commit(i[o-4],i[o],i[o-2],"");break;case 76:a.commit(i[o-4],i[o-2],i[o],"");break;case 77:a.commit(i[o-2],i[o],i[o-4],"");break;case 78:a.commit(i[o],i[o-2],i[o-4],"");break;case 79:a.commit(i[o],i[o-4],i[o-2],"");break;case 80:a.commit(i[o-2],i[o-4],i[o],"");break;case 81:a.commit(i[o-4],i[o],a.commitType.NORMAL,i[o-2]);break;case 82:a.commit(i[o-4],i[o-2],a.commitType.NORMAL,i[o]);break;case 83:a.commit(i[o-2],i[o],a.commitType.NORMAL,i[o-4]);break;case 84:a.commit(i[o],i[o-2],a.commitType.NORMAL,i[o-4]);break;case 85:a.commit(i[o],i[o-4],a.commitType.NORMAL,i[o-2]);break;case 86:a.commit(i[o-2],i[o-4],a.commitType.NORMAL,i[o]);break;case 87:a.commit(i[o-6],i[o-4],i[o-2],i[o]);break;case 88:a.commit(i[o-6],i[o-4],i[o],i[o-2]);break;case 89:a.commit(i[o-6],i[o-2],i[o-4],i[o]);break;case 90:a.commit(i[o-6],i[o],i[o-4],i[o-2]);break;case 91:a.commit(i[o-6],i[o-2],i[o],i[o-4]);break;case 92:a.commit(i[o-6],i[o],i[o-2],i[o-4]);break;case 93:a.commit(i[o-4],i[o-6],i[o-2],i[o]);break;case 94:a.commit(i[o-4],i[o-6],i[o],i[o-2]);break;case 95:a.commit(i[o-2],i[o-6],i[o-4],i[o]);break;case 96:a.commit(i[o],i[o-6],i[o-4],i[o-2]);break;case 97:a.commit(i[o-2],i[o-6],i[o],i[o-4]);break;case 98:a.commit(i[o],i[o-6],i[o-2],i[o-4]);break;case 99:a.commit(i[o],i[o-4],i[o-2],i[o-6]);break;case 100:a.commit(i[o-2],i[o-4],i[o],i[o-6]);break;case 101:a.commit(i[o],i[o-2],i[o-4],i[o-6]);break;case 102:a.commit(i[o-2],i[o],i[o-4],i[o-6]);break;case 103:a.commit(i[o-4],i[o-2],i[o],i[o-6]);break;case 104:a.commit(i[o-4],i[o],i[o-2],i[o-6]);break;case 105:a.commit(i[o-2],i[o-4],i[o-6],i[o]);break;case 106:a.commit(i[o],i[o-4],i[o-6],i[o-2]);break;case 107:a.commit(i[o-2],i[o],i[o-6],i[o-4]);break;case 108:a.commit(i[o],i[o-2],i[o-6],i[o-4]);break;case 109:a.commit(i[o-4],i[o-2],i[o-6],i[o]);break;case 110:a.commit(i[o-4],i[o],i[o-6],i[o-2]);break;case 111:this.$="";break;case 112:this.$=i[o];break;case 113:this.$=a.commitType.NORMAL;break;case 114:this.$=a.commitType.REVERSE;break;case 115:this.$=a.commitType.HIGHLIGHT;break;case 118:a.parseDirective("%%{","open_directive");break;case 119:a.parseDirective(i[o],"type_directive");break;case 120:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 121:a.parseDirective("}%%","close_directive","gitGraph")}},table:[{3:1,4:2,5:3,6:t,8:n,14:a,46:8,50:r,55:i},{1:[3]},{3:10,4:2,5:3,6:t,8:n,14:a,46:8,50:r,55:i},{3:11,4:2,5:3,6:t,8:n,14:a,46:8,50:r,55:i},{7:12,8:s,9:[1,13],10:[1,14],11:15,14:o},e(d,[2,124]),e(d,[2,125]),e(d,[2,126]),{47:17,51:[1,18]},{51:[2,118]},{1:[2,1]},{1:[2,2]},{8:[1,19]},{7:20,8:s,11:15,14:o},{9:[1,21]},e(l,[2,10],{12:22,13:[1,23]}),e(c,[2,9]),{9:[1,25],48:24,53:u},e([9,53],[2,119]),{1:[2,3]},{8:[1,27]},{7:28,8:s,11:15,14:o},{8:[2,7],14:[1,31],15:29,16:30,17:32,18:33,19:34,20:[1,35],22:[1,36],24:[1,37],25:[1,38],26:39,27:[1,40],29:[1,44],32:[1,43],37:[1,42],40:[1,41]},e(c,[2,8]),e(h,[2,116]),{49:45,52:[1,46]},e(h,[2,121]),{1:[2,4]},{8:[1,47]},e(l,[2,11]),{4:48,8:n,14:a,55:i},e(l,[2,13]),e(g,[2,14]),e(g,[2,15]),e(g,[2,16]),{21:[1,49]},{23:[1,50]},e(g,[2,19]),e(g,[2,20]),e(g,[2,21]),{28:51,34:p,54:f},e(g,[2,111],{41:54,33:[1,57],34:[1,59],35:[1,55],38:[1,56],42:[1,58]}),{28:60,34:p,54:f},{33:[1,61],35:[1,62]},{28:63,34:p,54:f},{48:64,53:u},{53:[2,120]},{1:[2,5]},e(l,[2,12]),e(g,[2,17]),e(g,[2,18]),e(g,[2,22]),e(m,[2,122]),e(m,[2,123]),e(g,[2,46]),{34:[1,65]},{39:66,43:R,44:y,45:b},{34:[1,70]},{34:[1,71]},e(g,[2,112]),e(g,[2,30],{33:[1,72],35:[1,74],38:[1,73]}),{34:[1,75]},{34:[1,76],36:[1,77]},e(g,[2,23],{30:[1,78]}),e(h,[2,117]),e(g,[2,47],{33:[1,80],38:[1,79],42:[1,81]}),e(g,[2,48],{33:[1,83],35:[1,82],42:[1,84]}),e(x,[2,113]),e(x,[2,114]),e(x,[2,115]),e(g,[2,51],{35:[1,85],38:[1,86],42:[1,87]}),e(g,[2,62],{33:[1,90],35:[1,88],38:[1,89]}),{34:[1,91]},{39:92,43:R,44:y,45:b},{34:[1,93]},e(g,[2,25],{35:[1,94]}),{33:[1,95]},{33:[1,96]},{31:[1,97]},{39:98,43:R,44:y,45:b},{34:[1,99]},{34:[1,100]},{34:[1,101]},{34:[1,102]},{34:[1,103]},{34:[1,104]},{39:105,43:R,44:y,45:b},{34:[1,106]},{34:[1,107]},{39:108,43:R,44:y,45:b},{34:[1,109]},e(g,[2,31],{35:[1,111],38:[1,110]}),e(g,[2,32],{33:[1,113],35:[1,112]}),e(g,[2,33],{33:[1,114],38:[1,115]}),{34:[1,116],36:[1,117]},{34:[1,118]},{34:[1,119]},e(g,[2,24]),e(g,[2,49],{33:[1,120],42:[1,121]}),e(g,[2,53],{38:[1,122],42:[1,123]}),e(g,[2,63],{33:[1,125],38:[1,124]}),e(g,[2,50],{33:[1,126],42:[1,127]}),e(g,[2,55],{35:[1,128],42:[1,129]}),e(g,[2,66],{33:[1,131],35:[1,130]}),e(g,[2,52],{38:[1,132],42:[1,133]}),e(g,[2,54],{35:[1,134],42:[1,135]}),e(g,[2,67],{35:[1,137],38:[1,136]}),e(g,[2,64],{33:[1,139],38:[1,138]}),e(g,[2,65],{33:[1,141],35:[1,140]}),e(g,[2,68],{35:[1,143],38:[1,142]}),{39:144,43:R,44:y,45:b},{34:[1,145]},{34:[1,146]},{34:[1,147]},{34:[1,148]},{39:149,43:R,44:y,45:b},e(g,[2,26]),e(g,[2,27]),e(g,[2,28]),e(g,[2,29]),{34:[1,150]},{34:[1,151]},{39:152,43:R,44:y,45:b},{34:[1,153]},{39:154,43:R,44:y,45:b},{34:[1,155]},{34:[1,156]},{34:[1,157]},{34:[1,158]},{34:[1,159]},{34:[1,160]},{34:[1,161]},{39:162,43:R,44:y,45:b},{34:[1,163]},{34:[1,164]},{34:[1,165]},{39:166,43:R,44:y,45:b},{34:[1,167]},{39:168,43:R,44:y,45:b},{34:[1,169]},{34:[1,170]},{34:[1,171]},{39:172,43:R,44:y,45:b},{34:[1,173]},e(g,[2,37],{35:[1,174]}),e(g,[2,38],{38:[1,175]}),e(g,[2,36],{33:[1,176]}),e(g,[2,39],{35:[1,177]}),e(g,[2,34],{38:[1,178]}),e(g,[2,35],{33:[1,179]}),e(g,[2,60],{42:[1,180]}),e(g,[2,73],{33:[1,181]}),e(g,[2,61],{42:[1,182]}),e(g,[2,84],{38:[1,183]}),e(g,[2,74],{33:[1,184]}),e(g,[2,83],{38:[1,185]}),e(g,[2,59],{42:[1,186]}),e(g,[2,72],{33:[1,187]}),e(g,[2,58],{42:[1,188]}),e(g,[2,78],{35:[1,189]}),e(g,[2,71],{33:[1,190]}),e(g,[2,77],{35:[1,191]}),e(g,[2,57],{42:[1,192]}),e(g,[2,85],{38:[1,193]}),e(g,[2,56],{42:[1,194]}),e(g,[2,79],{35:[1,195]}),e(g,[2,80],{35:[1,196]}),e(g,[2,86],{38:[1,197]}),e(g,[2,70],{33:[1,198]}),e(g,[2,81],{38:[1,199]}),e(g,[2,69],{33:[1,200]}),e(g,[2,75],{35:[1,201]}),e(g,[2,76],{35:[1,202]}),e(g,[2,82],{38:[1,203]}),{34:[1,204]},{39:205,43:R,44:y,45:b},{34:[1,206]},{34:[1,207]},{39:208,43:R,44:y,45:b},{34:[1,209]},{34:[1,210]},{34:[1,211]},{34:[1,212]},{39:213,43:R,44:y,45:b},{34:[1,214]},{39:215,43:R,44:y,45:b},{34:[1,216]},{34:[1,217]},{34:[1,218]},{34:[1,219]},{34:[1,220]},{34:[1,221]},{34:[1,222]},{39:223,43:R,44:y,45:b},{34:[1,224]},{34:[1,225]},{34:[1,226]},{39:227,43:R,44:y,45:b},{34:[1,228]},{39:229,43:R,44:y,45:b},{34:[1,230]},{34:[1,231]},{34:[1,232]},{39:233,43:R,44:y,45:b},e(g,[2,40]),e(g,[2,42]),e(g,[2,41]),e(g,[2,43]),e(g,[2,45]),e(g,[2,44]),e(g,[2,101]),e(g,[2,102]),e(g,[2,99]),e(g,[2,100]),e(g,[2,104]),e(g,[2,103]),e(g,[2,108]),e(g,[2,107]),e(g,[2,106]),e(g,[2,105]),e(g,[2,110]),e(g,[2,109]),e(g,[2,98]),e(g,[2,97]),e(g,[2,96]),e(g,[2,95]),e(g,[2,93]),e(g,[2,94]),e(g,[2,92]),e(g,[2,91]),e(g,[2,90]),e(g,[2,89]),e(g,[2,87]),e(g,[2,88])],defaultActions:{9:[2,118],10:[2,1],11:[2,2],19:[2,3],27:[2,4],46:[2,120],47:[2,5]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},_={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,a){switch(n){case 0:return this.begin("open_directive"),50;case 1:return this.begin("type_directive"),51;case 2:return this.popState(),this.begin("arg_directive"),9;case 3:return this.popState(),this.popState(),53;case 4:return 52;case 5:return this.begin("acc_title"),20;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),22;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:case 34:case 38:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:return 14;case 13:case 14:break;case 15:return 6;case 16:return 40;case 17:return 33;case 18:return 38;case 19:return 42;case 20:return 43;case 21:return 44;case 22:return 45;case 23:return 35;case 24:return 29;case 25:return 30;case 26:return 37;case 27:return 32;case 28:return 27;case 29:case 30:return 10;case 31:return 9;case 32:return"CARET";case 33:this.begin("options");break;case 35:return 13;case 36:return 36;case 37:this.begin("string");break;case 39:return 34;case 40:return 31;case 41:return 54;case 42:return 8}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},options:{rules:[34,35],inclusive:!1},string:{rules:[38,39],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36,37,40,41,42,43],inclusive:!0}}};function k(){this.yy={}}return v.lexer=_,k.prototype=v,v.Parser=k,new k}();Ny.parser=Ny;const By=Ny,My=e=>null!==e.match(/^\s*gitGraph/);let Py="",jy="",Vy="";const $y=e=>Tu(e,ey()),Uy=function(){Py="",Vy="",jy=""},zy=function(e){Py=$y(e).replace(/^\s+/g,"")},Hy=function(){return Py||jy},Yy=function(e){Vy=$y(e).replace(/\n\s+/g,"\n")},Wy=function(){return Vy},qy=function(e){jy=$y(e)},Gy=function(){return jy};let Xy=ey().gitGraph.mainBranchName,Jy=ey().gitGraph.mainBranchOrder,Ky={},Zy=null,Qy={};Qy[Xy]={name:Xy,order:Jy};let eb={};eb[Xy]=Zy;let tb=Xy,nb="LR",ab=0;function rb(){return Pm({length:7})}function ib(e,t){const n=Object.create(null);return e.reduce(((e,a)=>{const r=t(a);return n[r]||(n[r]=!0,e.push(a)),e}),[])}let sb={};const ob=function(e,t,n,a){g.debug("Entering commit:",e,t,n,a),t=Bu.sanitizeText(t,ey()),e=Bu.sanitizeText(e,ey()),a=Bu.sanitizeText(a,ey());const r={id:t||ab+"-"+rb(),message:e,seq:ab++,type:n||mb.NORMAL,tag:a||"",parents:null==Zy?[]:[Zy.id],branch:tb};Zy=r,Ky[r.id]=r,eb[tb]=r.id,g.debug("in pushCommit "+r.id)},db=function(e,t){if(e=Bu.sanitizeText(e,ey()),void 0!==eb[e]){let t=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+e+'")');throw t.hash={text:"branch "+e,token:"branch "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+e+'"']},t}eb[e]=null!=Zy?Zy.id:null,Qy[e]={name:e,order:t?parseInt(t,10):null},ub(e),g.debug("in createBranch")},lb=function(e,t,n,a){e=Bu.sanitizeText(e,ey()),t=Bu.sanitizeText(t,ey());const r=Ky[eb[tb]],i=Ky[eb[e]];if(tb===e){let t=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw t.hash={text:"merge "+e,token:"merge "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},t}if(void 0===r||!r){let t=new Error('Incorrect usage of "merge". Current branch ('+tb+")has no commits");throw t.hash={text:"merge "+e,token:"merge "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},t}if(void 0===eb[e]){let t=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw t.hash={text:"merge "+e,token:"merge "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+e]},t}if(void 0===i||!i){let t=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw t.hash={text:"merge "+e,token:"merge "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},t}if(r===i){let t=new Error('Incorrect usage of "merge". Both branches have same head');throw t.hash={text:"merge "+e,token:"merge "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},t}if(t&&void 0!==Ky[t]){let r=new Error('Incorrect usage of "merge". Commit with id:'+t+" already exists, use different custom Id");throw r.hash={text:"merge "+e+t+n+a,token:"merge "+e+t+n+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+e+" "+t+"_UNIQUE "+n+" "+a]},r}const s={id:t||ab+"-"+rb(),message:"merged branch "+e+" into "+tb,seq:ab++,parents:[null==Zy?null:Zy.id,eb[e]],branch:tb,type:mb.MERGE,customType:n,customId:!!t,tag:a||""};Zy=s,Ky[s.id]=s,eb[tb]=s.id,g.debug(eb),g.debug("in mergeBranch")},cb=function(e,t,n){if(g.debug("Entering cherryPick:",e,t,n),e=Bu.sanitizeText(e,ey()),t=Bu.sanitizeText(t,ey()),n=Bu.sanitizeText(n,ey()),!e||void 0===Ky[e]){let n=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw n.hash={text:"cherryPick "+e+" "+t,token:"cherryPick "+e+" "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}let a=Ky[e],r=a.branch;if(a.type===mb.MERGE){let n=new Error('Incorrect usage of "cherryPick". Source commit should not be a merge commit');throw n.hash={text:"cherryPick "+e+" "+t,token:"cherryPick "+e+" "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}if(!t||void 0===Ky[t]){if(r===tb){let n=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw n.hash={text:"cherryPick "+e+" "+t,token:"cherryPick "+e+" "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}const i=Ky[eb[tb]];if(void 0===i||!i){let n=new Error('Incorrect usage of "cherry-pick". Current branch ('+tb+")has no commits");throw n.hash={text:"cherryPick "+e+" "+t,token:"cherryPick "+e+" "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}const s={id:ab+"-"+rb(),message:"cherry-picked "+a+" into "+tb,seq:ab++,parents:[null==Zy?null:Zy.id,a.id],branch:tb,type:mb.CHERRY_PICK,tag:null!=n?n:"cherry-pick:"+a.id};Zy=s,Ky[s.id]=s,eb[tb]=s.id,g.debug(eb),g.debug("in cherryPick")}},ub=function(e){if(e=Bu.sanitizeText(e,ey()),void 0===eb[e]){let t=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+e+'")');throw t.hash={text:"checkout "+e,token:"checkout "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+e+'"']},t}{tb=e;const t=eb[tb];Zy=Ky[t]}};function hb(e,t,n){const a=e.indexOf(t);-1===a?e.push(n):e.splice(a,1,n)}function gb(e){const t=e.reduce(((e,t)=>e.seq>t.seq?e:t),e[0]);let n="";e.forEach((function(e){n+=e===t?"\t*":"\t|"}));const a=[n,t.id,t.seq];for(let r in eb)eb[r]===t.id&&a.push(r);if(g.debug(a.join(" ")),t.parents&&2==t.parents.length){const n=Ky[t.parents[0]];hb(e,t,n),e.push(Ky[t.parents[1]])}else{if(0==t.parents.length)return;{const n=Ky[t.parents];hb(e,t,n)}}gb(e=ib(e,(e=>e.id)))}const pb=function(){g.debug(Ky),gb([fb()[0]])},fb=function(){const e=Object.keys(Ky).map((function(e){return Ky[e]}));return e.forEach((function(e){g.debug(e.id)})),e.sort(((e,t)=>e.seq-t.seq)),e},mb={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Rb={parseDirective:function(e,t,n){rU.parseDirective(this,e,t,n)},getConfig:()=>ey().gitGraph,setDirection:function(e){nb=e},setOptions:function(e){g.debug("options str",e),e=(e=e&&e.trim())||"{}";try{sb=JSON.parse(e)}catch(t){g.error("error while parsing gitGraph options",t.message)}},getOptions:function(){return sb},commit:ob,branch:db,merge:lb,cherryPick:cb,checkout:ub,prettyPrint:pb,clear:function(){Ky={},Zy=null;let e=ey().gitGraph.mainBranchName,t=ey().gitGraph.mainBranchOrder;eb={},eb[e]=null,Qy={},Qy[e]={name:e,order:t},tb=e,ab=0,Uy()},getBranchesAsObjArray:function(){return Object.values(Qy).map(((e,t)=>null!==e.order?e:{...e,order:parseFloat(`0.${t}`,10)})).sort(((e,t)=>e.order-t.order)).map((({name:e})=>({name:e})))},getBranches:function(){return eb},getCommits:function(){return Ky},getCommitsArray:fb,getCurrentBranch:function(){return tb},getDirection:function(){return nb},getHead:function(){return Zy},setAccTitle:zy,getAccTitle:Hy,getAccDescription:Wy,setAccDescription:Yy,setDiagramTitle:qy,getDiagramTitle:Gy,commitType:mb};let yb={};const bb={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},xb=8;let vb={},_b={},kb=[],Cb=0;const wb=()=>{vb={},_b={},yb={},Cb=0,kb=[]},Eb=e=>{const t=document.createElementNS("http://www.w3.org/2000/svg","text");let n=[];n="string"==typeof e?e.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(e)?e:[];for(const a of n){const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),e.setAttribute("class","row"),e.textContent=a.trim(),t.appendChild(e)}return t},Sb=(e,t,n)=>{const a=Ty().gitGraph,r=e.append("g").attr("class","commit-bullets"),i=e.append("g").attr("class","commit-labels");let s=0;Object.keys(t).sort(((e,n)=>t[e].seq-t[n].seq)).forEach((e=>{const o=t[e],d=vb[o.branch].pos,l=s+10;if(n){let e,t=void 0!==o.customType&&""!==o.customType?o.customType:o.type;switch(t){case bb.NORMAL:e="commit-normal";break;case bb.REVERSE:e="commit-reverse";break;case bb.HIGHLIGHT:e="commit-highlight";break;case bb.MERGE:e="commit-merge";break;case bb.CHERRY_PICK:e="commit-cherry-pick";break;default:e="commit-normal"}if(t===bb.HIGHLIGHT){const t=r.append("rect");t.attr("x",l-10),t.attr("y",d-10),t.attr("height",20),t.attr("width",20),t.attr("class",`commit ${o.id} commit-highlight${vb[o.branch].index%xb} ${e}-outer`),r.append("rect").attr("x",l-6).attr("y",d-6).attr("height",12).attr("width",12).attr("class",`commit ${o.id} commit${vb[o.branch].index%xb} ${e}-inner`)}else if(t===bb.CHERRY_PICK)r.append("circle").attr("cx",l).attr("cy",d).attr("r",10).attr("class",`commit ${o.id} ${e}`),r.append("circle").attr("cx",l-3).attr("cy",d+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${o.id} ${e}`),r.append("circle").attr("cx",l+3).attr("cy",d+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${o.id} ${e}`),r.append("line").attr("x1",l+3).attr("y1",d+1).attr("x2",l).attr("y2",d-5).attr("stroke","#fff").attr("class",`commit ${o.id} ${e}`),r.append("line").attr("x1",l-3).attr("y1",d+1).attr("x2",l).attr("y2",d-5).attr("stroke","#fff").attr("class",`commit ${o.id} ${e}`);else{const n=r.append("circle");if(n.attr("cx",l),n.attr("cy",d),n.attr("r",o.type===bb.MERGE?9:10),n.attr("class",`commit ${o.id} commit${vb[o.branch].index%xb}`),t===bb.MERGE){const t=r.append("circle");t.attr("cx",l),t.attr("cy",d),t.attr("r",6),t.attr("class",`commit ${e} ${o.id} commit${vb[o.branch].index%xb}`)}t===bb.REVERSE&&r.append("path").attr("d",`M ${l-5},${d-5}L${l+5},${d+5}M${l-5},${d+5}L${l+5},${d-5}`).attr("class",`commit ${e} ${o.id} commit${vb[o.branch].index%xb}`)}}if(_b[o.id]={x:s+10,y:d},n){if(o.type!==bb.CHERRY_PICK&&(o.customId&&o.type===bb.MERGE||o.type!==bb.MERGE)&&a.showCommitLabel){const e=i.append("g"),t=e.insert("rect").attr("class","commit-label-bkg"),n=e.append("text").attr("x",s).attr("y",d+25).attr("class","commit-label").text(o.id);let r=n.node().getBBox();if(t.attr("x",s+10-r.width/2-2).attr("y",d+13.5).attr("width",r.width+4).attr("height",r.height+4),n.attr("x",s+10-r.width/2),a.rotateCommitLabel){let t=-7.5-(r.width+10)/25*9.5,n=10+r.width/25*8.5;e.attr("transform","translate("+t+", "+n+") rotate(-45, "+s+", "+d+")")}}if(o.tag){const e=i.insert("polygon"),t=i.append("circle"),n=i.append("text").attr("y",d-16).attr("class","tag-label").text(o.tag);let a=n.node().getBBox();n.attr("x",s+10-a.width/2);const r=a.height/2,l=d-19.2;e.attr("class","tag-label-bkg").attr("points",`\n ${s-a.width/2-2},${l+2}\n ${s-a.width/2-2},${l-2}\n ${s+10-a.width/2-4},${l-r-2}\n ${s+10+a.width/2+4},${l-r-2}\n ${s+10+a.width/2+4},${l+r+2}\n ${s+10-a.width/2-4},${l+r+2}`),t.attr("cx",s-a.width/2+2).attr("cy",l).attr("r",1.5).attr("class","tag-hole")}}s+=50,s>Cb&&(Cb=s)}))},Ab=(e,t,n)=>Object.keys(n).filter((a=>n[a].branch===t.branch&&n[a].seq>e.seq&&n[a].seq<t.seq)).length>0,Tb=(e,t,n=0)=>{const a=e+Math.abs(e-t)/2;if(n>5)return a;if(kb.every((e=>Math.abs(e-a)>=10)))return kb.push(a),a;const r=Math.abs(e-t);return Tb(e,t-r/5,n+1)},Db=(e,t,n,a)=>{const r=_b[t.id],i=_b[n.id],s=Ab(t,n,a);let o,d="",l="",c=0,u=0,h=vb[n.branch].index;if(s){d="A 10 10, 0, 0, 0,",l="A 10 10, 0, 0, 1,",c=10,u=10,h=vb[n.branch].index;const e=r.y<i.y?Tb(r.y,i.y):Tb(i.y,r.y);o=r.y<i.y?`M ${r.x} ${r.y} L ${r.x} ${e-c} ${d} ${r.x+u} ${e} L ${i.x-c} ${e} ${l} ${i.x} ${e+u} L ${i.x} ${i.y}`:`M ${r.x} ${r.y} L ${r.x} ${e+c} ${l} ${r.x+u} ${e} L ${i.x-c} ${e} ${d} ${i.x} ${e-u} L ${i.x} ${i.y}`}else r.y<i.y&&(d="A 20 20, 0, 0, 0,",c=20,u=20,h=vb[n.branch].index,o=`M ${r.x} ${r.y} L ${r.x} ${i.y-c} ${d} ${r.x+u} ${i.y} L ${i.x} ${i.y}`),r.y>i.y&&(d="A 20 20, 0, 0, 0,",c=20,u=20,h=vb[t.branch].index,o=`M ${r.x} ${r.y} L ${i.x-c} ${r.y} ${d} ${i.x} ${r.y-u} L ${i.x} ${i.y}`),r.y===i.y&&(h=vb[t.branch].index,o=`M ${r.x} ${r.y} L ${r.x} ${i.y-c} ${d} ${r.x+u} ${i.y} L ${i.x} ${i.y}`);e.append("path").attr("d",o).attr("class","arrow arrow"+h%xb)},Lb=(e,t)=>{const n=e.append("g").attr("class","commit-arrows");Object.keys(t).forEach((e=>{const a=t[e];a.parents&&a.parents.length>0&&a.parents.forEach((e=>{Db(n,t[e],a,t)}))}))},Ib=(e,t)=>{const n=Ty().gitGraph,a=e.append("g");t.forEach(((e,t)=>{const r=t%xb,i=vb[e.name].pos,s=a.append("line");s.attr("x1",0),s.attr("y1",i),s.attr("x2",Cb),s.attr("y2",i),s.attr("class","branch branch"+r),kb.push(i);let o=e.name;const d=Eb(o),l=a.insert("rect"),c=a.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+r);c.node().appendChild(d);let u=d.getBBox();l.attr("class","branchLabelBkg label"+r).attr("rx",4).attr("ry",4).attr("x",-u.width-4-(!0===n.rotateCommitLabel?30:0)).attr("y",-u.height/2+8).attr("width",u.width+18).attr("height",u.height+4),c.attr("transform","translate("+(-u.width-14-(!0===n.rotateCommitLabel?30:0))+", "+(i-u.height/2-1)+")"),l.attr("transform","translate(-19, "+(i-u.height/2)+")")}))},Fb={draw:function(e,t,n,a){var r;wb();const i=Ty(),s=i.gitGraph;g.debug("in gitgraph renderer",e+"\n","id:",t,n),yb=a.db.getCommits();const o=a.db.getBranchesAsObjArray();let d=0;o.forEach(((e,t)=>{vb[e.name]={pos:d,index:t},d+=50+(s.rotateCommitLabel?40:0)}));const l=hn(`[id="${t}"]`);Sb(l,yb,!1),s.showBranches&&Ib(l,o),Lb(l,yb),Sb(l,yb,!0),Km.insertTitle(l,"gitTitleText",s.titleTopMargin,a.db.getDiagramTitle()),Ly(void 0,l,s.diagramPadding,null!=(r=s.useMaxWidth)?r:i.useMaxWidth)}},Ob=e=>`\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n ${[0,1,2,3,4,5,6,7].map((t=>`\n .branch-label${t} { fill: ${e["gitBranchLabel"+t]}; }\n .commit${t} { stroke: ${e["git"+t]}; fill: ${e["git"+t]}; }\n .commit-highlight${t} { stroke: ${e["gitInv"+t]}; fill: ${e["gitInv"+t]}; }\n .label${t} { fill: ${e["git"+t]}; }\n .arrow${t} { stroke: ${e["git"+t]}; }\n `)).join("\n")}\n\n .branch {\n stroke-width: 1;\n stroke: ${e.lineColor};\n stroke-dasharray: 2;\n }\n .commit-label { font-size: ${e.commitLabelFontSize}; fill: ${e.commitLabelColor};}\n .commit-label-bkg { font-size: ${e.commitLabelFontSize}; fill: ${e.commitLabelBackground}; opacity: 0.5; }\n .tag-label { font-size: ${e.tagLabelFontSize}; fill: ${e.tagLabelColor};}\n .tag-label-bkg { fill: ${e.tagLabelBackground}; stroke: ${e.tagLabelBorder}; }\n .tag-hole { fill: ${e.textColor}; }\n\n .commit-merge {\n stroke: ${e.primaryColor};\n fill: ${e.primaryColor};\n }\n .commit-reverse {\n stroke: ${e.primaryColor};\n fill: ${e.primaryColor};\n stroke-width: 3;\n }\n .commit-highlight-outer {\n }\n .commit-highlight-inner {\n stroke: ${e.primaryColor};\n fill: ${e.primaryColor};\n }\n\n .arrow { stroke-width: 8; stroke-linecap: round; fill: none}\n .gitTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n }\n`;var Nb=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,6],n=[1,7],a=[1,8],r=[1,9],i=[1,16],s=[1,11],o=[1,12],d=[1,13],l=[1,14],u=[1,15],h=[1,27],g=[1,33],p=[1,34],f=[1,35],m=[1,36],R=[1,37],y=[1,72],b=[1,73],x=[1,74],v=[1,75],_=[1,76],k=[1,77],C=[1,78],w=[1,38],E=[1,39],S=[1,40],A=[1,41],T=[1,42],D=[1,43],L=[1,44],I=[1,45],F=[1,46],O=[1,47],N=[1,48],B=[1,49],M=[1,50],P=[1,51],j=[1,52],V=[1,53],$=[1,54],U=[1,55],z=[1,56],H=[1,57],Y=[1,59],W=[1,60],q=[1,61],G=[1,62],X=[1,63],J=[1,64],K=[1,65],Z=[1,66],Q=[1,67],ee=[1,68],te=[1,69],ne=[24,52],ae=[24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],re=[15,24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],ie=[1,94],se=[1,95],oe=[1,96],de=[1,97],le=[15,24,52],ce=[7,8,9,10,18,22,25,26,27,28],ue=[15,24,43,52],he=[15,24,43,52,86,87,89,90],ge=[15,43],pe=[44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],fe={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,directive:6,direction_tb:7,direction_bt:8,direction_rl:9,direction_lr:10,graphConfig:11,openDirective:12,typeDirective:13,closeDirective:14,NEWLINE:15,":":16,argDirective:17,open_directive:18,type_directive:19,arg_directive:20,close_directive:21,C4_CONTEXT:22,statements:23,EOF:24,C4_CONTAINER:25,C4_COMPONENT:26,C4_DYNAMIC:27,C4_DEPLOYMENT:28,otherStatements:29,diagramStatements:30,otherStatement:31,title:32,accDescription:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,boundaryStatement:39,boundaryStartStatement:40,boundaryStopStatement:41,boundaryStart:42,LBRACE:43,ENTERPRISE_BOUNDARY:44,attributes:45,SYSTEM_BOUNDARY:46,BOUNDARY:47,CONTAINER_BOUNDARY:48,NODE:49,NODE_L:50,NODE_R:51,RBRACE:52,diagramStatement:53,PERSON:54,PERSON_EXT:55,SYSTEM:56,SYSTEM_DB:57,SYSTEM_QUEUE:58,SYSTEM_EXT:59,SYSTEM_EXT_DB:60,SYSTEM_EXT_QUEUE:61,CONTAINER:62,CONTAINER_DB:63,CONTAINER_QUEUE:64,CONTAINER_EXT:65,CONTAINER_EXT_DB:66,CONTAINER_EXT_QUEUE:67,COMPONENT:68,COMPONENT_DB:69,COMPONENT_QUEUE:70,COMPONENT_EXT:71,COMPONENT_EXT_DB:72,COMPONENT_EXT_QUEUE:73,REL:74,BIREL:75,REL_U:76,REL_D:77,REL_L:78,REL_R:79,REL_B:80,REL_INDEX:81,UPDATE_EL_STYLE:82,UPDATE_REL_STYLE:83,UPDATE_LAYOUT_CONFIG:84,attribute:85,STR:86,STR_KEY:87,STR_VALUE:88,ATTRIBUTE:89,ATTRIBUTE_EMPTY:90,$accept:0,$end:1},terminals_:{2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"C4_CONTEXT",24:"EOF",25:"C4_CONTAINER",26:"C4_COMPONENT",27:"C4_DYNAMIC",28:"C4_DEPLOYMENT",32:"title",33:"accDescription",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",43:"LBRACE",44:"ENTERPRISE_BOUNDARY",46:"SYSTEM_BOUNDARY",47:"BOUNDARY",48:"CONTAINER_BOUNDARY",49:"NODE",50:"NODE_L",51:"NODE_R",52:"RBRACE",54:"PERSON",55:"PERSON_EXT",56:"SYSTEM",57:"SYSTEM_DB",58:"SYSTEM_QUEUE",59:"SYSTEM_EXT",60:"SYSTEM_EXT_DB",61:"SYSTEM_EXT_QUEUE",62:"CONTAINER",63:"CONTAINER_DB",64:"CONTAINER_QUEUE",65:"CONTAINER_EXT",66:"CONTAINER_EXT_DB",67:"CONTAINER_EXT_QUEUE",68:"COMPONENT",69:"COMPONENT_DB",70:"COMPONENT_QUEUE",71:"COMPONENT_EXT",72:"COMPONENT_EXT_DB",73:"COMPONENT_EXT_QUEUE",74:"REL",75:"BIREL",76:"REL_U",77:"REL_D",78:"REL_L",79:"REL_R",80:"REL_B",81:"REL_INDEX",82:"UPDATE_EL_STYLE",83:"UPDATE_REL_STYLE",84:"UPDATE_LAYOUT_CONFIG",86:"STR",87:"STR_KEY",88:"STR_VALUE",89:"ATTRIBUTE",90:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[11,4],[11,4],[11,4],[11,4],[23,1],[23,1],[23,2],[29,1],[29,2],[29,3],[31,1],[31,1],[31,2],[31,2],[31,1],[39,3],[40,3],[40,3],[40,4],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[41,1],[30,1],[30,2],[30,3],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,1],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[45,1],[45,2],[85,1],[85,2],[85,1],[85,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 4:a.setDirection("TB");break;case 5:a.setDirection("BT");break;case 6:a.setDirection("RL");break;case 7:a.setDirection("LR");break;case 11:a.parseDirective("%%{","open_directive");break;case 12:break;case 13:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 14:a.parseDirective("}%%","close_directive","c4Context");break;case 15:case 16:case 17:case 18:case 19:a.setC4Type(i[o-3]);break;case 26:a.setTitle(i[o].substring(6)),this.$=i[o].substring(6);break;case 27:a.setAccDescription(i[o].substring(15)),this.$=i[o].substring(15);break;case 28:this.$=i[o].trim(),a.setTitle(this.$);break;case 29:case 30:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 35:case 36:i[o].splice(2,0,"ENTERPRISE"),a.addPersonOrSystemBoundary(...i[o]),this.$=i[o];break;case 37:a.addPersonOrSystemBoundary(...i[o]),this.$=i[o];break;case 38:i[o].splice(2,0,"CONTAINER"),a.addContainerBoundary(...i[o]),this.$=i[o];break;case 39:a.addDeploymentNode("node",...i[o]),this.$=i[o];break;case 40:a.addDeploymentNode("nodeL",...i[o]),this.$=i[o];break;case 41:a.addDeploymentNode("nodeR",...i[o]),this.$=i[o];break;case 42:a.popBoundaryParseStack();break;case 46:a.addPersonOrSystem("person",...i[o]),this.$=i[o];break;case 47:a.addPersonOrSystem("external_person",...i[o]),this.$=i[o];break;case 48:a.addPersonOrSystem("system",...i[o]),this.$=i[o];break;case 49:a.addPersonOrSystem("system_db",...i[o]),this.$=i[o];break;case 50:a.addPersonOrSystem("system_queue",...i[o]),this.$=i[o];break;case 51:a.addPersonOrSystem("external_system",...i[o]),this.$=i[o];break;case 52:a.addPersonOrSystem("external_system_db",...i[o]),this.$=i[o];break;case 53:a.addPersonOrSystem("external_system_queue",...i[o]),this.$=i[o];break;case 54:a.addContainer("container",...i[o]),this.$=i[o];break;case 55:a.addContainer("container_db",...i[o]),this.$=i[o];break;case 56:a.addContainer("container_queue",...i[o]),this.$=i[o];break;case 57:a.addContainer("external_container",...i[o]),this.$=i[o];break;case 58:a.addContainer("external_container_db",...i[o]),this.$=i[o];break;case 59:a.addContainer("external_container_queue",...i[o]),this.$=i[o];break;case 60:a.addComponent("component",...i[o]),this.$=i[o];break;case 61:a.addComponent("component_db",...i[o]),this.$=i[o];break;case 62:a.addComponent("component_queue",...i[o]),this.$=i[o];break;case 63:a.addComponent("external_component",...i[o]),this.$=i[o];break;case 64:a.addComponent("external_component_db",...i[o]),this.$=i[o];break;case 65:a.addComponent("external_component_queue",...i[o]),this.$=i[o];break;case 67:a.addRel("rel",...i[o]),this.$=i[o];break;case 68:a.addRel("birel",...i[o]),this.$=i[o];break;case 69:a.addRel("rel_u",...i[o]),this.$=i[o];break;case 70:a.addRel("rel_d",...i[o]),this.$=i[o];break;case 71:a.addRel("rel_l",...i[o]),this.$=i[o];break;case 72:a.addRel("rel_r",...i[o]),this.$=i[o];break;case 73:a.addRel("rel_b",...i[o]),this.$=i[o];break;case 74:i[o].splice(0,1),a.addRel("rel",...i[o]),this.$=i[o];break;case 75:a.updateElStyle("update_el_style",...i[o]),this.$=i[o];break;case 76:a.updateRelStyle("update_rel_style",...i[o]),this.$=i[o];break;case 77:a.updateLayoutConfig("update_layout_config",...i[o]),this.$=i[o];break;case 78:this.$=[i[o]];break;case 79:i[o].unshift(i[o-1]),this.$=i[o];break;case 80:case 82:this.$=i[o].trim();break;case 81:let e={};e[i[o-1].trim()]=i[o].trim(),this.$=e;break;case 83:this.$=""}},table:[{3:1,4:2,5:3,6:4,7:t,8:n,9:a,10:r,11:5,12:10,18:i,22:s,25:o,26:d,27:l,28:u},{1:[3]},{1:[2,1]},{1:[2,2]},{3:17,4:2,5:3,6:4,7:t,8:n,9:a,10:r,11:5,12:10,18:i,22:s,25:o,26:d,27:l,28:u},{1:[2,8]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{1:[2,7]},{13:18,19:[1,19]},{15:[1,20]},{15:[1,21]},{15:[1,22]},{15:[1,23]},{15:[1,24]},{19:[2,11]},{1:[2,3]},{14:25,16:[1,26],21:h},e([16,21],[2,12]),{23:28,29:29,30:30,31:31,32:g,33:p,34:f,36:m,38:R,39:58,40:70,42:71,44:y,46:b,47:x,48:v,49:_,50:k,51:C,53:32,54:w,55:E,56:S,57:A,58:T,59:D,60:L,61:I,62:F,63:O,64:N,65:B,66:M,67:P,68:j,69:V,70:$,71:U,72:z,73:H,74:Y,75:W,76:q,77:G,78:X,79:J,80:K,81:Z,82:Q,83:ee,84:te},{23:79,29:29,30:30,31:31,32:g,33:p,34:f,36:m,38:R,39:58,40:70,42:71,44:y,46:b,47:x,48:v,49:_,50:k,51:C,53:32,54:w,55:E,56:S,57:A,58:T,59:D,60:L,61:I,62:F,63:O,64:N,65:B,66:M,67:P,68:j,69:V,70:$,71:U,72:z,73:H,74:Y,75:W,76:q,77:G,78:X,79:J,80:K,81:Z,82:Q,83:ee,84:te},{23:80,29:29,30:30,31:31,32:g,33:p,34:f,36:m,38:R,39:58,40:70,42:71,44:y,46:b,47:x,48:v,49:_,50:k,51:C,53:32,54:w,55:E,56:S,57:A,58:T,59:D,60:L,61:I,62:F,63:O,64:N,65:B,66:M,67:P,68:j,69:V,70:$,71:U,72:z,73:H,74:Y,75:W,76:q,77:G,78:X,79:J,80:K,81:Z,82:Q,83:ee,84:te},{23:81,29:29,30:30,31:31,32:g,33:p,34:f,36:m,38:R,39:58,40:70,42:71,44:y,46:b,47:x,48:v,49:_,50:k,51:C,53:32,54:w,55:E,56:S,57:A,58:T,59:D,60:L,61:I,62:F,63:O,64:N,65:B,66:M,67:P,68:j,69:V,70:$,71:U,72:z,73:H,74:Y,75:W,76:q,77:G,78:X,79:J,80:K,81:Z,82:Q,83:ee,84:te},{23:82,29:29,30:30,31:31,32:g,33:p,34:f,36:m,38:R,39:58,40:70,42:71,44:y,46:b,47:x,48:v,49:_,50:k,51:C,53:32,54:w,55:E,56:S,57:A,58:T,59:D,60:L,61:I,62:F,63:O,64:N,65:B,66:M,67:P,68:j,69:V,70:$,71:U,72:z,73:H,74:Y,75:W,76:q,77:G,78:X,79:J,80:K,81:Z,82:Q,83:ee,84:te},{15:[1,83]},{17:84,20:[1,85]},{15:[2,14]},{24:[1,86]},e(ne,[2,20],{53:32,39:58,40:70,42:71,30:87,44:y,46:b,47:x,48:v,49:_,50:k,51:C,54:w,55:E,56:S,57:A,58:T,59:D,60:L,61:I,62:F,63:O,64:N,65:B,66:M,67:P,68:j,69:V,70:$,71:U,72:z,73:H,74:Y,75:W,76:q,77:G,78:X,79:J,80:K,81:Z,82:Q,83:ee,84:te}),e(ne,[2,21]),e(ae,[2,23],{15:[1,88]}),e(ne,[2,43],{15:[1,89]}),e(re,[2,26]),e(re,[2,27]),{35:[1,90]},{37:[1,91]},e(re,[2,30]),{45:92,85:93,86:ie,87:se,89:oe,90:de},{45:98,85:93,86:ie,87:se,89:oe,90:de},{45:99,85:93,86:ie,87:se,89:oe,90:de},{45:100,85:93,86:ie,87:se,89:oe,90:de},{45:101,85:93,86:ie,87:se,89:oe,90:de},{45:102,85:93,86:ie,87:se,89:oe,90:de},{45:103,85:93,86:ie,87:se,89:oe,90:de},{45:104,85:93,86:ie,87:se,89:oe,90:de},{45:105,85:93,86:ie,87:se,89:oe,90:de},{45:106,85:93,86:ie,87:se,89:oe,90:de},{45:107,85:93,86:ie,87:se,89:oe,90:de},{45:108,85:93,86:ie,87:se,89:oe,90:de},{45:109,85:93,86:ie,87:se,89:oe,90:de},{45:110,85:93,86:ie,87:se,89:oe,90:de},{45:111,85:93,86:ie,87:se,89:oe,90:de},{45:112,85:93,86:ie,87:se,89:oe,90:de},{45:113,85:93,86:ie,87:se,89:oe,90:de},{45:114,85:93,86:ie,87:se,89:oe,90:de},{45:115,85:93,86:ie,87:se,89:oe,90:de},{45:116,85:93,86:ie,87:se,89:oe,90:de},e(le,[2,66]),{45:117,85:93,86:ie,87:se,89:oe,90:de},{45:118,85:93,86:ie,87:se,89:oe,90:de},{45:119,85:93,86:ie,87:se,89:oe,90:de},{45:120,85:93,86:ie,87:se,89:oe,90:de},{45:121,85:93,86:ie,87:se,89:oe,90:de},{45:122,85:93,86:ie,87:se,89:oe,90:de},{45:123,85:93,86:ie,87:se,89:oe,90:de},{45:124,85:93,86:ie,87:se,89:oe,90:de},{45:125,85:93,86:ie,87:se,89:oe,90:de},{45:126,85:93,86:ie,87:se,89:oe,90:de},{45:127,85:93,86:ie,87:se,89:oe,90:de},{30:128,39:58,40:70,42:71,44:y,46:b,47:x,48:v,49:_,50:k,51:C,53:32,54:w,55:E,56:S,57:A,58:T,59:D,60:L,61:I,62:F,63:O,64:N,65:B,66:M,67:P,68:j,69:V,70:$,71:U,72:z,73:H,74:Y,75:W,76:q,77:G,78:X,79:J,80:K,81:Z,82:Q,83:ee,84:te},{15:[1,130],43:[1,129]},{45:131,85:93,86:ie,87:se,89:oe,90:de},{45:132,85:93,86:ie,87:se,89:oe,90:de},{45:133,85:93,86:ie,87:se,89:oe,90:de},{45:134,85:93,86:ie,87:se,89:oe,90:de},{45:135,85:93,86:ie,87:se,89:oe,90:de},{45:136,85:93,86:ie,87:se,89:oe,90:de},{45:137,85:93,86:ie,87:se,89:oe,90:de},{24:[1,138]},{24:[1,139]},{24:[1,140]},{24:[1,141]},e(ce,[2,9]),{14:142,21:h},{21:[2,13]},{1:[2,15]},e(ne,[2,22]),e(ae,[2,24],{31:31,29:143,32:g,33:p,34:f,36:m,38:R}),e(ne,[2,44],{29:29,30:30,31:31,53:32,39:58,40:70,42:71,23:144,32:g,33:p,34:f,36:m,38:R,44:y,46:b,47:x,48:v,49:_,50:k,51:C,54:w,55:E,56:S,57:A,58:T,59:D,60:L,61:I,62:F,63:O,64:N,65:B,66:M,67:P,68:j,69:V,70:$,71:U,72:z,73:H,74:Y,75:W,76:q,77:G,78:X,79:J,80:K,81:Z,82:Q,83:ee,84:te}),e(re,[2,28]),e(re,[2,29]),e(le,[2,46]),e(ue,[2,78],{85:93,45:145,86:ie,87:se,89:oe,90:de}),e(he,[2,80]),{88:[1,146]},e(he,[2,82]),e(he,[2,83]),e(le,[2,47]),e(le,[2,48]),e(le,[2,49]),e(le,[2,50]),e(le,[2,51]),e(le,[2,52]),e(le,[2,53]),e(le,[2,54]),e(le,[2,55]),e(le,[2,56]),e(le,[2,57]),e(le,[2,58]),e(le,[2,59]),e(le,[2,60]),e(le,[2,61]),e(le,[2,62]),e(le,[2,63]),e(le,[2,64]),e(le,[2,65]),e(le,[2,67]),e(le,[2,68]),e(le,[2,69]),e(le,[2,70]),e(le,[2,71]),e(le,[2,72]),e(le,[2,73]),e(le,[2,74]),e(le,[2,75]),e(le,[2,76]),e(le,[2,77]),{41:147,52:[1,148]},{15:[1,149]},{43:[1,150]},e(ge,[2,35]),e(ge,[2,36]),e(ge,[2,37]),e(ge,[2,38]),e(ge,[2,39]),e(ge,[2,40]),e(ge,[2,41]),{1:[2,16]},{1:[2,17]},{1:[2,18]},{1:[2,19]},{15:[1,151]},e(ae,[2,25]),e(ne,[2,45]),e(ue,[2,79]),e(he,[2,81]),e(le,[2,31]),e(le,[2,42]),e(pe,[2,32]),e(pe,[2,33],{15:[1,152]}),e(ce,[2,10]),e(pe,[2,34])],defaultActions:{2:[2,1],3:[2,2],5:[2,8],6:[2,4],7:[2,5],8:[2,6],9:[2,7],16:[2,11],17:[2,3],27:[2,14],85:[2,13],86:[2,15],138:[2,16],139:[2,17],140:[2,18],141:[2,19]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},me={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,a){switch(n){case 0:return this.begin("open_directive"),18;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 10;case 5:return this.begin("type_directive"),19;case 6:return this.popState(),this.begin("arg_directive"),16;case 7:return this.popState(),this.popState(),21;case 8:return 20;case 9:return 32;case 10:return 33;case 11:return this.begin("acc_title"),34;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),36;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:case 78:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:case 21:case 75:break;case 19:c;break;case 20:return 15;case 22:return 22;case 23:return 25;case 24:return 26;case 25:return 27;case 26:return 28;case 27:return this.begin("person_ext"),55;case 28:return this.begin("person"),54;case 29:return this.begin("system_ext_queue"),61;case 30:return this.begin("system_ext_db"),60;case 31:return this.begin("system_ext"),59;case 32:return this.begin("system_queue"),58;case 33:return this.begin("system_db"),57;case 34:return this.begin("system"),56;case 35:return this.begin("boundary"),47;case 36:return this.begin("enterprise_boundary"),44;case 37:return this.begin("system_boundary"),46;case 38:return this.begin("container_ext_queue"),67;case 39:return this.begin("container_ext_db"),66;case 40:return this.begin("container_ext"),65;case 41:return this.begin("container_queue"),64;case 42:return this.begin("container_db"),63;case 43:return this.begin("container"),62;case 44:return this.begin("container_boundary"),48;case 45:return this.begin("component_ext_queue"),73;case 46:return this.begin("component_ext_db"),72;case 47:return this.begin("component_ext"),71;case 48:return this.begin("component_queue"),70;case 49:return this.begin("component_db"),69;case 50:return this.begin("component"),68;case 51:case 52:return this.begin("node"),49;case 53:return this.begin("node_l"),50;case 54:return this.begin("node_r"),51;case 55:return this.begin("rel"),74;case 56:return this.begin("birel"),75;case 57:case 58:return this.begin("rel_u"),76;case 59:case 60:return this.begin("rel_d"),77;case 61:case 62:return this.begin("rel_l"),78;case 63:case 64:return this.begin("rel_r"),79;case 65:return this.begin("rel_b"),80;case 66:return this.begin("rel_index"),81;case 67:return this.begin("update_el_style"),82;case 68:return this.begin("update_rel_style"),83;case 69:return this.begin("update_layout_config"),84;case 70:return"EOF_IN_STRUCT";case 71:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 72:this.begin("attribute");break;case 73:case 84:this.popState(),this.popState();break;case 74:case 76:return 90;case 77:this.begin("string");break;case 79:case 85:return"STR";case 80:this.begin("string_kv");break;case 81:return this.begin("string_kv_key"),"STR_KEY";case 82:this.popState(),this.begin("string_kv_value");break;case 83:return"STR_VALUE";case 86:return"LBRACE";case 87:return"RBRACE";case 88:return"SPACE";case 89:return"EOL";case 90:return 24}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},string_kv_value:{rules:[83,84],inclusive:!1},string_kv_key:{rules:[82],inclusive:!1},string_kv:{rules:[81],inclusive:!1},string:{rules:[78,79],inclusive:!1},attribute:{rules:[73,74,75,76,77,80,85],inclusive:!1},update_layout_config:{rules:[70,71,72,73],inclusive:!1},update_rel_style:{rules:[70,71,72,73],inclusive:!1},update_el_style:{rules:[70,71,72,73],inclusive:!1},rel_b:{rules:[70,71,72,73],inclusive:!1},rel_r:{rules:[70,71,72,73],inclusive:!1},rel_l:{rules:[70,71,72,73],inclusive:!1},rel_d:{rules:[70,71,72,73],inclusive:!1},rel_u:{rules:[70,71,72,73],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[70,71,72,73],inclusive:!1},node_r:{rules:[70,71,72,73],inclusive:!1},node_l:{rules:[70,71,72,73],inclusive:!1},node:{rules:[70,71,72,73],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[70,71,72,73],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[70,71,72,73],inclusive:!1},component_ext:{rules:[70,71,72,73],inclusive:!1},component_queue:{rules:[70,71,72,73],inclusive:!1},component_db:{rules:[70,71,72,73],inclusive:!1},component:{rules:[70,71,72,73],inclusive:!1},container_boundary:{rules:[70,71,72,73],inclusive:!1},container_ext_queue:{rules:[],inclusive:!1},container_ext_db:{rules:[70,71,72,73],inclusive:!1},container_ext:{rules:[70,71,72,73],inclusive:!1},container_queue:{rules:[70,71,72,73],inclusive:!1},container_db:{rules:[70,71,72,73],inclusive:!1},container:{rules:[70,71,72,73],inclusive:!1},birel:{rules:[70,71,72,73],inclusive:!1},system_boundary:{rules:[70,71,72,73],inclusive:!1},enterprise_boundary:{rules:[70,71,72,73],inclusive:!1},boundary:{rules:[70,71,72,73],inclusive:!1},system_ext_queue:{rules:[70,71,72,73],inclusive:!1},system_ext_db:{rules:[70,71,72,73],inclusive:!1},system_ext:{rules:[70,71,72,73],inclusive:!1},system_queue:{rules:[70,71,72,73],inclusive:!1},system_db:{rules:[70,71,72,73],inclusive:!1},system:{rules:[70,71,72,73],inclusive:!1},person_ext:{rules:[70,71,72,73],inclusive:!1},person:{rules:[70,71,72,73],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,86,87,88,89,90],inclusive:!0}}};function Re(){this.yy={}}return fe.lexer=me,Re.prototype=fe,fe.Parser=Re,new Re}();Nb.parser=Nb;const Bb=Nb,Mb=e=>null!==e.match(/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/);let Pb=[],jb=[""],Vb="global",$b="",Ub=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],zb=[],Hb="",Yb=!1,Wb=4,qb=2;var Gb;const Xb=function(e,t,n,a,r,i,s,o,d){if(null==e||null==t||null==n||null==a)return;let l={};const c=zb.find((e=>e.from===t&&e.to===n));if(c?l=c:zb.push(l),l.type=e,l.from=t,l.to=n,l.label={text:a},null==r)l.techn={text:""};else if("object"==typeof r){let[e,t]=Object.entries(r)[0];l[e]={text:t}}else l.techn={text:r};if(null==i)l.descr={text:""};else if("object"==typeof i){let[e,t]=Object.entries(i)[0];l[e]={text:t}}else l.descr={text:i};if("object"==typeof s){let[e,t]=Object.entries(s)[0];l[e]=t}else l.sprite=s;if("object"==typeof o){let[e,t]=Object.entries(o)[0];l[e]=t}else l.tags=o;if("object"==typeof d){let[e,t]=Object.entries(d)[0];l[e]=t}else l.link=d;l.wrap=rx()},Jb=function(e,t,n,a,r,i,s){if(null===t||null===n)return;let o={};const d=Pb.find((e=>e.alias===t));if(d&&t===d.alias?o=d:(o.alias=t,Pb.push(o)),o.label=null==n?{text:""}:{text:n},null==a)o.descr={text:""};else if("object"==typeof a){let[e,t]=Object.entries(a)[0];o[e]={text:t}}else o.descr={text:a};if("object"==typeof r){let[e,t]=Object.entries(r)[0];o[e]=t}else o.sprite=r;if("object"==typeof i){let[e,t]=Object.entries(i)[0];o[e]=t}else o.tags=i;if("object"==typeof s){let[e,t]=Object.entries(s)[0];o[e]=t}else o.link=s;o.typeC4Shape={text:e},o.parentBoundary=Vb,o.wrap=rx()},Kb=function(e,t,n,a,r,i,s,o){if(null===t||null===n)return;let d={};const l=Pb.find((e=>e.alias===t));if(l&&t===l.alias?d=l:(d.alias=t,Pb.push(d)),d.label=null==n?{text:""}:{text:n},null==a)d.techn={text:""};else if("object"==typeof a){let[e,t]=Object.entries(a)[0];d[e]={text:t}}else d.techn={text:a};if(null==r)d.descr={text:""};else if("object"==typeof r){let[e,t]=Object.entries(r)[0];d[e]={text:t}}else d.descr={text:r};if("object"==typeof i){let[e,t]=Object.entries(i)[0];d[e]=t}else d.sprite=i;if("object"==typeof s){let[e,t]=Object.entries(s)[0];d[e]=t}else d.tags=s;if("object"==typeof o){let[e,t]=Object.entries(o)[0];d[e]=t}else d.link=o;d.wrap=rx(),d.typeC4Shape={text:e},d.parentBoundary=Vb},Zb=function(e,t,n,a,r,i,s,o){if(null===t||null===n)return;let d={};const l=Pb.find((e=>e.alias===t));if(l&&t===l.alias?d=l:(d.alias=t,Pb.push(d)),d.label=null==n?{text:""}:{text:n},null==a)d.techn={text:""};else if("object"==typeof a){let[e,t]=Object.entries(a)[0];d[e]={text:t}}else d.techn={text:a};if(null==r)d.descr={text:""};else if("object"==typeof r){let[e,t]=Object.entries(r)[0];d[e]={text:t}}else d.descr={text:r};if("object"==typeof i){let[e,t]=Object.entries(i)[0];d[e]=t}else d.sprite=i;if("object"==typeof s){let[e,t]=Object.entries(s)[0];d[e]=t}else d.tags=s;if("object"==typeof o){let[e,t]=Object.entries(o)[0];d[e]=t}else d.link=o;d.wrap=rx(),d.typeC4Shape={text:e},d.parentBoundary=Vb},Qb=function(e,t,n,a,r){if(null===e||null===t)return;let i={};const s=Ub.find((t=>t.alias===e));if(s&&e===s.alias?i=s:(i.alias=e,Ub.push(i)),i.label=null==t?{text:""}:{text:t},null==n)i.type={text:"system"};else if("object"==typeof n){let[e,t]=Object.entries(n)[0];i[e]={text:t}}else i.type={text:n};if("object"==typeof a){let[e,t]=Object.entries(a)[0];i[e]=t}else i.tags=a;if("object"==typeof r){let[e,t]=Object.entries(r)[0];i[e]=t}else i.link=r;i.parentBoundary=Vb,i.wrap=rx(),$b=Vb,Vb=e,jb.push($b)},ex=function(e,t,n,a,r){if(null===e||null===t)return;let i={};const s=Ub.find((t=>t.alias===e));if(s&&e===s.alias?i=s:(i.alias=e,Ub.push(i)),i.label=null==t?{text:""}:{text:t},null==n)i.type={text:"container"};else if("object"==typeof n){let[e,t]=Object.entries(n)[0];i[e]={text:t}}else i.type={text:n};if("object"==typeof a){let[e,t]=Object.entries(a)[0];i[e]=t}else i.tags=a;if("object"==typeof r){let[e,t]=Object.entries(r)[0];i[e]=t}else i.link=r;i.parentBoundary=Vb,i.wrap=rx(),$b=Vb,Vb=e,jb.push($b)},tx=function(e,t,n,a,r,i,s,o){if(null===t||null===n)return;let d={};const l=Ub.find((e=>e.alias===t));if(l&&t===l.alias?d=l:(d.alias=t,Ub.push(d)),d.label=null==n?{text:""}:{text:n},null==a)d.type={text:"node"};else if("object"==typeof a){let[e,t]=Object.entries(a)[0];d[e]={text:t}}else d.type={text:a};if(null==r)d.descr={text:""};else if("object"==typeof r){let[e,t]=Object.entries(r)[0];d[e]={text:t}}else d.descr={text:r};if("object"==typeof s){let[e,t]=Object.entries(s)[0];d[e]=t}else d.tags=s;if("object"==typeof o){let[e,t]=Object.entries(o)[0];d[e]=t}else d.link=o;d.nodeType=e,d.parentBoundary=Vb,d.wrap=rx(),$b=Vb,Vb=t,jb.push($b)},nx=function(e){return null==e?Pb:Pb.filter((t=>t.parentBoundary===e))},ax=function(e){return Object.keys(nx(e))},rx=function(){return Yb},ix={addPersonOrSystem:Jb,addPersonOrSystemBoundary:Qb,addContainer:Kb,addContainerBoundary:ex,addComponent:Zb,addDeploymentNode:tx,popBoundaryParseStack:function(){Vb=$b,jb.pop(),$b=jb.pop(),jb.push($b)},addRel:Xb,updateElStyle:function(e,t,n,a,r,i,s,o,d,l,c){let u=Pb.find((e=>e.alias===t));if(void 0!==u||(u=Ub.find((e=>e.alias===t)),void 0!==u)){if(null!=n)if("object"==typeof n){let[e,t]=Object.entries(n)[0];u[e]=t}else u.bgColor=n;if(null!=a)if("object"==typeof a){let[e,t]=Object.entries(a)[0];u[e]=t}else u.fontColor=a;if(null!=r)if("object"==typeof r){let[e,t]=Object.entries(r)[0];u[e]=t}else u.borderColor=r;if(null!=i)if("object"==typeof i){let[e,t]=Object.entries(i)[0];u[e]=t}else u.shadowing=i;if(null!=s)if("object"==typeof s){let[e,t]=Object.entries(s)[0];u[e]=t}else u.shape=s;if(null!=o)if("object"==typeof o){let[e,t]=Object.entries(o)[0];u[e]=t}else u.sprite=o;if(null!=d)if("object"==typeof d){let[e,t]=Object.entries(d)[0];u[e]=t}else u.techn=d;if(null!=l)if("object"==typeof l){let[e,t]=Object.entries(l)[0];u[e]=t}else u.legendText=l;if(null!=c)if("object"==typeof c){let[e,t]=Object.entries(c)[0];u[e]=t}else u.legendSprite=c}},updateRelStyle:function(e,t,n,a,r,i,s){const o=zb.find((e=>e.from===t&&e.to===n));if(void 0!==o){if(null!=a)if("object"==typeof a){let[e,t]=Object.entries(a)[0];o[e]=t}else o.textColor=a;if(null!=r)if("object"==typeof r){let[e,t]=Object.entries(r)[0];o[e]=t}else o.lineColor=r;if(null!=i)if("object"==typeof i){let[e,t]=Object.entries(i)[0];o[e]=parseInt(t)}else o.offsetX=parseInt(i);if(null!=s)if("object"==typeof s){let[e,t]=Object.entries(s)[0];o[e]=parseInt(t)}else o.offsetY=parseInt(s)}},updateLayoutConfig:function(e,t,n){let a=Wb,r=qb;if("object"==typeof t){const e=Object.values(t)[0];a=parseInt(e)}else a=parseInt(t);if("object"==typeof n){const e=Object.values(n)[0];r=parseInt(e)}else r=parseInt(n);a>=1&&(Wb=a),r>=1&&(qb=r)},autoWrap:rx,setWrap:function(e){Yb=e},getC4ShapeArray:nx,getC4Shape:function(e){return Pb.find((t=>t.alias===e))},getC4ShapeKeys:ax,getBoundarys:function(e){return null==e?Ub:Ub.filter((t=>t.parentBoundary===e))},getCurrentBoundaryParse:function(){return Vb},getParentBoundaryParse:function(){return $b},getRels:function(){return zb},getTitle:function(){return Hb},getC4Type:function(){return Gb},getC4ShapeInRow:function(){return Wb},getC4BoundaryInRow:function(){return qb},setAccTitle:zy,getAccTitle:Hy,getAccDescription:Wy,setAccDescription:Yy,parseDirective:function(e,t,n){rU.parseDirective(this,e,t,n)},getConfig:()=>ey().c4,clear:function(){Pb=[],Ub=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],$b="",Vb="global",jb=[""],zb=[],jb=[""],Hb="",Yb=!1,Wb=4,qb=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(e){Hb=Tu(e,ey())},setC4Type:function(e){Gb=Tu(e,ey())}},sx=function(e,t){const n=e.append("rect");if(n.attr("x",t.x),n.attr("y",t.y),n.attr("fill",t.fill),n.attr("stroke",t.stroke),n.attr("width",t.width),n.attr("height",t.height),n.attr("rx",t.rx),n.attr("ry",t.ry),"undefined"!==t.attrs&&null!==t.attrs)for(let a in t.attrs)n.attr(a,t.attrs[a]);return"undefined"!==t.class&&n.attr("class",t.class),n},ox=function(e,t,n,a,r,i){const s=e.append("image");s.attr("width",t),s.attr("height",n),s.attr("x",a),s.attr("y",r);let o=i.startsWith("data:image/png;base64")?i:R(i);s.attr("xlink:href",o)},dx=(e,t,n)=>{const a=e.append("g");let r=0;for(let i of t){let e=i.textColor?i.textColor:"#444444",t=i.lineColor?i.lineColor:"#444444",s=i.offsetX?parseInt(i.offsetX):0,o=i.offsetY?parseInt(i.offsetY):0,d="";if(0===r){let e=a.append("line");e.attr("x1",i.startPoint.x),e.attr("y1",i.startPoint.y),e.attr("x2",i.endPoint.x),e.attr("y2",i.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",t),e.style("fill","none"),"rel_b"!==i.type&&e.attr("marker-end","url("+d+"#arrowhead)"),("birel"===i.type||"rel_b"===i.type)&&e.attr("marker-start","url("+d+"#arrowend)"),r=-1}else{let e=a.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",t).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",i.startPoint.x).replaceAll("starty",i.startPoint.y).replaceAll("controlx",i.startPoint.x+(i.endPoint.x-i.startPoint.x)/2-(i.endPoint.x-i.startPoint.x)/4).replaceAll("controly",i.startPoint.y+(i.endPoint.y-i.startPoint.y)/2).replaceAll("stopx",i.endPoint.x).replaceAll("stopy",i.endPoint.y)),"rel_b"!==i.type&&e.attr("marker-end","url("+d+"#arrowhead)"),("birel"===i.type||"rel_b"===i.type)&&e.attr("marker-start","url("+d+"#arrowend)")}let l=n.messageFont();vx(n)(i.label.text,a,Math.min(i.startPoint.x,i.endPoint.x)+Math.abs(i.endPoint.x-i.startPoint.x)/2+s,Math.min(i.startPoint.y,i.endPoint.y)+Math.abs(i.endPoint.y-i.startPoint.y)/2+o,i.label.width,i.label.height,{fill:e},l),i.techn&&""!==i.techn.text&&(l=n.messageFont(),vx(n)("["+i.techn.text+"]",a,Math.min(i.startPoint.x,i.endPoint.x)+Math.abs(i.endPoint.x-i.startPoint.x)/2+s,Math.min(i.startPoint.y,i.endPoint.y)+Math.abs(i.endPoint.y-i.startPoint.y)/2+n.messageFontSize+5+o,Math.max(i.label.width,i.techn.width),i.techn.height,{fill:e,"font-style":"italic"},l))}},lx=function(e,t,n){const a=e.append("g");let r=t.bgColor?t.bgColor:"none",i=t.borderColor?t.borderColor:"#444444",s=t.fontColor?t.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};t.nodeType&&(o={"stroke-width":1});let d={x:t.x,y:t.y,fill:r,stroke:i,width:t.width,height:t.height,rx:2.5,ry:2.5,attrs:o};sx(a,d);let l=n.boundaryFont();l.fontWeight="bold",l.fontSize=l.fontSize+2,l.fontColor=s,vx(n)(t.label.text,a,t.x,t.y+t.label.Y,t.width,t.height,{fill:"#444444"},l),t.type&&""!==t.type.text&&(l=n.boundaryFont(),l.fontColor=s,vx(n)(t.type.text,a,t.x,t.y+t.type.Y,t.width,t.height,{fill:"#444444"},l)),t.descr&&""!==t.descr.text&&(l=n.boundaryFont(),l.fontSize=l.fontSize-2,l.fontColor=s,vx(n)(t.descr.text,a,t.x,t.y+t.descr.Y,t.width,t.height,{fill:"#444444"},l))},cx=function(e,t,n){let a=t.bgColor?t.bgColor:n[t.typeC4Shape.text+"_bg_color"],r=t.borderColor?t.borderColor:n[t.typeC4Shape.text+"_border_color"],i=t.fontColor?t.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(t.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="}const o=e.append("g");o.attr("class","person-man");const d=bx();switch(t.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":d.x=t.x,d.y=t.y,d.fill=a,d.width=t.width,d.height=t.height,d.style="stroke:"+r+";stroke-width:0.5;",d.rx=2.5,d.ry=2.5,sx(o,d);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",a).attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2).replaceAll("height",t.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",a).attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("width",t.width).replaceAll("half",t.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",t.x+t.width).replaceAll("starty",t.y).replaceAll("half",t.height/2))}let l=xx(n,t.typeC4Shape.text);switch(o.append("text").attr("fill",i).attr("font-family",l.fontFamily).attr("font-size",l.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",t.typeC4Shape.width).attr("x",t.x+t.width/2-t.typeC4Shape.width/2).attr("y",t.y+t.typeC4Shape.Y).text("<<"+t.typeC4Shape.text+">>"),t.typeC4Shape.text){case"person":case"external_person":ox(o,48,48,t.x+t.width/2-24,t.y+t.image.Y,s)}let c=n[t.typeC4Shape.text+"Font"]();return c.fontWeight="bold",c.fontSize=c.fontSize+2,c.fontColor=i,vx(n)(t.label.text,o,t.x,t.y+t.label.Y,t.width,t.height,{fill:i},c),c=n[t.typeC4Shape.text+"Font"](),c.fontColor=i,t.thchn&&""!==t.thchn.text?vx(n)(t.thchn.text,o,t.x,t.y+t.thchn.Y,t.width,t.height,{fill:i,"font-style":"italic"},c):t.type&&""!==t.type.text&&vx(n)(t.type.text,o,t.x,t.y+t.type.Y,t.width,t.height,{fill:i,"font-style":"italic"},c),t.descr&&""!==t.descr.text&&(c=n.personFont(),c.fontColor=i,vx(n)(t.descr.text,o,t.x,t.y+t.descr.Y,t.width,t.height,{fill:i},c)),t.height},ux=function(e){e.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},hx=function(e){e.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},gx=function(e){e.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},px=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},fx=function(e){e.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},mx=function(e){e.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},Rx=function(e){e.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},yx=function(e){const t=e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);t.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),t.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},bx=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},xx=(e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),vx=function(){function e(e,t,n,r,i,s,o){a(t.append("text").attr("x",n+i/2).attr("y",r+s/2+5).style("text-anchor","middle").text(e),o)}function t(e,t,n,r,i,s,o,d){const{fontSize:l,fontFamily:c,fontWeight:u}=d,h=e.split(Bu.lineBreakRegex);for(let g=0;g<h.length;g++){const e=g*l-l*(h.length-1)/2,s=t.append("text").attr("x",n+i/2).attr("y",r).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",l).style("font-weight",u).style("font-family",c);s.append("tspan").attr("dy",e).text(h[g]).attr("alignment-baseline","mathematical"),a(s,o)}}function n(e,n,r,i,s,o,d,l){const c=n.append("switch"),u=c.append("foreignObject").attr("x",r).attr("y",i).attr("width",s).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),t(e,c,r,i,s,o,d,l),a(u,d)}function a(e,t){for(const n in t)t.hasOwnProperty(n)&&e.attr(n,t[n])}return function(a){return"fo"===a.textPlacement?n:"old"===a.textPlacement?e:t}}(),_x={drawRect:sx,drawBoundary:lx,drawC4Shape:cx,drawRels:dx,drawImage:ox,insertArrowHead:px,insertArrowEnd:fx,insertArrowFilledHead:mx,insertDynamicNumber:Rx,insertArrowCrossHead:yx,insertDatabaseIcon:ux,insertComputerIcon:hx,insertClockIcon:gx,getNoteRect:bx,sanitizeUrl:R};let kx=0,Cx=0,wx=4,Ex=2;Nb.yy=ix;let Sx={};class Ax{constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,Tx(e.db.getConfig())}setData(e,t,n,a){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=t,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=a}updateVal(e,t,n,a){void 0===e[t]?e[t]=n:e[t]=a(n,e[t])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let t=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+2*e.margin,n=t+e.width,a=this.nextData.starty+2*e.margin,r=a+e.height;(t>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>wx)&&(t=this.nextData.startx+e.margin+Sx.nextLinePaddingX,a=this.nextData.stopy+2*e.margin,this.nextData.stopx=n=t+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=r=a+e.height,this.nextData.cnt=1),e.x=t,e.y=a,this.updateVal(this.data,"startx",t,Math.min),this.updateVal(this.data,"starty",a,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",r,Math.max),this.updateVal(this.nextData,"startx",t,Math.min),this.updateVal(this.nextData,"starty",a,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",r,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},Tx(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}}const Tx=function(e){sf(Sx,e),e.fontFamily&&(Sx.personFontFamily=Sx.systemFontFamily=Sx.messageFontFamily=e.fontFamily),e.fontSize&&(Sx.personFontSize=Sx.systemFontSize=Sx.messageFontSize=e.fontSize),e.fontWeight&&(Sx.personFontWeight=Sx.systemFontWeight=Sx.messageFontWeight=e.fontWeight)},Dx=(e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),Lx=e=>({fontFamily:e.boundaryFontFamily,fontSize:e.boundaryFontSize,fontWeight:e.boundaryFontWeight}),Ix=e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight});function Fx(e,t,n,a,r){if(!t[e].width)if(n)t[e].text=$m(t[e].text,r,a),t[e].textLines=t[e].text.split(Bu.lineBreakRegex).length,t[e].width=r,t[e].height=zm(t[e].text,a);else{let n=t[e].text.split(Bu.lineBreakRegex);t[e].textLines=n.length;let r=0;t[e].height=0,t[e].width=0;for(const i of n)t[e].width=Math.max(Hm(i,a),t[e].width),r=zm(i,a),t[e].height=t[e].height+r}}const Ox=function(e,t,n){t.x=n.data.startx,t.y=n.data.starty,t.width=n.data.stopx-n.data.startx,t.height=n.data.stopy-n.data.starty,t.label.y=Sx.c4ShapeMargin-35;let a=t.wrap&&Sx.wrap,r=Lx(Sx);r.fontSize=r.fontSize+2,r.fontWeight="bold",Fx("label",t,a,r,Hm(t.label.text,r)),_x.drawBoundary(e,t,Sx)},Nx=function(e,t,n,a){let r=0;for(const i of a){r=0;const a=n[i];let s=Dx(Sx,a.typeC4Shape.text);switch(s.fontSize=s.fontSize-2,a.typeC4Shape.width=Hm("<<"+a.typeC4Shape.text+">>",s),a.typeC4Shape.height=s.fontSize+2,a.typeC4Shape.Y=Sx.c4ShapePadding,r=a.typeC4Shape.Y+a.typeC4Shape.height-4,a.image={width:0,height:0,Y:0},a.typeC4Shape.text){case"person":case"external_person":a.image.width=48,a.image.height=48,a.image.Y=r,r=a.image.Y+a.image.height}a.sprite&&(a.image.width=48,a.image.height=48,a.image.Y=r,r=a.image.Y+a.image.height);let o=a.wrap&&Sx.wrap,d=Sx.width-2*Sx.c4ShapePadding,l=Dx(Sx,a.typeC4Shape.text);l.fontSize=l.fontSize+2,l.fontWeight="bold",Fx("label",a,o,l,d),a.label.Y=r+8,r=a.label.Y+a.label.height,a.type&&""!==a.type.text?(a.type.text="["+a.type.text+"]",Fx("type",a,o,Dx(Sx,a.typeC4Shape.text),d),a.type.Y=r+5,r=a.type.Y+a.type.height):a.techn&&""!==a.techn.text&&(a.techn.text="["+a.techn.text+"]",Fx("techn",a,o,Dx(Sx,a.techn.text),d),a.techn.Y=r+5,r=a.techn.Y+a.techn.height);let c=r,u=a.label.width;a.descr&&""!==a.descr.text&&(Fx("descr",a,o,Dx(Sx,a.typeC4Shape.text),d),a.descr.Y=r+20,r=a.descr.Y+a.descr.height,u=Math.max(a.label.width,a.descr.width),c=r-5*a.descr.textLines),u+=Sx.c4ShapePadding,a.width=Math.max(a.width||Sx.width,u,Sx.width),a.height=Math.max(a.height||Sx.height,c,Sx.height),a.margin=a.margin||Sx.c4ShapeMargin,e.insert(a),_x.drawC4Shape(t,a,Sx)}e.bumpLastMargin(Sx.c4ShapeMargin)};class Bx{constructor(e,t){this.x=e,this.y=t}}let Mx=function(e,t){let n=e.x,a=e.y,r=t.x,i=t.y,s=n+e.width/2,o=a+e.height/2,d=Math.abs(n-r),l=Math.abs(a-i),c=l/d,u=e.height/e.width,h=null;return a==i&&n<r?h=new Bx(n+e.width,o):a==i&&n>r?h=new Bx(n,o):n==r&&a<i?h=new Bx(s,a+e.height):n==r&&a>i&&(h=new Bx(s,a)),n>r&&a<i?h=u>=c?new Bx(n,o+c*e.width/2):new Bx(s-d/l*e.height/2,a+e.height):n<r&&a<i?h=u>=c?new Bx(n+e.width,o+c*e.width/2):new Bx(s+d/l*e.height/2,a+e.height):n<r&&a>i?h=u>=c?new Bx(n+e.width,o-c*e.width/2):new Bx(s+e.height/2*d/l,a):n>r&&a>i&&(h=u>=c?new Bx(n,o-e.width/2*c):new Bx(s-e.height/2*d/l,a)),h},Px=function(e,t){let n={x:0,y:0};n.x=t.x+t.width/2,n.y=t.y+t.height/2;let a=Mx(e,n);return n.x=e.x+e.width/2,n.y=e.y+e.height/2,{startPoint:a,endPoint:Mx(t,n)}};const jx=function(e,t,n,a){let r=0;for(let i of t){r+=1;let e=i.wrap&&Sx.wrap,t=Ix(Sx);"C4Dynamic"===a.db.getC4Type()&&(i.label.text=r+": "+i.label.text);let s=Hm(i.label.text,t);Fx("label",i,e,t,s),i.techn&&""!==i.techn.text&&(s=Hm(i.techn.text,t),Fx("techn",i,e,t,s)),i.descr&&""!==i.descr.text&&(s=Hm(i.descr.text,t),Fx("descr",i,e,t,s));let o=n(i.from),d=n(i.to),l=Px(o,d);i.startPoint=l.startPoint,i.endPoint=l.endPoint}_x.drawRels(e,t,Sx)};function Vx(e,t,n,a,r){let i=new Ax(r);i.data.widthLimit=n.data.widthLimit/Math.min(Ex,a.length);for(let[s,o]of a.entries()){let a=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=a,a=o.image.Y+o.image.height);let d=o.wrap&&Sx.wrap,l=Lx(Sx);if(l.fontSize=l.fontSize+2,l.fontWeight="bold",Fx("label",o,d,l,i.data.widthLimit),o.label.Y=a+8,a=o.label.Y+o.label.height,o.type&&""!==o.type.text&&(o.type.text="["+o.type.text+"]",Fx("type",o,d,Lx(Sx),i.data.widthLimit),o.type.Y=a+5,a=o.type.Y+o.type.height),o.descr&&""!==o.descr.text){let e=Lx(Sx);e.fontSize=e.fontSize-2,Fx("descr",o,d,e,i.data.widthLimit),o.descr.Y=a+20,a=o.descr.Y+o.descr.height}if(0==s||s%Ex==0){let e=n.data.startx+Sx.diagramMarginX,t=n.data.stopy+Sx.diagramMarginY+a;i.setData(e,e,t,t)}else{let e=i.data.stopx!==i.data.startx?i.data.stopx+Sx.diagramMarginX:i.data.startx,t=i.data.starty;i.setData(e,e,t,t)}i.name=o.alias;let c=r.db.getC4ShapeArray(o.alias),u=r.db.getC4ShapeKeys(o.alias);u.length>0&&Nx(i,e,c,u),t=o.alias;let h=r.db.getBoundarys(t);h.length>0&&Vx(e,t,i,h,r),"global"!==o.alias&&Ox(e,o,i),n.data.stopy=Math.max(i.data.stopy+Sx.c4ShapeMargin,n.data.stopy),n.data.stopx=Math.max(i.data.stopx+Sx.c4ShapeMargin,n.data.stopx),kx=Math.max(kx,n.data.stopx),Cx=Math.max(Cx,n.data.stopy)}}const $x={drawPersonOrSystemArray:Nx,drawBoundary:Ox,setConf:Tx,draw:function(e,t,n,a){Sx=ey().c4;const r=ey().securityLevel;let i;"sandbox"===r&&(i=hn("#i"+t));const s=hn("sandbox"===r?i.nodes()[0].contentDocument.body:"body");let o=a.db;a.db.setWrap(Sx.wrap),wx=o.getC4ShapeInRow(),Ex=o.getC4BoundaryInRow(),g.debug(`C:${JSON.stringify(Sx,null,2)}`);const d="sandbox"===r?s.select(`[id="${t}"]`):hn(`[id="${t}"]`);_x.insertComputerIcon(d),_x.insertDatabaseIcon(d),_x.insertClockIcon(d);let l=new Ax(a);l.setData(Sx.diagramMarginX,Sx.diagramMarginX,Sx.diagramMarginY,Sx.diagramMarginY),l.data.widthLimit=screen.availWidth,kx=Sx.diagramMarginX,Cx=Sx.diagramMarginY;const c=a.db.getTitle();Vx(d,"",l,a.db.getBoundarys(""),a),_x.insertArrowHead(d),_x.insertArrowEnd(d),_x.insertArrowCrossHead(d),_x.insertArrowFilledHead(d),jx(d,a.db.getRels(),a.db.getC4Shape,a),l.data.stopx=kx,l.data.stopy=Cx;const u=l.data;let h=u.stopy-u.starty+2*Sx.diagramMarginY;const p=u.stopx-u.startx+2*Sx.diagramMarginX;c&&d.append("text").text(c).attr("x",(u.stopx-u.startx)/2-4*Sx.diagramMarginX).attr("y",u.starty+Sx.diagramMarginY),cy(d,h,p,Sx.useMaxWidth);const f=c?60:0;d.attr("viewBox",u.startx-Sx.diagramMarginX+" -"+(Sx.diagramMarginY+f)+" "+p+" "+(h+f)),g.debug("models:",u)}};var Ux=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,3],n=[1,7],a=[1,8],r=[1,9],i=[1,10],s=[1,13],o=[1,12],d=[1,16,25],l=[1,20],c=[1,32],u=[1,33],h=[1,34],g=[1,36],p=[1,39],f=[1,37],m=[1,38],R=[1,44],y=[1,45],b=[1,40],x=[1,41],v=[1,42],_=[1,43],k=[1,48],C=[1,49],w=[1,50],E=[1,51],S=[16,25],A=[1,65],T=[1,66],D=[1,67],L=[1,68],I=[1,69],F=[1,70],O=[1,71],N=[1,80],B=[16,25,32,45,46,54,60,61,62,63,64,65,66,71,73],M=[16,25,30,32,45,46,50,54,60,61,62,63,64,65,66,71,73,88,89,90,91],P=[5,8,9,10,11,16,19,23,25],j=[54,88,89,90,91],V=[54,65,66,88,89,90,91],$=[54,60,61,62,63,64,88,89,90,91],U=[16,25,32],z=[1,107],H={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statments:5,direction:6,directive:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,statements:24,EOF:25,statement:26,className:27,alphaNumToken:28,classLiteralName:29,GENERICTYPE:30,relationStatement:31,LABEL:32,classStatement:33,methodStatement:34,annotationStatement:35,clickStatement:36,cssClassStatement:37,noteStatement:38,acc_title:39,acc_title_value:40,acc_descr:41,acc_descr_value:42,acc_descr_multiline_value:43,CLASS:44,STYLE_SEPARATOR:45,STRUCT_START:46,members:47,STRUCT_STOP:48,ANNOTATION_START:49,ANNOTATION_END:50,MEMBER:51,SEPARATOR:52,relation:53,STR:54,NOTE_FOR:55,noteText:56,NOTE:57,relationType:58,lineType:59,AGGREGATION:60,EXTENSION:61,COMPOSITION:62,DEPENDENCY:63,LOLLIPOP:64,LINE:65,DOTTED_LINE:66,CALLBACK:67,LINK:68,LINK_TARGET:69,CLICK:70,CALLBACK_NAME:71,CALLBACK_ARGS:72,HREF:73,CSSCLASS:74,commentToken:75,textToken:76,graphCodeTokens:77,textNoTagsToken:78,TAGSTART:79,TAGEND:80,"==":81,"--":82,PCT:83,DEFAULT:84,SPACE:85,MINUS:86,keywords:87,UNICODE_TEXT:88,NUM:89,ALPHA:90,BQUOTE_STR:91,$accept:0,$end:1},terminals_:{2:"error",5:"statments",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",25:"EOF",30:"GENERICTYPE",32:"LABEL",39:"acc_title",40:"acc_title_value",41:"acc_descr",42:"acc_descr_value",43:"acc_descr_multiline_value",44:"CLASS",45:"STYLE_SEPARATOR",46:"STRUCT_START",48:"STRUCT_STOP",49:"ANNOTATION_START",50:"ANNOTATION_END",51:"MEMBER",52:"SEPARATOR",54:"STR",55:"NOTE_FOR",57:"NOTE",60:"AGGREGATION",61:"EXTENSION",62:"COMPOSITION",63:"DEPENDENCY",64:"LOLLIPOP",65:"LINE",66:"DOTTED_LINE",67:"CALLBACK",68:"LINK",69:"LINK_TARGET",70:"CLICK",71:"CALLBACK_NAME",72:"CALLBACK_ARGS",73:"HREF",74:"CSSCLASS",77:"graphCodeTokens",79:"TAGSTART",80:"TAGEND",81:"==",82:"--",83:"PCT",84:"DEFAULT",85:"SPACE",86:"MINUS",87:"keywords",88:"UNICODE_TEXT",89:"NUM",90:"ALPHA",91:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[3,1],[3,2],[6,1],[6,1],[6,1],[6,1],[4,1],[7,4],[7,6],[13,1],[14,1],[18,1],[15,1],[12,4],[24,1],[24,2],[24,3],[27,1],[27,1],[27,2],[27,2],[27,2],[26,1],[26,2],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,2],[26,2],[26,1],[33,2],[33,4],[33,5],[33,7],[35,4],[47,1],[47,2],[34,1],[34,2],[34,1],[34,1],[31,3],[31,4],[31,4],[31,5],[38,3],[38,2],[53,3],[53,2],[53,2],[53,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[36,3],[36,4],[36,3],[36,4],[36,4],[36,5],[36,3],[36,4],[36,4],[36,5],[36,3],[36,4],[36,4],[36,5],[37,3],[75,1],[75,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[78,1],[78,1],[78,1],[78,1],[28,1],[28,1],[28,1],[29,1],[56,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 5:a.setDirection("TB");break;case 6:a.setDirection("BT");break;case 7:a.setDirection("RL");break;case 8:a.setDirection("LR");break;case 12:a.parseDirective("%%{","open_directive");break;case 13:a.parseDirective(i[o],"type_directive");break;case 14:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 15:a.parseDirective("}%%","close_directive","class");break;case 20:case 21:this.$=i[o];break;case 22:this.$=i[o-1]+i[o];break;case 23:case 24:this.$=i[o-1]+"~"+i[o];break;case 25:a.addRelation(i[o]);break;case 26:i[o-1].title=a.cleanupLabel(i[o]),a.addRelation(i[o-1]);break;case 35:this.$=i[o].trim(),a.setAccTitle(this.$);break;case 36:case 37:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 38:a.addClass(i[o]);break;case 39:a.addClass(i[o-2]),a.setCssClass(i[o-2],i[o]);break;case 40:a.addClass(i[o-3]),a.addMembers(i[o-3],i[o-1]);break;case 41:a.addClass(i[o-5]),a.setCssClass(i[o-5],i[o-3]),a.addMembers(i[o-5],i[o-1]);break;case 42:a.addAnnotation(i[o],i[o-2]);break;case 43:this.$=[i[o]];break;case 44:i[o].push(i[o-1]),this.$=i[o];break;case 45:case 47:case 48:break;case 46:a.addMember(i[o-1],a.cleanupLabel(i[o]));break;case 49:this.$={id1:i[o-2],id2:i[o],relation:i[o-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:i[o-3],id2:i[o],relation:i[o-1],relationTitle1:i[o-2],relationTitle2:"none"};break;case 51:this.$={id1:i[o-3],id2:i[o],relation:i[o-2],relationTitle1:"none",relationTitle2:i[o-1]};break;case 52:this.$={id1:i[o-4],id2:i[o],relation:i[o-2],relationTitle1:i[o-3],relationTitle2:i[o-1]};break;case 53:a.addNote(i[o],i[o-1]);break;case 54:a.addNote(i[o]);break;case 55:this.$={type1:i[o-2],type2:i[o],lineType:i[o-1]};break;case 56:this.$={type1:"none",type2:i[o],lineType:i[o-1]};break;case 57:this.$={type1:i[o-1],type2:"none",lineType:i[o]};break;case 58:this.$={type1:"none",type2:"none",lineType:i[o]};break;case 59:this.$=a.relationType.AGGREGATION;break;case 60:this.$=a.relationType.EXTENSION;break;case 61:this.$=a.relationType.COMPOSITION;break;case 62:this.$=a.relationType.DEPENDENCY;break;case 63:this.$=a.relationType.LOLLIPOP;break;case 64:this.$=a.lineType.LINE;break;case 65:this.$=a.lineType.DOTTED_LINE;break;case 66:case 72:this.$=i[o-2],a.setClickEvent(i[o-1],i[o]);break;case 67:case 73:this.$=i[o-3],a.setClickEvent(i[o-2],i[o-1]),a.setTooltip(i[o-2],i[o]);break;case 68:case 76:this.$=i[o-2],a.setLink(i[o-1],i[o]);break;case 69:case 77:this.$=i[o-3],a.setLink(i[o-2],i[o-1],i[o]);break;case 70:case 78:this.$=i[o-3],a.setLink(i[o-2],i[o-1]),a.setTooltip(i[o-2],i[o]);break;case 71:case 79:this.$=i[o-4],a.setLink(i[o-3],i[o-2],i[o]),a.setTooltip(i[o-3],i[o-1]);break;case 74:this.$=i[o-3],a.setClickEvent(i[o-2],i[o-1],i[o]);break;case 75:this.$=i[o-4],a.setClickEvent(i[o-3],i[o-2],i[o-1]),a.setTooltip(i[o-3],i[o]);break;case 80:a.setCssClass(i[o-1],i[o])}},table:[{3:1,4:2,5:t,6:4,7:5,8:n,9:a,10:r,11:i,12:6,13:11,19:s,23:o},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{3:14,4:2,5:t,6:4,7:5,8:n,9:a,10:r,11:i,12:6,13:11,19:s,23:o},{1:[2,9]},e(d,[2,5]),e(d,[2,6]),e(d,[2,7]),e(d,[2,8]),{14:15,20:[1,16]},{16:[1,17]},{20:[2,12]},{1:[2,4]},{15:18,17:[1,19],22:l},e([17,22],[2,13]),{6:31,7:30,8:n,9:a,10:r,11:i,13:11,19:s,24:21,26:22,27:35,28:46,29:47,31:23,33:24,34:25,35:26,36:27,37:28,38:29,39:c,41:u,43:h,44:g,49:p,51:f,52:m,55:R,57:y,67:b,68:x,70:v,74:_,88:k,89:C,90:w,91:E},{16:[1,52]},{18:53,21:[1,54]},{16:[2,15]},{25:[1,55]},{16:[1,56],25:[2,17]},e(S,[2,25],{32:[1,57]}),e(S,[2,27]),e(S,[2,28]),e(S,[2,29]),e(S,[2,30]),e(S,[2,31]),e(S,[2,32]),e(S,[2,33]),e(S,[2,34]),{40:[1,58]},{42:[1,59]},e(S,[2,37]),e(S,[2,45],{53:60,58:63,59:64,32:[1,62],54:[1,61],60:A,61:T,62:D,63:L,64:I,65:F,66:O}),{27:72,28:46,29:47,88:k,89:C,90:w,91:E},e(S,[2,47]),e(S,[2,48]),{28:73,88:k,89:C,90:w},{27:74,28:46,29:47,88:k,89:C,90:w,91:E},{27:75,28:46,29:47,88:k,89:C,90:w,91:E},{27:76,28:46,29:47,88:k,89:C,90:w,91:E},{54:[1,77]},{27:78,28:46,29:47,88:k,89:C,90:w,91:E},{54:N,56:79},e(B,[2,20],{28:46,29:47,27:81,30:[1,82],88:k,89:C,90:w,91:E}),e(B,[2,21],{30:[1,83]}),e(M,[2,94]),e(M,[2,95]),e(M,[2,96]),e([16,25,30,32,45,46,54,60,61,62,63,64,65,66,71,73],[2,97]),e(P,[2,10]),{15:84,22:l},{22:[2,14]},{1:[2,16]},{6:31,7:30,8:n,9:a,10:r,11:i,13:11,19:s,24:85,25:[2,18],26:22,27:35,28:46,29:47,31:23,33:24,34:25,35:26,36:27,37:28,38:29,39:c,41:u,43:h,44:g,49:p,51:f,52:m,55:R,57:y,67:b,68:x,70:v,74:_,88:k,89:C,90:w,91:E},e(S,[2,26]),e(S,[2,35]),e(S,[2,36]),{27:86,28:46,29:47,54:[1,87],88:k,89:C,90:w,91:E},{53:88,58:63,59:64,60:A,61:T,62:D,63:L,64:I,65:F,66:O},e(S,[2,46]),{59:89,65:F,66:O},e(j,[2,58],{58:90,60:A,61:T,62:D,63:L,64:I}),e(V,[2,59]),e(V,[2,60]),e(V,[2,61]),e(V,[2,62]),e(V,[2,63]),e($,[2,64]),e($,[2,65]),e(S,[2,38],{45:[1,91],46:[1,92]}),{50:[1,93]},{54:[1,94]},{54:[1,95]},{71:[1,96],73:[1,97]},{28:98,88:k,89:C,90:w},{54:N,56:99},e(S,[2,54]),e(S,[2,98]),e(B,[2,22]),e(B,[2,23]),e(B,[2,24]),{16:[1,100]},{25:[2,19]},e(U,[2,49]),{27:101,28:46,29:47,88:k,89:C,90:w,91:E},{27:102,28:46,29:47,54:[1,103],88:k,89:C,90:w,91:E},e(j,[2,57],{58:104,60:A,61:T,62:D,63:L,64:I}),e(j,[2,56]),{28:105,88:k,89:C,90:w},{47:106,51:z},{27:108,28:46,29:47,88:k,89:C,90:w,91:E},e(S,[2,66],{54:[1,109]}),e(S,[2,68],{54:[1,111],69:[1,110]}),e(S,[2,72],{54:[1,112],72:[1,113]}),e(S,[2,76],{54:[1,115],69:[1,114]}),e(S,[2,80]),e(S,[2,53]),e(P,[2,11]),e(U,[2,51]),e(U,[2,50]),{27:116,28:46,29:47,88:k,89:C,90:w,91:E},e(j,[2,55]),e(S,[2,39],{46:[1,117]}),{48:[1,118]},{47:119,48:[2,43],51:z},e(S,[2,42]),e(S,[2,67]),e(S,[2,69]),e(S,[2,70],{69:[1,120]}),e(S,[2,73]),e(S,[2,74],{54:[1,121]}),e(S,[2,77]),e(S,[2,78],{69:[1,122]}),e(U,[2,52]),{47:123,51:z},e(S,[2,40]),{48:[2,44]},e(S,[2,71]),e(S,[2,75]),e(S,[2,79]),{48:[1,124]},e(S,[2,41])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],6:[2,9],13:[2,12],14:[2,4],20:[2,15],54:[2,14],55:[2,16],85:[2,19],119:[2,44]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},Y={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,a){switch(n){case 0:return this.begin("open_directive"),19;case 1:return 8;case 2:return 9;case 3:return 10;case 4:return 11;case 5:return this.begin("type_directive"),20;case 6:return this.popState(),this.begin("arg_directive"),17;case 7:return this.popState(),this.popState(),22;case 8:return 21;case 9:case 10:case 19:case 27:break;case 11:return this.begin("acc_title"),39;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),41;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:case 39:case 42:case 45:case 48:case 51:case 54:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:return 16;case 20:case 21:return 23;case 22:return this.begin("struct"),46;case 23:return"EDGE_STATE";case 24:return"EOF_IN_STRUCT";case 25:return"OPEN_IN_STRUCT";case 26:return this.popState(),48;case 28:return"MEMBER";case 29:return 44;case 30:return 74;case 31:return 67;case 32:return 68;case 33:return 70;case 34:return 55;case 35:return 57;case 36:return 49;case 37:return 50;case 38:this.begin("generic");break;case 40:return"GENERICTYPE";case 41:this.begin("string");break;case 43:return"STR";case 44:this.begin("bqstring");break;case 46:return"BQUOTE_STR";case 47:this.begin("href");break;case 49:return 73;case 50:this.begin("callback_name");break;case 52:this.popState(),this.begin("callback_args");break;case 53:return 71;case 55:return 72;case 56:case 57:case 58:case 59:return 69;case 60:case 61:return 61;case 62:case 63:return 63;case 64:return 62;case 65:return 60;case 66:return 64;case 67:return 65;case 68:return 66;case 69:return 32;case 70:return 45;case 71:return 86;case 72:return"DOT";case 73:return"PLUS";case 74:return 83;case 75:case 76:return"EQUALS";case 77:return 90;case 78:return"PUNCTUATION";case 79:return 89;case 80:return 88;case 81:return 85;case 82:return 25}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:[{])/,/^(?:\[\*\])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:class\b)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},callback_args:{rules:[54,55],inclusive:!1},callback_name:{rules:[51,52,53],inclusive:!1},href:{rules:[48,49],inclusive:!1},struct:{rules:[23,24,25,26,27,28],inclusive:!1},generic:{rules:[39,40],inclusive:!1},bqstring:{rules:[45,46],inclusive:!1},string:{rules:[42,43],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,29,30,31,32,33,34,35,36,37,38,41,44,47,50,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82],inclusive:!0}}};function W(){this.yy={}}return H.lexer=Y,W.prototype=H,H.Parser=W,new W}();Ux.parser=Ux;const zx=Ux,Hx=(e,t)=>{var n;return"dagre-wrapper"!==(null==(n=null==t?void 0:t.class)?void 0:n.defaultRenderer)&&null!==e.match(/^\s*classDiagram/)},Yx=(e,t)=>{var n;return null!==e.match(/^\s*classDiagram/)&&"dagre-wrapper"===(null==(n=null==t?void 0:t.class)?void 0:n.defaultRenderer)||null!==e.match(/^\s*classDiagram-v2/)},Wx="classid-";let qx=[],Gx={},Xx=[],Jx=0,Kx=[];const Zx=e=>Bu.sanitizeText(e,ey()),Qx=function(e,t,n){rU.parseDirective(this,e,t,n)},ev=function(e){let t="",n=e;if(e.indexOf("~")>0){let a=e.split("~");n=a[0],t=Bu.sanitizeText(a[1],ey())}return{className:n,type:t}},tv=function(e){let t=ev(e);void 0===Gx[t.className]&&(Gx[t.className]={id:t.className,type:t.type,cssClasses:[],methods:[],members:[],annotations:[],domId:Wx+t.className+"-"+Jx},Jx++)},nv=function(e){const t=Object.keys(Gx);for(const n of t)if(Gx[n].id===e)return Gx[n].domId},av=function(){qx=[],Gx={},Xx=[],Kx=[],Kx.push(kv),Uy()},rv=function(e){return Gx[e]},iv=function(){return Gx},sv=function(){return qx},ov=function(){return Xx},dv=function(e){g.debug("Adding relation: "+JSON.stringify(e)),tv(e.id1),tv(e.id2),e.id1=ev(e.id1).className,e.id2=ev(e.id2).className,e.relationTitle1=Bu.sanitizeText(e.relationTitle1.trim(),ey()),e.relationTitle2=Bu.sanitizeText(e.relationTitle2.trim(),ey()),qx.push(e)},lv=function(e,t){const n=ev(e).className;Gx[n].annotations.push(t)},cv=function(e,t){const n=ev(e).className,a=Gx[n];if("string"==typeof t){const e=t.trim();e.startsWith("<<")&&e.endsWith(">>")?a.annotations.push(Zx(e.substring(2,e.length-2))):e.indexOf(")")>0?a.methods.push(Zx(e)):e&&a.members.push(Zx(e))}},uv=function(e,t){Array.isArray(t)&&(t.reverse(),t.forEach((t=>cv(e,t))))},hv=function(e,t){const n={id:`note${Xx.length}`,class:t,text:e};Xx.push(n)},gv=function(e){return":"===e.substring(0,1)?Bu.sanitizeText(e.substr(1).trim(),ey()):Zx(e.trim())},pv=function(e,t){e.split(",").forEach((function(e){let n=e;e[0].match(/\d/)&&(n=Wx+n),void 0!==Gx[n]&&Gx[n].cssClasses.push(t)}))},fv=function(e,t){const n=ey();e.split(",").forEach((function(e){void 0!==t&&(Gx[e].tooltip=Bu.sanitizeText(t,n))}))},mv=function(e){return Gx[e].tooltip},Rv=function(e,t,n){const a=ey();e.split(",").forEach((function(e){let r=e;e[0].match(/\d/)&&(r=Wx+r),void 0!==Gx[r]&&(Gx[r].link=Km.formatUrl(t,a),"sandbox"===a.securityLevel?Gx[r].linkTarget="_top":Gx[r].linkTarget="string"==typeof n?Zx(n):"_blank")})),pv(e,"clickable")},yv=function(e,t,n){e.split(",").forEach((function(e){bv(e,t,n),Gx[e].haveCallback=!0})),pv(e,"clickable")},bv=function(e,t,n){const a=ey();let r=e,i=nv(r);if("loose"===a.securityLevel&&void 0!==t&&void 0!==Gx[r]){let e=[];if("string"==typeof n){e=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<e.length;t++){let n=e[t].trim();'"'===n.charAt(0)&&'"'===n.charAt(n.length-1)&&(n=n.substr(1,n.length-2)),e[t]=n}}0===e.length&&e.push(i),Kx.push((function(){const n=document.querySelector(`[id="${i}"]`);null!==n&&n.addEventListener("click",(function(){Km.runFunc(t,...e)}),!1)}))}},xv=function(e){Kx.forEach((function(t){t(e)}))},vv={LINE:0,DOTTED_LINE:1},_v={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},kv=function(e){let t=hn(".mermaidTooltip");null===(t._groups||t)[0][0]&&(t=hn("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),hn(e).select("svg").selectAll("g.node").on("mouseover",(function(){const e=hn(this);if(null===e.attr("title"))return;const n=this.getBoundingClientRect();t.transition().duration(200).style("opacity",".9"),t.text(e.attr("title")).style("left",window.scrollX+n.left+(n.right-n.left)/2+"px").style("top",window.scrollY+n.top-14+document.body.scrollTop+"px"),t.html(t.html().replace(/<br\/>/g,"<br/>")),e.classed("hover",!0)})).on("mouseout",(function(){t.transition().duration(500).style("opacity",0),hn(this).classed("hover",!1)}))};Kx.push(kv);let Cv="TB";const wv={parseDirective:Qx,setAccTitle:zy,getAccTitle:Hy,getAccDescription:Wy,setAccDescription:Yy,getConfig:()=>ey().class,addClass:tv,bindFunctions:xv,clear:av,getClass:rv,getClasses:iv,getNotes:ov,addAnnotation:lv,addNote:hv,getRelations:sv,addRelation:dv,getDirection:()=>Cv,setDirection:e=>{Cv=e},addMember:cv,addMembers:uv,cleanupLabel:gv,lineType:vv,relationType:_v,setClickEvent:yv,setCssClass:pv,setLink:Rv,getTooltip:mv,setTooltip:fv,lookUpDomId:nv,setDiagramTitle:qy,getDiagramTitle:Gy};function Ev(e){return null!=e&&"object"==typeof e}var Sv="[object Symbol]";function Av(e){return"symbol"==typeof e||Ev(e)&&vf(e)==Sv}function Tv(e,t){for(var n=-1,a=null==e?0:e.length,r=Array(a);++n<a;)r[n]=t(e[n],n,e);return r}const Dv=Array.isArray;var Lv=1/0,Iv=cf?cf.prototype:void 0,Fv=Iv?Iv.toString:void 0;function Ov(e){if("string"==typeof e)return e;if(Dv(e))return Tv(e,Ov)+"";if(Av(e))return Fv?Fv.call(e):"";var t=e+"";return"0"==t&&1/e==-Lv?"-0":t}var Nv=/\s/;function Bv(e){for(var t=e.length;t--&&Nv.test(e.charAt(t)););return t}var Mv=/^\s+/;function Pv(e){return e&&e.slice(0,Bv(e)+1).replace(Mv,"")}var jv=NaN,Vv=/^[-+]0x[0-9a-f]+$/i,$v=/^0b[01]+$/i,Uv=/^0o[0-7]+$/i,zv=parseInt;function Hv(e){if("number"==typeof e)return e;if(Av(e))return jv;if(_f(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=_f(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Pv(e);var n=$v.test(e);return n||Uv.test(e)?zv(e.slice(2),n?2:8):Vv.test(e)?jv:+e}var Yv=1/0,Wv=17976931348623157e292;function qv(e){return e?(e=Hv(e))===Yv||e===-Yv?(e<0?-1:1)*Wv:e==e?e:0:0===e?e:0}function Gv(e){var t=qv(e),n=t%1;return t==t?n?t-n:t:0}function Xv(e){return e}const Jv=Uf(lf,"WeakMap");var Kv=Object.create;const Zv=function(){function e(){}return function(t){if(!_f(t))return{};if(Kv)return Kv(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function Qv(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function e_(){}function t_(e,t){var n=-1,a=e.length;for(t||(t=Array(a));++n<a;)t[n]=e[n];return t}var n_=800,a_=16,r_=Date.now;function i_(e){var t=0,n=0;return function(){var a=r_(),r=a_-(a-n);if(n=a,r>0){if(++t>=n_)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function s_(e){return function(){return e}}const o_=function(){try{var e=Uf(Object,"defineProperty");return e({},"",{}),e}catch{}}(),d_=i_(o_?function(e,t){return o_(e,"toString",{configurable:!0,enumerable:!1,value:s_(t),writable:!0})}:Xv);function l_(e,t){for(var n=-1,a=null==e?0:e.length;++n<a&&!1!==t(e[n],n,e););return e}function c_(e,t,n,a){for(var r=e.length,i=n+(a?1:-1);a?i--:++i<r;)if(t(e[i],i,e))return i;return-1}function u_(e){return e!=e}function h_(e,t,n){for(var a=n-1,r=e.length;++a<r;)if(e[a]===t)return a;return-1}function g_(e,t,n){return t==t?h_(e,t,n):c_(e,u_,n)}function p_(e,t){return!(null==e||!e.length)&&g_(e,t,0)>-1}var f_=9007199254740991,m_=/^(?:0|[1-9]\d*)$/;function R_(e,t){var n=typeof e;return!!(t=null==t?f_:t)&&("number"==n||"symbol"!=n&&m_.test(e))&&e>-1&&e%1==0&&e<t}function y_(e,t,n){"__proto__"==t&&o_?o_(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var b_=Object.prototype.hasOwnProperty;function x_(e,t,n){var a=e[t];(!b_.call(e,t)||!tm(a,n)||void 0===n&&!(t in e))&&y_(e,t,n)}function v_(e,t,n,a){var r=!n;n||(n={});for(var i=-1,s=t.length;++i<s;){var o=t[i],d=a?a(n[o],e[o],o,n,e):void 0;void 0===d&&(d=e[o]),r?y_(n,o,d):x_(n,o,d)}return n}var __=Math.max;function k_(e,t,n){return t=__(void 0===t?e.length-1:t,0),function(){for(var a=arguments,r=-1,i=__(a.length-t,0),s=Array(i);++r<i;)s[r]=a[t+r];r=-1;for(var o=Array(t+1);++r<t;)o[r]=a[r];return o[t]=n(s),Qv(e,this,o)}}function C_(e,t){return d_(k_(e,t,Xv),e+"")}var w_=9007199254740991;function E_(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=w_}function S_(e){return null!=e&&E_(e.length)&&!Sf(e)}function A_(e,t,n){if(!_f(n))return!1;var a=typeof t;return!!("number"==a?S_(n)&&R_(t,n.length):"string"==a&&t in n)&&tm(n[t],e)}function T_(e){return C_((function(t,n){var a=-1,r=n.length,i=r>1?n[r-1]:void 0,s=r>2?n[2]:void 0;for(i=e.length>3&&"function"==typeof i?(r--,i):void 0,s&&A_(n[0],n[1],s)&&(i=r<3?void 0:i,r=1),t=Object(t);++a<r;){var o=n[a];o&&e(t,o,a,i)}return t}))}var D_=Object.prototype;function L_(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||D_)}function I_(e,t){for(var n=-1,a=Array(e);++n<e;)a[n]=t(n);return a}var F_="[object Arguments]";function O_(e){return Ev(e)&&vf(e)==F_}var N_=Object.prototype,B_=N_.hasOwnProperty,M_=N_.propertyIsEnumerable,P_=O_(function(){return arguments}())?O_:function(e){return Ev(e)&&B_.call(e,"callee")&&!M_.call(e,"callee")};const j_=P_;function V_(){return!1}var $_=t&&!t.nodeType&&t,U_=$_&&e&&!e.nodeType&&e,z_=U_&&U_.exports===$_?lf.Buffer:void 0;const H_=(z_?z_.isBuffer:void 0)||V_;var Y_="[object Arguments]",W_="[object Array]",q_="[object Boolean]",G_="[object Date]",X_="[object Error]",J_="[object Function]",K_="[object Map]",Z_="[object Number]",Q_="[object Object]",ek="[object RegExp]",tk="[object Set]",nk="[object String]",ak="[object WeakMap]",rk="[object ArrayBuffer]",ik="[object DataView]",sk="[object Float64Array]",ok="[object Int8Array]",dk="[object Int16Array]",lk="[object Int32Array]",ck="[object Uint8Array]",uk="[object Uint8ClampedArray]",hk="[object Uint16Array]",gk="[object Uint32Array]",pk={};function fk(e){return Ev(e)&&E_(e.length)&&!!pk[vf(e)]}function mk(e){return function(t){return e(t)}}pk["[object Float32Array]"]=pk[sk]=pk[ok]=pk[dk]=pk[lk]=pk[ck]=pk[uk]=pk[hk]=pk[gk]=!0,pk[Y_]=pk[W_]=pk[rk]=pk[q_]=pk[ik]=pk[G_]=pk[X_]=pk[J_]=pk[K_]=pk[Z_]=pk[Q_]=pk[ek]=pk[tk]=pk[nk]=pk[ak]=!1;var Rk=t&&!t.nodeType&&t,yk=Rk&&e&&!e.nodeType&&e,bk=yk&&yk.exports===Rk&&of.process;const xk=function(){try{return yk&&yk.require&&yk.require("util").types||bk&&bk.binding&&bk.binding("util")}catch{}}();var vk=xk&&xk.isTypedArray;const _k=vk?mk(vk):fk;var kk=Object.prototype.hasOwnProperty;function Ck(e,t){var n=Dv(e),a=!n&&j_(e),r=!n&&!a&&H_(e),i=!n&&!a&&!r&&_k(e),s=n||a||r||i,o=s?I_(e.length,String):[],d=o.length;for(var l in e)(t||kk.call(e,l))&&(!s||!("length"==l||r&&("offset"==l||"parent"==l)||i&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||R_(l,d)))&&o.push(l);return o}function wk(e,t){return function(n){return e(t(n))}}const Ek=wk(Object.keys,Object);var Sk=Object.prototype.hasOwnProperty;function Ak(e){if(!L_(e))return Ek(e);var t=[];for(var n in Object(e))Sk.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Tk(e){return S_(e)?Ck(e):Ak(e)}function Dk(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}var Lk=Object.prototype.hasOwnProperty;function Ik(e){if(!_f(e))return Dk(e);var t=L_(e),n=[];for(var a in e)"constructor"==a&&(t||!Lk.call(e,a))||n.push(a);return n}function Fk(e){return S_(e)?Ck(e,!0):Ik(e)}var Ok=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Nk=/^\w*$/;function Bk(e,t){if(Dv(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Av(e))||Nk.test(e)||!Ok.test(e)||null!=t&&e in Object(t)}var Mk=500;function Pk(e){var t=bm(e,(function(e){return n.size===Mk&&n.clear(),e})),n=t.cache;return t}var jk=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Vk=/\\(\\)?/g;const $k=Pk((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(jk,(function(e,n,a,r){t.push(a?r.replace(Vk,"$1"):n||e)})),t}));function Uk(e){return null==e?"":Ov(e)}function zk(e,t){return Dv(e)?e:Bk(e,t)?[e]:$k(Uk(e))}var Hk=1/0;function Yk(e){if("string"==typeof e||Av(e))return e;var t=e+"";return"0"==t&&1/e==-Hk?"-0":t}function Wk(e,t){for(var n=0,a=(t=zk(t,e)).length;null!=e&&n<a;)e=e[Yk(t[n++])];return n&&n==a?e:void 0}function qk(e,t,n){var a=null==e?void 0:Wk(e,t);return void 0===a?n:a}function Gk(e,t){for(var n=-1,a=t.length,r=e.length;++n<a;)e[r+n]=t[n];return e}var Xk=cf?cf.isConcatSpreadable:void 0;function Jk(e){return Dv(e)||j_(e)||!!(Xk&&e&&e[Xk])}function Kk(e,t,n,a,r){var i=-1,s=e.length;for(n||(n=Jk),r||(r=[]);++i<s;){var o=e[i];t>0&&n(o)?t>1?Kk(o,t-1,n,a,r):Gk(r,o):a||(r[r.length]=o)}return r}function Zk(e){return null!=e&&e.length?Kk(e,1):[]}function Qk(e){return d_(k_(e,void 0,Zk),e+"")}const eC=wk(Object.getPrototypeOf,Object);var tC="[object Object]",nC=Function.prototype,aC=Object.prototype,rC=nC.toString,iC=aC.hasOwnProperty,sC=rC.call(Object);function oC(e){if(!Ev(e)||vf(e)!=tC)return!1;var t=eC(e);if(null===t)return!0;var n=iC.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&rC.call(n)==sC}function dC(e,t,n,a){var r=-1,i=null==e?0:e.length;for(a&&i&&(n=e[++r]);++r<i;)n=t(n,e[r],r,e);return n}function lC(){this.__data__=new dm,this.size=0}function cC(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function uC(e){return this.__data__.get(e)}function hC(e){return this.__data__.has(e)}var gC=200;function pC(e,t){var n=this.__data__;if(n instanceof dm){var a=n.__data__;if(!lm||a.length<gC-1)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new Rm(a)}return n.set(e,t),this.size=n.size,this}function fC(e){var t=this.__data__=new dm(e);this.size=t.size}function mC(e,t){return e&&v_(t,Tk(t),e)}function RC(e,t){return e&&v_(t,Fk(t),e)}fC.prototype.clear=lC,fC.prototype.delete=cC,fC.prototype.get=uC,fC.prototype.has=hC,fC.prototype.set=pC;var yC=t&&!t.nodeType&&t,bC=yC&&e&&!e.nodeType&&e,xC=bC&&bC.exports===yC?lf.Buffer:void 0,vC=xC?xC.allocUnsafe:void 0;function _C(e,t){if(t)return e.slice();var n=e.length,a=vC?vC(n):new e.constructor(n);return e.copy(a),a}function kC(e,t){for(var n=-1,a=null==e?0:e.length,r=0,i=[];++n<a;){var s=e[n];t(s,n,e)&&(i[r++]=s)}return i}function CC(){return[]}var wC=Object.prototype.propertyIsEnumerable,EC=Object.getOwnPropertySymbols;const SC=EC?function(e){return null==e?[]:(e=Object(e),kC(EC(e),(function(t){return wC.call(e,t)})))}:CC;function AC(e,t){return v_(e,SC(e),t)}const TC=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Gk(t,SC(e)),e=eC(e);return t}:CC;function DC(e,t){return v_(e,TC(e),t)}function LC(e,t,n){var a=t(e);return Dv(e)?a:Gk(a,n(e))}function IC(e){return LC(e,Tk,SC)}function FC(e){return LC(e,Fk,TC)}const OC=Uf(lf,"DataView"),NC=Uf(lf,"Promise"),BC=Uf(lf,"Set");var MC="[object Map]",PC="[object Object]",jC="[object Promise]",VC="[object Set]",$C="[object WeakMap]",UC="[object DataView]",zC=If(OC),HC=If(lm),YC=If(NC),WC=If(BC),qC=If(Jv),GC=vf;(OC&&GC(new OC(new ArrayBuffer(1)))!=UC||lm&&GC(new lm)!=MC||NC&&GC(NC.resolve())!=jC||BC&&GC(new BC)!=VC||Jv&&GC(new Jv)!=$C)&&(GC=function(e){var t=vf(e),n=t==PC?e.constructor:void 0,a=n?If(n):"";if(a)switch(a){case zC:return UC;case HC:return MC;case YC:return jC;case WC:return VC;case qC:return $C}return t});const XC=GC;var JC=Object.prototype.hasOwnProperty;function KC(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&JC.call(e,"index")&&(n.index=e.index,n.input=e.input),n}const ZC=lf.Uint8Array;function QC(e){var t=new e.constructor(e.byteLength);return new ZC(t).set(new ZC(e)),t}function ew(e,t){var n=t?QC(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var tw=/\w*$/;function nw(e){var t=new e.constructor(e.source,tw.exec(e));return t.lastIndex=e.lastIndex,t}var aw=cf?cf.prototype:void 0,rw=aw?aw.valueOf:void 0;function iw(e){return rw?Object(rw.call(e)):{}}function sw(e,t){var n=t?QC(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var ow="[object Boolean]",dw="[object Date]",lw="[object Map]",cw="[object Number]",uw="[object RegExp]",hw="[object Set]",gw="[object String]",pw="[object Symbol]",fw="[object ArrayBuffer]",mw="[object DataView]",Rw="[object Float32Array]",yw="[object Float64Array]",bw="[object Int8Array]",xw="[object Int16Array]",vw="[object Int32Array]",_w="[object Uint8Array]",kw="[object Uint8ClampedArray]",Cw="[object Uint16Array]",ww="[object Uint32Array]";function Ew(e,t,n){var a=e.constructor;switch(t){case fw:return QC(e);case ow:case dw:return new a(+e);case mw:return ew(e,n);case Rw:case yw:case bw:case xw:case vw:case _w:case kw:case Cw:case ww:return sw(e,n);case lw:return new a;case cw:case gw:return new a(e);case uw:return nw(e);case hw:return new a;case pw:return iw(e)}}function Sw(e){return"function"!=typeof e.constructor||L_(e)?{}:Zv(eC(e))}var Aw="[object Map]";function Tw(e){return Ev(e)&&XC(e)==Aw}var Dw=xk&&xk.isMap;const Lw=Dw?mk(Dw):Tw;var Iw="[object Set]";function Fw(e){return Ev(e)&&XC(e)==Iw}var Ow=xk&&xk.isSet;const Nw=Ow?mk(Ow):Fw;var Bw=1,Mw=2,Pw=4,jw="[object Arguments]",Vw="[object Array]",$w="[object Boolean]",Uw="[object Date]",zw="[object Error]",Hw="[object Function]",Yw="[object GeneratorFunction]",Ww="[object Map]",qw="[object Number]",Gw="[object Object]",Xw="[object RegExp]",Jw="[object Set]",Kw="[object String]",Zw="[object Symbol]",Qw="[object WeakMap]",eE="[object ArrayBuffer]",tE="[object DataView]",nE="[object Float32Array]",aE="[object Float64Array]",rE="[object Int8Array]",iE="[object Int16Array]",sE="[object Int32Array]",oE="[object Uint8Array]",dE="[object Uint8ClampedArray]",lE="[object Uint16Array]",cE="[object Uint32Array]",uE={};function hE(e,t,n,a,r,i){var s,o=t&Bw,d=t&Mw,l=t&Pw;if(n&&(s=r?n(e,a,r,i):n(e)),void 0!==s)return s;if(!_f(e))return e;var c=Dv(e);if(c){if(s=KC(e),!o)return t_(e,s)}else{var u=XC(e),h=u==Hw||u==Yw;if(H_(e))return _C(e,o);if(u==Gw||u==jw||h&&!r){if(s=d||h?{}:Sw(e),!o)return d?DC(e,RC(s,e)):AC(e,mC(s,e))}else{if(!uE[u])return r?e:{};s=Ew(e,u,o)}}i||(i=new fC);var g=i.get(e);if(g)return g;i.set(e,s),Nw(e)?e.forEach((function(a){s.add(hE(a,t,n,a,e,i))})):Lw(e)&&e.forEach((function(a,r){s.set(r,hE(a,t,n,r,e,i))}));var p=c?void 0:(l?d?FC:IC:d?Fk:Tk)(e);return l_(p||e,(function(a,r){p&&(a=e[r=a]),x_(s,r,hE(a,t,n,r,e,i))})),s}uE[jw]=uE[Vw]=uE[eE]=uE[tE]=uE[$w]=uE[Uw]=uE[nE]=uE[aE]=uE[rE]=uE[iE]=uE[sE]=uE[Ww]=uE[qw]=uE[Gw]=uE[Xw]=uE[Jw]=uE[Kw]=uE[Zw]=uE[oE]=uE[dE]=uE[lE]=uE[cE]=!0,uE[zw]=uE[Hw]=uE[Qw]=!1;var gE=4;function pE(e){return hE(e,gE)}var fE=1,mE=4;function RE(e){return hE(e,fE|mE)}var yE="__lodash_hash_undefined__";function bE(e){return this.__data__.set(e,yE),this}function xE(e){return this.__data__.has(e)}function vE(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Rm;++t<n;)this.add(e[t])}function _E(e,t){for(var n=-1,a=null==e?0:e.length;++n<a;)if(t(e[n],n,e))return!0;return!1}function kE(e,t){return e.has(t)}vE.prototype.add=vE.prototype.push=bE,vE.prototype.has=xE;var CE=1,wE=2;function EE(e,t,n,a,r,i){var s=n&CE,o=e.length,d=t.length;if(o!=d&&!(s&&d>o))return!1;var l=i.get(e),c=i.get(t);if(l&&c)return l==t&&c==e;var u=-1,h=!0,g=n&wE?new vE:void 0;for(i.set(e,t),i.set(t,e);++u<o;){var p=e[u],f=t[u];if(a)var m=s?a(f,p,u,t,e,i):a(p,f,u,e,t,i);if(void 0!==m){if(m)continue;h=!1;break}if(g){if(!_E(t,(function(e,t){if(!kE(g,t)&&(p===e||r(p,e,n,a,i)))return g.push(t)}))){h=!1;break}}else if(p!==f&&!r(p,f,n,a,i)){h=!1;break}}return i.delete(e),i.delete(t),h}function SE(e){var t=-1,n=Array(e.size);return e.forEach((function(e,a){n[++t]=[a,e]})),n}function AE(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var TE=1,DE=2,LE="[object Boolean]",IE="[object Date]",FE="[object Error]",OE="[object Map]",NE="[object Number]",BE="[object RegExp]",ME="[object Set]",PE="[object String]",jE="[object Symbol]",VE="[object ArrayBuffer]",$E="[object DataView]",UE=cf?cf.prototype:void 0,zE=UE?UE.valueOf:void 0;function HE(e,t,n,a,r,i,s){switch(n){case $E:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case VE:return!(e.byteLength!=t.byteLength||!i(new ZC(e),new ZC(t)));case LE:case IE:case NE:return tm(+e,+t);case FE:return e.name==t.name&&e.message==t.message;case BE:case PE:return e==t+"";case OE:var o=SE;case ME:var d=a&TE;if(o||(o=AE),e.size!=t.size&&!d)return!1;var l=s.get(e);if(l)return l==t;a|=DE,s.set(e,t);var c=EE(o(e),o(t),a,r,i,s);return s.delete(e),c;case jE:if(zE)return zE.call(e)==zE.call(t)}return!1}var YE=1,WE=Object.prototype.hasOwnProperty;function qE(e,t,n,a,r,i){var s=n&YE,o=IC(e),d=o.length;if(d!=IC(t).length&&!s)return!1;for(var l=d;l--;){var c=o[l];if(!(s?c in t:WE.call(t,c)))return!1}var u=i.get(e),h=i.get(t);if(u&&h)return u==t&&h==e;var g=!0;i.set(e,t),i.set(t,e);for(var p=s;++l<d;){var f=e[c=o[l]],m=t[c];if(a)var R=s?a(m,f,c,t,e,i):a(f,m,c,e,t,i);if(!(void 0===R?f===m||r(f,m,n,a,i):R)){g=!1;break}p||(p="constructor"==c)}if(g&&!p){var y=e.constructor,b=t.constructor;y!=b&&"constructor"in e&&"constructor"in t&&!("function"==typeof y&&y instanceof y&&"function"==typeof b&&b instanceof b)&&(g=!1)}return i.delete(e),i.delete(t),g}var GE=1,XE="[object Arguments]",JE="[object Array]",KE="[object Object]",ZE=Object.prototype.hasOwnProperty;function QE(e,t,n,a,r,i){var s=Dv(e),o=Dv(t),d=s?JE:XC(e),l=o?JE:XC(t),c=(d=d==XE?KE:d)==KE,u=(l=l==XE?KE:l)==KE,h=d==l;if(h&&H_(e)){if(!H_(t))return!1;s=!0,c=!1}if(h&&!c)return i||(i=new fC),s||_k(e)?EE(e,t,n,a,r,i):HE(e,t,d,n,a,r,i);if(!(n&GE)){var g=c&&ZE.call(e,"__wrapped__"),p=u&&ZE.call(t,"__wrapped__");if(g||p){var f=g?e.value():e,m=p?t.value():t;return i||(i=new fC),r(f,m,n,a,i)}}return!!h&&(i||(i=new fC),qE(e,t,n,a,r,i))}function eS(e,t,n,a,r){return e===t||(null==e||null==t||!Ev(e)&&!Ev(t)?e!=e&&t!=t:QE(e,t,n,a,eS,r))}var tS=1,nS=2;function aS(e,t,n,a){var r=n.length,i=r,s=!a;if(null==e)return!i;for(e=Object(e);r--;){var o=n[r];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++r<i;){var d=(o=n[r])[0],l=e[d],c=o[1];if(s&&o[2]){if(void 0===l&&!(d in e))return!1}else{var u=new fC;if(a)var h=a(l,c,d,e,t,u);if(!(void 0===h?eS(c,l,tS|nS,a,u):h))return!1}}return!0}function rS(e){return e==e&&!_f(e)}function iS(e){for(var t=Tk(e),n=t.length;n--;){var a=t[n],r=e[a];t[n]=[a,r,rS(r)]}return t}function sS(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}function oS(e){var t=iS(e);return 1==t.length&&t[0][2]?sS(t[0][0],t[0][1]):function(n){return n===e||aS(n,e,t)}}function dS(e,t){return null!=e&&t in Object(e)}function lS(e,t,n){for(var a=-1,r=(t=zk(t,e)).length,i=!1;++a<r;){var s=Yk(t[a]);if(!(i=null!=e&&n(e,s)))break;e=e[s]}return i||++a!=r?i:!!(r=null==e?0:e.length)&&E_(r)&&R_(s,r)&&(Dv(e)||j_(e))}function cS(e,t){return null!=e&&lS(e,t,dS)}var uS=1,hS=2;function gS(e,t){return Bk(e)&&rS(t)?sS(Yk(e),t):function(n){var a=qk(n,e);return void 0===a&&a===t?cS(n,e):eS(t,a,uS|hS)}}function pS(e){return function(t){return null==t?void 0:t[e]}}function fS(e){return function(t){return Wk(t,e)}}function mS(e){return Bk(e)?pS(Yk(e)):fS(e)}function RS(e){return"function"==typeof e?e:null==e?Xv:"object"==typeof e?Dv(e)?gS(e[0],e[1]):oS(e):mS(e)}function yS(e){return function(t,n,a){for(var r=-1,i=Object(t),s=a(t),o=s.length;o--;){var d=s[e?o:++r];if(!1===n(i[d],d,i))break}return t}}const bS=yS();function xS(e,t){return e&&bS(e,t,Tk)}function vS(e,t){return function(n,a){if(null==n)return n;if(!S_(n))return e(n,a);for(var r=n.length,i=t?r:-1,s=Object(n);(t?i--:++i<r)&&!1!==a(s[i],i,s););return n}}const _S=vS(xS),kS=function(){return lf.Date.now()};var CS=Object.prototype,wS=CS.hasOwnProperty;const ES=C_((function(e,t){e=Object(e);var n=-1,a=t.length,r=a>2?t[2]:void 0;for(r&&A_(t[0],t[1],r)&&(a=1);++n<a;)for(var i=t[n],s=Fk(i),o=-1,d=s.length;++o<d;){var l=s[o],c=e[l];(void 0===c||tm(c,CS[l])&&!wS.call(e,l))&&(e[l]=i[l])}return e}));function SS(e,t,n){(void 0!==n&&!tm(e[t],n)||void 0===n&&!(t in e))&&y_(e,t,n)}function AS(e){return Ev(e)&&S_(e)}function TS(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}function DS(e){return v_(e,Fk(e))}function LS(e,t,n,a,r,i,s){var o=TS(e,n),d=TS(t,n),l=s.get(d);if(l)SS(e,n,l);else{var c=i?i(o,d,n+"",e,t,s):void 0,u=void 0===c;if(u){var h=Dv(d),g=!h&&H_(d),p=!h&&!g&&_k(d);c=d,h||g||p?Dv(o)?c=o:AS(o)?c=t_(o):g?(u=!1,c=_C(d,!0)):p?(u=!1,c=sw(d,!0)):c=[]:oC(d)||j_(d)?(c=o,j_(o)?c=DS(o):(!_f(o)||Sf(o))&&(c=Sw(d))):u=!1}u&&(s.set(d,c),r(c,d,a,i,s),s.delete(d)),SS(e,n,c)}}function IS(e,t,n,a,r){e!==t&&bS(t,(function(i,s){if(r||(r=new fC),_f(i))LS(e,t,s,n,IS,a,r);else{var o=a?a(TS(e,s),i,s+"",e,t,r):void 0;void 0===o&&(o=i),SS(e,s,o)}}),Fk)}function FS(e,t,n){for(var a=-1,r=null==e?0:e.length;++a<r;)if(n(t,e[a]))return!0;return!1}function OS(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function NS(e){return"function"==typeof e?e:Xv}function BS(e,t){return(Dv(e)?l_:_S)(e,NS(t))}function MS(e,t){var n=[];return _S(e,(function(e,a,r){t(e,a,r)&&n.push(e)})),n}function PS(e,t){return(Dv(e)?kC:MS)(e,RS(t))}function jS(e){return function(t,n,a){var r=Object(t);if(!S_(t)){var i=RS(n);t=Tk(t),n=function(e){return i(r[e],e,r)}}var s=e(t,n,a);return s>-1?r[i?t[s]:s]:void 0}}var VS=Math.max;function $S(e,t,n){var a=null==e?0:e.length;if(!a)return-1;var r=null==n?0:Gv(n);return r<0&&(r=VS(a+r,0)),c_(e,RS(t),r)}const US=jS($S);function zS(e,t){var n=-1,a=S_(e)?Array(e.length):[];return _S(e,(function(e,r,i){a[++n]=t(e,r,i)})),a}function HS(e,t){return(Dv(e)?Tv:zS)(e,RS(t))}function YS(e,t){return null==e?e:bS(e,NS(t),Fk)}function WS(e,t){return e>t}var qS=Object.prototype.hasOwnProperty;function GS(e,t){return null!=e&&qS.call(e,t)}function XS(e,t){return null!=e&&lS(e,t,GS)}function JS(e,t){return Tv(t,(function(t){return e[t]}))}function KS(e){return null==e?[]:JS(e,Tk(e))}var ZS="[object Map]",QS="[object Set]",eA=Object.prototype.hasOwnProperty;function tA(e){if(null==e)return!0;if(S_(e)&&(Dv(e)||"string"==typeof e||"function"==typeof e.splice||H_(e)||_k(e)||j_(e)))return!e.length;var t=XC(e);if(t==ZS||t==QS)return!e.size;if(L_(e))return!Ak(e).length;for(var n in e)if(eA.call(e,n))return!1;return!0}function nA(e){return void 0===e}function aA(e,t){return e<t}function rA(e,t){var n={};return t=RS(t),xS(e,(function(e,a,r){y_(n,a,t(e,a,r))})),n}function iA(e,t,n){for(var a=-1,r=e.length;++a<r;){var i=e[a],s=t(i);if(null!=s&&(void 0===o?s==s&&!Av(s):n(s,o)))var o=s,d=i}return d}function sA(e){return e&&e.length?iA(e,Xv,WS):void 0}const oA=T_((function(e,t,n){IS(e,t,n)}));function dA(e){return e&&e.length?iA(e,Xv,aA):void 0}function lA(e,t){return e&&e.length?iA(e,RS(t),aA):void 0}function cA(e,t,n,a){if(!_f(e))return e;for(var r=-1,i=(t=zk(t,e)).length,s=i-1,o=e;null!=o&&++r<i;){var d=Yk(t[r]),l=n;if("__proto__"===d||"constructor"===d||"prototype"===d)return e;if(r!=s){var c=o[d];void 0===(l=a?a(c,d,o):void 0)&&(l=_f(c)?c:R_(t[r+1])?[]:{})}x_(o,d,l),o=o[d]}return e}function uA(e,t,n){for(var a=-1,r=t.length,i={};++a<r;){var s=t[a],o=Wk(e,s);n(o,s)&&cA(i,zk(s,e),o)}return i}function hA(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function gA(e,t){if(e!==t){var n=void 0!==e,a=null===e,r=e==e,i=Av(e),s=void 0!==t,o=null===t,d=t==t,l=Av(t);if(!o&&!l&&!i&&e>t||i&&s&&d&&!o&&!l||a&&s&&d||!n&&d||!r)return 1;if(!a&&!i&&!l&&e<t||l&&n&&r&&!a&&!i||o&&n&&r||!s&&r||!d)return-1}return 0}function pA(e,t,n){for(var a=-1,r=e.criteria,i=t.criteria,s=r.length,o=n.length;++a<s;){var d=gA(r[a],i[a]);if(d)return a>=o?d:d*("desc"==n[a]?-1:1)}return e.index-t.index}function fA(e,t,n){t=t.length?Tv(t,(function(e){return Dv(e)?function(t){return Wk(t,1===e.length?e[0]:e)}:e})):[Xv];var a=-1;return t=Tv(t,mk(RS)),hA(zS(e,(function(e,n,r){return{criteria:Tv(t,(function(t){return t(e)})),index:++a,value:e}})),(function(e,t){return pA(e,t,n)}))}function mA(e,t){return uA(e,t,(function(t,n){return cS(e,n)}))}const RA=Qk((function(e,t){return null==e?{}:mA(e,t)}));var yA=Math.ceil,bA=Math.max;function xA(e,t,n,a){for(var r=-1,i=bA(yA((t-e)/(n||1)),0),s=Array(i);i--;)s[a?i:++r]=e,e+=n;return s}function vA(e){return function(t,n,a){return a&&"number"!=typeof a&&A_(t,n,a)&&(n=a=void 0),t=qv(t),void 0===n?(n=t,t=0):n=qv(n),xA(t,n,a=void 0===a?t<n?1:-1:qv(a),e)}}const _A=vA();function kA(e,t,n,a,r){return r(e,(function(e,r,i){n=a?(a=!1,e):t(n,e,r,i)})),n}function CA(e,t,n){var a=Dv(e)?dC:kA,r=arguments.length<3;return a(e,RS(t),n,r,_S)}const wA=C_((function(e,t){if(null==e)return[];var n=t.length;return n>1&&A_(e,t[0],t[1])?t=[]:n>2&&A_(t[0],t[1],t[2])&&(t=[t[0]]),fA(e,Kk(t,1),[])}));var EA=1/0;const SA=BC&&1/AE(new BC([,-0]))[1]==EA?function(e){return new BC(e)}:e_;var AA=200;function TA(e,t,n){var a=-1,r=p_,i=e.length,s=!0,o=[],d=o;if(n)s=!1,r=FS;else if(i>=AA){var l=t?null:SA(e);if(l)return AE(l);s=!1,r=kE,d=new vE}else d=t?[]:o;e:for(;++a<i;){var c=e[a],u=t?t(c):c;if(c=n||0!==c?c:0,s&&u==u){for(var h=d.length;h--;)if(d[h]===u)continue e;t&&d.push(u),o.push(c)}else r(d,u,n)||(d!==o&&d.push(u),o.push(c))}return o}const DA=C_((function(e){return TA(Kk(e,1,AS,!0))}));var LA=0;function IA(e){var t=++LA;return Uk(e)+t}function FA(e,t,n){for(var a=-1,r=e.length,i=t.length,s={};++a<r;){var o=a<i?t[a]:void 0;n(s,e[a],o)}return s}function OA(e,t){return FA(e||[],t||[],x_)}var NA="\0",BA="\0",MA="\x01";class PA{constructor(e={}){this._isDirected=!XS(e,"directed")||e.directed,this._isMultigraph=!!XS(e,"multigraph")&&e.multigraph,this._isCompound=!!XS(e,"compound")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=s_(void 0),this._defaultEdgeLabelFn=s_(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[BA]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return Sf(e)||(e=s_(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return Tk(this._nodes)}sources(){var e=this;return PS(this.nodes(),(function(t){return tA(e._in[t])}))}sinks(){var e=this;return PS(this.nodes(),(function(t){return tA(e._out[t])}))}setNodes(e,t){var n=arguments,a=this;return BS(e,(function(e){n.length>1?a.setNode(e,t):a.setNode(e)})),this}setNode(e,t){return XS(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=BA,this._children[e]={},this._children[BA][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return XS(this._nodes,e)}removeNode(e){var t=this;if(XS(this._nodes,e)){var n=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],BS(this.children(e),(function(e){t.setParent(e)})),delete this._children[e]),BS(Tk(this._in[e]),n),delete this._in[e],delete this._preds[e],BS(Tk(this._out[e]),n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(nA(t))t=BA;else{for(var n=t+="";!nA(n);n=this.parent(n))if(n===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==BA)return t}}children(e){if(nA(e)&&(e=BA),this._isCompound){var t=this._children[e];if(t)return Tk(t)}else{if(e===BA)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var t=this._preds[e];if(t)return Tk(t)}successors(e){var t=this._sucs[e];if(t)return Tk(t)}neighbors(e){var t=this.predecessors(e);if(t)return DA(t,this.successors(e))}isLeaf(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var n=this;BS(this._nodes,(function(n,a){e(a)&&t.setNode(a,n)})),BS(this._edgeObjs,(function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,n.edge(e))}));var a={};function r(e){var i=n.parent(e);return void 0===i||t.hasNode(i)?(a[e]=i,i):i in a?a[i]:r(i)}return this._isCompound&&BS(t.nodes(),(function(e){t.setParent(e,r(e))})),t}setDefaultEdgeLabel(e){return Sf(e)||(e=s_(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return KS(this._edgeObjs)}setPath(e,t){var n=this,a=arguments;return CA(e,(function(e,r){return a.length>1?n.setEdge(e,r,t):n.setEdge(e,r),r})),this}setEdge(){var e,t,n,a,r=!1,i=arguments[0];"object"==typeof i&&null!==i&&"v"in i?(e=i.v,t=i.w,n=i.name,2===arguments.length&&(a=arguments[1],r=!0)):(e=i,t=arguments[1],n=arguments[3],arguments.length>2&&(a=arguments[2],r=!0)),e=""+e,t=""+t,nA(n)||(n=""+n);var s=$A(this._isDirected,e,t,n);if(XS(this._edgeLabels,s))return r&&(this._edgeLabels[s]=a),this;if(!nA(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[s]=r?a:this._defaultEdgeLabelFn(e,t,n);var o=UA(this._isDirected,e,t,n);return e=o.v,t=o.w,Object.freeze(o),this._edgeObjs[s]=o,jA(this._preds[t],e),jA(this._sucs[e],t),this._in[t][s]=o,this._out[e][s]=o,this._edgeCount++,this}edge(e,t,n){var a=1===arguments.length?zA(this._isDirected,arguments[0]):$A(this._isDirected,e,t,n);return this._edgeLabels[a]}hasEdge(e,t,n){var a=1===arguments.length?zA(this._isDirected,arguments[0]):$A(this._isDirected,e,t,n);return XS(this._edgeLabels,a)}removeEdge(e,t,n){var a=1===arguments.length?zA(this._isDirected,arguments[0]):$A(this._isDirected,e,t,n),r=this._edgeObjs[a];return r&&(e=r.v,t=r.w,delete this._edgeLabels[a],delete this._edgeObjs[a],VA(this._preds[t],e),VA(this._sucs[e],t),delete this._in[t][a],delete this._out[e][a],this._edgeCount--),this}inEdges(e,t){var n=this._in[e];if(n){var a=KS(n);return t?PS(a,(function(e){return e.v===t})):a}}outEdges(e,t){var n=this._out[e];if(n){var a=KS(n);return t?PS(a,(function(e){return e.w===t})):a}}nodeEdges(e,t){var n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))}}function jA(e,t){e[t]?e[t]++:e[t]=1}function VA(e,t){--e[t]||delete e[t]}function $A(e,t,n,a){var r=""+t,i=""+n;if(!e&&r>i){var s=r;r=i,i=s}return r+MA+i+MA+(nA(a)?NA:a)}function UA(e,t,n,a){var r=""+t,i=""+n;if(!e&&r>i){var s=r;r=i,i=s}var o={v:r,w:i};return a&&(o.name=a),o}function zA(e,t){return $A(e,t.v,t.w,t.name)}PA.prototype._nodeCount=0,PA.prototype._edgeCount=0;class HA{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return YA(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&YA(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,WA)),n=n._prev;return"["+e.join(", ")+"]"}}function YA(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function WA(e,t){if("_next"!==e&&"_prev"!==e)return t}var qA=s_(1);function GA(e,t){if(e.nodeCount()<=1)return[];var n=KA(e,t||qA);return Zk(HS(XA(n.graph,n.buckets,n.zeroIdx),(function(t){return e.outEdges(t.v,t.w)})))}function XA(e,t,n){for(var a,r=[],i=t[t.length-1],s=t[0];e.nodeCount();){for(;a=s.dequeue();)JA(e,t,n,a);for(;a=i.dequeue();)JA(e,t,n,a);if(e.nodeCount())for(var o=t.length-2;o>0;--o)if(a=t[o].dequeue()){r=r.concat(JA(e,t,n,a,!0));break}}return r}function JA(e,t,n,a,r){var i=r?[]:void 0;return BS(e.inEdges(a.v),(function(a){var s=e.edge(a),o=e.node(a.v);r&&i.push({v:a.v,w:a.w}),o.out-=s,ZA(t,n,o)})),BS(e.outEdges(a.v),(function(a){var r=e.edge(a),i=a.w,s=e.node(i);s.in-=r,ZA(t,n,s)})),e.removeNode(a.v),i}function KA(e,t){var n=new PA,a=0,r=0;BS(e.nodes(),(function(e){n.setNode(e,{v:e,in:0,out:0})})),BS(e.edges(),(function(e){var i=n.edge(e.v,e.w)||0,s=t(e),o=i+s;n.setEdge(e.v,e.w,o),r=Math.max(r,n.node(e.v).out+=s),a=Math.max(a,n.node(e.w).in+=s)}));var i=_A(r+a+3).map((function(){return new HA})),s=a+1;return BS(n.nodes(),(function(e){ZA(i,s,n.node(e))})),{graph:n,buckets:i,zeroIdx:s}}function ZA(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function QA(e){function t(e){return function(t){return e.edge(t).weight}}BS("greedy"===e.graph().acyclicer?GA(e,t(e)):eT(e),(function(t){var n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,IA("rev"))}))}function eT(e){var t=[],n={},a={};function r(i){XS(a,i)||(a[i]=!0,n[i]=!0,BS(e.outEdges(i),(function(e){XS(n,e.w)?t.push(e):r(e.w)})),delete n[i])}return BS(e.nodes(),r),t}function tT(e){BS(e.edges(),(function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var a=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,a)}}))}function nT(e,t,n,a){var r;do{r=IA(a)}while(e.hasNode(r));return n.dummy=t,e.setNode(r,n),r}function aT(e){var t=(new PA).setGraph(e.graph());return BS(e.nodes(),(function(n){t.setNode(n,e.node(n))})),BS(e.edges(),(function(n){var a=t.edge(n.v,n.w)||{weight:0,minlen:1},r=e.edge(n);t.setEdge(n.v,n.w,{weight:a.weight+r.weight,minlen:Math.max(a.minlen,r.minlen)})})),t}function rT(e){var t=new PA({multigraph:e.isMultigraph()}).setGraph(e.graph());return BS(e.nodes(),(function(n){e.children(n).length||t.setNode(n,e.node(n))})),BS(e.edges(),(function(n){t.setEdge(n,e.edge(n))})),t}function iT(e,t){var n,a,r=e.x,i=e.y,s=t.x-r,o=t.y-i,d=e.width/2,l=e.height/2;if(!s&&!o)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(o)*d>Math.abs(s)*l?(o<0&&(l=-l),n=l*s/o,a=l):(s<0&&(d=-d),n=d,a=d*o/s),{x:r+n,y:i+a}}function sT(e){var t=HS(_A(cT(e)+1),(function(){return[]}));return BS(e.nodes(),(function(n){var a=e.node(n),r=a.rank;nA(r)||(t[r][a.order]=n)})),t}function oT(e){var t=dA(HS(e.nodes(),(function(t){return e.node(t).rank})));BS(e.nodes(),(function(n){var a=e.node(n);XS(a,"rank")&&(a.rank-=t)}))}function dT(e){var t=dA(HS(e.nodes(),(function(t){return e.node(t).rank}))),n=[];BS(e.nodes(),(function(a){var r=e.node(a).rank-t;n[r]||(n[r]=[]),n[r].push(a)}));var a=0,r=e.graph().nodeRankFactor;BS(n,(function(t,n){nA(t)&&n%r!=0?--a:a&&BS(t,(function(t){e.node(t).rank+=a}))}))}function lT(e,t,n,a){var r={width:0,height:0};return arguments.length>=4&&(r.rank=n,r.order=a),nT(e,"border",r,t)}function cT(e){return sA(HS(e.nodes(),(function(t){var n=e.node(t).rank;if(!nA(n))return n})))}function uT(e,t){var n={lhs:[],rhs:[]};return BS(e,(function(e){t(e)?n.lhs.push(e):n.rhs.push(e)})),n}function hT(e,t){var n=kS();try{return t()}finally{console.log(e+" time: "+(kS()-n)+"ms")}}function gT(e,t){return t()}function pT(e){function t(n){var a=e.children(n),r=e.node(n);if(a.length&&BS(a,t),XS(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(var i=r.minRank,s=r.maxRank+1;i<s;++i)fT(e,"borderLeft","_bl",n,r,i),fT(e,"borderRight","_br",n,r,i)}}BS(e.children(),t)}function fT(e,t,n,a,r,i){var s={width:0,height:0,rank:i,borderType:t},o=r[t][i-1],d=nT(e,"border",s,n);r[t][i]=d,e.setParent(d,a),o&&e.setEdge(o,d,{weight:1})}function mT(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&yT(e)}function RT(e){var t=e.graph().rankdir.toLowerCase();("bt"===t||"rl"===t)&&xT(e),("lr"===t||"rl"===t)&&(_T(e),yT(e))}function yT(e){BS(e.nodes(),(function(t){bT(e.node(t))})),BS(e.edges(),(function(t){bT(e.edge(t))}))}function bT(e){var t=e.width;e.width=e.height,e.height=t}function xT(e){BS(e.nodes(),(function(t){vT(e.node(t))})),BS(e.edges(),(function(t){var n=e.edge(t);BS(n.points,vT),XS(n,"y")&&vT(n)}))}function vT(e){e.y=-e.y}function _T(e){BS(e.nodes(),(function(t){kT(e.node(t))})),BS(e.edges(),(function(t){var n=e.edge(t);BS(n.points,kT),XS(n,"x")&&kT(n)}))}function kT(e){var t=e.x;e.x=e.y,e.y=t}function CT(e){var t=nT(e,"root",{},"_root"),n=ET(e),a=sA(KS(n))-1,r=2*a+1;e.graph().nestingRoot=t,BS(e.edges(),(function(t){e.edge(t).minlen*=r}));var i=ST(e)+1;BS(e.children(),(function(s){wT(e,t,r,i,a,n,s)})),e.graph().nodeRankFactor=r}function wT(e,t,n,a,r,i,s){var o=e.children(s);if(o.length){var d=lT(e,"_bt"),l=lT(e,"_bb"),c=e.node(s);e.setParent(d,s),c.borderTop=d,e.setParent(l,s),c.borderBottom=l,BS(o,(function(o){wT(e,t,n,a,r,i,o);var c=e.node(o),u=c.borderTop?c.borderTop:o,h=c.borderBottom?c.borderBottom:o,g=c.borderTop?a:2*a,p=u!==h?1:r-i[s]+1;e.setEdge(d,u,{weight:g,minlen:p,nestingEdge:!0}),e.setEdge(h,l,{weight:g,minlen:p,nestingEdge:!0})})),e.parent(s)||e.setEdge(t,d,{weight:0,minlen:r+i[s]})}else s!==t&&e.setEdge(t,s,{weight:0,minlen:n})}function ET(e){var t={};function n(a,r){var i=e.children(a);i&&i.length&&BS(i,(function(e){n(e,r+1)})),t[a]=r}return BS(e.children(),(function(e){n(e,1)})),t}function ST(e){return CA(e.edges(),(function(t,n){return t+e.edge(n).weight}),0)}function AT(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,BS(e.edges(),(function(t){e.edge(t).nestingEdge&&e.removeEdge(t)}))}function TT(e,t,n){var a,r={};BS(n,(function(n){for(var i,s,o=e.parent(n);o;){if((i=e.parent(o))?(s=r[i],r[i]=o):(s=a,a=o),s&&s!==o)return void t.setEdge(s,o);o=i}}))}function DT(e,t,n){var a=LT(e),r=new PA({compound:!0}).setGraph({root:a}).setDefaultNodeLabel((function(t){return e.node(t)}));return BS(e.nodes(),(function(i){var s=e.node(i),o=e.parent(i);(s.rank===t||s.minRank<=t&&t<=s.maxRank)&&(r.setNode(i),r.setParent(i,o||a),BS(e[n](i),(function(t){var n=t.v===i?t.w:t.v,a=r.edge(n,i),s=nA(a)?0:a.weight;r.setEdge(n,i,{weight:e.edge(t).weight+s})})),XS(s,"minRank")&&r.setNode(i,{borderLeft:s.borderLeft[t],borderRight:s.borderRight[t]}))})),r}function LT(e){for(var t;e.hasNode(t=IA("_root")););return t}function IT(e,t){for(var n=0,a=1;a<t.length;++a)n+=FT(e,t[a-1],t[a]);return n}function FT(e,t,n){for(var a=OA(n,HS(n,(function(e,t){return t}))),r=Zk(HS(t,(function(t){return wA(HS(e.outEdges(t),(function(t){return{pos:a[t.w],weight:e.edge(t).weight}})),"pos")}))),i=1;i<n.length;)i<<=1;var s=2*i-1;i-=1;var o=HS(new Array(s),(function(){return 0})),d=0;return BS(r.forEach((function(e){var t=e.pos+i;o[t]+=e.weight;for(var n=0;t>0;)t%2&&(n+=o[t+1]),o[t=t-1>>1]+=e.weight;d+=e.weight*n}))),d}function OT(e){var t={},n=PS(e.nodes(),(function(t){return!e.children(t).length})),a=sA(HS(n,(function(t){return e.node(t).rank}))),r=HS(_A(a+1),(function(){return[]}));function i(n){if(!XS(t,n)){t[n]=!0;var a=e.node(n);r[a.rank].push(n),BS(e.successors(n),i)}}return BS(wA(n,(function(t){return e.node(t).rank})),i),r}function NT(e,t){return HS(t,(function(t){var n=e.inEdges(t);if(n.length){var a=CA(n,(function(t,n){var a=e.edge(n),r=e.node(n.v);return{sum:t.sum+a.weight*r.order,weight:t.weight+a.weight}}),{sum:0,weight:0});return{v:t,barycenter:a.sum/a.weight,weight:a.weight}}return{v:t}}))}function BT(e,t){var n={};return BS(e,(function(e,t){var a=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};nA(e.barycenter)||(a.barycenter=e.barycenter,a.weight=e.weight)})),BS(t.edges(),(function(e){var t=n[e.v],a=n[e.w];!nA(t)&&!nA(a)&&(a.indegree++,t.out.push(n[e.w]))})),MT(PS(n,(function(e){return!e.indegree})))}function MT(e){var t=[];function n(e){return function(t){t.merged||(nA(t.barycenter)||nA(e.barycenter)||t.barycenter>=e.barycenter)&&PT(e,t)}}function a(t){return function(n){n.in.push(t),0==--n.indegree&&e.push(n)}}for(;e.length;){var r=e.pop();t.push(r),BS(r.in.reverse(),n(r)),BS(r.out,a(r))}return HS(PS(t,(function(e){return!e.merged})),(function(e){return RA(e,["vs","i","barycenter","weight"])}))}function PT(e,t){var n=0,a=0;e.weight&&(n+=e.barycenter*e.weight,a+=e.weight),t.weight&&(n+=t.barycenter*t.weight,a+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/a,e.weight=a,e.i=Math.min(t.i,e.i),t.merged=!0}function jT(e,t){var n=uT(e,(function(e){return XS(e,"barycenter")})),a=n.lhs,r=wA(n.rhs,(function(e){return-e.i})),i=[],s=0,o=0,d=0;a.sort($T(!!t)),d=VT(i,r,d),BS(a,(function(e){d+=e.vs.length,i.push(e.vs),s+=e.barycenter*e.weight,o+=e.weight,d=VT(i,r,d)}));var l={vs:Zk(i)};return o&&(l.barycenter=s/o,l.weight=o),l}function VT(e,t,n){for(var a;t.length&&(a=OS(t)).i<=n;)t.pop(),e.push(a.vs),n++;return n}function $T(e){return function(t,n){return t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}}function UT(e,t,n,a){var r=e.children(t),i=e.node(t),s=i?i.borderLeft:void 0,o=i?i.borderRight:void 0,d={};s&&(r=PS(r,(function(e){return e!==s&&e!==o})));var l=NT(e,r);BS(l,(function(t){if(e.children(t.v).length){var r=UT(e,t.v,n,a);d[t.v]=r,XS(r,"barycenter")&&HT(t,r)}}));var c=BT(l,n);zT(c,d);var u=jT(c,a);if(s&&(u.vs=Zk([s,u.vs,o]),e.predecessors(s).length)){var h=e.node(e.predecessors(s)[0]),g=e.node(e.predecessors(o)[0]);XS(u,"barycenter")||(u.barycenter=0,u.weight=0),u.barycenter=(u.barycenter*u.weight+h.order+g.order)/(u.weight+2),u.weight+=2}return u}function zT(e,t){BS(e,(function(e){e.vs=Zk(e.vs.map((function(e){return t[e]?t[e].vs:e})))}))}function HT(e,t){nA(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function YT(e){var t=cT(e),n=WT(e,_A(1,t+1),"inEdges"),a=WT(e,_A(t-1,-1,-1),"outEdges"),r=OT(e);GT(e,r);for(var i,s=Number.POSITIVE_INFINITY,o=0,d=0;d<4;++o,++d){qT(o%2?n:a,o%4>=2);var l=IT(e,r=sT(e));l<s&&(d=0,i=RE(r),s=l)}GT(e,i)}function WT(e,t,n){return HS(t,(function(t){return DT(e,t,n)}))}function qT(e,t){var n=new PA;BS(e,(function(e){var a=e.graph().root,r=UT(e,a,n,t);BS(r.vs,(function(t,n){e.node(t).order=n})),TT(e,n,r.vs)}))}function GT(e,t){BS(t,(function(t){BS(t,(function(t,n){e.node(t).order=n}))}))}function XT(e){var t=KT(e);BS(e.graph().dummyChains,(function(n){for(var a=e.node(n),r=a.edgeObj,i=JT(e,t,r.v,r.w),s=i.path,o=i.lca,d=0,l=s[d],c=!0;n!==r.w;){if(a=e.node(n),c){for(;(l=s[d])!==o&&e.node(l).maxRank<a.rank;)d++;l===o&&(c=!1)}if(!c){for(;d<s.length-1&&e.node(l=s[d+1]).minRank<=a.rank;)d++;l=s[d]}e.setParent(n,l),n=e.successors(n)[0]}}))}function JT(e,t,n,a){var r,i,s=[],o=[],d=Math.min(t[n].low,t[a].low),l=Math.max(t[n].lim,t[a].lim);r=n;do{r=e.parent(r),s.push(r)}while(r&&(t[r].low>d||l>t[r].lim));for(i=r,r=a;(r=e.parent(r))!==i;)o.push(r);return{path:s.concat(o.reverse()),lca:i}}function KT(e){var t={},n=0;function a(r){var i=n;BS(e.children(r),a),t[r]={low:i,lim:n++}}return BS(e.children(),a),t}function ZT(e,t){var n={};function a(t,a){var r=0,i=0,s=t.length,o=OS(a);return BS(a,(function(t,d){var l=eD(e,t),c=l?e.node(l).order:s;(l||t===o)&&(BS(a.slice(i,d+1),(function(t){BS(e.predecessors(t),(function(a){var i=e.node(a),s=i.order;(s<r||c<s)&&(!i.dummy||!e.node(t).dummy)&&tD(n,a,t)}))})),i=d+1,r=c)})),a}return CA(t,a),n}function QT(e,t){var n={};function a(t,a,r,i,s){var o;BS(_A(a,r),(function(a){o=t[a],e.node(o).dummy&&BS(e.predecessors(o),(function(t){var a=e.node(t);a.dummy&&(a.order<i||a.order>s)&&tD(n,t,o)}))}))}function r(t,n){var r,i=-1,s=0;return BS(n,(function(o,d){if("border"===e.node(o).dummy){var l=e.predecessors(o);l.length&&(r=e.node(l[0]).order,a(n,s,d,i,r),s=d,i=r)}a(n,s,n.length,r,t.length)})),n}return CA(t,r),n}function eD(e,t){if(e.node(t).dummy)return US(e.predecessors(t),(function(t){return e.node(t).dummy}))}function tD(e,t,n){if(t>n){var a=t;t=n,n=a}var r=e[t];r||(e[t]=r={}),r[n]=!0}function nD(e,t,n){if(t>n){var a=t;t=n,n=a}return XS(e[t],n)}function aD(e,t,n,a){var r={},i={},s={};return BS(t,(function(e){BS(e,(function(e,t){r[e]=e,i[e]=e,s[e]=t}))})),BS(t,(function(e){var t=-1;BS(e,(function(e){var o=a(e);if(o.length)for(var d=((o=wA(o,(function(e){return s[e]}))).length-1)/2,l=Math.floor(d),c=Math.ceil(d);l<=c;++l){var u=o[l];i[e]===e&&t<s[u]&&!nD(n,e,u)&&(i[u]=e,i[e]=r[e]=r[u],t=s[u])}}))})),{root:r,align:i}}function rD(e,t,n,a,r){var i={},s=iD(e,t,n,r),o=r?"borderLeft":"borderRight";function d(e,t){for(var n=s.nodes(),a=n.pop(),r={};a;)r[a]?e(a):(r[a]=!0,n.push(a),n=n.concat(t(a))),a=n.pop()}function l(e){i[e]=s.inEdges(e).reduce((function(e,t){return Math.max(e,i[t.v]+s.edge(t))}),0)}function c(t){var n=s.outEdges(t).reduce((function(e,t){return Math.min(e,i[t.w]-s.edge(t))}),Number.POSITIVE_INFINITY),a=e.node(t);n!==Number.POSITIVE_INFINITY&&a.borderType!==o&&(i[t]=Math.max(i[t],n))}return d(l,s.predecessors.bind(s)),d(c,s.successors.bind(s)),BS(a,(function(e){i[e]=i[n[e]]})),i}function iD(e,t,n,a){var r=new PA,i=e.graph(),s=cD(i.nodesep,i.edgesep,a);return BS(t,(function(t){var a;BS(t,(function(t){var i=n[t];if(r.setNode(i),a){var o=n[a],d=r.edge(o,i);r.setEdge(o,i,Math.max(s(e,t,a),d||0))}a=t}))})),r}function sD(e,t){return lA(KS(t),(function(t){var n=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return YS(t,(function(t,r){var i=uD(e,r)/2;n=Math.max(t+i,n),a=Math.min(t-i,a)})),n-a}))}function oD(e,t){var n=KS(t),a=dA(n),r=sA(n);BS(["u","d"],(function(n){BS(["l","r"],(function(i){var s,o=n+i,d=e[o];if(d!==t){var l=KS(d);(s="l"===i?a-dA(l):r-sA(l))&&(e[o]=rA(d,(function(e){return e+s})))}}))}))}function dD(e,t){return rA(e.ul,(function(n,a){if(t)return e[t.toLowerCase()][a];var r=wA(HS(e,a));return(r[1]+r[2])/2}))}function lD(e){var t,n=sT(e),a=oA(ZT(e,n),QT(e,n)),r={};BS(["u","d"],(function(i){t="u"===i?n:KS(n).reverse(),BS(["l","r"],(function(n){"r"===n&&(t=HS(t,(function(e){return KS(e).reverse()})));var s=("u"===i?e.predecessors:e.successors).bind(e),o=aD(e,t,a,s),d=rD(e,t,o.root,o.align,"r"===n);"r"===n&&(d=rA(d,(function(e){return-e}))),r[i+n]=d}))}));var i=sD(e,r);return oD(r,i),dD(r,e.graph().align)}function cD(e,t,n){return function(a,r,i){var s,o=a.node(r),d=a.node(i),l=0;if(l+=o.width/2,XS(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":s=-o.width/2;break;case"r":s=o.width/2}if(s&&(l+=n?s:-s),s=0,l+=(o.dummy?t:e)/2,l+=(d.dummy?t:e)/2,l+=d.width/2,XS(d,"labelpos"))switch(d.labelpos.toLowerCase()){case"l":s=d.width/2;break;case"r":s=-d.width/2}return s&&(l+=n?s:-s),s=0,l}}function uD(e,t){return e.node(t).width}function hD(e){gD(e=rT(e)),BS(lD(e),(function(t,n){e.node(n).x=t}))}function gD(e){var t=sT(e),n=e.graph().ranksep,a=0;BS(t,(function(t){var r=sA(HS(t,(function(t){return e.node(t).height})));BS(t,(function(t){e.node(t).y=a+r/2})),a+=r+n}))}function pD(e,t){var n=t&&t.debugTiming?hT:gT;n("layout",(function(){var t=n(" buildLayoutGraph",(function(){return wD(e)}));n(" runLayout",(function(){fD(t,n)})),n(" updateInputGraph",(function(){mD(e,t)}))}))}function fD(e,t){t(" makeSpaceForEdgeLabels",(function(){ED(e)})),t(" removeSelfEdges",(function(){ND(e)})),t(" acyclic",(function(){QA(e)})),t(" nestingGraph.run",(function(){CT(e)})),t(" rank",(function(){hL(rT(e))})),t(" injectEdgeLabelProxies",(function(){SD(e)})),t(" removeEmptyRanks",(function(){dT(e)})),t(" nestingGraph.cleanup",(function(){AT(e)})),t(" normalizeRanks",(function(){oT(e)})),t(" assignRankMinMax",(function(){AD(e)})),t(" removeEdgeLabelProxies",(function(){TD(e)})),t(" normalize.run",(function(){VD(e)})),t(" parentDummyChains",(function(){XT(e)})),t(" addBorderSegments",(function(){pT(e)})),t(" order",(function(){YT(e)})),t(" insertSelfEdges",(function(){BD(e)})),t(" adjustCoordinateSystem",(function(){mT(e)})),t(" position",(function(){hD(e)})),t(" positionSelfEdges",(function(){MD(e)})),t(" removeBorderNodes",(function(){OD(e)})),t(" normalize.undo",(function(){UD(e)})),t(" fixupEdgeLabelCoords",(function(){ID(e)})),t(" undoCoordinateSystem",(function(){RT(e)})),t(" translateGraph",(function(){DD(e)})),t(" assignNodeIntersects",(function(){LD(e)})),t(" reversePoints",(function(){FD(e)})),t(" acyclic.undo",(function(){tT(e)}))}function mD(e,t){BS(e.nodes(),(function(n){var a=e.node(n),r=t.node(n);a&&(a.x=r.x,a.y=r.y,t.children(n).length&&(a.width=r.width,a.height=r.height))})),BS(e.edges(),(function(n){var a=e.edge(n),r=t.edge(n);a.points=r.points,XS(r,"x")&&(a.x=r.x,a.y=r.y)})),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var RD=["nodesep","edgesep","ranksep","marginx","marginy"],yD={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},bD=["acyclicer","ranker","rankdir","align"],xD=["width","height"],vD={width:0,height:0},_D=["minlen","weight","width","height","labeloffset"],kD={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},CD=["labelpos"];function wD(e){var t=new PA({multigraph:!0,compound:!0}),n=jD(e.graph());return t.setGraph(oA({},yD,PD(n,RD),RA(n,bD))),BS(e.nodes(),(function(n){var a=jD(e.node(n));t.setNode(n,ES(PD(a,xD),vD)),t.setParent(n,e.parent(n))})),BS(e.edges(),(function(n){var a=jD(e.edge(n));t.setEdge(n,oA({},kD,PD(a,_D),RA(a,CD)))})),t}function ED(e){var t=e.graph();t.ranksep/=2,BS(e.edges(),(function(n){var a=e.edge(n);a.minlen*=2,"c"!==a.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?a.width+=a.labeloffset:a.height+=a.labeloffset)}))}function SD(e){BS(e.edges(),(function(t){var n=e.edge(t);if(n.width&&n.height){var a=e.node(t.v),r={rank:(e.node(t.w).rank-a.rank)/2+a.rank,e:t};nT(e,"edge-proxy",r,"_ep")}}))}function AD(e){var t=0;BS(e.nodes(),(function(n){var a=e.node(n);a.borderTop&&(a.minRank=e.node(a.borderTop).rank,a.maxRank=e.node(a.borderBottom).rank,t=sA(t,a.maxRank))})),e.graph().maxRank=t}function TD(e){BS(e.nodes(),(function(t){var n=e.node(t);"edge-proxy"===n.dummy&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))}))}function DD(e){var t=Number.POSITIVE_INFINITY,n=0,a=Number.POSITIVE_INFINITY,r=0,i=e.graph(),s=i.marginx||0,o=i.marginy||0;function d(e){var i=e.x,s=e.y,o=e.width,d=e.height;t=Math.min(t,i-o/2),n=Math.max(n,i+o/2),a=Math.min(a,s-d/2),r=Math.max(r,s+d/2)}BS(e.nodes(),(function(t){d(e.node(t))})),BS(e.edges(),(function(t){var n=e.edge(t);XS(n,"x")&&d(n)})),t-=s,a-=o,BS(e.nodes(),(function(n){var r=e.node(n);r.x-=t,r.y-=a})),BS(e.edges(),(function(n){var r=e.edge(n);BS(r.points,(function(e){e.x-=t,e.y-=a})),XS(r,"x")&&(r.x-=t),XS(r,"y")&&(r.y-=a)})),i.width=n-t+s,i.height=r-a+o}function LD(e){BS(e.edges(),(function(t){var n,a,r=e.edge(t),i=e.node(t.v),s=e.node(t.w);r.points?(n=r.points[0],a=r.points[r.points.length-1]):(r.points=[],n=s,a=i),r.points.unshift(iT(i,n)),r.points.push(iT(s,a))}))}function ID(e){BS(e.edges(),(function(t){var n=e.edge(t);if(XS(n,"x"))switch(("l"===n.labelpos||"r"===n.labelpos)&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}function FD(e){BS(e.edges(),(function(t){var n=e.edge(t);n.reversed&&n.points.reverse()}))}function OD(e){BS(e.nodes(),(function(t){if(e.children(t).length){var n=e.node(t),a=e.node(n.borderTop),r=e.node(n.borderBottom),i=e.node(OS(n.borderLeft)),s=e.node(OS(n.borderRight));n.width=Math.abs(s.x-i.x),n.height=Math.abs(r.y-a.y),n.x=i.x+n.width/2,n.y=a.y+n.height/2}})),BS(e.nodes(),(function(t){"border"===e.node(t).dummy&&e.removeNode(t)}))}function ND(e){BS(e.edges(),(function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}}))}function BD(e){BS(sT(e),(function(t){var n=0;BS(t,(function(t,a){var r=e.node(t);r.order=a+n,BS(r.selfEdges,(function(t){nT(e,"selfedge",{width:t.label.width,height:t.label.height,rank:r.rank,order:a+ ++n,e:t.e,label:t.label},"_se")})),delete r.selfEdges}))}))}function MD(e){BS(e.nodes(),(function(t){var n=e.node(t);if("selfedge"===n.dummy){var a=e.node(n.e.v),r=a.x+a.width/2,i=a.y,s=n.x-r,o=a.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:r+2*s/3,y:i-o},{x:r+5*s/6,y:i-o},{x:r+s,y:i},{x:r+5*s/6,y:i+o},{x:r+2*s/3,y:i+o}],n.label.x=n.x,n.label.y=n.y}}))}function PD(e,t){return rA(RA(e,t),Number)}function jD(e){var t={};return BS(e,(function(e,n){t[n.toLowerCase()]=e})),t}function VD(e){e.graph().dummyChains=[],BS(e.edges(),(function(t){$D(e,t)}))}function $D(e,t){var n=t.v,a=e.node(n).rank,r=t.w,i=e.node(r).rank,s=t.name,o=e.edge(t),d=o.labelRank;if(i!==a+1){var l,c,u;for(e.removeEdge(t),u=0,++a;a<i;++u,++a)o.points=[],l=nT(e,"edge",c={width:0,height:0,edgeLabel:o,edgeObj:t,rank:a},"_d"),a===d&&(c.width=o.width,c.height=o.height,c.dummy="edge-label",c.labelpos=o.labelpos),e.setEdge(n,l,{weight:o.weight},s),0===u&&e.graph().dummyChains.push(l),n=l;e.setEdge(n,r,{weight:o.weight},s)}}function UD(e){BS(e.graph().dummyChains,(function(t){var n,a=e.node(t),r=a.edgeLabel;for(e.setEdge(a.edgeObj,r);a.dummy;)n=e.successors(t)[0],e.removeNode(t),r.points.push({x:a.x,y:a.y}),"edge-label"===a.dummy&&(r.x=a.x,r.y=a.y,r.width=a.width,r.height=a.height),t=n,a=e.node(t)}))}function zD(e){var t={};function n(a){var r=e.node(a);if(XS(t,a))return r.rank;t[a]=!0;var i=dA(HS(e.outEdges(a),(function(t){return n(t.w)-e.edge(t).minlen})));return(i===Number.POSITIVE_INFINITY||null==i)&&(i=0),r.rank=i}BS(e.sources(),n)}function HD(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function YD(e){var t,n,a=new PA({directed:!1}),r=e.nodes()[0],i=e.nodeCount();for(a.setNode(r,{});WD(a,e)<i;)t=qD(a,e),n=a.hasNode(t.v)?HD(e,t):-HD(e,t),GD(a,e,n);return a}function WD(e,t){function n(a){BS(t.nodeEdges(a),(function(r){var i=r.v,s=a===i?r.w:i;!e.hasNode(s)&&!HD(t,r)&&(e.setNode(s,{}),e.setEdge(a,s,{}),n(s))}))}return BS(e.nodes(),n),e.nodeCount()}function qD(e,t){return lA(t.edges(),(function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return HD(t,n)}))}function GD(e,t,n){BS(e.nodes(),(function(e){t.node(e).rank+=n}))}function XD(){}function JD(e,t,n){Dv(t)||(t=[t]);var a=(e.isDirected()?e.successors:e.neighbors).bind(e),r=[],i={};return BS(t,(function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);KD(e,t,"post"===n,i,a,r)})),r}function KD(e,t,n,a,r,i){XS(a,t)||(a[t]=!0,n||i.push(t),BS(r(t),(function(t){KD(e,t,n,a,r,i)})),n&&i.push(t))}function ZD(e,t){return JD(e,t,"post")}function QD(e,t){return JD(e,t,"pre")}function eL(e){zD(e=aT(e));var t,n=YD(e);for(rL(n),tL(n,e);t=sL(n);)dL(n,e,t,oL(n,e,t))}function tL(e,t){var n=ZD(e,e.nodes());BS(n=n.slice(0,n.length-1),(function(n){nL(e,t,n)}))}function nL(e,t,n){var a=e.node(n).parent;e.edge(n,a).cutvalue=aL(e,t,n)}function aL(e,t,n){var a=e.node(n).parent,r=!0,i=t.edge(n,a),s=0;return i||(r=!1,i=t.edge(a,n)),s=i.weight,BS(t.nodeEdges(n),(function(i){var o=i.v===n,d=o?i.w:i.v;if(d!==a){var l=o===r,c=t.edge(i).weight;if(s+=l?c:-c,cL(e,n,d)){var u=e.edge(n,d).cutvalue;s+=l?-u:u}}})),s}function rL(e,t){arguments.length<2&&(t=e.nodes()[0]),iL(e,{},1,t)}function iL(e,t,n,a,r){var i=n,s=e.node(a);return t[a]=!0,BS(e.neighbors(a),(function(r){XS(t,r)||(n=iL(e,t,n,r,a))})),s.low=i,s.lim=n++,r?s.parent=r:delete s.parent,n}function sL(e){return US(e.edges(),(function(t){return e.edge(t).cutvalue<0}))}function oL(e,t,n){var a=n.v,r=n.w;t.hasEdge(a,r)||(a=n.w,r=n.v);var i=e.node(a),s=e.node(r),o=i,d=!1;return i.lim>s.lim&&(o=s,d=!0),lA(PS(t.edges(),(function(t){return d===uL(e,e.node(t.v),o)&&d!==uL(e,e.node(t.w),o)})),(function(e){return HD(t,e)}))}function dL(e,t,n,a){var r=n.v,i=n.w;e.removeEdge(r,i),e.setEdge(a.v,a.w,{}),rL(e),tL(e,t),lL(e,t)}function lL(e,t){var n=US(e.nodes(),(function(e){return!t.node(e).parent})),a=QD(e,n);BS(a=a.slice(1),(function(n){var a=e.node(n).parent,r=t.edge(n,a),i=!1;r||(r=t.edge(a,n),i=!0),t.node(n).rank=t.node(a).rank+(i?r.minlen:-r.minlen)}))}function cL(e,t,n){return e.hasEdge(t,n)}function uL(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}function hL(e){switch(e.graph().ranker){case"network-simplex":default:fL(e);break;case"tight-tree":pL(e);break;case"longest-path":gL(e)}}XD.prototype=new Error,eL.initLowLimValues=rL,eL.initCutValues=tL,eL.calcCutValue=aL,eL.leaveEdge=sL,eL.enterEdge=oL,eL.exchangeEdges=dL;var gL=zD;function pL(e){zD(e),YD(e)}function fL(e){eL(e)}let mL=0;const RL=function(e,t,n,a){g.debug("Rendering class ",t,n);const r=t.id,i={id:r,label:t.id,width:0,height:0},s=e.append("g").attr("id",a.db.lookUpDomId(r)).attr("class","classGroup");let o;o=t.link?s.append("svg:a").attr("xlink:href",t.link).attr("target",t.linkTarget).append("text").attr("y",n.textHeight+n.padding).attr("x",0):s.append("text").attr("y",n.textHeight+n.padding).attr("x",0);let d=!0;t.annotations.forEach((function(e){const t=o.append("tspan").text("\xab"+e+"\xbb");d||t.attr("dy",n.textHeight),d=!1}));let l=t.id;void 0!==t.type&&""!==t.type&&(l+="<"+t.type+">");const c=o.append("tspan").text(l).attr("class","title");d||c.attr("dy",n.textHeight);const u=o.node().getBBox().height,h=s.append("line").attr("x1",0).attr("y1",n.padding+u+n.dividerMargin/2).attr("y2",n.padding+u+n.dividerMargin/2),p=s.append("text").attr("x",n.padding).attr("y",u+n.dividerMargin+n.textHeight).attr("fill","white").attr("class","classText");d=!0,t.members.forEach((function(e){_L(p,e,d,n),d=!1}));const f=p.node().getBBox(),m=s.append("line").attr("x1",0).attr("y1",n.padding+u+n.dividerMargin+f.height).attr("y2",n.padding+u+n.dividerMargin+f.height),R=s.append("text").attr("x",n.padding).attr("y",u+2*n.dividerMargin+f.height+n.textHeight).attr("fill","white").attr("class","classText");d=!0,t.methods.forEach((function(e){_L(R,e,d,n),d=!1}));const y=s.node().getBBox();var b=" ";t.cssClasses.length>0&&(b+=t.cssClasses.join(" "));const x=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",y.width+2*n.padding).attr("height",y.height+n.padding+.5*n.dividerMargin).attr("class",b).node().getBBox().width;return o.node().childNodes.forEach((function(e){e.setAttribute("x",(x-e.getBBox().width)/2)})),t.tooltip&&o.insert("title").text(t.tooltip),h.attr("x2",x),m.attr("x2",x),i.width=x,i.height=y.height+n.padding+.5*n.dividerMargin,i},yL=function(e){const t=/^([#+~-])?(\w+)(~\w+~|\[])?\s+(\w+) *([$*])?$/,n=/^([#+|~-])?(\w+) *\( *(.*)\) *([$*])? *(\w*[[\]|~]*\s*\w*~?)$/;let a=e.match(t),r=e.match(n);return a&&!r?bL(a):r?xL(r):vL(e)},bL=function(e){let t="",n="";try{let a=e[1]?e[1].trim():"",r=e[2]?e[2].trim():"",i=e[3]?Nu(e[3].trim()):"",s=e[4]?e[4].trim():"",o=e[5]?e[5].trim():"";n=a+r+i+" "+s,t=kL(o)}catch{n=e}return{displayText:n,cssStyle:t}},xL=function(e){let t="",n="";try{let a=e[1]?e[1].trim():"",r=e[2]?e[2].trim():"",i=e[3]?Nu(e[3].trim()):"",s=e[4]?e[4].trim():"";n=a+r+"("+i+")"+(e[5]?" : "+Nu(e[5]).trim():""),t=kL(s)}catch{n=e}return{displayText:n,cssStyle:t}},vL=function(e){let t="",n="",a="",r=e.indexOf("("),i=e.indexOf(")");if(r>1&&i>r&&i<=e.length){let s="",o="",d=e.substring(0,1);d.match(/\w/)?o=e.substring(0,r).trim():(d.match(/[#+~-]/)&&(s=d),o=e.substring(1,r).trim());const l=e.substring(r+1,i);e.substring(i+1,1),n=kL(e.substring(i+1,i+2)),t=s+o+"("+Nu(l.trim())+")",i<e.length&&(a=e.substring(i+2).trim(),""!==a&&(a=" : "+Nu(a),t+=a))}else t=Nu(e);return{displayText:t,cssStyle:n}},_L=function(e,t,n,a){let r=yL(t);const i=e.append("tspan").attr("x",a.padding).text(r.displayText);""!==r.cssStyle&&i.attr("style",r.cssStyle),n||i.attr("dy",a.textHeight)},kL=function(e){switch(e){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}},CL={drawClass:RL,drawEdge:function(e,t,n,a,r){const i=function(e){switch(e){case r.db.relationType.AGGREGATION:return"aggregation";case r.db.relationType.EXTENSION:return"extension";case r.db.relationType.COMPOSITION:return"composition";case r.db.relationType.DEPENDENCY:return"dependency";case r.db.relationType.LOLLIPOP:return"lollipop"}};t.points=t.points.filter((e=>!Number.isNaN(e.y)));const s=t.points,o=Ul().x((function(e){return e.x})).y((function(e){return e.y})).curve(Xl),d=e.append("path").attr("d",o(s)).attr("id","edge"+mL).attr("class","relation");let l,c,u="";a.arrowMarkerAbsolute&&(u=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,u=u.replace(/\(/g,"\\("),u=u.replace(/\)/g,"\\)")),1==n.relation.lineType&&d.attr("class","relation dashed-line"),10==n.relation.lineType&&d.attr("class","relation dotted-line"),"none"!==n.relation.type1&&d.attr("marker-start","url("+u+"#"+i(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&d.attr("marker-end","url("+u+"#"+i(n.relation.type2)+"End)");const h=t.points.length;let p,f,m,R,y=Km.calcLabelPosition(t.points);if(l=y.x,c=y.y,h%2!=0&&h>1){let e=Km.calcCardinalityPosition("none"!==n.relation.type1,t.points,t.points[0]),a=Km.calcCardinalityPosition("none"!==n.relation.type2,t.points,t.points[h-1]);g.debug("cardinality_1_point "+JSON.stringify(e)),g.debug("cardinality_2_point "+JSON.stringify(a)),p=e.x,f=e.y,m=a.x,R=a.y}if(void 0!==n.title){const t=e.append("g").attr("class","classLabel"),r=t.append("text").attr("class","label").attr("x",l).attr("y",c).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=r;const i=r.node().getBBox();t.insert("rect",":first-child").attr("class","box").attr("x",i.x-a.padding/2).attr("y",i.y-a.padding/2).attr("width",i.width+a.padding).attr("height",i.height+a.padding)}g.info("Rendering relation "+JSON.stringify(n)),void 0!==n.relationTitle1&&"none"!==n.relationTitle1&&e.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",p).attr("y",f).attr("fill","black").attr("font-size","6").text(n.relationTitle1),void 0!==n.relationTitle2&&"none"!==n.relationTitle2&&e.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",m).attr("y",R).attr("fill","black").attr("font-size","6").text(n.relationTitle2),mL++},drawNote:function(e,t,n,a){g.debug("Rendering note ",t,n);const r=t.id,i={id:r,text:t.text,width:0,height:0},s=e.append("g").attr("id",r).attr("class","classGroup");let o=s.append("text").attr("y",n.textHeight+n.padding).attr("x",0);const d=JSON.parse(`"${t.text}"`).split("\n");d.forEach((function(e){g.debug(`Adding line: ${e}`),o.append("tspan").text(e).attr("class","title").attr("dy",n.textHeight)}));const l=s.node().getBBox(),c=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",l.width+2*n.padding).attr("height",l.height+d.length*n.textHeight+n.padding+.5*n.dividerMargin).node().getBBox().width;return o.node().childNodes.forEach((function(e){e.setAttribute("x",(c-e.getBBox().width)/2)})),i.width=c,i.height=l.height+d.length*n.textHeight+n.padding+.5*n.dividerMargin,i},parseMember:yL};let wL={};const EL=20,SL=function(e){const t=Object.entries(wL).find((t=>t[1].label===e));if(t)return t[0]},AL=function(e){e.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),e.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},TL={draw:function(e,t,n,a){const r=ey().class;wL={},g.info("Rendering diagram "+e);const i=ey().securityLevel;let s;"sandbox"===i&&(s=hn("#i"+t));const o=hn("sandbox"===i?s.nodes()[0].contentDocument.body:"body"),d=o.select(`[id='${t}']`);AL(d);const l=new PA({multigraph:!0});l.setGraph({isMultiGraph:!0}),l.setDefaultEdgeLabel((function(){return{}}));const c=a.db.getClasses(),u=Object.keys(c);for(const R of u){const e=c[R],t=CL.drawClass(d,e,r,a);wL[t.id]=t,l.setNode(t.id,t),g.info("Org height: "+t.height)}a.db.getRelations().forEach((function(e){g.info("tjoho"+SL(e.id1)+SL(e.id2)+JSON.stringify(e)),l.setEdge(SL(e.id1),SL(e.id2),{relation:e},e.title||"DEFAULT")})),a.db.getNotes().forEach((function(e){g.debug(`Adding note: ${JSON.stringify(e)}`);const t=CL.drawNote(d,e,r,a);wL[t.id]=t,l.setNode(t.id,t),e.class&&e.class in c&&l.setEdge(e.id,SL(e.class),{relation:{id1:e.id,id2:e.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")})),pD(l),l.nodes().forEach((function(e){void 0!==e&&void 0!==l.node(e)&&(g.debug("Node "+e+": "+JSON.stringify(l.node(e))),o.select("#"+(a.db.lookUpDomId(e)||e)).attr("transform","translate("+(l.node(e).x-l.node(e).width/2)+","+(l.node(e).y-l.node(e).height/2)+" )"))})),l.edges().forEach((function(e){void 0!==e&&void 0!==l.edge(e)&&(g.debug("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(l.edge(e))),CL.drawEdge(d,l.edge(e),l.edge(e).relation,r,a))}));const h=d.node().getBBox(),p=h.width+2*EL,f=h.height+2*EL;cy(d,f,p,r.useMaxWidth);const m=`${h.x-EL} ${h.y-EL} ${p} ${f}`;g.debug(`viewBox ${m}`),d.attr("viewBox",m)}};function DL(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:LL(e),edges:IL(e)};return nA(e.graph())||(t.value=pE(e.graph())),t}function LL(e){return HS(e.nodes(),(function(t){var n=e.node(t),a=e.parent(t),r={v:t};return nA(n)||(r.value=n),nA(a)||(r.parent=a),r}))}function IL(e){return HS(e.edges(),(function(t){var n=e.edge(t),a={v:t.v,w:t.w};return nA(t.name)||(a.name=t.name),nA(n)||(a.value=n),a}))}const FL=(e,t,n,a)=>{t.forEach((t=>{OL[t](e,n,a)}))},OL={extension:(e,t,n)=>{g.trace("Making markers for ",n),e.append("defs").append("marker").attr("id",t+"-extensionStart").attr("class","marker extension "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(e,t)=>{e.append("defs").append("marker").attr("id",t+"-compositionStart").attr("class","marker composition "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(e,t)=>{e.append("defs").append("marker").attr("id",t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(e,t)=>{e.append("defs").append("marker").attr("id",t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(e,t)=>{e.append("defs").append("marker").attr("id",t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},point:(e,t)=>{e.append("marker").attr("id",t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(e,t)=>{e.append("marker").attr("id",t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(e,t)=>{e.append("marker").attr("id",t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(e,t)=>{e.append("defs").append("marker").attr("id",t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},NL=FL;function BL(e,t){t&&e.attr("style",t)}function ML(e){const t=hn(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),n=t.append("xhtml:div"),a=e.label,r=e.isNode?"nodeLabel":"edgeLabel";return n.html('<span class="'+r+'" '+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+a+"</span>"),BL(n,e.labelStyle),n.style("display","inline-block"),n.style("white-space","nowrap"),n.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const PL=(e,t,n,a)=>{let r=e||"";if("object"==typeof r&&(r=r[0]),Ou(ey().flowchart.htmlLabels))return r=r.replace(/\\n|\n/g,"<br />"),g.info("vertexText"+r),ML({isNode:a,label:U$(r).replace(/fa[blrs]?:fa-[\w-]+/g,(e=>`<i class='${e.replace(":"," ")}'></i>`)),labelStyle:t.replace("fill:","color:")});{const e=document.createElementNS("http://www.w3.org/2000/svg","text");e.setAttribute("style",t.replace("color:","fill:"));let a=[];a="string"==typeof r?r.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(r)?r:[];for(const t of a){const a=document.createElementNS("http://www.w3.org/2000/svg","tspan");a.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),a.setAttribute("dy","1em"),a.setAttribute("x","0"),n?a.setAttribute("class","title-row"):a.setAttribute("class","row"),a.textContent=t.trim(),e.appendChild(a)}return e}},jL=(e,t,n,a)=>{let r;r=n||"node default";const i=e.insert("g").attr("class",r).attr("id",t.domId||t.id),s=i.insert("g").attr("class","label").attr("style",t.labelStyle);let o;o=void 0===t.labelText?"":"string"==typeof t.labelText?t.labelText:t.labelText[0];const d=s.node().appendChild(PL(Tu(U$(o),ey()),t.labelStyle,!1,a));let l=d.getBBox();if(Ou(ey().flowchart.htmlLabels)){const e=d.children[0],t=hn(d);l=e.getBoundingClientRect(),t.attr("width",l.width),t.attr("height",l.height)}const c=t.padding/2;return s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),{shapeSvg:i,bbox:l,halfPadding:c,label:s}},VL=(e,t)=>{const n=t.node().getBBox();e.width=n.width,e.height=n.height};function $L(e,t,n,a){return e.insert("polygon",":first-child").attr("points",a.map((function(e){return e.x+","+e.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+n/2+")")}let UL={},zL={},HL={};const YL=()=>{zL={},HL={},UL={}},WL=(e,t)=>(g.trace("In isDecendant",t," ",e," = ",zL[t].includes(e)),!!zL[t].includes(e)),qL=(e,t)=>(g.info("Decendants of ",t," is ",zL[t]),g.info("Edge is ",e),e.v!==t&&e.w!==t&&(zL[t]?zL[t].includes(e.v)||WL(e.v,t)||WL(e.w,t)||zL[t].includes(e.w):(g.debug("Tilt, ",t,",not in decendants"),!1))),GL=(e,t,n,a)=>{g.warn("Copying children of ",e,"root",a,"data",t.node(e),a);const r=t.children(e)||[];e!==a&&r.push(e),g.warn("Copying (nodes) clusterId",e,"nodes",r),r.forEach((r=>{if(t.children(r).length>0)GL(r,t,n,a);else{const i=t.node(r);g.info("cp ",r," to ",a," with parent ",e),n.setNode(r,i),a!==t.parent(r)&&(g.warn("Setting parent",r,t.parent(r)),n.setParent(r,t.parent(r))),e!==a&&r!==e?(g.debug("Setting parent",r,e),n.setParent(r,e)):(g.info("In copy ",e,"root",a,"data",t.node(e),a),g.debug("Not Setting parent for node=",r,"cluster!==rootId",e!==a,"node!==clusterId",r!==e));const s=t.edges(r);g.debug("Copying Edges",s),s.forEach((r=>{g.info("Edge",r);const i=t.edge(r.v,r.w,r.name);g.info("Edge data",i,a);try{qL(r,a)?(g.info("Copying as ",r.v,r.w,i,r.name),n.setEdge(r.v,r.w,i,r.name),g.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):g.info("Skipping copy of edge ",r.v,"--\x3e",r.w," rootId: ",a," clusterId:",e)}catch(s){g.error(s)}}))}g.debug("Removing node",r),t.removeNode(r)}))},XL=(e,t)=>{const n=t.children(e);let a=[...n];for(const r of n)HL[r]=e,a=[...a,...XL(r,t)];return a},JL=(e,t)=>{g.trace("Searching",e);const n=t.children(e);if(g.trace("Searching children of id ",e,n),n.length<1)return g.trace("This is a valid node",e),e;for(const a of n){const n=JL(a,t);if(n)return g.trace("Found replacement for",e," => ",n),n}},KL=e=>UL[e]&&UL[e].externalConnections&&UL[e]?UL[e].id:e,ZL=(e,t)=>{!e||t>10?g.debug("Opting out, no graph "):(g.debug("Opting in, graph "),e.nodes().forEach((function(t){e.children(t).length>0&&(g.warn("Cluster identified",t," Replacement id in edges: ",JL(t,e)),zL[t]=XL(t,e),UL[t]={id:JL(t,e),clusterData:e.node(t)})})),e.nodes().forEach((function(t){const n=e.children(t),a=e.edges();n.length>0?(g.debug("Cluster identified",t,zL),a.forEach((e=>{e.v!==t&&e.w!==t&&WL(e.v,t)^WL(e.w,t)&&(g.warn("Edge: ",e," leaves cluster ",t),g.warn("Decendants of XXX ",t,": ",zL[t]),UL[t].externalConnections=!0)}))):g.debug("Not a cluster ",t,zL)})),e.edges().forEach((function(t){const n=e.edge(t);g.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),g.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let a=t.v,r=t.w;if(g.warn("Fix XXX",UL,"ids:",t.v,t.w,"Translating: ",UL[t.v]," --- ",UL[t.w]),UL[t.v]&&UL[t.w]&&UL[t.v]===UL[t.w]){g.warn("Fixing and trixing link to self - removing XXX",t.v,t.w,t.name),g.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),a=KL(t.v),r=KL(t.w),e.removeEdge(t.v,t.w,t.name);const i=t.w+"---"+t.v;e.setNode(i,{domId:i,id:i,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});const s=JSON.parse(JSON.stringify(n)),o=JSON.parse(JSON.stringify(n));s.label="",s.arrowTypeEnd="none",o.label="",s.fromCluster=t.v,o.toCluster=t.v,e.setEdge(a,i,s,t.name+"-cyclic-special"),e.setEdge(i,r,o,t.name+"-cyclic-special")}else(UL[t.v]||UL[t.w])&&(g.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),a=KL(t.v),r=KL(t.w),e.removeEdge(t.v,t.w,t.name),a!==t.v&&(n.fromCluster=t.v),r!==t.w&&(n.toCluster=t.w),g.warn("Fix Replacing with XXX",a,r,t.name),e.setEdge(a,r,n,t.name))})),g.warn("Adjusted Graph",DL(e)),QL(e,0),g.trace(UL))},QL=(e,t)=>{if(g.warn("extractor - ",t,DL(e),e.children("D")),t>10)return void g.error("Bailing out");let n=e.nodes(),a=!1;for(const r of n){const t=e.children(r);a=a||t.length>0}if(a){g.debug("Nodes = ",n,t);for(const a of n)if(g.debug("Extracting node",a,UL,UL[a]&&!UL[a].externalConnections,!e.parent(a),e.node(a),e.children("D")," Depth ",t),UL[a])if(!UL[a].externalConnections&&e.children(a)&&e.children(a).length>0){g.warn("Cluster without external connections, without a parent and with children",a,t);let n="TB"===e.graph().rankdir?"LR":"TB";UL[a]&&UL[a].clusterData&&UL[a].clusterData.dir&&(n=UL[a].clusterData.dir,g.warn("Fixing dir",UL[a].clusterData.dir,n));const r=new PA({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));g.warn("Old graph before copy",DL(e)),GL(a,e,r,a),e.setNode(a,{clusterNode:!0,id:a,clusterData:UL[a].clusterData,labelText:UL[a].labelText,graph:r}),g.warn("New graph after copy node: (",a,")",DL(r)),g.debug("Old graph after copy",DL(e))}else g.warn("Cluster ** ",a," **not meeting the criteria !externalConnections:",!UL[a].externalConnections," no parent: ",!e.parent(a)," children ",e.children(a)&&e.children(a).length>0,e.children("D"),t),g.debug(UL);else g.debug("Not a cluster",a,t);n=e.nodes(),g.warn("New list of nodes",n);for(const a of n){const n=e.node(a);g.warn(" Now next level",a,n),n.clusterNode&&QL(n.graph,t+1)}}else g.debug("Done, no node has children",e.nodes())},eI=(e,t)=>{if(0===t.length)return[];let n=Object.assign(t);return t.forEach((t=>{const a=e.children(t),r=eI(e,a);n=[...n,...r]})),n},tI=e=>eI(e,e.children());function nI(e,t){return e.intersect(t)}function aI(e,t,n,a){var r=e.x,i=e.y,s=r-a.x,o=i-a.y,d=Math.sqrt(t*t*o*o+n*n*s*s),l=Math.abs(t*n*s/d);a.x<r&&(l=-l);var c=Math.abs(t*n*o/d);return a.y<i&&(c=-c),{x:r+l,y:i+c}}function rI(e,t,n){return aI(e,t,t,n)}function iI(e,t,n,a){var r,i,s,o,d,l,c,u,h,g,p,f,m;if(r=t.y-e.y,s=e.x-t.x,d=t.x*e.y-e.x*t.y,h=r*n.x+s*n.y+d,g=r*a.x+s*a.y+d,!(0!==h&&0!==g&&sI(h,g)||(i=a.y-n.y,o=n.x-a.x,l=a.x*n.y-n.x*a.y,c=i*e.x+o*e.y+l,u=i*t.x+o*t.y+l,0!==c&&0!==u&&sI(c,u)||(p=r*o-i*s,0===p))))return f=Math.abs(p/2),{x:(m=s*l-o*d)<0?(m-f)/p:(m+f)/p,y:(m=i*d-r*l)<0?(m-f)/p:(m+f)/p}}function sI(e,t){return e*t>0}function oI(e,t,n){var a=e.x,r=e.y,i=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;"function"==typeof t.forEach?t.forEach((function(e){s=Math.min(s,e.x),o=Math.min(o,e.y)})):(s=Math.min(s,t.x),o=Math.min(o,t.y));for(var d=a-e.width/2-s,l=r-e.height/2-o,c=0;c<t.length;c++){var u=t[c],h=t[c<t.length-1?c+1:0],g=iI(e,n,{x:d+u.x,y:l+u.y},{x:d+h.x,y:l+h.y});g&&i.push(g)}return i.length?(i.length>1&&i.sort((function(e,t){var a=e.x-n.x,r=e.y-n.y,i=Math.sqrt(a*a+r*r),s=t.x-n.x,o=t.y-n.y,d=Math.sqrt(s*s+o*o);return i<d?-1:i===d?0:1})),i[0]):e}const dI=(e,t)=>{var n,a,r=e.x,i=e.y,s=t.x-r,o=t.y-i,d=e.width/2,l=e.height/2;return Math.abs(o)*d>Math.abs(s)*l?(o<0&&(l=-l),n=0===o?0:l*s/o,a=l):(s<0&&(d=-d),n=d,a=0===s?0:d*o/s),{x:r+n,y:i+a}},lI={node:nI,circle:rI,ellipse:aI,polygon:oI,rect:dI};function cI(e,t,n,a){const r=[],i=e=>{r.push(e,0)},s=e=>{r.push(0,e)};t.includes("t")?(g.debug("add top border"),i(n)):s(n),t.includes("r")?(g.debug("add right border"),i(a)):s(a),t.includes("b")?(g.debug("add bottom border"),i(n)):s(n),t.includes("l")?(g.debug("add left border"),i(a)):s(a),e.attr("stroke-dasharray",r.join(" "))}const uI=(e,t,n)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let r=70,i=10;"LR"===n&&(r=10,i=70);const s=a.append("rect").attr("x",-1*r/2).attr("y",-1*i/2).attr("width",r).attr("height",i).attr("class","fork-join");return VL(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(e){return lI.rect(t,e)},a},hI={question:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=a.width+t.padding+(a.height+t.padding),i=[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}];g.info("Question main (Circle)");const s=$L(n,r,r,i);return s.attr("style",t.style),VL(t,s),t.intersect=function(e){return g.warn("Intersect called"),lI.polygon(t,i,e)},n},rect:(e,t)=>{const{shapeSvg:n,bbox:a,halfPadding:r}=jL(e,t,"node "+t.classes,!0);g.trace("Classes = ",t.classes);const i=n.insert("rect",":first-child"),s=a.width+t.padding,o=a.height+t.padding;if(i.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",-a.width/2-r).attr("y",-a.height/2-r).attr("width",s).attr("height",o),t.props){const e=new Set(Object.keys(t.props));t.props.borders&&(cI(i,t.props.borders,s,o),e.delete("borders")),e.forEach((e=>{g.warn(`Unknown node property ${e}`)}))}return VL(t,i),t.intersect=function(e){return lI.rect(t,e)},n},labelRect:(e,t)=>{const{shapeSvg:n}=jL(e,t,"label",!0);g.trace("Classes = ",t.classes);const a=n.insert("rect",":first-child"),r=0,i=0;if(a.attr("width",r).attr("height",i),n.attr("class","label edgeLabel"),t.props){const e=new Set(Object.keys(t.props));t.props.borders&&(cI(a,t.props.borders,r,i),e.delete("borders")),e.forEach((e=>{g.warn(`Unknown node property ${e}`)}))}return VL(t,a),t.intersect=function(e){return lI.rect(t,e)},n},rectWithTitle:(e,t)=>{let n;n=t.classes?"node "+t.classes:"node default";const a=e.insert("g").attr("class",n).attr("id",t.domId||t.id),r=a.insert("rect",":first-child"),i=a.insert("line"),s=a.insert("g").attr("class","label"),o=t.labelText.flat?t.labelText.flat():t.labelText;let d="";d="object"==typeof o?o[0]:o,g.info("Label text abc79",d,o,"object"==typeof o);const l=s.node().appendChild(PL(d,t.labelStyle,!0,!0));let c={width:0,height:0};if(Ou(ey().flowchart.htmlLabels)){const e=l.children[0],t=hn(l);c=e.getBoundingClientRect(),t.attr("width",c.width),t.attr("height",c.height)}g.info("Text 2",o);const u=o.slice(1,o.length);let h=l.getBBox();const p=s.node().appendChild(PL(u.join?u.join("<br/>"):u,t.labelStyle,!0,!0));if(Ou(ey().flowchart.htmlLabels)){const e=p.children[0],t=hn(p);c=e.getBoundingClientRect(),t.attr("width",c.width),t.attr("height",c.height)}const f=t.padding/2;return hn(p).attr("transform","translate( "+(c.width>h.width?0:(h.width-c.width)/2)+", "+(h.height+f+5)+")"),hn(l).attr("transform","translate( "+(c.width<h.width?0:-(h.width-c.width)/2)+", 0)"),c=s.node().getBBox(),s.attr("transform","translate("+-c.width/2+", "+(-c.height/2-f+3)+")"),r.attr("class","outer title-state").attr("x",-c.width/2-f).attr("y",-c.height/2-f).attr("width",c.width+t.padding).attr("height",c.height+t.padding),i.attr("class","divider").attr("x1",-c.width/2-f).attr("x2",c.width/2+f).attr("y1",-c.height/2-f+h.height+f).attr("y2",-c.height/2-f+h.height+f),VL(t,r),t.intersect=function(e){return lI.rect(t,e)},a},choice:(e,t)=>{const n=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),a=28,r=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}];return n.insert("polygon",":first-child").attr("points",r.map((function(e){return e.x+","+e.y})).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(e){return lI.circle(t,14,e)},n},circle:(e,t)=>{const{shapeSvg:n,bbox:a,halfPadding:r}=jL(e,t,void 0,!0),i=n.insert("circle",":first-child");return i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",a.width/2+r).attr("width",a.width+t.padding).attr("height",a.height+t.padding),g.info("Circle main"),VL(t,i),t.intersect=function(e){return g.info("Circle intersect",t,a.width/2+r,e),lI.circle(t,a.width/2+r,e)},n},doublecircle:(e,t)=>{const{shapeSvg:n,bbox:a,halfPadding:r}=jL(e,t,void 0,!0),i=5,s=n.insert("g",":first-child"),o=s.insert("circle"),d=s.insert("circle");return o.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",a.width/2+r+i).attr("width",a.width+t.padding+2*i).attr("height",a.height+t.padding+2*i),d.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",a.width/2+r).attr("width",a.width+t.padding).attr("height",a.height+t.padding),g.info("DoubleCircle main"),VL(t,o),t.intersect=function(e){return g.info("DoubleCircle intersect",t,a.width/2+r+i,e),lI.circle(t,a.width/2+r+i,e)},n},stadium:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=a.height+t.padding,i=a.width+r/4+t.padding,s=n.insert("rect",":first-child").attr("style",t.style).attr("rx",r/2).attr("ry",r/2).attr("x",-i/2).attr("y",-r/2).attr("width",i).attr("height",r);return VL(t,s),t.intersect=function(e){return lI.rect(t,e)},n},hexagon:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=4,i=a.height+t.padding,s=i/r,o=a.width+2*s+t.padding,d=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-i/2},{x:o-s,y:-i},{x:s,y:-i},{x:0,y:-i/2}],l=$L(n,o,i,d);return l.attr("style",t.style),VL(t,l),t.intersect=function(e){return lI.polygon(t,d,e)},n},rect_left_inv_arrow:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=a.width+t.padding,i=a.height+t.padding,s=[{x:-i/2,y:0},{x:r,y:0},{x:r,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}];return $L(n,r,i,s).attr("style",t.style),t.width=r+i,t.height=i,t.intersect=function(e){return lI.polygon(t,s,e)},n},lean_right:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=a.width+t.padding,i=a.height+t.padding,s=[{x:-2*i/6,y:0},{x:r-i/6,y:0},{x:r+2*i/6,y:-i},{x:i/6,y:-i}],o=$L(n,r,i,s);return o.attr("style",t.style),VL(t,o),t.intersect=function(e){return lI.polygon(t,s,e)},n},lean_left:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=a.width+t.padding,i=a.height+t.padding,s=[{x:2*i/6,y:0},{x:r+i/6,y:0},{x:r-2*i/6,y:-i},{x:-i/6,y:-i}],o=$L(n,r,i,s);return o.attr("style",t.style),VL(t,o),t.intersect=function(e){return lI.polygon(t,s,e)},n},trapezoid:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=a.width+t.padding,i=a.height+t.padding,s=[{x:-2*i/6,y:0},{x:r+2*i/6,y:0},{x:r-i/6,y:-i},{x:i/6,y:-i}],o=$L(n,r,i,s);return o.attr("style",t.style),VL(t,o),t.intersect=function(e){return lI.polygon(t,s,e)},n},inv_trapezoid:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=a.width+t.padding,i=a.height+t.padding,s=[{x:i/6,y:0},{x:r-i/6,y:0},{x:r+2*i/6,y:-i},{x:-2*i/6,y:-i}],o=$L(n,r,i,s);return o.attr("style",t.style),VL(t,o),t.intersect=function(e){return lI.polygon(t,s,e)},n},rect_right_inv_arrow:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=a.width+t.padding,i=a.height+t.padding,s=[{x:0,y:0},{x:r+i/2,y:0},{x:r,y:-i/2},{x:r+i/2,y:-i},{x:0,y:-i}],o=$L(n,r,i,s);return o.attr("style",t.style),VL(t,o),t.intersect=function(e){return lI.polygon(t,s,e)},n},cylinder:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=a.width+t.padding,i=r/2,s=i/(2.5+r/50),o=a.height+s+t.padding,d="M 0,"+s+" a "+i+","+s+" 0,0,0 "+r+" 0 a "+i+","+s+" 0,0,0 "+-r+" 0 l 0,"+o+" a "+i+","+s+" 0,0,0 "+r+" 0 l 0,"+-o,l=n.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",d).attr("transform","translate("+-r/2+","+-(o/2+s)+")");return VL(t,l),t.intersect=function(e){const n=lI.rect(t,e),a=n.x-t.x;if(0!=i&&(Math.abs(a)<t.width/2||Math.abs(a)==t.width/2&&Math.abs(n.y-t.y)>t.height/2-s)){let r=s*s*(1-a*a/(i*i));0!=r&&(r=Math.sqrt(r)),r=s-r,e.y-t.y>0&&(r=-r),n.y+=r}return n},n},start:(e,t)=>{const n=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),a=n.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),VL(t,a),t.intersect=function(e){return lI.circle(t,7,e)},n},end:(e,t)=>{const n=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),a=n.insert("circle",":first-child"),r=n.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),a.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),VL(t,r),t.intersect=function(e){return lI.circle(t,7,e)},n},note:(e,t)=>{const{shapeSvg:n,bbox:a,halfPadding:r}=jL(e,t,"node "+t.classes,!0);g.info("Classes = ",t.classes);const i=n.insert("rect",":first-child");return i.attr("rx",t.rx).attr("ry",t.ry).attr("x",-a.width/2-r).attr("y",-a.height/2-r).attr("width",a.width+t.padding).attr("height",a.height+t.padding),VL(t,i),t.intersect=function(e){return lI.rect(t,e)},n},subroutine:(e,t)=>{const{shapeSvg:n,bbox:a}=jL(e,t,void 0,!0),r=a.width+t.padding,i=a.height+t.padding,s=[{x:0,y:0},{x:r,y:0},{x:r,y:-i},{x:0,y:-i},{x:0,y:0},{x:-8,y:0},{x:r+8,y:0},{x:r+8,y:-i},{x:-8,y:-i},{x:-8,y:0}],o=$L(n,r,i,s);return o.attr("style",t.style),VL(t,o),t.intersect=function(e){return lI.polygon(t,s,e)},n},fork:uI,join:uI,class_box:(e,t)=>{const n=t.padding/2,a=4,r=8;let i;i=t.classes?"node "+t.classes:"node default";const s=e.insert("g").attr("class",i).attr("id",t.domId||t.id),o=s.insert("rect",":first-child"),d=s.insert("line"),l=s.insert("line");let c=0,u=a;const h=s.insert("g").attr("class","label");let g=0;const p=t.classData.annotations&&t.classData.annotations[0],f=t.classData.annotations[0]?"\xab"+t.classData.annotations[0]+"\xbb":"",m=h.node().appendChild(PL(f,t.labelStyle,!0,!0));let R=m.getBBox();if(Ou(ey().flowchart.htmlLabels)){const e=m.children[0],t=hn(m);R=e.getBoundingClientRect(),t.attr("width",R.width),t.attr("height",R.height)}t.classData.annotations[0]&&(u+=R.height+a,c+=R.width);let y=t.classData.id;void 0!==t.classData.type&&""!==t.classData.type&&(ey().flowchart.htmlLabels?y+="<"+t.classData.type+">":y+="<"+t.classData.type+">");const b=h.node().appendChild(PL(y,t.labelStyle,!0,!0));hn(b).attr("class","classTitle");let x=b.getBBox();if(Ou(ey().flowchart.htmlLabels)){const e=b.children[0],t=hn(b);x=e.getBoundingClientRect(),t.attr("width",x.width),t.attr("height",x.height)}u+=x.height+a,x.width>c&&(c=x.width);const v=[];t.classData.members.forEach((e=>{const n=yL(e);let r=n.displayText;ey().flowchart.htmlLabels&&(r=r.replace(/</g,"<").replace(/>/g,">"));const i=h.node().appendChild(PL(r,n.cssStyle?n.cssStyle:t.labelStyle,!0,!0));let s=i.getBBox();if(Ou(ey().flowchart.htmlLabels)){const e=i.children[0],t=hn(i);s=e.getBoundingClientRect(),t.attr("width",s.width),t.attr("height",s.height)}s.width>c&&(c=s.width),u+=s.height+a,v.push(i)})),u+=r;const _=[];if(t.classData.methods.forEach((e=>{const n=yL(e);let r=n.displayText;ey().flowchart.htmlLabels&&(r=r.replace(/</g,"<").replace(/>/g,">"));const i=h.node().appendChild(PL(r,n.cssStyle?n.cssStyle:t.labelStyle,!0,!0));let s=i.getBBox();if(Ou(ey().flowchart.htmlLabels)){const e=i.children[0],t=hn(i);s=e.getBoundingClientRect(),t.attr("width",s.width),t.attr("height",s.height)}s.width>c&&(c=s.width),u+=s.height+a,_.push(i)})),u+=r,p){let e=(c-R.width)/2;hn(m).attr("transform","translate( "+(-1*c/2+e)+", "+-1*u/2+")"),g=R.height+a}let k=(c-x.width)/2;return hn(b).attr("transform","translate( "+(-1*c/2+k)+", "+(-1*u/2+g)+")"),g+=x.height+a,d.attr("class","divider").attr("x1",-c/2-n).attr("x2",c/2+n).attr("y1",-u/2-n+r+g).attr("y2",-u/2-n+r+g),g+=r,v.forEach((e=>{hn(e).attr("transform","translate( "+-c/2+", "+(-1*u/2+g+r/2)+")"),g+=x.height+a})),g+=r,l.attr("class","divider").attr("x1",-c/2-n).attr("x2",c/2+n).attr("y1",-u/2-n+r+g).attr("y2",-u/2-n+r+g),g+=r,_.forEach((e=>{hn(e).attr("transform","translate( "+-c/2+", "+(-1*u/2+g)+")"),g+=x.height+a})),o.attr("class","outer title-state").attr("x",-c/2-n).attr("y",-u/2-n).attr("width",c+t.padding).attr("height",u+t.padding),VL(t,o),t.intersect=function(e){return lI.rect(t,e)},s}};let gI={};const pI=(e,t,n)=>{let a,r;if(t.link){let i;"sandbox"===ey().securityLevel?i="_top":t.linkTarget&&(i=t.linkTarget||"_blank"),a=e.insert("svg:a").attr("xlink:href",t.link).attr("target",i),r=hI[t.shape](a,t,n)}else r=hI[t.shape](e,t,n),a=r;t.tooltip&&r.attr("title",t.tooltip),t.class&&r.attr("class","node default "+t.class),gI[t.id]=a,t.haveCallback&&gI[t.id].attr("class",gI[t.id].attr("class")+" clickable")},fI=(e,t)=>{gI[t.id]=e},mI=()=>{gI={}},RI=e=>{const t=gI[e.id];g.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const n=8,a=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+a-e.width/2)+", "+(e.y-e.height/2-n)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),a},yI={rect:(e,t)=>{g.trace("Creating subgraph rect for ",t.id,t);const n=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),a=n.insert("rect",":first-child"),r=n.insert("g").attr("class","cluster-label"),i=r.node().appendChild(PL(t.labelText,t.labelStyle,void 0,!0));let s=i.getBBox();if(Ou(ey().flowchart.htmlLabels)){const e=i.children[0],t=hn(i);s=e.getBoundingClientRect(),t.attr("width",s.width),t.attr("height",s.height)}const o=0*t.padding,d=o/2,l=t.width<=s.width+o?s.width+o:t.width;t.width<=s.width+o?t.diff=(s.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,g.trace("Data ",t,JSON.stringify(t)),a.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-l/2).attr("y",t.y-t.height/2-d).attr("width",l).attr("height",t.height+o),r.attr("transform","translate("+(t.x-s.width/2)+", "+(t.y-t.height/2)+")");const c=a.node().getBBox();return t.width=c.width,t.height=c.height,t.intersect=function(e){return dI(t,e)},n},roundedWithTitle:(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),a=n.insert("rect",":first-child"),r=n.insert("g").attr("class","cluster-label"),i=n.append("rect"),s=r.node().appendChild(PL(t.labelText,t.labelStyle,void 0,!0));let o=s.getBBox();if(Ou(ey().flowchart.htmlLabels)){const e=s.children[0],t=hn(s);o=e.getBoundingClientRect(),t.attr("width",o.width),t.attr("height",o.height)}o=s.getBBox();const d=0*t.padding,l=d/2,c=t.width<=o.width+t.padding?o.width+t.padding:t.width;t.width<=o.width+t.padding?t.diff=(o.width+0*t.padding-t.width)/2:t.diff=-t.padding/2,a.attr("class","outer").attr("x",t.x-c/2-l).attr("y",t.y-t.height/2-l).attr("width",c+d).attr("height",t.height+d),i.attr("class","inner").attr("x",t.x-c/2-l).attr("y",t.y-t.height/2-l+o.height-1).attr("width",c+d).attr("height",t.height+d-o.height-3),r.attr("transform","translate("+(t.x-o.width/2)+", "+(t.y-t.height/2-t.padding/3+(Ou(ey().flowchart.htmlLabels)?5:3))+")");const u=a.node().getBBox();return t.height=u.height,t.intersect=function(e){return dI(t,e)},n},noteGroup:(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),a=n.insert("rect",":first-child"),r=0*t.padding,i=r/2;a.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-i).attr("y",t.y-t.height/2-i).attr("width",t.width+r).attr("height",t.height+r).attr("fill","none");const s=a.node().getBBox();return t.width=s.width,t.height=s.height,t.intersect=function(e){return dI(t,e)},n},divider:(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),a=n.insert("rect",":first-child"),r=0*t.padding,i=r/2;a.attr("class","divider").attr("x",t.x-t.width/2-i).attr("y",t.y-t.height/2).attr("width",t.width+r).attr("height",t.height+r);const s=a.node().getBBox();return t.width=s.width,t.height=s.height,t.diff=-t.padding/2,t.intersect=function(e){return dI(t,e)},n}};let bI={};const xI=(e,t)=>{g.trace("Inserting cluster");const n=t.shape||"rect";bI[t.id]=yI[n](e,t)},vI=()=>{bI={}};let _I={},kI={};const CI=()=>{_I={},kI={}},wI=(e,t)=>{const n=PL(t.label,t.labelStyle),a=e.insert("g").attr("class","edgeLabel"),r=a.insert("g").attr("class","label");r.node().appendChild(n);let i,s=n.getBBox();if(Ou(ey().flowchart.htmlLabels)){const e=n.children[0],t=hn(n);s=e.getBoundingClientRect(),t.attr("width",s.width),t.attr("height",s.height)}if(r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),_I[t.id]=a,t.width=s.width,t.height=s.height,t.startLabelLeft){const n=PL(t.startLabelLeft,t.labelStyle),a=e.insert("g").attr("class","edgeTerminals"),r=a.insert("g").attr("class","inner");i=r.node().appendChild(n);const s=n.getBBox();r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),kI[t.id]||(kI[t.id]={}),kI[t.id].startLeft=a,EI(i,t.startLabelLeft)}if(t.startLabelRight){const n=PL(t.startLabelRight,t.labelStyle),a=e.insert("g").attr("class","edgeTerminals"),r=a.insert("g").attr("class","inner");i=a.node().appendChild(n),r.node().appendChild(n);const s=n.getBBox();r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),kI[t.id]||(kI[t.id]={}),kI[t.id].startRight=a,EI(i,t.startLabelRight)}if(t.endLabelLeft){const n=PL(t.endLabelLeft,t.labelStyle),a=e.insert("g").attr("class","edgeTerminals"),r=a.insert("g").attr("class","inner");i=r.node().appendChild(n);const s=n.getBBox();r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),a.node().appendChild(n),kI[t.id]||(kI[t.id]={}),kI[t.id].endLeft=a,EI(i,t.endLabelLeft)}if(t.endLabelRight){const n=PL(t.endLabelRight,t.labelStyle),a=e.insert("g").attr("class","edgeTerminals"),r=a.insert("g").attr("class","inner");i=r.node().appendChild(n);const s=n.getBBox();r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),a.node().appendChild(n),kI[t.id]||(kI[t.id]={}),kI[t.id].endRight=a,EI(i,t.endLabelRight)}};function EI(e,t){ey().flowchart.htmlLabels&&e&&(e.style.width=9*t.length+"px",e.style.height="12px")}const SI=(e,t)=>{g.info("Moving label abc78 ",e.id,e.label,_I[e.id]);let n=t.updatedPath?t.updatedPath:t.originalPath;if(e.label){const a=_I[e.id];let r=e.x,i=e.y;if(n){const a=Km.calcLabelPosition(n);g.info("Moving label "+e.label+" from (",r,",",i,") to (",a.x,",",a.y,") abc78"),t.updatedPath&&(r=a.x,i=a.y)}a.attr("transform","translate("+r+", "+i+")")}if(e.startLabelLeft){const t=kI[e.id].startLeft;let a=e.x,r=e.y;if(n){const t=Km.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",n);a=t.x,r=t.y}t.attr("transform","translate("+a+", "+r+")")}if(e.startLabelRight){const t=kI[e.id].startRight;let a=e.x,r=e.y;if(n){const t=Km.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",n);a=t.x,r=t.y}t.attr("transform","translate("+a+", "+r+")")}if(e.endLabelLeft){const t=kI[e.id].endLeft;let a=e.x,r=e.y;if(n){const t=Km.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",n);a=t.x,r=t.y}t.attr("transform","translate("+a+", "+r+")")}if(e.endLabelRight){const t=kI[e.id].endRight;let a=e.x,r=e.y;if(n){const t=Km.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",n);a=t.x,r=t.y}t.attr("transform","translate("+a+", "+r+")")}},AI=(e,t)=>{const n=e.x,a=e.y,r=Math.abs(t.x-n),i=Math.abs(t.y-a),s=e.width/2,o=e.height/2;return r>=s||i>=o},TI=(e,t,n)=>{g.warn(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(t)}\n insidePoint : ${JSON.stringify(n)}\n node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const a=e.x,r=e.y,i=Math.abs(a-n.x),s=e.width/2;let o=n.x<t.x?s-i:s+i;const d=e.height/2,l=Math.abs(t.y-n.y),c=Math.abs(t.x-n.x);if(Math.abs(r-t.y)*s>Math.abs(a-t.x)*d){let e=n.y<t.y?t.y-d-r:r-d-t.y;o=c*e/l;const a={x:n.x<t.x?n.x+o:n.x-c+o,y:n.y<t.y?n.y+l-e:n.y-l+e};return 0===o&&(a.x=t.x,a.y=t.y),0===c&&(a.x=t.x),0===l&&(a.y=t.y),g.warn(`abc89 topp/bott calc, Q ${l}, q ${e}, R ${c}, r ${o}`,a),a}{o=n.x<t.x?t.x-s-a:a-s-t.x;let e=l*o/c,r=n.x<t.x?n.x+c-o:n.x-c+o,i=n.y<t.y?n.y+e:n.y-e;return g.warn(`sides calc abc89, Q ${l}, q ${e}, R ${c}, r ${o}`,{_x:r,_y:i}),0===o&&(r=t.x,i=t.y),0===c&&(r=t.x),0===l&&(i=t.y),{x:r,y:i}}},DI=(e,t)=>{g.warn("abc88 cutPathAtIntersect",e,t);let n=[],a=e[0],r=!1;return e.forEach((e=>{if(g.info("abc88 checking point",e,t),AI(t,e)||r)g.warn("abc88 outside",e,a),a=e,r||n.push(e);else{const i=TI(t,a,e);g.warn("abc88 inside",e,a,i),g.warn("abc88 intersection",i);let s=!1;n.forEach((e=>{s=s||e.x===i.x&&e.y===i.y})),n.some((e=>e.x===i.x&&e.y===i.y))?g.warn("abc88 no intersect",i,n):n.push(i),r=!0}})),g.warn("abc88 returning points",n),n},LI=function(e,t,n,a,r,i){let s=n.points,o=!1;const d=i.node(t.v);var l=i.node(t.w);g.info("abc88 InsertEdge: ",n),l.intersect&&d.intersect&&(s=s.slice(1,n.points.length-1),s.unshift(d.intersect(s[0])),g.info("Last point",s[s.length-1],l,l.intersect(s[s.length-1])),s.push(l.intersect(s[s.length-1]))),n.toCluster&&(g.info("to cluster abc88",a[n.toCluster]),s=DI(n.points,a[n.toCluster].node),o=!0),n.fromCluster&&(g.info("from cluster abc88",a[n.fromCluster]),s=DI(s.reverse(),a[n.fromCluster].node).reverse(),o=!0);const c=s.filter((e=>!Number.isNaN(e.y)));let u;u=("graph"===r||"flowchart"===r)&&n.curve||Xl;const h=Ul().x((function(e){return e.x})).y((function(e){return e.y})).curve(u);let p;switch(n.thickness){case"normal":p="edge-thickness-normal";break;case"thick":p="edge-thickness-thick";break;default:p=""}switch(n.pattern){case"solid":p+=" edge-pattern-solid";break;case"dotted":p+=" edge-pattern-dotted";break;case"dashed":p+=" edge-pattern-dashed"}const f=e.append("path").attr("d",h(c)).attr("id",n.id).attr("class"," "+p+(n.classes?" "+n.classes:"")).attr("style",n.style);let m="";switch((ey().flowchart.arrowMarkerAbsolute||ey().state.arrowMarkerAbsolute)&&(m=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,m=m.replace(/\(/g,"\\("),m=m.replace(/\)/g,"\\)")),g.info("arrowTypeStart",n.arrowTypeStart),g.info("arrowTypeEnd",n.arrowTypeEnd),n.arrowTypeStart){case"arrow_cross":f.attr("marker-start","url("+m+"#"+r+"-crossStart)");break;case"arrow_point":f.attr("marker-start","url("+m+"#"+r+"-pointStart)");break;case"arrow_barb":f.attr("marker-start","url("+m+"#"+r+"-barbStart)");break;case"arrow_circle":f.attr("marker-start","url("+m+"#"+r+"-circleStart)");break;case"aggregation":f.attr("marker-start","url("+m+"#"+r+"-aggregationStart)");break;case"extension":f.attr("marker-start","url("+m+"#"+r+"-extensionStart)");break;case"composition":f.attr("marker-start","url("+m+"#"+r+"-compositionStart)");break;case"dependency":f.attr("marker-start","url("+m+"#"+r+"-dependencyStart)");break;case"lollipop":f.attr("marker-start","url("+m+"#"+r+"-lollipopStart)")}switch(n.arrowTypeEnd){case"arrow_cross":f.attr("marker-end","url("+m+"#"+r+"-crossEnd)");break;case"arrow_point":f.attr("marker-end","url("+m+"#"+r+"-pointEnd)");break;case"arrow_barb":f.attr("marker-end","url("+m+"#"+r+"-barbEnd)");break;case"arrow_circle":f.attr("marker-end","url("+m+"#"+r+"-circleEnd)");break;case"aggregation":f.attr("marker-end","url("+m+"#"+r+"-aggregationEnd)");break;case"extension":f.attr("marker-end","url("+m+"#"+r+"-extensionEnd)");break;case"composition":f.attr("marker-end","url("+m+"#"+r+"-compositionEnd)");break;case"dependency":f.attr("marker-end","url("+m+"#"+r+"-dependencyEnd)");break;case"lollipop":f.attr("marker-end","url("+m+"#"+r+"-lollipopEnd)")}let R={};return o&&(R.updatedPath=s),R.originalPath=n.points,R},II=(e,t,n,a)=>{g.info("Graph in recursive render: XXX",DL(t),a);const r=t.graph().rankdir;g.trace("Dir in recursive render - dir:",r);const i=e.insert("g").attr("class","root");t.nodes()?g.info("Recursive render XXX",t.nodes()):g.info("No nodes found for",t),t.edges().length>0&&g.trace("Recursive edges",t.edge(t.edges()[0]));const s=i.insert("g").attr("class","clusters"),o=i.insert("g").attr("class","edgePaths"),d=i.insert("g").attr("class","edgeLabels"),l=i.insert("g").attr("class","nodes");t.nodes().forEach((function(e){const i=t.node(e);if(void 0!==a){const n=JSON.parse(JSON.stringify(a.clusterData));g.info("Setting data for cluster XXX (",e,") ",n,a),t.setNode(a.id,n),t.parent(e)||(g.trace("Setting parent",e,a.id),t.setParent(e,a.id,n))}if(g.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),i&&i.clusterNode){g.info("Cluster identified",e,i.width,t.node(e));const a=II(l,i.graph,n,t.node(e)),r=a.elem;VL(i,r),i.diff=a.diff||0,g.info("Node bounds (abc123)",e,i,i.width,i.x,i.y),fI(r,i),g.warn("Recursive render complete ",r,i)}else t.children(e).length>0?(g.info("Cluster - the non recursive path XXX",e,i.id,i,t),g.info(JL(i.id,t)),UL[i.id]={id:JL(i.id,t),node:i}):(g.info("Node - the non recursive path",e,i.id,i),pI(l,t.node(e),r))})),t.edges().forEach((function(e){const n=t.edge(e.v,e.w,e.name);g.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),g.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),g.info("Fix",UL,"ids:",e.v,e.w,"Translateing: ",UL[e.v],UL[e.w]),wI(d,n)})),t.edges().forEach((function(e){g.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e))})),g.info("#############################################"),g.info("### Layout ###"),g.info("#############################################"),g.info(t),pD(t),g.info("Graph after layout:",DL(t));let c=0;return tI(t).forEach((function(e){const n=t.node(e);g.info("Position "+e+": "+JSON.stringify(t.node(e))),g.info("Position "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n&&n.clusterNode?RI(n):t.children(e).length>0?(xI(s,n),UL[n.id].node=n):RI(n)})),t.edges().forEach((function(e){const a=t.edge(e);g.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(a),a);const r=LI(o,e,a,UL,n,t);SI(a,r)})),t.nodes().forEach((function(e){const n=t.node(e);g.info(e,n.type,n.diff),"group"===n.type&&(c=n.diff)})),{elem:i,diff:c}},FI=(e,t,n,a,r)=>{NL(e,n,a,r),mI(),CI(),vI(),YL(),g.warn("Graph at first:",DL(t)),ZL(t),g.warn("Graph after:",DL(t)),II(e,t,a)},OI=e=>Bu.sanitizeText(e,ey());let NI={dividerMargin:10,padding:5,textHeight:10};const BI=function(e,t,n,a){const r=Object.keys(e);g.info("keys:",r),g.info(e),r.forEach((function(n){const r=e[n];let i="";r.cssClasses.length>0&&(i=i+" "+r.cssClasses.join(" "));const s={labelStyle:""};let o=void 0!==r.text?r.text:r.id,d=0,l="";r.type,l="class_box",t.setNode(r.id,{labelStyle:s.labelStyle,shape:l,labelText:OI(o),classData:r,rx:d,ry:d,class:i,style:s.style,id:r.id,domId:r.domId,tooltip:a.db.getTooltip(r.id)||"",haveCallback:r.haveCallback,link:r.link,width:"group"===r.type?500:void 0,type:r.type,padding:ey().flowchart.padding}),g.info("setNode",{labelStyle:s.labelStyle,shape:l,labelText:o,rx:d,ry:d,class:i,style:s.style,id:r.id,width:"group"===r.type?500:void 0,type:r.type,padding:ey().flowchart.padding})}))},MI=function(e,t,n,a){g.info(e),e.forEach((function(e,r){const i=e;let s="";const o={labelStyle:"",style:""};let d=i.text,l=0,c="note";if(t.setNode(i.id,{labelStyle:o.labelStyle,shape:c,labelText:OI(d),noteData:i,rx:l,ry:l,class:s,style:o.style,id:i.id,domId:i.id,tooltip:"",type:"note",padding:ey().flowchart.padding}),g.info("setNode",{labelStyle:o.labelStyle,shape:c,labelText:d,rx:l,ry:l,style:o.style,id:i.id,type:"note",padding:ey().flowchart.padding}),!i.class||!(i.class in a))return;const u=n+r,h={classes:"relation",pattern:"dotted"};h.id=`edgeNote${u}`,h.arrowhead="none",g.info(`Note edge: ${JSON.stringify(h)}, ${JSON.stringify(i)}`),h.startLabelRight="",h.endLabelLeft="",h.arrowTypeStart="none",h.arrowTypeEnd="none";let p="fill:none",f="";h.style=p,h.labelStyle=f,h.curve=Em(NI.curve,jl),t.setEdge(i.id,i.class,h,u)}))},PI=function(e,t){const n=ey().flowchart;let a=0;e.forEach((function(r){a++;const i={classes:"relation"};i.pattern=1==r.relation.lineType?"dashed":"solid",i.id="id"+a,"arrow_open"===r.type?i.arrowhead="none":i.arrowhead="normal",g.info(i,r),i.startLabelRight="none"===r.relationTitle1?"":r.relationTitle1,i.endLabelLeft="none"===r.relationTitle2?"":r.relationTitle2,i.arrowTypeStart=jI(r.relation.type1),i.arrowTypeEnd=jI(r.relation.type2);let s="",o="";if(void 0!==r.style){const e=Om(r.style);s=e.style,o=e.labelStyle}else s="fill:none";i.style=s,i.labelStyle=o,void 0!==r.interpolate?i.curve=Em(r.interpolate,jl):void 0!==e.defaultInterpolate?i.curve=Em(e.defaultInterpolate,jl):i.curve=Em(n.curve,jl),r.text=r.title,void 0===r.text?void 0!==r.style&&(i.arrowheadStyle="fill: #333"):(i.arrowheadStyle="fill: #333",i.labelpos="c",ey().flowchart.htmlLabels?(i.labelType="html",i.label='<span class="edgeLabel">'+r.text+"</span>"):(i.labelType="text",i.label=r.text.replace(Bu.lineBreakRegex,"\n"),void 0===r.style&&(i.style=i.style||"stroke: #333; stroke-width: 1.5px;fill:none"),i.labelStyle=i.labelStyle.replace("color:","fill:"))),t.setEdge(r.id1,r.id2,i,a)}))};function jI(e){let t;switch(e){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}const VI={setConf:function(e){Object.keys(e).forEach((function(t){NI[t]=e[t]}))},draw:function(e,t,n,a){g.info("Drawing class - ",t);const r=ey().flowchart,i=ey().securityLevel;g.info("config:",r);const s=r.nodeSpacing||50,o=r.rankSpacing||50,d=new PA({multigraph:!0,compound:!0}).setGraph({rankdir:a.db.getDirection(),nodesep:s,ranksep:o,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),l=a.db.getClasses(),c=a.db.getRelations(),u=a.db.getNotes();let h;g.info(c),BI(l,d,t,a),PI(c,d),MI(u,d,c.length+1,l),"sandbox"===i&&(h=hn("#i"+t));const p=hn("sandbox"===i?h.nodes()[0].contentDocument.body:"body"),f=p.select(`[id="${t}"]`),m=p.select("#"+t+" g");if(FI(m,d,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),Km.insertTitle(f,"classTitleText",r.titleTopMargin,a.db.getDiagramTitle()),uy(d,f,r.diagramPadding,r.useMaxWidth),!r.htmlLabels){const e="sandbox"===i?h.nodes()[0].contentDocument:document,n=e.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const t of n){const n=t.getBBox(),a=e.createElementNS("http://www.w3.org/2000/svg","rect");a.setAttribute("rx",0),a.setAttribute("ry",0),a.setAttribute("width",n.width),a.setAttribute("height",n.height),t.insertBefore(a,t.firstChild)}}}};var $I=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,2],n=[1,5],a=[6,9,11,23,25,27,29,30,31,49],r=[1,17],i=[1,18],s=[1,19],o=[1,20],d=[1,21],l=[1,22],c=[1,25],u=[1,30],h=[1,31],g=[1,32],p=[1,33],f=[6,9,11,15,20,23,25,27,29,30,31,42,43,44,45,49],m=[1,45],R=[30,31,46,47],y=[4,6,9,11,23,25,27,29,30,31,49],b=[42,43,44,45],x=[22,37],v=[1,64],_={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyType:35,attributeComment:36,ATTRIBUTE_WORD:37,ATTRIBUTE_KEY:38,COMMENT:39,cardinality:40,relType:41,ZERO_OR_ONE:42,ZERO_OR_MORE:43,ONE_OR_MORE:44,ONLY_ONE:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,open_directive:49,type_directive:50,arg_directive:51,close_directive:52,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",38:"ATTRIBUTE_KEY",39:"COMMENT",42:"ZERO_OR_ONE",43:"ZERO_OR_MORE",44:"ONE_OR_MORE",45:"ONLY_ONE",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD",49:"open_directive",50:"type_directive",51:"arg_directive",52:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[36,1],[18,3],[40,1],[40,1],[40,1],[40,1],[41,1],[41,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 1:break;case 3:case 7:case 8:this.$=[];break;case 4:i[o-1].push(i[o]),this.$=i[o-1];break;case 5:case 6:case 20:case 41:case 28:case 29:case 30:this.$=i[o];break;case 12:a.addEntity(i[o-4]),a.addEntity(i[o-2]),a.addRelationship(i[o-4],i[o],i[o-2],i[o-3]);break;case 13:a.addEntity(i[o-3]),a.addAttributes(i[o-3],i[o-1]);break;case 14:a.addEntity(i[o-2]);break;case 15:a.addEntity(i[o]);break;case 16:case 17:this.$=i[o].trim(),a.setAccTitle(this.$);break;case 18:case 19:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 21:case 39:case 40:case 31:this.$=i[o].replace(/"/g,"");break;case 22:this.$=[i[o]];break;case 23:i[o].push(i[o-1]),this.$=i[o];break;case 24:this.$={attributeType:i[o-1],attributeName:i[o]};break;case 25:this.$={attributeType:i[o-2],attributeName:i[o-1],attributeKeyType:i[o]};break;case 26:this.$={attributeType:i[o-2],attributeName:i[o-1],attributeComment:i[o]};break;case 27:this.$={attributeType:i[o-3],attributeName:i[o-2],attributeKeyType:i[o-1],attributeComment:i[o]};break;case 32:this.$={cardA:i[o],relType:i[o-1],cardB:i[o-2]};break;case 33:this.$=a.Cardinality.ZERO_OR_ONE;break;case 34:this.$=a.Cardinality.ZERO_OR_MORE;break;case 35:this.$=a.Cardinality.ONE_OR_MORE;break;case 36:this.$=a.Cardinality.ONLY_ONE;break;case 37:this.$=a.Identification.NON_IDENTIFYING;break;case 38:this.$=a.Identification.IDENTIFYING;break;case 42:a.parseDirective("%%{","open_directive");break;case 43:a.parseDirective(i[o],"type_directive");break;case 44:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 45:a.parseDirective("}%%","close_directive","er")}},table:[{3:1,4:t,7:3,12:4,49:n},{1:[3]},e(a,[2,3],{5:6}),{3:7,4:t,7:3,12:4,49:n},{13:8,50:[1,9]},{50:[2,42]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:r,25:i,27:s,29:o,30:d,31:l,49:n},{1:[2,2]},{14:23,15:[1,24],52:c},e([15,52],[2,43]),e(a,[2,8],{1:[2,1]}),e(a,[2,4]),{7:15,10:26,12:4,17:16,23:r,25:i,27:s,29:o,30:d,31:l,49:n},e(a,[2,6]),e(a,[2,7]),e(a,[2,11]),e(a,[2,15],{18:27,40:29,20:[1,28],42:u,43:h,44:g,45:p}),{24:[1,34]},{26:[1,35]},{28:[1,36]},e(a,[2,19]),e(f,[2,20]),e(f,[2,21]),{11:[1,37]},{16:38,51:[1,39]},{11:[2,45]},e(a,[2,5]),{17:40,30:d,31:l},{21:41,22:[1,42],32:43,33:44,37:m},{41:46,46:[1,47],47:[1,48]},e(R,[2,33]),e(R,[2,34]),e(R,[2,35]),e(R,[2,36]),e(a,[2,16]),e(a,[2,17]),e(a,[2,18]),e(y,[2,9]),{14:49,52:c},{52:[2,44]},{15:[1,50]},{22:[1,51]},e(a,[2,14]),{21:52,22:[2,22],32:43,33:44,37:m},{34:53,37:[1,54]},{37:[2,28]},{40:55,42:u,43:h,44:g,45:p},e(b,[2,37]),e(b,[2,38]),{11:[1,56]},{19:57,30:[1,60],31:[1,59],48:[1,58]},e(a,[2,13]),{22:[2,23]},e(x,[2,24],{35:61,36:62,38:[1,63],39:v}),e([22,37,38,39],[2,29]),e([30,31],[2,32]),e(y,[2,10]),e(a,[2,12]),e(a,[2,39]),e(a,[2,40]),e(a,[2,41]),e(x,[2,25],{36:65,39:v}),e(x,[2,26]),e([22,37,39],[2,30]),e(x,[2,31]),e(x,[2,27])],defaultActions:{5:[2,42],7:[2,2],25:[2,45],39:[2,44],45:[2,28],52:[2,23]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},k={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,a){switch(n){case 0:return this.begin("acc_title"),25;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),27;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.begin("open_directive"),49;case 8:return this.begin("type_directive"),50;case 9:return this.popState(),this.begin("arg_directive"),15;case 10:return this.popState(),this.popState(),52;case 11:return 51;case 12:case 13:case 15:case 21:case 26:break;case 14:return 11;case 16:return 9;case 17:return 31;case 18:return 48;case 19:return 4;case 20:return this.begin("block"),20;case 22:return 38;case 23:case 24:return 37;case 25:return 39;case 27:return this.popState(),22;case 28:case 57:return t.yytext[0];case 29:case 33:case 34:case 47:return 42;case 30:case 31:case 32:case 40:case 42:case 49:return 44;case 35:case 36:case 37:case 38:case 39:case 41:case 48:return 43;case 43:case 44:case 45:case 46:return 45;case 50:case 53:case 54:case 55:return 46;case 51:case 52:return 47;case 56:return 30;case 58:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[A-Za-z][A-Za-z0-9\-_\[\]]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},open_directive:{rules:[8],inclusive:!1},type_directive:{rules:[9,10],inclusive:!1},arg_directive:{rules:[10,11],inclusive:!1},block:{rules:[21,22,23,24,25,26,27,28],inclusive:!1},INITIAL:{rules:[0,2,4,7,12,13,14,15,16,17,18,19,20,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58],inclusive:!0}}};function C(){this.yy={}}return _.lexer=k,C.prototype=_,_.Parser=C,new C}();$I.parser=$I;const UI=$I,zI=e=>null!==e.match(/^\s*erDiagram/);let HI={},YI=[];const WI=function(e){return void 0===HI[e]&&(HI[e]={attributes:[]},g.info("Added new entity :",e)),HI[e]},qI={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},parseDirective:function(e,t,n){rU.parseDirective(this,e,t,n)},getConfig:()=>ey().er,addEntity:WI,addAttributes:function(e,t){let n,a=WI(e);for(n=t.length-1;n>=0;n--)a.attributes.push(t[n]),g.debug("Added attribute ",t[n].attributeName)},getEntities:()=>HI,addRelationship:function(e,t,n,a){let r={entityA:e,roleA:t,entityB:n,relSpec:a};YI.push(r),g.debug("Added new relationship :",r)},getRelationships:()=>YI,clear:function(){HI={},YI=[],Uy()},setAccTitle:zy,getAccTitle:Hy,setAccDescription:Yy,getAccDescription:Wy,setDiagramTitle:qy,getDiagramTitle:Gy},GI={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END"},XI={ERMarkers:GI,insertMarkers:function(e,t){let n;e.append("defs").append("marker").attr("id",GI.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",t.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),e.append("defs").append("marker").attr("id",GI.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",t.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),n=e.append("defs").append("marker").attr("id",GI.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),n.append("circle").attr("stroke",t.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("stroke",t.stroke).attr("fill","none").attr("d","M9,0 L9,18"),n=e.append("defs").append("marker").attr("id",GI.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),n.append("circle").attr("stroke",t.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),n.append("path").attr("stroke",t.stroke).attr("fill","none").attr("d","M21,0 L21,18"),e.append("defs").append("marker").attr("id",GI.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",t.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),e.append("defs").append("marker").attr("id",GI.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",t.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),n=e.append("defs").append("marker").attr("id",GI.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),n.append("circle").attr("stroke",t.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("stroke",t.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),n=e.append("defs").append("marker").attr("id",GI.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),n.append("circle").attr("stroke",t.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),n.append("path").attr("stroke",t.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}};let JI;const KI=new Uint8Array(16);function ZI(){if(!JI&&(JI=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!JI))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return JI(KI)}const QI=[];for(let e=0;e<256;++e)QI.push((e+256).toString(16).slice(1));function eF(e,t=0){return(QI[e[t+0]]+QI[e[t+1]]+QI[e[t+2]]+QI[e[t+3]]+"-"+QI[e[t+4]]+QI[e[t+5]]+"-"+QI[e[t+6]]+QI[e[t+7]]+"-"+QI[e[t+8]]+QI[e[t+9]]+"-"+QI[e[t+10]]+QI[e[t+11]]+QI[e[t+12]]+QI[e[t+13]]+QI[e[t+14]]+QI[e[t+15]]).toLowerCase()}const tF={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function nF(e,t,n){if(tF.randomUUID&&!t&&!e)return tF.randomUUID();const a=(e=e||{}).random||(e.rng||ZI)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=a[e];return t}return eF(a)}const aF=/[^\dA-Za-z](\W)*/g;let rF={},iF=new Map;const sF=(e,t,n)=>{const a=rF.entityPadding/3,r=rF.entityPadding/3,i=.85*rF.fontSize,s=t.node().getBBox(),o=[];let d=!1,l=!1,c=0,u=0,h=0,g=0,p=s.height+2*a,f=1;n.forEach((e=>{void 0!==e.attributeKeyType&&(d=!0),void 0!==e.attributeComment&&(l=!0)})),n.forEach((n=>{const r=`${t.node().id}-attr-${f}`;let s=0;const m=Nu(n.attributeType),R=e.append("text").classed("er entityLabel",!0).attr("id",`${r}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",ey().fontFamily).style("font-size",i+"px").text(m),y=e.append("text").classed("er entityLabel",!0).attr("id",`${r}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",ey().fontFamily).style("font-size",i+"px").text(n.attributeName),b={};b.tn=R,b.nn=y;const x=R.node().getBBox(),v=y.node().getBBox();if(c=Math.max(c,x.width),u=Math.max(u,v.width),s=Math.max(x.height,v.height),d){const t=e.append("text").classed("er entityLabel",!0).attr("id",`${r}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",ey().fontFamily).style("font-size",i+"px").text(n.attributeKeyType||"");b.kn=t;const a=t.node().getBBox();h=Math.max(h,a.width),s=Math.max(s,a.height)}if(l){const t=e.append("text").classed("er entityLabel",!0).attr("id",`${r}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",ey().fontFamily).style("font-size",i+"px").text(n.attributeComment||"");b.cn=t;const a=t.node().getBBox();g=Math.max(g,a.width),s=Math.max(s,a.height)}b.height=s,o.push(b),p+=s+2*a,f+=1}));let m=4;d&&(m+=2),l&&(m+=2);const R=c+u+h+g,y={width:Math.max(rF.minEntityWidth,Math.max(s.width+2*rF.entityPadding,R+r*m)),height:n.length>0?p:Math.max(rF.minEntityHeight,s.height+2*rF.entityPadding)};if(n.length>0){const n=Math.max(0,(y.width-R-r*m)/(m/2));t.attr("transform","translate("+y.width/2+","+(a+s.height/2)+")");let i=s.height+2*a,p="attributeBoxOdd";o.forEach((t=>{const s=i+a+t.height/2;t.tn.attr("transform","translate("+r+","+s+")");const o=e.insert("rect","#"+t.tn.node().id).classed(`er ${p}`,!0).attr("x",0).attr("y",i).attr("width",c+2*r+n).attr("height",t.height+2*a),f=parseFloat(o.attr("x"))+parseFloat(o.attr("width"));t.nn.attr("transform","translate("+(f+r)+","+s+")");const m=e.insert("rect","#"+t.nn.node().id).classed(`er ${p}`,!0).attr("x",f).attr("y",i).attr("width",u+2*r+n).attr("height",t.height+2*a);let R=parseFloat(m.attr("x"))+parseFloat(m.attr("width"));if(d){t.kn.attr("transform","translate("+(R+r)+","+s+")");const o=e.insert("rect","#"+t.kn.node().id).classed(`er ${p}`,!0).attr("x",R).attr("y",i).attr("width",h+2*r+n).attr("height",t.height+2*a);R=parseFloat(o.attr("x"))+parseFloat(o.attr("width"))}l&&(t.cn.attr("transform","translate("+(R+r)+","+s+")"),e.insert("rect","#"+t.cn.node().id).classed(`er ${p}`,"true").attr("x",R).attr("y",i).attr("width",g+2*r+n).attr("height",t.height+2*a)),i+=t.height+2*a,p="attributeBoxOdd"===p?"attributeBoxEven":"attributeBoxOdd"}))}else y.height=Math.max(rF.minEntityHeight,p),t.attr("transform","translate("+y.width/2+","+y.height/2+")");return y},oF=function(e,t,n){let a;return Object.keys(t).forEach((function(r){const i=gF(r,"entity");iF.set(r,i);const s=e.append("g").attr("id",i);a=void 0===a?i:a;const o="text-"+i,d=s.append("text").classed("er entityLabel",!0).attr("id",o).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",ey().fontFamily).style("font-size",rF.fontSize+"px").text(r),{width:l,height:c}=sF(s,d,t[r].attributes),u=s.insert("rect","#"+o).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",l).attr("height",c).node().getBBox();n.setNode(i,{width:u.width,height:u.height,shape:"rect",id:i})})),a},dF=function(e,t){t.nodes().forEach((function(n){void 0!==n&&void 0!==t.node(n)&&e.select("#"+n).attr("transform","translate("+(t.node(n).x-t.node(n).width/2)+","+(t.node(n).y-t.node(n).height/2)+" )")}))},lF=function(e){return(e.entityA+e.roleA+e.entityB).replace(/\s/g,"")},cF=function(e,t){return e.forEach((function(e){t.setEdge(iF.get(e.entityA),iF.get(e.entityB),{relationship:e},lF(e))})),e};let uF=0;const hF=function(e,t,n,a,r){uF++;const i=n.edge(iF.get(t.entityA),iF.get(t.entityB),lF(t)),s=Ul().x((function(e){return e.x})).y((function(e){return e.y})).curve(Xl),o=e.insert("path","#"+a).classed("er relationshipLine",!0).attr("d",s(i.points)).style("stroke",rF.stroke).style("fill","none");t.relSpec.relType===r.db.Identification.NON_IDENTIFYING&&o.attr("stroke-dasharray","8,8");let d="";switch(rF.arrowMarkerAbsolute&&(d=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,d=d.replace(/\(/g,"\\("),d=d.replace(/\)/g,"\\)")),t.relSpec.cardA){case r.db.Cardinality.ZERO_OR_ONE:o.attr("marker-end","url("+d+"#"+XI.ERMarkers.ZERO_OR_ONE_END+")");break;case r.db.Cardinality.ZERO_OR_MORE:o.attr("marker-end","url("+d+"#"+XI.ERMarkers.ZERO_OR_MORE_END+")");break;case r.db.Cardinality.ONE_OR_MORE:o.attr("marker-end","url("+d+"#"+XI.ERMarkers.ONE_OR_MORE_END+")");break;case r.db.Cardinality.ONLY_ONE:o.attr("marker-end","url("+d+"#"+XI.ERMarkers.ONLY_ONE_END+")")}switch(t.relSpec.cardB){case r.db.Cardinality.ZERO_OR_ONE:o.attr("marker-start","url("+d+"#"+XI.ERMarkers.ZERO_OR_ONE_START+")");break;case r.db.Cardinality.ZERO_OR_MORE:o.attr("marker-start","url("+d+"#"+XI.ERMarkers.ZERO_OR_MORE_START+")");break;case r.db.Cardinality.ONE_OR_MORE:o.attr("marker-start","url("+d+"#"+XI.ERMarkers.ONE_OR_MORE_START+")");break;case r.db.Cardinality.ONLY_ONE:o.attr("marker-start","url("+d+"#"+XI.ERMarkers.ONLY_ONE_START+")")}const l=o.node().getTotalLength(),c=o.node().getPointAtLength(.5*l),u="rel"+uF,h=e.append("text").classed("er relationshipLabel",!0).attr("id",u).attr("x",c.x).attr("y",c.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",ey().fontFamily).style("font-size",rF.fontSize+"px").text(t.roleA).node().getBBox();e.insert("rect","#"+u).classed("er relationshipLabelBox",!0).attr("x",c.x-h.width/2).attr("y",c.y-h.height/2).attr("width",h.width).attr("height",h.height)};function gF(e="",t=""){const n=e.replace(aF,"");return`${pF(t)}${pF(n)}${nF()}`}function pF(e=""){return e.length>0?`${e}-`:""}const fF={setConf:function(e){const t=Object.keys(e);for(const n of t)rF[n]=e[n]},draw:function(e,t,n,a){rF=ey().er,g.info("Drawing ER diagram");const r=ey().securityLevel;let i;"sandbox"===r&&(i=hn("#i"+t));const s=hn("sandbox"===r?i.nodes()[0].contentDocument.body:"body").select(`[id='${t}']`);let o;XI.insertMarkers(s,rF),o=new PA({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:rF.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));const d=oF(s,a.db.getEntities(),o),l=cF(a.db.getRelationships(),o);pD(o),dF(s,o),l.forEach((function(e){hF(s,e,o,d,a)}));const c=rF.diagramPadding;Km.insertTitle(s,"entityTitleText",rF.titleTopMargin,a.db.getDiagramTitle());const u=s.node().getBBox(),h=u.width+2*c,p=u.height+2*c;cy(s,p,h,rF.useMaxWidth),s.attr("viewBox",`${u.x-c} ${u.y-c} ${h} ${p}`)}};var mF=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,9],n=[1,7],a=[1,6],r=[1,8],i=[1,20,21,22,23,38,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],s=[2,10],o=[1,20],d=[1,21],l=[1,22],c=[1,23],u=[1,30],h=[1,32],g=[1,33],p=[1,34],f=[1,62],m=[1,48],R=[1,52],y=[1,36],b=[1,37],x=[1,38],v=[1,39],_=[1,40],k=[1,56],C=[1,63],w=[1,51],E=[1,53],S=[1,55],A=[1,59],T=[1,60],D=[1,41],L=[1,42],I=[1,43],F=[1,44],O=[1,61],N=[1,50],B=[1,54],M=[1,57],P=[1,58],j=[1,49],V=[1,66],$=[1,71],U=[1,20,21,22,23,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],z=[1,75],H=[1,74],Y=[1,76],W=[20,21,23,81,82],q=[1,99],G=[1,104],X=[1,107],J=[1,108],K=[1,101],Z=[1,106],Q=[1,109],ee=[1,102],te=[1,114],ne=[1,113],ae=[1,103],re=[1,105],ie=[1,110],se=[1,111],oe=[1,112],de=[1,115],le=[20,21,22,23,81,82],ce=[20,21,22,23,53,81,82],ue=[20,21,22,23,40,52,53,55,57,59,61,63,65,66,67,69,71,73,74,76,81,82,91,95,105,106,109,111,112,122,123,124,125,126,127],he=[20,21,23],ge=[20,21,23,52,66,67,81,82,91,95,105,106,109,111,112,122,123,124,125,126,127],pe=[1,12,20,21,22,23,24,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],fe=[52,66,67,91,95,105,106,109,111,112,122,123,124,125,126,127],me=[1,149],Re=[1,157],ye=[1,158],be=[1,159],xe=[1,160],ve=[1,144],_e=[1,145],ke=[1,141],Ce=[1,152],we=[1,153],Ee=[1,154],Se=[1,155],Ae=[1,156],Te=[1,161],De=[1,162],Le=[1,147],Ie=[1,150],Fe=[1,146],Oe=[1,143],Ne=[20,21,22,23,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],Be=[1,165],Me=[20,21,22,23,26,52,66,67,91,105,106,109,111,112,122,123,124,125,126,127],Pe=[20,21,22,23,24,26,38,40,41,42,52,56,58,60,62,64,66,67,68,70,72,73,75,77,81,82,86,87,88,89,90,91,92,95,105,106,109,111,112,113,114,122,123,124,125,126,127],je=[12,21,22,24],Ve=[22,106],$e=[1,250],Ue=[1,245],ze=[1,246],He=[1,254],Ye=[1,251],We=[1,248],qe=[1,247],Ge=[1,249],Xe=[1,252],Je=[1,253],Ke=[1,255],Ze=[1,273],Qe=[20,21,23,106],et=[20,21,22,23,66,67,86,102,105,106,109,110,111,112,113],tt={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,vertex:51,AMP:52,STYLE_SEPARATOR:53,idString:54,DOUBLECIRCLESTART:55,DOUBLECIRCLEEND:56,PS:57,PE:58,"(-":59,"-)":60,STADIUMSTART:61,STADIUMEND:62,SUBROUTINESTART:63,SUBROUTINEEND:64,VERTEX_WITH_PROPS_START:65,ALPHA:66,COLON:67,PIPE:68,CYLINDERSTART:69,CYLINDEREND:70,DIAMOND_START:71,DIAMOND_STOP:72,TAGEND:73,TRAPSTART:74,TRAPEND:75,INVTRAPSTART:76,INVTRAPEND:77,linkStatement:78,arrowText:79,TESTSTR:80,START_LINK:81,LINK:82,textToken:83,STR:84,keywords:85,STYLE:86,LINKSTYLE:87,CLASSDEF:88,CLASS:89,CLICK:90,DOWN:91,UP:92,textNoTags:93,textNoTagsToken:94,DEFAULT:95,stylesOpt:96,alphaNum:97,CALLBACKNAME:98,CALLBACKARGS:99,HREF:100,LINK_TARGET:101,HEX:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,MINUS:109,UNIT:110,BRKT:111,DOT:112,PCT:113,TAGSTART:114,alphaNumToken:115,idStringToken:116,alphaNumStatement:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,PUNCTUATION:122,UNICODE_TEXT:123,PLUS:124,EQUALS:125,MULT:126,UNDERSCORE:127,graphCodeTokens:128,ARROW_CROSS:129,ARROW_POINT:130,ARROW_CIRCLE:131,ARROW_OPEN:132,QUOTE:133,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",53:"STYLE_SEPARATOR",55:"DOUBLECIRCLESTART",56:"DOUBLECIRCLEEND",57:"PS",58:"PE",59:"(-",60:"-)",61:"STADIUMSTART",62:"STADIUMEND",63:"SUBROUTINESTART",64:"SUBROUTINEEND",65:"VERTEX_WITH_PROPS_START",66:"ALPHA",67:"COLON",68:"PIPE",69:"CYLINDERSTART",70:"CYLINDEREND",71:"DIAMOND_START",72:"DIAMOND_STOP",73:"TAGEND",74:"TRAPSTART",75:"TRAPEND",76:"INVTRAPSTART",77:"INVTRAPEND",80:"TESTSTR",81:"START_LINK",82:"LINK",84:"STR",86:"STYLE",87:"LINKSTYLE",88:"CLASSDEF",89:"CLASS",90:"CLICK",91:"DOWN",92:"UP",95:"DEFAULT",98:"CALLBACKNAME",99:"CALLBACKARGS",100:"HREF",101:"LINK_TARGET",102:"HEX",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"MINUS",110:"UNIT",111:"BRKT",112:"DOT",113:"PCT",114:"TAGSTART",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr",122:"PUNCTUATION",123:"UNICODE_TEXT",124:"PLUS",125:"EQUALS",126:"MULT",127:"UNDERSCORE",129:"ARROW_CROSS",130:"ARROW_POINT",131:"ARROW_CIRCLE",132:"ARROW_OPEN",133:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[50,3],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,8],[51,4],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,4],[51,4],[51,1],[49,2],[49,3],[49,3],[49,1],[49,3],[78,1],[79,3],[39,1],[39,2],[39,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[93,1],[93,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[103,1],[103,3],[96,1],[96,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[94,1],[94,1],[94,1],[94,1],[54,1],[54,2],[97,1],[97,2],[117,1],[117,1],[117,1],[117,1],[43,1],[43,1],[43,1],[43,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 5:a.parseDirective("%%{","open_directive");break;case 6:a.parseDirective(i[o],"type_directive");break;case 7:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 8:a.parseDirective("}%%","close_directive","flowchart");break;case 10:case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 11:(!Array.isArray(i[o])||i[o].length>0)&&i[o-1].push(i[o]),this.$=i[o-1];break;case 12:case 82:case 84:case 96:case 152:case 154:case 155:case 78:case 150:this.$=i[o];break;case 19:a.setDirection("TB"),this.$="TB";break;case 20:a.setDirection(i[o-1]),this.$=i[o-1];break;case 35:this.$=i[o-1].nodes;break;case 41:this.$=a.addSubGraph(i[o-6],i[o-1],i[o-4]);break;case 42:this.$=a.addSubGraph(i[o-3],i[o-1],i[o-3]);break;case 43:this.$=a.addSubGraph(void 0,i[o-1],void 0);break;case 45:this.$=i[o].trim(),a.setAccTitle(this.$);break;case 46:case 47:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 51:a.addLink(i[o-2].stmt,i[o],i[o-1]),this.$={stmt:i[o],nodes:i[o].concat(i[o-2].nodes)};break;case 52:a.addLink(i[o-3].stmt,i[o-1],i[o-2]),this.$={stmt:i[o-1],nodes:i[o-1].concat(i[o-3].nodes)};break;case 53:this.$={stmt:i[o-1],nodes:i[o-1]};break;case 54:this.$={stmt:i[o],nodes:i[o]};break;case 55:case 123:case 125:this.$=[i[o]];break;case 56:this.$=i[o-4].concat(i[o]);break;case 57:this.$=[i[o-2]],a.setClass(i[o-2],i[o]);break;case 58:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"square");break;case 59:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"doublecircle");break;case 60:this.$=i[o-5],a.addVertex(i[o-5],i[o-2],"circle");break;case 61:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"ellipse");break;case 62:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"stadium");break;case 63:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"subroutine");break;case 64:this.$=i[o-7],a.addVertex(i[o-7],i[o-1],"rect",void 0,void 0,void 0,Object.fromEntries([[i[o-5],i[o-3]]]));break;case 65:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"cylinder");break;case 66:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"round");break;case 67:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"diamond");break;case 68:this.$=i[o-5],a.addVertex(i[o-5],i[o-2],"hexagon");break;case 69:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"odd");break;case 70:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"trapezoid");break;case 71:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"inv_trapezoid");break;case 72:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"lean_right");break;case 73:this.$=i[o-3],a.addVertex(i[o-3],i[o-1],"lean_left");break;case 74:this.$=i[o],a.addVertex(i[o]);break;case 75:i[o-1].text=i[o],this.$=i[o-1];break;case 76:case 77:i[o-2].text=i[o-1],this.$=i[o-2];break;case 79:var d=a.destructLink(i[o],i[o-2]);this.$={type:d.type,stroke:d.stroke,length:d.length,text:i[o-1]};break;case 80:d=a.destructLink(i[o]),this.$={type:d.type,stroke:d.stroke,length:d.length};break;case 81:this.$=i[o-1];break;case 83:case 97:case 153:case 151:this.$=i[o-1]+""+i[o];break;case 98:case 99:this.$=i[o-4],a.addClass(i[o-2],i[o]);break;case 100:this.$=i[o-4],a.setClass(i[o-2],i[o]);break;case 101:case 109:this.$=i[o-1],a.setClickEvent(i[o-1],i[o]);break;case 102:case 110:this.$=i[o-3],a.setClickEvent(i[o-3],i[o-2]),a.setTooltip(i[o-3],i[o]);break;case 103:this.$=i[o-2],a.setClickEvent(i[o-2],i[o-1],i[o]);break;case 104:this.$=i[o-4],a.setClickEvent(i[o-4],i[o-3],i[o-2]),a.setTooltip(i[o-4],i[o]);break;case 105:case 111:this.$=i[o-1],a.setLink(i[o-1],i[o]);break;case 106:case 112:this.$=i[o-3],a.setLink(i[o-3],i[o-2]),a.setTooltip(i[o-3],i[o]);break;case 107:case 113:this.$=i[o-3],a.setLink(i[o-3],i[o-2],i[o]);break;case 108:case 114:this.$=i[o-5],a.setLink(i[o-5],i[o-4],i[o]),a.setTooltip(i[o-5],i[o-2]);break;case 115:this.$=i[o-4],a.addVertex(i[o-2],void 0,void 0,i[o]);break;case 116:case 118:this.$=i[o-4],a.updateLink(i[o-2],i[o]);break;case 117:this.$=i[o-4],a.updateLink([i[o-2]],i[o]);break;case 119:this.$=i[o-8],a.updateLinkInterpolate([i[o-6]],i[o-2]),a.updateLink([i[o-6]],i[o]);break;case 120:this.$=i[o-8],a.updateLinkInterpolate(i[o-6],i[o-2]),a.updateLink(i[o-6],i[o]);break;case 121:this.$=i[o-6],a.updateLinkInterpolate([i[o-4]],i[o]);break;case 122:this.$=i[o-6],a.updateLinkInterpolate(i[o-4],i[o]);break;case 124:case 126:i[o-2].push(i[o]),this.$=i[o-2];break;case 128:this.$=i[o-1]+i[o];break;case 156:this.$="v";break;case 157:this.$="-";break;case 158:this.$={stmt:"dir",value:"TB"};break;case 159:this.$={stmt:"dir",value:"BT"};break;case 160:this.$={stmt:"dir",value:"RL"};break;case 161:this.$={stmt:"dir",value:"LR"}}},table:[{3:1,4:2,5:3,6:5,12:t,16:4,21:n,22:a,24:r},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:t,16:4,21:n,22:a,24:r},e(i,s,{17:11}),{7:12,13:[1,13]},{16:14,21:n,22:a,24:r},{16:15,21:n,22:a,24:r},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:o,21:d,22:l,23:c,32:24,33:25,34:26,35:27,36:28,37:29,38:u,43:31,44:h,46:g,48:p,50:35,51:45,52:f,54:46,66:m,67:R,86:y,87:b,88:x,89:v,90:_,91:k,95:C,105:w,106:E,109:S,111:A,112:T,116:47,118:D,119:L,120:I,121:F,122:O,123:N,124:B,125:M,126:P,127:j},{8:64,10:[1,65],15:V},e([10,15],[2,6]),e(i,[2,17]),e(i,[2,18]),e(i,[2,19]),{20:[1,68],21:[1,69],22:$,27:67,30:70},e(U,[2,11]),e(U,[2,12]),e(U,[2,13]),e(U,[2,14]),e(U,[2,15]),e(U,[2,16]),{9:72,20:z,21:H,23:Y,49:73,78:77,81:[1,78],82:[1,79]},{9:80,20:z,21:H,23:Y},{9:81,20:z,21:H,23:Y},{9:82,20:z,21:H,23:Y},{9:83,20:z,21:H,23:Y},{9:84,20:z,21:H,23:Y},{9:86,20:z,21:H,22:[1,85],23:Y},e(U,[2,44]),{45:[1,87]},{47:[1,88]},e(U,[2,47]),e(W,[2,54],{30:89,22:$}),{22:[1,90]},{22:[1,91]},{22:[1,92]},{22:[1,93]},{26:q,52:G,66:X,67:J,84:[1,97],91:K,97:96,98:[1,94],100:[1,95],105:Z,106:Q,109:ee,111:te,112:ne,115:100,117:98,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(U,[2,158]),e(U,[2,159]),e(U,[2,160]),e(U,[2,161]),e(le,[2,55],{53:[1,116]}),e(ce,[2,74],{116:129,40:[1,117],52:f,55:[1,118],57:[1,119],59:[1,120],61:[1,121],63:[1,122],65:[1,123],66:m,67:R,69:[1,124],71:[1,125],73:[1,126],74:[1,127],76:[1,128],91:k,95:C,105:w,106:E,109:S,111:A,112:T,122:O,123:N,124:B,125:M,126:P,127:j}),e(ue,[2,150]),e(ue,[2,175]),e(ue,[2,176]),e(ue,[2,177]),e(ue,[2,178]),e(ue,[2,179]),e(ue,[2,180]),e(ue,[2,181]),e(ue,[2,182]),e(ue,[2,183]),e(ue,[2,184]),e(ue,[2,185]),e(ue,[2,186]),e(ue,[2,187]),e(ue,[2,188]),e(ue,[2,189]),e(ue,[2,190]),{9:130,20:z,21:H,23:Y},{11:131,14:[1,132]},e(he,[2,8]),e(i,[2,20]),e(i,[2,26]),e(i,[2,27]),{21:[1,133]},e(ge,[2,34],{30:134,22:$}),e(U,[2,35]),{50:135,51:45,52:f,54:46,66:m,67:R,91:k,95:C,105:w,106:E,109:S,111:A,112:T,116:47,122:O,123:N,124:B,125:M,126:P,127:j},e(pe,[2,48]),e(pe,[2,49]),e(pe,[2,50]),e(fe,[2,78],{79:136,68:[1,138],80:[1,137]}),{22:me,24:Re,26:ye,38:be,39:139,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},e([52,66,67,68,80,91,95,105,106,109,111,112,122,123,124,125,126,127],[2,80]),e(U,[2,36]),e(U,[2,37]),e(U,[2,38]),e(U,[2,39]),e(U,[2,40]),{22:me,24:Re,26:ye,38:be,39:163,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(Ne,s,{17:164}),e(U,[2,45]),e(U,[2,46]),e(W,[2,53],{52:Be}),{26:q,52:G,66:X,67:J,91:K,97:166,102:[1,167],105:Z,106:Q,109:ee,111:te,112:ne,115:100,117:98,122:ae,123:re,124:ie,125:se,126:oe,127:de},{95:[1,168],103:169,105:[1,170]},{26:q,52:G,66:X,67:J,91:K,95:[1,171],97:172,105:Z,106:Q,109:ee,111:te,112:ne,115:100,117:98,122:ae,123:re,124:ie,125:se,126:oe,127:de},{26:q,52:G,66:X,67:J,91:K,97:173,105:Z,106:Q,109:ee,111:te,112:ne,115:100,117:98,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(he,[2,101],{22:[1,174],99:[1,175]}),e(he,[2,105],{22:[1,176]}),e(he,[2,109],{115:100,117:178,22:[1,177],26:q,52:G,66:X,67:J,91:K,105:Z,106:Q,109:ee,111:te,112:ne,122:ae,123:re,124:ie,125:se,126:oe,127:de}),e(he,[2,111],{22:[1,179]}),e(Me,[2,152]),e(Me,[2,154]),e(Me,[2,155]),e(Me,[2,156]),e(Me,[2,157]),e(Pe,[2,162]),e(Pe,[2,163]),e(Pe,[2,164]),e(Pe,[2,165]),e(Pe,[2,166]),e(Pe,[2,167]),e(Pe,[2,168]),e(Pe,[2,169]),e(Pe,[2,170]),e(Pe,[2,171]),e(Pe,[2,172]),e(Pe,[2,173]),e(Pe,[2,174]),{52:f,54:180,66:m,67:R,91:k,95:C,105:w,106:E,109:S,111:A,112:T,116:47,122:O,123:N,124:B,125:M,126:P,127:j},{22:me,24:Re,26:ye,38:be,39:181,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:182,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:184,42:xe,52:G,57:[1,183],66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:185,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:186,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:187,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{66:[1,188]},{22:me,24:Re,26:ye,38:be,39:189,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:190,42:xe,52:G,66:X,67:J,71:[1,191],73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:192,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:193,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:194,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(ue,[2,151]),e(je,[2,3]),{8:195,15:V},{15:[2,7]},e(i,[2,28]),e(ge,[2,33]),e(W,[2,51],{30:196,22:$}),e(fe,[2,75],{22:[1,197]}),{22:[1,198]},{22:me,24:Re,26:ye,38:be,39:199,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,42:xe,52:G,66:X,67:J,73:ve,81:_e,82:[1,200],83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(Pe,[2,82]),e(Pe,[2,84]),e(Pe,[2,140]),e(Pe,[2,141]),e(Pe,[2,142]),e(Pe,[2,143]),e(Pe,[2,144]),e(Pe,[2,145]),e(Pe,[2,146]),e(Pe,[2,147]),e(Pe,[2,148]),e(Pe,[2,149]),e(Pe,[2,85]),e(Pe,[2,86]),e(Pe,[2,87]),e(Pe,[2,88]),e(Pe,[2,89]),e(Pe,[2,90]),e(Pe,[2,91]),e(Pe,[2,92]),e(Pe,[2,93]),e(Pe,[2,94]),e(Pe,[2,95]),{9:203,20:z,21:H,22:me,23:Y,24:Re,26:ye,38:be,40:[1,202],42:xe,52:G,66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{18:18,19:19,20:o,21:d,22:l,23:c,32:24,33:25,34:26,35:27,36:28,37:29,38:u,42:[1,204],43:31,44:h,46:g,48:p,50:35,51:45,52:f,54:46,66:m,67:R,86:y,87:b,88:x,89:v,90:_,91:k,95:C,105:w,106:E,109:S,111:A,112:T,116:47,118:D,119:L,120:I,121:F,122:O,123:N,124:B,125:M,126:P,127:j},{22:$,30:205},{22:[1,206],26:q,52:G,66:X,67:J,91:K,105:Z,106:Q,109:ee,111:te,112:ne,115:100,117:178,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:[1,207]},{22:[1,208]},{22:[1,209],106:[1,210]},e(Ve,[2,123]),{22:[1,211]},{22:[1,212],26:q,52:G,66:X,67:J,91:K,105:Z,106:Q,109:ee,111:te,112:ne,115:100,117:178,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:[1,213],26:q,52:G,66:X,67:J,91:K,105:Z,106:Q,109:ee,111:te,112:ne,115:100,117:178,122:ae,123:re,124:ie,125:se,126:oe,127:de},{84:[1,214]},e(he,[2,103],{22:[1,215]}),{84:[1,216],101:[1,217]},{84:[1,218]},e(Me,[2,153]),{84:[1,219],101:[1,220]},e(le,[2,57],{116:129,52:f,66:m,67:R,91:k,95:C,105:w,106:E,109:S,111:A,112:T,122:O,123:N,124:B,125:M,126:P,127:j}),{22:me,24:Re,26:ye,38:be,41:[1,221],42:xe,52:G,66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,42:xe,52:G,56:[1,222],66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:223,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,42:xe,52:G,58:[1,224],66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,42:xe,52:G,60:[1,225],66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,42:xe,52:G,62:[1,226],66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,42:xe,52:G,64:[1,227],66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{67:[1,228]},{22:me,24:Re,26:ye,38:be,42:xe,52:G,66:X,67:J,70:[1,229],73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,42:xe,52:G,66:X,67:J,72:[1,230],73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,39:231,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,41:[1,232],42:xe,52:G,66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,42:xe,52:G,66:X,67:J,73:ve,75:[1,233],77:[1,234],81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{22:me,24:Re,26:ye,38:be,42:xe,52:G,66:X,67:J,73:ve,75:[1,236],77:[1,235],81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{9:237,20:z,21:H,23:Y},e(W,[2,52],{52:Be}),e(fe,[2,77]),e(fe,[2,76]),{22:me,24:Re,26:ye,38:be,42:xe,52:G,66:X,67:J,68:[1,238],73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(fe,[2,79]),e(Pe,[2,83]),{22:me,24:Re,26:ye,38:be,39:239,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(Ne,s,{17:240}),e(U,[2,43]),{51:241,52:f,54:46,66:m,67:R,91:k,95:C,105:w,106:E,109:S,111:A,112:T,116:47,122:O,123:N,124:B,125:M,126:P,127:j},{22:$e,66:Ue,67:ze,86:He,96:242,102:Ye,105:We,107:243,108:244,109:qe,110:Ge,111:Xe,112:Je,113:Ke},{22:$e,66:Ue,67:ze,86:He,96:256,102:Ye,105:We,107:243,108:244,109:qe,110:Ge,111:Xe,112:Je,113:Ke},{22:$e,66:Ue,67:ze,86:He,96:257,102:Ye,104:[1,258],105:We,107:243,108:244,109:qe,110:Ge,111:Xe,112:Je,113:Ke},{22:$e,66:Ue,67:ze,86:He,96:259,102:Ye,104:[1,260],105:We,107:243,108:244,109:qe,110:Ge,111:Xe,112:Je,113:Ke},{105:[1,261]},{22:$e,66:Ue,67:ze,86:He,96:262,102:Ye,105:We,107:243,108:244,109:qe,110:Ge,111:Xe,112:Je,113:Ke},{22:$e,66:Ue,67:ze,86:He,96:263,102:Ye,105:We,107:243,108:244,109:qe,110:Ge,111:Xe,112:Je,113:Ke},{26:q,52:G,66:X,67:J,91:K,97:264,105:Z,106:Q,109:ee,111:te,112:ne,115:100,117:98,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(he,[2,102]),{84:[1,265]},e(he,[2,106],{22:[1,266]}),e(he,[2,107]),e(he,[2,110]),e(he,[2,112],{22:[1,267]}),e(he,[2,113]),e(ce,[2,58]),e(ce,[2,59]),{22:me,24:Re,26:ye,38:be,42:xe,52:G,58:[1,268],66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(ce,[2,66]),e(ce,[2,61]),e(ce,[2,62]),e(ce,[2,63]),{66:[1,269]},e(ce,[2,65]),e(ce,[2,67]),{22:me,24:Re,26:ye,38:be,42:xe,52:G,66:X,67:J,72:[1,270],73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(ce,[2,69]),e(ce,[2,70]),e(ce,[2,72]),e(ce,[2,71]),e(ce,[2,73]),e(je,[2,4]),e([22,52,66,67,91,95,105,106,109,111,112,122,123,124,125,126,127],[2,81]),{22:me,24:Re,26:ye,38:be,41:[1,271],42:xe,52:G,66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{18:18,19:19,20:o,21:d,22:l,23:c,32:24,33:25,34:26,35:27,36:28,37:29,38:u,42:[1,272],43:31,44:h,46:g,48:p,50:35,51:45,52:f,54:46,66:m,67:R,86:y,87:b,88:x,89:v,90:_,91:k,95:C,105:w,106:E,109:S,111:A,112:T,116:47,118:D,119:L,120:I,121:F,122:O,123:N,124:B,125:M,126:P,127:j},e(le,[2,56]),e(he,[2,115],{106:Ze}),e(Qe,[2,125],{108:274,22:$e,66:Ue,67:ze,86:He,102:Ye,105:We,109:qe,110:Ge,111:Xe,112:Je,113:Ke}),e(et,[2,127]),e(et,[2,129]),e(et,[2,130]),e(et,[2,131]),e(et,[2,132]),e(et,[2,133]),e(et,[2,134]),e(et,[2,135]),e(et,[2,136]),e(et,[2,137]),e(et,[2,138]),e(et,[2,139]),e(he,[2,116],{106:Ze}),e(he,[2,117],{106:Ze}),{22:[1,275]},e(he,[2,118],{106:Ze}),{22:[1,276]},e(Ve,[2,124]),e(he,[2,98],{106:Ze}),e(he,[2,99],{106:Ze}),e(he,[2,100],{115:100,117:178,26:q,52:G,66:X,67:J,91:K,105:Z,106:Q,109:ee,111:te,112:ne,122:ae,123:re,124:ie,125:se,126:oe,127:de}),e(he,[2,104]),{101:[1,277]},{101:[1,278]},{58:[1,279]},{68:[1,280]},{72:[1,281]},{9:282,20:z,21:H,23:Y},e(U,[2,42]),{22:$e,66:Ue,67:ze,86:He,102:Ye,105:We,107:283,108:244,109:qe,110:Ge,111:Xe,112:Je,113:Ke},e(et,[2,128]),{26:q,52:G,66:X,67:J,91:K,97:284,105:Z,106:Q,109:ee,111:te,112:ne,115:100,117:98,122:ae,123:re,124:ie,125:se,126:oe,127:de},{26:q,52:G,66:X,67:J,91:K,97:285,105:Z,106:Q,109:ee,111:te,112:ne,115:100,117:98,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(he,[2,108]),e(he,[2,114]),e(ce,[2,60]),{22:me,24:Re,26:ye,38:be,39:286,42:xe,52:G,66:X,67:J,73:ve,81:_e,83:140,84:ke,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},e(ce,[2,68]),e(Ne,s,{17:287}),e(Qe,[2,126],{108:274,22:$e,66:Ue,67:ze,86:He,102:Ye,105:We,109:qe,110:Ge,111:Xe,112:Je,113:Ke}),e(he,[2,121],{115:100,117:178,22:[1,288],26:q,52:G,66:X,67:J,91:K,105:Z,106:Q,109:ee,111:te,112:ne,122:ae,123:re,124:ie,125:se,126:oe,127:de}),e(he,[2,122],{115:100,117:178,22:[1,289],26:q,52:G,66:X,67:J,91:K,105:Z,106:Q,109:ee,111:te,112:ne,122:ae,123:re,124:ie,125:se,126:oe,127:de}),{22:me,24:Re,26:ye,38:be,41:[1,290],42:xe,52:G,66:X,67:J,73:ve,81:_e,83:201,85:151,86:Ce,87:we,88:Ee,89:Se,90:Ae,91:Te,92:De,94:142,95:Le,105:Z,106:Q,109:Ie,111:te,112:ne,113:Fe,114:Oe,115:148,122:ae,123:re,124:ie,125:se,126:oe,127:de},{18:18,19:19,20:o,21:d,22:l,23:c,32:24,33:25,34:26,35:27,36:28,37:29,38:u,42:[1,291],43:31,44:h,46:g,48:p,50:35,51:45,52:f,54:46,66:m,67:R,86:y,87:b,88:x,89:v,90:_,91:k,95:C,105:w,106:E,109:S,111:A,112:T,116:47,118:D,119:L,120:I,121:F,122:O,123:N,124:B,125:M,126:P,127:j},{22:$e,66:Ue,67:ze,86:He,96:292,102:Ye,105:We,107:243,108:244,109:qe,110:Ge,111:Xe,112:Je,113:Ke},{22:$e,66:Ue,67:ze,86:He,96:293,102:Ye,105:We,107:243,108:244,109:qe,110:Ge,111:Xe,112:Je,113:Ke},e(ce,[2,64]),e(U,[2,41]),e(he,[2,119],{106:Ze}),e(he,[2,120],{106:Ze})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],132:[2,7]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},nt={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,a){switch(n){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:case 6:break;case 7:return this.begin("acc_title"),44;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),46;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:case 15:case 24:case 27:case 30:case 33:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 16:return"STR";case 17:return 86;case 18:return 95;case 19:return 87;case 20:return 104;case 21:return 88;case 22:return 89;case 23:this.begin("href");break;case 25:return 100;case 26:this.begin("callbackname");break;case 28:this.popState(),this.begin("callbackargs");break;case 29:return 98;case 31:return 99;case 32:this.begin("click");break;case 34:return 90;case 35:case 36:return e.lex.firstGraph()&&this.begin("dir"),24;case 37:return 38;case 38:return 42;case 39:case 40:case 41:case 42:return 101;case 43:return this.popState(),25;case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:return this.popState(),26;case 54:return 118;case 55:return 119;case 56:return 120;case 57:return 121;case 58:return 105;case 59:return 111;case 60:return 53;case 61:return 67;case 62:return 52;case 63:return 20;case 64:return 106;case 65:return 126;case 66:case 67:case 68:return 82;case 69:case 70:case 71:return 81;case 72:return 59;case 73:return 60;case 74:return 61;case 75:return 62;case 76:return 63;case 77:return 64;case 78:return 65;case 79:return 69;case 80:return 70;case 81:return 55;case 82:return 56;case 83:return 109;case 84:return 112;case 85:return 127;case 86:return 124;case 87:return 113;case 88:case 89:return 125;case 90:return 114;case 91:return 73;case 92:return 92;case 93:return"SEP";case 94:return 91;case 95:return 66;case 96:return 75;case 97:return 74;case 98:return 77;case 99:return 76;case 100:return 122;case 101:return 123;case 102:return 68;case 103:return 57;case 104:return 58;case 105:return 40;case 106:return 41;case 107:return 71;case 108:return 72;case 109:return 133;case 110:return 21;case 111:return 22;case 112:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[^\}]%%[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\])/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[30,31],inclusive:!1},callbackname:{rules:[27,28,29],inclusive:!1},href:{rules:[24,25],inclusive:!1},click:{rules:[33,34],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[43,44,45,46,47,48,49,50,51,52,53],inclusive:!1},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,5,6,7,9,11,14,17,18,19,20,21,22,23,26,32,35,36,37,38,39,40,41,42,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],inclusive:!0}}};function at(){this.yy={}}return tt.lexer=nt,at.prototype=tt,tt.Parser=at,new at}();mF.parser=mF;const RF=mF,yF=(e,t)=>{var n;return"dagre-wrapper"!==(null==(n=null==t?void 0:t.flowchart)?void 0:n.defaultRenderer)&&null!==e.match(/^\s*graph/)},bF=(e,t)=>{var n;return"dagre-wrapper"===(null==(n=null==t?void 0:t.flowchart)?void 0:n.defaultRenderer)&&null!==e.match(/^\s*graph/)||null!==e.match(/^\s*flowchart/)},xF="flowchart-";let vF,_F,kF=0,CF=ey(),wF={},EF=[],SF={},AF=[],TF={},DF={},LF=0,IF=!0,FF=[];const OF=e=>Bu.sanitizeText(e,CF),NF=function(e,t,n){rU.parseDirective(this,e,t,n)},BF=function(e){const t=Object.keys(wF);for(const n of t)if(wF[n].id===e)return wF[n].domId;return e},MF=function(e,t,n,a,r,i,s={}){let o,d=e;void 0!==d&&0!==d.trim().length&&(void 0===wF[d]&&(wF[d]={id:d,domId:xF+d+"-"+kF,styles:[],classes:[]}),kF++,void 0!==t?(CF=ey(),o=OF(t.trim()),'"'===o[0]&&'"'===o[o.length-1]&&(o=o.substring(1,o.length-1)),wF[d].text=o):void 0===wF[d].text&&(wF[d].text=e),void 0!==n&&(wF[d].type=n),null!=a&&a.forEach((function(e){wF[d].styles.push(e)})),null!=r&&r.forEach((function(e){wF[d].classes.push(e)})),void 0!==i&&(wF[d].dir=i),void 0===wF[d].props?wF[d].props=s:void 0!==s&&Object.assign(wF[d].props,s))},PF=function(e,t,n,a){const r={start:e,end:t,type:void 0,text:""};void 0!==(a=n.text)&&(r.text=OF(a.trim()),'"'===r.text[0]&&'"'===r.text[r.text.length-1]&&(r.text=r.text.substring(1,r.text.length-1))),void 0!==n&&(r.type=n.type,r.stroke=n.stroke,r.length=n.length),EF.push(r)},jF=function(e,t,n,a){let r,i;for(r=0;r<e.length;r++)for(i=0;i<t.length;i++)PF(e[r],t[i],n,a)},VF=function(e,t){e.forEach((function(e){"default"===e?EF.defaultInterpolate=t:EF[e].interpolate=t}))},$F=function(e,t){e.forEach((function(e){"default"===e?EF.defaultStyle=t:(-1===Km.isSubstringInArray("fill",t)&&t.push("fill:none"),EF[e].style=t)}))},UF=function(e,t){void 0===SF[e]&&(SF[e]={id:e,styles:[],textStyles:[]}),null!=t&&t.forEach((function(t){if(t.match("color")){const n=t.replace("fill","bgFill").replace("color","fill");SF[e].textStyles.push(n)}SF[e].styles.push(t)}))},zF=function(e){vF=e,vF.match(/.*</)&&(vF="RL"),vF.match(/.*\^/)&&(vF="BT"),vF.match(/.*>/)&&(vF="LR"),vF.match(/.*v/)&&(vF="TB")},HF=function(e,t){e.split(",").forEach((function(e){let n=e;void 0!==wF[n]&&wF[n].classes.push(t),void 0!==TF[n]&&TF[n].classes.push(t)}))},YF=function(e,t){e.split(",").forEach((function(e){void 0!==t&&(DF["gen-1"===_F?BF(e):e]=OF(t))}))},WF=function(e,t,n){let a=BF(e);if("loose"!==ey().securityLevel||void 0===t)return;let r=[];if("string"==typeof n){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<r.length;e++){let t=r[e].trim();'"'===t.charAt(0)&&'"'===t.charAt(t.length-1)&&(t=t.substr(1,t.length-2)),r[e]=t}}0===r.length&&r.push(e),void 0!==wF[e]&&(wF[e].haveCallback=!0,FF.push((function(){const e=document.querySelector(`[id="${a}"]`);null!==e&&e.addEventListener("click",(function(){Km.runFunc(t,...r)}),!1)})))},qF=function(e,t,n){e.split(",").forEach((function(e){void 0!==wF[e]&&(wF[e].link=Km.formatUrl(t,CF),wF[e].linkTarget=n)})),HF(e,"clickable")},GF=function(e){return DF[e]},XF=function(e,t,n){e.split(",").forEach((function(e){WF(e,t,n)})),HF(e,"clickable")},JF=function(e){FF.forEach((function(t){t(e)}))},KF=function(){return vF.trim()},ZF=function(){return wF},QF=function(){return EF},eO=function(){return SF},tO=function(e){let t=hn(".mermaidTooltip");null===(t._groups||t)[0][0]&&(t=hn("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),hn(e).select("svg").selectAll("g.node").on("mouseover",(function(){const e=hn(this);if(null===e.attr("title"))return;const n=this.getBoundingClientRect();t.transition().duration(200).style("opacity",".9"),t.text(e.attr("title")).style("left",window.scrollX+n.left+(n.right-n.left)/2+"px").style("top",window.scrollY+n.top-14+document.body.scrollTop+"px"),t.html(t.html().replace(/<br\/>/g,"<br/>")),e.classed("hover",!0)})).on("mouseout",(function(){t.transition().duration(500).style("opacity",0),hn(this).classed("hover",!1)}))};FF.push(tO);const nO=function(e,t,n){let a=e.trim(),r=n;function i(e){const t={boolean:{},number:{},string:{}},n=[];let a;return{nodeList:e.filter((function(e){const r=typeof e;return e.stmt&&"dir"===e.stmt?(a=e.value,!1):""!==e.trim()&&(r in t?!t[r].hasOwnProperty(e)&&(t[r][e]=!0):!n.includes(e)&&n.push(e))})),dir:a}}e===n&&n.match(/\s/)&&(a=void 0);let s=[];const{nodeList:o,dir:d}=i(s.concat.apply(s,t));if(s=o,"gen-1"===_F)for(let c=0;c<s.length;c++)s[c]=BF(s[c]);a=a||"subGraph"+LF,r=r||"",r=OF(r),LF+=1;const l={id:a,nodes:s,title:r.trim(),classes:[],dir:d};return g.info("Adding",l.id,l.nodes,l.dir),l.nodes=uO(l,AF).nodes,AF.push(l),TF[a]=l,a},aO=function(e){for(const[t,n]of AF.entries())if(n.id===e)return t;return-1};let rO=-1;const iO=[],sO=function(e,t){const n=AF[t].nodes;if(rO+=1,rO>2e3)return;if(iO[rO]=t,AF[t].id===e)return{result:!0,count:0};let a=0,r=1;for(;a<n.length;){const t=aO(n[a]);if(t>=0){const n=sO(e,t);if(n.result)return{result:!0,count:r+n.count};r+=n.count}a+=1}return{result:!1,count:r}},oO=e=>{let t=e.trim(),n="arrow_open";switch(t[0]){case"<":n="arrow_point",t=t.slice(1);break;case"x":n="arrow_cross",t=t.slice(1);break;case"o":n="arrow_circle",t=t.slice(1)}let a="normal";return t.includes("=")&&(a="thick"),t.includes(".")&&(a="dotted"),{type:n,stroke:a}},dO=(e,t)=>{const n=t.length;let a=0;for(let r=0;r<n;++r)t[r]===e&&++a;return a},lO=e=>{const t=e.trim();let n=t.slice(0,-1),a="arrow_open";switch(t.slice(-1)){case"x":a="arrow_cross","x"===t[0]&&(a="double_"+a,n=n.slice(1));break;case">":a="arrow_point","<"===t[0]&&(a="double_"+a,n=n.slice(1));break;case"o":a="arrow_circle","o"===t[0]&&(a="double_"+a,n=n.slice(1))}let r="normal",i=n.length-1;"="===n[0]&&(r="thick");let s=dO(".",n);return s&&(r="dotted",i=s),{type:a,stroke:r,length:i}},cO=(e,t)=>{let n=!1;return e.forEach((e=>{e.nodes.indexOf(t)>=0&&(n=!0)})),n},uO=(e,t)=>{const n=[];return e.nodes.forEach(((a,r)=>{cO(t,a)||n.push(e.nodes[r])})),{nodes:n}},hO={parseDirective:NF,defaultConfig:()=>zR.flowchart,setAccTitle:zy,getAccTitle:Hy,getAccDescription:Wy,setAccDescription:Yy,addVertex:MF,lookUpDomId:BF,addLink:jF,updateLinkInterpolate:VF,updateLink:$F,addClass:UF,setDirection:zF,setClass:HF,setTooltip:YF,getTooltip:GF,setClickEvent:XF,setLink:qF,bindFunctions:JF,getDirection:KF,getVertices:ZF,getEdges:QF,getClasses:eO,clear:function(e="gen-1"){wF={},SF={},EF=[],FF=[tO],AF=[],TF={},LF=0,DF=[],IF=!0,_F=e,Uy()},setGen:e=>{_F=e||"gen-1"},defaultStyle:function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},addSubGraph:nO,getDepthFirstPos:function(e){return iO[e]},indexNodes:function(){rO=-1,AF.length>0&&sO("none",AF.length-1)},getSubGraphs:function(){return AF},destructLink:(e,t)=>{const n=lO(e);let a;if(t){if(a=oO(t),a.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===a.type)a.type=n.type;else{if(a.type!==n.type)return{type:"INVALID",stroke:"INVALID"};a.type="double_"+a.type}return"double_arrow"===a.type&&(a.type="double_arrow_point"),a.length=n.length,a}return n},lex:{firstGraph:()=>!!IF&&(IF=!1,!0)},exists:cO,makeUniq:uO,setDiagramTitle:qy,getDiagramTitle:Gy};function gO(e,t){return!!e.children(t).length}function pO(e){return mO(e.v)+":"+mO(e.w)+":"+mO(e.name)}var fO=/:/g;function mO(e){return e?String(e).replace(fO,"\\:"):""}function RO(e,t){t&&e.attr("style",t)}function yO(e,t,n){t&&e.attr("class",t).attr("class",n+" "+e.attr("class"))}function bO(e,t){var n=t.graph();if(oC(n)){var a=n.transition;if(Sf(a))return a(e)}return e}var xO={normal:_O,vee:kO,undirected:CO};function vO(e){xO=e}function _O(e,t,n,a){var r=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");RO(r,n[a+"Style"]),n[a+"Class"]&&r.attr("class",n[a+"Class"])}function kO(e,t,n,a){var r=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");RO(r,n[a+"Style"]),n[a+"Class"]&&r.attr("class",n[a+"Class"])}function CO(e,t,n,a){var r=e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");RO(r,n[a+"Style"]),n[a+"Class"]&&r.attr("class",n[a+"Class"])}function wO(e,t){var n=e.append("foreignObject").attr("width","100000"),a=n.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var r=t.label;switch(typeof r){case"function":a.insert(r);break;case"object":a.insert((function(){return r}));break;default:a.html(r)}RO(a,t.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var i=a.node().getBoundingClientRect();return n.attr("width",i.width).attr("height",i.height),n}function EO(e,t){var n=e;return n.node().appendChild(t.label),RO(n,t.labelStyle),n}function SO(e,t){for(var n=e.append("text"),a=AO(t.label).split("\n"),r=0;r<a.length;r++)n.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(a[r]);return RO(n,t.labelStyle),n}function AO(e){for(var t,n="",a=!1,r=0;r<e.length;++r)t=e[r],a?(n+="n"===t?"\n":t,a=!1):"\\"===t?a=!0:n+=t;return n}function TO(e,t,n){var a=t.label,r=e.append("g");"svg"===t.labelType?EO(r,t):"string"!=typeof a||"html"===t.labelType?wO(r,t):SO(r,t);var i,s=r.node().getBBox();switch(n){case"top":i=-t.height/2;break;case"bottom":i=t.height/2-s.height;break;default:i=-s.height/2}return r.attr("transform","translate("+-s.width/2+","+i+")"),r}var DO=function(e,t){var n=t.nodes().filter((function(e){return gO(t,e)})),a=e.selectAll("g.cluster").data(n,(function(e){return e}));bO(a.exit(),t).style("opacity",0).remove();var r=a.enter().append("g").attr("class","cluster").attr("id",(function(e){return t.node(e).id})).style("opacity",0).each((function(e){var n=t.node(e),a=hn(this);hn(this).append("rect"),TO(a.append("g").attr("class","label"),n,n.clusterLabelPos)}));return(a=bO(a=a.merge(r),t).style("opacity",1)).selectAll("rect").each((function(e){var n=t.node(e);RO(hn(this),n.style)})),a};function LO(e){DO=e}let IO=function(e,t){var n=e.selectAll("g.edgeLabel").data(t.edges(),(function(e){return pO(e)})).classed("update",!0);return n.exit().remove(),n.enter().append("g").classed("edgeLabel",!0).style("opacity",0),(n=e.selectAll("g.edgeLabel")).each((function(e){var n=hn(this);n.select(".label").remove();var a=t.edge(e),r=TO(n,t.edge(e),0).classed("label",!0),i=r.node().getBBox();a.labelId&&r.attr("id",a.labelId),XS(a,"width")||(a.width=i.width),XS(a,"height")||(a.height=i.height)})),bO(n.exit?n.exit():n.selectAll(null),t).style("opacity",0).remove(),n};function FO(e){IO=e}function OO(e,t){return e.intersect(t)}var NO=function(e,t,n){var a=e.selectAll("g.edgePath").data(t.edges(),(function(e){return pO(e)})).classed("update",!0),r=$O(a,t);UO(a,t);var i=void 0!==a.merge?a.merge(r):a;return bO(i,t).style("opacity",1),i.each((function(e){var n=hn(this),a=t.edge(e);a.elem=this,a.id&&n.attr("id",a.id),yO(n,a.class,(n.classed("update")?"update ":"")+"edgePath")})),i.selectAll("path.path").each((function(e){var n=t.edge(e);n.arrowheadId=IA("arrowhead");var a=hn(this).attr("marker-end",(function(){return"url("+MO(location.href,n.arrowheadId)+")"})).style("fill","none");bO(a,t).attr("d",(function(e){return PO(t,e)})),RO(a,n.style)})),i.selectAll("defs *").remove(),i.selectAll("defs").each((function(e){var a=t.edge(e);(0,n[a.arrowhead])(hn(this),a.arrowheadId,a,"arrowhead")})),i};function BO(e){NO=e}function MO(e,t){return e.split("#")[0]+"#"+t}function PO(e,t){var n=e.edge(t),a=e.node(t.v),r=e.node(t.w),i=n.points.slice(1,n.points.length-1);return i.unshift(OO(a,i[0])),i.push(OO(r,i[i.length-1])),jO(n,i)}function jO(e,t){var n=(Ul||Zi.line)().x((function(e){return e.x})).y((function(e){return e.y}));return(n.curve||n.interpolate)(e.curve),n(t)}function VO(e){var t=e.getBBox(),n=e.ownerSVGElement.getScreenCTM().inverse().multiply(e.getScreenCTM()).translate(t.width/2,t.height/2);return{x:n.e,y:n.f}}function $O(e,t){var n=e.enter().append("g").attr("class","edgePath").style("opacity",0);return n.append("path").attr("class","path").attr("d",(function(e){var n=t.edge(e),a=t.node(e.v).elem;return jO(n,_A(n.points.length).map((function(){return VO(a)})))})),n.append("defs"),n}function UO(e,t){bO(e.exit(),t).style("opacity",0).remove()}var zO=function(e,t,n){var a=t.nodes().filter((function(e){return!gO(t,e)})),r=e.selectAll("g.node").data(a,(function(e){return e})).classed("update",!0);return r.exit().remove(),r.enter().append("g").attr("class","node").style("opacity",0),(r=e.selectAll("g.node")).each((function(e){var a=t.node(e),r=hn(this);yO(r,a.class,(r.classed("update")?"update ":"")+"node"),r.select("g.label").remove();var i=r.append("g").attr("class","label"),s=TO(i,a),o=n[a.shape],d=RA(s.node().getBBox(),"width","height");a.elem=this,a.id&&r.attr("id",a.id),a.labelId&&i.attr("id",a.labelId),XS(a,"width")&&(d.width=a.width),XS(a,"height")&&(d.height=a.height),d.width+=a.paddingLeft+a.paddingRight,d.height+=a.paddingTop+a.paddingBottom,i.attr("transform","translate("+(a.paddingLeft-a.paddingRight)/2+","+(a.paddingTop-a.paddingBottom)/2+")");var l=hn(this);l.select(".label-container").remove();var c=o(l,d,a).classed("label-container",!0);RO(c,a.style);var u=c.node().getBBox();a.width=u.width,a.height=u.height})),bO(r.exit?r.exit():r.selectAll(null),t).style("opacity",0).remove(),r};function HO(e){zO=e}function YO(e,t){var n=e.filter((function(){return!hn(this).classed("update")}));function a(e){var n=t.node(e);return"translate("+n.x+","+n.y+")"}n.attr("transform",a),bO(e,t).style("opacity",1).attr("transform",a),bO(n.selectAll("rect"),t).attr("width",(function(e){return t.node(e).width})).attr("height",(function(e){return t.node(e).height})).attr("x",(function(e){return-t.node(e).width/2})).attr("y",(function(e){return-t.node(e).height/2}))}function WO(e,t){function n(e){var n=t.edge(e);return XS(n,"x")?"translate("+n.x+","+n.y+")":""}e.filter((function(){return!hn(this).classed("update")})).attr("transform",n),bO(e,t).style("opacity",1).attr("transform",n)}function qO(e,t){function n(e){var n=t.node(e);return"translate("+n.x+","+n.y+")"}e.filter((function(){return!hn(this).classed("update")})).attr("transform",n),bO(e,t).style("opacity",1).attr("transform",n)}function GO(e,t,n,a){var r=e.x,i=e.y,s=r-a.x,o=i-a.y,d=Math.sqrt(t*t*o*o+n*n*s*s),l=Math.abs(t*n*s/d);a.x<r&&(l=-l);var c=Math.abs(t*n*o/d);return a.y<i&&(c=-c),{x:r+l,y:i+c}}function XO(e,t,n){return GO(e,t,t,n)}function JO(e,t,n,a){var r,i,s,o,d,l,c,u,h,g,p,f,m;if(r=t.y-e.y,s=e.x-t.x,d=t.x*e.y-e.x*t.y,h=r*n.x+s*n.y+d,g=r*a.x+s*a.y+d,!(0!==h&&0!==g&&KO(h,g)||(i=a.y-n.y,o=n.x-a.x,l=a.x*n.y-n.x*a.y,c=i*e.x+o*e.y+l,u=i*t.x+o*t.y+l,0!==c&&0!==u&&KO(c,u)||(p=r*o-i*s,0===p))))return f=Math.abs(p/2),{x:(m=s*l-o*d)<0?(m-f)/p:(m+f)/p,y:(m=i*d-r*l)<0?(m-f)/p:(m+f)/p}}function KO(e,t){return e*t>0}function ZO(e,t,n){var a=e.x,r=e.y,i=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;t.forEach((function(e){s=Math.min(s,e.x),o=Math.min(o,e.y)}));for(var d=a-e.width/2-s,l=r-e.height/2-o,c=0;c<t.length;c++){var u=t[c],h=t[c<t.length-1?c+1:0],g=JO(e,n,{x:d+u.x,y:l+u.y},{x:d+h.x,y:l+h.y});g&&i.push(g)}return i.length?(i.length>1&&i.sort((function(e,t){var a=e.x-n.x,r=e.y-n.y,i=Math.sqrt(a*a+r*r),s=t.x-n.x,o=t.y-n.y,d=Math.sqrt(s*s+o*o);return i<d?-1:i===d?0:1})),i[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",e),e)}function QO(e,t){var n,a,r=e.x,i=e.y,s=t.x-r,o=t.y-i,d=e.width/2,l=e.height/2;return Math.abs(o)*d>Math.abs(s)*l?(o<0&&(l=-l),n=0===o?0:l*s/o,a=l):(s<0&&(d=-d),n=d,a=0===s?0:d*o/s),{x:r+n,y:i+a}}var eN={rect:nN,ellipse:aN,circle:rN,diamond:iN};function tN(e){eN=e}function nN(e,t,n){var a=e.insert("rect",":first-child").attr("rx",n.rx).attr("ry",n.ry).attr("x",-t.width/2).attr("y",-t.height/2).attr("width",t.width).attr("height",t.height);return n.intersect=function(e){return QO(n,e)},a}function aN(e,t,n){var a=t.width/2,r=t.height/2,i=e.insert("ellipse",":first-child").attr("x",-t.width/2).attr("y",-t.height/2).attr("rx",a).attr("ry",r);return n.intersect=function(e){return GO(n,a,r,e)},i}function rN(e,t,n){var a=Math.max(t.width,t.height)/2,r=e.insert("circle",":first-child").attr("x",-t.width/2).attr("y",-t.height/2).attr("r",a);return n.intersect=function(e){return XO(n,a,e)},r}function iN(e,t,n){var a=t.width*Math.SQRT2/2,r=t.height*Math.SQRT2/2,i=[{x:0,y:-r},{x:-a,y:0},{x:0,y:r},{x:a,y:0}],s=e.insert("polygon",":first-child").attr("points",i.map((function(e){return e.x+","+e.y})).join(" "));return n.intersect=function(e){return ZO(n,i,e)},s}function sN(){var e=function(e,t){lN(t);var n=uN(e,"output"),a=uN(n,"clusters"),r=uN(n,"edgePaths"),i=IO(uN(n,"edgeLabels"),t),s=zO(uN(n,"nodes"),t,eN);pD(t),qO(s,t),WO(i,t),NO(r,t,xO),YO(DO(a,t),t),cN(t)};return e.createNodes=function(t){return arguments.length?(HO(t),e):zO},e.createClusters=function(t){return arguments.length?(LO(t),e):DO},e.createEdgeLabels=function(t){return arguments.length?(FO(t),e):IO},e.createEdgePaths=function(t){return arguments.length?(BO(t),e):NO},e.shapes=function(t){return arguments.length?(tN(t),e):eN},e.arrows=function(t){return arguments.length?(vO(t),e):xO},e}var oN={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},dN={arrowhead:"normal",curve:jl};function lN(e){e.nodes().forEach((function(t){var n=e.node(t);!XS(n,"label")&&!e.children(t).length&&(n.label=t),XS(n,"paddingX")&&ES(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),XS(n,"paddingY")&&ES(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),XS(n,"padding")&&ES(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),ES(n,oN),BS(["paddingLeft","paddingRight","paddingTop","paddingBottom"],(function(e){n[e]=Number(n[e])})),XS(n,"width")&&(n._prevWidth=n.width),XS(n,"height")&&(n._prevHeight=n.height)})),e.edges().forEach((function(t){var n=e.edge(t);XS(n,"label")||(n.label=""),ES(n,dN)}))}function cN(e){BS(e.nodes(),(function(t){var n=e.node(t);XS(n,"_prevWidth")?n.width=n._prevWidth:delete n.width,XS(n,"_prevHeight")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight}))}function uN(e,t){var n=e.select("g."+t);return n.empty()&&(n=e.append("g").attr("class",t)),n}function hN(e,t,n){const a=.9*(t.width+t.height),r=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],i=wN(e,a,a,r);return n.intersect=function(e){return ZO(n,r,e)},i}function gN(e,t,n){const a=t.height,r=a/4,i=t.width+2*r,s=[{x:r,y:0},{x:i-r,y:0},{x:i,y:-a/2},{x:i-r,y:-a},{x:r,y:-a},{x:0,y:-a/2}],o=wN(e,i,a,s);return n.intersect=function(e){return ZO(n,s,e)},o}function pN(e,t,n){const a=t.width,r=t.height,i=[{x:-r/2,y:0},{x:a,y:0},{x:a,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}],s=wN(e,a,r,i);return n.intersect=function(e){return ZO(n,i,e)},s}function fN(e,t,n){const a=t.width,r=t.height,i=[{x:-2*r/6,y:0},{x:a-r/6,y:0},{x:a+2*r/6,y:-r},{x:r/6,y:-r}],s=wN(e,a,r,i);return n.intersect=function(e){return ZO(n,i,e)},s}function mN(e,t,n){const a=t.width,r=t.height,i=[{x:2*r/6,y:0},{x:a+r/6,y:0},{x:a-2*r/6,y:-r},{x:-r/6,y:-r}],s=wN(e,a,r,i);return n.intersect=function(e){return ZO(n,i,e)},s}function RN(e,t,n){const a=t.width,r=t.height,i=[{x:-2*r/6,y:0},{x:a+2*r/6,y:0},{x:a-r/6,y:-r},{x:r/6,y:-r}],s=wN(e,a,r,i);return n.intersect=function(e){return ZO(n,i,e)},s}function yN(e,t,n){const a=t.width,r=t.height,i=[{x:r/6,y:0},{x:a-r/6,y:0},{x:a+2*r/6,y:-r},{x:-2*r/6,y:-r}],s=wN(e,a,r,i);return n.intersect=function(e){return ZO(n,i,e)},s}function bN(e,t,n){const a=t.width,r=t.height,i=[{x:0,y:0},{x:a+r/2,y:0},{x:a,y:-r/2},{x:a+r/2,y:-r},{x:0,y:-r}],s=wN(e,a,r,i);return n.intersect=function(e){return ZO(n,i,e)},s}function xN(e,t,n){const a=t.height,r=t.width+a/4,i=e.insert("rect",":first-child").attr("rx",a/2).attr("ry",a/2).attr("x",-r/2).attr("y",-a/2).attr("width",r).attr("height",a);return n.intersect=function(e){return QO(n,e)},i}function vN(e,t,n){const a=t.width,r=t.height,i=[{x:0,y:0},{x:a,y:0},{x:a,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],s=wN(e,a,r,i);return n.intersect=function(e){return ZO(n,i,e)},s}function _N(e,t,n){const a=t.width,r=a/2,i=r/(2.5+a/50),s=t.height+i,o="M 0,"+i+" a "+r+","+i+" 0,0,0 "+a+" 0 a "+r+","+i+" 0,0,0 "+-a+" 0 l 0,"+s+" a "+r+","+i+" 0,0,0 "+a+" 0 l 0,"+-s,d=e.attr("label-offset-y",i).insert("path",":first-child").attr("d",o).attr("transform","translate("+-a/2+","+-(s/2+i)+")");return n.intersect=function(e){const t=QO(n,e),a=t.x-n.x;if(0!=r&&(Math.abs(a)<n.width/2||Math.abs(a)==n.width/2&&Math.abs(t.y-n.y)>n.height/2-i)){let s=i*i*(1-a*a/(r*r));0!=s&&(s=Math.sqrt(s)),s=i-s,e.y-n.y>0&&(s=-s),t.y+=s}return t},d}function kN(e){e.shapes().question=hN,e.shapes().hexagon=gN,e.shapes().stadium=xN,e.shapes().subroutine=vN,e.shapes().cylinder=_N,e.shapes().rect_left_inv_arrow=pN,e.shapes().lean_right=fN,e.shapes().lean_left=mN,e.shapes().trapezoid=RN,e.shapes().inv_trapezoid=yN,e.shapes().rect_right_inv_arrow=bN}function CN(e){e({question:hN}),e({hexagon:gN}),e({stadium:xN}),e({subroutine:vN}),e({cylinder:_N}),e({rect_left_inv_arrow:pN}),e({lean_right:fN}),e({lean_left:mN}),e({trapezoid:RN}),e({inv_trapezoid:yN}),e({rect_right_inv_arrow:bN})}function wN(e,t,n,a){return e.insert("polygon",":first-child").attr("points",a.map((function(e){return e.x+","+e.y})).join(" ")).attr("transform","translate("+-t/2+","+n/2+")")}const EN={addToRender:kN,addToRenderV2:CN},SN={},AN=function(e,t,n,a,r,i){const s=a?a.select(`[id="${n}"]`):hn(`[id="${n}"]`),o=r||document;Object.keys(e).forEach((function(n){const a=e[n];let r="default";a.classes.length>0&&(r=a.classes.join(" "));const d=Om(a.styles);let l,c=void 0!==a.text?a.text:a.id;if(Ou(ey().flowchart.htmlLabels)){const e={label:c.replace(/fa[blrs]?:fa-[\w-]+/g,(e=>`<i class='${e.replace(":"," ")}'></i>`))};l=wO(s,e).node(),l.parentNode.removeChild(l)}else{const e=o.createElementNS("http://www.w3.org/2000/svg","text");e.setAttribute("style",d.labelStyle.replace("color:","fill:"));const t=c.split(Bu.lineBreakRegex);for(const n of t){const t=o.createElementNS("http://www.w3.org/2000/svg","tspan");t.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),t.setAttribute("dy","1em"),t.setAttribute("x","1"),t.textContent=n,e.appendChild(t)}l=e}let u=0,h="";switch(a.type){case"round":u=5,h="rect";break;case"square":case"group":default:h="rect";break;case"diamond":h="question";break;case"hexagon":h="hexagon";break;case"odd":case"odd_right":h="rect_left_inv_arrow";break;case"lean_right":h="lean_right";break;case"lean_left":h="lean_left";break;case"trapezoid":h="trapezoid";break;case"inv_trapezoid":h="inv_trapezoid";break;case"circle":h="circle";break;case"ellipse":h="ellipse";break;case"stadium":h="stadium";break;case"subroutine":h="subroutine";break;case"cylinder":h="cylinder"}g.warn("Adding node",a.id,a.domId),t.setNode(i.db.lookUpDomId(a.id),{labelType:"svg",labelStyle:d.labelStyle,shape:h,label:l,rx:u,ry:u,class:r,style:d.style,id:i.db.lookUpDomId(a.id)})}))},TN=function(e,t,n){let a,r,i=0;if(void 0!==e.defaultStyle){const t=Om(e.defaultStyle);a=t.style,r=t.labelStyle}e.forEach((function(s){i++;var o="L-"+s.start+"-"+s.end,d="LS-"+s.start,l="LE-"+s.end;const c={};"arrow_open"===s.type?c.arrowhead="none":c.arrowhead="normal";let u="",h="";if(void 0!==s.style){const e=Om(s.style);u=e.style,h=e.labelStyle}else switch(s.stroke){case"normal":u="fill:none",void 0!==a&&(u=a),void 0!==r&&(h=r);break;case"dotted":u="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":u=" stroke-width: 3.5px;fill:none"}c.style=u,c.labelStyle=h,void 0!==s.interpolate?c.curve=Em(s.interpolate,jl):void 0!==e.defaultInterpolate?c.curve=Em(e.defaultInterpolate,jl):c.curve=Em(SN.curve,jl),void 0===s.text?void 0!==s.style&&(c.arrowheadStyle="fill: #333"):(c.arrowheadStyle="fill: #333",c.labelpos="c",Ou(ey().flowchart.htmlLabels)?(c.labelType="html",c.label=`<span id="L-${o}" class="edgeLabel L-${d}' L-${l}" style="${c.labelStyle}">${s.text.replace(/fa[blrs]?:fa-[\w-]+/g,(e=>`<i class='${e.replace(":"," ")}'></i>`))}</span>`):(c.labelType="text",c.label=s.text.replace(Bu.lineBreakRegex,"\n"),void 0===s.style&&(c.style=c.style||"stroke: #333; stroke-width: 1.5px;fill:none"),c.labelStyle=c.labelStyle.replace("color:","fill:"))),c.id=o,c.class=d+" "+l,c.minlen=s.length||1,t.setEdge(n.db.lookUpDomId(s.start),n.db.lookUpDomId(s.end),c,i)}))},DN={setConf:function(e){const t=Object.keys(e);for(const n of t)SN[n]=e[n]},addVertices:AN,addEdges:TN,getClasses:function(e,t){g.info("Extracting classes"),t.db.clear();try{return t.parse(e),t.db.getClasses()}catch(n){return g.error(n),{}}},draw:function(e,t,n,a){g.info("Drawing flowchart"),a.db.clear();const{securityLevel:r,flowchart:i}=ey();let s;"sandbox"===r&&(s=hn("#i"+t));const o=hn("sandbox"===r?s.nodes()[0].contentDocument.body:"body"),d="sandbox"===r?s.nodes()[0].contentDocument:document;try{a.parser.parse(e)}catch{g.debug("Parsing failed")}let l=a.db.getDirection();void 0===l&&(l="TD");const c=i.nodeSpacing||50,u=i.rankSpacing||50,h=new PA({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:c,ranksep:u,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));let p;const f=a.db.getSubGraphs();for(let g=f.length-1;g>=0;g--)p=f[g],a.db.addVertex(p.id,p.title,"group",void 0,p.classes);const m=a.db.getVertices();g.warn("Get vertices",m);const R=a.db.getEdges();let y=0;for(y=f.length-1;y>=0;y--){p=f[y],gn("cluster").append("text");for(let e=0;e<p.nodes.length;e++)g.warn("Setting subgraph",p.nodes[e],a.db.lookUpDomId(p.nodes[e]),a.db.lookUpDomId(p.id)),h.setParent(a.db.lookUpDomId(p.nodes[e]),a.db.lookUpDomId(p.id))}AN(m,h,t,o,d,a),TN(R,h,a);const b=new sN;EN.addToRender(b),b.arrows().none=function(e,t,n,a){RO(e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 0 0 L 0 0 z"),n[a+"Style"])},b.arrows().normal=function(e,t){e.append("marker").attr("id",t).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};const x=o.select(`[id="${t}"]`),v=o.select("#"+t+" g");for(b(v,h),v.selectAll("g.node").attr("title",(function(){return a.db.getTooltip(this.id)})),a.db.indexNodes("subGraph"+y),y=0;y<f.length;y++)if(p=f[y],"undefined"!==p.title){const e=d.querySelectorAll("#"+t+' [id="'+a.db.lookUpDomId(p.id)+'"] rect'),n=d.querySelectorAll("#"+t+' [id="'+a.db.lookUpDomId(p.id)+'"]'),r=e[0].x.baseVal.value,i=e[0].y.baseVal.value,s=e[0].width.baseVal.value,o=hn(n[0]).select(".label");o.attr("transform",`translate(${r+s/2}, ${i+14})`),o.attr("id",t+"Text");for(let t=0;t<p.classes.length;t++)n[0].classList.add(p.classes[t])}if(!i.htmlLabels){const e=d.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const t of e){const e=t.getBBox(),n=d.createElementNS("http://www.w3.org/2000/svg","rect");n.setAttribute("rx",0),n.setAttribute("ry",0),n.setAttribute("width",e.width),n.setAttribute("height",e.height),t.insertBefore(n,t.firstChild)}}uy(h,x,i.diagramPadding,i.useMaxWidth),Object.keys(m).forEach((function(e){const n=m[e];if(n.link){const i=o.select("#"+t+' [id="'+a.db.lookUpDomId(e)+'"]');if(i){const e=d.createElementNS("http://www.w3.org/2000/svg","a");e.setAttributeNS("http://www.w3.org/2000/svg","class",n.classes.join(" ")),e.setAttributeNS("http://www.w3.org/2000/svg","href",n.link),e.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===r?e.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):n.linkTarget&&e.setAttributeNS("http://www.w3.org/2000/svg","target",n.linkTarget);const t=i.insert((function(){return e}),":first-child"),a=i.select(".label-container");a&&t.append((function(){return a.node()}));const s=i.select(".label");s&&t.append((function(){return s.node()}))}}}))}},LN={},IN=function(e,t,n,a,r,i){const s=a.select(`[id="${n}"]`);Object.keys(e).forEach((function(n){const a=e[n];let o="default";a.classes.length>0&&(o=a.classes.join(" "));const d=Om(a.styles);let l,c=void 0!==a.text?a.text:a.id;if(Ou(ey().flowchart.htmlLabels)){const e={label:c.replace(/fa[blrs]?:fa-[\w-]+/g,(e=>`<i class='${e.replace(":"," ")}'></i>`))};l=wO(s,e).node(),l.parentNode.removeChild(l)}else{const e=r.createElementNS("http://www.w3.org/2000/svg","text");e.setAttribute("style",d.labelStyle.replace("color:","fill:"));const t=c.split(Bu.lineBreakRegex);for(const n of t){const t=r.createElementNS("http://www.w3.org/2000/svg","tspan");t.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),t.setAttribute("dy","1em"),t.setAttribute("x","1"),t.textContent=n,e.appendChild(t)}l=e}let u=0,h="";switch(a.type){case"round":u=5,h="rect";break;case"square":case"group":default:h="rect";break;case"diamond":h="question";break;case"hexagon":h="hexagon";break;case"odd":case"odd_right":h="rect_left_inv_arrow";break;case"lean_right":h="lean_right";break;case"lean_left":h="lean_left";break;case"trapezoid":h="trapezoid";break;case"inv_trapezoid":h="inv_trapezoid";break;case"circle":h="circle";break;case"ellipse":h="ellipse";break;case"stadium":h="stadium";break;case"subroutine":h="subroutine";break;case"cylinder":h="cylinder";break;case"doublecircle":h="doublecircle"}t.setNode(a.id,{labelStyle:d.labelStyle,shape:h,labelText:c,rx:u,ry:u,class:o,style:d.style,id:a.id,link:a.link,linkTarget:a.linkTarget,tooltip:i.db.getTooltip(a.id)||"",domId:i.db.lookUpDomId(a.id),haveCallback:a.haveCallback,width:"group"===a.type?500:void 0,dir:a.dir,type:a.type,props:a.props,padding:ey().flowchart.padding}),g.info("setNode",{labelStyle:d.labelStyle,shape:h,labelText:c,rx:u,ry:u,class:o,style:d.style,id:a.id,domId:i.db.lookUpDomId(a.id),width:"group"===a.type?500:void 0,type:a.type,dir:a.dir,props:a.props,padding:ey().flowchart.padding})}))},FN=function(e,t,n){g.info("abc78 edges = ",e);let a,r,i=0,s={};if(void 0!==e.defaultStyle){const t=Om(e.defaultStyle);a=t.style,r=t.labelStyle}e.forEach((function(n){i++;var o="L-"+n.start+"-"+n.end;void 0===s[o]?(s[o]=0,g.info("abc78 new entry",o,s[o])):(s[o]++,g.info("abc78 new entry",o,s[o]));let d=o+"-"+s[o];g.info("abc78 new link id to be used is",o,d,s[o]);var l="LS-"+n.start,c="LE-"+n.end;const u={style:"",labelStyle:""};switch(u.minlen=n.length||1,"arrow_open"===n.type?u.arrowhead="none":u.arrowhead="normal",u.arrowTypeStart="arrow_open",u.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":u.arrowTypeStart="arrow_cross";case"arrow_cross":u.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":u.arrowTypeStart="arrow_point";case"arrow_point":u.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":u.arrowTypeStart="arrow_circle";case"arrow_circle":u.arrowTypeEnd="arrow_circle"}let h="",p="";switch(n.stroke){case"normal":h="fill:none;",void 0!==a&&(h=a),void 0!==r&&(p=r),u.thickness="normal",u.pattern="solid";break;case"dotted":u.thickness="normal",u.pattern="dotted",u.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":u.thickness="thick",u.pattern="solid",u.style="stroke-width: 3.5px;fill:none;"}if(void 0!==n.style){const e=Om(n.style);h=e.style,p=e.labelStyle}u.style=u.style+=h,u.labelStyle=u.labelStyle+=p,void 0!==n.interpolate?u.curve=Em(n.interpolate,jl):void 0!==e.defaultInterpolate?u.curve=Em(e.defaultInterpolate,jl):u.curve=Em(LN.curve,jl),void 0===n.text?void 0!==n.style&&(u.arrowheadStyle="fill: #333"):(u.arrowheadStyle="fill: #333",u.labelpos="c"),u.labelType="text",u.label=n.text.replace(Bu.lineBreakRegex,"\n"),void 0===n.style&&(u.style=u.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),u.labelStyle=u.labelStyle.replace("color:","fill:"),u.id=d,u.classes="flowchart-link "+l+" "+c,t.setEdge(n.start,n.end,u,i)}))},ON={setConf:function(e){const t=Object.keys(e);for(const n of t)LN[n]=e[n]},addVertices:IN,addEdges:FN,getClasses:function(e,t){g.info("Extracting classes"),t.db.clear();try{return t.parse(e),t.db.getClasses()}catch{return}},draw:function(e,t,n,a){g.info("Drawing flowchart"),a.db.clear(),hO.setGen("gen-2"),a.parser.parse(e);let r=a.db.getDirection();void 0===r&&(r="TD");const{securityLevel:i,flowchart:s}=ey(),o=s.nodeSpacing||50,d=s.rankSpacing||50;let l;"sandbox"===i&&(l=hn("#i"+t));const c=hn("sandbox"===i?l.nodes()[0].contentDocument.body:"body"),u="sandbox"===i?l.nodes()[0].contentDocument:document,h=new PA({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:o,ranksep:d,marginx:0,marginy:0}).setDefaultEdgeLabel((function(){return{}}));let p;const f=a.db.getSubGraphs();g.info("Subgraphs - ",f);for(let v=f.length-1;v>=0;v--)p=f[v],g.info("Subgraph - ",p),a.db.addVertex(p.id,p.title,"group",void 0,p.classes,p.dir);const m=a.db.getVertices(),R=a.db.getEdges();g.info(R);let y=0;for(y=f.length-1;y>=0;y--){p=f[y],gn("cluster").append("text");for(let e=0;e<p.nodes.length;e++)g.info("Setting up subgraphs",p.nodes[e],p.id),h.setParent(p.nodes[e],p.id)}IN(m,h,t,c,u,a),FN(R,h);const b=c.select(`[id="${t}"]`),x=c.select("#"+t+" g");if(FI(x,h,["point","circle","cross"],"flowchart",t),Km.insertTitle(b,"flowchartTitleText",s.titleTopMargin,a.db.getDiagramTitle()),uy(h,b,s.diagramPadding,s.useMaxWidth),a.db.indexNodes("subGraph"+y),!s.htmlLabels){const e=u.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const t of e){const e=t.getBBox(),n=u.createElementNS("http://www.w3.org/2000/svg","rect");n.setAttribute("rx",0),n.setAttribute("ry",0),n.setAttribute("width",e.width),n.setAttribute("height",e.height),t.insertBefore(n,t.firstChild)}}Object.keys(m).forEach((function(e){const n=m[e];if(n.link){const a=hn("#"+t+' [id="'+e+'"]');if(a){const e=u.createElementNS("http://www.w3.org/2000/svg","a");e.setAttributeNS("http://www.w3.org/2000/svg","class",n.classes.join(" ")),e.setAttributeNS("http://www.w3.org/2000/svg","href",n.link),e.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===i?e.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):n.linkTarget&&e.setAttributeNS("http://www.w3.org/2000/svg","target",n.linkTarget);const t=a.insert((function(){return e}),":first-child"),r=a.select(".label-container");r&&t.append((function(){return r.node()}));const s=a.select(".label");s&&t.append((function(){return s.node()}))}}}))}};var NN=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,3],n=[1,5],a=[7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],r=[1,15],i=[1,16],s=[1,17],o=[1,18],d=[1,19],l=[1,20],c=[1,21],u=[1,22],h=[1,23],g=[1,24],p=[1,25],f=[1,26],m=[1,27],R=[1,29],y=[1,31],b=[1,34],x=[5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],v={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,topAxis:14,axisFormat:15,tickInterval:16,excludes:17,includes:18,todayMarker:19,title:20,acc_title:21,acc_title_value:22,acc_descr:23,acc_descr_value:24,acc_descr_multiline_value:25,section:26,clickStatement:27,taskTxt:28,taskData:29,openDirective:30,typeDirective:31,closeDirective:32,":":33,argDirective:34,click:35,callbackname:36,callbackargs:37,href:38,clickStatementDebug:39,open_directive:40,type_directive:41,arg_directive:42,close_directive:43,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"tickInterval",17:"excludes",18:"includes",19:"todayMarker",20:"title",21:"acc_title",22:"acc_title_value",23:"acc_descr",24:"acc_descr_value",25:"acc_descr_multiline_value",26:"section",28:"taskTxt",29:"taskData",33:":",35:"click",36:"callbackname",37:"callbackargs",38:"href",40:"open_directive",41:"type_directive",42:"arg_directive",43:"close_directive"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[27,2],[27,3],[27,3],[27,4],[27,3],[27,4],[27,2],[39,2],[39,3],[39,3],[39,4],[39,3],[39,4],[39,2],[30,1],[31,1],[34,1],[32,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 2:return i[o-1];case 3:case 7:case 8:this.$=[];break;case 4:i[o-1].push(i[o]),this.$=i[o-1];break;case 5:case 6:this.$=i[o];break;case 9:a.setDateFormat(i[o].substr(11)),this.$=i[o].substr(11);break;case 10:a.enableInclusiveEndDates(),this.$=i[o].substr(18);break;case 11:a.TopAxis(),this.$=i[o].substr(8);break;case 12:a.setAxisFormat(i[o].substr(11)),this.$=i[o].substr(11);break;case 13:a.setTickInterval(i[o].substr(13)),this.$=i[o].substr(13);break;case 14:a.setExcludes(i[o].substr(9)),this.$=i[o].substr(9);break;case 15:a.setIncludes(i[o].substr(9)),this.$=i[o].substr(9);break;case 16:a.setTodayMarker(i[o].substr(12)),this.$=i[o].substr(12);break;case 17:a.setDiagramTitle(i[o].substr(6)),this.$=i[o].substr(6);break;case 18:this.$=i[o].trim(),a.setAccTitle(this.$);break;case 19:case 20:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 21:a.addSection(i[o].substr(8)),this.$=i[o].substr(8);break;case 23:a.addTask(i[o-1],i[o]),this.$="task";break;case 27:this.$=i[o-1],a.setClickEvent(i[o-1],i[o],null);break;case 28:this.$=i[o-2],a.setClickEvent(i[o-2],i[o-1],i[o]);break;case 29:this.$=i[o-2],a.setClickEvent(i[o-2],i[o-1],null),a.setLink(i[o-2],i[o]);break;case 30:this.$=i[o-3],a.setClickEvent(i[o-3],i[o-2],i[o-1]),a.setLink(i[o-3],i[o]);break;case 31:this.$=i[o-2],a.setClickEvent(i[o-2],i[o],null),a.setLink(i[o-2],i[o-1]);break;case 32:this.$=i[o-3],a.setClickEvent(i[o-3],i[o-1],i[o]),a.setLink(i[o-3],i[o-2]);break;case 33:this.$=i[o-1],a.setLink(i[o-1],i[o]);break;case 34:case 40:this.$=i[o-1]+" "+i[o];break;case 35:case 36:case 38:this.$=i[o-2]+" "+i[o-1]+" "+i[o];break;case 37:case 39:this.$=i[o-3]+" "+i[o-2]+" "+i[o-1]+" "+i[o];break;case 41:a.parseDirective("%%{","open_directive");break;case 42:a.parseDirective(i[o],"type_directive");break;case 43:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 44:a.parseDirective("}%%","close_directive","gantt")}},table:[{3:1,4:2,5:t,30:4,40:n},{1:[3]},{3:6,4:2,5:t,30:4,40:n},e(a,[2,3],{6:7}),{31:8,41:[1,9]},{41:[2,41]},{1:[2,1]},{4:30,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:r,13:i,14:s,15:o,16:d,17:l,18:c,19:u,20:h,21:g,23:p,25:f,26:m,27:28,28:R,30:4,35:y,40:n},{32:32,33:[1,33],43:b},e([33,43],[2,42]),e(a,[2,8],{1:[2,2]}),e(a,[2,4]),{4:30,10:35,12:r,13:i,14:s,15:o,16:d,17:l,18:c,19:u,20:h,21:g,23:p,25:f,26:m,27:28,28:R,30:4,35:y,40:n},e(a,[2,6]),e(a,[2,7]),e(a,[2,9]),e(a,[2,10]),e(a,[2,11]),e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(a,[2,16]),e(a,[2,17]),{22:[1,36]},{24:[1,37]},e(a,[2,20]),e(a,[2,21]),e(a,[2,22]),{29:[1,38]},e(a,[2,24]),{36:[1,39],38:[1,40]},{11:[1,41]},{34:42,42:[1,43]},{11:[2,44]},e(a,[2,5]),e(a,[2,18]),e(a,[2,19]),e(a,[2,23]),e(a,[2,27],{37:[1,44],38:[1,45]}),e(a,[2,33],{36:[1,46]}),e(x,[2,25]),{32:47,43:b},{43:[2,43]},e(a,[2,28],{38:[1,48]}),e(a,[2,29]),e(a,[2,31],{37:[1,49]}),{11:[1,50]},e(a,[2,30]),e(a,[2,32]),e(x,[2,26])],defaultActions:{5:[2,41],6:[2,1],34:[2,44],43:[2,43]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},_={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,a){switch(n){case 0:return this.begin("open_directive"),40;case 1:return this.begin("type_directive"),41;case 2:return this.popState(),this.begin("arg_directive"),33;case 3:return this.popState(),this.popState(),43;case 4:return 42;case 5:return this.begin("acc_title"),21;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),23;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:case 20:case 23:case 26:case 29:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:case 13:case 14:case 16:case 17:case 18:break;case 15:return 11;case 19:this.begin("href");break;case 21:return 38;case 22:this.begin("callbackname");break;case 24:this.popState(),this.begin("callbackargs");break;case 25:return 36;case 27:return 37;case 28:this.begin("click");break;case 30:return 35;case 31:return 5;case 32:return 12;case 33:return 13;case 34:return 14;case 35:return 15;case 36:return 16;case 37:return 18;case 38:return 17;case 39:return 19;case 40:return"date";case 41:return 20;case 42:return"accDescription";case 43:return 26;case 44:return 28;case 45:return 29;case 46:return 33;case 47:return 7;case 48:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[26,27],inclusive:!1},callbackname:{rules:[23,24,25],inclusive:!1},href:{rules:[20,21],inclusive:!1},click:{rules:[29,30],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,22,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};function k(){this.yy={}}return v.lexer=_,k.prototype=v,v.Parser=k,new k}();NN.parser=NN;const BN=NN,MN=e=>null!==e.match(/^\s*gantt/);let PN,jN="",VN="",$N="",UN=[],zN=[],HN={},YN=[],WN=[],qN="";const GN=["active","done","crit","milestone"];let XN=[],JN=!1,KN=!1,ZN=0;const QN=function(){YN=[],WN=[],qN="",XN=[],oB=0,uB=void 0,hB=void 0,gB=[],jN="",VN="",PN=void 0,$N="",UN=[],zN=[],JN=!1,KN=!1,ZN=0,HN={},Uy()},eB=function(){let e=mB();const t=10;let n=0;for(;!e&&n<t;)e=mB(),n++;return WN=gB,WN},tB=function(e,t,n,a){return!a.includes(e.format(t.trim()))&&(!!(e.isoWeekday()>=6&&n.includes("weekends")||n.includes(e.format("dddd").toLowerCase()))||n.includes(e.format(t.trim())))},nB=function(e,t,n,a){if(!n.length||e.manualEndTime)return;let r=u(e.startTime,t,!0);r.add(1,"d");let i=u(e.endTime,t,!0),s=aB(r,i,t,n,a);e.endTime=i.toDate(),e.renderEndTime=s},aB=function(e,t,n,a,r){let i=!1,s=null;for(;e<=t;)i||(s=t.toDate()),i=tB(e,n,a,r),i&&t.add(1,"d"),e.add(1,"d");return s},rB=function(e,t,n){n=n.trim();const a=/^after\s+([\d\w- ]+)/.exec(n.trim());if(null!==a){let e=null;if(a[1].split(" ").forEach((function(t){let n=fB(t);void 0!==n&&(e?n.endTime>e.endTime&&(e=n):e=n)})),e)return e.endTime;{const e=new Date;return e.setHours(0,0,0,0),e}}let r=u(n,t.trim(),!0);if(r.isValid())return r.toDate();{g.debug("Invalid date:"+n),g.debug("With date format:"+t.trim());const e=new Date(n);if(void 0===e||isNaN(e.getTime()))throw new Error("Invalid date:"+n);return e}},iB=function(e){const t=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(e.trim());return null!==t?u.duration(Number.parseFloat(t[1]),t[2]):u.duration.invalid()},sB=function(e,t,n,a=!1){n=n.trim();let r=u(n,t.trim(),!0);if(r.isValid())return a&&r.add(1,"d"),r.toDate();const i=u(e),s=iB(n);return s.isValid()&&i.add(s),i.toDate()};let oB=0;const dB=function(e){return void 0===e?(oB+=1,"task"+oB):e},lB=function(e,t){let n;n=":"===t.substr(0,1)?t.substr(1,t.length):t;const a=n.split(","),r={};_B(a,r,GN);for(let s=0;s<a.length;s++)a[s]=a[s].trim();let i="";switch(a.length){case 1:r.id=dB(),r.startTime=e.endTime,i=a[0];break;case 2:r.id=dB(),r.startTime=rB(void 0,jN,a[0]),i=a[1];break;case 3:r.id=dB(a[0]),r.startTime=rB(void 0,jN,a[1]),i=a[2]}return i&&(r.endTime=sB(r.startTime,jN,i,JN),r.manualEndTime=u(i,"YYYY-MM-DD",!0).isValid(),nB(r,jN,zN,UN)),r},cB=function(e,t){let n;n=":"===t.substr(0,1)?t.substr(1,t.length):t;const a=n.split(","),r={};_B(a,r,GN);for(let i=0;i<a.length;i++)a[i]=a[i].trim();switch(a.length){case 1:r.id=dB(),r.startTime={type:"prevTaskEnd",id:e},r.endTime={data:a[0]};break;case 2:r.id=dB(),r.startTime={type:"getStartDate",startData:a[0]},r.endTime={data:a[1]};break;case 3:r.id=dB(a[0]),r.startTime={type:"getStartDate",startData:a[1]},r.endTime={data:a[2]}}return r};let uB,hB,gB=[];const pB={},fB=function(e){const t=pB[e];return gB[t]},mB=function(){const e=function(e){const t=gB[e];let n="";switch(gB[e].raw.startTime.type){case"prevTaskEnd":{const e=fB(t.prevTaskId);t.startTime=e.endTime;break}case"getStartDate":n=rB(void 0,jN,gB[e].raw.startTime.startData),n&&(gB[e].startTime=n)}return gB[e].startTime&&(gB[e].endTime=sB(gB[e].startTime,jN,gB[e].raw.endTime.data,JN),gB[e].endTime&&(gB[e].processed=!0,gB[e].manualEndTime=u(gB[e].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),nB(gB[e],jN,zN,UN))),gB[e].processed};let t=!0;for(const[n,a]of gB.entries())e(n),t=t&&a.processed;return t},RB=function(e,t){let n=t;"loose"!==ey().securityLevel&&(n=R(t)),e.split(",").forEach((function(e){void 0!==fB(e)&&(xB(e,(()=>{window.open(n,"_self")})),HN[e]=n)})),yB(e,"clickable")},yB=function(e,t){e.split(",").forEach((function(e){let n=fB(e);void 0!==n&&n.classes.push(t)}))},bB=function(e,t,n){if("loose"!==ey().securityLevel||void 0===t)return;let a=[];if("string"==typeof n){a=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<a.length;e++){let t=a[e].trim();'"'===t.charAt(0)&&'"'===t.charAt(t.length-1)&&(t=t.substr(1,t.length-2)),a[e]=t}}0===a.length&&a.push(e),void 0!==fB(e)&&xB(e,(()=>{Km.runFunc(t,...a)}))},xB=function(e,t){XN.push((function(){const n=document.querySelector(`[id="${e}"]`);null!==n&&n.addEventListener("click",(function(){t()}))}),(function(){const n=document.querySelector(`[id="${e}-text"]`);null!==n&&n.addEventListener("click",(function(){t()}))}))},vB={parseDirective:function(e,t,n){rU.parseDirective(this,e,t,n)},getConfig:()=>ey().gantt,clear:QN,setDateFormat:function(e){jN=e},getDateFormat:function(){return jN},enableInclusiveEndDates:function(){JN=!0},endDatesAreInclusive:function(){return JN},enableTopAxis:function(){KN=!0},topAxisEnabled:function(){return KN},setAxisFormat:function(e){VN=e},getAxisFormat:function(){return VN},setTickInterval:function(e){PN=e},getTickInterval:function(){return PN},setTodayMarker:function(e){$N=e},getTodayMarker:function(){return $N},setAccTitle:zy,getAccTitle:Hy,setDiagramTitle:qy,getDiagramTitle:Gy,setAccDescription:Yy,getAccDescription:Wy,addSection:function(e){qN=e,YN.push(e)},getSections:function(){return YN},getTasks:eB,addTask:function(e,t){const n={section:qN,type:qN,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:t},task:e,classes:[]},a=cB(hB,t);n.raw.startTime=a.startTime,n.raw.endTime=a.endTime,n.id=a.id,n.prevTaskId=hB,n.active=a.active,n.done=a.done,n.crit=a.crit,n.milestone=a.milestone,n.order=ZN,ZN++;const r=gB.push(n);hB=n.id,pB[n.id]=r-1},findTaskById:fB,addTaskOrg:function(e,t){const n={section:qN,type:qN,description:e,task:e,classes:[]},a=lB(uB,t);n.startTime=a.startTime,n.endTime=a.endTime,n.id=a.id,n.active=a.active,n.done=a.done,n.crit=a.crit,n.milestone=a.milestone,uB=n,WN.push(n)},setIncludes:function(e){UN=e.toLowerCase().split(/[\s,]+/)},getIncludes:function(){return UN},setExcludes:function(e){zN=e.toLowerCase().split(/[\s,]+/)},getExcludes:function(){return zN},setClickEvent:function(e,t,n){e.split(",").forEach((function(e){bB(e,t,n)})),yB(e,"clickable")},setLink:RB,getLinks:function(){return HN},bindFunctions:function(e){XN.forEach((function(t){t(e)}))},parseDuration:iB,isInvalidDate:tB};function _B(e,t,n){let a=!0;for(;a;)a=!1,n.forEach((function(n){const r=new RegExp("^\\s*"+n+"\\s*$");e[0].match(r)&&(t[n]=!0,e.shift(1),a=!0)}))}let kB;const CB={setConf:function(){g.debug("Something is calling, setConf, remove the call")},draw:function(e,t,n,a){const r=ey().gantt,i=ey().securityLevel;let s;"sandbox"===i&&(s=hn("#i"+t));const o=hn("sandbox"===i?s.nodes()[0].contentDocument.body:"body"),d="sandbox"===i?s.nodes()[0].contentDocument:document,l=d.getElementById(t);kB=l.parentElement.offsetWidth,void 0===kB&&(kB=1200),void 0!==r.useWidth&&(kB=r.useWidth);const c=a.db.getTasks(),h=c.length*(r.barHeight+r.barGap)+2*r.topPadding;l.setAttribute("viewBox","0 0 "+kB+" "+h);const g=o.select(`[id="${t}"]`),p=pl().domain([Y(c,(function(e){return e.startTime})),H(c,(function(e){return e.endTime}))]).rangeRound([0,kB-r.leftPadding-r.rightPadding]);let f=[];for(const u of c)f.push(u.type);const m=f;function R(e,t){const n=e.startTime,a=t.startTime;let r=0;return n>a?r=1:n<a&&(r=-1),r}function y(e,t,n){const i=r.barHeight,s=i+r.barGap,o=r.topPadding,d=r.leftPadding,l=js().domain([0,f.length]).range(["#00B9FA","#F95002"]).interpolate(Ja);x(s,o,d,t,n,e,a.db.getExcludes(),a.db.getIncludes()),v(d,o,t,n),b(e,s,o,d,i,l,t),_(s,o),k(d,o,t,n)}function b(e,n,i,s,o,d,l){g.append("g").selectAll("rect").data(e).enter().append("rect").attr("x",0).attr("y",(function(e,t){return e.order*n+i-2})).attr("width",(function(){return l-r.rightPadding/2})).attr("height",n).attr("class",(function(e){for(const[t,n]of f.entries())if(e.type===n)return"section section"+t%r.numberSectionStyles;return"section section0"}));const c=g.append("g").selectAll("rect").data(e).enter(),u=a.db.getLinks();if(c.append("rect").attr("id",(function(e){return e.id})).attr("rx",3).attr("ry",3).attr("x",(function(e){return e.milestone?p(e.startTime)+s+.5*(p(e.endTime)-p(e.startTime))-.5*o:p(e.startTime)+s})).attr("y",(function(e,t){return e.order*n+i})).attr("width",(function(e){return e.milestone?o:p(e.renderEndTime||e.endTime)-p(e.startTime)})).attr("height",o).attr("transform-origin",(function(e,t){return t=e.order,(p(e.startTime)+s+.5*(p(e.endTime)-p(e.startTime))).toString()+"px "+(t*n+i+.5*o).toString()+"px"})).attr("class",(function(e){const t="task";let n="";e.classes.length>0&&(n=e.classes.join(" "));let a=0;for(const[s,o]of f.entries())e.type===o&&(a=s%r.numberSectionStyles);let i="";return e.active?e.crit?i+=" activeCrit":i=" active":e.done?i=e.crit?" doneCrit":" done":e.crit&&(i+=" crit"),0===i.length&&(i=" task"),e.milestone&&(i=" milestone "+i),i+=a,i+=" "+n,t+i})),c.append("text").attr("id",(function(e){return e.id+"-text"})).text((function(e){return e.task})).attr("font-size",r.fontSize).attr("x",(function(e){let t=p(e.startTime),n=p(e.renderEndTime||e.endTime);e.milestone&&(t+=.5*(p(e.endTime)-p(e.startTime))-.5*o),e.milestone&&(n=t+o);const a=this.getBBox().width;return a>n-t?n+a+1.5*r.leftPadding>l?t+s-5:n+s+5:(n-t)/2+t+s})).attr("y",(function(e,t){return e.order*n+r.barHeight/2+(r.fontSize/2-2)+i})).attr("text-height",o).attr("class",(function(e){const t=p(e.startTime);let n=p(e.endTime);e.milestone&&(n=t+o);const a=this.getBBox().width;let i="";e.classes.length>0&&(i=e.classes.join(" "));let s=0;for(const[o,l]of f.entries())e.type===l&&(s=o%r.numberSectionStyles);let d="";return e.active&&(d=e.crit?"activeCritText"+s:"activeText"+s),e.done?d=e.crit?d+" doneCritText"+s:d+" doneText"+s:e.crit&&(d=d+" critText"+s),e.milestone&&(d+=" milestoneText"),a>n-t?n+a+1.5*r.leftPadding>l?i+" taskTextOutsideLeft taskTextOutside"+s+" "+d:i+" taskTextOutsideRight taskTextOutside"+s+" "+d+" width-"+a:i+" taskText taskText"+s+" "+d+" width-"+a})),"sandbox"===ey().securityLevel){let e;e=hn("#i"+t);const n=e.nodes()[0].contentDocument;c.filter((function(e){return void 0!==u[e.id]})).each((function(e){var t=n.querySelector("#"+e.id),a=n.querySelector("#"+e.id+"-text");const r=t.parentNode;var i=n.createElement("a");i.setAttribute("xlink:href",u[e.id]),i.setAttribute("target","_top"),r.appendChild(i),i.appendChild(t),i.appendChild(a)}))}}function x(e,t,n,i,s,o,d,l){const c=o.reduce(((e,{startTime:t})=>e?Math.min(e,t):t),0),h=o.reduce(((e,{endTime:t})=>e?Math.max(e,t):t),0),f=a.db.getDateFormat();if(!c||!h)return;const m=[];let R=null,y=u(c);for(;y.valueOf()<=h;)a.db.isInvalidDate(y,f,d,l)?R?R.end=y.clone():R={start:y.clone(),end:y.clone()}:R&&(m.push(R),R=null),y.add(1,"d");g.append("g").selectAll("rect").data(m).enter().append("rect").attr("id",(function(e){return"exclude-"+e.start.format("YYYY-MM-DD")})).attr("x",(function(e){return p(e.start)+n})).attr("y",r.gridLineStartPadding).attr("width",(function(e){const t=e.end.clone().add(1,"day");return p(t)-p(e.start)})).attr("height",s-t-r.gridLineStartPadding).attr("transform-origin",(function(t,a){return(p(t.start)+n+.5*(p(t.end)-p(t.start))).toString()+"px "+(a*e+.5*s).toString()+"px"})).attr("class","exclude-range")}function v(e,t,n,i){let s=ie(p).tickSize(-i+t+r.gridLineStartPadding).tickFormat(Wo(a.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));const o=/^([1-9]\d*)(minute|hour|day|week|month)$/.exec(a.db.getTickInterval()||r.tickInterval);if(null!==o){const e=o[1];switch(o[2]){case"minute":s.ticks(no.every(e));break;case"hour":s.ticks(ro.every(e));break;case"day":s.ticks(so.every(e));break;case"week":s.ticks(lo.every(e));break;case"month":s.ticks(Ro.every(e))}}if(g.append("g").attr("class","grid").attr("transform","translate("+e+", "+(i-50)+")").call(s).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),a.db.topAxisEnabled()||r.topAxis){let n=re(p).tickSize(-i+t+r.gridLineStartPadding).tickFormat(Wo(a.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));if(null!==o){const e=o[1];switch(o[2]){case"minute":n.ticks(no.every(e));break;case"hour":n.ticks(ro.every(e));break;case"day":n.ticks(so.every(e));break;case"week":n.ticks(lo.every(e));break;case"month":n.ticks(Ro.every(e))}}g.append("g").attr("class","grid").attr("transform","translate("+e+", "+t+")").call(n).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function _(e,t){const n=[];let a=0;for(const[r,i]of f.entries())n[r]=[i,E(i,m)];g.append("g").selectAll("text").data(n).enter().append((function(e){const t=e[0].split(Bu.lineBreakRegex),n=-(t.length-1)/2,a=d.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("dy",n+"em");for(const[r,i]of t.entries()){const e=d.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttribute("alignment-baseline","central"),e.setAttribute("x","10"),r>0&&e.setAttribute("dy","1em"),e.textContent=i,a.appendChild(e)}return a})).attr("x",10).attr("y",(function(r,i){if(!(i>0))return r[1]*e/2+t;for(let s=0;s<i;s++)return a+=n[i-1][1],r[1]*e/2+a*e+t})).attr("font-size",r.sectionFontSize).attr("font-size",r.sectionFontSize).attr("class",(function(e){for(const[t,n]of f.entries())if(e[0]===n)return"sectionTitle sectionTitle"+t%r.numberSectionStyles;return"sectionTitle"}))}function k(e,t,n,i){const s=a.db.getTodayMarker();if("off"===s)return;const o=g.append("g").attr("class","today"),d=new Date,l=o.append("line");l.attr("x1",p(d)+e).attr("x2",p(d)+e).attr("y1",r.titleTopMargin).attr("y2",i-r.titleTopMargin).attr("class","today"),""!==s&&l.attr("style",s.replace(/,/g,";"))}function C(e){const t={},n=[];for(let a=0,r=e.length;a<r;++a)Object.prototype.hasOwnProperty.call(t,e[a])||(t[e[a]]=!0,n.push(e[a]));return n}function w(e){let t=e.length;const n={};for(;t;)n[e[--t]]=(n[e[t]]||0)+1;return n}function E(e,t){return w(t)[e]||0}f=C(f),c.sort(R),y(c,kB,h),cy(g,h,kB,r.useMaxWidth),g.append("text").text(a.db.getDiagramTitle()).attr("x",kB/2).attr("y",r.titleTopMargin).attr("class","titleText")}};var wB=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[6,9,10],n={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(e,t,n,a,r,i,s){switch(i.length,r){case 1:return a;case 4:break;case 6:a.setInfo(!0)}},table:[{3:1,4:[1,2]},{1:[3]},e(t,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},e(t,[2,3]),e(t,[2,4]),e(t,[2,5]),e(t,[2,6])],defaultActions:{4:[2,1]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},a={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,a){switch(n){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};function r(){this.yy={}}return n.lexer=a,r.prototype=n,n.Parser=r,new r}();wB.parser=wB;const EB=wB;var SB="",AB=!1;const TB={setMessage:e=>{g.debug("Setting message to: "+e),SB=e},getMessage:()=>SB,setInfo:e=>{AB=e},getInfo:()=>AB,clear:Uy},DB={draw:(e,t,n)=>{try{g.debug("Rendering info diagram\n"+e);const a=ey().securityLevel;let r;"sandbox"===a&&(r=hn("#i"+t));const i=hn("sandbox"===a?r.nodes()[0].contentDocument.body:"body").select("#"+t);i.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("v "+n),i.attr("height",100),i.attr("width",400)}catch(d){g.error("Error while rendering info diagram"),g.error(d.message)}}},LB=e=>null!==e.match(/^\s*info/);var IB=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,4],n=[1,5],a=[1,6],r=[1,7],i=[1,9],s=[1,11,13,15,17,19,20,26,27,28,29],o=[2,5],d=[1,6,11,13,15,17,19,20,26,27,28,29],l=[26,27,28],c=[2,8],u=[1,18],h=[1,19],g=[1,20],p=[1,21],f=[1,22],m=[1,23],R=[1,28],y=[6,26,27,28,29],b={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,":":24,argDirective:25,NEWLINE:26,";":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",24:":",26:"NEWLINE",27:";",28:"EOF",29:"open_directive",30:"type_directive",31:"arg_directive",32:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 4:a.setShowData(!0);break;case 7:this.$=i[o-1];break;case 9:a.addSection(i[o-1],a.cleanupValue(i[o]));break;case 10:this.$=i[o].trim(),a.setDiagramTitle(this.$);break;case 11:this.$=i[o].trim(),a.setAccTitle(this.$);break;case 12:case 13:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 14:a.addSection(i[o].substr(8)),this.$=i[o].substr(8);break;case 21:a.parseDirective("%%{","open_directive");break;case 22:a.parseDirective(i[o],"type_directive");break;case 23:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 24:a.parseDirective("}%%","close_directive","pie")}},table:[{3:1,4:2,5:3,6:t,21:8,26:n,27:a,28:r,29:i},{1:[3]},{3:10,4:2,5:3,6:t,21:8,26:n,27:a,28:r,29:i},{3:11,4:2,5:3,6:t,21:8,26:n,27:a,28:r,29:i},e(s,o,{7:12,8:[1,13]}),e(d,[2,18]),e(d,[2,19]),e(d,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},e(l,c,{21:8,9:16,10:17,5:24,1:[2,3],11:u,13:h,15:g,17:p,19:f,20:m,29:i}),e(s,o,{7:25}),{23:26,24:[1,27],32:R},e([24,32],[2,22]),e(s,[2,6]),{4:29,26:n,27:a,28:r},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},e(l,[2,13]),e(l,[2,14]),e(l,[2,15]),e(l,c,{21:8,9:16,10:17,5:24,1:[2,4],11:u,13:h,15:g,17:p,19:f,20:m,29:i}),e(y,[2,16]),{25:34,31:[1,35]},e(y,[2,24]),e(s,[2,7]),e(l,[2,9]),e(l,[2,10]),e(l,[2,11]),e(l,[2,12]),{23:36,32:R},{32:[2,23]},e(y,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},x={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,a){switch(n){case 0:return this.begin("open_directive"),29;case 1:return this.begin("type_directive"),30;case 2:return this.popState(),this.begin("arg_directive"),24;case 3:return this.popState(),this.popState(),32;case 4:return 31;case 5:case 6:case 8:case 9:break;case 7:return 26;case 10:return this.begin("title"),13;case 11:return this.popState(),"title_value";case 12:return this.begin("acc_title"),15;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),17;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:case 20:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:this.begin("string");break;case 21:return"txt";case 22:return 6;case 23:return 8;case 24:return"value";case 25:return 28}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[20,21],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,14,16,19,22,23,24,25],inclusive:!0}}};function v(){this.yy={}}return b.lexer=x,v.prototype=b,b.Parser=v,new v}();IB.parser=IB;const FB=IB,OB=e=>null!==e.match(/^\s*pie/)||null!==e.match(/^\s*bar/);let NB={},BB=!1;const MB={parseDirective:function(e,t,n){rU.parseDirective(this,e,t,n)},getConfig:()=>ey().pie,addSection:function(e,t){e=Bu.sanitizeText(e,ey()),void 0===NB[e]&&(NB[e]=t,g.debug("Added new section :",e))},getSections:()=>NB,cleanupValue:function(e){return":"===e.substring(0,1)&&(e=e.substring(1).trim()),Number(e.trim())},clear:function(){NB={},BB=!1,Uy()},setAccTitle:zy,getAccTitle:Hy,setDiagramTitle:qy,getDiagramTitle:Gy,setShowData:function(e){BB=e},getShowData:function(){return BB},getAccDescription:Wy,setAccDescription:Yy};let PB,jB=ey();const VB=450,$B={draw:(e,t,n,a)=>{try{jB=ey(),g.debug("Rendering info diagram\n"+e);const n=ey().securityLevel;let y;"sandbox"===n&&(y=hn("#i"+t));const b=hn("sandbox"===n?y.nodes()[0].contentDocument.body:"body"),x="sandbox"===n?y.nodes()[0].contentDocument:document;a.db.clear(),a.parser.parse(e),g.debug("Parsed info diagram");const v=x.getElementById(t);PB=v.parentElement.offsetWidth,void 0===PB&&(PB=1200),void 0!==jB.useWidth&&(PB=jB.useWidth),void 0!==jB.pie.useWidth&&(PB=jB.pie.useWidth);const _=b.select("#"+t);cy(_,VB,PB,jB.pie.useMaxWidth),v.setAttribute("viewBox","0 0 "+PB+" "+VB);var r=40,i=18,s=4,o=Math.min(PB,VB)/2-r,d=_.append("g").attr("transform","translate("+PB/2+","+VB/2+")"),l=a.db.getSections(),c=0;Object.keys(l).forEach((function(e){c+=l[e]}));const k=jB.themeVariables;var u=[k.pie1,k.pie2,k.pie3,k.pie4,k.pie5,k.pie6,k.pie7,k.pie8,k.pie9,k.pie10,k.pie11,k.pie12],h=ws().range(u),p=Object.entries(l).map((function(e,t){return{order:t,name:e[0],value:e[1]}})),f=Yl().value((function(e){return e.value})).sort((function(e,t){return e.order-t.order}))(p),m=Bl().innerRadius(0).outerRadius(o);d.selectAll("mySlices").data(f).enter().append("path").attr("d",m).attr("fill",(function(e){return h(e.data.name)})).attr("class","pieCircle"),d.selectAll("mySlices").data(f).enter().append("text").text((function(e){return(e.data.value/c*100).toFixed(0)+"%"})).attr("transform",(function(e){return"translate("+m.centroid(e)+")"})).style("text-anchor","middle").attr("class","slice"),d.append("text").text(a.db.getDiagramTitle()).attr("x",0).attr("y",-(VB-50)/2).attr("class","pieTitleText");var R=d.selectAll(".legend").data(h.domain()).enter().append("g").attr("class","legend").attr("transform",(function(e,t){const n=i+s,a=n*h.domain().length/2;return"translate("+12*i+","+(t*n-a)+")"}));R.append("rect").attr("width",i).attr("height",i).style("fill",h).style("stroke",h),R.data(f).append("text").attr("x",i+s).attr("y",i-s).text((function(e){return a.db.getShowData()||jB.showData||jB.pie.showData?e.data.name+" ["+e.data.value+"]":e.data.name}))}catch(y){g.error("Error while rendering info diagram"),g.error(y)}}};var UB=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,3],n=[1,5],a=[1,6],r=[1,7],i=[1,8],s=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],o=[1,22],d=[2,13],l=[1,26],c=[1,27],u=[1,28],h=[1,29],g=[1,30],p=[1,31],f=[1,24],m=[1,32],R=[1,33],y=[1,36],b=[71,72],x=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],v=[1,56],_=[1,57],k=[1,58],C=[1,59],w=[1,60],E=[1,61],S=[1,62],A=[62,63],T=[1,74],D=[1,70],L=[1,71],I=[1,72],F=[1,73],O=[1,75],N=[1,79],B=[1,80],M=[1,77],P=[1,78],j=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],V={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:"RISK",37:"VERIFYMTHD",39:"STRUCT_STOP",40:"REQUIREMENT",41:"FUNCTIONAL_REQUIREMENT",42:"INTERFACE_REQUIREMENT",43:"PERFORMANCE_REQUIREMENT",44:"PHYSICAL_REQUIREMENT",45:"DESIGN_CONSTRAINT",46:"LOW_RISK",47:"MED_RISK",48:"HIGH_RISK",49:"VERIFY_ANALYSIS",50:"VERIFY_DEMONSTRATION",51:"VERIFY_INSPECTION",52:"VERIFY_TEST",53:"ELEMENT",56:"TYPE",58:"DOCREF",60:"END_ARROW_L",62:"LINE",63:"END_ARROW_R",64:"CONTAINS",65:"COPIES",66:"DERIVES",67:"SATISFIES",68:"VERIFIES",69:"REFINES",70:"TRACES",71:"unqString",72:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 6:this.$=i[o].trim(),a.setAccTitle(this.$);break;case 7:case 8:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 9:a.parseDirective("%%{","open_directive");break;case 10:a.parseDirective(i[o],"type_directive");break;case 11:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 12:a.parseDirective("}%%","close_directive","pie");break;case 13:this.$=[];break;case 19:a.addRequirement(i[o-3],i[o-4]);break;case 20:a.setNewReqId(i[o-2]);break;case 21:a.setNewReqText(i[o-2]);break;case 22:a.setNewReqRisk(i[o-2]);break;case 23:a.setNewReqVerifyMethod(i[o-2]);break;case 26:this.$=a.RequirementType.REQUIREMENT;break;case 27:this.$=a.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=a.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=a.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=a.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=a.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=a.RiskLevel.LOW_RISK;break;case 33:this.$=a.RiskLevel.MED_RISK;break;case 34:this.$=a.RiskLevel.HIGH_RISK;break;case 35:this.$=a.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=a.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=a.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=a.VerifyType.VERIFY_TEST;break;case 39:a.addElement(i[o-3]);break;case 40:a.setNewElementType(i[o-2]);break;case 41:a.setNewElementDocRef(i[o-2]);break;case 44:a.addRelationship(i[o-2],i[o],i[o-4]);break;case 45:a.addRelationship(i[o-2],i[o-4],i[o]);break;case 46:this.$=a.Relationships.CONTAINS;break;case 47:this.$=a.Relationships.COPIES;break;case 48:this.$=a.Relationships.DERIVES;break;case 49:this.$=a.Relationships.SATISFIES;break;case 50:this.$=a.Relationships.VERIFIES;break;case 51:this.$=a.Relationships.REFINES;break;case 52:this.$=a.Relationships.TRACES}},table:[{3:1,4:2,6:t,9:4,14:n,16:a,18:r,19:i},{1:[3]},{3:10,4:2,5:[1,9],6:t,9:4,14:n,16:a,18:r,19:i},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},e(s,[2,8]),{20:[2,9]},{3:16,4:2,6:t,9:4,14:n,16:a,18:r,19:i},{1:[2,2]},{4:21,5:o,7:17,8:d,9:4,14:n,16:a,18:r,19:i,23:18,24:19,25:20,26:23,32:25,40:l,41:c,42:u,43:h,44:g,45:p,53:f,71:m,72:R},{11:34,12:[1,35],22:y},e([12,22],[2,10]),e(s,[2,6]),e(s,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:o,7:38,8:d,9:4,14:n,16:a,18:r,19:i,23:18,24:19,25:20,26:23,32:25,40:l,41:c,42:u,43:h,44:g,45:p,53:f,71:m,72:R},{4:21,5:o,7:39,8:d,9:4,14:n,16:a,18:r,19:i,23:18,24:19,25:20,26:23,32:25,40:l,41:c,42:u,43:h,44:g,45:p,53:f,71:m,72:R},{4:21,5:o,7:40,8:d,9:4,14:n,16:a,18:r,19:i,23:18,24:19,25:20,26:23,32:25,40:l,41:c,42:u,43:h,44:g,45:p,53:f,71:m,72:R},{4:21,5:o,7:41,8:d,9:4,14:n,16:a,18:r,19:i,23:18,24:19,25:20,26:23,32:25,40:l,41:c,42:u,43:h,44:g,45:p,53:f,71:m,72:R},{4:21,5:o,7:42,8:d,9:4,14:n,16:a,18:r,19:i,23:18,24:19,25:20,26:23,32:25,40:l,41:c,42:u,43:h,44:g,45:p,53:f,71:m,72:R},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},e(b,[2,26]),e(b,[2,27]),e(b,[2,28]),e(b,[2,29]),e(b,[2,30]),e(b,[2,31]),e(x,[2,55]),e(x,[2,56]),e(s,[2,4]),{13:51,21:[1,52]},e(s,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]},{28:[2,60]},{61:55,64:v,65:_,66:k,67:C,68:w,69:E,70:S},{61:63,64:v,65:_,66:k,67:C,68:w,69:E,70:S},{11:64,22:y},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},e(A,[2,46]),e(A,[2,47]),e(A,[2,48]),e(A,[2,49]),e(A,[2,50]),e(A,[2,51]),e(A,[2,52]),{63:[1,68]},e(s,[2,5]),{5:T,29:69,30:D,33:L,35:I,37:F,39:O},{5:N,39:B,55:76,56:M,58:P},{32:81,71:m,72:R},{32:82,71:m,72:R},e(j,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:T,29:87,30:D,33:L,35:I,37:F,39:O},e(j,[2,25]),e(j,[2,39]),{31:[1,88]},{31:[1,89]},{5:N,39:B,55:90,56:M,58:P},e(j,[2,43]),e(j,[2,44]),e(j,[2,45]),{32:91,71:m,72:R},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},e(j,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},e(j,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:T,29:116,30:D,33:L,35:I,37:F,39:O},{5:T,29:117,30:D,33:L,35:I,37:F,39:O},{5:T,29:118,30:D,33:L,35:I,37:F,39:O},{5:T,29:119,30:D,33:L,35:I,37:F,39:O},{5:N,39:B,55:120,56:M,58:P},{5:N,39:B,55:121,56:M,58:P},e(j,[2,20]),e(j,[2,21]),e(j,[2,22]),e(j,[2,23]),e(j,[2,40]),e(j,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},$={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,a){switch(n){case 0:return this.begin("open_directive"),19;case 1:return this.begin("type_directive"),20;case 2:return this.popState(),this.begin("arg_directive"),12;case 3:return this.popState(),this.popState(),22;case 4:return 21;case 5:return"title";case 6:return this.begin("acc_title"),14;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),16;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 53:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 5;case 14:case 15:case 16:break;case 17:return 8;case 18:return 6;case 19:return 28;case 20:return 39;case 21:return 31;case 22:return 30;case 23:return 33;case 24:return 35;case 25:return 37;case 26:return 40;case 27:return 41;case 28:return 42;case 29:return 43;case 30:return 44;case 31:return 45;case 32:return 46;case 33:return 47;case 34:return 48;case 35:return 49;case 36:return 50;case 37:return 51;case 38:return 52;case 39:return 53;case 40:return 64;case 41:return 65;case 42:return 66;case 43:return 67;case 44:return 68;case 45:return 69;case 46:return 70;case 47:return 56;case 48:return 58;case 49:return 60;case 50:return 63;case 51:return 62;case 52:this.begin("string");break;case 54:return"qString";case 55:return t.yytext=t.yytext.trim(),71}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[53,54],inclusive:!1},INITIAL:{rules:[0,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,55],inclusive:!0}}};function U(){this.yy={}}return V.lexer=$,U.prototype=V,V.Parser=U,new U}();UB.parser=UB;const zB=UB,HB=e=>null!==e.match(/^\s*requirement(Diagram)?/);let YB=[],WB={},qB={},GB={},XB={};const JB={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},parseDirective:function(e,t,n){rU.parseDirective(this,e,t,n)},getConfig:()=>ey().req,addRequirement:(e,t)=>(void 0===qB[e]&&(qB[e]={name:e,type:t,id:WB.id,text:WB.text,risk:WB.risk,verifyMethod:WB.verifyMethod}),WB={},qB[e]),getRequirements:()=>qB,setNewReqId:e=>{void 0!==WB&&(WB.id=e)},setNewReqText:e=>{void 0!==WB&&(WB.text=e)},setNewReqRisk:e=>{void 0!==WB&&(WB.risk=e)},setNewReqVerifyMethod:e=>{void 0!==WB&&(WB.verifyMethod=e)},setAccTitle:zy,getAccTitle:Hy,setAccDescription:Yy,getAccDescription:Wy,addElement:e=>(void 0===XB[e]&&(XB[e]={name:e,type:GB.type,docRef:GB.docRef},g.info("Added new requirement: ",e)),GB={},XB[e]),getElements:()=>XB,setNewElementType:e=>{void 0!==GB&&(GB.type=e)},setNewElementDocRef:e=>{void 0!==GB&&(GB.docRef=e)},addRelationship:(e,t,n)=>{YB.push({type:e,src:t,dst:n})},getRelationships:()=>YB,clear:()=>{YB=[],WB={},qB={},GB={},XB={},Uy()}},KB={CONTAINS:"contains",ARROW:"arrow"},ZB={ReqMarkers:KB,insertLineEndings:(e,t)=>{let n=e.append("defs").append("marker").attr("id",KB.CONTAINS+"_line_ending").attr("refX",0).attr("refY",t.line_height/2).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("g");n.append("circle").attr("cx",t.line_height/2).attr("cy",t.line_height/2).attr("r",t.line_height/2).attr("fill","none"),n.append("line").attr("x1",0).attr("x2",t.line_height).attr("y1",t.line_height/2).attr("y2",t.line_height/2).attr("stroke-width",1),n.append("line").attr("y1",0).attr("y2",t.line_height).attr("x1",t.line_height/2).attr("x2",t.line_height/2).attr("stroke-width",1),e.append("defs").append("marker").attr("id",KB.ARROW+"_line_ending").attr("refX",t.line_height).attr("refY",.5*t.line_height).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("path").attr("d",`M0,0\n L${t.line_height},${t.line_height/2}\n M${t.line_height},${t.line_height/2}\n L0,${t.line_height}`).attr("stroke-width",1)}};let QB={},eM=0;const tM=(e,t)=>e.insert("rect","#"+t).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",QB.rect_min_width+"px").attr("height",QB.rect_min_height+"px"),nM=(e,t,n)=>{let a=QB.rect_min_width/2,r=e.append("text").attr("class","req reqLabel reqTitle").attr("id",t).attr("x",a).attr("y",QB.rect_padding).attr("dominant-baseline","hanging"),i=0;n.forEach((e=>{0==i?r.append("tspan").attr("text-anchor","middle").attr("x",QB.rect_min_width/2).attr("dy",0).text(e):r.append("tspan").attr("text-anchor","middle").attr("x",QB.rect_min_width/2).attr("dy",.75*QB.line_height).text(e),i++}));let s=1.5*QB.rect_padding+i*QB.line_height*.75;return e.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",QB.rect_min_width).attr("y1",s).attr("y2",s),{titleNode:r,y:s}},aM=(e,t,n,a)=>{let r=e.append("text").attr("class","req reqLabel").attr("id",t).attr("x",QB.rect_padding).attr("y",a).attr("dominant-baseline","hanging"),i=0;const s=30;let o=[];return n.forEach((e=>{let t=e.length;for(;t>s&&i<3;){let n=e.substring(0,s);t=(e=e.substring(s,e.length)).length,o[o.length]=n,i++}if(3==i){let e=o[o.length-1];o[o.length-1]=e.substring(0,e.length-4)+"..."}else o[o.length]=e;i=0})),o.forEach((e=>{r.append("tspan").attr("x",QB.rect_padding).attr("dy",QB.line_height).text(e)})),r},rM=(e,t,n,a)=>{const r=t.node().getTotalLength(),i=t.node().getPointAtLength(.5*r),s="rel"+eM;eM++;const o=e.append("text").attr("class","req relationshipLabel").attr("id",s).attr("x",i.x).attr("y",i.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(a).node().getBBox();e.insert("rect","#"+s).attr("class","req reqLabelBox").attr("x",i.x-o.width/2).attr("y",i.y-o.height/2).attr("width",o.width).attr("height",o.height).attr("fill","white").attr("fill-opacity","85%")},iM=function(e,t,n,a,r){const i=n.edge(cM(t.src),cM(t.dst)),s=Ul().x((function(e){return e.x})).y((function(e){return e.y})),o=e.insert("path","#"+a).attr("class","er relationshipLine").attr("d",s(i.points)).attr("fill","none");t.type==r.db.Relationships.CONTAINS?o.attr("marker-start","url("+Bu.getUrl(QB.arrowMarkerAbsolute)+"#"+t.type+"_line_ending)"):(o.attr("stroke-dasharray","10,7"),o.attr("marker-end","url("+Bu.getUrl(QB.arrowMarkerAbsolute)+"#"+ZB.ReqMarkers.ARROW+"_line_ending)")),rM(e,o,QB,`<<${t.type}>>`)},sM=(e,t,n)=>{Object.keys(e).forEach((a=>{let r=e[a];a=cM(a),g.info("Added new requirement: ",a);const i=n.append("g").attr("id",a),s=tM(i,"req-"+a);let o=nM(i,a+"_title",[`<<${r.type}>>`,`${r.name}`]);aM(i,a+"_body",[`Id: ${r.id}`,`Text: ${r.text}`,`Risk: ${r.risk}`,`Verification: ${r.verifyMethod}`],o.y);const d=s.node().getBBox();t.setNode(a,{width:d.width,height:d.height,shape:"rect",id:a})}))},oM=(e,t,n)=>{Object.keys(e).forEach((a=>{let r=e[a];const i=cM(a),s=n.append("g").attr("id",i),o="element-"+i,d=tM(s,o);let l=nM(s,o+"_title",["<<Element>>",`${a}`]);aM(s,o+"_body",[`Type: ${r.type||"Not Specified"}`,`Doc Ref: ${r.docRef||"None"}`],l.y);const c=d.node().getBBox();t.setNode(i,{width:c.width,height:c.height,shape:"rect",id:i})}))},dM=(e,t)=>(e.forEach((function(e){let n=cM(e.src),a=cM(e.dst);t.setEdge(n,a,{relationship:e})})),e),lM=function(e,t){t.nodes().forEach((function(n){void 0!==n&&void 0!==t.node(n)&&(e.select("#"+n),e.select("#"+n).attr("transform","translate("+(t.node(n).x-t.node(n).width/2)+","+(t.node(n).y-t.node(n).height/2)+" )"))}))},cM=e=>e.replace(/\s/g,"").replace(/\./g,"_"),uM={draw:(e,t,n,a)=>{QB=ey().requirement,a.db.clear(),a.parser.parse(e);const r=QB.securityLevel;let i;"sandbox"===r&&(i=hn("#i"+t));const s=hn("sandbox"===r?i.nodes()[0].contentDocument.body:"body").select(`[id='${t}']`);ZB.insertLineEndings(s,QB);const o=new PA({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:QB.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));let d=a.db.getRequirements(),l=a.db.getElements(),c=a.db.getRelationships();sM(d,o,s),oM(l,o,s),dM(c,o),pD(o),lM(s,o),c.forEach((function(e){iM(s,e,o,t,a)}));const u=QB.rect_padding,h=s.node().getBBox(),g=h.width+2*u,p=h.height+2*u;cy(s,p,g,QB.useMaxWidth),s.attr("viewBox",`${h.x-u} ${h.y-u} ${g} ${p}`)}};var hM=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,2],n=[1,3],a=[1,5],r=[1,7],i=[2,5],s=[1,15],o=[1,17],d=[1,18],l=[1,19],c=[1,21],u=[1,22],h=[1,23],g=[1,29],p=[1,30],f=[1,31],m=[1,32],R=[1,33],y=[1,34],b=[1,35],x=[1,36],v=[1,37],_=[1,38],k=[1,39],C=[1,40],w=[1,43],E=[1,44],S=[1,45],A=[1,46],T=[1,47],D=[1,48],L=[1,51],I=[1,4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,50,51,52,53,58,59,60,61,69,79],F=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,53,58,59,60,61,69,79],O=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,52,53,58,59,60,61,69,79],N=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,51,53,58,59,60,61,69,79],B=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,50,53,58,59,60,61,69,79],M=[67,68,69],P=[1,121],j=[1,4,5,7,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,50,51,52,53,58,59,60,61,69,79],V={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,openDirective:11,typeDirective:12,closeDirective:13,":":14,argDirective:15,participant:16,actor:17,AS:18,restOfLine:19,participant_actor:20,signal:21,autonumber:22,NUM:23,off:24,activate:25,deactivate:26,note_statement:27,links_statement:28,link_statement:29,properties_statement:30,details_statement:31,title:32,legacy_title:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,loop:39,end:40,rect:41,opt:42,alt:43,else_sections:44,par:45,par_sections:46,critical:47,option_sections:48,break:49,option:50,and:51,else:52,note:53,placement:54,text2:55,over:56,actor_pair:57,links:58,link:59,properties:60,details:61,spaceList:62,",":63,left_of:64,right_of:65,signaltype:66,"+":67,"-":68,ACTOR:69,SOLID_OPEN_ARROW:70,DOTTED_OPEN_ARROW:71,SOLID_ARROW:72,DOTTED_ARROW:73,SOLID_CROSS:74,DOTTED_CROSS:75,SOLID_POINT:76,DOTTED_POINT:77,TXT:78,open_directive:79,type_directive:80,arg_directive:81,close_directive:82,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",14:":",16:"participant",18:"AS",19:"restOfLine",20:"participant_actor",22:"autonumber",23:"NUM",24:"off",25:"activate",26:"deactivate",32:"title",33:"legacy_title",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",39:"loop",40:"end",41:"rect",42:"opt",43:"alt",45:"par",47:"critical",49:"break",50:"option",51:"and",52:"else",53:"note",56:"over",58:"links",59:"link",60:"properties",61:"details",63:",",64:"left_of",65:"right_of",67:"+",68:"-",69:"ACTOR",70:"SOLID_OPEN_ARROW",71:"DOTTED_OPEN_ARROW",72:"SOLID_ARROW",73:"DOTTED_ARROW",74:"SOLID_CROSS",75:"DOTTED_CROSS",76:"SOLID_POINT",77:"DOTTED_POINT",78:"TXT",79:"open_directive",80:"type_directive",81:"arg_directive",82:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[6,4],[6,6],[10,5],[10,3],[10,5],[10,3],[10,2],[10,4],[10,3],[10,3],[10,2],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,2],[10,2],[10,1],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[48,1],[48,4],[46,1],[46,4],[44,1],[44,4],[27,4],[27,4],[28,3],[29,3],[30,3],[31,3],[62,2],[62,1],[57,3],[57,1],[54,1],[54,1],[21,5],[21,5],[21,4],[17,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[55,1],[11,1],[12,1],[15,1],[13,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 4:return a.apply(i[o]),i[o];case 5:case 9:this.$=[];break;case 6:i[o-1].push(i[o]),this.$=i[o-1];break;case 7:case 8:case 56:this.$=i[o];break;case 12:i[o-3].type="addParticipant",i[o-3].description=a.parseMessage(i[o-1]),this.$=i[o-3];break;case 13:i[o-1].type="addParticipant",this.$=i[o-1];break;case 14:i[o-3].type="addActor",i[o-3].description=a.parseMessage(i[o-1]),this.$=i[o-3];break;case 15:i[o-1].type="addActor",this.$=i[o-1];break;case 17:this.$={type:"sequenceIndex",sequenceIndex:Number(i[o-2]),sequenceIndexStep:Number(i[o-1]),sequenceVisible:!0,signalType:a.LINETYPE.AUTONUMBER};break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(i[o-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:a.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:a.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:a.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"activeStart",signalType:a.LINETYPE.ACTIVE_START,actor:i[o-1]};break;case 22:this.$={type:"activeEnd",signalType:a.LINETYPE.ACTIVE_END,actor:i[o-1]};break;case 28:a.setDiagramTitle(i[o].substring(6)),this.$=i[o].substring(6);break;case 29:a.setDiagramTitle(i[o].substring(7)),this.$=i[o].substring(7);break;case 30:this.$=i[o].trim(),a.setAccTitle(this.$);break;case 31:case 32:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 33:i[o-1].unshift({type:"loopStart",loopText:a.parseMessage(i[o-2]),signalType:a.LINETYPE.LOOP_START}),i[o-1].push({type:"loopEnd",loopText:i[o-2],signalType:a.LINETYPE.LOOP_END}),this.$=i[o-1];break;case 34:i[o-1].unshift({type:"rectStart",color:a.parseMessage(i[o-2]),signalType:a.LINETYPE.RECT_START}),i[o-1].push({type:"rectEnd",color:a.parseMessage(i[o-2]),signalType:a.LINETYPE.RECT_END}),this.$=i[o-1];break;case 35:i[o-1].unshift({type:"optStart",optText:a.parseMessage(i[o-2]),signalType:a.LINETYPE.OPT_START}),i[o-1].push({type:"optEnd",optText:a.parseMessage(i[o-2]),signalType:a.LINETYPE.OPT_END}),this.$=i[o-1];break;case 36:i[o-1].unshift({type:"altStart",altText:a.parseMessage(i[o-2]),signalType:a.LINETYPE.ALT_START}),i[o-1].push({type:"altEnd",signalType:a.LINETYPE.ALT_END}),this.$=i[o-1];break;case 37:i[o-1].unshift({type:"parStart",parText:a.parseMessage(i[o-2]),signalType:a.LINETYPE.PAR_START}),i[o-1].push({type:"parEnd",signalType:a.LINETYPE.PAR_END}),this.$=i[o-1];break;case 38:i[o-1].unshift({type:"criticalStart",criticalText:a.parseMessage(i[o-2]),signalType:a.LINETYPE.CRITICAL_START}),i[o-1].push({type:"criticalEnd",signalType:a.LINETYPE.CRITICAL_END}),this.$=i[o-1];break;case 39:i[o-1].unshift({type:"breakStart",breakText:a.parseMessage(i[o-2]),signalType:a.LINETYPE.BREAK_START}),i[o-1].push({type:"breakEnd",optText:a.parseMessage(i[o-2]),signalType:a.LINETYPE.BREAK_END}),this.$=i[o-1];break;case 42:this.$=i[o-3].concat([{type:"option",optionText:a.parseMessage(i[o-1]),signalType:a.LINETYPE.CRITICAL_OPTION},i[o]]);break;case 44:this.$=i[o-3].concat([{type:"and",parText:a.parseMessage(i[o-1]),signalType:a.LINETYPE.PAR_AND},i[o]]);break;case 46:this.$=i[o-3].concat([{type:"else",altText:a.parseMessage(i[o-1]),signalType:a.LINETYPE.ALT_ELSE},i[o]]);break;case 47:this.$=[i[o-1],{type:"addNote",placement:i[o-2],actor:i[o-1].actor,text:i[o]}];break;case 48:i[o-2]=[].concat(i[o-1],i[o-1]).slice(0,2),i[o-2][0]=i[o-2][0].actor,i[o-2][1]=i[o-2][1].actor,this.$=[i[o-1],{type:"addNote",placement:a.PLACEMENT.OVER,actor:i[o-2].slice(0,2),text:i[o]}];break;case 49:this.$=[i[o-1],{type:"addLinks",actor:i[o-1].actor,text:i[o]}];break;case 50:this.$=[i[o-1],{type:"addALink",actor:i[o-1].actor,text:i[o]}];break;case 51:this.$=[i[o-1],{type:"addProperties",actor:i[o-1].actor,text:i[o]}];break;case 52:this.$=[i[o-1],{type:"addDetails",actor:i[o-1].actor,text:i[o]}];break;case 55:this.$=[i[o-2],i[o]];break;case 57:this.$=a.PLACEMENT.LEFTOF;break;case 58:this.$=a.PLACEMENT.RIGHTOF;break;case 59:this.$=[i[o-4],i[o-1],{type:"addMessage",from:i[o-4].actor,to:i[o-1].actor,signalType:i[o-3],msg:i[o]},{type:"activeStart",signalType:a.LINETYPE.ACTIVE_START,actor:i[o-1]}];break;case 60:this.$=[i[o-4],i[o-1],{type:"addMessage",from:i[o-4].actor,to:i[o-1].actor,signalType:i[o-3],msg:i[o]},{type:"activeEnd",signalType:a.LINETYPE.ACTIVE_END,actor:i[o-4]}];break;case 61:this.$=[i[o-3],i[o-1],{type:"addMessage",from:i[o-3].actor,to:i[o-1].actor,signalType:i[o-2],msg:i[o]}];break;case 62:this.$={type:"addParticipant",actor:i[o]};break;case 63:this.$=a.LINETYPE.SOLID_OPEN;break;case 64:this.$=a.LINETYPE.DOTTED_OPEN;break;case 65:this.$=a.LINETYPE.SOLID;break;case 66:this.$=a.LINETYPE.DOTTED;break;case 67:this.$=a.LINETYPE.SOLID_CROSS;break;case 68:this.$=a.LINETYPE.DOTTED_CROSS;break;case 69:this.$=a.LINETYPE.SOLID_POINT;break;case 70:this.$=a.LINETYPE.DOTTED_POINT;break;case 71:this.$=a.parseMessage(i[o].trim().substring(1));break;case 72:a.parseDirective("%%{","open_directive");break;case 73:a.parseDirective(i[o],"type_directive");break;case 74:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 75:a.parseDirective("}%%","close_directive","sequence")}},table:[{3:1,4:t,5:n,6:4,7:a,11:6,79:r},{1:[3]},{3:8,4:t,5:n,6:4,7:a,11:6,79:r},{3:9,4:t,5:n,6:4,7:a,11:6,79:r},{3:10,4:t,5:n,6:4,7:a,11:6,79:r},e([1,4,5,16,20,22,25,26,32,33,34,36,38,39,41,42,43,45,47,49,53,58,59,60,61,69,79],i,{8:11}),{12:12,80:[1,13]},{80:[2,72]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:s,5:o,6:41,9:14,10:16,11:6,16:d,17:42,20:l,21:20,22:c,25:u,26:h,27:24,28:25,29:26,30:27,31:28,32:g,33:p,34:f,36:m,38:R,39:y,41:b,42:x,43:v,45:_,47:k,49:C,53:w,58:E,59:S,60:A,61:T,69:D,79:r},{13:49,14:[1,50],82:L},e([14,82],[2,73]),e(I,[2,6]),{6:41,10:52,11:6,16:d,17:42,20:l,21:20,22:c,25:u,26:h,27:24,28:25,29:26,30:27,31:28,32:g,33:p,34:f,36:m,38:R,39:y,41:b,42:x,43:v,45:_,47:k,49:C,53:w,58:E,59:S,60:A,61:T,69:D,79:r},e(I,[2,8]),e(I,[2,9]),{17:53,69:D},{17:54,69:D},{5:[1,55]},{5:[1,58],23:[1,56],24:[1,57]},{17:59,69:D},{17:60,69:D},{5:[1,61]},{5:[1,62]},{5:[1,63]},{5:[1,64]},{5:[1,65]},e(I,[2,28]),e(I,[2,29]),{35:[1,66]},{37:[1,67]},e(I,[2,32]),{19:[1,68]},{19:[1,69]},{19:[1,70]},{19:[1,71]},{19:[1,72]},{19:[1,73]},{19:[1,74]},e(I,[2,40]),{66:75,70:[1,76],71:[1,77],72:[1,78],73:[1,79],74:[1,80],75:[1,81],76:[1,82],77:[1,83]},{54:84,56:[1,85],64:[1,86],65:[1,87]},{17:88,69:D},{17:89,69:D},{17:90,69:D},{17:91,69:D},e([5,18,63,70,71,72,73,74,75,76,77,78],[2,62]),{5:[1,92]},{15:93,81:[1,94]},{5:[2,75]},e(I,[2,7]),{5:[1,96],18:[1,95]},{5:[1,98],18:[1,97]},e(I,[2,16]),{5:[1,100],23:[1,99]},{5:[1,101]},e(I,[2,20]),{5:[1,102]},{5:[1,103]},e(I,[2,23]),e(I,[2,24]),e(I,[2,25]),e(I,[2,26]),e(I,[2,27]),e(I,[2,30]),e(I,[2,31]),e(F,i,{8:104}),e(F,i,{8:105}),e(F,i,{8:106}),e(O,i,{44:107,8:108}),e(N,i,{46:109,8:110}),e(B,i,{48:111,8:112}),e(F,i,{8:113}),{17:116,67:[1,114],68:[1,115],69:D},e(M,[2,63]),e(M,[2,64]),e(M,[2,65]),e(M,[2,66]),e(M,[2,67]),e(M,[2,68]),e(M,[2,69]),e(M,[2,70]),{17:117,69:D},{17:119,57:118,69:D},{69:[2,57]},{69:[2,58]},{55:120,78:P},{55:122,78:P},{55:123,78:P},{55:124,78:P},e(j,[2,10]),{13:125,82:L},{82:[2,74]},{19:[1,126]},e(I,[2,13]),{19:[1,127]},e(I,[2,15]),{5:[1,128]},e(I,[2,18]),e(I,[2,19]),e(I,[2,21]),e(I,[2,22]),{4:s,5:o,6:41,9:14,10:16,11:6,16:d,17:42,20:l,21:20,22:c,25:u,26:h,27:24,28:25,29:26,30:27,31:28,32:g,33:p,34:f,36:m,38:R,39:y,40:[1,129],41:b,42:x,43:v,45:_,47:k,49:C,53:w,58:E,59:S,60:A,61:T,69:D,79:r},{4:s,5:o,6:41,9:14,10:16,11:6,16:d,17:42,20:l,21:20,22:c,25:u,26:h,27:24,28:25,29:26,30:27,31:28,32:g,33:p,34:f,36:m,38:R,39:y,40:[1,130],41:b,42:x,43:v,45:_,47:k,49:C,53:w,58:E,59:S,60:A,61:T,69:D,79:r},{4:s,5:o,6:41,9:14,10:16,11:6,16:d,17:42,20:l,21:20,22:c,25:u,26:h,27:24,28:25,29:26,30:27,31:28,32:g,33:p,34:f,36:m,38:R,39:y,40:[1,131],41:b,42:x,43:v,45:_,47:k,49:C,53:w,58:E,59:S,60:A,61:T,69:D,79:r},{40:[1,132]},{4:s,5:o,6:41,9:14,10:16,11:6,16:d,17:42,20:l,21:20,22:c,25:u,26:h,27:24,28:25,29:26,30:27,31:28,32:g,33:p,34:f,36:m,38:R,39:y,40:[2,45],41:b,42:x,43:v,45:_,47:k,49:C,52:[1,133],53:w,58:E,59:S,60:A,61:T,69:D,79:r},{40:[1,134]},{4:s,5:o,6:41,9:14,10:16,11:6,16:d,17:42,20:l,21:20,22:c,25:u,26:h,27:24,28:25,29:26,30:27,31:28,32:g,33:p,34:f,36:m,38:R,39:y,40:[2,43],41:b,42:x,43:v,45:_,47:k,49:C,51:[1,135],53:w,58:E,59:S,60:A,61:T,69:D,79:r},{40:[1,136]},{4:s,5:o,6:41,9:14,10:16,11:6,16:d,17:42,20:l,21:20,22:c,25:u,26:h,27:24,28:25,29:26,30:27,31:28,32:g,33:p,34:f,36:m,38:R,39:y,40:[2,41],41:b,42:x,43:v,45:_,47:k,49:C,50:[1,137],53:w,58:E,59:S,60:A,61:T,69:D,79:r},{4:s,5:o,6:41,9:14,10:16,11:6,16:d,17:42,20:l,21:20,22:c,25:u,26:h,27:24,28:25,29:26,30:27,31:28,32:g,33:p,34:f,36:m,38:R,39:y,40:[1,138],41:b,42:x,43:v,45:_,47:k,49:C,53:w,58:E,59:S,60:A,61:T,69:D,79:r},{17:139,69:D},{17:140,69:D},{55:141,78:P},{55:142,78:P},{55:143,78:P},{63:[1,144],78:[2,56]},{5:[2,49]},{5:[2,71]},{5:[2,50]},{5:[2,51]},{5:[2,52]},{5:[1,145]},{5:[1,146]},{5:[1,147]},e(I,[2,17]),e(I,[2,33]),e(I,[2,34]),e(I,[2,35]),e(I,[2,36]),{19:[1,148]},e(I,[2,37]),{19:[1,149]},e(I,[2,38]),{19:[1,150]},e(I,[2,39]),{55:151,78:P},{55:152,78:P},{5:[2,61]},{5:[2,47]},{5:[2,48]},{17:153,69:D},e(j,[2,11]),e(I,[2,12]),e(I,[2,14]),e(O,i,{8:108,44:154}),e(N,i,{8:110,46:155}),e(B,i,{8:112,48:156}),{5:[2,59]},{5:[2,60]},{78:[2,55]},{40:[2,46]},{40:[2,44]},{40:[2,42]}],defaultActions:{7:[2,72],8:[2,1],9:[2,2],10:[2,3],51:[2,75],86:[2,57],87:[2,58],94:[2,74],120:[2,49],121:[2,71],122:[2,50],123:[2,51],124:[2,52],141:[2,61],142:[2,47],143:[2,48],151:[2,59],152:[2,60],153:[2,55],154:[2,46],155:[2,44],156:[2,42]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},$={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,a){switch(n){case 0:return this.begin("open_directive"),79;case 1:return this.begin("type_directive"),80;case 2:return this.popState(),this.begin("arg_directive"),14;case 3:return this.popState(),this.popState(),82;case 4:return 81;case 5:case 52:case 65:return 5;case 6:case 7:case 8:case 9:case 10:break;case 11:return 23;case 12:return this.begin("ID"),16;case 13:return this.begin("ID"),20;case 14:return t.yytext=t.yytext.trim(),this.begin("ALIAS"),69;case 15:return this.popState(),this.popState(),this.begin("LINE"),18;case 16:return this.popState(),this.popState(),5;case 17:return this.begin("LINE"),39;case 18:return this.begin("LINE"),41;case 19:return this.begin("LINE"),42;case 20:return this.begin("LINE"),43;case 21:return this.begin("LINE"),52;case 22:return this.begin("LINE"),45;case 23:return this.begin("LINE"),51;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),50;case 26:return this.begin("LINE"),49;case 27:return this.popState(),19;case 28:return 40;case 29:return 64;case 30:return 65;case 31:return 58;case 32:return 59;case 33:return 60;case 34:return 61;case 35:return 56;case 36:return 53;case 37:return this.begin("ID"),25;case 38:return this.begin("ID"),26;case 39:return 32;case 40:return 33;case 41:return this.begin("acc_title"),34;case 42:return this.popState(),"acc_title_value";case 43:return this.begin("acc_descr"),36;case 44:return this.popState(),"acc_descr_value";case 45:this.begin("acc_descr_multiline");break;case 46:this.popState();break;case 47:return"acc_descr_multiline_value";case 48:return 7;case 49:return 22;case 50:return 24;case 51:return 63;case 53:return t.yytext=t.yytext.trim(),69;case 54:return 72;case 55:return 73;case 56:return 70;case 57:return 71;case 58:return 74;case 59:return 75;case 60:return 76;case 61:return 77;case 62:return 78;case 63:return 67;case 64:return 68;case 66:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[46,47],inclusive:!1},acc_descr:{rules:[44],inclusive:!1},acc_title:{rules:[42],inclusive:!1},open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,14],inclusive:!1},ALIAS:{rules:[7,8,15,16],inclusive:!1},LINE:{rules:[7,8,27],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,12,13,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,45,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66],inclusive:!0}}};function U(){this.yy={}}return V.lexer=$,U.prototype=V,V.Parser=U,new U}();hM.parser=hM;const gM=hM,pM=e=>null!==e.match(/^\s*sequenceDiagram/);let fM,mM,RM={},yM=[],bM=!1;const xM=function(e,t,n,a){const r=RM[e];r&&t===r.name&&null==n||((null==n||null==n.text)&&(n={text:t,wrap:null,type:a}),(null==a||null==n.text)&&(n={text:t,wrap:null,type:a}),RM[e]={name:t,description:n.text,wrap:void 0===n.wrap&&wM()||!!n.wrap,prevActor:fM,links:{},properties:{},actorCnt:null,rectData:null,type:a||"participant"},fM&&RM[fM]&&(RM[fM].nextActor=e),fM=e)},vM=e=>{let t,n=0;for(t=0;t<yM.length;t++)yM[t].type===EM.ACTIVE_START&&yM[t].from.actor===e&&n++,yM[t].type===EM.ACTIVE_END&&yM[t].from.actor===e&&n--;return n},_M=function(e,t,n,a){yM.push({from:e,to:t,message:n.text,wrap:void 0===n.wrap&&wM()||!!n.wrap,answer:a})},kM=function(e,t,n={text:void 0,wrap:void 0},a){if(a===EM.ACTIVE_END&&vM(e.actor)<1){let t=new Error("Trying to inactivate an inactive participant ("+e.actor+")");throw t.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},t}return yM.push({from:e,to:t,message:n.text,wrap:void 0===n.wrap&&wM()||!!n.wrap,type:a}),!0},CM=function(e){return RM[e]},wM=()=>void 0!==mM?mM:ey().sequence.wrap,EM={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31},SM=function(e,t,n){n.text,void 0===n.wrap&&wM()||n.wrap;const a=[].concat(e,e);yM.push({from:a[0],to:a[1],message:n.text,wrap:void 0===n.wrap&&wM()||!!n.wrap,type:EM.NOTE,placement:t})},AM=function(e,t){const n=CM(e);try{let e=Tu(t.text,ey());e=e.replace(/&/g,"&"),e=e.replace(/=/g,"="),DM(n,JSON.parse(e))}catch(d){g.error("error while parsing actor link text",d)}},TM=function(e,t){const n=CM(e);try{const e={};let s=Tu(t.text,ey());var a=s.indexOf("@");s=s.replace(/&/g,"&"),s=s.replace(/=/g,"=");var r=s.slice(0,a-1).trim(),i=s.slice(a+1).trim();e[r]=i,DM(n,e)}catch(s){g.error("error while parsing actor link text",s)}};function DM(e,t){if(null==e.links)e.links=t;else for(let n in t)e.links[n]=t[n]}const LM=function(e,t){const n=CM(e);try{let e=Tu(t.text,ey());IM(n,JSON.parse(e))}catch(d){g.error("error while parsing actor properties text",d)}};function IM(e,t){if(null==e.properties)e.properties=t;else for(let n in t)e.properties[n]=t[n]}const FM=function(e,t){const n=CM(e),a=document.getElementById(t.text);try{const e=a.innerHTML,t=JSON.parse(e);t.properties&&IM(n,t.properties),t.links&&DM(n,t.links)}catch(r){g.error("error while parsing actor details text",r)}},OM=function(e){if(Array.isArray(e))e.forEach((function(e){OM(e)}));else switch(e.type){case"sequenceIndex":yM.push({from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":xM(e.actor,e.actor,e.description,"participant");break;case"addActor":xM(e.actor,e.actor,e.description,"actor");break;case"activeStart":case"activeEnd":kM(e.actor,void 0,void 0,e.signalType);break;case"addNote":SM(e.actor,e.placement,e.text);break;case"addLinks":AM(e.actor,e.text);break;case"addALink":TM(e.actor,e.text);break;case"addProperties":LM(e.actor,e.text);break;case"addDetails":FM(e.actor,e.text);break;case"addMessage":kM(e.from,e.to,e.msg,e.signalType);break;case"loopStart":kM(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":kM(void 0,void 0,void 0,e.signalType);break;case"rectStart":kM(void 0,void 0,e.color,e.signalType);break;case"optStart":kM(void 0,void 0,e.optText,e.signalType);break;case"altStart":case"else":kM(void 0,void 0,e.altText,e.signalType);break;case"setAccTitle":zy(e.text);break;case"parStart":case"and":kM(void 0,void 0,e.parText,e.signalType);break;case"criticalStart":kM(void 0,void 0,e.criticalText,e.signalType);break;case"option":kM(void 0,void 0,e.optionText,e.signalType);break;case"breakStart":kM(void 0,void 0,e.breakText,e.signalType)}},NM={addActor:xM,addMessage:_M,addSignal:kM,addLinks:AM,addDetails:FM,addProperties:LM,autoWrap:wM,setWrap:function(e){mM=e},enableSequenceNumbers:function(){bM=!0},disableSequenceNumbers:function(){bM=!1},showSequenceNumbers:()=>bM,getMessages:function(){return yM},getActors:function(){return RM},getActor:CM,getActorKeys:function(){return Object.keys(RM)},getActorProperty:function(e,t){if(void 0!==e&&void 0!==e.properties)return e.properties[t]},getAccTitle:Hy,getDiagramTitle:Gy,setDiagramTitle:qy,parseDirective:function(e,t,n){rU.parseDirective(this,e,t,n)},getConfig:()=>ey().sequence,clear:function(){RM={},yM=[],bM=!1,Uy()},parseMessage:function(e){const t=e.trim(),n={text:t.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:null!==t.match(/^:?wrap:/)||null===t.match(/^:?nowrap:/)&&void 0};return g.debug("parseMessage:",n),n},LINETYPE:EM,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:SM,setAccTitle:zy,apply:OM,setAccDescription:Yy,getAccDescription:Wy};let BM=[];const MM=e=>{BM.push(e)},PM=()=>{BM.forEach((e=>{e()})),BM=[]},jM=function(e,t){const n=e.append("rect");return n.attr("x",t.x),n.attr("y",t.y),n.attr("fill",t.fill),n.attr("stroke",t.stroke),n.attr("width",t.width),n.attr("height",t.height),n.attr("rx",t.rx),n.attr("ry",t.ry),void 0!==t.class&&n.attr("class",t.class),n},VM=(e,t)=>{MM((()=>{const n=document.querySelectorAll(e);0!==n.length&&(n[0].addEventListener("mouseover",(function(){WM("actor"+t+"_popup")})),n[0].addEventListener("mouseout",(function(){qM("actor"+t+"_popup")})))}))},$M=function(e,t,n,a,r){if(void 0===t.links||null===t.links||0===Object.keys(t.links).length)return{height:0,width:0};const i=t.links,s=t.actorCnt,o=t.rectData;var d="none";r&&(d="block !important");const l=e.append("g");l.attr("id","actor"+s+"_popup"),l.attr("class","actorPopupMenu"),l.attr("display",d),VM("#actor"+s+"_popup",s);var c="";void 0!==o.class&&(c=" "+o.class);let u=o.width>n?o.width:n;const h=l.append("rect");if(h.attr("class","actorPopupMenuPanel"+c),h.attr("x",o.x),h.attr("y",o.height),h.attr("fill",o.fill),h.attr("stroke",o.stroke),h.attr("width",u),h.attr("height",o.height),h.attr("rx",o.rx),h.attr("ry",o.ry),null!=i){var g=20;for(let e in i){var p=l.append("a"),f=R(i[e]);p.attr("xlink:href",f),p.attr("target","_blank"),fP(a)(e,p,o.x+10,o.height+g,u,20,{class:"actor"},a),g+=30}}return h.attr("height",g),{height:o.height+g,width:u}},UM=function(e,t,n,a){const r=e.append("image");r.attr("x",t),r.attr("y",n);var i=R(a);r.attr("xlink:href",i)},zM=function(e,t,n,a){const r=e.append("use");r.attr("x",t),r.attr("y",n);var i=R(a);r.attr("xlink:href","#"+i)},HM=function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = 'block'; }"},YM=function(e){return"var pu = document.getElementById('"+e+"'); if (pu != null) { pu.style.display = 'none'; }"},WM=function(e){var t=document.getElementById(e);null!=t&&(t.style.display="block")},qM=function(e){var t=document.getElementById(e);null!=t&&(t.style.display="none")},GM=function(e,t){let n=0,a=0;const r=t.text.split(Bu.lineBreakRegex);let i=[],s=0,o=()=>t.y;if(void 0!==t.valign&&void 0!==t.textMargin&&t.textMargin>0)switch(t.valign){case"top":case"start":o=()=>Math.round(t.y+t.textMargin);break;case"middle":case"center":o=()=>Math.round(t.y+(n+a+t.textMargin)/2);break;case"bottom":case"end":o=()=>Math.round(t.y+(n+a+2*t.textMargin)-t.textMargin)}if(void 0!==t.anchor&&void 0!==t.textMargin&&void 0!==t.width)switch(t.anchor){case"left":case"start":t.x=Math.round(t.x+t.textMargin),t.anchor="start",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"middle":case"center":t.x=Math.round(t.x+t.width/2),t.anchor="middle",t.dominantBaseline="middle",t.alignmentBaseline="middle";break;case"right":case"end":t.x=Math.round(t.x+t.width-t.textMargin),t.anchor="end",t.dominantBaseline="middle",t.alignmentBaseline="middle"}for(let[d,l]of r.entries()){void 0!==t.textMargin&&0===t.textMargin&&void 0!==t.fontSize&&(s=d*t.fontSize);const r=e.append("text");if(r.attr("x",t.x),r.attr("y",o()),void 0!==t.anchor&&r.attr("text-anchor",t.anchor).attr("dominant-baseline",t.dominantBaseline).attr("alignment-baseline",t.alignmentBaseline),void 0!==t.fontFamily&&r.style("font-family",t.fontFamily),void 0!==t.fontSize&&r.style("font-size",t.fontSize),void 0!==t.fontWeight&&r.style("font-weight",t.fontWeight),void 0!==t.fill&&r.attr("fill",t.fill),void 0!==t.class&&r.attr("class",t.class),void 0!==t.dy?r.attr("dy",t.dy):0!==s&&r.attr("dy",s),t.tspan){const e=r.append("tspan");e.attr("x",t.x),void 0!==t.fill&&e.attr("fill",t.fill),e.text(l)}else r.text(l);void 0!==t.valign&&void 0!==t.textMargin&&t.textMargin>0&&(a+=(r._groups||r)[0][0].getBBox().height,n=a),i.push(r)}return i},XM=function(e,t){function n(e,t,n,a,r){return e+","+t+" "+(e+n)+","+t+" "+(e+n)+","+(t+a-r)+" "+(e+n-1.2*r)+","+(t+a)+" "+e+","+(t+a)}const a=e.append("polygon");return a.attr("points",n(t.x,t.y,t.width,t.height,7)),a.attr("class","labelBox"),t.y=t.y+t.height/2,GM(e,t),a};let JM=-1;const KM=(e,t)=>{!e.selectAll||e.selectAll(".actor-line").attr("class","200").attr("y2",t-55)},ZM=function(e,t,n){const a=t.x+t.width/2,r=e.append("g");var i=r;0===t.y&&(JM++,i.append("line").attr("id","actor"+JM).attr("x1",a).attr("y1",5).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),i=r.append("g"),t.actorCnt=JM,null!=t.links&&(i.attr("id","root-"+JM),VM("#root-"+JM,JM)));const s=gP();var o="actor";null!=t.properties&&t.properties.class?o=t.properties.class:s.fill="#eaeaea",s.x=t.x,s.y=t.y,s.width=t.width,s.height=t.height,s.class=o,s.rx=3,s.ry=3;const d=jM(i,s);if(t.rectData=s,null!=t.properties&&t.properties.icon){const e=t.properties.icon.trim();"@"===e.charAt(0)?zM(i,s.x+s.width-20,s.y+10,e.substr(1)):UM(i,s.x+s.width-20,s.y+10,e)}pP(n)(t.description,i,s.x,s.y,s.width,s.height,{class:"actor"},n);let l=t.height;if(d.node){const e=d.node().getBBox();t.height=e.height,l=e.height}return l},QM=function(e,t,n){const a=t.x+t.width/2;0===t.y&&(JM++,e.append("line").attr("id","actor"+JM).attr("x1",a).attr("y1",80).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));const r=e.append("g");r.attr("class","actor-man");const i=gP();i.x=t.x,i.y=t.y,i.fill="#eaeaea",i.width=t.width,i.height=t.height,i.class="actor",i.rx=3,i.ry=3,r.append("line").attr("id","actor-man-torso"+JM).attr("x1",a).attr("y1",t.y+25).attr("x2",a).attr("y2",t.y+45),r.append("line").attr("id","actor-man-arms"+JM).attr("x1",a-18).attr("y1",t.y+33).attr("x2",a+18).attr("y2",t.y+33),r.append("line").attr("x1",a-18).attr("y1",t.y+60).attr("x2",a).attr("y2",t.y+45),r.append("line").attr("x1",a).attr("y1",t.y+45).attr("x2",a+16).attr("y2",t.y+60);const s=r.append("circle");s.attr("cx",t.x+t.width/2),s.attr("cy",t.y+10),s.attr("r",15),s.attr("width",t.width),s.attr("height",t.height);const o=r.node().getBBox();return t.height=o.height,pP(n)(t.description,r,i.x,i.y+35,i.width,i.height,{class:"actor"},n),t.height},eP=function(e,t,n){switch(t.type){case"actor":return QM(e,t,n);case"participant":return ZM(e,t,n)}},tP=function(e){return e.append("g")},nP=function(e,t,n,a,r){const i=gP(),s=t.anchored;i.x=t.startx,i.y=t.starty,i.class="activation"+r%3,i.width=t.stopx-t.startx,i.height=n-t.starty,jM(s,i)},aP=function(e,t,n,a){const{boxMargin:r,boxTextMargin:i,labelBoxHeight:s,labelBoxWidth:o,messageFontFamily:d,messageFontSize:l,messageFontWeight:c}=a,u=e.append("g"),h=function(e,t,n,a){return u.append("line").attr("x1",e).attr("y1",t).attr("x2",n).attr("y2",a).attr("class","loopLine")};h(t.startx,t.starty,t.stopx,t.starty),h(t.stopx,t.starty,t.stopx,t.stopy),h(t.startx,t.stopy,t.stopx,t.stopy),h(t.startx,t.starty,t.startx,t.stopy),void 0!==t.sections&&t.sections.forEach((function(e){h(t.startx,e.y,t.stopx,e.y).style("stroke-dasharray","3, 3")}));let g=hP();g.text=n,g.x=t.startx,g.y=t.starty,g.fontFamily=d,g.fontSize=l,g.fontWeight=c,g.anchor="middle",g.valign="middle",g.tspan=!1,g.width=o||50,g.height=s||20,g.textMargin=i,g.class="labelText",XM(u,g),g=hP(),g.text=t.title,g.x=t.startx+o/2+(t.stopx-t.startx)/2,g.y=t.starty+r+i,g.anchor="middle",g.valign="middle",g.textMargin=i,g.class="loopText",g.fontFamily=d,g.fontSize=l,g.fontWeight=c,g.wrap=!0;let p=GM(u,g);return void 0!==t.sectionTitles&&t.sectionTitles.forEach((function(e,n){if(e.message){g.text=e.message,g.x=t.startx+(t.stopx-t.startx)/2,g.y=t.sections[n].y+r+i,g.class="loopText",g.anchor="middle",g.valign="middle",g.tspan=!1,g.fontFamily=d,g.fontSize=l,g.fontWeight=c,g.wrap=t.wrap,p=GM(u,g);let a=Math.round(p.map((e=>(e._groups||e)[0][0].getBBox().height)).reduce(((e,t)=>e+t)));t.sections[n].height+=a-(r+i)}})),t.height=Math.round(t.stopy-t.starty),u},rP=function(e,t){jM(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},iP=function(e){e.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},sP=function(e){e.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},oP=function(e){e.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},dP=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},lP=function(e){e.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},cP=function(e){e.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},uP=function(e){e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},hP=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},gP=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},pP=function(){function e(e,t,n,r,i,s,o){a(t.append("text").attr("x",n+i/2).attr("y",r+s/2+5).style("text-anchor","middle").text(e),o)}function t(e,t,n,r,i,s,o,d){const{actorFontSize:l,actorFontFamily:c,actorFontWeight:u}=d;let h=l&&l.replace?l.replace("px",""):l;const g=e.split(Bu.lineBreakRegex);for(let p=0;p<g.length;p++){const e=p*h-h*(g.length-1)/2,d=t.append("text").attr("x",n+i/2).attr("y",r).style("text-anchor","middle").style("font-size",l).style("font-weight",u).style("font-family",c);d.append("tspan").attr("x",n+i/2).attr("dy",e).text(g[p]),d.attr("y",r+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),a(d,o)}}function n(e,n,r,i,s,o,d,l){const c=n.append("switch"),u=c.append("foreignObject").attr("x",r).attr("y",i).attr("width",s).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),t(e,c,r,i,s,o,d,l),a(u,d)}function a(e,t){for(const n in t)t.hasOwnProperty(n)&&e.attr(n,t[n])}return function(a){return"fo"===a.textPlacement?n:"old"===a.textPlacement?e:t}}(),fP=function(){function e(e,t,n,r,i,s,o){a(t.append("text").attr("x",n).attr("y",r).style("text-anchor","start").text(e),o)}function t(e,t,n,r,i,s,o,d){const{actorFontSize:l,actorFontFamily:c,actorFontWeight:u}=d,h=e.split(Bu.lineBreakRegex);for(let g=0;g<h.length;g++){const e=g*l-l*(h.length-1)/2,i=t.append("text").attr("x",n).attr("y",r).style("text-anchor","start").style("font-size",l).style("font-weight",u).style("font-family",c);i.append("tspan").attr("x",n).attr("dy",e).text(h[g]),i.attr("y",r+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),a(i,o)}}function n(e,n,r,i,s,o,d,l){const c=n.append("switch"),u=c.append("foreignObject").attr("x",r).attr("y",i).attr("width",s).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),t(e,c,r,i,s,o,d,l),a(u,d)}function a(e,t){for(const n in t)t.hasOwnProperty(n)&&e.attr(n,t[n])}return function(a){return"fo"===a.textPlacement?n:"old"===a.textPlacement?e:t}}(),mP={drawRect:jM,drawText:GM,drawLabel:XM,drawActor:eP,drawPopup:$M,drawImage:UM,drawEmbeddedImage:zM,anchorElement:tP,drawActivation:nP,drawLoop:aP,drawBackgroundRect:rP,insertArrowHead:dP,insertArrowFilledHead:lP,insertSequenceNumber:cP,insertArrowCrossHead:uP,insertDatabaseIcon:iP,insertComputerIcon:sP,insertClockIcon:oP,getTextObj:hP,getNoteRect:gP,popupMenu:HM,popdownMenu:YM,fixLifeLineHeights:KM,sanitizeUrl:R};let RP={};const yP={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map((e=>e.height||0)))+(0===this.loops.length?0:this.loops.map((e=>e.height||0)).reduce(((e,t)=>e+t)))+(0===this.messages.length?0:this.messages.map((e=>e.height||0)).reduce(((e,t)=>e+t)))+(0===this.notes.length?0:this.notes.map((e=>e.height||0)).reduce(((e,t)=>e+t)))},clear:function(){this.actors=[],this.loops=[],this.messages=[],this.notes=[]},addActor:function(e){this.actors.push(e)},addLoop:function(e){this.loops.push(e)},addMessage:function(e){this.messages.push(e)},addNote:function(e){this.notes.push(e)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,SP(ey())},updateVal:function(e,t,n,a){void 0===e[t]?e[t]=n:e[t]=a(n,e[t])},updateBounds:function(e,t,n,a){const r=this;let i=0;function s(s){return function(o){i++;const d=r.sequenceItems.length-i+1;r.updateVal(o,"starty",t-d*RP.boxMargin,Math.min),r.updateVal(o,"stopy",a+d*RP.boxMargin,Math.max),r.updateVal(yP.data,"startx",e-d*RP.boxMargin,Math.min),r.updateVal(yP.data,"stopx",n+d*RP.boxMargin,Math.max),"activation"!==s&&(r.updateVal(o,"startx",e-d*RP.boxMargin,Math.min),r.updateVal(o,"stopx",n+d*RP.boxMargin,Math.max),r.updateVal(yP.data,"starty",t-d*RP.boxMargin,Math.min),r.updateVal(yP.data,"stopy",a+d*RP.boxMargin,Math.max))}}this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},insert:function(e,t,n,a){const r=Math.min(e,n),i=Math.max(e,n),s=Math.min(t,a),o=Math.max(t,a);this.updateVal(yP.data,"startx",r,Math.min),this.updateVal(yP.data,"starty",s,Math.min),this.updateVal(yP.data,"stopx",i,Math.max),this.updateVal(yP.data,"stopy",o,Math.max),this.updateBounds(r,s,i,o)},newActivation:function(e,t,n){const a=n[e.from.actor],r=AP(e.from.actor).length||0,i=a.x+a.width/2+(r-1)*RP.activationWidth/2;this.activations.push({startx:i,starty:this.verticalPos+2,stopx:i+RP.activationWidth,stopy:void 0,actor:e.from.actor,anchored:mP.anchorElement(t)})},endActivation:function(e){const t=this.activations.map((function(e){return e.actor})).lastIndexOf(e.from.actor);return this.activations.splice(t,1)[0]},createLoop:function(e={message:void 0,wrap:!1,width:void 0},t){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:e.message,wrap:e.wrap,width:e.width,height:0,fill:t}},newLoop:function(e={message:void 0,wrap:!1,width:void 0},t){this.sequenceItems.push(this.createLoop(e,t))},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(e){const t=this.sequenceItems.pop();t.sections=t.sections||[],t.sectionTitles=t.sectionTitles||[],t.sections.push({y:yP.getVerticalPos(),height:0}),t.sectionTitles.push(e),this.sequenceItems.push(t)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},bP=function(e,t){yP.bumpVerticalPos(RP.boxMargin),t.height=RP.boxMargin,t.starty=yP.getVerticalPos();const n=mP.getNoteRect();n.x=t.startx,n.y=t.starty,n.width=t.width||RP.width,n.class="note";const a=e.append("g"),r=mP.drawRect(a,n),i=mP.getTextObj();i.x=t.startx,i.y=t.starty,i.width=n.width,i.dy="1em",i.text=t.message,i.class="noteText",i.fontFamily=RP.noteFontFamily,i.fontSize=RP.noteFontSize,i.fontWeight=RP.noteFontWeight,i.anchor=RP.noteAlign,i.textMargin=RP.noteMargin,i.valign="center";const s=GM(a,i),o=Math.round(s.map((e=>(e._groups||e)[0][0].getBBox().height)).reduce(((e,t)=>e+t)));r.attr("height",o+2*RP.noteMargin),t.height+=o+2*RP.noteMargin,yP.bumpVerticalPos(o+2*RP.noteMargin),t.stopy=t.starty+o+2*RP.noteMargin,t.stopx=t.startx+n.width,yP.insert(t.startx,t.starty,t.stopx,t.stopy),yP.models.addNote(t)},xP=e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight}),vP=e=>({fontFamily:e.noteFontFamily,fontSize:e.noteFontSize,fontWeight:e.noteFontWeight}),_P=e=>({fontFamily:e.actorFontFamily,fontSize:e.actorFontSize,fontWeight:e.actorFontWeight});function kP(e,t){yP.bumpVerticalPos(10);const{startx:n,stopx:a,message:r}=t,i=Bu.splitBreaks(r).length,s=Km.calculateTextDimensions(r,xP(RP)),o=s.height/i;t.height+=o,yP.bumpVerticalPos(o);let d,l=s.height-10;const c=s.width;if(n===a){d=yP.getVerticalPos()+l,RP.rightAngles||(l+=RP.boxMargin,d=yP.getVerticalPos()+l),l+=30;const e=Math.max(c/2,RP.width/2);yP.insert(n-e,yP.getVerticalPos()-10+l,a+e,yP.getVerticalPos()+30+l)}else l+=RP.boxMargin,d=yP.getVerticalPos()+l,yP.insert(n,d-10,a,d);return yP.bumpVerticalPos(l),t.height+=l,t.stopy=t.starty+t.height,yP.insert(t.fromBounds,t.starty,t.toBounds,t.stopy),d}const CP=function(e,t,n,a){const{startx:r,stopx:i,starty:s,message:o,type:d,sequenceIndex:l,sequenceVisible:c}=t,u=Km.calculateTextDimensions(o,xP(RP)),h=mP.getTextObj();h.x=r,h.y=s+10,h.width=i-r,h.class="messageText",h.dy="1em",h.text=o,h.fontFamily=RP.messageFontFamily,h.fontSize=RP.messageFontSize,h.fontWeight=RP.messageFontWeight,h.anchor=RP.messageAlign,h.valign="center",h.textMargin=RP.wrapPadding,h.tspan=!1,GM(e,h);const g=u.width;let p;r===i?p=RP.rightAngles?e.append("path").attr("d",`M ${r},${n} H ${r+Math.max(RP.width/2,g/2)} V ${n+25} H ${r}`):e.append("path").attr("d","M "+r+","+n+" C "+(r+60)+","+(n-10)+" "+(r+60)+","+(n+30)+" "+r+","+(n+20)):(p=e.append("line"),p.attr("x1",r),p.attr("y1",n),p.attr("x2",i),p.attr("y2",n)),d===a.db.LINETYPE.DOTTED||d===a.db.LINETYPE.DOTTED_CROSS||d===a.db.LINETYPE.DOTTED_POINT||d===a.db.LINETYPE.DOTTED_OPEN?(p.style("stroke-dasharray","3, 3"),p.attr("class","messageLine1")):p.attr("class","messageLine0");let f="";RP.arrowMarkerAbsolute&&(f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,f=f.replace(/\(/g,"\\("),f=f.replace(/\)/g,"\\)")),p.attr("stroke-width",2),p.attr("stroke","none"),p.style("fill","none"),(d===a.db.LINETYPE.SOLID||d===a.db.LINETYPE.DOTTED)&&p.attr("marker-end","url("+f+"#arrowhead)"),(d===a.db.LINETYPE.SOLID_POINT||d===a.db.LINETYPE.DOTTED_POINT)&&p.attr("marker-end","url("+f+"#filled-head)"),(d===a.db.LINETYPE.SOLID_CROSS||d===a.db.LINETYPE.DOTTED_CROSS)&&p.attr("marker-end","url("+f+"#crosshead)"),(c||RP.showSequenceNumbers)&&(p.attr("marker-start","url("+f+"#sequencenumber)"),e.append("text").attr("x",r).attr("y",n+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(l))},wP=function(e,t,n,a,r,i){if(!0===r.hideUnusedParticipants){const e=new Set;i.forEach((t=>{e.add(t.from),e.add(t.to)})),n=n.filter((t=>e.has(t)))}let s=0,o=0,d=0;for(const l of n){const n=t[l];n.width=n.width||RP.width,n.height=Math.max(n.height||RP.height,RP.height),n.margin=n.margin||RP.actorMargin,n.x=s+o,n.y=a;const r=mP.drawActor(e,n,RP);d=Math.max(d,r),yP.insert(n.x,a,n.x+n.width,n.height),s+=n.width,o+=n.margin,yP.models.addActor(n)}yP.bumpVerticalPos(d)},EP=function(e,t,n,a){let r=0,i=0;for(const s of n){const n=t[s],o=FP(n),d=mP.drawPopup(e,n,o,RP,RP.forceMenus,a);d.height>r&&(r=d.height),d.width+n.x>i&&(i=d.width+n.x)}return{maxHeight:r,maxWidth:i}},SP=function(e){sf(RP,e),e.fontFamily&&(RP.actorFontFamily=RP.noteFontFamily=RP.messageFontFamily=e.fontFamily),e.fontSize&&(RP.actorFontSize=RP.noteFontSize=RP.messageFontSize=e.fontSize),e.fontWeight&&(RP.actorFontWeight=RP.noteFontWeight=RP.messageFontWeight=e.fontWeight)},AP=function(e){return yP.activations.filter((function(t){return t.actor===e}))},TP=function(e,t){const n=t[e],a=AP(e);return[a.reduce((function(e,t){return Math.min(e,t.startx)}),n.x+n.width/2),a.reduce((function(e,t){return Math.max(e,t.stopx)}),n.x+n.width/2)]};function DP(e,t,n,a,r){yP.bumpVerticalPos(n);let i=a;if(t.id&&t.message&&e[t.id]){const n=e[t.id].width,r=xP(RP);t.message=Km.wrapLabel(`[${t.message}]`,n-2*RP.wrapPadding,r),t.width=n,t.wrap=!0;const s=Km.calculateTextDimensions(t.message,r),o=Math.max(s.height,RP.labelBoxHeight);i=a+o,g.debug(`${o} - ${t.message}`)}r(t),yP.bumpVerticalPos(i)}const LP=function(e,t,n,a){const{securityLevel:r,sequence:i}=ey();let s;RP=i,"sandbox"===r&&(s=hn("#i"+t));const o=hn("sandbox"===r?s.nodes()[0].contentDocument.body:"body"),d="sandbox"===r?s.nodes()[0].contentDocument:document;yP.init(),g.debug(a.db);const l="sandbox"===r?o.select(`[id="${t}"]`):hn(`[id="${t}"]`),c=a.db.getActors(),u=a.db.getActorKeys(),h=a.db.getMessages(),p=a.db.getDiagramTitle(),f=IP(c,h,a);RP.height=OP(c,f),mP.insertComputerIcon(l),mP.insertDatabaseIcon(l),mP.insertClockIcon(l),wP(l,c,u,0,RP,h);const m=MP(h,c,f,a);function R(e,t){const n=yP.endActivation(e);n.starty+18>t&&(n.starty=t-6,t+=12),mP.drawActivation(l,n,t,RP,AP(e.from.actor).length),yP.insert(n.startx,t-10,n.stopx,t)}mP.insertArrowHead(l),mP.insertArrowCrossHead(l),mP.insertArrowFilledHead(l),mP.insertSequenceNumber(l);let y=1,b=1;const x=[];h.forEach((function(e){let t,n,r;switch(e.type){case a.db.LINETYPE.NOTE:n=e.noteModel,bP(l,n);break;case a.db.LINETYPE.ACTIVE_START:yP.newActivation(e,l,c);break;case a.db.LINETYPE.ACTIVE_END:R(e,yP.getVerticalPos());break;case a.db.LINETYPE.LOOP_START:DP(m,e,RP.boxMargin,RP.boxMargin+RP.boxTextMargin,(e=>yP.newLoop(e)));break;case a.db.LINETYPE.LOOP_END:t=yP.endLoop(),mP.drawLoop(l,t,"loop",RP),yP.bumpVerticalPos(t.stopy-yP.getVerticalPos()),yP.models.addLoop(t);break;case a.db.LINETYPE.RECT_START:DP(m,e,RP.boxMargin,RP.boxMargin,(e=>yP.newLoop(void 0,e.message)));break;case a.db.LINETYPE.RECT_END:t=yP.endLoop(),mP.drawBackgroundRect(l,t),yP.models.addLoop(t),yP.bumpVerticalPos(t.stopy-yP.getVerticalPos());break;case a.db.LINETYPE.OPT_START:DP(m,e,RP.boxMargin,RP.boxMargin+RP.boxTextMargin,(e=>yP.newLoop(e)));break;case a.db.LINETYPE.OPT_END:t=yP.endLoop(),mP.drawLoop(l,t,"opt",RP),yP.bumpVerticalPos(t.stopy-yP.getVerticalPos()),yP.models.addLoop(t);break;case a.db.LINETYPE.ALT_START:DP(m,e,RP.boxMargin,RP.boxMargin+RP.boxTextMargin,(e=>yP.newLoop(e)));break;case a.db.LINETYPE.ALT_ELSE:DP(m,e,RP.boxMargin+RP.boxTextMargin,RP.boxMargin,(e=>yP.addSectionToLoop(e)));break;case a.db.LINETYPE.ALT_END:t=yP.endLoop(),mP.drawLoop(l,t,"alt",RP),yP.bumpVerticalPos(t.stopy-yP.getVerticalPos()),yP.models.addLoop(t);break;case a.db.LINETYPE.PAR_START:DP(m,e,RP.boxMargin,RP.boxMargin+RP.boxTextMargin,(e=>yP.newLoop(e)));break;case a.db.LINETYPE.PAR_AND:DP(m,e,RP.boxMargin+RP.boxTextMargin,RP.boxMargin,(e=>yP.addSectionToLoop(e)));break;case a.db.LINETYPE.PAR_END:t=yP.endLoop(),mP.drawLoop(l,t,"par",RP),yP.bumpVerticalPos(t.stopy-yP.getVerticalPos()),yP.models.addLoop(t);break;case a.db.LINETYPE.AUTONUMBER:y=e.message.start||y,b=e.message.step||b,e.message.visible?a.db.enableSequenceNumbers():a.db.disableSequenceNumbers();break;case a.db.LINETYPE.CRITICAL_START:DP(m,e,RP.boxMargin,RP.boxMargin+RP.boxTextMargin,(e=>yP.newLoop(e)));break;case a.db.LINETYPE.CRITICAL_OPTION:DP(m,e,RP.boxMargin+RP.boxTextMargin,RP.boxMargin,(e=>yP.addSectionToLoop(e)));break;case a.db.LINETYPE.CRITICAL_END:t=yP.endLoop(),mP.drawLoop(l,t,"critical",RP),yP.bumpVerticalPos(t.stopy-yP.getVerticalPos()),yP.models.addLoop(t);break;case a.db.LINETYPE.BREAK_START:DP(m,e,RP.boxMargin,RP.boxMargin+RP.boxTextMargin,(e=>yP.newLoop(e)));break;case a.db.LINETYPE.BREAK_END:t=yP.endLoop(),mP.drawLoop(l,t,"break",RP),yP.bumpVerticalPos(t.stopy-yP.getVerticalPos()),yP.models.addLoop(t);break;default:try{r=e.msgModel,r.starty=yP.getVerticalPos(),r.sequenceIndex=y,r.sequenceVisible=a.db.showSequenceNumbers();const t=kP(l,r);x.push({messageModel:r,lineStartY:t}),yP.models.addMessage(r)}catch(i){g.error("error while drawing message",i)}}[a.db.LINETYPE.SOLID_OPEN,a.db.LINETYPE.DOTTED_OPEN,a.db.LINETYPE.SOLID,a.db.LINETYPE.DOTTED,a.db.LINETYPE.SOLID_CROSS,a.db.LINETYPE.DOTTED_CROSS,a.db.LINETYPE.SOLID_POINT,a.db.LINETYPE.DOTTED_POINT].includes(e.type)&&(y+=b)})),x.forEach((e=>CP(l,e.messageModel,e.lineStartY,a))),RP.mirrorActors&&(yP.bumpVerticalPos(2*RP.boxMargin),wP(l,c,u,yP.getVerticalPos(),RP,h),yP.bumpVerticalPos(RP.boxMargin),KM(l,yP.getVerticalPos()));const v=EP(l,c,u,d),{bounds:_}=yP.getBounds();g.debug("For line height fix Querying: #"+t+" .actor-line"),gn("#"+t+" .actor-line").attr("y2",_.stopy);let k=_.stopy-_.starty;k<v.maxHeight&&(k=v.maxHeight);let C=k+2*RP.diagramMarginY;RP.mirrorActors&&(C=C-RP.boxMargin+RP.bottomMarginAdj);let w=_.stopx-_.startx;w<v.maxWidth&&(w=v.maxWidth);const E=w+2*RP.diagramMarginX;p&&l.append("text").text(p).attr("x",(_.stopx-_.startx)/2-2*RP.diagramMarginX).attr("y",-25),cy(l,C,E,RP.useMaxWidth);const S=p?40:0;l.attr("viewBox",_.startx-RP.diagramMarginX+" -"+(RP.diagramMarginY+S)+" "+E+" "+(C+S)),g.debug("models:",yP.models)};function IP(e,t,n){const a={};return t.forEach((function(t){if(e[t.to]&&e[t.from]){const r=e[t.to];if(t.placement===n.db.PLACEMENT.LEFTOF&&!r.prevActor||t.placement===n.db.PLACEMENT.RIGHTOF&&!r.nextActor)return;const i=void 0!==t.placement,s=!i,o=i?vP(RP):xP(RP),d=t.wrap?Km.wrapLabel(t.message,RP.width-2*RP.wrapPadding,o):t.message,l=Km.calculateTextDimensions(d,o).width+2*RP.wrapPadding;s&&t.from===r.nextActor?a[t.to]=Math.max(a[t.to]||0,l):s&&t.from===r.prevActor?a[t.from]=Math.max(a[t.from]||0,l):s&&t.from===t.to?(a[t.from]=Math.max(a[t.from]||0,l/2),a[t.to]=Math.max(a[t.to]||0,l/2)):t.placement===n.db.PLACEMENT.RIGHTOF?a[t.from]=Math.max(a[t.from]||0,l):t.placement===n.db.PLACEMENT.LEFTOF?a[r.prevActor]=Math.max(a[r.prevActor]||0,l):t.placement===n.db.PLACEMENT.OVER&&(r.prevActor&&(a[r.prevActor]=Math.max(a[r.prevActor]||0,l/2)),r.nextActor&&(a[t.from]=Math.max(a[t.from]||0,l/2)))}})),g.debug("maxMessageWidthPerActor:",a),a}const FP=function(e){let t=0;const n=_P(RP);for(const a in e.links){const e=Km.calculateTextDimensions(a,n).width+2*RP.wrapPadding+2*RP.boxMargin;t<e&&(t=e)}return t};function OP(e,t){let n=0;Object.keys(e).forEach((t=>{const a=e[t];a.wrap&&(a.description=Km.wrapLabel(a.description,RP.width-2*RP.wrapPadding,_P(RP)));const r=Km.calculateTextDimensions(a.description,_P(RP));a.width=a.wrap?RP.width:Math.max(RP.width,r.width+2*RP.wrapPadding),a.height=a.wrap?Math.max(r.height,RP.height):RP.height,n=Math.max(n,a.height)}));for(const a in t){const n=e[a];if(!n)continue;const r=e[n.nextActor];if(!r)continue;const i=t[a]+RP.actorMargin-n.width/2-r.width/2;n.margin=Math.max(i,RP.actorMargin)}return Math.max(n,RP.height)}const NP=function(e,t,n){const a=t[e.from].x,r=t[e.to].x,i=e.wrap&&e.message;let s=Km.calculateTextDimensions(i?Km.wrapLabel(e.message,RP.width,vP(RP)):e.message,vP(RP));const o={width:i?RP.width:Math.max(RP.width,s.width+2*RP.noteMargin),height:0,startx:t[e.from].x,stopx:0,starty:0,stopy:0,message:e.message};return e.placement===n.db.PLACEMENT.RIGHTOF?(o.width=i?Math.max(RP.width,s.width):Math.max(t[e.from].width/2+t[e.to].width/2,s.width+2*RP.noteMargin),o.startx=a+(t[e.from].width+RP.actorMargin)/2):e.placement===n.db.PLACEMENT.LEFTOF?(o.width=Math.max(i?RP.width:t[e.from].width/2+t[e.to].width/2,s.width+2*RP.noteMargin),o.startx=a-o.width+(t[e.from].width-RP.actorMargin)/2):e.to===e.from?(s=Km.calculateTextDimensions(i?Km.wrapLabel(e.message,Math.max(RP.width,t[e.from].width),vP(RP)):e.message,vP(RP)),o.width=i?Math.max(RP.width,t[e.from].width):Math.max(t[e.from].width,RP.width,s.width+2*RP.noteMargin),o.startx=a+(t[e.from].width-o.width)/2):(o.width=Math.abs(a+t[e.from].width/2-(r+t[e.to].width/2))+RP.actorMargin,o.startx=a<r?a+t[e.from].width/2-RP.actorMargin/2:r+t[e.to].width/2-RP.actorMargin/2),i&&(o.message=Km.wrapLabel(e.message,o.width-2*RP.wrapPadding,vP(RP))),g.debug(`NM:[${o.startx},${o.stopx},${o.starty},${o.stopy}:${o.width},${o.height}=${e.message}]`),o},BP=function(e,t,n){let a=!1;if([n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT].includes(e.type)&&(a=!0),!a)return{};const r=TP(e.from,t),i=TP(e.to,t),s=r[0]<=i[0]?1:0,o=r[0]<i[0]?0:1,d=[...r,...i],l=Math.abs(i[o]-r[s]);e.wrap&&e.message&&(e.message=Km.wrapLabel(e.message,Math.max(l+2*RP.wrapPadding,RP.width),xP(RP)));const c=Km.calculateTextDimensions(e.message,xP(RP));return{width:Math.max(e.wrap?0:c.width+2*RP.wrapPadding,l+2*RP.wrapPadding,RP.width),height:0,startx:r[s],stopx:i[o],starty:0,stopy:0,message:e.message,type:e.type,wrap:e.wrap,fromBounds:Math.min.apply(null,d),toBounds:Math.max.apply(null,d)}},MP=function(e,t,n,a){const r={},i=[];let s,o,d;return e.forEach((function(e){switch(e.id=Km.random({length:10}),e.type){case a.db.LINETYPE.LOOP_START:case a.db.LINETYPE.ALT_START:case a.db.LINETYPE.OPT_START:case a.db.LINETYPE.PAR_START:case a.db.LINETYPE.CRITICAL_START:case a.db.LINETYPE.BREAK_START:i.push({id:e.id,msg:e.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case a.db.LINETYPE.ALT_ELSE:case a.db.LINETYPE.PAR_AND:case a.db.LINETYPE.CRITICAL_OPTION:e.message&&(s=i.pop(),r[s.id]=s,r[e.id]=s,i.push(s));break;case a.db.LINETYPE.LOOP_END:case a.db.LINETYPE.ALT_END:case a.db.LINETYPE.OPT_END:case a.db.LINETYPE.PAR_END:case a.db.LINETYPE.CRITICAL_END:case a.db.LINETYPE.BREAK_END:s=i.pop(),r[s.id]=s;break;case a.db.LINETYPE.ACTIVE_START:{const n=t[e.from?e.from.actor:e.to.actor],a=AP(e.from?e.from.actor:e.to.actor).length,r=n.x+n.width/2+(a-1)*RP.activationWidth/2,i={startx:r,stopx:r+RP.activationWidth,actor:e.from.actor,enabled:!0};yP.activations.push(i)}break;case a.db.LINETYPE.ACTIVE_END:{const t=yP.activations.map((e=>e.actor)).lastIndexOf(e.from.actor);delete yP.activations.splice(t,1)[0]}}void 0!==e.placement?(o=NP(e,t,a),e.noteModel=o,i.forEach((e=>{s=e,s.from=Math.min(s.from,o.startx),s.to=Math.max(s.to,o.startx+o.width),s.width=Math.max(s.width,Math.abs(s.from-s.to))-RP.labelBoxWidth}))):(d=BP(e,t,a),e.msgModel=d,d.startx&&d.stopx&&i.length>0&&i.forEach((n=>{if(s=n,d.startx===d.stopx){const n=t[e.from],a=t[e.to];s.from=Math.min(n.x-d.width/2,n.x-n.width/2,s.from),s.to=Math.max(a.x+d.width/2,a.x+n.width/2,s.to),s.width=Math.max(s.width,Math.abs(s.to-s.from))-RP.labelBoxWidth}else s.from=Math.min(d.startx,s.from),s.to=Math.max(d.stopx,s.to),s.width=Math.max(s.width,d.width)-RP.labelBoxWidth})))})),yP.activations=[],g.debug("Loop type widths:",r),r},PP={bounds:yP,drawActors:wP,drawActorsPopup:EP,setConf:SP,draw:LP};var jP=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,2],n=[1,3],a=[1,5],r=[1,7],i=[2,5],s=[1,15],o=[1,17],d=[1,21],l=[1,22],c=[1,23],u=[1,24],h=[1,37],g=[1,25],p=[1,26],f=[1,27],m=[1,28],R=[1,29],y=[1,32],b=[1,33],x=[1,34],v=[1,35],_=[1,36],k=[1,39],C=[1,40],w=[1,41],E=[1,42],S=[1,38],A=[1,45],T=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],D=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],L=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],F={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 4:return a.setRootDoc(i[o]),i[o];case 5:this.$=[];break;case 6:"nl"!=i[o]&&(i[o-1].push(i[o]),this.$=i[o-1]);break;case 7:case 8:case 12:this.$=i[o];break;case 9:this.$="nl";break;case 13:const e=i[o-1];e.description=a.trimColon(i[o]),this.$=e;break;case 14:this.$={stmt:"relation",state1:i[o-2],state2:i[o]};break;case 15:const t=a.trimColon(i[o]);this.$={stmt:"relation",state1:i[o-3],state2:i[o-1],description:t};break;case 19:this.$={stmt:"state",id:i[o-3],type:"default",description:"",doc:i[o-1]};break;case 20:var d=i[o],l=i[o-2].trim();if(i[o].match(":")){var c=i[o].split(":");d=c[0],l=[l,c[1]]}this.$={stmt:"state",id:d,type:"default",description:l};break;case 21:this.$={stmt:"state",id:i[o-3],type:"default",description:i[o-5],doc:i[o-1]};break;case 22:this.$={stmt:"state",id:i[o],type:"fork"};break;case 23:this.$={stmt:"state",id:i[o],type:"join"};break;case 24:this.$={stmt:"state",id:i[o],type:"choice"};break;case 25:this.$={stmt:"state",id:a.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:i[o-1].trim(),note:{position:i[o-2].trim(),text:i[o].trim()}};break;case 30:this.$=i[o].trim(),a.setAccTitle(this.$);break;case 31:case 32:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:i[o-1].trim(),classes:i[o].trim()};break;case 35:this.$={stmt:"applyClass",id:i[o-1].trim(),styleClass:i[o].trim()};break;case 38:a.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:a.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:a.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:a.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:i[o].trim(),type:"default",description:""};break;case 46:case 47:this.$={stmt:"state",id:i[o-2].trim(),classes:[i[o].trim()],type:"default",description:""};break;case 50:a.parseDirective("%%{","open_directive");break;case 51:a.parseDirective(i[o],"type_directive");break;case 52:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 53:a.parseDirective("}%%","close_directive","state")}},table:[{3:1,4:t,5:n,6:4,7:a,45:6,60:r},{1:[3]},{3:8,4:t,5:n,6:4,7:a,45:6,60:r},{3:9,4:t,5:n,6:4,7:a,45:6,60:r},{3:10,4:t,5:n,6:4,7:a,45:6,60:r},e([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],i,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:s,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:l,19:c,22:u,24:h,25:g,26:p,27:f,28:m,29:R,32:31,33:y,35:b,37:x,38:v,42:_,45:6,50:k,51:C,52:w,53:E,56:S,60:r},{47:43,48:[1,44],63:A},e([48,63],[2,51]),e(T,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:d,17:l,19:c,22:u,24:h,25:g,26:p,27:f,28:m,29:R,32:31,33:y,35:b,37:x,38:v,42:_,45:6,50:k,51:C,52:w,53:E,56:S,60:r},e(T,[2,8]),e(T,[2,9]),e(T,[2,10]),e(T,[2,11]),e(T,[2,12],{14:[1,47],15:[1,48]}),e(T,[2,16]),{18:[1,49]},e(T,[2,18],{20:[1,50]}),{23:[1,51]},e(T,[2,22]),e(T,[2,23]),e(T,[2,24]),e(T,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},e(T,[2,28]),e(T,[2,29]),{34:[1,56]},{36:[1,57]},e(T,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},e(D,[2,44],{57:[1,61]}),e(D,[2,45],{57:[1,62]}),e(T,[2,38]),e(T,[2,39]),e(T,[2,40]),e(T,[2,41]),e(L,[2,36]),{49:63,62:[1,64]},e(L,[2,53]),e(T,[2,7]),e(T,[2,13]),{13:65,24:h,56:S},e(T,[2,17]),e(I,i,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},e(T,[2,30]),e(T,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:A},{63:[2,52]},e(T,[2,14],{14:[1,76]}),{4:s,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:l,19:c,21:[1,77],22:u,24:h,25:g,26:p,27:f,28:m,29:R,32:31,33:y,35:b,37:x,38:v,42:_,45:6,50:k,51:C,52:w,53:E,56:S,60:r},e(T,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},e(T,[2,33]),e(T,[2,34]),e(T,[2,35]),e(D,[2,46]),e(D,[2,47]),e(L,[2,37]),e(T,[2,15]),e(T,[2,19]),e(I,i,{8:81}),e(T,[2,26]),e(T,[2,27]),{4:s,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:d,17:l,19:c,21:[1,82],22:u,24:h,25:g,26:p,27:f,28:m,29:R,32:31,33:y,35:b,37:x,38:v,42:_,45:6,50:k,51:C,52:w,53:E,56:S,60:r},e(T,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},O={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,a){switch(n){case 0:return 41;case 1:case 44:return 50;case 2:case 45:return 51;case 3:case 46:return 52;case 4:case 47:return 53;case 5:return this.begin("open_directive"),60;case 6:return this.begin("type_directive"),61;case 7:return this.popState(),this.begin("arg_directive"),48;case 8:return this.popState(),this.popState(),63;case 9:return 62;case 10:case 11:case 13:case 14:case 15:case 16:case 56:case 58:case 64:break;case 12:case 79:return 5;case 17:case 34:return this.pushState("SCALE"),17;case 18:case 35:return 18;case 19:case 25:case 36:case 51:case 54:this.popState();break;case 20:return this.begin("acc_title"),33;case 21:return this.popState(),"acc_title_value";case 22:return this.begin("acc_descr"),35;case 23:return this.popState(),"acc_descr_value";case 24:this.begin("acc_descr_multiline");break;case 26:return"acc_descr_multiline_value";case 27:return this.pushState("CLASSDEF"),38;case 28:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 29:return this.popState(),this.pushState("CLASSDEFID"),39;case 30:return this.popState(),40;case 31:return this.pushState("CLASS"),42;case 32:return this.popState(),this.pushState("CLASS_STYLE"),43;case 33:return this.popState(),44;case 37:this.pushState("STATE");break;case 38:case 41:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),25;case 39:case 42:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),26;case 40:case 43:return this.popState(),t.yytext=t.yytext.slice(0,-10).trim(),27;case 48:this.begin("STATE_STRING");break;case 49:return this.popState(),this.pushState("STATE_ID"),"AS";case 50:case 66:return this.popState(),"ID";case 52:return"STATE_DESCR";case 53:return 19;case 55:return this.popState(),this.pushState("struct"),20;case 57:return this.popState(),21;case 59:return this.begin("NOTE"),29;case 60:return this.popState(),this.pushState("NOTE_ID"),58;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:this.popState(),this.pushState("FLOATING_NOTE");break;case 63:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:return"NOTE_TEXT";case 67:return this.popState(),this.pushState("NOTE_TEXT"),24;case 68:return this.popState(),t.yytext=t.yytext.substr(2).trim(),31;case 69:return this.popState(),t.yytext=t.yytext.slice(0,-8).trim(),31;case 70:case 71:return 7;case 72:return 16;case 73:return 56;case 74:return 24;case 75:return t.yytext=t.yytext.trim(),14;case 76:return 15;case 77:return 28;case 78:return 57;case 80:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[14,15],inclusive:!1},close_directive:{rules:[14,15],inclusive:!1},arg_directive:{rules:[8,9,14,15],inclusive:!1},type_directive:{rules:[7,8,14,15],inclusive:!1},open_directive:{rules:[6,14,15],inclusive:!1},struct:{rules:[14,15,27,31,37,44,45,46,47,56,57,58,59,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[66],inclusive:!1},FLOATING_NOTE:{rules:[63,64,65],inclusive:!1},NOTE_TEXT:{rules:[68,69],inclusive:!1},NOTE_ID:{rules:[67],inclusive:!1},NOTE:{rules:[60,61,62],inclusive:!1},CLASS_STYLE:{rules:[33],inclusive:!1},CLASS:{rules:[32],inclusive:!1},CLASSDEFID:{rules:[30],inclusive:!1},CLASSDEF:{rules:[28,29],inclusive:!1},acc_descr_multiline:{rules:[25,26],inclusive:!1},acc_descr:{rules:[23],inclusive:!1},acc_title:{rules:[21],inclusive:!1},SCALE:{rules:[18,19,35,36],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[50],inclusive:!1},STATE_STRING:{rules:[51,52],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[14,15,38,39,40,41,42,43,48,49,53,54,55],inclusive:!1},ID:{rules:[14,15],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,10,11,12,13,15,16,17,20,22,24,27,31,34,37,55,59,70,71,72,73,74,75,76,78,79,80],inclusive:!0}}};function N(){this.yy={}}return F.lexer=O,N.prototype=F,F.Parser=N,new N}();jP.parser=jP;const VP=jP,$P=(e,t)=>{var n;return"dagre-wrapper"!==(null==(n=null==t?void 0:t.state)?void 0:n.defaultRenderer)&&null!==e.match(/^\s*stateDiagram/)},UP=(e,t)=>{var n;return!!(null!==e.match(/^\s*stateDiagram-v2/)||e.match(/^\s*stateDiagram/)&&"dagre-wrapper"===(null==(n=null==t?void 0:t.state)?void 0:n.defaultRenderer))},zP="LR",HP="TB",YP="state",WP="relation",qP="classDef",GP="applyClass",XP="default",JP="divider",KP="[*]",ZP="start",QP=KP,ej="end",tj="color",nj="fill",aj="bgFill",rj=",";function ij(){return{}}let sj=zP,oj=[],dj=ij();const lj=()=>({relations:[],states:{},documents:{}});let cj={root:lj()},uj=cj.root,hj=0,gj=0;const pj=e=>JSON.parse(JSON.stringify(e)),fj=(e,t,n)=>{if(t.stmt===WP)fj(e,t.state1,!0),fj(e,t.state2,!1);else if(t.stmt===YP&&"[*]"===t.id&&(t.id=n?e.id+"_start":e.id+"_end",t.start=n),t.doc){const e=[];let n,a=[];for(n=0;n<t.doc.length;n++)if(t.doc[n].type===JP){const r=pj(t.doc[n]);r.doc=pj(a),e.push(r),a=[]}else a.push(t.doc[n]);if(e.length>0&&a.length>0){const n={stmt:YP,id:Bm(),type:"divider",doc:pj(a)};e.push(pj(n)),t.doc=e}t.doc.forEach((e=>fj(t,e,!0)))}},mj=e=>{let t;t=e.doc?e.doc:e,g.info(t),yj(!0),g.info("Extract",t),t.forEach((e=>{switch(e.stmt){case YP:Rj(e.id,e.type,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles);break;case WP:wj(e.state1,e.state2,e.description);break;case qP:Sj(e.id,e.classes);break;case GP:Aj(e.id,e.styleClass)}}))},Rj=function(e,t=XP,n=null,a=null,r=null,i=null,s=null,o=null){void 0===uj.states[e]?(g.info("Adding state ",e,a),uj.states[e]={id:e,descriptions:[],type:t,doc:n,note:r,classes:[],styles:[],textStyles:[]}):(uj.states[e].doc||(uj.states[e].doc=n),uj.states[e].type||(uj.states[e].type=t)),a&&(g.info("Setting state description",e,a),"string"==typeof a&&Ej(e,a.trim()),"object"==typeof a&&a.forEach((t=>Ej(e,t.trim())))),r&&(uj.states[e].note=r,uj.states[e].note.text=Bu.sanitizeText(uj.states[e].note.text,ey())),i&&(g.info("Setting state classes",e,i),("string"==typeof i?[i]:i).forEach((t=>Aj(e,t.trim())))),s&&(g.info("Setting state styles",e,s),("string"==typeof s?[s]:s).forEach((t=>Tj(e,t.trim())))),o&&(g.info("Setting state styles",e,s),("string"==typeof o?[o]:o).forEach((t=>Dj(e,t.trim()))))},yj=function(e){cj={root:lj()},uj=cj.root,hj=0,dj=ij(),e||Uy()},bj=function(e){return uj.states[e]};function xj(e=""){let t=e;return e===KP&&(hj++,t=`${ZP}${hj}`),t}function vj(e="",t=XP){return e===KP?ZP:t}function _j(e=""){let t=e;return e===QP&&(hj++,t=`${ej}${hj}`),t}function kj(e="",t=XP){return e===QP?ej:t}function Cj(e,t,n){let a=xj(e.id),r=vj(e.id,e.type),i=xj(t.id),s=vj(t.id,t.type);Rj(a,r,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),Rj(i,s,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),uj.relations.push({id1:a,id2:i,relationTitle:Bu.sanitizeText(n,ey())})}const wj=function(e,t,n){if("object"==typeof e)Cj(e,t,n);else{const a=xj(e),r=vj(e),i=_j(t),s=kj(t);Rj(a,r),Rj(i,s),uj.relations.push({id1:a,id2:i,title:Bu.sanitizeText(n,ey())})}},Ej=function(e,t){const n=uj.states[e],a=t.startsWith(":")?t.replace(":","").trim():t;n.descriptions.push(Bu.sanitizeText(a,ey()))},Sj=function(e,t=""){void 0===dj[e]&&(dj[e]={id:e,styles:[],textStyles:[]});const n=dj[e];null!=t&&t.split(rj).forEach((e=>{const t=e.replace(/([^;]*);/,"$1").trim();if(e.match(tj)){const e=t.replace(nj,aj).replace(tj,nj);n.textStyles.push(e)}n.styles.push(t)}))},Aj=function(e,t){e.split(",").forEach((function(e){let n=bj(e);if(void 0===n){const t=e.trim();Rj(t),n=bj(t)}n.classes.push(t)}))},Tj=function(e,t){const n=bj(e);void 0!==n&&n.textStyles.push(t)},Dj=function(e,t){const n=bj(e);void 0!==n&&n.textStyles.push(t)},Lj={parseDirective:function(e,t,n){rU.parseDirective(this,e,t,n)},getConfig:()=>ey().state,addState:Rj,clear:yj,getState:bj,getStates:function(){return uj.states},getRelations:function(){return uj.relations},getClasses:function(){return dj},getDirection:()=>sj,addRelation:wj,getDividerId:()=>(gj++,"divider-id-"+gj),setDirection:e=>{sj=e},cleanupLabel:function(e){return":"===e.substring(0,1)?e.substr(2).trim():e.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:function(){g.info("Documents = ",cj)},getRootDoc:()=>oj,setRootDoc:e=>{g.info("Setting root doc",e),oj=e},getRootDocV2:()=>(fj({id:"root"},{id:"root",doc:oj},!0),{id:"root",doc:oj}),extract:mj,trimColon:e=>e&&":"===e[0]?e.substr(1).trim():e.trim(),getAccTitle:Hy,setAccTitle:zy,getAccDescription:Wy,setAccDescription:Yy,addStyleClass:Sj,setCssClass:Aj,addDescription:Ej,setDiagramTitle:qy,getDiagramTitle:Gy},Ij={},Fj=()=>Object.keys(Ij),Oj={get:e=>Ij[e],set:(e,t)=>{Ij[e]=t},keys:Fj,size:()=>Fj().length},Nj=e=>e.append("circle").attr("class","start-state").attr("r",ey().state.sizeUnit).attr("cx",ey().state.padding+ey().state.sizeUnit).attr("cy",ey().state.padding+ey().state.sizeUnit),Bj=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",ey().state.textHeight).attr("class","divider").attr("x2",2*ey().state.textHeight).attr("y1",0).attr("y2",0),Mj=(e,t)=>{const n=e.append("text").attr("x",2*ey().state.padding).attr("y",ey().state.textHeight+2*ey().state.padding).attr("font-size",ey().state.fontSize).attr("class","state-title").text(t.id),a=n.node().getBBox();return e.insert("rect",":first-child").attr("x",ey().state.padding).attr("y",ey().state.padding).attr("width",a.width+2*ey().state.padding).attr("height",a.height+2*ey().state.padding).attr("rx",ey().state.radius),n},Pj=(e,t)=>{const n=function(e,t,n){const a=e.append("tspan").attr("x",2*ey().state.padding).text(t);n||a.attr("dy",ey().state.textHeight)},a=e.append("text").attr("x",2*ey().state.padding).attr("y",ey().state.textHeight+1.3*ey().state.padding).attr("font-size",ey().state.fontSize).attr("class","state-title").text(t.descriptions[0]).node().getBBox(),r=a.height,i=e.append("text").attr("x",ey().state.padding).attr("y",r+.4*ey().state.padding+ey().state.dividerMargin+ey().state.textHeight).attr("class","state-description");let s=!0,o=!0;t.descriptions.forEach((function(e){s||(n(i,e,o),o=!1),s=!1}));const d=e.append("line").attr("x1",ey().state.padding).attr("y1",ey().state.padding+r+ey().state.dividerMargin/2).attr("y2",ey().state.padding+r+ey().state.dividerMargin/2).attr("class","descr-divider"),l=i.node().getBBox(),c=Math.max(l.width,a.width);return d.attr("x2",c+3*ey().state.padding),e.insert("rect",":first-child").attr("x",ey().state.padding).attr("y",ey().state.padding).attr("width",c+2*ey().state.padding).attr("height",l.height+r+2*ey().state.padding).attr("rx",ey().state.radius),e},jj=(e,t,n)=>{const a=ey().state.padding,r=2*ey().state.padding,i=e.node().getBBox(),s=i.width,o=i.x,d=e.append("text").attr("x",0).attr("y",ey().state.titleShift).attr("font-size",ey().state.fontSize).attr("class","state-title").text(t.id),l=d.node().getBBox().width+r;let c,u=Math.max(l,s);u===s&&(u+=r);const h=e.node().getBBox();t.doc,c=o-a,l>s&&(c=(s-u)/2+a),Math.abs(o-h.x)<a&&l>s&&(c=o-(l-s)/2);const g=1-ey().state.textHeight;return e.insert("rect",":first-child").attr("x",c).attr("y",g).attr("class",n?"alt-composit":"composit").attr("width",u).attr("height",h.height+ey().state.textHeight+ey().state.titleShift+1).attr("rx","0"),d.attr("x",c+a),l<=s&&d.attr("x",o+(u-r)/2-l/2+a),e.insert("rect",":first-child").attr("x",c).attr("y",ey().state.titleShift-ey().state.textHeight-ey().state.padding).attr("width",u).attr("height",3*ey().state.textHeight).attr("rx",ey().state.radius),e.insert("rect",":first-child").attr("x",c).attr("y",ey().state.titleShift-ey().state.textHeight-ey().state.padding).attr("width",u).attr("height",h.height+3+2*ey().state.textHeight).attr("rx",ey().state.radius),e},Vj=e=>(e.append("circle").attr("class","end-state-outer").attr("r",ey().state.sizeUnit+ey().state.miniPadding).attr("cx",ey().state.padding+ey().state.sizeUnit+ey().state.miniPadding).attr("cy",ey().state.padding+ey().state.sizeUnit+ey().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",ey().state.sizeUnit).attr("cx",ey().state.padding+ey().state.sizeUnit+2).attr("cy",ey().state.padding+ey().state.sizeUnit+2)),$j=(e,t)=>{let n=ey().state.forkWidth,a=ey().state.forkHeight;if(t.parentId){let e=n;n=a,a=e}return e.append("rect").style("stroke","black").style("fill","black").attr("width",n).attr("height",a).attr("x",ey().state.padding).attr("y",ey().state.padding)},Uj=(e,t,n,a)=>{let r=0;const i=a.append("text");i.style("text-anchor","start"),i.attr("class","noteText");let s=e.replace(/\r\n/g,"<br/>");s=s.replace(/\n/g,"<br/>");const o=s.split(Bu.lineBreakRegex);let d=1.25*ey().state.noteMargin;for(const l of o){const e=l.trim();if(e.length>0){const a=i.append("tspan");a.text(e),0===d&&(d+=a.node().getBBox().height),r+=d,a.attr("x",t+ey().state.noteMargin),a.attr("y",n+r+1.25*ey().state.noteMargin)}}return{textWidth:i.node().getBBox().width,textHeight:r}},zj=(e,t)=>{t.attr("class","state-note");const n=t.append("rect").attr("x",0).attr("y",ey().state.padding),a=t.append("g"),{textWidth:r,textHeight:i}=Uj(e,0,0,a);return n.attr("height",i+2*ey().state.noteMargin),n.attr("width",r+2*ey().state.noteMargin),n},Hj=function(e,t){const n=t.id,a={id:n,label:t.id,width:0,height:0},r=e.append("g").attr("id",n).attr("class","stateGroup");"start"===t.type&&Nj(r),"end"===t.type&&Vj(r),("fork"===t.type||"join"===t.type)&&$j(r,t),"note"===t.type&&zj(t.note.text,r),"divider"===t.type&&Bj(r),"default"===t.type&&0===t.descriptions.length&&Mj(r,t),"default"===t.type&&t.descriptions.length>0&&Pj(r,t);const i=r.node().getBBox();return a.width=i.width+2*ey().state.padding,a.height=i.height+2*ey().state.padding,Oj.set(n,a),a};let Yj=0;const Wj=function(e,t,n){const a=function(e){switch(e){case Lj.relationType.AGGREGATION:return"aggregation";case Lj.relationType.EXTENSION:return"extension";case Lj.relationType.COMPOSITION:return"composition";case Lj.relationType.DEPENDENCY:return"dependency"}};t.points=t.points.filter((e=>!Number.isNaN(e.y)));const r=t.points,i=Ul().x((function(e){return e.x})).y((function(e){return e.y})).curve(Xl),s=e.append("path").attr("d",i(r)).attr("id","edge"+Yj).attr("class","transition");let o="";if(ey().state.arrowMarkerAbsolute&&(o=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,o=o.replace(/\(/g,"\\("),o=o.replace(/\)/g,"\\)")),s.attr("marker-end","url("+o+"#"+a(Lj.relationType.DEPENDENCY)+"End)"),void 0!==n.title){const a=e.append("g").attr("class","stateLabel"),{x:r,y:i}=Km.calcLabelPosition(t.points),s=Bu.getRows(n.title);let o=0;const d=[];let l=0,c=0;for(let e=0;e<=s.length;e++){const t=a.append("text").attr("text-anchor","middle").text(s[e]).attr("x",r).attr("y",i+o),n=t.node().getBBox();l=Math.max(l,n.width),c=Math.min(c,n.x),g.info(n.x,r,i+o),0===o&&(o=t.node().getBBox().height,g.info("Title height",o,i)),d.push(t)}let u=o*s.length;if(s.length>1){const e=(s.length-1)*o*.5;d.forEach(((t,n)=>t.attr("y",i+n*o-e))),u=o*s.length}const h=a.node().getBBox();a.insert("rect",":first-child").attr("class","box").attr("x",r-l/2-ey().state.padding/2).attr("y",i-u/2-ey().state.padding/2-3.5).attr("width",l+ey().state.padding).attr("height",u+ey().state.padding),g.info(h)}Yj++};let qj;const Gj={},Xj=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},Jj=function(e,t,n,a){qj=ey().state;const r=ey().securityLevel;let i;"sandbox"===r&&(i=hn("#i"+t));const s=hn("sandbox"===r?i.nodes()[0].contentDocument.body:"body"),o="sandbox"===r?i.nodes()[0].contentDocument:document;g.debug("Rendering diagram "+e);const d=s.select(`[id='${t}']`);Xj(d),new PA({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel((function(){return{}}));const l=a.db.getRootDoc();Zj(l,d,void 0,!1,s,o,a);const c=qj.padding,u=d.node().getBBox(),h=u.width+2*c,p=u.height+2*c;cy(d,p,1.75*h,qj.useMaxWidth),d.attr("viewBox",`${u.x-qj.padding} ${u.y-qj.padding} `+h+" "+p)},Kj=e=>e?e.length*qj.fontSizeFactor:1,Zj=(e,t,n,a,r,i,s)=>{const o=new PA({compound:!0,multigraph:!0});let d,l=!0;for(d=0;d<e.length;d++)if("relation"===e[d].stmt){l=!1;break}n?o.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:l?1:qj.edgeLengthFactor,nodeSep:l?1:50,isMultiGraph:!0}):o.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:l?1:qj.edgeLengthFactor,nodeSep:l?1:50,ranker:"tight-tree",isMultiGraph:!0}),o.setDefaultEdgeLabel((function(){return{}})),s.db.extract(e);const c=s.db.getStates(),u=s.db.getRelations(),h=Object.keys(c);for(const g of h){const e=c[g];let d;if(n&&(e.parentId=n),e.doc){let n=t.append("g").attr("id",e.id).attr("class","stateGroup");d=Zj(e.doc,n,e.id,!a,r,i,s);{n=jj(n,e,a);let t=n.node().getBBox();d.width=t.width,d.height=t.height+qj.padding/2,Gj[e.id]={y:qj.compositTitleSize}}}else d=Hj(t,e);if(e.note){const n={descriptions:[],id:e.id+"-note",note:e.note,type:"note"},a=Hj(t,n);"left of"===e.note.position?(o.setNode(d.id+"-note",a),o.setNode(d.id,d)):(o.setNode(d.id,d),o.setNode(d.id+"-note",a)),o.setParent(d.id,d.id+"-group"),o.setParent(d.id+"-note",d.id+"-group")}else o.setNode(d.id,d)}g.debug("Count=",o.nodeCount(),o);let p=0;u.forEach((function(e){p++,g.debug("Setting edge",e),o.setEdge(e.id1,e.id2,{relation:e,width:Kj(e.title),height:qj.labelHeight*Bu.getRows(e.title).length,labelpos:"c"},"id"+p)})),pD(o),g.debug("Graph after layout",o.nodes());const f=t.node();o.nodes().forEach((function(e){void 0!==e&&void 0!==o.node(e)?(g.warn("Node "+e+": "+JSON.stringify(o.node(e))),r.select("#"+f.id+" #"+e).attr("transform","translate("+(o.node(e).x-o.node(e).width/2)+","+(o.node(e).y+(Gj[e]?Gj[e].y:0)-o.node(e).height/2)+" )"),r.select("#"+f.id+" #"+e).attr("data-x-shift",o.node(e).x-o.node(e).width/2),i.querySelectorAll("#"+f.id+" #"+e+" .divider").forEach((e=>{const t=e.parentElement;let n=0,a=0;t&&(t.parentElement&&(n=t.parentElement.getBBox().width),a=parseInt(t.getAttribute("data-x-shift"),10),Number.isNaN(a)&&(a=0)),e.setAttribute("x1",0-a+8),e.setAttribute("x2",n-a-8)}))):g.debug("No Node "+e+": "+JSON.stringify(o.node(e)))}));let m=f.getBBox();o.edges().forEach((function(e){void 0!==e&&void 0!==o.edge(e)&&(g.debug("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(o.edge(e))),Wj(t,o.edge(e),o.edge(e).relation))})),m=f.getBBox();const R={id:n||"root",label:n||"root",width:0,height:0};return R.width=m.width+2*qj.padding,R.height=m.height+2*qj.padding,g.debug("Doc rendered",R,o),R},Qj={setConf:function(){},draw:Jj},eV="rect",tV="rectWithTitle",nV="start",aV="end",rV="divider",iV="roundedWithTitle",sV="note",oV="noteGroup",dV="statediagram",lV=`${dV}-state`,cV="transition",uV=`${cV} note-edge`,hV=`${dV}-note`,gV=`${dV}-cluster`,pV=`${dV}-cluster-alt`,fV="parent",mV="note",RV="state",yV="----",bV=`${yV}${mV}`,xV=`${yV}${fV}`,vV="fill:none",_V="fill: #333",kV="c",CV="text",wV="normal";let EV={},SV=0;function AV(e){return null==e?"":e.classes?e.classes.join(" "):""}function TV(e="",t=0,n="",a=yV){const r=null!==n&&n.length>0?`${a}${n}`:"";return`${RV}-${e}${r}-${t}`}const DV=(e,t,n,a,r,i)=>{const s=n.id,o=AV(a[s]);if("root"!==s){let t=eV;!0===n.start&&(t=nV),!1===n.start&&(t=aV),n.type!==XP&&(t=n.type),EV[s]||(EV[s]={id:s,shape:t,description:Bu.sanitizeText(s,ey()),classes:`${o} ${lV}`});const a=EV[s];n.description&&(Array.isArray(a.description)?(a.shape=tV,a.description.push(n.description)):a.description.length>0?(a.shape=tV,a.description===s?a.description=[n.description]:a.description=[a.description,n.description]):(a.shape=eV,a.description=n.description),a.description=Bu.sanitizeTextOrArray(a.description,ey())),1===a.description.length&&a.shape===tV&&(a.shape=eV),!a.type&&n.doc&&(g.info("Setting cluster for ",s,IV(n)),a.type="group",a.dir=IV(n),a.shape=n.type===JP?rV:iV,a.classes=a.classes+" "+gV+" "+(i?pV:""));const r={labelStyle:"",shape:a.shape,labelText:a.description,classes:a.classes,style:"",id:s,dir:a.dir,domId:TV(s,SV),type:a.type,padding:15};if(n.note){const t={labelStyle:"",shape:sV,labelText:n.note.text,classes:hV,style:"",id:s+bV+"-"+SV,domId:TV(s,SV,mV),type:a.type,padding:15},i={labelStyle:"",shape:oV,labelText:n.note.text,classes:a.classes,style:"",id:s+xV,domId:TV(s,SV,fV),type:"group",padding:0};SV++;const o=s+xV;e.setNode(o,i),e.setNode(t.id,t),e.setNode(s,r),e.setParent(s,o),e.setParent(t.id,o);let d=s,l=t.id;"left of"===n.note.position&&(d=t.id,l=s),e.setEdge(d,l,{arrowhead:"none",arrowType:"",style:vV,labelStyle:"",classes:uV,arrowheadStyle:_V,labelpos:kV,labelType:CV,thickness:wV})}else e.setNode(s,r)}t&&"root"!==t.id&&(g.trace("Setting node ",s," to be child of its parent ",t.id),e.setParent(s,t.id)),n.doc&&(g.trace("Adding nodes children "),LV(e,n,n.doc,a,r,!i))},LV=(e,t,n,a,r,i)=>{g.trace("items",n),n.forEach((n=>{switch(n.stmt){case YP:case XP:DV(e,t,n,a,r,i);break;case WP:{DV(e,t,n.state1,a,r,i),DV(e,t,n.state2,a,r,i);const s={id:"edge"+SV,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:vV,labelStyle:"",label:Bu.sanitizeText(n.description,ey()),arrowheadStyle:_V,labelpos:kV,labelType:CV,thickness:wV,classes:cV};e.setEdge(n.state1.id,n.state2.id,s,SV),SV++}}}))},IV=(e,t=HP)=>{let n=t;if(e.doc)for(let a=0;a<e.doc.length;a++){const t=e.doc[a];"dir"===t.stmt&&(n=t.value)}return n},FV={setConf:function(e){const t=Object.keys(e);for(const n of t)e[n]},getClasses:function(e,t){g.trace("Extracting classes"),t.db.clear();try{return t.parser.parse(e),t.db.extract(t.db.getRootDocV2()),t.db.getClasses()}catch(n){return n}},draw:function(e,t,n,a){g.info("Drawing state diagram (v2)",t),EV={};let r=a.db.getDirection();void 0===r&&(r=zP);const{securityLevel:i,state:s}=ey(),o=s.nodeSpacing||50,d=s.rankSpacing||50;g.info(a.db.getRootDocV2()),a.db.extract(a.db.getRootDocV2()),g.info(a.db.getRootDocV2());const l=a.db.getStates(),c=new PA({multigraph:!0,compound:!0}).setGraph({rankdir:IV(a.db.getRootDocV2()),nodesep:o,ranksep:d,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));let u;DV(c,void 0,a.db.getRootDocV2(),l,a.db,!0),"sandbox"===i&&(u=hn("#i"+t));const h=hn("sandbox"===i?u.nodes()[0].contentDocument.body:"body"),p=h.select(`[id="${t}"]`),f=h.select("#"+t+" g");FI(f,c,["barb"],dV,t);const m=8;Km.insertTitle(p,"statediagramTitleText",s.titleTopMargin,a.db.getDiagramTitle());const R=p.node().getBBox(),y=R.width+2*m,b=R.height+2*m;p.attr("class",dV);const x=p.node().getBBox();cy(p,b,y,s.useMaxWidth);const v=`${x.x-m} ${x.y-m} ${y} ${b}`;g.debug(`viewBox ${v}`),p.attr("viewBox",v);const _=document.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const g of _){const e=g.getBBox(),t=document.createElementNS("http://www.w3.org/2000/svg",eV);t.setAttribute("rx",0),t.setAttribute("ry",0),t.setAttribute("width",e.width),t.setAttribute("height",e.height),g.insertBefore(t,g.firstChild)}}};var OV=function(){var e=function(e,t,n,a){for(n=n||{},a=e.length;a--;n[e[a]]=t);return n},t=[1,2],n=[1,5],a=[6,9,11,17,18,20,22,23,24,26],r=[1,15],i=[1,16],s=[1,17],o=[1,18],d=[1,19],l=[1,20],c=[1,24],u=[4,6,9,11,17,18,20,22,23,24,26],h={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,taskName:24,taskData:25,open_directive:26,type_directive:27,arg_directive:28,close_directive:29,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",24:"taskName",25:"taskData",26:"open_directive",27:"type_directive",28:"arg_directive",29:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(e,t,n,a,r,i,s){var o=i.length-1;switch(r){case 1:return i[o-1];case 3:case 7:case 8:this.$=[];break;case 4:i[o-1].push(i[o]),this.$=i[o-1];break;case 5:case 6:this.$=i[o];break;case 11:a.setDiagramTitle(i[o].substr(6)),this.$=i[o].substr(6);break;case 12:this.$=i[o].trim(),a.setAccTitle(this.$);break;case 13:case 14:this.$=i[o].trim(),a.setAccDescription(this.$);break;case 15:a.addSection(i[o].substr(8)),this.$=i[o].substr(8);break;case 16:a.addTask(i[o-1],i[o]),this.$="task";break;case 18:a.parseDirective("%%{","open_directive");break;case 19:a.parseDirective(i[o],"type_directive");break;case 20:i[o]=i[o].trim().replace(/'/g,'"'),a.parseDirective(i[o],"arg_directive");break;case 21:a.parseDirective("}%%","close_directive","journey")}},table:[{3:1,4:t,7:3,12:4,26:n},{1:[3]},e(a,[2,3],{5:6}),{3:7,4:t,7:3,12:4,26:n},{13:8,27:[1,9]},{27:[2,18]},{6:[1,10],7:21,8:11,9:[1,12],10:13,11:[1,14],12:4,17:r,18:i,20:s,22:o,23:d,24:l,26:n},{1:[2,2]},{14:22,15:[1,23],29:c},e([15,29],[2,19]),e(a,[2,8],{1:[2,1]}),e(a,[2,4]),{7:21,10:25,12:4,17:r,18:i,20:s,22:o,23:d,24:l,26:n},e(a,[2,6]),e(a,[2,7]),e(a,[2,11]),{19:[1,26]},{21:[1,27]},e(a,[2,14]),e(a,[2,15]),{25:[1,28]},e(a,[2,17]),{11:[1,29]},{16:30,28:[1,31]},{11:[2,21]},e(a,[2,5]),e(a,[2,12]),e(a,[2,13]),e(a,[2,16]),e(u,[2,9]),{14:32,29:c},{29:[2,20]},{11:[1,33]},e(u,[2,10])],defaultActions:{5:[2,18],7:[2,2],24:[2,21],31:[2,20]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],a=[],r=[null],i=[],s=this.table,o="",d=0,l=0,c=2,u=1,h=i.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);g.setInput(e,p.yy),p.yy.lexer=g,p.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var m=g.yylloc;i.push(m);var R=g.options&&g.options.ranges;function y(){var e;return"number"!=typeof(e=a.pop()||g.lex()||u)&&(e instanceof Array&&(e=(a=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,x,v,_,k,C,w,E,S={};;){if(x=n[n.length-1],this.defaultActions[x]?v=this.defaultActions[x]:((null===b||typeof b>"u")&&(b=y()),v=s[x]&&s[x][b]),typeof v>"u"||!v.length||!v[0]){var A="";for(k in E=[],s[x])this.terminals_[k]&&k>c&&E.push("'"+this.terminals_[k]+"'");A=g.showPosition?"Parse error on line "+(d+1)+":\n"+g.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(d+1)+": Unexpected "+(b==u?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:g.match,token:this.terminals_[b]||b,line:g.yylineno,loc:m,expected:E})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+b);switch(v[0]){case 1:n.push(b),r.push(g.yytext),i.push(g.yylloc),n.push(v[1]),b=null,l=g.yyleng,o=g.yytext,d=g.yylineno,m=g.yylloc;break;case 2:if(C=this.productions_[v[1]][1],S.$=r[r.length-C],S._$={first_line:i[i.length-(C||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(C||1)].first_column,last_column:i[i.length-1].last_column},R&&(S._$.range=[i[i.length-(C||1)].range[0],i[i.length-1].range[1]]),typeof(_=this.performAction.apply(S,[o,l,d,p.yy,v[1],r,i].concat(h)))<"u")return _;C&&(n=n.slice(0,-1*C*2),r=r.slice(0,-1*C),i=i.slice(0,-1*C)),n.push(this.productions_[v[1]][0]),r.push(S.$),i.push(S._$),w=s[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0}},g={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,a,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(a=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,a=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,n,a){switch(n){case 0:return this.begin("open_directive"),26;case 1:return this.begin("type_directive"),27;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),29;case 4:return 28;case 5:case 6:case 8:case 9:break;case 7:return 11;case 10:return 4;case 11:return 17;case 12:return this.begin("acc_title"),18;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),20;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:return 23;case 20:return 24;case 21:return 25;case 22:return 15;case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,14,16,19,20,21,22,23,24],inclusive:!0}}};function p(){this.yy={}}return h.lexer=g,p.prototype=h,h.Parser=p,new p}();OV.parser=OV;const NV=OV,BV=e=>null!==e.match(/^\s*journey/);let MV="";const PV=[],jV=[],VV=[],$V=function(){let e=zV();const t=100;let n=0;for(;!e&&n<t;)e=zV(),n++;return jV.push(...VV),jV},UV=function(){const e=[];return jV.forEach((t=>{t.people&&e.push(...t.people)})),[...new Set(e)].sort()},zV=function(){const e=function(e){return VV[e].processed};let t=!0;for(const[n,a]of VV.entries())e(n),t=t&&a.processed;return t},HV={parseDirective:function(e,t,n){rU.parseDirective(this,e,t,n)},getConfig:()=>ey().journey,clear:function(){PV.length=0,jV.length=0,MV="",VV.length=0,Uy()},setDiagramTitle:qy,getDiagramTitle:Gy,setAccTitle:zy,getAccTitle:Hy,setAccDescription:Yy,getAccDescription:Wy,addSection:function(e){MV=e,PV.push(e)},getSections:function(){return PV},getTasks:$V,addTask:function(e,t){const n=t.substr(1).split(":");let a=0,r=[];1===n.length?(a=Number(n[0]),r=[]):(a=Number(n[0]),r=n[1].split(","));const i=r.map((e=>e.trim())),s={section:MV,type:MV,people:i,task:e,score:a};VV.push(s)},addTaskOrg:function(e){const t={section:MV,type:MV,description:e,task:e,classes:[]};jV.push(t)},getActors:function(){return UV()}},YV=function(e,t){const n=e.append("rect");return n.attr("x",t.x),n.attr("y",t.y),n.attr("fill",t.fill),n.attr("stroke",t.stroke),n.attr("width",t.width),n.attr("height",t.height),n.attr("rx",t.rx),n.attr("ry",t.ry),void 0!==t.class&&n.attr("class",t.class),n},WV=function(e,t){const n=e.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),a=e.append("g");function r(e){const n=Bl().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(6.8181818181818175);e.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}function i(e){const n=Bl().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(6.8181818181818175);e.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}function s(e){e.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.append("circle").attr("cx",t.cx-5).attr("cy",t.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),a.append("circle").attr("cx",t.cx+5).attr("cy",t.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),t.score>3?r(a):t.score<3?i(a):s(a),n},qV=function(e,t){const n=e.append("circle");return n.attr("cx",t.cx),n.attr("cy",t.cy),n.attr("class","actor-"+t.pos),n.attr("fill",t.fill),n.attr("stroke",t.stroke),n.attr("r",t.r),void 0!==n.class&&n.attr("class",n.class),void 0!==t.title&&n.append("title").text(t.title),n},GV=function(e,t){const n=t.text.replace(/<br\s*\/?>/gi," "),a=e.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),void 0!==t.class&&a.attr("class",t.class);const r=a.append("tspan");return r.attr("x",t.x+2*t.textMargin),r.text(n),a},XV=function(e,t){function n(e,t,n,a,r){return e+","+t+" "+(e+n)+","+t+" "+(e+n)+","+(t+a-r)+" "+(e+n-1.2*r)+","+(t+a)+" "+e+","+(t+a)}const a=e.append("polygon");a.attr("points",n(t.x,t.y,50,20,7)),a.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,GV(e,t)},JV=function(e,t,n){const a=e.append("g"),r=t$();r.x=t.x,r.y=t.y,r.fill=t.fill,r.width=n.width,r.height=n.height,r.class="journey-section section-type-"+t.num,r.rx=3,r.ry=3,YV(a,r),n$(n)(t.text,a,r.x,r.y,r.width,r.height,{class:"journey-section section-type-"+t.num},n,t.colour)};let KV=-1;const ZV=function(e,t,n){const a=t.x+n.width/2,r=e.append("g");KV++;const i=450;r.append("line").attr("id","task"+KV).attr("x1",a).attr("y1",t.y).attr("x2",a).attr("y2",i).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),WV(r,{cx:a,cy:300+30*(5-t.score),score:t.score});const s=t$();s.x=t.x,s.y=t.y,s.fill=t.fill,s.width=n.width,s.height=n.height,s.class="task task-type-"+t.num,s.rx=3,s.ry=3,YV(r,s);let o=t.x+14;t.people.forEach((e=>{const n=t.actors[e].color,a={cx:o,cy:t.y,r:7,fill:n,stroke:"#000",title:e,pos:t.actors[e].position};qV(r,a),o+=10})),n$(n)(t.task,r,s.x,s.y,s.width,s.height,{class:"task"},n,t.colour)},QV=function(e,t){YV(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},e$=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},t$=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},n$=function(){function e(e,t,n,r,i,s,o,d){a(t.append("text").attr("x",n+i/2).attr("y",r+s/2+5).style("font-color",d).style("text-anchor","middle").text(e),o)}function t(e,t,n,r,i,s,o,d,l){const{taskFontSize:c,taskFontFamily:u}=d,h=e.split(/<br\s*\/?>/gi);for(let g=0;g<h.length;g++){const e=g*c-c*(h.length-1)/2,d=t.append("text").attr("x",n+i/2).attr("y",r).attr("fill",l).style("text-anchor","middle").style("font-size",c).style("font-family",u);d.append("tspan").attr("x",n+i/2).attr("dy",e).text(h[g]),d.attr("y",r+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),a(d,o)}}function n(e,n,r,i,s,o,d,l){const c=n.append("switch"),u=c.append("foreignObject").attr("x",r).attr("y",i).attr("width",s).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(e),t(e,c,r,i,s,o,d,l),a(u,d)}function a(e,t){for(const n in t)n in t&&e.attr(n,t[n])}return function(a){return"fo"===a.textPlacement?n:"old"===a.textPlacement?e:t}}(),a$={drawRect:YV,drawCircle:qV,drawSection:JV,drawText:GV,drawLabel:XV,drawTask:ZV,drawBackgroundRect:QV,getTextObj:e$,getNoteRect:t$,initGraphics:function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")}},r$=function(e){Object.keys(e).forEach((function(t){o$[t]=e[t]}))},i$={};function s$(e){const t=ey().journey;let n=60;Object.keys(i$).forEach((a=>{const r=i$[a].color,i={cx:20,cy:n,r:7,fill:r,stroke:"#000",pos:i$[a].position};a$.drawCircle(e,i);const s={x:40,y:n+7,fill:"#666",text:a,textMargin:5|t.boxTextMargin};a$.drawText(e,s),n+=20}))}const o$=ey().journey,d$=o$.leftMargin,l$=function(e,t,n,a){const r=ey().journey;a.db.clear(),a.parser.parse(e+"\n");const i=ey().securityLevel;let s;"sandbox"===i&&(s=hn("#i"+t));const o=hn("sandbox"===i?s.nodes()[0].contentDocument.body:"body");c$.init();const d=o.select("#"+t);a$.initGraphics(d);const l=a.db.getTasks(),c=a.db.getDiagramTitle(),u=a.db.getActors();for(const R in i$)delete i$[R];let h=0;u.forEach((e=>{i$[e]={color:r.actorColours[h%r.actorColours.length],position:h},h++})),s$(d),c$.insert(0,0,d$,50*Object.keys(i$).length),g$(d,l,0);const g=c$.getBounds();c&&d.append("text").text(c).attr("x",d$).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const p=g.stopy-g.starty+2*r.diagramMarginY,f=d$+g.stopx+2*r.diagramMarginX;cy(d,p,f,r.useMaxWidth),d.append("line").attr("x1",d$).attr("y1",4*r.height).attr("x2",f-d$-4).attr("y2",4*r.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const m=c?70:0;d.attr("viewBox",`${g.startx} -25 ${f} ${p+m}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",p+m+25)},c$={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(e,t,n,a){void 0===e[t]?e[t]=n:e[t]=a(n,e[t])},updateBounds:function(e,t,n,a){const r=ey().journey,i=this;let s=0;function o(o){return function(d){s++;const l=i.sequenceItems.length-s+1;i.updateVal(d,"starty",t-l*r.boxMargin,Math.min),i.updateVal(d,"stopy",a+l*r.boxMargin,Math.max),i.updateVal(c$.data,"startx",e-l*r.boxMargin,Math.min),i.updateVal(c$.data,"stopx",n+l*r.boxMargin,Math.max),"activation"!==o&&(i.updateVal(d,"startx",e-l*r.boxMargin,Math.min),i.updateVal(d,"stopx",n+l*r.boxMargin,Math.max),i.updateVal(c$.data,"starty",t-l*r.boxMargin,Math.min),i.updateVal(c$.data,"stopy",a+l*r.boxMargin,Math.max))}}this.sequenceItems.forEach(o())},insert:function(e,t,n,a){const r=Math.min(e,n),i=Math.max(e,n),s=Math.min(t,a),o=Math.max(t,a);this.updateVal(c$.data,"startx",r,Math.min),this.updateVal(c$.data,"starty",s,Math.min),this.updateVal(c$.data,"stopx",i,Math.max),this.updateVal(c$.data,"stopy",o,Math.max),this.updateBounds(r,s,i,o)},bumpVerticalPos:function(e){this.verticalPos=this.verticalPos+e,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},u$=o$.sectionFills,h$=o$.sectionColours,g$=function(e,t,n){const a=ey().journey;let r="";const i=n+(2*a.height+a.diagramMarginY);let s=0,o="#CCC",d="black",l=0;for(const[c,u]of t.entries()){if(r!==u.section){o=u$[s%u$.length],l=s%u$.length,d=h$[s%h$.length];const t={x:c*a.taskMargin+c*a.width+d$,y:50,text:u.section,fill:o,num:l,colour:d};a$.drawSection(e,t,a),r=u.section,s++}const t=u.people.reduce(((e,t)=>(i$[t]&&(e[t]=i$[t]),e)),{});u.x=c*a.taskMargin+c*a.width+d$,u.y=i,u.width=a.diagramMarginX,u.height=a.diagramMarginY,u.colour=d,u.fill=o,u.num=l,u.actors=t,a$.drawTask(e,u,a),c$.insert(u.x,u.y,u.x+u.width+a.taskMargin,450)}},p$={setConf:r$,draw:l$};let f$={};const m$={setConf:function(e){f$={...f$,...e}},draw:(e,t,n)=>{try{g.debug("Renering svg for syntax error\n");const e=hn("#"+t),a=e.append("g");a.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),a.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),a.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),a.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),a.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),a.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),a.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in graph"),a.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+n),e.attr("height",100),e.attr("width",500),e.attr("viewBox","768 0 912 512")}catch(d){g.error("Error while rendering info diagram"),g.error(Jm(d))}}};let R$=!1;const y$=()=>{R$||(R$=!0,Fy("error",{db:{clear:()=>{}},styles:py,renderer:m$,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},(e=>"error"===e.toLowerCase().trim())),Fy("c4",{parser:Bb,db:ix,renderer:$x,styles:ky,init:e=>{$x.setConf(e.c4)}},Mb),Fy("class",{parser:zx,db:wv,renderer:TL,styles:hy,init:e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,wv.clear()}},Hx),Fy("classDiagram",{parser:zx,db:wv,renderer:VI,styles:hy,init:e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,wv.clear()}},Yx),Fy("er",{parser:UI,db:qI,renderer:fF,styles:gy},zI),Fy("gantt",{parser:BN,db:vB,renderer:CB,styles:my},MN),Fy("info",{parser:EB,db:TB,renderer:DB,styles:Ry},LB),Fy("pie",{parser:FB,db:MB,renderer:$B,styles:yy},OB),Fy("requirement",{parser:zB,db:JB,renderer:uM,styles:by},HB),Fy("sequence",{parser:gM,db:NM,renderer:PP,styles:xy,init:e=>{if(e.sequence||(e.sequence={}),e.sequence.arrowMarkerAbsolute=e.arrowMarkerAbsolute,"sequenceDiagram"in e)throw new Error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.");NM.setWrap(e.wrap),PP.setConf(e.sequence)}},pM),Fy("state",{parser:VP,db:Lj,renderer:Qj,styles:vy,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,Lj.clear()}},$P),Fy("stateDiagram",{parser:VP,db:Lj,renderer:FV,styles:vy,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,Lj.clear()}},UP),Fy("journey",{parser:NV,db:HV,renderer:p$,styles:_y,init:e=>{p$.setConf(e.journey),HV.clear()}},BV),Fy("flowchart",{parser:RF,db:hO,renderer:ON,styles:fy,init:e=>{e.flowchart||(e.flowchart={}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,DN.setConf(e.flowchart),hO.clear(),hO.setGen("gen-1")}},yF),Fy("flowchart-v2",{parser:RF,db:hO,renderer:ON,styles:fy,init:e=>{e.flowchart||(e.flowchart={}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,QR({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}}),ON.setConf(e.flowchart),hO.clear(),hO.setGen("gen-2")}},bF),Fy("gitGraph",{parser:By,db:Rb,renderer:Fb,styles:Ob},My))};class b${constructor(e,t){var n,a;i(this,"type","graph"),i(this,"parser"),i(this,"renderer"),i(this,"db"),i(this,"detectTypeFailed",!1),this.txt=e;const r=ey();this.txt=e;try{this.type=tf(e,r)}catch(d){this.handleError(d,t),this.type="error",this.detectTypeFailed=!0}const s=Oy(this.type);g.debug("Type "+this.type),this.db=s.db,null==(a=(n=this.db).clear)||a.call(n),this.renderer=s.renderer,this.parser=s.parser;const o=this.parser.parse.bind(this.parser);this.parser.parse=e=>o(Kp(e,this.db)),this.parser.parser.yy=this.db,s.init&&(s.init(r),g.debug("Initialized diagram "+this.type,r)),this.txt+="\n",this.parse(this.txt,t)}parse(e,t){var n,a;if(this.detectTypeFailed)return!1;try{return e+="\n",null==(a=(n=this.db).clear)||a.call(n),this.parser.parse(e),!0}catch(r){this.handleError(r,t)}return!1}handleError(e,t){if(void 0===t)throw e;Xm(e)?t(e.str,e.hash):t(e)}getParser(){return this.parser}getType(){return this.type}}const x$=(e,t)=>{const n=tf(e,ey());try{Oy(n)}catch{const a=af(n);if(!a)throw new Error(`Diagram ${n} not found.`);return a().then((({diagram:a})=>(Fy(n,a,void 0),new b$(e,t))))}return new b$(e,t)},v$=b$;function _$(e,t){tA(t)||e.attr("aria-roledescription",t)}function k$(e,t,n,a){if(void 0!==e.insert){if(!t&&!n)return;if(n){const t="chart-desc-"+a;e.attr("aria-describedby",t),e.insert("desc",":first-child").attr("id",t).text(n)}if(t){const n="chart-title-"+a;e.attr("aria-labelledby",n),e.insert("title",":first-child").attr("id",n).text(t)}}}const C$=["graph","flowchart","flowchart-v2","stateDiagram","stateDiagram-v2"],w$="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",E$="sandbox",S$="loose",A$="http://www.w3.org/2000/svg",T$="http://www.w3.org/1999/xlink",D$="http://www.w3.org/1999/xhtml",L$="100%",I$="100%",F$="border:0;margin:0;",O$="margin:0",N$="allow-top-navigation-by-user-activation allow-popups",B$='The "iframe" tag is not supported by your browser.',M$=["foreignobject"],P$=["dominant-baseline"];function j$(e,t){return y$(),new v$(e,t).parse(e,t)}async function V$(e,t){return y$(),(await x$(e,t)).parse(e,t)}const $$=function(e){let t=e;return t=t.replace(/style.*:\S*#.*;/g,(function(e){return e.substring(0,e.length-1)})),t=t.replace(/classDef.*:\S*#.*;/g,(function(e){return e.substring(0,e.length-1)})),t=t.replace(/#\w+;/g,(function(e){const t=e.substring(1,e.length-1);return/^\+?\d+$/.test(t)?"\ufb02\xb0\xb0"+t+"\xb6\xdf":"\ufb02\xb0"+t+"\xb6\xdf"})),t},U$=function(e){let t=e;return t=t.replace(/\ufb02\xb0\xb0/g,"&#"),t=t.replace(/\ufb02\xb0/g,"&"),t=t.replace(/\xb6\xdf/g,";"),t},z$=(e,t,n=[])=>`\n.${e} ${t} { ${n.join(" !important; ")} !important; }`,H$=(e,t,n={})=>{var a;let r="";if(void 0!==e.themeCSS&&(r+=`\n${e.themeCSS}`),void 0!==e.fontFamily&&(r+=`\n:root { --mermaid-font-family: ${e.fontFamily}}`),void 0!==e.altFontFamily&&(r+=`\n:root { --mermaid-alt-font-family: ${e.altFontFamily}}`),!tA(n)&&C$.includes(t)){const t=e.htmlLabels||(null==(a=e.flowchart)?void 0:a.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const e in n){const a=n[e];tA(a.styles)||t.forEach((e=>{r+=z$(a.id,e,a.styles)})),tA(a.textStyles)||(r+=z$(a.id,"tspan",a.textStyles))}}return r},Y$=(e,t,n,a)=>{const r=H$(e,t,n);return VR(NR(`${a}{${Ey(t,r,e.themeVariables)}}`),$R)},W$=(e="",t,n)=>{let a=e;return!n&&!t&&(a=a.replace(/marker-end="url\(.*?#/g,'marker-end="url(#')),a=U$(a),a=a.replace(/<br>/g,"<br/>"),a},q$=(e="",t)=>{const n=t?t.viewBox.baseVal.height+"px":I$,a=btoa('<body style="'+O$+'">'+e+"</body>");return`<iframe style="width:${L$};height:${n};${F$}" src="data:text/html;base64,${a}" sandbox="${N$}">\n ${B$}\n</iframe>`},G$=(e,t,n,a,r)=>{const i=e.append("div");i.attr("id",n),a&&i.attr("style",a);const s=i.append("svg").attr("id",t).attr("width","100%").attr("xmlns",A$);return r&&s.attr("xmlns:xlink",r),s.append("g"),e};function X$(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const J$=(e,t,n,a)=>{var r,i,s;null==(r=e.getElementById(t))||r.remove(),null==(i=e.getElementById(n))||i.remove(),null==(s=e.getElementById(a))||s.remove()},K$=function(e,t,n,a){var r,i,s,o,d;y$(),ay();const l=Km.detectInit(t);l&&(qm(l),ny(l));const c=ey();g.debug(c),t.length>(null!=(r=null==c?void 0:c.maxTextSize)?r:5e4)&&(t=w$),t=t.replace(/\r\n?/g,"\n");const u="#"+e,h="i"+e,p="#"+h,f="d"+e,m="#"+f;let R=hn("body");const y=c.securityLevel===E$,b=c.securityLevel===S$,x=c.fontFamily;if(void 0!==a){if(a&&(a.innerHTML=""),y){const e=X$(hn(a),h);R=hn(e.nodes()[0].contentDocument.body),R.node().style.margin=0}else R=hn(a);G$(R,e,f,`font-family: ${x}`,T$)}else{if(J$(document,e,f,h),y){const e=X$(hn("body"),h);R=hn(e.nodes()[0].contentDocument.body),R.node().style.margin=0}else R=hn("body");G$(R,e,f)}let v,_;t=$$(t);try{if(v=x$(t),"then"in v)throw new Error("Diagram is a promise. Use renderAsync.")}catch(I){v=new v$("error"),_=I}const k=R.select(m).node(),C=v.type,w=k.firstChild,E=w.firstChild,S=C$.includes(C)?v.renderer.getClasses(t,v):{},A=Y$(c,C,S,u),T=document.createElement("style");T.innerHTML=A,w.insertBefore(T,E);try{v.renderer.draw(t,e,UR.version,v)}catch(I){throw m$.draw(t,e,UR.version),I}aU(C,R.select(`${m} svg`),null==(s=(i=v.db).getAccTitle)?void 0:s.call(i),null==(d=(o=v.db).getAccDescription)?void 0:d.call(o)),R.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns",D$);let D=R.select(m).node().innerHTML;if(g.debug("config.arrowMarkerAbsolute",c.arrowMarkerAbsolute),D=W$(D,y,Ou(c.arrowMarkerAbsolute)),y){const e=R.select(m+" svg").node();D=q$(D,e)}else b||(D=wu.sanitize(D,{ADD_TAGS:M$,ADD_ATTR:P$}));if(void 0!==n)switch(C){case"flowchart":case"flowchart-v2":n(D,hO.bindFunctions);break;case"gantt":n(D,vB.bindFunctions);break;case"class":case"classDiagram":n(D,wv.bindFunctions);break;default:n(D)}else g.debug("CB = undefined!");PM();const L=hn(y?p:m).node();if(L&&"remove"in L&&L.remove(),_)throw _;return D},Z$=async function(e,t,n,a){var r,i,s,o,d;y$(),ay();const l=Km.detectInit(t);l&&(qm(l),ny(l));const c=ey();g.debug(c),t.length>(null!=(r=null==c?void 0:c.maxTextSize)?r:5e4)&&(t=w$),t=t.replace(/\r\n?/g,"\n");const u="#"+e,h="i"+e,p="#"+h,f="d"+e,m="#"+f;let R=hn("body");const y=c.securityLevel===E$,b=c.securityLevel===S$,x=c.fontFamily;if(void 0!==a){if(a&&(a.innerHTML=""),y){const e=X$(hn(a),h);R=hn(e.nodes()[0].contentDocument.body),R.node().style.margin=0}else R=hn(a);G$(R,e,f,`font-family: ${x}`,T$)}else{if(J$(document,e,f,h),y){const e=X$(hn("body"),h);R=hn(e.nodes()[0].contentDocument.body),R.node().style.margin=0}else R=hn("body");G$(R,e,f)}let v,_;t=$$(t);try{v=await x$(t)}catch(I){v=new v$("error"),_=I}const k=R.select(m).node(),C=v.type,w=k.firstChild,E=w.firstChild,S=C$.includes(C)?v.renderer.getClasses(t,v):{},A=Y$(c,C,S,u),T=document.createElement("style");T.innerHTML=A,w.insertBefore(T,E);try{await v.renderer.draw(t,e,UR.version,v)}catch(I){throw m$.draw(t,e,UR.version),I}aU(C,R.select(`${m} svg`),null==(s=(i=v.db).getAccTitle)?void 0:s.call(i),null==(d=(o=v.db).getAccDescription)?void 0:d.call(o)),R.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns",D$);let D=R.select(m).node().innerHTML;if(g.debug("config.arrowMarkerAbsolute",c.arrowMarkerAbsolute),D=W$(D,y,Ou(c.arrowMarkerAbsolute)),y){const e=R.select(m+" svg").node();D=q$(D,e)}else b||(D=wu.sanitize(D,{ADD_TAGS:M$,ADD_ATTR:P$}));if(void 0!==n)switch(C){case"flowchart":case"flowchart-v2":n(D,hO.bindFunctions);break;case"gantt":n(D,vB.bindFunctions);break;case"class":case"classDiagram":n(D,wv.bindFunctions);break;default:n(D)}else g.debug("CB = undefined!");PM();const L=hn(y?p:m).node();if(L&&"remove"in L&&L.remove(),_)throw _;return D};let Q$={};const eU=function(e,t,n,a){try{if(void 0!==t)switch(t=t.trim(),n){case"open_directive":Q$={};break;case"type_directive":if(!Q$)throw new Error("currentDirective is undefined");Q$.type=t.toLowerCase();break;case"arg_directive":if(!Q$)throw new Error("currentDirective is undefined");Q$.args=JSON.parse(t);break;case"close_directive":tU(e,Q$,a),Q$=void 0}}catch(r){g.error(`Error while rendering sequenceDiagram directive: ${t} jison context: ${n}`),g.error(r.message)}},tU=function(e,t,n){switch(g.debug(`Directive type=${t.type} with args:`,t.args),t.type){case"init":case"initialize":["config"].forEach((e=>{void 0!==t.args[e]&&("flowchart-v2"===n&&(n="flowchart"),t.args[n]=t.args[e],delete t.args[e])})),g.debug("sanitize in handleDirective",t.args),qm(t.args),g.debug("sanitize in handleDirective (done)",t.args),ny(t.args);break;case"wrap":case"nowrap":e&&e.setWrap&&e.setWrap("wrap"===t.type);break;case"themeCss":g.warn("themeCss encountered");break;default:g.warn(`Unhandled directive: source: '%%{${t.type}: ${JSON.stringify(t.args?t.args:{})}}%%`,t)}};function nU(e={}){var t;(null==e?void 0:e.fontFamily)&&!(null!=(t=e.themeVariables)&&t.fontFamily)&&(e.themeVariables={fontFamily:e.fontFamily}),JR(e),(null==e?void 0:e.theme)&&e.theme in xh?e.themeVariables=xh[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=xh.default.getThemeVariables(e.themeVariables));const n="object"==typeof e?XR(e):ZR();p(n.logLevel),y$()}function aU(e,t,n,a){_$(t,e),k$(t,n,a,t.attr("id"))}const rU=Object.freeze({render:K$,renderAsync:Z$,parse:j$,parseAsync:V$,parseDirective:eU,initialize:nU,getConfig:ey,setConfig:QR,getSiteConfig:ZR,updateSiteConfig:KR,reset:()=>{ay()},globalReset:()=>{ay(zR)},defaultConfig:zR});p(ey().logLevel),ay(ey());let iU=!1;const sU=async function(e,t,n){try{iU?await uU(e,t,n):dU(e,t,n)}catch(d){g.warn("Syntax Error rendering"),Xm(d)&&g.warn(d.str),_U.parseError&&_U.parseError(d)}},oU=(e,t,n)=>{g.warn(e),Xm(e)?(n&&n(e.str,e.hash),t.push({...e,message:e.str,error:e})):(n&&n(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},dU=function(e,t,n){const a=rU.getConfig();let r;if(e&&(_U.sequenceConfig=e),g.debug((n?"":"No ")+"Callback function found"),void 0===t)r=document.querySelectorAll(".mermaid");else if("string"==typeof t)r=document.querySelectorAll(t);else if(t instanceof HTMLElement)r=[t];else{if(!(t instanceof NodeList))throw new Error("Invalid argument nodes for mermaid.init");r=t}g.debug(`Found ${r.length} diagrams`),void 0!==(null==e?void 0:e.startOnLoad)&&(g.debug("Start On Load: "+(null==e?void 0:e.startOnLoad)),rU.updateSiteConfig({startOnLoad:null==e?void 0:e.startOnLoad}));const i=new Km.initIdGenerator(a.deterministicIds,a.deterministicIDSeed);let s;const o=[];for(const l of Array.from(r)){if(g.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const e=`mermaid-${i.next()}`;s=l.innerHTML,s=Km.entityDecode(s).trim().replace(/<br\s*\/?>/gi,"<br/>");const t=Km.detectInit(s);t&&g.debug("Detected early reinit: ",t);try{rU.render(e,s,((t,a)=>{l.innerHTML=t,void 0!==n&&n(e),a&&a(l)}),l)}catch(d){oU(d,o,_U.parseError)}}if(o.length>0)throw o[0]},lU=e=>{for(const{id:t,detector:n,loader:a}of e)nf(t,n,a)},cU=async e=>{g.debug(`Loading ${e.length} external diagrams`);const t=(await Promise.allSettled(e.map((async({id:e,detector:t,loader:n})=>{const{diagram:a}=await n();Fy(e,a,t)})))).filter((e=>"rejected"===e.status));if(t.length>0){g.error(`Failed to load ${t.length} external diagrams`);for(const e of t)g.error(e);throw new Error(`Failed to load ${t.length} external diagrams`)}},uU=async function(e,t,n){const a=rU.getConfig();let r;if(e&&(_U.sequenceConfig=e),g.debug((n?"":"No ")+"Callback function found"),void 0===t)r=document.querySelectorAll(".mermaid");else if("string"==typeof t)r=document.querySelectorAll(t);else if(t instanceof HTMLElement)r=[t];else{if(!(t instanceof NodeList))throw new Error("Invalid argument nodes for mermaid.init");r=t}g.debug(`Found ${r.length} diagrams`),void 0!==(null==e?void 0:e.startOnLoad)&&(g.debug("Start On Load: "+(null==e?void 0:e.startOnLoad)),rU.updateSiteConfig({startOnLoad:null==e?void 0:e.startOnLoad}));const i=new Km.initIdGenerator(a.deterministicIds,a.deterministicIDSeed);let s;const o=[];for(const l of Array.from(r)){if(g.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const e=`mermaid-${i.next()}`;s=l.innerHTML,s=Km.entityDecode(s).trim().replace(/<br\s*\/?>/gi,"<br/>");const t=Km.detectInit(s);t&&g.debug("Detected early reinit: ",t);try{await rU.renderAsync(e,s,((t,a)=>{l.innerHTML=t,void 0!==n&&n(e),a&&a(l)}),l)}catch(d){oU(d,o,_U.parseError)}}if(o.length>0)throw o[0]},hU=function(e){rU.initialize(e)},gU=async(e,{lazyLoad:t=!0}={})=>{t?lU(e):await cU(e),iU=!0},pU=function(){if(_U.startOnLoad){const{startOnLoad:e}=rU.getConfig();e&&_U.init()}};typeof document<"u"&&window.addEventListener("load",pU,!1);const fU=function(e){_U.parseError=e},mU=e=>rU.parse(e,_U.parseError),RU=[];let yU=!1;const bU=async()=>{if(!yU){for(yU=!0;RU.length>0;){const t=RU.shift();if(t)try{await t()}catch(e){g.error("Error executing queue",e)}}yU=!1}},xU=e=>new Promise(((t,n)=>{const a=()=>new Promise(((a,r)=>{rU.parseAsync(e,_U.parseError).then((e=>{a(e),t(e)}),(e=>{g.error("Error parsing",e),r(e),n(e)}))}));RU.push(a),bU()})),vU=(e,t,n,a)=>new Promise(((r,i)=>{const s=()=>new Promise(((s,o)=>{rU.renderAsync(e,t,n,a).then((e=>{s(e),r(e)}),(e=>{g.error("Error parsing",e),o(e),i(e)}))}));RU.push(s),bU()})),_U={startOnLoad:!0,diagrams:{},mermaidAPI:rU,parse:mU,parseAsync:xU,render:rU.render,renderAsync:vU,init:sU,initThrowsErrors:dU,initThrowsErrorsAsync:uU,registerExternalDiagrams:gU,initialize:hU,parseError:void 0,contentLoaded:pU,setParseErrorHandler:fU};return _U}()},74071:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});const a={CodeBlockFilenameTab:"CodeBlockFilenameTab_T2zd"}},43150:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});const a={button:"button_ipBY"}},10275:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});const a={filepath_validation_list:"filepath_validation_list_jJSD"}},1925:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});const a={editor:"editor_ksb3",editor_header:"editor_header_k1u9",cta_wrapper:"cta_wrapper_gL2E",editor_input:"editor_input_J9Qe",editor_preview:"editor_preview_IykG",preview_fail_note:"preview_fail_note_lUiM",live_editor:"live_editor_gff9",live_error:"live_error_EIYU",live_preview:"live_preview_LmGk",unknown_component:"unknown_component_htsO",unknown_component_children:"unknown_component_children_WmeU"}},84373:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});const a={FeedbackButton:"FeedbackButton_oOHZ",FeedbackIcon:"FeedbackIcon_kE_h"}},87594:(e,t)=>{function n(e){let t,n=[];for(let a of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(a))n.push(parseInt(a,10));else if(t=a.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,a,r,i]=t;if(a&&i){a=parseInt(a),i=parseInt(i);const e=a<i?1:-1;"-"!==r&&".."!==r&&"\u2025"!==r||(i+=e);for(let t=a;t!==i;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},23746:(e,t,n)=>{"use strict";n.d(t,{ZP:()=>p,lG:()=>s});var a=n(87410);const r={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]};var i=n(67294),s={Prism:a.Z,theme:r};function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(){return d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},d.apply(this,arguments)}var l=/\r\n|\r|\n/,c=function(e){0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},u=function(e,t){var n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},h=function(e,t){var n=e.plain,a=Object.create(null),r=e.styles.reduce((function(e,n){var a=n.languages,r=n.style;return a&&!a.includes(t)||n.types.forEach((function(t){var n=d({},e[t],r);e[t]=n})),e}),a);return r.root=n,r.plain=d({},n,{backgroundColor:null}),r};function g(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===t.indexOf(a)&&(n[a]=e[a]);return n}const p=function(e){function t(){for(var t=this,n=[],a=arguments.length;a--;)n[a]=arguments[a];e.apply(this,n),o(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?h(e.theme,e.language):void 0;return t.themeDict=n})),o(this,"getLineProps",(function(e){var n=e.key,a=e.className,r=e.style,i=d({},g(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),s=t.getThemeDict(t.props);return void 0!==s&&(i.style=s.plain),void 0!==r&&(i.style=void 0!==i.style?d({},i.style,r):r),void 0!==n&&(i.key=n),a&&(i.className+=" "+a),i})),o(this,"getStyleForToken",(function(e){var n=e.types,a=e.empty,r=n.length,i=t.getThemeDict(t.props);if(void 0!==i){if(1===r&&"plain"===n[0])return a?{display:"inline-block"}:void 0;if(1===r&&!a)return i[n[0]];var s=a?{display:"inline-block"}:{},o=n.map((function(e){return i[e]}));return Object.assign.apply(Object,[s].concat(o))}})),o(this,"getTokenProps",(function(e){var n=e.key,a=e.className,r=e.style,i=e.token,s=d({},g(e,["key","className","style","token"]),{className:"token "+i.types.join(" "),children:i.content,style:t.getStyleForToken(i),key:void 0});return void 0!==r&&(s.style=void 0!==s.style?d({},s.style,r):r),void 0!==n&&(s.key=n),a&&(s.className+=" "+a),s})),o(this,"tokenize",(function(e,t,n,a){var r={code:t,grammar:n,language:a,tokens:[]};e.hooks.run("before-tokenize",r);var i=r.tokens=e.tokenize(r.code,r.grammar,r.language);return e.hooks.run("after-tokenize",r),i}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,a=e.code,r=e.children,i=this.getThemeDict(this.props),s=t.languages[n];return r({tokens:function(e){for(var t=[[]],n=[e],a=[0],r=[e.length],i=0,s=0,o=[],d=[o];s>-1;){for(;(i=a[s]++)<r[s];){var h=void 0,g=t[s],p=n[s][i];if("string"==typeof p?(g=s>0?g:["plain"],h=p):(g=u(g,p.type),p.alias&&(g=u(g,p.alias)),h=p.content),"string"==typeof h){var f=h.split(l),m=f.length;o.push({types:g,content:f[0]});for(var R=1;R<m;R++)c(o),d.push(o=[]),o.push({types:g,content:f[R]})}else s++,t.push(g),n.push(h),a.push(0),r.push(h.length)}s--,t.pop(),n.pop(),a.pop(),r.pop()}return c(o),d}(void 0!==s?this.tokenize(t,a,s,n):[a]),className:"prism-code language-"+n,style:void 0!==i?i.root:{},getLineProps:this.getLineProps,getTokenProps:this.getTokenProps})},t}(i.Component)},46871:(e,t,n)=>{"use strict";function a(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function r(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!=n?n:null}.bind(this))}function i(e,t){try{var n=this.props,a=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,a)}finally{this.props=n,this.state=a}}function s(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,s=null,o=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?s="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(s="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?o="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(o="UNSAFE_componentWillUpdate"),null!==n||null!==s||null!==o){var d=e.displayName||e.name,l="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+d+" uses "+l+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==s?"\n "+s:"")+(null!==o?"\n "+o:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=a,t.componentWillReceiveProps=r),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=i;var c=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var a=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;c.call(this,e,t,a)}}return e}n.r(t),n.d(t,{polyfill:()=>s}),a.__suppressDeprecationWarning=!0,r.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0},2497:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Editor:()=>na,LiveContext:()=>aa,LiveEditor:()=>va,LiveError:()=>_a,LivePreview:()=>Ca,LiveProvider:()=>xa,generateElement:()=>ma,renderElementAsync:()=>Ra,withLive:()=>wa});for(var a=n(67294),r=n(40460),i=n.n(r),s=n(23746),o=n(87410),d=n(11890),l=n.n(d),c={},u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",h=0;h<u.length;h++)c[u.charCodeAt(h)]=h;function g(e){var t="";e=e<0?-e<<1|1:e<<1;do{var n=31&e;(e>>>=5)>0&&(n|=32),t+=u[n]}while(e>0);return t}var p=function e(t){this.bits=t instanceof e?t.bits.slice():[]};p.prototype.add=function(e){this.bits[e>>5]|=1<<(31&e)},p.prototype.has=function(e){return!!(this.bits[e>>5]&1<<(31&e))};var f=function(e,t,n){this.start=e,this.end=t,this.original=n,this.intro="",this.outro="",this.content=n,this.storeName=!1,this.edited=!1,Object.defineProperties(this,{previous:{writable:!0,value:null},next:{writable:!0,value:null}})};f.prototype.appendLeft=function(e){this.outro+=e},f.prototype.appendRight=function(e){this.intro=this.intro+e},f.prototype.clone=function(){var e=new f(this.start,this.end,this.original);return e.intro=this.intro,e.outro=this.outro,e.content=this.content,e.storeName=this.storeName,e.edited=this.edited,e},f.prototype.contains=function(e){return this.start<e&&e<this.end},f.prototype.eachNext=function(e){for(var t=this;t;)e(t),t=t.next},f.prototype.eachPrevious=function(e){for(var t=this;t;)e(t),t=t.previous},f.prototype.edit=function(e,t,n){return this.content=e,n||(this.intro="",this.outro=""),this.storeName=t,this.edited=!0,this},f.prototype.prependLeft=function(e){this.outro=e+this.outro},f.prototype.prependRight=function(e){this.intro=e+this.intro},f.prototype.split=function(e){var t=e-this.start,n=this.original.slice(0,t),a=this.original.slice(t);this.original=n;var r=new f(e,this.end,a);return r.outro=this.outro,this.outro="",this.end=e,this.edited?(r.edit("",!1),this.content=""):this.content=n,r.next=this.next,r.next&&(r.next.previous=r),r.previous=this,this.next=r,r},f.prototype.toString=function(){return this.intro+this.content+this.outro},f.prototype.trimEnd=function(e){if(this.outro=this.outro.replace(e,""),this.outro.length)return!0;var t=this.content.replace(e,"");return t.length?(t!==this.content&&this.split(this.start+t.length).edit("",void 0,!0),!0):(this.edit("",void 0,!0),this.intro=this.intro.replace(e,""),!!this.intro.length||void 0)},f.prototype.trimStart=function(e){if(this.intro=this.intro.replace(e,""),this.intro.length)return!0;var t=this.content.replace(e,"");return t.length?(t!==this.content&&(this.split(this.end-t.length),this.edit("",void 0,!0)),!0):(this.edit("",void 0,!0),this.outro=this.outro.replace(e,""),!!this.outro.length||void 0)};var m=function(){throw new Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")};"undefined"!=typeof window&&"function"==typeof window.btoa?m=function(e){return window.btoa(unescape(encodeURIComponent(e)))}:"function"==typeof Buffer&&(m=function(e){return Buffer.from(e,"utf-8").toString("base64")});var R=function(e){this.version=3,this.file=e.file,this.sources=e.sources,this.sourcesContent=e.sourcesContent,this.names=e.names,this.mappings=function(e){for(var t=0,n=0,a=0,r=0,i="",s=0;s<e.length;s++){var o=e[s];if(s>0&&(i+=";"),0!==o.length){for(var d=0,l=[],c=0,u=o;c<u.length;c++){var h=u[c],p=g(h[0]-d);d=h[0],h.length>1&&(p+=g(h[1]-t)+g(h[2]-n)+g(h[3]-a),t=h[1],n=h[2],a=h[3]),5===h.length&&(p+=g(h[4]-r),r=h[4]),l.push(p)}i+=l.join(",")}}return i}(e.mappings)};function y(e){var t=e.split("\n"),n=t.filter((function(e){return/^\t+/.test(e)})),a=t.filter((function(e){return/^ {2,}/.test(e)}));if(0===n.length&&0===a.length)return null;if(n.length>=a.length)return"\t";var r=a.reduce((function(e,t){var n=/^ +/.exec(t)[0].length;return Math.min(n,e)}),1/0);return new Array(r+1).join(" ")}function b(e,t){var n=e.split(/[/\\]/),a=t.split(/[/\\]/);for(n.pop();n[0]===a[0];)n.shift(),a.shift();if(n.length)for(var r=n.length;r--;)n[r]="..";return n.concat(a).join("/")}R.prototype.toString=function(){return JSON.stringify(this)},R.prototype.toUrl=function(){return"data:application/json;charset=utf-8;base64,"+m(this.toString())};var x=Object.prototype.toString;function v(e){return"[object Object]"===x.call(e)}function _(e){for(var t=e.split("\n"),n=[],a=0,r=0;a<t.length;a++)n.push(r),r+=t[a].length+1;return function(e){for(var t=0,a=n.length;t<a;){var r=t+a>>1;e<n[r]?a=r:t=r+1}var i=t-1;return{line:i,column:e-n[i]}}}var k=function(e){this.hires=e,this.generatedCodeLine=0,this.generatedCodeColumn=0,this.raw=[],this.rawSegments=this.raw[this.generatedCodeLine]=[],this.pending=null};k.prototype.addEdit=function(e,t,n,a){if(t.length){var r=[this.generatedCodeColumn,e,n.line,n.column];a>=0&&r.push(a),this.rawSegments.push(r)}else this.pending&&this.rawSegments.push(this.pending);this.advance(t),this.pending=null},k.prototype.addUneditedChunk=function(e,t,n,a,r){for(var i=t.start,s=!0;i<t.end;)(this.hires||s||r.has(i))&&this.rawSegments.push([this.generatedCodeColumn,e,a.line,a.column]),"\n"===n[i]?(a.line+=1,a.column=0,this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,s=!0):(a.column+=1,this.generatedCodeColumn+=1,s=!1),i+=1;this.pending=null},k.prototype.advance=function(e){if(e){var t=e.split("\n");if(t.length>1){for(var n=0;n<t.length-1;n++)this.generatedCodeLine++,this.raw[this.generatedCodeLine]=this.rawSegments=[];this.generatedCodeColumn=0}this.generatedCodeColumn+=t[t.length-1].length}};var C="\n",w={insertLeft:!1,insertRight:!1,storeName:!1},E=function(e,t){void 0===t&&(t={});var n=new f(0,e.length,e);Object.defineProperties(this,{original:{writable:!0,value:e},outro:{writable:!0,value:""},intro:{writable:!0,value:""},firstChunk:{writable:!0,value:n},lastChunk:{writable:!0,value:n},lastSearchedChunk:{writable:!0,value:n},byStart:{writable:!0,value:{}},byEnd:{writable:!0,value:{}},filename:{writable:!0,value:t.filename},indentExclusionRanges:{writable:!0,value:t.indentExclusionRanges},sourcemapLocations:{writable:!0,value:new p},storedNames:{writable:!0,value:{}},indentStr:{writable:!0,value:y(e)}}),this.byStart[0]=n,this.byEnd[e.length]=n};E.prototype.addSourcemapLocation=function(e){this.sourcemapLocations.add(e)},E.prototype.append=function(e){if("string"!=typeof e)throw new TypeError("outro content must be a string");return this.outro+=e,this},E.prototype.appendLeft=function(e,t){if("string"!=typeof t)throw new TypeError("inserted content must be a string");this._split(e);var n=this.byEnd[e];return n?n.appendLeft(t):this.intro+=t,this},E.prototype.appendRight=function(e,t){if("string"!=typeof t)throw new TypeError("inserted content must be a string");this._split(e);var n=this.byStart[e];return n?n.appendRight(t):this.outro+=t,this},E.prototype.clone=function(){for(var e=new E(this.original,{filename:this.filename}),t=this.firstChunk,n=e.firstChunk=e.lastSearchedChunk=t.clone();t;){e.byStart[n.start]=n,e.byEnd[n.end]=n;var a=t.next,r=a&&a.clone();r&&(n.next=r,r.previous=n,n=r),t=a}return e.lastChunk=n,this.indentExclusionRanges&&(e.indentExclusionRanges=this.indentExclusionRanges.slice()),e.sourcemapLocations=new p(this.sourcemapLocations),e.intro=this.intro,e.outro=this.outro,e},E.prototype.generateDecodedMap=function(e){var t=this;e=e||{};var n=Object.keys(this.storedNames),a=new k(e.hires),r=_(this.original);return this.intro&&a.advance(this.intro),this.firstChunk.eachNext((function(e){var i=r(e.start);e.intro.length&&a.advance(e.intro),e.edited?a.addEdit(0,e.content,i,e.storeName?n.indexOf(e.original):-1):a.addUneditedChunk(0,e,t.original,i,t.sourcemapLocations),e.outro.length&&a.advance(e.outro)})),{file:e.file?e.file.split(/[/\\]/).pop():null,sources:[e.source?b(e.file||"",e.source):null],sourcesContent:e.includeContent?[this.original]:[null],names:n,mappings:a.raw}},E.prototype.generateMap=function(e){return new R(this.generateDecodedMap(e))},E.prototype.getIndentString=function(){return null===this.indentStr?"\t":this.indentStr},E.prototype.indent=function(e,t){var n=/^[^\r\n]/gm;if(v(e)&&(t=e,e=void 0),""===(e=void 0!==e?e:this.indentStr||"\t"))return this;var a={};(t=t||{}).exclude&&("number"==typeof t.exclude[0]?[t.exclude]:t.exclude).forEach((function(e){for(var t=e[0];t<e[1];t+=1)a[t]=!0}));var r=!1!==t.indentStart,i=function(t){return r?""+e+t:(r=!0,t)};this.intro=this.intro.replace(n,i);for(var s=0,o=this.firstChunk;o;){var d=o.end;if(o.edited)a[s]||(o.content=o.content.replace(n,i),o.content.length&&(r="\n"===o.content[o.content.length-1]));else for(s=o.start;s<d;){if(!a[s]){var l=this.original[s];"\n"===l?r=!0:"\r"!==l&&r&&(r=!1,s===o.start?o.prependRight(e):(this._splitChunk(o,s),(o=o.next).prependRight(e)))}s+=1}s=o.end,o=o.next}return this.outro=this.outro.replace(n,i),this},E.prototype.insert=function(){throw new Error("magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)")},E.prototype.insertLeft=function(e,t){return w.insertLeft||(console.warn("magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead"),w.insertLeft=!0),this.appendLeft(e,t)},E.prototype.insertRight=function(e,t){return w.insertRight||(console.warn("magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead"),w.insertRight=!0),this.prependRight(e,t)},E.prototype.move=function(e,t,n){if(n>=e&&n<=t)throw new Error("Cannot move a selection inside itself");this._split(e),this._split(t),this._split(n);var a=this.byStart[e],r=this.byEnd[t],i=a.previous,s=r.next,o=this.byStart[n];if(!o&&r===this.lastChunk)return this;var d=o?o.previous:this.lastChunk;return i&&(i.next=s),s&&(s.previous=i),d&&(d.next=a),o&&(o.previous=r),a.previous||(this.firstChunk=r.next),r.next||(this.lastChunk=a.previous,this.lastChunk.next=null),a.previous=d,r.next=o||null,d||(this.firstChunk=a),o||(this.lastChunk=r),this},E.prototype.overwrite=function(e,t,n,a){if("string"!=typeof n)throw new TypeError("replacement content must be a string");for(;e<0;)e+=this.original.length;for(;t<0;)t+=this.original.length;if(t>this.original.length)throw new Error("end is out of bounds");if(e===t)throw new Error("Cannot overwrite a zero-length range \u2013 use appendLeft or prependRight instead");this._split(e),this._split(t),!0===a&&(w.storeName||(console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string"),w.storeName=!0),a={storeName:!0});var r=void 0!==a&&a.storeName,i=void 0!==a&&a.contentOnly;if(r){var s=this.original.slice(e,t);Object.defineProperty(this.storedNames,s,{writable:!0,value:!0,enumerable:!0})}var o=this.byStart[e],d=this.byEnd[t];if(o){for(var l=o;l!==d;){if(l.next!==this.byStart[l.end])throw new Error("Cannot overwrite across a split point");(l=l.next).edit("",!1)}o.edit(n,r,i)}else{var c=new f(e,t,"").edit(n,r);d.next=c,c.previous=d}return this},E.prototype.prepend=function(e){if("string"!=typeof e)throw new TypeError("outro content must be a string");return this.intro=e+this.intro,this},E.prototype.prependLeft=function(e,t){if("string"!=typeof t)throw new TypeError("inserted content must be a string");this._split(e);var n=this.byEnd[e];return n?n.prependLeft(t):this.intro=t+this.intro,this},E.prototype.prependRight=function(e,t){if("string"!=typeof t)throw new TypeError("inserted content must be a string");this._split(e);var n=this.byStart[e];return n?n.prependRight(t):this.outro=t+this.outro,this},E.prototype.remove=function(e,t){for(;e<0;)e+=this.original.length;for(;t<0;)t+=this.original.length;if(e===t)return this;if(e<0||t>this.original.length)throw new Error("Character is out of bounds");if(e>t)throw new Error("end must be greater than start");this._split(e),this._split(t);for(var n=this.byStart[e];n;)n.intro="",n.outro="",n.edit(""),n=t>n.end?this.byStart[n.end]:null;return this},E.prototype.lastChar=function(){if(this.outro.length)return this.outro[this.outro.length-1];var e=this.lastChunk;do{if(e.outro.length)return e.outro[e.outro.length-1];if(e.content.length)return e.content[e.content.length-1];if(e.intro.length)return e.intro[e.intro.length-1]}while(e=e.previous);return this.intro.length?this.intro[this.intro.length-1]:""},E.prototype.lastLine=function(){var e=this.outro.lastIndexOf(C);if(-1!==e)return this.outro.substr(e+1);var t=this.outro,n=this.lastChunk;do{if(n.outro.length>0){if(-1!==(e=n.outro.lastIndexOf(C)))return n.outro.substr(e+1)+t;t=n.outro+t}if(n.content.length>0){if(-1!==(e=n.content.lastIndexOf(C)))return n.content.substr(e+1)+t;t=n.content+t}if(n.intro.length>0){if(-1!==(e=n.intro.lastIndexOf(C)))return n.intro.substr(e+1)+t;t=n.intro+t}}while(n=n.previous);return-1!==(e=this.intro.lastIndexOf(C))?this.intro.substr(e+1)+t:this.intro+t},E.prototype.slice=function(e,t){for(void 0===e&&(e=0),void 0===t&&(t=this.original.length);e<0;)e+=this.original.length;for(;t<0;)t+=this.original.length;for(var n="",a=this.firstChunk;a&&(a.start>e||a.end<=e);){if(a.start<t&&a.end>=t)return n;a=a.next}if(a&&a.edited&&a.start!==e)throw new Error("Cannot use replaced character "+e+" as slice start anchor.");for(var r=a;a;){!a.intro||r===a&&a.start!==e||(n+=a.intro);var i=a.start<t&&a.end>=t;if(i&&a.edited&&a.end!==t)throw new Error("Cannot use replaced character "+t+" as slice end anchor.");var s=r===a?e-a.start:0,o=i?a.content.length+t-a.end:a.content.length;if(n+=a.content.slice(s,o),!a.outro||i&&a.end!==t||(n+=a.outro),i)break;a=a.next}return n},E.prototype.snip=function(e,t){var n=this.clone();return n.remove(0,e),n.remove(t,n.original.length),n},E.prototype._split=function(e){if(!this.byStart[e]&&!this.byEnd[e])for(var t=this.lastSearchedChunk,n=e>t.end;t;){if(t.contains(e))return this._splitChunk(t,e);t=n?this.byStart[t.end]:this.byEnd[t.start]}},E.prototype._splitChunk=function(e,t){if(e.edited&&e.content.length){var n=_(this.original)(t);throw new Error("Cannot split a chunk that has already been edited ("+n.line+":"+n.column+' \u2013 "'+e.original+'")')}var a=e.split(t);return this.byEnd[t]=e,this.byStart[t]=a,this.byEnd[a.end]=a,e===this.lastChunk&&(this.lastChunk=a),this.lastSearchedChunk=e,!0},E.prototype.toString=function(){for(var e=this.intro,t=this.firstChunk;t;)e+=t.toString(),t=t.next;return e+this.outro},E.prototype.isEmpty=function(){var e=this.firstChunk;do{if(e.intro.length&&e.intro.trim()||e.content.length&&e.content.trim()||e.outro.length&&e.outro.trim())return!1}while(e=e.next);return!0},E.prototype.length=function(){var e=this.firstChunk,t=0;do{t+=e.intro.length+e.content.length+e.outro.length}while(e=e.next);return t},E.prototype.trimLines=function(){return this.trim("[\\r\\n]")},E.prototype.trim=function(e){return this.trimStart(e).trimEnd(e)},E.prototype.trimEndAborted=function(e){var t=new RegExp((e||"\\s")+"+$");if(this.outro=this.outro.replace(t,""),this.outro.length)return!0;var n=this.lastChunk;do{var a=n.end,r=n.trimEnd(t);if(n.end!==a&&(this.lastChunk===n&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return!0;n=n.previous}while(n);return!1},E.prototype.trimEnd=function(e){return this.trimEndAborted(e),this},E.prototype.trimStartAborted=function(e){var t=new RegExp("^"+(e||"\\s")+"+");if(this.intro=this.intro.replace(t,""),this.intro.length)return!0;var n=this.firstChunk;do{var a=n.end,r=n.trimStart(t);if(n.end!==a&&(n===this.lastChunk&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return!0;n=n.next}while(n);return!1},E.prototype.trimStart=function(e){return this.trimStartAborted(e),this};var S=Object.prototype.hasOwnProperty,A=function(e){void 0===e&&(e={}),this.intro=e.intro||"",this.separator=void 0!==e.separator?e.separator:"\n",this.sources=[],this.uniqueSources=[],this.uniqueSourceIndexByFilename={}};A.prototype.addSource=function(e){if(e instanceof E)return this.addSource({content:e,filename:e.filename,separator:this.separator});if(!v(e)||!e.content)throw new Error("bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`");if(["filename","indentExclusionRanges","separator"].forEach((function(t){S.call(e,t)||(e[t]=e.content[t])})),void 0===e.separator&&(e.separator=this.separator),e.filename)if(S.call(this.uniqueSourceIndexByFilename,e.filename)){var t=this.uniqueSources[this.uniqueSourceIndexByFilename[e.filename]];if(e.content.original!==t.content)throw new Error("Illegal source: same filename ("+e.filename+"), different contents")}else this.uniqueSourceIndexByFilename[e.filename]=this.uniqueSources.length,this.uniqueSources.push({filename:e.filename,content:e.content.original});return this.sources.push(e),this},A.prototype.append=function(e,t){return this.addSource({content:new E(e),separator:t&&t.separator||""}),this},A.prototype.clone=function(){var e=new A({intro:this.intro,separator:this.separator});return this.sources.forEach((function(t){e.addSource({filename:t.filename,content:t.content.clone(),separator:t.separator})})),e},A.prototype.generateDecodedMap=function(e){var t=this;void 0===e&&(e={});var n=[];this.sources.forEach((function(e){Object.keys(e.content.storedNames).forEach((function(e){~n.indexOf(e)||n.push(e)}))}));var a=new k(e.hires);return this.intro&&a.advance(this.intro),this.sources.forEach((function(e,r){r>0&&a.advance(t.separator);var i=e.filename?t.uniqueSourceIndexByFilename[e.filename]:-1,s=e.content,o=_(s.original);s.intro&&a.advance(s.intro),s.firstChunk.eachNext((function(t){var r=o(t.start);t.intro.length&&a.advance(t.intro),e.filename?t.edited?a.addEdit(i,t.content,r,t.storeName?n.indexOf(t.original):-1):a.addUneditedChunk(i,t,s.original,r,s.sourcemapLocations):a.advance(t.content),t.outro.length&&a.advance(t.outro)})),s.outro&&a.advance(s.outro)})),{file:e.file?e.file.split(/[/\\]/).pop():null,sources:this.uniqueSources.map((function(t){return e.file?b(e.file,t.filename):t.filename})),sourcesContent:this.uniqueSources.map((function(t){return e.includeContent?t.content:null})),names:n,mappings:a.raw}},A.prototype.generateMap=function(e){return new R(this.generateDecodedMap(e))},A.prototype.getIndentString=function(){var e={};return this.sources.forEach((function(t){var n=t.content.indentStr;null!==n&&(e[n]||(e[n]=0),e[n]+=1)})),Object.keys(e).sort((function(t,n){return e[t]-e[n]}))[0]||"\t"},A.prototype.indent=function(e){var t=this;if(arguments.length||(e=this.getIndentString()),""===e)return this;var n=!this.intro||"\n"===this.intro.slice(-1);return this.sources.forEach((function(a,r){var i=void 0!==a.separator?a.separator:t.separator,s=n||r>0&&/\r?\n$/.test(i);a.content.indent(e,{exclude:a.indentExclusionRanges,indentStart:s}),n="\n"===a.content.lastChar()})),this.intro&&(this.intro=e+this.intro.replace(/^[^\n]/gm,(function(t,n){return n>0?e+t:t}))),this},A.prototype.prepend=function(e){return this.intro=e+this.intro,this},A.prototype.toString=function(){var e=this,t=this.sources.map((function(t,n){var a=void 0!==t.separator?t.separator:e.separator;return(n>0?a:"")+t.content.toString()})).join("");return this.intro+t},A.prototype.isEmpty=function(){return(!this.intro.length||!this.intro.trim())&&!this.sources.some((function(e){return!e.content.isEmpty()}))},A.prototype.length=function(){return this.sources.reduce((function(e,t){return e+t.content.length()}),this.intro.length)},A.prototype.trimLines=function(){return this.trim("[\\r\\n]")},A.prototype.trim=function(e){return this.trimStart(e).trimEnd(e)},A.prototype.trimStart=function(e){var t=new RegExp("^"+(e||"\\s")+"+");if(this.intro=this.intro.replace(t,""),!this.intro){var n,a=0;do{if(!(n=this.sources[a++]))break}while(!n.content.trimStartAborted(e))}return this},A.prototype.trimEnd=function(e){var t,n=new RegExp((e||"\\s")+"+$"),a=this.sources.length-1;do{if(!(t=this.sources[a--])){this.intro=this.intro.replace(n,"");break}}while(!t.content.trimEndAborted(e));return this};var T={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},D="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",L={5:D,6:D+" const class extends export import super"},I=/^in(stanceof)?$/,F="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7b9\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",O="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",N=new RegExp("["+F+"]"),B=new RegExp("["+F+O+"]");F=O=null;var M=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,190,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,26,230,43,117,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,68,12,0,67,12,65,1,31,6129,15,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541],P=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239];function j(e,t){for(var n=65536,a=0;a<t.length;a+=2){if((n+=t[a])>e)return!1;if((n+=t[a+1])>=e)return!0}}function V(e,t){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&N.test(String.fromCharCode(e)):!1!==t&&j(e,M)))}function $(e,t){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&B.test(String.fromCharCode(e)):!1!==t&&(j(e,M)||j(e,P)))))}var U=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function z(e,t){return new U(e,{beforeExpr:!0,binop:t})}var H={beforeExpr:!0},Y={startsExpr:!0},W={};function q(e,t){return void 0===t&&(t={}),t.keyword=e,W[e]=new U(e,t)}var G={num:new U("num",Y),regexp:new U("regexp",Y),string:new U("string",Y),name:new U("name",Y),eof:new U("eof"),bracketL:new U("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new U("]"),braceL:new U("{",{beforeExpr:!0,startsExpr:!0}),braceR:new U("}"),parenL:new U("(",{beforeExpr:!0,startsExpr:!0}),parenR:new U(")"),comma:new U(",",H),semi:new U(";",H),colon:new U(":",H),dot:new U("."),question:new U("?",H),arrow:new U("=>",H),template:new U("template"),invalidTemplate:new U("invalidTemplate"),ellipsis:new U("...",H),backQuote:new U("`",Y),dollarBraceL:new U("${",{beforeExpr:!0,startsExpr:!0}),eq:new U("=",{beforeExpr:!0,isAssign:!0}),assign:new U("_=",{beforeExpr:!0,isAssign:!0}),incDec:new U("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new U("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:z("||",1),logicalAND:z("&&",2),bitwiseOR:z("|",3),bitwiseXOR:z("^",4),bitwiseAND:z("&",5),equality:z("==/!=/===/!==",6),relational:z("</>/<=/>=",7),bitShift:z("<</>>/>>>",8),plusMin:new U("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:z("%",10),star:z("*",10),slash:z("/",10),starstar:new U("**",{beforeExpr:!0}),_break:q("break"),_case:q("case",H),_catch:q("catch"),_continue:q("continue"),_debugger:q("debugger"),_default:q("default",H),_do:q("do",{isLoop:!0,beforeExpr:!0}),_else:q("else",H),_finally:q("finally"),_for:q("for",{isLoop:!0}),_function:q("function",Y),_if:q("if"),_return:q("return",H),_switch:q("switch"),_throw:q("throw",H),_try:q("try"),_var:q("var"),_const:q("const"),_while:q("while",{isLoop:!0}),_with:q("with"),_new:q("new",{beforeExpr:!0,startsExpr:!0}),_this:q("this",Y),_super:q("super",Y),_class:q("class",Y),_extends:q("extends",H),_export:q("export"),_import:q("import"),_null:q("null",Y),_true:q("true",Y),_false:q("false",Y),_in:q("in",{beforeExpr:!0,binop:7}),_instanceof:q("instanceof",{beforeExpr:!0,binop:7}),_typeof:q("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:q("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:q("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},X=/\r\n?|\n|\u2028|\u2029/,J=new RegExp(X.source,"g");function K(e,t){return 10===e||13===e||!t&&(8232===e||8233===e)}var Z=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Q=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,ee=Object.prototype,te=ee.hasOwnProperty,ne=ee.toString;function ae(e,t){return te.call(e,t)}var re=Array.isArray||function(e){return"[object Array]"===ne.call(e)},ie=function(e,t){this.line=e,this.column=t};ie.prototype.offset=function(e){return new ie(this.line,this.column+e)};var se=function(e,t,n){this.start=t,this.end=n,null!==e.sourceFile&&(this.source=e.sourceFile)};function oe(e,t){for(var n=1,a=0;;){J.lastIndex=a;var r=J.exec(e);if(!(r&&r.index<t))return new ie(n,t-a);++n,a=r.index+r[0].length}}var de={ecmaVersion:9,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1};function le(e){var t={};for(var n in de)t[n]=e&&ae(e,n)?e[n]:de[n];if(t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),re(t.onToken)){var a=t.onToken;t.onToken=function(e){return a.push(e)}}return re(t.onComment)&&(t.onComment=function(e,t){return function(n,a,r,i,s,o){var d={type:n?"Block":"Line",value:a,start:r,end:i};e.locations&&(d.loc=new se(this,s,o)),e.ranges&&(d.range=[r,i]),t.push(d)}}(t,t.onComment)),t}function ce(e,t){return 2|(e?4:0)|(t?8:0)}function ue(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var he=function(e,t,n){this.options=e=le(e),this.sourceFile=e.sourceFile,this.keywords=ue(L[e.ecmaVersion>=6?6:5]);var a="";if(!e.allowReserved){for(var r=e.ecmaVersion;!(a=T[r]);r--);"module"===e.sourceType&&(a+=" await")}this.reservedWords=ue(a);var i=(a?a+" ":"")+T.strict;this.reservedWordsStrict=ue(i),this.reservedWordsStrictBind=ue(i+" "+T.strictBind),this.input=String(t),this.containsEsc=!1,n?(this.pos=n,this.lineStart=this.input.lastIndexOf("\n",n-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(X).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=G.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=0,this.labels=[],0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},ge={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0}};he.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},ge.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},ge.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},ge.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},he.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n=this,a=0;a<e.length;a++)n=e[a](n);return n},he.parse=function(e,t){return new this(t,e).parse()},he.parseExpressionAt=function(e,t,n){var a=new this(n,e,t);return a.nextToken(),a.parseExpression()},he.tokenizer=function(e,t){return new this(t,e)},Object.defineProperties(he.prototype,ge);var pe=he.prototype,fe=/^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)"|;)/;function me(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}pe.strictDirective=function(e){for(;;){Q.lastIndex=e,e+=Q.exec(this.input)[0].length;var t=fe.exec(this.input.slice(e));if(!t)return!1;if("use strict"===(t[1]||t[2]))return!0;e+=t[0].length}},pe.eat=function(e){return this.type===e&&(this.next(),!0)},pe.isContextual=function(e){return this.type===G.name&&this.value===e&&!this.containsEsc},pe.eatContextual=function(e){return!!this.isContextual(e)&&(this.next(),!0)},pe.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},pe.canInsertSemicolon=function(){return this.type===G.eof||this.type===G.braceR||X.test(this.input.slice(this.lastTokEnd,this.start))},pe.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},pe.semicolon=function(){this.eat(G.semi)||this.insertSemicolon()||this.unexpected()},pe.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},pe.expect=function(e){this.eat(e)||this.unexpected()},pe.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")},pe.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,"Parenthesized pattern")}},pe.checkExpressionErrors=function(e,t){if(!e)return!1;var n=e.shorthandAssign,a=e.doubleProto;if(!t)return n>=0||a>=0;n>=0&&this.raise(n,"Shorthand property assignments are valid only in destructuring patterns"),a>=0&&this.raiseRecoverable(a,"Redefinition of __proto__ property")},pe.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},pe.isSimpleAssignTarget=function(e){return"ParenthesizedExpression"===e.type?this.isSimpleAssignTarget(e.expression):"Identifier"===e.type||"MemberExpression"===e.type};var Re=he.prototype;Re.parseTopLevel=function(e){var t={};for(e.body||(e.body=[]);this.type!==G.eof;){var n=this.parseStatement(null,!0,t);e.body.push(n)}return this.adaptDirectivePrologue(e.body),this.next(),this.options.ecmaVersion>=6&&(e.sourceType=this.options.sourceType),this.finishNode(e,"Program")};var ye={kind:"loop"},be={kind:"switch"};Re.isLet=function(){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;Q.lastIndex=this.pos;var e=Q.exec(this.input),t=this.pos+e[0].length,n=this.input.charCodeAt(t);if(91===n||123===n)return!0;if(V(n,!0)){for(var a=t+1;$(this.input.charCodeAt(a),!0);)++a;var r=this.input.slice(t,a);if(!I.test(r))return!0}return!1},Re.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;Q.lastIndex=this.pos;var e=Q.exec(this.input),t=this.pos+e[0].length;return!(X.test(this.input.slice(this.pos,t))||"function"!==this.input.slice(t,t+8)||t+8!==this.input.length&&$(this.input.charAt(t+8)))},Re.parseStatement=function(e,t,n){var a,r=this.type,i=this.startNode();switch(this.isLet()&&(r=G._var,a="let"),r){case G._break:case G._continue:return this.parseBreakContinueStatement(i,r.keyword);case G._debugger:return this.parseDebuggerStatement(i);case G._do:return this.parseDoStatement(i);case G._for:return this.parseForStatement(i);case G._function:return e&&(this.strict||"if"!==e)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i,!1,!e);case G._class:return e&&this.unexpected(),this.parseClass(i,!0);case G._if:return this.parseIfStatement(i);case G._return:return this.parseReturnStatement(i);case G._switch:return this.parseSwitchStatement(i);case G._throw:return this.parseThrowStatement(i);case G._try:return this.parseTryStatement(i);case G._const:case G._var:return a=a||this.value,e&&"var"!==a&&this.unexpected(),this.parseVarStatement(i,a);case G._while:return this.parseWhileStatement(i);case G._with:return this.parseWithStatement(i);case G.braceL:return this.parseBlock(!0,i);case G.semi:return this.parseEmptyStatement(i);case G._export:case G._import:return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===G._import?this.parseImport(i):this.parseExport(i,n);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(i,!0,!e);var s=this.value,o=this.parseExpression();return r===G.name&&"Identifier"===o.type&&this.eat(G.colon)?this.parseLabeledStatement(i,s,o,e):this.parseExpressionStatement(i,o)}},Re.parseBreakContinueStatement=function(e,t){var n="break"===t;this.next(),this.eat(G.semi)||this.insertSemicolon()?e.label=null:this.type!==G.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var a=0;a<this.labels.length;++a){var r=this.labels[a];if(null==e.label||r.name===e.label.name){if(null!=r.kind&&(n||"loop"===r.kind))break;if(e.label&&n)break}}return a===this.labels.length&&this.raise(e.start,"Unsyntactic "+t),this.finishNode(e,n?"BreakStatement":"ContinueStatement")},Re.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")},Re.parseDoStatement=function(e){return this.next(),this.labels.push(ye),e.body=this.parseStatement("do"),this.labels.pop(),this.expect(G._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(G.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},Re.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(ye),this.enterScope(0),this.expect(G.parenL),this.type===G.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var n=this.isLet();if(this.type===G._var||this.type===G._const||n){var a=this.startNode(),r=n?"let":this.value;return this.next(),this.parseVar(a,!0,r),this.finishNode(a,"VariableDeclaration"),!(this.type===G._in||this.options.ecmaVersion>=6&&this.isContextual("of"))||1!==a.declarations.length||"var"!==r&&a.declarations[0].init?(t>-1&&this.unexpected(t),this.parseFor(e,a)):(this.options.ecmaVersion>=9&&(this.type===G._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,a))}var i=new me,s=this.parseExpression(!0,i);return this.type===G._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===G._in?t>-1&&this.unexpected(t):e.await=t>-1),this.toAssignable(s,!1,i),this.checkLVal(s),this.parseForIn(e,s)):(this.checkExpressionErrors(i,!0),t>-1&&this.unexpected(t),this.parseFor(e,s))},Re.parseFunctionStatement=function(e,t,n){return this.next(),this.parseFunction(e,ve|(n?0:_e),!1,t)},Re.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(G._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},Re.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(G.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},Re.parseSwitchStatement=function(e){var t,n=this;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(G.braceL),this.labels.push(be),this.enterScope(0);for(var a=!1;this.type!==G.braceR;)if(n.type===G._case||n.type===G._default){var r=n.type===G._case;t&&n.finishNode(t,"SwitchCase"),e.cases.push(t=n.startNode()),t.consequent=[],n.next(),r?t.test=n.parseExpression():(a&&n.raiseRecoverable(n.lastTokStart,"Multiple default clauses"),a=!0,t.test=null),n.expect(G.colon)}else t||n.unexpected(),t.consequent.push(n.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},Re.parseThrowStatement=function(e){return this.next(),X.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var xe=[];Re.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===G._catch){var t=this.startNode();if(this.next(),this.eat(G.parenL)){t.param=this.parseBindingAtom();var n="Identifier"===t.param.type;this.enterScope(n?32:0),this.checkLVal(t.param,n?4:2),this.expect(G.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(G._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},Re.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},Re.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(ye),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},Re.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},Re.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},Re.parseLabeledStatement=function(e,t,n,a){for(var r=this,i=0,s=r.labels;i<s.length;i+=1){s[i].name===t&&r.raise(n.start,"Label '"+t+"' is already declared")}for(var o=this.type.isLoop?"loop":this.type===G._switch?"switch":null,d=this.labels.length-1;d>=0;d--){var l=r.labels[d];if(l.statementStart!==e.start)break;l.statementStart=r.start,l.kind=o}return this.labels.push({name:t,kind:o,statementStart:this.start}),e.body=this.parseStatement(a),("ClassDeclaration"===e.body.type||"VariableDeclaration"===e.body.type&&"var"!==e.body.kind||"FunctionDeclaration"===e.body.type&&(this.strict||e.body.generator||e.body.async))&&this.raiseRecoverable(e.body.start,"Invalid labeled declaration"),this.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")},Re.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},Re.parseBlock=function(e,t){for(void 0===e&&(e=!0),void 0===t&&(t=this.startNode()),t.body=[],this.expect(G.braceL),e&&this.enterScope(0);!this.eat(G.braceR);){var n=this.parseStatement(null);t.body.push(n)}return e&&this.exitScope(),this.finishNode(t,"BlockStatement")},Re.parseFor=function(e,t){return e.init=t,this.expect(G.semi),e.test=this.type===G.semi?null:this.parseExpression(),this.expect(G.semi),e.update=this.type===G.parenR?null:this.parseExpression(),this.expect(G.parenR),this.exitScope(),e.body=this.parseStatement("for"),this.labels.pop(),this.finishNode(e,"ForStatement")},Re.parseForIn=function(e,t){var n=this.type===G._in?"ForInStatement":"ForOfStatement";return this.next(),"ForInStatement"===n&&("AssignmentPattern"===t.type||"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(this.strict||"Identifier"!==t.declarations[0].id.type))&&this.raise(t.start,"Invalid assignment in for-in loop head"),e.left=t,e.right="ForInStatement"===n?this.parseExpression():this.parseMaybeAssign(),this.expect(G.parenR),this.exitScope(),e.body=this.parseStatement("for"),this.labels.pop(),this.finishNode(e,n)},Re.parseVar=function(e,t,n){var a=this;for(e.declarations=[],e.kind=n;;){var r=a.startNode();if(a.parseVarId(r,n),a.eat(G.eq)?r.init=a.parseMaybeAssign(t):"const"!==n||a.type===G._in||a.options.ecmaVersion>=6&&a.isContextual("of")?"Identifier"===r.id.type||t&&(a.type===G._in||a.isContextual("of"))?r.init=null:a.raise(a.lastTokEnd,"Complex binding patterns require an initialization value"):a.unexpected(),e.declarations.push(a.finishNode(r,"VariableDeclarator")),!a.eat(G.comma))break}return e},Re.parseVarId=function(e,t){e.id=this.parseBindingAtom(t),this.checkLVal(e.id,"var"===t?1:2,!1)};var ve=1,_e=2;Re.parseFunction=function(e,t,n,a){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!a)&&(e.generator=this.eat(G.star)),this.options.ecmaVersion>=8&&(e.async=!!a),t&ve&&(e.id=4&t&&this.type!==G.name?null:this.parseIdent(),!e.id||t&_e||this.checkLVal(e.id,this.inModule&&!this.inFunction?2:3));var r=this.yieldPos,i=this.awaitPos;return this.yieldPos=0,this.awaitPos=0,this.enterScope(ce(e.async,e.generator)),t&ve||(e.id=this.type===G.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n),this.yieldPos=r,this.awaitPos=i,this.finishNode(e,t&ve?"FunctionDeclaration":"FunctionExpression")},Re.parseFunctionParams=function(e){this.expect(G.parenL),e.params=this.parseBindingList(G.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Re.parseClass=function(e,t){this.next(),this.parseClassId(e,t),this.parseClassSuper(e);var n=this.startNode(),a=!1;for(n.body=[],this.expect(G.braceL);!this.eat(G.braceR);){var r=this.parseClassElement();r&&(n.body.push(r),"MethodDefinition"===r.type&&"constructor"===r.kind&&(a&&this.raise(r.start,"Duplicate constructor in the same class"),a=!0))}return e.body=this.finishNode(n,"ClassBody"),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},Re.parseClassElement=function(){var e=this;if(this.eat(G.semi))return null;var t=this.startNode(),n=function(n,a){void 0===a&&(a=!1);var r=e.start,i=e.startLoc;return!!e.eatContextual(n)&&(!(e.type===G.parenL||a&&e.canInsertSemicolon())||(t.key&&e.unexpected(),t.computed=!1,t.key=e.startNodeAt(r,i),t.key.name=n,e.finishNode(t.key,"Identifier"),!1))};t.kind="method",t.static=n("static");var a=this.eat(G.star),r=!1;a||(this.options.ecmaVersion>=8&&n("async",!0)?(r=!0,a=this.options.ecmaVersion>=9&&this.eat(G.star)):n("get")?t.kind="get":n("set")&&(t.kind="set")),t.key||this.parsePropertyName(t);var i=t.key;return t.computed||t.static||!("Identifier"===i.type&&"constructor"===i.name||"Literal"===i.type&&"constructor"===i.value)?t.static&&"Identifier"===i.type&&"prototype"===i.name&&this.raise(i.start,"Classes may not have a static property named prototype"):("method"!==t.kind&&this.raise(i.start,"Constructor can't have get/set modifier"),a&&this.raise(i.start,"Constructor can't be a generator"),r&&this.raise(i.start,"Constructor can't be an async method"),t.kind="constructor"),this.parseClassMethod(t,a,r),"get"===t.kind&&0!==t.value.params.length&&this.raiseRecoverable(t.value.start,"getter should have no params"),"set"===t.kind&&1!==t.value.params.length&&this.raiseRecoverable(t.value.start,"setter should have exactly one param"),"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params"),t},Re.parseClassMethod=function(e,t,n){return e.value=this.parseMethod(t,n),this.finishNode(e,"MethodDefinition")},Re.parseClassId=function(e,t){e.id=this.type===G.name?this.parseIdent():!0===t?this.unexpected():null},Re.parseClassSuper=function(e){e.superClass=this.eat(G._extends)?this.parseExprSubscripts():null},Re.parseExport=function(e,t){if(this.next(),this.eat(G.star))return this.expectContextual("from"),this.type!==G.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(G._default)){var n;if(this.checkExport(t,"default",this.lastTokStart),this.type===G._function||(n=this.isAsyncFunction())){var a=this.startNode();this.next(),n&&this.next(),e.declaration=this.parseFunction(a,4|ve,!1,n,!0)}else if(this.type===G._class){var r=this.startNode();e.declaration=this.parseClass(r,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),"VariableDeclaration"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==G.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var i=0,s=e.specifiers;i<s.length;i+=1){var o=s[i];this.checkUnreserved(o.local)}e.source=null}this.semicolon()}return this.finishNode(e,"ExportNamedDeclaration")},Re.checkExport=function(e,t,n){e&&(ae(e,t)&&this.raiseRecoverable(n,"Duplicate export '"+t+"'"),e[t]=!0)},Re.checkPatternExport=function(e,t){var n=t.type;if("Identifier"===n)this.checkExport(e,t.name,t.start);else if("ObjectPattern"===n)for(var a=0,r=t.properties;a<r.length;a+=1){var i=r[a];this.checkPatternExport(e,i)}else if("ArrayPattern"===n)for(var s=0,o=t.elements;s<o.length;s+=1){var d=o[s];d&&this.checkPatternExport(e,d)}else"Property"===n?this.checkPatternExport(e,t.value):"AssignmentPattern"===n?this.checkPatternExport(e,t.left):"RestElement"===n?this.checkPatternExport(e,t.argument):"ParenthesizedExpression"===n&&this.checkPatternExport(e,t.expression)},Re.checkVariableExport=function(e,t){if(e)for(var n=0,a=t;n<a.length;n+=1){var r=a[n];this.checkPatternExport(e,r.id)}},Re.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},Re.parseExportSpecifiers=function(e){var t=this,n=[],a=!0;for(this.expect(G.braceL);!this.eat(G.braceR);){if(a)a=!1;else if(t.expect(G.comma),t.afterTrailingComma(G.braceR))break;var r=t.startNode();r.local=t.parseIdent(!0),r.exported=t.eatContextual("as")?t.parseIdent(!0):r.local,t.checkExport(e,r.exported.name,r.exported.start),n.push(t.finishNode(r,"ExportSpecifier"))}return n},Re.parseImport=function(e){return this.next(),this.type===G.string?(e.specifiers=xe,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),e.source=this.type===G.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(e,"ImportDeclaration")},Re.parseImportSpecifiers=function(){var e=this,t=[],n=!0;if(this.type===G.name){var a=this.startNode();if(a.local=this.parseIdent(),this.checkLVal(a.local,2),t.push(this.finishNode(a,"ImportDefaultSpecifier")),!this.eat(G.comma))return t}if(this.type===G.star){var r=this.startNode();return this.next(),this.expectContextual("as"),r.local=this.parseIdent(),this.checkLVal(r.local,2),t.push(this.finishNode(r,"ImportNamespaceSpecifier")),t}for(this.expect(G.braceL);!this.eat(G.braceR);){if(n)n=!1;else if(e.expect(G.comma),e.afterTrailingComma(G.braceR))break;var i=e.startNode();i.imported=e.parseIdent(!0),e.eatContextual("as")?i.local=e.parseIdent():(e.checkUnreserved(i.imported),i.local=i.imported),e.checkLVal(i.local,2),t.push(e.finishNode(i,"ImportSpecifier"))}return t},Re.adaptDirectivePrologue=function(e){for(var t=0;t<e.length&&this.isDirectiveCandidate(e[t]);++t)e[t].directive=e[t].expression.raw.slice(1,-1)},Re.isDirectiveCandidate=function(e){return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&('"'===this.input[e.start]||"'"===this.input[e.start])};var ke=he.prototype;ke.toAssignable=function(e,t,n){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&"await"===e.name&&this.raise(e.start,"Can not use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",n&&this.checkPatternErrors(n,!0);for(var a=0,r=e.properties;a<r.length;a+=1){var i=r[a];this.toAssignable(i,t),"RestElement"!==i.type||"ArrayPattern"!==i.argument.type&&"ObjectPattern"!==i.argument.type||this.raise(i.argument.start,"Unexpected token")}break;case"Property":"init"!==e.kind&&this.raise(e.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(e.value,t);break;case"ArrayExpression":e.type="ArrayPattern",n&&this.checkPatternErrors(n,!0),this.toAssignableList(e.elements,t);break;case"SpreadElement":e.type="RestElement",this.toAssignable(e.argument,t),"AssignmentPattern"===e.argument.type&&this.raise(e.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==e.operator&&this.raise(e.left.end,"Only '=' operator can be used for specifying default value."),e.type="AssignmentPattern",delete e.operator,this.toAssignable(e.left,t);case"AssignmentPattern":break;case"ParenthesizedExpression":this.toAssignable(e.expression,t);break;case"MemberExpression":if(!t)break;default:this.raise(e.start,"Assigning to rvalue")}else n&&this.checkPatternErrors(n,!0);return e},ke.toAssignableList=function(e,t){for(var n=e.length,a=0;a<n;a++){var r=e[a];r&&this.toAssignable(r,t)}if(n){var i=e[n-1];6===this.options.ecmaVersion&&t&&i&&"RestElement"===i.type&&"Identifier"!==i.argument.type&&this.unexpected(i.argument.start)}return e},ke.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,"SpreadElement")},ke.parseRestBinding=function(){var e=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==G.name&&this.unexpected(),e.argument=this.parseBindingAtom(),this.finishNode(e,"RestElement")},ke.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case G.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(G.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case G.braceL:return this.parseObj(!0)}return this.parseIdent()},ke.parseBindingList=function(e,t,n){for(var a=this,r=[],i=!0;!this.eat(e);)if(i?i=!1:a.expect(G.comma),t&&a.type===G.comma)r.push(null);else{if(n&&a.afterTrailingComma(e))break;if(a.type===G.ellipsis){var s=a.parseRestBinding();a.parseBindingListItem(s),r.push(s),a.type===G.comma&&a.raise(a.start,"Comma is not permitted after the rest element"),a.expect(e);break}var o=a.parseMaybeDefault(a.start,a.startLoc);a.parseBindingListItem(o),r.push(o)}return r},ke.parseBindingListItem=function(e){return e},ke.parseMaybeDefault=function(e,t,n){if(n=n||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(G.eq))return n;var a=this.startNodeAt(e,t);return a.left=n,a.right=this.parseMaybeAssign(),this.finishNode(a,"AssignmentPattern")},ke.checkLVal=function(e,t,n){switch(void 0===t&&(t=0),e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(t?"Binding ":"Assigning to ")+e.name+" in strict mode"),n&&(ae(n,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),n[e.name]=!0),0!==t&&5!==t&&this.declareName(e.name,t,e.start);break;case"MemberExpression":t&&this.raiseRecoverable(e.start,"Binding member expression");break;case"ObjectPattern":for(var a=0,r=e.properties;a<r.length;a+=1){var i=r[a];this.checkLVal(i,t,n)}break;case"Property":this.checkLVal(e.value,t,n);break;case"ArrayPattern":for(var s=0,o=e.elements;s<o.length;s+=1){var d=o[s];d&&this.checkLVal(d,t,n)}break;case"AssignmentPattern":this.checkLVal(e.left,t,n);break;case"RestElement":this.checkLVal(e.argument,t,n);break;case"ParenthesizedExpression":this.checkLVal(e.expression,t,n);break;default:this.raise(e.start,(t?"Binding":"Assigning to")+" rvalue")}};var Ce=he.prototype;Ce.checkPropClash=function(e,t,n){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===e.type||this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var a,r=e.key;switch(r.type){case"Identifier":a=r.name;break;case"Literal":a=String(r.value);break;default:return}var i=e.kind;if(this.options.ecmaVersion>=6)"__proto__"===a&&"init"===i&&(t.proto&&(n&&n.doubleProto<0?n.doubleProto=r.start:this.raiseRecoverable(r.start,"Redefinition of __proto__ property")),t.proto=!0);else{var s=t[a="$"+a];if(s)("init"===i?this.strict&&s.init||s.get||s.set:s.init||s[i])&&this.raiseRecoverable(r.start,"Redefinition of property");else s=t[a]={init:!1,get:!1,set:!1};s[i]=!0}}},Ce.parseExpression=function(e,t){var n=this.start,a=this.startLoc,r=this.parseMaybeAssign(e,t);if(this.type===G.comma){var i=this.startNodeAt(n,a);for(i.expressions=[r];this.eat(G.comma);)i.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(i,"SequenceExpression")}return r},Ce.parseMaybeAssign=function(e,t,n){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield();this.exprAllowed=!1}var a=!1,r=-1,i=-1,s=-1;t?(r=t.parenthesizedAssign,i=t.trailingComma,s=t.shorthandAssign,t.parenthesizedAssign=t.trailingComma=t.shorthandAssign=-1):(t=new me,a=!0);var o=this.start,d=this.startLoc;this.type!==G.parenL&&this.type!==G.name||(this.potentialArrowAt=this.start);var l=this.parseMaybeConditional(e,t);if(n&&(l=n.call(this,l,o,d)),this.type.isAssign){var c=this.startNodeAt(o,d);return c.operator=this.value,c.left=this.type===G.eq?this.toAssignable(l,!1,t):l,a||me.call(t),t.shorthandAssign=-1,this.checkLVal(l),this.next(),c.right=this.parseMaybeAssign(e),this.finishNode(c,"AssignmentExpression")}return a&&this.checkExpressionErrors(t,!0),r>-1&&(t.parenthesizedAssign=r),i>-1&&(t.trailingComma=i),s>-1&&(t.shorthandAssign=s),l},Ce.parseMaybeConditional=function(e,t){var n=this.start,a=this.startLoc,r=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return r;if(this.eat(G.question)){var i=this.startNodeAt(n,a);return i.test=r,i.consequent=this.parseMaybeAssign(),this.expect(G.colon),i.alternate=this.parseMaybeAssign(e),this.finishNode(i,"ConditionalExpression")}return r},Ce.parseExprOps=function(e,t){var n=this.start,a=this.startLoc,r=this.parseMaybeUnary(t,!1);return this.checkExpressionErrors(t)||r.start===n&&"ArrowFunctionExpression"===r.type?r:this.parseExprOp(r,n,a,-1,e)},Ce.parseExprOp=function(e,t,n,a,r){var i=this.type.binop;if(null!=i&&(!r||this.type!==G._in)&&i>a){var s=this.type===G.logicalOR||this.type===G.logicalAND,o=this.value;this.next();var d=this.start,l=this.startLoc,c=this.parseExprOp(this.parseMaybeUnary(null,!1),d,l,i,r),u=this.buildBinary(t,n,e,c,o,s);return this.parseExprOp(u,t,n,a,r)}return e},Ce.buildBinary=function(e,t,n,a,r,i){var s=this.startNodeAt(e,t);return s.left=n,s.operator=r,s.right=a,this.finishNode(s,i?"LogicalExpression":"BinaryExpression")},Ce.parseMaybeUnary=function(e,t){var n,a=this,r=this.start,i=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))n=this.parseAwait(),t=!0;else if(this.type.prefix){var s=this.startNode(),o=this.type===G.incDec;s.operator=this.value,s.prefix=!0,this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),o?this.checkLVal(s.argument):this.strict&&"delete"===s.operator&&"Identifier"===s.argument.type?this.raiseRecoverable(s.start,"Deleting local variable in strict mode"):t=!0,n=this.finishNode(s,o?"UpdateExpression":"UnaryExpression")}else{if(n=this.parseExprSubscripts(e),this.checkExpressionErrors(e))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var d=a.startNodeAt(r,i);d.operator=a.value,d.prefix=!1,d.argument=n,a.checkLVal(n),a.next(),n=a.finishNode(d,"UpdateExpression")}}return!t&&this.eat(G.starstar)?this.buildBinary(r,i,n,this.parseMaybeUnary(null,!1),"**",!1):n},Ce.parseExprSubscripts=function(e){var t=this.start,n=this.startLoc,a=this.parseExprAtom(e),r="ArrowFunctionExpression"===a.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);if(this.checkExpressionErrors(e)||r)return a;var i=this.parseSubscripts(a,t,n);return e&&"MemberExpression"===i.type&&(e.parenthesizedAssign>=i.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=i.start&&(e.parenthesizedBind=-1)),i},Ce.parseSubscripts=function(e,t,n,a){for(var r=this,i=this.options.ecmaVersion>=8&&"Identifier"===e.type&&"async"===e.name&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&"async"===this.input.slice(e.start,e.end),s=void 0;;)if((s=r.eat(G.bracketL))||r.eat(G.dot)){var o=r.startNodeAt(t,n);o.object=e,o.property=s?r.parseExpression():r.parseIdent(!0),o.computed=!!s,s&&r.expect(G.bracketR),e=r.finishNode(o,"MemberExpression")}else if(!a&&r.eat(G.parenL)){var d=new me,l=r.yieldPos,c=r.awaitPos;r.yieldPos=0,r.awaitPos=0;var u=r.parseExprList(G.parenR,r.options.ecmaVersion>=8,!1,d);if(i&&!r.canInsertSemicolon()&&r.eat(G.arrow))return r.checkPatternErrors(d,!1),r.checkYieldAwaitInDefaultParams(),r.yieldPos=l,r.awaitPos=c,r.parseArrowExpression(r.startNodeAt(t,n),u,!0);r.checkExpressionErrors(d,!0),r.yieldPos=l||r.yieldPos,r.awaitPos=c||r.awaitPos;var h=r.startNodeAt(t,n);h.callee=e,h.arguments=u,e=r.finishNode(h,"CallExpression")}else{if(r.type!==G.backQuote)return e;var g=r.startNodeAt(t,n);g.tag=e,g.quasi=r.parseTemplate({isTagged:!0}),e=r.finishNode(g,"TaggedTemplateExpression")}},Ce.parseExprAtom=function(e){var t,n=this.potentialArrowAt===this.start;switch(this.type){case G._super:return this.inFunction||this.raise(this.start,"'super' outside of function or class"),t=this.startNode(),this.next(),this.type!==G.dot&&this.type!==G.bracketL&&this.type!==G.parenL&&this.unexpected(),this.finishNode(t,"Super");case G._this:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case G.name:var a=this.start,r=this.startLoc,i=this.containsEsc,s=this.parseIdent(this.type!==G.name);if(this.options.ecmaVersion>=8&&!i&&"async"===s.name&&!this.canInsertSemicolon()&&this.eat(G._function))return this.parseFunction(this.startNodeAt(a,r),0,!1,!0);if(n&&!this.canInsertSemicolon()){if(this.eat(G.arrow))return this.parseArrowExpression(this.startNodeAt(a,r),[s],!1);if(this.options.ecmaVersion>=8&&"async"===s.name&&this.type===G.name&&!i)return s=this.parseIdent(),!this.canInsertSemicolon()&&this.eat(G.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(a,r),[s],!0)}return s;case G.regexp:var o=this.value;return(t=this.parseLiteral(o.value)).regex={pattern:o.pattern,flags:o.flags},t;case G.num:case G.string:return this.parseLiteral(this.value);case G._null:case G._true:case G._false:return(t=this.startNode()).value=this.type===G._null?null:this.type===G._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case G.parenL:var d=this.start,l=this.parseParenAndDistinguishExpression(n);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(l)&&(e.parenthesizedAssign=d),e.parenthesizedBind<0&&(e.parenthesizedBind=d)),l;case G.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(G.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case G.braceL:return this.parseObj(!1,e);case G._function:return t=this.startNode(),this.next(),this.parseFunction(t,0);case G._class:return this.parseClass(this.startNode(),!1);case G._new:return this.parseNew();case G.backQuote:return this.parseTemplate();default:this.unexpected()}},Ce.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),this.next(),this.finishNode(t,"Literal")},Ce.parseParenExpression=function(){this.expect(G.parenL);var e=this.parseExpression();return this.expect(G.parenR),e},Ce.parseParenAndDistinguishExpression=function(e){var t,n=this,a=this.start,r=this.startLoc,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var s,o=this.start,d=this.startLoc,l=[],c=!0,u=!1,h=new me,g=this.yieldPos,p=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==G.parenR;){if(c?c=!1:n.expect(G.comma),i&&n.afterTrailingComma(G.parenR,!0)){u=!0;break}if(n.type===G.ellipsis){s=n.start,l.push(n.parseParenItem(n.parseRestBinding())),n.type===G.comma&&n.raise(n.start,"Comma is not permitted after the rest element");break}l.push(n.parseMaybeAssign(!1,h,n.parseParenItem))}var f=this.start,m=this.startLoc;if(this.expect(G.parenR),e&&!this.canInsertSemicolon()&&this.eat(G.arrow))return this.checkPatternErrors(h,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=g,this.awaitPos=p,this.parseParenArrowList(a,r,l);l.length&&!u||this.unexpected(this.lastTokStart),s&&this.unexpected(s),this.checkExpressionErrors(h,!0),this.yieldPos=g||this.yieldPos,this.awaitPos=p||this.awaitPos,l.length>1?((t=this.startNodeAt(o,d)).expressions=l,this.finishNodeAt(t,"SequenceExpression",f,m)):t=l[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var R=this.startNodeAt(a,r);return R.expression=t,this.finishNode(R,"ParenthesizedExpression")}return t},Ce.parseParenItem=function(e){return e},Ce.parseParenArrowList=function(e,t,n){return this.parseArrowExpression(this.startNodeAt(e,t),n)};var we=[];Ce.parseNew=function(){var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(G.dot)){e.meta=t;var n=this.containsEsc;return e.property=this.parseIdent(!0),("target"!==e.property.name||n)&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is new.target"),this.inNonArrowFunction()||this.raiseRecoverable(e.start,"new.target can only be used in functions"),this.finishNode(e,"MetaProperty")}var a=this.start,r=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(),a,r,!0),this.eat(G.parenL)?e.arguments=this.parseExprList(G.parenR,this.options.ecmaVersion>=8,!1):e.arguments=we,this.finishNode(e,"NewExpression")},Ce.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===G.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),n.value={raw:this.value,cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),n.tail=this.type===G.backQuote,this.finishNode(n,"TemplateElement")},Ce.parseTemplate=function(e){var t=this;void 0===e&&(e={});var n=e.isTagged;void 0===n&&(n=!1);var a=this.startNode();this.next(),a.expressions=[];var r=this.parseTemplateElement({isTagged:n});for(a.quasis=[r];!r.tail;)t.type===G.eof&&t.raise(t.pos,"Unterminated template literal"),t.expect(G.dollarBraceL),a.expressions.push(t.parseExpression()),t.expect(G.braceR),a.quasis.push(r=t.parseTemplateElement({isTagged:n}));return this.next(),this.finishNode(a,"TemplateLiteral")},Ce.isAsyncProp=function(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===G.name||this.type===G.num||this.type===G.string||this.type===G.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===G.star)&&!X.test(this.input.slice(this.lastTokEnd,this.start))},Ce.parseObj=function(e,t){var n=this,a=this.startNode(),r=!0,i={};for(a.properties=[],this.next();!this.eat(G.braceR);){if(r)r=!1;else if(n.expect(G.comma),n.afterTrailingComma(G.braceR))break;var s=n.parseProperty(e,t);e||n.checkPropClash(s,i,t),a.properties.push(s)}return this.finishNode(a,e?"ObjectPattern":"ObjectExpression")},Ce.parseProperty=function(e,t){var n,a,r,i,s=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(G.ellipsis))return e?(s.argument=this.parseIdent(!1),this.type===G.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(s,"RestElement")):(this.type===G.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),s.argument=this.parseMaybeAssign(!1,t),this.type===G.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(s,"SpreadElement"));this.options.ecmaVersion>=6&&(s.method=!1,s.shorthand=!1,(e||t)&&(r=this.start,i=this.startLoc),e||(n=this.eat(G.star)));var o=this.containsEsc;return this.parsePropertyName(s),!e&&!o&&this.options.ecmaVersion>=8&&!n&&this.isAsyncProp(s)?(a=!0,n=this.options.ecmaVersion>=9&&this.eat(G.star),this.parsePropertyName(s,t)):a=!1,this.parsePropertyValue(s,e,n,a,r,i,t,o),this.finishNode(s,"Property")},Ce.parsePropertyValue=function(e,t,n,a,r,i,s,o){if((n||a)&&this.type===G.colon&&this.unexpected(),this.eat(G.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,s),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===G.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(n,a);else if(t||o||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type===G.comma||this.type===G.braceR)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?(this.checkUnreserved(e.key),e.kind="init",t?e.value=this.parseMaybeDefault(r,i,e.key):this.type===G.eq&&s?(s.shorthandAssign<0&&(s.shorthandAssign=this.start),e.value=this.parseMaybeDefault(r,i,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected();else{(n||a)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var d="get"===e.kind?0:1;if(e.value.params.length!==d){var l=e.value.start;"get"===e.kind?this.raiseRecoverable(l,"getter should have no params"):this.raiseRecoverable(l,"setter should have exactly one param")}else"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}},Ce.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(G.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(G.bracketR),e.key;e.computed=!1}return e.key=this.type===G.num||this.type===G.string?this.parseExprAtom():this.parseIdent(!0)},Ce.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},Ce.parseMethod=function(e,t){var n=this.startNode(),a=this.yieldPos,r=this.awaitPos;return this.initFunction(n),this.options.ecmaVersion>=6&&(n.generator=e),this.options.ecmaVersion>=8&&(n.async=!!t),this.yieldPos=0,this.awaitPos=0,this.enterScope(ce(t,n.generator)),this.expect(G.parenL),n.params=this.parseBindingList(G.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(n,!1),this.yieldPos=a,this.awaitPos=r,this.finishNode(n,"FunctionExpression")},Ce.parseArrowExpression=function(e,t,n){var a=this.yieldPos,r=this.awaitPos;return this.enterScope(16|ce(n,!1)),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.yieldPos=0,this.awaitPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0),this.yieldPos=a,this.awaitPos=r,this.finishNode(e,"ArrowFunctionExpression")},Ce.parseFunctionBody=function(e,t){var n=t&&this.type!==G.braceL,a=this.strict,r=!1;if(n)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var i=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);a&&!i||(r=this.strictDirective(this.end))&&i&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list");var s=this.labels;this.labels=[],r&&(this.strict=!0),this.checkParams(e,!a&&!r&&!t&&this.isSimpleParamList(e.params)),e.body=this.parseBlock(!1),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=s}this.exitScope(),this.strict&&e.id&&this.checkLVal(e.id,5),this.strict=a},Ce.isSimpleParamList=function(e){for(var t=0,n=e;t<n.length;t+=1){if("Identifier"!==n[t].type)return!1}return!0},Ce.checkParams=function(e,t){for(var n={},a=0,r=e.params;a<r.length;a+=1){var i=r[a];this.checkLVal(i,1,t?null:n)}},Ce.parseExprList=function(e,t,n,a){for(var r=this,i=[],s=!0;!this.eat(e);){if(s)s=!1;else if(r.expect(G.comma),t&&r.afterTrailingComma(e))break;var o=void 0;n&&r.type===G.comma?o=null:r.type===G.ellipsis?(o=r.parseSpread(a),a&&r.type===G.comma&&a.trailingComma<0&&(a.trailingComma=r.start)):o=r.parseMaybeAssign(!1,a),i.push(o)}return i},Ce.checkUnreserved=function(e){var t=e.start,n=e.end,a=e.name;(this.inGenerator&&"yield"===a&&this.raiseRecoverable(t,"Can not use 'yield' as identifier inside a generator"),this.inAsync&&"await"===a&&this.raiseRecoverable(t,"Can not use 'await' as identifier inside an async function"),this.keywords.test(a)&&this.raise(t,"Unexpected keyword '"+a+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(t,n).indexOf("\\"))||(this.strict?this.reservedWordsStrict:this.reservedWords).test(a)&&(this.inAsync||"await"!==a||this.raiseRecoverable(t,"Can not use keyword 'await' outside an async function"),this.raiseRecoverable(t,"The keyword '"+a+"' is reserved"))},Ce.parseIdent=function(e,t){var n=this.startNode();return e&&"never"===this.options.allowReserved&&(e=!1),this.type===G.name?n.name=this.value:this.type.keyword?(n.name=this.type.keyword,"class"!==n.name&&"function"!==n.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop()):this.unexpected(),this.next(),this.finishNode(n,"Identifier"),e||this.checkUnreserved(n),n},Ce.parseYield=function(){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===G.semi||this.canInsertSemicolon()||this.type!==G.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(G.star),e.argument=this.parseMaybeAssign()),this.finishNode(e,"YieldExpression")},Ce.parseAwait=function(){this.awaitPos||(this.awaitPos=this.start);var e=this.startNode();return this.next(),e.argument=this.parseMaybeUnary(null,!0),this.finishNode(e,"AwaitExpression")};var Ee=he.prototype;Ee.raise=function(e,t){var n=oe(this.input,e);t+=" ("+n.line+":"+n.column+")";var a=new SyntaxError(t);throw a.pos=e,a.loc=n,a.raisedAt=this.pos,a},Ee.raiseRecoverable=Ee.raise,Ee.curPosition=function(){if(this.options.locations)return new ie(this.curLine,this.pos-this.lineStart)};var Se=he.prototype,Ae=function(e){this.flags=e,this.var=[],this.lexical=[]};Se.enterScope=function(e){this.scopeStack.push(new Ae(e))},Se.exitScope=function(){this.scopeStack.pop()},Se.declareName=function(e,t,n){var a=!1;if(2===t){var r=this.currentScope();a=r.lexical.indexOf(e)>-1||r.var.indexOf(e)>-1,r.lexical.push(e)}else if(4===t){this.currentScope().lexical.push(e)}else if(3===t){var i=this.currentScope();a=i.lexical.indexOf(e)>-1,i.var.push(e)}else for(var s=this.scopeStack.length-1;s>=0;--s){var o=this.scopeStack[s];if(o.lexical.indexOf(e)>-1&&!(32&o.flags)&&o.lexical[0]===e&&(a=!0),o.var.push(e),3&o.flags)break}a&&this.raiseRecoverable(n,"Identifier '"+e+"' has already been declared")},Se.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Se.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags)return t}},Se.inNonArrowFunction=function(){for(var e=this.scopeStack.length-1;e>=0;e--)if(2&this.scopeStack[e].flags&&!(16&this.scopeStack[e].flags))return!0;return!1};var Te=function(e,t,n){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new se(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},De=he.prototype;function Le(e,t,n,a){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=a),this.options.ranges&&(e.range[1]=n),e}De.startNode=function(){return new Te(this,this.start,this.startLoc)},De.startNodeAt=function(e,t){return new Te(this,e,t)},De.finishNode=function(e,t){return Le.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},De.finishNodeAt=function(e,t,n,a){return Le.call(this,e,t,n,a)};var Ie=function(e,t,n,a,r){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=a,this.generator=!!r},Fe={b_stat:new Ie("{",!1),b_expr:new Ie("{",!0),b_tmpl:new Ie("${",!1),p_stat:new Ie("(",!1),p_expr:new Ie("(",!0),q_tmpl:new Ie("`",!0,!0,(function(e){return e.tryReadTemplateToken()})),f_stat:new Ie("function",!1),f_expr:new Ie("function",!0),f_expr_gen:new Ie("function",!0,!1,null,!0),f_gen:new Ie("function",!1,!1,null,!0)},Oe=he.prototype;Oe.initialContext=function(){return[Fe.b_stat]},Oe.braceIsBlock=function(e){var t=this.curContext();return t===Fe.f_expr||t===Fe.f_stat||(e!==G.colon||t!==Fe.b_stat&&t!==Fe.b_expr?e===G._return||e===G.name&&this.exprAllowed?X.test(this.input.slice(this.lastTokEnd,this.start)):e===G._else||e===G.semi||e===G.eof||e===G.parenR||e===G.arrow||(e===G.braceL?t===Fe.b_stat:e!==G._var&&e!==G.name&&!this.exprAllowed):!t.isExpr)},Oe.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if("function"===t.token)return t.generator}return!1},Oe.updateContext=function(e){var t,n=this.type;n.keyword&&e===G.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},G.parenR.updateContext=G.braceR.updateContext=function(){if(1!==this.context.length){var e=this.context.pop();e===Fe.b_stat&&"function"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},G.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?Fe.b_stat:Fe.b_expr),this.exprAllowed=!0},G.dollarBraceL.updateContext=function(){this.context.push(Fe.b_tmpl),this.exprAllowed=!0},G.parenL.updateContext=function(e){var t=e===G._if||e===G._for||e===G._with||e===G._while;this.context.push(t?Fe.p_stat:Fe.p_expr),this.exprAllowed=!0},G.incDec.updateContext=function(){},G._function.updateContext=G._class.updateContext=function(e){e.beforeExpr&&e!==G.semi&&e!==G._else&&(e!==G.colon&&e!==G.braceL||this.curContext()!==Fe.b_stat)?this.context.push(Fe.f_expr):this.context.push(Fe.f_stat),this.exprAllowed=!1},G.backQuote.updateContext=function(){this.curContext()===Fe.q_tmpl?this.context.pop():this.context.push(Fe.q_tmpl),this.exprAllowed=!1},G.star.updateContext=function(e){if(e===G._function){var t=this.context.length-1;this.context[t]===Fe.f_expr?this.context[t]=Fe.f_expr_gen:this.context[t]=Fe.f_gen}this.exprAllowed=!0},G.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==G.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var Ne={$LONE:["ASCII","ASCII_Hex_Digit","AHex","Alphabetic","Alpha","Any","Assigned","Bidi_Control","Bidi_C","Bidi_Mirrored","Bidi_M","Case_Ignorable","CI","Cased","Changes_When_Casefolded","CWCF","Changes_When_Casemapped","CWCM","Changes_When_Lowercased","CWL","Changes_When_NFKC_Casefolded","CWKCF","Changes_When_Titlecased","CWT","Changes_When_Uppercased","CWU","Dash","Default_Ignorable_Code_Point","DI","Deprecated","Dep","Diacritic","Dia","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extender","Ext","Grapheme_Base","Gr_Base","Grapheme_Extend","Gr_Ext","Hex_Digit","Hex","IDS_Binary_Operator","IDSB","IDS_Trinary_Operator","IDST","ID_Continue","IDC","ID_Start","IDS","Ideographic","Ideo","Join_Control","Join_C","Logical_Order_Exception","LOE","Lowercase","Lower","Math","Noncharacter_Code_Point","NChar","Pattern_Syntax","Pat_Syn","Pattern_White_Space","Pat_WS","Quotation_Mark","QMark","Radical","Regional_Indicator","RI","Sentence_Terminal","STerm","Soft_Dotted","SD","Terminal_Punctuation","Term","Unified_Ideograph","UIdeo","Uppercase","Upper","Variation_Selector","VS","White_Space","space","XID_Continue","XIDC","XID_Start","XIDS"],General_Category:["Cased_Letter","LC","Close_Punctuation","Pe","Connector_Punctuation","Pc","Control","Cc","cntrl","Currency_Symbol","Sc","Dash_Punctuation","Pd","Decimal_Number","Nd","digit","Enclosing_Mark","Me","Final_Punctuation","Pf","Format","Cf","Initial_Punctuation","Pi","Letter","L","Letter_Number","Nl","Line_Separator","Zl","Lowercase_Letter","Ll","Mark","M","Combining_Mark","Math_Symbol","Sm","Modifier_Letter","Lm","Modifier_Symbol","Sk","Nonspacing_Mark","Mn","Number","N","Open_Punctuation","Ps","Other","C","Other_Letter","Lo","Other_Number","No","Other_Punctuation","Po","Other_Symbol","So","Paragraph_Separator","Zp","Private_Use","Co","Punctuation","P","punct","Separator","Z","Space_Separator","Zs","Spacing_Mark","Mc","Surrogate","Cs","Symbol","S","Titlecase_Letter","Lt","Unassigned","Cn","Uppercase_Letter","Lu"],Script:["Adlam","Adlm","Ahom","Anatolian_Hieroglyphs","Hluw","Arabic","Arab","Armenian","Armn","Avestan","Avst","Balinese","Bali","Bamum","Bamu","Bassa_Vah","Bass","Batak","Batk","Bengali","Beng","Bhaiksuki","Bhks","Bopomofo","Bopo","Brahmi","Brah","Braille","Brai","Buginese","Bugi","Buhid","Buhd","Canadian_Aboriginal","Cans","Carian","Cari","Caucasian_Albanian","Aghb","Chakma","Cakm","Cham","Cherokee","Cher","Common","Zyyy","Coptic","Copt","Qaac","Cuneiform","Xsux","Cypriot","Cprt","Cyrillic","Cyrl","Deseret","Dsrt","Devanagari","Deva","Duployan","Dupl","Egyptian_Hieroglyphs","Egyp","Elbasan","Elba","Ethiopic","Ethi","Georgian","Geor","Glagolitic","Glag","Gothic","Goth","Grantha","Gran","Greek","Grek","Gujarati","Gujr","Gurmukhi","Guru","Han","Hani","Hangul","Hang","Hanunoo","Hano","Hatran","Hatr","Hebrew","Hebr","Hiragana","Hira","Imperial_Aramaic","Armi","Inherited","Zinh","Qaai","Inscriptional_Pahlavi","Phli","Inscriptional_Parthian","Prti","Javanese","Java","Kaithi","Kthi","Kannada","Knda","Katakana","Kana","Kayah_Li","Kali","Kharoshthi","Khar","Khmer","Khmr","Khojki","Khoj","Khudawadi","Sind","Lao","Laoo","Latin","Latn","Lepcha","Lepc","Limbu","Limb","Linear_A","Lina","Linear_B","Linb","Lisu","Lycian","Lyci","Lydian","Lydi","Mahajani","Mahj","Malayalam","Mlym","Mandaic","Mand","Manichaean","Mani","Marchen","Marc","Masaram_Gondi","Gonm","Meetei_Mayek","Mtei","Mende_Kikakui","Mend","Meroitic_Cursive","Merc","Meroitic_Hieroglyphs","Mero","Miao","Plrd","Modi","Mongolian","Mong","Mro","Mroo","Multani","Mult","Myanmar","Mymr","Nabataean","Nbat","New_Tai_Lue","Talu","Newa","Nko","Nkoo","Nushu","Nshu","Ogham","Ogam","Ol_Chiki","Olck","Old_Hungarian","Hung","Old_Italic","Ital","Old_North_Arabian","Narb","Old_Permic","Perm","Old_Persian","Xpeo","Old_South_Arabian","Sarb","Old_Turkic","Orkh","Oriya","Orya","Osage","Osge","Osmanya","Osma","Pahawh_Hmong","Hmng","Palmyrene","Palm","Pau_Cin_Hau","Pauc","Phags_Pa","Phag","Phoenician","Phnx","Psalter_Pahlavi","Phlp","Rejang","Rjng","Runic","Runr","Samaritan","Samr","Saurashtra","Saur","Sharada","Shrd","Shavian","Shaw","Siddham","Sidd","SignWriting","Sgnw","Sinhala","Sinh","Sora_Sompeng","Sora","Soyombo","Soyo","Sundanese","Sund","Syloti_Nagri","Sylo","Syriac","Syrc","Tagalog","Tglg","Tagbanwa","Tagb","Tai_Le","Tale","Tai_Tham","Lana","Tai_Viet","Tavt","Takri","Takr","Tamil","Taml","Tangut","Tang","Telugu","Telu","Thaana","Thaa","Thai","Tibetan","Tibt","Tifinagh","Tfng","Tirhuta","Tirh","Ugaritic","Ugar","Vai","Vaii","Warang_Citi","Wara","Yi","Yiii","Zanabazar_Square","Zanb"]};Array.prototype.push.apply(Ne.$LONE,Ne.General_Category),Ne.gc=Ne.General_Category,Ne.sc=Ne.Script_Extensions=Ne.scx=Ne.Script;var Be=he.prototype,Me=function(e){this.parser=e,this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":""),this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function Pe(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function je(e){return 36===e||e>=40&&e<=43||46===e||63===e||e>=91&&e<=94||e>=123&&e<=125}function Ve(e){return e>=65&&e<=90||e>=97&&e<=122}function $e(e){return Ve(e)||95===e}function Ue(e){return $e(e)||ze(e)}function ze(e){return e>=48&&e<=57}function He(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Ye(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e-48}function We(e){return e>=48&&e<=55}Me.prototype.reset=function(e,t,n){var a=-1!==n.indexOf("u");this.start=0|e,this.source=t+"",this.flags=n,this.switchU=a&&this.parser.options.ecmaVersion>=6,this.switchN=a&&this.parser.options.ecmaVersion>=9},Me.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)},Me.prototype.at=function(e){var t=this.source,n=t.length;if(e>=n)return-1;var a=t.charCodeAt(e);return!this.switchU||a<=55295||a>=57344||e+1>=n?a:(a<<10)+t.charCodeAt(e+1)-56613888},Me.prototype.nextIndex=function(e){var t=this.source,n=t.length;if(e>=n)return n;var a=t.charCodeAt(e);return!this.switchU||a<=55295||a>=57344||e+1>=n?e+1:e+2},Me.prototype.current=function(){return this.at(this.pos)},Me.prototype.lookahead=function(){return this.at(this.nextIndex(this.pos))},Me.prototype.advance=function(){this.pos=this.nextIndex(this.pos)},Me.prototype.eat=function(e){return this.current()===e&&(this.advance(),!0)},Be.validateRegExpFlags=function(e){for(var t=e.validFlags,n=e.flags,a=0;a<n.length;a++){var r=n.charAt(a);-1===t.indexOf(r)&&this.raise(e.start,"Invalid regular expression flag"),n.indexOf(r,a+1)>-1&&this.raise(e.start,"Duplicate regular expression flag")}},Be.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},Be.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,n=e.backReferenceNames;t<n.length;t+=1){var a=n[t];-1===e.groupNames.indexOf(a)&&e.raise("Invalid named capture referenced")}},Be.regexp_disjunction=function(e){for(this.regexp_alternative(e);e.eat(124);)this.regexp_alternative(e);this.regexp_eatQuantifier(e,!0)&&e.raise("Nothing to repeat"),e.eat(123)&&e.raise("Lone quantifier brackets")},Be.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););},Be.regexp_eatTerm=function(e){return this.regexp_eatAssertion(e)?(e.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(e)&&e.switchU&&e.raise("Invalid quantifier"),!0):!!(e.switchU?this.regexp_eatAtom(e):this.regexp_eatExtendedAtom(e))&&(this.regexp_eatQuantifier(e),!0)},Be.regexp_eatAssertion=function(e){var t=e.pos;if(e.lastAssertionIsQuantifiable=!1,e.eat(94)||e.eat(36))return!0;if(e.eat(92)){if(e.eat(66)||e.eat(98))return!0;e.pos=t}if(e.eat(40)&&e.eat(63)){var n=!1;if(this.options.ecmaVersion>=9&&(n=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!n,!0}return e.pos=t,!1},Be.regexp_eatQuantifier=function(e,t){return void 0===t&&(t=!1),!!this.regexp_eatQuantifierPrefix(e,t)&&(e.eat(63),!0)},Be.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},Be.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var a=0,r=-1;if(this.regexp_eatDecimalDigits(e)&&(a=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue),e.eat(125)))return-1!==r&&r<a&&!t&&e.raise("numbers out of order in {} quantifier"),!0;e.switchU&&!t&&e.raise("Incomplete quantifier"),e.pos=n}return!1},Be.regexp_eatAtom=function(e){return this.regexp_eatPatternCharacters(e)||e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)},Be.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1},Be.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)&&e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise("Unterminated group")}e.pos=t}return!1},Be.regexp_eatCapturingGroup=function(e){if(e.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(e):63===e.current()&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},Be.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},Be.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},Be.regexp_eatSyntaxCharacter=function(e){var t=e.current();return!!je(t)&&(e.lastIntValue=t,e.advance(),!0)},Be.regexp_eatPatternCharacters=function(e){for(var t=e.pos,n=0;-1!==(n=e.current())&&!je(n);)e.advance();return e.pos!==t},Be.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return!(-1===t||36===t||t>=40&&t<=43||46===t||63===t||91===t||94===t||124===t)&&(e.advance(),!0)},Be.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e))return-1!==e.groupNames.indexOf(e.lastStringValue)&&e.raise("Duplicate capture group name"),void e.groupNames.push(e.lastStringValue);e.raise("Invalid group")}},Be.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},Be.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Pe(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Pe(e.lastIntValue);return!0}return!1},Be.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,n=e.current();return e.advance(),92===n&&this.regexp_eatRegExpUnicodeEscapeSequence(e)&&(n=e.lastIntValue),function(e){return V(e,!0)||36===e||95===e}(n)?(e.lastIntValue=n,!0):(e.pos=t,!1)},Be.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,n=e.current();return e.advance(),92===n&&this.regexp_eatRegExpUnicodeEscapeSequence(e)&&(n=e.lastIntValue),function(e){return $(e,!0)||36===e||95===e||8204===e||8205===e}(n)?(e.lastIntValue=n,!0):(e.pos=t,!1)},Be.regexp_eatAtomEscape=function(e){return!!(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e))||(e.switchU&&(99===e.current()&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},Be.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU)return n>e.maxBackReference&&(e.maxBackReference=n),!0;if(n<=e.numCapturingParens)return!0;e.pos=t}return!1},Be.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},Be.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},Be.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},Be.regexp_eatZero=function(e){return 48===e.current()&&!ze(e.lookahead())&&(e.lastIntValue=0,e.advance(),!0)},Be.regexp_eatControlEscape=function(e){var t=e.current();return 116===t?(e.lastIntValue=9,e.advance(),!0):110===t?(e.lastIntValue=10,e.advance(),!0):118===t?(e.lastIntValue=11,e.advance(),!0):102===t?(e.lastIntValue=12,e.advance(),!0):114===t&&(e.lastIntValue=13,e.advance(),!0)},Be.regexp_eatControlLetter=function(e){var t=e.current();return!!Ve(t)&&(e.lastIntValue=t%32,e.advance(),!0)},Be.regexp_eatRegExpUnicodeEscapeSequence=function(e){var t,n=e.pos;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var a=e.lastIntValue;if(e.switchU&&a>=55296&&a<=56319){var r=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(i>=56320&&i<=57343)return e.lastIntValue=1024*(a-55296)+(i-56320)+65536,!0}e.pos=r,e.lastIntValue=a}return!0}if(e.switchU&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&((t=e.lastIntValue)>=0&&t<=1114111))return!0;e.switchU&&e.raise("Invalid unicode escape"),e.pos=n}return!1},Be.regexp_eatIdentityEscape=function(e){if(e.switchU)return!!this.regexp_eatSyntaxCharacter(e)||!!e.eat(47)&&(e.lastIntValue=47,!0);var t=e.current();return!(99===t||e.switchN&&107===t)&&(e.lastIntValue=t,e.advance(),!0)},Be.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48),e.advance()}while((t=e.current())>=48&&t<=57);return!0}return!1},Be.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(function(e){return 100===e||68===e||115===e||83===e||119===e||87===e}(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(80===t||112===t)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1},Be.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var a=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,n,a),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,r),!0}return!1},Be.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){Ne.hasOwnProperty(t)&&-1!==Ne[t].indexOf(n)||e.raise("Invalid property name")},Be.regexp_validateUnicodePropertyNameOrValue=function(e,t){-1===Ne.$LONE.indexOf(t)&&e.raise("Invalid property name")},Be.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";$e(t=e.current());)e.lastStringValue+=Pe(t),e.advance();return""!==e.lastStringValue},Be.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";Ue(t=e.current());)e.lastStringValue+=Pe(t),e.advance();return""!==e.lastStringValue},Be.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},Be.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1},Be.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;!e.switchU||-1!==t&&-1!==n||e.raise("Invalid character class"),-1!==t&&-1!==n&&t>n&&e.raise("Range out of order in character class")}}},Be.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var n=e.current();(99===n||We(n))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var a=e.current();return 93!==a&&(e.lastIntValue=a,e.advance(),!0)},Be.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},Be.regexp_eatClassControlLetter=function(e){var t=e.current();return!(!ze(t)&&95!==t)&&(e.lastIntValue=t%32,e.advance(),!0)},Be.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},Be.regexp_eatDecimalDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;ze(n=e.current());)e.lastIntValue=10*e.lastIntValue+(n-48),e.advance();return e.pos!==t},Be.regexp_eatHexDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;He(n=e.current());)e.lastIntValue=16*e.lastIntValue+Ye(n),e.advance();return e.pos!==t},Be.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=64*t+8*n+e.lastIntValue:e.lastIntValue=8*t+n}else e.lastIntValue=t;return!0}return!1},Be.regexp_eatOctalDigit=function(e){var t=e.current();return We(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)},Be.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var a=0;a<t;++a){var r=e.current();if(!He(r))return e.pos=n,!1;e.lastIntValue=16*e.lastIntValue+Ye(r),e.advance()}return!0};var qe=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new se(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},Ge=he.prototype;function Xe(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}Ge.next=function(){this.options.onToken&&this.options.onToken(new qe(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Ge.getToken=function(){return this.next(),new qe(this)},"undefined"!=typeof Symbol&&(Ge[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===G.eof,value:t}}}}),Ge.curContext=function(){return this.context[this.context.length-1]},Ge.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(G.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},Ge.readToken=function(e){return V(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},Ge.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.pos+1)-56613888},Ge.skipBlockComment=function(){var e,t=this.options.onComment&&this.curPosition(),n=this.pos,a=this.input.indexOf("*/",this.pos+=2);if(-1===a&&this.raise(this.pos-2,"Unterminated comment"),this.pos=a+2,this.options.locations)for(J.lastIndex=n;(e=J.exec(this.input))&&e.index<this.pos;)++this.curLine,this.lineStart=e.index+e[0].length;this.options.onComment&&this.options.onComment(!0,this.input.slice(n+2,a),n,this.pos,t,this.curPosition())},Ge.skipLineComment=function(e){for(var t=this.pos,n=this.options.onComment&&this.curPosition(),a=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!K(a);)a=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,n,this.curPosition())},Ge.skipSpace=function(){var e=this;e:for(;this.pos<this.input.length;){var t=e.input.charCodeAt(e.pos);switch(t){case 32:case 160:++e.pos;break;case 13:10===e.input.charCodeAt(e.pos+1)&&++e.pos;case 10:case 8232:case 8233:++e.pos,e.options.locations&&(++e.curLine,e.lineStart=e.pos);break;case 47:switch(e.input.charCodeAt(e.pos+1)){case 42:e.skipBlockComment();break;case 47:e.skipLineComment(2);break;default:break e}break;default:if(!(t>8&&t<14||t>=5760&&Z.test(String.fromCharCode(t))))break e;++e.pos}}},Ge.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},Ge.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(G.ellipsis)):(++this.pos,this.finishToken(G.dot))},Ge.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(G.assign,2):this.finishOp(G.slash,1)},Ge.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,a=42===e?G.star:G.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++n,a=G.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(G.assign,n+1):this.finishOp(a,n)},Ge.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.finishOp(124===e?G.logicalOR:G.logicalAND,2):61===t?this.finishOp(G.assign,2):this.finishOp(124===e?G.bitwiseOR:G.bitwiseAND,1)},Ge.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(G.assign,2):this.finishOp(G.bitwiseXOR,1)},Ge.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!==t||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!X.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(G.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(G.assign,2):this.finishOp(G.plusMin,1)},Ge.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+n)?this.finishOp(G.assign,n+1):this.finishOp(G.bitShift,n)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(n=2),this.finishOp(G.relational,n)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},Ge.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(G.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(G.arrow)):this.finishOp(61===e?G.eq:G.prefix,1)},Ge.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(G.parenL);case 41:return++this.pos,this.finishToken(G.parenR);case 59:return++this.pos,this.finishToken(G.semi);case 44:return++this.pos,this.finishToken(G.comma);case 91:return++this.pos,this.finishToken(G.bracketL);case 93:return++this.pos,this.finishToken(G.bracketR);case 123:return++this.pos,this.finishToken(G.braceL);case 125:return++this.pos,this.finishToken(G.braceR);case 58:return++this.pos,this.finishToken(G.colon);case 63:return++this.pos,this.finishToken(G.question);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(G.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(G.prefix,1)}this.raise(this.pos,"Unexpected character '"+Xe(e)+"'")},Ge.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)},Ge.readRegexp=function(){for(var e,t,n=this,a=this.pos;;){n.pos>=n.input.length&&n.raise(a,"Unterminated regular expression");var r=n.input.charAt(n.pos);if(X.test(r)&&n.raise(a,"Unterminated regular expression"),e)e=!1;else{if("["===r)t=!0;else if("]"===r&&t)t=!1;else if("/"===r&&!t)break;e="\\"===r}++n.pos}var i=this.input.slice(a,this.pos);++this.pos;var s=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(s);var d=this.regexpState||(this.regexpState=new Me(this));d.reset(a,i,o),this.validateRegExpFlags(d),this.validateRegExpPattern(d);var l=null;try{l=new RegExp(i,o)}catch(c){}return this.finishToken(G.regexp,{pattern:i,flags:o,value:l})},Ge.readInt=function(e,t){for(var n=this,a=this.pos,r=0,i=0,s=null==t?1/0:t;i<s;++i){var o=n.input.charCodeAt(n.pos),d=void 0;if((d=o>=97?o-97+10:o>=65?o-65+10:o>=48&&o<=57?o-48:1/0)>=e)break;++n.pos,r=r*e+d}return this.pos===a||null!=t&&this.pos-a!==t?null:r},Ge.readRadixNumber=function(e){this.pos+=2;var t=this.readInt(e);return null==t&&this.raise(this.start+2,"Expected number in radix "+e),V(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(G.num,t)},Ge.readNumber=function(e){var t=this.pos;e||null!==this.readInt(10)||this.raise(t,"Invalid number");var n=this.pos-t>=2&&48===this.input.charCodeAt(t);n&&this.strict&&this.raise(t,"Invalid number"),n&&/[89]/.test(this.input.slice(t,this.pos))&&(n=!1);var a=this.input.charCodeAt(this.pos);46!==a||n||(++this.pos,this.readInt(10),a=this.input.charCodeAt(this.pos)),69!==a&&101!==a||n||(43!==(a=this.input.charCodeAt(++this.pos))&&45!==a||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number")),V(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var r=this.input.slice(t,this.pos),i=n?parseInt(r,8):parseFloat(r);return this.finishToken(G.num,i)},Ge.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,"Code point out of bounds")}else e=this.readHexChar(4);return e},Ge.readString=function(e){for(var t=this,n="",a=++this.pos;;){t.pos>=t.input.length&&t.raise(t.start,"Unterminated string constant");var r=t.input.charCodeAt(t.pos);if(r===e)break;92===r?(n+=t.input.slice(a,t.pos),n+=t.readEscapedChar(!1),a=t.pos):(K(r,t.options.ecmaVersion>=10)&&t.raise(t.start,"Unterminated string constant"),++t.pos)}return n+=this.input.slice(a,this.pos++),this.finishToken(G.string,n)};var Je={};Ge.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==Je)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},Ge.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Je;this.raise(e,t)},Ge.readTmplToken=function(){for(var e=this,t="",n=this.pos;;){e.pos>=e.input.length&&e.raise(e.start,"Unterminated template");var a=e.input.charCodeAt(e.pos);if(96===a||36===a&&123===e.input.charCodeAt(e.pos+1))return e.pos!==e.start||e.type!==G.template&&e.type!==G.invalidTemplate?(t+=e.input.slice(n,e.pos),e.finishToken(G.template,t)):36===a?(e.pos+=2,e.finishToken(G.dollarBraceL)):(++e.pos,e.finishToken(G.backQuote));if(92===a)t+=e.input.slice(n,e.pos),t+=e.readEscapedChar(!0),n=e.pos;else if(K(a)){switch(t+=e.input.slice(n,e.pos),++e.pos,a){case 13:10===e.input.charCodeAt(e.pos)&&++e.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(a)}e.options.locations&&(++e.curLine,e.lineStart=e.pos),n=e.pos}else++e.pos}},Ge.readInvalidTemplateToken=function(){for(var e=this;this.pos<this.input.length;this.pos++)switch(e.input[e.pos]){case"\\":++e.pos;break;case"$":if("{"!==e.input[e.pos+1])break;case"`":return e.finishToken(G.invalidTemplate,e.input.slice(e.start,e.pos))}this.raise(this.start,"Unterminated template")},Ge.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return Xe(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";default:if(t>=48&&t<=55){var n=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],a=parseInt(n,8);return a>255&&(n=n.slice(0,-1),a=parseInt(n,8)),this.pos+=n.length-1,t=this.input.charCodeAt(this.pos),"0"===n&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-n.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(a)}return String.fromCharCode(t)}},Ge.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return null===n&&this.invalidStringToken(t,"Bad character escape sequence"),n},Ge.readWord1=function(){var e=this;this.containsEsc=!1;for(var t="",n=!0,a=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=e.fullCharCodeAtPos();if($(i,r))e.pos+=i<=65535?1:2;else{if(92!==i)break;e.containsEsc=!0,t+=e.input.slice(a,e.pos);var s=e.pos;117!==e.input.charCodeAt(++e.pos)&&e.invalidStringToken(e.pos,"Expecting Unicode escape sequence \\uXXXX"),++e.pos;var o=e.readCodePoint();(n?V:$)(o,r)||e.invalidStringToken(s,"Invalid Unicode escape"),t+=Xe(o),a=e.pos}n=!1}return t+this.input.slice(a,this.pos)},Ge.readWord=function(){var e=this.readWord1(),t=G.name;return this.keywords.test(e)&&(this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+e),t=W[e]),this.finishToken(t,e)};var Ke=Object.freeze({version:"6.0.2",parse:function(e,t){return he.parse(e,t)},parseExpressionAt:function(e,t,n){return he.parseExpressionAt(e,t,n)},tokenizer:function(e,t){return he.tokenizer(e,t)},Parser:he,defaultOptions:de,Position:ie,SourceLocation:se,getLineInfo:oe,Node:Te,TokenType:U,tokTypes:G,keywordTypes:W,TokContext:Ie,tokContexts:Fe,isIdentifierChar:$,isIdentifierStart:V,Token:qe,isNewLine:K,lineBreak:X,lineBreakG:J,nonASCIIwhitespace:Z}),Ze={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xa0",iexcl:"\xa1",cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",brvbar:"\xa6",sect:"\xa7",uml:"\xa8",copy:"\xa9",ordf:"\xaa",laquo:"\xab",not:"\xac",shy:"\xad",reg:"\xae",macr:"\xaf",deg:"\xb0",plusmn:"\xb1",sup2:"\xb2",sup3:"\xb3",acute:"\xb4",micro:"\xb5",para:"\xb6",middot:"\xb7",cedil:"\xb8",sup1:"\xb9",ordm:"\xba",raquo:"\xbb",frac14:"\xbc",frac12:"\xbd",frac34:"\xbe",iquest:"\xbf",Agrave:"\xc0",Aacute:"\xc1",Acirc:"\xc2",Atilde:"\xc3",Auml:"\xc4",Aring:"\xc5",AElig:"\xc6",Ccedil:"\xc7",Egrave:"\xc8",Eacute:"\xc9",Ecirc:"\xca",Euml:"\xcb",Igrave:"\xcc",Iacute:"\xcd",Icirc:"\xce",Iuml:"\xcf",ETH:"\xd0",Ntilde:"\xd1",Ograve:"\xd2",Oacute:"\xd3",Ocirc:"\xd4",Otilde:"\xd5",Ouml:"\xd6",times:"\xd7",Oslash:"\xd8",Ugrave:"\xd9",Uacute:"\xda",Ucirc:"\xdb",Uuml:"\xdc",Yacute:"\xdd",THORN:"\xde",szlig:"\xdf",agrave:"\xe0",aacute:"\xe1",acirc:"\xe2",atilde:"\xe3",auml:"\xe4",aring:"\xe5",aelig:"\xe6",ccedil:"\xe7",egrave:"\xe8",eacute:"\xe9",ecirc:"\xea",euml:"\xeb",igrave:"\xec",iacute:"\xed",icirc:"\xee",iuml:"\xef",eth:"\xf0",ntilde:"\xf1",ograve:"\xf2",oacute:"\xf3",ocirc:"\xf4",otilde:"\xf5",ouml:"\xf6",divide:"\xf7",oslash:"\xf8",ugrave:"\xf9",uacute:"\xfa",ucirc:"\xfb",uuml:"\xfc",yacute:"\xfd",thorn:"\xfe",yuml:"\xff",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02c6",tilde:"\u02dc",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039a",Lambda:"\u039b",Mu:"\u039c",Nu:"\u039d",Xi:"\u039e",Omicron:"\u039f",Pi:"\u03a0",Rho:"\u03a1",Sigma:"\u03a3",Tau:"\u03a4",Upsilon:"\u03a5",Phi:"\u03a6",Chi:"\u03a7",Psi:"\u03a8",Omega:"\u03a9",alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03b5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigmaf:"\u03c2",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03c6",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",thetasym:"\u03d1",upsih:"\u03d2",piv:"\u03d6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200c",zwj:"\u200d",lrm:"\u200e",rlm:"\u200f",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201a",ldquo:"\u201c",rdquo:"\u201d",bdquo:"\u201e",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203a",oline:"\u203e",frasl:"\u2044",euro:"\u20ac",image:"\u2111",weierp:"\u2118",real:"\u211c",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21b5",lArr:"\u21d0",uArr:"\u21d1",rArr:"\u21d2",dArr:"\u21d3",hArr:"\u21d4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220b",prod:"\u220f",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221a",prop:"\u221d",infin:"\u221e",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222a",int:"\u222b",there4:"\u2234",sim:"\u223c",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22a5",sdot:"\u22c5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230a",rfloor:"\u230b",lang:"\u2329",rang:"\u232a",loz:"\u25ca",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"},Qe=/^[\da-fA-F]+$/,et=/^\d+$/,tt=Ke.tokTypes,nt=Ke.TokContext,at=Ke.tokContexts,rt=Ke.TokenType,it=Ke.isNewLine,st=Ke.isIdentifierStart,ot=Ke.isIdentifierChar,dt=new nt("<tag",!1),lt=new nt("</tag",!1),ct=new nt("<tag>...</tag>",!0,!0),ut={jsxName:new rt("jsxName"),jsxText:new rt("jsxText",{beforeExpr:!0}),jsxTagStart:new rt("jsxTagStart"),jsxTagEnd:new rt("jsxTagEnd")};function ht(e){return e?"JSXIdentifier"===e.type?e.name:"JSXNamespacedName"===e.type?e.namespace.name+":"+e.name.name:"JSXMemberExpression"===e.type?ht(e.object)+"."+ht(e.property):void 0:e}ut.jsxTagStart.updateContext=function(){this.context.push(ct),this.context.push(dt),this.exprAllowed=!1},ut.jsxTagEnd.updateContext=function(e){var t=this.context.pop();t===dt&&e===tt.slash||t===lt?(this.context.pop(),this.exprAllowed=this.curContext()===ct):this.exprAllowed=!0};var gt=function(e){return void 0===e&&(e={}),function(t){return function(e,t){return function(t){function n(){t.apply(this,arguments)}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.jsx_readToken=function(){for(var e=this,t="",n=this.pos;;){e.pos>=e.input.length&&e.raise(e.start,"Unterminated JSX contents");var a=e.input.charCodeAt(e.pos);switch(a){case 60:case 123:return e.pos===e.start?60===a&&e.exprAllowed?(++e.pos,e.finishToken(ut.jsxTagStart)):e.getTokenFromCode(a):(t+=e.input.slice(n,e.pos),e.finishToken(ut.jsxText,t));case 38:t+=e.input.slice(n,e.pos),t+=e.jsx_readEntity(),n=e.pos;break;default:it(a)?(t+=e.input.slice(n,e.pos),t+=e.jsx_readNewLine(!0),n=e.pos):++e.pos}}},n.prototype.jsx_readNewLine=function(e){var t,n=this.input.charCodeAt(this.pos);return++this.pos,13===n&&10===this.input.charCodeAt(this.pos)?(++this.pos,t=e?"\n":"\r\n"):t=String.fromCharCode(n),this.options.locations&&(++this.curLine,this.lineStart=this.pos),t},n.prototype.jsx_readString=function(e){for(var t=this,n="",a=++this.pos;;){t.pos>=t.input.length&&t.raise(t.start,"Unterminated string constant");var r=t.input.charCodeAt(t.pos);if(r===e)break;38===r?(n+=t.input.slice(a,t.pos),n+=t.jsx_readEntity(),a=t.pos):it(r)?(n+=t.input.slice(a,t.pos),n+=t.jsx_readNewLine(!1),a=t.pos):++t.pos}return n+=this.input.slice(a,this.pos++),this.finishToken(tt.string,n)},n.prototype.jsx_readEntity=function(){var e,t=this,n="",a=0,r=this.input[this.pos];"&"!==r&&this.raise(this.pos,"Entity must start with an ampersand");for(var i=++this.pos;this.pos<this.input.length&&a++<10;){if(";"===(r=t.input[t.pos++])){"#"===n[0]?"x"===n[1]?(n=n.substr(2),Qe.test(n)&&(e=String.fromCharCode(parseInt(n,16)))):(n=n.substr(1),et.test(n)&&(e=String.fromCharCode(parseInt(n,10)))):e=Ze[n];break}n+=r}return e||(this.pos=i,"&")},n.prototype.jsx_readWord=function(){var e,t=this,n=this.pos;do{e=t.input.charCodeAt(++t.pos)}while(ot(e)||45===e);return this.finishToken(ut.jsxName,this.input.slice(n,this.pos))},n.prototype.jsx_parseIdentifier=function(){var e=this.startNode();return this.type===ut.jsxName?e.name=this.value:this.type.keyword?e.name=this.type.keyword:this.unexpected(),this.next(),this.finishNode(e,"JSXIdentifier")},n.prototype.jsx_parseNamespacedName=function(){var t=this.start,n=this.startLoc,a=this.jsx_parseIdentifier();if(!e.allowNamespaces||!this.eat(tt.colon))return a;var r=this.startNodeAt(t,n);return r.namespace=a,r.name=this.jsx_parseIdentifier(),this.finishNode(r,"JSXNamespacedName")},n.prototype.jsx_parseElementName=function(){var t=this;if(this.type===ut.jsxTagEnd)return"";var n=this.start,a=this.startLoc,r=this.jsx_parseNamespacedName();for(this.type!==tt.dot||"JSXNamespacedName"!==r.type||e.allowNamespacedObjects||this.unexpected();this.eat(tt.dot);){var i=t.startNodeAt(n,a);i.object=r,i.property=t.jsx_parseIdentifier(),r=t.finishNode(i,"JSXMemberExpression")}return r},n.prototype.jsx_parseAttributeValue=function(){switch(this.type){case tt.braceL:var e=this.jsx_parseExpressionContainer();return"JSXEmptyExpression"===e.expression.type&&this.raise(e.start,"JSX attributes must only be assigned a non-empty expression"),e;case ut.jsxTagStart:case tt.string:return this.parseExprAtom();default:this.raise(this.start,"JSX value should be either an expression or a quoted JSX text")}},n.prototype.jsx_parseEmptyExpression=function(){var e=this.startNodeAt(this.lastTokEnd,this.lastTokEndLoc);return this.finishNodeAt(e,"JSXEmptyExpression",this.start,this.startLoc)},n.prototype.jsx_parseExpressionContainer=function(){var e=this.startNode();return this.next(),e.expression=this.type===tt.braceR?this.jsx_parseEmptyExpression():this.parseExpression(),this.expect(tt.braceR),this.finishNode(e,"JSXExpressionContainer")},n.prototype.jsx_parseAttribute=function(){var e=this.startNode();return this.eat(tt.braceL)?(this.expect(tt.ellipsis),e.argument=this.parseMaybeAssign(),this.expect(tt.braceR),this.finishNode(e,"JSXSpreadAttribute")):(e.name=this.jsx_parseNamespacedName(),e.value=this.eat(tt.eq)?this.jsx_parseAttributeValue():null,this.finishNode(e,"JSXAttribute"))},n.prototype.jsx_parseOpeningElementAt=function(e,t){var n=this,a=this.startNodeAt(e,t);a.attributes=[];var r=this.jsx_parseElementName();for(r&&(a.name=r);this.type!==tt.slash&&this.type!==ut.jsxTagEnd;)a.attributes.push(n.jsx_parseAttribute());return a.selfClosing=this.eat(tt.slash),this.expect(ut.jsxTagEnd),this.finishNode(a,r?"JSXOpeningElement":"JSXOpeningFragment")},n.prototype.jsx_parseClosingElementAt=function(e,t){var n=this.startNodeAt(e,t),a=this.jsx_parseElementName();return a&&(n.name=a),this.expect(ut.jsxTagEnd),this.finishNode(n,a?"JSXClosingElement":"JSXClosingFragment")},n.prototype.jsx_parseElementAt=function(e,t){var n=this,a=this.startNodeAt(e,t),r=[],i=this.jsx_parseOpeningElementAt(e,t),s=null;if(!i.selfClosing){e:for(;;)switch(n.type){case ut.jsxTagStart:if(e=n.start,t=n.startLoc,n.next(),n.eat(tt.slash)){s=n.jsx_parseClosingElementAt(e,t);break e}r.push(n.jsx_parseElementAt(e,t));break;case ut.jsxText:r.push(n.parseExprAtom());break;case tt.braceL:r.push(n.jsx_parseExpressionContainer());break;default:n.unexpected()}ht(s.name)!==ht(i.name)&&this.raise(s.start,"Expected corresponding JSX closing tag for <"+ht(i.name)+">")}var o=i.name?"Element":"Fragment";return a["opening"+o]=i,a["closing"+o]=s,a.children=r,this.type===tt.relational&&"<"===this.value&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(a,"JSX"+o)},n.prototype.jsx_parseText=function(e){var t=this.parseLiteral(e);return t.type="JSXText",t},n.prototype.jsx_parseElement=function(){var e=this.start,t=this.startLoc;return this.next(),this.jsx_parseElementAt(e,t)},n.prototype.parseExprAtom=function(e){return this.type===ut.jsxText?this.jsx_parseText(this.value):this.type===ut.jsxTagStart?this.jsx_parseElement():t.prototype.parseExprAtom.call(this,e)},n.prototype.readToken=function(e){var n=this.curContext();if(n===ct)return this.jsx_readToken();if(n===dt||n===lt){if(st(e))return this.jsx_readWord();if(62==e)return++this.pos,this.finishToken(ut.jsxTagEnd);if((34===e||39===e)&&n==dt)return this.jsx_readString(e)}return 60===e&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(ut.jsxTagStart)):t.prototype.readToken.call(this,e)},n.prototype.updateContext=function(e){if(this.type==tt.braceL){var n=this.curContext();n==dt?this.context.push(at.b_expr):n==ct?this.context.push(at.b_tmpl):t.prototype.updateContext.call(this,e),this.exprAllowed=!0}else{if(this.type!==tt.slash||e!==ut.jsxTagStart)return t.prototype.updateContext.call(this,e);this.context.length-=2,this.context.push(lt),this.exprAllowed=!1}},n}(t)}({allowNamespaces:!1!==e.allowNamespaces,allowNamespacedObjects:!!e.allowNamespacedObjects},t)}};gt.tokTypes=ut;var pt,ft,mt,Rt=(pt=function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.DynamicImportKey=void 0;var n=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}(),a=function e(t,n,a){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,a)}if("value"in r)return r.value;var s=r.get;return void 0!==s?s.call(a):void 0};function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"parseStatement",value:function(e,n,r){return this.type===Ke.tokTypes._import&&d.call(this)?this.parseExpressionStatement(this.startNode(),this.parseExpression()):a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"parseStatement",this).call(this,e,n,r)}},{key:"parseExprAtom",value:function(e){return this.type===Ke.tokTypes._import?o.call(this):a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"parseExprAtom",this).call(this,e)}}]),t}(e)};var s=t.DynamicImportKey="Import";function o(){var e=this.startNode();return this.next(),this.type!==Ke.tokTypes.parenL&&this.unexpected(),this.finishNode(e,s)}function d(){return/^(\s|\/\/.*|\/\*[^]*?\*\/)*\(/.test(this.input.slice(this.pos))}Ke.tokTypes._import.startsExpr=!0},pt(ft={exports:{}},ft.exports),ft.exports),yt=(mt=Rt)&&mt.__esModule&&Object.prototype.hasOwnProperty.call(mt,"default")?mt.default:mt;Rt.DynamicImportKey;function bt(e){var t={};return Object.keys(e).forEach((function(n){"parent"!==n&&"program"!==n&&"keys"!==n&&"__wrapped"!==n&&(Array.isArray(e[n])?t[n]=e[n].map(bt):e[n]&&e[n].toJSON?t[n]=e[n].toJSON():t[n]=e[n])})),t}var xt=function(){};function vt(e){var t=[];return _t[e.type](t,e),t}xt.prototype.ancestor=function(e){for(var t=this;e--;)if(!(t=t.parent))return null;return t},xt.prototype.contains=function(e){for(;e;){if(e===this)return!0;e=e.parent}return!1},xt.prototype.findLexicalBoundary=function(){return this.parent.findLexicalBoundary()},xt.prototype.findNearest=function(e){return"string"==typeof e&&(e=new RegExp("^"+e+"$")),e.test(this.type)?this:this.parent.findNearest(e)},xt.prototype.unparenthesizedParent=function(){for(var e=this.parent;e&&"ParenthesizedExpression"===e.type;)e=e.parent;return e},xt.prototype.unparenthesize=function(){for(var e=this;"ParenthesizedExpression"===e.type;)e=e.expression;return e},xt.prototype.findScope=function(e){return this.parent.findScope(e)},xt.prototype.getIndentation=function(){return this.parent.getIndentation()},xt.prototype.initialise=function(e){for(var t=0,n=this.keys;t<n.length;t+=1){var a=this[n[t]];Array.isArray(a)?a.forEach((function(t){return t&&t.initialise(e)})):a&&"object"==typeof a&&a.initialise(e)}},xt.prototype.toJSON=function(){return bt(this)},xt.prototype.toString=function(){return this.program.magicString.original.slice(this.start,this.end)},xt.prototype.transpile=function(e,t){for(var n=0,a=this.keys;n<a.length;n+=1){var r=this[a[n]];Array.isArray(r)?r.forEach((function(n){return n&&n.transpile(e,t)})):r&&"object"==typeof r&&r.transpile(e,t)}};var _t={Identifier:function(e,t){e.push(t)},ObjectPattern:function(e,t){for(var n=0,a=t.properties;n<a.length;n+=1){var r=a[n];_t[r.type](e,r)}},Property:function(e,t){_t[t.value.type](e,t.value)},ArrayPattern:function(e,t){for(var n=0,a=t.elements;n<a.length;n+=1){var r=a[n];r&&_t[r.type](e,r)}},RestElement:function(e,t){_t[t.argument.type](e,t.argument)},AssignmentPattern:function(e,t){_t[t.left.type](e,t.left)}},kt=Object.create(null);function Ct(e){e=e||{},this.parent=e.parent,this.isBlockScope=!!e.block,this.createDeclarationCallback=e.declare;for(var t=this;t.isBlockScope;)t=t.parent;this.functionScope=t,this.identifiers=[],this.declarations=Object.create(null),this.references=Object.create(null),this.blockScopedDeclarations=this.isBlockScope?null:Object.create(null),this.aliases=Object.create(null)}function wt(e,t){var n,a=e.split("\n"),r=a.length,i=0;for(n=0;n<r;n+=1){var s=i+a[n].length+1;if(s>t)return{line:n+1,column:t-i,char:n};i=s}throw new Error("Could not determine location of character")}function Et(e,t){for(var n="";t--;)n+=e;return n}function St(e,t,n){void 0===n&&(n=1);var a=Math.max(t.line-5,0),r=t.line,i=String(r).length,s=e.split("\n").slice(a,r),o=s[s.length-1].slice(0,t.column).replace(/\t/g," ").length,d=s.map((function(e,t){return n=i,(r=String(t+a+1))+Et(" ",n-r.length)+" : "+e.replace(/\t/g," ");var n,r})).join("\n");return d+="\n"+Et(" ",i+3+o)+Et("^",n)}"do if in for let new try var case else enum eval null this true void with await break catch class const false super throw while yield delete export import public return static switch typeof default extends finally package private continue debugger function arguments interface protected implements instanceof".split(" ").forEach((function(e){return kt[e]=!0})),Ct.prototype={addDeclaration:function(e,t){for(var n=this,a=0,r=vt(e);a<r.length;a+=1){var i=r[a],s=i.name,o={name:s,node:i,kind:t,instances:[]};n.declarations[s]=o,n.isBlockScope&&(n.functionScope.blockScopedDeclarations[s]||(n.functionScope.blockScopedDeclarations[s]=[]),n.functionScope.blockScopedDeclarations[s].push(o))}},addReference:function(e){this.consolidated?this.consolidateReference(e):this.identifiers.push(e)},consolidate:function(){for(var e=0;e<this.identifiers.length;e+=1){var t=this.identifiers[e];this.consolidateReference(t)}this.consolidated=!0},consolidateReference:function(e){var t=this.declarations[e.name];t?t.instances.push(e):(this.references[e.name]=!0,this.parent&&this.parent.addReference(e))},contains:function(e){return this.declarations[e]||!!this.parent&&this.parent.contains(e)},createIdentifier:function(e){"number"==typeof e&&(e=e.toString());for(var t=e=e.replace(/\s/g,"").replace(/\[([^\]]+)\]/g,"_$1").replace(/[^a-zA-Z0-9_$]/g,"_").replace(/_{2,}/,"_"),n=1;this.declarations[t]||this.references[t]||this.aliases[t]||t in kt;)t=e+"$"+n++;return this.aliases[t]=!0,t},createDeclaration:function(e){var t=this.createIdentifier(e);return this.createDeclarationCallback(t),t},findDeclaration:function(e){return this.declarations[e]||this.parent&&this.parent.findDeclaration(e)},resolveName:function(e){var t=this.findDeclaration(e);return t?t.name:e}};var At=function(e){function t(t,n){if(e.call(this,t),this.name="CompileError",n){var a=n.program.magicString.original,r=wt(a,n.start);this.message=t+" ("+r.line+":"+r.column+")",this.stack=(new e).stack.replace(new RegExp(".+new "+this.name+".+\\n","m"),""),this.loc=r,this.snippet=St(a,r,n.end-n.start)}}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return this.name+": "+this.message+"\n"+this.snippet},t}(Error);function Tt(e,t){for(var n=0;n<e.length;n+=1)if(t(e[n],n))return n;return-1}var Dt={Identifier:It,AssignmentPattern:function(e,t,n,a,r,i,s){var o="Identifier"===a.left.type,d=o?a.left.name:r;i||s.push((function(t,n,r){e.prependRight(a.left.end,n+"if ( "+d+" === void 0 ) "+d),e.move(a.left.end,a.right.end,t),e.appendLeft(a.right.end,r)}));o||Lt(e,t,n,a.left,r,i,s)},ArrayPattern:function(e,t,n,a,r,i,s){var o=a.start;a.elements.forEach((function(a,d){a&&("RestElement"===a.type?Ot(e,t,n,o,a.argument,r+".slice("+d+")",i,s):Ot(e,t,n,o,a,r+"["+d+"]",i,s),o=a.end)})),e.remove(o,a.end)},ObjectPattern:Ft};function Lt(e,t,n,a,r,i,s){Dt[a.type](e,t,n,a,r,i,s)}function It(e,t,n,a,r,i,s){s.push((function(t,s,o){e.overwrite(a.start,a.end,(i?s:s+"var ")+n(a)+" = "+r+o),e.move(a.start,a.end,t)}))}function Ft(e,t,n,a,r,i,s){var o=this,d=a.start,l=[];a.properties.forEach((function(a){var c,u;if("Property"===a.type){var h=a.computed||"Identifier"!==a.key.type,g=h?e.slice(a.key.start,a.key.end):a.key.name;c=h?r+"["+g+"]":r+"."+g,u=a.value,l.push(h?g:'"'+g+'"')}else{if("RestElement"!==a.type)throw new At(o,"Unexpected node of type "+a.type+" in object pattern");u=a.argument,c=t("rest"),s.push((function(t,n,s){var o=a.program.getObjectWithoutPropertiesHelper(e);e.overwrite(a.start,d=a.argument.start,(i?n:n+"var ")+c+" = "+o+"( "+r+", ["+l.join(", ")+"] )"+s),e.move(a.start,d,t)}))}Ot(e,t,n,d,u,c,i,s),d=a.end})),e.remove(d,a.end)}function Ot(e,t,n,a,r,i,s,o){switch(r.type){case"Identifier":e.remove(a,r.start),It(e,0,n,r,i,s,o);break;case"MemberExpression":e.remove(a,r.start),function(e,t,n,a,r,i,s){s.push((function(t,n,s){e.prependRight(a.start,i?n:n+"var "),e.appendLeft(a.end," = "+r+s),e.move(a.start,a.end,t)}))}(e,0,0,r,i,!0,o);break;case"AssignmentPattern":var d,l="Identifier"===r.left.type;d=l?n(r.left):t(i),o.push((function(t,n,a){s?(e.prependRight(r.right.start,d+" = "+i+", "+d+" = "+d+" === void 0 ? "),e.appendLeft(r.right.end," : "+d+a)):(e.prependRight(r.right.start,n+"var "+d+" = "+i+"; if ( "+d+" === void 0 ) "+d+" = "),e.appendLeft(r.right.end,a)),e.move(r.right.start,r.right.end,t)})),l?e.remove(a,r.right.start):(e.remove(a,r.left.start),e.remove(r.left.end,r.right.start),Ot(e,t,n,a,r.left,d,s,o));break;case"ObjectPattern":e.remove(a,a=r.start);var c=i;r.properties.length>1&&(c=t(i),o.push((function(t,n,o){e.prependRight(r.start,(s?"":n+"var ")+c+" = "),e.overwrite(r.start,a=r.start+1,i),e.appendLeft(a,o),e.overwrite(r.start,a=r.start+1,(s?"":n+"var ")+c+" = "+i+o),e.move(r.start,a,t)}))),Ft(e,t,n,r,c,s,o);break;case"ArrayPattern":if(e.remove(a,a=r.start),r.elements.filter(Boolean).length>1){var u=t(i);o.push((function(t,n,o){e.prependRight(r.start,(s?"":n+"var ")+u+" = "),e.overwrite(r.start,a=r.start+1,i,{contentOnly:!0}),e.appendLeft(a,o),e.move(r.start,a,t)})),r.elements.forEach((function(r,i){r&&("RestElement"===r.type?Ot(e,t,n,a,r.argument,u+".slice("+i+")",s,o):Ot(e,t,n,a,r,u+"["+i+"]",s,o),a=r.end)}))}else{var h=Tt(r.elements,Boolean),g=r.elements[h];"RestElement"===g.type?Ot(e,t,n,a,g.argument,i+".slice("+h+")",s,o):Ot(e,t,n,a,g,i+"["+h+"]",s,o),a=g.end}e.remove(a,r.end);break;default:throw new Error("Unexpected node type in destructuring ("+r.type+")")}}var Nt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.createScope=function(){var e=this;this.parentIsFunction=/Function/.test(this.parent.type),this.isFunctionBlock=this.parentIsFunction||"Root"===this.parent.type,this.scope=new Ct({block:!this.isFunctionBlock,parent:this.parent.findScope(!1),declare:function(t){return e.createdDeclarations.push(t)}}),this.parentIsFunction&&this.parent.params.forEach((function(t){e.scope.addDeclaration(t,"param")}))},t.prototype.initialise=function(e){this.thisAlias=null,this.argumentsAlias=null,this.defaultParameters=[],this.createdDeclarations=[],this.scope||this.createScope(),this.body.forEach((function(t){return t.initialise(e)})),this.scope.consolidate()},t.prototype.findLexicalBoundary=function(){return"Program"===this.type||/^Function/.test(this.parent.type)?this:this.parent.findLexicalBoundary()},t.prototype.findScope=function(e){return e&&!this.isFunctionBlock?this.parent.findScope(e):this.scope},t.prototype.getArgumentsAlias=function(){return this.argumentsAlias||(this.argumentsAlias=this.scope.createIdentifier("arguments")),this.argumentsAlias},t.prototype.getArgumentsArrayAlias=function(){return this.argumentsArrayAlias||(this.argumentsArrayAlias=this.scope.createIdentifier("argsArray")),this.argumentsArrayAlias},t.prototype.getThisAlias=function(){return this.thisAlias||(this.thisAlias=this.scope.createIdentifier("this")),this.thisAlias},t.prototype.getIndentation=function(){var e=this;if(void 0===this.indentation){for(var t=this.program.magicString.original,n=this.synthetic||!this.body.length,a=n?this.start:this.body[0].start;a&&"\n"!==t[a];)a-=1;for(this.indentation="";;){var r=t[a+=1];if(" "!==r&&"\t"!==r)break;e.indentation+=r}for(var i=this.program.magicString.getIndentString(),s=this.parent;s;)"constructor"!==s.kind||s.parent.parent.superClass||(e.indentation=e.indentation.replace(i,"")),s=s.parent;n&&(this.indentation+=i)}return this.indentation},t.prototype.transpile=function(t,n){var a,r,i=this,s=this.getIndentation(),o=[];if(this.argumentsAlias&&o.push((function(e,n,a){var r=n+"var "+i.argumentsAlias+" = arguments"+a;t.appendLeft(e,r)})),this.thisAlias&&o.push((function(e,n,a){var r=n+"var "+i.thisAlias+" = this"+a;t.appendLeft(e,r)})),this.argumentsArrayAlias&&o.push((function(e,n,a){var r=i.scope.createIdentifier("i"),o=n+"var "+r+" = arguments.length, "+i.argumentsArrayAlias+" = Array("+r+");\n"+s+"while ( "+r+"-- ) "+i.argumentsArrayAlias+"["+r+"] = arguments["+r+"]"+a;t.appendLeft(e,o)})),/Function/.test(this.parent.type)?this.transpileParameters(this.parent.params,t,n,s,o):"CatchClause"===this.parent.type&&this.transpileParameters([this.parent.param],t,n,s,o),n.letConst&&this.isFunctionBlock&&this.transpileBlockScopedIdentifiers(t),e.prototype.transpile.call(this,t,n),this.createdDeclarations.length&&o.push((function(e,n,a){var r=n+"var "+i.createdDeclarations.join(", ")+a;t.appendLeft(e,r)})),this.synthetic)if("ArrowFunctionExpression"===this.parent.type){var d=this.body[0];o.length?(t.appendLeft(this.start,"{").prependRight(this.end,this.parent.getIndentation()+"}"),t.prependRight(d.start,"\n"+s+"return "),t.appendLeft(d.end,";\n")):n.arrow&&(t.prependRight(d.start,"{ return "),t.appendLeft(d.end,"; }"))}else o.length&&t.prependRight(this.start,"{").appendLeft(this.end,"}");r=this.body[0],a=r&&"ExpressionStatement"===r.type&&"Literal"===r.expression.type&&"use strict"===r.expression.value?this.body[0].end:this.synthetic||"Root"===this.parent.type?this.start:this.start+1;var l="\n"+s,c=";";o.forEach((function(e,t){t===o.length-1&&(c=";\n"),e(a,l,c)}))},t.prototype.transpileParameters=function(e,t,n,a,r){var i=this;e.forEach((function(s){if("AssignmentPattern"===s.type&&"Identifier"===s.left.type)n.defaultParameter&&r.push((function(e,n,a){var r=n+"if ( "+s.left.name+" === void 0 ) "+s.left.name;t.prependRight(s.left.end,r).move(s.left.end,s.right.end,e).appendLeft(s.right.end,a)}));else if("RestElement"===s.type)n.spreadRest&&r.push((function(n,r,o){var d=e[e.length-2];if(d)t.remove(d?d.end:s.start,s.end);else{for(var l=s.start,c=s.end;/\s/.test(t.original[l-1]);)l-=1;for(;/\s/.test(t.original[c]);)c+=1;t.remove(l,c)}var u=s.argument.name,h=i.scope.createIdentifier("len"),g=e.length-1;g?t.prependRight(n,r+"var "+u+" = [], "+h+" = arguments.length - "+g+";\n"+a+"while ( "+h+"-- > 0 ) "+u+"[ "+h+" ] = arguments[ "+h+" + "+g+" ]"+o):t.prependRight(n,r+"var "+u+" = [], "+h+" = arguments.length;\n"+a+"while ( "+h+"-- ) "+u+"[ "+h+" ] = arguments[ "+h+" ]"+o)}));else if("Identifier"!==s.type&&n.parameterDestructuring){var o=i.scope.createIdentifier("ref");Lt(t,(function(e){return i.scope.createIdentifier(e)}),(function(e){var t=e.name;return i.scope.resolveName(t)}),s,o,!1,r),t.prependRight(s.start,o)}}))},t.prototype.transpileBlockScopedIdentifiers=function(e){var t=this;Object.keys(this.scope.blockScopedDeclarations).forEach((function(n){for(var a=0,r=t.scope.blockScopedDeclarations[n];a<r.length;a+=1){var i=r[a],s=!1;if("for.let"===i.kind){var o=i.node.findNearest("ForStatement");if(o.shouldRewriteAsFunction){var d=t.scope.createIdentifier(n),l=o.reassigned[n]?t.scope.createIdentifier(n):n;i.name=d,e.overwrite(i.node.start,i.node.end,d,{storeName:!0}),o.aliases[n]={outer:d,inner:l};for(var c=0,u=i.instances;c<u.length;c+=1){var h=u[c],g=o.body.contains(h)?l:d;n!==g&&e.overwrite(h.start,h.end,g,{storeName:!0})}s=!0}}if(!s){var p=t.scope.createIdentifier(n);if(n!==p){i.name=p,e.overwrite(i.node.start,i.node.end,p,{storeName:!0});for(var f=0,m=i.instances;f<m.length;f+=1){var R=m[f];R.rewritten=!0,e.overwrite(R.start,R.end,p,{storeName:!0})}}}}}))},t}(xt);function Bt(e){return"Identifier"===e.type&&"arguments"===e.name}function Mt(e,t,n,a,r){for(var i=t.length,s=-1;i--;){var o=t[i];o&&"SpreadElement"===o.type&&(Bt(o.argument)&&e.overwrite(o.argument.start,o.argument.end,a),s=i)}if(-1===s)return!1;if(r){for(i=0;i<t.length;i+=1){var d=t[i];"SpreadElement"===d.type?e.remove(d.start,d.argument.start):(e.prependRight(d.start,"["),e.prependRight(d.end,"]"))}return!0}var l=t[s],c=t[s-1];for(c?e.overwrite(c.end,l.start," ].concat( "):(e.remove(n,l.start),e.overwrite(l.end,t[1].start,".concat( ")),i=s;i<t.length;i+=1)(l=t[i])&&("SpreadElement"===l.type?e.remove(l.start,l.argument.start):(e.appendLeft(l.start,"["),e.appendLeft(l.end,"]")));return!0}var Pt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(t.spreadRest&&this.elements.length)for(var n=this.findLexicalBoundary(),a=this.elements.length;a--;){var r=this.elements[a];r&&"SpreadElement"===r.type&&Bt(r.argument)&&(this.argumentsArrayAlias=n.getArgumentsArrayAlias())}e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){if(e.prototype.transpile.call(this,t,n),n.spreadRest){if(this.elements.length){var a=this.elements[this.elements.length-1];a&&/\s*,/.test(t.original.slice(a.end,this.end))&&t.overwrite(a.end,this.end-1," ")}if(1===this.elements.length){var r=this.elements[0];r&&"SpreadElement"===r.type&&(Bt(r.argument)?t.overwrite(this.start,this.end,"[].concat( "+this.argumentsArrayAlias+" )"):(t.overwrite(this.start,r.argument.start,"[].concat( "),t.overwrite(r.end,this.end," )")))}else{Mt(t,this.elements,this.start,this.argumentsArrayAlias)&&t.overwrite(this.end-1,this.end,")")}}},t}(xt);function jt(e,t){for(;")"!==e.original[t];){if(","===e.original[t])return void e.remove(t,t+1);"/"===e.original[t]&&(t=e.original.indexOf("/"===e.original[t+1]?"\n":"*/",t)+1),t+=1}}var Vt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){this.body.createScope(),e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){var a=1===this.params.length&&this.start===this.params[0].start;if(n.arrow||this.needsArguments(n)){for(var r=this.body.start;"="!==t.original[r];)r-=1;t.remove(r,this.body.start),e.prototype.transpile.call(this,t,n),a&&(t.prependRight(this.params[0].start,"("),t.appendLeft(this.params[0].end,")")),this.parent&&"ExpressionStatement"===this.parent.type?t.prependRight(this.start,"!function"):t.prependRight(this.start,"function ")}else e.prototype.transpile.call(this,t,n);n.trailingFunctionCommas&&this.params.length&&!a&&jt(t,this.params[this.params.length-1].end)},t.prototype.needsArguments=function(e){return e.spreadRest&&this.params.filter((function(e){return"RestElement"===e.type})).length>0},t}(xt);function $t(e,t){var n=t.findDeclaration(e.name);if(n&&"const"===n.kind)throw new At(e.name+" is read-only",e)}var Ut=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if("Identifier"===this.left.type){var n=this.findScope(!1).findDeclaration(this.left.name),a=n&&n.node.ancestor(3);a&&"ForStatement"===a.type&&a.body.contains(this)&&(a.reassigned[this.left.name]=!0)}e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){"Identifier"===this.left.type&&$t(this.left,this.findScope(!1)),"**="===this.operator&&n.exponentiation?this.transpileExponentiation(t,n):/Pattern/.test(this.left.type)&&n.destructuring&&this.transpileDestructuring(t),e.prototype.transpile.call(this,t,n)},t.prototype.transpileDestructuring=function(e){var t=this,n=this.findScope(!0),a=this.findScope(!1),r=n.createDeclaration("assign");e.appendRight(this.left.end,"("+r),e.appendLeft(this.right.end,", ");var i=[];Lt(e,(function(e){return n.createDeclaration(e)}),(function(e){var t=a.resolveName(e.name);return $t(e,a),t}),this.left,r,!0,i);var s=", ";i.forEach((function(e,n){n===i.length-1&&(s=""),e(t.end,"",s)})),"ExpressionStatement"===this.unparenthesizedParent().type?e.prependRight(this.end,")"):e.appendRight(this.end,", "+r+")")},t.prototype.transpileExponentiation=function(e){for(var t,n=this.findScope(!1),a=this.left.end;"*"!==e.original[a];)a+=1;e.remove(a,a+2);var r=this.left.unparenthesize();if("Identifier"===r.type)t=n.resolveName(r.name);else if("MemberExpression"===r.type){var i,s,o=!1,d=!1,l=this.findNearest(/(?:Statement|Declaration)$/),c=l.getIndentation();"Identifier"===r.property.type?s=r.computed?n.resolveName(r.property.name):r.property.name:(s=n.createDeclaration("property"),d=!0),"Identifier"===r.object.type?i=n.resolveName(r.object.name):(i=n.createDeclaration("object"),o=!0),r.start===l.start?o&&d?(e.prependRight(l.start,i+" = "),e.overwrite(r.object.end,r.property.start,";\n"+c+s+" = "),e.overwrite(r.property.end,r.end,";\n"+c+i+"["+s+"]")):o?(e.prependRight(l.start,i+" = "),e.appendLeft(r.object.end,";\n"+c),e.appendLeft(r.object.end,i)):d&&(e.prependRight(r.property.start,s+" = "),e.appendLeft(r.property.end,";\n"+c),e.move(r.property.start,r.property.end,this.start),e.appendLeft(r.object.end,"["+s+"]"),e.remove(r.object.end,r.property.start),e.remove(r.property.end,r.end)):(o&&d?(e.prependRight(r.start,"( "+i+" = "),e.overwrite(r.object.end,r.property.start,", "+s+" = "),e.overwrite(r.property.end,r.end,", "+i+"["+s+"]")):o?(e.prependRight(r.start,"( "+i+" = "),e.appendLeft(r.object.end,", "+i)):d&&(e.prependRight(r.property.start,"( "+s+" = "),e.appendLeft(r.property.end,", "),e.move(r.property.start,r.property.end,r.start),e.overwrite(r.object.end,r.property.start,"["+s+"]"),e.remove(r.property.end,r.end)),d&&e.appendLeft(this.end," )")),t=i+(r.computed||d?"["+s+"]":"."+s)}e.prependRight(this.right.start,"Math.pow( "+t+", "),e.appendLeft(this.right.end," )")},t}(xt),zt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(t,n){"**"===this.operator&&n.exponentiation&&(t.prependRight(this.start,"Math.pow( "),t.overwrite(this.left.end,this.right.start,", "),t.appendLeft(this.end," )")),e.prototype.transpile.call(this,t,n)},t}(xt),Ht=/(?:For(?:In|Of)?|While)Statement/,Yt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(){var e=this.findNearest(Ht),t=this.findNearest("SwitchCase");e&&(!t||e.depth>t.depth)&&(e.canBreak=!0,this.loop=e)},t.prototype.transpile=function(e){if(this.loop&&this.loop.shouldRewriteAsFunction){if(this.label)throw new At("Labels are not currently supported in a loop with locally-scoped variables",this);e.overwrite(this.start,this.start+5,"return 'break'")}},t}(xt),Wt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(t.spreadRest&&this.arguments.length>1)for(var n=this.findLexicalBoundary(),a=this.arguments.length;a--;){var r=this.arguments[a];"SpreadElement"===r.type&&Bt(r.argument)&&(this.argumentsArrayAlias=n.getArgumentsArrayAlias())}e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){if(n.spreadRest&&this.arguments.length){var a,r=!1,i=this.arguments[0];if(1===this.arguments.length?"SpreadElement"===i.type&&(t.remove(i.start,i.argument.start),r=!0):r=Mt(t,this.arguments,i.start,this.argumentsArrayAlias),r){var s=null;if("Super"===this.callee.type?s=this.callee:"MemberExpression"===this.callee.type&&"Super"===this.callee.object.type&&(s=this.callee.object),s||"MemberExpression"!==this.callee.type)a="void 0";else if("Identifier"===this.callee.object.type)a=this.callee.object.name;else{a=this.findScope(!0).createDeclaration("ref");var o=this.callee.object;t.prependRight(o.start,"("+a+" = "),t.appendLeft(o.end,")")}t.appendLeft(this.callee.end,".apply"),s?(s.noCall=!0,this.arguments.length>1&&("SpreadElement"!==i.type&&t.prependRight(i.start,"[ "),t.appendLeft(this.arguments[this.arguments.length-1].end," )"))):1===this.arguments.length?t.prependRight(i.start,a+", "):("SpreadElement"===i.type?t.appendLeft(i.start,a+", "):t.appendLeft(i.start,a+", [ "),t.appendLeft(this.arguments[this.arguments.length-1].end," )"))}}n.trailingFunctionCommas&&this.arguments.length&&jt(t,this.arguments[this.arguments.length-1].end),e.prototype.transpile.call(this,t,n)},t}(xt),qt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(t,n,a,r){var i=this;if(n.classes){var s=this.parent.name,o=t.getIndentString(),d=this.getIndentation()+(a?o:""),l=d+o,c=Tt(this.body,(function(e){return"constructor"===e.kind})),u=this.body[c],h="",g="";if(this.body.length?(t.remove(this.start,this.body[0].start),t.remove(this.body[this.body.length-1].end,this.end)):t.remove(this.start,this.end),u){u.value.body.isConstructorBody=!0;var p=this.body[c-1],f=this.body[c+1];c>0&&(t.remove(p.end,u.start),t.move(u.start,f?f.start:this.end-1,this.body[0].start)),a||t.appendLeft(u.end,";")}var m=!1!==this.program.options.namedFunctionExpressions,R=m||this.parent.superClass||"ClassDeclaration"!==this.parent.type;if(this.parent.superClass){var y="if ( "+r+" ) "+s+".__proto__ = "+r+";\n"+d+s+".prototype = Object.create( "+r+" && "+r+".prototype );\n"+d+s+".prototype.constructor = "+s+";";if(u)h+="\n\n"+d+y;else h+=(y="function "+s+" () {"+(r?"\n"+l+r+".apply(this, arguments);\n"+d+"}":"}")+(a?"":";")+(this.body.length?"\n\n"+d:"")+y)+"\n\n"+d}else if(!u){var b="function "+(R?s+" ":"")+"() {}";"ClassDeclaration"===this.parent.type&&(b+=";"),this.body.length&&(b+="\n\n"+d),h+=b}var x,v,_=this.findScope(!1),k=[],C=[];if(this.body.forEach((function(e,a){if(("get"===e.kind||"set"===e.kind)&&n.getterSetter)throw new At("getters and setters are not supported. Use `transforms: { getterSetter: false }` to skip transformation and disable this error",e);if("constructor"!==e.kind){if(e.static){var r=" "==t.original[e.start+6]?7:6;t.remove(e.start,e.start+r)}var o,l="method"!==e.kind,u=e.key.name;(kt[u]||e.value.body.scope.references[u])&&(u=_.createIdentifier(u));var h=!1;if(e.computed||"Literal"!==e.key.type||(h=!0,e.computed=!0),l){if(e.computed)throw new Error("Computed accessor properties are not currently supported");t.remove(e.start,e.key.start),e.static?(~C.indexOf(e.key.name)||C.push(e.key.name),v||(v=_.createIdentifier("staticAccessors")),o=""+v):(~k.indexOf(e.key.name)||k.push(e.key.name),x||(x=_.createIdentifier("prototypeAccessors")),o=""+x)}else o=e.static?""+s:s+".prototype";e.computed||(o+="."),(c>0&&a===c+1||0===a&&c===i.body.length-1)&&(o="\n\n"+d+o);var g=e.key.end;if(e.computed)if(h)t.prependRight(e.key.start,"["),t.appendLeft(e.key.end,"]");else{for(;"]"!==t.original[g];)g+=1;g+=1}var p=e.computed||l||!m?"":u+" ",f=(l?"."+e.kind:"")+" = function"+(e.value.generator?"* ":" ")+p;t.remove(g,e.value.start),t.prependRight(e.value.start,f),t.appendLeft(e.end,";"),e.value.generator&&t.remove(e.start,e.key.start),t.prependRight(e.start,o)}else{var y=R?" "+s:"";t.overwrite(e.key.start,e.key.end,"function"+y)}})),k.length||C.length){var w=[],E=[];k.length&&(w.push("var "+x+" = { "+k.map((function(e){return e+": { configurable: true }"})).join(",")+" };"),E.push("Object.defineProperties( "+s+".prototype, "+x+" );")),C.length&&(w.push("var "+v+" = { "+C.map((function(e){return e+": { configurable: true }"})).join(",")+" };"),E.push("Object.defineProperties( "+s+", "+v+" );")),u&&(h+="\n\n"+d),h+=w.join("\n"+d),u||(h+="\n\n"+d),g+="\n\n"+d+E.join("\n"+d)}u?t.appendLeft(u.end,h):t.prependRight(this.start,h),t.appendLeft(this.end,g)}e.prototype.transpile.call(this,t,n)},t}(xt);var Gt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){this.id?(this.name=this.id.name,this.findScope(!0).addDeclaration(this.id,"class")):this.name=this.findScope(!0).createIdentifier("defaultExport"),e.prototype.initialise.call(this,t)},t.prototype.transpile=function(e,t){if(t.classes){this.superClass||function(e,t){var n=e.start,a=e.end,r=t.getIndentString(),i=r.length,s=n-i;e.program.indentExclusions[s]||t.original.slice(s,n)!==r||t.remove(s,n);for(var o,d=new RegExp(r+"\\S","g"),l=t.original.slice(n,a);o=d.exec(l);){var c=n+o.index;e.program.indentExclusions[c]||t.remove(c,c+i)}}(this.body,e);var n=this.superClass&&(this.superClass.name||"superclass"),a=this.getIndentation(),r=a+e.getIndentString(),i="ExportDefaultDeclaration"===this.parent.type;i&&e.remove(this.parent.start,this.start);var s=this.start;this.id?(e.overwrite(s,this.id.start,"var "),s=this.id.end):e.prependLeft(s,"var "+this.name),this.superClass?this.superClass.end===this.body.start?(e.remove(s,this.superClass.start),e.appendLeft(s," = /*@__PURE__*/(function ("+n+") {\n"+r)):(e.overwrite(s,this.superClass.start," = "),e.overwrite(this.superClass.end,this.body.start,"/*@__PURE__*/(function ("+n+") {\n"+r)):s===this.body.start?e.appendLeft(s," = "):e.overwrite(s,this.body.start," = "),this.body.transpile(e,t,!!this.superClass,n);var o=i?"\n\n"+a+"export default "+this.name+";":"";this.superClass?(e.appendLeft(this.end,"\n\n"+r+"return "+this.name+";\n"+a+"}("),e.move(this.superClass.start,this.superClass.end,this.end),e.prependRight(this.end,"));"+o)):o&&e.prependRight(this.end,o)}else this.body.transpile(e,t,!1,null)},t}(xt),Xt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){this.name=(this.id?this.id.name:"VariableDeclarator"===this.parent.type?this.parent.id.name:"AssignmentExpression"!==this.parent.type?null:"Identifier"===this.parent.left.type?this.parent.left.name:"MemberExpression"===this.parent.left.type?this.parent.left.property.name:null)||this.findScope(!0).createIdentifier("anonymous"),e.prototype.initialise.call(this,t)},t.prototype.transpile=function(e,t){if(t.classes){var n=this.superClass&&(this.superClass.name||"superclass"),a=this.getIndentation(),r=a+e.getIndentString();this.superClass?(e.remove(this.start,this.superClass.start),e.remove(this.superClass.end,this.body.start),e.appendRight(this.start,"/*@__PURE__*/(function ("+n+") {\n"+r)):e.overwrite(this.start,this.body.start,"/*@__PURE__*/(function () {\n"+r),this.body.transpile(e,t,!0,n);var i="";this.superClass&&(i=e.slice(this.superClass.start,this.superClass.end),e.remove(this.superClass.start,this.superClass.end)),e.appendLeft(this.end,"\n\n"+r+"return "+this.name+";\n"+a+"}("+i+"))")}else this.body.transpile(e,t,!1)},t}(xt),Jt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(e){if(this.findNearest(Ht).shouldRewriteAsFunction){if(this.label)throw new At("Labels are not currently supported in a loop with locally-scoped variables",this);e.overwrite(this.start,this.start+8,"return")}},t}(xt),Kt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(t.moduleExport)throw new At("export is not supported",this);e.prototype.initialise.call(this,t)},t}(xt),Zt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(t.moduleExport)throw new At("export is not supported",this);e.prototype.initialise.call(this,t)},t}(xt),Qt=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.findScope=function(e){return e||!this.createdScope?this.parent.findScope(e):this.body.scope},t.prototype.initialise=function(t){var n=this;if(this.body.createScope(),this.createdScope=!0,this.reassigned=Object.create(null),this.aliases=Object.create(null),this.thisRefs=[],e.prototype.initialise.call(this,t),t.letConst)for(var a=Object.keys(this.body.scope.declarations),r=a.length;r--;){for(var i=a[r],s=n.body.scope.declarations[i],o=s.instances.length;o--;){var d=s.instances[o].findNearest(/Function/);if(d&&d.depth>n.depth){n.shouldRewriteAsFunction=!0;for(var l=0,c=n.thisRefs;l<c.length;l+=1){var u=c[l];u.alias=u.alias||u.findLexicalBoundary().getThisAlias()}break}}if(n.shouldRewriteAsFunction)break}},t.prototype.transpile=function(t,n){var a="ForOfStatement"!=this.type&&("BlockStatement"!==this.body.type||"BlockStatement"===this.body.type&&this.body.synthetic);if(this.shouldRewriteAsFunction){var r=this.getIndentation(),i=r+t.getIndentString(),s=this.args?" "+this.args.join(", ")+" ":"",o=this.params?" "+this.params.join(", ")+" ":"",d=this.findScope(!0),l=d.createIdentifier("loop"),c="var "+l+" = function ("+o+") "+(this.body.synthetic?"{\n"+r+t.getIndentString():""),u=(this.body.synthetic?"\n"+r+"}":"")+";\n\n"+r;if(t.prependRight(this.body.start,c),t.appendLeft(this.body.end,u),t.move(this.start,this.body.start,this.body.end),this.canBreak||this.canReturn){var h=d.createIdentifier("returned"),g="{\n"+i+"var "+h+" = "+l+"("+s+");\n";this.canBreak&&(g+="\n"+i+"if ( "+h+" === 'break' ) break;"),this.canReturn&&(g+="\n"+i+"if ( "+h+" ) return "+h+".v;"),g+="\n"+r+"}",t.prependRight(this.body.end,g)}else{var p=l+"("+s+");";"DoWhileStatement"===this.type?t.overwrite(this.start,this.body.start,"do {\n"+i+p+"\n"+r+"}"):t.prependRight(this.body.end,p)}}else a&&(t.appendLeft(this.body.start,"{ "),t.prependRight(this.body.end," }"));e.prototype.transpile.call(this,t,n)},t}(xt),en=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.findScope=function(e){return e||!this.createdScope?this.parent.findScope(e):this.body.scope},t.prototype.transpile=function(t,n){var a=this,r=this.getIndentation()+t.getIndentString();if(this.shouldRewriteAsFunction){var i="VariableDeclaration"===this.init.type?this.init.declarations.map((function(e){return vt(e.id)})):[],s=this.aliases;this.args=i.map((function(e){return e in a.aliases?a.aliases[e].outer:e})),this.params=i.map((function(e){return e in a.aliases?a.aliases[e].inner:e}));var o=Object.keys(this.reassigned).map((function(e){return s[e].outer+" = "+s[e].inner+";"}));if(o.length)if(this.body.synthetic)t.appendLeft(this.body.body[0].end,"; "+o.join(" "));else{var d=this.body.body[this.body.body.length-1];t.appendLeft(d.end,"\n\n"+r+o.join("\n"+r))}}e.prototype.transpile.call(this,t,n)},t}(Qt),tn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.findScope=function(e){return e||!this.createdScope?this.parent.findScope(e):this.body.scope},t.prototype.transpile=function(t,n){var a=this,r="VariableDeclaration"===this.left.type;if(this.shouldRewriteAsFunction){var i=r?this.left.declarations.map((function(e){return vt(e.id)})):[];this.args=i.map((function(e){return e in a.aliases?a.aliases[e].outer:e})),this.params=i.map((function(e){return e in a.aliases?a.aliases[e].inner:e}))}e.prototype.transpile.call(this,t,n);var s=r?this.left.declarations[0].id:this.left;"Identifier"!==s.type&&this.destructurePattern(t,s,r)},t.prototype.destructurePattern=function(e,t,n){var a=this.findScope(!0),r=this.getIndentation()+e.getIndentString(),i=a.createIdentifier("ref"),s=this.body.body.length?this.body.body[0].start:this.body.start+1;e.move(t.start,t.end,s),e.prependRight(t.end,n?i:"var "+i);var o=[];Lt(e,(function(e){return a.createIdentifier(e)}),(function(e){var t=e.name;return a.resolveName(t)}),t,i,!1,o);var d=";\n"+r;o.forEach((function(e,t){t===o.length-1&&(d=";\n\n"+r),e(s,"",d)}))},t}(Qt),nn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(t.forOf&&!t.dangerousForOf)throw new At("for...of statements are not supported. Use `transforms: { forOf: false }` to skip transformation and disable this error, or `transforms: { dangerousForOf: true }` if you know what you're doing",this);e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){if(e.prototype.transpile.call(this,t,n),n.dangerousForOf)if(this.body.body[0]){var a=this.findScope(!0),r=this.getIndentation(),i=r+t.getIndentString(),s=a.createIdentifier("i"),o=a.createIdentifier("list");this.body.synthetic&&(t.prependRight(this.left.start,"{\n"+i),t.appendLeft(this.body.body[0].end,"\n"+r+"}"));var d=this.body.body[0].start;t.remove(this.left.end,this.right.start),t.move(this.left.start,this.left.end,d),t.prependRight(this.right.start,"var "+s+" = 0, "+o+" = "),t.appendLeft(this.right.end,"; "+s+" < "+o+".length; "+s+" += 1");var l="VariableDeclaration"===this.left.type,c=l?this.left.declarations[0].id:this.left;if("Identifier"!==c.type){var u=[],h=a.createIdentifier("ref");Lt(t,(function(e){return a.createIdentifier(e)}),(function(e){var t=e.name;return a.resolveName(t)}),c,h,!l,u);var g=";\n"+i;u.forEach((function(e,t){t===u.length-1&&(g=";\n\n"+i),e(d,"",g)})),l?(t.appendLeft(this.left.start+this.left.kind.length+1,h),t.appendLeft(this.left.end," = "+o+"["+s+"];\n"+i)):t.appendLeft(this.left.end,"var "+h+" = "+o+"["+s+"];\n"+i)}else t.appendLeft(this.left.end," = "+o+"["+s+"];\n\n"+i)}else"VariableDeclaration"===this.left.type&&"var"===this.left.kind?(t.remove(this.start,this.left.start),t.appendLeft(this.left.end,";"),t.remove(this.left.end,this.end)):t.remove(this.start,this.end)},t}(Qt),an=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(this.generator&&t.generator)throw new At("Generators are not supported",this);this.body.createScope(),this.id&&this.findScope(!0).addDeclaration(this.id,"function"),e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){e.prototype.transpile.call(this,t,n),n.trailingFunctionCommas&&this.params.length&&jt(t,this.params[this.params.length-1].end)},t}(xt),rn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(this.generator&&t.generator)throw new At("Generators are not supported",this);this.body.createScope(),this.id&&this.body.scope.addDeclaration(this.id,"function"),e.prototype.initialise.call(this,t);var n,a=this.parent;if(t.conciseMethodProperty&&"Property"===a.type&&"init"===a.kind&&a.method&&"Identifier"===a.key.type||t.classes&&"MethodDefinition"===a.type&&"method"===a.kind&&"Identifier"===a.key.type?n=a.key.name:this.id&&"Identifier"===this.id.type&&(n=this.id.alias||this.id.name),n)for(var r=0,i=this.params;r<i.length;r+=1){var s=i[r];if("Identifier"===s.type&&n===s.name){var o=this.body.scope,d=o.declarations[n],l=o.createIdentifier(n);s.alias=l;for(var c=0,u=d.instances;c<u.length;c+=1){u[c].alias=l}break}}},t.prototype.transpile=function(t,n){e.prototype.transpile.call(this,t,n),n.trailingFunctionCommas&&this.params.length&&jt(t,this.params[this.params.length-1].end)},t}(xt);function sn(e,t){return"MemberExpression"===e.type?!e.computed&&sn(e.object,e):"Identifier"===e.type?!t||!/(Function|Class)Expression/.test(t.type)&&("VariableDeclarator"===t.type?e===t.init:"MemberExpression"===t.type||"MethodDefinition"===t.type?t.computed||e===t.object:"ArrayPattern"!==t.type&&("Property"===t.type?"ObjectPattern"!==t.parent.type&&(t.computed||e===t.value):"MethodDefinition"!==t.type&&("ExportSpecifier"!==t.type||e===t.local))):void 0}var on=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.findScope=function(e){return this.parent.params&&~this.parent.params.indexOf(this)||"FunctionExpression"===this.parent.type&&this===this.parent.id?this.parent.body.scope:this.parent.findScope(e)},t.prototype.initialise=function(e){if(sn(this,this.parent)){if(e.arrow&&"arguments"===this.name&&!this.findScope(!1).contains(this.name)){var t=this.findLexicalBoundary(),n=this.findNearest("ArrowFunctionExpression"),a=this.findNearest(Ht);n&&n.depth>t.depth&&(this.alias=t.getArgumentsAlias()),a&&a.body.contains(this)&&a.depth>t.depth&&(this.alias=t.getArgumentsAlias())}this.findScope(!1).addReference(this)}},t.prototype.transpile=function(e){this.alias&&e.overwrite(this.start,this.end,this.alias,{storeName:!0,contentOnly:!0})},t}(xt),dn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){("BlockStatement"!==this.consequent.type||"BlockStatement"===this.consequent.type&&this.consequent.synthetic)&&(t.appendLeft(this.consequent.start,"{ "),t.prependRight(this.consequent.end," }")),this.alternate&&"IfStatement"!==this.alternate.type&&("BlockStatement"!==this.alternate.type||"BlockStatement"===this.alternate.type&&this.alternate.synthetic)&&(t.appendLeft(this.alternate.start,"{ "),t.prependRight(this.alternate.end," }")),e.prototype.transpile.call(this,t,n)},t}(xt),ln=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(t.moduleImport)throw new At("import is not supported",this);e.prototype.initialise.call(this,t)},t}(xt),cn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){this.findScope(!0).addDeclaration(this.local,"import"),e.prototype.initialise.call(this,t)},t}(xt),un=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){this.findScope(!0).addDeclaration(this.local,"import"),e.prototype.initialise.call(this,t)},t}(xt),hn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(t,n){var a,r=this.name,i=r.start,s=r.name,o=this.value?this.value.start:this.name.end;t.overwrite(i,o,(/-/.test(a=s)?"'"+a+"'":a)+": "+(this.value?"":"true")),e.prototype.transpile.call(this,t,n)},t}(xt);var gn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(e){var t,n=!0,a=this.parent.children[this.parent.children.length-1];(a&&("JSXText"===(t=a).type&&!/\S/.test(t.value)&&/\n/.test(t.value))||this.parent.openingElement.attributes.length)&&(n=!1),e.overwrite(this.start,this.end,n?" )":")")},t}(xt);var pn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(e){var t,n=!0,a=this.parent.children[this.parent.children.length-1];a&&("JSXText"===(t=a).type&&!/\S/.test(t.value)&&/\n/.test(t.value))&&(n=!1),e.overwrite(this.start,this.end,n?" )":")")},t}(xt);function fn(e,t){return e=e.replace(/\u00a0/g," "),t&&/\n/.test(e)&&(e=e.replace(/\s+$/,"")),e=e.replace(/^\n\r?\s+/,"").replace(/\s*\n\r?\s*/gm," "),JSON.stringify(e)}var mn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(t,n){e.prototype.transpile.call(this,t,n);var a=this.children.filter((function(e){return"JSXText"!==e.type||(/\S/.test(e.raw)||!/\n/.test(e.raw))}));if(a.length){var r,i=(this.openingElement||this.openingFragment).end;for(r=0;r<a.length;r+=1){var s=a[r];if("JSXExpressionContainer"===s.type&&"JSXEmptyExpression"===s.expression.type);else{var o="\n"===t.original[i]&&"JSXText"!==s.type?"":" ";t.appendLeft(i,","+o)}if("JSXText"===s.type){var d=fn(s.value,r===a.length-1);t.overwrite(s.start,s.end,d)}i=s.end}}},t}(xt),Rn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(t,n){t.remove(this.start,this.expression.start),t.remove(this.expression.end,this.end),e.prototype.transpile.call(this,t,n)},t}(xt),yn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(mn),bn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(t,n){var a=this;e.prototype.transpile.call(this,t,n),t.overwrite(this.start,this.name.start,this.program.jsx+"( ");var r="JSXIdentifier"===this.name.type&&this.name.name[0]===this.name.name[0].toLowerCase();r&&t.prependRight(this.name.start,"'");var i=this.attributes.length,s=this.name.end;if(i){var o,d,l,c=!1;for(o=0;o<i;o+=1)if("JSXSpreadAttribute"===a.attributes[o].type){c=!0;break}for(s=this.attributes[0].end,o=0;o<i;o+=1){var u=a.attributes[o];if(o>0&&(u.start===s?t.prependRight(s,", "):t.overwrite(s,u.start,", ")),c&&"JSXSpreadAttribute"!==u.type){var h=a.attributes[o-1],g=a.attributes[o+1];h&&"JSXSpreadAttribute"!==h.type||t.prependRight(u.start,"{ "),g&&"JSXSpreadAttribute"!==g.type||t.appendLeft(u.end," }")}s=u.end}if(c)if(1===i)l=r?"',":",";else{if(!this.program.options.objectAssign)throw new At("Mixed JSX attributes ending in spread requires specified objectAssign option with 'Object.assign' or polyfill helper.",this);l=r?"', "+this.program.options.objectAssign+"({},":", "+this.program.options.objectAssign+"({},",d=")"}else l=r?"', {":", {",d=" }";t.prependRight(this.name.end,l),d&&t.appendLeft(this.attributes[i-1].end,d)}else t.appendLeft(this.name.end,r?"', null":", null"),s=this.name.end;this.selfClosing?t.overwrite(s,this.end,this.attributes.length?")":" )"):t.remove(s,this.end)},t}(xt),xn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(e){e.overwrite(this.start,this.end,this.program.jsx+"( React.Fragment, null")},t}(xt),vn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(t,n){t.remove(this.start,this.argument.start),t.remove(this.argument.end,this.end),e.prototype.transpile.call(this,t,n)},t}(xt),_n=/[\u2028-\u2029]/g,kn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(){"string"==typeof this.value&&this.program.indentExclusionElements.push(this)},t.prototype.transpile=function(e,t){if(t.numericLiteral&&this.raw.match(/^0[bo]/i)&&e.overwrite(this.start,this.end,String(this.value),{storeName:!0,contentOnly:!0}),this.regex){var n=this.regex,a=n.pattern,r=n.flags;if(t.stickyRegExp&&/y/.test(r))throw new At("Regular expression sticky flag is not supported",this);t.unicodeRegExp&&/u/.test(r)&&e.overwrite(this.start,this.end,"/"+l()(a,r)+"/"+r.replace("u",""),{contentOnly:!0})}else"string"==typeof this.value&&this.value.match(_n)&&e.overwrite(this.start,this.end,this.raw.replace(_n,(function(e){return"\u2028"==e?"\\u2028":"\\u2029"})),{contentOnly:!0})},t}(xt),Cn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(t,n){n.reservedProperties&&kt[this.property.name]&&(t.overwrite(this.object.end,this.property.start,"['"),t.appendLeft(this.property.end,"']")),e.prototype.transpile.call(this,t,n)},t}(xt),wn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(t.spreadRest&&this.arguments.length)for(var n=this.findLexicalBoundary(),a=this.arguments.length;a--;){var r=this.arguments[a];if("SpreadElement"===r.type&&Bt(r.argument)){this.argumentsArrayAlias=n.getArgumentsArrayAlias();break}}e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){if(e.prototype.transpile.call(this,t,n),n.spreadRest&&this.arguments.length){var a=this.arguments[0];Mt(t,this.arguments,a.start,this.argumentsArrayAlias,!0)&&(t.prependRight(this.start+"new".length," (Function.prototype.bind.apply("),t.overwrite(this.callee.end,a.start,", [ null ].concat( "),t.appendLeft(this.end," ))"))}this.arguments.length&&jt(t,this.arguments[this.arguments.length-1].end)},t}(xt),En=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(t,n){var a=this;e.prototype.transpile.call(this,t,n);for(var r=this.start+1,i=0,s=0,o=null,d=null,l=0;l<this.properties.length;++l){var c=a.properties[l];"SpreadElement"===c.type?(i+=1,null===o&&(o=l)):c.computed&&n.computedProperty&&(s+=1,null===d&&(d=l))}if(!i||n.objectRestSpread||s&&n.computedProperty){if(i){if(!this.program.options.objectAssign)throw new At("Object spread operator requires specified objectAssign option with 'Object.assign' or polyfill helper.",this);for(var u=this.properties.length;u--;){var h=a.properties[u];if("Property"===h.type&&!s){var g=a.properties[u-1],p=a.properties[u+1];g&&"Property"===g.type||t.prependRight(h.start,"{"),p&&"Property"===p.type||t.appendLeft(h.end,"}")}"SpreadElement"===h.type&&(t.remove(h.start,h.argument.start),t.remove(h.argument.end,h.end))}r=this.properties[0].start,s?"SpreadElement"===this.properties[0].type?(t.overwrite(this.start,r,this.program.options.objectAssign+"({}, "),t.remove(this.end-1,this.end),t.appendRight(this.end,")")):(t.prependLeft(this.start,this.program.options.objectAssign+"("),t.appendRight(this.end,")")):(t.overwrite(this.start,r,this.program.options.objectAssign+"({}, "),t.overwrite(this.properties[this.properties.length-1].end,this.end,")"))}}else i=0,o=null;if(s&&n.computedProperty){var f,m,R=this.getIndentation();"VariableDeclarator"===this.parent.type&&1===this.parent.parent.declarations.length&&"Identifier"===this.parent.id.type?(f=!0,m=this.parent.id.alias||this.parent.id.name):("AssignmentExpression"===this.parent.type&&"ExpressionStatement"===this.parent.parent.type&&"Identifier"===this.parent.left.type||"AssignmentPattern"===this.parent.type&&"Identifier"===this.parent.left.type)&&(f=!0,m=this.parent.left.alias||this.parent.left.name),i&&(f=!1),m=this.findScope(!1).resolveName(m);var y=r,b=this.end;f||(null===o||d<o?(m=this.findScope(!0).createDeclaration("obj"),t.prependRight(this.start,"( "+m+" = ")):m=null);for(var x,v=this.properties.length,_=!1,k=!0,C=0;C<v;C+=1){var w=a.properties[C],E=C>0?a.properties[C-1].end:y;if("Property"===w.type&&(w.computed||x&&!i)){if(0===C&&(E=a.start+1),x=w,m){var S=(f?";\n"+R+m:", "+m)+("Literal"===w.key.type||w.computed?"":".");E<w.start?t.overwrite(E,w.start,S):t.prependRight(w.start,S)}else{var A=(m=a.findScope(!0).createDeclaration("obj"))+(w.computed?"":".");t.appendRight(w.start,"( "+m+" = {}, "+A)}var T=w.key.end;if(w.computed){for(;"]"!==t.original[T];)T+=1;T+=1}"Literal"!==w.key.type||w.computed?w.shorthand||w.method&&!w.computed&&n.conciseMethodProperty?t.overwrite(w.key.start,w.key.end,t.slice(w.key.start,w.key.end).replace(/:/," =")):(w.value.start>T&&t.remove(T,w.value.start),t.prependLeft(T," = ")):t.overwrite(w.start,w.key.end+1,"["+t.slice(w.start,w.key.end)+"] = "),!w.method||!w.computed&&n.conciseMethodProperty||(w.value.generator&&t.remove(w.start,w.key.start),t.prependRight(w.value.start,"function"+(w.value.generator?"*":"")+" "))}else"SpreadElement"===w.type?m&&C>0&&(x||(x=a.properties[C-1]),t.appendLeft(x.end,", "+m+" )"),x=null,m=null):(!k&&i&&(t.prependRight(w.start,"{"),t.appendLeft(w.end,"}")),_=!0);if(k&&("SpreadElement"===w.type||w.computed)){var D=_?a.properties[a.properties.length-1].end:a.end-1;","==t.original[D]&&++D;var L=t.slice(D,b);t.prependLeft(E,L),t.remove(D,b),k=!1}var I=w.end;if(C<v-1&&!_)for(;","!==t.original[I];)I+=1;else C==v-1&&(I=a.end);w.end!=I&&t.overwrite(w.end,I,"",{contentOnly:!0})}!f&&m&&t.appendLeft(x.end,", "+m+" )")}},t}(xt),Sn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(("get"===this.kind||"set"===this.kind)&&t.getterSetter)throw new At("getters and setters are not supported. Use `transforms: { getterSetter: false }` to skip transformation and disable this error",this);e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){if(e.prototype.transpile.call(this,t,n),n.conciseMethodProperty&&!this.computed&&"ObjectPattern"!==this.parent.type)if(this.shorthand)t.prependRight(this.start,this.key.name+": ");else if(this.method){var a="";!1!==this.program.options.namedFunctionExpressions&&(a=" "+(a="Literal"===this.key.type&&"number"==typeof this.key.value?"":"Identifier"===this.key.type?kt[this.key.name]||!/^[a-z_$][a-z0-9_$]*$/i.test(this.key.name)||this.value.body.scope.references[this.key.name]?this.findScope(!0).createIdentifier(this.key.name):this.key.name:this.findScope(!0).createIdentifier(this.key.value))),this.value.generator&&t.remove(this.start,this.key.start),t.appendLeft(this.key.end,": function"+(this.value.generator?"*":"")+a)}n.reservedProperties&&kt[this.key.name]&&(t.prependRight(this.key.start,"'"),t.appendLeft(this.key.end,"'"))},t}(xt),An=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(e){this.loop=this.findNearest(Ht),this.nearestFunction=this.findNearest(/Function/),this.loop&&(!this.nearestFunction||this.loop.depth>this.nearestFunction.depth)&&(this.loop.canReturn=!0,this.shouldWrap=!0),this.argument&&this.argument.initialise(e)},t.prototype.transpile=function(e,t){var n=this.shouldWrap&&this.loop&&this.loop.shouldRewriteAsFunction;this.argument?(n&&e.prependRight(this.argument.start,"{ v: "),this.argument.transpile(e,t),n&&e.appendLeft(this.argument.end," }")):n&&e.appendLeft(this.start+6," {}")},t}(xt),Tn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(e){if(e.classes){if(this.method=this.findNearest("MethodDefinition"),!this.method)throw new At("use of super outside class method",this);var t=this.findNearest("ClassBody").parent;if(this.superClassName=t.superClass&&(t.superClass.name||"superclass"),!this.superClassName)throw new At("super used in base class",this);if(this.isCalled="CallExpression"===this.parent.type&&this===this.parent.callee,"constructor"!==this.method.kind&&this.isCalled)throw new At("super() not allowed outside class constructor",this);if(this.isMember="MemberExpression"===this.parent.type,!this.isCalled&&!this.isMember)throw new At("Unexpected use of `super` (expected `super(...)` or `super.*`)",this)}if(e.arrow){var n=this.findLexicalBoundary(),a=this.findNearest("ArrowFunctionExpression"),r=this.findNearest(Ht);a&&a.depth>n.depth&&(this.thisAlias=n.getThisAlias()),r&&r.body.contains(this)&&r.depth>n.depth&&(this.thisAlias=n.getThisAlias())}},t.prototype.transpile=function(e,t){if(t.classes){var n=this.isCalled||this.method.static?this.superClassName:this.superClassName+".prototype";e.overwrite(this.start,this.end,n,{storeName:!0,contentOnly:!0});var a=this.isCalled?this.parent:this.parent.parent;if(a&&"CallExpression"===a.type){this.noCall||e.appendLeft(a.callee.end,".call");var r=this.thisAlias||"this";a.arguments.length?e.appendLeft(a.arguments[0].start,r+", "):e.appendLeft(a.end-1,""+r)}}},t}(xt),Dn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if(t.templateString&&!t.dangerousTaggedTemplateString)throw new At("Tagged template strings are not supported. Use `transforms: { templateString: false }` to skip transformation and disable this error, or `transforms: { dangerousTaggedTemplateString: true }` if you know what you're doing",this);e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){if(n.templateString&&n.dangerousTaggedTemplateString){var a=this.quasi.expressions.concat(this.quasi.quasis).sort((function(e,t){return e.start-t.start})),r=this.program.body.scope,i=this.quasi.quasis.map((function(e){return JSON.stringify(e.value.cooked)})).join(", "),s=this.program.templateLiteralQuasis[i];s||(s=r.createIdentifier("templateObject"),t.prependRight(this.program.prependAt,"var "+s+" = Object.freeze(["+i+"]);\n"),this.program.templateLiteralQuasis[i]=s),t.overwrite(this.tag.end,a[0].start,"("+s);var o=a[0].start;a.forEach((function(e){"TemplateElement"===e.type?t.remove(o,e.end):t.overwrite(o,e.start,", "),o=e.end})),t.overwrite(o,this.end,")")}e.prototype.transpile.call(this,t,n)},t}(xt),Ln=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(){this.program.indentExclusionElements.push(this)},t}(xt),In=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.transpile=function(t,n){if(e.prototype.transpile.call(this,t,n),n.templateString&&"TaggedTemplateExpression"!==this.parent.type){var a=this.expressions.concat(this.quasis).sort((function(e,t){return e.start-t.start||e.end-t.end})).filter((function(e,t){return"TemplateElement"!==e.type||(!!e.value.raw||!t)}));if(a.length>=3){var r=a[0],i=a[2];"TemplateElement"===r.type&&""===r.value.raw&&"TemplateElement"===i.type&&a.shift()}var s=!(1===this.quasis.length&&0===this.expressions.length||"TemplateLiteral"===this.parent.type||"AssignmentExpression"===this.parent.type||"AssignmentPattern"===this.parent.type||"VariableDeclarator"===this.parent.type||"BinaryExpression"===this.parent.type&&"+"===this.parent.operator);s&&t.appendRight(this.start,"(");var o=this.start;a.forEach((function(e,n){var a=0===n?s?"(":"":" + ";if("TemplateElement"===e.type)t.overwrite(o,e.end,a+JSON.stringify(e.value.cooked));else{var r="Identifier"!==e.type;r&&(a+="("),t.remove(o,e.start),a&&t.prependRight(e.start,a),r&&t.appendLeft(e.end,")")}o=e.end})),s&&t.appendLeft(o,")"),t.overwrite(o,this.end,"",{contentOnly:!0})}},t}(xt),Fn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(e){var t=this.findLexicalBoundary();if(e.letConst)for(var n=this.findNearest(Ht);n&&n.depth>t.depth;)n.thisRefs.push(this),n=n.parent.findNearest(Ht);if(e.arrow){var a=this.findNearest("ArrowFunctionExpression");a&&a.depth>t.depth&&(this.alias=t.getThisAlias())}},t.prototype.transpile=function(e){this.alias&&e.overwrite(this.start,this.end,this.alias,{storeName:!0,contentOnly:!0})},t}(xt),On=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){if("Identifier"===this.argument.type){var n=this.findScope(!1).findDeclaration(this.argument.name),a=n&&n.node.ancestor(3);a&&"ForStatement"===a.type&&a.body.contains(this)&&(a.reassigned[this.argument.name]=!0)}e.prototype.initialise.call(this,t)},t.prototype.transpile=function(t,n){"Identifier"===this.argument.type&&$t(this.argument,this.findScope(!1)),e.prototype.transpile.call(this,t,n)},t}(xt),Nn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(e){this.scope=this.findScope("var"===this.kind),this.declarations.forEach((function(t){return t.initialise(e)}))},t.prototype.transpile=function(e,t){var n=this,a=this.getIndentation(),r=this.kind;if(t.letConst&&"var"!==r&&(r="var",e.overwrite(this.start,this.start+this.kind.length,r,{contentOnly:!0,storeName:!0})),t.destructuring&&"ForOfStatement"!==this.parent.type&&"ForInStatement"!==this.parent.type){var i,s=this.start;this.declarations.forEach((function(r,o){if(r.transpile(e,t),"Identifier"===r.id.type)o>0&&"Identifier"!==n.declarations[o-1].id.type&&e.overwrite(s,r.id.start,"var ");else{var d=Ht.test(n.parent.type);0===o?e.remove(s,r.id.start):e.overwrite(s,r.id.start,";\n"+a);var l="Identifier"===r.init.type&&!r.init.rewritten,c=l?r.init.alias||r.init.name:r.findScope(!0).createIdentifier("ref");s=r.start;var u=[];l?e.remove(r.id.end,r.end):u.push((function(t,n,a){e.prependRight(r.id.end,"var "+c),e.appendLeft(r.init.end,""+a),e.move(r.id.end,r.end,t)}));var h=r.findScope(!1);Lt(e,(function(e){return h.createIdentifier(e)}),(function(e){var t=e.name;return h.resolveName(t)}),r.id,c,d,u);var g=d?"var ":"",p=d?", ":";\n"+a;u.forEach((function(e,t){o===n.declarations.length-1&&t===u.length-1&&(p=d?"":";"),e(r.start,0===t?g:"",p)}))}s=r.end,i="Identifier"!==r.id.type})),i&&this.end>s&&e.overwrite(s,this.end,"",{contentOnly:!0})}else this.declarations.forEach((function(n){n.transpile(e,t)}))},t}(xt),Bn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.initialise=function(t){var n=this.parent.kind;"let"===n&&"ForStatement"===this.parent.parent.type&&(n="for.let"),this.parent.scope.addDeclaration(this.id,n),e.prototype.initialise.call(this,t)},t.prototype.transpile=function(e,t){if(!this.init&&t.letConst&&"var"!==this.parent.kind){var n=this.findNearest(/Function|^For(In|Of)?Statement|^(?:Do)?WhileStatement/);!n||/Function/.test(n.type)||this.isLeftDeclaratorOfLoop()||e.appendLeft(this.id.end," = (void 0)")}this.id&&this.id.transpile(e,t),this.init&&this.init.transpile(e,t)},t.prototype.isLeftDeclaratorOfLoop=function(){return this.parent&&"VariableDeclaration"===this.parent.type&&this.parent.parent&&("ForInStatement"===this.parent.parent.type||"ForOfStatement"===this.parent.parent.type)&&this.parent.parent.left&&this.parent.parent.left.declarations[0]===this},t}(xt),Mn={ArrayExpression:Pt,ArrowFunctionExpression:Vt,AssignmentExpression:Ut,BinaryExpression:zt,BreakStatement:Yt,CallExpression:Wt,ClassBody:qt,ClassDeclaration:Gt,ClassExpression:Xt,ContinueStatement:Jt,DoWhileStatement:Qt,ExportNamedDeclaration:Zt,ExportDefaultDeclaration:Kt,ForStatement:en,ForInStatement:tn,ForOfStatement:nn,FunctionDeclaration:an,FunctionExpression:rn,Identifier:on,IfStatement:dn,ImportDeclaration:ln,ImportDefaultSpecifier:cn,ImportSpecifier:un,JSXAttribute:hn,JSXClosingElement:gn,JSXClosingFragment:pn,JSXElement:mn,JSXExpressionContainer:Rn,JSXFragment:yn,JSXOpeningElement:bn,JSXOpeningFragment:xn,JSXSpreadAttribute:vn,Literal:kn,MemberExpression:Cn,NewExpression:wn,ObjectExpression:En,Property:Sn,ReturnStatement:An,Super:Tn,TaggedTemplateExpression:Dn,TemplateElement:Ln,TemplateLiteral:In,ThisExpression:Fn,UpdateExpression:On,VariableDeclaration:Nn,VariableDeclarator:Bn,WhileStatement:Qt},Pn={Program:["body"],Literal:[]},jn={IfStatement:"consequent",ForStatement:"body",ForInStatement:"body",ForOfStatement:"body",WhileStatement:"body",DoWhileStatement:"body",ArrowFunctionExpression:"body"};function Vn(e,t){if(e)if("length"in e)for(var n=e.length;n--;)Vn(e[n],t);else if(!e.__wrapped){e.__wrapped=!0,Pn[e.type]||(Pn[e.type]=Object.keys(e).filter((function(t){return"object"==typeof e[t]})));var a=jn[e.type];if(a&&"BlockStatement"!==e[a].type){var r=e[a];e[a]={start:r.start,end:r.end,type:"BlockStatement",body:[r],synthetic:!0}}e.parent=t,e.program=t.program||t,e.depth=t.depth+1,e.keys=Pn[e.type],e.indentation=void 0;for(var i=0,s=Pn[e.type];i<s.length;i+=1){var o=s[i];Vn(e[o],e)}e.program.magicString.addSourcemapLocation(e.start),e.program.magicString.addSourcemapLocation(e.end);var d=("BlockStatement"===e.type?Nt:Mn[e.type])||xt;e.__proto__=d.prototype}}function $n(e,t,n,a){var r=this;this.type="Root",this.jsx=a.jsx||"React.createElement",this.options=a,this.source=e,this.magicString=new E(e),this.ast=t,this.depth=0,Vn(this.body=t,this),this.body.__proto__=Nt.prototype,this.templateLiteralQuasis=Object.create(null);for(var i=0;i<this.body.body.length;++i)if(!r.body.body[i].directive){r.prependAt=r.body.body[i].start;break}this.objectWithoutPropertiesHelper=null,this.indentExclusionElements=[],this.body.initialise(n),this.indentExclusions=Object.create(null);for(var s=0,o=r.indentExclusionElements;s<o.length;s+=1)for(var d=o[s],l=d.start;l<d.end;l+=1)r.indentExclusions[l]=!0;this.body.transpile(this.magicString,n)}$n.prototype={export:function(e){return void 0===e&&(e={}),{code:this.magicString.toString(),map:this.magicString.generateMap({file:e.file,source:e.source,includeContent:!1!==e.includeContent})}},findNearest:function(){return null},findScope:function(){return null},getObjectWithoutPropertiesHelper:function(e){return this.objectWithoutPropertiesHelper||(this.objectWithoutPropertiesHelper=this.body.scope.createIdentifier("objectWithoutProperties"),e.prependLeft(this.prependAt,"function "+this.objectWithoutPropertiesHelper+" (obj, exclude) { var target = {}; for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k) && exclude.indexOf(k) === -1) target[k] = obj[k]; return target; }\n")),this.objectWithoutPropertiesHelper}};var Un={chrome:{48:610719,49:652287,50:783359,51:783359,52:1045503,53:1045503,54:1045503,55:3142655,56:3142655,57:3142655,58:4191231,59:4191231,60:8385535,61:8385535,62:8385535,63:8385535,64:8385535,65:8385535,66:8385535,67:8385535,68:8385535,69:8385535,70:8385535,71:8385535},firefox:{43:643515,44:643515,45:643519,46:774591,47:774655,48:774655,49:774655,50:774655,51:775167,52:4191231,53:4191231,54:4191231,55:8385535,56:8385535,57:8385535,58:8385535,59:8385535,60:8385535,61:8385535,62:8385535,63:8385535,64:8385535},safari:{8:524297,9:594141,10:1831935,10.1:4191231,11:4191231,11.1:8385535,12:8385535},ie:{8:0,9:524289,10:524289,11:524289},edge:{12:610459,13:774559,14:2085887,15:4183039,16:4183039,17:4183039,18:4183039,19:4183039},node:{"0.10":524289,.12:524417,4:594335,5:594335,6:783359,8:4191231,8.3:8385535,8.7:8385535,"8.10":8385535}},zn=["getterSetter","arrow","classes","computedProperty","conciseMethodProperty","defaultParameter","destructuring","forOf","generator","letConst","moduleExport","moduleImport","numericLiteral","parameterDestructuring","spreadRest","stickyRegExp","templateString","unicodeRegExp","exponentiation","reservedProperties","trailingFunctionCommas","asyncAwait","objectRestSpread"],Hn=he.extend(yt,gt()),Yn=["dangerousTaggedTemplateString","dangerousForOf"];function Wn(e,t){var n;void 0===t&&(t={});var a=null;try{n=Hn.parse(e,{ecmaVersion:10,preserveParens:!0,sourceType:"module",allowReturnOutsideFunction:!0,onComment:function(e,t){if(!a){var n=/@jsx\s+([^\s]+)/.exec(t);n&&(a=n[1])}}}),t.jsx=a||t.jsx}catch(i){throw i.snippet=St(e,i.loc),i.toString=function(){return i.name+": "+i.message+"\n"+i.snippet},i}var r=function(e){var t=Object.keys(e).length?8388607:524289;Object.keys(e).forEach((function(n){var a=Un[n];if(!a)throw new Error("Unknown environment '"+n+"'. Please raise an issue at https://github.com/Rich-Harris/buble/issues");var r=e[n];if(!(r in a))throw new Error("Support data exists for the following versions of "+n+": "+Object.keys(a).join(", ")+". Please raise an issue at https://github.com/Rich-Harris/buble/issues");var i=a[r];t&=i}));var n=Object.create(null);return zn.forEach((function(e,a){n[e]=!(t&1<<a)})),Yn.forEach((function(e){n[e]=!1})),n}(t.target||{});return Object.keys(t.transforms||{}).forEach((function(e){if("modules"===e)return"moduleImport"in t.transforms||(r.moduleImport=t.transforms.modules),void("moduleExport"in t.transforms||(r.moduleExport=t.transforms.modules));if(!(e in r))throw new Error("Unknown transform '"+e+"'");r[e]=t.transforms[e]})),!0===t.objectAssign&&(t.objectAssign="Object.assign"),new $n(e,n,r,t).export(t)}var qn=n(77671),Gn=n.n(qn);function Xn(){return Xn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},Xn.apply(this,arguments)}function Jn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kn(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}var Zn={plain:{color:"#C5C8C6",backgroundColor:"#1D1F21"},styles:[{types:["prolog","comment","doctype","cdata"],style:{color:"hsl(30, 20%, 50%)"}},{types:["property","tag","boolean","number","constant","symbol"],style:{color:"hsl(350, 40%, 70%)"}},{types:["attr-name","string","char","builtin","insterted"],style:{color:"hsl(75, 70%, 60%)"}},{types:["operator","entity","url","string","variable","language-css"],style:{color:"hsl(40, 90%, 60%)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["regex","important"],style:{color:"#e90"}},{types:["atrule","attr-value","keyword"],style:{color:"hsl(350, 40%, 70%)"}},{types:["punctuation","symbol"],style:{opacity:"0.7"}}]},Qn=["style","theme","onChange"];function ea(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function ta(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ea(Object(n),!0).forEach((function(t){Jn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ea(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var na=function(e){var t=(0,a.useState)({code:e.code||""}),n=t[0],r=t[1];(0,a.useEffect)((function(){n.prevCodeProp&&e.code!==n.prevCodeProp&&r({code:e.code,prevCodeProp:e.code})}),[e.code]);(0,a.useEffect)((function(){e.onChange&&e.onChange(n.code)}),[n.code]);var d=e.style,l=e.theme;e.onChange;var c=Kn(e,Qn),u=n.code,h=l&&"object"==typeof l.plain?l.plain:{};return a.createElement(i(),Xn({value:u,padding:10,highlight:function(t){return a.createElement(s.ZP,{Prism:o.Z,code:t,theme:e.theme||Zn,language:e.language},(function(e){var t=e.tokens,n=e.getLineProps,r=e.getTokenProps;return a.createElement(a.Fragment,null,t.map((function(e,t){return a.createElement("div",n({line:e,key:t}),e.map((function(e,t){return a.createElement("span",r({token:e,key:t}))})))})))}))},onValueChange:function(e){r({code:e})},style:ta(ta({whiteSpace:"pre",fontFamily:"monospace"},h),d)},c))},aa=(0,a.createContext)({});function ra(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function ia(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ra(Object(n),!0).forEach((function(t){Jn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ra(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var sa={assign:Gn()},oa=function(e,t){return void 0===t&&(t={}),Wn(e,ia(ia({},t),{},{objectAssign:"_poly.assign",transforms:ia({dangerousForOf:!0,dangerousTaggedTemplateString:!0},t.transforms)})).code};function da(e,t){return da=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},da(e,t)}function la(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,da(e,t)}var ca=function(e,t){return function(n){function r(){return n.apply(this,arguments)||this}la(r,n);var i=r.prototype;return i.componentDidCatch=function(e){t(e)},i.render=function(){return"function"==typeof e?a.createElement(e,null):a.isValidElement(e)?e:null},r}(a.Component)};function ua(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function ha(e,t,n){return ha=ua()?Reflect.construct:function(e,t,n){var a=[null];a.push.apply(a,t);var r=new(Function.bind.apply(e,a));return n&&da(r,n.prototype),r},ha.apply(null,arguments)}var ga=function(e,t){var n=Object.keys(t),r=n.map((function(e){return t[e]}));return ha(Function,["_poly","React"].concat(n,[e])).apply(void 0,[sa,a].concat(r))};function pa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function fa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pa(Object(n),!0).forEach((function(t){Jn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pa(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ma=function(e,t){var n=e.code,a=void 0===n?"":n,r=e.scope,i=void 0===r?{}:r,s=e.transpileOptions,o=a.trim().replace(/;$/,""),d=oa("return ("+o+")",s).trim();return ca(ga(d,i),t)},Ra=function(e,t,n){var a=e.code,r=void 0===a?"":a,i=e.scope,s=void 0===i?{}:i,o=e.transpileOptions;if(!/render\s*\(/.test(r))return n(new SyntaxError("No-Inline evaluations must call `render`."));ga(oa(r,o),fa(fa({},s),{},{render:function(e){void 0===e?n(new SyntaxError("`render` must be called with valid JSX.")):t(ca(e,n))}}))};function ya(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function ba(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ya(Object(n),!0).forEach((function(t){Jn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ya(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function xa(e){var t=e.children,n=e.code,r=e.language,i=e.theme,s=e.disabled,o=e.scope,d=e.transformCode,l=e.transpileOptions,c=e.noInline,u=void 0!==c&&c,h=(0,a.useState)({error:void 0,element:void 0}),g=h[0],p=h[1];function f(e){var t={code:d?d(e):e,scope:o,transpileOptions:l},n=function(e){return p({error:e.toString(),element:void 0})},a=function(e){return p({error:void 0,element:e})};try{u?(p({error:void 0,element:null}),Ra(t,a,n)):a(ma(t,n))}catch(r){n(r)}}(0,a.useEffect)((function(){f(n)}),[n,o,u,d,l]);return a.createElement(aa.Provider,{value:ba(ba({},g),{},{code:n,language:r,theme:i,disabled:s,onError:function(e){return p({error:e.toString()})},onChange:function(e){return f(e)}})},t)}function va(e){var t=(0,a.useContext)(aa),n=t.code,r=t.language,i=t.theme,s=t.disabled,o=t.onChange;return a.createElement(na,Xn({theme:i,code:n,language:r,disabled:s,onChange:o},e))}function _a(e){var t=(0,a.useContext)(aa).error;return t?a.createElement("pre",e,t):null}xa.defaultProps={code:"",noInline:!1,language:"jsx",disabled:!1};var ka=["Component"];function Ca(e){var t=e.Component,n=Kn(e,ka),r=(0,a.useContext)(aa).element;return a.createElement(t,n,r?a.createElement(r,null):null)}function wa(e){var t=function(t){function n(){return t.apply(this,arguments)||this}return la(n,t),n.prototype.render=function(){var t=this;return a.createElement(aa.Consumer,null,(function(n){return a.createElement(e,Xn({live:n},t.props))}))},n}(a.Component);return t}Ca.defaultProps={Component:"div"}},29983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bodyOpenClassName=t.portalClassName=void 0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}(),i=n(67294),s=p(i),o=p(n(73935)),d=p(n(45697)),l=p(n(28747)),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(57149)),u=n(51112),h=p(u),g=n(46871);function p(e){return e&&e.__esModule?e:{default:e}}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function m(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var R=t.portalClassName="ReactModalPortal",y=t.bodyOpenClassName="ReactModal__Body--open",b=u.canUseDOM&&void 0!==o.default.createPortal,x=function(e){return document.createElement(e)},v=function(){return b?o.default.createPortal:o.default.unstable_renderSubtreeIntoContainer};function _(e){return e()}var k=function(e){function t(){var e,n,r;f(this,t);for(var i=arguments.length,d=Array(i),c=0;c<i;c++)d[c]=arguments[c];return n=r=m(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(d))),r.removePortal=function(){!b&&o.default.unmountComponentAtNode(r.node);var e=_(r.props.parentSelector);e&&e.contains(r.node)?e.removeChild(r.node):console.warn('React-Modal: "parentSelector" prop did not returned any DOM element. Make sure that the parent element is unmounted to avoid any memory leaks.')},r.portalRef=function(e){r.portal=e},r.renderPortal=function(e){var n=v()(r,s.default.createElement(l.default,a({defaultStyles:t.defaultStyles},e)),r.node);r.portalRef(n)},m(r,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){u.canUseDOM&&(b||(this.node=x("div")),this.node.className=this.props.portalClassName,_(this.props.parentSelector).appendChild(this.node),!b&&this.renderPortal(this.props))}},{key:"getSnapshotBeforeUpdate",value:function(e){return{prevParent:_(e.parentSelector),nextParent:_(this.props.parentSelector)}}},{key:"componentDidUpdate",value:function(e,t,n){if(u.canUseDOM){var a=this.props,r=a.isOpen,i=a.portalClassName;e.portalClassName!==i&&(this.node.className=i);var s=n.prevParent,o=n.nextParent;o!==s&&(s.removeChild(this.node),o.appendChild(this.node)),(e.isOpen||r)&&!b&&this.renderPortal(this.props)}}},{key:"componentWillUnmount",value:function(){if(u.canUseDOM&&this.node&&this.portal){var e=this.portal.state,t=Date.now(),n=e.isOpen&&this.props.closeTimeoutMS&&(e.closesAt||t+this.props.closeTimeoutMS);n?(e.beforeClose||this.portal.closeWithTimeout(),setTimeout(this.removePortal,n-t)):this.removePortal()}}},{key:"render",value:function(){return u.canUseDOM&&b?(!this.node&&b&&(this.node=x("div")),v()(s.default.createElement(l.default,a({ref:this.portalRef,defaultStyles:t.defaultStyles},this.props)),this.node)):null}}],[{key:"setAppElement",value:function(e){c.setElement(e)}}]),t}(i.Component);k.propTypes={isOpen:d.default.bool.isRequired,style:d.default.shape({content:d.default.object,overlay:d.default.object}),portalClassName:d.default.string,bodyOpenClassName:d.default.string,htmlOpenClassName:d.default.string,className:d.default.oneOfType([d.default.string,d.default.shape({base:d.default.string.isRequired,afterOpen:d.default.string.isRequired,beforeClose:d.default.string.isRequired})]),overlayClassName:d.default.oneOfType([d.default.string,d.default.shape({base:d.default.string.isRequired,afterOpen:d.default.string.isRequired,beforeClose:d.default.string.isRequired})]),appElement:d.default.oneOfType([d.default.instanceOf(h.default),d.default.instanceOf(u.SafeHTMLCollection),d.default.instanceOf(u.SafeNodeList),d.default.arrayOf(d.default.instanceOf(h.default))]),onAfterOpen:d.default.func,onRequestClose:d.default.func,closeTimeoutMS:d.default.number,ariaHideApp:d.default.bool,shouldFocusAfterRender:d.default.bool,shouldCloseOnOverlayClick:d.default.bool,shouldReturnFocusAfterClose:d.default.bool,preventScroll:d.default.bool,parentSelector:d.default.func,aria:d.default.object,data:d.default.object,role:d.default.string,contentLabel:d.default.string,shouldCloseOnEsc:d.default.bool,overlayRef:d.default.func,contentRef:d.default.func,id:d.default.string,overlayElement:d.default.func,contentElement:d.default.func},k.defaultProps={isOpen:!1,portalClassName:R,bodyOpenClassName:y,role:"dialog",ariaHideApp:!0,closeTimeoutMS:0,shouldFocusAfterRender:!0,shouldCloseOnEsc:!0,shouldCloseOnOverlayClick:!0,shouldReturnFocusAfterClose:!0,preventScroll:!1,parentSelector:function(){return document.body},overlayElement:function(e,t){return s.default.createElement("div",e,t)},contentElement:function(e,t){return s.default.createElement("div",e,t)}},k.defaultStyles={overlay:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(255, 255, 255, 0.75)"},content:{position:"absolute",top:"40px",left:"40px",right:"40px",bottom:"40px",border:"1px solid #ccc",background:"#fff",overflow:"auto",WebkitOverflowScrolling:"touch",borderRadius:"4px",outline:"none",padding:"20px"}},(0,g.polyfill)(k),t.default=k},28747:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}(),s=n(67294),o=m(n(45697)),d=f(n(99685)),l=m(n(88338)),c=f(n(57149)),u=f(n(32409)),h=n(51112),g=m(h),p=m(n(89623));function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function m(e){return e&&e.__esModule?e:{default:e}}n(35063);var R={overlay:"ReactModal__Overlay",content:"ReactModal__Content"},y=0,b=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.setOverlayRef=function(e){n.overlay=e,n.props.overlayRef&&n.props.overlayRef(e)},n.setContentRef=function(e){n.content=e,n.props.contentRef&&n.props.contentRef(e)},n.afterClose=function(){var e=n.props,t=e.appElement,a=e.ariaHideApp,r=e.htmlOpenClassName,i=e.bodyOpenClassName;i&&u.remove(document.body,i),r&&u.remove(document.getElementsByTagName("html")[0],r),a&&y>0&&0===(y-=1)&&c.show(t),n.props.shouldFocusAfterRender&&(n.props.shouldReturnFocusAfterClose?(d.returnFocus(n.props.preventScroll),d.teardownScopedFocus()):d.popWithoutFocus()),n.props.onAfterClose&&n.props.onAfterClose(),p.default.deregister(n)},n.open=function(){n.beforeOpen(),n.state.afterOpen&&n.state.beforeClose?(clearTimeout(n.closeTimer),n.setState({beforeClose:!1})):(n.props.shouldFocusAfterRender&&(d.setupScopedFocus(n.node),d.markForFocusLater()),n.setState({isOpen:!0},(function(){n.openAnimationFrame=requestAnimationFrame((function(){n.setState({afterOpen:!0}),n.props.isOpen&&n.props.onAfterOpen&&n.props.onAfterOpen({overlayEl:n.overlay,contentEl:n.content})}))})))},n.close=function(){n.props.closeTimeoutMS>0?n.closeWithTimeout():n.closeWithoutTimeout()},n.focusContent=function(){return n.content&&!n.contentHasFocus()&&n.content.focus({preventScroll:!0})},n.closeWithTimeout=function(){var e=Date.now()+n.props.closeTimeoutMS;n.setState({beforeClose:!0,closesAt:e},(function(){n.closeTimer=setTimeout(n.closeWithoutTimeout,n.state.closesAt-Date.now())}))},n.closeWithoutTimeout=function(){n.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},n.afterClose)},n.handleKeyDown=function(e){9===e.keyCode&&(0,l.default)(n.content,e),n.props.shouldCloseOnEsc&&27===e.keyCode&&(e.stopPropagation(),n.requestClose(e))},n.handleOverlayOnClick=function(e){null===n.shouldClose&&(n.shouldClose=!0),n.shouldClose&&n.props.shouldCloseOnOverlayClick&&(n.ownerHandlesClose()?n.requestClose(e):n.focusContent()),n.shouldClose=null},n.handleContentOnMouseUp=function(){n.shouldClose=!1},n.handleOverlayOnMouseDown=function(e){n.props.shouldCloseOnOverlayClick||e.target!=n.overlay||e.preventDefault()},n.handleContentOnClick=function(){n.shouldClose=!1},n.handleContentOnMouseDown=function(){n.shouldClose=!1},n.requestClose=function(e){return n.ownerHandlesClose()&&n.props.onRequestClose(e)},n.ownerHandlesClose=function(){return n.props.onRequestClose},n.shouldBeClosed=function(){return!n.state.isOpen&&!n.state.beforeClose},n.contentHasFocus=function(){return document.activeElement===n.content||n.content.contains(document.activeElement)},n.buildClassName=function(e,t){var a="object"===(void 0===t?"undefined":r(t))?t:{base:R[e],afterOpen:R[e]+"--after-open",beforeClose:R[e]+"--before-close"},i=a.base;return n.state.afterOpen&&(i=i+" "+a.afterOpen),n.state.beforeClose&&(i=i+" "+a.beforeClose),"string"==typeof t&&t?i+" "+t:i},n.attributesFromObject=function(e,t){return Object.keys(t).reduce((function(n,a){return n[e+"-"+a]=t[a],n}),{})},n.state={afterOpen:!1,beforeClose:!1},n.shouldClose=null,n.moveFromContentToOverlay=null,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(e,t){this.props.isOpen&&!e.isOpen?this.open():!this.props.isOpen&&e.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!t.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.state.isOpen&&this.afterClose(),clearTimeout(this.closeTimer),cancelAnimationFrame(this.openAnimationFrame)}},{key:"beforeOpen",value:function(){var e=this.props,t=e.appElement,n=e.ariaHideApp,a=e.htmlOpenClassName,r=e.bodyOpenClassName;r&&u.add(document.body,r),a&&u.add(document.getElementsByTagName("html")[0],a),n&&(y+=1,c.hide(t)),p.default.register(this)}},{key:"render",value:function(){var e=this.props,t=e.id,n=e.className,r=e.overlayClassName,i=e.defaultStyles,s=e.children,o=n?{}:i.content,d=r?{}:i.overlay;if(this.shouldBeClosed())return null;var l={ref:this.setOverlayRef,className:this.buildClassName("overlay",r),style:a({},d,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},c=a({id:t,ref:this.setContentRef,style:a({},o,this.props.style.content),className:this.buildClassName("content",n),tabIndex:"-1",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,"aria-label":this.props.contentLabel},this.attributesFromObject("aria",a({modal:!0},this.props.aria)),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),u=this.props.contentElement(c,s);return this.props.overlayElement(l,u)}}]),t}(s.Component);b.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},b.propTypes={isOpen:o.default.bool.isRequired,defaultStyles:o.default.shape({content:o.default.object,overlay:o.default.object}),style:o.default.shape({content:o.default.object,overlay:o.default.object}),className:o.default.oneOfType([o.default.string,o.default.object]),overlayClassName:o.default.oneOfType([o.default.string,o.default.object]),bodyOpenClassName:o.default.string,htmlOpenClassName:o.default.string,ariaHideApp:o.default.bool,appElement:o.default.oneOfType([o.default.instanceOf(g.default),o.default.instanceOf(h.SafeHTMLCollection),o.default.instanceOf(h.SafeNodeList),o.default.arrayOf(o.default.instanceOf(g.default))]),onAfterOpen:o.default.func,onAfterClose:o.default.func,onRequestClose:o.default.func,closeTimeoutMS:o.default.number,shouldFocusAfterRender:o.default.bool,shouldCloseOnOverlayClick:o.default.bool,shouldReturnFocusAfterClose:o.default.bool,preventScroll:o.default.bool,role:o.default.string,contentLabel:o.default.string,aria:o.default.object,data:o.default.object,children:o.default.node,shouldCloseOnEsc:o.default.bool,overlayRef:o.default.func,contentRef:o.default.func,id:o.default.string,overlayElement:o.default.func,contentElement:o.default.func,testId:o.default.string},t.default=b,e.exports=t.default},57149:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resetState=function(){o&&(o.removeAttribute?o.removeAttribute("aria-hidden"):null!=o.length?o.forEach((function(e){return e.removeAttribute("aria-hidden")})):document.querySelectorAll(o).forEach((function(e){return e.removeAttribute("aria-hidden")})));o=null},t.log=function(){0},t.assertNodeList=d,t.setElement=function(e){var t=e;if("string"==typeof t&&s.canUseDOM){var n=document.querySelectorAll(t);d(n,t),t=n}return o=t||o},t.validateElement=l,t.hide=function(e){var t=!0,n=!1,a=void 0;try{for(var r,i=l(e)[Symbol.iterator]();!(t=(r=i.next()).done);t=!0){r.value.setAttribute("aria-hidden","true")}}catch(s){n=!0,a=s}finally{try{!t&&i.return&&i.return()}finally{if(n)throw a}}},t.show=function(e){var t=!0,n=!1,a=void 0;try{for(var r,i=l(e)[Symbol.iterator]();!(t=(r=i.next()).done);t=!0){r.value.removeAttribute("aria-hidden")}}catch(s){n=!0,a=s}finally{try{!t&&i.return&&i.return()}finally{if(n)throw a}}},t.documentNotReadyOrSSRTesting=function(){o=null};var a,r=n(42473),i=(a=r)&&a.__esModule?a:{default:a},s=n(51112);var o=null;function d(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function l(e){var t=e||o;return t?Array.isArray(t)||t instanceof HTMLCollection||t instanceof NodeList?t:[t]:((0,i.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),[])}},35063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resetState=function(){for(var e=[s,o],t=0;t<e.length;t++){var n=e[t];n&&(n.parentNode&&n.parentNode.removeChild(n))}s=o=null,d=[]},t.log=function(){console.log("bodyTrap ----------"),console.log(d.length);for(var e=[s,o],t=0;t<e.length;t++){var n=e[t]||{};console.log(n.nodeName,n.className,n.id)}console.log("edn bodyTrap ----------")};var a,r=n(89623),i=(a=r)&&a.__esModule?a:{default:a};var s=void 0,o=void 0,d=[];function l(){0!==d.length&&d[d.length-1].focusContent()}i.default.subscribe((function(e,t){s||o||((s=document.createElement("div")).setAttribute("data-react-modal-body-trap",""),s.style.position="absolute",s.style.opacity="0",s.setAttribute("tabindex","0"),s.addEventListener("focus",l),(o=s.cloneNode()).addEventListener("focus",l)),(d=t).length>0?(document.body.firstChild!==s&&document.body.insertBefore(s,document.body.firstChild),document.body.lastChild!==o&&document.body.appendChild(o)):(s.parentElement&&s.parentElement.removeChild(s),o.parentElement&&o.parentElement.removeChild(o))}))},32409:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resetState=function(){var e=document.getElementsByTagName("html")[0];for(var t in n)r(e,n[t]);var i=document.body;for(var s in a)r(i,a[s]);n={},a={}},t.log=function(){0};var n={},a={};function r(e,t){e.classList.remove(t)}t.add=function(e,t){return r=e.classList,i="html"==e.nodeName.toLowerCase()?n:a,void t.split(" ").forEach((function(e){!function(e,t){e[t]||(e[t]=0),e[t]+=1}(i,e),r.add(e)}));var r,i},t.remove=function(e,t){return r=e.classList,i="html"==e.nodeName.toLowerCase()?n:a,void t.split(" ").forEach((function(e){!function(e,t){e[t]&&(e[t]-=1)}(i,e),0===i[e]&&r.remove(e)}));var r,i}},99685:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resetState=function(){s=[]},t.log=function(){0},t.handleBlur=l,t.handleFocus=c,t.markForFocusLater=function(){s.push(document.activeElement)},t.returnFocus=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=null;try{return void(0!==s.length&&(t=s.pop()).focus({preventScroll:e}))}catch(n){console.warn(["You tried to return focus to",t,"but it is not in the DOM anymore"].join(" "))}},t.popWithoutFocus=function(){s.length>0&&s.pop()},t.setupScopedFocus=function(e){o=e,window.addEventListener?(window.addEventListener("blur",l,!1),document.addEventListener("focus",c,!0)):(window.attachEvent("onBlur",l),document.attachEvent("onFocus",c))},t.teardownScopedFocus=function(){o=null,window.addEventListener?(window.removeEventListener("blur",l),document.removeEventListener("focus",c)):(window.detachEvent("onBlur",l),document.detachEvent("onFocus",c))};var a,r=n(37845),i=(a=r)&&a.__esModule?a:{default:a};var s=[],o=null,d=!1;function l(){d=!0}function c(){if(d){if(d=!1,!o)return;setTimeout((function(){o.contains(document.activeElement)||((0,i.default)(o)[0]||o).focus()}),0)}}},89623:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.log=function(){console.log("portalOpenInstances ----------"),console.log(a.openInstances.length),a.openInstances.forEach((function(e){return console.log(e)})),console.log("end portalOpenInstances ----------")},t.resetState=function(){a=new n};var n=function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.register=function(e){-1===t.openInstances.indexOf(e)&&(t.openInstances.push(e),t.emit("register"))},this.deregister=function(e){var n=t.openInstances.indexOf(e);-1!==n&&(t.openInstances.splice(n,1),t.emit("deregister"))},this.subscribe=function(e){t.subscribers.push(e)},this.emit=function(e){t.subscribers.forEach((function(n){return n(e,t.openInstances.slice())}))},this.openInstances=[],this.subscribers=[]},a=new n;t.default=a},51112:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canUseDOM=t.SafeNodeList=t.SafeHTMLCollection=void 0;var a,r=n(58875);var i=((a=r)&&a.__esModule?a:{default:a}).default,s=i.canUseDOM?window.HTMLElement:{};t.SafeHTMLCollection=i.canUseDOM?window.HTMLCollection:{},t.SafeNodeList=i.canUseDOM?window.NodeList:{},t.canUseDOM=i.canUseDOM;t.default=s},88338:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=(0,i.default)(e);if(!n.length)return void t.preventDefault();var a=void 0,r=t.shiftKey,o=n[0],d=n[n.length-1],l=s();if(e===l){if(!r)return;a=d}d!==l||r||(a=o);o===l&&r&&(a=d);if(a)return t.preventDefault(),void a.focus();var c=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent);if(null==c||"Chrome"==c[1]||null!=/\biPod\b|\biPad\b/g.exec(navigator.userAgent))return;var u=n.indexOf(l);u>-1&&(u+=r?-1:1);if(void 0===(a=n[u]))return t.preventDefault(),void(a=r?d:o).focus();t.preventDefault(),a.focus()};var a,r=n(37845),i=(a=r)&&a.__esModule?a:{default:a};function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;return e.activeElement.shadowRoot?s(e.activeElement.shadowRoot):e.activeElement}e.exports=t.default},37845:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t){var n=[].slice.call(t.querySelectorAll("*"),0).reduce((function(t,n){return t.concat(n.shadowRoot?e(n.shadowRoot):[n])}),[]);return n.filter(i)};var n=/input|select|textarea|button|object|iframe/;function a(e){var t=e.offsetWidth<=0&&e.offsetHeight<=0;if(t&&!e.innerHTML)return!0;try{var n=window.getComputedStyle(e);return t?"visible"!==n.getPropertyValue("overflow")||e.scrollWidth<=0&&e.scrollHeight<=0:"none"==n.getPropertyValue("display")}catch(a){return console.warn("Failed to inspect element style"),!1}}function r(e,t){var r=e.nodeName.toLowerCase();return(n.test(r)&&!e.disabled||"a"===r&&e.href||t)&&function(e){for(var t=e,n=e.getRootNode&&e.getRootNode();t&&t!==document.body;){if(n&&t===n&&(t=n.host.parentNode),a(t))return!1;t=t.parentNode}return!0}(e)}function i(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var n=isNaN(t);return(n||t>=0)&&r(e,!n)}e.exports=t.default},83253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,r=n(29983),i=(a=r)&&a.__esModule?a:{default:a};t.default=i.default,e.exports=t.default},40460:function(e,t,n){"use strict";var a,r=this&&this.__extends||(a=function(e,t){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},a(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},i.apply(this,arguments)},s=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&s(t,e,n);return o(t,e),t},l=this&&this.__rest||function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};Object.defineProperty(t,"__esModule",{value:!0});var c=d(n(67294)),u=90,h=219,g=222,p=192,f=100,m="undefined"!=typeof window&&"navigator"in window&&/Win/i.test(navigator.platform),R="undefined"!=typeof window&&"navigator"in window&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform),y="npm__react-simple-code-editor__textarea",b="\n/**\n * Reset the text fill color so that placeholder is visible\n */\n.".concat(y,":empty {\n -webkit-text-fill-color: inherit !important;\n}\n\n/**\n * Hack to apply on some CSS on IE10 and IE11\n */\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n /**\n * IE doesn't support '-webkit-text-fill-color'\n * So we use 'color: transparent' to make the text transparent on IE\n * Unlike other browsers, it doesn't affect caret color in IE\n */\n .").concat(y," {\n color: transparent !important;\n }\n\n .").concat(y,"::selection {\n background-color: #accef7 !important;\n color: transparent !important;\n }\n}\n"),x=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={capture:!0},t._recordCurrentState=function(){var e=t._input;if(e){var n=e.value,a=e.selectionStart,r=e.selectionEnd;t._recordChange({value:n,selectionStart:a,selectionEnd:r})}},t._getLines=function(e,t){return e.substring(0,t).split("\n")},t._recordChange=function(e,n){var a,r,s;void 0===n&&(n=!1);var o=t._history,d=o.stack,l=o.offset;if(d.length&&l>-1){t._history.stack=d.slice(0,l+1);var c=t._history.stack.length;if(c>f){var u=c-f;t._history.stack=d.slice(u,c),t._history.offset=Math.max(t._history.offset-u,0)}}var h=Date.now();if(n){var g=t._history.stack[t._history.offset];if(g&&h-g.timestamp<3e3){var p=/[^a-z0-9]([a-z0-9]+)$/i,m=null===(a=t._getLines(g.value,g.selectionStart).pop())||void 0===a?void 0:a.match(p),R=null===(r=t._getLines(e.value,e.selectionStart).pop())||void 0===r?void 0:r.match(p);if((null==m?void 0:m[1])&&(null===(s=null==R?void 0:R[1])||void 0===s?void 0:s.startsWith(m[1])))return void(t._history.stack[t._history.offset]=i(i({},e),{timestamp:h}))}}t._history.stack.push(i(i({},e),{timestamp:h})),t._history.offset++},t._updateInput=function(e){var n=t._input;n&&(n.value=e.value,n.selectionStart=e.selectionStart,n.selectionEnd=e.selectionEnd,t.props.onValueChange(e.value))},t._applyEdits=function(e){var n=t._input,a=t._history.stack[t._history.offset];a&&n&&(t._history.stack[t._history.offset]=i(i({},a),{selectionStart:n.selectionStart,selectionEnd:n.selectionEnd})),t._recordChange(e),t._updateInput(e)},t._undoEdit=function(){var e=t._history,n=e.stack,a=e.offset,r=n[a-1];r&&(t._updateInput(r),t._history.offset=Math.max(a-1,0))},t._redoEdit=function(){var e=t._history,n=e.stack,a=e.offset,r=n[a+1];r&&(t._updateInput(r),t._history.offset=Math.min(a+1,n.length-1))},t._handleKeyDown=function(e){var n=t.props,a=n.tabSize,r=n.insertSpaces,i=n.ignoreTabKey,s=n.onKeyDown;if(!s||(s(e),!e.defaultPrevented)){27===e.keyCode&&e.currentTarget.blur();var o=e.currentTarget,d=o.value,l=o.selectionStart,c=o.selectionEnd,f=(r?" ":"\t").repeat(a);if(9===e.keyCode&&!i&&t.state.capture)if(e.preventDefault(),e.shiftKey){var y=(_=t._getLines(d,l)).length-1,b=t._getLines(d,c).length-1,x=d.split("\n").map((function(e,t){return t>=y&&t<=b&&e.startsWith(f)?e.substring(f.length):e})).join("\n");if(d!==x){var v=_[y];t._applyEdits({value:x,selectionStart:(null==v?void 0:v.startsWith(f))?l-f.length:l,selectionEnd:c-(d.length-x.length)})}}else if(l!==c){var _,k=(_=t._getLines(d,l)).length-1,C=t._getLines(d,c).length-1;v=_[k];t._applyEdits({value:d.split("\n").map((function(e,t){return t>=k&&t<=C?f+e:e})).join("\n"),selectionStart:v&&/\S/.test(v)?l+f.length:l,selectionEnd:c+f.length*(C-k+1)})}else{var w=l+f.length;t._applyEdits({value:d.substring(0,l)+f+d.substring(c),selectionStart:w,selectionEnd:w})}else if(8===e.keyCode){var E=l!==c;if(d.substring(0,l).endsWith(f)&&!E){e.preventDefault();w=l-f.length;t._applyEdits({value:d.substring(0,l-f.length)+d.substring(c),selectionStart:w,selectionEnd:w})}}else if(13===e.keyCode){if(l===c){var S=t._getLines(d,l).pop(),A=null==S?void 0:S.match(/^\s+/);if(null==A?void 0:A[0]){e.preventDefault();var T="\n"+A[0];w=l+T.length;t._applyEdits({value:d.substring(0,l)+T+d.substring(c),selectionStart:w,selectionEnd:w})}}}else if(57===e.keyCode||e.keyCode===h||e.keyCode===g||e.keyCode===p){var D=void 0;57===e.keyCode&&e.shiftKey?D=["(",")"]:e.keyCode===h?D=e.shiftKey?["{","}"]:["[","]"]:e.keyCode===g?D=e.shiftKey?['"','"']:["'","'"]:e.keyCode!==p||e.shiftKey||(D=["`","`"]),l!==c&&D&&(e.preventDefault(),t._applyEdits({value:d.substring(0,l)+D[0]+d.substring(l,c)+D[1]+d.substring(c),selectionStart:l,selectionEnd:c+2}))}else!(R?e.metaKey&&e.keyCode===u:e.ctrlKey&&e.keyCode===u)||e.shiftKey||e.altKey?(R?e.metaKey&&e.keyCode===u&&e.shiftKey:m?e.ctrlKey&&89===e.keyCode:e.ctrlKey&&e.keyCode===u&&e.shiftKey)&&!e.altKey?(e.preventDefault(),t._redoEdit()):77!==e.keyCode||!e.ctrlKey||R&&!e.shiftKey||(e.preventDefault(),t.setState((function(e){return{capture:!e.capture}}))):(e.preventDefault(),t._undoEdit())}},t._handleChange=function(e){var n=e.currentTarget,a=n.value,r=n.selectionStart,i=n.selectionEnd;t._recordChange({value:a,selectionStart:r,selectionEnd:i},!0),t.props.onValueChange(a)},t._history={stack:[],offset:-1},t._input=null,t}return r(t,e),t.prototype.componentDidMount=function(){this._recordCurrentState()},Object.defineProperty(t.prototype,"session",{get:function(){return{history:this._history}},set:function(e){this._history=e.history},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this,t=this.props,n=t.value,a=t.style,r=t.padding,s=t.highlight,o=t.textareaId,d=t.textareaClassName,u=t.autoFocus,h=t.disabled,g=t.form,p=t.maxLength,f=t.minLength,m=t.name,R=t.placeholder,x=t.readOnly,_=t.required,k=t.onClick,C=t.onFocus,w=t.onBlur,E=t.onKeyUp,S=(t.onKeyDown,t.onValueChange,t.tabSize,t.insertSpaces,t.ignoreTabKey,t.preClassName),A=l(t,["value","style","padding","highlight","textareaId","textareaClassName","autoFocus","disabled","form","maxLength","minLength","name","placeholder","readOnly","required","onClick","onFocus","onBlur","onKeyUp","onKeyDown","onValueChange","tabSize","insertSpaces","ignoreTabKey","preClassName"]),T={paddingTop:r,paddingRight:r,paddingBottom:r,paddingLeft:r},D=s(n);return c.createElement("div",i({},A,{style:i(i({},v.container),a)}),c.createElement("textarea",{ref:function(t){return e._input=t},style:i(i(i({},v.editor),v.textarea),T),className:y+(d?" ".concat(d):""),id:o,value:n,onChange:this._handleChange,onKeyDown:this._handleKeyDown,onClick:k,onKeyUp:E,onFocus:C,onBlur:w,disabled:h,form:g,maxLength:p,minLength:f,name:m,placeholder:R,readOnly:x,required:_,autoFocus:u,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),c.createElement("pre",i({className:S,"aria-hidden":"true",style:i(i(i({},v.editor),v.highlight),T)},"string"==typeof D?{dangerouslySetInnerHTML:{__html:D+"<br />"}}:{children:D})),c.createElement("style",{type:"text/css",dangerouslySetInnerHTML:{__html:b}}))},t.defaultProps={tabSize:2,insertSpaces:!0,ignoreTabKey:!1,padding:0},t}(c.Component);t.default=x;var v={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}}},46962:(e,t,n)=>{const a=n(78776)();a.addRange(0,127),e.exports=a},60270:(e,t,n)=>{const a=n(78776)();a.addRange(48,57).addRange(65,70).addRange(97,102),e.exports=a},26969:(e,t,n)=>{const a=n(78776)(170,181,186,748,750,837,895,902,908,1369,1471,1479,1791,2042,2482,2510,2519,2556,2641,2654,2768,2929,2972,3024,3031,3165,3406,3517,3542,3661,3716,3749,3782,3789,3840,4152,4295,4301,4696,4800,6103,6108,6823,7418,8025,8027,8029,8126,8305,8319,8450,8455,8469,8484,8486,8488,8526,11559,11565,11631,11823,42963,43205,43259,43471,43712,43714,64318,67592,67644,69415,69826,70006,70106,70108,70199,70206,70280,70480,70487,70855,71232,71236,71352,71945,72161,72349,72768,73018,73027,73112,73648,94179,113822,119970,119995,120134,123214,125255,125259,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);a.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,705).addRange(710,721).addRange(736,740).addRange(880,884).addRange(886,887).addRange(890,893).addRange(904,906).addRange(910,929).addRange(931,1013).addRange(1015,1153).addRange(1162,1327).addRange(1329,1366).addRange(1376,1416).addRange(1456,1469).addRange(1473,1474).addRange(1476,1477).addRange(1488,1514).addRange(1519,1522).addRange(1552,1562).addRange(1568,1623).addRange(1625,1631).addRange(1646,1747).addRange(1749,1756).addRange(1761,1768).addRange(1773,1775).addRange(1786,1788).addRange(1808,1855).addRange(1869,1969).addRange(1994,2026).addRange(2036,2037).addRange(2048,2071).addRange(2074,2092).addRange(2112,2136).addRange(2144,2154).addRange(2160,2183).addRange(2185,2190).addRange(2208,2249).addRange(2260,2271).addRange(2275,2281).addRange(2288,2363).addRange(2365,2380).addRange(2382,2384).addRange(2389,2403).addRange(2417,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472),a.addRange(2474,2480).addRange(2486,2489).addRange(2493,2500).addRange(2503,2504).addRange(2507,2508).addRange(2524,2525).addRange(2527,2531).addRange(2544,2545).addRange(2561,2563).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2626).addRange(2631,2632).addRange(2635,2636).addRange(2649,2652).addRange(2672,2677).addRange(2689,2691).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2749,2757).addRange(2759,2761).addRange(2763,2764).addRange(2784,2787).addRange(2809,2812).addRange(2817,2819).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2877,2884).addRange(2887,2888).addRange(2891,2892).addRange(2902,2903).addRange(2908,2909).addRange(2911,2915).addRange(2946,2947).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970),a.addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3006,3010).addRange(3014,3016).addRange(3018,3020).addRange(3072,3075).addRange(3077,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3133,3140).addRange(3142,3144).addRange(3146,3148).addRange(3157,3158).addRange(3160,3162).addRange(3168,3171).addRange(3200,3203).addRange(3205,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3261,3268).addRange(3270,3272).addRange(3274,3276).addRange(3285,3286).addRange(3293,3294).addRange(3296,3299).addRange(3313,3314).addRange(3328,3340).addRange(3342,3344).addRange(3346,3386).addRange(3389,3396).addRange(3398,3400).addRange(3402,3404).addRange(3412,3415).addRange(3423,3427).addRange(3450,3455).addRange(3457,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3535,3540).addRange(3544,3551).addRange(3570,3571).addRange(3585,3642).addRange(3648,3654).addRange(3713,3714),a.addRange(3718,3722).addRange(3724,3747).addRange(3751,3769).addRange(3771,3773).addRange(3776,3780).addRange(3804,3807).addRange(3904,3911).addRange(3913,3948).addRange(3953,3969).addRange(3976,3991).addRange(3993,4028).addRange(4096,4150).addRange(4155,4159).addRange(4176,4239).addRange(4250,4253).addRange(4256,4293).addRange(4304,4346).addRange(4348,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4992,5007).addRange(5024,5109).addRange(5112,5117).addRange(5121,5740).addRange(5743,5759).addRange(5761,5786).addRange(5792,5866).addRange(5870,5880).addRange(5888,5907).addRange(5919,5939).addRange(5952,5971).addRange(5984,5996).addRange(5998,6e3).addRange(6002,6003).addRange(6016,6067).addRange(6070,6088).addRange(6176,6264).addRange(6272,6314).addRange(6320,6389).addRange(6400,6430),a.addRange(6432,6443).addRange(6448,6456).addRange(6480,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6656,6683).addRange(6688,6750).addRange(6753,6772).addRange(6847,6848).addRange(6860,6862).addRange(6912,6963).addRange(6965,6979).addRange(6981,6988).addRange(7040,7081).addRange(7084,7087).addRange(7098,7141).addRange(7143,7153).addRange(7168,7222).addRange(7245,7247).addRange(7258,7293).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7401,7404).addRange(7406,7411).addRange(7413,7414).addRange(7424,7615).addRange(7655,7668).addRange(7680,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124).addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8336,8348).addRange(8458,8467).addRange(8473,8477).addRange(8490,8493).addRange(8495,8505).addRange(8508,8511).addRange(8517,8521),a.addRange(8544,8584).addRange(9398,9449).addRange(11264,11492).addRange(11499,11502).addRange(11506,11507).addRange(11520,11557).addRange(11568,11623).addRange(11648,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(11744,11775).addRange(12293,12295).addRange(12321,12329).addRange(12337,12341).addRange(12344,12348).addRange(12353,12438).addRange(12445,12447).addRange(12449,12538).addRange(12540,12543).addRange(12549,12591).addRange(12593,12686).addRange(12704,12735).addRange(12784,12799).addRange(13312,19903).addRange(19968,42124).addRange(42192,42237).addRange(42240,42508).addRange(42512,42527).addRange(42538,42539).addRange(42560,42606).addRange(42612,42619).addRange(42623,42735).addRange(42775,42783).addRange(42786,42888).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43013).addRange(43015,43047).addRange(43072,43123).addRange(43136,43203).addRange(43250,43255).addRange(43261,43263).addRange(43274,43306).addRange(43312,43346),a.addRange(43360,43388).addRange(43392,43442).addRange(43444,43455).addRange(43488,43503).addRange(43514,43518).addRange(43520,43574).addRange(43584,43597).addRange(43616,43638).addRange(43642,43710).addRange(43739,43741).addRange(43744,43759).addRange(43762,43765).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43866).addRange(43868,43881).addRange(43888,44010).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64285,64296).addRange(64298,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64433).addRange(64467,64829).addRange(64848,64911).addRange(64914,64967).addRange(65008,65019).addRange(65136,65140).addRange(65142,65276).addRange(65313,65338).addRange(65345,65370).addRange(65382,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613),a.addRange(65616,65629).addRange(65664,65786).addRange(65856,65908).addRange(66176,66204).addRange(66208,66256).addRange(66304,66335).addRange(66349,66378).addRange(66384,66426).addRange(66432,66461).addRange(66464,66499).addRange(66504,66511).addRange(66513,66517).addRange(66560,66717).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67680,67702).addRange(67712,67742).addRange(67808,67826).addRange(67828,67829).addRange(67840,67861).addRange(67872,67897).addRange(67968,68023).addRange(68030,68031).addRange(68096,68099).addRange(68101,68102).addRange(68108,68115).addRange(68117,68119).addRange(68121,68149).addRange(68192,68220).addRange(68224,68252).addRange(68288,68295),a.addRange(68297,68324).addRange(68352,68405).addRange(68416,68437).addRange(68448,68466).addRange(68480,68497).addRange(68608,68680).addRange(68736,68786).addRange(68800,68850).addRange(68864,68903).addRange(69248,69289).addRange(69291,69292).addRange(69296,69297).addRange(69376,69404).addRange(69424,69445).addRange(69488,69505).addRange(69552,69572).addRange(69600,69622).addRange(69632,69701).addRange(69745,69749).addRange(69762,69816).addRange(69840,69864).addRange(69888,69938).addRange(69956,69959).addRange(69968,70002).addRange(70016,70079).addRange(70081,70084).addRange(70094,70095).addRange(70144,70161).addRange(70163,70196).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70312).addRange(70320,70376).addRange(70400,70403).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70461,70468).addRange(70471,70472).addRange(70475,70476).addRange(70493,70499).addRange(70656,70721).addRange(70723,70725).addRange(70727,70730).addRange(70751,70753).addRange(70784,70849).addRange(70852,70853),a.addRange(71040,71093).addRange(71096,71102).addRange(71128,71133).addRange(71168,71230).addRange(71296,71349).addRange(71424,71450).addRange(71453,71466).addRange(71488,71494).addRange(71680,71736).addRange(71840,71903).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71989).addRange(71991,71992).addRange(71995,71996).addRange(71999,72002).addRange(72096,72103).addRange(72106,72151).addRange(72154,72159).addRange(72163,72164).addRange(72192,72242).addRange(72245,72254).addRange(72272,72343).addRange(72368,72440).addRange(72704,72712).addRange(72714,72758).addRange(72760,72766).addRange(72818,72847).addRange(72850,72871).addRange(72873,72886).addRange(72960,72966).addRange(72968,72969).addRange(72971,73014).addRange(73020,73021).addRange(73023,73025).addRange(73030,73031).addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73104,73105).addRange(73107,73110).addRange(73440,73462).addRange(73728,74649).addRange(74752,74862).addRange(74880,75075).addRange(77712,77808).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766),a.addRange(92784,92862).addRange(92880,92909).addRange(92928,92975).addRange(92992,92995).addRange(93027,93047).addRange(93053,93071).addRange(93760,93823).addRange(93952,94026).addRange(94031,94087).addRange(94095,94111).addRange(94176,94177).addRange(94192,94193).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120512).addRange(120514,120538).addRange(120540,120570).addRange(120572,120596).addRange(120598,120628).addRange(120630,120654).addRange(120656,120686).addRange(120688,120712).addRange(120714,120744),a.addRange(120746,120770).addRange(120772,120779).addRange(122624,122654).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123136,123180).addRange(123191,123197).addRange(123536,123565).addRange(123584,123627).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125184,125251).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(127280,127305).addRange(127312,127337).addRange(127344,127369).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=a},22499:(e,t,n)=>{const a=n(78776)();a.addRange(0,1114111),e.exports=a},9213:(e,t,n)=>{const a=n(78776)(908,2142,2482,2519,2620,2641,2654,2768,2972,3024,3031,3165,3517,3530,3542,3716,3749,3782,4295,4301,4696,4800,6464,8025,8027,8029,11559,11565,42963,64318,64975,65279,65952,67592,67644,67903,69837,70280,70480,70487,71945,73018,73648,119970,119995,120134,123647,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590,129008,917505);a.addRange(0,887).addRange(890,895).addRange(900,906).addRange(910,929).addRange(931,1327).addRange(1329,1366).addRange(1369,1418).addRange(1421,1423).addRange(1425,1479).addRange(1488,1514).addRange(1519,1524).addRange(1536,1805).addRange(1807,1866).addRange(1869,1969).addRange(1984,2042).addRange(2045,2093).addRange(2096,2110).addRange(2112,2139).addRange(2144,2154).addRange(2160,2190).addRange(2192,2193).addRange(2200,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2492,2500).addRange(2503,2504).addRange(2507,2510).addRange(2524,2525).addRange(2527,2531).addRange(2534,2558).addRange(2561,2563).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2626).addRange(2631,2632).addRange(2635,2637).addRange(2649,2652).addRange(2662,2678).addRange(2689,2691).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736),a.addRange(2738,2739).addRange(2741,2745).addRange(2748,2757).addRange(2759,2761).addRange(2763,2765).addRange(2784,2787).addRange(2790,2801).addRange(2809,2815).addRange(2817,2819).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2876,2884).addRange(2887,2888).addRange(2891,2893).addRange(2901,2903).addRange(2908,2909).addRange(2911,2915).addRange(2918,2935).addRange(2946,2947).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3006,3010).addRange(3014,3016).addRange(3018,3021).addRange(3046,3066).addRange(3072,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3132,3140).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3160,3162).addRange(3168,3171).addRange(3174,3183).addRange(3191,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257),a.addRange(3260,3268).addRange(3270,3272).addRange(3274,3277).addRange(3285,3286).addRange(3293,3294).addRange(3296,3299).addRange(3302,3311).addRange(3313,3314).addRange(3328,3340).addRange(3342,3344).addRange(3346,3396).addRange(3398,3400).addRange(3402,3407).addRange(3412,3427).addRange(3430,3455).addRange(3457,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3535,3540).addRange(3544,3551).addRange(3558,3567).addRange(3570,3572).addRange(3585,3642).addRange(3647,3675).addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3773).addRange(3776,3780).addRange(3784,3789).addRange(3792,3801).addRange(3804,3807).addRange(3840,3911).addRange(3913,3948).addRange(3953,3991).addRange(3993,4028).addRange(4030,4044).addRange(4046,4058).addRange(4096,4293).addRange(4304,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805),a.addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4957,4988).addRange(4992,5017).addRange(5024,5109).addRange(5112,5117).addRange(5120,5788).addRange(5792,5880).addRange(5888,5909).addRange(5919,5942).addRange(5952,5971).addRange(5984,5996).addRange(5998,6e3).addRange(6002,6003).addRange(6016,6109).addRange(6112,6121).addRange(6128,6137).addRange(6144,6169).addRange(6176,6264).addRange(6272,6314).addRange(6320,6389).addRange(6400,6430).addRange(6432,6443).addRange(6448,6459).addRange(6468,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6608,6618).addRange(6622,6683).addRange(6686,6750).addRange(6752,6780).addRange(6783,6793).addRange(6800,6809).addRange(6816,6829).addRange(6832,6862).addRange(6912,6988).addRange(6992,7038).addRange(7040,7155).addRange(7164,7223).addRange(7227,7241).addRange(7245,7304).addRange(7312,7354).addRange(7357,7367).addRange(7376,7418).addRange(7424,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013),a.addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8132).addRange(8134,8147).addRange(8150,8155).addRange(8157,8175).addRange(8178,8180).addRange(8182,8190).addRange(8192,8292).addRange(8294,8305).addRange(8308,8334).addRange(8336,8348).addRange(8352,8384).addRange(8400,8432).addRange(8448,8587).addRange(8592,9254).addRange(9280,9290).addRange(9312,11123).addRange(11126,11157).addRange(11159,11507).addRange(11513,11557).addRange(11568,11623).addRange(11631,11632).addRange(11647,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(11744,11869).addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12272,12283).addRange(12288,12351).addRange(12353,12438).addRange(12441,12543).addRange(12549,12591).addRange(12593,12686).addRange(12688,12771).addRange(12784,12830).addRange(12832,42124).addRange(42128,42182).addRange(42192,42539).addRange(42560,42743).addRange(42752,42954).addRange(42960,42961),a.addRange(42965,42969).addRange(42994,43052).addRange(43056,43065).addRange(43072,43127).addRange(43136,43205).addRange(43214,43225).addRange(43232,43347).addRange(43359,43388).addRange(43392,43469).addRange(43471,43481).addRange(43486,43518).addRange(43520,43574).addRange(43584,43597).addRange(43600,43609).addRange(43612,43714).addRange(43739,43766).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43883).addRange(43888,44013).addRange(44016,44025).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(55296,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64285,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64450).addRange(64467,64911).addRange(64914,64967).addRange(65008,65049).addRange(65056,65106).addRange(65108,65126).addRange(65128,65131).addRange(65136,65140).addRange(65142,65276).addRange(65281,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65504,65510).addRange(65512,65518),a.addRange(65529,65533).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65792,65794).addRange(65799,65843).addRange(65847,65934).addRange(65936,65948).addRange(66e3,66045).addRange(66176,66204).addRange(66208,66256).addRange(66272,66299).addRange(66304,66339).addRange(66349,66378).addRange(66384,66426).addRange(66432,66461).addRange(66463,66499).addRange(66504,66517).addRange(66560,66717).addRange(66720,66729).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66927,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67671,67742).addRange(67751,67759).addRange(67808,67826).addRange(67828,67829).addRange(67835,67867),a.addRange(67871,67897).addRange(67968,68023).addRange(68028,68047).addRange(68050,68099).addRange(68101,68102).addRange(68108,68115).addRange(68117,68119).addRange(68121,68149).addRange(68152,68154).addRange(68159,68168).addRange(68176,68184).addRange(68192,68255).addRange(68288,68326).addRange(68331,68342).addRange(68352,68405).addRange(68409,68437).addRange(68440,68466).addRange(68472,68497).addRange(68505,68508).addRange(68521,68527).addRange(68608,68680).addRange(68736,68786).addRange(68800,68850).addRange(68858,68903).addRange(68912,68921).addRange(69216,69246).addRange(69248,69289).addRange(69291,69293).addRange(69296,69297).addRange(69376,69415).addRange(69424,69465).addRange(69488,69513).addRange(69552,69579).addRange(69600,69622).addRange(69632,69709).addRange(69714,69749).addRange(69759,69826).addRange(69840,69864).addRange(69872,69881).addRange(69888,69940).addRange(69942,69959).addRange(69968,70006).addRange(70016,70111).addRange(70113,70132).addRange(70144,70161).addRange(70163,70206).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70313).addRange(70320,70378),a.addRange(70384,70393).addRange(70400,70403).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70459,70468).addRange(70471,70472).addRange(70475,70477).addRange(70493,70499).addRange(70502,70508).addRange(70512,70516).addRange(70656,70747).addRange(70749,70753).addRange(70784,70855).addRange(70864,70873).addRange(71040,71093).addRange(71096,71133).addRange(71168,71236).addRange(71248,71257).addRange(71264,71276).addRange(71296,71353).addRange(71360,71369).addRange(71424,71450).addRange(71453,71467).addRange(71472,71494).addRange(71680,71739).addRange(71840,71922).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71989).addRange(71991,71992).addRange(71995,72006).addRange(72016,72025).addRange(72096,72103).addRange(72106,72151).addRange(72154,72164).addRange(72192,72263).addRange(72272,72354).addRange(72368,72440).addRange(72704,72712).addRange(72714,72758).addRange(72760,72773).addRange(72784,72812).addRange(72816,72847).addRange(72850,72871).addRange(72873,72886).addRange(72960,72966),a.addRange(72968,72969).addRange(72971,73014).addRange(73020,73021).addRange(73023,73031).addRange(73040,73049).addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73104,73105).addRange(73107,73112).addRange(73120,73129).addRange(73440,73464).addRange(73664,73713).addRange(73727,74649).addRange(74752,74862).addRange(74864,74868).addRange(74880,75075).addRange(77712,77810).addRange(77824,78894).addRange(78896,78904).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92768,92777).addRange(92782,92862).addRange(92864,92873).addRange(92880,92909).addRange(92912,92917).addRange(92928,92997).addRange(93008,93017).addRange(93019,93025).addRange(93027,93047).addRange(93053,93071).addRange(93760,93850).addRange(93952,94026).addRange(94031,94087).addRange(94095,94111).addRange(94176,94180).addRange(94192,94193).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788),a.addRange(113792,113800).addRange(113808,113817).addRange(113820,113827).addRange(118528,118573).addRange(118576,118598).addRange(118608,118723).addRange(118784,119029).addRange(119040,119078).addRange(119081,119274).addRange(119296,119365).addRange(119520,119539).addRange(119552,119638).addRange(119648,119672).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120779).addRange(120782,121483).addRange(121499,121503).addRange(121505,121519).addRange(122624,122654).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123136,123180).addRange(123184,123197).addRange(123200,123209).addRange(123214,123215).addRange(123536,123566).addRange(123584,123641).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125127,125142),a.addRange(125184,125259).addRange(125264,125273).addRange(125278,125279).addRange(126065,126132).addRange(126209,126269).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(126704,126705).addRange(126976,127019).addRange(127024,127123).addRange(127136,127150).addRange(127153,127167).addRange(127169,127183).addRange(127185,127221).addRange(127232,127405).addRange(127462,127490).addRange(127504,127547).addRange(127552,127560).addRange(127568,127569).addRange(127584,127589).addRange(127744,128727).addRange(128733,128748).addRange(128752,128764).addRange(128768,128883).addRange(128896,128984).addRange(128992,129003).addRange(129024,129035).addRange(129040,129095).addRange(129104,129113).addRange(129120,129159).addRange(129168,129197).addRange(129200,129201).addRange(129280,129619).addRange(129632,129645).addRange(129648,129652).addRange(129656,129660),a.addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782).addRange(129792,129938).addRange(129940,129994).addRange(130032,130041).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546).addRange(917536,917631).addRange(917760,917999).addRange(983040,1048573).addRange(1048576,1114109),e.exports=a},38838:(e,t,n)=>{const a=n(78776)(1564);a.addRange(8206,8207).addRange(8234,8238).addRange(8294,8297),e.exports=a},5720:(e,t,n)=>{const a=n(78776)(60,62,91,93,123,125,171,187,8512,8721,8740,8742,8761,8802,8856,10176,10680,10697,10721,10788,10790,10793,10972,10974,10995,11005,11262,65308,65310,65339,65341,65371,65373,120539,120597,120655,120713,120771);a.addRange(40,41).addRange(3898,3901).addRange(5787,5788).addRange(8249,8250).addRange(8261,8262).addRange(8317,8318).addRange(8333,8334).addRange(8705,8708).addRange(8712,8717).addRange(8725,8726).addRange(8730,8733).addRange(8735,8738).addRange(8747,8755).addRange(8763,8780).addRange(8786,8789).addRange(8799,8800).addRange(8804,8811).addRange(8814,8844).addRange(8847,8850).addRange(8866,8867).addRange(8870,8888).addRange(8894,8895).addRange(8905,8909).addRange(8912,8913).addRange(8918,8941).addRange(8944,8959).addRange(8968,8971).addRange(8992,8993).addRange(9001,9002).addRange(10088,10101).addRange(10179,10182).addRange(10184,10185).addRange(10187,10189).addRange(10195,10198).addRange(10204,10206).addRange(10210,10223).addRange(10627,10648).addRange(10651,10656).addRange(10658,10671).addRange(10688,10693).addRange(10702,10706).addRange(10708,10709).addRange(10712,10716).addRange(10723,10725).addRange(10728,10729).addRange(10740,10745).addRange(10748,10749).addRange(10762,10780).addRange(10782,10785).addRange(10795,10798).addRange(10804,10805),a.addRange(10812,10814).addRange(10839,10840).addRange(10852,10853).addRange(10858,10861).addRange(10863,10864).addRange(10867,10868).addRange(10873,10915).addRange(10918,10925).addRange(10927,10966).addRange(10978,10982).addRange(10988,10990).addRange(10999,11003).addRange(11778,11781).addRange(11785,11786).addRange(11788,11789).addRange(11804,11805).addRange(11808,11817).addRange(11861,11868).addRange(12296,12305).addRange(12308,12315).addRange(65113,65118).addRange(65124,65125).addRange(65288,65289).addRange(65375,65376).addRange(65378,65379),e.exports=a},49965:(e,t,n)=>{const a=n(78776)(39,46,58,94,96,168,173,175,180,890,903,1369,1375,1471,1479,1524,1564,1600,1648,1807,1809,2042,2045,2184,2362,2364,2381,2417,2433,2492,2509,2558,2620,2641,2677,2748,2765,2817,2876,2879,2893,2946,3008,3021,3072,3076,3132,3201,3260,3263,3270,3405,3457,3530,3542,3633,3761,3782,3893,3895,3897,4038,4226,4237,4253,4348,6086,6103,6109,6211,6313,6450,6683,6742,6752,6754,6783,6823,6964,6972,6978,7142,7149,7405,7412,7544,8125,8228,8231,8305,8319,11631,11647,11823,12293,12347,40981,42508,42623,42864,43010,43014,43019,43052,43263,43443,43471,43587,43596,43632,43644,43696,43713,43741,43766,44005,44008,44013,64286,65043,65106,65109,65279,65287,65294,65306,65342,65344,65392,65507,66045,66272,68159,69633,69744,69821,69826,69837,70003,70095,70196,70206,70367,70464,70726,70750,70842,71229,71339,71341,71351,71998,72003,72160,72263,72767,73018,73031,73109,73111,94031,121461,121476,123566,917505);a.addRange(183,184).addRange(688,879).addRange(884,885).addRange(900,901).addRange(1155,1161).addRange(1425,1469).addRange(1473,1474).addRange(1476,1477).addRange(1536,1541).addRange(1552,1562).addRange(1611,1631).addRange(1750,1757).addRange(1759,1768).addRange(1770,1773).addRange(1840,1866).addRange(1958,1968).addRange(2027,2037).addRange(2070,2093).addRange(2137,2139).addRange(2192,2193).addRange(2200,2207).addRange(2249,2306).addRange(2369,2376).addRange(2385,2391).addRange(2402,2403).addRange(2497,2500).addRange(2530,2531).addRange(2561,2562).addRange(2625,2626).addRange(2631,2632).addRange(2635,2637).addRange(2672,2673).addRange(2689,2690).addRange(2753,2757).addRange(2759,2760).addRange(2786,2787).addRange(2810,2815).addRange(2881,2884).addRange(2901,2902).addRange(2914,2915).addRange(3134,3136).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3170,3171).addRange(3276,3277).addRange(3298,3299).addRange(3328,3329).addRange(3387,3388).addRange(3393,3396).addRange(3426,3427),a.addRange(3538,3540).addRange(3636,3642).addRange(3654,3662).addRange(3764,3772).addRange(3784,3789).addRange(3864,3865).addRange(3953,3966).addRange(3968,3972).addRange(3974,3975).addRange(3981,3991).addRange(3993,4028).addRange(4141,4144).addRange(4146,4151).addRange(4153,4154).addRange(4157,4158).addRange(4184,4185).addRange(4190,4192).addRange(4209,4212).addRange(4229,4230).addRange(4957,4959).addRange(5906,5908).addRange(5938,5939).addRange(5970,5971).addRange(6002,6003).addRange(6068,6069).addRange(6071,6077).addRange(6089,6099).addRange(6155,6159).addRange(6277,6278).addRange(6432,6434).addRange(6439,6440).addRange(6457,6459).addRange(6679,6680).addRange(6744,6750).addRange(6757,6764).addRange(6771,6780).addRange(6832,6862).addRange(6912,6915).addRange(6966,6970).addRange(7019,7027).addRange(7040,7041).addRange(7074,7077).addRange(7080,7081).addRange(7083,7085).addRange(7144,7145).addRange(7151,7153).addRange(7212,7219).addRange(7222,7223).addRange(7288,7293).addRange(7376,7378).addRange(7380,7392),a.addRange(7394,7400).addRange(7416,7417).addRange(7468,7530).addRange(7579,7679).addRange(8127,8129).addRange(8141,8143).addRange(8157,8159).addRange(8173,8175).addRange(8189,8190).addRange(8203,8207).addRange(8216,8217).addRange(8234,8238).addRange(8288,8292).addRange(8294,8303).addRange(8336,8348).addRange(8400,8432).addRange(11388,11389).addRange(11503,11505).addRange(11744,11775).addRange(12330,12333).addRange(12337,12341).addRange(12441,12446).addRange(12540,12542).addRange(42232,42237).addRange(42607,42610).addRange(42612,42621).addRange(42652,42655).addRange(42736,42737).addRange(42752,42785).addRange(42888,42890).addRange(42994,42996).addRange(43e3,43001).addRange(43045,43046).addRange(43204,43205).addRange(43232,43249).addRange(43302,43309).addRange(43335,43345).addRange(43392,43394).addRange(43446,43449).addRange(43452,43453).addRange(43493,43494).addRange(43561,43566).addRange(43569,43570).addRange(43573,43574).addRange(43698,43700).addRange(43703,43704).addRange(43710,43711).addRange(43756,43757).addRange(43763,43764).addRange(43867,43871).addRange(43881,43883),a.addRange(64434,64450).addRange(65024,65039).addRange(65056,65071).addRange(65438,65439).addRange(65529,65531).addRange(66422,66426).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(68097,68099).addRange(68101,68102).addRange(68108,68111).addRange(68152,68154).addRange(68325,68326).addRange(68900,68903).addRange(69291,69292).addRange(69446,69456).addRange(69506,69509).addRange(69688,69702).addRange(69747,69748).addRange(69759,69761).addRange(69811,69814).addRange(69817,69818).addRange(69888,69890).addRange(69927,69931).addRange(69933,69940).addRange(70016,70017).addRange(70070,70078).addRange(70089,70092).addRange(70191,70193).addRange(70198,70199).addRange(70371,70378).addRange(70400,70401).addRange(70459,70460).addRange(70502,70508).addRange(70512,70516).addRange(70712,70719).addRange(70722,70724).addRange(70835,70840).addRange(70847,70848).addRange(70850,70851).addRange(71090,71093).addRange(71100,71101).addRange(71103,71104).addRange(71132,71133).addRange(71219,71226).addRange(71231,71232).addRange(71344,71349).addRange(71453,71455).addRange(71458,71461).addRange(71463,71467),a.addRange(71727,71735).addRange(71737,71738).addRange(71995,71996).addRange(72148,72151).addRange(72154,72155).addRange(72193,72202).addRange(72243,72248).addRange(72251,72254).addRange(72273,72278).addRange(72281,72283).addRange(72330,72342).addRange(72344,72345).addRange(72752,72758).addRange(72760,72765).addRange(72850,72871).addRange(72874,72880).addRange(72882,72883).addRange(72885,72886).addRange(73009,73014).addRange(73020,73021).addRange(73023,73029).addRange(73104,73105).addRange(73459,73460).addRange(78896,78904).addRange(92912,92916).addRange(92976,92982).addRange(92992,92995).addRange(94095,94111).addRange(94176,94177).addRange(94179,94180).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(113821,113822).addRange(113824,113827).addRange(118528,118573).addRange(118576,118598).addRange(119143,119145).addRange(119155,119170).addRange(119173,119179).addRange(119210,119213).addRange(119362,119364).addRange(121344,121398).addRange(121403,121452).addRange(121499,121503).addRange(121505,121519).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922),a.addRange(123184,123197).addRange(123628,123631).addRange(125136,125142).addRange(125252,125259).addRange(127995,127999).addRange(917536,917631).addRange(917760,917999),e.exports=a},32948:(e,t,n)=>{const a=n(78776)(170,181,186,837,895,902,908,4295,4301,8025,8027,8029,8126,8305,8319,8450,8455,8469,8484,8486,8488,8505,8526,11559,11565,42963,67456,119970,119995,120134);a.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,442).addRange(444,447).addRange(452,659).addRange(661,696).addRange(704,705).addRange(736,740).addRange(880,883).addRange(886,887).addRange(890,893).addRange(904,906).addRange(910,929).addRange(931,1013).addRange(1015,1153).addRange(1162,1327).addRange(1329,1366).addRange(1376,1416).addRange(4256,4293).addRange(4304,4346).addRange(4349,4351).addRange(5024,5109).addRange(5112,5117).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7424,7615).addRange(7680,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124).addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8336,8348).addRange(8458,8467).addRange(8473,8477).addRange(8490,8493).addRange(8495,8500).addRange(8508,8511).addRange(8517,8521),a.addRange(8544,8575).addRange(8579,8580).addRange(9398,9449).addRange(11264,11492).addRange(11499,11502).addRange(11506,11507).addRange(11520,11557).addRange(42560,42605).addRange(42624,42653).addRange(42786,42887).addRange(42891,42894).addRange(42896,42954).addRange(42960,42961).addRange(42965,42969).addRange(42997,42998).addRange(43e3,43002).addRange(43824,43866).addRange(43868,43880).addRange(43888,43967).addRange(64256,64262).addRange(64275,64279).addRange(65313,65338).addRange(65345,65370).addRange(66560,66639).addRange(66736,66771).addRange(66776,66811).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67459,67461).addRange(67463,67504).addRange(67506,67514).addRange(68736,68786).addRange(68800,68850).addRange(71840,71903).addRange(93760,93823).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084),a.addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120512).addRange(120514,120538).addRange(120540,120570).addRange(120572,120596).addRange(120598,120628).addRange(120630,120654).addRange(120656,120686).addRange(120688,120712).addRange(120714,120744).addRange(120746,120770).addRange(120772,120779).addRange(122624,122633).addRange(122635,122654).addRange(125184,125251).addRange(127280,127305).addRange(127312,127337).addRange(127344,127369),e.exports=a},65314:(e,t,n)=>{const a=n(78776)(181,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,379,381,383,388,418,420,425,428,437,444,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,500,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,577,584,586,588,590,837,880,882,886,895,902,908,962,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1015,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1415,4295,4301,7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,8025,8027,8029,8031,8486,8498,8579,11360,11367,11369,11371,11378,11381,11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,42934,42936,42938,42940,42942,42944,42946,42953,42960,42966,42968,42997);a.addRange(65,90).addRange(192,214).addRange(216,223).addRange(329,330).addRange(376,377).addRange(385,386).addRange(390,391).addRange(393,395).addRange(398,401).addRange(403,404).addRange(406,408).addRange(412,413).addRange(415,416).addRange(422,423).addRange(430,431).addRange(433,435).addRange(439,440).addRange(452,453).addRange(455,456).addRange(458,459).addRange(497,498).addRange(502,504).addRange(570,571).addRange(573,574).addRange(579,582).addRange(904,906).addRange(910,911).addRange(913,929).addRange(931,939).addRange(975,977).addRange(981,982).addRange(1008,1009).addRange(1012,1013).addRange(1017,1018).addRange(1021,1071).addRange(1216,1217).addRange(1329,1366).addRange(4256,4293).addRange(5112,5117).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7834,7835).addRange(7944,7951).addRange(7960,7965).addRange(7976,7983).addRange(7992,7999).addRange(8008,8013).addRange(8040,8047).addRange(8064,8111).addRange(8114,8116),a.addRange(8119,8124).addRange(8130,8132).addRange(8135,8140).addRange(8152,8155).addRange(8168,8172).addRange(8178,8180).addRange(8183,8188).addRange(8490,8491).addRange(8544,8559).addRange(9398,9423).addRange(11264,11311).addRange(11362,11364).addRange(11373,11376).addRange(11390,11392).addRange(42877,42878).addRange(42922,42926).addRange(42928,42932).addRange(42948,42951).addRange(43888,43967).addRange(64256,64262).addRange(64275,64279).addRange(65313,65338).addRange(66560,66599).addRange(66736,66771).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(68736,68786).addRange(71840,71871).addRange(93760,93791).addRange(125184,125217),e.exports=a},78562:(e,t,n)=>{const a=n(78776)(181,447,601,611,623,629,637,640,658,837,895,902,908,4295,4301,7545,7549,7566,7838,8025,8027,8029,8126,8486,8498,8526,11559,11565,43859);a.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,311).addRange(313,396).addRange(398,410).addRange(412,425).addRange(428,441).addRange(444,445).addRange(452,544).addRange(546,563).addRange(570,596).addRange(598,599).addRange(603,604).addRange(608,609).addRange(613,614).addRange(616,620).addRange(625,626).addRange(642,643).addRange(647,652).addRange(669,670).addRange(880,883).addRange(886,887).addRange(891,893).addRange(904,906).addRange(910,929).addRange(931,977).addRange(981,1013).addRange(1015,1019).addRange(1021,1153).addRange(1162,1327).addRange(1329,1366).addRange(1377,1415).addRange(4256,4293).addRange(4304,4346).addRange(4349,4351).addRange(5024,5109).addRange(5112,5117).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7680,7835).addRange(7840,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124),a.addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8490,8491).addRange(8544,8575).addRange(8579,8580).addRange(9398,9449).addRange(11264,11376).addRange(11378,11379).addRange(11381,11382).addRange(11390,11491).addRange(11499,11502).addRange(11506,11507).addRange(11520,11557).addRange(42560,42605).addRange(42624,42651).addRange(42786,42799).addRange(42802,42863).addRange(42873,42887).addRange(42891,42893).addRange(42896,42900).addRange(42902,42926).addRange(42928,42954).addRange(42960,42961).addRange(42966,42969).addRange(42997,42998).addRange(43888,43967).addRange(64256,64262).addRange(64275,64279).addRange(65313,65338).addRange(65345,65370).addRange(66560,66639).addRange(66736,66771).addRange(66776,66811).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(68736,68786).addRange(68800,68850).addRange(71840,71903).addRange(93760,93823).addRange(125184,125251),e.exports=a},12104:(e,t,n)=>{const a=n(78776)(256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,379,381,388,418,420,425,428,437,444,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,500,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,577,584,586,588,590,880,882,886,895,902,908,975,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,4295,4301,7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,8025,8027,8029,8031,8486,8498,8579,11360,11367,11369,11371,11378,11381,11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,42934,42936,42938,42940,42942,42944,42946,42953,42960,42966,42968,42997);a.addRange(65,90).addRange(192,214).addRange(216,222).addRange(376,377).addRange(385,386).addRange(390,391).addRange(393,395).addRange(398,401).addRange(403,404).addRange(406,408).addRange(412,413).addRange(415,416).addRange(422,423).addRange(430,431).addRange(433,435).addRange(439,440).addRange(452,453).addRange(455,456).addRange(458,459).addRange(497,498).addRange(502,504).addRange(570,571).addRange(573,574).addRange(579,582).addRange(904,906).addRange(910,911).addRange(913,929).addRange(931,939).addRange(1017,1018).addRange(1021,1071).addRange(1216,1217).addRange(1329,1366).addRange(4256,4293).addRange(5024,5109).addRange(7312,7354).addRange(7357,7359).addRange(7944,7951).addRange(7960,7965).addRange(7976,7983).addRange(7992,7999).addRange(8008,8013).addRange(8040,8047).addRange(8072,8079).addRange(8088,8095).addRange(8104,8111).addRange(8120,8124).addRange(8136,8140).addRange(8152,8155).addRange(8168,8172).addRange(8184,8188).addRange(8490,8491),a.addRange(8544,8559).addRange(9398,9423).addRange(11264,11311).addRange(11362,11364).addRange(11373,11376).addRange(11390,11392).addRange(42877,42878).addRange(42922,42926).addRange(42928,42932).addRange(42948,42951).addRange(65313,65338).addRange(66560,66599).addRange(66736,66771).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(68736,68786).addRange(71840,71871).addRange(93760,93791).addRange(125184,125217),e.exports=a},41347:(e,t,n)=>{const a=n(78776)(160,168,170,173,175,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,310,313,315,317,323,325,327,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,379,381,383,388,418,420,425,428,437,444,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,577,584,586,588,590,847,880,882,884,886,890,908,962,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1015,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1415,1564,2527,2611,2614,2654,3635,3763,3852,3907,3917,3922,3927,3932,3945,3955,3969,3987,3997,4002,4007,4012,4025,4295,4301,4348,7544,7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,8025,8027,8029,8031,8049,8051,8053,8055,8057,8059,8061,8147,8163,8209,8215,8252,8254,8279,8360,8484,8486,8488,8579,8585,10764,10972,11360,11367,11369,11371,11378,11381,11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,11631,11935,12019,12288,12342,12447,12543,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42864,42873,42875,42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,42934,42936,42938,42940,42942,42944,42946,42953,42960,42966,42968,43881,64016,64018,64032,64034,64285,64318,65140,65279,119970,119995,120134,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590,127376);a.addRange(65,90).addRange(178,181).addRange(184,186).addRange(188,190).addRange(192,214).addRange(216,223).addRange(306,308).addRange(319,321).addRange(329,330).addRange(376,377).addRange(385,386).addRange(390,391).addRange(393,395).addRange(398,401).addRange(403,404).addRange(406,408).addRange(412,413).addRange(415,416).addRange(422,423).addRange(430,431).addRange(433,435).addRange(439,440).addRange(452,461).addRange(497,500).addRange(502,504).addRange(570,571).addRange(573,574).addRange(579,582).addRange(688,696).addRange(728,733).addRange(736,740).addRange(832,833).addRange(835,837).addRange(894,895).addRange(900,906).addRange(910,911).addRange(913,929).addRange(931,939).addRange(975,982).addRange(1008,1010).addRange(1012,1013).addRange(1017,1018).addRange(1021,1071).addRange(1216,1217).addRange(1329,1366).addRange(1653,1656).addRange(2392,2399).addRange(2524,2525).addRange(2649,2651).addRange(2908,2909).addRange(3804,3805),a.addRange(3957,3961).addRange(4256,4293).addRange(4447,4448).addRange(5112,5117).addRange(6068,6069).addRange(6155,6159).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7468,7470).addRange(7472,7482).addRange(7484,7501).addRange(7503,7530).addRange(7579,7615).addRange(7834,7835).addRange(7944,7951).addRange(7960,7965).addRange(7976,7983).addRange(7992,7999).addRange(8008,8013).addRange(8040,8047).addRange(8064,8111).addRange(8114,8116).addRange(8119,8132).addRange(8135,8143).addRange(8152,8155).addRange(8157,8159).addRange(8168,8175).addRange(8178,8180).addRange(8183,8190).addRange(8192,8207).addRange(8228,8230).addRange(8234,8239).addRange(8243,8244).addRange(8246,8247).addRange(8263,8265).addRange(8287,8305).addRange(8308,8334).addRange(8336,8348).addRange(8448,8451).addRange(8453,8455).addRange(8457,8467).addRange(8469,8470).addRange(8473,8477).addRange(8480,8482).addRange(8490,8493).addRange(8495,8505).addRange(8507,8512).addRange(8517,8521).addRange(8528,8575).addRange(8748,8749),a.addRange(8751,8752).addRange(9001,9002).addRange(9312,9450).addRange(10868,10870).addRange(11264,11311).addRange(11362,11364).addRange(11373,11376).addRange(11388,11392).addRange(12032,12245).addRange(12344,12346).addRange(12443,12444).addRange(12593,12686).addRange(12690,12703).addRange(12800,12830).addRange(12832,12871).addRange(12880,12926).addRange(12928,13311).addRange(42652,42653).addRange(42877,42878).addRange(42922,42926).addRange(42928,42932).addRange(42948,42951).addRange(42994,42997).addRange(43e3,43001).addRange(43868,43871).addRange(43888,43967).addRange(63744,64013).addRange(64021,64030).addRange(64037,64038).addRange(64042,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64287,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64433).addRange(64467,64829).addRange(64848,64911).addRange(64914,64967).addRange(65008,65020).addRange(65024,65049).addRange(65072,65092).addRange(65095,65106).addRange(65108,65126).addRange(65128,65131).addRange(65136,65138).addRange(65142,65276).addRange(65281,65470).addRange(65474,65479),a.addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65504,65510).addRange(65512,65518).addRange(65520,65528).addRange(66560,66599).addRange(66736,66771).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(67457,67461).addRange(67463,67504).addRange(67506,67514).addRange(68736,68786).addRange(71840,71871).addRange(93760,93791).addRange(113824,113827).addRange(119134,119140).addRange(119155,119162).addRange(119227,119232).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120779).addRange(120782,120831).addRange(125184,125217).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578),a.addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(127232,127242).addRange(127248,127278).addRange(127280,127311).addRange(127338,127340).addRange(127488,127490).addRange(127504,127547).addRange(127552,127560).addRange(127568,127569).addRange(130032,130041).addRange(194560,195101).addRange(917504,921599),e.exports=a},50589:(e,t,n)=>{const a=n(78776)(181,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,387,389,392,396,402,405,414,417,419,421,424,429,432,436,438,441,445,447,452,460,462,464,466,468,470,472,474,479,481,483,485,487,489,491,493,499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,578,583,585,587,589,601,611,623,629,637,640,658,837,881,883,887,912,985,987,989,991,993,995,997,999,1001,1003,1005,1013,1016,1019,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,8126,8526,8580,11361,11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42967,42969,42998,43859);a.addRange(97,122).addRange(223,246).addRange(248,255).addRange(328,329).addRange(382,384).addRange(409,410).addRange(454,455).addRange(457,458).addRange(476,477).addRange(495,497).addRange(575,576).addRange(591,596).addRange(598,599).addRange(603,604).addRange(608,609).addRange(613,614).addRange(616,620).addRange(625,626).addRange(642,643).addRange(647,652).addRange(669,670).addRange(891,893).addRange(940,974).addRange(976,977).addRange(981,983).addRange(1007,1011).addRange(1072,1119).addRange(1230,1231).addRange(1377,1415).addRange(5112,5117).addRange(7296,7304).addRange(7829,7835).addRange(7935,7943).addRange(7952,7957).addRange(7968,7975).addRange(7984,7991).addRange(8e3,8005).addRange(8016,8023).addRange(8032,8039).addRange(8048,8061).addRange(8064,8071).addRange(8080,8087).addRange(8096,8103).addRange(8112,8116).addRange(8118,8119).addRange(8130,8132).addRange(8134,8135).addRange(8144,8147).addRange(8150,8151).addRange(8160,8167).addRange(8178,8180),a.addRange(8182,8183).addRange(8560,8575).addRange(9424,9449).addRange(11312,11359).addRange(11365,11366).addRange(11520,11557).addRange(42899,42900).addRange(43888,43967).addRange(64256,64262).addRange(64275,64279).addRange(65345,65370).addRange(66600,66639).addRange(66776,66811).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(68800,68850).addRange(71872,71903).addRange(93792,93823).addRange(125218,125251),e.exports=a},50046:(e,t,n)=>{const a=n(78776)(181,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,387,389,392,396,402,405,414,417,419,421,424,429,432,436,438,441,445,447,462,464,466,468,470,472,474,479,481,483,485,487,489,491,493,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,578,583,585,587,589,601,611,623,629,637,640,658,837,881,883,887,912,985,987,989,991,993,995,997,999,1001,1003,1005,1013,1016,1019,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,8124,8126,8140,8188,8526,8580,11361,11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42967,42969,42998,43859);a.addRange(97,122).addRange(223,246).addRange(248,255).addRange(328,329).addRange(382,384).addRange(409,410).addRange(453,454).addRange(456,457).addRange(459,460).addRange(476,477).addRange(495,496).addRange(498,499).addRange(575,576).addRange(591,596).addRange(598,599).addRange(603,604).addRange(608,609).addRange(613,614).addRange(616,620).addRange(625,626).addRange(642,643).addRange(647,652).addRange(669,670).addRange(891,893).addRange(940,974).addRange(976,977).addRange(981,983).addRange(1007,1011).addRange(1072,1119).addRange(1230,1231).addRange(1377,1415).addRange(4304,4346).addRange(4349,4351).addRange(5112,5117).addRange(7296,7304).addRange(7829,7835).addRange(7935,7943).addRange(7952,7957).addRange(7968,7975).addRange(7984,7991).addRange(8e3,8005).addRange(8016,8023).addRange(8032,8039).addRange(8048,8061).addRange(8064,8116).addRange(8118,8119).addRange(8130,8132).addRange(8134,8135).addRange(8144,8147).addRange(8150,8151).addRange(8160,8167),a.addRange(8178,8180).addRange(8182,8183).addRange(8560,8575).addRange(9424,9449).addRange(11312,11359).addRange(11365,11366).addRange(11520,11557).addRange(42899,42900).addRange(43888,43967).addRange(64256,64262).addRange(64275,64279).addRange(65345,65370).addRange(66600,66639).addRange(66776,66811).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(68800,68850).addRange(71872,71903).addRange(93792,93823).addRange(125218,125251),e.exports=a},77336:(e,t,n)=>{const a=n(78776)(45,1418,1470,5120,6150,8275,8315,8331,8722,11799,11802,11840,11869,12316,12336,12448,65112,65123,65293,69293);a.addRange(8208,8213).addRange(11834,11835).addRange(65073,65074),e.exports=a},32016:(e,t,n)=>{const a=n(78776)(173,847,1564,12644,65279,65440);a.addRange(4447,4448).addRange(6068,6069).addRange(6155,6159).addRange(8203,8207).addRange(8234,8238).addRange(8288,8303).addRange(65024,65039).addRange(65520,65528).addRange(113824,113827).addRange(119155,119162).addRange(917504,921599),e.exports=a},42339:(e,t,n)=>{const a=n(78776)(329,1651,3959,3961,917505);a.addRange(6051,6052).addRange(8298,8303).addRange(9001,9002),e.exports=a},97707:(e,t,n)=>{const a=n(78776)(94,96,168,175,180,890,1369,1471,1476,2364,2381,2417,2492,2509,2620,2637,2748,2765,2876,2893,2901,3021,3132,3149,3260,3277,3405,3530,3662,3770,3893,3895,3897,4038,4151,4239,6109,6783,6964,6980,7405,7412,8125,11823,12540,42607,42623,43204,43347,43443,43456,43493,43766,64286,65342,65344,65392,65507,66272,69702,69744,70003,70080,70460,70477,70722,70726,71231,71467,72003,72160,72244,72263,72345,72767,73026,73111,123566);a.addRange(183,184).addRange(688,846).addRange(848,855).addRange(861,866).addRange(884,885).addRange(900,901).addRange(1155,1159).addRange(1425,1441).addRange(1443,1469).addRange(1473,1474).addRange(1611,1618).addRange(1623,1624).addRange(1759,1760).addRange(1765,1766).addRange(1770,1772).addRange(1840,1866).addRange(1958,1968).addRange(2027,2037).addRange(2072,2073).addRange(2200,2207).addRange(2249,2258).addRange(2275,2302).addRange(2385,2388).addRange(2813,2815).addRange(3387,3388).addRange(3655,3660).addRange(3784,3788).addRange(3864,3865).addRange(3902,3903).addRange(3970,3972).addRange(3974,3975).addRange(4153,4154).addRange(4195,4196).addRange(4201,4205).addRange(4231,4237).addRange(4250,4251).addRange(4957,4959).addRange(5908,5909).addRange(6089,6099).addRange(6457,6459).addRange(6773,6780).addRange(6832,6846).addRange(6849,6859).addRange(7019,7027).addRange(7082,7083).addRange(7222,7223).addRange(7288,7293).addRange(7376,7400).addRange(7415,7417).addRange(7468,7530).addRange(7620,7631),a.addRange(7669,7679).addRange(8127,8129).addRange(8141,8143).addRange(8157,8159).addRange(8173,8175).addRange(8189,8190).addRange(11503,11505).addRange(12330,12335).addRange(12441,12444).addRange(42620,42621).addRange(42652,42653).addRange(42736,42737).addRange(42752,42785).addRange(42888,42890).addRange(43e3,43001).addRange(43232,43249).addRange(43307,43310).addRange(43643,43645).addRange(43711,43714).addRange(43867,43871).addRange(43881,43883).addRange(44012,44013).addRange(65056,65071).addRange(65438,65439).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(68325,68326).addRange(68898,68903).addRange(69446,69456).addRange(69506,69509).addRange(69817,69818).addRange(69939,69940).addRange(70090,70092).addRange(70197,70198).addRange(70377,70378).addRange(70502,70508).addRange(70512,70516).addRange(70850,70851).addRange(71103,71104).addRange(71350,71351).addRange(71737,71738).addRange(71997,71998).addRange(73028,73029).addRange(92912,92916).addRange(92976,92982).addRange(94095,94111).addRange(94192,94193).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590),a.addRange(118528,118573).addRange(118576,118598).addRange(119143,119145).addRange(119149,119154).addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(123184,123190).addRange(123628,123631).addRange(125136,125142).addRange(125252,125254).addRange(125256,125258),e.exports=a},23694:(e,t,n)=>{const a=n(78776)(35,42,169,174,8252,8265,8482,8505,9e3,9167,9410,9654,9664,9742,9745,9752,9757,9760,9766,9770,9792,9794,9827,9832,9851,9881,9895,9928,9937,9981,9986,9989,9999,10002,10004,10006,10013,10017,10024,10052,10055,10060,10062,10071,10145,10160,10175,11088,11093,12336,12349,12951,12953,126980,127183,127374,127514,127535,128391,128400,128424,128444,128481,128483,128488,128495,128499,128745,128752,129008);a.addRange(48,57).addRange(8596,8601).addRange(8617,8618).addRange(8986,8987).addRange(9193,9203).addRange(9208,9210).addRange(9642,9643).addRange(9723,9726).addRange(9728,9732).addRange(9748,9749).addRange(9762,9763).addRange(9774,9775).addRange(9784,9786).addRange(9800,9811).addRange(9823,9824).addRange(9829,9830).addRange(9854,9855).addRange(9874,9879).addRange(9883,9884).addRange(9888,9889).addRange(9898,9899).addRange(9904,9905).addRange(9917,9918).addRange(9924,9925).addRange(9934,9935).addRange(9939,9940).addRange(9961,9962).addRange(9968,9973).addRange(9975,9978).addRange(9992,9997).addRange(10035,10036).addRange(10067,10069).addRange(10083,10084).addRange(10133,10135).addRange(10548,10549).addRange(11013,11015).addRange(11035,11036).addRange(127344,127345).addRange(127358,127359).addRange(127377,127386).addRange(127462,127487).addRange(127489,127490).addRange(127538,127546).addRange(127568,127569).addRange(127744,127777).addRange(127780,127891).addRange(127894,127895).addRange(127897,127899).addRange(127902,127984).addRange(127987,127989).addRange(127991,128253),a.addRange(128255,128317).addRange(128329,128334).addRange(128336,128359).addRange(128367,128368).addRange(128371,128378).addRange(128394,128397).addRange(128405,128406).addRange(128420,128421).addRange(128433,128434).addRange(128450,128452).addRange(128465,128467).addRange(128476,128478).addRange(128506,128591).addRange(128640,128709).addRange(128715,128722).addRange(128725,128727).addRange(128733,128741).addRange(128747,128748).addRange(128755,128764).addRange(128992,129003).addRange(129292,129338).addRange(129340,129349).addRange(129351,129535).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782),e.exports=a},94007:(e,t,n)=>{const a=n(78776)(35,42,8205,8419,65039);a.addRange(48,57).addRange(127462,127487).addRange(127995,127999).addRange(129456,129459).addRange(917536,917631),e.exports=a},13916:(e,t,n)=>{const a=n(78776)();a.addRange(127995,127999),e.exports=a},98053:(e,t,n)=>{const a=n(78776)(9757,9977,127877,127943,128124,128143,128145,128170,128378,128400,128675,128704,128716,129292,129295,129318,129399,129467);a.addRange(9994,9997).addRange(127938,127940).addRange(127946,127948).addRange(128066,128067).addRange(128070,128080).addRange(128102,128120).addRange(128129,128131).addRange(128133,128135).addRange(128372,128373).addRange(128405,128406).addRange(128581,128583).addRange(128587,128591).addRange(128692,128694).addRange(129304,129311).addRange(129328,129337).addRange(129340,129342).addRange(129461,129462).addRange(129464,129465).addRange(129485,129487).addRange(129489,129501).addRange(129731,129733).addRange(129776,129782),e.exports=a},10906:(e,t,n)=>{const a=n(78776)(9200,9203,9855,9875,9889,9934,9940,9962,9973,9978,9981,9989,10024,10060,10062,10071,10160,10175,11088,11093,126980,127183,127374,127489,127514,127535,127988,128064,128378,128420,128716,129008);a.addRange(8986,8987).addRange(9193,9196).addRange(9725,9726).addRange(9748,9749).addRange(9800,9811).addRange(9898,9899).addRange(9917,9918).addRange(9924,9925).addRange(9970,9971).addRange(9994,9995).addRange(10067,10069).addRange(10133,10135).addRange(11035,11036).addRange(127377,127386).addRange(127462,127487).addRange(127538,127542).addRange(127544,127546).addRange(127568,127569).addRange(127744,127776).addRange(127789,127797).addRange(127799,127868).addRange(127870,127891).addRange(127904,127946).addRange(127951,127955).addRange(127968,127984).addRange(127992,128062).addRange(128066,128252).addRange(128255,128317).addRange(128331,128334).addRange(128336,128359).addRange(128405,128406).addRange(128507,128591).addRange(128640,128709).addRange(128720,128722).addRange(128725,128727).addRange(128733,128735).addRange(128747,128748).addRange(128756,128764).addRange(128992,129003).addRange(129292,129338).addRange(129340,129349).addRange(129351,129535).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782),e.exports=a},66359:(e,t,n)=>{const a=n(78776)(169,174,8252,8265,8482,8505,9e3,9096,9167,9410,9654,9664,10004,10006,10013,10017,10024,10052,10055,10060,10062,10071,10145,10160,10175,11088,11093,12336,12349,12951,12953,127279,127374,127514,127535);a.addRange(8596,8601).addRange(8617,8618).addRange(8986,8987).addRange(9193,9203).addRange(9208,9210).addRange(9642,9643).addRange(9723,9726).addRange(9728,9733).addRange(9735,9746).addRange(9748,9861).addRange(9872,9989).addRange(9992,10002).addRange(10035,10036).addRange(10067,10069).addRange(10083,10087).addRange(10133,10135).addRange(10548,10549).addRange(11013,11015).addRange(11035,11036).addRange(126976,127231).addRange(127245,127247).addRange(127340,127345).addRange(127358,127359).addRange(127377,127386).addRange(127405,127461).addRange(127489,127503).addRange(127538,127546).addRange(127548,127551).addRange(127561,127994).addRange(128e3,128317).addRange(128326,128591).addRange(128640,128767).addRange(128884,128895).addRange(128981,129023).addRange(129036,129039).addRange(129096,129103).addRange(129114,129119).addRange(129160,129167).addRange(129198,129279).addRange(129292,129338).addRange(129340,129349).addRange(129351,129791).addRange(130048,131069),e.exports=a},17743:(e,t,n)=>{const a=n(78776)(183,1600,2042,2901,3654,3782,6154,6211,6823,7222,7291,12293,40981,42508,43471,43494,43632,43741,65392,70493,72344,94179);a.addRange(720,721).addRange(12337,12341).addRange(12445,12446).addRange(12540,12542).addRange(43763,43764).addRange(67457,67458).addRange(71110,71112).addRange(92994,92995).addRange(94176,94177).addRange(123196,123197).addRange(125252,125254),e.exports=a},75530:(e,t,n)=>{const a=n(78776)(908,1470,1472,1475,1478,1563,1758,1769,1808,1969,2074,2084,2088,2142,2363,2482,2493,2510,2563,2654,2678,2691,2761,2768,2809,2877,2880,2947,2972,3007,3024,3133,3165,3389,3517,3716,3749,3773,3782,3894,3896,3967,3973,4145,4152,4295,4301,4696,4800,5909,6070,6314,6464,6743,6753,6971,7082,7143,7150,7379,7393,7418,8025,8027,8029,11559,11565,42611,42963,43597,43697,43712,43714,64285,64318,64975,65952,67592,67644,67903,69293,69632,69749,69932,70197,70280,70461,70463,70480,70725,70749,70841,70846,70849,71102,71230,71340,71350,71462,71736,71739,71945,71997,72192,72272,72343,72766,72873,72881,72884,73030,73110,73112,73648,92917,113820,113823,119142,119365,119970,119995,120134,123647,125259,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590,129008);a.addRange(32,126).addRange(160,172).addRange(174,767).addRange(880,887).addRange(890,895).addRange(900,906).addRange(910,929).addRange(931,1154).addRange(1162,1327).addRange(1329,1366).addRange(1369,1418).addRange(1421,1423).addRange(1488,1514).addRange(1519,1524).addRange(1542,1551).addRange(1565,1610).addRange(1632,1647).addRange(1649,1749).addRange(1765,1766).addRange(1774,1805).addRange(1810,1839).addRange(1869,1957).addRange(1984,2026).addRange(2036,2042).addRange(2046,2069).addRange(2096,2110).addRange(2112,2136).addRange(2144,2154).addRange(2160,2190).addRange(2208,2249).addRange(2307,2361).addRange(2365,2368).addRange(2377,2380).addRange(2382,2384).addRange(2392,2401).addRange(2404,2432).addRange(2434,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2495,2496).addRange(2503,2504).addRange(2507,2508).addRange(2524,2525).addRange(2527,2529).addRange(2534,2557).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600),a.addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2624).addRange(2649,2652).addRange(2662,2671).addRange(2674,2676).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2749,2752).addRange(2763,2764).addRange(2784,2785).addRange(2790,2801).addRange(2818,2819).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2887,2888).addRange(2891,2892).addRange(2908,2909).addRange(2911,2913).addRange(2918,2935).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3009,3010).addRange(3014,3016).addRange(3018,3020).addRange(3046,3066).addRange(3073,3075).addRange(3077,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3137,3140).addRange(3160,3162).addRange(3168,3169).addRange(3174,3183),a.addRange(3191,3200).addRange(3202,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3261,3262).addRange(3264,3265).addRange(3267,3268).addRange(3271,3272).addRange(3274,3275).addRange(3293,3294).addRange(3296,3297).addRange(3302,3311).addRange(3313,3314).addRange(3330,3340).addRange(3342,3344).addRange(3346,3386).addRange(3391,3392).addRange(3398,3400).addRange(3402,3404).addRange(3406,3407).addRange(3412,3414).addRange(3416,3425).addRange(3430,3455).addRange(3458,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3536,3537).addRange(3544,3550).addRange(3558,3567).addRange(3570,3572).addRange(3585,3632).addRange(3634,3635).addRange(3647,3654).addRange(3663,3675).addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3760).addRange(3762,3763).addRange(3776,3780).addRange(3792,3801).addRange(3804,3807).addRange(3840,3863).addRange(3866,3892).addRange(3898,3911).addRange(3913,3948).addRange(3976,3980),a.addRange(4030,4037).addRange(4039,4044).addRange(4046,4058).addRange(4096,4140).addRange(4155,4156).addRange(4159,4183).addRange(4186,4189).addRange(4193,4208).addRange(4213,4225).addRange(4227,4228).addRange(4231,4236).addRange(4238,4252).addRange(4254,4293).addRange(4304,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4960,4988).addRange(4992,5017).addRange(5024,5109).addRange(5112,5117).addRange(5120,5788).addRange(5792,5880).addRange(5888,5905).addRange(5919,5937).addRange(5940,5942).addRange(5952,5969).addRange(5984,5996).addRange(5998,6e3).addRange(6016,6067).addRange(6078,6085).addRange(6087,6088).addRange(6100,6108).addRange(6112,6121).addRange(6128,6137).addRange(6144,6154).addRange(6160,6169).addRange(6176,6264).addRange(6272,6276).addRange(6279,6312).addRange(6320,6389),a.addRange(6400,6430).addRange(6435,6438).addRange(6441,6443).addRange(6448,6449).addRange(6451,6456).addRange(6468,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6608,6618).addRange(6622,6678).addRange(6681,6682).addRange(6686,6741).addRange(6755,6756).addRange(6765,6770).addRange(6784,6793).addRange(6800,6809).addRange(6816,6829).addRange(6916,6963).addRange(6973,6977).addRange(6979,6988).addRange(6992,7018).addRange(7028,7038).addRange(7042,7073).addRange(7078,7079).addRange(7086,7141).addRange(7146,7148).addRange(7154,7155).addRange(7164,7211).addRange(7220,7221).addRange(7227,7241).addRange(7245,7304).addRange(7312,7354).addRange(7357,7367).addRange(7401,7404).addRange(7406,7411).addRange(7413,7415).addRange(7424,7615).addRange(7680,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8132).addRange(8134,8147).addRange(8150,8155).addRange(8157,8175).addRange(8178,8180).addRange(8182,8190),a.addRange(8192,8202).addRange(8208,8231).addRange(8239,8287).addRange(8304,8305).addRange(8308,8334).addRange(8336,8348).addRange(8352,8384).addRange(8448,8587).addRange(8592,9254).addRange(9280,9290).addRange(9312,11123).addRange(11126,11157).addRange(11159,11502).addRange(11506,11507).addRange(11513,11557).addRange(11568,11623).addRange(11631,11632).addRange(11648,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(11776,11869).addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12272,12283).addRange(12288,12329).addRange(12336,12351).addRange(12353,12438).addRange(12443,12543).addRange(12549,12591).addRange(12593,12686).addRange(12688,12771).addRange(12784,12830).addRange(12832,42124).addRange(42128,42182).addRange(42192,42539).addRange(42560,42606).addRange(42622,42653).addRange(42656,42735).addRange(42738,42743).addRange(42752,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43009).addRange(43011,43013),a.addRange(43015,43018).addRange(43020,43044).addRange(43047,43051).addRange(43056,43065).addRange(43072,43127).addRange(43136,43203).addRange(43214,43225).addRange(43250,43262).addRange(43264,43301).addRange(43310,43334).addRange(43346,43347).addRange(43359,43388).addRange(43395,43442).addRange(43444,43445).addRange(43450,43451).addRange(43454,43469).addRange(43471,43481).addRange(43486,43492).addRange(43494,43518).addRange(43520,43560).addRange(43567,43568).addRange(43571,43572).addRange(43584,43586).addRange(43588,43595).addRange(43600,43609).addRange(43612,43643).addRange(43645,43695).addRange(43701,43702).addRange(43705,43709).addRange(43739,43755).addRange(43758,43765).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43883).addRange(43888,44004).addRange(44006,44007).addRange(44009,44012).addRange(44016,44025).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64287,64310).addRange(64312,64316).addRange(64320,64321),a.addRange(64323,64324).addRange(64326,64450).addRange(64467,64911).addRange(64914,64967).addRange(65008,65023).addRange(65040,65049).addRange(65072,65106).addRange(65108,65126).addRange(65128,65131).addRange(65136,65140).addRange(65142,65276).addRange(65281,65437).addRange(65440,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65504,65510).addRange(65512,65518).addRange(65532,65533).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65792,65794).addRange(65799,65843).addRange(65847,65934).addRange(65936,65948).addRange(66e3,66044).addRange(66176,66204).addRange(66208,66256).addRange(66273,66299).addRange(66304,66339).addRange(66349,66378).addRange(66384,66421).addRange(66432,66461).addRange(66463,66499).addRange(66504,66517).addRange(66560,66717).addRange(66720,66729).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66927,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965),a.addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67671,67742).addRange(67751,67759).addRange(67808,67826).addRange(67828,67829).addRange(67835,67867).addRange(67871,67897).addRange(67968,68023).addRange(68028,68047).addRange(68050,68096).addRange(68112,68115).addRange(68117,68119).addRange(68121,68149).addRange(68160,68168).addRange(68176,68184).addRange(68192,68255).addRange(68288,68324).addRange(68331,68342).addRange(68352,68405).addRange(68409,68437).addRange(68440,68466).addRange(68472,68497).addRange(68505,68508).addRange(68521,68527).addRange(68608,68680).addRange(68736,68786).addRange(68800,68850).addRange(68858,68899).addRange(68912,68921).addRange(69216,69246).addRange(69248,69289).addRange(69296,69297).addRange(69376,69415).addRange(69424,69445).addRange(69457,69465).addRange(69488,69505).addRange(69510,69513).addRange(69552,69579),a.addRange(69600,69622).addRange(69634,69687).addRange(69703,69709).addRange(69714,69743).addRange(69745,69746).addRange(69762,69810).addRange(69815,69816).addRange(69819,69820).addRange(69822,69825).addRange(69840,69864).addRange(69872,69881).addRange(69891,69926).addRange(69942,69959).addRange(69968,70002).addRange(70004,70006).addRange(70018,70069).addRange(70079,70088).addRange(70093,70094).addRange(70096,70111).addRange(70113,70132).addRange(70144,70161).addRange(70163,70190).addRange(70194,70195).addRange(70200,70205).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70313).addRange(70320,70366).addRange(70368,70370).addRange(70384,70393).addRange(70402,70403).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70465,70468).addRange(70471,70472).addRange(70475,70477).addRange(70493,70499).addRange(70656,70711).addRange(70720,70721).addRange(70727,70747).addRange(70751,70753).addRange(70784,70831).addRange(70833,70834).addRange(70843,70844).addRange(70852,70855).addRange(70864,70873),a.addRange(71040,71086).addRange(71088,71089).addRange(71096,71099).addRange(71105,71131).addRange(71168,71218).addRange(71227,71228).addRange(71233,71236).addRange(71248,71257).addRange(71264,71276).addRange(71296,71338).addRange(71342,71343).addRange(71352,71353).addRange(71360,71369).addRange(71424,71450).addRange(71456,71457).addRange(71472,71494).addRange(71680,71726).addRange(71840,71922).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71983).addRange(71985,71989).addRange(71991,71992).addRange(71999,72002).addRange(72004,72006).addRange(72016,72025).addRange(72096,72103).addRange(72106,72147).addRange(72156,72159).addRange(72161,72164).addRange(72203,72242).addRange(72249,72250).addRange(72255,72262).addRange(72279,72280).addRange(72284,72329).addRange(72346,72354).addRange(72368,72440).addRange(72704,72712).addRange(72714,72751).addRange(72768,72773).addRange(72784,72812).addRange(72816,72847).addRange(72960,72966).addRange(72968,72969).addRange(72971,73008).addRange(73040,73049).addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73107,73108),a.addRange(73120,73129).addRange(73440,73458).addRange(73461,73464).addRange(73664,73713).addRange(73727,74649).addRange(74752,74862).addRange(74864,74868).addRange(74880,75075).addRange(77712,77810).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92768,92777).addRange(92782,92862).addRange(92864,92873).addRange(92880,92909).addRange(92928,92975).addRange(92983,92997).addRange(93008,93017).addRange(93019,93025).addRange(93027,93047).addRange(93053,93071).addRange(93760,93850).addRange(93952,94026).addRange(94032,94087).addRange(94099,94111).addRange(94176,94179).addRange(94192,94193).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(118608,118723).addRange(118784,119029).addRange(119040,119078).addRange(119081,119140).addRange(119146,119149).addRange(119171,119172).addRange(119180,119209).addRange(119214,119274),a.addRange(119296,119361).addRange(119520,119539).addRange(119552,119638).addRange(119648,119672).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120779).addRange(120782,121343).addRange(121399,121402).addRange(121453,121460).addRange(121462,121475).addRange(121477,121483).addRange(122624,122654).addRange(123136,123180).addRange(123191,123197).addRange(123200,123209).addRange(123214,123215).addRange(123536,123565).addRange(123584,123627).addRange(123632,123641).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125127,125135).addRange(125184,125251).addRange(125264,125273).addRange(125278,125279).addRange(126065,126132).addRange(126209,126269).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543),a.addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(126704,126705).addRange(126976,127019).addRange(127024,127123).addRange(127136,127150).addRange(127153,127167).addRange(127169,127183).addRange(127185,127221).addRange(127232,127405).addRange(127462,127490).addRange(127504,127547).addRange(127552,127560).addRange(127568,127569).addRange(127584,127589).addRange(127744,128727).addRange(128733,128748).addRange(128752,128764).addRange(128768,128883).addRange(128896,128984).addRange(128992,129003).addRange(129024,129035).addRange(129040,129095).addRange(129104,129113).addRange(129120,129159).addRange(129168,129197).addRange(129200,129201).addRange(129280,129619).addRange(129632,129645).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782).addRange(129792,129938).addRange(129940,129994).addRange(130032,130041).addRange(131072,173791),a.addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=a},38693:(e,t,n)=>{const a=n(78776)(1471,1479,1648,1809,2045,2362,2364,2381,2433,2492,2494,2509,2519,2558,2620,2641,2677,2748,2765,2817,2876,2893,2946,3006,3008,3021,3031,3072,3076,3132,3201,3260,3263,3266,3270,3390,3405,3415,3457,3530,3535,3542,3551,3633,3761,3893,3895,3897,4038,4226,4237,4253,6086,6109,6159,6313,6450,6683,6742,6752,6754,6783,6972,6978,7142,7149,7405,7412,8204,11647,43010,43014,43019,43052,43263,43443,43493,43587,43596,43644,43696,43713,43766,44005,44008,44013,64286,66045,66272,68159,69633,69744,69826,70003,70095,70196,70206,70367,70462,70464,70487,70726,70750,70832,70842,70845,71087,71229,71339,71341,71351,71984,71998,72003,72160,72263,72767,73018,73031,73109,73111,94031,94180,119141,121461,121476,123566);a.addRange(768,879).addRange(1155,1161).addRange(1425,1469).addRange(1473,1474).addRange(1476,1477).addRange(1552,1562).addRange(1611,1631).addRange(1750,1756).addRange(1759,1764).addRange(1767,1768).addRange(1770,1773).addRange(1840,1866).addRange(1958,1968).addRange(2027,2035).addRange(2070,2073).addRange(2075,2083).addRange(2085,2087).addRange(2089,2093).addRange(2137,2139).addRange(2200,2207).addRange(2250,2273).addRange(2275,2306).addRange(2369,2376).addRange(2385,2391).addRange(2402,2403).addRange(2497,2500).addRange(2530,2531).addRange(2561,2562).addRange(2625,2626).addRange(2631,2632).addRange(2635,2637).addRange(2672,2673).addRange(2689,2690).addRange(2753,2757).addRange(2759,2760).addRange(2786,2787).addRange(2810,2815).addRange(2878,2879).addRange(2881,2884).addRange(2901,2903).addRange(2914,2915).addRange(3134,3136).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3170,3171).addRange(3276,3277).addRange(3285,3286).addRange(3298,3299).addRange(3328,3329).addRange(3387,3388),a.addRange(3393,3396).addRange(3426,3427).addRange(3538,3540).addRange(3636,3642).addRange(3655,3662).addRange(3764,3772).addRange(3784,3789).addRange(3864,3865).addRange(3953,3966).addRange(3968,3972).addRange(3974,3975).addRange(3981,3991).addRange(3993,4028).addRange(4141,4144).addRange(4146,4151).addRange(4153,4154).addRange(4157,4158).addRange(4184,4185).addRange(4190,4192).addRange(4209,4212).addRange(4229,4230).addRange(4957,4959).addRange(5906,5908).addRange(5938,5939).addRange(5970,5971).addRange(6002,6003).addRange(6068,6069).addRange(6071,6077).addRange(6089,6099).addRange(6155,6157).addRange(6277,6278).addRange(6432,6434).addRange(6439,6440).addRange(6457,6459).addRange(6679,6680).addRange(6744,6750).addRange(6757,6764).addRange(6771,6780).addRange(6832,6862).addRange(6912,6915).addRange(6964,6970).addRange(7019,7027).addRange(7040,7041).addRange(7074,7077).addRange(7080,7081).addRange(7083,7085).addRange(7144,7145).addRange(7151,7153).addRange(7212,7219).addRange(7222,7223).addRange(7376,7378),a.addRange(7380,7392).addRange(7394,7400).addRange(7416,7417).addRange(7616,7679).addRange(8400,8432).addRange(11503,11505).addRange(11744,11775).addRange(12330,12335).addRange(12441,12442).addRange(42607,42610).addRange(42612,42621).addRange(42654,42655).addRange(42736,42737).addRange(43045,43046).addRange(43204,43205).addRange(43232,43249).addRange(43302,43309).addRange(43335,43345).addRange(43392,43394).addRange(43446,43449).addRange(43452,43453).addRange(43561,43566).addRange(43569,43570).addRange(43573,43574).addRange(43698,43700).addRange(43703,43704).addRange(43710,43711).addRange(43756,43757).addRange(65024,65039).addRange(65056,65071).addRange(65438,65439).addRange(66422,66426).addRange(68097,68099).addRange(68101,68102).addRange(68108,68111).addRange(68152,68154).addRange(68325,68326).addRange(68900,68903).addRange(69291,69292).addRange(69446,69456).addRange(69506,69509).addRange(69688,69702).addRange(69747,69748).addRange(69759,69761).addRange(69811,69814).addRange(69817,69818).addRange(69888,69890).addRange(69927,69931).addRange(69933,69940).addRange(70016,70017).addRange(70070,70078),a.addRange(70089,70092).addRange(70191,70193).addRange(70198,70199).addRange(70371,70378).addRange(70400,70401).addRange(70459,70460).addRange(70502,70508).addRange(70512,70516).addRange(70712,70719).addRange(70722,70724).addRange(70835,70840).addRange(70847,70848).addRange(70850,70851).addRange(71090,71093).addRange(71100,71101).addRange(71103,71104).addRange(71132,71133).addRange(71219,71226).addRange(71231,71232).addRange(71344,71349).addRange(71453,71455).addRange(71458,71461).addRange(71463,71467).addRange(71727,71735).addRange(71737,71738).addRange(71995,71996).addRange(72148,72151).addRange(72154,72155).addRange(72193,72202).addRange(72243,72248).addRange(72251,72254).addRange(72273,72278).addRange(72281,72283).addRange(72330,72342).addRange(72344,72345).addRange(72752,72758).addRange(72760,72765).addRange(72850,72871).addRange(72874,72880).addRange(72882,72883).addRange(72885,72886).addRange(73009,73014).addRange(73020,73021).addRange(73023,73029).addRange(73104,73105).addRange(73459,73460).addRange(92912,92916).addRange(92976,92982).addRange(94095,94098).addRange(113821,113822).addRange(118528,118573),a.addRange(118576,118598).addRange(119143,119145).addRange(119150,119154).addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(119362,119364).addRange(121344,121398).addRange(121403,121452).addRange(121499,121503).addRange(121505,121519).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123184,123190).addRange(123628,123631).addRange(125136,125142).addRange(125252,125258).addRange(917536,917631).addRange(917760,917999),e.exports=a},91556:(e,t,n)=>{const a=n(78776)();a.addRange(48,57).addRange(65,70).addRange(97,102).addRange(65296,65305).addRange(65313,65318).addRange(65345,65350),e.exports=a},2103:(e,t,n)=>{const a=n(78776)();a.addRange(12272,12273).addRange(12276,12283),e.exports=a},18502:(e,t,n)=>{const a=n(78776)();a.addRange(12274,12275),e.exports=a},19494:(e,t,n)=>{const a=n(78776)(95,170,181,183,186,748,750,895,908,1369,1471,1479,1791,2042,2045,2482,2519,2556,2558,2620,2641,2654,2768,2929,2972,3024,3031,3165,3517,3530,3542,3716,3749,3782,3840,3893,3895,3897,4038,4295,4301,4696,4800,6103,6823,8025,8027,8029,8126,8276,8305,8319,8417,8450,8455,8469,8484,8486,8488,8526,11559,11565,11631,42963,43052,43259,64318,65343,66045,66272,67592,67644,68159,69415,69826,70006,70108,70206,70280,70480,70487,70855,71236,71945,72263,72349,73018,73648,119970,119995,120134,121461,121476,123214,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);a.addRange(48,57).addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,705).addRange(710,721).addRange(736,740).addRange(768,884).addRange(886,887).addRange(890,893).addRange(902,906).addRange(910,929).addRange(931,1013).addRange(1015,1153).addRange(1155,1159).addRange(1162,1327).addRange(1329,1366).addRange(1376,1416).addRange(1425,1469).addRange(1473,1474).addRange(1476,1477).addRange(1488,1514).addRange(1519,1522).addRange(1552,1562).addRange(1568,1641).addRange(1646,1747).addRange(1749,1756).addRange(1759,1768).addRange(1770,1788).addRange(1808,1866).addRange(1869,1969).addRange(1984,2037).addRange(2048,2093).addRange(2112,2139).addRange(2144,2154).addRange(2160,2183).addRange(2185,2190).addRange(2200,2273).addRange(2275,2403).addRange(2406,2415).addRange(2417,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2492,2500).addRange(2503,2504).addRange(2507,2510).addRange(2524,2525),a.addRange(2527,2531).addRange(2534,2545).addRange(2561,2563).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2626).addRange(2631,2632).addRange(2635,2637).addRange(2649,2652).addRange(2662,2677).addRange(2689,2691).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2748,2757).addRange(2759,2761).addRange(2763,2765).addRange(2784,2787).addRange(2790,2799).addRange(2809,2815).addRange(2817,2819).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2876,2884).addRange(2887,2888).addRange(2891,2893).addRange(2901,2903).addRange(2908,2909).addRange(2911,2915).addRange(2918,2927).addRange(2946,2947).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001),a.addRange(3006,3010).addRange(3014,3016).addRange(3018,3021).addRange(3046,3055).addRange(3072,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3132,3140).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3160,3162).addRange(3168,3171).addRange(3174,3183).addRange(3200,3203).addRange(3205,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3260,3268).addRange(3270,3272).addRange(3274,3277).addRange(3285,3286).addRange(3293,3294).addRange(3296,3299).addRange(3302,3311).addRange(3313,3314).addRange(3328,3340).addRange(3342,3344).addRange(3346,3396).addRange(3398,3400).addRange(3402,3406).addRange(3412,3415).addRange(3423,3427).addRange(3430,3439).addRange(3450,3455).addRange(3457,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3535,3540).addRange(3544,3551).addRange(3558,3567).addRange(3570,3571).addRange(3585,3642).addRange(3648,3662).addRange(3664,3673).addRange(3713,3714),a.addRange(3718,3722).addRange(3724,3747).addRange(3751,3773).addRange(3776,3780).addRange(3784,3789).addRange(3792,3801).addRange(3804,3807).addRange(3864,3865).addRange(3872,3881).addRange(3902,3911).addRange(3913,3948).addRange(3953,3972).addRange(3974,3991).addRange(3993,4028).addRange(4096,4169).addRange(4176,4253).addRange(4256,4293).addRange(4304,4346).addRange(4348,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4957,4959).addRange(4969,4977).addRange(4992,5007).addRange(5024,5109).addRange(5112,5117).addRange(5121,5740).addRange(5743,5759).addRange(5761,5786).addRange(5792,5866).addRange(5870,5880).addRange(5888,5909).addRange(5919,5940).addRange(5952,5971).addRange(5984,5996).addRange(5998,6e3).addRange(6002,6003).addRange(6016,6099).addRange(6108,6109).addRange(6112,6121),a.addRange(6155,6157).addRange(6159,6169).addRange(6176,6264).addRange(6272,6314).addRange(6320,6389).addRange(6400,6430).addRange(6432,6443).addRange(6448,6459).addRange(6470,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6608,6618).addRange(6656,6683).addRange(6688,6750).addRange(6752,6780).addRange(6783,6793).addRange(6800,6809).addRange(6832,6845).addRange(6847,6862).addRange(6912,6988).addRange(6992,7001).addRange(7019,7027).addRange(7040,7155).addRange(7168,7223).addRange(7232,7241).addRange(7245,7293).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7376,7378).addRange(7380,7418).addRange(7424,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124).addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8255,8256).addRange(8336,8348).addRange(8400,8412).addRange(8421,8432),a.addRange(8458,8467).addRange(8472,8477).addRange(8490,8505).addRange(8508,8511).addRange(8517,8521).addRange(8544,8584).addRange(11264,11492).addRange(11499,11507).addRange(11520,11557).addRange(11568,11623).addRange(11647,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(11744,11775).addRange(12293,12295).addRange(12321,12335).addRange(12337,12341).addRange(12344,12348).addRange(12353,12438).addRange(12441,12447).addRange(12449,12538).addRange(12540,12543).addRange(12549,12591).addRange(12593,12686).addRange(12704,12735).addRange(12784,12799).addRange(13312,19903).addRange(19968,42124).addRange(42192,42237).addRange(42240,42508).addRange(42512,42539).addRange(42560,42607).addRange(42612,42621).addRange(42623,42737).addRange(42775,42783).addRange(42786,42888).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43047).addRange(43072,43123).addRange(43136,43205).addRange(43216,43225).addRange(43232,43255).addRange(43261,43309),a.addRange(43312,43347).addRange(43360,43388).addRange(43392,43456).addRange(43471,43481).addRange(43488,43518).addRange(43520,43574).addRange(43584,43597).addRange(43600,43609).addRange(43616,43638).addRange(43642,43714).addRange(43739,43741).addRange(43744,43759).addRange(43762,43766).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43866).addRange(43868,43881).addRange(43888,44010).addRange(44012,44013).addRange(44016,44025).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64285,64296).addRange(64298,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64433).addRange(64467,64829).addRange(64848,64911).addRange(64914,64967).addRange(65008,65019).addRange(65024,65039).addRange(65056,65071).addRange(65075,65076).addRange(65101,65103).addRange(65136,65140).addRange(65142,65276).addRange(65296,65305).addRange(65313,65338).addRange(65345,65370).addRange(65382,65470).addRange(65474,65479),a.addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65856,65908).addRange(66176,66204).addRange(66208,66256).addRange(66304,66335).addRange(66349,66378).addRange(66384,66426).addRange(66432,66461).addRange(66464,66499).addRange(66504,66511).addRange(66513,66517).addRange(66560,66717).addRange(66720,66729).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67680,67702).addRange(67712,67742).addRange(67808,67826).addRange(67828,67829).addRange(67840,67861).addRange(67872,67897).addRange(67968,68023),a.addRange(68030,68031).addRange(68096,68099).addRange(68101,68102).addRange(68108,68115).addRange(68117,68119).addRange(68121,68149).addRange(68152,68154).addRange(68192,68220).addRange(68224,68252).addRange(68288,68295).addRange(68297,68326).addRange(68352,68405).addRange(68416,68437).addRange(68448,68466).addRange(68480,68497).addRange(68608,68680).addRange(68736,68786).addRange(68800,68850).addRange(68864,68903).addRange(68912,68921).addRange(69248,69289).addRange(69291,69292).addRange(69296,69297).addRange(69376,69404).addRange(69424,69456).addRange(69488,69509).addRange(69552,69572).addRange(69600,69622).addRange(69632,69702).addRange(69734,69749).addRange(69759,69818).addRange(69840,69864).addRange(69872,69881).addRange(69888,69940).addRange(69942,69951).addRange(69956,69959).addRange(69968,70003).addRange(70016,70084).addRange(70089,70092).addRange(70094,70106).addRange(70144,70161).addRange(70163,70199).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70312).addRange(70320,70378).addRange(70384,70393).addRange(70400,70403).addRange(70405,70412).addRange(70415,70416),a.addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70459,70468).addRange(70471,70472).addRange(70475,70477).addRange(70493,70499).addRange(70502,70508).addRange(70512,70516).addRange(70656,70730).addRange(70736,70745).addRange(70750,70753).addRange(70784,70853).addRange(70864,70873).addRange(71040,71093).addRange(71096,71104).addRange(71128,71133).addRange(71168,71232).addRange(71248,71257).addRange(71296,71352).addRange(71360,71369).addRange(71424,71450).addRange(71453,71467).addRange(71472,71481).addRange(71488,71494).addRange(71680,71738).addRange(71840,71913).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71989).addRange(71991,71992).addRange(71995,72003).addRange(72016,72025).addRange(72096,72103).addRange(72106,72151).addRange(72154,72161).addRange(72163,72164).addRange(72192,72254).addRange(72272,72345).addRange(72368,72440).addRange(72704,72712).addRange(72714,72758).addRange(72760,72768).addRange(72784,72793).addRange(72818,72847).addRange(72850,72871).addRange(72873,72886).addRange(72960,72966).addRange(72968,72969),a.addRange(72971,73014).addRange(73020,73021).addRange(73023,73031).addRange(73040,73049).addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73104,73105).addRange(73107,73112).addRange(73120,73129).addRange(73440,73462).addRange(73728,74649).addRange(74752,74862).addRange(74880,75075).addRange(77712,77808).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92768,92777).addRange(92784,92862).addRange(92864,92873).addRange(92880,92909).addRange(92912,92916).addRange(92928,92982).addRange(92992,92995).addRange(93008,93017).addRange(93027,93047).addRange(93053,93071).addRange(93760,93823).addRange(93952,94026).addRange(94031,94087).addRange(94095,94111).addRange(94176,94177).addRange(94179,94180).addRange(94192,94193).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(113821,113822),a.addRange(118528,118573).addRange(118576,118598).addRange(119141,119145).addRange(119149,119154).addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(119362,119364).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120512).addRange(120514,120538).addRange(120540,120570).addRange(120572,120596).addRange(120598,120628).addRange(120630,120654).addRange(120656,120686).addRange(120688,120712).addRange(120714,120744).addRange(120746,120770).addRange(120772,120779).addRange(120782,120831).addRange(121344,121398).addRange(121403,121452).addRange(121499,121503).addRange(121505,121519).addRange(122624,122654).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123136,123180).addRange(123184,123197).addRange(123200,123209).addRange(123536,123566).addRange(123584,123641),a.addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125136,125142).addRange(125184,125259).addRange(125264,125273).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(130032,130041).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546).addRange(917760,917999),e.exports=a},20567:(e,t,n)=>{const a=n(78776)(170,181,186,748,750,895,902,908,1369,1749,1791,1808,1969,2042,2074,2084,2088,2365,2384,2482,2493,2510,2556,2654,2749,2768,2809,2877,2929,2947,2972,3024,3133,3165,3200,3261,3389,3406,3517,3716,3749,3773,3782,3840,4159,4193,4238,4295,4301,4696,4800,6103,6108,6314,6823,7418,8025,8027,8029,8126,8305,8319,8450,8455,8469,8484,8486,8488,8526,11559,11565,11631,42963,43259,43471,43642,43697,43712,43714,64285,64318,67592,67644,68096,69415,69749,69956,69959,70006,70106,70108,70280,70461,70480,70855,71236,71352,71945,71999,72001,72161,72163,72192,72250,72272,72349,72768,73030,73112,73648,94032,94179,119970,119995,120134,123214,125259,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);a.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,705).addRange(710,721).addRange(736,740).addRange(880,884).addRange(886,887).addRange(890,893).addRange(904,906).addRange(910,929).addRange(931,1013).addRange(1015,1153).addRange(1162,1327).addRange(1329,1366).addRange(1376,1416).addRange(1488,1514).addRange(1519,1522).addRange(1568,1610).addRange(1646,1647).addRange(1649,1747).addRange(1765,1766).addRange(1774,1775).addRange(1786,1788).addRange(1810,1839).addRange(1869,1957).addRange(1994,2026).addRange(2036,2037).addRange(2048,2069).addRange(2112,2136).addRange(2144,2154).addRange(2160,2183).addRange(2185,2190).addRange(2208,2249).addRange(2308,2361).addRange(2392,2401).addRange(2417,2432).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2524,2525).addRange(2527,2529).addRange(2544,2545).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611),a.addRange(2613,2614).addRange(2616,2617).addRange(2649,2652).addRange(2674,2676).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2784,2785).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2908,2909).addRange(2911,2913).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3077,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3160,3162).addRange(3168,3169).addRange(3205,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3293,3294).addRange(3296,3297).addRange(3313,3314).addRange(3332,3340).addRange(3342,3344).addRange(3346,3386).addRange(3412,3414).addRange(3423,3425).addRange(3450,3455).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526),a.addRange(3585,3632).addRange(3634,3635).addRange(3648,3654).addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3760).addRange(3762,3763).addRange(3776,3780).addRange(3804,3807).addRange(3904,3911).addRange(3913,3948).addRange(3976,3980).addRange(4096,4138).addRange(4176,4181).addRange(4186,4189).addRange(4197,4198).addRange(4206,4208).addRange(4213,4225).addRange(4256,4293).addRange(4304,4346).addRange(4348,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4992,5007).addRange(5024,5109).addRange(5112,5117).addRange(5121,5740).addRange(5743,5759).addRange(5761,5786).addRange(5792,5866).addRange(5870,5880).addRange(5888,5905).addRange(5919,5937).addRange(5952,5969).addRange(5984,5996).addRange(5998,6e3).addRange(6016,6067).addRange(6176,6264).addRange(6272,6312),a.addRange(6320,6389).addRange(6400,6430).addRange(6480,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6656,6678).addRange(6688,6740).addRange(6917,6963).addRange(6981,6988).addRange(7043,7072).addRange(7086,7087).addRange(7098,7141).addRange(7168,7203).addRange(7245,7247).addRange(7258,7293).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7401,7404).addRange(7406,7411).addRange(7413,7414).addRange(7424,7615).addRange(7680,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124).addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8336,8348).addRange(8458,8467).addRange(8472,8477).addRange(8490,8505).addRange(8508,8511).addRange(8517,8521).addRange(8544,8584).addRange(11264,11492).addRange(11499,11502).addRange(11506,11507).addRange(11520,11557).addRange(11568,11623).addRange(11648,11670),a.addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(12293,12295).addRange(12321,12329).addRange(12337,12341).addRange(12344,12348).addRange(12353,12438).addRange(12443,12447).addRange(12449,12538).addRange(12540,12543).addRange(12549,12591).addRange(12593,12686).addRange(12704,12735).addRange(12784,12799).addRange(13312,19903).addRange(19968,42124).addRange(42192,42237).addRange(42240,42508).addRange(42512,42527).addRange(42538,42539).addRange(42560,42606).addRange(42623,42653).addRange(42656,42735).addRange(42775,42783).addRange(42786,42888).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43009).addRange(43011,43013).addRange(43015,43018).addRange(43020,43042).addRange(43072,43123).addRange(43138,43187).addRange(43250,43255).addRange(43261,43262).addRange(43274,43301).addRange(43312,43334).addRange(43360,43388).addRange(43396,43442).addRange(43488,43492).addRange(43494,43503).addRange(43514,43518).addRange(43520,43560).addRange(43584,43586),a.addRange(43588,43595).addRange(43616,43638).addRange(43646,43695).addRange(43701,43702).addRange(43705,43709).addRange(43739,43741).addRange(43744,43754).addRange(43762,43764).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43866).addRange(43868,43881).addRange(43888,44002).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64287,64296).addRange(64298,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64433).addRange(64467,64829).addRange(64848,64911).addRange(64914,64967).addRange(65008,65019).addRange(65136,65140).addRange(65142,65276).addRange(65313,65338).addRange(65345,65370).addRange(65382,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65856,65908).addRange(66176,66204),a.addRange(66208,66256).addRange(66304,66335).addRange(66349,66378).addRange(66384,66421).addRange(66432,66461).addRange(66464,66499).addRange(66504,66511).addRange(66513,66517).addRange(66560,66717).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67680,67702).addRange(67712,67742).addRange(67808,67826).addRange(67828,67829).addRange(67840,67861).addRange(67872,67897).addRange(67968,68023).addRange(68030,68031).addRange(68112,68115).addRange(68117,68119).addRange(68121,68149).addRange(68192,68220).addRange(68224,68252).addRange(68288,68295).addRange(68297,68324).addRange(68352,68405).addRange(68416,68437).addRange(68448,68466).addRange(68480,68497).addRange(68608,68680),a.addRange(68736,68786).addRange(68800,68850).addRange(68864,68899).addRange(69248,69289).addRange(69296,69297).addRange(69376,69404).addRange(69424,69445).addRange(69488,69505).addRange(69552,69572).addRange(69600,69622).addRange(69635,69687).addRange(69745,69746).addRange(69763,69807).addRange(69840,69864).addRange(69891,69926).addRange(69968,70002).addRange(70019,70066).addRange(70081,70084).addRange(70144,70161).addRange(70163,70187).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70312).addRange(70320,70366).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70493,70497).addRange(70656,70708).addRange(70727,70730).addRange(70751,70753).addRange(70784,70831).addRange(70852,70853).addRange(71040,71086).addRange(71128,71131).addRange(71168,71215).addRange(71296,71338).addRange(71424,71450).addRange(71488,71494).addRange(71680,71723).addRange(71840,71903).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71983).addRange(72096,72103).addRange(72106,72144),a.addRange(72203,72242).addRange(72284,72329).addRange(72368,72440).addRange(72704,72712).addRange(72714,72750).addRange(72818,72847).addRange(72960,72966).addRange(72968,72969).addRange(72971,73008).addRange(73056,73061).addRange(73063,73064).addRange(73066,73097).addRange(73440,73458).addRange(73728,74649).addRange(74752,74862).addRange(74880,75075).addRange(77712,77808).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92784,92862).addRange(92880,92909).addRange(92928,92975).addRange(92992,92995).addRange(93027,93047).addRange(93053,93071).addRange(93760,93823).addRange(93952,94026).addRange(94099,94111).addRange(94176,94177).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993),a.addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120512).addRange(120514,120538).addRange(120540,120570).addRange(120572,120596).addRange(120598,120628).addRange(120630,120654).addRange(120656,120686).addRange(120688,120712).addRange(120714,120744).addRange(120746,120770).addRange(120772,120779).addRange(122624,122654).addRange(123136,123180).addRange(123191,123197).addRange(123536,123565).addRange(123584,123627).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125184,125251).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(131072,173791).addRange(173824,177976),a.addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=a},19586:(e,t,n)=>{const a=n(78776)(94180);a.addRange(12294,12295).addRange(12321,12329).addRange(12344,12346).addRange(13312,19903).addRange(19968,40959).addRange(63744,64109).addRange(64112,64217).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110960,111355).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=a},36983:(e,t,n)=>{const a=n(78776)();a.addRange(8204,8205),e.exports=a},72947:(e,t,n)=>{const a=n(78776)(6586,43705);a.addRange(3648,3652).addRange(3776,3780).addRange(6581,6583).addRange(43701,43702).addRange(43707,43708),e.exports=a},49111:(e,t,n)=>{const a=n(78776)(170,181,186,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,314,316,318,320,322,324,326,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,387,389,392,402,405,414,417,419,421,424,429,432,436,438,454,457,460,462,464,466,468,470,472,474,479,481,483,485,487,489,491,493,499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,572,578,583,585,587,589,837,881,883,887,912,985,987,989,991,993,995,997,999,1001,1003,1005,1013,1016,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,8126,8305,8319,8458,8467,8495,8500,8505,8526,8580,11361,11368,11370,11372,11377,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11500,11502,11507,11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42787,42789,42791,42793,42795,42797,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42927,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42963,42965,42967,42969,42998,67456,119995,120779);a.addRange(97,122).addRange(223,246).addRange(248,255).addRange(311,312).addRange(328,329).addRange(382,384).addRange(396,397).addRange(409,411).addRange(426,427).addRange(441,442).addRange(445,447).addRange(476,477).addRange(495,496).addRange(563,569).addRange(575,576).addRange(591,659).addRange(661,696).addRange(704,705).addRange(736,740).addRange(890,893).addRange(940,974).addRange(976,977).addRange(981,983).addRange(1007,1011).addRange(1019,1020).addRange(1072,1119).addRange(1230,1231).addRange(1376,1416).addRange(4304,4346).addRange(4349,4351).addRange(5112,5117).addRange(7296,7304).addRange(7424,7615).addRange(7829,7837).addRange(7935,7943).addRange(7952,7957).addRange(7968,7975).addRange(7984,7991).addRange(8e3,8005).addRange(8016,8023).addRange(8032,8039).addRange(8048,8061).addRange(8064,8071).addRange(8080,8087).addRange(8096,8103).addRange(8112,8116).addRange(8118,8119).addRange(8130,8132).addRange(8134,8135).addRange(8144,8147).addRange(8150,8151),a.addRange(8160,8167).addRange(8178,8180).addRange(8182,8183).addRange(8336,8348).addRange(8462,8463).addRange(8508,8509).addRange(8518,8521).addRange(8560,8575).addRange(9424,9449).addRange(11312,11359).addRange(11365,11366).addRange(11379,11380).addRange(11382,11389).addRange(11491,11492).addRange(11520,11557).addRange(42651,42653).addRange(42799,42801).addRange(42863,42872).addRange(42899,42901).addRange(43e3,43002).addRange(43824,43866).addRange(43868,43880).addRange(43888,43967).addRange(64256,64262).addRange(64275,64279).addRange(65345,65370).addRange(66600,66639).addRange(66776,66811).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67459,67461).addRange(67463,67504).addRange(67506,67514).addRange(68800,68850).addRange(71872,71903).addRange(93792,93823).addRange(119834,119859).addRange(119886,119892).addRange(119894,119911).addRange(119938,119963).addRange(119990,119993).addRange(119997,120003).addRange(120005,120015).addRange(120042,120067).addRange(120094,120119).addRange(120146,120171).addRange(120198,120223).addRange(120250,120275).addRange(120302,120327),a.addRange(120354,120379).addRange(120406,120431).addRange(120458,120485).addRange(120514,120538).addRange(120540,120545).addRange(120572,120596).addRange(120598,120603).addRange(120630,120654).addRange(120656,120661).addRange(120688,120712).addRange(120714,120719).addRange(120746,120770).addRange(120772,120777).addRange(122624,122633).addRange(122635,122654).addRange(125218,125251),e.exports=a},65667:(e,t,n)=>{const a=n(78776)(43,94,124,126,172,177,215,247,981,8214,8256,8260,8274,8417,8450,8455,8469,8484,8523,8669,9084,9143,9168,9698,9700,9792,9794,64297,65128,65291,65340,65342,65372,65374,65506,119970,119995,120134,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);a.addRange(60,62).addRange(976,978).addRange(1008,1009).addRange(1012,1014).addRange(1542,1544).addRange(8242,8244).addRange(8289,8292).addRange(8314,8318).addRange(8330,8334).addRange(8400,8412).addRange(8421,8422).addRange(8427,8431).addRange(8458,8467).addRange(8472,8477).addRange(8488,8489).addRange(8492,8493).addRange(8495,8497).addRange(8499,8504).addRange(8508,8521).addRange(8592,8615).addRange(8617,8622).addRange(8624,8625).addRange(8630,8631).addRange(8636,8667).addRange(8676,8677).addRange(8692,8959).addRange(8968,8971).addRange(8992,8993).addRange(9115,9141).addRange(9180,9186).addRange(9632,9633).addRange(9646,9655).addRange(9660,9665).addRange(9670,9671).addRange(9674,9675).addRange(9679,9683).addRange(9703,9708).addRange(9720,9727).addRange(9733,9734).addRange(9824,9827).addRange(9837,9839).addRange(10176,10239).addRange(10496,11007).addRange(11056,11076).addRange(11079,11084).addRange(65121,65126).addRange(65308,65310).addRange(65513,65516).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967),a.addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120779).addRange(120782,120831).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(126704,126705),e.exports=a},20052:(e,t,n)=>{const a=n(78776)();a.addRange(64976,65007).addRange(65534,65535).addRange(131070,131071).addRange(196606,196607).addRange(262142,262143).addRange(327678,327679).addRange(393214,393215).addRange(458750,458751).addRange(524286,524287).addRange(589822,589823).addRange(655358,655359).addRange(720894,720895).addRange(786430,786431).addRange(851966,851967).addRange(917502,917503).addRange(983038,983039).addRange(1048574,1048575).addRange(1114110,1114111),e.exports=a},60514:(e,t,n)=>{const a=n(78776)(96,169,174,182,187,191,215,247,12336);a.addRange(33,47).addRange(58,64).addRange(91,94).addRange(123,126).addRange(161,167).addRange(171,172).addRange(176,177).addRange(8208,8231).addRange(8240,8254).addRange(8257,8275).addRange(8277,8286).addRange(8592,9311).addRange(9472,10101).addRange(10132,11263).addRange(11776,11903).addRange(12289,12291).addRange(12296,12320).addRange(64830,64831).addRange(65093,65094),e.exports=a},78588:(e,t,n)=>{const a=n(78776)(32,133);a.addRange(9,13).addRange(8206,8207).addRange(8232,8233),e.exports=a},1053:(e,t,n)=>{const a=n(78776)(34,39,171,187,11842,65282,65287);a.addRange(8216,8223).addRange(8249,8250).addRange(12300,12303).addRange(12317,12319).addRange(65089,65092).addRange(65378,65379),e.exports=a},25361:(e,t,n)=>{const a=n(78776)();a.addRange(11904,11929).addRange(11931,12019).addRange(12032,12245),e.exports=a},94375:(e,t,n)=>{const a=n(78776)();a.addRange(127462,127487),e.exports=a},89697:(e,t,n)=>{const a=n(78776)(33,46,63,1417,1748,2041,2103,2105,4962,5742,6147,6153,11822,11836,12290,42239,42739,42743,43311,44011,65106,65281,65294,65311,65377,70093,70313,72004,72006,92917,92996,93848,113823,121480);a.addRange(1565,1567).addRange(1792,1794).addRange(2109,2110).addRange(2404,2405).addRange(4170,4171).addRange(4967,4968).addRange(5941,5942).addRange(6468,6469).addRange(6824,6827).addRange(7002,7003).addRange(7006,7007).addRange(7037,7038).addRange(7227,7228).addRange(7294,7295).addRange(8252,8253).addRange(8263,8265).addRange(11859,11860).addRange(42510,42511).addRange(43126,43127).addRange(43214,43215).addRange(43464,43465).addRange(43613,43615).addRange(43760,43761).addRange(65110,65111).addRange(68182,68183).addRange(69461,69465).addRange(69510,69513).addRange(69703,69704).addRange(69822,69825).addRange(69953,69955).addRange(70085,70086).addRange(70110,70111).addRange(70200,70201).addRange(70203,70204).addRange(70731,70732).addRange(71106,71107).addRange(71113,71127).addRange(71233,71234).addRange(71484,71486).addRange(72258,72259).addRange(72347,72348).addRange(72769,72770).addRange(73463,73464).addRange(92782,92783).addRange(92983,92984),e.exports=a},35514:(e,t,n)=>{const a=n(78776)(303,585,616,669,690,1011,1110,1112,7522,7574,7588,7592,7725,7883,8305,11388,122650);a.addRange(105,106).addRange(8520,8521).addRange(119842,119843).addRange(119894,119895).addRange(119946,119947).addRange(119998,119999).addRange(120050,120051).addRange(120102,120103).addRange(120154,120155).addRange(120206,120207).addRange(120258,120259).addRange(120310,120311).addRange(120362,120363).addRange(120414,120415).addRange(120466,120467),e.exports=a},21043:(e,t,n)=>{const a=n(78776)(33,44,46,63,894,903,1417,1475,1548,1563,1748,1804,2142,3848,5742,6106,11822,11836,11841,11852,43311,43743,44011,65281,65292,65294,65311,65377,65380,66463,66512,67671,67871,70093,70313,72004,72006,72817,92917,92996,113823);a.addRange(58,59).addRange(1565,1567).addRange(1792,1802).addRange(2040,2041).addRange(2096,2110).addRange(2404,2405).addRange(3674,3675).addRange(3853,3858).addRange(4170,4171).addRange(4961,4968).addRange(5867,5869).addRange(5941,5942).addRange(6100,6102).addRange(6146,6149).addRange(6152,6153).addRange(6468,6469).addRange(6824,6827).addRange(7002,7003).addRange(7005,7007).addRange(7037,7038).addRange(7227,7231).addRange(7294,7295).addRange(8252,8253).addRange(8263,8265).addRange(11854,11855).addRange(11859,11860).addRange(12289,12290).addRange(42238,42239).addRange(42509,42511).addRange(42739,42743).addRange(43126,43127).addRange(43214,43215).addRange(43463,43465).addRange(43613,43615).addRange(43760,43761).addRange(65104,65106).addRange(65108,65111).addRange(65306,65307).addRange(68182,68183).addRange(68336,68341).addRange(68410,68415).addRange(68505,68508).addRange(69461,69465).addRange(69510,69513).addRange(69703,69709).addRange(69822,69825).addRange(69953,69955).addRange(70085,70086).addRange(70110,70111).addRange(70200,70204).addRange(70731,70733),a.addRange(70746,70747).addRange(71106,71109).addRange(71113,71127).addRange(71233,71234).addRange(71484,71486).addRange(72258,72259).addRange(72347,72348).addRange(72353,72354).addRange(72769,72771).addRange(73463,73464).addRange(74864,74868).addRange(92782,92783).addRange(92983,92985).addRange(93847,93848).addRange(121479,121482),e.exports=a},75771:(e,t,n)=>{const a=n(78776)(64017,64031,64033);a.addRange(13312,19903).addRange(19968,40959).addRange(64014,64015).addRange(64019,64020).addRange(64035,64036).addRange(64039,64041).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(196608,201546),e.exports=a},28368:(e,t,n)=>{const a=n(78776)(256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,379,381,388,418,420,425,428,437,444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,577,584,586,588,590,880,882,886,895,902,908,975,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,4295,4301,7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,8025,8027,8029,8031,8450,8455,8469,8484,8486,8488,8517,8579,11360,11367,11369,11371,11378,11381,11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,42934,42936,42938,42940,42942,42944,42946,42953,42960,42966,42968,42997,119964,119970,120134,120778);a.addRange(65,90).addRange(192,214).addRange(216,222).addRange(376,377).addRange(385,386).addRange(390,391).addRange(393,395).addRange(398,401).addRange(403,404).addRange(406,408).addRange(412,413).addRange(415,416).addRange(422,423).addRange(430,431).addRange(433,435).addRange(439,440).addRange(502,504).addRange(570,571).addRange(573,574).addRange(579,582).addRange(904,906).addRange(910,911).addRange(913,929).addRange(931,939).addRange(978,980).addRange(1017,1018).addRange(1021,1071).addRange(1216,1217).addRange(1329,1366).addRange(4256,4293).addRange(5024,5109).addRange(7312,7354).addRange(7357,7359).addRange(7944,7951).addRange(7960,7965).addRange(7976,7983).addRange(7992,7999).addRange(8008,8013).addRange(8040,8047).addRange(8120,8123).addRange(8136,8139).addRange(8152,8155).addRange(8168,8172).addRange(8184,8187).addRange(8459,8461).addRange(8464,8466).addRange(8473,8477).addRange(8490,8493).addRange(8496,8499).addRange(8510,8511).addRange(8544,8559),a.addRange(9398,9423).addRange(11264,11311).addRange(11362,11364).addRange(11373,11376).addRange(11390,11392).addRange(42877,42878).addRange(42922,42926).addRange(42928,42932).addRange(42948,42951).addRange(65313,65338).addRange(66560,66599).addRange(66736,66771).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(68736,68786).addRange(71840,71871).addRange(93760,93791).addRange(119808,119833).addRange(119860,119885).addRange(119912,119937).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119989).addRange(120016,120041).addRange(120068,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120120,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120172,120197).addRange(120224,120249).addRange(120276,120301).addRange(120328,120353).addRange(120380,120405).addRange(120432,120457).addRange(120488,120512).addRange(120546,120570).addRange(120604,120628).addRange(120662,120686).addRange(120720,120744).addRange(125184,125217).addRange(127280,127305).addRange(127312,127337).addRange(127344,127369),e.exports=a},27186:(e,t,n)=>{const a=n(78776)(6159);a.addRange(6155,6157).addRange(65024,65039).addRange(917760,917999),e.exports=a},61846:(e,t,n)=>{const a=n(78776)(32,133,160,5760,8239,8287,12288);a.addRange(9,13).addRange(8192,8202).addRange(8232,8233),e.exports=a},74003:(e,t,n)=>{const a=n(78776)(95,170,181,183,186,748,750,895,908,1369,1471,1479,1791,2042,2045,2482,2519,2556,2558,2620,2641,2654,2768,2929,2972,3024,3031,3165,3517,3530,3542,3716,3749,3782,3840,3893,3895,3897,4038,4295,4301,4696,4800,6103,6823,8025,8027,8029,8126,8276,8305,8319,8417,8450,8455,8469,8484,8486,8488,8526,11559,11565,11631,42963,43052,43259,64318,65137,65139,65143,65145,65147,65149,65343,66045,66272,67592,67644,68159,69415,69826,70006,70108,70206,70280,70480,70487,70855,71236,71945,72263,72349,73018,73648,119970,119995,120134,121461,121476,123214,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);a.addRange(48,57).addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,705).addRange(710,721).addRange(736,740).addRange(768,884).addRange(886,887).addRange(891,893).addRange(902,906).addRange(910,929).addRange(931,1013).addRange(1015,1153).addRange(1155,1159).addRange(1162,1327).addRange(1329,1366).addRange(1376,1416).addRange(1425,1469).addRange(1473,1474).addRange(1476,1477).addRange(1488,1514).addRange(1519,1522).addRange(1552,1562).addRange(1568,1641).addRange(1646,1747).addRange(1749,1756).addRange(1759,1768).addRange(1770,1788).addRange(1808,1866).addRange(1869,1969).addRange(1984,2037).addRange(2048,2093).addRange(2112,2139).addRange(2144,2154).addRange(2160,2183).addRange(2185,2190).addRange(2200,2273).addRange(2275,2403).addRange(2406,2415).addRange(2417,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2492,2500).addRange(2503,2504).addRange(2507,2510).addRange(2524,2525),a.addRange(2527,2531).addRange(2534,2545).addRange(2561,2563).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2626).addRange(2631,2632).addRange(2635,2637).addRange(2649,2652).addRange(2662,2677).addRange(2689,2691).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2748,2757).addRange(2759,2761).addRange(2763,2765).addRange(2784,2787).addRange(2790,2799).addRange(2809,2815).addRange(2817,2819).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2876,2884).addRange(2887,2888).addRange(2891,2893).addRange(2901,2903).addRange(2908,2909).addRange(2911,2915).addRange(2918,2927).addRange(2946,2947).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001),a.addRange(3006,3010).addRange(3014,3016).addRange(3018,3021).addRange(3046,3055).addRange(3072,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3132,3140).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3160,3162).addRange(3168,3171).addRange(3174,3183).addRange(3200,3203).addRange(3205,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3260,3268).addRange(3270,3272).addRange(3274,3277).addRange(3285,3286).addRange(3293,3294).addRange(3296,3299).addRange(3302,3311).addRange(3313,3314).addRange(3328,3340).addRange(3342,3344).addRange(3346,3396).addRange(3398,3400).addRange(3402,3406).addRange(3412,3415).addRange(3423,3427).addRange(3430,3439).addRange(3450,3455).addRange(3457,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3535,3540).addRange(3544,3551).addRange(3558,3567).addRange(3570,3571).addRange(3585,3642).addRange(3648,3662).addRange(3664,3673).addRange(3713,3714),a.addRange(3718,3722).addRange(3724,3747).addRange(3751,3773).addRange(3776,3780).addRange(3784,3789).addRange(3792,3801).addRange(3804,3807).addRange(3864,3865).addRange(3872,3881).addRange(3902,3911).addRange(3913,3948).addRange(3953,3972).addRange(3974,3991).addRange(3993,4028).addRange(4096,4169).addRange(4176,4253).addRange(4256,4293).addRange(4304,4346).addRange(4348,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4957,4959).addRange(4969,4977).addRange(4992,5007).addRange(5024,5109).addRange(5112,5117).addRange(5121,5740).addRange(5743,5759).addRange(5761,5786).addRange(5792,5866).addRange(5870,5880).addRange(5888,5909).addRange(5919,5940).addRange(5952,5971).addRange(5984,5996).addRange(5998,6e3).addRange(6002,6003).addRange(6016,6099).addRange(6108,6109).addRange(6112,6121),a.addRange(6155,6157).addRange(6159,6169).addRange(6176,6264).addRange(6272,6314).addRange(6320,6389).addRange(6400,6430).addRange(6432,6443).addRange(6448,6459).addRange(6470,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6608,6618).addRange(6656,6683).addRange(6688,6750).addRange(6752,6780).addRange(6783,6793).addRange(6800,6809).addRange(6832,6845).addRange(6847,6862).addRange(6912,6988).addRange(6992,7001).addRange(7019,7027).addRange(7040,7155).addRange(7168,7223).addRange(7232,7241).addRange(7245,7293).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7376,7378).addRange(7380,7418).addRange(7424,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124).addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8255,8256).addRange(8336,8348).addRange(8400,8412).addRange(8421,8432),a.addRange(8458,8467).addRange(8472,8477).addRange(8490,8505).addRange(8508,8511).addRange(8517,8521).addRange(8544,8584).addRange(11264,11492).addRange(11499,11507).addRange(11520,11557).addRange(11568,11623).addRange(11647,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(11744,11775).addRange(12293,12295).addRange(12321,12335).addRange(12337,12341).addRange(12344,12348).addRange(12353,12438).addRange(12441,12442).addRange(12445,12447).addRange(12449,12538).addRange(12540,12543).addRange(12549,12591).addRange(12593,12686).addRange(12704,12735).addRange(12784,12799).addRange(13312,19903).addRange(19968,42124).addRange(42192,42237).addRange(42240,42508).addRange(42512,42539).addRange(42560,42607).addRange(42612,42621).addRange(42623,42737).addRange(42775,42783).addRange(42786,42888).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43047).addRange(43072,43123).addRange(43136,43205).addRange(43216,43225).addRange(43232,43255),a.addRange(43261,43309).addRange(43312,43347).addRange(43360,43388).addRange(43392,43456).addRange(43471,43481).addRange(43488,43518).addRange(43520,43574).addRange(43584,43597).addRange(43600,43609).addRange(43616,43638).addRange(43642,43714).addRange(43739,43741).addRange(43744,43759).addRange(43762,43766).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43866).addRange(43868,43881).addRange(43888,44010).addRange(44012,44013).addRange(44016,44025).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64285,64296).addRange(64298,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64433).addRange(64467,64605).addRange(64612,64829).addRange(64848,64911).addRange(64914,64967).addRange(65008,65017).addRange(65024,65039).addRange(65056,65071).addRange(65075,65076).addRange(65101,65103).addRange(65151,65276).addRange(65296,65305).addRange(65313,65338).addRange(65345,65370).addRange(65382,65470),a.addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65856,65908).addRange(66176,66204).addRange(66208,66256).addRange(66304,66335).addRange(66349,66378).addRange(66384,66426).addRange(66432,66461).addRange(66464,66499).addRange(66504,66511).addRange(66513,66517).addRange(66560,66717).addRange(66720,66729).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67680,67702).addRange(67712,67742).addRange(67808,67826).addRange(67828,67829).addRange(67840,67861).addRange(67872,67897),a.addRange(67968,68023).addRange(68030,68031).addRange(68096,68099).addRange(68101,68102).addRange(68108,68115).addRange(68117,68119).addRange(68121,68149).addRange(68152,68154).addRange(68192,68220).addRange(68224,68252).addRange(68288,68295).addRange(68297,68326).addRange(68352,68405).addRange(68416,68437).addRange(68448,68466).addRange(68480,68497).addRange(68608,68680).addRange(68736,68786).addRange(68800,68850).addRange(68864,68903).addRange(68912,68921).addRange(69248,69289).addRange(69291,69292).addRange(69296,69297).addRange(69376,69404).addRange(69424,69456).addRange(69488,69509).addRange(69552,69572).addRange(69600,69622).addRange(69632,69702).addRange(69734,69749).addRange(69759,69818).addRange(69840,69864).addRange(69872,69881).addRange(69888,69940).addRange(69942,69951).addRange(69956,69959).addRange(69968,70003).addRange(70016,70084).addRange(70089,70092).addRange(70094,70106).addRange(70144,70161).addRange(70163,70199).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70312).addRange(70320,70378).addRange(70384,70393).addRange(70400,70403).addRange(70405,70412),a.addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70459,70468).addRange(70471,70472).addRange(70475,70477).addRange(70493,70499).addRange(70502,70508).addRange(70512,70516).addRange(70656,70730).addRange(70736,70745).addRange(70750,70753).addRange(70784,70853).addRange(70864,70873).addRange(71040,71093).addRange(71096,71104).addRange(71128,71133).addRange(71168,71232).addRange(71248,71257).addRange(71296,71352).addRange(71360,71369).addRange(71424,71450).addRange(71453,71467).addRange(71472,71481).addRange(71488,71494).addRange(71680,71738).addRange(71840,71913).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71989).addRange(71991,71992).addRange(71995,72003).addRange(72016,72025).addRange(72096,72103).addRange(72106,72151).addRange(72154,72161).addRange(72163,72164).addRange(72192,72254).addRange(72272,72345).addRange(72368,72440).addRange(72704,72712).addRange(72714,72758).addRange(72760,72768).addRange(72784,72793).addRange(72818,72847).addRange(72850,72871).addRange(72873,72886).addRange(72960,72966),a.addRange(72968,72969).addRange(72971,73014).addRange(73020,73021).addRange(73023,73031).addRange(73040,73049).addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73104,73105).addRange(73107,73112).addRange(73120,73129).addRange(73440,73462).addRange(73728,74649).addRange(74752,74862).addRange(74880,75075).addRange(77712,77808).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92768,92777).addRange(92784,92862).addRange(92864,92873).addRange(92880,92909).addRange(92912,92916).addRange(92928,92982).addRange(92992,92995).addRange(93008,93017).addRange(93027,93047).addRange(93053,93071).addRange(93760,93823).addRange(93952,94026).addRange(94031,94087).addRange(94095,94111).addRange(94176,94177).addRange(94179,94180).addRange(94192,94193).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817),a.addRange(113821,113822).addRange(118528,118573).addRange(118576,118598).addRange(119141,119145).addRange(119149,119154).addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(119362,119364).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120512).addRange(120514,120538).addRange(120540,120570).addRange(120572,120596).addRange(120598,120628).addRange(120630,120654).addRange(120656,120686).addRange(120688,120712).addRange(120714,120744).addRange(120746,120770).addRange(120772,120779).addRange(120782,120831).addRange(121344,121398).addRange(121403,121452).addRange(121499,121503).addRange(121505,121519).addRange(122624,122654).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123136,123180).addRange(123184,123197).addRange(123200,123209).addRange(123536,123566),a.addRange(123584,123641).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125136,125142).addRange(125184,125259).addRange(125264,125273).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(130032,130041).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546).addRange(917760,917999),e.exports=a},3468:(e,t,n)=>{const a=n(78776)(170,181,186,748,750,895,902,908,1369,1749,1791,1808,1969,2042,2074,2084,2088,2365,2384,2482,2493,2510,2556,2654,2749,2768,2809,2877,2929,2947,2972,3024,3133,3165,3200,3261,3389,3406,3517,3634,3716,3749,3762,3773,3782,3840,4159,4193,4238,4295,4301,4696,4800,6103,6108,6314,6823,7418,8025,8027,8029,8126,8305,8319,8450,8455,8469,8484,8486,8488,8526,11559,11565,11631,42963,43259,43471,43642,43697,43712,43714,64285,64318,65137,65139,65143,65145,65147,65149,67592,67644,68096,69415,69749,69956,69959,70006,70106,70108,70280,70461,70480,70855,71236,71352,71945,71999,72001,72161,72163,72192,72250,72272,72349,72768,73030,73112,73648,94032,94179,119970,119995,120134,123214,125259,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);a.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,705).addRange(710,721).addRange(736,740).addRange(880,884).addRange(886,887).addRange(891,893).addRange(904,906).addRange(910,929).addRange(931,1013).addRange(1015,1153).addRange(1162,1327).addRange(1329,1366).addRange(1376,1416).addRange(1488,1514).addRange(1519,1522).addRange(1568,1610).addRange(1646,1647).addRange(1649,1747).addRange(1765,1766).addRange(1774,1775).addRange(1786,1788).addRange(1810,1839).addRange(1869,1957).addRange(1994,2026).addRange(2036,2037).addRange(2048,2069).addRange(2112,2136).addRange(2144,2154).addRange(2160,2183).addRange(2185,2190).addRange(2208,2249).addRange(2308,2361).addRange(2392,2401).addRange(2417,2432).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2524,2525).addRange(2527,2529).addRange(2544,2545).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611),a.addRange(2613,2614).addRange(2616,2617).addRange(2649,2652).addRange(2674,2676).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2784,2785).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2908,2909).addRange(2911,2913).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3077,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3160,3162).addRange(3168,3169).addRange(3205,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3293,3294).addRange(3296,3297).addRange(3313,3314).addRange(3332,3340).addRange(3342,3344).addRange(3346,3386).addRange(3412,3414).addRange(3423,3425).addRange(3450,3455).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526),a.addRange(3585,3632).addRange(3648,3654).addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3760).addRange(3776,3780).addRange(3804,3807).addRange(3904,3911).addRange(3913,3948).addRange(3976,3980).addRange(4096,4138).addRange(4176,4181).addRange(4186,4189).addRange(4197,4198).addRange(4206,4208).addRange(4213,4225).addRange(4256,4293).addRange(4304,4346).addRange(4348,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4992,5007).addRange(5024,5109).addRange(5112,5117).addRange(5121,5740).addRange(5743,5759).addRange(5761,5786).addRange(5792,5866).addRange(5870,5880).addRange(5888,5905).addRange(5919,5937).addRange(5952,5969).addRange(5984,5996).addRange(5998,6e3).addRange(6016,6067).addRange(6176,6264).addRange(6272,6312).addRange(6320,6389).addRange(6400,6430),a.addRange(6480,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6656,6678).addRange(6688,6740).addRange(6917,6963).addRange(6981,6988).addRange(7043,7072).addRange(7086,7087).addRange(7098,7141).addRange(7168,7203).addRange(7245,7247).addRange(7258,7293).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7401,7404).addRange(7406,7411).addRange(7413,7414).addRange(7424,7615).addRange(7680,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124).addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8336,8348).addRange(8458,8467).addRange(8472,8477).addRange(8490,8505).addRange(8508,8511).addRange(8517,8521).addRange(8544,8584).addRange(11264,11492).addRange(11499,11502).addRange(11506,11507).addRange(11520,11557).addRange(11568,11623).addRange(11648,11670).addRange(11680,11686).addRange(11688,11694),a.addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(12293,12295).addRange(12321,12329).addRange(12337,12341).addRange(12344,12348).addRange(12353,12438).addRange(12445,12447).addRange(12449,12538).addRange(12540,12543).addRange(12549,12591).addRange(12593,12686).addRange(12704,12735).addRange(12784,12799).addRange(13312,19903).addRange(19968,42124).addRange(42192,42237).addRange(42240,42508).addRange(42512,42527).addRange(42538,42539).addRange(42560,42606).addRange(42623,42653).addRange(42656,42735).addRange(42775,42783).addRange(42786,42888).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43009).addRange(43011,43013).addRange(43015,43018).addRange(43020,43042).addRange(43072,43123).addRange(43138,43187).addRange(43250,43255).addRange(43261,43262).addRange(43274,43301).addRange(43312,43334).addRange(43360,43388).addRange(43396,43442).addRange(43488,43492).addRange(43494,43503).addRange(43514,43518).addRange(43520,43560).addRange(43584,43586).addRange(43588,43595).addRange(43616,43638),a.addRange(43646,43695).addRange(43701,43702).addRange(43705,43709).addRange(43739,43741).addRange(43744,43754).addRange(43762,43764).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43866).addRange(43868,43881).addRange(43888,44002).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64287,64296).addRange(64298,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64433).addRange(64467,64605).addRange(64612,64829).addRange(64848,64911).addRange(64914,64967).addRange(65008,65017).addRange(65151,65276).addRange(65313,65338).addRange(65345,65370).addRange(65382,65437).addRange(65440,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65856,65908).addRange(66176,66204).addRange(66208,66256),a.addRange(66304,66335).addRange(66349,66378).addRange(66384,66421).addRange(66432,66461).addRange(66464,66499).addRange(66504,66511).addRange(66513,66517).addRange(66560,66717).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67680,67702).addRange(67712,67742).addRange(67808,67826).addRange(67828,67829).addRange(67840,67861).addRange(67872,67897).addRange(67968,68023).addRange(68030,68031).addRange(68112,68115).addRange(68117,68119).addRange(68121,68149).addRange(68192,68220).addRange(68224,68252).addRange(68288,68295).addRange(68297,68324).addRange(68352,68405).addRange(68416,68437).addRange(68448,68466).addRange(68480,68497).addRange(68608,68680).addRange(68736,68786),a.addRange(68800,68850).addRange(68864,68899).addRange(69248,69289).addRange(69296,69297).addRange(69376,69404).addRange(69424,69445).addRange(69488,69505).addRange(69552,69572).addRange(69600,69622).addRange(69635,69687).addRange(69745,69746).addRange(69763,69807).addRange(69840,69864).addRange(69891,69926).addRange(69968,70002).addRange(70019,70066).addRange(70081,70084).addRange(70144,70161).addRange(70163,70187).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70312).addRange(70320,70366).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70493,70497).addRange(70656,70708).addRange(70727,70730).addRange(70751,70753).addRange(70784,70831).addRange(70852,70853).addRange(71040,71086).addRange(71128,71131).addRange(71168,71215).addRange(71296,71338).addRange(71424,71450).addRange(71488,71494).addRange(71680,71723).addRange(71840,71903).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71983).addRange(72096,72103).addRange(72106,72144).addRange(72203,72242),a.addRange(72284,72329).addRange(72368,72440).addRange(72704,72712).addRange(72714,72750).addRange(72818,72847).addRange(72960,72966).addRange(72968,72969).addRange(72971,73008).addRange(73056,73061).addRange(73063,73064).addRange(73066,73097).addRange(73440,73458).addRange(73728,74649).addRange(74752,74862).addRange(74880,75075).addRange(77712,77808).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92784,92862).addRange(92880,92909).addRange(92928,92975).addRange(92992,92995).addRange(93027,93047).addRange(93053,93071).addRange(93760,93823).addRange(93952,94026).addRange(94099,94111).addRange(94176,94177).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003),a.addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120512).addRange(120514,120538).addRange(120540,120570).addRange(120572,120596).addRange(120598,120628).addRange(120630,120654).addRange(120656,120686).addRange(120688,120712).addRange(120714,120744).addRange(120746,120770).addRange(120772,120779).addRange(122624,122654).addRange(123136,123180).addRange(123191,123197).addRange(123536,123565).addRange(123584,123627).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125184,125251).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205),a.addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=a},13090:(e,t,n)=>{const a=n(78776)(181,895,902,908,4295,4301,8025,8027,8029,8126,8450,8455,8469,8484,8486,8488,8505,8526,11559,11565,42963,43002,119970,119995,120134);a.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,442).addRange(444,447).addRange(452,659).addRange(661,687).addRange(880,883).addRange(886,887).addRange(891,893).addRange(904,906).addRange(910,929).addRange(931,1013).addRange(1015,1153).addRange(1162,1327).addRange(1329,1366).addRange(1376,1416).addRange(4256,4293).addRange(4304,4346).addRange(4349,4351).addRange(5024,5109).addRange(5112,5117).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7424,7467).addRange(7531,7543).addRange(7545,7578).addRange(7680,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124).addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8458,8467).addRange(8473,8477).addRange(8490,8493).addRange(8495,8500).addRange(8508,8511).addRange(8517,8521).addRange(8579,8580),a.addRange(11264,11387).addRange(11390,11492).addRange(11499,11502).addRange(11506,11507).addRange(11520,11557).addRange(42560,42605).addRange(42624,42651).addRange(42786,42863).addRange(42865,42887).addRange(42891,42894).addRange(42896,42954).addRange(42960,42961).addRange(42965,42969).addRange(42997,42998).addRange(43824,43866).addRange(43872,43880).addRange(43888,43967).addRange(64256,64262).addRange(64275,64279).addRange(65313,65338).addRange(65345,65370).addRange(66560,66639).addRange(66736,66771).addRange(66776,66811).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(68736,68786).addRange(68800,68850).addRange(71840,71903).addRange(93760,93823).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144),a.addRange(120146,120485).addRange(120488,120512).addRange(120514,120538).addRange(120540,120570).addRange(120572,120596).addRange(120598,120628).addRange(120630,120654).addRange(120656,120686).addRange(120688,120712).addRange(120714,120744).addRange(120746,120770).addRange(120772,120779).addRange(122624,122633).addRange(122635,122654).addRange(125184,125251),e.exports=a},8526:(e,t,n)=>{const a=n(78776)(41,93,125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,12297,12299,12301,12303,12305,12309,12311,12313,12315,64830,65048,65078,65080,65082,65084,65086,65088,65090,65092,65096,65114,65116,65118,65289,65341,65373,65376,65379);a.addRange(12318,12319),e.exports=a},26100:(e,t,n)=>{const a=n(78776)(95,8276,65343);a.addRange(8255,8256).addRange(65075,65076).addRange(65101,65103),e.exports=a},80282:(e,t,n)=>{const a=n(78776)();a.addRange(0,31).addRange(127,159),e.exports=a},15352:(e,t,n)=>{const a=n(78776)(36,1423,1547,2555,2801,3065,3647,6107,43064,65020,65129,65284,123647,126128);a.addRange(162,165).addRange(2046,2047).addRange(2546,2547).addRange(8352,8384).addRange(65504,65505).addRange(65509,65510).addRange(73693,73696),e.exports=a},45647:(e,t,n)=>{const a=n(78776)(45,1418,1470,5120,6150,11799,11802,11840,11869,12316,12336,12448,65112,65123,65293,69293);a.addRange(8208,8213).addRange(11834,11835).addRange(65073,65074),e.exports=a},98349:(e,t,n)=>{const a=n(78776)();a.addRange(48,57).addRange(1632,1641).addRange(1776,1785).addRange(1984,1993).addRange(2406,2415).addRange(2534,2543).addRange(2662,2671).addRange(2790,2799).addRange(2918,2927).addRange(3046,3055).addRange(3174,3183).addRange(3302,3311).addRange(3430,3439).addRange(3558,3567).addRange(3664,3673).addRange(3792,3801).addRange(3872,3881).addRange(4160,4169).addRange(4240,4249).addRange(6112,6121).addRange(6160,6169).addRange(6470,6479).addRange(6608,6617).addRange(6784,6793).addRange(6800,6809).addRange(6992,7001).addRange(7088,7097).addRange(7232,7241).addRange(7248,7257).addRange(42528,42537).addRange(43216,43225).addRange(43264,43273).addRange(43472,43481).addRange(43504,43513).addRange(43600,43609).addRange(44016,44025).addRange(65296,65305).addRange(66720,66729).addRange(68912,68921).addRange(69734,69743).addRange(69872,69881).addRange(69942,69951).addRange(70096,70105).addRange(70384,70393).addRange(70736,70745).addRange(70864,70873).addRange(71248,71257).addRange(71360,71369).addRange(71472,71481).addRange(71904,71913).addRange(72016,72025),a.addRange(72784,72793).addRange(73040,73049).addRange(73120,73129).addRange(92768,92777).addRange(92864,92873).addRange(93008,93017).addRange(120782,120831).addRange(123200,123209).addRange(123632,123641).addRange(125264,125273).addRange(130032,130041),e.exports=a},18220:(e,t,n)=>{const a=n(78776)(6846);a.addRange(1160,1161).addRange(8413,8416).addRange(8418,8420).addRange(42608,42610),e.exports=a},88482:(e,t,n)=>{const a=n(78776)(187,8217,8221,8250,11779,11781,11786,11789,11805,11809);e.exports=a},87586:(e,t,n)=>{const a=n(78776)(173,1564,1757,1807,2274,6158,65279,69821,69837,917505);a.addRange(1536,1541).addRange(2192,2193).addRange(8203,8207).addRange(8234,8238).addRange(8288,8292).addRange(8294,8303).addRange(65529,65531).addRange(78896,78904).addRange(113824,113827).addRange(119155,119162).addRange(917536,917631),e.exports=a},88147:(e,t,n)=>{const a=n(78776)(171,8216,8223,8249,11778,11780,11785,11788,11804,11808);a.addRange(8219,8220),e.exports=a},65964:(e,t,n)=>{const a=n(78776)(170,181,186,748,750,895,902,908,1369,1749,1791,1808,1969,2042,2074,2084,2088,2365,2384,2482,2493,2510,2556,2654,2749,2768,2809,2877,2929,2947,2972,3024,3133,3165,3200,3261,3389,3406,3517,3716,3749,3773,3782,3840,4159,4193,4238,4295,4301,4696,4800,6103,6108,6314,6823,7418,8025,8027,8029,8126,8305,8319,8450,8455,8469,8484,8486,8488,8526,11559,11565,11631,11823,42963,43259,43471,43642,43697,43712,43714,64285,64318,67592,67644,68096,69415,69749,69956,69959,70006,70106,70108,70280,70461,70480,70855,71236,71352,71945,71999,72001,72161,72163,72192,72250,72272,72349,72768,73030,73112,73648,94032,94179,119970,119995,120134,123214,125259,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);a.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,705).addRange(710,721).addRange(736,740).addRange(880,884).addRange(886,887).addRange(890,893).addRange(904,906).addRange(910,929).addRange(931,1013).addRange(1015,1153).addRange(1162,1327).addRange(1329,1366).addRange(1376,1416).addRange(1488,1514).addRange(1519,1522).addRange(1568,1610).addRange(1646,1647).addRange(1649,1747).addRange(1765,1766).addRange(1774,1775).addRange(1786,1788).addRange(1810,1839).addRange(1869,1957).addRange(1994,2026).addRange(2036,2037).addRange(2048,2069).addRange(2112,2136).addRange(2144,2154).addRange(2160,2183).addRange(2185,2190).addRange(2208,2249).addRange(2308,2361).addRange(2392,2401).addRange(2417,2432).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2524,2525).addRange(2527,2529).addRange(2544,2545).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611),a.addRange(2613,2614).addRange(2616,2617).addRange(2649,2652).addRange(2674,2676).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2784,2785).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2908,2909).addRange(2911,2913).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3077,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3160,3162).addRange(3168,3169).addRange(3205,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3293,3294).addRange(3296,3297).addRange(3313,3314).addRange(3332,3340).addRange(3342,3344).addRange(3346,3386).addRange(3412,3414).addRange(3423,3425).addRange(3450,3455).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526),a.addRange(3585,3632).addRange(3634,3635).addRange(3648,3654).addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3760).addRange(3762,3763).addRange(3776,3780).addRange(3804,3807).addRange(3904,3911).addRange(3913,3948).addRange(3976,3980).addRange(4096,4138).addRange(4176,4181).addRange(4186,4189).addRange(4197,4198).addRange(4206,4208).addRange(4213,4225).addRange(4256,4293).addRange(4304,4346).addRange(4348,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4992,5007).addRange(5024,5109).addRange(5112,5117).addRange(5121,5740).addRange(5743,5759).addRange(5761,5786).addRange(5792,5866).addRange(5873,5880).addRange(5888,5905).addRange(5919,5937).addRange(5952,5969).addRange(5984,5996).addRange(5998,6e3).addRange(6016,6067).addRange(6176,6264).addRange(6272,6276),a.addRange(6279,6312).addRange(6320,6389).addRange(6400,6430).addRange(6480,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6656,6678).addRange(6688,6740).addRange(6917,6963).addRange(6981,6988).addRange(7043,7072).addRange(7086,7087).addRange(7098,7141).addRange(7168,7203).addRange(7245,7247).addRange(7258,7293).addRange(7296,7304).addRange(7312,7354).addRange(7357,7359).addRange(7401,7404).addRange(7406,7411).addRange(7413,7414).addRange(7424,7615).addRange(7680,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8124).addRange(8130,8132).addRange(8134,8140).addRange(8144,8147).addRange(8150,8155).addRange(8160,8172).addRange(8178,8180).addRange(8182,8188).addRange(8336,8348).addRange(8458,8467).addRange(8473,8477).addRange(8490,8493).addRange(8495,8505).addRange(8508,8511).addRange(8517,8521).addRange(8579,8580).addRange(11264,11492).addRange(11499,11502).addRange(11506,11507).addRange(11520,11557),a.addRange(11568,11623).addRange(11648,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(12293,12294).addRange(12337,12341).addRange(12347,12348).addRange(12353,12438).addRange(12445,12447).addRange(12449,12538).addRange(12540,12543).addRange(12549,12591).addRange(12593,12686).addRange(12704,12735).addRange(12784,12799).addRange(13312,19903).addRange(19968,42124).addRange(42192,42237).addRange(42240,42508).addRange(42512,42527).addRange(42538,42539).addRange(42560,42606).addRange(42623,42653).addRange(42656,42725).addRange(42775,42783).addRange(42786,42888).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43009).addRange(43011,43013).addRange(43015,43018).addRange(43020,43042).addRange(43072,43123).addRange(43138,43187).addRange(43250,43255).addRange(43261,43262).addRange(43274,43301).addRange(43312,43334).addRange(43360,43388).addRange(43396,43442).addRange(43488,43492).addRange(43494,43503).addRange(43514,43518).addRange(43520,43560),a.addRange(43584,43586).addRange(43588,43595).addRange(43616,43638).addRange(43646,43695).addRange(43701,43702).addRange(43705,43709).addRange(43739,43741).addRange(43744,43754).addRange(43762,43764).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43824,43866).addRange(43868,43881).addRange(43888,44002).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64256,64262).addRange(64275,64279).addRange(64287,64296).addRange(64298,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64433).addRange(64467,64829).addRange(64848,64911).addRange(64914,64967).addRange(65008,65019).addRange(65136,65140).addRange(65142,65276).addRange(65313,65338).addRange(65345,65370).addRange(65382,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(66176,66204),a.addRange(66208,66256).addRange(66304,66335).addRange(66349,66368).addRange(66370,66377).addRange(66384,66421).addRange(66432,66461).addRange(66464,66499).addRange(66504,66511).addRange(66560,66717).addRange(66736,66771).addRange(66776,66811).addRange(66816,66855).addRange(66864,66915).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67680,67702).addRange(67712,67742).addRange(67808,67826).addRange(67828,67829).addRange(67840,67861).addRange(67872,67897).addRange(67968,68023).addRange(68030,68031).addRange(68112,68115).addRange(68117,68119).addRange(68121,68149).addRange(68192,68220).addRange(68224,68252).addRange(68288,68295).addRange(68297,68324).addRange(68352,68405).addRange(68416,68437).addRange(68448,68466).addRange(68480,68497).addRange(68608,68680),a.addRange(68736,68786).addRange(68800,68850).addRange(68864,68899).addRange(69248,69289).addRange(69296,69297).addRange(69376,69404).addRange(69424,69445).addRange(69488,69505).addRange(69552,69572).addRange(69600,69622).addRange(69635,69687).addRange(69745,69746).addRange(69763,69807).addRange(69840,69864).addRange(69891,69926).addRange(69968,70002).addRange(70019,70066).addRange(70081,70084).addRange(70144,70161).addRange(70163,70187).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70312).addRange(70320,70366).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70493,70497).addRange(70656,70708).addRange(70727,70730).addRange(70751,70753).addRange(70784,70831).addRange(70852,70853).addRange(71040,71086).addRange(71128,71131).addRange(71168,71215).addRange(71296,71338).addRange(71424,71450).addRange(71488,71494).addRange(71680,71723).addRange(71840,71903).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71983).addRange(72096,72103).addRange(72106,72144),a.addRange(72203,72242).addRange(72284,72329).addRange(72368,72440).addRange(72704,72712).addRange(72714,72750).addRange(72818,72847).addRange(72960,72966).addRange(72968,72969).addRange(72971,73008).addRange(73056,73061).addRange(73063,73064).addRange(73066,73097).addRange(73440,73458).addRange(73728,74649).addRange(74880,75075).addRange(77712,77808).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92784,92862).addRange(92880,92909).addRange(92928,92975).addRange(92992,92995).addRange(93027,93047).addRange(93053,93071).addRange(93760,93823).addRange(93952,94026).addRange(94099,94111).addRange(94176,94177).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110592,110882).addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003),a.addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120512).addRange(120514,120538).addRange(120540,120570).addRange(120572,120596).addRange(120598,120628).addRange(120630,120654).addRange(120656,120686).addRange(120688,120712).addRange(120714,120744).addRange(120746,120770).addRange(120772,120779).addRange(122624,122654).addRange(123136,123180).addRange(123191,123197).addRange(123536,123565).addRange(123584,123627).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(125184,125251).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205),a.addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=a},66793:(e,t,n)=>{const a=n(78776)(12295,66369,66378);a.addRange(5870,5872).addRange(8544,8578).addRange(8581,8584).addRange(12321,12329).addRange(12344,12346).addRange(42726,42735).addRange(65856,65908).addRange(66513,66517).addRange(74752,74862),e.exports=a},63061:(e,t,n)=>{const a=n(78776)(8232);e.exports=a},19340:(e,t,n)=>{const a=n(78776)(181,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,314,316,318,320,322,324,326,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,387,389,392,402,405,414,417,419,421,424,429,432,436,438,454,457,460,462,464,466,468,470,472,474,479,481,483,485,487,489,491,493,499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,572,578,583,585,587,589,881,883,887,912,985,987,989,991,993,995,997,999,1001,1003,1005,1013,1016,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,8126,8458,8467,8495,8500,8505,8526,8580,11361,11368,11370,11372,11377,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11500,11502,11507,11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42927,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42963,42965,42967,42969,42998,43002,119995,120779);a.addRange(97,122).addRange(223,246).addRange(248,255).addRange(311,312).addRange(328,329).addRange(382,384).addRange(396,397).addRange(409,411).addRange(426,427).addRange(441,442).addRange(445,447).addRange(476,477).addRange(495,496).addRange(563,569).addRange(575,576).addRange(591,659).addRange(661,687).addRange(891,893).addRange(940,974).addRange(976,977).addRange(981,983).addRange(1007,1011).addRange(1019,1020).addRange(1072,1119).addRange(1230,1231).addRange(1376,1416).addRange(4304,4346).addRange(4349,4351).addRange(5112,5117).addRange(7296,7304).addRange(7424,7467).addRange(7531,7543).addRange(7545,7578).addRange(7829,7837).addRange(7935,7943).addRange(7952,7957).addRange(7968,7975).addRange(7984,7991).addRange(8e3,8005).addRange(8016,8023).addRange(8032,8039).addRange(8048,8061).addRange(8064,8071).addRange(8080,8087).addRange(8096,8103).addRange(8112,8116).addRange(8118,8119).addRange(8130,8132).addRange(8134,8135).addRange(8144,8147).addRange(8150,8151),a.addRange(8160,8167).addRange(8178,8180).addRange(8182,8183).addRange(8462,8463).addRange(8508,8509).addRange(8518,8521).addRange(11312,11359).addRange(11365,11366).addRange(11379,11380).addRange(11382,11387).addRange(11491,11492).addRange(11520,11557).addRange(42799,42801).addRange(42865,42872).addRange(42899,42901).addRange(43824,43866).addRange(43872,43880).addRange(43888,43967).addRange(64256,64262).addRange(64275,64279).addRange(65345,65370).addRange(66600,66639).addRange(66776,66811).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004).addRange(68800,68850).addRange(71872,71903).addRange(93792,93823).addRange(119834,119859).addRange(119886,119892).addRange(119894,119911).addRange(119938,119963).addRange(119990,119993).addRange(119997,120003).addRange(120005,120015).addRange(120042,120067).addRange(120094,120119).addRange(120146,120171).addRange(120198,120223).addRange(120250,120275).addRange(120302,120327).addRange(120354,120379).addRange(120406,120431).addRange(120458,120485).addRange(120514,120538).addRange(120540,120545).addRange(120572,120596).addRange(120598,120603).addRange(120630,120654),a.addRange(120656,120661).addRange(120688,120712).addRange(120714,120719).addRange(120746,120770).addRange(120772,120777).addRange(122624,122633).addRange(122635,122654).addRange(125218,125251),e.exports=a},93748:(e,t,n)=>{const a=n(78776)(1471,1479,1648,1809,2045,2492,2519,2558,2620,2641,2677,2748,2876,2946,3031,3132,3260,3415,3530,3542,3633,3761,3893,3895,3897,4038,4239,6109,6159,6313,6783,7405,7412,11647,43010,43014,43019,43052,43263,43493,43587,43696,43713,64286,66045,66272,68159,69744,69826,70003,70206,70487,70750,72e3,72164,72263,73018,73031,94031,94180,121461,121476,123566);a.addRange(768,879).addRange(1155,1161).addRange(1425,1469).addRange(1473,1474).addRange(1476,1477).addRange(1552,1562).addRange(1611,1631).addRange(1750,1756).addRange(1759,1764).addRange(1767,1768).addRange(1770,1773).addRange(1840,1866).addRange(1958,1968).addRange(2027,2035).addRange(2070,2073).addRange(2075,2083).addRange(2085,2087).addRange(2089,2093).addRange(2137,2139).addRange(2200,2207).addRange(2250,2273).addRange(2275,2307).addRange(2362,2364).addRange(2366,2383).addRange(2385,2391).addRange(2402,2403).addRange(2433,2435).addRange(2494,2500).addRange(2503,2504).addRange(2507,2509).addRange(2530,2531).addRange(2561,2563).addRange(2622,2626).addRange(2631,2632).addRange(2635,2637).addRange(2672,2673).addRange(2689,2691).addRange(2750,2757).addRange(2759,2761).addRange(2763,2765).addRange(2786,2787).addRange(2810,2815).addRange(2817,2819).addRange(2878,2884).addRange(2887,2888).addRange(2891,2893).addRange(2901,2903).addRange(2914,2915).addRange(3006,3010).addRange(3014,3016).addRange(3018,3021),a.addRange(3072,3076).addRange(3134,3140).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3170,3171).addRange(3201,3203).addRange(3262,3268).addRange(3270,3272).addRange(3274,3277).addRange(3285,3286).addRange(3298,3299).addRange(3328,3331).addRange(3387,3388).addRange(3390,3396).addRange(3398,3400).addRange(3402,3405).addRange(3426,3427).addRange(3457,3459).addRange(3535,3540).addRange(3544,3551).addRange(3570,3571).addRange(3636,3642).addRange(3655,3662).addRange(3764,3772).addRange(3784,3789).addRange(3864,3865).addRange(3902,3903).addRange(3953,3972).addRange(3974,3975).addRange(3981,3991).addRange(3993,4028).addRange(4139,4158).addRange(4182,4185).addRange(4190,4192).addRange(4194,4196).addRange(4199,4205).addRange(4209,4212).addRange(4226,4237).addRange(4250,4253).addRange(4957,4959).addRange(5906,5909).addRange(5938,5940).addRange(5970,5971).addRange(6002,6003).addRange(6068,6099).addRange(6155,6157).addRange(6277,6278).addRange(6432,6443).addRange(6448,6459).addRange(6679,6683),a.addRange(6741,6750).addRange(6752,6780).addRange(6832,6862).addRange(6912,6916).addRange(6964,6980).addRange(7019,7027).addRange(7040,7042).addRange(7073,7085).addRange(7142,7155).addRange(7204,7223).addRange(7376,7378).addRange(7380,7400).addRange(7415,7417).addRange(7616,7679).addRange(8400,8432).addRange(11503,11505).addRange(11744,11775).addRange(12330,12335).addRange(12441,12442).addRange(42607,42610).addRange(42612,42621).addRange(42654,42655).addRange(42736,42737).addRange(43043,43047).addRange(43136,43137).addRange(43188,43205).addRange(43232,43249).addRange(43302,43309).addRange(43335,43347).addRange(43392,43395).addRange(43443,43456).addRange(43561,43574).addRange(43596,43597).addRange(43643,43645).addRange(43698,43700).addRange(43703,43704).addRange(43710,43711).addRange(43755,43759).addRange(43765,43766).addRange(44003,44010).addRange(44012,44013).addRange(65024,65039).addRange(65056,65071).addRange(66422,66426).addRange(68097,68099).addRange(68101,68102).addRange(68108,68111).addRange(68152,68154).addRange(68325,68326).addRange(68900,68903).addRange(69291,69292),a.addRange(69446,69456).addRange(69506,69509).addRange(69632,69634).addRange(69688,69702).addRange(69747,69748).addRange(69759,69762).addRange(69808,69818).addRange(69888,69890).addRange(69927,69940).addRange(69957,69958).addRange(70016,70018).addRange(70067,70080).addRange(70089,70092).addRange(70094,70095).addRange(70188,70199).addRange(70367,70378).addRange(70400,70403).addRange(70459,70460).addRange(70462,70468).addRange(70471,70472).addRange(70475,70477).addRange(70498,70499).addRange(70502,70508).addRange(70512,70516).addRange(70709,70726).addRange(70832,70851).addRange(71087,71093).addRange(71096,71104).addRange(71132,71133).addRange(71216,71232).addRange(71339,71351).addRange(71453,71467).addRange(71724,71738).addRange(71984,71989).addRange(71991,71992).addRange(71995,71998).addRange(72002,72003).addRange(72145,72151).addRange(72154,72160).addRange(72193,72202).addRange(72243,72249).addRange(72251,72254).addRange(72273,72283).addRange(72330,72345).addRange(72751,72758).addRange(72760,72767).addRange(72850,72871).addRange(72873,72886).addRange(73009,73014).addRange(73020,73021).addRange(73023,73029),a.addRange(73098,73102).addRange(73104,73105).addRange(73107,73111).addRange(73459,73462).addRange(92912,92916).addRange(92976,92982).addRange(94033,94087).addRange(94095,94098).addRange(94192,94193).addRange(113821,113822).addRange(118528,118573).addRange(118576,118598).addRange(119141,119145).addRange(119149,119154).addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(119362,119364).addRange(121344,121398).addRange(121403,121452).addRange(121499,121503).addRange(121505,121519).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123184,123190).addRange(123628,123631).addRange(125136,125142).addRange(125252,125258).addRange(917760,917999),e.exports=a},32895:(e,t,n)=>{const a=n(78776)(43,124,126,172,177,215,247,1014,8260,8274,8472,8523,8608,8611,8614,8622,8658,8660,9084,9655,9665,9839,64297,65122,65291,65372,65374,65506,120513,120539,120571,120597,120629,120655,120687,120713,120745,120771);a.addRange(60,62).addRange(1542,1544).addRange(8314,8316).addRange(8330,8332).addRange(8512,8516).addRange(8592,8596).addRange(8602,8603).addRange(8654,8655).addRange(8692,8959).addRange(8992,8993).addRange(9115,9139).addRange(9180,9185).addRange(9720,9727).addRange(10176,10180).addRange(10183,10213).addRange(10224,10239).addRange(10496,10626).addRange(10649,10711).addRange(10716,10747).addRange(10750,11007).addRange(11056,11076).addRange(11079,11084).addRange(65124,65126).addRange(65308,65310).addRange(65513,65516).addRange(126704,126705),e.exports=a},66710:(e,t,n)=>{const a=n(78776)(748,750,884,890,1369,1600,2042,2074,2084,2088,2249,2417,3654,3782,4348,6103,6211,6823,7544,8305,8319,11631,11823,12293,12347,40981,42508,42623,42864,42888,43471,43494,43632,43741,43881,65392,94179,125259);a.addRange(688,705).addRange(710,721).addRange(736,740).addRange(1765,1766).addRange(2036,2037).addRange(7288,7293).addRange(7468,7530).addRange(7579,7615).addRange(8336,8348).addRange(11388,11389).addRange(12337,12341).addRange(12445,12446).addRange(12540,12542).addRange(42232,42237).addRange(42652,42653).addRange(42775,42783).addRange(42994,42996).addRange(43e3,43001).addRange(43763,43764).addRange(43868,43871).addRange(65438,65439).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(92992,92995).addRange(94099,94111).addRange(94176,94177).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(123191,123197),e.exports=a},43026:(e,t,n)=>{const a=n(78776)(94,96,168,175,180,184,749,885,2184,8125,43867,65342,65344,65507);a.addRange(706,709).addRange(722,735).addRange(741,747).addRange(751,767).addRange(900,901).addRange(8127,8129).addRange(8141,8143).addRange(8157,8159).addRange(8173,8175).addRange(8189,8190).addRange(12443,12444).addRange(42752,42774).addRange(42784,42785).addRange(42889,42890).addRange(43882,43883).addRange(64434,64450).addRange(127995,127999),e.exports=a},95580:(e,t,n)=>{const a=n(78776)(1471,1479,1648,1809,2045,2362,2364,2381,2433,2492,2509,2558,2620,2641,2677,2748,2765,2817,2876,2879,2893,2946,3008,3021,3072,3076,3132,3201,3260,3263,3270,3405,3457,3530,3542,3633,3761,3893,3895,3897,4038,4226,4237,4253,6086,6109,6159,6313,6450,6683,6742,6752,6754,6783,6964,6972,6978,7142,7149,7405,7412,8417,11647,42607,43010,43014,43019,43052,43263,43443,43493,43587,43596,43644,43696,43713,43766,44005,44008,44013,64286,66045,66272,68159,69633,69744,69826,70003,70095,70196,70206,70367,70464,70726,70750,70842,71229,71339,71341,71351,71998,72003,72160,72263,72767,73018,73031,73109,73111,94031,94180,121461,121476,123566);a.addRange(768,879).addRange(1155,1159).addRange(1425,1469).addRange(1473,1474).addRange(1476,1477).addRange(1552,1562).addRange(1611,1631).addRange(1750,1756).addRange(1759,1764).addRange(1767,1768).addRange(1770,1773).addRange(1840,1866).addRange(1958,1968).addRange(2027,2035).addRange(2070,2073).addRange(2075,2083).addRange(2085,2087).addRange(2089,2093).addRange(2137,2139).addRange(2200,2207).addRange(2250,2273).addRange(2275,2306).addRange(2369,2376).addRange(2385,2391).addRange(2402,2403).addRange(2497,2500).addRange(2530,2531).addRange(2561,2562).addRange(2625,2626).addRange(2631,2632).addRange(2635,2637).addRange(2672,2673).addRange(2689,2690).addRange(2753,2757).addRange(2759,2760).addRange(2786,2787).addRange(2810,2815).addRange(2881,2884).addRange(2901,2902).addRange(2914,2915).addRange(3134,3136).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3170,3171).addRange(3276,3277).addRange(3298,3299).addRange(3328,3329).addRange(3387,3388).addRange(3393,3396).addRange(3426,3427),a.addRange(3538,3540).addRange(3636,3642).addRange(3655,3662).addRange(3764,3772).addRange(3784,3789).addRange(3864,3865).addRange(3953,3966).addRange(3968,3972).addRange(3974,3975).addRange(3981,3991).addRange(3993,4028).addRange(4141,4144).addRange(4146,4151).addRange(4153,4154).addRange(4157,4158).addRange(4184,4185).addRange(4190,4192).addRange(4209,4212).addRange(4229,4230).addRange(4957,4959).addRange(5906,5908).addRange(5938,5939).addRange(5970,5971).addRange(6002,6003).addRange(6068,6069).addRange(6071,6077).addRange(6089,6099).addRange(6155,6157).addRange(6277,6278).addRange(6432,6434).addRange(6439,6440).addRange(6457,6459).addRange(6679,6680).addRange(6744,6750).addRange(6757,6764).addRange(6771,6780).addRange(6832,6845).addRange(6847,6862).addRange(6912,6915).addRange(6966,6970).addRange(7019,7027).addRange(7040,7041).addRange(7074,7077).addRange(7080,7081).addRange(7083,7085).addRange(7144,7145).addRange(7151,7153).addRange(7212,7219).addRange(7222,7223).addRange(7376,7378).addRange(7380,7392),a.addRange(7394,7400).addRange(7416,7417).addRange(7616,7679).addRange(8400,8412).addRange(8421,8432).addRange(11503,11505).addRange(11744,11775).addRange(12330,12333).addRange(12441,12442).addRange(42612,42621).addRange(42654,42655).addRange(42736,42737).addRange(43045,43046).addRange(43204,43205).addRange(43232,43249).addRange(43302,43309).addRange(43335,43345).addRange(43392,43394).addRange(43446,43449).addRange(43452,43453).addRange(43561,43566).addRange(43569,43570).addRange(43573,43574).addRange(43698,43700).addRange(43703,43704).addRange(43710,43711).addRange(43756,43757).addRange(65024,65039).addRange(65056,65071).addRange(66422,66426).addRange(68097,68099).addRange(68101,68102).addRange(68108,68111).addRange(68152,68154).addRange(68325,68326).addRange(68900,68903).addRange(69291,69292).addRange(69446,69456).addRange(69506,69509).addRange(69688,69702).addRange(69747,69748).addRange(69759,69761).addRange(69811,69814).addRange(69817,69818).addRange(69888,69890).addRange(69927,69931).addRange(69933,69940).addRange(70016,70017).addRange(70070,70078).addRange(70089,70092).addRange(70191,70193),a.addRange(70198,70199).addRange(70371,70378).addRange(70400,70401).addRange(70459,70460).addRange(70502,70508).addRange(70512,70516).addRange(70712,70719).addRange(70722,70724).addRange(70835,70840).addRange(70847,70848).addRange(70850,70851).addRange(71090,71093).addRange(71100,71101).addRange(71103,71104).addRange(71132,71133).addRange(71219,71226).addRange(71231,71232).addRange(71344,71349).addRange(71453,71455).addRange(71458,71461).addRange(71463,71467).addRange(71727,71735).addRange(71737,71738).addRange(71995,71996).addRange(72148,72151).addRange(72154,72155).addRange(72193,72202).addRange(72243,72248).addRange(72251,72254).addRange(72273,72278).addRange(72281,72283).addRange(72330,72342).addRange(72344,72345).addRange(72752,72758).addRange(72760,72765).addRange(72850,72871).addRange(72874,72880).addRange(72882,72883).addRange(72885,72886).addRange(73009,73014).addRange(73020,73021).addRange(73023,73029).addRange(73104,73105).addRange(73459,73460).addRange(92912,92916).addRange(92976,92982).addRange(94095,94098).addRange(113821,113822).addRange(118528,118573).addRange(118576,118598).addRange(119143,119145),a.addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(119362,119364).addRange(121344,121398).addRange(121403,121452).addRange(121499,121503).addRange(121505,121519).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922).addRange(123184,123190).addRange(123628,123631).addRange(125136,125142).addRange(125252,125258).addRange(917760,917999),e.exports=a},90055:(e,t,n)=>{const a=n(78776)(185,8304,11517,12295,66369,66378);a.addRange(48,57).addRange(178,179).addRange(188,190).addRange(1632,1641).addRange(1776,1785).addRange(1984,1993).addRange(2406,2415).addRange(2534,2543).addRange(2548,2553).addRange(2662,2671).addRange(2790,2799).addRange(2918,2927).addRange(2930,2935).addRange(3046,3058).addRange(3174,3183).addRange(3192,3198).addRange(3302,3311).addRange(3416,3422).addRange(3430,3448).addRange(3558,3567).addRange(3664,3673).addRange(3792,3801).addRange(3872,3891).addRange(4160,4169).addRange(4240,4249).addRange(4969,4988).addRange(5870,5872).addRange(6112,6121).addRange(6128,6137).addRange(6160,6169).addRange(6470,6479).addRange(6608,6618).addRange(6784,6793).addRange(6800,6809).addRange(6992,7001).addRange(7088,7097).addRange(7232,7241).addRange(7248,7257).addRange(8308,8313).addRange(8320,8329).addRange(8528,8578).addRange(8581,8585).addRange(9312,9371).addRange(9450,9471).addRange(10102,10131).addRange(12321,12329).addRange(12344,12346).addRange(12690,12693).addRange(12832,12841).addRange(12872,12879).addRange(12881,12895),a.addRange(12928,12937).addRange(12977,12991).addRange(42528,42537).addRange(42726,42735).addRange(43056,43061).addRange(43216,43225).addRange(43264,43273).addRange(43472,43481).addRange(43504,43513).addRange(43600,43609).addRange(44016,44025).addRange(65296,65305).addRange(65799,65843).addRange(65856,65912).addRange(65930,65931).addRange(66273,66299).addRange(66336,66339).addRange(66513,66517).addRange(66720,66729).addRange(67672,67679).addRange(67705,67711).addRange(67751,67759).addRange(67835,67839).addRange(67862,67867).addRange(68028,68029).addRange(68032,68047).addRange(68050,68095).addRange(68160,68168).addRange(68221,68222).addRange(68253,68255).addRange(68331,68335).addRange(68440,68447).addRange(68472,68479).addRange(68521,68527).addRange(68858,68863).addRange(68912,68921).addRange(69216,69246).addRange(69405,69414).addRange(69457,69460).addRange(69573,69579).addRange(69714,69743).addRange(69872,69881).addRange(69942,69951).addRange(70096,70105).addRange(70113,70132).addRange(70384,70393).addRange(70736,70745).addRange(70864,70873).addRange(71248,71257).addRange(71360,71369).addRange(71472,71483),a.addRange(71904,71922).addRange(72016,72025).addRange(72784,72812).addRange(73040,73049).addRange(73120,73129).addRange(73664,73684).addRange(74752,74862).addRange(92768,92777).addRange(92864,92873).addRange(93008,93017).addRange(93019,93025).addRange(93824,93846).addRange(119520,119539).addRange(119648,119672).addRange(120782,120831).addRange(123200,123209).addRange(123632,123641).addRange(125127,125135).addRange(125264,125273).addRange(126065,126123).addRange(126125,126127).addRange(126129,126132).addRange(126209,126253).addRange(126255,126269).addRange(127232,127244).addRange(130032,130041),e.exports=a},25622:(e,t,n)=>{const a=n(78776)(40,91,123,3898,3900,5787,8218,8222,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11810,11812,11814,11816,11842,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,12317,64831,65047,65077,65079,65081,65083,65085,65087,65089,65091,65095,65113,65115,65117,65288,65339,65371,65375,65378);e.exports=a},76288:(e,t,n)=>{const a=n(78776)(173,907,909,930,1328,1424,1564,1757,2111,2143,2274,2436,2473,2481,2526,2564,2601,2609,2612,2615,2621,2653,2692,2702,2706,2729,2737,2740,2758,2762,2816,2820,2857,2865,2868,2910,2948,2961,2971,2973,3017,3085,3089,3113,3141,3145,3159,3213,3217,3241,3252,3269,3273,3295,3312,3341,3345,3397,3401,3456,3460,3506,3516,3541,3543,3715,3717,3723,3748,3750,3781,3783,3912,3992,4029,4045,4294,4681,4695,4697,4745,4785,4799,4801,4823,4881,5997,6001,6158,6431,6751,7039,8024,8026,8028,8030,8117,8133,8156,8181,8191,8335,11158,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12592,12687,12831,42962,42964,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511,65548,65575,65595,65598,65935,66462,66939,66955,66963,66966,66978,66994,67002,67462,67505,67593,67638,67670,67827,68100,68116,68120,69247,69290,69821,69941,70112,70162,70279,70281,70286,70302,70404,70441,70449,70452,70458,70748,71956,71959,71990,72713,72759,72872,72967,72970,73019,73022,73062,73065,73103,73106,74863,92767,92863,93018,93026,110580,110588,110591,119893,119965,119981,119994,119996,120004,120070,120085,120093,120122,120127,120133,120145,121504,122887,122914,122917,124903,124908,124911,124927,126468,126496,126499,126504,126515,126520,126522,126536,126538,126540,126544,126547,126552,126554,126556,126558,126560,126563,126571,126579,126584,126589,126591,126602,126628,126634,127168,127184,129939);a.addRange(0,31).addRange(127,159).addRange(888,889).addRange(896,899).addRange(1367,1368).addRange(1419,1420).addRange(1480,1487).addRange(1515,1518).addRange(1525,1541).addRange(1806,1807).addRange(1867,1868).addRange(1970,1983).addRange(2043,2044).addRange(2094,2095).addRange(2140,2141).addRange(2155,2159).addRange(2191,2199).addRange(2445,2446).addRange(2449,2450).addRange(2483,2485).addRange(2490,2491).addRange(2501,2502).addRange(2505,2506).addRange(2511,2518).addRange(2520,2523).addRange(2532,2533).addRange(2559,2560).addRange(2571,2574).addRange(2577,2578).addRange(2618,2619).addRange(2627,2630).addRange(2633,2634).addRange(2638,2640).addRange(2642,2648).addRange(2655,2661).addRange(2679,2688).addRange(2746,2747).addRange(2766,2767).addRange(2769,2783).addRange(2788,2789).addRange(2802,2808).addRange(2829,2830).addRange(2833,2834).addRange(2874,2875).addRange(2885,2886).addRange(2889,2890).addRange(2894,2900).addRange(2904,2907).addRange(2916,2917).addRange(2936,2945).addRange(2955,2957),a.addRange(2966,2968).addRange(2976,2978).addRange(2981,2983).addRange(2987,2989).addRange(3002,3005).addRange(3011,3013).addRange(3022,3023).addRange(3025,3030).addRange(3032,3045).addRange(3067,3071).addRange(3130,3131).addRange(3150,3156).addRange(3163,3164).addRange(3166,3167).addRange(3172,3173).addRange(3184,3190).addRange(3258,3259).addRange(3278,3284).addRange(3287,3292).addRange(3300,3301).addRange(3315,3327).addRange(3408,3411).addRange(3428,3429).addRange(3479,3481).addRange(3518,3519).addRange(3527,3529).addRange(3531,3534).addRange(3552,3557).addRange(3568,3569).addRange(3573,3584).addRange(3643,3646).addRange(3676,3712).addRange(3774,3775).addRange(3790,3791).addRange(3802,3803).addRange(3808,3839).addRange(3949,3952).addRange(4059,4095).addRange(4296,4300).addRange(4302,4303).addRange(4686,4687).addRange(4702,4703).addRange(4750,4751).addRange(4790,4791).addRange(4806,4807).addRange(4886,4887).addRange(4955,4956).addRange(4989,4991).addRange(5018,5023).addRange(5110,5111).addRange(5118,5119),a.addRange(5789,5791).addRange(5881,5887).addRange(5910,5918).addRange(5943,5951).addRange(5972,5983).addRange(6004,6015).addRange(6110,6111).addRange(6122,6127).addRange(6138,6143).addRange(6170,6175).addRange(6265,6271).addRange(6315,6319).addRange(6390,6399).addRange(6444,6447).addRange(6460,6463).addRange(6465,6467).addRange(6510,6511).addRange(6517,6527).addRange(6572,6575).addRange(6602,6607).addRange(6619,6621).addRange(6684,6685).addRange(6781,6782).addRange(6794,6799).addRange(6810,6815).addRange(6830,6831).addRange(6863,6911).addRange(6989,6991).addRange(7156,7163).addRange(7224,7226).addRange(7242,7244).addRange(7305,7311).addRange(7355,7356).addRange(7368,7375).addRange(7419,7423).addRange(7958,7959).addRange(7966,7967).addRange(8006,8007).addRange(8014,8015).addRange(8062,8063).addRange(8148,8149).addRange(8176,8177).addRange(8203,8207).addRange(8234,8238).addRange(8288,8303).addRange(8306,8307).addRange(8349,8351).addRange(8385,8399).addRange(8433,8447).addRange(8588,8591).addRange(9255,9279),a.addRange(9291,9311).addRange(11124,11125).addRange(11508,11512).addRange(11560,11564).addRange(11566,11567).addRange(11624,11630).addRange(11633,11646).addRange(11671,11679).addRange(11870,11903).addRange(12020,12031).addRange(12246,12271).addRange(12284,12287).addRange(12439,12440).addRange(12544,12548).addRange(12772,12783).addRange(42125,42127).addRange(42183,42191).addRange(42540,42559).addRange(42744,42751).addRange(42955,42959).addRange(42970,42993).addRange(43053,43055).addRange(43066,43071).addRange(43128,43135).addRange(43206,43213).addRange(43226,43231).addRange(43348,43358).addRange(43389,43391).addRange(43482,43485).addRange(43575,43583).addRange(43598,43599).addRange(43610,43611).addRange(43715,43738).addRange(43767,43776).addRange(43783,43784).addRange(43791,43792).addRange(43799,43807).addRange(43884,43887).addRange(44014,44015).addRange(44026,44031).addRange(55204,55215).addRange(55239,55242).addRange(55292,63743).addRange(64110,64111).addRange(64218,64255).addRange(64263,64274).addRange(64280,64284).addRange(64451,64466).addRange(64912,64913).addRange(64968,64974).addRange(64976,65007),a.addRange(65050,65055).addRange(65132,65135).addRange(65277,65280).addRange(65471,65473).addRange(65480,65481).addRange(65488,65489).addRange(65496,65497).addRange(65501,65503).addRange(65519,65531).addRange(65534,65535).addRange(65614,65615).addRange(65630,65663).addRange(65787,65791).addRange(65795,65798).addRange(65844,65846).addRange(65949,65951).addRange(65953,65999).addRange(66046,66175).addRange(66205,66207).addRange(66257,66271).addRange(66300,66303).addRange(66340,66348).addRange(66379,66383).addRange(66427,66431).addRange(66500,66503).addRange(66518,66559).addRange(66718,66719).addRange(66730,66735).addRange(66772,66775).addRange(66812,66815).addRange(66856,66863).addRange(66916,66926).addRange(67005,67071).addRange(67383,67391).addRange(67414,67423).addRange(67432,67455).addRange(67515,67583).addRange(67590,67591).addRange(67641,67643).addRange(67645,67646).addRange(67743,67750).addRange(67760,67807).addRange(67830,67834).addRange(67868,67870).addRange(67898,67902).addRange(67904,67967).addRange(68024,68027).addRange(68048,68049).addRange(68103,68107).addRange(68150,68151).addRange(68155,68158),a.addRange(68169,68175).addRange(68185,68191).addRange(68256,68287).addRange(68327,68330).addRange(68343,68351).addRange(68406,68408).addRange(68438,68439).addRange(68467,68471).addRange(68498,68504).addRange(68509,68520).addRange(68528,68607).addRange(68681,68735).addRange(68787,68799).addRange(68851,68857).addRange(68904,68911).addRange(68922,69215).addRange(69294,69295).addRange(69298,69375).addRange(69416,69423).addRange(69466,69487).addRange(69514,69551).addRange(69580,69599).addRange(69623,69631).addRange(69710,69713).addRange(69750,69758).addRange(69827,69839).addRange(69865,69871).addRange(69882,69887).addRange(69960,69967).addRange(70007,70015).addRange(70133,70143).addRange(70207,70271).addRange(70314,70319).addRange(70379,70383).addRange(70394,70399).addRange(70413,70414).addRange(70417,70418).addRange(70469,70470).addRange(70473,70474).addRange(70478,70479).addRange(70481,70486).addRange(70488,70492).addRange(70500,70501).addRange(70509,70511).addRange(70517,70655).addRange(70754,70783).addRange(70856,70863).addRange(70874,71039).addRange(71094,71095).addRange(71134,71167).addRange(71237,71247),a.addRange(71258,71263).addRange(71277,71295).addRange(71354,71359).addRange(71370,71423).addRange(71451,71452).addRange(71468,71471).addRange(71495,71679).addRange(71740,71839).addRange(71923,71934).addRange(71943,71944).addRange(71946,71947).addRange(71993,71994).addRange(72007,72015).addRange(72026,72095).addRange(72104,72105).addRange(72152,72153).addRange(72165,72191).addRange(72264,72271).addRange(72355,72367).addRange(72441,72703).addRange(72774,72783).addRange(72813,72815).addRange(72848,72849).addRange(72887,72959).addRange(73015,73017).addRange(73032,73039).addRange(73050,73055).addRange(73113,73119).addRange(73130,73439).addRange(73465,73647).addRange(73649,73663).addRange(73714,73726).addRange(74650,74751).addRange(74869,74879).addRange(75076,77711).addRange(77811,77823).addRange(78895,82943).addRange(83527,92159).addRange(92729,92735).addRange(92778,92781).addRange(92874,92879).addRange(92910,92911).addRange(92918,92927).addRange(92998,93007).addRange(93048,93052).addRange(93072,93759).addRange(93851,93951).addRange(94027,94030).addRange(94088,94094).addRange(94112,94175).addRange(94181,94191),a.addRange(94194,94207).addRange(100344,100351).addRange(101590,101631).addRange(101641,110575).addRange(110883,110927).addRange(110931,110947).addRange(110952,110959).addRange(111356,113663).addRange(113771,113775).addRange(113789,113791).addRange(113801,113807).addRange(113818,113819).addRange(113824,118527).addRange(118574,118575).addRange(118599,118607).addRange(118724,118783).addRange(119030,119039).addRange(119079,119080).addRange(119155,119162).addRange(119275,119295).addRange(119366,119519).addRange(119540,119551).addRange(119639,119647).addRange(119673,119807).addRange(119968,119969).addRange(119971,119972).addRange(119975,119976).addRange(120075,120076).addRange(120135,120137).addRange(120486,120487).addRange(120780,120781).addRange(121484,121498).addRange(121520,122623).addRange(122655,122879).addRange(122905,122906).addRange(122923,123135).addRange(123181,123183).addRange(123198,123199).addRange(123210,123213).addRange(123216,123535).addRange(123567,123583).addRange(123642,123646).addRange(123648,124895).addRange(125125,125126).addRange(125143,125183).addRange(125260,125263).addRange(125274,125277).addRange(125280,126064).addRange(126133,126208).addRange(126270,126463).addRange(126501,126502),a.addRange(126524,126529).addRange(126531,126534).addRange(126549,126550).addRange(126565,126566).addRange(126620,126624).addRange(126652,126703).addRange(126706,126975).addRange(127020,127023).addRange(127124,127135).addRange(127151,127152).addRange(127222,127231).addRange(127406,127461).addRange(127491,127503).addRange(127548,127551).addRange(127561,127567).addRange(127570,127583).addRange(127590,127743).addRange(128728,128732).addRange(128749,128751).addRange(128765,128767).addRange(128884,128895).addRange(128985,128991).addRange(129004,129007).addRange(129009,129023).addRange(129036,129039).addRange(129096,129103).addRange(129114,129119).addRange(129160,129167).addRange(129198,129199).addRange(129202,129279).addRange(129620,129631).addRange(129646,129647).addRange(129653,129655).addRange(129661,129663).addRange(129671,129679).addRange(129709,129711).addRange(129723,129727).addRange(129734,129743).addRange(129754,129759).addRange(129768,129775).addRange(129783,129791).addRange(129995,130031).addRange(130042,131071).addRange(173792,173823).addRange(177977,177983).addRange(178206,178207).addRange(183970,183983).addRange(191457,194559).addRange(195102,196607).addRange(201547,917759).addRange(918e3,1114111),e.exports=a},61453:(e,t,n)=>{const a=n(78776)(170,186,443,660,1749,1791,1808,1969,2365,2384,2482,2493,2510,2556,2654,2749,2768,2809,2877,2929,2947,2972,3024,3133,3165,3200,3261,3389,3406,3517,3716,3749,3773,3840,4159,4193,4238,4696,4800,6108,6314,7418,12294,12348,12447,12543,42606,42895,42999,43259,43642,43697,43712,43714,43762,64285,64318,67592,67644,68096,69415,69749,69956,69959,70006,70106,70108,70280,70461,70480,70855,71236,71352,71945,71999,72001,72161,72163,72192,72250,72272,72349,72768,73030,73112,73648,94032,122634,123214,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);a.addRange(448,451).addRange(1488,1514).addRange(1519,1522).addRange(1568,1599).addRange(1601,1610).addRange(1646,1647).addRange(1649,1747).addRange(1774,1775).addRange(1786,1788).addRange(1810,1839).addRange(1869,1957).addRange(1994,2026).addRange(2048,2069).addRange(2112,2136).addRange(2144,2154).addRange(2160,2183).addRange(2185,2190).addRange(2208,2248).addRange(2308,2361).addRange(2392,2401).addRange(2418,2432).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2524,2525).addRange(2527,2529).addRange(2544,2545).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2649,2652).addRange(2674,2676).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2784,2785).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873),a.addRange(2908,2909).addRange(2911,2913).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3077,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3160,3162).addRange(3168,3169).addRange(3205,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3293,3294).addRange(3296,3297).addRange(3313,3314).addRange(3332,3340).addRange(3342,3344).addRange(3346,3386).addRange(3412,3414).addRange(3423,3425).addRange(3450,3455).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3585,3632).addRange(3634,3635).addRange(3648,3653).addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3760).addRange(3762,3763).addRange(3776,3780).addRange(3804,3807).addRange(3904,3911).addRange(3913,3948).addRange(3976,3980).addRange(4096,4138).addRange(4176,4181).addRange(4186,4189).addRange(4197,4198),a.addRange(4206,4208).addRange(4213,4225).addRange(4352,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4992,5007).addRange(5121,5740).addRange(5743,5759).addRange(5761,5786).addRange(5792,5866).addRange(5873,5880).addRange(5888,5905).addRange(5919,5937).addRange(5952,5969).addRange(5984,5996).addRange(5998,6e3).addRange(6016,6067).addRange(6176,6210).addRange(6212,6264).addRange(6272,6276).addRange(6279,6312).addRange(6320,6389).addRange(6400,6430).addRange(6480,6509).addRange(6512,6516).addRange(6528,6571).addRange(6576,6601).addRange(6656,6678).addRange(6688,6740).addRange(6917,6963).addRange(6981,6988).addRange(7043,7072).addRange(7086,7087).addRange(7098,7141).addRange(7168,7203).addRange(7245,7247).addRange(7258,7287).addRange(7401,7404).addRange(7406,7411).addRange(7413,7414),a.addRange(8501,8504).addRange(11568,11623).addRange(11648,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(12353,12438).addRange(12449,12538).addRange(12549,12591).addRange(12593,12686).addRange(12704,12735).addRange(12784,12799).addRange(13312,19903).addRange(19968,40980).addRange(40982,42124).addRange(42192,42231).addRange(42240,42507).addRange(42512,42527).addRange(42538,42539).addRange(42656,42725).addRange(43003,43009).addRange(43011,43013).addRange(43015,43018).addRange(43020,43042).addRange(43072,43123).addRange(43138,43187).addRange(43250,43255).addRange(43261,43262).addRange(43274,43301).addRange(43312,43334).addRange(43360,43388).addRange(43396,43442).addRange(43488,43492).addRange(43495,43503).addRange(43514,43518).addRange(43520,43560).addRange(43584,43586).addRange(43588,43595).addRange(43616,43631).addRange(43633,43638).addRange(43646,43695).addRange(43701,43702).addRange(43705,43709).addRange(43739,43740).addRange(43744,43754).addRange(43777,43782),a.addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(43968,44002).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(63744,64109).addRange(64112,64217).addRange(64287,64296).addRange(64298,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64433).addRange(64467,64829).addRange(64848,64911).addRange(64914,64967).addRange(65008,65019).addRange(65136,65140).addRange(65142,65276).addRange(65382,65391).addRange(65393,65437).addRange(65440,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500).addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(66176,66204).addRange(66208,66256).addRange(66304,66335).addRange(66349,66368).addRange(66370,66377).addRange(66384,66421).addRange(66432,66461).addRange(66464,66499).addRange(66504,66511).addRange(66640,66717).addRange(66816,66855).addRange(66864,66915).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431),a.addRange(67584,67589).addRange(67594,67637).addRange(67639,67640).addRange(67647,67669).addRange(67680,67702).addRange(67712,67742).addRange(67808,67826).addRange(67828,67829).addRange(67840,67861).addRange(67872,67897).addRange(67968,68023).addRange(68030,68031).addRange(68112,68115).addRange(68117,68119).addRange(68121,68149).addRange(68192,68220).addRange(68224,68252).addRange(68288,68295).addRange(68297,68324).addRange(68352,68405).addRange(68416,68437).addRange(68448,68466).addRange(68480,68497).addRange(68608,68680).addRange(68864,68899).addRange(69248,69289).addRange(69296,69297).addRange(69376,69404).addRange(69424,69445).addRange(69488,69505).addRange(69552,69572).addRange(69600,69622).addRange(69635,69687).addRange(69745,69746).addRange(69763,69807).addRange(69840,69864).addRange(69891,69926).addRange(69968,70002).addRange(70019,70066).addRange(70081,70084).addRange(70144,70161).addRange(70163,70187).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70312).addRange(70320,70366).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448),a.addRange(70450,70451).addRange(70453,70457).addRange(70493,70497).addRange(70656,70708).addRange(70727,70730).addRange(70751,70753).addRange(70784,70831).addRange(70852,70853).addRange(71040,71086).addRange(71128,71131).addRange(71168,71215).addRange(71296,71338).addRange(71424,71450).addRange(71488,71494).addRange(71680,71723).addRange(71935,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71983).addRange(72096,72103).addRange(72106,72144).addRange(72203,72242).addRange(72284,72329).addRange(72368,72440).addRange(72704,72712).addRange(72714,72750).addRange(72818,72847).addRange(72960,72966).addRange(72968,72969).addRange(72971,73008).addRange(73056,73061).addRange(73063,73064).addRange(73066,73097).addRange(73440,73458).addRange(73728,74649).addRange(74880,75075).addRange(77712,77808).addRange(77824,78894).addRange(82944,83526).addRange(92160,92728).addRange(92736,92766).addRange(92784,92862).addRange(92880,92909).addRange(92928,92975).addRange(93027,93047).addRange(93053,93071).addRange(93952,94026).addRange(94208,100343).addRange(100352,101589).addRange(101632,101640).addRange(110592,110882),a.addRange(110928,110930).addRange(110948,110951).addRange(110960,111355).addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(123136,123180).addRange(123536,123565).addRange(123584,123627).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926).addRange(124928,125124).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=a},88795:(e,t,n)=>{const a=n(78776)(185,6618,8304,8585,11517);a.addRange(178,179).addRange(188,190).addRange(2548,2553).addRange(2930,2935).addRange(3056,3058).addRange(3192,3198).addRange(3416,3422).addRange(3440,3448).addRange(3882,3891).addRange(4969,4988).addRange(6128,6137).addRange(8308,8313).addRange(8320,8329).addRange(8528,8543).addRange(9312,9371).addRange(9450,9471).addRange(10102,10131).addRange(12690,12693).addRange(12832,12841).addRange(12872,12879).addRange(12881,12895).addRange(12928,12937).addRange(12977,12991).addRange(43056,43061).addRange(65799,65843).addRange(65909,65912).addRange(65930,65931).addRange(66273,66299).addRange(66336,66339).addRange(67672,67679).addRange(67705,67711).addRange(67751,67759).addRange(67835,67839).addRange(67862,67867).addRange(68028,68029).addRange(68032,68047).addRange(68050,68095).addRange(68160,68168).addRange(68221,68222).addRange(68253,68255).addRange(68331,68335).addRange(68440,68447).addRange(68472,68479).addRange(68521,68527).addRange(68858,68863).addRange(69216,69246).addRange(69405,69414).addRange(69457,69460).addRange(69573,69579).addRange(69714,69733).addRange(70113,70132),a.addRange(71482,71483).addRange(71914,71922).addRange(72794,72812).addRange(73664,73684).addRange(93019,93025).addRange(93824,93846).addRange(119520,119539).addRange(119648,119672).addRange(125127,125135).addRange(126065,126123).addRange(126125,126127).addRange(126129,126132).addRange(126209,126253).addRange(126255,126269).addRange(127232,127244),e.exports=a},47221:(e,t,n)=>{const a=n(78776)(42,44,92,161,167,191,894,903,1417,1472,1475,1478,1563,1748,2142,2416,2557,2678,2800,3191,3204,3572,3663,3860,3973,4347,5742,7379,8275,11632,11787,11803,11841,12349,12539,42611,42622,43260,43359,44011,65049,65072,65128,65290,65292,65340,65377,66463,66512,66927,67671,67871,67903,68223,70093,70107,70313,70749,70854,71353,71739,72162,73727,92917,92996,94178,113823);a.addRange(33,35).addRange(37,39).addRange(46,47).addRange(58,59).addRange(63,64).addRange(182,183).addRange(1370,1375).addRange(1523,1524).addRange(1545,1546).addRange(1548,1549).addRange(1565,1567).addRange(1642,1645).addRange(1792,1805).addRange(2039,2041).addRange(2096,2110).addRange(2404,2405).addRange(3674,3675).addRange(3844,3858).addRange(4048,4052).addRange(4057,4058).addRange(4170,4175).addRange(4960,4968).addRange(5867,5869).addRange(5941,5942).addRange(6100,6102).addRange(6104,6106).addRange(6144,6149).addRange(6151,6154).addRange(6468,6469).addRange(6686,6687).addRange(6816,6822).addRange(6824,6829).addRange(7002,7008).addRange(7037,7038).addRange(7164,7167).addRange(7227,7231).addRange(7294,7295).addRange(7360,7367).addRange(8214,8215).addRange(8224,8231).addRange(8240,8248).addRange(8251,8254).addRange(8257,8259).addRange(8263,8273).addRange(8277,8286).addRange(11513,11516).addRange(11518,11519).addRange(11776,11777).addRange(11782,11784).addRange(11790,11798).addRange(11800,11801),a.addRange(11806,11807).addRange(11818,11822).addRange(11824,11833).addRange(11836,11839).addRange(11843,11855).addRange(11858,11860).addRange(12289,12291).addRange(42238,42239).addRange(42509,42511).addRange(42738,42743).addRange(43124,43127).addRange(43214,43215).addRange(43256,43258).addRange(43310,43311).addRange(43457,43469).addRange(43486,43487).addRange(43612,43615).addRange(43742,43743).addRange(43760,43761).addRange(65040,65046).addRange(65093,65094).addRange(65097,65100).addRange(65104,65106).addRange(65108,65111).addRange(65119,65121).addRange(65130,65131).addRange(65281,65283).addRange(65285,65287).addRange(65294,65295).addRange(65306,65307).addRange(65311,65312).addRange(65380,65381).addRange(65792,65794).addRange(68176,68184).addRange(68336,68342).addRange(68409,68415).addRange(68505,68508).addRange(69461,69465).addRange(69510,69513).addRange(69703,69709).addRange(69819,69820).addRange(69822,69825).addRange(69952,69955).addRange(70004,70005).addRange(70085,70088).addRange(70109,70111).addRange(70200,70205).addRange(70731,70735).addRange(70746,70747).addRange(71105,71127).addRange(71233,71235),a.addRange(71264,71276).addRange(71484,71486).addRange(72004,72006).addRange(72255,72262).addRange(72346,72348).addRange(72350,72354).addRange(72769,72773).addRange(72816,72817).addRange(73463,73464).addRange(74864,74868).addRange(77809,77810).addRange(92782,92783).addRange(92983,92987).addRange(93847,93850).addRange(121479,121483).addRange(125278,125279),e.exports=a},66733:(e,t,n)=>{const a=n(78776)(166,169,174,176,1154,1758,1769,2038,2554,2928,3066,3199,3407,3449,3859,3892,3894,3896,5741,6464,8468,8485,8487,8489,8494,8522,8527,8659,12292,12320,12880,43065,64975,65508,65512,65952,68296,71487,92997,113820,119365,123215,126124,126254,129008);a.addRange(1421,1422).addRange(1550,1551).addRange(1789,1790).addRange(3059,3064).addRange(3841,3843).addRange(3861,3863).addRange(3866,3871).addRange(4030,4037).addRange(4039,4044).addRange(4046,4047).addRange(4053,4056).addRange(4254,4255).addRange(5008,5017).addRange(6622,6655).addRange(7009,7018).addRange(7028,7036).addRange(8448,8449).addRange(8451,8454).addRange(8456,8457).addRange(8470,8471).addRange(8478,8483).addRange(8506,8507).addRange(8524,8525).addRange(8586,8587).addRange(8597,8601).addRange(8604,8607).addRange(8609,8610).addRange(8612,8613).addRange(8615,8621).addRange(8623,8653).addRange(8656,8657).addRange(8661,8691).addRange(8960,8967).addRange(8972,8991).addRange(8994,9e3).addRange(9003,9083).addRange(9085,9114).addRange(9140,9179).addRange(9186,9254).addRange(9280,9290).addRange(9372,9449).addRange(9472,9654).addRange(9656,9664).addRange(9666,9719).addRange(9728,9838).addRange(9840,10087).addRange(10132,10175).addRange(10240,10495).addRange(11008,11055).addRange(11077,11078).addRange(11085,11123),a.addRange(11126,11157).addRange(11159,11263).addRange(11493,11498).addRange(11856,11857).addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12272,12283).addRange(12306,12307).addRange(12342,12343).addRange(12350,12351).addRange(12688,12689).addRange(12694,12703).addRange(12736,12771).addRange(12800,12830).addRange(12842,12871).addRange(12896,12927).addRange(12938,12976).addRange(12992,13311).addRange(19904,19967).addRange(42128,42182).addRange(43048,43051).addRange(43062,43063).addRange(43639,43641).addRange(64832,64847).addRange(65021,65023).addRange(65517,65518).addRange(65532,65533).addRange(65847,65855).addRange(65913,65929).addRange(65932,65934).addRange(65936,65948).addRange(66e3,66044).addRange(67703,67704).addRange(73685,73692).addRange(73697,73713).addRange(92988,92991).addRange(118608,118723).addRange(118784,119029).addRange(119040,119078).addRange(119081,119140).addRange(119146,119148).addRange(119171,119172).addRange(119180,119209).addRange(119214,119274).addRange(119296,119361).addRange(119552,119638).addRange(120832,121343).addRange(121399,121402).addRange(121453,121460).addRange(121462,121475),a.addRange(121477,121478).addRange(126976,127019).addRange(127024,127123).addRange(127136,127150).addRange(127153,127167).addRange(127169,127183).addRange(127185,127221).addRange(127245,127405).addRange(127462,127490).addRange(127504,127547).addRange(127552,127560).addRange(127568,127569).addRange(127584,127589).addRange(127744,127994).addRange(128e3,128727).addRange(128733,128748).addRange(128752,128764).addRange(128768,128883).addRange(128896,128984).addRange(128992,129003).addRange(129024,129035).addRange(129040,129095).addRange(129104,129113).addRange(129120,129159).addRange(129168,129197).addRange(129200,129201).addRange(129280,129619).addRange(129632,129645).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782).addRange(129792,129938).addRange(129940,129994),e.exports=a},12600:(e,t,n)=>{const a=n(78776)(8233);e.exports=a},61704:(e,t,n)=>{const a=n(78776)();a.addRange(57344,63743).addRange(983040,1048573).addRange(1048576,1114109),e.exports=a},36290:(e,t,n)=>{const a=n(78776)(95,123,125,161,167,171,187,191,894,903,1470,1472,1475,1478,1563,1748,2142,2416,2557,2678,2800,3191,3204,3572,3663,3860,3973,4347,5120,5742,7379,11632,12336,12349,12448,12539,42611,42622,43260,43359,44011,65123,65128,65343,65371,65373,66463,66512,66927,67671,67871,67903,68223,69293,70093,70107,70313,70749,70854,71353,71739,72162,73727,92917,92996,94178,113823);a.addRange(33,35).addRange(37,42).addRange(44,47).addRange(58,59).addRange(63,64).addRange(91,93).addRange(182,183).addRange(1370,1375).addRange(1417,1418).addRange(1523,1524).addRange(1545,1546).addRange(1548,1549).addRange(1565,1567).addRange(1642,1645).addRange(1792,1805).addRange(2039,2041).addRange(2096,2110).addRange(2404,2405).addRange(3674,3675).addRange(3844,3858).addRange(3898,3901).addRange(4048,4052).addRange(4057,4058).addRange(4170,4175).addRange(4960,4968).addRange(5787,5788).addRange(5867,5869).addRange(5941,5942).addRange(6100,6102).addRange(6104,6106).addRange(6144,6154).addRange(6468,6469).addRange(6686,6687).addRange(6816,6822).addRange(6824,6829).addRange(7002,7008).addRange(7037,7038).addRange(7164,7167).addRange(7227,7231).addRange(7294,7295).addRange(7360,7367).addRange(8208,8231).addRange(8240,8259).addRange(8261,8273).addRange(8275,8286).addRange(8317,8318).addRange(8333,8334).addRange(8968,8971).addRange(9001,9002).addRange(10088,10101).addRange(10181,10182),a.addRange(10214,10223).addRange(10627,10648).addRange(10712,10715).addRange(10748,10749).addRange(11513,11516).addRange(11518,11519).addRange(11776,11822).addRange(11824,11855).addRange(11858,11869).addRange(12289,12291).addRange(12296,12305).addRange(12308,12319).addRange(42238,42239).addRange(42509,42511).addRange(42738,42743).addRange(43124,43127).addRange(43214,43215).addRange(43256,43258).addRange(43310,43311).addRange(43457,43469).addRange(43486,43487).addRange(43612,43615).addRange(43742,43743).addRange(43760,43761).addRange(64830,64831).addRange(65040,65049).addRange(65072,65106).addRange(65108,65121).addRange(65130,65131).addRange(65281,65283).addRange(65285,65290).addRange(65292,65295).addRange(65306,65307).addRange(65311,65312).addRange(65339,65341).addRange(65375,65381).addRange(65792,65794).addRange(68176,68184).addRange(68336,68342).addRange(68409,68415).addRange(68505,68508).addRange(69461,69465).addRange(69510,69513).addRange(69703,69709).addRange(69819,69820).addRange(69822,69825).addRange(69952,69955).addRange(70004,70005).addRange(70085,70088).addRange(70109,70111).addRange(70200,70205),a.addRange(70731,70735).addRange(70746,70747).addRange(71105,71127).addRange(71233,71235).addRange(71264,71276).addRange(71484,71486).addRange(72004,72006).addRange(72255,72262).addRange(72346,72348).addRange(72350,72354).addRange(72769,72773).addRange(72816,72817).addRange(73463,73464).addRange(74864,74868).addRange(77809,77810).addRange(92782,92783).addRange(92983,92987).addRange(93847,93850).addRange(121479,121483).addRange(125278,125279),e.exports=a},64661:(e,t,n)=>{const a=n(78776)(32,160,5760,8239,8287,12288);a.addRange(8192,8202).addRange(8232,8233),e.exports=a},54343:(e,t,n)=>{const a=n(78776)(32,160,5760,8239,8287,12288);a.addRange(8192,8202),e.exports=a},11276:(e,t,n)=>{const a=n(78776)(2307,2363,2519,2563,2691,2761,2878,2880,2903,3031,3262,3415,3967,4145,4152,4239,5909,5940,6070,6741,6743,6753,6916,6965,6971,7042,7073,7082,7143,7150,7393,7415,43047,43395,43597,43643,43645,43755,43765,44012,69632,69634,69762,69932,70018,70094,70197,70487,70725,70841,70849,71102,71230,71340,71350,71462,71736,71997,72e3,72002,72164,72249,72343,72751,72766,72873,72881,72884,73110);a.addRange(2366,2368).addRange(2377,2380).addRange(2382,2383).addRange(2434,2435).addRange(2494,2496).addRange(2503,2504).addRange(2507,2508).addRange(2622,2624).addRange(2750,2752).addRange(2763,2764).addRange(2818,2819).addRange(2887,2888).addRange(2891,2892).addRange(3006,3007).addRange(3009,3010).addRange(3014,3016).addRange(3018,3020).addRange(3073,3075).addRange(3137,3140).addRange(3202,3203).addRange(3264,3268).addRange(3271,3272).addRange(3274,3275).addRange(3285,3286).addRange(3330,3331).addRange(3390,3392).addRange(3398,3400).addRange(3402,3404).addRange(3458,3459).addRange(3535,3537).addRange(3544,3551).addRange(3570,3571).addRange(3902,3903).addRange(4139,4140).addRange(4155,4156).addRange(4182,4183).addRange(4194,4196).addRange(4199,4205).addRange(4227,4228).addRange(4231,4236).addRange(4250,4252).addRange(6078,6085).addRange(6087,6088).addRange(6435,6438).addRange(6441,6443).addRange(6448,6449).addRange(6451,6456).addRange(6681,6682).addRange(6755,6756).addRange(6765,6770).addRange(6973,6977),a.addRange(6979,6980).addRange(7078,7079).addRange(7146,7148).addRange(7154,7155).addRange(7204,7211).addRange(7220,7221).addRange(12334,12335).addRange(43043,43044).addRange(43136,43137).addRange(43188,43203).addRange(43346,43347).addRange(43444,43445).addRange(43450,43451).addRange(43454,43456).addRange(43567,43568).addRange(43571,43572).addRange(43758,43759).addRange(44003,44004).addRange(44006,44007).addRange(44009,44010).addRange(69808,69810).addRange(69815,69816).addRange(69957,69958).addRange(70067,70069).addRange(70079,70080).addRange(70188,70190).addRange(70194,70195).addRange(70368,70370).addRange(70402,70403).addRange(70462,70463).addRange(70465,70468).addRange(70471,70472).addRange(70475,70477).addRange(70498,70499).addRange(70709,70711).addRange(70720,70721).addRange(70832,70834).addRange(70843,70846).addRange(71087,71089).addRange(71096,71099).addRange(71216,71218).addRange(71227,71228).addRange(71342,71343).addRange(71456,71457).addRange(71724,71726).addRange(71984,71989).addRange(71991,71992).addRange(72145,72147).addRange(72156,72159).addRange(72279,72280).addRange(73098,73102),a.addRange(73107,73108).addRange(73461,73462).addRange(94033,94087).addRange(94192,94193).addRange(119141,119142).addRange(119149,119154),e.exports=a},93474:(e,t,n)=>{const a=n(78776)();a.addRange(55296,57343),e.exports=a},54581:(e,t,n)=>{const a=n(78776)(36,43,94,96,124,126,172,180,184,215,247,749,885,1014,1154,1547,1758,1769,2038,2184,2801,2928,3199,3407,3449,3647,3859,3892,3894,3896,5741,6107,6464,8125,8260,8274,8468,8485,8487,8489,8494,8527,12292,12320,12880,43867,64297,64975,65122,65129,65284,65291,65342,65344,65372,65374,65952,68296,71487,92997,113820,119365,120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,123215,123647,126124,126128,126254,129008);a.addRange(60,62).addRange(162,166).addRange(168,169).addRange(174,177).addRange(706,709).addRange(722,735).addRange(741,747).addRange(751,767).addRange(900,901).addRange(1421,1423).addRange(1542,1544).addRange(1550,1551).addRange(1789,1790).addRange(2046,2047).addRange(2546,2547).addRange(2554,2555).addRange(3059,3066).addRange(3841,3843).addRange(3861,3863).addRange(3866,3871).addRange(4030,4037).addRange(4039,4044).addRange(4046,4047).addRange(4053,4056).addRange(4254,4255).addRange(5008,5017).addRange(6622,6655).addRange(7009,7018).addRange(7028,7036).addRange(8127,8129).addRange(8141,8143).addRange(8157,8159).addRange(8173,8175).addRange(8189,8190).addRange(8314,8316).addRange(8330,8332).addRange(8352,8384).addRange(8448,8449).addRange(8451,8454).addRange(8456,8457).addRange(8470,8472).addRange(8478,8483).addRange(8506,8507).addRange(8512,8516).addRange(8522,8525).addRange(8586,8587).addRange(8592,8967).addRange(8972,9e3).addRange(9003,9254).addRange(9280,9290).addRange(9372,9449),a.addRange(9472,10087).addRange(10132,10180).addRange(10183,10213).addRange(10224,10626).addRange(10649,10711).addRange(10716,10747).addRange(10750,11123).addRange(11126,11157).addRange(11159,11263).addRange(11493,11498).addRange(11856,11857).addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12272,12283).addRange(12306,12307).addRange(12342,12343).addRange(12350,12351).addRange(12443,12444).addRange(12688,12689).addRange(12694,12703).addRange(12736,12771).addRange(12800,12830).addRange(12842,12871).addRange(12896,12927).addRange(12938,12976).addRange(12992,13311).addRange(19904,19967).addRange(42128,42182).addRange(42752,42774).addRange(42784,42785).addRange(42889,42890).addRange(43048,43051).addRange(43062,43065).addRange(43639,43641).addRange(43882,43883).addRange(64434,64450).addRange(64832,64847).addRange(65020,65023).addRange(65124,65126).addRange(65308,65310).addRange(65504,65510).addRange(65512,65518).addRange(65532,65533).addRange(65847,65855).addRange(65913,65929).addRange(65932,65934).addRange(65936,65948).addRange(66e3,66044).addRange(67703,67704).addRange(73685,73713),a.addRange(92988,92991).addRange(118608,118723).addRange(118784,119029).addRange(119040,119078).addRange(119081,119140).addRange(119146,119148).addRange(119171,119172).addRange(119180,119209).addRange(119214,119274).addRange(119296,119361).addRange(119552,119638).addRange(120832,121343).addRange(121399,121402).addRange(121453,121460).addRange(121462,121475).addRange(121477,121478).addRange(126704,126705).addRange(126976,127019).addRange(127024,127123).addRange(127136,127150).addRange(127153,127167).addRange(127169,127183).addRange(127185,127221).addRange(127245,127405).addRange(127462,127490).addRange(127504,127547).addRange(127552,127560).addRange(127568,127569).addRange(127584,127589).addRange(127744,128727).addRange(128733,128748).addRange(128752,128764).addRange(128768,128883).addRange(128896,128984).addRange(128992,129003).addRange(129024,129035).addRange(129040,129095).addRange(129104,129113).addRange(129120,129159).addRange(129168,129197).addRange(129200,129201).addRange(129280,129619).addRange(129632,129645).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767),a.addRange(129776,129782).addRange(129792,129938).addRange(129940,129994),e.exports=a},8550:(e,t,n)=>{const a=n(78776)(453,456,459,498,8124,8140,8188);a.addRange(8072,8079).addRange(8088,8095).addRange(8104,8111),e.exports=a},22525:(e,t,n)=>{const a=n(78776)(907,909,930,1328,1424,1806,2111,2143,2191,2436,2473,2481,2526,2564,2601,2609,2612,2615,2621,2653,2692,2702,2706,2729,2737,2740,2758,2762,2816,2820,2857,2865,2868,2910,2948,2961,2971,2973,3017,3085,3089,3113,3141,3145,3159,3213,3217,3241,3252,3269,3273,3295,3312,3341,3345,3397,3401,3456,3460,3506,3516,3541,3543,3715,3717,3723,3748,3750,3781,3783,3912,3992,4029,4045,4294,4681,4695,4697,4745,4785,4799,4801,4823,4881,5997,6001,6431,6751,7039,8024,8026,8028,8030,8117,8133,8156,8181,8191,8293,8335,11158,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12592,12687,12831,42962,42964,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65280,65511,65548,65575,65595,65598,65935,66462,66939,66955,66963,66966,66978,66994,67002,67462,67505,67593,67638,67670,67827,68100,68116,68120,69247,69290,69941,70112,70162,70279,70281,70286,70302,70404,70441,70449,70452,70458,70748,71956,71959,71990,72713,72759,72872,72967,72970,73019,73022,73062,73065,73103,73106,74863,78895,92767,92863,93018,93026,110580,110588,110591,119893,119965,119981,119994,119996,120004,120070,120085,120093,120122,120127,120133,120145,121504,122887,122914,122917,124903,124908,124911,124927,126468,126496,126499,126504,126515,126520,126522,126536,126538,126540,126544,126547,126552,126554,126556,126558,126560,126563,126571,126579,126584,126589,126591,126602,126628,126634,127168,127184,129939);a.addRange(888,889).addRange(896,899).addRange(1367,1368).addRange(1419,1420).addRange(1480,1487).addRange(1515,1518).addRange(1525,1535).addRange(1867,1868).addRange(1970,1983).addRange(2043,2044).addRange(2094,2095).addRange(2140,2141).addRange(2155,2159).addRange(2194,2199).addRange(2445,2446).addRange(2449,2450).addRange(2483,2485).addRange(2490,2491).addRange(2501,2502).addRange(2505,2506).addRange(2511,2518).addRange(2520,2523).addRange(2532,2533).addRange(2559,2560).addRange(2571,2574).addRange(2577,2578).addRange(2618,2619).addRange(2627,2630).addRange(2633,2634).addRange(2638,2640).addRange(2642,2648).addRange(2655,2661).addRange(2679,2688).addRange(2746,2747).addRange(2766,2767).addRange(2769,2783).addRange(2788,2789).addRange(2802,2808).addRange(2829,2830).addRange(2833,2834).addRange(2874,2875).addRange(2885,2886).addRange(2889,2890).addRange(2894,2900).addRange(2904,2907).addRange(2916,2917).addRange(2936,2945).addRange(2955,2957).addRange(2966,2968).addRange(2976,2978).addRange(2981,2983),a.addRange(2987,2989).addRange(3002,3005).addRange(3011,3013).addRange(3022,3023).addRange(3025,3030).addRange(3032,3045).addRange(3067,3071).addRange(3130,3131).addRange(3150,3156).addRange(3163,3164).addRange(3166,3167).addRange(3172,3173).addRange(3184,3190).addRange(3258,3259).addRange(3278,3284).addRange(3287,3292).addRange(3300,3301).addRange(3315,3327).addRange(3408,3411).addRange(3428,3429).addRange(3479,3481).addRange(3518,3519).addRange(3527,3529).addRange(3531,3534).addRange(3552,3557).addRange(3568,3569).addRange(3573,3584).addRange(3643,3646).addRange(3676,3712).addRange(3774,3775).addRange(3790,3791).addRange(3802,3803).addRange(3808,3839).addRange(3949,3952).addRange(4059,4095).addRange(4296,4300).addRange(4302,4303).addRange(4686,4687).addRange(4702,4703).addRange(4750,4751).addRange(4790,4791).addRange(4806,4807).addRange(4886,4887).addRange(4955,4956).addRange(4989,4991).addRange(5018,5023).addRange(5110,5111).addRange(5118,5119).addRange(5789,5791).addRange(5881,5887).addRange(5910,5918),a.addRange(5943,5951).addRange(5972,5983).addRange(6004,6015).addRange(6110,6111).addRange(6122,6127).addRange(6138,6143).addRange(6170,6175).addRange(6265,6271).addRange(6315,6319).addRange(6390,6399).addRange(6444,6447).addRange(6460,6463).addRange(6465,6467).addRange(6510,6511).addRange(6517,6527).addRange(6572,6575).addRange(6602,6607).addRange(6619,6621).addRange(6684,6685).addRange(6781,6782).addRange(6794,6799).addRange(6810,6815).addRange(6830,6831).addRange(6863,6911).addRange(6989,6991).addRange(7156,7163).addRange(7224,7226).addRange(7242,7244).addRange(7305,7311).addRange(7355,7356).addRange(7368,7375).addRange(7419,7423).addRange(7958,7959).addRange(7966,7967).addRange(8006,8007).addRange(8014,8015).addRange(8062,8063).addRange(8148,8149).addRange(8176,8177).addRange(8306,8307).addRange(8349,8351).addRange(8385,8399).addRange(8433,8447).addRange(8588,8591).addRange(9255,9279).addRange(9291,9311).addRange(11124,11125).addRange(11508,11512).addRange(11560,11564).addRange(11566,11567).addRange(11624,11630),a.addRange(11633,11646).addRange(11671,11679).addRange(11870,11903).addRange(12020,12031).addRange(12246,12271).addRange(12284,12287).addRange(12439,12440).addRange(12544,12548).addRange(12772,12783).addRange(42125,42127).addRange(42183,42191).addRange(42540,42559).addRange(42744,42751).addRange(42955,42959).addRange(42970,42993).addRange(43053,43055).addRange(43066,43071).addRange(43128,43135).addRange(43206,43213).addRange(43226,43231).addRange(43348,43358).addRange(43389,43391).addRange(43482,43485).addRange(43575,43583).addRange(43598,43599).addRange(43610,43611).addRange(43715,43738).addRange(43767,43776).addRange(43783,43784).addRange(43791,43792).addRange(43799,43807).addRange(43884,43887).addRange(44014,44015).addRange(44026,44031).addRange(55204,55215).addRange(55239,55242).addRange(55292,55295).addRange(64110,64111).addRange(64218,64255).addRange(64263,64274).addRange(64280,64284).addRange(64451,64466).addRange(64912,64913).addRange(64968,64974).addRange(64976,65007).addRange(65050,65055).addRange(65132,65135).addRange(65277,65278).addRange(65471,65473).addRange(65480,65481).addRange(65488,65489),a.addRange(65496,65497).addRange(65501,65503).addRange(65519,65528).addRange(65534,65535).addRange(65614,65615).addRange(65630,65663).addRange(65787,65791).addRange(65795,65798).addRange(65844,65846).addRange(65949,65951).addRange(65953,65999).addRange(66046,66175).addRange(66205,66207).addRange(66257,66271).addRange(66300,66303).addRange(66340,66348).addRange(66379,66383).addRange(66427,66431).addRange(66500,66503).addRange(66518,66559).addRange(66718,66719).addRange(66730,66735).addRange(66772,66775).addRange(66812,66815).addRange(66856,66863).addRange(66916,66926).addRange(67005,67071).addRange(67383,67391).addRange(67414,67423).addRange(67432,67455).addRange(67515,67583).addRange(67590,67591).addRange(67641,67643).addRange(67645,67646).addRange(67743,67750).addRange(67760,67807).addRange(67830,67834).addRange(67868,67870).addRange(67898,67902).addRange(67904,67967).addRange(68024,68027).addRange(68048,68049).addRange(68103,68107).addRange(68150,68151).addRange(68155,68158).addRange(68169,68175).addRange(68185,68191).addRange(68256,68287).addRange(68327,68330).addRange(68343,68351).addRange(68406,68408),a.addRange(68438,68439).addRange(68467,68471).addRange(68498,68504).addRange(68509,68520).addRange(68528,68607).addRange(68681,68735).addRange(68787,68799).addRange(68851,68857).addRange(68904,68911).addRange(68922,69215).addRange(69294,69295).addRange(69298,69375).addRange(69416,69423).addRange(69466,69487).addRange(69514,69551).addRange(69580,69599).addRange(69623,69631).addRange(69710,69713).addRange(69750,69758).addRange(69827,69836).addRange(69838,69839).addRange(69865,69871).addRange(69882,69887).addRange(69960,69967).addRange(70007,70015).addRange(70133,70143).addRange(70207,70271).addRange(70314,70319).addRange(70379,70383).addRange(70394,70399).addRange(70413,70414).addRange(70417,70418).addRange(70469,70470).addRange(70473,70474).addRange(70478,70479).addRange(70481,70486).addRange(70488,70492).addRange(70500,70501).addRange(70509,70511).addRange(70517,70655).addRange(70754,70783).addRange(70856,70863).addRange(70874,71039).addRange(71094,71095).addRange(71134,71167).addRange(71237,71247).addRange(71258,71263).addRange(71277,71295).addRange(71354,71359).addRange(71370,71423).addRange(71451,71452),a.addRange(71468,71471).addRange(71495,71679).addRange(71740,71839).addRange(71923,71934).addRange(71943,71944).addRange(71946,71947).addRange(71993,71994).addRange(72007,72015).addRange(72026,72095).addRange(72104,72105).addRange(72152,72153).addRange(72165,72191).addRange(72264,72271).addRange(72355,72367).addRange(72441,72703).addRange(72774,72783).addRange(72813,72815).addRange(72848,72849).addRange(72887,72959).addRange(73015,73017).addRange(73032,73039).addRange(73050,73055).addRange(73113,73119).addRange(73130,73439).addRange(73465,73647).addRange(73649,73663).addRange(73714,73726).addRange(74650,74751).addRange(74869,74879).addRange(75076,77711).addRange(77811,77823).addRange(78905,82943).addRange(83527,92159).addRange(92729,92735).addRange(92778,92781).addRange(92874,92879).addRange(92910,92911).addRange(92918,92927).addRange(92998,93007).addRange(93048,93052).addRange(93072,93759).addRange(93851,93951).addRange(94027,94030).addRange(94088,94094).addRange(94112,94175).addRange(94181,94191).addRange(94194,94207).addRange(100344,100351).addRange(101590,101631).addRange(101641,110575).addRange(110883,110927),a.addRange(110931,110947).addRange(110952,110959).addRange(111356,113663).addRange(113771,113775).addRange(113789,113791).addRange(113801,113807).addRange(113818,113819).addRange(113828,118527).addRange(118574,118575).addRange(118599,118607).addRange(118724,118783).addRange(119030,119039).addRange(119079,119080).addRange(119275,119295).addRange(119366,119519).addRange(119540,119551).addRange(119639,119647).addRange(119673,119807).addRange(119968,119969).addRange(119971,119972).addRange(119975,119976).addRange(120075,120076).addRange(120135,120137).addRange(120486,120487).addRange(120780,120781).addRange(121484,121498).addRange(121520,122623).addRange(122655,122879).addRange(122905,122906).addRange(122923,123135).addRange(123181,123183).addRange(123198,123199).addRange(123210,123213).addRange(123216,123535).addRange(123567,123583).addRange(123642,123646).addRange(123648,124895).addRange(125125,125126).addRange(125143,125183).addRange(125260,125263).addRange(125274,125277).addRange(125280,126064).addRange(126133,126208).addRange(126270,126463).addRange(126501,126502).addRange(126524,126529).addRange(126531,126534).addRange(126549,126550).addRange(126565,126566).addRange(126620,126624).addRange(126652,126703),a.addRange(126706,126975).addRange(127020,127023).addRange(127124,127135).addRange(127151,127152).addRange(127222,127231).addRange(127406,127461).addRange(127491,127503).addRange(127548,127551).addRange(127561,127567).addRange(127570,127583).addRange(127590,127743).addRange(128728,128732).addRange(128749,128751).addRange(128765,128767).addRange(128884,128895).addRange(128985,128991).addRange(129004,129007).addRange(129009,129023).addRange(129036,129039).addRange(129096,129103).addRange(129114,129119).addRange(129160,129167).addRange(129198,129199).addRange(129202,129279).addRange(129620,129631).addRange(129646,129647).addRange(129653,129655).addRange(129661,129663).addRange(129671,129679).addRange(129709,129711).addRange(129723,129727).addRange(129734,129743).addRange(129754,129759).addRange(129768,129775).addRange(129783,129791).addRange(129995,130031).addRange(130042,131071).addRange(173792,173823).addRange(177977,177983).addRange(178206,178207).addRange(183970,183983).addRange(191457,194559).addRange(195102,196607).addRange(201547,917504).addRange(917506,917535).addRange(917632,917759).addRange(918e3,983039).addRange(1048574,1048575).addRange(1114110,1114111),e.exports=a},28829:(e,t,n)=>{const a=n(78776)(256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,379,381,388,418,420,425,428,437,444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,577,584,586,588,590,880,882,886,895,902,908,975,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,4295,4301,7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,8025,8027,8029,8031,8450,8455,8469,8484,8486,8488,8517,8579,11360,11367,11369,11371,11378,11381,11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,42934,42936,42938,42940,42942,42944,42946,42953,42960,42966,42968,42997,119964,119970,120134,120778);a.addRange(65,90).addRange(192,214).addRange(216,222).addRange(376,377).addRange(385,386).addRange(390,391).addRange(393,395).addRange(398,401).addRange(403,404).addRange(406,408).addRange(412,413).addRange(415,416).addRange(422,423).addRange(430,431).addRange(433,435).addRange(439,440).addRange(502,504).addRange(570,571).addRange(573,574).addRange(579,582).addRange(904,906).addRange(910,911).addRange(913,929).addRange(931,939).addRange(978,980).addRange(1017,1018).addRange(1021,1071).addRange(1216,1217).addRange(1329,1366).addRange(4256,4293).addRange(5024,5109).addRange(7312,7354).addRange(7357,7359).addRange(7944,7951).addRange(7960,7965).addRange(7976,7983).addRange(7992,7999).addRange(8008,8013).addRange(8040,8047).addRange(8120,8123).addRange(8136,8139).addRange(8152,8155).addRange(8168,8172).addRange(8184,8187).addRange(8459,8461).addRange(8464,8466).addRange(8473,8477).addRange(8490,8493).addRange(8496,8499).addRange(8510,8511).addRange(11264,11311),a.addRange(11362,11364).addRange(11373,11376).addRange(11390,11392).addRange(42877,42878).addRange(42922,42926).addRange(42928,42932).addRange(42948,42951).addRange(65313,65338).addRange(66560,66599).addRange(66736,66771).addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(68736,68786).addRange(71840,71871).addRange(93760,93791).addRange(119808,119833).addRange(119860,119885).addRange(119912,119937).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119989).addRange(120016,120041).addRange(120068,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120120,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120172,120197).addRange(120224,120249).addRange(120276,120301).addRange(120328,120353).addRange(120380,120405).addRange(120432,120457).addRange(120488,120512).addRange(120546,120570).addRange(120604,120628).addRange(120662,120686).addRange(120720,120744).addRange(125184,125217),e.exports=a},56129:(e,t,n)=>{const a=n(78776)();a.addRange(125184,125259).addRange(125264,125273).addRange(125278,125279),e.exports=a},50147:(e,t,n)=>{const a=n(78776)();a.addRange(71424,71450).addRange(71453,71467).addRange(71472,71494),e.exports=a},50926:(e,t,n)=>{const a=n(78776)();a.addRange(82944,83526),e.exports=a},56820:(e,t,n)=>{const a=n(78776)(64975,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);a.addRange(1536,1540).addRange(1542,1547).addRange(1549,1562).addRange(1564,1566).addRange(1568,1599).addRange(1601,1610).addRange(1622,1647).addRange(1649,1756).addRange(1758,1791).addRange(1872,1919).addRange(2160,2190).addRange(2192,2193).addRange(2200,2273).addRange(2275,2303).addRange(64336,64450).addRange(64467,64829).addRange(64832,64911).addRange(64914,64967).addRange(65008,65023).addRange(65136,65140).addRange(65142,65276).addRange(69216,69246).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(126704,126705),e.exports=a},14899:(e,t,n)=>{const a=n(78776)();a.addRange(1329,1366).addRange(1369,1418).addRange(1421,1423).addRange(64275,64279),e.exports=a},69929:(e,t,n)=>{const a=n(78776)();a.addRange(68352,68405).addRange(68409,68415),e.exports=a},30706:(e,t,n)=>{const a=n(78776)();a.addRange(6912,6988).addRange(6992,7038),e.exports=a},15533:(e,t,n)=>{const a=n(78776)();a.addRange(42656,42743).addRange(92160,92728),e.exports=a},89979:(e,t,n)=>{const a=n(78776)();a.addRange(92880,92909).addRange(92912,92917),e.exports=a},83765:(e,t,n)=>{const a=n(78776)();a.addRange(7104,7155).addRange(7164,7167),e.exports=a},72693:(e,t,n)=>{const a=n(78776)(2482,2519);a.addRange(2432,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2492,2500).addRange(2503,2504).addRange(2507,2510).addRange(2524,2525).addRange(2527,2531).addRange(2534,2558),e.exports=a},10236:(e,t,n)=>{const a=n(78776)();a.addRange(72704,72712).addRange(72714,72758).addRange(72760,72773).addRange(72784,72812),e.exports=a},30468:(e,t,n)=>{const a=n(78776)();a.addRange(746,747).addRange(12549,12591).addRange(12704,12735),e.exports=a},45770:(e,t,n)=>{const a=n(78776)(69759);a.addRange(69632,69709).addRange(69714,69749),e.exports=a},65529:(e,t,n)=>{const a=n(78776)();a.addRange(10240,10495),e.exports=a},74206:(e,t,n)=>{const a=n(78776)();a.addRange(6656,6683).addRange(6686,6687),e.exports=a},96208:(e,t,n)=>{const a=n(78776)();a.addRange(5952,5971),e.exports=a},66700:(e,t,n)=>{const a=n(78776)();a.addRange(5120,5759).addRange(6320,6389).addRange(72368,72383),e.exports=a},93961:(e,t,n)=>{const a=n(78776)();a.addRange(66208,66256),e.exports=a},74121:(e,t,n)=>{const a=n(78776)(66927);a.addRange(66864,66915),e.exports=a},12128:(e,t,n)=>{const a=n(78776)();a.addRange(69888,69940).addRange(69942,69959),e.exports=a},52189:(e,t,n)=>{const a=n(78776)();a.addRange(43520,43574).addRange(43584,43597).addRange(43600,43609).addRange(43612,43615),e.exports=a},75033:(e,t,n)=>{const a=n(78776)();a.addRange(5024,5109).addRange(5112,5117).addRange(43888,43967),e.exports=a},73507:(e,t,n)=>{const a=n(78776)();a.addRange(69552,69579),e.exports=a},85998:(e,t,n)=>{const a=n(78776)(215,247,884,894,901,903,1541,1548,1563,1567,1600,1757,2274,3647,4347,6149,7379,7393,7418,12294,12448,13055,43310,43471,43867,65279,65392,119970,119995,120134,129008,917505);a.addRange(0,64).addRange(91,96).addRange(123,169).addRange(171,185).addRange(187,191).addRange(697,735).addRange(741,745).addRange(748,767).addRange(2404,2405).addRange(4053,4056).addRange(5867,5869).addRange(5941,5942).addRange(6146,6147).addRange(7401,7404).addRange(7406,7411).addRange(7413,7415).addRange(8192,8203).addRange(8206,8292).addRange(8294,8304).addRange(8308,8318).addRange(8320,8334).addRange(8352,8384).addRange(8448,8485).addRange(8487,8489).addRange(8492,8497).addRange(8499,8525).addRange(8527,8543).addRange(8585,8587).addRange(8592,9254).addRange(9280,9290).addRange(9312,10239).addRange(10496,11123).addRange(11126,11157).addRange(11159,11263).addRange(11776,11869).addRange(12272,12283).addRange(12288,12292).addRange(12296,12320).addRange(12336,12343).addRange(12348,12351).addRange(12443,12444).addRange(12539,12540).addRange(12688,12703).addRange(12736,12771).addRange(12832,12895).addRange(12927,13007).addRange(13144,13311).addRange(19904,19967).addRange(42752,42785).addRange(42888,42890).addRange(43056,43065),a.addRange(43882,43883).addRange(64830,64831).addRange(65040,65049).addRange(65072,65106).addRange(65108,65126).addRange(65128,65131).addRange(65281,65312).addRange(65339,65344).addRange(65371,65381).addRange(65438,65439).addRange(65504,65510).addRange(65512,65518).addRange(65529,65533).addRange(65792,65794).addRange(65799,65843).addRange(65847,65855).addRange(65936,65948).addRange(66e3,66044).addRange(66273,66299).addRange(113824,113827).addRange(118608,118723).addRange(118784,119029).addRange(119040,119078).addRange(119081,119142).addRange(119146,119162).addRange(119171,119172).addRange(119180,119209).addRange(119214,119274).addRange(119520,119539).addRange(119552,119638).addRange(119648,119672).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120779).addRange(120782,120831).addRange(126065,126132).addRange(126209,126269),a.addRange(126976,127019).addRange(127024,127123).addRange(127136,127150).addRange(127153,127167).addRange(127169,127183).addRange(127185,127221).addRange(127232,127405).addRange(127462,127487).addRange(127489,127490).addRange(127504,127547).addRange(127552,127560).addRange(127568,127569).addRange(127584,127589).addRange(127744,128727).addRange(128733,128748).addRange(128752,128764).addRange(128768,128883).addRange(128896,128984).addRange(128992,129003).addRange(129024,129035).addRange(129040,129095).addRange(129104,129113).addRange(129120,129159).addRange(129168,129197).addRange(129200,129201).addRange(129280,129619).addRange(129632,129645).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782).addRange(129792,129938).addRange(129940,129994).addRange(130032,130041).addRange(917536,917631),e.exports=a},56036:(e,t,n)=>{const a=n(78776)();a.addRange(994,1007).addRange(11392,11507).addRange(11513,11519),e.exports=a},13563:(e,t,n)=>{const a=n(78776)();a.addRange(73728,74649).addRange(74752,74862).addRange(74864,74868).addRange(74880,75075),e.exports=a},49182:(e,t,n)=>{const a=n(78776)(67592,67644,67647);a.addRange(67584,67589).addRange(67594,67637).addRange(67639,67640),e.exports=a},80084:(e,t,n)=>{const a=n(78776)();a.addRange(77712,77810),e.exports=a},84087:(e,t,n)=>{const a=n(78776)(7467,7544);a.addRange(1024,1156).addRange(1159,1327).addRange(7296,7304).addRange(11744,11775).addRange(42560,42655).addRange(65070,65071),e.exports=a},48844:(e,t,n)=>{const a=n(78776)();a.addRange(66560,66639),e.exports=a},35690:(e,t,n)=>{const a=n(78776)();a.addRange(2304,2384).addRange(2389,2403).addRange(2406,2431).addRange(43232,43263),e.exports=a},57201:(e,t,n)=>{const a=n(78776)(71945);a.addRange(71936,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71989).addRange(71991,71992).addRange(71995,72006).addRange(72016,72025),e.exports=a},71932:(e,t,n)=>{const a=n(78776)();a.addRange(71680,71739),e.exports=a},95187:(e,t,n)=>{const a=n(78776)();a.addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(113820,113823),e.exports=a},49778:(e,t,n)=>{const a=n(78776)();a.addRange(77824,78894).addRange(78896,78904),e.exports=a},42781:(e,t,n)=>{const a=n(78776)();a.addRange(66816,66855),e.exports=a},83103:(e,t,n)=>{const a=n(78776)();a.addRange(69600,69622),e.exports=a},26672:(e,t,n)=>{const a=n(78776)(4696,4800);a.addRange(4608,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4957,4988).addRange(4992,5017).addRange(11648,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926),e.exports=a},73661:(e,t,n)=>{const a=n(78776)(4295,4301,11559,11565);a.addRange(4256,4293).addRange(4304,4346).addRange(4348,4351).addRange(7312,7354).addRange(7357,7359).addRange(11520,11557),e.exports=a},85857:(e,t,n)=>{const a=n(78776)();a.addRange(11264,11359).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922),e.exports=a},32096:(e,t,n)=>{const a=n(78776)();a.addRange(66352,66378),e.exports=a},71742:(e,t,n)=>{const a=n(78776)(70480,70487);a.addRange(70400,70403).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70460,70468).addRange(70471,70472).addRange(70475,70477).addRange(70493,70499).addRange(70502,70508).addRange(70512,70516),e.exports=a},62199:(e,t,n)=>{const a=n(78776)(895,900,902,908,7615,8025,8027,8029,8486,43877,65952);a.addRange(880,883).addRange(885,887).addRange(890,893).addRange(904,906).addRange(910,929).addRange(931,993).addRange(1008,1023).addRange(7462,7466).addRange(7517,7521).addRange(7526,7530).addRange(7936,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8132).addRange(8134,8147).addRange(8150,8155).addRange(8157,8175).addRange(8178,8180).addRange(8182,8190).addRange(65856,65934).addRange(119296,119365),e.exports=a},11931:(e,t,n)=>{const a=n(78776)(2768);a.addRange(2689,2691).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2748,2757).addRange(2759,2761).addRange(2763,2765).addRange(2784,2787).addRange(2790,2801).addRange(2809,2815),e.exports=a},27600:(e,t,n)=>{const a=n(78776)();a.addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73104,73105).addRange(73107,73112).addRange(73120,73129),e.exports=a},76482:(e,t,n)=>{const a=n(78776)(2620,2641,2654);a.addRange(2561,2563).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2626).addRange(2631,2632).addRange(2635,2637).addRange(2649,2652).addRange(2662,2678),e.exports=a},26294:(e,t,n)=>{const a=n(78776)(12293,12295);a.addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12321,12329).addRange(12344,12347).addRange(13312,19903).addRange(19968,40959).addRange(63744,64109).addRange(64112,64217).addRange(94178,94179).addRange(94192,94193).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=a},38858:(e,t,n)=>{const a=n(78776)();a.addRange(4352,4607).addRange(12334,12335).addRange(12593,12686).addRange(12800,12830).addRange(12896,12926).addRange(43360,43388).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(65440,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500),e.exports=a},50043:(e,t,n)=>{const a=n(78776)();a.addRange(68864,68903).addRange(68912,68921),e.exports=a},95307:(e,t,n)=>{const a=n(78776)();a.addRange(5920,5940),e.exports=a},20280:(e,t,n)=>{const a=n(78776)();a.addRange(67808,67826).addRange(67828,67829).addRange(67835,67839),e.exports=a},12674:(e,t,n)=>{const a=n(78776)(64318);a.addRange(1425,1479).addRange(1488,1514).addRange(1519,1524).addRange(64285,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64335),e.exports=a},54058:(e,t,n)=>{const a=n(78776)(127488);a.addRange(12353,12438).addRange(12445,12447).addRange(110593,110879).addRange(110928,110930),e.exports=a},70521:(e,t,n)=>{const a=n(78776)();a.addRange(67648,67669).addRange(67671,67679),e.exports=a},21448:(e,t,n)=>{const a=n(78776)(1648,7405,7412,66045,66272,70459);a.addRange(768,879).addRange(1157,1158).addRange(1611,1621).addRange(2385,2388).addRange(6832,6862).addRange(7376,7378).addRange(7380,7392).addRange(7394,7400).addRange(7416,7417).addRange(7616,7679).addRange(8204,8205).addRange(8400,8432).addRange(12330,12333).addRange(12441,12442).addRange(65024,65039).addRange(65056,65069).addRange(118528,118573).addRange(118576,118598).addRange(119143,119145).addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(917760,917999),e.exports=a},64086:(e,t,n)=>{const a=n(78776)();a.addRange(68448,68466).addRange(68472,68479),e.exports=a},35772:(e,t,n)=>{const a=n(78776)();a.addRange(68416,68437).addRange(68440,68447),e.exports=a},98272:(e,t,n)=>{const a=n(78776)();a.addRange(43392,43469).addRange(43472,43481).addRange(43486,43487),e.exports=a},52764:(e,t,n)=>{const a=n(78776)(69837);a.addRange(69760,69826),e.exports=a},98276:(e,t,n)=>{const a=n(78776)();a.addRange(3200,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3260,3268).addRange(3270,3272).addRange(3274,3277).addRange(3285,3286).addRange(3293,3294).addRange(3296,3299).addRange(3302,3311).addRange(3313,3314),e.exports=a},98285:(e,t,n)=>{const a=n(78776)(110592);a.addRange(12449,12538).addRange(12541,12543).addRange(12784,12799).addRange(13008,13054).addRange(13056,13143).addRange(65382,65391).addRange(65393,65437).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110880,110882).addRange(110948,110951),e.exports=a},10821:(e,t,n)=>{const a=n(78776)(43311);a.addRange(43264,43309),e.exports=a},67559:(e,t,n)=>{const a=n(78776)();a.addRange(68096,68099).addRange(68101,68102).addRange(68108,68115).addRange(68117,68119).addRange(68121,68149).addRange(68152,68154).addRange(68159,68168).addRange(68176,68184),e.exports=a},48304:(e,t,n)=>{const a=n(78776)(94180);a.addRange(101120,101589),e.exports=a},39834:(e,t,n)=>{const a=n(78776)();a.addRange(6016,6109).addRange(6112,6121).addRange(6128,6137).addRange(6624,6655),e.exports=a},42593:(e,t,n)=>{const a=n(78776)();a.addRange(70144,70161).addRange(70163,70206),e.exports=a},64415:(e,t,n)=>{const a=n(78776)();a.addRange(70320,70378).addRange(70384,70393),e.exports=a},37740:(e,t,n)=>{const a=n(78776)(3716,3749,3782);a.addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3773).addRange(3776,3780).addRange(3784,3789).addRange(3792,3801).addRange(3804,3807),e.exports=a},46818:(e,t,n)=>{const a=n(78776)(170,186,8305,8319,8498,8526,42963);a.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,696).addRange(736,740).addRange(7424,7461).addRange(7468,7516).addRange(7522,7525).addRange(7531,7543).addRange(7545,7614).addRange(7680,7935).addRange(8336,8348).addRange(8490,8491).addRange(8544,8584).addRange(11360,11391).addRange(42786,42887).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43007).addRange(43824,43866).addRange(43868,43876).addRange(43878,43881).addRange(64256,64262).addRange(65313,65338).addRange(65345,65370).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(122624,122654),e.exports=a},7647:(e,t,n)=>{const a=n(78776)();a.addRange(7168,7223).addRange(7227,7241).addRange(7245,7247),e.exports=a},92627:(e,t,n)=>{const a=n(78776)(6464);a.addRange(6400,6430).addRange(6432,6443).addRange(6448,6459).addRange(6468,6479),e.exports=a},16193:(e,t,n)=>{const a=n(78776)();a.addRange(67072,67382).addRange(67392,67413).addRange(67424,67431),e.exports=a},71901:(e,t,n)=>{const a=n(78776)();a.addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786),e.exports=a},25734:(e,t,n)=>{const a=n(78776)(73648);a.addRange(42192,42239),e.exports=a},6450:(e,t,n)=>{const a=n(78776)();a.addRange(66176,66204),e.exports=a},28293:(e,t,n)=>{const a=n(78776)(67903);a.addRange(67872,67897),e.exports=a},48193:(e,t,n)=>{const a=n(78776)();a.addRange(69968,70006),e.exports=a},50865:(e,t,n)=>{const a=n(78776)();a.addRange(73440,73464),e.exports=a},24789:(e,t,n)=>{const a=n(78776)();a.addRange(3328,3340).addRange(3342,3344).addRange(3346,3396).addRange(3398,3400).addRange(3402,3407).addRange(3412,3427).addRange(3430,3455),e.exports=a},9535:(e,t,n)=>{const a=n(78776)(2142);a.addRange(2112,2139),e.exports=a},83061:(e,t,n)=>{const a=n(78776)();a.addRange(68288,68326).addRange(68331,68342),e.exports=a},76528:(e,t,n)=>{const a=n(78776)();a.addRange(72816,72847).addRange(72850,72871).addRange(72873,72886),e.exports=a},9921:(e,t,n)=>{const a=n(78776)(73018);a.addRange(72960,72966).addRange(72968,72969).addRange(72971,73014).addRange(73020,73021).addRange(73023,73031).addRange(73040,73049),e.exports=a},93378:(e,t,n)=>{const a=n(78776)();a.addRange(93760,93850),e.exports=a},6940:(e,t,n)=>{const a=n(78776)();a.addRange(43744,43766).addRange(43968,44013).addRange(44016,44025),e.exports=a},3897:(e,t,n)=>{const a=n(78776)();a.addRange(124928,125124).addRange(125127,125142),e.exports=a},65999:(e,t,n)=>{const a=n(78776)();a.addRange(68e3,68023).addRange(68028,68047).addRange(68050,68095),e.exports=a},59758:(e,t,n)=>{const a=n(78776)();a.addRange(67968,67999),e.exports=a},65484:(e,t,n)=>{const a=n(78776)();a.addRange(93952,94026).addRange(94031,94087).addRange(94095,94111),e.exports=a},34575:(e,t,n)=>{const a=n(78776)();a.addRange(71168,71236).addRange(71248,71257),e.exports=a},75392:(e,t,n)=>{const a=n(78776)(6148);a.addRange(6144,6145).addRange(6150,6169).addRange(6176,6264).addRange(6272,6314).addRange(71264,71276),e.exports=a},36388:(e,t,n)=>{const a=n(78776)();a.addRange(92736,92766).addRange(92768,92777).addRange(92782,92783),e.exports=a},60556:(e,t,n)=>{const a=n(78776)(70280);a.addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70313),e.exports=a},15837:(e,t,n)=>{const a=n(78776)();a.addRange(4096,4255).addRange(43488,43518).addRange(43616,43647),e.exports=a},6820:(e,t,n)=>{const a=n(78776)();a.addRange(67712,67742).addRange(67751,67759),e.exports=a},51892:(e,t,n)=>{const a=n(78776)();a.addRange(72096,72103).addRange(72106,72151).addRange(72154,72164),e.exports=a},32003:(e,t,n)=>{const a=n(78776)();a.addRange(6528,6571).addRange(6576,6601).addRange(6608,6618).addRange(6622,6623),e.exports=a},15297:(e,t,n)=>{const a=n(78776)();a.addRange(70656,70747).addRange(70749,70753),e.exports=a},17594:(e,t,n)=>{const a=n(78776)();a.addRange(1984,2042).addRange(2045,2047),e.exports=a},7493:(e,t,n)=>{const a=n(78776)(94177);a.addRange(110960,111355),e.exports=a},14406:(e,t,n)=>{const a=n(78776)();a.addRange(123136,123180).addRange(123184,123197).addRange(123200,123209).addRange(123214,123215),e.exports=a},75847:(e,t,n)=>{const a=n(78776)();a.addRange(5760,5788),e.exports=a},88416:(e,t,n)=>{const a=n(78776)();a.addRange(7248,7295),e.exports=a},40115:(e,t,n)=>{const a=n(78776)();a.addRange(68736,68786).addRange(68800,68850).addRange(68858,68863),e.exports=a},29109:(e,t,n)=>{const a=n(78776)();a.addRange(66304,66339).addRange(66349,66351),e.exports=a},96840:(e,t,n)=>{const a=n(78776)();a.addRange(68224,68255),e.exports=a},39291:(e,t,n)=>{const a=n(78776)();a.addRange(66384,66426),e.exports=a},24678:(e,t,n)=>{const a=n(78776)();a.addRange(66464,66499).addRange(66504,66517),e.exports=a},78647:(e,t,n)=>{const a=n(78776)();a.addRange(69376,69415),e.exports=a},70744:(e,t,n)=>{const a=n(78776)();a.addRange(68192,68223),e.exports=a},59527:(e,t,n)=>{const a=n(78776)();a.addRange(68608,68680),e.exports=a},11791:(e,t,n)=>{const a=n(78776)();a.addRange(69488,69513),e.exports=a},23761:(e,t,n)=>{const a=n(78776)();a.addRange(2817,2819).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2876,2884).addRange(2887,2888).addRange(2891,2893).addRange(2901,2903).addRange(2908,2909).addRange(2911,2915).addRange(2918,2935),e.exports=a},39384:(e,t,n)=>{const a=n(78776)();a.addRange(66736,66771).addRange(66776,66811),e.exports=a},90237:(e,t,n)=>{const a=n(78776)();a.addRange(66688,66717).addRange(66720,66729),e.exports=a},62976:(e,t,n)=>{const a=n(78776)();a.addRange(92928,92997).addRange(93008,93017).addRange(93019,93025).addRange(93027,93047).addRange(93053,93071),e.exports=a},60351:(e,t,n)=>{const a=n(78776)();a.addRange(67680,67711),e.exports=a},19767:(e,t,n)=>{const a=n(78776)();a.addRange(72384,72440),e.exports=a},25712:(e,t,n)=>{const a=n(78776)();a.addRange(43072,43127),e.exports=a},86458:(e,t,n)=>{const a=n(78776)(67871);a.addRange(67840,67867),e.exports=a},74874:(e,t,n)=>{const a=n(78776)();a.addRange(68480,68497).addRange(68505,68508).addRange(68521,68527),e.exports=a},27603:(e,t,n)=>{const a=n(78776)(43359);a.addRange(43312,43347),e.exports=a},84788:(e,t,n)=>{const a=n(78776)();a.addRange(5792,5866).addRange(5870,5880),e.exports=a},45810:(e,t,n)=>{const a=n(78776)();a.addRange(2048,2093).addRange(2096,2110),e.exports=a},37632:(e,t,n)=>{const a=n(78776)();a.addRange(43136,43205).addRange(43214,43225),e.exports=a},15058:(e,t,n)=>{const a=n(78776)();a.addRange(70016,70111),e.exports=a},76250:(e,t,n)=>{const a=n(78776)();a.addRange(66640,66687),e.exports=a},39573:(e,t,n)=>{const a=n(78776)();a.addRange(71040,71093).addRange(71096,71133),e.exports=a},54039:(e,t,n)=>{const a=n(78776)();a.addRange(120832,121483).addRange(121499,121503).addRange(121505,121519),e.exports=a},1611:(e,t,n)=>{const a=n(78776)(3517,3530,3542);a.addRange(3457,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3535,3540).addRange(3544,3551).addRange(3558,3567).addRange(3570,3572).addRange(70113,70132),e.exports=a},34250:(e,t,n)=>{const a=n(78776)();a.addRange(69424,69465),e.exports=a},43065:(e,t,n)=>{const a=n(78776)();a.addRange(69840,69864).addRange(69872,69881),e.exports=a},18135:(e,t,n)=>{const a=n(78776)();a.addRange(72272,72354),e.exports=a},95849:(e,t,n)=>{const a=n(78776)();a.addRange(7040,7103).addRange(7360,7367),e.exports=a},46566:(e,t,n)=>{const a=n(78776)();a.addRange(43008,43052),e.exports=a},7810:(e,t,n)=>{const a=n(78776)();a.addRange(1792,1805).addRange(1807,1866).addRange(1869,1871).addRange(2144,2154),e.exports=a},67833:(e,t,n)=>{const a=n(78776)(5919);a.addRange(5888,5909),e.exports=a},58009:(e,t,n)=>{const a=n(78776)();a.addRange(5984,5996).addRange(5998,6e3).addRange(6002,6003),e.exports=a},1187:(e,t,n)=>{const a=n(78776)();a.addRange(6480,6509).addRange(6512,6516),e.exports=a},40377:(e,t,n)=>{const a=n(78776)();a.addRange(6688,6750).addRange(6752,6780).addRange(6783,6793).addRange(6800,6809).addRange(6816,6829),e.exports=a},99e3:(e,t,n)=>{const a=n(78776)();a.addRange(43648,43714).addRange(43739,43743),e.exports=a},72294:(e,t,n)=>{const a=n(78776)();a.addRange(71296,71353).addRange(71360,71369),e.exports=a},98682:(e,t,n)=>{const a=n(78776)(2972,3024,3031,73727);a.addRange(2946,2947).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3006,3010).addRange(3014,3016).addRange(3018,3021).addRange(3046,3066).addRange(73664,73713),e.exports=a},77808:(e,t,n)=>{const a=n(78776)();a.addRange(92784,92862).addRange(92864,92873),e.exports=a},75540:(e,t,n)=>{const a=n(78776)(94176);a.addRange(94208,100343).addRange(100352,101119).addRange(101632,101640),e.exports=a},65084:(e,t,n)=>{const a=n(78776)(3165);a.addRange(3072,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3132,3140).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3160,3162).addRange(3168,3171).addRange(3174,3183).addRange(3191,3199),e.exports=a},6867:(e,t,n)=>{const a=n(78776)();a.addRange(1920,1969),e.exports=a},49907:(e,t,n)=>{const a=n(78776)();a.addRange(3585,3642).addRange(3648,3675),e.exports=a},29341:(e,t,n)=>{const a=n(78776)();a.addRange(3840,3911).addRange(3913,3948).addRange(3953,3991).addRange(3993,4028).addRange(4030,4044).addRange(4046,4052).addRange(4057,4058),e.exports=a},81261:(e,t,n)=>{const a=n(78776)(11647);a.addRange(11568,11623).addRange(11631,11632),e.exports=a},57954:(e,t,n)=>{const a=n(78776)();a.addRange(70784,70855).addRange(70864,70873),e.exports=a},68196:(e,t,n)=>{const a=n(78776)();a.addRange(123536,123566),e.exports=a},29097:(e,t,n)=>{const a=n(78776)(66463);a.addRange(66432,66461),e.exports=a},5767:(e,t,n)=>{const a=n(78776)();a.addRange(42240,42539),e.exports=a},45785:(e,t,n)=>{const a=n(78776)();a.addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004),e.exports=a},27172:(e,t,n)=>{const a=n(78776)(123647);a.addRange(123584,123641),e.exports=a},17315:(e,t,n)=>{const a=n(78776)(71935);a.addRange(71840,71922),e.exports=a},34961:(e,t,n)=>{const a=n(78776)();a.addRange(69248,69289).addRange(69291,69293).addRange(69296,69297),e.exports=a},90923:(e,t,n)=>{const a=n(78776)();a.addRange(40960,42124).addRange(42128,42182),e.exports=a},92108:(e,t,n)=>{const a=n(78776)();a.addRange(72192,72263),e.exports=a},99614:(e,t,n)=>{const a=n(78776)(1567,1600);a.addRange(125184,125259).addRange(125264,125273).addRange(125278,125279),e.exports=a},24915:(e,t,n)=>{const a=n(78776)();a.addRange(71424,71450).addRange(71453,71467).addRange(71472,71494),e.exports=a},8983:(e,t,n)=>{const a=n(78776)();a.addRange(82944,83526),e.exports=a},75627:(e,t,n)=>{const a=n(78776)(64975,126500,126503,126521,126523,126530,126535,126537,126539,126548,126551,126553,126555,126557,126559,126564,126590);a.addRange(1536,1540).addRange(1542,1756).addRange(1758,1791).addRange(1872,1919).addRange(2160,2190).addRange(2192,2193).addRange(2200,2273).addRange(2275,2303).addRange(64336,64450).addRange(64467,64911).addRange(64914,64967).addRange(65008,65023).addRange(65136,65140).addRange(65142,65276).addRange(66272,66299).addRange(69216,69246).addRange(126464,126467).addRange(126469,126495).addRange(126497,126498).addRange(126505,126514).addRange(126516,126519).addRange(126541,126543).addRange(126545,126546).addRange(126561,126562).addRange(126567,126570).addRange(126572,126578).addRange(126580,126583).addRange(126585,126588).addRange(126592,126601).addRange(126603,126619).addRange(126625,126627).addRange(126629,126633).addRange(126635,126651).addRange(126704,126705),e.exports=a},13585:(e,t,n)=>{const a=n(78776)();a.addRange(1329,1366).addRange(1369,1418).addRange(1421,1423).addRange(64275,64279),e.exports=a},79384:(e,t,n)=>{const a=n(78776)();a.addRange(68352,68405).addRange(68409,68415),e.exports=a},47072:(e,t,n)=>{const a=n(78776)();a.addRange(6912,6988).addRange(6992,7038),e.exports=a},31856:(e,t,n)=>{const a=n(78776)();a.addRange(42656,42743).addRange(92160,92728),e.exports=a},24945:(e,t,n)=>{const a=n(78776)();a.addRange(92880,92909).addRange(92912,92917),e.exports=a},92147:(e,t,n)=>{const a=n(78776)();a.addRange(7104,7155).addRange(7164,7167),e.exports=a},61530:(e,t,n)=>{const a=n(78776)(2482,2519,7376,7378,7384,7393,7402,7405,7410,43249);a.addRange(2385,2386).addRange(2404,2405).addRange(2432,2435).addRange(2437,2444).addRange(2447,2448).addRange(2451,2472).addRange(2474,2480).addRange(2486,2489).addRange(2492,2500).addRange(2503,2504).addRange(2507,2510).addRange(2524,2525).addRange(2527,2531).addRange(2534,2558).addRange(7381,7382).addRange(7413,7415),e.exports=a},64063:(e,t,n)=>{const a=n(78776)();a.addRange(72704,72712).addRange(72714,72758).addRange(72760,72773).addRange(72784,72812),e.exports=a},29962:(e,t,n)=>{const a=n(78776)(12336,12343,12539);a.addRange(746,747).addRange(12289,12291).addRange(12296,12305).addRange(12307,12319).addRange(12330,12333).addRange(12549,12591).addRange(12704,12735).addRange(65093,65094).addRange(65377,65381),e.exports=a},61752:(e,t,n)=>{const a=n(78776)(69759);a.addRange(69632,69709).addRange(69714,69749),e.exports=a},28434:(e,t,n)=>{const a=n(78776)();a.addRange(10240,10495),e.exports=a},15148:(e,t,n)=>{const a=n(78776)(43471);a.addRange(6656,6683).addRange(6686,6687),e.exports=a},78881:(e,t,n)=>{const a=n(78776)();a.addRange(5941,5942).addRange(5952,5971),e.exports=a},55254:(e,t,n)=>{const a=n(78776)();a.addRange(5120,5759).addRange(6320,6389).addRange(72368,72383),e.exports=a},79110:(e,t,n)=>{const a=n(78776)();a.addRange(66208,66256),e.exports=a},76550:(e,t,n)=>{const a=n(78776)(66927);a.addRange(66864,66915),e.exports=a},88753:(e,t,n)=>{const a=n(78776)();a.addRange(2534,2543).addRange(4160,4169).addRange(69888,69940).addRange(69942,69959),e.exports=a},98451:(e,t,n)=>{const a=n(78776)();a.addRange(43520,43574).addRange(43584,43597).addRange(43600,43609).addRange(43612,43615),e.exports=a},80196:(e,t,n)=>{const a=n(78776)();a.addRange(5024,5109).addRange(5112,5117).addRange(43888,43967),e.exports=a},23352:(e,t,n)=>{const a=n(78776)();a.addRange(69552,69579),e.exports=a},46921:(e,t,n)=>{const a=n(78776)(215,247,884,894,901,903,1541,1757,2274,3647,12288,12292,12306,12320,12342,12927,13311,43867,65279,119970,119995,120134,129008,917505);a.addRange(0,64).addRange(91,96).addRange(123,169).addRange(171,185).addRange(187,191).addRange(697,735).addRange(741,745).addRange(748,767).addRange(4053,4056).addRange(5867,5869).addRange(8192,8203).addRange(8206,8238).addRange(8240,8292).addRange(8294,8304).addRange(8308,8318).addRange(8320,8334).addRange(8352,8384).addRange(8448,8485).addRange(8487,8489).addRange(8492,8497).addRange(8499,8525).addRange(8527,8543).addRange(8585,8587).addRange(8592,9254).addRange(9280,9290).addRange(9312,10239).addRange(10496,11123).addRange(11126,11157).addRange(11159,11263).addRange(11776,11842).addRange(11844,11869).addRange(12272,12283).addRange(12872,12895).addRange(12977,12991).addRange(13004,13007).addRange(13169,13178).addRange(13184,13279).addRange(19904,19967).addRange(42760,42785).addRange(42888,42890).addRange(43882,43883).addRange(65040,65049).addRange(65072,65092).addRange(65095,65106).addRange(65108,65126).addRange(65128,65131).addRange(65281,65312).addRange(65339,65344).addRange(65371,65376).addRange(65504,65510).addRange(65512,65518),a.addRange(65529,65533).addRange(65936,65948).addRange(66e3,66044).addRange(118608,118723).addRange(118784,119029).addRange(119040,119078).addRange(119081,119142).addRange(119146,119162).addRange(119171,119172).addRange(119180,119209).addRange(119214,119274).addRange(119520,119539).addRange(119552,119638).addRange(119666,119672).addRange(119808,119892).addRange(119894,119964).addRange(119966,119967).addRange(119973,119974).addRange(119977,119980).addRange(119982,119993).addRange(119997,120003).addRange(120005,120069).addRange(120071,120074).addRange(120077,120084).addRange(120086,120092).addRange(120094,120121).addRange(120123,120126).addRange(120128,120132).addRange(120138,120144).addRange(120146,120485).addRange(120488,120779).addRange(120782,120831).addRange(126065,126132).addRange(126209,126269).addRange(126976,127019).addRange(127024,127123).addRange(127136,127150).addRange(127153,127167).addRange(127169,127183).addRange(127185,127221).addRange(127232,127405).addRange(127462,127487).addRange(127489,127490).addRange(127504,127547).addRange(127552,127560).addRange(127584,127589).addRange(127744,128727).addRange(128733,128748).addRange(128752,128764).addRange(128768,128883).addRange(128896,128984),a.addRange(128992,129003).addRange(129024,129035).addRange(129040,129095).addRange(129104,129113).addRange(129120,129159).addRange(129168,129197).addRange(129200,129201).addRange(129280,129619).addRange(129632,129645).addRange(129648,129652).addRange(129656,129660).addRange(129664,129670).addRange(129680,129708).addRange(129712,129722).addRange(129728,129733).addRange(129744,129753).addRange(129760,129767).addRange(129776,129782).addRange(129792,129938).addRange(129940,129994).addRange(130032,130041).addRange(917536,917631),e.exports=a},44141:(e,t,n)=>{const a=n(78776)();a.addRange(994,1007).addRange(11392,11507).addRange(11513,11519).addRange(66272,66299),e.exports=a},30286:(e,t,n)=>{const a=n(78776)();a.addRange(73728,74649).addRange(74752,74862).addRange(74864,74868).addRange(74880,75075),e.exports=a},73326:(e,t,n)=>{const a=n(78776)(67592,67644,67647);a.addRange(65792,65794).addRange(65799,65843).addRange(65847,65855).addRange(67584,67589).addRange(67594,67637).addRange(67639,67640),e.exports=a},82300:(e,t,n)=>{const a=n(78776)();a.addRange(65792,65793).addRange(77712,77810),e.exports=a},77115:(e,t,n)=>{const a=n(78776)(7467,7544,7672,11843);a.addRange(1024,1327).addRange(7296,7304).addRange(11744,11775).addRange(42560,42655).addRange(65070,65071),e.exports=a},59108:(e,t,n)=>{const a=n(78776)();a.addRange(66560,66639),e.exports=a},59426:(e,t,n)=>{const a=n(78776)(8432);a.addRange(2304,2386).addRange(2389,2431).addRange(7376,7414).addRange(7416,7417).addRange(43056,43065).addRange(43232,43263),e.exports=a},44660:(e,t,n)=>{const a=n(78776)(71945);a.addRange(71936,71942).addRange(71948,71955).addRange(71957,71958).addRange(71960,71989).addRange(71991,71992).addRange(71995,72006).addRange(72016,72025),e.exports=a},41422:(e,t,n)=>{const a=n(78776)();a.addRange(2404,2415).addRange(43056,43065).addRange(71680,71739),e.exports=a},66667:(e,t,n)=>{const a=n(78776)();a.addRange(113664,113770).addRange(113776,113788).addRange(113792,113800).addRange(113808,113817).addRange(113820,113827),e.exports=a},20449:(e,t,n)=>{const a=n(78776)();a.addRange(77824,78894).addRange(78896,78904),e.exports=a},25810:(e,t,n)=>{const a=n(78776)();a.addRange(66816,66855),e.exports=a},83509:(e,t,n)=>{const a=n(78776)();a.addRange(69600,69622),e.exports=a},37837:(e,t,n)=>{const a=n(78776)(4696,4800);a.addRange(4608,4680).addRange(4682,4685).addRange(4688,4694).addRange(4698,4701).addRange(4704,4744).addRange(4746,4749).addRange(4752,4784).addRange(4786,4789).addRange(4792,4798).addRange(4802,4805).addRange(4808,4822).addRange(4824,4880).addRange(4882,4885).addRange(4888,4954).addRange(4957,4988).addRange(4992,5017).addRange(11648,11670).addRange(11680,11686).addRange(11688,11694).addRange(11696,11702).addRange(11704,11710).addRange(11712,11718).addRange(11720,11726).addRange(11728,11734).addRange(11736,11742).addRange(43777,43782).addRange(43785,43790).addRange(43793,43798).addRange(43808,43814).addRange(43816,43822).addRange(124896,124902).addRange(124904,124907).addRange(124909,124910).addRange(124912,124926),e.exports=a},77680:(e,t,n)=>{const a=n(78776)(4295,4301,11559,11565);a.addRange(4256,4293).addRange(4304,4351).addRange(7312,7354).addRange(7357,7359).addRange(11520,11557),e.exports=a},97772:(e,t,n)=>{const a=n(78776)(1156,1159,11843,42607);a.addRange(11264,11359).addRange(122880,122886).addRange(122888,122904).addRange(122907,122913).addRange(122915,122916).addRange(122918,122922),e.exports=a},60674:(e,t,n)=>{const a=n(78776)();a.addRange(66352,66378),e.exports=a},52336:(e,t,n)=>{const a=n(78776)(7376,8432,70480,70487,73683);a.addRange(2385,2386).addRange(2404,2405).addRange(3046,3059).addRange(7378,7379).addRange(7410,7412).addRange(7416,7417).addRange(70400,70403).addRange(70405,70412).addRange(70415,70416).addRange(70419,70440).addRange(70442,70448).addRange(70450,70451).addRange(70453,70457).addRange(70459,70468).addRange(70471,70472).addRange(70475,70477).addRange(70493,70499).addRange(70502,70508).addRange(70512,70516).addRange(73680,73681),e.exports=a},86310:(e,t,n)=>{const a=n(78776)(834,837,895,900,902,908,8025,8027,8029,8486,43877,65952);a.addRange(880,883).addRange(885,887).addRange(890,893).addRange(904,906).addRange(910,929).addRange(931,993).addRange(1008,1023).addRange(7462,7466).addRange(7517,7521).addRange(7526,7530).addRange(7615,7617).addRange(7936,7957).addRange(7960,7965).addRange(7968,8005).addRange(8008,8013).addRange(8016,8023).addRange(8031,8061).addRange(8064,8116).addRange(8118,8132).addRange(8134,8147).addRange(8150,8155).addRange(8157,8175).addRange(8178,8180).addRange(8182,8190).addRange(65856,65934).addRange(119296,119365),e.exports=a},92436:(e,t,n)=>{const a=n(78776)(2768);a.addRange(2385,2386).addRange(2404,2405).addRange(2689,2691).addRange(2693,2701).addRange(2703,2705).addRange(2707,2728).addRange(2730,2736).addRange(2738,2739).addRange(2741,2745).addRange(2748,2757).addRange(2759,2761).addRange(2763,2765).addRange(2784,2787).addRange(2790,2801).addRange(2809,2815).addRange(43056,43065),e.exports=a},20642:(e,t,n)=>{const a=n(78776)();a.addRange(2404,2405).addRange(73056,73061).addRange(73063,73064).addRange(73066,73102).addRange(73104,73105).addRange(73107,73112).addRange(73120,73129),e.exports=a},33831:(e,t,n)=>{const a=n(78776)(2620,2641,2654);a.addRange(2385,2386).addRange(2404,2405).addRange(2561,2563).addRange(2565,2570).addRange(2575,2576).addRange(2579,2600).addRange(2602,2608).addRange(2610,2611).addRange(2613,2614).addRange(2616,2617).addRange(2622,2626).addRange(2631,2632).addRange(2635,2637).addRange(2649,2652).addRange(2662,2678).addRange(43056,43065),e.exports=a},16613:(e,t,n)=>{const a=n(78776)(12336,12539,13055);a.addRange(11904,11929).addRange(11931,12019).addRange(12032,12245).addRange(12289,12291).addRange(12293,12305).addRange(12307,12319).addRange(12321,12333).addRange(12343,12351).addRange(12688,12703).addRange(12736,12771).addRange(12832,12871).addRange(12928,12976).addRange(12992,13003).addRange(13144,13168).addRange(13179,13183).addRange(13280,13310).addRange(13312,19903).addRange(19968,40959).addRange(42752,42759).addRange(63744,64109).addRange(64112,64217).addRange(65093,65094).addRange(65377,65381).addRange(94178,94179).addRange(94192,94193).addRange(119648,119665).addRange(127568,127569).addRange(131072,173791).addRange(173824,177976).addRange(177984,178205).addRange(178208,183969).addRange(183984,191456).addRange(194560,195101).addRange(196608,201546),e.exports=a},87001:(e,t,n)=>{const a=n(78776)(12343,12539);a.addRange(4352,4607).addRange(12289,12291).addRange(12296,12305).addRange(12307,12319).addRange(12334,12336).addRange(12593,12686).addRange(12800,12830).addRange(12896,12926).addRange(43360,43388).addRange(44032,55203).addRange(55216,55238).addRange(55243,55291).addRange(65093,65094).addRange(65377,65381).addRange(65440,65470).addRange(65474,65479).addRange(65482,65487).addRange(65490,65495).addRange(65498,65500),e.exports=a},88583:(e,t,n)=>{const a=n(78776)(1548,1563,1567,1600,1748);a.addRange(68864,68903).addRange(68912,68921),e.exports=a},82758:(e,t,n)=>{const a=n(78776)();a.addRange(5920,5942),e.exports=a},66416:(e,t,n)=>{const a=n(78776)();a.addRange(67808,67826).addRange(67828,67829).addRange(67835,67839),e.exports=a},85222:(e,t,n)=>{const a=n(78776)(64318);a.addRange(1425,1479).addRange(1488,1514).addRange(1519,1524).addRange(64285,64310).addRange(64312,64316).addRange(64320,64321).addRange(64323,64324).addRange(64326,64335),e.exports=a},60191:(e,t,n)=>{const a=n(78776)(12343,65392,127488);a.addRange(12289,12291).addRange(12296,12305).addRange(12307,12319).addRange(12336,12341).addRange(12348,12349).addRange(12353,12438).addRange(12441,12448).addRange(12539,12540).addRange(65093,65094).addRange(65377,65381).addRange(65438,65439).addRange(110593,110879).addRange(110928,110930),e.exports=a},57632:(e,t,n)=>{const a=n(78776)();a.addRange(67648,67669).addRange(67671,67679),e.exports=a},96988:(e,t,n)=>{const a=n(78776)(7673,66045);a.addRange(768,833).addRange(835,836).addRange(838,866).addRange(2387,2388).addRange(6832,6862).addRange(7618,7671).addRange(7675,7679).addRange(8204,8205).addRange(8400,8431).addRange(65024,65039).addRange(65056,65069).addRange(118528,118573).addRange(118576,118598).addRange(119143,119145).addRange(119163,119170).addRange(119173,119179).addRange(119210,119213).addRange(917760,917999),e.exports=a},52121:(e,t,n)=>{const a=n(78776)();a.addRange(68448,68466).addRange(68472,68479),e.exports=a},82809:(e,t,n)=>{const a=n(78776)();a.addRange(68416,68437).addRange(68440,68447),e.exports=a},31899:(e,t,n)=>{const a=n(78776)();a.addRange(43392,43469).addRange(43471,43481).addRange(43486,43487),e.exports=a},57574:(e,t,n)=>{const a=n(78776)(69837);a.addRange(2406,2415).addRange(43056,43065).addRange(69760,69826),e.exports=a},81868:(e,t,n)=>{const a=n(78776)(7376,7378,7386,7410,7412);a.addRange(2385,2386).addRange(2404,2405).addRange(3200,3212).addRange(3214,3216).addRange(3218,3240).addRange(3242,3251).addRange(3253,3257).addRange(3260,3268).addRange(3270,3272).addRange(3274,3277).addRange(3285,3286).addRange(3293,3294).addRange(3296,3299).addRange(3302,3311).addRange(3313,3314).addRange(43056,43061),e.exports=a},10774:(e,t,n)=>{const a=n(78776)(12343,110592);a.addRange(12289,12291).addRange(12296,12305).addRange(12307,12319).addRange(12336,12341).addRange(12348,12349).addRange(12441,12444).addRange(12448,12543).addRange(12784,12799).addRange(13008,13054).addRange(13056,13143).addRange(65093,65094).addRange(65377,65439).addRange(110576,110579).addRange(110581,110587).addRange(110589,110590).addRange(110880,110882).addRange(110948,110951),e.exports=a},76701:(e,t,n)=>{const a=n(78776)();a.addRange(43264,43311),e.exports=a},81466:(e,t,n)=>{const a=n(78776)();a.addRange(68096,68099).addRange(68101,68102).addRange(68108,68115).addRange(68117,68119).addRange(68121,68149).addRange(68152,68154).addRange(68159,68168).addRange(68176,68184),e.exports=a},21325:(e,t,n)=>{const a=n(78776)(94180);a.addRange(101120,101589),e.exports=a},6068:(e,t,n)=>{const a=n(78776)();a.addRange(6016,6109).addRange(6112,6121).addRange(6128,6137).addRange(6624,6655),e.exports=a},77706:(e,t,n)=>{const a=n(78776)();a.addRange(2790,2799).addRange(43056,43065).addRange(70144,70161).addRange(70163,70206),e.exports=a},54258:(e,t,n)=>{const a=n(78776)();a.addRange(2404,2405).addRange(43056,43065).addRange(70320,70378).addRange(70384,70393),e.exports=a},77149:(e,t,n)=>{const a=n(78776)(3716,3749,3782);a.addRange(3713,3714).addRange(3718,3722).addRange(3724,3747).addRange(3751,3773).addRange(3776,3780).addRange(3784,3789).addRange(3792,3801).addRange(3804,3807),e.exports=a},38334:(e,t,n)=>{const a=n(78776)(170,186,4347,8239,8305,8319,8432,8498,8526,42963,43310);a.addRange(65,90).addRange(97,122).addRange(192,214).addRange(216,246).addRange(248,696).addRange(736,740).addRange(867,879).addRange(1157,1158).addRange(2385,2386).addRange(7424,7461).addRange(7468,7516).addRange(7522,7525).addRange(7531,7543).addRange(7545,7614).addRange(7680,7935).addRange(8336,8348).addRange(8490,8491).addRange(8544,8584).addRange(11360,11391).addRange(42752,42759).addRange(42786,42887).addRange(42891,42954).addRange(42960,42961).addRange(42965,42969).addRange(42994,43007).addRange(43824,43866).addRange(43868,43876).addRange(43878,43881).addRange(64256,64262).addRange(65313,65338).addRange(65345,65370).addRange(67456,67461).addRange(67463,67504).addRange(67506,67514).addRange(122624,122654),e.exports=a},12299:(e,t,n)=>{const a=n(78776)();a.addRange(7168,7223).addRange(7227,7241).addRange(7245,7247),e.exports=a},25476:(e,t,n)=>{const a=n(78776)(2405,6464);a.addRange(6400,6430).addRange(6432,6443).addRange(6448,6459).addRange(6468,6479),e.exports=a},54625:(e,t,n)=>{const a=n(78776)();a.addRange(65799,65843).addRange(67072,67382).addRange(67392,67413).addRange(67424,67431),e.exports=a},38810:(e,t,n)=>{const a=n(78776)();a.addRange(65536,65547).addRange(65549,65574).addRange(65576,65594).addRange(65596,65597).addRange(65599,65613).addRange(65616,65629).addRange(65664,65786).addRange(65792,65794).addRange(65799,65843).addRange(65847,65855),e.exports=a},90845:(e,t,n)=>{const a=n(78776)(73648);a.addRange(42192,42239),e.exports=a},68978:(e,t,n)=>{const a=n(78776)();a.addRange(66176,66204),e.exports=a},67905:(e,t,n)=>{const a=n(78776)(67903);a.addRange(67872,67897),e.exports=a},89576:(e,t,n)=>{const a=n(78776)();a.addRange(2404,2415).addRange(43056,43065).addRange(69968,70006),e.exports=a},3405:(e,t,n)=>{const a=n(78776)();a.addRange(73440,73464),e.exports=a},974:(e,t,n)=>{const a=n(78776)(7386);a.addRange(2385,2386).addRange(2404,2405).addRange(3328,3340).addRange(3342,3344).addRange(3346,3396).addRange(3398,3400).addRange(3402,3407).addRange(3412,3427).addRange(3430,3455).addRange(43056,43058),e.exports=a},28940:(e,t,n)=>{const a=n(78776)(1600,2142);a.addRange(2112,2139),e.exports=a},6677:(e,t,n)=>{const a=n(78776)(1600);a.addRange(68288,68326).addRange(68331,68342),e.exports=a},14740:(e,t,n)=>{const a=n(78776)();a.addRange(72816,72847).addRange(72850,72871).addRange(72873,72886),e.exports=a},82278:(e,t,n)=>{const a=n(78776)(73018);a.addRange(2404,2405).addRange(72960,72966).addRange(72968,72969).addRange(72971,73014).addRange(73020,73021).addRange(73023,73031).addRange(73040,73049),e.exports=a},55949:(e,t,n)=>{const a=n(78776)();a.addRange(93760,93850),e.exports=a},13329:(e,t,n)=>{const a=n(78776)();a.addRange(43744,43766).addRange(43968,44013).addRange(44016,44025),e.exports=a},97146:(e,t,n)=>{const a=n(78776)();a.addRange(124928,125124).addRange(125127,125142),e.exports=a},23715:(e,t,n)=>{const a=n(78776)();a.addRange(68e3,68023).addRange(68028,68047).addRange(68050,68095),e.exports=a},43199:(e,t,n)=>{const a=n(78776)();a.addRange(67968,67999),e.exports=a},26499:(e,t,n)=>{const a=n(78776)();a.addRange(93952,94026).addRange(94031,94087).addRange(94095,94111),e.exports=a},36995:(e,t,n)=>{const a=n(78776)();a.addRange(43056,43065).addRange(71168,71236).addRange(71248,71257),e.exports=a},98606:(e,t,n)=>{const a=n(78776)(8239);a.addRange(6144,6169).addRange(6176,6264).addRange(6272,6314).addRange(71264,71276),e.exports=a},11462:(e,t,n)=>{const a=n(78776)();a.addRange(92736,92766).addRange(92768,92777).addRange(92782,92783),e.exports=a},45402:(e,t,n)=>{const a=n(78776)(70280);a.addRange(2662,2671).addRange(70272,70278).addRange(70282,70285).addRange(70287,70301).addRange(70303,70313),e.exports=a},76318:(e,t,n)=>{const a=n(78776)(43310);a.addRange(4096,4255).addRange(43488,43518).addRange(43616,43647),e.exports=a},34924:(e,t,n)=>{const a=n(78776)();a.addRange(67712,67742).addRange(67751,67759),e.exports=a},8236:(e,t,n)=>{const a=n(78776)(7401,7410,7418);a.addRange(2404,2405).addRange(3302,3311).addRange(43056,43061).addRange(72096,72103).addRange(72106,72151).addRange(72154,72164),e.exports=a},14575:(e,t,n)=>{const a=n(78776)();a.addRange(6528,6571).addRange(6576,6601).addRange(6608,6618).addRange(6622,6623),e.exports=a},71314:(e,t,n)=>{const a=n(78776)();a.addRange(70656,70747).addRange(70749,70753),e.exports=a},40577:(e,t,n)=>{const a=n(78776)(1548,1563,1567);a.addRange(1984,2042).addRange(2045,2047).addRange(64830,64831),e.exports=a},44432:(e,t,n)=>{const a=n(78776)(94177);a.addRange(110960,111355),e.exports=a},53612:(e,t,n)=>{const a=n(78776)();a.addRange(123136,123180).addRange(123184,123197).addRange(123200,123209).addRange(123214,123215),e.exports=a},19298:(e,t,n)=>{const a=n(78776)();a.addRange(5760,5788),e.exports=a},55285:(e,t,n)=>{const a=n(78776)();a.addRange(7248,7295),e.exports=a},16737:(e,t,n)=>{const a=n(78776)();a.addRange(68736,68786).addRange(68800,68850).addRange(68858,68863),e.exports=a},73023:(e,t,n)=>{const a=n(78776)();a.addRange(66304,66339).addRange(66349,66351),e.exports=a},35723:(e,t,n)=>{const a=n(78776)();a.addRange(68224,68255),e.exports=a},56370:(e,t,n)=>{const a=n(78776)(1155);a.addRange(66384,66426),e.exports=a},1402:(e,t,n)=>{const a=n(78776)();a.addRange(66464,66499).addRange(66504,66517),e.exports=a},14718:(e,t,n)=>{const a=n(78776)();a.addRange(69376,69415),e.exports=a},40316:(e,t,n)=>{const a=n(78776)();a.addRange(68192,68223),e.exports=a},5462:(e,t,n)=>{const a=n(78776)();a.addRange(68608,68680),e.exports=a},2280:(e,t,n)=>{const a=n(78776)(1600,68338);a.addRange(69488,69513),e.exports=a},29434:(e,t,n)=>{const a=n(78776)(7386,7410);a.addRange(2385,2386).addRange(2404,2405).addRange(2817,2819).addRange(2821,2828).addRange(2831,2832).addRange(2835,2856).addRange(2858,2864).addRange(2866,2867).addRange(2869,2873).addRange(2876,2884).addRange(2887,2888).addRange(2891,2893).addRange(2901,2903).addRange(2908,2909).addRange(2911,2915).addRange(2918,2935),e.exports=a},77045:(e,t,n)=>{const a=n(78776)();a.addRange(66736,66771).addRange(66776,66811),e.exports=a},82301:(e,t,n)=>{const a=n(78776)();a.addRange(66688,66717).addRange(66720,66729),e.exports=a},84766:(e,t,n)=>{const a=n(78776)();a.addRange(92928,92997).addRange(93008,93017).addRange(93019,93025).addRange(93027,93047).addRange(93053,93071),e.exports=a},72685:(e,t,n)=>{const a=n(78776)();a.addRange(67680,67711),e.exports=a},34107:(e,t,n)=>{const a=n(78776)();a.addRange(72384,72440),e.exports=a},66506:(e,t,n)=>{const a=n(78776)(6149);a.addRange(6146,6147).addRange(43072,43127),e.exports=a},42186:(e,t,n)=>{const a=n(78776)(67871);a.addRange(67840,67867),e.exports=a},55507:(e,t,n)=>{const a=n(78776)(1600);a.addRange(68480,68497).addRange(68505,68508).addRange(68521,68527),e.exports=a},35435:(e,t,n)=>{const a=n(78776)(43359);a.addRange(43312,43347),e.exports=a},76355:(e,t,n)=>{const a=n(78776)();a.addRange(5792,5866).addRange(5870,5880),e.exports=a},1509:(e,t,n)=>{const a=n(78776)();a.addRange(2048,2093).addRange(2096,2110),e.exports=a},23386:(e,t,n)=>{const a=n(78776)();a.addRange(43136,43205).addRange(43214,43225),e.exports=a},86116:(e,t,n)=>{const a=n(78776)(2385,7383,7385,7392);a.addRange(7388,7389).addRange(70016,70111),e.exports=a},51826:(e,t,n)=>{const a=n(78776)();a.addRange(66640,66687),e.exports=a},22026:(e,t,n)=>{const a=n(78776)();a.addRange(71040,71093).addRange(71096,71133),e.exports=a},96007:(e,t,n)=>{const a=n(78776)();a.addRange(120832,121483).addRange(121499,121503).addRange(121505,121519),e.exports=a},51104:(e,t,n)=>{const a=n(78776)(3517,3530,3542);a.addRange(2404,2405).addRange(3457,3459).addRange(3461,3478).addRange(3482,3505).addRange(3507,3515).addRange(3520,3526).addRange(3535,3540).addRange(3544,3551).addRange(3558,3567).addRange(3570,3572).addRange(70113,70132),e.exports=a},82401:(e,t,n)=>{const a=n(78776)(1600);a.addRange(69424,69465),e.exports=a},44399:(e,t,n)=>{const a=n(78776)();a.addRange(69840,69864).addRange(69872,69881),e.exports=a},37415:(e,t,n)=>{const a=n(78776)();a.addRange(72272,72354),e.exports=a},3894:(e,t,n)=>{const a=n(78776)();a.addRange(7040,7103).addRange(7360,7367),e.exports=a},5419:(e,t,n)=>{const a=n(78776)();a.addRange(2404,2405).addRange(2534,2543).addRange(43008,43052),e.exports=a},21038:(e,t,n)=>{const a=n(78776)(1548,1567,1600,1648,7672,7674);a.addRange(1563,1564).addRange(1611,1621).addRange(1792,1805).addRange(1807,1866).addRange(1869,1871).addRange(2144,2154),e.exports=a},1744:(e,t,n)=>{const a=n(78776)(5919);a.addRange(5888,5909).addRange(5941,5942),e.exports=a},54217:(e,t,n)=>{const a=n(78776)();a.addRange(5941,5942).addRange(5984,5996).addRange(5998,6e3).addRange(6002,6003),e.exports=a},63153:(e,t,n)=>{const a=n(78776)();a.addRange(4160,4169).addRange(6480,6509).addRange(6512,6516),e.exports=a},4926:(e,t,n)=>{const a=n(78776)();a.addRange(6688,6750).addRange(6752,6780).addRange(6783,6793).addRange(6800,6809).addRange(6816,6829),e.exports=a},39311:(e,t,n)=>{const a=n(78776)();a.addRange(43648,43714).addRange(43739,43743),e.exports=a},55970:(e,t,n)=>{const a=n(78776)();a.addRange(2404,2405).addRange(43056,43065).addRange(71296,71353).addRange(71360,71369),e.exports=a},80882:(e,t,n)=>{const a=n(78776)(2972,3024,3031,7386,43251,70401,70403,73727);a.addRange(2385,2386).addRange(2404,2405).addRange(2946,2947).addRange(2949,2954).addRange(2958,2960).addRange(2962,2965).addRange(2969,2970).addRange(2974,2975).addRange(2979,2980).addRange(2984,2986).addRange(2990,3001).addRange(3006,3010).addRange(3014,3016).addRange(3018,3021).addRange(3046,3066).addRange(70459,70460).addRange(73664,73713),e.exports=a},92138:(e,t,n)=>{const a=n(78776)();a.addRange(92784,92862).addRange(92864,92873),e.exports=a},46776:(e,t,n)=>{const a=n(78776)(94176);a.addRange(94208,100343).addRange(100352,101119).addRange(101632,101640),e.exports=a},40444:(e,t,n)=>{const a=n(78776)(3165,7386,7410);a.addRange(2385,2386).addRange(2404,2405).addRange(3072,3084).addRange(3086,3088).addRange(3090,3112).addRange(3114,3129).addRange(3132,3140).addRange(3142,3144).addRange(3146,3149).addRange(3157,3158).addRange(3160,3162).addRange(3168,3171).addRange(3174,3183).addRange(3191,3199),e.exports=a},23431:(e,t,n)=>{const a=n(78776)(1548,1567,65010,65021);a.addRange(1563,1564).addRange(1632,1641).addRange(1920,1969),e.exports=a},94846:(e,t,n)=>{const a=n(78776)();a.addRange(3585,3642).addRange(3648,3675),e.exports=a},137:(e,t,n)=>{const a=n(78776)();a.addRange(3840,3911).addRange(3913,3948).addRange(3953,3991).addRange(3993,4028).addRange(4030,4044).addRange(4046,4052).addRange(4057,4058),e.exports=a},67065:(e,t,n)=>{const a=n(78776)(11647);a.addRange(11568,11623).addRange(11631,11632),e.exports=a},98082:(e,t,n)=>{const a=n(78776)(7410);a.addRange(2385,2386).addRange(2404,2405).addRange(43056,43065).addRange(70784,70855).addRange(70864,70873),e.exports=a},6715:(e,t,n)=>{const a=n(78776)();a.addRange(123536,123566),e.exports=a},29213:(e,t,n)=>{const a=n(78776)(66463);a.addRange(66432,66461),e.exports=a},85388:(e,t,n)=>{const a=n(78776)();a.addRange(42240,42539),e.exports=a},97706:(e,t,n)=>{const a=n(78776)();a.addRange(66928,66938).addRange(66940,66954).addRange(66956,66962).addRange(66964,66965).addRange(66967,66977).addRange(66979,66993).addRange(66995,67001).addRange(67003,67004),e.exports=a},68659:(e,t,n)=>{const a=n(78776)(123647);a.addRange(123584,123641),e.exports=a},27900:(e,t,n)=>{const a=n(78776)(71935);a.addRange(71840,71922),e.exports=a},8051:(e,t,n)=>{const a=n(78776)(1548,1563,1567);a.addRange(1632,1641).addRange(69248,69289).addRange(69291,69293).addRange(69296,69297),e.exports=a},99799:(e,t,n)=>{const a=n(78776)(12539);a.addRange(12289,12290).addRange(12296,12305).addRange(12308,12315).addRange(40960,42124).addRange(42128,42182).addRange(65377,65381),e.exports=a},25904:(e,t,n)=>{const a=n(78776)();a.addRange(72192,72263),e.exports=a},94274:e=>{e.exports=new Map([["General_Category",["Cased_Letter","Close_Punctuation","Connector_Punctuation","Control","Currency_Symbol","Dash_Punctuation","Decimal_Number","Enclosing_Mark","Final_Punctuation","Format","Initial_Punctuation","Letter","Letter_Number","Line_Separator","Lowercase_Letter","Mark","Math_Symbol","Modifier_Letter","Modifier_Symbol","Nonspacing_Mark","Number","Open_Punctuation","Other","Other_Letter","Other_Number","Other_Punctuation","Other_Symbol","Paragraph_Separator","Private_Use","Punctuation","Separator","Space_Separator","Spacing_Mark","Surrogate","Symbol","Titlecase_Letter","Unassigned","Uppercase_Letter"]],["Script",["Adlam","Ahom","Anatolian_Hieroglyphs","Arabic","Armenian","Avestan","Balinese","Bamum","Bassa_Vah","Batak","Bengali","Bhaiksuki","Bopomofo","Brahmi","Braille","Buginese","Buhid","Canadian_Aboriginal","Carian","Caucasian_Albanian","Chakma","Cham","Cherokee","Chorasmian","Common","Coptic","Cuneiform","Cypriot","Cypro_Minoan","Cyrillic","Deseret","Devanagari","Dives_Akuru","Dogra","Duployan","Egyptian_Hieroglyphs","Elbasan","Elymaic","Ethiopic","Georgian","Glagolitic","Gothic","Grantha","Greek","Gujarati","Gunjala_Gondi","Gurmukhi","Han","Hangul","Hanifi_Rohingya","Hanunoo","Hatran","Hebrew","Hiragana","Imperial_Aramaic","Inherited","Inscriptional_Pahlavi","Inscriptional_Parthian","Javanese","Kaithi","Kannada","Katakana","Kayah_Li","Kharoshthi","Khitan_Small_Script","Khmer","Khojki","Khudawadi","Lao","Latin","Lepcha","Limbu","Linear_A","Linear_B","Lisu","Lycian","Lydian","Mahajani","Makasar","Malayalam","Mandaic","Manichaean","Marchen","Masaram_Gondi","Medefaidrin","Meetei_Mayek","Mende_Kikakui","Meroitic_Cursive","Meroitic_Hieroglyphs","Miao","Modi","Mongolian","Mro","Multani","Myanmar","Nabataean","Nandinagari","New_Tai_Lue","Newa","Nko","Nushu","Nyiakeng_Puachue_Hmong","Ogham","Ol_Chiki","Old_Hungarian","Old_Italic","Old_North_Arabian","Old_Permic","Old_Persian","Old_Sogdian","Old_South_Arabian","Old_Turkic","Old_Uyghur","Oriya","Osage","Osmanya","Pahawh_Hmong","Palmyrene","Pau_Cin_Hau","Phags_Pa","Phoenician","Psalter_Pahlavi","Rejang","Runic","Samaritan","Saurashtra","Sharada","Shavian","Siddham","SignWriting","Sinhala","Sogdian","Sora_Sompeng","Soyombo","Sundanese","Syloti_Nagri","Syriac","Tagalog","Tagbanwa","Tai_Le","Tai_Tham","Tai_Viet","Takri","Tamil","Tangsa","Tangut","Telugu","Thaana","Thai","Tibetan","Tifinagh","Tirhuta","Toto","Ugaritic","Vai","Vithkuqi","Wancho","Warang_Citi","Yezidi","Yi","Zanabazar_Square"]],["Script_Extensions",["Adlam","Ahom","Anatolian_Hieroglyphs","Arabic","Armenian","Avestan","Balinese","Bamum","Bassa_Vah","Batak","Bengali","Bhaiksuki","Bopomofo","Brahmi","Braille","Buginese","Buhid","Canadian_Aboriginal","Carian","Caucasian_Albanian","Chakma","Cham","Cherokee","Chorasmian","Common","Coptic","Cuneiform","Cypriot","Cypro_Minoan","Cyrillic","Deseret","Devanagari","Dives_Akuru","Dogra","Duployan","Egyptian_Hieroglyphs","Elbasan","Elymaic","Ethiopic","Georgian","Glagolitic","Gothic","Grantha","Greek","Gujarati","Gunjala_Gondi","Gurmukhi","Han","Hangul","Hanifi_Rohingya","Hanunoo","Hatran","Hebrew","Hiragana","Imperial_Aramaic","Inherited","Inscriptional_Pahlavi","Inscriptional_Parthian","Javanese","Kaithi","Kannada","Katakana","Kayah_Li","Kharoshthi","Khitan_Small_Script","Khmer","Khojki","Khudawadi","Lao","Latin","Lepcha","Limbu","Linear_A","Linear_B","Lisu","Lycian","Lydian","Mahajani","Makasar","Malayalam","Mandaic","Manichaean","Marchen","Masaram_Gondi","Medefaidrin","Meetei_Mayek","Mende_Kikakui","Meroitic_Cursive","Meroitic_Hieroglyphs","Miao","Modi","Mongolian","Mro","Multani","Myanmar","Nabataean","Nandinagari","New_Tai_Lue","Newa","Nko","Nushu","Nyiakeng_Puachue_Hmong","Ogham","Ol_Chiki","Old_Hungarian","Old_Italic","Old_North_Arabian","Old_Permic","Old_Persian","Old_Sogdian","Old_South_Arabian","Old_Turkic","Old_Uyghur","Oriya","Osage","Osmanya","Pahawh_Hmong","Palmyrene","Pau_Cin_Hau","Phags_Pa","Phoenician","Psalter_Pahlavi","Rejang","Runic","Samaritan","Saurashtra","Sharada","Shavian","Siddham","SignWriting","Sinhala","Sogdian","Sora_Sompeng","Soyombo","Sundanese","Syloti_Nagri","Syriac","Tagalog","Tagbanwa","Tai_Le","Tai_Tham","Tai_Viet","Takri","Tamil","Tangsa","Tangut","Telugu","Thaana","Thai","Tibetan","Tifinagh","Tirhuta","Toto","Ugaritic","Vai","Vithkuqi","Wancho","Warang_Citi","Yezidi","Yi","Zanabazar_Square"]],["Binary_Property",["ASCII","ASCII_Hex_Digit","Alphabetic","Any","Assigned","Bidi_Control","Bidi_Mirrored","Case_Ignorable","Cased","Changes_When_Casefolded","Changes_When_Casemapped","Changes_When_Lowercased","Changes_When_NFKC_Casefolded","Changes_When_Titlecased","Changes_When_Uppercased","Dash","Default_Ignorable_Code_Point","Deprecated","Diacritic","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extended_Pictographic","Extender","Grapheme_Base","Grapheme_Extend","Hex_Digit","IDS_Binary_Operator","IDS_Trinary_Operator","ID_Continue","ID_Start","Ideographic","Join_Control","Logical_Order_Exception","Lowercase","Math","Noncharacter_Code_Point","Pattern_Syntax","Pattern_White_Space","Quotation_Mark","Radical","Regional_Indicator","Sentence_Terminal","Soft_Dotted","Terminal_Punctuation","Unified_Ideograph","Uppercase","Variation_Selector","White_Space","XID_Continue","XID_Start"]]])},47993:e=>{e.exports="14.0.0"},78776:function(e,t,n){var a;e=n.nmd(e),function(r){var i=t,s=(e&&e.exports,"object"==typeof n.g&&n.g);s.global!==s&&s.window;var o="A range\u2019s `stop` value must be greater than or equal to the `start` value.",d="Invalid code point value. Code points range from U+000000 to U+10FFFF.",l=55296,c=56319,u=56320,h=57343,g=/\\x00([^0123456789]|$)/g,p={},f=p.hasOwnProperty,m=function(e,t){for(var n=-1,a=e.length;++n<a;)t(e[n],n)},R=p.toString,y=function(e){return"[object Array]"==R.call(e)},b=function(e){return"number"==typeof e||"[object Number]"==R.call(e)},x=function(e,t){var n=String(e);return n.length<t?("0000"+n).slice(-t):n},v=function(e){return Number(e).toString(16).toUpperCase()},_=[].slice,k=function(e,t){for(var n,a,r=0,i=e.length;r<i;){if(n=e[r],a=e[r+1],t>=n&&t<a)return t==n?a==n+1?(e.splice(r,2),e):(e[r]=t+1,e):t==a-1?(e[r+1]=t,e):(e.splice(r,2,n,t,t+1,a),e);r+=2}return e},C=function(e,t,n){if(n<t)throw Error(o);for(var a,r,i=0;i<e.length;){if(a=e[i],r=e[i+1]-1,a>n)return e;if(t<=a&&n>=r)e.splice(i,2);else{if(t>=a&&n<r)return t==a?(e[i]=n+1,e[i+1]=r+1,e):(e.splice(i,2,a,t,n+1,r+1),e);if(t>=a&&t<=r)e[i+1]=t;else if(n>=a&&n<=r)return e[i]=n+1,e;i+=2}}return e},w=function(e,t){var n,a,r=0,i=null,s=e.length;if(t<0||t>1114111)throw RangeError(d);for(;r<s;){if(n=e[r],a=e[r+1],t>=n&&t<a)return e;if(t==n-1)return e[r]=t,e;if(n>t)return e.splice(null!=i?i+2:0,0,t,t+1),e;if(t==a)return t+1==e[r+2]?(e.splice(r,4,n,e[r+3]),e):(e[r+1]=t+1,e);i=r,r+=2}return e.push(t,t+1),e},E=function(e,t){for(var n,a,r=0,i=e.slice(),s=t.length;r<s;)i=(n=t[r])==(a=t[r+1]-1)?w(i,n):A(i,n,a),r+=2;return i},S=function(e,t){for(var n,a,r=0,i=e.slice(),s=t.length;r<s;)i=(n=t[r])==(a=t[r+1]-1)?k(i,n):C(i,n,a),r+=2;return i},A=function(e,t,n){if(n<t)throw Error(o);if(t<0||t>1114111||n<0||n>1114111)throw RangeError(d);for(var a,r,i=0,s=!1,l=e.length;i<l;){if(a=e[i],r=e[i+1],s){if(a==n+1)return e.splice(i-1,2),e;if(a>n)return e;a>=t&&a<=n&&(r>t&&r-1<=n?(e.splice(i,2),i-=2):(e.splice(i-1,2),i-=2))}else{if(a==n+1||a==n)return e[i]=t,e;if(a>n)return e.splice(i,0,t,n+1),e;if(t>=a&&t<r&&n+1<=r)return e;t>=a&&t<r||r==t?(e[i+1]=n+1,s=!0):t<=a&&n+1>=r&&(e[i]=t,e[i+1]=n+1,s=!0)}i+=2}return s||e.push(t,n+1),e},T=function(e,t){var n=0,a=e.length,r=e[n],i=e[a-1];if(a>=2&&(t<r||t>i))return!1;for(;n<a;){if(r=e[n],i=e[n+1],t>=r&&t<i)return!0;n+=2}return!1},D=function(e){return!e.length},L=function(e){return 2==e.length&&e[0]+1==e[1]},I=function(e){for(var t,n,a=0,r=[],i=e.length;a<i;){for(t=e[a],n=e[a+1];t<n;)r.push(t),++t;a+=2}return r},F=Math.floor,O=function(e){return parseInt(F((e-65536)/1024)+l,10)},N=function(e){return parseInt((e-65536)%1024+u,10)},B=String.fromCharCode,M=function(e){return 9==e?"\\t":10==e?"\\n":12==e?"\\f":13==e?"\\r":45==e?"\\x2D":92==e?"\\\\":36==e||e>=40&&e<=43||46==e||47==e||63==e||e>=91&&e<=94||e>=123&&e<=125?"\\"+B(e):e>=32&&e<=126?B(e):e<=255?"\\x"+x(v(e),2):"\\u"+x(v(e),4)},P=function(e){return e<=65535?M(e):"\\u{"+e.toString(16).toUpperCase()+"}"},j=function(e){var t,n=e.length,a=e.charCodeAt(0);return a>=l&&a<=c&&n>1?(t=e.charCodeAt(1),1024*(a-l)+t-u+65536):a},V=function(e){var t,n,a="",r=0,i=e.length;if(L(e))return M(e[0]);for(;r<i;)a+=(t=e[r])==(n=e[r+1]-1)?M(t):t+1==n?M(t)+M(n):M(t)+"-"+M(n),r+=2;return"["+a+"]"},$=function(e){if(1==e.length)return e;for(var t=-1,n=-1;++t<e.length;){var a=e[t],r=a[1],i=r[0],s=r[1];for(n=t;++n<e.length;){var o=e[n],d=o[1],l=d[0],c=d[1];i==l&&s==c&&2===d.length&&(L(o[0])?a[0]=w(a[0],o[0][0]):a[0]=A(a[0],o[0][0],o[0][1]-1),e.splice(n,1),--n)}}return e},U=function(e){if(!e.length)return[];for(var t,n,a,r,i,s,o=0,d=[],l=e.length;o<l;){t=e[o],n=e[o+1]-1,a=O(t),r=N(t),i=O(n);var c=(s=N(n))==h,g=!1;a==i||r==u&&c?(d.push([[a,i+1],[r,s+1]]),g=!0):d.push([[a,a+1],[r,57344]]),!g&&a+1<i&&(c?(d.push([[a+1,i+1],[u,s+1]]),g=!0):d.push([[a+1,i],[u,57344]])),g||d.push([[i,i+1],[u,s+1]]),o+=2}return function(e){for(var t,n,a,r,i,s,o=[],d=[],l=!1,c=-1,u=e.length;++c<u;)if(t=e[c],n=e[c+1]){for(a=t[0],r=t[1],i=n[0],s=n[1],d=r;i&&a[0]==i[0]&&a[1]==i[1];)d=L(s)?w(d,s[0]):A(d,s[0],s[1]-1),a=(t=e[++c])[0],r=t[1],i=(n=e[c+1])&&n[0],s=n&&n[1],l=!0;o.push([a,l?d:r]),l=!1}else o.push(t);return $(o)}(d)},z=function(e,t,n){if(n)return function(e){var t,n,a="",r=0,i=e.length;if(L(e))return P(e[0]);for(;r<i;)a+=(t=e[r])==(n=e[r+1]-1)?P(t):t+1==n?P(t)+P(n):P(t)+"-"+P(n),r+=2;return"["+a+"]"}(e);var a=[],r=function(e){for(var t,n,a=[],r=[],i=[],s=[],o=0,d=e.length;o<d;)t=e[o],n=e[o+1]-1,t<l?(n<l&&i.push(t,n+1),n>=l&&n<=c&&(i.push(t,l),a.push(l,n+1)),n>=u&&n<=h&&(i.push(t,l),a.push(l,56320),r.push(u,n+1)),n>h&&(i.push(t,l),a.push(l,56320),r.push(u,57344),n<=65535?i.push(57344,n+1):(i.push(57344,65536),s.push(65536,n+1)))):t>=l&&t<=c?(n>=l&&n<=c&&a.push(t,n+1),n>=u&&n<=h&&(a.push(t,56320),r.push(u,n+1)),n>h&&(a.push(t,56320),r.push(u,57344),n<=65535?i.push(57344,n+1):(i.push(57344,65536),s.push(65536,n+1)))):t>=u&&t<=h?(n>=u&&n<=h&&r.push(t,n+1),n>h&&(r.push(t,57344),n<=65535?i.push(57344,n+1):(i.push(57344,65536),s.push(65536,n+1)))):t>h&&t<=65535?n<=65535?i.push(t,n+1):(i.push(t,65536),s.push(65536,n+1)):s.push(t,n+1),o+=2;return{loneHighSurrogates:a,loneLowSurrogates:r,bmp:i,astral:s}}(e),i=r.loneHighSurrogates,s=r.loneLowSurrogates,o=r.bmp,d=r.astral,g=!D(i),p=!D(s),f=U(d);return t&&(o=E(o,i),g=!1,o=E(o,s),p=!1),D(o)||a.push(V(o)),f.length&&a.push(function(e){var t=[];return m(e,(function(e){var n=e[0],a=e[1];t.push(V(n)+V(a))})),t.join("|")}(f)),g&&a.push(V(i)+"(?![\\uDC00-\\uDFFF])"),p&&a.push("(?:[^\\uD800-\\uDBFF]|^)"+V(s)),a.join("|")},H=function(e){return arguments.length>1&&(e=_.call(arguments)),this instanceof H?(this.data=[],e?this.add(e):this):(new H).add(e)};H.version="1.4.2";var Y=H.prototype;!function(e,t){var n;for(n in t)f.call(t,n)&&(e[n]=t[n])}(Y,{add:function(e){var t=this;return null==e?t:e instanceof H?(t.data=E(t.data,e.data),t):(arguments.length>1&&(e=_.call(arguments)),y(e)?(m(e,(function(e){t.add(e)})),t):(t.data=w(t.data,b(e)?e:j(e)),t))},remove:function(e){var t=this;return null==e?t:e instanceof H?(t.data=S(t.data,e.data),t):(arguments.length>1&&(e=_.call(arguments)),y(e)?(m(e,(function(e){t.remove(e)})),t):(t.data=k(t.data,b(e)?e:j(e)),t))},addRange:function(e,t){var n=this;return n.data=A(n.data,b(e)?e:j(e),b(t)?t:j(t)),n},removeRange:function(e,t){var n=this,a=b(e)?e:j(e),r=b(t)?t:j(t);return n.data=C(n.data,a,r),n},intersection:function(e){var t=this,n=e instanceof H?I(e.data):e;return t.data=function(e,t){for(var n,a=0,r=t.length,i=[];a<r;)n=t[a],T(e,n)&&i.push(n),++a;return function(e){for(var t,n=-1,a=e.length,r=a-1,i=[],s=!0,o=0;++n<a;)if(t=e[n],s)i.push(t),o=t,s=!1;else if(t==o+1){if(n!=r){o=t;continue}s=!0,i.push(t+1)}else i.push(o+1,t),o=t;return s||i.push(t+1),i}(i)}(t.data,n),t},contains:function(e){return T(this.data,b(e)?e:j(e))},clone:function(){var e=new H;return e.data=this.data.slice(0),e},toString:function(e){var t=z(this.data,!!e&&e.bmpOnly,!!e&&e.hasUnicodeFlag);return t?t.replace(g,"\\0$1"):"[]"},toRegExp:function(e){var t=this.toString(e&&-1!=e.indexOf("u")?{hasUnicodeFlag:!0}:null);return RegExp(t,e||"")},valueOf:function(){return I(this.data)}}),Y.toArray=Y.valueOf,void 0===(a=function(){return H}.call(t,n,t,e))||(e.exports=a)}()},98957:(e,t,n)=>{"use strict";const a=n(78776);t.REGULAR=new Map([["d",a().addRange(48,57)],["D",a().addRange(0,47).addRange(58,65535)],["s",a(32,160,5760,8239,8287,12288,65279).addRange(9,13).addRange(8192,8202).addRange(8232,8233)],["S",a().addRange(0,8).addRange(14,31).addRange(33,159).addRange(161,5759).addRange(5761,8191).addRange(8203,8231).addRange(8234,8238).addRange(8240,8286).addRange(8288,12287).addRange(12289,65278).addRange(65280,65535)],["w",a(95).addRange(48,57).addRange(65,90).addRange(97,122)],["W",a(96).addRange(0,47).addRange(58,64).addRange(91,94).addRange(123,65535)]]),t.UNICODE=new Map([["d",a().addRange(48,57)],["D",a().addRange(0,47).addRange(58,1114111)],["s",a(32,160,5760,8239,8287,12288,65279).addRange(9,13).addRange(8192,8202).addRange(8232,8233)],["S",a().addRange(0,8).addRange(14,31).addRange(33,159).addRange(161,5759).addRange(5761,8191).addRange(8203,8231).addRange(8234,8238).addRange(8240,8286).addRange(8288,12287).addRange(12289,65278).addRange(65280,1114111)],["w",a(95).addRange(48,57).addRange(65,90).addRange(97,122)],["W",a(96).addRange(0,47).addRange(58,64).addRange(91,94).addRange(123,1114111)]]),t.UNICODE_IGNORE_CASE=new Map([["d",a().addRange(48,57)],["D",a().addRange(0,47).addRange(58,1114111)],["s",a(32,160,5760,8239,8287,12288,65279).addRange(9,13).addRange(8192,8202).addRange(8232,8233)],["S",a().addRange(0,8).addRange(14,31).addRange(33,159).addRange(161,5759).addRange(5761,8191).addRange(8203,8231).addRange(8234,8238).addRange(8240,8286).addRange(8288,12287).addRange(12289,65278).addRange(65280,1114111)],["w",a(95,383,8490).addRange(48,57).addRange(65,90).addRange(97,122)],["W",a(96).addRange(0,47).addRange(58,64).addRange(91,94).addRange(123,382).addRange(384,8489).addRange(8491,1114111)]])},61818:e=>{e.exports=new Map([[75,8490],[83,383],[107,8490],[115,383],[181,924],[197,8491],[223,7838],[229,8491],[383,83],[452,453],[453,452],[455,456],[456,455],[458,459],[459,458],[497,498],[498,497],[837,8126],[914,976],[917,1013],[920,1012],[921,8126],[922,1008],[924,181],[928,982],[929,1009],[931,962],[934,981],[937,8486],[952,1012],[962,931],[969,8486],[976,914],[977,1012],[981,934],[982,928],[1008,922],[1009,929],[1012,[920,977,952]],[1013,917],[1042,7296],[1044,7297],[1054,7298],[1057,7299],[1058,7301],[1066,7302],[1122,7303],[7296,1042],[7297,1044],[7298,1054],[7299,1057],[7300,7301],[7301,[1058,7300]],[7302,1066],[7303,1122],[7304,42570],[7776,7835],[7835,7776],[7838,223],[8064,8072],[8065,8073],[8066,8074],[8067,8075],[8068,8076],[8069,8077],[8070,8078],[8071,8079],[8072,8064],[8073,8065],[8074,8066],[8075,8067],[8076,8068],[8077,8069],[8078,8070],[8079,8071],[8080,8088],[8081,8089],[8082,8090],[8083,8091],[8084,8092],[8085,8093],[8086,8094],[8087,8095],[8088,8080],[8089,8081],[8090,8082],[8091,8083],[8092,8084],[8093,8085],[8094,8086],[8095,8087],[8096,8104],[8097,8105],[8098,8106],[8099,8107],[8100,8108],[8101,8109],[8102,8110],[8103,8111],[8104,8096],[8105,8097],[8106,8098],[8107,8099],[8108,8100],[8109,8101],[8110,8102],[8111,8103],[8115,8124],[8124,8115],[8126,[837,921]],[8131,8140],[8140,8131],[8179,8188],[8188,8179],[8486,[937,969]],[8490,75],[8491,[197,229]],[11311,11359],[11359,11311],[42570,7304],[42944,42945],[42945,42944],[42960,42961],[42961,42960],[42966,42967],[42967,42966],[42968,42969],[42969,42968],[66560,66600],[66561,66601],[66562,66602],[66563,66603],[66564,66604],[66565,66605],[66566,66606],[66567,66607],[66568,66608],[66569,66609],[66570,66610],[66571,66611],[66572,66612],[66573,66613],[66574,66614],[66575,66615],[66576,66616],[66577,66617],[66578,66618],[66579,66619],[66580,66620],[66581,66621],[66582,66622],[66583,66623],[66584,66624],[66585,66625],[66586,66626],[66587,66627],[66588,66628],[66589,66629],[66590,66630],[66591,66631],[66592,66632],[66593,66633],[66594,66634],[66595,66635],[66596,66636],[66597,66637],[66598,66638],[66599,66639],[66600,66560],[66601,66561],[66602,66562],[66603,66563],[66604,66564],[66605,66565],[66606,66566],[66607,66567],[66608,66568],[66609,66569],[66610,66570],[66611,66571],[66612,66572],[66613,66573],[66614,66574],[66615,66575],[66616,66576],[66617,66577],[66618,66578],[66619,66579],[66620,66580],[66621,66581],[66622,66582],[66623,66583],[66624,66584],[66625,66585],[66626,66586],[66627,66587],[66628,66588],[66629,66589],[66630,66590],[66631,66591],[66632,66592],[66633,66593],[66634,66594],[66635,66595],[66636,66596],[66637,66597],[66638,66598],[66639,66599],[66736,66776],[66737,66777],[66738,66778],[66739,66779],[66740,66780],[66741,66781],[66742,66782],[66743,66783],[66744,66784],[66745,66785],[66746,66786],[66747,66787],[66748,66788],[66749,66789],[66750,66790],[66751,66791],[66752,66792],[66753,66793],[66754,66794],[66755,66795],[66756,66796],[66757,66797],[66758,66798],[66759,66799],[66760,66800],[66761,66801],[66762,66802],[66763,66803],[66764,66804],[66765,66805],[66766,66806],[66767,66807],[66768,66808],[66769,66809],[66770,66810],[66771,66811],[66776,66736],[66777,66737],[66778,66738],[66779,66739],[66780,66740],[66781,66741],[66782,66742],[66783,66743],[66784,66744],[66785,66745],[66786,66746],[66787,66747],[66788,66748],[66789,66749],[66790,66750],[66791,66751],[66792,66752],[66793,66753],[66794,66754],[66795,66755],[66796,66756],[66797,66757],[66798,66758],[66799,66759],[66800,66760],[66801,66761],[66802,66762],[66803,66763],[66804,66764],[66805,66765],[66806,66766],[66807,66767],[66808,66768],[66809,66769],[66810,66770],[66811,66771],[66928,66967],[66929,66968],[66930,66969],[66931,66970],[66932,66971],[66933,66972],[66934,66973],[66935,66974],[66936,66975],[66937,66976],[66938,66977],[66940,66979],[66941,66980],[66942,66981],[66943,66982],[66944,66983],[66945,66984],[66946,66985],[66947,66986],[66948,66987],[66949,66988],[66950,66989],[66951,66990],[66952,66991],[66953,66992],[66954,66993],[66956,66995],[66957,66996],[66958,66997],[66959,66998],[66960,66999],[66961,67e3],[66962,67001],[66964,67003],[66965,67004],[66967,66928],[66968,66929],[66969,66930],[66970,66931],[66971,66932],[66972,66933],[66973,66934],[66974,66935],[66975,66936],[66976,66937],[66977,66938],[66979,66940],[66980,66941],[66981,66942],[66982,66943],[66983,66944],[66984,66945],[66985,66946],[66986,66947],[66987,66948],[66988,66949],[66989,66950],[66990,66951],[66991,66952],[66992,66953],[66993,66954],[66995,66956],[66996,66957],[66997,66958],[66998,66959],[66999,66960],[67e3,66961],[67001,66962],[67003,66964],[67004,66965],[68736,68800],[68737,68801],[68738,68802],[68739,68803],[68740,68804],[68741,68805],[68742,68806],[68743,68807],[68744,68808],[68745,68809],[68746,68810],[68747,68811],[68748,68812],[68749,68813],[68750,68814],[68751,68815],[68752,68816],[68753,68817],[68754,68818],[68755,68819],[68756,68820],[68757,68821],[68758,68822],[68759,68823],[68760,68824],[68761,68825],[68762,68826],[68763,68827],[68764,68828],[68765,68829],[68766,68830],[68767,68831],[68768,68832],[68769,68833],[68770,68834],[68771,68835],[68772,68836],[68773,68837],[68774,68838],[68775,68839],[68776,68840],[68777,68841],[68778,68842],[68779,68843],[68780,68844],[68781,68845],[68782,68846],[68783,68847],[68784,68848],[68785,68849],[68786,68850],[68800,68736],[68801,68737],[68802,68738],[68803,68739],[68804,68740],[68805,68741],[68806,68742],[68807,68743],[68808,68744],[68809,68745],[68810,68746],[68811,68747],[68812,68748],[68813,68749],[68814,68750],[68815,68751],[68816,68752],[68817,68753],[68818,68754],[68819,68755],[68820,68756],[68821,68757],[68822,68758],[68823,68759],[68824,68760],[68825,68761],[68826,68762],[68827,68763],[68828,68764],[68829,68765],[68830,68766],[68831,68767],[68832,68768],[68833,68769],[68834,68770],[68835,68771],[68836,68772],[68837,68773],[68838,68774],[68839,68775],[68840,68776],[68841,68777],[68842,68778],[68843,68779],[68844,68780],[68845,68781],[68846,68782],[68847,68783],[68848,68784],[68849,68785],[68850,68786],[71840,71872],[71841,71873],[71842,71874],[71843,71875],[71844,71876],[71845,71877],[71846,71878],[71847,71879],[71848,71880],[71849,71881],[71850,71882],[71851,71883],[71852,71884],[71853,71885],[71854,71886],[71855,71887],[71856,71888],[71857,71889],[71858,71890],[71859,71891],[71860,71892],[71861,71893],[71862,71894],[71863,71895],[71864,71896],[71865,71897],[71866,71898],[71867,71899],[71868,71900],[71869,71901],[71870,71902],[71871,71903],[71872,71840],[71873,71841],[71874,71842],[71875,71843],[71876,71844],[71877,71845],[71878,71846],[71879,71847],[71880,71848],[71881,71849],[71882,71850],[71883,71851],[71884,71852],[71885,71853],[71886,71854],[71887,71855],[71888,71856],[71889,71857],[71890,71858],[71891,71859],[71892,71860],[71893,71861],[71894,71862],[71895,71863],[71896,71864],[71897,71865],[71898,71866],[71899,71867],[71900,71868],[71901,71869],[71902,71870],[71903,71871],[93760,93792],[93761,93793],[93762,93794],[93763,93795],[93764,93796],[93765,93797],[93766,93798],[93767,93799],[93768,93800],[93769,93801],[93770,93802],[93771,93803],[93772,93804],[93773,93805],[93774,93806],[93775,93807],[93776,93808],[93777,93809],[93778,93810],[93779,93811],[93780,93812],[93781,93813],[93782,93814],[93783,93815],[93784,93816],[93785,93817],[93786,93818],[93787,93819],[93788,93820],[93789,93821],[93790,93822],[93791,93823],[93792,93760],[93793,93761],[93794,93762],[93795,93763],[93796,93764],[93797,93765],[93798,93766],[93799,93767],[93800,93768],[93801,93769],[93802,93770],[93803,93771],[93804,93772],[93805,93773],[93806,93774],[93807,93775],[93808,93776],[93809,93777],[93810,93778],[93811,93779],[93812,93780],[93813,93781],[93814,93782],[93815,93783],[93816,93784],[93817,93785],[93818,93786],[93819,93787],[93820,93788],[93821,93789],[93822,93790],[93823,93791],[125184,125218],[125185,125219],[125186,125220],[125187,125221],[125188,125222],[125189,125223],[125190,125224],[125191,125225],[125192,125226],[125193,125227],[125194,125228],[125195,125229],[125196,125230],[125197,125231],[125198,125232],[125199,125233],[125200,125234],[125201,125235],[125202,125236],[125203,125237],[125204,125238],[125205,125239],[125206,125240],[125207,125241],[125208,125242],[125209,125243],[125210,125244],[125211,125245],[125212,125246],[125213,125247],[125214,125248],[125215,125249],[125216,125250],[125217,125251],[125218,125184],[125219,125185],[125220,125186],[125221,125187],[125222,125188],[125223,125189],[125224,125190],[125225,125191],[125226,125192],[125227,125193],[125228,125194],[125229,125195],[125230,125196],[125231,125197],[125232,125198],[125233,125199],[125234,125200],[125235,125201],[125236,125202],[125237,125203],[125238,125204],[125239,125205],[125240,125206],[125241,125207],[125242,125208],[125243,125209],[125244,125210],[125245,125211],[125246,125212],[125247,125213],[125248,125214],[125249,125215],[125250,125216],[125251,125217]])},11890:(e,t,n)=>{"use strict";const a=n(23161).generate,r=n(89077).parse,i=n(78776),s=n(48710),o=n(73276),d=n(61818),l=n(98957),c=i().addRange(0,1114111),u=(i().addRange(0,65535),c.clone().remove(10,13,8232,8233)),h=(e,t,n)=>t?n?l.UNICODE_IGNORE_CASE.get(e):l.UNICODE.get(e):l.REGULAR.get(e),g=(e,t)=>{const a=t?`${e}/${t}`:`Binary_Property/${e}`;try{return n(7771)(`./${a}.js`)}catch(r){throw new Error(`Failed to recognize value \`${t}\` for property \`${e}\`.`)}},p=(e,t)=>{const n=e.split("="),a=n[0];let r;if(1==n.length)r=(e=>{try{const t="General_Category",n=o(t,e);return g(t,n)}catch(n){}const t=s(e);return g(t)})(a);else{const e=s(a),t=o(e,n[1]);r=g(e,t)}return t?c.clone().remove(r):r.clone()};i.prototype.iuAddRange=function(e,t){const n=this;do{const t=R(e);t&&n.add(t)}while(++e<=t);return n};const f=(e,t)=>{let n=r(t,x.useUnicodeFlag?"u":"");switch(n.type){case"characterClass":case"group":case"value":break;default:n=m(n,t)}Object.assign(e,n)},m=(e,t)=>({type:"group",behavior:"ignore",body:[e],raw:`(?:${t})`}),R=e=>d.get(e)||!1,y=(e,t)=>{delete e.name,e.matchIndex=t},b=(e,t,n)=>{switch(e.type){case"dot":if(x.useDotAllFlag)break;x.unicode?f(e,(a=x.dotAll,a?c:u).toString(t)):x.dotAll&&f(e,"[\\s\\S]");break;case"characterClass":e=((e,t)=>{const n=i();for(const a of e.body)switch(a.type){case"value":if(n.add(a.codePoint),x.ignoreCase&&x.unicode&&!x.useUnicodeFlag){const e=R(a.codePoint);e&&n.add(e)}break;case"characterClassRange":const e=a.min.codePoint,t=a.max.codePoint;n.addRange(e,t),x.ignoreCase&&x.unicode&&!x.useUnicodeFlag&&n.iuAddRange(e,t);break;case"characterClassEscape":n.add(h(a.value,x.unicode,x.ignoreCase));break;case"unicodePropertyEscape":n.add(p(a.value,a.negative));break;default:throw new Error(`Unknown term type: ${a.type}`)}return e.negative?f(e,`(?!${n.toString(t)})[\\s\\S]`):f(e,n.toString(t)),e})(e,t);break;case"unicodePropertyEscape":x.unicodePropertyEscape&&f(e,p(e.value,e.negative).toString(t));break;case"characterClassEscape":f(e,h(e.value,x.unicode,x.ignoreCase).toString(t));break;case"group":if("normal"==e.behavior&&n.lastIndex++,e.name&&x.namedGroup){const t=e.name.value;if(n.names[t])throw new Error(`Multiple groups with the same name (${t}) are not allowed.`);const a=n.lastIndex;delete e.name,n.names[t]=a,n.onNamedGroup&&n.onNamedGroup.call(null,t,a),n.unmatchedReferences[t]&&(n.unmatchedReferences[t].forEach((e=>{y(e,a)})),delete n.unmatchedReferences[t])}case"alternative":case"disjunction":case"quantifier":e.body=e.body.map((e=>b(e,t,n)));break;case"value":const r=e.codePoint,s=i(r);if(x.ignoreCase&&x.unicode&&!x.useUnicodeFlag){const e=R(r);e&&s.add(e)}f(e,s.toString(t));break;case"reference":if(e.name){const t=e.name.value,a=n.names[t];if(a){y(e,a);break}n.unmatchedReferences[t]||(n.unmatchedReferences[t]=[]),n.unmatchedReferences[t].push(e)}break;case"anchor":case"empty":case"group":break;default:throw new Error(`Unknown term type: ${e.type}`)}var a;return e},x={ignoreCase:!1,unicode:!1,dotAll:!1,useDotAllFlag:!1,useUnicodeFlag:!1,unicodePropertyEscape:!1,namedGroup:!1};e.exports=(e,t,n)=>{x.unicode=t&&t.includes("u");const i={unicodePropertyEscape:x.unicode,namedGroups:!0,lookbehind:n&&n.lookbehind};x.ignoreCase=t&&t.includes("i");const s=n&&n.dotAllFlag;if(x.dotAll=s&&t&&t.includes("s"),x.namedGroup=n&&n.namedGroup,x.useDotAllFlag=n&&n.useDotAllFlag,x.useUnicodeFlag=n&&n.useUnicodeFlag,x.unicodePropertyEscape=n&&n.unicodePropertyEscape,s&&x.useDotAllFlag)throw new Error("`useDotAllFlag` and `dotAllFlag` cannot both be true!");const o={hasUnicodeFlag:x.useUnicodeFlag,bmpOnly:!x.unicode},d={onNamedGroup:n&&n.onNamedGroup,lastIndex:0,names:Object.create(null),unmatchedReferences:Object.create(null)},l=r(e,t,i);return b(l,o,d),(e=>{const t=Object.keys(e.unmatchedReferences);if(t.length>0)throw new Error(`Unknown group names: ${t}`)})(d),a(l)}},23161:function(e,t,n){var a;e=n.nmd(e),function(){"use strict";var r={function:!0,object:!0},i=r[typeof window]&&window||this,s=r[typeof t]&&t&&!t.nodeType&&t,o=r.object&&e&&!e.nodeType,d=s&&o&&"object"==typeof n.g&&n.g;!d||d.global!==d&&d.window!==d&&d.self!==d||(i=d);var l=Object.prototype.hasOwnProperty;function c(){var e=Number(arguments[0]);if(!isFinite(e)||e<0||e>1114111||Math.floor(e)!=e)throw RangeError("Invalid code point: "+e);if(e<=65535)return String.fromCharCode(e);var t=55296+((e-=65536)>>10),n=e%1024+56320;return String.fromCharCode(t,n)}var u={};function h(e,t){if(-1==t.indexOf("|")){if(e==t)return;throw Error("Invalid node type: "+e+"; expected type: "+t)}if(!(t=l.call(u,t)?u[t]:u[t]=RegExp("^(?:"+t+")$")).test(e))throw Error("Invalid node type: "+e+"; expected types: "+t)}function g(e){var t=e.type;if(l.call(y,t))return y[t](e);throw Error("Invalid node type: "+t)}function p(e,t){for(var n,a=-1,r=t.length,i="";++a<r;)n=t[a],a+1<r&&"value"==t[a].type&&"null"==t[a].kind&&"value"==t[a+1].type&&"symbol"==t[a+1].kind&&t[a+1].codePoint>=48&&t[a+1].codePoint<=57?i+="\\000":i+=e(n);return i}function f(e){return h(e.type,"anchor|characterClassEscape|characterClassRange|dot|value"),g(e)}function m(e){return h(e.type,"identifier"),e.value}function R(e){return h(e.type,"anchor|characterClass|characterClassEscape|empty|group|quantifier|reference|unicodePropertyEscape|value|dot"),g(e)}var y={alternative:function(e){return h(e.type,"alternative"),p(R,e.body)},anchor:function(e){switch(h(e.type,"anchor"),e.kind){case"start":return"^";case"end":return"$";case"boundary":return"\\b";case"not-boundary":return"\\B";default:throw Error("Invalid assertion")}},characterClass:function(e){return h(e.type,"characterClass"),"["+(e.negative?"^":"")+p(f,e.body)+"]"},characterClassEscape:function(e){return h(e.type,"characterClassEscape"),"\\"+e.value},characterClassRange:function(e){h(e.type,"characterClassRange");var t=e.min,n=e.max;if("characterClassRange"==t.type||"characterClassRange"==n.type)throw Error("Invalid character class range");return f(t)+"-"+f(n)},disjunction:function(e){h(e.type,"disjunction");for(var t=e.body,n=-1,a=t.length,r="";++n<a;)0!=n&&(r+="|"),r+=g(t[n]);return r},dot:function(e){return h(e.type,"dot"),"."},group:function(e){h(e.type,"group");var t="";switch(e.behavior){case"normal":e.name&&(t+="?<"+m(e.name)+">");break;case"ignore":t+="?:";break;case"lookahead":t+="?=";break;case"negativeLookahead":t+="?!";break;case"lookbehind":t+="?<=";break;case"negativeLookbehind":t+="?<!";break;default:throw Error("Invalid behaviour: "+e.behaviour)}return"("+(t+=p(g,e.body))+")"},quantifier:function(e){h(e.type,"quantifier");var t="",n=e.min,a=e.max;return t=null==a?0==n?"*":1==n?"+":"{"+n+",}":n==a?"{"+n+"}":0==n&&1==a?"?":"{"+n+","+a+"}",e.greedy||(t+="?"),function(e){return h(e.type,"anchor|characterClass|characterClassEscape|dot|group|reference|value"),g(e)}(e.body[0])+t},reference:function(e){if(h(e.type,"reference"),e.matchIndex)return"\\"+e.matchIndex;if(e.name)return"\\k<"+m(e.name)+">";throw new Error("Unknown reference type")},unicodePropertyEscape:function(e){return h(e.type,"unicodePropertyEscape"),"\\"+(e.negative?"P":"p")+"{"+e.value+"}"},value:function(e){h(e.type,"value");var t=e.kind,n=e.codePoint;if("number"!=typeof n)throw new Error("Invalid code point: "+n);switch(t){case"controlLetter":return"\\c"+c(n+64);case"hexadecimalEscape":return"\\x"+("00"+n.toString(16).toUpperCase()).slice(-2);case"identifier":return"\\"+c(n);case"null":return"\\"+n;case"octal":return"\\"+("000"+n.toString(8)).slice(-3);case"singleEscape":switch(n){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 11:return"\\v";case 12:return"\\f";case 13:return"\\r";case 45:return"\\-";default:throw Error("Invalid code point: "+n)}case"symbol":return c(n);case"unicodeEscape":return"\\u"+("0000"+n.toString(16).toUpperCase()).slice(-4);case"unicodeCodePointEscape":return"\\u{"+n.toString(16).toUpperCase()+"}";default:throw Error("Unsupported node kind: "+t)}}},b={generate:g};void 0===(a=function(){return b}.call(t,n,t,e))||(e.exports=a),i.regjsgen=b}.call(this)},89077:e=>{var t,n,a,r;a=String.fromCodePoint||(t=String.fromCharCode,n=Math.floor,function(){var e,a,r=16384,i=[],s=-1,o=arguments.length;if(!o)return"";for(var d="";++s<o;){var l=Number(arguments[s]);if(!isFinite(l)||l<0||l>1114111||n(l)!=l)throw RangeError("Invalid code point: "+l);l<=65535?i.push(l):(e=55296+((l-=65536)>>10),a=l%1024+56320,i.push(e,a)),(s+1==o||i.length>r)&&(d+=t.apply(null,i),i.length=0)}return d}),r={parse:function(e,t,n){function r(t){return t.raw=e.substring(t.range[0],t.range[1]),t}function i(e,t){return e.range[0]=t,r(e)}function s(e,t){return r({type:"anchor",kind:e,range:[Z-t,Z]})}function o(e,t,n,a){return r({type:"value",kind:e,codePoint:t,range:[n,a]})}function d(e,t,n,a){return a=a||0,o(e,t,Z-(n.length+a),Z)}function l(e){var t,n=e[0],a=n.charCodeAt(0);return J&&1===n.length&&a>=55296&&a<=56319&&(t=R().charCodeAt(0))>=56320&&t<=57343?o("symbol",1024*(a-55296)+t-56320+65536,++Z-2,Z):o("symbol",a,Z-1,Z)}function c(e,t,n,a){return null==a&&(n=Z-1,a=Z),r({type:"quantifier",min:e,max:t,greedy:!0,body:null,range:[n,a]})}function u(e,t,n,a){return r({type:"characterClass",kind:e.kind,body:e.body,negative:t,range:[n,a]})}function h(e,t,n,a){return e.codePoint>t.codePoint&&W("invalid range in character class",e.raw+"-"+t.raw,n,a),r({type:"characterClassRange",min:e,max:t,range:[n,a]})}function g(e){return"alternative"===e.type?e.body:[e]}function p(t){t=t||1;var n=e.substring(Z,Z+t);return Z+=t||1,n}function f(e){m(e)||W("character",e)}function m(t){if(e.indexOf(t,Z)===Z)return p(t.length)}function R(){return e[Z]}function y(t){return e.indexOf(t,Z)===Z}function b(t){return e[Z+1]===t}function x(t){var n=e.substring(Z).match(t);return n&&(n.range=[],n.range[0]=Z,p(n[0].length),n.range[1]=Z),n}function v(){var e=[],t=Z;for(e.push(_());m("|");)e.push(_());return 1===e.length?e[0]:function(e,t,n){return r({type:"disjunction",body:e,range:[t,n]})}(e,t,Z)}function _(){for(var e,t=[],n=Z;e=k();)t.push(e);return 1===t.length?t[0]:function(e,t,n){return r({type:"alternative",body:e,range:[t,n]})}(t,n,Z)}function k(){if(Z>=e.length||y("|")||y(")"))return null;var t=m("^")?s("start",1):m("$")?s("end",1):m("\\b")?s("boundary",2):m("\\B")?s("not-boundary",2):C("(?=","lookahead","(?!","negativeLookahead");if(t)return t;var a,d=function(){var e;if(e=x(/^[^^$\\.*+?()[\]{}|]/))return l(e);if(!J&&(e=x(/^(?:]|})/)))return l(e);if(m("."))return r({type:"dot",range:[Z-1,Z]});if(m("\\")){if(!(e=T())){if(!J&&"c"==R())return o("symbol",92,Z-1,Z);W("atomEscape")}return e}if(e=M())return e;if(n.lookbehind&&(e=C("(?<=","lookbehind","(?<!","negativeLookbehind")))return e;if(n.namedGroups&&m("(?<")){var t=O();f(">");var a=w("normal",t.range[0]-3);return a.name=t,a}return C("(?:","ignore","(","normal")}();return d||(pos_backup=Z,(a=E()||!1)&&(Z=pos_backup,W("Expected atom")),!J&&(res=x(/^{/))?d=l(res):W("Expected atom")),(a=E()||!1)?(a.body=g(d),i(a,d.range[0]),a):d}function C(e,t,n,a){var r=null,i=Z;if(m(e))r=t;else{if(!m(n))return!1;r=a}return w(r,i)}function w(e,t){var n=v();n||W("Expected disjunction"),f(")");var a=function(e,t,n,a){return r({type:"group",behavior:e,body:t,range:[n,a]})}(e,g(n),t,Z);return"normal"==e&&X&&G++,a}function E(){var e,t,n,a,r=Z;return m("*")?t=c(0):m("+")?t=c(1):m("?")?t=c(0,1):(e=x(/^\{([0-9]+)\}/))?t=c(n=parseInt(e[1],10),n,e.range[0],e.range[1]):(e=x(/^\{([0-9]+),\}/))?t=c(n=parseInt(e[1],10),void 0,e.range[0],e.range[1]):(e=x(/^\{([0-9]+),([0-9]+)\}/))&&((n=parseInt(e[1],10))>(a=parseInt(e[2],10))&&W("numbers out of order in {} quantifier","",r,Z),t=c(n,a,e.range[0],e.range[1])),t&&m("?")&&(t.greedy=!1,t.range[1]+=1),t}function S(e){var t,n;if(J&&"unicodeEscape"==e.kind&&(t=e.codePoint)>=55296&&t<=56319&&y("\\")&&b("u")){var a=Z;Z++;var i=A();"unicodeEscape"==i.kind&&(n=i.codePoint)>=56320&&n<=57343?(e.range[1]=i.range[1],e.codePoint=1024*(t-55296)+n-56320+65536,e.type="value",e.kind="unicodeCodePointEscape",r(e)):Z=a}return e}function A(){return T(!0)}function T(e){var t,a=Z;if(t=function(){var e,t,n;if(e=x(/^(?!0)\d+/)){t=e[0];var a=parseInt(e[0],10);return a<=G?(n=e[0],r({type:"reference",matchIndex:parseInt(n,10),range:[Z-1-n.length,Z]})):(q.push(a),p(-e[0].length),(e=x(/^[0-7]{1,3}/))?d("octal",parseInt(e[0],8),e[0],1):i(e=l(x(/^[89]/)),e.range[0]-1))}return!!(e=x(/^[0-7]{1,3}/))&&(t=e[0],/^0{1,3}$/.test(t)?d("null",0,"0",t.length):d("octal",parseInt(t,8),t,1))}()||function(){if(n.namedGroups&&x(/^k<(?=.*?>)/)){var e=O();return f(">"),function(e){return r({type:"reference",name:e,range:[e.range[0]-3,Z]})}(e)}}(),t)return t;if(e){if(m("b"))return d("singleEscape",8,"\\b");if(m("B"))W("\\B not possible inside of CharacterClass","",a);else{if(!J&&(t=x(/^c([0-9])/)))return d("controlLetter",t[1]+16,t[1],2);if(!J&&(t=x(/^c_/)))return d("controlLetter",31,"_",2)}if(J&&m("-"))return d("singleEscape",45,"\\-")}return t=D()||I()}function D(){var e;return(e=x(/^[dDsSwW]/))?r({type:"characterClassEscape",value:e[0],range:[Z-2,Z]}):!(!n.unicodePropertyEscape||!J&&!K||!(e=x(/^([pP])\{([^\}]+)\}/)))&&r({type:"unicodePropertyEscape",negative:"P"===e[1],value:e[2],range:[e.range[0]-1,e.range[1]],raw:e[0]})}function L(){var e;return(e=x(/^u([0-9a-fA-F]{4})/))?S(d("unicodeEscape",parseInt(e[1],16),e[1],2)):J&&(e=x(/^u\{([0-9a-fA-F]+)\}/))?d("unicodeCodePointEscape",parseInt(e[1],16),e[1],4):void 0}function I(){var e,t,a,r=Z;if(e=x(/^[fnrtv]/)){var i=0;switch(e[0]){case"t":i=9;break;case"n":i=10;break;case"v":i=11;break;case"f":i=12;break;case"r":i=13}return d("singleEscape",i,"\\"+e[0])}return(e=x(/^c([a-zA-Z])/))?d("controlLetter",e[1].charCodeAt(0)%32,e[1],2):(e=x(/^x([0-9a-fA-F]{2})/))?d("hexadecimalEscape",parseInt(e[1],16),e[1],2):(e=L())?((!e||e.codePoint>1114111)&&W("Invalid escape sequence",null,r,Z),e):(a=R(),J&&/[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/.test(a)||!J&&"c"!==a?"k"===a&&n.lookbehind?null:d("identifier",(t=p()).charCodeAt(0),t,1):null)}function F(t){var n=R(),r=Z;if("\\"===n){p();var i=L();return i&&t(i.codePoint)||W("Invalid escape sequence",null,r,Z),a(i.codePoint)}var s=n.charCodeAt(0);if(s>=55296&&s<=56319){var o=(n+=e[Z+1]).charCodeAt(1);o>=56320&&o<=57343&&(s=1024*(s-55296)+o-56320+65536)}if(t(s))return p(),s>65535&&p(),n}function O(){var e,t=Z,n=F(N);for(n||W("Invalid identifier");e=F(B);)n+=e;return r({type:"identifier",value:n,range:[t,Z]})}function N(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=128&&/[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFF1]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/.test(a(e))}function B(e){return N(e)||e>=48&&e<=57||e>=128&&/[0-9_\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD30-\uDD39\uDF46-\uDF50]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC66-\uDC6F\uDC7F-\uDC82\uDCB0-\uDCBA\uDCF0-\uDCF9\uDD00-\uDD02\uDD27-\uDD34\uDD36-\uDD3F\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDD0-\uDDD9\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC50-\uDC59\uDC5E\uDCB0-\uDCC3\uDCD0-\uDCD9\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDE50-\uDE59\uDEAB-\uDEB7\uDEC0-\uDEC9\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC2C-\uDC3A\uDCE0-\uDCE9\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC50-\uDC59\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD50-\uDD59\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDDA0-\uDDA9\uDEF3-\uDEF6]|\uD81A[\uDE60-\uDE69\uDEF0-\uDEF4\uDF30-\uDF36\uDF50-\uDF59]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A\uDD50-\uDD59]|\uDB40[\uDD00-\uDDEF]/.test(a(e))}function M(){var e,t=Z;return(e=x(/^\[\^/))?(e=P(),f("]"),u(e,!0,t,Z)):m("[")?(e=P(),f("]"),u(e,!1,t,Z)):null}function P(){var e,t;return y("]")?{kind:"union",body:[]}:K?function(){var e,t=[],n=$(!0);for(t.push(n),e="classRange"===n.type?"union":y("&")?"intersection":y("-")?"subtraction":"union";!y("]");)"intersection"===e?(f("&"),f("&"),y("&")&&W("&& cannot be followed by &. Wrap it in parentheses: &&(&).")):"subtraction"===e&&(f("-"),f("-")),n=$("union"===e),t.push(n);return{kind:e,body:t}}():((t=V())||W("classAtom"),(e=y("]")?[t]:j(t))||W("nonEmptyClassRanges"),{kind:"union",body:e})}function j(e){var t,n,a,r,i;if(y("-")&&!b("]")){t=e.range[0],i=l(m("-")),(r=V())||W("classAtom"),n=Z;var s=P();return s||W("classRanges"),"codePoint"in e&&"codePoint"in r?a=[h(e,r,t,n)]:J?W("invalid character class"):a=[e,i,r],"empty"===s.type?a:a.concat(s.body)}return(a=function(){var e=V();return e||W("classAtom"),y("]")?e:j(e)}())||W("nonEmptyClassRangesNoDash"),[e].concat(a)}function V(){return m("-")?l("-"):function(){var e;return(e=x(/^[^\\\]-]/))?l(e[0]):m("\\")?((e=A())||W("classEscape"),S(e)):void 0}()}function $(e){var t,n,a=Z;if(m("\\"))if(n=D())t=n;else{if(n=H())return n;W("Invalid escape","\\"+R(),a)}else if(n=z())t=n;else{if(n=function(){var e=[],t=Z;if(!m("("))return null;do{e.push(Y())}while(m("|"));return f(")"),function(e,t,n){return r({type:"classStrings",strings:e,range:[t,n]})}(e,t,Z)}()||M())return n;W("Invalid character",R())}if(e&&y("-")&&!b("-")){if(f("-"),n=U())return h(t,n,a,Z);W("Invalid range end",R())}return t}function U(){if(m("\\")){if(res=H())return res;W("Invalid escape","\\"+R(),from)}return z()}function z(){var e;if(e=x(/^[^()[\]{}/\-\\|]/))return l(e)}function H(){return m("b")?d("singleEscape",8,"\\b"):m("B")?void W("\\B not possible inside of ClassContents","",Z-2):(res=x(/^[&\-!#%,:;<=>@_`~]/))?d("identifier",res[0].codePointAt(0),res[0]):(res=I())?res:null}function Y(){for(var e,t=[],n=Z;e=U();)t.push(e);return function(e,t,n){return r({type:"classString",characters:e,range:[t,n]})}(t,n,Z)}function W(t,n,a,r){a=null==a?Z:a,r=null==r?a:r;var i=Math.max(0,a-10),s=Math.min(r+10,e.length),o=" "+e.substring(i,s),d=" "+new Array(a-i+1).join(" ")+"^";throw SyntaxError(t+" at position "+a+(n?": "+n:"")+"\n"+o+"\n"+d)}n||(n={});var q=[],G=0,X=!0,J=-1!==(t||"").indexOf("u"),K=-1!==(t||"").indexOf("v"),Z=0;if(K&&!n.unicodeSet)throw new Error('The "v" flag is only supported when the .unicodeSet option is enabled.');if(J&&K)throw new Error('The "u" and "v" flags are mutually exclusive.');""===(e=String(e))&&(e="(?:)");var Q=v();Q.range[1]!==e.length&&W("Could not parse entire input - got stuck","",Q.range[1]);for(var ee=0;ee<q.length;ee++)if(q[ee]<=G)return Z=0,X=!1,v();return Q}},e.exports?e.exports=r:window.regjsparser=r},57848:(e,t,n)=>{var a=n(18139);e.exports=function(e,t){var n,r=null;if(!e||"string"!=typeof e)return r;for(var i,s,o=a(e),d="function"==typeof t,l=0,c=o.length;l<c;l++)i=(n=o[l]).property,s=n.value,d?t(i,s,n):s&&(r||(r={}),r[i]=s);return r}},42351:e=>{e.exports=new Set(["General_Category","Script","Script_Extensions","Alphabetic","Any","ASCII","ASCII_Hex_Digit","Assigned","Bidi_Control","Bidi_Mirrored","Case_Ignorable","Cased","Changes_When_Casefolded","Changes_When_Casemapped","Changes_When_Lowercased","Changes_When_NFKC_Casefolded","Changes_When_Titlecased","Changes_When_Uppercased","Dash","Default_Ignorable_Code_Point","Deprecated","Diacritic","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extended_Pictographic","Extender","Grapheme_Base","Grapheme_Extend","Hex_Digit","ID_Continue","ID_Start","Ideographic","IDS_Binary_Operator","IDS_Trinary_Operator","Join_Control","Logical_Order_Exception","Lowercase","Math","Noncharacter_Code_Point","Pattern_Syntax","Pattern_White_Space","Quotation_Mark","Radical","Regional_Indicator","Sentence_Terminal","Soft_Dotted","Terminal_Punctuation","Unified_Ideograph","Uppercase","Variation_Selector","White_Space","XID_Continue","XID_Start"])},48710:(e,t,n)=>{"use strict";const a=n(42351),r=n(84855);e.exports=function(e){if(a.has(e))return e;if(r.has(e))return r.get(e);throw new Error(`Unknown property: ${e}`)}},44973:e=>{e.exports=new Map([["General_Category",new Map([["C","Other"],["Cc","Control"],["cntrl","Control"],["Cf","Format"],["Cn","Unassigned"],["Co","Private_Use"],["Cs","Surrogate"],["L","Letter"],["LC","Cased_Letter"],["Ll","Lowercase_Letter"],["Lm","Modifier_Letter"],["Lo","Other_Letter"],["Lt","Titlecase_Letter"],["Lu","Uppercase_Letter"],["M","Mark"],["Combining_Mark","Mark"],["Mc","Spacing_Mark"],["Me","Enclosing_Mark"],["Mn","Nonspacing_Mark"],["N","Number"],["Nd","Decimal_Number"],["digit","Decimal_Number"],["Nl","Letter_Number"],["No","Other_Number"],["P","Punctuation"],["punct","Punctuation"],["Pc","Connector_Punctuation"],["Pd","Dash_Punctuation"],["Pe","Close_Punctuation"],["Pf","Final_Punctuation"],["Pi","Initial_Punctuation"],["Po","Other_Punctuation"],["Ps","Open_Punctuation"],["S","Symbol"],["Sc","Currency_Symbol"],["Sk","Modifier_Symbol"],["Sm","Math_Symbol"],["So","Other_Symbol"],["Z","Separator"],["Zl","Line_Separator"],["Zp","Paragraph_Separator"],["Zs","Space_Separator"],["Other","Other"],["Control","Control"],["Format","Format"],["Unassigned","Unassigned"],["Private_Use","Private_Use"],["Surrogate","Surrogate"],["Letter","Letter"],["Cased_Letter","Cased_Letter"],["Lowercase_Letter","Lowercase_Letter"],["Modifier_Letter","Modifier_Letter"],["Other_Letter","Other_Letter"],["Titlecase_Letter","Titlecase_Letter"],["Uppercase_Letter","Uppercase_Letter"],["Mark","Mark"],["Spacing_Mark","Spacing_Mark"],["Enclosing_Mark","Enclosing_Mark"],["Nonspacing_Mark","Nonspacing_Mark"],["Number","Number"],["Decimal_Number","Decimal_Number"],["Letter_Number","Letter_Number"],["Other_Number","Other_Number"],["Punctuation","Punctuation"],["Connector_Punctuation","Connector_Punctuation"],["Dash_Punctuation","Dash_Punctuation"],["Close_Punctuation","Close_Punctuation"],["Final_Punctuation","Final_Punctuation"],["Initial_Punctuation","Initial_Punctuation"],["Other_Punctuation","Other_Punctuation"],["Open_Punctuation","Open_Punctuation"],["Symbol","Symbol"],["Currency_Symbol","Currency_Symbol"],["Modifier_Symbol","Modifier_Symbol"],["Math_Symbol","Math_Symbol"],["Other_Symbol","Other_Symbol"],["Separator","Separator"],["Line_Separator","Line_Separator"],["Paragraph_Separator","Paragraph_Separator"],["Space_Separator","Space_Separator"]])],["Script",new Map([["Adlm","Adlam"],["Aghb","Caucasian_Albanian"],["Ahom","Ahom"],["Arab","Arabic"],["Armi","Imperial_Aramaic"],["Armn","Armenian"],["Avst","Avestan"],["Bali","Balinese"],["Bamu","Bamum"],["Bass","Bassa_Vah"],["Batk","Batak"],["Beng","Bengali"],["Bhks","Bhaiksuki"],["Bopo","Bopomofo"],["Brah","Brahmi"],["Brai","Braille"],["Bugi","Buginese"],["Buhd","Buhid"],["Cakm","Chakma"],["Cans","Canadian_Aboriginal"],["Cari","Carian"],["Cham","Cham"],["Cher","Cherokee"],["Chrs","Chorasmian"],["Copt","Coptic"],["Qaac","Coptic"],["Cpmn","Cypro_Minoan"],["Cprt","Cypriot"],["Cyrl","Cyrillic"],["Deva","Devanagari"],["Diak","Dives_Akuru"],["Dogr","Dogra"],["Dsrt","Deseret"],["Dupl","Duployan"],["Egyp","Egyptian_Hieroglyphs"],["Elba","Elbasan"],["Elym","Elymaic"],["Ethi","Ethiopic"],["Geor","Georgian"],["Glag","Glagolitic"],["Gong","Gunjala_Gondi"],["Gonm","Masaram_Gondi"],["Goth","Gothic"],["Gran","Grantha"],["Grek","Greek"],["Gujr","Gujarati"],["Guru","Gurmukhi"],["Hang","Hangul"],["Hani","Han"],["Hano","Hanunoo"],["Hatr","Hatran"],["Hebr","Hebrew"],["Hira","Hiragana"],["Hluw","Anatolian_Hieroglyphs"],["Hmng","Pahawh_Hmong"],["Hmnp","Nyiakeng_Puachue_Hmong"],["Hrkt","Katakana_Or_Hiragana"],["Hung","Old_Hungarian"],["Ital","Old_Italic"],["Java","Javanese"],["Kali","Kayah_Li"],["Kana","Katakana"],["Kawi","Kawi"],["Khar","Kharoshthi"],["Khmr","Khmer"],["Khoj","Khojki"],["Kits","Khitan_Small_Script"],["Knda","Kannada"],["Kthi","Kaithi"],["Lana","Tai_Tham"],["Laoo","Lao"],["Latn","Latin"],["Lepc","Lepcha"],["Limb","Limbu"],["Lina","Linear_A"],["Linb","Linear_B"],["Lisu","Lisu"],["Lyci","Lycian"],["Lydi","Lydian"],["Mahj","Mahajani"],["Maka","Makasar"],["Mand","Mandaic"],["Mani","Manichaean"],["Marc","Marchen"],["Medf","Medefaidrin"],["Mend","Mende_Kikakui"],["Merc","Meroitic_Cursive"],["Mero","Meroitic_Hieroglyphs"],["Mlym","Malayalam"],["Modi","Modi"],["Mong","Mongolian"],["Mroo","Mro"],["Mtei","Meetei_Mayek"],["Mult","Multani"],["Mymr","Myanmar"],["Nagm","Nag_Mundari"],["Nand","Nandinagari"],["Narb","Old_North_Arabian"],["Nbat","Nabataean"],["Newa","Newa"],["Nkoo","Nko"],["Nshu","Nushu"],["Ogam","Ogham"],["Olck","Ol_Chiki"],["Orkh","Old_Turkic"],["Orya","Oriya"],["Osge","Osage"],["Osma","Osmanya"],["Ougr","Old_Uyghur"],["Palm","Palmyrene"],["Pauc","Pau_Cin_Hau"],["Perm","Old_Permic"],["Phag","Phags_Pa"],["Phli","Inscriptional_Pahlavi"],["Phlp","Psalter_Pahlavi"],["Phnx","Phoenician"],["Plrd","Miao"],["Prti","Inscriptional_Parthian"],["Rjng","Rejang"],["Rohg","Hanifi_Rohingya"],["Runr","Runic"],["Samr","Samaritan"],["Sarb","Old_South_Arabian"],["Saur","Saurashtra"],["Sgnw","SignWriting"],["Shaw","Shavian"],["Shrd","Sharada"],["Sidd","Siddham"],["Sind","Khudawadi"],["Sinh","Sinhala"],["Sogd","Sogdian"],["Sogo","Old_Sogdian"],["Sora","Sora_Sompeng"],["Soyo","Soyombo"],["Sund","Sundanese"],["Sylo","Syloti_Nagri"],["Syrc","Syriac"],["Tagb","Tagbanwa"],["Takr","Takri"],["Tale","Tai_Le"],["Talu","New_Tai_Lue"],["Taml","Tamil"],["Tang","Tangut"],["Tavt","Tai_Viet"],["Telu","Telugu"],["Tfng","Tifinagh"],["Tglg","Tagalog"],["Thaa","Thaana"],["Thai","Thai"],["Tibt","Tibetan"],["Tirh","Tirhuta"],["Tnsa","Tangsa"],["Toto","Toto"],["Ugar","Ugaritic"],["Vaii","Vai"],["Vith","Vithkuqi"],["Wara","Warang_Citi"],["Wcho","Wancho"],["Xpeo","Old_Persian"],["Xsux","Cuneiform"],["Yezi","Yezidi"],["Yiii","Yi"],["Zanb","Zanabazar_Square"],["Zinh","Inherited"],["Qaai","Inherited"],["Zyyy","Common"],["Zzzz","Unknown"],["Adlam","Adlam"],["Caucasian_Albanian","Caucasian_Albanian"],["Arabic","Arabic"],["Imperial_Aramaic","Imperial_Aramaic"],["Armenian","Armenian"],["Avestan","Avestan"],["Balinese","Balinese"],["Bamum","Bamum"],["Bassa_Vah","Bassa_Vah"],["Batak","Batak"],["Bengali","Bengali"],["Bhaiksuki","Bhaiksuki"],["Bopomofo","Bopomofo"],["Brahmi","Brahmi"],["Braille","Braille"],["Buginese","Buginese"],["Buhid","Buhid"],["Chakma","Chakma"],["Canadian_Aboriginal","Canadian_Aboriginal"],["Carian","Carian"],["Cherokee","Cherokee"],["Chorasmian","Chorasmian"],["Coptic","Coptic"],["Cypro_Minoan","Cypro_Minoan"],["Cypriot","Cypriot"],["Cyrillic","Cyrillic"],["Devanagari","Devanagari"],["Dives_Akuru","Dives_Akuru"],["Dogra","Dogra"],["Deseret","Deseret"],["Duployan","Duployan"],["Egyptian_Hieroglyphs","Egyptian_Hieroglyphs"],["Elbasan","Elbasan"],["Elymaic","Elymaic"],["Ethiopic","Ethiopic"],["Georgian","Georgian"],["Glagolitic","Glagolitic"],["Gunjala_Gondi","Gunjala_Gondi"],["Masaram_Gondi","Masaram_Gondi"],["Gothic","Gothic"],["Grantha","Grantha"],["Greek","Greek"],["Gujarati","Gujarati"],["Gurmukhi","Gurmukhi"],["Hangul","Hangul"],["Han","Han"],["Hanunoo","Hanunoo"],["Hatran","Hatran"],["Hebrew","Hebrew"],["Hiragana","Hiragana"],["Anatolian_Hieroglyphs","Anatolian_Hieroglyphs"],["Pahawh_Hmong","Pahawh_Hmong"],["Nyiakeng_Puachue_Hmong","Nyiakeng_Puachue_Hmong"],["Katakana_Or_Hiragana","Katakana_Or_Hiragana"],["Old_Hungarian","Old_Hungarian"],["Old_Italic","Old_Italic"],["Javanese","Javanese"],["Kayah_Li","Kayah_Li"],["Katakana","Katakana"],["Kharoshthi","Kharoshthi"],["Khmer","Khmer"],["Khojki","Khojki"],["Khitan_Small_Script","Khitan_Small_Script"],["Kannada","Kannada"],["Kaithi","Kaithi"],["Tai_Tham","Tai_Tham"],["Lao","Lao"],["Latin","Latin"],["Lepcha","Lepcha"],["Limbu","Limbu"],["Linear_A","Linear_A"],["Linear_B","Linear_B"],["Lycian","Lycian"],["Lydian","Lydian"],["Mahajani","Mahajani"],["Makasar","Makasar"],["Mandaic","Mandaic"],["Manichaean","Manichaean"],["Marchen","Marchen"],["Medefaidrin","Medefaidrin"],["Mende_Kikakui","Mende_Kikakui"],["Meroitic_Cursive","Meroitic_Cursive"],["Meroitic_Hieroglyphs","Meroitic_Hieroglyphs"],["Malayalam","Malayalam"],["Mongolian","Mongolian"],["Mro","Mro"],["Meetei_Mayek","Meetei_Mayek"],["Multani","Multani"],["Myanmar","Myanmar"],["Nag_Mundari","Nag_Mundari"],["Nandinagari","Nandinagari"],["Old_North_Arabian","Old_North_Arabian"],["Nabataean","Nabataean"],["Nko","Nko"],["Nushu","Nushu"],["Ogham","Ogham"],["Ol_Chiki","Ol_Chiki"],["Old_Turkic","Old_Turkic"],["Oriya","Oriya"],["Osage","Osage"],["Osmanya","Osmanya"],["Old_Uyghur","Old_Uyghur"],["Palmyrene","Palmyrene"],["Pau_Cin_Hau","Pau_Cin_Hau"],["Old_Permic","Old_Permic"],["Phags_Pa","Phags_Pa"],["Inscriptional_Pahlavi","Inscriptional_Pahlavi"],["Psalter_Pahlavi","Psalter_Pahlavi"],["Phoenician","Phoenician"],["Miao","Miao"],["Inscriptional_Parthian","Inscriptional_Parthian"],["Rejang","Rejang"],["Hanifi_Rohingya","Hanifi_Rohingya"],["Runic","Runic"],["Samaritan","Samaritan"],["Old_South_Arabian","Old_South_Arabian"],["Saurashtra","Saurashtra"],["SignWriting","SignWriting"],["Shavian","Shavian"],["Sharada","Sharada"],["Siddham","Siddham"],["Khudawadi","Khudawadi"],["Sinhala","Sinhala"],["Sogdian","Sogdian"],["Old_Sogdian","Old_Sogdian"],["Sora_Sompeng","Sora_Sompeng"],["Soyombo","Soyombo"],["Sundanese","Sundanese"],["Syloti_Nagri","Syloti_Nagri"],["Syriac","Syriac"],["Tagbanwa","Tagbanwa"],["Takri","Takri"],["Tai_Le","Tai_Le"],["New_Tai_Lue","New_Tai_Lue"],["Tamil","Tamil"],["Tangut","Tangut"],["Tai_Viet","Tai_Viet"],["Telugu","Telugu"],["Tifinagh","Tifinagh"],["Tagalog","Tagalog"],["Thaana","Thaana"],["Tibetan","Tibetan"],["Tirhuta","Tirhuta"],["Tangsa","Tangsa"],["Ugaritic","Ugaritic"],["Vai","Vai"],["Vithkuqi","Vithkuqi"],["Warang_Citi","Warang_Citi"],["Wancho","Wancho"],["Old_Persian","Old_Persian"],["Cuneiform","Cuneiform"],["Yezidi","Yezidi"],["Yi","Yi"],["Zanabazar_Square","Zanabazar_Square"],["Inherited","Inherited"],["Common","Common"],["Unknown","Unknown"]])],["Script_Extensions",new Map([["Adlm","Adlam"],["Aghb","Caucasian_Albanian"],["Ahom","Ahom"],["Arab","Arabic"],["Armi","Imperial_Aramaic"],["Armn","Armenian"],["Avst","Avestan"],["Bali","Balinese"],["Bamu","Bamum"],["Bass","Bassa_Vah"],["Batk","Batak"],["Beng","Bengali"],["Bhks","Bhaiksuki"],["Bopo","Bopomofo"],["Brah","Brahmi"],["Brai","Braille"],["Bugi","Buginese"],["Buhd","Buhid"],["Cakm","Chakma"],["Cans","Canadian_Aboriginal"],["Cari","Carian"],["Cham","Cham"],["Cher","Cherokee"],["Chrs","Chorasmian"],["Copt","Coptic"],["Qaac","Coptic"],["Cpmn","Cypro_Minoan"],["Cprt","Cypriot"],["Cyrl","Cyrillic"],["Deva","Devanagari"],["Diak","Dives_Akuru"],["Dogr","Dogra"],["Dsrt","Deseret"],["Dupl","Duployan"],["Egyp","Egyptian_Hieroglyphs"],["Elba","Elbasan"],["Elym","Elymaic"],["Ethi","Ethiopic"],["Geor","Georgian"],["Glag","Glagolitic"],["Gong","Gunjala_Gondi"],["Gonm","Masaram_Gondi"],["Goth","Gothic"],["Gran","Grantha"],["Grek","Greek"],["Gujr","Gujarati"],["Guru","Gurmukhi"],["Hang","Hangul"],["Hani","Han"],["Hano","Hanunoo"],["Hatr","Hatran"],["Hebr","Hebrew"],["Hira","Hiragana"],["Hluw","Anatolian_Hieroglyphs"],["Hmng","Pahawh_Hmong"],["Hmnp","Nyiakeng_Puachue_Hmong"],["Hrkt","Katakana_Or_Hiragana"],["Hung","Old_Hungarian"],["Ital","Old_Italic"],["Java","Javanese"],["Kali","Kayah_Li"],["Kana","Katakana"],["Kawi","Kawi"],["Khar","Kharoshthi"],["Khmr","Khmer"],["Khoj","Khojki"],["Kits","Khitan_Small_Script"],["Knda","Kannada"],["Kthi","Kaithi"],["Lana","Tai_Tham"],["Laoo","Lao"],["Latn","Latin"],["Lepc","Lepcha"],["Limb","Limbu"],["Lina","Linear_A"],["Linb","Linear_B"],["Lisu","Lisu"],["Lyci","Lycian"],["Lydi","Lydian"],["Mahj","Mahajani"],["Maka","Makasar"],["Mand","Mandaic"],["Mani","Manichaean"],["Marc","Marchen"],["Medf","Medefaidrin"],["Mend","Mende_Kikakui"],["Merc","Meroitic_Cursive"],["Mero","Meroitic_Hieroglyphs"],["Mlym","Malayalam"],["Modi","Modi"],["Mong","Mongolian"],["Mroo","Mro"],["Mtei","Meetei_Mayek"],["Mult","Multani"],["Mymr","Myanmar"],["Nagm","Nag_Mundari"],["Nand","Nandinagari"],["Narb","Old_North_Arabian"],["Nbat","Nabataean"],["Newa","Newa"],["Nkoo","Nko"],["Nshu","Nushu"],["Ogam","Ogham"],["Olck","Ol_Chiki"],["Orkh","Old_Turkic"],["Orya","Oriya"],["Osge","Osage"],["Osma","Osmanya"],["Ougr","Old_Uyghur"],["Palm","Palmyrene"],["Pauc","Pau_Cin_Hau"],["Perm","Old_Permic"],["Phag","Phags_Pa"],["Phli","Inscriptional_Pahlavi"],["Phlp","Psalter_Pahlavi"],["Phnx","Phoenician"],["Plrd","Miao"],["Prti","Inscriptional_Parthian"],["Rjng","Rejang"],["Rohg","Hanifi_Rohingya"],["Runr","Runic"],["Samr","Samaritan"],["Sarb","Old_South_Arabian"],["Saur","Saurashtra"],["Sgnw","SignWriting"],["Shaw","Shavian"],["Shrd","Sharada"],["Sidd","Siddham"],["Sind","Khudawadi"],["Sinh","Sinhala"],["Sogd","Sogdian"],["Sogo","Old_Sogdian"],["Sora","Sora_Sompeng"],["Soyo","Soyombo"],["Sund","Sundanese"],["Sylo","Syloti_Nagri"],["Syrc","Syriac"],["Tagb","Tagbanwa"],["Takr","Takri"],["Tale","Tai_Le"],["Talu","New_Tai_Lue"],["Taml","Tamil"],["Tang","Tangut"],["Tavt","Tai_Viet"],["Telu","Telugu"],["Tfng","Tifinagh"],["Tglg","Tagalog"],["Thaa","Thaana"],["Thai","Thai"],["Tibt","Tibetan"],["Tirh","Tirhuta"],["Tnsa","Tangsa"],["Toto","Toto"],["Ugar","Ugaritic"],["Vaii","Vai"],["Vith","Vithkuqi"],["Wara","Warang_Citi"],["Wcho","Wancho"],["Xpeo","Old_Persian"],["Xsux","Cuneiform"],["Yezi","Yezidi"],["Yiii","Yi"],["Zanb","Zanabazar_Square"],["Zinh","Inherited"],["Qaai","Inherited"],["Zyyy","Common"],["Zzzz","Unknown"],["Adlam","Adlam"],["Caucasian_Albanian","Caucasian_Albanian"],["Arabic","Arabic"],["Imperial_Aramaic","Imperial_Aramaic"],["Armenian","Armenian"],["Avestan","Avestan"],["Balinese","Balinese"],["Bamum","Bamum"],["Bassa_Vah","Bassa_Vah"],["Batak","Batak"],["Bengali","Bengali"],["Bhaiksuki","Bhaiksuki"],["Bopomofo","Bopomofo"],["Brahmi","Brahmi"],["Braille","Braille"],["Buginese","Buginese"],["Buhid","Buhid"],["Chakma","Chakma"],["Canadian_Aboriginal","Canadian_Aboriginal"],["Carian","Carian"],["Cherokee","Cherokee"],["Chorasmian","Chorasmian"],["Coptic","Coptic"],["Cypro_Minoan","Cypro_Minoan"],["Cypriot","Cypriot"],["Cyrillic","Cyrillic"],["Devanagari","Devanagari"],["Dives_Akuru","Dives_Akuru"],["Dogra","Dogra"],["Deseret","Deseret"],["Duployan","Duployan"],["Egyptian_Hieroglyphs","Egyptian_Hieroglyphs"],["Elbasan","Elbasan"],["Elymaic","Elymaic"],["Ethiopic","Ethiopic"],["Georgian","Georgian"],["Glagolitic","Glagolitic"],["Gunjala_Gondi","Gunjala_Gondi"],["Masaram_Gondi","Masaram_Gondi"],["Gothic","Gothic"],["Grantha","Grantha"],["Greek","Greek"],["Gujarati","Gujarati"],["Gurmukhi","Gurmukhi"],["Hangul","Hangul"],["Han","Han"],["Hanunoo","Hanunoo"],["Hatran","Hatran"],["Hebrew","Hebrew"],["Hiragana","Hiragana"],["Anatolian_Hieroglyphs","Anatolian_Hieroglyphs"],["Pahawh_Hmong","Pahawh_Hmong"],["Nyiakeng_Puachue_Hmong","Nyiakeng_Puachue_Hmong"],["Katakana_Or_Hiragana","Katakana_Or_Hiragana"],["Old_Hungarian","Old_Hungarian"],["Old_Italic","Old_Italic"],["Javanese","Javanese"],["Kayah_Li","Kayah_Li"],["Katakana","Katakana"],["Kharoshthi","Kharoshthi"],["Khmer","Khmer"],["Khojki","Khojki"],["Khitan_Small_Script","Khitan_Small_Script"],["Kannada","Kannada"],["Kaithi","Kaithi"],["Tai_Tham","Tai_Tham"],["Lao","Lao"],["Latin","Latin"],["Lepcha","Lepcha"],["Limbu","Limbu"],["Linear_A","Linear_A"],["Linear_B","Linear_B"],["Lycian","Lycian"],["Lydian","Lydian"],["Mahajani","Mahajani"],["Makasar","Makasar"],["Mandaic","Mandaic"],["Manichaean","Manichaean"],["Marchen","Marchen"],["Medefaidrin","Medefaidrin"],["Mende_Kikakui","Mende_Kikakui"],["Meroitic_Cursive","Meroitic_Cursive"],["Meroitic_Hieroglyphs","Meroitic_Hieroglyphs"],["Malayalam","Malayalam"],["Mongolian","Mongolian"],["Mro","Mro"],["Meetei_Mayek","Meetei_Mayek"],["Multani","Multani"],["Myanmar","Myanmar"],["Nag_Mundari","Nag_Mundari"],["Nandinagari","Nandinagari"],["Old_North_Arabian","Old_North_Arabian"],["Nabataean","Nabataean"],["Nko","Nko"],["Nushu","Nushu"],["Ogham","Ogham"],["Ol_Chiki","Ol_Chiki"],["Old_Turkic","Old_Turkic"],["Oriya","Oriya"],["Osage","Osage"],["Osmanya","Osmanya"],["Old_Uyghur","Old_Uyghur"],["Palmyrene","Palmyrene"],["Pau_Cin_Hau","Pau_Cin_Hau"],["Old_Permic","Old_Permic"],["Phags_Pa","Phags_Pa"],["Inscriptional_Pahlavi","Inscriptional_Pahlavi"],["Psalter_Pahlavi","Psalter_Pahlavi"],["Phoenician","Phoenician"],["Miao","Miao"],["Inscriptional_Parthian","Inscriptional_Parthian"],["Rejang","Rejang"],["Hanifi_Rohingya","Hanifi_Rohingya"],["Runic","Runic"],["Samaritan","Samaritan"],["Old_South_Arabian","Old_South_Arabian"],["Saurashtra","Saurashtra"],["SignWriting","SignWriting"],["Shavian","Shavian"],["Sharada","Sharada"],["Siddham","Siddham"],["Khudawadi","Khudawadi"],["Sinhala","Sinhala"],["Sogdian","Sogdian"],["Old_Sogdian","Old_Sogdian"],["Sora_Sompeng","Sora_Sompeng"],["Soyombo","Soyombo"],["Sundanese","Sundanese"],["Syloti_Nagri","Syloti_Nagri"],["Syriac","Syriac"],["Tagbanwa","Tagbanwa"],["Takri","Takri"],["Tai_Le","Tai_Le"],["New_Tai_Lue","New_Tai_Lue"],["Tamil","Tamil"],["Tangut","Tangut"],["Tai_Viet","Tai_Viet"],["Telugu","Telugu"],["Tifinagh","Tifinagh"],["Tagalog","Tagalog"],["Thaana","Thaana"],["Tibetan","Tibetan"],["Tirhuta","Tirhuta"],["Tangsa","Tangsa"],["Ugaritic","Ugaritic"],["Vai","Vai"],["Vithkuqi","Vithkuqi"],["Warang_Citi","Warang_Citi"],["Wancho","Wancho"],["Old_Persian","Old_Persian"],["Cuneiform","Cuneiform"],["Yezidi","Yezidi"],["Yi","Yi"],["Zanabazar_Square","Zanabazar_Square"],["Inherited","Inherited"],["Common","Common"],["Unknown","Unknown"]])]])},73276:(e,t,n)=>{"use strict";const a=n(44973);e.exports=function(e,t){const n=a.get(e);if(!n)throw new Error(`Unknown property \`${e}\`.`);const r=n.get(t);if(r)return r;throw new Error(`Unknown value \`${t}\` for property \`${e}\`.`)}},84855:e=>{e.exports=new Map([["scx","Script_Extensions"],["sc","Script"],["gc","General_Category"],["AHex","ASCII_Hex_Digit"],["Alpha","Alphabetic"],["Bidi_C","Bidi_Control"],["Bidi_M","Bidi_Mirrored"],["Cased","Cased"],["CI","Case_Ignorable"],["CWCF","Changes_When_Casefolded"],["CWCM","Changes_When_Casemapped"],["CWKCF","Changes_When_NFKC_Casefolded"],["CWL","Changes_When_Lowercased"],["CWT","Changes_When_Titlecased"],["CWU","Changes_When_Uppercased"],["Dash","Dash"],["Dep","Deprecated"],["DI","Default_Ignorable_Code_Point"],["Dia","Diacritic"],["EBase","Emoji_Modifier_Base"],["EComp","Emoji_Component"],["EMod","Emoji_Modifier"],["Emoji","Emoji"],["EPres","Emoji_Presentation"],["Ext","Extender"],["ExtPict","Extended_Pictographic"],["Gr_Base","Grapheme_Base"],["Gr_Ext","Grapheme_Extend"],["Hex","Hex_Digit"],["IDC","ID_Continue"],["Ideo","Ideographic"],["IDS","ID_Start"],["IDSB","IDS_Binary_Operator"],["IDST","IDS_Trinary_Operator"],["Join_C","Join_Control"],["LOE","Logical_Order_Exception"],["Lower","Lowercase"],["Math","Math"],["NChar","Noncharacter_Code_Point"],["Pat_Syn","Pattern_Syntax"],["Pat_WS","Pattern_White_Space"],["QMark","Quotation_Mark"],["Radical","Radical"],["RI","Regional_Indicator"],["SD","Soft_Dotted"],["STerm","Sentence_Terminal"],["Term","Terminal_Punctuation"],["UIdeo","Unified_Ideograph"],["Upper","Uppercase"],["VS","Variation_Selector"],["WSpace","White_Space"],["space","White_Space"],["XIDC","XID_Continue"],["XIDS","XID_Start"]])},48145:e=>{"use strict";function t(e){if(null==e)return n;if("string"==typeof e)return function(e){return t;function t(t){return Boolean(t&&t.type===e)}}(e);if("object"==typeof e)return"length"in e?function(e){var n=[],a=-1;for(;++a<e.length;)n[a]=t(e[a]);return r;function r(){for(var e=-1;++e<n.length;)if(n[e].apply(this,arguments))return!0;return!1}}(e):function(e){return t;function t(t){var n;for(n in e)if(t[n]!==e[n])return!1;return!0}}(e);if("function"==typeof e)return e;throw new Error("Expected function, string, or object as test")}function n(){return!0}e.exports=t},62854:(e,t,n)=>{"use strict";e.exports=o;var a=n(49858),r=a.CONTINUE,i=a.SKIP,s=a.EXIT;function o(e,t,n,r){"function"==typeof t&&"function"!=typeof n&&(r=n,n=t,t=null),a(e,t,(function(e,t){var a=t[t.length-1],r=a?a.children.indexOf(e):null;return n(e,r,a)}),r)}o.CONTINUE=r,o.SKIP=i,o.EXIT=s},29824:e=>{e.exports=function(e){return e}},49858:(e,t,n)=>{"use strict";e.exports=d;var a=n(48145),r=n(29824),i=!0,s="skip",o=!1;function d(e,t,n,d){var l,c;"function"==typeof t&&"function"!=typeof n&&(d=n,n=t,t=null),c=a(t),l=d?-1:1,function e(a,u,h){var g,p="object"==typeof a&&null!==a?a:{};"string"==typeof p.type&&(g="string"==typeof p.tagName?p.tagName:"string"==typeof p.name?p.name:void 0,f.displayName="node ("+r(p.type+(g?"<"+g+">":""))+")");return f;function f(){var r,g,p=h.concat(a),f=[];if((!t||c(a,u,h[h.length-1]||null))&&(f=function(e){if(null!==e&&"object"==typeof e&&"length"in e)return e;if("number"==typeof e)return[i,e];return[e]}(n(a,h)),f[0]===o))return f;if(a.children&&f[0]!==s)for(g=(d?a.children.length:-1)+l;g>-1&&g<a.children.length;){if((r=e(a.children[g],g,p)())[0]===o)return r;g="number"==typeof r[1]?r[1]:g+l}return f}}(e,null,[])()}d.CONTINUE=true,d.SKIP=s,d.EXIT=o},42473:e=>{"use strict";var t=function(){};e.exports=t},80865:(e,t,n)=>{"use strict";n.r(t),n.d(t,{compile:()=>qs,compileSync:()=>Gs});var a={};n.r(a),n.d(a,{attentionMarkers:()=>Na,contentInitial:()=>Ta,disable:()=>Ba,document:()=>Aa,flow:()=>La,flowInitial:()=>Da,insideSpan:()=>Oa,string:()=>Ia,text:()=>Fa});var r={};function i(e){if(e)throw e}n.r(r),n.d(r,{boolean:()=>Ei,booleanish:()=>Si,commaOrSpaceSeparated:()=>Ii,commaSeparated:()=>Li,number:()=>Ti,overloadedBoolean:()=>Ai,spaceSeparated:()=>Di});var s=n(48738),o=n(94470);function d(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)}function l(){const e=[],t={run:function(...t){let n=-1;const a=t.pop();if("function"!=typeof a)throw new TypeError("Expected function as last argument, not "+a);!function r(i,...s){const o=e[++n];let d=-1;if(i)a(i);else{for(;++d<t.length;)null!==s[d]&&void 0!==s[d]||(s[d]=t[d]);t=s,o?function(e,t){let n;return a;function a(...t){const a=e.length>t.length;let o;a&&t.push(r);try{o=e.apply(this,t)}catch(i){if(a&&n)throw i;return r(i)}a||(o instanceof Promise?o.then(s,r):o instanceof Error?r(o):s(o))}function r(e,...a){n||(n=!0,t(e,...a))}function s(e){r(null,e)}}(o,r)(...s):a(null,...s)}}(null,...t)},use:function(n){if("function"!=typeof n)throw new TypeError("Expected `middelware` to be a function, not "+n);return e.push(n),t}};return t}function c(e){return e&&"object"==typeof e?"position"in e||"type"in e?h(e.position):"start"in e||"end"in e?h(e):"line"in e||"column"in e?u(e):"":""}function u(e){return g(e&&e.line)+":"+g(e&&e.column)}function h(e){return u(e&&e.start)+"-"+u(e&&e.end)}function g(e){return e&&"number"==typeof e?e:1}class p extends Error{constructor(e,t,n){const a=[null,null];let r={start:{line:null,column:null},end:{line:null,column:null}};if(super(),"string"==typeof t&&(n=t,t=void 0),"string"==typeof n){const e=n.indexOf(":");-1===e?a[1]=n:(a[0]=n.slice(0,e),a[1]=n.slice(e+1))}t&&("type"in t||"position"in t?t.position&&(r=t.position):"start"in t||"end"in t?r=t:("line"in t||"column"in t)&&(r.start=t)),this.name=c(t)||"1:1",this.message="object"==typeof e?e.message:e,this.stack="","object"==typeof e&&e.stack&&(this.stack=e.stack),this.reason=this.message,this.fatal,this.line=r.start.line,this.column=r.start.column,this.position=r,this.source=a[0],this.ruleId=a[1],this.file,this.actual,this.expected,this.url,this.note}}p.prototype.file="",p.prototype.name="",p.prototype.reason="",p.prototype.message="",p.prototype.stack="",p.prototype.fatal=null,p.prototype.column=null,p.prototype.line=null,p.prototype.source=null,p.prototype.ruleId=null,p.prototype.position=null;const f={basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');m(e);let n,a=0,r=-1,i=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;i--;)if(47===e.charCodeAt(i)){if(n){a=i+1;break}}else r<0&&(n=!0,r=i+1);return r<0?"":e.slice(a,r)}if(t===e)return"";let s=-1,o=t.length-1;for(;i--;)if(47===e.charCodeAt(i)){if(n){a=i+1;break}}else s<0&&(n=!0,s=i+1),o>-1&&(e.charCodeAt(i)===t.charCodeAt(o--)?o<0&&(r=i):(o=-1,r=s));a===r?r=s:r<0&&(r=e.length);return e.slice(a,r)},dirname:function(e){if(m(e),0===e.length)return".";let t,n=-1,a=e.length;for(;--a;)if(47===e.charCodeAt(a)){if(t){n=a;break}}else t||(t=!0);return n<0?47===e.charCodeAt(0)?"/":".":1===n&&47===e.charCodeAt(0)?"//":e.slice(0,n)},extname:function(e){m(e);let t,n=e.length,a=-1,r=0,i=-1,s=0;for(;n--;){const o=e.charCodeAt(n);if(47!==o)a<0&&(t=!0,a=n+1),46===o?i<0?i=n:1!==s&&(s=1):i>-1&&(s=-1);else if(t){r=n+1;break}}if(i<0||a<0||0===s||1===s&&i===a-1&&i===r+1)return"";return e.slice(i,a)},join:function(...e){let t,n=-1;for(;++n<e.length;)m(e[n]),e[n]&&(t=void 0===t?e[n]:t+"/"+e[n]);return void 0===t?".":function(e){m(e);const t=47===e.charCodeAt(0);let n=function(e,t){let n,a,r="",i=0,s=-1,o=0,d=-1;for(;++d<=e.length;){if(d<e.length)n=e.charCodeAt(d);else{if(47===n)break;n=47}if(47===n){if(s===d-1||1===o);else if(s!==d-1&&2===o){if(r.length<2||2!==i||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){if(a=r.lastIndexOf("/"),a!==r.length-1){a<0?(r="",i=0):(r=r.slice(0,a),i=r.length-1-r.lastIndexOf("/")),s=d,o=0;continue}}else if(r.length>0){r="",i=0,s=d,o=0;continue}t&&(r=r.length>0?r+"/..":"..",i=2)}else r.length>0?r+="/"+e.slice(s+1,d):r=e.slice(s+1,d),i=d-s-1;s=d,o=0}else 46===n&&o>-1?o++:o=-1}return r}(e,!t);0!==n.length||t||(n=".");n.length>0&&47===e.charCodeAt(e.length-1)&&(n+="/");return t?"/"+n:n}(t)},sep:"/"};function m(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const R={cwd:function(){return"/"}};function y(e){return null!==e&&"object"==typeof e&&e.href&&e.origin}function b(e){if("string"==typeof e)e=new URL(e);else if(!y(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return function(e){if(""!==e.hostname){const e=new TypeError('File URL host must be "localhost" or empty on darwin');throw e.code="ERR_INVALID_FILE_URL_HOST",e}const t=e.pathname;let n=-1;for(;++n<t.length;)if(37===t.charCodeAt(n)&&50===t.charCodeAt(n+1)){const e=t.charCodeAt(n+2);if(70===e||102===e){const e=new TypeError("File URL path must not include encoded / characters");throw e.code="ERR_INVALID_FILE_URL_PATH",e}}return decodeURIComponent(t)}(e)}const x=["history","path","basename","stem","extname","dirname"];class v{constructor(e){let t;t=e?"string"==typeof e||s(e)?{value:e}:y(e)?{path:e}:e:{},this.data={},this.messages=[],this.history=[],this.cwd=R.cwd(),this.value,this.stored,this.result,this.map;let n,a=-1;for(;++a<x.length;){const e=x[a];e in t&&void 0!==t[e]&&(this[e]="history"===e?[...t[e]]:t[e])}for(n in t)x.includes(n)||(this[n]=t[n])}get path(){return this.history[this.history.length-1]}set path(e){y(e)&&(e=b(e)),k(e,"path"),this.path!==e&&this.history.push(e)}get dirname(){return"string"==typeof this.path?f.dirname(this.path):void 0}set dirname(e){C(this.basename,"dirname"),this.path=f.join(e||"",this.basename)}get basename(){return"string"==typeof this.path?f.basename(this.path):void 0}set basename(e){k(e,"basename"),_(e,"basename"),this.path=f.join(this.dirname||"",e)}get extname(){return"string"==typeof this.path?f.extname(this.path):void 0}set extname(e){if(_(e,"extname"),C(this.dirname,"extname"),e){if(46!==e.charCodeAt(0))throw new Error("`extname` must start with `.`");if(e.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=f.join(this.dirname,this.stem+(e||""))}get stem(){return"string"==typeof this.path?f.basename(this.path,this.extname):void 0}set stem(e){k(e,"stem"),_(e,"stem"),this.path=f.join(this.dirname||"",e+(this.extname||""))}toString(e){return(this.value||"").toString(e)}message(e,t,n){const a=new p(e,t,n);return this.path&&(a.name=this.path+":"+a.name,a.file=this.path),a.fatal=!1,this.messages.push(a),a}info(e,t,n){const a=this.message(e,t,n);return a.fatal=null,a}fail(e,t,n){const a=this.message(e,t,n);throw a.fatal=!0,a}}function _(e,t){if(e&&e.includes(f.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+f.sep+"`")}function k(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function C(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}const w=function e(){const t=l(),n=[];let a,r={},c=-1;return u.data=function(e,t){if("string"==typeof e)return 2===arguments.length?(D("data",a),r[e]=t,u):E.call(r,e)&&r[e]||null;if(e)return D("data",a),r=e,u;return r},u.Parser=void 0,u.Compiler=void 0,u.freeze=function(){if(a)return u;for(;++c<n.length;){const[e,...a]=n[c];if(!1===a[0])continue;!0===a[0]&&(a[0]=void 0);const r=e.call(u,...a);"function"==typeof r&&t.use(r)}return a=!0,c=Number.POSITIVE_INFINITY,u},u.attachers=n,u.use=function(e,...t){let i;if(D("use",a),null==e);else if("function"==typeof e)h(e,...t);else{if("object"!=typeof e)throw new TypeError("Expected usable value, not `"+e+"`");Array.isArray(e)?c(e):l(e)}i&&(r.settings=Object.assign(r.settings||{},i));return u;function s(e){if("function"==typeof e)h(e);else{if("object"!=typeof e)throw new TypeError("Expected usable value, not `"+e+"`");if(Array.isArray(e)){const[t,...n]=e;h(t,...n)}else l(e)}}function l(e){c(e.plugins),e.settings&&(i=Object.assign(i||{},e.settings))}function c(e){let t=-1;if(null==e);else{if(!Array.isArray(e))throw new TypeError("Expected a list of plugins, not `"+e+"`");for(;++t<e.length;){s(e[t])}}}function h(e,t){let a,r=-1;for(;++r<n.length;)if(n[r][0]===e){a=n[r];break}a?(d(a[1])&&d(t)&&(t=o(!0,a[1],t)),a[1]=t):n.push([...arguments])}},u.parse=function(e){u.freeze();const t=F(e),n=u.Parser;if(A("parse",n),S(n,"parse"))return new n(String(t),t).parse();return n(String(t),t)},u.stringify=function(e,t){u.freeze();const n=F(t),a=u.Compiler;if(T("stringify",a),L(e),S(a,"compile"))return new a(e,n).compile();return a(e,n)},u.run=function(e,n,a){L(e),u.freeze(),a||"function"!=typeof n||(a=n,n=void 0);if(!a)return new Promise(r);function r(r,i){function s(t,n,s){n=n||e,t?i(t):r?r(n):a(null,n,s)}t.run(e,F(n),s)}r(null,a)},u.runSync=function(e,t){let n,a;return u.run(e,t,r),I("runSync","run",a),n;function r(e,t){i(e),n=t,a=!0}},u.process=function(e,t){if(u.freeze(),A("process",u.Parser),T("process",u.Compiler),!t)return new Promise(n);function n(n,a){const r=F(e);function i(e,r){e||!r?a(e):n?n(r):t(null,r)}u.run(u.parse(r),r,((e,t,n)=>{if(!e&&t&&n){const r=u.stringify(t,n);null==r||("string"==typeof(a=r)||s(a)?n.value=r:n.result=r),i(e,n)}else i(e);var a}))}n(null,t)},u.processSync=function(e){let t;u.freeze(),A("processSync",u.Parser),T("processSync",u.Compiler);const n=F(e);return u.process(n,a),I("processSync","process",t),n;function a(e){t=!0,i(e)}},u;function u(){const t=e();let a=-1;for(;++a<n.length;)t.use(...n[a]);return t.data(o(!0,{},r)),t}}().freeze(),E={}.hasOwnProperty;function S(e,t){return"function"==typeof e&&e.prototype&&(function(e){let t;for(t in e)if(E.call(e,t))return!0;return!1}(e.prototype)||t in e.prototype)}function A(e,t){if("function"!=typeof t)throw new TypeError("Cannot `"+e+"` without `Parser`")}function T(e,t){if("function"!=typeof t)throw new TypeError("Cannot `"+e+"` without `Compiler`")}function D(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function L(e){if(!d(e)||"string"!=typeof e.type)throw new TypeError("Expected node, got `"+e+"`")}function I(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function F(e){return function(e){return Boolean(e&&"object"==typeof e&&"message"in e&&"messages"in e)}(e)?e:new v(e)}var O=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239],N=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938],B="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",M={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},P="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",j={5:P,"5module":P+" export import",6:P+" const class extends export import super"},V=/^in(stanceof)?$/,$=new RegExp("["+B+"]"),U=new RegExp("["+B+"\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]");function z(e,t){for(var n=65536,a=0;a<t.length;a+=2){if((n+=t[a])>e)return!1;if((n+=t[a+1])>=e)return!0}}function H(e,t){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&$.test(String.fromCharCode(e)):!1!==t&&z(e,N)))}function Y(e,t){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&U.test(String.fromCharCode(e)):!1!==t&&(z(e,N)||z(e,O)))))}var W=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function q(e,t){return new W(e,{beforeExpr:!0,binop:t})}var G={beforeExpr:!0},X={startsExpr:!0},J={};function K(e,t){return void 0===t&&(t={}),t.keyword=e,J[e]=new W(e,t)}var Z={num:new W("num",X),regexp:new W("regexp",X),string:new W("string",X),name:new W("name",X),privateId:new W("privateId",X),eof:new W("eof"),bracketL:new W("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new W("]"),braceL:new W("{",{beforeExpr:!0,startsExpr:!0}),braceR:new W("}"),parenL:new W("(",{beforeExpr:!0,startsExpr:!0}),parenR:new W(")"),comma:new W(",",G),semi:new W(";",G),colon:new W(":",G),dot:new W("."),question:new W("?",G),questionDot:new W("?."),arrow:new W("=>",G),template:new W("template"),invalidTemplate:new W("invalidTemplate"),ellipsis:new W("...",G),backQuote:new W("`",X),dollarBraceL:new W("${",{beforeExpr:!0,startsExpr:!0}),eq:new W("=",{beforeExpr:!0,isAssign:!0}),assign:new W("_=",{beforeExpr:!0,isAssign:!0}),incDec:new W("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new W("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:q("||",1),logicalAND:q("&&",2),bitwiseOR:q("|",3),bitwiseXOR:q("^",4),bitwiseAND:q("&",5),equality:q("==/!=/===/!==",6),relational:q("</>/<=/>=",7),bitShift:q("<</>>/>>>",8),plusMin:new W("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:q("%",10),star:q("*",10),slash:q("/",10),starstar:new W("**",{beforeExpr:!0}),coalesce:q("??",1),_break:K("break"),_case:K("case",G),_catch:K("catch"),_continue:K("continue"),_debugger:K("debugger"),_default:K("default",G),_do:K("do",{isLoop:!0,beforeExpr:!0}),_else:K("else",G),_finally:K("finally"),_for:K("for",{isLoop:!0}),_function:K("function",X),_if:K("if"),_return:K("return",G),_switch:K("switch"),_throw:K("throw",G),_try:K("try"),_var:K("var"),_const:K("const"),_while:K("while",{isLoop:!0}),_with:K("with"),_new:K("new",{beforeExpr:!0,startsExpr:!0}),_this:K("this",X),_super:K("super",X),_class:K("class",X),_extends:K("extends",G),_export:K("export"),_import:K("import",X),_null:K("null",X),_true:K("true",X),_false:K("false",X),_in:K("in",{beforeExpr:!0,binop:7}),_instanceof:K("instanceof",{beforeExpr:!0,binop:7}),_typeof:K("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:K("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:K("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},Q=/\r\n?|\n|\u2028|\u2029/,ee=new RegExp(Q.source,"g");function te(e){return 10===e||13===e||8232===e||8233===e}function ne(e,t,n){void 0===n&&(n=e.length);for(var a=t;a<n;a++){var r=e.charCodeAt(a);if(te(r))return a<n-1&&13===r&&10===e.charCodeAt(a+1)?a+2:a+1}return-1}var ae=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,re=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,ie=Object.prototype,se=ie.hasOwnProperty,oe=ie.toString,de=Object.hasOwn||function(e,t){return se.call(e,t)},le=Array.isArray||function(e){return"[object Array]"===oe.call(e)};function ce(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}function ue(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}var he=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,ge=function(e,t){this.line=e,this.column=t};ge.prototype.offset=function(e){return new ge(this.line,this.column+e)};var pe=function(e,t,n){this.start=t,this.end=n,null!==e.sourceFile&&(this.source=e.sourceFile)};function fe(e,t){for(var n=1,a=0;;){var r=ne(e,a,t);if(r<0)return new ge(n,t-a);++n,a=r}}var me={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},Re=!1;function ye(e){var t={};for(var n in me)t[n]=e&&de(e,n)?e[n]:me[n];if("latest"===t.ecmaVersion?t.ecmaVersion=1e8:null==t.ecmaVersion?(!Re&&"object"==typeof console&&console.warn&&(Re=!0,console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),null==e.allowHashBang&&(t.allowHashBang=t.ecmaVersion>=14),le(t.onToken)){var a=t.onToken;t.onToken=function(e){return a.push(e)}}return le(t.onComment)&&(t.onComment=function(e,t){return function(n,a,r,i,s,o){var d={type:n?"Block":"Line",value:a,start:r,end:i};e.locations&&(d.loc=new pe(this,s,o)),e.ranges&&(d.range=[r,i]),t.push(d)}}(t,t.onComment)),t}var be=256;function xe(e,t){return 2|(e?4:0)|(t?8:0)}var ve=function(e,t,n){this.options=e=ye(e),this.sourceFile=e.sourceFile,this.keywords=ce(j[e.ecmaVersion>=6?6:"module"===e.sourceType?"5module":5]);var a="";!0!==e.allowReserved&&(a=M[e.ecmaVersion>=6?6:5===e.ecmaVersion?5:3],"module"===e.sourceType&&(a+=" await")),this.reservedWords=ce(a);var r=(a?a+" ":"")+M.strict;this.reservedWordsStrict=ce(r),this.reservedWordsStrictBind=ce(r+" "+M.strictBind),this.input=String(t),this.containsEsc=!1,n?(this.pos=n,this.lineStart=this.input.lastIndexOf("\n",n-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(Q).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=Z.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null,this.privateNameStack=[]},_e={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};ve.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},_e.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},_e.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},_e.inAsync.get=function(){return(4&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},_e.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&be)return!1;if(2&t.flags)return(4&t.flags)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},_e.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,n=e.inClassFieldInit;return(64&t)>0||n||this.options.allowSuperOutsideMethod},_e.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},_e.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},_e.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,n=e.inClassFieldInit;return(258&t)>0||n},_e.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&be)>0},ve.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var n=this,a=0;a<e.length;a++)n=e[a](n);return n},ve.parse=function(e,t){return new this(t,e).parse()},ve.parseExpressionAt=function(e,t,n){var a=new this(n,e,t);return a.nextToken(),a.parseExpression()},ve.tokenizer=function(e,t){return new this(t,e)},Object.defineProperties(ve.prototype,_e);var ke=ve.prototype,Ce=/^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;ke.strictDirective=function(e){if(this.options.ecmaVersion<5)return!1;for(;;){re.lastIndex=e,e+=re.exec(this.input)[0].length;var t=Ce.exec(this.input.slice(e));if(!t)return!1;if("use strict"===(t[1]||t[2])){re.lastIndex=e+t[0].length;var n=re.exec(this.input),a=n.index+n[0].length,r=this.input.charAt(a);return";"===r||"}"===r||Q.test(n[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(r)||"!"===r&&"="===this.input.charAt(a+1))}e+=t[0].length,re.lastIndex=e,e+=re.exec(this.input)[0].length,";"===this.input[e]&&e++}},ke.eat=function(e){return this.type===e&&(this.next(),!0)},ke.isContextual=function(e){return this.type===Z.name&&this.value===e&&!this.containsEsc},ke.eatContextual=function(e){return!!this.isContextual(e)&&(this.next(),!0)},ke.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},ke.canInsertSemicolon=function(){return this.type===Z.eof||this.type===Z.braceR||Q.test(this.input.slice(this.lastTokEnd,this.start))},ke.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ke.semicolon=function(){this.eat(Z.semi)||this.insertSemicolon()||this.unexpected()},ke.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},ke.expect=function(e){this.eat(e)||this.unexpected()},ke.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")};var we=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};ke.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var n=t?e.parenthesizedAssign:e.parenthesizedBind;n>-1&&this.raiseRecoverable(n,t?"Assigning to rvalue":"Parenthesized pattern")}},ke.checkExpressionErrors=function(e,t){if(!e)return!1;var n=e.shorthandAssign,a=e.doubleProto;if(!t)return n>=0||a>=0;n>=0&&this.raise(n,"Shorthand property assignments are valid only in destructuring patterns"),a>=0&&this.raiseRecoverable(a,"Redefinition of __proto__ property")},ke.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},ke.isSimpleAssignTarget=function(e){return"ParenthesizedExpression"===e.type?this.isSimpleAssignTarget(e.expression):"Identifier"===e.type||"MemberExpression"===e.type};var Ee=ve.prototype;Ee.parseTopLevel=function(e){var t=Object.create(null);for(e.body||(e.body=[]);this.type!==Z.eof;){var n=this.parseStatement(null,!0,t);e.body.push(n)}if(this.inModule)for(var a=0,r=Object.keys(this.undefinedExports);a<r.length;a+=1){var i=r[a];this.raiseRecoverable(this.undefinedExports[i].start,"Export '"+i+"' is not defined")}return this.adaptDirectivePrologue(e.body),this.next(),e.sourceType=this.options.sourceType,this.finishNode(e,"Program")};var Se={kind:"loop"},Ae={kind:"switch"};Ee.isLet=function(e){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;re.lastIndex=this.pos;var t=re.exec(this.input),n=this.pos+t[0].length,a=this.input.charCodeAt(n);if(91===a||92===a||a>55295&&a<56320)return!0;if(e)return!1;if(123===a)return!0;if(H(a,!0)){for(var r=n+1;Y(a=this.input.charCodeAt(r),!0);)++r;if(92===a||a>55295&&a<56320)return!0;var i=this.input.slice(n,r);if(!V.test(i))return!0}return!1},Ee.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;re.lastIndex=this.pos;var e,t=re.exec(this.input),n=this.pos+t[0].length;return!(Q.test(this.input.slice(this.pos,n))||"function"!==this.input.slice(n,n+8)||n+8!==this.input.length&&(Y(e=this.input.charCodeAt(n+8))||e>55295&&e<56320))},Ee.parseStatement=function(e,t,n){var a,r=this.type,i=this.startNode();switch(this.isLet(e)&&(r=Z._var,a="let"),r){case Z._break:case Z._continue:return this.parseBreakContinueStatement(i,r.keyword);case Z._debugger:return this.parseDebuggerStatement(i);case Z._do:return this.parseDoStatement(i);case Z._for:return this.parseForStatement(i);case Z._function:return e&&(this.strict||"if"!==e&&"label"!==e)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i,!1,!e);case Z._class:return e&&this.unexpected(),this.parseClass(i,!0);case Z._if:return this.parseIfStatement(i);case Z._return:return this.parseReturnStatement(i);case Z._switch:return this.parseSwitchStatement(i);case Z._throw:return this.parseThrowStatement(i);case Z._try:return this.parseTryStatement(i);case Z._const:case Z._var:return a=a||this.value,e&&"var"!==a&&this.unexpected(),this.parseVarStatement(i,a);case Z._while:return this.parseWhileStatement(i);case Z._with:return this.parseWithStatement(i);case Z.braceL:return this.parseBlock(!0,i);case Z.semi:return this.parseEmptyStatement(i);case Z._export:case Z._import:if(this.options.ecmaVersion>10&&r===Z._import){re.lastIndex=this.pos;var s=re.exec(this.input),o=this.pos+s[0].length,d=this.input.charCodeAt(o);if(40===d||46===d)return this.parseExpressionStatement(i,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===Z._import?this.parseImport(i):this.parseExport(i,n);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(i,!0,!e);var l=this.value,c=this.parseExpression();return r===Z.name&&"Identifier"===c.type&&this.eat(Z.colon)?this.parseLabeledStatement(i,l,c,e):this.parseExpressionStatement(i,c)}},Ee.parseBreakContinueStatement=function(e,t){var n="break"===t;this.next(),this.eat(Z.semi)||this.insertSemicolon()?e.label=null:this.type!==Z.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var a=0;a<this.labels.length;++a){var r=this.labels[a];if(null==e.label||r.name===e.label.name){if(null!=r.kind&&(n||"loop"===r.kind))break;if(e.label&&n)break}}return a===this.labels.length&&this.raise(e.start,"Unsyntactic "+t),this.finishNode(e,n?"BreakStatement":"ContinueStatement")},Ee.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")},Ee.parseDoStatement=function(e){return this.next(),this.labels.push(Se),e.body=this.parseStatement("do"),this.labels.pop(),this.expect(Z._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(Z.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},Ee.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(Se),this.enterScope(0),this.expect(Z.parenL),this.type===Z.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var n=this.isLet();if(this.type===Z._var||this.type===Z._const||n){var a=this.startNode(),r=n?"let":this.value;return this.next(),this.parseVar(a,!0,r),this.finishNode(a,"VariableDeclaration"),(this.type===Z._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===a.declarations.length?(this.options.ecmaVersion>=9&&(this.type===Z._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,a)):(t>-1&&this.unexpected(t),this.parseFor(e,a))}var i=this.isContextual("let"),s=!1,o=new we,d=this.parseExpression(!(t>-1)||"await",o);return this.type===Z._in||(s=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===Z._in?t>-1&&this.unexpected(t):e.await=t>-1),i&&s&&this.raise(d.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(d,!1,o),this.checkLValPattern(d),this.parseForIn(e,d)):(this.checkExpressionErrors(o,!0),t>-1&&this.unexpected(t),this.parseFor(e,d))},Ee.parseFunctionStatement=function(e,t,n){return this.next(),this.parseFunction(e,De|(n?0:Le),!1,t)},Ee.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(Z._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},Ee.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(Z.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},Ee.parseSwitchStatement=function(e){var t;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(Z.braceL),this.labels.push(Ae),this.enterScope(0);for(var n=!1;this.type!==Z.braceR;)if(this.type===Z._case||this.type===Z._default){var a=this.type===Z._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),a?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),n=!0,t.test=null),this.expect(Z.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},Ee.parseThrowStatement=function(e){return this.next(),Q.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Te=[];Ee.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===Z._catch){var t=this.startNode();if(this.next(),this.eat(Z.parenL)){t.param=this.parseBindingAtom();var n="Identifier"===t.param.type;this.enterScope(n?32:0),this.checkLValPattern(t.param,n?4:2),this.expect(Z.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(Z._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},Ee.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},Ee.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Se),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},Ee.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},Ee.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},Ee.parseLabeledStatement=function(e,t,n,a){for(var r=0,i=this.labels;r<i.length;r+=1){i[r].name===t&&this.raise(n.start,"Label '"+t+"' is already declared")}for(var s=this.type.isLoop?"loop":this.type===Z._switch?"switch":null,o=this.labels.length-1;o>=0;o--){var d=this.labels[o];if(d.statementStart!==e.start)break;d.statementStart=this.start,d.kind=s}return this.labels.push({name:t,kind:s,statementStart:this.start}),e.body=this.parseStatement(a?-1===a.indexOf("label")?a+"label":a:"label"),this.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")},Ee.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},Ee.parseBlock=function(e,t,n){for(void 0===e&&(e=!0),void 0===t&&(t=this.startNode()),t.body=[],this.expect(Z.braceL),e&&this.enterScope(0);this.type!==Z.braceR;){var a=this.parseStatement(null);t.body.push(a)}return n&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},Ee.parseFor=function(e,t){return e.init=t,this.expect(Z.semi),e.test=this.type===Z.semi?null:this.parseExpression(),this.expect(Z.semi),e.update=this.type===Z.parenR?null:this.parseExpression(),this.expect(Z.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},Ee.parseForIn=function(e,t){var n=this.type===Z._in;return this.next(),"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(!n||this.options.ecmaVersion<8||this.strict||"var"!==t.kind||"Identifier"!==t.declarations[0].id.type)&&this.raise(t.start,(n?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssign(),this.expect(Z.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,n?"ForInStatement":"ForOfStatement")},Ee.parseVar=function(e,t,n){for(e.declarations=[],e.kind=n;;){var a=this.startNode();if(this.parseVarId(a,n),this.eat(Z.eq)?a.init=this.parseMaybeAssign(t):"const"!==n||this.type===Z._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===a.id.type||t&&(this.type===Z._in||this.isContextual("of"))?a.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(a,"VariableDeclarator")),!this.eat(Z.comma))break}return e},Ee.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,"var"===t?1:2,!1)};var De=1,Le=2;function Ie(e,t){var n=t.key.name,a=e[n],r="true";return"MethodDefinition"!==t.type||"get"!==t.kind&&"set"!==t.kind||(r=(t.static?"s":"i")+t.kind),"iget"===a&&"iset"===r||"iset"===a&&"iget"===r||"sget"===a&&"sset"===r||"sset"===a&&"sget"===r?(e[n]="true",!1):!!a||(e[n]=r,!1)}function Fe(e,t){var n=e.computed,a=e.key;return!n&&("Identifier"===a.type&&a.name===t||"Literal"===a.type&&a.value===t)}Ee.parseFunction=function(e,t,n,a,r){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!a)&&(this.type===Z.star&&t&Le&&this.unexpected(),e.generator=this.eat(Z.star)),this.options.ecmaVersion>=8&&(e.async=!!a),t&De&&(e.id=4&t&&this.type!==Z.name?null:this.parseIdent(),!e.id||t&Le||this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?1:2:3));var i=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(xe(e.async,e.generator)),t&De||(e.id=this.type===Z.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,n,!1,r),this.yieldPos=i,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(e,t&De?"FunctionDeclaration":"FunctionExpression")},Ee.parseFunctionParams=function(e){this.expect(Z.parenL),e.params=this.parseBindingList(Z.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Ee.parseClass=function(e,t){this.next();var n=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var a=this.enterClassBody(),r=this.startNode(),i=!1;for(r.body=[],this.expect(Z.braceL);this.type!==Z.braceR;){var s=this.parseClassElement(null!==e.superClass);s&&(r.body.push(s),"MethodDefinition"===s.type&&"constructor"===s.kind?(i&&this.raise(s.start,"Duplicate constructor in the same class"),i=!0):s.key&&"PrivateIdentifier"===s.key.type&&Ie(a,s)&&this.raiseRecoverable(s.key.start,"Identifier '#"+s.key.name+"' has already been declared"))}return this.strict=n,this.next(),e.body=this.finishNode(r,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},Ee.parseClassElement=function(e){if(this.eat(Z.semi))return null;var t=this.options.ecmaVersion,n=this.startNode(),a="",r=!1,i=!1,s="method",o=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(Z.braceL))return this.parseClassStaticBlock(n),n;this.isClassElementNameStart()||this.type===Z.star?o=!0:a="static"}if(n.static=o,!a&&t>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==Z.star||this.canInsertSemicolon()?a="async":i=!0),!a&&(t>=9||!i)&&this.eat(Z.star)&&(r=!0),!a&&!i&&!r){var d=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?s=d:a=d)}if(a?(n.computed=!1,n.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),n.key.name=a,this.finishNode(n.key,"Identifier")):this.parseClassElementName(n),t<13||this.type===Z.parenL||"method"!==s||r||i){var l=!n.static&&Fe(n,"constructor"),c=l&&e;l&&"method"!==s&&this.raise(n.key.start,"Constructor can't have get/set modifier"),n.kind=l?"constructor":s,this.parseClassMethod(n,r,i,c)}else this.parseClassField(n);return n},Ee.isClassElementNameStart=function(){return this.type===Z.name||this.type===Z.privateId||this.type===Z.num||this.type===Z.string||this.type===Z.bracketL||this.type.keyword},Ee.parseClassElementName=function(e){this.type===Z.privateId?("constructor"===this.value&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},Ee.parseClassMethod=function(e,t,n,a){var r=e.key;"constructor"===e.kind?(t&&this.raise(r.start,"Constructor can't be a generator"),n&&this.raise(r.start,"Constructor can't be an async method")):e.static&&Fe(e,"prototype")&&this.raise(r.start,"Classes may not have a static property named prototype");var i=e.value=this.parseMethod(t,n,a);return"get"===e.kind&&0!==i.params.length&&this.raiseRecoverable(i.start,"getter should have no params"),"set"===e.kind&&1!==i.params.length&&this.raiseRecoverable(i.start,"setter should have exactly one param"),"set"===e.kind&&"RestElement"===i.params[0].type&&this.raiseRecoverable(i.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},Ee.parseClassField=function(e){if(Fe(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Fe(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(Z.eq)){var t=this.currentThisScope(),n=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=n}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},Ee.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(320);this.type!==Z.braceR;){var n=this.parseStatement(null);e.body.push(n)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},Ee.parseClassId=function(e,t){this.type===Z.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,2,!1)):(!0===t&&this.unexpected(),e.id=null)},Ee.parseClassSuper=function(e){e.superClass=this.eat(Z._extends)?this.parseExprSubscripts(!1):null},Ee.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},Ee.exitClassBody=function(){for(var e=this.privateNameStack.pop(),t=e.declared,n=e.used,a=this.privateNameStack.length,r=0===a?null:this.privateNameStack[a-1],i=0;i<n.length;++i){var s=n[i];de(t,s.name)||(r?r.used.push(s):this.raiseRecoverable(s.start,"Private field '#"+s.name+"' must be declared in an enclosing class"))}},Ee.parseExport=function(e,t){if(this.next(),this.eat(Z.star))return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==Z.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(Z._default)){var n;if(this.checkExport(t,"default",this.lastTokStart),this.type===Z._function||(n=this.isAsyncFunction())){var a=this.startNode();this.next(),n&&this.next(),e.declaration=this.parseFunction(a,4|De,!1,n)}else if(this.type===Z._class){var r=this.startNode();e.declaration=this.parseClass(r,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),"VariableDeclaration"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==Z.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var i=0,s=e.specifiers;i<s.length;i+=1){var o=s[i];this.checkUnreserved(o.local),this.checkLocalExport(o.local),"Literal"===o.local.type&&this.raise(o.local.start,"A string literal cannot be used as an exported binding without `from`.")}e.source=null}this.semicolon()}return this.finishNode(e,"ExportNamedDeclaration")},Ee.checkExport=function(e,t,n){e&&("string"!=typeof t&&(t="Identifier"===t.type?t.name:t.value),de(e,t)&&this.raiseRecoverable(n,"Duplicate export '"+t+"'"),e[t]=!0)},Ee.checkPatternExport=function(e,t){var n=t.type;if("Identifier"===n)this.checkExport(e,t,t.start);else if("ObjectPattern"===n)for(var a=0,r=t.properties;a<r.length;a+=1){var i=r[a];this.checkPatternExport(e,i)}else if("ArrayPattern"===n)for(var s=0,o=t.elements;s<o.length;s+=1){var d=o[s];d&&this.checkPatternExport(e,d)}else"Property"===n?this.checkPatternExport(e,t.value):"AssignmentPattern"===n?this.checkPatternExport(e,t.left):"RestElement"===n?this.checkPatternExport(e,t.argument):"ParenthesizedExpression"===n&&this.checkPatternExport(e,t.expression)},Ee.checkVariableExport=function(e,t){if(e)for(var n=0,a=t;n<a.length;n+=1){var r=a[n];this.checkPatternExport(e,r.id)}},Ee.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},Ee.parseExportSpecifiers=function(e){var t=[],n=!0;for(this.expect(Z.braceL);!this.eat(Z.braceR);){if(n)n=!1;else if(this.expect(Z.comma),this.afterTrailingComma(Z.braceR))break;var a=this.startNode();a.local=this.parseModuleExportName(),a.exported=this.eatContextual("as")?this.parseModuleExportName():a.local,this.checkExport(e,a.exported,a.exported.start),t.push(this.finishNode(a,"ExportSpecifier"))}return t},Ee.parseImport=function(e){return this.next(),this.type===Z.string?(e.specifiers=Te,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),e.source=this.type===Z.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(e,"ImportDeclaration")},Ee.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===Z.name){var n=this.startNode();if(n.local=this.parseIdent(),this.checkLValSimple(n.local,2),e.push(this.finishNode(n,"ImportDefaultSpecifier")),!this.eat(Z.comma))return e}if(this.type===Z.star){var a=this.startNode();return this.next(),this.expectContextual("as"),a.local=this.parseIdent(),this.checkLValSimple(a.local,2),e.push(this.finishNode(a,"ImportNamespaceSpecifier")),e}for(this.expect(Z.braceL);!this.eat(Z.braceR);){if(t)t=!1;else if(this.expect(Z.comma),this.afterTrailingComma(Z.braceR))break;var r=this.startNode();r.imported=this.parseModuleExportName(),this.eatContextual("as")?r.local=this.parseIdent():(this.checkUnreserved(r.imported),r.local=r.imported),this.checkLValSimple(r.local,2),e.push(this.finishNode(r,"ImportSpecifier"))}return e},Ee.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===Z.string){var e=this.parseLiteral(this.value);return he.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},Ee.adaptDirectivePrologue=function(e){for(var t=0;t<e.length&&this.isDirectiveCandidate(e[t]);++t)e[t].directive=e[t].expression.raw.slice(1,-1)},Ee.isDirectiveCandidate=function(e){return this.options.ecmaVersion>=5&&"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&('"'===this.input[e.start]||"'"===this.input[e.start])};var Oe=ve.prototype;Oe.toAssignable=function(e,t,n){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&"await"===e.name&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",n&&this.checkPatternErrors(n,!0);for(var a=0,r=e.properties;a<r.length;a+=1){var i=r[a];this.toAssignable(i,t),"RestElement"!==i.type||"ArrayPattern"!==i.argument.type&&"ObjectPattern"!==i.argument.type||this.raise(i.argument.start,"Unexpected token")}break;case"Property":"init"!==e.kind&&this.raise(e.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(e.value,t);break;case"ArrayExpression":e.type="ArrayPattern",n&&this.checkPatternErrors(n,!0),this.toAssignableList(e.elements,t);break;case"SpreadElement":e.type="RestElement",this.toAssignable(e.argument,t),"AssignmentPattern"===e.argument.type&&this.raise(e.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==e.operator&&this.raise(e.left.end,"Only '=' operator can be used for specifying default value."),e.type="AssignmentPattern",delete e.operator,this.toAssignable(e.left,t);break;case"ParenthesizedExpression":this.toAssignable(e.expression,t,n);break;case"ChainExpression":this.raiseRecoverable(e.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!t)break;default:this.raise(e.start,"Assigning to rvalue")}else n&&this.checkPatternErrors(n,!0);return e},Oe.toAssignableList=function(e,t){for(var n=e.length,a=0;a<n;a++){var r=e[a];r&&this.toAssignable(r,t)}if(n){var i=e[n-1];6===this.options.ecmaVersion&&t&&i&&"RestElement"===i.type&&"Identifier"!==i.argument.type&&this.unexpected(i.argument.start)}return e},Oe.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,"SpreadElement")},Oe.parseRestBinding=function(){var e=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==Z.name&&this.unexpected(),e.argument=this.parseBindingAtom(),this.finishNode(e,"RestElement")},Oe.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case Z.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(Z.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case Z.braceL:return this.parseObj(!0)}return this.parseIdent()},Oe.parseBindingList=function(e,t,n){for(var a=[],r=!0;!this.eat(e);)if(r?r=!1:this.expect(Z.comma),t&&this.type===Z.comma)a.push(null);else{if(n&&this.afterTrailingComma(e))break;if(this.type===Z.ellipsis){var i=this.parseRestBinding();this.parseBindingListItem(i),a.push(i),this.type===Z.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}var s=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(s),a.push(s)}return a},Oe.parseBindingListItem=function(e){return e},Oe.parseMaybeDefault=function(e,t,n){if(n=n||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(Z.eq))return n;var a=this.startNodeAt(e,t);return a.left=n,a.right=this.parseMaybeAssign(),this.finishNode(a,"AssignmentPattern")},Oe.checkLValSimple=function(e,t,n){void 0===t&&(t=0);var a=0!==t;switch(e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(a?"Binding ":"Assigning to ")+e.name+" in strict mode"),a&&(2===t&&"let"===e.name&&this.raiseRecoverable(e.start,"let is disallowed as a lexically bound name"),n&&(de(n,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),n[e.name]=!0),5!==t&&this.declareName(e.name,t,e.start));break;case"ChainExpression":this.raiseRecoverable(e.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":a&&this.raiseRecoverable(e.start,"Binding member expression");break;case"ParenthesizedExpression":return a&&this.raiseRecoverable(e.start,"Binding parenthesized expression"),this.checkLValSimple(e.expression,t,n);default:this.raise(e.start,(a?"Binding":"Assigning to")+" rvalue")}},Oe.checkLValPattern=function(e,t,n){switch(void 0===t&&(t=0),e.type){case"ObjectPattern":for(var a=0,r=e.properties;a<r.length;a+=1){var i=r[a];this.checkLValInnerPattern(i,t,n)}break;case"ArrayPattern":for(var s=0,o=e.elements;s<o.length;s+=1){var d=o[s];d&&this.checkLValInnerPattern(d,t,n)}break;default:this.checkLValSimple(e,t,n)}},Oe.checkLValInnerPattern=function(e,t,n){switch(void 0===t&&(t=0),e.type){case"Property":this.checkLValInnerPattern(e.value,t,n);break;case"AssignmentPattern":this.checkLValPattern(e.left,t,n);break;case"RestElement":this.checkLValPattern(e.argument,t,n);break;default:this.checkLValPattern(e,t,n)}};var Ne=function(e,t,n,a,r){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=a,this.generator=!!r},Be={b_stat:new Ne("{",!1),b_expr:new Ne("{",!0),b_tmpl:new Ne("${",!1),p_stat:new Ne("(",!1),p_expr:new Ne("(",!0),q_tmpl:new Ne("`",!0,!0,(function(e){return e.tryReadTemplateToken()})),f_stat:new Ne("function",!1),f_expr:new Ne("function",!0),f_expr_gen:new Ne("function",!0,!1,null,!0),f_gen:new Ne("function",!1,!1,null,!0)},Me=ve.prototype;Me.initialContext=function(){return[Be.b_stat]},Me.curContext=function(){return this.context[this.context.length-1]},Me.braceIsBlock=function(e){var t=this.curContext();return t===Be.f_expr||t===Be.f_stat||(e!==Z.colon||t!==Be.b_stat&&t!==Be.b_expr?e===Z._return||e===Z.name&&this.exprAllowed?Q.test(this.input.slice(this.lastTokEnd,this.start)):e===Z._else||e===Z.semi||e===Z.eof||e===Z.parenR||e===Z.arrow||(e===Z.braceL?t===Be.b_stat:e!==Z._var&&e!==Z._const&&e!==Z.name&&!this.exprAllowed):!t.isExpr)},Me.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if("function"===t.token)return t.generator}return!1},Me.updateContext=function(e){var t,n=this.type;n.keyword&&e===Z.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},Me.overrideContext=function(e){this.curContext()!==e&&(this.context[this.context.length-1]=e)},Z.parenR.updateContext=Z.braceR.updateContext=function(){if(1!==this.context.length){var e=this.context.pop();e===Be.b_stat&&"function"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},Z.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?Be.b_stat:Be.b_expr),this.exprAllowed=!0},Z.dollarBraceL.updateContext=function(){this.context.push(Be.b_tmpl),this.exprAllowed=!0},Z.parenL.updateContext=function(e){var t=e===Z._if||e===Z._for||e===Z._with||e===Z._while;this.context.push(t?Be.p_stat:Be.p_expr),this.exprAllowed=!0},Z.incDec.updateContext=function(){},Z._function.updateContext=Z._class.updateContext=function(e){!e.beforeExpr||e===Z._else||e===Z.semi&&this.curContext()!==Be.p_stat||e===Z._return&&Q.test(this.input.slice(this.lastTokEnd,this.start))||(e===Z.colon||e===Z.braceL)&&this.curContext()===Be.b_stat?this.context.push(Be.f_stat):this.context.push(Be.f_expr),this.exprAllowed=!1},Z.backQuote.updateContext=function(){this.curContext()===Be.q_tmpl?this.context.pop():this.context.push(Be.q_tmpl),this.exprAllowed=!1},Z.star.updateContext=function(e){if(e===Z._function){var t=this.context.length-1;this.context[t]===Be.f_expr?this.context[t]=Be.f_expr_gen:this.context[t]=Be.f_gen}this.exprAllowed=!0},Z.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==Z.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var Pe=ve.prototype;function je(e){return"MemberExpression"===e.type&&"PrivateIdentifier"===e.property.type||"ChainExpression"===e.type&&je(e.expression)}Pe.checkPropClash=function(e,t,n){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===e.type||this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var a,r=e.key;switch(r.type){case"Identifier":a=r.name;break;case"Literal":a=String(r.value);break;default:return}var i=e.kind;if(this.options.ecmaVersion>=6)"__proto__"===a&&"init"===i&&(t.proto&&(n?n.doubleProto<0&&(n.doubleProto=r.start):this.raiseRecoverable(r.start,"Redefinition of __proto__ property")),t.proto=!0);else{var s=t[a="$"+a];if(s)("init"===i?this.strict&&s.init||s.get||s.set:s.init||s[i])&&this.raiseRecoverable(r.start,"Redefinition of property");else s=t[a]={init:!1,get:!1,set:!1};s[i]=!0}}},Pe.parseExpression=function(e,t){var n=this.start,a=this.startLoc,r=this.parseMaybeAssign(e,t);if(this.type===Z.comma){var i=this.startNodeAt(n,a);for(i.expressions=[r];this.eat(Z.comma);)i.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(i,"SequenceExpression")}return r},Pe.parseMaybeAssign=function(e,t,n){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var a=!1,r=-1,i=-1,s=-1;t?(r=t.parenthesizedAssign,i=t.trailingComma,s=t.doubleProto,t.parenthesizedAssign=t.trailingComma=-1):(t=new we,a=!0);var o=this.start,d=this.startLoc;this.type!==Z.parenL&&this.type!==Z.name||(this.potentialArrowAt=this.start,this.potentialArrowInForAwait="await"===e);var l=this.parseMaybeConditional(e,t);if(n&&(l=n.call(this,l,o,d)),this.type.isAssign){var c=this.startNodeAt(o,d);return c.operator=this.value,this.type===Z.eq&&(l=this.toAssignable(l,!1,t)),a||(t.parenthesizedAssign=t.trailingComma=t.doubleProto=-1),t.shorthandAssign>=l.start&&(t.shorthandAssign=-1),this.type===Z.eq?this.checkLValPattern(l):this.checkLValSimple(l),c.left=l,this.next(),c.right=this.parseMaybeAssign(e),s>-1&&(t.doubleProto=s),this.finishNode(c,"AssignmentExpression")}return a&&this.checkExpressionErrors(t,!0),r>-1&&(t.parenthesizedAssign=r),i>-1&&(t.trailingComma=i),l},Pe.parseMaybeConditional=function(e,t){var n=this.start,a=this.startLoc,r=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return r;if(this.eat(Z.question)){var i=this.startNodeAt(n,a);return i.test=r,i.consequent=this.parseMaybeAssign(),this.expect(Z.colon),i.alternate=this.parseMaybeAssign(e),this.finishNode(i,"ConditionalExpression")}return r},Pe.parseExprOps=function(e,t){var n=this.start,a=this.startLoc,r=this.parseMaybeUnary(t,!1,!1,e);return this.checkExpressionErrors(t)||r.start===n&&"ArrowFunctionExpression"===r.type?r:this.parseExprOp(r,n,a,-1,e)},Pe.parseExprOp=function(e,t,n,a,r){var i=this.type.binop;if(null!=i&&(!r||this.type!==Z._in)&&i>a){var s=this.type===Z.logicalOR||this.type===Z.logicalAND,o=this.type===Z.coalesce;o&&(i=Z.logicalAND.binop);var d=this.value;this.next();var l=this.start,c=this.startLoc,u=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,r),l,c,i,r),h=this.buildBinary(t,n,e,u,d,s||o);return(s&&this.type===Z.coalesce||o&&(this.type===Z.logicalOR||this.type===Z.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(h,t,n,a,r)}return e},Pe.buildBinary=function(e,t,n,a,r,i){"PrivateIdentifier"===a.type&&this.raise(a.start,"Private identifier can only be left side of binary expression");var s=this.startNodeAt(e,t);return s.left=n,s.operator=r,s.right=a,this.finishNode(s,i?"LogicalExpression":"BinaryExpression")},Pe.parseMaybeUnary=function(e,t,n,a){var r,i=this.start,s=this.startLoc;if(this.isContextual("await")&&this.canAwait)r=this.parseAwait(a),t=!0;else if(this.type.prefix){var o=this.startNode(),d=this.type===Z.incDec;o.operator=this.value,o.prefix=!0,this.next(),o.argument=this.parseMaybeUnary(null,!0,d,a),this.checkExpressionErrors(e,!0),d?this.checkLValSimple(o.argument):this.strict&&"delete"===o.operator&&"Identifier"===o.argument.type?this.raiseRecoverable(o.start,"Deleting local variable in strict mode"):"delete"===o.operator&&je(o.argument)?this.raiseRecoverable(o.start,"Private fields can not be deleted"):t=!0,r=this.finishNode(o,d?"UpdateExpression":"UnaryExpression")}else if(t||this.type!==Z.privateId){if(r=this.parseExprSubscripts(e,a),this.checkExpressionErrors(e))return r;for(;this.type.postfix&&!this.canInsertSemicolon();){var l=this.startNodeAt(i,s);l.operator=this.value,l.prefix=!1,l.argument=r,this.checkLValSimple(r),this.next(),r=this.finishNode(l,"UpdateExpression")}}else(a||0===this.privateNameStack.length)&&this.unexpected(),r=this.parsePrivateIdent(),this.type!==Z._in&&this.unexpected();return n||!this.eat(Z.starstar)?r:t?void this.unexpected(this.lastTokStart):this.buildBinary(i,s,r,this.parseMaybeUnary(null,!1,!1,a),"**",!1)},Pe.parseExprSubscripts=function(e,t){var n=this.start,a=this.startLoc,r=this.parseExprAtom(e,t);if("ArrowFunctionExpression"===r.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return r;var i=this.parseSubscripts(r,n,a,!1,t);return e&&"MemberExpression"===i.type&&(e.parenthesizedAssign>=i.start&&(e.parenthesizedAssign=-1),e.parenthesizedBind>=i.start&&(e.parenthesizedBind=-1),e.trailingComma>=i.start&&(e.trailingComma=-1)),i},Pe.parseSubscripts=function(e,t,n,a,r){for(var i=this.options.ecmaVersion>=8&&"Identifier"===e.type&&"async"===e.name&&this.lastTokEnd===e.end&&!this.canInsertSemicolon()&&e.end-e.start==5&&this.potentialArrowAt===e.start,s=!1;;){var o=this.parseSubscript(e,t,n,a,i,s,r);if(o.optional&&(s=!0),o===e||"ArrowFunctionExpression"===o.type){if(s){var d=this.startNodeAt(t,n);d.expression=o,o=this.finishNode(d,"ChainExpression")}return o}e=o}},Pe.parseSubscript=function(e,t,n,a,r,i,s){var o=this.options.ecmaVersion>=11,d=o&&this.eat(Z.questionDot);a&&d&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var l=this.eat(Z.bracketL);if(l||d&&this.type!==Z.parenL&&this.type!==Z.backQuote||this.eat(Z.dot)){var c=this.startNodeAt(t,n);c.object=e,l?(c.property=this.parseExpression(),this.expect(Z.bracketR)):this.type===Z.privateId&&"Super"!==e.type?c.property=this.parsePrivateIdent():c.property=this.parseIdent("never"!==this.options.allowReserved),c.computed=!!l,o&&(c.optional=d),e=this.finishNode(c,"MemberExpression")}else if(!a&&this.eat(Z.parenL)){var u=new we,h=this.yieldPos,g=this.awaitPos,p=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var f=this.parseExprList(Z.parenR,this.options.ecmaVersion>=8,!1,u);if(r&&!d&&!this.canInsertSemicolon()&&this.eat(Z.arrow))return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=h,this.awaitPos=g,this.awaitIdentPos=p,this.parseArrowExpression(this.startNodeAt(t,n),f,!0,s);this.checkExpressionErrors(u,!0),this.yieldPos=h||this.yieldPos,this.awaitPos=g||this.awaitPos,this.awaitIdentPos=p||this.awaitIdentPos;var m=this.startNodeAt(t,n);m.callee=e,m.arguments=f,o&&(m.optional=d),e=this.finishNode(m,"CallExpression")}else if(this.type===Z.backQuote){(d||i)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var R=this.startNodeAt(t,n);R.tag=e,R.quasi=this.parseTemplate({isTagged:!0}),e=this.finishNode(R,"TaggedTemplateExpression")}return e},Pe.parseExprAtom=function(e,t){this.type===Z.slash&&this.readRegexp();var n,a=this.potentialArrowAt===this.start;switch(this.type){case Z._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),n=this.startNode(),this.next(),this.type!==Z.parenL||this.allowDirectSuper||this.raise(n.start,"super() call outside constructor of a subclass"),this.type!==Z.dot&&this.type!==Z.bracketL&&this.type!==Z.parenL&&this.unexpected(),this.finishNode(n,"Super");case Z._this:return n=this.startNode(),this.next(),this.finishNode(n,"ThisExpression");case Z.name:var r=this.start,i=this.startLoc,s=this.containsEsc,o=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!s&&"async"===o.name&&!this.canInsertSemicolon()&&this.eat(Z._function))return this.overrideContext(Be.f_expr),this.parseFunction(this.startNodeAt(r,i),0,!1,!0,t);if(a&&!this.canInsertSemicolon()){if(this.eat(Z.arrow))return this.parseArrowExpression(this.startNodeAt(r,i),[o],!1,t);if(this.options.ecmaVersion>=8&&"async"===o.name&&this.type===Z.name&&!s&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return o=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(Z.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(r,i),[o],!0,t)}return o;case Z.regexp:var d=this.value;return(n=this.parseLiteral(d.value)).regex={pattern:d.pattern,flags:d.flags},n;case Z.num:case Z.string:return this.parseLiteral(this.value);case Z._null:case Z._true:case Z._false:return(n=this.startNode()).value=this.type===Z._null?null:this.type===Z._true,n.raw=this.type.keyword,this.next(),this.finishNode(n,"Literal");case Z.parenL:var l=this.start,c=this.parseParenAndDistinguishExpression(a,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)&&(e.parenthesizedAssign=l),e.parenthesizedBind<0&&(e.parenthesizedBind=l)),c;case Z.bracketL:return n=this.startNode(),this.next(),n.elements=this.parseExprList(Z.bracketR,!0,!0,e),this.finishNode(n,"ArrayExpression");case Z.braceL:return this.overrideContext(Be.b_expr),this.parseObj(!1,e);case Z._function:return n=this.startNode(),this.next(),this.parseFunction(n,0);case Z._class:return this.parseClass(this.startNode(),!1);case Z._new:return this.parseNew();case Z.backQuote:return this.parseTemplate();case Z._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},Pe.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case Z.parenL:return this.parseDynamicImport(e);case Z.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},Pe.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(Z.parenR)){var t=this.start;this.eat(Z.comma)&&this.eat(Z.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},Pe.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),"meta"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),"module"===this.options.sourceType||this.options.allowImportExportEverywhere||this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},Pe.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),110===t.raw.charCodeAt(t.raw.length-1)&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},Pe.parseParenExpression=function(){this.expect(Z.parenL);var e=this.parseExpression();return this.expect(Z.parenR),e},Pe.parseParenAndDistinguishExpression=function(e,t){var n,a=this.start,r=this.startLoc,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var s,o=this.start,d=this.startLoc,l=[],c=!0,u=!1,h=new we,g=this.yieldPos,p=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==Z.parenR;){if(c?c=!1:this.expect(Z.comma),i&&this.afterTrailingComma(Z.parenR,!0)){u=!0;break}if(this.type===Z.ellipsis){s=this.start,l.push(this.parseParenItem(this.parseRestBinding())),this.type===Z.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}l.push(this.parseMaybeAssign(!1,h,this.parseParenItem))}var f=this.lastTokEnd,m=this.lastTokEndLoc;if(this.expect(Z.parenR),e&&!this.canInsertSemicolon()&&this.eat(Z.arrow))return this.checkPatternErrors(h,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=g,this.awaitPos=p,this.parseParenArrowList(a,r,l,t);l.length&&!u||this.unexpected(this.lastTokStart),s&&this.unexpected(s),this.checkExpressionErrors(h,!0),this.yieldPos=g||this.yieldPos,this.awaitPos=p||this.awaitPos,l.length>1?((n=this.startNodeAt(o,d)).expressions=l,this.finishNodeAt(n,"SequenceExpression",f,m)):n=l[0]}else n=this.parseParenExpression();if(this.options.preserveParens){var R=this.startNodeAt(a,r);return R.expression=n,this.finishNode(R,"ParenthesizedExpression")}return n},Pe.parseParenItem=function(e){return e},Pe.parseParenArrowList=function(e,t,n,a){return this.parseArrowExpression(this.startNodeAt(e,t),n,!1,a)};var Ve=[];Pe.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(Z.dot)){e.meta=t;var n=this.containsEsc;return e.property=this.parseIdent(!0),"target"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),n&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var a=this.start,r=this.startLoc,i=this.type===Z._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),a,r,!0,!1),i&&"ImportExpression"===e.callee.type&&this.raise(a,"Cannot use new with import()"),this.eat(Z.parenL)?e.arguments=this.parseExprList(Z.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ve,this.finishNode(e,"NewExpression")},Pe.parseTemplateElement=function(e){var t=e.isTagged,n=this.startNode();return this.type===Z.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),n.value={raw:this.value,cooked:null}):n.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),n.tail=this.type===Z.backQuote,this.finishNode(n,"TemplateElement")},Pe.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var n=this.startNode();this.next(),n.expressions=[];var a=this.parseTemplateElement({isTagged:t});for(n.quasis=[a];!a.tail;)this.type===Z.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(Z.dollarBraceL),n.expressions.push(this.parseExpression()),this.expect(Z.braceR),n.quasis.push(a=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(n,"TemplateLiteral")},Pe.isAsyncProp=function(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===Z.name||this.type===Z.num||this.type===Z.string||this.type===Z.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===Z.star)&&!Q.test(this.input.slice(this.lastTokEnd,this.start))},Pe.parseObj=function(e,t){var n=this.startNode(),a=!0,r={};for(n.properties=[],this.next();!this.eat(Z.braceR);){if(a)a=!1;else if(this.expect(Z.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(Z.braceR))break;var i=this.parseProperty(e,t);e||this.checkPropClash(i,r,t),n.properties.push(i)}return this.finishNode(n,e?"ObjectPattern":"ObjectExpression")},Pe.parseProperty=function(e,t){var n,a,r,i,s=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(Z.ellipsis))return e?(s.argument=this.parseIdent(!1),this.type===Z.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(s,"RestElement")):(s.argument=this.parseMaybeAssign(!1,t),this.type===Z.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(s,"SpreadElement"));this.options.ecmaVersion>=6&&(s.method=!1,s.shorthand=!1,(e||t)&&(r=this.start,i=this.startLoc),e||(n=this.eat(Z.star)));var o=this.containsEsc;return this.parsePropertyName(s),!e&&!o&&this.options.ecmaVersion>=8&&!n&&this.isAsyncProp(s)?(a=!0,n=this.options.ecmaVersion>=9&&this.eat(Z.star),this.parsePropertyName(s,t)):a=!1,this.parsePropertyValue(s,e,n,a,r,i,t,o),this.finishNode(s,"Property")},Pe.parsePropertyValue=function(e,t,n,a,r,i,s,o){if((n||a)&&this.type===Z.colon&&this.unexpected(),this.eat(Z.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,s),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===Z.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(n,a);else if(t||o||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type===Z.comma||this.type===Z.braceR||this.type===Z.eq)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?((n||a)&&this.unexpected(),this.checkUnreserved(e.key),"await"!==e.key.name||this.awaitIdentPos||(this.awaitIdentPos=r),e.kind="init",t?e.value=this.parseMaybeDefault(r,i,this.copyNode(e.key)):this.type===Z.eq&&s?(s.shorthandAssign<0&&(s.shorthandAssign=this.start),e.value=this.parseMaybeDefault(r,i,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected();else{(n||a)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var d="get"===e.kind?0:1;if(e.value.params.length!==d){var l=e.value.start;"get"===e.kind?this.raiseRecoverable(l,"getter should have no params"):this.raiseRecoverable(l,"setter should have exactly one param")}else"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}},Pe.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(Z.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(Z.bracketR),e.key;e.computed=!1}return e.key=this.type===Z.num||this.type===Z.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},Pe.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},Pe.parseMethod=function(e,t,n){var a=this.startNode(),r=this.yieldPos,i=this.awaitPos,s=this.awaitIdentPos;return this.initFunction(a),this.options.ecmaVersion>=6&&(a.generator=e),this.options.ecmaVersion>=8&&(a.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|xe(t,a.generator)|(n?128:0)),this.expect(Z.parenL),a.params=this.parseBindingList(Z.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(a,!1,!0,!1),this.yieldPos=r,this.awaitPos=i,this.awaitIdentPos=s,this.finishNode(a,"FunctionExpression")},Pe.parseArrowExpression=function(e,t,n,a){var r=this.yieldPos,i=this.awaitPos,s=this.awaitIdentPos;return this.enterScope(16|xe(n,!1)),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!n),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,a),this.yieldPos=r,this.awaitPos=i,this.awaitIdentPos=s,this.finishNode(e,"ArrowFunctionExpression")},Pe.parseFunctionBody=function(e,t,n,a){var r=t&&this.type!==Z.braceL,i=this.strict,s=!1;if(r)e.body=this.parseMaybeAssign(a),e.expression=!0,this.checkParams(e,!1);else{var o=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);i&&!o||(s=this.strictDirective(this.end))&&o&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list");var d=this.labels;this.labels=[],s&&(this.strict=!0),this.checkParams(e,!i&&!s&&!t&&!n&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,5),e.body=this.parseBlock(!1,void 0,s&&!i),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=d}this.exitScope()},Pe.isSimpleParamList=function(e){for(var t=0,n=e;t<n.length;t+=1){if("Identifier"!==n[t].type)return!1}return!0},Pe.checkParams=function(e,t){for(var n=Object.create(null),a=0,r=e.params;a<r.length;a+=1){var i=r[a];this.checkLValInnerPattern(i,1,t?null:n)}},Pe.parseExprList=function(e,t,n,a){for(var r=[],i=!0;!this.eat(e);){if(i)i=!1;else if(this.expect(Z.comma),t&&this.afterTrailingComma(e))break;var s=void 0;n&&this.type===Z.comma?s=null:this.type===Z.ellipsis?(s=this.parseSpread(a),a&&this.type===Z.comma&&a.trailingComma<0&&(a.trailingComma=this.start)):s=this.parseMaybeAssign(!1,a),r.push(s)}return r},Pe.checkUnreserved=function(e){var t=e.start,n=e.end,a=e.name;(this.inGenerator&&"yield"===a&&this.raiseRecoverable(t,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&"await"===a&&this.raiseRecoverable(t,"Cannot use 'await' as identifier inside an async function"),this.currentThisScope().inClassFieldInit&&"arguments"===a&&this.raiseRecoverable(t,"Cannot use 'arguments' in class field initializer"),!this.inClassStaticBlock||"arguments"!==a&&"await"!==a||this.raise(t,"Cannot use "+a+" in class static initialization block"),this.keywords.test(a)&&this.raise(t,"Unexpected keyword '"+a+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(t,n).indexOf("\\"))||(this.strict?this.reservedWordsStrict:this.reservedWords).test(a)&&(this.inAsync||"await"!==a||this.raiseRecoverable(t,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(t,"The keyword '"+a+"' is reserved"))},Pe.parseIdent=function(e,t){var n=this.startNode();return this.type===Z.name?n.name=this.value:this.type.keyword?(n.name=this.type.keyword,"class"!==n.name&&"function"!==n.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop()):this.unexpected(),this.next(!!e),this.finishNode(n,"Identifier"),e||(this.checkUnreserved(n),"await"!==n.name||this.awaitIdentPos||(this.awaitIdentPos=n.start)),n},Pe.parsePrivateIdent=function(){var e=this.startNode();return this.type===Z.privateId?e.name=this.value:this.unexpected(),this.next(),this.finishNode(e,"PrivateIdentifier"),0===this.privateNameStack.length?this.raise(e.start,"Private field '#"+e.name+"' must be declared in an enclosing class"):this.privateNameStack[this.privateNameStack.length-1].used.push(e),e},Pe.parseYield=function(e){this.yieldPos||(this.yieldPos=this.start);var t=this.startNode();return this.next(),this.type===Z.semi||this.canInsertSemicolon()||this.type!==Z.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(Z.star),t.argument=this.parseMaybeAssign(e)),this.finishNode(t,"YieldExpression")},Pe.parseAwait=function(e){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!0,!1,e),this.finishNode(t,"AwaitExpression")};var $e=ve.prototype;$e.raise=function(e,t){var n=fe(this.input,e);t+=" ("+n.line+":"+n.column+")";var a=new SyntaxError(t);throw a.pos=e,a.loc=n,a.raisedAt=this.pos,a},$e.raiseRecoverable=$e.raise,$e.curPosition=function(){if(this.options.locations)return new ge(this.curLine,this.pos-this.lineStart)};var Ue=ve.prototype,ze=function(e){this.flags=e,this.var=[],this.lexical=[],this.functions=[],this.inClassFieldInit=!1};Ue.enterScope=function(e){this.scopeStack.push(new ze(e))},Ue.exitScope=function(){this.scopeStack.pop()},Ue.treatFunctionsAsVarInScope=function(e){return 2&e.flags||!this.inModule&&1&e.flags},Ue.declareName=function(e,t,n){var a=!1;if(2===t){var r=this.currentScope();a=r.lexical.indexOf(e)>-1||r.functions.indexOf(e)>-1||r.var.indexOf(e)>-1,r.lexical.push(e),this.inModule&&1&r.flags&&delete this.undefinedExports[e]}else if(4===t){this.currentScope().lexical.push(e)}else if(3===t){var i=this.currentScope();a=this.treatFunctionsAsVar?i.lexical.indexOf(e)>-1:i.lexical.indexOf(e)>-1||i.var.indexOf(e)>-1,i.functions.push(e)}else for(var s=this.scopeStack.length-1;s>=0;--s){var o=this.scopeStack[s];if(o.lexical.indexOf(e)>-1&&!(32&o.flags&&o.lexical[0]===e)||!this.treatFunctionsAsVarInScope(o)&&o.functions.indexOf(e)>-1){a=!0;break}if(o.var.push(e),this.inModule&&1&o.flags&&delete this.undefinedExports[e],259&o.flags)break}a&&this.raiseRecoverable(n,"Identifier '"+e+"' has already been declared")},Ue.checkLocalExport=function(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&(this.undefinedExports[e.name]=e)},Ue.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ue.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(259&t.flags)return t}},Ue.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(259&t.flags&&!(16&t.flags))return t}};var He=function(e,t,n){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new pe(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Ye=ve.prototype;function We(e,t,n,a){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=a),this.options.ranges&&(e.range[1]=n),e}Ye.startNode=function(){return new He(this,this.start,this.startLoc)},Ye.startNodeAt=function(e,t){return new He(this,e,t)},Ye.finishNode=function(e,t){return We.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Ye.finishNodeAt=function(e,t,n,a){return We.call(this,e,t,n,a)},Ye.copyNode=function(e){var t=new He(this,e.start,this.startLoc);for(var n in e)t[n]=e[n];return t};var qe="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Ge=qe+" Extended_Pictographic",Xe=Ge+" EBase EComp EMod EPres ExtPict",Je={9:qe,10:Ge,11:Ge,12:Xe,13:Xe},Ke="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Ze="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Qe=Ze+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",et=Qe+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",tt=et+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",nt={9:Ze,10:Qe,11:et,12:tt,13:tt+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith"},at={};function rt(e){var t=at[e]={binary:ce(Je[e]+" "+Ke),nonBinary:{General_Category:ce(Ke),Script:ce(nt[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var it=0,st=[9,10,11,12,13];it<st.length;it+=1){rt(st[it])}var ot=ve.prototype,dt=function(e){this.parser=e,this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":"")+(e.options.ecmaVersion>=13?"d":""),this.unicodeProperties=at[e.options.ecmaVersion>=13?13:e.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function lt(e){return 36===e||e>=40&&e<=43||46===e||63===e||e>=91&&e<=94||e>=123&&e<=125}function ct(e){return e>=65&&e<=90||e>=97&&e<=122}function ut(e){return ct(e)||95===e}function ht(e){return ut(e)||gt(e)}function gt(e){return e>=48&&e<=57}function pt(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function ft(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e-48}function mt(e){return e>=48&&e<=55}dt.prototype.reset=function(e,t,n){var a=-1!==n.indexOf("u");this.start=0|e,this.source=t+"",this.flags=n,this.switchU=a&&this.parser.options.ecmaVersion>=6,this.switchN=a&&this.parser.options.ecmaVersion>=9},dt.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)},dt.prototype.at=function(e,t){void 0===t&&(t=!1);var n=this.source,a=n.length;if(e>=a)return-1;var r=n.charCodeAt(e);if(!t&&!this.switchU||r<=55295||r>=57344||e+1>=a)return r;var i=n.charCodeAt(e+1);return i>=56320&&i<=57343?(r<<10)+i-56613888:r},dt.prototype.nextIndex=function(e,t){void 0===t&&(t=!1);var n=this.source,a=n.length;if(e>=a)return a;var r,i=n.charCodeAt(e);return!t&&!this.switchU||i<=55295||i>=57344||e+1>=a||(r=n.charCodeAt(e+1))<56320||r>57343?e+1:e+2},dt.prototype.current=function(e){return void 0===e&&(e=!1),this.at(this.pos,e)},dt.prototype.lookahead=function(e){return void 0===e&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},dt.prototype.advance=function(e){void 0===e&&(e=!1),this.pos=this.nextIndex(this.pos,e)},dt.prototype.eat=function(e,t){return void 0===t&&(t=!1),this.current(t)===e&&(this.advance(t),!0)},ot.validateRegExpFlags=function(e){for(var t=e.validFlags,n=e.flags,a=0;a<n.length;a++){var r=n.charAt(a);-1===t.indexOf(r)&&this.raise(e.start,"Invalid regular expression flag"),n.indexOf(r,a+1)>-1&&this.raise(e.start,"Duplicate regular expression flag")}},ot.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},ot.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,n=e.backReferenceNames;t<n.length;t+=1){var a=n[t];-1===e.groupNames.indexOf(a)&&e.raise("Invalid named capture referenced")}},ot.regexp_disjunction=function(e){for(this.regexp_alternative(e);e.eat(124);)this.regexp_alternative(e);this.regexp_eatQuantifier(e,!0)&&e.raise("Nothing to repeat"),e.eat(123)&&e.raise("Lone quantifier brackets")},ot.regexp_alternative=function(e){for(;e.pos<e.source.length&&this.regexp_eatTerm(e););},ot.regexp_eatTerm=function(e){return this.regexp_eatAssertion(e)?(e.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(e)&&e.switchU&&e.raise("Invalid quantifier"),!0):!!(e.switchU?this.regexp_eatAtom(e):this.regexp_eatExtendedAtom(e))&&(this.regexp_eatQuantifier(e),!0)},ot.regexp_eatAssertion=function(e){var t=e.pos;if(e.lastAssertionIsQuantifiable=!1,e.eat(94)||e.eat(36))return!0;if(e.eat(92)){if(e.eat(66)||e.eat(98))return!0;e.pos=t}if(e.eat(40)&&e.eat(63)){var n=!1;if(this.options.ecmaVersion>=9&&(n=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!n,!0}return e.pos=t,!1},ot.regexp_eatQuantifier=function(e,t){return void 0===t&&(t=!1),!!this.regexp_eatQuantifierPrefix(e,t)&&(e.eat(63),!0)},ot.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},ot.regexp_eatBracedQuantifier=function(e,t){var n=e.pos;if(e.eat(123)){var a=0,r=-1;if(this.regexp_eatDecimalDigits(e)&&(a=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(r=e.lastIntValue),e.eat(125)))return-1!==r&&r<a&&!t&&e.raise("numbers out of order in {} quantifier"),!0;e.switchU&&!t&&e.raise("Incomplete quantifier"),e.pos=n}return!1},ot.regexp_eatAtom=function(e){return this.regexp_eatPatternCharacters(e)||e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)},ot.regexp_eatReverseSolidusAtomEscape=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatAtomEscape(e))return!0;e.pos=t}return!1},ot.regexp_eatUncapturingGroup=function(e){var t=e.pos;if(e.eat(40)){if(e.eat(63)&&e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise("Unterminated group")}e.pos=t}return!1},ot.regexp_eatCapturingGroup=function(e){if(e.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(e):63===e.current()&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},ot.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},ot.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},ot.regexp_eatSyntaxCharacter=function(e){var t=e.current();return!!lt(t)&&(e.lastIntValue=t,e.advance(),!0)},ot.regexp_eatPatternCharacters=function(e){for(var t=e.pos,n=0;-1!==(n=e.current())&&!lt(n);)e.advance();return e.pos!==t},ot.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return!(-1===t||36===t||t>=40&&t<=43||46===t||63===t||91===t||94===t||124===t)&&(e.advance(),!0)},ot.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e))return-1!==e.groupNames.indexOf(e.lastStringValue)&&e.raise("Duplicate capture group name"),void e.groupNames.push(e.lastStringValue);e.raise("Invalid group")}},ot.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},ot.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=ue(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=ue(e.lastIntValue);return!0}return!1},ot.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,a=e.current(n);return e.advance(n),92===a&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(a=e.lastIntValue),function(e){return H(e,!0)||36===e||95===e}(a)?(e.lastIntValue=a,!0):(e.pos=t,!1)},ot.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,n=this.options.ecmaVersion>=11,a=e.current(n);return e.advance(n),92===a&&this.regexp_eatRegExpUnicodeEscapeSequence(e,n)&&(a=e.lastIntValue),function(e){return Y(e,!0)||36===e||95===e||8204===e||8205===e}(a)?(e.lastIntValue=a,!0):(e.pos=t,!1)},ot.regexp_eatAtomEscape=function(e){return!!(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e))||(e.switchU&&(99===e.current()&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},ot.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var n=e.lastIntValue;if(e.switchU)return n>e.maxBackReference&&(e.maxBackReference=n),!0;if(n<=e.numCapturingParens)return!0;e.pos=t}return!1},ot.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},ot.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},ot.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},ot.regexp_eatZero=function(e){return 48===e.current()&&!gt(e.lookahead())&&(e.lastIntValue=0,e.advance(),!0)},ot.regexp_eatControlEscape=function(e){var t=e.current();return 116===t?(e.lastIntValue=9,e.advance(),!0):110===t?(e.lastIntValue=10,e.advance(),!0):118===t?(e.lastIntValue=11,e.advance(),!0):102===t?(e.lastIntValue=12,e.advance(),!0):114===t&&(e.lastIntValue=13,e.advance(),!0)},ot.regexp_eatControlLetter=function(e){var t=e.current();return!!ct(t)&&(e.lastIntValue=t%32,e.advance(),!0)},ot.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){void 0===t&&(t=!1);var n,a=e.pos,r=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(r&&i>=55296&&i<=56319){var s=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var o=e.lastIntValue;if(o>=56320&&o<=57343)return e.lastIntValue=1024*(i-55296)+(o-56320)+65536,!0}e.pos=s,e.lastIntValue=i}return!0}if(r&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&((n=e.lastIntValue)>=0&&n<=1114111))return!0;r&&e.raise("Invalid unicode escape"),e.pos=a}return!1},ot.regexp_eatIdentityEscape=function(e){if(e.switchU)return!!this.regexp_eatSyntaxCharacter(e)||!!e.eat(47)&&(e.lastIntValue=47,!0);var t=e.current();return!(99===t||e.switchN&&107===t)&&(e.lastIntValue=t,e.advance(),!0)},ot.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48),e.advance()}while((t=e.current())>=48&&t<=57);return!0}return!1},ot.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(function(e){return 100===e||68===e||115===e||83===e||119===e||87===e}(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(80===t||112===t)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1},ot.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var n=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var a=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,n,a),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var r=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,r),!0}return!1},ot.regexp_validateUnicodePropertyNameAndValue=function(e,t,n){de(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(n)||e.raise("Invalid property value")},ot.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")},ot.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";ut(t=e.current());)e.lastStringValue+=ue(t),e.advance();return""!==e.lastStringValue},ot.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";ht(t=e.current());)e.lastStringValue+=ue(t),e.advance();return""!==e.lastStringValue},ot.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},ot.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1},ot.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var n=e.lastIntValue;!e.switchU||-1!==t&&-1!==n||e.raise("Invalid character class"),-1!==t&&-1!==n&&t>n&&e.raise("Range out of order in character class")}}},ot.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var n=e.current();(99===n||mt(n))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var a=e.current();return 93!==a&&(e.lastIntValue=a,e.advance(),!0)},ot.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},ot.regexp_eatClassControlLetter=function(e){var t=e.current();return!(!gt(t)&&95!==t)&&(e.lastIntValue=t%32,e.advance(),!0)},ot.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},ot.regexp_eatDecimalDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;gt(n=e.current());)e.lastIntValue=10*e.lastIntValue+(n-48),e.advance();return e.pos!==t},ot.regexp_eatHexDigits=function(e){var t=e.pos,n=0;for(e.lastIntValue=0;pt(n=e.current());)e.lastIntValue=16*e.lastIntValue+ft(n),e.advance();return e.pos!==t},ot.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var n=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=64*t+8*n+e.lastIntValue:e.lastIntValue=8*t+n}else e.lastIntValue=t;return!0}return!1},ot.regexp_eatOctalDigit=function(e){var t=e.current();return mt(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)},ot.regexp_eatFixedHexDigits=function(e,t){var n=e.pos;e.lastIntValue=0;for(var a=0;a<t;++a){var r=e.current();if(!pt(r))return e.pos=n,!1;e.lastIntValue=16*e.lastIntValue+ft(r),e.advance()}return!0};var Rt=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new pe(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},yt=ve.prototype;function bt(e){return"function"!=typeof BigInt?null:BigInt(e.replace(/_/g,""))}yt.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new Rt(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},yt.getToken=function(){return this.next(),new Rt(this)},"undefined"!=typeof Symbol&&(yt[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===Z.eof,value:t}}}}),yt.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(Z.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},yt.readToken=function(e){return H(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},yt.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},yt.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,n=this.input.indexOf("*/",this.pos+=2);if(-1===n&&this.raise(this.pos-2,"Unterminated comment"),this.pos=n+2,this.options.locations)for(var a=void 0,r=t;(a=ne(this.input,r,this.pos))>-1;)++this.curLine,r=this.lineStart=a;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,n),t,this.pos,e,this.curPosition())},yt.skipLineComment=function(e){for(var t=this.pos,n=this.options.onComment&&this.curPosition(),a=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&!te(a);)a=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,n,this.curPosition())},yt.skipSpace=function(){e:for(;this.pos<this.input.length;){var e=this.input.charCodeAt(this.pos);switch(e){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break e}break;default:if(!(e>8&&e<14||e>=5760&&ae.test(String.fromCharCode(e))))break e;++this.pos}}},yt.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},yt.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(Z.ellipsis)):(++this.pos,this.finishToken(Z.dot))},yt.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(Z.assign,2):this.finishOp(Z.slash,1)},yt.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,a=42===e?Z.star:Z.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++n,a=Z.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(Z.assign,n+1):this.finishOp(a,n)},yt.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(Z.assign,3);return this.finishOp(124===e?Z.logicalOR:Z.logicalAND,2)}return 61===t?this.finishOp(Z.assign,2):this.finishOp(124===e?Z.bitwiseOR:Z.bitwiseAND,1)},yt.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(Z.assign,2):this.finishOp(Z.bitwiseXOR,1)},yt.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!==t||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!Q.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(Z.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(Z.assign,2):this.finishOp(Z.plusMin,1)},yt.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+n)?this.finishOp(Z.assign,n+1):this.finishOp(Z.bitShift,n)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(n=2),this.finishOp(Z.relational,n)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},yt.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(Z.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(Z.arrow)):this.finishOp(61===e?Z.eq:Z.prefix,1)},yt.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(46===t){var n=this.input.charCodeAt(this.pos+2);if(n<48||n>57)return this.finishOp(Z.questionDot,2)}if(63===t){if(e>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(Z.assign,3);return this.finishOp(Z.coalesce,2)}}return this.finishOp(Z.question,1)},yt.readToken_numberSign=function(){var e=35;if(this.options.ecmaVersion>=13&&(++this.pos,H(e=this.fullCharCodeAtPos(),!0)||92===e))return this.finishToken(Z.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+ue(e)+"'")},yt.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(Z.parenL);case 41:return++this.pos,this.finishToken(Z.parenR);case 59:return++this.pos,this.finishToken(Z.semi);case 44:return++this.pos,this.finishToken(Z.comma);case 91:return++this.pos,this.finishToken(Z.bracketL);case 93:return++this.pos,this.finishToken(Z.bracketR);case 123:return++this.pos,this.finishToken(Z.braceL);case 125:return++this.pos,this.finishToken(Z.braceR);case 58:return++this.pos,this.finishToken(Z.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(Z.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(Z.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+ue(e)+"'")},yt.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)},yt.readRegexp=function(){for(var e,t,n=this.pos;;){this.pos>=this.input.length&&this.raise(n,"Unterminated regular expression");var a=this.input.charAt(this.pos);if(Q.test(a)&&this.raise(n,"Unterminated regular expression"),e)e=!1;else{if("["===a)t=!0;else if("]"===a&&t)t=!1;else if("/"===a&&!t)break;e="\\"===a}++this.pos}var r=this.input.slice(n,this.pos);++this.pos;var i=this.pos,s=this.readWord1();this.containsEsc&&this.unexpected(i);var o=this.regexpState||(this.regexpState=new dt(this));o.reset(n,r,s),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var d=null;try{d=new RegExp(r,s)}catch(l){}return this.finishToken(Z.regexp,{pattern:r,flags:s,value:d})},yt.readInt=function(e,t,n){for(var a=this.options.ecmaVersion>=12&&void 0===t,r=n&&48===this.input.charCodeAt(this.pos),i=this.pos,s=0,o=0,d=0,l=null==t?1/0:t;d<l;++d,++this.pos){var c=this.input.charCodeAt(this.pos),u=void 0;if(a&&95===c)r&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),95===o&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),0===d&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),o=c;else{if((u=c>=97?c-97+10:c>=65?c-65+10:c>=48&&c<=57?c-48:1/0)>=e)break;o=c,s=s*e+u}}return a&&95===o&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===i||null!=t&&this.pos-i!==t?null:s},yt.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var n=this.readInt(e);return null==n&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(n=bt(this.input.slice(t,this.pos)),++this.pos):H(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Z.num,n)},yt.readNumber=function(e){var t=this.pos;e||null!==this.readInt(10,void 0,!0)||this.raise(t,"Invalid number");var n=this.pos-t>=2&&48===this.input.charCodeAt(t);n&&this.strict&&this.raise(t,"Invalid number");var a=this.input.charCodeAt(this.pos);if(!n&&!e&&this.options.ecmaVersion>=11&&110===a){var r=bt(this.input.slice(t,this.pos));return++this.pos,H(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Z.num,r)}n&&/[89]/.test(this.input.slice(t,this.pos))&&(n=!1),46!==a||n||(++this.pos,this.readInt(10),a=this.input.charCodeAt(this.pos)),69!==a&&101!==a||n||(43!==(a=this.input.charCodeAt(++this.pos))&&45!==a||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number")),H(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var i,s=(i=this.input.slice(t,this.pos),n?parseInt(i,8):parseFloat(i.replace(/_/g,"")));return this.finishToken(Z.num,s)},yt.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,"Code point out of bounds")}else e=this.readHexChar(4);return e},yt.readString=function(e){for(var t="",n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var a=this.input.charCodeAt(this.pos);if(a===e)break;92===a?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):8232===a||8233===a?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(te(a)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(Z.string,t)};var xt={};yt.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==xt)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},yt.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw xt;this.raise(e,t)},yt.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var n=this.input.charCodeAt(this.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==Z.template&&this.type!==Z.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(Z.template,e)):36===n?(this.pos+=2,this.finishToken(Z.dollarBraceL)):(++this.pos,this.finishToken(Z.backQuote));if(92===n)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(te(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},yt.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if("{"!==this.input[this.pos+1])break;case"`":return this.finishToken(Z.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,"Unterminated template")},yt.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return ue(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,"Invalid escape sequence"),e){var n=this.pos-1;return this.invalidStringToken(n,"Invalid escape sequence in template string"),null}default:if(t>=48&&t<=55){var a=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(a,8);return r>255&&(a=a.slice(0,-1),r=parseInt(a,8)),this.pos+=a.length-1,t=this.input.charCodeAt(this.pos),"0"===a&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-a.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(r)}return te(t)?"":String.fromCharCode(t)}},yt.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return null===n&&this.invalidStringToken(t,"Bad character escape sequence"),n},yt.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,n=this.pos,a=this.options.ecmaVersion>=6;this.pos<this.input.length;){var r=this.fullCharCodeAtPos();if(Y(r,a))this.pos+=r<=65535?1:2;else{if(92!==r)break;this.containsEsc=!0,e+=this.input.slice(n,this.pos);var i=this.pos;117!==this.input.charCodeAt(++this.pos)&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var s=this.readCodePoint();(t?H:Y)(s,a)||this.invalidStringToken(i,"Invalid Unicode escape"),e+=ue(s),n=this.pos}t=!1}return e+this.input.slice(n,this.pos)},yt.readWord=function(){var e=this.readWord1(),t=Z.name;return this.keywords.test(e)&&(t=J[e]),this.finishToken(t,e)};ve.acorn={Parser:ve,version:"8.8.1",defaultOptions:me,Position:ge,SourceLocation:pe,getLineInfo:fe,Node:He,TokenType:W,tokTypes:Z,keywordTypes:J,TokContext:Ne,tokContexts:Be,isIdentifierChar:Y,isIdentifierStart:H,Token:Rt,isNewLine:te,lineBreak:Q,lineBreakG:ee,nonASCIIwhitespace:ae};var vt=n(55977),_t=n(4663),kt=n(75364),Ct=n(42761);function wt(e){const t=e||{},n=t.loc||{},a=t.range||[0,0],r=a[0]||t.start,i=a[1]||t.end;return{start:{line:n.start&&"number"==typeof n.start.line&&n.start.line>-1?n.start.line:void 0,column:n.start&&"number"==typeof n.start.column&&n.start.column>-1?n.start.column+1:void 0,offset:"number"==typeof r&&r>-1?r:void 0},end:{line:n.end&&"number"==typeof n.end.line&&n.end.line>-1?n.end.line:void 0,column:n.end&&"number"==typeof n.end.column&&n.end.column>-1?n.end.column+1:void 0,offset:"number"==typeof i&&i>-1?i:void 0}}}const Et={}.hasOwnProperty,St=Symbol("continue"),At=Symbol("skip"),Tt=Symbol("exit");function Dt(e){return Array.isArray(e)?e:"number"==typeof e?[St,e]:[e]}function Lt(e){return Boolean(e&&"object"==typeof e&&"string"==typeof e.type&&e.type.length>0)}function It(e,t){const{prefix:n="",suffix:a=""}=t,r=Object.assign({},t.acornOptions),i=[],s=[],o=r.onComment,d=r.onToken,l=Object.assign({},r,{onComment:i,onToken:d?s:void 0,preserveParens:!0}),c=[],u={};let h,g,f,m=-1,R=!1;for(t.start&&(f=t.start.line,u[f]=t.start);++m<e.length;){const[t,n,a]=e[m];"exit"===t&&(c.push(a.sliceSerialize(n)),C(n.start),C(n.end))}const y=c.join(""),b=n+y+a,x=t.expression&&Ft(y),v=function(e){for(var t=String(e),n=[],a=/\r?\n|\r/g;a.test(t);)n.push(a.lastIndex);return n.push(t.length+1),{toPoint:function(e){var t=-1;if(e>-1&&e<n[n.length-1])for(;++t<n.length;)if(n[t]>e)return{line:t+1,column:e-(n[t-1]||0)+1,offset:e};return{line:void 0,column:void 0,offset:void 0}},toOffset:function(e){var t,a=e&&e.line,r=e&&e.column;return"number"!=typeof a||"number"!=typeof r||Number.isNaN(a)||Number.isNaN(r)||!(a-1 in n)||(t=(n[a-2]||0)+r-1||0),t>-1&&t<n[n.length-1]?t:-1}}}(y);if(x&&!t.allowEmpty)throw new p("Unexpected empty expression",k(0),"micromark-extension-mdx-expression:unexpected-empty-expression");try{h=t.expression&&!x?t.acorn.parseExpressionAt(b,0,l):t.acorn.parse(b,l)}catch(w){const e=w,t=k(e.pos);e.message=String(e.message).replace(/ \(\d+:\d+\)$/,""),e.pos=t.offset,e.loc={line:t.line,column:t.column-1},g=e,R=e.raisedAt>=n.length+y.length||"Unterminated comment"===e.message}if(h&&t.expression&&!x)if(Ft(b.slice(h.end,b.length-a.length)))h={type:"Program",start:0,end:n.length+y.length,body:[{type:"ExpressionStatement",expression:h,start:0,end:n.length+y.length}],sourceType:"module",comments:[]};else{const e=k(h.end);g=new Error("Unexpected content after expression"),g.pos=e.offset,g.loc={line:e.line,column:e.column-1},h=void 0}if(h){if(h.comments=i,function(e,t){let n,a;"function"==typeof t?n=t:t&&"object"==typeof t&&(n=t.enter,a=t.leave),function e(t,r,i,s){return Lt(t)&&(o.displayName="node ("+t.type+")"),o;function o(){const o=n?Dt(n(t,r,i,s)):[];if(o[0]===Tt)return o;if(o[0]!==At){let n;for(n in t)if(Et.call(t,n)&&t[n]&&"object"==typeof t[n]&&"data"!==n&&"position"!==n){const a=t[n],r=s.concat(t);if(Array.isArray(a)){let t=0;for(;t>-1&&t<a.length;){const i=a[t];if(Lt(i)){const a=e(i,n,t,r)();if(a[0]===Tt)return a;t="number"==typeof a[1]?a[1]:t+1}else t++}}else if(Lt(a)){const t=e(a,n,null,r)();if(t[0]===Tt)return t}}}return a?Dt(a(t,r,i,s)):o}}(e,null,null,[])()}(h,((e,t,n,a)=>{let r=a[a.length-1],i=t;"ParenthesizedExpression"===e.type&&r&&i&&("number"==typeof n&&(r=r[i],i=n),r[i]=e.expression),_(e)})),Array.isArray(o))o.push(...i);else if("function"==typeof o)for(const e of i)o("Block"===e.type,e.value,e.start,e.end,e.loc.start,e.loc.end);for(const e of s)_(e),Array.isArray(d)?d.push(e):d(e)}return{estree:h,error:g,swallow:R};function _(e){const t=k(e.start),n=k(e.end);e.start=t.offset,e.end=n.offset,e.loc={start:{line:t.line,column:t.column-1,offset:t.offset},end:{line:n.line,column:n.column-1,offset:n.offset}},e.range=[e.start,e.end]}function k(e){let t=e-n.length;t<0?t=0:t>y.length&&(t=y.length);const a=v.toPoint(t),r=f+(a.line-1);return{line:r,column:u[r].column+(a.column-1),offset:u[r].offset+(a.column-1)}}function C(e){(!f||e.line<f)&&(f=e.line),(!(e.line in u)||u[e.line].offset>e.offset)&&(u[e.line]=e)}}function Ft(e){return/^\s*$/.test(e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\/\/[^\r\n]*(\r\n|\n|\r)/g,""))}function Ot(e,t,n,a,r,i,s,o,d,l,c,u){const h=this,g=this.events.length+3,f=this.events[this.events.length-1],m=f&&"linePrefix"===f[1].type?f[2].sliceSerialize(f[1],!0).length:0,R=m?m+1:0;let y,b,x=1;return function(t){return e.enter(n),e.enter(a),e.consume(t),e.exit(a),y=h.now(),v};function v(f){if(null===f)throw b||new p("Unexpected end of file in expression, expected a corresponding closing brace for `{`",h.now(),"micromark-extension-mdx-expression:unexpected-eof");if(125===f)return function(c){if(x--,!i)return x?(e.enter(r),e.consume(c),_):(e.enter(a),e.consume(c),e.exit(a),e.exit(n),t);const u=It(h.events.slice(g),{acorn:i,acornOptions:s,start:y,expression:!0,allowEmpty:l,prefix:d?"({":"",suffix:d?"})":""}),f=u.estree;if(d&&f){const e=f.body[0];if("ExpressionStatement"!==e.type||"ObjectExpression"!==e.expression.type)throw new p("Unexpected `"+e.type+"` in code: expected an object spread (`{...spread}`)",wt(e).start,"micromark-extension-mdx-expression:non-spread");if(e.expression.properties[1])throw new p("Unexpected extra content in spread: only a single spread is supported",wt(e.expression.properties[1]).start,"micromark-extension-mdx-expression:spread-extra");if(e.expression.properties[0]&&"SpreadElement"!==e.expression.properties[0].type)throw new p("Unexpected `"+e.expression.properties[0].type+"` in code: only spread elements are supported",wt(e.expression.properties[0]).start,"micromark-extension-mdx-expression:non-spread")}if(u.error){if(b=new p("Could not parse expression with acorn: "+u.error.message,{line:u.error.loc.line,column:u.error.loc.column+1,offset:u.error.pos},"micromark-extension-mdx-expression:acorn"),null!==c&&u.swallow)return e.enter(r),e.consume(c),_;throw b}return e.enter(a),e.consume(c),e.exit(a),Object.assign(e.exit(n),o?{estree:f}:void 0),t}(f);if((0,kt.Ch)(f)){e.enter("lineEnding"),e.consume(f),e.exit("lineEnding");const t=u?u+4-h.now().column:0,n=Math.max(R,t);return n?(0,Ct.f)(e,v,"linePrefix",n):v}const m=h.now();if(m.line!==y.line&&!c&&h.parser.lazy[m.line])throw new p("Unexpected end of file in expression, expected a corresponding closing brace for `{`",h.now(),"micromark-extension-mdx-expression:unexpected-eof");return e.enter(r),_(f)}function _(t){return null===t||125===t||(0,kt.Ch)(t)?(e.exit(r),v(t)):123!==t||i?(e.consume(t),_):(e.consume(t),x++,_)}}function Nt(e={}){const t=e.addResult,n=e.acorn,a=e.spread;let r,i=e.allowEmpty;if(null==i&&(i=!0),n){if(!n.parseExpressionAt)throw new Error("Expected a proper `acorn` instance passed in as `options.acorn`");r=Object.assign({ecmaVersion:2020,sourceType:"module"},e.acornOptions)}else if(e.acornOptions||e.addResult)throw new Error("Expected an `acorn` instance passed in as `options.acorn`");return{flow:{123:{tokenize:function(e,s,o){const d=this;return function(s){return Ot.call(d,e,(0,Ct.f)(e,l,"whitespace"),"mdxFlowExpression","mdxFlowExpressionMarker","mdxFlowExpressionChunk",n,r,t,a,i)(s)};function l(e){return null===e||(0,kt.Ch)(e)?s(e):o(e)}},concrete:!0}},text:{123:{tokenize:function(e,s){const o=this;return function(d){return Ot.call(o,e,s,"mdxTextExpression","mdxTextExpressionMarker","mdxTextExpressionChunk",n,r,t,a,i,!0)(d)}}}}}}const Bt=/[$A-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Mt=/[\d\u00B7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF\u1AC0\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/;function Pt(e){return Bt.test(String.fromCharCode(e))}function jt(e){const t=String.fromCharCode(e);return Bt.test(t)||Mt.test(t)}function Vt(e){let t=-1;for(;++t<e.length;)if(!(t?jt:Pt)(e.charCodeAt(t)))return!1;return t>0}const $t={tokenize:function(e,t,n){const a=this;return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),r};function r(e){return a.parser.lazy[a.now().line]?n(e):t(e)}},partial:!0};function Ut(e,t,n,a,r,i,s,o,d,l,c,u,h,g,f,m,R,y,b,x,v,_,k,C,w,E,S,A,T,D,L,I){const F=this;let O,N,B;return function(t){return B=F.now(),e.enter(o),e.enter(d),e.consume(t),e.exit(d),M};function M(e){return(0,kt.Ch)(e)||(0,kt.xz)(e)?n(e):(O=P,oe(e))}function P(t){return 47===t?(e.enter(l),e.consume(t),e.exit(l),O=j,oe):62===t?se(t):null!==t&&Pt(t)?(e.enter(u),e.enter(h),e.consume(t),V):void ce(t,"before name","a character that can start a name, such as a letter, `$`, or `_`"+(33===t?" (note: to create a comment in MDX, use `{/* text */}`)":""))}function j(t){return 62===t?se(t):null!==t&&Pt(t)?(e.enter(u),e.enter(h),e.consume(t),V):void ce(t,"before name","a character that can start a name, such as a letter, `$`, or `_`"+(42===t||47===t?" (note: JS comments in JSX tags are not supported in MDX)":""))}function V(t){return 45===t||null!==t&&jt(t)?(e.consume(t),V):46===t||47===t||58===t||62===t||123===t||(0,kt.z3)(t)||(0,kt.B8)(t)?(e.exit(h),O=$,oe(t)):void ce(t,"in name","a name character such as letters, digits, `$`, or `_`; whitespace before attributes; or the end of the tag"+(64===t?" (note: to create a link in MDX, use `[text](url)`)":""))}function $(t){return 46===t?(e.enter(g),e.consume(t),e.exit(g),O=U,oe):58===t?(e.enter(m),e.consume(t),e.exit(m),O=Y,oe):47===t||62===t||123===t||null!==t&&Pt(t)?(e.exit(u),G(t)):void ce(t,"after name","a character that can start an attribute name, such as a letter, `$`, or `_`; whitespace before attributes; or the end of the tag")}function U(t){if(null!==t&&Pt(t))return e.enter(f),e.consume(t),z;ce(t,"before member name","a character that can start an attribute name, such as a letter, `$`, or `_`; whitespace before attributes; or the end of the tag")}function z(t){return 45===t||null!==t&&jt(t)?(e.consume(t),z):46===t||47===t||62===t||123===t||(0,kt.z3)(t)||(0,kt.B8)(t)?(e.exit(f),O=H,oe(t)):void ce(t,"in member name","a name character such as letters, digits, `$`, or `_`; whitespace before attributes; or the end of the tag"+(64===t?" (note: to create a link in MDX, use `[text](url)`)":""))}function H(t){return 46===t?(e.enter(g),e.consume(t),e.exit(g),O=U,oe):47===t||62===t||123===t||null!==t&&Pt(t)?(e.exit(u),G(t)):void ce(t,"after member name","a character that can start an attribute name, such as a letter, `$`, or `_`; whitespace before attributes; or the end of the tag")}function Y(t){if(null!==t&&Pt(t))return e.enter(R),e.consume(t),W;ce(t,"before local name","a character that can start a name, such as a letter, `$`, or `_`"+(43===t||null!==t&&t>46&&t<58?" (note: to create a link in MDX, use `[text](url)`)":""))}function W(t){return 45===t||null!==t&&jt(t)?(e.consume(t),W):47===t||62===t||123===t||(0,kt.z3)(t)||(0,kt.B8)(t)?(e.exit(R),O=q,oe(t)):void ce(t,"in local name","a name character such as letters, digits, `$`, or `_`; whitespace before attributes; or the end of the tag")}function q(t){if(47===t||62===t||123===t||null!==t&&Pt(t))return e.exit(u),G(t);ce(t,"after local name","a character that can start an attribute name, such as a letter, `$`, or `_`; whitespace before attributes; or the end of the tag")}function G(t){return 47===t?(e.enter(c),e.consume(t),e.exit(c),O=ie,oe):62===t?se(t):123===t?Ot.call(F,e,X,y,b,x,a,r,i,!0,!1,s,B.column)(t):null!==t&&Pt(t)?(e.enter(v),e.enter(_),e.enter(k),e.consume(t),J):void ce(t,"before attribute name","a character that can start an attribute name, such as a letter, `$`, or `_`; whitespace before attributes; or the end of the tag")}function X(e){return O=G,oe(e)}function J(t){return 45===t||null!==t&&jt(t)?(e.consume(t),J):47===t||58===t||61===t||62===t||123===t||(0,kt.z3)(t)||(0,kt.B8)(t)?(e.exit(k),O=K,oe(t)):void ce(t,"in attribute name","an attribute name character such as letters, digits, `$`, or `_`; `=` to initialize a value; whitespace before attributes; or the end of the tag")}function K(t){return 58===t?(e.enter(C),e.consume(t),e.exit(C),O=Z,oe):61===t?(e.exit(_),e.enter(E),e.consume(t),e.exit(E),O=te,oe):47===t||62===t||123===t||(0,kt.z3)(t)||(0,kt.B8)(t)||null!==t&&Pt(t)?(e.exit(_),e.exit(v),O=G,oe(t)):void ce(t,"after attribute name","a character that can start an attribute name, such as a letter, `$`, or `_`; `=` to initialize a value; or the end of the tag")}function Z(t){if(null!==t&&Pt(t))return e.enter(w),e.consume(t),Q;ce(t,"before local attribute name","a character that can start an attribute name, such as a letter, `$`, or `_`; `=` to initialize a value; or the end of the tag")}function Q(t){return 45===t||null!==t&&jt(t)?(e.consume(t),Q):47===t||61===t||62===t||123===t||(0,kt.z3)(t)||(0,kt.B8)(t)?(e.exit(w),e.exit(_),O=ee,oe(t)):void ce(t,"in local attribute name","an attribute name character such as letters, digits, `$`, or `_`; `=` to initialize a value; whitespace before attributes; or the end of the tag")}function ee(t){return 61===t?(e.enter(E),e.consume(t),e.exit(E),O=te,oe):47===t||62===t||123===t||null!==t&&Pt(t)?(e.exit(v),G(t)):void ce(t,"after local attribute name","a character that can start an attribute name, such as a letter, `$`, or `_`; `=` to initialize a value; or the end of the tag")}function te(t){return 34===t||39===t?(e.enter(S),e.enter(A),e.consume(t),e.exit(A),N=t,ae):123===t?Ot.call(F,e,ne,D,L,I,a,r,i,!1,!1,s,B.column)(t):void ce(t,"before attribute value","a character that can start an attribute value, such as `\"`, `'`, or `{`"+(60===t?" (note: to use an element or fragment as a prop value in MDX, use `{<element />}`)":""))}function ne(t){return e.exit(v),O=G,oe(t)}function ae(t){return null===t&&ce(t,"in attribute value","a corresponding closing quote `"+String.fromCharCode(N)+"`"),t===N?(e.enter(A),e.consume(t),e.exit(A),e.exit(S),e.exit(v),N=void 0,O=G,oe):(0,kt.Ch)(t)?(O=ae,oe(t)):(e.enter(T),re(t))}function re(t){return null===t||t===N||(0,kt.Ch)(t)?(e.exit(T),ae(t)):(e.consume(t),re)}function ie(e){if(62===e)return se(e);ce(e,"after self-closing slash","`>` to end the tag"+(42===e||47===e?" (note: JS comments in JSX tags are not supported in MDX)":""))}function se(n){return e.enter(d),e.consume(n),e.exit(d),e.exit(o),t}function oe(t){return(0,kt.Ch)(t)?s?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),(0,Ct.f)(e,oe,"linePrefix",4)):e.attempt($t,(0,Ct.f)(e,oe,"linePrefix",4),le)(t):(0,kt.xz)(t)||(0,kt.B8)(t)?(e.enter("esWhitespace"),de(t)):O(t)}function de(t){return(0,kt.Ch)(t)||!(0,kt.xz)(t)&&!(0,kt.B8)(t)?(e.exit("esWhitespace"),oe(t)):(e.consume(t),de)}function le(){throw new p("Unexpected lazy line in container, expected line to be prefixed with `>` when in a block quote, whitespace when in a list, etc",F.now(),"micromark-extension-mdx-jsx:unexpected-eof")}function ce(e,t,n){throw new p("Unexpected "+(null===e?"end of file":"character `"+(96===e?"` ` `":String.fromCharCode(e))+"` ("+function(e){return"U+"+e.toString(16).toUpperCase().padStart(4,"0")}(e)+")")+" "+t+", expected "+n,F.now(),"micromark-extension-mdx-jsx:unexpected-"+(null===e?"eof":"character"))}}function zt(e,t,n){return{tokenize:function(a,r,i){return Ut.call(this,a,r,i,e,t,n,!0,"mdxJsxTextTag","mdxJsxTextTagMarker","mdxJsxTextTagClosingMarker","mdxJsxTextTagSelfClosingMarker","mdxJsxTextTagName","mdxJsxTextTagNamePrimary","mdxJsxTextTagNameMemberMarker","mdxJsxTextTagNameMember","mdxJsxTextTagNamePrefixMarker","mdxJsxTextTagNameLocal","mdxJsxTextTagExpressionAttribute","mdxJsxTextTagExpressionAttributeMarker","mdxJsxTextTagExpressionAttributeValue","mdxJsxTextTagAttribute","mdxJsxTextTagAttributeName","mdxJsxTextTagAttributeNamePrimary","mdxJsxTextTagAttributeNamePrefixMarker","mdxJsxTextTagAttributeNameLocal","mdxJsxTextTagAttributeInitializerMarker","mdxJsxTextTagAttributeValueLiteral","mdxJsxTextTagAttributeValueLiteralMarker","mdxJsxTextTagAttributeValueLiteralValue","mdxJsxTextTagAttributeValueExpression","mdxJsxTextTagAttributeValueExpressionMarker","mdxJsxTextTagAttributeValueExpressionValue")}}}function Ht(e,t,n){return{tokenize:function(a,r,i){const s=this;return o;function o(r){return Ut.call(s,a,(0,Ct.f)(a,d,"whitespace"),i,e,t,n,!1,"mdxJsxFlowTag","mdxJsxFlowTagMarker","mdxJsxFlowTagClosingMarker","mdxJsxFlowTagSelfClosingMarker","mdxJsxFlowTagName","mdxJsxFlowTagNamePrimary","mdxJsxFlowTagNameMemberMarker","mdxJsxFlowTagNameMember","mdxJsxFlowTagNamePrefixMarker","mdxJsxFlowTagNameLocal","mdxJsxFlowTagExpressionAttribute","mdxJsxFlowTagExpressionAttributeMarker","mdxJsxFlowTagExpressionAttributeValue","mdxJsxFlowTagAttribute","mdxJsxFlowTagAttributeName","mdxJsxFlowTagAttributeNamePrimary","mdxJsxFlowTagAttributeNamePrefixMarker","mdxJsxFlowTagAttributeNameLocal","mdxJsxFlowTagAttributeInitializerMarker","mdxJsxFlowTagAttributeValueLiteral","mdxJsxFlowTagAttributeValueLiteralMarker","mdxJsxFlowTagAttributeValueLiteralValue","mdxJsxFlowTagAttributeValueExpression","mdxJsxFlowTagAttributeValueExpressionMarker","mdxJsxFlowTagAttributeValueExpressionValue")(r)}function d(e){return 60===e?o(e):null===e||(0,kt.Ch)(e)?r(e):i(e)}},concrete:!0}}function Yt(e={}){const t=e.acorn;let n;if(t){if(!t.parse||!t.parseExpressionAt)throw new Error("Expected a proper `acorn` instance passed in as `options.acorn`");n=Object.assign({ecmaVersion:2020,sourceType:"module"},e.acornOptions,{locations:!0})}else if(e.acornOptions||e.addResult)throw new Error("Expected an `acorn` instance passed in as `options.acorn`");return{flow:{60:Ht(t,n,e.addResult)},text:{60:zt(t,n,e.addResult)}}}const Wt={disable:{null:["autolink","codeIndented","htmlFlow","htmlText"]}};var qt=n(23402);const Gt={tokenize:function(e,t,n){return function(a){return e.exit("mdxjsEsmData"),e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),e.attempt(qt.w,t,n)}},partial:!0},Xt=new Set(["ExportAllDeclaration","ExportDefaultDeclaration","ExportNamedDeclaration","ImportDeclaration"]);function Jt(e){const t={tokenize:function(t,r,i){const s=this,o=s.parser.definedModuleSpecifiers||(s.parser.definedModuleSpecifiers=[]),d=this.events.length+1;let l,c=0;return s.interrupt?i:function(e){return s.now().column>1?i(e):(l=101===e?"export":"import",t.enter("mdxjsEsm"),t.enter("mdxjsEsmData"),u(e))};function u(e){return e===l.charCodeAt(c++)?(t.consume(e),c===l.length?h:u):i(e)}function h(e){return(0,kt.B8)(e)?(t.consume(e),g):i(e)}function g(e){return null===e?R(e):(0,kt.Ch)(e)?t.check(Gt,R,f)(e):(t.consume(e),g)}function f(e){return t.exit("mdxjsEsmData"),m(e)}function m(e){return(0,kt.Ch)(e)?(t.enter("lineEnding"),t.consume(e),t.exit("lineEnding"),m):null===e?y(e):(t.enter("mdxjsEsmData"),g(e))}function R(e){return t.exit("mdxjsEsmData"),y(e)}function y(i){let l=-1;const c=It(s.events.slice(d),{acorn:n,acornOptions:a,prefix:o.length>0?"var "+o.join(",")+"\n":""});if(null!==i&&c.swallow)return m(i);if(c.error)throw new p("Could not parse import/exports with acorn: "+String(c.error),{line:c.error.loc.line,column:c.error.loc.column+1,offset:c.error.pos},"micromark-extension-mdxjs-esm:acorn");for(o.length>0&&c.estree.body.shift();++l<c.estree.body.length;){const e=c.estree.body[l];if(!Xt.has(e.type))throw new p("Unexpected `"+e.type+"` in code: only import/exports are supported",wt(e),"micromark-extension-mdxjs-esm:non-esm");if("ImportDeclaration"===e.type&&!s.interrupt){let t=-1;for(;++t<e.specifiers.length;)o.push(e.specifiers[t].local.name)}}return Object.assign(t.exit("mdxjsEsm"),e.addResult?{estree:c.estree}:void 0),r(i)}},concrete:!0};if(!e||!e.acorn||!e.acorn.parse)throw new Error("Expected an `acorn` instance passed in as `options.acorn`");const n=e.acorn,a=Object.assign({ecmaVersion:2020,sourceType:"module"},e.acornOptions);return{flow:{101:t,105:t}}}const Kt={enter:{mdxFlowExpression:function(e){this.enter({type:"mdxFlowExpression",value:""},e),this.buffer()},mdxTextExpression:function(e){this.enter({type:"mdxTextExpression",value:""},e),this.buffer()}},exit:{mdxFlowExpression:Qt,mdxFlowExpressionChunk:en,mdxTextExpression:Qt,mdxTextExpressionChunk:en}},Zt={handlers:{mdxFlowExpression:tn,mdxTextExpression:tn},unsafe:[{character:"{",inConstruct:["phrasing"]},{atBreak:!0,character:"{"}]};function Qt(e){const t=this.resume(),n=e.estree,a=this.exit(e);a.value=t,n&&(a.data={estree:n})}function en(e){this.config.enter.data.call(this,e),this.config.exit.data.call(this,e)}function tn(e){return"{"+(e.value||"")+"}"}var nn=n(64777);const an=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],rn={0:"\ufffd",128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};function sn(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}function on(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}function dn(e){return function(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}(e)||sn(e)}var ln=n(44301);const cn=String.fromCharCode,un=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function hn(e){return e>=55296&&e<=57343||e>1114111}function gn(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535==(65535&e)||65534==(65535&e)}function pn(e,t){return e=e.replace(t.subset?function(e){const t=[];let n=-1;for(;++n<e.length;)t.push(e[n].replace(/[|\\{}()[\]^$+*?.]/g,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}(t.subset):/["&'<>`]/g,n),t.subset||t.escapeOnly?e:e.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,(function(e,n,a){return t.format(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)-56320+65536,a.charCodeAt(n+2),t)})).replace(/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,n);function n(e,n,a){return t.format(e.charCodeAt(0),a.charCodeAt(n+1),t)}}function fn(e){return"&#x"+e.toString(16).toUpperCase()+";"}function mn(e,t){return pn(e,Object.assign({format:fn},t))}var Rn=n(77018),yn=n(87891),bn=n(21665),xn=n(48653);function vn(){return{canContainEols:["mdxJsxTextElement"],enter:{mdxJsxFlowTag:n,mdxJsxFlowTagClosingMarker:a,mdxJsxFlowTagAttribute:u,mdxJsxFlowTagExpressionAttribute:h,mdxJsxFlowTagAttributeValueLiteral:e,mdxJsxFlowTagAttributeValueExpression:e,mdxJsxFlowTagSelfClosingMarker:i,mdxJsxTextTag:n,mdxJsxTextTagClosingMarker:a,mdxJsxTextTagAttribute:u,mdxJsxTextTagExpressionAttribute:h,mdxJsxTextTagAttributeValueLiteral:e,mdxJsxTextTagAttributeValueExpression:e,mdxJsxTextTagSelfClosingMarker:i},exit:{mdxJsxFlowTagClosingMarker:s,mdxJsxFlowTagNamePrimary:o,mdxJsxFlowTagNameMember:d,mdxJsxFlowTagNameLocal:l,mdxJsxFlowTagExpressionAttribute:g,mdxJsxFlowTagExpressionAttributeValue:t,mdxJsxFlowTagAttributeNamePrimary:f,mdxJsxFlowTagAttributeNameLocal:m,mdxJsxFlowTagAttributeValueLiteral:R,mdxJsxFlowTagAttributeValueLiteralValue:t,mdxJsxFlowTagAttributeValueExpression:y,mdxJsxFlowTagAttributeValueExpressionValue:t,mdxJsxFlowTagSelfClosingMarker:b,mdxJsxFlowTag:x,mdxJsxTextTagClosingMarker:s,mdxJsxTextTagNamePrimary:o,mdxJsxTextTagNameMember:d,mdxJsxTextTagNameLocal:l,mdxJsxTextTagExpressionAttribute:g,mdxJsxTextTagExpressionAttributeValue:t,mdxJsxTextTagAttributeNamePrimary:f,mdxJsxTextTagAttributeNameLocal:m,mdxJsxTextTagAttributeValueLiteral:R,mdxJsxTextTagAttributeValueLiteralValue:t,mdxJsxTextTagAttributeValueExpression:y,mdxJsxTextTagAttributeValueExpressionValue:t,mdxJsxTextTagSelfClosingMarker:b,mdxJsxTextTag:x}};function e(){this.buffer()}function t(e){this.config.enter.data.call(this,e),this.config.exit.data.call(this,e)}function n(e){const t={name:null,attributes:[],start:e.start,end:e.end};this.getData("mdxJsxTagStack")||this.setData("mdxJsxTagStack",[]),this.setData("mdxJsxTag",t),this.buffer()}function a(e){if(0===this.getData("mdxJsxTagStack").length)throw new p("Unexpected closing slash `/` in tag, expected an open tag first",{start:e.start,end:e.end},"mdast-util-mdx-jsx:unexpected-closing-slash")}function r(e){if(this.getData("mdxJsxTag").close)throw new p("Unexpected attribute in closing tag, expected the end of the tag",{start:e.start,end:e.end},"mdast-util-mdx-jsx:unexpected-attribute")}function i(e){if(this.getData("mdxJsxTag").close)throw new p("Unexpected self-closing slash `/` in closing tag, expected the end of the tag",{start:e.start,end:e.end},"mdast-util-mdx-jsx:unexpected-self-closing-slash")}function s(){this.getData("mdxJsxTag").close=!0}function o(e){this.getData("mdxJsxTag").name=this.sliceSerialize(e)}function d(e){this.getData("mdxJsxTag").name+="."+this.sliceSerialize(e)}function l(e){this.getData("mdxJsxTag").name+=":"+this.sliceSerialize(e)}function u(e){const t=this.getData("mdxJsxTag");r.call(this,e),t.attributes.push({type:"mdxJsxAttribute",name:"",value:null})}function h(e){const t=this.getData("mdxJsxTag");r.call(this,e),t.attributes.push({type:"mdxJsxExpressionAttribute",value:""}),this.buffer()}function g(e){const t=this.getData("mdxJsxTag"),n=t.attributes[t.attributes.length-1],a=e.estree;n.value=this.resume(),a&&(n.data={estree:a})}function f(e){const t=this.getData("mdxJsxTag");t.attributes[t.attributes.length-1].name=this.sliceSerialize(e)}function m(e){const t=this.getData("mdxJsxTag");t.attributes[t.attributes.length-1].name+=":"+this.sliceSerialize(e)}function R(){const e=this.getData("mdxJsxTag");e.attributes[e.attributes.length-1].value=function(e,t={}){const n="string"==typeof t.additional?t.additional.charCodeAt(0):t.additional,a=[];let r,i,s=0,o=-1,d="";t.position&&("start"in t.position||"indent"in t.position?(i=t.position.indent,r=t.position.start):r=t.position);let l,c=(r?r.line:0)||1,u=(r?r.column:0)||1,h=g();for(s--;++s<=e.length;)if(10===l&&(u=(i?i[o]:0)||1),l=e.charCodeAt(s),38===l){const r=e.charCodeAt(s+1);if(9===r||10===r||12===r||32===r||38===r||60===r||Number.isNaN(r)||n&&r===n){d+=cn(l),u++;continue}const i=s+1;let o,c=i,m=i;if(35===r){m=++c;const t=e.charCodeAt(m);88===t||120===t?(o="hexadecimal",m=++c):o="decimal"}else o="named";let R="",y="",b="";const x="named"===o?dn:"decimal"===o?sn:on;for(m--;++m<=e.length;){const t=e.charCodeAt(m);if(!x(t))break;b+=cn(t),"named"===o&&an.includes(b)&&(R=b,y=(0,ln.T)(b))}let v=59===e.charCodeAt(m);if(v){m++;const e="named"===o&&(0,ln.T)(b);e&&(R=b,y=e)}let _=1+m-i,k="";if(v||!1!==t.nonTerminated)if(b)if("named"===o){if(v&&!y)p(5,1);else if(R!==b&&(m=c+R.length,_=1+m-c,v=!1),!v){const n=R?1:3;if(t.attribute){const t=e.charCodeAt(m);61===t?(p(n,_),y=""):dn(t)?y="":p(n,_)}else p(n,_)}k=y}else{v||p(2,_);let e=Number.parseInt(b,"hexadecimal"===o?16:10);if(hn(e))p(7,_),k=cn(65533);else if(e in rn)p(6,_),k=rn[e];else{let t="";gn(e)&&p(6,_),e>65535&&(e-=65536,t+=cn(e>>>10|55296),e=56320|1023&e),k=t+cn(e)}}else"named"!==o&&p(4,_);if(k){f(),h=g(),s=m-1,u+=m-i+1,a.push(k);const n=g();n.offset++,t.reference&&t.reference.call(t.referenceContext,k,{start:h,end:n},e.slice(i-1,m)),h=n}else b=e.slice(i-1,m),d+=b,u+=b.length,s=m-1}else 10===l&&(c++,o++,u=0),Number.isNaN(l)?f():(d+=cn(l),u++);return a.join("");function g(){return{line:c,column:u,offset:s+((r?r.offset:0)||0)}}function p(e,n){let a;t.warning&&(a=g(),a.column+=n,a.offset+=n,t.warning.call(t.warningContext,un[e],a,e))}function f(){d&&(a.push(d),t.text&&t.text.call(t.textContext,d,{start:h,end:g()}),d="")}}(this.resume(),{nonTerminated:!1})}function y(e){const t=this.getData("mdxJsxTag"),n=t.attributes[t.attributes.length-1],a={type:"mdxJsxAttributeValueExpression",value:this.resume()},r=e.estree;r&&(a.data={estree:r}),n.value=a}function b(){this.getData("mdxJsxTag").selfClosing=!0}function x(e){const t=this.getData("mdxJsxTag"),n=this.getData("mdxJsxTagStack"),a=n[n.length-1];if(t.close&&a.name!==t.name)throw new p("Unexpected closing tag `"+k(t)+"`, expected corresponding closing tag for `"+k(a)+"` ("+c(a)+")",{start:e.start,end:e.end},"mdast-util-mdx-jsx:end-tag-mismatch");this.resume(),t.close?n.pop():this.enter({type:"mdxJsxTextTag"===e.type?"mdxJsxTextElement":"mdxJsxFlowElement",name:t.name,attributes:t.attributes,children:[]},e,v),t.selfClosing||t.close?this.exit(e,_):n.push(t)}function v(e,t){const n=this.getData("mdxJsxTag"),a=e?" before the end of `"+e.type+"`":"",r=e?{start:e.start,end:e.end}:void 0;throw new p("Expected a closing tag for `"+k(n)+"` ("+c({start:t.start,end:t.end})+")"+a,r,"mdast-util-mdx-jsx:end-tag-mismatch")}function _(e,t){const n=this.getData("mdxJsxTag");throw new p("Expected the closing tag `"+k(n)+"` either after the end of `"+t.type+"` ("+c(t.end)+") or another opening tag after the start of `"+t.type+"` ("+c(t.start)+")",{start:e.start,end:e.end},"mdast-util-mdx-jsx:end-tag-mismatch")}function k(e){return"<"+(e.close?"/":"")+(e.name||"")+">"}}function _n(e={}){const{quote:t='"',quoteSmart:n,tightSelfClosing:a,printWidth:r=Number.POSITIVE_INFINITY}=e,i='"'===t?"'":'"';if('"'!==t&&"'"!==t)throw new Error("Cannot serialize attribute values with `"+t+"` for `options.quote`, expected `\"`, or `'`");return s.peek=function(){return"<"},{handlers:{mdxJsxFlowElement:s,mdxJsxTextElement:s},unsafe:[{character:"<",inConstruct:["phrasing"]},{atBreak:!0,character:"<"}],fences:!0,resourceLink:!0};function s(e,s,d,l){const c=(0,xn.j)(l),u=e.name&&(!e.children||0===e.children.length),h=d.enter(e.type);let g=-1;const p=[];let f=c.move("<"+(e.name||""));if(e.attributes&&e.attributes.length>0){if(!e.name)throw new Error("Cannot serialize fragment w/ attributes");for(;++g<e.attributes.length;){const a=e.attributes[g];let r;if("mdxJsxExpressionAttribute"===a.type)r="{"+(a.value||"")+"}";else{if(!a.name)throw new Error("Cannot serialize attribute w/o name");const e=a.value,s=a.name;let o="";if(null==e);else if("object"==typeof e)o="{"+(e.value||"")+"}";else{const a=n&&(0,nn.w)(e,t)>(0,nn.w)(e,i)?i:t;o=a+mn(e,{subset:[a]})+a}r=s+(o?"=":"")+o}p.push(r)}}let m=!1;const R=p.join(" ");return"mdxJsxFlowElement"===e.type&&(/\r?\n|\r/.test(R)||c.current().now.column+R.length+(u?a?2:3:1)>r)&&(m=!0),m?f+=c.move("\n"+(0,bn.Q)(p.join("\n"),o)):R&&(f+=c.move(" "+R)),m&&(f+=c.move("\n")),u&&(f+=c.move((a||m?"":" ")+"/")),f+=c.move(">"),e.children&&e.children.length>0&&("mdxJsxFlowElement"===e.type?(c.shift(2),f+=c.move("\n"),f+=c.move((0,bn.Q)((0,Rn.K)(e,d,c.current()),o)),f+=c.move("\n")):f+=c.move((0,yn.p)(e,d,{...c.current(),before:"<",after:">"}))),u||(f+=c.move("</"+(e.name||"")+">")),h(),f}function o(e,t,n){return(n?"":" ")+e}}const kn={enter:{mdxjsEsm:function(e){this.enter({type:"mdxjsEsm",value:""},e),this.buffer()}},exit:{mdxjsEsm:function(e){const t=this.resume(),n=this.exit(e),a=e.estree;n.value=t,a&&(n.data={estree:a})},mdxjsEsmData:function(e){this.config.enter.data.call(this,e),this.config.exit.data.call(this,e)}}},Cn={handlers:{mdxjsEsm:function(e){return e.value||""}}};function wn(e={}){const t=this.data();function n(e,n){(t[e]?t[e]:t[e]=[]).push(n)}n("micromarkExtensions",function(e){const t=Object.assign({acorn:ve.extend(vt()),acornOptions:{ecmaVersion:2020,sourceType:"module"},addResult:!0},e);return(0,_t.W)([Jt(t),Nt(t),Yt(t),Wt])}(e)),n("fromMarkdownExtensions",[Kt,vn(),kn]),n("toMarkdownExtensions",function(e){return{extensions:[Zt,_n(e),Cn]}}(e))}function En(e,t){return e&&"object"==typeof e&&(e.value||(t?e.alt:"")||"children"in e&&Sn(e.children,t)||Array.isArray(e)&&Sn(e,t))||""}function Sn(e,t){for(var n=[],a=-1;++a<e.length;)n[a]=En(e[a],t);return n.join("")}const An={tokenize:function(e){const t=e.attempt(this.parser.constructs.contentInitial,(function(n){if(null===n)return void e.consume(n);return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),(0,Ct.f)(e,t,"linePrefix")}),(function(t){return e.enter("paragraph"),a(t)}));let n;return t;function a(t){const a=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=a),n=a,r(t)}function r(t){return null===t?(e.exit("chunkText"),e.exit("paragraph"),void e.consume(t)):(0,kt.Ch)(t)?(e.consume(t),e.exit("chunkText"),a):(e.consume(t),r)}}};var Tn=n(21905);const Dn={tokenize:function(e){const t=this,n=[];let a,r,i,s=0;return o;function o(a){if(s<n.length){const r=n[s];return t.containerState=r[1],e.attempt(r[0].continuation,d,l)(a)}return l(a)}function d(e){if(s++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,a&&y();const n=t.events.length;let r,i=n;for(;i--;)if("exit"===t.events[i][0]&&"chunkFlow"===t.events[i][1].type){r=t.events[i][1].end;break}R(s);let o=n;for(;o<t.events.length;)t.events[o][1].end=Object.assign({},r),o++;return(0,Tn.d)(t.events,i+1,0,t.events.slice(n)),t.events.length=o,l(e)}return o(e)}function l(r){if(s===n.length){if(!a)return h(r);if(a.currentConstruct&&a.currentConstruct.concrete)return p(r);t.interrupt=Boolean(a.currentConstruct&&!a._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Ln,c,u)(r)}function c(e){return a&&y(),R(s),h(e)}function u(e){return t.parser.lazy[t.now().line]=s!==n.length,i=t.now().offset,p(e)}function h(n){return t.containerState={},e.attempt(Ln,g,p)(n)}function g(e){return s++,n.push([t.currentConstruct,t.containerState]),h(e)}function p(n){return null===n?(a&&y(),R(0),void e.consume(n)):(a=a||t.parser.flow(t.now()),e.enter("chunkFlow",{contentType:"flow",previous:r,_tokenizer:a}),f(n))}function f(n){return null===n?(m(e.exit("chunkFlow"),!0),R(0),void e.consume(n)):(0,kt.Ch)(n)?(e.consume(n),m(e.exit("chunkFlow")),s=0,t.interrupt=void 0,o):(e.consume(n),f)}function m(e,n){const o=t.sliceStream(e);if(n&&o.push(null),e.previous=r,r&&(r.next=e),r=e,a.defineSkip(e.start),a.write(o),t.parser.lazy[e.start.line]){let e=a.events.length;for(;e--;)if(a.events[e][1].start.offset<i&&(!a.events[e][1].end||a.events[e][1].end.offset>i))return;const n=t.events.length;let r,o,d=n;for(;d--;)if("exit"===t.events[d][0]&&"chunkFlow"===t.events[d][1].type){if(r){o=t.events[d][1].end;break}r=!0}for(R(s),e=n;e<t.events.length;)t.events[e][1].end=Object.assign({},o),e++;(0,Tn.d)(t.events,d+1,0,t.events.slice(n)),t.events.length=e}}function R(a){let r=n.length;for(;r-- >a;){const a=n[r];t.containerState=a[1],a[0].exit.call(t,e)}n.length=a}function y(){a.write([null]),r=void 0,a=void 0,t.containerState._closeFlow=void 0}}},Ln={tokenize:function(e,t,n){return(0,Ct.f)(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};function In(e){const t={};let n,a,r,i,s,o,d,l=-1;for(;++l<e.length;){for(;l in t;)l=t[l];if(n=e[l],l&&"chunkFlow"===n[1].type&&"listItemPrefix"===e[l-1][1].type&&(o=n[1]._tokenizer.events,r=0,r<o.length&&"lineEndingBlank"===o[r][1].type&&(r+=2),r<o.length&&"content"===o[r][1].type))for(;++r<o.length&&"content"!==o[r][1].type;)"chunkText"===o[r][1].type&&(o[r][1]._isInFirstContentOfListItem=!0,r++);if("enter"===n[0])n[1].contentType&&(Object.assign(t,Fn(e,l)),l=t[l],d=!0);else if(n[1]._container){for(r=l,a=void 0;r--&&(i=e[r],"lineEnding"===i[1].type||"lineEndingBlank"===i[1].type);)"enter"===i[0]&&(a&&(e[a][1].type="lineEndingBlank"),i[1].type="lineEnding",a=r);a&&(n[1].end=Object.assign({},e[a][1].start),s=e.slice(a,l),s.unshift(n),(0,Tn.d)(e,a,l-a+1,s))}}return!d}function Fn(e,t){const n=e[t][1],a=e[t][2];let r=t-1;const i=[],s=n._tokenizer||a.parser[n.contentType](n.start),o=s.events,d=[],l={};let c,u,h=-1,g=n,p=0,f=0;const m=[f];for(;g;){for(;e[++r][1]!==g;);i.push(r),g._tokenizer||(c=a.sliceStream(g),g.next||c.push(null),u&&s.defineSkip(g.start),g._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=!0),s.write(c),g._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=void 0)),u=g,g=g.next}for(g=n;++h<o.length;)"exit"===o[h][0]&&"enter"===o[h-1][0]&&o[h][1].type===o[h-1][1].type&&o[h][1].start.line!==o[h][1].end.line&&(f=h+1,m.push(f),g._tokenizer=void 0,g.previous=void 0,g=g.next);for(s.events=[],g?(g._tokenizer=void 0,g.previous=void 0):m.pop(),h=m.length;h--;){const t=o.slice(m[h],m[h+1]),n=i.pop();d.unshift([n,n+t.length-1]),(0,Tn.d)(e,n,2,t)}for(h=-1;++h<d.length;)l[p+d[h][0]]=p+d[h][1],p+=d[h][1]-d[h][0]-1;return l}const On={tokenize:function(e,t){let n;return function(t){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),a(t)};function a(t){return null===t?r(t):(0,kt.Ch)(t)?e.check(Nn,i,r)(t):(e.consume(t),a)}function r(n){return e.exit("chunkContent"),e.exit("content"),t(n)}function i(t){return e.consume(t),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,a}},resolve:function(e){return In(e),e}},Nn={tokenize:function(e,t,n){const a=this;return function(t){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),(0,Ct.f)(e,r,"linePrefix")};function r(r){if(null===r||(0,kt.Ch)(r))return n(r);const i=a.events[a.events.length-1];return!a.parser.constructs.disable.null.includes("codeIndented")&&i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(r):e.interrupt(a.parser.constructs.flow,n,t)(r)}},partial:!0};const Bn={tokenize:function(e){const t=this,n=e.attempt(qt.w,(function(a){if(null===a)return void e.consume(a);return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}),e.attempt(this.parser.constructs.flowInitial,a,(0,Ct.f)(e,e.attempt(this.parser.constructs.flow,a,e.attempt(On,a)),"linePrefix")));return n;function a(a){if(null!==a)return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(a)}}};const Mn={resolveAll:$n()},Pn=Vn("string"),jn=Vn("text");function Vn(e){return{tokenize:function(t){const n=this,a=this.parser.constructs[e],r=t.attempt(a,i,s);return i;function i(e){return d(e)?r(e):s(e)}function s(e){if(null!==e)return t.enter("data"),t.consume(e),o;t.consume(e)}function o(e){return d(e)?(t.exit("data"),r(e)):(t.consume(e),o)}function d(e){if(null===e)return!0;const t=a[e];let r=-1;if(t)for(;++r<t.length;){const e=t[r];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}},resolveAll:$n("text"===e?Un:void 0)}}function $n(e){return function(t,n){let a,r=-1;for(;++r<=t.length;)void 0===a?t[r]&&"data"===t[r][1].type&&(a=r,r++):t[r]&&"data"===t[r][1].type||(r!==a+2&&(t[a][1].end=t[r-1][1].end,t.splice(a+2,r-a-2),r=a+2),a=void 0);return e?e(t,n):t}}function Un(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||"lineEnding"===e[n][1].type)&&"data"===e[n-1][1].type){const a=e[n-1][1],r=t.sliceStream(a);let i,s=r.length,o=-1,d=0;for(;s--;){const e=r[s];if("string"==typeof e){for(o=e.length;32===e.charCodeAt(o-1);)d++,o--;if(o)break;o=-1}else if(-2===e)i=!0,d++;else if(-1!==e){s++;break}}if(d){const r={type:n===e.length||i||d<2?"lineSuffix":"hardBreakTrailing",start:{line:a.end.line,column:a.end.column-d,offset:a.end.offset-d,_index:a.start._index+s,_bufferIndex:s?o:a.start._bufferIndex+o},end:Object.assign({},a.end)};a.end=Object.assign({},r.start),a.start.offset===a.end.offset?Object.assign(a,r):(e.splice(n,0,["enter",r,t],["exit",r,t]),n+=2)}n++}return e}var zn=n(63233);function Hn(e,t,n){let a=Object.assign(n?Object.assign({},n):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1});const r={},i=[];let s=[],o=[],d=!0;const l={consume:function(e){(0,kt.Ch)(e)?(a.line++,a.column=1,a.offset+=-3===e?2:1,x()):-1!==e&&(a.column++,a.offset++);a._bufferIndex<0?a._index++:(a._bufferIndex++,a._bufferIndex===s[a._index].length&&(a._bufferIndex=-1,a._index++));c.previous=e,d=!0},enter:function(e,t){const n=t||{};return n.type=e,n.start=p(),c.events.push(["enter",n,c]),o.push(n),n},exit:function(e){const t=o.pop();return t.end=p(),c.events.push(["exit",t,c]),t},attempt:y((function(e,t){b(e,t.from)})),check:y(R),interrupt:y(R,{interrupt:!0})},c={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:g,sliceSerialize:function(e,t){return function(e,t){let n=-1;const a=[];let r;for(;++n<e.length;){const i=e[n];let s;if("string"==typeof i)s=i;else switch(i){case-5:s="\r";break;case-4:s="\n";break;case-3:s="\r\n";break;case-2:s=t?" ":"\t";break;case-1:if(!t&&r)continue;s=" ";break;default:s=String.fromCharCode(i)}r=-2===i,a.push(s)}return a.join("")}(g(e),t)},now:p,defineSkip:function(e){r[e.line]=e.column,x()},write:function(e){if(s=(0,Tn.V)(s,e),f(),null!==s[s.length-1])return[];return b(t,0),c.events=(0,zn.C)(i,c.events,c),c.events}};let u,h=t.tokenize.call(c,l);return t.resolveAll&&i.push(t),c;function g(e){return function(e,t){const n=t.start._index,a=t.start._bufferIndex,r=t.end._index,i=t.end._bufferIndex;let s;n===r?s=[e[n].slice(a,i)]:(s=e.slice(n,r),a>-1&&(s[0]=s[0].slice(a)),i>0&&s.push(e[r].slice(0,i)));return s}(s,e)}function p(){return Object.assign({},a)}function f(){let e;for(;a._index<s.length;){const t=s[a._index];if("string"==typeof t)for(e=a._index,a._bufferIndex<0&&(a._bufferIndex=0);a._index===e&&a._bufferIndex<t.length;)m(t.charCodeAt(a._bufferIndex));else m(t)}}function m(e){d=void 0,u=e,h=h(e)}function R(e,t){t.restore()}function y(e,t){return function(n,r,i){let s,u,h,g;return Array.isArray(n)?f(n):"tokenize"in n?f([n]):function(e){return t;function t(t){const n=null!==t&&e[t],a=null!==t&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(a)?a:a?[a]:[]])(t)}}(n);function f(e){return s=e,u=0,0===e.length?i:m(e[u])}function m(e){return function(n){g=function(){const e=p(),t=c.previous,n=c.currentConstruct,r=c.events.length,i=Array.from(o);return{restore:s,from:r};function s(){a=e,c.previous=t,c.currentConstruct=n,c.events.length=r,o=i,x()}}(),h=e,e.partial||(c.currentConstruct=e);if(e.name&&c.parser.constructs.disable.null.includes(e.name))return y(n);return e.tokenize.call(t?Object.assign(Object.create(c),t):c,l,R,y)(n)}}function R(t){return d=!0,e(h,g),r}function y(e){return d=!0,g.restore(),++u<s.length?m(s[u]):i}}}function b(e,t){e.resolveAll&&!i.includes(e)&&i.push(e),e.resolve&&(0,Tn.d)(c.events,t,c.events.length-t,e.resolve(c.events.slice(t),c)),e.resolveTo&&(c.events=e.resolveTo(c.events,c))}function x(){a.line in r&&a.column<2&&(a.column=r[a.line],a.offset+=r[a.line]-1)}}const Yn={name:"thematicBreak",tokenize:function(e,t,n){let a,r=0;return function(t){return e.enter("thematicBreak"),a=t,i(t)};function i(o){return o===a?(e.enter("thematicBreakSequence"),s(o)):(0,kt.xz)(o)?(0,Ct.f)(e,i,"whitespace")(o):r<3||null!==o&&!(0,kt.Ch)(o)?n(o):(e.exit("thematicBreak"),t(o))}function s(t){return t===a?(e.consume(t),r++,s):(e.exit("thematicBreakSequence"),i(t))}}};const Wn={name:"list",tokenize:function(e,t,n){const a=this,r=a.events[a.events.length-1];let i=r&&"linePrefix"===r[1].type?r[2].sliceSerialize(r[1],!0).length:0,s=0;return function(t){const r=a.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===r?!a.containerState.marker||t===a.containerState.marker:(0,kt.pY)(t)){if(a.containerState.type||(a.containerState.type=r,e.enter(r,{_container:!0})),"listUnordered"===r)return e.enter("listItemPrefix"),42===t||45===t?e.check(Yn,n,d)(t):d(t);if(!a.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),o(t)}return n(t)};function o(t){return(0,kt.pY)(t)&&++s<10?(e.consume(t),o):(!a.interrupt||s<2)&&(a.containerState.marker?t===a.containerState.marker:41===t||46===t)?(e.exit("listItemValue"),d(t)):n(t)}function d(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),a.containerState.marker=a.containerState.marker||t,e.check(qt.w,a.interrupt?n:l,e.attempt(qn,u,c))}function l(e){return a.containerState.initialBlankLine=!0,i++,u(e)}function c(t){return(0,kt.xz)(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),u):n(t)}function u(n){return a.containerState.size=i+a.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(n)}},continuation:{tokenize:function(e,t,n){const a=this;return a.containerState._closeFlow=void 0,e.check(qt.w,(function(n){return a.containerState.furtherBlankLines=a.containerState.furtherBlankLines||a.containerState.initialBlankLine,(0,Ct.f)(e,t,"listItemIndent",a.containerState.size+1)(n)}),(function(n){if(a.containerState.furtherBlankLines||!(0,kt.xz)(n))return a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,r(n);return a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,e.attempt(Gn,t,r)(n)}));function r(r){return a.containerState._closeFlow=!0,a.interrupt=void 0,(0,Ct.f)(e,e.attempt(Wn,t,n),"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(r)}}},exit:function(e){e.exit(this.containerState.type)}},qn={tokenize:function(e,t,n){const a=this;return(0,Ct.f)(e,(function(e){const r=a.events[a.events.length-1];return!(0,kt.xz)(e)&&r&&"listItemPrefixWhitespace"===r[1].type?t(e):n(e)}),"listItemPrefixWhitespace",a.parser.constructs.disable.null.includes("codeIndented")?void 0:5)},partial:!0},Gn={tokenize:function(e,t,n){const a=this;return(0,Ct.f)(e,(function(e){const r=a.events[a.events.length-1];return r&&"listItemIndent"===r[1].type&&r[2].sliceSerialize(r[1],!0).length===a.containerState.size?t(e):n(e)}),"listItemIndent",a.containerState.size+1)},partial:!0};const Xn={name:"blockQuote",tokenize:function(e,t,n){const a=this;return function(t){if(62===t){const n=a.containerState;return n.open||(e.enter("blockQuote",{_container:!0}),n.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),r}return n(t)};function r(n){return(0,kt.xz)(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}},continuation:{tokenize:function(e,t,n){return(0,Ct.f)(e,e.attempt(Xn,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},exit:function(e){e.exit("blockQuote")}};function Jn(e,t,n,a,r,i,s,o,d){const l=d||Number.POSITIVE_INFINITY;let c=0;return function(t){if(60===t)return e.enter(a),e.enter(r),e.enter(i),e.consume(t),e.exit(i),u;if(null===t||41===t||(0,kt.Av)(t))return n(t);return e.enter(a),e.enter(s),e.enter(o),e.enter("chunkString",{contentType:"string"}),p(t)};function u(n){return 62===n?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),e.exit(a),t):(e.enter(o),e.enter("chunkString",{contentType:"string"}),h(n))}function h(t){return 62===t?(e.exit("chunkString"),e.exit(o),u(t)):null===t||60===t||(0,kt.Ch)(t)?n(t):(e.consume(t),92===t?g:h)}function g(t){return 60===t||62===t||92===t?(e.consume(t),h):h(t)}function p(r){return 40===r?++c>l?n(r):(e.consume(r),p):41===r?c--?(e.consume(r),p):(e.exit("chunkString"),e.exit(o),e.exit(s),e.exit(a),t(r)):null===r||(0,kt.z3)(r)?c?n(r):(e.exit("chunkString"),e.exit(o),e.exit(s),e.exit(a),t(r)):(0,kt.Av)(r)?n(r):(e.consume(r),92===r?f:p)}function f(t){return 40===t||41===t||92===t?(e.consume(t),p):p(t)}}function Kn(e,t,n,a,r,i){const s=this;let o,d=0;return function(t){return e.enter(a),e.enter(r),e.consume(t),e.exit(r),e.enter(i),l};function l(u){return null===u||91===u||93===u&&!o||94===u&&!d&&"_hiddenFootnoteSupport"in s.parser.constructs||d>999?n(u):93===u?(e.exit(i),e.enter(r),e.consume(u),e.exit(r),e.exit(a),t):(0,kt.Ch)(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l):(e.enter("chunkString",{contentType:"string"}),c(u))}function c(t){return null===t||91===t||93===t||(0,kt.Ch)(t)||d++>999?(e.exit("chunkString"),l(t)):(e.consume(t),o=o||!(0,kt.xz)(t),92===t?u:c)}function u(t){return 91===t||92===t||93===t?(e.consume(t),d++,c):c(t)}}function Zn(e,t,n,a,r,i){let s;return function(t){return e.enter(a),e.enter(r),e.consume(t),e.exit(r),s=40===t?41:t,o};function o(n){return n===s?(e.enter(r),e.consume(n),e.exit(r),e.exit(a),t):(e.enter(i),d(n))}function d(t){return t===s?(e.exit(i),o(s)):null===t?n(t):(0,kt.Ch)(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),(0,Ct.f)(e,d,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),l(t))}function l(t){return t===s||null===t||(0,kt.Ch)(t)?(e.exit("chunkString"),d(t)):(e.consume(t),92===t?c:l)}function c(t){return t===s||92===t?(e.consume(t),l):l(t)}}function Qn(e,t){let n;return function a(r){if((0,kt.Ch)(r))return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),n=!0,a;if((0,kt.xz)(r))return(0,Ct.f)(e,a,n?"linePrefix":"lineSuffix")(r);return t(r)}}var ea=n(11098);const ta={name:"definition",tokenize:function(e,t,n){const a=this;let r;return function(t){return e.enter("definition"),Kn.call(a,e,i,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function i(t){return r=(0,ea.d)(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),Qn(e,Jn(e,e.attempt(na,(0,Ct.f)(e,s,"whitespace"),(0,Ct.f)(e,s,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(t)}function s(i){return null===i||(0,kt.Ch)(i)?(e.exit("definition"),a.parser.defined.includes(r)||a.parser.defined.push(r),t(i)):n(i)}}},na={tokenize:function(e,t,n){return function(t){return(0,kt.z3)(t)?Qn(e,a)(t):n(t)};function a(t){return 34===t||39===t||40===t?Zn(e,(0,Ct.f)(e,r,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):n(t)}function r(e){return null===e||(0,kt.Ch)(e)?t(e):n(e)}},partial:!0};const aa={name:"codeIndented",tokenize:function(e,t,n){const a=this;return function(t){return e.enter("codeIndented"),(0,Ct.f)(e,r,"linePrefix",5)(t)};function r(e){const t=a.events[a.events.length-1];return t&&"linePrefix"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?i(e):n(e)}function i(t){return null===t?o(t):(0,kt.Ch)(t)?e.attempt(ra,i,o)(t):(e.enter("codeFlowValue"),s(t))}function s(t){return null===t||(0,kt.Ch)(t)?(e.exit("codeFlowValue"),i(t)):(e.consume(t),s)}function o(n){return e.exit("codeIndented"),t(n)}}},ra={tokenize:function(e,t,n){const a=this;return r;function r(t){return a.parser.lazy[a.now().line]?n(t):(0,kt.Ch)(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),r):(0,Ct.f)(e,i,"linePrefix",5)(t)}function i(e){const i=a.events[a.events.length-1];return i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(e):(0,kt.Ch)(e)?r(e):n(e)}},partial:!0};const ia={name:"headingAtx",tokenize:function(e,t,n){const a=this;let r=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),i(t)};function i(o){return 35===o&&r++<6?(e.consume(o),i):null===o||(0,kt.z3)(o)?(e.exit("atxHeadingSequence"),a.interrupt?t(o):s(o)):n(o)}function s(n){return 35===n?(e.enter("atxHeadingSequence"),o(n)):null===n||(0,kt.Ch)(n)?(e.exit("atxHeading"),t(n)):(0,kt.xz)(n)?(0,Ct.f)(e,s,"whitespace")(n):(e.enter("atxHeadingText"),d(n))}function o(t){return 35===t?(e.consume(t),o):(e.exit("atxHeadingSequence"),s(t))}function d(t){return null===t||35===t||(0,kt.z3)(t)?(e.exit("atxHeadingText"),s(t)):(e.consume(t),d)}},resolve:function(e,t){let n,a,r=e.length-2,i=3;"whitespace"===e[i][1].type&&(i+=2);r-2>i&&"whitespace"===e[r][1].type&&(r-=2);"atxHeadingSequence"===e[r][1].type&&(i===r-1||r-4>i&&"whitespace"===e[r-2][1].type)&&(r-=i+1===r?2:4);r>i&&(n={type:"atxHeadingText",start:e[i][1].start,end:e[r][1].end},a={type:"chunkText",start:e[i][1].start,end:e[r][1].end,contentType:"text"},(0,Tn.d)(e,i,r-i+1,[["enter",n,t],["enter",a,t],["exit",a,t],["exit",n,t]]));return e}};const sa={name:"setextUnderline",tokenize:function(e,t,n){const a=this;let r,i,s=a.events.length;for(;s--;)if("lineEnding"!==a.events[s][1].type&&"linePrefix"!==a.events[s][1].type&&"content"!==a.events[s][1].type){i="paragraph"===a.events[s][1].type;break}return function(t){if(!a.parser.lazy[a.now().line]&&(a.interrupt||i))return e.enter("setextHeadingLine"),e.enter("setextHeadingLineSequence"),r=t,o(t);return n(t)};function o(t){return t===r?(e.consume(t),o):(e.exit("setextHeadingLineSequence"),(0,Ct.f)(e,d,"lineSuffix")(t))}function d(a){return null===a||(0,kt.Ch)(a)?(e.exit("setextHeadingLine"),t(a)):n(a)}},resolveTo:function(e,t){let n,a,r,i=e.length;for(;i--;)if("enter"===e[i][0]){if("content"===e[i][1].type){n=i;break}"paragraph"===e[i][1].type&&(a=i)}else"content"===e[i][1].type&&e.splice(i,1),r||"definition"!==e[i][1].type||(r=i);const s={type:"setextHeading",start:Object.assign({},e[a][1].start),end:Object.assign({},e[e.length-1][1].end)};e[a][1].type="setextHeadingText",r?(e.splice(a,0,["enter",s,t]),e.splice(r+1,0,["exit",e[n][1],t]),e[n][1].end=Object.assign({},e[r][1].end)):e[n][1]=s;return e.push(["exit",s,t]),e}};const oa=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],da=["pre","script","style","textarea"],la={name:"htmlFlow",tokenize:function(e,t,n){const a=this;let r,i,s,o,d;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),l};function l(o){return 33===o?(e.consume(o),c):47===o?(e.consume(o),g):63===o?(e.consume(o),r=3,a.interrupt?t:O):(0,kt.jv)(o)?(e.consume(o),s=String.fromCharCode(o),i=!0,p):n(o)}function c(i){return 45===i?(e.consume(i),r=2,u):91===i?(e.consume(i),r=5,s="CDATA[",o=0,h):(0,kt.jv)(i)?(e.consume(i),r=4,a.interrupt?t:O):n(i)}function u(r){return 45===r?(e.consume(r),a.interrupt?t:O):n(r)}function h(r){return r===s.charCodeAt(o++)?(e.consume(r),o===s.length?a.interrupt?t:E:h):n(r)}function g(t){return(0,kt.jv)(t)?(e.consume(t),s=String.fromCharCode(t),p):n(t)}function p(o){return null===o||47===o||62===o||(0,kt.z3)(o)?47!==o&&i&&da.includes(s.toLowerCase())?(r=1,a.interrupt?t(o):E(o)):oa.includes(s.toLowerCase())?(r=6,47===o?(e.consume(o),f):a.interrupt?t(o):E(o)):(r=7,a.interrupt&&!a.parser.lazy[a.now().line]?n(o):i?R(o):m(o)):45===o||(0,kt.H$)(o)?(e.consume(o),s+=String.fromCharCode(o),p):n(o)}function f(r){return 62===r?(e.consume(r),a.interrupt?t:E):n(r)}function m(t){return(0,kt.xz)(t)?(e.consume(t),m):C(t)}function R(t){return 47===t?(e.consume(t),C):58===t||95===t||(0,kt.jv)(t)?(e.consume(t),y):(0,kt.xz)(t)?(e.consume(t),R):C(t)}function y(t){return 45===t||46===t||58===t||95===t||(0,kt.H$)(t)?(e.consume(t),y):b(t)}function b(t){return 61===t?(e.consume(t),x):(0,kt.xz)(t)?(e.consume(t),b):R(t)}function x(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),d=t,v):(0,kt.xz)(t)?(e.consume(t),x):(d=null,_(t))}function v(t){return null===t||(0,kt.Ch)(t)?n(t):t===d?(e.consume(t),k):(e.consume(t),v)}function _(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||(0,kt.z3)(t)?b(t):(e.consume(t),_)}function k(e){return 47===e||62===e||(0,kt.xz)(e)?R(e):n(e)}function C(t){return 62===t?(e.consume(t),w):n(t)}function w(t){return(0,kt.xz)(t)?(e.consume(t),w):null===t||(0,kt.Ch)(t)?E(t):n(t)}function E(t){return 45===t&&2===r?(e.consume(t),D):60===t&&1===r?(e.consume(t),L):62===t&&4===r?(e.consume(t),N):63===t&&3===r?(e.consume(t),O):93===t&&5===r?(e.consume(t),F):!(0,kt.Ch)(t)||6!==r&&7!==r?null===t||(0,kt.Ch)(t)?S(t):(e.consume(t),E):e.check(ca,N,S)(t)}function S(t){return e.exit("htmlFlowData"),A(t)}function A(t){return null===t?B(t):(0,kt.Ch)(t)?e.attempt({tokenize:T,partial:!0},A,B)(t):(e.enter("htmlFlowData"),E(t))}function T(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),r};function r(e){return a.parser.lazy[a.now().line]?n(e):t(e)}}function D(t){return 45===t?(e.consume(t),O):E(t)}function L(t){return 47===t?(e.consume(t),s="",I):E(t)}function I(t){return 62===t&&da.includes(s.toLowerCase())?(e.consume(t),N):(0,kt.jv)(t)&&s.length<8?(e.consume(t),s+=String.fromCharCode(t),I):E(t)}function F(t){return 93===t?(e.consume(t),O):E(t)}function O(t){return 62===t?(e.consume(t),N):45===t&&2===r?(e.consume(t),O):E(t)}function N(t){return null===t||(0,kt.Ch)(t)?(e.exit("htmlFlowData"),B(t)):(e.consume(t),N)}function B(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){let t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2));return e},concrete:!0},ca={tokenize:function(e,t,n){return function(a){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),e.attempt(qt.w,t,n)}},partial:!0};const ua={name:"codeFenced",tokenize:function(e,t,n){const a=this,r={tokenize:function(e,t,n){let a=0;return(0,Ct.f)(e,r,"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function r(t){return e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),i(t)}function i(t){return t===d?(e.consume(t),a++,i):a<l?n(t):(e.exit("codeFencedFenceSequence"),(0,Ct.f)(e,s,"whitespace")(t))}function s(a){return null===a||(0,kt.Ch)(a)?(e.exit("codeFencedFence"),t(a)):n(a)}},partial:!0},i={tokenize:function(e,t,n){const a=this;return r;function r(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i}function i(e){return a.parser.lazy[a.now().line]?n(e):t(e)}},partial:!0},s=this.events[this.events.length-1],o=s&&"linePrefix"===s[1].type?s[2].sliceSerialize(s[1],!0).length:0;let d,l=0;return function(t){return e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),d=t,c(t)};function c(t){return t===d?(e.consume(t),l++,c):(e.exit("codeFencedFenceSequence"),l<3?n(t):(0,Ct.f)(e,u,"whitespace")(t))}function u(t){return null===t||(0,kt.Ch)(t)?f(t):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),h(t))}function h(t){return null===t||(0,kt.z3)(t)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),(0,Ct.f)(e,g,"whitespace")(t)):96===t&&t===d?n(t):(e.consume(t),h)}function g(t){return null===t||(0,kt.Ch)(t)?f(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),p(t))}function p(t){return null===t||(0,kt.Ch)(t)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),f(t)):96===t&&t===d?n(t):(e.consume(t),p)}function f(n){return e.exit("codeFencedFence"),a.interrupt?t(n):m(n)}function m(t){return null===t?y(t):(0,kt.Ch)(t)?e.attempt(i,e.attempt(r,y,o?(0,Ct.f)(e,m,"linePrefix",o+1):m),y)(t):(e.enter("codeFlowValue"),R(t))}function R(t){return null===t||(0,kt.Ch)(t)?(e.exit("codeFlowValue"),m(t)):(e.consume(t),R)}function y(n){return e.exit("codeFenced"),t(n)}},concrete:!0};const ha={name:"characterReference",tokenize:function(e,t,n){const a=this;let r,i,s=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),o};function o(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),d):(e.enter("characterReferenceValue"),r=31,i=kt.H$,l(t))}function d(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),r=6,i=kt.AF,l):(e.enter("characterReferenceValue"),r=7,i=kt.pY,l(t))}function l(o){let d;return 59===o&&s?(d=e.exit("characterReferenceValue"),i!==kt.H$||(0,ln.T)(a.sliceSerialize(d))?(e.enter("characterReferenceMarker"),e.consume(o),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(o)):i(o)&&s++<r?(e.consume(o),l):n(o)}}};const ga={name:"characterEscape",tokenize:function(e,t,n){return function(t){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(t),e.exit("escapeMarker"),a};function a(a){return(0,kt.sR)(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(a)}}};const pa={name:"lineEnding",tokenize:function(e,t){return function(n){return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),(0,Ct.f)(e,t,"linePrefix")}}};const fa={name:"labelEnd",tokenize:function(e,t,n){const a=this;let r,i,s=a.events.length;for(;s--;)if(("labelImage"===a.events[s][1].type||"labelLink"===a.events[s][1].type)&&!a.events[s][1]._balanced){r=a.events[s][1];break}return function(t){if(!r)return n(t);return r._inactive?d(t):(i=a.parser.defined.includes((0,ea.d)(a.sliceSerialize({start:r.end,end:a.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),o)};function o(n){return 40===n?e.attempt(ma,t,i?t:d)(n):91===n?e.attempt(Ra,t,i?e.attempt(ya,t,d):d)(n):i?t(n):d(n)}function d(e){return r._balanced=!0,n(e)}},resolveTo:function(e,t){let n,a,r,i,s=e.length,o=0;for(;s--;)if(n=e[s][1],a){if("link"===n.type||"labelLink"===n.type&&n._inactive)break;"enter"===e[s][0]&&"labelLink"===n.type&&(n._inactive=!0)}else if(r){if("enter"===e[s][0]&&("labelImage"===n.type||"labelLink"===n.type)&&!n._balanced&&(a=s,"labelLink"!==n.type)){o=2;break}}else"labelEnd"===n.type&&(r=s);const d={type:"labelLink"===e[a][1].type?"link":"image",start:Object.assign({},e[a][1].start),end:Object.assign({},e[e.length-1][1].end)},l={type:"label",start:Object.assign({},e[a][1].start),end:Object.assign({},e[r][1].end)},c={type:"labelText",start:Object.assign({},e[a+o+2][1].end),end:Object.assign({},e[r-2][1].start)};return i=[["enter",d,t],["enter",l,t]],i=(0,Tn.V)(i,e.slice(a+1,a+o+3)),i=(0,Tn.V)(i,[["enter",c,t]]),i=(0,Tn.V)(i,(0,zn.C)(t.parser.constructs.insideSpan.null,e.slice(a+o+4,r-3),t)),i=(0,Tn.V)(i,[["exit",c,t],e[r-2],e[r-1],["exit",l,t]]),i=(0,Tn.V)(i,e.slice(r+1)),i=(0,Tn.V)(i,[["exit",d,t]]),(0,Tn.d)(e,a,e.length,i),e},resolveAll:function(e){let t,n=-1;for(;++n<e.length;)t=e[n][1],"labelImage"!==t.type&&"labelLink"!==t.type&&"labelEnd"!==t.type||(e.splice(n+1,"labelImage"===t.type?4:2),t.type="data",n++);return e}},ma={tokenize:function(e,t,n){return function(t){return e.enter("resource"),e.enter("resourceMarker"),e.consume(t),e.exit("resourceMarker"),Qn(e,a)};function a(t){return 41===t?s(t):Jn(e,r,n,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(t)}function r(t){return(0,kt.z3)(t)?Qn(e,i)(t):s(t)}function i(t){return 34===t||39===t||40===t?Zn(e,Qn(e,s),n,"resourceTitle","resourceTitleMarker","resourceTitleString")(t):s(t)}function s(a){return 41===a?(e.enter("resourceMarker"),e.consume(a),e.exit("resourceMarker"),e.exit("resource"),t):n(a)}}},Ra={tokenize:function(e,t,n){const a=this;return function(t){return Kn.call(a,e,r,n,"reference","referenceMarker","referenceString")(t)};function r(e){return a.parser.defined.includes((0,ea.d)(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)))?t(e):n(e)}}},ya={tokenize:function(e,t,n){return function(t){return e.enter("reference"),e.enter("referenceMarker"),e.consume(t),e.exit("referenceMarker"),a};function a(a){return 93===a?(e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),t):n(a)}}};const ba={name:"labelStartImage",tokenize:function(e,t,n){const a=this;return function(t){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(t),e.exit("labelImageMarker"),r};function r(t){return 91===t?(e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelImage"),i):n(t)}function i(e){return 94===e&&"_hiddenFootnoteSupport"in a.parser.constructs?n(e):t(e)}},resolveAll:fa.resolveAll};var xa=n(62987);const va={name:"attention",tokenize:function(e,t){const n=this.parser.constructs.attentionMarkers.null,a=this.previous,r=(0,xa.r)(a);let i;return function(t){return e.enter("attentionSequence"),i=t,s(t)};function s(o){if(o===i)return e.consume(o),s;const d=e.exit("attentionSequence"),l=(0,xa.r)(o),c=!l||2===l&&r||n.includes(o),u=!r||2===r&&l||n.includes(a);return d._open=Boolean(42===i?c:c&&(r||!u)),d._close=Boolean(42===i?u:u&&(l||!c)),t(o)}},resolveAll:function(e,t){let n,a,r,i,s,o,d,l,c=-1;for(;++c<e.length;)if("enter"===e[c][0]&&"attentionSequence"===e[c][1].type&&e[c][1]._close)for(n=c;n--;)if("exit"===e[n][0]&&"attentionSequence"===e[n][1].type&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[c][1]).charCodeAt(0)){if((e[n][1]._close||e[c][1]._open)&&(e[c][1].end.offset-e[c][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[c][1].end.offset-e[c][1].start.offset)%3))continue;o=e[n][1].end.offset-e[n][1].start.offset>1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;const u=Object.assign({},e[n][1].end),h=Object.assign({},e[c][1].start);_a(u,-o),_a(h,o),i={type:o>1?"strongSequence":"emphasisSequence",start:u,end:Object.assign({},e[n][1].end)},s={type:o>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[c][1].start),end:h},r={type:o>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[c][1].start)},a={type:o>1?"strong":"emphasis",start:Object.assign({},i.start),end:Object.assign({},s.end)},e[n][1].end=Object.assign({},i.start),e[c][1].start=Object.assign({},s.end),d=[],e[n][1].end.offset-e[n][1].start.offset&&(d=(0,Tn.V)(d,[["enter",e[n][1],t],["exit",e[n][1],t]])),d=(0,Tn.V)(d,[["enter",a,t],["enter",i,t],["exit",i,t],["enter",r,t]]),d=(0,Tn.V)(d,(0,zn.C)(t.parser.constructs.insideSpan.null,e.slice(n+1,c),t)),d=(0,Tn.V)(d,[["exit",r,t],["enter",s,t],["exit",s,t],["exit",a,t]]),e[c][1].end.offset-e[c][1].start.offset?(l=2,d=(0,Tn.V)(d,[["enter",e[c][1],t],["exit",e[c][1],t]])):l=0,(0,Tn.d)(e,n-1,c-n+3,d),c=n+d.length-l-2;break}c=-1;for(;++c<e.length;)"attentionSequence"===e[c][1].type&&(e[c][1].type="data");return e}};function _a(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const ka={name:"autolink",tokenize:function(e,t,n){let a=1;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),r};function r(t){return(0,kt.jv)(t)?(e.consume(t),i):(0,kt.n9)(t)?d(t):n(t)}function i(e){return 43===e||45===e||46===e||(0,kt.H$)(e)?s(e):d(e)}function s(t){return 58===t?(e.consume(t),o):(43===t||45===t||46===t||(0,kt.H$)(t))&&a++<32?(e.consume(t),s):d(t)}function o(t){return 62===t?(e.exit("autolinkProtocol"),h(t)):null===t||32===t||60===t||(0,kt.Av)(t)?n(t):(e.consume(t),o)}function d(t){return 64===t?(e.consume(t),a=0,l):(0,kt.n9)(t)?(e.consume(t),d):n(t)}function l(e){return(0,kt.H$)(e)?c(e):n(e)}function c(t){return 46===t?(e.consume(t),a=0,l):62===t?(e.exit("autolinkProtocol").type="autolinkEmail",h(t)):u(t)}function u(t){return(45===t||(0,kt.H$)(t))&&a++<63?(e.consume(t),45===t?u:c):n(t)}function h(n){return e.enter("autolinkMarker"),e.consume(n),e.exit("autolinkMarker"),e.exit("autolink"),t}}};const Ca={name:"htmlText",tokenize:function(e,t,n){const a=this;let r,i,s,o;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),d};function d(t){return 33===t?(e.consume(t),l):47===t?(e.consume(t),_):63===t?(e.consume(t),x):(0,kt.jv)(t)?(e.consume(t),w):n(t)}function l(t){return 45===t?(e.consume(t),c):91===t?(e.consume(t),i="CDATA[",s=0,f):(0,kt.jv)(t)?(e.consume(t),b):n(t)}function c(t){return 45===t?(e.consume(t),u):n(t)}function u(t){return null===t||62===t?n(t):45===t?(e.consume(t),h):g(t)}function h(e){return null===e||62===e?n(e):g(e)}function g(t){return null===t?n(t):45===t?(e.consume(t),p):(0,kt.Ch)(t)?(o=g,F(t)):(e.consume(t),g)}function p(t){return 45===t?(e.consume(t),N):g(t)}function f(t){return t===i.charCodeAt(s++)?(e.consume(t),s===i.length?m:f):n(t)}function m(t){return null===t?n(t):93===t?(e.consume(t),R):(0,kt.Ch)(t)?(o=m,F(t)):(e.consume(t),m)}function R(t){return 93===t?(e.consume(t),y):m(t)}function y(t){return 62===t?N(t):93===t?(e.consume(t),y):m(t)}function b(t){return null===t||62===t?N(t):(0,kt.Ch)(t)?(o=b,F(t)):(e.consume(t),b)}function x(t){return null===t?n(t):63===t?(e.consume(t),v):(0,kt.Ch)(t)?(o=x,F(t)):(e.consume(t),x)}function v(e){return 62===e?N(e):x(e)}function _(t){return(0,kt.jv)(t)?(e.consume(t),k):n(t)}function k(t){return 45===t||(0,kt.H$)(t)?(e.consume(t),k):C(t)}function C(t){return(0,kt.Ch)(t)?(o=C,F(t)):(0,kt.xz)(t)?(e.consume(t),C):N(t)}function w(t){return 45===t||(0,kt.H$)(t)?(e.consume(t),w):47===t||62===t||(0,kt.z3)(t)?E(t):n(t)}function E(t){return 47===t?(e.consume(t),N):58===t||95===t||(0,kt.jv)(t)?(e.consume(t),S):(0,kt.Ch)(t)?(o=E,F(t)):(0,kt.xz)(t)?(e.consume(t),E):N(t)}function S(t){return 45===t||46===t||58===t||95===t||(0,kt.H$)(t)?(e.consume(t),S):A(t)}function A(t){return 61===t?(e.consume(t),T):(0,kt.Ch)(t)?(o=A,F(t)):(0,kt.xz)(t)?(e.consume(t),A):E(t)}function T(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),r=t,D):(0,kt.Ch)(t)?(o=T,F(t)):(0,kt.xz)(t)?(e.consume(t),T):(e.consume(t),r=void 0,I)}function D(t){return t===r?(e.consume(t),L):null===t?n(t):(0,kt.Ch)(t)?(o=D,F(t)):(e.consume(t),D)}function L(e){return 62===e||47===e||(0,kt.z3)(e)?E(e):n(e)}function I(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):62===t||(0,kt.z3)(t)?E(t):(e.consume(t),I)}function F(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),(0,Ct.f)(e,O,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function O(t){return e.enter("htmlTextData"),o(t)}function N(a){return 62===a?(e.consume(a),e.exit("htmlTextData"),e.exit("htmlText"),t):n(a)}}};const wa={name:"labelStartLink",tokenize:function(e,t,n){const a=this;return function(t){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelLink"),r};function r(e){return 94===e&&"_hiddenFootnoteSupport"in a.parser.constructs?n(e):t(e)}},resolveAll:fa.resolveAll};const Ea={name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(t),a};function a(a){return(0,kt.Ch)(a)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(a)):n(a)}}};const Sa={name:"codeText",tokenize:function(e,t,n){let a,r,i=0;return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),s(t)};function s(t){return 96===t?(e.consume(t),i++,s):(e.exit("codeTextSequence"),o(t))}function o(t){return null===t?n(t):96===t?(r=e.enter("codeTextSequence"),a=0,l(t)):32===t?(e.enter("space"),e.consume(t),e.exit("space"),o):(0,kt.Ch)(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o):(e.enter("codeTextData"),d(t))}function d(t){return null===t||32===t||96===t||(0,kt.Ch)(t)?(e.exit("codeTextData"),o(t)):(e.consume(t),d)}function l(n){return 96===n?(e.consume(n),a++,l):a===i?(e.exit("codeTextSequence"),e.exit("codeText"),t(n)):(r.type="codeTextData",d(n))}},resolve:function(e){let t,n,a=e.length-4,r=3;if(!("lineEnding"!==e[r][1].type&&"space"!==e[r][1].type||"lineEnding"!==e[a][1].type&&"space"!==e[a][1].type))for(t=r;++t<a;)if("codeTextData"===e[t][1].type){e[r][1].type="codeTextPadding",e[a][1].type="codeTextPadding",r+=2,a-=2;break}t=r-1,a++;for(;++t<=a;)void 0===n?t!==a&&"lineEnding"!==e[t][1].type&&(n=t):t!==a&&"lineEnding"!==e[t][1].type||(e[n][1].type="codeTextData",t!==n+2&&(e[n][1].end=e[t-1][1].end,e.splice(n+2,t-n-2),a-=t-n-2,t=n+2),n=void 0);return e},previous:function(e){return 96!==e||"characterEscape"===this.events[this.events.length-1][1].type}};const Aa={42:Wn,43:Wn,45:Wn,48:Wn,49:Wn,50:Wn,51:Wn,52:Wn,53:Wn,54:Wn,55:Wn,56:Wn,57:Wn,62:Xn},Ta={91:ta},Da={[-2]:aa,[-1]:aa,32:aa},La={35:ia,42:Yn,45:[sa,Yn],60:la,61:sa,95:Yn,96:ua,126:ua},Ia={38:ha,92:ga},Fa={[-5]:pa,[-4]:pa,[-3]:pa,33:ba,38:ha,42:va,60:[ka,Ca],91:wa,92:[Ea,ga],93:fa,95:va,96:Sa},Oa={null:[va,Mn]},Na={null:[42,95]},Ba={null:[]};const Ma=/[\0\t\n\r]/g;var Pa=n(80889),ja=n(47881);const Va={}.hasOwnProperty,$a=function(e,t,n){return"string"!=typeof t&&(n=t,t=void 0),function(e={}){const t=Ua({transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:d(re),autolinkProtocol:T,autolinkEmail:T,atxHeading:d(ee),blockQuote:d(X),characterEscape:T,characterReference:T,codeFenced:d(J),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:d(J,l),codeText:d(K,l),codeTextData:T,data:T,codeFlowValue:T,definition:d(Z),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:d(Q),hardBreakEscape:d(te),hardBreakTrailing:d(te),htmlFlow:d(ne,l),htmlFlowData:T,htmlText:d(ne,l),htmlTextData:T,image:d(ae),label:l,link:d(re),listItem:d(se),listItemValue:m,listOrdered:d(ie,f),listUnordered:d(ie),paragraph:d(oe),reference:z,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:d(ee),strong:d(de),thematicBreak:d(ce)},exit:{atxHeading:h(),atxHeadingSequence:w,autolink:h(),autolinkEmail:G,autolinkProtocol:q,blockQuote:h(),characterEscapeValue:D,characterReferenceMarkerHexadecimal:Y,characterReferenceMarkerNumeric:Y,characterReferenceValue:W,codeFenced:h(x),codeFencedFence:b,codeFencedFenceInfo:R,codeFencedFenceMeta:y,codeFlowValue:D,codeIndented:h(v),codeText:h(N),codeTextData:D,data:D,definition:h(),definitionDestinationString:C,definitionLabelString:_,definitionTitleString:k,emphasis:h(),hardBreakEscape:h(I),hardBreakTrailing:h(I),htmlFlow:h(F),htmlFlowData:D,htmlText:h(O),htmlTextData:D,image:h(M),label:j,labelText:P,lineEnding:L,link:h(B),listItem:h(),listOrdered:h(),listUnordered:h(),paragraph:h(),referenceString:H,resourceDestinationString:V,resourceTitleString:$,resource:U,setextHeading:h(A),setextHeadingLineSequence:S,setextHeadingText:E,strong:h(),thematicBreak:h()}},e.mdastExtensions||[]),n={};return a;function a(e){let n={type:"root",children:[]};const a=[],d=[],c={stack:[n],tokenStack:a,config:t,enter:u,exit:g,buffer:l,resume:p,setData:i,getData:s};let h=-1;for(;++h<e.length;)if("listOrdered"===e[h][1].type||"listUnordered"===e[h][1].type)if("enter"===e[h][0])d.push(h);else{h=r(e,d.pop(),h)}for(h=-1;++h<e.length;){const n=t[e[h][0]];Va.call(n,e[h][1].type)&&n[e[h][1].type].call(Object.assign({sliceSerialize:e[h][2].sliceSerialize},c),e[h][1])}if(a.length>0){const e=a[a.length-1];(e[1]||Ha).call(c,void 0,e[0])}for(n.position={start:o(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:o(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},h=-1;++h<t.transforms.length;)n=t.transforms[h](n)||n;return n}function r(e,t,n){let a,r,i,s,o=t-1,d=-1,l=!1;for(;++o<=n;){const t=e[o];if("listUnordered"===t[1].type||"listOrdered"===t[1].type||"blockQuote"===t[1].type?("enter"===t[0]?d++:d--,s=void 0):"lineEndingBlank"===t[1].type?"enter"===t[0]&&(!a||s||d||i||(i=o),s=void 0):"linePrefix"===t[1].type||"listItemValue"===t[1].type||"listItemMarker"===t[1].type||"listItemPrefix"===t[1].type||"listItemPrefixWhitespace"===t[1].type||(s=void 0),!d&&"enter"===t[0]&&"listItemPrefix"===t[1].type||-1===d&&"exit"===t[0]&&("listUnordered"===t[1].type||"listOrdered"===t[1].type)){if(a){let s=o;for(r=void 0;s--;){const t=e[s];if("lineEnding"===t[1].type||"lineEndingBlank"===t[1].type){if("exit"===t[0])continue;r&&(e[r][1].type="lineEndingBlank",l=!0),t[1].type="lineEnding",r=s}else if("linePrefix"!==t[1].type&&"blockQuotePrefix"!==t[1].type&&"blockQuotePrefixWhitespace"!==t[1].type&&"blockQuoteMarker"!==t[1].type&&"listItemIndent"!==t[1].type)break}i&&(!r||i<r)&&(a._spread=!0),a.end=Object.assign({},r?e[r][1].start:t[1].end),e.splice(r||o,0,["exit",a,t[2]]),o++,n++}"listItemPrefix"===t[1].type&&(a={type:"listItem",_spread:!1,start:Object.assign({},t[1].start)},e.splice(o,0,["enter",a,t[2]]),o++,n++,i=void 0,s=!0)}}return e[t][1]._spread=l,n}function i(e,t){n[e]=t}function s(e){return n[e]}function o(e){return{line:e.line,column:e.column,offset:e.offset}}function d(e,t){return n;function n(n){u.call(this,e(n),n),t&&t.call(this,n)}}function l(){this.stack.push({type:"fragment",children:[]})}function u(e,t,n){return this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n]),e.position={start:o(t.start)},e}function h(e){return t;function t(t){e&&e.call(this,t),g.call(this,t)}}function g(e,t){const n=this.stack.pop(),a=this.tokenStack.pop();if(!a)throw new Error("Cannot close `"+e.type+"` ("+c({start:e.start,end:e.end})+"): it\u2019s not open");if(a[0].type!==e.type)if(t)t.call(this,e,a[0]);else{(a[1]||Ha).call(this,e,a[0])}return n.position.end=o(e.end),n}function p(){return function(e,t){var{includeImageAlt:n=!0}=t||{};return En(e,n)}(this.stack.pop())}function f(){i("expectingFirstListItemValue",!0)}function m(e){if(s("expectingFirstListItemValue")){this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),i("expectingFirstListItemValue")}}function R(){const e=this.resume();this.stack[this.stack.length-1].lang=e}function y(){const e=this.resume();this.stack[this.stack.length-1].meta=e}function b(){s("flowCodeInside")||(this.buffer(),i("flowCodeInside",!0))}function x(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),i("flowCodeInside")}function v(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")}function _(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=(0,ea.d)(this.sliceSerialize(e)).toLowerCase()}function k(){const e=this.resume();this.stack[this.stack.length-1].title=e}function C(){const e=this.resume();this.stack[this.stack.length-1].url=e}function w(e){const t=this.stack[this.stack.length-1];if(!t.depth){const n=this.sliceSerialize(e).length;t.depth=n}}function E(){i("setextHeadingSlurpLineEnding",!0)}function S(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).charCodeAt(0)?1:2}function A(){i("setextHeadingSlurpLineEnding")}function T(e){const t=this.stack[this.stack.length-1];let n=t.children[t.children.length-1];n&&"text"===n.type||(n=le(),n.position={start:o(e.start)},t.children.push(n)),this.stack.push(n)}function D(e){const t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=o(e.end)}function L(e){const n=this.stack[this.stack.length-1];if(s("atHardBreak")){return n.children[n.children.length-1].position.end=o(e.end),void i("atHardBreak")}!s("setextHeadingSlurpLineEnding")&&t.canContainEols.includes(n.type)&&(T.call(this,e),D.call(this,e))}function I(){i("atHardBreak",!0)}function F(){const e=this.resume();this.stack[this.stack.length-1].value=e}function O(){const e=this.resume();this.stack[this.stack.length-1].value=e}function N(){const e=this.resume();this.stack[this.stack.length-1].value=e}function B(){const e=this.stack[this.stack.length-1];s("inReference")?(e.type+="Reference",e.referenceType=s("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label),i("referenceType")}function M(){const e=this.stack[this.stack.length-1];s("inReference")?(e.type+="Reference",e.referenceType=s("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label),i("referenceType")}function P(e){const t=this.stack[this.stack.length-2],n=this.sliceSerialize(e);t.label=(0,ja.v)(n),t.identifier=(0,ea.d)(n).toLowerCase()}function j(){const e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];i("inReference",!0),"link"===n.type?n.children=e.children:n.alt=t}function V(){const e=this.resume();this.stack[this.stack.length-1].url=e}function $(){const e=this.resume();this.stack[this.stack.length-1].title=e}function U(){i("inReference")}function z(){i("referenceType","collapsed")}function H(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=(0,ea.d)(this.sliceSerialize(e)).toLowerCase(),i("referenceType","full")}function Y(e){i("characterReferenceType",e.type)}function W(e){const t=this.sliceSerialize(e),n=s("characterReferenceType");let a;n?(a=(0,Pa.o)(t,"characterReferenceMarkerNumeric"===n?10:16),i("characterReferenceType")):a=(0,ln.T)(t);const r=this.stack.pop();r.value+=a,r.position.end=o(e.end)}function q(e){D.call(this,e);this.stack[this.stack.length-1].url=this.sliceSerialize(e)}function G(e){D.call(this,e);this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)}function X(){return{type:"blockquote",children:[]}}function J(){return{type:"code",lang:null,meta:null,value:""}}function K(){return{type:"inlineCode",value:""}}function Z(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Q(){return{type:"emphasis",children:[]}}function ee(){return{type:"heading",depth:void 0,children:[]}}function te(){return{type:"break"}}function ne(){return{type:"html",value:""}}function ae(){return{type:"image",title:null,url:"",alt:null}}function re(){return{type:"link",title:null,url:"",children:[]}}function ie(e){return{type:"list",ordered:"listOrdered"===e.type,start:null,spread:e._spread,children:[]}}function se(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}function oe(){return{type:"paragraph",children:[]}}function de(){return{type:"strong",children:[]}}function le(){return{type:"text",value:""}}function ce(){return{type:"thematicBreak"}}}(n)(function(e){for(;!In(e););return e}(function(e={}){const t={defined:[],lazy:{},constructs:(0,_t.W)([a].concat(e.extensions||[])),content:n(An),document:n(Dn),flow:n(Bn),string:n(Pn),text:n(jn)};return t;function n(e){return function(n){return Hn(t,e,n)}}}(n).document().write(function(){let e,t=1,n="",a=!0;return function(r,i,s){const o=[];let d,l,c,u,h;for(r=n+r.toString(i),c=0,n="",a&&(65279===r.charCodeAt(0)&&c++,a=void 0);c<r.length;){if(Ma.lastIndex=c,d=Ma.exec(r),u=d&&void 0!==d.index?d.index:r.length,h=r.charCodeAt(u),!d){n=r.slice(c);break}if(10===h&&c===u&&e)o.push(-3),e=void 0;else switch(e&&(o.push(-5),e=void 0),c<u&&(o.push(r.slice(c,u)),t+=u-c),h){case 0:o.push(65533),t++;break;case 9:for(l=4*Math.ceil(t/4),o.push(-2);t++<l;)o.push(-1);break;case 10:o.push(-4),t=1;break;default:e=!0,t=1}c=u+1}return s&&(e&&o.push(-5),n&&o.push(n),o.push(null)),o}}()(e,t,!0))))};function Ua(e,t){let n=-1;for(;++n<t.length;){const a=t[n];Array.isArray(a)?Ua(e,a):za(e,a)}return e}function za(e,t){let n;for(n in t)if(Va.call(t,n)){const a="canContainEols"===n||"transforms"===n,r=(Va.call(e,n)?e[n]:void 0)||(e[n]=a?[]:{}),i=t[n];i&&(a?e[n]=[...r,...i]:Object.assign(r,i))}}function Ha(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+c({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+c({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+c({start:t.start,end:t.end})+") is still open")}const Ya=function(e){Object.assign(this,{Parser:t=>{const n=this.data("settings");return $a(t,Object.assign({},n,e,{extensions:this.data("micromarkExtensions")||[],mdastExtensions:this.data("fromMarkdownExtensions")||[]}))}})};var Wa=function(e,t,n){var a={type:String(e)};return null!=n||"string"!=typeof t&&!Array.isArray(t)?Object.assign(a,t):n=t,Array.isArray(n)?a.children=n:null!=n&&(a.value=String(n)),a},qa=n(80861);const Ga=function(e,t,n,a){"function"==typeof t&&"function"!=typeof n&&(a=n,n=t,t=null),(0,qa.S4)(e,t,(function(e,t){const a=t[t.length-1];return n(e,a?a.children.indexOf(e):null,a)}),a)},Xa=Ka("start"),Ja=Ka("end");function Ka(e){return function(t){const n=t&&t.position&&t.position[e]||{};return{line:n.line||null,column:n.column||null,offset:n.offset>-1?n.offset:null}}}const Za={}.hasOwnProperty;function Qa(e){return String(e||"").toUpperCase()}const er={}.hasOwnProperty;function tr(e,t){const n=t.data||{};return"value"in t&&!(er.call(n,"hName")||er.call(n,"hProperties")||er.call(n,"hChildren"))?e.augment(t,Wa("text",t.value)):e(t,"div",rr(e,t))}function nr(e,t,n){const a=t&&t.type;let r;if(!a)throw new Error("Expected node, got `"+t+"`");return r=er.call(e.handlers,a)?e.handlers[a]:e.passThrough&&e.passThrough.includes(a)?ar:e.unknownHandler,("function"==typeof r?r:tr)(e,t,n)}function ar(e,t){return"children"in t?{...t,children:rr(e,t)}:t}function rr(e,t){const n=[];if("children"in t){const a=t.children;let r=-1;for(;++r<a.length;){const i=nr(e,a[r],t);if(i){if(r&&"break"===a[r-1].type&&(Array.isArray(i)||"text"!==i.type||(i.value=i.value.replace(/^\s+/,"")),!Array.isArray(i)&&"element"===i.type)){const e=i.children[0];e&&"text"===e.type&&(e.value=e.value.replace(/^\s+/,""))}Array.isArray(i)?n.push(...i):n.push(i)}}}return n}function ir(e){const t=[];let n=-1,a=0,r=0;for(;++n<e.length;){const i=e.charCodeAt(n);let s="";if(37===i&&(0,kt.H$)(e.charCodeAt(n+1))&&(0,kt.H$)(e.charCodeAt(n+2)))r=2;else if(i<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(i))||(s=String.fromCharCode(i));else if(i>55295&&i<57344){const t=e.charCodeAt(n+1);i<56320&&t>56319&&t<57344?(s=String.fromCharCode(i,t),r=1):s="\ufffd"}else s=String.fromCharCode(i);s&&(t.push(e.slice(a,n),encodeURIComponent(s)),a=n+r+1,s=""),r&&(n+=r,r=0)}return t.join("")+e.slice(a)}function sr(e,t){const n=[];let a=-1;for(t&&n.push(Wa("text","\n"));++a<e.length;)a&&n.push(Wa("text","\n")),n.push(e[a]);return t&&e.length>0&&n.push(Wa("text","\n")),n}function or(e,t){const n=String(t.identifier),a=ir(n.toLowerCase()),r=e.footnoteOrder.indexOf(n);let i;-1===r?(e.footnoteOrder.push(n),e.footnoteCounts[n]=1,i=e.footnoteOrder.length):(e.footnoteCounts[n]++,i=r+1);const s=e.footnoteCounts[n];return e(t,"sup",[e(t.position,"a",{href:"#"+e.clobberPrefix+"fn-"+a,id:e.clobberPrefix+"fnref-"+a+(s>1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:"footnote-label"},[Wa("text",String(i))])])}function dr(e,t){const n=t.referenceType;let a="]";if("collapsed"===n?a+="[]":"full"===n&&(a+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return Wa("text","!["+t.alt+a);const r=rr(e,t),i=r[0];i&&"text"===i.type?i.value="["+i.value:r.unshift(Wa("text","["));const s=r[r.length-1];return s&&"text"===s.type?s.value+=a:r.push(Wa("text",a)),r}function lr(e){const t=e.spread;return null==t?e.children.length>1:t}function cr(e,t,n){let a=0,r=e.length;if(t){let t=e.codePointAt(a);for(;9===t||32===t;)a++,t=e.codePointAt(a)}if(n){let t=e.codePointAt(r-1);for(;9===t||32===t;)r--,t=e.codePointAt(r-1)}return r>a?e.slice(a,r):""}const ur={blockquote:function(e,t){return e(t,"blockquote",sr(rr(e,t),!0))},break:function(e,t){return[e(t,"br"),Wa("text","\n")]},code:function(e,t){const n=t.value?t.value+"\n":"",a=t.lang&&t.lang.match(/^[^ \t]+(?=[ \t]|$)/),r={};a&&(r.className=["language-"+a]);const i=e(t,"code",r,[Wa("text",n)]);return t.meta&&(i.data={meta:t.meta}),e(t.position,"pre",[i])},delete:function(e,t){return e(t,"del",rr(e,t))},emphasis:function(e,t){return e(t,"em",rr(e,t))},footnoteReference:or,footnote:function(e,t){const n=e.footnoteById;let a=1;for(;a in n;)a++;const r=String(a);return n[r]={type:"footnoteDefinition",identifier:r,children:[{type:"paragraph",children:t.children}],position:t.position},or(e,{type:"footnoteReference",identifier:r,position:t.position})},heading:function(e,t){return e(t,"h"+t.depth,rr(e,t))},html:function(e,t){return e.dangerous?e.augment(t,Wa("raw",t.value)):null},imageReference:function(e,t){const n=e.definition(t.identifier);if(!n)return dr(e,t);const a={src:ir(n.url||""),alt:t.alt};return null!==n.title&&void 0!==n.title&&(a.title=n.title),e(t,"img",a)},image:function(e,t){const n={src:ir(t.url),alt:t.alt};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"img",n)},inlineCode:function(e,t){return e(t,"code",[Wa("text",t.value.replace(/\r?\n|\r/g," "))])},linkReference:function(e,t){const n=e.definition(t.identifier);if(!n)return dr(e,t);const a={href:ir(n.url||"")};return null!==n.title&&void 0!==n.title&&(a.title=n.title),e(t,"a",a,rr(e,t))},link:function(e,t){const n={href:ir(t.url)};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"a",n,rr(e,t))},listItem:function(e,t,n){const a=rr(e,t),r=n?function(e){let t=e.spread;const n=e.children;let a=-1;for(;!t&&++a<n.length;)t=lr(n[a]);return Boolean(t)}(n):lr(t),i={},s=[];if("boolean"==typeof t.checked){let n;a[0]&&"element"===a[0].type&&"p"===a[0].tagName?n=a[0]:(n=e(null,"p",[]),a.unshift(n)),n.children.length>0&&n.children.unshift(Wa("text"," ")),n.children.unshift(e(null,"input",{type:"checkbox",checked:t.checked,disabled:!0})),i.className=["task-list-item"]}let o=-1;for(;++o<a.length;){const e=a[o];(r||0!==o||"element"!==e.type||"p"!==e.tagName)&&s.push(Wa("text","\n")),"element"!==e.type||"p"!==e.tagName||r?s.push(e):s.push(...e.children)}const d=a[a.length-1];return!d||!r&&"tagName"in d&&"p"===d.tagName||s.push(Wa("text","\n")),e(t,"li",i,s)},list:function(e,t){const n={},a=t.ordered?"ol":"ul",r=rr(e,t);let i=-1;for("number"==typeof t.start&&1!==t.start&&(n.start=t.start);++i<r.length;){const e=r[i];if("element"===e.type&&"li"===e.tagName&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}return e(t,a,n,sr(r,!0))},paragraph:function(e,t){return e(t,"p",rr(e,t))},root:function(e,t){return e.augment(t,Wa("root",sr(rr(e,t))))},strong:function(e,t){return e(t,"strong",rr(e,t))},table:function(e,t){const n=t.children;let a=-1;const r=t.align||[],i=[];for(;++a<n.length;){const s=n[a].children,o=0===a?"th":"td",d=[];let l=-1;const c=t.align?r.length:s.length;for(;++l<c;){const t=s[l];d.push(e(t,o,{align:r[l]},t?rr(e,t):[]))}i[a]=e(n[a],"tr",sr(d,!0))}return e(t,"table",sr([e(i[0].position,"thead",sr([i[0]],!0))].concat(i[1]?e({start:Xa(i[1]),end:Ja(i[i.length-1])},"tbody",sr(i.slice(1),!0)):[]),!0))},text:function(e,t){return e.augment(t,Wa("text",function(e){const t=String(e),n=/\r?\n|\r/g;let a=n.exec(t),r=0;const i=[];for(;a;)i.push(cr(t.slice(r,a.index),r>0,!0),a[0]),r=a.index+a[0].length,a=n.exec(t);return i.push(cr(t.slice(r),r>0,!1)),i.join("")}(String(t.value))))},thematicBreak:function(e,t){return e(t,"hr")},toml:hr,yaml:hr,definition:hr,footnoteDefinition:hr};function hr(){return null}const gr={}.hasOwnProperty;function pr(e,t){const n=t||{},a=n.allowDangerousHtml||!1,r={};return s.dangerous=a,s.clobberPrefix=void 0===n.clobberPrefix||null===n.clobberPrefix?"user-content-":n.clobberPrefix,s.footnoteLabel=n.footnoteLabel||"Footnotes",s.footnoteLabelTagName=n.footnoteLabelTagName||"h2",s.footnoteLabelProperties=n.footnoteLabelProperties||{className:["sr-only"]},s.footnoteBackLabel=n.footnoteBackLabel||"Back to content",s.definition=function(e){const t=Object.create(null);if(!e||!e.type)throw new Error("mdast-util-definitions expected node");return Ga(e,"definition",(e=>{const n=Qa(e.identifier);n&&!Za.call(t,n)&&(t[n]=e)})),function(e){const n=Qa(e);return n&&Za.call(t,n)?t[n]:null}}(e),s.footnoteById=r,s.footnoteOrder=[],s.footnoteCounts={},s.augment=i,s.handlers={...ur,...n.handlers},s.unknownHandler=n.unknownHandler,s.passThrough=n.passThrough,Ga(e,"footnoteDefinition",(e=>{const t=String(e.identifier).toUpperCase();gr.call(r,t)||(r[t]=e)})),s;function i(e,t){if(e&&"data"in e&&e.data){const n=e.data;n.hName&&("element"!==t.type&&(t={type:"element",tagName:"",properties:{},children:[]}),t.tagName=n.hName),"element"===t.type&&n.hProperties&&(t.properties={...t.properties,...n.hProperties}),"children"in t&&t.children&&n.hChildren&&(t.children=n.hChildren)}if(e){const a="type"in e?e:{position:e};(n=a)&&n.position&&n.position.start&&n.position.start.line&&n.position.start.column&&n.position.end&&n.position.end.line&&n.position.end.column&&(t.position={start:Xa(a),end:Ja(a)})}var n;return t}function s(e,t,n,a){return Array.isArray(n)&&(a=n,n={}),i(e,{type:"element",tagName:t,properties:n||{},children:a||[]})}}function fr(e,t){const n=pr(e,t),a=nr(n,e,null),r=function(e){let t=-1;const n=[];for(;++t<e.footnoteOrder.length;){const a=e.footnoteById[e.footnoteOrder[t].toUpperCase()];if(!a)continue;const r=rr(e,a),i=String(a.identifier),s=ir(i.toLowerCase());let o=0;const d=[];for(;++o<=e.footnoteCounts[i];){const t={type:"element",tagName:"a",properties:{href:"#"+e.clobberPrefix+"fnref-"+s+(o>1?"-"+o:""),dataFootnoteBackref:!0,className:["data-footnote-backref"],ariaLabel:e.footnoteBackLabel},children:[{type:"text",value:"\u21a9"}]};o>1&&t.children.push({type:"element",tagName:"sup",children:[{type:"text",value:String(o)}]}),d.length>0&&d.push({type:"text",value:" "}),d.push(t)}const l=r[r.length-1];if(l&&"element"===l.type&&"p"===l.tagName){const e=l.children[l.children.length-1];e&&"text"===e.type?e.value+=" ":l.children.push({type:"text",value:" "}),l.children.push(...d)}else r.push(...d);const c={type:"element",tagName:"li",properties:{id:e.clobberPrefix+"fn-"+s},children:sr(r,!0)};a.position&&(c.position=a.position),n.push(c)}return 0===n.length?null:{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:e.footnoteLabelTagName,properties:{...JSON.parse(JSON.stringify(e.footnoteLabelProperties)),id:"footnote-label"},children:[Wa("text",e.footnoteLabel)]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:sr(n,!0)},{type:"text",value:"\n"}]}}(n);return r&&a.children.push(Wa("text","\n"),r),Array.isArray(a)?{type:"root",children:a}:a}const mr=function(e,t){return e&&"run"in e?function(e,t){return(n,a,r)=>{e.run(fr(n,t),a,(e=>{r(e)}))}}(e,t):function(e){return t=>fr(t,e)}(e||t)};class Rr{constructor(){this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.context={skip:()=>this.should_skip=!0,remove:()=>this.should_remove=!0,replace:e=>this.replacement=e}}replace(e,t,n,a){e&&(null!==n?e[t][n]=a:e[t]=a)}remove(e,t,n){e&&(null!==n?e[t].splice(n,1):delete e[t])}}class yr extends Rr{constructor(e,t){super(),this.enter=e,this.leave=t}visit(e,t,n,a){if(e){if(this.enter){const r=this.should_skip,i=this.should_remove,s=this.replacement;this.should_skip=!1,this.should_remove=!1,this.replacement=null,this.enter.call(this.context,e,t,n,a),this.replacement&&(e=this.replacement,this.replace(t,n,a,e)),this.should_remove&&this.remove(t,n,a);const o=this.should_skip,d=this.should_remove;if(this.should_skip=r,this.should_remove=i,this.replacement=s,o)return e;if(d)return null}for(const t in e){const n=e[t];if("object"==typeof n)if(Array.isArray(n))for(let a=0;a<n.length;a+=1)null!==n[a]&&"string"==typeof n[a].type&&(this.visit(n[a],e,t,a)||a--);else null!==n&&"string"==typeof n.type&&this.visit(n,e,t,null)}if(this.leave){const r=this.replacement,i=this.should_remove;this.replacement=null,this.should_remove=!1,this.leave.call(this.context,e,t,n,a),this.replacement&&(e=this.replacement,this.replace(t,n,a,e)),this.should_remove&&this.remove(t,n,a);const s=this.should_remove;if(this.replacement=r,this.should_remove=i,s)return null}}return e}}function br(e,{enter:t,leave:n}){return new yr(t,n).visit(e,null)}const xr=/@(jsx|jsxFrag|jsxImportSource|jsxRuntime)\s+(\S+)/g;function vr(e){let t;return e.value?"JSXExpressionContainer"===e.value.type?t=e.value.expression:(t=e.value,delete t.raw):t={type:"Literal",value:!0},Cr(e,{type:"Property",key:_r(e.name),value:t,kind:"init",method:!1,shorthand:!1,computed:!1})}function _r(e){let t;if("JSXMemberExpression"===e.type){const n=_r(e.property);t={type:"MemberExpression",object:_r(e.object),property:n,computed:"Literal"===n.type,optional:!1}}else t="JSXNamespacedName"===e.type?{type:"Literal",value:e.namespace.name+":"+e.name.name}:Vt(e.name)?{type:"Identifier",name:e.name}:{type:"Literal",value:e.name};return Cr(e,t)}function kr(e){const t=e.split(".");let n,a=-1;for(;++a<t.length;){const e=Vt(t[a])?{type:"Identifier",name:t[a]}:{type:"Literal",value:t[a]};n=n?{type:"MemberExpression",object:n,property:e,computed:Boolean(a&&"Literal"===e.type),optional:!1}:e}return n}function Cr(e,t){const n=["start","end","loc","range","comments"];let a=-1;for(;++a<n.length;){const r=n[a];r in e&&(t[r]=e[r])}return t}function wr(e,t){const n=["start","end","loc","range","comments"];let a=-1;for(;++a<n.length;){const r=n[a];r in e&&(t[r]=e[r])}return t}function Er(e,t){let n=-1;const a=[],r=[];let i;for(;++n<e.length;){const t=e[n];"ImportNamespaceSpecifier"===t.type?i=t:r.push(t)}return i&&a.push(wr(i,{type:"VariableDeclarator",id:i.local,init:t})),a.push({type:"VariableDeclarator",id:{type:"ObjectPattern",properties:r.map((e=>{let t="ImportSpecifier"===e.type?e.imported:"ExportSpecifier"===e.type?e.exported:{type:"Identifier",name:"default"},n=e.local;return"ExportSpecifier"===e.type&&(n=t,t=e.local),wr(e,{type:"Property",kind:"init",shorthand:t.name===n.name,method:!1,computed:!1,key:t,value:n})}))},init:i?{type:"Identifier",name:i.local.name}:t}),a}const Sr=Tr("Identifier","MemberExpression",Vt),Ar=Tr("JSXIdentifier","JSXMemberExpression",(function(e){let t=-1;for(;++t<e.length;)if(!(t?Dr:Pt)(e.charCodeAt(t)))return!1;return t>0}));function Tr(e,t,n){return function(a){let r,i=-1;for(;++i<a.length;){const s=a[i],o="string"==typeof s&&n(s);if("JSXIdentifier"===e&&!o)throw new Error("Cannot turn `"+s+"` into a JSX identifier");const d=o?{type:e,name:s}:{type:"Literal",value:s};r=r?{type:t,object:r,property:d,computed:"Literal"===d.type,optional:!1}:d}if(!r)throw new Error("Expected non-empty `ids` to be passed");if("Literal"===r.type)throw new Error("Expected identifier as left-most value");return r}}function Dr(e){return 45===e||jt(e)}function Lr(e={}){const{development:t,outputFormat:n}=e;return(e,a)=>{!function(e,t={}){let n="automatic"===t.runtime;const a={},r={};br(e,{enter(e){if("Program"===e.type){const t=e.comments||[];let r=-1;for(;++r<t.length;){xr.lastIndex=0;let e=xr.exec(t[r].value);for(;e;)a[e[1]]=e[2],e=xr.exec(t[r].value)}if(a.jsxRuntime)if("automatic"===a.jsxRuntime){if(n=!0,a.jsx)throw new Error("Unexpected `@jsx` pragma w/ automatic runtime");if(a.jsxFrag)throw new Error("Unexpected `@jsxFrag` pragma w/ automatic runtime")}else{if("classic"!==a.jsxRuntime)throw new Error("Unexpected `jsxRuntime` `"+a.jsxRuntime+"`, expected `automatic` or `classic`");if(n=!1,a.jsxImportSource)throw new Error("Unexpected `@jsxImportSource` w/ classic runtime")}}},leave(e){if("Program"===e.type){const n=[];r.fragment&&n.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"Fragment"},local:{type:"Identifier",name:"_Fragment"}}),r.jsx&&n.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"jsx"},local:{type:"Identifier",name:"_jsx"}}),r.jsxs&&n.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"jsxs"},local:{type:"Identifier",name:"_jsxs"}}),r.jsxDEV&&n.push({type:"ImportSpecifier",imported:{type:"Identifier",name:"jsxDEV"},local:{type:"Identifier",name:"_jsxDEV"}}),n.length>0&&e.body.unshift({type:"ImportDeclaration",specifiers:n,source:{type:"Literal",value:(a.jsxImportSource||t.importSource||"react")+(t.development?"/jsx-dev-runtime":"/jsx-runtime")}})}if("JSXElement"!==e.type&&"JSXFragment"!==e.type)return;const i=[];let s,o=-1;for(;++o<e.children.length;){const t=e.children[o];if("JSXExpressionContainer"===t.type)"JSXEmptyExpression"!==t.expression.type&&i.push(t.expression);else if("JSXText"===t.type){const e=t.value.replace(/\t/g," ").replace(/ *(\r?\n|\r) */g,"\n").replace(/\n+/g,"\n").replace(/\n+$/,"").replace(/\n/g," ");e&&i.push(Cr(t,{type:"Literal",value:e}))}else i.push(t)}let d=[];const l=[];let c,u,h,g=[];if("JSXElement"===e.type){let t;s=_r(e.openingElement.name),"Identifier"===s.type&&/^[a-z]/.test(s.name)&&(s=Cr(s,{type:"Literal",value:s.name}));const a=e.openingElement.attributes;let r=-1;for(;++r<a.length;){const e=a[r];if("JSXSpreadAttribute"===e.type)d.length>0&&(l.push({type:"ObjectExpression",properties:d}),d=[]),l.push(e.argument),t=!0;else{const a=vr(e);if(n&&"Identifier"===a.key.type&&"key"===a.key.name){if(t)throw new Error("Expected `key` to come before any spread expressions");c=a.value}else d.push(a)}}}else n?(r.fragment=!0,s={type:"Identifier",name:"_Fragment"}):s=kr(a.jsxFrag||t.pragmaFrag||"React.Fragment");if(n?i.length>0&&d.push({type:"Property",key:{type:"Identifier",name:"children"},value:i.length>1?{type:"ArrayExpression",elements:i}:i[0],kind:"init",method:!1,shorthand:!1,computed:!1}):g=i,d.length>0&&l.push({type:"ObjectExpression",properties:d}),l.length>1?("ObjectExpression"!==l[0].type&&l.unshift({type:"ObjectExpression",properties:[]}),u={type:"CallExpression",callee:kr("Object.assign"),arguments:l,optional:!1}):l.length>0&&(u=l[0]),n){g.push(u||{type:"ObjectExpression",properties:[]}),c?g.push(c):t.development&&g.push({type:"Identifier",name:"undefined"});const n=i.length>1;if(t.development){r.jsxDEV=!0,h={type:"Identifier",name:"_jsxDEV"},g.push({type:"Literal",value:n});const a={type:"ObjectExpression",properties:[{type:"Property",method:!1,shorthand:!1,computed:!1,kind:"init",key:{type:"Identifier",name:"fileName"},value:{type:"Literal",value:t.filePath||"<source.js>"}}]};e.loc&&a.properties.push({type:"Property",method:!1,shorthand:!1,computed:!1,kind:"init",key:{type:"Identifier",name:"lineNumber"},value:{type:"Literal",value:e.loc.start.line}},{type:"Property",method:!1,shorthand:!1,computed:!1,kind:"init",key:{type:"Identifier",name:"columnNumber"},value:{type:"Literal",value:e.loc.start.column+1}}),g.push(a,{type:"ThisExpression"})}else n?(r.jsxs=!0,h={type:"Identifier",name:"_jsxs"}):(r.jsx=!0,h={type:"Identifier",name:"_jsx"})}else(u||g.length>0)&&g.unshift(u||{type:"Literal",value:null}),h=kr(a.jsx||t.pragma||"React.createElement");g.unshift(s),this.replace(Cr(e,{type:"CallExpression",callee:h,arguments:g,optional:!1}))}})}(e,{development:t,filePath:a.history[0]}),"function-body"===n&&e.body[0]&&"ImportDeclaration"===e.body[0].type&&"string"==typeof e.body[0].source.value&&/\/jsx-(dev-)?runtime$/.test(e.body[0].source.value)&&(e.body[0]={type:"VariableDeclaration",kind:"const",declarations:Er(e.body[0].specifiers,Sr(["arguments",0]))})}}function Ir(e,t){if("MemberExpression"===e.type)return!e.computed&&Ir(e.object,e);if("Identifier"===e.type){if(!t)return!0;switch(t.type){case"MemberExpression":return t.computed||e===t.object;case"MethodDefinition":return t.computed;case"PropertyDefinition":case"Property":return t.computed||e===t.value;case"ExportSpecifier":case"ImportSpecifier":return e===t.local;case"LabeledStatement":case"BreakStatement":case"ContinueStatement":return!1;default:return!0}}return!1}function Fr(e){const t=new WeakMap,n=new Map,a=new Nr(null,!1),r=[];let i=a;br(e,{enter(e,n){switch(e.type){case"Identifier":Ir(e,n)&&r.push([i,e]);break;case"ImportDeclaration":e.specifiers.forEach((e=>{i.declarations.set(e.local.name,e)}));break;case"FunctionExpression":case"FunctionDeclaration":case"ArrowFunctionExpression":"FunctionDeclaration"===e.type?(e.id&&i.declarations.set(e.id.name,e),t.set(e,i=new Nr(i,!1))):(t.set(e,i=new Nr(i,!1)),"FunctionExpression"===e.type&&e.id&&i.declarations.set(e.id.name,e)),e.params.forEach((t=>{Br(t).forEach((t=>{i.declarations.set(t,e)}))}));break;case"ForStatement":case"ForInStatement":case"ForOfStatement":case"BlockStatement":t.set(e,i=new Nr(i,!0));break;case"ClassDeclaration":case"VariableDeclaration":i.add_declaration(e);break;case"CatchClause":t.set(e,i=new Nr(i,!0)),e.param&&Br(e.param).forEach((t=>{i.declarations.set(t,e.param)}))}},leave(e){t.has(e)&&(i=i.parent)}});for(let s=r.length-1;s>=0;--s){const[e,t]=r[s];e.references.has(t.name)||Or(e,t.name),e.find_owner(t.name)||n.set(t.name,t)}return{map:t,scope:a,globals:n}}function Or(e,t){e.references.add(t),e.parent&&Or(e.parent,t)}class Nr{constructor(e,t){this.parent=e,this.block=t,this.declarations=new Map,this.initialised_declarations=new Set,this.references=new Set}add_declaration(e){if("VariableDeclaration"===e.type)if("var"===e.kind&&this.block&&this.parent)this.parent.add_declaration(e);else{const t=t=>{Br(t.id).forEach((n=>{this.declarations.set(n,e),t.init&&this.initialised_declarations.add(n)}))};e.declarations.forEach(t)}else e.id&&this.declarations.set(e.id.name,e)}find_owner(e){return this.declarations.has(e)?this:this.parent&&this.parent.find_owner(e)}has(e){return this.declarations.has(e)||!!this.parent&&this.parent.has(e)}}function Br(e){return Mr(e).map((e=>e.name))}function Mr(e,t=[]){switch(e.type){case"Identifier":t.push(e);break;case"MemberExpression":let n=e;for(;"MemberExpression"===n.type;)n=n.object;t.push(n);break;case"ObjectPattern":const a=e=>{"RestElement"===e.type?Mr(e.argument,t):Mr(e.value,t)};e.properties.forEach(a);break;case"ArrayPattern":const r=e=>{e&&Mr(e,t)};e.elements.forEach(r);break;case"RestElement":Mr(e.argument,t);break;case"AssignmentPattern":Mr(e.left,t)}return t}function Pr(e){if("FunctionDeclaration"===e.type)return{...e,type:"FunctionExpression"};if("ClassDeclaration"===e.type)return{...e,type:"ClassExpression"};throw new Error("Cannot turn `"+e.type+"` into an expression")}function jr(e){const t=e&&"object"==typeof e&&e.type;return Boolean("FunctionDeclaration"===t||"ClassDeclaration"===t||"VariableDeclaration"===t)}function Vr(e={}){const{baseUrl:t,useDynamicImport:n,outputFormat:a="program",pragma:r="React.createElement",pragmaFrag:i="React.Fragment",pragmaImportSource:s="react",jsxImportSource:o="react",jsxRuntime:d="automatic"}=e;return(e,u)=>{const h=[],g=[],p=[];let f,m,R,y=0;if(e.comments||(e.comments=[]),d&&p.push("@jsxRuntime "+d),"automatic"===d&&o&&p.push("@jsxImportSource "+o),"classic"===d&&r&&p.push("@jsx "+r),"classic"===d&&i&&p.push("@jsxFrag "+i),p.length>0&&e.comments.unshift({type:"Block",value:p.join(" ")}),"classic"===d&&s){if(!r)throw new Error("Missing `pragma` in classic runtime with `pragmaImportSource`");x({type:"ImportDeclaration",specifiers:[{type:"ImportDefaultSpecifier",local:{type:"Identifier",name:r.split(".")[0]}}],source:{type:"Literal",value:s}})}for(R of e.body)if("ExportDefaultDeclaration"===R.type)f&&u.fail("Cannot specify multiple layouts (previous: "+c(wt(f))+")",wt(R),"recma-document:duplicate-layout"),f=R,g.push({type:"VariableDeclaration",kind:"const",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"MDXLayout"},init:jr(R.declaration)?Pr(R.declaration):R.declaration}]});else if("ExportNamedDeclaration"===R.type&&R.source){const e=R.source;R.specifiers=R.specifiers.filter((t=>"default"!==t.exported.name||(f&&u.fail("Cannot specify multiple layouts (previous: "+c(wt(f))+")",wt(R),"recma-document:duplicate-layout"),f=t,x(wr(t,{type:"ImportDeclaration",specifiers:["default"===t.local.name?{type:"ImportDefaultSpecifier",local:{type:"Identifier",name:"MDXLayout"}}:wr(t.local,{type:"ImportSpecifier",imported:t.local,local:{type:"Identifier",name:"MDXLayout"}})],source:wr(e,{type:"Literal",value:e.value})})),!1))),R.specifiers.length>0&&b(R)}else"ExportNamedDeclaration"===R.type||"ExportAllDeclaration"===R.type?b(R):"ImportDeclaration"===R.type?x(R):"ExpressionStatement"!==R.type||"JSXFragment"!==R.expression.type&&"JSXElement"!==R.expression.type?g.push(R):(m=!0,g.push(...l(R.expression,Boolean(f))));function b(e){if("ExportNamedDeclaration"===e.type)for(R of(e.declaration&&h.push(...Fr(e.declaration).scope.declarations.keys()),e.specifiers))h.push(R.exported.name);x(e)}function x(e){if(t&&e.source){let n=String(e.source.value);try{n=String(new URL(n))}catch{/^\.{0,2}\//.test(n)&&(n=String(new URL(n,t)))}e.source=wr(e.source,{type:"Literal",value:n})}let r,i;if("function-body"===a)if("ImportDeclaration"===e.type||"ExportAllDeclaration"===e.type||"ExportNamedDeclaration"===e.type&&e.source){if(n||u.fail("Cannot use `import` or `export \u2026 from` in `evaluate` (outputting a function body) by default: please set `useDynamicImport: true` (and probably specify a `baseUrl`)",wt(e),"recma-document:invalid-esm-statement"),!e.source)throw new Error("Expected `node.source` to be defined");i={type:"AwaitExpression",argument:wr(e,{type:"ImportExpression",source:e.source})},r="ImportDeclaration"!==e.type&&"ExportNamedDeclaration"!==e.type||0!==e.specifiers.length?{type:"VariableDeclaration",kind:"const",declarations:"ExportAllDeclaration"===e.type?[{type:"VariableDeclarator",id:{type:"Identifier",name:"_exportAll"+ ++y},init:i}]:Er(e.specifiers,i)}:{type:"ExpressionStatement",expression:i}}else if(e.declaration)r=e.declaration;else{const t=e.specifiers.filter((e=>e.local.name!==e.exported.name)).map((e=>({type:"VariableDeclarator",id:e.exported,init:e.local})));t.length>0&&(r={type:"VariableDeclaration",kind:"const",declarations:t})}else r=e;r&&g.push(r)}m||g.push(...l(void 0,Boolean(f))),h.push(["MDXContent","default"]),"function-body"===a?g.push({type:"ReturnStatement",argument:{type:"ObjectExpression",properties:[...Array.from({length:y}).map(((e,t)=>({type:"SpreadElement",argument:{type:"Identifier",name:"_exportAll"+(t+1)}}))),...h.map((e=>({type:"Property",kind:"init",method:!1,computed:!1,shorthand:"string"==typeof e,key:{type:"Identifier",name:"string"==typeof e?e:e[1]},value:{type:"Identifier",name:"string"==typeof e?e:e[0]}})))]}}):g.push({type:"ExportDefaultDeclaration",declaration:{type:"Identifier",name:"MDXContent"}}),e.body=g,t&&br(e,{enter(e){const n=e;if("MemberExpression"===n.type&&"object"in n&&"MetaProperty"===n.object.type&&"Identifier"===n.property.type&&"import"===n.object.meta.name&&"meta"===n.object.property.name&&"url"===n.property.name){const e={type:"Literal",value:t};this.replace(e)}}})};function l(e,t){let n={type:"JSXElement",openingElement:{type:"JSXOpeningElement",name:{type:"JSXIdentifier",name:"MDXLayout"},attributes:[{type:"JSXSpreadAttribute",argument:{type:"Identifier",name:"props"}}],selfClosing:!1},closingElement:{type:"JSXClosingElement",name:{type:"JSXIdentifier",name:"MDXLayout"}},children:[{type:"JSXElement",openingElement:{type:"JSXOpeningElement",name:{type:"JSXIdentifier",name:"_createMdxContent"},attributes:[{type:"JSXSpreadAttribute",argument:{type:"Identifier",name:"props"}}],selfClosing:!0},closingElement:null,children:[]}]};t||(n={type:"ConditionalExpression",test:{type:"Identifier",name:"MDXLayout"},consequent:n,alternate:{type:"CallExpression",callee:{type:"Identifier",name:"_createMdxContent"},arguments:[{type:"Identifier",name:"props"}],optional:!1}});let a=e||{type:"Literal",value:null};return a&&"JSXFragment"===a.type&&1===a.children.length&&"JSXElement"===a.children[0].type&&(a=a.children[0]),[{type:"FunctionDeclaration",id:{type:"Identifier",name:"_createMdxContent"},params:[{type:"Identifier",name:"props"}],body:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:a}]}},{type:"FunctionDeclaration",id:{type:"Identifier",name:"MDXContent"},params:[{type:"AssignmentPattern",left:{type:"Identifier",name:"props"},right:{type:"ObjectExpression",properties:[]}}],body:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:n}]}}]}}function $r(e){let t,n=-1;for(;++n<e.length;){const a=e[n];t=t?{type:"BinaryExpression",left:t,operator:"+",right:a}:a}if(!t)throw new Error("Expected non-empty `expressions` to be passed");return t}const Ur={}.hasOwnProperty;function zr(e={}){const{development:t,providerImportSource:n,outputFormat:a}=e;return(e,r)=>{const i=Fr(e),s=[];let o,d,l;if(br(e,{enter(e){const t=e,a=i.map.get(t);"FunctionDeclaration"!==t.type&&"FunctionExpression"!==t.type&&"ArrowFunctionExpression"!==t.type||(s.push({objects:[],components:[],tags:[],references:{},idToInvalidComponentName:new Map,node:t}),Hr(t,"MDXContent")&&a&&!Yr(a,"MDXLayout")&&s[0].components.push("MDXLayout"));const r=s[0];if(r&&(Hr(r.node,"_createMdxContent")||n)&&(a&&(a.node=t,l=a),l&&"JSXElement"===t.type)){let e=t.openingElement.name;if("JSXMemberExpression"===e.type){const n=[];for(;"JSXMemberExpression"===e.type;)n.unshift(e.property.name),e=e.object;n.unshift(e.name);const a=n.join("."),i=e.name,s=Yr(l,i);if(!Ur.call(r.references,a)){const e=l.parent;(!s||e&&"FunctionDeclaration"===e.node.type&&Hr(e.node,"_createMdxContent"))&&(r.references[a]={node:t,component:!0})}r.objects.includes(i)||s||r.objects.push(i)}else if("JSXNamespacedName"===e.type);else if(Vt(e.name)&&!/^[a-z]/.test(e.name)){const n=e.name;Yr(l,n)||("MDXLayout"===n||Ur.call(r.references,n)||(r.references[n]={node:t,component:!0}),r.components.includes(n)||r.components.push(n))}else if(t.data&&t.data._mdxExplicitJsx);else{const n=e.name;r.tags.includes(n)||r.tags.push(n);let a=["_components",n];if(!1===Vt(n)){let e=r.idToInvalidComponentName.get(n);void 0===e&&(e=`_component${r.idToInvalidComponentName.size}`,r.idToInvalidComponentName.set(n,e)),a=[e]}t.openingElement.name=Ar(a),t.closingElement&&(t.closingElement.name=Ar(a))}}},leave(e){const a=[],r=[],i=[],u=[];if(l&&l.node===e&&(l=l.parent),"FunctionDeclaration"===e.type||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type){const l=e,h=s[s.length-1];let g;for(g of h.tags)a.push({type:"Property",kind:"init",key:Vt(g)?{type:"Identifier",name:g}:{type:"Literal",value:g},value:{type:"Literal",value:g},method:!1,shorthand:!1,computed:!1});for(g of(r.push(...h.components),h.objects))r.includes(g)||r.push(g);const p=[];if(a.length>0||r.length>0||h.idToInvalidComponentName.size>0){n&&(o=!0,i.push({type:"CallExpression",callee:{type:"Identifier",name:"_provideComponents"},arguments:[],optional:!1})),(Hr(h.node,"MDXContent")||Hr(h.node,"_createMdxContent"))&&i.push(Sr(["props","components"])),(a.length>0||i.length>1)&&i.unshift({type:"ObjectExpression",properties:a});let e,t=i.length>1?{type:"CallExpression",callee:Sr(["Object","assign"]),arguments:i,optional:!1}:"MemberExpression"===i[0].type?{type:"LogicalExpression",operator:"||",left:i[0],right:{type:"ObjectExpression",properties:[]}}:i[0];if(r.length>0&&(e={type:"ObjectPattern",properties:r.map((e=>({type:"Property",kind:"init",key:{type:"Identifier",name:"MDXLayout"===e?"wrapper":e},value:{type:"Identifier",name:e},method:!1,shorthand:"MDXLayout"!==e,computed:!1})))}),h.tags.length>0&&(u.push({type:"VariableDeclarator",id:{type:"Identifier",name:"_components"},init:t}),t={type:"Identifier",name:"_components"}),Hr(h.node,"_createMdxContent"))for(const[n,a]of h.idToInvalidComponentName)u.push({type:"VariableDeclarator",id:{type:"Identifier",name:a},init:{type:"MemberExpression",object:{type:"Identifier",name:"_components"},property:{type:"Literal",value:n},computed:!0,optional:!1}});e&&u.push({type:"VariableDeclarator",id:e,init:t}),u.length>0&&p.push({type:"VariableDeclaration",kind:"const",declarations:u})}let f;for(f in h.references)if(Ur.call(h.references,f)){const e=f.split(".");let t=0;for(;++t<e.length;){const n=e.slice(0,t).join(".");Ur.call(h.references,n)||(h.references[n]={node:h.references[f].node,component:!1})}}const m=Object.keys(h.references).sort();let R=-1;for(;++R<m.length;){const e=m[R],n=h.references[e],a=c(wt(n.node)),r=[{type:"Literal",value:e},{type:"Literal",value:n.component}];d=!0,t&&"1:1-1:1"!==a&&r.push({type:"Literal",value:a}),p.push({type:"IfStatement",test:{type:"UnaryExpression",operator:"!",prefix:!0,argument:Sr(e.split("."))},consequent:{type:"ExpressionStatement",expression:{type:"CallExpression",callee:{type:"Identifier",name:"_missingMdxReference"},arguments:r,optional:!1}},alternate:null})}p.length>0&&("BlockStatement"!==l.body.type&&(l.body={type:"BlockStatement",body:[{type:"ReturnStatement",argument:l.body}]}),l.body.body.unshift(...p)),s.pop()}}}),o&&n&&e.body.unshift(function(e,t){const n=[{type:"ImportSpecifier",imported:{type:"Identifier",name:"useMDXComponents"},local:{type:"Identifier",name:"_provideComponents"}}];return"function-body"===t?{type:"VariableDeclaration",kind:"const",declarations:Er(n,Sr(["arguments",0]))}:{type:"ImportDeclaration",specifiers:n,source:{type:"Literal",value:e}}}(n,a)),d){const n=[{type:"Literal",value:"Expected "},{type:"ConditionalExpression",test:{type:"Identifier",name:"component"},consequent:{type:"Literal",value:"component"},alternate:{type:"Literal",value:"object"}},{type:"Literal",value:" `"},{type:"Identifier",name:"id"},{type:"Literal",value:"` to be defined: you likely forgot to import, pass, or provide it."}],a=[{type:"Identifier",name:"id"},{type:"Identifier",name:"component"}];t&&(n.push({type:"ConditionalExpression",test:{type:"Identifier",name:"place"},consequent:$r([{type:"Literal",value:"\nIt\u2019s referenced in your code at `"},{type:"Identifier",name:"place"},{type:"Literal",value:(r.path?"` in `"+r.path:"")+"`"}]),alternate:{type:"Literal",value:""}}),a.push({type:"Identifier",name:"place"})),e.body.push({type:"FunctionDeclaration",id:{type:"Identifier",name:"_missingMdxReference"},generator:!1,async:!1,params:a,body:{type:"BlockStatement",body:[{type:"ThrowStatement",argument:{type:"NewExpression",callee:{type:"Identifier",name:"Error"},arguments:[$r(n)]}}]}})}}}function Hr(e,t){return Boolean(e&&"id"in e&&e.id&&e.id.name===t)}function Yr(e,t){let n=e;for(;n;){if(n.declarations.has(t))return!0;n=n.parent}return!1}const{stringify:Wr}=JSON;if(!String.prototype.repeat)throw new Error("String.prototype.repeat is undefined, see https://github.com/davidbonnet/astring#installation");if(!String.prototype.endsWith)throw new Error("String.prototype.endsWith is undefined, see https://github.com/davidbonnet/astring#installation");const qr={"||":3,"&&":4,"|":5,"??":5,"^":6,"&":7,"==":8,"!=":8,"===":8,"!==":8,"<":9,">":9,"<=":9,">=":9,in:9,instanceof:9,"<<":10,">>":10,">>>":10,"+":11,"-":11,"*":12,"%":12,"/":12,"**":13},Gr=17,Xr={ArrayExpression:20,TaggedTemplateExpression:20,ThisExpression:20,Identifier:20,PrivateIdentifier:20,Literal:18,TemplateLiteral:20,Super:20,SequenceExpression:20,MemberExpression:19,ChainExpression:19,CallExpression:19,NewExpression:19,ArrowFunctionExpression:Gr,ClassExpression:Gr,FunctionExpression:Gr,ObjectExpression:Gr,UpdateExpression:16,UnaryExpression:15,AwaitExpression:15,BinaryExpression:14,LogicalExpression:13,ConditionalExpression:4,AssignmentExpression:3,YieldExpression:2,RestElement:1};function Jr(e,t){const{generator:n}=e;if(e.write("("),null!=t&&t.length>0){n[t[0].type](t[0],e);const{length:a}=t;for(let r=1;r<a;r++){const a=t[r];e.write(", "),n[a.type](a,e)}}e.write(")")}function Kr(e,t,n,a){const r=e.expressionsPrecedence[t.type];if(r===Gr)return!0;const i=e.expressionsPrecedence[n.type];return r!==i?!a&&15===r&&14===i&&"**"===n.operator||r<i:(13===r||14===r)&&("**"===t.operator&&"**"===n.operator?!a:a?qr[t.operator]<=qr[n.operator]:qr[t.operator]<qr[n.operator])}function Zr(e,t,n,a){const{generator:r}=e;Kr(e,t,n,a)?(e.write("("),r[t.type](t,e),e.write(")")):r[t.type](t,e)}function Qr(e,t,n,a){const r=t.split("\n"),i=r.length-1;if(e.write(r[0].trim()),i>0){e.write(a);for(let t=1;t<i;t++)e.write(n+r[t].trim()+a);e.write(n+r[i].trim())}}function ei(e,t,n,a){const{length:r}=t;for(let i=0;i<r;i++){const r=t[i];e.write(n),"L"===r.type[0]?e.write("// "+r.value.trim()+"\n",r):(e.write("/*"),Qr(e,r.value,n,a),e.write("*/"+a))}}function ti(e,t){const{generator:n}=e,{declarations:a}=t;e.write(t.kind+" ");const{length:r}=a;if(r>0){n.VariableDeclarator(a[0],e);for(let t=1;t<r;t++)e.write(", "),n.VariableDeclarator(a[t],e)}}let ni,ai,ri,ii,si,oi;const di={Program(e,t){const n=t.indent.repeat(t.indentLevel),{lineEnd:a,writeComments:r}=t;r&&null!=e.comments&&ei(t,e.comments,n,a);const i=e.body,{length:s}=i;for(let o=0;o<s;o++){const e=i[o];r&&null!=e.comments&&ei(t,e.comments,n,a),t.write(n),this[e.type](e,t),t.write(a)}r&&null!=e.trailingComments&&ei(t,e.trailingComments,n,a)},BlockStatement:oi=function(e,t){const n=t.indent.repeat(t.indentLevel++),{lineEnd:a,writeComments:r}=t,i=n+t.indent;t.write("{");const s=e.body;if(null!=s&&s.length>0){t.write(a),r&&null!=e.comments&&ei(t,e.comments,i,a);const{length:o}=s;for(let e=0;e<o;e++){const n=s[e];r&&null!=n.comments&&ei(t,n.comments,i,a),t.write(i),this[n.type](n,t),t.write(a)}t.write(n)}else r&&null!=e.comments&&(t.write(a),ei(t,e.comments,i,a),t.write(n));r&&null!=e.trailingComments&&ei(t,e.trailingComments,i,a),t.write("}"),t.indentLevel--},ClassBody:oi,StaticBlock(e,t){t.write("static "),this.BlockStatement(e,t)},EmptyStatement(e,t){t.write(";")},ExpressionStatement(e,t){const n=t.expressionsPrecedence[e.expression.type];n===Gr||3===n&&"O"===e.expression.left.type[0]?(t.write("("),this[e.expression.type](e.expression,t),t.write(")")):this[e.expression.type](e.expression,t),t.write(";")},IfStatement(e,t){t.write("if ("),this[e.test.type](e.test,t),t.write(") "),this[e.consequent.type](e.consequent,t),null!=e.alternate&&(t.write(" else "),this[e.alternate.type](e.alternate,t))},LabeledStatement(e,t){this[e.label.type](e.label,t),t.write(": "),this[e.body.type](e.body,t)},BreakStatement(e,t){t.write("break"),null!=e.label&&(t.write(" "),this[e.label.type](e.label,t)),t.write(";")},ContinueStatement(e,t){t.write("continue"),null!=e.label&&(t.write(" "),this[e.label.type](e.label,t)),t.write(";")},WithStatement(e,t){t.write("with ("),this[e.object.type](e.object,t),t.write(") "),this[e.body.type](e.body,t)},SwitchStatement(e,t){const n=t.indent.repeat(t.indentLevel++),{lineEnd:a,writeComments:r}=t;t.indentLevel++;const i=n+t.indent,s=i+t.indent;t.write("switch ("),this[e.discriminant.type](e.discriminant,t),t.write(") {"+a);const{cases:o}=e,{length:d}=o;for(let l=0;l<d;l++){const e=o[l];r&&null!=e.comments&&ei(t,e.comments,i,a),e.test?(t.write(i+"case "),this[e.test.type](e.test,t),t.write(":"+a)):t.write(i+"default:"+a);const{consequent:n}=e,{length:d}=n;for(let i=0;i<d;i++){const e=n[i];r&&null!=e.comments&&ei(t,e.comments,s,a),t.write(s),this[e.type](e,t),t.write(a)}}t.indentLevel-=2,t.write(n+"}")},ReturnStatement(e,t){t.write("return"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t)),t.write(";")},ThrowStatement(e,t){t.write("throw "),this[e.argument.type](e.argument,t),t.write(";")},TryStatement(e,t){if(t.write("try "),this[e.block.type](e.block,t),e.handler){const{handler:n}=e;null==n.param?t.write(" catch "):(t.write(" catch ("),this[n.param.type](n.param,t),t.write(") ")),this[n.body.type](n.body,t)}e.finalizer&&(t.write(" finally "),this[e.finalizer.type](e.finalizer,t))},WhileStatement(e,t){t.write("while ("),this[e.test.type](e.test,t),t.write(") "),this[e.body.type](e.body,t)},DoWhileStatement(e,t){t.write("do "),this[e.body.type](e.body,t),t.write(" while ("),this[e.test.type](e.test,t),t.write(");")},ForStatement(e,t){if(t.write("for ("),null!=e.init){const{init:n}=e;"V"===n.type[0]?ti(t,n):this[n.type](n,t)}t.write("; "),e.test&&this[e.test.type](e.test,t),t.write("; "),e.update&&this[e.update.type](e.update,t),t.write(") "),this[e.body.type](e.body,t)},ForInStatement:ni=function(e,t){t.write(`for ${e.await?"await ":""}(`);const{left:n}=e;"V"===n.type[0]?ti(t,n):this[n.type](n,t),t.write("I"===e.type[3]?" in ":" of "),this[e.right.type](e.right,t),t.write(") "),this[e.body.type](e.body,t)},ForOfStatement:ni,DebuggerStatement(e,t){t.write("debugger;",e)},FunctionDeclaration:ai=function(e,t){t.write((e.async?"async ":"")+(e.generator?"function* ":"function ")+(e.id?e.id.name:""),e),Jr(t,e.params),t.write(" "),this[e.body.type](e.body,t)},FunctionExpression:ai,VariableDeclaration(e,t){ti(t,e),t.write(";")},VariableDeclarator(e,t){this[e.id.type](e.id,t),null!=e.init&&(t.write(" = "),this[e.init.type](e.init,t))},ClassDeclaration(e,t){if(t.write("class "+(e.id?`${e.id.name} `:""),e),e.superClass){t.write("extends ");const{superClass:n}=e,{type:a}=n,r=t.expressionsPrecedence[a];"C"===a[0]&&"l"===a[1]&&"E"===a[5]||!(r===Gr||r<t.expressionsPrecedence.ClassExpression)?this[n.type](n,t):(t.write("("),this[e.superClass.type](n,t),t.write(")")),t.write(" ")}this.ClassBody(e.body,t)},ImportDeclaration(e,t){t.write("import ");const{specifiers:n}=e,{length:a}=n;let r=0;if(a>0){for(;r<a;){r>0&&t.write(", ");const e=n[r],a=e.type[6];if("D"===a)t.write(e.local.name,e),r++;else{if("N"!==a)break;t.write("* as "+e.local.name,e),r++}}if(r<a){for(t.write("{");;){const e=n[r],{name:i}=e.imported;if(t.write(i,e),i!==e.local.name&&t.write(" as "+e.local.name),!(++r<a))break;t.write(", ")}t.write("}")}t.write(" from ")}this.Literal(e.source,t),t.write(";")},ImportExpression(e,t){t.write("import("),this[e.source.type](e.source,t),t.write(")")},ExportDefaultDeclaration(e,t){t.write("export default "),this[e.declaration.type](e.declaration,t),null!=t.expressionsPrecedence[e.declaration.type]&&"F"!==e.declaration.type[0]&&t.write(";")},ExportNamedDeclaration(e,t){if(t.write("export "),e.declaration)this[e.declaration.type](e.declaration,t);else{t.write("{");const{specifiers:n}=e,{length:a}=n;if(a>0)for(let e=0;;){const r=n[e],{name:i}=r.local;if(t.write(i,r),i!==r.exported.name&&t.write(" as "+r.exported.name),!(++e<a))break;t.write(", ")}t.write("}"),e.source&&(t.write(" from "),this.Literal(e.source,t)),t.write(";")}},ExportAllDeclaration(e,t){null!=e.exported?t.write("export * as "+e.exported.name+" from "):t.write("export * from "),this.Literal(e.source,t),t.write(";")},MethodDefinition(e,t){e.static&&t.write("static ");const n=e.kind[0];"g"!==n&&"s"!==n||t.write(e.kind+" "),e.value.async&&t.write("async "),e.value.generator&&t.write("*"),e.computed?(t.write("["),this[e.key.type](e.key,t),t.write("]")):this[e.key.type](e.key,t),Jr(t,e.value.params),t.write(" "),this[e.value.body.type](e.value.body,t)},ClassExpression(e,t){this.ClassDeclaration(e,t)},ArrowFunctionExpression(e,t){t.write(e.async?"async ":"",e);const{params:n}=e;null!=n&&(1===n.length&&"I"===n[0].type[0]?t.write(n[0].name,n[0]):Jr(t,e.params)),t.write(" => "),"O"===e.body.type[0]?(t.write("("),this.ObjectExpression(e.body,t),t.write(")")):this[e.body.type](e.body,t)},ThisExpression(e,t){t.write("this",e)},Super(e,t){t.write("super",e)},RestElement:ri=function(e,t){t.write("..."),this[e.argument.type](e.argument,t)},SpreadElement:ri,YieldExpression(e,t){t.write(e.delegate?"yield*":"yield"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t))},AwaitExpression(e,t){t.write("await ",e),Zr(t,e.argument,e)},TemplateLiteral(e,t){const{quasis:n,expressions:a}=e;t.write("`");const{length:r}=a;for(let s=0;s<r;s++){const e=a[s],r=n[s];t.write(r.value.raw,r),t.write("${"),this[e.type](e,t),t.write("}")}const i=n[n.length-1];t.write(i.value.raw,i),t.write("`")},TemplateElement(e,t){t.write(e.value.raw,e)},TaggedTemplateExpression(e,t){Zr(t,e.tag,e),this[e.quasi.type](e.quasi,t)},ArrayExpression:si=function(e,t){if(t.write("["),e.elements.length>0){const{elements:n}=e,{length:a}=n;for(let e=0;;){const r=n[e];if(null!=r&&this[r.type](r,t),!(++e<a)){null==r&&t.write(", ");break}t.write(", ")}}t.write("]")},ArrayPattern:si,ObjectExpression(e,t){const n=t.indent.repeat(t.indentLevel++),{lineEnd:a,writeComments:r}=t,i=n+t.indent;if(t.write("{"),e.properties.length>0){t.write(a),r&&null!=e.comments&&ei(t,e.comments,i,a);const s=","+a,{properties:o}=e,{length:d}=o;for(let e=0;;){const n=o[e];if(r&&null!=n.comments&&ei(t,n.comments,i,a),t.write(i),this[n.type](n,t),!(++e<d))break;t.write(s)}t.write(a),r&&null!=e.trailingComments&&ei(t,e.trailingComments,i,a),t.write(n+"}")}else r?null!=e.comments?(t.write(a),ei(t,e.comments,i,a),null!=e.trailingComments&&ei(t,e.trailingComments,i,a),t.write(n+"}")):null!=e.trailingComments?(t.write(a),ei(t,e.trailingComments,i,a),t.write(n+"}")):t.write("}"):t.write("}");t.indentLevel--},Property(e,t){e.method||"i"!==e.kind[0]?this.MethodDefinition(e,t):(e.shorthand||(e.computed?(t.write("["),this[e.key.type](e.key,t),t.write("]")):this[e.key.type](e.key,t),t.write(": ")),this[e.value.type](e.value,t))},PropertyDefinition(e,t){e.static&&t.write("static "),e.computed&&t.write("["),this[e.key.type](e.key,t),e.computed&&t.write("]"),null!=e.value?(t.write(" = "),this[e.value.type](e.value,t),t.write(";")):"F"!==e.key.type[0]&&t.write(";")},ObjectPattern(e,t){if(t.write("{"),e.properties.length>0){const{properties:n}=e,{length:a}=n;for(let e=0;this[n[e].type](n[e],t),++e<a;)t.write(", ")}t.write("}")},SequenceExpression(e,t){Jr(t,e.expressions)},UnaryExpression(e,t){if(e.prefix){const{operator:n,argument:a,argument:{type:r}}=e;t.write(n);const i=Kr(t,a,e);i||!(n.length>1)&&("U"!==r[0]||"n"!==r[1]&&"p"!==r[1]||!a.prefix||a.operator[0]!==n||"+"!==n&&"-"!==n)||t.write(" "),i?(t.write(n.length>1?" (":"("),this[r](a,t),t.write(")")):this[r](a,t)}else this[e.argument.type](e.argument,t),t.write(e.operator)},UpdateExpression(e,t){e.prefix?(t.write(e.operator),this[e.argument.type](e.argument,t)):(this[e.argument.type](e.argument,t),t.write(e.operator))},AssignmentExpression(e,t){this[e.left.type](e.left,t),t.write(" "+e.operator+" "),this[e.right.type](e.right,t)},AssignmentPattern(e,t){this[e.left.type](e.left,t),t.write(" = "),this[e.right.type](e.right,t)},BinaryExpression:ii=function(e,t){const n="in"===e.operator;n&&t.write("("),Zr(t,e.left,e,!1),t.write(" "+e.operator+" "),Zr(t,e.right,e,!0),n&&t.write(")")},LogicalExpression:ii,ConditionalExpression(e,t){const{test:n}=e,a=t.expressionsPrecedence[n.type];a===Gr||a<=t.expressionsPrecedence.ConditionalExpression?(t.write("("),this[n.type](n,t),t.write(")")):this[n.type](n,t),t.write(" ? "),this[e.consequent.type](e.consequent,t),t.write(" : "),this[e.alternate.type](e.alternate,t)},NewExpression(e,t){t.write("new ");const n=t.expressionsPrecedence[e.callee.type];n===Gr||n<t.expressionsPrecedence.CallExpression||function(e){let t=e;for(;null!=t;){const{type:e}=t;if("C"===e[0]&&"a"===e[1])return!0;if("M"!==e[0]||"e"!==e[1]||"m"!==e[2])return!1;t=t.object}}(e.callee)?(t.write("("),this[e.callee.type](e.callee,t),t.write(")")):this[e.callee.type](e.callee,t),Jr(t,e.arguments)},CallExpression(e,t){const n=t.expressionsPrecedence[e.callee.type];n===Gr||n<t.expressionsPrecedence.CallExpression?(t.write("("),this[e.callee.type](e.callee,t),t.write(")")):this[e.callee.type](e.callee,t),e.optional&&t.write("?."),Jr(t,e.arguments)},ChainExpression(e,t){this[e.expression.type](e.expression,t)},MemberExpression(e,t){const n=t.expressionsPrecedence[e.object.type];n===Gr||n<t.expressionsPrecedence.MemberExpression?(t.write("("),this[e.object.type](e.object,t),t.write(")")):this[e.object.type](e.object,t),e.computed?(e.optional&&t.write("?."),t.write("["),this[e.property.type](e.property,t),t.write("]")):(e.optional?t.write("?."):t.write("."),this[e.property.type](e.property,t))},MetaProperty(e,t){t.write(e.meta.name+"."+e.property.name,e)},Identifier(e,t){t.write(e.name,e)},PrivateIdentifier(e,t){t.write(`#${e.name}`,e)},Literal(e,t){null!=e.raw?t.write(e.raw,e):null!=e.regex?this.RegExpLiteral(e,t):null!=e.bigint?t.write(e.bigint+"n",e):t.write(Wr(e.value),e)},RegExpLiteral(e,t){const{regex:n}=e;t.write(`/${n.pattern}/${n.flags}`,e)}},li={};class ci{constructor(e){const t=null==e?li:e;this.output="",null!=t.output?(this.output=t.output,this.write=this.writeToStream):this.output="",this.generator=null!=t.generator?t.generator:di,this.expressionsPrecedence=null!=t.expressionsPrecedence?t.expressionsPrecedence:Xr,this.indent=null!=t.indent?t.indent:" ",this.lineEnd=null!=t.lineEnd?t.lineEnd:"\n",this.indentLevel=null!=t.startingIndentLevel?t.startingIndentLevel:0,this.writeComments=!!t.comments&&t.comments,null!=t.sourceMap&&(this.write=null==t.output?this.writeAndMap:this.writeToStreamAndMap,this.sourceMap=t.sourceMap,this.line=1,this.column=0,this.lineEndSize=this.lineEnd.split("\n").length-1,this.mapping={original:null,generated:this,name:void 0,source:t.sourceMap.file||t.sourceMap._file})}write(e){this.output+=e}writeToStream(e){this.output.write(e)}writeAndMap(e,t){this.output+=e,this.map(e,t)}writeToStreamAndMap(e,t){this.output.write(e),this.map(e,t)}map(e,t){if(null!=t){const{type:n}=t;if("L"===n[0]&&"n"===n[2])return this.column=0,void this.line++;if(null!=t.loc){const{mapping:e}=this;e.original=t.loc.start,e.name=t.name,this.sourceMap.addMapping(e)}if("T"===n[0]&&"E"===n[8]||"L"===n[0]&&"i"===n[1]&&"string"==typeof t.value){const{length:t}=e;let{column:n,line:a}=this;for(let r=0;r<t;r++)"\n"===e[r]?(n=0,a++):n++;return this.column=n,void(this.line=a)}}const{length:n}=e,{lineEnd:a}=this;n>0&&(this.lineEndSize>0&&(1===a.length?e[n-1]===a:e.endsWith(a))?(this.line+=this.lineEndSize,this.column=0):this.column+=n)}toString(){return this.output}}const ui=function(e,t={}){const{SourceMapGenerator:n,filePath:a,handlers:r}=t,i=n?new n({file:a||"<unknown>.js"}):void 0,s=function(e,t){const n=new ci(t);return n.generator[e.type](e,n),n.output}(e,{comments:!0,generator:{...di,...r},sourceMap:i});return{value:s,map:i?i.toJSON():void 0}},hi={JSXAttribute:function(e,t){this[e.name.type](e.name,t),void 0!==e.value&&null!==e.value&&(t.write("="),"Literal"===e.value.type?t.write('"'+gi(String(e.value.value)).replace(/"/g,""")+'"',e):this[e.value.type](e.value,t))},JSXClosingElement:function(e,t){t.write("</"),this[e.name.type](e.name,t),t.write(">")},JSXClosingFragment:function(e,t){t.write("</>",e)},JSXElement:function(e,t){let n=-1;if(this[e.openingElement.type](e.openingElement,t),e.children)for(;++n<e.children.length;){const a=e.children[n];if("JSXSpreadChild"===a.type)throw new Error("JSX spread children are not supported");this[a.type](a,t)}e.closingElement&&this[e.closingElement.type](e.closingElement,t)},JSXEmptyExpression:function(){},JSXExpressionContainer:function(e,t){t.write("{"),this[e.expression.type](e.expression,t),t.write("}")},JSXFragment:function(e,t){let n=-1;if(this[e.openingFragment.type](e.openingFragment,t),e.children)for(;++n<e.children.length;){const a=e.children[n];if("JSXSpreadChild"===a.type)throw new Error("JSX spread children are not supported");this[a.type](a,t)}this[e.closingFragment.type](e.closingFragment,t)},JSXIdentifier:function(e,t){t.write(e.name,e)},JSXMemberExpression:function(e,t){this[e.object.type](e.object,t),t.write("."),this[e.property.type](e.property,t)},JSXNamespacedName:function(e,t){this[e.namespace.type](e.namespace,t),t.write(":"),this[e.name.type](e.name,t)},JSXOpeningElement:function(e,t){let n=-1;if(t.write("<"),this[e.name.type](e.name,t),e.attributes)for(;++n<e.attributes.length;)t.write(" "),this[e.attributes[n].type](e.attributes[n],t);t.write(e.selfClosing?" />":">")},JSXOpeningFragment:function(e,t){t.write("<>",e)},JSXSpreadAttribute:function(e,t){t.write("{"),this.SpreadElement(e,t),t.write("}")},JSXText:function(e,t){t.write(gi(e.value).replace(/[<>{}]/g,(e=>"<"===e?"<":">"===e?">":"{"===e?"{":"}")),e)}};function gi(e){return e.replace(/&(?=[#a-z])/gi,"&")}function pi(e={}){const{SourceMapGenerator:t}=e;Object.assign(this,{Compiler:function(e,n){const a=ui(e,t?{filePath:n.path||"unknown.mdx",SourceMapGenerator:t,handlers:hi}:{handlers:hi});return n.map=a.map,a.value}})}function fi(e,t){const n=t||{};return(""===e[e.length-1]?[...e,""]:e).join((n.padRight?" ":"")+","+(!1===n.padLeft?"":" ")).trim()}const mi={}.hasOwnProperty;function Ri(e,t){const n=(t||[]).concat().sort(xi);return n.length>0&&yi(e,{comments:n,index:0}),e}function yi(e,t){if(t.index===t.comments.length)return;const n=[],a=[];let r;for(r in e)if(mi.call(e,r)){const t=e[r];if(t&&"object"==typeof t&&"comments"!==r)if(Array.isArray(t)){let e=-1;for(;++e<t.length;)t[e]&&"string"==typeof t[e].type&&n.push(t[e])}else"string"==typeof t.type&&n.push(t)}n.sort(xi),a.push(...bi(t,e,!1,{leading:!0,trailing:!1}));let i=-1;for(;++i<n.length;)yi(n[i],t);a.push(...bi(t,e,!0,{leading:!1,trailing:n.length>0})),a.length>0&&(e.comments=a)}function bi(e,t,n,a){const r=[];for(;e.comments[e.index]&&xi(e.comments[e.index],t,n)<1;)r.push(Object.assign({},e.comments[e.index++],a));return r}function xi(e,t,n){const a=n?"end":"start";return e.range&&t.range?e.range[0]-t.range[n?1:0]:e.loc&&e.loc.start&&t.loc&&t.loc[a]?e.loc.start.line-t.loc[a].line||e.loc.start.column-t.loc[a].column:"start"in e&&a in t?e.start-t[a]:Number.NaN}class vi{constructor(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}}function _i(e,t){const n={},a={};let r=-1;for(;++r<e.length;)Object.assign(n,e[r].property),Object.assign(a,e[r].normal);return new vi(n,a,t)}function ki(e){return e.toLowerCase()}vi.prototype.property={},vi.prototype.normal={},vi.prototype.space=null;class Ci{constructor(e,t){this.property=e,this.attribute=t}}Ci.prototype.space=null,Ci.prototype.boolean=!1,Ci.prototype.booleanish=!1,Ci.prototype.overloadedBoolean=!1,Ci.prototype.number=!1,Ci.prototype.commaSeparated=!1,Ci.prototype.spaceSeparated=!1,Ci.prototype.commaOrSpaceSeparated=!1,Ci.prototype.mustUseProperty=!1,Ci.prototype.defined=!1;let wi=0;const Ei=Fi(),Si=Fi(),Ai=Fi(),Ti=Fi(),Di=Fi(),Li=Fi(),Ii=Fi();function Fi(){return 2**++wi}const Oi=Object.keys(r);class Ni extends Ci{constructor(e,t,n,a){let i=-1;if(super(e,t),Bi(this,"space",a),"number"==typeof n)for(;++i<Oi.length;){const e=Oi[i];Bi(this,Oi[i],(n&r[e])===r[e])}}}function Bi(e,t,n){n&&(e[t]=n)}Ni.prototype.defined=!0;const Mi={}.hasOwnProperty;function Pi(e){const t={},n={};let a;for(a in e.properties)if(Mi.call(e.properties,a)){const r=e.properties[a],i=new Ni(a,e.transform(e.attributes||{},a),r,e.space);e.mustUseProperty&&e.mustUseProperty.includes(a)&&(i.mustUseProperty=!0),t[a]=i,n[ki(a)]=a,n[ki(i.attribute)]=a}return new vi(t,n,e.space)}const ji=Pi({space:"xlink",transform:(e,t)=>"xlink:"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),Vi=Pi({space:"xml",transform:(e,t)=>"xml:"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function $i(e,t){return t in e?e[t]:t}function Ui(e,t){return $i(e,t.toLowerCase())}const zi=Pi({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:Ui,properties:{xmlns:null,xmlnsXLink:null}}),Hi=Pi({transform:(e,t)=>"role"===t?t:"aria-"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:Si,ariaAutoComplete:null,ariaBusy:Si,ariaChecked:Si,ariaColCount:Ti,ariaColIndex:Ti,ariaColSpan:Ti,ariaControls:Di,ariaCurrent:null,ariaDescribedBy:Di,ariaDetails:null,ariaDisabled:Si,ariaDropEffect:Di,ariaErrorMessage:null,ariaExpanded:Si,ariaFlowTo:Di,ariaGrabbed:Si,ariaHasPopup:null,ariaHidden:Si,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Di,ariaLevel:Ti,ariaLive:null,ariaModal:Si,ariaMultiLine:Si,ariaMultiSelectable:Si,ariaOrientation:null,ariaOwns:Di,ariaPlaceholder:null,ariaPosInSet:Ti,ariaPressed:Si,ariaReadOnly:Si,ariaRelevant:null,ariaRequired:Si,ariaRoleDescription:Di,ariaRowCount:Ti,ariaRowIndex:Ti,ariaRowSpan:Ti,ariaSelected:Si,ariaSetSize:Ti,ariaSort:null,ariaValueMax:Ti,ariaValueMin:Ti,ariaValueNow:Ti,ariaValueText:null,role:null}}),Yi=Pi({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:Ui,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Li,acceptCharset:Di,accessKey:Di,action:null,allow:null,allowFullScreen:Ei,allowPaymentRequest:Ei,allowUserMedia:Ei,alt:null,as:null,async:Ei,autoCapitalize:null,autoComplete:Di,autoFocus:Ei,autoPlay:Ei,capture:Ei,charSet:null,checked:Ei,cite:null,className:Di,cols:Ti,colSpan:null,content:null,contentEditable:Si,controls:Ei,controlsList:Di,coords:Ti|Li,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Ei,defer:Ei,dir:null,dirName:null,disabled:Ei,download:Ai,draggable:Si,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Ei,formTarget:null,headers:Di,height:Ti,hidden:Ei,high:Ti,href:null,hrefLang:null,htmlFor:Di,httpEquiv:Di,id:null,imageSizes:null,imageSrcSet:null,inputMode:null,integrity:null,is:null,isMap:Ei,itemId:null,itemProp:Di,itemRef:Di,itemScope:Ei,itemType:Di,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Ei,low:Ti,manifest:null,max:null,maxLength:Ti,media:null,method:null,min:null,minLength:Ti,multiple:Ei,muted:Ei,name:null,nonce:null,noModule:Ei,noValidate:Ei,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Ei,optimum:Ti,pattern:null,ping:Di,placeholder:null,playsInline:Ei,poster:null,preload:null,readOnly:Ei,referrerPolicy:null,rel:Di,required:Ei,reversed:Ei,rows:Ti,rowSpan:Ti,sandbox:Di,scope:null,scoped:Ei,seamless:Ei,selected:Ei,shape:null,size:Ti,sizes:null,slot:null,span:Ti,spellCheck:Si,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Ti,step:null,style:null,tabIndex:Ti,target:null,title:null,translate:null,type:null,typeMustMatch:Ei,useMap:null,value:Si,width:Ti,wrap:null,align:null,aLink:null,archive:Di,axis:null,background:null,bgColor:null,border:Ti,borderColor:null,bottomMargin:Ti,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Ei,declare:Ei,event:null,face:null,frame:null,frameBorder:null,hSpace:Ti,leftMargin:Ti,link:null,longDesc:null,lowSrc:null,marginHeight:Ti,marginWidth:Ti,noResize:Ei,noHref:Ei,noShade:Ei,noWrap:Ei,object:null,profile:null,prompt:null,rev:null,rightMargin:Ti,rules:null,scheme:null,scrolling:Si,standby:null,summary:null,text:null,topMargin:Ti,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Ti,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Ei,disableRemotePlayback:Ei,prefix:null,property:null,results:Ti,security:null,unselectable:null}}),Wi=Pi({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:$i,properties:{about:Ii,accentHeight:Ti,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Ti,amplitude:Ti,arabicForm:null,ascent:Ti,attributeName:null,attributeType:null,azimuth:Ti,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Ti,by:null,calcMode:null,capHeight:Ti,className:Di,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Ti,diffuseConstant:Ti,direction:null,display:null,dur:null,divisor:Ti,dominantBaseline:null,download:Ei,dx:null,dy:null,edgeMode:null,editable:null,elevation:Ti,enableBackground:null,end:null,event:null,exponent:Ti,externalResourcesRequired:null,fill:null,fillOpacity:Ti,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Li,g2:Li,glyphName:Li,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Ti,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Ti,horizOriginX:Ti,horizOriginY:Ti,id:null,ideographic:Ti,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Ti,k:Ti,k1:Ti,k2:Ti,k3:Ti,k4:Ti,kernelMatrix:Ii,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Ti,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Ti,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Ti,overlineThickness:Ti,paintOrder:null,panose1:null,path:null,pathLength:Ti,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Di,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Ti,pointsAtY:Ti,pointsAtZ:Ti,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Ii,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Ii,rev:Ii,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Ii,requiredFeatures:Ii,requiredFonts:Ii,requiredFormats:Ii,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Ti,specularExponent:Ti,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Ti,strikethroughThickness:Ti,string:null,stroke:null,strokeDashArray:Ii,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Ti,strokeOpacity:Ti,strokeWidth:null,style:null,surfaceScale:Ti,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Ii,tabIndex:Ti,tableValues:null,target:null,targetX:Ti,targetY:Ti,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Ii,to:null,transform:null,u1:null,u2:null,underlinePosition:Ti,underlineThickness:Ti,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Ti,values:null,vAlphabetic:Ti,vMathematical:Ti,vectorEffect:null,vHanging:Ti,vIdeographic:Ti,version:null,vertAdvY:Ti,vertOriginX:Ti,vertOriginY:Ti,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Ti,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),qi=_i([Vi,ji,zi,Hi,Yi],"html"),Gi=_i([Vi,ji,zi,Hi,Wi],"svg"),Xi=/^data[-\w.:]+$/i,Ji=/-[a-z]/g,Ki=/[A-Z]/g;function Zi(e,t){const n=ki(t);let a=t,r=Ci;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&"data"===n.slice(0,4)&&Xi.test(t)){if("-"===t.charAt(4)){const e=t.slice(5).replace(Ji,es);a="data"+e.charAt(0).toUpperCase()+e.slice(1)}else{const e=t.slice(4);if(!Ji.test(e)){let n=e.replace(Ki,Qi);"-"!==n.charAt(0)&&(n="-"+n),t="data"+n}}r=Ni}return new r(a,t)}function Qi(e){return"-"+e.toLowerCase()}function es(e){return e.charAt(1).toUpperCase()}var ts=n(57848);const ns=rs("start"),as=rs("end");function rs(e){return function(t){const n=t&&t.position&&t.position[e]||{};return{line:n.line||null,column:n.column||null,offset:n.offset>-1?n.offset:null}}}const is={}.hasOwnProperty;function ss(e,t){const n=t||{};function a(t,...n){let r=a.invalid;const i=a.handlers;if(t&&is.call(t,e)){const n=String(t[e]);r=is.call(i,n)?i[n]:a.unknown}if(r)return r.call(this,t,...n)}return a.handlers=n.handlers||{},a.invalid=n.invalid,a.unknown=n.unknown,a}const os={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},ds={}.hasOwnProperty,ls=new Set(["table","thead","tbody","tfoot","tr","th","td"]);function cs(e){throw new Error("Cannot handle value `"+e+"`, expected node")}function us(e){throw new Error("Cannot handle unknown node `"+e.type+"`")}function hs(){}function gs(e,t){const n=vs(e,{type:"Block",value:e.value});return t.comments.push(n),_s(e,{type:"JSXExpressionContainer",expression:_s(e,{type:"JSXEmptyExpression",comments:[Object.assign({},n,{leading:!1,trailing:!0})]})})}function ps(e,t){const n=t.schema;let a=n;const r=e.properties||{};"html"===n.space&&"svg"===e.tagName.toLowerCase()&&(a=Gi,t.schema=a);const i=xs(e,t),s=[];let o;for(o in r)if(ds.call(r,o)){let t=r[o];const n=Zi(a,o);let i;if(null==t||"number"==typeof t&&Number.isNaN(t)||!1===t||!t&&n.boolean)continue;if(o=n.space?os[n.property]||n.property:n.attribute,Array.isArray(t)&&(t=n.commaSeparated?fi(t):t.join(" ").trim()),"style"===o){const n="string"==typeof t?Cs(t,e.tagName):t,a=[];let r;for(r in n)ds.call(n,r)&&a.push({type:"Property",method:!1,shorthand:!1,computed:!1,key:{type:"Identifier",name:r},value:{type:"Literal",value:String(n[r])},kind:"init"});i={type:"JSXExpressionContainer",expression:{type:"ObjectExpression",properties:a}}}else i=!0===t?null:{type:"Literal",value:String(t)};Es(o)?s.push({type:"JSXAttribute",name:{type:"JSXIdentifier",name:o},value:i}):s.push({type:"JSXSpreadAttribute",argument:{type:"ObjectExpression",properties:[{type:"Property",method:!1,shorthand:!1,computed:!1,key:{type:"Literal",value:String(o)},value:i||{type:"Literal",value:!0},kind:"init"}]}})}return t.schema=n,vs(e,{type:"JSXElement",openingElement:{type:"JSXOpeningElement",attributes:s,name:ks(e.tagName),selfClosing:0===i.length},closingElement:i.length>0?{type:"JSXClosingElement",name:ks(e.tagName)}:null,children:i})}function fs(e,t){const n=e.data&&e.data.estree,a=n&&n.comments||[];n&&(t.comments.push(...a),Ri(n,a),t.esm.push(...n.body))}function ms(e,t){const n=e.data&&e.data.estree,a=n&&n.comments||[];let r;return n&&(t.comments.push(...a),Ri(n,n.comments),r=n.body[0]&&"ExpressionStatement"===n.body[0].type&&n.body[0].expression||void 0),vs(e,{type:"JSXExpressionContainer",expression:r||_s(e,{type:"JSXEmptyExpression"})})}function Rs(e,t){const n=t.schema;let a=n;const r=e.attributes||[];let i=-1;e.name&&"html"===n.space&&"svg"===e.name.toLowerCase()&&(a=Gi,t.schema=a);const s=xs(e,t),o=[];for(;++i<r.length;){const e=r[i],n=e.value;let a;if("mdxJsxAttribute"===e.type){if(null==n)a=null;else if("object"==typeof n){const e=n.data&&n.data.estree,r=e&&e.comments||[];let i;e&&(t.comments.push(...r),Ri(e,e.comments),i=e.body[0]&&"ExpressionStatement"===e.body[0].type&&e.body[0].expression||void 0),a=vs(n,{type:"JSXExpressionContainer",expression:i||{type:"JSXEmptyExpression"}})}else a={type:"Literal",value:String(n)};o.push(vs(e,{type:"JSXAttribute",name:ks(e.name,!0),value:a}))}else{const n=e.data&&e.data.estree,a=n&&n.comments||[];let r;n&&(t.comments.push(...a),Ri(n,n.comments),r=n.body[0]&&"ExpressionStatement"===n.body[0].type&&n.body[0].expression&&"ObjectExpression"===n.body[0].expression.type&&n.body[0].expression.properties&&n.body[0].expression.properties[0]&&"SpreadElement"===n.body[0].expression.properties[0].type&&n.body[0].expression.properties[0].argument||void 0),o.push(vs(e,{type:"JSXSpreadAttribute",argument:r||{type:"ObjectExpression",properties:[]}}))}}return t.schema=n,vs(e,e.name?{type:"JSXElement",openingElement:{type:"JSXOpeningElement",attributes:o,name:ks(e.name),selfClosing:0===s.length},closingElement:s.length>0?{type:"JSXClosingElement",name:ks(e.name)}:null,children:s}:{type:"JSXFragment",openingFragment:{type:"JSXOpeningFragment"},closingFragment:{type:"JSXClosingFragment"},children:s})}function ys(e,t){const n=xs(e,t),a=[];let r,i=-1;for(;++i<n.length;){const e=n[i];"JSXExpressionContainer"===e.type&&"Literal"===e.expression.type&&(s=e.expression.value,o=void 0,"string"==typeof(o=s&&"object"==typeof s&&"text"===s.type?s.value||"":s)&&""===o.replace(/[ \t\n\f\r]/g,""))?r&&r.push(e):(r&&a.push(...r),a.push(e),r=[])}var s,o;return vs(e,{type:"JSXFragment",openingFragment:{type:"JSXOpeningFragment"},closingFragment:{type:"JSXClosingFragment"},children:a})}function bs(e){const t=String(e.value||"");if(t)return _s(e,{type:"JSXExpressionContainer",expression:vs(e,{type:"Literal",value:t})})}function xs(e,t){const n=e.children||[];let a=-1;const r=[],i="html"===t.schema.space&&"element"===e.type&&ls.has(e.tagName.toLowerCase());for(;++a<n.length;){const e=n[a];if(i&&"text"===e.type&&"\n"===e.value)continue;const s=t.handle(e,t);Array.isArray(s)?r.push(...s):s&&r.push(s)}return r}function vs(e,t){const n=e.data;let a,r;if(_s(e,t),n){for(r in n)ds.call(n,r)&&"estree"!==r&&(a||(a={}),a[r]=n[r]);a&&(t.data=a)}return t}function _s(e,t){const n={start:ns(a=e),end:as(a)};var a;return n.start.line&&void 0!==n.start.offset&&void 0!==n.end.offset&&(t.start=n.start.offset,t.end=n.end.offset,t.loc={start:{line:n.start.line,column:n.start.column-1},end:{line:n.end.line,column:n.end.column-1}},t.range=[n.start.offset,n.end.offset]),t}const ks=function(e,t){if(!t&&e.includes(".")){const t=e.split(".");let n=t.shift(),a={type:"JSXIdentifier",name:n};for(;n=t.shift();)a={type:"JSXMemberExpression",object:a,property:{type:"JSXIdentifier",name:n}};return a}if(e.includes(":")){const t=e.split(":");return{type:"JSXNamespacedName",namespace:{type:"JSXIdentifier",name:t[0]},name:{type:"JSXIdentifier",name:t[1]}}}return{type:"JSXIdentifier",name:e}};function Cs(e,t){const n={};try{ts(e,(function(e,t){"-ms-"===e.slice(0,4)&&(e="ms-"+e.slice(4));n[e.replace(/-([a-z])/g,ws)]=t}))}catch(a){const e=a;throw e.message=t+"[style]"+e.message.slice("undefined".length),a}return n}function ws(e,t){return t.toUpperCase()}function Es(e){let t=-1;for(;++t<e.length;)if(!(t?n:Pt)(e.charCodeAt(t)))return!1;return t>0;function n(e){return jt(e)||45===e}}function Ss(){return e=>function(e,t={}){const n={schema:"svg"===t.space?Gi:qi,comments:[],esm:[],handle:ss("type",{invalid:cs,unknown:us,handlers:Object.assign({},{comment:gs,doctype:hs,element:ps,mdxjsEsm:fs,mdxFlowExpression:ms,mdxJsxFlowElement:Rs,mdxJsxTextElement:Rs,mdxTextExpression:ms,root:ys,text:bs},t.handlers)})};let a=n.handle(e,n);const r=n.esm;return a&&("JSXFragment"!==a.type&&"JSXElement"!==a.type&&(a=_s(e,{type:"JSXFragment",openingFragment:{type:"JSXOpeningFragment"},closingFragment:{type:"JSXClosingFragment"},children:[a]})),r.push(_s(e,{type:"ExpressionStatement",expression:a}))),_s(e,{type:"Program",body:r,sourceType:"module",comments:n.comments})}(e)}const As=function(e,t,n,a){"function"==typeof t&&"function"!=typeof n&&(a=n,n=t,t=null),(0,qa.S4)(e,t,(function(e,t){const a=t[t.length-1];return n(e,a?a.children.indexOf(e):null,a)}),a)};function Ts(){return e=>{As(e,"raw",((e,t,n)=>{if(n&&"number"==typeof t)return n.children.splice(t,1),t}))}}function Ds(){return e=>{As(e,((e,t,n)=>{const a=n;let r,i=-1,s=!0;if(a&&"number"==typeof t&&"paragraph"===e.type){const n=e.children;for(;++i<n.length;){const e=n[i];if("mdxJsxTextElement"===e.type||"mdxTextExpression"===e.type)r=!0;else if("text"!==e.type||!/^[\t\r\n ]+$/.test(String(e.value))){s=!1;break}}if(s&&r){for(i=-1;++i<n.length;){const e=n[i];"mdxJsxTextElement"===e.type&&(e.type="mdxJsxFlowElement"),"mdxTextExpression"===e.type&&(e.type="mdxFlowExpression")}return a.children.splice(t,1,...n),t}}if("mdxJsxFlowElement"===e.type||"mdxJsxTextElement"===e.type){(e.data||(e.data={}))._mdxExplicitJsx=!0}}))}}const Ls=["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"],Is=!1,Fs=["filepath","compilers","hastPlugins","mdPlugins","skipExport","wrapExport"];function Os(e={}){const{development:t=Is,jsx:n,format:a,outputFormat:r,providerImportSource:i,recmaPlugins:s,rehypePlugins:o,remarkPlugins:d,remarkRehypeOptions:l={},SourceMapGenerator:c,...u}=e;let h=-1;for(;++h<Fs.length;){const t=Fs[h];if(t in e)throw new Error("`options."+t+"` is no longer supported. Please see <https://mdxjs.com/migrating/v2/> for more information")}if("detect"===a)throw new Error("Incorrect `format: 'detect'`: `createProcessor` can support either `md` or `mdx`; it does not support detecting the format");const g=w().use(Ya);return"md"!==a&&g.use(wn),g.use(Ds).use(d||[]).use(mr,{...l,allowDangerousHtml:!0,passThrough:[...l.passThrough||[],...Ls]}).use(o||[]),"md"===a&&g.use(Ts),g.use(Ss).use(Vr,{...u,outputFormat:r}).use(zr,{development:t,providerImportSource:i,outputFormat:r}),n||g.use(Lr,{development:t,outputFormat:r}),g.use(pi,{SourceMapGenerator:c}).use(s||[]),g}const Ns={basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');Bs(e);let n,a=0,r=-1,i=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;i--;)if(47===e.charCodeAt(i)){if(n){a=i+1;break}}else r<0&&(n=!0,r=i+1);return r<0?"":e.slice(a,r)}if(t===e)return"";let s=-1,o=t.length-1;for(;i--;)if(47===e.charCodeAt(i)){if(n){a=i+1;break}}else s<0&&(n=!0,s=i+1),o>-1&&(e.charCodeAt(i)===t.charCodeAt(o--)?o<0&&(r=i):(o=-1,r=s));a===r?r=s:r<0&&(r=e.length);return e.slice(a,r)},dirname:function(e){if(Bs(e),0===e.length)return".";let t,n=-1,a=e.length;for(;--a;)if(47===e.charCodeAt(a)){if(t){n=a;break}}else t||(t=!0);return n<0?47===e.charCodeAt(0)?"/":".":1===n&&47===e.charCodeAt(0)?"//":e.slice(0,n)},extname:function(e){Bs(e);let t,n=e.length,a=-1,r=0,i=-1,s=0;for(;n--;){const o=e.charCodeAt(n);if(47!==o)a<0&&(t=!0,a=n+1),46===o?i<0?i=n:1!==s&&(s=1):i>-1&&(s=-1);else if(t){r=n+1;break}}if(i<0||a<0||0===s||1===s&&i===a-1&&i===r+1)return"";return e.slice(i,a)},join:function(...e){let t,n=-1;for(;++n<e.length;)Bs(e[n]),e[n]&&(t=void 0===t?e[n]:t+"/"+e[n]);return void 0===t?".":function(e){Bs(e);const t=47===e.charCodeAt(0);let n=function(e,t){let n,a,r="",i=0,s=-1,o=0,d=-1;for(;++d<=e.length;){if(d<e.length)n=e.charCodeAt(d);else{if(47===n)break;n=47}if(47===n){if(s===d-1||1===o);else if(s!==d-1&&2===o){if(r.length<2||2!==i||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){if(a=r.lastIndexOf("/"),a!==r.length-1){a<0?(r="",i=0):(r=r.slice(0,a),i=r.length-1-r.lastIndexOf("/")),s=d,o=0;continue}}else if(r.length>0){r="",i=0,s=d,o=0;continue}t&&(r=r.length>0?r+"/..":"..",i=2)}else r.length>0?r+="/"+e.slice(s+1,d):r=e.slice(s+1,d),i=d-s-1;s=d,o=0}else 46===n&&o>-1?o++:o=-1}return r}(e,!t);0!==n.length||t||(n=".");n.length>0&&47===e.charCodeAt(e.length-1)&&(n+="/");return t?"/"+n:n}(t)},sep:"/"};function Bs(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const Ms={cwd:function(){return"/"}};function Ps(e){return null!==e&&"object"==typeof e&&e.href&&e.origin}function js(e){if("string"==typeof e)e=new URL(e);else if(!Ps(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return function(e){if(""!==e.hostname){const e=new TypeError('File URL host must be "localhost" or empty on darwin');throw e.code="ERR_INVALID_FILE_URL_HOST",e}const t=e.pathname;let n=-1;for(;++n<t.length;)if(37===t.charCodeAt(n)&&50===t.charCodeAt(n+1)){const e=t.charCodeAt(n+2);if(70===e||102===e){const e=new TypeError("File URL path must not include encoded / characters");throw e.code="ERR_INVALID_FILE_URL_PATH",e}}return decodeURIComponent(t)}(e)}const Vs=["history","path","basename","stem","extname","dirname"];class $s{constructor(e){let t;t=e?"string"==typeof e||s(e)?{value:e}:Ps(e)?{path:e}:e:{},this.data={},this.messages=[],this.history=[],this.cwd=Ms.cwd(),this.value,this.stored,this.result,this.map;let n,a=-1;for(;++a<Vs.length;){const e=Vs[a];e in t&&void 0!==t[e]&&(this[e]="history"===e?[...t[e]]:t[e])}for(n in t)Vs.includes(n)||(this[n]=t[n])}get path(){return this.history[this.history.length-1]}set path(e){Ps(e)&&(e=js(e)),zs(e,"path"),this.path!==e&&this.history.push(e)}get dirname(){return"string"==typeof this.path?Ns.dirname(this.path):void 0}set dirname(e){Hs(this.basename,"dirname"),this.path=Ns.join(e||"",this.basename)}get basename(){return"string"==typeof this.path?Ns.basename(this.path):void 0}set basename(e){zs(e,"basename"),Us(e,"basename"),this.path=Ns.join(this.dirname||"",e)}get extname(){return"string"==typeof this.path?Ns.extname(this.path):void 0}set extname(e){if(Us(e,"extname"),Hs(this.dirname,"extname"),e){if(46!==e.charCodeAt(0))throw new Error("`extname` must start with `.`");if(e.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Ns.join(this.dirname,this.stem+(e||""))}get stem(){return"string"==typeof this.path?Ns.basename(this.path,this.extname):void 0}set stem(e){zs(e,"stem"),Us(e,"stem"),this.path=Ns.join(this.dirname||"",e+(this.extname||""))}toString(e){return(this.value||"").toString(e)}message(e,t,n){const a=new p(e,t,n);return this.path&&(a.name=this.path+":"+a.name,a.file=this.path),a.fatal=!1,this.messages.push(a),a}info(e,t,n){const a=this.message(e,t,n);return a.fatal=null,a}fail(e,t,n){const a=this.message(e,t,n);throw a.fatal=!0,a}}function Us(e,t){if(e&&e.includes(Ns.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+Ns.sep+"`")}function zs(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function Hs(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}const Ys=n(26024).map((e=>"."+e));function Ws(e,t){const n=(a=e,Boolean(a&&"object"==typeof a&&"message"in a&&"messages"in a)?e:new $s(e));var a;const{format:r,...i}=t||{};return{file:n,options:{format:"md"===r||"mdx"===r?r:n.extname&&(i.mdExtensions||Ys).includes(n.extname)?"md":"mdx",...i}}}function qs(e,t){const{file:n,options:a}=Ws(e,t);return Os(a).process(n)}function Gs(e,t){const{file:n,options:a}=Ws(e,t);return Os(a).processSync(n)}},64777:(e,t,n)=>{"use strict";function a(e,t){const n=String(e);if("string"!=typeof t)throw new TypeError("Expected character");let a=0,r=n.indexOf(t);for(;-1!==r;)a++,r=n.indexOf(t,r+t.length);return a}n.d(t,{w:()=>a})},44301:(e,t,n)=>{"use strict";n.d(t,{T:()=>r});const a=document.createElement("i");function r(e){const t="&"+e+";";a.innerHTML=t;const n=a.textContent;return(59!==n.charCodeAt(n.length-1)||"semi"===e)&&(n!==t&&n)}},77018:(e,t,n)=>{"use strict";n.d(t,{K:()=>r});var a=n(48653);function r(e,t,n){const r=t.indexStack,i=e.children||[],s=(0,a.j)(n),o=[];let d=-1;for(r.push(-1);++d<i.length;){const n=i[d];r[r.length-1]=d,o.push(s.move(t.handle(n,e,t,{before:"\n",after:"\n",...s.current()}))),"list"!==n.type&&(t.bulletLastUsed=void 0),d<i.length-1&&o.push(s.move(l(n,i[d+1])))}return r.pop(),o.join("");function l(n,a){let r=t.join.length;for(;r--;){const i=t.join[r](n,a,e,t);if(!0===i||1===i)break;if("number"==typeof i)return"\n".repeat(1+i);if(!1===i)return"\n\n\x3c!----\x3e\n\n"}return"\n\n"}}},87891:(e,t,n)=>{"use strict";n.d(t,{p:()=>r});var a=n(48653);function r(e,t,n){const r=t.indexStack,i=e.children||[],s=[];let o=-1,d=n.before;r.push(-1);let l=(0,a.j)(n);for(;++o<i.length;){const c=i[o];let u;if(r[r.length-1]=o,o+1<i.length){let n=t.handle.handlers[i[o+1].type];n&&n.peek&&(n=n.peek),u=n?n(i[o+1],e,t,{before:"",after:"",...l.current()}).charAt(0):""}else u=n.after;s.length>0&&("\r"===d||"\n"===d)&&"html"===c.type&&(s[s.length-1]=s[s.length-1].replace(/(\r?\n|\r)$/," "),d=" ",l=(0,a.j)(n),l.move(s.join(""))),s.push(l.move(t.handle(c,e,t,{...l.current(),before:d,after:u}))),d=s[s.length-1].slice(-1)}return r.pop(),s.join("")}},21665:(e,t,n)=>{"use strict";n.d(t,{Q:()=>r});const a=/\r?\n|\r/g;function r(e,t){const n=[];let r,i=0,s=0;for(;r=a.exec(e);)o(e.slice(i,r.index)),n.push(r[0]),i=r.index+r[0].length,s++;return o(e.slice(i)),n.join("");function o(e){n.push(t(e,s,!e))}}},48653:(e,t,n)=>{"use strict";function a(e){const t=e||{},n=t.now||{};let a=t.lineShift||0,r=n.line||1,i=n.column||1;return{move:function(e=""){const t=e.split(/\r?\n|\r/g),n=t[t.length-1];return r+=t.length-1,i=1===t.length?i+n.length:1+n.length+a,e},current:function(){return{now:{line:r,column:i},lineShift:a}},shift:function(e){a+=e}}}n.d(t,{j:()=>a})},23402:(e,t,n)=>{"use strict";n.d(t,{w:()=>i});var a=n(42761),r=n(75364);const i={tokenize:function(e,t,n){return(0,a.f)(e,(function(e){return null===e||(0,r.Ch)(e)?t(e):n(e)}),"linePrefix")},partial:!0}},42761:(e,t,n)=>{"use strict";n.d(t,{f:()=>r});var a=n(75364);function r(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let s=0;return function(r){if((0,a.xz)(r))return e.enter(n),o(r);return t(r)};function o(r){return(0,a.xz)(r)&&s++<i?(e.consume(r),o):(e.exit(n),t(r))}}},75364:(e,t,n)=>{"use strict";n.d(t,{jv:()=>a,H$:()=>s,n9:()=>d,Av:()=>l,pY:()=>r,AF:()=>i,sR:()=>o,Ch:()=>u,z3:()=>c,xz:()=>h,Xh:()=>p,B8:()=>g});const a=f(/[A-Za-z]/),r=f(/\d/),i=f(/[\dA-Fa-f]/),s=f(/[\dA-Za-z]/),o=f(/[!-/:-@[-`{-~]/),d=f(/[#-'*+\--9=?A-Z^-~]/);function l(e){return null!==e&&(e<32||127===e)}function c(e){return null!==e&&(e<0||32===e)}function u(e){return null!==e&&e<-2}function h(e){return-2===e||-1===e||32===e}const g=f(/\s/),p=f(/[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/);function f(e){return function(t){return null!==t&&e.test(String.fromCharCode(t))}}},21905:(e,t,n)=>{"use strict";function a(e,t,n,a){const r=e.length;let i,s=0;if(t=t<0?-t>r?0:r+t:t>r?r:t,n=n>0?n:0,a.length<1e4)i=Array.from(a),i.unshift(t,n),[].splice.apply(e,i);else for(n&&[].splice.apply(e,[t,n]);s<a.length;)i=a.slice(s,s+1e4),i.unshift(t,0),[].splice.apply(e,i),s+=1e4,t+=1e4}function r(e,t){return e.length>0?(a(e,e.length,0,t),e):t}n.d(t,{V:()=>r,d:()=>a})},62987:(e,t,n)=>{"use strict";n.d(t,{r:()=>r});var a=n(75364);function r(e){return null===e||(0,a.z3)(e)||(0,a.B8)(e)?1:(0,a.Xh)(e)?2:void 0}},4663:(e,t,n)=>{"use strict";n.d(t,{W:()=>i});var a=n(21905);const r={}.hasOwnProperty;function i(e){const t={};let n=-1;for(;++n<e.length;)s(t,e[n]);return t}function s(e,t){let n;for(n in t){const a=(r.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n];let s;for(s in i){r.call(a,s)||(a[s]=[]);const e=i[s];o(a[s],Array.isArray(e)?e:e?[e]:[])}}}function o(e,t){let n=-1;const r=[];for(;++n<t.length;)("after"===t[n].add?e:r).push(t[n]);(0,a.d)(e,0,0,r)}},80889:(e,t,n)=>{"use strict";function a(e,t){const n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535==(65535&n)||65534==(65535&n)||n>1114111?"\ufffd":String.fromCharCode(n)}n.d(t,{o:()=>a})},47881:(e,t,n)=>{"use strict";n.d(t,{v:()=>s});var a=n(44301),r=n(80889);const i=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function s(e){return e.replace(i,o)}function o(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){const e=n.charCodeAt(1),t=120===e||88===e;return(0,r.o)(n.slice(t?2:1),t?16:10)}return(0,a.T)(n)||e}},11098:(e,t,n)=>{"use strict";function a(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}n.d(t,{d:()=>a})},63233:(e,t,n)=>{"use strict";function a(e,t,n){const a=[];let r=-1;for(;++r<e.length;){const i=e[r].resolveAll;i&&!a.includes(i)&&(t=i(t,n),a.push(i))}return t}n.d(t,{C:()=>a})},84707:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>Fe});var a=n(4663),r=n(75364);const i={tokenize:function(e,t,n){return function(t){return e.consume(t),a};function a(t){return 87===t||119===t?(e.consume(t),i):n(t)}function i(t){return 87===t||119===t?(e.consume(t),s):n(t)}function s(t){return 46===t?(e.consume(t),o):n(t)}function o(e){return null===e||(0,r.Ch)(e)?n(e):t(e)}},partial:!0},s={tokenize:function(e,t,n){let a,i;return s;function s(t){return 38===t?e.check(l,c,o)(t):46===t||95===t?e.check(d,c,o)(t):null===t||(0,r.Av)(t)||(0,r.B8)(t)||45!==t&&(0,r.Xh)(t)?c(t):(e.consume(t),s)}function o(t){return 46===t?(i=a,a=void 0,e.consume(t),s):(95===t&&(a=!0),e.consume(t),s)}function c(e){return i||a?n(e):t(e)}},partial:!0},o={tokenize:function(e,t){let n=0;return a;function a(s){return 38===s?e.check(l,t,r)(s):(40===s&&n++,41===s?e.check(d,i,r)(s):R(s)?t(s):m(s)?e.check(d,t,r)(s):(e.consume(s),a))}function r(t){return e.consume(t),a}function i(e){return n--,n<0?t(e):r(e)}},partial:!0},d={tokenize:function(e,t,n){return function(t){return e.consume(t),a};function a(r){return m(r)?(e.consume(r),a):R(r)?t(r):n(r)}},partial:!0},l={tokenize:function(e,t,n){return function(t){return e.consume(t),a};function a(t){return(0,r.jv)(t)?(e.consume(t),a):59===t?(e.consume(t),i):n(t)}function i(e){return R(e)?t(e):n(e)}},partial:!0},c={tokenize:function(e,t,n){const a=this;return function(t){if(87!==t&&119!==t||!b(a.previous)||_(a.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(i,e.attempt(s,e.attempt(o,r),n),n)(t)};function r(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(n)}},previous:b},u={tokenize:function(e,t,n){const a=this;return function(t){if(72!==t&&104!==t||!x(a.previous)||_(a.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),e.consume(t),i};function i(t){return 84===t||116===t?(e.consume(t),d):n(t)}function d(t){return 84===t||116===t?(e.consume(t),l):n(t)}function l(t){return 80===t||112===t?(e.consume(t),c):n(t)}function c(t){return 83===t||115===t?(e.consume(t),u):u(t)}function u(t){return 58===t?(e.consume(t),h):n(t)}function h(t){return 47===t?(e.consume(t),g):n(t)}function g(t){return 47===t?(e.consume(t),p):n(t)}function p(t){return null===t||(0,r.Av)(t)||(0,r.B8)(t)||(0,r.Xh)(t)?n(t):e.attempt(s,e.attempt(o,f),n)(t)}function f(n){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(n)}},previous:x},h={tokenize:function(e,t,n){const a=this;let i,s;return function(t){if(!y(t)||!v(a.previous)||_(a.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),o(t)};function o(t){return y(t)?(e.consume(t),o):64===t?(e.consume(t),l):n(t)}function l(t){return 46===t?e.check(d,g,c)(t):45===t||95===t?e.check(d,n,u)(t):(0,r.H$)(t)?(!s&&(0,r.pY)(t)&&(s=!0),e.consume(t),l):g(t)}function c(t){return e.consume(t),i=!0,s=void 0,l}function u(t){return e.consume(t),h}function h(t){return 46===t?e.check(d,n,c)(t):l(t)}function g(a){return i&&!s?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(a)):n(a)}},previous:v},g={},p={text:g};let f=48;for(;f<123;)g[f]=h,f++,58===f?f=65:91===f&&(f=97);function m(e){return 33===e||34===e||39===e||41===e||42===e||44===e||46===e||58===e||59===e||60===e||63===e||95===e||126===e}function R(e){return null===e||60===e||(0,r.z3)(e)}function y(e){return 43===e||45===e||46===e||95===e||(0,r.H$)(e)}function b(e){return null===e||40===e||42===e||95===e||126===e||(0,r.z3)(e)}function x(e){return null===e||!(0,r.jv)(e)}function v(e){return 47!==e&&x(e)}function _(e){let t=e.length,n=!1;for(;t--;){const a=e[t][1];if(("labelLink"===a.type||"labelImage"===a.type)&&!a._balanced){n=!0;break}if(a._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}g[43]=h,g[45]=h,g[46]=h,g[95]=h,g[72]=[h,u],g[104]=[h,u],g[87]=[h,c],g[119]=[h,c];var k=n(23402),C=n(42761),w=n(11098);const E={tokenize:function(e,t,n){const a=this;return(0,C.f)(e,(function(e){const r=a.events[a.events.length-1];return r&&"gfmFootnoteDefinitionIndent"===r[1].type&&4===r[2].sliceSerialize(r[1],!0).length?t(e):n(e)}),"gfmFootnoteDefinitionIndent",5)},partial:!0};function S(e,t,n){const a=this;let r=a.events.length;const i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let s;for(;r--;){const e=a.events[r][1];if("labelImage"===e.type){s=e;break}if("gfmFootnoteCall"===e.type||"labelLink"===e.type||"label"===e.type||"image"===e.type||"link"===e.type)break}return function(r){if(!s||!s._balanced)return n(r);const o=(0,w.d)(a.sliceSerialize({start:s.end,end:a.now()}));if(94!==o.charCodeAt(0)||!i.includes(o.slice(1)))return n(r);return e.enter("gfmFootnoteCallLabelMarker"),e.consume(r),e.exit("gfmFootnoteCallLabelMarker"),t(r)}}function A(e,t){let n,a=e.length;for(;a--;)if("labelImage"===e[a][1].type&&"enter"===e[a][0]){n=e[a][1];break}e[a+1][1].type="data",e[a+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[a+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[a+3][1].end),end:Object.assign({},e[a+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},d=[e[a+1],e[a+2],["enter",r,t],e[a+3],e[a+4],["enter",i,t],["exit",i,t],["enter",s,t],["enter",o,t],["exit",o,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(a,e.length-a+1,...d),e}function T(e,t,n){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let s,o=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),d};function d(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(d){let u;return null===d||91===d||o++>999?n(d):93===d?s?(e.exit("chunkString"),u=e.exit("gfmFootnoteCallString"),i.includes((0,w.d)(a.sliceSerialize(u)))?function(n){return e.enter("gfmFootnoteCallLabelMarker"),e.consume(n),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t}(d):n(d)):n(d):(e.consume(d),(0,r.z3)(d)||(s=!0),92===d?c:l)}function c(t){return 91===t||92===t||93===t?(e.consume(t),o++,l):l(t)}}function D(e,t,n){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let s,o,d=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),l};function l(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),c):n(t)}function c(t){let i;return null===t||91===t||d>999?n(t):93===t?o?(i=e.exit("gfmFootnoteDefinitionLabelString"),s=(0,w.d)(a.sliceSerialize(i)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),g):n(t):(0,r.Ch)(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),d++,c):(e.enter("chunkString").contentType="string",u(t))}function u(t){return null===t||(0,r.Ch)(t)||91===t||93===t||d>999?(e.exit("chunkString"),c(t)):((0,r.z3)(t)||(o=!0),d++,e.consume(t),92===t?h:u)}function h(t){return 91===t||92===t||93===t?(e.consume(t),d++,u):u(t)}function g(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),(0,C.f)(e,p,"gfmFootnoteDefinitionWhitespace")):n(t)}function p(e){return i.includes(s)||i.push(s),t(e)}}function L(e,t,n){return e.check(k.w,t,e.attempt(E,t,n))}function I(e){e.exit("gfmFootnoteDefinition")}var F=n(21905),O=n(62987),N=n(63233);function B(e={}){let t=e.singleTilde;const n={tokenize:function(e,n,a){const r=this.previous,i=this.events;let s=0;return function(t){if(126===r&&"characterEscape"!==i[i.length-1][1].type)return a(t);return e.enter("strikethroughSequenceTemporary"),o(t)};function o(i){const d=(0,O.r)(r);if(126===i)return s>1?a(i):(e.consume(i),s++,o);if(s<2&&!t)return a(i);const l=e.exit("strikethroughSequenceTemporary"),c=(0,O.r)(i);return l._open=!c||2===c&&Boolean(d),l._close=!d||2===d&&Boolean(c),n(i)}},resolveAll:function(e,t){let n=-1;for(;++n<e.length;)if("enter"===e[n][0]&&"strikethroughSequenceTemporary"===e[n][1].type&&e[n][1]._close){let a=n;for(;a--;)if("exit"===e[a][0]&&"strikethroughSequenceTemporary"===e[a][1].type&&e[a][1]._open&&e[n][1].end.offset-e[n][1].start.offset==e[a][1].end.offset-e[a][1].start.offset){e[n][1].type="strikethroughSequence",e[a][1].type="strikethroughSequence";const r={type:"strikethrough",start:Object.assign({},e[a][1].start),end:Object.assign({},e[n][1].end)},i={type:"strikethroughText",start:Object.assign({},e[a][1].end),end:Object.assign({},e[n][1].start)},s=[["enter",r,t],["enter",e[a][1],t],["exit",e[a][1],t],["enter",i,t]];(0,F.d)(s,s.length,0,(0,N.C)(t.parser.constructs.insideSpan.null,e.slice(a+1,n),t)),(0,F.d)(s,s.length,0,[["exit",i,t],["enter",e[n][1],t],["exit",e[n][1],t],["exit",r,t]]),(0,F.d)(e,a-1,n-a+3,s),n=a+s.length-2;break}}n=-1;for(;++n<e.length;)"strikethroughSequenceTemporary"===e[n][1].type&&(e[n][1].type="data");return e}};return null==t&&(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}}}const M={flow:{null:{tokenize:function(e,t,n){const a=this,i=[];let s,o,d=0;return function(t){if(e.enter("table")._align=i,e.enter("tableHead"),e.enter("tableRow"),124===t)return l(t);return d++,e.enter("temporaryTableCellContent"),h(t)};function l(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),s=!0,c}function c(t){return null===t||(0,r.Ch)(t)?function(t){if(null===t)return n(t);e.exit("tableRow"),e.exit("tableHead");const r=a.interrupt;return a.interrupt=!0,e.attempt({tokenize:D,partial:!0},(function(t){return a.interrupt=r,e.enter("tableDelimiterRow"),p(t)}),(function(e){return a.interrupt=r,n(e)}))(t)}(t):(0,r.xz)(t)?(e.enter("whitespace"),e.consume(t),u):(s&&(s=void 0,d++),124===t?l(t):(e.enter("temporaryTableCellContent"),h(t)))}function u(t){return(0,r.xz)(t)?(e.consume(t),u):(e.exit("whitespace"),c(t))}function h(t){return null===t||124===t||(0,r.z3)(t)?(e.exit("temporaryTableCellContent"),c(t)):(e.consume(t),92===t?g:h)}function g(t){return 92===t||124===t?(e.consume(t),h):h(t)}function p(t){return null===t||(0,r.Ch)(t)?b(t):(0,r.xz)(t)?(e.enter("whitespace"),e.consume(t),f):45===t?(e.enter("tableDelimiterFiller"),e.consume(t),o=!0,i.push("none"),m):58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),i.push("left"),R):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),p):n(t)}function f(t){return(0,r.xz)(t)?(e.consume(t),f):(e.exit("whitespace"),p(t))}function m(t){return 45===t?(e.consume(t),m):(e.exit("tableDelimiterFiller"),58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),i[i.length-1]="left"===i[i.length-1]?"center":"right",y):p(t))}function R(t){return 45===t?(e.enter("tableDelimiterFiller"),e.consume(t),o=!0,m):n(t)}function y(t){return null===t||(0,r.Ch)(t)?b(t):(0,r.xz)(t)?(e.enter("whitespace"),e.consume(t),f):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),p):n(t)}function b(t){return e.exit("tableDelimiterRow"),o&&d===i.length?null===t?x(t):e.check(P,x,e.attempt({tokenize:D,partial:!0},(0,C.f)(e,v,"linePrefix",4),x))(t):n(t)}function x(n){return e.exit("table"),t(n)}function v(t){return e.enter("tableBody"),_(t)}function _(t){return e.enter("tableRow"),124===t?k(t):(e.enter("temporaryTableCellContent"),S(t))}function k(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),w}function w(t){return null===t||(0,r.Ch)(t)?function(t){if(e.exit("tableRow"),null===t)return T(t);return e.check(P,T,e.attempt({tokenize:D,partial:!0},(0,C.f)(e,_,"linePrefix",4),T))(t)}(t):(0,r.xz)(t)?(e.enter("whitespace"),e.consume(t),E):124===t?k(t):(e.enter("temporaryTableCellContent"),S(t))}function E(t){return(0,r.xz)(t)?(e.consume(t),E):(e.exit("whitespace"),w(t))}function S(t){return null===t||124===t||(0,r.z3)(t)?(e.exit("temporaryTableCellContent"),w(t)):(e.consume(t),92===t?A:S)}function A(t){return 92===t||124===t?(e.consume(t),S):S(t)}function T(t){return e.exit("tableBody"),x(t)}function D(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),(0,C.f)(e,i,"linePrefix")};function i(i){if(a.parser.lazy[a.now().line]||null===i||(0,r.Ch)(i))return n(i);const s=a.events[a.events.length-1];return!a.parser.constructs.disable.null.includes("codeIndented")&&s&&"linePrefix"===s[1].type&&s[2].sliceSerialize(s[1],!0).length>=4?n(i):(a._gfmTableDynamicInterruptHack=!0,e.check(a.parser.constructs.flow,(function(e){return a._gfmTableDynamicInterruptHack=!1,n(e)}),(function(e){return a._gfmTableDynamicInterruptHack=!1,t(e)}))(i))}}},resolve:function(e,t){let n,a,r,i,s,o,d,l=-1;for(;++l<e.length;){const c=e[l][1];if(r&&("temporaryTableCellContent"===c.type&&(i=i||l,s=l),("tableCellDivider"===c.type||"tableRow"===c.type)&&s)){const n={type:"tableContent",start:e[i][1].start,end:e[s][1].end},a={type:"chunkText",start:n.start,end:n.end,contentType:"text"};e.splice(i,s-i+1,["enter",n,t],["enter",a,t],["exit",a,t],["exit",n,t]),l-=s-i-3,i=void 0,s=void 0}if("exit"===e[l][0]&&void 0!==o&&o+(d?0:1)<l&&("tableCellDivider"===c.type||"tableRow"===c.type&&(o+3<l||"whitespace"!==e[o][1].type))){const r={type:a?"tableDelimiter":n?"tableHeader":"tableData",start:e[o][1].start,end:e[l][1].end};e.splice(l+("tableCellDivider"===c.type?1:0),0,["exit",r,t]),e.splice(o,0,["enter",r,t]),l+=2,o=l+1,d=!0}"tableRow"===c.type&&(r="enter"===e[l][0],r&&(o=l+1,d=!1)),"tableDelimiterRow"===c.type&&(a="enter"===e[l][0],a&&(o=l+1,d=!1)),"tableHead"===c.type&&(n="enter"===e[l][0])}return e}}}},P={tokenize:function(e,t,n){let a=0;return function(t){return e.enter("check"),e.consume(t),i};function i(s){return-1===s||32===s?(e.consume(s),a++,4===a?t:i):null===s||(0,r.z3)(s)?t(s):n(s)}},partial:!0};const j={tokenize:function(e,t,n){const a=this;return function(t){if(null!==a.previous||!a._gfmTasklistFirstContentOfListItem)return n(t);return e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),i};function i(t){return(0,r.z3)(t)?(e.enter("taskListCheckValueUnchecked"),e.consume(t),e.exit("taskListCheckValueUnchecked"),s):88===t||120===t?(e.enter("taskListCheckValueChecked"),e.consume(t),e.exit("taskListCheckValueChecked"),s):n(t)}function s(a){return 93===a?(e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),e.check({tokenize:$},t,n)):n(a)}}},V={text:{91:j}};function $(e,t,n){const a=this;return(0,C.f)(e,(function(e){const i=a.events[a.events.length-1];return(i&&"whitespace"===i[1].type||(0,r.Ch)(e))&&null!==e?t(e):n(e)}),"whitespace")}var U=n(64777);var z=n(80861);const H=function(e){if(null==e)return W;if("string"==typeof e)return function(e){return Y(t);function t(t){return t&&t.type===e}}(e);if("object"==typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=H(e[n]);return Y(a);function a(...e){let n=-1;for(;++n<t.length;)if(t[n].call(this,...e))return!0;return!1}}(e):function(e){return Y(t);function t(t){let n;for(n in e)if(t[n]!==e[n])return!1;return!0}}(e);if("function"==typeof e)return Y(e);throw new Error("Expected function, string, or object as test")};function Y(e){return function(...t){return Boolean(e.call(this,...t))}}function W(){return!0}const q={}.hasOwnProperty,G=function(e,t,n,a){let r,i;"string"==typeof t||t instanceof RegExp?(i=[[t,n]],r=a):(i=t,r=n),r||(r={});const s=H(r.ignore||[]),o=function(e){const t=[];if("object"!=typeof e)throw new TypeError("Expected array or object as schema");if(Array.isArray(e)){let n=-1;for(;++n<e.length;)t.push([X(e[n][0]),J(e[n][1])])}else{let n;for(n in e)q.call(e,n)&&t.push([X(n),J(e[n])])}return t}(i);let d=-1;for(;++d<o.length;)(0,z.S4)(e,"text",l);return e;function l(e,t){let n,a=-1;for(;++a<t.length;){const e=t[a];if(s(e,n?n.children.indexOf(e):void 0,n))return;n=e}if(n)return function(e,t){const n=t[t.length-1],a=o[d][0],r=o[d][1];let i=0;const s=n.children.indexOf(e);let l,c=!1,u=[];a.lastIndex=0;let h=a.exec(e.value);for(;h;){l=h.index;const n={index:h.index,input:h.input,stack:[...t,e]};let s=r(...h,n);if("string"==typeof s&&(s=s.length>0?{type:"text",value:s}:void 0),!1!==s&&(i!==l&&u.push({type:"text",value:e.value.slice(i,l)}),Array.isArray(s)?u.push(...s):s&&u.push(s),i=l+h[0].length,c=!0),!a.global)break;h=a.exec(e.value)}c?(i<e.value.length&&u.push({type:"text",value:e.value.slice(i)}),n.children.splice(s,1,...u)):u=[e];return s+u.length}(e,t)}};function X(e){return"string"==typeof e?new RegExp(function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(e),"g"):e}function J(e){return"function"==typeof e?e:()=>e}const K="phrasing",Z=["autolink","link","image","label"],Q={transforms:[function(e){G(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,ne],[/([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/g,ae]],{ignore:["link","linkReference"]})}],enter:{literalAutolink:function(e){this.enter({type:"link",title:null,url:"",children:[]},e)},literalAutolinkEmail:te,literalAutolinkHttp:te,literalAutolinkWww:te},exit:{literalAutolink:function(e){this.exit(e)},literalAutolinkEmail:function(e){this.config.exit.autolinkEmail.call(this,e)},literalAutolinkHttp:function(e){this.config.exit.autolinkProtocol.call(this,e)},literalAutolinkWww:function(e){this.config.exit.data.call(this,e);this.stack[this.stack.length-1].url="http://"+this.sliceSerialize(e)}}},ee={unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:K,notInConstruct:Z},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:K,notInConstruct:Z},{character:":",before:"[ps]",after:"\\/",inConstruct:K,notInConstruct:Z}]};function te(e){this.config.enter.autolinkProtocol.call(this,e)}function ne(e,t,n,a,r){let i="";if(!re(r))return!1;if(/^w/i.test(t)&&(n=t+n,t="",i="http://"),!function(e){const t=e.split(".");if(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))return!1;return!0}(n))return!1;const s=function(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);let n,a,r,i;if(t)for(e=e.slice(0,t.index),i=t[0],n=i.indexOf(")"),a=(0,U.w)(e,"("),r=(0,U.w)(e,")");-1!==n&&a>r;)e+=i.slice(0,n+1),i=i.slice(n+1),n=i.indexOf(")"),r++;return[e,i]}(n+a);if(!s[0])return!1;const o={type:"link",title:null,url:i+t+s[0],children:[{type:"text",value:t+s[0]}]};return s[1]?[o,{type:"text",value:s[1]}]:o}function ae(e,t,n,a){return!(!re(a,!0)||/[_-\d]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function re(e,t){const n=e.input.charCodeAt(e.index-1);return(0===e.index||(0,r.B8)(n)||(0,r.Xh)(n))&&(!t||47!==n)}var ie=n(47881);function se(e){return e.label||!e.identifier?e.label||"":(0,ie.v)(e.identifier)}var oe=n(77018),de=n(21665);function le(e){if(!e._compiled){const t=(e.atBreak?"[\\r\\n][\\t ]*":"")+(e.before?"(?:"+e.before+")":"");e._compiled=new RegExp((t?"("+t+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(e.character)?"\\":"")+e.character+(e.after?"(?:"+e.after+")":""),"g")}return e._compiled}function ce(e,t){return ue(e,t.inConstruct,!0)&&!ue(e,t.notInConstruct,!1)}function ue(e,t,n){if(!t)return n;"string"==typeof t&&(t=[t]);let a=-1;for(;++a<t.length;)if(e.includes(t[a]))return!0;return!1}function he(e,t,n){const a=(n.before||"")+(t||"")+(n.after||""),r=[],i=[],s={};let o=-1;for(;++o<e.unsafe.length;){const t=e.unsafe[o];if(!ce(e.stack,t))continue;const n=le(t);let i;for(;i=n.exec(a);){const e="before"in t||Boolean(t.atBreak),n="after"in t,a=i.index+(e?i[1].length:0);r.includes(a)?(s[a].before&&!e&&(s[a].before=!1),s[a].after&&!n&&(s[a].after=!1)):(r.push(a),s[a]={before:e,after:n})}}r.sort(ge);let d=n.before?n.before.length:0;const l=a.length-(n.after?n.after.length:0);for(o=-1;++o<r.length;){const e=r[o];e<d||e>=l||(e+1<l&&r[o+1]===e+1&&s[e].after&&!s[e+1].before&&!s[e+1].after||r[o-1]===e-1&&s[e].before&&!s[e-1].before&&!s[e-1].after||(d!==e&&i.push(pe(a.slice(d,e),"\\")),d=e,!/[!-/:-@[-`{-~]/.test(a.charAt(e))||n.encode&&n.encode.includes(a.charAt(e))?(i.push("&#x"+a.charCodeAt(e).toString(16).toUpperCase()+";"),d++):i.push("\\")))}return i.push(pe(a.slice(d,l),n.after)),i.join("")}function ge(e,t){return e-t}function pe(e,t){const n=/\\(?=[!-/:-@[-`{-~])/g,a=[],r=[],i=e+t;let s,o=-1,d=0;for(;s=n.exec(i);)a.push(s.index);for(;++o<a.length;)d!==a[o]&&r.push(e.slice(d,a[o])),r.push("\\"),d=a[o];return r.push(e.slice(d)),r.join("")}var fe=n(48653);function me(){return e.peek=function(){return"["},{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:function(e,t,n,a){const r=(0,fe.j)(a);let i=r.move("[^");const s=n.enter("footnoteDefinition"),o=n.enter("label");return i+=r.move(he(n,se(e),{...r.current(),before:i,after:"]"})),o(),i+=r.move("]:"+(e.children&&e.children.length>0?" ":"")),r.shift(4),i+=r.move((0,de.Q)((0,oe.K)(e,n,r.current()),(function(e,t,n){if(t)return(n?"":" ")+e;return e}))),s(),i},footnoteReference:e}};function e(e,t,n,a){const r=(0,fe.j)(a);let i=r.move("[^");const s=n.enter("footnoteReference"),o=n.enter("reference");return i+=r.move(he(n,se(e),{...r.current(),before:i,after:"]"})),o(),s(),i+=r.move("]"),i}}var Re=n(87891);const ye={canContainEols:["delete"],enter:{strikethrough:function(e){this.enter({type:"delete",children:[]},e)}},exit:{strikethrough:function(e){this.exit(e)}}},be={unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"]}],handlers:{delete:xe}};function xe(e,t,n,a){const r=(0,fe.j)(a),i=n.enter("emphasis");let s=r.move("~~");return s+=(0,Re.p)(e,n,{...r.current(),before:s,after:"~"}),s+=r.move("~~"),i(),s}function ve(e,t,n){let a=e.value||"",r="`",i=-1;for(;new RegExp("(^|[^`])"+r+"([^`]|$)").test(a);)r+="`";for(/[^ \r\n]/.test(a)&&(/^[ \r\n]/.test(a)&&/[ \r\n]$/.test(a)||/^`|`$/.test(a))&&(a=" "+a+" ");++i<n.unsafe.length;){const e=n.unsafe[i],t=le(e);let r;if(e.atBreak)for(;r=t.exec(a);){let e=r.index;10===a.charCodeAt(e)&&13===a.charCodeAt(e-1)&&e--,a=a.slice(0,e)+" "+a.slice(r.index+1)}}return r+a+r}function _e(e){return e.length}function ke(e){const t="string"==typeof e?e.codePointAt(0):0;return 67===t||99===t?99:76===t||108===t?108:82===t||114===t?114:0}xe.peek=function(){return"~"},ve.peek=function(){return"`"};const Ce={enter:{table:function(e){const t=e._align;this.enter({type:"table",align:t.map((e=>"none"===e?null:e)),children:[]},e),this.setData("inTable",!0)},tableData:Ee,tableHeader:Ee,tableRow:function(e){this.enter({type:"tableRow",children:[]},e)}},exit:{codeText:function(e){let t=this.resume();this.getData("inTable")&&(t=t.replace(/\\([\\|])/g,Se));this.stack[this.stack.length-1].value=t,this.exit(e)},table:function(e){this.exit(e),this.setData("inTable")},tableData:we,tableHeader:we,tableRow:we}};function we(e){this.exit(e)}function Ee(e){this.enter({type:"tableCell",children:[]},e)}function Se(e,t){return"|"===t?t:e}function Ae(e){const t=e||{},n=t.tableCellPadding,a=t.tablePipeAlign,r=t.stringLength,i=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[\t :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{table:function(e,t,n,a){return o(function(e,t,n){const a=e.children;let r=-1;const i=[],s=t.enter("table");for(;++r<a.length;)i[r]=d(a[r],t,n);return s(),i}(e,n,a),e.align)},tableRow:function(e,t,n,a){const r=o([d(e,n,a)]);return r.slice(0,r.indexOf("\n"))},tableCell:s,inlineCode:function(e,t,n){let a=ve(e,0,n);n.stack.includes("tableCell")&&(a=a.replace(/\|/g,"\\$&"));return a}}};function s(e,t,n,a){const r=n.enter("tableCell"),s=n.enter("phrasing"),o=(0,Re.p)(e,n,{...a,before:i,after:i});return s(),r(),o}function o(e,t){return function(e,t={}){const n=(t.align||[]).concat(),a=t.stringLength||_e,r=[],i=[],s=[],o=[];let d=0,l=-1;for(;++l<e.length;){const n=[],r=[];let u=-1;for(e[l].length>d&&(d=e[l].length);++u<e[l].length;){const i=null==(c=e[l][u])?"":String(c);if(!1!==t.alignDelimiters){const e=a(i);r[u]=e,(void 0===o[u]||e>o[u])&&(o[u]=e)}n.push(i)}i[l]=n,s[l]=r}var c;let u=-1;if("object"==typeof n&&"length"in n)for(;++u<d;)r[u]=ke(n[u]);else{const e=ke(n);for(;++u<d;)r[u]=e}u=-1;const h=[],g=[];for(;++u<d;){const e=r[u];let n="",a="";99===e?(n=":",a=":"):108===e?n=":":114===e&&(a=":");let i=!1===t.alignDelimiters?1:Math.max(1,o[u]-n.length-a.length);const s=n+"-".repeat(i)+a;!1!==t.alignDelimiters&&(i=n.length+i+a.length,i>o[u]&&(o[u]=i),g[u]=i),h[u]=s}i.splice(1,0,h),s.splice(1,0,g),l=-1;const p=[];for(;++l<i.length;){const e=i[l],n=s[l];u=-1;const a=[];for(;++u<d;){const i=e[u]||"";let s="",l="";if(!1!==t.alignDelimiters){const e=o[u]-(n[u]||0),t=r[u];114===t?s=" ".repeat(e):99===t?e%2?(s=" ".repeat(e/2+.5),l=" ".repeat(e/2-.5)):(s=" ".repeat(e/2),l=s):l=" ".repeat(e)}!1===t.delimiterStart||u||a.push("|"),!1===t.padding||!1===t.alignDelimiters&&""===i||!1===t.delimiterStart&&!u||a.push(" "),!1!==t.alignDelimiters&&a.push(s),a.push(i),!1!==t.alignDelimiters&&a.push(l),!1!==t.padding&&a.push(" "),!1===t.delimiterEnd&&u===d-1||a.push("|")}p.push(!1===t.delimiterEnd?a.join("").replace(/ +$/,""):a.join(""))}return p.join("\n")}(e,{align:t,alignDelimiters:a,padding:n,stringLength:r})}function d(e,t,n){const a=e.children;let r=-1;const i=[],o=t.enter("tableRow");for(;++r<a.length;)i[r]=s(a[r],0,t,n);return o(),i}}function Te(e,t,n,a){const r=function(e){const t=e.options.listItemIndent||"tab";if(1===t||"1"===t)return"one";if("tab"!==t&&"one"!==t&&"mixed"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}(n);let i=n.bulletCurrent||function(e){const t=e.options.bullet||"*";if("*"!==t&&"+"!==t&&"-"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}(n);t&&"list"===t.type&&t.ordered&&(i=("number"==typeof t.start&&t.start>-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+i);let s=i.length+1;("tab"===r||"mixed"===r&&(t&&"list"===t.type&&t.spread||e.spread))&&(s=4*Math.ceil(s/4));const o=(0,fe.j)(a);o.move(i+" ".repeat(s-i.length)),o.shift(s);const d=n.enter("listItem"),l=(0,de.Q)((0,oe.K)(e,n,o.current()),(function(e,t,n){if(t)return(n?"":" ".repeat(s))+e;return(n?i:i+" ".repeat(s-i.length))+e}));return d(),l}const De={exit:{taskListCheckValueChecked:Ie,taskListCheckValueUnchecked:Ie,paragraph:function(e){const t=this.stack[this.stack.length-2],n=this.stack[this.stack.length-1],a=t.children,r=n.children[0];let i,s=-1;if(t&&"listItem"===t.type&&"boolean"==typeof t.checked&&r&&"text"===r.type){for(;++s<a.length;){const e=a[s];if("paragraph"===e.type){i=e;break}}i===n&&(r.value=r.value.slice(1),0===r.value.length?n.children.shift():n.position&&r.position&&"number"==typeof r.position.start.offset&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}this.exit(e)}}},Le={unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:function(e,t,n,a){const r=e.children[0],i="boolean"==typeof e.checked&&r&&"paragraph"===r.type,s="["+(e.checked?"x":" ")+"] ",o=(0,fe.j)(a);i&&o.move(s);let d=Te(e,t,n,{...a,...o.current()});i&&(d=d.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,(function(e){return e+s})));return d}}};function Ie(e){this.stack[this.stack.length-2].checked="taskListCheckValueChecked"===e.type}function Fe(e={}){const t=this.data();function n(e,n){(t[e]?t[e]:t[e]=[]).push(n)}n("micromarkExtensions",function(e){return(0,a.W)([p,{document:{91:{tokenize:D,continuation:{tokenize:L},exit:I}},text:{91:{tokenize:T},93:{add:"after",tokenize:S,resolveTo:A}}},B(e),M,V])}(e)),n("fromMarkdownExtensions",[Q,{enter:{gfmFootnoteDefinition:function(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)},gfmFootnoteDefinitionLabelString:function(){this.buffer()},gfmFootnoteCall:function(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)},gfmFootnoteCallString:function(){this.buffer()}},exit:{gfmFootnoteDefinition:function(e){this.exit(e)},gfmFootnoteDefinitionLabelString:function(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=(0,w.d)(this.sliceSerialize(e)).toLowerCase()},gfmFootnoteCall:function(e){this.exit(e)},gfmFootnoteCallString:function(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=(0,w.d)(this.sliceSerialize(e)).toLowerCase()}}},ye,Ce,De]),n("toMarkdownExtensions",function(e){return{extensions:[ee,me(),be,Ae(e),Le]}}(e))}},9382:(e,t,n)=>{"use strict";n.r(t),n.d(t,{remove:()=>o});const a=function(e){if(null==e)return i;if("string"==typeof e)return function(e){return r(t);function t(t){return t&&t.type===e}}(e);if("object"==typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=a(e[n]);return r(i);function i(...e){let n=-1;for(;++n<t.length;)if(t[n].call(this,...e))return!0;return!1}}(e):function(e){return r(t);function t(t){let n;for(n in e)if(t[n]!==e[n])return!1;return!0}}(e);if("function"==typeof e)return r(e);throw new Error("Expected function, string, or object as test")};function r(e){return function(...t){return Boolean(e.call(this,...t))}}function i(){return!0}const s=[],o=function(e,t,n){const r=a(n||t),i=void 0===t.cascade||null===t.cascade||t.cascade;return function e(t,n,a){const o=t.children||s;let d=-1,l=0;if(r(t,n,a))return null;if(o.length>0){for(;++d<o.length;)e(o[d],d,t)&&(o[l++]=o[d]);if(i&&!l)return null;o.length=l}return t}(e)}},80861:(e,t,n)=>{"use strict";n.d(t,{S4:()=>s});const a=function(e){if(null==e)return i;if("string"==typeof e)return function(e){return r(t);function t(t){return t&&t.type===e}}(e);if("object"==typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=a(e[n]);return r(i);function i(...e){let n=-1;for(;++n<t.length;)if(t[n].call(this,...e))return!0;return!1}}(e):function(e){return r(t);function t(t){let n;for(n in e)if(t[n]!==e[n])return!1;return!0}}(e);if("function"==typeof e)return r(e);throw new Error("Expected function, string, or object as test")};function r(e){return function(...t){return Boolean(e.call(this,...t))}}function i(){return!0}const s=function(e,t,n,r){"function"==typeof t&&"function"!=typeof n&&(r=n,n=t,t=null);const i=a(t),s=r?-1:1;!function e(a,o,d){const l="object"==typeof a&&null!==a?a:{};let c;"string"==typeof l.type&&(c="string"==typeof l.tagName?l.tagName:"string"==typeof l.name?l.name:void 0,Object.defineProperty(u,"name",{value:"node ("+l.type+(c?"<"+c+">":"")+")"}));return u;function u(){let l,c,u,h=[];if((!t||i(a,o,d[d.length-1]||null))&&(h=function(e){if(Array.isArray(e))return e;if("number"==typeof e)return[true,e];return[e]}(n(a,d)),false===h[0]))return h;if(a.children&&"skip"!==h[0])for(c=(r?a.children.length:-1)+s,u=d.concat(a);c>-1&&c<a.children.length;){if(l=e(a.children[c],c,u)(),false===l[0])return l;c="number"==typeof l[1]?l[1]:c+s}return h}}(e,null,[])()}},68914:e=>{"use strict";e.exports=JSON.parse('["md","markdown","mdown","mkdn","mkd","mdwn","mkdown","ron"]')}}]); \ No newline at end of file diff --git a/assets/js/1554.39070c41.js.LICENSE.txt b/assets/js/1554.39070c41.js.LICENSE.txt new file mode 100644 index 0000000000000..d4d37878bfe1e --- /dev/null +++ b/assets/js/1554.39070c41.js.LICENSE.txt @@ -0,0 +1,42 @@ +/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/ + +/*! + * Adapted from jQuery UI core + * + * http://jqueryui.com + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ + +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh <https://feross.org> + * @license MIT + */ + +/*! + * Wait for document loaded before starting the execution + */ + +/*! + * regjsgen 0.5.2 + * Copyright 2014-2020 Benjamin Tan <https://ofcr.se/> + * Available under the MIT license <https://github.com/bnjmnt4n/regjsgen/blob/master/LICENSE-MIT.txt> + */ + +/*! @license DOMPurify 2.4.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.1/LICENSE */ + +/*! Check if previously processed */ + +/*! https://mths.be/regenerate v1.4.2 by @mathias | MIT license */ + +/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ diff --git a/assets/js/15c251f0.83b835cc.js b/assets/js/15c251f0.83b835cc.js new file mode 100644 index 0000000000000..0c6d179a2b147 --- /dev/null +++ b/assets/js/15c251f0.83b835cc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1621],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>l});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),l=function(e){return function(t){var n=d(t.components);return r.createElement(e,o({},t,{components:n}))}},d=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},m="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),l=d(n),p=a,m=l["".concat(s,".").concat(p)]||l[p]||h[p]||o;return n?r.createElement(m,i(i({ref:t},c),{},{components:n})):r.createElement(m,i({ref:t},c))}));function b(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,s=new Array(o);s[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[m]="string"==typeof e?e:a,s[1]=i;for(var c=2;c<o;c++)s[c]=n[c];return r.createElement.apply(null,s)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},46454:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const o={id:"uquery",title:"uquery"},s=void 0,i={unversionedId:"users/commands/uquery",id:"users/commands/uquery",title:"uquery",description:"These are the flags/commands under buck2 uquery and their --help output:",source:"@site/../docs/users/commands/uquery.generated.md",sourceDirName:"users/commands",slug:"/users/commands/uquery",permalink:"/docs/users/commands/uquery",draft:!1,tags:[],version:"current",frontMatter:{id:"uquery",title:"uquery"},sidebar:"mainSidebar",previous:{title:"test",permalink:"/docs/users/commands/test"},next:{title:"utargets",permalink:"/docs/users/commands/utargets"}},u={},c=[{value:"buck uquery",id:"buck-uquery",level:2}],l={toc:c};function d(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"These are the flags/commands under ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 uquery")," and their ",(0,a.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,a.mdx)("h2",{id:"buck-uquery"},"buck uquery"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'Perform queries on the unconfigured target graph\n\nThe unconfigured target graph consists of the targets as they are\ndefined in the build files. In this graph, each target appears\nexactly once and `select()`s are in the unresolved form. For large\nqueries, the unconfigured graph may be much smaller than the\nconfigured graph and queries can be much more efficiently performed\nthere.\n\nWhen querying the unconfigured graph, dependencies appearing in all\nbranches of `select()` dictionaries will be treated as dependencies.\n\nRun `buck2 docs uquery` or\nhttps://buck2.build/docs/users/query/uquery/\nfor more documentation about the functions available in uquery\nexpressions.\n\nExamples:\n\nPrint all the attributes of a target\n\n`buck2 uquery //java/com/example/app:amazing --output-all-attributes\n\nList the deps of a target (special characters in a target will require quotes):\n`buck2 uquery \'deps("//java/com/example/app:amazing+more")\'`\n\nselect() encoding:\n\nWhen printed, values with `select()`s use a special json encoding.\n\n`1 + select({"//:a": 1, "DEFAULT": 2})` will be encoded as:\n\n`{"__type": "concat", "items": [1, {"__type": "selector", "entries": {"//:a": 1, "DEFAULT": 2}}]}`\n\nUsage: buck2-release uquery [OPTIONS] <QUERY> [QUERY_ARGS]...\n\nArguments:\n <QUERY>\n the query to evaluate\n\n [QUERY_ARGS]...\n list of literals for a multi-query (one containing `%s` or `%Ss`)\n\nOptions:\n -A, --output-all-attributes\n Output all attributes, equivalent of --output-attribute \'\'.\n \n Avoid using this flag in automation because it may be expensive to produce certain\n attributes, and because it makes harder to track which special attributes are used.\n\n -B, --output-basic-attributes\n Output basic attributes, namely those the user can supply, plus rule type and package name\n\n -a, --output-attribute <ATTRIBUTE>\n Regular expressions to match attributes. Regular expressions are used in "search" mode, so\n for example empty string matches all attributes including special attributes.\n \n When using in automation, please specify the regular expression to match the attribute\n precisely, for example `--output-attribute \'^headers$\'` to make it easier to track which\n special attributes are used.\n\n --output-attributes <ATTRIBUTE>...\n Deprecated: Use `--output-attribute` instead.\n \n List of space-separated attributes to output, --output-attributes attr1 attr2.\n\n --json\n Output in JSON format\n\n --dot\n Output in Graphviz Dot format\n\n --dot-compact\n Output in a more compact format than Graphviz Dot\n\n --output-format <dot|dot_compact|json|starlark>\n Output format (default: list). \n \n dot - dot graph format. \n \n dot_compact - compact alternative to dot format. \n \n json - JSON format. \n \n starlark - targets are printed like starlark code that would produce them.\n \n \n [possible values: dot, json, dot_compact, starlark]\n\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with \'-h\')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there\'s a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press \'h\' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n "-v=1,stderr"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2\'s logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/16722cc9.bc056d1c.js b/assets/js/16722cc9.bc056d1c.js new file mode 100644 index 0000000000000..05f53e0065382 --- /dev/null +++ b/assets/js/16722cc9.bc056d1c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3754],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>d,MDXProvider:()=>c,mdx:()=>f,useMDXComponents:()=>m,withMDXComponents:()=>p});var a=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},r.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,o=function(e,n){if(null==e)return{};var t,a,o={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var d=a.createContext({}),p=function(e){return function(n){var t=m(n.components);return a.createElement(e,r({},n,{components:t}))}},m=function(e){var n=a.useContext(d),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},c=function(e){var n=m(e.components);return a.createElement(d.Provider,{value:n},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},g=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,r=e.originalType,i=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=m(t),c=o,u=p["".concat(i,".").concat(c)]||p[c]||h[c]||r;return t?a.createElement(u,l(l({ref:n},d),{},{components:t})):a.createElement(u,l({ref:n},d))}));function f(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var r=t.length,i=new Array(r);i[0]=g;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[u]="string"==typeof e?e:o,i[1]=l;for(var d=2;d<r;d++)i[d]=t[d];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}g.displayName="MDXCreateElement"},26910:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var a=t(87462),o=(t(67294),t(3905));const r={id:"logging",title:"Logging"},i=void 0,l={unversionedId:"users/build_observability/logging",id:"users/build_observability/logging",title:"Logging",description:"Buck2 produces detailed event logs for each invocation, which follow a schema",source:"@site/../docs/users/build_observability/logging.md",sourceDirName:"users/build_observability",slug:"/users/build_observability/logging",permalink:"/docs/users/build_observability/logging",draft:!1,tags:[],version:"current",frontMatter:{id:"logging",title:"Logging"},sidebar:"mainSidebar",previous:{title:"Buck2 Consoles",permalink:"/docs/users/build_observability/interactive_console"},next:{title:"Build Report",permalink:"/docs/users/build_observability/build_report"}},s={},d=[{value:"Event log format",id:"event-log-format",level:2},{value:"Invocation header",id:"invocation-header",level:3},{value:"Command result footer",id:"command-result-footer",level:3},{value:"Buck events",id:"buck-events",level:3},{value:"Span starts",id:"span-starts",level:4},{value:"Span ends",id:"span-ends",level:4},{value:"Instant events",id:"instant-events",level:4},{value:"Viewing the event log",id:"viewing-the-event-log",level:2}],p=(m="FbInternalOnly",function(e){return console.warn("Component "+m+" was not imported, exported, or provided by MDXProvider as global scope"),(0,o.mdx)("div",e)});var m;const c={toc:d};function u(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"Buck2 produces detailed event logs for each invocation, which follow a schema\noutlined in ",(0,o.mdx)("inlineCode",{parentName:"p"},"app/buck2_data/data.proto")," in the buck2 parent directory. The event\nlogs that Buck2 produces automatically are always in protobuf zstd-compressed\nformat (see ",(0,o.mdx)("a",{parentName:"p",href:"#viewing-the-event-log"},"Viewing the event log")," for more details)."),(0,o.mdx)("h2",{id:"event-log-format"},"Event log format"),(0,o.mdx)("p",null,"Warning: the schemas are all subject to change, so we do not recommend relying\non the format. For the source of truth, take a look at ",(0,o.mdx)("inlineCode",{parentName:"p"},"data.proto"),"."),(0,o.mdx)("h3",{id:"invocation-header"},"Invocation header"),(0,o.mdx)("p",null,"The first line of the event log is always the ",(0,o.mdx)("inlineCode",{parentName:"p"},"Invocation")," header:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"Invocation {\n # CLI args split into a list of strings\n command_line_args: List[str],\n # Expanded CLI args, which expand any argsfiles\n expanded_command_line_args: List[str],\n # Absolute path of the current working directory of the Buck2 command\n working_dir: str,\n # UUID of the Buck2 command\n trace_id: str,\n}\n")),(0,o.mdx)("h3",{id:"command-result-footer"},"Command result footer"),(0,o.mdx)("p",null,"The last line is always the ",(0,o.mdx)("inlineCode",{parentName:"p"},"CommandResult"),":"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"Result {\n # One of the result types of CommandResult protobuf type in data.proto\n result: BuildResponse | CqueryResponse | BxlResponse | ...,\n}\n")),(0,o.mdx)("h3",{id:"buck-events"},"Buck events"),(0,o.mdx)("p",null,"The rest of the event log contain ",(0,o.mdx)("inlineCode",{parentName:"p"},"BuckEvent"),"s, which are either\n",(0,o.mdx)("inlineCode",{parentName:"p"},"SpanStartEvent"),"s, ",(0,o.mdx)("inlineCode",{parentName:"p"},"SpanEndEvent"),"s, or ",(0,o.mdx)("inlineCode",{parentName:"p"},"InstantEvent"),"s."),(0,o.mdx)("p",null,"The ",(0,o.mdx)("inlineCode",{parentName:"p"},"BuckEvent")," format is roughly as follows:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"Event {\n # When the event was fired. This is always a 2-item list, where the first\n # value is millis, second value is micros\n timestamp: List[u64],\n # UUID of the Buck2 command, same one as the invocation header\n trace_id: str,\n # A trace-unique 64-bit integer identifying this event's span ID,\n # if this event begins a new span or belongs to one.\n span_id: u64,\n # A trace-unique 64-bit identifying the span that this event is logically\n # parented to.\n parent_id: u64,\n # See sections below for more details\n data: SpanStart | SpanEnd | Instant,\n}\n")),(0,o.mdx)("h4",{id:"span-starts"},"Span starts"),(0,o.mdx)("p",null,"The ",(0,o.mdx)("inlineCode",{parentName:"p"},"SpanStartEvent")," indicates that a span of work starting:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"SpanStart {\n # One of the data types of SpanStartEvent protobuf type in data.proto\n data: AnalysisStart | ActionExecutionStart | ...,\n}\n")),(0,o.mdx)("h4",{id:"span-ends"},"Span ends"),(0,o.mdx)("p",null,"The ",(0,o.mdx)("inlineCode",{parentName:"p"},"SpanEndEvent")," indicates that a span of work has finished:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"SpanEnd {\n # Duration of the span\n duration_us: u64,\n # CPU poll times for this span\n stats: SpanStats,\n # One of the data types of SpanEndEvent protobuf type in data.proto\n data: AnalysisEnd | ActionExecutionEnd | ...,\n}\n\n# CPU poll times for this span\nSpanStats {\n max_poll_time_us: u64,\n total_poll_time_us: u64,\n}\n")),(0,o.mdx)("h4",{id:"instant-events"},"Instant events"),(0,o.mdx)("p",null,"The ",(0,o.mdx)("inlineCode",{parentName:"p"},"InstantEvent")," represents a single point in time:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"InstantEvent {\n # One of the data types of InstantEvent protobuf type in data.proto\n data: ConsoleMessage | ActionError | ...,\n}\n")),(0,o.mdx)("p",null,"One specific instant event type that may be of interest is the ",(0,o.mdx)("inlineCode",{parentName:"p"},"SnapShot")," event,\nwhich includes some interesting details like RSS, CPU, I/O, remote execution,\nand DICE metrics."),(0,o.mdx)("h2",{id:"viewing-the-event-log"},"Viewing the event log"),(0,o.mdx)("p",null,"Event logs can be accessed using commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 log show"),", which outputs\nthe event logs in JSONL format. You can run ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 log show --help")," to see all\navailable options. Some useful commands:"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},"Show the logs for the most recent Buck2 command:")),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 log show\n")),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},"Show the logs for a specific Buck2 command, given the command's UUID:")),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 log show --trace-id <UUID>\n")),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},"Show the logs for a recent Buck2 command:")),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 log show --recent <NUMBER>\n")),(0,o.mdx)(p,{mdxType:"FbInternalOnly"},(0,o.mdx)("p",null,"You can also download the logs locally from Buck2 UI. The logs will be\ndownloaded from Manifold in protobuf zstd-compressed format, and you can view\nthem in JSONL format by passing the path into ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 log show"),".")),(0,o.mdx)("p",null,"The JSON schema is derived from the protobuf types, and the log itself could be\nquite large. ",(0,o.mdx)("a",{parentName:"p",href:"https://jqlang.github.io/jq/"},"jq")," can be useful to find specific\nthings. For example, this jq script shows the max event delay between a snapshot\nevent creation on the daemon side, and when the client receives it."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 log show | jq -s '\n map(\n .Event.data.Instant.data.Snapshot.this_event_client_delay_ms\n | select(. != null)\n ) | max'\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/17896441.ea8f039b.js b/assets/js/17896441.ea8f039b.js new file mode 100644 index 0000000000000..bd30a0a4e4f0b --- /dev/null +++ b/assets/js/17896441.ea8f039b.js @@ -0,0 +1 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7918],{7771:(i,s,r)=>{var t={"./Binary_Property/ASCII.js":46962,"./Binary_Property/ASCII_Hex_Digit.js":60270,"./Binary_Property/Alphabetic.js":26969,"./Binary_Property/Any.js":22499,"./Binary_Property/Assigned.js":9213,"./Binary_Property/Bidi_Control.js":38838,"./Binary_Property/Bidi_Mirrored.js":5720,"./Binary_Property/Case_Ignorable.js":49965,"./Binary_Property/Cased.js":32948,"./Binary_Property/Changes_When_Casefolded.js":65314,"./Binary_Property/Changes_When_Casemapped.js":78562,"./Binary_Property/Changes_When_Lowercased.js":12104,"./Binary_Property/Changes_When_NFKC_Casefolded.js":41347,"./Binary_Property/Changes_When_Titlecased.js":50589,"./Binary_Property/Changes_When_Uppercased.js":50046,"./Binary_Property/Dash.js":77336,"./Binary_Property/Default_Ignorable_Code_Point.js":32016,"./Binary_Property/Deprecated.js":42339,"./Binary_Property/Diacritic.js":97707,"./Binary_Property/Emoji.js":23694,"./Binary_Property/Emoji_Component.js":94007,"./Binary_Property/Emoji_Modifier.js":13916,"./Binary_Property/Emoji_Modifier_Base.js":98053,"./Binary_Property/Emoji_Presentation.js":10906,"./Binary_Property/Extended_Pictographic.js":66359,"./Binary_Property/Extender.js":17743,"./Binary_Property/Grapheme_Base.js":75530,"./Binary_Property/Grapheme_Extend.js":38693,"./Binary_Property/Hex_Digit.js":91556,"./Binary_Property/IDS_Binary_Operator.js":2103,"./Binary_Property/IDS_Trinary_Operator.js":18502,"./Binary_Property/ID_Continue.js":19494,"./Binary_Property/ID_Start.js":20567,"./Binary_Property/Ideographic.js":19586,"./Binary_Property/Join_Control.js":36983,"./Binary_Property/Logical_Order_Exception.js":72947,"./Binary_Property/Lowercase.js":49111,"./Binary_Property/Math.js":65667,"./Binary_Property/Noncharacter_Code_Point.js":20052,"./Binary_Property/Pattern_Syntax.js":60514,"./Binary_Property/Pattern_White_Space.js":78588,"./Binary_Property/Quotation_Mark.js":1053,"./Binary_Property/Radical.js":25361,"./Binary_Property/Regional_Indicator.js":94375,"./Binary_Property/Sentence_Terminal.js":89697,"./Binary_Property/Soft_Dotted.js":35514,"./Binary_Property/Terminal_Punctuation.js":21043,"./Binary_Property/Unified_Ideograph.js":75771,"./Binary_Property/Uppercase.js":28368,"./Binary_Property/Variation_Selector.js":27186,"./Binary_Property/White_Space.js":61846,"./Binary_Property/XID_Continue.js":74003,"./Binary_Property/XID_Start.js":3468,"./General_Category/Cased_Letter.js":13090,"./General_Category/Close_Punctuation.js":8526,"./General_Category/Connector_Punctuation.js":26100,"./General_Category/Control.js":80282,"./General_Category/Currency_Symbol.js":15352,"./General_Category/Dash_Punctuation.js":45647,"./General_Category/Decimal_Number.js":98349,"./General_Category/Enclosing_Mark.js":18220,"./General_Category/Final_Punctuation.js":88482,"./General_Category/Format.js":87586,"./General_Category/Initial_Punctuation.js":88147,"./General_Category/Letter.js":65964,"./General_Category/Letter_Number.js":66793,"./General_Category/Line_Separator.js":63061,"./General_Category/Lowercase_Letter.js":19340,"./General_Category/Mark.js":93748,"./General_Category/Math_Symbol.js":32895,"./General_Category/Modifier_Letter.js":66710,"./General_Category/Modifier_Symbol.js":43026,"./General_Category/Nonspacing_Mark.js":95580,"./General_Category/Number.js":90055,"./General_Category/Open_Punctuation.js":25622,"./General_Category/Other.js":76288,"./General_Category/Other_Letter.js":61453,"./General_Category/Other_Number.js":88795,"./General_Category/Other_Punctuation.js":47221,"./General_Category/Other_Symbol.js":66733,"./General_Category/Paragraph_Separator.js":12600,"./General_Category/Private_Use.js":61704,"./General_Category/Punctuation.js":36290,"./General_Category/Separator.js":64661,"./General_Category/Space_Separator.js":54343,"./General_Category/Spacing_Mark.js":11276,"./General_Category/Surrogate.js":93474,"./General_Category/Symbol.js":54581,"./General_Category/Titlecase_Letter.js":8550,"./General_Category/Unassigned.js":22525,"./General_Category/Uppercase_Letter.js":28829,"./Script/Adlam.js":56129,"./Script/Ahom.js":50147,"./Script/Anatolian_Hieroglyphs.js":50926,"./Script/Arabic.js":56820,"./Script/Armenian.js":14899,"./Script/Avestan.js":69929,"./Script/Balinese.js":30706,"./Script/Bamum.js":15533,"./Script/Bassa_Vah.js":89979,"./Script/Batak.js":83765,"./Script/Bengali.js":72693,"./Script/Bhaiksuki.js":10236,"./Script/Bopomofo.js":30468,"./Script/Brahmi.js":45770,"./Script/Braille.js":65529,"./Script/Buginese.js":74206,"./Script/Buhid.js":96208,"./Script/Canadian_Aboriginal.js":66700,"./Script/Carian.js":93961,"./Script/Caucasian_Albanian.js":74121,"./Script/Chakma.js":12128,"./Script/Cham.js":52189,"./Script/Cherokee.js":75033,"./Script/Chorasmian.js":73507,"./Script/Common.js":85998,"./Script/Coptic.js":56036,"./Script/Cuneiform.js":13563,"./Script/Cypriot.js":49182,"./Script/Cypro_Minoan.js":80084,"./Script/Cyrillic.js":84087,"./Script/Deseret.js":48844,"./Script/Devanagari.js":35690,"./Script/Dives_Akuru.js":57201,"./Script/Dogra.js":71932,"./Script/Duployan.js":95187,"./Script/Egyptian_Hieroglyphs.js":49778,"./Script/Elbasan.js":42781,"./Script/Elymaic.js":83103,"./Script/Ethiopic.js":26672,"./Script/Georgian.js":73661,"./Script/Glagolitic.js":85857,"./Script/Gothic.js":32096,"./Script/Grantha.js":71742,"./Script/Greek.js":62199,"./Script/Gujarati.js":11931,"./Script/Gunjala_Gondi.js":27600,"./Script/Gurmukhi.js":76482,"./Script/Han.js":26294,"./Script/Hangul.js":38858,"./Script/Hanifi_Rohingya.js":50043,"./Script/Hanunoo.js":95307,"./Script/Hatran.js":20280,"./Script/Hebrew.js":12674,"./Script/Hiragana.js":54058,"./Script/Imperial_Aramaic.js":70521,"./Script/Inherited.js":21448,"./Script/Inscriptional_Pahlavi.js":64086,"./Script/Inscriptional_Parthian.js":35772,"./Script/Javanese.js":98272,"./Script/Kaithi.js":52764,"./Script/Kannada.js":98276,"./Script/Katakana.js":98285,"./Script/Kayah_Li.js":10821,"./Script/Kharoshthi.js":67559,"./Script/Khitan_Small_Script.js":48304,"./Script/Khmer.js":39834,"./Script/Khojki.js":42593,"./Script/Khudawadi.js":64415,"./Script/Lao.js":37740,"./Script/Latin.js":46818,"./Script/Lepcha.js":7647,"./Script/Limbu.js":92627,"./Script/Linear_A.js":16193,"./Script/Linear_B.js":71901,"./Script/Lisu.js":25734,"./Script/Lycian.js":6450,"./Script/Lydian.js":28293,"./Script/Mahajani.js":48193,"./Script/Makasar.js":50865,"./Script/Malayalam.js":24789,"./Script/Mandaic.js":9535,"./Script/Manichaean.js":83061,"./Script/Marchen.js":76528,"./Script/Masaram_Gondi.js":9921,"./Script/Medefaidrin.js":93378,"./Script/Meetei_Mayek.js":6940,"./Script/Mende_Kikakui.js":3897,"./Script/Meroitic_Cursive.js":65999,"./Script/Meroitic_Hieroglyphs.js":59758,"./Script/Miao.js":65484,"./Script/Modi.js":34575,"./Script/Mongolian.js":75392,"./Script/Mro.js":36388,"./Script/Multani.js":60556,"./Script/Myanmar.js":15837,"./Script/Nabataean.js":6820,"./Script/Nandinagari.js":51892,"./Script/New_Tai_Lue.js":32003,"./Script/Newa.js":15297,"./Script/Nko.js":17594,"./Script/Nushu.js":7493,"./Script/Nyiakeng_Puachue_Hmong.js":14406,"./Script/Ogham.js":75847,"./Script/Ol_Chiki.js":88416,"./Script/Old_Hungarian.js":40115,"./Script/Old_Italic.js":29109,"./Script/Old_North_Arabian.js":96840,"./Script/Old_Permic.js":39291,"./Script/Old_Persian.js":24678,"./Script/Old_Sogdian.js":78647,"./Script/Old_South_Arabian.js":70744,"./Script/Old_Turkic.js":59527,"./Script/Old_Uyghur.js":11791,"./Script/Oriya.js":23761,"./Script/Osage.js":39384,"./Script/Osmanya.js":90237,"./Script/Pahawh_Hmong.js":62976,"./Script/Palmyrene.js":60351,"./Script/Pau_Cin_Hau.js":19767,"./Script/Phags_Pa.js":25712,"./Script/Phoenician.js":86458,"./Script/Psalter_Pahlavi.js":74874,"./Script/Rejang.js":27603,"./Script/Runic.js":84788,"./Script/Samaritan.js":45810,"./Script/Saurashtra.js":37632,"./Script/Sharada.js":15058,"./Script/Shavian.js":76250,"./Script/Siddham.js":39573,"./Script/SignWriting.js":54039,"./Script/Sinhala.js":1611,"./Script/Sogdian.js":34250,"./Script/Sora_Sompeng.js":43065,"./Script/Soyombo.js":18135,"./Script/Sundanese.js":95849,"./Script/Syloti_Nagri.js":46566,"./Script/Syriac.js":7810,"./Script/Tagalog.js":67833,"./Script/Tagbanwa.js":58009,"./Script/Tai_Le.js":1187,"./Script/Tai_Tham.js":40377,"./Script/Tai_Viet.js":99e3,"./Script/Takri.js":72294,"./Script/Tamil.js":98682,"./Script/Tangsa.js":77808,"./Script/Tangut.js":75540,"./Script/Telugu.js":65084,"./Script/Thaana.js":6867,"./Script/Thai.js":49907,"./Script/Tibetan.js":29341,"./Script/Tifinagh.js":81261,"./Script/Tirhuta.js":57954,"./Script/Toto.js":68196,"./Script/Ugaritic.js":29097,"./Script/Vai.js":5767,"./Script/Vithkuqi.js":45785,"./Script/Wancho.js":27172,"./Script/Warang_Citi.js":17315,"./Script/Yezidi.js":34961,"./Script/Yi.js":90923,"./Script/Zanabazar_Square.js":92108,"./Script_Extensions/Adlam.js":99614,"./Script_Extensions/Ahom.js":24915,"./Script_Extensions/Anatolian_Hieroglyphs.js":8983,"./Script_Extensions/Arabic.js":75627,"./Script_Extensions/Armenian.js":13585,"./Script_Extensions/Avestan.js":79384,"./Script_Extensions/Balinese.js":47072,"./Script_Extensions/Bamum.js":31856,"./Script_Extensions/Bassa_Vah.js":24945,"./Script_Extensions/Batak.js":92147,"./Script_Extensions/Bengali.js":61530,"./Script_Extensions/Bhaiksuki.js":64063,"./Script_Extensions/Bopomofo.js":29962,"./Script_Extensions/Brahmi.js":61752,"./Script_Extensions/Braille.js":28434,"./Script_Extensions/Buginese.js":15148,"./Script_Extensions/Buhid.js":78881,"./Script_Extensions/Canadian_Aboriginal.js":55254,"./Script_Extensions/Carian.js":79110,"./Script_Extensions/Caucasian_Albanian.js":76550,"./Script_Extensions/Chakma.js":88753,"./Script_Extensions/Cham.js":98451,"./Script_Extensions/Cherokee.js":80196,"./Script_Extensions/Chorasmian.js":23352,"./Script_Extensions/Common.js":46921,"./Script_Extensions/Coptic.js":44141,"./Script_Extensions/Cuneiform.js":30286,"./Script_Extensions/Cypriot.js":73326,"./Script_Extensions/Cypro_Minoan.js":82300,"./Script_Extensions/Cyrillic.js":77115,"./Script_Extensions/Deseret.js":59108,"./Script_Extensions/Devanagari.js":59426,"./Script_Extensions/Dives_Akuru.js":44660,"./Script_Extensions/Dogra.js":41422,"./Script_Extensions/Duployan.js":66667,"./Script_Extensions/Egyptian_Hieroglyphs.js":20449,"./Script_Extensions/Elbasan.js":25810,"./Script_Extensions/Elymaic.js":83509,"./Script_Extensions/Ethiopic.js":37837,"./Script_Extensions/Georgian.js":77680,"./Script_Extensions/Glagolitic.js":97772,"./Script_Extensions/Gothic.js":60674,"./Script_Extensions/Grantha.js":52336,"./Script_Extensions/Greek.js":86310,"./Script_Extensions/Gujarati.js":92436,"./Script_Extensions/Gunjala_Gondi.js":20642,"./Script_Extensions/Gurmukhi.js":33831,"./Script_Extensions/Han.js":16613,"./Script_Extensions/Hangul.js":87001,"./Script_Extensions/Hanifi_Rohingya.js":88583,"./Script_Extensions/Hanunoo.js":82758,"./Script_Extensions/Hatran.js":66416,"./Script_Extensions/Hebrew.js":85222,"./Script_Extensions/Hiragana.js":60191,"./Script_Extensions/Imperial_Aramaic.js":57632,"./Script_Extensions/Inherited.js":96988,"./Script_Extensions/Inscriptional_Pahlavi.js":52121,"./Script_Extensions/Inscriptional_Parthian.js":82809,"./Script_Extensions/Javanese.js":31899,"./Script_Extensions/Kaithi.js":57574,"./Script_Extensions/Kannada.js":81868,"./Script_Extensions/Katakana.js":10774,"./Script_Extensions/Kayah_Li.js":76701,"./Script_Extensions/Kharoshthi.js":81466,"./Script_Extensions/Khitan_Small_Script.js":21325,"./Script_Extensions/Khmer.js":6068,"./Script_Extensions/Khojki.js":77706,"./Script_Extensions/Khudawadi.js":54258,"./Script_Extensions/Lao.js":77149,"./Script_Extensions/Latin.js":38334,"./Script_Extensions/Lepcha.js":12299,"./Script_Extensions/Limbu.js":25476,"./Script_Extensions/Linear_A.js":54625,"./Script_Extensions/Linear_B.js":38810,"./Script_Extensions/Lisu.js":90845,"./Script_Extensions/Lycian.js":68978,"./Script_Extensions/Lydian.js":67905,"./Script_Extensions/Mahajani.js":89576,"./Script_Extensions/Makasar.js":3405,"./Script_Extensions/Malayalam.js":974,"./Script_Extensions/Mandaic.js":28940,"./Script_Extensions/Manichaean.js":6677,"./Script_Extensions/Marchen.js":14740,"./Script_Extensions/Masaram_Gondi.js":82278,"./Script_Extensions/Medefaidrin.js":55949,"./Script_Extensions/Meetei_Mayek.js":13329,"./Script_Extensions/Mende_Kikakui.js":97146,"./Script_Extensions/Meroitic_Cursive.js":23715,"./Script_Extensions/Meroitic_Hieroglyphs.js":43199,"./Script_Extensions/Miao.js":26499,"./Script_Extensions/Modi.js":36995,"./Script_Extensions/Mongolian.js":98606,"./Script_Extensions/Mro.js":11462,"./Script_Extensions/Multani.js":45402,"./Script_Extensions/Myanmar.js":76318,"./Script_Extensions/Nabataean.js":34924,"./Script_Extensions/Nandinagari.js":8236,"./Script_Extensions/New_Tai_Lue.js":14575,"./Script_Extensions/Newa.js":71314,"./Script_Extensions/Nko.js":40577,"./Script_Extensions/Nushu.js":44432,"./Script_Extensions/Nyiakeng_Puachue_Hmong.js":53612,"./Script_Extensions/Ogham.js":19298,"./Script_Extensions/Ol_Chiki.js":55285,"./Script_Extensions/Old_Hungarian.js":16737,"./Script_Extensions/Old_Italic.js":73023,"./Script_Extensions/Old_North_Arabian.js":35723,"./Script_Extensions/Old_Permic.js":56370,"./Script_Extensions/Old_Persian.js":1402,"./Script_Extensions/Old_Sogdian.js":14718,"./Script_Extensions/Old_South_Arabian.js":40316,"./Script_Extensions/Old_Turkic.js":5462,"./Script_Extensions/Old_Uyghur.js":2280,"./Script_Extensions/Oriya.js":29434,"./Script_Extensions/Osage.js":77045,"./Script_Extensions/Osmanya.js":82301,"./Script_Extensions/Pahawh_Hmong.js":84766,"./Script_Extensions/Palmyrene.js":72685,"./Script_Extensions/Pau_Cin_Hau.js":34107,"./Script_Extensions/Phags_Pa.js":66506,"./Script_Extensions/Phoenician.js":42186,"./Script_Extensions/Psalter_Pahlavi.js":55507,"./Script_Extensions/Rejang.js":35435,"./Script_Extensions/Runic.js":76355,"./Script_Extensions/Samaritan.js":1509,"./Script_Extensions/Saurashtra.js":23386,"./Script_Extensions/Sharada.js":86116,"./Script_Extensions/Shavian.js":51826,"./Script_Extensions/Siddham.js":22026,"./Script_Extensions/SignWriting.js":96007,"./Script_Extensions/Sinhala.js":51104,"./Script_Extensions/Sogdian.js":82401,"./Script_Extensions/Sora_Sompeng.js":44399,"./Script_Extensions/Soyombo.js":37415,"./Script_Extensions/Sundanese.js":3894,"./Script_Extensions/Syloti_Nagri.js":5419,"./Script_Extensions/Syriac.js":21038,"./Script_Extensions/Tagalog.js":1744,"./Script_Extensions/Tagbanwa.js":54217,"./Script_Extensions/Tai_Le.js":63153,"./Script_Extensions/Tai_Tham.js":4926,"./Script_Extensions/Tai_Viet.js":39311,"./Script_Extensions/Takri.js":55970,"./Script_Extensions/Tamil.js":80882,"./Script_Extensions/Tangsa.js":92138,"./Script_Extensions/Tangut.js":46776,"./Script_Extensions/Telugu.js":40444,"./Script_Extensions/Thaana.js":23431,"./Script_Extensions/Thai.js":94846,"./Script_Extensions/Tibetan.js":137,"./Script_Extensions/Tifinagh.js":67065,"./Script_Extensions/Tirhuta.js":98082,"./Script_Extensions/Toto.js":6715,"./Script_Extensions/Ugaritic.js":29213,"./Script_Extensions/Vai.js":85388,"./Script_Extensions/Vithkuqi.js":97706,"./Script_Extensions/Wancho.js":68659,"./Script_Extensions/Warang_Citi.js":27900,"./Script_Extensions/Yezidi.js":8051,"./Script_Extensions/Yi.js":99799,"./Script_Extensions/Zanabazar_Square.js":25904,"./index.js":94274,"./unicode-version.js":47993};function n(i){var s=a(i);return r(s)}function a(i){if(!r.o(t,i)){var s=new Error("Cannot find module '"+i+"'");throw s.code="MODULE_NOT_FOUND",s}return t[i]}n.keys=function(){return Object.keys(t)},n.resolve=a,i.exports=n,n.id=7771}}]); \ No newline at end of file diff --git a/assets/js/1789f4b6.6a121ca8.js b/assets/js/1789f4b6.6a121ca8.js new file mode 100644 index 0000000000000..a1d10b5a7259c --- /dev/null +++ b/assets/js/1789f4b6.6a121ca8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2823],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>i,MDXProvider:()=>s,mdx:()=>x,useMDXComponents:()=>d,withMDXComponents:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var i=n.createContext({}),u=function(e){return function(t){var r=d(t.components);return n.createElement(e,o({},t,{components:r}))}},d=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},s=function(e){var t=d(e.components);return n.createElement(i.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,i=l(e,["components","mdxType","originalType","parentName"]),u=d(r),s=a,m=u["".concat(c,".").concat(s)]||u[s]||f[s]||o;return r?n.createElement(m,p(p({ref:t},i),{},{components:r})):n.createElement(m,p({ref:t},i))}));function x(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=y;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p[m]="string"==typeof e?e:a,c[1]=p;for(var i=2;i<o;i++)c[i]=r[i];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},22470:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>p,toc:()=>i});var n=r(87462),a=(r(67294),r(3905));const o={id:"coerced_attr"},c="coerced_attr type",p={unversionedId:"api/bxl/coerced_attr",id:"api/bxl/coerced_attr",title:"coerced_attr type",description:"Methods on configured target node's attributes.",source:"@site/../docs/api/bxl/coerced_attr.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/coerced_attr",permalink:"/docs/api/bxl/coerced_attr",draft:!1,tags:[],version:"current",frontMatter:{id:"coerced_attr"},sidebar:"apiSidebar",previous:{title:"cmd_args type",permalink:"/docs/api/bxl/cmd_args"},next:{title:"configured_attr type",permalink:"/docs/api/bxl/configured_attr"}},l={},i=[{value:"coerced_attr.type",id:"coerced_attrtype",level:2},{value:"coerced_attr.value",id:"coerced_attrvalue",level:2}],u={toc:i};function d(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"coerced_attr-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"coerced_attr")," type"),(0,a.mdx)("p",null,"Methods on configured target node's attributes."),(0,a.mdx)("h2",{id:"coerced_attrtype"},"coerced","_","attr.type"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"coerced_attr.type: str\n")),(0,a.mdx)("p",null,"Returns the type name of the attribute"),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_type(ctx):\n node = ctx.uquery().owner("bin/TARGETS")[0]\n ctx.output.print(node.attrs.name.type)\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"coerced_attrvalue"},"coerced","_","attr.value"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def coerced_attr.value()\n")),(0,a.mdx)("p",null,"Returns the value of this attribute. Limited support of selects, concats, and explicit configuration deps at this time."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_value(ctx):\n node = ctx.uquery().owner("bin/TARGETS")[0]\n ctx.output.print(node.attrs.name.value())\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1b144072.f812aec1.js b/assets/js/1b144072.f812aec1.js new file mode 100644 index 0000000000000..b8959f8daadab --- /dev/null +++ b/assets/js/1b144072.f812aec1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4867],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>m,MDXProvider:()=>c,mdx:()=>_,useMDXComponents:()=>u,withMDXComponents:()=>p});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var m=r.createContext({}),p=function(e){return function(n){var t=u(n.components);return r.createElement(e,a({},n,{components:t}))}},u=function(e){var n=r.useContext(m),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},c=function(e){var n=u(e.components);return r.createElement(m.Provider,{value:n},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},y=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),p=u(t),c=o,d=p["".concat(i,".").concat(c)]||p[c]||f[c]||a;return t?r.createElement(d,s(s({ref:n},m),{},{components:t})):r.createElement(d,s({ref:n},m))}));function _(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=y;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var m=2;m<a;m++)i[m]=t[m];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}y.displayName="MDXCreateElement"},63391:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>m});var r=t(87462),o=(t(67294),t(3905));const a={id:"anon_targets",title:"BXL and Anonymous Targets"},i=void 0,s={unversionedId:"developers/anon_targets",id:"developers/anon_targets",title:"BXL and Anonymous Targets",description:"Anonymous targets",source:"@site/../docs/developers/bxl_anon_target.md",sourceDirName:"developers",slug:"/developers/anon_targets",permalink:"/docs/developers/anon_targets",draft:!1,tags:[],version:"current",frontMatter:{id:"anon_targets",title:"BXL and Anonymous Targets"},sidebar:"mainSidebar",previous:{title:"BXL Telemetry",permalink:"/docs/developers/bxl_telemetry"},next:{title:"BXL and Dynamic Outputs",permalink:"/docs/developers/dynamic_output"}},l={},m=[{value:"Anonymous targets",id:"anonymous-targets",level:2},{value:"APIs",id:"apis",level:3},{value:"Complete Example",id:"complete-example",level:3}],p={toc:m};function u(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("h2",{id:"anonymous-targets"},"Anonymous targets"),(0,o.mdx)("p",null,(0,o.mdx)("a",{parentName:"p",href:"/docs/rule_authors/anon_targets"},"Anonymous targets")," are supported in BXL.\nAnonymous targets are keyed by the attributes, and allow you to share/cache work\nmore effectively."),(0,o.mdx)("p",null,"You might want to use anonymous targets if there is some heavy Starlark\nevaluation which can be cached, or if you want to cache local actions."),(0,o.mdx)("p",null,(0,o.mdx)("strong",{parentName:"p"},"Note"),": The context object within the anon target rule is ",(0,o.mdx)("strong",{parentName:"p"},"not")," a BXL\ncontext, but a normal rule analysis context."),(0,o.mdx)("h3",{id:"apis"},"APIs"),(0,o.mdx)("p",null,"The ",(0,o.mdx)("inlineCode",{parentName:"p"},"actions")," object returned from ",(0,o.mdx)("inlineCode",{parentName:"p"},"ctx.bxl_actions().actions")," (equivalent of\n",(0,o.mdx)("inlineCode",{parentName:"p"},"ctx.actions")," in normal rules) has the following functions for anonymous\ntargets:"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},'anon_target(rule: "rule", attrs: Dict[str, Any]) -> "promise"'),": generates a\nsingle anonymous target. Return type is an unresolved ",(0,o.mdx)("inlineCode",{parentName:"li"},"promise"),"."),(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},'anon_targets(rules: [("rule", Dict[str, Any])]) -> "promise"'),": generates a\nlist of anonymous targets. Return type is an unresolved ",(0,o.mdx)("inlineCode",{parentName:"li"},"promise")," representing\nthe list of anonymous targets."),(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},'artifact_promise(promise: "promise") -> "promise_artifact"'),": turns an\nunresolved promise into a kind of artifact. See\n",(0,o.mdx)("a",{parentName:"li",href:"/docs/rule_authors/anon_targets#convert-promise-to-artifact"},"Convert promise to artifact"),"\nfor more info on why you might want to use this.")),(0,o.mdx)("p",null,"The resulting promise also has ",(0,o.mdx)("inlineCode",{parentName:"p"},"map()")," and ",(0,o.mdx)("inlineCode",{parentName:"p"},"join()")," functions. ",(0,o.mdx)("inlineCode",{parentName:"p"},"map()")," applies a\nfunction to the promise's results, and ",(0,o.mdx)("inlineCode",{parentName:"p"},"join()")," turns multiple promises into a\nsingle promise."),(0,o.mdx)("p",null,"To resolve promises in BXL, ",(0,o.mdx)("inlineCode",{parentName:"p"},"bxl_ctx")," has a ",(0,o.mdx)("inlineCode",{parentName:"p"},"resolve()")," function, which takes in\nthe analysis actions instance (",(0,o.mdx)("inlineCode",{parentName:"p"},"actions")," object returned from\n",(0,o.mdx)("inlineCode",{parentName:"p"},"ctx.bxl_actions().actions"),") and a single promise and returns an optional\npromise value, if there is one. If you intend to create multiple promises, using\n",(0,o.mdx)("inlineCode",{parentName:"p"},"join()")," to produce a single promise will allow you to resolve them concurently\nwith a single ",(0,o.mdx)("inlineCode",{parentName:"p"},"resolve()")," call."),(0,o.mdx)("p",null,"Small example:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def _my_impl(ctx):\n bxl_actions = ctx.bxl_actions() # pass in relevant params to configure the execution platform resolution\n actions = bxl_actions.actions\n\n promise1 = actions.anon_target(my_anon_rule1, my_attrs1).promise\n promise2 = actions.anon_target(my_anon_rule2, my_attrs2).promise.map(my_map_function)\n\n joined = promise1.join(promise2)\n\n resolved = ctx.resolve(actions, joined)\n\n # do some more stuff ...\n")),(0,o.mdx)("h3",{id:"complete-example"},"Complete Example"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},'## anon_bxl_rules.bzl ############\n\n# Define an anonymous rule.\n\nMirrorInfo = provider(fields = ["mirrored_attrs"])\n\n# Anonymous rule which writes some silly output, and also mirrors all attributes received\ndef _mirror_impl(ctx: "context") -> ["provider"]:\n out = ctx.actions.declare_output("my_output")\n ctx.actions.write(out, "my_content")\n return [DefaultInfo(default_outputs = [out]), MirrorInfo(mirrored_attrs = ctx.attrs)]\n\nmy_mirror_rule = rule(impl = _mirror_impl, attrs = {\n "false": attrs.bool(),\n "int": attrs.int(),\n "list_string": attrs.list(attrs.string()),\n "string": attrs.string(),\n "true": attrs.bool(),\n})\n\n# Will be used in a map function in my_script.bxl below\nStringInfo = provider(fields = ["my_string"])\n\n## my_script.bxl ############\n\nload(":anon_bxl_rules.bzl", "MirrorInfo", "StringInfo", "my_mirror_rule")\n\ndef _anon_target_example(ctx):\n bxl_actions = ctx.bxl_actions()\n actions = bxl_actions.actions\n\n # Attrs to pass into the anonymous target. An anonymous target is defined by the hash of its attributes\n my_attrs = {\n "false": False,\n "int": 42,\n "list_string": ["a", "b", "c"],\n "string": "foo-bar-string",\n "true": True,\n }\n\n # A function to be applied to the promise (result of anon target), producing a promise with the resulting value.\n def my_function(providers):\n # Do something with the attrs. In this example, we are validating that the attrs are what we expect.\n mirrored_fields = providers[MirrorInfo].mirrored_attrs\n assert_eq(mirrored_fields.true, True)\n assert_eq(mirrored_fields.false, False)\n assert_eq(mirrored_fields.int, 42)\n assert_eq(mirrored_fields.string, "foo-bar-string")\n assert_eq(mirrored_fields.list_string, ["a", "b", "c"])\n\n outputs = providers[DefaultInfo].default_outputs\n # These are the providers this target returns\n return [DefaultInfo(default_outputs = outputs), StringInfo(my_string = "map function succeeded!")]\n\n # Create an anonymous target by passing in "my_attrs" into "my_mirror_rule", and returns providers.\n # Specifically, it returns "DefaultInfo" and "MirrorInfo", as defined in "my_mirror_rule"\n # Then, we map the result to "my_function", which does some validation\n promise = actions.anon_target(my_mirror_rule, my_attrs).promise.map(my_function)\n\n # Resolving the promise returns a "provider_collection", which was defined by "my_function" above.\n # `DefaultInfo` is at index 0, `StringInfo` is at index 1\n promise_result = ctx.resolve(actions, promise)\n\n ensured = ctx.output.ensure(promise_result[0].default_outputs[0])\n # should print out location of the output, which contains the "my_content" string as defined in anon_bxl_rules.bzl above\n ctx.output.print(ensured)\n\n # should print out "map function succeeded!"\n ctx.output.print(promise_result[1].my_string)\n\ndef assert_eq(a, b):\n if a != b:\n fail("Expected {} == {}".format(a, b))\n\nanon_target_example = bxl_main(\n impl = _anon_target_example,\n cli_args = {\n },\n)\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1b88b802.647b1eca.js b/assets/js/1b88b802.647b1eca.js new file mode 100644 index 0000000000000..b387a9dc7112b --- /dev/null +++ b/assets/js/1b88b802.647b1eca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7768],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>d,MDXProvider:()=>u,mdx:()=>b,useMDXComponents:()=>p,withMDXComponents:()=>s});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},o.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function m(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var d=a.createContext({}),s=function(e){return function(n){var t=p(n.components);return a.createElement(e,o({},n,{components:t}))}},p=function(e){var n=a.useContext(d),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},u=function(e){var n=p(e.components);return a.createElement(d.Provider,{value:n},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},f=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,d=m(e,["components","mdxType","originalType","parentName"]),s=p(t),u=r,c=s["".concat(i,".").concat(u)]||s[u]||h[u]||o;return t?a.createElement(c,l(l({ref:n},d),{},{components:t})):a.createElement(c,l({ref:n},d))}));function b(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=f;var l={};for(var m in n)hasOwnProperty.call(n,m)&&(l[m]=n[m]);l.originalType=e,l[c]="string"==typeof e?e:r,i[1]=l;for(var d=2;d<o;d++)i[d]=t[d];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}f.displayName="MDXCreateElement"},10362:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>m,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var a=t(87462),r=(t(67294),t(3905));const o={id:"values"},i="Value Representation",l={unversionedId:"developers/starlark/values",id:"developers/starlark/values",title:"Value Representation",description:"explanation of the problem, and thought process behind it, remains useful. Of",source:"@site/../docs/developers/starlark/values.generated.md",sourceDirName:"developers/starlark",slug:"/developers/starlark/values",permalink:"/docs/developers/starlark/values",draft:!1,tags:[],version:"current",frontMatter:{id:"values"},sidebar:"mainSidebar",previous:{title:"Starlark Types",permalink:"/docs/developers/starlark/types"},next:{title:"Request for Comments",permalink:"/docs/developers/request_for_comments"}},m={},d=[],s={toc:d};function p(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"value-representation"},"Value Representation"),(0,r.mdx)("admonition",{title:"Some of the information in this page is outdated. However, the",type:"warning"},(0,r.mdx)("p",{parentName:"admonition"},"explanation of the problem, and thought process behind it, remains useful. Of\nparticular note is that a garbage collected heap is now used for ",(0,r.mdx)("inlineCode",{parentName:"p"},"Value"),". :::"),(0,r.mdx)("p",{parentName:"admonition"},"This page explains how values are represented in the Starlark interpreter,\nignoring some incidental details."),(0,r.mdx)("p",{parentName:"admonition"},"Importantly, in Starlark, any identifiers from modules that you import are\n'frozen', which means that, if you have a module that defines a list, then once\nyou have imported the module, the list is now immutable. This design means that\nyou can safely share imports with multiple users, without any expensive copying,\nand use the imports in parallel."),(0,r.mdx)("h2",{parentName:"admonition",id:"frozen-vs-unfrozen-values"},"Frozen vs unfrozen values"),(0,r.mdx)("p",{parentName:"admonition"},"Values that are frozen are segregated from those that are not:"),(0,r.mdx)("ul",{parentName:"admonition"},(0,r.mdx)("li",{parentName:"ul"},"Frozen values are those you import, and (assuming no GC) are to be ref-counted\natomically (so they can be shared by multiple threads) and never changed."),(0,r.mdx)("li",{parentName:"ul"},"Unfrozen values are those which are local to the module, and, since modules\nexecute single threaded, can be non-atomically ref-counted and mutated.")),(0,r.mdx)("p",{parentName:"admonition"},"Once a module has finished executing, it's values are frozen and can be reused\nfreely."),(0,r.mdx)("h2",{parentName:"admonition",id:"thaw-on-write"},"Thaw-on-write"),(0,r.mdx)("p",{parentName:"admonition"},"It's not uncommon to return list literals from functions."),(0,r.mdx)("p",{parentName:"admonition"},"For example:"),(0,r.mdx)("pre",{parentName:"admonition"},(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def my_list(x):\n return ([1,2,3], x)\n")),(0,r.mdx)("p",{parentName:"admonition"},"This above code returns the unfrozen list ",(0,r.mdx)("inlineCode",{parentName:"p"},"[1,2,3]"),". But while the list is\nunfrozen, and could be mutated by the caller, it probably won't be. To optimise\nthis pattern, construct a frozen list when compiling ",(0,r.mdx)("inlineCode",{parentName:"p"},"my_list")," and insert a\nshared reference to it in the result. If anyone tries to mutate the list, it's\nexplicitly unfrozen by copying it into a mutable variant (known as thawing the\nvalue)."),(0,r.mdx)("h2",{parentName:"admonition",id:"immutable-containers-of-mutable-data"},"Immutable containers of mutable data"),(0,r.mdx)("p",{parentName:"admonition"},"There are some data types (such as functions and tuples) that are themselves\nimmutable but contain mutable data. Importantly, all types that can be invoked\nas functions (for example, ",(0,r.mdx)("inlineCode",{parentName:"p"},"lambda"),", ",(0,r.mdx)("inlineCode",{parentName:"p"},"def"),", and ",(0,r.mdx)("inlineCode",{parentName:"p"},"a.b()"),") fall into this\ncategory. These types can be non-atomically ref-counted but can't be mutated."),(0,r.mdx)("h2",{parentName:"admonition",id:"implementation-in-rust"},"Implementation in Rust"),(0,r.mdx)("p",{parentName:"admonition"},"Putting all these above concepts together results in the following:"),(0,r.mdx)("pre",{parentName:"admonition"},(0,r.mdx)("code",{parentName:"pre",className:"language-rust"},"enum FrozenValue {\n None(NoneType),\n Bool(bool),\n Int(i64),\n Obj(Arc<dyn StarlarkValue>),\n}\n\nenum Value {\n Immutable(FrozenValue),\n Pseudo(Rc<dyn ComplexValue>)\n Mutable(Rc<RefCell<Mutable>>),\n}\n\nenum Mutable {\n Mutable(Box<dyn ComplexValue>),\n ThawOnWrite(Arc<dyn StarlarkValue>),\n}\n")),(0,r.mdx)("p",{parentName:"admonition"},"In the above code, both of the traits ",(0,r.mdx)("inlineCode",{parentName:"p"},"dyn SimpleValue")," ",(0,r.mdx)("inlineCode",{parentName:"p"},"and dyn ComplexValue"),"\nenable you to convert to the other and have shared general value-like methods."),(0,r.mdx)("p",{parentName:"admonition"},"There are four types of value:"),(0,r.mdx)("ul",{parentName:"admonition"},(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"Immutable")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"Pseudo")," - immutable containers of mutable values."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"Mutable"),"/",(0,r.mdx)("inlineCode",{parentName:"li"},"Mutable")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"Mutable"),"/",(0,r.mdx)("inlineCode",{parentName:"li"},"ThawOnWrite")," - immutable now but can be replaced with\n",(0,r.mdx)("inlineCode",{parentName:"li"},"Mutable"),"/",(0,r.mdx)("inlineCode",{parentName:"li"},"Mutable")," if needed.")),(0,r.mdx)("p",{parentName:"admonition"},"There are two root types:"),(0,r.mdx)("ul",{parentName:"admonition"},(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenValue")," - imported."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"Value")," - defined locally."))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1be78505.76567914.js b/assets/js/1be78505.76567914.js new file mode 100644 index 0000000000000..daf78becec613 --- /dev/null +++ b/assets/js/1be78505.76567914.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9514,4972],{19963:(e,t,a)=>{a.r(t),a.d(t,{default:()=>Ce});var n=a(67294),l=a(86010),r=a(1944),o=a(35281),i=a(43320),c=a(53438),s=a(74477),d=a(1116),m=a(89493),u=a(95999),b=a(12466),p=a(85936);const h="backToTopButton_sjWU",f="backToTopButtonShow_xfvO";function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[a,l]=(0,n.useState)(!1),r=(0,n.useRef)(!1),{startScroll:o,cancelScroll:i}=(0,b.Ct)();return(0,b.RF)(((e,a)=>{let{scrollY:n}=e;const o=a?.scrollY;o&&(r.current?r.current=!1:n>=o?(i(),l(!1)):n<t?l(!1):n+window.innerHeight<document.documentElement.scrollHeight&&l(!0))})),(0,p.S)((e=>{e.location.hash&&(r.current=!0,l(!1))})),{shown:a,scrollToTop:()=>o(0)}}({threshold:300});return n.createElement("button",{"aria-label":(0,u.translate)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,l.default)("clean-btn",o.k.common.backToTopButton,h,e&&f),type:"button",onClick:t})}var v=a(16550),g=a(87524),_=a(86668),k=a(21327),C=a(87462);function S(e){return n.createElement("svg",(0,C.Z)({width:"20",height:"20","aria-hidden":"true"},e),n.createElement("g",{fill:"#7a7a7a"},n.createElement("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),n.createElement("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})))}const N="collapseSidebarButton_PEFL",I="collapseSidebarButtonIcon_kv0_";function x(e){let{onClick:t}=e;return n.createElement("button",{type:"button",title:(0,u.translate)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,u.translate)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,l.default)("button button--secondary button--outline",N),onClick:t},n.createElement(S,{className:I}))}var T=a(59689),y=a(902);const w=Symbol("EmptyContext"),L=n.createContext(w);function A(e){let{children:t}=e;const[a,l]=(0,n.useState)(null),r=(0,n.useMemo)((()=>({expandedItem:a,setExpandedItem:l})),[a]);return n.createElement(L.Provider,{value:r},t)}var M=a(86043),B=a(48596),F=a(39960),H=a(72389);function P(e){let{categoryLabel:t,onClick:a}=e;return n.createElement("button",{"aria-label":(0,u.translate)({id:"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel",message:"Toggle the collapsible sidebar category '{label}'",description:"The ARIA label to toggle the collapsible sidebar category"},{label:t}),type:"button",className:"clean-btn menu__caret",onClick:a})}function Z(e){let{item:t,onItemClick:a,activePath:r,level:i,index:s,...d}=e;const{items:m,label:u,collapsible:b,className:p,href:h}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,_.L)(),E=function(e){const t=(0,H.default)();return(0,n.useMemo)((()=>e.href?e.href:!t&&e.collapsible?(0,c.Wl)(e):void 0),[e,t])}(t),v=(0,c._F)(t,r),g=(0,B.Mg)(h,r),{collapsed:k,setCollapsed:S}=(0,M.u)({initialState:()=>!!b&&(!v&&t.collapsed)}),{expandedItem:N,setExpandedItem:I}=function(){const e=(0,n.useContext)(L);if(e===w)throw new y.i6("DocSidebarItemsExpandedStateProvider");return e}(),x=function(e){void 0===e&&(e=!k),I(e?null:s),S(e)};return function(e){let{isActive:t,collapsed:a,updateCollapsed:l}=e;const r=(0,y.D9)(t);(0,n.useEffect)((()=>{t&&!r&&a&&l(!1)}),[t,r,a,l])}({isActive:v,collapsed:k,updateCollapsed:x}),(0,n.useEffect)((()=>{b&&null!=N&&N!==s&&f&&S(!0)}),[b,N,s,S,f]),n.createElement("li",{className:(0,l.default)(o.k.docs.docSidebarItemCategory,o.k.docs.docSidebarItemCategoryLevel(i),"menu__list-item",{"menu__list-item--collapsed":k},p)},n.createElement("div",{className:(0,l.default)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":g})},n.createElement(F.default,(0,C.Z)({className:(0,l.default)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!h&&b,"menu__link--active":v}),onClick:b?e=>{a?.(t),h?x(!1):(e.preventDefault(),x())}:()=>{a?.(t)},"aria-current":g?"page":void 0,"aria-expanded":b?!k:void 0,href:b?E??"#":E},d),u),h&&b&&n.createElement(P,{categoryLabel:u,onClick:e=>{e.preventDefault(),x()}})),n.createElement(M.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:k},n.createElement(q,{items:m,tabIndex:k?-1:0,onItemClick:a,activePath:r,level:i+1})))}var D=a(13919),W=a(39471);const R="menuExternalLink_NmtK";function V(e){let{item:t,onItemClick:a,activePath:r,level:i,index:s,...d}=e;const{href:m,label:u,className:b,autoAddBaseUrl:p}=t,h=(0,c._F)(t,r),f=(0,D.Z)(m);return n.createElement("li",{className:(0,l.default)(o.k.docs.docSidebarItemLink,o.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",b),key:u},n.createElement(F.default,(0,C.Z)({className:(0,l.default)("menu__link",!f&&R,{"menu__link--active":h}),autoAddBaseUrl:p,"aria-current":h?"page":void 0,to:m},f&&{onClick:a?()=>a(t):void 0},d),u,!f&&n.createElement(W.Z,null)))}const z="menuHtmlItem_M9Kj";function U(e){let{item:t,level:a,index:r}=e;const{value:i,defaultStyle:c,className:s}=t;return n.createElement("li",{className:(0,l.default)(o.k.docs.docSidebarItemLink,o.k.docs.docSidebarItemLinkLevel(a),c&&[z,"menu__list-item"],s),key:r,dangerouslySetInnerHTML:{__html:i}})}function K(e){let{item:t,...a}=e;switch(t.type){case"category":return n.createElement(Z,(0,C.Z)({item:t},a));case"html":return n.createElement(U,(0,C.Z)({item:t},a));default:return n.createElement(V,(0,C.Z)({item:t},a))}}function j(e){let{items:t,...a}=e;return n.createElement(A,null,t.map(((e,t)=>n.createElement(K,(0,C.Z)({key:t,item:e,index:t},a)))))}const q=(0,n.memo)(j),G="menu_SIkG",Y="menuWithAnnouncementBar_GW3s";function O(e){let{path:t,sidebar:a,className:r}=e;const i=function(){const{isActive:e}=(0,T.nT)(),[t,a]=(0,n.useState)(e);return(0,b.RF)((t=>{let{scrollY:n}=t;e&&a(0===n)}),[e]),e&&t}();return n.createElement("nav",{"aria-label":(0,u.translate)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,l.default)("menu thin-scrollbar",G,i&&Y,r)},n.createElement("ul",{className:(0,l.default)(o.k.docs.docSidebarMenu,"menu__list")},n.createElement(q,{items:a,activePath:t,level:1})))}const X="sidebar_njMd",J="sidebarWithHideableNavbar_wUlq",Q="sidebarHidden_VK0M",$="sidebarLogo_isFc";function ee(e){let{path:t,sidebar:a,onCollapse:r,isHidden:o}=e;const{navbar:{hideOnScroll:i},docs:{sidebar:{hideable:c}}}=(0,_.L)();return n.createElement("div",{className:(0,l.default)(X,i&&J,o&&Q)},i&&n.createElement(k.Z,{tabIndex:-1,className:$}),n.createElement(O,{path:t,sidebar:a}),c&&n.createElement(x,{onClick:r}))}const te=n.memo(ee);var ae=a(13102),ne=a(93163);const le=e=>{let{sidebar:t,path:a}=e;const r=(0,ne.e)();return n.createElement("ul",{className:(0,l.default)(o.k.docs.docSidebarMenu,"menu__list")},n.createElement(q,{items:t,activePath:a,onItemClick:e=>{"category"===e.type&&e.href&&r.toggle(),"link"===e.type&&r.toggle()},level:1}))};function re(e){return n.createElement(ae.Zo,{component:le,props:e})}const oe=n.memo(re);function ie(e){const t=(0,g.i)(),a="desktop"===t||"ssr"===t,l="mobile"===t;return n.createElement(n.Fragment,null,a&&n.createElement(te,e),l&&n.createElement(oe,e))}const ce="expandButton_m80_",se="expandButtonIcon_BlDH";function de(e){let{toggleSidebar:t}=e;return n.createElement("div",{className:ce,title:(0,u.translate)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,u.translate)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t},n.createElement(S,{className:se}))}const me={docSidebarContainer:"docSidebarContainer_b6E3",docSidebarContainerHidden:"docSidebarContainerHidden_b3ry",sidebarViewport:"sidebarViewport_Xe31"};function ue(e){let{children:t}=e;const a=(0,d.V)();return n.createElement(n.Fragment,{key:a?.name??"noSidebar"},t)}function be(e){let{sidebar:t,hiddenSidebarContainer:a,setHiddenSidebarContainer:r}=e;const{pathname:i}=(0,v.TH)(),[c,s]=(0,n.useState)(!1),d=(0,n.useCallback)((()=>{c&&s(!1),r((e=>!e))}),[r,c]);return n.createElement("aside",{className:(0,l.default)(o.k.docs.docSidebarContainer,me.docSidebarContainer,a&&me.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(me.docSidebarContainer)&&a&&s(!0)}},n.createElement(ue,null,n.createElement("div",{className:(0,l.default)(me.sidebarViewport,c&&me.sidebarViewportHidden)},n.createElement(ie,{sidebar:t,path:i,onCollapse:d,isHidden:c}),c&&n.createElement(de,{toggleSidebar:d}))))}const pe={docMainContainer:"docMainContainer_gTbr",docMainContainerEnhanced:"docMainContainerEnhanced_Uz_u",docItemWrapperEnhanced:"docItemWrapperEnhanced_czyv"};function he(e){let{hiddenSidebarContainer:t,children:a}=e;const r=(0,d.V)();return n.createElement("main",{className:(0,l.default)(pe.docMainContainer,(t||!r)&&pe.docMainContainerEnhanced)},n.createElement("div",{className:(0,l.default)("container padding-top--md padding-bottom--lg",pe.docItemWrapper,t&&pe.docItemWrapperEnhanced)},a))}const fe="docPage__5DB",Ee="docsWrapper_BCFX";function ve(e){let{children:t}=e;const a=(0,d.V)(),[l,r]=(0,n.useState)(!1);return n.createElement(m.Z,{wrapperClassName:Ee},n.createElement(E,null),n.createElement("div",{className:fe},a&&n.createElement(be,{sidebar:a.items,hiddenSidebarContainer:l,setHiddenSidebarContainer:r}),n.createElement(he,{hiddenSidebarContainer:l},t)))}var ge=a(4972),_e=a(90197);function ke(e){const{versionMetadata:t}=e;return n.createElement(n.Fragment,null,n.createElement(_e.Z,{version:t.version,tag:(0,i.os)(t.pluginId,t.version)}),n.createElement(r.d,null,t.noIndex&&n.createElement("meta",{name:"robots",content:"noindex, nofollow"})))}function Ce(e){const{versionMetadata:t}=e,a=(0,c.hI)(e);if(!a)return n.createElement(ge.default,null);const{docElement:i,sidebarName:m,sidebarItems:u}=a;return n.createElement(n.Fragment,null,n.createElement(ke,e),n.createElement(r.FG,{className:(0,l.default)(o.k.wrapper.docsPages,o.k.page.docsDocPage,e.versionMetadata.className)},n.createElement(s.q,{version:t},n.createElement(d.b,{name:m,items:u},n.createElement(ve,null,i)))))}},4972:(e,t,a)=>{a.r(t),a.d(t,{default:()=>i});var n=a(67294),l=a(95999),r=a(1944),o=a(89493);function i(){return n.createElement(n.Fragment,null,n.createElement(r.d,{title:(0,l.translate)({id:"theme.NotFound.title",message:"Page Not Found"})}),n.createElement(o.Z,null,n.createElement("main",{className:"container margin-vert--xl"},n.createElement("div",{className:"row"},n.createElement("div",{className:"col col--6 col--offset-3"},n.createElement("h1",{className:"hero__title"},n.createElement(l.default,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),n.createElement("p",null,n.createElement(l.default,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),n.createElement("p",null,n.createElement(l.default,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}},74477:(e,t,a)=>{a.d(t,{E:()=>i,q:()=>o});var n=a(67294),l=a(902);const r=n.createContext(null);function o(e){let{children:t,version:a}=e;return n.createElement(r.Provider,{value:a},t)}function i(){const e=(0,n.useContext)(r);if(null===e)throw new l.i6("DocsVersionProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/1d939d9f.adac18ce.js b/assets/js/1d939d9f.adac18ce.js new file mode 100644 index 0000000000000..9362f011971fe --- /dev/null +++ b/assets/js/1d939d9f.adac18ce.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5024],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>m,mdx:()=>g,useMDXComponents:()=>u,withMDXComponents:()=>d});var o=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},i.apply(this,arguments)}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,o,a=function(e,n){if(null==e)return{};var t,o,a={},i=Object.keys(e);for(o=0;o<i.length;o++)t=i[o],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)t=i[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=o.createContext({}),d=function(e){return function(n){var t=u(n.components);return o.createElement(e,i({},n,{components:t}))}},u=function(e){var n=o.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},m=function(e){var n=u(e.components);return o.createElement(c.Provider,{value:n},e.children)},f="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},p=o.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,r=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(t),m=a,f=d["".concat(r,".").concat(m)]||d[m]||h[m]||i;return t?o.createElement(f,s(s({ref:n},c),{},{components:t})):o.createElement(f,s({ref:n},c))}));function g(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,r=new Array(i);r[0]=p;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[f]="string"==typeof e?e:a,r[1]=s;for(var c=2;c<i;c++)r[c]=t[c];return o.createElement.apply(null,r)}return o.createElement.apply(null,t)}p.displayName="MDXCreateElement"},16733:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=t(87462),a=(t(67294),t(3905));const i={id:"profile",title:"profile"},r=void 0,s={unversionedId:"users/commands/profile",id:"users/commands/profile",title:"profile",description:"These are the flags/commands under buck2 profile and their --help output:",source:"@site/../docs/users/commands/profile.generated.md",sourceDirName:"users/commands",slug:"/users/commands/profile",permalink:"/docs/users/commands/profile",draft:!1,tags:[],version:"current",frontMatter:{id:"profile",title:"profile"},sidebar:"mainSidebar",previous:{title:"lsp",permalink:"/docs/users/commands/lsp"},next:{title:"query",permalink:"/docs/users/commands/query"}},l={},c=[{value:"buck profile",id:"buck-profile",level:2},{value:"buck profile analysis",id:"buck-profile-analysis",level:3},{value:"buck profile loading",id:"buck-profile-loading",level:3},{value:"buck profile bxl",id:"buck-profile-bxl",level:3}],d={toc:c};function u(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,o.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"These are the flags/commands under ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 profile")," and their ",(0,a.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,a.mdx)("h2",{id:"buck-profile"},"buck profile"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Run starlark profiler\n\nUsage: buck2-release profile [OPTIONS] <COMMAND>\n\nCommands:\n analysis Profile analysis\n loading Profile `BUCK` file evaluation\n bxl Profile BXL script\n help Print this message or the help of the given subcommand(s)\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-profile-analysis"},"buck profile analysis"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Profile analysis\n\nUsage: buck2-release profile analysis [OPTIONS] --output <PATH> --mode <MODE> [TARGET_PATTERNS]...\n\nArguments:\n [TARGET_PATTERNS]...\n \n\nOptions:\n -r, --recursive\n In analysis profiling, capture the profile of the target and its dependencies, and output\n the merged profile\n\n -o, --output <PATH>\n Output file path for profile data.\n \n File will be created if it does not exist, and overwritten if it does.\n\n --mode <MODE>\n Profile mode.\n \n Memory profiling modes have suffixes either `-allocated` or `-retained`.\n \n `-retained` means memory kept in frozen starlark heap after analysis complete. `-retained`\n does not work when profiling loading, because no memory is retained after loading and\n frozen heap is not even created. This is probably what you want when profiling analysis.\n \n `-allocated` means allocated memory, including memory which is later garbage collected.\n \n [possible values: time-flame, heap-flame-allocated, heap-flame-retained,\n heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs,\n typecheck, coverage]\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n -u, --target-universe <TARGET_UNIVERSE>\n Comma separated list of targets to construct a configured target universe.\n \n When the option is specified, command targets are be resolved in this universe.\n Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the\n universe targets, not the command targets.\n \n This argument is particularly recommended on most non-trivial cqueries. In the absence of\n this argument, buck2 will use the target literals in your cquery expression as the value\n for\n this argument, which may not be what you want.\n\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-profile-loading"},"buck profile loading"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Profile `BUCK` file evaluation\n\nUsage: buck2-release profile loading [OPTIONS] --output <PATH> --mode <MODE> [TARGET_PATTERNS]...\n\nArguments:\n [TARGET_PATTERNS]...\n \n\nOptions:\n -r, --recursive\n In analysis profiling, capture the profile of the target and its dependencies, and output\n the merged profile\n\n -o, --output <PATH>\n Output file path for profile data.\n \n File will be created if it does not exist, and overwritten if it does.\n\n --mode <MODE>\n Profile mode.\n \n Memory profiling modes have suffixes either `-allocated` or `-retained`.\n \n `-retained` means memory kept in frozen starlark heap after analysis complete. `-retained`\n does not work when profiling loading, because no memory is retained after loading and\n frozen heap is not even created. This is probably what you want when profiling analysis.\n \n `-allocated` means allocated memory, including memory which is later garbage collected.\n \n [possible values: time-flame, heap-flame-allocated, heap-flame-retained,\n heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs,\n typecheck, coverage]\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n -u, --target-universe <TARGET_UNIVERSE>\n Comma separated list of targets to construct a configured target universe.\n \n When the option is specified, command targets are be resolved in this universe.\n Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the\n universe targets, not the command targets.\n \n This argument is particularly recommended on most non-trivial cqueries. In the absence of\n this argument, buck2 will use the target literals in your cquery expression as the value\n for\n this argument, which may not be what you want.\n\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-profile-bxl"},"buck profile bxl"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Profile BXL script\n\nUsage: buck2-release profile bxl [OPTIONS] --output <PATH> --mode <MODE> <BXL label> [-- <BXL INPUT ARGS>...]\n\nArguments:\n <BXL label>\n The bxl function to execute as defined by the label of form\n `<cell>//path/file.bxl:<function>`\n\n [BXL INPUT ARGS]...\n Arguments passed to the bxl script\n\nOptions:\n -M, --materializations <MATERIALIZATIONS>\n Materialize (or skip) the final artifacts, bypassing buckconfig.\n \n [possible values: all, none]\n\n --user-event-log <PATH>\n Write user events to this log file. Both user and internal events are written to main\n event log. If this flag is specified, user events are additionally written to user event\n log. Log format is JSONL, uncompressed if no known extensions are detected, or you can\n explicitly specify the compression via the file extension (ex: `.json-lines.gz` would be\n gzip compressed, `.json-lines.zst` would be zstd compressed). Resulting log is is\n compatible with `buck2 log show-user`\n\n --build-report <PATH>\n Print a build report\n \n `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will\n write the build report to the file\n\n --enable-optional-validations <VALIDATION_NAMES>\n Comma separated list of validation names to run that are marked optional.\n \n By default, validations marked as optional are skipped. This option overrides the\n behaviour and executes those validations.\n\n --build-report-options <BUILD_REPORT_OPTIONS>\n Comma separated list of build report options.\n \n The following options are supported:\n \n `fill-out-failures`: fill out failures the same way Buck1 would.\n \n `package-project-relative-paths`: emit the project-relative path of packages for the\n targets that were built.\n\n -j, --num-threads <THREADS>\n Number of threads to use during execution (default is # cores)\n\n --local-only\n Enable only local execution. Will reject actions that cannot execute locally\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --remote-only\n Enable only remote execution. Will reject actions that cannot execute remotely\n\n --prefer-local\n Enable hybrid execution. Will prefer executing actions that can execute locally on the\n local host\n\n --prefer-remote\n Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and\n will avoid racing local and remote execution\n\n --unstable-no-execution\n Experimental: Disable all execution\n\n --no-remote-cache\n Do not perform remote cache queries or cache writes. If remote execution is enabled, the\n RE service might still deduplicate actions, so for e.g. benchmarking, using a random\n isolation dir is preferred\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --write-to-cache-anyway\n Could be used to enable the action cache writes on the RE worker when no_remote_cache is\n specified\n\n --eager-dep-files\n Process dep files when they are generated (i.e. after running a command that produces dep\n files), rather than when they are used (i.e. before re-running a command that previously\n produced dep files). Use this when debugging commands that produce dep files. Note that\n commands that previously produced dep files will not re-run: only dep files produced\n during this command will be eagerly loaded\n\n --upload-all-actions\n Uploads every action to the RE service, regardless of whether the action needs to execute\n on RE.\n \n This is useful when debugging builds and trying to inspect actions which executed\n remotely. It's possible that the action result is cached but the action itself has\n expired. In this case, downloading the action itself would fail. Enabling this option\n would unconditionally upload all actions, thus you will not hit any expiration issues.\n\n --fail-fast\n If Buck hits an error, do as little work as possible before exiting.\n \n To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The\n default behavior of buck is to do enough work to get a result for the builds of each of\n `:foo` and `:bar`, and no more. This means that buck will continue to complete the build\n of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has\n failed, other dependencies will be cancelled unless they are needed by `:bar`.\n \n This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has\n failed. Generally, this flag only has an effect on builds that specify multiple targets.\n \n `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency\n of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if\n possible.\n\n --keep-going\n If Buck hits an error, continue doing as much work as possible before exiting.\n \n See `--fail-fast` for more details.\n\n --skip-missing-targets\n If target is missing, then skip building instead of throwing error\n\n --skip-incompatible-targets\n If target is incompatible with the specified configuration, skip building instead of\n throwing error. This does not apply to targets specified with glob patterns `/...` or `:`\n which are skipped unconditionally\n\n --materialize-failed-inputs\n Materializes inputs for failed actions which ran on RE\n\n -o, --output <PATH>\n Output file path for profile data.\n \n File will be created if it does not exist, and overwritten if it does.\n\n --mode <MODE>\n Profile mode.\n \n Memory profiling modes have suffixes either `-allocated` or `-retained`.\n \n `-retained` means memory kept in frozen starlark heap after analysis complete. `-retained`\n does not work when profiling loading, because no memory is retained after loading and\n frozen heap is not even created. This is probably what you want when profiling analysis.\n \n `-allocated` means allocated memory, including memory which is later garbage collected.\n \n [possible values: time-flame, heap-flame-allocated, heap-flame-retained,\n heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs,\n typecheck, coverage]\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n -u, --target-universe <TARGET_UNIVERSE>\n Comma separated list of targets to construct a configured target universe.\n \n When the option is specified, command targets are be resolved in this universe.\n Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the\n universe targets, not the command targets.\n \n This argument is particularly recommended on most non-trivial cqueries. In the absence of\n this argument, buck2 will use the target literals in your cquery expression as the value\n for\n this argument, which may not be what you want.\n\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1ebbfb0c.fa68cf83.js b/assets/js/1ebbfb0c.fa68cf83.js new file mode 100644 index 0000000000000..bb4c2d9d68c71 --- /dev/null +++ b/assets/js/1ebbfb0c.fa68cf83.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2965],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>d,MDXProvider:()=>m,mdx:()=>x,useMDXComponents:()=>u,withMDXComponents:()=>c});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(){return r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},r.apply(this,arguments)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a,n,i={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var d=n.createContext({}),c=function(e){return function(t){var a=u(t.components);return n.createElement(e,r({},t,{components:a}))}},u=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},m=function(e){var t=u(e.components);return n.createElement(d.Provider,{value:t},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),c=u(a),m=i,p=c["".concat(o,".").concat(m)]||c[m]||h[m]||r;return a?n.createElement(p,l(l({ref:t},d),{},{components:a})):n.createElement(p,l({ref:t},d))}));function x(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,o=new Array(r);o[0]=f;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:i,o[1]=l;for(var d=2;d<r;d++)o[d]=a[d];return n.createElement.apply(null,o)}return n.createElement.apply(null,a)}f.displayName="MDXCreateElement"},14016:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var n=a(87462),i=(a(67294),a(3905));const r={id:"actions"},o="actions type",l={unversionedId:"api/bxl/actions",id:"api/bxl/actions",title:"actions type",description:"actions.anon\\_target",source:"@site/../docs/api/bxl/actions.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/actions",permalink:"/docs/api/bxl/actions",draft:!1,tags:[],version:"current",frontMatter:{id:"actions"},sidebar:"apiSidebar",previous:{title:"action_attr type",permalink:"/docs/api/bxl/action_attr"},next:{title:"anon_target type",permalink:"/docs/api/bxl/anon_target"}},s={},d=[{value:"actions.anon_target",id:"actionsanon_target",level:2},{value:"actions.anon_targets",id:"actionsanon_targets",level:2},{value:"actions.artifact_tag",id:"actionsartifact_tag",level:2},{value:"actions.assert_short_path",id:"actionsassert_short_path",level:2},{value:"actions.cas_artifact",id:"actionscas_artifact",level:2},{value:"actions.copied_dir",id:"actionscopied_dir",level:2},{value:"actions.copy_dir",id:"actionscopy_dir",level:2},{value:"actions.copy_file",id:"actionscopy_file",level:2},{value:"actions.declare_output",id:"actionsdeclare_output",level:2},{value:"actions.digest_config",id:"actionsdigest_config",level:2},{value:"actions.download_file",id:"actionsdownload_file",level:2},{value:"actions.dynamic_output",id:"actionsdynamic_output",level:2},{value:"actions.dynamic_output_new",id:"actionsdynamic_output_new",level:2},{value:"actions.run",id:"actionsrun",level:2},{value:"actions.symlink_file",id:"actionssymlink_file",level:2},{value:"actions.symlinked_dir",id:"actionssymlinked_dir",level:2},{value:"actions.tset",id:"actionstset",level:2},{value:"actions.write",id:"actionswrite",level:2},{value:"actions.write_json",id:"actionswrite_json",level:2}],c={toc:d};function u(e){let{components:t,...a}=e;return(0,i.mdx)("wrapper",(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,i.mdx)("h1",{id:"actions-type"},(0,i.mdx)("inlineCode",{parentName:"h1"},"actions")," type"),(0,i.mdx)("h2",{id:"actionsanon_target"},"actions.anon","_","target"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'def actions.anon_target(\n rule: "function",\n attrs: dict[str, typing.Any]\n) -> anon_target\n')),(0,i.mdx)("p",null,"An anonymous target is defined by the hash of its attributes, rather than its name. During analysis, rules can define and access the providers of anonymous targets before producing their own providers. Two distinct rules might ask for the same anonymous target, sharing the work it performs."),(0,i.mdx)("p",null,"For more details see ",(0,i.mdx)("a",{parentName:"p",href:"https://buck2.build/docs/rule_authors/anon_targets/"},"https://buck2.build/docs/rule_authors/anon_targets/")),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsanon_targets"},"actions.anon","_","targets"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'def actions.anon_targets(\n rules: list[("function", dict[str, typing.Any])] | tuple[("function", dict[str, typing.Any]), ...]\n) -> anon_targets\n')),(0,i.mdx)("p",null,"Generate a series of anonymous targets."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsartifact_tag"},"actions.artifact","_","tag"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.artifact_tag() -> artifact_tag\n")),(0,i.mdx)("p",null,"Allocate a new input tag. Used with the ",(0,i.mdx)("inlineCode",{parentName:"p"},"dep_files")," argument to ",(0,i.mdx)("inlineCode",{parentName:"p"},"run"),"."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsassert_short_path"},"actions.assert","_","short","_","path"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.assert_short_path(artifact: artifact, short_path: str) -> artifact\n")),(0,i.mdx)("p",null,"Generate a promise artifact that has short path accessible on it. The short path's correctness will be asserted during analysis time."),(0,i.mdx)("p",null,"TODO - we would prefer the API to be ",(0,i.mdx)("inlineCode",{parentName:"p"},'ctx.actions.anon_target(xxx).artifact("foo", short_path=yyy)'),", but\nwe cannot support this until we can get access to the ",(0,i.mdx)("inlineCode",{parentName:"p"},"AnalysisContext")," without passing it into this method."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionscas_artifact"},"actions.cas","_","artifact"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.cas_artifact(\n output: artifact | output_artifact | str,\n digest: str,\n use_case: str,\n /,\n *,\n expires_after_timestamp: int,\n is_executable: bool = False,\n is_tree: bool = False,\n is_directory: bool = False\n) -> artifact\n")),(0,i.mdx)("p",null,"Downloads a CAS artifact to an output"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"digest"),": must look like ",(0,i.mdx)("inlineCode",{parentName:"li"},"SHA1:SIZE")),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"use_case"),": your RE use case"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"expires_after_timestamp"),": must be a UNIX timestamp. Your digest's TTL must exceed this\ntimestamp. Your build will break once the digest expires, so make sure the expiry is long\nenough (preferably, in years)."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"is_executable"),": indicates the resulting file should be marked with executable\npermissions"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"is_tree"),": digest must point to a blob of type\n",(0,i.mdx)("a",{parentName:"li",href:"https://fburl.com/code/95rqgju0"},"RE.Tree")),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"is_directory"),": digest must point to a blob of type\n",(0,i.mdx)("a",{parentName:"li",href:"https://fburl.com/code/4eg40nnp"},"RE.Directory"))),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionscopied_dir"},"actions.copied","_","dir"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.copied_dir(\n output: artifact | output_artifact | str,\n srcs: dict[str, artifact],\n /\n) -> artifact\n")),(0,i.mdx)("p",null,"Returns an ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," which is a directory containing copied files. The srcs must be a dictionary of path (as string, relative to the result directory) to the bound ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),", which will be laid out in the directory."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionscopy_dir"},"actions.copy","_","dir"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.copy_dir(\n dest: artifact | output_artifact | str,\n src: artifact,\n /\n) -> artifact\n")),(0,i.mdx)("p",null,"Make a copy of a directory."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionscopy_file"},"actions.copy","_","file"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.copy_file(\n dest: artifact | output_artifact | str,\n src: artifact,\n /\n) -> artifact\n")),(0,i.mdx)("p",null,"Copies the source ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," to the destination (which can be a string representing a filename or an output ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),") and returns the output ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),". The copy works for files or directories."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsdeclare_output"},"actions.declare","_","output"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.declare_output(\n prefix: str,\n filename: str = _,\n /,\n *,\n dir: bool = False\n) -> artifact\n")),(0,i.mdx)("p",null,"Returns an unbound ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),", representing where a file will go, which must be bound before analysis terminates. The usual way of binding an artifact is with ",(0,i.mdx)("inlineCode",{parentName:"p"},"ctx.actions.run"),". As an example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'my_output = ctx.actions.declare_output("output.o")\nctx.actions.run(["gcc", "-c", my_source, "-o", my_output.as_output()], category = "compile")\n')),(0,i.mdx)("p",null,"This snippet declares an output with the filename ",(0,i.mdx)("inlineCode",{parentName:"p"},"output.o")," (it will be located in the output directory\nfor this target). Note the use of ",(0,i.mdx)("inlineCode",{parentName:"p"},"as_output")," to tag this artifact as being an output in\nthe action. After binding the artifact you can subsequently use ",(0,i.mdx)("inlineCode",{parentName:"p"},"my_output")," as either an\ninput for subsequent actions, or as the result in a provider."),(0,i.mdx)("p",null,"Artifacts from a single target may not have the same name, so if you then want a second\nartifact also named ",(0,i.mdx)("inlineCode",{parentName:"p"},"output.o")," you need to supply a prefix, e.g.\n",(0,i.mdx)("inlineCode",{parentName:"p"},'ctx.actions.declare_output("directory", "output.o")'),". The artifact will still report having\nname ",(0,i.mdx)("inlineCode",{parentName:"p"},"output.o"),", but will be located at ",(0,i.mdx)("inlineCode",{parentName:"p"},"directory/output.o"),"."),(0,i.mdx)("p",null,"The ",(0,i.mdx)("inlineCode",{parentName:"p"},"dir")," argument should be set to ",(0,i.mdx)("inlineCode",{parentName:"p"},"True")," if the binding will be a directory."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsdigest_config"},"actions.digest","_","config"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.digest_config() -> digest_config\n")),(0,i.mdx)("p",null,"Obtain this daemon's digest configuration. This allows rules to discover what digests the daemon may be able to e.g. defer download because they conform to its RE backend's expected digest format."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsdownload_file"},"actions.download","_","file"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.download_file(\n output: artifact | output_artifact | str,\n url: str,\n /,\n *,\n vpnless_url: None | str = None,\n sha1: None | str = None,\n sha256: None | str = None,\n is_executable: bool = False,\n is_deferrable: bool = False\n) -> artifact\n")),(0,i.mdx)("p",null,"Downloads a URL to an output (filename as string or output artifact). The file at the URL must have the given sha1 or the command will fail. The optional parameter is_executable indicates whether the resulting file should be marked with executable permissions. (Meta-internal) The optional parameter vpnless_url indicates a url from which this resource can be downloaded off VPN; this has the same restrictions as ",(0,i.mdx)("inlineCode",{parentName:"p"},"url")," above."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsdynamic_output"},"actions.dynamic","_","output"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.dynamic_output(\n *,\n dynamic: list[artifact] | tuple[artifact, ...],\n inputs: list[artifact] | tuple[artifact, ...] = _,\n outputs: list[output_artifact] | tuple[output_artifact, ...],\n f: typing.Callable[[typing.Any, dict[artifact, artifact_value], dict[artifact, artifact]], None]\n) -> None\n")),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output")," allows a rule to use information that was not available when the rule was first run at analysis time. Examples include things like Distributed ThinLTO (where the index file is created by another action) or OCaml builds (where the dependencies are created by ",(0,i.mdx)("inlineCode",{parentName:"p"},"ocamldeps"),")."),(0,i.mdx)("p",null,"The arguments are:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic")," - a list of artifacts whose values will be available in the function. These will\nbe built before the function is run."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"inputs")," - parameter is ignored."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," - a list of unbound artifacts (created with ",(0,i.mdx)("inlineCode",{parentName:"li"},"declare_artifact"),") which will be\nbound by the function."),(0,i.mdx)("li",{parentName:"ul"},"The function argument is given 3 arguments:",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"ctx")," (context) - which is the same as that passed to the initial rule analysis."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"artifacts")," - using one of the artifacts from ",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic")," (example usage:\n",(0,i.mdx)("inlineCode",{parentName:"li"},"artifacts[artifact_from_dynamic])")," gives an artifact value containing the methods\n",(0,i.mdx)("inlineCode",{parentName:"li"},"read_string"),", ",(0,i.mdx)("inlineCode",{parentName:"li"},"read_lines"),", and ",(0,i.mdx)("inlineCode",{parentName:"li"},"read_json")," to obtain the values from the disk in\nvarious formats. Anything too complex should be piped through a Python script for\ntransformation to JSON."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," - using one of the artifacts from the ",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic_output"),"'s ",(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," (example\nusage: ",(0,i.mdx)("inlineCode",{parentName:"li"},"outputs[artifact_from_dynamic_output_outputs]"),") gives an unbounded artifact. The\nfunction argument must use its ",(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," argument to bind output artifacts, rather than\nreusing artifacts from the outputs passed into ",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic_output")," directly."))),(0,i.mdx)("li",{parentName:"ul"},"The function must call ",(0,i.mdx)("inlineCode",{parentName:"li"},"ctx.actions")," (probably ",(0,i.mdx)("inlineCode",{parentName:"li"},"ctx.actions.run"),") to bind all outputs. It\ncan examine the values of the dynamic variables and depends on the inputs.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"The function will usually be a ",(0,i.mdx)("inlineCode",{parentName:"li"},"def"),", as ",(0,i.mdx)("inlineCode",{parentName:"li"},"lambda")," in Starlark does not allow statements,\nmaking it quite underpowered. For full details see\n",(0,i.mdx)("a",{parentName:"li",href:"https://buck2.build/docs/rule_authors/dynamic_dependencies/"},"https://buck2.build/docs/rule_authors/dynamic_dependencies/"),".")))),(0,i.mdx)("p",null,"Besides dynamic dependencies, there is a second use case for ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),": say that you\nhave some output artifact, and that the analysis to produce the action that outputs that\nartifact is expensive, ie takes a lot of CPU time; you would like to skip that work in\nbuilds that do not actually use that artifact."),(0,i.mdx)("p",null,"This can be accomplished by putting the analysis for that artifact behind a ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"\nwith an empty ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic")," list. The ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"'s function will not be run unless one of\nthe actions it outputs is actually requested as part of the build."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsdynamic_output_new"},"actions.dynamic","_","output","_","new"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.dynamic_output_new(dynamic_actions: DynamicAction, /) -> None\n")),(0,i.mdx)("p",null,"New version of ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"."),(0,i.mdx)("p",null,"This is work in progress, and will eventually replace the old ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsrun"},"actions.run"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.run(\n arguments: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,\n /,\n *,\n category: str,\n identifier: None | str = None,\n env: dict[str, artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _,\n local_only: bool = False,\n prefer_local: bool = False,\n prefer_remote: bool = False,\n low_pass_filter: bool = True,\n always_print_stderr: bool = False,\n weight: int = _,\n weight_percentage: int = _,\n dep_files: dict[str, artifact_tag] = _,\n metadata_env_var: str = _,\n metadata_path: str = _,\n no_outputs_cleanup: bool = False,\n allow_cache_upload: bool = False,\n allow_dep_file_cache_upload: bool = False,\n force_full_hybrid_if_capable: bool = False,\n exe: RunInfo | WorkerRunInfo = _,\n unique_input_inodes: bool = False,\n error_handler: typing.Callable = _,\n remote_execution_dependencies: list[dict[str, str]] = []\n) -> None\n")),(0,i.mdx)("p",null,"Runs a command"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"arguments"),": must be of type ",(0,i.mdx)("inlineCode",{parentName:"li"},"cmd_args"),", or a type convertible to such (such as a list of\nstrings and artifacts) and must contain at least one ",(0,i.mdx)("inlineCode",{parentName:"li"},".as_output()")," artifact"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"category"),": category and identifier - when used together, identify the action in Buck2's\nevent stream, and must be unique for a given target"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"weight"),": used to note how heavy the command is and will typically be set to a higher\nvalue to indicate that less such commands should be run in parallel (if running locally)"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"no_outputs_cleanup"),": if this flag is set then Buck2 won't clean the outputs of a previous\nbuild that might be present on a disk; in which case, command from arguments should be\nresponsible for the cleanup (that is useful, for example, when an action is supporting\nincremental mode and its outputs are based on result from a previous build)"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"metadata_env_var")," and ",(0,i.mdx)("inlineCode",{parentName:"li"},"meadata_path")," should be used together: both set or both unset",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"metadata_path"),": defines a path relative to the result directory for a file with\naction metadata, which will be created right before the command will be run."),(0,i.mdx)("li",{parentName:"ul"},"Metadata contains the path relative to the Buck2 project root and hash digest for\nevery action input (this excludes symlinks as they could be resolved by a user script\nif needed). The resolved path relative to the Buck2 project for the metadata file will\nbe passed to command from arguments, via the environment variable, with its name set\nby ",(0,i.mdx)("inlineCode",{parentName:"li"},"metadata_env_var")),(0,i.mdx)("li",{parentName:"ul"},"Both ",(0,i.mdx)("inlineCode",{parentName:"li"},"metadata_env_var")," and ",(0,i.mdx)("inlineCode",{parentName:"li"},"metadata_path")," are useful when making actions behave in\nan incremental manner (for details, see ",(0,i.mdx)("a",{parentName:"li",href:"https://buck2.build/docs/rule_authors/incremental_actions/"},"Incremental\nActions"),")"))),(0,i.mdx)("li",{parentName:"ul"},"The ",(0,i.mdx)("inlineCode",{parentName:"li"},"prefer_local"),", ",(0,i.mdx)("inlineCode",{parentName:"li"},"prefer_remote")," and ",(0,i.mdx)("inlineCode",{parentName:"li"},"local_only")," options allow selecting where the\naction should run if the executor selected for this target is a hybrid executor.",(0,i.mdx)("pre",{parentName:"li"},(0,i.mdx)("code",{parentName:"pre"},'* All those options disable concurrent execution: the action will run on the preferred\nplatform first (concurrent execution only happens with a "full" hybrid executor).\n* Execution may be retried on the "non-preferred" platform if it fails due to a\ntransient error, except for `local_only`, which does not allow this.\n* If the executor selected is a remote-only executor and you use `local_only`, that\'s an\nerror. The other options will not raise errors.\n* Setting more than one of those options is an error.\n* Those flags behave the same way as the equivalent `--prefer-remote`, `--prefer-local`\nand `--local-only` CLI flags. The CLI flags take precedence.\n* The `force_full_hybrid_if_capable` option overrides the `use_limited_hybrid` hybrid.\nThe options listed above take precedence if set.\n'))),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"remote_execution_dependencies"),": list of dependencies which is passed to Remote Execution.\nEach dependency is dictionary with the following keys:",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"smc_tier"),": name of the SMC tier to call by RE Scheduler."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"id"),": name of the dependency.")))),(0,i.mdx)("p",null,"When actions execute, they'll do so from the root of the repository. As they execute,\nactions have exclusive access to their output directory."),(0,i.mdx)("p",null,'Actions also get exclusive access to a "scratch" path that is exposed via the environment\nvariable ',(0,i.mdx)("inlineCode",{parentName:"p"},"BUCK_SCRATCH_PATH"),". This path is expressed as a path relative to the working\ndirectory (i.e. relative to the project). This path is guaranteed to exist when the action\nexecutes."),(0,i.mdx)("p",null,"When actions run locally, the scratch path is also used as the ",(0,i.mdx)("inlineCode",{parentName:"p"},"TMPDIR"),"."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionssymlink_file"},"actions.symlink","_","file"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.symlink_file(\n dest: artifact | output_artifact | str,\n src: artifact,\n /\n) -> artifact\n")),(0,i.mdx)("p",null,"Creates a symlink to the source ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," at the destination (which can be a string representing a filename or an output ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),") and returns the output ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),". The symlink works for files or directories."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionssymlinked_dir"},"actions.symlinked","_","dir"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.symlinked_dir(\n output: artifact | output_artifact | str,\n srcs: dict[str, artifact],\n /\n) -> artifact\n")),(0,i.mdx)("p",null,"Returns an ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," that is a directory containing symlinks. The srcs must be a dictionary of path (as string, relative to the result directory) to bound ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),", which will be laid out in the directory."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionstset"},"actions.tset"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.tset(\n definition: transitive_set_definition,\n /,\n value = _,\n children: typing.Iterable = _\n) -> transitive_set\n")),(0,i.mdx)("p",null,"Creates a new transitive set. For details, see ",(0,i.mdx)("a",{parentName:"p",href:"https://buck2.build/docs/rule_authors/transitive_sets/"},"https://buck2.build/docs/rule_authors/transitive_sets/"),"."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionswrite"},"actions.write"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.write(\n output: artifact | output_artifact | str,\n content: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,\n /,\n *,\n is_executable: bool = False,\n allow_args: bool = False,\n with_inputs: bool = False,\n absolute: bool = False\n) -> artifact | (artifact, list[artifact])\n")),(0,i.mdx)("p",null,"Returns an ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," whose contents are ",(0,i.mdx)("inlineCode",{parentName:"p"},"content")),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"is_executable")," (optional): indicates whether the resulting file should be marked with\nexecutable permissions"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"allow_args")," (optional): must be set to ",(0,i.mdx)("inlineCode",{parentName:"li"},"True")," if you want to write parameter arguments to\nthe file (in particular, macros that write to file)",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"If it is true, the result will be a pair of the ",(0,i.mdx)("inlineCode",{parentName:"li"},"artifact")," containing content and a\nlist of artifact values that were written by macros, which should be used in hidden\nfields or similar"))),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"absolute")," (optional): if set, this action will produce absolute paths in its output when\nrendering artifact paths. You generally shouldn't use this if you plan to use this action\nas the input for anything else, as this would effectively result in losing all shared\ncaching.")),(0,i.mdx)("p",null,"The content is often a string, but can be any ",(0,i.mdx)("inlineCode",{parentName:"p"},"ArgLike")," value. This is occasionally useful\nfor generating scripts to run as a part of another action. ",(0,i.mdx)("inlineCode",{parentName:"p"},"cmd_args")," in the content are\nnewline separated unless another delimiter is explicitly specified."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionswrite_json"},"actions.write","_","json"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.write_json(\n output: artifact | output_artifact | str,\n content: None | artifact | bool | cell_root | cmd_args | enum | int | label | label_relative_path | output_artifact | project_root | record | resolved_macro | str | tagged_command_line | tagged_value | target_label | transitive_set_args_projection | transitive_set_json_projection | write_json_cli_args | list[typing.Any] | tuple | dict[typing.Any, typing.Any] | struct(..) | RunInfo | provider,\n /,\n *,\n with_inputs: bool = False,\n pretty: bool = False,\n absolute: bool = False\n) -> artifact | write_json_cli_args\n")),(0,i.mdx)("p",null,"Returns an ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," whose contents are ",(0,i.mdx)("inlineCode",{parentName:"p"},"content")," written as a JSON value."),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"output"),": can be a string, or an existing artifact created with ",(0,i.mdx)("inlineCode",{parentName:"li"},"declare_output")),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"content"),": must be composed of the basic json types (boolean, number, string, list/tuple,\ndictionary) plus artifacts and command lines",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"An artifact will be written as a string containing the path"),(0,i.mdx)("li",{parentName:"ul"},"A command line will be written as a list of strings, unless ",(0,i.mdx)("inlineCode",{parentName:"li"},"joined=True")," is set, in\nwhich case it will be a string"))),(0,i.mdx)("li",{parentName:"ul"},"If you pass ",(0,i.mdx)("inlineCode",{parentName:"li"},"with_inputs = True"),", you'll get back a ",(0,i.mdx)("inlineCode",{parentName:"li"},"cmd_args")," that expands to the JSON\nfile but carries all the underlying inputs as dependencies (so you don't have to use, for\nexample, ",(0,i.mdx)("inlineCode",{parentName:"li"},"hidden")," for them to be added to an action that already receives the JSON file)"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"pretty")," (optional): write formatted JSON (defaults to ",(0,i.mdx)("inlineCode",{parentName:"li"},"False"),")"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"absolute")," (optional): if set, this action will produce absolute paths in its output when\nrendering artifact paths. You generally shouldn't use this if you plan to use this action\nas the input for anything else, as this would effectively result in losing all shared\ncaching. (defaults to ",(0,i.mdx)("inlineCode",{parentName:"li"},"False"),")")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1f1dcb8c.550fee80.js b/assets/js/1f1dcb8c.550fee80.js new file mode 100644 index 0000000000000..3345c13d0d9de --- /dev/null +++ b/assets/js/1f1dcb8c.550fee80.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9013],{3905:(e,l,a)=>{a.r(l),a.d(l,{MDXContext:()=>d,MDXProvider:()=>u,mdx:()=>g,useMDXComponents:()=>b,withMDXComponents:()=>c});var t=a(67294);function r(e,l,a){return l in e?Object.defineProperty(e,l,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[l]=a,e}function n(){return n=Object.assign||function(e){for(var l=1;l<arguments.length;l++){var a=arguments[l];for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e[t]=a[t])}return e},n.apply(this,arguments)}function o(e,l){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);l&&(t=t.filter((function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable}))),a.push.apply(a,t)}return a}function i(e){for(var l=1;l<arguments.length;l++){var a=null!=arguments[l]?arguments[l]:{};l%2?o(Object(a),!0).forEach((function(l){r(e,l,a[l])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(l){Object.defineProperty(e,l,Object.getOwnPropertyDescriptor(a,l))}))}return e}function p(e,l){if(null==e)return{};var a,t,r=function(e,l){if(null==e)return{};var a,t,r={},n=Object.keys(e);for(t=0;t<n.length;t++)a=n[t],l.indexOf(a)>=0||(r[a]=e[a]);return r}(e,l);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(t=0;t<n.length;t++)a=n[t],l.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=t.createContext({}),c=function(e){return function(l){var a=b(l.components);return t.createElement(e,n({},l,{components:a}))}},b=function(e){var l=t.useContext(d),a=l;return e&&(a="function"==typeof e?e(l):i(i({},l),e)),a},u=function(e){var l=b(e.components);return t.createElement(d.Provider,{value:l},e.children)},m="mdxType",s={inlineCode:"code",wrapper:function(e){var l=e.children;return t.createElement(t.Fragment,{},l)}},f=t.forwardRef((function(e,l){var a=e.components,r=e.mdxType,n=e.originalType,o=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),c=b(a),u=r,m=c["".concat(o,".").concat(u)]||c[u]||s[u]||n;return a?t.createElement(m,i(i({ref:l},d),{},{components:a})):t.createElement(m,i({ref:l},d))}));function g(e,l){var a=arguments,r=l&&l.mdxType;if("string"==typeof e||r){var n=a.length,o=new Array(n);o[0]=f;var i={};for(var p in l)hasOwnProperty.call(l,p)&&(i[p]=l[p]);i.originalType=e,i[m]="string"==typeof e?e:r,o[1]=i;for(var d=2;d<n;d++)o[d]=a[d];return t.createElement.apply(null,o)}return t.createElement.apply(null,a)}f.displayName="MDXCreateElement"},67863:(e,l,a)=>{a.r(l),a.d(l,{assets:()=>p,contentTitle:()=>o,default:()=>b,frontMatter:()=>n,metadata:()=>i,toc:()=>d});var t=a(87462),r=(a(67294),a(3905));const n={id:"label"},o="label type",i={unversionedId:"api/bxl/label",id:"api/bxl/label",title:"label type",description:"A label is used to represent a configured target.",source:"@site/../docs/api/bxl/label.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/label",permalink:"/docs/api/bxl/label",draft:!1,tags:[],version:"current",frontMatter:{id:"label"},sidebar:"apiSidebar",previous:{title:"instant type",permalink:"/docs/api/bxl/instant"},next:{title:"label_relative_path type",permalink:"/docs/api/bxl/label_relative_path"}},p={},d=[{value:"label.cell",id:"labelcell",level:2},{value:"label.cell_root",id:"labelcell_root",level:2},{value:"label.configured_target",id:"labelconfigured_target",level:2},{value:"label.name",id:"labelname",level:2},{value:"label.package",id:"labelpackage",level:2},{value:"label.path",id:"labelpath",level:2},{value:"label.project_root",id:"labelproject_root",level:2},{value:"label.raw_target",id:"labelraw_target",level:2},{value:"label.sub_target",id:"labelsub_target",level:2}],c={toc:d};function b(e){let{components:l,...a}=e;return(0,r.mdx)("wrapper",(0,t.Z)({},c,a,{components:l,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"label-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"label")," type"),(0,r.mdx)("p",null,"A label is used to represent a configured target."),(0,r.mdx)("h2",{id:"labelcell"},"label.cell"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.cell: str\n")),(0,r.mdx)("p",null,"For the label ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905)")," this gives back ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelcell_root"},"label.cell","_","root"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.cell_root: cell_root\n")),(0,r.mdx)("p",null,"Obtain a reference to this target label's cell root. This can be used as if it were an artifact in places that expect one, such as ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args().relative_to"),"."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelconfigured_target"},"label.configured","_","target"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def label.configured_target() -> configured_target_label\n")),(0,r.mdx)("p",null,"Returns the underlying configured target label, dropping the sub target"),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelname"},"label.name"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.name: str\n")),(0,r.mdx)("p",null,"For the label ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905)")," this gives back ",(0,r.mdx)("inlineCode",{parentName:"p"},"world")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelpackage"},"label.package"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.package: str\n")),(0,r.mdx)("p",null,"For the label ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905)")," this gives back ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2/hello")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelpath"},"label.path"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.path: label_relative_path\n")),(0,r.mdx)("p",null,"For the label ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905)")," this gives back ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode/buck2/hello")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelproject_root"},"label.project","_","root"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.project_root: project_root\n")),(0,r.mdx)("p",null,"Obtain a reference to the project's root. This can be used as if it were an artifact in places that expect one, such as ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args().relative_to"),"."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelraw_target"},"label.raw","_","target"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def label.raw_target() -> target_label\n")),(0,r.mdx)("p",null,"For the label ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905)")," this returns the unconfigured underlying target label (",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world"),")"),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelsub_target"},"label.sub","_","target"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.sub_target: None | list[str]\n")))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1f32ca52.a36a6d0a.js b/assets/js/1f32ca52.a36a6d0a.js new file mode 100644 index 0000000000000..3c67ec4ece039 --- /dev/null +++ b/assets/js/1f32ca52.a36a6d0a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9610],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>l,MDXProvider:()=>m,mdx:()=>b,useMDXComponents:()=>s,withMDXComponents:()=>p});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},c.apply(this,arguments)}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),p=function(e){return function(t){var r=s(t.components);return n.createElement(e,c({},t,{components:r}))}},s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},m=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},f="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,c=e.originalType,a=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=s(r),m=o,f=p["".concat(a,".").concat(m)]||p[m]||y[m]||c;return r?n.createElement(f,i(i({ref:t},l),{},{components:r})):n.createElement(f,i({ref:t},l))}));function b(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var c=r.length,a=new Array(c);a[0]=d;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[f]="string"==typeof e?e:o,a[1]=i;for(var l=2;l<c;l++)a[l]=r[l];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},44407:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>s,frontMatter:()=>c,metadata:()=>i,toc:()=>l});var n=r(87462),o=(r(67294),r(3905));const c={id:"buck2_telemetry",title:"Buck2 Telemetry"},a=void 0,i={unversionedId:"developers/architecture/buck2_telemetry",id:"developers/architecture/buck2_telemetry",title:"Buck2 Telemetry",description:"\ud83d\udea7\xa0\xa0\xa0THIS PAGE IS UNDER CONSTRUCTION",source:"@site/../docs/developers/architecture/buck2_telemetry.md",sourceDirName:"developers/architecture",slug:"/developers/architecture/buck2_telemetry",permalink:"/docs/developers/architecture/buck2_telemetry",draft:!1,tags:[],version:"current",frontMatter:{id:"buck2_telemetry",title:"Buck2 Telemetry"}},u={},l=[],p={toc:l};function s(e){let{components:t,...r}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("admonition",{type:"note"},(0,o.mdx)("p",{parentName:"admonition"},"\ud83d\udea7\xa0\xa0\xa0THIS PAGE IS UNDER CONSTRUCTION")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1f61cb20.18dc8880.js b/assets/js/1f61cb20.18dc8880.js new file mode 100644 index 0000000000000..c2a9773bc4826 --- /dev/null +++ b/assets/js/1f61cb20.18dc8880.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7728],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>f,useMDXComponents:()=>m,withMDXComponents:()=>s});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(){return d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},d.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},d=Object.keys(e);for(a=0;a<d.length;a++)n=d[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(e);for(a=0;a<d.length;a++)n=d[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),s=function(e){return function(t){var n=m(t.components);return a.createElement(e,d({},t,{components:n}))}},m=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=m(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,d=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),s=m(n),p=r,u=s["".concat(o,".").concat(p)]||s[p]||g[p]||d;return n?a.createElement(u,i(i({ref:t},c),{},{components:n})):a.createElement(u,i({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var d=n.length,o=new Array(d);o[0]=h;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[u]="string"==typeof e?e:r,o[1]=i;for(var c=2;c<d;c++)o[c]=n[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}h.displayName="MDXCreateElement"},8865:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>m,frontMatter:()=>d,metadata:()=>i,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const d={id:"cmd_args"},o="cmd_args type",i={unversionedId:"api/build/cmd_args",id:"api/build/cmd_args",title:"cmd_args type",description:"The cmdargs type is created by cmdargs() and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value. All these methods operate mutably on cmd and return that value too.",source:"@site/../docs/api/build/cmd_args.generated.md",sourceDirName:"api/build",slug:"/api/build/cmd_args",permalink:"/docs/api/build/cmd_args",draft:!1,tags:[],version:"current",frontMatter:{id:"cmd_args"},sidebar:"apiSidebar",previous:{title:"buck_regex type",permalink:"/docs/api/build/buck_regex"},next:{title:"configured_target_label type",permalink:"/docs/api/build/configured_target_label"}},l={},c=[{value:"cmd_args.add",id:"cmd_argsadd",level:2},{value:"cmd_args.copy",id:"cmd_argscopy",level:2},{value:"cmd_args.inputs",id:"cmd_argsinputs",level:2},{value:"cmd_args.outputs",id:"cmd_argsoutputs",level:2},{value:"cmd_args.relative_to",id:"cmd_argsrelative_to",level:2}],s={toc:c};function m(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"cmd_args-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"cmd_args")," type"),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args")," type is created by ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args()")," and is consumed by ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions.run"),". The type is a mutable collection of strings and ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact")," values. In general, command lines, artifacts, strings, ",(0,r.mdx)("inlineCode",{parentName:"p"},"RunInfo")," and lists thereof can be added to or used to construct a ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args")," value. All these methods operate mutably on ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd")," and return that value too."),(0,r.mdx)("h2",{id:"cmd_argsadd"},"cmd","_","args.add"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def cmd_args.add(*args) -> cmd_args\n")),(0,r.mdx)("p",null,"A list of arguments to be added to the command line, which may including ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args"),", artifacts, strings, ",(0,r.mdx)("inlineCode",{parentName:"p"},"RunInfo")," or lists thereof. Note that this operation mutates the input ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args"),"."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"cmd_argscopy"},"cmd","_","args.copy"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def cmd_args.copy() -> cmd_args\n")),(0,r.mdx)("p",null,"Returns a copy of the ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args")," such that any modifications to the original or the returned value will not impact each other. Note that this is a shallow copy, so any inner ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args")," can still be modified."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"cmd_argsinputs"},"cmd","_","args.inputs"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"cmd_args.inputs: command_line_inputs\n")),(0,r.mdx)("p",null,"Collect all the inputs (including hidden) referenced by this command line. The output can be compared for equality and have its ",(0,r.mdx)("inlineCode",{parentName:"p"},"len")," requested to see whether there are any inputs, but is otherwise mostly opaque."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"cmd_argsoutputs"},"cmd","_","args.outputs"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"cmd_args.outputs: list[output_artifact]\n")),(0,r.mdx)("p",null,"Collect all the outputs (including hidden) referenced by this command line."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"cmd_argsrelative_to"},"cmd","_","args.relative","_","to"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def cmd_args.relative_to(\n directory: artifact | cell_root | project_root,\n /,\n *,\n parent: int = _\n) -> cmd_args\n")),(0,r.mdx)("p",null,"Make all artifact paths relative to a given location. Typically used when the command you are running changes directory."),(0,r.mdx)("p",null,"By default, the paths are relative to the artifacts themselves (equivalent to\n",(0,r.mdx)("inlineCode",{parentName:"p"},"parent = 0"),"). Use ",(0,r.mdx)("inlineCode",{parentName:"p"},"parent")," to make the paths relative to an ancestor directory.\nFor example ",(0,r.mdx)("inlineCode",{parentName:"p"},"parent = 1")," would make all paths relative to the containing dirs\nof any artifacts in the ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args"),"."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'dir = symlinked_dir(...)\nscript = [\n cmd_args(cmd_args(dir, format = "cd {}"),\n original_script.relative_to(dir)\n]\n')))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1f8f7044.c88bde41.js b/assets/js/1f8f7044.c88bde41.js new file mode 100644 index 0000000000000..52ac4eb1efdfa --- /dev/null +++ b/assets/js/1f8f7044.c88bde41.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1970],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>m,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>u});var o=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},a.apply(this,arguments)}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,o,r=function(e,n){if(null==e)return{};var t,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var c=o.createContext({}),u=function(e){return function(n){var t=d(n.components);return o.createElement(e,a({},n,{components:t}))}},d=function(e){var n=o.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},m=function(e){var n=d(e.components);return o.createElement(c.Provider,{value:n},e.children)},f="mdxType",p={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},h=o.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=d(t),m=r,f=u["".concat(s,".").concat(m)]||u[m]||p[m]||a;return t?o.createElement(f,i(i({ref:n},c),{},{components:t})):o.createElement(f,i({ref:n},c))}));function b(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,s=new Array(a);s[0]=h;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i[f]="string"==typeof e?e:r,s[1]=i;for(var c=2;c<a;c++)s[c]=t[c];return o.createElement.apply(null,s)}return o.createElement.apply(null,t)}h.displayName="MDXCreateElement"},39992:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var o=t(87462),r=(t(67294),t(3905));const a={id:"clean",title:"clean"},s=void 0,i={unversionedId:"users/commands/clean",id:"users/commands/clean",title:"clean",description:"These are the flags/commands under buck2 clean and their --help output:",source:"@site/../docs/users/commands/clean.generated.md",sourceDirName:"users/commands",slug:"/users/commands/clean",permalink:"/docs/users/commands/clean",draft:!1,tags:[],version:"current",frontMatter:{id:"clean",title:"clean"},sidebar:"mainSidebar",previous:{title:"bxl",permalink:"/docs/users/commands/bxl"},next:{title:"completion",permalink:"/docs/users/commands/completion"}},l={},c=[{value:"buck clean",id:"buck-clean",level:2}],u={toc:c};function d(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,o.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"These are the flags/commands under ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 clean")," and their ",(0,r.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,r.mdx)("h2",{id:"buck-clean"},"buck clean"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"},"Delete generated files and caches.\n\nThe command also kills the buck2 daemon.\n\nUsage: buck2-release clean [OPTIONS]\n\nOptions:\n --dry-run\n Performs a dry-run and prints the paths that would be removed.\n\n --stale [<DURATION>]\n Delete artifacts from buck-out older than 1 week or older than\n the specified duration, without killing the daemon\n\n --tracked-only\n Only considers tracked artifacts for cleanup.\n \n `buck-out` can contain untracked artifacts for different reasons: - Outputs from aborted\n actions - State getting deleted (e.g., new buckversion that changes the on-disk state\n format) - Writing to `buck-out` without being expected by Buck\n\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/20829a8d.af7ed047.js b/assets/js/20829a8d.af7ed047.js new file mode 100644 index 0000000000000..213c9dc3770df --- /dev/null +++ b/assets/js/20829a8d.af7ed047.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3665],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>l,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>d,withMDXComponents:()=>o});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},i.apply(this,arguments)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function m(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=a.createContext({}),o=function(e){return function(t){var r=d(t.components);return a.createElement(e,i({},t,{components:r}))}},d=function(e){var t=a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},u=function(e){var t=d(e.components);return a.createElement(l.Provider,{value:t},e.children)},x="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,l=m(e,["components","mdxType","originalType","parentName"]),o=d(r),u=n,x=o["".concat(s,".").concat(u)]||o[u]||g[u]||i;return r?a.createElement(x,p(p({ref:t},l),{},{components:r})):a.createElement(x,p({ref:t},l))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,s=new Array(i);s[0]=h;var p={};for(var m in t)hasOwnProperty.call(t,m)&&(p[m]=t[m]);p.originalType=e,p[x]="string"==typeof e?e:n,s[1]=p;for(var l=2;l<i;l++)s[l]=r[l];return a.createElement.apply(null,s)}return a.createElement.apply(null,r)}h.displayName="MDXCreateElement"},81618:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>m,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var a=r(87462),n=(r(67294),r(3905));const i={id:"cquery",title:"Cquery Environment"},s="Cquery Environment",p={unversionedId:"users/query/cquery",id:"users/query/cquery",title:"Cquery Environment",description:"Query Value Types",source:"@site/../docs/users/query/cquery.generated.md",sourceDirName:"users/query",slug:"/users/query/cquery",permalink:"/docs/users/query/cquery",draft:!1,tags:[],version:"current",frontMatter:{id:"cquery",title:"Cquery Environment"},sidebar:"mainSidebar",previous:{title:"Aquery Environment",permalink:"/docs/users/query/aquery"},next:{title:"Uquery Environment",permalink:"/docs/users/query/uquery"}},m={},l=[{value:"Query Value Types",id:"query-value-types",level:2},{value:"Common query functions",id:"common-query-functions",level:2},{value:"allpaths(from: <em>target expression</em>, to: <em>target expression</em>)",id:"allpathsfrom-target-expression-to-target-expression",level:3},{value:"somepath(from: <em>target expression</em>, to: <em>target expression</em>)",id:"somepathfrom-target-expression-to-target-expression",level:3},{value:"attrfilter(attr: <em>string</em>, value: <em>string</em>, targets: <em>target expression</em>)",id:"attrfilterattr-string-value-string-targets-target-expression",level:3},{value:"nattrfilter(attr: <em>string</em>, value: <em>string</em>, targets: <em>target expression</em>)",id:"nattrfilterattr-string-value-string-targets-target-expression",level:3},{value:"attrregexfilter(attr: <em>string</em>, value: <em>string</em>, targets: <em>target expression</em>)",id:"attrregexfilterattr-string-value-string-targets-target-expression",level:3},{value:"buildfile(targets: <em>target expression</em>)",id:"buildfiletargets-target-expression",level:3},{value:"rbuildfiles(universe: <em>file expression</em>, argset: <em>file expression</em>)",id:"rbuildfilesuniverse-file-expression-argset-file-expression",level:3},{value:"allbuildfiles(universe: <em>target expression</em>)",id:"allbuildfilesuniverse-target-expression",level:3},{value:"deps(targets: <em>target expression</em>, depth: ?<em>integer</em>, captured_expr: ?<em>query expression</em>)",id:"depstargets-target-expression-depth-integer-captured_expr-query-expression",level:3},{value:"filter(regex: <em>string</em>, set: <em>target or file expression</em>)",id:"filterregex-string-set-target-or-file-expression",level:3},{value:"inputs(targets: <em>target expression</em>)",id:"inputstargets-target-expression",level:3},{value:"kind(regex: <em>string</em>, targets: <em>target expression</em>)",id:"kindregex-string-targets-target-expression",level:3},{value:"labels(attr: <em>string</em>, targets: <em>target expression</em>)",id:"labelsattr-string-targets-target-expression",level:3},{value:"owner(files: <em>file expression</em>)",id:"ownerfiles-file-expression",level:3},{value:"targets_in_buildfile(files: <em>file expression</em>)",id:"targets_in_buildfilefiles-file-expression",level:3},{value:"rdeps(universe: <em>target expression</em>, targets: <em>target expression</em>, depth: ?<em>integer</em>)",id:"rdepsuniverse-target-expression-targets-target-expression-depth-integer",level:3},{value:"testsof(targets: <em>target expression</em>)",id:"testsoftargets-target-expression",level:3},{value:"first_order_deps()",id:"first_order_deps",level:3},{value:"target_deps()",id:"target_deps",level:3},{value:"exec_deps()",id:"exec_deps",level:3},{value:"configuration_deps()",id:"configuration_deps",level:3},{value:"toolchain_deps()",id:"toolchain_deps",level:3},{value:"intersect(left: <em>any value</em>, right: <em>any value</em>)",id:"intersectleft-any-value-right-any-value",level:3},{value:"except(left: <em>any value</em>, right: <em>any value</em>)",id:"exceptleft-any-value-right-any-value",level:3},{value:"union(left: <em>any value</em>, right: <em>any value</em>)",id:"unionleft-any-value-right-any-value",level:3}],o={toc:l};function d(e){let{components:t,...r}=e;return(0,n.mdx)("wrapper",(0,a.Z)({},o,r,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"cquery-environment"},"Cquery Environment"),(0,n.mdx)("h2",{id:"query-value-types"},"Query Value Types"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"string"),": "),(0,n.mdx)("p",{parentName:"li"},"For example, ",(0,n.mdx)("inlineCode",{parentName:"p"},"non_quoted_string")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'"quoted string"'),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"integer"),": "),(0,n.mdx)("p",{parentName:"li"},"Must be positive and fit in ",(0,n.mdx)("inlineCode",{parentName:"p"},"u32"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"target expression"),": either a literal or the return value of a function"),(0,n.mdx)("p",{parentName:"li"},"This could be a literal build target (",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//some:target"'),") or a pattern (",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//package:"')," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//recursive/..."'),") or the result of another function that returns a target expression. For queries in CLI commands (like ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query"),"), literals can be relative to the current working dir (like ",(0,n.mdx)("inlineCode",{parentName:"p"},"some:target")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"..."),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"file expression"),": either a literal or the return value of a function"),(0,n.mdx)("p",{parentName:"li"},"This could be a file literal like ",(0,n.mdx)("inlineCode",{parentName:"p"},"path/to/a.file")," or the return value of a function that returns files (for example, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"buildfile()")," function).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"target or file expression"),": "),(0,n.mdx)("p",{parentName:"li"},"Either a ",(0,n.mdx)("em",{parentName:"p"},"file expression")," or ",(0,n.mdx)("em",{parentName:"p"},"target expression"),". This could be a literal like ",(0,n.mdx)("inlineCode",{parentName:"p"},"path/to/a.file")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//some:target"'),",\nor the return value of a function that returns files or targets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"query expression"),": a valid query expression, evaluated in a function-specific context"),(0,n.mdx)("p",{parentName:"li"},"This is used for functions that capture an expression and evaluate it in another context. For example, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps()")," function can accept an expression that it uses to find the children of a node to customize the deps traversal.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"any value"),": "),(0,n.mdx)("p",{parentName:"li"},"Any query value."))),(0,n.mdx)("h2",{id:"common-query-functions"},"Common query functions"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"allpaths(from: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): Computes all dependency paths.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"somepath(from: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"attrfilter(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", value: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): The ",(0,n.mdx)("inlineCode",{parentName:"p"},"attrfilter(attribute, value, targets)")," operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"nattrfilter(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", value: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"attrregexfilter(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", value: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"buildfile(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"rbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),", argset: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"allbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"deps(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"p"},"integer"),", captured_expr: ?",(0,n.mdx)("em",{parentName:"p"},"query expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"filter(regex: ",(0,n.mdx)("em",{parentName:"p"},"string"),", set: ",(0,n.mdx)("em",{parentName:"p"},"target or file expression"),"): Filter using regex partial match.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"inputs(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"kind(regex: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): The ",(0,n.mdx)("inlineCode",{parentName:"p"},"kind(regex, targets)")," operator evaluates the specified target expression, ",(0,n.mdx)("inlineCode",{parentName:"p"},"targets"),", and returns the targets where the rule type matches the specified ",(0,n.mdx)("inlineCode",{parentName:"p"},"regex"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"labels(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): This function is not implemented, and won't be, because buck2 query core does not support")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"owner(files: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),"): The ",(0,n.mdx)("inlineCode",{parentName:"p"},"owner(inputfile)")," operator returns the targets that own the specified inputfile.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"targets_in_buildfile(files: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"rdeps(universe: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"p"},"integer"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"testsof(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"first_order_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"target_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"exec_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"configuration_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"toolchain_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"intersect(left: ",(0,n.mdx)("em",{parentName:"p"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"p"},"any value"),"): Computes the set intersection over the given arguments.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"except(left: ",(0,n.mdx)("em",{parentName:"p"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"p"},"any value"),"): Computes the arguments that are in argument A but not in argument B.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"union(left: ",(0,n.mdx)("em",{parentName:"p"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"p"},"any value"),"): Computes the set union over the given arguments."))),(0,n.mdx)("h3",{id:"allpathsfrom-target-expression-to-target-expression"},"allpaths(from: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"Computes all dependency paths."),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"allpaths(from, to)")," function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value of\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query \"allpaths('//foo:bar', '//foo/bar/lib:baz')\""),"\nis the dependency graph rooted at the single target node ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),", that includes all target nodes that depend (transitively) on ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo/bar/lib:baz"),"."),(0,n.mdx)("p",null,"The two arguments to ",(0,n.mdx)("inlineCode",{parentName:"p"},"allpaths()")," can themselves be expressions. For example, the command:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query \"allpaths(kind(java_library, '//...'), '//foo:bar')\""),"\nshows all the paths between any java_library in the repository and the target ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),"."),(0,n.mdx)("p",null,"We recommend using ",(0,n.mdx)("inlineCode",{parentName:"p"},"allpaths()")," with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"--output-format=dot")," parameter to generate a graphviz file that can then be rendered as an image. For example:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-ignore"},"$ buck query \"allpaths('//foo:bar', '//foo/bar/lib:baz')\" --output-format=dot --output-file=result.dot\n$ dot -Tpng result.dot -o image.png\n")),(0,n.mdx)("p",null,"Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs."),(0,n.mdx)("h3",{id:"somepathfrom-target-expression-to-target-expression"},"somepath(from: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"attrfilterattr-string-value-string-targets-target-expression"},"attrfilter(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", value: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"attrfilter(attribute, value, targets)")," operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value."),(0,n.mdx)("p",null,"In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps."),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},"If the attribute is a single value, say ",(0,n.mdx)("inlineCode",{parentName:"li"},"name"),", it is compared to the specified value, and the target is returned if they match."),(0,n.mdx)("li",{parentName:"ul"},"If the attribute is a list, the target is returned if that list contains the specified value."),(0,n.mdx)("li",{parentName:"ul"},"If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary.")),(0,n.mdx)("p",null,"For example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query \"attrfilter(deps, '//foo:bar', '//...')\"")," returns the build targets in the repository that depend on ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),", or more precisely: those build targets that include ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," in their deps argument list."),(0,n.mdx)("h3",{id:"nattrfilterattr-string-value-string-targets-target-expression"},"nattrfilter(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", value: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"attrregexfilterattr-string-value-string-targets-target-expression"},"attrregexfilter(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", value: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"buildfiletargets-target-expression"},"buildfile(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"rbuildfilesuniverse-file-expression-argset-file-expression"},"rbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),", argset: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),")"),(0,n.mdx)("h3",{id:"allbuildfilesuniverse-target-expression"},"allbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"depstargets-target-expression-depth-integer-captured_expr-query-expression"},"deps(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"h3"},"integer"),", captured_expr: ?",(0,n.mdx)("em",{parentName:"h3"},"query expression"),")"),(0,n.mdx)("h3",{id:"filterregex-string-set-target-or-file-expression"},"filter(regex: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", set: ",(0,n.mdx)("em",{parentName:"h3"},"target or file expression"),")"),(0,n.mdx)("p",null,"Filter using regex partial match."),(0,n.mdx)("p",null,"Target are matched against their fully qualified name.\nFiles are matched against their repo path like ",(0,n.mdx)("inlineCode",{parentName:"p"},"repo//foo/bar/baz.py"),"."),(0,n.mdx)("h3",{id:"inputstargets-target-expression"},"inputs(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"kindregex-string-targets-target-expression"},"kind(regex: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"kind(regex, targets)")," operator evaluates the specified target expression, ",(0,n.mdx)("inlineCode",{parentName:"p"},"targets"),", and returns the targets where the rule type matches the specified ",(0,n.mdx)("inlineCode",{parentName:"p"},"regex"),"."),(0,n.mdx)("p",null,"The specified pattern can be a regular expression. For example,\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query \"kind('java.*', deps('//foo:bar'))\"")," returns the targets that match the rule type ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.*")," (",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_binary"),", etc.) in the transitive dependencies of ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),"."),(0,n.mdx)("h3",{id:"labelsattr-string-targets-target-expression"},"labels(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"This function is not implemented, and won't be, because buck2 query core does not support"),(0,n.mdx)("p",null,"returning both files and targets from a single function."),(0,n.mdx)("p",null,"In buck1 it returns targets and files referenced by the given attribute\nin the given targets."),(0,n.mdx)("p",null,"Some discussion in ",(0,n.mdx)("a",{parentName:"p",href:"https://internalfb.com/T126638795"},"T126638795"),"."),(0,n.mdx)("h3",{id:"ownerfiles-file-expression"},"owner(files: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),")"),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"owner(inputfile)")," operator returns the targets that own the specified inputfile."),(0,n.mdx)("p",null,"In this context, own means that the target has the specified file as an input. You could consider the ",(0,n.mdx)("inlineCode",{parentName:"p"},"owner()")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"inputs()")," operators to be inverses of each other."),(0,n.mdx)("p",null,"Example: ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query \"owner('examples/1.txt')\"")," returns the targets that owns the file ",(0,n.mdx)("inlineCode",{parentName:"p"},"examples/1.txt"),", which could be a value such as ",(0,n.mdx)("inlineCode",{parentName:"p"},"//examples:one"),"."),(0,n.mdx)("p",null,"It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets."),(0,n.mdx)("p",null,"If no owner for the file is found, owner() outputs the message: ",(0,n.mdx)("inlineCode",{parentName:"p"},"No owner was found for <file>")),(0,n.mdx)("h3",{id:"targets_in_buildfilefiles-file-expression"},"targets_in_buildfile(files: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),")"),(0,n.mdx)("h3",{id:"rdepsuniverse-target-expression-targets-target-expression-depth-integer"},"rdeps(universe: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"h3"},"integer"),")"),(0,n.mdx)("h3",{id:"testsoftargets-target-expression"},"testsof(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"first_order_deps"},"first_order_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps(<targets>, 1)"),"."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 cquery \"deps('//foo:bar', 1, first_order_deps())\"`` is equivalent to "),"buck2 cquery \"deps('//foo:bar', 1)\"`"),(0,n.mdx)("h3",{id:"target_deps"},"target_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies)\nlike compiler used as a part of the build."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, target_deps())\"``"),(0,n.mdx)("h3",{id:"exec_deps"},"exec_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, exec_deps())\"``"),(0,n.mdx)("h3",{id:"configuration_deps"},"configuration_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for configuration dependencies (that appear as conditions in selects)."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, configuration_deps())\"``"),(0,n.mdx)("h3",{id:"toolchain_deps"},"toolchain_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for toolchain dependencies."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, toolchain_deps())\"``"),(0,n.mdx)("h3",{id:"intersectleft-any-value-right-any-value"},"intersect(left: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),")"),(0,n.mdx)("p",null,"Computes the set intersection over the given arguments."),(0,n.mdx)("p",null,"Can be used with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"^")," symbol. This operator is commutative."),(0,n.mdx)("p",null,"The parser treats this operator as left-associative and of equal precedence, so we recommend\nthat you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression\nresolves to the value of the expression it encloses."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') intersect deps('//baz:lib')\"")," is the same as\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') ^ deps('//baz:lib')\""),"\nBoth return the targets that appear in the transitive closure of ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"//baz:lib"),"."),(0,n.mdx)("h3",{id:"exceptleft-any-value-right-any-value"},"except(left: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),")"),(0,n.mdx)("p",null,"Computes the arguments that are in argument A but not in argument B."),(0,n.mdx)("p",null,"Can be used with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"-")," symbol. This operator is NOT commutative."),(0,n.mdx)("p",null,"The parser treats this operator as left-associative and of equal precedence, so we recommend\nthat you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression\nresolves to the value of the expression it encloses."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') except deps('//baz:lib')\"")," is the same as\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') - deps('//baz:lib')\""),"\nBoth return the targets that ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," depends on and that ",(0,n.mdx)("inlineCode",{parentName:"p"},"//baz:lib")," does NOT depend on."),(0,n.mdx)("h3",{id:"unionleft-any-value-right-any-value"},"union(left: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),")"),(0,n.mdx)("p",null,"Computes the set union over the given arguments."),(0,n.mdx)("p",null,"Can be used with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"+")," symbol. This operator is commutative."),(0,n.mdx)("p",null,"The parser treats all this operator as left-associative and of equal precedence, so we recommend\nthat you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression\nresolves to the value of the expression it encloses."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') union deps('//baz:lib')\"")," is the same as\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') + deps('//baz:lib')\""),"\nBoth return the aggregation of the targets that ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"//baz:lib")," depend on."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/233d3b94.5d2ed475.js b/assets/js/233d3b94.5d2ed475.js new file mode 100644 index 0000000000000..6cd8cbc879003 --- /dev/null +++ b/assets/js/233d3b94.5d2ed475.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4733],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>c,MDXProvider:()=>d,mdx:()=>v,useMDXComponents:()=>s,withMDXComponents:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},l.apply(this,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),u=function(e){return function(t){var r=s(t.components);return a.createElement(e,l({},t,{components:r}))}},s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},b="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=s(r),d=n,b=u["".concat(i,".").concat(d)]||u[d]||f[d]||l;return r?a.createElement(b,o(o({ref:t},c),{},{components:r})):a.createElement(b,o({ref:t},c))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[b]="string"==typeof e?e:n,i[1]=o;for(var c=2;c<l;c++)i[c]=r[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}m.displayName="MDXCreateElement"},17940:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"label_relative_path"},i="label_relative_path type",o={unversionedId:"api/bxl/label_relative_path",id:"api/bxl/label_relative_path",title:"label_relative_path type",description:"label\\relative\\path.add",source:"@site/../docs/api/bxl/label_relative_path.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/label_relative_path",permalink:"/docs/api/bxl/label_relative_path",draft:!1,tags:[],version:"current",frontMatter:{id:"label_relative_path"},sidebar:"apiSidebar",previous:{title:"label type",permalink:"/docs/api/bxl/label"},next:{title:"lazy_attrs type",permalink:"/docs/api/bxl/lazy_attrs"}},p={},c=[{value:"label_relative_path.add",id:"label_relative_pathadd",level:2}],u={toc:c};function s(e){let{components:t,...r}=e;return(0,n.mdx)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"label_relative_path-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"label_relative_path")," type"),(0,n.mdx)("h2",{id:"label_relative_pathadd"},"label","_","relative","_","path.add"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def label_relative_path.add(arg: str) -> label_relative_path\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/241c63ce.108ce215.js b/assets/js/241c63ce.108ce215.js new file mode 100644 index 0000000000000..caa8c4e726e59 --- /dev/null +++ b/assets/js/241c63ce.108ce215.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4346],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>u,MDXProvider:()=>g,mdx:()=>f,useMDXComponents:()=>c,withMDXComponents:()=>p});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i.apply(this,arguments)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),p=function(e){return function(t){var r=c(t.components);return n.createElement(e,i({},t,{components:r}))}},c=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},g=function(e){var t=c(e.components);return n.createElement(u.Provider,{value:t},e.children)},d="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},v=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=c(r),g=a,d=p["".concat(o,".").concat(g)]||p[g]||b[g]||i;return r?n.createElement(d,l(l({ref:t},u),{},{components:r})):n.createElement(d,l({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=v;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:a,o[1]=l;for(var u=2;u<i;u++)o[u]=r[u];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}v.displayName="MDXCreateElement"},47891:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const i={id:"bxl.TargetUniverse"},o="bxl.TargetUniverse type",l={unversionedId:"api/bxl/bxl.TargetUniverse",id:"api/bxl/bxl.TargetUniverse",title:"bxl.TargetUniverse type",description:"Target universe in BXL. Used for looking up valid configured targets to use in cquery. This is not needed for uquery.",source:"@site/../docs/api/bxl/bxl.TargetUniverse.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.TargetUniverse",permalink:"/docs/api/bxl/bxl.TargetUniverse",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.TargetUniverse"},sidebar:"apiSidebar",previous:{title:"bxl.OutputStream type",permalink:"/docs/api/bxl/bxl.OutputStream"},next:{title:"bxl.UnconfiguredTargetNode type",permalink:"/docs/api/bxl/bxl.UnconfiguredTargetNode"}},s={},u=[{value:"bxl.TargetUniverse.lookup",id:"bxltargetuniverselookup",level:2},{value:"bxl.TargetUniverse.target_set",id:"bxltargetuniversetarget_set",level:2},{value:"bxl.TargetUniverse.universe_target_set",id:"bxltargetuniverseuniverse_target_set",level:2}],p={toc:u};function c(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"bxltargetuniverse-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"bxl.TargetUniverse")," type"),(0,a.mdx)("p",null,"Target universe in BXL. Used for looking up valid configured targets to use in cquery. This is not needed for uquery."),(0,a.mdx)("h2",{id:"bxltargetuniverselookup"},"bxl.TargetUniverse.lookup"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.TargetUniverse.lookup(\n targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> target_set\n")),(0,a.mdx)("p",null,"Looks up valid configured target nodes within the universe. The targets passed in are either string literals, unconfigured target nodes, or unconfigured target labels."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxltargetuniversetarget_set"},"bxl.TargetUniverse.target","_","set"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.TargetUniverse.target_set() -> target_set\n")),(0,a.mdx)("p",null,"The target set of the nodes used to construct the target universe."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxltargetuniverseuniverse_target_set"},"bxl.TargetUniverse.universe","_","target","_","set"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.TargetUniverse.universe_target_set() -> target_set\n")),(0,a.mdx)("p",null,"The target set of the entire target universe."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2572.30342814.js b/assets/js/2572.30342814.js new file mode 100644 index 0000000000000..3c25dfebb1976 --- /dev/null +++ b/assets/js/2572.30342814.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2572],{32572:(e,s,b)=>{b.r(s)}}]); \ No newline at end of file diff --git a/assets/js/265f0f39.3279bf44.js b/assets/js/265f0f39.3279bf44.js new file mode 100644 index 0000000000000..7bb1dda96daa4 --- /dev/null +++ b/assets/js/265f0f39.3279bf44.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5319],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>o,MDXProvider:()=>x,mdx:()=>f,useMDXComponents:()=>m,withMDXComponents:()=>s});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},i.apply(this,arguments)}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function d(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=a.createContext({}),s=function(e){return function(n){var t=m(n.components);return a.createElement(e,i({},n,{components:t}))}},m=function(e){var n=a.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):d(d({},n),e)),t},x=function(e){var n=m(e.components);return a.createElement(o.Provider,{value:n},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},h=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,o=p(e,["components","mdxType","originalType","parentName"]),s=m(t),x=r,u=s["".concat(l,".").concat(x)]||s[x]||c[x]||i;return t?a.createElement(u,d(d({ref:n},o),{},{components:t})):a.createElement(u,d({ref:n},o))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,l=new Array(i);l[0]=h;var d={};for(var p in n)hasOwnProperty.call(n,p)&&(d[p]=n[p]);d.originalType=e,d[u]="string"==typeof e?e:r,l[1]=d;for(var o=2;o<i;o++)l[o]=t[o];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}h.displayName="MDXCreateElement"},71840:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>d,toc:()=>o});var a=t(87462),r=(t(67294),t(3905));const i={id:"list"},l="list type",d={unversionedId:"api/starlark/list",id:"api/starlark/list",title:"list type",description:"list.append",source:"@site/../docs/api/starlark/list.generated.md",sourceDirName:"api/starlark",slug:"/api/starlark/list",permalink:"/docs/api/starlark/list",draft:!1,tags:[],version:"current",frontMatter:{id:"list"},sidebar:"apiSidebar",previous:{title:"dict type",permalink:"/docs/api/starlark/dict"},next:{title:"string type",permalink:"/docs/api/starlark/string"}},p={},o=[{value:"list.append",id:"listappend",level:2},{value:"list.clear",id:"listclear",level:2},{value:"list.extend",id:"listextend",level:2},{value:"list.index",id:"listindex",level:2},{value:"list.insert",id:"listinsert",level:2},{value:"list.pop",id:"listpop",level:2},{value:"list.remove",id:"listremove",level:2}],s={toc:o};function m(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"list-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"list")," type"),(0,r.mdx)("h2",{id:"listappend"},"list.append"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def list.append(el, /) -> None\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#list%C2%B7append"},"list.append"),": append an element to a list."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"L.append(x)")," appends ",(0,r.mdx)("inlineCode",{parentName:"p"},"x")," to the list L, and returns ",(0,r.mdx)("inlineCode",{parentName:"p"},"None"),"."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"append")," fails if the list is frozen or has active iterators."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"x = []\nx.append(1)\nx.append(2)\nx.append(3)\nx == [1, 2, 3]\n")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"listclear"},"list.clear"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def list.clear() -> None\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#list%C2%B7clear"},"list.clear"),": clear a list"),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"L.clear()")," removes all the elements of the list L and returns ",(0,r.mdx)("inlineCode",{parentName:"p"},"None"),".\nIt fails if the list is frozen or if there are active iterators."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"x = [1, 2, 3]\nx.clear()\nx == []\n")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"listextend"},"list.extend"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def list.extend(other: typing.Iterable, /) -> None\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#list%C2%B7extend"},"list.extend"),": extend a list with another iterable's content."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"L.extend(x)")," appends the elements of ",(0,r.mdx)("inlineCode",{parentName:"p"},"x"),", which must be iterable, to\nthe list L, and returns ",(0,r.mdx)("inlineCode",{parentName:"p"},"None"),"."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"extend")," fails if ",(0,r.mdx)("inlineCode",{parentName:"p"},"x")," is not iterable, or if the list L is frozen or has\nactive iterators."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = []\nx.extend([1, 2, 3])\nx.extend(["foo"])\nx == [1, 2, 3, "foo"]\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"listindex"},"list.index"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def list.index(\n needle,\n start: None | int = None,\n end: None | int = None,\n /\n) -> int\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#list%C2%B7index"},"list.index"),": get the index of an element in the list."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"L.index(x[, start[, end]])")," finds ",(0,r.mdx)("inlineCode",{parentName:"p"},"x")," within the list L and returns its\nindex."),(0,r.mdx)("p",null,"The optional ",(0,r.mdx)("inlineCode",{parentName:"p"},"start")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"end")," parameters restrict the portion of\nlist L that is inspected. If provided and not ",(0,r.mdx)("inlineCode",{parentName:"p"},"None"),", they must be list\nindices of type ",(0,r.mdx)("inlineCode",{parentName:"p"},"int"),". If an index is negative, ",(0,r.mdx)("inlineCode",{parentName:"p"},"len(L)")," is effectively\nadded to it, then if the index is outside the range ",(0,r.mdx)("inlineCode",{parentName:"p"},"[0:len(L)]"),", the\nnearest value within that range is used; see ",(0,r.mdx)("a",{parentName:"p",href:"#indexing"},"Indexing"),"."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"index")," fails if ",(0,r.mdx)("inlineCode",{parentName:"p"},"x")," is not found in L, or if ",(0,r.mdx)("inlineCode",{parentName:"p"},"start")," or ",(0,r.mdx)("inlineCode",{parentName:"p"},"end"),"\nis not a valid index (",(0,r.mdx)("inlineCode",{parentName:"p"},"int")," or ",(0,r.mdx)("inlineCode",{parentName:"p"},"None"),")."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = ["b", "a", "n", "a", "n", "a"]\nx.index("a") == 1 # bAnana\nx.index("a", 2) == 3 # banAna\nx.index("a", -2) == 5 # bananA\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"listinsert"},"list.insert"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def list.insert(index: int, el, /) -> None\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#list%C2%B7insert"},"list.insert"),": insert an element in a list."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"L.insert(i, x)")," inserts the value ",(0,r.mdx)("inlineCode",{parentName:"p"},"x")," in the list L at index ",(0,r.mdx)("inlineCode",{parentName:"p"},"i"),",\nmoving higher-numbered elements along by one. It returns ",(0,r.mdx)("inlineCode",{parentName:"p"},"None"),"."),(0,r.mdx)("p",null,"As usual, the index ",(0,r.mdx)("inlineCode",{parentName:"p"},"i")," must be an ",(0,r.mdx)("inlineCode",{parentName:"p"},"int"),". If its value is negative,\nthe length of the list is added, then its value is clamped to the\nnearest value in the range ",(0,r.mdx)("inlineCode",{parentName:"p"},"[0:len(L)]")," to yield the effective index."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"insert")," fails if the list is frozen or has active iterators."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = ["b", "c", "e"]\nx.insert(0, "a")\nx.insert(-1, "d")\nx == ["a", "b", "c", "d", "e"]\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"listpop"},"list.pop"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def list.pop(index: int = _, /)\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#list%C2%B7pop"},"list.pop"),": removes and returns the last element of a list."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"L.pop([index])")," removes and returns the last element of the list L, or,\nif the optional index is provided, at that index."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"pop")," fails if the index is negative or not less than the length of\nthe list, of if the list is frozen or has active iterators."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"x = [1, 2, 3]\nx.pop() == 3\nx.pop() == 2\nx == [1]\n")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"listremove"},"list.remove"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def list.remove(needle, /) -> None\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#list%C2%B7remove"},"list.remove"),": remove a value from a list"),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"L.remove(x)")," removes the first occurrence of the value ",(0,r.mdx)("inlineCode",{parentName:"p"},"x")," from the\nlist L, and returns ",(0,r.mdx)("inlineCode",{parentName:"p"},"None"),"."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"remove")," fails if the list does not contain ",(0,r.mdx)("inlineCode",{parentName:"p"},"x"),", is frozen, or has\nactive iterators."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"x = [1, 2, 3, 2]\nx.remove(2)\nx == [1, 3, 2]\nx.remove(2)\nx == [1, 3]\n")),(0,r.mdx)("p",null,"A subsequent call to ",(0,r.mdx)("inlineCode",{parentName:"p"},"x.remove(2)")," would yield an error because the\nelement won't be found."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"x = [1, 2, 3, 2]\nx.remove(2)\nx.remove(2)\nx.remove(2) # error: not found\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2818b939.d47595e4.js b/assets/js/2818b939.d47595e4.js new file mode 100644 index 0000000000000..fb6d30c5439a2 --- /dev/null +++ b/assets/js/2818b939.d47595e4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1545],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>x,useMDXComponents:()=>d,withMDXComponents:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),m=function(e){return function(t){var r=d(t.components);return n.createElement(e,o({},t,{components:r}))}},d=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},p=function(e){var t=d(e.components);return n.createElement(c.Provider,{value:t},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},v=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),m=d(r),p=a,u=m["".concat(l,".").concat(p)]||m[p]||f[p]||o;return r?n.createElement(u,s(s({ref:t},c),{},{components:r})):n.createElement(u,s({ref:t},c))}));function x(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=v;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[u]="string"==typeof e?e:a,l[1]=s;for(var c=2;c<o;c++)l[c]=r[c];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}v.displayName="MDXCreateElement"},64766:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"request_for_comments",title:"Request for Comments"},l=void 0,s={unversionedId:"developers/request_for_comments",id:"developers/request_for_comments",title:"Request for Comments",description:"Following are Request for Comments (RFCs) at specific stages of the lifecycle.",source:"@site/../docs/developers/request_for_comments.md",sourceDirName:"developers",slug:"/developers/request_for_comments",permalink:"/docs/developers/request_for_comments",draft:!1,tags:[],version:"current",frontMatter:{id:"request_for_comments",title:"Request for Comments"},sidebar:"mainSidebar",previous:{title:"Value Representation",permalink:"/docs/developers/starlark/values"},next:{title:"Windows Cheat Sheet",permalink:"/docs/developers/windows_cheat_sheet"}},i={},c=[{value:"Drafts",id:"drafts",level:3},{value:"Accepted",id:"accepted",level:3},{value:"Implemented",id:"implemented",level:3}],m={toc:c};function d(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},m,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"Following are Request for Comments (RFCs) at specific stages of the lifecycle."),(0,a.mdx)("h3",{id:"drafts"},"Drafts"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"/docs/rfcs/drafts/configuration-at-syntax"},"@configuration syntax")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"/docs/rfcs/drafts/bxl-actions"},"bxl actions and Build API")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"/docs/rfcs/drafts/digest-kinds"},"Digest Kinds")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"/docs/rfcs/attr-metadata"},"labels -> metadata attribute"))),(0,a.mdx)("h3",{id:"accepted"},"Accepted"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"/docs/rfcs/configured-alias"},"configured_alias")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"/docs/rfcs/bxl"},"Buck Extension Language (BXL)")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"/docs/rfcs/bxl-analysis"},"Bxl Support for performing analysis on targets")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"/docs/rfcs/package-local-values"},"Package-local values"))),(0,a.mdx)("h3",{id:"implemented"},"Implemented"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"/docs/rfcs/implemented/provider-collection-at"},"ProviderCollection[]"))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/28453fbb.3c7766cc.js b/assets/js/28453fbb.3c7766cc.js new file mode 100644 index 0000000000000..d21ed419c87f3 --- /dev/null +++ b/assets/js/28453fbb.3c7766cc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1522],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>l});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),l=function(e){return function(t){var n=d(t.components);return r.createElement(e,o({},t,{components:n}))}},d=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},m="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),l=d(n),p=a,m=l["".concat(i,".").concat(p)]||l[p]||h[p]||o;return n?r.createElement(m,s(s({ref:t},c),{},{components:n})):r.createElement(m,s({ref:t},c))}));function b(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=f;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[m]="string"==typeof e?e:a,i[1]=s;for(var c=2;c<o;c++)i[c]=n[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},86814:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const o={id:"buck_hanging",title:"Why is Buck2 hanging?"},i=void 0,s={unversionedId:"users/faq/buck_hanging",id:"users/faq/buck_hanging",title:"Why is Buck2 hanging?",description:"Let's look at how to troubleshoot when buck2 hangs, i.e. it just sits there",source:"@site/../docs/users/faq/buck_hanging.md",sourceDirName:"users/faq",slug:"/users/faq/buck_hanging",permalink:"/docs/users/faq/buck_hanging",draft:!1,tags:[],version:"current",frontMatter:{id:"buck_hanging",title:"Why is Buck2 hanging?"},sidebar:"mainSidebar",previous:{title:"Debugging Excess Starlark Peak Memory",permalink:"/docs/users/faq/starlark_peak_mem"},next:{title:"Buck2 Consoles",permalink:"/docs/users/build_observability/interactive_console"}},u={},c=[{value:"How to debug a \u201cbusy\u201d hang",id:"how-to-debug-a-busy-hang",level:2},{value:"Getting a stack trace",id:"getting-a-stack-trace",level:3},{value:"Interpreting the stack trace",id:"interpreting-the-stack-trace",level:3},{value:"How to debug a \u201cdoing nothing\u201d hang",id:"how-to-debug-a-doing-nothing-hang",level:2}],l=e=>function(t){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,a.mdx)("div",t)},d=l("FbInternalOnly"),p=l("OssOnly"),m={toc:c};function h(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,'Let\'s look at how to troubleshoot when buck2 hangs, i.e. it just sits there\nsaying "Jobs: In progress: 0, ..." but it\u2019s not finishing...'),(0,a.mdx)("p",null,"When buck2 hangs, there are two possibilities: It\u2019s either hanging doing\n",(0,a.mdx)("em",{parentName:"p"},"something"),", or it\u2019s hanging doing ",(0,a.mdx)("em",{parentName:"p"},"nothing"),". The first thing you should do is\nfigure out which of those is happening. That\u2019s because the tools to debug either\nof those are ",(0,a.mdx)("em",{parentName:"p"},"very")," different! We will mainly focus on the first in this case."),(0,a.mdx)("p",null,"To figure out which hang you have on your hands, just look at how much CPU buck2\nis using when the hang occurs using your favorite activity monitor (e.g. ",(0,a.mdx)("inlineCode",{parentName:"p"},"top"),",\n",(0,a.mdx)("inlineCode",{parentName:"p"},"htop"),"). Remember that you can find the buck2 daemon\u2019s PID using ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 status"),".\nIdeally, break the utilization down by threads (in top, that\u2019s ",(0,a.mdx)("inlineCode",{parentName:"p"},"top -Hp $PID"),")."),(0,a.mdx)("p",null,"If any thread is using 100% CPU for some period of time, then you probably have\na busy hang (buck2 is doing \u201csomething\u201d) which are usually easier to debug."),(0,a.mdx)("h2",{id:"how-to-debug-a-busy-hang"},"How to debug a \u201cbusy\u201d hang"),(0,a.mdx)("h3",{id:"getting-a-stack-trace"},"Getting a stack trace"),(0,a.mdx)("p",null,"When debugging a busy hang, the first thing to do is to work out what the\nprocess is doing. There are many tools you can use for this (like a profiler),\nbut the absolute simplest one is quickstack: just run ",(0,a.mdx)("inlineCode",{parentName:"p"},"quickstack -p $PID"),", and\nit\u2019ll show you a stack dump for all the threads in your process. If you prefer\n",(0,a.mdx)("inlineCode",{parentName:"p"},"gdb"),", you can use ",(0,a.mdx)("inlineCode",{parentName:"p"},"gdb -p $PID"),", then ",(0,a.mdx)("inlineCode",{parentName:"p"},"thread apply all bt"),", and that\u2019s the\nsame thing."),(0,a.mdx)("p",null,"Note that a stack trace tells you what the process is doing at a point in time,\nso don\u2019t just look at the very last frame and call it the culprit. Instead, look\nat the stack as a whole. If you need more perspective, use a sampling profiler"),(0,a.mdx)(d,{mdxType:"FbInternalOnly"},"(strobeclient run --pid $PID)"),". You can also just grab stack traces at a few points in time and see if they look similar: this is exactly what a sampling profiler does, albeit at a higher frequency.",(0,a.mdx)("h3",{id:"interpreting-the-stack-trace"},"Interpreting the stack trace"),(0,a.mdx)("p",null,"Let's consider an example user report ",(0,a.mdx)(d,{mdxType:"FbInternalOnly"},"( see\n",(0,a.mdx)("a",{parentName:"p",href:"https://fb.workplace.com/groups/buck2users/permalink/3232782826978076/"},"here"),")"),"\nwith the following stack trace:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"#01 0x0000000005b1ec26 in <buck2_build_api::artifact_groups::artifact_group_values::TransitiveSetIterator<buck2_build_api::artifact_groups::artifact_group_values::ArtifactGroupValues, (buck2_build_api::actions::artifact::Artifact, buck2_execute::artifact_value::ArtifactValue), buck2_build_api::artifact_groups::artifact_group_values::ArtifactValueIdentity> as core::iter::traits::iterator::Iterator>::next () from ...\n#02 0x0000000005b23998 in <buck2_build_api::artifact_groups::artifact_group_values::TransitiveSetIterator<buck2_build_api::artifact_groups::artifact_group_values::ArtifactGroupValues, (buck2_build_api::actions::artifact::Artifact, buck2_execute::artifact_value::ArtifactValue), buck2_build_api::artifact_groups::artifact_group_values::ArtifactValueIdentity> as itertools::Itertools>::exactly_one () from ...\n#03 0x00000000059dbb2c in buck2_server_commands::commands::build::create_unhashed_outputs () from ...\n#04 0x0000000005c3c677 in <core::future::from_generator::GenFuture<<buck2_server_commands::commands::build::BuildServerCommand as buck2_server_ctx::template::ServerCommandTemplate>::command::{closure#0}> as core::future::future::Future>::poll () from ...\n#05 0x00000000054c58a3 in <core::future::from_generator::GenFuture<<alloc::boxed::Box<dyn buck2_server_ctx::ctx::ServerCommandContextTrait> as buck2_server_ctx::ctx::ServerCommandDiceContext>::with_dice_ctx<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}::{closure#0}, core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<cli_proto::BuildResponse, anyhow::Error>> + core::marker::Send>>, cli_proto::BuildResponse>::{closure#0}> as core::future::future::Future>::poll () from ...\n#06 0x00000000054c7ae3 in <core::future::from_generator::GenFuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}> as core::future::future::Future>::poll () from ...\n#07 0x0000000005370df8 in <buck2_events::dispatch::Span>::call_in_span::<core::task::poll::Poll<(core::result::Result<cli_proto::BuildResponse, anyhow::Error>, buck2_data::CommandEnd)>, <buck2_events::dispatch::EventDispatcher>::span_async<buck2_data::CommandStart, buck2_data::CommandEnd, core::future::from_generator::GenFuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}>, core::result::Result<cli_proto::BuildResponse, anyhow::Error>>::{closure#0}::{closure#0}::{closure#0}> () from ...\n#08 0x00000000054f7288 in <core::future::from_generator::GenFuture<<cli::commands::daemon::BuckdServerDependenciesImpl as buck2_server::daemon::server::BuckdServerDependencies>::build::{closure#0}> as core::future::future::Future>::poll () from...\n ...\n")),(0,a.mdx)("p",null,"At this point, you can look at the code, and note that there is no span around\nthe output symlink creation function (",(0,a.mdx)("inlineCode",{parentName:"p"},"create_unhashed_outputs"),"). This suggests\nyou\u2019ve found your culprit: there is indeed a buck2 bug and we\u2019re spending ages\ncreating unhashed output symlinks, and since you need a span to get any console\nfeedback, the console says nothing is happening."),(0,a.mdx)("p",null,(0,a.mdx)("strong",{parentName:"p"},"An easy fix"),": In this particular instance, Thomas spotted\n",(0,a.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/commit/d677e41253b73a31aafa1255a532c38992482efd"},"an easy optimization"),"\nwhich resolved the issue. But, of course, that\u2019s not always possible. If the\neasy fix hadn't been available, we\u2019d be at a dead end, so what do we do next?"),(0,a.mdx)("p",null,(0,a.mdx)("strong",{parentName:"p"},"A harder fix"),": If it is not clear what the root-cause is, ",(0,a.mdx)(p,{mdxType:"OssOnly"},"you can\nbisect"),(0,a.mdx)(d,{mdxType:"FbInternalOnly"},(0,a.mdx)("a",{parentName:"p",href:"users/faq/how_to_bisect.fb.md"},"you can bisect")),":\ni.e. do a binary search across commits for the commit that introduced a given\nbreakage/perf degradation. ",(0,a.mdx)(d,{mdxType:"FbInternalOnly"}," Thanks to the fact that we enforce a\nlinear history, bisecting is pretty straightforward in\n",(0,a.mdx)("inlineCode",{parentName:"p"},"fbsource"),".")," Then, once you identify their commit that caused\nbreakage, investigate what caused the issue."),(0,a.mdx)("h2",{id:"how-to-debug-a-doing-nothing-hang"},"How to debug a \u201cdoing nothing\u201d hang"),(0,a.mdx)("p",null,(0,a.mdx)("strong",{parentName:"p"},"Cycle in dependencies"),": If buck2 seems to be doing nothing (e.g. CPU usage is\n0%), one of the reasons could be a cycle in your dependencies, which may cause\nbuck2 to hang (buck2 does implement a form of cycle detection, but it\nunfortunately has false negatives). You can confirm this by running buck1, which\nwill report cycles properly."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/28bf35cf.0f89dfc7.js b/assets/js/28bf35cf.0f89dfc7.js new file mode 100644 index 0000000000000..c774c7da7e2f7 --- /dev/null +++ b/assets/js/28bf35cf.0f89dfc7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3104],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>s,MDXProvider:()=>p,mdx:()=>x,useMDXComponents:()=>m,withMDXComponents:()=>u});var a=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},r.apply(this,arguments)}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function d(e,n){if(null==e)return{};var t,a,i=function(e,n){if(null==e)return{};var t,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var s=a.createContext({}),u=function(e){return function(n){var t=m(n.components);return a.createElement(e,r({},n,{components:t}))}},m=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=m(e.components);return a.createElement(s.Provider,{value:n},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},h=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),u=m(t),p=i,c=u["".concat(o,".").concat(p)]||u[p]||f[p]||r;return t?a.createElement(c,l(l({ref:n},s),{},{components:t})):a.createElement(c,l({ref:n},s))}));function x(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,o=new Array(r);o[0]=h;var l={};for(var d in n)hasOwnProperty.call(n,d)&&(l[d]=n[d]);l.originalType=e,l[c]="string"==typeof e?e:i,o[1]=l;for(var s=2;s<r;s++)o[s]=t[s];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}h.displayName="MDXCreateElement"},45970:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>l,toc:()=>s});var a=t(87462),i=(t(67294),t(3905));const r={id:"dynamic_dependencies",title:"Dynamic Dependencies"},o=void 0,l={unversionedId:"rule_authors/dynamic_dependencies",id:"rule_authors/dynamic_dependencies",title:"Dynamic Dependencies",description:"Dynamic dependencies allow a rule to use information that was not available when",source:"@site/../docs/rule_authors/dynamic_dependencies.md",sourceDirName:"rule_authors",slug:"/rule_authors/dynamic_dependencies",permalink:"/docs/rule_authors/dynamic_dependencies",draft:!1,tags:[],version:"current",frontMatter:{id:"dynamic_dependencies",title:"Dynamic Dependencies"},sidebar:"mainSidebar",previous:{title:"Configuration Transitions",permalink:"/docs/rule_authors/configuration_transitions"},next:{title:"Anonymous Targets",permalink:"/docs/rule_authors/anon_targets"}},d={},s=[{value:"Implementation",id:"implementation",level:2}],u=(m="FbInternalOnly",function(e){return console.warn("Component "+m+" was not imported, exported, or provided by MDXProvider as global scope"),(0,i.mdx)("div",e)});var m;const p={toc:s};function c(e){let{components:n,...t}=e;return(0,i.mdx)("wrapper",(0,a.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)("p",null,"Dynamic dependencies allow a rule to use information that was not available when\nthe rule was first run at analysis time. Dynamic dependencies in Buck2 are\nimplemented using ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output")," and are restricted in their power compared to\nfully generic dynamic dependencies."),(0,i.mdx)("p",null,"A rule for a target is run with the attributes of the target, plus the providers\nof its attribute dependencies, which contain artifacts. Those values (but not\nthe artifact contents) are all available directly and immediately when running\nthe rule. The rule generates providers containing artifacts. Using\n",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),", a rule can read the contents of an artifact to produce new\nartifacts and bind existing artifacts, which were already returned in providers."),(0,i.mdx)("p",null,"Examples of rules requiring dynamic dependencies include:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"Distributed ThinLTO, where the index file says what the dependencies are."),(0,i.mdx)("li",{parentName:"ul"},"OCaml builds, where the dependencies between source files can only be obtained\nfrom running ",(0,i.mdx)("inlineCode",{parentName:"li"},"ocamldeps"),"."),(0,i.mdx)("li",{parentName:"ul"},"Erlang header files, where only a subset of the available headers are\naccessed, which can be determined by reading the source file."),(0,i.mdx)("li",{parentName:"ul"},"Erlang BEAM files, where some subset of BEAM files must be compiled in a given\norder, as they provide features like compiler plugins, but most can be\ncompiled in parallel.")),(0,i.mdx)(u,{mdxType:"FbInternalOnly"},(0,i.mdx)("p",null,"The original design document with discussion is available\n",(0,i.mdx)("a",{parentName:"p",href:"https://docs.google.com/document/d/1K8RgvDMvdDFsLWAu0cehauJstHZaFe-7NeaAqWe4-L4/edit"},"here"),".")),(0,i.mdx)("h2",{id:"implementation"},"Implementation"),(0,i.mdx)("p",null,"Buck2 provides the following function:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"ctx.actions.dynamic_output(dynamic, inputs, outputs, lambda ctx: \u2026)\n")),(0,i.mdx)("p",null,"The arguments are:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic")," - a list of artifacts whose values will be available in the\nfunction. These will be built before the function is run."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"inputs")," - a container of artifacts (",(0,i.mdx)("inlineCode",{parentName:"li"},"cmd_args"),", list of artifacts, and so\non).",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"These inputs must include all the inputs that are referenced by the body of\nthe function argument, apart from those listed in ",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic")," and ",(0,i.mdx)("inlineCode",{parentName:"li"},"outputs"),":\nextra inputs may be passed that are not used."),(0,i.mdx)("li",{parentName:"ul"},"The inputs are used for ",(0,i.mdx)("inlineCode",{parentName:"li"},"buck2 aquery")," functionality, but do not cause\nspeculative building. In fact, these inputs may form a cycle with other\n",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic_output")," actions if they were all required."),(0,i.mdx)("li",{parentName:"ul"},"In the future, it may be possible to not pass all the inputs if the repo is\nset to permissive mode, allowing a more powerful form of dynamic\ndependencies."))),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," - a list of unbound artifacts (created with ",(0,i.mdx)("inlineCode",{parentName:"li"},"declare_artifact"),")\nwhich will be bound by the function."),(0,i.mdx)("li",{parentName:"ul"},"The function argument is given 3 arguments:",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"ctx")," (context) - which is the same as that passed to the initial rule\nanalysis."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," - using one of the artifacts from the ",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic_output"),"'s ",(0,i.mdx)("inlineCode",{parentName:"li"},"outputs"),"\n(example usage: ",(0,i.mdx)("inlineCode",{parentName:"li"},"outputs[artifact_from_dynamic_output_outputs]"),") gives an\nunbounded artifact. The function argument must use its ",(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," argument to\nbind output artifacts, rather than reusing artifacts from the outputs passed\ninto ",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic_output")," directly."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"artifacts")," - using one of the artifacts from ",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic")," (example usage:\n",(0,i.mdx)("inlineCode",{parentName:"li"},"artifacts[artifact_from_dynamic])")," gives an artifact value containing the\nmethods ",(0,i.mdx)("inlineCode",{parentName:"li"},"read_string"),", ",(0,i.mdx)("inlineCode",{parentName:"li"},"read_lines"),", and ",(0,i.mdx)("inlineCode",{parentName:"li"},"read_json")," to obtain the values\nfrom the disk in various formats. Anything too complex should be piped\nthrough a Python script for transformation to JSON."))),(0,i.mdx)("li",{parentName:"ul"},"The function must call ",(0,i.mdx)("inlineCode",{parentName:"li"},"ctx.actions")," (probably ",(0,i.mdx)("inlineCode",{parentName:"li"},"ctx.actions.run"),") to bind all\noutputs. It can examine the values of the dynamic variables and depends on the\ninputs.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"The function will usually be a ",(0,i.mdx)("inlineCode",{parentName:"li"},"def"),", as ",(0,i.mdx)("inlineCode",{parentName:"li"},"lambda")," in Starlark does not allow\nstatements, making it quite underpowered.")))),(0,i.mdx)("p",null,"Following is an example of using the function to determine Erlang BEAM\ndependencies:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'def erlang(ctx):\n beams = {}\n for x in ctx.attr.srcs:\n dep_file = ctx.actions.declare_output(x + ".out")\n ctx.actions.run("erl", "-dump-output", x, dep_file.as_output())\n beam_file = ctx.actions.declare_output(x + ".beam")\n beams[x] = beam_file\n def f(ctx, artifacts, outputs, x=x, dep_file=dep_file):\n deps = artifacts[dep_file].read_lines()\n ctx.actions.run(\n "erl", "-comp", x,\n [beams[d] for d in deps],\n outputs[beams[x]].as_output()\n )\n ctx.actions.dynamic_output([dep_file], [x] + deps, [beam_file], f)\n return [ErlangInfo(objects = beams.values())]\n')),(0,i.mdx)("p",null,"The above code uses ",(0,i.mdx)("inlineCode",{parentName:"p"},"declare_output")," for the ",(0,i.mdx)("inlineCode",{parentName:"p"},"beam_file")," then binds it within\nthe function ",(0,i.mdx)("inlineCode",{parentName:"p"},"f"),", after having read the ",(0,i.mdx)("inlineCode",{parentName:"p"},"dep_file")," with ",(0,i.mdx)("inlineCode",{parentName:"p"},"read_lines"),"."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2a9e5fca.be7b13e0.js b/assets/js/2a9e5fca.be7b13e0.js new file mode 100644 index 0000000000000..b76a09024e5f9 --- /dev/null +++ b/assets/js/2a9e5fca.be7b13e0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3955],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>m,mdx:()=>p,useMDXComponents:()=>d,withMDXComponents:()=>u});var o=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},i.apply(this,arguments)}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function r(e,n){if(null==e)return{};var t,o,a=function(e,n){if(null==e)return{};var t,o,a={},i=Object.keys(e);for(o=0;o<i.length;o++)t=i[o],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)t=i[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=o.createContext({}),u=function(e){return function(n){var t=d(n.components);return o.createElement(e,i({},n,{components:t}))}},d=function(e){var n=o.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},m=function(e){var n=d(e.components);return o.createElement(c.Provider,{value:n},e.children)},h="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},f=o.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),u=d(t),m=a,h=u["".concat(l,".").concat(m)]||u[m]||g[m]||i;return t?o.createElement(h,s(s({ref:n},c),{},{components:t})):o.createElement(h,s({ref:n},c))}));function p(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,l=new Array(i);l[0]=f;var s={};for(var r in n)hasOwnProperty.call(n,r)&&(s[r]=n[r]);s.originalType=e,s[h]="string"==typeof e?e:a,l[1]=s;for(var c=2;c<i;c++)l[c]=t[c];return o.createElement.apply(null,l)}return o.createElement.apply(null,t)}f.displayName="MDXCreateElement"},66225:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=t(87462),a=(t(67294),t(3905));const i={id:"log",title:"log"},l=void 0,s={unversionedId:"users/commands/log",id:"users/commands/log",title:"log",description:"These are the flags/commands under buck2 log and their --help output:",source:"@site/../docs/users/commands/log.generated.md",sourceDirName:"users/commands",slug:"/users/commands/log",permalink:"/docs/users/commands/log",draft:!1,tags:[],version:"current",frontMatter:{id:"log",title:"log"},sidebar:"mainSidebar",previous:{title:"killall",permalink:"/docs/users/commands/killall"},next:{title:"lsp",permalink:"/docs/users/commands/lsp"}},r={},c=[{value:"buck log",id:"buck-log",level:2},{value:"buck log what-ran",id:"buck-log-what-ran",level:3},{value:"buck log what-failed",id:"buck-log-what-failed",level:3},{value:"buck log path",id:"buck-log-path",level:3},{value:"buck log show",id:"buck-log-show",level:3},{value:"buck log cmd",id:"buck-log-cmd",level:3},{value:"buck log what-up",id:"buck-log-what-up",level:3},{value:"buck log what-materialized",id:"buck-log-what-materialized",level:3},{value:"buck log what-uploaded",id:"buck-log-what-uploaded",level:3},{value:"buck log critical-path",id:"buck-log-critical-path",level:3},{value:"buck log replay",id:"buck-log-replay",level:3},{value:"buck log show-user",id:"buck-log-show-user",level:3},{value:"buck log summary",id:"buck-log-summary",level:3}],u={toc:c};function d(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,o.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"These are the flags/commands under ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 log")," and their ",(0,a.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,a.mdx)("h2",{id:"buck-log"},"buck log"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Commands for interacting with buck2 logs\n\nUsage: buck2-release log [OPTIONS] <COMMAND>\n\nCommands:\n what-ran Output everything Buck2 ran from selected invocation\n what-failed Outputs every command that failed in the selected invocation\n path Output the path to the selected log\n show Outputs the log in JSON format from selected invocation\n cmd Show buck command line arguments from selected invocation\n what-up Show the spans that were open when the log ended\n what-materialized Outputs materializations from selected invocation\n what-uploaded Outputs stats about uploads to RE from the selected invocation\n critical-path Show the critical path for a selected build\n replay Replay an event log\n show-user Converts the event log from a selected invocation into a user event log, in\n JSONL format\n summary Outputs high level statistics about the build\n help Print this message or the help of the given subcommand(s)\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-what-ran"},"buck log what-ran"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Output everything Buck2 ran from selected invocation.\n\nThe output is presented as a series of tab-delimited records with the following structure:\n\nThe reason for executing a given command. That's either to build or to test.\n\nThe identity of this command. This will include the target that ran required it.\n\nThe executor for this command. This will either be RE or local.\n\nDetails to reproduce it. For RE, that's the action digest. For local, the command.\n\nTo reproduce an action that ran on RE, use the following command then follow the instructions. The\nDIGEST is of the form `hash:size`.\n\nfrecli cas download-action DIGEST\n\nTo reproduce an action that ran locally, make sure your working directory is the project root (if\nunsure, use `buck2 root --kind project` to find it), then run the command. The command is already\nshell-quoted.\n\nUsage: buck2-release log what-ran [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n --format <OUTPUT>\n Which output format to use for this command\n \n [default: tabulated]\n [possible values: tabulated, json, csv]\n\n --emit-cache-queries\n \n\n --skip-cache-hits\n \n\n --skip-remote-executions\n \n\n --skip-local-executions\n \n\n --filter-category <FILTER_CATEGORY>\n Regular expression to filter commands by given action category (i.e. type of of actions\n that are similar but operate on different inputs, such as invocations of a C++ compiler\n (whose category would be `cxx_compile`)). Matches by full string\n\n --failed\n Show only commands that failed\n\n --incomplete\n Show only commands that were not completed. That is command were running if buck2 process\n was killed, or command currently running if buck2 is running build now\n\n --show-std-err\n Show also std_err from commands that are run. If the command fails before completing, we\n display \"<command did not finish executing>\". If it finishes but there is no error, we\n display \"<stderr is empty>\". Otherwise, std_err is shown. For JSON, we show raw values and\n null for non-completion\n\n --omit-empty-std-err\n Omit commands if their std_err is empty\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-what-failed"},"buck log what-failed"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Outputs every command that failed in the selected invocation.\n\nLook at the help for what-ran to understand the output format.\n\nUsage: buck2-release log what-failed [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n --format <OUTPUT>\n Which output format to use for this command\n \n [default: tabulated]\n [possible values: tabulated, json, csv]\n\n --emit-cache-queries\n \n\n --skip-cache-hits\n \n\n --skip-remote-executions\n \n\n --skip-local-executions\n \n\n --filter-category <FILTER_CATEGORY>\n Regular expression to filter commands by given action category (i.e. type of of actions\n that are similar but operate on different inputs, such as invocations of a C++ compiler\n (whose category would be `cxx_compile`)). Matches by full string\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-path"},"buck log path"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Output the path to the selected log\n\nUsage: buck2-release log path [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n --all\n List all the logs\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-show"},"buck log show"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Outputs the log in JSON format from selected invocation\n\nUsage: buck2-release log show [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-cmd"},"buck log cmd"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Show buck command line arguments from selected invocation.\n\nThis command output is not machine readable. Robots, please use `buck2 log show`.\n\nUsage: buck2-release log cmd [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n --expand\n Show @-expanded command line arguments instead of the original command line\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-what-up"},"buck log what-up"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Show the spans that were open when the log ended\n\nUsage: buck2-release log what-up [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n --after <NUMBER>\n Print the actions that where open after certain amount of milliseconds\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-what-materialized"},"buck log what-materialized"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Outputs materializations from selected invocation.\n\nThe output is a tab-separated list containing the path, the materialization method, the file count,\nand the total size (after decompression).\n\nUsage: buck2-release log what-materialized [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n -s, --sort-by-size\n Sort the output by total bytes in ascending order\n\n --aggregate-by-ext\n Aggregates the output by file extension\n\n --format <OUTPUT>\n Which output format to use for this command\n \n [default: tabulated]\n [possible values: tabulated, json, csv]\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-what-uploaded"},"buck log what-uploaded"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Outputs stats about uploads to RE from the selected invocation\n\nUsage: buck2-release log what-uploaded [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n --format <OUTPUT>\n Which output format to use for this command\n \n [default: tabulated]\n [possible values: tabulated, json, csv]\n\n --aggregate-by-ext\n Aggregates the output by file extension\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-critical-path"},"buck log critical-path"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Show the critical path for a selected build.\n\nThis produces tab-delimited output listing every node on the critical path.\n\nIt includes the kind of node, its name, category and identfier, as well as total duration (runtime\nof this node), user duration (duration the user can improve) and potential improvement before this\nnode stops being on the critical path.\n\nAll durations are in microseconds.\n\nUsage: buck2-release log critical-path [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n --format <FORMAT>\n Which output format to use for this command\n \n [default: tabulated]\n [possible values: tabulated, json, csv]\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-replay"},"buck log replay"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Replay an event log.\n\nThis command allows visualizing an existing event log in a Superconsole.\n\nUsage: buck2-release log replay [OPTIONS] [PATH] [OVERRIDE_ARGS]...\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\n [OVERRIDE_ARGS]...\n Override the arguments\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n --speed <NUMBER>\n Control the playback speed using a float (i.e. 0.5, 2, etc)\n\n --preload\n Preload the event log. This is typically only useful for benchmarking\n\n -h, --help\n Print help (see a summary with '-h')\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-show-user"},"buck log show-user"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Converts the event log from a selected invocation into a user event log, in JSONL format\n\nUsage: buck2-release log show-user [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-log-summary"},"buck log summary"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Outputs high level statistics about the build\n\nUsage: buck2-release log summary [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n A path to an event-log file to read from\n\nOptions:\n --recent <NUMBER>\n Open the event-log file from a recent command\n\n --trace-id <ID>\n Show log by trace id\n\n --allow-remote\n This option does nothing\n\n --no-remote\n Do not allow downloading the log from manifold if it's not found locally\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2e8c76df.67188a79.js b/assets/js/2e8c76df.67188a79.js new file mode 100644 index 0000000000000..7a914f70df1b5 --- /dev/null +++ b/assets/js/2e8c76df.67188a79.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5682],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>m,mdx:()=>v,useMDXComponents:()=>p,withMDXComponents:()=>u});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var c=r.createContext({}),u=function(e){return function(n){var t=p(n.components);return r.createElement(e,a({},n,{components:t}))}},p=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},m=function(e){var n=p(e.components);return r.createElement(c.Provider,{value:n},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},h=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=p(t),m=o,d=u["".concat(s,".").concat(m)]||u[m]||f[m]||a;return t?r.createElement(d,i(i({ref:n},c),{},{components:t})):r.createElement(d,i({ref:n},c))}));function v(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,s=new Array(a);s[0]=h;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i[d]="string"==typeof e?e:o,s[1]=i;for(var c=2;c<a;c++)s[c]=t[c];return r.createElement.apply(null,s)}return r.createElement.apply(null,t)}h.displayName="MDXCreateElement"},60688:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var r=t(87462),o=(t(67294),t(3905));const a={id:"help-env",title:"help-env"},s=void 0,i={unversionedId:"users/commands/help-env",id:"users/commands/help-env",title:"help-env",description:"These are the flags/commands under buck2 help-env and their --help output:",source:"@site/../docs/users/commands/help-env.generated.md",sourceDirName:"users/commands",slug:"/users/commands/help-env",permalink:"/docs/users/commands/help-env",draft:!1,tags:[],version:"current",frontMatter:{id:"help-env",title:"help-env"},sidebar:"mainSidebar",previous:{title:"expand-external-cell",permalink:"/docs/users/commands/expand-external-cell"},next:{title:"init",permalink:"/docs/users/commands/init"}},l={},c=[{value:"buck help-env",id:"buck-help-env",level:2}],u={toc:c};function p(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"These are the flags/commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 help-env")," and their ",(0,o.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,o.mdx)("h2",{id:"buck-help-env"},"buck help-env"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Print help for environment variables used by buck2\n\nUsage: buck2-release help-env [OPTIONS]\n\nOptions:\n --self-testing\n Also print those environment variables that are only used for buck2 integration tests.\n \n These are all unstable and not meant to be used by most users.\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/329b779f.75db31ab.js b/assets/js/329b779f.75db31ab.js new file mode 100644 index 0000000000000..210365f4be10e --- /dev/null +++ b/assets/js/329b779f.75db31ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8541],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>l,MDXProvider:()=>f,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>s});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(){return o=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},o.apply(this,arguments)}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function p(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),s=function(e){return function(r){var t=u(r.components);return n.createElement(e,o({},r,{components:t}))}},u=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},f=function(e){var r=u(e.components);return n.createElement(l.Provider,{value:r},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},y=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),s=u(t),f=a,d=s["".concat(c,".").concat(f)]||s[f]||m[f]||o;return t?n.createElement(d,i(i({ref:r},l),{},{components:t})):n.createElement(d,i({ref:r},l))}));function b(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,c=new Array(o);c[0]=y;var i={};for(var p in r)hasOwnProperty.call(r,p)&&(i[p]=r[p]);i.originalType=e,i[d]="string"==typeof e?e:a,c[1]=i;for(var l=2;l<o;l++)c[l]=t[l];return n.createElement.apply(null,c)}return n.createElement.apply(null,t)}y.displayName="MDXCreateElement"},16121:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>p,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=t(87462),a=(t(67294),t(3905));const o={},c="Starlark Language Specification",i={unversionedId:"developers/starlark/spec",id:"developers/starlark/spec",title:"Starlark Language Specification",description:"The Starlark language spec can be found in the",source:"@site/../docs/developers/starlark/spec.md",sourceDirName:"developers/starlark",slug:"/developers/starlark/spec",permalink:"/docs/developers/starlark/spec",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"mainSidebar",previous:{title:"Heaps and Heap References",permalink:"/docs/developers/starlark/heaps"},next:{title:"Starlark Types",permalink:"/docs/developers/starlark/types"}},p={},l=[],s={toc:l};function u(e){let{components:r,...t}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"starlark-language-specification"},"Starlark Language Specification"),(0,a.mdx)("p",null,"The Starlark language spec can be found in the\n",(0,a.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md"},"Bazel GitHub repository"),"."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3387e07d.baaa934a.js b/assets/js/3387e07d.baaa934a.js new file mode 100644 index 0000000000000..6067885b81352 --- /dev/null +++ b/assets/js/3387e07d.baaa934a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7318],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>p,MDXProvider:()=>d,mdx:()=>b,useMDXComponents:()=>s,withMDXComponents:()=>c});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=r.createContext({}),c=function(e){return function(t){var n=s(t.components);return r.createElement(e,o({},t,{components:n}))}},s=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(p.Provider,{value:t},e.children)},x="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),c=s(n),d=a,x=c["".concat(l,".").concat(d)]||c[d]||m[d]||o;return n?r.createElement(x,i(i({ref:t},p),{},{components:n})):r.createElement(x,i({ref:t},p))}));function b(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[x]="string"==typeof e?e:a,l[1]=i;for(var p=2;p<o;p++)l[p]=n[p];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},35618:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>s,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var r=n(87462),a=(n(67294),n(3905));const o={id:"bxl.AuditContext"},l="bxl.AuditContext type",i={unversionedId:"api/bxl/bxl.AuditContext",id:"api/bxl/bxl.AuditContext",title:"bxl.AuditContext type",description:"The context for performing audit operations in bxl. The functions offered on this ctx are the same behaviour as the audit functions available within audit command.",source:"@site/../docs/api/bxl/bxl.AuditContext.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.AuditContext",permalink:"/docs/api/bxl/bxl.AuditContext",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.AuditContext"},sidebar:"apiSidebar",previous:{title:"bxl.AqueryContext type",permalink:"/docs/api/bxl/bxl.AqueryContext"},next:{title:"bxl.BuildResult type",permalink:"/docs/api/bxl/bxl.BuildResult"}},u={},p=[{value:"bxl.AuditContext.cell",id:"bxlauditcontextcell",level:2},{value:"bxl.AuditContext.output",id:"bxlauditcontextoutput",level:2}],c={toc:p};function s(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"bxlauditcontext-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"bxl.AuditContext")," type"),(0,a.mdx)("p",null,"The context for performing ",(0,a.mdx)("inlineCode",{parentName:"p"},"audit")," operations in bxl. The functions offered on this ctx are the same behaviour as the audit functions available within audit command."),(0,a.mdx)("h2",{id:"bxlauditcontextcell"},"bxl.AuditContext.cell"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.AuditContext.cell(\n aliases_to_resolve: list[str] | tuple[str, ...] = [],\n *,\n aliases: bool = False\n) -> dict[str, str]\n")),(0,a.mdx)("p",null,"Query information about the ","[cells]"," list in .buckconfig."),(0,a.mdx)("p",null,"Takes the following parameters:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"aliases_to_resolve")," - list of cell aliases to query. These aliases will be resolved in the root cell of the BXL script."),(0,a.mdx)("li",{parentName:"ul"},"optional ",(0,a.mdx)("inlineCode",{parentName:"li"},"aliases")," flag - if enabled, and no explicit aliases are passed, will query for all aliases in the root cell of the BXL script.")),(0,a.mdx)("p",null,"Returns a dict of cell name to absolute path mappings."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_audit_cell(ctx):\n result = ctx.audit().cell(aliases = True)\n ctx.output.print(result)\n")),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlauditcontextoutput"},"bxl.AuditContext.output"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.AuditContext.output(\n output_path: str,\n target_platform: None | str | target_label = _\n)\n")),(0,a.mdx)("p",null,"Returns either: - The ",(0,a.mdx)("inlineCode",{parentName:"p"},"action")," which created the buck-out path, if exists. - The ",(0,a.mdx)("inlineCode",{parentName:"p"},"unconfigured_target_label")," constructed from the buck-out path, if the configuration hashes do not match. - None, if the configuration hash of the buck-out path matches the one passed into this function, or the default target configuration, but no action could be found that generated the buck-out path."),(0,a.mdx)("p",null,"Takes in an optional target platform, otherwise will use the default target platform."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_audit_output(ctx):\n target_platform = "foo"\n result = ctx.audit().output("buck-out/v2/gen/fbcode/some_cfg_hash/path/to/__target__/artifact", target_platform)\n ctx.output.print(result)\n')))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3447d6d5.d95716df.js b/assets/js/3447d6d5.d95716df.js new file mode 100644 index 0000000000000..85283167606aa --- /dev/null +++ b/assets/js/3447d6d5.d95716df.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6681],{15745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/3a4767eb.2527b744.js b/assets/js/3a4767eb.2527b744.js new file mode 100644 index 0000000000000..64b992dc8d6df --- /dev/null +++ b/assets/js/3a4767eb.2527b744.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6724],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>o,MDXProvider:()=>m,mdx:()=>f,useMDXComponents:()=>u,withMDXComponents:()=>p});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},l.apply(this,arguments)}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function d(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),p=function(e){return function(t){var a=u(t.components);return n.createElement(e,l({},t,{components:a}))}},u=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):d(d({},t),e)),a},m=function(e){var t=u(e.components);return n.createElement(o.Provider,{value:t},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},x=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,s=e.parentName,o=i(e,["components","mdxType","originalType","parentName"]),p=u(a),m=r,c=p["".concat(s,".").concat(m)]||p[m]||h[m]||l;return a?n.createElement(c,d(d({ref:t},o),{},{components:a})):n.createElement(c,d({ref:t},o))}));function f(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,s=new Array(l);s[0]=x;var d={};for(var i in t)hasOwnProperty.call(t,i)&&(d[i]=t[i]);d.originalType=e,d[c]="string"==typeof e?e:r,s[1]=d;for(var o=2;o<l;o++)s[o]=a[o];return n.createElement.apply(null,s)}return n.createElement.apply(null,a)}x.displayName="MDXCreateElement"},65319:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>d,toc:()=>o});var n=a(87462),r=(a(67294),a(3905));const l={id:"attrs"},s="attrs type",d={unversionedId:"api/build/attrs",id:"api/build/attrs",title:"attrs type",description:"This type is available as a global attrs symbol, to allow the definition of attributes to the rule function.",source:"@site/../docs/api/build/attrs.generated.md",sourceDirName:"api/build",slug:"/api/build/attrs",permalink:"/docs/api/build/attrs",draft:!1,tags:[],version:"current",frontMatter:{id:"attrs"},sidebar:"apiSidebar",previous:{title:"artifact type",permalink:"/docs/api/build/artifact"},next:{title:"buck_regex type",permalink:"/docs/api/build/buck_regex"}},i={},o=[{value:"attrs.any",id:"attrsany",level:2},{value:"attrs.arg",id:"attrsarg",level:2},{value:"attrs.bool",id:"attrsbool",level:2},{value:"attrs.configuration_label",id:"attrsconfiguration_label",level:2},{value:"attrs.configured_dep",id:"attrsconfigured_dep",level:2},{value:"attrs.default_only",id:"attrsdefault_only",level:2},{value:"attrs.dep",id:"attrsdep",level:2},{value:"attrs.dict",id:"attrsdict",level:2},{value:"attrs.enum",id:"attrsenum",level:2},{value:"attrs.exec_dep",id:"attrsexec_dep",level:2},{value:"attrs.int",id:"attrsint",level:2},{value:"attrs.label",id:"attrslabel",level:2},{value:"attrs.list",id:"attrslist",level:2},{value:"attrs.named_set",id:"attrsnamed_set",level:2},{value:"attrs.one_of",id:"attrsone_of",level:2},{value:"attrs.option",id:"attrsoption",level:2},{value:"attrs.plugin_dep",id:"attrsplugin_dep",level:2},{value:"attrs.query",id:"attrsquery",level:2},{value:"attrs.regex",id:"attrsregex",level:2},{value:"attrs.set",id:"attrsset",level:2},{value:"attrs.source",id:"attrssource",level:2},{value:"attrs.split_transition_dep",id:"attrssplit_transition_dep",level:2},{value:"attrs.string",id:"attrsstring",level:2},{value:"attrs.toolchain_dep",id:"attrstoolchain_dep",level:2},{value:"attrs.transition_dep",id:"attrstransition_dep",level:2},{value:"attrs.tuple",id:"attrstuple",level:2},{value:"attrs.versioned",id:"attrsversioned",level:2}],p={toc:o};function u(e){let{components:t,...a}=e;return(0,r.mdx)("wrapper",(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"attrs-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"attrs")," type"),(0,r.mdx)("p",null,"This type is available as a global ",(0,r.mdx)("inlineCode",{parentName:"p"},"attrs")," symbol, to allow the definition of attributes to the ",(0,r.mdx)("inlineCode",{parentName:"p"},"rule")," function."),(0,r.mdx)("p",null,"As an example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'rule(impl = _impl, attrs = {"foo": attrs.string(), "bar": attrs.int(default = 42)})\n')),(0,r.mdx)("p",null,"Most attributes take at least two optional parameters:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("p",{parentName:"li"},"A ",(0,r.mdx)("inlineCode",{parentName:"p"},"doc")," parameter, which specifies documentation for the attribute.")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("p",{parentName:"li"},"A ",(0,r.mdx)("inlineCode",{parentName:"p"},"default")," parameter, which if present specifies the default value for the attribute if omitted.\nIf there is no default, the user of the rule must supply that parameter."))),(0,r.mdx)("p",null,"Each attribute defines what values it accepts from the user, and which values it gives to the rule.\nFor simple types like ",(0,r.mdx)("inlineCode",{parentName:"p"},"attrs.string")," these are the same, for more complex types like ",(0,r.mdx)("inlineCode",{parentName:"p"},"attrs.dep")," these\nare different (string from the user, dependency to the rule)."),(0,r.mdx)("h2",{id:"attrsany"},"attrs.any"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.any(*, doc: str = "", default = _) -> attribute\n')),(0,r.mdx)("p",null,"Takes most builtin literals and passes them to the rule as a string. Discouraged, as it provides little type safety and destroys the structure."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsarg"},"attrs.arg"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.arg(\n *,\n json: bool = False,\n default = _,\n doc: str = "",\n anon_target_compatible: bool = False\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a command line argument from the user and supplies a ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args")," compatible value to the rule. The argument may contain special macros such as ",(0,r.mdx)("inlineCode",{parentName:"p"},"$(location :my_target)")," or ",(0,r.mdx)("inlineCode",{parentName:"p"},"$(exe :my_target)")," which will be replaced with references to those values in the rule. Takes in an optional ",(0,r.mdx)("inlineCode",{parentName:"p"},"anon_target_compatible")," flag, which indicates whether the args can be passed into anon targets. Note that there is a slight memory hit when using this flag."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsbool"},"attrs.bool"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.bool(*, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Takes a boolean and passes it to the rule as a boolean."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsconfiguration_label"},"attrs.configuration","_","label"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.configuration_label(*, doc: str = "") -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsconfigured_dep"},"attrs.configured","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.configured_dep(\n *,\n providers: list[typing.Any] | tuple = [],\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsdefault_only"},"attrs.default","_","only"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.default_only(\n inner: attribute,\n /,\n *,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Rejects all values and uses the default for the inner argument. Often used to resolve dependencies, which otherwise can't be resolved inside a rule."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'attrs.default_only(attrs.dep(default = "foo//my_package:my_target"))\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsdep"},"attrs.dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.dep(\n *,\n providers: list[typing.Any] | tuple = [],\n pulls_plugins: list[typing.Any] | tuple = [],\n pulls_and_pushes_plugins: all_plugins | list[typing.Any] | tuple = _,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a target from the user, as a string, and supplies a dependency to the rule. A target can be specified as an absolute dependency ",(0,r.mdx)("inlineCode",{parentName:"p"},"foo//bar:baz"),", omitting the cell (",(0,r.mdx)("inlineCode",{parentName:"p"},"//bar:baz"),") or omitting the package name (",(0,r.mdx)("inlineCode",{parentName:"p"},":baz"),")."),(0,r.mdx)("p",null,"If supplied the ",(0,r.mdx)("inlineCode",{parentName:"p"},"providers")," argument ensures that specific providers will be present\non the dependency."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsdict"},"attrs.dict"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.dict(\n key: attribute,\n value: attribute,\n *,\n sorted: bool = False,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a dict from the user, supplies a dict to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsenum"},"attrs.enum"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.enum(\n variants: list[str] | tuple[str, ...],\n /,\n *,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a string from one of the variants given, and gives that string to the rule. Strings are matched case-insensitively, and always passed to the rule lowercase."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsexec_dep"},"attrs.exec","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.exec_dep(\n *,\n providers: list[typing.Any] | tuple = [],\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will transition to the execution platform. Use ",(0,r.mdx)("inlineCode",{parentName:"p"},"exec_dep")," if you plan to execute things from this dependency as part of the compilation."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsint"},"attrs.int"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.int(*, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Takes an int from the user, supplies an int to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrslabel"},"attrs.label"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.label(*, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Takes a target (as per ",(0,r.mdx)("inlineCode",{parentName:"p"},"deps"),") and passes a ",(0,r.mdx)("inlineCode",{parentName:"p"},"label")," to the rule. Validates that the target exists, but does not introduce a dependency on it."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrslist"},"attrs.list"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.list(\n inner: attribute,\n /,\n *,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a list from the user, supplies a list to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsnamed_set"},"attrs.named","_","set"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.named_set(\n value_type: attribute,\n /,\n *,\n sorted: bool = False,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsone_of"},"attrs.one","_","of"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.one_of(*args: attribute, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Given a list of alternative attributes, selects the first that matches and gives that to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsoption"},"attrs.option"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.option(\n inner: attribute,\n /,\n *,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a value that may be ",(0,r.mdx)("inlineCode",{parentName:"p"},"None")," or some inner type, and passes either ",(0,r.mdx)("inlineCode",{parentName:"p"},"None")," or the value corresponding to the inner to the rule. Often used to make a rule optional:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"attrs.option(attr.string(), default = None)\n")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsplugin_dep"},"attrs.plugin","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.plugin_dep(\n *,\n kind,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsquery"},"attrs.query"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.query(*, doc: str = "") -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsregex"},"attrs.regex"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.regex(*, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Currently an alias for ",(0,r.mdx)("inlineCode",{parentName:"p"},"attrs.string"),"."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsset"},"attrs.set"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.set(\n value_type: attribute,\n /,\n *,\n sorted: bool = False,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrssource"},"attrs.source"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.source(\n *,\n allow_directory: bool = False,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a source file from the user, supplies an artifact to the rule. The source file may be specified as a literal string (representing the path within this package), or a target (which must have a ",(0,r.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," with a ",(0,r.mdx)("inlineCode",{parentName:"p"},"default_outputs")," value)."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrssplit_transition_dep"},"attrs.split","_","transition","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.split_transition_dep(\n *,\n providers: list[typing.Any] | tuple = [],\n cfg,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsstring"},"attrs.string"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.string(\n *,\n default = _,\n validate = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a string from the user, supplies a string to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrstoolchain_dep"},"attrs.toolchain","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.toolchain_dep(\n *,\n providers: list[typing.Any] | tuple = [],\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will be a toolchain dependency, meaning that its execution platform dependencies will be used to select the execution platform for this rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrstransition_dep"},"attrs.transition","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.transition_dep(\n *,\n providers: list[typing.Any] | tuple = [],\n cfg,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrstuple"},"attrs.tuple"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.tuple(*args: attribute, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Takes a tuple of values and gives a tuple to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsversioned"},"attrs.versioned"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.versioned(value_type: attribute, *, doc: str = "") -> attribute\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3ab0d764.dc2343ab.js b/assets/js/3ab0d764.dc2343ab.js new file mode 100644 index 0000000000000..87cce365fa02c --- /dev/null +++ b/assets/js/3ab0d764.dc2343ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1821],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>d,mdx:()=>b,useMDXComponents:()=>p,withMDXComponents:()=>u});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},i.apply(this,arguments)}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var c=r.createContext({}),u=function(e){return function(n){var t=p(n.components);return r.createElement(e,i({},n,{components:t}))}},p=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},d=function(e){var n=p(e.components);return r.createElement(c.Provider,{value:n},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},h=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=p(t),d=o,m=u["".concat(a,".").concat(d)]||u[d]||f[d]||i;return t?r.createElement(m,s(s({ref:n},c),{},{components:t})):r.createElement(m,s({ref:n},c))}));function b(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=h;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[m]="string"==typeof e?e:o,a[1]=s;for(var c=2;c<i;c++)a[c]=t[c];return r.createElement.apply(null,a)}return r.createElement.apply(null,t)}h.displayName="MDXCreateElement"},85137:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=t(87462),o=(t(67294),t(3905));const i={id:"init",title:"init"},a=void 0,s={unversionedId:"users/commands/init",id:"users/commands/init",title:"init",description:"These are the flags/commands under buck2 init and their --help output:",source:"@site/../docs/users/commands/init.generated.md",sourceDirName:"users/commands",slug:"/users/commands/init",permalink:"/docs/users/commands/init",draft:!1,tags:[],version:"current",frontMatter:{id:"init",title:"init"},sidebar:"mainSidebar",previous:{title:"help-env",permalink:"/docs/users/commands/help-env"},next:{title:"install",permalink:"/docs/users/commands/install"}},l={},c=[{value:"buck init",id:"buck-init",level:2}],u={toc:c};function p(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"These are the flags/commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 init")," and their ",(0,o.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,o.mdx)("h2",{id:"buck-init"},"buck init"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Initialize a buck2 project\n\nUsage: buck2-release init [OPTIONS] [PATH]\n\nArguments:\n [PATH]\n The path to initialize the project in. The folder does not need to exist\n \n [default: .]\n\nOptions:\n --no-prelude\n Don't include the standard prelude or generate toolchain definitions\n\n --allow-dirty\n Initialize the project even if the git repo at \\[PATH\\] has uncommitted changes\n\n --git\n Also initialize a git repository at the given path, and set up an appropriate `.gitignore`\n file\n\n -h, --help\n Print help (see a summary with '-h')\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3abea06a.76cc7a9f.js b/assets/js/3abea06a.76cc7a9f.js new file mode 100644 index 0000000000000..0d7a392e9956f --- /dev/null +++ b/assets/js/3abea06a.76cc7a9f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1623],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>y,useMDXComponents:()=>m,withMDXComponents:()=>s});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),s=function(e){return function(t){var n=m(t.components);return a.createElement(e,o({},t,{components:n}))}},m=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=m(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,d=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),s=m(n),p=r,u=s["".concat(d,".").concat(p)]||s[p]||g[p]||o;return n?a.createElement(u,i(i({ref:t},c),{},{components:n})):a.createElement(u,i({ref:t},c))}));function y(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,d=new Array(o);d[0]=h;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[u]="string"==typeof e?e:r,d[1]=i;for(var c=2;c<o;c++)d[c]=n[c];return a.createElement.apply(null,d)}return a.createElement.apply(null,n)}h.displayName="MDXCreateElement"},1673:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const o={id:"cmd_args"},d="cmd_args type",i={unversionedId:"api/bxl/cmd_args",id:"api/bxl/cmd_args",title:"cmd_args type",description:"The cmdargs type is created by cmdargs() and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value. All these methods operate mutably on cmd and return that value too.",source:"@site/../docs/api/bxl/cmd_args.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/cmd_args",permalink:"/docs/api/bxl/cmd_args",draft:!1,tags:[],version:"current",frontMatter:{id:"cmd_args"},sidebar:"apiSidebar",previous:{title:"bxl.UqueryContext type",permalink:"/docs/api/bxl/bxl.UqueryContext"},next:{title:"coerced_attr type",permalink:"/docs/api/bxl/coerced_attr"}},l={},c=[{value:"cmd_args.add",id:"cmd_argsadd",level:2},{value:"cmd_args.copy",id:"cmd_argscopy",level:2},{value:"cmd_args.inputs",id:"cmd_argsinputs",level:2},{value:"cmd_args.outputs",id:"cmd_argsoutputs",level:2},{value:"cmd_args.relative_to",id:"cmd_argsrelative_to",level:2}],s={toc:c};function m(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"cmd_args-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"cmd_args")," type"),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args")," type is created by ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args()")," and is consumed by ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions.run"),". The type is a mutable collection of strings and ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact")," values. In general, command lines, artifacts, strings, ",(0,r.mdx)("inlineCode",{parentName:"p"},"RunInfo")," and lists thereof can be added to or used to construct a ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args")," value. All these methods operate mutably on ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd")," and return that value too."),(0,r.mdx)("h2",{id:"cmd_argsadd"},"cmd","_","args.add"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def cmd_args.add(*args) -> cmd_args\n")),(0,r.mdx)("p",null,"A list of arguments to be added to the command line, which may including ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args"),", artifacts, strings, ",(0,r.mdx)("inlineCode",{parentName:"p"},"RunInfo")," or lists thereof. Note that this operation mutates the input ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args"),"."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"cmd_argscopy"},"cmd","_","args.copy"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def cmd_args.copy() -> cmd_args\n")),(0,r.mdx)("p",null,"Returns a copy of the ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args")," such that any modifications to the original or the returned value will not impact each other. Note that this is a shallow copy, so any inner ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args")," can still be modified."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"cmd_argsinputs"},"cmd","_","args.inputs"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"cmd_args.inputs: command_line_inputs\n")),(0,r.mdx)("p",null,"Collect all the inputs (including hidden) referenced by this command line. The output can be compared for equality and have its ",(0,r.mdx)("inlineCode",{parentName:"p"},"len")," requested to see whether there are any inputs, but is otherwise mostly opaque."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"cmd_argsoutputs"},"cmd","_","args.outputs"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"cmd_args.outputs: list[output_artifact]\n")),(0,r.mdx)("p",null,"Collect all the outputs (including hidden) referenced by this command line."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"cmd_argsrelative_to"},"cmd","_","args.relative","_","to"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def cmd_args.relative_to(\n directory: artifact | cell_root | project_root,\n /,\n *,\n parent: int = _\n) -> cmd_args\n")),(0,r.mdx)("p",null,"Make all artifact paths relative to a given location. Typically used when the command you are running changes directory."),(0,r.mdx)("p",null,"By default, the paths are relative to the artifacts themselves (equivalent to\n",(0,r.mdx)("inlineCode",{parentName:"p"},"parent = 0"),"). Use ",(0,r.mdx)("inlineCode",{parentName:"p"},"parent")," to make the paths relative to an ancestor directory.\nFor example ",(0,r.mdx)("inlineCode",{parentName:"p"},"parent = 1")," would make all paths relative to the containing dirs\nof any artifacts in the ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args"),"."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'dir = symlinked_dir(...)\nscript = [\n cmd_args(cmd_args(dir, format = "cd {}"),\n original_script.relative_to(dir)\n]\n')))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3b1c98d3.ca09987a.js b/assets/js/3b1c98d3.ca09987a.js new file mode 100644 index 0000000000000..e837e52700c68 --- /dev/null +++ b/assets/js/3b1c98d3.ca09987a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6053],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>i,MDXProvider:()=>d,mdx:()=>f,useMDXComponents:()=>u,withMDXComponents:()=>c});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},p.apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},p=Object.keys(e);for(n=0;n<p.length;n++)a=p[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(e);for(n=0;n<p.length;n++)a=p[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var i=n.createContext({}),c=function(e){return function(t){var a=u(t.components);return n.createElement(e,p({},t,{components:a}))}},u=function(e){var t=n.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},d=function(e){var t=u(e.components);return n.createElement(i.Provider,{value:t},e.children)},m="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,p=e.originalType,l=e.parentName,i=o(e,["components","mdxType","originalType","parentName"]),c=u(a),d=r,m=c["".concat(l,".").concat(d)]||c[d]||g[d]||p;return a?n.createElement(m,s(s({ref:t},i),{},{components:a})):n.createElement(m,s({ref:t},i))}));function f(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var p=a.length,l=new Array(p);l[0]=h;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[m]="string"==typeof e?e:r,l[1]=s;for(var i=2;i<p;i++)l[i]=a[i];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}h.displayName="MDXCreateElement"},41842:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>p,metadata:()=>s,toc:()=>i});var n=a(87462),r=(a(67294),a(3905));const p={id:"target_pattern",title:"Target Pattern"},l=void 0,s={unversionedId:"concepts/target_pattern",id:"concepts/target_pattern",title:"Target Pattern",description:"A target pattern is a string that resolves to a set of",source:"@site/../docs/concepts/target_pattern.md",sourceDirName:"concepts",slug:"/concepts/target_pattern",permalink:"/docs/concepts/target_pattern",draft:!1,tags:[],version:"current",frontMatter:{id:"target_pattern",title:"Target Pattern"},sidebar:"mainSidebar",previous:{title:"Build Target",permalink:"/docs/concepts/build_target"},next:{title:"buck-out",permalink:"/docs/concepts/buck_out"}},o={},i=[{value:"Build target patterns are not allowed in the deps argument",id:"build-target-patterns-are-not-allowed-in-the-deps-argument",level:3},{value:"Target aliases",id:"target-aliases",level:3}],c={toc:i};function u(e){let{components:t,...a}=e;return(0,r.mdx)("wrapper",(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"A ",(0,r.mdx)("em",{parentName:"p"},"target pattern")," is a string that resolves to a set of\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#target"},"targets"),". A target pattern can be used as arguments to\ncommands, such as ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck uquery"),". You can also use build target\npatterns in the ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#visibility"},"visibility")," argument of your build\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#rule"},"rules"),"."),(0,r.mdx)("p",null,"The simplest build target pattern matches the build target of the same name:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},"#\n# Matches //apps/myapp:app\n#\n//apps/myapp:app\n")),(0,r.mdx)("p",null,"A build target pattern that ends with a colon matches all build targets in the\nbuild file at the preceding directory path. For example, suppose that the build\nfile:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-sh"},"apps/myapp/BUCK\n")),(0,r.mdx)("p",null,"defines the rules: ",(0,r.mdx)("inlineCode",{parentName:"p"},"app_v1")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"app_v2"),", then the following build target\npattern would match both of those rules:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},"#\n# Matches //apps/myapp:app_v1 and //apps/myapp:app_v2\n#\n//apps/myapp:\n")),(0,r.mdx)("p",null,"A build target pattern that ends with an ellipsis (",(0,r.mdx)("inlineCode",{parentName:"p"},"/..."),") matches all build\ntargets in the build file in the directory that precedes the ellipsis and also\n",(0,r.mdx)("em",{parentName:"p"},"all build targets in build files in subdirectories"),". For example, suppose that\nyou have the following build files:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},"apps/BUCK\napps/myapp/BUCK\n")),(0,r.mdx)("p",null,"then the following pattern would match all build targets in both of those files:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},"#\n# Matches (for example) //apps:common and //apps/myapp:app\n#\n//apps/...\n")),(0,r.mdx)("p",null,"A target pattern that does not include a ",(0,r.mdx)("inlineCode",{parentName:"p"},":")," separator matches the target with\nthe same name as the last element of the path:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},"#\n# Matches //apps/myapp:myapp\n#\n//apps/myapp\n")),(0,r.mdx)("p",null,"Finally, target patterns can be relative to your current directory. For example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},"#\n# If your current working directory is `apps`, matches //apps/myapp:myapp\n#\nmyapp:myapp\n")),(0,r.mdx)("h3",{id:"build-target-patterns-are-not-allowed-in-the-deps-argument"},"Build target patterns are not allowed in the deps argument"),(0,r.mdx)("p",null,"Build target patterns cannot be used with the ",(0,r.mdx)("inlineCode",{parentName:"p"},"deps")," argument of a build rule.\nBuck requires that you specify all dependencies explicitly as either\nfully-qualified or relative build targets."),(0,r.mdx)("h3",{id:"target-aliases"},"Target aliases"),(0,r.mdx)("p",null,"Buck supports the ability to define ",(0,r.mdx)("em",{parentName:"p"},"aliases")," for build targets; using aliases\ncan improve brevity when specifying targets on the Buck command line."),(0,r.mdx)("p",null,"To see which aliases exist, use ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 audit config alias"),"."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3b7fd5d9.b4404dfc.js b/assets/js/3b7fd5d9.b4404dfc.js new file mode 100644 index 0000000000000..09f4c0f9c1318 --- /dev/null +++ b/assets/js/3b7fd5d9.b4404dfc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9518],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>d,MDXProvider:()=>m,mdx:()=>x,useMDXComponents:()=>u,withMDXComponents:()=>c});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(){return r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},r.apply(this,arguments)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a,n,i={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var d=n.createContext({}),c=function(e){return function(t){var a=u(t.components);return n.createElement(e,r({},t,{components:a}))}},u=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},m=function(e){var t=u(e.components);return n.createElement(d.Provider,{value:t},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),c=u(a),m=i,p=c["".concat(o,".").concat(m)]||c[m]||h[m]||r;return a?n.createElement(p,l(l({ref:t},d),{},{components:a})):n.createElement(p,l({ref:t},d))}));function x(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,o=new Array(r);o[0]=f;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:i,o[1]=l;for(var d=2;d<r;d++)o[d]=a[d];return n.createElement.apply(null,o)}return n.createElement.apply(null,a)}f.displayName="MDXCreateElement"},17847:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var n=a(87462),i=(a(67294),a(3905));const r={id:"actions"},o="actions type",l={unversionedId:"api/build/actions",id:"api/build/actions",title:"actions type",description:"actions.anon\\_target",source:"@site/../docs/api/build/actions.generated.md",sourceDirName:"api/build",slug:"/api/build/actions",permalink:"/docs/api/build/actions",draft:!1,tags:[],version:"current",frontMatter:{id:"actions"},sidebar:"apiSidebar",previous:{title:"StackFrame type",permalink:"/docs/api/build/StackFrame"},next:{title:"anon_target type",permalink:"/docs/api/build/anon_target"}},s={},d=[{value:"actions.anon_target",id:"actionsanon_target",level:2},{value:"actions.anon_targets",id:"actionsanon_targets",level:2},{value:"actions.artifact_tag",id:"actionsartifact_tag",level:2},{value:"actions.assert_short_path",id:"actionsassert_short_path",level:2},{value:"actions.cas_artifact",id:"actionscas_artifact",level:2},{value:"actions.copied_dir",id:"actionscopied_dir",level:2},{value:"actions.copy_dir",id:"actionscopy_dir",level:2},{value:"actions.copy_file",id:"actionscopy_file",level:2},{value:"actions.declare_output",id:"actionsdeclare_output",level:2},{value:"actions.digest_config",id:"actionsdigest_config",level:2},{value:"actions.download_file",id:"actionsdownload_file",level:2},{value:"actions.dynamic_output",id:"actionsdynamic_output",level:2},{value:"actions.dynamic_output_new",id:"actionsdynamic_output_new",level:2},{value:"actions.run",id:"actionsrun",level:2},{value:"actions.symlink_file",id:"actionssymlink_file",level:2},{value:"actions.symlinked_dir",id:"actionssymlinked_dir",level:2},{value:"actions.tset",id:"actionstset",level:2},{value:"actions.write",id:"actionswrite",level:2},{value:"actions.write_json",id:"actionswrite_json",level:2}],c={toc:d};function u(e){let{components:t,...a}=e;return(0,i.mdx)("wrapper",(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,i.mdx)("h1",{id:"actions-type"},(0,i.mdx)("inlineCode",{parentName:"h1"},"actions")," type"),(0,i.mdx)("h2",{id:"actionsanon_target"},"actions.anon","_","target"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'def actions.anon_target(\n rule: "function",\n attrs: dict[str, typing.Any]\n) -> anon_target\n')),(0,i.mdx)("p",null,"An anonymous target is defined by the hash of its attributes, rather than its name. During analysis, rules can define and access the providers of anonymous targets before producing their own providers. Two distinct rules might ask for the same anonymous target, sharing the work it performs."),(0,i.mdx)("p",null,"For more details see ",(0,i.mdx)("a",{parentName:"p",href:"https://buck2.build/docs/rule_authors/anon_targets/"},"https://buck2.build/docs/rule_authors/anon_targets/")),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsanon_targets"},"actions.anon","_","targets"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'def actions.anon_targets(\n rules: list[("function", dict[str, typing.Any])] | tuple[("function", dict[str, typing.Any]), ...]\n) -> anon_targets\n')),(0,i.mdx)("p",null,"Generate a series of anonymous targets."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsartifact_tag"},"actions.artifact","_","tag"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.artifact_tag() -> artifact_tag\n")),(0,i.mdx)("p",null,"Allocate a new input tag. Used with the ",(0,i.mdx)("inlineCode",{parentName:"p"},"dep_files")," argument to ",(0,i.mdx)("inlineCode",{parentName:"p"},"run"),"."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsassert_short_path"},"actions.assert","_","short","_","path"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.assert_short_path(artifact: artifact, short_path: str) -> artifact\n")),(0,i.mdx)("p",null,"Generate a promise artifact that has short path accessible on it. The short path's correctness will be asserted during analysis time."),(0,i.mdx)("p",null,"TODO - we would prefer the API to be ",(0,i.mdx)("inlineCode",{parentName:"p"},'ctx.actions.anon_target(xxx).artifact("foo", short_path=yyy)'),", but\nwe cannot support this until we can get access to the ",(0,i.mdx)("inlineCode",{parentName:"p"},"AnalysisContext")," without passing it into this method."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionscas_artifact"},"actions.cas","_","artifact"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.cas_artifact(\n output: artifact | output_artifact | str,\n digest: str,\n use_case: str,\n /,\n *,\n expires_after_timestamp: int,\n is_executable: bool = False,\n is_tree: bool = False,\n is_directory: bool = False\n) -> artifact\n")),(0,i.mdx)("p",null,"Downloads a CAS artifact to an output"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"digest"),": must look like ",(0,i.mdx)("inlineCode",{parentName:"li"},"SHA1:SIZE")),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"use_case"),": your RE use case"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"expires_after_timestamp"),": must be a UNIX timestamp. Your digest's TTL must exceed this\ntimestamp. Your build will break once the digest expires, so make sure the expiry is long\nenough (preferably, in years)."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"is_executable"),": indicates the resulting file should be marked with executable\npermissions"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"is_tree"),": digest must point to a blob of type\n",(0,i.mdx)("a",{parentName:"li",href:"https://fburl.com/code/95rqgju0"},"RE.Tree")),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"is_directory"),": digest must point to a blob of type\n",(0,i.mdx)("a",{parentName:"li",href:"https://fburl.com/code/4eg40nnp"},"RE.Directory"))),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionscopied_dir"},"actions.copied","_","dir"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.copied_dir(\n output: artifact | output_artifact | str,\n srcs: dict[str, artifact],\n /\n) -> artifact\n")),(0,i.mdx)("p",null,"Returns an ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," which is a directory containing copied files. The srcs must be a dictionary of path (as string, relative to the result directory) to the bound ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),", which will be laid out in the directory."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionscopy_dir"},"actions.copy","_","dir"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.copy_dir(\n dest: artifact | output_artifact | str,\n src: artifact,\n /\n) -> artifact\n")),(0,i.mdx)("p",null,"Make a copy of a directory."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionscopy_file"},"actions.copy","_","file"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.copy_file(\n dest: artifact | output_artifact | str,\n src: artifact,\n /\n) -> artifact\n")),(0,i.mdx)("p",null,"Copies the source ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," to the destination (which can be a string representing a filename or an output ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),") and returns the output ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),". The copy works for files or directories."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsdeclare_output"},"actions.declare","_","output"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.declare_output(\n prefix: str,\n filename: str = _,\n /,\n *,\n dir: bool = False\n) -> artifact\n")),(0,i.mdx)("p",null,"Returns an unbound ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),", representing where a file will go, which must be bound before analysis terminates. The usual way of binding an artifact is with ",(0,i.mdx)("inlineCode",{parentName:"p"},"ctx.actions.run"),". As an example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'my_output = ctx.actions.declare_output("output.o")\nctx.actions.run(["gcc", "-c", my_source, "-o", my_output.as_output()], category = "compile")\n')),(0,i.mdx)("p",null,"This snippet declares an output with the filename ",(0,i.mdx)("inlineCode",{parentName:"p"},"output.o")," (it will be located in the output directory\nfor this target). Note the use of ",(0,i.mdx)("inlineCode",{parentName:"p"},"as_output")," to tag this artifact as being an output in\nthe action. After binding the artifact you can subsequently use ",(0,i.mdx)("inlineCode",{parentName:"p"},"my_output")," as either an\ninput for subsequent actions, or as the result in a provider."),(0,i.mdx)("p",null,"Artifacts from a single target may not have the same name, so if you then want a second\nartifact also named ",(0,i.mdx)("inlineCode",{parentName:"p"},"output.o")," you need to supply a prefix, e.g.\n",(0,i.mdx)("inlineCode",{parentName:"p"},'ctx.actions.declare_output("directory", "output.o")'),". The artifact will still report having\nname ",(0,i.mdx)("inlineCode",{parentName:"p"},"output.o"),", but will be located at ",(0,i.mdx)("inlineCode",{parentName:"p"},"directory/output.o"),"."),(0,i.mdx)("p",null,"The ",(0,i.mdx)("inlineCode",{parentName:"p"},"dir")," argument should be set to ",(0,i.mdx)("inlineCode",{parentName:"p"},"True")," if the binding will be a directory."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsdigest_config"},"actions.digest","_","config"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.digest_config() -> digest_config\n")),(0,i.mdx)("p",null,"Obtain this daemon's digest configuration. This allows rules to discover what digests the daemon may be able to e.g. defer download because they conform to its RE backend's expected digest format."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsdownload_file"},"actions.download","_","file"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.download_file(\n output: artifact | output_artifact | str,\n url: str,\n /,\n *,\n vpnless_url: None | str = None,\n sha1: None | str = None,\n sha256: None | str = None,\n is_executable: bool = False,\n is_deferrable: bool = False\n) -> artifact\n")),(0,i.mdx)("p",null,"Downloads a URL to an output (filename as string or output artifact). The file at the URL must have the given sha1 or the command will fail. The optional parameter is_executable indicates whether the resulting file should be marked with executable permissions. (Meta-internal) The optional parameter vpnless_url indicates a url from which this resource can be downloaded off VPN; this has the same restrictions as ",(0,i.mdx)("inlineCode",{parentName:"p"},"url")," above."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsdynamic_output"},"actions.dynamic","_","output"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.dynamic_output(\n *,\n dynamic: list[artifact] | tuple[artifact, ...],\n inputs: list[artifact] | tuple[artifact, ...] = _,\n outputs: list[output_artifact] | tuple[output_artifact, ...],\n f: typing.Callable[[typing.Any, dict[artifact, artifact_value], dict[artifact, artifact]], None]\n) -> None\n")),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output")," allows a rule to use information that was not available when the rule was first run at analysis time. Examples include things like Distributed ThinLTO (where the index file is created by another action) or OCaml builds (where the dependencies are created by ",(0,i.mdx)("inlineCode",{parentName:"p"},"ocamldeps"),")."),(0,i.mdx)("p",null,"The arguments are:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic")," - a list of artifacts whose values will be available in the function. These will\nbe built before the function is run."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"inputs")," - parameter is ignored."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," - a list of unbound artifacts (created with ",(0,i.mdx)("inlineCode",{parentName:"li"},"declare_artifact"),") which will be\nbound by the function."),(0,i.mdx)("li",{parentName:"ul"},"The function argument is given 3 arguments:",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"ctx")," (context) - which is the same as that passed to the initial rule analysis."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"artifacts")," - using one of the artifacts from ",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic")," (example usage:\n",(0,i.mdx)("inlineCode",{parentName:"li"},"artifacts[artifact_from_dynamic])")," gives an artifact value containing the methods\n",(0,i.mdx)("inlineCode",{parentName:"li"},"read_string"),", ",(0,i.mdx)("inlineCode",{parentName:"li"},"read_lines"),", and ",(0,i.mdx)("inlineCode",{parentName:"li"},"read_json")," to obtain the values from the disk in\nvarious formats. Anything too complex should be piped through a Python script for\ntransformation to JSON."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," - using one of the artifacts from the ",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic_output"),"'s ",(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," (example\nusage: ",(0,i.mdx)("inlineCode",{parentName:"li"},"outputs[artifact_from_dynamic_output_outputs]"),") gives an unbounded artifact. The\nfunction argument must use its ",(0,i.mdx)("inlineCode",{parentName:"li"},"outputs")," argument to bind output artifacts, rather than\nreusing artifacts from the outputs passed into ",(0,i.mdx)("inlineCode",{parentName:"li"},"dynamic_output")," directly."))),(0,i.mdx)("li",{parentName:"ul"},"The function must call ",(0,i.mdx)("inlineCode",{parentName:"li"},"ctx.actions")," (probably ",(0,i.mdx)("inlineCode",{parentName:"li"},"ctx.actions.run"),") to bind all outputs. It\ncan examine the values of the dynamic variables and depends on the inputs.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"The function will usually be a ",(0,i.mdx)("inlineCode",{parentName:"li"},"def"),", as ",(0,i.mdx)("inlineCode",{parentName:"li"},"lambda")," in Starlark does not allow statements,\nmaking it quite underpowered. For full details see\n",(0,i.mdx)("a",{parentName:"li",href:"https://buck2.build/docs/rule_authors/dynamic_dependencies/"},"https://buck2.build/docs/rule_authors/dynamic_dependencies/"),".")))),(0,i.mdx)("p",null,"Besides dynamic dependencies, there is a second use case for ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),": say that you\nhave some output artifact, and that the analysis to produce the action that outputs that\nartifact is expensive, ie takes a lot of CPU time; you would like to skip that work in\nbuilds that do not actually use that artifact."),(0,i.mdx)("p",null,"This can be accomplished by putting the analysis for that artifact behind a ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"\nwith an empty ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic")," list. The ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"'s function will not be run unless one of\nthe actions it outputs is actually requested as part of the build."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsdynamic_output_new"},"actions.dynamic","_","output","_","new"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.dynamic_output_new(dynamic_actions: DynamicAction, /) -> None\n")),(0,i.mdx)("p",null,"New version of ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"."),(0,i.mdx)("p",null,"This is work in progress, and will eventually replace the old ",(0,i.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionsrun"},"actions.run"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.run(\n arguments: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,\n /,\n *,\n category: str,\n identifier: None | str = None,\n env: dict[str, artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _,\n local_only: bool = False,\n prefer_local: bool = False,\n prefer_remote: bool = False,\n low_pass_filter: bool = True,\n always_print_stderr: bool = False,\n weight: int = _,\n weight_percentage: int = _,\n dep_files: dict[str, artifact_tag] = _,\n metadata_env_var: str = _,\n metadata_path: str = _,\n no_outputs_cleanup: bool = False,\n allow_cache_upload: bool = False,\n allow_dep_file_cache_upload: bool = False,\n force_full_hybrid_if_capable: bool = False,\n exe: RunInfo | WorkerRunInfo = _,\n unique_input_inodes: bool = False,\n error_handler: typing.Callable = _,\n remote_execution_dependencies: list[dict[str, str]] = []\n) -> None\n")),(0,i.mdx)("p",null,"Runs a command"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"arguments"),": must be of type ",(0,i.mdx)("inlineCode",{parentName:"li"},"cmd_args"),", or a type convertible to such (such as a list of\nstrings and artifacts) and must contain at least one ",(0,i.mdx)("inlineCode",{parentName:"li"},".as_output()")," artifact"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"category"),": category and identifier - when used together, identify the action in Buck2's\nevent stream, and must be unique for a given target"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"weight"),": used to note how heavy the command is and will typically be set to a higher\nvalue to indicate that less such commands should be run in parallel (if running locally)"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"no_outputs_cleanup"),": if this flag is set then Buck2 won't clean the outputs of a previous\nbuild that might be present on a disk; in which case, command from arguments should be\nresponsible for the cleanup (that is useful, for example, when an action is supporting\nincremental mode and its outputs are based on result from a previous build)"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"metadata_env_var")," and ",(0,i.mdx)("inlineCode",{parentName:"li"},"meadata_path")," should be used together: both set or both unset",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"metadata_path"),": defines a path relative to the result directory for a file with\naction metadata, which will be created right before the command will be run."),(0,i.mdx)("li",{parentName:"ul"},"Metadata contains the path relative to the Buck2 project root and hash digest for\nevery action input (this excludes symlinks as they could be resolved by a user script\nif needed). The resolved path relative to the Buck2 project for the metadata file will\nbe passed to command from arguments, via the environment variable, with its name set\nby ",(0,i.mdx)("inlineCode",{parentName:"li"},"metadata_env_var")),(0,i.mdx)("li",{parentName:"ul"},"Both ",(0,i.mdx)("inlineCode",{parentName:"li"},"metadata_env_var")," and ",(0,i.mdx)("inlineCode",{parentName:"li"},"metadata_path")," are useful when making actions behave in\nan incremental manner (for details, see ",(0,i.mdx)("a",{parentName:"li",href:"https://buck2.build/docs/rule_authors/incremental_actions/"},"Incremental\nActions"),")"))),(0,i.mdx)("li",{parentName:"ul"},"The ",(0,i.mdx)("inlineCode",{parentName:"li"},"prefer_local"),", ",(0,i.mdx)("inlineCode",{parentName:"li"},"prefer_remote")," and ",(0,i.mdx)("inlineCode",{parentName:"li"},"local_only")," options allow selecting where the\naction should run if the executor selected for this target is a hybrid executor.",(0,i.mdx)("pre",{parentName:"li"},(0,i.mdx)("code",{parentName:"pre"},'* All those options disable concurrent execution: the action will run on the preferred\nplatform first (concurrent execution only happens with a "full" hybrid executor).\n* Execution may be retried on the "non-preferred" platform if it fails due to a\ntransient error, except for `local_only`, which does not allow this.\n* If the executor selected is a remote-only executor and you use `local_only`, that\'s an\nerror. The other options will not raise errors.\n* Setting more than one of those options is an error.\n* Those flags behave the same way as the equivalent `--prefer-remote`, `--prefer-local`\nand `--local-only` CLI flags. The CLI flags take precedence.\n* The `force_full_hybrid_if_capable` option overrides the `use_limited_hybrid` hybrid.\nThe options listed above take precedence if set.\n'))),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"remote_execution_dependencies"),": list of dependencies which is passed to Remote Execution.\nEach dependency is dictionary with the following keys:",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"smc_tier"),": name of the SMC tier to call by RE Scheduler."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"id"),": name of the dependency.")))),(0,i.mdx)("p",null,"When actions execute, they'll do so from the root of the repository. As they execute,\nactions have exclusive access to their output directory."),(0,i.mdx)("p",null,'Actions also get exclusive access to a "scratch" path that is exposed via the environment\nvariable ',(0,i.mdx)("inlineCode",{parentName:"p"},"BUCK_SCRATCH_PATH"),". This path is expressed as a path relative to the working\ndirectory (i.e. relative to the project). This path is guaranteed to exist when the action\nexecutes."),(0,i.mdx)("p",null,"When actions run locally, the scratch path is also used as the ",(0,i.mdx)("inlineCode",{parentName:"p"},"TMPDIR"),"."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionssymlink_file"},"actions.symlink","_","file"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.symlink_file(\n dest: artifact | output_artifact | str,\n src: artifact,\n /\n) -> artifact\n")),(0,i.mdx)("p",null,"Creates a symlink to the source ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," at the destination (which can be a string representing a filename or an output ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),") and returns the output ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),". The symlink works for files or directories."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionssymlinked_dir"},"actions.symlinked","_","dir"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.symlinked_dir(\n output: artifact | output_artifact | str,\n srcs: dict[str, artifact],\n /\n) -> artifact\n")),(0,i.mdx)("p",null,"Returns an ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," that is a directory containing symlinks. The srcs must be a dictionary of path (as string, relative to the result directory) to bound ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact"),", which will be laid out in the directory."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionstset"},"actions.tset"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.tset(\n definition: transitive_set_definition,\n /,\n value = _,\n children: typing.Iterable = _\n) -> transitive_set\n")),(0,i.mdx)("p",null,"Creates a new transitive set. For details, see ",(0,i.mdx)("a",{parentName:"p",href:"https://buck2.build/docs/rule_authors/transitive_sets/"},"https://buck2.build/docs/rule_authors/transitive_sets/"),"."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionswrite"},"actions.write"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.write(\n output: artifact | output_artifact | str,\n content: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,\n /,\n *,\n is_executable: bool = False,\n allow_args: bool = False,\n with_inputs: bool = False,\n absolute: bool = False\n) -> artifact | (artifact, list[artifact])\n")),(0,i.mdx)("p",null,"Returns an ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," whose contents are ",(0,i.mdx)("inlineCode",{parentName:"p"},"content")),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"is_executable")," (optional): indicates whether the resulting file should be marked with\nexecutable permissions"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"allow_args")," (optional): must be set to ",(0,i.mdx)("inlineCode",{parentName:"li"},"True")," if you want to write parameter arguments to\nthe file (in particular, macros that write to file)",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"If it is true, the result will be a pair of the ",(0,i.mdx)("inlineCode",{parentName:"li"},"artifact")," containing content and a\nlist of artifact values that were written by macros, which should be used in hidden\nfields or similar"))),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"absolute")," (optional): if set, this action will produce absolute paths in its output when\nrendering artifact paths. You generally shouldn't use this if you plan to use this action\nas the input for anything else, as this would effectively result in losing all shared\ncaching.")),(0,i.mdx)("p",null,"The content is often a string, but can be any ",(0,i.mdx)("inlineCode",{parentName:"p"},"ArgLike")," value. This is occasionally useful\nfor generating scripts to run as a part of another action. ",(0,i.mdx)("inlineCode",{parentName:"p"},"cmd_args")," in the content are\nnewline separated unless another delimiter is explicitly specified."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"actionswrite_json"},"actions.write","_","json"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def actions.write_json(\n output: artifact | output_artifact | str,\n content: None | artifact | bool | cell_root | cmd_args | enum | int | label | label_relative_path | output_artifact | project_root | record | resolved_macro | str | tagged_command_line | tagged_value | target_label | transitive_set_args_projection | transitive_set_json_projection | write_json_cli_args | list[typing.Any] | tuple | dict[typing.Any, typing.Any] | struct(..) | RunInfo | provider,\n /,\n *,\n with_inputs: bool = False,\n pretty: bool = False,\n absolute: bool = False\n) -> artifact | write_json_cli_args\n")),(0,i.mdx)("p",null,"Returns an ",(0,i.mdx)("inlineCode",{parentName:"p"},"artifact")," whose contents are ",(0,i.mdx)("inlineCode",{parentName:"p"},"content")," written as a JSON value."),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"output"),": can be a string, or an existing artifact created with ",(0,i.mdx)("inlineCode",{parentName:"li"},"declare_output")),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"content"),": must be composed of the basic json types (boolean, number, string, list/tuple,\ndictionary) plus artifacts and command lines",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"An artifact will be written as a string containing the path"),(0,i.mdx)("li",{parentName:"ul"},"A command line will be written as a list of strings, unless ",(0,i.mdx)("inlineCode",{parentName:"li"},"joined=True")," is set, in\nwhich case it will be a string"))),(0,i.mdx)("li",{parentName:"ul"},"If you pass ",(0,i.mdx)("inlineCode",{parentName:"li"},"with_inputs = True"),", you'll get back a ",(0,i.mdx)("inlineCode",{parentName:"li"},"cmd_args")," that expands to the JSON\nfile but carries all the underlying inputs as dependencies (so you don't have to use, for\nexample, ",(0,i.mdx)("inlineCode",{parentName:"li"},"hidden")," for them to be added to an action that already receives the JSON file)"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"pretty")," (optional): write formatted JSON (defaults to ",(0,i.mdx)("inlineCode",{parentName:"li"},"False"),")"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"absolute")," (optional): if set, this action will produce absolute paths in its output when\nrendering artifact paths. You generally shouldn't use this if you plan to use this action\nas the input for anything else, as this would effectively result in losing all shared\ncaching. (defaults to ",(0,i.mdx)("inlineCode",{parentName:"li"},"False"),")")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3bfeda06.f5a9f21d.js b/assets/js/3bfeda06.f5a9f21d.js new file mode 100644 index 0000000000000..019c4776973b5 --- /dev/null +++ b/assets/js/3bfeda06.f5a9f21d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8033],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>u,MDXProvider:()=>c,mdx:()=>x,useMDXComponents:()=>d,withMDXComponents:()=>p});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=r.createContext({}),p=function(e){return function(t){var n=d(t.components);return r.createElement(e,o({},t,{components:n}))}},d=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=d(e.components);return r.createElement(u.Provider,{value:t},e.children)},m="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=d(n),c=a,m=p["".concat(i,".").concat(c)]||p[c]||g[c]||o;return n?r.createElement(m,s(s({ref:t},u),{},{components:n})):r.createElement(m,s({ref:t},u))}));function x(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[m]="string"==typeof e?e:a,i[1]=s;for(var u=2;u<o;u++)i[u]=n[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},99560:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var r=n(87462),a=(n(67294),n(3905));const o={id:"target_universe",title:"Target Universe in BXL"},i=void 0,s={unversionedId:"developers/target_universe",id:"developers/target_universe",title:"Target Universe in BXL",description:"BXL cquery and target universe",source:"@site/../docs/developers/bxl_target_universe.md",sourceDirName:"developers",slug:"/developers/target_universe",permalink:"/docs/developers/target_universe",draft:!1,tags:[],version:"current",frontMatter:{id:"target_universe",title:"Target Universe in BXL"},sidebar:"mainSidebar",previous:{title:"Common How-Tos",permalink:"/docs/developers/bxl_how_tos"},next:{title:"BXL Telemetry",permalink:"/docs/developers/bxl_telemetry"}},l={},u=[{value:"BXL cquery and target universe",id:"bxl-cquery-and-target-universe",level:2},{value:"Specifying target universe in BXL cquery",id:"specifying-target-universe-in-bxl-cquery",level:3},{value:"What does the target universe tend to be in practice?",id:"what-does-the-target-universe-tend-to-be-in-practice",level:3},{value:"<code>keep-going</code>",id:"keep-going",level:3},{value:"BXL build and target universe",id:"bxl-build-and-target-universe",level:2}],p={toc:u};function d(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h2",{id:"bxl-cquery-and-target-universe"},"BXL cquery and target universe"),(0,a.mdx)("p",null,"BXL cannot infer the ",(0,a.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#target-universe"},"target universe"),"\nlike in the CLI (in most cases). BXL splits up cquery functions per function\n(ex: ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.cquery().kind(...)"),"), with the exception of ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.cquery.eval(...)"),",\nwhich accepts literals exactly like in the CLI. For the ",(0,a.mdx)("inlineCode",{parentName:"p"},"eval")," query, target\nuniverse is inferred exactly like the CLI."),(0,a.mdx)("p",null,"For all other cases, take the following query as an example:"),(0,a.mdx)("p",null,(0,a.mdx)("inlineCode",{parentName:"p"},'buck2 cquery "rdeps(deps(//example:foo), deps(//example:bar))"')),(0,a.mdx)("p",null,"The target universe here should be constructed from the all the target literals\nand their transitive deps, which is to say ",(0,a.mdx)("inlineCode",{parentName:"p"},"deps(//example:foo, //example:bar)"),".\nWhen you run the query, the evaluation of ",(0,a.mdx)("inlineCode",{parentName:"p"},"deps(//example:foo)")," and\n",(0,a.mdx)("inlineCode",{parentName:"p"},"deps(//example:bar)")," nested in the ",(0,a.mdx)("inlineCode",{parentName:"p"},"rdeps")," query will happen inside the\nuniverse resulting from ",(0,a.mdx)("inlineCode",{parentName:"p"},"deps(//example:foo, //example:bar)"),". Translating it to\nBXL's individual cquery functions, and let\u2019s say we also try to use the target\nliterals to construct the universe as the CLI target inference does:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'from_node = ctx.cquery().deps("//example:foo") # universe would be //example:foo\n\nto_node = ctx.cquery().deps("//example:bar") # universe would be //example:bar\n\nrdeps = ctx.cquery().rdeps(from_node, to_node) # what is the universe here?\n')),(0,a.mdx)("p",null,"Here, the ",(0,a.mdx)("inlineCode",{parentName:"p"},"from_node")," query is actually evaluated in the wrong target universe\nbecause we have broken up the query steps in BXL. Instead of\n",(0,a.mdx)("inlineCode",{parentName:"p"},"deps(//example:foo)")," being evaluated in ",(0,a.mdx)("inlineCode",{parentName:"p"},"deps(//example:foo, //example:bar)"),",\nit\u2019s evaluated with only ",(0,a.mdx)("inlineCode",{parentName:"p"},"deps(//example:foo)"),". It\u2019s impossible to know that\nthere\u2019s going to be an rdeps query later on that expects a different target\nuniverse."),(0,a.mdx)("h3",{id:"specifying-target-universe-in-bxl-cquery"},"Specifying target universe in BXL cquery"),(0,a.mdx)("p",null,"BXL cquery functions should only accept configured targets as inputs, with the\nexception of ",(0,a.mdx)("inlineCode",{parentName:"p"},"eval")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"testsof_with_default_platform"),"."),(0,a.mdx)("p",null,"BXL has a ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.target_universe()")," function to construct a ",(0,a.mdx)("inlineCode",{parentName:"p"},"target_universe"),"\nobject, which has a ",(0,a.mdx)("inlineCode",{parentName:"p"},"lookup()")," function to lookup the configured targets within\nthe target universe and return the target set. \u200b\u200bThe lookup functionality is\nuseful because sometimes a single target can appear multiple times within a\ntarget universe. For example, if you specify a cxx toolchain using its\nunconfigured target label, it will always match against all cxx toolchains in\nthe target universe (so at least once for target deps and once for exec deps),\nsince cxx toolchains may have multiple configurations. Example:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl():\n target_universe = ctx.target_universe(["//example:foo", "//example:bar"])\n to_node = target_universe.lookup("//example:foo")\n from_node = target_universe.lookup("//example:bar")\n rdeps = ctx.cquery().rdeps(to_node, from_node)\n')),(0,a.mdx)("p",null,"However, sometimes you might want a specific configuration instead of using all\nconfigurations found within a target universe, in which case you could use\n",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.configured_targets(...)")," to specify the configuration. Or, sometimes you\nmay want to use the specific configured target nodes resulting from other BXL\ncalls. In these cases, you can pass the configured targets directly into cquery\nfunctions, instead of going through target universe lookup."),(0,a.mdx)("h3",{id:"what-does-the-target-universe-tend-to-be-in-practice"},"What does the target universe tend to be in practice?"),(0,a.mdx)("p",null,"For ",(0,a.mdx)("inlineCode",{parentName:"p"},"owner")," query, the universe would be constructed with the unconfigured\ntarget nodes returned from ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.uquery().owner(...)"),". Example:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl():\n unconfigured_owners = ctx.uquery().owner("foobar")\n target_universe = ctx.target_universe(unconfigured_owners).target_set()\n owners = ctx.cquery().owner("foobar", target_universe)\n')),(0,a.mdx)("p",null,"For everything else, the universe would usually be constructed using all target\nliterals found in your query. Example:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl():\n target_universe = ctx.target_universe("//example:foo")\n inputs = target_universe.target_set()\n deps = ctx.cquery().deps(inputs)\n')),(0,a.mdx)("p",null,"While the above guideline should work for ",(0,a.mdx)("inlineCode",{parentName:"p"},"rdeps")," as well, for ",(0,a.mdx)("inlineCode",{parentName:"p"},"rdeps"),' the\nuniverse would usually be narrowed down to the "to"/"destination" target set\nargument. (This is a subset of the target universe suggested for non-',(0,a.mdx)("inlineCode",{parentName:"p"},"owner"),"\nquery cases). Updating the example from above:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl():\n target_universe = ctx.target_universe("//example:foo") # narrowed down to the "to" literals in rdeps\n universe_node = target_universe.target_set()\n from_node = target_universe.lookup("//example:bar")\n rdeps = ctx.cquery().rdeps(universe_node, from_node)\n')),(0,a.mdx)("h3",{id:"keep-going"},(0,a.mdx)("inlineCode",{parentName:"h3"},"keep-going")),(0,a.mdx)("p",null,"The configured graph can be broken for various reasons: incompatible targets\n(BXL skips these automatically), visibility issues, nonexistent targets, etc.\nFor issues that are not incompatible targets, the ",(0,a.mdx)("inlineCode",{parentName:"p"},"target_universe")," can be\nconstructed with the ",(0,a.mdx)("inlineCode",{parentName:"p"},"keep_going")," flag set to ",(0,a.mdx)("inlineCode",{parentName:"p"},"True")," to skip any other errors,\nand your cquery will not error out. Note that ",(0,a.mdx)("inlineCode",{parentName:"p"},"keep_going")," is only compatible\nfor a single string literal target or target pattern at the moment."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'ctx.target_universe("//foo/...", keep_going = True)\n')),(0,a.mdx)("h2",{id:"bxl-build-and-target-universe"},"BXL build and target universe"),(0,a.mdx)("p",null,"Note that BXL builds currently do not support target universe, but we intend to\nadd this."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3ec19b9d.9d5ec38e.js b/assets/js/3ec19b9d.9d5ec38e.js new file mode 100644 index 0000000000000..abbab167a8d2c --- /dev/null +++ b/assets/js/3ec19b9d.9d5ec38e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7829],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>s,MDXProvider:()=>m,mdx:()=>x,useMDXComponents:()=>u,withMDXComponents:()=>p});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},i.apply(this,arguments)}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function d(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=a.createContext({}),p=function(e){return function(n){var t=u(n.components);return a.createElement(e,i({},n,{components:t}))}},u=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},m=function(e){var n=u(e.components);return a.createElement(s.Provider,{value:n},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},f=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),p=u(t),m=r,c=p["".concat(o,".").concat(m)]||p[m]||h[m]||i;return t?a.createElement(c,l(l({ref:n},s),{},{components:t})):a.createElement(c,l({ref:n},s))}));function x(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,o=new Array(i);o[0]=f;var l={};for(var d in n)hasOwnProperty.call(n,d)&&(l[d]=n[d]);l.originalType=e,l[c]="string"==typeof e?e:r,o[1]=l;for(var s=2;s<i;s++)o[s]=t[s];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}f.displayName="MDXCreateElement"},98126:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var a=t(87462),r=(t(67294),t(3905));const i={id:"writing_rules",title:"Writing Rules"},o=void 0,l={unversionedId:"rule_authors/writing_rules",id:"rule_authors/writing_rules",title:"Writing Rules",description:"This page describes how to write rules for Buck2 and explains the flow for",source:"@site/../docs/rule_authors/writing_rules.md",sourceDirName:"rule_authors",slug:"/rule_authors/writing_rules",permalink:"/docs/rule_authors/writing_rules",draft:!1,tags:[],version:"current",frontMatter:{id:"writing_rules",title:"Writing Rules"},sidebar:"mainSidebar",previous:{title:"External Cells",permalink:"/docs/users/advanced/external_cells"},next:{title:"Transitive Sets",permalink:"/docs/rule_authors/transitive_sets"}},d={},s=[{value:"Workflow by example",id:"workflow-by-example",level:2},{value:"Concepts and design",id:"concepts-and-design",level:2},{value:"Providers",id:"providers",level:3},{value:"Actions",id:"actions",level:3},{value:"Run action",id:"run-action",level:4},{value:"Debugging",id:"debugging",level:2},{value:"Testing Rules",id:"testing-rules",level:2},{value:"New rules",id:"new-rules",level:2}],p=(u="FbInternalOnly",function(e){return console.warn("Component "+u+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.mdx)("div",e)});var u;const m={toc:s};function c(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"This page describes how to write rules for Buck2 and explains the flow for\nimplementing rules that are already defined in Buck1."),(0,r.mdx)("p",null,"For a list of the API functions available, see the\n",(0,r.mdx)("a",{parentName:"p",href:"../../api/build/globals"},"Build APIs"),"."),(0,r.mdx)("admonition",{type:"note"},(0,r.mdx)("p",{parentName:"admonition"},"Rules such as ",(0,r.mdx)("inlineCode",{parentName:"p"},"@fbcode_macros//build_defs:native_rules.bzl buck_genrule")," are not actually rules, they are ",(0,r.mdx)("em",{parentName:"p"},"macros")," (Starlark functions that eventually call out the underlying ",(0,r.mdx)("inlineCode",{parentName:"p"},"genrule")," ",(0,r.mdx)("em",{parentName:"p"},"rule"),"). Macros in Buck2 are mostly compatible with Buck1 and should be written in the same way.")),(0,r.mdx)("h2",{id:"workflow-by-example"},"Workflow by example"),(0,r.mdx)("p",null,"The built-in Buck2 rules are stored in the ",(0,r.mdx)("inlineCode",{parentName:"p"},"prelude")," folder in the buck2 repo.\nTo add a rule for a language, say ",(0,r.mdx)("inlineCode",{parentName:"p"},"pascal"),":"),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},"Look at\n",(0,r.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/blob/main/prelude/decls/"},"prelude/decls"),"\nto see the attributes that are supported in Buck1 and are mirrored into\nBuck2. If ",(0,r.mdx)("inlineCode",{parentName:"p"},"pascal")," was an existing rule, you would see what attributes it\ntakes (often it will be ",(0,r.mdx)("inlineCode",{parentName:"p"},"pascal_library")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"pascal_binary"),").")),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},"Create a file ",(0,r.mdx)("inlineCode",{parentName:"p"},"pascal.bzl")," that will contain your rule implementations. The\ndetails are explained later, but a dummy rule looks like the following:"),(0,r.mdx)("pre",{parentName:"li"},(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def pascal_binary_impl(_ctx: AnalysisContext) -> list[Provider]:\n return [DefaultInfo()]\n"))),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},"Create a directory in ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode/buck2/tests/targets/rules/pascal")," with\n",(0,r.mdx)("inlineCode",{parentName:"p"},"TARGETS")," and whatever source files and test targets you need to test your\nproject. Note, Apple tests are currently located at\n",(0,r.mdx)("inlineCode",{parentName:"p"},"xplat/buck2/tests/apple/..."),".")),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},"Test your code with ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build fbcode//buck2/tests/targets/rules/pascal:"),".\nThey should succeed with no actual output produced.")),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},"Now implement the rules (see the rest of this page)."))),(0,r.mdx)("admonition",{type:"note"},(0,r.mdx)("p",{parentName:"admonition"},"Before merging a diff, it's important that all your Starlark is warning free (if you don't want to set up Buck2 for local development, test it in CI). ",(0,r.mdx)(p,{mdxType:"FbInternalOnly"},"If you do set it up locally, see the ",(0,r.mdx)("inlineCode",{parentName:"p"},"README.md")," in the root of ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode/buck2"),". Running ",(0,r.mdx)("inlineCode",{parentName:"p"},"./test.py --lint-only")," will confirm your Starlark code is warning free."))),(0,r.mdx)("h2",{id:"concepts-and-design"},"Concepts and design"),(0,r.mdx)("p",null,"A ",(0,r.mdx)("em",{parentName:"p"},"rule")," for a ",(0,r.mdx)("em",{parentName:"p"},"target")," uses ",(0,r.mdx)("em",{parentName:"p"},"attributes")," to declare ",(0,r.mdx)("em",{parentName:"p"},"actions"),", which produce\n",(0,r.mdx)("em",{parentName:"p"},"artifacts")," that get included in ",(0,r.mdx)("em",{parentName:"p"},"providers"),"."),(0,r.mdx)("p",null,"For example, given:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def pascal_binary_impl(ctx: AnalysisContext) -> list[Provider]:\n ...\n binary = ctx.actions.declare_output(ctx.attrs.out)\n ctx.actions.run(["pascalc", ctx.attrs.srcs, "-o", binary.as_output()])\n return [\n DefaultInfo(default_output = binary),\n ]\n\npascal_binary = rule(impl = pascal_binary_impl, attrs = {\n "out": attrs.string(),\n ...\n})\n')),(0,r.mdx)("p",null,"In the above snippet:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Rule")," is ",(0,r.mdx)("inlineCode",{parentName:"li"},"pascal_binary"),", which is implemented by ",(0,r.mdx)("inlineCode",{parentName:"li"},"pascal_binary_impl"),". The\nrule says how to build things."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Target")," will be something like\n",(0,r.mdx)("inlineCode",{parentName:"li"},"fbcode//buck2/tests/targets/rules/pascal:my_binary"),". The rule implementation\n",(0,r.mdx)("inlineCode",{parentName:"li"},"pascal_binary_impl")," will be called once per target."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Attributes")," are the fields on the target (for example, you might have\n",(0,r.mdx)("inlineCode",{parentName:"li"},"out"),", which can be accessed via ",(0,r.mdx)("inlineCode",{parentName:"li"},"ctx.attrs.out"),")."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Actions")," are declared by the rule with things like ",(0,r.mdx)("inlineCode",{parentName:"li"},"ctx.actions.run"),", which\ntakes a command line. Note that the actions are not run by the rule, but\ndeclared, so that Buck2 can run them later."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Artifacts")," represent files on disk, which could be source or build outputs\n(",(0,r.mdx)("inlineCode",{parentName:"li"},"binary")," in the above example).",(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},"For build outputs, the artifact is produced by an action, and the existence\nof the artifact does not imply the build has been run: the artifact\n'remembers' what should be run if it is required."))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Providers")," are returned, which is information that other rules get to use.\nThese will often contain artifacts.")),(0,r.mdx)("p",null,"The rule implementation takes in a ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx"),", which is the rule context. The two\nmost important fields are ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.attrs"),", which picks up the attributes declared by\nthe rule, and ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions"),", which lets you create new actions to actually do\nsomething."),(0,r.mdx)("p",null,"The output of any actions performed will be materialized in ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck-out"),". However,\nonly the defined outputs of providers are available for dependent rules to\nconsume and only the actions necessary to produce those outputs being consumed\nwill be run. By default, the ",(0,r.mdx)("inlineCode",{parentName:"p"},"default_output")," of the ",(0,r.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," provider is\nbuilt and output during a ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck build"),"."),(0,r.mdx)("h3",{id:"providers"},"Providers"),(0,r.mdx)("p",null,"Providers are the data returned from a rule and are the only way that\ninformation from this rule is available to rules that depend on it. Every rule\nmust return at least the ",(0,r.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," provider, but most will also return\neither ",(0,r.mdx)("inlineCode",{parentName:"p"},"RunInfo")," (because they are executable) or some custom provider (because\nthey are incorporated into something that is ultimately executable)."),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," provider has a field ",(0,r.mdx)("inlineCode",{parentName:"p"},"default_output"),", which is the file that\nwill be built when someone executes a ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build")," on this particular target,\nand the file that will be used when someone runs ",(0,r.mdx)("inlineCode",{parentName:"p"},"$(location target)")," or uses it\nas a source file (such as ",(0,r.mdx)("inlineCode",{parentName:"p"},'srcs = [":my_target"]'),".)"),(0,r.mdx)("p",null,"The current rule of thumb is that if you can build the ",(0,r.mdx)("inlineCode",{parentName:"p"},"default_output"),", the\nrule must 'work', and, if usable, should be 'ready'. For example, for a binary,\nthe executable and runtime libraries it depends on might be returned. For a\nlibrary, because neither the static or dynamic library is the 'default', you\nmerely have to do enough work to ensure that the static and dynamic library\nprobably work."),(0,r.mdx)("p",null,"Similar to how ",(0,r.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," wraps a list of artifacts and ",(0,r.mdx)("inlineCode",{parentName:"p"},"$(location)")," selects\nfrom ",(0,r.mdx)("inlineCode",{parentName:"p"},"DefaultInfo"),", ",(0,r.mdx)("inlineCode",{parentName:"p"},"RunInfo")," wraps a command line and ",(0,r.mdx)("inlineCode",{parentName:"p"},"$(exe)")," selects from\n",(0,r.mdx)("inlineCode",{parentName:"p"},"RunInfo"),"."),(0,r.mdx)("p",null,"For more information about command lines, see ",(0,r.mdx)("a",{parentName:"p",href:"#run-action"},"Run action"),", below."),(0,r.mdx)("p",null,"For libraries, usually you need to pass some information about the library up to\nthe binary. The ",(0,r.mdx)("em",{parentName:"p"},"only")," information that dependents on the library get are the\nproviders, so designing the information that flows around the provider is\ncritical to designing good rules."),(0,r.mdx)("p",null,"For a hypothetical rule, you may decide you want the name of the library and the\nartifact that represents the ",(0,r.mdx)("inlineCode",{parentName:"p"},".so")," file, for which you could define the\nfollowing provider:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'PascalLibraryInfo = provider(fields=[\n "name", # The name of the library\n "object" # An artifact, the .so file that needs linking in\n ]\n)\n')),(0,r.mdx)("p",null,"Often, you'll grab your dependencies from all your providers:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"my_deps = [x[PascalLibraryInfo] for x in ctx.attrs.deps]\n")),(0,r.mdx)("p",null,"In many cases, it becomes apparent you need the transitive closure of all\nlibraries (for example, the libraries and everything they depend upon), in which\ncase, the standard pattern is to move to a provider of a list of ",(0,r.mdx)("inlineCode",{parentName:"p"},"record")," (see\nthe\n",(0,r.mdx)("a",{parentName:"p",href:"https://github.com/facebook/starlark-rust/blob/main/docs/types.md"},"types.md"),"\ndocument in GitHub) and the ",(0,r.mdx)("inlineCode",{parentName:"p"},"flatten/dedupe")," functions, defining it as:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'PascalLibraryInfo = provider(fields=["links"]) # a list of LinkData\n\nLinkData = record(name = str, object = "artifact")\n')),(0,r.mdx)("p",null,"And then consuming it:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"my_links = dedupe(flatten([x[PascalLibraryInfo].links for x in ctx.attrs.deps]))\nmy_info = PascalLibraryInfo(links = my_links)\n")),(0,r.mdx)("p",null,"However, this ",(0,r.mdx)("inlineCode",{parentName:"p"},"flatten"),"/",(0,r.mdx)("inlineCode",{parentName:"p"},"dupe")," pattern can get expensive, especially when you\nhave a deep dependency graph. To fix that it's recommended to use\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/rule_authors/transitive_sets"},"transitive sets"),"."),(0,r.mdx)("h3",{id:"actions"},"Actions"),(0,r.mdx)("p",null,"There are several actions you can use to create symlink trees, and so on."),(0,r.mdx)("h4",{id:"run-action"},"Run action"),(0,r.mdx)("p",null,"Of the various actions, the ",(0,r.mdx)("inlineCode",{parentName:"p"},"run")," action is by far the most important: it's the\none that invokes a command line."),(0,r.mdx)("p",null,"A command line is both a list of string arguments and a list of artifacts they\ndepend on; with syntactic niceties for adding artifacts to command lines in a\nway that ensures the dependencies are usually correct."),(0,r.mdx)("p",null,"Following are examples of command line manipulations:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'cmd = cmd_args(["some", "arguments"])\ncmd.add("another-arg")\ncmd.add(ctx.attrs.src) # An input artifact\nout = ctx.actions.declare_output("an output")\ncmd.add(out.as_output())\nctx.actions.run(cmd)\n')),(0,r.mdx)("p",null,"The action ",(0,r.mdx)("inlineCode",{parentName:"p"},"declare_output")," creates a new artifact which is not bound to\nanything. You can call ",(0,r.mdx)("inlineCode",{parentName:"p"},".as_output()")," on it when adding it to a command line to\nsay that this command line doesn't take the artifact as an input but produces it\nas an output."),(0,r.mdx)("p",null,"From now on, if ",(0,r.mdx)("inlineCode",{parentName:"p"},"out")," is used as a dependency (either to another command line,\nor in ",(0,r.mdx)("inlineCode",{parentName:"p"},"DefaultInfo"),") then the action will be run to produce that artifact.\nTypically, these outputs are declared (",(0,r.mdx)("inlineCode",{parentName:"p"},"declare_output"),"), bound in a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions.run")," call with ",(0,r.mdx)("inlineCode",{parentName:"p"},".as_output()"),", then either used locally as the\ninput to another action or returned in a provider."),(0,r.mdx)("p",null,"As another example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'cmd = cmd_args(["cp", input, output.as_output()])\nctx.actions.run(cmd)\n')),(0,r.mdx)("p",null,"A command provides both a string (what to write when used) and a list of\nartifacts (what must be available when used). Normally, as in the case above,\nthe artifacts that are used correspond to those on the command line. But imagine\nthe rule is changed to write the command to a shell script first:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'sh = ctx.actions.write("test.sh", ["cp", input, output])\ncmd = cmd_args(["sh",sh],hidden=[input, output.as_output()])\nctx.actions.run(cmd)\n')),(0,r.mdx)("p",null,"The command has been written to a shell script, which is now run. Beforehand,\nall the artifacts used by the command appeared on the command line. Now they\ndon't. However, the shell script still accesses input and output. To inform the\nrun command, use the hidden field of the command line to declare the dependency."),(0,r.mdx)("p",null,"For more complicated actions, which perform meaningful logic beyond invoking a\nsimple command, the tendency is to write custom Python scripts. Python scripts\nare used instead of shell scripts as they have better cross-platform\ncompatibility and fewer hidden corners (especially in error paths)."),(0,r.mdx)("p",null,"As an example of a Python helper, see\n",(0,r.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/blob/main/prelude/cxx/tools/make_comp_db.py"},"make_comp_db.py"),"."),(0,r.mdx)("p",null,"A further advantage of using Python is that these commands can be tested in\nisolation, outside of Buck2."),(0,r.mdx)("h2",{id:"debugging"},"Debugging"),(0,r.mdx)("p",null,"The functions ",(0,r.mdx)("inlineCode",{parentName:"p"},"fail"),", ",(0,r.mdx)("inlineCode",{parentName:"p"},"print")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"pprint")," are your friends. To get started, a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build fbcode//buck2/tests/targets/rules/pascal:")," builds everything or\n",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 run fbcode//buck2/tests/targets/rules/pascal:my_binary")," runs a specific\nbinary that returns a ",(0,r.mdx)("inlineCode",{parentName:"p"},"RunInfo"),"."),(0,r.mdx)("h2",{id:"testing-rules"},"Testing Rules"),(0,r.mdx)("p",null,"A common way to test is to use ",(0,r.mdx)("inlineCode",{parentName:"p"},"genrule")," to cause the produced binary to run and\nassert some properties from it. If your rule is in Buck1 and Buck2, use a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"TARGETS")," file so you can test with both. If your tests are incompatible with\nBuck1 (such as if it is a new rule), use ",(0,r.mdx)("inlineCode",{parentName:"p"},"TARGETS.v2"),", which will only be seen\nby Buck2 and won't cause errors with Buck1."),(0,r.mdx)("h2",{id:"new-rules"},"New rules"),(0,r.mdx)("p",null,"If your rule is ",(0,r.mdx)("strong",{parentName:"p"},"not")," already in Buck1, then you can define it wherever you\nlike, with a preference for it not being in ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode/buck2/prelude"),"."),(0,r.mdx)("p",null,"The only advantage of the ",(0,r.mdx)("inlineCode",{parentName:"p"},"prelude")," is that rules can be used without a\ncorresponding ",(0,r.mdx)("inlineCode",{parentName:"p"},"load"),", which is generally considered a misfeature. The attributes\nshould usually be placed adjacent to the rule itself."),(0,r.mdx)("p",null,"As an example, just below the ",(0,r.mdx)("inlineCode",{parentName:"p"},"pascal_binary_impl")," function, you could write:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'pascal_binary = rule(\n impl = pascal_binary_impl,\n attrs = {\n "deps": attrs.list(attrs.dep()),\n "src": attrs.source(),\n }\n)\n')))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3f53dfef.d14fc06e.js b/assets/js/3f53dfef.d14fc06e.js new file mode 100644 index 0000000000000..c3d67b0b7caaa --- /dev/null +++ b/assets/js/3f53dfef.d14fc06e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6267],{3905:(t,e,r)=>{r.r(e),r.d(e,{MDXContext:()=>l,MDXProvider:()=>d,mdx:()=>b,useMDXComponents:()=>s,withMDXComponents:()=>u});var n=r(67294);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function o(){return o=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},o.apply(this,arguments)}function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function c(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?i(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function p(t,e){if(null==t)return{};var r,n,a=function(t,e){if(null==t)return{};var r,n,a={},o=Object.keys(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}var l=n.createContext({}),u=function(t){return function(e){var r=s(e.components);return n.createElement(t,o({},e,{components:r}))}},s=function(t){var e=n.useContext(l),r=e;return t&&(r="function"==typeof t?t(e):c(c({},e),t)),r},d=function(t){var e=s(t.components);return n.createElement(l.Provider,{value:e},t.children)},f="mdxType",m={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},y=n.forwardRef((function(t,e){var r=t.components,a=t.mdxType,o=t.originalType,i=t.parentName,l=p(t,["components","mdxType","originalType","parentName"]),u=s(r),d=a,f=u["".concat(i,".").concat(d)]||u[d]||m[d]||o;return r?n.createElement(f,c(c({ref:e},l),{},{components:r})):n.createElement(f,c({ref:e},l))}));function b(t,e){var r=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var o=r.length,i=new Array(o);i[0]=y;var c={};for(var p in e)hasOwnProperty.call(e,p)&&(c[p]=e[p]);c.originalType=t,c[f]="string"==typeof t?t:a,i[1]=c;for(var l=2;l<o;l++)i[l]=r[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},10949:(t,e,r)=>{r.r(e),r.d(e,{assets:()=>p,contentTitle:()=>i,default:()=>s,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const o={id:"action_attr"},i="action_attr type",c={unversionedId:"api/bxl/action_attr",id:"api/bxl/action_attr",title:"action_attr type",description:"Methods on action query node's attributes.",source:"@site/../docs/api/bxl/action_attr.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/action_attr",permalink:"/docs/api/bxl/action_attr",draft:!1,tags:[],version:"current",frontMatter:{id:"action_attr"},sidebar:"apiSidebar",previous:{title:"action type",permalink:"/docs/api/bxl/action"},next:{title:"actions type",permalink:"/docs/api/bxl/actions"}},p={},l=[{value:"action_attr.value",id:"action_attrvalue",level:2}],u={toc:l};function s(t){let{components:e,...r}=t;return(0,a.mdx)("wrapper",(0,n.Z)({},u,r,{components:e,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"action_attr-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"action_attr")," type"),(0,a.mdx)("p",null,"Methods on action query node's attributes."),(0,a.mdx)("h2",{id:"action_attrvalue"},"action","_","attr.value"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def action_attr.value() -> str\n")),(0,a.mdx)("p",null,"Returns the value of this attribute."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4114853d.00685e75.js b/assets/js/4114853d.00685e75.js new file mode 100644 index 0000000000000..090d83b414bdc --- /dev/null +++ b/assets/js/4114853d.00685e75.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6738],{3905:(e,t,i)=>{i.r(t),i.d(t,{MDXContext:()=>l,MDXProvider:()=>p,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>d});var n=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(){return r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},r.apply(this,arguments)}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?o(Object(i),!0).forEach((function(t){a(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function c(e,t){if(null==e)return{};var i,n,a=function(e,t){if(null==e)return{};var i,n,a={},r=Object.keys(e);for(n=0;n<r.length;n++)i=r[n],t.indexOf(i)>=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)i=r[n],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var l=n.createContext({}),d=function(e){return function(t){var i=u(t.components);return n.createElement(e,r({},t,{components:i}))}},u=function(e){var t=n.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},p=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var i=e.components,a=e.mdxType,r=e.originalType,o=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),d=u(i),p=a,m=d["".concat(o,".").concat(p)]||d[p]||f[p]||r;return i?n.createElement(m,s(s({ref:t},l),{},{components:i})):n.createElement(m,s({ref:t},l))}));function b(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=i.length,o=new Array(r);o[0]=h;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[m]="string"==typeof e?e:a,o[1]=s;for(var l=2;l<r;l++)o[l]=i[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,i)}h.displayName="MDXCreateElement"},33062:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>l});var n=i(87462),a=(i(67294),i(3905));const r={},o="buck2 audit visibility command",s={unversionedId:"rfcs/audit_visibility",id:"rfcs/audit_visibility",title:"buck2 audit visibility command",description:"Context",source:"@site/../docs/rfcs/audit_visibility.md",sourceDirName:"rfcs",slug:"/rfcs/audit_visibility",permalink:"/docs/rfcs/audit_visibility",draft:!1,tags:[],version:"current",frontMatter:{}},c={},l=[{value:"Context",id:"context",level:2},{value:"Proposed Solution: <code>audit visibility</code> command",id:"proposed-solution-audit-visibility-command",level:2},{value:"Usage and Invocation",id:"usage-and-invocation",level:2}],d={toc:l};function u(e){let{components:t,...i}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},d,i,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"buck2-audit-visibility-command"},(0,a.mdx)("inlineCode",{parentName:"h1"},"buck2 audit visibility")," command"),(0,a.mdx)("h2",{id:"context"},"Context"),(0,a.mdx)("p",null,"Buck has a concept of Visibility for every target. It allows users to define,\nfor each target, the targets it can depend on and targets that can depend on it.\nVisibility is specified as an allowlist of targets/target patterns, and any\ntarget used that falls outside of the allowlist fails visibility checking.\nVisibility pattern can be specified on ",(0,a.mdx)("inlineCode",{parentName:"p"},"visibility")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"within_view")," attributes\nin buildfiles and\n",(0,a.mdx)("a",{parentName:"p",href:"https://www.internalfb.com/intern/wiki/Buck-users/Key_Concepts/Package_Files/"},"PACKAGE files"),"."),(0,a.mdx)("p",null,"Visibility is important to lots of codebase maintainers because it can be used\nto keep projects from pulling in unwanted dependencies. As some examples, App\nCore teams are using Buck visibility as a\n",(0,a.mdx)("a",{parentName:"p",href:"https://fb.prod.workplace.com/groups/2292177024436518/permalink/3112235492430663/"},"replacement to current supermodules for protecting app modularity"),".\nInstagram's using visibility to\n",(0,a.mdx)("a",{parentName:"p",href:"https://fb.prod.workplace.com/groups/devx.build.bffs/posts/5169450219756775/?comment_id=5169500636418400"},"protect modularity and define Link Groups used for build speed optimizations"),".\nThere's interest from various DevX teams in using Buck visibility on\n",(0,a.mdx)("a",{parentName:"p",href:"https://www.internalfb.com/intern/wiki/Buck-users/Key_Concepts/Package_Files/"},"PACKAGE files"),"\nto\n",(0,a.mdx)("a",{parentName:"p",href:"https://fb.prod.workplace.com/groups/devx.build.bffs/posts/5169450219756775/"},"enforce repo boundaries, which will allow target determinators to migrate off of sparse profiles and onto Eden"),",\nalthough visibility in its current form is likely not fit for enforcing such\nrepo boundaries. Visibility has also been used to enforce\n",(0,a.mdx)("a",{parentName:"p",href:"https://fb.workplace.com/groups/buckeng/permalink/4392940254087889/"},"requirements that only certain targets are allowed to depend on targets in fbcode/scripts"),"."),(0,a.mdx)("p",null,"For perf reasons, buck2 doesn't always enforce visibility. Instead, it only\nenforces visibility on construction of the configured target graph. Visibility\nchecking is expensive memory-wise because it requires tracking all deps at each\nnode. When constructing configured target graph, this cost is already paid for\nwhen buck2 checks transitive target compatibility. When constructing the\nunconfigured target graph, however, this is costly, so we avoid checking\nvisibility there. (Note that buck does not allow you to specify selects in\nvisibility attributes.)"),(0,a.mdx)("p",null,"In practice, this means that commands like ",(0,a.mdx)("inlineCode",{parentName:"p"},"cquery")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"build")," can enforce\nvisibility whereas commands like ",(0,a.mdx)("inlineCode",{parentName:"p"},"uquery")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"targets")," cannot. Having\nvisibility checked only on the configured target graph is problematic for 2\nreasons:"),(0,a.mdx)("ol",null,(0,a.mdx)("li",{parentName:"ol"},(0,a.mdx)("p",{parentName:"li"},"Visibility is only checked on configured deps after selects are resolved, so\nit's possible for a target to pass visibility checking in one configuration\nbut fail visibility checking in another. For example, a target may pass\nvisibility checking on a linux configuration but fail visibility checking on\nmac configuration if it has a bad mac-only dependency. This makes visibility\nenforcement more difficult because now you have to query the same graph in\nboth linux and mac configuration before you know that visibility is always\nvalid.")),(0,a.mdx)("li",{parentName:"ol"},(0,a.mdx)("p",{parentName:"li"},"Uquery (querying the unconfigured target graph) has better performance than\ncquery (querying the configured target graph). Big-O wise, uquery scales with\nO(# of targets) whereas cquery scales with O((# number of configurations) x\n(# of targets)). Having a way to check visibility on unconfigured target\ngraph can be much cheaper than doing so on configured target graph."))),(0,a.mdx)("h2",{id:"proposed-solution-audit-visibility-command"},"Proposed Solution: ",(0,a.mdx)("inlineCode",{parentName:"h2"},"audit visibility")," command"),(0,a.mdx)("p",null,"It's clear that we need a way to check visibility on the unconfigured target\ngraph, but we don't want ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 uquery")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 targets")," to regress in memory\nuse. To get the best of both worlds, I propose adding a separate command to\nbuck2, ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 audit visibility"),", that will check visibility on the unconfigured\ntarget graph. Instead of checking on construction of the unconfigured target\ngraph, this command will check after construction, which will avoid any memory\nregression. The tradeoff is that the visibility checking won't be cached, and\nrerunning ",(0,a.mdx)("inlineCode",{parentName:"p"},"audit visibility")," will rerun visibility checking on each invocation."),(0,a.mdx)("h2",{id:"usage-and-invocation"},"Usage and Invocation"),(0,a.mdx)("p",null,(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 audit visibility")," command will take in a list of target patterns as well\nas common build args like config flags and mode files as args. It will construct\nthe unconfigured target graph based on the ",(0,a.mdx)("strong",{parentName:"p"},"transitive deps")," of those targets\nand check that this graph has valid visibility. Checking transitive deps matches\nthe behavior of visibility checking on cquery, but we may revisit this decision\nin the future if there is a need for just verifying the immediate dependencies."),(0,a.mdx)("p",null,"For example, an invocation to check visibility on the transitive closure of\nfbobjc can be"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-shell"},"buck2 audit visibility fbsource//fbobjc/...\n")),(0,a.mdx)("p",null,"It cannot be used to check that a target has a valid visibility with respect to\ntargets outside of the transitive closure of its deps. For example,\n",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 audit visibility fbcode//buck2/starlark-rust/starlark:starlark")," will just\ncheck that all transitive deps of ",(0,a.mdx)("inlineCode",{parentName:"p"},"starlark")," target (including ",(0,a.mdx)("inlineCode",{parentName:"p"},"starlark"),"\ntarget) have valid visibility with respect to each other. It will not check that\nany targets that depend on ",(0,a.mdx)("inlineCode",{parentName:"p"},"starlark")," respect ",(0,a.mdx)("inlineCode",{parentName:"p"},"starlark")," target's visibility\nattribute."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/41346a35.6054adf0.js b/assets/js/41346a35.6054adf0.js new file mode 100644 index 0000000000000..81733c14d1c66 --- /dev/null +++ b/assets/js/41346a35.6054adf0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9372],{3905:(n,e,t)=>{t.r(e),t.d(e,{MDXContext:()=>u,MDXProvider:()=>m,mdx:()=>h,useMDXComponents:()=>d,withMDXComponents:()=>p});var r=t(67294);function i(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function a(){return a=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},a.apply(this,arguments)}function o(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function s(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?o(Object(t),!0).forEach((function(e){i(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function l(n,e){if(null==n)return{};var t,r,i=function(n,e){if(null==n)return{};var t,r,i={},a=Object.keys(n);for(r=0;r<a.length;r++)t=a[r],e.indexOf(t)>=0||(i[t]=n[t]);return i}(n,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);for(r=0;r<a.length;r++)t=a[r],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(n,t)&&(i[t]=n[t])}return i}var u=r.createContext({}),p=function(n){return function(e){var t=d(e.components);return r.createElement(n,a({},e,{components:t}))}},d=function(n){var e=r.useContext(u),t=e;return n&&(t="function"==typeof n?n(e):s(s({},e),n)),t},m=function(n){var e=d(n.components);return r.createElement(u.Provider,{value:e},n.children)},c="mdxType",f={inlineCode:"code",wrapper:function(n){var e=n.children;return r.createElement(r.Fragment,{},e)}},g=r.forwardRef((function(n,e){var t=n.components,i=n.mdxType,a=n.originalType,o=n.parentName,u=l(n,["components","mdxType","originalType","parentName"]),p=d(t),m=i,c=p["".concat(o,".").concat(m)]||p[m]||f[m]||a;return t?r.createElement(c,s(s({ref:e},u),{},{components:t})):r.createElement(c,s({ref:e},u))}));function h(n,e){var t=arguments,i=e&&e.mdxType;if("string"==typeof n||i){var a=t.length,o=new Array(a);o[0]=g;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=n,s[c]="string"==typeof n?n:i,o[1]=s;for(var u=2;u<a;u++)o[u]=t[u];return r.createElement.apply(null,o)}return r.createElement.apply(null,t)}g.displayName="MDXCreateElement"},56155:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var r=t(87462),i=(t(67294),t(3905));const a={id:"configuration_transitions",title:"Configuration Transitions"},o=void 0,s={unversionedId:"rule_authors/configuration_transitions",id:"rule_authors/configuration_transitions",title:"Configuration Transitions",description:"Configuration transition is a mechanism for changing the configuration when",source:"@site/../docs/rule_authors/configuration_transitions.md",sourceDirName:"rule_authors",slug:"/rule_authors/configuration_transitions",permalink:"/docs/rule_authors/configuration_transitions",draft:!1,tags:[],version:"current",frontMatter:{id:"configuration_transitions",title:"Configuration Transitions"},sidebar:"mainSidebar",previous:{title:"Configurations",permalink:"/docs/rule_authors/configurations"},next:{title:"Dynamic Dependencies",permalink:"/docs/rule_authors/dynamic_dependencies"}},l={},u=[{value:"Transition rule",id:"transition-rule",level:2},{value:"Per rule transition",id:"per-rule-transition",level:2},{value:"Per attribute transition",id:"per-attribute-transition",level:2},{value:"Per target transition",id:"per-target-transition",level:2},{value:"Request transition on command line",id:"request-transition-on-command-line",level:2},{value:"Access rule attributes in transition function implementation",id:"access-rule-attributes-in-transition-function-implementation",level:2}],p={toc:u};function d(n){let{components:e,...t}=n;return(0,i.mdx)("wrapper",(0,r.Z)({},p,t,{components:e,mdxType:"MDXLayout"}),(0,i.mdx)("p",null,"Configuration transition is a mechanism for changing the configuration when\ndepending on a target."),(0,i.mdx)("p",null,"Currently, Buck2 has incoming and outgoing transitions:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("strong",{parentName:"li"},"Incoming")," - (or per-rule transitions) declared on the rule."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("strong",{parentName:"li"},"Outgoing")," - (or per-attribute transitions) declared on the attribute.")),(0,i.mdx)("h2",{id:"transition-rule"},"Transition rule"),(0,i.mdx)("p",null,"Transition rules are defined in ",(0,i.mdx)("inlineCode",{parentName:"p"},".bzl")," files using the ",(0,i.mdx)("inlineCode",{parentName:"p"},"transition")," built-in."),(0,i.mdx)("p",null,"The ",(0,i.mdx)("inlineCode",{parentName:"p"},"transition")," function creates a configuration-related object. The\n",(0,i.mdx)("inlineCode",{parentName:"p"},"transition")," object is opaque, it does not have any operations, and can only be\nused as an argument to ",(0,i.mdx)("inlineCode",{parentName:"p"},"rule")," function or attribute constructor. The\n",(0,i.mdx)("inlineCode",{parentName:"p"},"transition")," function call must be assigned to a global variable (this is\nsimilar to user-defined provider declarations)."),(0,i.mdx)("p",null,"The ",(0,i.mdx)("inlineCode",{parentName:"p"},"transition")," function takes three arguments:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"implementation")," - a function."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"refs")," - references to configuration rules to be resolved and passed to the\nimplementation function."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"split")," - (optional) ",(0,i.mdx)("inlineCode",{parentName:"li"},"bool")," flag (default ",(0,i.mdx)("inlineCode",{parentName:"li"},"False"),") to indicate whether\ntransition is a split transition (used in per attribute transitions).")),(0,i.mdx)("p",null,"The ",(0,i.mdx)("inlineCode",{parentName:"p"},"implementation")," function takes two arguments:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"platform")," - a configuration to transition."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"refs")," - resolved references as a struct.")),(0,i.mdx)("p",null,"Example transition from ios to watchos (for example, to build a watchOS bundle\nas part of an iOS build):"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl(platform: PlatformInfo.type, refs: struct.type) -> PlatformInfo.type:\n # Operating system constraint setting.\n os = refs.os[ConstraintSettingInfo]\n # Watchos constraint value.\n watchos = refs.watchos[ConstraintValueInfo]\n # Remove operating system constraint from input platform.\n constraints = {\n s: v\n for (s, v) in platform.configuration.constraints.items()\n if s != os.label\n }\n # Add watchos constraint value.\n constraints[watchos.setting.label] = watchos\n # Construct configuration structure.\n new_cfg = ConfigurationInfo(\n # Updated constraints.\n constraints = constraints,\n # Keep original config values.\n values = platform.configuration.values,\n )\n # And return new configuration,\n # or a dict of marker to configuration in case of split transition.\n return PlatformInfo(\n # ... supplying configuration label.\n label = "<transitioned-to-watch>",\n configuration = new_cfg,\n )\n\niphone_to_watch_transition = transition(_impl, refs = {\n "os": "//constraints:os",\n "watchos": "//constraints:watchos",\n})\n')),(0,i.mdx)("p",null,"A transition function applied twice must produce the configuration identical to\nthe configuration produced after applying transition once."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"assert tr(tr(platform=platform, refs=refs), refs=refs) == tr(platform=platform, refs=refs)\n")),(0,i.mdx)("p",null,"If this invariant is not held, certain operations produce incorrect and possibly\ninfinite graphs. This is not yet enforced."),(0,i.mdx)("h2",{id:"per-rule-transition"},"Per rule transition"),(0,i.mdx)("p",null,"The ",(0,i.mdx)("inlineCode",{parentName:"p"},"rule")," function has an optional ",(0,i.mdx)("inlineCode",{parentName:"p"},"cfg")," attribute, which takes a reference to\nthe ",(0,i.mdx)("inlineCode",{parentName:"p"},"transition")," object (created with the ",(0,i.mdx)("inlineCode",{parentName:"p"},"transition")," function; not a string)."),(0,i.mdx)("p",null,"When such a rule is called, it is instantiated, not with the requested\nconfiguration, but with the requested configuration transformed with a given\nrule transition."),(0,i.mdx)("p",null,"For example, the transition for watchos when the iOS target depends on watchos\nresource:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"watchos_resource = rule(\n cfg = iphone_to_watch_transition,\n ...\n)\n")),(0,i.mdx)("h2",{id:"per-attribute-transition"},"Per attribute transition"),(0,i.mdx)("p",null,"The ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs")," object has two attribute constructors:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"attrs.transition_dep(cfg)")),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"attrs.split_transition_dep(cfg)"))),(0,i.mdx)("p",null,"These attributes are similar to the ",(0,i.mdx)("inlineCode",{parentName:"p"},"dep")," attribute. When dependencies are\nresolved for the rule instance, then they are resolved not with the rule\ninstance configuration, but with the configuration transformed with the given\ntransition."),(0,i.mdx)("p",null,"For split transition, each dependency is resolved into a dict of marker to\nproviders."),(0,i.mdx)("p",null,"For example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'android_binary = rule(\n ...\n attrs = {\n "deps": attrs.list(attrs.split_transition_dep(cfg = cpu_split_transition), default = []),\n },\n)\n')),(0,i.mdx)("p",null,"When the above is invoked as follows:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'android_binary(\n deps = ["//foo:bar", "//qux:quux"],\n)\n')),(0,i.mdx)("p",null,"Then the rule implementation gets something like the following in the ",(0,i.mdx)("inlineCode",{parentName:"p"},"deps"),"\nattribute:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'{\n [\n {\n # Key in this dict is the marker returned from split transition impl function.\n "arm64": "providers for //foo:bar configured for arm64",\n "armv7": "providers for //foo:bar configured for armv7",\n },\n {\n "arm64": "providers for //qux:quux configured for arm64",\n "armv7": "providers for //qux:quux configured for armv7",\n },\n ]\n}\n')),(0,i.mdx)("admonition",{type:"note"},(0,i.mdx)("p",{parentName:"admonition"},"It is an error to pass a split transition object to ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.transition_dep")," and a non-split transition to ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.split_transition_dep"),".")),(0,i.mdx)("h2",{id:"per-target-transition"},"Per target transition"),(0,i.mdx)("p",null,"The Buck2 team is considering the implementation of per target transitions (that\nis, transitions referenced at a rule instantiation site as opposed to rule\ndeclaration site). No specific plans or APIs exists at the moment."),(0,i.mdx)("p",null,"It ",(0,i.mdx)("em",{parentName:"p"},"could")," be something like the following:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'cxx_binary(\n name = "foo",\n cfg = "//transitions:opengl-es-1.0",\n ...\n)\n')),(0,i.mdx)("h2",{id:"request-transition-on-command-line"},"Request transition on command line"),(0,i.mdx)("p",null,"For information, see ",(0,i.mdx)("a",{parentName:"p",href:"/docs/rfcs/drafts/configuration-at-syntax"},"RFC"),"."),(0,i.mdx)("h2",{id:"access-rule-attributes-in-transition-function-implementation"},"Access rule attributes in transition function implementation"),(0,i.mdx)("p",null,"It might be useful for the transition function to be able to query rule\nattributes (for example, to perform transition to different configurations\ndepending on ",(0,i.mdx)("inlineCode",{parentName:"p"},"java_version")," attribute)."),(0,i.mdx)("p",null,"Both incoming (per rule) and outgoing (per dependency) transitions can access\nrule attributes. For outgoing transitions, transition rule implementation\naccesses the attributes of the target that has dependencies with transitions,\nnot attributes of dependency targets."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'def _tr(platform, refs, attrs):\n # NB: There are some restrictions on what attrs can be made accessible:\n # - Only primitive values for now (providers are not resolved)\n # - Only unconfigured attributes for now\n attrs.my_list_attribute # == [12345, 67890]\n\ntr = transition(\n _tr,\n refs = {},\n attrs = {\n "my_list_attribute": attr.list(...),\n },\n)\n\nmy_rule = rule(..., cfg=tr)\n\nmy_rule(\n ...,\n my_list_attribute = [12345, 67890],\n)\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/416c542a.b4e444c3.js b/assets/js/416c542a.b4e444c3.js new file mode 100644 index 0000000000000..33031f47aed95 --- /dev/null +++ b/assets/js/416c542a.b4e444c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5828],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>h,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>u});var o=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},a.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=o.createContext({}),u=function(e){return function(t){var n=d(t.components);return o.createElement(e,a({},t,{components:n}))}},d=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},h=function(e){var t=d(e.components);return o.createElement(c.Provider,{value:t},e.children)},f="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=d(n),h=r,f=u["".concat(i,".").concat(h)]||u[h]||p[h]||a;return n?o.createElement(f,s(s({ref:t},c),{},{components:n})):o.createElement(f,s({ref:t},c))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[f]="string"==typeof e?e:r,i[1]=s;for(var c=2;c<a;c++)i[c]=n[c];return o.createElement.apply(null,i)}return o.createElement.apply(null,n)}m.displayName="MDXCreateElement"},26426:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var o=n(87462),r=(n(67294),n(3905));const a={id:"test",title:"test"},i=void 0,s={unversionedId:"users/commands/test",id:"users/commands/test",title:"test",description:"These are the flags/commands under buck2 test and their --help output:",source:"@site/../docs/users/commands/test.generated.md",sourceDirName:"users/commands",slug:"/users/commands/test",permalink:"/docs/users/commands/test",draft:!1,tags:[],version:"current",frontMatter:{id:"test",title:"test"},sidebar:"mainSidebar",previous:{title:"targets",permalink:"/docs/users/commands/targets"},next:{title:"uquery",permalink:"/docs/users/commands/uquery"}},l={},c=[{value:"buck test",id:"buck-test",level:2}],u={toc:c};function d(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,o.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"These are the flags/commands under ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 test")," and their ",(0,r.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,r.mdx)("h2",{id:"buck-test"},"buck test"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"},"Build and test the specified targets\n\nUsage: buck2-release test [OPTIONS] [TARGET_PATTERNS]... [-- <TEST_EXECUTOR_ARGS>...]\n\nArguments:\n [TARGET_PATTERNS]...\n Patterns to test\n\n [TEST_EXECUTOR_ARGS]...\n Additional arguments passed to the test executor.\n \n Test executor is expected to have `--env` flag to pass environment variables. Can be used\n like this:\n \n buck2 test //foo:bar -- --env PRIVATE_KEY=123\n\nOptions:\n --exclude <EXCLUDE>...\n Labels on targets to exclude from tests\n\n --include <INCLUDE>...\n Labels on targets to include from tests. Prefixing with `!` means to exclude. First match\n wins unless overridden by `always-exclude` flag.\n If include patterns are present, regardless of whether exclude patterns are present, then\n all targets are by default excluded unless explicitly included.\n\n --always-exclude\n Whether to always exclude if the label appears in `exclude`, regardless of which appears\n first\n\n --build-filtered\n Whether to build tests that are excluded via labels.\n\n --unstable-allow-compatible-tests-on-re\n Will allow tests that are compatible with RE (setup to run from the repo root and use\n relative paths) to run from RE\n\n --unstable-allow-all-tests-on-re\n Will run tests to on RE even if they are missing required settings (running from the root\n + relative paths). Those required settings just get overridden\n\n --overall-timeout <TIMEOUT>\n How long to execute tests for. If the timeout is exceeded, Buck2 will exit as quickly as\n possible and not run further tests. In-flight tests will be cancelled. The test\n orchestrator will be allowed to shut down gracefully.\n \n The exit code is controlled by the test orchestrator (which normally should report zero\n for this).\n \n The format is a concatenation of time spans (separated by spaces). Each time span is an\n integer number and a suffix.\n \n Relevant supported suffixes: seconds, second, sec, s, minutes, minute, min, m, hours,\n hour, hr, h\n \n For example: `5m 10s`, `500s`.\n\n --test-executor-stdout <TEST_EXECUTOR_STDOUT>\n Writes the test executor stdout to the provided path\n \n --test-executor-stdout=- will write to stdout\n \n --test-executor-stdout=FILEPATH will write to the provided filepath, overwriting the\n current file if it exists\n \n By default the test executor's stdout stream is captured\n\n --ignore-tests-attribute\n Normally testing will follow the `tests` attribute of all targets, to find their\n associated tests. When passed, this flag will disable that, and only run the directly\n supplied targets\n\n --test-executor-stderr <TEST_EXECUTOR_STDERR>\n Writes the test executor stderr to the provided path\n \n --test-executor-stderr=- will write to stderr\n \n --test-executor-stderr=FILEPATH will write to the provided filepath, overwriting the\n current file if it exists\n \n By default test executor's stderr stream is captured\n\n --build-report <PATH>\n Print a build report\n \n `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will\n write the build report to the file\n\n --enable-optional-validations <VALIDATION_NAMES>\n Comma separated list of validation names to run that are marked optional.\n \n By default, validations marked as optional are skipped. This option overrides the\n behaviour and executes those validations.\n\n --build-report-options <BUILD_REPORT_OPTIONS>\n Comma separated list of build report options.\n \n The following options are supported:\n \n `fill-out-failures`: fill out failures the same way Buck1 would.\n \n `package-project-relative-paths`: emit the project-relative path of packages for the\n targets that were built.\n\n -j, --num-threads <THREADS>\n Number of threads to use during execution (default is # cores)\n\n --local-only\n Enable only local execution. Will reject actions that cannot execute locally\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --remote-only\n Enable only remote execution. Will reject actions that cannot execute remotely\n\n --prefer-local\n Enable hybrid execution. Will prefer executing actions that can execute locally on the\n local host\n\n --prefer-remote\n Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and\n will avoid racing local and remote execution\n\n --unstable-no-execution\n Experimental: Disable all execution\n\n --no-remote-cache\n Do not perform remote cache queries or cache writes. If remote execution is enabled, the\n RE service might still deduplicate actions, so for e.g. benchmarking, using a random\n isolation dir is preferred\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --write-to-cache-anyway\n Could be used to enable the action cache writes on the RE worker when no_remote_cache is\n specified\n\n --eager-dep-files\n Process dep files when they are generated (i.e. after running a command that produces dep\n files), rather than when they are used (i.e. before re-running a command that previously\n produced dep files). Use this when debugging commands that produce dep files. Note that\n commands that previously produced dep files will not re-run: only dep files produced\n during this command will be eagerly loaded\n\n --upload-all-actions\n Uploads every action to the RE service, regardless of whether the action needs to execute\n on RE.\n \n This is useful when debugging builds and trying to inspect actions which executed\n remotely. It's possible that the action result is cached but the action itself has\n expired. In this case, downloading the action itself would fail. Enabling this option\n would unconditionally upload all actions, thus you will not hit any expiration issues.\n\n --fail-fast\n If Buck hits an error, do as little work as possible before exiting.\n \n To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The\n default behavior of buck is to do enough work to get a result for the builds of each of\n `:foo` and `:bar`, and no more. This means that buck will continue to complete the build\n of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has\n failed, other dependencies will be cancelled unless they are needed by `:bar`.\n \n This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has\n failed. Generally, this flag only has an effect on builds that specify multiple targets.\n \n `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency\n of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if\n possible.\n\n --keep-going\n If Buck hits an error, continue doing as much work as possible before exiting.\n \n See `--fail-fast` for more details.\n\n --skip-missing-targets\n If target is missing, then skip building instead of throwing error\n\n --skip-incompatible-targets\n If target is incompatible with the specified configuration, skip building instead of\n throwing error. This does not apply to targets specified with glob patterns `/...` or `:`\n which are skipped unconditionally\n\n --materialize-failed-inputs\n Materializes inputs for failed actions which ran on RE\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/41acaa78.d79d3044.js b/assets/js/41acaa78.d79d3044.js new file mode 100644 index 0000000000000..e5c6568e44e4c --- /dev/null +++ b/assets/js/41acaa78.d79d3044.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4031],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>d,MDXProvider:()=>m,mdx:()=>h,useMDXComponents:()=>u,withMDXComponents:()=>c});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var d=r.createContext({}),c=function(e){return function(t){var n=u(t.components);return r.createElement(e,i({},t,{components:n}))}},u=function(e){var t=r.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},m=function(e){var t=u(e.components);return r.createElement(d.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),c=u(n),m=a,p=c["".concat(o,".").concat(m)]||c[m]||f[m]||i;return n?r.createElement(p,l(l({ref:t},d),{},{components:n})):r.createElement(p,l({ref:t},d))}));function h(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=b;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:a,o[1]=l;for(var d=2;d<i;d++)o[d]=n[d];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}b.displayName="MDXCreateElement"},95659:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var r=n(87462),a=(n(67294),n(3905));const i={id:"deferred_materialization",title:"Deferred Materialization"},o=void 0,l={unversionedId:"users/advanced/deferred_materialization",id:"users/advanced/deferred_materialization",title:"Deferred Materialization",description:"When using Remote Execution, Buck2 can optionally",source:"@site/../docs/users/advanced/deferred_materialization.md",sourceDirName:"users/advanced",slug:"/users/advanced/deferred_materialization",permalink:"/docs/users/advanced/deferred_materialization",draft:!1,tags:[],version:"current",frontMatter:{id:"deferred_materialization",title:"Deferred Materialization"},sidebar:"mainSidebar",previous:{title:"Uquery Environment",permalink:"/docs/users/query/uquery"},next:{title:"Restarter",permalink:"/docs/users/advanced/restarter"}},s={},d=[{value:"Pitfalls",id:"pitfalls",level:2},{value:"Enabling Deferred Materialization",id:"enabling-deferred-materialization",level:2},{value:"On-disk state",id:"on-disk-state",level:2},{value:"Deferring Write Actions",id:"deferring-write-actions",level:2},{value:"<code>buck2 clean --stale</code>",id:"buck2-clean---stale",level:2}],c=(u="OssOnly",function(e){return console.warn("Component "+u+" was not imported, exported, or provided by MDXProvider as global scope"),(0,a.mdx)("div",e)});var u;const m={toc:d};function p(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"When using ",(0,a.mdx)("a",{parentName:"p",href:"/docs/users/remote_execution"},"Remote Execution"),", Buck2 can optionally\noperate with Deferred Materialization, which means that Buck2 will avoid\ndownloading outputs until they are required by a local action."),(0,a.mdx)("p",null,"This can provide very substantial performance savings on builds that execute\nprimarily on Remote Execution, since those builds become able to proceed without\never downloading any intermediary outputs."),(0,a.mdx)("p",null,"At Meta, despite very fast networks being used internally, this was was observed\nto make real-world builds finish approximately 2.5 times faster."),(0,a.mdx)("h2",{id:"pitfalls"},"Pitfalls"),(0,a.mdx)("p",null,"Buck2's deferred materialization makes assumptions about your Remote Execution\nbackend. In particular, it expects that the TTL returned from action cache\nentries by your Remote Execution backend always exceeds the TTL of all output\nartifacts it references."),(0,a.mdx)("p",null,"Nonetheless, artifacts may also eventually expire from your Remote Execution\nbackend. When that happens, builds using Deferred Materialization may fail if\nthose artifacts are needed locally."),(0,a.mdx)("p",null,"A kill is necessary to recover from those builds. However, the\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/users/advanced/restarter"},"Restarter")," can be used to mitigate this issue by restarting Buck2\ndaemon when it encounters an expired artifact."),(0,a.mdx)(c,{mdxType:"OssOnly"},"At Meta, artifacts get periodically refreshed, but open source RE backends do not expose the TTL of artifacts, so this feature does not work outside of Meta."),(0,a.mdx)("h2",{id:"enabling-deferred-materialization"},"Enabling Deferred Materialization"),(0,a.mdx)("p",null,"To enable deferred materialization, add this to your\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/concepts/buckconfig"},"Buckconfig"),":"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"[buck2]\nmaterializations = deferred\n")),(0,a.mdx)("h2",{id:"on-disk-state"},"On-disk state"),(0,a.mdx)("p",null,"Buck2 can also optionally track its state on disk in a SQLite database. This\nallows Buck2 to remember what files are on disk across restarts."),(0,a.mdx)("p",null,"This can allow Buck2 to avoid re-downloading outputs from your Remote Execution\nbackend if they are already on disk."),(0,a.mdx)("p",null,"To enable, add this to your Buckconfig:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"[buck2]\nsqlite_materializer_state = true\n")),(0,a.mdx)("h2",{id:"deferring-write-actions"},"Deferring Write Actions"),(0,a.mdx)("p",null,"To further speedup builds, Buck2 can also be instructed to not execute any\nwrites on the critical path for a build."),(0,a.mdx)("p",null,"To enable, add this to your Buckconfig:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"[buck2]\ndefer_write_actions = true\n")),(0,a.mdx)("p",null,"This mechanism is recommended if you're using the On-disk State, since it means\nBuck can omit writes entirely if the same content is already on disk."),(0,a.mdx)("h2",{id:"buck2-clean---stale"},(0,a.mdx)("inlineCode",{parentName:"h2"},"buck2 clean --stale")),(0,a.mdx)("p",null,"The deferred materializer can be configured to continuously delete stale\nartifacts, that haven't been recently accessed, or untracked artifacts, that\nexist in buck-out but not in the materalizer state."),(0,a.mdx)("p",null,"Unlike ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 clean")," this does not fully wipe buck-out but it should not\nnegatively impact build performance if you are building and rebasing regularly."),(0,a.mdx)("p",null,"Enabling this requires enabling ",(0,a.mdx)("a",{parentName:"p",href:"#on-disk-state"},"on-disk state")," and\n",(0,a.mdx)("a",{parentName:"p",href:"#deferring-write-actions"},"deferred write actions"),", and adding this to your\nBuckconfig:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"[buck2]\nclean_stale_enabled = true\n")),(0,a.mdx)("p",null,"It can be further configured by changing these default values:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"[buck2]\n# one week\nclean_stale_artifact_ttl_hours = 24 * 7\nclean_stale_period_hours = 24\nclean_stale_start_offset_hours = 12\n")),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"clean_stale_start_offset_hours")," determines the time following daemon start up\nbefore the first clean will be scheduled."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"clean_stale_period_hours")," determines how frequently to schedule recurring\nclean events."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"clean_stale_artifact_ttl_hours")," determines how long artifacts should be kept\nin buck-out before cleaning them.")),(0,a.mdx)("p",null,"If clean stale is running in the background at the same time that a build begins\nto materialize artifacts, the clean will be interrupted and not run again until\nafter the next scheduled period, but it should be able to make gradual progress\nand prevent long term accumulation of artifacts."),(0,a.mdx)("p",null,"If needed, a clean can be manually triggered by calling ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 clean --stale"),"."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/41d85637.2072e605.js b/assets/js/41d85637.2072e605.js new file mode 100644 index 0000000000000..1e4b1ce188322 --- /dev/null +++ b/assets/js/41d85637.2072e605.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1920],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>u,MDXProvider:()=>h,mdx:()=>b,useMDXComponents:()=>c,withMDXComponents:()=>d});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),d=function(e){return function(t){var n=c(t.components);return r.createElement(e,i({},t,{components:n}))}},c=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},h=function(e){var t=c(e.components);return r.createElement(u.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(n),h=o,p=d["".concat(a,".").concat(h)]||d[h]||f[h]||i;return n?r.createElement(p,s(s({ref:t},u),{},{components:n})):r.createElement(p,s({ref:t},u))}));function b(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:o,a[1]=s;for(var u=2;u<i;u++)a[u]=n[u];return r.createElement.apply(null,a)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},81858:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>u});var r=n(87462),o=(n(67294),n(3905));const i={id:"build_report",title:"Build Report"},a=void 0,s={unversionedId:"users/build_observability/build_report",id:"users/build_observability/build_report",title:"Build Report",description:"The build report is a JSON file that you can ask buck to output which contains",source:"@site/../docs/users/build_observability/build_report.md",sourceDirName:"users/build_observability",slug:"/users/build_observability/build_report",permalink:"/docs/users/build_observability/build_report",draft:!1,tags:[],version:"current",frontMatter:{id:"build_report",title:"Build Report"},sidebar:"mainSidebar",previous:{title:"Logging",permalink:"/docs/users/build_observability/logging"},next:{title:"Remote Execution",permalink:"/docs/users/remote_execution"}},l={},u=[{value:"Schema",id:"schema",level:2},{value:"On Compatibility",id:"on-compatibility",level:3},{value:"Limitations",id:"limitations",level:3}],d={toc:u};function c(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"The build report is a JSON file that you can ask buck to output which contains\nstructured information about the result of your build. It is particularly\nvaluable for its reporting of ",(0,o.mdx)("em",{parentName:"p"},"unsuccessful")," outcomes in addition to\n",(0,o.mdx)("em",{parentName:"p"},"successful")," ones; usually, most use cases that only need to care about\nsuccessful outcomes are well served by direct usage of the CLI."),(0,o.mdx)("p",null,"To request a build report, pass ",(0,o.mdx)("inlineCode",{parentName:"p"},"--build-report <path>")," to ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck build")," on the\nCLI."),(0,o.mdx)("p",null,"At a high level, the build report outputs information for each of the targets\nthat you requested to have built on the CLI. As a result, it may report\ninformation for more than one configuration or subtarget of a target. For\nexample, this can happen if you passed ",(0,o.mdx)("inlineCode",{parentName:"p"},"--target-platforms")," or built ",(0,o.mdx)("inlineCode",{parentName:"p"},":target"),"\nand ",(0,o.mdx)("inlineCode",{parentName:"p"},":target[sub]"),"."),(0,o.mdx)("h2",{id:"schema"},"Schema"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},'BuildReport {\n # A unique ID identifying this buck invocation. Currently a UUID, however\n # that may change in the future.\n trace_id: str,\n\n # True if all requested targets built successfully\n success: bool,\n\n # The absolute path to the project root\n project_root: Path,\n\n # The results of the build, categorized by unconfigured target\n results: dict[TargetLabel, BuildReportEntry],\n\n # A cache for error message lookup. This is meant for deduplicating strings\n # that might otherwise appear many times in the build report and cause an\n # unnecessary size increase. They keys are used in other fields in the build\n # report in reference to these strings.\n strings: dict[str, str],\n\n # BUCK1 BACKCOMPAT ONLY!\n #\n # Currently always empty. Will be filled in if a flag is passed in the future.\n #\n # A map from targets that failed to build to error messages describing the\n # failure.\n failures: dict[TargetLabel, str],\n}\n\nBuildReportEntry {\n # The results of building the target in the given configurations\n configured: dict[Configuration, ConfiguredBuildReportEntry],\n\n # Errors encountered while building this target.\n #\n # Note that this does not include the errors that are found within the\n # `ConfiguredBuildReportEntry`s. Instead, it includes additional errors\n # which could not be associated with a specific configuration of the\n # target, typically because they occurred before the target could be\n # configured.\n errors: list[Error],\n\n # BUCK1 BACKCOMPAT ONLY!\n #\n # The two fields below are included for buck1 backwards compatibility only.\n # They are both computed by aggregating across all the configured targets in\n # the way you might expect.\n success: "FAIL" | "SUCCESS,\n outputs: dict[str, list[Path]],\n\n # The path to the package containing this target, relative to the project\n # root. This is the source code location for this target.\n package_project_relative_path: Optional[str]\n}\n\nConfiguredBuildReportEntry {\n # Did this target build successfully or not?\n success: "FAIL" | "SUCCESS,\n\n # A map of subtargets that were built to a list of the successfully built\n # outputs for that subtarget.\n #\n # The keys are generated by joining the subtargets with a `|`. For example,\n # if you request to have `:target` and `:target[foo][bar]` built on the CLI,\n # this list will contain one entry for `""` and one for `"foo|bar"`.\n outputs: dict[str, list[Path]],\n\n # The number of targets in the configured dependency graph of this target.\n #\n # This is only included if `-c buck2.log_configured_graph_size=true` is set.\n # Otherwise, it is left as None.\n configured_graph_size: Optional[uint],\n}\n\nError {\n # The stringified hash of the same stringified error message that is shown to the user on the\n # console. The hash is stored as the key in the `strings` cache of the `BuildReport`\n message_content: str,\n\n # Structured action error. Present only if the error was actually an action error\n action_error: Optional[ActionError],\n\n # An index that can be used to detect duplicate errors. Two errors with the\n # same cause index have the same cause. Note that that does not mean that\n # they have the same error message.\n cause_index: uint,\n}\n\nActionError {\n # The action key\n key: ActionKey,\n\n # The action name\n name: ActionName,\n\n # Digest of the action\n digest: str,\n\n # Stringified hash of the stderr of the action\n stderr: str,\n\n # Stringified hash of the stdout of the action\n stdout: str,\n\n # Stringified hash of the same stringified error message that is provided by the action\n error: str,\n\n # Optional list of error categorizations provided by an error handler which is invoked\n # in the event of a failed action, or an error message if the error handler failed.\n error_diagnostics: Optional[ActionErrorDiagnostics],\n}\n\nActionKey {\n # The configured target, anon target, or bxl function which owns this action\n owner: str,\n}\n\nActionName {\n # The category of the action\n category: str,\n\n # The optional identifier of the action\n identifier: Optional[str],\n}\n\nenum ActionErrorDiagnostics {\n # The list of sub errors if the error handler succeeded\n sub_errors: list[ActionSubError],\n\n # The stringified hash of the error message if the error handler failed\n handler_invocation_error: String,\n}\n\nActionSubError {\n # Name of the error category. The category should be finer grain error categorizations\n # provided by the rule authors, and tend to be language specific. These should not be\n # any kind of shared concepts among all errors for all languages/rules. For example,\n # timeouts and infra errors should not go here - buck2 tries to categorize these types\n # of errors automatically. An example of a finer grain error category may be the error\n # code for rustc outputs.\n category: str,\n\n # The stringified hash of the extra message provided for the specific sub-error category.\n message_content: str,\n\n # List of error locations, if any\n locations: Optional[list[ActionErrorLocation]],\n}\n\nActionErrorLocation {\n # File path where the error appeared, preferrably either project-relative or absolute.\n file: str,\n\n # Optional line number\n line: Optional[u64]\n}\n')),(0,o.mdx)("h3",{id:"on-compatibility"},"On Compatibility"),(0,o.mdx)("p",null,"The format of the build report is generally stable. However, note that new\nfields may be added at any time, and you should ensure this does not cause your\nparsing to fail."),(0,o.mdx)("p",null,"A number of fields above are marked as being for buck1 backwards compatibility\nonly. These fields all have superior alternatives available in the build report\nalready. We would strongly prefer that new code neither use nor parse them, as\nthis increases the likelyhood that they can be removed one day."),(0,o.mdx)("p",null,"The build report additionally outputs a few fields that are intentionally not\ndocumented here. Those fields are even less useful than ones documented as being\nfor backwards compatibility only, and even closer to removal. ",(0,o.mdx)("strong",{parentName:"p"},"Please")," avoid\nusing or parsing these if at all possible."),(0,o.mdx)("h3",{id:"limitations"},"Limitations"),(0,o.mdx)("p",null,"The build report currently has at least the following limitations:"),(0,o.mdx)("ol",null,(0,o.mdx)("li",{parentName:"ol"},"It includes only one action error per failed target. This is the expected\nbehavior when ",(0,o.mdx)("inlineCode",{parentName:"li"},"--keep-going")," is not passed, but when ",(0,o.mdx)("inlineCode",{parentName:"li"},"--keep-going")," is\npassed, this is a bug."),(0,o.mdx)("li",{parentName:"ol"},"It is currently not generated when a non-existant package is specified on\nthe command line. This is also a bug."),(0,o.mdx)("li",{parentName:"ol"},"It cannot be requested for any buck2 command other than ",(0,o.mdx)("inlineCode",{parentName:"li"},"build")),(0,o.mdx)("li",{parentName:"ol"},"Errors do not contain any additional metadata outside of the error message.\nThis will be made available as such metadata is available in buck2."),(0,o.mdx)("li",{parentName:"ol"},'The "failures" field is always empty. This will be changed under a\nbackcompat opt-in flag in the future.')),(0,o.mdx)("p",null,"Finally, it's worth raising that the concept of error deduplication has some\nfundamental limitations; if two targets both refer to the same non-existant\ndependency, do those errors have the same cause (the dependency doesn't exist)\nor different causes (each target is individually broken)? As a result, the exact\ndetails of when two errors are considered to have the same cause are not\ngenerally stable, and may not always be what you expect."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/424eeae8.5d726420.js b/assets/js/424eeae8.5d726420.js new file mode 100644 index 0000000000000..f7e8df78cd6cc --- /dev/null +++ b/assets/js/424eeae8.5d726420.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5046],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>i,MDXProvider:()=>s,mdx:()=>b,useMDXComponents:()=>g,withMDXComponents:()=>x});var n=r(67294);function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a.apply(this,arguments)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){l(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t){if(null==e)return{};var r,n,l=function(e,t){if(null==e)return{};var r,n,l={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}var i=n.createContext({}),x=function(e){return function(t){var r=g(t.components);return n.createElement(e,a({},t,{components:r}))}},g=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},s=function(e){var t=g(e.components);return n.createElement(i.Provider,{value:t},e.children)},c="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,l=e.mdxType,a=e.originalType,o=e.parentName,i=d(e,["components","mdxType","originalType","parentName"]),x=g(r),s=l,c=x["".concat(o,".").concat(s)]||x[s]||p[s]||a;return r?n.createElement(c,u(u({ref:t},i),{},{components:r})):n.createElement(c,u({ref:t},i))}));function b(e,t){var r=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=r.length,o=new Array(a);o[0]=f;var u={};for(var d in t)hasOwnProperty.call(t,d)&&(u[d]=t[d]);u.originalType=e,u[c]="string"==typeof e?e:l,o[1]=u;for(var i=2;i<a;i++)o[i]=r[i];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},55034:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>g,frontMatter:()=>a,metadata:()=>u,toc:()=>i});var n=r(87462),l=(r(67294),r(3905));const a={id:"bxl.CqueryContext"},o="bxl.CqueryContext type",u={unversionedId:"api/bxl/bxl.CqueryContext",id:"api/bxl/bxl.CqueryContext",title:"bxl.CqueryContext type",description:"The context for performing cquery operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within cquery command.",source:"@site/../docs/api/bxl/bxl.CqueryContext.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.CqueryContext",permalink:"/docs/api/bxl/bxl.CqueryContext",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.CqueryContext"},sidebar:"apiSidebar",previous:{title:"bxl.Context type",permalink:"/docs/api/bxl/bxl.Context"},next:{title:"bxl.EnsuredArtifact type",permalink:"/docs/api/bxl/bxl.EnsuredArtifact"}},d={},i=[{value:"bxl.CqueryContext.allpaths",id:"bxlcquerycontextallpaths",level:2},{value:"bxl.CqueryContext.attrfilter",id:"bxlcquerycontextattrfilter",level:2},{value:"bxl.CqueryContext.attrregexfilter",id:"bxlcquerycontextattrregexfilter",level:2},{value:"bxl.CqueryContext.buildfile",id:"bxlcquerycontextbuildfile",level:2},{value:"bxl.CqueryContext.deps",id:"bxlcquerycontextdeps",level:2},{value:"bxl.CqueryContext.eval",id:"bxlcquerycontexteval",level:2},{value:"bxl.CqueryContext.filter",id:"bxlcquerycontextfilter",level:2},{value:"bxl.CqueryContext.inputs",id:"bxlcquerycontextinputs",level:2},{value:"bxl.CqueryContext.kind",id:"bxlcquerycontextkind",level:2},{value:"bxl.CqueryContext.nattrfilter",id:"bxlcquerycontextnattrfilter",level:2},{value:"bxl.CqueryContext.owner",id:"bxlcquerycontextowner",level:2},{value:"bxl.CqueryContext.rdeps",id:"bxlcquerycontextrdeps",level:2},{value:"bxl.CqueryContext.somepath",id:"bxlcquerycontextsomepath",level:2},{value:"bxl.CqueryContext.testsof",id:"bxlcquerycontexttestsof",level:2},{value:"bxl.CqueryContext.testsof_with_default_target_platform",id:"bxlcquerycontexttestsof_with_default_target_platform",level:2}],x={toc:i};function g(e){let{components:t,...r}=e;return(0,l.mdx)("wrapper",(0,n.Z)({},x,r,{components:t,mdxType:"MDXLayout"}),(0,l.mdx)("h1",{id:"bxlcquerycontext-type"},(0,l.mdx)("inlineCode",{parentName:"h1"},"bxl.CqueryContext")," type"),(0,l.mdx)("p",null,"The context for performing ",(0,l.mdx)("inlineCode",{parentName:"p"},"cquery")," operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within cquery command."),(0,l.mdx)("p",null,"Query results are ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_set"),"s of ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_node"),"s, which supports iteration,\nindexing, ",(0,l.mdx)("inlineCode",{parentName:"p"},"len()"),", set addition/subtraction, and ",(0,l.mdx)("inlineCode",{parentName:"p"},"equals()"),"."),(0,l.mdx)("h2",{id:"bxlcquerycontextallpaths"},"bxl.CqueryContext.allpaths"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.allpaths(\n from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],\n to: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"allpaths")," query for computing all dependency paths."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextattrfilter"},"bxl.CqueryContext.attrfilter"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.attrfilter(\n attr: str,\n value: str,\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The attrfilter query for rule attribute filtering."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextattrregexfilter"},"bxl.CqueryContext.attrregexfilter"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.attrregexfilter(\n attribute: str,\n value: str,\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The attrregexfilter query for rule attribute filtering with regex."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_attrregexfilter(ctx):\n filtered = ctx.cquery().attrregexfilter("foo", "he.lo", "bin/kind/...")\n ctx.output.print(filtered)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextbuildfile"},"bxl.CqueryContext.buildfile"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.buildfile(\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> file_set\n")),(0,l.mdx)("p",null,"Find the build file(s) that defines a target or a target set."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _buildfile_impl(ctx):\n owner = ctx.cquery().owner(["bin/TARGET", "bin/kind"])\n result = ctx.cquery().buildfile(owner)\n ctx.output.print(result)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextdeps"},"bxl.CqueryContext.deps"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.deps(\n universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],\n depth: None | int = None,\n filter: None | str = None\n) -> target_set\n")),(0,l.mdx)("p",null,"The deps query for finding the transitive closure of dependencies."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_deps(ctx):\n result = ctx.cquery().deps("root//bin:the_binary", 1)\n ctx.output.print(result)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontexteval"},"bxl.CqueryContext.eval"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.eval(\n query: str,\n query_args: None | target_set | list[str] = None,\n target_universe: None | list[str] | tuple[str, ...] = None\n)\n")),(0,l.mdx)("p",null,"Evaluates some general query string. ",(0,l.mdx)("inlineCode",{parentName:"p"},"query_args")," can be a target_set of unconfigured nodes, or a list of strings. Returns a ",(0,l.mdx)("inlineCode",{parentName:"p"},"dict")," of target labels mapped to their ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_set")," results if ",(0,l.mdx)("inlineCode",{parentName:"p"},"query_args")," was passed in, otherwise returns a single ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_set"),"."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_eval(ctx):\n result1 = ctx.cquery().eval("inputs(root//bin:the_binary)")\n ctx.output.print(result1)\n\n result2 = ctx.cquery().eval("inputs(%s)", query_args = ["cell//path/to/file:target"])\n ctx.output.print(result2)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextfilter"},"bxl.CqueryContext.filter"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.filter(\n regex: str,\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The filter query for filtering targets by name."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_filter(ctx):\n result = ctx.cquery().filter(".*the_binary", "root//...")\n ctx.output.print(result)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextinputs"},"bxl.CqueryContext.inputs"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.inputs(\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> file_set\n")),(0,l.mdx)("p",null,"The inputs query for finding input files."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_inputs(ctx):\n result = ctx.cquery().inputs("root//bin:the_binary")\n ctx.output.print(result)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextkind"},"bxl.CqueryContext.kind"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.kind(\n regex: str,\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The kind query for filtering targets by rule type."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_kind(ctx):\n kind = ctx.cquery().kind(".*1", "bin/kind/...")\n ctx.output.print(kind)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextnattrfilter"},"bxl.CqueryContext.nattrfilter"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.nattrfilter(\n attr: str,\n value: str,\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The nattrfilter query for rule attribute filtering. It is the opposite of ",(0,l.mdx)("inlineCode",{parentName:"p"},"attrfilter"),", i.e. it filters targets by attribute but excludes those that match."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextowner"},"bxl.CqueryContext.owner"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.owner(\n files: file_set | str | list[str] | tuple[str, ...],\n universe: None | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] = None\n) -> target_set\n")),(0,l.mdx)("p",null,"The owner query for finding targets that own specified files. Note that if you do not pass in a cell path (where the format is ",(0,l.mdx)("inlineCode",{parentName:"p"},"<cell>//path/to/file"),"), the path is resolved against the cell that the BXL script lives in. If you need to evaluate a file path that lives in a different cell, you must pass in the fully qualified cell path."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _owner_impl(ctx):\n owner = ctx.cquery().owner("bin/TARGETS.fixture", "foo//target/universe/...")\n ctx.output.print(owner)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextrdeps"},"bxl.CqueryContext.rdeps"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.rdeps(\n universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],\n from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],\n depth: int = _\n) -> target_set\n")),(0,l.mdx)("p",null,"The rdeps query for finding the transitive closure of reverse dependencies."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_rdeps(ctx):\n result = ctx.cquery().rdeps("root//bin:the_binary", "//lib:file1", 100)\n ctx.output.print(result)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontextsomepath"},"bxl.CqueryContext.somepath"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.somepath(\n from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],\n to: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> target_set\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontexttestsof"},"bxl.CqueryContext.testsof"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.testsof(\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The testsof query for listing the tests of the specified targets."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcquerycontexttestsof_with_default_target_platform"},"bxl.CqueryContext.testsof","_","with","_","default","_","target","_","platform"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.CqueryContext.testsof_with_default_target_platform(\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The testsof query for listing the tests of the specified targets. Performs default target platform resolution under the hood for the tests found."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/434253ce.057ddb55.js b/assets/js/434253ce.057ddb55.js new file mode 100644 index 0000000000000..53acf1924ffd5 --- /dev/null +++ b/assets/js/434253ce.057ddb55.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[861],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>p,MDXProvider:()=>m,mdx:()=>g,useMDXComponents:()=>s,withMDXComponents:()=>c});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i.apply(this,arguments)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),c=function(e){return function(t){var a=s(t.components);return n.createElement(e,i({},t,{components:a}))}},s=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},m=function(e){var t=s(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),c=s(a),m=r,u=c["".concat(o,".").concat(m)]||c[m]||h[m]||i;return a?n.createElement(u,l(l({ref:t},p),{},{components:a})):n.createElement(u,l({ref:t},p))}));function g(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=f;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[u]="string"==typeof e?e:r,o[1]=l;for(var p=2;p<i;p++)o[p]=a[p];return n.createElement.apply(null,o)}return n.createElement.apply(null,a)}f.displayName="MDXCreateElement"},13609:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var n=a(87462),r=(a(67294),a(3905));const i={id:"glossary",title:"Glossary of Terms",toc_max_heading_level:4},o=void 0,l={unversionedId:"concepts/glossary",id:"concepts/glossary",title:"Glossary of Terms",description:".buckconfig",source:"@site/../docs/concepts/glossary.md",sourceDirName:"concepts",slug:"/concepts/glossary",permalink:"/docs/concepts/glossary",draft:!1,tags:[],version:"current",frontMatter:{id:"glossary",title:"Glossary of Terms",toc_max_heading_level:4},sidebar:"mainSidebar",previous:{title:"Configurations",permalink:"/docs/concepts/configurations"},next:{title:"aquery",permalink:"/docs/users/commands/aquery"}},d={},p=[{value:".buckconfig",id:"buckconfig",level:4},{value:"Action",id:"action",level:4},{value:"Action digest",id:"action-digest",level:4},{value:"Action graph",id:"action-graph",level:4},{value:"Artifact",id:"artifact",level:4},{value:"Attribute",id:"attribute",level:4},{value:"BUCK file",id:"buck-file",level:4},{value:"BXL",id:"bxl",level:4},{value:"Cell",id:"cell",level:4},{value:"Configuration",id:"configuration",level:4},{value:"Configured graph",id:"configured-graph",level:4},{value:"Constraint",id:"constraint",level:4},{value:"Daemon",id:"daemon",level:4},{value:"Dependency",id:"dependency",level:4},{value:"Execution platform",id:"execution-platform",level:4},{value:"Hybrid execution",id:"hybrid-execution",level:4},{value:"Isolation dir",id:"isolation-dir",level:4},{value:"Modifiers",id:"modifiers",level:4},{value:"Package",id:"package",level:4},{value:"Prelude",id:"prelude",level:4},{value:"Project",id:"project",level:4},{value:"Provider",id:"provider",level:4},{value:"Platform",id:"platform",level:4},{value:"Remote execution (RE)",id:"remote-execution-re",level:4},{value:"Rule",id:"rule",level:4},{value:"Starlark",id:"starlark",level:4},{value:"Subtarget",id:"subtarget",level:4},{value:"Target",id:"target",level:4},{value:"Target label",id:"target-label",level:4},{value:"Target pattern",id:"target-pattern",level:4},{value:"Target platform",id:"target-platform",level:4},{value:"Target universe",id:"target-universe",level:4},{value:"Transition",id:"transition",level:4},{value:"Unconfigured graph",id:"unconfigured-graph",level:4},{value:"Visibility",id:"visibility",level:4}],c={toc:p};function s(e){let{components:t,...a}=e;return(0,r.mdx)("wrapper",(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h4",{id:"buckconfig"},".buckconfig"),(0,r.mdx)("p",null,"The root of your ",(0,r.mdx)("a",{parentName:"p",href:"#project"},"project")," must contain a configuration file named\n",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig"),". Before executing, Buck2 reads this file to incorporate specified\ncustomizations. See ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/buckconfig"},".buckconfig")," for more info."),(0,r.mdx)("h4",{id:"action"},"Action"),(0,r.mdx)("p",null,"An individual, cacheable, ideally hermetic command that's run during the\n",(0,r.mdx)("a",{parentName:"p",href:"#buck-file"},"build"),". It takes ",(0,r.mdx)("a",{parentName:"p",href:"#artifact"},"artifacts")," as inputs and produces\nother artifacts as outputs. An example command could be ",(0,r.mdx)("inlineCode",{parentName:"p"},"gcc -o main main.c"),",\nwhich takes the artifact ",(0,r.mdx)("inlineCode",{parentName:"p"},"main.c")," (a source file) and produces the artifact\ncalled ",(0,r.mdx)("inlineCode",{parentName:"p"},"main")," (the compiled binary)."),(0,r.mdx)("h4",{id:"action-digest"},"Action digest"),(0,r.mdx)("p",null,"Encoded ",(0,r.mdx)("a",{parentName:"p",href:"#action"},"action")," representation. It is sent to\n",(0,r.mdx)("a",{parentName:"p",href:"#remote-execution-re"},"remote execution"),". Used among other things to retrieve\naction inputs and to check for cache hits"),(0,r.mdx)("h4",{id:"action-graph"},"Action graph"),(0,r.mdx)("p",null,"The dependency graph of all ",(0,r.mdx)("a",{parentName:"p",href:"#action"},"actions")," belonging to a target: it can be\nqueried with ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 aquery"),"."),(0,r.mdx)("h4",{id:"artifact"},"Artifact"),(0,r.mdx)("p",null,"A single input or output of an ",(0,r.mdx)("a",{parentName:"p",href:"#action"},"action"),". These are files that\nparticipate as inputs or outputs of a build and can be source files or build\noutputs. For more information, see the\n",(0,r.mdx)("a",{parentName:"p",href:"https://buck2.build/docs/api/build/Artifact/"},"Artifact API"),"."),(0,r.mdx)("h4",{id:"attribute"},"Attribute"),(0,r.mdx)("p",null,"Declared by a ",(0,r.mdx)("a",{parentName:"p",href:"#rule"},"rule")," and used to express the properties of a particular\ninstance of a rule to create a ",(0,r.mdx)("a",{parentName:"p",href:"#target"},"target"),". For example, srcs, deps and\ncopts, which declare a target's source files, dependencies, and custom compiler\noptions, respectively. The available attributes for a target depend on its rule\ntype."),(0,r.mdx)("h4",{id:"buck-file"},"BUCK file"),(0,r.mdx)("p",null,"A ",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK")," file (the name is configurable, some projects use ",(0,r.mdx)("inlineCode",{parentName:"p"},"TARGETS"),") is the\nmain configuration file that tells Buck2 what to build, what their dependencies\nare, and how to build them. Buck2 takes a ",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK")," file as input and evaluates the\nfile to declare ",(0,r.mdx)("a",{parentName:"p",href:"#target"},"targets"),", which are then used to create a graph of\ndependencies and to derive the ",(0,r.mdx)("a",{parentName:"p",href:"#action"},"actions")," that must be completed to\nbuild intermediate and final software outputs. A ",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK")," file marks a directory\nand any sub-directories not containing a ",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK")," file as a ",(0,r.mdx)("a",{parentName:"p",href:"#package"},"package"),"."),(0,r.mdx)("h4",{id:"bxl"},"BXL"),(0,r.mdx)("p",null,"BXL (",(0,r.mdx)("a",{parentName:"p",href:"https://buck2.build/docs/developers/bxl"},"Buck eXtension Language"),") scripts\nare written in ",(0,r.mdx)("a",{parentName:"p",href:"#starlark"},"Starlark")," (a restricted subset of Python) and give\nintegrators the ability to inspect and interact directly with the buck2 graph."),(0,r.mdx)("p",null,"BXL scripts can query the ",(0,r.mdx)("a",{parentName:"p",href:"#action-graph"},"action graph"),",\n",(0,r.mdx)("a",{parentName:"p",href:"#configured-graph"},"configured graph"),", and\n",(0,r.mdx)("a",{parentName:"p",href:"#unconfigured-graph"},"unconfigured graph"),". They can also create\n",(0,r.mdx)("a",{parentName:"p",href:"#action"},"actions")," and trigger builds."),(0,r.mdx)("h4",{id:"cell"},"Cell"),(0,r.mdx)("p",null,"The directory tree of one or more Buck2 ",(0,r.mdx)("a",{parentName:"p",href:"#package"},"packages"),". A Buck2 build can\ninvolve multiple cells. The cell root always contains a\n",(0,r.mdx)("a",{parentName:"p",href:"#buckconfig"},".buckconfig"),", although the presence of a .buckconfig file doesn't\nin itself define a cell. Rather, the cells involved in a build are defined at\nthe time Buck2 is invoked; they are specified in the .buckconfig for the Buck\n",(0,r.mdx)("a",{parentName:"p",href:"#project"},"project"),"."),(0,r.mdx)("h4",{id:"configuration"},"Configuration"),(0,r.mdx)("p",null,"Configurations consist of a set of 'constraint values' that are used to resolve\n",(0,r.mdx)("inlineCode",{parentName:"p"},"select")," ",(0,r.mdx)("a",{parentName:"p",href:"#attribute"},"attributes")," prior to evaluating ",(0,r.mdx)("a",{parentName:"p",href:"#rule"},"rule"),"\nimplementations: the attribute takes the value of the first branch in the\n",(0,r.mdx)("inlineCode",{parentName:"p"},"select")," that matches the configuration."),(0,r.mdx)("p",null,"Configurations are instantiated by rules that produce a ",(0,r.mdx)("inlineCode",{parentName:"p"},"PlatformInfo"),"\n",(0,r.mdx)("a",{parentName:"p",href:"#provider"},"provider"),". Once created, targets can receive their configuration\nthrough a variety of mechanisms, such as:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Inheritance - by default, when following a dependency edge A -> B, B inherits\nA's configuration."),(0,r.mdx)("li",{parentName:"ul"},"The ",(0,r.mdx)("inlineCode",{parentName:"li"},"default_target_platform")," attribute and ",(0,r.mdx)("inlineCode",{parentName:"li"},"--target-platforms")," command line\nflag."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"#transition"},"Transitions")," (see below).")),(0,r.mdx)("p",null,"Configurations allow a single target to exist in multiple variants in the\nconfigured graph (for example, to build a given binary at differing optimization\nlevels or targeting different CPU architectures)."),(0,r.mdx)("h4",{id:"configured-graph"},"Configured graph"),(0,r.mdx)("p",null,"The configured target graph is generated by configuring target nodes in the\n",(0,r.mdx)("a",{parentName:"p",href:"#unconfigured-graph"},"unconfigured target graph"),". That is, ",(0,r.mdx)("inlineCode",{parentName:"p"},"selects")," are fully\nresolved and configurations applied. The configured graph includes information\nabout the ",(0,r.mdx)("a",{parentName:"p",href:"#configuration"},"configurations")," and ",(0,r.mdx)("a",{parentName:"p",href:"#transition"},"transitions"),"\ninvolved in building targets. The same target may appear in multiple different\nconfigurations (when printed, the configuration is after the target in\nparentheses)."),(0,r.mdx)("h4",{id:"constraint"},"Constraint"),(0,r.mdx)("p",null,"A constraint represents a property that may differ across different\n",(0,r.mdx)("a",{parentName:"p",href:"#target"},"target")," or build contexts, such as CPU architecture, the version of a\nsystem-installed compiler, optimization level, which version of a particular\nlibrary to use, etc."),(0,r.mdx)("h4",{id:"daemon"},"Daemon"),(0,r.mdx)("p",null,"The Daemon process lives between invocations and is designed to allow for cache\nreuse between Buck2 invocations, which can considerably speed up builds. For\nmore information, see ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/daemon"},"Daemon (buckd)"),"."),(0,r.mdx)("h4",{id:"dependency"},"Dependency"),(0,r.mdx)("p",null,"A directed edge between two ",(0,r.mdx)("a",{parentName:"p",href:"#target"},"targets"),". A target ",(0,r.mdx)("inlineCode",{parentName:"p"},"A")," can have a\ndependency on target ",(0,r.mdx)("inlineCode",{parentName:"p"},"B"),", for example, if any ",(0,r.mdx)("inlineCode",{parentName:"p"},"dep")," attribute of ",(0,r.mdx)("inlineCode",{parentName:"p"},"A")," mentions\n",(0,r.mdx)("inlineCode",{parentName:"p"},"B"),". A target's dependence on another target is determined by the\n",(0,r.mdx)("a",{parentName:"p",href:"#visibility"},"visibility")," of the latter."),(0,r.mdx)("h4",{id:"execution-platform"},"Execution platform"),(0,r.mdx)("p",null,"A type of ",(0,r.mdx)("a",{parentName:"p",href:"#rule"},"rule")," that includes information such as what execution types a\n",(0,r.mdx)("a",{parentName:"p",href:"#target"},"target")," supports, which can be ",(0,r.mdx)("a",{parentName:"p",href:"#remote-execution-re"},"remote"),", local,\nand ",(0,r.mdx)("a",{parentName:"p",href:"#hybrid-execution"},"hybrid")," execution. Also, whether it supports cache\nuploads, which allows users to get cache hits for things that executed locally."),(0,r.mdx)("h4",{id:"hybrid-execution"},"Hybrid execution"),(0,r.mdx)("p",null,"Allows Buck2 to race local and remote execution and get whichever finishes first\n(unless there's a cache hit, then it will get output from cache). This can\nprovide substantial speedup by eliminating the overhead of going to\n",(0,r.mdx)("a",{parentName:"p",href:"#remote-execution-re"},"remote execution")," when there is enough capacity to\nservice the build locally."),(0,r.mdx)("h4",{id:"isolation-dir"},"Isolation dir"),(0,r.mdx)("p",null,"Instances of Buck2 share a ",(0,r.mdx)("a",{parentName:"p",href:"#daemon"},"daemon")," if and only if their isolation\ndirectory is identical. The isolation directory also influences the output paths\nprovided by Buck2."),(0,r.mdx)("h4",{id:"modifiers"},"Modifiers"),(0,r.mdx)("p",null,"It's a modification of a constraint from the existing\n",(0,r.mdx)("a",{parentName:"p",href:"#configuration"},"configuration")," to obtain a new configuration. They provide a\nunified way to specify build settings on a ",(0,r.mdx)("a",{parentName:"p",href:"#project"},"project"),",\n",(0,r.mdx)("a",{parentName:"p",href:"#target"},"target"),", and command line level. It is intended to replace\n",(0,r.mdx)("a",{parentName:"p",href:"#target-platform"},"target platforms")," and most use cases of\n",(0,r.mdx)("a",{parentName:"p",href:"#buckconfig"},".buckconfigs"),"."),(0,r.mdx)("h4",{id:"package"},"Package"),(0,r.mdx)("p",null,"A directory that contains a Buck2 ",(0,r.mdx)("a",{parentName:"p",href:"#buck-file"},"BUCK file")," and all source files\nbelonging to the same directory as the BUCK file, or any of its subdirectories\nthat do not contain a BUCK file themselves."),(0,r.mdx)("h4",{id:"prelude"},"Prelude"),(0,r.mdx)("p",null,"The prelude is a unique ",(0,r.mdx)("inlineCode",{parentName:"p"},".bzl")," file located at ",(0,r.mdx)("inlineCode",{parentName:"p"},"prelude//prelude.bzl"),". Buck2\nimplicitly loads all the symbols defined in the prelude whenever it loads a\n",(0,r.mdx)("a",{parentName:"p",href:"#buck-file"},(0,r.mdx)("inlineCode",{parentName:"a"},"BUCK"))," file. Symbols defined outside the prelude can be imported\nvia a ",(0,r.mdx)("inlineCode",{parentName:"p"},"load()")," statement."),(0,r.mdx)("p",null,"When you create a Buck2 project using ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 init --git"),", it will contain the\nsame prelude used internally at Meta by Buck2 users. It is viewable at\n",(0,r.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/tree/main/prelude"},"https://github.com/facebook/buck2/tree/main/prelude"),"."),(0,r.mdx)("h4",{id:"project"},"Project"),(0,r.mdx)("p",null,"The Outermost directory where there is a ",(0,r.mdx)("a",{parentName:"p",href:"#buckconfig"},".buckconfig"),": also known\nas the ",(0,r.mdx)("a",{parentName:"p",href:"#cell"},"root cell"),". The .buckconfig for the project specifies the\n",(0,r.mdx)("a",{parentName:"p",href:"#cell"},"cells")," that constitute the Buck2 project. Specifically, these cells are\nspecified in the '","[cells]","' section of the ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig"),". All command invocations\nare executed from the project root."),(0,r.mdx)("h4",{id:"provider"},"Provider"),(0,r.mdx)("p",null,"Data returned from a ",(0,r.mdx)("a",{parentName:"p",href:"#rule"},"rule")," function. It's the only way that information\nfrom this rule is available to other rules that depend on it (see\n",(0,r.mdx)("a",{parentName:"p",href:"#dependency"},"dependency"),"). For more information, see\n",(0,r.mdx)("a",{parentName:"p",href:"https://buck2.build/docs/rule_authors/writing_rules/#providers"},"Providers"),"."),(0,r.mdx)("h4",{id:"platform"},"Platform"),(0,r.mdx)("p",null,"A named set of ",(0,r.mdx)("a",{parentName:"p",href:"#constraint"},"constraints"),", defining a specific runtime\nenvironment. E.g. ",(0,r.mdx)("inlineCode",{parentName:"p"},"cpu=x86_64, os=windows")),(0,r.mdx)("h4",{id:"remote-execution-re"},"Remote execution (RE)"),(0,r.mdx)("p",null,"Distributed execution of ",(0,r.mdx)("a",{parentName:"p",href:"#action"},"actions")," on remote workers. It can speed up\nbuilds significantly by scaling the nodes available for parallel actions, and by\ncaching action outputs across Buck2 users."),(0,r.mdx)("h4",{id:"rule"},"Rule"),(0,r.mdx)("p",null,"A rule consists of an attribute spec and an implementation, which is a\n",(0,r.mdx)("a",{parentName:"p",href:"#starlark"},"Starlark")," function."),(0,r.mdx)("p",null,"The attribute spec declares what attributes the rule expects to receive. The\nrule implementation receives the ",(0,r.mdx)("a",{parentName:"p",href:"#attribute"},"attributes")," of a ",(0,r.mdx)("a",{parentName:"p",href:"#target"},"target"),"\nand the ",(0,r.mdx)("a",{parentName:"p",href:"#provider"},"providers")," of its ",(0,r.mdx)("a",{parentName:"p",href:"#dependency"},"dependencies"),". It can\ndeclare new ",(0,r.mdx)("a",{parentName:"p",href:"#action"},"actions")," and ",(0,r.mdx)("a",{parentName:"p",href:"#artifact"},"artifacts")," and must return\n",(0,r.mdx)("a",{parentName:"p",href:"#provider"},"providers")," that can be used to pass data to its dependents or to\nBuck2 itself."),(0,r.mdx)("p",null,"Rules are instantiated in ",(0,r.mdx)("a",{parentName:"p",href:"#buck-file"},"BUCK files")," to declare targets and set\ntheir attributes. The rule implementation is called when Buck2 needs its\nproviders, which can happen when the target is built, or when one of its\ndependents is."),(0,r.mdx)("p",null,"As an example, the ",(0,r.mdx)("inlineCode",{parentName:"p"},"cxx_binary")," rule could be used to create a C++ binary, but\n",(0,r.mdx)("inlineCode",{parentName:"p"},"android_binary")," rule would be used to create an Android APK"),(0,r.mdx)("h4",{id:"starlark"},"Starlark"),(0,r.mdx)("p",null,"Starlark is a dialect of Python originally developed by Google for the\n",(0,r.mdx)("a",{parentName:"p",href:"https://bazel.build/rules/language"},"Bazel build tool"),". It is the configuration\nlanguage of the Buck2 build system and the language you use in ",(0,r.mdx)("inlineCode",{parentName:"p"},".bzl")," and\n",(0,r.mdx)("a",{parentName:"p",href:"#buck-file"},(0,r.mdx)("inlineCode",{parentName:"a"},"BUCK")," files")," to define and instantiate ",(0,r.mdx)("a",{parentName:"p",href:"#rule"},"rules"),"."),(0,r.mdx)("p",null,"There are many reasons why Meta has chosen Starlark, as detailed in\n",(0,r.mdx)("a",{parentName:"p",href:"https://developers.facebook.com/blog/post/2021/04/08/rust-starlark-library/"},"The Rust Starlark library"),"\narticle."),(0,r.mdx)("p",null,"The Buck2 project maintains and uses an open source\n",(0,r.mdx)("a",{parentName:"p",href:"https://github.com/facebook/starlark-rust"},"Starlark interpreter in Rust"),"."),(0,r.mdx)("h4",{id:"subtarget"},"Subtarget"),(0,r.mdx)("p",null,"Collection of ",(0,r.mdx)("a",{parentName:"p",href:"#provider"},"providers")," that can be accesed by name. The subtargets\ncan have their own subtargets as well, which can be accessed by chaining them,\ne.g.: ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build cell//foo:bar[baz][qux]"),"."),(0,r.mdx)("h4",{id:"target"},"Target"),(0,r.mdx)("p",null,"An object that is defined in a ",(0,r.mdx)("a",{parentName:"p",href:"#buck-file"},"BUCK file"),". Targets represent the\nbuildable units of a build from the perspective of the end user. Declared by\ninstantiating a ",(0,r.mdx)("a",{parentName:"p",href:"#rule"},"rule")," with attributes. A target has\n",(0,r.mdx)("a",{parentName:"p",href:"#dependency"},"dependencies"),", which are references to other targets."),(0,r.mdx)("h4",{id:"target-label"},"Target label"),(0,r.mdx)("p",null,"The identifier for a ",(0,r.mdx)("a",{parentName:"p",href:"#target"},"target"),". Structured as\n",(0,r.mdx)("inlineCode",{parentName:"p"},"cell_alias//path/to/package:target"),", where ",(0,r.mdx)("inlineCode",{parentName:"p"},"cell_alias//")," maps to a\n",(0,r.mdx)("a",{parentName:"p",href:"#cell"},"cell root")," path (as defined in the ",(0,r.mdx)("a",{parentName:"p",href:"#buckconfig"},"./buckconfig")," of the\ncell this target belongs to), ",(0,r.mdx)("inlineCode",{parentName:"p"},"path/to/package")," is the ",(0,r.mdx)("a",{parentName:"p",href:"#package"},"package"),"\ndirectory that contains the ",(0,r.mdx)("a",{parentName:"p",href:"#buck-file"},"BUCK file")," declaring the target\n(relative to the mapped cell alias), and ",(0,r.mdx)("inlineCode",{parentName:"p"},":target")," is the target's name."),(0,r.mdx)("h4",{id:"target-pattern"},"Target pattern"),(0,r.mdx)("p",null,"A string that resolves to a set of ",(0,r.mdx)("a",{parentName:"p",href:"#target"},"targets"),". They can be used as\narguments to commands such as ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 uquery"),". They can also be\nused in the ",(0,r.mdx)("a",{parentName:"p",href:"#visibility"},"visibility")," argument of a ",(0,r.mdx)("a",{parentName:"p",href:"#rule"},"rule"),". For more\ninformation, see ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/target_pattern"},"Target pattern"),"."),(0,r.mdx)("h4",{id:"target-platform"},"Target platform"),(0,r.mdx)("p",null,"Represents the ",(0,r.mdx)("a",{parentName:"p",href:"#platform"},"platform")," that the final output is built for residing\nand executing. If buck2 is a chef, and the output is the meal, the target\nplatform would be the people that eat the meal."),(0,r.mdx)("h4",{id:"target-universe"},"Target universe"),(0,r.mdx)("p",null,"A set of configured targets and their transitive deps. In the context of cquery\nand build in the Buck2 CLI, any literals are resolved to all matching targets\nwithin the universe. Target universe can be passed explicitly on the Buck2 CLI\nvia ",(0,r.mdx)("inlineCode",{parentName:"p"},"--target-universe"),". If omitted, the target universe will be inferred by\nconstructing a universe using all the target literals (and their transitive\ndeps) within the query string for cquery."),(0,r.mdx)("h4",{id:"transition"},"Transition"),(0,r.mdx)("p",null,"Allows the ",(0,r.mdx)("a",{parentName:"p",href:"#configuration"},"configuration")," to change across a\n",(0,r.mdx)("a",{parentName:"p",href:"#dependency"},"dependency")," edge. That is, normally, if ",(0,r.mdx)("a",{parentName:"p",href:"#target"},"target")," A\ndepends on target B, then if the configuration for A is X, then B is configured\nusing X too. By using a transition, you can produce X to configure B instead."),(0,r.mdx)("h4",{id:"unconfigured-graph"},"Unconfigured graph"),(0,r.mdx)("p",null,"A graph of ",(0,r.mdx)("a",{parentName:"p",href:"#target"},"targets")," before ",(0,r.mdx)("a",{parentName:"p",href:"#configuration"},"configurations")," are\napplied. Can be queried via ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 uquery"),"."),(0,r.mdx)("h4",{id:"visibility"},"Visibility"),(0,r.mdx)("p",null,"Determines whether a ",(0,r.mdx)("a",{parentName:"p",href:"#target"},"target")," can include another ",(0,r.mdx)("a",{parentName:"p",href:"#target"},"target")," as\nits ",(0,r.mdx)("a",{parentName:"p",href:"#dependency"},"dependency"),". For more information, see\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/visibility"},"Visibility"),"."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/43d67a8f.f9ac815d.js b/assets/js/43d67a8f.f9ac815d.js new file mode 100644 index 0000000000000..a910212920563 --- /dev/null +++ b/assets/js/43d67a8f.f9ac815d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9779],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>y,useMDXComponents:()=>u,withMDXComponents:()=>d});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},i.apply(this,arguments)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),d=function(e){return function(t){var n=u(t.components);return a.createElement(e,i({},t,{components:n}))}},u=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=u(e.components);return a.createElement(c.Provider,{value:t},e.children)},h="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(n),p=r,h=d["".concat(s,".").concat(p)]||d[p]||m[p]||i;return n?a.createElement(h,o(o({ref:t},c),{},{components:n})):a.createElement(h,o({ref:t},c))}));function y(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,s=new Array(i);s[0]=f;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o[h]="string"==typeof e?e:r,s[1]=o;for(var c=2;c<i;c++)s[c]=n[c];return a.createElement.apply(null,s)}return a.createElement.apply(null,n)}f.displayName="MDXCreateElement"},72307:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const i={id:"bxl_faqs",title:"FAQs"},s=void 0,o={unversionedId:"developers/bxl_faqs",id:"developers/bxl_faqs",title:"FAQs",description:"When is my BXL script cached?",source:"@site/../docs/developers/bxl_faq.md",sourceDirName:"developers",slug:"/developers/bxl_faqs",permalink:"/docs/developers/bxl_faqs",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl_faqs",title:"FAQs"},sidebar:"mainSidebar",previous:{title:"BXL and Dynamic Outputs",permalink:"/docs/developers/dynamic_output"},next:{title:"Architectural Model",permalink:"/docs/developers/architecture/buck2"}},l={},c=[{value:"When is my BXL script cached?",id:"when-is-my-bxl-script-cached",level:2},{value:"What\u2019s the difference between <code>ctx.output.print()</code> and <code>print()</code>?",id:"whats-the-difference-between-ctxoutputprint-and-print",level:2},{value:"What do I need to know about ensured artifacts",id:"what-do-i-need-to-know-about-ensured-artifacts",level:2},{value:"What is the difference between dynamic outputs and anon targets?",id:"what-is-the-difference-between-dynamic-outputs-and-anon-targets",level:2},{value:"Can I mutate types returned by BXL APIs?",id:"can-i-mutate-types-returned-by-bxl-apis",level:2},{value:"What is run synchronously vs asynchronously?",id:"what-is-run-synchronously-vs-asynchronously",level:2}],d={toc:c};function u(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h2",{id:"when-is-my-bxl-script-cached"},"When is my BXL script cached?"),(0,r.mdx)("p",null,"The entire BXL script is represented as a single node on the DICE graph (Buck2\u2019s\ninternal dependency graph). When the script\u2019s input changes, the entire node is\ninvalidated and needs to be recomputed. For example, if a BXL function calls\nuquery, then uses the result to do a cquery and then a build, if Buck2 detects\nthat any of the recorded calls to uquery, cquery, and build changes, then the\nentire BXL script will be reran. The computations themselves (uquery, cquery,\nand build) will still be incrementally evaluated via DICE, so we are not\nrerunning ",(0,r.mdx)("em",{parentName:"p"},"every")," computation entirely within the BXL."),(0,r.mdx)("p",null,"When the BXL script creates artifacts and ensures them, those artifacts are\ncached separately in an action outside of the BXL execution. This means that the\nartifacts produced by BXL are cached separately from the BXL script itself, much\nlike the computations within a BXL."),(0,r.mdx)("p",null,"During 2023, there is a plan to add finer grain incrementality to make better\nuse of DICE\u2019s existing incrementality support."),(0,r.mdx)("h2",{id:"whats-the-difference-between-ctxoutputprint-and-print"},"What\u2019s the difference between ",(0,r.mdx)("inlineCode",{parentName:"h2"},"ctx.output.print()")," and ",(0,r.mdx)("inlineCode",{parentName:"h2"},"print()"),"?"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"ctx.output.print()")," writes items to stdout by buck2 even when the script is\ncached. Items written to the output stream are considered to be the results of\na BXL script, which will be displayed to stdout by buck2 even when the script\nis cached."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"print()")," is offered by Starlark via the stdlib. This prints anything you want\nbut won\u2019t be provided to stdout at the end of a BXL script. These can be used\nto print to stderr. NOTE: ",(0,r.mdx)("inlineCode",{parentName:"li"},"print()")," statements don't show up if the script has\nbeen cached.")),(0,r.mdx)("h2",{id:"what-do-i-need-to-know-about-ensured-artifacts"},"What do I need to know about ensured artifacts"),(0,r.mdx)("p",null,"An ",(0,r.mdx)("inlineCode",{parentName:"p"},"ensured_artifact")," prints out the relative or absolute path via\n",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.output.print()"),", depending on if called with ",(0,r.mdx)("inlineCode",{parentName:"p"},"abs_path()")," or ",(0,r.mdx)("inlineCode",{parentName:"p"},"rel_path"),"(),\nbut will print out ",(0,r.mdx)("inlineCode",{parentName:"p"},"<ensured artifact bound to <some path>>")," via ",(0,r.mdx)("inlineCode",{parentName:"p"},"print()"),"."),(0,r.mdx)("p",null,"This is intentional because when the ensured artifact is created within BXL, it\nhas not been materialized yet. It will be materialized after the BXL script\nfinishes executing, and Buck2 core performs some additional actions after the\nBXL script."),(0,r.mdx)("p",null,"This is a safeguard to prevent people from misusing the artifact path and\npassing it into an action without the artifact having been materialized or\npassing an absolute path into RE, which can actually mess up RE and render the\naction not shareable across users. In addition, it makes these actions\nseparately cacheable from the BXL execution."),(0,r.mdx)("h2",{id:"what-is-the-difference-between-dynamic-outputs-and-anon-targets"},"What is the difference between dynamic outputs and anon targets?"),(0,r.mdx)("p",null,"Dynamic outputs are meant for\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/rule_authors/dynamic_dependencies"},"dynamic dependencies"),". The context\ntype is a ",(0,r.mdx)("inlineCode",{parentName:"p"},"bxl_ctx"),". Dynamic outputs are ran asynchronously outside of the BXL\nexecution."),(0,r.mdx)("p",null,"Anon targets are meant for sharing work betwen multiple BXLs. The context type\nis a normal rule analysis ",(0,r.mdx)("inlineCode",{parentName:"p"},"context"),". Anon targets are ",(0,r.mdx)("inlineCode",{parentName:"p"},"await"),"-ed inline with\nyour BXL function."),(0,r.mdx)("h2",{id:"can-i-mutate-types-returned-by-bxl-apis"},"Can I mutate types returned by BXL APIs?"),(0,r.mdx)("p",null,"The data types produced by BXL API calls are always immutable."),(0,r.mdx)("h2",{id:"what-is-run-synchronously-vs-asynchronously"},"What is run synchronously vs asynchronously?"),(0,r.mdx)("p",null,"Starlark itself is run synchronously. However, certain BXL APIs are evaluated\nasynchronously."),(0,r.mdx)("p",null,"If you pass in multiple inputs to builds, queries, or analyses, the execution of\nthese API calls will be blocking, but the inputs themselves will be evaluated in\nparallel within the execution."),(0,r.mdx)("p",null,"Ensuring artifacts, dynamic outputs, anon targets, and resolving promises will\nhappen ",(0,r.mdx)("em",{parentName:"p"},"after")," the Starlark script is executed."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4611.ad902f6e.js b/assets/js/4611.ad902f6e.js new file mode 100644 index 0000000000000..f92937dfbfe7a --- /dev/null +++ b/assets/js/4611.ad902f6e.js @@ -0,0 +1,2 @@ +/*! For license information please see 4611.ad902f6e.js.LICENSE.txt */ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4611],{71639:(e,t,n)=>{"use strict";e.exports=n(29281)},47114:(e,t,n)=>{"use strict";var i=n(85670),r={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};i.isMsie()&&i.mixin(r.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),i.isMsie()&&i.isMsie()<=7&&i.mixin(r.input,{marginTop:"-1px"}),e.exports=r},13312:(e,t,n)=>{"use strict";var i="aaDataset",r="aaValue",s="aaDatum",o=n(85670),a=n(33855),u=n(26619),c=n(47114),l=n(6823);function h(e){var t;(e=e||{}).templates=e.templates||{},e.source||o.error("missing source"),e.name&&(t=e.name,!/^[_a-zA-Z0-9-]+$/.test(t))&&o.error("invalid dataset name: "+e.name),this.query=null,this._isEmpty=!0,this.highlight=!!e.highlight,this.name=void 0===e.name||null===e.name?o.getUniqueId():e.name,this.source=e.source,this.displayFn=function(e){return e=e||"value",o.isFunction(e)?e:t;function t(t){return t[e]}}(e.display||e.displayKey),this.debounce=e.debounce,this.cache=!1!==e.cache,this.templates=function(e,t){return{empty:e.empty&&o.templatify(e.empty),header:e.header&&o.templatify(e.header),footer:e.footer&&o.templatify(e.footer),suggestion:e.suggestion||n};function n(e){return"<p>"+t(e)+"</p>"}}(e.templates,this.displayFn),this.css=o.mixin({},c,e.appendTo?c.appendTo:{}),this.cssClasses=e.cssClasses=o.mixin({},c.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var n=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=e.$menu&&e.$menu.find(n+"-"+this.name).length>0?a.element(e.$menu.find(n+"-"+this.name)[0]):a.element(u.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=e.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(e){return a.element(e).data(i)},h.extractValue=function(e){return a.element(e).data(r)},h.extractDatum=function(e){var t=a.element(e).data(s);return"string"==typeof t&&(t=JSON.parse(t)),t},o.mixin(h.prototype,l,{_render:function(e,t){if(this.$el){var n,c=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=t&&t.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(h.apply(this,l)).prepend(c.templates.header?d.apply(this,l):null).append(c.templates.footer?f.apply(this,l):null);else if(n)this.$el.html(p.apply(this,l)).prepend(c.templates.header?d.apply(this,l):null).append(c.templates.footer?f.apply(this,l):null);else if(t&&!Array.isArray(t))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",e)}function h(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!0}].concat(t),c.templates.empty.apply(this,t)}function p(){var e,n,l=[].slice.call(arguments,0),h=this,p=u.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return e=a.element(p).css(this.css.suggestions),n=o.map(t,d),e.append.apply(e,n),e;function d(e){var t,n=u.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(t=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(c.templates.suggestion.apply(this,[e].concat(l)))).data(i,c.name),t.data(r,c.displayFn(e)||void 0),t.data(s,JSON.stringify(e)),t.children().each((function(){a.element(this).css(h.css.suggestionChild)})),t}}function d(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),c.templates.header.apply(this,t)}function f(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),c.templates.footer.apply(this,t)}},getRoot:function(){return this.$el},update:function(e){function t(t){if(!this.canceled&&e===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(e,t,n),this._render.apply(this,[e,t].concat(n))}}if(this.query=e,this.canceled=!1,this.shouldFetchFromCache(e))t.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,i=function(){n.canceled||n.source(e,t.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((function(){n.debounceTimeout=null,i()}),this.debounce)}else i()}},cacheSuggestions:function(e,t,n){this.cachedQuery=e,this.cachedSuggestions=t,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(e){return this.cache&&this.cachedQuery===e&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.$el&&(this.cancel(),this.$el.empty(),this.trigger("rendered",""))},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),e.exports=h},35445:(e,t,n)=>{"use strict";var i=n(85670),r=n(33855),s=n(6823),o=n(13312),a=n(47114);function u(e){var t,n,s,o=this;(e=e||{}).menu||i.error("menu is required"),i.isArray(e.datasets)||i.isObject(e.datasets)||i.error("1 or more datasets required"),e.datasets||i.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=e.minLength||0,this.templates={},this.appendTo=e.appendTo||!1,this.css=i.mixin({},a,e.appendTo?a.appendTo:{}),this.cssClasses=e.cssClasses=i.mixin({},a.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),t=i.bind(this._onSuggestionClick,this),n=i.bind(this._onSuggestionMouseEnter,this),s=i.bind(this._onSuggestionMouseLeave,this);var c=i.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=r.element(e.menu).on("mouseenter.aa",c,n).on("mouseleave.aa",c,s).on("click.aa",c,t),this.$container=e.appendTo?e.wrapper:this.$menu,e.templates&&e.templates.header&&(this.templates.header=i.templatify(e.templates.header),this.$menu.prepend(this.templates.header())),e.templates&&e.templates.empty&&(this.templates.empty=i.templatify(e.templates.empty),this.$empty=r.element('<div class="'+i.className(this.cssClasses.prefix,this.cssClasses.empty,!0)+'"></div>'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=i.map(e.datasets,(function(t){return function(e,t,n){return new u.Dataset(i.mixin({$menu:e,cssClasses:n},t))}(o.$menu,t,e.cssClasses)})),i.each(this.datasets,(function(e){var t=e.getRoot();t&&0===t.parent().length&&o.$menu.append(t),e.onSync("rendered",o._onRendered,o)})),e.templates&&e.templates.footer&&(this.templates.footer=i.templatify(e.templates.footer),this.$menu.append(this.templates.footer()));var l=this;r.element(window).resize((function(){l._redraw()}))}i.mixin(u.prototype,s,{_onSuggestionClick:function(e){this.trigger("suggestionClicked",r.element(e.currentTarget))},_onSuggestionMouseEnter:function(e){var t=r.element(e.currentTarget);if(!t.hasClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout((function(){n._setCursor(t,!1)}),0)}},_onSuggestionMouseLeave:function(e){if(e.relatedTarget&&r.element(e.relatedTarget).closest("."+i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(e,t){if(this.isEmpty=i.every(this.datasets,(function(e){return e.isEmpty()})),this.isEmpty)if(t.length>=this.minLength&&this.trigger("empty"),this.$empty)if(t.length<this.minLength)this._hide();else{var n=this.templates.empty({query:this.datasets[0]&&this.datasets[0].query});this.$empty.html(n),this.$empty.show(),this._show()}else i.any(this.datasets,(function(e){return e.templates&&e.templates.empty}))?t.length<this.minLength?this._hide():this._show():this._hide();else this.isOpen&&(this.$empty&&(this.$empty.empty(),this.$empty.hide()),t.length>=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(e,t){e.first().addClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",t)},_removeCursor:function(){this._getCursor().removeClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(e){var t,n,i,r;this.isOpen&&(n=this._getCursor(),t=this._getSuggestions(),this._removeCursor(),-1!==(i=((i=t.index(n)+e)+1)%(t.length+1)-1)?(i<-1&&(i=t.length-1),this._setCursor(r=t.eq(i),!0),this._ensureVisible(r)):this.trigger("cursorRemoved"))},_ensureVisible:function(e){var t,n,i,r;n=(t=e.position().top)+e.height()+parseInt(e.css("margin-top"),10)+parseInt(e.css("margin-bottom"),10),i=this.$menu.scrollTop(),r=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),t<0?this.$menu.scrollTop(i+t):r<n&&this.$menu.scrollTop(i+(n-r))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(e){this.$menu.css("ltr"===e?this.css.ltr:this.css.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(e){var t=null;return e.length&&(t={raw:o.extractDatum(e),value:o.extractValue(e),datasetName:o.extractDatasetName(e)}),t},getCurrentCursor:function(){return this._getCursor().first()},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},cursorTopSuggestion:function(){this._setCursor(this._getSuggestions().first(),!1)},update:function(e){i.each(this.datasets,(function(t){t.update(e)}))},empty:function(){i.each(this.datasets,(function(e){e.clear()})),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".aa"),this.$menu=null,i.each(this.datasets,(function(e){e.destroy()}))}}),u.Dataset=o,e.exports=u},47368:(e,t,n)=>{"use strict";var i=n(85670),r=n(33855);function s(e){e&&e.el||i.error("EventBus initialized without el"),this.$el=r.element(e.el)}i.mixin(s.prototype,{trigger:function(e,t,n,r){var s=i.Event("autocomplete:"+e);return this.$el.trigger(s,[t,n,r]),s}}),e.exports=s},6823:(e,t,n)=>{"use strict";var i=n(70624),r=/\s+/;function s(e,t,n,i){var s;if(!n)return this;for(t=t.split(r),n=i?function(e,t){return e.bind?e.bind(t):function(){e.apply(t,[].slice.call(arguments,0))}}(n,i):n,this._callbacks=this._callbacks||{};s=t.shift();)this._callbacks[s]=this._callbacks[s]||{sync:[],async:[]},this._callbacks[s][e].push(n);return this}function o(e,t,n){return function(){for(var i,r=0,s=e.length;!i&&r<s;r+=1)i=!1===e[r].apply(t,n);return!i}}e.exports={onSync:function(e,t,n){return s.call(this,"sync",e,t,n)},onAsync:function(e,t,n){return s.call(this,"async",e,t,n)},off:function(e){var t;if(!this._callbacks)return this;e=e.split(r);for(;t=e.shift();)delete this._callbacks[t];return this},trigger:function(e){var t,n,s,a,u;if(!this._callbacks)return this;e=e.split(r),s=[].slice.call(arguments,1);for(;(t=e.shift())&&(n=this._callbacks[t]);)a=o(n.sync,this,[t].concat(s)),u=o(n.async,this,[t].concat(s)),a()&&i(u);return this}}},26619:e=>{"use strict";e.exports={wrapper:'<span class="%ROOT%"></span>',dropdown:'<span class="%PREFIX%%DROPDOWN_MENU%"></span>',dataset:'<div class="%PREFIX%%DATASET%-%CLASS%"></div>',suggestions:'<span class="%PREFIX%%SUGGESTIONS%"></span>',suggestion:'<div class="%PREFIX%%SUGGESTION%"></div>'}},21286:(e,t,n)=>{"use strict";var i;i={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var r=n(85670),s=n(33855),o=n(6823);function a(e){var t,n,o,a,u,c=this;(e=e||{}).input||r.error("input is missing"),t=r.bind(this._onBlur,this),n=r.bind(this._onFocus,this),o=r.bind(this._onKeydown,this),a=r.bind(this._onInput,this),this.$hint=s.element(e.hint),this.$input=s.element(e.input).on("blur.aa",t).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=r.noop),r.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",(function(e){i[e.which||e.keyCode]||r.defer(r.bind(c._onInput,c,e))})):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=(u=this.$input,s.element('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:u.css("font-family"),fontSize:u.css("font-size"),fontStyle:u.css("font-style"),fontVariant:u.css("font-variant"),fontWeight:u.css("font-weight"),wordSpacing:u.css("word-spacing"),letterSpacing:u.css("letter-spacing"),textIndent:u.css("text-indent"),textRendering:u.css("text-rendering"),textTransform:u.css("text-transform")}).insertAfter(u))}function u(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}a.normalizeQuery=function(e){return(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},r.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(e){var t=i[e.which||e.keyCode];this._managePreventDefault(t,e),t&&this._shouldTrigger(t,e)&&this.trigger(t+"Keyed",e)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(e,t){var n,i,r;switch(e){case"tab":i=this.getHint(),r=this.getInputValue(),n=i&&i!==r&&!u(t);break;case"up":case"down":n=!u(t);break;default:n=!1}n&&t.preventDefault()},_shouldTrigger:function(e,t){var n;if("tab"===e)n=!u(t);else n=!0;return n},_checkInputValue:function(){var e,t,n,i,r;e=this.getInputValue(),i=e,r=this.query,n=!(!(t=a.normalizeQuery(i)===a.normalizeQuery(r))||!this.query)&&this.query.length!==e.length,this.query=e,t?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(e){this.query=e},getInputValue:function(){return this.$input.val()},setInputValue:function(e,t){void 0===e&&(e=this.query),this.$input.val(e),t?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(e){this.$input.attr("aria-activedescendant",e)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(e){this.$hint.val(e)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var e,t,n;n=(e=this.getInputValue())!==(t=this.getHint())&&0===t.indexOf(e),""!==e&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var e=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=e},isCursorAtEnd:function(){var e,t,n;return e=this.$input.val().length,t=this.$input[0].selectionStart,r.isNumber(t)?t===e:!document.selection||((n=document.selection.createRange()).moveStart("character",-e),e===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),e.exports=a},4520:(e,t,n)=>{"use strict";var i="aaAttrs",r=n(85670),s=n(33855),o=n(47368),a=n(21286),u=n(35445),c=n(26619),l=n(47114);function h(e){var t,n;if((e=e||{}).input||r.error("missing input"),this.isActivated=!1,this.debug=!!e.debug,this.autoselect=!!e.autoselect,this.autoselectOnBlur=!!e.autoselectOnBlur,this.openOnFocus=!!e.openOnFocus,this.minLength=r.isNumber(e.minLength)?e.minLength:1,this.autoWidth=void 0===e.autoWidth||!!e.autoWidth,this.clearOnSelected=!!e.clearOnSelected,this.tabAutocomplete=void 0===e.tabAutocomplete||!!e.tabAutocomplete,e.hint=!!e.hint,e.hint&&e.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=e.css=r.mixin({},l,e.appendTo?l.appendTo:{}),this.cssClasses=e.cssClasses=r.mixin({},l.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix=r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=e.listboxId=[this.cssClasses.root,"listbox",r.getUniqueId()].join("-");var a=function(e){var t,n,o,a;t=s.element(e.input),n=s.element(c.wrapper.replace("%ROOT%",e.cssClasses.root)).css(e.css.wrapper),e.appendTo||"block"!==t.css("display")||"table"!==t.parent().css("display")||n.css("display","table-cell");var u=c.dropdown.replace("%PREFIX%",e.cssClasses.prefix).replace("%DROPDOWN_MENU%",e.cssClasses.dropdownMenu);o=s.element(u).css(e.css.dropdown).attr({role:"listbox",id:e.listboxId}),e.templates&&e.templates.dropdownMenu&&o.html(r.templatify(e.templates.dropdownMenu)());a=t.clone().css(e.css.hint).css(function(e){return{backgroundAttachment:e.css("background-attachment"),backgroundClip:e.css("background-clip"),backgroundColor:e.css("background-color"),backgroundImage:e.css("background-image"),backgroundOrigin:e.css("background-origin"),backgroundPosition:e.css("background-position"),backgroundRepeat:e.css("background-repeat"),backgroundSize:e.css("background-size")}}(t)),a.val("").addClass(r.className(e.cssClasses.prefix,e.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();t.data(i,{"aria-autocomplete":t.attr("aria-autocomplete"),"aria-expanded":t.attr("aria-expanded"),"aria-owns":t.attr("aria-owns"),autocomplete:t.attr("autocomplete"),dir:t.attr("dir"),role:t.attr("role"),spellcheck:t.attr("spellcheck"),style:t.attr("style"),type:t.attr("type")}),t.addClass(r.className(e.cssClasses.prefix,e.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":e.datasets&&e.datasets[0]&&e.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":e.ariaLabel,"aria-owns":e.listboxId}).css(e.hint?e.css.input:e.css.inputWithNoHint);try{t.attr("dir")||t.attr("dir","auto")}catch(l){}return n=e.appendTo?n.appendTo(s.element(e.appendTo).eq(0)).eq(0):t.wrap(n).parent(),n.prepend(e.hint?a:null).append(o),{wrapper:n,input:t,hint:a,menu:o}}(e);this.$node=a.wrapper;var u=this.$input=a.input;t=a.menu,n=a.hint,e.dropdownMenuContainer&&s.element(e.dropdownMenuContainer).css("position","relative").append(t.css("top","0")),u.on("blur.aa",(function(e){var n=document.activeElement;r.isMsie()&&(t[0]===n||t[0].contains(n))&&(e.preventDefault(),e.stopImmediatePropagation(),r.defer((function(){u.focus()})))})),t.on("mousedown.aa",(function(e){e.preventDefault()})),this.eventBus=e.eventBus||new o({el:u}),this.dropdown=new h.Dropdown({appendTo:e.appendTo,wrapper:this.$node,menu:t,datasets:e.datasets,templates:e.templates,cssClasses:e.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:u,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(e),this._setLanguageDirection()}r.mixin(h.prototype,{_bindKeyboardShortcuts:function(e){if(e.keyboardShortcuts){var t=this.$input,n=[];r.each(e.keyboardShortcuts,(function(e){"string"==typeof e&&(e=e.toUpperCase().charCodeAt(0)),n.push(e)})),s.element(document).keydown((function(e){var i=e.target||e.srcElement,r=i.tagName;if(!i.isContentEditable&&"INPUT"!==r&&"SELECT"!==r&&"TEXTAREA"!==r){var s=e.which||e.keyCode;-1!==n.indexOf(s)&&(t.focus(),e.stopPropagation(),e.preventDefault())}}))}},_onSuggestionClicked:function(e,t){var n;(n=this.dropdown.getDatumForSuggestion(t))&&this._select(n,{selectionMethod:"click"})},_onCursorMoved:function(e,t){var n=this.dropdown.getDatumForCursor(),i=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(i),n&&(t&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var e=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",e.width+"px");var t=this.$node[0].getBoundingClientRect(),n=e.bottom-t.top;this.$node.css("top",n+"px");var i=e.left-t.left;this.$node.css("left",i+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var e=this.input.getQuery();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var e,t;e=this.dropdown.getDatumForCursor(),t=this.dropdown.getDatumForTopSuggestion();var n={selectionMethod:"blur"};this.debug||(this.autoselectOnBlur&&e?this._select(e,n):this.autoselectOnBlur&&t?this._select(t,n):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(e,t){var n,i;n=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion();var r={selectionMethod:"enterKey"};n?(this._select(n,r),t.preventDefault()):this.autoselect&&i&&(this._select(i,r),t.preventDefault())},_onTabKeyed:function(e,t){if(this.tabAutocomplete){var n;(n=this.dropdown.getDatumForCursor())?(this._select(n,{selectionMethod:"tabKey"}),t.preventDefault()):this._autocomplete(!0)}else this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(e,t){this.input.clearHintIfInvalid(),t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var e=this.input.getLanguageDirection();this.dir!==e&&(this.dir=e,this.$node.css("direction",e),this.dropdown.setLanguageDirection(e))},_updateHint:function(){var e,t,n,i,s;(e=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(t=this.input.getInputValue(),n=a.normalizeQuery(t),i=r.escapeRegExChars(n),(s=new RegExp("^(?:"+i+")(.+$)","i").exec(e.value))?this.input.setHint(t+s[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(e){var t,n,i,r;t=this.input.getHint(),n=this.input.getQuery(),i=e||this.input.isCursorAtEnd(),t&&n!==t&&i&&((r=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(r.value),this.eventBus.trigger("autocompleted",r.raw,r.datasetName))},_select:function(e,t){void 0!==e.value&&this.input.setQuery(e.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(e.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",e.raw,e.datasetName,t).isDefaultPrevented()&&(this.dropdown.close(),r.defer(r.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var e=this.input.getInputValue();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(e){e=r.toStr(e),this.isActivated?this.input.setInputValue(e):(this.input.setQuery(e),this.input.setInputValue(e,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(e,t){var n=e.find(r.className(t.prefix,t.input));r.each(n.data(i),(function(e,t){void 0===e?n.removeAttr(t):n.attr(t,e)})),n.detach().removeClass(r.className(t.prefix,t.input,!0)).insertAfter(e),n.removeData&&n.removeData(i);e.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=u,h.Input=a,h.sources=n(86331),e.exports=h},33855:e=>{"use strict";e.exports={element:null}},22926:e=>{"use strict";e.exports=function(e){var t=e.match(/Algolia for JavaScript \((\d+\.)(\d+\.)(\d+)\)/)||e.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(t)return[t[1],t[2],t[3]]}},85670:(e,t,n)=>{"use strict";var i,r=n(33855);function s(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}e.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(e){if(void 0===e&&(e=navigator.userAgent),/(msie|trident)/i.test(e)){var t=e.match(/(msie |rv:)(\d+(.\d+)?)/i);if(t)return t[2]}return!1},escapeRegExChars:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(e){return"number"==typeof e},toStr:function(e){return null==e?"":e+""},cloneDeep:function(e){var t=this.mixin({},e),n=this;return this.each(t,(function(e,i){e&&(n.isArray(e)?t[i]=[].concat(e):n.isObject(e)&&(t[i]=n.cloneDeep(e)))})),t},error:function(e){throw new Error(e)},every:function(e,t){var n=!0;return e?(this.each(e,(function(i,r){n&&(n=t.call(null,i,r,e)&&n)})),!!n):n},any:function(e,t){var n=!1;return e?(this.each(e,(function(i,r){if(t.call(null,i,r,e))return n=!0,!1})),n):n},getUniqueId:(i=0,function(){return i++}),templatify:function(e){if(this.isFunction(e))return e;var t=r.element(e);return"SCRIPT"===t.prop("tagName")?function(){return t.text()}:function(){return String(e)}},defer:function(e){setTimeout(e,0)},noop:function(){},formatPrefix:function(e,t){return t?"":e+"-"},className:function(e,t,n){return(n?"":".")+e+t},escapeHighlightedString:function(e,t,n){t=t||"<em>";var i=document.createElement("div");i.appendChild(document.createTextNode(t)),n=n||"</em>";var r=document.createElement("div");r.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(e)),o.innerHTML.replace(RegExp(s(i.innerHTML),"g"),t).replace(RegExp(s(r.innerHTML),"g"),n)}}},42683:(e,t,n)=>{"use strict";var i=n(85670),r=n(93489),s=n(22926);e.exports=function(e,t){var n=s(e.as._ua);return n&&n[0]>=3&&n[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+r),function(n,r){e.search(n,t,(function(e,t){e?i.error(e.message):r(t.hits,t)}))}}},86331:(e,t,n)=>{"use strict";e.exports={hits:n(42683),popularIn:n(82226)}},82226:(e,t,n)=>{"use strict";var i=n(85670),r=n(93489),s=n(22926);e.exports=function(e,t,n,o){var a=s(e.as._ua);if(a&&a[0]>=3&&a[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+r),!n.source)return i.error("Missing 'source' key");var u=i.isFunction(n.source)?n.source:function(e){return e[n.source]};if(!n.index)return i.error("Missing 'index' key");var c=n.index;return o=o||{},function(a,l){e.search(a,t,(function(e,a){if(e)i.error(e.message);else{if(a.hits.length>0){var h=a.hits[0],p=i.mixin({hitsPerPage:0},n);delete p.source,delete p.index;var d=s(c.as._ua);return d&&d[0]>=3&&d[1]>20&&(t.additionalUA="autocomplete.js "+r),void c.search(u(h),p,(function(e,t){if(e)i.error(e.message);else{var n=[];if(o.includeAll){var r=o.allTitle||"All departments";n.push(i.mixin({facet:{value:r,count:t.nbHits}},i.cloneDeep(h)))}i.each(t.facets,(function(e,t){i.each(e,(function(e,r){n.push(i.mixin({facet:{facet:t,value:r,count:e}},i.cloneDeep(h)))}))}));for(var s=1;s<a.hits.length;++s)n.push(a.hits[s]);l(n,a)}}))}l([])}}))}}},29281:(e,t,n)=>{"use strict";var i=n(7939);n(33855).element=i;var r=n(85670);r.isArray=i.isArray,r.isFunction=i.isFunction,r.isObject=i.isPlainObject,r.bind=i.proxy,r.each=function(e,t){i.each(e,(function(e,n){return t(n,e)}))},r.map=i.map,r.mixin=i.extend,r.Event=i.Event;var s="aaAutocomplete",o=n(4520),a=n(47368);function u(e,t,n,u){n=r.isArray(n)?n:[].slice.call(arguments,2);var c=i(e).each((function(e,r){var c=i(r),l=new a({el:c}),h=u||new o({input:c,eventBus:l,dropdownMenuContainer:t.dropdownMenuContainer,hint:void 0===t.hint||!!t.hint,minLength:t.minLength,autoselect:t.autoselect,autoselectOnBlur:t.autoselectOnBlur,tabAutocomplete:t.tabAutocomplete,openOnFocus:t.openOnFocus,templates:t.templates,debug:t.debug,clearOnSelected:t.clearOnSelected,cssClasses:t.cssClasses,datasets:n,keyboardShortcuts:t.keyboardShortcuts,appendTo:t.appendTo,autoWidth:t.autoWidth,ariaLabel:t.ariaLabel||r.getAttribute("aria-label")});c.data(s,h)}));return c.autocomplete={},r.each(["open","close","getVal","setVal","destroy","getWrapper"],(function(e){c.autocomplete[e]=function(){var t,n=arguments;return c.each((function(r,o){var a=i(o).data(s);t=a[e].apply(a,n)})),t}})),c}u.sources=o.sources,u.escapeHighlightedString=r.escapeHighlightedString;var c="autocomplete"in window,l=window.autocomplete;u.noConflict=function(){return c?window.autocomplete=l:delete window.autocomplete,u},e.exports=u},93489:e=>{e.exports="0.37.1"},7939:e=>{var t;t=window,e.exports=function(e){var t,n,i=function(){var t,n,i,r,s,o,a=[],u=a.concat,c=a.filter,l=a.slice,h=e.document,p={},d={},f={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,v=/^(?:body|html)$/i,x=/([A-Z])/g,b=["val","css","html","text","data","width","height","offset"],w=["after","prepend","before","append"],S=h.createElement("table"),C=h.createElement("tr"),E={tr:h.createElement("tbody"),tbody:S,thead:S,tfoot:S,td:C,th:C,"*":h.createElement("div")},k=/complete|loaded|interactive/,_=/^[\w-]*$/,T={},L=T.toString,O={},A=h.createElement("div"),$={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},P=Array.isArray||function(e){return e instanceof Array};function I(e){return null==e?String(e):T[L.call(e)]||"object"}function Q(e){return"function"==I(e)}function R(e){return null!=e&&e==e.window}function N(e){return null!=e&&e.nodeType==e.DOCUMENT_NODE}function D(e){return"object"==I(e)}function F(e){return D(e)&&!R(e)&&Object.getPrototypeOf(e)==Object.prototype}function j(e){var t=!!e&&"length"in e&&e.length,n=i.type(e);return"function"!=n&&!R(e)&&("array"==n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function H(e){return c.call(e,(function(e){return null!=e}))}function V(e){return e.length>0?i.fn.concat.apply([],e):e}function B(e){return e.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function M(e){return e in d?d[e]:d[e]=new RegExp("(^|\\s)"+e+"(\\s|$)")}function q(e,t){return"number"!=typeof t||f[B(e)]?t:t+"px"}function z(e){var t,n;return p[e]||(t=h.createElement(e),h.body.appendChild(t),n=getComputedStyle(t,"").getPropertyValue("display"),t.parentNode.removeChild(t),"none"==n&&(n="block"),p[e]=n),p[e]}function K(e){return"children"in e?l.call(e.children):i.map(e.childNodes,(function(e){if(1==e.nodeType)return e}))}function W(e,t){var n,i=e?e.length:0;for(n=0;n<i;n++)this[n]=e[n];this.length=i,this.selector=t||""}function U(e,i,r){for(n in i)r&&(F(i[n])||P(i[n]))?(F(i[n])&&!F(e[n])&&(e[n]={}),P(i[n])&&!P(e[n])&&(e[n]=[]),U(e[n],i[n],r)):i[n]!==t&&(e[n]=i[n])}function Z(e,t){return null==t?i(e):i(e).filter(t)}function G(e,t,n,i){return Q(t)?t.call(e,n,i):t}function J(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)}function X(e,n){var i=e.className||"",r=i&&i.baseVal!==t;if(n===t)return r?i.baseVal:i;r?i.baseVal=n:e.className=n}function Y(e){try{return e?"true"==e||"false"!=e&&("null"==e?null:+e+""==e?+e:/^[\[\{]/.test(e)?i.parseJSON(e):e):e}catch(t){return e}}function ee(e,t){t(e);for(var n=0,i=e.childNodes.length;n<i;n++)ee(e.childNodes[n],t)}return O.matches=function(e,t){if(!t||!e||1!==e.nodeType)return!1;var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.matchesSelector;if(n)return n.call(e,t);var i,r=e.parentNode,s=!r;return s&&(r=A).appendChild(e),i=~O.qsa(r,t).indexOf(e),s&&A.removeChild(e),i},s=function(e){return e.replace(/-+(.)?/g,(function(e,t){return t?t.toUpperCase():""}))},o=function(e){return c.call(e,(function(t,n){return e.indexOf(t)==n}))},O.fragment=function(e,n,r){var s,o,a;return m.test(e)&&(s=i(h.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(y,"<$1></$2>")),n===t&&(n=g.test(e)&&RegExp.$1),n in E||(n="*"),(a=E[n]).innerHTML=""+e,s=i.each(l.call(a.childNodes),(function(){a.removeChild(this)}))),F(r)&&(o=i(s),i.each(r,(function(e,t){b.indexOf(e)>-1?o[e](t):o.attr(e,t)}))),s},O.Z=function(e,t){return new W(e,t)},O.isZ=function(e){return e instanceof O.Z},O.init=function(e,n){var r;if(!e)return O.Z();if("string"==typeof e)if("<"==(e=e.trim())[0]&&g.test(e))r=O.fragment(e,RegExp.$1,n),e=null;else{if(n!==t)return i(n).find(e);r=O.qsa(h,e)}else{if(Q(e))return i(h).ready(e);if(O.isZ(e))return e;if(P(e))r=H(e);else if(D(e))r=[e],e=null;else if(g.test(e))r=O.fragment(e.trim(),RegExp.$1,n),e=null;else{if(n!==t)return i(n).find(e);r=O.qsa(h,e)}}return O.Z(r,e)},(i=function(e,t){return O.init(e,t)}).extend=function(e){var t,n=l.call(arguments,1);return"boolean"==typeof e&&(t=e,e=n.shift()),n.forEach((function(n){U(e,n,t)})),e},O.qsa=function(e,t){var n,i="#"==t[0],r=!i&&"."==t[0],s=i||r?t.slice(1):t,o=_.test(s);return e.getElementById&&o&&i?(n=e.getElementById(s))?[n]:[]:1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType?[]:l.call(o&&!i&&e.getElementsByClassName?r?e.getElementsByClassName(s):e.getElementsByTagName(t):e.querySelectorAll(t))},i.contains=h.documentElement.contains?function(e,t){return e!==t&&e.contains(t)}:function(e,t){for(;t&&(t=t.parentNode);)if(t===e)return!0;return!1},i.type=I,i.isFunction=Q,i.isWindow=R,i.isArray=P,i.isPlainObject=F,i.isEmptyObject=function(e){var t;for(t in e)return!1;return!0},i.isNumeric=function(e){var t=Number(e),n=typeof e;return null!=e&&"boolean"!=n&&("string"!=n||e.length)&&!isNaN(t)&&isFinite(t)||!1},i.inArray=function(e,t,n){return a.indexOf.call(t,e,n)},i.camelCase=s,i.trim=function(e){return null==e?"":String.prototype.trim.call(e)},i.uuid=0,i.support={},i.expr={},i.noop=function(){},i.map=function(e,t){var n,i,r,s=[];if(j(e))for(i=0;i<e.length;i++)null!=(n=t(e[i],i))&&s.push(n);else for(r in e)null!=(n=t(e[r],r))&&s.push(n);return V(s)},i.each=function(e,t){var n,i;if(j(e)){for(n=0;n<e.length;n++)if(!1===t.call(e[n],n,e[n]))return e}else for(i in e)if(!1===t.call(e[i],i,e[i]))return e;return e},i.grep=function(e,t){return c.call(e,t)},e.JSON&&(i.parseJSON=JSON.parse),i.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),(function(e,t){T["[object "+t+"]"]=t.toLowerCase()})),i.fn={constructor:O.Z,length:0,forEach:a.forEach,reduce:a.reduce,push:a.push,sort:a.sort,splice:a.splice,indexOf:a.indexOf,concat:function(){var e,t,n=[];for(e=0;e<arguments.length;e++)t=arguments[e],n[e]=O.isZ(t)?t.toArray():t;return u.apply(O.isZ(this)?this.toArray():this,n)},map:function(e){return i(i.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return i(l.apply(this,arguments))},ready:function(e){return k.test(h.readyState)&&h.body?e(i):h.addEventListener("DOMContentLoaded",(function(){e(i)}),!1),this},get:function(e){return e===t?l.call(this):this[e>=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each((function(){null!=this.parentNode&&this.parentNode.removeChild(this)}))},each:function(e){return a.every.call(this,(function(t,n){return!1!==e.call(t,n,t)})),this},filter:function(e){return Q(e)?this.not(this.not(e)):i(c.call(this,(function(t){return O.matches(t,e)})))},add:function(e,t){return i(o(this.concat(i(e,t))))},is:function(e){return this.length>0&&O.matches(this[0],e)},not:function(e){var n=[];if(Q(e)&&e.call!==t)this.each((function(t){e.call(this,t)||n.push(this)}));else{var r="string"==typeof e?this.filter(e):j(e)&&Q(e.item)?l.call(e):i(e);this.forEach((function(e){r.indexOf(e)<0&&n.push(e)}))}return i(n)},has:function(e){return this.filter((function(){return D(e)?i.contains(this,e):i(this).find(e).size()}))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){var e=this[0];return e&&!D(e)?e:i(e)},last:function(){var e=this[this.length-1];return e&&!D(e)?e:i(e)},find:function(e){var t=this;return e?"object"==typeof e?i(e).filter((function(){var e=this;return a.some.call(t,(function(t){return i.contains(t,e)}))})):1==this.length?i(O.qsa(this[0],e)):this.map((function(){return O.qsa(this,e)})):i()},closest:function(e,t){var n=[],r="object"==typeof e&&i(e);return this.each((function(i,s){for(;s&&!(r?r.indexOf(s)>=0:O.matches(s,e));)s=s!==t&&!N(s)&&s.parentNode;s&&n.indexOf(s)<0&&n.push(s)})),i(n)},parents:function(e){for(var t=[],n=this;n.length>0;)n=i.map(n,(function(e){if((e=e.parentNode)&&!N(e)&&t.indexOf(e)<0)return t.push(e),e}));return Z(t,e)},parent:function(e){return Z(o(this.pluck("parentNode")),e)},children:function(e){return Z(this.map((function(){return K(this)})),e)},contents:function(){return this.map((function(){return this.contentDocument||l.call(this.childNodes)}))},siblings:function(e){return Z(this.map((function(e,t){return c.call(K(t.parentNode),(function(e){return e!==t}))})),e)},empty:function(){return this.each((function(){this.innerHTML=""}))},pluck:function(e){return i.map(this,(function(t){return t[e]}))},show:function(){return this.each((function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=z(this.nodeName))}))},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){var t=Q(e);if(this[0]&&!t)var n=i(e).get(0),r=n.parentNode||this.length>1;return this.each((function(s){i(this).wrapAll(t?e.call(this,s):r?n.cloneNode(!0):n)}))},wrapAll:function(e){if(this[0]){var t;for(i(this[0]).before(e=i(e));(t=e.children()).length;)e=t.first();i(e).append(this)}return this},wrapInner:function(e){var t=Q(e);return this.each((function(n){var r=i(this),s=r.contents(),o=t?e.call(this,n):e;s.length?s.wrapAll(o):r.append(o)}))},unwrap:function(){return this.parent().each((function(){i(this).replaceWith(i(this).children())})),this},clone:function(){return this.map((function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(e){return this.each((function(){var n=i(this);(e===t?"none"==n.css("display"):e)?n.show():n.hide()}))},prev:function(e){return i(this.pluck("previousElementSibling")).filter(e||"*")},next:function(e){return i(this.pluck("nextElementSibling")).filter(e||"*")},html:function(e){return 0 in arguments?this.each((function(t){var n=this.innerHTML;i(this).empty().append(G(this,e,t,n))})):0 in this?this[0].innerHTML:null},text:function(e){return 0 in arguments?this.each((function(t){var n=G(this,e,t,this.textContent);this.textContent=null==n?"":""+n})):0 in this?this.pluck("textContent").join(""):null},attr:function(e,i){var r;return"string"!=typeof e||1 in arguments?this.each((function(t){if(1===this.nodeType)if(D(e))for(n in e)J(this,n,e[n]);else J(this,e,G(this,i,t,this.getAttribute(e)))})):0 in this&&1==this[0].nodeType&&null!=(r=this[0].getAttribute(e))?r:t},removeAttr:function(e){return this.each((function(){1===this.nodeType&&e.split(" ").forEach((function(e){J(this,e)}),this)}))},prop:function(e,t){return e=$[e]||e,1 in arguments?this.each((function(n){this[e]=G(this,t,n,this[e])})):this[0]&&this[0][e]},removeProp:function(e){return e=$[e]||e,this.each((function(){delete this[e]}))},data:function(e,n){var i="data-"+e.replace(x,"-$1").toLowerCase(),r=1 in arguments?this.attr(i,n):this.attr(i);return null!==r?Y(r):t},val:function(e){return 0 in arguments?(null==e&&(e=""),this.each((function(t){this.value=G(this,e,t,this.value)}))):this[0]&&(this[0].multiple?i(this[0]).find("option").filter((function(){return this.selected})).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each((function(e){var n=i(this),r=G(this,t,e,n.offset()),s=n.offsetParent().offset(),o={top:r.top-s.top,left:r.left-s.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)}));if(!this.length)return null;if(h.documentElement!==this[0]&&!i.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+e.pageXOffset,top:n.top+e.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(e,t){if(arguments.length<2){var r=this[0];if("string"==typeof e){if(!r)return;return r.style[s(e)]||getComputedStyle(r,"").getPropertyValue(e)}if(P(e)){if(!r)return;var o={},a=getComputedStyle(r,"");return i.each(e,(function(e,t){o[t]=r.style[s(t)]||a.getPropertyValue(t)})),o}}var u="";if("string"==I(e))t||0===t?u=B(e)+":"+q(e,t):this.each((function(){this.style.removeProperty(B(e))}));else for(n in e)e[n]||0===e[n]?u+=B(n)+":"+q(n,e[n])+";":this.each((function(){this.style.removeProperty(B(n))}));return this.each((function(){this.style.cssText+=";"+u}))},index:function(e){return e?this.indexOf(i(e)[0]):this.parent().children().indexOf(this[0])},hasClass:function(e){return!!e&&a.some.call(this,(function(e){return this.test(X(e))}),M(e))},addClass:function(e){return e?this.each((function(t){if("className"in this){r=[];var n=X(this);G(this,e,t,n).split(/\s+/g).forEach((function(e){i(this).hasClass(e)||r.push(e)}),this),r.length&&X(this,n+(n?" ":"")+r.join(" "))}})):this},removeClass:function(e){return this.each((function(n){if("className"in this){if(e===t)return X(this,"");r=X(this),G(this,e,n,r).split(/\s+/g).forEach((function(e){r=r.replace(M(e)," ")})),X(this,r.trim())}}))},toggleClass:function(e,n){return e?this.each((function(r){var s=i(this);G(this,e,r,X(this)).split(/\s+/g).forEach((function(e){(n===t?!s.hasClass(e):n)?s.addClass(e):s.removeClass(e)}))})):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var e=this[0],t=this.offsetParent(),n=this.offset(),r=v.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(i(e).css("margin-top"))||0,n.left-=parseFloat(i(e).css("margin-left"))||0,r.top+=parseFloat(i(t[0]).css("border-top-width"))||0,r.left+=parseFloat(i(t[0]).css("border-left-width"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent||h.body;e&&!v.test(e.nodeName)&&"static"==i(e).css("position");)e=e.offsetParent;return e}))}},i.fn.detach=i.fn.remove,["width","height"].forEach((function(e){var n=e.replace(/./,(function(e){return e[0].toUpperCase()}));i.fn[e]=function(r){var s,o=this[0];return r===t?R(o)?o["inner"+n]:N(o)?o.documentElement["scroll"+n]:(s=this.offset())&&s[e]:this.each((function(t){(o=i(this)).css(e,G(this,r,t,o[e]()))}))}})),w.forEach((function(n,r){var s=r%2;i.fn[n]=function(){var n,o,a=i.map(arguments,(function(e){var r=[];return"array"==(n=I(e))?(e.forEach((function(e){return e.nodeType!==t?r.push(e):i.zepto.isZ(e)?r=r.concat(e.get()):void(r=r.concat(O.fragment(e)))})),r):"object"==n||null==e?e:O.fragment(e)})),u=this.length>1;return a.length<1?this:this.each((function(t,n){o=s?n:n.parentNode,n=0==r?n.nextSibling:1==r?n.firstChild:2==r?n:null;var c=i.contains(h.documentElement,o);a.forEach((function(t){if(u)t=t.cloneNode(!0);else if(!o)return i(t).remove();o.insertBefore(t,n),c&&ee(t,(function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var n=t.ownerDocument?t.ownerDocument.defaultView:e;n.eval.call(n,t.innerHTML)}}))}))}))},i.fn[s?n+"To":"insert"+(r?"Before":"After")]=function(e){return i(e)[n](this),this}})),O.Z.prototype=W.prototype=i.fn,O.uniq=o,O.deserializeValue=Y,i.zepto=O,i}();return function(t){var n,i=1,r=Array.prototype.slice,s=t.isFunction,o=function(e){return"string"==typeof e},a={},u={},c="onfocusin"in e,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function p(e){return e._zid||(e._zid=i++)}function d(e,t,n,i){if((t=f(t)).ns)var r=g(t.ns);return(a[p(e)]||[]).filter((function(e){return e&&(!t.e||e.e==t.e)&&(!t.ns||r.test(e.ns))&&(!n||p(e.fn)===p(n))&&(!i||e.sel==i)}))}function f(e){var t=(""+e).split(".");return{e:t[0],ns:t.slice(1).sort().join(" ")}}function g(e){return new RegExp("(?:^| )"+e.replace(" "," .* ?")+"(?: |$)")}function m(e,t){return e.del&&!c&&e.e in l||!!t}function y(e){return h[e]||c&&l[e]||e}function v(e,i,r,s,o,u,c){var l=p(e),d=a[l]||(a[l]=[]);i.split(/\s/).forEach((function(i){if("ready"==i)return t(document).ready(r);var a=f(i);a.fn=r,a.sel=o,a.e in h&&(r=function(e){var n=e.relatedTarget;if(!n||n!==this&&!t.contains(this,n))return a.fn.apply(this,arguments)}),a.del=u;var l=u||r;a.proxy=function(t){if(!(t=E(t)).isImmediatePropagationStopped()){try{var i=Object.getOwnPropertyDescriptor(t,"data");i&&!i.writable||(t.data=s)}catch(t){}var r=l.apply(e,t._args==n?[t]:[t].concat(t._args));return!1===r&&(t.preventDefault(),t.stopPropagation()),r}},a.i=d.length,d.push(a),"addEventListener"in e&&e.addEventListener(y(a.e),a.proxy,m(a,c))}))}function x(e,t,n,i,r){var s=p(e);(t||"").split(/\s/).forEach((function(t){d(e,t,n,i).forEach((function(t){delete a[s][t.i],"removeEventListener"in e&&e.removeEventListener(y(t.e),t.proxy,m(t,r))}))}))}u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",t.event={add:v,remove:x},t.proxy=function(e,n){var i=2 in arguments&&r.call(arguments,2);if(s(e)){var a=function(){return e.apply(n,i?i.concat(r.call(arguments)):arguments)};return a._zid=p(e),a}if(o(n))return i?(i.unshift(e[n],e),t.proxy.apply(null,i)):t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(e,t,n){return this.on(e,t,n)},t.fn.unbind=function(e,t){return this.off(e,t)},t.fn.one=function(e,t,n,i){return this.on(e,t,n,i,1)};var b=function(){return!0},w=function(){return!1},S=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,C={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function E(e,i){if(i||!e.isDefaultPrevented){i||(i=e),t.each(C,(function(t,n){var r=i[t];e[t]=function(){return this[n]=b,r&&r.apply(i,arguments)},e[n]=w}));try{e.timeStamp||(e.timeStamp=Date.now())}catch(r){}(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?!1===i.returnValue:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=b)}return e}function k(e){var t,i={originalEvent:e};for(t in e)S.test(t)||e[t]===n||(i[t]=e[t]);return E(i,e)}t.fn.delegate=function(e,t,n){return this.on(t,e,n)},t.fn.undelegate=function(e,t,n){return this.off(t,e,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,i,a,u,c){var l,h,p=this;return e&&!o(e)?(t.each(e,(function(e,t){p.on(e,i,a,t,c)})),p):(o(i)||s(u)||!1===u||(u=a,a=i,i=n),u!==n&&!1!==a||(u=a,a=n),!1===u&&(u=w),p.each((function(n,s){c&&(l=function(e){return x(s,e.type,u),u.apply(this,arguments)}),i&&(h=function(e){var n,o=t(e.target).closest(i,s).get(0);if(o&&o!==s)return n=t.extend(k(e),{currentTarget:o,liveFired:s}),(l||u).apply(o,[n].concat(r.call(arguments,1)))}),v(s,e,u,a,i,h||l)})))},t.fn.off=function(e,i,r){var a=this;return e&&!o(e)?(t.each(e,(function(e,t){a.off(e,i,t)})),a):(o(i)||s(r)||!1===r||(r=i,i=n),!1===r&&(r=w),a.each((function(){x(this,e,r,i)})))},t.fn.trigger=function(e,n){return(e=o(e)||t.isPlainObject(e)?t.Event(e):E(e))._args=n,this.each((function(){e.type in l&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)}))},t.fn.triggerHandler=function(e,n){var i,r;return this.each((function(s,a){(i=k(o(e)?t.Event(e):e))._args=n,i.target=a,t.each(d(a,e.type||e),(function(e,t){if(r=t.proxy(i),i.isImmediatePropagationStopped())return!1}))})),r},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach((function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}})),t.Event=function(e,t){o(e)||(e=(t=e).type);var n=document.createEvent(u[e]||"Events"),i=!0;if(t)for(var r in t)"bubbles"==r?i=!!t[r]:n[r]=t[r];return n.initEvent(e,i,!0),E(n)}}(i),n=[],i.fn.remove=function(){return this.each((function(){this.parentNode&&("IMG"===this.tagName&&(n.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",t&&clearTimeout(t),t=setTimeout((function(){n=[]}),6e4)),this.parentNode.removeChild(this))}))},function(e){var t={},n=e.fn.data,i=e.camelCase,r=e.expando="Zepto"+ +new Date,s=[];function o(s,o){var u=s[r],c=u&&t[u];if(void 0===o)return c||a(s);if(c){if(o in c)return c[o];var l=i(o);if(l in c)return c[l]}return n.call(e(s),o)}function a(n,s,o){var a=n[r]||(n[r]=++e.uuid),c=t[a]||(t[a]=u(n));return void 0!==s&&(c[i(s)]=o),c}function u(t){var n={};return e.each(t.attributes||s,(function(t,r){0==r.name.indexOf("data-")&&(n[i(r.name.replace("data-",""))]=e.zepto.deserializeValue(r.value))})),n}e.fn.data=function(t,n){return void 0===n?e.isPlainObject(t)?this.each((function(n,i){e.each(t,(function(e,t){a(i,e,t)}))})):0 in this?o(this[0],t):void 0:this.each((function(){a(this,t,n)}))},e.data=function(t,n,i){return e(t).data(n,i)},e.hasData=function(n){var i=n[r],s=i&&t[i];return!!s&&!e.isEmptyObject(s)},e.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each((function(){var s=this[r],o=s&&t[s];o&&e.each(n||o,(function(e){delete o[n?i(this):e]}))}))},["remove","empty"].forEach((function(t){var n=e.fn[t];e.fn[t]=function(){var e=this.find("*");return"remove"===t&&(e=e.add(this)),e.removeData(),n.call(this)}}))}(i),i}(t)},4734:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>m});var i=n(5485),r=n.n(i),s=n(29039);s.Z.tokenizer.separator=/[\s\-/]+/;const o=class{constructor(e,t,n){void 0===n&&(n="/"),this.searchDocs=e,this.lunrIndex=s.Z.Index.load(t),this.baseUrl=n}getLunrResult(e){return this.lunrIndex.query((function(t){const n=s.Z.tokenizer(e);t.term(n,{boost:10}),t.term(n,{wildcard:s.Z.Query.wildcard.TRAILING})}))}getHit(e,t,n){return{hierarchy:{lvl0:e.pageTitle||e.title,lvl1:0===e.type?null:e.title},url:e.url,_snippetResult:n?{content:{value:n,matchLevel:"full"}}:null,_highlightResult:{hierarchy:{lvl0:{value:0===e.type?t||e.title:e.pageTitle},lvl1:0===e.type?null:{value:t||e.title}}}}}getTitleHit(e,t,n){const i=t[0],r=t[0]+n;let s=e.title.substring(0,i)+'<span class="algolia-docsearch-suggestion--highlight">'+e.title.substring(i,r)+"</span>"+e.title.substring(r,e.title.length);return this.getHit(e,s)}getKeywordHit(e,t,n){const i=t[0],r=t[0]+n;let s=e.title+"<br /><i>Keywords: "+e.keywords.substring(0,i)+'<span class="algolia-docsearch-suggestion--highlight">'+e.keywords.substring(i,r)+"</span>"+e.keywords.substring(r,e.keywords.length)+"</i>";return this.getHit(e,s)}getContentHit(e,t){const n=t[0],i=t[0]+t[1];let r=n,s=i,o=!0,a=!0;for(let c=0;c<3;c++){const t=e.content.lastIndexOf(" ",r-2),n=e.content.lastIndexOf(".",r-2);if(n>0&&n>t){r=n+1,o=!1;break}if(t<0){r=0,o=!1;break}r=t+1}for(let c=0;c<10;c++){const t=e.content.indexOf(" ",s+1),n=e.content.indexOf(".",s+1);if(n>0&&n<t){s=n,a=!1;break}if(t<0){s=e.content.length,a=!1;break}s=t}let u=e.content.substring(r,n);return o&&(u="... "+u),u+='<span class="algolia-docsearch-suggestion--highlight">'+e.content.substring(n,i)+"</span>",u+=e.content.substring(i,s),a&&(u+=" ..."),this.getHit(e,null,u)}search(e){return new Promise(((t,n)=>{const i=this.getLunrResult(e),r=[];i.length>5&&(i.length=5),this.titleHitsRes=[],this.contentHitsRes=[],i.forEach((t=>{const n=this.searchDocs[t.ref],{metadata:i}=t.matchData;for(let s in i)if(i[s].title){if(!this.titleHitsRes.includes(t.ref)){const o=i[s].title.position[0];r.push(this.getTitleHit(n,o,e.length)),this.titleHitsRes.push(t.ref)}}else if(i[s].content){const e=i[s].content.position[0];r.push(this.getContentHit(n,e))}else if(i[s].keywords){const o=i[s].keywords.position[0];r.push(this.getKeywordHit(n,o,e.length)),this.titleHitsRes.push(t.ref)}})),r.length>5&&(r.length=5),t(r)}))}};var a=n(71639),u=n.n(a);const c="algolia-docsearch",l=`${c}-suggestion`,h={suggestion:`\n <a class="${l}\n {{#isCategoryHeader}}${l}__main{{/isCategoryHeader}}\n {{#isSubCategoryHeader}}${l}__secondary{{/isSubCategoryHeader}}\n "\n aria-label="Link to the result"\n href="{{{url}}}"\n >\n <div class="${l}--category-header">\n <span class="${l}--category-header-lvl0">{{{category}}}</span>\n </div>\n <div class="${l}--wrapper">\n <div class="${l}--subcategory-column">\n <span class="${l}--subcategory-column-text">{{{subcategory}}}</span>\n </div>\n {{#isTextOrSubcategoryNonEmpty}}\n <div class="${l}--content">\n <div class="${l}--subcategory-inline">{{{subcategory}}}</div>\n <div class="${l}--title">{{{title}}}</div>\n {{#text}}<div class="${l}--text">{{{text}}}</div>{{/text}}\n </div>\n {{/isTextOrSubcategoryNonEmpty}}\n </div>\n </a>\n `,suggestionSimple:`\n <div class="${l}\n {{#isCategoryHeader}}${l}__main{{/isCategoryHeader}}\n {{#isSubCategoryHeader}}${l}__secondary{{/isSubCategoryHeader}}\n suggestion-layout-simple\n ">\n <div class="${l}--category-header">\n {{^isLvl0}}\n <span class="${l}--category-header-lvl0 ${l}--category-header-item">{{{category}}}</span>\n {{^isLvl1}}\n {{^isLvl1EmptyOrDuplicate}}\n <span class="${l}--category-header-lvl1 ${l}--category-header-item">\n {{{subcategory}}}\n </span>\n {{/isLvl1EmptyOrDuplicate}}\n {{/isLvl1}}\n {{/isLvl0}}\n <div class="${l}--title ${l}--category-header-item">\n {{#isLvl2}}\n {{{title}}}\n {{/isLvl2}}\n {{#isLvl1}}\n {{{subcategory}}}\n {{/isLvl1}}\n {{#isLvl0}}\n {{{category}}}\n {{/isLvl0}}\n </div>\n </div>\n <div class="${l}--wrapper">\n {{#text}}\n <div class="${l}--content">\n <div class="${l}--text">{{{text}}}</div>\n </div>\n {{/text}}\n </div>\n </div>\n `,footer:`\n <div class="${`${c}-footer`}">\n </div>\n `,empty:`\n <div class="${l}">\n <div class="${l}--wrapper">\n <div class="${l}--content ${l}--no-results">\n <div class="${l}--title">\n <div class="${l}--text">\n No results found for query <b>"{{query}}"</b>\n </div>\n </div>\n </div>\n </div>\n </div>\n `,searchBox:'\n <form novalidate="novalidate" onsubmit="return false;" class="searchbox">\n <div role="search" class="searchbox__wrapper">\n <input id="docsearch" type="search" name="search" placeholder="Search the docs" autocomplete="off" required="required" class="searchbox__input"/>\n <button type="submit" title="Submit your search query." class="searchbox__submit" >\n <svg width=12 height=12 role="img" aria-label="Search">\n <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-search-13"></use>\n </svg>\n </button>\n <button type="reset" title="Clear the search query." class="searchbox__reset hide">\n <svg width=12 height=12 role="img" aria-label="Reset">\n <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-clear-3"></use>\n </svg>\n </button>\n </div>\n</form>\n\n<div class="svg-icons" style="height: 0; width: 0; position: absolute; visibility: hidden">\n <svg xmlns="http://www.w3.org/2000/svg">\n <symbol id="sbx-icon-clear-3" viewBox="0 0 40 40"><path d="M16.228 20L1.886 5.657 0 3.772 3.772 0l1.885 1.886L20 16.228 34.343 1.886 36.228 0 40 3.772l-1.886 1.885L23.772 20l14.342 14.343L40 36.228 36.228 40l-1.885-1.886L20 23.772 5.657 38.114 3.772 40 0 36.228l1.886-1.885L16.228 20z" fill-rule="evenodd"></symbol>\n <symbol id="sbx-icon-search-13" viewBox="0 0 40 40"><path d="M26.806 29.012a16.312 16.312 0 0 1-10.427 3.746C7.332 32.758 0 25.425 0 16.378 0 7.334 7.333 0 16.38 0c9.045 0 16.378 7.333 16.378 16.38 0 3.96-1.406 7.593-3.746 10.426L39.547 37.34c.607.608.61 1.59-.004 2.203a1.56 1.56 0 0 1-2.202.004L26.807 29.012zm-10.427.627c7.322 0 13.26-5.938 13.26-13.26 0-7.324-5.938-13.26-13.26-13.26-7.324 0-13.26 5.936-13.26 13.26 0 7.322 5.936 13.26 13.26 13.26z" fill-rule="evenodd"></symbol>\n </svg>\n</div>\n '};var p=n(7939),d=n.n(p);const f={mergeKeyWithParent(e,t){if(void 0===e[t])return e;if("object"!=typeof e[t])return e;const n=d().extend({},e,e[t]);return delete n[t],n},groupBy(e,t){const n={};return d().each(e,((e,i)=>{if(void 0===i[t])throw new Error(`[groupBy]: Object has no key ${t}`);let r=i[t];"string"==typeof r&&(r=r.toLowerCase()),Object.prototype.hasOwnProperty.call(n,r)||(n[r]=[]),n[r].push(i)})),n},values:e=>Object.keys(e).map((t=>e[t])),flatten(e){const t=[];return e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t},flattenAndFlagFirst(e,t){const n=this.values(e).map((e=>e.map(((e,n)=>(e[t]=0===n,e)))));return this.flatten(n)},compact(e){const t=[];return e.forEach((e=>{e&&t.push(e)})),t},getHighlightedValue:(e,t)=>e._highlightResult&&e._highlightResult.hierarchy_camel&&e._highlightResult.hierarchy_camel[t]&&e._highlightResult.hierarchy_camel[t].matchLevel&&"none"!==e._highlightResult.hierarchy_camel[t].matchLevel&&e._highlightResult.hierarchy_camel[t].value?e._highlightResult.hierarchy_camel[t].value:e._highlightResult&&e._highlightResult&&e._highlightResult[t]&&e._highlightResult[t].value?e._highlightResult[t].value:e[t],getSnippetedValue(e,t){if(!e._snippetResult||!e._snippetResult[t]||!e._snippetResult[t].value)return e[t];let n=e._snippetResult[t].value;return n[0]!==n[0].toUpperCase()&&(n=`\u2026${n}`),-1===[".","!","?"].indexOf(n[n.length-1])&&(n=`${n}\u2026`),n},deepClone:e=>JSON.parse(JSON.stringify(e))};class g{constructor(e){let{searchDocs:t,searchIndex:n,inputSelector:i,debug:r=!1,baseUrl:s="/",queryDataCallback:a=null,autocompleteOptions:c={debug:!1,hint:!1,autoselect:!0},transformData:l=!1,queryHook:p=!1,handleSelected:f=!1,enhancedSearchInput:m=!1,layout:y="collumns"}=e;this.input=g.getInputFromSelector(i),this.queryDataCallback=a||null;const v=!(!c||!c.debug)&&c.debug;c.debug=r||v,this.autocompleteOptions=c,this.autocompleteOptions.cssClasses=this.autocompleteOptions.cssClasses||{},this.autocompleteOptions.cssClasses.prefix=this.autocompleteOptions.cssClasses.prefix||"ds";const x=this.input&&"function"==typeof this.input.attr&&this.input.attr("aria-label");this.autocompleteOptions.ariaLabel=this.autocompleteOptions.ariaLabel||x||"search input",this.isSimpleLayout="simple"===y,this.client=new o(t,n,s),m&&(this.input=g.injectSearchBox(this.input)),this.autocomplete=u()(this.input,c,[{source:this.getAutocompleteSource(l,p),templates:{suggestion:g.getSuggestionTemplate(this.isSimpleLayout),footer:h.footer,empty:g.getEmptyTemplate()}}]);const b=f;this.handleSelected=b||this.handleSelected,b&&d()(".algolia-autocomplete").on("click",".ds-suggestions a",(e=>{e.preventDefault()})),this.autocomplete.on("autocomplete:selected",this.handleSelected.bind(null,this.autocomplete.autocomplete)),this.autocomplete.on("autocomplete:shown",this.handleShown.bind(null,this.input)),m&&g.bindSearchBoxEvent()}static injectSearchBox(e){e.before(h.searchBox);const t=e.prev().prev().find("input");return e.remove(),t}static bindSearchBoxEvent(){d()('.searchbox [type="reset"]').on("click",(function(){d()("input#docsearch").focus(),d()(this).addClass("hide"),u().autocomplete.setVal("")})),d()("input#docsearch").on("keyup",(()=>{const e=document.querySelector("input#docsearch"),t=document.querySelector('.searchbox [type="reset"]');t.className="searchbox__reset",0===e.value.length&&(t.className+=" hide")}))}static getInputFromSelector(e){const t=d()(e).filter("input");return t.length?d()(t[0]):null}getAutocompleteSource(e,t){return(n,i)=>{t&&(n=t(n)||n),this.client.search(n).then((t=>{this.queryDataCallback&&"function"==typeof this.queryDataCallback&&this.queryDataCallback(t),e&&(t=e(t)||t),i(g.formatHits(t))}))}}static formatHits(e){const t=f.deepClone(e).map((e=>(e._highlightResult&&(e._highlightResult=f.mergeKeyWithParent(e._highlightResult,"hierarchy")),f.mergeKeyWithParent(e,"hierarchy"))));let n=f.groupBy(t,"lvl0");return d().each(n,((e,t)=>{const i=f.groupBy(t,"lvl1"),r=f.flattenAndFlagFirst(i,"isSubCategoryHeader");n[e]=r})),n=f.flattenAndFlagFirst(n,"isCategoryHeader"),n.map((e=>{const t=g.formatURL(e),n=f.getHighlightedValue(e,"lvl0"),i=f.getHighlightedValue(e,"lvl1")||n,r=f.compact([f.getHighlightedValue(e,"lvl2")||i,f.getHighlightedValue(e,"lvl3"),f.getHighlightedValue(e,"lvl4"),f.getHighlightedValue(e,"lvl5"),f.getHighlightedValue(e,"lvl6")]).join('<span class="aa-suggestion-title-separator" aria-hidden="true"> \u203a </span>'),s=f.getSnippetedValue(e,"content"),o=i&&""!==i||r&&""!==r,a=r&&""!==r&&r!==i,u=!a&&i&&""!==i&&i!==n;return{isLvl0:!u&&!a,isLvl1:u,isLvl2:a,isLvl1EmptyOrDuplicate:!i||""===i||i===n,isCategoryHeader:e.isCategoryHeader,isSubCategoryHeader:e.isSubCategoryHeader,isTextOrSubcategoryNonEmpty:o,category:n,subcategory:i,title:r,text:s,url:t}}))}static formatURL(e){const{url:t,anchor:n}=e;if(t){return-1!==t.indexOf("#")?t:n?`${e.url}#${e.anchor}`:t}return n?`#${e.anchor}`:(console.warn("no anchor nor url for : ",JSON.stringify(e)),null)}static getEmptyTemplate(){return e=>r().compile(h.empty).render(e)}static getSuggestionTemplate(e){const t=e?h.suggestionSimple:h.suggestion,n=r().compile(t);return e=>n.render(e)}handleSelected(e,t,n,i,r){void 0===r&&(r={}),"click"!==r.selectionMethod&&(e.setVal(""),window.location.assign(n.url))}handleShown(e){const t=e.offset().left+e.width()/2;let n=d()(document).width()/2;isNaN(n)&&(n=900);const i=t-n>=0?"algolia-autocomplete-right":"algolia-autocomplete-left",r=t-n<0?"algolia-autocomplete-right":"algolia-autocomplete-left",s=d()(".algolia-autocomplete");s.hasClass(i)||s.addClass(i),s.hasClass(r)&&s.removeClass(r)}}const m=g},49397:(e,t)=>{!function(e){var t=/\S/,n=/\"/g,i=/\n/g,r=/\r/g,s=/\\/g,o=/\u2028/,a=/\u2029/;function u(e){"}"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function c(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function l(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var i=1,r=e.length;i<r;i++)if(t.charAt(n+i)!=e.charAt(i))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,i){var r=n.length,s=0,o=null,a=null,h="",p=[],d=!1,f=0,g=0,m="{{",y="}}";function v(){h.length>0&&(p.push({tag:"_t",text:new String(h)}),h="")}function x(n,i){if(v(),n&&function(){for(var n=!0,i=g;i<p.length;i++)if(!(n=e.tags[p[i].tag]<e.tags._v||"_t"==p[i].tag&&null===p[i].text.match(t)))return!1;return n}())for(var r,s=g;s<p.length;s++)p[s].text&&((r=p[s+1])&&">"==r.tag&&(r.indent=p[s].text.toString()),p.splice(s,1));else i||p.push({tag:"\n"});d=!1,g=p.length}function b(e,t){var n="="+y,i=e.indexOf(n,t),r=c(e.substring(e.indexOf("=",t)+1,i)).split(" ");return m=r[0],y=r[r.length-1],i+n.length-1}for(i&&(i=i.split(" "),m=i[0],y=i[1]),f=0;f<r;f++)0==s?l(m,n,f)?(--f,v(),s=1):"\n"==n.charAt(f)?x(d):h+=n.charAt(f):1==s?(f+=m.length-1,"="==(o=(a=e.tags[n.charAt(f+1)])?n.charAt(f+1):"_v")?(f=b(n,f),s=0):(a&&f++,s=2),d=f):l(y,n,f)?(p.push({tag:o,n:c(h),otag:m,ctag:y,i:"/"==o?d-m.length:f+y.length}),h="",f+=y.length-1,s=0,"{"==o&&("}}"==y?f++:u(p[p.length-1]))):h+=n.charAt(f);return x(d,!0),p};var h={_t:!0,"\n":!0,$:!0,"/":!0};function p(t,n,i,r){var s,o=[],a=null,u=null;for(s=i[i.length-1];t.length>0;){if(u=t.shift(),s&&"<"==s.tag&&!(u.tag in h))throw new Error("Illegal content in < super tag.");if(e.tags[u.tag]<=e.tags.$||d(u,r))i.push(u),u.nodes=p(t,u.tag,i,r);else{if("/"==u.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+u.n);if(a=i.pop(),u.n!=a.n&&!f(u.n,a.n,r))throw new Error("Nesting error: "+a.n+" vs. "+u.n);return a.end=u.i,o}"\n"==u.tag&&(u.last=0==t.length||"\n"==t[0].tag)}o.push(u)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return o}function d(e,t){for(var n=0,i=t.length;n<i;n++)if(t[n].o==e.n)return e.tag="#",!0}function f(e,t,n){for(var i=0,r=n.length;i<r;i++)if(n[i].c==e&&n[i].o==t)return!0}function g(e){var t=[];for(var n in e.partials)t.push('"'+y(n)+'":{name:"'+y(e.partials[n].name)+'", '+g(e.partials[n])+"}");return"partials: {"+t.join(",")+"}, subs: "+function(e){var t=[];for(var n in e)t.push('"'+y(n)+'": function(c,p,t,i) {'+e[n]+"}");return"{ "+t.join(",")+" }"}(e.subs)}e.stringify=function(t,n,i){return"{code: function (c,p,i) { "+e.wrapMain(t.code)+" },"+g(t)+"}"};var m=0;function y(e){return e.replace(s,"\\\\").replace(n,'\\"').replace(i,"\\n").replace(r,"\\r").replace(o,"\\u2028").replace(a,"\\u2029")}function v(e){return~e.indexOf(".")?"d":"f"}function x(e,t){var n="<"+(t.prefix||"")+e.n+m++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp("'+y(n)+'",c,p,"'+(e.indent||"")+'"));',n}function b(e,t){t.code+="t.b(t.t(t."+v(e.n)+'("'+y(e.n)+'",c,p,0)));'}function w(e){return"t.b("+e+");"}e.generate=function(t,n,i){m=0;var r={code:"",subs:{},partials:{}};return e.walk(t,r),i.asString?this.stringify(r,n,i):this.makeTemplate(r,n,i)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,t,n){var i=this.makePartials(e);return i.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(i,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function("c","p","t","i",e.subs[t]);return n},e.codegen={"#":function(t,n){n.code+="if(t.s(t."+v(t.n)+'("'+y(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+v(t.n)+'("'+y(t.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(t.nodes,n),n.code+="};"},">":x,"<":function(t,n){var i={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,i);var r=n.partials[x(t,n)];r.subs=i.subs,r.partials=i.partials},$:function(t,n){var i={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,i),n.subs[t.n]=i.code,n.inPartial||(n.code+='t.sub("'+y(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+v(e.n)+'("'+y(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+y(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){for(var i,r=0,s=t.length;r<s;r++)(i=e.codegen[t[r].tag])&&i(t[r],n);return n},e.parse=function(e,t,n){return p(e,0,[],(n=n||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var i=e.cacheKey(t,n),r=this.cache[i];if(r){var s=r.partials;for(var o in s)delete s[o].instance;return r}return r=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[i]=r}}(t)},5485:(e,t,n)=>{var i=n(49397);i.Template=n(22882).Template,i.template=i.Template,e.exports=i},22882:(e,t)=>{!function(e){function t(e,t,n){var i;return t&&"object"==typeof t&&(void 0!==t[e]?i=t[e]:n&&t.get&&"function"==typeof t.get&&(i=t.get(e))),i}e.Template=function(e,t,n,i){e=e||{},this.r=e.code||this.r,this.c=n,this.options=i||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=u(e),a.test(e)?e.replace(n,"&").replace(i,"<").replace(r,">").replace(s,"'").replace(o,"""):e},t:u,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],i=t[n.name];if(n.instance&&n.base==i)return n.instance;if("string"==typeof i){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[e].base=i,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=function(e,t,n,i,r,s){function o(){}function a(){}var u;o.prototype=e,a.prototype=e.subs;var c=new o;for(u in c.subs=new a,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s,t)i[u]||(i[u]=t[u]);for(u in i)c.subs[u]=i[u];for(u in r=r||{},c.stackPartials=r,n)r[u]||(r[u]=n[u]);for(u in r)c.partials[u]=r[u];return c}(i,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,i){var r=this.ep(e,n);return r?r.ri(t,n,i):""},rs:function(e,t,n){var i=e[e.length-1];if(c(i))for(var r=0;r<i.length;r++)e.push(i[r]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,i,r,s,o){var a;return(!c(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,i,r,s,o)),a=!!e,!i&&a&&t&&t.push("object"==typeof e?e:t[t.length-1]),a)},d:function(e,n,i,r){var s,o=e.split("."),a=this.f(o[0],n,i,r),u=this.options.modelGet,l=null;if("."===e&&c(n[n.length-2]))a=n[n.length-1];else for(var h=1;h<o.length;h++)void 0!==(s=t(o[h],a,u))?(l=a,a=s):a="";return!(r&&!a)&&(r||"function"!=typeof a||(n.push(l),a=this.mv(a,n,i),n.pop()),a)},f:function(e,n,i,r){for(var s=!1,o=!1,a=this.options.modelGet,u=n.length-1;u>=0;u--)if(void 0!==(s=t(e,n[u],a))){o=!0;break}return o?(r||"function"!=typeof s||(s=this.mv(s,n,i)),s):!r&&""},ls:function(e,t,n,i,r){var s=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(u(e.call(t,i)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,i,r,s,o){var a,u=t[t.length-1],c=e.call(u);return"function"==typeof c?!!i||(a=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,n,a.substring(r,s),o)):c},mv:function(e,t,n){var i=t[t.length-1],r=e.call(i);return"function"==typeof r?this.ct(u(r.call(i)),i,n):r},sub:function(e,t,n,i){var r=this.subs[e];r&&(this.activeSub=e,r(t,n,this,i),this.activeSub=!1)}};var n=/&/g,i=/</g,r=/>/g,s=/\'/g,o=/\"/g,a=/[&<>\"\']/;function u(e){return String(null==e?"":e)}var c=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(t)},70624:(e,t,n)=>{"use strict";var i,r,s,o=[n(15525),n(64785),n(28291),n(2709),n(42506),n(79176)],a=-1,u=[],c=!1;function l(){i&&r&&(i=!1,r.length?u=r.concat(u):a=-1,u.length&&h())}function h(){if(!i){c=!1,i=!0;for(var e=u.length,t=setTimeout(l);e;){for(r=u,u=[];r&&++a<e;)r[a].run();a=-1,e=u.length}r=null,a=-1,i=!1,clearTimeout(t)}}for(var p=-1,d=o.length;++p<d;)if(o[p]&&o[p].test&&o[p].test()){s=o[p].install(h);break}function f(e,t){this.fun=e,this.array=t}f.prototype.run=function(){var e=this.fun,t=this.array;switch(t.length){case 0:return e();case 1:return e(t[0]);case 2:return e(t[0],t[1]);case 3:return e(t[0],t[1],t[2]);default:return e.apply(null,t)}},e.exports=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new f(e,t)),c||i||(c=!0,s())}},2709:(e,t,n)=>{"use strict";t.test=function(){return!n.g.setImmediate&&void 0!==n.g.MessageChannel},t.install=function(e){var t=new n.g.MessageChannel;return t.port1.onmessage=e,function(){t.port2.postMessage(0)}}},28291:(e,t,n)=>{"use strict";var i=n.g.MutationObserver||n.g.WebKitMutationObserver;t.test=function(){return i},t.install=function(e){var t=0,r=new i(e),s=n.g.document.createTextNode("");return r.observe(s,{characterData:!0}),function(){s.data=t=++t%2}}},64785:(e,t,n)=>{"use strict";t.test=function(){return"function"==typeof n.g.queueMicrotask},t.install=function(e){return function(){n.g.queueMicrotask(e)}}},42506:(e,t,n)=>{"use strict";t.test=function(){return"document"in n.g&&"onreadystatechange"in n.g.document.createElement("script")},t.install=function(e){return function(){var t=n.g.document.createElement("script");return t.onreadystatechange=function(){e(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},n.g.document.documentElement.appendChild(t),e}}},79176:(e,t)=>{"use strict";t.test=function(){return!0},t.install=function(e){return function(){setTimeout(e,0)}}},31336:(e,t,n)=>{var i,r;!function(){var s,o,a,u,c,l,h,p,d,f,g,m,y,v,x,b,w,S,C,E,k,_,T,L,O,A,$,P,I,Q,R=function(e){var t=new R.Builder;return t.pipeline.add(R.trimmer,R.stopWordFilter,R.stemmer),t.searchPipeline.add(R.stemmer),e.call(t,t),t.build()};R.version="2.3.9",R.utils={},R.utils.warn=(s=this,function(e){s.console&&console.warn&&console.warn(e)}),R.utils.asString=function(e){return null==e?"":e.toString()},R.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),i=0;i<n.length;i++){var r=n[i],s=e[r];if(Array.isArray(s))t[r]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[r]=s}}return t},R.FieldRef=function(e,t,n){this.docRef=e,this.fieldName=t,this._stringValue=n},R.FieldRef.joiner="/",R.FieldRef.fromString=function(e){var t=e.indexOf(R.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var n=e.slice(0,t),i=e.slice(t+1);return new R.FieldRef(i,n,e)},R.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+R.FieldRef.joiner+this.docRef),this._stringValue},R.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},R.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},R.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},R.Set.prototype.contains=function(e){return!!this.elements[e]},R.Set.prototype.intersect=function(e){var t,n,i,r=[];if(e===R.Set.complete)return this;if(e===R.Set.empty)return e;this.length<e.length?(t=this,n=e):(t=e,n=this),i=Object.keys(t.elements);for(var s=0;s<i.length;s++){var o=i[s];o in n.elements&&r.push(o)}return new R.Set(r)},R.Set.prototype.union=function(e){return e===R.Set.complete?R.Set.complete:e===R.Set.empty?this:new R.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},R.idf=function(e,t){var n=0;for(var i in e)"_index"!=i&&(n+=Object.keys(e[i]).length);var r=(t-n+.5)/(n+.5);return Math.log(1+Math.abs(r))},R.Token=function(e,t){this.str=e||"",this.metadata=t||{}},R.Token.prototype.toString=function(){return this.str},R.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},R.Token.prototype.clone=function(e){return e=e||function(e){return e},new R.Token(e(this.str,this.metadata),this.metadata)},R.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new R.Token(R.utils.asString(e).toLowerCase(),R.utils.clone(t))}));for(var n=e.toString().toLowerCase(),i=n.length,r=[],s=0,o=0;s<=i;s++){var a=s-o;if(n.charAt(s).match(R.tokenizer.separator)||s==i){if(a>0){var u=R.utils.clone(t)||{};u.position=[o,a],u.index=r.length,r.push(new R.Token(n.slice(o,s),u))}o=s+1}}return r},R.tokenizer.separator=/[\s\-]+/,R.Pipeline=function(){this._stack=[]},R.Pipeline.registeredFunctions=Object.create(null),R.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&R.utils.warn("Overwriting existing registered function: "+t),e.label=t,R.Pipeline.registeredFunctions[e.label]=e},R.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||R.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},R.Pipeline.load=function(e){var t=new R.Pipeline;return e.forEach((function(e){var n=R.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},R.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){R.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},R.Pipeline.prototype.after=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},R.Pipeline.prototype.before=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},R.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},R.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n<t;n++){for(var i=this._stack[n],r=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)r.push(o[a]);else r.push(o)}e=r}return e},R.Pipeline.prototype.runString=function(e,t){var n=new R.Token(e,t);return this.run([n]).map((function(e){return e.toString()}))},R.Pipeline.prototype.reset=function(){this._stack=[]},R.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return R.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},R.Vector=function(e){this._magnitude=0,this.elements=e||[]},R.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,n=this.elements.length/2,i=n-t,r=Math.floor(i/2),s=this.elements[2*r];i>1&&(s<e&&(t=r),s>e&&(n=r),s!=e);)i=n-t,r=t+Math.floor(i/2),s=this.elements[2*r];return s==e||s>e?2*r:s<e?2*(r+1):void 0},R.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},R.Vector.prototype.upsert=function(e,t,n){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=n(this.elements[i+1],t):this.elements.splice(i,0,e,t)},R.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,n=1;n<t;n+=2){var i=this.elements[n];e+=i*i}return this._magnitude=Math.sqrt(e)},R.Vector.prototype.dot=function(e){for(var t=0,n=this.elements,i=e.elements,r=n.length,s=i.length,o=0,a=0,u=0,c=0;u<r&&c<s;)(o=n[u])<(a=i[c])?u+=2:o>a?c+=2:o==a&&(t+=n[u+1]*i[c+1],u+=2,c+=2);return t},R.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},R.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t<this.elements.length;t+=2,n++)e[n]=this.elements[t];return e},R.Vector.prototype.toJSON=function(){return this.elements},R.stemmer=(o={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},a={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},h="^("+(c="[^aeiou][^aeiouy]*")+")?"+(l=(u="[aeiouy]")+"[aeiou]*")+c+"("+l+")?$",p="^("+c+")?"+l+c+l+c,d="^("+c+")?"+u,f=new RegExp("^("+c+")?"+l+c),g=new RegExp(p),m=new RegExp(h),y=new RegExp(d),v=/^(.+?)(ss|i)es$/,x=/^(.+?)([^s])s$/,b=/^(.+?)eed$/,w=/^(.+?)(ed|ing)$/,S=/.$/,C=/(at|bl|iz)$/,E=new RegExp("([^aeiouylsz])\\1$"),k=new RegExp("^"+c+u+"[^aeiouwxy]$"),_=/^(.+?[^aeiou])y$/,T=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,L=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,O=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,A=/^(.+?)(s|t)(ion)$/,$=/^(.+?)e$/,P=/ll$/,I=new RegExp("^"+c+u+"[^aeiouwxy]$"),Q=function(e){var t,n,i,r,s,u,c;if(e.length<3)return e;if("y"==(i=e.substr(0,1))&&(e=i.toUpperCase()+e.substr(1)),s=x,(r=v).test(e)?e=e.replace(r,"$1$2"):s.test(e)&&(e=e.replace(s,"$1$2")),s=w,(r=b).test(e)){var l=r.exec(e);(r=f).test(l[1])&&(r=S,e=e.replace(r,""))}else s.test(e)&&(t=(l=s.exec(e))[1],(s=y).test(t)&&(u=E,c=k,(s=C).test(e=t)?e+="e":u.test(e)?(r=S,e=e.replace(r,"")):c.test(e)&&(e+="e")));return(r=_).test(e)&&(e=(t=(l=r.exec(e))[1])+"i"),(r=T).test(e)&&(t=(l=r.exec(e))[1],n=l[2],(r=f).test(t)&&(e=t+o[n])),(r=L).test(e)&&(t=(l=r.exec(e))[1],n=l[2],(r=f).test(t)&&(e=t+a[n])),s=A,(r=O).test(e)?(t=(l=r.exec(e))[1],(r=g).test(t)&&(e=t)):s.test(e)&&(t=(l=s.exec(e))[1]+l[2],(s=g).test(t)&&(e=t)),(r=$).test(e)&&(t=(l=r.exec(e))[1],s=m,u=I,((r=g).test(t)||s.test(t)&&!u.test(t))&&(e=t)),s=g,(r=P).test(e)&&s.test(e)&&(r=S,e=e.replace(r,"")),"y"==i&&(e=i.toLowerCase()+e.substr(1)),e},function(e){return e.update(Q)}),R.Pipeline.registerFunction(R.stemmer,"stemmer"),R.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},R.stopWordFilter=R.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),R.Pipeline.registerFunction(R.stopWordFilter,"stopWordFilter"),R.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},R.Pipeline.registerFunction(R.trimmer,"trimmer"),R.TokenSet=function(){this.final=!1,this.edges={},this.id=R.TokenSet._nextId,R.TokenSet._nextId+=1},R.TokenSet._nextId=1,R.TokenSet.fromArray=function(e){for(var t=new R.TokenSet.Builder,n=0,i=e.length;n<i;n++)t.insert(e[n]);return t.finish(),t.root},R.TokenSet.fromClause=function(e){return"editDistance"in e?R.TokenSet.fromFuzzyString(e.term,e.editDistance):R.TokenSet.fromString(e.term)},R.TokenSet.fromFuzzyString=function(e,t){for(var n=new R.TokenSet,i=[{node:n,editsRemaining:t,str:e}];i.length;){var r=i.pop();if(r.str.length>0){var s,o=r.str.charAt(0);o in r.node.edges?s=r.node.edges[o]:(s=new R.TokenSet,r.node.edges[o]=s),1==r.str.length&&(s.final=!0),i.push({node:s,editsRemaining:r.editsRemaining,str:r.str.slice(1)})}if(0!=r.editsRemaining){if("*"in r.node.edges)var a=r.node.edges["*"];else{a=new R.TokenSet;r.node.edges["*"]=a}if(0==r.str.length&&(a.final=!0),i.push({node:a,editsRemaining:r.editsRemaining-1,str:r.str}),r.str.length>1&&i.push({node:r.node,editsRemaining:r.editsRemaining-1,str:r.str.slice(1)}),1==r.str.length&&(r.node.final=!0),r.str.length>=1){if("*"in r.node.edges)var u=r.node.edges["*"];else{u=new R.TokenSet;r.node.edges["*"]=u}1==r.str.length&&(u.final=!0),i.push({node:u,editsRemaining:r.editsRemaining-1,str:r.str.slice(1)})}if(r.str.length>1){var c,l=r.str.charAt(0),h=r.str.charAt(1);h in r.node.edges?c=r.node.edges[h]:(c=new R.TokenSet,r.node.edges[h]=c),1==r.str.length&&(c.final=!0),i.push({node:c,editsRemaining:r.editsRemaining-1,str:l+r.str.slice(2)})}}}return n},R.TokenSet.fromString=function(e){for(var t=new R.TokenSet,n=t,i=0,r=e.length;i<r;i++){var s=e[i],o=i==r-1;if("*"==s)t.edges[s]=t,t.final=o;else{var a=new R.TokenSet;a.final=o,t.edges[s]=a,t=a}}return n},R.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var n=t.pop(),i=Object.keys(n.node.edges),r=i.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var s=0;s<r;s++){var o=i[s];t.push({prefix:n.prefix.concat(o),node:n.node.edges[o]})}}return e},R.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),n=t.length,i=0;i<n;i++){var r=t[i];e=e+r+this.edges[r].id}return e},R.TokenSet.prototype.intersect=function(e){for(var t=new R.TokenSet,n=void 0,i=[{qNode:e,output:t,node:this}];i.length;){n=i.pop();for(var r=Object.keys(n.qNode.edges),s=r.length,o=Object.keys(n.node.edges),a=o.length,u=0;u<s;u++)for(var c=r[u],l=0;l<a;l++){var h=o[l];if(h==c||"*"==c){var p=n.node.edges[h],d=n.qNode.edges[c],f=p.final&&d.final,g=void 0;h in n.output.edges?(g=n.output.edges[h]).final=g.final||f:((g=new R.TokenSet).final=f,n.output.edges[h]=g),i.push({qNode:d,output:g,node:p})}}}return t},R.TokenSet.Builder=function(){this.previousWord="",this.root=new R.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},R.TokenSet.Builder.prototype.insert=function(e){var t,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)n++;this.minimize(n),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(i=n;i<e.length;i++){var r=new R.TokenSet,s=e[i];t.edges[s]=r,this.uncheckedNodes.push({parent:t,char:s,child:r}),t=r}t.final=!0,this.previousWord=e},R.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},R.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var n=this.uncheckedNodes[t],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}},R.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},R.Index.prototype.search=function(e){return this.query((function(t){new R.QueryParser(e,t).parse()}))},R.Index.prototype.query=function(e){for(var t=new R.Query(this.fields),n=Object.create(null),i=Object.create(null),r=Object.create(null),s=Object.create(null),o=Object.create(null),a=0;a<this.fields.length;a++)i[this.fields[a]]=new R.Vector;e.call(t,t);for(a=0;a<t.clauses.length;a++){var u=t.clauses[a],c=null,l=R.Set.empty;c=u.usePipeline?this.pipeline.runString(u.term,{fields:u.fields}):[u.term];for(var h=0;h<c.length;h++){var p=c[h];u.term=p;var d=R.TokenSet.fromClause(u),f=this.tokenSet.intersect(d).toArray();if(0===f.length&&u.presence===R.Query.presence.REQUIRED){for(var g=0;g<u.fields.length;g++){s[$=u.fields[g]]=R.Set.empty}break}for(var m=0;m<f.length;m++){var y=f[m],v=this.invertedIndex[y],x=v._index;for(g=0;g<u.fields.length;g++){var b=v[$=u.fields[g]],w=Object.keys(b),S=y+"/"+$,C=new R.Set(w);if(u.presence==R.Query.presence.REQUIRED&&(l=l.union(C),void 0===s[$]&&(s[$]=R.Set.complete)),u.presence!=R.Query.presence.PROHIBITED){if(i[$].upsert(x,u.boost,(function(e,t){return e+t})),!r[S]){for(var E=0;E<w.length;E++){var k,_=w[E],T=new R.FieldRef(_,$),L=b[_];void 0===(k=n[T])?n[T]=new R.MatchData(y,$,L):k.add(y,$,L)}r[S]=!0}}else void 0===o[$]&&(o[$]=R.Set.empty),o[$]=o[$].union(C)}}}if(u.presence===R.Query.presence.REQUIRED)for(g=0;g<u.fields.length;g++){s[$=u.fields[g]]=s[$].intersect(l)}}var O=R.Set.complete,A=R.Set.empty;for(a=0;a<this.fields.length;a++){var $;s[$=this.fields[a]]&&(O=O.intersect(s[$])),o[$]&&(A=A.union(o[$]))}var P=Object.keys(n),I=[],Q=Object.create(null);if(t.isNegated()){P=Object.keys(this.fieldVectors);for(a=0;a<P.length;a++){T=P[a];var N=R.FieldRef.fromString(T);n[T]=new R.MatchData}}for(a=0;a<P.length;a++){var D=(N=R.FieldRef.fromString(P[a])).docRef;if(O.contains(D)&&!A.contains(D)){var F,j=this.fieldVectors[N],H=i[N.fieldName].similarity(j);if(void 0!==(F=Q[D]))F.score+=H,F.matchData.combine(n[N]);else{var V={ref:D,score:H,matchData:n[N]};Q[D]=V,I.push(V)}}}return I.sort((function(e,t){return t.score-e.score}))},R.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:R.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},R.Index.load=function(e){var t={},n={},i=e.fieldVectors,r=Object.create(null),s=e.invertedIndex,o=new R.TokenSet.Builder,a=R.Pipeline.load(e.pipeline);e.version!=R.version&&R.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+R.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var c=(h=i[u])[0],l=h[1];n[c]=new R.Vector(l)}for(u=0;u<s.length;u++){var h,p=(h=s[u])[0],d=h[1];o.insert(p),r[p]=d}return o.finish(),t.fields=e.fields,t.fieldVectors=n,t.invertedIndex=r,t.tokenSet=o.root,t.pipeline=a,new R.Index(t)},R.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=R.tokenizer,this.pipeline=new R.Pipeline,this.searchPipeline=new R.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},R.Builder.prototype.ref=function(e){this._ref=e},R.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},R.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},R.Builder.prototype.k1=function(e){this._k1=e},R.Builder.prototype.add=function(e,t){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var r=0;r<i.length;r++){var s=i[r],o=this._fields[s].extractor,a=o?o(e):e[s],u=this.tokenizer(a,{fields:[s]}),c=this.pipeline.run(u),l=new R.FieldRef(n,s),h=Object.create(null);this.fieldTermFrequencies[l]=h,this.fieldLengths[l]=0,this.fieldLengths[l]+=c.length;for(var p=0;p<c.length;p++){var d=c[p];if(null==h[d]&&(h[d]=0),h[d]+=1,null==this.invertedIndex[d]){var f=Object.create(null);f._index=this.termIndex,this.termIndex+=1;for(var g=0;g<i.length;g++)f[i[g]]=Object.create(null);this.invertedIndex[d]=f}null==this.invertedIndex[d][s][n]&&(this.invertedIndex[d][s][n]=Object.create(null));for(var m=0;m<this.metadataWhitelist.length;m++){var y=this.metadataWhitelist[m],v=d.metadata[y];null==this.invertedIndex[d][s][n][y]&&(this.invertedIndex[d][s][n][y]=[]),this.invertedIndex[d][s][n][y].push(v)}}}},R.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,n={},i={},r=0;r<t;r++){var s=R.FieldRef.fromString(e[r]),o=s.fieldName;i[o]||(i[o]=0),i[o]+=1,n[o]||(n[o]=0),n[o]+=this.fieldLengths[s]}var a=Object.keys(this._fields);for(r=0;r<a.length;r++){var u=a[r];n[u]=n[u]/i[u]}this.averageFieldLength=n},R.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),n=t.length,i=Object.create(null),r=0;r<n;r++){for(var s=R.FieldRef.fromString(t[r]),o=s.fieldName,a=this.fieldLengths[s],u=new R.Vector,c=this.fieldTermFrequencies[s],l=Object.keys(c),h=l.length,p=this._fields[o].boost||1,d=this._documents[s.docRef].boost||1,f=0;f<h;f++){var g,m,y,v=l[f],x=c[v],b=this.invertedIndex[v]._index;void 0===i[v]?(g=R.idf(this.invertedIndex[v],this.documentCount),i[v]=g):g=i[v],m=g*((this._k1+1)*x)/(this._k1*(1-this._b+this._b*(a/this.averageFieldLength[o]))+x),m*=p,m*=d,y=Math.round(1e3*m)/1e3,u.insert(b,y)}e[s]=u}this.fieldVectors=e},R.Builder.prototype.createTokenSet=function(){this.tokenSet=R.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},R.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new R.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},R.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},R.MatchData=function(e,t,n){for(var i=Object.create(null),r=Object.keys(n||{}),s=0;s<r.length;s++){var o=r[s];i[o]=n[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},R.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),n=0;n<t.length;n++){var i=t[n],r=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<r.length;s++){var o=r[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var c=a[u];null==this.metadata[i][o][c]?this.metadata[i][o][c]=e.metadata[i][o][c]:this.metadata[i][o][c]=this.metadata[i][o][c].concat(e.metadata[i][o][c])}}}},R.MatchData.prototype.add=function(e,t,n){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=n);if(t in this.metadata[e])for(var i=Object.keys(n),r=0;r<i.length;r++){var s=i[r];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(n[s]):this.metadata[e][t][s]=n[s]}else this.metadata[e][t]=n},R.Query=function(e){this.clauses=[],this.allFields=e},R.Query.wildcard=new String("*"),R.Query.wildcard.NONE=0,R.Query.wildcard.LEADING=1,R.Query.wildcard.TRAILING=2,R.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},R.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=R.Query.wildcard.NONE),e.wildcard&R.Query.wildcard.LEADING&&e.term.charAt(0)!=R.Query.wildcard&&(e.term="*"+e.term),e.wildcard&R.Query.wildcard.TRAILING&&e.term.slice(-1)!=R.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=R.Query.presence.OPTIONAL),this.clauses.push(e),this},R.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=R.Query.presence.PROHIBITED)return!1;return!0},R.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,R.utils.clone(t))}),this),this;var n=t||{};return n.term=e.toString(),this.clause(n),this},R.QueryParseError=function(e,t,n){this.name="QueryParseError",this.message=e,this.start=t,this.end=n},R.QueryParseError.prototype=new Error,R.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},R.QueryLexer.prototype.run=function(){for(var e=R.QueryLexer.lexText;e;)e=e(this)},R.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,n=this.pos,i=0;i<this.escapeCharPositions.length;i++)n=this.escapeCharPositions[i],e.push(this.str.slice(t,n)),t=n+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},R.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},R.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},R.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return R.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},R.QueryLexer.prototype.width=function(){return this.pos-this.start},R.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},R.QueryLexer.prototype.backup=function(){this.pos-=1},R.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=R.QueryLexer.EOS&&this.backup()},R.QueryLexer.prototype.more=function(){return this.pos<this.length},R.QueryLexer.EOS="EOS",R.QueryLexer.FIELD="FIELD",R.QueryLexer.TERM="TERM",R.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",R.QueryLexer.BOOST="BOOST",R.QueryLexer.PRESENCE="PRESENCE",R.QueryLexer.lexField=function(e){return e.backup(),e.emit(R.QueryLexer.FIELD),e.ignore(),R.QueryLexer.lexText},R.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(R.QueryLexer.TERM)),e.ignore(),e.more())return R.QueryLexer.lexText},R.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.EDIT_DISTANCE),R.QueryLexer.lexText},R.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.BOOST),R.QueryLexer.lexText},R.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(R.QueryLexer.TERM)},R.QueryLexer.termSeparator=R.tokenizer.separator,R.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==R.QueryLexer.EOS)return R.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return R.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if(t.match(R.QueryLexer.termSeparator))return R.QueryLexer.lexTerm}else e.escapeCharacter()}},R.QueryParser=function(e,t){this.lexer=new R.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},R.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=R.QueryParser.parseClause;e;)e=e(this);return this.query},R.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},R.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},R.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},R.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case R.QueryLexer.PRESENCE:return R.QueryParser.parsePresence;case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new R.QueryParseError(n,t.start,t.end)}},R.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=R.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=R.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new R.QueryParseError(n,t.start,t.end)}var i=e.peekLexeme();if(null==i){n="expecting term or field, found nothing";throw new R.QueryParseError(n,t.start,t.end)}switch(i.type){case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:n="expecting term or field, found '"+i.type+"'";throw new R.QueryParseError(n,i.start,i.end)}}},R.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),i="unrecognised field '"+t.str+"', possible fields: "+n;throw new R.QueryParseError(i,t.start,t.end)}e.currentClause.fields=[t.str];var r=e.peekLexeme();if(null==r){i="expecting term, found nothing";throw new R.QueryParseError(i,t.start,t.end)}if(r.type===R.QueryLexer.TERM)return R.QueryParser.parseTerm;i="expecting term, found '"+r.type+"'";throw new R.QueryParseError(i,r.start,r.end)}},R.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new R.QueryParseError(i,n.start,n.end)}else e.nextClause()}},R.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new R.QueryParseError(i,t.start,t.end)}e.currentClause.editDistance=n;var r=e.peekLexeme();if(null!=r)switch(r.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:i="Unexpected lexeme type '"+r.type+"'";throw new R.QueryParseError(i,r.start,r.end)}else e.nextClause()}},R.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var i="boost must be numeric";throw new R.QueryParseError(i,t.start,t.end)}e.currentClause.boost=n;var r=e.peekLexeme();if(null!=r)switch(r.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:i="Unexpected lexeme type '"+r.type+"'";throw new R.QueryParseError(i,r.start,r.end)}else e.nextClause()}},void 0===(r="function"==typeof(i=function(){return R})?i.call(t,n,t,e):i)||(e.exports=r)}()}}]); \ No newline at end of file diff --git a/assets/js/4611.ad902f6e.js.LICENSE.txt b/assets/js/4611.ad902f6e.js.LICENSE.txt new file mode 100644 index 0000000000000..1cf473c23ce65 --- /dev/null +++ b/assets/js/4611.ad902f6e.js.LICENSE.txt @@ -0,0 +1,61 @@ +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ + +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ diff --git a/assets/js/48c2bdd5.6ecc2708.js b/assets/js/48c2bdd5.6ecc2708.js new file mode 100644 index 0000000000000..12c61a6cade05 --- /dev/null +++ b/assets/js/48c2bdd5.6ecc2708.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6537],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>d,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>c,withMDXComponents:()=>s});var l=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(){return a=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},a.apply(this,arguments)}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);r&&(l=l.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,l)}return t}function p(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function i(e,r){if(null==e)return{};var t,l,n=function(e,r){if(null==e)return{};var t,l,n={},a=Object.keys(e);for(l=0;l<a.length;l++)t=a[l],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l<a.length;l++)t=a[l],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var d=l.createContext({}),s=function(e){return function(r){var t=c(r.components);return l.createElement(e,a({},r,{components:t}))}},c=function(e){var r=l.useContext(d),t=r;return e&&(t="function"==typeof e?e(r):p(p({},r),e)),t},u=function(e){var r=c(e.components);return l.createElement(d.Provider,{value:r},e.children)},b="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return l.createElement(l.Fragment,{},r)}},v=l.forwardRef((function(e,r){var t=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),s=c(t),u=n,b=s["".concat(o,".").concat(u)]||s[u]||m[u]||a;return t?l.createElement(b,p(p({ref:r},d),{},{components:t})):l.createElement(b,p({ref:r},d))}));function f(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var a=t.length,o=new Array(a);o[0]=v;var p={};for(var i in r)hasOwnProperty.call(r,i)&&(p[i]=r[i]);p.originalType=e,p[b]="string"==typeof e?e:n,o[1]=p;for(var d=2;d<a;d++)o[d]=t[d];return l.createElement.apply(null,o)}return l.createElement.apply(null,t)}v.displayName="MDXCreateElement"},21009:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>p,toc:()=>d});var l=t(87462),n=(t(67294),t(3905));const a={id:"providers_label"},o="providers_label type",p={unversionedId:"api/bxl/providers_label",id:"api/bxl/providers_label",title:"providers_label type",description:"providers\\_label.cell",source:"@site/../docs/api/bxl/providers_label.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/providers_label",permalink:"/docs/api/bxl/providers_label",draft:!1,tags:[],version:"current",frontMatter:{id:"providers_label"},sidebar:"apiSidebar",previous:{title:"provider_collection type",permalink:"/docs/api/bxl/provider_collection"},next:{title:"target_label type",permalink:"/docs/api/bxl/target_label"}},i={},d=[{value:"providers_label.cell",id:"providers_labelcell",level:2},{value:"providers_label.name",id:"providers_labelname",level:2},{value:"providers_label.path",id:"providers_labelpath",level:2},{value:"providers_label.raw_target",id:"providers_labelraw_target",level:2},{value:"providers_label.sub_target",id:"providers_labelsub_target",level:2}],s={toc:d};function c(e){let{components:r,...t}=e;return(0,n.mdx)("wrapper",(0,l.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"providers_label-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"providers_label")," type"),(0,n.mdx)("h2",{id:"providers_labelcell"},"providers","_","label.cell"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"providers_label.cell: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"providers_labelname"},"providers","_","label.name"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"providers_label.name: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"providers_labelpath"},"providers","_","label.path"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"providers_label.path: typing.Any\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"providers_labelraw_target"},"providers","_","label.raw","_","target"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def providers_label.raw_target() -> target_label\n")),(0,n.mdx)("p",null,"Returns the unconfigured underlying target label."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"providers_labelsub_target"},"providers","_","label.sub","_","target"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"providers_label.sub_target: None | list[str]\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/495cfe08.ddd24e34.js b/assets/js/495cfe08.ddd24e34.js new file mode 100644 index 0000000000000..22b76c681b3a8 --- /dev/null +++ b/assets/js/495cfe08.ddd24e34.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3236],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>s,MDXProvider:()=>u,mdx:()=>x,useMDXComponents:()=>p,withMDXComponents:()=>c});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},o.apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},o=Object.keys(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var s=r.createContext({}),c=function(e){return function(t){var a=p(t.components);return r.createElement(e,o({},t,{components:a}))}},p=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),c=p(a),u=n,m=c["".concat(l,".").concat(u)]||c[u]||f[u]||o;return a?r.createElement(m,i(i({ref:t},s),{},{components:a})):r.createElement(m,i({ref:t},s))}));function x(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,l=new Array(o);l[0]=b;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i[m]="string"==typeof e?e:n,l[1]=i;for(var s=2;s<o;s++)l[s]=a[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}b.displayName="MDXCreateElement"},78122:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>i,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const o={},l="RFC: labels -> metadata attribute",i={unversionedId:"rfcs/attr-metadata",id:"rfcs/attr-metadata",title:"RFC: labels -> metadata attribute",description:"This RFC proposes to add new builtin per target attribute: metadata, as",source:"@site/../docs/rfcs/attr-metadata.md",sourceDirName:"rfcs",slug:"/rfcs/attr-metadata",permalink:"/docs/rfcs/attr-metadata",draft:!1,tags:[],version:"current",frontMatter:{}},d={},s=[{value:"Context: labels",id:"context-labels",level:2},{value:"Context: package values",id:"context-package-values",level:2},{value:"Context: metadata we use or we need",id:"context-metadata-we-use-or-we-need",level:2},{value:"Proposal: metadata attribute",id:"proposal-metadata-attribute",level:2}],c={toc:s};function p(e){let{components:t,...a}=e;return(0,n.mdx)("wrapper",(0,r.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"rfc-labels---metadata-attribute"},"RFC: labels -> metadata attribute"),(0,n.mdx)("p",null,"This RFC proposes to add new builtin per target attribute: ",(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),", as\nreplacement for ",(0,n.mdx)("inlineCode",{parentName:"p"},"labels"),"."),(0,n.mdx)("h2",{id:"context-labels"},"Context: labels"),(0,n.mdx)("p",null,"In buck1 we have ",(0,n.mdx)("inlineCode",{parentName:"p"},"labels")," builtin rule attribute, which is a list of strings."),(0,n.mdx)("p",null,"In buck2 we have ",(0,n.mdx)("inlineCode",{parentName:"p"},"labels")," attribute which is configured in prelude, it does not\nhave special meaning."),(0,n.mdx)("h2",{id:"context-package-values"},"Context: package values"),(0,n.mdx)("p",null,(0,n.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files have a function: ",(0,n.mdx)("inlineCode",{parentName:"p"},"write_package_value(key, value)"),", where a key\nis a word-dot-word string, and value is arbitrary starlark value which should be\nserializable as JSON."),(0,n.mdx)("h2",{id:"context-metadata-we-use-or-we-need"},"Context: metadata we use or we need"),(0,n.mdx)("p",null,"There are several spaces where we use or need metadata to be stored in buck2\ntarget graph."),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},"fbcode uses per-package values to switch code to new clang\n(",(0,n.mdx)("a",{parentName:"li",href:"https://www.internalfb.com/code/fbsource/%5Bef740e6f2610c64621f7547a3b46d54d32af8600%5D/fbcode/ownership/code_metadata/PACKAGE?lines=3"},"example"),")"),(0,n.mdx)("li",{parentName:"ul"},"testinfra wants to use ",(0,n.mdx)("inlineCode",{parentName:"li"},"PACKAGE")," values to mark a set of folders to a logical\nlarger project"),(0,n.mdx)("li",{parentName:"ul"},"it is likely that per-target ",(0,n.mdx)("inlineCode",{parentName:"li"},"metadata")," attribute should be used in\n",(0,n.mdx)("a",{parentName:"li",href:"/docs/rfcs/cfg-modifiers/api"},"configuration factory function"),"."),(0,n.mdx)("li",{parentName:"ul"},"TD wants to declare CI trigger jobs per-target or per-package, and this logic\nis to be specified in ",(0,n.mdx)("inlineCode",{parentName:"li"},"BUCK")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"PACKAGE")," files \u2014 as metadata")),(0,n.mdx)("h2",{id:"proposal-metadata-attribute"},"Proposal: metadata attribute"),(0,n.mdx)("p",null,"Add builtin ",(0,n.mdx)("inlineCode",{parentName:"p"},"metadata")," attribute to all the targets."),(0,n.mdx)("p",null,(0,n.mdx)("inlineCode",{parentName:"p"},"metadata")," has the same structure as package values: word-dot-word to arbitrary\nvalue serializable to JSON."),(0,n.mdx)("p",null,"For example:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},'cxx_library(\n name = "mylib",\n metadata = {\n "td.run_on_windows": True,\n },\n)\n')),(0,n.mdx)("p",null,"Metadata attribute is not configurable (means ",(0,n.mdx)("inlineCode",{parentName:"p"},"select")," cannot be used)."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4972.d609ec75.js b/assets/js/4972.d609ec75.js new file mode 100644 index 0000000000000..bc43cec741a84 --- /dev/null +++ b/assets/js/4972.d609ec75.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4972],{4972:(e,t,a)=>{a.r(t),a.d(t,{default:()=>i});var n=a(67294),l=a(95999),o=a(1944),r=a(89493);function i(){return n.createElement(n.Fragment,null,n.createElement(o.d,{title:(0,l.translate)({id:"theme.NotFound.title",message:"Page Not Found"})}),n.createElement(r.Z,null,n.createElement("main",{className:"container margin-vert--xl"},n.createElement("div",{className:"row"},n.createElement("div",{className:"col col--6 col--offset-3"},n.createElement("h1",{className:"hero__title"},n.createElement(l.default,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),n.createElement("p",null,n.createElement(l.default,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),n.createElement("p",null,n.createElement(l.default,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}}}]); \ No newline at end of file diff --git a/assets/js/4ad9b6eb.232cb5db.js b/assets/js/4ad9b6eb.232cb5db.js new file mode 100644 index 0000000000000..95328b285f42e --- /dev/null +++ b/assets/js/4ad9b6eb.232cb5db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>u,MDXProvider:()=>p,mdx:()=>v,useMDXComponents:()=>d,withMDXComponents:()=>l});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),l=function(e){return function(t){var r=d(t.components);return n.createElement(e,o({},t,{components:r}))}},d=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=d(e.components);return n.createElement(u.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),l=d(r),p=a,m=l["".concat(i,".").concat(p)]||l[p]||f[p]||o;return r?n.createElement(m,c(c({ref:t},u),{},{components:r})):n.createElement(m,c({ref:t},u))}));function v(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=y;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[m]="string"==typeof e?e:a,i[1]=c;for(var u=2;u<o;u++)i[u]=r[u];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},1973:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const o={id:"restarter",title:"Restarter"},i=void 0,c={unversionedId:"users/advanced/restarter",id:"users/advanced/restarter",title:"Restarter",description:"The Restarter can automatically restart Buck2 when Buck2 detects that it hit a",source:"@site/../docs/users/advanced/restarter.md",sourceDirName:"users/advanced",slug:"/users/advanced/restarter",permalink:"/docs/users/advanced/restarter",draft:!1,tags:[],version:"current",frontMatter:{id:"restarter",title:"Restarter"},sidebar:"mainSidebar",previous:{title:"Deferred Materialization",permalink:"/docs/users/advanced/deferred_materialization"},next:{title:"In Memory Cache",permalink:"/docs/users/advanced/in_memory_cache"}},s={},u=[{value:"Enabling the Restarter",id:"enabling-the-restarter",level:2}],l={toc:u};function d(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"The Restarter can automatically restart Buck2 when Buck2 detects that it hit a\ncondition that may be recovered by restarting the Buck2 daemon."),(0,a.mdx)("p",null,"This is particularly useful with\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/users/advanced/deferred_materialization"},"Deferred Materialization"),", which may require a\ndaemon restart if your daemon holds references to artifacts that have expired in\nyour Remote Execution backend."),(0,a.mdx)("h2",{id:"enabling-the-restarter"},"Enabling the Restarter"),(0,a.mdx)("p",null,"To enable, add this to your Buckconfig:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"[buck2]\nrestarter = true\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4e0add5e.96e9c7d9.js b/assets/js/4e0add5e.96e9c7d9.js new file mode 100644 index 0000000000000..3342df3467f39 --- /dev/null +++ b/assets/js/4e0add5e.96e9c7d9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2129],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>l,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>d,withMDXComponents:()=>o});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},i.apply(this,arguments)}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function p(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function m(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var l=r.createContext({}),o=function(e){return function(t){var a=d(t.components);return r.createElement(e,i({},t,{components:a}))}},d=function(e){var t=r.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):p(p({},t),e)),a},u=function(e){var t=d(e.components);return r.createElement(l.Provider,{value:t},e.children)},x="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,l=m(e,["components","mdxType","originalType","parentName"]),o=d(a),u=n,x=o["".concat(s,".").concat(u)]||o[u]||g[u]||i;return a?r.createElement(x,p(p({ref:t},l),{},{components:a})):r.createElement(x,p({ref:t},l))}));function f(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,s=new Array(i);s[0]=h;var p={};for(var m in t)hasOwnProperty.call(t,m)&&(p[m]=t[m]);p.originalType=e,p[x]="string"==typeof e?e:n,s[1]=p;for(var l=2;l<i;l++)s[l]=a[l];return r.createElement.apply(null,s)}return r.createElement.apply(null,a)}h.displayName="MDXCreateElement"},14376:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var r=a(87462),n=(a(67294),a(3905));const i={id:"aquery",title:"Aquery Environment"},s="Aquery Environment",p={unversionedId:"users/query/aquery",id:"users/query/aquery",title:"Aquery Environment",description:"Query Value Types",source:"@site/../docs/users/query/aquery.generated.md",sourceDirName:"users/query",slug:"/users/query/aquery",permalink:"/docs/users/query/aquery",draft:!1,tags:[],version:"current",frontMatter:{id:"aquery",title:"Aquery Environment"},sidebar:"mainSidebar",previous:{title:"Remote Execution",permalink:"/docs/users/remote_execution"},next:{title:"Cquery Environment",permalink:"/docs/users/query/cquery"}},m={},l=[{value:"Query Value Types",id:"query-value-types",level:2},{value:"Common query functions",id:"common-query-functions",level:2},{value:"allpaths(from: <em>target expression</em>, to: <em>target expression</em>)",id:"allpathsfrom-target-expression-to-target-expression",level:3},{value:"somepath(from: <em>target expression</em>, to: <em>target expression</em>)",id:"somepathfrom-target-expression-to-target-expression",level:3},{value:"attrfilter(attr: <em>string</em>, value: <em>string</em>, targets: <em>target expression</em>)",id:"attrfilterattr-string-value-string-targets-target-expression",level:3},{value:"nattrfilter(attr: <em>string</em>, value: <em>string</em>, targets: <em>target expression</em>)",id:"nattrfilterattr-string-value-string-targets-target-expression",level:3},{value:"attrregexfilter(attr: <em>string</em>, value: <em>string</em>, targets: <em>target expression</em>)",id:"attrregexfilterattr-string-value-string-targets-target-expression",level:3},{value:"buildfile(targets: <em>target expression</em>)",id:"buildfiletargets-target-expression",level:3},{value:"rbuildfiles(universe: <em>file expression</em>, argset: <em>file expression</em>)",id:"rbuildfilesuniverse-file-expression-argset-file-expression",level:3},{value:"allbuildfiles(universe: <em>target expression</em>)",id:"allbuildfilesuniverse-target-expression",level:3},{value:"deps(targets: <em>target expression</em>, depth: ?<em>integer</em>, captured_expr: ?<em>query expression</em>)",id:"depstargets-target-expression-depth-integer-captured_expr-query-expression",level:3},{value:"filter(regex: <em>string</em>, set: <em>target or file expression</em>)",id:"filterregex-string-set-target-or-file-expression",level:3},{value:"inputs(targets: <em>target expression</em>)",id:"inputstargets-target-expression",level:3},{value:"kind(regex: <em>string</em>, targets: <em>target expression</em>)",id:"kindregex-string-targets-target-expression",level:3},{value:"labels(attr: <em>string</em>, targets: <em>target expression</em>)",id:"labelsattr-string-targets-target-expression",level:3},{value:"owner(files: <em>file expression</em>)",id:"ownerfiles-file-expression",level:3},{value:"targets_in_buildfile(files: <em>file expression</em>)",id:"targets_in_buildfilefiles-file-expression",level:3},{value:"rdeps(universe: <em>target expression</em>, targets: <em>target expression</em>, depth: ?<em>integer</em>)",id:"rdepsuniverse-target-expression-targets-target-expression-depth-integer",level:3},{value:"testsof(targets: <em>target expression</em>)",id:"testsoftargets-target-expression",level:3},{value:"first_order_deps()",id:"first_order_deps",level:3},{value:"target_deps()",id:"target_deps",level:3},{value:"exec_deps()",id:"exec_deps",level:3},{value:"configuration_deps()",id:"configuration_deps",level:3},{value:"toolchain_deps()",id:"toolchain_deps",level:3},{value:"intersect(left: <em>any value</em>, right: <em>any value</em>)",id:"intersectleft-any-value-right-any-value",level:3},{value:"except(left: <em>any value</em>, right: <em>any value</em>)",id:"exceptleft-any-value-right-any-value",level:3},{value:"union(left: <em>any value</em>, right: <em>any value</em>)",id:"unionleft-any-value-right-any-value",level:3},{value:"Query functions",id:"query-functions",level:2},{value:"all_outputs(targets: <em>target expression</em>)",id:"all_outputstargets-target-expression",level:3},{value:"all_actions(targets: <em>target expression</em>)",id:"all_actionstargets-target-expression",level:3}],o={toc:l};function d(e){let{components:t,...a}=e;return(0,n.mdx)("wrapper",(0,r.Z)({},o,a,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"aquery-environment"},"Aquery Environment"),(0,n.mdx)("h2",{id:"query-value-types"},"Query Value Types"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"string"),": "),(0,n.mdx)("p",{parentName:"li"},"For example, ",(0,n.mdx)("inlineCode",{parentName:"p"},"non_quoted_string")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'"quoted string"'),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"integer"),": "),(0,n.mdx)("p",{parentName:"li"},"Must be positive and fit in ",(0,n.mdx)("inlineCode",{parentName:"p"},"u32"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"target expression"),": either a literal or the return value of a function"),(0,n.mdx)("p",{parentName:"li"},"This could be a literal build target (",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//some:target"'),") or a pattern (",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//package:"')," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//recursive/..."'),") or the result of another function that returns a target expression. For queries in CLI commands (like ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query"),"), literals can be relative to the current working dir (like ",(0,n.mdx)("inlineCode",{parentName:"p"},"some:target")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"..."),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"file expression"),": either a literal or the return value of a function"),(0,n.mdx)("p",{parentName:"li"},"This could be a file literal like ",(0,n.mdx)("inlineCode",{parentName:"p"},"path/to/a.file")," or the return value of a function that returns files (for example, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"buildfile()")," function).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"target or file expression"),": "),(0,n.mdx)("p",{parentName:"li"},"Either a ",(0,n.mdx)("em",{parentName:"p"},"file expression")," or ",(0,n.mdx)("em",{parentName:"p"},"target expression"),". This could be a literal like ",(0,n.mdx)("inlineCode",{parentName:"p"},"path/to/a.file")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//some:target"'),",\nor the return value of a function that returns files or targets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"query expression"),": a valid query expression, evaluated in a function-specific context"),(0,n.mdx)("p",{parentName:"li"},"This is used for functions that capture an expression and evaluate it in another context. For example, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps()")," function can accept an expression that it uses to find the children of a node to customize the deps traversal.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"any value"),": "),(0,n.mdx)("p",{parentName:"li"},"Any query value."))),(0,n.mdx)("h2",{id:"common-query-functions"},"Common query functions"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"allpaths(from: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): Computes all dependency paths.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"somepath(from: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"attrfilter(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", value: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): The ",(0,n.mdx)("inlineCode",{parentName:"p"},"attrfilter(attribute, value, targets)")," operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"nattrfilter(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", value: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"attrregexfilter(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", value: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"buildfile(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"rbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),", argset: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"allbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"deps(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"p"},"integer"),", captured_expr: ?",(0,n.mdx)("em",{parentName:"p"},"query expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"filter(regex: ",(0,n.mdx)("em",{parentName:"p"},"string"),", set: ",(0,n.mdx)("em",{parentName:"p"},"target or file expression"),"): Filter using regex partial match.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"inputs(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"kind(regex: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): The ",(0,n.mdx)("inlineCode",{parentName:"p"},"kind(regex, targets)")," operator evaluates the specified target expression, ",(0,n.mdx)("inlineCode",{parentName:"p"},"targets"),", and returns the targets where the rule type matches the specified ",(0,n.mdx)("inlineCode",{parentName:"p"},"regex"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"labels(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): This function is not implemented, and won't be, because buck2 query core does not support")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"owner(files: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),"): The ",(0,n.mdx)("inlineCode",{parentName:"p"},"owner(inputfile)")," operator returns the targets that own the specified inputfile.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"targets_in_buildfile(files: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"rdeps(universe: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"p"},"integer"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"testsof(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"first_order_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"target_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"exec_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"configuration_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"toolchain_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"intersect(left: ",(0,n.mdx)("em",{parentName:"p"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"p"},"any value"),"): Computes the set intersection over the given arguments.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"except(left: ",(0,n.mdx)("em",{parentName:"p"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"p"},"any value"),"): Computes the arguments that are in argument A but not in argument B.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"union(left: ",(0,n.mdx)("em",{parentName:"p"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"p"},"any value"),"): Computes the set union over the given arguments."))),(0,n.mdx)("h3",{id:"allpathsfrom-target-expression-to-target-expression"},"allpaths(from: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"Computes all dependency paths."),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"allpaths(from, to)")," function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value of\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query \"allpaths('//foo:bar', '//foo/bar/lib:baz')\""),"\nis the dependency graph rooted at the single target node ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),", that includes all target nodes that depend (transitively) on ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo/bar/lib:baz"),"."),(0,n.mdx)("p",null,"The two arguments to ",(0,n.mdx)("inlineCode",{parentName:"p"},"allpaths()")," can themselves be expressions. For example, the command:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query \"allpaths(kind(java_library, '//...'), '//foo:bar')\""),"\nshows all the paths between any java_library in the repository and the target ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),"."),(0,n.mdx)("p",null,"We recommend using ",(0,n.mdx)("inlineCode",{parentName:"p"},"allpaths()")," with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"--output-format=dot")," parameter to generate a graphviz file that can then be rendered as an image. For example:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-ignore"},"$ buck query \"allpaths('//foo:bar', '//foo/bar/lib:baz')\" --output-format=dot --output-file=result.dot\n$ dot -Tpng result.dot -o image.png\n")),(0,n.mdx)("p",null,"Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs."),(0,n.mdx)("h3",{id:"somepathfrom-target-expression-to-target-expression"},"somepath(from: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"attrfilterattr-string-value-string-targets-target-expression"},"attrfilter(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", value: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"attrfilter(attribute, value, targets)")," operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value."),(0,n.mdx)("p",null,"In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps."),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},"If the attribute is a single value, say ",(0,n.mdx)("inlineCode",{parentName:"li"},"name"),", it is compared to the specified value, and the target is returned if they match."),(0,n.mdx)("li",{parentName:"ul"},"If the attribute is a list, the target is returned if that list contains the specified value."),(0,n.mdx)("li",{parentName:"ul"},"If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary.")),(0,n.mdx)("p",null,"For example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query \"attrfilter(deps, '//foo:bar', '//...')\"")," returns the build targets in the repository that depend on ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),", or more precisely: those build targets that include ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," in their deps argument list."),(0,n.mdx)("h3",{id:"nattrfilterattr-string-value-string-targets-target-expression"},"nattrfilter(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", value: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"attrregexfilterattr-string-value-string-targets-target-expression"},"attrregexfilter(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", value: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"buildfiletargets-target-expression"},"buildfile(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"rbuildfilesuniverse-file-expression-argset-file-expression"},"rbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),", argset: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),")"),(0,n.mdx)("h3",{id:"allbuildfilesuniverse-target-expression"},"allbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"depstargets-target-expression-depth-integer-captured_expr-query-expression"},"deps(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"h3"},"integer"),", captured_expr: ?",(0,n.mdx)("em",{parentName:"h3"},"query expression"),")"),(0,n.mdx)("h3",{id:"filterregex-string-set-target-or-file-expression"},"filter(regex: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", set: ",(0,n.mdx)("em",{parentName:"h3"},"target or file expression"),")"),(0,n.mdx)("p",null,"Filter using regex partial match."),(0,n.mdx)("p",null,"Target are matched against their fully qualified name.\nFiles are matched against their repo path like ",(0,n.mdx)("inlineCode",{parentName:"p"},"repo//foo/bar/baz.py"),"."),(0,n.mdx)("h3",{id:"inputstargets-target-expression"},"inputs(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"kindregex-string-targets-target-expression"},"kind(regex: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"kind(regex, targets)")," operator evaluates the specified target expression, ",(0,n.mdx)("inlineCode",{parentName:"p"},"targets"),", and returns the targets where the rule type matches the specified ",(0,n.mdx)("inlineCode",{parentName:"p"},"regex"),"."),(0,n.mdx)("p",null,"The specified pattern can be a regular expression. For example,\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query \"kind('java.*', deps('//foo:bar'))\"")," returns the targets that match the rule type ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.*")," (",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_binary"),", etc.) in the transitive dependencies of ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),"."),(0,n.mdx)("h3",{id:"labelsattr-string-targets-target-expression"},"labels(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"This function is not implemented, and won't be, because buck2 query core does not support"),(0,n.mdx)("p",null,"returning both files and targets from a single function."),(0,n.mdx)("p",null,"In buck1 it returns targets and files referenced by the given attribute\nin the given targets."),(0,n.mdx)("p",null,"Some discussion in ",(0,n.mdx)("a",{parentName:"p",href:"https://internalfb.com/T126638795"},"T126638795"),"."),(0,n.mdx)("h3",{id:"ownerfiles-file-expression"},"owner(files: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),")"),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"owner(inputfile)")," operator returns the targets that own the specified inputfile."),(0,n.mdx)("p",null,"In this context, own means that the target has the specified file as an input. You could consider the ",(0,n.mdx)("inlineCode",{parentName:"p"},"owner()")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"inputs()")," operators to be inverses of each other."),(0,n.mdx)("p",null,"Example: ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query \"owner('examples/1.txt')\"")," returns the targets that owns the file ",(0,n.mdx)("inlineCode",{parentName:"p"},"examples/1.txt"),", which could be a value such as ",(0,n.mdx)("inlineCode",{parentName:"p"},"//examples:one"),"."),(0,n.mdx)("p",null,"It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets."),(0,n.mdx)("p",null,"If no owner for the file is found, owner() outputs the message: ",(0,n.mdx)("inlineCode",{parentName:"p"},"No owner was found for <file>")),(0,n.mdx)("h3",{id:"targets_in_buildfilefiles-file-expression"},"targets_in_buildfile(files: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),")"),(0,n.mdx)("h3",{id:"rdepsuniverse-target-expression-targets-target-expression-depth-integer"},"rdeps(universe: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"h3"},"integer"),")"),(0,n.mdx)("h3",{id:"testsoftargets-target-expression"},"testsof(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"first_order_deps"},"first_order_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps(<targets>, 1)"),"."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 cquery \"deps('//foo:bar', 1, first_order_deps())\"`` is equivalent to "),"buck2 cquery \"deps('//foo:bar', 1)\"`"),(0,n.mdx)("h3",{id:"target_deps"},"target_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies)\nlike compiler used as a part of the build."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, target_deps())\"``"),(0,n.mdx)("h3",{id:"exec_deps"},"exec_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, exec_deps())\"``"),(0,n.mdx)("h3",{id:"configuration_deps"},"configuration_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for configuration dependencies (that appear as conditions in selects)."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, configuration_deps())\"``"),(0,n.mdx)("h3",{id:"toolchain_deps"},"toolchain_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for toolchain dependencies."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, toolchain_deps())\"``"),(0,n.mdx)("h3",{id:"intersectleft-any-value-right-any-value"},"intersect(left: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),")"),(0,n.mdx)("p",null,"Computes the set intersection over the given arguments."),(0,n.mdx)("p",null,"Can be used with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"^")," symbol. This operator is commutative."),(0,n.mdx)("p",null,"The parser treats this operator as left-associative and of equal precedence, so we recommend\nthat you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression\nresolves to the value of the expression it encloses."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') intersect deps('//baz:lib')\"")," is the same as\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') ^ deps('//baz:lib')\""),"\nBoth return the targets that appear in the transitive closure of ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"//baz:lib"),"."),(0,n.mdx)("h3",{id:"exceptleft-any-value-right-any-value"},"except(left: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),")"),(0,n.mdx)("p",null,"Computes the arguments that are in argument A but not in argument B."),(0,n.mdx)("p",null,"Can be used with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"-")," symbol. This operator is NOT commutative."),(0,n.mdx)("p",null,"The parser treats this operator as left-associative and of equal precedence, so we recommend\nthat you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression\nresolves to the value of the expression it encloses."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') except deps('//baz:lib')\"")," is the same as\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') - deps('//baz:lib')\""),"\nBoth return the targets that ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," depends on and that ",(0,n.mdx)("inlineCode",{parentName:"p"},"//baz:lib")," does NOT depend on."),(0,n.mdx)("h3",{id:"unionleft-any-value-right-any-value"},"union(left: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),")"),(0,n.mdx)("p",null,"Computes the set union over the given arguments."),(0,n.mdx)("p",null,"Can be used with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"+")," symbol. This operator is commutative."),(0,n.mdx)("p",null,"The parser treats all this operator as left-associative and of equal precedence, so we recommend\nthat you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression\nresolves to the value of the expression it encloses."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') union deps('//baz:lib')\"")," is the same as\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') + deps('//baz:lib')\""),"\nBoth return the aggregation of the targets that ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"//baz:lib")," depend on."),(0,n.mdx)("h2",{id:"query-functions"},"Query functions"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"all_outputs(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): Obtain the actions for all the outputs provided by the ",(0,n.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," for the targets passed")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"all_actions(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): Obtain all the actions declared within the analysis of a given target."))),(0,n.mdx)("h3",{id:"all_outputstargets-target-expression"},"all_outputs(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"Obtain the actions for all the outputs provided by the ",(0,n.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," for the targets passed"),(0,n.mdx)("p",null,"as input. This includes both the ",(0,n.mdx)("inlineCode",{parentName:"p"},"default_outputs")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"other_outputs"),"."),(0,n.mdx)("p",null,"This operation only makes sense on a target literal (it does nothing if passed something\nelse)."),(0,n.mdx)("h3",{id:"all_actionstargets-target-expression"},"all_actions(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"Obtain all the actions declared within the analysis of a given target."),(0,n.mdx)("p",null,"This operation only makes sense on a target literal (it is a simple passthrough when passed\nan action)."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4e2e2d93.8b074775.js b/assets/js/4e2e2d93.8b074775.js new file mode 100644 index 0000000000000..38b010b914443 --- /dev/null +++ b/assets/js/4e2e2d93.8b074775.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7267],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>o,MDXProvider:()=>c,mdx:()=>y,useMDXComponents:()=>d,withMDXComponents:()=>s});var l=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},i.apply(this,arguments)}function p(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);n&&(l=l.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,l)}return t}function a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?p(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function u(e,n){if(null==e)return{};var t,l,r=function(e,n){if(null==e)return{};var t,l,r={},i=Object.keys(e);for(l=0;l<i.length;l++)t=i[l],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(l=0;l<i.length;l++)t=i[l],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=l.createContext({}),s=function(e){return function(n){var t=d(n.components);return l.createElement(e,i({},n,{components:t}))}},d=function(e){var n=l.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):a(a({},n),e)),t},c=function(e){var n=d(e.components);return l.createElement(o.Provider,{value:n},e.children)},m="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return l.createElement(l.Fragment,{},n)}},f=l.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,o=u(e,["components","mdxType","originalType","parentName"]),s=d(t),c=r,m=s["".concat(p,".").concat(c)]||s[c]||g[c]||i;return t?l.createElement(m,a(a({ref:n},o),{},{components:t})):l.createElement(m,a({ref:n},o))}));function y(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,p=new Array(i);p[0]=f;var a={};for(var u in n)hasOwnProperty.call(n,u)&&(a[u]=n[u]);a.originalType=e,a[m]="string"==typeof e?e:r,p[1]=a;for(var o=2;o<i;o++)p[o]=t[o];return l.createElement.apply(null,p)}return l.createElement.apply(null,t)}f.displayName="MDXCreateElement"},80328:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>p,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>o});var l=t(87462),r=(t(67294),t(3905));const i={id:"plugins"},p="plugins type",a={unversionedId:"api/bxl/plugins",id:"api/bxl/plugins",title:"plugins type",description:"plugins.All",source:"@site/../docs/api/bxl/plugins.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/plugins",permalink:"/docs/api/bxl/plugins",draft:!1,tags:[],version:"current",frontMatter:{id:"plugins"},sidebar:"apiSidebar",previous:{title:"lazy_attrs type",permalink:"/docs/api/bxl/lazy_attrs"},next:{title:"promise type",permalink:"/docs/api/bxl/promise"}},u={},o=[{value:"plugins.All",id:"pluginsall",level:2},{value:"plugins.PluginKind",id:"pluginspluginkind",level:2},{value:"plugins.kind",id:"pluginskind",level:2}],s={toc:o};function d(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,l.Z)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"plugins-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"plugins")," type"),(0,r.mdx)("h2",{id:"pluginsall"},"plugins.All"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"plugins.All: all_plugins\n")),(0,r.mdx)("p",null,"A special value for use with ",(0,r.mdx)("inlineCode",{parentName:"p"},"pulls_and_pushes_plugins"),"."),(0,r.mdx)("p",null,"This value can be passed to ",(0,r.mdx)("inlineCode",{parentName:"p"},"pulls_and_pushes_plugins")," on any ",(0,r.mdx)("inlineCode",{parentName:"p"},"attr.dep()")," to indicate that\nall plugin kinds from the dep should be pulled and pushed. This is useful for rules like\n",(0,r.mdx)("inlineCode",{parentName:"p"},"alias"),"."),(0,r.mdx)("p",null,"This value is not supported on ",(0,r.mdx)("inlineCode",{parentName:"p"},"uses_plugins")," at this time, and hence it is not useful on\n",(0,r.mdx)("inlineCode",{parentName:"p"},"pulls_plugins")," either."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"pluginspluginkind"},"plugins.PluginKind"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"plugins.PluginKind: type\n")),(0,r.mdx)("p",null,"Type symbol for ",(0,r.mdx)("inlineCode",{parentName:"p"},"PluginKind"),"."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"pluginskind"},"plugins.kind"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def plugins.kind() -> PluginKind\n")),(0,r.mdx)("p",null,"Create a new plugin kind."),(0,r.mdx)("p",null,"The value returned should always be immediately bound to a global, like ",(0,r.mdx)("inlineCode",{parentName:"p"},"MyPluginKind =\nplugins.kind()")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4e46a25b.d58cb97f.js b/assets/js/4e46a25b.d58cb97f.js new file mode 100644 index 0000000000000..de7423982c7c6 --- /dev/null +++ b/assets/js/4e46a25b.d58cb97f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9812],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>u,MDXProvider:()=>m,mdx:()=>y,useMDXComponents:()=>c,withMDXComponents:()=>d});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(){return r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},r.apply(this,arguments)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var u=a.createContext({}),d=function(e){return function(t){var n=c(t.components);return a.createElement(e,r({},t,{components:n}))}},c=function(e){var t=a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},m=function(e){var t=c(e.components);return a.createElement(u.Provider,{value:t},e.children)},h="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=c(n),m=i,h=d["".concat(l,".").concat(m)]||d[m]||p[m]||r;return n?a.createElement(h,o(o({ref:t},u),{},{components:n})):a.createElement(h,o({ref:t},u))}));function y(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=f;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[h]="string"==typeof e?e:i,l[1]=o;for(var u=2;u<r;u++)l[u]=n[u];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}f.displayName="MDXCreateElement"},82620:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>o,toc:()=>u});var a=n(87462),i=(n(67294),n(3905));const r={id:"buck1_vs_buck2",title:"Buck1 vs Buck2"},l=void 0,o={unversionedId:"developers/architecture/buck1_vs_buck2",id:"developers/architecture/buck1_vs_buck2",title:"Buck1 vs Buck2",description:"At a glance",source:"@site/../docs/developers/architecture/buck1_vs_buck2.md",sourceDirName:"developers/architecture",slug:"/developers/architecture/buck1_vs_buck2",permalink:"/docs/developers/architecture/buck1_vs_buck2",draft:!1,tags:[],version:"current",frontMatter:{id:"buck1_vs_buck2",title:"Buck1 vs Buck2"},sidebar:"mainSidebar",previous:{title:"Architectural Model",permalink:"/docs/developers/architecture/buck2"},next:{title:"Finding Commands That Buck2 Ran",permalink:"/docs/developers/what-ran"}},s={},u=[{value:"At a glance",id:"at-a-glance",level:2},{value:"Top-down vs Bottom-up - understanding the implications of the difference in execution models between Buck1 and Buck2",id:"top-down-vs-bottom-up---understanding-the-implications-of-the-difference-in-execution-models-between-buck1-and-buck2",level:2},{value:"What are the differences?",id:"what-are-the-differences",level:3},{value:"Building A with Buck1",id:"building-a-with-buck1",level:4},{value:"Building A with Buck2",id:"building-a-with-buck2",level:4},{value:"Some implications",id:"some-implications",level:3},{value:"Rulekeys vs Action digests",id:"rulekeys-vs-action-digests",level:4},{value:"Buck2 queries many more caches",id:"buck2-queries-many-more-caches",level:4},{value:"Materialization",id:"materialization",level:4},{value:"Second-order implications",id:"second-order-implications",level:3},{value:"Non-determinism",id:"non-determinism",level:4},{value:"Cache misses don\u2019t necessarily propagate",id:"cache-misses-dont-necessarily-propagate",level:4},{value:"Hybrid execution",id:"hybrid-execution",level:4}],d={toc:u};function c(e){let{components:t,...n}=e;return(0,i.mdx)("wrapper",(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,i.mdx)("h2",{id:"at-a-glance"},"At a glance"),(0,i.mdx)("p",null,"The following table provides an at-a-glance comparison of Buck1 and Buck2."),(0,i.mdx)("table",null,(0,i.mdx)("thead",{parentName:"table"},(0,i.mdx)("tr",{parentName:"thead"},(0,i.mdx)("th",{parentName:"tr",align:"left"},"Buck1"),(0,i.mdx)("th",{parentName:"tr",align:"left"},"Buck2"))),(0,i.mdx)("tbody",{parentName:"table"},(0,i.mdx)("tr",{parentName:"tbody"},(0,i.mdx)("td",{parentName:"tr",align:"left"},"Build files in Starlark"),(0,i.mdx)("td",{parentName:"tr",align:"left"},"Build files in Starlark")),(0,i.mdx)("tr",{parentName:"tbody"},(0,i.mdx)("td",{parentName:"tr",align:"left"},"Macros in Starlark"),(0,i.mdx)("td",{parentName:"tr",align:"left"},"Macros in Starlark")),(0,i.mdx)("tr",{parentName:"tbody"},(0,i.mdx)("td",{parentName:"tr",align:"left"},"Rules in Java"),(0,i.mdx)("td",{parentName:"tr",align:"left"},"Rules in Starlark")),(0,i.mdx)("tr",{parentName:"tbody"},(0,i.mdx)("td",{parentName:"tr",align:"left"},"Rules and Macros are logically similar"),(0,i.mdx)("td",{parentName:"tr",align:"left"},"Rules and Macros are logically similar")),(0,i.mdx)("tr",{parentName:"tbody"},(0,i.mdx)("td",{parentName:"tr",align:"left"},"Rules and Core are not well abstracted"),(0,i.mdx)("td",{parentName:"tr",align:"left"},"Rules and Core are strongly separated")),(0,i.mdx)("tr",{parentName:"tbody"},(0,i.mdx)("td",{parentName:"tr",align:"left"},"Core in Java"),(0,i.mdx)("td",{parentName:"tr",align:"left"},"Core in Rust")),(0,i.mdx)("tr",{parentName:"tbody"},(0,i.mdx)("td",{parentName:"tr",align:"left"},"Remote Execution (RE) not well supported"),(0,i.mdx)("td",{parentName:"tr",align:"left"},"All rules support remote execution by default")),(0,i.mdx)("tr",{parentName:"tbody"},(0,i.mdx)("td",{parentName:"tr",align:"left"},"Varying degrees of incrementality / parallelism"),(0,i.mdx)("td",{parentName:"tr",align:"left"},"Unified incrementality / parallelism")))),(0,i.mdx)("h2",{id:"top-down-vs-bottom-up---understanding-the-implications-of-the-difference-in-execution-models-between-buck1-and-buck2"},"Top-down vs Bottom-up - understanding the implications of the difference in execution models between Buck1 and Buck2"),(0,i.mdx)("p",null,"It is often said that Buck1 does 'top down' and Buck2 does 'bottom up' building.\nThis results in cases where some topics that seem conceptually trivial in Buck1\nare hard problems in Buck2, or vice versa."),(0,i.mdx)("h3",{id:"what-are-the-differences"},"What are the differences?"),(0,i.mdx)("p",null,(0,i.mdx)("strong",{parentName:"p"},"Scenario"),": Imagine you are building A, which depends on both B and C, but\nwhere neither B nor C have any dependencies."),(0,i.mdx)("p",null,"For the sake of simplicity, imagine B and C are C++ compilations (that produce\nobject files), and A is a link (that consumes them and produces a shared\nlibrary)."),(0,i.mdx)("h4",{id:"building-a-with-buck1"},"Building A with Buck1"),(0,i.mdx)("p",null,"Following is an oversimplified view of what happens:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"Buck1 computes the 'rulekey' for B.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"This consists of mixing together the hashes of the C++ file being compiled,\nas well as all C++ compiler flags, and so on."))),(0,i.mdx)("li",{parentName:"ul"},"Buck1 then does the same for C."),(0,i.mdx)("li",{parentName:"ul"},"Buck1 then computes the rulekey for A.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"This consist of mixing together the rulekeys of B and C, as well as linker\nflags used by A. for example."))),(0,i.mdx)("li",{parentName:"ul"},"Buck1 then looks up the rulekey for A in the cache.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"If there's a hit, then Buck1 downloads the output and its job done."),(0,i.mdx)("li",{parentName:"ul"},"If there's a cache miss, continue."))),(0,i.mdx)("li",{parentName:"ul"},"Buck1 then queries the cache for the rulekeys of B and C:",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"If there's a hit, then the output is downloaded."),(0,i.mdx)("li",{parentName:"ul"},"If there's a miss, then Buck1 runs the commands needed to produce the object\nfile that was missed. Regardless of whether those commands run locally or on\nRE, Buck1 downloads the output of B and C."))),(0,i.mdx)("li",{parentName:"ul"},"Buck1 then runs the command for A to produce the shared library.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"At this point, Buck1 may actually do another cache lookup with a different\nrulekey, which is called an ",(0,i.mdx)("em",{parentName:"li"},"input based rulekey"),". This rulekey is derived\nfrom the inputs of the action that needs executing, which at this point of\nthe build are known (since they were just built)!")))),(0,i.mdx)("h4",{id:"building-a-with-buck2"},"Building A with Buck2"),(0,i.mdx)("p",null,"In contrast, if you ask Buck2 to build A, here is what happens:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"Buck2 produce the action to compile B and computes the hash of the action.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"This is the 'action digest', which consists of mixing the hashes of all the\ninputs (such as the C++ file), as well as the command line (so, implicitly,\nthe compiler flags)."))),(0,i.mdx)("li",{parentName:"ul"},"Buck2 queries the action cache for the action digest hash.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"If there's a hit, Buck2 obtains the hash of the resulting object file (that\nis, the output of B)."),(0,i.mdx)("li",{parentName:"ul"},"If there's a miss, Buck2 runs the action on RE (or potentially locally) and\nobtains the hash of the object file. If the action runs remotely, Buck2 will\nnot download the output."))),(0,i.mdx)("li",{parentName:"ul"},"Buck2 does the same thing for C."),(0,i.mdx)("li",{parentName:"ul"},"Buck2 produces the action to link A.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"This consists of mixing together all the hashes of the input files (which\nwere retrieved earlier) and the command line to produce an action digest,\nthen querying the cache and potentially running the action."))),(0,i.mdx)("li",{parentName:"ul"},"Once Buck2 produces A (again, on RE), then, since this output was requested by\nthe user (unlike the intermediary outputs B and C), Buck2 downloads A.")),(0,i.mdx)("h3",{id:"some-implications"},"Some implications"),(0,i.mdx)("h4",{id:"rulekeys-vs-action-digests"},"Rulekeys vs Action digests"),(0,i.mdx)("p",null,"The closest thing to Buck1\u2019s rulekey in Buck2 is the action digest, but they are\nvery different!"),(0,i.mdx)("p",null,"Since it\u2019s a product of the (transitive) inputs of an action, the (default)\nrulekey can be computed without running anything or querying any caches.\nHowever, the action digest cannot: it requires the actual inputs of an action,\nwhich means you need to build all the dependencies first."),(0,i.mdx)("p",null,"This means that:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"In Buck1, you can ask for rulekeys for a target."),(0,i.mdx)("li",{parentName:"ul"},"In Buck2, you\u2019d have to run the build first then ask for the action digests\n(this is what the ",(0,i.mdx)("inlineCode",{parentName:"li"},"buck2 log what-ran")," would show you).")),(0,i.mdx)("h4",{id:"buck2-queries-many-more-caches"},"Buck2 queries many more caches"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"Buck1 will not descend further down a tree of dependency when it gets a cache\nhit."),(0,i.mdx)("li",{parentName:"ul"},"Buck2 will always walk up all your dependencies, regardless of whether you get\ncache hits or not.")),(0,i.mdx)("h4",{id:"materialization"},"Materialization"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"When Buck1 gets a cache miss, it downloads the outputs."),(0,i.mdx)("li",{parentName:"ul"},"Buck2, by contract, does not download outputs as part of a build (this is\ncalled 'deferred materialization').",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"Note that Buck2 does download the outputs if the user asked for them (that\nis, they were the targets the user put on the command line).")))),(0,i.mdx)("h3",{id:"second-order-implications"},"Second-order implications"),(0,i.mdx)("h4",{id:"non-determinism"},"Non-determinism"),(0,i.mdx)("p",null,"Non-determinism in a build affects Buck2 and Buck1 differently. One scenario\nthat often works fine in Buck1 but can work catastrophically bad in Buck2 is a\ncodegen step, driven by a Python binary."),(0,i.mdx)("p",null,"In certain configurations/modes, Python binaries are non-deterministic, because\nthey are XARs\n(","[https://engineering.fb.com/2018/07/13/data-infrastructure/xars-a-more-efficient-open-source-system-for-self-contained-executables/]","(eXecutable\nARchives)) and that is always non-deterministic, which is bad!"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"In Buck1, that doesn\u2019t really matter, because you can get a cache hit on the\ncodegen output without ever visiting the XAR (as long as the input files\nhaven\u2019t changed)."),(0,i.mdx)("li",{parentName:"ul"},"In Buck2, you need the XAR to check the action cache for the codegen step.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"However, binaries are often not cached in certain configurations/modes, so\nyour XAR isn\u2019t cached."),(0,i.mdx)("li",{parentName:"ul"},"Therefore, since your XAR build is non-deterministic, you\u2019ll always miss in\nthe action cache and the codegen step will always have to run in every\nbuild.")))),(0,i.mdx)("p",null,"It can get worse! If the Python binary produces non-deterministic codegen, then\nthe entire build might become uncacheable."),(0,i.mdx)("h4",{id:"cache-misses-dont-necessarily-propagate"},"Cache misses don\u2019t necessarily propagate"),(0,i.mdx)("p",null,"Say that, in Buck2, you\u2019re trying to build a chain of actions like codegen ->\ncompile -> link."),(0,i.mdx)("p",null,"Even if your codegen step isn\u2019t cached (say, because its action inputs are\nnon-deterministic as mentioned above), as long as the codegen output is\ndeterministic, you can still get cache hits from compile and link steps."),(0,i.mdx)("h4",{id:"hybrid-execution"},"Hybrid execution"),(0,i.mdx)("p",null,"If you squint, you\u2019ll note that Buck1\u2019s build could be viewed as 'local first',\nwhereas Buck2\u2019s would be better viewed as 'remote first':"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"When Buck1 builds something remotely or gets a cache hit, the outputs are\nalways downloaded."),(0,i.mdx)("li",{parentName:"ul"},"When Buck2 builds something remotely or gets a cache hit, the outputs are\nnever downloaded.")),(0,i.mdx)("p",null,"In turn, this has some important implications:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"When Buck1 builds something locally, the inputs are always already present."),(0,i.mdx)("li",{parentName:"ul"},"When Buck2 builds something locally, the inputs have to be downloaded, unless\nthey were built locally (which if you\u2019re doing any RE, is usually not the\ncase), or if another command caused them to be downloaded.")),(0,i.mdx)("p",null,"This means that, in Buck1, running something locally when you have spare\nresources is usually a no-brainer, because it\u2019s always ready to go, and you\u2019ll\nsave on not having to download the output from RE (though you might have to\nupload the output if you need to run actions depending on it later)."),(0,i.mdx)("p",null,"On the flip side, with Buck2, that\u2019s not necessarily the case. To run an action\nlocally, you need to download inputs that you might otherwise not have needed,\nwhich will tax your network connection."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/54787e77.09ecd171.js b/assets/js/54787e77.09ecd171.js new file mode 100644 index 0000000000000..5fee628e88300 --- /dev/null +++ b/assets/js/54787e77.09ecd171.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8598],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>u,MDXProvider:()=>x,mdx:()=>m,useMDXComponents:()=>p,withMDXComponents:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(this,arguments)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),d=function(e){return function(t){var r=p(t.components);return n.createElement(e,l({},t,{components:r}))}},p=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},x=function(e){var t=p(e.components);return n.createElement(u.Provider,{value:t},e.children)},c="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,o=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=p(r),x=a,c=d["".concat(o,".").concat(x)]||d[x]||b[x]||l;return r?n.createElement(c,i(i({ref:t},u),{},{components:r})):n.createElement(c,i({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,o=new Array(l);o[0]=g;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[c]="string"==typeof e?e:a,o[1]=i;for(var u=2;u<l;u++)o[u]=r[u];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}g.displayName="MDXCreateElement"},45882:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>i,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const l={id:"bxl.AqueryContext"},o="bxl.AqueryContext type",i={unversionedId:"api/bxl/bxl.AqueryContext",id:"api/bxl/bxl.AqueryContext",title:"bxl.AqueryContext type",description:"The context for performing aquery operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within aquery command.",source:"@site/../docs/api/bxl/bxl.AqueryContext.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.AqueryContext",permalink:"/docs/api/bxl/bxl.AqueryContext",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.AqueryContext"},sidebar:"apiSidebar",previous:{title:"bxl.AnalysisResult type",permalink:"/docs/api/bxl/bxl.AnalysisResult"},next:{title:"bxl.AuditContext type",permalink:"/docs/api/bxl/bxl.AuditContext"}},s={},u=[{value:"bxl.AqueryContext.all_actions",id:"bxlaquerycontextall_actions",level:2},{value:"bxl.AqueryContext.all_outputs",id:"bxlaquerycontextall_outputs",level:2},{value:"bxl.AqueryContext.attrfilter",id:"bxlaquerycontextattrfilter",level:2},{value:"bxl.AqueryContext.deps",id:"bxlaquerycontextdeps",level:2},{value:"bxl.AqueryContext.eval",id:"bxlaquerycontexteval",level:2}],d={toc:u};function p(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"bxlaquerycontext-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"bxl.AqueryContext")," type"),(0,a.mdx)("p",null,"The context for performing ",(0,a.mdx)("inlineCode",{parentName:"p"},"aquery")," operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within aquery command."),(0,a.mdx)("p",null,"Query results are ",(0,a.mdx)("inlineCode",{parentName:"p"},"target_set"),"s of ",(0,a.mdx)("inlineCode",{parentName:"p"},"action_query_node"),"s, which supports iteration,\nindexing, ",(0,a.mdx)("inlineCode",{parentName:"p"},"len()"),", set addition/subtraction, and ",(0,a.mdx)("inlineCode",{parentName:"p"},"equals()"),"."),(0,a.mdx)("h2",{id:"bxlaquerycontextall_actions"},"bxl.AqueryContext.all","_","actions"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.AqueryContext.all_actions(\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label]\n) -> target_set\n")),(0,a.mdx)("p",null,"Obtain all the actions declared within the analysis of a given target."),(0,a.mdx)("p",null,"This operation only makes sense on a target literal (it is a simple passthrough when passed\nan action)."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlaquerycontextall_outputs"},"bxl.AqueryContext.all","_","outputs"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.AqueryContext.all_outputs(\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label]\n) -> target_set\n")),(0,a.mdx)("p",null,"Obtain the actions for all the outputs provided by the ",(0,a.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," for the targets passed as input. This includes both the ",(0,a.mdx)("inlineCode",{parentName:"p"},"default_outputs")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"other_outputs"),"."),(0,a.mdx)("p",null,"This operation only makes sense on a target literal (it does nothing if passed something\nelse)."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlaquerycontextattrfilter"},"bxl.AqueryContext.attrfilter"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.AqueryContext.attrfilter(\n attr: str,\n value: str,\n targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label]\n) -> target_set\n")),(0,a.mdx)("p",null,"The attrfilter query for rule attribute filtering."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlaquerycontextdeps"},"bxl.AqueryContext.deps"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.AqueryContext.deps(\n universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label],\n depth: None | int = None,\n filter: None | str = None\n) -> target_set\n")),(0,a.mdx)("p",null,"The deps query for finding the transitive closure of dependencies."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlaquerycontexteval"},"bxl.AqueryContext.eval"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.AqueryContext.eval(\n query: str,\n query_args: None | target_set | list[str] = None\n)\n")),(0,a.mdx)("p",null,"Evaluates some general query string. ",(0,a.mdx)("inlineCode",{parentName:"p"},"query_args")," can be a target_set of unconfigured nodes, or a list of strings. Returns a ",(0,a.mdx)("inlineCode",{parentName:"p"},"dict")," of target labels mapped to their ",(0,a.mdx)("inlineCode",{parentName:"p"},"target_set")," results if ",(0,a.mdx)("inlineCode",{parentName:"p"},"query_args")," was passed in, otherwise returns a single ",(0,a.mdx)("inlineCode",{parentName:"p"},"target_set"),"."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_eval(ctx):\n result = ctx.aquery().eval(":foo")\n ctx.output.print(result)\n')))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/555693ad.cb6b135a.js b/assets/js/555693ad.cb6b135a.js new file mode 100644 index 0000000000000..fd85a0f611a1c --- /dev/null +++ b/assets/js/555693ad.cb6b135a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5712],{3905:(e,n,r)=>{r.r(n),r.d(n,{MDXContext:()=>u,MDXProvider:()=>p,mdx:()=>h,useMDXComponents:()=>d,withMDXComponents:()=>c});var t=r(67294);function o(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},a.apply(this,arguments)}function i(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function s(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?i(Object(r),!0).forEach((function(n){o(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function l(e,n){if(null==e)return{};var r,t,o=function(e,n){if(null==e)return{};var r,t,o={},a=Object.keys(e);for(t=0;t<a.length;t++)r=a[t],n.indexOf(r)>=0||(o[r]=e[r]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)r=a[t],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=t.createContext({}),c=function(e){return function(n){var r=d(n.components);return t.createElement(e,a({},n,{components:r}))}},d=function(e){var n=t.useContext(u),r=n;return e&&(r="function"==typeof e?e(n):s(s({},n),e)),r},p=function(e){var n=d(e.components);return t.createElement(u.Provider,{value:n},e.children)},m="mdxType",x={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},f=t.forwardRef((function(e,n){var r=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=d(r),p=o,m=c["".concat(i,".").concat(p)]||c[p]||x[p]||a;return r?t.createElement(m,s(s({ref:n},u),{},{components:r})):t.createElement(m,s({ref:n},u))}));function h(e,n){var r=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=f;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[m]="string"==typeof e?e:o,i[1]=s;for(var u=2;u<a;u++)i[u]=r[u];return t.createElement.apply(null,i)}return t.createElement.apply(null,r)}f.displayName="MDXCreateElement"},52315:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var t=r(87462),o=(r(67294),r(3905));const a={id:"local_resources",title:"Local Resources For Tests Execution"},i=void 0,s={unversionedId:"rule_authors/local_resources",id:"rule_authors/local_resources",title:"Local Resources For Tests Execution",description:"Executing a test might require an external resource which is expensive to",source:"@site/../docs/rule_authors/local_resources.md",sourceDirName:"rule_authors",slug:"/rule_authors/local_resources",permalink:"/docs/rule_authors/local_resources",draft:!1,tags:[],version:"current",frontMatter:{id:"local_resources",title:"Local Resources For Tests Execution"},sidebar:"mainSidebar",previous:{title:"Alias",permalink:"/docs/rule_authors/alias"},next:{title:"PACKAGE Files",permalink:"/docs/rule_authors/package_files"}},l={},u=[{value:"<code>LocalResourceInfo</code> provider",id:"localresourceinfo-provider",level:2},{value:"Test Execution",id:"test-execution",level:2},{value:"Example Usage",id:"example-usage",level:2}],c={toc:u};function d(e){let{components:n,...r}=e;return(0,o.mdx)("wrapper",(0,t.Z)({},c,r,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"Executing a test might require an external resource which is expensive to\ncreate. For example running an iOS UI test requires an iOS simulator and it\ntakes relatively long time to setup it prior to test execution. When tests are\nexecuted remotely resources initialization and allocation could be preemptively\nmanaged by remote execution tier which is not the case for local execution. To\neffectively manage such resources needed for local execution of tests there is a\nseparate Buck2 feature backed by ",(0,o.mdx)("inlineCode",{parentName:"p"},"LocalResourceInfo")," provider."),(0,o.mdx)("h2",{id:"localresourceinfo-provider"},(0,o.mdx)("inlineCode",{parentName:"h2"},"LocalResourceInfo")," provider"),(0,o.mdx)("p",null,"This provider describes how to initialize and clean up a pool of homogeneous\nlocal resources. Management of initialized resources is done by Buck2 itself\nwhen it executes tests requiring such resources."),(0,o.mdx)("p",null,"Fields:"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},"setup")," \u2014 command represented by ",(0,o.mdx)("inlineCode",{parentName:"li"},"cmd_args")," object which is executed to\ninitialize a local resource. Running this command should write a JSON to\nstdout. This JSON represents a pool of local resources which are ready to be\nused."),(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},"resource_env_vars")," \u2014 key-value mapping ",(0,o.mdx)("inlineCode",{parentName:"li"},"{str: str}")," from environment variable\n(appended to an execution command for test which is dependent on this local\nresource) to keys in JSON output of ",(0,o.mdx)("inlineCode",{parentName:"li"},"setup")," command.")),(0,o.mdx)("p",null,"Example JSON output of ",(0,o.mdx)("inlineCode",{parentName:"p"},"setup")," command:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},'{\n "pid": 42,\n "resources": [\n {"socket_address": "foo:1"},\n {"socket_address": "bar:2"}\n ]\n}\n')),(0,o.mdx)("p",null,"JSON keys:"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},"pid")," \u2014 an optional attribute which maps to a PID of a process that holds\ninitialized local resources. If present, on non-Windows platforms the process\nwill be sent ",(0,o.mdx)("inlineCode",{parentName:"li"},"SIGTERM")," when those resources are no longer needed. Signal\nshould be handled to release any system resources related to local resources."),(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},"resources")," \u2014 a list of resource instances, each is a mapping from a string\nalias (e.g. ",(0,o.mdx)("inlineCode",{parentName:"li"},"socket_address"),") to a value which represents resource. The number\nof concurrently running tests that require resources of the same type is\nlimited by how many instances are in a list. String alias is mapped to an\nenvironment variable key (which will be added to a command requiring such\nresource) using a ",(0,o.mdx)("inlineCode",{parentName:"li"},"resource_env_vars")," field in ",(0,o.mdx)("inlineCode",{parentName:"li"},"LocalResourceInfo")," provider\n(see ",(0,o.mdx)("a",{parentName:"li",href:"#example-usage"},"example")," below).")),(0,o.mdx)("h2",{id:"test-execution"},"Test Execution"),(0,o.mdx)("p",null,"For a general context on how tests are executed, see\n",(0,o.mdx)("a",{parentName:"p",href:"/docs/rule_authors/test_execution"},"Test Execution"),"."),(0,o.mdx)("p",null,"A decision whether certain local resource is required for specific test is made\nby a test runner. List of required resources is then passed to Buck2 in\n",(0,o.mdx)("inlineCode",{parentName:"p"},"required_local_resources")," field of ",(0,o.mdx)("inlineCode",{parentName:"p"},"ExecuteRequest2")," test API protobuf message."),(0,o.mdx)("p",null,"If resource is required for a certain test execution and test could potentially\nbe executed locally, ",(0,o.mdx)("inlineCode",{parentName:"p"},"local_resources")," field in test's ",(0,o.mdx)("inlineCode",{parentName:"p"},"ExternalRunnerTestInfo"),"\nprovider is used to select appropriate ",(0,o.mdx)("inlineCode",{parentName:"p"},"LocalResourceInfo")," provider."),(0,o.mdx)("p",null,(0,o.mdx)("inlineCode",{parentName:"p"},"ExternalRunnerTestInfo.local_resources")," is a key-value mapping\n",(0,o.mdx)("inlineCode",{parentName:"p"},'{str: ["label", None]}'),". Keys represent resource types that match the values\npassed from the test runner, and values are labels that should point to a target\nexposing the ",(0,o.mdx)("inlineCode",{parentName:"p"},"LocalResourceInfo")," provider to be used for the initialization of\nthe resource of that type. If the value is ",(0,o.mdx)("inlineCode",{parentName:"p"},"None"),", it indicates that a resource\nof that type will not be provided, even if the test runner requests it."),(0,o.mdx)("p",null,"Before running a test, ",(0,o.mdx)("inlineCode",{parentName:"p"},"setup")," command from selected provider is executed and\nits output is used to create a pool of resource instances. This pool is shared\nacross all tests pointing to the same configured target label containing\n",(0,o.mdx)("inlineCode",{parentName:"p"},"LocalResourceInfo")," provider (normally that means pool is shared for tests\nrequiring same resource type). A resource is acquired (with potential queuing)\nfrom that pool prior single test is executed and is returned back to the pool\nwhen test finished execution. After ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 test")," command is finished, cleanup is\nperformed when SIGTERM is sent to each process holding a pool of resources."),(0,o.mdx)("h2",{id:"example-usage"},"Example Usage"),(0,o.mdx)("p",null,"Define a target which has ",(0,o.mdx)("inlineCode",{parentName:"p"},"LocalResourceInfo")," provider:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},'simulator(\n name = "my_resource",\n broker = ":broker",\n)\n')),(0,o.mdx)("p",null,"where ",(0,o.mdx)("inlineCode",{parentName:"p"},"broker")," points to a runnable handling actual simulators."),(0,o.mdx)("p",null,"Implementation of ",(0,o.mdx)("inlineCode",{parentName:"p"},"simulator")," rule would be:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},'def _impl(ctx: AnalysisContext) -> ["provider"]:\n return [\n DefaultInfo(),\n LocalResourceInfo(\n setup = cmd_args([ctx.attrs.broker[RunInfo]]),\n resource_env_vars = { "IDB_COMPANION": "socket_address" },\n )\n ]\n')),(0,o.mdx)("p",null,"Running a ",(0,o.mdx)("inlineCode",{parentName:"p"},":broker")," via ",(0,o.mdx)("inlineCode",{parentName:"p"},"setup")," command produces the following JSON:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},'{\n "pid": 42,\n "resources": [\n {"socket_address": "foo:1"},\n {"socket_address": "bar:2"}\n ]\n}\n')),(0,o.mdx)("p",null,"When Buck2 locally executes a test which requires this particular type of local\nresource, it reserves one resource from the pool (e.g.\n",(0,o.mdx)("inlineCode",{parentName:"p"},'{"socket_address": "bar:2"}'),") and add environment variable representing this\nresource to execution command (e.g. ",(0,o.mdx)("inlineCode",{parentName:"p"},"IDB_COMPANION=bar:2"),"). In our examples\n",(0,o.mdx)("inlineCode",{parentName:"p"},'"socket_address"')," alias was substituted by ",(0,o.mdx)("inlineCode",{parentName:"p"},'"IDB_COMPANION"')," based on\n",(0,o.mdx)("inlineCode",{parentName:"p"},"LocalResourceInfo.resource_env_vars")," field."),(0,o.mdx)("p",null,"The last part is to map a resource type to desired ",(0,o.mdx)("inlineCode",{parentName:"p"},"LocalResourceInfo"),' provider.\nLet\'s assume a test runner requires a resource of type "ios_simulator" for every\n',(0,o.mdx)("inlineCode",{parentName:"p"},"apple_test")," rule."),(0,o.mdx)("p",null,"Pass ",(0,o.mdx)("inlineCode",{parentName:"p"},":my_resource")," target as a dependency into ",(0,o.mdx)("inlineCode",{parentName:"p"},"apple_test")," rule:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},'apple_test = rule(\n impl = apple_test_impl,\n attrs = {\n ...\n "_ios_simulator": attrs.default_only(attrs.dep(default = ":my_resource", providers = [LocalResourceInfo])),\n ...\n },\n)\n')),(0,o.mdx)("p",null,'Actually map "ios_simulator" resource type to ',(0,o.mdx)("inlineCode",{parentName:"p"},":broker")," target containing\n",(0,o.mdx)("inlineCode",{parentName:"p"},"LocalResourceInfo")," provider:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},'def apple_test_impl(ctx: AnalysisContext) -> ["provider"]:\n ...\n return [\n ...\n ExternalRunnerTestInfo(\n ...\n local_resources = {\n "ios_simulator": ctx.attrs._ios_simulator,\n },\n ...\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5684.17790f7f.js b/assets/js/5684.17790f7f.js new file mode 100644 index 0000000000000..4ece582ca6b7d --- /dev/null +++ b/assets/js/5684.17790f7f.js @@ -0,0 +1 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5684],{29039:(e,s,t)=>{"use strict";t.d(s,{Z:()=>c});var b=t(31336);const c=b},15525:()=>{}}]); \ No newline at end of file diff --git a/assets/js/578af228.37f0e40f.js b/assets/js/578af228.37f0e40f.js new file mode 100644 index 0000000000000..d669d5c17b9e2 --- /dev/null +++ b/assets/js/578af228.37f0e40f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6742],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>m,MDXProvider:()=>u,mdx:()=>y,useMDXComponents:()=>s,withMDXComponents:()=>d});var a=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},r.apply(this,arguments)}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,a,i=function(e,n){if(null==e)return{};var t,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var m=a.createContext({}),d=function(e){return function(n){var t=s(n.components);return a.createElement(e,r({},n,{components:t}))}},s=function(e){var n=a.useContext(m),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},u=function(e){var n=s(e.components);return a.createElement(m.Provider,{value:n},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},x=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,m=p(e,["components","mdxType","originalType","parentName"]),d=s(t),u=i,c=d["".concat(l,".").concat(u)]||d[u]||h[u]||r;return t?a.createElement(c,o(o({ref:n},m),{},{components:t})):a.createElement(c,o({ref:n},m))}));function y(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,l=new Array(r);l[0]=x;var o={};for(var p in n)hasOwnProperty.call(n,p)&&(o[p]=n[p]);o.originalType=e,o[c]="string"==typeof e?e:i,l[1]=o;for(var m=2;m<r;m++)l[m]=t[m];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}x.displayName="MDXCreateElement"},99238:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>l,default:()=>s,frontMatter:()=>r,metadata:()=>o,toc:()=>m});var a=t(87462),i=(t(67294),t(3905));const r={id:"types"},l="Starlark Types",o={unversionedId:"developers/starlark/types",id:"developers/starlark/types",title:"Starlark Types",description:"The Starlark 'types' extension is highly experimental and likely to be modified",source:"@site/../docs/developers/starlark/types.generated.md",sourceDirName:"developers/starlark",slug:"/developers/starlark/types",permalink:"/docs/developers/starlark/types",draft:!1,tags:[],version:"current",frontMatter:{id:"types"},sidebar:"mainSidebar",previous:{title:"Starlark Language Specification",permalink:"/docs/developers/starlark/spec"},next:{title:"Value Representation",permalink:"/docs/developers/starlark/values"}},p={},m=[{value:"What does a type mean?",id:"what-does-a-type-mean",level:2},{value:"Record types",id:"record-types",level:2},{value:"Enum types",id:"enum-types",level:2}],d={toc:m};function s(e){let{components:n,...t}=e;return(0,i.mdx)("wrapper",(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)("h1",{id:"starlark-types"},"Starlark Types"),(0,i.mdx)("p",null,"The Starlark 'types' extension is highly experimental and likely to be modified\nin the future."),(0,i.mdx)("p",null,"Types can be added to function arguments, or function return types."),(0,i.mdx)("p",null,"For example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def fib(i: int) -> int:\n ...\n")),(0,i.mdx)("p",null,"There are moments where types can be checked:"),(0,i.mdx)("ol",null,(0,i.mdx)("li",{parentName:"ol"},"At runtime, as a function is executed, when a value of the appropriate type\nis available."),(0,i.mdx)("li",{parentName:"ol"},"Statically, without executing anything."),(0,i.mdx)("li",{parentName:"ol"},"At compile time, when the definitions of all symbols imported using ",(0,i.mdx)("inlineCode",{parentName:"li"},"load"),"\nare available.")),(0,i.mdx)("p",null,"Currently runtime is the normal way of checking, but other systems built on\nStarlark (e.g. Buck2) may also perform additional types of checking. In all\ncases the meaning of the types is the same."),(0,i.mdx)("p",null,"The rest of this document lays out what types mean and what type-supporting\nvalues are available (records and enums)."),(0,i.mdx)("h2",{id:"what-does-a-type-mean"},"What does a type mean?"),(0,i.mdx)("p",null,"A type is a Starlark expression that has a meaning as a type:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"When ",(0,i.mdx)("inlineCode",{parentName:"li"},"fib(3)")," is called, the ",(0,i.mdx)("em",{parentName:"li"},"value")," ",(0,i.mdx)("inlineCode",{parentName:"li"},"3")," is passed to ",(0,i.mdx)("inlineCode",{parentName:"li"},"fib")," as parameter ",(0,i.mdx)("inlineCode",{parentName:"li"},"i"),"."),(0,i.mdx)("li",{parentName:"ul"},"When the execution of ",(0,i.mdx)("inlineCode",{parentName:"li"},"fib")," is started, the ",(0,i.mdx)("em",{parentName:"li"},"expression")," ",(0,i.mdx)("inlineCode",{parentName:"li"},"int")," is evaluated to\nthe value of the ",(0,i.mdx)("inlineCode",{parentName:"li"},"int")," function."),(0,i.mdx)("li",{parentName:"ul"},"A check is then made that the value ",(0,i.mdx)("inlineCode",{parentName:"li"},"3")," matches the type represented by ",(0,i.mdx)("inlineCode",{parentName:"li"},"int"),".")),(0,i.mdx)("p",null,"If the value doesn't match, it is a runtime error. Similarly, on ",(0,i.mdx)("inlineCode",{parentName:"p"},"return"),"\nstatements, or the end of the function, a check is made that result type matches\n",(0,i.mdx)("inlineCode",{parentName:"p"},"int"),"."),(0,i.mdx)("p",null,"As some examples of types:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"The type ",(0,i.mdx)("inlineCode",{parentName:"li"},"typing.Any")," matches any value, with no restrictions."),(0,i.mdx)("li",{parentName:"ul"},"The types ",(0,i.mdx)("inlineCode",{parentName:"li"},"int"),", ",(0,i.mdx)("inlineCode",{parentName:"li"},"bool"),", ",(0,i.mdx)("inlineCode",{parentName:"li"},"str")," all represent the values produced by the\nrespective functions."),(0,i.mdx)("li",{parentName:"ul"},"The type ",(0,i.mdx)("inlineCode",{parentName:"li"},"None")," represents the value ",(0,i.mdx)("inlineCode",{parentName:"li"},"None"),"."),(0,i.mdx)("li",{parentName:"ul"},"The type ",(0,i.mdx)("inlineCode",{parentName:"li"},"list[int]")," represents a list of ",(0,i.mdx)("inlineCode",{parentName:"li"},"int")," types, e.g. ",(0,i.mdx)("inlineCode",{parentName:"li"},"list[typing.Any]"),"\nrepresents a list containing any types."),(0,i.mdx)("li",{parentName:"ul"},"The type ",(0,i.mdx)("inlineCode",{parentName:"li"},"dict[int, bool]")," represents a dictionary with ",(0,i.mdx)("inlineCode",{parentName:"li"},"int")," keys and ",(0,i.mdx)("inlineCode",{parentName:"li"},"bool"),"\nvalues."),(0,i.mdx)("li",{parentName:"ul"},"The type ",(0,i.mdx)("inlineCode",{parentName:"li"},"tuple[int, bool, str]")," represents a tuple of arity 3 with components\nbeing ",(0,i.mdx)("inlineCode",{parentName:"li"},"int"),", ",(0,i.mdx)("inlineCode",{parentName:"li"},"bool")," and ",(0,i.mdx)("inlineCode",{parentName:"li"},"str"),"."),(0,i.mdx)("li",{parentName:"ul"},"The type ",(0,i.mdx)("inlineCode",{parentName:"li"},"tuple[int, ...]")," represents a tuple of unknown arity where all the\ncomponents are of type ",(0,i.mdx)("inlineCode",{parentName:"li"},"int"),"."),(0,i.mdx)("li",{parentName:"ul"},"The type ",(0,i.mdx)("inlineCode",{parentName:"li"},"int | bool")," represents a value that is either an ",(0,i.mdx)("inlineCode",{parentName:"li"},"int")," or a ",(0,i.mdx)("inlineCode",{parentName:"li"},"bool"),"."),(0,i.mdx)("li",{parentName:"ul"},"The type ",(0,i.mdx)("inlineCode",{parentName:"li"},"typing.Callable")," represents something that can be called as a\nfunction."),(0,i.mdx)("li",{parentName:"ul"},"The type ",(0,i.mdx)("inlineCode",{parentName:"li"},"typing.Iterable")," represents something that can be iterated on."),(0,i.mdx)("li",{parentName:"ul"},"The type ",(0,i.mdx)("inlineCode",{parentName:"li"},"typing.Never")," represents a type with no valid values - e.g. the\nresult of ",(0,i.mdx)("inlineCode",{parentName:"li"},"fail")," is ",(0,i.mdx)("inlineCode",{parentName:"li"},"typing.Never")," as the return value of ",(0,i.mdx)("inlineCode",{parentName:"li"},"fail")," can never be\nobserved, given the program terminates.")),(0,i.mdx)("p",null,"The goals of this type system are:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"Reuse the existing machinery of Starlark as much as possible, avoiding\ninventing a special class of type values. As a consequence, any optimisations\nfor values like string/list are reused."),(0,i.mdx)("li",{parentName:"ul"},"Provide a pleasing syntax."),(0,i.mdx)("li",{parentName:"ul"},"Some degree of compatibility with Python, which allows types as expressions in\nthe same places Buck2 allows them (but with different meaning and different\nchecking)."),(0,i.mdx)("li",{parentName:"ul"},"And finally, a non-goal is to provide a complete type system capable of\nrepresenting every type invariant: it's intended to be a lossy approximation.")),(0,i.mdx)("p",null,"In addition to these built-in types, records and enumerations are provided as\nspecial concepts."),(0,i.mdx)("h2",{id:"record-types"},"Record types"),(0,i.mdx)("p",null,"A ",(0,i.mdx)("inlineCode",{parentName:"p"},"record")," type represents a set of named values, each with their own type."),(0,i.mdx)("p",null,"For example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"MyRecord = record(host=str, port=int)\n")),(0,i.mdx)("p",null,"This above statement defines a record ",(0,i.mdx)("inlineCode",{parentName:"p"},"MyRecord")," with 2 fields, the first named\n",(0,i.mdx)("inlineCode",{parentName:"p"},"host")," that must be of type ",(0,i.mdx)("inlineCode",{parentName:"p"},"str"),", and the second named ",(0,i.mdx)("inlineCode",{parentName:"p"},"port")," that must be of\ntype ",(0,i.mdx)("inlineCode",{parentName:"p"},"int"),"."),(0,i.mdx)("p",null,"Now ",(0,i.mdx)("inlineCode",{parentName:"p"},"MyRecord")," is defined, it's possible to do the following:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"Create values of this type with ",(0,i.mdx)("inlineCode",{parentName:"li"},'MyRecord(host="localhost", port=80)'),". It is a\nruntime error if any arguments are missed, of the wrong type, or if any\nunexpected arguments are given."),(0,i.mdx)("li",{parentName:"ul"},"Get the type of the record suitable for a type annotation with ",(0,i.mdx)("inlineCode",{parentName:"li"},"MyRecord"),"."),(0,i.mdx)("li",{parentName:"ul"},"Get the fields of the record. For example,\n",(0,i.mdx)("inlineCode",{parentName:"li"},'v = MyRecord(host="localhost", port=80)')," will provide ",(0,i.mdx)("inlineCode",{parentName:"li"},'v.host == "localhost"'),"\nand ",(0,i.mdx)("inlineCode",{parentName:"li"},"v.port == 80"),". Similarly, ",(0,i.mdx)("inlineCode",{parentName:"li"},'dir(v) == ["host", "port"]'),".")),(0,i.mdx)("p",null,"It is also possible to specify default values for parameters using the ",(0,i.mdx)("inlineCode",{parentName:"p"},"field"),"\nfunction."),(0,i.mdx)("p",null,"For example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"MyRecord = record(host=str, port=field(int, 80))\n")),(0,i.mdx)("p",null,"Now the ",(0,i.mdx)("inlineCode",{parentName:"p"},"port")," field can be omitted, defaulting to ",(0,i.mdx)("inlineCode",{parentName:"p"},"80")," is not present (for\nexample, ",(0,i.mdx)("inlineCode",{parentName:"p"},'MyRecord(host="localhost").port == 80'),")."),(0,i.mdx)("p",null,"Records are stored deduplicating their field names, making them more memory\nefficient than dictionaries."),(0,i.mdx)("h2",{id:"enum-types"},"Enum types"),(0,i.mdx)("p",null,"The ",(0,i.mdx)("inlineCode",{parentName:"p"},"enum")," type represents one value picked from a set of values."),(0,i.mdx)("p",null,"For example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'MyEnum = enum("option1", "option2", "option3")\n')),(0,i.mdx)("p",null,"This statement defines an enumeration ",(0,i.mdx)("inlineCode",{parentName:"p"},"MyEnum")," that consists of the three values\n",(0,i.mdx)("inlineCode",{parentName:"p"},'"option1"'),", ",(0,i.mdx)("inlineCode",{parentName:"p"},'"option2"')," and ",(0,i.mdx)("inlineCode",{parentName:"p"},'"option3"'),"."),(0,i.mdx)("p",null,"Now ",(0,i.mdx)("inlineCode",{parentName:"p"},"MyEnum")," is defined, it's possible to do the following:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"Create values of this type with ",(0,i.mdx)("inlineCode",{parentName:"li"},'MyEnum("option2")'),". It is a runtime error if\nthe argument is not one of the predeclared values of the enumeration."),(0,i.mdx)("li",{parentName:"ul"},"Get the type of the enum suitable for a type annotation with ",(0,i.mdx)("inlineCode",{parentName:"li"},"MyEnum"),"."),(0,i.mdx)("li",{parentName:"ul"},"Given a value of the enum (for example, ",(0,i.mdx)("inlineCode",{parentName:"li"},'v = MyEnum("option2")'),"), get the\nunderlying value ",(0,i.mdx)("inlineCode",{parentName:"li"},'v.value == "option2"')," or the index in the enumeration\n",(0,i.mdx)("inlineCode",{parentName:"li"},"v.index == 1"),"."),(0,i.mdx)("li",{parentName:"ul"},"Get a list of the values that make up the array with\n",(0,i.mdx)("inlineCode",{parentName:"li"},'MyEnum.values() == ["option1", "option2", "option3"]'),"."),(0,i.mdx)("li",{parentName:"ul"},"Treat ",(0,i.mdx)("inlineCode",{parentName:"li"},"MyEnum")," a bit like an array, with ",(0,i.mdx)("inlineCode",{parentName:"li"},"len(MyEnum) == 3"),",\n",(0,i.mdx)("inlineCode",{parentName:"li"},'MyEnum[1] == MyEnum("option2")')," and iteration over enums\n",(0,i.mdx)("inlineCode",{parentName:"li"},'[x.value for x in MyEnum] == ["option1", "option2", "option3"]'),".")),(0,i.mdx)("p",null,"Enumeration types store each value once, which are then efficiently referenced\nby enumeration values."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5857b081.4b4af703.js b/assets/js/5857b081.4b4af703.js new file mode 100644 index 0000000000000..bf397bf132613 --- /dev/null +++ b/assets/js/5857b081.4b4af703.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4373],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>c,MDXProvider:()=>s,mdx:()=>v,useMDXComponents:()=>d,withMDXComponents:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},l.apply(this,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),u=function(e){return function(t){var r=d(t.components);return a.createElement(e,l({},t,{components:r}))}},d=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},s=function(e){var t=d(e.components);return a.createElement(c.Provider,{value:t},e.children)},b="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=d(r),s=n,b=u["".concat(i,".").concat(s)]||u[s]||f[s]||l;return r?a.createElement(b,o(o({ref:t},c),{},{components:r})):a.createElement(b,o({ref:t},c))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[b]="string"==typeof e?e:n,i[1]=o;for(var c=2;c<l;c++)i[c]=r[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}m.displayName="MDXCreateElement"},47303:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"label_relative_path"},i="label_relative_path type",o={unversionedId:"api/build/label_relative_path",id:"api/build/label_relative_path",title:"label_relative_path type",description:"label\\relative\\path.add",source:"@site/../docs/api/build/label_relative_path.generated.md",sourceDirName:"api/build",slug:"/api/build/label_relative_path",permalink:"/docs/api/build/label_relative_path",draft:!1,tags:[],version:"current",frontMatter:{id:"label_relative_path"},sidebar:"apiSidebar",previous:{title:"label type",permalink:"/docs/api/build/label"},next:{title:"plugins type",permalink:"/docs/api/build/plugins"}},p={},c=[{value:"label_relative_path.add",id:"label_relative_pathadd",level:2}],u={toc:c};function d(e){let{components:t,...r}=e;return(0,n.mdx)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"label_relative_path-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"label_relative_path")," type"),(0,n.mdx)("h2",{id:"label_relative_pathadd"},"label","_","relative","_","path.add"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def label_relative_path.add(arg: str) -> label_relative_path\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5c9a7f50.c4d822e4.js b/assets/js/5c9a7f50.c4d822e4.js new file mode 100644 index 0000000000000..2ba15e496ec94 --- /dev/null +++ b/assets/js/5c9a7f50.c4d822e4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9198],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>p,MDXProvider:()=>d,mdx:()=>y,useMDXComponents:()=>s,withMDXComponents:()=>l});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(){return a=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},a.apply(this,arguments)}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach((function(r){o(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function u(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=n.createContext({}),l=function(e){return function(r){var t=s(r.components);return n.createElement(e,a({},r,{components:t}))}},s=function(e){var r=n.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},d=function(e){var r=s(e.components);return n.createElement(p.Provider,{value:r},e.children)},b="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},f=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),l=s(t),d=o,b=l["".concat(c,".").concat(d)]||l[d]||m[d]||a;return t?n.createElement(b,i(i({ref:r},p),{},{components:t})):n.createElement(b,i({ref:r},p))}));function y(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=t.length,c=new Array(a);c[0]=f;var i={};for(var u in r)hasOwnProperty.call(r,u)&&(i[u]=r[u]);i.originalType=e,i[b]="string"==typeof e?e:o,c[1]=i;for(var p=2;p<a;p++)c[p]=t[p];return n.createElement.apply(null,c)}return n.createElement.apply(null,t)}f.displayName="MDXCreateElement"},8693:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>u,contentTitle:()=>c,default:()=>s,frontMatter:()=>a,metadata:()=>i,toc:()=>p});var n=t(87462),o=(t(67294),t(3905));const a={id:"buck_regex"},c="buck_regex type",i={unversionedId:"api/build/buck_regex",id:"api/build/buck_regex",title:"buck_regex type",description:"buck\\_regex.match",source:"@site/../docs/api/build/buck_regex.generated.md",sourceDirName:"api/build",slug:"/api/build/buck_regex",permalink:"/docs/api/build/buck_regex",draft:!1,tags:[],version:"current",frontMatter:{id:"buck_regex"},sidebar:"apiSidebar",previous:{title:"attrs type",permalink:"/docs/api/build/attrs"},next:{title:"cmd_args type",permalink:"/docs/api/build/cmd_args"}},u={},p=[{value:"buck_regex.match",id:"buck_regexmatch",level:2}],l={toc:p};function s(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},l,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"buck_regex-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"buck_regex")," type"),(0,o.mdx)("h2",{id:"buck_regexmatch"},"buck","_","regex.match"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def buck_regex.match(str: str, /) -> bool\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5d5b105f.1735e713.js b/assets/js/5d5b105f.1735e713.js new file mode 100644 index 0000000000000..d45e3b2b827b6 --- /dev/null +++ b/assets/js/5d5b105f.1735e713.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[207],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>u,MDXProvider:()=>d,mdx:()=>y,useMDXComponents:()=>p,withMDXComponents:()=>s});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(){return i=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},i.apply(this,arguments)}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?a(Object(t),!0).forEach((function(r){o(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var u=n.createContext({}),s=function(e){return function(r){var t=p(r.components);return n.createElement(e,i({},r,{components:t}))}},p=function(e){var r=n.useContext(u),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},d=function(e){var r=p(e.components);return n.createElement(u.Provider,{value:r},e.children)},m="mdxType",b={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},f=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(t),d=o,m=s["".concat(a,".").concat(d)]||s[d]||b[d]||i;return t?n.createElement(m,c(c({ref:r},u),{},{components:t})):n.createElement(m,c({ref:r},u))}));function y(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=f;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c[m]="string"==typeof e?e:o,a[1]=c;for(var u=2;u<i;u++)a[u]=t[u];return n.createElement.apply(null,a)}return n.createElement.apply(null,t)}f.displayName="MDXCreateElement"},3196:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var n=t(87462),o=(t(67294),t(3905));const i={id:"ActionSubError"},a="ActionSubError type",c={unversionedId:"api/build/ActionSubError",id:"api/build/ActionSubError",title:"ActionSubError type",description:"Methods available on StarlarkActionSubError to help with testing the error handler implementation",source:"@site/../docs/api/build/ActionSubError.generated.md",sourceDirName:"api/build",slug:"/api/build/ActionSubError",permalink:"/docs/api/build/ActionSubError",draft:!1,tags:[],version:"current",frontMatter:{id:"ActionSubError"},sidebar:"apiSidebar",previous:{title:"ActionErrorLocation type",permalink:"/docs/api/build/ActionErrorLocation"},next:{title:"StackFrame type",permalink:"/docs/api/build/StackFrame"}},l={},u=[{value:"ActionSubError.category",id:"actionsuberrorcategory",level:2},{value:"ActionSubError.locations",id:"actionsuberrorlocations",level:2},{value:"ActionSubError.message",id:"actionsuberrormessage",level:2}],s={toc:u};function p(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"actionsuberror-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"ActionSubError")," type"),(0,o.mdx)("p",null,"Methods available on ",(0,o.mdx)("inlineCode",{parentName:"p"},"StarlarkActionSubError")," to help with testing the error handler implementation"),(0,o.mdx)("h2",{id:"actionsuberrorcategory"},"ActionSubError.category"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionSubError.category: str\n")),(0,o.mdx)("p",null,"The category name of this sub error. This function is only needed for action error handler unit testing."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionsuberrorlocations"},"ActionSubError.locations"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionSubError.locations: None | list[ActionErrorLocation]\n")),(0,o.mdx)("p",null,"Any locations associated with this sub error. This function is only needed for action error handler unit testing."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionsuberrormessage"},"ActionSubError.message"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionSubError.message: None | str\n")),(0,o.mdx)("p",null,"The optional message associated with this sub error. This function is only needed for action error handler unit testing."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5ea06253.6377fad2.js b/assets/js/5ea06253.6377fad2.js new file mode 100644 index 0000000000000..f3d576a3ef841 --- /dev/null +++ b/assets/js/5ea06253.6377fad2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2417],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>d,MDXProvider:()=>u,mdx:()=>h,useMDXComponents:()=>c,withMDXComponents:()=>p});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},i.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=a.createContext({}),p=function(e){return function(t){var n=c(t.components);return a.createElement(e,i({},t,{components:n}))}},c=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=c(e.components);return a.createElement(d.Provider,{value:t},e.children)},m="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},x=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(n),u=r,m=p["".concat(o,".").concat(u)]||p[u]||g[u]||i;return n?a.createElement(m,l(l({ref:t},d),{},{components:n})):a.createElement(m,l({ref:t},d))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=x;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[m]="string"==typeof e?e:r,o[1]=l;for(var d=2;d<i;d++)o[d]=n[d];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}x.displayName="MDXCreateElement"},61708:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var a=n(87462),r=(n(67294),n(3905));const i={id:"bxl_how_tos",title:"Common How-Tos"},o=void 0,l={unversionedId:"developers/bxl_how_tos",id:"developers/bxl_how_tos",title:"Common How-Tos",description:"Passing in and using CLI args",source:"@site/../docs/developers/bxl_common_how_tos.md",sourceDirName:"developers",slug:"/developers/bxl_how_tos",permalink:"/docs/developers/bxl_how_tos",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl_how_tos",title:"Common How-Tos"},sidebar:"mainSidebar",previous:{title:"BXL Basics",permalink:"/docs/developers/bxl_basics"},next:{title:"Target Universe in BXL",permalink:"/docs/developers/target_universe"}},s={},d=[{value:"Passing in and using CLI args",id:"passing-in-and-using-cli-args",level:2},{value:"Running actions",id:"running-actions",level:2},{value:"Getting providers from an analysis",id:"getting-providers-from-an-analysis",level:2},{value:"Get a specific provider from an analysis",id:"get-a-specific-provider-from-an-analysis",level:2},{value:"Get a specific subtarget from an analysis",id:"get-a-specific-subtarget-from-an-analysis",level:2},{value:"Building a target/subtarget without blocking",id:"building-a-targetsubtarget-without-blocking",level:2},{value:"Getting attributes or resolved attributes efficiently on a configured target node",id:"getting-attributes-or-resolved-attributes-efficiently-on-a-configured-target-node",level:2},{value:"Inspecting a struct",id:"inspecting-a-struct",level:2},{value:"Set addition/subtraction on a <code>target_set</code>",id:"set-additionsubtraction-on-a-target_set",level:2},{value:"Initializing configured/unconfigured <code>target_set</code>",id:"initializing-configuredunconfigured-target_set",level:2},{value:"Profiling, Testing, and Debugging a BXL script",id:"profiling-testing-and-debugging-a-bxl-script",level:2},{value:"Getting the path of an artifact as a string",id:"getting-the-path-of-an-artifact-as-a-string",level:2}],p=(c="FbInternalOnly",function(e){return console.warn("Component "+c+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.mdx)("div",e)});var c;const u={toc:d};function m(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h2",{id:"passing-in-and-using-cli-args"},"Passing in and using CLI args"),(0,r.mdx)("p",null,"A BXL function can accept a ",(0,r.mdx)("inlineCode",{parentName:"p"},"cli_args")," attribute where args names and types are\nspecified to use within your script, as shown in the following example:"),(0,r.mdx)("p",null,"Example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl_example(ctx):\n # ...\n pass\n\nexample = bxl_main(\n impl = _impl_example,\n cli_args = {\n # cli args that you want to receive from the command line\n "bool_arg": cli_args.bool(),\n "list_type": cli_args.list(cli_args.int()),\n "optional": cli_args.option(cli_args.string()),\n "target": cli_args.target_label(),\n },\n)\n')),(0,r.mdx)("p",null,"On the command line, you can invoke the arguments as follows:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 bxl //myscript.bxl:example -- --bool_arg true --list_type 1 --list_type 2 --target //foo:bar\n")),(0,r.mdx)("p",null,"For BXL functions, to read the arguments, use them as attributes from the\n",(0,r.mdx)("inlineCode",{parentName:"p"},"cli_args")," attribute on the BXL ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx")," object, as follows:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def _impl_example(ctx):\n my_bool_arg = ctx.cli_args.bool_arg\n")),(0,r.mdx)("h2",{id:"running-actions"},"Running actions"),(0,r.mdx)("p",null,"You can create actions within BXL via the ",(0,r.mdx)("inlineCode",{parentName:"p"},"actions_factory"),". This is called once\nglobally then used on demand:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl_example(ctx):\n actions = ctx.bxl_actions().actions # call once, reuse wherever needed\n output = actions.write("my_output", "out")\n')),(0,r.mdx)("p",null,"You will need to have\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/rule_authors/configurations#execution-platforms"},"execution platforms"),"\nenabled for your project, or else you will get an error. You can specify the\nexecution platform resolution by setting named parameters when instantiating\n",(0,r.mdx)("inlineCode",{parentName:"p"},"bxl_actions"),":"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"exec_deps")," - These are dependencies you wish to access as executables for\ncreating the action. This is usually the same set of targets one would pass to\nrule's ",(0,r.mdx)("inlineCode",{parentName:"li"},"attr.exec_dep"),". Accepts a list of strings, subtarget labels, target\nlabels, or target nodes."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"toolchains")," - The set of toolchains needed for the actions you intend to\ncreate. Accepts a list of strings, subtarget labels, target labels, or target\nnodes."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"target_platform")," - The intended target platform for your toolchains. Accepts\na string or target label."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with")," - Explicit list of configuration nodes (like platforms\nor constraints) that these actions are compatible with. This is the\n",(0,r.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with")," attribute of a target. Accepts a list of strings,\ntarget labels, or target nodes.")),(0,r.mdx)("p",null,"If you specify ",(0,r.mdx)("inlineCode",{parentName:"p"},"exec_deps")," or ",(0,r.mdx)("inlineCode",{parentName:"p"},"toolchains"),", you can access the resolved\n",(0,r.mdx)("inlineCode",{parentName:"p"},"dependency")," objects on the ",(0,r.mdx)("inlineCode",{parentName:"p"},"bxl_actions")," object. The ",(0,r.mdx)("inlineCode",{parentName:"p"},"bxl_actions")," object will\nhave ",(0,r.mdx)("inlineCode",{parentName:"p"},"exec_deps")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"toolchains")," attributes, which are ",(0,r.mdx)("inlineCode",{parentName:"p"},"dict"),"s where the keys\nare the unconfigured subtarget labels, and the values are the\nconfigured/resolved ",(0,r.mdx)("inlineCode",{parentName:"p"},"dependency")," objects."),(0,r.mdx)("p",null,"Note that the keys of ",(0,r.mdx)("inlineCode",{parentName:"p"},"exec_deps")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"toolchains")," must be unconfigured\nsubtarget labels (",(0,r.mdx)("inlineCode",{parentName:"p"},"StarlarkProvidersLabel"),"), and not unconfigured target labels.\nYou can use ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.unconfigured_sub_targets(...)")," or ",(0,r.mdx)("inlineCode",{parentName:"p"},"with_sub_target()")," on\n",(0,r.mdx)("inlineCode",{parentName:"p"},"target_label")," to create the label."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl_example(ctx):\n my_exec_dep = ctx.unconfigured_sub_targets("foo//bar:baz") # has some provider that you would use in the action\n bxl_actions = ctx.bxl_actions(exec_deps = [my_exec_dep]) # call once, reuse wherever needed\n output = bxl_actions.actions.run(\n [\n "python3",\n bxl_actions.exec_deps[my_exec_dep][RunInfo], # access resolved exec_deps on the `bxl_actions`\n out.as_output(),\n ],\n category = "command",\n local_only = True,\n )\n ctx.output.ensure(output)\n')),(0,r.mdx)("h2",{id:"getting-providers-from-an-analysis"},"Getting providers from an analysis"),(0,r.mdx)("p",null,"After calling ",(0,r.mdx)("inlineCode",{parentName:"p"},"analysis()"),", you can get the providers collection from\n",(0,r.mdx)("inlineCode",{parentName:"p"},"providers()"),":"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def _impl_example(ctx):\n my_providers = ctx.analysis(my_target).providers()\n")),(0,r.mdx)("h2",{id:"get-a-specific-provider-from-an-analysis"},"Get a specific provider from an analysis"),(0,r.mdx)("p",null,"After calling ",(0,r.mdx)("inlineCode",{parentName:"p"},"analysis()"),", you can also get the providers collection from\n",(0,r.mdx)("inlineCode",{parentName:"p"},"providers()")," then grab whatever specific provider you need:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def _impl_example(ctx):\n default_info = ctx.analysis(my_target).providers()[DefaultInfo]\n ctx.output.print(default_info)\n")),(0,r.mdx)("h2",{id:"get-a-specific-subtarget-from-an-analysis"},"Get a specific subtarget from an analysis"),(0,r.mdx)("p",null,"Once you have a provider, you can get its subtargets by using the ",(0,r.mdx)("inlineCode",{parentName:"p"},"sub_targets"),"\nattribute on the struct to get a dict of provider labels to provider\ncollections:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl_example(ctx):\n subtarget = ctx.analysis(my_target).providers()[DefaultInfo].sub_targets["my_subtarget"]\n ctx.output.print(subtarget)\n')),(0,r.mdx)("h2",{id:"building-a-targetsubtarget-without-blocking"},"Building a target/subtarget without blocking"),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.build")," is synchronous and should only be used when the result of the build\nis needed inline during the bxl execution. To execute builds without blocking\nthe script, retrieve the ",(0,r.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," from the target's providers and use the\n",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.output.ensure_multiple")," api."),(0,r.mdx)("p",null,"Example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"ctx.output.ensure_multiple(ctx.analysis(label).providers()[DefaultInfo])\n")),(0,r.mdx)("h2",{id:"getting-attributes-or-resolved-attributes-efficiently-on-a-configured-target-node"},"Getting attributes or resolved attributes efficiently on a configured target node"),(0,r.mdx)("p",null,"If you need to use all of the attrs/resolved_attrs, then initializing the eager\nvariant once would be best. If you only need a few of the attrs, then\ninitializing the lazy variant is better. There\u2019s not really a hard line, it\ndepends on the target node, and which attrs you are looking for. If performance\nis key to your BXL script, the best way to determine this is to use the BXL\nprofiler."),(0,r.mdx)("p",null,"Regardless, if you use eager or lazy versions of getting attributes, you should\ncache the attrs object:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl_example(ctx):\n my_configured_node = ctx.configured_targets(":foo")\n\n # call once and resue, ideally when you need most/all attrs\n eager = my_configured_node.attrs_eager()\n\n # call once and reuse, ideally when you only need a few attrs\n lazy = my_configured_node.attrs_lazy()\n\n # call once and reuse, ideally when you need most/all resolved attrs\n resolved_eager = my_configured_node.resolved_attrs_eager(ctx)\n\n # call once and reuse, ideally when you only need a few resolved attrs\n resolved_lazy = my_configured_node.resolved_attrs_lazy(ctx)\n')),(0,r.mdx)("h2",{id:"inspecting-a-struct"},"Inspecting a struct"),(0,r.mdx)("p",null,"You can use ",(0,r.mdx)("inlineCode",{parentName:"p"},"dir(my_struct)")," to inspect a struct. You can also use\n",(0,r.mdx)("inlineCode",{parentName:"p"},'getattr(my_struct, "my_attr")')," to grab individual attributes, which is\nequivalent to ",(0,r.mdx)("inlineCode",{parentName:"p"},"my_struct.my_attr"),"."),(0,r.mdx)("p",null,"These are available as part of the\n",(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dir"},"Starlark language spec"),"."),(0,r.mdx)("h2",{id:"set-additionsubtraction-on-a-target_set"},"Set addition/subtraction on a ",(0,r.mdx)("inlineCode",{parentName:"h2"},"target_set")),(0,r.mdx)("p",null,"There are a few BXL actions that return a ",(0,r.mdx)("inlineCode",{parentName:"p"},"target_set")," (such as a cquery\n",(0,r.mdx)("inlineCode",{parentName:"p"},"eval()"),"). The ",(0,r.mdx)("inlineCode",{parentName:"p"},"target_set")," supports set subtraction and addition (you can use\n",(0,r.mdx)("inlineCode",{parentName:"p"},"-")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"+")," directly in Starlark)."),(0,r.mdx)("h2",{id:"initializing-configuredunconfigured-target_set"},"Initializing configured/unconfigured ",(0,r.mdx)("inlineCode",{parentName:"h2"},"target_set")),(0,r.mdx)("p",null,"You can use following apis to initialize ",(0,r.mdx)("inlineCode",{parentName:"p"},"target_set")),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.utarget_set(nodes: None | list[bxl.UnconfiguredTargetNode]) -> bxl.UnconfiguredTargetSet\n")),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.ctarget_set(nodes: None | list[bxl.ConfiguredTargetNode]) -> bxl.ConfiguredTargetSet\n")),(0,r.mdx)("h2",{id:"profiling-testing-and-debugging-a-bxl-script"},"Profiling, Testing, and Debugging a BXL script"),(0,r.mdx)("p",null,"You can use ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 bxl profiler"),", with various measurements, to determine where\nthe script is least efficient."),(0,r.mdx)("p",null,"To time individual pieces of the script, you can use BXL\u2019s timestamp methods:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def _impl_example(_ctx):\n start = now() # call once and reuse wherever is necessary\n # do something time intensive here\n end1 = start.elapsed_millis()\n # do something else time intensive here\n end2 = start.elapsed_millis()\n")),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Debug")," - the common way to debug a BXL script is with print statements\n(",(0,r.mdx)("inlineCode",{parentName:"li"},"print()"),", ",(0,r.mdx)("inlineCode",{parentName:"li"},"pprint()")," and ",(0,r.mdx)("inlineCode",{parentName:"li"},"ctx.output.print()"),").")),(0,r.mdx)(p,{mdxType:"FbInternalOnly"},(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("p",{parentName:"li"},(0,r.mdx)("strong",{parentName:"p"},"Debugger")," - to use the debugger you can follow these instructions\n",(0,r.mdx)("a",{parentName:"p",href:"https://fb.workplace.com/groups/buck2eng/permalink/3562907607330619/"},"here"),"."),(0,r.mdx)("pre",{parentName:"li"},(0,r.mdx)("code",{parentName:"pre"},"1. `fdb --starlark-kill-buck attach buck`\n2. place a breakpoint to the bxl file\n3. run the buck2 bxl command\n"))))),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Test")," - BXL does not have a robust testing framework for mocking. The main\nmethod to test a BXL script is to actually invoke it with required inputs then\nverify the outputs.")),(0,r.mdx)("h2",{id:"getting-the-path-of-an-artifact-as-a-string"},"Getting the path of an artifact as a string"),(0,r.mdx)("p",null,"The starlark ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact")," type encapsulates source artifacts, declared artifacts,\nand build artifacts. It can be dangerous to access paths and use them in further\nBXL computations. For example, if you are trying to use absolute paths for\nsomething and end up passing it into a remotely executed action, the absolute\npath may not exist on the remote machine. Or, if you are working with paths and\nexpecting the artifact to already have been materialized in further BXL\ncomputations, that would also result in errors."),(0,r.mdx)("p",null,"However, if you are not making any assumptions about the existence of these\nartifacts, you can use use\n",(0,r.mdx)("a",{parentName:"p",href:"../../api/bxl/globals#get_path_without_materialization"},(0,r.mdx)("inlineCode",{parentName:"a"},"get_path_without_materialization()")),",\nwhich accepts source, declared, or build aritfacts. It does ",(0,r.mdx)("em",{parentName:"p"},"not")," accept ensured\nartifacts (also see\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/developers/bxl_faqs#what-do-i-need-to-know-about-ensured-artifacts"},"What do I need to know about ensured artifacts"),")."),(0,r.mdx)("p",null,"For getting paths of ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args()")," inputs, you can use\n",(0,r.mdx)("a",{parentName:"p",href:"../../api/bxl/globals#get_paths_without_materialization"},(0,r.mdx)("inlineCode",{parentName:"a"},"get_paths_without_materialization()")),",\nbut note this is risky because the inputs could contain tsets, which, when\nexpanded, could be very large. Use these methods at your own risk."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/614ae508.130c300f.js b/assets/js/614ae508.130c300f.js new file mode 100644 index 0000000000000..31f7da645c4eb --- /dev/null +++ b/assets/js/614ae508.130c300f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5394],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>l,MDXProvider:()=>m,mdx:()=>y,useMDXComponents:()=>u,withMDXComponents:()=>c});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){return function(t){var n=u(t.components);return r.createElement(e,o({},t,{components:n}))}},u=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},m=function(e){var t=u(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),c=u(n),m=a,d=c["".concat(s,".").concat(m)]||c[m]||g[m]||o;return n?r.createElement(d,i(i({ref:t},l),{},{components:n})):r.createElement(d,i({ref:t},l))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,s=new Array(o);s[0]=f;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[d]="string"==typeof e?e:a,s[1]=i;for(var l=2;l<o;l++)s[l]=n[l];return r.createElement.apply(null,s)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},89314:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var r=n(87462),a=(n(67294),n(3905));const o={id:"anon_targets"},s="anon_targets type",i={unversionedId:"api/bxl/anon_targets",id:"api/bxl/anon_targets",title:"anon_targets type",description:"Accessors to the all the anon targets created, as well as the joined promise of these targets.",source:"@site/../docs/api/bxl/anon_targets.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/anon_targets",permalink:"/docs/api/bxl/anon_targets",draft:!1,tags:[],version:"current",frontMatter:{id:"anon_targets"},sidebar:"apiSidebar",previous:{title:"anon_target type",permalink:"/docs/api/bxl/anon_target"},next:{title:"artifact type",permalink:"/docs/api/bxl/artifact"}},p={},l=[{value:"anon_targets.anon_targets",id:"anon_targetsanon_targets",level:2},{value:"anon_targets.promise",id:"anon_targetspromise",level:2}],c={toc:l};function u(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"anon_targets-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"anon_targets")," type"),(0,a.mdx)("p",null,"Accessors to the all the anon targets created, as well as the joined promise of these targets."),(0,a.mdx)("h2",{id:"anon_targetsanon_targets"},"anon","_","targets.anon","_","targets"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"anon_targets.anon_targets: typing.Any\n")),(0,a.mdx)("p",null,"Returns a list of ",(0,a.mdx)("inlineCode",{parentName:"p"},"StarlarkAnonTarget"),"s."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"anon_targetspromise"},"anon","_","targets.promise"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"anon_targets.promise: promise\n")),(0,a.mdx)("p",null,"Returns the promise that maps to the result of the joined anon rules."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/61d19613.2f000ee1.js b/assets/js/61d19613.2f000ee1.js new file mode 100644 index 0000000000000..7177b50b5980d --- /dev/null +++ b/assets/js/61d19613.2f000ee1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9813],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>f,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>u});var o=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},a.apply(this,arguments)}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,o,i=function(e,n){if(null==e)return{};var t,o,i={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=o.createContext({}),u=function(e){return function(n){var t=d(n.components);return o.createElement(e,a({},n,{components:t}))}},d=function(e){var n=o.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},f=function(e){var n=d(e.components);return o.createElement(c.Provider,{value:n},e.children)},h="mdxType",p={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},m=o.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,r=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=d(t),f=i,h=u["".concat(r,".").concat(f)]||u[f]||p[f]||a;return t?o.createElement(h,s(s({ref:n},c),{},{components:t})):o.createElement(h,s({ref:n},c))}));function b(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,r=new Array(a);r[0]=m;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[h]="string"==typeof e?e:i,r[1]=s;for(var c=2;c<a;c++)r[c]=t[c];return o.createElement.apply(null,r)}return o.createElement.apply(null,t)}m.displayName="MDXCreateElement"},62156:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var o=t(87462),i=(t(67294),t(3905));const a={id:"bxl",title:"bxl"},r=void 0,s={unversionedId:"users/commands/bxl",id:"users/commands/bxl",title:"bxl",description:"These are the flags/commands under buck2 bxl and their --help output:",source:"@site/../docs/users/commands/bxl.generated.md",sourceDirName:"users/commands",slug:"/users/commands/bxl",permalink:"/docs/users/commands/bxl",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl",title:"bxl"},sidebar:"mainSidebar",previous:{title:"build",permalink:"/docs/users/commands/build"},next:{title:"clean",permalink:"/docs/users/commands/clean"}},l={},c=[{value:"buck bxl",id:"buck-bxl",level:2}],u={toc:c};function d(e){let{components:n,...t}=e;return(0,i.mdx)("wrapper",(0,o.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)("p",null,"These are the flags/commands under ",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 bxl")," and their ",(0,i.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,i.mdx)("h2",{id:"buck-bxl"},"buck bxl"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-text"},"Run BXL scripts\n\nUsage: buck2-release bxl [OPTIONS] <BXL label> [-- <BXL INPUT ARGS>...]\n\nArguments:\n <BXL label>\n The bxl function to execute as defined by the label of form\n `<cell>//path/file.bxl:<function>`\n\n [BXL INPUT ARGS]...\n Arguments passed to the bxl script\n\nOptions:\n -M, --materializations <MATERIALIZATIONS>\n Materialize (or skip) the final artifacts, bypassing buckconfig.\n \n [possible values: all, none]\n\n --user-event-log <PATH>\n Write user events to this log file. Both user and internal events are written to main\n event log. If this flag is specified, user events are additionally written to user event\n log. Log format is JSONL, uncompressed if no known extensions are detected, or you can\n explicitly specify the compression via the file extension (ex: `.json-lines.gz` would be\n gzip compressed, `.json-lines.zst` would be zstd compressed). Resulting log is is\n compatible with `buck2 log show-user`\n\n --build-report <PATH>\n Print a build report\n \n `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will\n write the build report to the file\n\n --enable-optional-validations <VALIDATION_NAMES>\n Comma separated list of validation names to run that are marked optional.\n \n By default, validations marked as optional are skipped. This option overrides the\n behaviour and executes those validations.\n\n --build-report-options <BUILD_REPORT_OPTIONS>\n Comma separated list of build report options.\n \n The following options are supported:\n \n `fill-out-failures`: fill out failures the same way Buck1 would.\n \n `package-project-relative-paths`: emit the project-relative path of packages for the\n targets that were built.\n\n -j, --num-threads <THREADS>\n Number of threads to use during execution (default is # cores)\n\n --local-only\n Enable only local execution. Will reject actions that cannot execute locally\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --remote-only\n Enable only remote execution. Will reject actions that cannot execute remotely\n\n --prefer-local\n Enable hybrid execution. Will prefer executing actions that can execute locally on the\n local host\n\n --prefer-remote\n Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and\n will avoid racing local and remote execution\n\n --unstable-no-execution\n Experimental: Disable all execution\n\n --no-remote-cache\n Do not perform remote cache queries or cache writes. If remote execution is enabled, the\n RE service might still deduplicate actions, so for e.g. benchmarking, using a random\n isolation dir is preferred\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --write-to-cache-anyway\n Could be used to enable the action cache writes on the RE worker when no_remote_cache is\n specified\n\n --eager-dep-files\n Process dep files when they are generated (i.e. after running a command that produces dep\n files), rather than when they are used (i.e. before re-running a command that previously\n produced dep files). Use this when debugging commands that produce dep files. Note that\n commands that previously produced dep files will not re-run: only dep files produced\n during this command will be eagerly loaded\n\n --upload-all-actions\n Uploads every action to the RE service, regardless of whether the action needs to execute\n on RE.\n \n This is useful when debugging builds and trying to inspect actions which executed\n remotely. It's possible that the action result is cached but the action itself has\n expired. In this case, downloading the action itself would fail. Enabling this option\n would unconditionally upload all actions, thus you will not hit any expiration issues.\n\n --fail-fast\n If Buck hits an error, do as little work as possible before exiting.\n \n To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The\n default behavior of buck is to do enough work to get a result for the builds of each of\n `:foo` and `:bar`, and no more. This means that buck will continue to complete the build\n of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has\n failed, other dependencies will be cancelled unless they are needed by `:bar`.\n \n This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has\n failed. Generally, this flag only has an effect on builds that specify multiple targets.\n \n `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency\n of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if\n possible.\n\n --keep-going\n If Buck hits an error, continue doing as much work as possible before exiting.\n \n See `--fail-fast` for more details.\n\n --skip-missing-targets\n If target is missing, then skip building instead of throwing error\n\n --skip-incompatible-targets\n If target is incompatible with the specified configuration, skip building instead of\n throwing error. This does not apply to targets specified with glob patterns `/...` or `:`\n which are skipped unconditionally\n\n --materialize-failed-inputs\n Materializes inputs for failed actions which ran on RE\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/637357b7.592372ec.js b/assets/js/637357b7.592372ec.js new file mode 100644 index 0000000000000..e1b0587b23c34 --- /dev/null +++ b/assets/js/637357b7.592372ec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[338],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>d,mdx:()=>h,useMDXComponents:()=>m,withMDXComponents:()=>u});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var c=r.createContext({}),u=function(e){return function(n){var t=m(n.components);return r.createElement(e,a({},n,{components:t}))}},m=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},d=function(e){var n=m(e.components);return r.createElement(c.Provider,{value:n},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},b=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=m(t),d=o,p=u["".concat(l,".").concat(d)]||u[d]||f[d]||a;return t?r.createElement(p,i(i({ref:n},c),{},{components:t})):r.createElement(p,i({ref:n},c))}));function h(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,l=new Array(a);l[0]=b;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i[p]="string"==typeof e?e:o,l[1]=i;for(var c=2;c<a;c++)l[c]=t[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}b.displayName="MDXCreateElement"},50849:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var r=t(87462),o=(t(67294),t(3905));const a={id:"kill",title:"kill"},l=void 0,i={unversionedId:"users/commands/kill",id:"users/commands/kill",title:"kill",description:"These are the flags/commands under buck2 kill and their --help output:",source:"@site/../docs/users/commands/kill.generated.md",sourceDirName:"users/commands",slug:"/users/commands/kill",permalink:"/docs/users/commands/kill",draft:!1,tags:[],version:"current",frontMatter:{id:"kill",title:"kill"},sidebar:"mainSidebar",previous:{title:"install",permalink:"/docs/users/commands/install"},next:{title:"killall",permalink:"/docs/users/commands/killall"}},s={},c=[{value:"buck kill",id:"buck-kill",level:2}],u={toc:c};function m(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"These are the flags/commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 kill")," and their ",(0,o.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,o.mdx)("h2",{id:"buck-kill"},"buck kill"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Kill the buck daemon.\n\nNote there's also `buck2 killall` and `buck2 clean`.\n\n`buck2 killall` kills all the buck2 processes on the machine.\n\n`buck2 clean` kills the buck2 daemon and also deletes the buck2 state files.\n\nUsage: buck2-release kill [OPTIONS]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6689f2eb.b4f33c3d.js b/assets/js/6689f2eb.b4f33c3d.js new file mode 100644 index 0000000000000..ef28dbb4ac480 --- /dev/null +++ b/assets/js/6689f2eb.b4f33c3d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6853],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>u,MDXProvider:()=>d,mdx:()=>h,useMDXComponents:()=>p,withMDXComponents:()=>c});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},i.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var u=a.createContext({}),c=function(e){return function(t){var n=p(t.components);return a.createElement(e,i({},t,{components:n}))}},p=function(e){var t=a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=p(e.components);return a.createElement(u.Provider,{value:t},e.children)},m="mdxType",y={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),c=p(n),d=r,m=c["".concat(o,".").concat(d)]||c[d]||y[d]||i;return n?a.createElement(m,l(l({ref:t},u),{},{components:n})):a.createElement(m,l({ref:t},u))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=f;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[m]="string"==typeof e?e:r,o[1]=l;for(var u=2;u<i;u++)o[u]=n[u];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}f.displayName="MDXCreateElement"},38973:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var a=n(87462),r=(n(67294),n(3905));const i={id:"dynamic_output",title:"BXL and Dynamic Outputs"},o=void 0,l={unversionedId:"developers/dynamic_output",id:"developers/dynamic_output",title:"BXL and Dynamic Outputs",description:"Dynamic output",source:"@site/../docs/developers/bxl_dynamic_output.md",sourceDirName:"developers",slug:"/developers/dynamic_output",permalink:"/docs/developers/dynamic_output",draft:!1,tags:[],version:"current",frontMatter:{id:"dynamic_output",title:"BXL and Dynamic Outputs"},sidebar:"mainSidebar",previous:{title:"BXL and Anonymous Targets",permalink:"/docs/developers/anon_targets"},next:{title:"FAQs",permalink:"/docs/developers/bxl_faqs"}},s={},u=[{value:"Dynamic output",id:"dynamic-output",level:2},{value:"Limitations",id:"limitations",level:3},{value:"Silly example",id:"silly-example",level:3}],c={toc:u};function p(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h2",{id:"dynamic-output"},"Dynamic output"),(0,r.mdx)("p",null,"When declaring ",(0,r.mdx)("a",{parentName:"p",href:"/docs/rule_authors/dynamic_dependencies"},"dynamic outputs")," within\na BXL script, the dynamic lambda for is created with a ",(0,r.mdx)("inlineCode",{parentName:"p"},"bxl_ctx"),", which means\nthat you can do things like run analysis or queries to inspect the build graph\nfrom within the dynamic lambda."),(0,r.mdx)("p",null,"You may declare multiple dynamic outputs within a single BXL script, or declare\nnested dynamic outputs. Dynamic outputs are run asynchronously after the BXL\nevaluation."),(0,r.mdx)("h3",{id:"limitations"},"Limitations"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"ctx.output")," is not available from a dynamic lambda. This means you can\u2019t\nensure artifacts or print cached outputs within a dynamic lambda."),(0,r.mdx)("li",{parentName:"ul"},"Error messages from skipping incompatible targets are only emitted to the\nconsole, and not cached in the stderr"),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"build()")," is not available from a dynamic lambda"),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"bxl_actions")," in a dynamic lambda always inherits the execution platform\nresolution of the root/parent BXL.",(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},"The expected usage of ",(0,r.mdx)("inlineCode",{parentName:"li"},"bxl_actions")," from within a dynamic lambda is to\ninstantiate it without any named parameters, but the ",(0,r.mdx)("inlineCode",{parentName:"li"},"exec_deps")," and\n",(0,r.mdx)("inlineCode",{parentName:"li"},"toolchains")," of the execution platform resolution are accessible, and return\nthe same values as the root/parent BXL"))),(0,r.mdx)("li",{parentName:"ul"},"Profiling is not hooked up to dynamic BXL context")),(0,r.mdx)("h3",{id:"silly-example"},"Silly example"),(0,r.mdx)("p",null,"This is a silly example of creating a dynamic output which reads some\n",(0,r.mdx)("inlineCode",{parentName:"p"},"query_params")," input, calls some BXL functions like ",(0,r.mdx)("inlineCode",{parentName:"p"},"uquery"),",\n",(0,r.mdx)("inlineCode",{parentName:"p"},"configured_targets")," to get the resolved attributes of a target node, and then\nwrites the attributes to an output file."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl_dynamic_output(ctx):\n actions = ctx.bxl_actions().actions\n\n # Declare some input here to read within the lambda\n query_params = actions.write_json("query_params", {"rule_type": "apple_bundle", "universe": "fbcode//buck2/tests/..."})\n\n # Dynamic lambda\'s output artifact\n resolved_attrs = actions.declare_output("resolved_attrs")\n\n # Dynamic lambda function to be used in the dynamic_output\n def my_deferred(ctx, artifacts, outputs):\n\n # Read the input, then do some BXL things here\n\n params = artifacts[query_params].read_json()\n target = ctx.uquery().kind(params["rule_type"], params["universe"])[0]\n node = ctx.configured_targets(target.label)\n eager_attrs = node.resolved_attrs_eager(ctx)\n\n # Dynamic BXL context\'s `bxl_actions` does not take in named parameters because it inherits the exec platform resolution from the root/parent BXL. If the root BXL\'s `bxl_actions` were created with exec deps/toolchains, you can access them using `exec_deps` and `toolchains` attributes here\n\n ctx.bxl_actions().actions.write(outputs[resolved_attrs], str(eager_attrs))\n\n actions.dynamic_output(\n dynamic = [query_params],\n inputs = [],\n outputs = [\n resolved_attrs,\n ],\n f = my_deferred,\n )\n\n ctx.output.print(ctx.output.ensure(resolved_attrs).abs_path())\n\ndynamic_output_example = bxl_main(\n impl = _impl_dynamic_output,\n cli_args = {\n },\n)\n')))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/66b456ad.0fc993af.js b/assets/js/66b456ad.0fc993af.js new file mode 100644 index 0000000000000..7a17406e3166e --- /dev/null +++ b/assets/js/66b456ad.0fc993af.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[513],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>m,MDXProvider:()=>c,mdx:()=>g,useMDXComponents:()=>d,withMDXComponents:()=>u});var o=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},a.apply(this,arguments)}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,o,i=function(e,n){if(null==e)return{};var t,o,i={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var m=o.createContext({}),u=function(e){return function(n){var t=d(n.components);return o.createElement(e,a({},n,{components:t}))}},d=function(e){var n=o.useContext(m),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},c=function(e){var n=d(e.components);return o.createElement(m.Provider,{value:n},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},v=o.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,r=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),u=d(t),c=i,p=u["".concat(r,".").concat(c)]||u[c]||h[c]||a;return t?o.createElement(p,l(l({ref:n},m),{},{components:t})):o.createElement(p,l({ref:n},m))}));function g(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,r=new Array(a);r[0]=v;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[p]="string"==typeof e?e:i,r[1]=l;for(var m=2;m<a;m++)r[m]=t[m];return o.createElement.apply(null,r)}return o.createElement.apply(null,t)}v.displayName="MDXCreateElement"},70140:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>m});var o=t(87462),i=(t(67294),t(3905));const a={id:"bxl_telemetry",title:"BXL Telemetry"},r=void 0,l={unversionedId:"developers/bxl_telemetry",id:"developers/bxl_telemetry",title:"BXL Telemetry",description:"Telemetry",source:"@site/../docs/developers/bxl_telemetry.md",sourceDirName:"developers",slug:"/developers/bxl_telemetry",permalink:"/docs/developers/bxl_telemetry",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl_telemetry",title:"BXL Telemetry"},sidebar:"mainSidebar",previous:{title:"Target Universe in BXL",permalink:"/docs/developers/target_universe"},next:{title:"BXL and Anonymous Targets",permalink:"/docs/developers/anon_targets"}},s={},m=[{value:"Telemetry",id:"telemetry",level:2},{value:"Emitting events from your BXL script",id:"emitting-events-from-your-bxl-script",level:3},{value:"User event log",id:"user-event-log",level:3},{value:"Getting a user event log from a normal event log",id:"getting-a-user-event-log-from-a-normal-event-log",level:3},{value:"Event log output",id:"event-log-output",level:3}],u={toc:m};function d(e){let{components:n,...t}=e;return(0,i.mdx)("wrapper",(0,o.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)("h2",{id:"telemetry"},"Telemetry"),(0,i.mdx)("h3",{id:"emitting-events-from-your-bxl-script"},"Emitting events from your BXL script"),(0,i.mdx)("p",null,"In BXL, you can emit custom events via ",(0,i.mdx)("inlineCode",{parentName:"p"},"ctx.instant_event()"),", which takes in two\nnamed parameters:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"id"),": string, identifies your event. Helpful to identify your event when\nlooking through event logs. Ids do not have to be unique in a single BXL\nscript."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"metadata"),": dict, where keys are strings, and values are strings, bools, ints,\nor lists/dicts of the mentioned types. You can put any metadata you wish here.")),(0,i.mdx)("p",null,"Example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl(ctx):\n ctx.instant_event(id = "id1", metadata = {"foo": "bar"})\n\nmy_script = bxl_main(\n impl = _impl,\n cli_args = {},\n)\n')),(0,i.mdx)("p",null,"Only instant events can be manually created within BXL at this time, which means\nthat the event represents a single point in time. If you need something similar\nto spans (start and end events which encompass a range of time) for measuring\nthe duration of a particular section (excluding actions - see below for more\ninformation), you could couple instant events with the global ",(0,i.mdx)("inlineCode",{parentName:"p"},"now()")," function\nto measure the duration yourself:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl(ctx):\n instant = now()\n\n # do something time intensive\n end = instant.elapsed_millis()\n ctx.instant_event(id = "id1", metadata = {"duration": end})\n\n # do something else time intensive\n end = instant.elapsed_millis()\n ctx.instant_event(id = "id2", metadata = {"duration": end})\n\nmy_script = bxl_main(\n impl = _impl,\n cli_args = {},\n)\n')),(0,i.mdx)("p",null,(0,i.mdx)("strong",{parentName:"p"},"Measuring time for actions and ensuring artifacts")),(0,i.mdx)("p",null,"You cannot use ",(0,i.mdx)("inlineCode",{parentName:"p"},"now()")," to measure the time it takes to run actions and ensure\nartifacts because these processes occur asynchronously outside of the BXL script\nexecution. For BXL user telemetry, we emit action events via the buck2 core\nautomatically. Events around ensuring the artifacts are not emitted currently,\nbut will be added soon."),(0,i.mdx)("h3",{id:"user-event-log"},"User event log"),(0,i.mdx)("p",null,"To write to your own event log when running BXL, you can run your BXL command\nwith the ",(0,i.mdx)("inlineCode",{parentName:"p"},"--user-event-log")," flag to tell buck2 where to write the events to.\nBuck2 is aware of the following file extensions: ",(0,i.mdx)("inlineCode",{parentName:"p"},".json-lines"),",\n",(0,i.mdx)("inlineCode",{parentName:"p"},"json-lines.zst"),", ",(0,i.mdx)("inlineCode",{parentName:"p"},".json-lines.gz"),", and will compress the files automatically\nfor you depending on the extension. If the extension is not one of these, the\nlogs will always be written in JSONL format, uncompressed."),(0,i.mdx)("p",null,"Example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},"buck2 bxl path//to/my_script/script.bxl:my_script --user-event-log my_file.json-lines.gz\n")),(0,i.mdx)("p",null,"When using this flag to write to a custom event log, it is up to you to clean up\nthese log files. In addition, if the same filename is used with subsequent BXL\ninvocations, events are always appended to the existing file contents, which is\nthe same behavior as ",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 <any command> --event-log <path>"),". If you tell buck2\nto write to a compressed file, you are responsible for decompressing them."),(0,i.mdx)("h3",{id:"getting-a-user-event-log-from-a-normal-event-log"},"Getting a user event log from a normal event log"),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 log show-user")," can be used to convert a normal event log (regardless of\nencoding/compression) to a user event. Similar to ",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 log show"),", you can\nchoose the most recent invocation, or the nth invocation, or provide a path to\nthe normal user event log. Note that user event logs are not able to be passed\ninto ",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 log show")," or ",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 log show-user"),"."),(0,i.mdx)("h3",{id:"event-log-output"},"Event log output"),(0,i.mdx)("p",null,"The first line of your event log will always be the invocation record, which\ncontains useful things like command line args used, working directory, etc. The\nsubsequent lines are either instant events and/or action events, depending on\nyour BXL script's contents."),(0,i.mdx)("p",null,(0,i.mdx)("strong",{parentName:"p"},"Instant event")),(0,i.mdx)("p",null,"Sample:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'{\n "StarlarkUserEvent": {\n "id": "foo",\n "metadata": {\n "bool_value": true,\n "string_value": "str",\n "int_value": 123,\n "list_value": [\n "a",\n "b",\n "c"\n ],\n "dict_value": {\n "foo": "bar"\n }\n },\n },\n "epoch_millis": 123456789 # when the event was emitted\n}\n')),(0,i.mdx)("p",null,(0,i.mdx)("strong",{parentName:"p"},"Action event")),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'{\n "ActionExecutionEvent": {\n "kind": "Write", # kind of action, like write or run\n "name": { # name of the action, for user display. Unique within the execution of a particular target\n "category": "write", # category for the action\n "identifier": "my_output" # identifier for the action\n },\n "duration_millis": 0, # duration of the action in millis, excluding input materialization time\n "output_size": 10, # size in bytes of the action\'s outputs\n "input_materialization_duration_millis": 0, # how long it took to materialize any inputs to the action\n "execution_kind": "Simple", # how the action was executed\n "owner": "cell//path/to/script.bxl:function_name" # owner of the action execution (target label, anon target label, bxl label)\n },\n "epoch_millis": 123456789 # when the event was emitted\n}\n')),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"execution_kind")," includes:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},"Local: action was executed locally"),(0,i.mdx)("li",{parentName:"ul"},"Remote: action was executed via a remote executor"),(0,i.mdx)("li",{parentName:"ul"},"ActionCache: action was served by the action cache and not executed"),(0,i.mdx)("li",{parentName:"ul"},"Simple: action is simple and executed inline within buck2 (ex: write,\nsymlink_dir)"),(0,i.mdx)("li",{parentName:"ul"},"Skipped: action was not executed at all"),(0,i.mdx)("li",{parentName:"ul"},"Deferred: action logically executed, but didn't do all the work"),(0,i.mdx)("li",{parentName:"ul"},"LocalDepFile: action was served by the local dep file cache and not executed."),(0,i.mdx)("li",{parentName:"ul"},"LocalWorker: action was executed via a local worker"),(0,i.mdx)("li",{parentName:"ul"},"NotSet: action execution kind was not set")),(0,i.mdx)("p",null,(0,i.mdx)("strong",{parentName:"p"},"Ensure artifact event")),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'{\n "BxlEnsureArtifactsEvent": {\n "duration_millis": 0, # duration of ensuring the artifact\n },\n "epoch_millis": 123456789 # when the event was emitted\n}\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/67054b0e.35fd3b59.js b/assets/js/67054b0e.35fd3b59.js new file mode 100644 index 0000000000000..8c81bc0823e8a --- /dev/null +++ b/assets/js/67054b0e.35fd3b59.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6849],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>s,mdx:()=>y,useMDXComponents:()=>d,withMDXComponents:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),u=function(e){return function(t){var n=d(t.components);return r.createElement(e,o({},t,{components:n}))}},d=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},m="mdxType",x={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=d(n),s=a,m=u["".concat(l,".").concat(s)]||u[s]||x[s]||o;return n?r.createElement(m,i(i({ref:t},c),{},{components:n})):r.createElement(m,i({ref:t},c))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=f;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[m]="string"==typeof e?e:a,l[1]=i;for(var c=2;c<o;c++)l[c]=n[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},62203:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const o={id:"context"},l="context type",i={unversionedId:"api/build/context",id:"api/build/context",title:"context type",description:"The type used for defining rules, usually bound as ctx. Usually the sole argument to the impl argument of the rule function.",source:"@site/../docs/api/build/context.generated.md",sourceDirName:"api/build",slug:"/api/build/context",permalink:"/docs/api/build/context",draft:!1,tags:[],version:"current",frontMatter:{id:"context"},sidebar:"apiSidebar",previous:{title:"configured_target_label type",permalink:"/docs/api/build/configured_target_label"},next:{title:"dependency type",permalink:"/docs/api/build/dependency"}},p={},c=[{value:"context.actions",id:"contextactions",level:2},{value:"context.attrs",id:"contextattrs",level:2},{value:"context.label",id:"contextlabel",level:2},{value:"context.plugins",id:"contextplugins",level:2}],u={toc:c};function d(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"context-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"context")," type"),(0,a.mdx)("p",null,"The type used for defining rules, usually bound as ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx"),". Usually the sole argument to the ",(0,a.mdx)("inlineCode",{parentName:"p"},"impl")," argument of the ",(0,a.mdx)("inlineCode",{parentName:"p"},"rule")," function."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl_my_rule(ctx: AnalysisContext) -> ["provider"]:\n return [DefaultInfo()]\nmy_rule = rule(impl = _impl_my_rule, attrs = {})\n')),(0,a.mdx)("h2",{id:"contextactions"},"context.actions"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"context.actions: actions\n")),(0,a.mdx)("p",null,"Returns an ",(0,a.mdx)("inlineCode",{parentName:"p"},"actions")," value containing functions to define actual actions that are run. See the ",(0,a.mdx)("inlineCode",{parentName:"p"},"actions")," type for the operations that are available."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"contextattrs"},"context.attrs"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"context.attrs: struct(..)\n")),(0,a.mdx)("p",null,"Returns the attributes of the target as a Starlark struct with a field for each attribute, which varies per rule. As an example, given a rule with the ",(0,a.mdx)("inlineCode",{parentName:"p"},"attrs")," argument of ",(0,a.mdx)("inlineCode",{parentName:"p"},'{"foo": attrs.string()}'),", this field will be a ",(0,a.mdx)("inlineCode",{parentName:"p"},"struct")," containing a field ",(0,a.mdx)("inlineCode",{parentName:"p"},"foo")," of type string."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"contextlabel"},"context.label"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"context.label: None | label\n")),(0,a.mdx)("p",null,"Returns a ",(0,a.mdx)("inlineCode",{parentName:"p"},"label")," representing the target, or ",(0,a.mdx)("inlineCode",{parentName:"p"},"None")," if being invoked from a ",(0,a.mdx)("inlineCode",{parentName:"p"},"dynamic_output")," in Bxl."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"contextplugins"},"context.plugins"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"context.plugins: AnalysisPlugins\n")),(0,a.mdx)("p",null,"An opaque value that can be indexed with a plugin kind to get a list of the available plugin deps of that kind. The rule must set an appropriate value on ",(0,a.mdx)("inlineCode",{parentName:"p"},"uses_plugins")," in its declaration."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6969bfce.65bf0476.js b/assets/js/6969bfce.65bf0476.js new file mode 100644 index 0000000000000..ef87b004f14bb --- /dev/null +++ b/assets/js/6969bfce.65bf0476.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7399],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>d,MDXProvider:()=>c,mdx:()=>g,useMDXComponents:()=>m,withMDXComponents:()=>p});var o=t(67294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},i.apply(this,arguments)}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,o,l=function(e,n){if(null==e)return{};var t,o,l={},i=Object.keys(e);for(o=0;o<i.length;o++)t=i[o],n.indexOf(t)>=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)t=i[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var d=o.createContext({}),p=function(e){return function(n){var t=m(n.components);return o.createElement(e,i({},n,{components:t}))}},m=function(e){var n=o.useContext(d),t=n;return e&&(t="function"==typeof e?e(n):a(a({},n),e)),t},c=function(e){var n=m(e.components);return o.createElement(d.Provider,{value:n},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},f=o.forwardRef((function(e,n){var t=e.components,l=e.mdxType,i=e.originalType,r=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=m(t),c=l,u=p["".concat(r,".").concat(c)]||p[c]||h[c]||i;return t?o.createElement(u,a(a({ref:n},d),{},{components:t})):o.createElement(u,a({ref:n},d))}));function g(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var i=t.length,r=new Array(i);r[0]=f;var a={};for(var s in n)hasOwnProperty.call(n,s)&&(a[s]=n[s]);a.originalType=e,a[u]="string"==typeof e?e:l,r[1]=a;for(var d=2;d<i;d++)r[d]=t[d];return o.createElement.apply(null,r)}return o.createElement.apply(null,t)}f.displayName="MDXCreateElement"},644:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var o=t(87462),l=(t(67294),t(3905));const i={id:"interactive_console",title:"Buck2 Consoles"},r=void 0,a={unversionedId:"users/build_observability/interactive_console",id:"users/build_observability/interactive_console",title:"Buck2 Consoles",description:"Buck2 offers several console types for build-like commands (e.g. build,",source:"@site/../docs/users/build_observability/interactive_console.md",sourceDirName:"users/build_observability",slug:"/users/build_observability/interactive_console",permalink:"/docs/users/build_observability/interactive_console",draft:!1,tags:[],version:"current",frontMatter:{id:"interactive_console",title:"Buck2 Consoles"},sidebar:"mainSidebar",previous:{title:"Why is Buck2 hanging?",permalink:"/docs/users/faq/buck_hanging"},next:{title:"Logging",permalink:"/docs/users/build_observability/logging"}},s={},d=[{value:"Simpleconsole",id:"simpleconsole",level:2},{value:"Demo",id:"demo",level:3},{value:"Superconsole",id:"superconsole",level:2},{value:"Demo",id:"demo-1",level:3},{value:"Toggles",id:"toggles",level:3},{value:"No console",id:"no-console",level:2}],p={toc:d};function m(e){let{components:n,...i}=e;return(0,l.mdx)("wrapper",(0,o.Z)({},p,i,{components:n,mdxType:"MDXLayout"}),(0,l.mdx)("p",null,"Buck2 offers several console types for build-like commands (e.g. ",(0,l.mdx)("inlineCode",{parentName:"p"},"build"),",\n",(0,l.mdx)("inlineCode",{parentName:"p"},"install"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"test"),", etc.). The console is always written to stderr."),(0,l.mdx)("p",null,"The console can be specified via the ",(0,l.mdx)("inlineCode",{parentName:"p"},"--console")," flag, or the ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK_CONSOLE")," env\nvariable. The default console type is ",(0,l.mdx)("inlineCode",{parentName:"p"},"auto"),". Supported ",(0,l.mdx)("inlineCode",{parentName:"p"},"--console")," types:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"auto")," - Default console type. Auto defaults to the superconsole if the stderr\nis a TTY. Otherwise will uses simple console"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"simple")," - Build a simpleconsole with TTY, if TTY is supported by the OS. See\n",(0,l.mdx)("a",{parentName:"li",href:"#simpleconsole"},"Simpleconsole")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"simplenotty")," - Build a simpleconsole without TTY. See\n",(0,l.mdx)("a",{parentName:"li",href:"#simpleconsole"},"Simpleconsole")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"simpletty")," - Build a simpleconsole with TTY. See\n",(0,l.mdx)("a",{parentName:"li",href:"#simpleconsole"},"Simpleconsole")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"super")," - Build a superconsole regardless of whether stderr is a TTY. See\n",(0,l.mdx)("a",{parentName:"li",href:"#superconsole"},"Superconsole")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"none")," - See ",(0,l.mdx)("a",{parentName:"li",href:"#no-console"},"No console"))),(0,l.mdx)("p",null,"If ",(0,l.mdx)("inlineCode",{parentName:"p"},"simplenotty")," or ",(0,l.mdx)("inlineCode",{parentName:"p"},"none")," are specified, or if TTY is not supported by the OS,\nthen we strip out any color within the error messages."),(0,l.mdx)("p",null,"All console options will output the build result, whether succeeded or not, to\nstdout. Note that action execution stderr is hidden if the build succeeded."),(0,l.mdx)("p",null,"The simple and superconsole will also print metadata about the build itself,\nsuch as the Buck2 UUID, the percentage of cache hits, and the number of action\ncommands ran. In addition, they will print the event spans detected within the\nbuild."),(0,l.mdx)("h2",{id:"simpleconsole"},"Simpleconsole"),(0,l.mdx)("p",null,"The simpleconsole prints the stdout/stderr messages and event spans, line by\nline. There is no resource usage telemetry emitted."),(0,l.mdx)("h3",{id:"demo"},"Demo"),(0,l.mdx)("p",null,(0,l.mdx)("img",{alt:"Simpleconsole running a build",src:t(82848).Z,width:"1006",height:"266"})),(0,l.mdx)("h2",{id:"superconsole"},"Superconsole"),(0,l.mdx)("p",null,"The superconsole uses the\n",(0,l.mdx)("a",{parentName:"p",href:"https://github.com/facebookincubator/superconsole"},"superconsole")," library to\nprovide an interactive console which shows the event spans going on within\nBuck2."),(0,l.mdx)("h3",{id:"demo-1"},"Demo"),(0,l.mdx)("p",null,(0,l.mdx)("img",{alt:"Superconsole running a build",src:t(39308).Z,width:"1465",height:"452"})),(0,l.mdx)("h3",{id:"toggles"},"Toggles"),(0,l.mdx)("p",null,"The superconsole also provides several toggles to inspect ongoing Buck2\ntelemetry."),(0,l.mdx)("p",null,"To see what's available you can press ",(0,l.mdx)("inlineCode",{parentName:"p"},"?")," or ",(0,l.mdx)("inlineCode",{parentName:"p"},"h"),". This will work as long as\nstdin is a TTY, which will be true most of the time if you're not piping\nanything into Buck2. To disable to allow alternate use of stdin, or for follow\nup pasted commands to not get swallowed, you can set the\n",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK_NO_INTERACTIVE_CONSOLE")," environment variable, or use the flag\n",(0,l.mdx)("inlineCode",{parentName:"p"},"--no-interactive-console"),"."),(0,l.mdx)("p",null,"We support the following toggles:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"c")," - toggle commands (shown in superconsole by default)"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"d")," - toggle DICE key states"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"e")," - toggle debugging events, such as spans and instant event counts"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"2")," - toggle two lines mode when showing events"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"r")," - toggle detailed remote execution info, such as uploads, downloads, and\naction cache calls"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"i")," - toggle I/O counters"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"p")," - display target configurations"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"+")," - show more lines"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"-")," - show fewer lines"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"h")," - show help")),(0,l.mdx)("p",null,"Note: Not available yet for Windows"),(0,l.mdx)("h2",{id:"no-console"},"No console"),(0,l.mdx)("p",null,"When specifying the ",(0,l.mdx)("inlineCode",{parentName:"p"},"none")," console type, Buck2 will only print if the build\nsucceeded, or the error if the build failed."))}m.isMDXComponent=!0},82848:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/simpleconsole-5bfa37b932256fce081a21ce4f4c4b92.gif"},39308:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/superconsole-71265cd99fd66f981336092604efff94.gif"}}]); \ No newline at end of file diff --git a/assets/js/6b2bab4e.883fd8ed.js b/assets/js/6b2bab4e.883fd8ed.js new file mode 100644 index 0000000000000..a6184eb019c60 --- /dev/null +++ b/assets/js/6b2bab4e.883fd8ed.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3500],{3905:(e,a,n)=>{n.r(a),n.d(a,{MDXContext:()=>d,MDXProvider:()=>p,mdx:()=>x,useMDXComponents:()=>u,withMDXComponents:()=>m});var t=n(67294);function r(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function i(){return i=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var n=arguments[a];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},i.apply(this,arguments)}function l(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}return n}function o(e){for(var a=1;a<arguments.length;a++){var n=null!=arguments[a]?arguments[a]:{};a%2?l(Object(n),!0).forEach((function(a){r(e,a,n[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))}))}return e}function s(e,a){if(null==e)return{};var n,t,r=function(e,a){if(null==e)return{};var n,t,r={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],a.indexOf(n)>=0||(r[n]=e[n]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],a.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=t.createContext({}),m=function(e){return function(a){var n=u(a.components);return t.createElement(e,i({},a,{components:n}))}},u=function(e){var a=t.useContext(d),n=a;return e&&(n="function"==typeof e?e(a):o(o({},a),e)),n},p=function(e){var a=u(e.components);return t.createElement(d.Provider,{value:a},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},h=t.forwardRef((function(e,a){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),m=u(n),p=r,c=m["".concat(l,".").concat(p)]||m[p]||f[p]||i;return n?t.createElement(c,o(o({ref:a},d),{},{components:n})):t.createElement(c,o({ref:a},d))}));function x(e,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=h;var o={};for(var s in a)hasOwnProperty.call(a,s)&&(o[s]=a[s]);o.originalType=e,o[c]="string"==typeof e?e:r,l[1]=o;for(var d=2;d<i;d++)l[d]=n[d];return t.createElement.apply(null,l)}return t.createElement.apply(null,n)}h.displayName="MDXCreateElement"},8344:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>s,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var t=n(87462),r=(n(67294),n(3905));const i={id:"alias",title:"Alias"},l=void 0,o={unversionedId:"rule_authors/alias",id:"rule_authors/alias",title:"Alias",description:"The alias rule creates another name by which an existing rule can be referred",source:"@site/../docs/rule_authors/alias.md",sourceDirName:"rule_authors",slug:"/rule_authors/alias",permalink:"/docs/rule_authors/alias",draft:!1,tags:[],version:"current",frontMatter:{id:"alias",title:"Alias"},sidebar:"mainSidebar",previous:{title:"Incremental Actions",permalink:"/docs/rule_authors/incremental_actions"},next:{title:"Local Resources For Tests Execution",permalink:"/docs/rule_authors/local_resources"}},s={},d=[{value:"alias",id:"alias",level:2},{value:"versioned_alias",id:"versioned_alias",level:2},{value:"configured_alias",id:"configured_alias",level:2}],m={toc:d};function u(e){let{components:a,...n}=e;return(0,r.mdx)("wrapper",(0,t.Z)({},m,n,{components:a,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"alias")," rule creates another name by which an existing rule can be referred\nto. There two variants: ",(0,r.mdx)("a",{parentName:"p",href:"#versionedalias"},"versioned_alias")," and\n",(0,r.mdx)("a",{parentName:"p",href:"#configuredalias"},"configured_alias"),", which are detailed below."),(0,r.mdx)("h2",{id:"alias"},"alias"),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"alias")," rule has the following relevant attributes:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"name")," - (required) what the ",(0,r.mdx)("inlineCode",{parentName:"li"},"actual"),"'s label should be aliased as."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"actual")," - (required) a target label."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"default_host_platform")," - default host platform to use for the aliased target.")),(0,r.mdx)("p",null,(0,r.mdx)("strong",{parentName:"p"},"Example")),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'filegroup(\n name = "foo",\n srcs = ["foo.txt"],\n)\n\nalias(\n name = "other_foo",\n actual = ":foo",\n)\n')),(0,r.mdx)("h2",{id:"versioned_alias"},"versioned_alias"),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"versioned_alias")," rule has the following relevant attributes:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"name")," - (required) what the ",(0,r.mdx)("inlineCode",{parentName:"li"},"actual"),"'s label should be aliased as."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"versions")," - (required) a map of versions to their respective versioned target\nlabels.")),(0,r.mdx)("p",null,"Under the hood, any versioned parameters from the ",(0,r.mdx)("inlineCode",{parentName:"p"},"versioned_alias"),"'s underlying\n",(0,r.mdx)("inlineCode",{parentName:"p"},"actual")," are translated into their ",(0,r.mdx)("inlineCode",{parentName:"p"},"select"),"-based equivalents, which rely on\nconstraint settings added to the target platform."),(0,r.mdx)("p",null,(0,r.mdx)("strong",{parentName:"p"},"Example")),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-Python"},'versioned_alias(\n name = "foo",\n versions = {\n # Target labels for foo versions\n "1.1": "//path/to/lib/1.1:foo",\n "1.2": "//path/to/lib/1.2:foo",\n },\n visibility = [\n "PUBLIC",\n ],\n)\n')),(0,r.mdx)("h2",{id:"configured_alias"},"configured_alias"),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"configured_alias")," rule has the following relevant attributes:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"name")," - (required) what the ",(0,r.mdx)("inlineCode",{parentName:"li"},"actual"),"'s label should be aliased as."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"configured_actual")," - a configured label (mapped to a configured dep under the\nhood so the providers can be simply forwarded)."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"fallback_actual")," - if ",(0,r.mdx)("inlineCode",{parentName:"li"},"configured_actual")," is not set, then fallback to this\nvalue, which is an unconfigured dep. If ",(0,r.mdx)("inlineCode",{parentName:"li"},"configured_actual")," is not set, then\n",(0,r.mdx)("inlineCode",{parentName:"li"},"fallback_actual")," must be set."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"platform")," - the platform to build the aliased target with.")),(0,r.mdx)("admonition",{type:"note"},(0,r.mdx)("p",{parentName:"admonition"},"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"actual")," field is available for ",(0,r.mdx)("inlineCode",{parentName:"p"},"configured_alias")," but it is not used under the hood (to keep compatibility of output format with Buck1 queries).")),(0,r.mdx)("p",null,"Outside of simply pointing at another target, this target has one other useful\nfeature - it contains a platform argument."),(0,r.mdx)("p",null,"This makes the alias rule useful for two distinct scenarios:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Configuration switching during the build"),". For example, there is an iOS\ntarget that needs to build a dependency for WatchOS so it can include it in\nthe bundle. This can be represented by the iOS target having a dependency on\nan alias of the Watch app with ",(0,r.mdx)("inlineCode",{parentName:"li"},'platform = "//the/desired/watchos:platform"'),"."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Using a target to refer to another in a non-standard configuration"),". For\nexample, if you want to have an experimental version of an app, you could\nrepresent that as an alias with an 'experimental' configuration pointing to\nthe original target.")),(0,r.mdx)("p",null,(0,r.mdx)("strong",{parentName:"p"},"Example")),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-Python"},'configured_alias(\n name = "foo-with-platform1",\n actual = "//lib:foo",\n platform = "//some_config:platform1",\n visibility = ["PUBLIC"],\n)\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6c18948f.75c26f9b.js b/assets/js/6c18948f.75c26f9b.js new file mode 100644 index 0000000000000..0de2ada4f1c0e --- /dev/null +++ b/assets/js/6c18948f.75c26f9b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4674],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>p,MDXProvider:()=>u,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>s});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},o.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=a.createContext({}),s=function(e){return function(n){var t=d(n.components);return a.createElement(e,o({},n,{components:t}))}},d=function(e){var n=a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},u=function(e){var n=d(e.components);return a.createElement(p.Provider,{value:n},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},h=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),s=d(t),u=r,m=s["".concat(i,".").concat(u)]||s[u]||f[u]||o;return t?a.createElement(m,c(c({ref:n},p),{},{components:t})):a.createElement(m,c({ref:n},p))}));function b(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=h;var c={};for(var l in n)hasOwnProperty.call(n,l)&&(c[l]=n[l]);c.originalType=e,c[m]="string"==typeof e?e:r,i[1]=c;for(var p=2;p<o;p++)i[p]=t[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}h.displayName="MDXCreateElement"},32147:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var a=t(87462),r=(t(67294),t(3905)),o=t(44996);const i={id:"key_concepts",title:"Key Concepts"},c="Key concepts",l={unversionedId:"concepts/key_concepts",id:"concepts/key_concepts",title:"Key Concepts",description:"Buck2 has a number of fundamental concepts:",source:"@site/../docs/concepts/key_concepts.md",sourceDirName:"concepts",slug:"/concepts/key_concepts",permalink:"/docs/concepts/key_concepts",draft:!1,tags:[],version:"current",frontMatter:{id:"key_concepts",title:"Key Concepts"},sidebar:"mainSidebar",previous:{title:"Bootstrapping Buck2",permalink:"/docs/about/bootstrapping"},next:{title:"Concept Map",permalink:"/docs/concepts/concept_map"}},p={},s=[{value:"Buck2's dependency graph",id:"buck2s-dependency-graph",level:3},{value:"Multiple Buck2 projects in a single repository",id:"multiple-buck2-projects-in-a-single-repository",level:3},{value:"See also",id:"see-also",level:3}],d={toc:s};function u(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"key-concepts"},"Key concepts"),(0,r.mdx)("p",null,"Buck2 has a number of fundamental concepts:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"A ",(0,r.mdx)("a",{parentName:"li",href:"/docs/concepts/build_rule"},(0,r.mdx)("strong",{parentName:"a"},(0,r.mdx)("em",{parentName:"strong"},"build rule")))," describes how to produce an output file\nfrom a set of input files. Most build rules are specific to a particular\nlanguage or platform. For example, you would use the\n",(0,r.mdx)("a",{parentName:"li",href:"../../prelude/globals/#cxx_binary"},(0,r.mdx)("inlineCode",{parentName:"a"},"cxx_binary"))," rule to create a C++ binary,\nbut you would use the\n",(0,r.mdx)("a",{parentName:"li",href:"../../prelude/globals/#android_binary"},(0,r.mdx)("inlineCode",{parentName:"a"},"android_binary"))," rule to create an\nAndroid APK."),(0,r.mdx)("li",{parentName:"ul"},"A ",(0,r.mdx)("a",{parentName:"li",href:"/docs/concepts/build_target"},(0,r.mdx)("strong",{parentName:"a"},(0,r.mdx)("em",{parentName:"strong"},"build target")))," is a string that uniquely identifies a\nbuild rule. It can be thought of as a URI for the build rule within the Buck2\nproject."),(0,r.mdx)("li",{parentName:"ul"},"A ",(0,r.mdx)("a",{parentName:"li",href:"/docs/concepts/build_rule"},(0,r.mdx)("strong",{parentName:"a"},(0,r.mdx)("em",{parentName:"strong"},"build file")))," defines one or more build rules. In Buck2,\nbuild files are typically named ",(0,r.mdx)("inlineCode",{parentName:"li"},"BUCK"),". A ",(0,r.mdx)("inlineCode",{parentName:"li"},"BUCK")," file is analogous to the\n",(0,r.mdx)("inlineCode",{parentName:"li"},"Makefile")," used by the Make utility. In your project, you will usually have a\nseparate ",(0,r.mdx)("inlineCode",{parentName:"li"},"BUCK")," file for each buildable unit of software\u2014such as a binary or\nlibrary. For large projects, you could have hundreds of ",(0,r.mdx)("inlineCode",{parentName:"li"},"BUCK")," files.")),(0,r.mdx)("p",null,"A Buck2 ",(0,r.mdx)("strong",{parentName:"p"},(0,r.mdx)("em",{parentName:"strong"},"package"))," comprises of: a Buck2 build file (a ",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK")," file), all\nfiles\u2014such as source files and headers\u2014in the same directory as the ",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK")," file\nor in subdirectories, provided those subdirectories do not themselves contain a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK")," file. To say it another way, a ",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK")," file defines the root of a package,\nbut Buck2 packages might not include all their subdirectories because Buck2\npackages do not overlap or contain other Buck2 packages. For example, in the\nfollowing diagram, the BUCK file in directory ",(0,r.mdx)("inlineCode",{parentName:"p"},"app-dir-1")," defines that directory\nas the root of a package\u2014which is labeled ",(0,r.mdx)("strong",{parentName:"p"},"Package A")," in the diagram. The\ndirectory ",(0,r.mdx)("inlineCode",{parentName:"p"},"app-dir-2")," is part of Package A because it is a subdirectory of\n",(0,r.mdx)("inlineCode",{parentName:"p"},"app-dir-1"),", but does not itself contain a BUCK file. Now, consider directory\n",(0,r.mdx)("inlineCode",{parentName:"p"},"app-dir-3"),". Because ",(0,r.mdx)("inlineCode",{parentName:"p"},"app-dir-3")," contains a BUCK file it is the root of a new\npackage (",(0,r.mdx)("strong",{parentName:"p"},"Package B"),"). Although ",(0,r.mdx)("inlineCode",{parentName:"p"},"app-dir-3")," is a subdirectory of ",(0,r.mdx)("inlineCode",{parentName:"p"},"app-dir-1"),",\nit is ",(0,r.mdx)("em",{parentName:"p"},"not")," part of Package A. Buck2 has the concept of a ",(0,r.mdx)("strong",{parentName:"p"},(0,r.mdx)("em",{parentName:"strong"},"cell")),", which\ndefines a directory tree of one or more Buck2 packages. A Buck2 build could\ninvolve multiple cells. Cells often correspond to repositories, but this isn't\nrequired. The root of a Buck2 cell contains a global configuration file called\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/buckconfig"},(0,r.mdx)("strong",{parentName:"a"},(0,r.mdx)("inlineCode",{parentName:"strong"},".buckconfig"))),". Note that although the cell root should\ncontain a ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig"),", the presence of a ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig")," file doesn't in itself\ndefine a cell. Rather, ",(0,r.mdx)("em",{parentName:"p"},"the cells involved in a build are defined at the time\nBuck2 is invoked"),"; they are specified in the ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig")," for the Buck2\n",(0,r.mdx)("em",{parentName:"p"},"project")," (see below). A Buck2 ",(0,r.mdx)("strong",{parentName:"p"},(0,r.mdx)("em",{parentName:"strong"},"project"))," is defined by the ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nwhere Buck2 is invoked, or if that directory doesn't contain a ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig"),",\nthe project is defined by the ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig")," in the nearest ancestor directory.\nThe ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig")," for the project specifies the cells that constitute the Buck2\nproject. Specifically, these cells are specified in the\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/buckconfig#cells"},"cells")," section of the ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig"),". Note that the\ndirectory tree rooted at this ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig")," is automatically considered a cell\nby Buck2; in other words, the project's ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig")," doesn't need to specify\nthe project cell explicitly\u2014although it is a good practice to do so."),(0,r.mdx)("img",{src:(0,o.default)("/img/packages-1.png"),alt:"justifyContent"}),(0,r.mdx)("h3",{id:"buck2s-dependency-graph"},"Buck2's dependency graph"),(0,r.mdx)("p",null,"Every build rule can have zero or more dependencies. You can specify these\ndependencies using, for example, the ",(0,r.mdx)("inlineCode",{parentName:"p"},"deps")," argument to the build rule. For more\ninformation about specifying dependencies, consult the reference page for the\nbuild rule you are using. These dependencies form a directed graph, called the\n",(0,r.mdx)("em",{parentName:"p"},"target graph"),'. Buck2 requires the graph to be acyclic. When building the output\nof a build rule, all of the rule\'s transitive dependencies are built first. This\nmeans that the graph is built in a "bottom-up" fashion. A build rule knows only\nwhich rules it depends on, not which rules depend on it. This makes the graph\neasier to reason about and enables Buck2 to identify independent subgraphs that\ncan be built in parallel. It also enables Buck2 to determine the minimal set of\nbuild targets that need to be rebuilt.'),(0,r.mdx)("h3",{id:"multiple-buck2-projects-in-a-single-repository"},"Multiple Buck2 projects in a single repository"),(0,r.mdx)("p",null,"Buck2 is designed to build multiple deliverables from a single repository\u2014that\nis, a ",(0,r.mdx)("em",{parentName:"p"},"monorepo"),"\u2014rather than from multiple repositories. Support for the\nmonorepo design motivated Buck2's support for cells and projects. It is\nFacebook's experience that maintaining all dependencies in the same repository\nmakes it easier to ensure that all developers have the correct version of the\ncode and simplifies the process of making atomic commits."),(0,r.mdx)("h3",{id:"see-also"},"See also"),(0,r.mdx)("p",null,"Take a look at the ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/concept_map"},"Concept Map")," for a visualization of how\nBuck2 concepts interact with each other. Also see the ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary"},"Glossary"),"."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6e30c280.1ee16e2d.js b/assets/js/6e30c280.1ee16e2d.js new file mode 100644 index 0000000000000..b332dbbb427e9 --- /dev/null +++ b/assets/js/6e30c280.1ee16e2d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4747],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>p,MDXProvider:()=>u,mdx:()=>b,useMDXComponents:()=>s,withMDXComponents:()=>d});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(){return i=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},i.apply(this,arguments)}function l(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?l(Object(t),!0).forEach((function(r){o(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=n.createContext({}),d=function(e){return function(r){var t=s(r.components);return n.createElement(e,i({},r,{components:t}))}},s=function(e){var r=n.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):a(a({},r),e)),t},u=function(e){var r=s(e.components);return n.createElement(p.Provider,{value:r},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},v=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=s(t),u=o,m=d["".concat(l,".").concat(u)]||d[u]||f[u]||i;return t?n.createElement(m,a(a({ref:r},p),{},{components:t})):n.createElement(m,a({ref:r},p))}));function b(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var i=t.length,l=new Array(i);l[0]=v;var a={};for(var c in r)hasOwnProperty.call(r,c)&&(a[c]=r[c]);a.originalType=e,a[m]="string"==typeof e?e:o,l[1]=a;for(var p=2;p<i;p++)l[p]=t[p];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}v.displayName="MDXCreateElement"},2860:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>a,toc:()=>p});var n=t(87462),o=(t(67294),t(3905));const i={id:"provider_collection"},l="provider_collection type",a={unversionedId:"api/bxl/provider_collection",id:"api/bxl/provider_collection",title:"provider_collection type",description:"Holds a collection of UserProviders. These can be accessed in Starlark by indexing on a ProviderCallable object.",source:"@site/../docs/api/bxl/provider_collection.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/provider_collection",permalink:"/docs/api/bxl/provider_collection",draft:!1,tags:[],version:"current",frontMatter:{id:"provider_collection"},sidebar:"apiSidebar",previous:{title:"promise type",permalink:"/docs/api/bxl/promise"},next:{title:"providers_label type",permalink:"/docs/api/bxl/providers_label"}},c={},p=[{value:"provider_collection.get",id:"provider_collectionget",level:2}],d={toc:p};function s(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},d,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"provider_collection-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"provider_collection")," type"),(0,o.mdx)("p",null,"Holds a collection of ",(0,o.mdx)("inlineCode",{parentName:"p"},"UserProvider"),"s. These can be accessed in Starlark by indexing on a ",(0,o.mdx)("inlineCode",{parentName:"p"},"ProviderCallable")," object."),(0,o.mdx)("p",null,"e.g."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-ignore"},'FooInfo = provider(fields=["bar"])\n....\ncollection.get(FooInfo) # None if absent, a FooInfo instance if present\n')),(0,o.mdx)("p",null,"This is the result of all UDR implementation functions"),(0,o.mdx)("h2",{id:"provider_collectionget"},"provider","_","collection.get"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def provider_collection.get(index) -> None | provider\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/70be65e6.649153e9.js b/assets/js/70be65e6.649153e9.js new file mode 100644 index 0000000000000..40fbcfe035260 --- /dev/null +++ b/assets/js/70be65e6.649153e9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[364],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>i,MDXProvider:()=>m,mdx:()=>f,useMDXComponents:()=>d,withMDXComponents:()=>s});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(this,arguments)}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=r.createContext({}),s=function(e){return function(t){var n=d(t.components);return r.createElement(e,l({},t,{components:n}))}},d=function(e){var t=r.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},m=function(e){var t=d(e.components);return r.createElement(i.Provider,{value:t},e.children)},c="mdxType",x={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,u=e.parentName,i=p(e,["components","mdxType","originalType","parentName"]),s=d(n),m=a,c=s["".concat(u,".").concat(m)]||s[m]||x[m]||l;return n?r.createElement(c,o(o({ref:t},i),{},{components:n})):r.createElement(c,o({ref:t},i))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,u=new Array(l);u[0]=b;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[c]="string"==typeof e?e:a,u[1]=o;for(var i=2;i<l;i++)u[i]=n[i];return r.createElement.apply(null,u)}return r.createElement.apply(null,n)}b.displayName="MDXCreateElement"},44646:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>u,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>i});var r=n(87462),a=(n(67294),n(3905));const l={id:"bxl.OutputStream"},u="bxl.OutputStream type",o={unversionedId:"api/bxl/bxl.OutputStream",id:"api/bxl/bxl.OutputStream",title:"bxl.OutputStream type",description:"The output stream for bxl to print values to the console as their result",source:"@site/../docs/api/bxl/bxl.OutputStream.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.OutputStream",permalink:"/docs/api/bxl/bxl.OutputStream",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.OutputStream"},sidebar:"apiSidebar",previous:{title:"bxl.LazyResolvedAttrs type",permalink:"/docs/api/bxl/bxl.LazyResolvedAttrs"},next:{title:"bxl.TargetUniverse type",permalink:"/docs/api/bxl/bxl.TargetUniverse"}},p={},i=[{value:"bxl.OutputStream.ensure",id:"bxloutputstreamensure",level:2},{value:"bxl.OutputStream.ensure_multiple",id:"bxloutputstreamensure_multiple",level:2},{value:"bxl.OutputStream.print",id:"bxloutputstreamprint",level:2},{value:"bxl.OutputStream.print_json",id:"bxloutputstreamprint_json",level:2}],s={toc:i};function d(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"bxloutputstream-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"bxl.OutputStream")," type"),(0,a.mdx)("p",null,"The output stream for bxl to print values to the console as their result"),(0,a.mdx)("h2",{id:"bxloutputstreamensure"},"bxl.OutputStream.ensure"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.OutputStream.ensure(artifact: artifact) -> bxl.EnsuredArtifact\n")),(0,a.mdx)("p",null,"Marks the artifact as an artifact that should be available to the users at the end of the bxl invocation. Any artifacts that do not get registered via this call is not accessible by users at the end of bxl script."),(0,a.mdx)("p",null,"This function returns an ",(0,a.mdx)("inlineCode",{parentName:"p"},"ensured_artifact")," type that can be printed via ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.output.print()"),"\nto print its actual path on disk."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_ensure(ctx):\n actions = ctx.bxl_actions().actions\n output = actions.write("my_output", "my_content")\n ensured = ctx.output.ensure(output)\n ctx.output.print(ensured)\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxloutputstreamensure_multiple"},"bxl.OutputStream.ensure","_","multiple"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.OutputStream.ensure_multiple(\n artifacts: None | artifact | bxl.BuildResult | bxl_built_artifacts_iterable | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[artifact] | dict[typing.Any, bxl.BuildResult] | RunInfo\n)\n")),(0,a.mdx)("p",null,"Same as ",(0,a.mdx)("inlineCode",{parentName:"p"},"ensure"),", but for multiple artifacts. Will preserve the shape of the inputs (i.e. if the resulting ",(0,a.mdx)("inlineCode",{parentName:"p"},"Dict")," of a ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.build()")," is passed in, the output will be a ",(0,a.mdx)("inlineCode",{parentName:"p"},"Dict")," where the key is preserved, and the values are converted to ",(0,a.mdx)("inlineCode",{parentName:"p"},"ensured_artifact"),"s)."),(0,a.mdx)("p",null,"Note that is slower to loop through objects and ensure them one by one than it is to call ",(0,a.mdx)("inlineCode",{parentName:"p"},"ensure_multiple()"),"\non all the objects at once (if possible).\nSo, it is suggested to use this method when you are only ensuring a few individual artifacts that are not stored in an iterable."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_ensure_multiple(ctx):\n outputs = {}\n for target, value in ctx.build(ctx.cli_args.target).items():\n outputs.update({target.raw_target(): ctx.output.ensure_multiple(value.artifacts())})\n ctx.output.print_json(outputs)\n")),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxloutputstreamprint"},"bxl.OutputStream.print"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'def bxl.OutputStream.print(*args, sep: str = " ") -> None\n')),(0,a.mdx)("p",null,'Outputs results to the console via stdout. These outputs are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached. Accepts an optional separator that defaults to " ".'),(0,a.mdx)("p",null,"Prints that are not result of the bxl should be printed via stderr via the stdlib ",(0,a.mdx)("inlineCode",{parentName:"p"},"print"),"\nand ",(0,a.mdx)("inlineCode",{parentName:"p"},"pprint"),". Note that ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.output.print()")," is intended for simple outputs. For more complex\noutputs, the recommendation would be to write them to a file."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_print(ctx):\n ctx.output.print("test")\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxloutputstreamprint_json"},"bxl.OutputStream.print","_","json"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.OutputStream.print_json(value, *, pretty: bool = True) -> None\n")),(0,a.mdx)("p",null,"Outputs results to the console via stdout as pretty-printed json. Pretty printing can be turned off by the ",(0,a.mdx)("inlineCode",{parentName:"p"},"pretty")," keyword-only parameter. These outputs are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached."),(0,a.mdx)("p",null,"Prints that are not result of the bxl should be printed via stderr via the stdlib ",(0,a.mdx)("inlineCode",{parentName:"p"},"print"),"\nand ",(0,a.mdx)("inlineCode",{parentName:"p"},"pprint"),"."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_print_json(ctx):\n outputs = {}\n outputs.update({"foo": bar})\n ctx.output.print_json("test")\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/718abaf2.e8def5f8.js b/assets/js/718abaf2.e8def5f8.js new file mode 100644 index 0000000000000..1a8790010b2aa --- /dev/null +++ b/assets/js/718abaf2.e8def5f8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[255],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>o,MDXProvider:()=>m,mdx:()=>f,useMDXComponents:()=>u,withMDXComponents:()=>p});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},l.apply(this,arguments)}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function d(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),p=function(e){return function(t){var a=u(t.components);return n.createElement(e,l({},t,{components:a}))}},u=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):d(d({},t),e)),a},m=function(e){var t=u(e.components);return n.createElement(o.Provider,{value:t},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},x=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,s=e.parentName,o=i(e,["components","mdxType","originalType","parentName"]),p=u(a),m=r,c=p["".concat(s,".").concat(m)]||p[m]||h[m]||l;return a?n.createElement(c,d(d({ref:t},o),{},{components:a})):n.createElement(c,d({ref:t},o))}));function f(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,s=new Array(l);s[0]=x;var d={};for(var i in t)hasOwnProperty.call(t,i)&&(d[i]=t[i]);d.originalType=e,d[c]="string"==typeof e?e:r,s[1]=d;for(var o=2;o<l;o++)s[o]=a[o];return n.createElement.apply(null,s)}return n.createElement.apply(null,a)}x.displayName="MDXCreateElement"},79955:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>d,toc:()=>o});var n=a(87462),r=(a(67294),a(3905));const l={id:"attrs"},s="attrs type",d={unversionedId:"api/bxl/attrs",id:"api/bxl/attrs",title:"attrs type",description:"This type is available as a global attrs symbol, to allow the definition of attributes to the rule function.",source:"@site/../docs/api/bxl/attrs.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/attrs",permalink:"/docs/api/bxl/attrs",draft:!1,tags:[],version:"current",frontMatter:{id:"attrs"},sidebar:"apiSidebar",previous:{title:"artifact type",permalink:"/docs/api/bxl/artifact"},next:{title:"buck_regex type",permalink:"/docs/api/bxl/buck_regex"}},i={},o=[{value:"attrs.any",id:"attrsany",level:2},{value:"attrs.arg",id:"attrsarg",level:2},{value:"attrs.bool",id:"attrsbool",level:2},{value:"attrs.configuration_label",id:"attrsconfiguration_label",level:2},{value:"attrs.configured_dep",id:"attrsconfigured_dep",level:2},{value:"attrs.default_only",id:"attrsdefault_only",level:2},{value:"attrs.dep",id:"attrsdep",level:2},{value:"attrs.dict",id:"attrsdict",level:2},{value:"attrs.enum",id:"attrsenum",level:2},{value:"attrs.exec_dep",id:"attrsexec_dep",level:2},{value:"attrs.int",id:"attrsint",level:2},{value:"attrs.label",id:"attrslabel",level:2},{value:"attrs.list",id:"attrslist",level:2},{value:"attrs.named_set",id:"attrsnamed_set",level:2},{value:"attrs.one_of",id:"attrsone_of",level:2},{value:"attrs.option",id:"attrsoption",level:2},{value:"attrs.plugin_dep",id:"attrsplugin_dep",level:2},{value:"attrs.query",id:"attrsquery",level:2},{value:"attrs.regex",id:"attrsregex",level:2},{value:"attrs.set",id:"attrsset",level:2},{value:"attrs.source",id:"attrssource",level:2},{value:"attrs.split_transition_dep",id:"attrssplit_transition_dep",level:2},{value:"attrs.string",id:"attrsstring",level:2},{value:"attrs.toolchain_dep",id:"attrstoolchain_dep",level:2},{value:"attrs.transition_dep",id:"attrstransition_dep",level:2},{value:"attrs.tuple",id:"attrstuple",level:2},{value:"attrs.versioned",id:"attrsversioned",level:2}],p={toc:o};function u(e){let{components:t,...a}=e;return(0,r.mdx)("wrapper",(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"attrs-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"attrs")," type"),(0,r.mdx)("p",null,"This type is available as a global ",(0,r.mdx)("inlineCode",{parentName:"p"},"attrs")," symbol, to allow the definition of attributes to the ",(0,r.mdx)("inlineCode",{parentName:"p"},"rule")," function."),(0,r.mdx)("p",null,"As an example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'rule(impl = _impl, attrs = {"foo": attrs.string(), "bar": attrs.int(default = 42)})\n')),(0,r.mdx)("p",null,"Most attributes take at least two optional parameters:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("p",{parentName:"li"},"A ",(0,r.mdx)("inlineCode",{parentName:"p"},"doc")," parameter, which specifies documentation for the attribute.")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("p",{parentName:"li"},"A ",(0,r.mdx)("inlineCode",{parentName:"p"},"default")," parameter, which if present specifies the default value for the attribute if omitted.\nIf there is no default, the user of the rule must supply that parameter."))),(0,r.mdx)("p",null,"Each attribute defines what values it accepts from the user, and which values it gives to the rule.\nFor simple types like ",(0,r.mdx)("inlineCode",{parentName:"p"},"attrs.string")," these are the same, for more complex types like ",(0,r.mdx)("inlineCode",{parentName:"p"},"attrs.dep")," these\nare different (string from the user, dependency to the rule)."),(0,r.mdx)("h2",{id:"attrsany"},"attrs.any"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.any(*, doc: str = "", default = _) -> attribute\n')),(0,r.mdx)("p",null,"Takes most builtin literals and passes them to the rule as a string. Discouraged, as it provides little type safety and destroys the structure."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsarg"},"attrs.arg"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.arg(\n *,\n json: bool = False,\n default = _,\n doc: str = "",\n anon_target_compatible: bool = False\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a command line argument from the user and supplies a ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args")," compatible value to the rule. The argument may contain special macros such as ",(0,r.mdx)("inlineCode",{parentName:"p"},"$(location :my_target)")," or ",(0,r.mdx)("inlineCode",{parentName:"p"},"$(exe :my_target)")," which will be replaced with references to those values in the rule. Takes in an optional ",(0,r.mdx)("inlineCode",{parentName:"p"},"anon_target_compatible")," flag, which indicates whether the args can be passed into anon targets. Note that there is a slight memory hit when using this flag."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsbool"},"attrs.bool"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.bool(*, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Takes a boolean and passes it to the rule as a boolean."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsconfiguration_label"},"attrs.configuration","_","label"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.configuration_label(*, doc: str = "") -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsconfigured_dep"},"attrs.configured","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.configured_dep(\n *,\n providers: list[typing.Any] | tuple = [],\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsdefault_only"},"attrs.default","_","only"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.default_only(\n inner: attribute,\n /,\n *,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Rejects all values and uses the default for the inner argument. Often used to resolve dependencies, which otherwise can't be resolved inside a rule."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'attrs.default_only(attrs.dep(default = "foo//my_package:my_target"))\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsdep"},"attrs.dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.dep(\n *,\n providers: list[typing.Any] | tuple = [],\n pulls_plugins: list[typing.Any] | tuple = [],\n pulls_and_pushes_plugins: all_plugins | list[typing.Any] | tuple = _,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a target from the user, as a string, and supplies a dependency to the rule. A target can be specified as an absolute dependency ",(0,r.mdx)("inlineCode",{parentName:"p"},"foo//bar:baz"),", omitting the cell (",(0,r.mdx)("inlineCode",{parentName:"p"},"//bar:baz"),") or omitting the package name (",(0,r.mdx)("inlineCode",{parentName:"p"},":baz"),")."),(0,r.mdx)("p",null,"If supplied the ",(0,r.mdx)("inlineCode",{parentName:"p"},"providers")," argument ensures that specific providers will be present\non the dependency."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsdict"},"attrs.dict"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.dict(\n key: attribute,\n value: attribute,\n *,\n sorted: bool = False,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a dict from the user, supplies a dict to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsenum"},"attrs.enum"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.enum(\n variants: list[str] | tuple[str, ...],\n /,\n *,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a string from one of the variants given, and gives that string to the rule. Strings are matched case-insensitively, and always passed to the rule lowercase."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsexec_dep"},"attrs.exec","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.exec_dep(\n *,\n providers: list[typing.Any] | tuple = [],\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will transition to the execution platform. Use ",(0,r.mdx)("inlineCode",{parentName:"p"},"exec_dep")," if you plan to execute things from this dependency as part of the compilation."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsint"},"attrs.int"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.int(*, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Takes an int from the user, supplies an int to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrslabel"},"attrs.label"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.label(*, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Takes a target (as per ",(0,r.mdx)("inlineCode",{parentName:"p"},"deps"),") and passes a ",(0,r.mdx)("inlineCode",{parentName:"p"},"label")," to the rule. Validates that the target exists, but does not introduce a dependency on it."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrslist"},"attrs.list"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.list(\n inner: attribute,\n /,\n *,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a list from the user, supplies a list to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsnamed_set"},"attrs.named","_","set"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.named_set(\n value_type: attribute,\n /,\n *,\n sorted: bool = False,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsone_of"},"attrs.one","_","of"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.one_of(*args: attribute, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Given a list of alternative attributes, selects the first that matches and gives that to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsoption"},"attrs.option"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.option(\n inner: attribute,\n /,\n *,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a value that may be ",(0,r.mdx)("inlineCode",{parentName:"p"},"None")," or some inner type, and passes either ",(0,r.mdx)("inlineCode",{parentName:"p"},"None")," or the value corresponding to the inner to the rule. Often used to make a rule optional:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"attrs.option(attr.string(), default = None)\n")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsplugin_dep"},"attrs.plugin","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.plugin_dep(\n *,\n kind,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsquery"},"attrs.query"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.query(*, doc: str = "") -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsregex"},"attrs.regex"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.regex(*, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Currently an alias for ",(0,r.mdx)("inlineCode",{parentName:"p"},"attrs.string"),"."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsset"},"attrs.set"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.set(\n value_type: attribute,\n /,\n *,\n sorted: bool = False,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrssource"},"attrs.source"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.source(\n *,\n allow_directory: bool = False,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a source file from the user, supplies an artifact to the rule. The source file may be specified as a literal string (representing the path within this package), or a target (which must have a ",(0,r.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," with a ",(0,r.mdx)("inlineCode",{parentName:"p"},"default_outputs")," value)."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrssplit_transition_dep"},"attrs.split","_","transition","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.split_transition_dep(\n *,\n providers: list[typing.Any] | tuple = [],\n cfg,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsstring"},"attrs.string"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.string(\n *,\n default = _,\n validate = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a string from the user, supplies a string to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrstoolchain_dep"},"attrs.toolchain","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.toolchain_dep(\n *,\n providers: list[typing.Any] | tuple = [],\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("p",null,"Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will be a toolchain dependency, meaning that its execution platform dependencies will be used to select the execution platform for this rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrstransition_dep"},"attrs.transition","_","dep"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.transition_dep(\n *,\n providers: list[typing.Any] | tuple = [],\n cfg,\n default = _,\n doc: str = ""\n) -> attribute\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrstuple"},"attrs.tuple"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.tuple(*args: attribute, default = _, doc: str = "") -> attribute\n')),(0,r.mdx)("p",null,"Takes a tuple of values and gives a tuple to the rule."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"attrsversioned"},"attrs.versioned"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def attrs.versioned(value_type: attribute, *, doc: str = "") -> attribute\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/722dd74e.76d58d49.js b/assets/js/722dd74e.76d58d49.js new file mode 100644 index 0000000000000..c726a6fa1aa57 --- /dev/null +++ b/assets/js/722dd74e.76d58d49.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9236],{3905:(e,r,n)=>{n.r(r),n.d(r,{MDXContext:()=>s,MDXProvider:()=>u,mdx:()=>v,useMDXComponents:()=>c,withMDXComponents:()=>m});var t=n(67294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(){return i=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},i.apply(this,arguments)}function p(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function a(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?p(Object(n),!0).forEach((function(r){o(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function l(e,r){if(null==e)return{};var n,t,o=function(e,r){if(null==e)return{};var n,t,o={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=t.createContext({}),m=function(e){return function(r){var n=c(r.components);return t.createElement(e,i({},r,{components:n}))}},c=function(e){var r=t.useContext(s),n=r;return e&&(n="function"==typeof e?e(r):a(a({},r),e)),n},u=function(e){var r=c(e.components);return t.createElement(s.Provider,{value:r},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},y=t.forwardRef((function(e,r){var n=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),m=c(n),u=o,d=m["".concat(p,".").concat(u)]||m[u]||f[u]||i;return n?t.createElement(d,a(a({ref:r},s),{},{components:n})):t.createElement(d,a({ref:r},s))}));function v(e,r){var n=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var i=n.length,p=new Array(i);p[0]=y;var a={};for(var l in r)hasOwnProperty.call(r,l)&&(a[l]=r[l]);a.originalType=e,a[d]="string"==typeof e?e:o,p[1]=a;for(var s=2;s<i;s++)p[s]=n[s];return t.createElement.apply(null,p)}return t.createElement.apply(null,n)}y.displayName="MDXCreateElement"},10249:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>p,default:()=>c,frontMatter:()=>i,metadata:()=>a,toc:()=>s});var t=n(87462),o=(n(67294),n(3905));const i={id:"promise"},p="promise type",a={unversionedId:"api/build/promise",id:"api/build/promise",title:"promise type",description:"promise.join",source:"@site/../docs/api/build/promise.generated.md",sourceDirName:"api/build",slug:"/api/build/promise",permalink:"/docs/api/build/promise",draft:!1,tags:[],version:"current",frontMatter:{id:"promise"},sidebar:"apiSidebar",previous:{title:"plugins type",permalink:"/docs/api/build/plugins"},next:{title:"provider_collection type",permalink:"/docs/api/build/provider_collection"}},l={},s=[{value:"promise.join",id:"promisejoin",level:2},{value:"promise.map",id:"promisemap",level:2}],m={toc:s};function c(e){let{components:r,...n}=e;return(0,o.mdx)("wrapper",(0,t.Z)({},m,n,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"promise-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"promise")," type"),(0,o.mdx)("h2",{id:"promisejoin"},"promise.join"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def promise.join(*args) -> promise\n")),(0,o.mdx)("p",null,"Join a set of promises together into a single promise."),(0,o.mdx)("p",null,"Given a series of promises, ",(0,o.mdx)("inlineCode",{parentName:"p"},"p4 = p1.join(p2, p3)")," will produce a promise\nwhere the value is promise that resolves to a tuple containing the three values,\nthose from ",(0,o.mdx)("inlineCode",{parentName:"p"},"p1"),", ",(0,o.mdx)("inlineCode",{parentName:"p"},"p2")," and ",(0,o.mdx)("inlineCode",{parentName:"p"},"p3")," respectively."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"promisemap"},"promise.map"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def promise.map(func: typing.Callable[[typing.Any], typing.Any], /) -> promise\n")),(0,o.mdx)("p",null,"Given a promise, apply a function to the value it contains, producing a promise with the resulting value."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/723b55bc.23ced336.js b/assets/js/723b55bc.23ced336.js new file mode 100644 index 0000000000000..a3a291acfc202 --- /dev/null +++ b/assets/js/723b55bc.23ced336.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1958],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>g,mdx:()=>_,useMDXComponents:()=>p,withMDXComponents:()=>d});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),d=function(e){return function(t){var n=p(t.components);return r.createElement(e,a({},t,{components:n}))}},p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},g=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},f="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(n),g=o,f=d["".concat(i,".").concat(g)]||d[g]||u[g]||a;return n?r.createElement(f,l(l({ref:t},c),{},{components:n})):r.createElement(f,l({ref:t},c))}));function _(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[f]="string"==typeof e?e:o,i[1]=l;for(var c=2;c<a;c++)i[c]=n[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},30894:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var r=n(87462),o=(n(67294),n(3905));const a={id:"digest_config"},i="digest_config type",l={unversionedId:"api/bxl/digest_config",id:"api/bxl/digest_config",title:"digest_config type",description:"digest\\config.allows\\blake3",source:"@site/../docs/api/bxl/digest_config.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/digest_config",permalink:"/docs/api/bxl/digest_config",draft:!1,tags:[],version:"current",frontMatter:{id:"digest_config"},sidebar:"apiSidebar",previous:{title:"dependency type",permalink:"/docs/api/bxl/dependency"},next:{title:"ensured_artifact_group type",permalink:"/docs/api/bxl/ensured_artifact_group"}},s={},c=[{value:"digest_config.allows_blake3",id:"digest_configallows_blake3",level:2},{value:"digest_config.allows_blake3_keyed",id:"digest_configallows_blake3_keyed",level:2},{value:"digest_config.allows_sha1",id:"digest_configallows_sha1",level:2},{value:"digest_config.allows_sha256",id:"digest_configallows_sha256",level:2}],d={toc:c};function p(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"digest_config-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"digest_config")," type"),(0,o.mdx)("h2",{id:"digest_configallows_blake3"},"digest","_","config.allows","_","blake3"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def digest_config.allows_blake3() -> bool\n")),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"digest_configallows_blake3_keyed"},"digest","_","config.allows","_","blake3","_","keyed"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def digest_config.allows_blake3_keyed() -> bool\n")),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"digest_configallows_sha1"},"digest","_","config.allows","_","sha1"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def digest_config.allows_sha1() -> bool\n")),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"digest_configallows_sha256"},"digest","_","config.allows","_","sha256"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def digest_config.allows_sha256() -> bool\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/736e3526.326fbf5e.js b/assets/js/736e3526.326fbf5e.js new file mode 100644 index 0000000000000..08e704b67279e --- /dev/null +++ b/assets/js/736e3526.326fbf5e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2524],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>p,MDXProvider:()=>d,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>c});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(){return l=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},l.apply(this,arguments)}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)t=l[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)t=l[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=r.createContext({}),c=function(e){return function(n){var t=u(n.components);return r.createElement(e,l({},n,{components:t}))}},u=function(e){var n=r.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},d=function(e){var n=u(e.components);return r.createElement(p.Provider,{value:n},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},x=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,l=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=u(t),d=a,y=c["".concat(s,".").concat(d)]||c[d]||m[d]||l;return t?r.createElement(y,i(i({ref:n},p),{},{components:t})):r.createElement(y,i({ref:n},p))}));function b(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var l=t.length,s=new Array(l);s[0]=x;var i={};for(var o in n)hasOwnProperty.call(n,o)&&(i[o]=n[o]);i.originalType=e,i[y]="string"==typeof e?e:a,s[1]=i;for(var p=2;p<l;p++)s[p]=t[p];return r.createElement.apply(null,s)}return r.createElement.apply(null,t)}x.displayName="MDXCreateElement"},85361:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>p});var r=t(87462),a=(t(67294),t(3905));const l={id:"bxl.AnalysisResult"},s="bxl.AnalysisResult type",i={unversionedId:"api/bxl/bxl.AnalysisResult",id:"api/bxl/bxl.AnalysisResult",title:"bxl.AnalysisResult type",description:"The result of running an analysis in bxl.",source:"@site/../docs/api/bxl/bxl.AnalysisResult.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.AnalysisResult",permalink:"/docs/api/bxl/bxl.AnalysisResult",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.AnalysisResult"},sidebar:"apiSidebar",previous:{title:"bxl.Actions type",permalink:"/docs/api/bxl/bxl.Actions"},next:{title:"bxl.AqueryContext type",permalink:"/docs/api/bxl/bxl.AqueryContext"}},o={},p=[{value:"bxl.AnalysisResult.as_dependency",id:"bxlanalysisresultas_dependency",level:2},{value:"bxl.AnalysisResult.providers",id:"bxlanalysisresultproviders",level:2}],c={toc:p};function u(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"bxlanalysisresult-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"bxl.AnalysisResult")," type"),(0,a.mdx)("p",null,"The result of running an analysis in bxl."),(0,a.mdx)("h2",{id:"bxlanalysisresultas_dependency"},"bxl.AnalysisResult.as","_","dependency"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.AnalysisResult.as_dependency() -> dependency\n")),(0,a.mdx)("p",null,"Converts the analysis result into a ",(0,a.mdx)("inlineCode",{parentName:"p"},"dependency"),". Currently, you can only get a ",(0,a.mdx)("inlineCode",{parentName:"p"},"dependency")," without any transitions. This means that you cannot create an exec dep or toolchain from an analysis result. We may support other dependency transition types in the future. This is useful for passing in the results of ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.analysis()")," into anon targets."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_dependency(ctx):\n node = ctx.configured_targets("root//bin:the_binary")\n dependency = ctx.analysis(node).as_dependency()\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlanalysisresultproviders"},"bxl.AnalysisResult.providers"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.AnalysisResult.providers()\n")),(0,a.mdx)("p",null,"Access the providers of the rule. Returns a ",(0,a.mdx)("inlineCode",{parentName:"p"},"provider_collection")," the same as accessing providers of dependencies within a rule implementation."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_providers(ctx):\n node = ctx.configured_targets("root//bin:the_binary")\n providers = ctx.analysis(node).providers()\n ctx.output.print(providers[FooInfo])\n providers = ctx.analysis("//:bin").providers()\n ctx.output.print(providers[FooInfo])\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/74337fb8.3a0a4ed4.js b/assets/js/74337fb8.3a0a4ed4.js new file mode 100644 index 0000000000000..9eb2246a352e2 --- /dev/null +++ b/assets/js/74337fb8.3a0a4ed4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6370],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>s,MDXProvider:()=>d,mdx:()=>y,useMDXComponents:()=>p,withMDXComponents:()=>u});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(){return a=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},a.apply(this,arguments)}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){o(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=n.createContext({}),u=function(e){return function(r){var t=p(r.components);return n.createElement(e,a({},r,{components:t}))}},p=function(e){var r=n.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},d=function(e){var r=p(e.components);return n.createElement(s.Provider,{value:r},e.children)},m="mdxType",b={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},f=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(t),d=o,m=u["".concat(i,".").concat(d)]||u[d]||b[d]||a;return t?n.createElement(m,c(c({ref:r},s),{},{components:t})):n.createElement(m,c({ref:r},s))}));function y(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=f;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c[m]="string"==typeof e?e:o,i[1]=c;for(var s=2;s<a;s++)i[s]=t[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}f.displayName="MDXCreateElement"},52325:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var n=t(87462),o=(t(67294),t(3905));const a={id:"ActionSubError"},i="ActionSubError type",c={unversionedId:"api/bxl/ActionSubError",id:"api/bxl/ActionSubError",title:"ActionSubError type",description:"Methods available on StarlarkActionSubError to help with testing the error handler implementation",source:"@site/../docs/api/bxl/ActionSubError.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/ActionSubError",permalink:"/docs/api/bxl/ActionSubError",draft:!1,tags:[],version:"current",frontMatter:{id:"ActionSubError"},sidebar:"apiSidebar",previous:{title:"ActionErrorLocation type",permalink:"/docs/api/bxl/ActionErrorLocation"},next:{title:"StackFrame type",permalink:"/docs/api/bxl/StackFrame"}},l={},s=[{value:"ActionSubError.category",id:"actionsuberrorcategory",level:2},{value:"ActionSubError.locations",id:"actionsuberrorlocations",level:2},{value:"ActionSubError.message",id:"actionsuberrormessage",level:2}],u={toc:s};function p(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"actionsuberror-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"ActionSubError")," type"),(0,o.mdx)("p",null,"Methods available on ",(0,o.mdx)("inlineCode",{parentName:"p"},"StarlarkActionSubError")," to help with testing the error handler implementation"),(0,o.mdx)("h2",{id:"actionsuberrorcategory"},"ActionSubError.category"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionSubError.category: str\n")),(0,o.mdx)("p",null,"The category name of this sub error. This function is only needed for action error handler unit testing."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionsuberrorlocations"},"ActionSubError.locations"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionSubError.locations: None | list[ActionErrorLocation]\n")),(0,o.mdx)("p",null,"Any locations associated with this sub error. This function is only needed for action error handler unit testing."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionsuberrormessage"},"ActionSubError.message"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionSubError.message: None | str\n")),(0,o.mdx)("p",null,"The optional message associated with this sub error. This function is only needed for action error handler unit testing."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/754588f1.3160b68c.js b/assets/js/754588f1.3160b68c.js new file mode 100644 index 0000000000000..ea437a2c57524 --- /dev/null +++ b/assets/js/754588f1.3160b68c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6037],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>u,MDXProvider:()=>s,mdx:()=>m,useMDXComponents:()=>p,withMDXComponents:()=>d});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),d=function(e){return function(t){var n=p(t.components);return r.createElement(e,a({},t,{components:n}))}},p=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=p(e.components);return r.createElement(u.Provider,{value:t},e.children)},y="mdxType",x={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=p(n),s=o,y=d["".concat(l,".").concat(s)]||d[s]||x[s]||a;return n?r.createElement(y,i(i({ref:t},u),{},{components:n})):r.createElement(y,i({ref:t},u))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,l=new Array(a);l[0]=b;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[y]="string"==typeof e?e:o,l[1]=i;for(var u=2;u<a;u++)l[u]=n[u];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}b.displayName="MDXCreateElement"},34567:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var r=n(87462),o=(n(67294),n(3905));const a={id:"bxl.ActionQueryNode"},l="bxl.ActionQueryNode type",i={unversionedId:"api/bxl/bxl.ActionQueryNode",id:"api/bxl/bxl.ActionQueryNode",title:"bxl.ActionQueryNode type",description:"Methods for action query node.",source:"@site/../docs/api/bxl/bxl.ActionQueryNode.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.ActionQueryNode",permalink:"/docs/api/bxl/bxl.ActionQueryNode",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.ActionQueryNode"},sidebar:"apiSidebar",previous:{title:"buck_regex type",permalink:"/docs/api/bxl/buck_regex"},next:{title:"bxl.Actions type",permalink:"/docs/api/bxl/bxl.Actions"}},c={},u=[{value:"bxl.ActionQueryNode.action",id:"bxlactionquerynodeaction",level:2},{value:"bxl.ActionQueryNode.analysis",id:"bxlactionquerynodeanalysis",level:2},{value:"bxl.ActionQueryNode.attrs",id:"bxlactionquerynodeattrs",level:2},{value:"bxl.ActionQueryNode.rule_type",id:"bxlactionquerynoderule_type",level:2}],d={toc:u};function p(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"bxlactionquerynode-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"bxl.ActionQueryNode")," type"),(0,o.mdx)("p",null,"Methods for action query node."),(0,o.mdx)("h2",{id:"bxlactionquerynodeaction"},"bxl.ActionQueryNode.action"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.ActionQueryNode.action() -> None | action\n")),(0,o.mdx)("p",null,"Gets optional action from the action query target node."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"bxlactionquerynodeanalysis"},"bxl.ActionQueryNode.analysis"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.ActionQueryNode.analysis() -> None | bxl.AnalysisResult\n")),(0,o.mdx)("p",null,"Gets optional analysis from the action query target node."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"bxlactionquerynodeattrs"},"bxl.ActionQueryNode.attrs"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.ActionQueryNode.attrs: typing.Any\n")),(0,o.mdx)("p",null,"Gets the attributes from the action query node. Returns a struct."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"bxlactionquerynoderule_type"},"bxl.ActionQueryNode.rule","_","type"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.ActionQueryNode.rule_type: str\n")),(0,o.mdx)("p",null,"Gets the kind of action query node, either analysis or action kind."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/75c5f97a.3dbf325e.js b/assets/js/75c5f97a.3dbf325e.js new file mode 100644 index 0000000000000..26dab7eda88ed --- /dev/null +++ b/assets/js/75c5f97a.3dbf325e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[392],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>s,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>p,withMDXComponents:()=>m});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i.apply(this,arguments)}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,n,l=function(e,t){if(null==e)return{};var a,n,l={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var s=n.createContext({}),m=function(e){return function(t){var a=p(t.components);return n.createElement(e,i({},t,{components:a}))}},p=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},u=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},c="mdxType",x={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,i=e.originalType,r=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),m=p(a),u=l,c=m["".concat(r,".").concat(u)]||m[u]||x[u]||i;return a?n.createElement(c,o(o({ref:t},s),{},{components:a})):n.createElement(c,o({ref:t},s))}));function f(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var i=a.length,r=new Array(i);r[0]=h;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[c]="string"==typeof e?e:l,r[1]=o;for(var s=2;s<i;s++)r[s]=a[s];return n.createElement.apply(null,r)}return n.createElement.apply(null,a)}h.displayName="MDXCreateElement"},92235:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=a(87462),l=(a(67294),a(3905));const i={id:"globals"},r="globals",o={unversionedId:"api/bxl/globals",id:"api/bxl/globals",title:"globals",description:"Global method for error handling.",source:"@site/../docs/api/bxl/globals.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/globals",permalink:"/docs/api/bxl/globals",draft:!1,tags:[],version:"current",frontMatter:{id:"globals"},sidebar:"apiSidebar",previous:{title:"target_label type",permalink:"/docs/api/build/target_label"},next:{title:"ActionErrorCtx type",permalink:"/docs/api/bxl/ActionErrorCtx"}},d={},s=[{value:"ActionErrorCtx",id:"actionerrorctx",level:2},{value:"ActionErrorLocation",id:"actionerrorlocation",level:2},{value:"ActionSubError",id:"actionsuberror",level:2},{value:"AnalysisActions",id:"analysisactions",level:2},{value:"AnalysisContext",id:"analysiscontext",level:2},{value:"AnonTarget",id:"anontarget",level:2},{value:"AnonTargets",id:"anontargets",level:2},{value:"Artifact",id:"artifact",level:2},{value:"ArtifactTag",id:"artifacttag",level:2},{value:"ArtifactValue",id:"artifactvalue",level:2},{value:"Attr",id:"attr",level:2},{value:"CellPath",id:"cellpath",level:2},{value:"CellRoot",id:"cellroot",level:2},{value:"CommandExecutorConfig",id:"commandexecutorconfig",level:2},{value:"<code>.type</code> attribute",id:"type-attribute",level:4},{value:"Details",id:"details",level:4},{value:"ConfigurationInfo",id:"configurationinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-1",level:4},{value:"Details",id:"details-1",level:4},{value:"ConfiguredProvidersLabel",id:"configuredproviderslabel",level:2},{value:"ConfiguredTargetLabel",id:"configuredtargetlabel",level:2},{value:"ConstraintSettingInfo",id:"constraintsettinginfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-2",level:4},{value:"Details",id:"details-2",level:4},{value:"ConstraintValueInfo",id:"constraintvalueinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-3",level:4},{value:"Details",id:"details-3",level:4},{value:"DefaultInfo",id:"defaultinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-4",level:4},{value:"Details",id:"details-4",level:4},{value:"Dependency",id:"dependency",level:2},{value:"DynamicActions",id:"dynamicactions",level:2},{value:"DynamicActionsCallable",id:"dynamicactionscallable",level:2},{value:"ExecutionPlatformInfo",id:"executionplatforminfo",level:2},{value:"ExecutionPlatformRegistrationInfo",id:"executionplatformregistrationinfo",level:2},{value:"ExternalRunnerTestInfo",id:"externalrunnertestinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-5",level:4},{value:"Details",id:"details-5",level:4},{value:"InstallInfo",id:"installinfo",level:2},{value:"Label",id:"label",level:2},{value:"LocalResourceInfo",id:"localresourceinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-6",level:4},{value:"Details",id:"details-6",level:4},{value:"OutputArtifact",id:"outputartifact",level:2},{value:"PlatformInfo",id:"platforminfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-7",level:4},{value:"Details",id:"details-7",level:4},{value:"ProjectRoot",id:"projectroot",level:2},{value:"Promise",id:"promise",level:2},{value:"Provider",id:"provider",level:2},{value:"ProviderCollection",id:"providercollection",level:2},{value:"ProvidersLabel",id:"providerslabel",level:2},{value:"ResolvedStringWithMacros",id:"resolvedstringwithmacros",level:2},{value:"RunInfo",id:"runinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-8",level:4},{value:"Details",id:"details-8",level:4},{value:"Select",id:"select",level:2},{value:"TargetLabel",id:"targetlabel",level:2},{value:"TemplatePlaceholderInfo",id:"templateplaceholderinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-9",level:4},{value:"Details",id:"details-9",level:4},{value:"TransitiveSet",id:"transitiveset",level:2},{value:"TransitiveSetArgsProjection",id:"transitivesetargsprojection",level:2},{value:"TransitiveSetArgsProjectionIterator",id:"transitivesetargsprojectioniterator",level:2},{value:"TransitiveSetDefinition",id:"transitivesetdefinition",level:2},{value:"TransitiveSetIterator",id:"transitivesetiterator",level:2},{value:"TransitiveSetJsonProjection",id:"transitivesetjsonprojection",level:2},{value:"ValidationInfo",id:"validationinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-10",level:4},{value:"Details",id:"details-10",level:4},{value:"ValidationSpec",id:"validationspec",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-11",level:4},{value:"WorkerInfo",id:"workerinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-12",level:4},{value:"Details",id:"details-11",level:4},{value:"WorkerRunInfo",id:"workerruninfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-13",level:4},{value:"Details",id:"details-12",level:4},{value:"anon_rule",id:"anon_rule",level:2},{value:"attrs",id:"attrs",level:2},{value:"bxl",id:"bxl",level:2},{value:"bxl_main",id:"bxl_main",level:2},{value:"cli_args",id:"cli_args",level:2},{value:"cmd_args",id:"cmd_args",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-14",level:4},{value:"Details",id:"details-13",level:4},{value:"<code>ignore_artifacts</code>",id:"ignore_artifacts",level:2},{value:"<code>hidden</code>",id:"hidden",level:2},{value:"<code>absolute_prefix</code> and <code>absolute_suffix</code>",id:"absolute_prefix-and-absolute_suffix",level:2},{value:"ctarget_set",id:"ctarget_set",level:2},{value:"dedupe",id:"dedupe",level:2},{value:"dynamic_actions",id:"dynamic_actions",level:2},{value:"fail_no_stacktrace",id:"fail_no_stacktrace",level:2},{value:"file_set",id:"file_set",level:2},{value:"get_base_path",id:"get_base_path",level:2},{value:"get_cell_name",id:"get_cell_name",level:2},{value:"get_path_without_materialization",id:"get_path_without_materialization",level:2},{value:"get_paths_without_materialization",id:"get_paths_without_materialization",level:2},{value:"glob",id:"glob",level:2},{value:"host_info",id:"host_info",level:2},{value:"implicit_package_symbol",id:"implicit_package_symbol",level:2},{value:"load_symbols",id:"load_symbols",level:2},{value:"now",id:"now",level:2},{value:"oncall",id:"oncall",level:2},{value:"package",id:"package",level:2},{value:"package_name",id:"package_name",level:2},{value:"plugins",id:"plugins",level:2},{value:"provider",id:"provider-1",level:2},{value:"provider_field",id:"provider_field",level:2},{value:"read_config",id:"read_config",level:2},{value:"read_oncall",id:"read_oncall",level:2},{value:"read_package_value",id:"read_package_value",level:2},{value:"read_parent_package_value",id:"read_parent_package_value",level:2},{value:"read_root_config",id:"read_root_config",level:2},{value:"regex",id:"regex",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-15",level:4},{value:"regex_match",id:"regex_match",level:2},{value:"repository_name",id:"repository_name",level:2},{value:"rule",id:"rule",level:2},{value:"rule_exists",id:"rule_exists",level:2},{value:"select",id:"select-1",level:2},{value:"select_equal_internal",id:"select_equal_internal",level:2},{value:"select_map",id:"select_map",level:2},{value:"select_test",id:"select_test",level:2},{value:"set_cfg_constructor",id:"set_cfg_constructor",level:2},{value:"set_starlark_peak_allocated_byte_limit",id:"set_starlark_peak_allocated_byte_limit",level:2},{value:"sha256",id:"sha256",level:2},{value:"soft_error",id:"soft_error",level:2},{value:"transition",id:"transition",level:2},{value:"transitive_set",id:"transitive_set",level:2},{value:"utarget_set",id:"utarget_set",level:2},{value:"warning",id:"warning",level:2},{value:"write_package_value",id:"write_package_value",level:2}],m={toc:s};function p(e){let{components:t,...a}=e;return(0,l.mdx)("wrapper",(0,n.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,l.mdx)("h1",{id:"globals"},"globals"),(0,l.mdx)("p",null,"Global method for error handling."),(0,l.mdx)("h2",{id:"actionerrorctx"},"ActionErrorCtx"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorCtx: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"actionerrorlocation"},"ActionErrorLocation"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorLocation: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"actionsuberror"},"ActionSubError"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ActionSubError: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"analysisactions"},"AnalysisActions"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"AnalysisActions: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"analysiscontext"},"AnalysisContext"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"AnalysisContext: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"anontarget"},"AnonTarget"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"AnonTarget: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"anontargets"},"AnonTargets"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"AnonTargets: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"artifact"},"Artifact"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Artifact: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"artifacttag"},"ArtifactTag"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ArtifactTag: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"artifactvalue"},"ArtifactValue"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ArtifactValue: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"attr"},"Attr"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Attr: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"cellpath"},"CellPath"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"CellPath: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"cellroot"},"CellRoot"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"CellRoot: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"commandexecutorconfig"},"CommandExecutorConfig"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def CommandExecutorConfig(\n *,\n local_enabled: bool,\n remote_enabled: bool,\n remote_cache_enabled: None | bool = None,\n remote_dep_file_cache_enabled: bool = False,\n remote_execution_properties = None,\n remote_execution_action_key = None,\n remote_execution_max_input_files_mebibytes: None | int = None,\n remote_execution_queue_time_threshold_s: None | int = None,\n remote_execution_use_case = None,\n use_limited_hybrid: bool = False,\n allow_limited_hybrid_fallbacks: bool = False,\n allow_hybrid_fallbacks_on_failure: bool = False,\n use_windows_path_separators: bool = False,\n use_persistent_workers: bool = False,\n allow_cache_uploads: bool = False,\n max_cache_upload_mebibytes: None | int = None,\n experimental_low_pass_filter: bool = False,\n remote_output_paths: None | str = None,\n remote_execution_resource_units: None | int = None,\n remote_execution_dependencies: list[dict[str, str]] = []\n) -> command_executor_config\n")),(0,l.mdx)("p",null,"Contains configurations for how actions should be executed"),(0,l.mdx)("h4",{id:"type-attribute"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"command_executor_config"')),(0,l.mdx)("h4",{id:"details"},"Details"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"local_enabled")," : Whether to use local execution for this execution platform.\nIf both remote_enabled and local_enabled are ",(0,l.mdx)("inlineCode",{parentName:"li"},"True"),", we will use the hybrid executor"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_enabled"),": Whether to use remote execution for this execution platform"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_cache_enabled"),": Whether to query RE caches"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_properties"),": Properties for remote execution for this platform"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_action_key"),": A component to inject into the action key\nThis should typically used to inject variability into the action key so that\nit's different across e.g. build modes (RE uses the action key for things like expected memory utilization)"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_max_input_files_mebibytes"),": The maximum input file size (in bytes) that remote execution can support"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_queue_time_threshold_s"),": The maximum time in seconds we are willing to wait\nin the RE queue for remote execution to start running our action"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_use_case"),": The use case to use when communicating with RE"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"use_limited_hybrid"),": Whether to use the limited hybrid executor"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"allow_limited_hybrid_fallbacks"),": Whether to allow fallbacks"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"allow_hybrid_fallbacks_on_failure"),": Whether to allow fallbacks when the result is failure (i.e. the command failed on the primary, but the infra worked)"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"use_windows_path_separators"),": Whether to use Windows path separators in command line arguments"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"use_persistent workers"),": Whether to use persistent workers for local execution if they are available"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"allow_cache_uploads"),": Whether to upload local actions to the RE cache"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"max_cache_upload_mebibytes"),": Maximum size to upload in cache uploads"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"experimental_low_pass_filter"),": Whether to use the experimental low pass filter"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_output_paths"),": How to express output paths to RE"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_resource_units"),": The resources (eg. GPUs) to use for remote execution"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_dependencies"),": Dependencies for remote execution for this platform")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"configurationinfo"},"ConfigurationInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ConfigurationInfo(\n *,\n constraints: dict[target_label, ConstraintValueInfo],\n values: dict[str, str]\n) -> ConfigurationInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a rule contains configuration info. This is used both as part of defining configurations (",(0,l.mdx)("inlineCode",{parentName:"p"},"platform()"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"constraint_value()"),') and defining whether a target "matches" a configuration or not (',(0,l.mdx)("inlineCode",{parentName:"p"},"config_setting()"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"constraint_value()"),")"),(0,l.mdx)("h4",{id:"type-attribute-1"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ConfigurationInfo"')),(0,l.mdx)("h4",{id:"details-1"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"constraints: dict[target_label, ConstraintValueInfo]")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"values: dict[str, str]")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"configuredproviderslabel"},"ConfiguredProvidersLabel"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ConfiguredProvidersLabel: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"configuredtargetlabel"},"ConfiguredTargetLabel"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ConfiguredTargetLabel: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"constraintsettinginfo"},"ConstraintSettingInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ConstraintSettingInfo(*, label: target_label) -> ConstraintSettingInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a target can be used as a constraint key. This is the only provider returned by a ",(0,l.mdx)("inlineCode",{parentName:"p"},"constraint_setting()")," target."),(0,l.mdx)("h4",{id:"type-attribute-2"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ConstraintSettingInfo"')),(0,l.mdx)("h4",{id:"details-2"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"label: target_label")," - field")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"constraintvalueinfo"},"ConstraintValueInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ConstraintValueInfo(\n *,\n setting: ConstraintSettingInfo,\n label: target_label\n) -> ConstraintValueInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a target can be used as a constraint key. This is the only provider returned by a ",(0,l.mdx)("inlineCode",{parentName:"p"},"constraint_value()")," target."),(0,l.mdx)("h4",{id:"type-attribute-3"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ConstraintValueInfo"')),(0,l.mdx)("h4",{id:"details-3"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"setting: ConstraintSettingInfo")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"label: target_label")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"defaultinfo"},"DefaultInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def DefaultInfo(\n default_output: None | artifact = None,\n default_outputs: None | list[artifact] = None,\n other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _,\n sub_targets: dict[str, typing.Any] = _\n) -> DefaultInfo\n")),(0,l.mdx)("p",null,"A provider that all rules' implementations must return"),(0,l.mdx)("h4",{id:"type-attribute-4"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"DefaultInfo"')),(0,l.mdx)("h4",{id:"details-4"},"Details"),(0,l.mdx)("p",null,"In many simple cases, this can be inferred for the user."),(0,l.mdx)("p",null,"Example of a rule's implementation function and how these fields are used by the framework:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-starlark"},'# //foo_binary.bzl\ndef impl(ctx):\n ctx.action.run([ctx.attrs._cc[RunInfo], "-o", ctx.attrs.out.as_output()] + ctx.attrs.srcs)\n ctx.action.run([\n ctx.attrs._strip[RunInfo],\n "--binary",\n ctx.attrs.out,\n "--stripped-out",\n ctx.attrs.stripped.as_output(),\n "--debug-symbols-out",\n ctx.attrs.debug_info.as_output(),\n ])\n return [\n DefaultInfo(\n sub_targets = {\n "stripped": [\n DefaultInfo(default_outputs = [ctx.attrs.stripped, ctx.attrs.debug_info]),\n ],\n },\n default_output = ctx.attrs.out,\n ]\n\nfoo_binary = rule(\n impl=impl,\n attrs={\n "srcs": attrs.list(attrs.source()),\n "out": attrs.output(),\n "stripped": attrs.output(),\n "debug_info": attrs.output(),\n "_cc": attrs.dep(default="//tools:cc", providers=[RunInfo]),\n "_strip_script": attrs.dep(default="//tools:strip", providers=[RunInfo])\n)\n\ndef foo_binary_wrapper(name, srcs):\n foo_binary(\n name = name,\n srcs = src,\n out = name,\n stripped = name + ".stripped",\n debug_info = name + ".debug_info",\n )\n\n# //subdir/BUCK\nload("//:foo_binary.bzl", "foo_binary_wrapper")\n\ngenrule(name = "gen_stuff", ...., default_outs = ["foo.cpp"])\n\n# ":gen_stuff" pulls the default_outputs for //subdir:gen_stuff\nfoo_binary_wrapper(name = "foo", srcs = glob(["*.cpp"]) + [":gen_stuff"])\n\n# Builds just \'foo\' binary. The strip command is never invoked.\n$ buck build //subdir:foo\n\n# builds the \'foo\' binary, because it is needed by the \'strip\' command. Ensures that\n# both the stripped binary and the debug symbols are built.\n$ buck build //subdir:foo[stripped]\n')),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"sub_targets: dict[str, provider_collection]")," - A mapping of names to ",(0,l.mdx)("inlineCode",{parentName:"p"},"ProviderCollection"),"s. The keys are used when resolving the ",(0,l.mdx)("inlineCode",{parentName:"p"},"ProviderName")," portion of a ",(0,l.mdx)("inlineCode",{parentName:"p"},"ProvidersLabel")," in order to access the providers for a subtarget, such as when doing ",(0,l.mdx)("inlineCode",{parentName:"p"},"buck2 build cell//foo:bar[baz]"),". Just like any ",(0,l.mdx)("inlineCode",{parentName:"p"},"ProviderCollection"),", this collection must include at least a ",(0,l.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," provider. The subtargets can have their own subtargets as well, which can be accessed by chaining them, e.g.: ",(0,l.mdx)("inlineCode",{parentName:"p"},"buck2 build cell//foo:bar[baz][qux]"),".")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"default_outputs: list[artifact]")," - A list of ",(0,l.mdx)("inlineCode",{parentName:"p"},"Artifact"),'s that are built by default if this rule is requested explicitly, or depended on as as a "source".')),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo]")," - A list of ",(0,l.mdx)("inlineCode",{parentName:"p"},"ArtifactTraversable"),". The underlying ",(0,l.mdx)("inlineCode",{parentName:"p"},"Artifact"),"s they define will be built by default if this rule is requested, but ",(0,l.mdx)("em",{parentName:"p"},"not"),' when it\'s depended on as as a "source". ',(0,l.mdx)("inlineCode",{parentName:"p"},"ArtifactTraversable")," can be an ",(0,l.mdx)("inlineCode",{parentName:"p"},"Artifact")," (which yields itself), or ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args"),", which expand to all their inputs."))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dependency"},"Dependency"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Dependency: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dynamicactions"},"DynamicActions"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"DynamicActions: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dynamicactionscallable"},"DynamicActionsCallable"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"DynamicActionsCallable: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"executionplatforminfo"},"ExecutionPlatformInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ExecutionPlatformInfo(\n *,\n label: target_label,\n configuration: ConfigurationInfo,\n executor_config: command_executor_config\n) -> ExecutionPlatformInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a target represents an execution platform."),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"label: target_label")," - label of the defining rule, used in informative messages")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"configuration: ConfigurationInfo")," - The configuration of the execution platform")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"executor_config: command_executor_config")," - The executor config"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"executionplatformregistrationinfo"},"ExecutionPlatformRegistrationInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ExecutionPlatformRegistrationInfo(\n *,\n platforms: list[ExecutionPlatformInfo],\n fallback = None\n) -> ExecutionPlatformRegistrationInfo\n")),(0,l.mdx)("p",null,"Provider that gives the list of all execution platforms available for this build."),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"platforms: list[ExecutionPlatformInfo]")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"fallback: typing.Any")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"externalrunnertestinfo"},"ExternalRunnerTestInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ExternalRunnerTestInfo(\n type,\n command = None,\n env = None,\n labels = None,\n contacts = None,\n use_project_relative_paths = None,\n run_from_project_root = None,\n default_executor = None,\n executor_overrides = None,\n local_resources = None,\n worker = None\n) -> ExternalRunnerTestInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a rule can be tested using an external runner. This is the Buck1-compatible API for tests."),(0,l.mdx)("h4",{id:"type-attribute-5"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ExternalRunnerTestInfo"')),(0,l.mdx)("h4",{id:"details-5"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"test_type: str")," - A Starlark value representing the type of this test.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"command: list[typing.Any]")," - A Starlark value representing the command for this test. The external test runner is what gives meaning to this command.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"env: dict[str, typing.Any]")," - A Starlark value representing the environment for this test. Here again, the external test runner is what will this meaning. This is of type ",(0,l.mdx)("inlineCode",{parentName:"p"},"dict[str, ArgLike]"),".")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"labels: list[str]")," - A starlark value representing the labels for this test.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"contacts: list[str]")," - A starlark value representing the contacts for this test. This is largely expected to be an oncall, though it's not validated in any way.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"use_project_relative_paths: bool")," - Whether this test should use relative paths")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"run_from_project_root: bool")," - Whether this test should run from the project root, as opposed to the cell rootDefaults to ",(0,l.mdx)("inlineCode",{parentName:"p"},"True"),".")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"default_executor: command_executor_config")," - Default executor to use to run tests. If none is passed we will default to the execution platform.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"executor_overrides: dict[str, command_executor_config]")," - Executors that Tpx can use to override the default executor.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"local_resources: dict[str, None | label]")," - Mapping from a local resource type to a target with a corresponding provider. Required types are passed from test runner. If the value for a corresponding type is omitted it means local resource should be ignored when executing tests even if those are passed as required from test runner.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"worker: WorkerInfo")," - Configuration needed to spawn a new worker. This worker will be used to run every single command related to test execution, including listing."))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"installinfo"},"InstallInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def InstallInfo(installer: label, files: dict[str, artifact]) -> InstallInfo\n")),(0,l.mdx)("p",null,"A provider that can be constructed and have its fields accessed. Returned by rules."),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"installer: label")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"files: dict[str, artifact]")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"label"},"Label"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Label: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"localresourceinfo"},"LocalResourceInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def LocalResourceInfo(\n *,\n setup: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,\n resource_env_vars: dict[str, str],\n setup_timeout_seconds: None | float | int = None\n) -> LocalResourceInfo\n")),(0,l.mdx)("p",null,"A provider that can be constructed and have its fields accessed. Returned by rules."),(0,l.mdx)("h4",{id:"type-attribute-6"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"LocalResourceInfo"')),(0,l.mdx)("h4",{id:"details-6"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"setup: cmd_args"),' - Command to run to initialize a local resource. Running this command writes a JSON to stdout. This JSON represents a pool of local resources which are ready to be used. Example JSON would be: { "pid": 42, "resources": ','[ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ]',' } Where \'"pid"',(0,l.mdx)("inlineCode",{parentName:"p"},"maps to a PID of a process which should be sent SIGTERM to release the pool of resources when they are no longer needed."),'"resources"',(0,l.mdx)("inlineCode",{parentName:"p"},"maps to the pool of resources. When a local resource from this particular pool is needed for an execution command, single entity will be reserved from the pool, for example"),'{"socket_address": "bar:2"}',(0,l.mdx)("inlineCode",{parentName:"p"},"and environment variable with name resolved using mapping in"),"resource_env_vars",(0,l.mdx)("inlineCode",{parentName:"p"},"field and"),'"socket_address"` key will be added to execution command.')),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"resource_env_vars: dict[str, str]")," - Mapping from environment variable (appended to an execution command which is dependent on this local resource) to keys in setup command JSON output.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"setup_timeout_seconds: None | float | int")," - Timeout in seconds for ",(0,l.mdx)("inlineCode",{parentName:"p"},"setup")," command."))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"outputartifact"},"OutputArtifact"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"OutputArtifact: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"platforminfo"},"PlatformInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def PlatformInfo(\n *,\n label: str,\n configuration: ConfigurationInfo\n) -> PlatformInfo\n")),(0,l.mdx)("p",null,"A provider that can be constructed and have its fields accessed. Returned by rules."),(0,l.mdx)("h4",{id:"type-attribute-7"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"PlatformInfo"')),(0,l.mdx)("h4",{id:"details-7"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"label: str")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"configuration: ConfigurationInfo")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"projectroot"},"ProjectRoot"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ProjectRoot: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"promise"},"Promise"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Promise: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"provider"},"Provider"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Provider: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"providercollection"},"ProviderCollection"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ProviderCollection: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"providerslabel"},"ProvidersLabel"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ProvidersLabel: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"resolvedstringwithmacros"},"ResolvedStringWithMacros"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ResolvedStringWithMacros: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"runinfo"},"RunInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def RunInfo(\n args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _\n) -> RunInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a rule is runnable"),(0,l.mdx)("h4",{id:"type-attribute-8"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"RunInfo"')),(0,l.mdx)("h4",{id:"details-8"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"args: cmd_args")," - The command to run, stored as CommandLine")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"select"},"Select"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Select: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"targetlabel"},"TargetLabel"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TargetLabel: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"templateplaceholderinfo"},"TemplatePlaceholderInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def TemplatePlaceholderInfo(\n unkeyed_variables = {},\n keyed_variables = {}\n) -> TemplatePlaceholderInfo\n")),(0,l.mdx)("p",null,"A provider that is used for expansions in string attribute templates"),(0,l.mdx)("h4",{id:"type-attribute-9"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"TemplatePlaceholderInfo"')),(0,l.mdx)("h4",{id:"details-9"},"Details"),(0,l.mdx)("p",null,'String attribute templates allow two types of user-defined placeholders, "unkeyed placeholders"\nlike ',(0,l.mdx)("inlineCode",{parentName:"p"},"$(CXX)")," or ",(0,l.mdx)("inlineCode",{parentName:"p"},"$(aapt)"),' and "keyed placeholders" that include a target key like\n',(0,l.mdx)("inlineCode",{parentName:"p"},"$(cxxppflags //some:target)"),". The expansion of each of these types is based on the\n",(0,l.mdx)("inlineCode",{parentName:"p"},"TemplatePlaceholderInfo")," providers."),(0,l.mdx)("p",null,'"keyed placeholders" are used for the form ',(0,l.mdx)("inlineCode",{parentName:"p"},"$(<key> <target>)")," or ",(0,l.mdx)("inlineCode",{parentName:"p"},"$(<key> <target> <arg>)"),". In both cases\nthe lookup will expect a ",(0,l.mdx)("inlineCode",{parentName:"p"},"TemplatePlaceholderInfo")," in the providers of ",(0,l.mdx)("inlineCode",{parentName:"p"},"<target>"),". It will then lookup\n",(0,l.mdx)("inlineCode",{parentName:"p"},"<key>")," in the keyed_variables (call this the ",(0,l.mdx)("inlineCode",{parentName:"p"},"value"),"). There are then four valid possibilities:"),(0,l.mdx)("ol",null,(0,l.mdx)("li",{parentName:"ol"},"no-arg placeholder, an arg-like ",(0,l.mdx)("inlineCode",{parentName:"li"},"value"),": resolve to ",(0,l.mdx)("inlineCode",{parentName:"li"},"value")),(0,l.mdx)("li",{parentName:"ol"},"no-arg placeholder, a dictionary ",(0,l.mdx)("inlineCode",{parentName:"li"},"value"),": resolve to ",(0,l.mdx)("inlineCode",{parentName:"li"},'value["DEFAULT"]')),(0,l.mdx)("li",{parentName:"ol"},"arg placeholder, a non-dictionary ",(0,l.mdx)("inlineCode",{parentName:"li"},"value"),": this is an error"),(0,l.mdx)("li",{parentName:"ol"},"arg placeholder, a dictionary ",(0,l.mdx)("inlineCode",{parentName:"li"},"value"),": resolve to ",(0,l.mdx)("inlineCode",{parentName:"li"},"value[<arg>]"))),(0,l.mdx)("p",null,'"unkeyed placeholders" are resolved by matching to any of the deps of the target. ',(0,l.mdx)("inlineCode",{parentName:"p"},"$(CXX)"),' will resolve\nto the "CXX" value in any dep\'s ',(0,l.mdx)("inlineCode",{parentName:"p"},"TemplateProviderInfo.unkeyed_variables")),(0,l.mdx)("p",null,"Fields:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},'unkeyed_variables: A mapping of names to arg-like values. These are used for "unkeyed placeholder" expansion.'),(0,l.mdx)("li",{parentName:"ul"},'keyed_variables: A mapping of names to arg-like values or dictionary of string to\narg-like values. These are used for "keyed placeholder" expansion.')),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"unkeyed_variables: dict[str, typing.Any]")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"keyed_variables: dict[str, typing.Any]")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitiveset"},"TransitiveSet"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSet: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitivesetargsprojection"},"TransitiveSetArgsProjection"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSetArgsProjection: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitivesetargsprojectioniterator"},"TransitiveSetArgsProjectionIterator"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSetArgsProjectionIterator: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitivesetdefinition"},"TransitiveSetDefinition"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSetDefinition: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitivesetiterator"},"TransitiveSetIterator"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSetIterator: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitivesetjsonprojection"},"TransitiveSetJsonProjection"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSetJsonProjection: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"validationinfo"},"ValidationInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ValidationInfo(*, validations: list[ValidationSpec]) -> ValidationInfo\n")),(0,l.mdx)("p",null,"Provider describing how a given target node should be validated. Validations are run when target with ",(0,l.mdx)("inlineCode",{parentName:"p"},"ValidationInfo")," provider is a transitive dependency of a requested target."),(0,l.mdx)("h4",{id:"type-attribute-10"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ValidationInfo"')),(0,l.mdx)("h4",{id:"details-10"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"validations: list[ValidationSpec]")," - List of ",(0,l.mdx)("inlineCode",{parentName:"li"},"ValidationSpec")," values each representing a single validation.")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"validationspec"},"ValidationSpec"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ValidationSpec(\n *,\n name: str,\n validation_result: artifact,\n optional: bool = False\n) -> ValidationSpec\n")),(0,l.mdx)("h4",{id:"type-attribute-11"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ValidationSpec"')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"workerinfo"},"WorkerInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def WorkerInfo(exe = [], *, concurrency: None | int = None) -> WorkerInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a rule is a worker tool"),(0,l.mdx)("h4",{id:"type-attribute-12"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"WorkerInfo"')),(0,l.mdx)("h4",{id:"details-11"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"exe: cmd_args")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"concurrency: None | int")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"workerruninfo"},"WorkerRunInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def WorkerRunInfo(*, worker: WorkerInfo, exe = []) -> WorkerRunInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a rule can run using a worker"),(0,l.mdx)("h4",{id:"type-attribute-13"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"WorkerRunInfo"')),(0,l.mdx)("h4",{id:"details-12"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"worker: WorkerInfo")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"exe: cmd_args")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"anon_rule"},"anon","_","rule"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def anon_rule(\n *,\n impl: typing.Callable[[typing.Any], list[typing.Any]],\n attrs: dict[str, attribute],\n doc: str = "",\n artifact_promise_mappings: dict[str, typing.Callable[[typing.Any], list[typing.Any]]]\n) -> "function"\n')),(0,l.mdx)("p",null,"Define an anon rule, similar to how a normal rule is defined, except with an extra ",(0,l.mdx)("inlineCode",{parentName:"p"},"artifact_promise_mappings")," field. This is a dict where the keys are the string name of the artifact, and the values are the callable functions that produce the artifact. This is only intended to be used with anon targets."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"attrs"},"attrs"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"attrs: attrs\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxl"},"bxl"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'bxl: struct(ActionQueryNode = type, Actions = type, AnalysisResult = type, AqueryContext = type, AuditContext = type, BuildResult = type, CliArgs = type, ConfiguredTargetNode = type, ConfiguredTargetSet = type, Context = type, CqueryContext = type, EnsuredArtifact = type, FileNode = type, Filesystem = type, LazyResolvedAttrs = type, OutputStream = type, TargetUniverse = type, UnconfiguredTargetNode = type, UnconfiguredTargetSet = type, UqueryContext = type, cli_args = struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function"), ctarget_set = "function", fail_no_stacktrace = "function", file_set = "function", get_path_without_materialization = "function", get_paths_without_materialization = "function", now = "function", utarget_set = "function")\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxl_main"},"bxl","_","main"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def bxl_main(\n *,\n impl: typing.Callable,\n cli_args: dict[str, bxl.CliArgs],\n doc: str = ""\n)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"cli_args"},"cli","_","args"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'cli_args: struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function")\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"cmd_args"},"cmd","_","args"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def cmd_args(\n *args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,\n hidden: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _,\n delimiter: str = _,\n format: str = _,\n prepend: str = _,\n quote: str = _,\n ignore_artifacts: bool = False,\n absolute_prefix: str = _,\n absolute_suffix: str = _,\n parent: int = 0,\n relative_to: artifact | cell_root | project_root | (artifact | cell_root | project_root, int) = _,\n replace_regex: list[(buck_regex | str, str)] | (buck_regex | str, str) = _\n) -> cmd_args\n")),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args")," type is created by this function and is consumed by ",(0,l.mdx)("inlineCode",{parentName:"p"},"ctx.actions.run"),". The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, ",(0,l.mdx)("inlineCode",{parentName:"p"},"RunInfo")," and lists thereof can be added to or used to construct a ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args")," value."),(0,l.mdx)("h4",{id:"type-attribute-14"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"cmd_args"')),(0,l.mdx)("h4",{id:"details-13"},"Details"),(0,l.mdx)("p",null,"The arguments are:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"*args")," - a list of things to add to the command line, each of which must be coercible to a command line. Further items can be added with ",(0,l.mdx)("inlineCode",{parentName:"li"},"cmd.add"),"."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"format")," - a string that provides a format to apply to the argument. for example, ",(0,l.mdx)("inlineCode",{parentName:"li"},'cmd_args(x, format="--args={}")')," would prepend ",(0,l.mdx)("inlineCode",{parentName:"li"},"--args=")," before ",(0,l.mdx)("inlineCode",{parentName:"li"},"x"),", or if ",(0,l.mdx)("inlineCode",{parentName:"li"},"x")," was a list, before each element in ",(0,l.mdx)("inlineCode",{parentName:"li"},"x"),"."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"delimiter")," - added between arguments to join them together. For example, ",(0,l.mdx)("inlineCode",{parentName:"li"},'cmd_args(["--args=",x], delimiter="")')," would produce a single argument to the underlying tool."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"prepend")," - added as a separate argument before each argument."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"quote")," - indicates whether quoting is to be applied to each argument. The only current valid value is ",(0,l.mdx)("inlineCode",{parentName:"li"},'"shell"'),"."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"ignore_artifacts")," - if ",(0,l.mdx)("inlineCode",{parentName:"li"},"True"),", artifacts paths are used, but artifacts are not pulled."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"hidden")," - artifacts not present on the command line, but added as dependencies."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"absolute_prefix")," and ",(0,l.mdx)("inlineCode",{parentName:"li"},"absolute_suffix")," - added to the start and end of each artifact."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"parent")," - for all the artifacts use their ",(0,l.mdx)("inlineCode",{parentName:"li"},"parent"),"th directory (e.g. ",(0,l.mdx)("inlineCode",{parentName:"li"},"parent = 1")," for the directory the artifact is located, ",(0,l.mdx)("inlineCode",{parentName:"li"},"parent = 2")," for that directory's parent, etc.)."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"relative_to")," - make all artifact paths relative to a given location."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"replace_regex")," - replaces arguments with a regular expression.")),(0,l.mdx)("h2",{id:"ignore_artifacts"},(0,l.mdx)("inlineCode",{parentName:"h2"},"ignore_artifacts")),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"ignore_artifacts=True")," makes ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args")," to have no declared dependencies.\nAllows you to reference the path of an artifact ",(0,l.mdx)("em",{parentName:"p"},"without")," introducing dependencies on it."),(0,l.mdx)("p",null,"As an example where this can be useful, consider passing a dependency that is only accessed at runtime, but whose path\nmust be baked into the binary. As an example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'resources = cmd_args(resource_file, format = "-DFOO={}").ignore_artifacts()\nctx.actions.run(cmd_args("gcc", "-c", source_file, resources))\n')),(0,l.mdx)("p",null,"Note that ",(0,l.mdx)("inlineCode",{parentName:"p"},"ignore_artifacts")," sets all artifacts referenced by this ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args")," to be ignored, including those added afterwards,\nso generally create a special ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args")," and scope it quite tightly."),(0,l.mdx)("p",null,"If you actually do use the inputs referenced by this command,\nyou will either error out due to missing dependencies (if running actions remotely)\nor have untracked dependencies that will fail to rebuild when it should."),(0,l.mdx)("h2",{id:"hidden"},(0,l.mdx)("inlineCode",{parentName:"h2"},"hidden")),(0,l.mdx)("p",null,"Things to add to the command line which do not show up but are added as dependencies.\nThe values can be anything normally permissible to pass to ",(0,l.mdx)("inlineCode",{parentName:"p"},"add"),"."),(0,l.mdx)("p",null,"Typically used if the command you are running implicitly depends on files that are not\npassed on the command line, e.g. headers in the case of a C compilation."),(0,l.mdx)("h2",{id:"absolute_prefix-and-absolute_suffix"},(0,l.mdx)("inlineCode",{parentName:"h2"},"absolute_prefix")," and ",(0,l.mdx)("inlineCode",{parentName:"h2"},"absolute_suffix")),(0,l.mdx)("p",null,"Adds a prefix to the start or end of every artifact."),(0,l.mdx)("p",null,"Prefix is often used if you have a ",(0,l.mdx)("inlineCode",{parentName:"p"},"$ROOT")," variable\nin a shell script and want to use it to make files absolute."),(0,l.mdx)("p",null,"Suffix is often used in conjunction with ",(0,l.mdx)("inlineCode",{parentName:"p"},"absolute_prefix"),"\nto wrap artifacts in function calls."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'cmd_args(script, absolute_prefix = "$ROOT/")\ncmd_args(script, absolute_prefix = "call", absolute_suffix = ")")\n')),(0,l.mdx)("h1",{id:"parent"},"`parent"),(0,l.mdx)("p",null,"`\nFor all the artifacts use their parent directory."),(0,l.mdx)("p",null,"Typically used when the file name is passed one way, and the directory another,\ne.g. ",(0,l.mdx)("inlineCode",{parentName:"p"},'cmd_args(artifact, format="-L{}", parent=1)'),"."),(0,l.mdx)("h1",{id:"relative_todir-or-relative_todir-parent"},(0,l.mdx)("inlineCode",{parentName:"h1"},"relative_to=dir")," or ",(0,l.mdx)("inlineCode",{parentName:"h1"},"relative_to=(dir, parent)")),(0,l.mdx)("p",null,"Make all artifact paths relative to a given location. Typically used when the command\nyou are running changes directory."),(0,l.mdx)("p",null,"By default, the paths are relative to the artifacts themselves (equivalent to\nparent equals to ",(0,l.mdx)("inlineCode",{parentName:"p"},"0"),"). Use ",(0,l.mdx)("inlineCode",{parentName:"p"},"parent")," to make the paths relative to an ancestor directory.\nFor example parent equals to ",(0,l.mdx)("inlineCode",{parentName:"p"},"1")," would make all paths relative to the containing dirs\nof any artifacts in the ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args"),"."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'dir = symlinked_dir(...)\nscript = [\n cmd_args(dir, format = "cd {}", relative_to=dir),\n]\n')),(0,l.mdx)("h1",{id:"replace_regex"},(0,l.mdx)("inlineCode",{parentName:"h1"},"replace_regex")),(0,l.mdx)("p",null,"Replaces all parts matching pattern regular expression (or regular expressions)\nin each argument with replacement strings."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"ctarget_set"},"ctarget","_","set"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ctarget_set(nodes: list[bxl.ConfiguredTargetNode] = _) -> target_set\n")),(0,l.mdx)("p",null,"Creates a target set from a list of configured nodes."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_ctarget_set(ctx):\n targets = bxl.ctarget_set([cnode_a, cnode_b])\n ctx.output.print(type(targets))\n ctx.output.print(len(targets))\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dedupe"},"dedupe"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def dedupe(val, /)\n")),(0,l.mdx)("p",null,"Remove duplicates in a list. Uses identity of value (pointer), rather than by equality. In many cases you should use a transitive set instead."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dynamic_actions"},"dynamic","_","actions"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def dynamic_actions(\n *,\n impl: typing.Callable["actions: actions, artifacts: dict[artifact, artifact_value], outputs: dict[artifact, artifact], arg: typing.Any", None]\n) -> DynamicActionCallable\n')),(0,l.mdx)("p",null,"Create new dynamic action callable. Returned object will be callable, and the result of calling it can be passed to ",(0,l.mdx)("inlineCode",{parentName:"p"},"ctx.actions.dynamic_output_new"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"fail_no_stacktrace"},"fail","_","no","_","stacktrace"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def fail_no_stacktrace(*args) -> None\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"file_set"},"file","_","set"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def file_set() -> file_set\n")),(0,l.mdx)("p",null,"Creates an empty file set for configured nodes."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_file_set(ctx):\n files = file_set()\n ctx.output.print(type(files))\n ctx.output.print(len(files))\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"get_base_path"},"get","_","base","_","path"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def get_base_path() -> str\n")),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"get_base_path()")," can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo//bar/baz/BUCK")," the output will be ",(0,l.mdx)("inlineCode",{parentName:"p"},"bar/baz"),". E.g. inside ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo//bar/PACKAGE")," the output will be ",(0,l.mdx)("inlineCode",{parentName:"p"},"bar"),"."),(0,l.mdx)("p",null,"This function is identical to ",(0,l.mdx)("inlineCode",{parentName:"p"},"package_name"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"get_cell_name"},"get","_","cell","_","name"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def get_cell_name() -> str\n")),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"get_cell_name()")," can be called from either a ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file or a ",(0,l.mdx)("inlineCode",{parentName:"p"},".bzl")," file, and returns the name of the cell where the ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file that started the call lives."),(0,l.mdx)("p",null,"For example, inside ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo//bar/baz/BUCK")," the output will be ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo"),".\nIf that ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file does a ",(0,l.mdx)("inlineCode",{parentName:"p"},'load("hello//world.bzl", "something")')," then\nthe result in that ",(0,l.mdx)("inlineCode",{parentName:"p"},".bzl")," file will also be ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"get_path_without_materialization"},"get","_","path","_","without","_","materialization"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def get_path_without_materialization(\n this: artifact,\n ctx: bxl.Context,\n /,\n *,\n abs: bool = False\n) -> str\n")),(0,l.mdx)("p",null,"The output path of an artifact-like (source, build, declared). Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized (i.e. it may not actually exist on the disk yet)."),(0,l.mdx)("p",null,"This is a risky function to call because you may accidentally pass this path to further BXL actions\nthat expect the artifact to be materialized. If this happens, the BXL script will error out.\nIf you want the path without materialization for other uses that don\u2019t involve passing them into\nfurther actions, then it\u2019s safe."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_get_path_without_materialization(ctx):\n owner = ctx.cquery().owner("cell//path/to/file")[0]\n artifact = owner.get_source("cell//path/to/file", ctx)\n source_artifact_project_rel_path = get_path_without_materialization(artifact, ctx)\n ctx.output.print(source_artifact_project_rel_path) # Note this artifact is NOT ensured or materialized\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"get_paths_without_materialization"},"get","_","paths","_","without","_","materialization"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def get_paths_without_materialization(\n cmd_line: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo,\n ctx: bxl.Context,\n /,\n *,\n abs: bool = False\n)\n")),(0,l.mdx)("p",null,"The output paths of a ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args()")," inputs. The output paths will be returned as a list. Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized, (i.e. it may not actually exist on the disk yet)."),(0,l.mdx)("p",null,"This is a risky function to call because you may accidentally pass this path to further BXL actions\nthat expect the artifact to be materialized. If this happens, the BXL script will error out.\nIf you want the path without materialization for other uses that don\u2019t involve passing them into\nfurther actions, then it\u2019s safe."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_get_paths_without_materialization(ctx):\n node = ctx.configured_targets("root//bin:the_binary")\n providers = ctx.analysis(node).providers()\n path = get_paths_without_materialization(providers[RunInfo], abs=True) # Note this artifact is NOT ensured or materialized\n ctx.output.print(path)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"glob"},"glob"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def glob(\n include: list[str] | tuple[str, ...],\n *,\n exclude: list[str] | tuple[str, ...] = []\n) -> list[str]\n")),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"glob()")," function specifies a set of files using patterns. Only available from ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," files."),(0,l.mdx)("p",null,"A typical ",(0,l.mdx)("inlineCode",{parentName:"p"},"glob")," call looks like:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'glob(["foo/**/*.h"])\n')),(0,l.mdx)("p",null,"This call will match all header files in the ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo")," directory, recursively."),(0,l.mdx)("p",null,"You can also pass a named ",(0,l.mdx)("inlineCode",{parentName:"p"},"exclude")," parameter to remove files matching a pattern:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'glob(["foo/**/*.h"], exclude = ["**/config.h"])\n')),(0,l.mdx)("p",null,"This call will remove all ",(0,l.mdx)("inlineCode",{parentName:"p"},"config.h")," files from the initial match."),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"glob()")," call is evaluated against the list of files owned by this ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file.\nA file is owned by whichever ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file is closest above it - so given ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/BUCK")," and\n",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/bar/BUCK")," the file ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/file.txt")," would be owned by ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/BUCK")," (and available from\nits ",(0,l.mdx)("inlineCode",{parentName:"p"},"glob")," results) but the file ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/bar/file.txt")," would be owned by ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/bar/BUCk"),"\nand ",(0,l.mdx)("em",{parentName:"p"},"not")," appear in the glob result of ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/BUCK"),", even if you write ",(0,l.mdx)("inlineCode",{parentName:"p"},'glob(["bar/file.txt"])'),".\nAs a consequence of this rule, ",(0,l.mdx)("inlineCode",{parentName:"p"},'glob(["../foo.txt"])')," will always return an empty list of files."),(0,l.mdx)("p",null,"Currently ",(0,l.mdx)("inlineCode",{parentName:"p"},"glob")," is evaluated case-insensitively on all file systems, but we expect\nthat to change to case sensitive in the near future."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"host_info"},"host","_","info"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def host_info() -> struct(..)\n")),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"host_info()")," function is used to get the current OS and processor architecture on the host. The structure returned is laid out thusly:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"struct(\n os=struct(\n is_linux=True|False,\n is_macos=True|False,\n is_windows=True|False,\n is_freebsd=True|False,\n is_unknown=True|False,\n ),\n arch=struct(\n is_aarch64=True|False,\n is_arm=True|False,\n is_armeb=True|False,\n is_i386=True|False,\n is_mips=True|False,\n is_mips64=True|False,\n is_mipsel=True|False,\n is_mipsel64=True|False,\n is_powerpc=True|False,\n is_ppc64=True|False,\n is_x86_64=True|False,\n is_unknown=True|False,\n ),\n)\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"implicit_package_symbol"},"implicit","_","package","_","symbol"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def implicit_package_symbol(name: str, default = _)\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"load_symbols"},"load","_","symbols"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def load_symbols(symbols: dict[str, typing.Any]) -> None\n")),(0,l.mdx)("p",null,"Used in a ",(0,l.mdx)("inlineCode",{parentName:"p"},".bzl")," file to set exported symbols. In most cases just defining the symbol as a top-level binding is sufficient, but sometimes the names might be programatically generated."),(0,l.mdx)("p",null,"It is undefined behaviour if you try and use any of the symbols exported\nhere later in the same module, or if they overlap with existing definitions.\nThis function should be used rarely."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"now"},"now"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def now() -> instant\n")),(0,l.mdx)("p",null,"Creates an Instant at the current time."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_elapsed_millis(ctx):\n instant = now()\n time_a = instant.elapsed_millis()\n # do something that takes a long time\n time_b = instant.elapsed_millis()\n\n ctx.output.print(time_a)\n ctx.output.print(time_b)\n")),(0,l.mdx)("p",null,"This function is only accessible through Bxl."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"oncall"},"oncall"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def oncall(name: str, /) -> None\n")),(0,l.mdx)("p",null,"Called in a ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file to declare the oncall contact details for all the targets defined. Must be called at most once, before any targets have been declared. Errors if called from a ",(0,l.mdx)("inlineCode",{parentName:"p"},".bzl")," file."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"package"},"package"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def package(\n *,\n inherit: bool = False,\n visibility: list[str] | tuple[str, ...] = [],\n within_view: list[str] | tuple[str, ...] = []\n) -> None\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"package_name"},"package","_","name"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def package_name() -> str\n")),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"package_name()")," can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo//bar/baz/BUCK")," the output will be ",(0,l.mdx)("inlineCode",{parentName:"p"},"bar/baz"),". E.g. inside ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo//bar/PACKAGE")," the output will be ",(0,l.mdx)("inlineCode",{parentName:"p"},"bar"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"plugins"},"plugins"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"plugins: plugins\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"provider-1"},"provider"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def provider(\n *,\n doc: str = "",\n fields: list[str] | tuple[str, ...] | dict[str, typing.Any]\n) -> provider_callable\n')),(0,l.mdx)("p",null,"Create a ",(0,l.mdx)("inlineCode",{parentName:"p"},'"provider"')," type that can be returned from ",(0,l.mdx)("inlineCode",{parentName:"p"},"rule")," implementations. Used to pass information from a rule to the things that depend on it. Typically named with an ",(0,l.mdx)("inlineCode",{parentName:"p"},"Info")," suffix."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'GroovyLibraryInfo(fields = [\n "objects", # a list of artifacts\n "options", # a string containing compiler options\n])\n')),(0,l.mdx)("p",null,"Given a dependency you can obtain the provider with ",(0,l.mdx)("inlineCode",{parentName:"p"},"my_dep[GroovyLibraryInfo]"),"\nwhich returns either ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," or a value of type ",(0,l.mdx)("inlineCode",{parentName:"p"},"GroovyLibraryInfo"),"."),(0,l.mdx)("p",null,"For providers that accumulate upwards a transitive set is often a good choice."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"provider_field"},"provider","_","field"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def provider_field(\n ty,\n /,\n *,\n default = _\n) -> ProviderField\n")),(0,l.mdx)("p",null,"Create a field definition object which can be passed to ",(0,l.mdx)("inlineCode",{parentName:"p"},"provider")," type constructor."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"read_config"},"read","_","config"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_config(section: str, key: str, default = _)\n")),(0,l.mdx)("p",null,"Read a configuration from the nearest enclosing ",(0,l.mdx)("inlineCode",{parentName:"p"},".buckconfig")," of the ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file that started evaluation of this code."),(0,l.mdx)("p",null,"As an example, if you have a ",(0,l.mdx)("inlineCode",{parentName:"p"},".buckconfig")," of:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-toml"},"[package_options]\ncompile = super_fast\n")),(0,l.mdx)("p",null,"Then you would get the following results:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'read_config("package_options", "compile") == "super_fast"\nread_config("package_options", "linker") == None\nread_config("package_options", "linker", "a_default") == "a_default"\n')),(0,l.mdx)("p",null,"In general the use of ",(0,l.mdx)("inlineCode",{parentName:"p"},".buckconfig")," is discouraged in favour of ",(0,l.mdx)("inlineCode",{parentName:"p"},"select"),",\nbut it can still be useful."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"read_oncall"},"read","_","oncall"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_oncall() -> None | str\n")),(0,l.mdx)("p",null,"Called in a ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file to retrieve the previously set ",(0,l.mdx)("inlineCode",{parentName:"p"},"oncall"),", or ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," if none has been set. It is an error to call ",(0,l.mdx)("inlineCode",{parentName:"p"},"oncall")," after calling this function."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"read_package_value"},"read","_","package","_","value"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_package_value(key: str, /)\n")),(0,l.mdx)("p",null,"Read value specified in the ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file."),(0,l.mdx)("p",null,"Returns ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," if value is not set."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"read_parent_package_value"},"read","_","parent","_","package","_","value"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_parent_package_value(key: str, /)\n")),(0,l.mdx)("p",null,"Read a package value defined in a parent ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file."),(0,l.mdx)("p",null,"This function can only be called in a Package context."),(0,l.mdx)("p",null,"Returns ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," if value is not set."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"read_root_config"},"read","_","root","_","config"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_root_config(\n section: str,\n key: str,\n default: None | str = None,\n /\n) -> None | str\n")),(0,l.mdx)("p",null,"Like ",(0,l.mdx)("inlineCode",{parentName:"p"},"read_config")," but the project root ",(0,l.mdx)("inlineCode",{parentName:"p"},".buckconfig")," is always consulted, regardless of the cell of the originating ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"regex"},"regex"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def regex(\n regex: str,\n /,\n *,\n fancy: bool = False\n) -> buck_regex\n")),(0,l.mdx)("h4",{id:"type-attribute-15"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"buck_regex"')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"regex_match"},"regex","_","match"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def regex_match(regex: str, str: str, /) -> bool\n")),(0,l.mdx)("p",null,"Test if a regular expression matches a string. Fails if the regular expression is malformed."),(0,l.mdx)("p",null,"As an example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'regex_match("^[a-z]*$", "hello") == True\nregex_match("^[a-z]*$", "1234") == False\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"repository_name"},"repository","_","name"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def repository_name() -> str\n")),(0,l.mdx)("p",null,"Like ",(0,l.mdx)("inlineCode",{parentName:"p"},"get_cell_name()")," but prepends a leading ",(0,l.mdx)("inlineCode",{parentName:"p"},"@")," for compatibility with Buck1. You should call ",(0,l.mdx)("inlineCode",{parentName:"p"},"get_cell_name()")," instead, and if you really want the ",(0,l.mdx)("inlineCode",{parentName:"p"},"@"),", prepend it yourself."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"rule"},"rule"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def rule(\n *,\n impl: typing.Callable[[typing.Any], list[typing.Any]],\n attrs: dict[str, attribute],\n cfg = _,\n doc: str = "",\n is_configuration_rule: bool = False,\n is_toolchain_rule: bool = False,\n uses_plugins: list[typing.Any] | tuple = []\n) -> "function"\n')),(0,l.mdx)("p",null,"Define a rule. As a simple example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def _my_rule(ctx: AnalysisContext) -> list[Provider]:\n output = ctx.actions.write("hello.txt", ctx.attrs.contents, executable = ctx.attrs.exe)\n return [DefaultInfo(outputs = [output])]\n\nMyRule = rule(impl = _my_rule, attrs = {\n "contents": attrs.string(),\n "exe": attrs.option(attrs.bool(), default = False),\n})\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"rule_exists"},"rule","_","exists"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def rule_exists(name: str) -> bool\n")),(0,l.mdx)("p",null,"Check if the target with ",(0,l.mdx)("inlineCode",{parentName:"p"},"name")," has already been defined, returns ",(0,l.mdx)("inlineCode",{parentName:"p"},"True")," if it has."),(0,l.mdx)("p",null,"Note that this function checks for the existence of a ",(0,l.mdx)("em",{parentName:"p"},"target")," rather than a ",(0,l.mdx)("em",{parentName:"p"},"rule"),".\nIn general use of this function is discouraged, as it makes definitions of rules not compose."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"select-1"},"select"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def select(d, /) -> selector\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"select_equal_internal"},"select","_","equal","_","internal"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def select_equal_internal(left, right, /) -> bool\n")),(0,l.mdx)("p",null,"Tests that two selects are equal to each other. For testing use only. We simply compare their string representations."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"select_map"},"select","_","map"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def select_map(d, func, /)\n")),(0,l.mdx)("p",null,"Maps a selector."),(0,l.mdx)("p",null,"Each value within a selector map and on each side of an addition will be passed to the\nmapping function. The returned selector will have the same structure as this one."),(0,l.mdx)("p",null,"Ex:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-starlark"},'def increment_items(a):\n return [v + 1 for v in a]\n\nselect_map([1, 2] + select({"c": [2]}), increment_items) == [2, 3] + select({"c": [3]})\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"select_test"},"select","_","test"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def select_test(d, func, /) -> bool\n")),(0,l.mdx)("p",null,"Test values in the select expression using the given function."),(0,l.mdx)("p",null,"Returns True, if any value in the select passes, else False."),(0,l.mdx)("p",null,"Ex:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-starlark"},'select_test([1] + select({"c": [1]}), lambda a: len(a) > 1) == False\nselect_test([1, 2] + select({"c": [1]}), lambda a: len(a) > 1) == True\nselect_test([1] + select({"c": [1, 2]}), lambda a: len(a) > 1) == True\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"set_cfg_constructor"},"set","_","cfg","_","constructor"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def set_cfg_constructor(\n *,\n stage0,\n stage1,\n key: str,\n aliases = None\n) -> None\n")),(0,l.mdx)("p",null,"Register global cfg constructor."),(0,l.mdx)("p",null,"This function can only be called from the repository root ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file."),(0,l.mdx)("p",null,"Parameters:\nstage0: The first cfg constructor that will be invoked before configuration rules are analyzed.\nstage1: The second cfg constructor that will be invoked after configuration rules are analyzed.\nkey: The key for cfg modifiers on PACKAGE values and metadata."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"set_starlark_peak_allocated_byte_limit"},"set","_","starlark","_","peak","_","allocated","_","byte","_","limit"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def set_starlark_peak_allocated_byte_limit(value: int, /) -> None\n")),(0,l.mdx)("p",null,"Set the peak allocated bytes during evaluation of build ctx. Err if it has already been set"),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"sha256"},"sha256"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def sha256(val: str, /) -> str\n")),(0,l.mdx)("p",null,"Computes a sha256 digest for a string. Returns the hex representation of the digest."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'sha256("Buck2 is the best build system") == "bb99a3f19ecba6c4d2c7cd321b63b669684c713881baae21a6b1d759b3ec6ac9"\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"soft_error"},"soft","_","error"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def soft_error(\n category: str,\n message: str,\n /,\n *,\n quiet: bool = _,\n stack: bool = _\n) -> None\n")),(0,l.mdx)("p",null,"Produce an error that will become a hard error at some point in the future, but for now is a warning which is logged to the server. In the open source version of Buck2 this function always results in an error."),(0,l.mdx)("p",null,"Called passing a stable key (must be ",(0,l.mdx)("inlineCode",{parentName:"p"},"snake_case")," and start with ",(0,l.mdx)("inlineCode",{parentName:"p"},"starlark_"),",\nused for consistent reporting) and an arbitrary message (used for debugging)."),(0,l.mdx)("p",null,"As an example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'soft_error(\n "starlark_rule_is_too_long",\n "Length of property exceeds 100 characters in " + repr(ctx.label),\n)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transition"},"transition"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def transition(\n *,\n impl: typing.Callable,\n refs: dict[str, str],\n attrs: list[str] | tuple[str, ...] = _,\n split: bool = False\n) -> transition\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitive_set"},"transitive","_","set"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def transitive_set(\n *,\n args_projections: dict[str, typing.Any] = _,\n json_projections: dict[str, typing.Any] = _,\n reductions: dict[str, typing.Any] = _\n) -> transitive_set_definition\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"utarget_set"},"utarget","_","set"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def utarget_set(nodes: list[bxl.UnconfiguredTargetNode] = _) -> target_set\n")),(0,l.mdx)("p",null,"Creates a target set from a list of unconfigured nodes."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_utarget_set(ctx):\n targets = bxl.utarget_set([unode_a, unode_b])\n ctx.output.print(type(targets))\n ctx.output.print(len(targets))\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"warning"},"warning"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def warning(x: str, /) -> None\n")),(0,l.mdx)("p",null,"Print a warning. The line will be decorated with the timestamp and other details, including the word ",(0,l.mdx)("inlineCode",{parentName:"p"},"WARN")," (colored, if the console supports it)."),(0,l.mdx)("p",null,"If you are not writing a warning, use ",(0,l.mdx)("inlineCode",{parentName:"p"},"print")," instead. Be aware that printing\nlots of output (warnings or not) can be cause all information to be ignored by the user."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"write_package_value"},"write","_","package","_","value"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def write_package_value(\n key: str,\n value,\n /,\n *,\n overwrite: bool = False\n) -> None\n")),(0,l.mdx)("p",null,"Set the value to be accessible in the nested ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files."),(0,l.mdx)("p",null,"If any parent ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," value has already set the same ",(0,l.mdx)("inlineCode",{parentName:"p"},"key"),",\nit will raise an error unless you pass ",(0,l.mdx)("inlineCode",{parentName:"p"},"overwrite = True"),",\nin which case it will replace the parent value."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/76ed1b17.9baea5ac.js b/assets/js/76ed1b17.9baea5ac.js new file mode 100644 index 0000000000000..ba137112940e4 --- /dev/null +++ b/assets/js/76ed1b17.9baea5ac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6251],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>u,MDXProvider:()=>m,mdx:()=>g,useMDXComponents:()=>c,withMDXComponents:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i.apply(this,arguments)}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var u=n.createContext({}),d=function(e){return function(t){var a=c(t.components);return n.createElement(e,i({},t,{components:a}))}},c=function(e){var t=n.useContext(u),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},m=function(e){var t=c(e.components);return n.createElement(u.Provider,{value:t},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(a),m=r,p=d["".concat(s,".").concat(m)]||d[m]||h[m]||i;return a?n.createElement(p,o(o({ref:t},u),{},{components:a})):n.createElement(p,o({ref:t},u))}));function g(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,s=new Array(i);s[0]=f;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o[p]="string"==typeof e?e:r,s[1]=o;for(var u=2;u<i;u++)s[u]=a[u];return n.createElement.apply(null,s)}return n.createElement.apply(null,a)}f.displayName="MDXCreateElement"},27909:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var n=a(87462),r=(a(67294),a(3905));const i={id:"why",title:"Why Buck2"},s=void 0,o={unversionedId:"about/why",id:"about/why",title:"Why Buck2",description:"Buck2 is a build system from Meta. This page answers the questions:",source:"@site/../docs/about/why.md",sourceDirName:"about",slug:"/about/why",permalink:"/docs/about/why",draft:!1,tags:[],version:"current",frontMatter:{id:"why",title:"Why Buck2"},sidebar:"mainSidebar",previous:{title:"Introduction",permalink:"/docs/"},next:{title:"Getting Started",permalink:"/docs/about/getting_started"}},l={},u=[{value:"Why does Buck2 exist?",id:"why-does-buck2-exist",level:2},{value:"What's different about Buck2?",id:"whats-different-about-buck2",level:2},{value:"Why use Buck2?",id:"why-use-buck2",level:2}],d={toc:u};function c(e){let{components:t,...a}=e;return(0,r.mdx)("wrapper",(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"Buck2 is a build system from Meta. This page answers the questions:\n",(0,r.mdx)("a",{parentName:"p",href:"#why-does-buck2-exist"},"why does Buck2 exist"),",\n",(0,r.mdx)("a",{parentName:"p",href:"#whats-different-about-buck2"},"what's different about Buck2"),", and\n",(0,r.mdx)("a",{parentName:"p",href:"#why-use-buck2"},"why use Buck2"),"."),(0,r.mdx)("h2",{id:"why-does-buck2-exist"},"Why does Buck2 exist?"),(0,r.mdx)("p",null,"Meta employs a very large monorepo, consisting of a variety of programming\nlanguages, including C++, Python, Rust, Kotlin, Swift, Objective-C, Haskell,\nOCaml, and more. Google employs a different but functionally similar monorepo."),(0,r.mdx)("p",null,"These large scale and multi-language repositories are generally beyond the\ncapabilities of traditional build systems like ",(0,r.mdx)("inlineCode",{parentName:"p"},"make"),". To optimize the build and\nperformance of these large systems, Facebook and Google developed their own\nbuild systems, respectively Buck and Bazel. While the internal version of Bazel\nwas started first (also known as Blaze), Buck was open sourced first (back in\nMarch 2013), followed by Bazel a few years later (March 2015)."),(0,r.mdx)("p",null,"The retroactively named Buck1 was a capable build system and is still in use\ntoday at Meta (although many users have migrated). Buck2 is a rewrite that aims\nto keep the best bits of Buck1 (with a high degree of target compatibility) but\nalso borrows ideas from ",(0,r.mdx)("a",{parentName:"p",href:"https://ndmitchell.com/#shake_10_sep_2012"},"academic"),"\n",(0,r.mdx)("a",{parentName:"p",href:"https://ndmitchell.com/#shake_21_apr_2020"},"research")," and build systems,\nincluding ",(0,r.mdx)("a",{parentName:"p",href:"https://bazel.build/"},"Bazel"),", ",(0,r.mdx)("a",{parentName:"p",href:"https://www.pantsbuild.org/"},"Pants"),",\n",(0,r.mdx)("a",{parentName:"p",href:"https://shakebuild.com/"},"Shake"),", ",(0,r.mdx)("a",{parentName:"p",href:"https://gittup.org/tup/"},"Tup"),", and more."),(0,r.mdx)("p",null,"Following are aspects common to Buck1 and Buck2 (and in most cases, Bazel):"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Targets that can be queried")," - the build is defined as a series of targets,\nspecified in ",(0,r.mdx)("inlineCode",{parentName:"li"},"BUCK")," files, that depend on other targets. This graph of targets\ncan be queried to understand how they relate to each other and what the\npotential impact of a change might be."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Remote execution")," - the build can send actions to a set of remote servers\nto be executed, increasing the parallelism significantly."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Multi-language composability")," - there can be lots of different languages in\na single build, and they can be put together. For example, you could have a\nPython library that depends on a Rust library, which, in turn depends on a C\nlibrary."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"File watching")," - at large enough scale, simply looking for changed files is\nprohibitively expensive. Buck can integrate with\n",(0,r.mdx)("a",{parentName:"li",href:"https://facebook.github.io/watchman/"},"Watchman")," to discover which files have\nchanged efficiently. However, for simplicity of setup, the open-source version\ndefaults to using ",(0,r.mdx)("inlineCode",{parentName:"li"},"inotify")," or similar functionality."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Uses Starlark")," - Starlark is a deterministic Python-like language used to\nspecify the targets, enabling the definition of targets as literals and more\nadvanced manipulation/sharing.")),(0,r.mdx)("h2",{id:"whats-different-about-buck2"},"What's different about Buck2?"),(0,r.mdx)("p",null,"Buck2 has many minor differences from Buck1, but there are a number that give\nnew efficiency or expressiveness that are of note (most of these are also\ndifferent from Bazel)."),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Buck2 is written in Rust")," - Buck1 was written in Java. One of the\nadvantages of using Rust is the absence of GC pauses, However, Java also has\nadvantages, such as better memory profiling tools."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Buck2 is remote execution first")," - local execution is considered a special\ncase of remote execution, in contrast to Buck1 where it was added after. That\nmeans that things such as directory hashes can be pre-computed ready to send\nto remote execution, giving efficiency benefits."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"All Buck2 rules are written in Starlark")," - whereas, in Buck1, they were\nwritten in Java as part of the binary, which makes iteration on rules much\nfaster."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"The Buck2 binary is entirely language agnostic")," - as a consequence of\nhaving all the rules external to the binary, the most important and complex\nrule (such as in C++), don't have access to magic internal features. As a\nresult, features have been made available to all rules, including:",(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"/docs/rule_authors/dep_files"},"Dep files")," - the ability to declare that a\nsubset of the files weren't actually used, and thus not be sensitive to\nchanges within them."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"/docs/rule_authors/incremental_actions"},"Incremental actions")," - the ability\nto have the action short-circuit some subset of the work if run again."))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Buck2 uses a dynamic (aka monadic) graph as its underlying computation\nengine")," - while most dependencies are specified statically, there are two\nparticular features that expose dynamic power to rule authors:",(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"/docs/rule_authors/dynamic_dependencies"},"Dynamic dependencies")," - enable\nrules to build a file then look at its contents before specifying the\ndependencies and steps in future actions. Common uses are languages where\nthe dependency structure within a project must follow imports (e.g. Haskell,\nOCaml) and distributed ThinLTO (where the best optimization plan is\ngenerated from summaries)."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"/docs/rule_authors/anon_targets"},"Anonymous targets")," - enable rules to\ncreate a graph that has more sharing than the original user graph. As a\nresult, two unrelated binaries can compile shared code only once, despite\nthe shared code not knowing about this commonality. This feature is useful\nfor rules like Swift feature resolution."))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},(0,r.mdx)("a",{parentName:"strong",href:"/docs/rule_authors/transitive_sets"},"Transitive-sets"))," - similar in purpose\nto Bazel's ",(0,r.mdx)("a",{parentName:"li",href:"https://bazel.build/rules/lib/depset"},"depset"),". But, instead of\nbeing just a memory optimization, are also wired into the dependency graph,\nproviding a reduction in the size of the dependency graph."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Buck2 is not phased")," - there are no target graph/action graph phases, just\na series of dependencies in a\n",(0,r.mdx)("a",{parentName:"li",href:"https://github.com/facebook/buck2/blob/main/dice/dice/docs/index.md"},"single graph on DICE"),"\nthat result in whatever the user requested. That means that Buck2 can\nsometimes parallelise different phases and track changes very precisely."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Buck2 can integrate with the virtual filesystem\n",(0,r.mdx)("a",{parentName:"strong",href:"https://github.com/facebook/sapling"},"Eden"))," - this provides good\nperformance, even when the file system is backed by source control fetches.\nHowever, Eden is not required, and a normal file system will also work well."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"The Buck2 Starlark implementation is available\n",(0,r.mdx)("a",{parentName:"strong",href:"https://developers.facebook.com/blog/post/2021/04/08/rust-starlark-library/"},"as a standalone library"))," -\nthis provides features such as IDE integration (both LSP and DAP bindings),\nlinters, typecheckers, and more. These features are integrated into Buck2 to\ngive a better developer experience (which is still evolving)."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Buck2 supports configurations")," - (such as ",(0,r.mdx)("inlineCode",{parentName:"li"},"select"),") to provide\nmulti-platform/architecture builds, which are heavily inspired by Bazel.\nWithin that space, there is a number of small differences, such as\n",(0,r.mdx)("inlineCode",{parentName:"li"},"toolchain_deps"),"."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Buck2 is fast")," - in our internal tests, we observed that Buck2 completed\nbuilds 2x as fast as Buck1.")),(0,r.mdx)("p",null,"For a comprehensive list of benefits, see\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/about/benefits/compared_to_buck1"},"Benefits Compared to Buck1"),"."),(0,r.mdx)("h2",{id:"why-use-buck2"},"Why use Buck2?"),(0,r.mdx)("p",null,"It would be delightful if you tried out Buck2! But it is early-stage software,\nso users may run into unexpected issues. If you encounter an issue, please\nreport it via ",(0,r.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/issues"},"Github issues"),"."),(0,r.mdx)("p",null,"Buck2 is being used internally within Meta and is available as open-source\nfrom 2023."),(0,r.mdx)("p",null,"There are several differences between the internal and open-source versions:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Meta uses an internal version of remote execution with builds always hooked up\nto remote execution. The open-source binding, which uses Buck2 without remote\nexecution, may be less polished."),(0,r.mdx)("li",{parentName:"ul"},"There are some configuration differences between the open source and internal\nversions. For example, file changes default to ",(0,r.mdx)("inlineCode",{parentName:"li"},"inotify")," in open-source, and\nto Watchman internally."),(0,r.mdx)("li",{parentName:"ul"},"The prelude (containing all the rules) is the same for open-source as\ninternal, but toolchains are not open-sourced. The required custom toolchains\nmay not work as well.")),(0,r.mdx)("p",null,"There are also some things that aren't quite yet finished:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"There are not yet mechanisms to build in release mode (that should be achieved\nby modifying the toolchain)."),(0,r.mdx)("li",{parentName:"ul"},"Windows/Mac builds are still in progress; open-source code is mostly tested on\nLinux.")),(0,r.mdx)("p",null,"If none of that puts you off, ",(0,r.mdx)("a",{parentName:"p",href:"/docs/about/getting_started"},"give Buck2 a go"),"!"))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7945c54f.e042dc1a.js b/assets/js/7945c54f.e042dc1a.js new file mode 100644 index 0000000000000..392db5be84375 --- /dev/null +++ b/assets/js/7945c54f.e042dc1a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9465],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>l,MDXProvider:()=>p,mdx:()=>h,useMDXComponents:()=>m,withMDXComponents:()=>u});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=r.createContext({}),u=function(e){return function(n){var t=m(n.components);return r.createElement(e,a({},n,{components:t}))}},m=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},p=function(e){var n=m(e.components);return r.createElement(l.Provider,{value:n},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},b=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=m(t),p=o,d=u["".concat(i,".").concat(p)]||u[p]||f[p]||a;return t?r.createElement(d,c(c({ref:n},l),{},{components:t})):r.createElement(d,c({ref:n},l))}));function h(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=b;var c={};for(var s in n)hasOwnProperty.call(n,s)&&(c[s]=n[s]);c.originalType=e,c[d]="string"==typeof e?e:o,i[1]=c;for(var l=2;l<a;l++)i[l]=t[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}b.displayName="MDXCreateElement"},86839:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var r=t(87462),o=(t(67294),t(3905));const a={id:"completion",title:"completion"},i=void 0,c={unversionedId:"users/commands/completion",id:"users/commands/completion",title:"completion",description:"These are the flags/commands under buck2 completion and their --help output:",source:"@site/../docs/users/commands/completion.generated.md",sourceDirName:"users/commands",slug:"/users/commands/completion",permalink:"/docs/users/commands/completion",draft:!1,tags:[],version:"current",frontMatter:{id:"completion",title:"completion"},sidebar:"mainSidebar",previous:{title:"clean",permalink:"/docs/users/commands/clean"},next:{title:"cquery",permalink:"/docs/users/commands/cquery"}},s={},l=[{value:"buck completion",id:"buck-completion",level:2}],u={toc:l};function m(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"These are the flags/commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 completion")," and their ",(0,o.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,o.mdx)("h2",{id:"buck-completion"},"buck completion"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Print completion configuration for shell\n\nFor a one-time setup, run one of the following commands:\n source <(buck2 completion bash)\n source <(buck2 completion zsh)\n\nUsage: buck2-release completion [OPTIONS] <SHELL>\n\nArguments:\n <SHELL>\n shell for which to generate completion script\n \n [possible values: bash, zsh]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/794bd6ba.b43ff20f.js b/assets/js/794bd6ba.b43ff20f.js new file mode 100644 index 0000000000000..252d5aedf05b1 --- /dev/null +++ b/assets/js/794bd6ba.b43ff20f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3296],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>m,MDXProvider:()=>d,mdx:()=>g,useMDXComponents:()=>u,withMDXComponents:()=>c});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var m=n.createContext({}),c=function(e){return function(t){var r=u(t.components);return n.createElement(e,o({},t,{components:r}))}},u=function(e){var t=n.useContext(m),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=u(e.components);return n.createElement(m.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),c=u(r),d=a,p=c["".concat(i,".").concat(d)]||c[d]||f[d]||o;return r?n.createElement(p,l(l({ref:t},m),{},{components:r})):n.createElement(p,l({ref:t},m))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=y;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:a,i[1]=l;for(var m=2;m<o;m++)i[m]=r[m];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},62942:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>f,frontMatter:()=>o,metadata:()=>l,toc:()=>m});var n=r(87462),a=(r(67294),r(3905));const o={id:"starlark_peak_mem",title:"Debugging Excess Starlark Peak Memory"},i=void 0,l={unversionedId:"users/faq/starlark_peak_mem",id:"users/faq/starlark_peak_mem",title:"Debugging Excess Starlark Peak Memory",description:"Wut memory?",source:"@site/../docs/users/faq/starlark_peak_mem.md",sourceDirName:"users/faq",slug:"/users/faq/starlark_peak_mem",permalink:"/docs/users/faq/starlark_peak_mem",draft:!1,tags:[],version:"current",frontMatter:{id:"starlark_peak_mem",title:"Debugging Excess Starlark Peak Memory"},sidebar:"mainSidebar",previous:{title:"Common Issues",permalink:"/docs/users/faq/common_issues"},next:{title:"Why is Buck2 hanging?",permalink:"/docs/users/faq/buck_hanging"}},s={},m=[{value:"Wut memory?",id:"wut-memory",level:2},{value:"How do I see my build file's peak memory usage?",id:"how-do-i-see-my-build-files-peak-memory-usage",level:2},{value:"Profiler to the rescue!",id:"profiler-to-the-rescue",level:2},{value:"How do I reduce memory footprint?",id:"how-do-i-reduce-memory-footprint",level:2},{value:"Repeatedly allocating memory unnecessarily in a loop",id:"repeatedly-allocating-memory-unnecessarily-in-a-loop",level:3},{value:"Simply allocating very big data-structures!",id:"simply-allocating-very-big-data-structures",level:3},{value:"Algorithmically inefficient code",id:"algorithmically-inefficient-code",level:3},{value:"Usage of inefficient library calls",id:"usage-of-inefficient-library-calls",level:3},{value:"Allocating for rare cases",id:"allocating-for-rare-cases",level:3},{value:"I still need more help!",id:"i-still-need-more-help",level:2}],c=e=>function(t){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,a.mdx)("div",t)},u=c("FbInternalOnly"),d=c("OssOnly"),p={toc:m};function f(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h2",{id:"wut-memory"},"Wut memory?"),(0,a.mdx)("p",null,"Peak memory is the maximum amount of memory used during evaluation of that\nparticular Starlark file. The memory is usually released after we finish the\nevaluation of the file. Because Starlark is only garbage collected in between\ntop-level statements in the BUCK file, but not garbage collected inside function\ncalls/macros, on large servers with 64 hardware threads (or more), memory usage\nmight accumulate, causing slowdowns or OOMs ",(0,a.mdx)(u,{mdxType:"FbInternalOnly"}," or even SEVs (e.g.\n",(0,a.mdx)("a",{parentName:"p",href:"https://internalfb.com/S372092"},"S372092"),"). See\n",(0,a.mdx)("a",{parentName:"p",href:"https://fb.workplace.com/groups/1267349253953900/permalink/1312921066063385/"},"this post"),"\nfor more details on how Starlark's current GC works ")," ."),(0,a.mdx)("p",null,"To prevent such issues until proper GC is implemented, we have set a hard ",(0,a.mdx)("inlineCode",{parentName:"p"},"2GB"),"\nmemory limit for Starlark's evaluation of build files. This is a per-file limit."),(0,a.mdx)("p",null,"Note that this is different than the actual process memory which might include\nother things apart from Starlark\u2019s evaluation."),(0,a.mdx)("h2",{id:"how-do-i-see-my-build-files-peak-memory-usage"},"How do I see my build file's peak memory usage?"),(0,a.mdx)("p",null,"To see the Starlark peak memory usage of a build file, you can inspect the event\nlog for your build file. Here is an example entry from the event log for buck2\nuquery ",(0,a.mdx)("inlineCode",{parentName:"p"},"target")," showing that it uses 1.5GB:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},'{"Event":{..."data":{"Load":{"module_id":"target:BUCK","cell":"...","error":null,"starlark_peak_allocated_bytes":1610608640}}}}}}\n')),(0,a.mdx)("h2",{id:"profiler-to-the-rescue"},"Profiler to the rescue!"),(0,a.mdx)("p",null,"If you want to see more detailed breakdown where the memory is used, you should\nprofile Starlark's evaluation of build files. See\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/rule_authors/optimization/#starlark-profiling"},"this page")," for details\nof profiling in the loading stage. This is a great starting point for\ntroubleshooting."),(0,a.mdx)("h2",{id:"how-do-i-reduce-memory-footprint"},"How do I reduce memory footprint?"),(0,a.mdx)("p",null,"There are many reasons why Starlark's evaluation of your build file might use a\nlot of memory. We list a few common cases below but there might be more\ncases.",(0,a.mdx)(u,{mdxType:"FbInternalOnly"}," See\n",(0,a.mdx)("a",{parentName:"p",href:"https://fb.workplace.com/groups/buck2eng/permalink/3309329642697846/"},"this post"),"\nfor a few real world examples of debugging Starlark peak memory usage of core\nAndroid macros that have saved over 5.7GB peak memory!")),(0,a.mdx)("p",null,"High level guidance is to pay attention to loops as a starting point. Are there\nany unnecessary computations? Can you shave them off?"),(0,a.mdx)("h3",{id:"repeatedly-allocating-memory-unnecessarily-in-a-loop"},"Repeatedly allocating memory unnecessarily in a loop"),(0,a.mdx)("p",null,"A common case where memory usage might accumulate is repeatedly allocating\nmemory in a loop. For instance, below we call a memory intensive function in a\nloop unnecessarily:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"for target in huge_target_list:\n memory_intensive_fun(x,y)\n ...\n")),(0,a.mdx)("p",null,"Instead, if we know that arguments ",(0,a.mdx)("inlineCode",{parentName:"p"},"x")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"y")," don't change, we could hoist the\ncall to ",(0,a.mdx)("inlineCode",{parentName:"p"},"memory_intensive_fun")," outside of the loop as follows:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"memory_intensive_fun(x,y)\nfor target in huge_target_list:\n ...\n")),(0,a.mdx)("h3",{id:"simply-allocating-very-big-data-structures"},"Simply allocating very big data-structures!"),(0,a.mdx)("p",null,"Another reason why Starlark uses a lot of memory could simply be because the\nbuild file allocates a very big-data structure. For instance, below we allocate\na list with 1 billion integers!"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"million_list = [1 for i in range(1 << 20)]\nbillion_list = million_list * (1 << 10)\n\n")),(0,a.mdx)("p",null,"As a workaround, could you think of splitting the list?"),(0,a.mdx)("h3",{id:"algorithmically-inefficient-code"},"Algorithmically inefficient code"),(0,a.mdx)("p",null,"Another reason could be because memory efficiency of your code is bad, i.e. you\nare unnecessarily allocating a lot of memory. Let's look at an example where we\ntry to process a bunch of targets inefficiently:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"targets = generate_targets(n)\nfor target in targets:\n process(target)\n\n")),(0,a.mdx)("p",null,"If ",(0,a.mdx)("inlineCode",{parentName:"p"},"targets")," list is big ",(0,a.mdx)("strong",{parentName:"p"},"and")," each target takes a lot of space in memory,\nmemory usage might exceed the limit. Instead, a more efficient version might be\nto process each target as you generate it:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"for i in range(n):\n target = generate_target(i)\n process(target)\n")),(0,a.mdx)("p",null,"In this version, each target is processed as it is generated so we never need to\nstore more than one target in memory."),(0,a.mdx)("h3",{id:"usage-of-inefficient-library-calls"},"Usage of inefficient library calls"),(0,a.mdx)("p",null,"A more subtle reason could be unknowingly invoking library calls that allocate\neach time they are called. A well-known case of this is the ",(0,a.mdx)("inlineCode",{parentName:"p"},"dict.items()")," call."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"for project, version in constraints.items():\n # process each project ....\n")),(0,a.mdx)("p",null,"We do an allocation on every call to ",(0,a.mdx)("inlineCode",{parentName:"p"},"constraints.items()"),". Especially if this\nis a hot code in Starlark, this could cause an OOM. Instead, a potential fix is\nto hoist the call out:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"constraints = constraints.items()\nfor project, version in constraints:\n # process each project ....\n")),(0,a.mdx)("p",null,"However, you need to ensure that the dictionary is not mutated inside, otherwise\nyou would get functionally different code. A similar case occurs for\n",(0,a.mdx)("inlineCode",{parentName:"p"},"dict.keys()")," where it returns a new list for containing the keys."),(0,a.mdx)("h3",{id:"allocating-for-rare-cases"},"Allocating for rare cases"),(0,a.mdx)("p",null,"Finally, another pattern is allocating memory for the rare cases. For instance,\nconsdier the following example"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"for target in huge_target_list:\n if memory_intensive_condition([target])\n fail(...)\n")),(0,a.mdx)("p",null,"Above program could be optimized as follows:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"if memory_intensive_condition(huge_target_list)\n for target in huge_target_list:\n if memory_intensive_condition([target])\n fail(...)\n")),(0,a.mdx)("p",null,"so that in the common non-failure case, we don't end up allocating excessive\nmemory."),(0,a.mdx)("h2",{id:"i-still-need-more-help"},"I still need more help!"),(0,a.mdx)("p",null,"If you still can not figure out how to reduce Starlark memory footprint of your\nbuild files, ",(0,a.mdx)(u,{mdxType:"FbInternalOnly"},"please post in\n",(0,a.mdx)("a",{parentName:"p",href:"https://fb.workplace.com/groups/buck2users"},"Buck2 Users")),(0,a.mdx)(d,{mdxType:"OssOnly"},"raise\n",(0,a.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/issues"},"an issue")," in our Github\nproject"),"."))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/79d5604b.dd0f08b6.js b/assets/js/79d5604b.dd0f08b6.js new file mode 100644 index 0000000000000..ed6e486367582 --- /dev/null +++ b/assets/js/79d5604b.dd0f08b6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7826],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>o,MDXProvider:()=>u,mdx:()=>h,useMDXComponents:()=>m,withMDXComponents:()=>d});var r=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var o=r.createContext({}),d=function(e){return function(n){var t=m(n.components);return r.createElement(e,a({},n,{components:t}))}},m=function(e){var n=r.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},u=function(e){var n=m(e.components);return r.createElement(o.Provider,{value:n},e.children)},c="mdxType",x={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},g=r.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,o=p(e,["components","mdxType","originalType","parentName"]),d=m(t),u=i,c=d["".concat(s,".").concat(u)]||d[u]||x[u]||a;return t?r.createElement(c,l(l({ref:n},o),{},{components:t})):r.createElement(c,l({ref:n},o))}));function h(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,s=new Array(a);s[0]=g;var l={};for(var p in n)hasOwnProperty.call(n,p)&&(l[p]=n[p]);l.originalType=e,l[c]="string"==typeof e?e:i,s[1]=l;for(var o=2;o<a;o++)s[o]=t[o];return r.createElement.apply(null,s)}return r.createElement.apply(null,t)}g.displayName="MDXCreateElement"},39641:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>s,default:()=>m,frontMatter:()=>a,metadata:()=>l,toc:()=>o});var r=t(87462),i=(t(67294),t(3905));const a={id:"string"},s="string type",l={unversionedId:"api/starlark/string",id:"api/starlark/string",title:"string type",description:"string.capitalize",source:"@site/../docs/api/starlark/string.generated.md",sourceDirName:"api/starlark",slug:"/api/starlark/string",permalink:"/docs/api/starlark/string",draft:!1,tags:[],version:"current",frontMatter:{id:"string"},sidebar:"apiSidebar",previous:{title:"list type",permalink:"/docs/api/starlark/list"},next:{title:"globals",permalink:"/docs/api/build/globals"}},p={},o=[{value:"string.capitalize",id:"stringcapitalize",level:2},{value:"string.codepoints",id:"stringcodepoints",level:2},{value:"string.count",id:"stringcount",level:2},{value:"string.elems",id:"stringelems",level:2},{value:"string.endswith",id:"stringendswith",level:2},{value:"string.find",id:"stringfind",level:2},{value:"string.format",id:"stringformat",level:2},{value:"string.index",id:"stringindex",level:2},{value:"string.isalnum",id:"stringisalnum",level:2},{value:"string.isalpha",id:"stringisalpha",level:2},{value:"string.isdigit",id:"stringisdigit",level:2},{value:"string.islower",id:"stringislower",level:2},{value:"string.isspace",id:"stringisspace",level:2},{value:"string.istitle",id:"stringistitle",level:2},{value:"string.isupper",id:"stringisupper",level:2},{value:"string.join",id:"stringjoin",level:2},{value:"string.lower",id:"stringlower",level:2},{value:"string.lstrip",id:"stringlstrip",level:2},{value:"string.partition",id:"stringpartition",level:2},{value:"string.removeprefix",id:"stringremoveprefix",level:2},{value:"string.removesuffix",id:"stringremovesuffix",level:2},{value:"string.replace",id:"stringreplace",level:2},{value:"string.rfind",id:"stringrfind",level:2},{value:"string.rindex",id:"stringrindex",level:2},{value:"string.rpartition",id:"stringrpartition",level:2},{value:"string.rsplit",id:"stringrsplit",level:2},{value:"string.rstrip",id:"stringrstrip",level:2},{value:"string.split",id:"stringsplit",level:2},{value:"string.splitlines",id:"stringsplitlines",level:2},{value:"string.startswith",id:"stringstartswith",level:2},{value:"string.strip",id:"stringstrip",level:2},{value:"string.title",id:"stringtitle",level:2},{value:"string.upper",id:"stringupper",level:2}],d={toc:o};function m(e){let{components:n,...t}=e;return(0,i.mdx)("wrapper",(0,r.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)("h1",{id:"string-type"},(0,i.mdx)("inlineCode",{parentName:"h1"},"string")," type"),(0,i.mdx)("h2",{id:"stringcapitalize"},"string.capitalize"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.capitalize() -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7capitalize"},"string.capitalize"),": returns a copy of string S, where the first character (if any) is converted to uppercase; all other characters are converted to lowercase."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"hello, world!".capitalize() == "Hello, world!"\n"Hello, World!".capitalize() == "Hello, world!"\n"".capitalize() == ""\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringcodepoints"},"string.codepoints"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.codepoints() -> typing.Iterable[str]\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7codepoints"},"string.codepoints"),": returns an iterable of the unicode codepoint of a string."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.codepoints()")," returns an iterable value containing the\nsequence of integer Unicode code points encoded by the string S.\nEach invalid code within the string is treated as if it encodes the\nUnicode replacement character, U+FFFD."),(0,i.mdx)("p",null,"By returning an iterable, not a list, the cost of decoding the string\nis deferred until actually needed; apply ",(0,i.mdx)("inlineCode",{parentName:"p"},"list(...)")," to the result to\nmaterialize the entire sequence."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'list("Hello, \u4e16\u754c".codepoints()) == [72, 101, 108, 108, 111, 44, 32, 19990, 30028]\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringcount"},"string.count"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.count(\n needle: str,\n start: None | int = None,\n end: None | int = None,\n /\n) -> int\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7count"},"string.count"),": count the number of occurrences of a string in another string."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.count(sub[, start[, end]])")," returns the number of occurrences of\n",(0,i.mdx)("inlineCode",{parentName:"p"},"sub")," within the string S, or, if the optional substring indices\n",(0,i.mdx)("inlineCode",{parentName:"p"},"start")," and ",(0,i.mdx)("inlineCode",{parentName:"p"},"end")," are provided, within the designated substring of S.\nThey are interpreted according to Skylark's ",(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#indexing"},"indexing conventions"),"."),(0,i.mdx)("p",null,"This implementation does not count occurrence of ",(0,i.mdx)("inlineCode",{parentName:"p"},"sub")," in the string ",(0,i.mdx)("inlineCode",{parentName:"p"},"S"),"\nthat overlap other occurrence of S (which can happen if some suffix of S\nis a prefix of S). For instance, ",(0,i.mdx)("inlineCode",{parentName:"p"},'"abababa".count("aba")')," returns 2\nfor ",(0,i.mdx)("inlineCode",{parentName:"p"},"[aba]a[aba]"),", not counting the middle occurrence: ",(0,i.mdx)("inlineCode",{parentName:"p"},"ab[aba]ba"),"\n(this is following Python behavior)."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"hello, world!".count("o") == 2\n"abababa".count("aba") == 2\n"hello, world!".count("o", 7, 12) == 1 # in "world"\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringelems"},"string.elems"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.elems() -> typing.Iterable[str]\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7elems"},"string.elems"),": returns an iterable of the bytes values of a string."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.elems()")," returns an iterable value containing the\nsequence of numeric bytes values in the string S."),(0,i.mdx)("p",null,"To materialize the entire sequence of bytes, apply ",(0,i.mdx)("inlineCode",{parentName:"p"},"list(...)")," to the\nresult."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'list("Hello, \u4e16\u754c".elems()) == ["H", "e", "l", "l", "o", ",", " ", "\u4e16", "\u754c"]\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringendswith"},"string.endswith"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.endswith(suffix: str | tuple[str, ...], /) -> bool\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7endswith"},"string.endswith"),": determine if a string ends with a given suffix."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.endswith(suffix)")," reports whether the string S has the specified\nsuffix."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"filename.sky".endswith(".sky") == True\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringfind"},"string.find"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.find(\n needle: str,\n start: None | int = None,\n end: None | int = None,\n /\n) -> int\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7find"},"string.find"),": find a substring in a string."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.find(sub[, start[, end]])")," returns the index of the first\noccurrence of the substring ",(0,i.mdx)("inlineCode",{parentName:"p"},"sub")," within S."),(0,i.mdx)("p",null,"If either or both of ",(0,i.mdx)("inlineCode",{parentName:"p"},"start")," or ",(0,i.mdx)("inlineCode",{parentName:"p"},"end")," are specified,\nthey specify a subrange of S to which the search should be restricted.\nThey are interpreted according to Skylark's ",(0,i.mdx)("a",{parentName:"p",href:"#indexing"},"indexing\nconventions"),"."),(0,i.mdx)("p",null,"If no occurrence is found, ",(0,i.mdx)("inlineCode",{parentName:"p"},"found")," returns -1."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"bonbon".find("on") == 1\n"bonbon".find("on", 2) == 4\n"bonbon".find("on", 2, 5) == -1\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringformat"},"string.format"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.format(*args, **kwargs) -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7format"},"string.format"),": format a string."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.format(*args, **kwargs)")," returns a version of the format string S\nin which bracketed portions ",(0,i.mdx)("inlineCode",{parentName:"p"},"{...}")," are replaced\nby arguments from ",(0,i.mdx)("inlineCode",{parentName:"p"},"args")," and ",(0,i.mdx)("inlineCode",{parentName:"p"},"kwargs"),"."),(0,i.mdx)("p",null,"Within the format string, a pair of braces ",(0,i.mdx)("inlineCode",{parentName:"p"},"{{")," or ",(0,i.mdx)("inlineCode",{parentName:"p"},"}}")," is treated as\na literal open or close brace.\nEach unpaired open brace must be matched by a close brace ",(0,i.mdx)("inlineCode",{parentName:"p"},"}"),".\nThe optional text between corresponding open and close braces\nspecifies which argument to use and how to format it, and consists of\nthree components, all optional:\na field name, a conversion preceded by '",(0,i.mdx)("inlineCode",{parentName:"p"},"!"),"', and a format specifier\npreceded by '",(0,i.mdx)("inlineCode",{parentName:"p"},":"),"'."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-text"},"{field}\n{field:spec}\n{field!conv}\n{field!conv:spec}\n")),(0,i.mdx)("p",null,"The ",(0,i.mdx)("em",{parentName:"p"},"field name")," may be either a decimal number or a keyword.\nA number is interpreted as the index of a positional argument;\na keyword specifies the value of a keyword argument.\nIf all the numeric field names form the sequence 0, 1, 2, and so on,\nthey may be omitted and those values will be implied; however,\nthe explicit and implicit forms may not be mixed."),(0,i.mdx)("p",null,"The ",(0,i.mdx)("em",{parentName:"p"},"conversion")," specifies how to convert an argument value ",(0,i.mdx)("inlineCode",{parentName:"p"},"x")," to a\nstring. It may be either ",(0,i.mdx)("inlineCode",{parentName:"p"},"!r"),", which converts the value using\n",(0,i.mdx)("inlineCode",{parentName:"p"},"repr(x)"),", or ",(0,i.mdx)("inlineCode",{parentName:"p"},"!s"),", which converts the value using ",(0,i.mdx)("inlineCode",{parentName:"p"},"str(x)")," and is\nthe default."),(0,i.mdx)("p",null,"The ",(0,i.mdx)("em",{parentName:"p"},"format specifier"),", after a colon, specifies field width,\nalignment, padding, and numeric precision.\nCurrently it must be empty, but it is reserved for future use."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-rust"},'"a {} c".format(3) == "a 3 c"\n"a{x}b{y}c{}".format(1, x=2, y=3) == "a2b3c1"\n"a{}b{}c".format(1, 2) == "a1b2c"\n"({1}, {0})".format("zero", "one") == "(one, zero)"\n"Is {0!r} {0!s}?".format("heterological") == "Is \\"heterological\\" heterological?"\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringindex"},"string.index"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.index(\n needle: str,\n start: None | int = None,\n end: None | int = None,\n /\n) -> int\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7index"},"string.index"),": search a substring inside a string, failing on not found."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.index(sub[, start[, end]])")," returns the index of the first\noccurrence of the substring ",(0,i.mdx)("inlineCode",{parentName:"p"},"sub")," within S, like ",(0,i.mdx)("inlineCode",{parentName:"p"},"S.find"),", except\nthat if the substring is not found, the operation fails."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"bonbon".index("on") == 1\n"bonbon".index("on", 2) == 4\n"bonbon".index("on", 2, 5) # error: not found\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringisalnum"},"string.isalnum"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.isalnum() -> bool\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7isalnum"},"string.isalnum"),": test if a string is composed only of letters and digits."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.isalnum()")," reports whether the string S is non-empty and consists\nonly Unicode letters and digits."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"base64".isalnum() == True\n"Catch-22".isalnum() == False\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringisalpha"},"string.isalpha"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.isalpha() -> bool\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7isalpha"},"string.isalpha"),": test if a string is composed only of letters."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.isalpha()")," reports whether the string S is non-empty and consists\nonly of Unicode letters."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"ABC".isalpha() == True\n"Catch-22".isalpha() == False\n"".isalpha() == False\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringisdigit"},"string.isdigit"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.isdigit() -> bool\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7isdigit"},"string.isdigit"),": test if a string is composed only of digits."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.isdigit()")," reports whether the string S is non-empty and consists\nonly of Unicode digits."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"123".isdigit() == True\n"Catch-22".isdigit() == False\n"".isdigit() == False\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringislower"},"string.islower"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.islower() -> bool\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7islower"},"string.islower"),": test if all letters of a string are lowercase."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.islower()")," reports whether the string S contains at least one cased\nUnicode letter, and all such letters are lowercase."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"hello, world".islower() == True\n"Catch-22".islower() == False\n"123".islower() == False\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringisspace"},"string.isspace"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.isspace() -> bool\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7isspace"},"string.isspace"),": test if all characters of a string are whitespaces."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.isspace()")," reports whether the string S is non-empty and consists\nonly of Unicode spaces."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'" ".isspace() == True\n"\\r\\t\\n".isspace() == True\n"".isspace() == False\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringistitle"},"string.istitle"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.istitle() -> bool\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7istitle"},"string.istitle"),": test if the string is title cased."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.istitle()")," reports whether the string S contains at least one cased\nUnicode letter, and all such letters that begin a word are in title\ncase."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"Hello, World!".istitle() == True\n"Catch-22".istitle() == True\n"HAL-9000".istitle() == False\n"123".istitle() == False\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringisupper"},"string.isupper"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.isupper() -> bool\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7isupper"},"string.isupper"),": test if all letters of a string are uppercase."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.isupper()")," reports whether the string S contains at least one cased\nUnicode letter, and all such letters are uppercase."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"HAL-9000".isupper() == True\n"Catch-22".isupper() == False\n"123".isupper() == False\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringjoin"},"string.join"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.join(to_join: typing.Iterable[str], /) -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7join"},"string.join"),": join elements with a separator."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.join(iterable)")," returns the string formed by concatenating each\nelement of its argument, with a copy of the string S between\nsuccessive elements. The argument must be an iterable whose elements\nare strings."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'", ".join([]) == ""\n", ".join(("x", )) == "x"\n", ".join(["one", "two", "three"]) == "one, two, three"\n"a".join("ctmrn".elems()) == "catamaran"\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringlower"},"string.lower"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.lower() -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7lower"},"string.lower"),": convert a string to all lowercase."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.lower()")," returns a copy of the string S with letters converted to\nlowercase."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"Hello, World!".lower() == "hello, world!"\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringlstrip"},"string.lstrip"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.lstrip(chars: str = _, /) -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7lstrip"},"string.lstrip"),": trim leading whitespaces."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.lstrip()")," returns a copy of the string S with leading whitespace removed.\nIn most cases instead of passing an argument you should use ",(0,i.mdx)("inlineCode",{parentName:"p"},"removeprefix"),"."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'" hello ".lstrip() == "hello "\n"x!hello ".lstrip("!x ") == "hello "\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringpartition"},"string.partition"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.partition(needle: str, /) -> (str, str, str)\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7partition"},"string.partition"),": partition a string in 3 components"),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},'S.partition(x = " ")')," splits string S into three parts and returns them\nas a tuple: the portion before the first occurrence of string ",(0,i.mdx)("inlineCode",{parentName:"p"},"x"),",\n",(0,i.mdx)("inlineCode",{parentName:"p"},"x")," itself, and the portion following it.\nIf S does not contain ",(0,i.mdx)("inlineCode",{parentName:"p"},"x"),", ",(0,i.mdx)("inlineCode",{parentName:"p"},"partition")," returns ",(0,i.mdx)("inlineCode",{parentName:"p"},'(S, "", "")'),"."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"partition")," fails if ",(0,i.mdx)("inlineCode",{parentName:"p"},"x")," is not a string, or is the empty string."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"one/two/three".partition("/") == ("one", "/", "two/three")\n"one".partition("/") == ("one", "", "")\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringremoveprefix"},"string.removeprefix"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.removeprefix(prefix: str, /) -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://docs.python.org/3.9/library/stdtypes.html#str.removeprefix"},"string.removeprefix"),": remove a prefix from a string. ",(0,i.mdx)("em",{parentName:"p"},"Not part of standard Starlark.")),(0,i.mdx)("p",null,"If the string starts with the prefix string, return ",(0,i.mdx)("inlineCode",{parentName:"p"},"string[len(prefix):]"),".\nOtherwise, return a copy of the original string:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"Hello, World!".removeprefix("Hello") == ", World!"\n"Hello, World!".removeprefix("Goodbye") == "Hello, World!"\n"Hello".removeprefix("Hello") == ""\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringremovesuffix"},"string.removesuffix"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.removesuffix(suffix: str, /) -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://docs.python.org/3.9/library/stdtypes.html#str.removesuffix"},"string.removesuffix"),": remove a prefix from a string. ",(0,i.mdx)("em",{parentName:"p"},"Not part of standard Starlark.")),(0,i.mdx)("p",null,"If the string starts with the prefix string, return ",(0,i.mdx)("inlineCode",{parentName:"p"},"string[len(prefix):]"),".\nOtherwise, return a copy of the original string:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"Hello, World!".removesuffix("World!") == "Hello, "\n"Hello, World!".removesuffix("World") == "Hello, World!"\n"Hello".removesuffix("Hello") == ""\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringreplace"},"string.replace"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.replace(\n old: str,\n new: str,\n count: int = _,\n /\n) -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7replace"},"string.replace"),": replace all occurrences of a substring."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.replace(old, new[, count])")," returns a copy of string S with all\noccurrences of substring ",(0,i.mdx)("inlineCode",{parentName:"p"},"old")," replaced by ",(0,i.mdx)("inlineCode",{parentName:"p"},"new"),". If the optional\nargument ",(0,i.mdx)("inlineCode",{parentName:"p"},"count"),", which must be an ",(0,i.mdx)("inlineCode",{parentName:"p"},"int"),", is non-negative, it\nspecifies a maximum number of occurrences to replace."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"banana".replace("a", "o") == "bonono"\n"banana".replace("a", "o", 2) == "bonona"\n"banana".replace("z", "x") == "banana"\n"banana".replace("", "x") == "xbxaxnxaxnxax"\n"banana".replace("", "x", 2) == "xbxanana"\n"".replace("", "x") == "x"\n"banana".replace("a", "o", -2) # error: argument was negative\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringrfind"},"string.rfind"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.rfind(\n needle: str,\n start: None | int = None,\n end: None | int = None,\n /\n) -> int\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7rfind"},"string.rfind"),": find the last index of a substring."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.rfind(sub[, start[, end]])")," returns the index of the substring ",(0,i.mdx)("inlineCode",{parentName:"p"},"sub"),"\nwithin S, like ",(0,i.mdx)("inlineCode",{parentName:"p"},"S.find"),", except that ",(0,i.mdx)("inlineCode",{parentName:"p"},"rfind")," returns the index of\nthe substring's ",(0,i.mdx)("em",{parentName:"p"},"last")," occurrence."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"bonbon".rfind("on") == 4\n"bonbon".rfind("on", None, 5) == 1\n"bonbon".rfind("on", 2, 5) == -1\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringrindex"},"string.rindex"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.rindex(\n needle: str,\n start: None | int = None,\n end: None | int = None,\n /\n) -> int\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7rindex"},"string.rindex"),": find the last index of a substring, failing on not found."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.rindex(sub[, start[, end]])")," returns the index of the substring ",(0,i.mdx)("inlineCode",{parentName:"p"},"sub"),"\nwithin S, like ",(0,i.mdx)("inlineCode",{parentName:"p"},"S.index"),", except that ",(0,i.mdx)("inlineCode",{parentName:"p"},"rindex")," returns the index of\nthe substring's ",(0,i.mdx)("em",{parentName:"p"},"last")," occurrence."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"bonbon".rindex("on") == 4\n"bonbon".rindex("on", None, 5) == 1 # in "bonbo"\n"bonbon".rindex("on", 2, 5) # error: not found\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringrpartition"},"string.rpartition"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.rpartition(needle: str, /) -> (str, str, str)\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7rpartition"},"string.rpartition"),": partition a string in 3 elements."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.rpartition([x = ' '])")," is like ",(0,i.mdx)("inlineCode",{parentName:"p"},"partition"),", but splits ",(0,i.mdx)("inlineCode",{parentName:"p"},"S")," at the\nlast occurrence of ",(0,i.mdx)("inlineCode",{parentName:"p"},"x"),"."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"one/two/three".rpartition("/") == ("one/two", "/", "three")\n"one".rpartition("/") == ("", "", "one")\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringrsplit"},"string.rsplit"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.rsplit(\n sep: None | str = None,\n maxsplit: None | int = None,\n /\n) -> list[str]\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7rsplit"},"string.rsplit"),": splits a string into substrings."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.rsplit([sep[, maxsplit]])")," splits a string into substrings like\n",(0,i.mdx)("inlineCode",{parentName:"p"},"S.split"),", except that when a maximum number of splits is specified,\n",(0,i.mdx)("inlineCode",{parentName:"p"},"rsplit")," chooses the rightmost splits."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"banana".rsplit("n") == ["ba", "a", "a"]\n"banana".rsplit("n", 1) == ["bana", "a"]\n"one two three".rsplit(None, 1) == ["one two", "three"]\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringrstrip"},"string.rstrip"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.rstrip(chars: str = _, /) -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7rstrip"},"string.rstrip"),": trim trailing whitespace."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.rstrip()")," returns a copy of the string S with trailing whitespace removed.\nIn most cases instead of passing an argument you should use ",(0,i.mdx)("inlineCode",{parentName:"p"},"removesuffix"),"."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'" hello ".rstrip() == " hello"\n" hello!x".rstrip(" x!") == " hello"\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringsplit"},"string.split"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.split(\n sep: None | str = None,\n maxsplit: None | int = None,\n /\n) -> list[str]\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7split"},"string.split"),": split a string in substrings."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.split([sep [, maxsplit]])")," returns the list of substrings of S,\nsplitting at occurrences of the delimiter string ",(0,i.mdx)("inlineCode",{parentName:"p"},"sep"),"."),(0,i.mdx)("p",null,"Consecutive occurrences of ",(0,i.mdx)("inlineCode",{parentName:"p"},"sep")," are considered to delimit empty\nstrings, so ",(0,i.mdx)("inlineCode",{parentName:"p"},"'food'.split('o')")," returns ",(0,i.mdx)("inlineCode",{parentName:"p"},"['f', '', 'd']"),".\nSplitting an empty string with a specified separator returns ",(0,i.mdx)("inlineCode",{parentName:"p"},"['']"),".\nIf ",(0,i.mdx)("inlineCode",{parentName:"p"},"sep")," is the empty string, ",(0,i.mdx)("inlineCode",{parentName:"p"},"split")," fails."),(0,i.mdx)("p",null,"If ",(0,i.mdx)("inlineCode",{parentName:"p"},"sep")," is not specified or is ",(0,i.mdx)("inlineCode",{parentName:"p"},"None"),", ",(0,i.mdx)("inlineCode",{parentName:"p"},"split")," uses a different\nalgorithm: it removes all leading spaces from S\n(or trailing spaces in the case of ",(0,i.mdx)("inlineCode",{parentName:"p"},"rsplit"),"),\nthen splits the string around each consecutive non-empty sequence of\nUnicode white space characters."),(0,i.mdx)("p",null,"If S consists only of white space, ",(0,i.mdx)("inlineCode",{parentName:"p"},"split")," returns the empty list."),(0,i.mdx)("p",null,"If ",(0,i.mdx)("inlineCode",{parentName:"p"},"maxsplit")," is given and non-negative, it specifies a maximum number\nof splits."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"one two three".split() == ["one", "two", "three"]\n"one two three".split(" ") == ["one", "two", "", "three"]\n"one two three".split(None, 1) == ["one", "two three"]\n"banana".split("n") == ["ba", "a", "a"]\n"banana".split("n", 1) == ["ba", "ana"]\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringsplitlines"},"string.splitlines"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.splitlines(keepends: bool = False, /) -> list[str]\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7splitlines"},"string.splitlines"),": return the list of lines of a string."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.splitlines([keepends])")," returns a list whose elements are the\nsuccessive lines of S, that is, the strings formed by splitting S at\nline terminators ('\\n', '\\r' or '\\r\\n')."),(0,i.mdx)("p",null,"The optional argument, ",(0,i.mdx)("inlineCode",{parentName:"p"},"keepends"),", is interpreted as a Boolean.\nIf true, line terminators are preserved in the result, though\nthe final element does not necessarily end with a line terminator."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"one\\n\\ntwo".splitlines() == ["one", "", "two"]\n"one\\n\\ntwo".splitlines(True) == ["one\\n", "\\n", "two"]\n"a\\nb".splitlines() == ["a", "b"]\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringstartswith"},"string.startswith"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.startswith(prefix: str | tuple[str, ...], /) -> bool\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7startswith"},"string.startswith"),": test whether a string starts with a given prefix."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.startswith(suffix)")," reports whether the string S has the specified\nprefix."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},"\"filename.sky\".startswith(\"filename\") == True\n\"filename.sky\".startswith(\"sky\") == False\n'abc'.startswith(('a', 'A')) == True\n'ABC'.startswith(('a', 'A')) == True\n'def'.startswith(('a', 'A')) == False\n")),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringstrip"},"string.strip"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.strip(chars: str = _, /) -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7strip"},"string.strip"),": trim leading and trailing whitespaces."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.strip()")," returns a copy of the string S with leading and trailing\nwhitespace removed."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'" hello ".strip() == "hello"\n"xxhello!!".strip("x!") == "hello"\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringtitle"},"string.title"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.title() -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7title"},"string.title"),": convert a string to title case."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.title()")," returns a copy of the string S with letters converted to\ntitlecase."),(0,i.mdx)("p",null,"Letters are converted to uppercase at the start of words, lowercase\nelsewhere."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"hElLo, WoRlD!".title() == "Hello, World!"\n')),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"stringupper"},"string.upper"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def string.upper() -> str\n")),(0,i.mdx)("p",null,(0,i.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#string%C2%B7upper"},"string.upper"),": convert a string to all uppercase."),(0,i.mdx)("p",null,(0,i.mdx)("inlineCode",{parentName:"p"},"S.upper()")," returns a copy of the string S with letters converted to\nuppercase."),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre"},'"Hello, World!".upper() == "HELLO, WORLD!"\n')))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7ad18b5f.d7d79ced.js b/assets/js/7ad18b5f.d7d79ced.js new file mode 100644 index 0000000000000..51593c5a30158 --- /dev/null +++ b/assets/js/7ad18b5f.d7d79ced.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5733],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>u,MDXProvider:()=>m,mdx:()=>y,useMDXComponents:()=>p,withMDXComponents:()=>c});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var u=a.createContext({}),c=function(e){return function(t){var n=p(t.components);return a.createElement(e,o({},t,{components:n}))}},p=function(e){var t=a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},m=function(e){var t=p(e.components);return a.createElement(u.Provider,{value:t},e.children)},d="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=p(n),m=r,d=c["".concat(i,".").concat(m)]||c[m]||h[m]||o;return n?a.createElement(d,s(s({ref:t},u),{},{components:n})):a.createElement(d,s({ref:t},u))}));function y(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var u=2;u<o;u++)i[u]=n[u];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}f.displayName="MDXCreateElement"},99202:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var a=n(87462),r=(n(67294),n(3905));const o={id:"incremental_actions",title:"Incremental Actions"},i=void 0,s={unversionedId:"rule_authors/incremental_actions",id:"rule_authors/incremental_actions",title:"Incremental Actions",description:"It's possible to make certain Buck2 actions behave incrementally, that is, to",source:"@site/../docs/rule_authors/incremental_actions.md",sourceDirName:"rule_authors",slug:"/rule_authors/incremental_actions",permalink:"/docs/rule_authors/incremental_actions",draft:!1,tags:[],version:"current",frontMatter:{id:"incremental_actions",title:"Incremental Actions"},sidebar:"mainSidebar",previous:{title:"Observability and Optimization",permalink:"/docs/rule_authors/optimization"},next:{title:"Alias",permalink:"/docs/rule_authors/alias"}},l={},u=[],c={toc:u};function p(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"It's possible to make certain Buck2 actions behave incrementally, that is, to\nproduce results for a current invocation based on the result from the previous\nrun. Incrementality could significantly improve performance of some actions such\nas packaging (such as Apple App Bundles) or linking (MSVC incremental linking)."),(0,r.mdx)("p",null,"There are two essential requirements to make an action incremental:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"The result from the previous run should be accessible."),(0,r.mdx)("li",{parentName:"ul"},"An understanding of which parts of the result need to be updated; it should be\neasy to compare inputs from a previous run with inputs from the current run\nand detect those changed.")),(0,r.mdx)("p",null,"The only way to run user-defined commands in Buck2 is with ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions.run"),".\nBoth of the above requirements are met via its ",(0,r.mdx)("inlineCode",{parentName:"p"},"metadata_env_var"),",\n",(0,r.mdx)("inlineCode",{parentName:"p"},"metadata_path")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"no_outputs_cleanup")," parameters."),(0,r.mdx)("p",null,"When the ",(0,r.mdx)("inlineCode",{parentName:"p"},"no_outputs_cleanup")," flag is turned on, Buck2 won't perform any\ndeletion of old outputs for the action. That means the result from the previous\nrun will be accessible, but the user script has to detect which parts of it\nshould be deleted and perform a manual cleanup."),(0,r.mdx)("p",null,"When the ",(0,r.mdx)("inlineCode",{parentName:"p"},"metadata_env_var")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"metadata_path")," parameters are present, Buck2\nwill create a JSON file on a disk before actually executing the command. The\nfile will contain a list of paths and hash digests for every command action\ninput. All paths in the file are relative to the Buck2 project root. Symlinks\nare not included in metadata because it is possible for the user script to\nresolve symlink and use a resolved path to get the destination hash digest from\naction metadata if it's needed, as shown in the following JSON example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-json"},'{\n "version": 1,\n "digests": [\n {\n "path": "buck-out/v2/gen/cell/configuration_hash/path/to/target/__target_name__/generated_file",\n "digest": "da39a3ee5e6b4b0d3255bfef95601890afd80709:10"\n },\n ...\n ]\n}\n')),(0,r.mdx)("p",null,"A user script that is run as a part of an action execution is responsible for\nparsing the JSON file."),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"version")," field is bumped every time there is a non-backwards compatible\nchange to the format of the file. The user script should verify that the\nprovided data is of a supported version and should be updated accordingly when\nthe current version is newer than the supported one."),(0,r.mdx)("p",null,"The path of the JSON file is provided to the user script via an environment\nvariable with a key equal to ",(0,r.mdx)("inlineCode",{parentName:"p"},"metadata_env_var"),". The user is able to specify the\npart of the path relative to the result directory via ",(0,r.mdx)("inlineCode",{parentName:"p"},"metadata_path"),"."),(0,r.mdx)("p",null,"For example, if some rule implementation has the following code:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'result = ctx.actions.declare_output("result")\ncommand = cmd_args(["my_script.py", "--output", result.as_output()])\nctx.actions.run(\n command,\n category = "my_category",\n metadata_env_var = "ACTION_METADATA",\n metadata_path = "action_metadata.json",\n no_outputs_cleanup = True,\n)\n')),(0,r.mdx)("p",null,"Then ",(0,r.mdx)("inlineCode",{parentName:"p"},"my_script.py")," will be executed as:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-shell"},"ACTION_METADATA=project/relative/path/to/target/action_metadata.json my_script.py --output resolved/path/to/result\n")),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"my_script.py")," is responsible for reading the ",(0,r.mdx)("inlineCode",{parentName:"p"},"ACTION_METADATA")," environment\nvariable and parsing a JSON file with the action metadata."),(0,r.mdx)("p",null,"Parsed metadata provides information about inputs for the current run, but the\nscript needs somehow to obtain similar information about inputs from the\nprevious run. Such information could just be another output of the user script\n(as with the previous result, it won't be deleted when\n",(0,r.mdx)("inlineCode",{parentName:"p"},"no_outputs_cleanup = True"),"). The Format of such a file is an implementation\ndetail of the user script, but at the very least it should contain a list of\nevery source that was used to form the result and hash digests for such sources."),(0,r.mdx)("p",null,"The rule implementation would look something like the following:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'result = ctx.actions.declare_output("result")\nstate = ctx.actions.declare_output("incremental_state.json")\ncommand = cmd_args(["my_script.py", "--output", result.as_output(), "--incremental-state", state.as_output()])\nctx.actions.run(\n command,\n category = "my_category",\n metadata_env_var = "ACTION_METADATA",\n metadata_path = "action_metadata.json",\n no_outputs_cleanup = True,\n)\n')),(0,r.mdx)("p",null,"The user script would then:"),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},"Parse ",(0,r.mdx)("inlineCode",{parentName:"li"},"incremental_state.json"),' and delete it. Deletion prior to amending the\nresult is important so it doesn\'t result in a situation where an incremental\nstate file is out of sync with the result when the user script fails while\nchanging the result. Such a corrupted state might lead to subsequent\nincorrect builds reported as "successful".'),(0,r.mdx)("li",{parentName:"ol"},"Parse action metadata file, compute what is needed to update the result, and\namend it accordingly."),(0,r.mdx)("li",{parentName:"ol"},"Calculate the new state and write it into the new ",(0,r.mdx)("inlineCode",{parentName:"li"},"incremental_state.json"),".")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7af443e0.b86abaff.js b/assets/js/7af443e0.b86abaff.js new file mode 100644 index 0000000000000..a49fb9d759154 --- /dev/null +++ b/assets/js/7af443e0.b86abaff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8466],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>u,MDXProvider:()=>p,mdx:()=>b,useMDXComponents:()=>m,withMDXComponents:()=>l});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(){return a=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},a.apply(this,arguments)}function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?s(Object(t),!0).forEach((function(r){o(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var u=n.createContext({}),l=function(e){return function(r){var t=m(r.components);return n.createElement(e,a({},r,{components:t}))}},m=function(e){var r=n.useContext(u),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},p=function(e){var r=m(e.components);return n.createElement(u.Provider,{value:r},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},v=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),l=m(t),p=o,d=l["".concat(s,".").concat(p)]||l[p]||f[p]||a;return t?n.createElement(d,i(i({ref:r},u),{},{components:t})):n.createElement(d,i({ref:r},u))}));function b(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=t.length,s=new Array(a);s[0]=v;var i={};for(var c in r)hasOwnProperty.call(r,c)&&(i[c]=r[c]);i.originalType=e,i[d]="string"==typeof e?e:o,s[1]=i;for(var u=2;u<a;u++)s[u]=t[u];return n.createElement.apply(null,s)}return n.createElement.apply(null,t)}v.displayName="MDXCreateElement"},26438:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>s,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var n=t(87462),o=(t(67294),t(3905));const a={id:"server",title:"server"},s=void 0,i={unversionedId:"users/commands/server",id:"users/commands/server",title:"server",description:"These are the flags/commands under buck2 server and their --help output:",source:"@site/../docs/users/commands/server.generated.md",sourceDirName:"users/commands",slug:"/users/commands/server",permalink:"/docs/users/commands/server",draft:!1,tags:[],version:"current",frontMatter:{id:"server",title:"server"},sidebar:"mainSidebar",previous:{title:"run",permalink:"/docs/users/commands/run"},next:{title:"starlark",permalink:"/docs/users/commands/starlark"}},c={},u=[{value:"buck server",id:"buck-server",level:2}],l={toc:u};function m(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},l,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"These are the flags/commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 server")," and their ",(0,o.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,o.mdx)("h2",{id:"buck-server"},"buck server"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Start, query, and control the http server\n\nUsage: buck2-release server [OPTIONS]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7b289690.d678b41f.js b/assets/js/7b289690.d678b41f.js new file mode 100644 index 0000000000000..a2aa09b3757ac --- /dev/null +++ b/assets/js/7b289690.d678b41f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7459],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>p,MDXProvider:()=>u,mdx:()=>g,useMDXComponents:()=>d,withMDXComponents:()=>s});var i=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},r.apply(this,arguments)}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function m(e,n){if(null==e)return{};var t,i,a=function(e,n){if(null==e)return{};var t,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)t=r[i],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)t=r[i],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=i.createContext({}),s=function(e){return function(n){var t=d(n.components);return i.createElement(e,r({},n,{components:t}))}},d=function(e){var n=i.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},u=function(e){var n=d(e.components);return i.createElement(p.Provider,{value:n},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},h=i.forwardRef((function(e,n){var t=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,p=m(e,["components","mdxType","originalType","parentName"]),s=d(t),u=a,c=s["".concat(l,".").concat(u)]||s[u]||f[u]||r;return t?i.createElement(c,o(o({ref:n},p),{},{components:t})):i.createElement(c,o({ref:n},p))}));function g(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var r=t.length,l=new Array(r);l[0]=h;var o={};for(var m in n)hasOwnProperty.call(n,m)&&(o[m]=n[m]);o.originalType=e,o[c]="string"==typeof e?e:a,l[1]=o;for(var p=2;p<r;p++)l[p]=t[p];return i.createElement.apply(null,l)}return i.createElement.apply(null,t)}h.displayName="MDXCreateElement"},7148:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>m,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>o,toc:()=>p});var i=t(87462),a=(t(67294),t(3905));const r={id:"optimization",title:"Observability and Optimization"},l=void 0,o={unversionedId:"rule_authors/optimization",id:"rule_authors/optimization",title:"Observability and Optimization",description:"Optimization involves the use of techniques for determining and improving the",source:"@site/../docs/rule_authors/optimization.md",sourceDirName:"rule_authors",slug:"/rule_authors/optimization",permalink:"/docs/rule_authors/optimization",draft:!1,tags:[],version:"current",frontMatter:{id:"optimization",title:"Observability and Optimization"},sidebar:"mainSidebar",previous:{title:"Test Execution",permalink:"/docs/rule_authors/test_execution"},next:{title:"Incremental Actions",permalink:"/docs/rule_authors/incremental_actions"}},m={},p=[{value:"Starlark profiling",id:"starlark-profiling",level:2},{value:"Summary profiling",id:"summary-profiling",level:3},{value:"Statement profiling",id:"statement-profiling",level:3},{value:"Flame profiling",id:"flame-profiling",level:3},{value:"Native profiling",id:"native-profiling",level:2},{value:"Benchmarking",id:"benchmarking",level:2}],s=(d="FbInternalOnly",function(e){return console.warn("Component "+d+" was not imported, exported, or provided by MDXProvider as global scope"),(0,a.mdx)("div",e)});var d;const u={toc:p};function c(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,i.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"Optimization involves the use of techniques for determining and improving the\nperformance of Buck2 and specific actions performed by Buck2. This page covers\nthe internals for developers of Buck2 and provides details of Starlark that are\nlikely to be relevant to end users."),(0,a.mdx)("h2",{id:"starlark-profiling"},"Starlark profiling"),(0,a.mdx)("p",null,(0,a.mdx)("inlineCode",{parentName:"p"},"buck2")," supports profiling of the evaluation of specific ",(0,a.mdx)("inlineCode",{parentName:"p"},"BUCK")," files and\nprofiling of the analysis of specific targets."),(0,a.mdx)("p",null,"There are three ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2")," profiling commands:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"buck2 profile loading")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"buck2 profile analysis")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"buck2 profile bxl"))),(0,a.mdx)("p",null,"For example:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-shell"},"buck2 profile loading --mode=heap-summary-allocated -o heap-summary.csv //some/package:\nbuck2 profile analysis --mode=heap-summary-allocated -o heap-summary.csv //some/package:target\n")),(0,a.mdx)("p",null,"Possible values for profiling modes are as follows:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"#summary-profiling"},"heap-summary-allocated"),": The heap profile mode provides\ninformation about the time spent in each function and allocations performed by\neach function. Enabling this mode has the side effect of disabling\ngarbage-collection. This profiling mode is the recommended one."),(0,a.mdx)("li",{parentName:"ul"},"heap-summary-retained: Like heap summary, but information about retained\nmemory after module is frozen."),(0,a.mdx)("li",{parentName:"ul"},"time-flame: Provide output compatible with\n",(0,a.mdx)("a",{parentName:"li",href:"https://github.com/brendangregg/FlameGraph/blob/master/flamegraph.pl"},"flamegraph.pl"),"."),(0,a.mdx)("li",{parentName:"ul"},"heap-flame-allocated: Like heap profile, but writes output comparible with\n",(0,a.mdx)("a",{parentName:"li",href:"https://github.com/brendangregg/FlameGraph/blob/master/flamegraph.pl"},"flamegraph.pl"),"."),(0,a.mdx)("li",{parentName:"ul"},"heap-flame-retained: Like heap flame, but information about retained memory\nafter module is frozen."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("a",{parentName:"li",href:"#statement-profiling"},"statement"),": The statement profile mode provides\ninformation about time spent in each statement."),(0,a.mdx)("li",{parentName:"ul"},"bytecode: The bytecode profile mode provides information about bytecode\ninstruction pairs."),(0,a.mdx)("li",{parentName:"ul"},"bytecode-pairs: The bytecode profile mode provides information about bytecode\ninstruction pairs."),(0,a.mdx)("li",{parentName:"ul"},"typecheck: Profile runtime typechecking.")),(0,a.mdx)("h3",{id:"summary-profiling"},"Summary profiling"),(0,a.mdx)("p",null,"The first profiling mode (",(0,a.mdx)("inlineCode",{parentName:"p"},"heap-summary-allocated"),") provides the time spent\nwithin a function and the allocations that are performed."),(0,a.mdx)("p",null,"As an example, running over a folly BUCK file, produces a CSV file whose\ntop-left corner is:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Function Time(s) TimeRec(s) Calls Allocs\nTOTALS 10.455 10.455 9712799 3477203\nfbchain_configs 1.163 2.514 11328 33984\nis_string 0.726 1.028 1514985 0\napple_library 0.725 0.725 1887 0\ntype 0.435 0.435 2053296 0\n...\n")),(0,a.mdx)("p",null,"This reveals the following:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"Total execution was 10.455s, which will be a bit slower than normal, because\nprofiling is on."),(0,a.mdx)("li",{parentName:"ul"},"1.163s was spent in ",(0,a.mdx)("inlineCode",{parentName:"li"},"fbchain_configs")," itself and 2.514s in that function and\nthe things it calls."),(0,a.mdx)("li",{parentName:"ul"},"A disturbing 1.5M calls and 1.028s is spent testing if things are strings,\nwhich is almost certainly responsible for half the type calls."),(0,a.mdx)("li",{parentName:"ul"},"Happily, ",(0,a.mdx)("inlineCode",{parentName:"li"},"is_string")," doesn't allocate, but ",(0,a.mdx)("inlineCode",{parentName:"li"},"fbchain_configs")," does. Scrolling\nto the right, on the full CSV file (not shown), reveals it allocates 1 tuple\nand 2 dict per call. It can also be seen that ",(0,a.mdx)("inlineCode",{parentName:"li"},"fbchain_configs")," is mostly\ncalled by ",(0,a.mdx)("inlineCode",{parentName:"li"},"_add_code_coverage_configs"),".")),(0,a.mdx)("p",null,"This profiling mode is implemented by turning off garbage collection, so the\nheap retains everything, and pushing function entry/exit entries on to the heap\nwith the time they happen. After execution, the heap can be scanned in order to\nreconstruct the call tree and allocation patterns. As a result, this profile\nmode may consume significantly more memory."),(0,a.mdx)("h3",{id:"statement-profiling"},"Statement profiling"),(0,a.mdx)("p",null,"The second profiling mode tells us which statements spent most time executing.\nRunning it over a structured-logger ",(0,a.mdx)("inlineCode",{parentName:"p"},"BUCK")," file gives us a CSV file starting\nwith:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"File Span Duration(s) Count\nTOTAL 4.03 7187761\nfbcode_allowed_list.bzl 420:9-423:1 0.27 455884\ncell_defs.bzl 13:5-13:60 0.17 117736\nread_configs.bzl 46:5-46:55 0.08 65042\nprelude.bzl 28:9-29:20 0.07 1004\n...\n")),(0,a.mdx)("p",null,"This profile shows how much time is spent in each statement. Looking at the\nrelevant portion of ",(0,a.mdx)("inlineCode",{parentName:"p"},"fbode_allowed_list.bzl"),":"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'for _package in _recursive_allowlist:\n if base_path == _package or base_path.startswith(_package + "/"):\n return True\n')),(0,a.mdx)("p",null,"The ",(0,a.mdx)("inlineCode",{parentName:"p"},"if")," statement is at location 420:9-423:1 and takes 0.27s. The ",(0,a.mdx)("inlineCode",{parentName:"p"},"if"),"\nstatement runs approximately 456K times. While looking at the outer statement in\nthe profile (not shown), it can be seen that the ",(0,a.mdx)("inlineCode",{parentName:"p"},"for")," loop is only called 3188\ntimes, implying an average of 143 iterations per call. It's possible that this\nloop could be rewritten as some clever dictionary lookup, perhaps iterating over\nthe path components of ",(0,a.mdx)("inlineCode",{parentName:"p"},"_package"),"."),(0,a.mdx)("p",null,"Line profiling builds on top of the ",(0,a.mdx)("inlineCode",{parentName:"p"},"before_stmt")," hook that is used for\ndebugging. It records the time each statement is entered then blames that\nstatement for all time until the next statement. That means that sometimes, due\nto statements making function calls, the ",(0,a.mdx)("inlineCode",{parentName:"p"},"return")," of the function call may be\n'blamed' until the next statement executes. As a result, treat the results with\nslight caution."),(0,a.mdx)("h3",{id:"flame-profiling"},"Flame profiling"),(0,a.mdx)("p",null,"The flame profiling modes produces a ",(0,a.mdx)("inlineCode",{parentName:"p"},".svg")," flamegraph showing either time spent\nor allocations. You can open it in Google chrome and inspect the resulting flame\ngraph."),(0,a.mdx)(s,{mdxType:"FbInternalOnly"},(0,a.mdx)("p",null,"The flame profile provides a list of how time is used based on call stacks (you\ncan download an example ",(0,a.mdx)("a",{parentName:"p",href:"https://www.internalfb.com/intern/px/p/1Mz2W"},"here"),").")),(0,a.mdx)("h2",{id:"native-profiling"},"Native profiling"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"Profiling on Linux can be done with\n",(0,a.mdx)("inlineCode",{parentName:"li"},"perf record -g --call-graph=dwarf,20000 ...")," and ",(0,a.mdx)("inlineCode",{parentName:"li"},"perf report --call-graph"),(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},"Don't profile the ",(0,a.mdx)("inlineCode",{parentName:"li"},"buck2")," process directly unless you are interested in\nprofiling the CLI; you likely want to profile the ",(0,a.mdx)("inlineCode",{parentName:"li"},"buck2")," daemon process.\nYou can find the pid with ",(0,a.mdx)("inlineCode",{parentName:"li"},"buck2 status")," and attach ",(0,a.mdx)("inlineCode",{parentName:"li"},"perf")," to that PID."))),(0,a.mdx)("li",{parentName:"ul"},"Profiling on Mac can be done with ",(0,a.mdx)("inlineCode",{parentName:"li"},"Instruments"),(0,a.mdx)(s,{mdxType:"FbInternalOnly"}," (for details,\nsee the Wiki article\n",(0,a.mdx)("a",{parentName:"li",href:"https://www.internalfb.com/intern/wiki/GraphQL/Build_Infra/Running_and_Testing_Builds/#profiling-the-rust-code"},"Running and Testing Builds"),")"),".")),(0,a.mdx)("h2",{id:"benchmarking"},"Benchmarking"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"If you want to do proper statistically relevant A/B testing, use\n",(0,a.mdx)("inlineCode",{parentName:"li"},"absh -a testa -b testb")," (see ",(0,a.mdx)("a",{parentName:"li",href:"https://github.com/stepancheg/absh"},"absh")," in\nthe GitHub repository)."),(0,a.mdx)("li",{parentName:"ul"},"To measure the number of instructions:",(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},"On Linux, use ",(0,a.mdx)("inlineCode",{parentName:"li"},"perf stat foo")),(0,a.mdx)("li",{parentName:"ul"},"On Mac, use ",(0,a.mdx)("inlineCode",{parentName:"li"},"/usr/bin/time -lp foo")))),(0,a.mdx)("li",{parentName:"ul"},"On Mac, to run something with the time profiler on the command line, use\n",(0,a.mdx)("inlineCode",{parentName:"li"},"xcrun xctrace record --template 'Time Profiler' --launch -- foo"),", then\n",(0,a.mdx)("inlineCode",{parentName:"li"},"open Foo.trace")," for the name of the trace file it spits out (or pass\n",(0,a.mdx)("inlineCode",{parentName:"li"},"--output")," to control the output filename).")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7eb47a1c.b9684af5.js b/assets/js/7eb47a1c.b9684af5.js new file mode 100644 index 0000000000000..9b212068072d3 --- /dev/null +++ b/assets/js/7eb47a1c.b9684af5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1831],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>m,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>u});var a=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},r.apply(this,arguments)}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,a,o=function(e,n){if(null==e)return{};var t,a,o={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var c=a.createContext({}),u=function(e){return function(n){var t=d(n.components);return a.createElement(e,r({},n,{components:t}))}},d=function(e){var n=a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},m=function(e){var n=d(e.components);return a.createElement(c.Provider,{value:n},e.children)},h="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},p=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=d(t),m=o,h=u["".concat(s,".").concat(m)]||u[m]||f[m]||r;return t?a.createElement(h,i(i({ref:n},c),{},{components:t})):a.createElement(h,i({ref:n},c))}));function b(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var r=t.length,s=new Array(r);s[0]=p;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i[h]="string"==typeof e?e:o,s[1]=i;for(var c=2;c<r;c++)s[c]=t[c];return a.createElement.apply(null,s)}return a.createElement.apply(null,t)}p.displayName="MDXCreateElement"},77920:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var a=t(87462),o=(t(67294),t(3905));const r={id:"starlark",title:"starlark"},s=void 0,i={unversionedId:"users/commands/starlark",id:"users/commands/starlark",title:"starlark",description:"These are the flags/commands under buck2 starlark and their --help output:",source:"@site/../docs/users/commands/starlark.generated.md",sourceDirName:"users/commands",slug:"/users/commands/starlark",permalink:"/docs/users/commands/starlark",draft:!1,tags:[],version:"current",frontMatter:{id:"starlark",title:"starlark"},sidebar:"mainSidebar",previous:{title:"server",permalink:"/docs/users/commands/server"},next:{title:"status",permalink:"/docs/users/commands/status"}},l={},c=[{value:"buck starlark",id:"buck-starlark",level:2},{value:"buck starlark lint",id:"buck-starlark-lint",level:3},{value:"buck starlark typecheck",id:"buck-starlark-typecheck",level:3},{value:"buck starlark debug-attach",id:"buck-starlark-debug-attach",level:3}],u={toc:c};function d(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,a.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"These are the flags/commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 starlark")," and their ",(0,o.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,o.mdx)("h2",{id:"buck-starlark"},"buck starlark"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Run Starlark operations\n\nUsage: buck2-release starlark [OPTIONS] <COMMAND>\n\nCommands:\n lint Run the Starlark linter.\n typecheck Run the Starlark typechecker.\n debug-attach Run the starlark debug adapter protocol server\n help Print this message or the help of the given subcommand(s)\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-starlark-lint"},"buck starlark lint"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Run the Starlark linter.\n\nUsage: buck2-release starlark lint [OPTIONS] <PATH>...\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\n <PATH>...\n \n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-starlark-typecheck"},"buck starlark typecheck"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Run the Starlark typechecker.\n\nUsage: buck2-release starlark typecheck [OPTIONS] <PATH>...\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\n <PATH>...\n \n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-starlark-debug-attach"},"buck starlark debug-attach"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Run the starlark debug adapter protocol server\n\nThis forwards requests received on stdin to a debug server running in the buck daemon. DAP events\nand responses are returned from the daemon and sent to this command's stdout.\n\nUsage: buck2-release starlark debug-attach [OPTIONS]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/852120c7.f4c0ecba.js b/assets/js/852120c7.f4c0ecba.js new file mode 100644 index 0000000000000..dba6b261e5639 --- /dev/null +++ b/assets/js/852120c7.f4c0ecba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8074],{3905:(e,n,a)=>{a.r(n),a.d(n,{MDXContext:()=>p,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>s,withMDXComponents:()=>m});var t=a(67294);function r(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function l(){return l=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e[t]=a[t])}return e},l.apply(this,arguments)}function i(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function o(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?i(Object(a),!0).forEach((function(n){r(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function d(e,n){if(null==e)return{};var a,t,r=function(e,n){if(null==e)return{};var a,t,r={},l=Object.keys(e);for(t=0;t<l.length;t++)a=l[t],n.indexOf(a)>=0||(r[a]=e[a]);return r}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(t=0;t<l.length;t++)a=l[t],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=t.createContext({}),m=function(e){return function(n){var a=s(n.components);return t.createElement(e,l({},n,{components:a}))}},s=function(e){var n=t.useContext(p),a=n;return e&&(a="function"==typeof e?e(n):o(o({},n),e)),a},u=function(e){var n=s(e.components);return t.createElement(p.Provider,{value:n},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},x=t.forwardRef((function(e,n){var a=e.components,r=e.mdxType,l=e.originalType,i=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),m=s(a),u=r,c=m["".concat(i,".").concat(u)]||m[u]||h[u]||l;return a?t.createElement(c,o(o({ref:n},p),{},{components:a})):t.createElement(c,o({ref:n},p))}));function f(e,n){var a=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=x;var o={};for(var d in n)hasOwnProperty.call(n,d)&&(o[d]=n[d]);o.originalType=e,o[c]="string"==typeof e?e:r,i[1]=o;for(var p=2;p<l;p++)i[p]=a[p];return t.createElement.apply(null,i)}return t.createElement.apply(null,a)}x.displayName="MDXCreateElement"},13433:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var t=a(87462),r=(a(67294),a(3905));const l={id:"heaps"},i="Heaps and Heap References",o={unversionedId:"developers/starlark/heaps",id:"developers/starlark/heaps",title:"Heaps and Heap References",description:"Heaps",source:"@site/../docs/developers/starlark/heaps.generated.md",sourceDirName:"developers/starlark",slug:"/developers/starlark/heaps",permalink:"/docs/developers/starlark/heaps",draft:!1,tags:[],version:"current",frontMatter:{id:"heaps"},sidebar:"mainSidebar",previous:{title:"A Moving Garbage Collector",permalink:"/docs/developers/starlark/gc"},next:{title:"Starlark Language Specification",permalink:"/docs/developers/starlark/spec"}},d={},p=[{value:"Heaps",id:"heaps",level:2},{value:"Heap Containers",id:"heap-containers",level:2},{value:"Heap References",id:"heap-references",level:2},{value:"<code>OwnedFrozenValue</code>",id:"ownedfrozenvalue",level:2}],m={toc:p};function s(e){let{components:n,...a}=e;return(0,r.mdx)("wrapper",(0,t.Z)({},m,a,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"heaps-and-heap-references"},"Heaps and Heap References"),(0,r.mdx)("h2",{id:"heaps"},"Heaps"),(0,r.mdx)("p",null,"In Starlark, there are three interesting heap-related points of interest:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"A ",(0,r.mdx)("inlineCode",{parentName:"li"},"Heap")," has ",(0,r.mdx)("inlineCode",{parentName:"li"},"Value"),"'s allocated on it and cannot be cloned or shared."),(0,r.mdx)("li",{parentName:"ul"},"A ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeap")," has ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenValue"),"'s allocated on it and cannot be cloned or\nshared."),(0,r.mdx)("li",{parentName:"ul"},"A ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeapRef")," is a ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeap")," that is now read-only and can now be\ncloned and shared.")),(0,r.mdx)("p",null,"A ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenHeapRef")," keeps a heap alive. While you have a ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenValue"),", it is\nimportant that you have either the ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenHeap")," itself, or more usually, a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenHeapRef")," to it. A ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenHeap")," may contains a set of ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenHeapRef"),"'s to\nkeep the ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenHeap"),"s it references alive."),(0,r.mdx)("h2",{id:"heap-containers"},"Heap Containers"),(0,r.mdx)("p",null,"Heaps are included in other data types:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"A ",(0,r.mdx)("inlineCode",{parentName:"li"},"Module")," contains a ",(0,r.mdx)("inlineCode",{parentName:"li"},"Heap")," (where normal values are allocated) and a\n",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeap")," (stores references to other frozen heaps and has compilation\nconstants allocated on it). The ",(0,r.mdx)("inlineCode",{parentName:"li"},"Heap")," portion is garbage collected. At the\nend, when you call ",(0,r.mdx)("inlineCode",{parentName:"li"},"freeze"),", ",(0,r.mdx)("inlineCode",{parentName:"li"},"Value"),"'s referenced by name in the ",(0,r.mdx)("inlineCode",{parentName:"li"},"Module")," are\nmoved to the ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeap")," and then then ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeap")," is sealed to produce a\n",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeapRef"),"."),(0,r.mdx)("li",{parentName:"ul"},"A ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenModule")," contains a ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeapRef"),"."),(0,r.mdx)("li",{parentName:"ul"},"A ",(0,r.mdx)("inlineCode",{parentName:"li"},"GlobalsBuilder")," contains a ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeap")," onto which values are allocated."),(0,r.mdx)("li",{parentName:"ul"},"A ",(0,r.mdx)("inlineCode",{parentName:"li"},"Globals")," contains a ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeapRef"),".")),(0,r.mdx)("h2",{id:"heap-references"},"Heap References"),(0,r.mdx)("p",null,"It is important that when a ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenValue")," X is referenced by a ",(0,r.mdx)("inlineCode",{parentName:"p"},"Value")," or\n",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenValue")," (for example, included in a list), the heap where X originates is\nadded as a reference to the heap where the new value is being created."),(0,r.mdx)("p",null,"As a concrete example in pseudo-code:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-rust"},'let h1 = FrozenHeap::new();\nlet s = "test".alloc(h1);\nlet h1 : FrozenHeapRef = h1.into_ref();\n\nlet h2 = Heap::new();\nh2.add_reference(h1);\nvec![s].alloc(h2);\n')),(0,r.mdx)("p",null,"In the above code, the following steps are taken:"),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},"Create a ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeap")," then allocate something in it."),(0,r.mdx)("li",{parentName:"ol"},"Turn the heap into a reference."),(0,r.mdx)("li",{parentName:"ol"},"Use the allocated value ",(0,r.mdx)("inlineCode",{parentName:"li"},"s")," from ",(0,r.mdx)("inlineCode",{parentName:"li"},"h1")," when constructing a value in ",(0,r.mdx)("inlineCode",{parentName:"li"},"h2"),"."),(0,r.mdx)("li",{parentName:"ol"},"For that to be legal, and for the heap ",(0,r.mdx)("inlineCode",{parentName:"li"},"h1")," to not disappear while it is\nbeing allocated, it is important to call ",(0,r.mdx)("inlineCode",{parentName:"li"},"add_reference"),".")),(0,r.mdx)("p",null,"Note that this API can only point at a ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenValue")," from another heap, and only\nafter that heap has been turned into a reference, so it will not be allocated in\nanymore. These restrictions are deliberate and mean that most programs only have\none 'active heap' at a time."),(0,r.mdx)("p",null,"Following are some places where heap references are added by Starlark:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Before evaluation is started, a reference is added to the ",(0,r.mdx)("inlineCode",{parentName:"li"},"Globals")," from the\n",(0,r.mdx)("inlineCode",{parentName:"li"},"Module"),", so it can access the global functions."),(0,r.mdx)("li",{parentName:"ul"},"When evaluating a ",(0,r.mdx)("inlineCode",{parentName:"li"},"load")," statement, a reference is added to the ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenModule"),"\nthat is being loaded."),(0,r.mdx)("li",{parentName:"ul"},"When freezing a module, the ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeap"),", in the ",(0,r.mdx)("inlineCode",{parentName:"li"},"Module"),", is moved to the\n",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenModule"),", preserving the references that were added.")),(0,r.mdx)("h2",{id:"ownedfrozenvalue"},(0,r.mdx)("inlineCode",{parentName:"h2"},"OwnedFrozenValue")),(0,r.mdx)("p",null,"When you get a value from a ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenModule"),", it will be a ",(0,r.mdx)("inlineCode",{parentName:"p"},"OwnedFrozenValue"),".\nThis structure is a pair of a ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenHeapRef")," and a ",(0,r.mdx)("inlineCode",{parentName:"p"},"FrozenValue"),", where the ref\nkeeps the value alive. You can move that ",(0,r.mdx)("inlineCode",{parentName:"p"},"OwnedFrozenValue")," into the value of a\nmodule with code such as:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-rust"},'fn move<\'v>(from: &FrozenModule, to: &\'v Module) {\n let x : OwnedFrozenValue = from.get("value").unwrap();\n let v : Value<\'v> = x.owned_value(&to);\n to.set("value", v);\n}\n')),(0,r.mdx)("p",null,"In general, you can use the ",(0,r.mdx)("inlineCode",{parentName:"p"},"OwnedFrozenValue")," in one of three ways:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Operate on it directly")," - with methods like ",(0,r.mdx)("inlineCode",{parentName:"li"},"unpack_i32")," or ",(0,r.mdx)("inlineCode",{parentName:"li"},"to_str"),"."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Extract it safely")," - using methods like ",(0,r.mdx)("inlineCode",{parentName:"li"},"owned_frozen_value"),", which takes a\n",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeap")," to which the heap reference is added and returns a naked\n",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenValue"),". After that, it is then safe for the ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenHeap")," you passed in\nto use the ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenValue"),".",(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},"With ",(0,r.mdx)("inlineCode",{parentName:"li"},"owned_value"),", there is lifetime checking that the right heap is\npassed, but with ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenValue"),", there isn't."),(0,r.mdx)("li",{parentName:"ul"},"Be careful to pass the right heap, although given most programs only have\none active heap at a time, it should mostly work out."))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Extract it unsafely")," - using methods ",(0,r.mdx)("inlineCode",{parentName:"li"},"unchecked_frozen_value"),", which gives\nyou the underlying ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenValue")," without adding any references.",(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},"Be careful to make sure there is a good reason the ",(0,r.mdx)("inlineCode",{parentName:"li"},"FrozenValue")," remains\nvalid.")))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/85c493e5.c57e44f4.js b/assets/js/85c493e5.c57e44f4.js new file mode 100644 index 0000000000000..8f810070324bf --- /dev/null +++ b/assets/js/85c493e5.c57e44f4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[525],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>s,MDXProvider:()=>d,mdx:()=>h,useMDXComponents:()=>u,withMDXComponents:()=>p});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(){return a=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},a.apply(this,arguments)}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){o(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=n.createContext({}),p=function(e){return function(r){var t=u(r.components);return n.createElement(e,a({},r,{components:t}))}},u=function(e){var r=n.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):l(l({},r),e)),t},d=function(e){var r=u(e.components);return n.createElement(s.Provider,{value:r},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},x=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=u(t),d=o,m=p["".concat(i,".").concat(d)]||p[d]||f[d]||a;return t?n.createElement(m,l(l({ref:r},s),{},{components:t})):n.createElement(m,l({ref:r},s))}));function h(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=x;var l={};for(var c in r)hasOwnProperty.call(r,c)&&(l[c]=r[c]);l.originalType=e,l[m]="string"==typeof e?e:o,i[1]=l;for(var s=2;s<a;s++)i[s]=t[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}x.displayName="MDXCreateElement"},13043:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var n=t(87462),o=(t(67294),t(3905));const a={id:"ActionErrorCtx"},i="ActionErrorCtx type",l={unversionedId:"api/build/ActionErrorCtx",id:"api/build/ActionErrorCtx",title:"ActionErrorCtx type",description:"Methods available on ActionErrorCtx to help categorize the action failure. These categorizations should be finer grain, and most likely language specific.",source:"@site/../docs/api/build/ActionErrorCtx.generated.md",sourceDirName:"api/build",slug:"/api/build/ActionErrorCtx",permalink:"/docs/api/build/ActionErrorCtx",draft:!1,tags:[],version:"current",frontMatter:{id:"ActionErrorCtx"},sidebar:"apiSidebar",previous:{title:"globals",permalink:"/docs/api/build/globals"},next:{title:"ActionErrorLocation type",permalink:"/docs/api/build/ActionErrorLocation"}},c={},s=[{value:"ActionErrorCtx.new_error_location",id:"actionerrorctxnew_error_location",level:2},{value:"ActionErrorCtx.new_sub_error",id:"actionerrorctxnew_sub_error",level:2},{value:"ActionErrorCtx.stderr",id:"actionerrorctxstderr",level:2},{value:"ActionErrorCtx.stdout",id:"actionerrorctxstdout",level:2}],p={toc:s};function u(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"actionerrorctx-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"ActionErrorCtx")," type"),(0,o.mdx)("p",null,"Methods available on ",(0,o.mdx)("inlineCode",{parentName:"p"},"ActionErrorCtx")," to help categorize the action failure. These categorizations should be finer grain, and most likely language specific."),(0,o.mdx)("h2",{id:"actionerrorctxnew_error_location"},"ActionErrorCtx.new","_","error","_","location"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def ActionErrorCtx.new_error_location(\n *,\n file: str,\n line: None | int = None\n) -> ActionErrorLocation\n")),(0,o.mdx)("p",null,"Create a new error location, specifying a file path and an optional line number."),(0,o.mdx)("p",null,"The file path should be either a project-relative path, or an absolute path."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionerrorctxnew_sub_error"},"ActionErrorCtx.new","_","sub","_","error"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def ActionErrorCtx.new_sub_error(\n *,\n category: str,\n message: None | str = None,\n locations: None | list[ActionErrorLocation] | tuple[ActionErrorLocation, ...] = None\n) -> ActionSubError\n")),(0,o.mdx)("p",null,"Create a new sub error, specifying an error category name, optional message, and an optional list of error locations."),(0,o.mdx)("p",null,"The category should be finer grain error categorizations provided by the rule authors,\nand tend to be language specific. These should not be any kind of shared concepts\namong all errors for all languages/rules. For example, timeouts and infra errors\nshould not go here - buck2 tries to categorize these types of errors automatically.\nAn example of a finer grain error category may be the error code for rustc outputs."),(0,o.mdx)("p",null,"The message will be emitted to the build report, and to the stderr in the error diagnostics\nsection."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionerrorctxstderr"},"ActionErrorCtx.stderr"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorCtx.stderr: str\n")),(0,o.mdx)("p",null,"The stderr of the failed action."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionerrorctxstdout"},"ActionErrorCtx.stdout"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorCtx.stdout: str\n")),(0,o.mdx)("p",null,"The stdout of the failed action."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/86dcd6f7.eeacfbb7.js b/assets/js/86dcd6f7.eeacfbb7.js new file mode 100644 index 0000000000000..7b4629556a9df --- /dev/null +++ b/assets/js/86dcd6f7.eeacfbb7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7585],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>d,MDXProvider:()=>m,mdx:()=>f,useMDXComponents:()=>p,withMDXComponents:()=>u});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},i.apply(this,arguments)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=a.createContext({}),u=function(e){return function(t){var n=p(t.components);return a.createElement(e,i({},t,{components:n}))}},p=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},m=function(e){var t=p(e.components);return a.createElement(d.Provider,{value:t},e.children)},c="mdxType",x={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),u=p(n),m=r,c=u["".concat(s,".").concat(m)]||u[m]||x[m]||i;return n?a.createElement(c,o(o({ref:t},d),{},{components:n})):a.createElement(c,o({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,s=new Array(i);s[0]=h;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o[c]="string"==typeof e?e:r,s[1]=o;for(var d=2;d<i;d++)s[d]=n[d];return a.createElement.apply(null,s)}return a.createElement.apply(null,n)}h.displayName="MDXCreateElement"},90013:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>x,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var a=n(87462),r=(n(67294),n(3905));const i={id:"transitive_sets",title:"Transitive Sets"},s=void 0,o={unversionedId:"rule_authors/transitive_sets",id:"rule_authors/transitive_sets",title:"Transitive Sets",description:"Transitive sets enable the propagation of data up dependency trees in a manner",source:"@site/../docs/rule_authors/transitive_sets.md",sourceDirName:"rule_authors",slug:"/rule_authors/transitive_sets",permalink:"/docs/rule_authors/transitive_sets",draft:!1,tags:[],version:"current",frontMatter:{id:"transitive_sets",title:"Transitive Sets"},sidebar:"mainSidebar",previous:{title:"Writing Rules",permalink:"/docs/rule_authors/writing_rules"},next:{title:"Configurations",permalink:"/docs/rule_authors/configurations"}},l={},d=[{value:"Rule API",id:"rule-api",level:2},{value:"Projections: using transitive sets in command lines",id:"projections-using-transitive-sets-in-command-lines",level:2},{value:"Projections: using transitive sets in write_json()",id:"projections-using-transitive-sets-in-write_json",level:2},{value:"Traversals in depth",id:"traversals-in-depth",level:3},{value:"Other APIs",id:"other-apis",level:2},{value:"Transitive set reductions",id:"transitive-set-reductions",level:3},{value:"Transitive set iteration",id:"transitive-set-iteration",level:3},{value:"Ordering",id:"ordering",level:3},{value:"Implementation details",id:"implementation-details",level:2},{value:"Performance",id:"performance",level:3},{value:"Evaluation",id:"evaluation",level:3}],u=e=>function(t){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.mdx)("div",t)},p=u("Mermaid"),m=u("FbInternalOnly"),c={toc:d};function x(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"Transitive sets enable the propagation of data up dependency trees in a manner\nthat is both efficient in Starlark code (low cost of creation, low memory usage)\nand efficient for execution by Buck (edges can be shared instead of having each\naction depend directly on all its inputs)."),(0,r.mdx)("p",null,"Examples of where transitive sets are useful include:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Propagating transitive link-time dependencies of a library all the way to a\nbinary to build."),(0,r.mdx)("li",{parentName:"ul"},"Propagating transitive compile-time headers.")),(0,r.mdx)("h2",{id:"rule-api"},"Rule API"),(0,r.mdx)("p",null,"First, you need to declare your transitive set type, then you can use it, as\nfollows:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-starlark"},'# This is the type\nMySet = transitive_set()\n\n# Those are transitive sets:\nset1 = ctx.actions.tset(MySet, value = "foo")\nset2 = ctx.actions.tset(MySet, value = "bar", children = [set1])\n')),(0,r.mdx)("p",null,"Values are optional, and so are children. This means you can have a set with no\nvalue and sets with no children."),(0,r.mdx)("h2",{id:"projections-using-transitive-sets-in-command-lines"},"Projections: using transitive sets in command lines"),(0,r.mdx)("p",null,"Sets aren't useful unless you can use their contents!"),(0,r.mdx)("p",null,"To use a set in a command line, you use a concept called a 'projection', which\ndefines how to turn individual values found in the set into command line\narguments."),(0,r.mdx)("p",null,"To define a projection, you write a function that takes a value of your set and\nreturns a command-line like object (",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args"),", ",(0,r.mdx)("inlineCode",{parentName:"p"},"string"),", ",(0,r.mdx)("inlineCode",{parentName:"p"},"attr.arg()"),"\nattributes, ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact"),", and so on) or a list of them in whichever way makes\nsense for your use case."),(0,r.mdx)("p",null,"Then, you call ",(0,r.mdx)("inlineCode",{parentName:"p"},"project_as_args")," to turn a set into a value suitable for\ninclusion in a command line. When expanded, this projection will expand like a\nlist of all the node's individual projected values."),(0,r.mdx)("p",null,"Following is an example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-starlark"},'# Declare the projection\ndef project_as_define(value: str):\n return cmd_args(value, format = "-D{}")\n\n# Add it to the set definition\nMySet = transitive_set(args_projections = { "define": project_as_define })\n\n# Create a set\nset1 = ctx.actions.tset(MySet, value = "foo")\nset2 = ctx.actions.tset(MySet, value = "bar", children = [set1])\n\n# Call the projection.\n# Note "define" is the key used above in `args_projections`.\nargs = set2.project_as_args("define")\n')),(0,r.mdx)("p",null,"When you use ",(0,r.mdx)("inlineCode",{parentName:"p"},"args")," in a command line, it will expand to ",(0,r.mdx)("inlineCode",{parentName:"p"},"-Dbar -Dfoo"),"."),(0,r.mdx)("p",null,"Note that creating projections is very cheap. Notably, it is independent of the\nsize of the set."),(0,r.mdx)("h2",{id:"projections-using-transitive-sets-in-write_json"},"Projections: using transitive sets in write_json()"),(0,r.mdx)("p",null,"As with command lines, sets can form json projections to be used in write_json."),(0,r.mdx)("p",null,"A json projection is defined in the same way as an arg projection. The function\nshould return a value that ",(0,r.mdx)("inlineCode",{parentName:"p"},"write_json")," otherwise supports. Then, you call\n",(0,r.mdx)("inlineCode",{parentName:"p"},"project_as_json")," to turn a set into a value that can be passed to ",(0,r.mdx)("inlineCode",{parentName:"p"},"write_json"),"\n(or can appear within the value passed to it, it doesn't need to be the\ntop-level value). When expanded, the projection will expand like a list of all\nthe node's individual projected values."),(0,r.mdx)("p",null,"Following is an example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-starlark"},'# Declare the projection\ndef project_as_json(value: str):\n return struct(key = "foo", value = value)\n\n# Add it to the set definition\nMySet = transitive_set(json_projections = { "define": project_as_json })\n\n# Create a set\nset1 = ctx.actions.tset(MySet, value = "foo")\nset2 = ctx.actions.tset(MySet, value = "bar", children = [set1])\n\n# Call the projection.\n# Note "define" is the key we used above in `json_projections`.\nargs = set2.project_as_json("define")\n')),(0,r.mdx)("p",null,"Note that if your projected values include (or may include) artifacts, you will\nlikely want to use ",(0,r.mdx)("inlineCode",{parentName:"p"},"write_json(with_inputs=True)")," to get back a cmd_args that\nhas all the artifacts in the json structure already in its ",(0,r.mdx)("inlineCode",{parentName:"p"},".hidden"),"."),(0,r.mdx)("h3",{id:"traversals-in-depth"},"Traversals in depth"),(0,r.mdx)("p",null,"Transitive sets form DAGs. Notably, this means individual nodes can exist more\nthan once in a given transitive set."),(0,r.mdx)("p",null,"When a transitive set is traversed, nodes that have already been visited are\nskipped. This means their arguments will only be emitted once."),(0,r.mdx)("p",null,"For example:"),(0,r.mdx)(p,{chart:"\nflowchart TD\n foo((foo))\n bar((bar))\n qux((qux))\n qux --\x3e foo\n bar --\x3e foo\n qux --\x3e bar\n",mdxType:"Mermaid"}),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-starlark"},'set1 = ctx.actions.tset(MySet, value = "foo")\nset2 = ctx.actions.tset(MySet, value = "bar", children = [set1])\nset3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2])\n\nargs = set3.project_as_args("define")\n')),(0,r.mdx)("p",null,"This will expand to ",(0,r.mdx)("inlineCode",{parentName:"p"},"-Dqux -Dfoo -Dbar"),", even though ",(0,r.mdx)("inlineCode",{parentName:"p"},"set1")," (",(0,r.mdx)("inlineCode",{parentName:"p"},'"foo"'),") shows up\ntwice in the DAG."),(0,r.mdx)("h2",{id:"other-apis"},"Other APIs"),(0,r.mdx)("h3",{id:"transitive-set-reductions"},"Transitive set reductions"),(0,r.mdx)("p",null,"You can aggregate values of a transitive set via a reduction. This can be\nhelpful for tasks such as propagating Boolean flags up the tree."),(0,r.mdx)("p",null,"Following is a real-world example."),(0,r.mdx)("p",null,"When defining a reduction, you receive the reduced values of all your children,\nand an optional value for the current node (the value will be ",(0,r.mdx)("inlineCode",{parentName:"p"},"None")," when you\ncreate a set and you don't pass a ",(0,r.mdx)("inlineCode",{parentName:"p"},"value"),"), and you need to merge them together\nto produce this node's value:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-starlark"},'def link_info_has_default_filelist(children: list[bool], infos: LinkInfos | None):\n if infos:\n info = infos.default\n if info.filelist:\n return True\n return any(children)\n\n# Set of LinkInfos\nLinkInfosTSet = transitive_set(\n reductions = {\n "has_default_filelist": link_info_has_default_filelist,\n },\n)\n')),(0,r.mdx)("h3",{id:"transitive-set-iteration"},"Transitive set iteration"),(0,r.mdx)("p",null,"You ",(0,r.mdx)("em",{parentName:"p"},"can")," iterate over a transitive set. This will yield each value once. You\ncan also iterate over projections."),(0,r.mdx)("p",null,"However, note that this is generally not recommended, since unlike creating and\nusing a projection, this operation is ",(0,r.mdx)("inlineCode",{parentName:"p"},"O(set)"),"."),(0,r.mdx)("p",null,"You should use this as an escape hatch if and only if you need to implement\nsomething transitive sets don't support via projections or reductions, because\nin doing so you'll lose a lot of the performance benefits."),(0,r.mdx)("p",null,"For example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-starlark"},'set1 = ctx.actions.tset(MySet, value = "foo")\nset2 = ctx.actions.tset(MySet, value = "bar", children = [set1])\nset3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2])\n\nvalues = list(set3.traverse())\n')),(0,r.mdx)("p",null,"This will yield ",(0,r.mdx)("inlineCode",{parentName:"p"},'["qux", "foo", "bar"]'),"."),(0,r.mdx)("h3",{id:"ordering"},"Ordering"),(0,r.mdx)("p",null,"Transitive set iteration uses a left-to-right, pre-order traversal by default,\nand ignores nodes that have already been visited. This order is reflected in\nprojections as well."),(0,r.mdx)("p",null,"A few different traversal orders are supported with the ",(0,r.mdx)("inlineCode",{parentName:"p"},"ordering")," attribute:"),(0,r.mdx)("table",null,(0,r.mdx)("thead",{parentName:"table"},(0,r.mdx)("tr",{parentName:"thead"},(0,r.mdx)("th",{parentName:"tr",align:null},"Ordering"),(0,r.mdx)("th",{parentName:"tr",align:null},"Description"))),(0,r.mdx)("tbody",{parentName:"table"},(0,r.mdx)("tr",{parentName:"tbody"},(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},"preorder")," (default)"),(0,r.mdx)("td",{parentName:"tr",align:null},"Traverses using a depth-first-search, visiting nodes left-to-right.")),(0,r.mdx)("tr",{parentName:"tbody"},(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},"postorder")),(0,r.mdx)("td",{parentName:"tr",align:null},"Traverses children left-to-right, and then visits the current node.")),(0,r.mdx)("tr",{parentName:"tbody"},(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},"topological")),(0,r.mdx)("td",{parentName:"tr",align:null},"A Topological sort, such that nodes are listed after all nodes that have them as descendants. This is similar to a pre-order traversal, except that when nodes are shared with more than one parent it is returned in the order of its last occurrence.")),(0,r.mdx)("tr",{parentName:"tbody"},(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},"bfs")),(0,r.mdx)("td",{parentName:"tr",align:null},"Breadth-first-search (BFS) traversal, traverses nodes left-to-right before traversing children.")))),(0,r.mdx)("p",null,"For example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-starlark",metastring:"src=fbcode/buck2/app/buck2_build_api_tests/src/interpreter/transitive_set/tests.rs",src:"fbcode/buck2/app/buck2_build_api_tests/src/interpreter/transitive_set/tests.rs"},'set1 = ctx.actions.tset(MySet, value = "foo")\nset2 = ctx.actions.tset(MySet, value = "bar", children = [set1])\nset3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2])\n\nvalues = list(set3.traverse(ordering = "topological"))\n\n# This also works for projections\nargs = set3.project_as_args("project", ordering = "topological"))\n')),(0,r.mdx)("p",null,"Following is an example of how different orderings evaluate:"),(0,r.mdx)(p,{chart:"\nflowchart TD\n foo((foo))\n bar((bar))\n qux((qux))\n qux --\x3e foo\n bar --\x3e foo\n qux --\x3e bar\n",mdxType:"Mermaid"}),(0,r.mdx)("table",null,(0,r.mdx)("thead",{parentName:"table"},(0,r.mdx)("tr",{parentName:"thead"},(0,r.mdx)("th",{parentName:"tr",align:null},"Ordering"),(0,r.mdx)("th",{parentName:"tr",align:null},"Result"))),(0,r.mdx)("tbody",{parentName:"table"},(0,r.mdx)("tr",{parentName:"tbody"},(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},"preorder")),(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},'["qux", "foo", "bar"]'))),(0,r.mdx)("tr",{parentName:"tbody"},(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},"postorder")),(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},'["foo", "bar", "qux"]'))),(0,r.mdx)("tr",{parentName:"tbody"},(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},"topological")),(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},'["qux", "bar", "foo"]'))),(0,r.mdx)("tr",{parentName:"tbody"},(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},"bfs")),(0,r.mdx)("td",{parentName:"tr",align:null},(0,r.mdx)("inlineCode",{parentName:"td"},'["qux", "foo", "bar"]'))))),(0,r.mdx)(m,{mdxType:"FbInternalOnly"},(0,r.mdx)("p",null,"This is verified by the test:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-starlark",metastring:"src=fbcode/buck2/app/buck2_build_api_tests/src/interpreter/transitive_set/tests.rs title=fbcode/buck2/app/buck2_build_api_tests/src/interpreter/transitive_set/tests.rs",src:"fbcode/buck2/app/buck2_build_api_tests/src/interpreter/transitive_set/tests.rs",title:"fbcode/buck2/app/buck2_build_api_tests/src/interpreter/transitive_set/tests.rs"},'# Test all orderings which show up in the table.\nassert_eq(list(set3.traverse()), ["qux", "foo", "bar"])\nassert_eq(list(set3.traverse(ordering = "preorder")), ["qux", "foo", "bar"])\nassert_eq(list(set3.traverse(ordering = "postorder")), ["foo", "bar", "qux"])\nassert_eq(list(set3.traverse(ordering = "topological")), ["qux", "bar", "foo"])\nassert_eq(list(set3.traverse(ordering = "bfs")), ["qux", "foo", "bar"])\n'))),(0,r.mdx)("h2",{id:"implementation-details"},"Implementation details"),(0,r.mdx)("h3",{id:"performance"},"Performance"),(0,r.mdx)("p",null,"The performance benefits of tsets arise due to:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Caching"),": projections and reductions are cached."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Lazy Evaluation"),": projection traversals are evaluated lazily.")),(0,r.mdx)("h3",{id:"evaluation"},"Evaluation"),(0,r.mdx)("p",null,"Projections and reductions are evaluated eagerly for each node of your\ntransitive set. This means that if your projection throws an error, you'll find\nout when creating a set via ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions.tset"),"."))}x.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/88c3dc86.2fc2a90f.js b/assets/js/88c3dc86.2fc2a90f.js new file mode 100644 index 0000000000000..7e7f9106e6e2c --- /dev/null +++ b/assets/js/88c3dc86.2fc2a90f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6995],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>p,MDXProvider:()=>m,mdx:()=>y,useMDXComponents:()=>l,withMDXComponents:()=>s});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=r.createContext({}),s=function(e){return function(t){var n=l(t.components);return r.createElement(e,a({},t,{components:n}))}},l=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},m=function(e){var t=l(e.components);return r.createElement(p.Provider,{value:t},e.children)},d="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),s=l(n),m=o,d=s["".concat(c,".").concat(m)]||s[m]||b[m]||a;return n?r.createElement(d,u(u({ref:t},p),{},{components:n})):r.createElement(d,u({ref:t},p))}));function y(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,c=new Array(a);c[0]=f;var u={};for(var i in t)hasOwnProperty.call(t,i)&&(u[i]=t[i]);u.originalType=e,u[d]="string"==typeof e?e:o,c[1]=u;for(var p=2;p<a;p++)c[p]=n[p];return r.createElement.apply(null,c)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},33820:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>u,toc:()=>p});var r=n(87462),o=(n(67294),n(3905));const a={id:"buck_out",title:"buck-out"},c="buck-out",u={unversionedId:"concepts/buck_out",id:"concepts/buck_out",title:"buck-out",description:"Buck2 stores build artifacts in a directory named buck-out in the root of your",source:"@site/../docs/concepts/buck_out.md",sourceDirName:"concepts",slug:"/concepts/buck_out",permalink:"/docs/concepts/buck_out",draft:!1,tags:[],version:"current",frontMatter:{id:"buck_out",title:"buck-out"},sidebar:"mainSidebar",previous:{title:"Target Pattern",permalink:"/docs/concepts/target_pattern"},next:{title:"Visibility",permalink:"/docs/concepts/visibility"}},i={},p=[],s={toc:p};function l(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"buck-out"},"buck-out"),(0,o.mdx)("p",null,"Buck2 stores build artifacts in a directory named ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck-out")," in the root of your\n",(0,o.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#project"},"project"),". You should not make assumptions about where\nBuck2 places your build artifacts within the directory structure beneath\n",(0,o.mdx)("inlineCode",{parentName:"p"},"buck-out")," as these locations depend on Buck2's implementation and could\npotentially change over time. Instead, to obtain the location of the build\nartifact for a particular target, you can use one of the ",(0,o.mdx)("inlineCode",{parentName:"p"},"--show-*-output"),"\noptions with the ",(0,o.mdx)("a",{parentName:"p",href:"../../users/commands/build"},(0,o.mdx)("inlineCode",{parentName:"a"},"buck2 build"))," or\n",(0,o.mdx)("a",{parentName:"p",href:"../../users/commands/targets"},(0,o.mdx)("inlineCode",{parentName:"a"},"buck2 targets"))," commands, most commonly\n",(0,o.mdx)("inlineCode",{parentName:"p"},"--show-output"),". For the full list of ways to show the output location, you can\nrun ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 build --help")," or ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 targets --help"),"."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},"buck2 targets --show-output <target>\nbuck2 build --show-output <target>\n")))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/892f7c1f.8860b426.js b/assets/js/892f7c1f.8860b426.js new file mode 100644 index 0000000000000..dc10609abda63 --- /dev/null +++ b/assets/js/892f7c1f.8860b426.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8301],{3905:(e,r,n)=>{n.r(r),n.d(r,{MDXContext:()=>s,MDXProvider:()=>u,mdx:()=>v,useMDXComponents:()=>c,withMDXComponents:()=>m});var t=n(67294);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(){return i=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},i.apply(this,arguments)}function p(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function a(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?p(Object(n),!0).forEach((function(r){o(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function l(e,r){if(null==e)return{};var n,t,o=function(e,r){if(null==e)return{};var n,t,o={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=t.createContext({}),m=function(e){return function(r){var n=c(r.components);return t.createElement(e,i({},r,{components:n}))}},c=function(e){var r=t.useContext(s),n=r;return e&&(n="function"==typeof e?e(r):a(a({},r),e)),n},u=function(e){var r=c(e.components);return t.createElement(s.Provider,{value:r},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},y=t.forwardRef((function(e,r){var n=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),m=c(n),u=o,d=m["".concat(p,".").concat(u)]||m[u]||f[u]||i;return n?t.createElement(d,a(a({ref:r},s),{},{components:n})):t.createElement(d,a({ref:r},s))}));function v(e,r){var n=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var i=n.length,p=new Array(i);p[0]=y;var a={};for(var l in r)hasOwnProperty.call(r,l)&&(a[l]=r[l]);a.originalType=e,a[d]="string"==typeof e?e:o,p[1]=a;for(var s=2;s<i;s++)p[s]=n[s];return t.createElement.apply(null,p)}return t.createElement.apply(null,n)}y.displayName="MDXCreateElement"},2692:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>p,default:()=>c,frontMatter:()=>i,metadata:()=>a,toc:()=>s});var t=n(87462),o=(n(67294),n(3905));const i={id:"promise"},p="promise type",a={unversionedId:"api/bxl/promise",id:"api/bxl/promise",title:"promise type",description:"promise.join",source:"@site/../docs/api/bxl/promise.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/promise",permalink:"/docs/api/bxl/promise",draft:!1,tags:[],version:"current",frontMatter:{id:"promise"},sidebar:"apiSidebar",previous:{title:"plugins type",permalink:"/docs/api/bxl/plugins"},next:{title:"provider_collection type",permalink:"/docs/api/bxl/provider_collection"}},l={},s=[{value:"promise.join",id:"promisejoin",level:2},{value:"promise.map",id:"promisemap",level:2}],m={toc:s};function c(e){let{components:r,...n}=e;return(0,o.mdx)("wrapper",(0,t.Z)({},m,n,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"promise-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"promise")," type"),(0,o.mdx)("h2",{id:"promisejoin"},"promise.join"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def promise.join(*args) -> promise\n")),(0,o.mdx)("p",null,"Join a set of promises together into a single promise."),(0,o.mdx)("p",null,"Given a series of promises, ",(0,o.mdx)("inlineCode",{parentName:"p"},"p4 = p1.join(p2, p3)")," will produce a promise\nwhere the value is promise that resolves to a tuple containing the three values,\nthose from ",(0,o.mdx)("inlineCode",{parentName:"p"},"p1"),", ",(0,o.mdx)("inlineCode",{parentName:"p"},"p2")," and ",(0,o.mdx)("inlineCode",{parentName:"p"},"p3")," respectively."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"promisemap"},"promise.map"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def promise.map(func: typing.Callable[[typing.Any], typing.Any], /) -> promise\n")),(0,o.mdx)("p",null,"Given a promise, apply a function to the value it contains, producing a promise with the resulting value."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8c0fa522.75c0d513.js b/assets/js/8c0fa522.75c0d513.js new file mode 100644 index 0000000000000..4e7e9723a7cbc --- /dev/null +++ b/assets/js/8c0fa522.75c0d513.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1860],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>l,MDXProvider:()=>d,mdx:()=>y,useMDXComponents:()=>u,withMDXComponents:()=>c});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){return function(t){var n=u(t.components);return r.createElement(e,o({},t,{components:n}))}},u=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},d=function(e){var t=u(e.components);return r.createElement(l.Provider,{value:t},e.children)},m="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),c=u(n),d=a,m=c["".concat(i,".").concat(d)]||c[d]||g[d]||o;return n?r.createElement(m,s(s({ref:t},l),{},{components:n})):r.createElement(m,s({ref:t},l))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=f;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[m]="string"==typeof e?e:a,i[1]=s;for(var l=2;l<o;l++)i[l]=n[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},2850:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var r=n(87462),a=(n(67294),n(3905));const o={id:"anon_targets"},i="anon_targets type",s={unversionedId:"api/build/anon_targets",id:"api/build/anon_targets",title:"anon_targets type",description:"Accessors to the all the anon targets created, as well as the joined promise of these targets.",source:"@site/../docs/api/build/anon_targets.generated.md",sourceDirName:"api/build",slug:"/api/build/anon_targets",permalink:"/docs/api/build/anon_targets",draft:!1,tags:[],version:"current",frontMatter:{id:"anon_targets"},sidebar:"apiSidebar",previous:{title:"anon_target type",permalink:"/docs/api/build/anon_target"},next:{title:"artifact type",permalink:"/docs/api/build/artifact"}},p={},l=[{value:"anon_targets.anon_targets",id:"anon_targetsanon_targets",level:2},{value:"anon_targets.promise",id:"anon_targetspromise",level:2}],c={toc:l};function u(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"anon_targets-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"anon_targets")," type"),(0,a.mdx)("p",null,"Accessors to the all the anon targets created, as well as the joined promise of these targets."),(0,a.mdx)("h2",{id:"anon_targetsanon_targets"},"anon","_","targets.anon","_","targets"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"anon_targets.anon_targets: typing.Any\n")),(0,a.mdx)("p",null,"Returns a list of ",(0,a.mdx)("inlineCode",{parentName:"p"},"StarlarkAnonTarget"),"s."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"anon_targetspromise"},"anon","_","targets.promise"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"anon_targets.promise: promise\n")),(0,a.mdx)("p",null,"Returns the promise that maps to the result of the joined anon rules."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8c7f4a27.450e5181.js b/assets/js/8c7f4a27.450e5181.js new file mode 100644 index 0000000000000..92af2294c99e6 --- /dev/null +++ b/assets/js/8c7f4a27.450e5181.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8779],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>p,MDXProvider:()=>d,mdx:()=>x,useMDXComponents:()=>u,withMDXComponents:()=>c});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),c=function(e){return function(t){var r=u(t.components);return n.createElement(e,o({},t,{components:r}))}},u=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},d=function(e){var t=u(e.components);return n.createElement(p.Provider,{value:t},e.children)},y="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),c=u(r),d=a,y=c["".concat(l,".").concat(d)]||c[d]||b[d]||o;return r?n.createElement(y,s(s({ref:t},p),{},{components:r})):n.createElement(y,s({ref:t},p))}));function x(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[y]="string"==typeof e?e:a,l[1]=s;for(var p=2;p<o;p++)l[p]=r[p];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},31778:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const o={id:"bxl.LazyResolvedAttrs"},l="bxl.LazyResolvedAttrs type",s={unversionedId:"api/bxl/bxl.LazyResolvedAttrs",id:"api/bxl/bxl.LazyResolvedAttrs",title:"bxl.LazyResolvedAttrs type",description:"The context for getting resolved attrs lazily on a target_node.",source:"@site/../docs/api/bxl/bxl.LazyResolvedAttrs.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.LazyResolvedAttrs",permalink:"/docs/api/bxl/bxl.LazyResolvedAttrs",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.LazyResolvedAttrs"},sidebar:"apiSidebar",previous:{title:"bxl.Filesystem type",permalink:"/docs/api/bxl/bxl.Filesystem"},next:{title:"bxl.OutputStream type",permalink:"/docs/api/bxl/bxl.OutputStream"}},i={},p=[{value:"bxl.LazyResolvedAttrs.get",id:"bxllazyresolvedattrsget",level:2}],c={toc:p};function u(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"bxllazyresolvedattrs-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"bxl.LazyResolvedAttrs")," type"),(0,a.mdx)("p",null,"The context for getting resolved attrs lazily on a ",(0,a.mdx)("inlineCode",{parentName:"p"},"target_node"),"."),(0,a.mdx)("h2",{id:"bxllazyresolvedattrsget"},"bxl.LazyResolvedAttrs.get"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.LazyResolvedAttrs.get(attr: str)\n")),(0,a.mdx)("p",null,"Gets a single resolved attribute. Returns an optional configured attribute."),(0,a.mdx)("p",null,"Gets a single attribute."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_resolved_attrs_lazy(ctx):\n node = ctx.cquery().owner("cell//path/to/TARGETS")[0]\n attrs = node.resolved_attrs_lazy(ctx) # cache once\n ctx.output.print(attrs.get("some_attribute").value())\n ctx.output.print(attrs.get("some_attribute").label)\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8cb0a2ab.99423b2e.js b/assets/js/8cb0a2ab.99423b2e.js new file mode 100644 index 0000000000000..c720f558c79ee --- /dev/null +++ b/assets/js/8cb0a2ab.99423b2e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7702],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>p,MDXProvider:()=>s,mdx:()=>b,useMDXComponents:()=>m,withMDXComponents:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),u=function(e){return function(t){var r=m(t.components);return n.createElement(e,o({},t,{components:r}))}},m=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=m(e.components);return n.createElement(p.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=m(r),s=a,d=u["".concat(c,".").concat(s)]||u[s]||f[s]||o;return r?n.createElement(d,i(i({ref:t},p),{},{components:r})):n.createElement(d,i({ref:t},p))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=y;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[d]="string"==typeof e?e:a,c[1]=i;for(var p=2;p<o;p++)c[p]=r[p];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},1062:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const o={id:"StackFrame"},c="StackFrame type",i={unversionedId:"api/build/StackFrame",id:"api/build/StackFrame",title:"StackFrame type",description:"StackFrame.func\\_name",source:"@site/../docs/api/build/StackFrame.generated.md",sourceDirName:"api/build",slug:"/api/build/StackFrame",permalink:"/docs/api/build/StackFrame",draft:!1,tags:[],version:"current",frontMatter:{id:"StackFrame"},sidebar:"apiSidebar",previous:{title:"ActionSubError type",permalink:"/docs/api/build/ActionSubError"},next:{title:"actions type",permalink:"/docs/api/build/actions"}},l={},p=[{value:"StackFrame.func_name",id:"stackframefunc_name",level:2},{value:"StackFrame.module_path",id:"stackframemodule_path",level:2}],u={toc:p};function m(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"stackframe-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"StackFrame")," type"),(0,a.mdx)("h2",{id:"stackframefunc_name"},"StackFrame.func","_","name"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"StackFrame.func_name: str\n")),(0,a.mdx)("p",null,"Returns the name of the entry on the call-stack."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"stackframemodule_path"},"StackFrame.module","_","path"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"StackFrame.module_path: None | str\n")),(0,a.mdx)("p",null,"Returns a path of the module from which the entry was called, or ","[",(0,a.mdx)("inlineCode",{parentName:"p"},"None"),"]"," for native Rust functions."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8d02fc2c.5bb74ed0.js b/assets/js/8d02fc2c.5bb74ed0.js new file mode 100644 index 0000000000000..bbdb66a7bd15d --- /dev/null +++ b/assets/js/8d02fc2c.5bb74ed0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1603],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>l,MDXProvider:()=>p,mdx:()=>h,useMDXComponents:()=>d,withMDXComponents:()=>m});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},i.apply(this,arguments)}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=r.createContext({}),m=function(e){return function(n){var t=d(n.components);return r.createElement(e,i({},n,{components:t}))}},d=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},p=function(e){var n=d(e.components);return r.createElement(l.Provider,{value:n},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},b=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),m=d(t),p=o,u=m["".concat(a,".").concat(p)]||m[p]||f[p]||i;return t?r.createElement(u,c(c({ref:n},l),{},{components:t})):r.createElement(u,c({ref:n},l))}));function h(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=b;var c={};for(var s in n)hasOwnProperty.call(n,s)&&(c[s]=n[s]);c.originalType=e,c[u]="string"==typeof e?e:o,a[1]=c;for(var l=2;l<i;l++)a[l]=t[l];return r.createElement.apply(null,a)}return r.createElement.apply(null,t)}b.displayName="MDXCreateElement"},78866:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var r=t(87462),o=(t(67294),t(3905));const i={id:"daemon",title:"Daemon (buckd)"},a=void 0,c={unversionedId:"concepts/daemon",id:"concepts/daemon",title:"Daemon (buckd)",description:"The first time that a Buck2 command is run, Buck2 starts a daemon process for",source:"@site/../docs/concepts/daemon.md",sourceDirName:"concepts",slug:"/concepts/daemon",permalink:"/docs/concepts/daemon",draft:!1,tags:[],version:"current",frontMatter:{id:"daemon",title:"Daemon (buckd)"},sidebar:"mainSidebar",previous:{title:"Visibility",permalink:"/docs/concepts/visibility"},next:{title:".buckconfig",permalink:"/docs/concepts/buckconfig"}},s={},l=[{value:"Killing or disabling the Buck daemon",id:"killing-or-disabling-the-buck-daemon",level:2}],m=(d="FbInternalOnly",function(e){return console.warn("Component "+d+" was not imported, exported, or provided by MDXProvider as global scope"),(0,o.mdx)("div",e)});var d;const p={toc:l};function u(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"The first time that a Buck2 command is run, Buck2 starts a daemon process for\nthe current project. For subsequent commands, Buck2 checks for the running\ndaemon process and, if found, uses the daemon to execute the command. Using the\nBuck2 daemon can save significant time as it enables Buck to share cache between\nBuck2 invocations."),(0,o.mdx)("p",null,"By default, there is 1 daemon per ",(0,o.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#project"},"project")," root, you can\nrun multiple daemons in the same project by specifying an\n",(0,o.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#isolation-dir"},"isolation dir"),"."),(0,o.mdx)("p",null,"While it runs, the Buck daemon process monitors the project's file system for\nchanges. The Buck daemon excludes from monitoring any subtrees of the project\nfile system that are specified in the ",(0,o.mdx)("inlineCode",{parentName:"p"},"[project].ignore")," setting of\n",(0,o.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"."),(0,o.mdx)("h2",{id:"killing-or-disabling-the-buck-daemon"},"Killing or disabling the Buck daemon"),(0,o.mdx)("p",null,"The Buck daemon process is killed if ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 clean")," or ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 kill")," commands are\nrun. Note that they won't kill the daemon associated with custom isolation dirs.\nTo do that, run using the ",(0,o.mdx)("inlineCode",{parentName:"p"},"--isolation-dir")," option\n(",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 --isolation-dir <dir> <command>"),")"),(0,o.mdx)(m,{mdxType:"FbInternalOnly"},(0,o.mdx)("p",null,"The Daemon is also killed when:"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},"The ",(0,o.mdx)("inlineCode",{parentName:"li"},"buck2 killall")," command is run."),(0,o.mdx)("li",{parentName:"ul"},"A new buck2 version is available."))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8d489760.03ebbc0f.js b/assets/js/8d489760.03ebbc0f.js new file mode 100644 index 0000000000000..82669a3ef50a7 --- /dev/null +++ b/assets/js/8d489760.03ebbc0f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3631],{3905:(e,n,a)=>{a.r(n),a.d(n,{MDXContext:()=>l,MDXProvider:()=>c,mdx:()=>N,useMDXComponents:()=>p,withMDXComponents:()=>s});var t=a(67294);function i(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e[t]=a[t])}return e},o.apply(this,arguments)}function r(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function m(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?r(Object(a),!0).forEach((function(n){i(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function d(e,n){if(null==e)return{};var a,t,i=function(e,n){if(null==e)return{};var a,t,i={},o=Object.keys(e);for(t=0;t<o.length;t++)a=o[t],n.indexOf(a)>=0||(i[a]=e[a]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)a=o[t],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var l=t.createContext({}),s=function(e){return function(n){var a=p(n.components);return t.createElement(e,o({},n,{components:a}))}},p=function(e){var n=t.useContext(l),a=n;return e&&(a="function"==typeof e?e(n):m(m({},n),e)),a},c=function(e){var n=p(e.components);return t.createElement(l.Provider,{value:n},e.children)},u="mdxType",x={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},h=t.forwardRef((function(e,n){var a=e.components,i=e.mdxType,o=e.originalType,r=e.parentName,l=d(e,["components","mdxType","originalType","parentName"]),s=p(a),c=i,u=s["".concat(r,".").concat(c)]||s[c]||x[c]||o;return a?t.createElement(u,m(m({ref:n},l),{},{components:a})):t.createElement(u,m({ref:n},l))}));function N(e,n){var a=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var o=a.length,r=new Array(o);r[0]=h;var m={};for(var d in n)hasOwnProperty.call(n,d)&&(m[d]=n[d]);m.originalType=e,m[u]="string"==typeof e?e:i,r[1]=m;for(var l=2;l<o;l++)r[l]=a[l];return t.createElement.apply(null,r)}return t.createElement.apply(null,a)}h.displayName="MDXCreateElement"},55284:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>m,toc:()=>l});var t=a(87462),i=(a(67294),a(3905));const o={id:"environment"},r="Environments",m={unversionedId:"developers/starlark/environment",id:"developers/starlark/environment",title:"Environments",description:"explanation of the problem, and thought process behind it, remains useful. The",source:"@site/../docs/developers/starlark/environment.generated.md",sourceDirName:"developers/starlark",slug:"/developers/starlark/environment",permalink:"/docs/developers/starlark/environment",draft:!1,tags:[],version:"current",frontMatter:{id:"environment"},sidebar:"mainSidebar",previous:{title:"Finding Commands That Buck2 Ran",permalink:"/docs/developers/what-ran"},next:{title:"A Moving Garbage Collector",permalink:"/docs/developers/starlark/gc"}},d={},l=[],s={toc:l};function p(e){let{components:n,...a}=e;return(0,i.mdx)("wrapper",(0,t.Z)({},s,a,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)("h1",{id:"environments"},"Environments"),(0,i.mdx)("admonition",{title:"Some of the information within this page is outdated. However, the",type:"warning"},(0,i.mdx)("p",{parentName:"admonition"},"explanation of the problem, and thought process behind it, remains useful. The\nstorage of values is similar but implemented using different types. :::"),(0,i.mdx)("p",{parentName:"admonition"},"Starlark (with a nested ",(0,i.mdx)("inlineCode",{parentName:"p"},"def"),") has a series of environments that may be active\nduring an evaluation, as illustrated in the following example:"),(0,i.mdx)("pre",{parentName:"admonition"},(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"x = []\ndef foo():\n y = True\n def bar():\n z = 1\n list.append(x, 1)\n")),(0,i.mdx)("p",{parentName:"admonition"},"The above example features the following environments:"),(0,i.mdx)("ul",{parentName:"admonition"},(0,i.mdx)("li",{parentName:"ul"},"Global environment - defining things like ",(0,i.mdx)("inlineCode",{parentName:"li"},"list.append")),(0,i.mdx)("li",{parentName:"ul"},"Module environment - defining ",(0,i.mdx)("inlineCode",{parentName:"li"},"x")),(0,i.mdx)("li",{parentName:"ul"},"Environment of ",(0,i.mdx)("inlineCode",{parentName:"li"},"foo")," - defining ",(0,i.mdx)("inlineCode",{parentName:"li"},"y")),(0,i.mdx)("li",{parentName:"ul"},"Environment of ",(0,i.mdx)("inlineCode",{parentName:"li"},"bar")," - defining ",(0,i.mdx)("inlineCode",{parentName:"li"},"z"))),(0,i.mdx)("p",{parentName:"admonition"},"A scope can ",(0,i.mdx)("em",{parentName:"p"},"access")," variables defined above it, and often ",(0,i.mdx)("em",{parentName:"p"},"mutate")," them, but\nnot ",(0,i.mdx)("em",{parentName:"p"},"assign")," them."),(0,i.mdx)("p",{parentName:"admonition"},"To unpack that:"),(0,i.mdx)("ul",{parentName:"admonition"},(0,i.mdx)("li",{parentName:"ul"},"From the statements inside ",(0,i.mdx)("inlineCode",{parentName:"li"},"bar"),", you can access ",(0,i.mdx)("inlineCode",{parentName:"li"},"list.append"),", ",(0,i.mdx)("inlineCode",{parentName:"li"},"x"),", ",(0,i.mdx)("inlineCode",{parentName:"li"},"y"),", and\n",(0,i.mdx)("inlineCode",{parentName:"li"},"z"),"."),(0,i.mdx)("li",{parentName:"ul"},"From inside ",(0,i.mdx)("inlineCode",{parentName:"li"},"bar"),", you can mutate the variables to be accessed with statements\nlike ",(0,i.mdx)("inlineCode",{parentName:"li"},"list.append(x, 1)")," (which may also be termed ",(0,i.mdx)("inlineCode",{parentName:"li"},"x.append(1)"),").",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"However, before this module is imported by another module, all of its\nexports become ",(0,i.mdx)("em",{parentName:"li"},"frozen"),", which means it isn't possible to mutate a global\nlist, and if ",(0,i.mdx)("inlineCode",{parentName:"li"},"foo")," is called from a different module, then ",(0,i.mdx)("inlineCode",{parentName:"li"},"x")," can't be\nmodified."))),(0,i.mdx)("li",{parentName:"ul"},"If ",(0,i.mdx)("inlineCode",{parentName:"li"},"bar")," does ",(0,i.mdx)("inlineCode",{parentName:"li"},"x = 1")," that defines a local variable ",(0,i.mdx)("inlineCode",{parentName:"li"},"x")," in the function ",(0,i.mdx)("inlineCode",{parentName:"li"},"bar"),",\nshadowing the global ",(0,i.mdx)("inlineCode",{parentName:"li"},"x"),". As a consequence, you cannot assign to variables\ndefined in an outer scope.")),(0,i.mdx)("p",{parentName:"admonition"},"Note that assignment ",(0,i.mdx)("em",{parentName:"p"},"after"),", or even ",(0,i.mdx)("em",{parentName:"p"},"in")," non-executed conditional branches,\nintroduces a local variable."),(0,i.mdx)("p",{parentName:"admonition"},"For example:"),(0,i.mdx)("pre",{parentName:"admonition"},(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"x = 1\ndef f():\n print(x)\n if False:\n x = 2\n")),(0,i.mdx)("p",{parentName:"admonition"},"In the above code, on executing ",(0,i.mdx)("inlineCode",{parentName:"p"},"f()"),", it would complain that ",(0,i.mdx)("inlineCode",{parentName:"p"},"x")," is referenced\nbefore assignment, as the assignment ",(0,i.mdx)("inlineCode",{parentName:"p"},"x = 2")," makes ",(0,i.mdx)("inlineCode",{parentName:"p"},"x")," a local variable."),(0,i.mdx)("p",{parentName:"admonition"},"The rest of this document outlines the various types of environments, how they\nare accessed, and how they are updated."),(0,i.mdx)("h2",{parentName:"admonition",id:"global-environment"},"Global Environment"),(0,i.mdx)("p",{parentName:"admonition"},"The global environment is always frozen and consists of ",(0,i.mdx)("em",{parentName:"p"},"functions")," and\n",(0,i.mdx)("em",{parentName:"p"},"type-values"),". All things in the global environment are accessed by name."),(0,i.mdx)("p",{parentName:"admonition"},"Type-values are things like ",(0,i.mdx)("inlineCode",{parentName:"p"},"list.append"),", which is used when you do either\n",(0,i.mdx)("inlineCode",{parentName:"p"},"list.append(xs, 1)")," or ",(0,i.mdx)("inlineCode",{parentName:"p"},"xs.append(1)"),", assuming ",(0,i.mdx)("inlineCode",{parentName:"p"},"xs")," is of type ",(0,i.mdx)("inlineCode",{parentName:"p"},"list"),". The\navailable methods for a type can be queried (for example, ",(0,i.mdx)("inlineCode",{parentName:"p"},"dir(list)"),")."),(0,i.mdx)("p",{parentName:"admonition"},"There are also global functions, such as ",(0,i.mdx)("inlineCode",{parentName:"p"},"len"),", ",(0,i.mdx)("inlineCode",{parentName:"p"},"range"),", and ",(0,i.mdx)("inlineCode",{parentName:"p"},"str"),"."),(0,i.mdx)("h2",{parentName:"admonition",id:"slots"},"Slots"),(0,i.mdx)("p",{parentName:"admonition"},"To optimise evaluation, all variables are accessed by integers, which are known\nas 'slots'. Many variables can be converted to slots statically during\ncompilation, and those which can't have their slot looked up by name at runtime."),(0,i.mdx)("p",{parentName:"admonition"},"The ",(0,i.mdx)("inlineCode",{parentName:"p"},"Slots")," data type is defined as:"),(0,i.mdx)("pre",{parentName:"admonition"},(0,i.mdx)("code",{parentName:"pre",className:"language-rust"},"enum Slots {\n Frozen(FrozenSlots),\n Slots(Rc<RefCell<Vec<Option<Value>>>>),\n}\n\nstruct FrozenSlots(Arc<Vec<Option<FrozenValue>>>);\n")),(0,i.mdx)("p",{parentName:"admonition"},"As featured in the above code:"),(0,i.mdx)("ul",{parentName:"admonition"},(0,i.mdx)("li",{parentName:"ul"},"A set of slots are either ",(0,i.mdx)("inlineCode",{parentName:"li"},"Frozen"),", which came from another module behind\n",(0,i.mdx)("inlineCode",{parentName:"li"},"Arc")," or just normal ",(0,i.mdx)("inlineCode",{parentName:"li"},"Slots"),", which can be manipulated by the current scope\n(behind a ",(0,i.mdx)("inlineCode",{parentName:"li"},"Rc"),"/",(0,i.mdx)("inlineCode",{parentName:"li"},"RefCell")," for single-threaded use and mutation)."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"Vec")," is accessed by the slot index."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"Option")," refers to whether the slot has been assigned yet (to detect variables\nreferenced before assignment).")),(0,i.mdx)("h2",{parentName:"admonition",id:"module-environment"},"Module Environment"),(0,i.mdx)("p",{parentName:"admonition"},"The module environment is where the module executes, namely where ",(0,i.mdx)("inlineCode",{parentName:"p"},"x")," is defined\nabove. The module environment can have values added in the following\nstandards-conforming ways:"),(0,i.mdx)("ul",{parentName:"admonition"},(0,i.mdx)("li",{parentName:"ul"},"Assignment statements (such as ",(0,i.mdx)("inlineCode",{parentName:"li"},"x = 1")," or ",(0,i.mdx)("inlineCode",{parentName:"li"},"x += 1"),")."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"For")," loops (such as the ",(0,i.mdx)("inlineCode",{parentName:"li"},"x")," in ",(0,i.mdx)("inlineCode",{parentName:"li"},"for x in []:"),")."),(0,i.mdx)("li",{parentName:"ul"},"Via the ",(0,i.mdx)("inlineCode",{parentName:"li"},'load("a.bzl", "foo")'),", which imports ",(0,i.mdx)("inlineCode",{parentName:"li"},"foo")," frozen."),(0,i.mdx)("li",{parentName:"ul"},"Via ",(0,i.mdx)("inlineCode",{parentName:"li"},"def foo():"),", which defines ",(0,i.mdx)("inlineCode",{parentName:"li"},"foo")," in the module environment. Whether a\n",(0,i.mdx)("inlineCode",{parentName:"li"},"def")," is frozen or not, when it's executed, its local variables are not\nfrozen.")),(0,i.mdx)("p",{parentName:"admonition"},"In addition, two non-standards-conforming ways of defining variables are\nsupported:"),(0,i.mdx)("ul",{parentName:"admonition"},(0,i.mdx)("li",{parentName:"ul"},"Some modules can be injected as bindings in advance. Given a module ",(0,i.mdx)("inlineCode",{parentName:"li"},"foo")," that\nis injected, all the bindings of ",(0,i.mdx)("inlineCode",{parentName:"li"},"foo")," will be inserted in this module as\nfrozen."),(0,i.mdx)("li",{parentName:"ul"},"The function ",(0,i.mdx)("inlineCode",{parentName:"li"},"load_symbols")," injects a dictionary of bindings into the module\nenvironment.")),(0,i.mdx)("p",{parentName:"admonition"},"Note that a module has a fixed set of variables (from the standards-conforming\nways), a pre-execution set (from the injections) and yet more variables at\nruntime (via ",(0,i.mdx)("inlineCode",{parentName:"p"},"load_symbols"),"). To support that structure, the mapping from name\nto slot index is tracked in a struct:"),(0,i.mdx)("pre",{parentName:"admonition"},(0,i.mdx)("code",{parentName:"pre",className:"language-rust"},"enum Names {\n Frozen(FrozenNames),\n Names(Rc<RefCell<HashMap<String, usize>>>),\n}\nstruct FrozenNames(Arc<HashMap<String, usize>>);\n")),(0,i.mdx)("p",{parentName:"admonition"},"Each name is given an entry in the map with an increasing slot index. A name\nwill only be assigned a slot once, reusing it thereafter. A corresponding\n",(0,i.mdx)("inlineCode",{parentName:"p"},"Slots")," data type provides the values associated with those names."),(0,i.mdx)("p",{parentName:"admonition"},"Importantly, the ",(0,i.mdx)("inlineCode",{parentName:"p"},"Slots")," can be extended at runtime by the ",(0,i.mdx)("inlineCode",{parentName:"p"},"load_symbols"),"\nfunction. As with ",(0,i.mdx)("inlineCode",{parentName:"p"},"Slots"),", you can either share things behind an ",(0,i.mdx)("inlineCode",{parentName:"p"},"Arc")," or mutate\nthem behind an ",(0,i.mdx)("inlineCode",{parentName:"p"},"Rc"),"/",(0,i.mdx)("inlineCode",{parentName:"p"},"RefCell"),"."),(0,i.mdx)("h2",{parentName:"admonition",id:"function-environment"},"Function Environment"),(0,i.mdx)("p",{parentName:"admonition"},"A function can have variables introduced via assignments, ",(0,i.mdx)("inlineCode",{parentName:"p"},"for")," loops, and\nparameters. No additional variables can be discovered at runtime, so all names\ncan be erased at compile time."),(0,i.mdx)("p",{parentName:"admonition"},"A function can also access variables from the functions it is statically nested\nwithin, and from the variables at the root of the module. To support this\nstructure, at runtime we pass around the context, defined as:"),(0,i.mdx)("pre",{parentName:"admonition"},(0,i.mdx)("code",{parentName:"pre",className:"language-rust"},"struct Context {\n names: Names,\n slots: Vec<Slots>,\n}\n")),(0,i.mdx)("p",{parentName:"admonition"},"The above code contains the mapping of names for the module and the slots for\nthe module and each function."),(0,i.mdx)("p",{parentName:"admonition"},"When executed, the inner-most ",(0,i.mdx)("inlineCode",{parentName:"p"},"Slots")," (at the end of ",(0,i.mdx)("inlineCode",{parentName:"p"},"slots:"),") will never be\nfrozen, as that represents the local variables: but any other may be."),(0,i.mdx)("p",{parentName:"admonition"},"When a function value is captured in a frozen module, use ",(0,i.mdx)("inlineCode",{parentName:"p"},"FrozenContext"),":"),(0,i.mdx)("pre",{parentName:"admonition"},(0,i.mdx)("code",{parentName:"pre",className:"language-rust"},"struct FrozenContext {\n names: FrozenNames,\n slots: Vec<FrozenSlots>,\n}\n\n## List comprehension environments\n\nA list comprehension can be defined as:\n\n```python\n[x for x in [1,2,3]]\n")),(0,i.mdx)("p",{parentName:"admonition"},"In the above code:"),(0,i.mdx)("ul",{parentName:"admonition"},(0,i.mdx)("li",{parentName:"ul"},"The statement defines a variable ",(0,i.mdx)("inlineCode",{parentName:"li"},"x")," that is immediately initialised and\nshadows any other variables ",(0,i.mdx)("inlineCode",{parentName:"li"},"x")," in scope."),(0,i.mdx)("li",{parentName:"ul"},"The variable ",(0,i.mdx)("inlineCode",{parentName:"li"},"x")," cannot be assigned to, other than in the list comprehension,\nas it only lives inside the comprehension and the comprehension does not\npermit assignment statements (only expressions). Such names are not available\nat the top-level, even when defined in the root of a module.")),(0,i.mdx)("p",{parentName:"admonition"},"List comprehensions are implemented by adding additional entries into the\n",(0,i.mdx)("inlineCode",{parentName:"p"},"Slots")," data type. Even when added at the root of a module, such names are not\nadded to ",(0,i.mdx)("inlineCode",{parentName:"p"},"Names"),"."),(0,i.mdx)("h2",{parentName:"admonition",id:"optimisations"},"Optimisations"),(0,i.mdx)("p",{parentName:"admonition"},"There are a number of optimisations made to the scheme:"),(0,i.mdx)("ul",{parentName:"admonition"},(0,i.mdx)("li",{parentName:"ul"},"When freezing a ",(0,i.mdx)("inlineCode",{parentName:"li"},"Names")," or ",(0,i.mdx)("inlineCode",{parentName:"li"},"Slots")," structure, it's important to only freeze a\nparticular mutable variant once, or you duplicate memory unnecessarily.\nTherefore, the ",(0,i.mdx)("inlineCode",{parentName:"li"},"Slots")," to be ",(0,i.mdx)("inlineCode",{parentName:"li"},"Rc<RefCell<(_, Option<FrozenSlots>)>>")," are\naugmented, and, similarly, the ",(0,i.mdx)("inlineCode",{parentName:"li"},"Names"),".",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"When ",(0,i.mdx)("inlineCode",{parentName:"li"},"freeze")," is called, the original value is consumed, and the ",(0,i.mdx)("inlineCode",{parentName:"li"},"Some"),"\nvariant is added."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("strong",{parentName:"li"},"Note"),": it is unsafe to ever access the slots after the ",(0,i.mdx)("inlineCode",{parentName:"li"},"freeze"),"."))),(0,i.mdx)("li",{parentName:"ul"},"Programs can only assign to the inner-most ",(0,i.mdx)("inlineCode",{parentName:"li"},"Slots"),", and that slots must always\nbe mutable. Therefore, define a local ",(0,i.mdx)("inlineCode",{parentName:"li"},"Slots")," that is always mutable, and a\nseparate AST node for referring to it.",(0,i.mdx)("ul",{parentName:"li"},(0,i.mdx)("li",{parentName:"ul"},"For modules, it is important that this mutable local ",(0,i.mdx)("inlineCode",{parentName:"li"},"Slots")," is ",(0,i.mdx)("em",{parentName:"li"},"also")," in\nscope since the scope is used to retrieve unknown variables."))))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8dae023b.80d1b8cc.js b/assets/js/8dae023b.80d1b8cc.js new file mode 100644 index 0000000000000..34228dd230bb9 --- /dev/null +++ b/assets/js/8dae023b.80d1b8cc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9194],{83769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/8e0def3d.e78a4431.js b/assets/js/8e0def3d.e78a4431.js new file mode 100644 index 0000000000000..aa698f5a2eb2b --- /dev/null +++ b/assets/js/8e0def3d.e78a4431.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1438],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>p,MDXProvider:()=>d,mdx:()=>x,useMDXComponents:()=>m,withMDXComponents:()=>c});var a=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(){return l=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},l.apply(this,arguments)}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function u(e,n){if(null==e)return{};var t,a,o=function(e,n){if(null==e)return{};var t,a,o={},l=Object.keys(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)t=l[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=a.createContext({}),c=function(e){return function(n){var t=m(n.components);return a.createElement(e,l({},n,{components:t}))}},m=function(e){var n=a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},d=function(e){var n=m(e.components);return a.createElement(p.Provider,{value:n},e.children)},s="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},b=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,l=e.originalType,r=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),c=m(t),d=o,s=c["".concat(r,".").concat(d)]||c[d]||h[d]||l;return t?a.createElement(s,i(i({ref:n},p),{},{components:t})):a.createElement(s,i({ref:n},p))}));function x(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var l=t.length,r=new Array(l);r[0]=b;var i={};for(var u in n)hasOwnProperty.call(n,u)&&(i[u]=n[u]);i.originalType=e,i[s]="string"==typeof e?e:o,r[1]=i;for(var p=2;p<l;p++)r[p]=t[p];return a.createElement.apply(null,r)}return a.createElement.apply(null,t)}b.displayName="MDXCreateElement"},1882:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>r,default:()=>s,frontMatter:()=>l,metadata:()=>i,toc:()=>p});var a=t(87462),o=(t(67294),t(3905));const l={id:"getting_started",title:"Getting Started"},r=void 0,i={unversionedId:"about/getting_started",id:"about/getting_started",title:"Getting Started",description:"Installing Buck2",source:"@site/../docs/about/getting_started.md",sourceDirName:"about",slug:"/about/getting_started",permalink:"/docs/about/getting_started",draft:!1,tags:[],version:"current",frontMatter:{id:"getting_started",title:"Getting Started"},sidebar:"mainSidebar",previous:{title:"Why Buck2",permalink:"/docs/about/why"},next:{title:"Benefits When Compared to Buck1",permalink:"/docs/about/benefits/compared_to_buck1"}},u={},p=[{value:"Installing Buck2",id:"installing-buck2",level:2},{value:"Windows configuration",id:"windows-configuration",level:3},{value:"Compiling your first project",id:"compiling-your-first-project",level:2},{value:"Creating your first hello_world project",id:"creating-your-first-hello_world-project",level:2},{value:"Learning More",id:"learning-more",level:2},{value:"Communication channels",id:"communication-channels",level:2}],c=(m="FbInternalOnly",function(e){return console.warn("Component "+m+" was not imported, exported, or provided by MDXProvider as global scope"),(0,o.mdx)("div",e)});var m;const d={toc:p};function s(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("h2",{id:"installing-buck2"},"Installing Buck2"),(0,o.mdx)("p",null,"The latest set of ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2")," executables can be found under the\n",(0,o.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/releases/tag/latest"},(0,o.mdx)("inlineCode",{parentName:"a"},"latest")," release page"),"."),(0,o.mdx)("p",null,"Additionally, for each bi-monthly release there is a\n",(0,o.mdx)("a",{parentName:"p",href:"https://dotslash-cli.com/"},"dotslash")," file that is appropriate for checkin to a\nrepository. This will automatically fetch the correct version and architecture\nfor each user, and ensures a consistent build environment for each commit in the\nrepo."),(0,o.mdx)("p",null,"To get started, first install ",(0,o.mdx)("a",{parentName:"p",href:"https://rustup.rs/"},"rustup"),", then compile the\n",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2")," executable:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-bash"},"rustup install nightly-2024-06-08\ncargo +nightly-2024-06-08 install --git https://github.com/facebook/buck2.git buck2\n")),(0,o.mdx)("p",null,"The above commands install ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2")," into a suitable directory, such as\n",(0,o.mdx)("inlineCode",{parentName:"p"},"$HOME/.cargo/bin"),", which you should then add to your ",(0,o.mdx)("inlineCode",{parentName:"p"},"$PATH"),":"),(0,o.mdx)("p",null,"Linux / macOS"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"export PATH=$HOME/.cargo/bin:$PATH\n")),(0,o.mdx)("p",null,"Windows Powershell"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-powershell"},'$Env:PATH += ";$HOME\\.cargo\\bin"\n')),(0,o.mdx)("p",null,"With Buck2 installed, you can build projects with ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2"),"!"),(0,o.mdx)("h3",{id:"windows-configuration"},"Windows configuration"),(0,o.mdx)("p",null,"Some of our rules use symlinks, which are disabled by default for non-admin\nWindows users. You can fix that by\n",(0,o.mdx)("a",{parentName:"p",href:"https://pureinfotech.com/enable-developer-mode-windows-11/"},"enabling Developer Mode"),"."),(0,o.mdx)("h2",{id:"compiling-your-first-project"},"Compiling your first project"),(0,o.mdx)("p",null,"This section covers the building of a\n",(0,o.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/tree/main/examples/hello_world"},"'hello_world' example project"),"\nthat contains a simple C++ binary. If you are interested in seeing how other\nlanguages can be built, take a look at the\n",(0,o.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/tree/main/examples/with_prelude"},"prelude example project"),",\nwhich contains Rust, C++, Python, and OCaml targets."),(0,o.mdx)("p",null,"First, clone the buck2 repository and cd into the 'hello_world' project:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-bash"},"git clone https://github.com/facebook/buck2.git\ncd buck2/examples/hello_world\n")),(0,o.mdx)("p",null,(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 init --git")," is all the setup you need to start building. This will use\ngit submodule to pull ",(0,o.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2-prelude"},"buck2-prelude"),"\ninto your project:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 init --git\n")),(0,o.mdx)("p",null,"To use another version control system, run ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 init")," and manually download\n",(0,o.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2-prelude"},"buck2-prelude")," into ",(0,o.mdx)("inlineCode",{parentName:"p"},"prelude")," at\nroot."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 init\n")),(0,o.mdx)("p",null,"To build the entire project, run:"),(0,o.mdx)("p",null,"Note: ",(0,o.mdx)("em",{parentName:"p"},"Requires clang and lld to be in the path")),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 build //...\n")),(0,o.mdx)("p",null,"Note that this uses a\n",(0,o.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/blob/main/prelude/toolchains/cxx.bzl"},"simple C++ toolchain"),"\nthat requires a recent version of ",(0,o.mdx)("inlineCode",{parentName:"p"},"clang")," to be installed on your system. This\ncan be installed with any package manager (ex. ",(0,o.mdx)("inlineCode",{parentName:"p"},"apt install clang"),",\n",(0,o.mdx)("inlineCode",{parentName:"p"},"xcode-select --install")," on macOS, ",(0,o.mdx)("inlineCode",{parentName:"p"},"choco install llvm"),"). After installing any\nexternal tools or changing your ",(0,o.mdx)("inlineCode",{parentName:"p"},"PATH"),", run ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 kill")," before running a build."),(0,o.mdx)("p",null,"To list all targets available in the project, run:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 targets //...\n")),(0,o.mdx)("p",null,"To run the main C++ binary, run:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 run //:main\n")),(0,o.mdx)("p",null,"The newly built binary can be found with the ",(0,o.mdx)("inlineCode",{parentName:"p"},"--show-output")," flag:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 build //:main --show-output\n")),(0,o.mdx)("p",null,"Output:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"Build ID: 0e890477-5b7f-4829-9ffe-662e572320a0\nJobs completed: 3. Time elapsed: 0.0s.\nBUILD SUCCEEDED\nroot//:main buck-out/v2/gen/root/9f4d83578bb24895/__main__/main\n")),(0,o.mdx)("h2",{id:"creating-your-first-hello_world-project"},"Creating your first hello_world project"),(0,o.mdx)("p",null,"This section demonstrates how to create a simple C++ 'hello_world' project."),(0,o.mdx)("p",null,"To get started, make a new folder for your project and cd into it."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"mkdir hello_world\ncd hello_world\n")),(0,o.mdx)("p",null,"Next, run ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 init --git")," to initialize the project. This command will set up\nyour project with ",(0,o.mdx)("inlineCode",{parentName:"p"},"git")," and pull in\n",(0,o.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2-prelude"},"buck2-prelude")," as a submodule.\nAdditionally, it will generate multiple files with default values."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 init --git\n")),(0,o.mdx)("p",null,"Next, add the source code ",(0,o.mdx)("inlineCode",{parentName:"p"},"main.cpp")," ,"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-c++"},'#include <iostream>\nint main() {\n std::cout << "Hello from a C++ Buck2 program!" << std::endl;\n}\n')),(0,o.mdx)("p",null,"Then, define a ",(0,o.mdx)("inlineCode",{parentName:"p"},"cxx_binary")," in the root ",(0,o.mdx)("inlineCode",{parentName:"p"},"BUCK")," file:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-Python"},'# BUCK\ncxx_binary(\n name = "main",\n srcs = ["main.cpp"],\n link_style = "static",\n)\n')),(0,o.mdx)("p",null,"If you try to build ",(0,o.mdx)("inlineCode",{parentName:"p"},"//:main")," at this point, you'll see an error about ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2"),"\nnot being able to find ",(0,o.mdx)("inlineCode",{parentName:"p"},"toolchains//:cxx"),"."),(0,o.mdx)("p",null,"The final step is to define the necessary toolchain targets. For that project,\nyou need ",(0,o.mdx)("inlineCode",{parentName:"p"},"system_cxx_toolchain")," and ",(0,o.mdx)("inlineCode",{parentName:"p"},"system_python_bootstrap_toolchain"),", which\nwill pick up the necessary tools (clang++, python, and so on) from the system."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-Python"},'# toolchains/BUCK\nload("@prelude//toolchains:cxx.bzl", "system_cxx_toolchain")\nload("@prelude//toolchains:python.bzl", "system_python_bootstrap_toolchain")\n\nsystem_cxx_toolchain(\n name = "cxx",\n visibility = ["PUBLIC"],\n)\n\nsystem_python_bootstrap_toolchain(\n name = "python_bootstrap",\n visibility = ["PUBLIC"],\n)\n')),(0,o.mdx)("p",null,"At this point, your project should have the following files:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-bash"},'$ tree -a -I "buck-out|prelude|.git"\n|-- .buckconfig\n|-- .gitmodules\n|-- BUCK\n|-- main.cpp\n`-- toolchains\n `-- BUCK\n')),(0,o.mdx)("p",null,"Now, you're ready to see the build in action."),(0,o.mdx)("p",null,"To build the main C++ target, run:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 build //:main\n")),(0,o.mdx)("p",null,"To run the main C++ target, run:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 run //:main\n")),(0,o.mdx)("p",null,"In summary, a ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2")," project requires:"),(0,o.mdx)("ol",null,(0,o.mdx)("li",{parentName:"ol"},"A ",(0,o.mdx)("inlineCode",{parentName:"li"},".buckconfig")," file in the root which has a ",(0,o.mdx)("inlineCode",{parentName:"li"},"[cells]")," section listing out\n",(0,o.mdx)("a",{parentName:"li",href:"https://buck2.build/docs/concepts/glossary/#cell"},"cells")),(0,o.mdx)("li",{parentName:"ol"},"A ",(0,o.mdx)("inlineCode",{parentName:"li"},"prelude")," directory, which contains a collection of\n",(0,o.mdx)("a",{parentName:"li",href:"https://buck2.build/docs/concepts/glossary/#rule"},"rules")," of your choice.\n",(0,o.mdx)("inlineCode",{parentName:"li"},"buck2 init")," will pull in the\n",(0,o.mdx)("a",{parentName:"li",href:"https://github.com/facebook/buck2-prelude.git"},"buck2-prelude")," as a git\nsubmodule by default"),(0,o.mdx)("li",{parentName:"ol"},"If using the ",(0,o.mdx)("a",{parentName:"li",href:"https://github.com/facebook/buck2-prelude.git"},"buck2-prelude"),",\na ",(0,o.mdx)("inlineCode",{parentName:"li"},"toolchains")," directory that declares relevant toolchains. We provide some\nbasic toolchains in\n",(0,o.mdx)("a",{parentName:"li",href:"https://github.com/facebook/buck2/tree/main/prelude/toolchains"},"prelude/toolchains")),(0,o.mdx)("li",{parentName:"ol"},(0,o.mdx)("inlineCode",{parentName:"li"},"BUCK")," files that specify targets for your project")),(0,o.mdx)("p",null,(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 init --git")," will generate all of these with reasonable default values."),(0,o.mdx)("h2",{id:"learning-more"},"Learning More"),(0,o.mdx)("p",null,"You should now be ready to explore Buck2 for use in your own projects. You can\nexplore the ",(0,o.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck2/tree/main/examples"},"examples"),"\nfolder. Look out for more tutorials in the future."),(0,o.mdx)(c,{mdxType:"FbInternalOnly"},(0,o.mdx)("h2",{id:"communication-channels"},"Communication channels"),(0,o.mdx)("p",null,"The following channels provide an insight into Buck2:"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("a",{parentName:"li",href:"https://fb.workplace.com/groups/buck2prototyping"},"Buck2 Engineering")," -\nWorkplace group for discussions about what features Buck2 should have, how\nit's going, status updates, and much more."),(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("a",{parentName:"li",href:"https://fb.workplace.com/groups/buck2users"},"Buck2 Users")," - Workplace group\nfeaturing questions from users and reports of bugs."),(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("a",{parentName:"li",href:"https://fb.workplace.com/groups/347532827186692"},"Buck2 Rule Authors")," -\nWorkplace group for discussions about language-specific rules."),(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("a",{parentName:"li",href:"https://www.internalfb.com/intern/monitor/oncall_profile?oncall=buck2"},"Buck2 Oncall Hub")," -\nurgent tasks and escalation."))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8e47425f.270305fe.js b/assets/js/8e47425f.270305fe.js new file mode 100644 index 0000000000000..7e2ab8378d15b --- /dev/null +++ b/assets/js/8e47425f.270305fe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1846],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>p,MDXProvider:()=>c,mdx:()=>h,useMDXComponents:()=>s,withMDXComponents:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},i.apply(this,arguments)}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),m=function(e){return function(t){var n=s(t.components);return a.createElement(e,i({},t,{components:n}))}},s=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=s(e.components);return a.createElement(p.Provider,{value:t},e.children)},u="mdxType",x={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=s(n),c=r,u=m["".concat(d,".").concat(c)]||m[c]||x[c]||i;return n?a.createElement(u,l(l({ref:t},p),{},{components:n})):a.createElement(u,l({ref:t},p))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,d=new Array(i);d[0]=f;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l[u]="string"==typeof e?e:r,d[1]=l;for(var p=2;p<i;p++)d[p]=n[p];return a.createElement.apply(null,d)}return a.createElement.apply(null,n)}f.displayName="MDXCreateElement"},2668:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var a=n(87462),r=(n(67294),n(3905));const i={id:"dict"},d="dict type",l={unversionedId:"api/starlark/dict",id:"api/starlark/dict",title:"dict type",description:"dict.clear",source:"@site/../docs/api/starlark/dict.generated.md",sourceDirName:"api/starlark",slug:"/api/starlark/dict",permalink:"/docs/api/starlark/dict",draft:!1,tags:[],version:"current",frontMatter:{id:"dict"},sidebar:"apiSidebar",previous:{title:"globals",permalink:"/docs/api/starlark/globals"},next:{title:"list type",permalink:"/docs/api/starlark/list"}},o={},p=[{value:"dict.clear",id:"dictclear",level:2},{value:"dict.get",id:"dictget",level:2},{value:"dict.items",id:"dictitems",level:2},{value:"dict.keys",id:"dictkeys",level:2},{value:"dict.pop",id:"dictpop",level:2},{value:"dict.popitem",id:"dictpopitem",level:2},{value:"dict.setdefault",id:"dictsetdefault",level:2},{value:"dict.update",id:"dictupdate",level:2},{value:"dict.values",id:"dictvalues",level:2}],m={toc:p};function s(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"dict-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"dict")," type"),(0,r.mdx)("h2",{id:"dictclear"},"dict.clear"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def dict.clear() -> None\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dict%C2%B7clear"},"dict.clear"),": clear a dictionary"),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"D.clear()")," removes all the entries of dictionary D and returns ",(0,r.mdx)("inlineCode",{parentName:"p"},"None"),".\nIt fails if the dictionary is frozen or if there are active iterators."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = {"one": 1, "two": 2}\nx.clear()\nx == {}\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"dictget"},"dict.get"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def dict.get(key, default = _, /)\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dict%C2%B7get"},"dict.get"),": return an element from the dictionary."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"D.get(key[, default])")," returns the dictionary value corresponding to\nthe given key. If the dictionary contains no such value, ",(0,r.mdx)("inlineCode",{parentName:"p"},"get"),"\nreturns ",(0,r.mdx)("inlineCode",{parentName:"p"},"None"),", or the value of the optional ",(0,r.mdx)("inlineCode",{parentName:"p"},"default")," parameter if\npresent."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"get")," fails if ",(0,r.mdx)("inlineCode",{parentName:"p"},"key")," is unhashable."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = {"one": 1, "two": 2}\nx.get("one") == 1\nx.get("three") == None\nx.get("three", 0) == 0\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"dictitems"},"dict.items"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def dict.items() -> list[(typing.Any, typing.Any)]\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dict%C2%B7items"},"dict.items"),": get list of (key, value) pairs."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"D.items()")," returns a new list of key/value pairs, one per element in\ndictionary D, in the same order as they would be returned by a ",(0,r.mdx)("inlineCode",{parentName:"p"},"for"),"\nloop."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = {"one": 1, "two": 2}\nx.items() == [("one", 1), ("two", 2)]\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"dictkeys"},"dict.keys"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def dict.keys() -> list[typing.Any]\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dict%C2%B7keys"},"dict.keys"),": get the list of keys of the dictionary."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"D.keys()")," returns a new list containing the keys of dictionary D, in\nthe same order as they would be returned by a ",(0,r.mdx)("inlineCode",{parentName:"p"},"for")," loop."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = {"one": 1, "two": 2}\nx.keys() == ["one", "two"]\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"dictpop"},"dict.pop"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def dict.pop(key, default = _, /)\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dict%C2%B7pop"},"dict.pop"),": return an element and remove it from a dictionary."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"D.pop(key[, default])")," returns the value corresponding to the specified\nkey, and removes it from the dictionary. If the dictionary contains no\nsuch value, and the optional ",(0,r.mdx)("inlineCode",{parentName:"p"},"default")," parameter is present, ",(0,r.mdx)("inlineCode",{parentName:"p"},"pop"),"\nreturns that value; otherwise, it fails."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"pop")," fails if ",(0,r.mdx)("inlineCode",{parentName:"p"},"key")," is unhashable, or the dictionary is frozen or has\nactive iterators."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = {"one": 1, "two": 2}\nx.pop("one") == 1\nx == {"two": 2}\nx.pop("three", 0) == 0\nx.pop("three", None) == None\n')),(0,r.mdx)("p",null,"Failure:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"{'one': 1}.pop('four') # error: not found\n")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"dictpopitem"},"dict.popitem"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def dict.popitem() -> (typing.Any, typing.Any)\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dict%C2%B7popitem"},"dict.popitem"),": returns and removes the first key/value pair of a dictionary."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"D.popitem()")," returns the first key/value pair, removing it from the\ndictionary."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"popitem")," fails if the dictionary is empty, frozen, or has active\niterators."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = {"one": 1, "two": 2}\nx.popitem() == ("one", 1)\nx.popitem() == ("two", 2)\nx == {}\n')),(0,r.mdx)("p",null,"Failure:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"{}.popitem() # error: empty dict\n")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"dictsetdefault"},"dict.setdefault"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def dict.setdefault(key, default = _, /)\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dict%C2%B7setdefault"},"dict.setdefault"),": get a value from a dictionary, setting it to a new value if not present."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"D.setdefault(key[, default])")," returns the dictionary value\ncorresponding to the given key. If the dictionary contains no such\nvalue, ",(0,r.mdx)("inlineCode",{parentName:"p"},"setdefault"),", like ",(0,r.mdx)("inlineCode",{parentName:"p"},"get"),", returns ",(0,r.mdx)("inlineCode",{parentName:"p"},"None")," or the value of the\noptional ",(0,r.mdx)("inlineCode",{parentName:"p"},"default")," parameter if present; ",(0,r.mdx)("inlineCode",{parentName:"p"},"setdefault")," additionally\ninserts the new key/value entry into the dictionary."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"setdefault")," fails if the key is unhashable or if the dictionary is\nfrozen."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = {"one": 1, "two": 2}\nx.setdefault("one") == 1\nx.setdefault("three", 0) == 0\nx == {"one": 1, "two": 2, "three": 0}\nx.setdefault("four") == None\nx == {"one": 1, "two": 2, "three": 0, "four": None}\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"dictupdate"},"dict.update"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def dict.update(pairs = _, /, **kwargs) -> None\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dict%C2%B7update"},"dict.update"),": update values in the dictionary."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"D.update([pairs][, name=value[, ...])")," makes a sequence of key/value\ninsertions into dictionary D, then returns ",(0,r.mdx)("inlineCode",{parentName:"p"},"None.")),(0,r.mdx)("p",null,"If the positional argument ",(0,r.mdx)("inlineCode",{parentName:"p"},"pairs")," is present, it must be ",(0,r.mdx)("inlineCode",{parentName:"p"},"None"),",\nanother ",(0,r.mdx)("inlineCode",{parentName:"p"},"dict"),", or some other iterable.\nIf it is another ",(0,r.mdx)("inlineCode",{parentName:"p"},"dict"),", then its key/value pairs are inserted into D.\nIf it is an iterable, it must provide a sequence of pairs (or other\niterables of length 2), each of which is treated as a key/value pair\nto be inserted into D."),(0,r.mdx)("p",null,"For each ",(0,r.mdx)("inlineCode",{parentName:"p"},"name=value")," argument present, the name is converted to a\nstring and used as the key for an insertion into D, with its\ncorresponding value being ",(0,r.mdx)("inlineCode",{parentName:"p"},"value"),"."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"update")," fails if the dictionary is frozen."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = {}\nx.update([("a", 1), ("b", 2)], c=3)\nx.update({"d": 4})\nx.update(e=5)\nx == {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}\n')),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"dictvalues"},"dict.values"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def dict.values() -> list[typing.Any]\n")),(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dict%C2%B7values"},"dict.values"),": get the list of values of the dictionary."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"D.values()")," returns a new list containing the dictionary's values, in\nthe same order as they would be returned by a ",(0,r.mdx)("inlineCode",{parentName:"p"},"for")," loop over the\ndictionary."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},'x = {"one": 1, "two": 2}\nx.values() == [1, 2]\n')))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8f36972d.455aa214.js b/assets/js/8f36972d.455aa214.js new file mode 100644 index 0000000000000..25e3cfa2767de --- /dev/null +++ b/assets/js/8f36972d.455aa214.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3117],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>x,MDXProvider:()=>p,mdx:()=>f,useMDXComponents:()=>d,withMDXComponents:()=>s});var n=r(67294);function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a.apply(this,arguments)}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){l(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,l=function(e,t){if(null==e)return{};var r,n,l={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}var x=n.createContext({}),s=function(e){return function(t){var r=d(t.components);return n.createElement(e,a({},t,{components:r}))}},d=function(e){var t=n.useContext(x),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=d(e.components);return n.createElement(x.Provider,{value:t},e.children)},g="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var r=e.components,l=e.mdxType,a=e.originalType,u=e.parentName,x=i(e,["components","mdxType","originalType","parentName"]),s=d(r),p=l,g=s["".concat(u,".").concat(p)]||s[p]||m[p]||a;return r?n.createElement(g,o(o({ref:t},x),{},{components:r})):n.createElement(g,o({ref:t},x))}));function f(e,t){var r=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=r.length,u=new Array(a);u[0]=c;var o={};for(var i in t)hasOwnProperty.call(t,i)&&(o[i]=t[i]);o.originalType=e,o[g]="string"==typeof e?e:l,u[1]=o;for(var x=2;x<a;x++)u[x]=r[x];return n.createElement.apply(null,u)}return n.createElement.apply(null,r)}c.displayName="MDXCreateElement"},78241:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>u,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>x});var n=r(87462),l=(r(67294),r(3905));const a={id:"bxl.UqueryContext"},u="bxl.UqueryContext type",o={unversionedId:"api/bxl/bxl.UqueryContext",id:"api/bxl/bxl.UqueryContext",title:"bxl.UqueryContext type",description:"The context for performing uquery operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within uquery command.",source:"@site/../docs/api/bxl/bxl.UqueryContext.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.UqueryContext",permalink:"/docs/api/bxl/bxl.UqueryContext",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.UqueryContext"},sidebar:"apiSidebar",previous:{title:"bxl.UnconfiguredTargetNode type",permalink:"/docs/api/bxl/bxl.UnconfiguredTargetNode"},next:{title:"cmd_args type",permalink:"/docs/api/bxl/cmd_args"}},i={},x=[{value:"bxl.UqueryContext.allpaths",id:"bxluquerycontextallpaths",level:2},{value:"bxl.UqueryContext.attrfilter",id:"bxluquerycontextattrfilter",level:2},{value:"bxl.UqueryContext.attrregexfilter",id:"bxluquerycontextattrregexfilter",level:2},{value:"bxl.UqueryContext.buildfile",id:"bxluquerycontextbuildfile",level:2},{value:"bxl.UqueryContext.deps",id:"bxluquerycontextdeps",level:2},{value:"bxl.UqueryContext.eval",id:"bxluquerycontexteval",level:2},{value:"bxl.UqueryContext.filter",id:"bxluquerycontextfilter",level:2},{value:"bxl.UqueryContext.inputs",id:"bxluquerycontextinputs",level:2},{value:"bxl.UqueryContext.kind",id:"bxluquerycontextkind",level:2},{value:"bxl.UqueryContext.owner",id:"bxluquerycontextowner",level:2},{value:"bxl.UqueryContext.rdeps",id:"bxluquerycontextrdeps",level:2},{value:"bxl.UqueryContext.somepath",id:"bxluquerycontextsomepath",level:2},{value:"bxl.UqueryContext.targets_in_buildfile",id:"bxluquerycontexttargets_in_buildfile",level:2},{value:"bxl.UqueryContext.testsof",id:"bxluquerycontexttestsof",level:2}],s={toc:x};function d(e){let{components:t,...r}=e;return(0,l.mdx)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,l.mdx)("h1",{id:"bxluquerycontext-type"},(0,l.mdx)("inlineCode",{parentName:"h1"},"bxl.UqueryContext")," type"),(0,l.mdx)("p",null,"The context for performing ",(0,l.mdx)("inlineCode",{parentName:"p"},"uquery")," operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within uquery command."),(0,l.mdx)("h2",{id:"bxluquerycontextallpaths"},"bxl.UqueryContext.allpaths"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.allpaths(\n from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label],\n to: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"allpaths")," query for computing all dependency paths."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontextattrfilter"},"bxl.UqueryContext.attrfilter"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.attrfilter(\n attr: str,\n value: str,\n targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The attrfilter query for rule attribute filtering."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontextattrregexfilter"},"bxl.UqueryContext.attrregexfilter"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.attrregexfilter(\n attribute: str,\n value: str,\n targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The attrregexfilter query for rule attribute filtering with regex."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_attrregexfilter(ctx):\n filtered = ctx.uquery().attrregexfilter("foo", "he.lo", "bin/kind/...")\n ctx.output.print(filtered)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontextbuildfile"},"bxl.UqueryContext.buildfile"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.buildfile(\n targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> file_set\n")),(0,l.mdx)("p",null,"Find the build file(s) that defines a target or a target set."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _buildfile_impl(ctx):\n owner = ctx.uquery().owner(["bin/TARGET", "bin/kind"])\n result = ctx.uquery().buildfile(owner)\n ctx.output.print(result)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontextdeps"},"bxl.UqueryContext.deps"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.deps(\n universe: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label],\n depth: None | int = None,\n filter: None | str = None\n) -> target_set\n")),(0,l.mdx)("p",null,"The deps query for finding the transitive closure of dependencies."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_deps(ctx):\n result = ctx.uquery().deps("root//bin:the_binary", 1)\n ctx.output.print(result)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontexteval"},"bxl.UqueryContext.eval"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.eval(\n query: str,\n query_args: None | target_set | list[str] = None\n)\n")),(0,l.mdx)("p",null,"Evaluates some general query string, ",(0,l.mdx)("inlineCode",{parentName:"p"},"query_args")," can be a target_set of unconfigured nodes, or a list of strings. Returns a ",(0,l.mdx)("inlineCode",{parentName:"p"},"dict")," of target labels mapped to their ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_set")," results if ",(0,l.mdx)("inlineCode",{parentName:"p"},"query_args")," was passed in, otherwise returns a single ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_set"),"."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_eval(ctx):\n result1 = ctx.uquery().eval("inputs(cell//path/to/file:target)")\n ctx.output.print(result1)\n\n result2 = ctx.uquery().eval("inputs(%s)", query_args = ["cell//path/to/file:target"])\n ctx.output.print(result2)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontextfilter"},"bxl.UqueryContext.filter"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.filter(\n regex: str,\n targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The filter query for filtering targets by name."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_filter(ctx):\n result = ctx.uquery().filter(".*the_binary", "root//...")\n ctx.output.print(result)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontextinputs"},"bxl.UqueryContext.inputs"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.inputs(\n targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> file_set\n")),(0,l.mdx)("p",null,"The inputs query for finding input files."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_inputs(ctx):\n result = ctx.uquery().inputs("root//bin:the_binary")\n ctx.output.print(result)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontextkind"},"bxl.UqueryContext.kind"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.kind(\n regex: str,\n targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The kind query for filtering targets by rule type."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_kind(ctx):\n kind = ctx.uquery().kind(".*1", "bin/kind/...")\n ctx.output.print(kind)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontextowner"},"bxl.UqueryContext.owner"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.owner(\n files: file_set | str | list[str] | tuple[str, ...]\n) -> target_set\n")),(0,l.mdx)("p",null,"The owner query for finding targets that own specified files. Note that if you do not pass in a cell path (where the format is ",(0,l.mdx)("inlineCode",{parentName:"p"},"<cell>//path/to/file"),"), the path is resolved against the cell that the BXL script lives in. If you need to evaluate a file path that lives in a different cell, you must pass in the fully qualified cell path."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _owner_impl(ctx):\n owner = ctx.uquery().owner("bin/TARGETS.fixture")\n ctx.output.print(owner)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontextrdeps"},"bxl.UqueryContext.rdeps"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.rdeps(\n universe: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label],\n from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label],\n depth: int = _\n) -> target_set\n")),(0,l.mdx)("p",null,"The rdeps query for finding the transitive closure of reverse dependencies."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_rdeps(ctx):\n result = ctx.uquery().rdeps("root//bin:the_binary", "//lib:file1", 100)\n ctx.output.print(result)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontextsomepath"},"bxl.UqueryContext.somepath"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.somepath(\n from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label],\n to: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The somepaths query, which returns the graph of nodes on some arbitrary path from a start to destination target."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontexttargets_in_buildfile"},"bxl.UqueryContext.targets","_","in","_","buildfile"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.targets_in_buildfile(\n files: file_set | str | list[str] | tuple[str, ...]\n) -> target_set\n")),(0,l.mdx)("p",null,"Given a set of buildfiles, return all targets within those buildfiles."),(0,l.mdx)("p",null,"Usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _targets_in_buildfile_impl(ctx):\n targets = ctx.uquery().targets_in_buildfile("bin/TARGETS.fixture")\n ctx.output.print(targets)\n')),(0,l.mdx)("p",null,"This is subject to be removed in future in favor of a more general ",(0,l.mdx)("inlineCode",{parentName:"p"},"targets_in_packages"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxluquerycontexttestsof"},"bxl.UqueryContext.testsof"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.UqueryContext.testsof(\n targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> target_set\n")),(0,l.mdx)("p",null,"The testsof query for listing the tests of the specified targets."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _testsof_impl(ctx):\n result = ctx.uquery().testsof("//:foo_lib")\n ctx.output.print(result)\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/90012eb2.3e4c3465.js b/assets/js/90012eb2.3e4c3465.js new file mode 100644 index 0000000000000..a72c05ab58ca7 --- /dev/null +++ b/assets/js/90012eb2.3e4c3465.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4184],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>p,MDXProvider:()=>c,mdx:()=>f,useMDXComponents:()=>m,withMDXComponents:()=>d});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},o.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=a.createContext({}),d=function(e){return function(n){var t=m(n.components);return a.createElement(e,o({},n,{components:t}))}},m=function(e){var n=a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},c=function(e){var n=m(e.components);return a.createElement(p.Provider,{value:n},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},y=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=m(t),c=r,u=d["".concat(i,".").concat(c)]||d[c]||h[c]||o;return t?a.createElement(u,l(l({ref:n},p),{},{components:t})):a.createElement(u,l({ref:n},p))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=y;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[u]="string"==typeof e?e:r,i[1]=l;for(var p=2;p<o;p++)i[p]=t[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}y.displayName="MDXCreateElement"},56281:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var a=t(87462),r=(t(67294),t(3905));const o={},i="Bxl support for performing analysis on targets",l={unversionedId:"rfcs/bxl-analysis",id:"rfcs/bxl-analysis",title:"Bxl support for performing analysis on targets",description:"Intro",source:"@site/../docs/rfcs/bxl-analysis.md",sourceDirName:"rfcs",slug:"/rfcs/bxl-analysis",permalink:"/docs/rfcs/bxl-analysis",draft:!1,tags:[],version:"current",frontMatter:{}},s={},p=[{value:"Intro",id:"intro",level:2},{value:"How to implement it?",id:"how-to-implement-it",level:2}],d={toc:p};function m(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"bxl-support-for-performing-analysis-on-targets"},"Bxl support for performing analysis on targets"),(0,r.mdx)("h2",{id:"intro"},"Intro"),(0,r.mdx)("p",null,"As Bob and I continue to build out ",(0,r.mdx)("inlineCode",{parentName:"p"},"bxl")," we want users to be able to inspect the\nproviders and actions for a given target label. In order to support this, we\nneed to be able to provide access to ",(0,r.mdx)("inlineCode",{parentName:"p"},"AnalysisResult")," via ",(0,r.mdx)("inlineCode",{parentName:"p"},"starlark"),", obtained\nvia a call to ",(0,r.mdx)("inlineCode",{parentName:"p"},"RuleAnalysisCalculation::get_analysis_result"),"."),(0,r.mdx)("h2",{id:"how-to-implement-it"},"How to implement it?"),(0,r.mdx)("p",null,"Our three principle options are as follows:"),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("inlineCode",{parentName:"li"},"BxlContext::analyze(targetlabel: ConfiguredTargetLabelLike)"),", where\n",(0,r.mdx)("inlineCode",{parentName:"li"},"ConfiguredTargetLabelLike")," accepts ",(0,r.mdx)("inlineCode",{parentName:"li"},"ConfiguredTargetLabel"),",\n",(0,r.mdx)("inlineCode",{parentName:"li"},"ConfiguredTargetNode"),", or sets and lists of these things + acceptable\nstrings.")),(0,r.mdx)("p",null,"In this scenario, we attach the analysis method onto the bxl context itself, and\nrequire that users pass in the target label-ish thing when they want to\nconstruct an analysis result. It's a little awkward in some ways because the\nanalysis is more naturally a method on the argument being passed in and the\n",(0,r.mdx)("inlineCode",{parentName:"p"},"BxlContext")," is a context that is needed to perform the calculation. On the\nother hand, this allows us to construct a type analogous to ",(0,r.mdx)("inlineCode",{parentName:"p"},"TargetExpr")," which\ncan parse from a wide variety of different ",(0,r.mdx)("inlineCode",{parentName:"p"},"ConfiguredTarget")," like things\n(strings, nodes, labels, sets, ...). It also is a bit nice from an\nimplementational standpoint since we don't have to pass the context around\neverywhere. This isn't a huge pro though, since we can stick it in the global\neval field."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'result = bxl.analyze(bxl.cquery.deps("foo"))\n')),(0,r.mdx)("ol",{start:2},(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("inlineCode",{parentName:"li"},"ConfiguredTargetLabel::analyze()"),", ",(0,r.mdx)("inlineCode",{parentName:"li"},"ConfiguredTargetNode::analyze()"),", ...\nwhere we carry around the ",(0,r.mdx)("inlineCode",{parentName:"li"},"BxlContext")," in the ",(0,r.mdx)("inlineCode",{parentName:"li"},"eval")," global field and\nimplement analysis on each type that is target label like.")),(0,r.mdx)("p",null,"The pro of this one is that it's quite natural - you can take a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"ConfiguredStarlarkTargetLabel")," and then just ... call ",(0,r.mdx)("inlineCode",{parentName:"p"},"analyze()")," on it like\nyou might expect to. The two downsides are that we have to propagate the context\naround behind the scenes, and we'll have to provide an implementation of\n",(0,r.mdx)("inlineCode",{parentName:"p"},"analyze")," on everything that we'd like to have be able to be ",(0,r.mdx)("inlineCode",{parentName:"p"},"analyzable"),"."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'result = "root//bin:the_binary".analyze()\n# but we don\'t support\n"root//bin:the_binary".rdeps()\n\n\n# instead this looks nice\nnodes = ctx.cquery.deps("foo")\nfor n in nodes:\n # since we can now do\n nodes.label\n nodes.attrs.field\n\n # similarly access analysis\n nodes.analysis\n')),(0,r.mdx)("ol",{start:3},(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("inlineCode",{parentName:"li"},"BxlContext::analysis(): AnalysisContext")," where ",(0,r.mdx)("inlineCode",{parentName:"li"},"AnalysisContext")," exposes\n",(0,r.mdx)("inlineCode",{parentName:"li"},"AnalysisContext::analyze(targetlabel: ConfiguredTargetLabelLike)"),".")),(0,r.mdx)("p",null,"There's not really any pros of this approach except that it's similar to the\nflow for ",(0,r.mdx)("inlineCode",{parentName:"p"},"cquery")," where we return a ",(0,r.mdx)("inlineCode",{parentName:"p"},"cqueryctx")," object to call ",(0,r.mdx)("inlineCode",{parentName:"p"},"cquery")," methods\nthrough."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'result = ctx.analysis().analyze("//lib:file1")\n')),(0,r.mdx)("p",null,"We can also restrict the API to require that users go through ",(0,r.mdx)("inlineCode",{parentName:"p"},"cquery")," to obtain\na ",(0,r.mdx)("inlineCode",{parentName:"p"},"ConfiguredTargetNode")," prior to calling ",(0,r.mdx)("inlineCode",{parentName:"p"},"analysis"),", although we don't ",(0,r.mdx)("em",{parentName:"p"},"have\nto"),". I say that we don't have to because the ",(0,r.mdx)("inlineCode",{parentName:"p"},"get_analysis_result")," method\nmentioned above is configured to accept a label anyway."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/910f3c4d.b9ef69db.js b/assets/js/910f3c4d.b9ef69db.js new file mode 100644 index 0000000000000..8f6c2f07f3650 --- /dev/null +++ b/assets/js/910f3c4d.b9ef69db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9533],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>m,MDXProvider:()=>u,mdx:()=>h,useMDXComponents:()=>p,withMDXComponents:()=>s});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(this,arguments)}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var m=r.createContext({}),s=function(e){return function(t){var n=p(t.components);return r.createElement(e,l({},t,{components:n}))}},p=function(e){var t=r.useContext(m),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=p(e.components);return r.createElement(m.Provider,{value:t},e.children)},c="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},x=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,d=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),s=p(n),u=a,c=s["".concat(d,".").concat(u)]||s[u]||g[u]||l;return n?r.createElement(c,i(i({ref:t},m),{},{components:n})):r.createElement(c,i({ref:t},m))}));function h(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,d=new Array(l);d[0]=x;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i[c]="string"==typeof e?e:a,d[1]=i;for(var m=2;m<l;m++)d[m]=n[m];return r.createElement.apply(null,d)}return r.createElement.apply(null,n)}x.displayName="MDXCreateElement"},73955:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>p,frontMatter:()=>l,metadata:()=>i,toc:()=>m});var r=n(87462),a=(n(67294),n(3905));const l={id:"windows_cheat_sheet",title:"Windows Cheat Sheet"},d=void 0,i={unversionedId:"developers/windows_cheat_sheet",id:"developers/windows_cheat_sheet",title:"Windows Cheat Sheet",description:"This page contains notes and tips to assist you in understanding the different",source:"@site/../docs/developers/windows_cheat_sheet.md",sourceDirName:"developers",slug:"/developers/windows_cheat_sheet",permalink:"/docs/developers/windows_cheat_sheet",draft:!1,tags:[],version:"current",frontMatter:{id:"windows_cheat_sheet",title:"Windows Cheat Sheet"},sidebar:"mainSidebar",previous:{title:"Request for Comments",permalink:"/docs/developers/request_for_comments"}},o={},m=[{value:"CMD, Powershell, Bash Command Comparison",id:"cmd-powershell-bash-command-comparison",level:2},{value:"Symlinks",id:"symlinks",level:2},{value:"Target names",id:"target-names",level:2}],s={toc:m};function p(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"This page contains notes and tips to assist you in understanding the different\ntools used when migrating Buck2 to Windows."),(0,a.mdx)("h2",{id:"cmd-powershell-bash-command-comparison"},"CMD, Powershell, Bash Command Comparison"),(0,a.mdx)("table",null,(0,a.mdx)("thead",{parentName:"table"},(0,a.mdx)("tr",{parentName:"thead"},(0,a.mdx)("th",{parentName:"tr",align:null},"Bash"),(0,a.mdx)("th",{parentName:"tr",align:null},"Powershell"),(0,a.mdx)("th",{parentName:"tr",align:null},"CMD"),(0,a.mdx)("th",{parentName:"tr",align:null},"What does it do"))),(0,a.mdx)("tbody",{parentName:"table"},(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"cd"),(0,a.mdx)("td",{parentName:"tr",align:null},"cd"),(0,a.mdx)("td",{parentName:"tr",align:null},"cd"),(0,a.mdx)("td",{parentName:"tr",align:null},"Change the current directory")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"mkdir"),(0,a.mdx)("td",{parentName:"tr",align:null},"mkdir"),(0,a.mdx)("td",{parentName:"tr",align:null},"mkdir / md"),(0,a.mdx)("td",{parentName:"tr",align:null},"Create a directory")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"ls"),(0,a.mdx)("td",{parentName:"tr",align:null},"ls"),(0,a.mdx)("td",{parentName:"tr",align:null},"dir"),(0,a.mdx)("td",{parentName:"tr",align:null},"List contents of a directory")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},'export var="value"'),(0,a.mdx)("td",{parentName:"tr",align:null},'$env:var="value"'),(0,a.mdx)("td",{parentName:"tr",align:null},"set var=value"),(0,a.mdx)("td",{parentName:"tr",align:null},"To set environment variables")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"$ENV_VAR"),(0,a.mdx)("td",{parentName:"tr",align:null},"$env:ENV_VAR"),(0,a.mdx)("td",{parentName:"tr",align:null},"%ENV_VAR%"),(0,a.mdx)("td",{parentName:"tr",align:null},"Read environment variable")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},'echo "Hello world"'),(0,a.mdx)("td",{parentName:"tr",align:null},'echo "Hello world"'),(0,a.mdx)("td",{parentName:"tr",align:null},"echo Hello world"),(0,a.mdx)("td",{parentName:"tr",align:null},"To print something on the screen")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"rm"),(0,a.mdx)("td",{parentName:"tr",align:null},"rm"),(0,a.mdx)("td",{parentName:"tr",align:null},"del"),(0,a.mdx)("td",{parentName:"tr",align:null},"Delete a file")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"rm -rf"),(0,a.mdx)("td",{parentName:"tr",align:null},"rmdir"),(0,a.mdx)("td",{parentName:"tr",align:null},"rmdir"),(0,a.mdx)("td",{parentName:"tr",align:null},"Delete a directory")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},"cat"),(0,a.mdx)("td",{parentName:"tr",align:null},"cat"),(0,a.mdx)("td",{parentName:"tr",align:null},"type"),(0,a.mdx)("td",{parentName:"tr",align:null},"Print file content to console")))),(0,a.mdx)("h2",{id:"symlinks"},"Symlinks"),(0,a.mdx)("p",null,"In Windows, there are two types of symlinks: file and directory."),(0,a.mdx)("p",null,"You can find out which type of symlink is being created using:\n",(0,a.mdx)("inlineCode",{parentName:"p"},"dir /AL /S <path>"),"."),(0,a.mdx)("p",null,"The command lists all of the symbolic links in the ",(0,a.mdx)("inlineCode",{parentName:"p"},"<path>")," directory:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"^<SYMLINKD^>")," is a Directory SymLink"),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"^<SYMLINK^>")," is a File SymLink")),(0,a.mdx)("h2",{id:"target-names"},"Target names"),(0,a.mdx)("p",null,"Escaping the '=' symbol on Windows is quite complicated: make sure none of the\ntargets being built contain this symbol as it could cause build breakages."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/92c12836.b3c519e3.js b/assets/js/92c12836.b3c519e3.js new file mode 100644 index 0000000000000..fed119b3154b1 --- /dev/null +++ b/assets/js/92c12836.b3c519e3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6797],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>s,MDXProvider:()=>x,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>p});var a=n(67294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(){return r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},r.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t){if(null==e)return{};var n,a,l=function(e,t){if(null==e)return{};var n,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var s=a.createContext({}),p=function(e){return function(t){var n=u(t.components);return a.createElement(e,r({},t,{components:n}))}},u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},x=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},m="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,l=e.mdxType,r=e.originalType,o=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),p=u(n),x=l,m=p["".concat(o,".").concat(x)]||p[x]||c[x]||r;return n?a.createElement(m,i(i({ref:t},s),{},{components:n})):a.createElement(m,i({ref:t},s))}));function b(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=n.length,o=new Array(r);o[0]=g;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i[m]="string"==typeof e?e:l,o[1]=i;for(var s=2;s<r;s++)o[s]=n[s];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}g.displayName="MDXCreateElement"},82524:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>s});var a=n(87462),l=(n(67294),n(3905));const r={id:"bxl.Context"},o="bxl.Context type",i={unversionedId:"api/bxl/bxl.Context",id:"api/bxl/bxl.Context",title:"bxl.Context type",description:"The bxl context that the top level bxl implementation receives as parameter. This context contains all the core bxl functions to query, build, create actions, etc.",source:"@site/../docs/api/bxl/bxl.Context.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.Context",permalink:"/docs/api/bxl/bxl.Context",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.Context"},sidebar:"apiSidebar",previous:{title:"bxl.ConfiguredTargetNode type",permalink:"/docs/api/bxl/bxl.ConfiguredTargetNode"},next:{title:"bxl.CqueryContext type",permalink:"/docs/api/bxl/bxl.CqueryContext"}},d={},s=[{value:"bxl.Context.analysis",id:"bxlcontextanalysis",level:2},{value:"bxl.Context.aquery",id:"bxlcontextaquery",level:2},{value:"bxl.Context.audit",id:"bxlcontextaudit",level:2},{value:"bxl.Context.build",id:"bxlcontextbuild",level:2},{value:"bxl.Context.bxl_actions",id:"bxlcontextbxl_actions",level:2},{value:"bxl.Context.cell_root",id:"bxlcontextcell_root",level:2},{value:"bxl.Context.cli_args",id:"bxlcontextcli_args",level:2},{value:"bxl.Context.configured_targets",id:"bxlcontextconfigured_targets",level:2},{value:"bxl.Context.cquery",id:"bxlcontextcquery",level:2},{value:"bxl.Context.fs",id:"bxlcontextfs",level:2},{value:"bxl.Context.instant_event",id:"bxlcontextinstant_event",level:2},{value:"bxl.Context.output",id:"bxlcontextoutput",level:2},{value:"bxl.Context.resolve",id:"bxlcontextresolve",level:2},{value:"bxl.Context.root",id:"bxlcontextroot",level:2},{value:"bxl.Context.target_exists",id:"bxlcontexttarget_exists",level:2},{value:"bxl.Context.target_universe",id:"bxlcontexttarget_universe",level:2},{value:"bxl.Context.unconfigured_sub_targets",id:"bxlcontextunconfigured_sub_targets",level:2},{value:"bxl.Context.unconfigured_targets",id:"bxlcontextunconfigured_targets",level:2},{value:"bxl.Context.uquery",id:"bxlcontextuquery",level:2}],p={toc:s};function u(e){let{components:t,...n}=e;return(0,l.mdx)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,l.mdx)("h1",{id:"bxlcontext-type"},(0,l.mdx)("inlineCode",{parentName:"h1"},"bxl.Context")," type"),(0,l.mdx)("p",null,"The bxl context that the top level bxl implementation receives as parameter. This context contains all the core bxl functions to query, build, create actions, etc."),(0,l.mdx)("h2",{id:"bxlcontextanalysis"},"bxl.Context.analysis"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.analysis(\n labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label],\n target_platform: None | str | target_label = _,\n *,\n skip_incompatible: bool = True\n) -> None | bxl.AnalysisResult | dict[label, bxl.AnalysisResult]\n")),(0,l.mdx)("p",null,"Runs analysis on the given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels"),", accepting an optional ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform")," which is the target platform configuration used to resolve configurations of any unconfigured target nodes, and an optional ",(0,l.mdx)("inlineCode",{parentName:"p"},"skip_incompatible")," boolean that indicates whether to skip analysis of nodes that are incompatible with the target platform. The ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform")," is either a string that can be parsed as a target label, or a target label."),(0,l.mdx)("p",null,"The given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," is a providers expression, which is either:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"- a single string that is a `target pattern`.\n- a single target node or label, configured or unconfigured\n- a single sub target label, configured or unconfigured\n- a list of the two options above.\n")),(0,l.mdx)("p",null,"This returns either a single ",(0,l.mdx)("inlineCode",{parentName:"p"},"analysis_result")," if the given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels"),' argument is "singular",\nor a dict keyed by sub target labels of ',(0,l.mdx)("inlineCode",{parentName:"p"},"analysis")," if the given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," argument\nis list-like"),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextaquery"},"bxl.Context.aquery"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.aquery(\n target_platform: None | str | target_label = _\n) -> bxl.AqueryContext\n")),(0,l.mdx)("p",null,"Returns the ",(0,l.mdx)("inlineCode",{parentName:"p"},"aqueryctx")," that holds all the aquery functions. This function takes an optional parameter ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform"),", which is the target platform configuration used to configured any unconfigured target nodes."),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform")," is a target label, or a string that is a target label."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextaudit"},"bxl.Context.audit"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.audit() -> bxl.AuditContext\n")),(0,l.mdx)("p",null,"Returns the ",(0,l.mdx)("inlineCode",{parentName:"p"},"audit_ctx")," that holds all the audit functions."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextbuild"},"bxl.Context.build"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def bxl.Context.build(\n labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label],\n target_platform: None | str | target_label = _,\n *,\n materializations: str = "default"\n) -> dict[label, bxl.BuildResult]\n')),(0,l.mdx)("p",null,"Runs a build on the given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels"),", accepting an optional ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform")," which is the target platform configuration used to resolve configurations. Note that when ",(0,l.mdx)("inlineCode",{parentName:"p"},"build()")," is called, the artifacts are materialized without needing to additionally call ",(0,l.mdx)("inlineCode",{parentName:"p"},"ensure()")," on them."),(0,l.mdx)("p",null,"The given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," is a providers expression, which is either:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"- a single string that is a `target pattern`.\n- a single target node or label, configured or unconfigured\n- a single provider label, configured or unconfigured\n- a list of the two options above.\n")),(0,l.mdx)("p",null,"This returns a dict keyed by sub target labels mapped to ",(0,l.mdx)("inlineCode",{parentName:"p"},"bxl_build_result"),"s if the\ngiven ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," argument is list-like."),(0,l.mdx)("p",null,"This function is not available on the ",(0,l.mdx)("inlineCode",{parentName:"p"},"bxl_ctx")," when called from ",(0,l.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextbxl_actions"},"bxl.Context.bxl","_","actions"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.bxl_actions(\n *,\n exec_deps: None | bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label] = None,\n toolchains: None | bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label] = None,\n target_platform: None | str | target_label = _,\n exec_compatible_with: None | bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] = None\n) -> bxl.Actions\n")),(0,l.mdx)("p",null,"Returns the bxl actions to create and register actions for this bxl function. This will have the execution platform resolved according to the execution deps and toolchains you pass into this function. You'll be able to access the analysis action factory of the correct execution platform, toolchains, and execution deps of the corresponding configuration via this context."),(0,l.mdx)("p",null,"Actions created by bxl will not be built by default. Instead, they are marked to be built\nby ",(0,l.mdx)("inlineCode",{parentName:"p"},"ctx.output.ensure(artifact)")," on the output module of the ",(0,l.mdx)("inlineCode",{parentName:"p"},"bxl_ctx"),". Only artifacts\nmarked by ensure will be built."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl_write_action(ctx):\n bxl_actions = ctx.bxl_actions()\n output = bxl_actions.actions.write("my_output", "my_content")\n ensured = ctx.output.ensure(output)\n ctx.output.print(ensured)\n')),(0,l.mdx)("p",null,"There are several optional named parameters:"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"exec_deps")," - These are dependencies you wish to access as executables for creating the action.\nThis is usually the same set of targets one would pass to rule's ",(0,l.mdx)("inlineCode",{parentName:"p"},"attr.exec_dep"),".\n",(0,l.mdx)("inlineCode",{parentName:"p"},"toolchains")," - The set of toolchains needed for the actions you intend to create.\n",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform")," - The intended target platform for your toolchains\n",(0,l.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with")," - Explicit list of configuration nodes (like platforms or constraints)\nthat these actions are compatible with. This is the 'exec_compatible_with' attribute of a target."),(0,l.mdx)("p",null,"If you passed in ",(0,l.mdx)("inlineCode",{parentName:"p"},"exec_deps")," or ",(0,l.mdx)("inlineCode",{parentName:"p"},"toolchains"),", you can access the resolved dependencies using the ",(0,l.mdx)("inlineCode",{parentName:"p"},"exec_deps"),"\nand ",(0,l.mdx)("inlineCode",{parentName:"p"},"toolchains")," attributes on the ",(0,l.mdx)("inlineCode",{parentName:"p"},"bxl_actions"),", which both return a ",(0,l.mdx)("inlineCode",{parentName:"p"},"dict")," of unconfigured subtarget labels\nand their configured/resolved ",(0,l.mdx)("inlineCode",{parentName:"p"},"dependency")," objects."),(0,l.mdx)("p",null,"Note that the keys of ",(0,l.mdx)("inlineCode",{parentName:"p"},"exec_deps")," and ",(0,l.mdx)("inlineCode",{parentName:"p"},"toolchains")," must be unconfigured subtarget labels (",(0,l.mdx)("inlineCode",{parentName:"p"},"providers_label"),"s),\nand not unconfigured target labels. You can use ",(0,l.mdx)("inlineCode",{parentName:"p"},"ctx.unconfigured_sub_targets(...)")," or ",(0,l.mdx)("inlineCode",{parentName:"p"},"with_sub_target()")," on\n",(0,l.mdx)("inlineCode",{parentName:"p"},"target_label")," to create the label."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl_run_action(ctx):\n my_exec_dep = ctx.unconfigured_sub_targets("foo//bar:baz") # has some provider that you would use in the action\n bxl_actions = ctx.bxl_actions(exec_deps = [my_exec_dep]) # call once, reuse wherever needed\n output = bxl_actions.actions.run(\n [\n "python3",\n bxl_actions.exec_deps[my_exec_dep][RunInfo], # access resolved exec_deps on the `bxl_actions`\n out.as_output(),\n ],\n category = "command",\n local_only = True,\n )\n ctx.output.ensure(output)\n')),(0,l.mdx)("p",null,"When called from a ",(0,l.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"bxl_actions()")," cannot be configured with a different execution\nplatform resolution from the parent BXL."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextcell_root"},"bxl.Context.cell","_","root"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.cell_root() -> str\n")),(0,l.mdx)("p",null,"Returns the absolute path to the cell of the repository"),(0,l.mdx)("p",null,"This function is not available on the ",(0,l.mdx)("inlineCode",{parentName:"p"},"bxl_ctx")," when called from ",(0,l.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextcli_args"},"bxl.Context.cli","_","args"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.Context.cli_args: struct(..)\n")),(0,l.mdx)("p",null,"A struct of the command line args as declared using the ","[",(0,l.mdx)("inlineCode",{parentName:"p"},"cli_args"),"]"," module. These command lines are resolved per the users input on the cli when invoking the bxl script."),(0,l.mdx)("p",null,"If you wish to pass in a kebab-cased arg, the arg accessed from the BXL context's ",(0,l.mdx)("inlineCode",{parentName:"p"},"cli_args"),"\nattrbute will always be in snakecase. For example, if you passed in ",(0,l.mdx)("inlineCode",{parentName:"p"},"my-arg"),", accessing it\nwithin BXL would look like ",(0,l.mdx)("inlineCode",{parentName:"p"},"ctx.cli_args.my_arg"),"."),(0,l.mdx)("p",null,"This attribute is not available on the bxl context within the a dynamic lambda."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextconfigured_targets"},"bxl.Context.configured","_","targets"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.configured_targets(\n labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],\n /,\n target_platform: None | str | target_label = _\n) -> None | bxl.ConfiguredTargetNode | target_set\n")),(0,l.mdx)("p",null,"Gets the target nodes for the ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels"),", accepting an optional ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform")," which is the target platform configuration used to resolve configurations of any unconfigured target nodes. The ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform")," is either a string that can be parsed as a target label, or a target label."),(0,l.mdx)("p",null,"The given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," is a ","[",(0,l.mdx)("inlineCode",{parentName:"p"},"TargetListExpr"),"]",", which is either:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"- a single string that is a `target pattern`.\n- a single target node or label, configured or unconfigured\n- a list of the two options above.\n")),(0,l.mdx)("p",null,"Note that this function does not accept ",(0,l.mdx)("inlineCode",{parentName:"p"},"Label")," (which is a configured provider label), since this\nis the label of a subtarget. You can get the underlying configured target label on the ",(0,l.mdx)("inlineCode",{parentName:"p"},"Label"),"\nusing ",(0,l.mdx)("inlineCode",{parentName:"p"},"configured_targets()")," (ex: ",(0,l.mdx)("inlineCode",{parentName:"p"},"my_label.configured_target()"),")."),(0,l.mdx)("p",null,"This returns either a single ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_node")," if the given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels"),'\nis "singular", a dict keyed by target labels of ',(0,l.mdx)("inlineCode",{parentName:"p"},"target_node")," if the\ngiven ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," is list-like"),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextcquery"},"bxl.Context.cquery"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.cquery(\n target_platform: None | str | target_label = _\n) -> bxl.CqueryContext\n")),(0,l.mdx)("p",null,"Returns the ",(0,l.mdx)("inlineCode",{parentName:"p"},"cqueryctx")," that holds all the cquery functions. This function takes an optional parameter ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform"),", which is the target platform configuration used to configured any unconfigured target nodes."),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform")," is a target label, or a string that is a target label."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextfs"},"bxl.Context.fs"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.Context.fs: bxl.Filesystem\n")),(0,l.mdx)("p",null,"Returns the ",(0,l.mdx)("inlineCode",{parentName:"p"},"bxl.Filesystem")," for performing a basic set of filesystem operations within bxl"),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextinstant_event"},"bxl.Context.instant","_","event"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.instant_event(*, id: str, metadata) -> None\n")),(0,l.mdx)("p",null,"Emits a user-defined instant event, taking in a required string id and a metadata dictionary where the keys are strings, and values are either strings, bools, or ints. The id is user-supplied, and used to identify the instant events in the event logs more easily."),(0,l.mdx)("p",null,"You may pass in an ensured artifact as a value in the metadata. The resulting output would be the ensured\nartifact's relative or absolute path as a string."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextoutput"},"bxl.Context.output"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.Context.output: bxl.OutputStream\n")),(0,l.mdx)("p",null,"Gets the output stream to the console via stdout. Items written to the output stream are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached."),(0,l.mdx)("p",null,"Prints that are not result of the bxl should be printed via stderr via the stdlib ",(0,l.mdx)("inlineCode",{parentName:"p"},"print"),"\nand ",(0,l.mdx)("inlineCode",{parentName:"p"},"pprint"),"."),(0,l.mdx)("p",null,"This function is not available on the ",(0,l.mdx)("inlineCode",{parentName:"p"},"bxl_ctx")," when called from ",(0,l.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextresolve"},"bxl.Context.resolve"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.resolve(action_factory: actions, promise: promise)\n")),(0,l.mdx)("p",null,"Awaits a promise and returns an optional value of the promise."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'load("//path/to/rules:rules.bzl", "my_anon_targets_rule", "my_map_function")\n\ndef _resolve_impl(ctx):\n actions = ctx.bxl_actions().actions\n my_attrs = {\n "false": False,\n "int": 42,\n "list_string": ["a", "b", "c"],\n "string": "a-string",\n "true": True,\n }\n\n promise = actions.anon_target(my_anon_targets_rule, attrs).promise.map(my_map_function)\n providers_result = ctx.resolve(actions, promise) # result is `provider_collection` type, which is a collection of `provider`s\n ctx.output.print(providers_result[0].my_field)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextroot"},"bxl.Context.root"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.root() -> str\n")),(0,l.mdx)("p",null,"Returns the absolute path to the root of the repository"),(0,l.mdx)("p",null,"This function is not available on the ",(0,l.mdx)("inlineCode",{parentName:"p"},"bxl_ctx")," when called from ",(0,l.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontexttarget_exists"},"bxl.Context.target","_","exists"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.target_exists(label: str) -> bool\n")),(0,l.mdx)("p",null,"Checks if a target label exists. Target label must be a string literal, and an exact target."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontexttarget_universe"},"bxl.Context.target","_","universe"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.target_universe(\n labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],\n target_platform: None | str | target_label = _,\n *,\n keep_going: bool = False\n) -> bxl.TargetUniverse\n")),(0,l.mdx)("p",null,"Returns the ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_universe")," that can lookup valid configured nodes in the universe."),(0,l.mdx)("p",null,"The given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," is a target expression, which is either:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"- a single string that is a `target pattern`.\n- a single target node or label, configured or unconfigured\n- a single subtarget label, configured or unconfigured\n- a list of the two options above.\n")),(0,l.mdx)("p",null,"Also takes in an optional ",(0,l.mdx)("inlineCode",{parentName:"p"},"target_platform")," param to configure the nodes with, and a ",(0,l.mdx)("inlineCode",{parentName:"p"},"keep_going``\nflag to skip any loading or configuration errors. Note that "),"keep_going` currently can only be used\nif the input labels is a single target pattern as a string literal."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextunconfigured_sub_targets"},"bxl.Context.unconfigured","_","sub","_","targets"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.unconfigured_sub_targets(\n labels: bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label]\n) -> providers_label | dict[str, providers_label]\n")),(0,l.mdx)("p",null,"Gets the unconfigured subtargets for the given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")),(0,l.mdx)("p",null,"The given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," is a providers expression, which is either:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"- a single string that is a `target pattern`.\n- a single target node or label, configured or unconfigured\n- a single subtarget label, configured or unconfigured\n- a list of the two options above.\n")),(0,l.mdx)("p",null,"This returns either a single ",(0,l.mdx)("inlineCode",{parentName:"p"},"providers_label")," if the given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels"),' argument\nis "singular", or dict of the subtarget string representation to the\n',(0,l.mdx)("inlineCode",{parentName:"p"},"providers_label")," if the given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," argument is list-like."),(0,l.mdx)("p",null,"Note that this function does not check that this subtarget exists in the repo."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextunconfigured_targets"},"bxl.Context.unconfigured","_","targets"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.unconfigured_targets(\n labels: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]\n) -> bxl.UnconfiguredTargetNode | target_set\n")),(0,l.mdx)("p",null,"Gets the unconfigured target nodes for the ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")),(0,l.mdx)("p",null,"The given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," is either:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"- a single string that is a `target pattern`.\n- a single unconfigured target node or label\n- a list of the two options above.\n")),(0,l.mdx)("p",null,"This returns either a single ","[",(0,l.mdx)("inlineCode",{parentName:"p"},"StarlarkTargetNode"),"]"," if the given ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels"),'\nis "singular", a dict keyed by target labels of ',"[",(0,l.mdx)("inlineCode",{parentName:"p"},"StarlarkTargetNode"),"]"," if the\ngiven ",(0,l.mdx)("inlineCode",{parentName:"p"},"labels")," is list-like"),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlcontextuquery"},"bxl.Context.uquery"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.Context.uquery() -> bxl.UqueryContext\n")),(0,l.mdx)("p",null,"Returns the ",(0,l.mdx)("inlineCode",{parentName:"p"},"uqueryctx")," that holds all uquery functions."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9302fcfe.67bfc70c.js b/assets/js/9302fcfe.67bfc70c.js new file mode 100644 index 0000000000000..90b85d2737f0e --- /dev/null +++ b/assets/js/9302fcfe.67bfc70c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8266],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>s,MDXProvider:()=>f,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>c});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=r.createContext({}),c=function(e){return function(t){var n=u(t.components);return r.createElement(e,o({},t,{components:n}))}},u=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},f=function(e){var t=u(e.components);return r.createElement(s.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,a=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),c=u(n),f=i,d=c["".concat(a,".").concat(f)]||c[f]||m[f]||o;return n?r.createElement(d,p(p({ref:t},s),{},{components:n})):r.createElement(d,p({ref:t},s))}));function b(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,a=new Array(o);a[0]=y;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p[d]="string"==typeof e?e:i,a[1]=p;for(var s=2;s<o;s++)a[s]=n[s];return r.createElement.apply(null,a)}return r.createElement.apply(null,n)}y.displayName="MDXCreateElement"},93783:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>p,toc:()=>s});var r=n(87462),i=(n(67294),n(3905));const o={id:"file_set"},a="file_set type",p={unversionedId:"api/bxl/file_set",id:"api/bxl/file_set",title:"file_set type",description:"A set of file_nodes. Supports the operations such as set addition/subtraction, length, iteration, equality and indexing.",source:"@site/../docs/api/bxl/file_set.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/file_set",permalink:"/docs/api/bxl/file_set",draft:!1,tags:[],version:"current",frontMatter:{id:"file_set"},sidebar:"apiSidebar",previous:{title:"ensured_artifact_group type",permalink:"/docs/api/bxl/ensured_artifact_group"},next:{title:"instant type",permalink:"/docs/api/bxl/instant"}},l={},s=[],c={toc:s};function u(e){let{components:t,...n}=e;return(0,i.mdx)("wrapper",(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,i.mdx)("h1",{id:"file_set-type"},(0,i.mdx)("inlineCode",{parentName:"h1"},"file_set")," type"),(0,i.mdx)("p",null,"A set of ",(0,i.mdx)("inlineCode",{parentName:"p"},"file_node"),"s. Supports the operations such as set addition/subtraction, length, iteration, equality and indexing."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.01e85cc3.js b/assets/js/935f2afb.01e85cc3.js new file mode 100644 index 0000000000000..6bb67f20db10d --- /dev/null +++ b/assets/js/935f2afb.01e85cc3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"mainSidebar":[{"type":"link","label":"Introduction","href":"/docs/","docId":"index"},{"type":"category","label":"About Buck2","items":[{"type":"link","label":"Why Buck2","href":"/docs/about/why","docId":"about/why"},{"type":"link","label":"Getting Started","href":"/docs/about/getting_started","docId":"about/getting_started"},{"type":"category","label":"Benefits","items":[{"type":"link","label":"Benefits When Compared to Buck1","href":"/docs/about/benefits/compared_to_buck1","docId":"about/benefits/compared_to_buck1"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Bootstrapping Buck2","href":"/docs/about/bootstrapping","docId":"about/bootstrapping"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Concepts","items":[{"type":"link","label":"Key Concepts","href":"/docs/concepts/key_concepts","docId":"concepts/key_concepts"},{"type":"link","label":"Concept Map","href":"/docs/concepts/concept_map","docId":"concepts/concept_map"},{"type":"link","label":"Build Rule","href":"/docs/concepts/build_rule","docId":"concepts/build_rule"},{"type":"link","label":"Build File","href":"/docs/concepts/build_file","docId":"concepts/build_file"},{"type":"link","label":"Build Target","href":"/docs/concepts/build_target","docId":"concepts/build_target"},{"type":"link","label":"Target Pattern","href":"/docs/concepts/target_pattern","docId":"concepts/target_pattern"},{"type":"link","label":"buck-out","href":"/docs/concepts/buck_out","docId":"concepts/buck_out"},{"type":"link","label":"Visibility","href":"/docs/concepts/visibility","docId":"concepts/visibility"},{"type":"link","label":"Daemon (buckd)","href":"/docs/concepts/daemon","docId":"concepts/daemon"},{"type":"link","label":".buckconfig","href":"/docs/concepts/buckconfig","docId":"concepts/buckconfig"},{"type":"link","label":"Configurations","href":"/docs/concepts/configurations","docId":"concepts/configurations"},{"type":"link","label":"Glossary of Terms","href":"/docs/concepts/glossary","docId":"concepts/glossary"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Buck2 Users","items":[{"type":"category","label":"Commands","items":[{"type":"link","label":"aquery","href":"/docs/users/commands/aquery","docId":"users/commands/aquery"},{"type":"link","label":"audit","href":"/docs/users/commands/audit","docId":"users/commands/audit"},{"type":"link","label":"build","href":"/docs/users/commands/build","docId":"users/commands/build"},{"type":"link","label":"bxl","href":"/docs/users/commands/bxl","docId":"users/commands/bxl"},{"type":"link","label":"clean","href":"/docs/users/commands/clean","docId":"users/commands/clean"},{"type":"link","label":"completion","href":"/docs/users/commands/completion","docId":"users/commands/completion"},{"type":"link","label":"cquery","href":"/docs/users/commands/cquery","docId":"users/commands/cquery"},{"type":"link","label":"ctargets","href":"/docs/users/commands/ctargets","docId":"users/commands/ctargets"},{"type":"link","label":"docs","href":"/docs/users/commands/docs","docId":"users/commands/docs"},{"type":"link","label":"expand-external-cell","href":"/docs/users/commands/expand-external-cell","docId":"users/commands/expand-external-cell"},{"type":"link","label":"help-env","href":"/docs/users/commands/help-env","docId":"users/commands/help-env"},{"type":"link","label":"init","href":"/docs/users/commands/init","docId":"users/commands/init"},{"type":"link","label":"install","href":"/docs/users/commands/install","docId":"users/commands/install"},{"type":"link","label":"kill","href":"/docs/users/commands/kill","docId":"users/commands/kill"},{"type":"link","label":"killall","href":"/docs/users/commands/killall","docId":"users/commands/killall"},{"type":"link","label":"log","href":"/docs/users/commands/log","docId":"users/commands/log"},{"type":"link","label":"lsp","href":"/docs/users/commands/lsp","docId":"users/commands/lsp"},{"type":"link","label":"profile","href":"/docs/users/commands/profile","docId":"users/commands/profile"},{"type":"link","label":"query","href":"/docs/users/commands/query","docId":"users/commands/query"},{"type":"link","label":"root","href":"/docs/users/commands/root","docId":"users/commands/root"},{"type":"link","label":"run","href":"/docs/users/commands/run","docId":"users/commands/run"},{"type":"link","label":"server","href":"/docs/users/commands/server","docId":"users/commands/server"},{"type":"link","label":"starlark","href":"/docs/users/commands/starlark","docId":"users/commands/starlark"},{"type":"link","label":"status","href":"/docs/users/commands/status","docId":"users/commands/status"},{"type":"link","label":"subscribe","href":"/docs/users/commands/subscribe","docId":"users/commands/subscribe"},{"type":"link","label":"targets","href":"/docs/users/commands/targets","docId":"users/commands/targets"},{"type":"link","label":"test","href":"/docs/users/commands/test","docId":"users/commands/test"},{"type":"link","label":"uquery","href":"/docs/users/commands/uquery","docId":"users/commands/uquery"},{"type":"link","label":"utargets","href":"/docs/users/commands/utargets","docId":"users/commands/utargets"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Cheat Sheet","href":"/docs/users/cheat_sheet","docId":"users/cheat_sheet"},{"type":"category","label":"Troubleshooting","items":[{"type":"link","label":"Common Issues","href":"/docs/users/faq/common_issues","docId":"users/faq/common_issues"},{"type":"link","label":"Debugging Excess Starlark Peak Memory","href":"/docs/users/faq/starlark_peak_mem","docId":"users/faq/starlark_peak_mem"},{"type":"link","label":"Why is Buck2 hanging?","href":"/docs/users/faq/buck_hanging","docId":"users/faq/buck_hanging"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Build Observability","items":[{"type":"link","label":"Buck2 Consoles","href":"/docs/users/build_observability/interactive_console","docId":"users/build_observability/interactive_console"},{"type":"link","label":"Logging","href":"/docs/users/build_observability/logging","docId":"users/build_observability/logging"},{"type":"link","label":"Build Report","href":"/docs/users/build_observability/build_report","docId":"users/build_observability/build_report"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Remote Execution","href":"/docs/users/remote_execution","docId":"users/remote_execution"},{"type":"category","label":"Queries","items":[{"type":"link","label":"Aquery Environment","href":"/docs/users/query/aquery","docId":"users/query/aquery"},{"type":"link","label":"Cquery Environment","href":"/docs/users/query/cquery","docId":"users/query/cquery"},{"type":"link","label":"Uquery Environment","href":"/docs/users/query/uquery","docId":"users/query/uquery"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Advanced Features","items":[{"type":"link","label":"Deferred Materialization","href":"/docs/users/advanced/deferred_materialization","docId":"users/advanced/deferred_materialization"},{"type":"link","label":"Restarter","href":"/docs/users/advanced/restarter","docId":"users/advanced/restarter"},{"type":"link","label":"In Memory Cache","href":"/docs/users/advanced/in_memory_cache","docId":"users/advanced/in_memory_cache"},{"type":"link","label":"External Cells","href":"/docs/users/advanced/external_cells","docId":"users/advanced/external_cells"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Rule Authors","items":[{"type":"link","label":"Writing Rules","href":"/docs/rule_authors/writing_rules","docId":"rule_authors/writing_rules"},{"type":"link","label":"Transitive Sets","href":"/docs/rule_authors/transitive_sets","docId":"rule_authors/transitive_sets"},{"type":"link","label":"Configurations","href":"/docs/rule_authors/configurations","docId":"rule_authors/configurations"},{"type":"link","label":"Configuration Transitions","href":"/docs/rule_authors/configuration_transitions","docId":"rule_authors/configuration_transitions"},{"type":"link","label":"Dynamic Dependencies","href":"/docs/rule_authors/dynamic_dependencies","docId":"rule_authors/dynamic_dependencies"},{"type":"link","label":"Anonymous Targets","href":"/docs/rule_authors/anon_targets","docId":"rule_authors/anon_targets"},{"type":"link","label":"Test Execution","href":"/docs/rule_authors/test_execution","docId":"rule_authors/test_execution"},{"type":"link","label":"Observability and Optimization","href":"/docs/rule_authors/optimization","docId":"rule_authors/optimization"},{"type":"link","label":"Incremental Actions","href":"/docs/rule_authors/incremental_actions","docId":"rule_authors/incremental_actions"},{"type":"link","label":"Alias","href":"/docs/rule_authors/alias","docId":"rule_authors/alias"},{"type":"link","label":"Local Resources For Tests Execution","href":"/docs/rule_authors/local_resources","docId":"rule_authors/local_resources"},{"type":"link","label":"PACKAGE Files","href":"/docs/rule_authors/package_files","docId":"rule_authors/package_files"},{"type":"link","label":"Dep Files","href":"/docs/rule_authors/dep_files","docId":"rule_authors/dep_files"}],"collapsed":true,"collapsible":true},{"type":"category","label":"BXL Developers","items":[{"type":"category","label":"About BXL","items":[{"type":"link","label":"Why BXL","href":"/docs/developers/bxl","docId":"developers/bxl"}],"collapsed":true,"collapsible":true},{"type":"category","label":"User Guide","items":[{"type":"link","label":"Getting Started","href":"/docs/developers/bxl_getting_started","docId":"developers/bxl_getting_started"},{"type":"link","label":"BXL Basics","href":"/docs/developers/bxl_basics","docId":"developers/bxl_basics"},{"type":"link","label":"Common How-Tos","href":"/docs/developers/bxl_how_tos","docId":"developers/bxl_how_tos"},{"type":"link","label":"Target Universe in BXL","href":"/docs/developers/target_universe","docId":"developers/target_universe"},{"type":"link","label":"BXL Telemetry","href":"/docs/developers/bxl_telemetry","docId":"developers/bxl_telemetry"},{"type":"link","label":"BXL and Anonymous Targets","href":"/docs/developers/anon_targets","docId":"developers/anon_targets"},{"type":"link","label":"BXL and Dynamic Outputs","href":"/docs/developers/dynamic_output","docId":"developers/dynamic_output"}],"collapsed":true,"collapsible":true},{"type":"link","label":"FAQs","href":"/docs/developers/bxl_faqs","docId":"developers/bxl_faqs"},{"type":"link","label":"BXL APIs","href":"/docs/api/bxl/globals","docId":"api/bxl/globals"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Buck2 Developers","items":[{"type":"category","label":"Architecture","items":[{"type":"link","label":"Architectural Model","href":"/docs/developers/architecture/buck2","docId":"developers/architecture/buck2"},{"type":"link","label":"Buck1 vs Buck2","href":"/docs/developers/architecture/buck1_vs_buck2","docId":"developers/architecture/buck1_vs_buck2"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Finding Commands That Buck2 Ran","href":"/docs/developers/what-ran","docId":"developers/what-ran"},{"type":"category","label":"Starlark Language","items":[{"type":"link","label":"Environments","href":"/docs/developers/starlark/environment","docId":"developers/starlark/environment"},{"type":"link","label":"A Moving Garbage Collector","href":"/docs/developers/starlark/gc","docId":"developers/starlark/gc"},{"type":"link","label":"Heaps and Heap References","href":"/docs/developers/starlark/heaps","docId":"developers/starlark/heaps"},{"type":"link","label":"Starlark Language Specification","href":"/docs/developers/starlark/spec","docId":"developers/starlark/spec"},{"type":"link","label":"Starlark Types","href":"/docs/developers/starlark/types","docId":"developers/starlark/types"},{"type":"link","label":"Value Representation","href":"/docs/developers/starlark/values","docId":"developers/starlark/values"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Request for Comments","href":"/docs/developers/request_for_comments","docId":"developers/request_for_comments"},{"type":"link","label":"Windows Cheat Sheet","href":"/docs/developers/windows_cheat_sheet","docId":"developers/windows_cheat_sheet"}],"collapsed":true,"collapsible":true}],"apiSidebar":[{"type":"link","label":"APIs","href":"/docs/api","docId":"api"},{"type":"link","label":"Rules","href":"/docs/prelude/globals","docId":"prelude/globals"},{"type":"category","label":"Starlark APIs","items":[{"type":"link","label":"globals","href":"/docs/api/starlark/globals","docId":"api/starlark/globals"},{"type":"link","label":"dict type","href":"/docs/api/starlark/dict","docId":"api/starlark/dict"},{"type":"link","label":"list type","href":"/docs/api/starlark/list","docId":"api/starlark/list"},{"type":"link","label":"string type","href":"/docs/api/starlark/string","docId":"api/starlark/string"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Build APIs","items":[{"type":"link","label":"globals","href":"/docs/api/build/globals","docId":"api/build/globals"},{"type":"link","label":"ActionErrorCtx type","href":"/docs/api/build/ActionErrorCtx","docId":"api/build/ActionErrorCtx"},{"type":"link","label":"ActionErrorLocation type","href":"/docs/api/build/ActionErrorLocation","docId":"api/build/ActionErrorLocation"},{"type":"link","label":"ActionSubError type","href":"/docs/api/build/ActionSubError","docId":"api/build/ActionSubError"},{"type":"link","label":"StackFrame type","href":"/docs/api/build/StackFrame","docId":"api/build/StackFrame"},{"type":"link","label":"actions type","href":"/docs/api/build/actions","docId":"api/build/actions"},{"type":"link","label":"anon_target type","href":"/docs/api/build/anon_target","docId":"api/build/anon_target"},{"type":"link","label":"anon_targets type","href":"/docs/api/build/anon_targets","docId":"api/build/anon_targets"},{"type":"link","label":"artifact type","href":"/docs/api/build/artifact","docId":"api/build/artifact"},{"type":"link","label":"attrs type","href":"/docs/api/build/attrs","docId":"api/build/attrs"},{"type":"link","label":"buck_regex type","href":"/docs/api/build/buck_regex","docId":"api/build/buck_regex"},{"type":"link","label":"cmd_args type","href":"/docs/api/build/cmd_args","docId":"api/build/cmd_args"},{"type":"link","label":"configured_target_label type","href":"/docs/api/build/configured_target_label","docId":"api/build/configured_target_label"},{"type":"link","label":"context type","href":"/docs/api/build/context","docId":"api/build/context"},{"type":"link","label":"dependency type","href":"/docs/api/build/dependency","docId":"api/build/dependency"},{"type":"link","label":"digest_config type","href":"/docs/api/build/digest_config","docId":"api/build/digest_config"},{"type":"link","label":"label type","href":"/docs/api/build/label","docId":"api/build/label"},{"type":"link","label":"label_relative_path type","href":"/docs/api/build/label_relative_path","docId":"api/build/label_relative_path"},{"type":"link","label":"plugins type","href":"/docs/api/build/plugins","docId":"api/build/plugins"},{"type":"link","label":"promise type","href":"/docs/api/build/promise","docId":"api/build/promise"},{"type":"link","label":"provider_collection type","href":"/docs/api/build/provider_collection","docId":"api/build/provider_collection"},{"type":"link","label":"providers_label type","href":"/docs/api/build/providers_label","docId":"api/build/providers_label"},{"type":"link","label":"target_label type","href":"/docs/api/build/target_label","docId":"api/build/target_label"}],"collapsed":true,"collapsible":true},{"type":"category","label":"BXL APIs","items":[{"type":"link","label":"globals","href":"/docs/api/bxl/globals","docId":"api/bxl/globals"},{"type":"link","label":"ActionErrorCtx type","href":"/docs/api/bxl/ActionErrorCtx","docId":"api/bxl/ActionErrorCtx"},{"type":"link","label":"ActionErrorLocation type","href":"/docs/api/bxl/ActionErrorLocation","docId":"api/bxl/ActionErrorLocation"},{"type":"link","label":"ActionSubError type","href":"/docs/api/bxl/ActionSubError","docId":"api/bxl/ActionSubError"},{"type":"link","label":"StackFrame type","href":"/docs/api/bxl/StackFrame","docId":"api/bxl/StackFrame"},{"type":"link","label":"action type","href":"/docs/api/bxl/action","docId":"api/bxl/action"},{"type":"link","label":"action_attr type","href":"/docs/api/bxl/action_attr","docId":"api/bxl/action_attr"},{"type":"link","label":"actions type","href":"/docs/api/bxl/actions","docId":"api/bxl/actions"},{"type":"link","label":"anon_target type","href":"/docs/api/bxl/anon_target","docId":"api/bxl/anon_target"},{"type":"link","label":"anon_targets type","href":"/docs/api/bxl/anon_targets","docId":"api/bxl/anon_targets"},{"type":"link","label":"artifact type","href":"/docs/api/bxl/artifact","docId":"api/bxl/artifact"},{"type":"link","label":"attrs type","href":"/docs/api/bxl/attrs","docId":"api/bxl/attrs"},{"type":"link","label":"buck_regex type","href":"/docs/api/bxl/buck_regex","docId":"api/bxl/buck_regex"},{"type":"link","label":"bxl.ActionQueryNode type","href":"/docs/api/bxl/bxl.ActionQueryNode","docId":"api/bxl/bxl.ActionQueryNode"},{"type":"link","label":"bxl.Actions type","href":"/docs/api/bxl/bxl.Actions","docId":"api/bxl/bxl.Actions"},{"type":"link","label":"bxl.AnalysisResult type","href":"/docs/api/bxl/bxl.AnalysisResult","docId":"api/bxl/bxl.AnalysisResult"},{"type":"link","label":"bxl.AqueryContext type","href":"/docs/api/bxl/bxl.AqueryContext","docId":"api/bxl/bxl.AqueryContext"},{"type":"link","label":"bxl.AuditContext type","href":"/docs/api/bxl/bxl.AuditContext","docId":"api/bxl/bxl.AuditContext"},{"type":"link","label":"bxl.BuildResult type","href":"/docs/api/bxl/bxl.BuildResult","docId":"api/bxl/bxl.BuildResult"},{"type":"link","label":"bxl.ConfiguredTargetNode type","href":"/docs/api/bxl/bxl.ConfiguredTargetNode","docId":"api/bxl/bxl.ConfiguredTargetNode"},{"type":"link","label":"bxl.Context type","href":"/docs/api/bxl/bxl.Context","docId":"api/bxl/bxl.Context"},{"type":"link","label":"bxl.CqueryContext type","href":"/docs/api/bxl/bxl.CqueryContext","docId":"api/bxl/bxl.CqueryContext"},{"type":"link","label":"bxl.EnsuredArtifact type","href":"/docs/api/bxl/bxl.EnsuredArtifact","docId":"api/bxl/bxl.EnsuredArtifact"},{"type":"link","label":"bxl.FileNode type","href":"/docs/api/bxl/bxl.FileNode","docId":"api/bxl/bxl.FileNode"},{"type":"link","label":"bxl.Filesystem type","href":"/docs/api/bxl/bxl.Filesystem","docId":"api/bxl/bxl.Filesystem"},{"type":"link","label":"bxl.LazyResolvedAttrs type","href":"/docs/api/bxl/bxl.LazyResolvedAttrs","docId":"api/bxl/bxl.LazyResolvedAttrs"},{"type":"link","label":"bxl.OutputStream type","href":"/docs/api/bxl/bxl.OutputStream","docId":"api/bxl/bxl.OutputStream"},{"type":"link","label":"bxl.TargetUniverse type","href":"/docs/api/bxl/bxl.TargetUniverse","docId":"api/bxl/bxl.TargetUniverse"},{"type":"link","label":"bxl.UnconfiguredTargetNode type","href":"/docs/api/bxl/bxl.UnconfiguredTargetNode","docId":"api/bxl/bxl.UnconfiguredTargetNode"},{"type":"link","label":"bxl.UqueryContext type","href":"/docs/api/bxl/bxl.UqueryContext","docId":"api/bxl/bxl.UqueryContext"},{"type":"link","label":"cmd_args type","href":"/docs/api/bxl/cmd_args","docId":"api/bxl/cmd_args"},{"type":"link","label":"coerced_attr type","href":"/docs/api/bxl/coerced_attr","docId":"api/bxl/coerced_attr"},{"type":"link","label":"configured_attr type","href":"/docs/api/bxl/configured_attr","docId":"api/bxl/configured_attr"},{"type":"link","label":"configured_target_label type","href":"/docs/api/bxl/configured_target_label","docId":"api/bxl/configured_target_label"},{"type":"link","label":"context type","href":"/docs/api/bxl/context","docId":"api/bxl/context"},{"type":"link","label":"dependency type","href":"/docs/api/bxl/dependency","docId":"api/bxl/dependency"},{"type":"link","label":"digest_config type","href":"/docs/api/bxl/digest_config","docId":"api/bxl/digest_config"},{"type":"link","label":"ensured_artifact_group type","href":"/docs/api/bxl/ensured_artifact_group","docId":"api/bxl/ensured_artifact_group"},{"type":"link","label":"file_set type","href":"/docs/api/bxl/file_set","docId":"api/bxl/file_set"},{"type":"link","label":"instant type","href":"/docs/api/bxl/instant","docId":"api/bxl/instant"},{"type":"link","label":"label type","href":"/docs/api/bxl/label","docId":"api/bxl/label"},{"type":"link","label":"label_relative_path type","href":"/docs/api/bxl/label_relative_path","docId":"api/bxl/label_relative_path"},{"type":"link","label":"lazy_attrs type","href":"/docs/api/bxl/lazy_attrs","docId":"api/bxl/lazy_attrs"},{"type":"link","label":"plugins type","href":"/docs/api/bxl/plugins","docId":"api/bxl/plugins"},{"type":"link","label":"promise type","href":"/docs/api/bxl/promise","docId":"api/bxl/promise"},{"type":"link","label":"provider_collection type","href":"/docs/api/bxl/provider_collection","docId":"api/bxl/provider_collection"},{"type":"link","label":"providers_label type","href":"/docs/api/bxl/providers_label","docId":"api/bxl/providers_label"},{"type":"link","label":"target_label type","href":"/docs/api/bxl/target_label","docId":"api/bxl/target_label"}],"collapsed":true,"collapsible":true}]},"docs":{"about/benefits/compared_to_buck1":{"id":"about/benefits/compared_to_buck1","title":"Benefits When Compared to Buck1","description":"For reports from real users, see the Testimonials, which","sidebar":"mainSidebar"},"about/bootstrapping":{"id":"about/bootstrapping","title":"Bootstrapping Buck2","description":"To generate BUCK files for buck2\'s dependencies, we use","sidebar":"mainSidebar"},"about/getting_started":{"id":"about/getting_started","title":"Getting Started","description":"Installing Buck2","sidebar":"mainSidebar"},"about/why":{"id":"about/why","title":"Why Buck2","description":"Buck2 is a build system from Meta. This page answers the questions:","sidebar":"mainSidebar"},"api":{"id":"api","title":"APIs","description":"A lot of Buck2 is driven by Starlark APIs. While there is a","sidebar":"apiSidebar"},"api/build/ActionErrorCtx":{"id":"api/build/ActionErrorCtx","title":"ActionErrorCtx type","description":"Methods available on ActionErrorCtx to help categorize the action failure. These categorizations should be finer grain, and most likely language specific.","sidebar":"apiSidebar"},"api/build/ActionErrorLocation":{"id":"api/build/ActionErrorLocation","title":"ActionErrorLocation type","description":"Methods available on StarlarkActionErrorLocation to help with testing the error handler implementation","sidebar":"apiSidebar"},"api/build/actions":{"id":"api/build/actions","title":"actions type","description":"actions.anon\\\\_target","sidebar":"apiSidebar"},"api/build/ActionSubError":{"id":"api/build/ActionSubError","title":"ActionSubError type","description":"Methods available on StarlarkActionSubError to help with testing the error handler implementation","sidebar":"apiSidebar"},"api/build/anon_target":{"id":"api/build/anon_target","title":"anon_target type","description":"Accessors to the promise of the anon rule and the promised artifacts associated with the rule.","sidebar":"apiSidebar"},"api/build/anon_targets":{"id":"api/build/anon_targets","title":"anon_targets type","description":"Accessors to the all the anon targets created, as well as the joined promise of these targets.","sidebar":"apiSidebar"},"api/build/artifact":{"id":"api/build/artifact","title":"artifact type","description":"A single input or output file for an action.","sidebar":"apiSidebar"},"api/build/attrs":{"id":"api/build/attrs","title":"attrs type","description":"This type is available as a global attrs symbol, to allow the definition of attributes to the rule function.","sidebar":"apiSidebar"},"api/build/buck_regex":{"id":"api/build/buck_regex","title":"buck_regex type","description":"buck\\\\_regex.match","sidebar":"apiSidebar"},"api/build/cmd_args":{"id":"api/build/cmd_args","title":"cmd_args type","description":"The cmdargs type is created by cmdargs() and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value. All these methods operate mutably on cmd and return that value too.","sidebar":"apiSidebar"},"api/build/configured_target_label":{"id":"api/build/configured_target_label","title":"configured_target_label type","description":"configured\\\\target\\\\label.cell","sidebar":"apiSidebar"},"api/build/context":{"id":"api/build/context","title":"context type","description":"The type used for defining rules, usually bound as ctx. Usually the sole argument to the impl argument of the rule function.","sidebar":"apiSidebar"},"api/build/dependency":{"id":"api/build/dependency","title":"dependency type","description":"Dependency type. In Starlark typing it can be represented with Dependency global.","sidebar":"apiSidebar"},"api/build/digest_config":{"id":"api/build/digest_config","title":"digest_config type","description":"digest\\\\config.allows\\\\blake3","sidebar":"apiSidebar"},"api/build/globals":{"id":"api/build/globals","title":"globals","description":"Global method for error handling.","sidebar":"apiSidebar"},"api/build/label":{"id":"api/build/label","title":"label type","description":"A label is used to represent a configured target.","sidebar":"apiSidebar"},"api/build/label_relative_path":{"id":"api/build/label_relative_path","title":"label_relative_path type","description":"label\\\\relative\\\\path.add","sidebar":"apiSidebar"},"api/build/plugins":{"id":"api/build/plugins","title":"plugins type","description":"plugins.All","sidebar":"apiSidebar"},"api/build/promise":{"id":"api/build/promise","title":"promise type","description":"promise.join","sidebar":"apiSidebar"},"api/build/provider_collection":{"id":"api/build/provider_collection","title":"provider_collection type","description":"Holds a collection of UserProviders. These can be accessed in Starlark by indexing on a ProviderCallable object.","sidebar":"apiSidebar"},"api/build/providers_label":{"id":"api/build/providers_label","title":"providers_label type","description":"providers\\\\_label.cell","sidebar":"apiSidebar"},"api/build/StackFrame":{"id":"api/build/StackFrame","title":"StackFrame type","description":"StackFrame.func\\\\_name","sidebar":"apiSidebar"},"api/build/target_label":{"id":"api/build/target_label","title":"target_label type","description":"target\\\\_label.cell","sidebar":"apiSidebar"},"api/bxl/action":{"id":"api/bxl/action","title":"action type","description":"Methods for an action.","sidebar":"apiSidebar"},"api/bxl/action_attr":{"id":"api/bxl/action_attr","title":"action_attr type","description":"Methods on action query node\'s attributes.","sidebar":"apiSidebar"},"api/bxl/ActionErrorCtx":{"id":"api/bxl/ActionErrorCtx","title":"ActionErrorCtx type","description":"Methods available on ActionErrorCtx to help categorize the action failure. These categorizations should be finer grain, and most likely language specific.","sidebar":"apiSidebar"},"api/bxl/ActionErrorLocation":{"id":"api/bxl/ActionErrorLocation","title":"ActionErrorLocation type","description":"Methods available on StarlarkActionErrorLocation to help with testing the error handler implementation","sidebar":"apiSidebar"},"api/bxl/actions":{"id":"api/bxl/actions","title":"actions type","description":"actions.anon\\\\_target","sidebar":"apiSidebar"},"api/bxl/ActionSubError":{"id":"api/bxl/ActionSubError","title":"ActionSubError type","description":"Methods available on StarlarkActionSubError to help with testing the error handler implementation","sidebar":"apiSidebar"},"api/bxl/anon_target":{"id":"api/bxl/anon_target","title":"anon_target type","description":"Accessors to the promise of the anon rule and the promised artifacts associated with the rule.","sidebar":"apiSidebar"},"api/bxl/anon_targets":{"id":"api/bxl/anon_targets","title":"anon_targets type","description":"Accessors to the all the anon targets created, as well as the joined promise of these targets.","sidebar":"apiSidebar"},"api/bxl/artifact":{"id":"api/bxl/artifact","title":"artifact type","description":"A single input or output file for an action.","sidebar":"apiSidebar"},"api/bxl/attrs":{"id":"api/bxl/attrs","title":"attrs type","description":"This type is available as a global attrs symbol, to allow the definition of attributes to the rule function.","sidebar":"apiSidebar"},"api/bxl/buck_regex":{"id":"api/bxl/buck_regex","title":"buck_regex type","description":"buck\\\\_regex.match","sidebar":"apiSidebar"},"api/bxl/bxl.ActionQueryNode":{"id":"api/bxl/bxl.ActionQueryNode","title":"bxl.ActionQueryNode type","description":"Methods for action query node.","sidebar":"apiSidebar"},"api/bxl/bxl.Actions":{"id":"api/bxl/bxl.Actions","title":"bxl.Actions type","description":"The bxl action context is the context for creating actions. This context is obtained after performing execution platform resolution based on a set of given dependencies and toolchains.","sidebar":"apiSidebar"},"api/bxl/bxl.AnalysisResult":{"id":"api/bxl/bxl.AnalysisResult","title":"bxl.AnalysisResult type","description":"The result of running an analysis in bxl.","sidebar":"apiSidebar"},"api/bxl/bxl.AqueryContext":{"id":"api/bxl/bxl.AqueryContext","title":"bxl.AqueryContext type","description":"The context for performing aquery operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within aquery command.","sidebar":"apiSidebar"},"api/bxl/bxl.AuditContext":{"id":"api/bxl/bxl.AuditContext","title":"bxl.AuditContext type","description":"The context for performing audit operations in bxl. The functions offered on this ctx are the same behaviour as the audit functions available within audit command.","sidebar":"apiSidebar"},"api/bxl/bxl.BuildResult":{"id":"api/bxl/bxl.BuildResult","title":"bxl.BuildResult type","description":"The result of building in bxl.","sidebar":"apiSidebar"},"api/bxl/bxl.ConfiguredTargetNode":{"id":"api/bxl/bxl.ConfiguredTargetNode","title":"bxl.ConfiguredTargetNode type","description":"bxl.ConfiguredTargetNode.attrs\\\\_eager","sidebar":"apiSidebar"},"api/bxl/bxl.Context":{"id":"api/bxl/bxl.Context","title":"bxl.Context type","description":"The bxl context that the top level bxl implementation receives as parameter. This context contains all the core bxl functions to query, build, create actions, etc.","sidebar":"apiSidebar"},"api/bxl/bxl.CqueryContext":{"id":"api/bxl/bxl.CqueryContext","title":"bxl.CqueryContext type","description":"The context for performing cquery operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within cquery command.","sidebar":"apiSidebar"},"api/bxl/bxl.EnsuredArtifact":{"id":"api/bxl/bxl.EnsuredArtifact","title":"bxl.EnsuredArtifact type","description":"An artifact that will be materialized to buck-out at the end of the bxl invocation. These artifacts can be printed to bxl\'s results. Doing so will print the path of the artifact rather than the standard representation.","sidebar":"apiSidebar"},"api/bxl/bxl.FileNode":{"id":"api/bxl/bxl.FileNode","title":"bxl.FileNode type","description":"Wrapper around the cell relative path to the file or directory.","sidebar":"apiSidebar"},"api/bxl/bxl.Filesystem":{"id":"api/bxl/bxl.Filesystem","title":"bxl.Filesystem type","description":"Provides some basic tracked filesystem access for bxl functions so that they can meaningfully detect simple properties of artifacts, and source directories.","sidebar":"apiSidebar"},"api/bxl/bxl.LazyResolvedAttrs":{"id":"api/bxl/bxl.LazyResolvedAttrs","title":"bxl.LazyResolvedAttrs type","description":"The context for getting resolved attrs lazily on a target_node.","sidebar":"apiSidebar"},"api/bxl/bxl.OutputStream":{"id":"api/bxl/bxl.OutputStream","title":"bxl.OutputStream type","description":"The output stream for bxl to print values to the console as their result","sidebar":"apiSidebar"},"api/bxl/bxl.TargetUniverse":{"id":"api/bxl/bxl.TargetUniverse","title":"bxl.TargetUniverse type","description":"Target universe in BXL. Used for looking up valid configured targets to use in cquery. This is not needed for uquery.","sidebar":"apiSidebar"},"api/bxl/bxl.UnconfiguredTargetNode":{"id":"api/bxl/bxl.UnconfiguredTargetNode","title":"bxl.UnconfiguredTargetNode type","description":"Methods for unconfigured target node.","sidebar":"apiSidebar"},"api/bxl/bxl.UqueryContext":{"id":"api/bxl/bxl.UqueryContext","title":"bxl.UqueryContext type","description":"The context for performing uquery operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within uquery command.","sidebar":"apiSidebar"},"api/bxl/cmd_args":{"id":"api/bxl/cmd_args","title":"cmd_args type","description":"The cmdargs type is created by cmdargs() and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value. All these methods operate mutably on cmd and return that value too.","sidebar":"apiSidebar"},"api/bxl/coerced_attr":{"id":"api/bxl/coerced_attr","title":"coerced_attr type","description":"Methods on configured target node\'s attributes.","sidebar":"apiSidebar"},"api/bxl/configured_attr":{"id":"api/bxl/configured_attr","title":"configured_attr type","description":"Methods on configured target node\'s attributes.","sidebar":"apiSidebar"},"api/bxl/configured_target_label":{"id":"api/bxl/configured_target_label","title":"configured_target_label type","description":"configured\\\\target\\\\label.cell","sidebar":"apiSidebar"},"api/bxl/context":{"id":"api/bxl/context","title":"context type","description":"The type used for defining rules, usually bound as ctx. Usually the sole argument to the impl argument of the rule function.","sidebar":"apiSidebar"},"api/bxl/dependency":{"id":"api/bxl/dependency","title":"dependency type","description":"Dependency type. In Starlark typing it can be represented with Dependency global.","sidebar":"apiSidebar"},"api/bxl/digest_config":{"id":"api/bxl/digest_config","title":"digest_config type","description":"digest\\\\config.allows\\\\blake3","sidebar":"apiSidebar"},"api/bxl/ensured_artifact_group":{"id":"api/bxl/ensured_artifact_group","title":"ensured_artifact_group type","description":"An artifact group that will be materialized to buck-out at the end of the bxl invocation. These artifacts can be printed to bxl\'s results. Doing so will print the path of each artifact in the group rather than the standard representation.","sidebar":"apiSidebar"},"api/bxl/file_set":{"id":"api/bxl/file_set","title":"file_set type","description":"A set of file_nodes. Supports the operations such as set addition/subtraction, length, iteration, equality and indexing.","sidebar":"apiSidebar"},"api/bxl/globals":{"id":"api/bxl/globals","title":"globals","description":"Global method for error handling.","sidebar":"apiSidebar"},"api/bxl/instant":{"id":"api/bxl/instant","title":"instant type","description":"Instant methods, to aid in debugging/timing individual pieces of the bxl script.","sidebar":"apiSidebar"},"api/bxl/label":{"id":"api/bxl/label","title":"label type","description":"A label is used to represent a configured target.","sidebar":"apiSidebar"},"api/bxl/label_relative_path":{"id":"api/bxl/label_relative_path","title":"label_relative_path type","description":"label\\\\relative\\\\path.add","sidebar":"apiSidebar"},"api/bxl/lazy_attrs":{"id":"api/bxl/lazy_attrs","title":"lazy_attrs type","description":"The context for getting attrs lazily on a target_node.","sidebar":"apiSidebar"},"api/bxl/plugins":{"id":"api/bxl/plugins","title":"plugins type","description":"plugins.All","sidebar":"apiSidebar"},"api/bxl/promise":{"id":"api/bxl/promise","title":"promise type","description":"promise.join","sidebar":"apiSidebar"},"api/bxl/provider_collection":{"id":"api/bxl/provider_collection","title":"provider_collection type","description":"Holds a collection of UserProviders. These can be accessed in Starlark by indexing on a ProviderCallable object.","sidebar":"apiSidebar"},"api/bxl/providers_label":{"id":"api/bxl/providers_label","title":"providers_label type","description":"providers\\\\_label.cell","sidebar":"apiSidebar"},"api/bxl/StackFrame":{"id":"api/bxl/StackFrame","title":"StackFrame type","description":"StackFrame.func\\\\_name","sidebar":"apiSidebar"},"api/bxl/target_label":{"id":"api/bxl/target_label","title":"target_label type","description":"target\\\\_label.cell","sidebar":"apiSidebar"},"api/starlark/dict":{"id":"api/starlark/dict","title":"dict type","description":"dict.clear","sidebar":"apiSidebar"},"api/starlark/globals":{"id":"api/starlark/globals","title":"globals","description":"False","sidebar":"apiSidebar"},"api/starlark/list":{"id":"api/starlark/list","title":"list type","description":"list.append","sidebar":"apiSidebar"},"api/starlark/string":{"id":"api/starlark/string","title":"string type","description":"string.capitalize","sidebar":"apiSidebar"},"concepts/buck_out":{"id":"concepts/buck_out","title":"buck-out","description":"Buck2 stores build artifacts in a directory named buck-out in the root of your","sidebar":"mainSidebar"},"concepts/buckconfig":{"id":"concepts/buckconfig","title":".buckconfig","description":"The root of your project must contain a configuration","sidebar":"mainSidebar"},"concepts/build_file":{"id":"concepts/build_file","title":"Build File","description":"A build file is a file, typically named BUCK, that defines one or more","sidebar":"mainSidebar"},"concepts/build_rule":{"id":"concepts/build_rule","title":"Build Rule","description":"A build rule is a procedure for producing output files from a set of input","sidebar":"mainSidebar"},"concepts/build_target":{"id":"concepts/build_target","title":"Build Target","description":"A build target is a string that identifies a build target in your project.","sidebar":"mainSidebar"},"concepts/concept_map":{"id":"concepts/concept_map","title":"Concept Map","description":"The Concept Map provides an at-a-glance overview of the relationships between","sidebar":"mainSidebar"},"concepts/configurations":{"id":"concepts/configurations","title":"Configurations","description":"For rule authors see also: Configurations","sidebar":"mainSidebar"},"concepts/daemon":{"id":"concepts/daemon","title":"Daemon (buckd)","description":"The first time that a Buck2 command is run, Buck2 starts a daemon process for","sidebar":"mainSidebar"},"concepts/glossary":{"id":"concepts/glossary","title":"Glossary of Terms","description":".buckconfig","sidebar":"mainSidebar"},"concepts/key_concepts":{"id":"concepts/key_concepts","title":"Key Concepts","description":"Buck2 has a number of fundamental concepts:","sidebar":"mainSidebar"},"concepts/target_pattern":{"id":"concepts/target_pattern","title":"Target Pattern","description":"A target pattern is a string that resolves to a set of","sidebar":"mainSidebar"},"concepts/visibility":{"id":"concepts/visibility","title":"Visibility","description":"Visibility determines whether a target can reference","sidebar":"mainSidebar"},"developers/anon_targets":{"id":"developers/anon_targets","title":"BXL and Anonymous Targets","description":"Anonymous targets","sidebar":"mainSidebar"},"developers/architecture/buck1_vs_buck2":{"id":"developers/architecture/buck1_vs_buck2","title":"Buck1 vs Buck2","description":"At a glance","sidebar":"mainSidebar"},"developers/architecture/buck2":{"id":"developers/architecture/buck2","title":"Architectural Model","description":"High-level Overview","sidebar":"mainSidebar"},"developers/architecture/buck2_telemetry":{"id":"developers/architecture/buck2_telemetry","title":"Buck2 Telemetry","description":"\ud83d\udea7\xa0\xa0\xa0THIS PAGE IS UNDER CONSTRUCTION"},"developers/bxl":{"id":"developers/bxl","title":"Why BXL","description":"Buck2 Extension Language (BXL)","sidebar":"mainSidebar"},"developers/bxl_basics":{"id":"developers/bxl_basics","title":"BXL Basics","description":"This page is a primer on common BXL functionalities and data types. Ramping up","sidebar":"mainSidebar"},"developers/bxl_faqs":{"id":"developers/bxl_faqs","title":"FAQs","description":"When is my BXL script cached?","sidebar":"mainSidebar"},"developers/bxl_getting_started":{"id":"developers/bxl_getting_started","title":"Getting Started","description":"If you are mostly unfamiliar with Buck2, take a look at","sidebar":"mainSidebar"},"developers/bxl_how_tos":{"id":"developers/bxl_how_tos","title":"Common How-Tos","description":"Passing in and using CLI args","sidebar":"mainSidebar"},"developers/bxl_telemetry":{"id":"developers/bxl_telemetry","title":"BXL Telemetry","description":"Telemetry","sidebar":"mainSidebar"},"developers/dynamic_output":{"id":"developers/dynamic_output","title":"BXL and Dynamic Outputs","description":"Dynamic output","sidebar":"mainSidebar"},"developers/options":{"id":"developers/options","title":"Buck 2 specific options","description":"Buck 2 introduces some options that don\'t exist in v1 and are accessed in the"},"developers/request_for_comments":{"id":"developers/request_for_comments","title":"Request for Comments","description":"Following are Request for Comments (RFCs) at specific stages of the lifecycle.","sidebar":"mainSidebar"},"developers/starlark/environment":{"id":"developers/starlark/environment","title":"Environments","description":"explanation of the problem, and thought process behind it, remains useful. The","sidebar":"mainSidebar"},"developers/starlark/gc":{"id":"developers/starlark/gc","title":"A Moving Garbage Collector","description":"This page describes a two-space garbage collector that can deal with cycles.","sidebar":"mainSidebar"},"developers/starlark/heaps":{"id":"developers/starlark/heaps","title":"Heaps and Heap References","description":"Heaps","sidebar":"mainSidebar"},"developers/starlark/spec":{"id":"developers/starlark/spec","title":"Starlark Language Specification","description":"The Starlark language spec can be found in the","sidebar":"mainSidebar"},"developers/starlark/types":{"id":"developers/starlark/types","title":"Starlark Types","description":"The Starlark \'types\' extension is highly experimental and likely to be modified","sidebar":"mainSidebar"},"developers/starlark/values":{"id":"developers/starlark/values","title":"Value Representation","description":"explanation of the problem, and thought process behind it, remains useful. Of","sidebar":"mainSidebar"},"developers/target_universe":{"id":"developers/target_universe","title":"Target Universe in BXL","description":"BXL cquery and target universe","sidebar":"mainSidebar"},"developers/what-ran":{"id":"developers/what-ran","title":"Finding Commands That Buck2 Ran","description":"Buck2 logs all the commands it runs. So, after you\'ve run a build, you can query","sidebar":"mainSidebar"},"developers/windows_cheat_sheet":{"id":"developers/windows_cheat_sheet","title":"Windows Cheat Sheet","description":"This page contains notes and tips to assist you in understanding the different","sidebar":"mainSidebar"},"index":{"id":"index","title":"Introduction","description":"Welcome to Buck2, a large scale, fast, reliable, and extensible build tool","sidebar":"mainSidebar"},"prelude/globals":{"id":"prelude/globals","title":"Rules","description":"These rules are available as standard in Buck2.","sidebar":"apiSidebar"},"rfcs/attr-metadata":{"id":"rfcs/attr-metadata","title":"RFC: labels -> metadata attribute","description":"This RFC proposes to add new builtin per target attribute: metadata, as"},"rfcs/audit_visibility":{"id":"rfcs/audit_visibility","title":"buck2 audit visibility command","description":"Context"},"rfcs/bxl":{"id":"rfcs/bxl","title":"Buck Extension Language (BXL)","description":"Buck2 will allow more complex introspection and interaction with its graphs via"},"rfcs/bxl-analysis":{"id":"rfcs/bxl-analysis","title":"Bxl support for performing analysis on targets","description":"Intro"},"rfcs/cfg-modifiers/api":{"id":"rfcs/cfg-modifiers/api","title":"[RFC] Configuration Modifiers","description":"Why do we need new configuration setup?"},"rfcs/configured-alias":{"id":"rfcs/configured-alias","title":"Buck support to implement configured_alias","description":"Intro"},"rfcs/drafts/bxl-actions":{"id":"rfcs/drafts/bxl-actions","title":"Bxl Actions and Build API","description":"Bxl allows integrators to write Starlark snippets that introspect the buck2"},"rfcs/drafts/configuration-at-syntax":{"id":"rfcs/drafts/configuration-at-syntax","title":"@configuration syntax","description":"What"},"rfcs/drafts/digest-kinds":{"id":"rfcs/drafts/digest-kinds","title":"Digest Kinds","description":"Use cases:"},"rfcs/drafts/plugin-deps":{"id":"rfcs/drafts/plugin-deps","title":"plugin-deps","description":"Plugin Deps"},"rfcs/drafts/test-info-v2":{"id":"rfcs/drafts/test-info-v2","title":"RFC: TestInfo v2","description":"A stub RFC for TestInfo v2 to track lessons learned about TestInfo v1. The stack"},"rfcs/drafts/universal-cfg-naming":{"id":"rfcs/drafts/universal-cfg-naming","title":"Universal Configuration Naming Function","description":"tl;dr: This RFC proposes using a single naming function to generate names for"},"rfcs/implemented/provider-collection-at":{"id":"rfcs/implemented/provider-collection-at","title":"Return error in ProviderCollection[] on undeclared provider","description":"Currently, ctx.attrs.foo[UnknownInfo] returns None if foo is a provider"},"rfcs/package-local-values":{"id":"rfcs/package-local-values","title":"Package-local values","description":"This RFC proposes to extend buck2 Starlark with package-local values."},"rule_authors/alias":{"id":"rule_authors/alias","title":"Alias","description":"The alias rule creates another name by which an existing rule can be referred","sidebar":"mainSidebar"},"rule_authors/anon_targets":{"id":"rule_authors/anon_targets","title":"Anonymous Targets","description":"An anonymous target is defined by the hash of its attributes, rather than its","sidebar":"mainSidebar"},"rule_authors/configuration_transitions":{"id":"rule_authors/configuration_transitions","title":"Configuration Transitions","description":"Configuration transition is a mechanism for changing the configuration when","sidebar":"mainSidebar"},"rule_authors/configurations":{"id":"rule_authors/configurations","title":"Configurations","description":"This page mostly focuses on how configurations and related features are","sidebar":"mainSidebar"},"rule_authors/dep_files":{"id":"rule_authors/dep_files","title":"Dep Files","description":"Dep files allow commands to declare which subset of their inputs were used when","sidebar":"mainSidebar"},"rule_authors/dynamic_dependencies":{"id":"rule_authors/dynamic_dependencies","title":"Dynamic Dependencies","description":"Dynamic dependencies allow a rule to use information that was not available when","sidebar":"mainSidebar"},"rule_authors/incremental_actions":{"id":"rule_authors/incremental_actions","title":"Incremental Actions","description":"It\'s possible to make certain Buck2 actions behave incrementally, that is, to","sidebar":"mainSidebar"},"rule_authors/local_resources":{"id":"rule_authors/local_resources","title":"Local Resources For Tests Execution","description":"Executing a test might require an external resource which is expensive to","sidebar":"mainSidebar"},"rule_authors/optimization":{"id":"rule_authors/optimization","title":"Observability and Optimization","description":"Optimization involves the use of techniques for determining and improving the","sidebar":"mainSidebar"},"rule_authors/package_files":{"id":"rule_authors/package_files","title":"PACKAGE Files","description":"PACKAGE files are per-directory configuration files which are accessible from","sidebar":"mainSidebar"},"rule_authors/test_execution":{"id":"rule_authors/test_execution","title":"Test Execution","description":"Test execution in Buck2 is a collaboration with a separate test runner process.","sidebar":"mainSidebar"},"rule_authors/transitive_sets":{"id":"rule_authors/transitive_sets","title":"Transitive Sets","description":"Transitive sets enable the propagation of data up dependency trees in a manner","sidebar":"mainSidebar"},"rule_authors/writing_rules":{"id":"rule_authors/writing_rules","title":"Writing Rules","description":"This page describes how to write rules for Buck2 and explains the flow for","sidebar":"mainSidebar"},"users/advanced/deferred_materialization":{"id":"users/advanced/deferred_materialization","title":"Deferred Materialization","description":"When using Remote Execution, Buck2 can optionally","sidebar":"mainSidebar"},"users/advanced/external_cells":{"id":"users/advanced/external_cells","title":"External Cells","description":"Normally, buck2 requires source files to be checked into the repo. However, this","sidebar":"mainSidebar"},"users/advanced/in_memory_cache":{"id":"users/advanced/in_memory_cache","title":"In Memory Cache","description":"Buck2 can maintain an in-memory cache of actions it executed. This allows","sidebar":"mainSidebar"},"users/advanced/restarter":{"id":"users/advanced/restarter","title":"Restarter","description":"The Restarter can automatically restart Buck2 when Buck2 detects that it hit a","sidebar":"mainSidebar"},"users/build_observability/build_report":{"id":"users/build_observability/build_report","title":"Build Report","description":"The build report is a JSON file that you can ask buck to output which contains","sidebar":"mainSidebar"},"users/build_observability/interactive_console":{"id":"users/build_observability/interactive_console","title":"Buck2 Consoles","description":"Buck2 offers several console types for build-like commands (e.g. build,","sidebar":"mainSidebar"},"users/build_observability/logging":{"id":"users/build_observability/logging","title":"Logging","description":"Buck2 produces detailed event logs for each invocation, which follow a schema","sidebar":"mainSidebar"},"users/cheat_sheet":{"id":"users/cheat_sheet","title":"Cheat Sheet","description":"This section provides example command lines that you can use to obtain","sidebar":"mainSidebar"},"users/commands/aquery":{"id":"users/commands/aquery","title":"aquery","description":"These are the flags/commands under buck2 aquery and their --help output:","sidebar":"mainSidebar"},"users/commands/audit":{"id":"users/commands/audit","title":"audit","description":"These are the flags/commands under buck2 audit and their --help output:","sidebar":"mainSidebar"},"users/commands/build":{"id":"users/commands/build","title":"build","description":"These are the flags/commands under buck2 build and their --help output:","sidebar":"mainSidebar"},"users/commands/bxl":{"id":"users/commands/bxl","title":"bxl","description":"These are the flags/commands under buck2 bxl and their --help output:","sidebar":"mainSidebar"},"users/commands/clean":{"id":"users/commands/clean","title":"clean","description":"These are the flags/commands under buck2 clean and their --help output:","sidebar":"mainSidebar"},"users/commands/completion":{"id":"users/commands/completion","title":"completion","description":"These are the flags/commands under buck2 completion and their --help output:","sidebar":"mainSidebar"},"users/commands/cquery":{"id":"users/commands/cquery","title":"cquery","description":"These are the flags/commands under buck2 cquery and their --help output:","sidebar":"mainSidebar"},"users/commands/ctargets":{"id":"users/commands/ctargets","title":"ctargets","description":"These are the flags/commands under buck2 ctargets and their --help output:","sidebar":"mainSidebar"},"users/commands/docs":{"id":"users/commands/docs","title":"docs","description":"These are the flags/commands under buck2 docs and their --help output:","sidebar":"mainSidebar"},"users/commands/expand-external-cell":{"id":"users/commands/expand-external-cell","title":"expand-external-cell","description":"These are the flags/commands under buck2 expand-external-cell and their --help output:","sidebar":"mainSidebar"},"users/commands/help-env":{"id":"users/commands/help-env","title":"help-env","description":"These are the flags/commands under buck2 help-env and their --help output:","sidebar":"mainSidebar"},"users/commands/init":{"id":"users/commands/init","title":"init","description":"These are the flags/commands under buck2 init and their --help output:","sidebar":"mainSidebar"},"users/commands/install":{"id":"users/commands/install","title":"install","description":"These are the flags/commands under buck2 install and their --help output:","sidebar":"mainSidebar"},"users/commands/kill":{"id":"users/commands/kill","title":"kill","description":"These are the flags/commands under buck2 kill and their --help output:","sidebar":"mainSidebar"},"users/commands/killall":{"id":"users/commands/killall","title":"killall","description":"These are the flags/commands under buck2 killall and their --help output:","sidebar":"mainSidebar"},"users/commands/log":{"id":"users/commands/log","title":"log","description":"These are the flags/commands under buck2 log and their --help output:","sidebar":"mainSidebar"},"users/commands/lsp":{"id":"users/commands/lsp","title":"lsp","description":"These are the flags/commands under buck2 lsp and their --help output:","sidebar":"mainSidebar"},"users/commands/profile":{"id":"users/commands/profile","title":"profile","description":"These are the flags/commands under buck2 profile and their --help output:","sidebar":"mainSidebar"},"users/commands/query":{"id":"users/commands/query","title":"query","description":"These are the flags/commands under buck2 query and their --help output:","sidebar":"mainSidebar"},"users/commands/root":{"id":"users/commands/root","title":"root","description":"These are the flags/commands under buck2 root and their --help output:","sidebar":"mainSidebar"},"users/commands/run":{"id":"users/commands/run","title":"run","description":"These are the flags/commands under buck2 run and their --help output:","sidebar":"mainSidebar"},"users/commands/server":{"id":"users/commands/server","title":"server","description":"These are the flags/commands under buck2 server and their --help output:","sidebar":"mainSidebar"},"users/commands/starlark":{"id":"users/commands/starlark","title":"starlark","description":"These are the flags/commands under buck2 starlark and their --help output:","sidebar":"mainSidebar"},"users/commands/status":{"id":"users/commands/status","title":"status","description":"These are the flags/commands under buck2 status and their --help output:","sidebar":"mainSidebar"},"users/commands/subscribe":{"id":"users/commands/subscribe","title":"subscribe","description":"These are the flags/commands under buck2 subscribe and their --help output:","sidebar":"mainSidebar"},"users/commands/targets":{"id":"users/commands/targets","title":"targets","description":"These are the flags/commands under buck2 targets and their --help output:","sidebar":"mainSidebar"},"users/commands/test":{"id":"users/commands/test","title":"test","description":"These are the flags/commands under buck2 test and their --help output:","sidebar":"mainSidebar"},"users/commands/uquery":{"id":"users/commands/uquery","title":"uquery","description":"These are the flags/commands under buck2 uquery and their --help output:","sidebar":"mainSidebar"},"users/commands/utargets":{"id":"users/commands/utargets","title":"utargets","description":"These are the flags/commands under buck2 utargets and their --help output:","sidebar":"mainSidebar"},"users/faq/buck_hanging":{"id":"users/faq/buck_hanging","title":"Why is Buck2 hanging?","description":"Let\'s look at how to troubleshoot when buck2 hangs, i.e. it just sits there","sidebar":"mainSidebar"},"users/faq/common_issues":{"id":"users/faq/common_issues","title":"Common Issues","description":"Why is stdin being swallowed?","sidebar":"mainSidebar"},"users/faq/starlark_peak_mem":{"id":"users/faq/starlark_peak_mem","title":"Debugging Excess Starlark Peak Memory","description":"Wut memory?","sidebar":"mainSidebar"},"users/query/aquery":{"id":"users/query/aquery","title":"Aquery Environment","description":"Query Value Types","sidebar":"mainSidebar"},"users/query/cquery":{"id":"users/query/cquery","title":"Cquery Environment","description":"Query Value Types","sidebar":"mainSidebar"},"users/query/uquery":{"id":"users/query/uquery","title":"Uquery Environment","description":"Query Value Types","sidebar":"mainSidebar"},"users/remote_execution":{"id":"users/remote_execution","title":"Remote Execution","description":"Buck2 can use services that expose","sidebar":"mainSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/94a2f733.50525c20.js b/assets/js/94a2f733.50525c20.js new file mode 100644 index 0000000000000..5e83eef31630e --- /dev/null +++ b/assets/js/94a2f733.50525c20.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3040],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>l,MDXProvider:()=>d,mdx:()=>_,useMDXComponents:()=>c,withMDXComponents:()=>s});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i.apply(this,arguments)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){return function(t){var r=c(t.components);return n.createElement(e,i({},t,{components:r}))}},c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},d=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},f="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),s=c(r),d=a,f=s["".concat(o,".").concat(d)]||s[d]||h[d]||i;return r?n.createElement(f,p(p({ref:t},l),{},{components:r})):n.createElement(f,p({ref:t},l))}));function _(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var p={};for(var u in t)hasOwnProperty.call(t,u)&&(p[u]=t[u]);p.originalType=e,p[f]="string"==typeof e?e:a,o[1]=p;for(var l=2;l<i;l++)o[l]=r[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},58608:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>c,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const i={id:"ensured_artifact_group"},o="ensured_artifact_group type",p={unversionedId:"api/bxl/ensured_artifact_group",id:"api/bxl/ensured_artifact_group",title:"ensured_artifact_group type",description:"An artifact group that will be materialized to buck-out at the end of the bxl invocation. These artifacts can be printed to bxl's results. Doing so will print the path of each artifact in the group rather than the standard representation.",source:"@site/../docs/api/bxl/ensured_artifact_group.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/ensured_artifact_group",permalink:"/docs/api/bxl/ensured_artifact_group",draft:!1,tags:[],version:"current",frontMatter:{id:"ensured_artifact_group"},sidebar:"apiSidebar",previous:{title:"digest_config type",permalink:"/docs/api/bxl/digest_config"},next:{title:"file_set type",permalink:"/docs/api/bxl/file_set"}},u={},l=[{value:"ensured_artifact_group.abs_path",id:"ensured_artifact_groupabs_path",level:2},{value:"ensured_artifact_group.rel_path",id:"ensured_artifact_grouprel_path",level:2}],s={toc:l};function c(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"ensured_artifact_group-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"ensured_artifact_group")," type"),(0,a.mdx)("p",null,"An artifact group that will be materialized to buck-out at the end of the bxl invocation. These artifacts can be printed to bxl's results. Doing so will print the path of each artifact in the group rather than the standard representation."),(0,a.mdx)("p",null,"Ensured artifact groups are serializable and hashable."),(0,a.mdx)("h2",{id:"ensured_artifact_groupabs_path"},"ensured","_","artifact","_","group.abs","_","path"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def ensured_artifact_group.abs_path()\n")),(0,a.mdx)("p",null,"Converts each artifact in this artifact group to be printed by its absolute path. Note that this will only print out the absolute path via ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.output.print()"),". Starlark's ",(0,a.mdx)("inlineCode",{parentName:"p"},"print()")," will print out the display info for an ensured artifact group."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_abs_path(ctx):\n # some target with RunInfo outputs\n result = ctx.analysis("root//bin/kind:target_with_outputs")\n ensured = ctx.output.ensure_multiple(result.providers()[RunInfo]) # currently defaults to creating an EnsuredArtifactGroup with a relative path\n\n ensured_with_abs_path = ensured.abs_path() # create a new EnsuredArtifactGroup with absolute path to reuse\n print(ensured_with_abs_path) # should return something like <ensured group ... >\n ctx.output.print(ensured_with_abs_path) # should return the absolute path of the artifact\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"ensured_artifact_grouprel_path"},"ensured","_","artifact","_","group.rel","_","path"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def ensured_artifact_group.rel_path()\n")),(0,a.mdx)("p",null,"Converts each artifact in this artifact group to be printed by its path relative to the project root. Note that this will only print out the relative path via ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.output.print()"),". Starlark's ",(0,a.mdx)("inlineCode",{parentName:"p"},"print()")," will print out the display info for an ensured artifact group."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_rel_path(ctx):\n # some target with RunInfo outputs\n result = ctx.analysis("root//bin/kind:target_with_outputs")\n ensured = ctx.output.ensure_multiple(result.providers()[RunInfo]) # currently defaults to creating an EnsuredArtifactGroup with a relative path\n\n ensured_with_rel_path = ensured.rel_path() # create a new EnsuredArtifact with relative path to reuse\n print(ensured_with_rel_path) # should return something like <ensured group ... >\n ctx.output.print(ensured_with_rel_path) # should return the relative path of the artifact\n')))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/955ef9b4.91074729.js b/assets/js/955ef9b4.91074729.js new file mode 100644 index 0000000000000..208e0faa90a02 --- /dev/null +++ b/assets/js/955ef9b4.91074729.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5141],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>p,MDXProvider:()=>m,mdx:()=>f,useMDXComponents:()=>d,withMDXComponents:()=>c});var i=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},a.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=i.createContext({}),c=function(e){return function(t){var n=d(t.components);return i.createElement(e,a({},t,{components:n}))}},d=function(e){var t=i.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},m=function(e){var t=d(e.components);return i.createElement(p.Provider,{value:t},e.children)},u="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},y=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),c=d(n),m=r,u=c["".concat(o,".").concat(m)]||c[m]||b[m]||a;return n?i.createElement(u,l(l({ref:t},p),{},{components:n})):i.createElement(u,l({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=y;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[u]="string"==typeof e?e:r,o[1]=l;for(var p=2;p<a;p++)o[p]=n[p];return i.createElement.apply(null,o)}return i.createElement.apply(null,n)}y.displayName="MDXCreateElement"},37779:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var i=n(87462),r=(n(67294),n(3905));const a={id:"visibility",title:"Visibility"},o=void 0,l={unversionedId:"concepts/visibility",id:"concepts/visibility",title:"Visibility",description:"Visibility determines whether a target can reference",source:"@site/../docs/concepts/visibility.md",sourceDirName:"concepts",slug:"/concepts/visibility",permalink:"/docs/concepts/visibility",draft:!1,tags:[],version:"current",frontMatter:{id:"visibility",title:"Visibility"},sidebar:"mainSidebar",previous:{title:"buck-out",permalink:"/docs/concepts/buck_out"},next:{title:"Daemon (buckd)",permalink:"/docs/concepts/daemon"}},s={},p=[{value:"Examples",id:"examples",level:2}],c={toc:p};function d(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,i.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"Visibility determines whether a ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#target"},"target")," can reference\nanother target in its ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#attribute"},"attributes"),". In a large project,\nyou may want to prevent developers from 'reaching across' the project and\npulling in additional code. Reducing the visibility of targets can help prevent\nthat type of behavior."),(0,r.mdx)("p",null,"There are two types of visibility attributes available (each of which takes a\nlist of ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#target-pattern"},"target patterns"),"):"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"visibility")," - determines which other targets can depend on a target."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"within_view")," - determines which other targets a target can depend on.")),(0,r.mdx)("p",null,"Both attributes act as allowlists, with some exceptions. In general, if a target\nis not listed, there may be no dependency relationship. If the ",(0,r.mdx)("inlineCode",{parentName:"p"},"within_view"),"\nlist is empty or unset, however, its check is bypassed. Similarly, targets\ndefined in the same ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#buck-file"},"BUCK file")," always act as if they\nwere members of their siblings' ",(0,r.mdx)("inlineCode",{parentName:"p"},"visibility")," lists."),(0,r.mdx)("p",null,"There is also a special value for ",(0,r.mdx)("inlineCode",{parentName:"p"},"visibility")," attribute: ",(0,r.mdx)("inlineCode",{parentName:"p"},"'PUBLIC'"),", which\nmakes a build rule visible to all targets."),(0,r.mdx)("p",null,"In case of logically-conflicting lists, ",(0,r.mdx)("inlineCode",{parentName:"p"},"within_view")," takes precedence over\n",(0,r.mdx)("inlineCode",{parentName:"p"},"visibility"),". If ",(0,r.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," defines ",(0,r.mdx)("inlineCode",{parentName:"p"},"//hello:world")," in its ",(0,r.mdx)("inlineCode",{parentName:"p"},"visibility")," list,\nbut ",(0,r.mdx)("inlineCode",{parentName:"p"},"//hello:world")," does not define ",(0,r.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," in its ",(0,r.mdx)("inlineCode",{parentName:"p"},"within_view")," list, then\n",(0,r.mdx)("inlineCode",{parentName:"p"},"//hello:world")," may not depend on ",(0,r.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),"."),(0,r.mdx)("h2",{id:"examples"},"Examples"),(0,r.mdx)("p",null,"A common library like Guava should be able to be included by any build rule:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-java"},"prebuilt_jar(\n name = 'guava',\n binary_jar = 'guava-14.0.1.jar',\n visibility = ['PUBLIC']\n)\n")),(0,r.mdx)("p",null,"It is common to restrict the visibility of Android resources to the Java code\nthat uses it:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-java"},"android_resource(\n name = 'ui_res',\n res = 'res',\n package = 'com.example',\n visibility = ['//java/com/example/ui:ui']\n)\n")),(0,r.mdx)("p",null,"Or it may be simpler to make it visible to the entire directory in case\nadditional build rules are added to ",(0,r.mdx)("inlineCode",{parentName:"p"},"java/com/example/ui/BUCK"),":"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-java"},"android_resource(\n name = 'ui_res',\n res = 'res',\n package = 'com.example',\n visibility = ['//java/com/example/ui:']\n)\n")),(0,r.mdx)("p",null,"Also, it is common to limit code for testing to be visible only to tests. If you\ndefine all of your Java unit tests in a folder named ",(0,r.mdx)("inlineCode",{parentName:"p"},"javatests/")," in the root of\nyour project, then you could define the following rule to ensure that only build\nrules under ",(0,r.mdx)("inlineCode",{parentName:"p"},"javatests/")," can depend on JUnit:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-java"},"prebuilt_jar(\n name = 'junit',\n binary_jar = 'junit-4.11.jar',\n visibility = ['//javatests/...']\n)\n")),(0,r.mdx)("p",null,"Finally, restricting the view of a target can be useful for preventing\ndependency creep:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-java"},"java_library(\n name = 'example',\n visibility = ['PUBLIC',],\n within_view = ['//foo:bar','//hello:world']\n)\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/97439213.df39ba86.js b/assets/js/97439213.df39ba86.js new file mode 100644 index 0000000000000..5e981a02c3ea2 --- /dev/null +++ b/assets/js/97439213.df39ba86.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7538],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>s,MDXProvider:()=>c,mdx:()=>y,useMDXComponents:()=>m,withMDXComponents:()=>d});var o=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},a.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function u(e,n){if(null==e)return{};var t,o,r=function(e,n){if(null==e)return{};var t,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=o.createContext({}),d=function(e){return function(n){var t=m(n.components);return o.createElement(e,a({},n,{components:t}))}},m=function(e){var n=o.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},c=function(e){var n=m(e.components);return o.createElement(s.Provider,{value:n},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},f=o.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),d=m(t),c=r,p=d["".concat(i,".").concat(c)]||d[c]||h[c]||a;return t?o.createElement(p,l(l({ref:n},s),{},{components:t})):o.createElement(p,l({ref:n},s))}));function y(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,i=new Array(a);i[0]=f;var l={};for(var u in n)hasOwnProperty.call(n,u)&&(l[u]=n[u]);l.originalType=e,l[p]="string"==typeof e?e:r,i[1]=l;for(var s=2;s<a;s++)i[s]=t[s];return o.createElement.apply(null,i)}return o.createElement.apply(null,t)}f.displayName="MDXCreateElement"},13217:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var o=t(87462),r=(t(67294),t(3905));const a={id:"common_issues",title:"Common Issues"},i=void 0,l={unversionedId:"users/faq/common_issues",id:"users/faq/common_issues",title:"Common Issues",description:"Why is stdin being swallowed?",source:"@site/../docs/users/faq/common_issues.md",sourceDirName:"users/faq",slug:"/users/faq/common_issues",permalink:"/docs/users/faq/common_issues",draft:!1,tags:[],version:"current",frontMatter:{id:"common_issues",title:"Common Issues"},sidebar:"mainSidebar",previous:{title:"Cheat Sheet",permalink:"/docs/users/cheat_sheet"},next:{title:"Debugging Excess Starlark Peak Memory",permalink:"/docs/users/faq/starlark_peak_mem"}},u={},s=[{value:"Why is stdin being swallowed?",id:"why-is-stdin-being-swallowed",level:2},{value:"Where is my output file?",id:"where-is-my-output-file",level:2},{value:"Why is Buck2 hanging?",id:"why-is-buck2-hanging",level:2},{value:"How do I get the commands Buck2 executed so I can reproduce them in isolation?",id:"how-do-i-get-the-commands-buck2-executed-so-i-can-reproduce-them-in-isolation",level:2},{value:"Are multiple concurrent commands supported?",id:"are-multiple-concurrent-commands-supported",level:2},{value:"Why did my build OOM?",id:"why-did-my-build-oom",level:2},{value:"Why does my target not have any outputs?",id:"why-does-my-target-not-have-any-outputs",level:2}],d=(m="FbInternalOnly",function(e){return console.warn("Component "+m+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.mdx)("div",e)});var m;const c={toc:s};function p(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,o.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("h2",{id:"why-is-stdin-being-swallowed"},"Why is stdin being swallowed?"),(0,r.mdx)("p",null,"Buck2 offers an interactive console by default."),(0,r.mdx)("p",null,"To disable either use an env var: ",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK_NO_INTERACTIVE_CONSOLE")," or a flag:\n",(0,r.mdx)("inlineCode",{parentName:"p"},"--no-interactive-console")),(0,r.mdx)("h2",{id:"where-is-my-output-file"},"Where is my output file?"),(0,r.mdx)("p",null,"To find the location of output for a target, use\n",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build //foo:bar --show-output"),". This will print the output corresponding\nto each built target, in this case ",(0,r.mdx)("inlineCode",{parentName:"p"},"//foo:bar output_path"),"."),(0,r.mdx)("p",null,"To only get the output path (without the target beforehand) you want to use\n",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build //foo:bar --show-simple-output"),"."),(0,r.mdx)("p",null,"The resultant path is relative to the root of the repo (such as\n",(0,r.mdx)("inlineCode",{parentName:"p"},"~/repo_root/..."),"). For the full path use ",(0,r.mdx)("inlineCode",{parentName:"p"},"--show-full-output")," or\n",(0,r.mdx)("inlineCode",{parentName:"p"},"--show-full-simple-output"),"."),(0,r.mdx)("p",null,"Note: in Buck1, the path is relative to the enclosing cell (such as\n",(0,r.mdx)("inlineCode",{parentName:"p"},"~/repo_root/cell/..."),")."),(0,r.mdx)(d,{mdxType:"FbInternalOnly"},"For Meta, repo_root = fbsource, cell = fbcode/fbobjc/..."),(0,r.mdx)("h2",{id:"why-is-buck2-hanging"},"Why is Buck2 hanging?"),(0,r.mdx)("p",null,"If Buck2 seems to be doing nothing, it could be caused be a cycle in your\ndependencies, which may cause Buck2 to hang (Buck2 does implement a form of\ncycle detection, but it unfortunately has false negatives). You can confirm this\nby running Buck1, which will report cycles properly."),(0,r.mdx)("h2",{id:"how-do-i-get-the-commands-buck2-executed-so-i-can-reproduce-them-in-isolation"},"How do I get the commands Buck2 executed so I can reproduce them in isolation?"),(0,r.mdx)("p",null,"For information, see\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/developers/what-ran"},"Finding Commands that Buck2 Ran"),"."),(0,r.mdx)("h2",{id:"are-multiple-concurrent-commands-supported"},"Are multiple concurrent commands supported?"),(0,r.mdx)("p",null,"Yes, they are supported. There are 2 types of concurrent commands: 1) parallel\ninvocations, and 2) recursive invocations."),(0,r.mdx)("p",null,(0,r.mdx)("strong",{parentName:"p"},"Parallel invocations:")),(0,r.mdx)("p",null,'If the state of all the commands are the same, then they will run at the same\ntime. "State" is referring to the same configs and source files. If the state is\ndifferent amongst the commands, then buck2 will block the commands properly such\nthat the states do not interfere with each other. Different states are caused by\nsource file changes or config changes (ex: using a different mode).'),(0,r.mdx)("p",null,(0,r.mdx)("strong",{parentName:"p"},"Recursive invocations:")),(0,r.mdx)("p",null,"A recursive invocation is when an outer buck2 command ends up calling another\nbuck2 command as it's running. Recursive invocations are most commonly seen with\ngenrules and tests. For example:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"If you have a ",(0,r.mdx)("inlineCode",{parentName:"li"},"genrule")," where the command contains a ",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 cquery"),", and you\nbuild the genrule with ",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 build"),", you have a recursive invocation where\nthe outer command is ",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 build")," and the inner command is ",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 cquery")),(0,r.mdx)("li",{parentName:"ul"},"If you have a test which contains ",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 build"),", and you run your test with\n",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 test"),", you have a recursive invocation where the outer command is\n",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 test")," and the inner command is ",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 build"))),(0,r.mdx)("p",null,"Recursive invocations should specify an ",(0,r.mdx)("inlineCode",{parentName:"p"},"--isolation-dir"),", or else buck2 will\nreturn an error."),(0,r.mdx)("h2",{id:"why-did-my-build-oom"},"Why did my build OOM?"),(0,r.mdx)("p",null,"If your build OOMs, you can check the last actions running by using\n",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 log whatup"),". This will print the superconsole state at the moment the\nevent log ended, which will indicate what actions were being run (and consuming\nmemory) when your machine ran out of memory."),(0,r.mdx)("p",null,"You can also use the ",(0,r.mdx)("inlineCode",{parentName:"p"},"--after <millis>")," option to see all open spans at a\ncertain point in time of the build."),(0,r.mdx)("h2",{id:"why-does-my-target-not-have-any-outputs"},"Why does my target not have any outputs?"),(0,r.mdx)("p",null,"If you see that your build succeeded, but the console message stated that your\ntarget did not have any outputs, this means that the underlying rule did not\ndeclare any outputs artifacts, defined as outputs declared in:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"default_outputs")," and/or ",(0,r.mdx)("inlineCode",{parentName:"li"},"other_outputs")," in ",(0,r.mdx)("inlineCode",{parentName:"li"},"DefaultInfo")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"cmd_args")," in ",(0,r.mdx)("inlineCode",{parentName:"li"},"RunInfo")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"cmd_args")," inside the ",(0,r.mdx)("inlineCode",{parentName:"li"},"command")," in ",(0,r.mdx)("inlineCode",{parentName:"li"},"ExternalRunnerTestInfo"))),(0,r.mdx)("p",null,"For example, building a target which uses a ",(0,r.mdx)("inlineCode",{parentName:"p"},"python_library")," rule merely groups\nsource files together and does not generate any output artifacts such as a\npython executable. You would need to build a ",(0,r.mdx)("inlineCode",{parentName:"p"},"python_binary")," which uses that\nlibrary in order to get an output."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9d896ab8.ba399244.js b/assets/js/9d896ab8.ba399244.js new file mode 100644 index 0000000000000..cdec461e4e4a4 --- /dev/null +++ b/assets/js/9d896ab8.ba399244.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9685],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>m,MDXProvider:()=>u,mdx:()=>x,useMDXComponents:()=>d,withMDXComponents:()=>p});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},o.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var m=a.createContext({}),p=function(e){return function(n){var t=d(n.components);return a.createElement(e,o({},n,{components:t}))}},d=function(e){var n=a.useContext(m),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},u=function(e){var n=d(e.components);return a.createElement(m.Provider,{value:n},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},f=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),p=d(t),u=r,c=p["".concat(i,".").concat(u)]||p[u]||h[u]||o;return t?a.createElement(c,l(l({ref:n},m),{},{components:t})):a.createElement(c,l({ref:n},m))}));function x(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=f;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[c]="string"==typeof e?e:r,i[1]=l;for(var m=2;m<o;m++)i[m]=t[m];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}f.displayName="MDXCreateElement"},18860:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>m});var a=t(87462),r=(t(67294),t(3905));const o={id:"anon_targets",title:"Anonymous Targets"},i=void 0,l={unversionedId:"rule_authors/anon_targets",id:"rule_authors/anon_targets",title:"Anonymous Targets",description:"An anonymous target is defined by the hash of its attributes, rather than its",source:"@site/../docs/rule_authors/anon_targets.md",sourceDirName:"rule_authors",slug:"/rule_authors/anon_targets",permalink:"/docs/rule_authors/anon_targets",draft:!1,tags:[],version:"current",frontMatter:{id:"anon_targets",title:"Anonymous Targets"},sidebar:"mainSidebar",previous:{title:"Dynamic Dependencies",permalink:"/docs/rule_authors/dynamic_dependencies"},next:{title:"Test Execution",permalink:"/docs/rule_authors/test_execution"}},s={},m=[{value:"Anon rule",id:"anon-rule",level:2},{value:"Anon target",id:"anon-target",level:2},{value:"<code>AnonTarget</code> and <code>AnonTargets</code>",id:"anontarget-and-anontargets",level:3},{value:"Attribute resolution",id:"attribute-resolution",level:2},{value:"<code>name</code> attribute example",id:"name-attribute-example",level:3},{value:"Simple Example",id:"simple-example",level:2},{value:"Longer example",id:"longer-example",level:2},{value:"Convert promise to artifact",id:"convert-promise-to-artifact",level:2}],p={toc:m};function d(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"An anonymous target is defined by the hash of its attributes, rather than its\nname. During analysis, rules can define and access the providers of anonymous\ntargets before producing their own providers. Two distinct rules might ask for\nthe same anonymous target, sharing the work it performs."),(0,r.mdx)("p",null,"This solves two distinct problems:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"The sharing problem")," - if you have two processes that want to share some\nwork, you can create an anon target that does that work once, which is then\nreused by the two processes. Without such a mechanism, all sharing must be\npresent in the target graph: you can't create any new sharing."),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"The overlay problem")," - this is the idea that you want to have a\nshadow-graph, similar in structure to the normal graph, but with additional\ninformation attached. Bazel accomplishes this with\n",(0,r.mdx)("a",{parentName:"li",href:"https://bazel.build/extending/aspects"},"Aspects"),". With Anonymous (anon)\ntargets, you can create a shadow-graph by convention, just by using the target\nname you wish to shadow as the attribute.")),(0,r.mdx)("p",null,"Dynamic dependencies, in their full generality, enable users to do a thing, look\nat the result, then ask for fresh things. However, this full generality is not\nprovided as it breaks processes, like query, that power the Target Determinator."),(0,r.mdx)("p",null,"In Buck2, dynamic dependencies are implemented using ",(0,r.mdx)("inlineCode",{parentName:"p"},"dynamic_output"),", which\nprovides users with the ability to create new actions, after running actions,\nthen look at the result. ",(0,r.mdx)("inlineCode",{parentName:"p"},"dynamic_output")," is restricted in its power when\ncompared to fully generic dynamic dependencies, as detailed in the\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/rule_authors/dynamic_dependencies"},"Dynamic Dependencies")," page."),(0,r.mdx)("p",null,"Anon targets enable users to create a new analysis (that is, call an anon target\nthat may not have existed before) after looking at the result of a previous\nanalysis (which is passed in, or after looking at an anon target). In many ways,\nanon target is the version of ",(0,r.mdx)("inlineCode",{parentName:"p"},"dynamic_output")," at analysis time, rather than\naction time."),(0,r.mdx)("p",null,"The execution platform for an anon target is that of the inherited from the\ncalling target, which is part of the hash. If that is too restrictive, you could\nuse execution groups, where an anon target gets told which execution group to\nuse."),(0,r.mdx)("h1",{id:"creating-anon-targets"},"Creating anon targets"),(0,r.mdx)("h2",{id:"anon-rule"},"Anon rule"),(0,r.mdx)("p",null,"An anonymous rule is defined using ",(0,r.mdx)("inlineCode",{parentName:"p"},"rule")," or ",(0,r.mdx)("inlineCode",{parentName:"p"},"anon_rule"),"."),(0,r.mdx)("p",null,"Example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"my_anon_rule = rule(\n impl = _anon_impl,\n attrs = {},\n)\n\n# Or:\n\nmy_anon_rule = anon_rule(\n impl = _anon_impl,\n attrs = {},\n artifact_promise_mappings = {} # only available for anon_rule\n)\n")),(0,r.mdx)("p",null,"For ",(0,r.mdx)("inlineCode",{parentName:"p"},"rule"),", these are normal rules, with the difference that they are not in a\nconfiguration, so ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions.label")," won't show configuration information, but\njust ",(0,r.mdx)("inlineCode",{parentName:"p"},"unspecified"),"."),(0,r.mdx)("p",null,"For ",(0,r.mdx)("inlineCode",{parentName:"p"},"anon_rule"),", the configuration restrictions also apply, and there is an\n",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact_promise_mappings")," field which you can specify a dict of artifact\npromise names to the map function, which would be applied to the anon target's\npromise during rule resolution."),(0,r.mdx)("h2",{id:"anon-target"},"Anon target"),(0,r.mdx)("p",null,"An anonymous rule is used via ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions.anon_target")," or\n",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions.anon_targets"),", passing in the rule and the attributes for the rule."),(0,r.mdx)("p",null,"The return values of those functions are a ",(0,r.mdx)("inlineCode",{parentName:"p"},"AnonTarget")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"AnonTargets")," type,\nrespectively."),(0,r.mdx)("p",null,"Example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"my_anon_rule1 = anon_rule(\n impl = _anon_impl,\n attrs = {},\n artifact_promise_mappings = {}\n)\n\nmy_anon_rule2 = anon_rule(\n impl = _anon_impl,\n attrs = {},\n artifact_promise_mappings = {}\n)\n\n# <elsewhere>\nanon_target = ctx.actions.anon_target(my_anon_rule1, {})\n\nanon_targets = ctx.actions.anon_targets([(my_anon_rule1, {}), (my_anon_rule2, {})])\n")),(0,r.mdx)("h3",{id:"anontarget-and-anontargets"},(0,r.mdx)("inlineCode",{parentName:"h3"},"AnonTarget")," and ",(0,r.mdx)("inlineCode",{parentName:"h3"},"AnonTargets")),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"AnonTarget")," has a ",(0,r.mdx)("inlineCode",{parentName:"p"},"promise")," attribute, and ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact()")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifacts()"),"\nfunctions. ",(0,r.mdx)("inlineCode",{parentName:"p"},"AnonTargets")," has a ",(0,r.mdx)("inlineCode",{parentName:"p"},"promise")," attribute and ",(0,r.mdx)("inlineCode",{parentName:"p"},"anon_targets")," attribute."),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"promise")," attribute for both types returns the anon target's promise (type\nis ",(0,r.mdx)("inlineCode",{parentName:"p"},"promise"),"), which when evaluated returns the providers of the anonymous\ntarget. The ",(0,r.mdx)("inlineCode",{parentName:"p"},"promise")," type has a few special behaviors."),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"It has a ",(0,r.mdx)("inlineCode",{parentName:"li"},"map")," function, which takes a function and applies it to the future,\nreturning a new future"),(0,r.mdx)("li",{parentName:"ul"},"All promises will eventually resolve to a list of providers")),(0,r.mdx)("p",null,"For ",(0,r.mdx)("inlineCode",{parentName:"p"},"AnonTarget"),", the ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact()")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifacts()")," functions only return\nsomething if using ",(0,r.mdx)("inlineCode",{parentName:"p"},"anon_rule"),". ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact()")," takes in an artifact name, which\nshould be found in the ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact_promise_mappings")," dict, and returns the\nartifact promise. ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifacts()")," returns the dict of all promise artifact names\nto the artifact promise itself, as defined in ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact_promise_mappings"),". See\n",(0,r.mdx)("a",{parentName:"p",href:"#convert-promise-to-artifact"},"Convert promise to artifact")," below for more\ninformation about artifact promises."),(0,r.mdx)("p",null,"Example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'HelloInfo = provider(fields = ["output"])\n\nmy_anon_rule = anon_rule(\n impl = _anon_impl,\n attrs = {},\n artifact_promise_mappings = {\n "hello": lambda x: x[HelloInfo].output,\n }\n)\n\n# <elsewhere>\nanon_target = ctx.actions.anon_target(my_anon_rule, {})\nartifact = anon_target.artifact("hello")\nartifact_from_dict = anon_target.artifacts()["hello"]\n')),(0,r.mdx)("p",null,"For ",(0,r.mdx)("inlineCode",{parentName:"p"},"AnonTargets"),", the ",(0,r.mdx)("inlineCode",{parentName:"p"},"anon_targets")," attribute returns a list of the underlying\n",(0,r.mdx)("inlineCode",{parentName:"p"},"AnonTarget"),"s."),(0,r.mdx)("p",null,"Example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'HelloInfo = provider(fields = ["output"])\nGoodbyeInfo = provider(fields = ["output"])\n\nmy_anon_rule1 = anon_rule(\n impl = _anon_impl,\n attrs = {},\n artifact_promise_mappings = {\n "hello": lambda x: x[HelloInfo].output,\n }\n)\n\nmy_anon_rule2 = anon_rule(\n impl = _anon_impl,\n attrs = {},\n artifact_promise_mappings = {\n "goodbye": lambda x: x[GoodbyeInfo].output,\n }\n)\n\n# <elsewhere>\nall_targets = ctx.actions.anon_targets([(my_anon_rule1, {}), (my_anon_rule2, {})])\nhello = all_targets.anon_targets[0].artifact("hello")\ngoodbye = all_targets.anon_targets[1].artifact("goodbye")\n')),(0,r.mdx)("h1",{id:"attributes"},"Attributes"),(0,r.mdx)("p",null,"Anon targets only support a subset of attributes that normal rules support."),(0,r.mdx)("p",null,"Supported attributes:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"bool")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"int")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"str")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"enum")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"dep"),(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"deps")," attributes do not take strings, but dependencies, already in a\nconfiguration"),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"exec_deps")," are available if the passed in ",(0,r.mdx)("inlineCode",{parentName:"li"},"dep"),"'s execution platform\nmatches"),(0,r.mdx)("li",{parentName:"ul"},"Default ",(0,r.mdx)("inlineCode",{parentName:"li"},"attr.deps")," (as used for toolchains) are not permitted, as the\ndefault can't express a dependency. They must be passed forward from the\ncaller. that of the anon target's caller"))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"source"),(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},"Accepts bound artifacts or promise artifacts"))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"arg"),(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},"Can only be used if ",(0,r.mdx)("inlineCode",{parentName:"li"},"anon_target_compatible")," is ",(0,r.mdx)("inlineCode",{parentName:"li"},"True")," when declaring\n",(0,r.mdx)("inlineCode",{parentName:"li"},"attrs.arg")," (ex: ",(0,r.mdx)("inlineCode",{parentName:"li"},"attrs.arg(anon_target_compatible = True)"),")"))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"label")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"list")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"tuple")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"dict")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"one_of")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("inlineCode",{parentName:"li"},"option"))),(0,r.mdx)("p",null,"You can use these attributes like you would in normal rules:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'my_anon_rule = anon_rule(\n impl = _my_anon_impl,\n attrs = {\n "my_int": attrs.int(),\n "my_string_with_default": attrs.string(default = "foo"),\n "my_optional_source": attrs.option(attrs.source()),\n "my_list_of_labels": attrs.list(attrs.label()),\n },\n artifact_promise_mappings = {}\n)\n\ndef _my_anon_impl(ctx: AnalysisContext) -> list[Provider]:\n my_int = ctx.attrs.my_int\n my_string_with_default = ctx.attrs.my_string_with_default\n my_optional_source = ctx.attrs.my_optional_source\n my_list_of_labels = ctx.attrs.my_list_of_labels\n\n # do something with the attributes...\n\n return [DefaultInfo()]\n')),(0,r.mdx)("h2",{id:"attribute-resolution"},"Attribute resolution"),(0,r.mdx)("p",null,"Attribute resolution is handled differently from normal code:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Transitions and more complex forms of attributes are banned."),(0,r.mdx)("li",{parentName:"ul"},"The ",(0,r.mdx)("inlineCode",{parentName:"li"},"name")," attribute is a reserved attribute. It is an implicit attribute when\ndefining a rule for an anon target, but can be optionally set when creating an\nanon target. If present, it must be a syntactically valid target, but could\nrefer to a cell/package that does not exist. If not present, buck2 will\ngenerate a name for the target automatically.")),(0,r.mdx)("h3",{id:"name-attribute-example"},(0,r.mdx)("inlineCode",{parentName:"h3"},"name")," attribute example"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'# Rule definition for anon target\nmy_rule = rule(\n impl = _my_impl,\n attrs = {\n # `name` is already implicitly defined as an attribute, and will error\n # out if you try to define it again during rule declaration\n },\n)\n\n# Anon target instantiation, elsewhere\n ctx.actions.anon_target(\n my_rule,\n {\n # you can optionally pass `name` into the attributes even though it\'s\n # not explicitly defined in the `attrs` field for `my_rule`\n "name": "foo//bar:baz"\n },\n)\n')),(0,r.mdx)("p",null,"To access the ",(0,r.mdx)("inlineCode",{parentName:"p"},"name")," attribute from an analysis context, you can use\n",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.label.name"),"."),(0,r.mdx)("h1",{id:"examples"},"Examples"),(0,r.mdx)("h2",{id:"simple-example"},"Simple Example"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'# Define an anonymous rule\nUpperInfo = provider(fields = ["message"])\n\ndef _impl_upper(ctx):\n return [UpperInfo(message = ctx.attrs.message.upper()]\n\nupper = rule(\n attrs = {"message", attrs.string()},\n impl = _impl_upper\n)\n\n# Use an anonymous target\ndef impl(ctx):\n def k(providers):\n print(providers[UpperInfo].message)\n # These are the providers this target returns\n return [DefaultInfo()]\n return ctx.actions.anon_target(upper, {\n name: "my//:greeting",\n message: "Hello World",\n })\n .promise\n .map(k)\n')),(0,r.mdx)("h2",{id:"longer-example"},"Longer example"),(0,r.mdx)("p",null,"The following code represents a scenario for a compile-and-link language where,\nif two targets end up compiling the same file (for example, they are in the same\npackage and both list it, or it gets export_file'd), then that file is compiled\njust once:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'## BUCK ##############\n@load(":silly.bzl", "silly_binary")\n\nsilly_binary(\n name = "hello",\n srcs = ["hello.sil", "world.sil"],\n)\n\n## silly.bzl ############\n\n_SillyCompilation = provider(fields = ["compiled"])\n\ndef _silly_compilation_impl(ctx):\n out = ctx.actions.declare_output("output.o")\n ctx.actions.run(cmd_args(\n ctx.attrs.toolchain.compiler,\n ctx.attrs.src,\n "-o",\n out.as_output(),\n ))\n return [DefaultInfo(), _SillyCompilation(compiled = out)]\n\n_silly_compilation = rule(\n impl = _silly_compilation_impl,\n attrs = {\n "src": attrs.src(),\n "toolchain": attrs.dep(),\n },\n)\n\ndef _silly_binary_impl(ctx):\n def k(providers):\n # Step 2: now link them all together\n out = ctx.actions.declare_output("out.exe")\n objs = [p[_SillyCompilation].compiled for p in providers]\n ctx.actions.run(cmd_args(\n ctx.attrs._silly_toolchain.linker,\n objs,\n "-o",\n out.as_output(),\n ))\n return [\n DefaultInfo(default_output = out),\n RunInfo(args = out),\n ]\n\n # Step 1: compile all my individual files\n return ctx.actions.anon_targets(\n [(_silly_compilation, {\n "src": src,\n "toolchain": ctx.attrs._silly_toolchain\n }) for src in ctx.attrs.srcs]\n ).map(k)\n\nsilly_binary = rule(\n impl = _silly_binary_impl,\n attrs = {\n "srcs": attr.list(attr.src()),\n "_silly_toolchain": attr.dep(default = "toolchains//:silly"),\n },\n)\n')),(0,r.mdx)("h2",{id:"convert-promise-to-artifact"},"Convert promise to artifact"),(0,r.mdx)("p",null,"It can be challenging to pass around the promises from anon_target and structure\nfunctions to support that. If you only need an artifact (or multiple artifacts)\nfrom an anon_target, you can use ",(0,r.mdx)("inlineCode",{parentName:"p"},"artifact()")," function on the anon target to\nconvert a promise to an artifact. This artifact can be passed to most things\nthat expect artifacts, but until it is resolved (at the end of the current\nanalysis) it can't be inspected with artifact functions like ",(0,r.mdx)("inlineCode",{parentName:"p"},".extension"),", etc.\n",(0,r.mdx)("inlineCode",{parentName:"p"},".short_path")," is supported if ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions.assert_short_path()")," was called,\nwhich produces an artifact type. The promise must resolve to a build (not\nsource) artifact with no associated artifacts."),(0,r.mdx)("p",null,"Example:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'HelloInfo = provider(fields = ["hello", "world"])\n\ndef _anon_impl(ctx: AnalysisContext) -> ["provider"]:\n hello = ctx.actions.write("hello.out", "hello")\n world = ctx.actions.write("world.out", "world")\n return [DefaultInfo(), HelloInfo(hello = hello, world = world)]\n\n_anon = anon_rule(\n impl = _anon_impl,\n attrs = {},\n artifact_promise_mappings = {\n "hello": lambda x: x[HelloInfo].hello,\n "world": lambda x: x[HelloInfo].world,\n }\n)\n\ndef _use_impl(ctx: AnalysisContext) -> ["provider"]:\n anon = ctx.actions.anon_target(_anon, {})\n hello_artifact = anon.artifact("hello")\n world_artifact = anon.artifact("world")\n\n out = ctx.actions.declare_output("output")\n ctx.actions.run([\n ctx.attrs.some_tool,\n hello_artifact,\n world_artifact,\n out.as_output()\n ], category = "process")\n return [DefaultInfo(default_output = out)]\n\nuse_promise_artifact = rule(impl = _use_impl, attrs = {\n "some_tool": attr.exec_dep(),\n})\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9f75976f.f9a0aba2.js b/assets/js/9f75976f.f9a0aba2.js new file mode 100644 index 0000000000000..3889e9924c11a --- /dev/null +++ b/assets/js/9f75976f.f9a0aba2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8875],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>l,MDXProvider:()=>m,mdx:()=>y,useMDXComponents:()=>p,withMDXComponents:()=>u});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),u=function(e){return function(t){var n=p(t.components);return r.createElement(e,a({},t,{components:n}))}},p=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},m=function(e){var t=p(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=p(n),m=o,d=u["".concat(i,".").concat(m)]||u[m]||f[m]||a;return n?r.createElement(d,s(s({ref:t},l),{},{components:n})):r.createElement(d,s({ref:t},l))}));function y(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=b;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var l=2;l<a;l++)i[l]=n[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}b.displayName="MDXCreateElement"},48010:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>l});var r=n(87462),o=(n(67294),n(3905));const a={id:"root",title:"root"},i=void 0,s={unversionedId:"users/commands/root",id:"users/commands/root",title:"root",description:"These are the flags/commands under buck2 root and their --help output:",source:"@site/../docs/users/commands/root.generated.md",sourceDirName:"users/commands",slug:"/users/commands/root",permalink:"/docs/users/commands/root",draft:!1,tags:[],version:"current",frontMatter:{id:"root",title:"root"},sidebar:"mainSidebar",previous:{title:"query",permalink:"/docs/users/commands/query"},next:{title:"run",permalink:"/docs/users/commands/run"}},c={},l=[{value:"buck root",id:"buck-root",level:2}],u={toc:l};function p(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"These are the flags/commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 root")," and their ",(0,o.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,o.mdx)("h2",{id:"buck-root"},"buck root"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Find buck cell, project or package root\n\nUsage: buck2-release root [OPTIONS]\n\nOptions:\n -k, --kind <KIND>\n which root to print\n \n [default: cell]\n [possible values: package, cell, project, daemon]\n\n --dir <PATH>\n determine the root for a specific directory (if not provided, finds the root for the\n current directory)\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a2c5be65.daca4bc6.js b/assets/js/a2c5be65.daca4bc6.js new file mode 100644 index 0000000000000..baca3299ada80 --- /dev/null +++ b/assets/js/a2c5be65.daca4bc6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8535],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>d,MDXProvider:()=>p,mdx:()=>x,useMDXComponents:()=>m,withMDXComponents:()=>s});var i=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},o.apply(this,arguments)}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,i,a=function(e,n){if(null==e)return{};var t,i,a={},o=Object.keys(e);for(i=0;i<o.length;i++)t=o[i],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)t=o[i],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var d=i.createContext({}),s=function(e){return function(n){var t=m(n.components);return i.createElement(e,o({},n,{components:t}))}},m=function(e){var n=i.useContext(d),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=m(e.components);return i.createElement(d.Provider,{value:n},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},h=i.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,r=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),s=m(t),p=a,u=s["".concat(r,".").concat(p)]||s[p]||f[p]||o;return t?i.createElement(u,l(l({ref:n},d),{},{components:t})):i.createElement(u,l({ref:n},d))}));function x(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,r=new Array(o);r[0]=h;var l={};for(var c in n)hasOwnProperty.call(n,c)&&(l[c]=n[c]);l.originalType=e,l[u]="string"==typeof e?e:a,r[1]=l;for(var d=2;d<o;d++)r[d]=t[d];return i.createElement.apply(null,r)}return i.createElement.apply(null,t)}h.displayName="MDXCreateElement"},60203:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var i=t(87462),a=(t(67294),t(3905));const o={id:"buckconfig",title:".buckconfig"},r=void 0,l={unversionedId:"concepts/buckconfig",id:"concepts/buckconfig",title:".buckconfig",description:"The root of your project must contain a configuration",source:"@site/../docs/concepts/buckconfig.md",sourceDirName:"concepts",slug:"/concepts/buckconfig",permalink:"/docs/concepts/buckconfig",draft:!1,tags:[],version:"current",frontMatter:{id:"buckconfig",title:".buckconfig"},sidebar:"mainSidebar",previous:{title:"Daemon (buckd)",permalink:"/docs/concepts/daemon"},next:{title:"Configurations",permalink:"/docs/concepts/configurations"}},c={},d=[{value:"Performance impact of Buck2 configuration changes",id:"performance-impact-of-buck2-configuration-changes",level:2},{value:"The .buckconfig file uses the INI file format",id:"the-buckconfig-file-uses-the-ini-file-format",level:2},{value:"Other INI file parsers",id:"other-ini-file-parsers",level:3},{value:"Dot character not supported in section names",id:"dot-character-not-supported-in-section-names",level:3},{value:"Character encoding",id:"character-encoding",level:2},{value:"Key values as lists",id:"key-values-as-lists",level:2},{value:"Transclusion of values from one key to another",id:"transclusion-of-values-from-one-key-to-another",level:2},{value:"Comments",id:"comments",level:2},{value:".buckconfig.local",id:"buckconfiglocal",level:2},{value:"Other initialization files",id:"other-initialization-files",level:2},{value:"Command-line control of configuration",id:"command-line-control-of-configuration",level:2},{value:"Precedence of Buck2 configuration specifications",id:"precedence-of-buck2-configuration-specifications",level:2},{value:"Configuration files can include other files",id:"configuration-files-can-include-other-files",level:2},{value:"Sections",id:"sections",level:2},{value:"alias",id:"alias",level:2},{value:"cells",id:"cells",level:2}],s={toc:d};function m(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,i.Z)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"The root of your ",(0,a.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#project"},"project")," must contain a configuration\nfile named ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig"),". Before executing, Buck2 reads this file to incorporate\nany customizations it specifies."),(0,a.mdx)("h2",{id:"performance-impact-of-buck2-configuration-changes"},"Performance impact of Buck2 configuration changes"),(0,a.mdx)("p",null,"Because configuration settings are sometimes included in the cache keys that\nBuck2 uses in its caching system, changes to Buck's configuration can invalidate\npreviously-built artifacts in Buck's caches. If this occurs, Buck2 rebuilds\nthose artifacts, which can impact your build time."),(0,a.mdx)("h2",{id:"the-buckconfig-file-uses-the-ini-file-format"},"The .buckconfig file uses the INI file format"),(0,a.mdx)("p",null,"The ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," file uses the\n",(0,a.mdx)("a",{parentName:"p",href:"http://en.wikipedia.org/wiki/INI_file"},"INI file format"),". That is, it is divided\ninto ",(0,a.mdx)("em",{parentName:"p"},"sections")," where each section contains a collection of key ",(0,a.mdx)("em",{parentName:"p"},"names")," and key\n",(0,a.mdx)("em",{parentName:"p"},"values"),". The ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," implementation supports some modifications to the\nINI file format; these are discussed below."),(0,a.mdx)("h3",{id:"other-ini-file-parsers"},"Other INI file parsers"),(0,a.mdx)("p",null,"As mentioned previously, we have extended the INI file parser that Buck2 uses to\nparse configuration files. As a result, ",(0,a.mdx)("em",{parentName:"p"},"INI file parsers provided by other\nlanguages or libraries are often not able to parse Buck's configuration files\nsuccessfully"),"."),(0,a.mdx)("h3",{id:"dot-character-not-supported-in-section-names"},"Dot character not supported in section names"),(0,a.mdx)("p",null,"We do not support the use of the ",(0,a.mdx)("em",{parentName:"p"},"dot")," character (",(0,a.mdx)("inlineCode",{parentName:"p"},"."),") in section names within\nBuck2 configuration files. For example, the following is ",(0,a.mdx)("strong",{parentName:"p"},"not"),"\nsupported\u2014",(0,a.mdx)("em",{parentName:"p"},"although Buck2 does not issue a warning or error"),"."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-ini"},"[foo.bar]\n baz=1\n")),(0,a.mdx)("p",null,"Note that sometimes you might need to define your own custom sections, such as\nfor platform flavors for C++ or Python. These scenarios are examples of when you\nshould be careful not to introduce the dot character in section names. This\nconstraint is because Buck2 uses the dot character to delimit section names and\nkey names in other contexts such as the ",(0,a.mdx)("inlineCode",{parentName:"p"},"--config")," command-line parameter."),(0,a.mdx)("h2",{id:"character-encoding"},"Character encoding"),(0,a.mdx)("p",null,"To ensure that any character can be encoded in a ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," key value, you\ncan use escape sequences to encode characters that would otherwise be\nproblematic. The following escape sequences are supported."),(0,a.mdx)("table",null,(0,a.mdx)("thead",{parentName:"table"},(0,a.mdx)("tr",{parentName:"thead"},(0,a.mdx)("th",{parentName:"tr",align:null},(0,a.mdx)("inlineCode",{parentName:"th"},"\\\\")),(0,a.mdx)("th",{parentName:"tr",align:null},"backslash"))),(0,a.mdx)("tbody",{parentName:"table"},(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("inlineCode",{parentName:"td"},'\\"')),(0,a.mdx)("td",{parentName:"tr",align:null},"double quote")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("inlineCode",{parentName:"td"},"\\n")),(0,a.mdx)("td",{parentName:"tr",align:null},"newline")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("inlineCode",{parentName:"td"},"\\r")),(0,a.mdx)("td",{parentName:"tr",align:null},"carriage return")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("inlineCode",{parentName:"td"},"\\t")),(0,a.mdx)("td",{parentName:"tr",align:null},"tab")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("inlineCode",{parentName:"td"},"\\x##")),(0,a.mdx)("td",{parentName:"tr",align:null},"Unicode character with code point ## (in hex)")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("inlineCode",{parentName:"td"},"\\u####")),(0,a.mdx)("td",{parentName:"tr",align:null},"Unicode character with code point #### (in hex)")),(0,a.mdx)("tr",{parentName:"tbody"},(0,a.mdx)("td",{parentName:"tr",align:null},(0,a.mdx)("inlineCode",{parentName:"td"},"\\U########")),(0,a.mdx)("td",{parentName:"tr",align:null},"Unicode character with code point ######## (in hex)")))),(0,a.mdx)("h2",{id:"key-values-as-lists"},"Key values as lists"),(0,a.mdx)("p",null,"Although the standard INI format supports only key values that represent a\nsingle item, Buck2 supports key values that represent a list of items. The\nsyntax is to separate the items in the list using the space (",(0,a.mdx)("inlineCode",{parentName:"p"},"0x20"),") character.\nFor example, a key value for the list of command-line flags to be passed to a\ncompiler could be represented as a list of the flags separated by spaces:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"flags = -foo -bar -baz -qux\n")),(0,a.mdx)("p",null,"When a key value is parsed as a list instead of a single item, the separator\ncharacter is interpreted as a separator only when it occurs ",(0,a.mdx)("em",{parentName:"p"},"outside of double\nquotes"),". For example, if ",(0,a.mdx)("inlineCode",{parentName:"p"},"flags")," is a key value interpreted as a list of items\nseparated by spaces, then"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},'flags = -foo "-bar \\u0429"\n')),(0,a.mdx)("p",null,"results in the two strings: ",(0,a.mdx)("inlineCode",{parentName:"p"},"foo")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"-bar \u0429"),"; the space character between\n",(0,a.mdx)("inlineCode",{parentName:"p"},"-bar")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},"\\u0429")," is not interpreted as a separator."),(0,a.mdx)("h2",{id:"transclusion-of-values-from-one-key-to-another"},"Transclusion of values from one key to another"),(0,a.mdx)("p",null,"Values from other keys can be transcluded into the current key using the\nfollowing syntax inside the current key value."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"$(config <section>.<field>)\n")),(0,a.mdx)("p",null,"For example, to use the ",(0,a.mdx)("inlineCode",{parentName:"p"},"[go].vendor_path")," in a custom setting:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"[custom_section]custom_value = $(config go.vendor_path)\n")),(0,a.mdx)("h2",{id:"comments"},"Comments"),(0,a.mdx)("p",null,"In addition to the semicolon (",(0,a.mdx)("inlineCode",{parentName:"p"},";"),"), you can use the pound sign (",(0,a.mdx)("inlineCode",{parentName:"p"},"#"),"), as a\ncomment character in ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"."),(0,a.mdx)("h2",{id:"buckconfiglocal"},".buckconfig.local"),(0,a.mdx)("p",null,"The root of your ",(0,a.mdx)("a",{parentName:"p",href:"/docs/concepts/glossary#project"},"project")," may contain a second\nconfiguration file named ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig.local"),". Its format is the same as that of\n",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig"),", but settings in ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig.local")," override those in\n",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig"),". In practice, ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," is a version-controlled file that\ncontains settings that are applicable to all team members, whereas\n",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig.local")," is excluded from version control to allow users to define\npersonal settings, such as personal aliases."),(0,a.mdx)("h2",{id:"other-initialization-files"},"Other initialization files"),(0,a.mdx)("p",null,"In addition to the ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," and ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig.local")," files in the project\nroot, Buck2 reads configuration settings from the following additional\nlocations, some of which are actually directories:"),(0,a.mdx)("ol",null,(0,a.mdx)("li",{parentName:"ol"},"Directory ",(0,a.mdx)("inlineCode",{parentName:"li"},".buckconfig.d")," located in the project root directory."),(0,a.mdx)("li",{parentName:"ol"},"File ",(0,a.mdx)("inlineCode",{parentName:"li"},".buckconfig")," and directory ",(0,a.mdx)("inlineCode",{parentName:"li"},".buckconfig.d")," located in the current\nuser's home directory which, on Unix-like systems, is available from the\n",(0,a.mdx)("inlineCode",{parentName:"li"},"HOME")," environment variable or through the ",(0,a.mdx)("inlineCode",{parentName:"li"},"~")," symbol."),(0,a.mdx)("li",{parentName:"ol"},"File ",(0,a.mdx)("inlineCode",{parentName:"li"},"buckconfig")," and directory ",(0,a.mdx)("inlineCode",{parentName:"li"},"buckconfig.d")," located in system directory\n",(0,a.mdx)("inlineCode",{parentName:"li"},"/etc/"),".")),(0,a.mdx)("p",null,"Buck2 treats ",(0,a.mdx)("em",{parentName:"p"},"any")," file\u2014irrespective of name\u2014in a\n",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig.d"),"(",(0,a.mdx)("inlineCode",{parentName:"p"},"buckconfig.d"),") directory (excluding files found in\nsubdirectories) as a Buck2 configuration file, provided that it adheres to\n",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," syntax. Note that a ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig.d")," directory is distinct from the\nsimilarly-named ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckd")," directory which is used by the\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/concepts/daemon"},"Buck2 Daemon (",(0,a.mdx)("inlineCode",{parentName:"a"},"buckd"),")")," . For a description of how Buck2 resolves\ncollisions between settings in these configuration files, see the section\n",(0,a.mdx)("a",{parentName:"p",href:"#precedence-of-buck2-configuration-specifications"},(0,a.mdx)("strong",{parentName:"a"},"Precedence of Buck2 configuration specifications")),"\nbelow."),(0,a.mdx)("h2",{id:"command-line-control-of-configuration"},"Command-line control of configuration"),(0,a.mdx)("p",null,"In addition to the above configuration files, Buck2 supports specifying\nadditional configuration files from the Buck2 command line using the\n",(0,a.mdx)("inlineCode",{parentName:"p"},"--config-file")," parameter. You can also specify configuration settings\n",(0,a.mdx)("em",{parentName:"p"},"individually")," on the Buck2 command line using the ",(0,a.mdx)("inlineCode",{parentName:"p"},"--config")," (",(0,a.mdx)("inlineCode",{parentName:"p"},"-c"),") parameter.\nFurthermore, you can aggregate these settings into ",(0,a.mdx)("em",{parentName:"p"},"flag files")," using the\n",(0,a.mdx)("inlineCode",{parentName:"p"},"--flagfile")," parameter. A flag file provides similar functionality to a\nconfiguration file but uses a different syntax. Flag files are sometimes called\n",(0,a.mdx)("em",{parentName:"p"},"mode files")," or ",(0,a.mdx)("em",{parentName:"p"},"at")," (",(0,a.mdx)("inlineCode",{parentName:"p"},"@"),") files."),(0,a.mdx)("h2",{id:"precedence-of-buck2-configuration-specifications"},"Precedence of Buck2 configuration specifications"),(0,a.mdx)("p",null,"The following list shows the order of precedence for how Buck2 interprets its\nconfiguration specifications. Settings specified using a method closer to the\ntop of the list have higher precedence and will override those lower on the\nlist. For example, the ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," file in the repo overrides a ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nfile in the user's ",(0,a.mdx)("inlineCode",{parentName:"p"},"HOME")," directory."),(0,a.mdx)("ol",null,(0,a.mdx)("li",{parentName:"ol"},"Configuration specified on the command line using ",(0,a.mdx)("inlineCode",{parentName:"li"},"--config")," (",(0,a.mdx)("inlineCode",{parentName:"li"},"-c"),"),\n",(0,a.mdx)("inlineCode",{parentName:"li"},"--config-file")," and ",(0,a.mdx)("inlineCode",{parentName:"li"},"--flagfile"),". Configuration specified later on the\ncommand line overrides configuration specified earlier."),(0,a.mdx)("li",{parentName:"ol"},(0,a.mdx)("inlineCode",{parentName:"li"},".buckconfig.local")," in the repo."),(0,a.mdx)("li",{parentName:"ol"},(0,a.mdx)("inlineCode",{parentName:"li"},".buckconfig")," in the repo."),(0,a.mdx)("li",{parentName:"ol"},"Files in a ",(0,a.mdx)("inlineCode",{parentName:"li"},".buckconfig.d")," folder of the repo."),(0,a.mdx)("li",{parentName:"ol"},(0,a.mdx)("inlineCode",{parentName:"li"},".buckconfig.local")," in user's ",(0,a.mdx)("inlineCode",{parentName:"li"},"HOME")," directory."),(0,a.mdx)("li",{parentName:"ol"},"Files in a ",(0,a.mdx)("inlineCode",{parentName:"li"},".buckconfig.d")," folder in user's ",(0,a.mdx)("inlineCode",{parentName:"li"},"HOME")," directory."),(0,a.mdx)("li",{parentName:"ol"},"The global file ",(0,a.mdx)("inlineCode",{parentName:"li"},"/etc/buckconfig")),(0,a.mdx)("li",{parentName:"ol"},"Files in the global directory ",(0,a.mdx)("inlineCode",{parentName:"li"},"/etc/buckconfig.d"))),(0,a.mdx)("p",null,"Files in a ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig.d")," (",(0,a.mdx)("inlineCode",{parentName:"p"},"buckconfig.d"),") directory have precedence according\nto the lexicographical order of their file names. Files ",(0,a.mdx)("em",{parentName:"p"},"later")," in the\nlexicographical order have precedence over files earlier in that order."),(0,a.mdx)("h2",{id:"configuration-files-can-include-other-files"},"Configuration files can include other files"),(0,a.mdx)("p",null,"Any of the configuration files that we've discussed so far can also include by\nreference other files that contain configuration information. These included\nfiles can contain complete ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," sections or they can contain a group of\nkey name/value pairs that constitute part of a section. In this second use case,\nyou'll need to ensure that the ",(0,a.mdx)("em",{parentName:"p"},"included")," file is referenced beneath the\nappropriate section in the ",(0,a.mdx)("em",{parentName:"p"},"including")," file. Because of this additional\ncomplexity, we recommend that you include only files that contain complete\nsections. ",(0,a.mdx)("strong",{parentName:"p"},"Note:")," Inclusion of files is a Buck-specific extension to the INI\nfile parser that Buck2 uses. Therefore, if you use this feature, your Buck2\nconfiguration files will probably not be parsable by other more-generic INI file\nparsers. The syntax to include a file is"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"<file:*path-to-included-file*>\n")),(0,a.mdx)("p",null,"where ",(0,a.mdx)("em",{parentName:"p"},"path-to-included-file")," is either a relative path from the including file\n(recommended) or an absolute path from the root of the file system. You can also\nspecify that the file should be included only if it exists by prefixing with a\nquestion mark (",(0,a.mdx)("inlineCode",{parentName:"p"},"?"),")."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"<?file:*path-to-included-file*>\n")),(0,a.mdx)("p",null,"If you use this prefix, it is not an error condition if the file does not exist;\nBuck2 just silently continues to process the rest of the configuration file. In\nthe following example, the ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," file includes the file\n",(0,a.mdx)("inlineCode",{parentName:"p"},"cxx-other-platform.include")," which exists in the subdirectory\n",(0,a.mdx)("inlineCode",{parentName:"p"},"cxx-other-platform"),". The ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," file will also include the file\n",(0,a.mdx)("inlineCode",{parentName:"p"},"future-platform")," from the directory ",(0,a.mdx)("inlineCode",{parentName:"p"},"future-platform.include")," if that file\nexists."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},'#\n# .buckconfig\n#\n[cxx]\n cxxppflags="-D MYMACRO=\\"Buck\\""\n\n<file:cxx-other-platform/cxx-other-platform.include>\n\n<?file:future-platform/future-platform.include>\n#\n# cxx-other-platform.include\n#\n[cxx#other_platform]\n cxxppflags="-D MYMACRO=\\"Watchman\\""\n')),(0,a.mdx)("h2",{id:"sections"},"Sections"),(0,a.mdx)("p",null,"Below is an incomplete list of supported buckconfigs."),(0,a.mdx)("h2",{id:"alias"},"[alias]"),(0,a.mdx)("p",null,"This section contains definitions of ",(0,a.mdx)("a",{parentName:"p",href:"/docs/concepts/build_target"},"build target")," aliases."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"[alias]app = //apps/myapp:app\n apptest = //apps/myapp:test\n")),(0,a.mdx)("p",null,"These aliases can then be used from the command line:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"$ buck2 build app\n$ buck2 test apptest\n")),(0,a.mdx)("h2",{id:"cells"},"[cells]"),(0,a.mdx)("p",null,"Lists the cells that constitute the Buck2 project. Buck2 builds that are part of\nthis project\u2014that is, which use this ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\u2014can access the cells\nspecified in this section."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"[cells]\n buck = .\n bazel_skylib = ./third-party/skylark/bazel-skylib\n")),(0,a.mdx)("p",null,"The string on the left-hand side of the equals sign is the ",(0,a.mdx)("em",{parentName:"p"},"alias")," for the cell.\nThe string on the right-hand side of the equals sign is the path to the cell\nfrom the directory that contains this ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig")," file. It is not necessary to\ninclude the current cell in this section, but we consider it a best practice to\ndo so:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"buck = .\n")),(0,a.mdx)("p",null,"You can view the contents of this section using the ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 audit cell")," command."),(0,a.mdx)("p",null,(0,a.mdx)("inlineCode",{parentName:"p"},"[repositories]")," is additionally supported as a deprecated alternative name for\nthis section."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a40c6557.93ed897e.js b/assets/js/a40c6557.93ed897e.js new file mode 100644 index 0000000000000..ca28169e3a22c --- /dev/null +++ b/assets/js/a40c6557.93ed897e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1324],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>p,MDXProvider:()=>s,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>u});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(){return i=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},i.apply(this,arguments)}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?a(Object(t),!0).forEach((function(r){o(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=n.createContext({}),u=function(e){return function(r){var t=d(r.components);return n.createElement(e,i({},r,{components:t}))}},d=function(e){var r=n.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},s=function(e){var r=d(e.components);return n.createElement(p.Provider,{value:r},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},y=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=d(t),s=o,m=u["".concat(a,".").concat(s)]||u[s]||f[s]||i;return t?n.createElement(m,c(c({ref:r},p),{},{components:t})):n.createElement(m,c({ref:r},p))}));function b(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=y;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c[m]="string"==typeof e?e:o,a[1]=c;for(var p=2;p<i;p++)a[p]=t[p];return n.createElement.apply(null,a)}return n.createElement.apply(null,t)}y.displayName="MDXCreateElement"},48008:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=t(87462),o=(t(67294),t(3905));const i={id:"ActionErrorLocation"},a="ActionErrorLocation type",c={unversionedId:"api/build/ActionErrorLocation",id:"api/build/ActionErrorLocation",title:"ActionErrorLocation type",description:"Methods available on StarlarkActionErrorLocation to help with testing the error handler implementation",source:"@site/../docs/api/build/ActionErrorLocation.generated.md",sourceDirName:"api/build",slug:"/api/build/ActionErrorLocation",permalink:"/docs/api/build/ActionErrorLocation",draft:!1,tags:[],version:"current",frontMatter:{id:"ActionErrorLocation"},sidebar:"apiSidebar",previous:{title:"ActionErrorCtx type",permalink:"/docs/api/build/ActionErrorCtx"},next:{title:"ActionSubError type",permalink:"/docs/api/build/ActionSubError"}},l={},p=[{value:"ActionErrorLocation.file",id:"actionerrorlocationfile",level:2},{value:"ActionErrorLocation.line",id:"actionerrorlocationline",level:2}],u={toc:p};function d(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"actionerrorlocation-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"ActionErrorLocation")," type"),(0,o.mdx)("p",null,"Methods available on ",(0,o.mdx)("inlineCode",{parentName:"p"},"StarlarkActionErrorLocation")," to help with testing the error handler implementation"),(0,o.mdx)("h2",{id:"actionerrorlocationfile"},"ActionErrorLocation.file"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorLocation.file: str\n")),(0,o.mdx)("p",null,"The file of the error location. This is only needed for action error handler unit testing."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionerrorlocationline"},"ActionErrorLocation.line"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorLocation.line: None | int\n")),(0,o.mdx)("p",null,"The line of the error location. This is only needed for action error handler unit testing."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a4ab3bf3.312a2165.js b/assets/js/a4ab3bf3.312a2165.js new file mode 100644 index 0000000000000..7f20a5e7a9c37 --- /dev/null +++ b/assets/js/a4ab3bf3.312a2165.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3566],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>p,MDXProvider:()=>u,mdx:()=>b,useMDXComponents:()=>s,withMDXComponents:()=>d});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(){return i=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},i.apply(this,arguments)}function l(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?l(Object(t),!0).forEach((function(r){o(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=n.createContext({}),d=function(e){return function(r){var t=s(r.components);return n.createElement(e,i({},r,{components:t}))}},s=function(e){var r=n.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):a(a({},r),e)),t},u=function(e){var r=s(e.components);return n.createElement(p.Provider,{value:r},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},v=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=s(t),u=o,m=d["".concat(l,".").concat(u)]||d[u]||f[u]||i;return t?n.createElement(m,a(a({ref:r},p),{},{components:t})):n.createElement(m,a({ref:r},p))}));function b(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var i=t.length,l=new Array(i);l[0]=v;var a={};for(var c in r)hasOwnProperty.call(r,c)&&(a[c]=r[c]);a.originalType=e,a[m]="string"==typeof e?e:o,l[1]=a;for(var p=2;p<i;p++)l[p]=t[p];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}v.displayName="MDXCreateElement"},76929:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>a,toc:()=>p});var n=t(87462),o=(t(67294),t(3905));const i={id:"provider_collection"},l="provider_collection type",a={unversionedId:"api/build/provider_collection",id:"api/build/provider_collection",title:"provider_collection type",description:"Holds a collection of UserProviders. These can be accessed in Starlark by indexing on a ProviderCallable object.",source:"@site/../docs/api/build/provider_collection.generated.md",sourceDirName:"api/build",slug:"/api/build/provider_collection",permalink:"/docs/api/build/provider_collection",draft:!1,tags:[],version:"current",frontMatter:{id:"provider_collection"},sidebar:"apiSidebar",previous:{title:"promise type",permalink:"/docs/api/build/promise"},next:{title:"providers_label type",permalink:"/docs/api/build/providers_label"}},c={},p=[{value:"provider_collection.get",id:"provider_collectionget",level:2}],d={toc:p};function s(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},d,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"provider_collection-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"provider_collection")," type"),(0,o.mdx)("p",null,"Holds a collection of ",(0,o.mdx)("inlineCode",{parentName:"p"},"UserProvider"),"s. These can be accessed in Starlark by indexing on a ",(0,o.mdx)("inlineCode",{parentName:"p"},"ProviderCallable")," object."),(0,o.mdx)("p",null,"e.g."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-ignore"},'FooInfo = provider(fields=["bar"])\n....\ncollection.get(FooInfo) # None if absent, a FooInfo instance if present\n')),(0,o.mdx)("p",null,"This is the result of all UDR implementation functions"),(0,o.mdx)("h2",{id:"provider_collectionget"},"provider","_","collection.get"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def provider_collection.get(index) -> None | provider\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a88bfb13.e2b80a0b.js b/assets/js/a88bfb13.e2b80a0b.js new file mode 100644 index 0000000000000..45d59320571ea --- /dev/null +++ b/assets/js/a88bfb13.e2b80a0b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8698],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>d,MDXProvider:()=>m,mdx:()=>g,useMDXComponents:()=>u,withMDXComponents:()=>p});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var d=a.createContext({}),p=function(e){return function(t){var n=u(t.components);return a.createElement(e,o({},t,{components:n}))}},u=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},m=function(e){var t=u(e.components);return a.createElement(d.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,r=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=u(n),m=i,c=p["".concat(r,".").concat(m)]||p[m]||f[m]||o;return n?a.createElement(c,l(l({ref:t},d),{},{components:n})):a.createElement(c,l({ref:t},d))}));function g(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,r=new Array(o);r[0]=h;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:i,r[1]=l;for(var d=2;d<o;d++)r[d]=n[d];return a.createElement.apply(null,r)}return a.createElement.apply(null,n)}h.displayName="MDXCreateElement"},36509:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var a=n(87462),i=(n(67294),n(3905));const o={id:"configurations",title:"Configurations"},r=void 0,l={unversionedId:"rule_authors/configurations",id:"rule_authors/configurations",title:"Configurations",description:"This page mostly focuses on how configurations and related features are",source:"@site/../docs/rule_authors/configurations.md",sourceDirName:"rule_authors",slug:"/rule_authors/configurations",permalink:"/docs/rule_authors/configurations",draft:!1,tags:[],version:"current",frontMatter:{id:"configurations",title:"Configurations"},sidebar:"mainSidebar",previous:{title:"Transitive Sets",permalink:"/docs/rule_authors/transitive_sets"},next:{title:"Configuration Transitions",permalink:"/docs/rule_authors/configuration_transitions"}},s={},d=[{value:"Context",id:"context",level:2},{value:"Selectable attributes",id:"selectable-attributes",level:2},{value:"Selectable resolution",id:"selectable-resolution",level:2},{value:"Target Platform Resolution",id:"target-platform-resolution",level:2},{value:"Configuration propagation",id:"configuration-propagation",level:2},{value:"Transitions",id:"transitions",level:2},{value:"<code>ConfigurationInfo</code>, <code>platform()</code> analysis, and more",id:"configurationinfo-platform-analysis-and-more",level:2},{value:"Configurations and output paths",id:"configurations-and-output-paths",level:2},{value:"Target platform compatibility",id:"target-platform-compatibility",level:2},{value:"Buck v1 compatibility",id:"buck-v1-compatibility",level:3},{value:"Incompatible target skipping",id:"incompatible-target-skipping",level:2},{value:"Execution platforms",id:"execution-platforms",level:2},{value:"Execution deps",id:"execution-deps",level:2},{value:"Toolchain deps",id:"toolchain-deps",level:2},{value:"Running non-execution deps",id:"running-non-execution-deps",level:2},{value:"Execution platform resolution",id:"execution-platform-resolution",level:2},{value:"Execution groups",id:"execution-groups",level:2}],p={toc:d};function u(e){let{components:t,...n}=e;return(0,i.mdx)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.mdx)("p",null,"This page mostly focuses on how configurations and related features are\nimplemented."),(0,i.mdx)("h2",{id:"context"},"Context"),(0,i.mdx)("p",null,"Buck configurations provide an API to express the different ways in which\nprojects and targets can be built."),(0,i.mdx)("p",null,"A configuration consists of a set of constraints and config settings (values\nfrom buckconfig). These are determined by a base platform that sets the initial\nvalues and then a series of transitions that may change them."),(0,i.mdx)("p",null,"The common way that users are exposed to configurations is in ",(0,i.mdx)("inlineCode",{parentName:"p"},"select()"),"\ninvocations where the resolution is based on the configuration."),(0,i.mdx)("p",null,"A build may involve many configurations. A particular target label (",(0,i.mdx)("inlineCode",{parentName:"p"},"//:foo"),")\nmay end up with multiple instances in the configured graph with different\nconfigurations."),(0,i.mdx)("h2",{id:"selectable-attributes"},"Selectable attributes"),(0,i.mdx)("p",null,"Almost all rule attributes can be set to a ",(0,i.mdx)("inlineCode",{parentName:"p"},"select()")," value; such an attribute\nis 'selectable'. These attributes' final resolved values will depend on the\nconfiguration."),(0,i.mdx)("p",null,"There are some attributes that cannot use a ",(0,i.mdx)("inlineCode",{parentName:"p"},"select()"),"; such attributes are\ntermed 'not selectable'. Examples include attributes that buck needs to read\nfrom the unconfigured node (such as ",(0,i.mdx)("inlineCode",{parentName:"p"},"name")," and ",(0,i.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),") and\nattributes that are used by ",(0,i.mdx)("inlineCode",{parentName:"p"},"platform()")," rules and their dependencies (see\nbelow)."),(0,i.mdx)("h2",{id:"selectable-resolution"},"Selectable resolution"),(0,i.mdx)("p",null,"Resolving selectable attributes is pretty straightforward, it happens when\nconstructing the 'configured target node'. At that point, the full configuration\nis available so Buck can lookup whether each constraint in the select is\nsatisfied or not."),(0,i.mdx)("p",null,"If multiple conditions of the select() match, then the select will be resolved\nto the 'most refined' of the conditions that match. A set of constraints (as in\na ",(0,i.mdx)("inlineCode",{parentName:"p"},"config_setting"),") is said to 'refine' another if it is a superset of that\nother's constraints. The 'most refined' of a set is then the condition that\nrefines all the others. If there is no 'most refined' condition of the matching\nones, it is an error."),(0,i.mdx)("h2",{id:"target-platform-resolution"},"Target Platform Resolution"),(0,i.mdx)("p",null,"In the event that targets are provided on the command line, or when there is no\nindication of what configuration the target will be built in, configurations are\ndetermined by performing 'target platform resolution' on the unconfigured target\nlabels."),(0,i.mdx)("p",null,"The target platform resolution for a target ",(0,i.mdx)("inlineCode",{parentName:"p"},"//:foo")," works as follows:"),(0,i.mdx)("ol",null,(0,i.mdx)("li",{parentName:"ol"},"Look up (unconfigured) target node for ",(0,i.mdx)("inlineCode",{parentName:"li"},"//:foo"),"."),(0,i.mdx)("li",{parentName:"ol"},"If the command has a ",(0,i.mdx)("inlineCode",{parentName:"li"},"--target-platforms")," flag, use that."),(0,i.mdx)("li",{parentName:"ol"},"If there's a ",(0,i.mdx)("inlineCode",{parentName:"li"},"default_target_platform")," attribute, use that."),(0,i.mdx)("li",{parentName:"ol"},"Else, use the cell's default platform.")),(0,i.mdx)("p",null,"This is performed independently for any targets that need a platform. Since this\nresolution is done without a configuration, it means that the\n",(0,i.mdx)("inlineCode",{parentName:"p"},"default_target_platform")," attribute ",(0,i.mdx)("strong",{parentName:"p"},"is not selectable"),"."),(0,i.mdx)("p",null,"This target platform will form the initial configuration for the node."),(0,i.mdx)("h2",{id:"configuration-propagation"},"Configuration propagation"),(0,i.mdx)("p",null,"Once the top-level nodes have been configured via the target platform\nresolution, the configuration is propagated to dependencies (possibly altered by\ntransitions)."),(0,i.mdx)("admonition",{type:"note"},(0,i.mdx)("p",{parentName:"admonition"},"The target platform resolution is not applied to all nodes in the graph.")),(0,i.mdx)("h2",{id:"transitions"},"Transitions"),(0,i.mdx)("p",null,"A transition transforms a configuration by adding or changing constraint values\nand config settings or by setting an entirely new underlying target platform."),(0,i.mdx)("p",null,"For more details, see ",(0,i.mdx)("a",{parentName:"p",href:"/docs/rule_authors/configuration_transitions"},"Configuration transitions"),"."),(0,i.mdx)("h2",{id:"configurationinfo-platform-analysis-and-more"},(0,i.mdx)("inlineCode",{parentName:"h2"},"ConfigurationInfo"),", ",(0,i.mdx)("inlineCode",{parentName:"h2"},"platform()")," analysis, and more"),(0,i.mdx)("p",null,"The definition of a platform (either execution or target) is done with a\n",(0,i.mdx)("inlineCode",{parentName:"p"},"platform")," rule instance. The configuration is actually part of the analysis\nresult of the platform target (the ",(0,i.mdx)("inlineCode",{parentName:"p"},"ConfigurationInfo")," provider instance). This\nis convenient from an implementation standpoint, but it leads to a situation\nwhere some nodes are analyzed with an 'unbound' Configuration."),(0,i.mdx)("p",null,"All the rule types involved in defining a platform may be analyzed with an\nunbound configuration (",(0,i.mdx)("inlineCode",{parentName:"p"},"platform()"),", ",(0,i.mdx)("inlineCode",{parentName:"p"},"config_setting()"),", ",(0,i.mdx)("inlineCode",{parentName:"p"},"constraint_setting()"),",\nand so on). These are sometimes called 'configuration rules'. This means that\nall the attributes of these rules are not selectable."),(0,i.mdx)("p",null,"Configurations also reference a few other provider instances such as\n",(0,i.mdx)("inlineCode",{parentName:"p"},"ConstraintSettingInfo"),". All of these end up being potentially produced in a\ncontext with an unbound configuration."),(0,i.mdx)("p",null,"Using analysis for this also means that 'configuration' and 'analysis' are not\ndistinct phases within a build (although they are still distinct for a node and\nare still conceptually useful)."),(0,i.mdx)("h2",{id:"configurations-and-output-paths"},"Configurations and output paths"),(0,i.mdx)("p",null,"Since a target may appear within a build in multiple different configurations,\noutput paths cannot be derived based on just targets (as multiple actions would\nmap to the same outputs). For this reason, the target and the configuration are\nencoded into output paths. The configuration is currently represented as a hash\nof its values (a 'hashed buck-out')."),(0,i.mdx)("h2",{id:"target-platform-compatibility"},"Target platform compatibility"),(0,i.mdx)("p",null,"All (non-configuration) rules support a ",(0,i.mdx)("inlineCode",{parentName:"p"},"target_compatible_with")," attribute. In\naddition, the rule itself can define ",(0,i.mdx)("inlineCode",{parentName:"p"},"target_compatible_with")," constraints that\naffect all instances. The ",(0,i.mdx)("inlineCode",{parentName:"p"},"target_compatible_with")," attribute is a list of\nconstraints/config settings and it ",(0,i.mdx)("strong",{parentName:"p"},"is selectable"),"."),(0,i.mdx)("p",null,"Target platform compatibility is transitive, all ",(0,i.mdx)("em",{parentName:"p"},"dependents")," of an incompatible\ntarget are incompatible. In other words, a node is compatible if and only if the\nnode itself and all of its transitive dependencies are compatible."),(0,i.mdx)("p",null,"In buck, this is implemented by graph configuration returning either a\nconfigured target node or an indicator that the node is incompatible with the\ntarget platform."),(0,i.mdx)("h3",{id:"buck-v1-compatibility"},"Buck v1 compatibility"),(0,i.mdx)("p",null,"Buck2 also supports the Buck v1 legacy ",(0,i.mdx)("inlineCode",{parentName:"p"},"compatible_with")," field on nodes but it\nhas different behavior."),(0,i.mdx)("p",null,"In summary:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": List of constraints, where ",(0,i.mdx)("em",{parentName:"li"},"any")," of them must match the\nconfiguration to be compatible."),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": List of constraints, where ",(0,i.mdx)("em",{parentName:"li"},"all")," of them must match\nthe configuration to be compatible.")),(0,i.mdx)("h2",{id:"incompatible-target-skipping"},"Incompatible target skipping"),(0,i.mdx)("p",null,"In a build-like command where a non-literal target pattern is provided (for\nexample, ",(0,i.mdx)("inlineCode",{parentName:"p"},"buck build //:")," or ",(0,i.mdx)("inlineCode",{parentName:"p"},"buck build //foo/..."),"), the target pattern will be\nresolved to a set of unconfigured targets. Those targets will then go through\n",(0,i.mdx)("a",{parentName:"p",href:"#target-platform-resolution"},"target platform resolution"),". If any of those\ntargets resolve to a platform where they are incompatible, building them will be\nskipped. Users generally expect and prefer this behavior to needing to\nexplicitly specify only the targets that can build in their current context."),(0,i.mdx)("p",null,"If an explicitly specified literal is incompatible, it is an error."),(0,i.mdx)("p",null,"The implementation checks compatibility when looking up the analysis results for\nconfigured nodes requested (in the non-ignored flow, it uses that analysis\nresult to lookup the default outputs and build them)."),(0,i.mdx)("h2",{id:"execution-platforms"},"Execution platforms"),(0,i.mdx)("p",null,"Execution platforms/configurations are used to represent the platforms where\nbuild execution happens. These are defined in a similar manner to target\nplatforms. These may or may not be what one would logically consider different\n'platforms'. For example, there could be multiple different execution platforms\nthat all execute things similarly on the local machine."),(0,i.mdx)("p",null,"A build configures a fixed list of one or more execution platforms."),(0,i.mdx)("h2",{id:"execution-deps"},"Execution deps"),(0,i.mdx)("p",null,"Some target deps are 'execution deps'. These are the dependencies of the target\nthat should be built for the execution platform. For example, a compiler or\nother build tool would be an execution dep. This includes all exe macro deps\n(for example, ",(0,i.mdx)("inlineCode",{parentName:"p"},"$(exe //:tool)"),") and includes all ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.exec_dep()")," deps."),(0,i.mdx)("h2",{id:"toolchain-deps"},"Toolchain deps"),(0,i.mdx)("p",null,"In addition to ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.exec_dep()"),", there are ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.toolchain_dep()"),", which are\nsimilar but differ in an important way. These nodes don't select their execution\nplatform, but instead have it forced on them by whatever includes them; hence,\nit must be recorded in the configured target label. The execution platform\nresolution sees through them."),(0,i.mdx)("p",null,"In other words, ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.toolchain_dep()")," is like a mix of ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.dep()")," and\n",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.exec_dep()"),": it inherits target platform like ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.dep()")," (so any\n",(0,i.mdx)("inlineCode",{parentName:"p"},"select()"),"s on the target of the ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.toolchain_dep()")," will evaluate as if\nthey were on the target containing the ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.toolchain_dep()")," - the target\nplatform gets inherited as normal) and any ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.exec_dep()"),"s of the\n",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.toolchain_dep()")," target become ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.exec_deps()")," on the dependent of\ntarget the ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.toolchain_dep()")," (they get passed up the dep tree, so\nparticipate in exec platform resolution)."),(0,i.mdx)("p",null,"This is illustrated in the following example:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},'target(\n name = "A",\n toolchain = attrs.toolchain_dep(default = ":B"),\n)\ntarget(\n name = "B",\n tool = attrs.exec_dep(default = ":C")\n)\n')),(0,i.mdx)("p",null,"The above means that ",(0,i.mdx)("inlineCode",{parentName:"p"},":C")," will be an execution dependency of ",(0,i.mdx)("inlineCode",{parentName:"p"},":A")," and any\n",(0,i.mdx)("inlineCode",{parentName:"p"},"select()"),"s defined in ",(0,i.mdx)("inlineCode",{parentName:"p"},":B")," would be evaluated against the same target platform\nas ",(0,i.mdx)("inlineCode",{parentName:"p"},":A")," (as target platform gets inherited by ",(0,i.mdx)("inlineCode",{parentName:"p"},"attrs.toolchain_dep()"),"s)."),(0,i.mdx)("h2",{id:"running-non-execution-deps"},"Running non-execution deps"),(0,i.mdx)("p",null,"If you have a binary that you want to run, but it isn't a build tool, then you\nshould use ",(0,i.mdx)("inlineCode",{parentName:"p"},"$(exe_target //:binary)")," rather than ",(0,i.mdx)("inlineCode",{parentName:"p"},"$(exe //:binary)"),". That will\nrun the same binary that you'd get from ",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 build"),", rather than one that is\nbuilt for the execution platform."),(0,i.mdx)("p",null,"The path macros vary along two axes:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("strong",{parentName:"li"},"Path Source"),": either ",(0,i.mdx)("inlineCode",{parentName:"li"},"DefaultInfo")," or ",(0,i.mdx)("inlineCode",{parentName:"li"},"RunInfo")," providers"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("strong",{parentName:"li"},"Configuration"),": inherits the configuration or transitions to an execution\nplatform configuration")),(0,i.mdx)("p",null,"Specifically:"),(0,i.mdx)("ul",null,(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"$location"),": ",(0,i.mdx)("inlineCode",{parentName:"li"},"DefaultInfo")," path source, inherits configuration"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"$exe"),": ",(0,i.mdx)("inlineCode",{parentName:"li"},"RunInfo")," path source, exec platform configuration"),(0,i.mdx)("li",{parentName:"ul"},(0,i.mdx)("inlineCode",{parentName:"li"},"$exe_target"),": ",(0,i.mdx)("inlineCode",{parentName:"li"},"RunInfo")," path source, inherits configuration")),(0,i.mdx)("h2",{id:"execution-platform-resolution"},"Execution platform resolution"),(0,i.mdx)("p",null,"During analysis, unlike target platform resolution, every configured node\nundergoes execution platform resolution independently (see exception below).\nThis means that even for a specific target platform, different nodes in the\ngraph can be built on different execution platforms."),(0,i.mdx)("p",null,"This works roughly as follows:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"next: for platform in execution_platforms:\n if exec_compatible_with(target, platform):\n for dep in target.execution_deps():\n if !target_compatible_with(dep, platform):\n continue next\n return platform\nreturn err\n")),(0,i.mdx)("p",null,"One important note here is that until the execution platform has been resolved,\n",(0,i.mdx)("strong",{parentName:"p"},"the configuration for execution deps is not known"),". Only after execution\nplatform has been resolved can the execution deps be configured (also, analysis\nfor them can only be performed at that point)."),(0,i.mdx)("p",null,"For the normal use case, a particular configured target node performs execution\nplatform resolution a single time. The execution platform ",(0,i.mdx)("strong",{parentName:"p"},"is not")," encoded in\noutput paths."),(0,i.mdx)("p",null,"Regarding target compatibility, imagine the following pseudo-code for the\n",(0,i.mdx)("inlineCode",{parentName:"p"},"target_compatible_with()")," function above:"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def target_compatible_with(target, cfg):\n for constraint in target.target_compatible_with:\n if not satisfied(constraint, cfg):\n return False\n\n if len(target.compatible_with) > 0:\n found_satisfied_constraint = False\n for constraint in target.compatible_with:\n if satisfied(constraint, cfg):\n found_satisfied_constraint = True\n break\n if not found_satisfied_constraint:\n return False\n\n for (dep, dep_cfg) in direct_deps(target):\n # NB: recursive call\n if not target_compatible_with(dep, dep_cfg):\n return False\n\n return True\n")),(0,i.mdx)("h2",{id:"execution-groups"},"Execution groups"),(0,i.mdx)("p",null,"Execution groups are a future feature that will allow a rule to perform\nexecution platform resolution multiple times and then specify in which of the\nresolved platforms each action runs in."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a9c4ab75.ad3af674.js b/assets/js/a9c4ab75.ad3af674.js new file mode 100644 index 0000000000000..5a11fe0eb198f --- /dev/null +++ b/assets/js/a9c4ab75.ad3af674.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[150],{3905:(e,l,a)=>{a.r(l),a.d(l,{MDXContext:()=>p,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>b,withMDXComponents:()=>c});var t=a(67294);function r(e,l,a){return l in e?Object.defineProperty(e,l,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[l]=a,e}function n(){return n=Object.assign||function(e){for(var l=1;l<arguments.length;l++){var a=arguments[l];for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e[t]=a[t])}return e},n.apply(this,arguments)}function o(e,l){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);l&&(t=t.filter((function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable}))),a.push.apply(a,t)}return a}function i(e){for(var l=1;l<arguments.length;l++){var a=null!=arguments[l]?arguments[l]:{};l%2?o(Object(a),!0).forEach((function(l){r(e,l,a[l])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(l){Object.defineProperty(e,l,Object.getOwnPropertyDescriptor(a,l))}))}return e}function d(e,l){if(null==e)return{};var a,t,r=function(e,l){if(null==e)return{};var a,t,r={},n=Object.keys(e);for(t=0;t<n.length;t++)a=n[t],l.indexOf(a)>=0||(r[a]=e[a]);return r}(e,l);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(t=0;t<n.length;t++)a=n[t],l.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=t.createContext({}),c=function(e){return function(l){var a=b(l.components);return t.createElement(e,n({},l,{components:a}))}},b=function(e){var l=t.useContext(p),a=l;return e&&(a="function"==typeof e?e(l):i(i({},l),e)),a},u=function(e){var l=b(e.components);return t.createElement(p.Provider,{value:l},e.children)},m="mdxType",s={inlineCode:"code",wrapper:function(e){var l=e.children;return t.createElement(t.Fragment,{},l)}},g=t.forwardRef((function(e,l){var a=e.components,r=e.mdxType,n=e.originalType,o=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),c=b(a),u=r,m=c["".concat(o,".").concat(u)]||c[u]||s[u]||n;return a?t.createElement(m,i(i({ref:l},p),{},{components:a})):t.createElement(m,i({ref:l},p))}));function f(e,l){var a=arguments,r=l&&l.mdxType;if("string"==typeof e||r){var n=a.length,o=new Array(n);o[0]=g;var i={};for(var d in l)hasOwnProperty.call(l,d)&&(i[d]=l[d]);i.originalType=e,i[m]="string"==typeof e?e:r,o[1]=i;for(var p=2;p<n;p++)o[p]=a[p];return t.createElement.apply(null,o)}return t.createElement.apply(null,a)}g.displayName="MDXCreateElement"},8025:(e,l,a)=>{a.r(l),a.d(l,{assets:()=>d,contentTitle:()=>o,default:()=>b,frontMatter:()=>n,metadata:()=>i,toc:()=>p});var t=a(87462),r=(a(67294),a(3905));const n={id:"label"},o="label type",i={unversionedId:"api/build/label",id:"api/build/label",title:"label type",description:"A label is used to represent a configured target.",source:"@site/../docs/api/build/label.generated.md",sourceDirName:"api/build",slug:"/api/build/label",permalink:"/docs/api/build/label",draft:!1,tags:[],version:"current",frontMatter:{id:"label"},sidebar:"apiSidebar",previous:{title:"digest_config type",permalink:"/docs/api/build/digest_config"},next:{title:"label_relative_path type",permalink:"/docs/api/build/label_relative_path"}},d={},p=[{value:"label.cell",id:"labelcell",level:2},{value:"label.cell_root",id:"labelcell_root",level:2},{value:"label.configured_target",id:"labelconfigured_target",level:2},{value:"label.name",id:"labelname",level:2},{value:"label.package",id:"labelpackage",level:2},{value:"label.path",id:"labelpath",level:2},{value:"label.project_root",id:"labelproject_root",level:2},{value:"label.raw_target",id:"labelraw_target",level:2},{value:"label.sub_target",id:"labelsub_target",level:2}],c={toc:p};function b(e){let{components:l,...a}=e;return(0,r.mdx)("wrapper",(0,t.Z)({},c,a,{components:l,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"label-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"label")," type"),(0,r.mdx)("p",null,"A label is used to represent a configured target."),(0,r.mdx)("h2",{id:"labelcell"},"label.cell"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.cell: str\n")),(0,r.mdx)("p",null,"For the label ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905)")," this gives back ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelcell_root"},"label.cell","_","root"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.cell_root: cell_root\n")),(0,r.mdx)("p",null,"Obtain a reference to this target label's cell root. This can be used as if it were an artifact in places that expect one, such as ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args().relative_to"),"."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelconfigured_target"},"label.configured","_","target"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def label.configured_target() -> configured_target_label\n")),(0,r.mdx)("p",null,"Returns the underlying configured target label, dropping the sub target"),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelname"},"label.name"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.name: str\n")),(0,r.mdx)("p",null,"For the label ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905)")," this gives back ",(0,r.mdx)("inlineCode",{parentName:"p"},"world")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelpackage"},"label.package"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.package: str\n")),(0,r.mdx)("p",null,"For the label ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905)")," this gives back ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2/hello")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelpath"},"label.path"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.path: label_relative_path\n")),(0,r.mdx)("p",null,"For the label ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905)")," this gives back ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode/buck2/hello")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelproject_root"},"label.project","_","root"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.project_root: project_root\n")),(0,r.mdx)("p",null,"Obtain a reference to the project's root. This can be used as if it were an artifact in places that expect one, such as ",(0,r.mdx)("inlineCode",{parentName:"p"},"cmd_args().relative_to"),"."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelraw_target"},"label.raw","_","target"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def label.raw_target() -> target_label\n")),(0,r.mdx)("p",null,"For the label ",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905)")," this returns the unconfigured underlying target label (",(0,r.mdx)("inlineCode",{parentName:"p"},"fbcode//buck2/hello:world"),")"),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"labelsub_target"},"label.sub","_","target"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"label.sub_target: None | list[str]\n")))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/aa5654f3.6702b30b.js b/assets/js/aa5654f3.6702b30b.js new file mode 100644 index 0000000000000..012a77df7e6e2 --- /dev/null +++ b/assets/js/aa5654f3.6702b30b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2430],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>m,mdx:()=>h,useMDXComponents:()=>u,withMDXComponents:()=>f});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},o.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=r.createContext({}),f=function(e){return function(n){var t=u(n.components);return r.createElement(e,o({},n,{components:t}))}},u=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},m=function(e){var n=u(e.components);return r.createElement(c.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},g=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),f=u(t),m=a,p=f["".concat(i,".").concat(m)]||f[m]||d[m]||o;return t?r.createElement(p,l(l({ref:n},c),{},{components:t})):r.createElement(p,l({ref:n},c))}));function h(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=g;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[p]="string"==typeof e?e:a,i[1]=l;for(var c=2;c<o;c++)i[c]=t[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}g.displayName="MDXCreateElement"},82055:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=t(87462),a=(t(67294),t(3905));const o={},i="Universal Configuration Naming Function",l={unversionedId:"rfcs/drafts/universal-cfg-naming",id:"rfcs/drafts/universal-cfg-naming",title:"Universal Configuration Naming Function",description:"tl;dr: This RFC proposes using a single naming function to generate names for",source:"@site/../docs/rfcs/drafts/universal-cfg-naming.md",sourceDirName:"rfcs/drafts",slug:"/rfcs/drafts/universal-cfg-naming",permalink:"/docs/rfcs/drafts/universal-cfg-naming",draft:!1,tags:[],version:"current",frontMatter:{}},s={},c=[{value:"Context",id:"context",level:2},{value:"Proposal",id:"proposal",level:2}],f={toc:c};function u(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},f,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"universal-configuration-naming-function"},"Universal Configuration Naming Function"),(0,a.mdx)("p",null,(0,a.mdx)("em",{parentName:"p"},"tl;dr:")," This RFC proposes using a single naming function to generate names for\nall configurations."),(0,a.mdx)("h2",{id:"context"},"Context"),(0,a.mdx)("p",null,"NOTE: The configuration name consists of a readable string followed by the hash\nof the configuration. The readable string is technically the ",(0,a.mdx)("inlineCode",{parentName:"p"},"PlatformInfo"),"\nname. For sake of ease of writing, this doc uses configuration name and platform\nname interchangeably to describe this concept."),(0,a.mdx)("p",null,"Currently, there are 3 ways to create and name a configuration."),(0,a.mdx)("ol",null,(0,a.mdx)("li",{parentName:"ol"},"A ",(0,a.mdx)("inlineCode",{parentName:"li"},"platform")," target defines a configuration, and the platform target label\nbecomes the platform name."),(0,a.mdx)("li",{parentName:"ol"},"A transition function defines the configuration and generates a name for the\nconfiguration."),(0,a.mdx)("li",{parentName:"ol"},"When a modifier is used, the cfg constructor function for modifiers defines\nthe configuration and its name. There is currently a single naming function\nthat generates all modifier-based configuration names.")),(0,a.mdx)("p",null,"Modifiers are intended to replace platforms, so in the future all configuration\nnames will be generated. Unfortuately, most of the generated names today used\ntoday in transitions are not very good. Problems that I've seen in practice\ninclude:"),(0,a.mdx)("ol",null,(0,a.mdx)("li",{parentName:"ol"},'Configuration names barely contain any useful information about the\nconfiguration. This happens a lot in transitions. For example, the android\nsplit CPU architecture transition names the generated configurations "x86_64"\nand "arm64", which tells very little about the configuration beyond the CPU\narchitectures it splits on.'),(0,a.mdx)("li",{parentName:"ol"},"Transition function incorrectly retains the old configuration name that is no\nlonger relevant, misleading the user about what this configuration actually\ndoes. I've seen this happen where a configuration has py3.8 in name but the\npython version constraint stored is actually py3.10.")),(0,a.mdx)("h2",{id:"proposal"},"Proposal"),(0,a.mdx)("p",null,"Register a single Starlark function to define all configuration names. This\nStarlark function would accept a ",(0,a.mdx)("inlineCode",{parentName:"p"},"ConfigurationInfo")," and return a string for the\nname of the ",(0,a.mdx)("inlineCode",{parentName:"p"},"ConfigurationInfo"),"."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"# Example\ndef name(cfg: ConfigurationInfo) -> str:\n # ...\n")),(0,a.mdx)("p",null,(0,a.mdx)("inlineCode",{parentName:"p"},"PlatformInfo")," is no longer available in Starlark. Any place that previously\nuses a ",(0,a.mdx)("inlineCode",{parentName:"p"},"PlatformInfo")," will now use ",(0,a.mdx)("inlineCode",{parentName:"p"},"ConfigurationInfo")," instead. Buck2 will\ninvoke this function each time it encounters a new ",(0,a.mdx)("inlineCode",{parentName:"p"},"ConfigurationInfo")," to define\nits name."),(0,a.mdx)("p",null,"This function will attempt to provide a useful name based on the constraints in\nthe configuration, which mitigates the issue of short or misleading\nconfiguration names. There are some risks that there will be high amount of code\ncomplexity in a function if all configurations are named by one function."),(0,a.mdx)("p",null,"This function will most likely be registered via a ",(0,a.mdx)("inlineCode",{parentName:"p"},"set_cfg_name")," function or\nsomething callable from root PACKAGE file or potentially prelude."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ae29e9d1.57dad84d.js b/assets/js/ae29e9d1.57dad84d.js new file mode 100644 index 0000000000000..df18f8cf68c12 --- /dev/null +++ b/assets/js/ae29e9d1.57dad84d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3846],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>s,MDXProvider:()=>d,mdx:()=>x,useMDXComponents:()=>p,withMDXComponents:()=>u});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},o.apply(this,arguments)}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=r.createContext({}),u=function(e){return function(n){var t=p(n.components);return r.createElement(e,o({},n,{components:t}))}},p=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},d=function(e){var n=p(e.components);return r.createElement(s.Provider,{value:n},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},h=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),u=p(t),d=a,m=u["".concat(l,".").concat(d)]||u[d]||f[d]||o;return t?r.createElement(m,c(c({ref:n},s),{},{components:t})):r.createElement(m,c({ref:n},s))}));function x(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,l=new Array(o);l[0]=h;var c={};for(var i in n)hasOwnProperty.call(n,i)&&(c[i]=n[i]);c.originalType=e,c[m]="string"==typeof e?e:a,l[1]=c;for(var s=2;s<o;s++)l[s]=t[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}h.displayName="MDXCreateElement"},13005:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var r=t(87462),a=(t(67294),t(3905));const o={id:"expand-external-cell",title:"expand-external-cell"},l=void 0,c={unversionedId:"users/commands/expand-external-cell",id:"users/commands/expand-external-cell",title:"expand-external-cell",description:"These are the flags/commands under buck2 expand-external-cell and their --help output:",source:"@site/../docs/users/commands/expand-external-cell.generated.md",sourceDirName:"users/commands",slug:"/users/commands/expand-external-cell",permalink:"/docs/users/commands/expand-external-cell",draft:!1,tags:[],version:"current",frontMatter:{id:"expand-external-cell",title:"expand-external-cell"},sidebar:"mainSidebar",previous:{title:"docs",permalink:"/docs/users/commands/docs"},next:{title:"help-env",permalink:"/docs/users/commands/help-env"}},i={},s=[{value:"buck expand-external-cell",id:"buck-expand-external-cell",level:2}],u={toc:s};function p(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"These are the flags/commands under ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 expand-external-cell")," and their ",(0,a.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,a.mdx)("h2",{id:"buck-expand-external-cell"},"buck expand-external-cell"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Expand the contents of an external cell into the repo.\n\nThe contents are placed at the path you specified for this cell in your buckconfig.\n\nIf you additionally remove the entry from the `external_cells` section of your buckconfig, you can\nedit the files directly in the repo and see those edits reflected in your build.\n\nNote that this creates a point-in-time snapshot. The files in the repo will not be updated if you eg\nchange the git commit of the cell in the future.\n\nUsage: buck2-release expand-external-cell [OPTIONS] <CELL>\n\nArguments:\n <CELL>\n \n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/afa575f6.ea4d55d1.js b/assets/js/afa575f6.ea4d55d1.js new file mode 100644 index 0000000000000..b70cc0ec0697e --- /dev/null +++ b/assets/js/afa575f6.ea4d55d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9254],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>l,MDXProvider:()=>p,mdx:()=>g,useMDXComponents:()=>h,withMDXComponents:()=>c});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),c=function(e){return function(t){var n=h(t.components);return a.createElement(e,o({},t,{components:n}))}},h=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=h(e.components);return a.createElement(l.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),c=h(n),p=r,d=c["".concat(s,".").concat(p)]||c[p]||f[p]||o;return n?a.createElement(d,i(i({ref:t},l),{},{components:n})):a.createElement(d,i({ref:t},l))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,s=new Array(o);s[0]=m;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[d]="string"==typeof e?e:r,s[1]=i;for(var l=2;l<o;l++)s[l]=n[l];return a.createElement.apply(null,s)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},26396:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var a=n(87462),r=(n(67294),n(3905));const o={id:"utargets",title:"utargets"},s=void 0,i={unversionedId:"users/commands/utargets",id:"users/commands/utargets",title:"utargets",description:"These are the flags/commands under buck2 utargets and their --help output:",source:"@site/../docs/users/commands/utargets.generated.md",sourceDirName:"users/commands",slug:"/users/commands/utargets",permalink:"/docs/users/commands/utargets",draft:!1,tags:[],version:"current",frontMatter:{id:"utargets",title:"utargets"},sidebar:"mainSidebar",previous:{title:"uquery",permalink:"/docs/users/commands/uquery"},next:{title:"Cheat Sheet",permalink:"/docs/users/cheat_sheet"}},u={},l=[{value:"buck utargets",id:"buck-utargets",level:2}],c={toc:l};function h(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"These are the flags/commands under ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 utargets")," and their ",(0,r.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,r.mdx)("h2",{id:"buck-utargets"},"buck utargets"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"},"Show details about the specified targets.\n\nThis command is meant to only handle unconfigured targets, but for historical reasons, with certain\nflags it can also work with configured targets.\n\nUsage: buck2-release utargets [OPTIONS] [TARGET_PATTERNS]...\n\nArguments:\n [TARGET_PATTERNS]...\n Patterns to interpret\n\nOptions:\n --json\n Print targets as JSON\n\n --json-lines\n Print targets as JSON-lines\n\n --stats\n Print statistics of how many entries were processed\n\n --resolve-alias\n Print the fully-qualified build target for the specified aliases\n\n --show-target-hash\n Print a stable hash of each target after the target name\n\n --show-unconfigured-target-hash\n Print a stable unconfigured hash of each target after the target name\n\n --target-hash-file-mode <TARGET_HASH_FILE_MODE>\n Modifies computation of target hashes. If set to `PATHS_AND_CONTENTS` (the default), the\n contents of all files referenced from the targets will be used to compute the target hash.\n If set to `PATHS_ONLY`, only files' paths contribute to the hash. If set to `NONE` no\n files will be used. See also --target-hash-modified-paths\n \n [default: paths_and_contents]\n [possible values: paths_only, paths_and_contents, none]\n\n --target-hash-modified-paths <TARGET_HASH_MODIFIED_PATHS>...\n Modifies computation of target hashes. Only effective when --target-hash-file-mode is set\n to `PATHS_ONLY`. If a target or its dependencies reference a file from this set, the\n target's hash will be different than if this option was omitted. Otherwise, the target's\n hash will be the same as if this option was omitted\n\n --target-hash-function <TARGET_HASH_FUNCTION>\n Selects either the \"fast\" or the \"strong\" target hash function to be used for computing\n target hashes. While we don't specify the exact algorithm, the \"strong\" algorithm should\n be a reasonable cryptographic hash (ex. blake3) while the \"fast\" function will likely be a\n non-crypto hash. Both functions are guaranteed to be deterministic and to have the same\n value across different platforms/architectures\n \n [default: fast]\n [possible values: sha1, sha256, murmur-hash3, fast, strong]\n\n --target-hash-recursive <TARGET_HASH_RECURSIVE>\n When true, emit the hash or target node and all dependencies recursively. When false, hash\n only the target node\n \n [default: true]\n [possible values: true, false]\n\n -A, --output-all-attributes\n Output all attributes, equivalent of --output-attribute ''.\n \n Avoid using this flag in automation because it may be expensive to produce certain\n attributes, and because it makes harder to track which special attributes are used.\n\n -B, --output-basic-attributes\n Output basic attributes, namely those the user can supply, plus rule type and package name\n\n -a, --output-attribute <ATTRIBUTE>\n Regular expressions to match attributes. Regular expressions are used in \"search\" mode, so\n for example empty string matches all attributes including special attributes.\n \n When using in automation, please specify the regular expression to match the attribute\n precisely, for example `--output-attribute '^headers$'` to make it easier to track which\n special attributes are used.\n\n --output-attributes <ATTRIBUTE>...\n Deprecated: Use `--output-attribute` instead.\n \n List of space-separated attributes to output, --output-attributes attr1 attr2.\n\n --include-defaults\n Enables printing of default attributes. This would be attributes in a target that aren't\n explicitly set in the target but instead use the default set in the rule declaration\n\n --show-output\n Print the path to the output for each of the rules relative to the project root\n\n --show-full-output\n Print the absolute path to the output for each of the rules\n\n --show-simple-output\n Print only the path to the output for each of the rules relative to the project root\n\n --show-full-simple-output\n Print only the absolute path to the output for each of the rules\n\n --show-json-output\n Print the output paths relative to the project root, in JSON format\n\n --show-full-json-output\n Print the output absolute paths, in JSON format\n\n --keep-going\n On loading errors, put buck.error in the output stream and continue\n\n --streaming\n Write output as soon as it is available. The order of the output items is\n non-deterministic and if multiple patterns cover the same target, may have duplicates\n\n --no-cache\n Don't cache the target information on the build graph\n\n --imports\n Show the imports of each package/import. Shows an additional output per package/import\n (not per target), including implicit dependencies (e.g. the prelude) but only direct\n dependencies (not the transitive closure)\n\n --package-values\n Show the package values. Produces an additional attribute representing all the package\n values for the package containing the target\n\n --package-values-regex <VALUES>\n Regular expressions to match package values. Produces an additional attribute representing\n package values for the package containing the target. Regular expressions are used in\n \"search\" mode so, for example, empty string matches all package values\n\n -o, --output <PATH>\n File to put the output in, rather than sending to stdout.\n \n File will be created if it does not exist, and overwritten if it does.\n\n --compression <SCHEME>\n Compress the output\n \n [default: none]\n [possible values: none, gzip, zstd]\n\n -j, --num-threads <THREADS>\n Number of threads to use during execution (default is # cores)\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b1f14c1e.bc42299b.js b/assets/js/b1f14c1e.bc42299b.js new file mode 100644 index 0000000000000..d30ddc10d49c9 --- /dev/null +++ b/assets/js/b1f14c1e.bc42299b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5983],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>m,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>u});var o=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(){return s=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},s.apply(this,arguments)}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,o,a=function(e,n){if(null==e)return{};var t,o,a={},s=Object.keys(e);for(o=0;o<s.length;o++)t=s[o],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)t=s[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=o.createContext({}),u=function(e){return function(n){var t=d(n.components);return o.createElement(e,s({},n,{components:t}))}},d=function(e){var n=o.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},m=function(e){var n=d(e.components);return o.createElement(c.Provider,{value:n},e.children)},f="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},p=o.forwardRef((function(e,n){var t=e.components,a=e.mdxType,s=e.originalType,r=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=d(t),m=a,f=u["".concat(r,".").concat(m)]||u[m]||h[m]||s;return t?o.createElement(f,i(i({ref:n},c),{},{components:t})):o.createElement(f,i({ref:n},c))}));function b(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var s=t.length,r=new Array(s);r[0]=p;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i[f]="string"==typeof e?e:a,r[1]=i;for(var c=2;c<s;c++)r[c]=t[c];return o.createElement.apply(null,r)}return o.createElement.apply(null,t)}p.displayName="MDXCreateElement"},60198:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=t(87462),a=(t(67294),t(3905));const s={id:"docs",title:"docs"},r=void 0,i={unversionedId:"users/commands/docs",id:"users/commands/docs",title:"docs",description:"These are the flags/commands under buck2 docs and their --help output:",source:"@site/../docs/users/commands/docs.generated.md",sourceDirName:"users/commands",slug:"/users/commands/docs",permalink:"/docs/users/commands/docs",draft:!1,tags:[],version:"current",frontMatter:{id:"docs",title:"docs"},sidebar:"mainSidebar",previous:{title:"ctargets",permalink:"/docs/users/commands/ctargets"},next:{title:"expand-external-cell",permalink:"/docs/users/commands/expand-external-cell"}},l={},c=[{value:"buck docs",id:"buck-docs",level:2},{value:"buck docs starlark",id:"buck-docs-starlark",level:3},{value:"buck docs starlark-builtins",id:"buck-docs-starlark-builtins",level:3},{value:"buck docs uquery",id:"buck-docs-uquery",level:3},{value:"buck docs cquery",id:"buck-docs-cquery",level:3},{value:"buck docs aquery",id:"buck-docs-aquery",level:3}],u={toc:c};function d(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,o.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"These are the flags/commands under ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 docs")," and their ",(0,a.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,a.mdx)("h2",{id:"buck-docs"},"buck docs"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Print documentation of specified symbols\n\nUsage: buck2-release docs [OPTIONS] <COMMAND>\n\nCommands:\n starlark Print documentation of user-defined starlark symbols\n starlark-builtins Generate documentation for starlark builtins\n uquery Print documentation for query/uquery\n cquery Print documentation for cquery\n aquery Print documentation for aquery\n help Print this message or the help of the given subcommand(s)\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-docs-starlark"},"buck docs starlark"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Print documentation of user-defined starlark symbols\n\nUsage: buck2-release docs starlark [OPTIONS] [SYMBOL_PATTERNS]...\n\nArguments:\n [SYMBOL_PATTERNS]...\n Patterns to interpret. //foo:bar.bzl is 'every symbol in //foo:bar.bzl', //foo:bar.bzl:baz\n only returns the documentation for the symbol 'baz' in //foo:bar.bzl\n\nOptions:\n --markdown-files-destination-dir <DESTINATION_DIR>\n \n\n --markdown-files-native-subdir <NATIVE_SUBDIR>\n [default: native]\n\n --markdown-files-starlark-subdir <STARLARK_SUBDIR>\n [default: starlark]\n\n --format <FORMAT>\n how to format the returned documentation\n \n [default: json]\n [possible values: json, markdown_files]\n\n --builtins\n get documentation for built in functions, rules, and providers\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-docs-starlark-builtins"},"buck docs starlark-builtins"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Generate documentation for starlark builtins.\n\nThis command is designed to support buck2's doc generation and does not have stable output.\n\nUsage: buck2-release docs starlark-builtins [OPTIONS] --output-dir <OUTPUT_DIR>\n\nOptions:\n --output-dir <OUTPUT_DIR>\n The directory to output files to\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-docs-uquery"},"buck docs uquery"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Print documentation for query/uquery\n\nUsage: buck2-release docs uquery [OPTIONS]\n\nOptions:\n --format <FORMAT>\n How to format the documentation\n \n [default: rendered]\n [possible values: markdown, rendered]\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-docs-cquery"},"buck docs cquery"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Print documentation for cquery\n\nUsage: buck2-release docs cquery [OPTIONS]\n\nOptions:\n --format <FORMAT>\n How to format the documentation\n \n [default: rendered]\n [possible values: markdown, rendered]\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,a.mdx)("h3",{id:"buck-docs-aquery"},"buck docs aquery"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Print documentation for aquery\n\nUsage: buck2-release docs aquery [OPTIONS]\n\nOptions:\n --format <FORMAT>\n How to format the documentation\n \n [default: rendered]\n [possible values: markdown, rendered]\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b4f9e79c.adc292d5.js b/assets/js/b4f9e79c.adc292d5.js new file mode 100644 index 0000000000000..1f313e27d1813 --- /dev/null +++ b/assets/js/b4f9e79c.adc292d5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2961],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>s,MDXProvider:()=>d,mdx:()=>h,useMDXComponents:()=>u,withMDXComponents:()=>p});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(){return a=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},a.apply(this,arguments)}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){o(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=n.createContext({}),p=function(e){return function(r){var t=u(r.components);return n.createElement(e,a({},r,{components:t}))}},u=function(e){var r=n.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):l(l({},r),e)),t},d=function(e){var r=u(e.components);return n.createElement(s.Provider,{value:r},e.children)},m="mdxType",x={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},f=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=u(t),d=o,m=p["".concat(i,".").concat(d)]||p[d]||x[d]||a;return t?n.createElement(m,l(l({ref:r},s),{},{components:t})):n.createElement(m,l({ref:r},s))}));function h(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=f;var l={};for(var c in r)hasOwnProperty.call(r,c)&&(l[c]=r[c]);l.originalType=e,l[m]="string"==typeof e?e:o,i[1]=l;for(var s=2;s<a;s++)i[s]=t[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}f.displayName="MDXCreateElement"},97033:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var n=t(87462),o=(t(67294),t(3905));const a={id:"ActionErrorCtx"},i="ActionErrorCtx type",l={unversionedId:"api/bxl/ActionErrorCtx",id:"api/bxl/ActionErrorCtx",title:"ActionErrorCtx type",description:"Methods available on ActionErrorCtx to help categorize the action failure. These categorizations should be finer grain, and most likely language specific.",source:"@site/../docs/api/bxl/ActionErrorCtx.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/ActionErrorCtx",permalink:"/docs/api/bxl/ActionErrorCtx",draft:!1,tags:[],version:"current",frontMatter:{id:"ActionErrorCtx"},sidebar:"apiSidebar",previous:{title:"globals",permalink:"/docs/api/bxl/globals"},next:{title:"ActionErrorLocation type",permalink:"/docs/api/bxl/ActionErrorLocation"}},c={},s=[{value:"ActionErrorCtx.new_error_location",id:"actionerrorctxnew_error_location",level:2},{value:"ActionErrorCtx.new_sub_error",id:"actionerrorctxnew_sub_error",level:2},{value:"ActionErrorCtx.stderr",id:"actionerrorctxstderr",level:2},{value:"ActionErrorCtx.stdout",id:"actionerrorctxstdout",level:2}],p={toc:s};function u(e){let{components:r,...t}=e;return(0,o.mdx)("wrapper",(0,n.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"actionerrorctx-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"ActionErrorCtx")," type"),(0,o.mdx)("p",null,"Methods available on ",(0,o.mdx)("inlineCode",{parentName:"p"},"ActionErrorCtx")," to help categorize the action failure. These categorizations should be finer grain, and most likely language specific."),(0,o.mdx)("h2",{id:"actionerrorctxnew_error_location"},"ActionErrorCtx.new","_","error","_","location"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def ActionErrorCtx.new_error_location(\n *,\n file: str,\n line: None | int = None\n) -> ActionErrorLocation\n")),(0,o.mdx)("p",null,"Create a new error location, specifying a file path and an optional line number."),(0,o.mdx)("p",null,"The file path should be either a project-relative path, or an absolute path."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionerrorctxnew_sub_error"},"ActionErrorCtx.new","_","sub","_","error"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def ActionErrorCtx.new_sub_error(\n *,\n category: str,\n message: None | str = None,\n locations: None | list[ActionErrorLocation] | tuple[ActionErrorLocation, ...] = None\n) -> ActionSubError\n")),(0,o.mdx)("p",null,"Create a new sub error, specifying an error category name, optional message, and an optional list of error locations."),(0,o.mdx)("p",null,"The category should be finer grain error categorizations provided by the rule authors,\nand tend to be language specific. These should not be any kind of shared concepts\namong all errors for all languages/rules. For example, timeouts and infra errors\nshould not go here - buck2 tries to categorize these types of errors automatically.\nAn example of a finer grain error category may be the error code for rustc outputs."),(0,o.mdx)("p",null,"The message will be emitted to the build report, and to the stderr in the error diagnostics\nsection."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionerrorctxstderr"},"ActionErrorCtx.stderr"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorCtx.stderr: str\n")),(0,o.mdx)("p",null,"The stderr of the failed action."),(0,o.mdx)("hr",null),(0,o.mdx)("h2",{id:"actionerrorctxstdout"},"ActionErrorCtx.stdout"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorCtx.stdout: str\n")),(0,o.mdx)("p",null,"The stdout of the failed action."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b6052872.e7453e9a.js b/assets/js/b6052872.e7453e9a.js new file mode 100644 index 0000000000000..2c07a95cee364 --- /dev/null +++ b/assets/js/b6052872.e7453e9a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7610],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>s,MDXProvider:()=>m,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>c});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),c=function(e){return function(t){var n=u(t.components);return a.createElement(e,o({},t,{components:n}))}},u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},m=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},x=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),c=u(n),m=r,d=c["".concat(i,".").concat(m)]||c[m]||f[m]||o;return n?a.createElement(d,l(l({ref:t},s),{},{components:n})):a.createElement(d,l({ref:t},s))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=x;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[d]="string"==typeof e?e:r,i[1]=l;for(var s=2;s<o;s++)i[s]=n[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}x.displayName="MDXCreateElement"},48273:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var a=n(87462),r=(n(67294),n(3905));const o={id:"bxl_getting_started",title:"Getting Started"},i=void 0,l={unversionedId:"developers/bxl_getting_started",id:"developers/bxl_getting_started",title:"Getting Started",description:"If you are mostly unfamiliar with Buck2, take a look at",source:"@site/../docs/developers/bxl_getting_started.md",sourceDirName:"developers",slug:"/developers/bxl_getting_started",permalink:"/docs/developers/bxl_getting_started",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl_getting_started",title:"Getting Started"},sidebar:"mainSidebar",previous:{title:"Why BXL",permalink:"/docs/developers/bxl"},next:{title:"BXL Basics",permalink:"/docs/developers/bxl_basics"}},p={},s=[{value:"Navigating the docs",id:"navigating-the-docs",level:2},{value:"Writing a BXL",id:"writing-a-bxl",level:2},{value:"Running a BXL",id:"running-a-bxl",level:2}],c={toc:s};function u(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"If you are mostly unfamiliar with Buck2, take a look at\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/developers/bxl_basics"},"BXL Basics"),"."),(0,r.mdx)("h2",{id:"navigating-the-docs"},"Navigating the docs"),(0,r.mdx)("p",null,"All BXL APIs can be found ",(0,r.mdx)("a",{parentName:"p",href:"../../api/bxl/globals"},"here"),". A good place to start\nwould be the ",(0,r.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.Context"},(0,r.mdx)("inlineCode",{parentName:"a"},"bxl.Context")),", which contains all\navailable BXL functionalities."),(0,r.mdx)("p",null,"All ",(0,r.mdx)("a",{parentName:"p",href:"../../api/build/globals"},"Build APIs")," are mirrored to the BXL APIs section."),(0,r.mdx)("p",null,"The ",(0,r.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md"},"Starlark spec"),"\nis also a good resource for general Starlark APIs."),(0,r.mdx)("h2",{id:"writing-a-bxl"},"Writing a BXL"),(0,r.mdx)("p",null,"To create a BXL, first, create a script somewhere in the repository ending in\n",(0,r.mdx)("inlineCode",{parentName:"p"},".bxl"),". (Note that you can define a single bxl per file, or multiple BXLs per\nfile like in Starlark rules)."),(0,r.mdx)("p",null,"In it, define a BXL function as follows:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def _your_implementation(ctx):\n # ...\n pass\n\nyour_function_name = bxl_main(\n impl = _your_implementation,\n cli_args = {\n # cli args that you want to receive from the command line\n "bool_arg": cli_args.bool(),\n "list_type": cli_args.list(cli_args.int()),\n "optional": cli_args.option(cli_args.string()),\n "target": cli_args.target_label(),\n },\n)\n')),(0,r.mdx)("p",null,"This exposes ",(0,r.mdx)("inlineCode",{parentName:"p"},"your_function_name")," as a function, with whatever arguments you\ndefined it, so that on the command line you can invoke:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"},"buck2 bxl //myscript.bxl:your_function_name -- --bool_arg true --list_type 1 --list_type 2 --target //foo:bar`\n")),(0,r.mdx)("p",null,"You can also add helpdocs to the cli args and get them to show up in cli via\n",(0,r.mdx)("inlineCode",{parentName:"p"},"--help"),":"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def _your_implementation(ctx):\n # ...\n pass\n\nyour_function_name = bxl_main(\n impl = _your_implementation,\n cli_args = {\n "my_bool": cli_args.bool(True, "this will be printed as part of `--help`")\n },\n)\n')),(0,r.mdx)("p",null,"The implementation function takes a single context as parameter (see the\ndocumentation for ",(0,r.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.Context"},(0,r.mdx)("inlineCode",{parentName:"a"},"bxl.Context")),"). Using it, you'll\nbe able to access functions that enable you to perform queries, analysis,\nbuilds, and even create your own actions within BXL to build artifacts as part\nof a BXL function."),(0,r.mdx)("p",null,"The primary method to return information from BXL is to either print them, or\nbuild some artifact (for details, see the\n",(0,r.mdx)("a",{parentName:"p",href:"../../api/bxl/bxl.OutputStream"},(0,r.mdx)("inlineCode",{parentName:"a"},"bxl.OutputStream"))," documentation, available as\npart of ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.output"),"). At high level, ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.output.print(..)")," prints results to\nstdout, and ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.output.ensure(artifact)")," marks artifacts as to be materialized\ninto buck-out by the end of the BXL function, returning an object that lets you\nprint the output path via ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.output.print(ensured)"),"."),(0,r.mdx)("h2",{id:"running-a-bxl"},"Running a BXL"),(0,r.mdx)("p",null,"To run a BXL function, invoke the buck2 command:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"},"buck2 bxl <bxl function> -- <function args>\n")),(0,r.mdx)("p",null,"Where ",(0,r.mdx)("inlineCode",{parentName:"p"},"<bxl function>")," is of the form ",(0,r.mdx)("inlineCode",{parentName:"p"},"<cell path to function>:<function name>"),",\nand ",(0,r.mdx)("inlineCode",{parentName:"p"},"<function args>")," are the arguments that the function accepts from the\ncommand line."),(0,r.mdx)("p",null,"The documentation for a BXL function can be seen by running:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"}," buck2 bxl <bxl function> -- --help`\n")),(0,r.mdx)("p",null,"Note that this is different from ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 bxl --help"),", which generates the help\nfor the buck2 command instead of the function."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b7c3ea2a.9be07b54.js b/assets/js/b7c3ea2a.9be07b54.js new file mode 100644 index 0000000000000..bb0c58310ba2c --- /dev/null +++ b/assets/js/b7c3ea2a.9be07b54.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8902],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>m,mdx:()=>g,useMDXComponents:()=>d,withMDXComponents:()=>u});var a=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(){return s=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},s.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,a,o=function(e,n){if(null==e)return{};var t,a,o={},s=Object.keys(e);for(a=0;a<s.length;a++)t=s[a],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)t=s[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var c=a.createContext({}),u=function(e){return function(n){var t=d(n.components);return a.createElement(e,s({},n,{components:t}))}},d=function(e){var n=a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},m=function(e){var n=d(e.components);return a.createElement(c.Provider,{value:n},e.children)},h="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},p=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,s=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=d(t),m=o,h=u["".concat(i,".").concat(m)]||u[m]||f[m]||s;return t?a.createElement(h,r(r({ref:n},c),{},{components:t})):a.createElement(h,r({ref:n},c))}));function g(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var s=t.length,i=new Array(s);i[0]=p;var r={};for(var l in n)hasOwnProperty.call(n,l)&&(r[l]=n[l]);r.originalType=e,r[h]="string"==typeof e?e:o,i[1]=r;for(var c=2;c<s;c++)i[c]=t[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}p.displayName="MDXCreateElement"},16768:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var a=t(87462),o=(t(67294),t(3905));const s={id:"audit",title:"audit"},i=void 0,r={unversionedId:"users/commands/audit",id:"users/commands/audit",title:"audit",description:"These are the flags/commands under buck2 audit and their --help output:",source:"@site/../docs/users/commands/audit.generated.md",sourceDirName:"users/commands",slug:"/users/commands/audit",permalink:"/docs/users/commands/audit",draft:!1,tags:[],version:"current",frontMatter:{id:"audit",title:"audit"},sidebar:"mainSidebar",previous:{title:"aquery",permalink:"/docs/users/commands/aquery"},next:{title:"build",permalink:"/docs/users/commands/build"}},l={},c=[{value:"buck audit",id:"buck-audit",level:2},{value:"buck audit cell",id:"buck-audit-cell",level:3},{value:"buck audit classpath",id:"buck-audit-classpath",level:3},{value:"buck audit config",id:"buck-audit-config",level:3},{value:"buck audit configurations",id:"buck-audit-configurations",level:3},{value:"buck audit includes",id:"buck-audit-includes",level:3},{value:"buck audit prelude",id:"buck-audit-prelude",level:3},{value:"buck audit providers",id:"buck-audit-providers",level:3},{value:"buck audit subtargets",id:"buck-audit-subtargets",level:3},{value:"buck audit analysis-queries",id:"buck-audit-analysis-queries",level:3},{value:"buck audit execution-platform-resolution",id:"buck-audit-execution-platform-resolution",level:3},{value:"buck audit visibility",id:"buck-audit-visibility",level:3},{value:"buck audit starlark",id:"buck-audit-starlark",level:3},{value:"buck audit starlark module",id:"buck-audit-starlark-module",level:4},{value:"buck audit starlark package-deps",id:"buck-audit-starlark-package-deps",level:4},{value:"buck audit dep-files",id:"buck-audit-dep-files",level:3},{value:"buck audit deferred-materializer",id:"buck-audit-deferred-materializer",level:3},{value:"buck audit deferred-materializer list",id:"buck-audit-deferred-materializer-list",level:4},{value:"buck audit deferred-materializer list-subscriptions",id:"buck-audit-deferred-materializer-list-subscriptions",level:4},{value:"buck audit deferred-materializer fsck",id:"buck-audit-deferred-materializer-fsck",level:4},{value:"buck audit deferred-materializer refresh",id:"buck-audit-deferred-materializer-refresh",level:4},{value:"buck audit deferred-materializer get-refresh-log",id:"buck-audit-deferred-materializer-get-refresh-log",level:4},{value:"buck audit deferred-materializer test-iter",id:"buck-audit-deferred-materializer-test-iter",level:4},{value:"buck audit deferred-materializer flush-access-times",id:"buck-audit-deferred-materializer-flush-access-times",level:4},{value:"buck audit output",id:"buck-audit-output",level:3},{value:"buck audit parse",id:"buck-audit-parse",level:3},{value:"buck audit package-values",id:"buck-audit-package-values",level:3}],u={toc:c};function d(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,a.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"These are the flags/commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 audit")," and their ",(0,o.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,o.mdx)("h2",{id:"buck-audit"},"buck audit"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Perform lower level queries\n\nUsage: buck2-release audit [OPTIONS] <COMMAND>\n\nCommands:\n cell Query information about the [cells] list in .buckconfig.\n classpath Prints out a target's classpaths if it has one.\n This command is deprecated and currently available for\n compatibility with buck1.\n We will replace this command with something that can audit the\n entire `TemplatePlaceholderInfo` in the future.\n config buck audit config\n configurations prints the constraints for configuration IDs\n includes list build file extensions imported at parse time.\n prelude print the interpreter prelude to stdout\n providers prints out the providers for a target pattern\n subtargets Print all subtargets\n analysis-queries buck audit analysis resolving query attrs\n execution-platform-resolution prints out information about execution platform resolution\n visibility Verify the visibility for transitive deps of the specified\n target(s) on the unconfigured target graph\n starlark Debug Starlark interpreter\n dep-files prints out the select files for a command\n deferred-materializer Access and interact with the deferred materializer\n output Query the action that produced the output artifact. Does not\n support BXL, test, scratch, or anon artifacts. If the configuration\n hash of the output path does not match the current platform\n configuration, the unconfigured target label will be returned.\n parse Parses the buck-out path into parts that may be useful (ex: config\n hash, file path to artifact).\n package-values Inspect package values\n help Print this message or the help of the given subcommand(s)\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-cell"},"buck audit cell"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Query information about the [cells] list in .buckconfig.\n\nUsage: buck2-release audit cell [OPTIONS] [CELL_ALIASES]...\n\nArguments:\n [CELL_ALIASES]...\n Cell aliases to query. These aliases will be resolved in the working directory cell.\n\nOptions:\n --json\n Output in JSON format\n\n --paths-only\n Don't include the cell name in the output\n\n --aliases\n If enabled and no explicit aliases are passed, will query for all aliases in the working\n directory cell.\n\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-classpath"},"buck audit classpath"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Prints out a target's classpaths if it has one.\n This command is deprecated and currently available for compatibility with buck1.\n We will replace this command with something that can audit the entire `TemplatePlaceholderInfo`\n in the future.\n\nUsage: buck2-release audit classpath [OPTIONS] [TARGET_PATTERNS]...\n\nArguments:\n [TARGET_PATTERNS]...\n Target patterns to audit\n\nOptions:\n --json\n Output in JSON format\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-config"},"buck audit config"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"buck audit config\n\nUsage: buck2-release audit config [OPTIONS] [SPECS]...\n\nArguments:\n [SPECS]...\n config section/key specs of the form `section` or `section.key`. If any specs are\n provided, only values matching a spec will be printed (section headers will be printed\n only for sections with a key matching the spec)\n\nOptions:\n --cell <CELL>\n \n\n --all-cells\n Produce information for all cells that Buck2 knows about\n\n --output-format <OUTPUT_FORMAT>\n [possible values: simple, json]\n\n --json\n \n\n --location <LOCATION_STYLE>\n [default: none]\n [possible values: none, direct, extended]\n\n --value <VALUE_STYLE>\n [default: resolved]\n [possible values: resolved, raw, both]\n\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-configurations"},"buck audit configurations"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"prints the constraints for configuration IDs\n\nUsage: buck2-release audit configurations [OPTIONS] [configurations]...\n\nArguments:\n [configurations]...\n configurations to audit (example: `cell//package:target-105fe3389fc7e436`). If none\n provided, will print information about all known configurations.\n\nOptions:\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-includes"},"buck audit includes"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"list build file extensions imported at parse time.\n\nUsage: buck2-release audit includes [OPTIONS] [BUILD_FILES]...\n\nArguments:\n [BUILD_FILES]...\n Build files to audit. These are expected to be relative paths from the working dir cell.\n\nOptions:\n --json\n Print json representation of outputs\n\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-prelude"},"buck audit prelude"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"print the interpreter prelude to stdout\n\nUsage: buck2-release audit prelude [OPTIONS]\n\nOptions:\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-providers"},"buck audit providers"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"prints out the providers for a target pattern\n\nUsage: buck2-release audit providers [OPTIONS] <TARGET_PATTERNS>...\n\nArguments:\n <TARGET_PATTERNS>...\n Patterns to analyze\n\nOptions:\n --quiet\n \n\n -l, --list\n List the available providers\n\n --print-debug\n Print the providers using debug format (very verbose)\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n -u, --target-universe <TARGET_UNIVERSE>\n Comma separated list of targets to construct a configured target universe.\n \n When the option is specified, command targets are be resolved in this universe.\n Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the\n universe targets, not the command targets.\n \n This argument is particularly recommended on most non-trivial cqueries. In the absence of\n this argument, buck2 will use the target literals in your cquery expression as the value\n for\n this argument, which may not be what you want.\n\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-subtargets"},"buck audit subtargets"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Print all subtargets\n\nUsage: buck2-release audit subtargets [OPTIONS] <TARGET_PATTERNS>...\n\nArguments:\n <TARGET_PATTERNS>...\n Patterns to analyze\n\nOptions:\n --shallow\n Do not recursively print all nested subtargets; print only the first level. This is set to\n false by default\n\n --json\n Print subtargets as JSON\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n -u, --target-universe <TARGET_UNIVERSE>\n Comma separated list of targets to construct a configured target universe.\n \n When the option is specified, command targets are be resolved in this universe.\n Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the\n universe targets, not the command targets.\n \n This argument is particularly recommended on most non-trivial cqueries. In the absence of\n this argument, buck2 will use the target literals in your cquery expression as the value\n for\n this argument, which may not be what you want.\n\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-analysis-queries"},"buck audit analysis-queries"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"buck audit analysis resolving query attrs\n\nUsage: buck2-release audit analysis-queries [OPTIONS] [TARGET_PATTERNS]...\n\nArguments:\n [TARGET_PATTERNS]...\n Patterns to evaluate. The query attributes for targets matching these patterns will be\n evaluated\n\nOptions:\n --include-outputs\n Enable to print the outputs for the targets in the resolved queries\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n -u, --target-universe <TARGET_UNIVERSE>\n Comma separated list of targets to construct a configured target universe.\n \n When the option is specified, command targets are be resolved in this universe.\n Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the\n universe targets, not the command targets.\n \n This argument is particularly recommended on most non-trivial cqueries. In the absence of\n this argument, buck2 will use the target literals in your cquery expression as the value\n for\n this argument, which may not be what you want.\n\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-execution-platform-resolution"},"buck audit execution-platform-resolution"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"prints out information about execution platform resolution\n\nUsage: buck2-release audit execution-platform-resolution [OPTIONS] [TARGET_PATTERNS]...\n\nArguments:\n [TARGET_PATTERNS]...\n Patterns to analyze\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n -u, --target-universe <TARGET_UNIVERSE>\n Comma separated list of targets to construct a configured target universe.\n \n When the option is specified, command targets are be resolved in this universe.\n Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the\n universe targets, not the command targets.\n \n This argument is particularly recommended on most non-trivial cqueries. In the absence of\n this argument, buck2 will use the target literals in your cquery expression as the value\n for\n this argument, which may not be what you want.\n\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-visibility"},"buck audit visibility"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Verify the visibility for transitive deps of the specified target(s) on the unconfigured target\ngraph\n\nUsage: buck2-release audit visibility [OPTIONS] [TARGET_PATTERNS]...\n\nArguments:\n [TARGET_PATTERNS]...\n Target pattern(s) to analyze.\n\nOptions:\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-starlark"},"buck audit starlark"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Debug Starlark interpreter\n\nUsage: buck2-release audit starlark [OPTIONS] <COMMAND>\n\nCommands:\n module Inspect Starlark module by fully qualified import string like foo//bar:baz.bzl\n package-deps Inspect Starlark package file all bzl dependencies by package name like foo//bar/baz\n help Print this message or the help of the given subcommand(s)\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h4",{id:"buck-audit-starlark-module"},"buck audit starlark module"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Inspect Starlark module by fully qualified import string like foo//bar:baz.bzl\n\nUsage: buck2-release audit starlark module [OPTIONS] <IMPORT_PATH>\n\nArguments:\n <IMPORT_PATH>\n Module import path\n\nOptions:\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h4",{id:"buck-audit-starlark-package-deps"},"buck audit starlark package-deps"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Inspect Starlark package file all bzl dependencies by package name like foo//bar/baz\n\nUsage: buck2-release audit starlark package-deps [OPTIONS] <PACKAGE>\n\nArguments:\n <PACKAGE>\n Package\n\nOptions:\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-dep-files"},"buck audit dep-files"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"prints out the select files for a command\n\nUsage: buck2-release audit dep-files [OPTIONS] <PATTERN> <CATEGORY> [IDENTIFIER]\n\nArguments:\n <PATTERN>\n Target to query dep files for\n\n <CATEGORY>\n Action category\n\n [IDENTIFIER]\n Action identifier\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-deferred-materializer"},"buck audit deferred-materializer"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Access and interact with the deferred materializer\n\nUsage: buck2-release audit deferred-materializer [OPTIONS] <COMMAND>\n\nCommands:\n list \n list-subscriptions \n fsck \n refresh \n get-refresh-log Get the log for TTL refreshes\n test-iter \n flush-access-times \n help Print this message or the help of the given subcommand(s)\n\nOptions:\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h4",{id:"buck-audit-deferred-materializer-list"},"buck audit deferred-materializer list"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Usage: buck2-release audit deferred-materializer list [OPTIONS]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h4",{id:"buck-audit-deferred-materializer-list-subscriptions"},"buck audit deferred-materializer list-subscriptions"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Usage: buck2-release audit deferred-materializer list-subscriptions [OPTIONS]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h4",{id:"buck-audit-deferred-materializer-fsck"},"buck audit deferred-materializer fsck"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Usage: buck2-release audit deferred-materializer fsck [OPTIONS]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h4",{id:"buck-audit-deferred-materializer-refresh"},"buck audit deferred-materializer refresh"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Usage: buck2-release audit deferred-materializer refresh [OPTIONS] <MIN_TTL>\n\nArguments:\n <MIN_TTL>\n Minimum TTL to require for actions\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h4",{id:"buck-audit-deferred-materializer-get-refresh-log"},"buck audit deferred-materializer get-refresh-log"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Get the log for TTL refreshes\n\nUsage: buck2-release audit deferred-materializer get-refresh-log [OPTIONS]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h4",{id:"buck-audit-deferred-materializer-test-iter"},"buck audit deferred-materializer test-iter"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Usage: buck2-release audit deferred-materializer test-iter [OPTIONS]\n\nOptions:\n --count <COUNT>\n [default: 1]\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h4",{id:"buck-audit-deferred-materializer-flush-access-times"},"buck audit deferred-materializer flush-access-times"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Usage: buck2-release audit deferred-materializer flush-access-times [OPTIONS]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-output"},"buck audit output"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Query the action that produced the output artifact. Does not support BXL, test, scratch, or anon\nartifacts. If the configuration hash of the output path does not match the current platform\nconfiguration, the unconfigured target label will be returned.\n\nUsage: buck2-release audit output [OPTIONS] <OUTPUT_PATH>\n\nArguments:\n <OUTPUT_PATH>\n The buck-out path to the build artifact, starting with `buck-out` and including the\n configuration platform.\n\nOptions:\n --json\n \n\n -A, --output-all-attributes\n Output all attributes, equivalent of --output-attribute ''.\n \n Avoid using this flag in automation because it may be expensive to produce certain\n attributes, and because it makes harder to track which special attributes are used.\n\n -B, --output-basic-attributes\n Output basic attributes, namely those the user can supply, plus rule type and package name\n\n -a, --output-attribute <ATTRIBUTE>\n Regular expressions to match attributes. Regular expressions are used in \"search\" mode, so\n for example empty string matches all attributes including special attributes.\n \n When using in automation, please specify the regular expression to match the attribute\n precisely, for example `--output-attribute '^headers$'` to make it easier to track which\n special attributes are used.\n\n --output-attributes <ATTRIBUTE>...\n Deprecated: Use `--output-attribute` instead.\n \n List of space-separated attributes to output, --output-attributes attr1 attr2.\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-parse"},"buck audit parse"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Parses the buck-out path into parts that may be useful (ex: config hash, file path to artifact).\n\nUsage: buck2-release audit parse [OPTIONS] <OUTPUT_PATH>\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\n --modifier <VALUE>\n This option is not used\n\n --json\n \n\n --output-attribute <OUTPUT_ATTRIBUTE>\n \n\n <OUTPUT_PATH>\n The buck-out path to the build artifact, starting with `buck-out` and including the\n configuration platform.\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")),(0,o.mdx)("h3",{id:"buck-audit-package-values"},"buck audit package-values"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Inspect package values.\n\nPackage values is the thing set with `write_package_value` function from `PACKAGE` files.\n\nUsage: buck2-release audit package-values [OPTIONS] [PACKAGES]...\n\nArguments:\n [PACKAGES]...\n Package names to inspect (like `//foo/bar`, no trailing colon)\n\nOptions:\n --modifier <VALUE>\n This option is not used\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b81047f4.3172b6d0.js b/assets/js/b81047f4.3172b6d0.js new file mode 100644 index 0000000000000..7b938edf9dcd3 --- /dev/null +++ b/assets/js/b81047f4.3172b6d0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5609],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>d});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),d=function(e){return function(t){var n=u(t.components);return a.createElement(e,o({},t,{components:n}))}},u=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=u(e.components);return a.createElement(c.Provider,{value:t},e.children)},f="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(n),p=r,f=d["".concat(i,".").concat(p)]||d[p]||h[p]||o;return n?a.createElement(f,s(s({ref:t},c),{},{components:n})):a.createElement(f,s({ref:t},c))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[f]="string"==typeof e?e:r,i[1]=s;for(var c=2;c<o;c++)i[c]=n[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},71749:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const o={},i="Bxl Actions and Build API",s={unversionedId:"rfcs/drafts/bxl-actions",id:"rfcs/drafts/bxl-actions",title:"Bxl Actions and Build API",description:"Bxl allows integrators to write Starlark snippets that introspect the buck2",source:"@site/../docs/rfcs/drafts/bxl-actions.md",sourceDirName:"rfcs/drafts",slug:"/rfcs/drafts/bxl-actions",permalink:"/docs/rfcs/drafts/bxl-actions",draft:!1,tags:[],version:"current",frontMatter:{}},l={},c=[{value:"Actions API",id:"actions-api",level:2},{value:"Creating and Building the Actions",id:"creating-and-building-the-actions",level:2},{value:"Internal Representation (Deferred Framework)",id:"internal-representation-deferred-framework",level:2}],d={toc:c};function u(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"bxl-actions-and-build-api"},"Bxl Actions and Build API"),(0,r.mdx)("p",null,"Bxl allows integrators to write Starlark snippets that introspect the buck2\ngraph, and perform various operations on them within Starlark to accomplish\ncomplex operations, as previously proposed in ",(0,r.mdx)("a",{parentName:"p",href:"/docs/rfcs/bxl"},"bxl RFC"),")"),(0,r.mdx)("p",null,"This document is intended at discussing the aspects of build and actions\ndeclaration of a bxl function in more details, and proposed changes to deferred\nframework to support bxl actions."),(0,r.mdx)("h2",{id:"actions-api"},"Actions API"),(0,r.mdx)("p",null,"The actions API should be the same as rules' actions API. That is, it has the\nsame ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.actions")," that allows registering of artifacts, creating actions,\ndynamic actions via the same api."),(0,r.mdx)("h2",{id:"creating-and-building-the-actions"},"Creating and Building the Actions"),(0,r.mdx)("p",null,"Bxl allows users to build targets and actions. However, when creating actions,\nthey are not bound/buildable until the artifact/action factories are finalized.\nAs such, we will introduce the limitation that bxl cannot build artifacts that\nthey themselves declared within the bxl. Instead, they will return a set of\nartifacts to expose to users, which buck2 will automatically build after\nfinalizing the action factory. For dynamic-ness, bxl users will use the standard\ndynamic output api. There is an issue that during the dynamic output api's\nlambda, bxl functions will not be able to access the regular bxl functions for\nqueries, etc. However, this is likely not important as most use cases should\nreasonably query bxl data before the dynamic outputs, and have limited power in\ndynamic-ness. We can also always replace the ctx of the dynamic to be the bxl\ncontext in the future, as we see fit."),(0,r.mdx)("p",null,"Sample:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'def my_bxl(ctx):\n actions_factory = ctx.bxl_actions.factory()\n\n artifact = actions_factory.write("file.txt", "content")\n\n # note that existing artifacts that were declared by other rules can be built\n ctx.actions.build(ctx.analysis(ctx.target("foo")).providers[DefaultInfo].default_output))\n\n return [artifact] # exposes the declared artifact to users\n')),(0,r.mdx)("h2",{id:"internal-representation-deferred-framework"},"Internal Representation (Deferred Framework)"),(0,r.mdx)("p",null,"The existing actions framework attaches all actions to a deferred, which is\nbased off a ",(0,r.mdx)("inlineCode",{parentName:"p"},"ConfiguredLabel"),", which also corresponds to the output path prefix.\nbxl actions should also have a unique output path prefix, and follow the same\nsystem of having a base deferred key to reuse the action implementation."),(0,r.mdx)("p",null,"We should extend the ",(0,r.mdx)("inlineCode",{parentName:"p"},"BaseKey")," of a ",(0,r.mdx)("inlineCode",{parentName:"p"},"DeferredKey")," to support beyond a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"ConfiguredLabel"),", so that we can use a ",(0,r.mdx)("inlineCode",{parentName:"p"},"BxlFunctionLabel")," in its place. This\nwould allow ",(0,r.mdx)("inlineCode",{parentName:"p"},"owner")," of these actions to point to the correct creator. The output\npath would be determined by using the ",(0,r.mdx)("inlineCode",{parentName:"p"},"BxlFunctionLabel")," as prefix similar to a\nlabel. While this means that not all outputs are associated with an actual rule,\nthis is arguably more correct as bxl that creates outputs that doesn't fit the\ntarget graph structure (i.e android project generation follows directory\nstructure rather than the packages defined by targets) to not have to conform\nthe attaching their actions to existing rules. bxl functions can examine\nmultiple rules and create a single action, attached only to their function\nlabel."),(0,r.mdx)("p",null,"The ActionRegistry will be attached to the evaluation result of ",(0,r.mdx)("inlineCode",{parentName:"p"},"bxl"),". Since we\ndo not allow bxl to explicitly request build of the actions itself declares, we\ncan wait until the end of the bxl function to finalize the actions. Then, the\naction lookup can simply refer to the result of the ",(0,r.mdx)("inlineCode",{parentName:"p"},"bxl"),"."),(0,r.mdx)("p",null,"With the above changes, the rest of the actions framework does not need changed\nto support the proposed API. DICE caching will work as today."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b908f3dc.99264a10.js b/assets/js/b908f3dc.99264a10.js new file mode 100644 index 0000000000000..04e46a6a37f33 --- /dev/null +++ b/assets/js/b908f3dc.99264a10.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3111],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>u,MDXProvider:()=>c,mdx:()=>f,useMDXComponents:()=>p,withMDXComponents:()=>d});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var u=a.createContext({}),d=function(e){return function(t){var n=p(t.components);return a.createElement(e,o({},t,{components:n}))}},p=function(e){var t=a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=p(e.components);return a.createElement(u.Provider,{value:t},e.children)},m="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=p(n),c=r,m=d["".concat(i,".").concat(c)]||d[c]||h[c]||o;return n?a.createElement(m,l(l({ref:t},u),{},{components:n})):a.createElement(m,l({ref:t},u))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=g;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[m]="string"==typeof e?e:r,i[1]=l;for(var u=2;u<o;u++)i[u]=n[u];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}g.displayName="MDXCreateElement"},11122:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>u});var a=n(87462),r=(n(67294),n(3905));const o={id:"bxl",title:"Why BXL"},i=void 0,l={unversionedId:"developers/bxl",id:"developers/bxl",title:"Why BXL",description:"Buck2 Extension Language (BXL)",source:"@site/../docs/developers/bxl.md",sourceDirName:"developers",slug:"/developers/bxl",permalink:"/docs/developers/bxl",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl",title:"Why BXL"},sidebar:"mainSidebar",previous:{title:"Dep Files",permalink:"/docs/rule_authors/dep_files"},next:{title:"Getting Started",permalink:"/docs/developers/bxl_getting_started"}},s={},u=[{value:"Buck2 Extension Language (BXL)",id:"buck2-extension-language-bxl",level:2},{value:"When should I use BXL over Buck2 API/CLI?",id:"when-should-i-use-bxl-over-buck2-apicli",level:2},{value:"Example Use Cases",id:"example-use-cases",level:2},{value:"Generate a project for IDE",id:"generate-a-project-for-ide",level:3},{value:"Build an LSP",id:"build-an-lsp",level:3},{value:"Perform graph analysis",id:"perform-graph-analysis",level:3}],d={toc:u};function p(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h2",{id:"buck2-extension-language-bxl"},"Buck2 Extension Language (BXL)"),(0,r.mdx)("p",null,"BXL is a Starlark-based script that enables integrators to inspect and interact\nwith the Buck2 graph."),(0,r.mdx)("p",null,"Integrators are able to:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Write Starlark code that queries, analyzes, and builds on the Buck2 graph."),(0,r.mdx)("li",{parentName:"ul"},"Introspect and interact with the Buck2 graph structures natively, via\nStarlark, in a safe, controlled manner.")),(0,r.mdx)("p",null,"Introspection of the Buck2 graph can occur at the unconfigured, configured,\nproviders, and action stages. There are also APIs offered to allow BXL to accept\ncustom command line argument, output artifacts, and print results to stdout."),(0,r.mdx)("p",null,"BXL leverages Buck2 core's incremental\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/developers/bxl_faqs#when-is-my-bxl-script-cached"},"caching"),". It also has support for\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/developers/bxl_how_tos#running-actions"},"running actions"),",\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/developers/dynamic_output"},"dynamic outputs"),", and\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/developers/anon_targets"},"anonymous targets"),". In addition, BXL has\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/developers/bxl_how_tos#profiling-testing-and-debugging-a-bxl-script"},"profiling"),"\ncapabilities, and allows users to add their own ",(0,r.mdx)("a",{parentName:"p",href:"/docs/developers/bxl_telemetry"},"telemetry"),"\ndirectly within the BXL scripts."),(0,r.mdx)("p",null,"BXL is considered to be mostly stable, with a bit more active development here\nand there."),(0,r.mdx)("h2",{id:"when-should-i-use-bxl-over-buck2-apicli"},"When should I use BXL over Buck2 API/CLI?"),(0,r.mdx)("p",null,"There are many overlaps between BXL and Buck2 (for example, both can run cquery\nand both can build targets). It\u2019s possible that one use case could be handled by\nboth BXL and Buck2."),(0,r.mdx)("p",null,"Following are some specific recommendations to help decide when to use BXL over\nregular Buck2:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Use/inspect resolved attributes that are not exposed/accessible to users via\nnormal Buck2 operations."),(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},"This includes introspecting the Starlark object of providers, analyzing the\nStarlark object of a rule\u2019s attr before and after coercing and resolution,\nand introspecting intermediate query results."))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Reduce/eliminate the need to make several Buck2 calls within your program,\nsuch as running several subprocesses to call ",(0,r.mdx)("inlineCode",{parentName:"strong"},"cquery")," several times."),(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},"With BXL, you can just call the BXL script once in a subprocess, potentially\nreducing the amount of code you need to write in your program. For example,\nif you need to call cquery and build several times, you can put that all\nwithin a single BXL script and run ",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 bxl")," once, rather than running\n",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 cquery")," and ",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 build")," several times."))),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("strong",{parentName:"li"},"Reduce/eliminate the need to manually parse Buck2 output format within your\nprogram, and any bugs that may come with manual parsing"),".",(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},"Some languages are more verbose than others when it comes to string parsing."),(0,r.mdx)("li",{parentName:"ul"},"BXL scripts are written in Starlark, which is basically a deterministic,\nimmutable Python. BXL is able to directly introspect Starlark objects (such\nas rules and target nodes, and so on) and call methods on these objects\ninstead of parsing them over Buck2\u2019s output.")))),(0,r.mdx)("h2",{id:"example-use-cases"},"Example Use Cases"),(0,r.mdx)("h3",{id:"generate-a-project-for-ide"},"Generate a project for IDE"),(0,r.mdx)("p",null,"IDE project generation is roughly as follows:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Form the target graph for the project target"),(0,r.mdx)("li",{parentName:"ul"},"Perform some filtering on the graph targets if needed. This depends on the\ntarget's configuration."),(0,r.mdx)("li",{parentName:"ul"},"For each target, generate the project target metadata, including:",(0,r.mdx)("ul",{parentName:"li"},(0,r.mdx)("li",{parentName:"ul"},"compiler flags"),(0,r.mdx)("li",{parentName:"ul"},"linker flags"),(0,r.mdx)("li",{parentName:"ul"},"paths to generated files"),(0,r.mdx)("li",{parentName:"ul"},"inputs and outputs for each targets"),(0,r.mdx)("li",{parentName:"ul"},"the paths relative to some ",(0,r.mdx)("inlineCode",{parentName:"li"},"PATH")))),(0,r.mdx)("li",{parentName:"ul"},"Write a single file translating this metadata into a format understood by the\nIDE")),(0,r.mdx)("p",null,"An example BXL flow for generating a project for IDE might be:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Add some command line arguments to accept a target (or subtarget) to generate\nthe project"),(0,r.mdx)("li",{parentName:"ul"},"Run analysis on the project target with a specific configuration to filter the\ngraph targets"),(0,r.mdx)("li",{parentName:"ul"},"For each resulting target, inspect the providers and attributes to extract the\nrequired metadata information. BXL uses filesystem operations to handle paths\nwithin the project"),(0,r.mdx)("li",{parentName:"ul"},"Run actions based on the linker/compiler flags, and build artifacts as needed\nto generate a project"),(0,r.mdx)("li",{parentName:"ul"},"Write a single file containing the metadata obtained from previous steps")),(0,r.mdx)("h3",{id:"build-an-lsp"},"Build an LSP"),(0,r.mdx)("p",null,"A compilation database is a database containing information about which compile\noptions are used to build the files in a project. Language Server Protocols\n(LSPs) uses the compilation database to provide language features like auto\ncomplete, go to definition, and find all references for the user within an\nIDE/editor."),(0,r.mdx)("p",null,"An example BXL flow for building a C++ LSP might be:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Add a command line argument to accept a file"),(0,r.mdx)("li",{parentName:"ul"},"Run owners cquery in BXL to get the owning target of the file"),(0,r.mdx)("li",{parentName:"ul"},"Run analysis on the owning target to get the desired clang flags"),(0,r.mdx)("li",{parentName:"ul"},"Use BXL to write the clang flags to the disk in compilation database format")),(0,r.mdx)("h3",{id:"perform-graph-analysis"},"Perform graph analysis"),(0,r.mdx)("p",null,"Some example graph analysis functionalities might be:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Run an analysis in BXL on a set of targets, and then inspect their providers,\nand build some subtargets"),(0,r.mdx)("li",{parentName:"ul"},"Run a uquery on some set of targets, and inspect the resulting nodes' coerced\nattributes"),(0,r.mdx)("li",{parentName:"ul"},"Run a cquery on some set of targets with a specific configuration, and inspect\nthe resulting nodes' attributes before and after resolution")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ba3274fe.362aa7e7.js b/assets/js/ba3274fe.362aa7e7.js new file mode 100644 index 0000000000000..48776600d6be9 --- /dev/null +++ b/assets/js/ba3274fe.362aa7e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6959],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>m,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>s,withMDXComponents:()=>o});var a=t(67294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},r.apply(this,arguments)}function d(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?d(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):d(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,a,l=function(e,n){if(null==e)return{};var t,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var m=a.createContext({}),o=function(e){return function(n){var t=s(n.components);return a.createElement(e,r({},n,{components:t}))}},s=function(e){var n=a.useContext(m),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},u=function(e){var n=s(e.components);return a.createElement(m.Provider,{value:n},e.children)},x="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},c=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,r=e.originalType,d=e.parentName,m=p(e,["components","mdxType","originalType","parentName"]),o=s(t),u=l,x=o["".concat(d,".").concat(u)]||o[u]||h[u]||r;return t?a.createElement(x,i(i({ref:n},m),{},{components:t})):a.createElement(x,i({ref:n},m))}));function f(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var r=t.length,d=new Array(r);d[0]=c;var i={};for(var p in n)hasOwnProperty.call(n,p)&&(i[p]=n[p]);i.originalType=e,i[x]="string"==typeof e?e:l,d[1]=i;for(var m=2;m<r;m++)d[m]=t[m];return a.createElement.apply(null,d)}return a.createElement.apply(null,t)}c.displayName="MDXCreateElement"},25795:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>d,default:()=>s,frontMatter:()=>r,metadata:()=>i,toc:()=>m});var a=t(87462),l=(t(67294),t(3905));const r={id:"globals"},d="globals",i={unversionedId:"api/starlark/globals",id:"api/starlark/globals",title:"globals",description:"False",source:"@site/../docs/api/starlark/globals.generated.md",sourceDirName:"api/starlark",slug:"/api/starlark/globals",permalink:"/docs/api/starlark/globals",draft:!1,tags:[],version:"current",frontMatter:{id:"globals"},sidebar:"apiSidebar",previous:{title:"Rules",permalink:"/docs/prelude/globals"},next:{title:"dict type",permalink:"/docs/api/starlark/dict"}},p={},m=[{value:"False",id:"false",level:2},{value:"None",id:"none",level:2},{value:"True",id:"true",level:2},{value:"abs",id:"abs",level:2},{value:"all",id:"all",level:2},{value:"any",id:"any",level:2},{value:"bool",id:"bool",level:2},{value:"<code>.type</code> attribute",id:"type-attribute",level:4},{value:"Details",id:"details",level:4},{value:"breakpoint",id:"breakpoint",level:2},{value:"call_stack",id:"call_stack",level:2},{value:"call_stack_frame",id:"call_stack_frame",level:2},{value:"chr",id:"chr",level:2},{value:"debug",id:"debug",level:2},{value:"dict",id:"dict",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-1",level:4},{value:"Details",id:"details-1",level:4},{value:"dir",id:"dir",level:2},{value:"enum",id:"enum",level:2},{value:"enumerate",id:"enumerate",level:2},{value:"eval_type",id:"eval_type",level:2},{value:"fail",id:"fail",level:2},{value:"field",id:"field",level:2},{value:"filter",id:"filter",level:2},{value:"float",id:"float",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-2",level:4},{value:"Details",id:"details-2",level:4},{value:"getattr",id:"getattr",level:2},{value:"hasattr",id:"hasattr",level:2},{value:"hash",id:"hash",level:2},{value:"int",id:"int",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-3",level:4},{value:"Details",id:"details-3",level:4},{value:"isinstance",id:"isinstance",level:2},{value:"json",id:"json",level:2},{value:"len",id:"len",level:2},{value:"list",id:"list",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-4",level:4},{value:"Details",id:"details-4",level:4},{value:"map",id:"map",level:2},{value:"max",id:"max",level:2},{value:"min",id:"min",level:2},{value:"ord",id:"ord",level:2},{value:"partial",id:"partial",level:2},{value:"pprint",id:"pprint",level:2},{value:"prepr",id:"prepr",level:2},{value:"print",id:"print",level:2},{value:"pstr",id:"pstr",level:2},{value:"range",id:"range",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-5",level:4},{value:"Details",id:"details-5",level:4},{value:"record",id:"record",level:2},{value:"repr",id:"repr",level:2},{value:"reversed",id:"reversed",level:2},{value:"sorted",id:"sorted",level:2},{value:"starlark_rust_internal",id:"starlark_rust_internal",level:2},{value:"str",id:"str",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-6",level:4},{value:"Details",id:"details-6",level:4},{value:"struct",id:"struct",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-7",level:4},{value:"tuple",id:"tuple",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-8",level:4},{value:"Details",id:"details-7",level:4},{value:"type",id:"type",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-9",level:4},{value:"Details",id:"details-8",level:4},{value:"typing",id:"typing",level:2},{value:"zip",id:"zip",level:2}],o={toc:m};function s(e){let{components:n,...t}=e;return(0,l.mdx)("wrapper",(0,a.Z)({},o,t,{components:n,mdxType:"MDXLayout"}),(0,l.mdx)("h1",{id:"globals"},"globals"),(0,l.mdx)("h2",{id:"false"},"False"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"False: bool\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"none"},"None"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"None: None\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"true"},"True"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"True: bool\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"abs"},"abs"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def abs(x: float | int, /) -> float | int\n")),(0,l.mdx)("p",null,"Take the absolute value of an int."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"abs(0) == 0\nabs(-10) == 10\nabs(10) == 10\nabs(10.0) == 10.0\nabs(-12.34) == 12.34\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"all"},"all"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def all(x: typing.Iterable, /) -> bool\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#all"},"all"),": returns true if all values in the iterable object have a truth value of true."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"all([1, True]) == True\nall([1, 1]) == True\nall([0, 1, True]) == False\nall([True, 1, True]) == True\nall([0, 0]) == False\nall([0, False]) == False\nall([True, 0]) == False\nall([1, False]) == False\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"any"},"any"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def any(x: typing.Iterable, /) -> bool\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#any"},"any"),": returns true if any value in the iterable object have a truth value of true."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"any([0, True]) == True\nany([0, 1]) == True\nany([0, 1, True]) == True\nany([0, 0]) == False\nany([0, False]) == False\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bool"},"bool"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def bool(x = _, /) -> bool\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#bool"},"bool"),": returns the truth value of any starlark value."),(0,l.mdx)("h4",{id:"type-attribute"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"bool"')),(0,l.mdx)("h4",{id:"details"},"Details"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'bool() == False\nbool([]) == False\nbool([1]) == True\nbool(True) == True\nbool(False) == False\nbool(None) == False\nbool(bool) == True\nbool(1) == True\nbool(0) == False\nbool({}) == False\nbool({1:2}) == True\nbool(()) == False\nbool((1,)) == True\nbool("") == False\nbool("1") == True\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"breakpoint"},"breakpoint"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def breakpoint() -> None\n")),(0,l.mdx)("p",null,"When a debugger is available, breaks into the debugger."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"call_stack"},"call","_","stack"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def call_stack(*, strip_frames: int = 0) -> str\n")),(0,l.mdx)("p",null,"Get a textual representation of the call stack."),(0,l.mdx)("p",null,"This is intended only for debugging purposes to display to a human and\nshould not be considered stable or parseable."),(0,l.mdx)("p",null,"strip_frames will pop N frames from the top of the call stack, which can\nbe useful to hide non-interesting lines - for example, strip_frames=1\nwill hide the call to and location of ",(0,l.mdx)("inlineCode",{parentName:"p"},"call_stack()")," itself."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"call_stack_frame"},"call","_","stack","_","frame"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def call_stack_frame(n: int, /) -> None | StackFrame\n")),(0,l.mdx)("p",null,"Get a structural representation of the n-th call stack frame."),(0,l.mdx)("p",null,"With ",(0,l.mdx)("inlineCode",{parentName:"p"},"n=0")," returns ",(0,l.mdx)("inlineCode",{parentName:"p"},"call_stack_frame")," itself.\nReturns ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," if ",(0,l.mdx)("inlineCode",{parentName:"p"},"n")," is greater than or equal to the stack size."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"chr"},"chr"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def chr(i: int, /) -> str\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#bool"},"chr"),": returns a string encoding a codepoint."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"chr(i)")," returns a string that encodes the single Unicode code\npoint whose value is specified by the integer ",(0,l.mdx)("inlineCode",{parentName:"p"},"i"),". ",(0,l.mdx)("inlineCode",{parentName:"p"},"chr")," fails\nunless ",(0,l.mdx)("inlineCode",{parentName:"p"},"0 \u2264 i \u2264 0x10FFFF"),"."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"chr(65) == 'A'\nchr(1049) == '\u0419'\nchr(0x1F63F) == '\ud83d\ude3f'\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"debug"},"debug"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def debug(val, /) -> str\n")),(0,l.mdx)("p",null,"Print the value with full debug formatting. The result may not be stable over time. Intended for debugging purposes and guaranteed to produce verbose output not suitable for user display."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dict"},"dict"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def dict(*args, **kwargs) -> dict[typing.Any, typing.Any]\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dict"},"dict"),": creates a dictionary."),(0,l.mdx)("h4",{id:"type-attribute-1"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"dict"')),(0,l.mdx)("h4",{id:"details-1"},"Details"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"dict")," creates a dictionary. It accepts up to one positional argument,\nwhich is interpreted as an iterable of two-element sequences\n(pairs), each specifying a key/value pair in the\nresulting dictionary."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"dict")," also accepts any number of keyword arguments, each of which\nspecifies a key/value pair in the resulting dictionary; each keyword\nis treated as a string."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"dict() == {}\ndict(**{'a': 1}) == {'a': 1}\ndict({'a': 1}) == {'a': 1}\ndict([(1, 2), (3, 4)]) == {1: 2, 3: 4}\ndict([(1, 2), ['a', 'b']]) == {1: 2, 'a': 'b'}\ndict(one=1, two=2) == {'one': 1, 'two': 2}\ndict([(1, 2)], x=3) == {1: 2, 'x': 3}\ndict([('x', 2)], x=3) == {'x': 3}\nx = {'a': 1}\ny = dict([('x', 2)], **x)\nx == {'a': 1} and y == {'x': 2, 'a': 1}\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dir"},"dir"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def dir(x, /) -> list[str]\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#dir"},"dir"),": list attributes of a value."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"dir(x)")," returns a list of the names of the attributes (fields and\nmethods) of its operand. The attributes of a value ",(0,l.mdx)("inlineCode",{parentName:"p"},"x")," are the names\n",(0,l.mdx)("inlineCode",{parentName:"p"},"f")," such that ",(0,l.mdx)("inlineCode",{parentName:"p"},"x.f")," is a valid expression."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'"capitalize" in dir("abc")\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"enum"},"enum"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def enum(*args: str)\n")),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"enum")," type represents one value picked from a set of values."),(0,l.mdx)("p",null,"For example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'MyEnum = enum("option1", "option2", "option3")\n')),(0,l.mdx)("p",null,"This statement defines an enumeration ",(0,l.mdx)("inlineCode",{parentName:"p"},"MyEnum")," that consists of the three values ",(0,l.mdx)("inlineCode",{parentName:"p"},'"option1"'),", ",(0,l.mdx)("inlineCode",{parentName:"p"},'"option2"')," and ",(0,l.mdx)("inlineCode",{parentName:"p"},"option3"),"."),(0,l.mdx)("p",null,"Now ",(0,l.mdx)("inlineCode",{parentName:"p"},"MyEnum")," is defined, it's possible to do the following:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},"Create values of this type with ",(0,l.mdx)("inlineCode",{parentName:"li"},'MyEnum("option2")'),". It is a runtime error if the argument is not one of the predeclared values of the enumeration."),(0,l.mdx)("li",{parentName:"ul"},"Get the type of the enum suitable for a type annotation with ",(0,l.mdx)("inlineCode",{parentName:"li"},"MyEnum"),"."),(0,l.mdx)("li",{parentName:"ul"},"Given a value of the enum (for example, ",(0,l.mdx)("inlineCode",{parentName:"li"},'v = MyEnum("option2")'),"), get the underlying value ",(0,l.mdx)("inlineCode",{parentName:"li"},'v.value == "option2"')," or the index in the enumeration ",(0,l.mdx)("inlineCode",{parentName:"li"},"v.index == 1"),"."),(0,l.mdx)("li",{parentName:"ul"},"Get a list of the values that make up the array with ",(0,l.mdx)("inlineCode",{parentName:"li"},'MyEnum.values() == ["option1", "option2", "option3"]'),"."),(0,l.mdx)("li",{parentName:"ul"},"Treat ",(0,l.mdx)("inlineCode",{parentName:"li"},"MyEnum")," a bit like an array, with ",(0,l.mdx)("inlineCode",{parentName:"li"},"len(MyEnum) == 3"),", ",(0,l.mdx)("inlineCode",{parentName:"li"},'MyEnum[1] == MyEnum("option2")')," and iteration over enums ",(0,l.mdx)("inlineCode",{parentName:"li"},'[x.value for x in MyEnum] == ["option1", "option2", "option3"]'),".")),(0,l.mdx)("p",null,"Enumeration types store each value once, which are then efficiently referenced by enumeration values."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"enumerate"},"enumerate"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def enumerate(it: typing.Iterable, /, start: int = 0) -> list[(int, typing.Any)]\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#enumerate"},"enumerate"),": return a list of (index, element) from an iterable."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"enumerate(x)")," returns a list of ",(0,l.mdx)("inlineCode",{parentName:"p"},"(index, value)")," pairs, each containing\nsuccessive values of the iterable sequence and the index of the\nvalue within the sequence."),(0,l.mdx)("p",null,"The optional second parameter, ",(0,l.mdx)("inlineCode",{parentName:"p"},"start"),", specifies an integer value to\nadd to each index."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'enumerate(["zero", "one", "two"]) == [(0, "zero"), (1, "one"), (2, "two")]\nenumerate(["one", "two"], 1) == [(1, "one"), (2, "two")]\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"eval_type"},"eval","_","type"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def eval_type(ty: type, /) -> type\n")),(0,l.mdx)("p",null,"Create a runtime type object which can be used to check if a value matches the given type."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"fail"},"fail"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def fail(*args) -> typing.Never\n")),(0,l.mdx)("p",null,"fail: fail the execution"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'fail("this is an error") # fail: this is an error\nfail("oops", 1, False) # fail: oops 1 False\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"field"},"field"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def field(typ, /, default = _) -> field\n")),(0,l.mdx)("p",null,"Creates a field record. Used as an argument to the ",(0,l.mdx)("inlineCode",{parentName:"p"},"record")," function."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'rec_type = record(host=field(str), port=field(int), mask=field(int, default=255))\nrec = rec_type(host="localhost", port=80)\nrec.port == 80\nrec.mask == 255\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"filter"},"filter"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def filter(\n func: None | typing.Callable,\n seq: typing.Iterable,\n /\n) -> list[typing.Any]\n")),(0,l.mdx)("p",null,"Apply a predicate to each element of the iterable, returning those that match. As a special case if the function is ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," then removes all the ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," values."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"filter(bool, [0, 1, False, True]) == [1, True]\nfilter(lambda x: x > 2, [1, 2, 3, 4]) == [3, 4]\nfilter(None, [True, None, False]) == [True, False]\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"float"},"float"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def float(a: bool | float | int | str = _, /) -> float\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#float"},"float"),": interprets its argument as a floating-point number."),(0,l.mdx)("h4",{id:"type-attribute-2"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"float"')),(0,l.mdx)("h4",{id:"details-2"},"Details"),(0,l.mdx)("p",null,"If x is a ",(0,l.mdx)("inlineCode",{parentName:"p"},"float"),", the result is x.\nif x is an ",(0,l.mdx)("inlineCode",{parentName:"p"},"int"),", the result is the nearest floating point value to x.\nIf x is a string, the string is interpreted as a floating-point literal.\nWith no arguments, ",(0,l.mdx)("inlineCode",{parentName:"p"},"float()")," returns ",(0,l.mdx)("inlineCode",{parentName:"p"},"0.0"),"."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"float() == 0.0\nfloat(1) == 1.0\nfloat('1') == 1.0\nfloat('1.0') == 1.0\nfloat('.25') == 0.25\nfloat('1e2') == 100.0\nfloat(False) == 0.0\nfloat(True) == 1.0\nfloat(\"hello\") # error: not a valid number\nfloat([]) # error\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"getattr"},"getattr"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def getattr(\n a,\n attr: str,\n default = _,\n /\n)\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#getattr"},"getattr"),": returns the value of an attribute"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"getattr(x, name)")," returns the value of the attribute (field or method)\nof x named ",(0,l.mdx)("inlineCode",{parentName:"p"},"name"),". It is a dynamic error if x has no such attribute."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},'getattr(x, "f")')," is equivalent to ",(0,l.mdx)("inlineCode",{parentName:"p"},"x.f"),"."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},'getattr(x, "f", d)')," is equivalent to ",(0,l.mdx)("inlineCode",{parentName:"p"},'x.f if hasattr(x, "f") else d'),"\nand will never raise an error."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'getattr("banana", "split")("a") == ["b", "n", "n", ""] # equivalent to "banana".split("a")\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"hasattr"},"hasattr"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def hasattr(a, attr: str, /) -> bool\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#hasattr"},"hasattr"),": test if an object has an attribute"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"hasattr(x, name)")," reports whether x has an attribute (field or method)\nnamed ",(0,l.mdx)("inlineCode",{parentName:"p"},"name"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"hash"},"hash"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def hash(a: str, /) -> int\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#hash"},"hash"),": returns the hash number of a value."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"hash(x)")," returns an integer hash value for x such that ",(0,l.mdx)("inlineCode",{parentName:"p"},"x == y"),"\nimplies ",(0,l.mdx)("inlineCode",{parentName:"p"},"hash(x) == hash(y)"),"."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"hash")," fails if x, or any value upon which its hash depends, is\nunhashable."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'hash("hello") != hash("world")\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"int"},"int"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def int(a: bool | float | int | str = _, /, base: int = _) -> int\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#int"},"int"),": convert a value to integer."),(0,l.mdx)("h4",{id:"type-attribute-3"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"int"')),(0,l.mdx)("h4",{id:"details-3"},"Details"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"int(x[, base])")," interprets its argument as an integer."),(0,l.mdx)("p",null,"If x is an ",(0,l.mdx)("inlineCode",{parentName:"p"},"int"),", the result is x.\nIf x is a ",(0,l.mdx)("inlineCode",{parentName:"p"},"float"),", the result is the integer value nearest to x,\ntruncating towards zero; it is an error if x is not finite (",(0,l.mdx)("inlineCode",{parentName:"p"},"NaN"),",\n",(0,l.mdx)("inlineCode",{parentName:"p"},"+Inf"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"-Inf"),").\nIf x is a ",(0,l.mdx)("inlineCode",{parentName:"p"},"bool"),", the result is 0 for ",(0,l.mdx)("inlineCode",{parentName:"p"},"False")," or 1 for ",(0,l.mdx)("inlineCode",{parentName:"p"},"True"),"."),(0,l.mdx)("p",null,"If x is a string, it is interpreted like a string literal;\nan optional base prefix (",(0,l.mdx)("inlineCode",{parentName:"p"},"0"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"0b"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"0B"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"0x"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"0X"),") determines which\nbase to use. The string may specify an arbitrarily large integer,\nwhereas true integer literals are restricted to 64 bits.\nIf a non-zero ",(0,l.mdx)("inlineCode",{parentName:"p"},"base")," argument is provided, the string is interpreted\nin that base and no base prefix is permitted; the base argument may\nspecified by name."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"int()")," with no arguments returns 0."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"int() == 0\nint(1) == 1\nint(False) == 0\nint(True) == 1\nint('1') == 1\nint('16') == 16\nint('16', 10) == 16\nint('16', 8) == 14\nint('16', 16) == 22\nint(0.0) == 0\nint(3.14) == 3\nint(-12345.6789) == -12345\nint(2e9) == 2000000000\nint(\"hello\") # error: Cannot parse\nint(float(\"nan\")) # error: cannot be represented as exact integer\nint(float(\"inf\")) # error: cannot be represented as exact integer\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"isinstance"},"isinstance"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def isinstance(value, ty: type, /) -> bool\n")),(0,l.mdx)("p",null,"Check if a value matches the given type."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"json"},"json"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'json: struct(decode = "function", encode = "function")\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"len"},"len"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def len(a, /) -> int\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#len"},"len"),": get the length of a sequence"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"len(x)")," returns the number of elements in its argument."),(0,l.mdx)("p",null,"It is a dynamic error if its argument is not a sequence."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"len(()) == 0\nlen({}) == 0\nlen([]) == 0\nlen([1]) == 1\nlen([1,2]) == 2\nlen({'16': 10}) == 1\nlen(True) # error: not supported\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"list"},"list"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def list(a: typing.Iterable = _, /) -> list[typing.Any]\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#list"},"list"),": construct a list."),(0,l.mdx)("h4",{id:"type-attribute-4"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"list"')),(0,l.mdx)("h4",{id:"details-4"},"Details"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"list(x)")," returns a new list containing the elements of the\niterable sequence x."),(0,l.mdx)("p",null,"With no argument, ",(0,l.mdx)("inlineCode",{parentName:"p"},"list()")," returns a new empty list."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'list() == []\nlist((1,2,3)) == [1, 2, 3]\nlist("strings are not iterable") # error: not supported\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"map"},"map"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def map(func: typing.Callable, seq: typing.Iterable, /) -> list[typing.Any]\n")),(0,l.mdx)("p",null,"Apply a function to each element of the iterable, returning the results."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"map(abs, [7, -5, -6]) == [7, 5, 6]\nmap(lambda x: x * 2, [1, 2, 3, 4]) == [2, 4, 6, 8]\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"max"},"max"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def max(*args, key = _)\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#max"},"max"),": returns the maximum of a sequence."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"max(x)")," returns the greatest element in the iterable sequence x."),(0,l.mdx)("p",null,"It is an error if any element does not support ordered comparison,\nor if the sequence is empty."),(0,l.mdx)("p",null,"The optional named parameter ",(0,l.mdx)("inlineCode",{parentName:"p"},"key")," specifies a function to be applied\nto each element prior to comparison."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'max([3, 1, 4, 1, 5, 9]) == 9\nmax("two", "three", "four") == "two" # the lexicographically greatest\nmax("two", "three", "four", key=len) == "three" # the longest\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"min"},"min"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def min(*args, key = _)\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#min"},"min"),": returns the minimum of a sequence."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"min(x)")," returns the least element in the iterable sequence x."),(0,l.mdx)("p",null,"It is an error if any element does not support ordered comparison,\nor if the sequence is empty."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'min([3, 1, 4, 1, 5, 9]) == 1\nmin("two", "three", "four") == "four" # the lexicographically least\nmin("two", "three", "four", key=len) == "two" # the shortest\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"ord"},"ord"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ord(a: str, /) -> int\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#ord"},"ord"),": returns the codepoint of a character"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"ord(s)")," returns the integer value of the sole Unicode code point\nencoded by the string ",(0,l.mdx)("inlineCode",{parentName:"p"},"s"),"."),(0,l.mdx)("p",null,"If ",(0,l.mdx)("inlineCode",{parentName:"p"},"s")," does not encode exactly one Unicode code point, ",(0,l.mdx)("inlineCode",{parentName:"p"},"ord")," fails.\nEach invalid code within the string is treated as if it encodes the\nUnicode replacement character, U+FFFD."),(0,l.mdx)("p",null,"Example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'ord("A") == 65\nord("\u0419") == 1049\nord("\ud83d\ude3f") == 0x1F63F\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"partial"},"partial"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def partial(\n func,\n /,\n *args,\n **kwargs\n) -> function\n")),(0,l.mdx)("p",null,"Construct a partial application. In almost all cases it is simpler to use a ",(0,l.mdx)("inlineCode",{parentName:"p"},"lamdba"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"pprint"},"pprint"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def pprint(*args) -> None\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"prepr"},"prepr"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def prepr(a, /) -> str\n")),(0,l.mdx)("p",null,"Like ",(0,l.mdx)("inlineCode",{parentName:"p"},"repr"),", but produces more verbose pretty-printed output"),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"print"},"print"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def print(*args) -> None\n")),(0,l.mdx)("p",null,"Print some values to the output."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"pstr"},"pstr"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def pstr(a, /) -> str\n")),(0,l.mdx)("p",null,"Like ",(0,l.mdx)("inlineCode",{parentName:"p"},"str"),", but produces more verbose pretty-printed output"),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"range"},"range"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def range(\n a1: int,\n a2: int = _,\n step: int = 1,\n /\n) -> range\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#range"},"range"),": return a range of integers"),(0,l.mdx)("h4",{id:"type-attribute-5"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"range"')),(0,l.mdx)("h4",{id:"details-5"},"Details"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"range")," returns a tuple of integers defined by the specified interval\nand stride."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"range(stop) # equivalent to range(0, stop)\nrange(start, stop) # equivalent to range(start, stop, 1)\nrange(start, stop, step)\n")),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"range")," requires between one and three integer arguments.\nWith one argument, ",(0,l.mdx)("inlineCode",{parentName:"p"},"range(stop)")," returns the ascending sequence of\nnon-negative integers less than ",(0,l.mdx)("inlineCode",{parentName:"p"},"stop"),".\nWith two arguments, ",(0,l.mdx)("inlineCode",{parentName:"p"},"range(start, stop)")," returns only integers not less\nthan ",(0,l.mdx)("inlineCode",{parentName:"p"},"start"),"."),(0,l.mdx)("p",null,"With three arguments, ",(0,l.mdx)("inlineCode",{parentName:"p"},"range(start, stop, step)")," returns integers\nformed by successively adding ",(0,l.mdx)("inlineCode",{parentName:"p"},"step")," to ",(0,l.mdx)("inlineCode",{parentName:"p"},"start")," until the value meets or\npasses ",(0,l.mdx)("inlineCode",{parentName:"p"},"stop"),". A call to ",(0,l.mdx)("inlineCode",{parentName:"p"},"range")," fails if the value of ",(0,l.mdx)("inlineCode",{parentName:"p"},"step")," is\nzero."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"list(range(10)) == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\nlist(range(3, 10)) == [3, 4, 5, 6, 7, 8, 9]\nlist(range(3, 10, 2)) == [3, 5, 7, 9]\nlist(range(10, 3, -2)) == [10, 8, 6, 4]\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"record"},"record"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def record(**kwargs) -> function\n")),(0,l.mdx)("p",null,"A ",(0,l.mdx)("inlineCode",{parentName:"p"},"record")," type represents a set of named values, each with their own type."),(0,l.mdx)("p",null,"For example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"MyRecord = record(host=str, port=int)\n")),(0,l.mdx)("p",null,"This above statement defines a record ",(0,l.mdx)("inlineCode",{parentName:"p"},"MyRecord")," with 2 fields, the first named ",(0,l.mdx)("inlineCode",{parentName:"p"},"host")," that must be of type ",(0,l.mdx)("inlineCode",{parentName:"p"},"str"),", and the second named ",(0,l.mdx)("inlineCode",{parentName:"p"},"port")," that must be of type ",(0,l.mdx)("inlineCode",{parentName:"p"},"int"),"."),(0,l.mdx)("p",null,"Now ",(0,l.mdx)("inlineCode",{parentName:"p"},"MyRecord")," is defined, it's possible to do the following:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},"Create values of this type with ",(0,l.mdx)("inlineCode",{parentName:"li"},'MyRecord(host="localhost", port=80)'),". It is a runtime error if any arguments are missed, of the wrong type, or if any unexpected arguments are given."),(0,l.mdx)("li",{parentName:"ul"},"Get the type of the record suitable for a type annotation with ",(0,l.mdx)("inlineCode",{parentName:"li"},"MyRecord.type"),"."),(0,l.mdx)("li",{parentName:"ul"},"Get the fields of the record. For example, ",(0,l.mdx)("inlineCode",{parentName:"li"},'v = MyRecord(host="localhost", port=80)')," will provide ",(0,l.mdx)("inlineCode",{parentName:"li"},'v.host == "localhost"')," and ",(0,l.mdx)("inlineCode",{parentName:"li"},"v.port == 80"),". Similarly, ",(0,l.mdx)("inlineCode",{parentName:"li"},'dir(v) == ["host", "port"]'),".")),(0,l.mdx)("p",null,"It is also possible to specify default values for parameters using the ",(0,l.mdx)("inlineCode",{parentName:"p"},"field")," function."),(0,l.mdx)("p",null,"For example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"MyRecord = record(host=str, port=field(int, 80))\n")),(0,l.mdx)("p",null,"Now the ",(0,l.mdx)("inlineCode",{parentName:"p"},"port")," field can be omitted, defaulting to ",(0,l.mdx)("inlineCode",{parentName:"p"},"80")," is not present (for example, ",(0,l.mdx)("inlineCode",{parentName:"p"},'MyRecord(host="localhost").port == 80'),")."),(0,l.mdx)("p",null,"Records are stored deduplicating their field names, making them more memory efficient than dictionaries."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"repr"},"repr"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def repr(a, /) -> str\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#repr"},"repr"),": formats its argument as a string."),(0,l.mdx)("p",null,"All strings in the result are double-quoted."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'repr(1) == \'1\'\nrepr("x") == "\\"x\\""\nrepr([1, "x"]) == "[1, \\"x\\"]"\nrepr("test \\"\'") == "\\"test \\\\\\"\'\\""\nrepr("x\\"y\ud83d\ude3f \\\\\'") == "\\"x\\\\\\"y\\\\U0001f63f \\\\\\\\\'\\""\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"reversed"},"reversed"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def reversed(a: typing.Iterable, /) -> list[typing.Any]\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#reversed"},"reversed"),": reverse a sequence"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"reversed(x)")," returns a new list containing the elements of the iterable\nsequence x in reverse order."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'reversed([\'a\', \'b\', \'c\']) == [\'c\', \'b\', \'a\']\nreversed(range(5)) == [4, 3, 2, 1, 0]\nreversed("stressed".elems()) == ["d", "e", "s", "s", "e", "r", "t", "s"]\nreversed({"one": 1, "two": 2}.keys()) == ["two", "one"]\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"sorted"},"sorted"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def sorted(\n x,\n /,\n *,\n key = _,\n reverse: bool = False\n) -> list[typing.Any]\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#sorted"},"sorted"),": sort a sequence"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"sorted(x)")," returns a new list containing the elements of the iterable\nsequence x, in sorted order. The sort algorithm is stable."),(0,l.mdx)("p",null,"The optional named parameter ",(0,l.mdx)("inlineCode",{parentName:"p"},"reverse"),", if true, causes ",(0,l.mdx)("inlineCode",{parentName:"p"},"sorted")," to\nreturn results in reverse sorted order."),(0,l.mdx)("p",null,"The optional named parameter ",(0,l.mdx)("inlineCode",{parentName:"p"},"key")," specifies a function of one\nargument to apply to obtain the value's sort key.\nThe default behavior is the identity function."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'sorted([3, 1, 4, 1, 5, 9]) == [1, 1, 3, 4, 5, 9]\nsorted([3, 1, 4, 1, 5, 9], reverse=True) == [9, 5, 4, 3, 1, 1]\nsorted(["two", "three", "four"], key=len) == ["two", "four", "three"] # shortest to longest\nsorted(["two", "three", "four"], key=len, reverse=True) == ["three", "four", "two"] # longest to shortest\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"starlark_rust_internal"},"starlark","_","rust","_","internal"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'starlark_rust_internal: struct(ty_of_value_debug = "function")\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"str"},"str"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def str(a, /) -> str\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#str"},"str"),": formats its argument as a string."),(0,l.mdx)("h4",{id:"type-attribute-6"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"string"')),(0,l.mdx)("h4",{id:"details-6"},"Details"),(0,l.mdx)("p",null,"If x is a string, the result is x (without quotation).\nAll other strings, such as elements of a list of strings, are\ndouble-quoted."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'str(1) == \'1\'\nstr("x") == \'x\'\nstr([1, "x"]) == "[1, \\"x\\"]"\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"struct"},"struct"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def struct(*args, **kwargs) -> struct(..)\n")),(0,l.mdx)("h4",{id:"type-attribute-7"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"struct"')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"tuple"},"tuple"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def tuple(a: typing.Iterable = _, /) -> tuple\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#tuple"},"tuple"),": returns a tuple containing the elements of the iterable x."),(0,l.mdx)("h4",{id:"type-attribute-8"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"tuple"')),(0,l.mdx)("h4",{id:"details-7"},"Details"),(0,l.mdx)("p",null,"With no arguments, ",(0,l.mdx)("inlineCode",{parentName:"p"},"tuple()")," returns the empty tuple."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},"tuple() == ()\ntuple([1,2,3]) == (1, 2, 3)\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"type"},"type"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def type(a, /) -> str\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#type"},"type"),": returns a string describing the type of its operand."),(0,l.mdx)("h4",{id:"type-attribute-9"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"type"')),(0,l.mdx)("h4",{id:"details-8"},"Details"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'type(None) == "NoneType"\ntype(0) == "int"\ntype(1) == "int"\ntype(()) == "tuple"\ntype("hello") == "string"\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"typing"},"typing"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"typing: struct(Any = typing.Any, Callable = typing.Callable, Iterable = typing.Iterable, Never = typing.Never)\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"zip"},"zip"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def zip(*args: typing.Iterable) -> list[typing.Any]\n")),(0,l.mdx)("p",null,(0,l.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md#zip"},"zip"),": zip several iterables together"),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"zip()")," returns a new list of n-tuples formed from corresponding\nelements of each of the n iterable sequences provided as arguments to\n",(0,l.mdx)("inlineCode",{parentName:"p"},"zip"),". That is, the first tuple contains the first element of each of\nthe sequences, the second element contains the second element of each\nof the sequences, and so on. The result list is only as long as the\nshortest of the input sequences."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre"},'zip() == []\nzip(range(5)) == [(0,), (1,), (2,), (3,), (4,)]\nzip(range(5), "abc".elems()) == [(0, "a"), (1, "b"), (2, "c")]\n')))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bb8830dd.6fe154c4.js b/assets/js/bb8830dd.6fe154c4.js new file mode 100644 index 0000000000000..daad61a8ff717 --- /dev/null +++ b/assets/js/bb8830dd.6fe154c4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9133],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>l,MDXProvider:()=>m,mdx:()=>g,useMDXComponents:()=>d,withMDXComponents:()=>c});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),c=function(e){return function(t){var n=d(t.components);return a.createElement(e,o({},t,{components:n}))}},d=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},m=function(e){var t=d(e.components);return a.createElement(l.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),c=d(n),m=r,p=c["".concat(i,".").concat(m)]||c[m]||f[m]||o;return n?a.createElement(p,s(s({ref:t},l),{},{components:n})):a.createElement(p,s({ref:t},l))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=h;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:r,i[1]=s;for(var l=2;l<o;l++)i[l]=n[l];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}h.displayName="MDXCreateElement"},72676:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var a=n(87462),r=(n(67294),n(3905));const o={id:"cquery",title:"cquery"},i=void 0,s={unversionedId:"users/commands/cquery",id:"users/commands/cquery",title:"cquery",description:"These are the flags/commands under buck2 cquery and their --help output:",source:"@site/../docs/users/commands/cquery.generated.md",sourceDirName:"users/commands",slug:"/users/commands/cquery",permalink:"/docs/users/commands/cquery",draft:!1,tags:[],version:"current",frontMatter:{id:"cquery",title:"cquery"},sidebar:"mainSidebar",previous:{title:"completion",permalink:"/docs/users/commands/completion"},next:{title:"ctargets",permalink:"/docs/users/commands/ctargets"}},u={},l=[{value:"buck cquery",id:"buck-cquery",level:2}],c={toc:l};function d(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"These are the flags/commands under ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 cquery")," and their ",(0,r.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,r.mdx)("h2",{id:"buck-cquery"},"buck cquery"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"},"Perform queries on the configured target graph\n\nThe configured target graph includes information about the configuration\n(platforms) and transitions involved in building targets. In the\nconfigured graph, `selects` are fully resolved. The same target may\nappear in multiple different configurations (when printed, the\nconfiguration is after the target in parentheses).\n\nA user can specify a `--target-universe` flag to control how literals\nare resolved. When provided, any literals will resolve to all\nmatching targets within the universe (which includes the targets\npassed as the universe and all transitive deps of them). When not\nprovided, we implicitly set the universe to be rooted at every\ntarget literal in the `cquery`.\n\nRun `buck2 docs cquery` or\nhttps://buck2.build/docs/users/query/cquery/\nfor more documentation about the functions available in cquery\nexpressions.\n\nExamples:\n\nPrint all the attributes of a target\n\n`buck2 cquery //java/com/example/app:amazing --output-all-attributes`\n\nList the deps of a target (special characters in a target will\nrequire quotes):\n\n`buck2 cquery 'deps(\"//java/com/example/app:amazing+more\")'`\n\nUsage: buck2-release cquery [OPTIONS] <QUERY> [QUERY_ARGS]...\n\nArguments:\n <QUERY>\n the query to evaluate\n\n [QUERY_ARGS]...\n list of literals for a multi-query (one containing `%s` or `%Ss`)\n\nOptions:\n -A, --output-all-attributes\n Output all attributes, equivalent of --output-attribute ''.\n \n Avoid using this flag in automation because it may be expensive to produce certain\n attributes, and because it makes harder to track which special attributes are used.\n\n -B, --output-basic-attributes\n Output basic attributes, namely those the user can supply, plus rule type and package name\n\n -a, --output-attribute <ATTRIBUTE>\n Regular expressions to match attributes. Regular expressions are used in \"search\" mode, so\n for example empty string matches all attributes including special attributes.\n \n When using in automation, please specify the regular expression to match the attribute\n precisely, for example `--output-attribute '^headers$'` to make it easier to track which\n special attributes are used.\n\n --output-attributes <ATTRIBUTE>...\n Deprecated: Use `--output-attribute` instead.\n \n List of space-separated attributes to output, --output-attributes attr1 attr2.\n\n --json\n Output in JSON format\n\n --dot\n Output in Graphviz Dot format\n\n --dot-compact\n Output in a more compact format than Graphviz Dot\n\n --output-format <dot|dot_compact|json|starlark>\n Output format (default: list). \n \n dot - dot graph format. \n \n dot_compact - compact alternative to dot format. \n \n json - JSON format. \n \n starlark - targets are printed like starlark code that would produce them.\n \n \n [possible values: dot, json, dot_compact, starlark]\n\n --show-providers\n Show the providers of the query result instead of the attributes and labels\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n -u, --target-universe <TARGET_UNIVERSE>\n Comma separated list of targets to construct a configured target universe.\n \n When the option is specified, command targets are be resolved in this universe.\n Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the\n universe targets, not the command targets.\n \n This argument is particularly recommended on most non-trivial cqueries. In the absence of\n this argument, buck2 will use the target literals in your cquery expression as the value\n for\n this argument, which may not be what you want.\n\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nStarlark Profiling Options:\n --profile-mode <PROFILE_MODE>\n Profile target loading.\n \n When this option is enabled, Buck will profile every `BUCK` file loaded during the query\n and merge the results into a single profile. The command may return cached profile data if\n `BUCK` files were not invalidated.\n \n [possible values: time-flame, heap-flame-allocated, heap-flame-retained,\n heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs,\n typecheck, coverage]\n\n --profile-output <PROFILE_OUTPUT>\n Where to write profile output\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bf772405.e9e11e59.js b/assets/js/bf772405.e9e11e59.js new file mode 100644 index 0000000000000..d90e37bf704ae --- /dev/null +++ b/assets/js/bf772405.e9e11e59.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6259],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>g,useMDXComponents:()=>u,withMDXComponents:()=>d});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),d=function(e){return function(t){var n=u(t.components);return r.createElement(e,i({},t,{components:n}))}},u=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},h="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(n),p=o,h=d["".concat(a,".").concat(p)]||d[p]||f[p]||i;return n?r.createElement(h,s(s({ref:t},c),{},{components:n})):r.createElement(h,s({ref:t},c))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[h]="string"==typeof e?e:o,a[1]=s;for(var c=2;c<i;c++)a[c]=n[c];return r.createElement.apply(null,a)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},50594:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(87462),o=(n(67294),n(3905));const i={},a="Digest Kinds",s={unversionedId:"rfcs/drafts/digest-kinds",id:"rfcs/drafts/digest-kinds",title:"Digest Kinds",description:"Use cases:",source:"@site/../docs/rfcs/drafts/digest-kinds.md",sourceDirName:"rfcs/drafts",slug:"/rfcs/drafts/digest-kinds",permalink:"/docs/rfcs/drafts/digest-kinds",draft:!1,tags:[],version:"current",frontMatter:{}},l={},c=[{value:"Use cases:",id:"use-cases",level:2},{value:"Proposed plan",id:"proposed-plan",level:2},{value:"Implementation",id:"implementation",level:2},{value:"Hashes received from RE",id:"hashes-received-from-re",level:3},{value:"Hashes of files",id:"hashes-of-files",level:3},{value:"Hashes of directories",id:"hashes-of-directories",level:3}],d={toc:c};function u(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"digest-kinds"},"Digest Kinds"),(0,o.mdx)("h2",{id:"use-cases"},"Use cases:"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},"Buck2 needs to support more than just SHA1 for open-sourcing, since publicly\navailable RE providers use SHA256."),(0,o.mdx)("li",{parentName:"ul"},"Internally, we want to migrate to (potentially keyed) Blake3, and there will\nbe a transition period where we need to support both Blake3 and SHA1.")),(0,o.mdx)("h2",{id:"proposed-plan"},"Proposed plan"),(0,o.mdx)("p",null,"Make all the ways in which Buck2 ",(0,o.mdx)("em",{parentName:"p"},"ingests")," digests either configurable or\nexplicit about the type of digest they expect."),(0,o.mdx)("p",null,"Internally, we may keep track of digest types for debugging purposes, but we\nwill never compute more than one digest. It follows that we won't expose\nconfiguration for the digests we ",(0,o.mdx)("em",{parentName:"p"},"output")," (namely: to use on RE): if we only\nhave one digest for each blob, making it configurable has no utility since you\nnever have a choice about the hash to use."),(0,o.mdx)("h2",{id:"implementation"},"Implementation"),(0,o.mdx)("h3",{id:"hashes-received-from-re"},"Hashes received from RE"),(0,o.mdx)("p",null,"For interactions with RE, we'll expose two configurations (this can be on the\nCommandExecutorConfig):"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},"Preferred hash to use when Buck2 is doing the hashing (e.g. hashing\ndirectories)."),(0,o.mdx)("li",{parentName:"ul"},"Accepted hashes.")),(0,o.mdx)("p",null,"We'll use the format of the digests we receive from RE (in particular their\nsize) to infer what algorithm they used (remember: the RE API provides no way of\nknowing the format of a digest, it's just a string)."),(0,o.mdx)("h3",{id:"hashes-of-files"},"Hashes of files"),(0,o.mdx)("p",null,"We'll expose the hash to use via a buckconfig. Our\nthings-that-produce-hashes-of-files should either use the config to choose how\nthey hash, or fail if they cannot provide the right hash format (e.g. that'll be\ntrue of Eden I/O)."),(0,o.mdx)("h3",{id:"hashes-of-directories"},"Hashes of directories"),(0,o.mdx)("p",null,"This one gets a little tricky. Our directories currently have an implementation\nof fingerprinting that receives only the directory as input, so some refactoring\nis in order."),(0,o.mdx)("p",null,"We have two options:"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},"Pick the hashing algorithm based on the contents of the directory (pick one\nthat's already used). Dealing with empty directories is a bit annoying."),(0,o.mdx)("li",{parentName:"ul"},"Refactor the directory implementation and have directories parameterized over\ntheir fingerprints, not their hasher.")),(0,o.mdx)("p",null,"The first one is easier but has the downside of not working with keyed Blake3\n(because you don't have a way to bring in the key), so I'm aiming for the second\nimplementation for now."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c0da4fa6.986696a3.js b/assets/js/c0da4fa6.986696a3.js new file mode 100644 index 0000000000000..fcc773b7f9bc6 --- /dev/null +++ b/assets/js/c0da4fa6.986696a3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3291],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>c,MDXProvider:()=>s,mdx:()=>x,useMDXComponents:()=>u,withMDXComponents:()=>d});var n=r(67294);function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){l(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,n,l=function(e,t){if(null==e)return{};var r,n,l={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}var c=n.createContext({}),d=function(e){return function(t){var r=u(t.components);return n.createElement(e,o({},t,{components:r}))}},u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},b="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,l=e.mdxType,o=e.originalType,a=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),d=u(r),s=l,b=d["".concat(a,".").concat(s)]||d[s]||f[s]||o;return r?n.createElement(b,i(i({ref:t},c),{},{components:r})):n.createElement(b,i({ref:t},c))}));function x(e,t){var r=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var o=r.length,a=new Array(o);a[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[b]="string"==typeof e?e:l,a[1]=i;for(var c=2;c<o;c++)a[c]=r[c];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},71074:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=r(87462),l=(r(67294),r(3905));const o={id:"bxl.FileNode"},a="bxl.FileNode type",i={unversionedId:"api/bxl/bxl.FileNode",id:"api/bxl/bxl.FileNode",title:"bxl.FileNode type",description:"Wrapper around the cell relative path to the file or directory.",source:"@site/../docs/api/bxl/bxl.FileNode.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.FileNode",permalink:"/docs/api/bxl/bxl.FileNode",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.FileNode"},sidebar:"apiSidebar",previous:{title:"bxl.EnsuredArtifact type",permalink:"/docs/api/bxl/bxl.EnsuredArtifact"},next:{title:"bxl.Filesystem type",permalink:"/docs/api/bxl/bxl.Filesystem"}},p={},c=[{value:"bxl.FileNode.cell",id:"bxlfilenodecell",level:2},{value:"bxl.FileNode.path",id:"bxlfilenodepath",level:2}],d={toc:c};function u(e){let{components:t,...r}=e;return(0,l.mdx)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,l.mdx)("h1",{id:"bxlfilenode-type"},(0,l.mdx)("inlineCode",{parentName:"h1"},"bxl.FileNode")," type"),(0,l.mdx)("p",null,"Wrapper around the cell relative path to the file or directory."),(0,l.mdx)("h2",{id:"bxlfilenodecell"},"bxl.FileNode.cell"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.FileNode.cell: str\n")),(0,l.mdx)("p",null,"The cell name for the file_node."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlfilenodepath"},"bxl.FileNode.path"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.FileNode.path: str\n")),(0,l.mdx)("p",null,"The cell relative path as a string."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c11991f3.9fcfeb2e.js b/assets/js/c11991f3.9fcfeb2e.js new file mode 100644 index 0000000000000..318b084924c73 --- /dev/null +++ b/assets/js/c11991f3.9fcfeb2e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8346],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>u,MDXProvider:()=>c,mdx:()=>f,useMDXComponents:()=>p,withMDXComponents:()=>s});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l.apply(this,arguments)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),s=function(e){return function(t){var r=p(t.components);return n.createElement(e,l({},t,{components:r}))}},p=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):d(d({},t),e)),r},c=function(e){var t=p(e.components);return n.createElement(u.Provider,{value:t},e.children)},g="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},x=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,o=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),s=p(r),c=a,g=s["".concat(o,".").concat(c)]||s[c]||m[c]||l;return r?n.createElement(g,d(d({ref:t},u),{},{components:r})):n.createElement(g,d({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,o=new Array(l);o[0]=x;var d={};for(var i in t)hasOwnProperty.call(t,i)&&(d[i]=t[i]);d.originalType=e,d[g]="string"==typeof e?e:a,o[1]=d;for(var u=2;u<l;u++)o[u]=r[u];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}x.displayName="MDXCreateElement"},66449:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const l={id:"bxl.ConfiguredTargetNode"},o="bxl.ConfiguredTargetNode type",d={unversionedId:"api/bxl/bxl.ConfiguredTargetNode",id:"api/bxl/bxl.ConfiguredTargetNode",title:"bxl.ConfiguredTargetNode type",description:"bxl.ConfiguredTargetNode.attrs\\_eager",source:"@site/../docs/api/bxl/bxl.ConfiguredTargetNode.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.ConfiguredTargetNode",permalink:"/docs/api/bxl/bxl.ConfiguredTargetNode",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.ConfiguredTargetNode"},sidebar:"apiSidebar",previous:{title:"bxl.BuildResult type",permalink:"/docs/api/bxl/bxl.BuildResult"},next:{title:"bxl.Context type",permalink:"/docs/api/bxl/bxl.Context"}},i={},u=[{value:"bxl.ConfiguredTargetNode.attrs_eager",id:"bxlconfiguredtargetnodeattrs_eager",level:2},{value:"bxl.ConfiguredTargetNode.attrs_lazy",id:"bxlconfiguredtargetnodeattrs_lazy",level:2},{value:"bxl.ConfiguredTargetNode.buildfile_path",id:"bxlconfiguredtargetnodebuildfile_path",level:2},{value:"bxl.ConfiguredTargetNode.get_source",id:"bxlconfiguredtargetnodeget_source",level:2},{value:"bxl.ConfiguredTargetNode.label",id:"bxlconfiguredtargetnodelabel",level:2},{value:"bxl.ConfiguredTargetNode.resolved_attrs_eager",id:"bxlconfiguredtargetnoderesolved_attrs_eager",level:2},{value:"bxl.ConfiguredTargetNode.resolved_attrs_lazy",id:"bxlconfiguredtargetnoderesolved_attrs_lazy",level:2},{value:"bxl.ConfiguredTargetNode.rule_kind",id:"bxlconfiguredtargetnoderule_kind",level:2},{value:"bxl.ConfiguredTargetNode.rule_type",id:"bxlconfiguredtargetnoderule_type",level:2},{value:"bxl.ConfiguredTargetNode.sources",id:"bxlconfiguredtargetnodesources",level:2},{value:"bxl.ConfiguredTargetNode.unwrap_forward",id:"bxlconfiguredtargetnodeunwrap_forward",level:2}],s={toc:u};function p(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"bxlconfiguredtargetnode-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"bxl.ConfiguredTargetNode")," type"),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnodeattrs_eager"},"bxl.ConfiguredTargetNode.attrs","_","eager"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.ConfiguredTargetNode.attrs_eager()\n")),(0,a.mdx)("p",null,"Returns a struct of all the attributes of this target node. The structs fields are the attributes names, and the values are ","[",(0,a.mdx)("inlineCode",{parentName:"p"},"StarlarkConfiguredAttr"),"]","."),(0,a.mdx)("p",null,"If you need to access many or all attrs on the same node, then this is the preferred way. Otherwise,\nusing ",(0,a.mdx)("inlineCode",{parentName:"p"},"attrs_lazy()")," would be a better option for only accessing only a few attrs, although this really\ndepends on what kind of attrs are on the node. Benchmarking performance will give you the best\nindication on which method to use."),(0,a.mdx)("p",null,"You should store the result of this function call for further usage in the code rather than calling\n",(0,a.mdx)("inlineCode",{parentName:"p"},"attrs_eager()")," each time you need to access the attrs."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_attrs_eager(ctx):\n node = ctx.cquery().owner("cell//path/to/TARGETS")[0]\n attrs = node.attrs_eager() # cache once\n ctx.output.print(attrs)\n # do more stuff with attrs\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnodeattrs_lazy"},"bxl.ConfiguredTargetNode.attrs","_","lazy"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.ConfiguredTargetNode.attrs_lazy() -> lazy_attrs\n")),(0,a.mdx)("p",null,"Returns a ",(0,a.mdx)("inlineCode",{parentName:"p"},"lazy_attrs")," object that you can call ",(0,a.mdx)("inlineCode",{parentName:"p"},"get()")," on that gets an attr one at a time."),(0,a.mdx)("p",null,"If you need to access only few attrs on the same node, then this is the preferred way. Otherwise,\nusing ",(0,a.mdx)("inlineCode",{parentName:"p"},"attrs_eager()")," would be a better option for accessing many or all attrs, although this really\ndepends on what kind of attrs are on the node. Benchmarking performance will give you the best\nindication on which method to use."),(0,a.mdx)("p",null,"You should store the result of this function call for further usage in the code rather than calling\n",(0,a.mdx)("inlineCode",{parentName:"p"},"attrs_lazy()")," each time to get the ",(0,a.mdx)("inlineCode",{parentName:"p"},"lazy_attrs")," object. Note that if the ",(0,a.mdx)("inlineCode",{parentName:"p"},"get()")," is ",(0,a.mdx)("inlineCode",{parentName:"p"},"None"),",\nthen any methods called on ",(0,a.mdx)("inlineCode",{parentName:"p"},"None")," will result in an error."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_attrs_lazy(ctx):\n node = ctx.cquery().owner("cell//path/to/TARGETS")[0]\n attrs = node.attrs_lazy() # cache once\n ctx.output.print(attrs.get("some_attributes").value())\n ctx.output.print(attrs.get("some_attribute").label)\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnodebuildfile_path"},"bxl.ConfiguredTargetNode.buildfile","_","path"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.ConfiguredTargetNode.buildfile_path: bxl.FileNode\n")),(0,a.mdx)("p",null,"Gets the buildfile path from the configured target node."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_label(ctx):\n target_node = ctx.cquery().eval(\"owner('path/to/file')\")[0]\n ctx.output.print(target_node.buildfile_path)\n")),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnodeget_source"},"bxl.ConfiguredTargetNode.get","_","source"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.ConfiguredTargetNode.get_source(\n path: str,\n ctx: bxl.Context\n) -> None | artifact\n")),(0,a.mdx)("p",null,"Gets the source ",(0,a.mdx)("inlineCode",{parentName:"p"},"Artifact")," that corresponds to the given ",(0,a.mdx)("inlineCode",{parentName:"p"},"path")," given a context. The path should be the project relative path to the file, or an absolute path."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_get_source(ctx):\n owner = ctx.cquery().owner("project/relative/path/to/file")[0]\n artifact = owner.sources()[0]\n ctx.output.print(artifact)\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnodelabel"},"bxl.ConfiguredTargetNode.label"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.ConfiguredTargetNode.label: configured_target_label\n")),(0,a.mdx)("p",null,"Gets the configured target label of this target node."),(0,a.mdx)("p",null,"Note that you cannot get a non-configured label from a configured target node because the\nconfigured target node is not uniquely identified a non-configured label, only by the configured target label."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_label(ctx):\n node = ctx.configured_targets("my_cell//bin:the_binary")\n ctx.output.print(node.label)\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnoderesolved_attrs_eager"},"bxl.ConfiguredTargetNode.resolved","_","attrs","_","eager"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.ConfiguredTargetNode.resolved_attrs_eager(ctx: bxl.Context)\n")),(0,a.mdx)("p",null,"Returns a struct of all the resolved attributes of this target node. The structs fields are the attributes names, and the values are the underlying Starlark values of the attributes."),(0,a.mdx)("p",null,"If you need to access many or all resolved attrs on the same node, then this is the preferred way. Otherwise,\nusing ",(0,a.mdx)("inlineCode",{parentName:"p"},"resolved_attrs_lazy()")," would be a better option for accessing only a few resolved attrs, although this really\ndepends on what kind of resolved attrs are on the node. Benchmarking performance will give you the best\nindication on which method to use."),(0,a.mdx)("p",null,"You should store the result of this function call for further usage in the code rather than calling\n",(0,a.mdx)("inlineCode",{parentName:"p"},"resolved_attrs_eager()")," each time you need all the resolved attrs."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_resolved_attrs_eager(ctx):\n node = ctx.cquery().owner("cell//path/to/TARGETS")[0]\n attrs = node.resolved_attrs_eager(ctx) # cache once\n ctx.output.print(attrs)\n # do more stuff with attrs\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnoderesolved_attrs_lazy"},"bxl.ConfiguredTargetNode.resolved","_","attrs","_","lazy"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.ConfiguredTargetNode.resolved_attrs_lazy(\n ctx: bxl.Context\n) -> bxl.LazyResolvedAttrs\n")),(0,a.mdx)("p",null,"Returns a ",(0,a.mdx)("inlineCode",{parentName:"p"},"lazy_resolved_attrs")," object that you can call ",(0,a.mdx)("inlineCode",{parentName:"p"},"get()")," on that gets a resolved attr one at a time."),(0,a.mdx)("p",null,"If you need to access only few resolved attrs on the same node, then this is the preferred way. Otherwise,\nusing ",(0,a.mdx)("inlineCode",{parentName:"p"},"resolved_attrs_eager()")," would be a better option for accessing many or all resolved attrs, although this really\ndepends on what kind of resolved attrs are on the node. Benchmarking performance will give you the best\nindication on which method to use."),(0,a.mdx)("p",null,"You should store the result of this function call for further usage in the code rather than calling\n",(0,a.mdx)("inlineCode",{parentName:"p"},"resolved_attrs_lazy()")," each time to get the ",(0,a.mdx)("inlineCode",{parentName:"p"},"lazy_resolved_attrs")," object. Note that if the ",(0,a.mdx)("inlineCode",{parentName:"p"},"get()")," is ",(0,a.mdx)("inlineCode",{parentName:"p"},"None"),",\nthen any methods called on ",(0,a.mdx)("inlineCode",{parentName:"p"},"None")," will result in an error."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_resolved_attrs_lazy(ctx):\n node = ctx.cquery().owner("cell//path/to/TARGETS")[0]\n attrs = node.resolved_attrs_lazy(ctx) # cache once\n ctx.output.print(attrs.get("some_attributes").value())\n ctx.output.print(attrs.get("some_attribute").label)\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnoderule_kind"},"bxl.ConfiguredTargetNode.rule","_","kind"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.ConfiguredTargetNode.rule_kind: str\n")),(0,a.mdx)("p",null,"Gets the targets' corresponding rule's kind which is one of - normal (with no special properties) - configured (usable in a configuration context) - toolchain (only usable as a toolchain dep)"),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_rule_kind(ctx):\n node = ctx.configured_targets("my_cell//bin:the_binary")\n ctx.output.print(node.rule_kind)\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnoderule_type"},"bxl.ConfiguredTargetNode.rule","_","type"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.ConfiguredTargetNode.rule_type: str\n")),(0,a.mdx)("p",null,"Gets the targets' corresponding rule's name. This is the fully qualified rule name including the import path."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_rule_type(ctx):\n node = ctx.configured_targets("my_cell//bin:the_binary")\n ctx.output.print(node.rule_type)\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnodesources"},"bxl.ConfiguredTargetNode.sources"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.ConfiguredTargetNode.sources() -> list[artifact]\n")),(0,a.mdx)("p",null,"Returns a List of all the sources used by this node."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_sources(ctx):\n node = ctx.configured_targets("my_cell//bin:the_binary")\n ctx.output.print(node.sources())\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlconfiguredtargetnodeunwrap_forward"},"bxl.ConfiguredTargetNode.unwrap","_","forward"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.ConfiguredTargetNode.unwrap_forward() -> bxl.ConfiguredTargetNode\n")),(0,a.mdx)("p",null,"Skip incoming transition forward node. If a target is a forward node, which is created by applying incoming configuration transition, return the transition target, otherwise return itself. This is is particularly useful when you don't care about 'forward' node."),(0,a.mdx)("p",null,"Example usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_unwrap_forward(ctx):\n node = ctx.configured_targets("my_cell//bin:the_binary")\n actual_node = node.unwrap_forward()\n')))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c39f63f4.e30919db.js b/assets/js/c39f63f4.e30919db.js new file mode 100644 index 0000000000000..e1d498ea86c9f --- /dev/null +++ b/assets/js/c39f63f4.e30919db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[615],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>p,MDXProvider:()=>d,mdx:()=>y,useMDXComponents:()=>u,withMDXComponents:()=>l});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=r.createContext({}),l=function(e){return function(t){var n=u(t.components);return r.createElement(e,i({},t,{components:n}))}},u=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=u(e.components);return r.createElement(p.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},v=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),l=u(n),d=o,m=l["".concat(a,".").concat(d)]||l[d]||f[d]||i;return n?r.createElement(m,c(c({ref:t},p),{},{components:n})):r.createElement(m,c({ref:t},p))}));function y(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=v;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[m]="string"==typeof e?e:o,a[1]=c;for(var p=2;p<i;p++)a[p]=n[p];return r.createElement.apply(null,a)}return r.createElement.apply(null,n)}v.displayName="MDXCreateElement"},24358:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var r=n(87462),o=(n(67294),n(3905));const i={},a="Buck 2 specific options",c={unversionedId:"developers/options",id:"developers/options",title:"Buck 2 specific options",description:"Buck 2 introduces some options that don't exist in v1 and are accessed in the",source:"@site/../docs/developers/options.md",sourceDirName:"developers",slug:"/developers/options",permalink:"/docs/developers/options",draft:!1,tags:[],version:"current",frontMatter:{}},s={},p=[],l={toc:p};function u(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"buck-2-specific-options"},"Buck 2 specific options"),(0,o.mdx)("p",null,"Buck 2 introduces some options that don't exist in v1 and are accessed in the\nroot cell:"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},"project.watchman_merge_base"),": defines the merge base to use for SCM-aware\nqueries to Watchman. This is read when the daemon starts and cannot be changed\nlater without a restart."),(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},"test.v2_test_executor"),": defines the program to invoke as the test executor in\n",(0,o.mdx)("inlineCode",{parentName:"li"},"buck test"),". This is read every time a test command executes.")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c423787e.d1c58994.js b/assets/js/c423787e.d1c58994.js new file mode 100644 index 0000000000000..0f19cc0525757 --- /dev/null +++ b/assets/js/c423787e.d1c58994.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9092],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>l,MDXProvider:()=>m,mdx:()=>b,useMDXComponents:()=>s,withMDXComponents:()=>u});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),u=function(e){return function(t){var n=s(t.components);return r.createElement(e,a({},t,{components:n}))}},s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},m=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),u=s(n),m=o,d=u["".concat(i,".").concat(m)]||u[m]||f[m]||a;return n?r.createElement(d,c(c({ref:t},l),{},{components:n})):r.createElement(d,c({ref:t},l))}));function b(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=y;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c[d]="string"==typeof e?e:o,i[1]=c;for(var l=2;l<a;l++)i[l]=n[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}y.displayName="MDXCreateElement"},68226:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var r=n(87462),o=(n(67294),n(3905));const a={id:"action"},i="action type",c={unversionedId:"api/bxl/action",id:"api/bxl/action",title:"action type",description:"Methods for an action.",source:"@site/../docs/api/bxl/action.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/action",permalink:"/docs/api/bxl/action",draft:!1,tags:[],version:"current",frontMatter:{id:"action"},sidebar:"apiSidebar",previous:{title:"StackFrame type",permalink:"/docs/api/bxl/StackFrame"},next:{title:"action_attr type",permalink:"/docs/api/bxl/action_attr"}},p={},l=[{value:"action.owner",id:"actionowner",level:2}],u={toc:l};function s(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"action-type"},(0,o.mdx)("inlineCode",{parentName:"h1"},"action")," type"),(0,o.mdx)("p",null,"Methods for an action."),(0,o.mdx)("h2",{id:"actionowner"},"action.owner"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"def action.owner() -> configured_target_label\n")),(0,o.mdx)("p",null,"Gets the owning configured target label for an action."),(0,o.mdx)("p",null,"Sample usage:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_action(ctx):\n action = ctx.audit().output("buck-out/path/to/__target__/artifact", "your_target_platform")\n ctx.output.print(action.owner())\n')))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c47ebe08.2b851d66.js b/assets/js/c47ebe08.2b851d66.js new file mode 100644 index 0000000000000..639b1836ee47e --- /dev/null +++ b/assets/js/c47ebe08.2b851d66.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3423],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>p,MDXProvider:()=>m,mdx:()=>b,useMDXComponents:()=>l,withMDXComponents:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),u=function(e){return function(t){var r=l(t.components);return n.createElement(e,o({},t,{components:r}))}},l=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):d(d({},t),e)),r},m=function(e){var t=l(e.components);return n.createElement(p.Provider,{value:t},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(r),m=a,c=u["".concat(i,".").concat(m)]||u[m]||h[m]||o;return r?n.createElement(c,d(d({ref:t},p),{},{components:r})):n.createElement(c,d({ref:t},p))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=f;var d={};for(var s in t)hasOwnProperty.call(t,s)&&(d[s]=t[s]);d.originalType=e,d[c]="string"==typeof e?e:a,i[1]=d;for(var p=2;p<o;p++)i[p]=r[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},96762:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>l,frontMatter:()=>o,metadata:()=>d,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const o={id:"cheat_sheet",title:"Cheat Sheet"},i="Buck2 Cheat Sheet",d={unversionedId:"users/cheat_sheet",id:"users/cheat_sheet",title:"Cheat Sheet",description:"This section provides example command lines that you can use to obtain",source:"@site/../docs/users/cheatsheet.md",sourceDirName:"users",slug:"/users/cheat_sheet",permalink:"/docs/users/cheat_sheet",draft:!1,tags:[],version:"current",frontMatter:{id:"cheat_sheet",title:"Cheat Sheet"},sidebar:"mainSidebar",previous:{title:"utargets",permalink:"/docs/users/commands/utargets"},next:{title:"Common Issues",permalink:"/docs/users/faq/common_issues"}},s={},p=[{value:"How do I find all the targets for a package?",id:"how-do-i-find-all-the-targets-for-a-package",level:3},{value:"How do I specify more than one target to <code>buck2 cquery</code>?",id:"how-do-i-specify-more-than-one-target-to-buck2-cquery",level:3},{value:"How do I get the attribute names and values for the targets returned by a query?",id:"how-do-i-get-the-attribute-names-and-values-for-the-targets-returned-by-a-query",level:3},{value:"How do I perform a query<strong> *</strong>inside<strong>* </strong>of a rule?",id:"how-do-i-perform-a-query-inside-of-a-rule",level:3},{value:"How do I find the dependencies for a target?",id:"how-do-i-find-the-dependencies-for-a-target",level:3},{value:"How do I find the buildfile that contains the target that owns a source file?",id:"how-do-i-find-the-buildfile-that-contains-the-target-that-owns-a-source-file",level:3}],u={toc:p};function l(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"buck2-cheat-sheet"},"Buck2 Cheat Sheet"),(0,a.mdx)("p",null,"This section provides example command lines that you can use to obtain\ninformation about Buck2 and about your build. These techniques can help you to\nunderstand how your build works and to troubleshoot issues with your build.\nThese examples use the ",(0,a.mdx)("a",{parentName:"p",href:"../query/cquery"},(0,a.mdx)("inlineCode",{parentName:"a"},"buck2 cquery"))," command. We recommend\ncquery over uquery in most cases because cquery operates on the configured\ngraph, which means that targets have had the expected configurations applied on\nthem."),(0,a.mdx)("hr",null),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"How do I find all the targets for a package?"),(0,a.mdx)("li",{parentName:"ul"},"How do I specify more than one target to ",(0,a.mdx)("inlineCode",{parentName:"li"},"buck2 cquery"),"?"),(0,a.mdx)("li",{parentName:"ul"},"How do I get the attribute names and values for the targets that result from a\nquery?"),(0,a.mdx)("li",{parentName:"ul"},"How do I perform a query inside of a rule?"),(0,a.mdx)("li",{parentName:"ul"},"How do I find the dependencies for a target, that is, the targets on which a\nspecified target depends?"),(0,a.mdx)("li",{parentName:"ul"},"How do I find the reverse-dependencies for a target, that is, the targets that\ndepend on a specified target?"),(0,a.mdx)("li",{parentName:"ul"},"How do I find the build file that contains the target that owns a source file?")),(0,a.mdx)("hr",null),(0,a.mdx)("h3",{id:"how-do-i-find-all-the-targets-for-a-package"},"How do I find all the targets for a package?"),(0,a.mdx)("p",null,"Specify a ",(0,a.mdx)("em",{parentName:"p"},"build target pattern")," that represents the targets in the package."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"buck2 cquery //path/to/dir/...\n")),(0,a.mdx)("p",null,"The ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 cquery")," command can accept a\n",(0,a.mdx)("a",{parentName:"p",href:"../../concepts/target_pattern"},"build target pattern")," as a parameter. If you\nspecify a build target pattern, Buck2 evaluates this pattern and shows all the\nbuild targets that match it."),(0,a.mdx)("h3",{id:"how-do-i-specify-more-than-one-target-to-buck2-cquery"},"How do I specify more than one target to ",(0,a.mdx)("inlineCode",{parentName:"h3"},"buck2 cquery"),"?"),(0,a.mdx)("p",null,"Use the ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 cquery set()")," operator. The following command line returns the\ntarget ",(0,a.mdx)("inlineCode",{parentName:"p"},"main")," in the build file in the root of the Buck2 project and all the\ntargets from the build file in the ",(0,a.mdx)("inlineCode",{parentName:"p"},"myclass")," subdirectory of the root."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"buck2 cquery \"set( '//:main' '//myclass:' )\"\n")),(0,a.mdx)("h3",{id:"how-do-i-get-the-attribute-names-and-values-for-the-targets-returned-by-a-query"},"How do I get the attribute names and values for the targets returned by a query?"),(0,a.mdx)("p",null,"Add the ",(0,a.mdx)("inlineCode",{parentName:"p"},"--output-attribute <ATTRIBUTE>")," or ",(0,a.mdx)("inlineCode",{parentName:"p"},"--output-all-attributes")," option to\nthe command line, followed by regular expressions that represent the attributes\nof interest."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"buck2 cquery \"deps(//foo:bar)\" --output-attribute 'name' 'exported_headers'\n")),(0,a.mdx)("p",null,"The ",(0,a.mdx)("inlineCode",{parentName:"p"},"--output-attribute")," option enables you to specify which attributes Buck2\nshould return. Instead of returning the names of the targets that match the\nquery expression, Buck2 returns the names and values of the specified attributes\nfor those targets in JSON format. Attributes are specified as regular\nexpressions. For example, ",(0,a.mdx)("inlineCode",{parentName:"p"},"'.*'")," matches all attributes. See the\n",(0,a.mdx)("a",{parentName:"p",href:"../query/cquery"},(0,a.mdx)("inlineCode",{parentName:"a"},"buck2 cquery")," docs")," for more details. The output for the\nexample query above might look something like the following."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},'{"//foo/bar/lib:lib" : {"exported_headers" : [ "App/util.h" ],"name" : "lib"},"//foo/bar:app" : {"exported_headers" : [ "App/lib.h" ],"name" : "app"}}\n')),(0,a.mdx)("h3",{id:"how-do-i-perform-a-query-inside-of-a-rule"},"How do I perform a query",(0,a.mdx)("strong",{parentName:"h3"}," ","*"),"inside",(0,a.mdx)("strong",{parentName:"h3"},"*"," "),"of a rule?"),(0,a.mdx)("p",null,"Buck2 supports certain string parameter macros to be used when defining a\ntarget. You can use the query macros as such:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},'$(query_targets "queryfunction(//:foo)")\n$(query_outputs "queryfunction(//:foo)")\n$(query_targets_and_outputs [SEPARATOR] "queryfunction(//:foo)")\n')),(0,a.mdx)("p",null,"Note, however, that the query macros are supported only for\n",(0,a.mdx)("a",{parentName:"p",href:"../../prelude/globals/#genrule"},(0,a.mdx)("inlineCode",{parentName:"a"},"genrule"))," and\n",(0,a.mdx)("a",{parentName:"p",href:"../../prelude/globals/#apk_genrule"},(0,a.mdx)("inlineCode",{parentName:"a"},"apk_genrule")),"."),(0,a.mdx)("h3",{id:"how-do-i-find-the-dependencies-for-a-target"},"How do I find the dependencies for a target?"),(0,a.mdx)("p",null,"Use the ",(0,a.mdx)("inlineCode",{parentName:"p"},"deps()")," operator."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"buck2 cquery \"deps('//foo:bar')\"\nbuck2 cquery \"deps('//foo:bar', 1, first_order_deps())\"\nbuck2 cquery \"deps(set('//foo:bar' '//foo:lib' '//foo/baz:util'))\"\n")),(0,a.mdx)("p",null,"The ",(0,a.mdx)("inlineCode",{parentName:"p"},"deps")," operator finds the dependencies of the specified targets. The first\nargument represents the targets of interest. This can be a single\n",(0,a.mdx)("a",{parentName:"p",href:"../../concepts/build_target"},"build target")," or\n",(0,a.mdx)("a",{parentName:"p",href:"../../concepts/target_pattern"},"build target pattern"),", or a set of these. The\noptional second argument is the ",(0,a.mdx)("em",{parentName:"p"},"depth")," of the search for dependencies from the\nspecified targets. For example, ",(0,a.mdx)("inlineCode",{parentName:"p"},"1"),", as shown in the example above, returns only\nthe direct dependencies. If you do not provide this argument, the output is the\ncomplete set of transitive dependencies. How do I find the reverse-dependencies\nfor a target, that is, the targets that",(0,a.mdx)("strong",{parentName:"p"}," ","*"),"depend on",(0,a.mdx)("strong",{parentName:"p"},"*"," "),"a specified\ntarget? Use the ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 cquery rdeps()")," (reverse dependencies) operator. The\nfollowing example, returns the targets in the\n",(0,a.mdx)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Transitive_closure"},"transitive closure")," of\n",(0,a.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," that depend directly on ",(0,a.mdx)("inlineCode",{parentName:"p"},"//example:baz"),"."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"buck2 cquery \"rdeps('//foo:bar', '//example:baz', 1)\"\n")),(0,a.mdx)("h3",{id:"how-do-i-find-the-buildfile-that-contains-the-target-that-owns-a-source-file"},"How do I find the buildfile that contains the target that owns a source file?"),(0,a.mdx)("p",null,"In order to find the build file associated with a source file, combine the\n",(0,a.mdx)("inlineCode",{parentName:"p"},"owner")," operator with ",(0,a.mdx)("inlineCode",{parentName:"p"},"buildfile"),". For example,"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"buck2 cquery \"buildfile(owner('foo/bar/main.cpp'))\"\n")),(0,a.mdx)("p",null,"first finds the targets that ",(0,a.mdx)("em",{parentName:"p"},"own")," ",(0,a.mdx)("inlineCode",{parentName:"p"},"foo/bar/main.cpp")," and then returns the build\nfiles, such as ",(0,a.mdx)("inlineCode",{parentName:"p"},"foo/bar/BUCK"),", that define those targets."))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c4ae0129.85ec82a3.js b/assets/js/c4ae0129.85ec82a3.js new file mode 100644 index 0000000000000..0deadce266aae --- /dev/null +++ b/assets/js/c4ae0129.85ec82a3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[514],{3905:(e,n,a)=>{a.r(n),a.d(n,{MDXContext:()=>p,MDXProvider:()=>s,mdx:()=>v,useMDXComponents:()=>m,withMDXComponents:()=>c});var l=a(67294);function t(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},i.apply(this,arguments)}function r(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);n&&(l=l.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,l)}return a}function o(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?r(Object(a),!0).forEach((function(n){t(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function d(e,n){if(null==e)return{};var a,l,t=function(e,n){if(null==e)return{};var a,l,t={},i=Object.keys(e);for(l=0;l<i.length;l++)a=i[l],n.indexOf(a)>=0||(t[a]=e[a]);return t}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(l=0;l<i.length;l++)a=i[l],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(t[a]=e[a])}return t}var p=l.createContext({}),c=function(e){return function(n){var a=m(n.components);return l.createElement(e,i({},n,{components:a}))}},m=function(e){var n=l.useContext(p),a=n;return e&&(a="function"==typeof e?e(n):o(o({},n),e)),a},s=function(e){var n=m(e.components);return l.createElement(p.Provider,{value:n},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return l.createElement(l.Fragment,{},n)}},x=l.forwardRef((function(e,n){var a=e.components,t=e.mdxType,i=e.originalType,r=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),c=m(a),s=t,u=c["".concat(r,".").concat(s)]||c[s]||f[s]||i;return a?l.createElement(u,o(o({ref:n},p),{},{components:a})):l.createElement(u,o({ref:n},p))}));function v(e,n){var a=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var i=a.length,r=new Array(i);r[0]=x;var o={};for(var d in n)hasOwnProperty.call(n,d)&&(o[d]=n[d]);o.originalType=e,o[u]="string"==typeof e?e:t,r[1]=o;for(var p=2;p<i;p++)r[p]=a[p];return l.createElement.apply(null,r)}return l.createElement.apply(null,a)}x.displayName="MDXCreateElement"},20427:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var l=a(87462),t=(a(67294),a(3905));const i={},r="Package-local values",o={unversionedId:"rfcs/package-local-values",id:"rfcs/package-local-values",title:"Package-local values",description:"This RFC proposes to extend buck2 Starlark with package-local values.",source:"@site/../docs/rfcs/package-local-values.md",sourceDirName:"rfcs",slug:"/rfcs/package-local-values",permalink:"/docs/rfcs/package-local-values",draft:!1,tags:[],version:"current",frontMatter:{}},d={},p=[{value:"Why",id:"why",level:2},{value:"What we have now",id:"what-we-have-now",level:2},{value:"API",id:"api",level:2},{value:"<code>PACKAGE</code> files",id:"package-files",level:3},{value:"API",id:"api-1",level:3},{value:"<code>PACKAGE</code> file API",id:"package-file-api",level:4},{value:"<code>BUCK</code> file API",id:"buck-file-api",level:4},{value:"<code>read_config</code>",id:"read_config",level:3}],c={toc:p};function m(e){let{components:n,...a}=e;return(0,t.mdx)("wrapper",(0,l.Z)({},c,a,{components:n,mdxType:"MDXLayout"}),(0,t.mdx)("h1",{id:"package-local-values"},"Package-local values"),(0,t.mdx)("p",null,"This RFC proposes to extend buck2 Starlark with package-local values."),(0,t.mdx)("h2",{id:"why"},"Why"),(0,t.mdx)("p",null,"DevX people want to have some per-directory configuration files, accessible from\nStarlark macros."),(0,t.mdx)("p",null,"For example, a project NNN may want to switch to building using LLVM 15 by\ndefault. End users would want to have an easy instruction how to do that, after\nDevX people provided instructions and infrastructure for that."),(0,t.mdx)("h2",{id:"what-we-have-now"},"What we have now"),(0,t.mdx)("p",null,"Currently, in fbcode, we have ",(0,t.mdx)("inlineCode",{parentName:"p"},"get_modes")," mechanism."),(0,t.mdx)("p",null,(0,t.mdx)("inlineCode",{parentName:"p"},"get_modes")," symbol is registered in per-package implicit symbols,\n",(0,t.mdx)("a",{parentName:"p",href:"https://fburl.com/code/7ud7e3ci"},"here"),"."),(0,t.mdx)("p",null,"This symbol can be accessed from macros using\n",(0,t.mdx)("a",{parentName:"p",href:"https://fburl.com/code/u5coj9s7"},"implicit_package_symbol")," function."),(0,t.mdx)("p",null,(0,t.mdx)("inlineCode",{parentName:"p"},"get_modes")," functions are package-local, but all ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUILD_MODE.bzl")," files need to\nbe registered in global buckconfig, which is not ideal."),(0,t.mdx)("p",null,"Proposed per-package properties can replace ",(0,t.mdx)("inlineCode",{parentName:"p"},"get_modes")," mechanism."),(0,t.mdx)("h2",{id:"api"},"API"),(0,t.mdx)("h3",{id:"package-files"},(0,t.mdx)("inlineCode",{parentName:"h3"},"PACKAGE")," files"),(0,t.mdx)("p",null,"Before evaluating ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK")," file, buck2 will evaluate all ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files in the\nsame directory and all parent directories. Absent ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files are treated as\nempty files."),(0,t.mdx)("p",null,"All relevant ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files are executed sequentially from the root directory\nto the current directory (but unrelated ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files can be executed in\nparallel). Evaluating ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files sequentially provides additional\nguarantees, for example, attempt to override a property (unless explicitly\nrequested) should fail with Starlark call stack."),(0,t.mdx)("p",null,"Each ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file is evaluated at most once (like ",(0,t.mdx)("inlineCode",{parentName:"p"},"bzl")," file)."),(0,t.mdx)("p",null,(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files may load arbitrary ",(0,t.mdx)("inlineCode",{parentName:"p"},"bzl")," files. ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK"),"-specific functions called\nin ",(0,t.mdx)("inlineCode",{parentName:"p"},"bzl")," files (like rule functions) are available, but calling functions from\n",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files is an error. This way, ",(0,t.mdx)("inlineCode",{parentName:"p"},"bzl")," files are evaluated only once\nregardless of whether they are loaded from ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," or ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK")," file."),(0,t.mdx)("h3",{id:"api-1"},"API"),(0,t.mdx)("p",null,(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files have a global function:"),(0,t.mdx)("h4",{id:"package-file-api"},(0,t.mdx)("inlineCode",{parentName:"h4"},"PACKAGE")," file API"),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-python"},'def write_package_value(\n name: str,\n value: "",\n overwrite: bool = False,\n): ...\n')),(0,t.mdx)("p",null,"Name is a string which must contain exactly one dot symbol (just to enforce code\nstyle)."),(0,t.mdx)("p",null,"Value is an arbitrary Starlark value, for example, an integer, a list of\ninteger, a struct or a function."),(0,t.mdx)("p",null,"When ",(0,t.mdx)("inlineCode",{parentName:"p"},"overwrite")," is ",(0,t.mdx)("inlineCode",{parentName:"p"},"False")," (default), attempt to overwrite per-package value\ndefined in parent ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file will fail."),(0,t.mdx)("p",null,"Written values are frozen when ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file evaluation is finished."),(0,t.mdx)("p",null,"Note ",(0,t.mdx)("inlineCode",{parentName:"p"},"write_package_value")," symbol exists in ",(0,t.mdx)("inlineCode",{parentName:"p"},"bzl")," globals, and it can be called\nfrom ",(0,t.mdx)("inlineCode",{parentName:"p"},"bzl")," file in context of ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," evaluation, but calling\n",(0,t.mdx)("inlineCode",{parentName:"p"},"write_package_file")," is an error on context of ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK")," evaluation."),(0,t.mdx)("p",null,"Modifying ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file logically invalidates the ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK")," file of this package,\nand all ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," and ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK")," files of subpackages. However, ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK")," file\nevaluation may track which package-local values were accessed and only\ninvalidate ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK")," files which were potentially affected (similarly to how we do\nit with buckconfigs, with individual properties being projection keys)."),(0,t.mdx)("h4",{id:"buck-file-api"},(0,t.mdx)("inlineCode",{parentName:"h4"},"BUCK")," file API"),(0,t.mdx)("p",null,(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK")," files (and ",(0,t.mdx)("inlineCode",{parentName:"p"},"bzl")," files included from ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK")," files) have a global\nfunction:"),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-python"},"def read_package_value(\n name: str,\n): ...\n")),(0,t.mdx)("p",null,"This function returns the nearest value registered per package, or ",(0,t.mdx)("inlineCode",{parentName:"p"},"None")," is\nsuch value does not exist."),(0,t.mdx)("p",null,"This function is available in ",(0,t.mdx)("inlineCode",{parentName:"p"},"bzl")," files, but attempt to call this function in\ncontext of ",(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file evaluation results in an error. This restriction can\nbe lifted in the future."),(0,t.mdx)("p",null,"Per-package values are ",(0,t.mdx)("strong",{parentName:"p"},"not")," accessible as global symbols in ",(0,t.mdx)("inlineCode",{parentName:"p"},"BUCK")," files. We\nmay reconsider it in the future."),(0,t.mdx)("h3",{id:"read_config"},(0,t.mdx)("inlineCode",{parentName:"h3"},"read_config")),(0,t.mdx)("p",null,(0,t.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files may call ",(0,t.mdx)("inlineCode",{parentName:"p"},"read_config")," function."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c4f5d8e4.d236d0e0.js b/assets/js/c4f5d8e4.d236d0e0.js new file mode 100644 index 0000000000000..8c088c26882bb --- /dev/null +++ b/assets/js/c4f5d8e4.d236d0e0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4195],{59335:(e,t,n)=>{n.r(t),n.d(t,{default:()=>E});var a=n(67294),l=n(86010),s=n(89493),r=n(39960),c=n(52263);const o="heroBanner_qdFl",i="buttons_AeoN";var u=n(87462);const m="features_xdhU",d=[{icon:"\ud83d\ude80",title:"Fast",description:a.createElement(a.Fragment,null,"Buck2 is faster than Buck. If you've got nothing to do, Buck2 is significantly faster. If you've got lots to do, Buck2 will start doing it faster and be much closer to the critical path.")},{icon:"\ud83c\udfaf",title:"Reliable",description:a.createElement(a.Fragment,null,"Buck2 rules are hermetic by default. Missing dependencies are errors. These restrictions apply to both the user-written ",a.createElement("code",null,"BUCK")," files and the language rules. Buck2 gives the right result more reliably.")},{icon:"\ud83e\udde9",title:"Extensible",description:a.createElement(a.Fragment,null,"All rules are written in Starlark, with nothing in the core of Buck2 knowing anything about languages. That means that Buck2 users can define their own rules as first-class citizens.")}];function h(e){let{icon:t,title:n,description:s}=e;return a.createElement("div",{className:(0,l.default)("col col--4")},a.createElement("div",{className:"text--center",style:{fontSize:"400%"}},t),a.createElement("div",{className:"text--center padding-horiz--md"},a.createElement("h3",null,n),a.createElement("p",null,s)))}function b(){return a.createElement("section",{className:m},a.createElement("div",{className:"container"},a.createElement("div",{className:"row"},d.map(((e,t)=>a.createElement(h,(0,u.Z)({key:t},e)))))))}var f=n(86341);function g(){const{siteConfig:e}=(0,c.default)();return a.createElement("header",{className:(0,l.default)("hero hero--primary",o)},a.createElement("div",{className:"container"},a.createElement("h1",{className:"hero__title"},e.title),a.createElement("p",{className:"hero__subtitle"},"A large-scale build tool. The successor to Buck.",a.createElement("br",null),"Ready for users \u2208 {C++, Python, Rust, Erlang, OCaml",a.createElement(f.FbInternalOnly,null,", Go"),"}"),a.createElement(f.FbInternalOnly,null,a.createElement("div",{className:i},a.createElement(r.default,{className:"button button--secondary button--lg",to:"/docs/about/benefits/compared_to_buck1"},"Why switch?"),a.createElement(r.default,{className:"button button--secondary button--lg",to:"/docs/users/migration_guide"},"How to switch"))),a.createElement(f.OssOnly,null,a.createElement("div",{className:i},a.createElement(r.default,{className:"button button--secondary button--lg",to:"/docs/about/why"},"Why Buck2?"),a.createElement(r.default,{className:"button button--secondary button--lg",to:"/docs/about/getting_started"},"Getting started")))))}function E(){const{siteConfig:e}=(0,c.default)();return a.createElement(s.Z,{title:"Buck2 build system website",description:"Buck2 is an open-source large-scale build system from Meta. The successor to Buck."},a.createElement(g,null),a.createElement("main",null,a.createElement(b,null)))}}}]); \ No newline at end of file diff --git a/assets/js/c6241b00.bbc69480.js b/assets/js/c6241b00.bbc69480.js new file mode 100644 index 0000000000000..6d08a3b4c738f --- /dev/null +++ b/assets/js/c6241b00.bbc69480.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8936],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>l,MDXProvider:()=>d,mdx:()=>g,useMDXComponents:()=>s,withMDXComponents:()=>u});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),u=function(e){return function(t){var n=s(t.components);return r.createElement(e,a({},t,{components:n}))}},s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):p(p({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},m="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=s(n),d=o,m=u["".concat(i,".").concat(d)]||u[d]||b[d]||a;return n?r.createElement(m,p(p({ref:t},l),{},{components:n})):r.createElement(m,p({ref:t},l))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=f;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p[m]="string"==typeof e?e:o,i[1]=p;for(var l=2;l<a;l++)i[l]=n[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},21836:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>p,toc:()=>l});var r=n(87462),o=(n(67294),n(3905));const a={id:"bootstrapping",title:"Bootstrapping Buck2"},i="Bootstrapping Buck2",p={unversionedId:"about/bootstrapping",id:"about/bootstrapping",title:"Bootstrapping Buck2",description:"To generate BUCK files for buck2's dependencies, we use",source:"@site/../docs/about/bootstrapping.md",sourceDirName:"about",slug:"/about/bootstrapping",permalink:"/docs/about/bootstrapping",draft:!1,tags:[],version:"current",frontMatter:{id:"bootstrapping",title:"Bootstrapping Buck2"},sidebar:"mainSidebar",previous:{title:"Benefits When Compared to Buck1",permalink:"/docs/about/benefits/compared_to_buck1"},next:{title:"Key Concepts",permalink:"/docs/concepts/key_concepts"}},c={},l=[],u={toc:l};function s(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"bootstrapping-buck2"},"Bootstrapping Buck2"),(0,o.mdx)("p",null,"To generate ",(0,o.mdx)("inlineCode",{parentName:"p"},"BUCK")," files for ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2"),"'s dependencies, we use\n",(0,o.mdx)("a",{parentName:"p",href:"https://github.com/facebookincubator/reindeer"},"reindeer"),"."),(0,o.mdx)("p",null,"Note that the resulting binary will be compiled without optimisations or\n",(0,o.mdx)("a",{parentName:"p",href:"https://github.com/jemalloc/jemalloc"},"jemalloc"),", so we recommend using the\nCargo-produced binary in further development."),(0,o.mdx)("p",null,"First, install ",(0,o.mdx)("inlineCode",{parentName:"p"},"reindeer")," with ",(0,o.mdx)("inlineCode",{parentName:"p"},"Cargo"),":"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"cargo install --locked --git https://github.com/facebookincubator/reindeer reindeer\n")),(0,o.mdx)("p",null,"Next, run the following to buckify dependencies:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"cd buck2/\nreindeer --third-party-dir shim/third-party/rust buckify\n")),(0,o.mdx)("p",null,"Build ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2")," with ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2"),":"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-sh"},"buck2 build //:buck2\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c6c1357b.7e5e4607.js b/assets/js/c6c1357b.7e5e4607.js new file mode 100644 index 0000000000000..a716229930fe6 --- /dev/null +++ b/assets/js/c6c1357b.7e5e4607.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5461],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>l,MDXProvider:()=>d,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>s});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c.apply(this,arguments)}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),s=function(e){return function(t){var n=u(t.components);return r.createElement(e,c({},t,{components:n}))}},u=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=u(e.components);return r.createElement(l.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,c=e.originalType,a=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),s=u(n),d=o,m=s["".concat(a,".").concat(d)]||s[d]||f[d]||c;return n?r.createElement(m,i(i({ref:t},l),{},{components:n})):r.createElement(m,i({ref:t},l))}));function b(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var c=n.length,a=new Array(c);a[0]=y;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[m]="string"==typeof e?e:o,a[1]=i;for(var l=2;l<c;l++)a[l]=n[l];return r.createElement.apply(null,a)}return r.createElement.apply(null,n)}y.displayName="MDXCreateElement"},5346:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>f,frontMatter:()=>a,metadata:()=>p,toc:()=>s});var r=n(87462),o=(n(67294),n(3905)),c=n(44996);const a={id:"concept_map",title:"Concept Map"},i=void 0,p={unversionedId:"concepts/concept_map",id:"concepts/concept_map",title:"Concept Map",description:"The Concept Map provides an at-a-glance overview of the relationships between",source:"@site/../docs/concepts/concept_map.md",sourceDirName:"concepts",slug:"/concepts/concept_map",permalink:"/docs/concepts/concept_map",draft:!1,tags:[],version:"current",frontMatter:{id:"concept_map",title:"Concept Map"},sidebar:"mainSidebar",previous:{title:"Key Concepts",permalink:"/docs/concepts/key_concepts"},next:{title:"Build Rule",permalink:"/docs/concepts/build_rule"}},l={},s=[],u=(d="FbInternalOnly",function(e){return console.warn("Component "+d+" was not imported, exported, or provided by MDXProvider as global scope"),(0,o.mdx)("div",e)});var d;const m={toc:s};function f(e){let{components:t,...n}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"The Concept Map provides an at-a-glance overview of the relationships between\nwidely used Buck2 concepts. It is meant to be a tool to help those onboarding to\nBuck2 to quickly gain an understanding of the Buck2 environment."),(0,o.mdx)("img",{src:(0,c.default)("/img/buck2_conceptmap.png"),alt:"justifyContent"}),(0,o.mdx)("admonition",{type:"note"},(0,o.mdx)("p",{parentName:"admonition"},"The Concept Map is for reference only and is not intended to be 100%\naccurate nor complete."),(0,o.mdx)(u,{mdxType:"FbInternalOnly"},(0,o.mdx)("p",{parentName:"admonition"},"The version above was created in LucidChart and is located in the\n",(0,o.mdx)("a",{parentName:"p",href:"https://lucid.app/folder/invitations/accept/inv_c5c89718-b1cd-4b22-ae76-a47616719948"},"Buck2 team folder"),".\nTo login into Lucidcharts, do ",(0,o.mdx)("inlineCode",{parentName:"p"},"bunnylol lucidchart")))))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c7e38557.3212b719.js b/assets/js/c7e38557.3212b719.js new file mode 100644 index 0000000000000..7c28e62f157b5 --- /dev/null +++ b/assets/js/c7e38557.3212b719.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2228],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>l,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>d,withMDXComponents:()=>o});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},i.apply(this,arguments)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function m(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=a.createContext({}),o=function(e){return function(t){var r=d(t.components);return a.createElement(e,i({},t,{components:r}))}},d=function(e){var t=a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},u=function(e){var t=d(e.components);return a.createElement(l.Provider,{value:t},e.children)},x="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,l=m(e,["components","mdxType","originalType","parentName"]),o=d(r),u=n,x=o["".concat(s,".").concat(u)]||o[u]||g[u]||i;return r?a.createElement(x,p(p({ref:t},l),{},{components:r})):a.createElement(x,p({ref:t},l))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,s=new Array(i);s[0]=h;var p={};for(var m in t)hasOwnProperty.call(t,m)&&(p[m]=t[m]);p.originalType=e,p[x]="string"==typeof e?e:n,s[1]=p;for(var l=2;l<i;l++)s[l]=r[l];return a.createElement.apply(null,s)}return a.createElement.apply(null,r)}h.displayName="MDXCreateElement"},72327:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>m,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var a=r(87462),n=(r(67294),r(3905));const i={id:"uquery",title:"Uquery Environment"},s="Uquery Environment",p={unversionedId:"users/query/uquery",id:"users/query/uquery",title:"Uquery Environment",description:"Query Value Types",source:"@site/../docs/users/query/uquery.generated.md",sourceDirName:"users/query",slug:"/users/query/uquery",permalink:"/docs/users/query/uquery",draft:!1,tags:[],version:"current",frontMatter:{id:"uquery",title:"Uquery Environment"},sidebar:"mainSidebar",previous:{title:"Cquery Environment",permalink:"/docs/users/query/cquery"},next:{title:"Deferred Materialization",permalink:"/docs/users/advanced/deferred_materialization"}},m={},l=[{value:"Query Value Types",id:"query-value-types",level:2},{value:"Common query functions",id:"common-query-functions",level:2},{value:"allpaths(from: <em>target expression</em>, to: <em>target expression</em>)",id:"allpathsfrom-target-expression-to-target-expression",level:3},{value:"somepath(from: <em>target expression</em>, to: <em>target expression</em>)",id:"somepathfrom-target-expression-to-target-expression",level:3},{value:"attrfilter(attr: <em>string</em>, value: <em>string</em>, targets: <em>target expression</em>)",id:"attrfilterattr-string-value-string-targets-target-expression",level:3},{value:"nattrfilter(attr: <em>string</em>, value: <em>string</em>, targets: <em>target expression</em>)",id:"nattrfilterattr-string-value-string-targets-target-expression",level:3},{value:"attrregexfilter(attr: <em>string</em>, value: <em>string</em>, targets: <em>target expression</em>)",id:"attrregexfilterattr-string-value-string-targets-target-expression",level:3},{value:"buildfile(targets: <em>target expression</em>)",id:"buildfiletargets-target-expression",level:3},{value:"rbuildfiles(universe: <em>file expression</em>, argset: <em>file expression</em>)",id:"rbuildfilesuniverse-file-expression-argset-file-expression",level:3},{value:"allbuildfiles(universe: <em>target expression</em>)",id:"allbuildfilesuniverse-target-expression",level:3},{value:"deps(targets: <em>target expression</em>, depth: ?<em>integer</em>, captured_expr: ?<em>query expression</em>)",id:"depstargets-target-expression-depth-integer-captured_expr-query-expression",level:3},{value:"filter(regex: <em>string</em>, set: <em>target or file expression</em>)",id:"filterregex-string-set-target-or-file-expression",level:3},{value:"inputs(targets: <em>target expression</em>)",id:"inputstargets-target-expression",level:3},{value:"kind(regex: <em>string</em>, targets: <em>target expression</em>)",id:"kindregex-string-targets-target-expression",level:3},{value:"labels(attr: <em>string</em>, targets: <em>target expression</em>)",id:"labelsattr-string-targets-target-expression",level:3},{value:"owner(files: <em>file expression</em>)",id:"ownerfiles-file-expression",level:3},{value:"targets_in_buildfile(files: <em>file expression</em>)",id:"targets_in_buildfilefiles-file-expression",level:3},{value:"rdeps(universe: <em>target expression</em>, targets: <em>target expression</em>, depth: ?<em>integer</em>)",id:"rdepsuniverse-target-expression-targets-target-expression-depth-integer",level:3},{value:"testsof(targets: <em>target expression</em>)",id:"testsoftargets-target-expression",level:3},{value:"first_order_deps()",id:"first_order_deps",level:3},{value:"target_deps()",id:"target_deps",level:3},{value:"exec_deps()",id:"exec_deps",level:3},{value:"configuration_deps()",id:"configuration_deps",level:3},{value:"toolchain_deps()",id:"toolchain_deps",level:3},{value:"intersect(left: <em>any value</em>, right: <em>any value</em>)",id:"intersectleft-any-value-right-any-value",level:3},{value:"except(left: <em>any value</em>, right: <em>any value</em>)",id:"exceptleft-any-value-right-any-value",level:3},{value:"union(left: <em>any value</em>, right: <em>any value</em>)",id:"unionleft-any-value-right-any-value",level:3}],o={toc:l};function d(e){let{components:t,...r}=e;return(0,n.mdx)("wrapper",(0,a.Z)({},o,r,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"uquery-environment"},"Uquery Environment"),(0,n.mdx)("h2",{id:"query-value-types"},"Query Value Types"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"string"),": "),(0,n.mdx)("p",{parentName:"li"},"For example, ",(0,n.mdx)("inlineCode",{parentName:"p"},"non_quoted_string")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'"quoted string"'),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"integer"),": "),(0,n.mdx)("p",{parentName:"li"},"Must be positive and fit in ",(0,n.mdx)("inlineCode",{parentName:"p"},"u32"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"target expression"),": either a literal or the return value of a function"),(0,n.mdx)("p",{parentName:"li"},"This could be a literal build target (",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//some:target"'),") or a pattern (",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//package:"')," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//recursive/..."'),") or the result of another function that returns a target expression. For queries in CLI commands (like ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query"),"), literals can be relative to the current working dir (like ",(0,n.mdx)("inlineCode",{parentName:"p"},"some:target")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"..."),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"file expression"),": either a literal or the return value of a function"),(0,n.mdx)("p",{parentName:"li"},"This could be a file literal like ",(0,n.mdx)("inlineCode",{parentName:"p"},"path/to/a.file")," or the return value of a function that returns files (for example, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"buildfile()")," function).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"target or file expression"),": "),(0,n.mdx)("p",{parentName:"li"},"Either a ",(0,n.mdx)("em",{parentName:"p"},"file expression")," or ",(0,n.mdx)("em",{parentName:"p"},"target expression"),". This could be a literal like ",(0,n.mdx)("inlineCode",{parentName:"p"},"path/to/a.file")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'"cell//some:target"'),",\nor the return value of a function that returns files or targets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"query expression"),": a valid query expression, evaluated in a function-specific context"),(0,n.mdx)("p",{parentName:"li"},"This is used for functions that capture an expression and evaluate it in another context. For example, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps()")," function can accept an expression that it uses to find the children of a node to customize the deps traversal.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("em",{parentName:"p"},"any value"),": "),(0,n.mdx)("p",{parentName:"li"},"Any query value."))),(0,n.mdx)("h2",{id:"common-query-functions"},"Common query functions"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"allpaths(from: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): Computes all dependency paths.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"somepath(from: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"attrfilter(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", value: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): The ",(0,n.mdx)("inlineCode",{parentName:"p"},"attrfilter(attribute, value, targets)")," operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"nattrfilter(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", value: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"attrregexfilter(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", value: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"buildfile(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"rbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),", argset: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"allbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"deps(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"p"},"integer"),", captured_expr: ?",(0,n.mdx)("em",{parentName:"p"},"query expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"filter(regex: ",(0,n.mdx)("em",{parentName:"p"},"string"),", set: ",(0,n.mdx)("em",{parentName:"p"},"target or file expression"),"): Filter using regex partial match.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"inputs(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"kind(regex: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): The ",(0,n.mdx)("inlineCode",{parentName:"p"},"kind(regex, targets)")," operator evaluates the specified target expression, ",(0,n.mdx)("inlineCode",{parentName:"p"},"targets"),", and returns the targets where the rule type matches the specified ",(0,n.mdx)("inlineCode",{parentName:"p"},"regex"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"labels(attr: ",(0,n.mdx)("em",{parentName:"p"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),"): This function is not implemented, and won't be, because buck2 query core does not support")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"owner(files: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),"): The ",(0,n.mdx)("inlineCode",{parentName:"p"},"owner(inputfile)")," operator returns the targets that own the specified inputfile.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"targets_in_buildfile(files: ",(0,n.mdx)("em",{parentName:"p"},"file expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"rdeps(universe: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"p"},"integer"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"testsof(targets: ",(0,n.mdx)("em",{parentName:"p"},"target expression"),")")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"first_order_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"target_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"exec_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"configuration_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"toolchain_deps(): A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"intersect(left: ",(0,n.mdx)("em",{parentName:"p"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"p"},"any value"),"): Computes the set intersection over the given arguments.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"except(left: ",(0,n.mdx)("em",{parentName:"p"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"p"},"any value"),"): Computes the arguments that are in argument A but not in argument B.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"union(left: ",(0,n.mdx)("em",{parentName:"p"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"p"},"any value"),"): Computes the set union over the given arguments."))),(0,n.mdx)("h3",{id:"allpathsfrom-target-expression-to-target-expression"},"allpaths(from: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"Computes all dependency paths."),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"allpaths(from, to)")," function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value of\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query \"allpaths('//foo:bar', '//foo/bar/lib:baz')\""),"\nis the dependency graph rooted at the single target node ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),", that includes all target nodes that depend (transitively) on ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo/bar/lib:baz"),"."),(0,n.mdx)("p",null,"The two arguments to ",(0,n.mdx)("inlineCode",{parentName:"p"},"allpaths()")," can themselves be expressions. For example, the command:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query \"allpaths(kind(java_library, '//...'), '//foo:bar')\""),"\nshows all the paths between any java_library in the repository and the target ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),"."),(0,n.mdx)("p",null,"We recommend using ",(0,n.mdx)("inlineCode",{parentName:"p"},"allpaths()")," with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"--output-format=dot")," parameter to generate a graphviz file that can then be rendered as an image. For example:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-ignore"},"$ buck query \"allpaths('//foo:bar', '//foo/bar/lib:baz')\" --output-format=dot --output-file=result.dot\n$ dot -Tpng result.dot -o image.png\n")),(0,n.mdx)("p",null,"Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs."),(0,n.mdx)("h3",{id:"somepathfrom-target-expression-to-target-expression"},"somepath(from: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", to: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"attrfilterattr-string-value-string-targets-target-expression"},"attrfilter(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", value: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"attrfilter(attribute, value, targets)")," operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value."),(0,n.mdx)("p",null,"In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps."),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},"If the attribute is a single value, say ",(0,n.mdx)("inlineCode",{parentName:"li"},"name"),", it is compared to the specified value, and the target is returned if they match."),(0,n.mdx)("li",{parentName:"ul"},"If the attribute is a list, the target is returned if that list contains the specified value."),(0,n.mdx)("li",{parentName:"ul"},"If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary.")),(0,n.mdx)("p",null,"For example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query \"attrfilter(deps, '//foo:bar', '//...')\"")," returns the build targets in the repository that depend on ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),", or more precisely: those build targets that include ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," in their deps argument list."),(0,n.mdx)("h3",{id:"nattrfilterattr-string-value-string-targets-target-expression"},"nattrfilter(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", value: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"attrregexfilterattr-string-value-string-targets-target-expression"},"attrregexfilter(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", value: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"buildfiletargets-target-expression"},"buildfile(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"rbuildfilesuniverse-file-expression-argset-file-expression"},"rbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),", argset: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),")"),(0,n.mdx)("h3",{id:"allbuildfilesuniverse-target-expression"},"allbuildfiles(universe: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"depstargets-target-expression-depth-integer-captured_expr-query-expression"},"deps(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"h3"},"integer"),", captured_expr: ?",(0,n.mdx)("em",{parentName:"h3"},"query expression"),")"),(0,n.mdx)("h3",{id:"filterregex-string-set-target-or-file-expression"},"filter(regex: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", set: ",(0,n.mdx)("em",{parentName:"h3"},"target or file expression"),")"),(0,n.mdx)("p",null,"Filter using regex partial match."),(0,n.mdx)("p",null,"Target are matched against their fully qualified name.\nFiles are matched against their repo path like ",(0,n.mdx)("inlineCode",{parentName:"p"},"repo//foo/bar/baz.py"),"."),(0,n.mdx)("h3",{id:"inputstargets-target-expression"},"inputs(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"kindregex-string-targets-target-expression"},"kind(regex: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"kind(regex, targets)")," operator evaluates the specified target expression, ",(0,n.mdx)("inlineCode",{parentName:"p"},"targets"),", and returns the targets where the rule type matches the specified ",(0,n.mdx)("inlineCode",{parentName:"p"},"regex"),"."),(0,n.mdx)("p",null,"The specified pattern can be a regular expression. For example,\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query \"kind('java.*', deps('//foo:bar'))\"")," returns the targets that match the rule type ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.*")," (",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_binary"),", etc.) in the transitive dependencies of ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar"),"."),(0,n.mdx)("h3",{id:"labelsattr-string-targets-target-expression"},"labels(attr: ",(0,n.mdx)("em",{parentName:"h3"},"string"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("p",null,"This function is not implemented, and won't be, because buck2 query core does not support"),(0,n.mdx)("p",null,"returning both files and targets from a single function."),(0,n.mdx)("p",null,"In buck1 it returns targets and files referenced by the given attribute\nin the given targets."),(0,n.mdx)("p",null,"Some discussion in ",(0,n.mdx)("a",{parentName:"p",href:"https://internalfb.com/T126638795"},"T126638795"),"."),(0,n.mdx)("h3",{id:"ownerfiles-file-expression"},"owner(files: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),")"),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"owner(inputfile)")," operator returns the targets that own the specified inputfile."),(0,n.mdx)("p",null,"In this context, own means that the target has the specified file as an input. You could consider the ",(0,n.mdx)("inlineCode",{parentName:"p"},"owner()")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"inputs()")," operators to be inverses of each other."),(0,n.mdx)("p",null,"Example: ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 query \"owner('examples/1.txt')\"")," returns the targets that owns the file ",(0,n.mdx)("inlineCode",{parentName:"p"},"examples/1.txt"),", which could be a value such as ",(0,n.mdx)("inlineCode",{parentName:"p"},"//examples:one"),"."),(0,n.mdx)("p",null,"It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets."),(0,n.mdx)("p",null,"If no owner for the file is found, owner() outputs the message: ",(0,n.mdx)("inlineCode",{parentName:"p"},"No owner was found for <file>")),(0,n.mdx)("h3",{id:"targets_in_buildfilefiles-file-expression"},"targets_in_buildfile(files: ",(0,n.mdx)("em",{parentName:"h3"},"file expression"),")"),(0,n.mdx)("h3",{id:"rdepsuniverse-target-expression-targets-target-expression-depth-integer"},"rdeps(universe: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),", depth: ?",(0,n.mdx)("em",{parentName:"h3"},"integer"),")"),(0,n.mdx)("h3",{id:"testsoftargets-target-expression"},"testsof(targets: ",(0,n.mdx)("em",{parentName:"h3"},"target expression"),")"),(0,n.mdx)("h3",{id:"first_order_deps"},"first_order_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps(<targets>, 1)"),"."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 cquery \"deps('//foo:bar', 1, first_order_deps())\"`` is equivalent to "),"buck2 cquery \"deps('//foo:bar', 1)\"`"),(0,n.mdx)("h3",{id:"target_deps"},"target_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies)\nlike compiler used as a part of the build."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, target_deps())\"``"),(0,n.mdx)("h3",{id:"exec_deps"},"exec_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, exec_deps())\"``"),(0,n.mdx)("h3",{id:"configuration_deps"},"configuration_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for configuration dependencies (that appear as conditions in selects)."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, configuration_deps())\"``"),(0,n.mdx)("h3",{id:"toolchain_deps"},"toolchain_deps()"),(0,n.mdx)("p",null,"A filter function that can be used in the query expression of ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," query function."),(0,n.mdx)("p",null,"Returns the output of deps function for toolchain dependencies."),(0,n.mdx)("p",null,"Example:\n`buck2 cquery \"deps('//foo:bar', 1, toolchain_deps())\"``"),(0,n.mdx)("h3",{id:"intersectleft-any-value-right-any-value"},"intersect(left: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),")"),(0,n.mdx)("p",null,"Computes the set intersection over the given arguments."),(0,n.mdx)("p",null,"Can be used with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"^")," symbol. This operator is commutative."),(0,n.mdx)("p",null,"The parser treats this operator as left-associative and of equal precedence, so we recommend\nthat you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression\nresolves to the value of the expression it encloses."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') intersect deps('//baz:lib')\"")," is the same as\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') ^ deps('//baz:lib')\""),"\nBoth return the targets that appear in the transitive closure of ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"//baz:lib"),"."),(0,n.mdx)("h3",{id:"exceptleft-any-value-right-any-value"},"except(left: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),")"),(0,n.mdx)("p",null,"Computes the arguments that are in argument A but not in argument B."),(0,n.mdx)("p",null,"Can be used with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"-")," symbol. This operator is NOT commutative."),(0,n.mdx)("p",null,"The parser treats this operator as left-associative and of equal precedence, so we recommend\nthat you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression\nresolves to the value of the expression it encloses."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') except deps('//baz:lib')\"")," is the same as\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') - deps('//baz:lib')\""),"\nBoth return the targets that ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," depends on and that ",(0,n.mdx)("inlineCode",{parentName:"p"},"//baz:lib")," does NOT depend on."),(0,n.mdx)("h3",{id:"unionleft-any-value-right-any-value"},"union(left: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),", right: ",(0,n.mdx)("em",{parentName:"h3"},"any value"),")"),(0,n.mdx)("p",null,"Computes the set union over the given arguments."),(0,n.mdx)("p",null,"Can be used with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"+")," symbol. This operator is commutative."),(0,n.mdx)("p",null,"The parser treats all this operator as left-associative and of equal precedence, so we recommend\nthat you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression\nresolves to the value of the expression it encloses."),(0,n.mdx)("p",null,"Example:\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') union deps('//baz:lib')\"")," is the same as\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck2 aquery \"deps('//foo:bar') + deps('//baz:lib')\""),"\nBoth return the aggregation of the targets that ",(0,n.mdx)("inlineCode",{parentName:"p"},"//foo:bar")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"//baz:lib")," depend on."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c8f6bf1e.ddd5f012.js b/assets/js/c8f6bf1e.ddd5f012.js new file mode 100644 index 0000000000000..f2e73d1358be3 --- /dev/null +++ b/assets/js/c8f6bf1e.ddd5f012.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2629],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>i,MDXProvider:()=>g,mdx:()=>s,useMDXComponents:()=>c,withMDXComponents:()=>p});var r=n(67294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t){if(null==e)return{};var n,r,l=function(e,t){if(null==e)return{};var n,r,l={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var i=r.createContext({}),p=function(e){return function(t){var n=c(t.components);return r.createElement(e,a({},t,{components:n}))}},c=function(e){var t=r.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):d(d({},t),e)),n},g=function(e){var t=c(e.components);return r.createElement(i.Provider,{value:t},e.children)},x="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,l=e.mdxType,a=e.originalType,o=e.parentName,i=u(e,["components","mdxType","originalType","parentName"]),p=c(n),g=l,x=p["".concat(o,".").concat(g)]||p[g]||f[g]||a;return n?r.createElement(x,d(d({ref:t},i),{},{components:n})):r.createElement(x,d({ref:t},i))}));function s(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,o=new Array(a);o[0]=m;var d={};for(var u in t)hasOwnProperty.call(t,u)&&(d[u]=t[u]);d.originalType=e,d[x]="string"==typeof e?e:l,o[1]=d;for(var i=2;i<a;i++)o[i]=n[i];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},6485:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>d,toc:()=>i});var r=n(87462),l=(n(67294),n(3905));const a={id:"bxl.UnconfiguredTargetNode"},o="bxl.UnconfiguredTargetNode type",d={unversionedId:"api/bxl/bxl.UnconfiguredTargetNode",id:"api/bxl/bxl.UnconfiguredTargetNode",title:"bxl.UnconfiguredTargetNode type",description:"Methods for unconfigured target node.",source:"@site/../docs/api/bxl/bxl.UnconfiguredTargetNode.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.UnconfiguredTargetNode",permalink:"/docs/api/bxl/bxl.UnconfiguredTargetNode",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.UnconfiguredTargetNode"},sidebar:"apiSidebar",previous:{title:"bxl.TargetUniverse type",permalink:"/docs/api/bxl/bxl.TargetUniverse"},next:{title:"bxl.UqueryContext type",permalink:"/docs/api/bxl/bxl.UqueryContext"}},u={},i=[{value:"bxl.UnconfiguredTargetNode.attrs",id:"bxlunconfiguredtargetnodeattrs",level:2},{value:"bxl.UnconfiguredTargetNode.buildfile_path",id:"bxlunconfiguredtargetnodebuildfile_path",level:2},{value:"bxl.UnconfiguredTargetNode.label",id:"bxlunconfiguredtargetnodelabel",level:2},{value:"bxl.UnconfiguredTargetNode.rule_kind",id:"bxlunconfiguredtargetnoderule_kind",level:2},{value:"bxl.UnconfiguredTargetNode.rule_type",id:"bxlunconfiguredtargetnoderule_type",level:2}],p={toc:i};function c(e){let{components:t,...n}=e;return(0,l.mdx)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,l.mdx)("h1",{id:"bxlunconfiguredtargetnode-type"},(0,l.mdx)("inlineCode",{parentName:"h1"},"bxl.UnconfiguredTargetNode")," type"),(0,l.mdx)("p",null,"Methods for unconfigured target node."),(0,l.mdx)("h2",{id:"bxlunconfiguredtargetnodeattrs"},"bxl.UnconfiguredTargetNode.attrs"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.UnconfiguredTargetNode.attrs: typing.Any\n")),(0,l.mdx)("p",null,"Gets the coerced attributes from the unconfigured target node. Returns a struct."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_attributes(ctx):\n target_node = ctx.uquery().eval(\"owner('path/to/file')\")[0]\n ctx.output.print(target_node.attrs.my_attr)\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlunconfiguredtargetnodebuildfile_path"},"bxl.UnconfiguredTargetNode.buildfile","_","path"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.UnconfiguredTargetNode.buildfile_path: bxl.FileNode\n")),(0,l.mdx)("p",null,"Gets the buildfile path from the unconfigured target node."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_label(ctx):\n target_node = ctx.uquery().eval(\"owner('path/to/file')\")[0]\n ctx.output.print(target_node.buildfile_path)\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlunconfiguredtargetnodelabel"},"bxl.UnconfiguredTargetNode.label"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.UnconfiguredTargetNode.label: target_label\n")),(0,l.mdx)("p",null,"Gets the label from the unconfigured target node."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_label(ctx):\n target_node = ctx.uquery().eval(\"owner('path/to/file')\")[0]\n ctx.output.print(target_node.label)\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlunconfiguredtargetnoderule_kind"},"bxl.UnconfiguredTargetNode.rule","_","kind"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.UnconfiguredTargetNode.rule_kind: str\n")),(0,l.mdx)("p",null,"Gets the targets' corresponding rule's kind which is one of - normal (with no special properties) - configured (usable in a configuration context) - toolchain (only usable as a toolchain dep)"),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_rule_kind(ctx):\n target_node = ctx.uquery().owner('path/to/file')[0]\n ctx.output.print(target_node.rule_kind)\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxlunconfiguredtargetnoderule_type"},"bxl.UnconfiguredTargetNode.rule","_","type"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.UnconfiguredTargetNode.rule_type: str\n")),(0,l.mdx)("p",null,"Gets the fully qualified name of the rule for this unconfigured target node as a string. This includes the import path as well."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_rule_type(ctx):\n target_node = ctx.uquery().owner('path/to/file')[0]\n ctx.output.print(target_node.rule_type)\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ca36dca5.5e070256.js b/assets/js/ca36dca5.5e070256.js new file mode 100644 index 0000000000000..472297ebf55fa --- /dev/null +++ b/assets/js/ca36dca5.5e070256.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6097],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>m,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>u});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},o.apply(this,arguments)}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=r.createContext({}),u=function(e){return function(n){var t=d(n.components);return r.createElement(e,o({},n,{components:t}))}},d=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},m=function(e){var n=d(e.components);return r.createElement(c.Provider,{value:n},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},h=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=d(t),m=a,p=u["".concat(s,".").concat(m)]||u[m]||f[m]||o;return t?r.createElement(p,i(i({ref:n},c),{},{components:t})):r.createElement(p,i({ref:n},c))}));function b(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,s=new Array(o);s[0]=h;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i[p]="string"==typeof e?e:a,s[1]=i;for(var c=2;c<o;c++)s[c]=t[c];return r.createElement.apply(null,s)}return r.createElement.apply(null,t)}h.displayName="MDXCreateElement"},46223:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=t(87462),a=(t(67294),t(3905));const o={id:"lsp",title:"lsp"},s=void 0,i={unversionedId:"users/commands/lsp",id:"users/commands/lsp",title:"lsp",description:"These are the flags/commands under buck2 lsp and their --help output:",source:"@site/../docs/users/commands/lsp.generated.md",sourceDirName:"users/commands",slug:"/users/commands/lsp",permalink:"/docs/users/commands/lsp",draft:!1,tags:[],version:"current",frontMatter:{id:"lsp",title:"lsp"},sidebar:"mainSidebar",previous:{title:"log",permalink:"/docs/users/commands/log"},next:{title:"profile",permalink:"/docs/users/commands/profile"}},l={},c=[{value:"buck lsp",id:"buck-lsp",level:2}],u={toc:c};function d(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"These are the flags/commands under ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 lsp")," and their ",(0,a.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,a.mdx)("h2",{id:"buck-lsp"},"buck lsp"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Start an LSP server for starlark files\n\nUsage: buck2-release lsp [OPTIONS]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cc3a0c10.baaedda4.js b/assets/js/cc3a0c10.baaedda4.js new file mode 100644 index 0000000000000..baf23a019d356 --- /dev/null +++ b/assets/js/cc3a0c10.baaedda4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6819],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>h,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>u});var o=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},r.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,o,a=function(e,n){if(null==e)return{};var t,o,a={},r=Object.keys(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)t=r[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=o.createContext({}),u=function(e){return function(n){var t=d(n.components);return o.createElement(e,r({},n,{components:t}))}},d=function(e){var n=o.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},h=function(e){var n=d(e.components);return o.createElement(c.Provider,{value:n},e.children)},f="mdxType",p={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},m=o.forwardRef((function(e,n){var t=e.components,a=e.mdxType,r=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=d(t),h=a,f=u["".concat(i,".").concat(h)]||u[h]||p[h]||r;return t?o.createElement(f,s(s({ref:n},c),{},{components:t})):o.createElement(f,s({ref:n},c))}));function b(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var r=t.length,i=new Array(r);i[0]=m;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[f]="string"==typeof e?e:a,i[1]=s;for(var c=2;c<r;c++)i[c]=t[c];return o.createElement.apply(null,i)}return o.createElement.apply(null,t)}m.displayName="MDXCreateElement"},24345:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var o=t(87462),a=(t(67294),t(3905));const r={id:"run",title:"run"},i=void 0,s={unversionedId:"users/commands/run",id:"users/commands/run",title:"run",description:"These are the flags/commands under buck2 run and their --help output:",source:"@site/../docs/users/commands/run.generated.md",sourceDirName:"users/commands",slug:"/users/commands/run",permalink:"/docs/users/commands/run",draft:!1,tags:[],version:"current",frontMatter:{id:"run",title:"run"},sidebar:"mainSidebar",previous:{title:"root",permalink:"/docs/users/commands/root"},next:{title:"server",permalink:"/docs/users/commands/server"}},l={},c=[{value:"buck run",id:"buck-run",level:2}],u={toc:c};function d(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,o.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"These are the flags/commands under ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 run")," and their ",(0,a.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,a.mdx)("h2",{id:"buck-run"},"buck run"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Build and run the selected target.\n\nThe Build ID for the underlying build execution is made available to the target in the\n`BUCK_RUN_BUILD_ID` environment variable.\n\nUsage: buck2-release run [OPTIONS] <TARGET> [TARGET_ARGS]...\n\nArguments:\n <TARGET>\n Target to build and run\n\n [TARGET_ARGS]...\n Additional arguments passed to the target when running it\n\nOptions:\n --command-args-file <COMMAND_ARGS_FILE>\n Write the command to a file instead of executing it.\n\n --chdir <CHDIR>\n Set the current working directory of the executable being run\n\n --emit-shell\n Instead of running the command, print out the command formatted for shell interpolation,\n use as: $(buck2 run --emit-shell ...)\n\n --build-report <PATH>\n Print a build report\n \n `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will\n write the build report to the file\n\n --enable-optional-validations <VALIDATION_NAMES>\n Comma separated list of validation names to run that are marked optional.\n \n By default, validations marked as optional are skipped. This option overrides the\n behaviour and executes those validations.\n\n --build-report-options <BUILD_REPORT_OPTIONS>\n Comma separated list of build report options.\n \n The following options are supported:\n \n `fill-out-failures`: fill out failures the same way Buck1 would.\n \n `package-project-relative-paths`: emit the project-relative path of packages for the\n targets that were built.\n\n -j, --num-threads <THREADS>\n Number of threads to use during execution (default is # cores)\n\n --local-only\n Enable only local execution. Will reject actions that cannot execute locally\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --remote-only\n Enable only remote execution. Will reject actions that cannot execute remotely\n\n --prefer-local\n Enable hybrid execution. Will prefer executing actions that can execute locally on the\n local host\n\n --prefer-remote\n Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and\n will avoid racing local and remote execution\n\n --unstable-no-execution\n Experimental: Disable all execution\n\n --no-remote-cache\n Do not perform remote cache queries or cache writes. If remote execution is enabled, the\n RE service might still deduplicate actions, so for e.g. benchmarking, using a random\n isolation dir is preferred\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --write-to-cache-anyway\n Could be used to enable the action cache writes on the RE worker when no_remote_cache is\n specified\n\n --eager-dep-files\n Process dep files when they are generated (i.e. after running a command that produces dep\n files), rather than when they are used (i.e. before re-running a command that previously\n produced dep files). Use this when debugging commands that produce dep files. Note that\n commands that previously produced dep files will not re-run: only dep files produced\n during this command will be eagerly loaded\n\n --upload-all-actions\n Uploads every action to the RE service, regardless of whether the action needs to execute\n on RE.\n \n This is useful when debugging builds and trying to inspect actions which executed\n remotely. It's possible that the action result is cached but the action itself has\n expired. In this case, downloading the action itself would fail. Enabling this option\n would unconditionally upload all actions, thus you will not hit any expiration issues.\n\n --fail-fast\n If Buck hits an error, do as little work as possible before exiting.\n \n To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The\n default behavior of buck is to do enough work to get a result for the builds of each of\n `:foo` and `:bar`, and no more. This means that buck will continue to complete the build\n of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has\n failed, other dependencies will be cancelled unless they are needed by `:bar`.\n \n This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has\n failed. Generally, this flag only has an effect on builds that specify multiple targets.\n \n `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency\n of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if\n possible.\n\n --keep-going\n If Buck hits an error, continue doing as much work as possible before exiting.\n \n See `--fail-fast` for more details.\n\n --skip-missing-targets\n If target is missing, then skip building instead of throwing error\n\n --skip-incompatible-targets\n If target is incompatible with the specified configuration, skip building instead of\n throwing error. This does not apply to targets specified with glob patterns `/...` or `:`\n which are skipped unconditionally\n\n --materialize-failed-inputs\n Materializes inputs for failed actions which ran on RE\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ccef733c.48470689.js b/assets/js/ccef733c.48470689.js new file mode 100644 index 0000000000000..7f8f01f45f5f3 --- /dev/null +++ b/assets/js/ccef733c.48470689.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8778],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>u,MDXProvider:()=>s,mdx:()=>x,useMDXComponents:()=>p,withMDXComponents:()=>c});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},i.apply(this,arguments)}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function d(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=r.createContext({}),c=function(e){return function(n){var t=p(n.components);return r.createElement(e,i({},n,{components:t}))}},p=function(e){var n=r.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},s=function(e){var n=p(e.components);return r.createElement(u.Provider,{value:n},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},g=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,u=d(e,["components","mdxType","originalType","parentName"]),c=p(t),s=a,m=c["".concat(l,".").concat(s)]||c[s]||f[s]||i;return t?r.createElement(m,o(o({ref:n},u),{},{components:t})):r.createElement(m,o({ref:n},u))}));function x(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,l=new Array(i);l[0]=g;var o={};for(var d in n)hasOwnProperty.call(n,d)&&(o[d]=n[d]);o.originalType=e,o[m]="string"==typeof e?e:a,l[1]=o;for(var u=2;u<i;u++)l[u]=t[u];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}g.displayName="MDXCreateElement"},42249:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var r=t(87462),a=(t(67294),t(3905));const i={},l="Buck support to implement configured_alias",o={unversionedId:"rfcs/configured-alias",id:"rfcs/configured-alias",title:"Buck support to implement configured_alias",description:"Intro",source:"@site/../docs/rfcs/configured-alias.md",sourceDirName:"rfcs",slug:"/rfcs/configured-alias",permalink:"/docs/rfcs/configured-alias",draft:!1,tags:[],version:"current",frontMatter:{}},d={},u=[{value:"Intro",id:"intro",level:2},{value:"What is <code>configured_alias</code>?",id:"what-is-configured_alias",level:2},{value:"How to implement it in buck v2?",id:"how-to-implement-it-in-buck-v2",level:2},{value:"New rule attribute type: <code>configured_dep</code>",id:"new-rule-attribute-type-configured_dep",level:3},{value:"<code>configured_alias_impl</code> user defined rule",id:"configured_alias_impl-user-defined-rule",level:3},{value:"Finally, <code>configured_alias</code> macro",id:"finally-configured_alias-macro",level:3},{value:"Alternatives",id:"alternatives",level:2},{value:"No <code>configured_alias</code>",id:"no-configured_alias",level:3},{value:"Use <code>@configuration</code> syntax from another RFC.",id:"use-configuration-syntax-from-another-rfc",level:3},{value:"Accept <code>configured_target_label</code> in <code>dep</code> attribute",id:"accept-configured_target_label-in-dep-attribute",level:3}],c={toc:u};function p(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"buck-support-to-implement-configured_alias"},"Buck support to implement ",(0,a.mdx)("inlineCode",{parentName:"h1"},"configured_alias")),(0,a.mdx)("h2",{id:"intro"},"Intro"),(0,a.mdx)("p",null,"Currently, Buck 2 lacks ",(0,a.mdx)("inlineCode",{parentName:"p"},"configured_alias")," rule support."),(0,a.mdx)("p",null,(0,a.mdx)("inlineCode",{parentName:"p"},"configured_alias")," is a builtin rule in Buck v1, and it cannot be currently\nimplemented as user defined rule in Buck v2."),(0,a.mdx)("p",null,"This RFC proposes Buck core support for ",(0,a.mdx)("inlineCode",{parentName:"p"},"configured_alias"),"."),(0,a.mdx)("h2",{id:"what-is-configured_alias"},"What is ",(0,a.mdx)("inlineCode",{parentName:"h2"},"configured_alias"),"?"),(0,a.mdx)("p",null,"Syntax is this:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'configured_alias(\n name = "foo-but-linux-release",\n actual = ":foo",\n platform = "config//platforms:linux-release",\n)\n')),(0,a.mdx)("p",null,'When this rule is built, it ignores "current" target configuration, and builds\nthe "actual" target with the configuration specified as "platform" argument.'),(0,a.mdx)("h2",{id:"how-to-implement-it-in-buck-v2"},"How to implement it in buck v2?"),(0,a.mdx)("h3",{id:"new-rule-attribute-type-configured_dep"},"New rule attribute type: ",(0,a.mdx)("inlineCode",{parentName:"h3"},"configured_dep")),(0,a.mdx)("p",null,"Currently, we have several dependency attributes:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"attrs.dep")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"attrs.exec_dep")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"attrs.transition_dep")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"attrs.split_transition_dep"))),(0,a.mdx)("p",null,"This RFC proposes adding another attribute:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"attrs.configured_dep"))),(0,a.mdx)("p",null,(0,a.mdx)("inlineCode",{parentName:"p"},"configured_dep")," is an attribute which accepts a pair of strings: target and\nconfiguration. During analysis, configured attr deps are resolved to providers\nresolved using given configuration."),(0,a.mdx)("h3",{id:"configured_alias_impl-user-defined-rule"},(0,a.mdx)("inlineCode",{parentName:"h3"},"configured_alias_impl")," user defined rule"),(0,a.mdx)("p",null,"The rule implementation is trivial:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'\ndef _configured_alias_impl(ctx):\n return ctx.attrs.actual.providers\n\nconfigured_alias_impl = rule(\n impl = _configured_alias_impl,\n attrs = {\n "actual": attrs.configured_dep(),\n }\n)\n')),(0,a.mdx)("h3",{id:"finally-configured_alias-macro"},"Finally, ",(0,a.mdx)("inlineCode",{parentName:"h3"},"configured_alias")," macro"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def configured_alias(name, actual, platform):\n configured_alias_impl(name, actual = (actual, platform))\n")),(0,a.mdx)("h2",{id:"alternatives"},"Alternatives"),(0,a.mdx)("h3",{id:"no-configured_alias"},"No ",(0,a.mdx)("inlineCode",{parentName:"h3"},"configured_alias")),(0,a.mdx)("p",null,"Each specific case where ",(0,a.mdx)("inlineCode",{parentName:"p"},"configured_alias")," is used, it can be done with\ndefining custom transition, and using custom transition rule."),(0,a.mdx)("p",null,"But having ",(0,a.mdx)("inlineCode",{parentName:"p"},"configured_alias")," is a convenient stopgap to unblock people."),(0,a.mdx)("h3",{id:"use-configuration-syntax-from-another-rfc"},"Use ",(0,a.mdx)("inlineCode",{parentName:"h3"},"@configuration")," syntax from ",(0,a.mdx)("a",{parentName:"h3",href:"https://www.internalfb.com/diff/D35136639"},"another RFC"),"."),(0,a.mdx)("p",null,"Instead of passing ",(0,a.mdx)("inlineCode",{parentName:"p"},"confiured_target_label(x, y)")," pass ",(0,a.mdx)("inlineCode",{parentName:"p"},'x + "@" + y'),"."),(0,a.mdx)("h3",{id:"accept-configured_target_label-in-dep-attribute"},"Accept ",(0,a.mdx)("inlineCode",{parentName:"h3"},"configured_target_label")," in ",(0,a.mdx)("inlineCode",{parentName:"h3"},"dep")," attribute"),(0,a.mdx)("p",null,(0,a.mdx)("inlineCode",{parentName:"p"},"dep")," attribute could support all of:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"regular target label as string"),(0,a.mdx)("li",{parentName:"ul"},"configured target label (as either ",(0,a.mdx)("inlineCode",{parentName:"li"},"configured_target_label")," or ",(0,a.mdx)("inlineCode",{parentName:"li"},"x@y"))),(0,a.mdx)("p",null,"I don't know practical applications for this magic, and unless there are uses\nfor it, better keep API simple and explicit."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cd63455c.a606c314.js b/assets/js/cd63455c.a606c314.js new file mode 100644 index 0000000000000..007138d71e92a --- /dev/null +++ b/assets/js/cd63455c.a606c314.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5254],{3905:(t,e,r)=>{r.r(e),r.d(e,{MDXContext:()=>u,MDXProvider:()=>d,mdx:()=>m,useMDXComponents:()=>c,withMDXComponents:()=>s});var n=r(67294);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(){return i=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},i.apply(this,arguments)}function l(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?l(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function p(t,e){if(null==t)return{};var r,n,a=function(t,e){if(null==t)return{};var r,n,a={},i=Object.keys(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}var u=n.createContext({}),s=function(t){return function(e){var r=c(e.components);return n.createElement(t,i({},e,{components:r}))}},c=function(t){var e=n.useContext(u),r=e;return t&&(r="function"==typeof t?t(e):o(o({},e),t)),r},d=function(t){var e=c(t.components);return n.createElement(u.Provider,{value:e},t.children)},f="mdxType",h={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},b=n.forwardRef((function(t,e){var r=t.components,a=t.mdxType,i=t.originalType,l=t.parentName,u=p(t,["components","mdxType","originalType","parentName"]),s=c(r),d=a,f=s["".concat(l,".").concat(d)]||s[d]||h[d]||i;return r?n.createElement(f,o(o({ref:e},u),{},{components:r})):n.createElement(f,o({ref:e},u))}));function m(t,e){var r=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var i=r.length,l=new Array(i);l[0]=b;var o={};for(var p in e)hasOwnProperty.call(e,p)&&(o[p]=e[p]);o.originalType=t,o[f]="string"==typeof t?t:a,l[1]=o;for(var u=2;u<i;u++)l[u]=r[u];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}b.displayName="MDXCreateElement"},85875:(t,e,r)=>{r.r(e),r.d(e,{assets:()=>p,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const i={id:"bxl.EnsuredArtifact"},l="bxl.EnsuredArtifact type",o={unversionedId:"api/bxl/bxl.EnsuredArtifact",id:"api/bxl/bxl.EnsuredArtifact",title:"bxl.EnsuredArtifact type",description:"An artifact that will be materialized to buck-out at the end of the bxl invocation. These artifacts can be printed to bxl's results. Doing so will print the path of the artifact rather than the standard representation.",source:"@site/../docs/api/bxl/bxl.EnsuredArtifact.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.EnsuredArtifact",permalink:"/docs/api/bxl/bxl.EnsuredArtifact",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.EnsuredArtifact"},sidebar:"apiSidebar",previous:{title:"bxl.CqueryContext type",permalink:"/docs/api/bxl/bxl.CqueryContext"},next:{title:"bxl.FileNode type",permalink:"/docs/api/bxl/bxl.FileNode"}},p={},u=[{value:"bxl.EnsuredArtifact.abs_path",id:"bxlensuredartifactabs_path",level:2},{value:"bxl.EnsuredArtifact.rel_path",id:"bxlensuredartifactrel_path",level:2}],s={toc:u};function c(t){let{components:e,...r}=t;return(0,a.mdx)("wrapper",(0,n.Z)({},s,r,{components:e,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"bxlensuredartifact-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"bxl.EnsuredArtifact")," type"),(0,a.mdx)("p",null,"An artifact that will be materialized to buck-out at the end of the bxl invocation. These artifacts can be printed to bxl's results. Doing so will print the path of the artifact rather than the standard representation."),(0,a.mdx)("p",null,"Ensured artifacts are serializable and hashable."),(0,a.mdx)("h2",{id:"bxlensuredartifactabs_path"},"bxl.EnsuredArtifact.abs","_","path"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.EnsuredArtifact.abs_path()\n")),(0,a.mdx)("p",null,"Converts this artifact to be printed by its absolute path. Note that this will only print out the absolute path via ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.output.print()"),". Starlark's ",(0,a.mdx)("inlineCode",{parentName:"p"},"print()")," will print out the display info for an ensured artifact."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_abs_path(ctx):\n actions = ctx.bxl_actions().actions\n output = actions.write("my_output", "my_content")\n ensured = ctx.output.ensure(output) # currently defaults to creating an EnsuredArtifact with a relative path\n\n ensured_with_abs_path = ensured.abs_path() # create a new EnsuredArtifact with absolute path to reuse\n print(ensured_with_abs_path) # should return something like <ensured artifact ... >\n ctx.output.print(ensured_with_abs_path) # should return the absolute path of the artifact\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"bxlensuredartifactrel_path"},"bxl.EnsuredArtifact.rel","_","path"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.EnsuredArtifact.rel_path()\n")),(0,a.mdx)("p",null,"Converts this artifact to be printed by its path relative to the project root. Note that this will only print out the relative path via ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.output.print()"),". Starlark's ",(0,a.mdx)("inlineCode",{parentName:"p"},"print()")," will print out the display info for an ensured artifact."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_rel_path(ctx):\n actions = ctx.bxl_actions().actions\n output = actions.write("my_output", "my_content")\n ensured = ctx.output.ensure(output) # currently defaults to creating an EnsuredArtifact with a relative path\n\n ensured_with_rel_path = ensured.rel_path() # create a new EnsuredArtifact with relative path to reuse\n print(ensured_with_rel_path) # should return something like <ensured artifact ... >\n ctx.output.print(ensured_with_rel_path) # should return the relative path of the artifact\n')))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ce33bc2f.9999dfd3.js b/assets/js/ce33bc2f.9999dfd3.js new file mode 100644 index 0000000000000..54de56d7e6411 --- /dev/null +++ b/assets/js/ce33bc2f.9999dfd3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3704],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>p,MDXProvider:()=>c,mdx:()=>f,useMDXComponents:()=>u,withMDXComponents:()=>d});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},i.apply(this,arguments)}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=a.createContext({}),d=function(e){return function(n){var t=u(n.components);return a.createElement(e,i({},n,{components:t}))}},u=function(e){var n=a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},c=function(e){var n=u(e.components);return a.createElement(p.Provider,{value:n},e.children)},m="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},g=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=u(t),c=r,m=d["".concat(o,".").concat(c)]||d[c]||h[c]||i;return t?a.createElement(m,l(l({ref:n},p),{},{components:t})):a.createElement(m,l({ref:n},p))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,o=new Array(i);o[0]=g;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[m]="string"==typeof e?e:r,o[1]=l;for(var p=2;p<i;p++)o[p]=t[p];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}g.displayName="MDXCreateElement"},86085:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var a=t(87462),r=(t(67294),t(3905));const i={},o=void 0,l={unversionedId:"rfcs/drafts/plugin-deps",id:"rfcs/drafts/plugin-deps",title:"plugin-deps",description:"Plugin Deps",source:"@site/../docs/rfcs/drafts/plugin-deps.md",sourceDirName:"rfcs/drafts",slug:"/rfcs/drafts/plugin-deps",permalink:"/docs/rfcs/drafts/plugin-deps",draft:!1,tags:[],version:"current",frontMatter:{}},s={},p=[{value:"Plugin Deps",id:"plugin-deps",level:2},{value:"Background on Rust proc macros",id:"background-on-rust-proc-macros",level:3},{value:"Plugins deps",id:"plugins-deps",level:3},{value:"Using a target's plugin lists",id:"using-a-targets-plugin-lists",level:3},{value:"Creating a target's plugin lists",id:"creating-a-targets-plugin-lists",level:3},{value:"Example: Proc macros",id:"example-proc-macros",level:3},{value:"Alias",id:"alias",level:4}],d={toc:p};function u(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("h2",{id:"plugin-deps"},"Plugin Deps"),(0,r.mdx)("h3",{id:"background-on-rust-proc-macros"},"Background on Rust proc macros"),(0,r.mdx)("p",null,"Rust proc macros are compiler plugins. They are a special kind of crate that is\ncompiled to a dylib, which is then loaded by the compiler when another crate\ndepends on the proc macro. Notably, like all Rust crates, proc macros may also\nbe re-exported. This means that if there is a dependency chain like\n",(0,r.mdx)("inlineCode",{parentName:"p"},"bin -> lib -> proc_macro"),", the proc macro must be made available when compiling\nthe binary, even though it does not appear directly in the dependencies."),(0,r.mdx)("p",null,"Proc macros have posed a challenge to buck2, for two reasons:"),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},"Rust users generally expect to not have to distinguish between proc macros\nand normal crates when specifying their dependencies. This means it is not\neasily possible to make the ",(0,r.mdx)("inlineCode",{parentName:"li"},"lib -> proc_macro")," edge an ",(0,r.mdx)("inlineCode",{parentName:"li"},"exec_dep"),"."),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("inlineCode",{parentName:"li"},"bin")," and ",(0,r.mdx)("inlineCode",{parentName:"li"},"lib")," might end up with different exec platforms. This means that\neven if ",(0,r.mdx)("inlineCode",{parentName:"li"},"proc_macro")," were to be correctly configured as an exec dep of\n",(0,r.mdx)("inlineCode",{parentName:"li"},"lib"),", that configuration might be wrong for ",(0,r.mdx)("inlineCode",{parentName:"li"},"bin"),".")),(0,r.mdx)("p",null,"FIXME: Other use cases for this feature"),(0,r.mdx)("h3",{id:"plugins-deps"},"Plugins deps"),(0,r.mdx)("p",null,'This RFC proposes introducing a concept of "plugin deps" to solve this problem.\nPlugin deps are deps that can be propagated up the build graph at configuration\ntime, instead of at analysis time. Here\'s what this looks like:'),(0,r.mdx)("p",null,'First, plugin deps come in "kinds." Plugin kinds can be created like\n',(0,r.mdx)("inlineCode",{parentName:"p"},"MyKind = plugins.kind()"),". These act as identifiers that can be used to divide\nall the possible plugin deps up however users need to."),(0,r.mdx)("p",null,"Each configured target has plugin lists: There is one list for each plugin kind.\nThe elements of these list are an ",(0,r.mdx)("em",{parentName:"p"},"unconfigured")," target, together with a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"should_propagate")," bool. The same unconfigured target cannot appear more than\nonce. In other words, this is a ",(0,r.mdx)("inlineCode",{parentName:"p"},"HashMap<String, HashMap<Target, bool>>"),". We\nneed to describe two things: How to ",(0,r.mdx)("em",{parentName:"p"},"use")," these list, and how to ",(0,r.mdx)("em",{parentName:"p"},"create")," them."),(0,r.mdx)("h3",{id:"using-a-targets-plugin-lists"},"Using a target's plugin lists"),(0,r.mdx)("p",null,"Using plugin lists is very simple: The rule sets ",(0,r.mdx)("inlineCode",{parentName:"p"},"uses_plugins = [MyKind]")," when\ndeclared. Setting this make the elements of the plugin list for the given kind\nappear as exec deps on the configured nodes for this rule. This also means that\nthe plugins participate in exec dep resolution like all other exec deps."),(0,r.mdx)("p",null,"Analysis will then be able to access a list of the providers for each of the\nplugins via ",(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.plugins[MyKind]"),"."),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"should_propagate")," bool that is associated with each element of the list is\nignored at this stage."),(0,r.mdx)("h3",{id:"creating-a-targets-plugin-lists"},"Creating a target's plugin lists"),(0,r.mdx)("p",null,"Plugin lists are created by accumulating from two sources:"),(0,r.mdx)("p",null,"The first of these is direct plugin deps. They are defined via a new\n",(0,r.mdx)("inlineCode",{parentName:"p"},'attrs.plugin_dep(kind = "foo")'),". This attribute (like other deps), is set to a\nlabel when the target is declared. It then resolves as follows:"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"In the unconfigured graph: To the appropriate unconfigured target"),(0,r.mdx)("li",{parentName:"ul"},"In the configured graph: To the label of the unconfigured target. In other\nwords, this will still be displayed in ",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 cquery -A"),", but will not appear\nin the deps."),(0,r.mdx)("li",{parentName:"ul"},"During analysis: Also to the unconfigured target label.")),(0,r.mdx)("p",null,"The target that appears in the ",(0,r.mdx)("inlineCode",{parentName:"p"},"plugin_dep")," is added to the ",(0,r.mdx)("inlineCode",{parentName:"p"},"MyKind")," plugin list\nwith ",(0,r.mdx)("inlineCode",{parentName:"p"},"should_propagate")," set."),(0,r.mdx)("p",null,"The second way to add to the plugin list is by inheriting from regular deps.\nThis works as follows: Elements of the plugin lists for which the\n",(0,r.mdx)("inlineCode",{parentName:"p"},"should_propagate")," value is true are made available to the immediate rdeps of a\nconfigured target. The rdep can use them by setting ",(0,r.mdx)("inlineCode",{parentName:"p"},"pulls_plugins = [MyKind]"),"\nin the appropriate ",(0,r.mdx)("inlineCode",{parentName:"p"},"attrs.dep()")," invocation. This will make the targets appear\nin the plugin list for the rdep with ",(0,r.mdx)("inlineCode",{parentName:"p"},"should_propagate")," unset. Alternatively,\nthe rdep can set ",(0,r.mdx)("inlineCode",{parentName:"p"},"pulls_and_pushes_plugins = [MyKind]")," to add the targets to the\nplugin lists with ",(0,r.mdx)("inlineCode",{parentName:"p"},"should_propagate")," set to true. This enables transitive\npropagation further up the configured graph."),(0,r.mdx)("p",null,"To decide later: Should we allow plugin rules to appear in regular/exec deps,\nwith no special behavior? I don't see why not."),(0,r.mdx)("h3",{id:"example-proc-macros"},"Example: Proc macros"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-py"},'RustProcMacro = plugins.kind()\n\nrust_proc_macro_propagation = rule(\n impl = _propagation_impl,\n attrs = {\n "actual": attrs.plugin_dep(kind = RustProcMacro),\n },\n)\n\nrust_library = rule(\n impl = _similar_to_before, # See some notes below\n attrs = {\n "proc_macro": attrs.bool(default = False), # Same as before\n "deps": attrs.list(attrs.dep(pulls_and_pushes_plugins = [RustProcMacro])),\n # Here we avoid `pulls_and_pushes` because we do not want to make these deps available to rdeps\n "doc_deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])),\n },\n uses_plugins = [RustProcMacro]\n)\n\nrust_binary = rule(\n impl = _similar_to_before, # See some notes below\n attrs = {\n "deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])),\n "doc_deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])),\n },\n uses_plugins = [RustProcMacro]\n)\n\ndef _propagation_impl(ctx):\n return [\n DefaultInfo(default_outputs = []),\n # During analysis for rust libraries, the providers for proc macros will appear in\n # `ctx.plugins`. However, this includes the transitive and direct proc macro deps, as\n # well as the transitive and direct proc macro doc-deps. Analysis needs to be able to\n # distinguish between all of these though.\n #\n # This dummy provider is passed to allow for precisely that. Generally, it will be passed\n # everywhere where the providers of Rust proc macros are currently passed. That ensures that\n # analysis on `rust_library` and `rust_binary` have all the information they need about\n # where the plugin "entered the dependency graph."\n RustProcMacroMarker(ctx.attrs.actual),\n ]\n\n### TARGETS\n\n# Expanded by macro\nrust_library(\n name = "p1_REAL",\n proc_macro = True,\n)\n\n# Expanded by macro\nrust_proc_macro_propagation(\n name = "p1",\n actual = ":p1_REAL",\n)\n\n# Expanded by macro\nrust_library(\n name = "p2_REAL",\n proc_macro = True,\n)\n\n# Expanded by macro\nrust_proc_macro_propagation(\n name = "p2",\n actual = ":p2_REAL",\n)\n\nrust_library(\n name = "l",\n deps = [":p1"],\n doc_deps = [":p2"],\n)\n\nrust_binary(\n name = "b",\n deps = [":l"],\n)\n')),(0,r.mdx)("p",null,"Analysis for ",(0,r.mdx)("inlineCode",{parentName:"p"},":l")," will see:"),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("inlineCode",{parentName:"li"},"deps")," which contains only the ",(0,r.mdx)("inlineCode",{parentName:"li"},'RustProcMacroMarker("p")')),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("inlineCode",{parentName:"li"},"doc_deps")," which contains only the ",(0,r.mdx)("inlineCode",{parentName:"li"},'RustProcMacroMarker("p2")')),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("inlineCode",{parentName:"li"},"ctx.plugins[RustProcMacro]")," which contains the providers of ",(0,r.mdx)("inlineCode",{parentName:"li"},":p1_REAL")," and\n",(0,r.mdx)("inlineCode",{parentName:"li"},":p2_REAL"),", correctly configured for the execution platform of ",(0,r.mdx)("inlineCode",{parentName:"li"},":l"),".")),(0,r.mdx)("p",null,"Analysis for ",(0,r.mdx)("inlineCode",{parentName:"p"},":b")," will see:"),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},(0,r.mdx)("inlineCode",{parentName:"p"},"deps")," which contain the providers of ",(0,r.mdx)("inlineCode",{parentName:"p"},"l"))),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.plugins[RustProcMacro]")," which contain the providers of ",(0,r.mdx)("inlineCode",{parentName:"p"},":p1_REAL"),", also\ncorrectly configured for its own execution platform (which may be different\nfrom ",(0,r.mdx)("inlineCode",{parentName:"p"},":l"),"'s)."),(0,r.mdx)("p",{parentName:"li"},"Note that because ",(0,r.mdx)("inlineCode",{parentName:"p"},"rust_library")," does not re-push doc deps, ",(0,r.mdx)("inlineCode",{parentName:"p"},":b")," will not\nsee ",(0,r.mdx)("inlineCode",{parentName:"p"},":p2_REAL"),"."))),(0,r.mdx)("p",null,"As a result, the implementation of the ",(0,r.mdx)("inlineCode",{parentName:"p"},"rust_library")," rule should not propagate\nthe providers of its proc macro deps (unlike its regular deps)."),(0,r.mdx)("p",null,"There is one downside to this solution: ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build :p")," does absolutely none of\nthe things that the user is probably expecting. They need ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build :p_REAL"),".\nThat's a bit sad. Thankfully directly building proc macros is not that important\na use case?"),(0,r.mdx)("h4",{id:"alias"},"Alias"),(0,r.mdx)("p",null,"It is already the case today that we can't use the normal ",(0,r.mdx)("inlineCode",{parentName:"p"},"alias"),' rule on\ntoolchains. A similar situation crops up here, where aliasing a target that\npushes plugins causes the plugins to "get lost." The right solution to this is\nto probably allow ',(0,r.mdx)("inlineCode",{parentName:"p"},"plugins.ALL")," as a special value on ",(0,r.mdx)("inlineCode",{parentName:"p"},"pulls_plugins")," and\n",(0,r.mdx)("inlineCode",{parentName:"p"},"pulls_and_pushes_plugins"),", and then set that for the alias rule."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cef0138e.8b5c3328.js b/assets/js/cef0138e.8b5c3328.js new file mode 100644 index 0000000000000..3c523d13454f4 --- /dev/null +++ b/assets/js/cef0138e.8b5c3328.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2593],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>s,mdx:()=>b,useMDXComponents:()=>p,withMDXComponents:()=>u});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},o.apply(this,arguments)}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function d(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=r.createContext({}),u=function(e){return function(n){var t=p(n.components);return r.createElement(e,o({},n,{components:t}))}},p=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},s=function(e){var n=p(e.components);return r.createElement(c.Provider,{value:n},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},h=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),u=p(t),s=a,m=u["".concat(l,".").concat(s)]||u[s]||f[s]||o;return t?r.createElement(m,i(i({ref:n},c),{},{components:t})):r.createElement(m,i({ref:n},c))}));function b(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,l=new Array(o);l[0]=h;var i={};for(var d in n)hasOwnProperty.call(n,d)&&(i[d]=n[d]);i.originalType=e,i[m]="string"==typeof e?e:a,l[1]=i;for(var c=2;c<o;c++)l[c]=t[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}h.displayName="MDXCreateElement"},16375:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>f,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=t(87462),a=(t(67294),t(3905));const o={id:"what-ran",title:"Finding Commands That Buck2 Ran"},l=void 0,i={unversionedId:"developers/what-ran",id:"developers/what-ran",title:"Finding Commands That Buck2 Ran",description:"Buck2 logs all the commands it runs. So, after you've run a build, you can query",source:"@site/../docs/developers/what-ran.md",sourceDirName:"developers",slug:"/developers/what-ran",permalink:"/docs/developers/what-ran",draft:!1,tags:[],version:"current",frontMatter:{id:"what-ran",title:"Finding Commands That Buck2 Ran"},sidebar:"mainSidebar",previous:{title:"Buck1 vs Buck2",permalink:"/docs/developers/architecture/buck1_vs_buck2"},next:{title:"Environments",permalink:"/docs/developers/starlark/environment"}},d={},c=[{value:"What Ran output format",id:"what-ran-output-format",level:2},{value:"Using the What Ran output",id:"using-the-what-ran-output",level:2},{value:"Examples",id:"examples",level:2},{value:"Expired Digests",id:"expired-digests",level:2}],u=e=>function(n){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,a.mdx)("div",n)},p=u("FbInternalOnly"),s=u("OssOnly"),m={toc:c};function f(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"Buck2 logs all the commands it runs. So, after you've run a build, you can query\nBuck2 to get access to the exact command it used."),(0,a.mdx)("p",null,"To do so, do your build as normal, then run ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 log what-ran"),"."),(0,a.mdx)("h2",{id:"what-ran-output-format"},"What Ran output format"),(0,a.mdx)("p",null,"This will output a table showing all the commands that were executed, and how\nthey were executed."),(0,a.mdx)("p",null,"The structure is as follows:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-sh"},"REASON <TAB> TARGET <TAB> IDENTIFIER <TAB> EXECUTOR <TAB> REPRODUCER\n")),(0,a.mdx)("p",null,"Which should be used as follows:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"REASON - value is either ",(0,a.mdx)("inlineCode",{parentName:"li"},"build")," (for building a thing) or ",(0,a.mdx)("inlineCode",{parentName:"li"},"test")," (for running\na test)."),(0,a.mdx)("li",{parentName:"ul"},"TARGET - the name of the build target that declared an action."),(0,a.mdx)("li",{parentName:"ul"},"IDENTIFIER - depends on the target but will usually be something like a file\nname or a module."),(0,a.mdx)("li",{parentName:"ul"},"EXECUTOR - value is either ",(0,a.mdx)("inlineCode",{parentName:"li"},"cache"),", ",(0,a.mdx)("inlineCode",{parentName:"li"},"re")," or ",(0,a.mdx)("inlineCode",{parentName:"li"},"local"),"."),(0,a.mdx)("li",{parentName:"ul"},"REPRODUCER - how you can re-run this yourself.")),(0,a.mdx)("h2",{id:"using-the-what-ran-output"},"Using the What Ran output"),(0,a.mdx)("p",null,"Use What Ran as follows:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"Start by identifying the command you're looking for:",(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},"You can grep the output for a given target."),(0,a.mdx)("li",{parentName:"ul"},"You can then grep by identifier if necessary. For example, if you're after\nC++ compilation, try grepping for the basename of your file (for example,\nfor ",(0,a.mdx)("inlineCode",{parentName:"li"},"fbcode/my/stuff.cpp"),", grep for ",(0,a.mdx)("inlineCode",{parentName:"li"},"stuff.cpp"),")."))),(0,a.mdx)("li",{parentName:"ul"},"Once you found it, reproduce as follows:",(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},"If the executor was ",(0,a.mdx)("inlineCode",{parentName:"li"},"local"),", the command is in the output, so just run it.\nIt's expected that you'll do this from the root of your project (use\n",(0,a.mdx)("inlineCode",{parentName:"li"},"buck2 root --kind project")," to find where that is)."),(0,a.mdx)("li",{parentName:"ul"},"If the executor was ",(0,a.mdx)("inlineCode",{parentName:"li"},"re")," or ",(0,a.mdx)("inlineCode",{parentName:"li"},"cache"),", you're provided a RE digest of the form\n",(0,a.mdx)("inlineCode",{parentName:"li"},"HASH:SIZE"),". Run ",(0,a.mdx)("inlineCode",{parentName:"li"},"frecli cas download-action HASH:SIZE")," to retrieve the\naction, then follow the instructions to run it.")))),(0,a.mdx)("h2",{id:"examples"},"Examples"),(0,a.mdx)("p",null,"The following ran locally:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-bash"},"build fbcode//scripts/torozco/getenv:getenv-san-conf-__generated-lib__ (archive_thin libgetenv-san-conf-__generated-lib__.pic.a) local fbcode/third-party-buck/platform010/build/llvm-fb/bin/llvm-ar qcsTD buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/libgetenv-san-conf-__generated-lib__.pic.a buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/__objects__/san-conf.c.pic.o\n")),(0,a.mdx)("p",null,"To repro, you'd run:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-bash"},"fbcode/third-party-buck/platform010/build/llvm-fb/bin/llvm-ar qcsTD buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/libgetenv-san-conf-__generated-lib__.pic.a buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/__objects__/san-conf.c.pic.\n")),(0,a.mdx)("p",null,"The following ran on RE:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-bash"},"build fbcode//common/init:kill (cxx_compile Kill.cpp (pic)) re 97feca9d014155a80ec55fe27e6bb17f9d2f8574:94\n")),(0,a.mdx)(p,{mdxType:"FbInternalOnly"},"To repro, you'd run:",(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-bash"},"frecli cas download-action 97feca9d014155a80ec55fe27e6bb17f9d2f8574:94\n"))),(0,a.mdx)(s,{mdxType:"OssOnly"},"Reproducing this command will depend on the particular RE implementation you use."),(0,a.mdx)("h2",{id:"expired-digests"},"Expired Digests"),(0,a.mdx)("p",null,"Note that if the action was a cache hit on RE, you might get an error when\ndownloading it, indicating that it's not found. If that happens, it's because\nthe cache entry is there but the inputs have expired."),(0,a.mdx)("p",null,"If this happens to you, run your build with ",(0,a.mdx)("inlineCode",{parentName:"p"},"--upload-all-actions"),"."))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cf239bf7.67152b90.js b/assets/js/cf239bf7.67152b90.js new file mode 100644 index 0000000000000..91e1210a9a1d0 --- /dev/null +++ b/assets/js/cf239bf7.67152b90.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8237],{3905:(e,n,r)=>{r.r(n),r.d(n,{MDXContext:()=>p,MDXProvider:()=>u,mdx:()=>x,useMDXComponents:()=>m,withMDXComponents:()=>d});var t=r(67294);function o(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},i.apply(this,arguments)}function a(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function l(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?a(Object(r),!0).forEach((function(n){o(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function c(e,n){if(null==e)return{};var r,t,o=function(e,n){if(null==e)return{};var r,t,o={},i=Object.keys(e);for(t=0;t<i.length;t++)r=i[t],n.indexOf(r)>=0||(o[r]=e[r]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)r=i[t],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=t.createContext({}),d=function(e){return function(n){var r=m(n.components);return t.createElement(e,i({},n,{components:r}))}},m=function(e){var n=t.useContext(p),r=n;return e&&(r="function"==typeof e?e(n):l(l({},n),e)),r},u=function(e){var n=m(e.components);return t.createElement(p.Provider,{value:n},e.children)},s="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},v=t.forwardRef((function(e,n){var r=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=m(r),u=o,s=d["".concat(a,".").concat(u)]||d[u]||f[u]||i;return r?t.createElement(s,l(l({ref:n},p),{},{components:r})):t.createElement(s,l({ref:n},p))}));function x(e,n){var r=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=v;var l={};for(var c in n)hasOwnProperty.call(n,c)&&(l[c]=n[c]);l.originalType=e,l[s]="string"==typeof e?e:o,a[1]=l;for(var p=2;p<i;p++)a[p]=r[p];return t.createElement.apply(null,a)}return t.createElement.apply(null,r)}v.displayName="MDXCreateElement"},64767:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var t=r(87462),o=(r(67294),r(3905));const i={},a="Return error in ProviderCollection[] on undeclared provider",l={unversionedId:"rfcs/implemented/provider-collection-at",id:"rfcs/implemented/provider-collection-at",title:"Return error in ProviderCollection[] on undeclared provider",description:"Currently, ctx.attrs.foo[UnknownInfo] returns None if foo is a provider",source:"@site/../docs/rfcs/implemented/provider-collection-at.md",sourceDirName:"rfcs/implemented",slug:"/rfcs/implemented/provider-collection-at",permalink:"/docs/rfcs/implemented/provider-collection-at",draft:!1,tags:[],version:"current",frontMatter:{}},c={},p=[{value:"Why",id:"why",level:2},{value:"Bazel",id:"bazel",level:2}],d={toc:p};function m(e){let{components:n,...r}=e;return(0,o.mdx)("wrapper",(0,t.Z)({},d,r,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("h1",{id:"return-error-in-providercollection-on-undeclared-provider"},"Return error in ",(0,o.mdx)("inlineCode",{parentName:"h1"},"ProviderCollection[]")," on undeclared provider"),(0,o.mdx)("p",null,"Currently, ",(0,o.mdx)("inlineCode",{parentName:"p"},"ctx.attrs.foo[UnknownInfo]")," returns ",(0,o.mdx)("inlineCode",{parentName:"p"},"None")," if ",(0,o.mdx)("inlineCode",{parentName:"p"},"foo")," is a provider\ncollection."),(0,o.mdx)("p",null,"This RFC proposes these changes:"),(0,o.mdx)("ul",null,(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},"ctx.attrs.foo[UnknownInfo]")," is an error"),(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},"UnknownInfo in ctx.attrs.foo")," is ",(0,o.mdx)("inlineCode",{parentName:"li"},"False")),(0,o.mdx)("li",{parentName:"ul"},(0,o.mdx)("inlineCode",{parentName:"li"},"ctx.attrs.foo.get(UnknownInfo)")," returns ",(0,o.mdx)("inlineCode",{parentName:"li"},"None"))),(0,o.mdx)("h2",{id:"why"},"Why"),(0,o.mdx)("p",null,"Better diagnostics when accessing unknown provider. E. g. when writing:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-python"},"ctx.attrs.foo[UnknownInfo].bar\n")),(0,o.mdx)("p",null,"Currently, the error is:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},"Object of type `NoneType` has no attribute `bar`\n")),(0,o.mdx)("p",null,"Instead, the error will be something like:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},"provider collection does not contain `UnknownInfo`,\n defined providers are `FooInfo`, `BarInfo`.\n")),(0,o.mdx)("h2",{id:"bazel"},"Bazel"),(0,o.mdx)("p",null,"In bazel, ",(0,o.mdx)("inlineCode",{parentName:"p"},"[]")," on unknown provider is an error, like this:"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},"Error: <target //optional_provider:n2> (rule '_sum')\n doesn't contain declared provider 'UnknownInfo'\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d1ac8d17.23442993.js b/assets/js/d1ac8d17.23442993.js new file mode 100644 index 0000000000000..5d2d63f4fbb2c --- /dev/null +++ b/assets/js/d1ac8d17.23442993.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7706],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>h,useMDXComponents:()=>m,withMDXComponents:()=>u});var r=n(67294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,l=function(e,t){if(null==e)return{};var n,r,l={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var c=r.createContext({}),u=function(e){return function(t){var n=m(t.components);return r.createElement(e,a({},t,{components:n}))}},m=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=m(e.components);return r.createElement(c.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var n=e.components,l=e.mdxType,a=e.originalType,o=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=m(n),p=l,d=u["".concat(o,".").concat(p)]||u[p]||f[p]||a;return n?r.createElement(d,i(i({ref:t},c),{},{components:n})):r.createElement(d,i({ref:t},c))}));function h(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,o=new Array(a);o[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[d]="string"==typeof e?e:l,o[1]=i;for(var c=2;c<a;c++)o[c]=n[c];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}b.displayName="MDXCreateElement"},84329:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var r=n(87462),l=(n(67294),n(3905));const a={id:"killall",title:"killall"},o=void 0,i={unversionedId:"users/commands/killall",id:"users/commands/killall",title:"killall",description:"These are the flags/commands under buck2 killall and their --help output:",source:"@site/../docs/users/commands/killall.generated.md",sourceDirName:"users/commands",slug:"/users/commands/killall",permalink:"/docs/users/commands/killall",draft:!1,tags:[],version:"current",frontMatter:{id:"killall",title:"killall"},sidebar:"mainSidebar",previous:{title:"kill",permalink:"/docs/users/commands/kill"},next:{title:"log",permalink:"/docs/users/commands/log"}},s={},c=[{value:"buck killall",id:"buck-killall",level:2}],u={toc:c};function m(e){let{components:t,...n}=e;return(0,l.mdx)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,l.mdx)("p",null,"These are the flags/commands under ",(0,l.mdx)("inlineCode",{parentName:"p"},"buck2 killall")," and their ",(0,l.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,l.mdx)("h2",{id:"buck-killall"},"buck killall"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"Kill all buck2 processes on the machine\n\nUsage: buck2-release killall [OPTIONS]\n\nOptions:\n -h, --help\n Print help (see a summary with '-h')\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d239613d.b1193f84.js b/assets/js/d239613d.b1193f84.js new file mode 100644 index 0000000000000..2c6990703cbe8 --- /dev/null +++ b/assets/js/d239613d.b1193f84.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9662],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>m,MDXProvider:()=>p,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>s});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i.apply(this,arguments)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var m=n.createContext({}),s=function(e){return function(t){var a=u(t.components);return n.createElement(e,i({},t,{components:a}))}},u=function(e){var t=n.useContext(m),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},p=function(e){var t=u(e.components);return n.createElement(m.Provider,{value:t},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,m=d(e,["components","mdxType","originalType","parentName"]),s=u(a),p=r,c=s["".concat(o,".").concat(p)]||s[p]||h[p]||i;return a?n.createElement(c,l(l({ref:t},m),{},{components:a})):n.createElement(c,l({ref:t},m))}));function b(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=f;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[c]="string"==typeof e?e:r,o[1]=l;for(var m=2;m<i;m++)o[m]=a[m];return n.createElement.apply(null,o)}return n.createElement.apply(null,a)}f.displayName="MDXCreateElement"},44863:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var n=a(87462),r=(a(67294),a(3905));const i={id:"build_target",title:"Build Target"},o="Build Target",l={unversionedId:"concepts/build_target",id:"concepts/build_target",title:"Build Target",description:"A build target is a string that identifies a build target in your project.",source:"@site/../docs/concepts/build_target.md",sourceDirName:"concepts",slug:"/concepts/build_target",permalink:"/docs/concepts/build_target",draft:!1,tags:[],version:"current",frontMatter:{id:"build_target",title:"Build Target"},sidebar:"mainSidebar",previous:{title:"Build File",permalink:"/docs/concepts/build_file"},next:{title:"Target Pattern",permalink:"/docs/concepts/target_pattern"}},d={},m=[{value:"Fully-qualified build targets",id:"fully-qualified-build-targets",level:4},{value:"Relative build targets",id:"relative-build-targets",level:4},{value:"Command-line Pro Tips",id:"command-line-pro-tips",level:2},{value:"See also",id:"see-also",level:2}],s={toc:m};function u(e){let{components:t,...a}=e;return(0,r.mdx)("wrapper",(0,n.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"build-target"},"Build Target"),(0,r.mdx)("p",null,"A ",(0,r.mdx)("em",{parentName:"p"},"build target")," is a string that identifies a build target in your project.\nBuild targets are used as arguments to Buck2 commands, such as\n",(0,r.mdx)("a",{parentName:"p",href:"../../users/commands/build"},(0,r.mdx)("inlineCode",{parentName:"a"},"buck2 build"))," and\n",(0,r.mdx)("a",{parentName:"p",href:"../../users/commands/run"},(0,r.mdx)("inlineCode",{parentName:"a"},"buck2 run")),". Build targets are also used as\narguments to ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/build_rule"},"build rules")," to enable one target to reference\nanother. For example, a build rule might use a build target to reference another\ntarget in order to specify that target as a ",(0,r.mdx)("em",{parentName:"p"},"dependency"),"."),(0,r.mdx)("h4",{id:"fully-qualified-build-targets"},"Fully-qualified build targets"),(0,r.mdx)("p",null,"Here is an example of a ",(0,r.mdx)("em",{parentName:"p"},"fully-qualified")," build target:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"//java/com/facebook/share:ui\n")),(0,r.mdx)("p",null,"A fully-qualified build target has three components:"),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},"The ",(0,r.mdx)("inlineCode",{parentName:"li"},"//")," prefix indicates that the subsequent path is from the ",(0,r.mdx)("em",{parentName:"li"},"root")," of your\nproject. You can use the ",(0,r.mdx)("inlineCode",{parentName:"li"},"buck2 root")," command to identify the root of your\nproject."),(0,r.mdx)("li",{parentName:"ol"},"The ",(0,r.mdx)("inlineCode",{parentName:"li"},"java/com/facebook/share")," between the ",(0,r.mdx)("inlineCode",{parentName:"li"},"//")," prefix and the colon (",(0,r.mdx)("inlineCode",{parentName:"li"},":"),")\nindicates that the ",(0,r.mdx)("a",{parentName:"li",href:"/docs/concepts/build_file"},"build file")," (usually named ",(0,r.mdx)("inlineCode",{parentName:"li"},"BUCK"),") is\nlocated in the directory ",(0,r.mdx)("inlineCode",{parentName:"li"},"java/com/facebook/share"),"."),(0,r.mdx)("li",{parentName:"ol"},"The ",(0,r.mdx)("inlineCode",{parentName:"li"},"ui")," after the colon (",(0,r.mdx)("inlineCode",{parentName:"li"},":"),") indicates the name of the build target within\nthe build file. Build target names must be unique within a build file. By\n",(0,r.mdx)("em",{parentName:"li"},"name")," we mean, more formally, the value of the ",(0,r.mdx)("inlineCode",{parentName:"li"},"name")," argument to the build\nrule.")),(0,r.mdx)("p",null,"Note that the name of the build file itself\u2014usually BUCK\u2014does ",(0,r.mdx)("em",{parentName:"p"},"not")," occur in the\nbuild target. All build files within a given Buck2 project must have the same\nname\u2014defined in the ",(0,r.mdx)("inlineCode",{parentName:"p"},"[buildfile].name")," entry of ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig"),". Therefore, it is\nunnecessary to include the name in the target. The full regular expression for a\nfully-qualified build target is as follows:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"[A-Za-z0-9._-]*//[A-Za-z0-9/._-]*:[A-Za-z0-9_/.=,@~+-]+\n|- cell name -| | package path | |--- target name ----|\n")),(0,r.mdx)("p",null,"In Buck2, a ",(0,r.mdx)("em",{parentName:"p"},"cell")," defines a directory tree of one or more Buck2 packages. For\nmore information about Buck2 cells and their relationship to packages and\nprojects, see the ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/key_concepts"},"Key Concepts")," topic. ",(0,r.mdx)("strong",{parentName:"p"},"NOTE:")," All target\npaths are assumed to start from the root of the Buck2 project. Buck2 does not\nsupport specifying a target path that starts from a directory below the root.\nAlthough the double forward slash (",(0,r.mdx)("inlineCode",{parentName:"p"},"//"),") that prefixes target paths can be\nomitted when specifying a target from the command line (see ",(0,r.mdx)("strong",{parentName:"p"},"Pro Tips")," below),\nBuck2 still assumes that the path is from the root. Buck2 does support\n",(0,r.mdx)("em",{parentName:"p"},"relative")," build paths, but in Buck2, that concept refers to specifying build\ntargets ",(0,r.mdx)("em",{parentName:"p"},"from within")," a build file. See ",(0,r.mdx)("strong",{parentName:"p"},"Relative build targets")," below for\nmore details."),(0,r.mdx)("h4",{id:"relative-build-targets"},"Relative build targets"),(0,r.mdx)("p",null,"A ",(0,r.mdx)("em",{parentName:"p"},"relative")," build target can be used to reference a build target ",(0,r.mdx)("em",{parentName:"p"},"within the\nsame "),(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/build_file"},(0,r.mdx)("em",{parentName:"a"},"build file")),". A relative build target starts with a colon\n(",(0,r.mdx)("inlineCode",{parentName:"p"},":"),") and is followed by only the third component (or ",(0,r.mdx)("em",{parentName:"p"},"short name"),") of the\nfully-qualified build target. The following snippet from a build file shows an\nexample of using a relative path."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"## Assume this target is in //java/com/facebook/share/BUCK#\njava_binary(\n name = 'ui_jar',\n deps = [## The following target path## //java/com/facebook/share:ui## is the same as using the following relative path.#':ui',],)\n")),(0,r.mdx)("h2",{id:"command-line-pro-tips"},"Command-line Pro Tips"),(0,r.mdx)("p",null,"Here are some ways that you can reduce your typing when you specify build\ntargets as command-line arguments to the ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build")," or ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 run")," commands.\nConsider the following example of a fully-qualified build target used with the\n",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 build")," command:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"buck2 build //java/com/facebook/share:share\n")),(0,r.mdx)("p",null,"Although Buck2 is always strict when parsing build targets in build files, Buck2\nis flexible when parsing build targets on the command-line. Specifically, the\nleading ",(0,r.mdx)("inlineCode",{parentName:"p"},"//")," is optional on the command line, so the above could be:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"buck2 build java/com/facebook/share:share\n")),(0,r.mdx)("p",null,"Also, if there is a forward slash before the colon, it is ignored, so this could\nalso be written as:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"buck2 build java/com/facebook/share/:share\n")),(0,r.mdx)("p",null,"which enables you to produce the red text shown below using tab-completion,\nwhich dramatically reduces how much you need to type:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"buck2 build java/com/facebook/share/:share\n")),(0,r.mdx)("p",null,"Finally, if the final path element matches the value specified after the colon,\nit can be omitted:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"# This is treated as //java/com/facebook/share:share.\nbuck2 build java/com/facebook/share/\n")),(0,r.mdx)("p",null,"which makes the build target even easier to tab-complete. For this reason, the\nname of the build target for the primary deliverable in a build file is often\nnamed the same as the parent directory. That way, it can be built from the\ncommand-line with less typing."),(0,r.mdx)("h2",{id:"see-also"},"See also"),(0,r.mdx)("p",null,"Buck2 supports the ability to define ",(0,r.mdx)("strong",{parentName:"p"},(0,r.mdx)("em",{parentName:"strong"},"aliases")," for build targets"),"; using\naliases can improve brevity when specifying targets on the Buck2 command line.\nFor more information, see the ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/buckconfig#alias"},(0,r.mdx)("inlineCode",{parentName:"a"},"[alias]"))," section in the\ndocumentation for ",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/buckconfig"},(0,r.mdx)("inlineCode",{parentName:"a"},".buckconfig")),". A\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/target_pattern"},(0,r.mdx)("strong",{parentName:"a"},"build target pattern"))," is a string that describes a set\nof one or more build targets. For example, the pattern ",(0,r.mdx)("inlineCode",{parentName:"p"},"//...")," is used to build\nan entire project. For more information, see the ",(0,r.mdx)("strong",{parentName:"p"},"Build Target Pattern")," topic."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d28d8f91.f4bc433f.js b/assets/js/d28d8f91.f4bc433f.js new file mode 100644 index 0000000000000..0296afc614c04 --- /dev/null +++ b/assets/js/d28d8f91.f4bc433f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6912],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>p,withMDXComponents:()=>d});var l=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},i.apply(this,arguments)}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);n&&(l=l.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,l)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,l,r=function(e,n){if(null==e)return{};var t,l,r={},i=Object.keys(e);for(l=0;l<i.length;l++)t=i[l],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(l=0;l<i.length;l++)t=i[l],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var c=l.createContext({}),d=function(e){return function(n){var t=p(n.components);return l.createElement(e,i({},n,{components:t}))}},p=function(e){var n=l.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},u=function(e){var n=p(e.components);return l.createElement(c.Provider,{value:n},e.children)},m="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return l.createElement(l.Fragment,{},n)}},x=l.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,a=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(t),u=r,m=d["".concat(a,".").concat(u)]||d[u]||h[u]||i;return t?l.createElement(m,o(o({ref:n},c),{},{components:t})):l.createElement(m,o({ref:n},c))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,a=new Array(i);a[0]=x;var o={};for(var s in n)hasOwnProperty.call(n,s)&&(o[s]=n[s]);o.originalType=e,o[m]="string"==typeof e?e:r,a[1]=o;for(var c=2;c<i;c++)a[c]=t[c];return l.createElement.apply(null,a)}return l.createElement.apply(null,t)}x.displayName="MDXCreateElement"},80923:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var l=t(87462),r=(t(67294),t(3905));const i={id:"external_cells",title:"External Cells"},a=void 0,o={unversionedId:"users/advanced/external_cells",id:"users/advanced/external_cells",title:"External Cells",description:"Normally, buck2 requires source files to be checked into the repo. However, this",source:"@site/../docs/users/advanced/external_cells.md",sourceDirName:"users/advanced",slug:"/users/advanced/external_cells",permalink:"/docs/users/advanced/external_cells",draft:!1,tags:[],version:"current",frontMatter:{id:"external_cells",title:"External Cells"},sidebar:"mainSidebar",previous:{title:"In Memory Cache",permalink:"/docs/users/advanced/in_memory_cache"},next:{title:"Writing Rules",permalink:"/docs/rule_authors/writing_rules"}},s={},c=[{value:"Setting up an external cell",id:"setting-up-an-external-cell",level:2},{value:"Origins",id:"origins",level:2},{value:"The <code>bundled</code> origin",id:"the-bundled-origin",level:3},{value:"The <code>git</code> origin",id:"the-git-origin",level:3},{value:"Expanding external cells",id:"expanding-external-cells",level:2},{value:"Details & Limitations",id:"details--limitations",level:2}],d={toc:c};function p(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,l.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"Normally, buck2 requires source files to be checked into the repo. However, this\nis sometimes inconvenient. It makes distribution of the prelude hard, and users\nmay want to pull in third party dependencies without vendoring them or using\nsource control tricks."),(0,r.mdx)("p",null,'To help support these use cases, buck2 has a concept of "external cells."\nExternal cells act much like ',(0,r.mdx)("a",{parentName:"p",href:"/docs/concepts/buckconfig/#cells"},"normal cells"),", except that instead of having their\nsource files checked into the repo, the source files have some alternative\norigin."),(0,r.mdx)("h2",{id:"setting-up-an-external-cell"},"Setting up an external cell"),(0,r.mdx)("p",null,"Configuring an external cell looks much like configuring a regular cell. First,\nadd the cell to the ",(0,r.mdx)("inlineCode",{parentName:"p"},"cells")," section of your ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig")," like normal:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"[cells]\n prelude = some/path\n")),(0,r.mdx)("p",null,"The external cell's files won't actually be generated in the repo. However, you\nstill need to provide a path for it - this path influences the handling of tree\nfiles, since those cross cell boundaries. It's also used for\n",(0,r.mdx)("inlineCode",{parentName:"p"},"expand-external-cells"),", more on that below."),(0,r.mdx)("p",null,"Next, add an entry to the ",(0,r.mdx)("inlineCode",{parentName:"p"},"external_cells"),' buckconfig section that specifies the\n"origin" of the external cell given an alias. This tells buck2 where you want to\nget the cell from, if not files in the source repo.'),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"[external_cells]\n prelude = bundled\n")),(0,r.mdx)("p",null,"For the ",(0,r.mdx)("inlineCode",{parentName:"p"},"bundled")," origin, that's it. Other origins may require additional\nconfiguration."),(0,r.mdx)("h2",{id:"origins"},"Origins"),(0,r.mdx)("p",null,"Buck2 currently supports two external cell origins, ",(0,r.mdx)("inlineCode",{parentName:"p"},"bundled")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"git"),"."),(0,r.mdx)("h3",{id:"the-bundled-origin"},"The ",(0,r.mdx)("inlineCode",{parentName:"h3"},"bundled")," origin"),(0,r.mdx)("p",null,"The bundled origin can only be used with the ",(0,r.mdx)("inlineCode",{parentName:"p"},"prelude")," cell, and provides access\nto a copy of the prelude that is bundled as part of the buck2 binary. This is\nuseful as an easier-to-install alternative to vendoring or submoduling the\nprelude."),(0,r.mdx)("h3",{id:"the-git-origin"},"The ",(0,r.mdx)("inlineCode",{parentName:"h3"},"git")," origin"),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"git")," origin indicates that an external cell's content should be loaded from\nsome git repo. It accepts two additional configuration parameters, ",(0,r.mdx)("inlineCode",{parentName:"p"},"git_origin"),"\nand ",(0,r.mdx)("inlineCode",{parentName:"p"},"commit"),", like this:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre"},"[cells]\n root = .\n libfoo = libfoo\n\n[external_cells]\n libfoo = git\n\n[external_cell_libfoo]\n git_origin = https://github.com/facebook/foo\n commit_hash = <sha1sum>\n")),(0,r.mdx)("p",null,"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"commit_hash")," value must be a sha1, it cannot be eg a branch name."),(0,r.mdx)("h2",{id:"expanding-external-cells"},"Expanding external cells"),(0,r.mdx)("p",null,"Because external cells only represent a different way to access source files,\nbuck2 provides an ",(0,r.mdx)("inlineCode",{parentName:"p"},"expand-external-cell")," command. This command will make a copy\nof the external cell into the path in the repo you specified for your cell. By\ncommenting out the ",(0,r.mdx)("inlineCode",{parentName:"p"},"external_cells")," buckconfig entry, this allows you to make\ndirect edits to the cell's files in your repo."),(0,r.mdx)("h2",{id:"details--limitations"},"Details & Limitations"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("p",{parentName:"li"},"External cells can only be configured in the project root's ",(0,r.mdx)("inlineCode",{parentName:"p"},".buckconfig"),'.\nThis also means that there is no support for "transitive" external cells, ie\nan external cell cannot specify additional external cells to pull in.')),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("p",{parentName:"li"},"External cells cannot have nested cells inside them.")),(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("p",{parentName:"li"},"The ",(0,r.mdx)("inlineCode",{parentName:"p"},"cells")," buckconfig section of external cells is ignored. This is done to\nensure that when using an external cell to access some dependency in a git\nrepo, that git repo can still be an independently building project that\nspecifies its own toolchain and prelude configuration."),(0,r.mdx)("p",{parentName:"li"},"Because of this difference between external and non-external cells, it's\npossible that running ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 expand-external-cell")," may not produce a working\ncell immediately, but instead require you to delete the ",(0,r.mdx)("inlineCode",{parentName:"p"},"cells")," section first."),(0,r.mdx)("p",{parentName:"li"},(0,r.mdx)("inlineCode",{parentName:"p"},"cell_aliases")," still work just like with regular cells."))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d2edda2e.99f4f527.js b/assets/js/d2edda2e.99f4f527.js new file mode 100644 index 0000000000000..78156ba6cd45a --- /dev/null +++ b/assets/js/d2edda2e.99f4f527.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4288],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>p,MDXProvider:()=>m,mdx:()=>x,useMDXComponents:()=>d,withMDXComponents:()=>c});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},i.apply(this,arguments)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),c=function(e){return function(t){var n=d(t.components);return a.createElement(e,i({},t,{components:n}))}},d=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},m=function(e){var t=d(e.components);return a.createElement(p.Provider,{value:t},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},b=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(n),m=r,u=c["".concat(l,".").concat(m)]||c[m]||f[m]||i;return n?a.createElement(u,s(s({ref:t},p),{},{components:n})):a.createElement(u,s({ref:t},p))}));function x(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=b;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[u]="string"==typeof e?e:r,l[1]=s;for(var p=2;p<i;p++)l[p]=n[p];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}b.displayName="MDXCreateElement"},36857:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var a=n(87462),r=(n(67294),n(3905));const i={id:"instant"},l="instant type",s={unversionedId:"api/bxl/instant",id:"api/bxl/instant",title:"instant type",description:"Instant methods, to aid in debugging/timing individual pieces of the bxl script.",source:"@site/../docs/api/bxl/instant.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/instant",permalink:"/docs/api/bxl/instant",draft:!1,tags:[],version:"current",frontMatter:{id:"instant"},sidebar:"apiSidebar",previous:{title:"file_set type",permalink:"/docs/api/bxl/file_set"},next:{title:"label type",permalink:"/docs/api/bxl/label"}},o={},p=[{value:"instant.elapsed_millis",id:"instantelapsed_millis",level:2},{value:"instant.elapsed_secs",id:"instantelapsed_secs",level:2}],c={toc:p};function d(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"instant-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"instant")," type"),(0,r.mdx)("p",null,"Instant methods, to aid in debugging/timing individual pieces of the bxl script."),(0,r.mdx)("h2",{id:"instantelapsed_millis"},"instant.elapsed","_","millis"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def instant.elapsed_millis() -> float\n")),(0,r.mdx)("p",null,"Elapsed time in millis as a float"),(0,r.mdx)("p",null,"Sample usage:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_elapsed_millis(ctx):\n now = now()\n time_a = now.elapsed_millis()\n # do something that takes a long time\n time_b = now.elapsed_millis()\n\n ctx.output.print(time_a)\n ctx.output.print(time_b)\n")),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"instantelapsed_secs"},"instant.elapsed","_","secs"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"def instant.elapsed_secs() -> float\n")),(0,r.mdx)("p",null,"Elapsed time in secs as a float"),(0,r.mdx)("p",null,"Sample usage:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_elapsed_secs(ctx):\n now = now()\n time_a = now.elapsed_secs()\n # do something that takes a long time\n time_b = now.elapsed_secs()\n\n ctx.output.print(time_a)\n ctx.output.print(time_b)\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d439162b.f58c6f12.js b/assets/js/d439162b.f58c6f12.js new file mode 100644 index 0000000000000..824ddfecf8b7b --- /dev/null +++ b/assets/js/d439162b.f58c6f12.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[807],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>u,MDXProvider:()=>h,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>c});var o=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},a.apply(this,arguments)}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,o,i=function(e,n){if(null==e)return{};var t,o,i={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var u=o.createContext({}),c=function(e){return function(n){var t=d(n.components);return o.createElement(e,a({},n,{components:t}))}},d=function(e){var n=o.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},h=function(e){var n=d(e.components);return o.createElement(u.Provider,{value:n},e.children)},f="mdxType",p={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},m=o.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,r=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=d(t),h=i,f=c["".concat(r,".").concat(h)]||c[h]||p[h]||a;return t?o.createElement(f,s(s({ref:n},u),{},{components:t})):o.createElement(f,s({ref:n},u))}));function b(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,r=new Array(a);r[0]=m;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[f]="string"==typeof e?e:i,r[1]=s;for(var u=2;u<a;u++)r[u]=t[u];return o.createElement.apply(null,r)}return o.createElement.apply(null,t)}m.displayName="MDXCreateElement"},8816:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var o=t(87462),i=(t(67294),t(3905));const a={id:"build",title:"build"},r=void 0,s={unversionedId:"users/commands/build",id:"users/commands/build",title:"build",description:"These are the flags/commands under buck2 build and their --help output:",source:"@site/../docs/users/commands/build.generated.md",sourceDirName:"users/commands",slug:"/users/commands/build",permalink:"/docs/users/commands/build",draft:!1,tags:[],version:"current",frontMatter:{id:"build",title:"build"},sidebar:"mainSidebar",previous:{title:"audit",permalink:"/docs/users/commands/audit"},next:{title:"bxl",permalink:"/docs/users/commands/bxl"}},l={},u=[{value:"buck build",id:"buck-build",level:2}],c={toc:u};function d(e){let{components:n,...t}=e;return(0,i.mdx)("wrapper",(0,o.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)("p",null,"These are the flags/commands under ",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 build")," and their ",(0,i.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,i.mdx)("h2",{id:"buck-build"},"buck build"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-text"},"Build the specified targets\n\nUsage: buck2-release build [OPTIONS] [TARGET_PATTERNS]...\n\nArguments:\n [TARGET_PATTERNS]...\n Patterns to build\n\nOptions:\n --show-output\n Print the path to the output for each of the rules relative to the project root\n\n --show-full-output\n Print the absolute path to the output for each of the rules\n\n --show-simple-output\n Print only the path to the output for each of the rules relative to the project root\n\n --show-full-simple-output\n Print only the absolute path to the output for each of the rules\n\n --show-json-output\n Print the output paths relative to the project root, in JSON format\n\n --show-full-json-output\n Print the output absolute paths, in JSON format\n\n -M, --materializations <MATERIALIZATIONS>\n Materialize (or skip) the final artifacts, bypassing buckconfig.\n \n [possible values: all, none]\n\n --build-default-info\n Build default info (this is the default)\n\n --skip-default-info\n Do not build default info (this is not the default)\n\n --build-run-info\n Build runtime dependencies (this is the default)\n\n --skip-run-info\n Do not build runtime dependencies (this is not the default)\n\n --build-test-info\n Build tests (this is not the default)\n\n --skip-test-info\n Do not build tests (this is the default)\n\n --out <OUTPUT_PATH>\n Copy the output of the built target to this path (`-` to stdout)\n\n --output-hashes-file <OUTPUT_HASHES_FILE>\n Experimental: Path to a file where the Buck2 daemon should write a list of produced\n artifacts in json format\n\n --build-report <PATH>\n Print a build report\n \n `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will\n write the build report to the file\n\n --enable-optional-validations <VALIDATION_NAMES>\n Comma separated list of validation names to run that are marked optional.\n \n By default, validations marked as optional are skipped. This option overrides the\n behaviour and executes those validations.\n\n --build-report-options <BUILD_REPORT_OPTIONS>\n Comma separated list of build report options.\n \n The following options are supported:\n \n `fill-out-failures`: fill out failures the same way Buck1 would.\n \n `package-project-relative-paths`: emit the project-relative path of packages for the\n targets that were built.\n\n -j, --num-threads <THREADS>\n Number of threads to use during execution (default is # cores)\n\n --local-only\n Enable only local execution. Will reject actions that cannot execute locally\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --remote-only\n Enable only remote execution. Will reject actions that cannot execute remotely\n\n --prefer-local\n Enable hybrid execution. Will prefer executing actions that can execute locally on the\n local host\n\n --prefer-remote\n Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and\n will avoid racing local and remote execution\n\n --unstable-no-execution\n Experimental: Disable all execution\n\n --no-remote-cache\n Do not perform remote cache queries or cache writes. If remote execution is enabled, the\n RE service might still deduplicate actions, so for e.g. benchmarking, using a random\n isolation dir is preferred\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --write-to-cache-anyway\n Could be used to enable the action cache writes on the RE worker when no_remote_cache is\n specified\n\n --eager-dep-files\n Process dep files when they are generated (i.e. after running a command that produces dep\n files), rather than when they are used (i.e. before re-running a command that previously\n produced dep files). Use this when debugging commands that produce dep files. Note that\n commands that previously produced dep files will not re-run: only dep files produced\n during this command will be eagerly loaded\n\n --upload-all-actions\n Uploads every action to the RE service, regardless of whether the action needs to execute\n on RE.\n \n This is useful when debugging builds and trying to inspect actions which executed\n remotely. It's possible that the action result is cached but the action itself has\n expired. In this case, downloading the action itself would fail. Enabling this option\n would unconditionally upload all actions, thus you will not hit any expiration issues.\n\n --fail-fast\n If Buck hits an error, do as little work as possible before exiting.\n \n To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The\n default behavior of buck is to do enough work to get a result for the builds of each of\n `:foo` and `:bar`, and no more. This means that buck will continue to complete the build\n of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has\n failed, other dependencies will be cancelled unless they are needed by `:bar`.\n \n This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has\n failed. Generally, this flag only has an effect on builds that specify multiple targets.\n \n `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency\n of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if\n possible.\n\n --keep-going\n If Buck hits an error, continue doing as much work as possible before exiting.\n \n See `--fail-fast` for more details.\n\n --skip-missing-targets\n If target is missing, then skip building instead of throwing error\n\n --skip-incompatible-targets\n If target is incompatible with the specified configuration, skip building instead of\n throwing error. This does not apply to targets specified with glob patterns `/...` or `:`\n which are skipped unconditionally\n\n --materialize-failed-inputs\n Materializes inputs for failed actions which ran on RE\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n -u, --target-universe <TARGET_UNIVERSE>\n Comma separated list of targets to construct a configured target universe.\n \n When the option is specified, command targets are be resolved in this universe.\n Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the\n universe targets, not the command targets.\n \n This argument is particularly recommended on most non-trivial cqueries. In the absence of\n this argument, buck2 will use the target literals in your cquery expression as the value\n for\n this argument, which may not be what you want.\n\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d496cc62.f2502c3f.js b/assets/js/d496cc62.f2502c3f.js new file mode 100644 index 0000000000000..795e64a878613 --- /dev/null +++ b/assets/js/d496cc62.f2502c3f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4679],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>l,MDXProvider:()=>s,mdx:()=>y,useMDXComponents:()=>d,withMDXComponents:()=>p});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){return function(t){var r=d(t.components);return n.createElement(e,o({},t,{components:r}))}},d=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=d(e.components);return n.createElement(l.Provider,{value:t},e.children)},f="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),p=d(r),s=a,f=p["".concat(i,".").concat(s)]||p[s]||m[s]||o;return r?n.createElement(f,c(c({ref:t},l),{},{components:r})):n.createElement(f,c({ref:t},l))}));function y(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=g;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c[f]="string"==typeof e?e:a,i[1]=c;for(var l=2;l<o;l++)i[l]=r[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}g.displayName="MDXCreateElement"},8219:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const o={id:"configured_attr"},i="configured_attr type",c={unversionedId:"api/bxl/configured_attr",id:"api/bxl/configured_attr",title:"configured_attr type",description:"Methods on configured target node's attributes.",source:"@site/../docs/api/bxl/configured_attr.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/configured_attr",permalink:"/docs/api/bxl/configured_attr",draft:!1,tags:[],version:"current",frontMatter:{id:"configured_attr"},sidebar:"apiSidebar",previous:{title:"coerced_attr type",permalink:"/docs/api/bxl/coerced_attr"},next:{title:"configured_target_label type",permalink:"/docs/api/bxl/configured_target_label"}},u={},l=[{value:"configured_attr.type",id:"configured_attrtype",level:2},{value:"configured_attr.value",id:"configured_attrvalue",level:2}],p={toc:l};function d(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"configured_attr-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"configured_attr")," type"),(0,a.mdx)("p",null,"Methods on configured target node's attributes."),(0,a.mdx)("h2",{id:"configured_attrtype"},"configured","_","attr.type"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"configured_attr.type: str\n")),(0,a.mdx)("p",null,"Returns the type name of the attribute"),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_type(ctx):\n node = ctx.cquery().owner("bin/TARGETS")[0]\n attrs = node.attrs_eager()\n ctx.output.print(attrs.name.type)\n')),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"configured_attrvalue"},"configured","_","attr.value"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def configured_attr.value()\n")),(0,a.mdx)("p",null,"Returns the value of this attribute. The value here is not fully resolved like in rules."),(0,a.mdx)("p",null,"Sample usage:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_value(ctx):\n node = ctx.cquery().owner("bin/TARGETS")[0]\n attrs = node.attrs_eager()\n ctx.output.print(attrs.name.value())\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d6b1362a.dcc91c93.js b/assets/js/d6b1362a.dcc91c93.js new file mode 100644 index 0000000000000..19b9ed8099a74 --- /dev/null +++ b/assets/js/d6b1362a.dcc91c93.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6005],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>l,MDXProvider:()=>s,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>c});var r=t(67294);function d(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function p(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?p(Object(t),!0).forEach((function(n){d(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,r,d=function(e,n){if(null==e)return{};var t,r,d={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(d[t]=e[t]);return d}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(d[t]=e[t])}return d}var l=r.createContext({}),c=function(e){return function(n){var t=u(n.components);return r.createElement(e,a({},n,{components:t}))}},u=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},s=function(e){var n=u(e.components);return r.createElement(l.Provider,{value:n},e.children)},y="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},f=r.forwardRef((function(e,n){var t=e.components,d=e.mdxType,a=e.originalType,p=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),c=u(t),s=d,y=c["".concat(p,".").concat(s)]||c[s]||m[s]||a;return t?r.createElement(y,o(o({ref:n},l),{},{components:t})):r.createElement(y,o({ref:n},l))}));function b(e,n){var t=arguments,d=n&&n.mdxType;if("string"==typeof e||d){var a=t.length,p=new Array(a);p[0]=f;var o={};for(var i in n)hasOwnProperty.call(n,i)&&(o[i]=n[i]);o.originalType=e,o[y]="string"==typeof e?e:d,p[1]=o;for(var l=2;l<a;l++)p[l]=t[l];return r.createElement.apply(null,p)}return r.createElement.apply(null,t)}f.displayName="MDXCreateElement"},76903:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>p,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>l});var r=t(87462),d=(t(67294),t(3905));const a={id:"dependency"},p="dependency type",o={unversionedId:"api/build/dependency",id:"api/build/dependency",title:"dependency type",description:"Dependency type. In Starlark typing it can be represented with Dependency global.",source:"@site/../docs/api/build/dependency.generated.md",sourceDirName:"api/build",slug:"/api/build/dependency",permalink:"/docs/api/build/dependency",draft:!1,tags:[],version:"current",frontMatter:{id:"dependency"},sidebar:"apiSidebar",previous:{title:"context type",permalink:"/docs/api/build/context"},next:{title:"digest_config type",permalink:"/docs/api/build/digest_config"}},i={},l=[{value:"dependency.get",id:"dependencyget",level:2},{value:"dependency.label",id:"dependencylabel",level:2},{value:"dependency.providers",id:"dependencyproviders",level:2},{value:"dependency.sub_target",id:"dependencysub_target",level:2}],c={toc:l};function u(e){let{components:n,...t}=e;return(0,d.mdx)("wrapper",(0,r.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,d.mdx)("h1",{id:"dependency-type"},(0,d.mdx)("inlineCode",{parentName:"h1"},"dependency")," type"),(0,d.mdx)("p",null,"Dependency type. In Starlark typing it can be represented with ",(0,d.mdx)("inlineCode",{parentName:"p"},"Dependency")," global."),(0,d.mdx)("h2",{id:"dependencyget"},"dependency.get"),(0,d.mdx)("pre",null,(0,d.mdx)("code",{parentName:"pre",className:"language-python"},"def dependency.get(index) -> None | provider\n")),(0,d.mdx)("p",null,"Gets a provider by indexing on a ",(0,d.mdx)("inlineCode",{parentName:"p"},"ProviderCallable")," object."),(0,d.mdx)("p",null,"e.g."),(0,d.mdx)("pre",null,(0,d.mdx)("code",{parentName:"pre",className:"language-ignore"},'FooInfo = provider(fields=["bar"])\n....\ncollection.get(FooInfo) # None if absent, a FooInfo instance if present\n')),(0,d.mdx)("hr",null),(0,d.mdx)("h2",{id:"dependencylabel"},"dependency.label"),(0,d.mdx)("pre",null,(0,d.mdx)("code",{parentName:"pre",className:"language-python"},"dependency.label: label\n")),(0,d.mdx)("hr",null),(0,d.mdx)("h2",{id:"dependencyproviders"},"dependency.providers"),(0,d.mdx)("pre",null,(0,d.mdx)("code",{parentName:"pre",className:"language-python"},"dependency.providers: list[typing.Any]\n")),(0,d.mdx)("hr",null),(0,d.mdx)("h2",{id:"dependencysub_target"},"dependency.sub","_","target"),(0,d.mdx)("pre",null,(0,d.mdx)("code",{parentName:"pre",className:"language-python"},"def dependency.sub_target(subtarget: str, /) -> dependency\n")),(0,d.mdx)("p",null,"Obtain the dependency representing a subtarget. In most cases you will want to use ",(0,d.mdx)("inlineCode",{parentName:"p"},'x[DefaultInfo].sub_targets["foo"]')," to get the ",(0,d.mdx)("em",{parentName:"p"},"providers")," of the subtarget, but if you need a real ",(0,d.mdx)("inlineCode",{parentName:"p"},"Dependency")," type (e.g. for use with ",(0,d.mdx)("inlineCode",{parentName:"p"},"ctx.action.anon_target"),") then use this method."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d7cd28fb.2853bade.js b/assets/js/d7cd28fb.2853bade.js new file mode 100644 index 0000000000000..57d5d7ecf024a --- /dev/null +++ b/assets/js/d7cd28fb.2853bade.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6394],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>d,mdx:()=>b,useMDXComponents:()=>p,withMDXComponents:()=>u});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},o.apply(this,arguments)}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=r.createContext({}),u=function(e){return function(n){var t=p(n.components);return r.createElement(e,o({},n,{components:t}))}},p=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},d=function(e){var n=p(e.components);return r.createElement(c.Provider,{value:n},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},x=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(t),d=a,m=u["".concat(l,".").concat(d)]||u[d]||f[d]||o;return t?r.createElement(m,i(i({ref:n},c),{},{components:t})):r.createElement(m,i({ref:n},c))}));function b(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,l=new Array(o);l[0]=x;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i[m]="string"==typeof e?e:a,l[1]=i;for(var c=2;c<o;c++)l[c]=t[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}x.displayName="MDXCreateElement"},55038:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=t(87462),a=(t(67294),t(3905));const o={},l="@configuration syntax",i={unversionedId:"rfcs/drafts/configuration-at-syntax",id:"rfcs/drafts/configuration-at-syntax",title:"@configuration syntax",description:"What",source:"@site/../docs/rfcs/drafts/configuration-at-syntax.md",sourceDirName:"rfcs/drafts",slug:"/rfcs/drafts/configuration-at-syntax",permalink:"/docs/rfcs/drafts/configuration-at-syntax",draft:!1,tags:[],version:"current",frontMatter:{}},s={},c=[{value:"What",id:"what",level:2},{value:"Why",id:"why",level:2},{value:"Possible future extensions",id:"possible-future-extensions",level:2}],u={toc:c};function p(e){let{components:n,...t}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"configuration-syntax"},"@configuration syntax"),(0,a.mdx)("h2",{id:"what"},"What"),(0,a.mdx)("p",null,"Command"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-shell"},"buck2 build //foo:bar@config//platform:linux-x86_64\n")),(0,a.mdx)("p",null,"should be equivalent to current syntax:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-shell"},"buck2 build //foo:bar --target-platforms=//platform:linux-x86_64\n")),(0,a.mdx)("h2",{id:"why"},"Why"),(0,a.mdx)("p",null,"Might be convenient if we define global (or per-target, as proposed in\n",(0,a.mdx)("a",{parentName:"p",href:"https://www.internalfb.com/diff/D35135886"},"target configuration discovery RFC"),")\nalias. For example, if there's an alias"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"release=//config:linux-x86_64-release\n")),(0,a.mdx)("p",null,"The command above can be expressed as:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-shell"},"buck2 build //foo:bar@release\n")),(0,a.mdx)("p",null,"Additionally, if we have\n",(0,a.mdx)("a",{parentName:"p",href:"https://www.internalfb.com/diff/D35135496"},"configuration expression RFC"),"\nimplemented, we can do something like:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-shell"},"buck2 build //foo:bar@release+gcc\n")),(0,a.mdx)("h2",{id:"possible-future-extensions"},"Possible future extensions"),(0,a.mdx)("p",null,"For now, at-syntax only applies to command line arguments"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"of ",(0,a.mdx)("inlineCode",{parentName:"li"},"build"),"/",(0,a.mdx)("inlineCode",{parentName:"li"},"targets"),"/",(0,a.mdx)("inlineCode",{parentName:"li"},"run"),"/",(0,a.mdx)("inlineCode",{parentName:"li"},"test")," commands"),(0,a.mdx)("li",{parentName:"ul"},"probably ",(0,a.mdx)("inlineCode",{parentName:"li"},"cquery")," query")),(0,a.mdx)("p",null,"It would be reasonable to expect that this syntax should be allowed anywhere we\nneed a target (e.g. in ",(0,a.mdx)("inlineCode",{parentName:"p"},"deps")," attribute), but this is out of scope of this\nproposal."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/da761ee9.2ca50b9a.js b/assets/js/da761ee9.2ca50b9a.js new file mode 100644 index 0000000000000..cc2cd61259ea8 --- /dev/null +++ b/assets/js/da761ee9.2ca50b9a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4101],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>u,MDXProvider:()=>p,mdx:()=>f,useMDXComponents:()=>m,withMDXComponents:()=>d});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=r.createContext({}),d=function(e){return function(t){var n=m(t.components);return r.createElement(e,o({},t,{components:n}))}},m=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=m(e.components);return r.createElement(u.Provider,{value:t},e.children)},c="mdxType",x={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=m(n),p=a,c=d["".concat(i,".").concat(p)]||d[p]||x[p]||o;return n?r.createElement(c,s(s({ref:t},u),{},{components:n})):r.createElement(c,s({ref:t},u))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:a,i[1]=s;for(var u=2;u<o;u++)i[u]=n[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}h.displayName="MDXCreateElement"},20722:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>x,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var r=n(87462),a=(n(67294),n(3905));const o={id:"test_execution",title:"Test Execution"},i=void 0,s={unversionedId:"rule_authors/test_execution",id:"rule_authors/test_execution",title:"Test Execution",description:"Test execution in Buck2 is a collaboration with a separate test runner process.",source:"@site/../docs/rule_authors/test_execution.md",sourceDirName:"rule_authors",slug:"/rule_authors/test_execution",permalink:"/docs/rule_authors/test_execution",draft:!1,tags:[],version:"current",frontMatter:{id:"test_execution",title:"Test Execution"},sidebar:"mainSidebar",previous:{title:"Anonymous Targets",permalink:"/docs/rule_authors/anon_targets"},next:{title:"Observability and Optimization",permalink:"/docs/rule_authors/optimization"}},l={},u=[{value:"Anatomy of a test run",id:"anatomy-of-a-test-run",level:2},{value:"Information available on <code>ExternalRunnerTestInfo</code>",id:"information-available-on-externalrunnertestinfo",level:2},{value:"Fields exposed to the test runner",id:"fields-exposed-to-the-test-runner",level:3},{value:"Fields pertinent for Remote Execution",id:"fields-pertinent-for-remote-execution",level:3},{value:"Verbatim arguments and handles",id:"verbatim-arguments-and-handles",level:2},{value:"Execution Configurations",id:"execution-configurations",level:2},{value:"Working Directory",id:"working-directory",level:2}],d=e=>function(t){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,a.mdx)("div",t)},m=d("OssOnly"),p=d("FbInternalOnly"),c={toc:u};function x(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"Test execution in Buck2 is a collaboration with a separate test runner process."),(0,a.mdx)(m,{mdxType:"OssOnly"},(0,a.mdx)("p",null,"In its open-source build, Buck2 ships with a built-in simplistic test runner."),(0,a.mdx)("p",null,"This test runner receives the commands defined by ",(0,a.mdx)("inlineCode",{parentName:"p"},"ExternalRunnerTestInfo")," and\nsimply executes them. Exit code zero means the test passed, and one means it\nfailed."),(0,a.mdx)("p",null,"Users can of course develop their own test runners. Look at\n",(0,a.mdx)("inlineCode",{parentName:"p"},"fbcode/buck2/app/buck2_test_runner")," as a sample. For comparison, here's how\nit's used at Meta:")),(0,a.mdx)("p",null,"At Meta, this test runner is ",(0,a.mdx)(m,{mdxType:"OssOnly"},"Tpx")),(0,a.mdx)(p,{mdxType:"FbInternalOnly"},"[Tpx](https://www.internalfb.com/intern/wiki/TAE/tpx/)"),".",(0,a.mdx)("p",null,"Tpx has a large number of responsibilities when used with Buck2, which can be\ngrouped as follows:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Translation"),":",(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},"Understands the output formats of various supported test frameworks. This is\nused to identify test cases and collect test results."),(0,a.mdx)("li",{parentName:"ul"},"Understands, to an extent, the input formats. For example, given a test\ncase, Tpx can identify what command needs to run to execute just that test."))),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("strong",{parentName:"li"},"Orchestration"),":",(0,a.mdx)("ul",{parentName:"li"},(0,a.mdx)("li",{parentName:"ul"},"Interacts with Test Infra to discover what tests should run, under a number\nof configurations."),(0,a.mdx)("li",{parentName:"ul"},"Separates listing of tests (identifying what tests exists in a test target)\nand execution (running specific tests within that target)."),(0,a.mdx)("li",{parentName:"ul"},"Coordinates the execution of tests. For example, it may request retries, or\nchoose to bundle multiple tests in a single execution (or not)."),(0,a.mdx)("li",{parentName:"ul"},"Reports test results to Test Infra as well.")))),(0,a.mdx)("p",null,"In Buck2, rules interact with the test runner via a provider called\n",(0,a.mdx)("inlineCode",{parentName:"p"},"ExternalRunnerTestInfo"),"."),(0,a.mdx)("h2",{id:"anatomy-of-a-test-run"},"Anatomy of a test run"),(0,a.mdx)("p",null,"When a user runs ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 test $targets"),":"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"Buck2 identifies all matching targets that have an ",(0,a.mdx)("inlineCode",{parentName:"li"},"ExternalRunnerTestInfo"),"."),(0,a.mdx)("li",{parentName:"ul"},"Buck2 builds all the artifacts referenced by those targets (this will likely\nchange eventually to build them only if they are used)."),(0,a.mdx)("li",{parentName:"ul"},"Buck2 then notifies the test runner that those tests exist. Currently, the\ntest runner receives a subset of ",(0,a.mdx)("inlineCode",{parentName:"li"},"ExternalRunnerTestInfo"),"."),(0,a.mdx)("li",{parentName:"ul"},"The test runner can request command execution from Buck2 to list and execute\ntests."),(0,a.mdx)("li",{parentName:"ul"},"When it receives command results from Buck2, the test runner may fire off\nevents that the end-user will see (such as test results), upload logs\nexternally, request further executions, and so on.")),(0,a.mdx)("admonition",{type:"note"},(0,a.mdx)("p",{parentName:"admonition"},"If more than one target is being built, test building and execution will proceed concurrently.")),(0,a.mdx)("h2",{id:"information-available-on-externalrunnertestinfo"},"Information available on ",(0,a.mdx)("inlineCode",{parentName:"h2"},"ExternalRunnerTestInfo")),(0,a.mdx)("p",null,"As noted, rules communicate their testing capabilities via\n",(0,a.mdx)("inlineCode",{parentName:"p"},"ExternalRunnerTestInfo"),". There are a number of fields available on\n",(0,a.mdx)("inlineCode",{parentName:"p"},"ExternalRunnerTestInfo")," to control how a given target is tested, as detailed in\nthe following sub-sections."),(0,a.mdx)("h3",{id:"fields-exposed-to-the-test-runner"},"Fields exposed to the test runner"),(0,a.mdx)("p",null,"The following list shows what is available in ",(0,a.mdx)("inlineCode",{parentName:"p"},"ExternalRunnerTestInfo"),", with\nwhich the test runner can interact:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"type")," - a string key that defines the type of test this is. ",(0,a.mdx)(p,{mdxType:"FbInternalOnly"},"\nTpx uses this internally to choose a translator. Examples include ",(0,a.mdx)("inlineCode",{parentName:"li"},"gtest"),",\n",(0,a.mdx)("inlineCode",{parentName:"li"},"apple_test"),", ",(0,a.mdx)("inlineCode",{parentName:"li"},"custom"),". Note that Tpx also allows labels to influence the\norchestrator selection. ")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"command")," and ",(0,a.mdx)("inlineCode",{parentName:"li"},"env")," - respectively, a list and a key-value mapping of\narguments. ",(0,a.mdx)(p,{mdxType:"FbInternalOnly"},"These are the inputs to translation in\nTpx.")," They are not always visible to the test runner (for more\ndetails, see\n",(0,a.mdx)("a",{parentName:"li",href:"#verbatim-arguments-and-handles"},"Verbatim arguments and handles"),", below)."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"labels")," - a set of string labels to pass to the test runner. ",(0,a.mdx)(p,{mdxType:"FbInternalOnly"},"\nThey have no meaning to Buck2, but some labels have impact on translation in\nTpx. ")),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"contacts")," - a list of contacts for the tests; usually oncalls."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"executor_overrides")," - a key-value mapping of executor configurations that the\ntest runner can use when requesting execution from Buck2."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"local_resources")," - a key-value mapping from resource type to optional\n",(0,a.mdx)("inlineCode",{parentName:"li"},"LocalResourceInfo")," provider. Provider is used for initialization of that\nresource type. If the value is ",(0,a.mdx)("inlineCode",{parentName:"li"},"None")," resource type is ignored even though\ntest runner required it. For context see\n",(0,a.mdx)("a",{parentName:"li",href:"/docs/rule_authors/local_resources"},"Local Resources For Tests Execution"),".")),(0,a.mdx)("h3",{id:"fields-pertinent-for-remote-execution"},"Fields pertinent for Remote Execution"),(0,a.mdx)("p",null,"For compatibility with Remote Execution (RE), there are two fields that rules\nshould set in their ",(0,a.mdx)("inlineCode",{parentName:"p"},"ExternalRunnerTestInfo")," if they should be run on RE:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"use_project_relative_paths")," - if ",(0,a.mdx)("inlineCode",{parentName:"li"},"true")," (the default is",(0,a.mdx)(p,{mdxType:"FbInternalOnly"},"`false`")," ",(0,a.mdx)(m,{mdxType:"OssOnly"},"`true`"),"), Buck2 will produce relative paths. If not, it'll produce absolute paths."),(0,a.mdx)("li",{parentName:"ul"},(0,a.mdx)("inlineCode",{parentName:"li"},"run_from_project_root")," - if ",(0,a.mdx)("inlineCode",{parentName:"li"},"true")," (the default is",(0,a.mdx)(p,{mdxType:"FbInternalOnly"},"`false`")," ",(0,a.mdx)(m,{mdxType:"OssOnly"},"`true`"),"), tests will run from the project root (their `cwd` will be the project root, which is the same as all build commands). If `false`, it'll be the cell root.")),(0,a.mdx)("p",null,"Note that passing ",(0,a.mdx)("inlineCode",{parentName:"p"},"--unstable-allow-all-tests-on-re")," to ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 test")," will\noverride those fields and set them to ",(0,a.mdx)("inlineCode",{parentName:"p"},"true"),", since they are a pre-requisite to\nrun on RE. In contrast, passing ",(0,a.mdx)("inlineCode",{parentName:"p"},"--unstable-allow-compatible-tests-on-re")," will\nonly allow tests that already set both those fields to ",(0,a.mdx)("inlineCode",{parentName:"p"},"true")," to execute on RE."),(0,a.mdx)("p",null,"Also note that when ",(0,a.mdx)("inlineCode",{parentName:"p"},"executor_overrides")," are set, if an executor override is\nused and results in execution on RE, it'll happen on RE unconditionally.\nTherefore, it's a good idea to set those fields if RE-only executor overrides\nare provided."),(0,a.mdx)("h2",{id:"verbatim-arguments-and-handles"},"Verbatim arguments and handles"),(0,a.mdx)("p",null,"As noted above, the test runner only interacts with a subset of arguments\nprovided by rules in ",(0,a.mdx)("inlineCode",{parentName:"p"},"ExternalRunnerTestInfo"),". The reason for this is that the\ntest runner doesn't get to access, for example, artifacts, that Buck2 knows\nabout."),(0,a.mdx)("p",null,"Consider the following example:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'binary = ctx.attrs.dep[RunInfo]\ntest_info = ExternalRunnerTestInfo(command = [binary, "run-tests"], ...)\n')),(0,a.mdx)("p",null,"When Buck2 actually runs this command, ",(0,a.mdx)("inlineCode",{parentName:"p"},"binary")," is expanded to a path (and\npossibly to more args). Buck2 would also account for any hidden arguments and\nmake those available where the command is executed. It is important for Buck2 to\nretain this capability when running with the test runner."),(0,a.mdx)("p",null,"To that end, all non-trivial arguments present in ",(0,a.mdx)("inlineCode",{parentName:"p"},"command")," (and in the values\nof ",(0,a.mdx)("inlineCode",{parentName:"p"},"env"),"), such as ",(0,a.mdx)("inlineCode",{parentName:"p"},"cmd_args")," or ",(0,a.mdx)("inlineCode",{parentName:"p"},"RunInfo"),", are exposed to the test runner as\nopaque handles, and simple string arguments are passed as-is to the test runner."),(0,a.mdx)("p",null,"This means that the test runner would see the command described above as:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'[ArgHandle(index = 0), Verbatim("foobar")]\n')),(0,a.mdx)("p",null,"When requesting execution from Buck2, the test runner can use the ",(0,a.mdx)("inlineCode",{parentName:"p"},"ArgHandle"),"\nand Buck2 will swap it back for the underlying value that was set on the\nprovider."),(0,a.mdx)("p",null,"This allows the test runner to introspect and modify parts of the command lines\nit receives, as long as it doesn't need to access the actual text value of\nnon-verbatim arguments. Usually, this works out to be sufficient (or can be made\nsufficient with a bit of refactoring in the test runner)."),(0,a.mdx)("h2",{id:"execution-configurations"},"Execution Configurations"),(0,a.mdx)("p",null,"By default, tests execute using the execution configuration of the associated\ntarget. This is the execution configuration that would be used for run actions\n(",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.actions.run"),") declared in the same target. This is a default that actually\nmakes little sense but works out as long as cross-compiling is not the norm."),(0,a.mdx)(p,{mdxType:"FbInternalOnly"},(0,a.mdx)("p",null,"That said, it's easy to see where this breaks down."),(0,a.mdx)("p",null,"For example:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"For iOS tests, the execution platform for builds needs to be XCode (local or\nRE Mac)."),(0,a.mdx)("li",{parentName:"ul"},"For test listing, XCode is not needed (it's preferable to do it on RE Linux\nwhere capacity is cheaper)."),(0,a.mdx)("li",{parentName:"ul"},"To run the tests, a simulator is required."))),(0,a.mdx)("p",null,"To support this, ",(0,a.mdx)("inlineCode",{parentName:"p"},"ExternalRunnerTestInfo")," allows specifying override platforms,\nwhich are given a name. The test runner can request execution on them by passing\ntheir name when it sends execution requests to Buck2, as shown in the following\ncode:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'ExternalRunnerTestInfo(\n executor_overrides = {\n "ios-simulator": CommandExecutorConfig(\n local_enabled = False,\n remote_enabled = True,\n remote_execution_properties = {\n "platform": "ios-simulator-pure-re",\n "subplatform": "iPhone 8.iOS 15.0",\n "xcode-version": "xcodestable",\n },\n remote_execution_use_case = "tpx-default",\n ),\n "static-listing": CommandExecutorConfig(local_enabled = True, remote_enabled = False),\n },\n ...\n)\n')),(0,a.mdx)("p",null,"The default execution platform can also be overridden:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'ExternalRunnerTestInfo(\n default_executor = CommandExecutorConfig(\n local_enabled = False,\n remote_enabled = True,\n remote_execution_properties = {\n "platform": "ios-simulator-pure-re",\n "subplatform": "iPhone 8.iOS 15.0",\n "xcode-version": "xcodestable",\n },\n remote_execution_use_case = "tpx-default",\n ),\n ...\n)\n')),(0,a.mdx)("h2",{id:"working-directory"},"Working Directory"),(0,a.mdx)(m,{mdxType:"OssOnly"},"Tests can be run from the cell root by setting `run_from_project_root = False`."),(0,a.mdx)(p,{mdxType:"FbInternalOnly"},"As noted above, tests run from the cell root unless `run_from_project_root` is set."),(0,a.mdx)("p",null,"To produce paths relative to the cell root for use by tests, use\n",(0,a.mdx)("inlineCode",{parentName:"p"},"relative_to(ctx.label.cell_root)")," on ",(0,a.mdx)("inlineCode",{parentName:"p"},"cmd_args"),"."))}x.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dac93ff2.8446848f.js b/assets/js/dac93ff2.8446848f.js new file mode 100644 index 0000000000000..8419715a9cf42 --- /dev/null +++ b/assets/js/dac93ff2.8446848f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1714],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>s,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>d,withMDXComponents:()=>p});var o=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},i.apply(this,arguments)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),p=function(e){return function(t){var n=d(t.components);return o.createElement(e,i({},t,{components:n}))}},d=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=d(e.components);return o.createElement(s.Provider,{value:t},e.children)},x="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=d(n),u=r,x=p["".concat(c,".").concat(u)]||p[u]||b[u]||i;return n?o.createElement(x,a(a({ref:t},s),{},{components:n})):o.createElement(x,a({ref:t},s))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,c=new Array(i);c[0]=m;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a[x]="string"==typeof e?e:r,c[1]=a;for(var s=2;s<i;s++)c[s]=n[s];return o.createElement.apply(null,c)}return o.createElement.apply(null,n)}m.displayName="MDXCreateElement"},51830:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>s});var o=n(87462),r=(n(67294),n(3905));const i={id:"bxl.Actions"},c="bxl.Actions type",a={unversionedId:"api/bxl/bxl.Actions",id:"api/bxl/bxl.Actions",title:"bxl.Actions type",description:"The bxl action context is the context for creating actions. This context is obtained after performing execution platform resolution based on a set of given dependencies and toolchains.",source:"@site/../docs/api/bxl/bxl.Actions.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.Actions",permalink:"/docs/api/bxl/bxl.Actions",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.Actions"},sidebar:"apiSidebar",previous:{title:"bxl.ActionQueryNode type",permalink:"/docs/api/bxl/bxl.ActionQueryNode"},next:{title:"bxl.AnalysisResult type",permalink:"/docs/api/bxl/bxl.AnalysisResult"}},l={},s=[{value:"bxl.Actions.actions",id:"bxlactionsactions",level:2},{value:"bxl.Actions.exec_deps",id:"bxlactionsexec_deps",level:2},{value:"bxl.Actions.toolchains",id:"bxlactionstoolchains",level:2}],p={toc:s};function d(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,o.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"bxlactions-type"},(0,r.mdx)("inlineCode",{parentName:"h1"},"bxl.Actions")," type"),(0,r.mdx)("p",null,"The bxl action context is the context for creating actions. This context is obtained after performing execution platform resolution based on a set of given dependencies and toolchains."),(0,r.mdx)("p",null,"You can access the analysis actions to create actions, and the resolved dependencies and\ntoolchains from this context"),(0,r.mdx)("h2",{id:"bxlactionsactions"},"bxl.Actions.actions"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.Actions.actions: actions\n")),(0,r.mdx)("p",null,"Gets the analysis action context to create and register actions on the execution platform corresponding to this bxl action's execution platform resolution."),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"bxlactionsexec_deps"},"bxl.Actions.exec","_","deps"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.Actions.exec_deps: dict[providers_label, dependency]\n")),(0,r.mdx)("p",null,"Gets the execution deps requested correctly configured for the current execution platform"),(0,r.mdx)("hr",null),(0,r.mdx)("h2",{id:"bxlactionstoolchains"},"bxl.Actions.toolchains"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"bxl.Actions.toolchains: dict[providers_label, dependency]\n")),(0,r.mdx)("p",null,"Gets the toolchains requested configured for the current execution platform"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/db3d6ee4.4e66d220.js b/assets/js/db3d6ee4.4e66d220.js new file mode 100644 index 0000000000000..7b2e3ccd8d577 --- /dev/null +++ b/assets/js/db3d6ee4.4e66d220.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6248],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>c,MDXProvider:()=>u,mdx:()=>h,useMDXComponents:()=>m,withMDXComponents:()=>l});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){return function(t){var r=m(t.components);return n.createElement(e,o({},t,{components:r}))}},m=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},u=function(e){var t=m(e.components);return n.createElement(c.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),l=m(r),u=a,d=l["".concat(i,".").concat(u)]||l[u]||f[u]||o;return r?n.createElement(d,s(s({ref:t},c),{},{components:r})):n.createElement(d,s({ref:t},c))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=g;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[d]="string"==typeof e?e:a,i[1]=s;for(var c=2;c<o;c++)i[c]=r[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}g.displayName="MDXCreateElement"},94146:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"anon_target"},i="anon_target type",s={unversionedId:"api/bxl/anon_target",id:"api/bxl/anon_target",title:"anon_target type",description:"Accessors to the promise of the anon rule and the promised artifacts associated with the rule.",source:"@site/../docs/api/bxl/anon_target.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/anon_target",permalink:"/docs/api/bxl/anon_target",draft:!1,tags:[],version:"current",frontMatter:{id:"anon_target"},sidebar:"apiSidebar",previous:{title:"actions type",permalink:"/docs/api/bxl/actions"},next:{title:"anon_targets type",permalink:"/docs/api/bxl/anon_targets"}},p={},c=[{value:"anon_target.artifact",id:"anon_targetartifact",level:2},{value:"anon_target.artifacts",id:"anon_targetartifacts",level:2},{value:"anon_target.promise",id:"anon_targetpromise",level:2}],l={toc:c};function m(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"anon_target-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"anon_target")," type"),(0,a.mdx)("p",null,"Accessors to the promise of the anon rule and the promised artifacts associated with the rule."),(0,a.mdx)("h2",{id:"anon_targetartifact"},"anon","_","target.artifact"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def anon_target.artifact(name: str)\n")),(0,a.mdx)("p",null,"Gets a specific ",(0,a.mdx)("inlineCode",{parentName:"p"},"StarlarkPromiseArtifact")," by name. Returns an error if the name was not found in the registered promise artifacts for the anon target."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"anon_targetartifacts"},"anon","_","target.artifacts"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def anon_target.artifacts()\n")),(0,a.mdx)("p",null,"Returns a dict where the key is the promise artifact's name, and the value is the ",(0,a.mdx)("inlineCode",{parentName:"p"},"StarlarkPromiseArtifact"),"."),(0,a.mdx)("p",null,"To get a promise artifact where the short path is accessible, call ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.actions.assert_short_path(...)")," and\npass in the artifact retrieved from this dict."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"anon_targetpromise"},"anon","_","target.promise"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"anon_target.promise: promise\n")),(0,a.mdx)("p",null,"Returns the promise that maps to the result of the anon rule."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dc60fdda.6fb8d039.js b/assets/js/dc60fdda.6fb8d039.js new file mode 100644 index 0000000000000..e2a7f3b684d52 --- /dev/null +++ b/assets/js/dc60fdda.6fb8d039.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4929],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>m,useMDXComponents:()=>d,withMDXComponents:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},l.apply(this,arguments)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),g=function(e){return function(t){var r=d(t.components);return a.createElement(e,l({},t,{components:r}))}},d=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=d(e.components);return a.createElement(c.Provider,{value:t},e.children)},_="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},b=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),g=d(r),p=n,_=g["".concat(o,".").concat(p)]||g[p]||f[p]||l;return r?a.createElement(_,i(i({ref:t},c),{},{components:r})):a.createElement(_,i({ref:t},c))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,o=new Array(l);o[0]=b;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[_]="string"==typeof e?e:n,o[1]=i;for(var c=2;c<l;c++)o[c]=r[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}b.displayName="MDXCreateElement"},66010:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"configured_target_label"},o="configured_target_label type",i={unversionedId:"api/build/configured_target_label",id:"api/build/configured_target_label",title:"configured_target_label type",description:"configured\\target\\label.cell",source:"@site/../docs/api/build/configured_target_label.generated.md",sourceDirName:"api/build",slug:"/api/build/configured_target_label",permalink:"/docs/api/build/configured_target_label",draft:!1,tags:[],version:"current",frontMatter:{id:"configured_target_label"},sidebar:"apiSidebar",previous:{title:"cmd_args type",permalink:"/docs/api/build/cmd_args"},next:{title:"context type",permalink:"/docs/api/build/context"}},u={},c=[{value:"configured_target_label.cell",id:"configured_target_labelcell",level:2},{value:"configured_target_label.config",id:"configured_target_labelconfig",level:2},{value:"configured_target_label.name",id:"configured_target_labelname",level:2},{value:"configured_target_label.package",id:"configured_target_labelpackage",level:2},{value:"configured_target_label.path",id:"configured_target_labelpath",level:2},{value:"configured_target_label.raw_target",id:"configured_target_labelraw_target",level:2},{value:"configured_target_label.with_sub_target",id:"configured_target_labelwith_sub_target",level:2}],g={toc:c};function d(e){let{components:t,...r}=e;return(0,n.mdx)("wrapper",(0,a.Z)({},g,r,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"configured_target_label-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"configured_target_label")," type"),(0,n.mdx)("h2",{id:"configured_target_labelcell"},"configured","_","target","_","label.cell"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"configured_target_label.cell: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelconfig"},"configured","_","target","_","label.config"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def configured_target_label.config() -> configuration\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelname"},"configured","_","target","_","label.name"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"configured_target_label.name: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelpackage"},"configured","_","target","_","label.package"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"configured_target_label.package: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelpath"},"configured","_","target","_","label.path"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"configured_target_label.path: typing.Any\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelraw_target"},"configured","_","target","_","label.raw","_","target"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def configured_target_label.raw_target() -> target_label\n")),(0,n.mdx)("p",null,"Returns the unconfigured underlying target label."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_target_labelwith_sub_target"},"configured","_","target","_","label.with","_","sub","_","target"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def configured_target_label.with_sub_target(\n subtarget_name: str | list[str] = _\n) -> label\n")),(0,n.mdx)("p",null,"Converts a ",(0,n.mdx)("inlineCode",{parentName:"p"},"ConfiguredTargetLabel")," into its corresponding ",(0,n.mdx)("inlineCode",{parentName:"p"},"Label")," given the subtarget name which is a list for each layer of subtarget"),(0,n.mdx)("p",null,"Sample usage:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_sub_target(ctx):\n owners = ctx.cquery().owner("bin/TARGETS.fixture")\n for owner in owners:\n configured_label = owner.label\n ctx.output.print(configured_label.with_sub_target())\n ctx.output.print(configured_label.with_sub_target("subtarget1"))\n ctx.output.print(configured_label.with_sub_target(["subtarget1", "subtarget2"]))\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dc963e49.4566908b.js b/assets/js/dc963e49.4566908b.js new file mode 100644 index 0000000000000..4991f499403db --- /dev/null +++ b/assets/js/dc963e49.4566908b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5066],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>s,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>p,withMDXComponents:()=>m});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i.apply(this,arguments)}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,n,l=function(e,t){if(null==e)return{};var a,n,l={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var s=n.createContext({}),m=function(e){return function(t){var a=p(t.components);return n.createElement(e,i({},t,{components:a}))}},p=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},u=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},c="mdxType",x={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,i=e.originalType,r=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),m=p(a),u=l,c=m["".concat(r,".").concat(u)]||m[u]||x[u]||i;return a?n.createElement(c,o(o({ref:t},s),{},{components:a})):n.createElement(c,o({ref:t},s))}));function f(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var i=a.length,r=new Array(i);r[0]=h;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[c]="string"==typeof e?e:l,r[1]=o;for(var s=2;s<i;s++)r[s]=a[s];return n.createElement.apply(null,r)}return n.createElement.apply(null,a)}h.displayName="MDXCreateElement"},97643:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=a(87462),l=(a(67294),a(3905));const i={id:"globals"},r="globals",o={unversionedId:"api/build/globals",id:"api/build/globals",title:"globals",description:"Global method for error handling.",source:"@site/../docs/api/build/globals.generated.md",sourceDirName:"api/build",slug:"/api/build/globals",permalink:"/docs/api/build/globals",draft:!1,tags:[],version:"current",frontMatter:{id:"globals"},sidebar:"apiSidebar",previous:{title:"string type",permalink:"/docs/api/starlark/string"},next:{title:"ActionErrorCtx type",permalink:"/docs/api/build/ActionErrorCtx"}},d={},s=[{value:"ActionErrorCtx",id:"actionerrorctx",level:2},{value:"ActionErrorLocation",id:"actionerrorlocation",level:2},{value:"ActionSubError",id:"actionsuberror",level:2},{value:"AnalysisActions",id:"analysisactions",level:2},{value:"AnalysisContext",id:"analysiscontext",level:2},{value:"AnonTarget",id:"anontarget",level:2},{value:"AnonTargets",id:"anontargets",level:2},{value:"Artifact",id:"artifact",level:2},{value:"ArtifactTag",id:"artifacttag",level:2},{value:"ArtifactValue",id:"artifactvalue",level:2},{value:"Attr",id:"attr",level:2},{value:"CellPath",id:"cellpath",level:2},{value:"CellRoot",id:"cellroot",level:2},{value:"CommandExecutorConfig",id:"commandexecutorconfig",level:2},{value:"<code>.type</code> attribute",id:"type-attribute",level:4},{value:"Details",id:"details",level:4},{value:"ConfigurationInfo",id:"configurationinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-1",level:4},{value:"Details",id:"details-1",level:4},{value:"ConfiguredProvidersLabel",id:"configuredproviderslabel",level:2},{value:"ConfiguredTargetLabel",id:"configuredtargetlabel",level:2},{value:"ConstraintSettingInfo",id:"constraintsettinginfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-2",level:4},{value:"Details",id:"details-2",level:4},{value:"ConstraintValueInfo",id:"constraintvalueinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-3",level:4},{value:"Details",id:"details-3",level:4},{value:"DefaultInfo",id:"defaultinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-4",level:4},{value:"Details",id:"details-4",level:4},{value:"Dependency",id:"dependency",level:2},{value:"DynamicActions",id:"dynamicactions",level:2},{value:"DynamicActionsCallable",id:"dynamicactionscallable",level:2},{value:"ExecutionPlatformInfo",id:"executionplatforminfo",level:2},{value:"ExecutionPlatformRegistrationInfo",id:"executionplatformregistrationinfo",level:2},{value:"ExternalRunnerTestInfo",id:"externalrunnertestinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-5",level:4},{value:"Details",id:"details-5",level:4},{value:"InstallInfo",id:"installinfo",level:2},{value:"Label",id:"label",level:2},{value:"LocalResourceInfo",id:"localresourceinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-6",level:4},{value:"Details",id:"details-6",level:4},{value:"OutputArtifact",id:"outputartifact",level:2},{value:"PlatformInfo",id:"platforminfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-7",level:4},{value:"Details",id:"details-7",level:4},{value:"ProjectRoot",id:"projectroot",level:2},{value:"Promise",id:"promise",level:2},{value:"Provider",id:"provider",level:2},{value:"ProviderCollection",id:"providercollection",level:2},{value:"ProvidersLabel",id:"providerslabel",level:2},{value:"ResolvedStringWithMacros",id:"resolvedstringwithmacros",level:2},{value:"RunInfo",id:"runinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-8",level:4},{value:"Details",id:"details-8",level:4},{value:"Select",id:"select",level:2},{value:"TargetLabel",id:"targetlabel",level:2},{value:"TemplatePlaceholderInfo",id:"templateplaceholderinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-9",level:4},{value:"Details",id:"details-9",level:4},{value:"TransitiveSet",id:"transitiveset",level:2},{value:"TransitiveSetArgsProjection",id:"transitivesetargsprojection",level:2},{value:"TransitiveSetArgsProjectionIterator",id:"transitivesetargsprojectioniterator",level:2},{value:"TransitiveSetDefinition",id:"transitivesetdefinition",level:2},{value:"TransitiveSetIterator",id:"transitivesetiterator",level:2},{value:"TransitiveSetJsonProjection",id:"transitivesetjsonprojection",level:2},{value:"ValidationInfo",id:"validationinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-10",level:4},{value:"Details",id:"details-10",level:4},{value:"ValidationSpec",id:"validationspec",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-11",level:4},{value:"WorkerInfo",id:"workerinfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-12",level:4},{value:"Details",id:"details-11",level:4},{value:"WorkerRunInfo",id:"workerruninfo",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-13",level:4},{value:"Details",id:"details-12",level:4},{value:"anon_rule",id:"anon_rule",level:2},{value:"attrs",id:"attrs",level:2},{value:"bxl",id:"bxl",level:2},{value:"bxl_main",id:"bxl_main",level:2},{value:"cli_args",id:"cli_args",level:2},{value:"cmd_args",id:"cmd_args",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-14",level:4},{value:"Details",id:"details-13",level:4},{value:"<code>ignore_artifacts</code>",id:"ignore_artifacts",level:2},{value:"<code>hidden</code>",id:"hidden",level:2},{value:"<code>absolute_prefix</code> and <code>absolute_suffix</code>",id:"absolute_prefix-and-absolute_suffix",level:2},{value:"ctarget_set",id:"ctarget_set",level:2},{value:"dedupe",id:"dedupe",level:2},{value:"dynamic_actions",id:"dynamic_actions",level:2},{value:"fail_no_stacktrace",id:"fail_no_stacktrace",level:2},{value:"file_set",id:"file_set",level:2},{value:"get_base_path",id:"get_base_path",level:2},{value:"get_cell_name",id:"get_cell_name",level:2},{value:"get_path_without_materialization",id:"get_path_without_materialization",level:2},{value:"get_paths_without_materialization",id:"get_paths_without_materialization",level:2},{value:"glob",id:"glob",level:2},{value:"host_info",id:"host_info",level:2},{value:"implicit_package_symbol",id:"implicit_package_symbol",level:2},{value:"load_symbols",id:"load_symbols",level:2},{value:"now",id:"now",level:2},{value:"oncall",id:"oncall",level:2},{value:"package",id:"package",level:2},{value:"package_name",id:"package_name",level:2},{value:"plugins",id:"plugins",level:2},{value:"provider",id:"provider-1",level:2},{value:"provider_field",id:"provider_field",level:2},{value:"read_config",id:"read_config",level:2},{value:"read_oncall",id:"read_oncall",level:2},{value:"read_package_value",id:"read_package_value",level:2},{value:"read_parent_package_value",id:"read_parent_package_value",level:2},{value:"read_root_config",id:"read_root_config",level:2},{value:"regex",id:"regex",level:2},{value:"<code>.type</code> attribute",id:"type-attribute-15",level:4},{value:"regex_match",id:"regex_match",level:2},{value:"repository_name",id:"repository_name",level:2},{value:"rule",id:"rule",level:2},{value:"rule_exists",id:"rule_exists",level:2},{value:"select",id:"select-1",level:2},{value:"select_equal_internal",id:"select_equal_internal",level:2},{value:"select_map",id:"select_map",level:2},{value:"select_test",id:"select_test",level:2},{value:"set_cfg_constructor",id:"set_cfg_constructor",level:2},{value:"set_starlark_peak_allocated_byte_limit",id:"set_starlark_peak_allocated_byte_limit",level:2},{value:"sha256",id:"sha256",level:2},{value:"soft_error",id:"soft_error",level:2},{value:"transition",id:"transition",level:2},{value:"transitive_set",id:"transitive_set",level:2},{value:"utarget_set",id:"utarget_set",level:2},{value:"warning",id:"warning",level:2},{value:"write_package_value",id:"write_package_value",level:2}],m={toc:s};function p(e){let{components:t,...a}=e;return(0,l.mdx)("wrapper",(0,n.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,l.mdx)("h1",{id:"globals"},"globals"),(0,l.mdx)("p",null,"Global method for error handling."),(0,l.mdx)("h2",{id:"actionerrorctx"},"ActionErrorCtx"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorCtx: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"actionerrorlocation"},"ActionErrorLocation"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ActionErrorLocation: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"actionsuberror"},"ActionSubError"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ActionSubError: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"analysisactions"},"AnalysisActions"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"AnalysisActions: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"analysiscontext"},"AnalysisContext"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"AnalysisContext: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"anontarget"},"AnonTarget"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"AnonTarget: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"anontargets"},"AnonTargets"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"AnonTargets: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"artifact"},"Artifact"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Artifact: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"artifacttag"},"ArtifactTag"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ArtifactTag: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"artifactvalue"},"ArtifactValue"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ArtifactValue: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"attr"},"Attr"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Attr: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"cellpath"},"CellPath"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"CellPath: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"cellroot"},"CellRoot"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"CellRoot: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"commandexecutorconfig"},"CommandExecutorConfig"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def CommandExecutorConfig(\n *,\n local_enabled: bool,\n remote_enabled: bool,\n remote_cache_enabled: None | bool = None,\n remote_dep_file_cache_enabled: bool = False,\n remote_execution_properties = None,\n remote_execution_action_key = None,\n remote_execution_max_input_files_mebibytes: None | int = None,\n remote_execution_queue_time_threshold_s: None | int = None,\n remote_execution_use_case = None,\n use_limited_hybrid: bool = False,\n allow_limited_hybrid_fallbacks: bool = False,\n allow_hybrid_fallbacks_on_failure: bool = False,\n use_windows_path_separators: bool = False,\n use_persistent_workers: bool = False,\n allow_cache_uploads: bool = False,\n max_cache_upload_mebibytes: None | int = None,\n experimental_low_pass_filter: bool = False,\n remote_output_paths: None | str = None,\n remote_execution_resource_units: None | int = None,\n remote_execution_dependencies: list[dict[str, str]] = []\n) -> command_executor_config\n")),(0,l.mdx)("p",null,"Contains configurations for how actions should be executed"),(0,l.mdx)("h4",{id:"type-attribute"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"command_executor_config"')),(0,l.mdx)("h4",{id:"details"},"Details"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"local_enabled")," : Whether to use local execution for this execution platform.\nIf both remote_enabled and local_enabled are ",(0,l.mdx)("inlineCode",{parentName:"li"},"True"),", we will use the hybrid executor"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_enabled"),": Whether to use remote execution for this execution platform"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_cache_enabled"),": Whether to query RE caches"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_properties"),": Properties for remote execution for this platform"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_action_key"),": A component to inject into the action key\nThis should typically used to inject variability into the action key so that\nit's different across e.g. build modes (RE uses the action key for things like expected memory utilization)"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_max_input_files_mebibytes"),": The maximum input file size (in bytes) that remote execution can support"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_queue_time_threshold_s"),": The maximum time in seconds we are willing to wait\nin the RE queue for remote execution to start running our action"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_use_case"),": The use case to use when communicating with RE"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"use_limited_hybrid"),": Whether to use the limited hybrid executor"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"allow_limited_hybrid_fallbacks"),": Whether to allow fallbacks"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"allow_hybrid_fallbacks_on_failure"),": Whether to allow fallbacks when the result is failure (i.e. the command failed on the primary, but the infra worked)"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"use_windows_path_separators"),": Whether to use Windows path separators in command line arguments"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"use_persistent workers"),": Whether to use persistent workers for local execution if they are available"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"allow_cache_uploads"),": Whether to upload local actions to the RE cache"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"max_cache_upload_mebibytes"),": Maximum size to upload in cache uploads"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"experimental_low_pass_filter"),": Whether to use the experimental low pass filter"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_output_paths"),": How to express output paths to RE"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_resource_units"),": The resources (eg. GPUs) to use for remote execution"),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"remote_execution_dependencies"),": Dependencies for remote execution for this platform")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"configurationinfo"},"ConfigurationInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ConfigurationInfo(\n *,\n constraints: dict[target_label, ConstraintValueInfo],\n values: dict[str, str]\n) -> ConfigurationInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a rule contains configuration info. This is used both as part of defining configurations (",(0,l.mdx)("inlineCode",{parentName:"p"},"platform()"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"constraint_value()"),') and defining whether a target "matches" a configuration or not (',(0,l.mdx)("inlineCode",{parentName:"p"},"config_setting()"),", ",(0,l.mdx)("inlineCode",{parentName:"p"},"constraint_value()"),")"),(0,l.mdx)("h4",{id:"type-attribute-1"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ConfigurationInfo"')),(0,l.mdx)("h4",{id:"details-1"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"constraints: dict[target_label, ConstraintValueInfo]")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"values: dict[str, str]")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"configuredproviderslabel"},"ConfiguredProvidersLabel"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ConfiguredProvidersLabel: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"configuredtargetlabel"},"ConfiguredTargetLabel"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ConfiguredTargetLabel: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"constraintsettinginfo"},"ConstraintSettingInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ConstraintSettingInfo(*, label: target_label) -> ConstraintSettingInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a target can be used as a constraint key. This is the only provider returned by a ",(0,l.mdx)("inlineCode",{parentName:"p"},"constraint_setting()")," target."),(0,l.mdx)("h4",{id:"type-attribute-2"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ConstraintSettingInfo"')),(0,l.mdx)("h4",{id:"details-2"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"label: target_label")," - field")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"constraintvalueinfo"},"ConstraintValueInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ConstraintValueInfo(\n *,\n setting: ConstraintSettingInfo,\n label: target_label\n) -> ConstraintValueInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a target can be used as a constraint key. This is the only provider returned by a ",(0,l.mdx)("inlineCode",{parentName:"p"},"constraint_value()")," target."),(0,l.mdx)("h4",{id:"type-attribute-3"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ConstraintValueInfo"')),(0,l.mdx)("h4",{id:"details-3"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"setting: ConstraintSettingInfo")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"label: target_label")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"defaultinfo"},"DefaultInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def DefaultInfo(\n default_output: None | artifact = None,\n default_outputs: None | list[artifact] = None,\n other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _,\n sub_targets: dict[str, typing.Any] = _\n) -> DefaultInfo\n")),(0,l.mdx)("p",null,"A provider that all rules' implementations must return"),(0,l.mdx)("h4",{id:"type-attribute-4"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"DefaultInfo"')),(0,l.mdx)("h4",{id:"details-4"},"Details"),(0,l.mdx)("p",null,"In many simple cases, this can be inferred for the user."),(0,l.mdx)("p",null,"Example of a rule's implementation function and how these fields are used by the framework:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-starlark"},'# //foo_binary.bzl\ndef impl(ctx):\n ctx.action.run([ctx.attrs._cc[RunInfo], "-o", ctx.attrs.out.as_output()] + ctx.attrs.srcs)\n ctx.action.run([\n ctx.attrs._strip[RunInfo],\n "--binary",\n ctx.attrs.out,\n "--stripped-out",\n ctx.attrs.stripped.as_output(),\n "--debug-symbols-out",\n ctx.attrs.debug_info.as_output(),\n ])\n return [\n DefaultInfo(\n sub_targets = {\n "stripped": [\n DefaultInfo(default_outputs = [ctx.attrs.stripped, ctx.attrs.debug_info]),\n ],\n },\n default_output = ctx.attrs.out,\n ]\n\nfoo_binary = rule(\n impl=impl,\n attrs={\n "srcs": attrs.list(attrs.source()),\n "out": attrs.output(),\n "stripped": attrs.output(),\n "debug_info": attrs.output(),\n "_cc": attrs.dep(default="//tools:cc", providers=[RunInfo]),\n "_strip_script": attrs.dep(default="//tools:strip", providers=[RunInfo])\n)\n\ndef foo_binary_wrapper(name, srcs):\n foo_binary(\n name = name,\n srcs = src,\n out = name,\n stripped = name + ".stripped",\n debug_info = name + ".debug_info",\n )\n\n# //subdir/BUCK\nload("//:foo_binary.bzl", "foo_binary_wrapper")\n\ngenrule(name = "gen_stuff", ...., default_outs = ["foo.cpp"])\n\n# ":gen_stuff" pulls the default_outputs for //subdir:gen_stuff\nfoo_binary_wrapper(name = "foo", srcs = glob(["*.cpp"]) + [":gen_stuff"])\n\n# Builds just \'foo\' binary. The strip command is never invoked.\n$ buck build //subdir:foo\n\n# builds the \'foo\' binary, because it is needed by the \'strip\' command. Ensures that\n# both the stripped binary and the debug symbols are built.\n$ buck build //subdir:foo[stripped]\n')),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"sub_targets: dict[str, provider_collection]")," - A mapping of names to ",(0,l.mdx)("inlineCode",{parentName:"p"},"ProviderCollection"),"s. The keys are used when resolving the ",(0,l.mdx)("inlineCode",{parentName:"p"},"ProviderName")," portion of a ",(0,l.mdx)("inlineCode",{parentName:"p"},"ProvidersLabel")," in order to access the providers for a subtarget, such as when doing ",(0,l.mdx)("inlineCode",{parentName:"p"},"buck2 build cell//foo:bar[baz]"),". Just like any ",(0,l.mdx)("inlineCode",{parentName:"p"},"ProviderCollection"),", this collection must include at least a ",(0,l.mdx)("inlineCode",{parentName:"p"},"DefaultInfo")," provider. The subtargets can have their own subtargets as well, which can be accessed by chaining them, e.g.: ",(0,l.mdx)("inlineCode",{parentName:"p"},"buck2 build cell//foo:bar[baz][qux]"),".")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"default_outputs: list[artifact]")," - A list of ",(0,l.mdx)("inlineCode",{parentName:"p"},"Artifact"),'s that are built by default if this rule is requested explicitly, or depended on as as a "source".')),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo]")," - A list of ",(0,l.mdx)("inlineCode",{parentName:"p"},"ArtifactTraversable"),". The underlying ",(0,l.mdx)("inlineCode",{parentName:"p"},"Artifact"),"s they define will be built by default if this rule is requested, but ",(0,l.mdx)("em",{parentName:"p"},"not"),' when it\'s depended on as as a "source". ',(0,l.mdx)("inlineCode",{parentName:"p"},"ArtifactTraversable")," can be an ",(0,l.mdx)("inlineCode",{parentName:"p"},"Artifact")," (which yields itself), or ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args"),", which expand to all their inputs."))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dependency"},"Dependency"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Dependency: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dynamicactions"},"DynamicActions"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"DynamicActions: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dynamicactionscallable"},"DynamicActionsCallable"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"DynamicActionsCallable: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"executionplatforminfo"},"ExecutionPlatformInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ExecutionPlatformInfo(\n *,\n label: target_label,\n configuration: ConfigurationInfo,\n executor_config: command_executor_config\n) -> ExecutionPlatformInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a target represents an execution platform."),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"label: target_label")," - label of the defining rule, used in informative messages")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"configuration: ConfigurationInfo")," - The configuration of the execution platform")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"executor_config: command_executor_config")," - The executor config"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"executionplatformregistrationinfo"},"ExecutionPlatformRegistrationInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ExecutionPlatformRegistrationInfo(\n *,\n platforms: list[ExecutionPlatformInfo],\n fallback = None\n) -> ExecutionPlatformRegistrationInfo\n")),(0,l.mdx)("p",null,"Provider that gives the list of all execution platforms available for this build."),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"platforms: list[ExecutionPlatformInfo]")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"fallback: typing.Any")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"externalrunnertestinfo"},"ExternalRunnerTestInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ExternalRunnerTestInfo(\n type,\n command = None,\n env = None,\n labels = None,\n contacts = None,\n use_project_relative_paths = None,\n run_from_project_root = None,\n default_executor = None,\n executor_overrides = None,\n local_resources = None,\n worker = None\n) -> ExternalRunnerTestInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a rule can be tested using an external runner. This is the Buck1-compatible API for tests."),(0,l.mdx)("h4",{id:"type-attribute-5"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ExternalRunnerTestInfo"')),(0,l.mdx)("h4",{id:"details-5"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"test_type: str")," - A Starlark value representing the type of this test.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"command: list[typing.Any]")," - A Starlark value representing the command for this test. The external test runner is what gives meaning to this command.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"env: dict[str, typing.Any]")," - A Starlark value representing the environment for this test. Here again, the external test runner is what will this meaning. This is of type ",(0,l.mdx)("inlineCode",{parentName:"p"},"dict[str, ArgLike]"),".")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"labels: list[str]")," - A starlark value representing the labels for this test.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"contacts: list[str]")," - A starlark value representing the contacts for this test. This is largely expected to be an oncall, though it's not validated in any way.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"use_project_relative_paths: bool")," - Whether this test should use relative paths")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"run_from_project_root: bool")," - Whether this test should run from the project root, as opposed to the cell rootDefaults to ",(0,l.mdx)("inlineCode",{parentName:"p"},"True"),".")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"default_executor: command_executor_config")," - Default executor to use to run tests. If none is passed we will default to the execution platform.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"executor_overrides: dict[str, command_executor_config]")," - Executors that Tpx can use to override the default executor.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"local_resources: dict[str, None | label]")," - Mapping from a local resource type to a target with a corresponding provider. Required types are passed from test runner. If the value for a corresponding type is omitted it means local resource should be ignored when executing tests even if those are passed as required from test runner.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"worker: WorkerInfo")," - Configuration needed to spawn a new worker. This worker will be used to run every single command related to test execution, including listing."))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"installinfo"},"InstallInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def InstallInfo(installer: label, files: dict[str, artifact]) -> InstallInfo\n")),(0,l.mdx)("p",null,"A provider that can be constructed and have its fields accessed. Returned by rules."),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"installer: label")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"files: dict[str, artifact]")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"label"},"Label"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Label: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"localresourceinfo"},"LocalResourceInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def LocalResourceInfo(\n *,\n setup: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,\n resource_env_vars: dict[str, str],\n setup_timeout_seconds: None | float | int = None\n) -> LocalResourceInfo\n")),(0,l.mdx)("p",null,"A provider that can be constructed and have its fields accessed. Returned by rules."),(0,l.mdx)("h4",{id:"type-attribute-6"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"LocalResourceInfo"')),(0,l.mdx)("h4",{id:"details-6"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"setup: cmd_args"),' - Command to run to initialize a local resource. Running this command writes a JSON to stdout. This JSON represents a pool of local resources which are ready to be used. Example JSON would be: { "pid": 42, "resources": ','[ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ]',' } Where \'"pid"',(0,l.mdx)("inlineCode",{parentName:"p"},"maps to a PID of a process which should be sent SIGTERM to release the pool of resources when they are no longer needed."),'"resources"',(0,l.mdx)("inlineCode",{parentName:"p"},"maps to the pool of resources. When a local resource from this particular pool is needed for an execution command, single entity will be reserved from the pool, for example"),'{"socket_address": "bar:2"}',(0,l.mdx)("inlineCode",{parentName:"p"},"and environment variable with name resolved using mapping in"),"resource_env_vars",(0,l.mdx)("inlineCode",{parentName:"p"},"field and"),'"socket_address"` key will be added to execution command.')),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"resource_env_vars: dict[str, str]")," - Mapping from environment variable (appended to an execution command which is dependent on this local resource) to keys in setup command JSON output.")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"setup_timeout_seconds: None | float | int")," - Timeout in seconds for ",(0,l.mdx)("inlineCode",{parentName:"p"},"setup")," command."))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"outputartifact"},"OutputArtifact"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"OutputArtifact: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"platforminfo"},"PlatformInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def PlatformInfo(\n *,\n label: str,\n configuration: ConfigurationInfo\n) -> PlatformInfo\n")),(0,l.mdx)("p",null,"A provider that can be constructed and have its fields accessed. Returned by rules."),(0,l.mdx)("h4",{id:"type-attribute-7"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"PlatformInfo"')),(0,l.mdx)("h4",{id:"details-7"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"label: str")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"configuration: ConfigurationInfo")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"projectroot"},"ProjectRoot"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ProjectRoot: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"promise"},"Promise"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Promise: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"provider"},"Provider"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Provider: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"providercollection"},"ProviderCollection"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ProviderCollection: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"providerslabel"},"ProvidersLabel"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ProvidersLabel: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"resolvedstringwithmacros"},"ResolvedStringWithMacros"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"ResolvedStringWithMacros: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"runinfo"},"RunInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def RunInfo(\n args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _\n) -> RunInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a rule is runnable"),(0,l.mdx)("h4",{id:"type-attribute-8"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"RunInfo"')),(0,l.mdx)("h4",{id:"details-8"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"args: cmd_args")," - The command to run, stored as CommandLine")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"select"},"Select"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"Select: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"targetlabel"},"TargetLabel"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TargetLabel: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"templateplaceholderinfo"},"TemplatePlaceholderInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def TemplatePlaceholderInfo(\n unkeyed_variables = {},\n keyed_variables = {}\n) -> TemplatePlaceholderInfo\n")),(0,l.mdx)("p",null,"A provider that is used for expansions in string attribute templates"),(0,l.mdx)("h4",{id:"type-attribute-9"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"TemplatePlaceholderInfo"')),(0,l.mdx)("h4",{id:"details-9"},"Details"),(0,l.mdx)("p",null,'String attribute templates allow two types of user-defined placeholders, "unkeyed placeholders"\nlike ',(0,l.mdx)("inlineCode",{parentName:"p"},"$(CXX)")," or ",(0,l.mdx)("inlineCode",{parentName:"p"},"$(aapt)"),' and "keyed placeholders" that include a target key like\n',(0,l.mdx)("inlineCode",{parentName:"p"},"$(cxxppflags //some:target)"),". The expansion of each of these types is based on the\n",(0,l.mdx)("inlineCode",{parentName:"p"},"TemplatePlaceholderInfo")," providers."),(0,l.mdx)("p",null,'"keyed placeholders" are used for the form ',(0,l.mdx)("inlineCode",{parentName:"p"},"$(<key> <target>)")," or ",(0,l.mdx)("inlineCode",{parentName:"p"},"$(<key> <target> <arg>)"),". In both cases\nthe lookup will expect a ",(0,l.mdx)("inlineCode",{parentName:"p"},"TemplatePlaceholderInfo")," in the providers of ",(0,l.mdx)("inlineCode",{parentName:"p"},"<target>"),". It will then lookup\n",(0,l.mdx)("inlineCode",{parentName:"p"},"<key>")," in the keyed_variables (call this the ",(0,l.mdx)("inlineCode",{parentName:"p"},"value"),"). There are then four valid possibilities:"),(0,l.mdx)("ol",null,(0,l.mdx)("li",{parentName:"ol"},"no-arg placeholder, an arg-like ",(0,l.mdx)("inlineCode",{parentName:"li"},"value"),": resolve to ",(0,l.mdx)("inlineCode",{parentName:"li"},"value")),(0,l.mdx)("li",{parentName:"ol"},"no-arg placeholder, a dictionary ",(0,l.mdx)("inlineCode",{parentName:"li"},"value"),": resolve to ",(0,l.mdx)("inlineCode",{parentName:"li"},'value["DEFAULT"]')),(0,l.mdx)("li",{parentName:"ol"},"arg placeholder, a non-dictionary ",(0,l.mdx)("inlineCode",{parentName:"li"},"value"),": this is an error"),(0,l.mdx)("li",{parentName:"ol"},"arg placeholder, a dictionary ",(0,l.mdx)("inlineCode",{parentName:"li"},"value"),": resolve to ",(0,l.mdx)("inlineCode",{parentName:"li"},"value[<arg>]"))),(0,l.mdx)("p",null,'"unkeyed placeholders" are resolved by matching to any of the deps of the target. ',(0,l.mdx)("inlineCode",{parentName:"p"},"$(CXX)"),' will resolve\nto the "CXX" value in any dep\'s ',(0,l.mdx)("inlineCode",{parentName:"p"},"TemplateProviderInfo.unkeyed_variables")),(0,l.mdx)("p",null,"Fields:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},'unkeyed_variables: A mapping of names to arg-like values. These are used for "unkeyed placeholder" expansion.'),(0,l.mdx)("li",{parentName:"ul"},'keyed_variables: A mapping of names to arg-like values or dictionary of string to\narg-like values. These are used for "keyed placeholder" expansion.')),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"unkeyed_variables: dict[str, typing.Any]")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"keyed_variables: dict[str, typing.Any]")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitiveset"},"TransitiveSet"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSet: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitivesetargsprojection"},"TransitiveSetArgsProjection"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSetArgsProjection: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitivesetargsprojectioniterator"},"TransitiveSetArgsProjectionIterator"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSetArgsProjectionIterator: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitivesetdefinition"},"TransitiveSetDefinition"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSetDefinition: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitivesetiterator"},"TransitiveSetIterator"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSetIterator: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitivesetjsonprojection"},"TransitiveSetJsonProjection"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"TransitiveSetJsonProjection: type\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"validationinfo"},"ValidationInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ValidationInfo(*, validations: list[ValidationSpec]) -> ValidationInfo\n")),(0,l.mdx)("p",null,"Provider describing how a given target node should be validated. Validations are run when target with ",(0,l.mdx)("inlineCode",{parentName:"p"},"ValidationInfo")," provider is a transitive dependency of a requested target."),(0,l.mdx)("h4",{id:"type-attribute-10"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ValidationInfo"')),(0,l.mdx)("h4",{id:"details-10"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"validations: list[ValidationSpec]")," - List of ",(0,l.mdx)("inlineCode",{parentName:"li"},"ValidationSpec")," values each representing a single validation.")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"validationspec"},"ValidationSpec"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ValidationSpec(\n *,\n name: str,\n validation_result: artifact,\n optional: bool = False\n) -> ValidationSpec\n")),(0,l.mdx)("h4",{id:"type-attribute-11"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"ValidationSpec"')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"workerinfo"},"WorkerInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def WorkerInfo(exe = [], *, concurrency: None | int = None) -> WorkerInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a rule is a worker tool"),(0,l.mdx)("h4",{id:"type-attribute-12"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"WorkerInfo"')),(0,l.mdx)("h4",{id:"details-11"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"exe: cmd_args")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"concurrency: None | int")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"workerruninfo"},"WorkerRunInfo"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def WorkerRunInfo(*, worker: WorkerInfo, exe = []) -> WorkerRunInfo\n")),(0,l.mdx)("p",null,"Provider that signals that a rule can run using a worker"),(0,l.mdx)("h4",{id:"type-attribute-13"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"WorkerRunInfo"')),(0,l.mdx)("h4",{id:"details-12"},"Details"),(0,l.mdx)("p",null,"Provides a number of fields that can be accessed:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"worker: WorkerInfo")," - field")),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("p",{parentName:"li"},(0,l.mdx)("inlineCode",{parentName:"p"},"exe: cmd_args")," - field"))),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"anon_rule"},"anon","_","rule"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def anon_rule(\n *,\n impl: typing.Callable[[typing.Any], list[typing.Any]],\n attrs: dict[str, attribute],\n doc: str = "",\n artifact_promise_mappings: dict[str, typing.Callable[[typing.Any], list[typing.Any]]]\n) -> "function"\n')),(0,l.mdx)("p",null,"Define an anon rule, similar to how a normal rule is defined, except with an extra ",(0,l.mdx)("inlineCode",{parentName:"p"},"artifact_promise_mappings")," field. This is a dict where the keys are the string name of the artifact, and the values are the callable functions that produce the artifact. This is only intended to be used with anon targets."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"attrs"},"attrs"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"attrs: attrs\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxl"},"bxl"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'bxl: struct(ActionQueryNode = type, Actions = type, AnalysisResult = type, AqueryContext = type, AuditContext = type, BuildResult = type, CliArgs = type, ConfiguredTargetNode = type, ConfiguredTargetSet = type, Context = type, CqueryContext = type, EnsuredArtifact = type, FileNode = type, Filesystem = type, LazyResolvedAttrs = type, OutputStream = type, TargetUniverse = type, UnconfiguredTargetNode = type, UnconfiguredTargetSet = type, UqueryContext = type, cli_args = struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function"), ctarget_set = "function", fail_no_stacktrace = "function", file_set = "function", get_path_without_materialization = "function", get_paths_without_materialization = "function", now = "function", utarget_set = "function")\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"bxl_main"},"bxl","_","main"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def bxl_main(\n *,\n impl: typing.Callable,\n cli_args: dict[str, bxl.CliArgs],\n doc: str = ""\n)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"cli_args"},"cli","_","args"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'cli_args: struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function")\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"cmd_args"},"cmd","_","args"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def cmd_args(\n *args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,\n hidden: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _,\n delimiter: str = _,\n format: str = _,\n prepend: str = _,\n quote: str = _,\n ignore_artifacts: bool = False,\n absolute_prefix: str = _,\n absolute_suffix: str = _,\n parent: int = 0,\n relative_to: artifact | cell_root | project_root | (artifact | cell_root | project_root, int) = _,\n replace_regex: list[(buck_regex | str, str)] | (buck_regex | str, str) = _\n) -> cmd_args\n")),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args")," type is created by this function and is consumed by ",(0,l.mdx)("inlineCode",{parentName:"p"},"ctx.actions.run"),". The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, ",(0,l.mdx)("inlineCode",{parentName:"p"},"RunInfo")," and lists thereof can be added to or used to construct a ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args")," value."),(0,l.mdx)("h4",{id:"type-attribute-14"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"cmd_args"')),(0,l.mdx)("h4",{id:"details-13"},"Details"),(0,l.mdx)("p",null,"The arguments are:"),(0,l.mdx)("ul",null,(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"*args")," - a list of things to add to the command line, each of which must be coercible to a command line. Further items can be added with ",(0,l.mdx)("inlineCode",{parentName:"li"},"cmd.add"),"."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"format")," - a string that provides a format to apply to the argument. for example, ",(0,l.mdx)("inlineCode",{parentName:"li"},'cmd_args(x, format="--args={}")')," would prepend ",(0,l.mdx)("inlineCode",{parentName:"li"},"--args=")," before ",(0,l.mdx)("inlineCode",{parentName:"li"},"x"),", or if ",(0,l.mdx)("inlineCode",{parentName:"li"},"x")," was a list, before each element in ",(0,l.mdx)("inlineCode",{parentName:"li"},"x"),"."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"delimiter")," - added between arguments to join them together. For example, ",(0,l.mdx)("inlineCode",{parentName:"li"},'cmd_args(["--args=",x], delimiter="")')," would produce a single argument to the underlying tool."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"prepend")," - added as a separate argument before each argument."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"quote")," - indicates whether quoting is to be applied to each argument. The only current valid value is ",(0,l.mdx)("inlineCode",{parentName:"li"},'"shell"'),"."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"ignore_artifacts")," - if ",(0,l.mdx)("inlineCode",{parentName:"li"},"True"),", artifacts paths are used, but artifacts are not pulled."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"hidden")," - artifacts not present on the command line, but added as dependencies."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"absolute_prefix")," and ",(0,l.mdx)("inlineCode",{parentName:"li"},"absolute_suffix")," - added to the start and end of each artifact."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"parent")," - for all the artifacts use their ",(0,l.mdx)("inlineCode",{parentName:"li"},"parent"),"th directory (e.g. ",(0,l.mdx)("inlineCode",{parentName:"li"},"parent = 1")," for the directory the artifact is located, ",(0,l.mdx)("inlineCode",{parentName:"li"},"parent = 2")," for that directory's parent, etc.)."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"relative_to")," - make all artifact paths relative to a given location."),(0,l.mdx)("li",{parentName:"ul"},(0,l.mdx)("inlineCode",{parentName:"li"},"replace_regex")," - replaces arguments with a regular expression.")),(0,l.mdx)("h2",{id:"ignore_artifacts"},(0,l.mdx)("inlineCode",{parentName:"h2"},"ignore_artifacts")),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"ignore_artifacts=True")," makes ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args")," to have no declared dependencies.\nAllows you to reference the path of an artifact ",(0,l.mdx)("em",{parentName:"p"},"without")," introducing dependencies on it."),(0,l.mdx)("p",null,"As an example where this can be useful, consider passing a dependency that is only accessed at runtime, but whose path\nmust be baked into the binary. As an example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'resources = cmd_args(resource_file, format = "-DFOO={}").ignore_artifacts()\nctx.actions.run(cmd_args("gcc", "-c", source_file, resources))\n')),(0,l.mdx)("p",null,"Note that ",(0,l.mdx)("inlineCode",{parentName:"p"},"ignore_artifacts")," sets all artifacts referenced by this ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args")," to be ignored, including those added afterwards,\nso generally create a special ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args")," and scope it quite tightly."),(0,l.mdx)("p",null,"If you actually do use the inputs referenced by this command,\nyou will either error out due to missing dependencies (if running actions remotely)\nor have untracked dependencies that will fail to rebuild when it should."),(0,l.mdx)("h2",{id:"hidden"},(0,l.mdx)("inlineCode",{parentName:"h2"},"hidden")),(0,l.mdx)("p",null,"Things to add to the command line which do not show up but are added as dependencies.\nThe values can be anything normally permissible to pass to ",(0,l.mdx)("inlineCode",{parentName:"p"},"add"),"."),(0,l.mdx)("p",null,"Typically used if the command you are running implicitly depends on files that are not\npassed on the command line, e.g. headers in the case of a C compilation."),(0,l.mdx)("h2",{id:"absolute_prefix-and-absolute_suffix"},(0,l.mdx)("inlineCode",{parentName:"h2"},"absolute_prefix")," and ",(0,l.mdx)("inlineCode",{parentName:"h2"},"absolute_suffix")),(0,l.mdx)("p",null,"Adds a prefix to the start or end of every artifact."),(0,l.mdx)("p",null,"Prefix is often used if you have a ",(0,l.mdx)("inlineCode",{parentName:"p"},"$ROOT")," variable\nin a shell script and want to use it to make files absolute."),(0,l.mdx)("p",null,"Suffix is often used in conjunction with ",(0,l.mdx)("inlineCode",{parentName:"p"},"absolute_prefix"),"\nto wrap artifacts in function calls."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'cmd_args(script, absolute_prefix = "$ROOT/")\ncmd_args(script, absolute_prefix = "call", absolute_suffix = ")")\n')),(0,l.mdx)("h1",{id:"parent"},"`parent"),(0,l.mdx)("p",null,"`\nFor all the artifacts use their parent directory."),(0,l.mdx)("p",null,"Typically used when the file name is passed one way, and the directory another,\ne.g. ",(0,l.mdx)("inlineCode",{parentName:"p"},'cmd_args(artifact, format="-L{}", parent=1)'),"."),(0,l.mdx)("h1",{id:"relative_todir-or-relative_todir-parent"},(0,l.mdx)("inlineCode",{parentName:"h1"},"relative_to=dir")," or ",(0,l.mdx)("inlineCode",{parentName:"h1"},"relative_to=(dir, parent)")),(0,l.mdx)("p",null,"Make all artifact paths relative to a given location. Typically used when the command\nyou are running changes directory."),(0,l.mdx)("p",null,"By default, the paths are relative to the artifacts themselves (equivalent to\nparent equals to ",(0,l.mdx)("inlineCode",{parentName:"p"},"0"),"). Use ",(0,l.mdx)("inlineCode",{parentName:"p"},"parent")," to make the paths relative to an ancestor directory.\nFor example parent equals to ",(0,l.mdx)("inlineCode",{parentName:"p"},"1")," would make all paths relative to the containing dirs\nof any artifacts in the ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args"),"."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'dir = symlinked_dir(...)\nscript = [\n cmd_args(dir, format = "cd {}", relative_to=dir),\n]\n')),(0,l.mdx)("h1",{id:"replace_regex"},(0,l.mdx)("inlineCode",{parentName:"h1"},"replace_regex")),(0,l.mdx)("p",null,"Replaces all parts matching pattern regular expression (or regular expressions)\nin each argument with replacement strings."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"ctarget_set"},"ctarget","_","set"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def ctarget_set(nodes: list[bxl.ConfiguredTargetNode] = _) -> target_set\n")),(0,l.mdx)("p",null,"Creates a target set from a list of configured nodes."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_ctarget_set(ctx):\n targets = bxl.ctarget_set([cnode_a, cnode_b])\n ctx.output.print(type(targets))\n ctx.output.print(len(targets))\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dedupe"},"dedupe"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def dedupe(val, /)\n")),(0,l.mdx)("p",null,"Remove duplicates in a list. Uses identity of value (pointer), rather than by equality. In many cases you should use a transitive set instead."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"dynamic_actions"},"dynamic","_","actions"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def dynamic_actions(\n *,\n impl: typing.Callable["actions: actions, artifacts: dict[artifact, artifact_value], outputs: dict[artifact, artifact], arg: typing.Any", None]\n) -> DynamicActionCallable\n')),(0,l.mdx)("p",null,"Create new dynamic action callable. Returned object will be callable, and the result of calling it can be passed to ",(0,l.mdx)("inlineCode",{parentName:"p"},"ctx.actions.dynamic_output_new"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"fail_no_stacktrace"},"fail","_","no","_","stacktrace"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def fail_no_stacktrace(*args) -> None\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"file_set"},"file","_","set"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def file_set() -> file_set\n")),(0,l.mdx)("p",null,"Creates an empty file set for configured nodes."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_file_set(ctx):\n files = file_set()\n ctx.output.print(type(files))\n ctx.output.print(len(files))\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"get_base_path"},"get","_","base","_","path"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def get_base_path() -> str\n")),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"get_base_path()")," can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo//bar/baz/BUCK")," the output will be ",(0,l.mdx)("inlineCode",{parentName:"p"},"bar/baz"),". E.g. inside ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo//bar/PACKAGE")," the output will be ",(0,l.mdx)("inlineCode",{parentName:"p"},"bar"),"."),(0,l.mdx)("p",null,"This function is identical to ",(0,l.mdx)("inlineCode",{parentName:"p"},"package_name"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"get_cell_name"},"get","_","cell","_","name"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def get_cell_name() -> str\n")),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"get_cell_name()")," can be called from either a ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file or a ",(0,l.mdx)("inlineCode",{parentName:"p"},".bzl")," file, and returns the name of the cell where the ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file that started the call lives."),(0,l.mdx)("p",null,"For example, inside ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo//bar/baz/BUCK")," the output will be ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo"),".\nIf that ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file does a ",(0,l.mdx)("inlineCode",{parentName:"p"},'load("hello//world.bzl", "something")')," then\nthe result in that ",(0,l.mdx)("inlineCode",{parentName:"p"},".bzl")," file will also be ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"get_path_without_materialization"},"get","_","path","_","without","_","materialization"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def get_path_without_materialization(\n this: artifact,\n ctx: bxl.Context,\n /,\n *,\n abs: bool = False\n) -> str\n")),(0,l.mdx)("p",null,"The output path of an artifact-like (source, build, declared). Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized (i.e. it may not actually exist on the disk yet)."),(0,l.mdx)("p",null,"This is a risky function to call because you may accidentally pass this path to further BXL actions\nthat expect the artifact to be materialized. If this happens, the BXL script will error out.\nIf you want the path without materialization for other uses that don\u2019t involve passing them into\nfurther actions, then it\u2019s safe."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_get_path_without_materialization(ctx):\n owner = ctx.cquery().owner("cell//path/to/file")[0]\n artifact = owner.get_source("cell//path/to/file", ctx)\n source_artifact_project_rel_path = get_path_without_materialization(artifact, ctx)\n ctx.output.print(source_artifact_project_rel_path) # Note this artifact is NOT ensured or materialized\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"get_paths_without_materialization"},"get","_","paths","_","without","_","materialization"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def get_paths_without_materialization(\n cmd_line: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo,\n ctx: bxl.Context,\n /,\n *,\n abs: bool = False\n)\n")),(0,l.mdx)("p",null,"The output paths of a ",(0,l.mdx)("inlineCode",{parentName:"p"},"cmd_args()")," inputs. The output paths will be returned as a list. Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized, (i.e. it may not actually exist on the disk yet)."),(0,l.mdx)("p",null,"This is a risky function to call because you may accidentally pass this path to further BXL actions\nthat expect the artifact to be materialized. If this happens, the BXL script will error out.\nIf you want the path without materialization for other uses that don\u2019t involve passing them into\nfurther actions, then it\u2019s safe."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_get_paths_without_materialization(ctx):\n node = ctx.configured_targets("root//bin:the_binary")\n providers = ctx.analysis(node).providers()\n path = get_paths_without_materialization(providers[RunInfo], abs=True) # Note this artifact is NOT ensured or materialized\n ctx.output.print(path)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"glob"},"glob"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def glob(\n include: list[str] | tuple[str, ...],\n *,\n exclude: list[str] | tuple[str, ...] = []\n) -> list[str]\n")),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"glob()")," function specifies a set of files using patterns. Only available from ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," files."),(0,l.mdx)("p",null,"A typical ",(0,l.mdx)("inlineCode",{parentName:"p"},"glob")," call looks like:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'glob(["foo/**/*.h"])\n')),(0,l.mdx)("p",null,"This call will match all header files in the ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo")," directory, recursively."),(0,l.mdx)("p",null,"You can also pass a named ",(0,l.mdx)("inlineCode",{parentName:"p"},"exclude")," parameter to remove files matching a pattern:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'glob(["foo/**/*.h"], exclude = ["**/config.h"])\n')),(0,l.mdx)("p",null,"This call will remove all ",(0,l.mdx)("inlineCode",{parentName:"p"},"config.h")," files from the initial match."),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"glob()")," call is evaluated against the list of files owned by this ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file.\nA file is owned by whichever ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file is closest above it - so given ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/BUCK")," and\n",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/bar/BUCK")," the file ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/file.txt")," would be owned by ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/BUCK")," (and available from\nits ",(0,l.mdx)("inlineCode",{parentName:"p"},"glob")," results) but the file ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/bar/file.txt")," would be owned by ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/bar/BUCk"),"\nand ",(0,l.mdx)("em",{parentName:"p"},"not")," appear in the glob result of ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo/BUCK"),", even if you write ",(0,l.mdx)("inlineCode",{parentName:"p"},'glob(["bar/file.txt"])'),".\nAs a consequence of this rule, ",(0,l.mdx)("inlineCode",{parentName:"p"},'glob(["../foo.txt"])')," will always return an empty list of files."),(0,l.mdx)("p",null,"Currently ",(0,l.mdx)("inlineCode",{parentName:"p"},"glob")," is evaluated case-insensitively on all file systems, but we expect\nthat to change to case sensitive in the near future."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"host_info"},"host","_","info"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def host_info() -> struct(..)\n")),(0,l.mdx)("p",null,"The ",(0,l.mdx)("inlineCode",{parentName:"p"},"host_info()")," function is used to get the current OS and processor architecture on the host. The structure returned is laid out thusly:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"struct(\n os=struct(\n is_linux=True|False,\n is_macos=True|False,\n is_windows=True|False,\n is_freebsd=True|False,\n is_unknown=True|False,\n ),\n arch=struct(\n is_aarch64=True|False,\n is_arm=True|False,\n is_armeb=True|False,\n is_i386=True|False,\n is_mips=True|False,\n is_mips64=True|False,\n is_mipsel=True|False,\n is_mipsel64=True|False,\n is_powerpc=True|False,\n is_ppc64=True|False,\n is_x86_64=True|False,\n is_unknown=True|False,\n ),\n)\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"implicit_package_symbol"},"implicit","_","package","_","symbol"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def implicit_package_symbol(name: str, default = _)\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"load_symbols"},"load","_","symbols"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def load_symbols(symbols: dict[str, typing.Any]) -> None\n")),(0,l.mdx)("p",null,"Used in a ",(0,l.mdx)("inlineCode",{parentName:"p"},".bzl")," file to set exported symbols. In most cases just defining the symbol as a top-level binding is sufficient, but sometimes the names might be programatically generated."),(0,l.mdx)("p",null,"It is undefined behaviour if you try and use any of the symbols exported\nhere later in the same module, or if they overlap with existing definitions.\nThis function should be used rarely."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"now"},"now"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def now() -> instant\n")),(0,l.mdx)("p",null,"Creates an Instant at the current time."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_elapsed_millis(ctx):\n instant = now()\n time_a = instant.elapsed_millis()\n # do something that takes a long time\n time_b = instant.elapsed_millis()\n\n ctx.output.print(time_a)\n ctx.output.print(time_b)\n")),(0,l.mdx)("p",null,"This function is only accessible through Bxl."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"oncall"},"oncall"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def oncall(name: str, /) -> None\n")),(0,l.mdx)("p",null,"Called in a ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file to declare the oncall contact details for all the targets defined. Must be called at most once, before any targets have been declared. Errors if called from a ",(0,l.mdx)("inlineCode",{parentName:"p"},".bzl")," file."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"package"},"package"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def package(\n *,\n inherit: bool = False,\n visibility: list[str] | tuple[str, ...] = [],\n within_view: list[str] | tuple[str, ...] = []\n) -> None\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"package_name"},"package","_","name"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def package_name() -> str\n")),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"package_name()")," can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo//bar/baz/BUCK")," the output will be ",(0,l.mdx)("inlineCode",{parentName:"p"},"bar/baz"),". E.g. inside ",(0,l.mdx)("inlineCode",{parentName:"p"},"foo//bar/PACKAGE")," the output will be ",(0,l.mdx)("inlineCode",{parentName:"p"},"bar"),"."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"plugins"},"plugins"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"plugins: plugins\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"provider-1"},"provider"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def provider(\n *,\n doc: str = "",\n fields: list[str] | tuple[str, ...] | dict[str, typing.Any]\n) -> provider_callable\n')),(0,l.mdx)("p",null,"Create a ",(0,l.mdx)("inlineCode",{parentName:"p"},'"provider"')," type that can be returned from ",(0,l.mdx)("inlineCode",{parentName:"p"},"rule")," implementations. Used to pass information from a rule to the things that depend on it. Typically named with an ",(0,l.mdx)("inlineCode",{parentName:"p"},"Info")," suffix."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'GroovyLibraryInfo(fields = [\n "objects", # a list of artifacts\n "options", # a string containing compiler options\n])\n')),(0,l.mdx)("p",null,"Given a dependency you can obtain the provider with ",(0,l.mdx)("inlineCode",{parentName:"p"},"my_dep[GroovyLibraryInfo]"),"\nwhich returns either ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," or a value of type ",(0,l.mdx)("inlineCode",{parentName:"p"},"GroovyLibraryInfo"),"."),(0,l.mdx)("p",null,"For providers that accumulate upwards a transitive set is often a good choice."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"provider_field"},"provider","_","field"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def provider_field(\n ty,\n /,\n *,\n default = _\n) -> ProviderField\n")),(0,l.mdx)("p",null,"Create a field definition object which can be passed to ",(0,l.mdx)("inlineCode",{parentName:"p"},"provider")," type constructor."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"read_config"},"read","_","config"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_config(section: str, key: str, default = _)\n")),(0,l.mdx)("p",null,"Read a configuration from the nearest enclosing ",(0,l.mdx)("inlineCode",{parentName:"p"},".buckconfig")," of the ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file that started evaluation of this code."),(0,l.mdx)("p",null,"As an example, if you have a ",(0,l.mdx)("inlineCode",{parentName:"p"},".buckconfig")," of:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-toml"},"[package_options]\ncompile = super_fast\n")),(0,l.mdx)("p",null,"Then you would get the following results:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'read_config("package_options", "compile") == "super_fast"\nread_config("package_options", "linker") == None\nread_config("package_options", "linker", "a_default") == "a_default"\n')),(0,l.mdx)("p",null,"In general the use of ",(0,l.mdx)("inlineCode",{parentName:"p"},".buckconfig")," is discouraged in favour of ",(0,l.mdx)("inlineCode",{parentName:"p"},"select"),",\nbut it can still be useful."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"read_oncall"},"read","_","oncall"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_oncall() -> None | str\n")),(0,l.mdx)("p",null,"Called in a ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file to retrieve the previously set ",(0,l.mdx)("inlineCode",{parentName:"p"},"oncall"),", or ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," if none has been set. It is an error to call ",(0,l.mdx)("inlineCode",{parentName:"p"},"oncall")," after calling this function."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"read_package_value"},"read","_","package","_","value"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_package_value(key: str, /)\n")),(0,l.mdx)("p",null,"Read value specified in the ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file."),(0,l.mdx)("p",null,"Returns ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," if value is not set."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"read_parent_package_value"},"read","_","parent","_","package","_","value"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_parent_package_value(key: str, /)\n")),(0,l.mdx)("p",null,"Read a package value defined in a parent ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file."),(0,l.mdx)("p",null,"This function can only be called in a Package context."),(0,l.mdx)("p",null,"Returns ",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," if value is not set."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"read_root_config"},"read","_","root","_","config"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_root_config(\n section: str,\n key: str,\n default: None | str = None,\n /\n) -> None | str\n")),(0,l.mdx)("p",null,"Like ",(0,l.mdx)("inlineCode",{parentName:"p"},"read_config")," but the project root ",(0,l.mdx)("inlineCode",{parentName:"p"},".buckconfig")," is always consulted, regardless of the cell of the originating ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"regex"},"regex"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def regex(\n regex: str,\n /,\n *,\n fancy: bool = False\n) -> buck_regex\n")),(0,l.mdx)("h4",{id:"type-attribute-15"},(0,l.mdx)("inlineCode",{parentName:"h4"},".type")," attribute"),(0,l.mdx)("p",null,"Produces ",(0,l.mdx)("inlineCode",{parentName:"p"},'"buck_regex"')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"regex_match"},"regex","_","match"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def regex_match(regex: str, str: str, /) -> bool\n")),(0,l.mdx)("p",null,"Test if a regular expression matches a string. Fails if the regular expression is malformed."),(0,l.mdx)("p",null,"As an example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'regex_match("^[a-z]*$", "hello") == True\nregex_match("^[a-z]*$", "1234") == False\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"repository_name"},"repository","_","name"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def repository_name() -> str\n")),(0,l.mdx)("p",null,"Like ",(0,l.mdx)("inlineCode",{parentName:"p"},"get_cell_name()")," but prepends a leading ",(0,l.mdx)("inlineCode",{parentName:"p"},"@")," for compatibility with Buck1. You should call ",(0,l.mdx)("inlineCode",{parentName:"p"},"get_cell_name()")," instead, and if you really want the ",(0,l.mdx)("inlineCode",{parentName:"p"},"@"),", prepend it yourself."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"rule"},"rule"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def rule(\n *,\n impl: typing.Callable[[typing.Any], list[typing.Any]],\n attrs: dict[str, attribute],\n cfg = _,\n doc: str = "",\n is_configuration_rule: bool = False,\n is_toolchain_rule: bool = False,\n uses_plugins: list[typing.Any] | tuple = []\n) -> "function"\n')),(0,l.mdx)("p",null,"Define a rule. As a simple example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def _my_rule(ctx: AnalysisContext) -> list[Provider]:\n output = ctx.actions.write("hello.txt", ctx.attrs.contents, executable = ctx.attrs.exe)\n return [DefaultInfo(outputs = [output])]\n\nMyRule = rule(impl = _my_rule, attrs = {\n "contents": attrs.string(),\n "exe": attrs.option(attrs.bool(), default = False),\n})\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"rule_exists"},"rule","_","exists"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def rule_exists(name: str) -> bool\n")),(0,l.mdx)("p",null,"Check if the target with ",(0,l.mdx)("inlineCode",{parentName:"p"},"name")," has already been defined, returns ",(0,l.mdx)("inlineCode",{parentName:"p"},"True")," if it has."),(0,l.mdx)("p",null,"Note that this function checks for the existence of a ",(0,l.mdx)("em",{parentName:"p"},"target")," rather than a ",(0,l.mdx)("em",{parentName:"p"},"rule"),".\nIn general use of this function is discouraged, as it makes definitions of rules not compose."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"select-1"},"select"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def select(d, /) -> selector\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"select_equal_internal"},"select","_","equal","_","internal"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def select_equal_internal(left, right, /) -> bool\n")),(0,l.mdx)("p",null,"Tests that two selects are equal to each other. For testing use only. We simply compare their string representations."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"select_map"},"select","_","map"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def select_map(d, func, /)\n")),(0,l.mdx)("p",null,"Maps a selector."),(0,l.mdx)("p",null,"Each value within a selector map and on each side of an addition will be passed to the\nmapping function. The returned selector will have the same structure as this one."),(0,l.mdx)("p",null,"Ex:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-starlark"},'def increment_items(a):\n return [v + 1 for v in a]\n\nselect_map([1, 2] + select({"c": [2]}), increment_items) == [2, 3] + select({"c": [3]})\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"select_test"},"select","_","test"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def select_test(d, func, /) -> bool\n")),(0,l.mdx)("p",null,"Test values in the select expression using the given function."),(0,l.mdx)("p",null,"Returns True, if any value in the select passes, else False."),(0,l.mdx)("p",null,"Ex:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-starlark"},'select_test([1] + select({"c": [1]}), lambda a: len(a) > 1) == False\nselect_test([1, 2] + select({"c": [1]}), lambda a: len(a) > 1) == True\nselect_test([1] + select({"c": [1, 2]}), lambda a: len(a) > 1) == True\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"set_cfg_constructor"},"set","_","cfg","_","constructor"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def set_cfg_constructor(\n *,\n stage0,\n stage1,\n key: str,\n aliases = None\n) -> None\n")),(0,l.mdx)("p",null,"Register global cfg constructor."),(0,l.mdx)("p",null,"This function can only be called from the repository root ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file."),(0,l.mdx)("p",null,"Parameters:\nstage0: The first cfg constructor that will be invoked before configuration rules are analyzed.\nstage1: The second cfg constructor that will be invoked after configuration rules are analyzed.\nkey: The key for cfg modifiers on PACKAGE values and metadata."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"set_starlark_peak_allocated_byte_limit"},"set","_","starlark","_","peak","_","allocated","_","byte","_","limit"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def set_starlark_peak_allocated_byte_limit(value: int, /) -> None\n")),(0,l.mdx)("p",null,"Set the peak allocated bytes during evaluation of build ctx. Err if it has already been set"),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"sha256"},"sha256"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def sha256(val: str, /) -> str\n")),(0,l.mdx)("p",null,"Computes a sha256 digest for a string. Returns the hex representation of the digest."),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'sha256("Buck2 is the best build system") == "bb99a3f19ecba6c4d2c7cd321b63b669684c713881baae21a6b1d759b3ec6ac9"\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"soft_error"},"soft","_","error"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def soft_error(\n category: str,\n message: str,\n /,\n *,\n quiet: bool = _,\n stack: bool = _\n) -> None\n")),(0,l.mdx)("p",null,"Produce an error that will become a hard error at some point in the future, but for now is a warning which is logged to the server. In the open source version of Buck2 this function always results in an error."),(0,l.mdx)("p",null,"Called passing a stable key (must be ",(0,l.mdx)("inlineCode",{parentName:"p"},"snake_case")," and start with ",(0,l.mdx)("inlineCode",{parentName:"p"},"starlark_"),",\nused for consistent reporting) and an arbitrary message (used for debugging)."),(0,l.mdx)("p",null,"As an example:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'soft_error(\n "starlark_rule_is_too_long",\n "Length of property exceeds 100 characters in " + repr(ctx.label),\n)\n')),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transition"},"transition"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def transition(\n *,\n impl: typing.Callable,\n refs: dict[str, str],\n attrs: list[str] | tuple[str, ...] = _,\n split: bool = False\n) -> transition\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"transitive_set"},"transitive","_","set"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def transitive_set(\n *,\n args_projections: dict[str, typing.Any] = _,\n json_projections: dict[str, typing.Any] = _,\n reductions: dict[str, typing.Any] = _\n) -> transitive_set_definition\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"utarget_set"},"utarget","_","set"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def utarget_set(nodes: list[bxl.UnconfiguredTargetNode] = _) -> target_set\n")),(0,l.mdx)("p",null,"Creates a target set from a list of unconfigured nodes."),(0,l.mdx)("p",null,"Sample usage:"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl_utarget_set(ctx):\n targets = bxl.utarget_set([unode_a, unode_b])\n ctx.output.print(type(targets))\n ctx.output.print(len(targets))\n")),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"warning"},"warning"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def warning(x: str, /) -> None\n")),(0,l.mdx)("p",null,"Print a warning. The line will be decorated with the timestamp and other details, including the word ",(0,l.mdx)("inlineCode",{parentName:"p"},"WARN")," (colored, if the console supports it)."),(0,l.mdx)("p",null,"If you are not writing a warning, use ",(0,l.mdx)("inlineCode",{parentName:"p"},"print")," instead. Be aware that printing\nlots of output (warnings or not) can be cause all information to be ignored by the user."),(0,l.mdx)("hr",null),(0,l.mdx)("h2",{id:"write_package_value"},"write","_","package","_","value"),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def write_package_value(\n key: str,\n value,\n /,\n *,\n overwrite: bool = False\n) -> None\n")),(0,l.mdx)("p",null,"Set the value to be accessible in the nested ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files."),(0,l.mdx)("p",null,"If any parent ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," value has already set the same ",(0,l.mdx)("inlineCode",{parentName:"p"},"key"),",\nit will raise an error unless you pass ",(0,l.mdx)("inlineCode",{parentName:"p"},"overwrite = True"),",\nin which case it will replace the parent value."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ddd57ee9.637c2c0c.js b/assets/js/ddd57ee9.637c2c0c.js new file mode 100644 index 0000000000000..c99cc6ed7027f --- /dev/null +++ b/assets/js/ddd57ee9.637c2c0c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3343],{3905:(e,r,t)=>{t.r(r),t.d(r,{MDXContext:()=>d,MDXProvider:()=>u,mdx:()=>f,useMDXComponents:()=>c,withMDXComponents:()=>s});var l=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(){return a=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},a.apply(this,arguments)}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);r&&(l=l.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,l)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function p(e,r){if(null==e)return{};var t,l,n=function(e,r){if(null==e)return{};var t,l,n={},a=Object.keys(e);for(l=0;l<a.length;l++)t=a[l],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l<a.length;l++)t=a[l],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var d=l.createContext({}),s=function(e){return function(r){var t=c(r.components);return l.createElement(e,a({},r,{components:t}))}},c=function(e){var r=l.useContext(d),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},u=function(e){var r=c(e.components);return l.createElement(d.Provider,{value:r},e.children)},b="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return l.createElement(l.Fragment,{},r)}},v=l.forwardRef((function(e,r){var t=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),s=c(t),u=n,b=s["".concat(o,".").concat(u)]||s[u]||m[u]||a;return t?l.createElement(b,i(i({ref:r},d),{},{components:t})):l.createElement(b,i({ref:r},d))}));function f(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var a=t.length,o=new Array(a);o[0]=v;var i={};for(var p in r)hasOwnProperty.call(r,p)&&(i[p]=r[p]);i.originalType=e,i[b]="string"==typeof e?e:n,o[1]=i;for(var d=2;d<a;d++)o[d]=t[d];return l.createElement.apply(null,o)}return l.createElement.apply(null,t)}v.displayName="MDXCreateElement"},8132:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>p,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var l=t(87462),n=(t(67294),t(3905));const a={id:"providers_label"},o="providers_label type",i={unversionedId:"api/build/providers_label",id:"api/build/providers_label",title:"providers_label type",description:"providers\\_label.cell",source:"@site/../docs/api/build/providers_label.generated.md",sourceDirName:"api/build",slug:"/api/build/providers_label",permalink:"/docs/api/build/providers_label",draft:!1,tags:[],version:"current",frontMatter:{id:"providers_label"},sidebar:"apiSidebar",previous:{title:"provider_collection type",permalink:"/docs/api/build/provider_collection"},next:{title:"target_label type",permalink:"/docs/api/build/target_label"}},p={},d=[{value:"providers_label.cell",id:"providers_labelcell",level:2},{value:"providers_label.name",id:"providers_labelname",level:2},{value:"providers_label.path",id:"providers_labelpath",level:2},{value:"providers_label.raw_target",id:"providers_labelraw_target",level:2},{value:"providers_label.sub_target",id:"providers_labelsub_target",level:2}],s={toc:d};function c(e){let{components:r,...t}=e;return(0,n.mdx)("wrapper",(0,l.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"providers_label-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"providers_label")," type"),(0,n.mdx)("h2",{id:"providers_labelcell"},"providers","_","label.cell"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"providers_label.cell: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"providers_labelname"},"providers","_","label.name"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"providers_label.name: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"providers_labelpath"},"providers","_","label.path"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"providers_label.path: typing.Any\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"providers_labelraw_target"},"providers","_","label.raw","_","target"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def providers_label.raw_target() -> target_label\n")),(0,n.mdx)("p",null,"Returns the unconfigured underlying target label."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"providers_labelsub_target"},"providers","_","label.sub","_","target"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"providers_label.sub_target: None | list[str]\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/de2c45f3.8902c063.js b/assets/js/de2c45f3.8902c063.js new file mode 100644 index 0000000000000..08c3f026bf372 --- /dev/null +++ b/assets/js/de2c45f3.8902c063.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5483],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>d,mdx:()=>y,useMDXComponents:()=>s,withMDXComponents:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),u=function(e){return function(t){var n=s(t.components);return r.createElement(e,o({},t,{components:n}))}},s=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},m="mdxType",x={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=s(n),d=a,m=u["".concat(l,".").concat(d)]||u[d]||x[d]||o;return n?r.createElement(m,i(i({ref:t},c),{},{components:n})):r.createElement(m,i({ref:t},c))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=f;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[m]="string"==typeof e?e:a,l[1]=i;for(var c=2;c<o;c++)l[c]=n[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},2504:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>s,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const o={id:"context"},l="context type",i={unversionedId:"api/bxl/context",id:"api/bxl/context",title:"context type",description:"The type used for defining rules, usually bound as ctx. Usually the sole argument to the impl argument of the rule function.",source:"@site/../docs/api/bxl/context.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/context",permalink:"/docs/api/bxl/context",draft:!1,tags:[],version:"current",frontMatter:{id:"context"},sidebar:"apiSidebar",previous:{title:"configured_target_label type",permalink:"/docs/api/bxl/configured_target_label"},next:{title:"dependency type",permalink:"/docs/api/bxl/dependency"}},p={},c=[{value:"context.actions",id:"contextactions",level:2},{value:"context.attrs",id:"contextattrs",level:2},{value:"context.label",id:"contextlabel",level:2},{value:"context.plugins",id:"contextplugins",level:2}],u={toc:c};function s(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"context-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"context")," type"),(0,a.mdx)("p",null,"The type used for defining rules, usually bound as ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx"),". Usually the sole argument to the ",(0,a.mdx)("inlineCode",{parentName:"p"},"impl")," argument of the ",(0,a.mdx)("inlineCode",{parentName:"p"},"rule")," function."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},'def _impl_my_rule(ctx: AnalysisContext) -> ["provider"]:\n return [DefaultInfo()]\nmy_rule = rule(impl = _impl_my_rule, attrs = {})\n')),(0,a.mdx)("h2",{id:"contextactions"},"context.actions"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"context.actions: actions\n")),(0,a.mdx)("p",null,"Returns an ",(0,a.mdx)("inlineCode",{parentName:"p"},"actions")," value containing functions to define actual actions that are run. See the ",(0,a.mdx)("inlineCode",{parentName:"p"},"actions")," type for the operations that are available."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"contextattrs"},"context.attrs"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"context.attrs: struct(..)\n")),(0,a.mdx)("p",null,"Returns the attributes of the target as a Starlark struct with a field for each attribute, which varies per rule. As an example, given a rule with the ",(0,a.mdx)("inlineCode",{parentName:"p"},"attrs")," argument of ",(0,a.mdx)("inlineCode",{parentName:"p"},'{"foo": attrs.string()}'),", this field will be a ",(0,a.mdx)("inlineCode",{parentName:"p"},"struct")," containing a field ",(0,a.mdx)("inlineCode",{parentName:"p"},"foo")," of type string."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"contextlabel"},"context.label"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"context.label: None | label\n")),(0,a.mdx)("p",null,"Returns a ",(0,a.mdx)("inlineCode",{parentName:"p"},"label")," representing the target, or ",(0,a.mdx)("inlineCode",{parentName:"p"},"None")," if being invoked from a ",(0,a.mdx)("inlineCode",{parentName:"p"},"dynamic_output")," in Bxl."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"contextplugins"},"context.plugins"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"context.plugins: AnalysisPlugins\n")),(0,a.mdx)("p",null,"An opaque value that can be indexed with a plugin kind to get a list of the available plugin deps of that kind. The rule must set an appropriate value on ",(0,a.mdx)("inlineCode",{parentName:"p"},"uses_plugins")," in its declaration."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/df07bd63.b4afb3a6.js b/assets/js/df07bd63.b4afb3a6.js new file mode 100644 index 0000000000000..740acebfb9460 --- /dev/null +++ b/assets/js/df07bd63.b4afb3a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5627],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>s,MDXProvider:()=>d,mdx:()=>m,useMDXComponents:()=>c,withMDXComponents:()=>p});var l=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e},a.apply(this,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,l)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,l,n=function(e,t){if(null==e)return{};var r,l,n={},a=Object.keys(e);for(l=0;l<a.length;l++)r=a[l],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l<a.length;l++)r=a[l],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=l.createContext({}),p=function(e){return function(t){var r=c(t.components);return l.createElement(e,a({},t,{components:r}))}},c=function(e){var t=l.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):u(u({},t),e)),r},d=function(e){var t=c(e.components);return l.createElement(s.Provider,{value:t},e.children)},b="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},x=l.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,i=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),p=c(r),d=n,b=p["".concat(i,".").concat(d)]||p[d]||f[d]||a;return r?l.createElement(b,u(u({ref:t},s),{},{components:r})):l.createElement(b,u({ref:t},s))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=x;var u={};for(var o in t)hasOwnProperty.call(t,o)&&(u[o]=t[o]);u.originalType=e,u[b]="string"==typeof e?e:n,i[1]=u;for(var s=2;s<a;s++)i[s]=r[s];return l.createElement.apply(null,i)}return l.createElement.apply(null,r)}x.displayName="MDXCreateElement"},52110:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>a,metadata:()=>u,toc:()=>s});var l=r(87462),n=(r(67294),r(3905));const a={id:"bxl.BuildResult"},i="bxl.BuildResult type",u={unversionedId:"api/bxl/bxl.BuildResult",id:"api/bxl/bxl.BuildResult",title:"bxl.BuildResult type",description:"The result of building in bxl.",source:"@site/../docs/api/bxl/bxl.BuildResult.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/bxl.BuildResult",permalink:"/docs/api/bxl/bxl.BuildResult",draft:!1,tags:[],version:"current",frontMatter:{id:"bxl.BuildResult"},sidebar:"apiSidebar",previous:{title:"bxl.AuditContext type",permalink:"/docs/api/bxl/bxl.AuditContext"},next:{title:"bxl.ConfiguredTargetNode type",permalink:"/docs/api/bxl/bxl.ConfiguredTargetNode"}},o={},s=[{value:"bxl.BuildResult.artifacts",id:"bxlbuildresultartifacts",level:2},{value:"bxl.BuildResult.failures",id:"bxlbuildresultfailures",level:2}],p={toc:s};function c(e){let{components:t,...r}=e;return(0,n.mdx)("wrapper",(0,l.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"bxlbuildresult-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"bxl.BuildResult")," type"),(0,n.mdx)("p",null,"The result of building in bxl."),(0,n.mdx)("h2",{id:"bxlbuildresultartifacts"},"bxl.BuildResult.artifacts"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.BuildResult.artifacts() -> None | bxl_built_artifacts_iterable\n")),(0,n.mdx)("p",null,"Returns an optional iterable of artifacts that was successfully built."),(0,n.mdx)("p",null,"Sample usage:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl(ctx):\n outputs = {}\n for target, value in ctx.build(ctx.cli_args.target).items():\n ctx.output.print(value.artifacts())\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"bxlbuildresultfailures"},"bxl.BuildResult.failures"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def bxl.BuildResult.failures() -> None | bxl_failed_artifacts_iterable\n")),(0,n.mdx)("p",null,"Returns an optional of iterable of artifacts that failed to be built."),(0,n.mdx)("p",null,"Sample usage:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-text"},"def _impl(ctx):\n outputs = {}\n for target, value in ctx.build(ctx.cli_args.target).items():\n ctx.output.print(value.failures())\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e111f111.1d512b1d.js b/assets/js/e111f111.1d512b1d.js new file mode 100644 index 0000000000000..171dbe6f7612d --- /dev/null +++ b/assets/js/e111f111.1d512b1d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7836],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>c,MDXProvider:()=>m,mdx:()=>h,useMDXComponents:()=>p,withMDXComponents:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),u=function(e){return function(t){var r=p(t.components);return n.createElement(e,o({},t,{components:r}))}},p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},m=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},f="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(r),m=a,f=u["".concat(i,".").concat(m)]||u[m]||d[m]||o;return r?n.createElement(f,l(l({ref:t},c),{},{components:r})):n.createElement(f,l({ref:t},c))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=b;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[f]="string"==typeof e?e:a,i[1]=l;for(var c=2;c<o;c++)i[c]=r[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}b.displayName="MDXCreateElement"},86393:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={},i="APIs",l={unversionedId:"api",id:"api",title:"APIs",description:"A lot of Buck2 is driven by Starlark APIs. While there is a",source:"@site/../docs/api.md",sourceDirName:".",slug:"/api",permalink:"/docs/api",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"apiSidebar",next:{title:"Rules",permalink:"/docs/prelude/globals"}},s={},c=[],u={toc:c};function p(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"apis"},"APIs"),(0,a.mdx)("p",null,"A lot of Buck2 is driven by Starlark APIs. While there is a\n",(0,a.mdx)("a",{parentName:"p",href:"https://github.com/bazelbuild/starlark/blob/master/spec.md"},"Starlark specification"),",\nfor most purposes it can be considered a subset of Python. There are three main\nplaces you can write Starlark in Buck2:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"In ",(0,a.mdx)("inlineCode",{parentName:"li"},"BUCK")," files, where you can define the rules. The most interesting\nfunctions are ",(0,a.mdx)("a",{parentName:"li",href:"../prelude/globals"},"the rules themselves"),", but you will often\nuse the ",(0,a.mdx)("a",{parentName:"li",href:"starlark/globals"},"builtin Starlark functions")," (most of which are the\nsame as in Python), and a few of the ",(0,a.mdx)("a",{parentName:"li",href:"build/globals"},"build functions")," (e.g.\n",(0,a.mdx)("inlineCode",{parentName:"li"},"glob"),")."),(0,a.mdx)("li",{parentName:"ul"},"In rule definitions, where you can use the same Starlark standard functions,\nbut will heavily be using the ",(0,a.mdx)("a",{parentName:"li",href:"build/globals"},"build functions")," (e.g. ",(0,a.mdx)("inlineCode",{parentName:"li"},"rule"),"\nand ",(0,a.mdx)("inlineCode",{parentName:"li"},"attrs"),")."),(0,a.mdx)("li",{parentName:"ul"},"In ",(0,a.mdx)("a",{parentName:"li",href:"../developers/bxl"},"BXL"),", where the ",(0,a.mdx)("a",{parentName:"li",href:"bxl/bxl.Context"},"context type")," is one\nof the more important ones.")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e27b0923.fdee2313.js b/assets/js/e27b0923.fdee2313.js new file mode 100644 index 0000000000000..ec69847c8b976 --- /dev/null +++ b/assets/js/e27b0923.fdee2313.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8312],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>f,useMDXComponents:()=>u,withMDXComponents:()=>d});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},i.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),d=function(e){return function(t){var n=u(t.components);return a.createElement(e,i({},t,{components:n}))}},u=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=u(e.components);return a.createElement(c.Provider,{value:t},e.children)},h="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(n),p=r,h=d["".concat(o,".").concat(p)]||d[p]||m[p]||i;return n?a.createElement(h,s(s({ref:t},c),{},{components:n})):a.createElement(h,s({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=g;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[h]="string"==typeof e?e:r,o[1]=s;for(var c=2;c<i;c++)o[c]=n[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}g.displayName="MDXCreateElement"},596:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const i={},o="Buck Extension Language (BXL)",s={unversionedId:"rfcs/bxl",id:"rfcs/bxl",title:"Buck Extension Language (BXL)",description:"Buck2 will allow more complex introspection and interaction with its graphs via",source:"@site/../docs/rfcs/bxl.md",sourceDirName:"rfcs",slug:"/rfcs/bxl",permalink:"/docs/rfcs/bxl",draft:!1,tags:[],version:"current",frontMatter:{}},l={},c=[{value:"Use Cases",id:"use-cases",level:2},{value:"Cpp LSP",id:"cpp-lsp",level:3},{value:"Android LSP",id:"android-lsp",level:3},{value:"iOS Project",id:"ios-project",level:3},{value:"Rust LSP",id:"rust-lsp",level:3},{value:"Visual Studio Project (vsgo)",id:"visual-studio-project-vsgo",level:3},{value:"Goals",id:"goals",level:2},{value:"API",id:"api",level:2},{value:"Defining a bxl function",id:"defining-a-bxl-function",level:3},{value:"Accessing target nodes",id:"accessing-target-nodes",level:3},{value:"Inspect providers",id:"inspect-providers",level:3},{value:"Actions",id:"actions",level:3},{value:"What is cached?",id:"what-is-cached",level:3},{value:"Inter-bxl caching?",id:"inter-bxl-caching",level:3}],d=(u="FbInternalOnly",function(e){return console.warn("Component "+u+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.mdx)("div",e)});var u;const p={toc:c};function h(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"buck-extension-language-bxl"},"Buck Extension Language (BXL)"),(0,r.mdx)("p",null,"Buck2 will allow more complex introspection and interaction with its graphs via\nthe ",(0,r.mdx)("inlineCode",{parentName:"p"},"bxl")," feature. BXL will be a starlark script that allows integrators to\ninteract with ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck")," commands like build and query within starlark, creating a\nsequence of operations that introspect, build, and extend the build graph."),(0,r.mdx)(d,{mdxType:"FbInternalOnly"},(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://fb.workplace.com/groups/buck2prototyping/permalink/2404233936540759/"},"https://fb.workplace.com/groups/buck2prototyping/permalink/2404233936540759/"),".")),(0,r.mdx)("p",null,'These are essentially custom buck operations, defined in Starlark, that still\nfollow the constraints of Buck2, which will enable the same level of\nincrementality and caching as native buck2 operations. Furthermore, bxl will\nhave subscriptions enabled in the future, where based on the incrementality\ntracking, buck2 can provide "updated" bxl executions when its known that its\ndependencies change, and even when generated sources need to be regenerated.'),(0,r.mdx)("p",null,"The following proposes a basic set of bxl api and building blocks that are\ntargeted at solving key issues for IDE integration."),(0,r.mdx)("h2",{id:"use-cases"},"Use Cases"),(0,r.mdx)("h3",{id:"cpp-lsp"},"Cpp LSP"),(0,r.mdx)(d,{mdxType:"FbInternalOnly"},(0,r.mdx)("p",null,"I\u2019ve previously defined some proposed integrations\n",(0,r.mdx)("a",{parentName:"p",href:"https://docs.google.com/document/d/1jyehtuQ236rtwq2yyLnLmsIgBOctuAm9eoqx95TCO4I/edit"},"here"),".")),(0,r.mdx)("p",null,"Lsp prefers to have a single buck command that given a file, returns the\ncorresponding compilation database. This requires a single command, i.e a bxl,\nthat accepts a file as input, performs ",(0,r.mdx)("inlineCode",{parentName:"p"},"owners")," queries, and uses the owning\ntarget plus the desired file to get the clang flags, and then writes it to disk\nin comp db format. It\u2019s possible to write the same features using buck calls to\ncquery, and build using subtargets to generate compilation database per file.\nHowever, this requires lsp owners to maintain code in several locations and\nlanguages, and parse and reserialize data. It also does not provide the same\nincrementality and subscription update features of the resulting comp db that\nwriting this in bxl would have. Furthermore, we may explore the idea of trimming\nthe compilation command to only dependencies required per the file requested.\nBxl actions provides a straightforward api for adding this when writing the\nactual comp db file."),(0,r.mdx)("h3",{id:"android-lsp"},"Android LSP"),(0,r.mdx)("p",null,"Android project requires traversing the target graph to find and java libraries,\ngrouping and converting them between modules or project libraries depending on\nthe number of references, and restructuring the graph as directory based.\nAndroid LSP is able to take advantage of subscriptions in the future when\navailable, allowing developers to keep their IDE up-to-date automatically\nwithout needing to manually regenerate the project."),(0,r.mdx)("p",null,"With bxl, the graph traversals can be written in starlark, allowing propagation\nof information down the graph, accessing targets\u2019 attributes to analyze\ndependencies, and access providers for artifacts and action information needed\nto output the project file. Project generation also performs directory listings\nthat buck2\u2019s dice already performs and caches (I think, need to confirm). Bxl\nposes the interesting possibility that we can expose a limited set of IO\noperations that are tracked by dice so bxl can access the same cached file\noperations as rest of buck2. Android project generation currently doesn\u2019t write\nproject files to buck-out, which prevents it from using buck2 actions. It will\nhave to rely on an external script to process the graph information printed by\nbuck and write the actual project files. If it moves to ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck-out")," based, then\nit can take advantage of creating actions directly using the graph information\nprocessed, and potentially take advantage of incremental actions api to avoid\nwriting the entire graph on each subsequent update."),(0,r.mdx)("h3",{id:"ios-project"},"iOS Project"),(0,r.mdx)("p",null,"iOS is currently being implemented as a series of queries that are aggregated by\nan external python script, that then invokes builds of subtargets. The same can\nbe achieved in bxl, but with the entire sequence being cacheable and\nsubscribable so that when the graph is updated, or even when generated files\nneed updating, buck2 can automatically push the updates. However, it is\nuncertain whether xcode itself can make use of push updates."),(0,r.mdx)(d,{mdxType:"FbInternalOnly"},(0,r.mdx)("p",null,"In\n",(0,r.mdx)("a",{parentName:"p",href:"https://docs.google.com/document/d/1USZ_ZYxq45DHUFF-BAYo6zS4lAHlpvNk9uM5SBL9e-w/edit?disco=AAAAQv4gLQ0"},"https://docs.google.com/document/d/1USZ_ZYxq45DHUFF-BAYo6zS4lAHlpvNk9uM5SBL9e-w/edit?disco=AAAAQv4gLQ0"),",\nit was also proposed that project generation may need information to flow down\nas part of the generation, which is only possible via bxl defining its own\nactions. (Although, there may have been a workaround per Chatura).")),(0,r.mdx)("h3",{id:"rust-lsp"},"Rust LSP"),(0,r.mdx)("p",null,"(note from dbarsky@: I\u2019m adding this at Bob\u2019s request. Can be removed as\nneeded.)"),(0,r.mdx)("h3",{id:"visual-studio-project-vsgo"},"Visual Studio Project (vsgo)"),(0,r.mdx)("p",null,"Vsgo is a pile of python that converts buck query/buck targets output via a\nvariety of heuristics into inputs to a custom fork gyp which is then invoked to\ngenerate visual studio projects for a given buck target. Having direct access to\nthe internals of buck would allow us to remove the heuristics and possibly even\nmove project generation directly into bxl."),(0,r.mdx)("h2",{id:"goals"},"Goals"),(0,r.mdx)("p",null,"From the above use cases, BXL should offer a simple Starlark API that allows\neasy introspection of the buck2 graph at unconfigured, configured, providers,\nand actions stage, maintaining incremental behaviour of the BXL evaluation\nitself."),(0,r.mdx)("p",null,"Some minimal API should be offered to allow BXL to provide additional behaviour\nsuch as output artifacts, and print results."),(0,r.mdx)("p",null,"Most use cases from LSP desire to also propagate information via the command\nline for these operations, so BXL should support command line arguments as\ninputs."),(0,r.mdx)("h2",{id:"api"},"API"),(0,r.mdx)("h3",{id:"defining-a-bxl-function"},"Defining a bxl function"),(0,r.mdx)("p",null,"There are multiple models possible. We can have each file be its own bxl, or\nhave each file declare multiple bxl like rules."),(0,r.mdx)("p",null,'There are multiple advantages to allowing declaration of multiple bxls, such as\ngrouping similar bxls in the same file, allowing them to "invoke" each other. It\ndoesn\u2019t necessarily add much more complexity for the author, as even with one\nbxl per file, the author still has to have some declaration for the bxls\narguments.'),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'# sample.bxl\nfunc1 = bxl_main(\n impl = my_func1,\n args = {\n "arg1": arg.list(arg.str()),\n }\n)\n\nfunc2 = bxl_main(\n ...\n)\n\n')),(0,r.mdx)("p",null,"To invoke buck2 for that bxl, we can have the command line as follows."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-shell"},"buck2 bxl sample.bxl::func1 -- --arg1 foo bar baz\n")),(0,r.mdx)("p",null,"For bxl functions to read the arguments, a similar api to rule attrs is used"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"args = ctx.args.args_for_bxl\n")),(0,r.mdx)("p",null,"Args defined like attrs when declaring the bxl function above"),(0,r.mdx)("h3",{id:"accessing-target-nodes"},"Accessing target nodes"),(0,r.mdx)("p",null,"All standard query functions will be enabled in bxl, allowing users to run query\noperations, storing them in variables and interacting with them. These allow\nintrospection of the unconfigured targets, or the configured targets based on\napi"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'# some.bxl\ntargets = ctx.uquery(\u2018deps("//foo")\u2019)\ntargets = filter(targets, my_filter)\n\n# introspect a target\nfor target in targets:\n ctx.print(target.attributes) # prints selects\n # also inspect the target like below\n ctx.print(target.label)\n\ntarget = ctx.cquery("//foo", "//x86").attributes # cquery has selects resolved\n')),(0,r.mdx)("h3",{id:"inspect-providers"},"Inspect providers"),(0,r.mdx)("p",null,"When we have a configured target, bxl can request for the analysis of the rule"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},"target = <some configured target>\n\nctx.analysis(target).providers # access the providers\n")),(0,r.mdx)("h3",{id:"actions"},"Actions"),(0,r.mdx)("p",null,"For IDEs, to generate compilation databases, or generate project files, writing\nthem in bxl will entail creating actions, and executing them. As such, bxl will\nalso be given the rules api to register actions, including dynamic outputs for\nthe rule in the current bxl invocation to build artifacts as part of a bxl\nfunction."),(0,r.mdx)("p",null,"BXL has the ability to create actions with some constraints:"),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},"Action is tied to a particular target"),(0,r.mdx)("li",{parentName:"ol"},"It\u2019s output location is determined in the same pattern as regular actions\ndefined via rules")),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'targets = ctx.cquery(\u2018deps("//foo:rule")\u2019)\n\nfor t in targets:\n action_ctx = ctx.analysis(t).actions\n # the action context here is tied to the configured target `t`\n # actions registered by bxl will be attached with bxl prefix key\n action_ctx.registry.write(some_output, "foo")\n\n')),(0,r.mdx)("p",null,"BXL can also interact with the existing actions on an action via the action_ctx,\nsuch as iterating through it, analyzing its outputs, or requesting it to be ran."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'targets = deps("foo:rule")\n\nfor t in targets:\n action_ctx = ctx.analysis(t).actions\n for action in action_ctx.iter():\n if "foo/path" in action.output:\n ctx.build(action)\n')),(0,r.mdx)("h3",{id:"what-is-cached"},"What is cached?"),(0,r.mdx)("p",null,"All computations requested by a bxl function will be treated as inputs. So if a\nbxl function calls uquery, then uses the result to do a cquery, and then a\nbuild, if buck2 detects that any of the recorded calls to uquery, cquery, and\nbuild changes, the entire bxl will be reran, with no early cutoff. The\ncomputations itself will still be cached via DICE, so no major performance\nissues are expected. However, in the event that a bxl function is\ncomputationally heavy, the recommendation would be to move that to an action, or\nsplit up the bxl and use inter-bxl caching described below."),(0,r.mdx)("h3",{id:"inter-bxl-caching"},"Inter-bxl caching?"),(0,r.mdx)("p",null,'Different bxl can be cacheable between each other if structured as\n"outputs"/artifacts. This is essentially the same behaviour as a bxl requesting\n',(0,r.mdx)("inlineCode",{parentName:"p"},"ctx.build"),", which is cached. Since we have those as hashes on RE, we can track\nproperly and not require storing the values in dice."),(0,r.mdx)("p",null,"i.e."),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-python"},'# caching_sample.bxl\nfunc1 = bxl_main(\n impl = my_func1,\n args = {\n "arg1": arg.list(arg.str()),\n }\n)\n\nmy_func1(ctx):\n \u2026\n # do various stuff that might change a lot, but the final result\n # doesn\u2019t change much\n ctx.return(some_artifact)\n\nfunc2 = bxl_main(\n impl = my_func2,\n ...\n)\n\nmy_func2(ctx):\n artifact = ctx.bxl(":func1")\n # now read artifact value\n # everything below will only be reran if the artifact content changes\n \u2026\n # do some expensive stuff\n')))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e4ba4a79.9cc53ace.js b/assets/js/e4ba4a79.9cc53ace.js new file mode 100644 index 0000000000000..c2f1bdac26a10 --- /dev/null +++ b/assets/js/e4ba4a79.9cc53ace.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5443],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>h,mdx:()=>g,useMDXComponents:()=>u,withMDXComponents:()=>d});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},i.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),d=function(e){return function(t){var n=u(t.components);return a.createElement(e,i({},t,{components:n}))}},u=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},h=function(e){var t=u(e.components);return a.createElement(c.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(n),h=r,p=d["".concat(o,".").concat(h)]||d[h]||m[h]||i;return n?a.createElement(p,s(s({ref:t},c),{},{components:n})):a.createElement(p,s({ref:t},c))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:r,o[1]=s;for(var c=2;c<i;c++)o[c]=n[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}f.displayName="MDXCreateElement"},17716:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var a=n(87462),r=(n(67294),n(3905)),i=n(44996);const o={id:"buck2",title:"Architectural Model"},s=void 0,l={unversionedId:"developers/architecture/buck2",id:"developers/architecture/buck2",title:"Architectural Model",description:"High-level Overview",source:"@site/../docs/developers/architecture/buck2.md",sourceDirName:"developers/architecture",slug:"/developers/architecture/buck2",permalink:"/docs/developers/architecture/buck2",draft:!1,tags:[],version:"current",frontMatter:{id:"buck2",title:"Architectural Model"},sidebar:"mainSidebar",previous:{title:"FAQs",permalink:"/docs/developers/bxl_faqs"},next:{title:"Buck1 vs Buck2",permalink:"/docs/developers/architecture/buck1_vs_buck2"}},c={},d=[{value:"High-level Overview",id:"high-level-overview",level:2},{value:"Execution Model",id:"execution-model",level:2},{value:"State 0 - Build Files",id:"state-0---build-files",level:3},{value:"Phase A: Evaluation",id:"phase-a-evaluation",level:3},{value:"State 1 - Unconfigured Target Graph is generated",id:"state-1---unconfigured-target-graph-is-generated",level:3},{value:"Phase B: Configuration",id:"phase-b-configuration",level:3},{value:"State 2 - Configured Target Graph is generated",id:"state-2---configured-target-graph-is-generated",level:3},{value:"Phase C: Analysis",id:"phase-c-analysis",level:3},{value:"State 3 - Action Graph and Providers are generated",id:"state-3---action-graph-and-providers-are-generated",level:3},{value:"Phase D: Execute",id:"phase-d-execute",level:3},{value:"State 4 - Build outputs are generated",id:"state-4---build-outputs-are-generated",level:3},{value:"Phase E: Execute tests",id:"phase-e-execute-tests",level:3}],u={toc:d};function h(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("h2",{id:"high-level-overview"},"High-level Overview"),(0,r.mdx)("p",null,"Buck2 is a build system whose core is written in Rust. Starlark, which is a\ndeterministic, immutable version of Python, is used to extend the Buck2 build\nsystem, enabling Buck2 to be language-agnostic."),(0,r.mdx)("p",null,"The high-level flow starts with a user creating a build file (a ",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK")," file)\ncontaining one or more targets, which is specified by the target label, its\ninputs (sources, attributes, configurations, and dependencies), and the type of\nmacro or rule to use."),(0,r.mdx)("p",null,"Briefly, a macro is a wrapper around a rule, which runs necessary commands to\ngenerate what\u2019s needed for a target (for example, for a ",(0,r.mdx)("inlineCode",{parentName:"p"},"cxx_binary")," target,\ngenerate the header map and run necessary ",(0,r.mdx)("inlineCode",{parentName:"p"},"clang")," commands). Macros can be used\nto reduce boilerplate code for users (such as to supply the same set of\nattributes for a rule for all targets). Macros and rules are both written in\nStarlark and are specified by input sources, attributes, and the implementation\nfunction."),(0,r.mdx)("p",null,"If the target type is a macro, then the macro will fill in some details (for\nexample, for a ",(0,r.mdx)("inlineCode",{parentName:"p"},"cxx_binary")," target, these are the compilation, debug flags to\nuse, this is the ",(0,r.mdx)("inlineCode",{parentName:"p"},"clang")," to use). If the target type is a rule, then the macro\nlayer is skipped altogether."),(0,r.mdx)("p",null,"This is all orchestrated by the core, which performs operations such as\nexecuting Buck2 CLI args, generating/updating the dependency graph (which\ncontains the configured target nodes, unconfigured target nodes, action nodes,\namong other types of nodes that all allow for incrementality and execution), and\nmaterializing the artifacts. The core is written in Rust."),(0,r.mdx)("p",null,"The following diagram shows the high-level overview."),(0,r.mdx)("img",{src:(0,i.default)("/img/buck2_rule_workflow.png"),alt:"justifyContent"}),(0,r.mdx)("p",null,"The Buck2 CLI runs in a client process, which sends commands to the Buck2 daemon\nvia gRPC. The daemon goes through several phases after receiving a request from\nthe client: ",(0,r.mdx)("strong",{parentName:"p"},"evaluation, configuration, analysis, execution, and\nmaterialization")," (see ",(0,r.mdx)("a",{parentName:"p",href:"#execution-model"},"Execution Model"),", below). When using\n",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 test"),", there is a final stage for ",(0,r.mdx)("strong",{parentName:"p"},"testing"),". Note that these are the\nphases that a build goes through, but they are not always sequential."),(0,r.mdx)("p",null,"After finishing all phases, the daemon will send the response back to the client\nvia gRPC."),(0,r.mdx)("h2",{id:"execution-model"},"Execution Model"),(0,r.mdx)("p",null,"The following diagram shows the Execution Model, which consists of 5 phases and\nstates."),(0,r.mdx)("img",{src:(0,i.default)("/img/buck2_architecture.png"),alt:"justifyContent"}),(0,r.mdx)("p",null,"Each of the phases and states shown in the Execution Model, are detailed in the\nfollowing sub-sections."),(0,r.mdx)("h3",{id:"state-0---build-files"},"State 0 - Build Files"),(0,r.mdx)("p",null,"Build files (commonly referred to as ",(0,r.mdx)("inlineCode",{parentName:"p"},"BUCK")," files, their default name) are the\nmain input to Buck2 and are syntactically Python."),(0,r.mdx)("p",null,"Each build file is uniquely identified by the directory in which it's located.\nSince all build files have the same name, there cannot be two build files in the\nsame directory. This is usually represented as the relative path from the root\nof the project (the directory where the .buckconfig file is)."),(0,r.mdx)("p",null,"Each build file has a set of targets. These describe the things the user wants\nBuck2 to know about. Each target has a type and a set of named attributes,\nincluding at least a name (also known as the label) identifying it. Additional\nattributes depend on the type of the target."),(0,r.mdx)("h3",{id:"phase-a-evaluation"},"Phase A: Evaluation"),(0,r.mdx)("p",null,"First, Buck2 evaluates a build file, and then constructs an unconfigured target\ngraph."),(0,r.mdx)("p",null,"Buck2 performs directory listings to discover packages, then evaluates the build\nfiles that were found, expands any macros detected into their underlying rules,\nand then will take rule attributes and convert them from Starlark to Rust types\nto construct a target node, and insert it into the unconfigured target graph,\nwhich is a smaller portion of Buck2\u2019s larger dependency graph. The target node\nconsists of a reference to rule implementation, and the set of attributes and\nsources."),(0,r.mdx)("p",null,"The result of evaluation is a list of targets read from the build file mapped to\na target node in Buck2 unconfigured target graph."),(0,r.mdx)("h3",{id:"state-1---unconfigured-target-graph-is-generated"},"State 1 - Unconfigured Target Graph is generated"),(0,r.mdx)("p",null,"At this point, the unconfigured target graph is available for the next stage of\ntransformation, which is to configure the target nodes within the graph."),(0,r.mdx)("h3",{id:"phase-b-configuration"},"Phase B: Configuration"),(0,r.mdx)("p",null,"At the end of evaluation, the target nodes are not yet configured. Configuration\nmeans applying a list of constraints (such as resolving selects to specify the\nright CPU) to make sure the target can be run where it needs to. This is also\nknown as target platform resolution, and can be configured within the target,\nthe buckconfig, propagated from dependencies, or passed into the CLI. After\napplying configurations, the target nodes are transformed into configured target\nnodes within the Buck2 configured target graph, which is a smaller portion of\nBuck2\u2019s larger dependency graph."),(0,r.mdx)("h3",{id:"state-2---configured-target-graph-is-generated"},"State 2 - Configured Target Graph is generated"),(0,r.mdx)("p",null,"At this point, the configured target graph is available for the analysis stage\nto generate the action graph."),(0,r.mdx)("h3",{id:"phase-c-analysis"},"Phase C: Analysis"),(0,r.mdx)("p",null,"In the analysis phase, Buck2 constructs a context object (ctx) which contains\nrelevant information (such as attributes pulled from the configuration stage),\nall converted into Starlark types and made available to the rule. For example,\nthe target\u2019s dependencies are turned into a ",(0,r.mdx)("inlineCode",{parentName:"p"},"ProviderCollection"),", source files\nare converted into ",(0,r.mdx)("inlineCode",{parentName:"p"},"StarlarkArtifacts"),", and String attributes are turned into a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"StarlarkString"),". This ctx object is backed by Buck2\u2019s dependency graph for\ncomputation and rules use it to tell Buck2 to run actions, create dynamic\nactions, or create new files."),(0,r.mdx)("p",null,"The rule will return a list of providers, which is data that the rule wants to\nexpose to its dependents (that is, can flow through the dependency graph), such\nas output artifact information (such as file paths and file hashes). Providers\ncould be actions, source files, or attributes. Within the returned list,\nDefaultInfo always needs to be returned, which indicates what the default\noutputs are. Some other common built-in providers include RunInfo, TestInfo, and\nInstallInfo."),(0,r.mdx)("p",null,"The end result is a list of providers and actions (inserted into the action\ngraph) that Buck2 needs to execute to produce the desired outputs, known as\n'bound artifacts'."),(0,r.mdx)("h3",{id:"state-3---action-graph-and-providers-are-generated"},"State 3 - Action Graph and Providers are generated"),(0,r.mdx)("p",null,"At this point, the action graph and providers are available to be processed by\nthe execution stage."),(0,r.mdx)("h3",{id:"phase-d-execute"},"Phase D: Execute"),(0,r.mdx)("p",null,"Execution is where Buck2 takes all the providers (input files from the targets,\nargs from the command line), runs the actions, and then outputs the computed\nresults. The critical path is the theoretical lower bound for the duration of a\nbuild, which are the slowest set of actions."),(0,r.mdx)("p",null,"Buck2 can be run locally or on remote execution, or in a hybrid manner."),(0,r.mdx)("p",null,"For each action, a digest is created which is a hash of an action's command and\nall its inputs. Buck2 then checks if there is a result cached within RE for an\naction with a given digest."),(0,r.mdx)("p",null,"If there is a cache hit, Buck2 does not need to run the command for the action.\nInstead, the RE returns the output action digest. This digest can be used to\ndownload the actual output artifacts at a later time. This is known as the ",(0,r.mdx)("strong",{parentName:"p"},"RE\naction cache"),"."),(0,r.mdx)("p",null,"If there is a cache miss, the action needs to be run either remotely or locally.\nIf Buck2 decides to run the action remotely, it will first upload all of the\naction's inputs that are missing from the RE's content addressable storage. If\nBuck2 decides to run the action locally, it will first download and materialize\nin ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck-out")," all of the action's inputs. These inputs might be outputs of other\nactions and are stored in RE's content addressable storage but are missing on\nthe local machine.Only after those steps will Buck2 schedule the action for\nactual execution."),(0,r.mdx)("p",null,"Buck2 can also decide to run local and remote execution simultaneously (a\nprocess known as racing), and use the result of whichever action finishes first\nto speed up performance. This strategy is known as ",(0,r.mdx)("strong",{parentName:"p"},"hybrid execution"),'."'),(0,r.mdx)("p",null,"Materialization of action outputs (which involves downloading and placing them\nin the correct location in ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck-out"),") can be done immediately after the action\nhas finished executing. Alternatively, it can be deferred until it is actually\nneeded for the local execution of another action. There are various\nconfigurations that a user can set to control how this materialization is\nhandled."),(0,r.mdx)("h3",{id:"state-4---build-outputs-are-generated"},"State 4 - Build outputs are generated"),(0,r.mdx)("p",null,"At this point, the build is complete."),(0,r.mdx)("p",null,"If a user ran ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 test"),", then there is a final transformation for Buck2 to\nconstruct a command for TPX to execute the actual test."),(0,r.mdx)("h3",{id:"phase-e-execute-tests"},"Phase E: Execute tests"),(0,r.mdx)("p",null,"For more detail on testing, review\n",(0,r.mdx)("a",{parentName:"p",href:"/docs/rule_authors/test_execution"},"Test Execution"),"."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e6e76856.52099c10.js b/assets/js/e6e76856.52099c10.js new file mode 100644 index 0000000000000..294f98029365d --- /dev/null +++ b/assets/js/e6e76856.52099c10.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6818],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>o,MDXProvider:()=>c,mdx:()=>y,useMDXComponents:()=>d,withMDXComponents:()=>s});var l=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},r.apply(this,arguments)}function p(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);n&&(l=l.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,l)}return t}function a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?p(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function u(e,n){if(null==e)return{};var t,l,i=function(e,n){if(null==e)return{};var t,l,i={},r=Object.keys(e);for(l=0;l<r.length;l++)t=r[l],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(l=0;l<r.length;l++)t=r[l],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var o=l.createContext({}),s=function(e){return function(n){var t=d(n.components);return l.createElement(e,r({},n,{components:t}))}},d=function(e){var n=l.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):a(a({},n),e)),t},c=function(e){var n=d(e.components);return l.createElement(o.Provider,{value:n},e.children)},m="mdxType",g={inlineCode:"code",wrapper:function(e){var n=e.children;return l.createElement(l.Fragment,{},n)}},f=l.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,p=e.parentName,o=u(e,["components","mdxType","originalType","parentName"]),s=d(t),c=i,m=s["".concat(p,".").concat(c)]||s[c]||g[c]||r;return t?l.createElement(m,a(a({ref:n},o),{},{components:t})):l.createElement(m,a({ref:n},o))}));function y(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,p=new Array(r);p[0]=f;var a={};for(var u in n)hasOwnProperty.call(n,u)&&(a[u]=n[u]);a.originalType=e,a[m]="string"==typeof e?e:i,p[1]=a;for(var o=2;o<r;o++)p[o]=t[o];return l.createElement.apply(null,p)}return l.createElement.apply(null,t)}f.displayName="MDXCreateElement"},46037:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>p,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>o});var l=t(87462),i=(t(67294),t(3905));const r={id:"plugins"},p="plugins type",a={unversionedId:"api/build/plugins",id:"api/build/plugins",title:"plugins type",description:"plugins.All",source:"@site/../docs/api/build/plugins.generated.md",sourceDirName:"api/build",slug:"/api/build/plugins",permalink:"/docs/api/build/plugins",draft:!1,tags:[],version:"current",frontMatter:{id:"plugins"},sidebar:"apiSidebar",previous:{title:"label_relative_path type",permalink:"/docs/api/build/label_relative_path"},next:{title:"promise type",permalink:"/docs/api/build/promise"}},u={},o=[{value:"plugins.All",id:"pluginsall",level:2},{value:"plugins.PluginKind",id:"pluginspluginkind",level:2},{value:"plugins.kind",id:"pluginskind",level:2}],s={toc:o};function d(e){let{components:n,...t}=e;return(0,i.mdx)("wrapper",(0,l.Z)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)("h1",{id:"plugins-type"},(0,i.mdx)("inlineCode",{parentName:"h1"},"plugins")," type"),(0,i.mdx)("h2",{id:"pluginsall"},"plugins.All"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"plugins.All: all_plugins\n")),(0,i.mdx)("p",null,"A special value for use with ",(0,i.mdx)("inlineCode",{parentName:"p"},"pulls_and_pushes_plugins"),"."),(0,i.mdx)("p",null,"This value can be passed to ",(0,i.mdx)("inlineCode",{parentName:"p"},"pulls_and_pushes_plugins")," on any ",(0,i.mdx)("inlineCode",{parentName:"p"},"attr.dep()")," to indicate that\nall plugin kinds from the dep should be pulled and pushed. This is useful for rules like\n",(0,i.mdx)("inlineCode",{parentName:"p"},"alias"),"."),(0,i.mdx)("p",null,"This value is not supported on ",(0,i.mdx)("inlineCode",{parentName:"p"},"uses_plugins")," at this time, and hence it is not useful on\n",(0,i.mdx)("inlineCode",{parentName:"p"},"pulls_plugins")," either."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"pluginspluginkind"},"plugins.PluginKind"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"plugins.PluginKind: type\n")),(0,i.mdx)("p",null,"Type symbol for ",(0,i.mdx)("inlineCode",{parentName:"p"},"PluginKind"),"."),(0,i.mdx)("hr",null),(0,i.mdx)("h2",{id:"pluginskind"},"plugins.kind"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-python"},"def plugins.kind() -> PluginKind\n")),(0,i.mdx)("p",null,"Create a new plugin kind."),(0,i.mdx)("p",null,"The value returned should always be immediately bound to a global, like ",(0,i.mdx)("inlineCode",{parentName:"p"},"MyPluginKind =\nplugins.kind()")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e6f09efc.e490fdb6.js b/assets/js/e6f09efc.e490fdb6.js new file mode 100644 index 0000000000000..5559dac494913 --- /dev/null +++ b/assets/js/e6f09efc.e490fdb6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5357],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>c,MDXProvider:()=>h,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>d});var o=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},a.apply(this,arguments)}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,o,i=function(e,n){if(null==e)return{};var t,o,i={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=o.createContext({}),d=function(e){return function(n){var t=u(n.components);return o.createElement(e,a({},n,{components:t}))}},u=function(e){var n=o.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},h=function(e){var n=u(e.components);return o.createElement(c.Provider,{value:n},e.children)},f="mdxType",p={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},m=o.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,r=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(t),h=i,f=d["".concat(r,".").concat(h)]||d[h]||p[h]||a;return t?o.createElement(f,s(s({ref:n},c),{},{components:t})):o.createElement(f,s({ref:n},c))}));function b(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,r=new Array(a);r[0]=m;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[f]="string"==typeof e?e:i,r[1]=s;for(var c=2;c<a;c++)r[c]=t[c];return o.createElement.apply(null,r)}return o.createElement.apply(null,t)}m.displayName="MDXCreateElement"},8270:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var o=t(87462),i=(t(67294),t(3905));const a={id:"install",title:"install"},r=void 0,s={unversionedId:"users/commands/install",id:"users/commands/install",title:"install",description:"These are the flags/commands under buck2 install and their --help output:",source:"@site/../docs/users/commands/install.generated.md",sourceDirName:"users/commands",slug:"/users/commands/install",permalink:"/docs/users/commands/install",draft:!1,tags:[],version:"current",frontMatter:{id:"install",title:"install"},sidebar:"mainSidebar",previous:{title:"init",permalink:"/docs/users/commands/init"},next:{title:"kill",permalink:"/docs/users/commands/kill"}},l={},c=[{value:"buck install",id:"buck-install",level:2}],d={toc:c};function u(e){let{components:n,...t}=e;return(0,i.mdx)("wrapper",(0,o.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,i.mdx)("p",null,"These are the flags/commands under ",(0,i.mdx)("inlineCode",{parentName:"p"},"buck2 install")," and their ",(0,i.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,i.mdx)("h2",{id:"buck-install"},"buck install"),(0,i.mdx)("pre",null,(0,i.mdx)("code",{parentName:"pre",className:"language-text"},"Build and install an application\n\nUsage: buck2-release install [OPTIONS] [TARGET]... [-- <INSTALL_ARGS>...]\n\nArguments:\n [TARGET]...\n Target to build and install\n\n [INSTALL_ARGS]...\n Additional arguments passed to the install when running it\n\nOptions:\n --installer-debug\n Prints installer output to stderr. It might break superconsole\n\n -r, --run\n Run an Android activity. Here for compatibility with buck1 - it is automatically forwarded\n to the installer\n\n -e, --emulator\n Use this option to use emulators only on Android. Here for compatibility with buck1 - it\n is automatically forwarded to the installer\n\n -d, --device\n Use this option to use real devices only on Android. Here for compatibility with buck1 -\n it is automatically forwarded to the installer\n\n -s, --serial <SERIAL>\n Use Android device or emulator with specific serial or UDID number. Here for compatibility\n with buck1 - it is automatically forwarded to the installer\n\n -x, --all-devices\n Use all connected Android devices and/or emulators (multi-install mode). Here for\n compatibility with buck1 - it is automatically forwarded to the installer\n\n -a, --activity <ACTIVITY>\n Android activity to launch e.g. com.facebook/.LoginActivity. Implies -r. Here for\n compatibility with buck1 - it is automatically forwarded to the installer\n\n -i, --intent-uri <INTENT_URI>\n Android Intent URI to launch e.g. fb://profile. Implies -r. Here for compatibility with\n buck1 - it is automatically forwarded to the installer\n\n -w, --wait-for-debugger\n Have the launched Android process wait for the debugger. Here for compatibility with buck1\n - it is automatically forwarded to the installer\n\n -u, --uninstall\n Use this option to uninstall an installed app before installing again. Here for\n compatibility with buck1 - it is automatically forwarded to the installer\n\n -k, --keep\n Use this option to Keep user data when uninstalling. Here for compatibility with buck1 -\n it is automatically forwarded to the installer\n\n --build-report <PATH>\n Print a build report\n \n `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will\n write the build report to the file\n\n --enable-optional-validations <VALIDATION_NAMES>\n Comma separated list of validation names to run that are marked optional.\n \n By default, validations marked as optional are skipped. This option overrides the\n behaviour and executes those validations.\n\n --build-report-options <BUILD_REPORT_OPTIONS>\n Comma separated list of build report options.\n \n The following options are supported:\n \n `fill-out-failures`: fill out failures the same way Buck1 would.\n \n `package-project-relative-paths`: emit the project-relative path of packages for the\n targets that were built.\n\n -j, --num-threads <THREADS>\n Number of threads to use during execution (default is # cores)\n\n --local-only\n Enable only local execution. Will reject actions that cannot execute locally\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --remote-only\n Enable only remote execution. Will reject actions that cannot execute remotely\n\n --prefer-local\n Enable hybrid execution. Will prefer executing actions that can execute locally on the\n local host\n\n --prefer-remote\n Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and\n will avoid racing local and remote execution\n\n --unstable-no-execution\n Experimental: Disable all execution\n\n --no-remote-cache\n Do not perform remote cache queries or cache writes. If remote execution is enabled, the\n RE service might still deduplicate actions, so for e.g. benchmarking, using a random\n isolation dir is preferred\n \n [env: BUCK_OFFLINE_BUILD=]\n\n --write-to-cache-anyway\n Could be used to enable the action cache writes on the RE worker when no_remote_cache is\n specified\n\n --eager-dep-files\n Process dep files when they are generated (i.e. after running a command that produces dep\n files), rather than when they are used (i.e. before re-running a command that previously\n produced dep files). Use this when debugging commands that produce dep files. Note that\n commands that previously produced dep files will not re-run: only dep files produced\n during this command will be eagerly loaded\n\n --upload-all-actions\n Uploads every action to the RE service, regardless of whether the action needs to execute\n on RE.\n \n This is useful when debugging builds and trying to inspect actions which executed\n remotely. It's possible that the action result is cached but the action itself has\n expired. In this case, downloading the action itself would fail. Enabling this option\n would unconditionally upload all actions, thus you will not hit any expiration issues.\n\n --fail-fast\n If Buck hits an error, do as little work as possible before exiting.\n \n To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The\n default behavior of buck is to do enough work to get a result for the builds of each of\n `:foo` and `:bar`, and no more. This means that buck will continue to complete the build\n of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has\n failed, other dependencies will be cancelled unless they are needed by `:bar`.\n \n This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has\n failed. Generally, this flag only has an effect on builds that specify multiple targets.\n \n `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency\n of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if\n possible.\n\n --keep-going\n If Buck hits an error, continue doing as much work as possible before exiting.\n \n See `--fail-fast` for more details.\n\n --skip-missing-targets\n If target is missing, then skip building instead of throwing error\n\n --skip-incompatible-targets\n If target is incompatible with the specified configuration, skip building instead of\n throwing error. This does not apply to targets specified with glob patterns `/...` or `:`\n which are skipped unconditionally\n\n --materialize-failed-inputs\n Materializes inputs for failed actions which ran on RE\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e7edf74c.ab2451b4.js b/assets/js/e7edf74c.ab2451b4.js new file mode 100644 index 0000000000000..888dc0f421bd3 --- /dev/null +++ b/assets/js/e7edf74c.ab2451b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[151],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>p,MDXProvider:()=>s,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),m=function(e){return function(t){var r=u(t.components);return n.createElement(e,o({},t,{components:r}))}},u=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(p.Provider,{value:t},e.children)},f="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),m=u(r),s=a,f=m["".concat(c,".").concat(s)]||m[s]||d[s]||o;return r?n.createElement(f,i(i({ref:t},p),{},{components:r})):n.createElement(f,i({ref:t},p))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=y;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[f]="string"==typeof e?e:a,c[1]=i;for(var p=2;p<o;p++)c[p]=r[p];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},87143:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const o={id:"StackFrame"},c="StackFrame type",i={unversionedId:"api/bxl/StackFrame",id:"api/bxl/StackFrame",title:"StackFrame type",description:"StackFrame.func\\_name",source:"@site/../docs/api/bxl/StackFrame.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/StackFrame",permalink:"/docs/api/bxl/StackFrame",draft:!1,tags:[],version:"current",frontMatter:{id:"StackFrame"},sidebar:"apiSidebar",previous:{title:"ActionSubError type",permalink:"/docs/api/bxl/ActionSubError"},next:{title:"action type",permalink:"/docs/api/bxl/action"}},l={},p=[{value:"StackFrame.func_name",id:"stackframefunc_name",level:2},{value:"StackFrame.module_path",id:"stackframemodule_path",level:2}],m={toc:p};function u(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},m,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"stackframe-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"StackFrame")," type"),(0,a.mdx)("h2",{id:"stackframefunc_name"},"StackFrame.func","_","name"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"StackFrame.func_name: str\n")),(0,a.mdx)("p",null,"Returns the name of the entry on the call-stack."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"stackframemodule_path"},"StackFrame.module","_","path"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"StackFrame.module_path: None | str\n")),(0,a.mdx)("p",null,"Returns a path of the module from which the entry was called, or ","[",(0,a.mdx)("inlineCode",{parentName:"p"},"None"),"]"," for native Rust functions."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e813a4f4.73bd3150.js b/assets/js/e813a4f4.73bd3150.js new file mode 100644 index 0000000000000..909503af53d25 --- /dev/null +++ b/assets/js/e813a4f4.73bd3150.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[850],{3905:(e,n,i)=>{i.r(n),i.d(n,{MDXContext:()=>d,MDXProvider:()=>f,mdx:()=>h,useMDXComponents:()=>p,withMDXComponents:()=>m});var o=i(67294);function t(e,n,i){return n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i,e}function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(e[o]=i[o])}return e},a.apply(this,arguments)}function r(e,n){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),i.push.apply(i,o)}return i}function s(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?r(Object(i),!0).forEach((function(n){t(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}function l(e,n){if(null==e)return{};var i,o,t=function(e,n){if(null==e)return{};var i,o,t={},a=Object.keys(e);for(o=0;o<a.length;o++)i=a[o],n.indexOf(i)>=0||(t[i]=e[i]);return t}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)i=a[o],n.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(t[i]=e[i])}return t}var d=o.createContext({}),m=function(e){return function(n){var i=p(n.components);return o.createElement(e,a({},n,{components:i}))}},p=function(e){var n=o.useContext(d),i=n;return e&&(i="function"==typeof e?e(n):s(s({},n),e)),i},f=function(e){var n=p(e.components);return o.createElement(d.Provider,{value:n},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},g=o.forwardRef((function(e,n){var i=e.components,t=e.mdxType,a=e.originalType,r=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),m=p(i),f=t,c=m["".concat(r,".").concat(f)]||m[f]||u[f]||a;return i?o.createElement(c,s(s({ref:n},d),{},{components:i})):o.createElement(c,s({ref:n},d))}));function h(e,n){var i=arguments,t=n&&n.mdxType;if("string"==typeof e||t){var a=i.length,r=new Array(a);r[0]=g;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[c]="string"==typeof e?e:t,r[1]=s;for(var d=2;d<a;d++)r[d]=i[d];return o.createElement.apply(null,r)}return o.createElement.apply(null,i)}g.displayName="MDXCreateElement"},3216:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>d});var o=i(87462),t=(i(67294),i(3905));const a={},r="[RFC] Configuration Modifiers",s={unversionedId:"rfcs/cfg-modifiers/api",id:"rfcs/cfg-modifiers/api",title:"[RFC] Configuration Modifiers",description:"Why do we need new configuration setup?",source:"@site/../docs/rfcs/cfg-modifiers/api.md",sourceDirName:"rfcs/cfg-modifiers",slug:"/rfcs/cfg-modifiers/api",permalink:"/docs/rfcs/cfg-modifiers/api",draft:!1,tags:[],version:"current",frontMatter:{}},l={},d=[{value:"Why do we need new configuration setup?",id:"why-do-we-need-new-configuration-setup",level:2},{value:"Configuration Background",id:"configuration-background",level:2},{value:"API",id:"api",level:2},{value:"PACKAGE Modifier",id:"package-modifier",level:3},{value:"Target Modifier",id:"target-modifier",level:3},{value:"CLI Modifier",id:"cli-modifier",level:3},{value:"Modifier Resolution",id:"modifier-resolution",level:3},{value:"Conditional Modifiers",id:"conditional-modifiers",level:3},{value:"Legacy Target platform",id:"legacy-target-platform",level:3},{value:"Debugging modifiers",id:"debugging-modifiers",level:2},{value:"How configuration modifiers differ from transitions",id:"how-configuration-modifiers-differ-from-transitions",level:2}],m={toc:d};function p(e){let{components:n,...i}=e;return(0,t.mdx)("wrapper",(0,o.Z)({},m,i,{components:n,mdxType:"MDXLayout"}),(0,t.mdx)("h1",{id:"rfc-configuration-modifiers"},"[RFC]"," Configuration Modifiers"),(0,t.mdx)("h2",{id:"why-do-we-need-new-configuration-setup"},"Why do we need new configuration setup?"),(0,t.mdx)("p",null,"A target usually needs to be built in multiple build settings. For example,\nthere may be different OS (ex. linux, mac, windows), architectures (ex. x86,\narm), and sanitizers (ex. asan, tsan, ubsan) to use for a single target. Buck\nhas 2 main ways of supporting customizations today:"),(0,t.mdx)("ol",null,(0,t.mdx)("li",{parentName:"ol"},"Buckconfigs specified through ",(0,t.mdx)("inlineCode",{parentName:"li"},"--config")," or ",(0,t.mdx)("inlineCode",{parentName:"li"},"-c")," flags. They are global flags\nand are often aggregated in modefiles (",(0,t.mdx)("inlineCode",{parentName:"li"},"@<modefile>")," on the command line)."),(0,t.mdx)("li",{parentName:"ol"},"Target platforms specified through ",(0,t.mdx)("inlineCode",{parentName:"li"},"default_target_platform")," attribute or\n",(0,t.mdx)("inlineCode",{parentName:"li"},"--target-platforms"),' flag), which become a target\'s "configuration".\n',(0,t.mdx)("inlineCode",{parentName:"li"},"--target-platforms")," flags are also commonly specified via modefiles.")),(0,t.mdx)("p",null,"These methods are problematic for the following reasons."),(0,t.mdx)("ol",null,(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("em",{parentName:"p"},"We have too many modefiles"),". A project that needs customizations often ends\nup adding its own set of modefiles, causing a continued rise in number of\ncustom modefiles in the repo. Internally, the number of modefiles in our\nmonorepo is currently on the order of ",(0,t.mdx)("strong",{parentName:"p"},"10,000s"),".")),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("em",{parentName:"p"},"Changing buckconfigs invalidates Buck's state"),". Changing buckconfigs or\nmodefiles of buckconfigs invalidates global state, which adds non-trivial\nBuck overhead on every incremental build that changes state. This does not\naffect target platforms.")),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("em",{parentName:"p"},"Different modefiles of buckconfigs cannot be used in same build"),". Users that\nneed to run multi-configuration builds today often work around this by\nwriting scripts that wraps multiple buck build invocations of different\nmodes. This is slow because Buck state keeps getting repeatedly invalidated.\nThere is also no way to build a target in different modes (ex. dev and opt)\nat the same time, so users that need to do this always have to do this\nsequentially. This does not affect target platforms.")),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("em",{parentName:"p"},"Target platform generation is exponential in number of build settings"),".\nSuppose I want to customize targets based on 3 OSes, 2 architectures, and 3\ncompilers. With target platforms, I need to first generate all 18\npermutations of these settings as platform targets before using them. This is\nnot scalable.")),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("em",{parentName:"p"},"Target platform does not compose well on command line"),". Suppose I want to\nuse ASAN on top of some existing platform. It's not possible to say specify\nASAN on top of an existing platform on the command line. Instead, I must\ncreate a new platform target with ASAN added to the existing platform before\nI can use it.")),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("em",{parentName:"p"},"Poor user Experience"),". When every project needs its own set of modes, it's\nonerous for users to track what modes are needed to build what targets. Users\noften don't realize when they are using the wrong or unnecessary command line\nflags.")),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("em",{parentName:"p"},"Poor tooling integration"),". Similar to user, it's just onerous for tooling to\nkeep track of what modes are needed to build a target with. Buckconfigs are\nalso bad for performance for tools like language servers because it's\nimpossible to request the builds of two modes in parallel when two targets\nneeds different modes.")),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("em",{parentName:"p"},"Antithetical to Buck's principles"),". Buck's main strength is the ability to\nabstract away builds of different languages and libraries under one common\nsyntax for the user. The need for project-custom flags goes against this\nprinciple."))),(0,t.mdx)("p",null,"The Modifier API introduces a unified way to specify build settings on a\nproject, target, and command line level. Like target platforms, it constructs\nBuck configurations so it supports multi-configuration builds. It avoids\nmodefile proliferation by allowing users to easily set project-specific build\nsettings like compiler and toolchain versions in the repo rather than on the\ncommand line. It avoids scalability problems of platform generation by being\ncomposition-first. The goals of this project is to:"),(0,t.mdx)("ol",null,(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("em",{parentName:"li"},"Make ",(0,t.mdx)("inlineCode",{parentName:"em"},"buck build")," work on any platform without the use of special flags"),".\nToday, building a mac target on mac often requires a mac mode, and likewise\nfor windows. Instead, ",(0,t.mdx)("inlineCode",{parentName:"li"},"buck build")," should always work out of the box on any\nplatform so that there's no need to specify mac mode on macs or windows mode\non windows."),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("em",{parentName:"li"},"Define a small constrained set of common modifiers that can be used to build\nany target in the repo"),". This will include common options like mode (ex. dev,\nopt, release), OS (ex. linux, mac, iphoneos), and architecture (ex. x86,\narm)."),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("em",{parentName:"li"},"Unblock cross-building for the majority of targets"),". ",(0,t.mdx)("inlineCode",{parentName:"li"},"host_info()"),' is a hack\nto obtain information about the host machine that is the main blocker to\nBuck2 cross-building (ex. building a mac or windows target from linux)\nworking everywhere. As an extension of "making ',(0,t.mdx)("inlineCode",{parentName:"li"},"buck build"),' work on any\nplatform", modifiers should make it possible to kill off most use cases of\n',(0,t.mdx)("inlineCode",{parentName:"li"},"host_info")," in the repo."),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("em",{parentName:"li"},"Simplify building build tooling"),". Because ",(0,t.mdx)("inlineCode",{parentName:"li"},"buck build")," works out of the box,\ntools like language servers can build targets they need without using\nproject-specific modefiles or flags."),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("em",{parentName:"li"},"Delete most modefiles from the repo"),"."),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("em",{parentName:"li"},"Deprecate target platforms for modifiers as the sole way of configuring\ntop-level targets in Buck"),".")),(0,t.mdx)("h2",{id:"configuration-background"},"Configuration Background"),(0,t.mdx)("p",null,(0,t.mdx)("em",{parentName:"p"},"Feel free to skip this if you already understand Buck configurations.")),(0,t.mdx)("p",null,"A configuration is a collection of ",(0,t.mdx)("inlineCode",{parentName:"p"},"constraint_value")," targets (commonly referred\nto as constraints). It defines the build settings used by a target. A constraint\nvalue is keyed by a ",(0,t.mdx)("inlineCode",{parentName:"p"},"constraint_setting"),", so there can only be one\n",(0,t.mdx)("inlineCode",{parentName:"p"},"constraint_value")," of a ",(0,t.mdx)("inlineCode",{parentName:"p"},"constraint_setting")," in a configuration."),(0,t.mdx)("p",null,"For example, suppose ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:_")," is a constraint setting with constraint values\n",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:linux"),", ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:macos"),", and ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:windows"),". Then a configuration\nmay contain either ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:linux"),", ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:macos"),", or ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:windows")," to\nindicate which OS a target is built for."),(0,t.mdx)("p",null,"A constraint or a set of constraints can be selected on via ",(0,t.mdx)("inlineCode",{parentName:"p"},"select()")," to\ncustomize a target's behavior. For example, the following adds a linux only dep\nto a target."),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-python"},'deps = select({\n "cfg//os:linux": [":linux_only_dep"],\n "DEFAULT": [],\n})\n')),(0,t.mdx)("p",null,"Before building a target on the command line (known as the top-level target),\nBuck needs to know its configuration in order to resolve selects. Modifiers are\na new way to resolve a target's configuration for every top-level target."),(0,t.mdx)("h2",{id:"api"},"API"),(0,t.mdx)("p",null,'Every top-level target starts with an empty configuration, and Buck will apply a\nlist of "modifiers" to obtain a configuration. A modifier is a modification of a\nconstraint from the existing configuration to obtain a new configuration. There\nare two types of modifiers, ',(0,t.mdx)("em",{parentName:"p"},"conditional")," and ",(0,t.mdx)("em",{parentName:"p"},"unconditional")," modifiers."),(0,t.mdx)("p",null,"An unconditional modifier is just a constraint value. Applying an unconditional\nmodifier will insert the associated constraint value into the configuration for\nits respective constraint setting, replacing any existing constraint value for\nthat setting. For example, specifying ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:linux")," as a modifier will insert\n",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:linux")," into the configuration, overriding any existing constraint value\nfor the ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:_")," constraint setting."),(0,t.mdx)("p",null,"A conditional modifier is a modifier that only applies when a certain condition\nis satisfied. This lets one express powerful composition based on other\ncriteria. ",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match()")," is a conditional modifier that changes the\nconstraint value inserted based on the existing configuration. For example, a\nmodifier like"),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-python"},'modifiers.match({\n "cfg//os:windows": "cfg//compiler:msvc",\n "DEFAULT": "cfg//compiler:clang",\n})\n')),(0,t.mdx)("p",null,"will insert msvc constraint into the configuration if OS is windows or clang\nconstraint otherwise. A ",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match()")," behaves similarly to Buck's\n",(0,t.mdx)("inlineCode",{parentName:"p"},"select()")," but can only be used in a modifier context. A ",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match()")," can\nonly be used to modify a single constraint setting, so the following example is\nnot valid."),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-python"},'# This fails because a modifier cannot modify both compiler and OS.\nmodifiers.match({\n "cfg//os:windows": "cfg//compiler:msvc",\n "DEFAULT": "cfg//os:linux",\n})\n')),(0,t.mdx)("p",null,"A modifier can be specified in a PACKAGE file, on a target, or on the command\nline. This provides the flexibility needed to customize targets on a project,\ntarget, or cli level."),(0,t.mdx)("h3",{id:"package-modifier"},"PACKAGE Modifier"),(0,t.mdx)("p",null,"In a PACKAGE file, modifiers can be specified using the ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg_modifiers")," function\nand would apply to all targets covered under that PACKAGE. For example,\nmodifiers specified in ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo/PACKAGE")," would apply to any target under\n",(0,t.mdx)("inlineCode",{parentName:"p"},"repo//..."),". Modifiers specified in ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo/foo/PACKAGE")," would apply to any target\nunder ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo//foo/..."),' (For resolution order, see "Modifier Resolution" section).'),(0,t.mdx)("p",null,"The ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg_modifiers")," function takes as input a dictionary of constraint setting\nto modifier for that setting. For example, the following is an example that sets\nmodifiers for OS and compiler settings in the repo's top PACKAGE file for all\ntargets in repo."),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-python"},'# repo/PACKAGE\n\nset_cfg_modifiers(cfg_modifiers = [\n "cfg//:linux",\n modifiers.match({\n "DEFAULT": "cfg//compiler:clang",\n "cfg//os:windows": "cfg//compiler:msvc",\n }),\n])\n')),(0,t.mdx)("p",null,"To make constraints easier to type, you can specify aliases for modifier targets\nvia Buck's target aliases."),(0,t.mdx)("p",null,"For example, suppose the following aliases exist in ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo/.buckconfig"),"."),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-ini"},"[alias]\n os = cfg//os:_\n linux = cfg//os:linux\n macos = cfg//os:macos\n windows = cfg//os:windows\n compiler = cfg//compiler:_\n clang = cfg//compiler:clang\n msvc = cfg//compiler:msvc\n")),(0,t.mdx)("p",null,"Then the same PACKAGE modifiers can be specified as follows."),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-python"},'# repo/PACKAGE\n\nset_cfg_modifiers(cfg_modifiers = [\n "linux",\n modifiers.match({\n "DEFAULT": "clang",\n "windows": "msvc",\n }),\n})\n')),(0,t.mdx)("h3",{id:"target-modifier"},"Target Modifier"),(0,t.mdx)("p",null,"On a target, modifiers can be specified on the ",(0,t.mdx)("inlineCode",{parentName:"p"},"metadata")," attribute. For\nexample, the following specifies modifiers for ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo//foo:bar"),"."),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-python"},'# repo/foo/BUCK\n\npython_binary(\n name = "bar",\n # ...\n metadata = {"buck.cfg_modifiers": [\n "cfg//os:windows",\n # Target modifiers can also use aliases\n "clang",\n ]},\n)\n')),(0,t.mdx)("p",null,"Note one day all targets will probably have their own ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg_modifiers")," attribute."),(0,t.mdx)("h3",{id:"cli-modifier"},"CLI Modifier"),(0,t.mdx)("p",null,"On the command line, modifiers are specified as\n",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build <target>?<modifiers separated by commas>"),"."),(0,t.mdx)("p",null,"For example, ",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo:bar?cfg//sanitizer:asan")," applies asan\nmodifier on the command line.\n",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo:bar?cfg//os:linux,cfg//sanitizer:asan")," will apply linux\nand asan modifiers. Aliases can also be used on command line, so\n",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo:bar?asan")," is valid."),(0,t.mdx)("p",null,"Command line modifiers cannot be selects, although this may be revisited if\nnecessary."),(0,t.mdx)("p",null,"Modifiers can be specified for any target pattern, so\n",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo/...?asan")," and ",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo:?asan")," are also\nvalid. When specifying a subtarget and modifier with ",(0,t.mdx)("inlineCode",{parentName:"p"},"?"),", subtarget should go\nbefore modifier, ex. ",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo:bar[comp-db]?asan"),"."),(0,t.mdx)("p",null,"To specify modifiers to a list of target patterns on the command line, you can\nuse the ",(0,t.mdx)("inlineCode",{parentName:"p"},"--modifier")," or ",(0,t.mdx)("inlineCode",{parentName:"p"},"-m")," flag. For example,\n",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo:bar repo//foo:baz -m release")," is equivalent to\n",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo:bar?release //foo:baz?release"),"."),(0,t.mdx)("p",null,(0,t.mdx)("inlineCode",{parentName:"p"},"--modifier")," flag can be specified multiple times to add multiple modifier, so\n",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build --modifier=linux --modifier=release repo//foo:bar")," is equivalent to\n",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo:bar?linux,release"),"."),(0,t.mdx)("p",null,"It is prohibited to specify both ",(0,t.mdx)("inlineCode",{parentName:"p"},"--modifier")," flag and ",(0,t.mdx)("inlineCode",{parentName:"p"},"?")," in target pattern.\nThis restriction can be lifted in the future if there is a need."),(0,t.mdx)("p",null,"When two modifiers of the same constraint setting are specified, then the later\none overrides the earlier one. For example,\n",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo:bar?dev,release")," is equivalent to\n",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 build repo//foo:bar?release"),"."),(0,t.mdx)("p",null,"On command line, a ",(0,t.mdx)("inlineCode",{parentName:"p"},"config_setting")," target can be specified as a collection of\nmodifiers after ",(0,t.mdx)("inlineCode",{parentName:"p"},"--modifier")," or ",(0,t.mdx)("inlineCode",{parentName:"p"},"?"),". This will be equivalent to specifying each\nconstraint inside the ",(0,t.mdx)("inlineCode",{parentName:"p"},"config_setting")," as a separate modifier."),(0,t.mdx)("p",null,(0,t.mdx)("strong",{parentName:"p"},"NOTE"),": only ",(0,t.mdx)("inlineCode",{parentName:"p"},"--modifier")," flag is currently implemented. ",(0,t.mdx)("inlineCode",{parentName:"p"},"-m")," is currently\ndisabled and ",(0,t.mdx)("inlineCode",{parentName:"p"},"?")," is not implemented."),(0,t.mdx)("h3",{id:"modifier-resolution"},"Modifier Resolution"),(0,t.mdx)("p",null,"Modifiers are resolved in order of constraint setting, and for each constraint\nsetting, modifiers for that setting are resolved in order of PACKAGE, target,\nand command line, with modifier from parent PACKAGE applied before child\nPACKAGE. The end of this section will describe how Buck determines the order of\nconstraint setting to resolve."),(0,t.mdx)("p",null,"Suppose modifiers for ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo//foo:bar")," are specified as follows."),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-python"},'# repo/PACKAGE\n\nset_cfg_modifiers(cfg_modifiers = [\n "cfg//:linux",\n modifiers.match({\n "DEFAULT": "cfg//compiler:clang",\n "cfg//os:windows": "cfg//compiler:msvc",\n }),\n])\n\n# repo/foo/PACKAGE\n\nset_cfg_modifiers(cfg_modifiers = ["cfg//os:macos"])\n\n# repo/foo/BUCK\n\npython_binary(\n name = "bar",\n # ...\n metadata = {"buck.cfg_modifiers": ["cfg//os:windows"]},\n)\n')),(0,t.mdx)("p",null,"At the beginning, the configuration will be empty. When resolving modifiers,\nBuck will first resolve all modifiers for ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:_")," before resolving all\nmodifiers for ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//compiler:_"),"."),(0,t.mdx)("p",null,"For OS, the linux modifier from ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo/PACKAGE")," will apply first, followed by\nmacos modifier from ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo/foo/PACKAGE")," and windows modifier from\n",(0,t.mdx)("inlineCode",{parentName:"p"},"repo//foo:bar"),"'s target modifiers, so ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo//foo:bar")," will end up with\n",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:windows")," for ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//os:_")," in its configuration. Next, to resolve\ncompiler modifier, the ",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match")," from ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo/PACKAGE")," will resolve to\n",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//compiler:msvc")," since existing configuration is windows and apply that as\nthe modifier. The target configuration for ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo//foo:bar")," ends up with windows\nand msvc."),(0,t.mdx)("p",null,"However, suppose user invokes ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo//foo:bar?linux")," on the command line. When\nresolving OS modifier, the linux modifier from cli will override any existing OS\nconstraint and insert linux into the configuraiton. Then, when resolving the\ncompiler modifier, the ",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match")," will resolve to ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//compiler:clang"),",\ngiving clang and linux as the final configuration."),(0,t.mdx)("p",null,"Because command line modifiers will apply at the end, they are also known as\nrequired modifiers. Any modifier specified on the command line will always\noverride any modifier for the same constraint setting specified in the repo."),(0,t.mdx)("p",null,"The ordering of constraint setting to resolve modifiers is determined based on\ndependency order of constraints specified in the keys of the ",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match"),"\nspecified. Because some modifiers match on other constraints, modifiers for\nthose constraints must be resolved first. In the previous example, because\ncompiler modifier matches on OS constraints, Buck will resolve all OS modifiers\nbefore resolving compiler modifiers. ",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match")," that ends up with a cycle\nof matched constraints (ex. compiler modifier matches on sanitizer but sanitizer\nmodifier also matches on compiler) will be an error."),(0,t.mdx)("h3",{id:"conditional-modifiers"},"Conditional Modifiers"),(0,t.mdx)("p",null,"Modifiers have 3 types of conditional modifiers that allow for powerful\ncompositions. Each operator is a function that accepts a dictionary where the\nkeys are the conditionals and values are modifiers."),(0,t.mdx)("ol",null,(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match"),". Introduced in the previous sections, this is capable of\ninserting constraints based on constraints in the existing configuration.")),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match_rule"),'. This is capable of selecting based on the rule name\n(also known as rule type). The keys are regex patterns to match against the\nrule name or "DEFAULT". Partial matches are allowed.')),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match_host"),". This selects based on the host configuration, whereas\n",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match")," selects based on the target configuration. This host\nconfiguration is constructed when resolving modifiers. ",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match_host"),"\nis important to making ",(0,t.mdx)("inlineCode",{parentName:"p"},"buck build")," work anywhere on any platform. For\nexample, when the OS to configure is not specified, it's best to assume that\nthe user wants to target the same OS as the host machine."))),(0,t.mdx)("p",null,(0,t.mdx)("strong",{parentName:"p"},"NOTE"),": ",(0,t.mdx)("inlineCode",{parentName:"p"},"match_rule")," and ",(0,t.mdx)("inlineCode",{parentName:"p"},"match_host")," are currently not implemented."),(0,t.mdx)("p",null,"An example using ",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match_rule")," and ",(0,t.mdx)("inlineCode",{parentName:"p"},"modifiers.match_host")," is as\nfollows."),(0,t.mdx)("pre",null,(0,t.mdx)("code",{parentName:"pre",className:"language-python"},'# root/PACKAGE\n\n# We want OS to target the host machine by default.\n# Ex. build linux on linux machine, build windows on windows machine,\n# and build mac on mac machine.\n# However, if the rule is apple or android specific, then we should\n# always be building for apple/android as OS, no matter the host\n# configuration.\n\nset_cfg_modifiers(cfg_modifiers = [\n modifiers.match_rule({\n "apple_.*": "cfg//os:iphone",\n "android_.*": "cfg//os:android",\n "DEFAULT": host_select({\n "cfg//os:linux": "cfg//os:linux",\n "cfg//os:macos": "cfg//os:macos",\n "cfg//os:windows": "cfg//os:windows",\n }),\n }),\n])\n')),(0,t.mdx)("p",null,"On select resolution, Buck's ",(0,t.mdx)("inlineCode",{parentName:"p"},"select"),' currently requires unambiguous keys in the\ndictionary and resolves to the key with the most refined match. The select\noperators used in modifiers will diverge from this and implement a "first-match"\nbehavior, where select resolves to the first condition that evalutes to true in\nthe dictionary.'),(0,t.mdx)("h3",{id:"legacy-target-platform"},"Legacy Target platform"),(0,t.mdx)("p",null,"Target platform (",(0,t.mdx)("inlineCode",{parentName:"p"},"--target-platforms")," flag or ",(0,t.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),"\nattribute) will be a deprecated way of specifying configuration and will be\nkilled once all use cases migrate to modifiers. To maintain backwards\ncompatibility with target platforms during the migration process, modifier\nresolution will take into account the target platform specified. This allows for\nan easy migration where modifiers can be introduced one at a time without\nreaching feature parity of target platform."),(0,t.mdx)("p",null,"If a target's modifiers resolve to an empty configuration, then Buck will reuse\nthe target platform as the configuration. If modifiers resolve to a non-empty\nconfiguration, then Buck look for any constraint in the target platform not\ncovered by a constraint setting from the modifier configuration and add those to\nthe configuration. For example, suppose in the previous example, the target\nplatform for ",(0,t.mdx)("inlineCode",{parentName:"p"},"repo// foo:bar")," includes ",(0,t.mdx)("inlineCode",{parentName:"p"},"cfg//sanitizer:asan"),", then this\nconstraint will be inserted into the configuration since no modifier covered the\nsanitizer constraint setting."),(0,t.mdx)("h2",{id:"debugging-modifiers"},"Debugging modifiers"),(0,t.mdx)("p",null,(0,t.mdx)("strong",{parentName:"p"},"NOTE"),": below is unimplemented."),(0,t.mdx)("p",null,"Because many layers of modifiers can be applied before obtaining a final\nconfiguration, it is important that modifier resolution is easy to debug and\nunderstand. Here are some ways that modifier resolution can be interpreted."),(0,t.mdx)("ol",null,(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("em",{parentName:"p"},(0,t.mdx)("inlineCode",{parentName:"em"},"buck2 audit modifiers")," command"),". There will be a ",(0,t.mdx)("inlineCode",{parentName:"p"},"buck2 audit modifiers"),"\ncommand to show all PACKAGE, target, and required modifiers for a target. It\ncan also show configuration changes from modifier resolution process if\nrequested by the user.")),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("p",{parentName:"li"},(0,t.mdx)("em",{parentName:"p"},"Starlark print statements or debugger"),". Modifier resolution process will be\nimplemented in Starlark in prelude. This means that any user can use any of\nthe existing way to debug starlark (ex. print statements, Starlark debugger\nin VSCode) to debug the resolution process."))),(0,t.mdx)("h2",{id:"how-configuration-modifiers-differ-from-transitions"},"How configuration modifiers differ from transitions"),(0,t.mdx)("p",null,"Modifiers are largely inspired by configuration transitions. The difference\nbetween modifier and transition is that a transition can change the\nconfiguration of any target in the graph, but a modifier can only change the\nconfiguration of a top-level target. In other words, if you have target A that\ndepends on target B and you request a build of A, then A's target configuration\nwould be resolved via modifiers and propagated down to B, but dep B would not do\nits own modifier resolution. When a top-level target goes through a per-rule\ntransition, that transition is applied after modifiers are resolved."),(0,t.mdx)("p",null,"Below are some examples that show when to use modifier and when to use\ntransition."),(0,t.mdx)("ol",null,(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("em",{parentName:"li"},"Python version")," should be modeled as a transition and not modifier. Suppose\nwe have ",(0,t.mdx)("inlineCode",{parentName:"li"},"python_binary")," A nested as a resource of another ",(0,t.mdx)("inlineCode",{parentName:"li"},"python_binary")," B.\nA should not inherit the python version from B, so a transition is needed to\nchange A's python version when depended on by B."),(0,t.mdx)("li",{parentName:"ol"},(0,t.mdx)("em",{parentName:"li"},"Library target")," should use modifiers and not transitions. A C++ library\ntarget should always inherit the configuration of its parent C++ binary when\nit is used as a dep, but a top-level C++ library target can still have its\nconfiguration changed via modifiers when requested from command line.")),(0,t.mdx)("p",null,"In the future, we may add support for modifier transition, which can transition\nvia modifiers, but that is out of the scope of this RFC."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e9596baa.e7538d4b.js b/assets/js/e9596baa.e7538d4b.js new file mode 100644 index 0000000000000..1a78f5e1d9b56 --- /dev/null +++ b/assets/js/e9596baa.e7538d4b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6302],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>c,MDXProvider:()=>d,mdx:()=>h,useMDXComponents:()=>u,withMDXComponents:()=>l});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){return function(t){var r=u(t.components);return n.createElement(e,o({},t,{components:r}))}},u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},d=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),l=u(r),d=a,m=l["".concat(i,".").concat(d)]||l[d]||f[d]||o;return r?n.createElement(m,s(s({ref:t},c),{},{components:r})):n.createElement(m,s({ref:t},c))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=g;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[m]="string"==typeof e?e:a,i[1]=s;for(var c=2;c<o;c++)i[c]=r[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}g.displayName="MDXCreateElement"},92402:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"anon_target"},i="anon_target type",s={unversionedId:"api/build/anon_target",id:"api/build/anon_target",title:"anon_target type",description:"Accessors to the promise of the anon rule and the promised artifacts associated with the rule.",source:"@site/../docs/api/build/anon_target.generated.md",sourceDirName:"api/build",slug:"/api/build/anon_target",permalink:"/docs/api/build/anon_target",draft:!1,tags:[],version:"current",frontMatter:{id:"anon_target"},sidebar:"apiSidebar",previous:{title:"actions type",permalink:"/docs/api/build/actions"},next:{title:"anon_targets type",permalink:"/docs/api/build/anon_targets"}},p={},c=[{value:"anon_target.artifact",id:"anon_targetartifact",level:2},{value:"anon_target.artifacts",id:"anon_targetartifacts",level:2},{value:"anon_target.promise",id:"anon_targetpromise",level:2}],l={toc:c};function u(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"anon_target-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"anon_target")," type"),(0,a.mdx)("p",null,"Accessors to the promise of the anon rule and the promised artifacts associated with the rule."),(0,a.mdx)("h2",{id:"anon_targetartifact"},"anon","_","target.artifact"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def anon_target.artifact(name: str)\n")),(0,a.mdx)("p",null,"Gets a specific ",(0,a.mdx)("inlineCode",{parentName:"p"},"StarlarkPromiseArtifact")," by name. Returns an error if the name was not found in the registered promise artifacts for the anon target."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"anon_targetartifacts"},"anon","_","target.artifacts"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def anon_target.artifacts()\n")),(0,a.mdx)("p",null,"Returns a dict where the key is the promise artifact's name, and the value is the ",(0,a.mdx)("inlineCode",{parentName:"p"},"StarlarkPromiseArtifact"),"."),(0,a.mdx)("p",null,"To get a promise artifact where the short path is accessible, call ",(0,a.mdx)("inlineCode",{parentName:"p"},"ctx.actions.assert_short_path(...)")," and\npass in the artifact retrieved from this dict."),(0,a.mdx)("hr",null),(0,a.mdx)("h2",{id:"anon_targetpromise"},"anon","_","target.promise"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"anon_target.promise: promise\n")),(0,a.mdx)("p",null,"Returns the promise that maps to the result of the anon rule."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e9c1d37c.31febcbf.js b/assets/js/e9c1d37c.31febcbf.js new file mode 100644 index 0000000000000..9fc8f3dce9f60 --- /dev/null +++ b/assets/js/e9c1d37c.31febcbf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6589],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>c,MDXProvider:()=>b,mdx:()=>f,useMDXComponents:()=>s,withMDXComponents:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},l.apply(this,arguments)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),u=function(e){return function(t){var r=s(t.components);return a.createElement(e,l({},t,{components:r}))}},s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},b=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},g="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),u=s(r),b=n,g=u["".concat(o,".").concat(b)]||u[b]||d[b]||l;return r?a.createElement(g,i(i({ref:t},c),{},{components:r})):a.createElement(g,i({ref:t},c))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,o=new Array(l);o[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[g]="string"==typeof e?e:n,o[1]=i;for(var c=2;c<l;c++)o[c]=r[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}m.displayName="MDXCreateElement"},61930:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>s,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"target_label"},o="target_label type",i={unversionedId:"api/bxl/target_label",id:"api/bxl/target_label",title:"target_label type",description:"target\\_label.cell",source:"@site/../docs/api/bxl/target_label.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/target_label",permalink:"/docs/api/bxl/target_label",draft:!1,tags:[],version:"current",frontMatter:{id:"target_label"},sidebar:"apiSidebar",previous:{title:"providers_label type",permalink:"/docs/api/bxl/providers_label"}},p={},c=[{value:"target_label.cell",id:"target_labelcell",level:2},{value:"target_label.name",id:"target_labelname",level:2},{value:"target_label.package",id:"target_labelpackage",level:2},{value:"target_label.with_sub_target",id:"target_labelwith_sub_target",level:2}],u={toc:c};function s(e){let{components:t,...r}=e;return(0,n.mdx)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"target_label-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"target_label")," type"),(0,n.mdx)("h2",{id:"target_labelcell"},"target","_","label.cell"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"target_label.cell: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"target_labelname"},"target","_","label.name"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"target_label.name: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"target_labelpackage"},"target","_","label.package"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"target_label.package: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"target_labelwith_sub_target"},"target","_","label.with","_","sub","_","target"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def target_label.with_sub_target(\n subtarget_name: str | list[str] = _\n) -> providers_label\n")),(0,n.mdx)("p",null,"Converts a ",(0,n.mdx)("inlineCode",{parentName:"p"},"TargetLabel")," into its corresponding ",(0,n.mdx)("inlineCode",{parentName:"p"},"ProvidersLabel")," given the subtarget names, which is a list for each layer of subtarget"),(0,n.mdx)("p",null,"Sample usage:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_sub_target(ctx):\n owners = ctx.uquery().owner("bin/TARGETS.fixture")\n for owner in owners:\n unconfigured_label = owner.label\n ctx.output.print(unconfigured_label.with_sub_target())\n ctx.output.print(unconfigured_label.with_sub_target("subtarget1"))\n ctx.output.print(unconfigured_label.with_sub_target(["subtarget1", "subtarget2"]))\n')))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e9ca051d.cd73e5f0.js b/assets/js/e9ca051d.cd73e5f0.js new file mode 100644 index 0000000000000..e7b477fcbbc7a --- /dev/null +++ b/assets/js/e9ca051d.cd73e5f0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8008],{3905:(e,n,o)=>{o.r(n),o.d(n,{MDXContext:()=>m,MDXProvider:()=>p,mdx:()=>v,useMDXComponents:()=>s,withMDXComponents:()=>d});var t=o(67294);function a(e,n,o){return n in e?Object.defineProperty(e,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[n]=o,e}function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var o=arguments[n];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])}return e},r.apply(this,arguments)}function l(e,n){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),o.push.apply(o,t)}return o}function i(e){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?l(Object(o),!0).forEach((function(n){a(e,n,o[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):l(Object(o)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))}))}return e}function c(e,n){if(null==e)return{};var o,t,a=function(e,n){if(null==e)return{};var o,t,a={},r=Object.keys(e);for(t=0;t<r.length;t++)o=r[t],n.indexOf(o)>=0||(a[o]=e[o]);return a}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t<r.length;t++)o=r[t],n.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var m=t.createContext({}),d=function(e){return function(n){var o=s(n.components);return t.createElement(e,r({},n,{components:o}))}},s=function(e){var n=t.useContext(m),o=n;return e&&(o="function"==typeof e?e(n):i(i({},n),e)),o},p=function(e){var n=s(e.components);return t.createElement(m.Provider,{value:n},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},b=t.forwardRef((function(e,n){var o=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,m=c(e,["components","mdxType","originalType","parentName"]),d=s(o),p=a,u=d["".concat(l,".").concat(p)]||d[p]||f[p]||r;return o?t.createElement(u,i(i({ref:n},m),{},{components:o})):t.createElement(u,i({ref:n},m))}));function v(e,n){var o=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var r=o.length,l=new Array(r);l[0]=b;var i={};for(var c in n)hasOwnProperty.call(n,c)&&(i[c]=n[c]);i.originalType=e,i[u]="string"==typeof e?e:a,l[1]=i;for(var m=2;m<r;m++)l[m]=o[m];return t.createElement.apply(null,l)}return t.createElement.apply(null,o)}b.displayName="MDXCreateElement"},57979:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>s,frontMatter:()=>r,metadata:()=>i,toc:()=>m});var t=o(87462),a=(o(67294),o(3905));const r={id:"build_file",title:"Build File"},l="Build File",i={unversionedId:"concepts/build_file",id:"concepts/build_file",title:"Build File",description:"A build file is a file, typically named BUCK, that defines one or more",source:"@site/../docs/concepts/build_file.md",sourceDirName:"concepts",slug:"/concepts/build_file",permalink:"/docs/concepts/build_file",draft:!1,tags:[],version:"current",frontMatter:{id:"build_file",title:"Build File"},sidebar:"mainSidebar",previous:{title:"Build Rule",permalink:"/docs/concepts/build_rule"},next:{title:"Build Target",permalink:"/docs/concepts/build_target"}},c={},m=[],d={toc:m};function s(e){let{components:n,...o}=e;return(0,a.mdx)("wrapper",(0,t.Z)({},d,o,{components:n,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"build-file"},"Build File"),(0,a.mdx)("p",null,"A ",(0,a.mdx)("em",{parentName:"p"},"build file")," is a file, typically named ",(0,a.mdx)("inlineCode",{parentName:"p"},"BUCK"),", that defines one or more\n",(0,a.mdx)("a",{parentName:"p",href:"/docs/concepts/build_rule"},"build rule"),"s. Note that you can change the name that Buck2 uses\nfor the build file in the ",(0,a.mdx)("inlineCode",{parentName:"p"},"buildfile")," section of ",(0,a.mdx)("inlineCode",{parentName:"p"},".buckconfig"),'. A source file in\nyour project can only be referenced by rules in its "nearest" build file, where\n"nearest" means its closest direct ancestor in your project\'s file tree. (If a\nsource file has a build file as a sibling, then that is its nearest ancestor.)\nFor example, if your project had the following ',(0,a.mdx)("inlineCode",{parentName:"p"},"BUCK")," files:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"java/com/facebook/base/BUCK\njava/com/facebook/common/BUCK\njava/com/facebook/common/collect/BUCK\n")),(0,a.mdx)("p",null,"Then your build rules would have the following constraints:"),(0,a.mdx)("ul",null,(0,a.mdx)("li",{parentName:"ul"},"Rules in ",(0,a.mdx)("inlineCode",{parentName:"li"},"java/com/facebook/base/BUCK")," can reference any file under\n",(0,a.mdx)("inlineCode",{parentName:"li"},"java/com/facebook/base/"),"."),(0,a.mdx)("li",{parentName:"ul"},"Rules in ",(0,a.mdx)("inlineCode",{parentName:"li"},"java/com/facebook/common/")," can reference any files under that\ndirectory, except for those under ",(0,a.mdx)("inlineCode",{parentName:"li"},"java/com/facebook/common/collect/"),', as\nthose "belong" to the ',(0,a.mdx)("inlineCode",{parentName:"li"},"BUCK")," file in the ",(0,a.mdx)("inlineCode",{parentName:"li"},"collect")," directory.")),(0,a.mdx)("p",null,"The set of source files accessible to a build file is also known as its ",(0,a.mdx)("em",{parentName:"p"},"build\npackage"),". The way to refer to code across build packages is to create build\nrules and use ",(0,a.mdx)("inlineCode",{parentName:"p"},"deps")," to refer to that code. Going back to the previous example,\nsuppose code in ",(0,a.mdx)("inlineCode",{parentName:"p"},"java/com/facebook/common/concurrent/")," wants to depend on code\nin ",(0,a.mdx)("inlineCode",{parentName:"p"},"java/com/facebook/common/collect/"),". Presumably\n",(0,a.mdx)("inlineCode",{parentName:"p"},"java/com/facebook/common/collect/BUCK")," has a build rule like:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"java_library(\n name = 'collect',\n srcs = glob(['*.java']),\n deps = ['//java/com/facebook/base:base',],)\n")),(0,a.mdx)("p",null,"Then ",(0,a.mdx)("inlineCode",{parentName:"p"},"java/com/facebook/common/BUCK")," could have a rule like:"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"java_library(\n name = 'concurrent',\n srcs = glob(['concurrent/*.java']),\n deps = ['//java/com/facebook/base:base','//java/com/facebook/common/collect:collect',],)\n")),(0,a.mdx)("p",null,"whereas the following ",(0,a.mdx)("strong",{parentName:"p"},"would be invalid")," because\n",(0,a.mdx)("inlineCode",{parentName:"p"},"java/com/facebook/common/collect/")," has its own build file, so\n",(0,a.mdx)("inlineCode",{parentName:"p"},"//java/com/facebook/common/collect:concurrent")," cannot list\n",(0,a.mdx)("inlineCode",{parentName:"p"},"java/com/facebook/common/collect/*.java")," in its ",(0,a.mdx)("inlineCode",{parentName:"p"},"srcs"),"."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre"},"java_library(\n name = 'concurrent',\n srcs = glob(['collect/*.java', 'concurrent/*.java']),\n deps = ['//java/com/facebook/base:base',],)\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ed437712.8d2dcef4.js b/assets/js/ed437712.8d2dcef4.js new file mode 100644 index 0000000000000..fe47eee216c01 --- /dev/null +++ b/assets/js/ed437712.8d2dcef4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4525],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>c,MDXProvider:()=>y,mdx:()=>b,useMDXComponents:()=>u,withMDXComponents:()=>s});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),s=function(e){return function(t){var r=u(t.components);return n.createElement(e,o({},t,{components:r}))}},u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},y=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),s=u(r),y=a,d=s["".concat(l,".").concat(y)]||s[y]||m[y]||o;return r?n.createElement(d,i(i({ref:t},c),{},{components:r})):n.createElement(d,i({ref:t},c))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=f;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[d]="string"==typeof e?e:a,l[1]=i;for(var c=2;c<o;c++)l[c]=r[c];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},75562:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"lazy_attrs"},l="lazy_attrs type",i={unversionedId:"api/bxl/lazy_attrs",id:"api/bxl/lazy_attrs",title:"lazy_attrs type",description:"The context for getting attrs lazily on a target_node.",source:"@site/../docs/api/bxl/lazy_attrs.generated.md",sourceDirName:"api/bxl",slug:"/api/bxl/lazy_attrs",permalink:"/docs/api/bxl/lazy_attrs",draft:!1,tags:[],version:"current",frontMatter:{id:"lazy_attrs"},sidebar:"apiSidebar",previous:{title:"label_relative_path type",permalink:"/docs/api/bxl/label_relative_path"},next:{title:"plugins type",permalink:"/docs/api/bxl/plugins"}},p={},c=[{value:"lazy_attrs.get",id:"lazy_attrsget",level:2}],s={toc:c};function u(e){let{components:t,...r}=e;return(0,a.mdx)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("h1",{id:"lazy_attrs-type"},(0,a.mdx)("inlineCode",{parentName:"h1"},"lazy_attrs")," type"),(0,a.mdx)("p",null,"The context for getting attrs lazily on a ",(0,a.mdx)("inlineCode",{parentName:"p"},"target_node"),"."),(0,a.mdx)("h2",{id:"lazy_attrsget"},"lazy","_","attrs.get"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-python"},"def lazy_attrs.get(attr: str) -> None | configured_attr\n")),(0,a.mdx)("p",null,"Gets a single attribute. Returns an optional ",(0,a.mdx)("inlineCode",{parentName:"p"},"[configured_attr]"),"."),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_attrs_lazy(ctx):\n node = ctx.cquery().owner("cell//path/to/TARGETS")[0]\n attrs = node.attrs_lazy() # cache once\n ctx.output.print(attrs.get("some_attributes").value())\n ctx.output.print(attrs.get("some_attribute").label)\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f0d3617e.ecb18d12.js b/assets/js/f0d3617e.ecb18d12.js new file mode 100644 index 0000000000000..eee7f1cd57c72 --- /dev/null +++ b/assets/js/f0d3617e.ecb18d12.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2762],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>p,MDXProvider:()=>d,mdx:()=>y,useMDXComponents:()=>l,withMDXComponents:()=>s});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(){return i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},i.apply(this,arguments)}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function u(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=r.createContext({}),s=function(e){return function(n){var t=l(n.components);return r.createElement(e,i({},n,{components:t}))}},l=function(e){var n=r.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},d=function(e){var n=l(e.components);return r.createElement(p.Provider,{value:n},e.children)},f="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},b=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),s=l(t),d=o,f=s["".concat(a,".").concat(d)]||s[d]||m[d]||i;return t?r.createElement(f,c(c({ref:n},p),{},{components:t})):r.createElement(f,c({ref:n},p))}));function y(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=b;var c={};for(var u in n)hasOwnProperty.call(n,u)&&(c[u]=n[u]);c.originalType=e,c[f]="string"==typeof e?e:o,a[1]=c;for(var p=2;p<i;p++)a[p]=t[p];return r.createElement.apply(null,a)}return r.createElement.apply(null,t)}b.displayName="MDXCreateElement"},38603:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>a,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var r=t(87462),o=(t(67294),t(3905));const i={id:"configurations",title:"Configurations"},a=void 0,c={unversionedId:"concepts/configurations",id:"concepts/configurations",title:"Configurations",description:"For rule authors see also: Configurations",source:"@site/../docs/concepts/configurations.md",sourceDirName:"concepts",slug:"/concepts/configurations",permalink:"/docs/concepts/configurations",draft:!1,tags:[],version:"current",frontMatter:{id:"configurations",title:"Configurations"},sidebar:"mainSidebar",previous:{title:".buckconfig",permalink:"/docs/concepts/buckconfig"},next:{title:"Glossary of Terms",permalink:"/docs/concepts/glossary"}},u={},p=[],s={toc:p};function l(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"For rule authors see also: ",(0,o.mdx)("a",{parentName:"p",href:"/docs/rule_authors/configurations"},"Configurations")),(0,o.mdx)("p",null,'When building a target, buck always builds it in a particular "configuration."\nThe configuration typically includes information like the target os, target\narch, sanitizers, opt level, etc. One way to understand the effect that a\nconfiguration has is via the ',(0,o.mdx)("inlineCode",{parentName:"p"},"cquery")," and ",(0,o.mdx)("inlineCode",{parentName:"p"},"uquery")," commands. The cquery command\nwill compute the appropriate configuration for a target and display a version of\nthat target's attributes with the configuration applied. The ",(0,o.mdx)("inlineCode",{parentName:"p"},"uquery")," command\nwill not apply a configuration."),(0,o.mdx)("p",null,"Here is a heavily trimmed version of the outputs of invoking ",(0,o.mdx)("inlineCode",{parentName:"p"},"uquery")," and\n",(0,o.mdx)("inlineCode",{parentName:"p"},"cquery")," on ",(0,o.mdx)("inlineCode",{parentName:"p"},"//buck2/app/buck2_core:buck2_core"),"."),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},'> buck2 uquery -A \'"//buck2/app/buck2_core:buck2_core"\'\n{\n "fbcode//buck2/app/buck2_core:buck2_core": {\n "buck.type": "rust_library",\n "buck.package": "fbcode//buck2/app/buck2_core:TARGETS",\n "name": "buck2_core",\n "visibility": [\n "PUBLIC"\n ],\n "deps": {\n "fbsource//third-party/rust:anyhow",\n "fbsource//third-party/rust:arc-swap",\n "fbsource//third-party/rust:blake3",\n "fbsource//third-party/rust:compact_str",\n "fbsource//third-party/rust:dashmap",\n {\n "__type": "selector",\n "entries": {\n "DEFAULT": [],\n "ovr_config//os:windows": [\n "fbsource//third-party/rust:common-path"\n ]\n }\n },\n {\n "__type": "selector",\n "entries": {\n "DEFAULT": [],\n "ovr_config//os:linux": [\n "fbsource//third-party/rust:nix"\n ]\n }\n },\n },\n }\n}\n')),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre"},'> buck2 cquery -A \'"//buck2/app/buck2_core:buck2_core"\'\n{\n "fbcode//buck2/app/buck2_core:buck2_core (ovr_config//platform/linux:<OMITTED>)": {\n "buck.type": "rust_library",\n "buck.package": "fbcode//buck2/app/buck2_core:TARGETS",\n "buck.target_configuration": "ovr_config//platform/linux:<OMITTED>",\n "buck.execution_platform": "fbcode//buck2/platform/<OMITTED>",\n "name": "buck2_core",\n "visibility": [\n "PUBLIC"\n ],\n "deps": [\n "fbsource//third-party/rust:anyhow (ovr_config//platform/linux:<OMITTED>)",\n "fbsource//third-party/rust:arc-swap (ovr_config//platform/linux:<OMITTED>)",\n "fbsource//third-party/rust:blake3 (ovr_config//platform/linux:<OMITTED>)",\n "fbsource//third-party/rust:compact_str (ovr_config//platform/linux:<OMITTED>)",\n "fbsource//third-party/rust:dashmap (ovr_config//platform/linux:<OMITTED>)",\n "fbsource//third-party/rust:nix (ovr_config//platform/linux:<OMITTED>)"\n ]\n}\n')),(0,o.mdx)("p",null,"The ",(0,o.mdx)("inlineCode",{parentName:"p"},"cquery")," output has additional ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck.target_configuration")," and\n",(0,o.mdx)("inlineCode",{parentName:"p"},"buck.execution_platform")," attributes which tell you what the target is being\nbuilt for and what it's being built on, respectively. ",(0,o.mdx)("inlineCode",{parentName:"p"},"uquery")," doesn't have\nthose."),(0,o.mdx)("p",null,"The deps in ",(0,o.mdx)("inlineCode",{parentName:"p"},"uquery")," also have a number of selects; these indicate that the\n",(0,o.mdx)("inlineCode",{parentName:"p"},"common-path")," dependency should only be included when building for Windows,\nwhile the ",(0,o.mdx)("inlineCode",{parentName:"p"},"nix")," dependency is needed only for Linux. In ",(0,o.mdx)("inlineCode",{parentName:"p"},"cquery")," that\ndistinction has been resolved; because the target has been configured for Linux,\nthe ",(0,o.mdx)("inlineCode",{parentName:"p"},"nix")," dependency is present and indistinguishable from any other, while the\n",(0,o.mdx)("inlineCode",{parentName:"p"},"common-path")," dependency is gone."))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f1513722.fe05d8a1.js b/assets/js/f1513722.fe05d8a1.js new file mode 100644 index 0000000000000..61b8e33dc15d8 --- /dev/null +++ b/assets/js/f1513722.fe05d8a1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[792],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>u,MDXProvider:()=>p,mdx:()=>g,useMDXComponents:()=>h,withMDXComponents:()=>c});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var u=a.createContext({}),c=function(e){return function(t){var n=h(t.components);return a.createElement(e,o({},t,{components:n}))}},h=function(e){var t=a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=h(e.components);return a.createElement(u.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=h(n),p=r,d=c["".concat(s,".").concat(p)]||c[p]||f[p]||o;return n?a.createElement(d,i(i({ref:t},u),{},{components:n})):a.createElement(d,i({ref:t},u))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,s=new Array(o);s[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[d]="string"==typeof e?e:r,s[1]=i;for(var u=2;u<o;u++)s[u]=n[u];return a.createElement.apply(null,s)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},61822:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>u});var a=n(87462),r=(n(67294),n(3905));const o={id:"targets",title:"targets"},s=void 0,i={unversionedId:"users/commands/targets",id:"users/commands/targets",title:"targets",description:"These are the flags/commands under buck2 targets and their --help output:",source:"@site/../docs/users/commands/targets.generated.md",sourceDirName:"users/commands",slug:"/users/commands/targets",permalink:"/docs/users/commands/targets",draft:!1,tags:[],version:"current",frontMatter:{id:"targets",title:"targets"},sidebar:"mainSidebar",previous:{title:"subscribe",permalink:"/docs/users/commands/subscribe"},next:{title:"test",permalink:"/docs/users/commands/test"}},l={},u=[{value:"buck targets",id:"buck-targets",level:2}],c={toc:u};function h(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"These are the flags/commands under ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 targets")," and their ",(0,r.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,r.mdx)("h2",{id:"buck-targets"},"buck targets"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"},"Alias for `utargets`\n\nUsage: buck2-release targets [OPTIONS] [TARGET_PATTERNS]...\n\nArguments:\n [TARGET_PATTERNS]...\n Patterns to interpret\n\nOptions:\n --json\n Print targets as JSON\n\n --json-lines\n Print targets as JSON-lines\n\n --stats\n Print statistics of how many entries were processed\n\n --resolve-alias\n Print the fully-qualified build target for the specified aliases\n\n --show-target-hash\n Print a stable hash of each target after the target name\n\n --show-unconfigured-target-hash\n Print a stable unconfigured hash of each target after the target name\n\n --target-hash-file-mode <TARGET_HASH_FILE_MODE>\n Modifies computation of target hashes. If set to `PATHS_AND_CONTENTS` (the default), the\n contents of all files referenced from the targets will be used to compute the target hash.\n If set to `PATHS_ONLY`, only files' paths contribute to the hash. If set to `NONE` no\n files will be used. See also --target-hash-modified-paths\n \n [default: paths_and_contents]\n [possible values: paths_only, paths_and_contents, none]\n\n --target-hash-modified-paths <TARGET_HASH_MODIFIED_PATHS>...\n Modifies computation of target hashes. Only effective when --target-hash-file-mode is set\n to `PATHS_ONLY`. If a target or its dependencies reference a file from this set, the\n target's hash will be different than if this option was omitted. Otherwise, the target's\n hash will be the same as if this option was omitted\n\n --target-hash-function <TARGET_HASH_FUNCTION>\n Selects either the \"fast\" or the \"strong\" target hash function to be used for computing\n target hashes. While we don't specify the exact algorithm, the \"strong\" algorithm should\n be a reasonable cryptographic hash (ex. blake3) while the \"fast\" function will likely be a\n non-crypto hash. Both functions are guaranteed to be deterministic and to have the same\n value across different platforms/architectures\n \n [default: fast]\n [possible values: sha1, sha256, murmur-hash3, fast, strong]\n\n --target-hash-recursive <TARGET_HASH_RECURSIVE>\n When true, emit the hash or target node and all dependencies recursively. When false, hash\n only the target node\n \n [default: true]\n [possible values: true, false]\n\n -A, --output-all-attributes\n Output all attributes, equivalent of --output-attribute ''.\n \n Avoid using this flag in automation because it may be expensive to produce certain\n attributes, and because it makes harder to track which special attributes are used.\n\n -B, --output-basic-attributes\n Output basic attributes, namely those the user can supply, plus rule type and package name\n\n -a, --output-attribute <ATTRIBUTE>\n Regular expressions to match attributes. Regular expressions are used in \"search\" mode, so\n for example empty string matches all attributes including special attributes.\n \n When using in automation, please specify the regular expression to match the attribute\n precisely, for example `--output-attribute '^headers$'` to make it easier to track which\n special attributes are used.\n\n --output-attributes <ATTRIBUTE>...\n Deprecated: Use `--output-attribute` instead.\n \n List of space-separated attributes to output, --output-attributes attr1 attr2.\n\n --include-defaults\n Enables printing of default attributes. This would be attributes in a target that aren't\n explicitly set in the target but instead use the default set in the rule declaration\n\n --show-output\n Print the path to the output for each of the rules relative to the project root\n\n --show-full-output\n Print the absolute path to the output for each of the rules\n\n --show-simple-output\n Print only the path to the output for each of the rules relative to the project root\n\n --show-full-simple-output\n Print only the absolute path to the output for each of the rules\n\n --show-json-output\n Print the output paths relative to the project root, in JSON format\n\n --show-full-json-output\n Print the output absolute paths, in JSON format\n\n --keep-going\n On loading errors, put buck.error in the output stream and continue\n\n --streaming\n Write output as soon as it is available. The order of the output items is\n non-deterministic and if multiple patterns cover the same target, may have duplicates\n\n --no-cache\n Don't cache the target information on the build graph\n\n --imports\n Show the imports of each package/import. Shows an additional output per package/import\n (not per target), including implicit dependencies (e.g. the prelude) but only direct\n dependencies (not the transitive closure)\n\n --package-values\n Show the package values. Produces an additional attribute representing all the package\n values for the package containing the target\n\n --package-values-regex <VALUES>\n Regular expressions to match package values. Produces an additional attribute representing\n package values for the package containing the target. Regular expressions are used in\n \"search\" mode so, for example, empty string matches all package values\n\n -o, --output <PATH>\n File to put the output in, rather than sending to stdout.\n \n File will be created if it does not exist, and overwritten if it does.\n\n --compression <SCHEME>\n Compress the output\n \n [default: none]\n [possible values: none, gzip, zstd]\n\n -j, --num-threads <THREADS>\n Number of threads to use during execution (default is # cores)\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f2753e08.6b539d21.js b/assets/js/f2753e08.6b539d21.js new file mode 100644 index 0000000000000..f70f9fdf9ca67 --- /dev/null +++ b/assets/js/f2753e08.6b539d21.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2118],{3905:(e,n,a)=>{a.r(n),a.d(n,{MDXContext:()=>p,MDXProvider:()=>c,mdx:()=>C,useMDXComponents:()=>s,withMDXComponents:()=>m});var i=a(67294);function l(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function t(){return t=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},t.apply(this,arguments)}function r(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,i)}return a}function o(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?r(Object(a),!0).forEach((function(n){l(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function d(e,n){if(null==e)return{};var a,i,l=function(e,n){if(null==e)return{};var a,i,l={},t=Object.keys(e);for(i=0;i<t.length;i++)a=t[i],n.indexOf(a)>=0||(l[a]=e[a]);return l}(e,n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);for(i=0;i<t.length;i++)a=t[i],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var p=i.createContext({}),m=function(e){return function(n){var a=s(n.components);return i.createElement(e,t({},n,{components:a}))}},s=function(e){var n=i.useContext(p),a=n;return e&&(a="function"==typeof e?e(n):o(o({},n),e)),a},c=function(e){var n=s(e.components);return i.createElement(p.Provider,{value:n},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},x=i.forwardRef((function(e,n){var a=e.components,l=e.mdxType,t=e.originalType,r=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),m=s(a),c=l,u=m["".concat(r,".").concat(c)]||m[c]||f[c]||t;return a?i.createElement(u,o(o({ref:n},p),{},{components:a})):i.createElement(u,o({ref:n},p))}));function C(e,n){var a=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var t=a.length,r=new Array(t);r[0]=x;var o={};for(var d in n)hasOwnProperty.call(n,d)&&(o[d]=n[d]);o.originalType=e,o[u]="string"==typeof e?e:l,r[1]=o;for(var p=2;p<t;p++)r[p]=a[p];return i.createElement.apply(null,r)}return i.createElement.apply(null,a)}x.displayName="MDXCreateElement"},15290:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>s,frontMatter:()=>t,metadata:()=>o,toc:()=>p});var i=a(87462),l=(a(67294),a(3905));const t={id:"package_files",title:"PACKAGE Files"},r=void 0,o={unversionedId:"rule_authors/package_files",id:"rule_authors/package_files",title:"PACKAGE Files",description:"PACKAGE files are per-directory configuration files which are accessible from",source:"@site/../docs/rule_authors/package.md",sourceDirName:"rule_authors",slug:"/rule_authors/package_files",permalink:"/docs/rule_authors/package_files",draft:!1,tags:[],version:"current",frontMatter:{id:"package_files",title:"PACKAGE Files"},sidebar:"mainSidebar",previous:{title:"Local Resources For Tests Execution",permalink:"/docs/rule_authors/local_resources"},next:{title:"Dep Files",permalink:"/docs/rule_authors/dep_files"}},d={},p=[{value:"APIs",id:"apis",level:2},{value:"<code>PACKAGE</code> APIs",id:"package-apis",level:3},{value:"<code>write_package_value</code>",id:"write_package_value",level:4},{value:"<code>read_parent_package_value</code>",id:"read_parent_package_value",level:4},{value:"<code>package</code>",id:"package",level:4},{value:"<code>read_config</code>",id:"read_config",level:4},{value:"<code>BUCK</code>-specific API",id:"buck-specific-api",level:3},{value:"<code>read_package_value</code>",id:"read_package_value",level:4}],m={toc:p};function s(e){let{components:n,...a}=e;return(0,l.mdx)("wrapper",(0,i.Z)({},m,a,{components:n,mdxType:"MDXLayout"}),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files are per-directory configuration files which are accessible from\nStarlark rules/macros. It supports things like per-directory properties, reading\nparent ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," values (",(0,l.mdx)("inlineCode",{parentName:"p"},"read_parent_package_value()"),"), writing ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE"),"\nvalues (",(0,l.mdx)("inlineCode",{parentName:"p"},"write_package_value()"),"), loading helper ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," files, and you can also\ninspect ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," values via ",(0,l.mdx)("inlineCode",{parentName:"p"},"buck2 audit package-values"),"."),(0,l.mdx)("p",null,"Before evaluating ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file, buck2 will evaluate all ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files in the\nsame directory and all parent directories. Absent ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files are treated as\nempty files."),(0,l.mdx)("p",null,"All relevant ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files are executed sequentially from the root directory\nto the current directory (but unrelated ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files can be executed in\nparallel). Evaluating ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files sequentially provides additional\nguarantees, for example, attempt to override a property (unless explicitly\nrequested) should fail with Starlark call stack."),(0,l.mdx)("p",null,"Each ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file is evaluated at most once (like ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," files)."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files may load arbitrary ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," files. ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK"),"-specific functions called\nin ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," files (like rule functions) are available, but calling functions from\n",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files is an error. This way, ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," files are evaluated only once\nregardless of whether they are loaded from ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," or ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file."),(0,l.mdx)("h2",{id:"apis"},"APIs"),(0,l.mdx)("h3",{id:"package-apis"},(0,l.mdx)("inlineCode",{parentName:"h3"},"PACKAGE")," APIs"),(0,l.mdx)("h4",{id:"write_package_value"},(0,l.mdx)("a",{parentName:"h4",href:"../../api/build/globals/#write_package_value"},(0,l.mdx)("inlineCode",{parentName:"a"},"write_package_value"))),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},'def write_package_value(\n name: str,\n value: "",\n overwrite: bool = False,\n): ...\n')),(0,l.mdx)("p",null,"This global API is only available in ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files, or ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," files included in\n",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"name")," is a string which must contain exactly one dot symbol (just to enforce\ncode style)."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"value")," is an arbitrary Starlark value, for example, an integer, a list of\ninteger, a struct or a function. The value must be serializable into JSON."),(0,l.mdx)("p",null,"When ",(0,l.mdx)("inlineCode",{parentName:"p"},"overwrite")," is ",(0,l.mdx)("inlineCode",{parentName:"p"},"False")," (default), attempt to overwrite per-",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," value\ndefined in parent ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file will fail."),(0,l.mdx)("p",null,"Written values are frozen when ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file evaluation is finished."),(0,l.mdx)("p",null,"Note ",(0,l.mdx)("inlineCode",{parentName:"p"},"write_package_value")," symbol exists in ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," globals, and it can be called\nfrom ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," file in context of ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," evaluation, but calling\n",(0,l.mdx)("inlineCode",{parentName:"p"},"write_package_file")," is an error on context of ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," evaluation."),(0,l.mdx)("p",null,"Modifying ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file logically invalidates the ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," file of this\ndirectory, and all ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," and ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," files of sub-",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE"),"s. However, ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK"),"\nfile evaluation may track which ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE"),"-local values were accessed and only\ninvalidate ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," files which were potentially affected (similarly to how we do\nit with buckconfigs)."),(0,l.mdx)("h4",{id:"read_parent_package_value"},(0,l.mdx)("a",{parentName:"h4",href:"../../api/build/globals/#read_parent_package_value"},(0,l.mdx)("inlineCode",{parentName:"a"},"read_parent_package_value"))),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_parent_package_value(\n key: str,\n): ...\n")),(0,l.mdx)("p",null,"This global API is only available in ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files, or ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," files included in\n",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files."),(0,l.mdx)("p",null,"This function returns the ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," value defined in a parent ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file, or\n",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," is such value does not exist."),(0,l.mdx)("p",null,"This function is available in ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files, but attempt to call this function\nin context of ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," file evaluation results in an error."),(0,l.mdx)("h4",{id:"package"},(0,l.mdx)("a",{parentName:"h4",href:"../../api/build/globals/#package"},(0,l.mdx)("inlineCode",{parentName:"a"},"package"))),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def package(\n inherit: bool = False,\n visibility: list[str] | tuple[str, ...] = [],\n within_view: list[str] | tuple[str, ...] = []\n) -> None\n")),(0,l.mdx)("p",null,"This global API is only available in ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files, or ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," files included in\n",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"visibility")," is a list of visibility patterns to apply to all targets contained\nwithin the directory, unless the target defines it's own visibility patterns."),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"within_view")," is a list of visibility patterns restricting what all target\ncontained within the ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," directory can depend on. Applies to first-order\ndeps, and not transitive deps."),(0,l.mdx)("p",null,"If ",(0,l.mdx)("inlineCode",{parentName:"p"},"inherit")," is ",(0,l.mdx)("inlineCode",{parentName:"p"},"True"),", then the ",(0,l.mdx)("inlineCode",{parentName:"p"},"visibility")," and ",(0,l.mdx)("inlineCode",{parentName:"p"},"within_view")," will be\ninherited from the nearest parent ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE"),"."),(0,l.mdx)("h4",{id:"read_config"},(0,l.mdx)("a",{parentName:"h4",href:"../../api/build/globals/#read_config"},(0,l.mdx)("inlineCode",{parentName:"a"},"read_config"))),(0,l.mdx)("p",null,(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," files are able to call ",(0,l.mdx)("inlineCode",{parentName:"p"},"read_config")," to read buckconfigs."),(0,l.mdx)("h3",{id:"buck-specific-api"},(0,l.mdx)("inlineCode",{parentName:"h3"},"BUCK"),"-specific API"),(0,l.mdx)("h4",{id:"read_package_value"},(0,l.mdx)("a",{parentName:"h4",href:"../../api/build/globals/#read_package_value"},(0,l.mdx)("inlineCode",{parentName:"a"},"read_package_value"))),(0,l.mdx)("pre",null,(0,l.mdx)("code",{parentName:"pre",className:"language-python"},"def read_package_value(\n name: str,\n): ...\n")),(0,l.mdx)("p",null,"This global API is only available in ",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," files, or ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," files included in\n",(0,l.mdx)("inlineCode",{parentName:"p"},"BUCK")," files."),(0,l.mdx)("p",null,"This function returns the nearest ",(0,l.mdx)("inlineCode",{parentName:"p"},"name")," value registered per ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE"),", or\n",(0,l.mdx)("inlineCode",{parentName:"p"},"None")," is such value does not exist."),(0,l.mdx)("p",null,"This function is available in ",(0,l.mdx)("inlineCode",{parentName:"p"},"bzl")," files, but attempt to call this function in\ncontext of ",(0,l.mdx)("inlineCode",{parentName:"p"},"PACKAGE")," file evaluation results in an error. This restriction can\nbe lifted in the future."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f5a9f27a.44924f84.js b/assets/js/f5a9f27a.44924f84.js new file mode 100644 index 0000000000000..22e09d7e5e99c --- /dev/null +++ b/assets/js/f5a9f27a.44924f84.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4244],{3905:(e,t,a)=>{a.r(t),a.d(t,{MDXContext:()=>d,MDXProvider:()=>_,mdx:()=>x,useMDXComponents:()=>p,withMDXComponents:()=>m});var i=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(){return r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},r.apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,i,n=function(e,t){if(null==e)return{};var a,i,n={},r=Object.keys(e);for(i=0;i<r.length;i++)a=r[i],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)a=r[i],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var d=i.createContext({}),m=function(e){return function(t){var a=p(t.components);return i.createElement(e,r({},t,{components:a}))}},p=function(e){var t=i.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},_=function(e){var t=p(e.components);return i.createElement(d.Provider,{value:t},e.children)},c="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},u=i.forwardRef((function(e,t){var a=e.components,n=e.mdxType,r=e.originalType,l=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),m=p(a),_=n,c=m["".concat(l,".").concat(_)]||m[_]||h[_]||r;return a?i.createElement(c,s(s({ref:t},d),{},{components:a})):i.createElement(c,s({ref:t},d))}));function x(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=a.length,l=new Array(r);l[0]=u;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[c]="string"==typeof e?e:n,l[1]=s;for(var d=2;d<r;d++)l[d]=a[d];return i.createElement.apply(null,l)}return i.createElement.apply(null,a)}u.displayName="MDXCreateElement"},92321:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>d});var i=a(87462),n=(a(67294),a(3905));const r={id:"globals"},l="Rules",s={unversionedId:"prelude/globals",id:"prelude/globals",title:"Rules",description:"These rules are available as standard in Buck2.",source:"@site/../docs/prelude/globals.generated.md",sourceDirName:"prelude",slug:"/prelude/globals",permalink:"/docs/prelude/globals",draft:!1,tags:[],version:"current",frontMatter:{id:"globals"},sidebar:"apiSidebar",previous:{title:"APIs",permalink:"/docs/api"},next:{title:"globals",permalink:"/docs/api/starlark/globals"}},o={},d=[{value:"Parameters",id:"parameters",level:4},{value:"android_aar",id:"android_aar",level:2},{value:"Parameters",id:"parameters-1",level:4},{value:"Details",id:"details",level:4},{value:"android_app_modularity",id:"android_app_modularity",level:2},{value:"Parameters",id:"parameters-2",level:4},{value:"android_binary",id:"android_binary",level:2},{value:"Parameters",id:"parameters-3",level:4},{value:"android_build_config",id:"android_build_config",level:2},{value:"Parameters",id:"parameters-4",level:4},{value:"Details",id:"details-1",level:4},{value:"android_bundle",id:"android_bundle",level:2},{value:"Parameters",id:"parameters-5",level:4},{value:"android_instrumentation_apk",id:"android_instrumentation_apk",level:2},{value:"Parameters",id:"parameters-6",level:4},{value:"Details",id:"details-2",level:4},{value:"android_instrumentation_test",id:"android_instrumentation_test",level:2},{value:"Parameters",id:"parameters-7",level:4},{value:"Details",id:"details-3",level:4},{value:"android_library",id:"android_library",level:2},{value:"Parameters",id:"parameters-8",level:4},{value:"Details",id:"details-4",level:4},{value:"android_manifest",id:"android_manifest",level:2},{value:"Parameters",id:"parameters-9",level:4},{value:"Details",id:"details-5",level:4},{value:"android_platform",id:"android_platform",level:2},{value:"Parameters",id:"parameters-10",level:4},{value:"android_prebuilt_aar",id:"android_prebuilt_aar",level:2},{value:"Parameters",id:"parameters-11",level:4},{value:"Details",id:"details-6",level:4},{value:"android_resource",id:"android_resource",level:2},{value:"Parameters",id:"parameters-12",level:4},{value:"Details",id:"details-7",level:4},{value:"apk_genrule",id:"apk_genrule",level:2},{value:"Parameters",id:"parameters-13",level:4},{value:"Details",id:"details-8",level:4},{value:"apple_asset_catalog",id:"apple_asset_catalog",level:2},{value:"Parameters",id:"parameters-14",level:4},{value:"Details",id:"details-9",level:4},{value:"apple_binary",id:"apple_binary",level:2},{value:"Parameters",id:"parameters-15",level:4},{value:"Details",id:"details-10",level:4},{value:"apple_bundle",id:"apple_bundle",level:2},{value:"Parameters",id:"parameters-16",level:4},{value:"Details",id:"details-11",level:4},{value:"apple_library",id:"apple_library",level:2},{value:"Parameters",id:"parameters-17",level:4},{value:"Details",id:"details-12",level:4},{value:"apple_package",id:"apple_package",level:2},{value:"Parameters",id:"parameters-18",level:4},{value:"Details",id:"details-13",level:4},{value:"apple_resource",id:"apple_resource",level:2},{value:"Parameters",id:"parameters-19",level:4},{value:"Details",id:"details-14",level:4},{value:"apple_test",id:"apple_test",level:2},{value:"Parameters",id:"parameters-20",level:4},{value:"Details",id:"details-15",level:4},{value:"apple_toolchain",id:"apple_toolchain",level:2},{value:"Parameters",id:"parameters-21",level:4},{value:"apple_toolchain_set",id:"apple_toolchain_set",level:2},{value:"Parameters",id:"parameters-22",level:4},{value:"apple_universal_executable",id:"apple_universal_executable",level:2},{value:"Parameters",id:"parameters-23",level:4},{value:"Details",id:"details-16",level:4},{value:"apple_xcframework",id:"apple_xcframework",level:2},{value:"Parameters",id:"parameters-24",level:4},{value:"apple_xcuitest",id:"apple_xcuitest",level:2},{value:"Parameters",id:"parameters-25",level:4},{value:"cgo_library",id:"cgo_library",level:2},{value:"Parameters",id:"parameters-26",level:4},{value:"Details",id:"details-17",level:4},{value:"command_alias",id:"command_alias",level:2},{value:"Parameters",id:"parameters-27",level:4},{value:"Details",id:"details-18",level:4},{value:"config_setting",id:"config_setting",level:2},{value:"Parameters",id:"parameters-28",level:4},{value:"configuration_alias",id:"configuration_alias",level:2},{value:"Parameters",id:"parameters-29",level:4},{value:"configured_alias",id:"configured_alias",level:2},{value:"Parameters",id:"parameters-30",level:4},{value:"constraint_setting",id:"constraint_setting",level:2},{value:"Parameters",id:"parameters-31",level:4},{value:"constraint_value",id:"constraint_value",level:2},{value:"Parameters",id:"parameters-32",level:4},{value:"core_data_model",id:"core_data_model",level:2},{value:"Parameters",id:"parameters-33",level:4},{value:"Details",id:"details-19",level:4},{value:"csharp_library",id:"csharp_library",level:2},{value:"Parameters",id:"parameters-34",level:4},{value:"Details",id:"details-20",level:4},{value:"cxx_binary",id:"cxx_binary",level:2},{value:"Parameters",id:"parameters-35",level:4},{value:"Details",id:"details-21",level:4},{value:"cxx_genrule",id:"cxx_genrule",level:2},{value:"Parameters",id:"parameters-36",level:4},{value:"Details",id:"details-22",level:4},{value:"cxx_library",id:"cxx_library",level:2},{value:"Parameters",id:"parameters-37",level:4},{value:"Details",id:"details-23",level:4},{value:"Building requires a specified top-level target",id:"building-requires-a-specified-top-level-target",level:4},{value:"Dependencies of the cxx_library also require a top-level target",id:"dependencies-of-the-cxx_library-also-require-a-top-level-target",level:4},{value:"cxx_lua_extension",id:"cxx_lua_extension",level:2},{value:"Parameters",id:"parameters-38",level:4},{value:"Details",id:"details-24",level:4},{value:"cxx_precompiled_header",id:"cxx_precompiled_header",level:2},{value:"Parameters",id:"parameters-39",level:4},{value:"Details",id:"details-25",level:4},{value:"cxx_python_extension",id:"cxx_python_extension",level:2},{value:"Parameters",id:"parameters-40",level:4},{value:"Details",id:"details-26",level:4},{value:"cxx_test",id:"cxx_test",level:2},{value:"Parameters",id:"parameters-41",level:4},{value:"Details",id:"details-27",level:4},{value:"cxx_toolchain",id:"cxx_toolchain",level:2},{value:"Parameters",id:"parameters-42",level:4},{value:"d_binary",id:"d_binary",level:2},{value:"Parameters",id:"parameters-43",level:4},{value:"Details",id:"details-28",level:4},{value:"d_library",id:"d_library",level:2},{value:"Parameters",id:"parameters-44",level:4},{value:"Details",id:"details-29",level:4},{value:"d_test",id:"d_test",level:2},{value:"Parameters",id:"parameters-45",level:4},{value:"Details",id:"details-30",level:4},{value:"erlang_app",id:"erlang_app",level:2},{value:"Parameters",id:"parameters-46",level:4},{value:"Details",id:"details-31",level:4},{value:"Minimal Erlang Application",id:"minimal-erlang-application",level:4},{value:"With <code>priv/</code> directory",id:"with-priv-directory",level:4},{value:"Using OTP applications and <code>mod</code> field",id:"using-otp-applications-and-mod-field",level:4},{value:"Using Yecc and Leex",id:"using-yecc-and-leex",level:4},{value:"erlang_app_includes",id:"erlang_app_includes",level:2},{value:"Parameters",id:"parameters-47",level:4},{value:"erlang_escript",id:"erlang_escript",level:2},{value:"Parameters",id:"parameters-48",level:4},{value:"Details",id:"details-32",level:4},{value:"erlang_otp_binaries",id:"erlang_otp_binaries",level:2},{value:"Parameters",id:"parameters-49",level:4},{value:"Details",id:"details-33",level:4},{value:"erlang_release",id:"erlang_release",level:2},{value:"Parameters",id:"parameters-50",level:4},{value:"Details",id:"details-34",level:4},{value:"erlang_test",id:"erlang_test",level:2},{value:"Parameters",id:"parameters-51",level:4},{value:"Details",id:"details-35",level:4},{value:"export_file",id:"export_file",level:2},{value:"Parameters",id:"parameters-52",level:4},{value:"Details",id:"details-36",level:4},{value:"external_test_runner",id:"external_test_runner",level:2},{value:"Parameters",id:"parameters-53",level:4},{value:"filegroup",id:"filegroup",level:2},{value:"Parameters",id:"parameters-54",level:4},{value:"Details",id:"details-37",level:4},{value:"gen_aidl",id:"gen_aidl",level:2},{value:"Parameters",id:"parameters-55",level:4},{value:"Details",id:"details-38",level:4},{value:"genrule",id:"genrule",level:2},{value:"Parameters",id:"parameters-56",level:4},{value:"Details",id:"details-39",level:4},{value:"git_fetch",id:"git_fetch",level:2},{value:"Parameters",id:"parameters-57",level:4},{value:"Details",id:"details-40",level:4},{value:"go_binary",id:"go_binary",level:2},{value:"Parameters",id:"parameters-58",level:4},{value:"Details",id:"details-41",level:4},{value:"go_bootstrap_binary",id:"go_bootstrap_binary",level:2},{value:"Parameters",id:"parameters-59",level:4},{value:"go_exported_library",id:"go_exported_library",level:2},{value:"Parameters",id:"parameters-60",level:4},{value:"Details",id:"details-42",level:4},{value:"go_library",id:"go_library",level:2},{value:"Parameters",id:"parameters-61",level:4},{value:"Details",id:"details-43",level:4},{value:"go_stdlib",id:"go_stdlib",level:2},{value:"Parameters",id:"parameters-62",level:4},{value:"go_test",id:"go_test",level:2},{value:"Parameters",id:"parameters-63",level:4},{value:"Details",id:"details-44",level:4},{value:"go_test_runner",id:"go_test_runner",level:2},{value:"Parameters",id:"parameters-64",level:4},{value:"groovy_library",id:"groovy_library",level:2},{value:"Parameters",id:"parameters-65",level:4},{value:"Details",id:"details-45",level:4},{value:"groovy_test",id:"groovy_test",level:2},{value:"Parameters",id:"parameters-66",level:4},{value:"gwt_binary",id:"gwt_binary",level:2},{value:"Parameters",id:"parameters-67",level:4},{value:"halide_library",id:"halide_library",level:2},{value:"Parameters",id:"parameters-68",level:4},{value:"Details",id:"details-46",level:4},{value:"haskell_binary",id:"haskell_binary",level:2},{value:"Parameters",id:"parameters-69",level:4},{value:"Details",id:"details-47",level:4},{value:"haskell_ghci",id:"haskell_ghci",level:2},{value:"Parameters",id:"parameters-70",level:4},{value:"haskell_haddock",id:"haskell_haddock",level:2},{value:"Parameters",id:"parameters-71",level:4},{value:"haskell_ide",id:"haskell_ide",level:2},{value:"Parameters",id:"parameters-72",level:4},{value:"haskell_library",id:"haskell_library",level:2},{value:"Parameters",id:"parameters-73",level:4},{value:"Details",id:"details-48",level:4},{value:"haskell_prebuilt_library",id:"haskell_prebuilt_library",level:2},{value:"Parameters",id:"parameters-74",level:4},{value:"Details",id:"details-49",level:4},{value:"http_archive",id:"http_archive",level:2},{value:"Parameters",id:"parameters-75",level:4},{value:"Details",id:"details-50",level:4},{value:"http_file",id:"http_file",level:2},{value:"Parameters",id:"parameters-76",level:4},{value:"Details",id:"details-51",level:4},{value:"jar_genrule",id:"jar_genrule",level:2},{value:"Parameters",id:"parameters-77",level:4},{value:"java_annotation_processor",id:"java_annotation_processor",level:2},{value:"Parameters",id:"parameters-78",level:4},{value:"java_binary",id:"java_binary",level:2},{value:"Parameters",id:"parameters-79",level:4},{value:"java_library",id:"java_library",level:2},{value:"Parameters",id:"parameters-80",level:4},{value:"Details",id:"details-52",level:4},{value:"java_plugin",id:"java_plugin",level:2},{value:"Parameters",id:"parameters-81",level:4},{value:"java_test",id:"java_test",level:2},{value:"Parameters",id:"parameters-82",level:4},{value:"java_test_runner",id:"java_test_runner",level:2},{value:"Parameters",id:"parameters-83",level:4},{value:"js_bundle",id:"js_bundle",level:2},{value:"Parameters",id:"parameters-84",level:4},{value:"js_bundle_genrule",id:"js_bundle_genrule",level:2},{value:"Parameters",id:"parameters-85",level:4},{value:"js_library",id:"js_library",level:2},{value:"Parameters",id:"parameters-86",level:4},{value:"julia_binary",id:"julia_binary",level:2},{value:"Parameters",id:"parameters-87",level:4},{value:"julia_jll_library",id:"julia_jll_library",level:2},{value:"Parameters",id:"parameters-88",level:4},{value:"julia_library",id:"julia_library",level:2},{value:"Parameters",id:"parameters-89",level:4},{value:"julia_test",id:"julia_test",level:2},{value:"Parameters",id:"parameters-90",level:4},{value:"keystore",id:"keystore",level:2},{value:"Parameters",id:"parameters-91",level:4},{value:"kotlin_library",id:"kotlin_library",level:2},{value:"Parameters",id:"parameters-92",level:4},{value:"Details",id:"details-53",level:4},{value:"kotlin_test",id:"kotlin_test",level:2},{value:"Parameters",id:"parameters-93",level:4},{value:"legacy_toolchain",id:"legacy_toolchain",level:2},{value:"Parameters",id:"parameters-94",level:4},{value:"llvm_link_bitcode",id:"llvm_link_bitcode",level:2},{value:"Parameters",id:"parameters-95",level:4},{value:"Details",id:"details-54",level:4},{value:"lua_binary",id:"lua_binary",level:2},{value:"Parameters",id:"parameters-96",level:4},{value:"Details",id:"details-55",level:4},{value:"lua_library",id:"lua_library",level:2},{value:"Parameters",id:"parameters-97",level:4},{value:"Details",id:"details-56",level:4},{value:"matlab_program",id:"matlab_program",level:2},{value:"Parameters",id:"parameters-98",level:4},{value:"ndk_library",id:"ndk_library",level:2},{value:"Parameters",id:"parameters-99",level:4},{value:"Details",id:"details-57",level:4},{value:"ndk_toolchain",id:"ndk_toolchain",level:2},{value:"Parameters",id:"parameters-100",level:4},{value:"ocaml_binary",id:"ocaml_binary",level:2},{value:"Parameters",id:"parameters-101",level:4},{value:"Details",id:"details-58",level:4},{value:"ocaml_library",id:"ocaml_library",level:2},{value:"Parameters",id:"parameters-102",level:4},{value:"Details",id:"details-59",level:4},{value:"ocaml_object",id:"ocaml_object",level:2},{value:"Parameters",id:"parameters-103",level:4},{value:"ocaml_shared",id:"ocaml_shared",level:2},{value:"Parameters",id:"parameters-104",level:4},{value:"platform",id:"platform",level:2},{value:"Parameters",id:"parameters-105",level:4},{value:"prebuilt_apple_framework",id:"prebuilt_apple_framework",level:2},{value:"Parameters",id:"parameters-106",level:4},{value:"Details",id:"details-60",level:4},{value:"prebuilt_cxx_library",id:"prebuilt_cxx_library",level:2},{value:"Parameters",id:"parameters-107",level:4},{value:"Details",id:"details-61",level:4},{value:"prebuilt_cxx_library_group",id:"prebuilt_cxx_library_group",level:2},{value:"Parameters",id:"parameters-108",level:4},{value:"Details",id:"details-62",level:4},{value:"prebuilt_dotnet_library",id:"prebuilt_dotnet_library",level:2},{value:"Parameters",id:"parameters-109",level:4},{value:"Details",id:"details-63",level:4},{value:"prebuilt_go_library",id:"prebuilt_go_library",level:2},{value:"Parameters",id:"parameters-110",level:4},{value:"Details",id:"details-64",level:4},{value:"prebuilt_jar",id:"prebuilt_jar",level:2},{value:"Parameters",id:"parameters-111",level:4},{value:"Details",id:"details-65",level:4},{value:"prebuilt_native_library",id:"prebuilt_native_library",level:2},{value:"Parameters",id:"parameters-112",level:4},{value:"Details",id:"details-66",level:4},{value:"prebuilt_ocaml_library",id:"prebuilt_ocaml_library",level:2},{value:"Parameters",id:"parameters-113",level:4},{value:"prebuilt_python_library",id:"prebuilt_python_library",level:2},{value:"Parameters",id:"parameters-114",level:4},{value:"Details",id:"details-67",level:4},{value:"python_binary",id:"python_binary",level:2},{value:"Parameters",id:"parameters-115",level:4},{value:"Details",id:"details-68",level:4},{value:"python_bootstrap_binary",id:"python_bootstrap_binary",level:2},{value:"Parameters",id:"parameters-116",level:4},{value:"python_bootstrap_library",id:"python_bootstrap_library",level:2},{value:"Parameters",id:"parameters-117",level:4},{value:"python_library",id:"python_library",level:2},{value:"Parameters",id:"parameters-118",level:4},{value:"Details",id:"details-69",level:4},{value:"python_needed_coverage_test",id:"python_needed_coverage_test",level:2},{value:"Parameters",id:"parameters-119",level:4},{value:"python_test",id:"python_test",level:2},{value:"Parameters",id:"parameters-120",level:4},{value:"Details",id:"details-70",level:4},{value:"python_test_runner",id:"python_test_runner",level:2},{value:"Parameters",id:"parameters-121",level:4},{value:"remote_file",id:"remote_file",level:2},{value:"Parameters",id:"parameters-122",level:4},{value:"Details",id:"details-71",level:4},{value:"robolectric_test",id:"robolectric_test",level:2},{value:"Parameters",id:"parameters-123",level:4},{value:"rust_binary",id:"rust_binary",level:2},{value:"Parameters",id:"parameters-124",level:4},{value:"Details",id:"details-72",level:4},{value:"rust_library",id:"rust_library",level:2},{value:"Parameters",id:"parameters-125",level:4},{value:"Details",id:"details-73",level:4},{value:"rust_test",id:"rust_test",level:2},{value:"Parameters",id:"parameters-126",level:4},{value:"Details",id:"details-74",level:4},{value:"scala_library",id:"scala_library",level:2},{value:"Parameters",id:"parameters-127",level:4},{value:"scala_test",id:"scala_test",level:2},{value:"Parameters",id:"parameters-128",level:4},{value:"scene_kit_assets",id:"scene_kit_assets",level:2},{value:"Parameters",id:"parameters-129",level:4},{value:"sh_binary",id:"sh_binary",level:2},{value:"Parameters",id:"parameters-130",level:4},{value:"Details",id:"details-75",level:4},{value:"sh_test",id:"sh_test",level:2},{value:"Parameters",id:"parameters-131",level:4},{value:"Details",id:"details-76",level:4},{value:"supermodule_target_graph",id:"supermodule_target_graph",level:2},{value:"Parameters",id:"parameters-132",level:4},{value:"swift_library",id:"swift_library",level:2},{value:"Parameters",id:"parameters-133",level:4},{value:"swift_toolchain",id:"swift_toolchain",level:2},{value:"Parameters",id:"parameters-134",level:4},{value:"test_suite",id:"test_suite",level:2},{value:"Parameters",id:"parameters-135",level:4},{value:"Details",id:"details-77",level:4},{value:"toolchain_alias",id:"toolchain_alias",level:2},{value:"Parameters",id:"parameters-136",level:4},{value:"Details",id:"details-78",level:4},{value:"versioned_alias",id:"versioned_alias",level:2},{value:"Parameters",id:"parameters-137",level:4},{value:"windows_resource",id:"windows_resource",level:2},{value:"Parameters",id:"parameters-138",level:4},{value:"Details",id:"details-79",level:4},{value:"worker_tool",id:"worker_tool",level:2},{value:"Parameters",id:"parameters-139",level:4},{value:"Details",id:"details-80",level:4},{value:"zip_file",id:"zip_file",level:2},{value:"Parameters",id:"parameters-140",level:4},{value:"Details",id:"details-81",level:4}],m={toc:d};function p(e){let{components:t,...a}=e;return(0,n.mdx)("wrapper",(0,i.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"rules"},"Rules"),(0,n.mdx)("p",null,"These rules are available as standard in Buck2."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def alias(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n actual: str,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_aar"},"android","_","aar"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_aar(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _is_building_android_binary: bool = _,\n _is_force_single_cpu: bool = _,\n _is_force_single_default_cpu: bool = _,\n _java_toolchain: str = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n abi_generation_mode: None | str = _,\n annotation_processing_tool: None | str = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n build_config_values: list[str] = _,\n build_config_values_file: None | str = _,\n compress_asset_libraries: bool = _,\n contacts: list[str] = _,\n cpu_filters: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n enable_relinker: bool = _,\n excluded_java_deps: list[str] = _,\n extra_arguments: list[str] = _,\n extra_kotlinc_arguments: list[str] = _,\n friend_paths: list[str] = _,\n include_build_config_class: bool = _,\n java_version: None | str = _,\n javac: None | str = _,\n kotlin_compiler_plugins: dict[str, dict[str, str]] = _,\n labels: list[str] = _,\n language: None | str = _,\n licenses: list[str] = _,\n manifest: None | str = _,\n manifest_file: None | str = _,\n manifest_skeleton: str,\n maven_coords: None | str = _,\n min_sdk_version: None | int = _,\n native_library_merge_code_generator: None | str = _,\n native_library_merge_glue: None | str = _,\n native_library_merge_linker_args: None | dict[str, list[str]] = _,\n native_library_merge_localized_symbols: None | list[str] = _,\n native_library_merge_map: None | dict[str, list[str]] = _,\n native_library_merge_sequence: None | list[typing.Any] = _,\n native_library_merge_sequence_blocklist: None | list[str] = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n package_asset_libraries: bool = _,\n package_resources: bool = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n relinker_whitelist: list[str] = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resource_union_package: None | str = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n strip_libraries: bool = _,\n target: None | str = _,\n use_jvm_abi_gen: None | bool = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_aar()")," rule is used to generate an Android AAR."),(0,n.mdx)("h4",{id:"parameters-1"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"build_config_values"),": See the documentation on the values argument for ",(0,n.mdx)("inlineCode",{parentName:"li"},"android_build_config()"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"include_build_config_class"),": Whether to include the ",(0,n.mdx)("inlineCode",{parentName:"li"},"BuildConfig")," class files in the final .aar file. Needs to be set to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True")," if any build","_","config","_","values are specified. This is normally only needed if the build tool that is consuming the .aar file does not generate ",(0,n.mdx)("inlineCode",{parentName:"li"},"BuildConfig")," classes. Note: the AAR format does not specify a way to pass defaults that should be injected into the final ",(0,n.mdx)("inlineCode",{parentName:"li"},"BuildConfig")," class, therefore that information might need to be replicated manually in the build that's consuming the .aar file."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"manifest_skeleton"),": The skeleton manifest file used to generate the final ",(0,n.mdx)("inlineCode",{parentName:"li"},"AndroidManifest.xml")," . May either be a file or an ",(0,n.mdx)("inlineCode",{parentName:"li"},"android_manifest()")," target."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"remove_classes"),": List of classes to remove from the output aar. It removes classes from the target's own sources, and its dependencies.")),(0,n.mdx)("h4",{id:"details"},"Details"),(0,n.mdx)("p",null,"See the ",(0,n.mdx)("a",{parentName:"p",href:"https://developer.android.com/studio/projects/android-library#aar-contents"},"official Android documentation")," for details about the ",(0,n.mdx)("inlineCode",{parentName:"p"},".aar")," format."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nandroid_resource(\n name = 'res',\n res = 'res',\n assets = 'assets',\n package = 'com.example',\n)\n\nandroid_library(\n name = 'lib',\n srcs = glob(['**/*.java']),\n)\n\nandroid_aar(\n name = 'app',\n manifest_skeleton = 'AndroidManifestSkeleton.xml',\n deps = [\n ':res',\n ':lib',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_app_modularity"},"android","_","app","_","modularity"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_app_modularity(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n application_module_blacklist: None | list[str] = _,\n application_module_configs: dict[str, list[str]] = _,\n application_module_dependencies: None | dict[str, list[str]] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n no_dx: list[str] = _,\n should_include_classes: bool = _,\n should_include_libraries: bool = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-2"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_binary"},"android","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _dex_toolchain: str = _,\n _exec_os_type: str = _,\n _is_building_android_binary: bool = _,\n _is_force_single_cpu: bool = _,\n _is_force_single_default_cpu: bool = _,\n _java_toolchain: str = _,\n aapt2_keep_raw_values: bool = _,\n aapt2_locale_filtering: bool = _,\n aapt2_preferred_density: None | str = _,\n aapt_mode: str = _,\n additional_aapt_params: list[str] = _,\n allow_r_dot_java_in_secondary_dex: bool = _,\n allowed_duplicate_resource_types: list[str] = _,\n android_sdk_proguard_config: None | str = _,\n application_module_blacklist: None | list[str] = _,\n application_module_configs: dict[str, list[str]] = _,\n application_module_dependencies: None | dict[str, list[str]] = _,\n asset_compression_algorithm: None | str = _,\n banned_duplicate_resource_types: list[str] = _,\n buck2_compatibility: str = _,\n build_config_values: list[str] = _,\n build_config_values_file: None | str = _,\n build_string_source_map: bool = _,\n compress_asset_libraries: bool = _,\n constraint_overrides: list[str] = _,\n contacts: list[str] = _,\n cpu_filters: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n dex_compression: None | str = _,\n dex_group_lib_limit: int = _,\n dex_tool: str = _,\n disable_pre_dex: bool = _,\n duplicate_resource_behavior: str = _,\n duplicate_resource_whitelist: None | str = _,\n enable_relinker: bool = _,\n exopackage_modes: list[str] = _,\n extra_filtered_resources: list[str] = _,\n extra_no_compress_asset_extensions: list[str] = _,\n field_ref_count_buffer_space: int = _,\n ignore_aapt_proguard_config: bool = _,\n includes_vector_drawables: bool = _,\n is_cacheable: bool = _,\n is_voltron_language_pack_enabled: bool = _,\n keystore: str,\n labels: list[str] = _,\n licenses: list[str] = _,\n linear_alloc_hard_limit: int = _,\n locales: list[str] = _,\n manifest: None | str = _,\n manifest_entries: dict[str, typing.Any] = _,\n manifest_skeleton: None | str = _,\n method_ref_count_buffer_space: int = _,\n min_sdk_version: None | int = _,\n minimize_primary_dex_size: bool = _,\n module_manifest_skeleton: None | str = _,\n native_library_merge_code_generator: None | str = _,\n native_library_merge_glue: None | str = _,\n native_library_merge_linker_args: None | dict[str, list[str]] = _,\n native_library_merge_localized_symbols: None | list[str] = _,\n native_library_merge_map: None | dict[str, list[str]] = _,\n native_library_merge_sequence: None | list[typing.Any] = _,\n native_library_merge_sequence_blocklist: None | list[str] = _,\n no_auto_add_overlay_resources: bool = _,\n no_auto_version_resources: bool = _,\n no_dx: list[str] = _,\n no_version_transitions_resources: bool = _,\n optimization_passes: int = _,\n package_asset_libraries: bool = _,\n package_type: str = _,\n packaged_locales: list[str] = _,\n packaging_options: dict[str, list[str]] = _,\n post_filter_resources_cmd: None | str = _,\n preprocess_java_classes_bash: None | str = _,\n preprocess_java_classes_cmd: None | str = _,\n preprocess_java_classes_deps: list[str] = _,\n primary_dex_patterns: list[str] = _,\n proguard_config: None | str = _,\n proguard_jvm_args: list[str] = _,\n relinker_whitelist: list[str] = _,\n resource_compression: str = _,\n resource_filter: list[str] = _,\n resource_stable_ids: None | str = _,\n resource_union_package: None | str = _,\n secondary_dex_weight_limit: None | int = _,\n skip_crunch_pngs: None | bool = _,\n skip_proguard: bool = _,\n strip_libraries: bool = _,\n trim_resource_ids: bool = _,\n use_split_dex: bool = _,\n validation_deps: list[str] = _,\n xz_compression_level: int = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-3"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_build_config"},"android","_","build","_","config"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_build_config(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _is_building_android_binary: bool = _,\n _java_toolchain: str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n package: str = _,\n values: list[str] = _,\n values_file: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_build_config()")," rule is used to generate a ",(0,n.mdx)("inlineCode",{parentName:"p"},"BuildConfig")," class with global configuration variables that other ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_library()")," rules can compile against. Currently, the only variable exposed by ",(0,n.mdx)("inlineCode",{parentName:"p"},"BuildConfig")," is a global ",(0,n.mdx)("inlineCode",{parentName:"p"},"boolean")," named ",(0,n.mdx)("inlineCode",{parentName:"p"},"DEBUG"),", much like the ",(0,n.mdx)("inlineCode",{parentName:"p"},"BuildConfig.java")," generated by the official Android build tools based on Gradle."),(0,n.mdx)("h4",{id:"parameters-4"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"package"),": Name of the Java package to use in the generated ",(0,n.mdx)("inlineCode",{parentName:"p"},"BuildConfig.java")," file. Most developers set this to the application id declared in the manifest via ",(0,n.mdx)("inlineCode",{parentName:"p"},'<manifest package="APP_ID">'),". Example: ",(0,n.mdx)("inlineCode",{parentName:"p"},"com.facebook.orca"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"values"),": List of strings that defines additional fields (and values) that should be declared in the generated ",(0,n.mdx)("inlineCode",{parentName:"p"},"BuildConfig.java")," file. Like ",(0,n.mdx)("inlineCode",{parentName:"p"},"DEBUG"),", the values will be non-constant-expressions that evaluate to the value specified in the file at compilation time. To override the values in an APK, specify build","_","config","_","values or build","_","config","_","values","_","file in ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"values_file"),": Optional path to a file that defines additional fields (and values) that should be declared in the generated ",(0,n.mdx)("inlineCode",{parentName:"p"},"BuildConfig.java")," file. Like ",(0,n.mdx)("inlineCode",{parentName:"p"},"DEBUG"),", the values will be non-constant-expressions that evaluate to the value specified in the file at compilation time. To override the values in an APK, specify build","_","config","_","values or build","_","config","_","values","_","file in ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()"),"."),(0,n.mdx)("p",{parentName:"li"},"Note that values","_","file can be a generated file, as can build","_","config","_","values","_","file as\ndemonstrated in the example below."))),(0,n.mdx)("h4",{id:"details-1"},"Details"),(0,n.mdx)("p",null,"The fields in the generated ",(0,n.mdx)("inlineCode",{parentName:"p"},"BuildConfig")," class will\nbe non-constant-expressions (see ",(0,n.mdx)("a",{parentName:"p",href:"http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.28"},"JLS 15.28"),").\nHowever, if ",(0,n.mdx)("inlineCode",{parentName:"p"},"BuildConfig")," is packaged into an APK, it will\nbe replaced with a new version where:"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},"The fields will be set to literal values (i.e., constant expressions)."),(0,n.mdx)("li",{parentName:"ul"},"The ",(0,n.mdx)("inlineCode",{parentName:"li"},"boolean BuildConfig.DEBUG")," field will correspond to\nthat of the ",(0,n.mdx)("inlineCode",{parentName:"li"},"package_type")," argument to the ",(0,n.mdx)("inlineCode",{parentName:"li"},"android_binary()")," rule\nthat is packaging it.")),(0,n.mdx)("p",null,"This transformation is done before ProGuard is applied (if applicable), so\nthat it can propagate constants from ",(0,n.mdx)("inlineCode",{parentName:"p"},"BuildConfig")," and eliminate\ndead code."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Here is an example of an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_build_config()")," rule that\nis transitively included by both ",(0,n.mdx)("em",{parentName:"p"},"debug")," and ",(0,n.mdx)("em",{parentName:"p"},"release")," versions\nof an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()")," rule. The value\nof ",(0,n.mdx)("inlineCode",{parentName:"p"},"com.example.pkg.BuildConfig.DEBUG")," will be different in each APK\neven though they both transitively depend on the same ",(0,n.mdx)("inlineCode",{parentName:"p"},":build_config")," rule."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nandroid_build_config(\n name = 'build_config',\n package = 'com.example.pkg',\n values = [\n 'String COMMIT_ID = \"0000000000000000000000000000000000000000\"',\n ],\n)\n\n# The .java files in this library may contain references to the boolean\n# com.example.pkg.BuildConfig.DEBUG because :build_config is in the deps.\n# It could also reference BuildConfig.COMMIT_ID.\nandroid_library(\n name = 'mylib',\n srcs = glob(['src/**/*.java']),\n deps = [\n ':build_config',\n ],\n)\n\nandroid_binary(\n name = 'debug',\n package_type = 'DEBUG',\n keystore = '//keystores:debug',\n manifest = 'AndroidManifest.xml',\n target = 'Google Inc.:Google APIs:19',\n deps = [\n ':mylib',\n ],\n)\n\n# The contents of the file generated by this rule might be:\n#\n# String COMMIT_ID = \"7bf804bdf71fdbfc99cce3b155b3643f022c6fa4\"\n#\n# Note that the output of :build_config_release_values will be cached by Buck.\n# Assuming that generate_release_build_config.py depends on state that is not\n# expressed by its deps (which violates a fundamental invariant in Buck!), a\n# workaround is to ensure that the inputs to :build_config_release_values are\n# changed in some way before :release is built to ensure that the output from\n# :build_config_release_values is not pulled from cache. For example:\n#\n# $ buck build :release\n# $ uuidgen > dummy_state_file.txt\n# $ buck build :release\n#\n# This makes sure that generate_release_build_config.py is re-run before\n# :release is rebuilt. This is much cheaper than deleting your build cache\n# before rebuilding.\ngenrule(\n name = 'build_config_release_values',\n srcs = [ 'generate_release_build_config.py', 'dummy_state_file.txt' ],\n bash = 'generate_release_build_config.py $OUT',\n out = 'build_config_release_values.txt',\n)\n\nandroid_binary(\n name = 'release',\n package_type = 'RELEASE',\n keystore = '//keystores:release',\n manifest = 'AndroidManifest.xml',\n target = 'Google Inc.:Google APIs:19',\n build_config_values_file = ':build_config_release_values',\n deps = [\n ':mylib',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_bundle"},"android","_","bundle"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_bundle(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _dex_toolchain: str = _,\n _exec_os_type: str = _,\n _is_building_android_binary: bool = _,\n _is_force_single_cpu: bool = _,\n _is_force_single_default_cpu: bool = _,\n _java_toolchain: str = _,\n aapt2_keep_raw_values: bool = _,\n aapt2_locale_filtering: bool = _,\n aapt2_preferred_density: None | str = _,\n aapt_mode: str = _,\n additional_aapt_params: list[str] = _,\n allow_r_dot_java_in_secondary_dex: bool = _,\n allowed_duplicate_resource_types: list[str] = _,\n android_sdk_proguard_config: None | str = _,\n application_module_blacklist: None | list[str] = _,\n application_module_configs: dict[str, list[str]] = _,\n application_module_dependencies: None | dict[str, list[str]] = _,\n asset_compression_algorithm: None | str = _,\n banned_duplicate_resource_types: list[str] = _,\n buck2_compatibility: str = _,\n build_config_values: list[str] = _,\n build_config_values_file: None | str = _,\n build_string_source_map: bool = _,\n bundle_config_file: None | str = _,\n compress_asset_libraries: bool = _,\n contacts: list[str] = _,\n cpu_filters: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n dex_compression: None | str = _,\n dex_group_lib_limit: int = _,\n dex_tool: str = _,\n disable_pre_dex: bool = _,\n duplicate_resource_behavior: str = _,\n duplicate_resource_whitelist: None | str = _,\n enable_relinker: bool = _,\n exopackage_modes: list[str] = _,\n extra_filtered_resources: list[str] = _,\n extra_no_compress_asset_extensions: list[str] = _,\n field_ref_count_buffer_space: int = _,\n ignore_aapt_proguard_config: bool = _,\n includes_vector_drawables: bool = _,\n is_cacheable: bool = _,\n is_voltron_language_pack_enabled: bool = _,\n keystore: str,\n labels: list[str] = _,\n licenses: list[str] = _,\n linear_alloc_hard_limit: int = _,\n locales: list[str] = _,\n manifest: None | str = _,\n manifest_entries: dict[str, typing.Any] = _,\n manifest_skeleton: None | str = _,\n method_ref_count_buffer_space: int = _,\n min_sdk_version: None | int = _,\n minimize_primary_dex_size: bool = _,\n module_manifest_skeleton: None | str = _,\n native_library_merge_code_generator: None | str = _,\n native_library_merge_glue: None | str = _,\n native_library_merge_linker_args: None | dict[str, list[str]] = _,\n native_library_merge_localized_symbols: None | list[str] = _,\n native_library_merge_map: None | dict[str, list[str]] = _,\n native_library_merge_sequence: None | list[typing.Any] = _,\n native_library_merge_sequence_blocklist: None | list[str] = _,\n no_auto_add_overlay_resources: bool = _,\n no_auto_version_resources: bool = _,\n no_dx: list[str] = _,\n no_version_transitions_resources: bool = _,\n optimization_passes: int = _,\n package_asset_libraries: bool = _,\n package_type: str = _,\n packaged_locales: list[str] = _,\n packaging_options: dict[str, list[str]] = _,\n post_filter_resources_cmd: None | str = _,\n preprocess_java_classes_bash: None | str = _,\n preprocess_java_classes_cmd: None | str = _,\n preprocess_java_classes_deps: list[str] = _,\n primary_dex_patterns: list[str] = _,\n proguard_config: None | str = _,\n proguard_jvm_args: list[str] = _,\n relinker_whitelist: list[str] = _,\n resource_compression: str = _,\n resource_filter: list[str] = _,\n resource_stable_ids: None | str = _,\n resource_union_package: None | str = _,\n secondary_dex_weight_limit: None | int = _,\n skip_crunch_pngs: None | bool = _,\n skip_proguard: bool = _,\n trim_resource_ids: bool = _,\n use_derived_apk: bool = _,\n use_split_dex: bool = _,\n validation_deps: list[str] = _,\n xz_compression_level: int = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-5"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_instrumentation_apk"},"android","_","instrumentation","_","apk"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_instrumentation_apk(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _dex_toolchain: str = _,\n _exec_os_type: str = _,\n _is_building_android_binary: bool = _,\n _is_force_single_cpu: bool = _,\n _is_force_single_default_cpu: bool = _,\n _java_toolchain: str = _,\n aapt_mode: str = _,\n apk: str,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n cpu_filters: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n dex_tool: str = _,\n disable_pre_dex: bool = _,\n includes_vector_drawables: bool = _,\n is_self_instrumenting: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n manifest: None | str = _,\n manifest_skeleton: None | str = _,\n min_sdk_version: None | int = _,\n native_library_merge_map: None | dict[str, list[str]] = _,\n native_library_merge_sequence: None | list[typing.Any] = _,\n preprocess_java_classes_bash: None | str = _,\n preprocess_java_classes_cmd: None | str = _,\n preprocess_java_classes_deps: list[str] = _,\n primary_dex_patterns: list[str] = _,\n use_split_dex: None | bool = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_instrumentation_apk()")," rule is used to generate an Android Instrumentation APK."),(0,n.mdx)("h4",{id:"parameters-6"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("h4",{id:"details-2"},"Details"),(0,n.mdx)("p",null,"Android's ",(0,n.mdx)("a",{parentName:"p",href:"http://developer.android.com/tools/testing/testing_android.html"},"Testing Fundamentals"),' documentation includes a diagram that shows\nthe relationship between an "application package" and a "test package"\nwhen running a test. This rule corresponds to a test package. Note\nthat a test package has an interesting quirk where it is ',(0,n.mdx)("em",{parentName:"p"},"compiled\nagainst")," an application package, but ",(0,n.mdx)("em",{parentName:"p"},"must not include")," the\nresources or Java classes of the application package. Therefore, this\nclass takes responsibility for making sure the appropriate bits are\nexcluded. Failing to do so will generate mysterious runtime errors\nwhen running the test."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Here is an example of an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_instrumentation_apk()")," rule that tests an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()"),", and depends on a test\npackage."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nandroid_library(\n name = 'test',\n srcs = glob(['test/**/*.java']),\n)\n\nandroid_binary(\n name = 'messenger',\n manifest = 'AndroidManifest.xml',\n keystore = '//keystores:prod',\n package_type = 'release',\n proguard_config = 'proguard.cfg',\n deps = [\n ...\n ],\n)\n\n# Building this rule will produce a file named messenger_test.apk\nandroid_instrumentation_apk(\n name = 'messenger_test',\n manifest = 'AndroidInstrumentationManifest.xml',\n apk = ':messenger',\n deps = [\n ':test',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_instrumentation_test"},"android","_","instrumentation","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_instrumentation_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _exec_os_type: str = _,\n _inject_test_env: str = _,\n _java_test_toolchain: str = _,\n _java_toolchain: str = _,\n apk: str,\n buck2_compatibility: str = _,\n clear_package_data: bool = _,\n collect_tombstones: bool = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n disable_animations: bool = _,\n env: dict[str, str] = _,\n extra_instrumentation_args: None | dict[str, str] = _,\n instrumentation_test_listener: None | str = _,\n instrumentation_test_listener_class: None | str = _,\n is_self_instrumenting: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n log_extractors: dict[str, str] = _,\n re_caps: None | dict[str, dict[str, str]] = _,\n re_use_case: None | dict[str, str] = _,\n record_video: bool = _,\n test_rule_timeout_ms: None | int = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_instrumentation_test()")," rule is used to define apks that should be used to run Android instrumentation tests."),(0,n.mdx)("h4",{id:"parameters-7"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"apk"),": The APK containing the tests. Can be an ",(0,n.mdx)("inlineCode",{parentName:"li"},"android_binary()"),", an ",(0,n.mdx)("inlineCode",{parentName:"li"},"apk_genrule()")," or an ",(0,n.mdx)("inlineCode",{parentName:"li"},"android_instrumentation_apk()"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"clear_package_data"),": Runs ",(0,n.mdx)("inlineCode",{parentName:"li"},"pm clear")," on the app and test packages before the test run if set to True."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"collect_tombstones"),": Checks whether the test generated any tombstones, and downloads them from the emulator if true."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"disable_animations"),": Disables animations on the emulator if set to True."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"labels"),": A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., ",(0,n.mdx)("inlineCode",{parentName:"li"},"smoke")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"fast"),"). A label can be used to filter or include a specific test rule when executing ",(0,n.mdx)("inlineCode",{parentName:"li"},"buck test")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"record_video"),": Record video of test run and collect it as TRA"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"test_rule_timeout_ms"),": If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default ",(0,n.mdx)("inlineCode",{parentName:"li"},"rule_timeout")," if any has been specified in ",(0,n.mdx)("inlineCode",{parentName:"li"},".buckconfig")," .")),(0,n.mdx)("h4",{id:"details-3"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Here is an example of an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_instrumentation_test()"),"\nrule that tests an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nandroid_binary(\n name = 'messenger',\n manifest = 'AndroidManifest.xml',\n keystore = '//keystores:prod',\n package_type = 'release',\n proguard_config = 'proguard.cfg',\n deps = [\n ...\n ],\n)\n\nandroid_instrumentation_apk(\n name = 'messenger_test',\n manifest = 'AndroidInstrumentationManifest.xml',\n apk = ':messenger',\n deps = [\n ...\n ],\n)\n\nandroid_instrumentation_test(\n name = 'messenger_instrumentation_test',\n apk = ':messenger_test',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_library"},"android","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _dex_min_sdk_version: None | int = _,\n _dex_toolchain: str = _,\n _exec_os_type: str = _,\n _is_building_android_binary: bool = _,\n _java_toolchain: str = _,\n _kotlin_toolchain: str = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n abi_generation_mode: None | str = _,\n android_optional_jars: None | list[str] = _,\n annotation_processing_tool: None | str = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n extra_kotlinc_arguments: list[str] = _,\n friend_paths: list[str] = _,\n incremental: bool = _,\n jar_postprocessor: None | str = _,\n java_version: None | str = _,\n javac: None | str = _,\n k2: bool = _,\n kotlin_compiler_plugins: dict[str, dict[str, str]] = _,\n labels: list[str] = _,\n language: None | str = _,\n licenses: list[str] = _,\n manifest: None | str = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n provided_deps_query: None | str = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resource_union_package: None | str = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n target: None | str = _,\n use_jvm_abi_gen: None | bool = _,\n validation_deps: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_library()")," rule is used to define a set of Java files that can be compiled together against the Android SDK. The main output of an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_library()")," rule is a single JAR file containing all of the compiled class files and resources."),(0,n.mdx)("h4",{id:"parameters-8"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"annotation_processing_tool"),': Specifies the tool to use for annotation processing. Possible values: "kapt" or "javac". "kapt" allows running Java annotation processors against Kotlin sources while backporting it for Java sources too. "javac" works only against Java sources, Kotlin sources won\'t have access to generated classes at compile time.')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": Rules (usually other ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_library")," rules) that are used to generate the classpath required to compile this ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_library"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps"),": Other rules that depend on this rule will also include its ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps")," in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_jar")," rules as a single target for callers to depend on. Targets in ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps")," are implicitly included in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," of this rule, so they don't need to be repeated there.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_provided_deps"),": This is a combination of ",(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps"),". Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_arguments"),": List of additional arguments to pass into the Java compiler. These arguments follow the ones specified in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_kotlinc_arguments"),": List of additional arguments to pass into the Kotlin compiler.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"incremental"),": Enables Kotlin incremental compilation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"k2"),": Enables the Kotlin K2 compiler.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"manifest"),": An optional ",(0,n.mdx)("a",{parentName:"p",href:"http://developer.android.com/guide/topics/manifest/manifest-intro.html"},"Android Manifest")," for the to declare any permissions or intents it may need or want to handle. May either be a file or an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_manifest()")," target.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps"),": These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of ",(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps")," include the JEE servlet APIs. When this rule is included in a , the ",(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps")," will not be packaged into the output.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps_query"),": Status: ",(0,n.mdx)("strong",{parentName:"p"},"experimental/unstable"),". The provided deps query functions in the same way as the deps query, but the referenced deps using ",(0,n.mdx)("inlineCode",{parentName:"p"},"$declared")," are the provided deps of the target, and the results of the query are appended to the declared provided deps.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"remove_classes"),": List of classes to remove from the output jar. It only removes classes from the target's own sources, not from any of its dependencies.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"required_for_source_only_abi"),": Indicates that this rule must be present on the classpath during ",(0,n.mdx)("inlineCode",{parentName:"p"},"source-only ABI generation")," of any rule that depends on it. Typically this is done when a rule contains annotations, enums, constants, or interfaces."),(0,n.mdx)("p",{parentName:"li"},"Having rules present on the classpath during source-only ABI generation prevents Buck from\ncompletely flattening the build graph, thus reducing the performance win from source-only\nABI generation. These rules should be kept small (ideally just containing annotations,\nconstants, enums, and interfaces) and with minimal dependencies of their own.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),": Static files to include among the compiled ",(0,n.mdx)("inlineCode",{parentName:"p"},".class")," files. These files can be loaded via ",(0,n.mdx)("a",{parentName:"p",href:"http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource(java.lang.String)"},"Class.getResource()"),"."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("strong",{parentName:"p"},"Note:")," Buck uses the ",(0,n.mdx)("inlineCode",{parentName:"p"},"src_roots")," property in\n",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nto help determine where resources should be placed within the generated JAR file.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"source"),': Specifies the version of Java (as a string) to interpret source files as. Overrides the value in "source',"_",'level" in the "java" section of ',(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"source_only_abi_deps"),": These are dependencies that must be present during ",(0,n.mdx)("inlineCode",{parentName:"p"},"source-only ABI generation"),". Typically such dependencies are added when some property of the code in this rule prevents source-only ABI generation from being correct without these dependencies being present."),(0,n.mdx)("p",{parentName:"li"},"Having ",(0,n.mdx)("inlineCode",{parentName:"p"},"source_only_abi_deps")," prevents Buck from\ncompletely flattening the build graph, thus reducing the performance win from source-only\nABI generation. They should be avoided when possible. Often only a small code change is needed to avoid them.\nFor more information on such code changes, read about\n",(0,n.mdx)("inlineCode",{parentName:"p"},"source-only ABI generation"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of ",(0,n.mdx)("inlineCode",{parentName:"p"},".java")," files to compile for this rule.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target"),': Specifies the version of Java (as a string) for which to generate code. Overrides the value in "target',"_",'level" in the "java" section of ',(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"."))),(0,n.mdx)("h4",{id:"details-4"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_library")," rule used in concert with an\n",(0,n.mdx)("inlineCode",{parentName:"p"},"android_resource()")," rule.\nThis would be a common arrangement for a standard Android Library project\nas defined by\n",(0,n.mdx)("a",{parentName:"p",href:"http://developer.android.com/tools/projects/index.html"},"http://developer.android.com/tools/projects/index.html")),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nandroid_resource(\n name = 'res',\n res = 'res',\n package = 'com.example',\n)\n\nandroid_library(\n name = 'my_library',\n srcs = glob(['src/**/*.java']),\n deps = [\n ':res',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_manifest"},"android","_","manifest"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_manifest(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n skeleton: str\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_manifest()")," rule is used to generate an ",(0,n.mdx)("a",{parentName:"p",href:"http://developer.android.com/guide/topics/manifest/manifest-intro.html"},"Android Manifest")," to be used by ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_aar()")," rules. This rule takes a skeleton manifest, and merges it with manifests found in any deps."),(0,n.mdx)("h4",{id:"parameters-9"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": A collection of dependencies that includes android","_","library rules. The manifest files of the ",(0,n.mdx)("inlineCode",{parentName:"li"},"android_library()")," rules will be filtered out to become dependent source files for the manifest."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"skeleton"),": Either a ",(0,n.mdx)("inlineCode",{parentName:"li"},"build target")," or a path to a file representing the manifest that will be merged with any manifests associated with this rule's ",(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),".")),(0,n.mdx)("h4",{id:"details-5"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Here's an example of an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_manifest()")," that has no deps."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nandroid_manifest(\n name = 'my-manifest',\n skeleton = 'AndroidManifestSkeleton.xml',\n)\n\n")),(0,n.mdx)("p",null," This is what ",(0,n.mdx)("inlineCode",{parentName:"p"},"AndroidManifestSkeleton.xml")," looks like."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n<?xml version="1.0" encoding="utf-8"?>\n<manifest xmlns:android="http://schemas.android.com/apk/res/android"\n package="com.example"\n android:versionCode="1"\n android:versionName="1.0">\n\n <uses-sdk targetSdkVersion="19" minSdkVersion="17"/>\n <application\n android:label="@string/app_name"\n android:icon="@drawable/ic_launcher">\n <activity\n android:name="MyActivity"\n android:label="@string/app_name">\n <intent-filter>\n <action android:name="android.intent.action.MAIN"/>\n <category android:name="android.intent.category.LAUNCHER"/>\n </intent-filter>\n </activity>\n </application>\n</manifest>\n\n')),(0,n.mdx)("p",null," You could also use a ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()")," to generate the manifest file and reference the\n",(0,n.mdx)("inlineCode",{parentName:"p"},"build target")," in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"skeleton")," argument."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_platform"},"android","_","platform"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_platform(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n base_platform: str,\n buck2_compatibility: str = _,\n native_platforms: dict[str, str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-10"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_prebuilt_aar"},"android","_","prebuilt","_","aar"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_prebuilt_aar(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _dex_min_sdk_version: None | int = _,\n _dex_toolchain: str = _,\n _exec_os_type: str = _,\n _java_toolchain: str = _,\n aar: str,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n desugar_deps: list[str] = _,\n for_primary_apk: bool = _,\n javadoc_url: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n maven_coords: None | str = _,\n required_for_source_only_abi: bool = _,\n source_jar: None | str = _,\n use_system_library_loader: bool = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_prebuilt_aar()")," rule takes an ",(0,n.mdx)("inlineCode",{parentName:"p"},".aar")," file and makes it available as an Android dependency. As expected, an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()")," that transitively depends on an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_prebuilt_aar()")," will include its contents in the generated APK."),(0,n.mdx)("h4",{id:"parameters-11"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"aar"),": Path to the ",(0,n.mdx)("inlineCode",{parentName:"li"},".aar")," file. This may also be a build target to a rule (such as a ",(0,n.mdx)("inlineCode",{parentName:"li"},"genrule()"),") whose output is an ",(0,n.mdx)("inlineCode",{parentName:"li"},".aar")," file."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"javadoc_url"),": URL to the Javadoc for the ",(0,n.mdx)("inlineCode",{parentName:"li"},".class")," files in the ",(0,n.mdx)("inlineCode",{parentName:"li"},"aar"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"source_jar"),": Path to a JAR file that contains the ",(0,n.mdx)("inlineCode",{parentName:"li"},".java")," files to create the ",(0,n.mdx)("inlineCode",{parentName:"li"},".class")," in the ",(0,n.mdx)("inlineCode",{parentName:"li"},"aar"),". This is frequently provided for debugging purposes."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"use_system_library_loader"),": If this ",(0,n.mdx)("inlineCode",{parentName:"li"},".aar")," file contains native prebuilt ",(0,n.mdx)("inlineCode",{parentName:"li"},".so")," libraries and the Java code uses these libraries via a call to ",(0,n.mdx)("inlineCode",{parentName:"li"},"System.loadLibrary()"),", then many optimizations\u2014such as exopackage, compression, or asset packaging\u2014may not be compatible with these prebuilt libs. Setting this parameter to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True")," causes all of these optimizations to skip the prebuilt ",(0,n.mdx)("inlineCode",{parentName:"li"},".so")," files originating from this ",(0,n.mdx)("inlineCode",{parentName:"li"},".aar")," file. The ",(0,n.mdx)("inlineCode",{parentName:"li"},".so")," files will always be packaged directly into the main ",(0,n.mdx)("inlineCode",{parentName:"li"},".apk"),".")),(0,n.mdx)("h4",{id:"details-6"},"Details"),(0,n.mdx)("p",null,"See the ",(0,n.mdx)("a",{parentName:"p",href:"https://developer.android.com/studio/projects/android-library#aar-contents"},"official Android documentation")," for details about the ",(0,n.mdx)("inlineCode",{parentName:"p"},".aar")," format."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nandroid_prebuilt_aar(\n name = 'play-services',\n aar = 'play-services-4.0.30.aar',\n source_jar = 'play-services-4.0.30-sources.jar',\n javadoc_url = 'file:///opt/android-sdk/extras/google/google_play_services/docs/reference',\n)\n\nandroid_library(\n name = 'lib',\n # This Java code can compile against Play services and reference its resources.\n srcs = glob(['*.java']),\n deps = [ ':play-services' ],\n)\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"android_resource"},"android","_","resource"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def android_resource(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n allowlisted_locales: None | list[str] = _,\n assets: None | str | dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n has_whitelisted_strings: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n manifest: None | str = _,\n package: None | str = _,\n project_assets: None | str = _,\n project_res: None | str = _,\n res: None | str | dict[str, str] = _,\n resource_union: bool = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_resource()")," rule is used to bundle Android resources that are traditionally stored in ",(0,n.mdx)("inlineCode",{parentName:"p"},"res")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"assets")," directories."),(0,n.mdx)("h4",{id:"parameters-12"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": Other ",(0,n.mdx)("inlineCode",{parentName:"li"},"android_resource")," rules to include via ",(0,n.mdx)("inlineCode",{parentName:"li"},"-S")," when running ",(0,n.mdx)("inlineCode",{parentName:"li"},"aapt"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"manifest"),": An optional ",(0,n.mdx)("a",{parentName:"li",href:"http://developer.android.com/guide/topics/manifest/manifest-intro.html"},"Android Manifest")," for the to declare any permissions or intents it may need or want to handle. May either be a file or an ",(0,n.mdx)("inlineCode",{parentName:"li"},"android_manifest()")," target."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"package"),": Java package for the ",(0,n.mdx)("inlineCode",{parentName:"li"},"R.java")," file that will be generated for these resources.")),(0,n.mdx)("h4",{id:"details-7"},"Details"),(0,n.mdx)("p",null,"The output of an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_resource()")," is an ",(0,n.mdx)("inlineCode",{parentName:"p"},"R.txt")," file\ngenerated via ",(0,n.mdx)("inlineCode",{parentName:"p"},"aapt --output-text-symbols"),"."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Most of the time, an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_resource")," rule defines only ",(0,n.mdx)("inlineCode",{parentName:"p"},"name"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"res"),", and ",(0,n.mdx)("inlineCode",{parentName:"p"},"package"),". By convention,\nsuch simple rules are often named ",(0,n.mdx)("inlineCode",{parentName:"p"},"res"),":"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nandroid_resource(\n name = 'res',\n res = subdir_glob([('res', '**')]),\n package = 'com.example',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apk_genrule"},"apk","_","genrule"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apk_genrule(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _exec_os_type: str = _,\n _genrule_toolchain: str = _,\n _java_toolchain: str = _,\n aab: None | str = _,\n always_print_stderr: bool = _,\n apk: None | str = _,\n bash: None | str = _,\n buck2_compatibility: str = _,\n cacheable: None | bool = _,\n cmd: None | str = _,\n cmd_exe: None | str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n default_outs: None | list[str] = _,\n enable_sandbox: None | bool = _,\n environment_expansion_separator: None | str = _,\n is_cacheable: bool = _,\n keystore: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n metadata_env_var: None | str = _,\n metadata_path: None | str = _,\n need_android_tools: bool = _,\n no_outputs_cleanup: bool = _,\n out: None | str = _,\n outs: None | dict[str, list[str]] = _,\n remote: None | bool = _,\n remote_execution_dependencies: list[dict[str, str]] = _,\n srcs: list[str] | dict[str, str] = _,\n type: str = _,\n use_derived_apk: bool = _,\n weight: None | int = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"apk_genrule()")," rule is used to post-process an APK. What separates an apk","_","genrule from a genrule is apk","_","genrules are known by BUCK to produce APKs, so commands like ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck install")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck uninstall")," still work. Additionally, ",(0,n.mdx)("inlineCode",{parentName:"p"},"apk_genrule()")," rules can be inputs to other ",(0,n.mdx)("inlineCode",{parentName:"p"},"apk_genrule()")," rules."),(0,n.mdx)("h4",{id:"parameters-13"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"aab"),": The input ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()")," rule. The path to the AAB can be accessed with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"$AAB")," shell variable. Only one of ",(0,n.mdx)("inlineCode",{parentName:"p"},"apk")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"aab")," can be provided.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"apk"),": The input ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()")," rule. The path to the APK can be accessed with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"$APK")," shell variable. Only one of ",(0,n.mdx)("inlineCode",{parentName:"p"},"apk")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"aab")," can be provided.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"bash"),": A platform-specific version of the shell command parameter ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". It runs on Linux and UNIX systems\u2014including OSX\u2014on which ",(0,n.mdx)("inlineCode",{parentName:"p"},"bash")," is installed. It has a higher priority than ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". The ",(0,n.mdx)("inlineCode",{parentName:"p"},"bash")," argument is run with ",(0,n.mdx)("inlineCode",{parentName:"p"},"/usr/bin/env bash -c"),". It has access to the same set of macros and variables as the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd")," argument.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),": The shell command to run to generate the output file. It is the fallback for ",(0,n.mdx)("inlineCode",{parentName:"p"},"bash")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_exe")," arguments. The following environment variables are populated by Buck and available to the shell command. They are accessed using the syntax:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"${<variable>}\n")),(0,n.mdx)("p",{parentName:"li"}," Example:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"${SRCS}\n")),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${SRCS}")),(0,n.mdx)("p",{parentName:"li"}," A string expansion of the ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," argument delimited\nby the ",(0,n.mdx)("inlineCode",{parentName:"p"},"environment_expansion_separator")," argument\nwhere each element of ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," will be translated\ninto a relative path."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${SRCDIR}")),(0,n.mdx)("p",{parentName:"li"}," The relative path to a directory to which sources are copied\nprior to running the command."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${OUT}")),(0,n.mdx)("p",{parentName:"li"}," The output file or directory for the ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()"),".\nThis variable will have whatever value is specified by\nthe ",(0,n.mdx)("inlineCode",{parentName:"p"},"out")," argument if not using named outputs. If\nusing named outputs, this variable will be the output directory."),(0,n.mdx)("p",{parentName:"li"}," The value should be a valid filepath. The semantics of the shell\ncommand determine whether this filepath is treated as a file or a\ndirectory. If the filepath is a directory, then the shell command\nneeds to create it if not using named outputs. Otherwise, it will\nbe automatically created. All outputs (directories and files) must\nbe readable, writable, and (in the case of directories) executable\nby the current user."),(0,n.mdx)("p",{parentName:"li"}," The file or directory specified by this variable must always\nbe written by this command. If not, the execution of this\nrule will be considered a failure, halting the build process."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${TMP}")),(0,n.mdx)("p",{parentName:"li"}," A temporary directory which can be used for intermediate\nresults and will not be bundled into the output.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_exe"),": A platform-specific version of the shell command parameter ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". It runs on Windows and has a higher priority than ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". The ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_exe")," argument is run with ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd.exe /v:off /c"),". It has access to the same set of macros and variables as the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd")," argument.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"environment_expansion_separator"),": The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"out"),": The name of the output file or directory. The complete path to this argument is provided to the shell command through the ",(0,n.mdx)("inlineCode",{parentName:"p"},"OUT")," environment variable. Only one of ",(0,n.mdx)("inlineCode",{parentName:"p"},"out")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"outs")," may be present."),(0,n.mdx)("p",{parentName:"li"},"For an apk_genrule the output should be a '.apk' or '.aab' file.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": Either a list or a map of the source files which Buck makes available to the shell command at the path in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"SRCDIR")," environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"weight"),": How many local slots these genrule should take when executing locally."))),(0,n.mdx)("h4",{id:"details-8"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Here is an example of a couple ",(0,n.mdx)("inlineCode",{parentName:"p"},"apk_genrule()")," open up an APK, do\nsome super signing, and then zipalign that APK again."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n\n# Building this rule will produce a file named messenger.apk.\nandroid_binary(\n name = 'messenger',\n manifest = 'AndroidManifest.xml',\n target = 'Google Inc.:Google APIs:16',\n keystore = '//keystores:prod',\n package_type = 'release',\n proguard_config = 'proguard.cfg',\n deps = [\n ':res',\n ':src',\n ],\n)\n\napk_genrule(\n name = 'messenger_super_sign_unalign',\n apk = ':messenger',\n bash = '$(exe //java/com/facebook/sign:super_sign) --input $APK --output $OUT',\n cmd_exe = '$(exe //java/com/facebook/sign:super_sign) --input %APK% --output %OUT%',\n out = 'messenger_super_sign_unalign.apk',\n)\n\napk_genrule(\n name = 'messenger_super_sign',\n apk = ':messenger_super_sign_unalign',\n bash = '$ANDROID_HOME/tools/zipalign -f 4 $APK $OUT',\n cmd_exe = '%ANDROID_HOME%\\tools\\zipalign -f 4 %APK% %OUT%',\n out = 'messenger_super_sign.apk',\n)\n\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_asset_catalog"},"apple","_","asset","_","catalog"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_asset_catalog(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n app_icon: None | str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n dirs: list[str] = _,\n labels: list[str] = _,\n launch_image: None | str = _,\n licenses: list[str] = _,\n skip_universal_resource_dedupe: bool = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_asset_catalog()")," rule contains resources stored in Apple asset catalog directories. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_bundle()")," rule, in which case all ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_asset_catalog()")," rules that the bundle rule depends on are merged and placed into the final output bundle together."),(0,n.mdx)("h4",{id:"parameters-14"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"app_icon"),": An optional reference to a ",(0,n.mdx)("inlineCode",{parentName:"li"},".appiconset")," containing a image set representing an application icon. (The extension itself should not be included.) This parameter may be specified at most once in a given ",(0,n.mdx)("inlineCode",{parentName:"li"},"apple_bundle"),"'s transitive dependencies."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"launch_image"),": An optional reference to a ",(0,n.mdx)("inlineCode",{parentName:"li"},".launchimage")," containing a image set representing an application launch image. (The extension itself should not be included.) This parameter may be specified at most once in a given ",(0,n.mdx)("inlineCode",{parentName:"li"},"apple_bundle"),"'s transitive dependencies.")),(0,n.mdx)("h4",{id:"details-9"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\napple_asset_catalog(\n name = 'MyAssetCatalog',\n dirs = [\n 'MyResources.xcassets',\n ],\n)\n\n# A asset catalog with a app icon and launch image\napple_asset_catalog(\n name = 'AssetCatalog',\n dirs = [ 'AssetCatalog.xcassets' ],\n app_icon = 'Icon',\n launch_image = 'LaunchImage',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_binary"},"apple","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _apple_toolchain: str = _,\n _apple_tools: str = _,\n _apple_xctoolchain: str = _,\n _apple_xctoolchain_bundle_id: str = _,\n _dsymutil_extra_flags: list[str],\n _enable_library_evolution: bool = _,\n _stripped_default: bool = _,\n allow_cache_upload: None | bool = _,\n attrs_validators: dict[str, (list[str], str)] = _,\n binary_linker_flags: list[str] = _,\n bridging_header: None | str = _,\n buck2_compatibility: str = _,\n can_be_asset: None | bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n cxx_runtime_type: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n devirt_enabled: bool = _,\n diagnostics: dict[str, str] = _,\n enable_cxx_interop: bool = _,\n enable_distributed_thinlto: bool = _,\n enable_library_evolution: None | bool = _,\n entitlements_file: None | str = _,\n executable_name: None | str = _,\n exported_deps: list[str] = _,\n exported_header_style: str = _,\n exported_headers: list[str] | dict[str, str] = _,\n exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n exported_lang_preprocessor_flags: dict[str, list[str]] = _,\n exported_linker_flags: list[str] = _,\n exported_platform_deps: list[(str, list[str])] = _,\n exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,\n exported_platform_linker_flags: list[(str, list[str])] = _,\n exported_platform_preprocessor_flags: list[(str, list[str])] = _,\n exported_post_linker_flags: list[str] = _,\n exported_post_platform_linker_flags: list[(str, list[str])] = _,\n exported_preprocessor_flags: list[str] = _,\n extra_xcode_files: list[str] = _,\n extra_xcode_sources: list[str] = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n force_static: None | bool = _,\n frameworks: list[str] = _,\n header_namespace: None | str = _,\n header_path_prefix: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n import_obj_c_forward_declarations: bool = _,\n include_directories: list[str] = _,\n info_plist: None | str = _,\n info_plist_substitutions: dict[str, str] = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_execution_preference: None | str = _,\n link_group: None | str = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_group_public_deps_label: None | str = _,\n link_ordering: None | str = _,\n link_style: None | str = _,\n link_whole: None | bool = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n modular: bool = _,\n module_name: None | str = _,\n module_requires_cxx: bool = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n prefer_stripped_objects: bool = _,\n preferred_linkage: str = _,\n prefix_header: None | str = _,\n preprocessor_flags: list[str] = _,\n propagated_target_sdk_version: None | str = _,\n public_include_directories: list[str] = _,\n public_system_include_directories: list[str] = _,\n raw_headers: list[str] = _,\n reexport_all_header_dependencies: None | bool = _,\n sanitizer_runtime_enabled: None | bool = _,\n sdk_modules: list[str] = _,\n serialize_debugging_options: bool = _,\n soname: None | str = _,\n srcs: list[str | (str, list[str])] = _,\n static_library_basename: None | str = _,\n stripped: None | bool = _,\n supported_platforms_regex: None | str = _,\n supports_merged_linking: None | bool = _,\n swift_compilation_mode: str = _,\n swift_compiler_flags: list[str] = _,\n swift_package_name: None | str = _,\n swift_version: None | str = _,\n target_sdk_version: None | str = _,\n thin_lto: bool = _,\n use_submodules: bool = _,\n uses_cxx_explicit_modules: bool = _,\n uses_explicit_modules: bool = _,\n uses_modules: bool = _,\n validation_deps: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_binary()")," rule builds a native executable - such as an iOS or OSX app - from the supplied set of Objective-C/C++ source files and dependencies. It is similar to a ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_binary()")," rule with which it shares many attributes. In addition to those common attributes, ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_binary()")," has a some additional attributes that are specific to binaries intended to be built using the Apple toolchain. Note, however, that ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_binary()")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_binary()")," differ in the way that they import header files, in order to better accommodate existing conventions. See the sections for the ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_headers")," attributes for more details."),(0,n.mdx)("h4",{id:"parameters-15"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"allow_cache_upload"),": Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags"),": Flags to use when compiling any of the above sources (which require compilation).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"entitlements_file"),": An optional name of a plist file to be embedded in the binary. Some platforms like ",(0,n.mdx)("inlineCode",{parentName:"p"},"iphonesimulator")," require this to run properly.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_headers"),": The set of header files that are made available for inclusion to the source files in this target and all targets that transitively depend on this one. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"). If a list of header files is specified, the headers can be imported with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_PATH_PREFIX/$HEADER_NAME"')," or, if a header file that belongs to the same rule is being imported, with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_NAME"'),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_PATH_PREFIX")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the filename of the header file. If a dictionary is specified, each header can be imported with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_NAME"'),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the key corresponding to this file. In this case, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix")," attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_linker_flags"),": Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_xcode_files"),': When the project is generated, this is the list of files that will added to the project. Those files won\'t be added to the build phase "Compile Sources".')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"frameworks"),": A list of system frameworks that the code in this target uses. Each entry should be a path starting with ",(0,n.mdx)("inlineCode",{parentName:"p"},"$SDKROOT")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"$PLATFORM_DIR")," to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix"),": A path prefix when including headers of this target. For example, headers from a library defined using"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'apple_library(\n name = "Library",\n headers = glob(["**/*.h"]),\n header_path_prefix = "Lib",\n)\n')),(0,n.mdx)("p",{parentName:"li"},"can be imported using following mapping"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"Library/SubDir/Header1.h -> Lib/Header1.h\nLibrary/Header2.h -> Lib/Header2.h\n")),(0,n.mdx)("p",{parentName:"li"},"Defaults to the short name of the target. Can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"), but\ncannot start with one. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"headers"),": The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"). If a list of header files is specified, the headers can be imported with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_PATH_PREFIX/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_NAME"'),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_PATH_PREFIX")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the filename of the header file. If a dictionary is specified, each header can be imported with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_NAME"'),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the key corresponding to this file. In this case, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix")," attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_execution_preference"),": The execution preference for linking. Options are:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},"any : No preference is set, and the link action will be performed based on buck2's executor configuration."),(0,n.mdx)("li",{parentName:"ul"},"full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if\nthe executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored."),(0,n.mdx)("li",{parentName:"ul"},"local : The link action will execute locally if compatible on current host platform."),(0,n.mdx)("li",{parentName:"ul"},"local_only : The link action will execute locally, and error if the current platform is not compatible."),(0,n.mdx)("li",{parentName:"ul"},"remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.")),(0,n.mdx)("p",{parentName:"li"},"The default is None, expressing that no preference has been set on the target itself.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_group_public_deps_label"),': Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"shared"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_extra_outputs"),": Declares extra outputs that the linker emits. These identifiers can be used in ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(output ...)")," macros in ",(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags")," to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_compiler_flags"),": Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_linker_flags"),": Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.util.regex.Pattern")," syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_srcs"),": Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags"),": Flags to use when preprocessing any of the above sources (which require preprocessing).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the ",(0,n.mdx)("a",{parentName:"p",href:"https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html"},"GCC documentation")," for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"''"),") or a tuple of a string specifying a source file and a list of compilation flags (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"('', ['-Wall', '-Werror'])")," ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_sdk_version"),": The minimum OS version that the library target should support, overriding the minimum set in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),". When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks."))),(0,n.mdx)("h4",{id:"details-10"},"Details"),(0,n.mdx)("p",null,"Buck enables you to override components of the Apple toolchain with\nalternate tools, either from the Xcode search paths or from directories\nthat you specify.\nSee ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nand ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nfor more information."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\napple_binary(\n name = 'MyBinary',\n deps = [\n ':MyLibrary',\n '//Libraries:AnotherLibrary',\n ],\n preprocessor_flags = ['-fobjc-arc'],\n headers = [\n 'MyHeader.h',\n ],\n srcs = [\n 'MySource.m',\n ],\n frameworks = [\n '$SDKROOT/System/Library/Frameworks/UIKit.framework',\n '$SDKROOT/System/Library/Frameworks/Foundation.framework',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_bundle"},"apple","_","bundle"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_bundle(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _apple_toolchain: str = _,\n _apple_tools: str = _,\n _apple_xctoolchain: str = _,\n _apple_xctoolchain_bundle_id: str = _,\n _bundling_cache_buster: None | str = _,\n _bundling_log_file_enabled: bool = _,\n _bundling_log_file_level: None | str = _,\n _code_signing_configuration: None | str = _,\n _codesign_entitlements: None | str = _,\n _codesign_identities_command_override: None | str = _,\n _codesign_type: None | str = _,\n _compile_resources_locally_override: None | bool = _,\n _dsymutil_extra_flags: list[str],\n _embed_provisioning_profile_when_adhoc_code_signing: None | bool = _,\n _fast_adhoc_signing_enabled_default: bool = _,\n _fast_provisioning_profile_parsing_enabled: bool = _,\n _incremental_bundling_enabled: bool = _,\n _info_plist_identify_build_system_default: bool = _,\n _profile_bundling_enabled: bool = _,\n _provisioning_profiles: str = _,\n _resource_bundle: None | str = _,\n _strict_provisioning_profile_search_default: bool = _,\n _use_entitlements_when_adhoc_code_signing: None | bool = _,\n asset_catalogs_compilation_options: dict[str, typing.Any] = _,\n binary: None | str = _,\n buck2_compatibility: str = _,\n bundle_type: None | str = _,\n codesign_flags: list[str] = _,\n codesign_identity: None | str = _,\n codesign_type: None | str = _,\n contacts: list[str] = _,\n copy_public_framework_headers: None | bool = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n deps: list[str] = _,\n embed_provisioning_profile_when_adhoc_code_signing: bool = _,\n extension: str,\n fast_adhoc_signing_enabled: None | bool = _,\n ibtool_flags: None | list[str] = _,\n ibtool_module_flag: None | bool = _,\n incremental_bundling_enabled: None | bool = _,\n info_plist: str,\n info_plist_identify_build_system: None | bool = _,\n info_plist_substitutions: dict[str, str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n module_map: None | str = _,\n platform_binary: None | list[(str, str)] = _,\n privacy_manifest: None | str = _,\n product_name: None | str = _,\n propagated_target_sdk_version: None | str = _,\n provisioning_profile_filter: None | str = _,\n resource_group: None | str = _,\n resource_group_map: None | str = _,\n selective_debugging: None | str = _,\n skip_copying_swift_stdlib: None | bool = _,\n split_arch_dsym: bool = _,\n strict_provisioning_profile_search: None | bool = _,\n try_skip_code_signing: None | bool = _,\n universal: None | bool = _,\n use_entitlements_when_adhoc_code_signing: bool = _,\n validation_deps: list[str] = _,\n versioned_macos_bundle: bool = _,\n xcode_product_type: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_bundle()")," rule takes an Apple binary and all of the resources and asset catalogs in the rule's transitive dependencies and generates a bundle containing all of those files. Optionally the generated bundle can also be signed using specified provisioning profiles."),(0,n.mdx)("h4",{id:"parameters-16"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"asset_catalogs_compilation_options"),": A dict holding parameters for asset catalogs compiler (actool). Its options include:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"notices")," (defaults to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True"),")"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"warnings")," (defaults to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True"),")"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"errors")," (defaults to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True"),")"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compress_pngs")," (defaults to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True"),")"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"optimization")," (defaults to ",(0,n.mdx)("inlineCode",{parentName:"li"},"'space'"),")"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"output_format")," (defaults to ",(0,n.mdx)("inlineCode",{parentName:"li"},"'human-readable-text'"),")"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"extra_flags")," (defaults to ",(0,n.mdx)("inlineCode",{parentName:"li"},"[]"),")"))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": A list of dependencies of this bundle as build targets. You can embed application extensions by specifying the extension's bundle target. To include a WatchKit app, append the flavor ",(0,n.mdx)("inlineCode",{parentName:"p"},"#watch")," to the target specification. Buck will automatically substitute the appropriate platform flavor (either ",(0,n.mdx)("inlineCode",{parentName:"p"},"watchsimulator")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"watchos"),") based on the parent.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extension"),": The extension of the generated bundle. For example ",(0,n.mdx)("inlineCode",{parentName:"p"},"'app'")," for an application bundle or ",(0,n.mdx)("inlineCode",{parentName:"p"},"'appex'")," for an application extension bundle.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"ibtool_flags"),": List of flags to be passed to ibtool during interface builder file compilation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"info_plist"),": A path to an ",(0,n.mdx)("inlineCode",{parentName:"p"},"Info.plist")," file that will be placed in the bundle. The specified file will be processed by substituting variable names with their values (see ",(0,n.mdx)("inlineCode",{parentName:"p"},"info_plist_substitutions")," for more information).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"info_plist_substitutions"),": A dictionary that assigns variable names to their values. It is used for variable substitution when processing the file specified in ",(0,n.mdx)("inlineCode",{parentName:"p"},"info_plist"),". For example if this argument is set to ",(0,n.mdx)("inlineCode",{parentName:"p"},"{'VAR': 'MyValue'}"),", then each occurrence of ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(VAR)")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"${VAR}")," in the file will be replaced by ",(0,n.mdx)("inlineCode",{parentName:"p"},"MyValue"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"privacy_manifest"),": A path to an ",(0,n.mdx)("inlineCode",{parentName:"p"},".xcprivacy")," file that will be placed in the bundle.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"product_name"),": The name of the resulting bundle and binary. The setting behaves like PRODUCT","_",'NAME Xcode build setting. For example, if your rule is named "MyApp" and extension is "app", by default buck will generate MyApp.app bundle. But if you will set product name to "SuperApp", bundle will get "SuperApp.app" name.'))),(0,n.mdx)("h4",{id:"details-11"},"Details"),(0,n.mdx)("p",null,"Code signing will embed entitlements pointed to by the ",(0,n.mdx)("inlineCode",{parentName:"p"},"entitlements_file")," arg in\nthe bundle's ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_binary"),". This is the preferred way to specify entitlements\nwhen building with Buck."),(0,n.mdx)("p",null,"If the entitlements file is not present, it falls back to the ",(0,n.mdx)("inlineCode",{parentName:"p"},"CODE_SIGN_ENTITLEMENTS")," entry in\n",(0,n.mdx)("inlineCode",{parentName:"p"},"info_plist_substitutions"),"."),(0,n.mdx)("p",null,"If after these checks, an entitlements file is still not specified, it will be derived based\non the entitlements of the selected provisioning profile. Provisioning profiles will be selected\nfrom profiles pointed to by ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple.provisioning_profile_search_path"),", based on a\nnon-expired profile that matches the bundle id and entitlements."),(0,n.mdx)("p",null,"Code signing will embed entitlements pointed to by the ",(0,n.mdx)("inlineCode",{parentName:"p"},"CODE_SIGN_ENTITLEMENTS")," entry in\n",(0,n.mdx)("inlineCode",{parentName:"p"},"info_plist_substitutions"),". If an entitlements file is omitted, it will be derived based\non the entitlements of the selected provisioning profile. Provisioning profiles will be selected\nfrom profiles pointed to by ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple.provisioning_profile_search_path"),", based on a\nnon-expired profile that matches the bundle id and entitlements."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\napple_bundle(\n name = 'AppBundle',\n binary = ':MyBinary',\n extension = 'app',\n info_plist = 'Info.plist',\n)\n\n")),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# iOS app with embedded WatchOS 2.0 app/extension\napple_bundle(\n name = 'DemoWatchAppExtension',\n binary = ':DemoWatchAppExtensionBinary',\n extension = 'appex',\n info_plist = 'WatchExtension/Resources/Info.plist',\n)\n\napple_bundle(\n name = 'DemoWatchApp',\n binary = ':DemoWatchAppBinary',\n deps = [':DemoWatchAppResources', ':DemoWatchAppExtension'],\n extension = 'app',\n info_plist = 'WatchApplication/Info.plist',\n)\n\napple_bundle(\n name = 'DemoApp',\n binary = ':DemoAppBinary',\n deps = [':DemoWatchApp#watch'],\n extension = 'app',\n info_plist = 'Info.plist',\n)\n\n")),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# iOS app using safeAreaInsets delivering to iOS 9.x\napple_bundle(\n name = 'DemoIBApp',\n binary = ':DemoIBAppBinary',\n deps = [':DemoIBAppResources'],\n extension = 'app',\n ibtool_flags = [\"--minimum-deployment-target\", \"9.0\"],\n info_plist = 'Info.plist',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_library"},"apple","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _apple_toolchain: str = _,\n _apple_tools: str = _,\n _apple_xctoolchain: str = _,\n _apple_xctoolchain_bundle_id: str = _,\n _archive_objects_locally_override: None | bool = _,\n _dsymutil_extra_flags: list[str],\n _enable_library_evolution: bool = _,\n _stripped_default: bool = _,\n allow_cache_upload: None | bool = _,\n attrs_validators: dict[str, (list[str], str)] = _,\n bridging_header: None | str = _,\n buck2_compatibility: str = _,\n can_be_asset: None | bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n cxx_runtime_type: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n devirt_enabled: bool = _,\n diagnostics: dict[str, str] = _,\n enable_cxx_interop: bool = _,\n enable_distributed_thinlto: bool = _,\n enable_library_evolution: None | bool = _,\n executable_name: None | str = _,\n exported_deps: list[str] = _,\n exported_header_style: str = _,\n exported_headers: list[str] | dict[str, str] = _,\n exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n exported_lang_preprocessor_flags: dict[str, list[str]] = _,\n exported_linker_flags: list[str] = _,\n exported_platform_deps: list[(str, list[str])] = _,\n exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,\n exported_platform_linker_flags: list[(str, list[str])] = _,\n exported_platform_preprocessor_flags: list[(str, list[str])] = _,\n exported_post_linker_flags: list[str] = _,\n exported_post_platform_linker_flags: list[(str, list[str])] = _,\n exported_preprocessor_flags: list[str] = _,\n extra_xcode_files: list[str] = _,\n extra_xcode_sources: list[str] = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n force_static: None | bool = _,\n frameworks: list[str] = _,\n header_mode: None | str = _,\n header_namespace: None | str = _,\n header_path_prefix: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n import_obj_c_forward_declarations: bool = _,\n include_directories: list[str] = _,\n info_plist: None | str = _,\n info_plist_substitutions: dict[str, str] = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_execution_preference: None | str = _,\n link_group: None | str = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_ordering: None | str = _,\n link_style: None | str = _,\n link_whole: None | bool = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n modular: bool = _,\n module_name: None | str = _,\n module_requires_cxx: bool = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n preferred_linkage: str = _,\n prefix_header: None | str = _,\n preprocessor_flags: list[str] = _,\n propagated_target_sdk_version: None | str = _,\n public_framework_headers: list[str] | dict[str, str] = _,\n public_include_directories: list[str] = _,\n public_system_include_directories: list[str] = _,\n raw_headers: list[str] = _,\n reexport_all_header_dependencies: None | bool = _,\n sdk_modules: list[str] = _,\n serialize_debugging_options: bool = _,\n shared_library_macho_file_type: str = _,\n soname: None | str = _,\n srcs: list[str | (str, list[str])] = _,\n static_library_basename: None | str = _,\n stripped: None | bool = _,\n supported_platforms_regex: None | str = _,\n supports_header_symlink_subtarget: bool = _,\n supports_merged_linking: None | bool = _,\n supports_shlib_interfaces: bool = _,\n swift_compilation_mode: str = _,\n swift_compiler_flags: list[str] = _,\n swift_package_name: None | str = _,\n swift_version: None | str = _,\n target_sdk_version: None | str = _,\n thin_lto: bool = _,\n use_archive: None | bool = _,\n use_submodules: bool = _,\n uses_cxx_explicit_modules: bool = _,\n uses_explicit_modules: bool = _,\n uses_modules: bool = _,\n validation_deps: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_library()")," rule represents a set of Objective-C/C++/Swift source files and is similar to a ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library()")," rule with which it shares many attributes. In addition to those common attributes, ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_library()")," has a some additional attributes that are specific to binaries intended to be built using the Apple toolchain. Note, however, that ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_library()")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library()")," differ in the way that they import header files, in order to better accommodate existing conventions. See the sections for the ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_headers")," attributes for more details."),(0,n.mdx)("h4",{id:"parameters-17"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"allow_cache_upload"),": Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags"),": Flags to use when compiling any of the above sources (which require compilation).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps"),": Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: ",(0,n.mdx)("em",{parentName:"p"}," Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. ")," When ",(0,n.mdx)("inlineCode",{parentName:"p"},"reexport_all_header_dependencies = False"),", only exported headers of the rules specified here are re-exported.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_headers"),": The set of header files that are made available for inclusion to the source files in this target and all targets that transitively depend on this one. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"). If a list of header files is specified, the headers can be imported with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_PATH_PREFIX/$HEADER_NAME"')," or, if a header file that belongs to the same rule is being imported, with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_NAME"'),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_PATH_PREFIX")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the filename of the header file. If a dictionary is specified, each header can be imported with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_NAME"'),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the key corresponding to this file. In this case, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix")," attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_linker_flags"),": Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_platform_linker_flags"),": Platform-specific linker flags for this rule and for all rules that transitively depend on this rule. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.util.regex.Pattern")," syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_xcode_files"),': When the project is generated, this is the list of files that will added to the project. Those files won\'t be added to the build phase "Compile Sources".')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"frameworks"),": A list of system frameworks that the code in this target uses. Each entry should be a path starting with ",(0,n.mdx)("inlineCode",{parentName:"p"},"$SDKROOT")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"$PLATFORM_DIR")," to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace"),": A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"), but cannot start with one. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix"),": A path prefix when including headers of this target. For example, headers from a library defined using"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'apple_library(\n name = "Library",\n headers = glob(["**/*.h"]),\n header_path_prefix = "Lib",\n)\n')),(0,n.mdx)("p",{parentName:"li"},"can be imported using following mapping"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"Library/SubDir/Header1.h -> Lib/Header1.h\nLibrary/Header2.h -> Lib/Header2.h\n")),(0,n.mdx)("p",{parentName:"li"},"Defaults to the short name of the target. Can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"), but\ncannot start with one. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"headers"),": The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"). If a list of header files is specified, the headers can be imported with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_PATH_PREFIX/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_NAME"'),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_PATH_PREFIX")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the filename of the header file. If a dictionary is specified, each header can be imported with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_NAME"'),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the key corresponding to this file. In this case, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix")," attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_execution_preference"),": The execution preference for linking. Options are:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},"any : No preference is set, and the link action will be performed based on buck2's executor configuration."),(0,n.mdx)("li",{parentName:"ul"},"full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if\nthe executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored."),(0,n.mdx)("li",{parentName:"ul"},"local : The link action will execute locally if compatible on current host platform."),(0,n.mdx)("li",{parentName:"ul"},"local_only : The link action will execute locally, and error if the current platform is not compatible."),(0,n.mdx)("li",{parentName:"ul"},"remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.")),(0,n.mdx)("p",{parentName:"li"},"The default is None, expressing that no preference has been set on the target itself.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"shared"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_extra_outputs"),": Declares extra outputs that the linker emits. These identifiers can be used in ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(output ...)")," macros in ",(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags")," to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_compiler_flags"),": Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_srcs"),": Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags"),": Flags to use when preprocessing any of the above sources (which require preprocessing).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"reexport_all_header_dependencies"),": Whether to automatically re-export the exported headers of all dependencies."),(0,n.mdx)("p",{parentName:"li"},"When this is set to false, only exported headers from\n",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps")," are re-exported.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the ",(0,n.mdx)("a",{parentName:"p",href:"https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html"},"GCC documentation")," for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"''"),") or a tuple of a string specifying a source file and a list of compilation flags (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"('', ['-Wall', '-Werror'])")," ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_sdk_version"),": The minimum OS version that the library target should support, overriding the minimum set in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),". When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks."))),(0,n.mdx)("h4",{id:"details-12"},"Details"),(0,n.mdx)("p",null,"Buck enables you to override components of the Apple toolchain with\nalternate tools, either from the Xcode search paths or from directories\nthat you specify.\nSee ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nand ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nfor more information."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\napple_library(\n name = 'MyLibrary',\n deps = [\n ':OtherLibrary',\n '//Libraries:YetAnotherLibrary',\n ],\n preprocessor_flags = ['-fobjc-arc'],\n headers = [\n 'MyHeader.h',\n ],\n srcs = [\n 'MySource.m',\n 'MySource.swift',\n ],\n frameworks = [\n '$SDKROOT/System/Library/Frameworks/UIKit.framework',\n '$SDKROOT/System/Library/Frameworks/Foundation.framework',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_package"},"apple","_","package"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_package(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _apple_tools: str = _,\n _ipa_compression_level: str,\n _ipa_package: str,\n buck2_compatibility: str = _,\n bundle: str,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n ext: str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n need_android_tools: bool = _,\n package_name: None | str = _,\n packager: None | str = _,\n packager_args: list[str] = _,\n prepackaged_validators: list[str | (str, list[str])] = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_package()")," rule takes the output of an ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_bundle()")," rule and compresses it in an IPA (iOS App Store Package) file."),(0,n.mdx)("h4",{id:"parameters-18"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("h4",{id:"details-13"},"Details"),(0,n.mdx)("p",null,"This rule can be customized using the config options ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nand ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\n."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\napple_package(\n name = 'AppPackage',\n bundle = ':AppBundle',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_resource"},"apple","_","resource"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_resource(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n codesign_entitlements: None | str = _,\n codesign_flags_override: None | list[str] = _,\n codesign_on_copy: bool = _,\n contacts: list[str] = _,\n content_dirs: list[str] = _,\n default_host_platform: None | str = _,\n destination: None | str = _,\n dirs: list[str] = _,\n files: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n named_variants: dict[str, list[str]] = _,\n resources_from_deps: list[str] = _,\n skip_universal_resource_dedupe: bool = _,\n variants: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_resource()")," rule contains sets of resource directories, files and file variants that can be bundled in an application bundle. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_bundle()")," rule."),(0,n.mdx)("h4",{id:"parameters-19"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"destination"),': Specifies the destination in the final application bundle where resource will be copied. Possible values: "resources", "frameworks", "executables", "plugins", "xpcservices".')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"named_variants"),": Mapping from a variant name to the list of resource file paths which should be placed in an application bundle. Those files will be placed in a directory with name equal to the corresponding key in this mapping. Keys should end with ",(0,n.mdx)("inlineCode",{parentName:"p"},".lproj")," suffix. (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"Base.lproj"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"en.lproj"),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources_from_deps"),": Set of build targets whose transitive ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_resource"),"s should be considered as part of the current resource when collecting resources for bundles."),(0,n.mdx)("p",{parentName:"li"},"Usually, an ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_bundle")," collects all ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_resource")," rules transitively\nreachable through apple","_","library rules. This field allows for resources which are not reachable\nusing the above traversal strategy to be considered for inclusion in the bundle.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"variants"),": Set of paths of resource file variants that should be placed in an application bundle. The files mentioned here should be placed in a directory named ",(0,n.mdx)("inlineCode",{parentName:"p"},"$VARIANT_NAME.lproj"),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$VARIANT_NAME")," is the name of the variant (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"Base"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"en"),"). This argument makes it possible to use different resource files based on the active locale."))),(0,n.mdx)("h4",{id:"details-14"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\napple_resource(\n name = 'Images',\n files = glob([\n '*.png',\n ]),\n dirs = [\n 'PrettyImages',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_test"},"apple","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _apple_toolchain: str = _,\n _apple_tools: str = _,\n _apple_xctoolchain: str = _,\n _apple_xctoolchain_bundle_id: str = _,\n _bundling_cache_buster: None | str = _,\n _bundling_log_file_enabled: bool = _,\n _bundling_log_file_level: None | str = _,\n _code_signing_configuration: None | str = _,\n _codesign_identities_command_override: None | str = _,\n _codesign_type: None | str = _,\n _compile_resources_locally_override: None | bool = _,\n _dsymutil_extra_flags: list[str],\n _embed_provisioning_profile_when_adhoc_code_signing: None | bool = _,\n _enable_library_evolution: bool = _,\n _fast_adhoc_signing_enabled_default: bool = _,\n _fast_provisioning_profile_parsing_enabled: bool = _,\n _incremental_bundling_enabled: bool = _,\n _info_plist_identify_build_system_default: bool = _,\n _inject_test_env: str = _,\n _ios_booted_simulator: str = _,\n _ios_unbooted_simulator: str = _,\n _macos_idb_companion: str = _,\n _profile_bundling_enabled: bool = _,\n _provisioning_profiles: str = _,\n _resource_bundle: None | str = _,\n _strict_provisioning_profile_search_default: bool = _,\n _use_entitlements_when_adhoc_code_signing: None | bool = _,\n allow_cache_upload: None | bool = _,\n asset_catalogs_compilation_options: dict[str, typing.Any] = _,\n attrs_validators: dict[str, (list[str], str)] = _,\n binary: None | str = _,\n bridging_header: None | str = _,\n buck2_compatibility: str = _,\n can_be_asset: None | bool = _,\n codesign_flags: list[str] = _,\n codesign_identity: None | str = _,\n codesign_type: None | str = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n cxx_runtime_type: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n destination_specifier: dict[str, str] = _,\n devirt_enabled: bool = _,\n diagnostics: dict[str, str] = _,\n embed_provisioning_profile_when_adhoc_code_signing: bool = _,\n enable_cxx_interop: bool = _,\n enable_library_evolution: None | bool = _,\n entitlements_file: None | str = _,\n env: None | dict[str, str] = _,\n executable_name: None | str = _,\n exported_deps: list[str] = _,\n exported_header_style: str = _,\n exported_headers: list[str] | dict[str, str] = _,\n exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n exported_lang_preprocessor_flags: dict[str, list[str]] = _,\n exported_linker_flags: list[str] = _,\n exported_platform_deps: list[(str, list[str])] = _,\n exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,\n exported_platform_linker_flags: list[(str, list[str])] = _,\n exported_platform_preprocessor_flags: list[(str, list[str])] = _,\n exported_post_linker_flags: list[str] = _,\n exported_post_platform_linker_flags: list[(str, list[str])] = _,\n exported_preprocessor_flags: list[str] = _,\n extension: str,\n extra_xcode_files: list[str] = _,\n extra_xcode_sources: list[str] = _,\n fast_adhoc_signing_enabled: None | bool = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n force_static: None | bool = _,\n frameworks: list[str] = _,\n header_namespace: None | str = _,\n header_path_prefix: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n import_obj_c_forward_declarations: bool = _,\n include_directories: list[str] = _,\n incremental_bundling_enabled: None | bool = _,\n info_plist: str,\n info_plist_identify_build_system: None | bool = _,\n info_plist_substitutions: dict[str, str] = _,\n is_ui_test: bool = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_execution_preference: None | str = _,\n link_group: None | str = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_ordering: None | str = _,\n link_style: str = _,\n link_whole: None | bool = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n modular: bool = _,\n module_name: None | str = _,\n module_requires_cxx: bool = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n preferred_linkage: str = _,\n prefix_header: None | str = _,\n preprocessor_flags: list[str] = _,\n propagated_target_sdk_version: None | str = _,\n provisioning_profile_filter: None | str = _,\n public_include_directories: list[str] = _,\n public_system_include_directories: list[str] = _,\n raw_headers: list[str] = _,\n reexport_all_header_dependencies: None | bool = _,\n resource_group: None | str = _,\n resource_group_map: None | str = _,\n run_test_separately: bool = _,\n runner: None | str = _,\n sanitizer_runtime_enabled: None | bool = _,\n sdk_modules: list[str] = _,\n serialize_debugging_options: bool = _,\n skip_copying_swift_stdlib: None | bool = _,\n snapshot_reference_images_path: None | str = _,\n soname: None | str = _,\n specs: None | str = _,\n srcs: list[str | (str, list[str])] = _,\n static_library_basename: None | str = _,\n strict_provisioning_profile_search: None | bool = _,\n stripped: bool = _,\n supported_platforms_regex: None | str = _,\n supports_merged_linking: None | bool = _,\n swift_compilation_mode: str = _,\n swift_compiler_flags: list[str] = _,\n swift_package_name: None | str = _,\n swift_version: None | str = _,\n target_sdk_version: None | str = _,\n test_host_app: None | str = _,\n test_re_capabilities: None | dict[str, str] = _,\n test_re_use_case: None | str = _,\n test_rule_timeout_ms: None | int = _,\n thin_lto: bool = _,\n try_skip_code_signing: None | bool = _,\n ui_test_target_app: None | str = _,\n use_entitlements_when_adhoc_code_signing: bool = _,\n use_submodules: bool = _,\n uses_cxx_explicit_modules: bool = _,\n uses_explicit_modules: bool = _,\n uses_modules: bool = _,\n validation_deps: list[str] = _,\n versioned_macos_bundle: bool = _,\n xcode_product_type: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_test()")," rule contains Objective-C/C++ code which can be built and used to test code contained in other rules. The tests can be executed by running ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck test"),"."),(0,n.mdx)("h4",{id:"parameters-20"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"allow_cache_upload"),": Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags"),": Flags to use when compiling any of the above sources (which require compilation).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_xcode_files"),': When the project is generated, this is the list of files that will added to the project. Those files won\'t be added to the build phase "Compile Sources".')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"frameworks"),": A list of system frameworks that the code in this target uses. Each entry should be a path starting with ",(0,n.mdx)("inlineCode",{parentName:"p"},"$SDKROOT")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"$PLATFORM_DIR")," to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix"),": A path prefix when including headers of this target. For example, headers from a library defined using"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'apple_library(\n name = "Library",\n headers = glob(["**/*.h"]),\n header_path_prefix = "Lib",\n)\n')),(0,n.mdx)("p",{parentName:"li"},"can be imported using following mapping"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"Library/SubDir/Header1.h -> Lib/Header1.h\nLibrary/Header2.h -> Lib/Header2.h\n")),(0,n.mdx)("p",{parentName:"li"},"Defaults to the short name of the target. Can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"), but\ncannot start with one. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"headers"),": The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"). If a list of header files is specified, the headers can be imported with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_PATH_PREFIX/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_NAME"'),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_PATH_PREFIX")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the filename of the header file. If a dictionary is specified, each header can be imported with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#import "$HEADER_NAME"'),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the key corresponding to this file. In this case, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_path_prefix")," attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"info_plist"),": A path to an ",(0,n.mdx)("inlineCode",{parentName:"p"},"Info.plist")," file that will be placed in the bundle. The specified file will be processed by substituting variable names with their values (see ",(0,n.mdx)("inlineCode",{parentName:"p"},"info_plist_substitutions")," for more information).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"info_plist_substitutions"),": A dictionary that assigns variable names to their values. It is used for variable substitution when processing the file specified in ",(0,n.mdx)("inlineCode",{parentName:"p"},"info_plist"),". For example if this argument is set to ",(0,n.mdx)("inlineCode",{parentName:"p"},"{'VAR': 'MyValue'}"),", then each occurrence of ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(VAR)")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"${VAR}")," in the file will be replaced by ",(0,n.mdx)("inlineCode",{parentName:"p"},"MyValue"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"labels"),": A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., ",(0,n.mdx)("inlineCode",{parentName:"p"},"smoke")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"fast"),"). A label can be used to filter or include a specific test rule when executing ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck test"))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_execution_preference"),": The execution preference for linking. Options are:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},"any : No preference is set, and the link action will be performed based on buck2's executor configuration."),(0,n.mdx)("li",{parentName:"ul"},"full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if\nthe executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored."),(0,n.mdx)("li",{parentName:"ul"},"local : The link action will execute locally if compatible on current host platform."),(0,n.mdx)("li",{parentName:"ul"},"local_only : The link action will execute locally, and error if the current platform is not compatible."),(0,n.mdx)("li",{parentName:"ul"},"remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.")),(0,n.mdx)("p",{parentName:"li"},"The default is None, expressing that no preference has been set on the target itself.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_compiler_flags"),": Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_srcs"),": Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags"),": Flags to use when preprocessing any of the above sources (which require preprocessing).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the ",(0,n.mdx)("a",{parentName:"p",href:"https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html"},"GCC documentation")," for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"''"),") or a tuple of a string specifying a source file and a list of compilation flags (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"('', ['-Wall', '-Werror'])")," ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_sdk_version"),": The minimum OS version that the library target should support, overriding the minimum set in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),". When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test_host_app"),": A build target identifying an ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_bundle()")," rule that builds an application bundle. Output of the specified rule will be used as a test host of this test. This implies ",(0,n.mdx)("inlineCode",{parentName:"p"},"run_test_separately"),". Since symbols that are defined in the test host application and its dependencies will not be linked into the test binary, to make those symbols accessible to the test target they need to be specified as a dependency of this target and ",(0,n.mdx)("inlineCode",{parentName:"p"},"['-undefined', 'dynamic_lookup']")," needs to be added to this target's ",(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags")," (this will suppress undefined reference errors during compilation, but if the symbols do not exist, it might result in runtime crashes).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test_re_capabilities"),": An optional dictionary with the RE capabilities for the test execution. Overrides a default selection mechanism.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test_re_use_case"),": An optional name of the RE use case for the test execution. Overrides a default selection mechanism."))),(0,n.mdx)("h4",{id:"details-15"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\napple_test(\n name = 'MyTest',\n info_plist = 'MyTest-Info.plist',\n preprocessor_flags = ['-fobjc-arc'],\n srcs = [\n 'MyTest.m',\n ],\n deps = [\n ':MyLibrary',\n ],\n frameworks = [\n '$SDKROOT/System/Library/Frameworks/Foundation.framework',\n '$SDKROOT/System/Library/Frameworks/UIKit.framework',\n '$PLATFORM_DIR/Developer/Library/Frameworks/XCTest.framework',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_toolchain"},"apple","_","toolchain"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_toolchain(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _internal_platform_path: None | str = _,\n _internal_sdk_path: None | str = _,\n actool: str,\n architecture: str = _,\n buck2_compatibility: str = _,\n build_version: None | str = _,\n codesign: str,\n codesign_allocate: str,\n codesign_identities_command: None | str = _,\n compile_resources_locally: bool = _,\n contacts: list[str] = _,\n copy_scene_kit_assets: str,\n cxx_toolchain: str,\n default_host_platform: None | str = _,\n developer_path: None | str = _,\n dsymutil: str,\n dwarfdump: None | str = _,\n extra_linker_outputs: list[str] = _,\n ibtool: str,\n installer: str = _,\n labels: list[str] = _,\n libtool: str,\n licenses: list[str] = _,\n lipo: str,\n mapc: None | str = _,\n min_version: str = _,\n momc: str,\n objdump: None | str = _,\n placeholder_tool: None | str = _,\n platform_path: None | str = _,\n requires_xcode_version_match: bool = _,\n sdk_environment: None | str = _,\n sdk_name: str = _,\n sdk_path: None | str = _,\n swift_toolchain: None | str = _,\n version: None | str = _,\n watch_kit_stub_binary: None | str = _,\n work_around_dsymutil_lto_stack_overflow_bug: None | bool = _,\n xcode_build_version: None | str = _,\n xcode_version: None | str = _,\n xctest: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-21"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_toolchain_set"},"apple","_","toolchain","_","set"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_toolchain_set(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n apple_toolchains: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-22"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_universal_executable"},"apple","_","universal","_","executable"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_universal_executable(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _apple_toolchain: str = _,\n _apple_tools: str = _,\n _dsymutil_extra_flags: list[str],\n buck2_compatibility: str = _,\n executable: str,\n executable_name: None | str = _,\n labels: list[str] = _,\n split_arch_dsym: bool = _,\n universal: None | bool = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_universal_executable()")," rule takes a target via its ",(0,n.mdx)("inlineCode",{parentName:"p"},"binary")," attribute, builds it for multiple architectures and combines the result into a single binary using ",(0,n.mdx)("inlineCode",{parentName:"p"},"lipo"),"."),(0,n.mdx)("h4",{id:"parameters-23"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"executable"),": A build target identifying the binary which will be built for multiple architectures. The target will be transitioned into different configurations, with distinct architectures."),(0,n.mdx)("p",{parentName:"li"},"The target can be one of:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"apple_binary()")," and ",(0,n.mdx)("inlineCode",{parentName:"li"},"cxx_binary()")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"[shared]")," subtarget of ",(0,n.mdx)("inlineCode",{parentName:"li"},"apple_library()")," and ",(0,n.mdx)("inlineCode",{parentName:"li"},"cxx_library()")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"apple_library()")," and ",(0,n.mdx)("inlineCode",{parentName:"li"},"cxx_library()")," which have ",(0,n.mdx)("inlineCode",{parentName:"li"},"preferred_linkage = shared")," attribute"))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"executable_name"),": By default, the name of the universal executable is same as the name of the binary from the ",(0,n.mdx)("inlineCode",{parentName:"p"},"binary")," target attribute. Set ",(0,n.mdx)("inlineCode",{parentName:"p"},"executable_name")," to override the default.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"split_arch_dsym"),": If enabled, each architecture gets its own dSYM binary. Use this if the combined universal dSYM binary exceeds 4GiB.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"universal"),": Controls whether the output is universal binary. Any value overrides the presence of the ",(0,n.mdx)("inlineCode",{parentName:"p"},"config//cpu/constraints:universal-enabled")," constraint. Read the rule docs for more information on resolution."))),(0,n.mdx)("h4",{id:"details-16"},"Details"),(0,n.mdx)("p",null,"The output of the rule is a universal binary:"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},"If ",(0,n.mdx)("inlineCode",{parentName:"li"},"config//cpu/constraints:universal-enabled")," is present in the target platform."),(0,n.mdx)("li",{parentName:"ul"},"If the ",(0,n.mdx)("inlineCode",{parentName:"li"},"universal")," attribute is set to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True"),".")),(0,n.mdx)("p",null,"If none of the conditions are met, then the rule acts as a nop ",(0,n.mdx)("inlineCode",{parentName:"p"},"alias()"),"."),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"universal")," attribute, if present, takes precedence over constraint.\nFor example, if ",(0,n.mdx)("inlineCode",{parentName:"p"},"universal = False"),", then the presence of the constraint\nwould not affect the output."),(0,n.mdx)("p",null,(0,n.mdx)("inlineCode",{parentName:"p"},"apple_bundle()")," supports building of universal binaries,\n",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_universal_executable()")," is only needed if you have a standalone\nbinary target which is not embedded in an ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_bundle()")," (usually a\nCLI tool)."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_xcframework"},"apple","_","xcframework"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_xcframework(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _apple_tools: str = _,\n buck2_compatibility: str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-24"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"apple_xcuitest"},"apple","_","xcuitest"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def apple_xcuitest(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _apple_toolchain: str = _,\n _apple_tools: str = _,\n _apple_xctoolchain: str = _,\n _apple_xctoolchain_bundle_id: str = _,\n _bundling_cache_buster: None | str = _,\n _bundling_log_file_enabled: bool = _,\n _bundling_log_file_level: None | str = _,\n _code_signing_configuration: None | str = _,\n _codesign_identities_command_override: None | str = _,\n _codesign_type: None | str = _,\n _compile_resources_locally_override: None | bool = _,\n _embed_provisioning_profile_when_adhoc_code_signing: None | bool = _,\n _enable_library_evolution: bool = _,\n _fast_adhoc_signing_enabled_default: bool = _,\n _fast_provisioning_profile_parsing_enabled: bool = _,\n _incremental_bundling_enabled: bool = _,\n _info_plist_identify_build_system_default: bool = _,\n _profile_bundling_enabled: bool = _,\n _provisioning_profiles: str = _,\n _resource_bundle: None | str = _,\n _strict_provisioning_profile_search_default: bool = _,\n _use_entitlements_when_adhoc_code_signing: None | bool = _,\n binary: None | str = _,\n buck2_compatibility: str = _,\n codesign_identity: None | str = _,\n codesign_type: None | str = _,\n embed_provisioning_profile_when_adhoc_code_signing: bool = _,\n enable_library_evolution: None | bool = _,\n entitlements_file: None | str = _,\n extension: str = _,\n fast_adhoc_signing_enabled: None | bool = _,\n incremental_bundling_enabled: bool = _,\n info_plist: str,\n info_plist_identify_build_system: None | bool = _,\n info_plist_substitutions: dict[str, str] = _,\n provisioning_profile_filter: None | str = _,\n strict_provisioning_profile_search: None | bool = _,\n target_sdk_version: None | str = _,\n test_bundle: str,\n use_entitlements_when_adhoc_code_signing: bool = _,\n validation_deps: list[str] = _,\n versioned_macos_bundle: bool = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-25"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"cgo_library"},"cgo","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def cgo_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _asan: bool = _,\n _compile_shared: bool = _,\n _coverage_mode: None | str = _,\n _cxx_toolchain: str = _,\n _exec_os_type: str = _,\n _go_stdlib: str = _,\n _go_toolchain: str = _,\n _race: bool = _,\n _tags: list[str] = _,\n allow_cache_upload: None | bool = _,\n buck2_compatibility: str = _,\n cgo_compiler_flags: list[str] = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n cxx_runtime_type: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n devirt_enabled: bool = _,\n embedcfg: None | str = _,\n executable_name: None | str = _,\n exported_deps: list[str] = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n frameworks: list[str] = _,\n go_assembler_flags: list[str] = _,\n go_compiler_flags: list[str] = _,\n go_srcs: list[str] = _,\n header_namespace: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n include_directories: list[str] = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_deps_query_whole: bool = _,\n link_group: None | str = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_style: None | str = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n package_name: None | str = _,\n package_root: None | str = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n prefer_stripped_objects: bool = _,\n prefix_header: None | str = _,\n preprocessor_flags: list[str] = _,\n raw_headers: list[str] = _,\n srcs: list[str | (str, list[str])] = _,\n thin_lto: bool = _,\n version_universe: None | str = _,\n weak_framework_names: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A cgo","_","library() rule builds an object from the supplied set of Go/C source files and dependencies. The outputs are linked into go executable in the last step (compile)."),(0,n.mdx)("h4",{id:"parameters-26"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"allow_cache_upload"),": Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"cgo_compiler_flags"),": The set of additional compiler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"li"},"go tool cgo"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": Flags to use when compiling any of the above sources (which require compilation)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"go_assembler_flags"),": The set of additional assembler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"li"},"go tool asm"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"go_compiler_flags"),": The set of additional compiler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"li"},"go tool compile"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"go_srcs"),": The set of source files to be compiled by this rule. Go (",(0,n.mdx)("inlineCode",{parentName:"li"},".go"),") files are compiled with the Go compiler. In contrast to the ",(0,n.mdx)("inlineCode",{parentName:"li"},"srcs")," argument, these files ",(0,n.mdx)("em",{parentName:"li"},"cannot")," have ",(0,n.mdx)("inlineCode",{parentName:"li"},'import "C"')," declared."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"headers"),": The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"li"},"/"),"). The headers can be included with ",(0,n.mdx)("inlineCode",{parentName:"li"},'#include "$HEADER_NAMESPACE/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"#include <$HEADER_NAMESPACE/$HEADER_NAME>")," , where ",(0,n.mdx)("inlineCode",{parentName:"li"},"$HEADER_NAMESPACE")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"li"},"$HEADER_NAME")," is the header name if specified, and the filename of the header file otherwise. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"li"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"shared"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"linker_extra_outputs"),": Declares extra outputs that the linker emits. These identifiers can be used in ",(0,n.mdx)("inlineCode",{parentName:"li"},"$(output ...)")," macros in ",(0,n.mdx)("inlineCode",{parentName:"li"},"linker_flags")," to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"package_name"),': Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b")'),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"package_root"),": Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ",'["foo/bar.go"]',', package_root = "foo"'),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_compiler_flags"),": Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_linker_flags"),": Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"li"},"java.util.regex.Pattern")," syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_preprocessor_flags"),": Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"preprocessor_flags")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"preprocessor_flags"),": Flags to use when preprocessing any of the above sources (which require preprocessing)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"raw_headers"),": The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. ",(0,n.mdx)("inlineCode",{parentName:"li"},"include_directories")," and ",(0,n.mdx)("inlineCode",{parentName:"li"},"public_include_directories")," are the recommended way to add raw headers to the search path (they will be added via ",(0,n.mdx)("inlineCode",{parentName:"li"},"-I"),"). ",(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),", ",(0,n.mdx)("inlineCode",{parentName:"li"},"preprocessor_flags")," and ",(0,n.mdx)("inlineCode",{parentName:"li"},"exported_preprocessor_flags")," can also be used to add such raw headers to the search path if inclusion via ",(0,n.mdx)("inlineCode",{parentName:"li"},"-isystem")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"-iquote")," is needed. ",(0,n.mdx)("inlineCode",{parentName:"li"},"raw_headers")," cannot be used together with ",(0,n.mdx)("inlineCode",{parentName:"li"},"headers")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"exported_headers")," in the same target."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of source files to be compiled by this rule. .go files will be compiled with the CGO compiler. Each file needs to have ",(0,n.mdx)("inlineCode",{parentName:"li"},'import "C"')," declared.")),(0,n.mdx)("h4",{id:"details-17"},"Details"),(0,n.mdx)("p",null,"The 'go build' command would collect the cgo directives from the source files, however\nwith buck the flags needs to be passed in the cgo","_","library manually"),(0,n.mdx)("p",null,"This rule borrows from ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_binary()")," since C/C++ sources are being compiled."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n# A rule that builds a Go native executable with linked cgo library based on\n# C/C++ util library.\ngo_binary(\n name = "bin",\n srcs = ["main.go"],\n deps = [":lib"]\n)\n\ncgo_library(\n name = "lib",\n srcs = ["cgo_source.go"],\n deps = [":util"],\n)\n\ncxx_library(\n name = "util",\n srcs = ["util.c"],\n headers = ["util.h"],\n)\n\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"command_alias"},"command","_","alias"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def command_alias(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _exec_os_type: str = _,\n _target_os_type: str = _,\n args: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n env: dict[str, str] = _,\n exe: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n platform_exe: dict[str, str] = _,\n resources: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"command_alias")," rule enables you to wrap build rules that create binaries and to pre-apply command-line arguments and environment variables."),(0,n.mdx)("h4",{id:"parameters-27"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"args"),": A string of arguments that is passed to the executable specified by ",(0,n.mdx)("inlineCode",{parentName:"p"},"exe")," at startup. These arguments support a subset of Buck's ",(0,n.mdx)("inlineCode",{parentName:"p"},"string parameter macros")," . Only the ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(location ...)")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(exe ...)")," macros are supported currently.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": A map of environment variables that will be passed to the executable represented by ",(0,n.mdx)("inlineCode",{parentName:"p"},"exe")," on startup. Environment variables support the same macros as arguments.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exe"),": A ",(0,n.mdx)("inlineCode",{parentName:"p"},"build target")," for a rule that outputs an executable, such as an ",(0,n.mdx)("inlineCode",{parentName:"p"},"sh_binary()"),", or an executable source file.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_exe"),": A mapping from platforms to ",(0,n.mdx)("inlineCode",{parentName:"p"},"build target"),". enables you to override ",(0,n.mdx)("inlineCode",{parentName:"p"},"exe")," per host platform."),(0,n.mdx)("p",{parentName:"li"},"If present, ",(0,n.mdx)("inlineCode",{parentName:"p"},"exe")," will be used as a fallback on host platforms that are not\nspecified in ",(0,n.mdx)("inlineCode",{parentName:"p"},"platform_exe"),"."),(0,n.mdx)("p",{parentName:"li"},"It is possible to omit ",(0,n.mdx)("inlineCode",{parentName:"p"},"exe")," when providing ",(0,n.mdx)("inlineCode",{parentName:"p"},"platform_exe"),".\nIn that case, the build will fail if the command is invoked on a platform not specified in\nthe mapping."),(0,n.mdx)("p",{parentName:"li"},"Valid platforms are all values of the ",(0,n.mdx)("a",{parentName:"p",href:"https://dev.buck.build/javadoc/com/facebook/buck/util/environment/Platform.html"},(0,n.mdx)("inlineCode",{parentName:"a"},"Platform")," enum")," :"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"FREEBSD")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"LINUX")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"MACOS")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"WINDOWS"))))),(0,n.mdx)("h4",{id:"details-18"},"Details"),(0,n.mdx)("p",null,"Example uses include running a command written in a scripting\nlanguage with a specific interpreter, and transparently wrapping\nsub-commands of a binary."),(0,n.mdx)("p",null," You can reference a ",(0,n.mdx)("inlineCode",{parentName:"p"},"command_alias")," target in\nthe ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd")," parameter of a ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()")," by\nusing the ",(0,n.mdx)("inlineCode",{parentName:"p"},"exe")," macro:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n\n$(exe //path/to:target)\n\n")),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n# Combining an interpreter and a script\n\ncxx_binary(\n name = "node-js",\n srcs = [\n # ...\n ],\n headers = [\n # ...\n ],\n)\n\nexport_file(\n name = "scripts"\n)\n\ncommand_alias(\n name = "server",\n exe = ":node-js",\n args = [\n "$(location :scripts)/start-server.js",\n ],\n)\n\n')),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n# Exposing sub commands\n\nexport_file(\n name = "yarn",\n src = "yarn.sh",\n)\n\ncommand_alias(\n name = "add",\n exe = ":yarn",\n args = ["add"],\n)\n\ncommand_alias(\n name = "install",\n exe = ":yarn",\n args = ["install"],\n)\n\ncommand_alias(\n name = "run",\n exe = ":yarn",\n args = ["run"],\n)\n\n')),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n# Platform specific commands\n\nexport_file(\n name = "node-windows",\n src = "windows/node.exe",\n)\n\nexport_file(\n name = "node-linux",\n src = "linux/node",\n)\n\nexport_file(\n name = "node-macos",\n src = "macos/node",\n)\n\ncommand_alias(\n name = "node",\n platform_exe = {\n "windows": ":node-windows",\n "linux": ":node-linux",\n "macos": ":node-macos",\n },\n)\n\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"config_setting"},"config","_","setting"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def config_setting(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n constraint_values: list[str] = _,\n values: dict[str, str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-28"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configuration_alias"},"configuration","_","alias"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def configuration_alias(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n actual: str,\n buck2_compatibility: str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-29"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"configured_alias"},"configured","_","alias"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def configured_alias(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n actual: str,\n buck2_compatibility: str = _,\n configured_actual: None | (str, str) = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n fallback_actual: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n platform: None | str = _,\n propagate_flavors: bool = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-30"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"constraint_setting"},"constraint","_","setting"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def constraint_setting(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-31"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"constraint_value"},"constraint","_","value"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def constraint_value(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n constraint_setting: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-32"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"core_data_model"},"core","_","data","_","model"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def core_data_model(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n module: None | str = _,\n path: str\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"core_data_model()")," rule contains models for Apple's Core Data framework. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an ",(0,n.mdx)("inlineCode",{parentName:"p"},"apple_bundle()")," rule in which case all ",(0,n.mdx)("inlineCode",{parentName:"p"},"core_data_model()")," rules that the bundle rule depends on are merged and placed into the final output bundle together."),(0,n.mdx)("h4",{id:"parameters-33"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("h4",{id:"details-19"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\ncore_data_model(\n name = 'MyCoreDataModel',\n path = 'MyCoreDataModel.xcdatamodeld',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"csharp_library"},"csharp","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def csharp_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _csharp_toolchain: str = _,\n buck2_compatibility: str = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n dll_name: str = _,\n framework_ver: str,\n labels: list[str] = _,\n licenses: list[str] = _,\n resources: dict[str, str] = _,\n srcs: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A csharp","_","library() rule builds a .Net library from the supplied set of C# source files and dependencies by invoking csc."),(0,n.mdx)("h4",{id:"parameters-34"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": The set of additional compiler flags to pass to the compiler."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The set of targets or system-provided assemblies to rely on. Any values that are targets must be either csharp","_","library or ",(0,n.mdx)("inlineCode",{parentName:"li"},"prebuilt_dotnet_library")," instances."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"dll_name"),": The output name of the dll. This allows you to specify the name of the dll exactly. When this is not set, the dll will be named after the short name of the target."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"framework_ver"),": The version of the .Net framework that this library targets. This is one of 'net35', 'net40', 'net45' and 'net46'."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"resources"),": Resources that should be embedded within the built DLL. The format is the name of the resource once mapped into the DLL as the key, and the value being the resource that should be merged. This allows non-unique keys to be identified quickly."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The collection of source files to compile.")),(0,n.mdx)("h4",{id:"details-20"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/rust/testdata/"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\ncsharp_library(\n name = 'simple',\n dll_name = 'Cake.dll',\n framework_ver = 'net46',\n srcs = [\n 'Hello.cs',\n ],\n resources = {\n 'greeting.txt': '//some:target',\n },\n deps=[\n ':other',\n 'System.dll',\n ],\n)\n\nprebuilt_dotnet_library(\n name = 'other',\n assembly = 'other-1.0.dll',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"cxx_binary"},"cxx","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def cxx_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_hacks: str = _,\n _cxx_toolchain: str = _,\n allow_cache_upload: None | bool = _,\n anonymous_link_groups: bool = _,\n auto_link_groups: bool = _,\n binary_linker_flags: list[str] = _,\n bolt_flags: list[str] = _,\n bolt_profile: None | str = _,\n buck2_compatibility: str = _,\n compiler_flags: list[str] = _,\n constraint_overrides: list[str] = _,\n contacts: list[str] = _,\n coverage_instrumentation_compiler_flags: list[str] = _,\n cxx_runtime_type: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n devirt_enabled: bool = _,\n distributed_thinlto_partial_split_dwarf: bool = _,\n enable_distributed_thinlto: bool = _,\n executable_name: None | str = _,\n exported_needs_coverage_instrumentation: bool = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n frameworks: list[str] = _,\n header_namespace: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n include_directories: list[str] = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_deps_query_whole: bool = _,\n link_execution_preference: None | str = _,\n link_group: None | str = _,\n link_group_deps: list[str] = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_group_min_binary_node_count: None | int = _,\n link_group_public_deps_label: None | str = _,\n link_ordering: None | str = _,\n link_style: None | str = _,\n link_whole: bool = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n prefer_stripped_objects: bool = _,\n prefix_header: None | str = _,\n preprocessor_flags: list[str] = _,\n raw_headers: list[str] = _,\n resources: list[str] | dict[str, str] = _,\n srcs: list[str | (str, list[str])] = _,\n thin_lto: bool = _,\n version_universe: None | str = _,\n weak_framework_names: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A cxx","_","binary() rule builds a native executable from the supplied set of C/C++ source files and dependencies. If C/C++ library dependencies are listed, the generated native executable will request and link against their static archives (which are ","*","not","*"," built using ",(0,n.mdx)("a",{parentName:"p",href:"http://en.wikipedia.org/wiki/Position-independent_code"},"PIC"),")."),(0,n.mdx)("h4",{id:"parameters-35"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"allow_cache_upload"),": Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags"),": Flags to use when compiling any of the above sources (which require compilation).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps_query"),": Status: ",(0,n.mdx)("strong",{parentName:"p"},"experimental/unstable"),". The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"attrfilter")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"except")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"intersect")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"filter")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"kind")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"set")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"union"))),(0,n.mdx)("p",{parentName:"li"}," The macro ",(0,n.mdx)("inlineCode",{parentName:"p"},"$declared_deps")," may be used anywhere a target literal pattern is expected\nin order to refer to the explicit deps of this rule as they appear in the rule's definition.\nFor example, if your build rule declares"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"\n android_library(\n name = 'lib',\n deps = ['//foo:foo'],\n deps_query = '$declared_deps',\n )\n")),(0,n.mdx)("p",{parentName:"li"}," then the macro ",(0,n.mdx)("inlineCode",{parentName:"p"},"$declared_deps")," would be expanded to a\nliteral ",(0,n.mdx)("inlineCode",{parentName:"p"},"set(//foo:foo)"),".\nSome example queries:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'\n "filter({name_regex}, $declared_deps)".format(name_regex=\'//.*\')\n "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)"\n "deps(\'//foo:foo\', 1)"\n')),(0,n.mdx)("p",{parentName:"li"}," Note: any targets included in this query must also be present in ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace"),": A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"), but cannot start with one. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"headers"),": The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"). The headers can be included with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#include "$HEADER_NAMESPACE/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"#include <$HEADER_NAMESPACE/$HEADER_NAME>")," , where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAMESPACE")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the header name if specified, and the filename of the header file otherwise. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"include_directories"),": A list of include directories (with ",(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers"),") to be added to the compile command for compiling this target (via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-I"),"). An include directory is relative to the current package.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_execution_preference"),": The execution preference for linking. Options are:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},"any : No preference is set, and the link action will be performed based on buck2's executor configuration."),(0,n.mdx)("li",{parentName:"ul"},"full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if\nthe executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored."),(0,n.mdx)("li",{parentName:"ul"},"local : The link action will execute locally if compatible on current host platform."),(0,n.mdx)("li",{parentName:"ul"},"local_only : The link action will execute locally, and error if the current platform is not compatible."),(0,n.mdx)("li",{parentName:"ul"},"remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.")),(0,n.mdx)("p",{parentName:"li"},"The default is None, expressing that no preference has been set on the target itself.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_group_deps"),": Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_group_public_deps_label"),': Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"shared"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_extra_outputs"),": Declares extra outputs that the linker emits. These identifiers can be used in ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(output ...)")," macros in ",(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags")," to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_compiler_flags"),": Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_headers"),": Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_linker_flags"),": Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.util.regex.Pattern")," syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_preprocessor_flags"),": Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_srcs"),": Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags"),": Flags to use when preprocessing any of the above sources (which require preprocessing).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers"),": The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. ",(0,n.mdx)("inlineCode",{parentName:"p"},"include_directories")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"public_include_directories")," are the recommended way to add raw headers to the search path (they will be added via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-I"),"). ",(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_preprocessor_flags")," can also be used to add such raw headers to the search path if inclusion via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-isystem")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"-iquote")," is needed. ",(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers")," cannot be used together with ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_headers")," in the same target.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the ",(0,n.mdx)("a",{parentName:"p",href:"https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html"},"GCC documentation")," for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"''"),") or a tuple of a string specifying a source file and a list of compilation flags (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"('', ['-Wall', '-Werror'])")," ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable)."))),(0,n.mdx)("h4",{id:"details-21"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that builds a C/C++ native executable from a single .cpp file\n# its corresponding header, and a C/C++ library dependency.\ncxx_binary(\n name = 'echo',\n srcs = [\n 'echo.cpp',\n ],\n headers = [\n 'echo.h',\n ],\n deps = [\n ':util',\n ],\n)\n\ncxx_library(\n name = 'util',\n srcs = [\n 'util.cpp',\n ],\n headers = [\n 'util.h',\n ],\n)\n\n# To build without stripping:\nbuck build :echo\n\n# To build with stripping debug symbols only:\nbuck build :echo#strip-debug\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"cxx_genrule"},"cxx","_","genrule"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def cxx_genrule(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _cxx_toolchain: str = _,\n _exec_os_type: str = _,\n _genrule_toolchain: str = _,\n always_print_stderr: bool = _,\n bash: None | str = _,\n buck2_compatibility: str = _,\n cacheable: None | bool = _,\n cmd: None | str = _,\n cmd_exe: None | str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n default_outs: None | list[str] = _,\n enable_sandbox: None | bool = _,\n environment_expansion_separator: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n metadata_env_var: None | str = _,\n metadata_path: None | str = _,\n need_android_tools: bool = _,\n no_outputs_cleanup: bool = _,\n out: None | str = _,\n outs: None | dict[str, list[str]] = _,\n remote: None | bool = _,\n remote_execution_dependencies: list[dict[str, str]] = _,\n srcs: list[str] | dict[str, str] = _,\n type: None | str = _,\n weight: None | int = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_genrule()")," enables you to run shell commands as part of the Buck build process. A ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_genrule()")," exposes - through a set of string parameter macros and variables - information about the tools and configuration options used by the Buck environment, specifically those related to the C/C++ toolchain."),(0,n.mdx)("h4",{id:"parameters-36"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"bash"),": A platform-specific version of the shell command parameter ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". It runs on Linux and UNIX systems\u2014including OSX\u2014on which ",(0,n.mdx)("inlineCode",{parentName:"p"},"bash")," is installed. It has a higher priority than ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". The ",(0,n.mdx)("inlineCode",{parentName:"p"},"bash")," argument is run with ",(0,n.mdx)("inlineCode",{parentName:"p"},"/usr/bin/env bash -c"),". It has access to the same set of macros and variables as the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd")," argument.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),": The shell command to run to generate the output file. It is the fallback of ",(0,n.mdx)("inlineCode",{parentName:"p"},"bash")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_exe"),". The shell command can access information about the buck build environment through a set of ",(0,n.mdx)("em",{parentName:"p"},"macros"),", ",(0,n.mdx)("em",{parentName:"p"},"parameterized macros"),", and ",(0,n.mdx)("em",{parentName:"p"},"variables"),"."),(0,n.mdx)("h4",{parentName:"li",id:"macros"},"Macros"),(0,n.mdx)("p",{parentName:"li"}," The following macros are available to the shell command and are\naccessed using the following syntax."),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"$(<macro>)\n")),(0,n.mdx)("p",{parentName:"li"}," Example:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"$(cc)\n")),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(cc)"),"\nPath to the C compiler."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(cxx)"),"\nPath to the C++ compiler."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(cflags)"),"\nFlags passed to the C compiler."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(cppflags)"),"\nFlags passed to the C preprocessor."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(cxxflags)"),"\nFlags passed to the C++ compiler."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(cxxppflags)"),"\nFlags to pass to the C++ preprocessor."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(ld)"),"\nPath to the linker."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(ldflags-pic)"),"\nFlags passed to the linker for binaries that use\nposition-independent code (PIC)."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(ldflags-pic-filter <pattern>)"),"\nFlags passed to the linker for binaries that use position-independent code (PIC).\nUse the ",(0,n.mdx)("em",{parentName:"p"},"pattern")," parameter to specify a regular expression that matches the build targets that use these flags."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(ldflags-shared)"),"\nFlags passed to the linker for shared libraries, such as dynamic-link libraries (DLLs)."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(ldflags-shared-filter <pattern>)"),"\nFlags passed to the linker for shared libraries, such as dynamic-link libraries (DLLs).\nUse the ",(0,n.mdx)("em",{parentName:"p"},"pattern")," parameter to specify a regular expression that matches the build targets that use these flags."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(ldflags-static)"),"\nFlags passed to the linker for statically-linked libraries."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(ldflags-static-filter <pattern>)"),"\nFlags passed to the linker for statically-linked libraries.\nUse the ",(0,n.mdx)("em",{parentName:"p"},"pattern")," parameter to specify a regular expression that matches the build targets that use these flags."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(platform-name)"),"\nThe platform flavor with which this ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_genrule")," was specified."),(0,n.mdx)("h4",{parentName:"li",id:"parameterized-macros"},"Parameterized Macros"),(0,n.mdx)("p",{parentName:"li"}," It is also possible to expand references to other rules within the\nshell command, using the following subset of the\nbuiltin ",(0,n.mdx)("inlineCode",{parentName:"p"},"string parameter macros"),"\n.\nNote that all build rules expanded in the command are automatically\nconsidered to be dependencies of the ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()"),"."),(0,n.mdx)("p",{parentName:"li"}," Note that the paths returned by these macros are ",(0,n.mdx)("em",{parentName:"p"},"absolute")," paths. You should convert these paths to be relative paths before\nembedding them in, for example, a shell script or batch file. Using\nrelative paths ensures that your builds are ",(0,n.mdx)("em",{parentName:"p"},"hermetic"),", that\nis, they are reproducible across different machine environments."),(0,n.mdx)("p",{parentName:"li"}," Additionally, if you embed these paths in a shell script, you should\nexecute that script using the ",(0,n.mdx)("inlineCode",{parentName:"p"},"sh_binary()")," rule and include\nthe targets for these paths in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"resources")," argument of\nthat ",(0,n.mdx)("inlineCode",{parentName:"p"},"sh_binary")," rule. These are the same targets that you\npass to the string parameter macros."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(exe //path/to:target)"),"\nExpands to the commands necessary to run the executable\ngenerated by the specified build rule. For a C++ executable, this\nwill typically just be the name of the output executable itself,\nsuch as ",(0,n.mdx)("inlineCode",{parentName:"p"},"main"),". If the specified build rule does not generate an\nexecutable output, an exception will be thrown and the build will\nfail."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(location //path/to:target)"),"\nExpands to the path of the output of the build rule. This\nmeans that you can refer to these without needing to be aware of\nhow Buck is storing data on the disk mid-build."),(0,n.mdx)("h4",{parentName:"li",id:"variables"},"Variables"),(0,n.mdx)("p",{parentName:"li"}," Finally, Buck adds the following variables to the environment in\nwhich the shell command runs. They are accessed using the following syntax.\nNote the use of braces rather than parentheses."),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"${<variable>}\n")),(0,n.mdx)("p",{parentName:"li"}," Example:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"${SRCS}\n")),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${SRCS}"),"\nA string expansion of the ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," argument delimited by\nthe ",(0,n.mdx)("inlineCode",{parentName:"p"},"environment_expansion_separator")," argument where each element\nof ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," will be translated into an absolute path."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${SRCDIR}"),"\nThe absolute path to the to which sources are copied\nprior to running the command."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${OUT}"),"\nThe output file for the ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()"),". The file\nspecified by this variable must always be written by this\ncommand. If not, the execution of this rule will be considered a\nfailure, halting the build process."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${TMP}"),"\nA temporary directory which can be used for intermediate results and will not be\nbundled into the output.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_exe"),": A platform-specific version of the shell command parameter ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". It runs on Windows and has a higher priority than ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". The ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_exe")," argument is run with ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd.exe /v:off /c"),". It has access to the same set of macros and variables as the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd")," argument.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"enable_sandbox"),": Whether this target should be executed in a sandbox or not.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"environment_expansion_separator"),": The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"out"),": The name of the output file or directory. The complete path to this argument is provided to the shell command through the ",(0,n.mdx)("inlineCode",{parentName:"p"},"OUT")," environment variable.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": Either a list or a map of the source files which Buck makes available to the shell command at the path in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"SRCDIR")," environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"type"),": Specifies the ",(0,n.mdx)("em",{parentName:"p"},"type"),' of this genrule. This is used for logging and is particularly useful for grouping genrules that share an underlying logical "type".'),(0,n.mdx)("p",{parentName:"li"},"For example, if you have the following ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_genrule")," defined\nin the root directory of your Buck project"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"\n\ncxx_genrule(\n name = 'cxx_gen',\n type = 'epilog',\n cmd = 'touch finish.txt; cp finish.txt $OUT',\n out = 'finish.txt'\n)\n\n")),(0,n.mdx)("p",{parentName:"li"}," then the following ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query")," command"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"\n\nbuck query \"attrfilter( type, 'epilog', '//...' )\"\n\n")),(0,n.mdx)("p",{parentName:"li"}," returns"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"\n\n//:cxx_gen\n\n"))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"weight"),": How many local slots these genrule should take when executing locally."))),(0,n.mdx)("h4",{id:"details-22"},"Details"),(0,n.mdx)("p",null,"The information exposed through these tools and configuration options is a reflection of:\nBuck's built-in settings,\nthe settings in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nand ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig.local"),",\nand the result of various command-line overrides specified through\nthe ",(0,n.mdx)("inlineCode",{parentName:"p"},"common_parameters")," command-line option."),(0,n.mdx)("p",null,"This information is available only\nto the shell commands specified in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_genrule"),".\nThe information is not available to other arguments of the rule."),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_genrule()")," can be an input to\nanother ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_genrule()"),"."),(0,n.mdx)("p",null,"Note that if you specify the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_genrule")," as a command-line\ntarget to ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck build"),", you must include a platform flavor.\nFor example:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n\nbuck build :cxx_gr_name#iphonesimulator-x86_64\n\n")),(0,n.mdx)("p",null,"You could also just specify the default platform flavor explicitly:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n\nbuck build :cxx_gr_name#default\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"cxx_library"},"cxx","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def cxx_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_hacks: str = _,\n _cxx_toolchain: str = _,\n _is_building_android_binary: bool = _,\n allow_cache_upload: None | bool = _,\n auto_link_groups: bool = _,\n bridging_header: None | str = _,\n buck2_compatibility: str = _,\n can_be_asset: None | bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n coverage_instrumentation_compiler_flags: list[str] = _,\n cxx_runtime_type: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n devirt_enabled: bool = _,\n diagnostics: dict[str, str] = _,\n executable_name: None | str = _,\n exported_deps: list[str] = _,\n exported_header_style: str = _,\n exported_headers: list[str] | dict[str, str] = _,\n exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n exported_lang_preprocessor_flags: dict[str, list[str]] = _,\n exported_linker_flags: list[str] = _,\n exported_needs_coverage_instrumentation: bool = _,\n exported_platform_deps: list[(str, list[str])] = _,\n exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,\n exported_platform_linker_flags: list[(str, list[str])] = _,\n exported_platform_preprocessor_flags: list[(str, list[str])] = _,\n exported_post_linker_flags: list[str] = _,\n exported_post_platform_linker_flags: list[(str, list[str])] = _,\n exported_preprocessor_flags: list[str] = _,\n extra_xcode_files: list[str] = _,\n extra_xcode_sources: list[str] = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n force_static: None | bool = _,\n frameworks: list[str] = _,\n header_mode: None | str = _,\n header_namespace: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n include_directories: list[str] = _,\n include_in_android_merge_map_output: bool = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_deps_query_whole: bool = _,\n link_execution_preference: None | str = _,\n link_group: None | str = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_ordering: None | str = _,\n link_style: None | str = _,\n link_whole: None | bool = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n local_linker_flags: list[str] = _,\n module_name: None | str = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n prefer_stripped_objects: bool = _,\n preferred_linkage: str = _,\n prefix_header: None | str = _,\n preprocessor_flags: list[str] = _,\n public_include_directories: list[str] = _,\n public_system_include_directories: list[str] = _,\n raw_headers: list[str] = _,\n reexport_all_header_dependencies: None | bool = _,\n resources: list[str] | dict[str, str] = _,\n sdk_modules: list[str] = _,\n soname: None | str = _,\n srcs: list[str | (str, list[str])] = _,\n static_library_basename: None | str = _,\n supported_platforms_regex: None | str = _,\n supports_header_symlink_subtarget: bool = _,\n supports_merged_linking: None | bool = _,\n supports_python_dlopen: None | bool = _,\n supports_shlib_interfaces: bool = _,\n thin_lto: bool = _,\n use_archive: None | bool = _,\n used_by_wrap_script: bool = _,\n uses_cxx_explicit_modules: bool = _,\n uses_explicit_modules: bool = _,\n version_universe: None | str = _,\n weak_framework_names: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library()")," rule specifies a set of C/C++ source files and also provides flags that specify how those files should be built."),(0,n.mdx)("h4",{id:"parameters-37"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"allow_cache_upload"),": Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags"),": Flags to use when compiling any of the above sources (which require compilation).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps"),": Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: ",(0,n.mdx)("em",{parentName:"p"}," Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. ")," When ",(0,n.mdx)("inlineCode",{parentName:"p"},"reexport_all_header_dependencies = False"),", only exported headers of the rules specified here are re-exported.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_header_style"),": How dependents should include exported headers from this rule. Can be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"local")," (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"-I"),") or ",(0,n.mdx)("inlineCode",{parentName:"p"},"system")," (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"-isystem"),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_headers"),": The set of header files that are made available for inclusion to the source files in the target and all targets that transitively depend on it. These should be specified as either a list of header files or a dictionary of header names to header files. The headers can be included with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#include "$HEADER_NAMESPACE/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"#include <$HEADER_NAMESPACE/$HEADER_NAME>"),", where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAMESPACE")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the header name if specified, and the filename of the header file otherwise. Note that the header name can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"). See ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_lang_platform_preprocessor_flags"),": Just as ",(0,n.mdx)("inlineCode",{parentName:"p"},"lang_platform_preprocessor_flags"),", but these flags also apply to rules that transitively depend on this rule.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_lang_preprocessor_flags"),": Just as ",(0,n.mdx)("inlineCode",{parentName:"p"},"lang_preprocessor_flags"),", but these flags also apply to rules that transitively depend on this rule.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_linker_flags"),": Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_platform_deps"),": Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps"),") that are exported if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_platform_headers"),": Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target and all targets that transitively depend on it if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_platform_linker_flags"),": Platform-specific linker flags for this rule and for all rules that transitively depend on this rule. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.util.regex.Pattern")," syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_platform_preprocessor_flags"),": Platform specific exported preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the source files in the target and all targets that transitively depend on it if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_preprocessor_flags")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_post_linker_flags"),": Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation\u2014with the additional feature that these flags are guaranteed to be placed ",(0,n.mdx)("em",{parentName:"p"},"after")," the compiled object (",(0,n.mdx)("inlineCode",{parentName:"p"},".o"),") files on the linker command line.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_post_platform_linker_flags"),": Platform-specific linker flags for this rule and for all rules that transitively depend on this rule\u2014and that are guaranteed to be placed ",(0,n.mdx)("em",{parentName:"p"},"after")," the compiled object (",(0,n.mdx)("inlineCode",{parentName:"p"},".o"),") files on the linker command line. In other respects, the syntax and semantics of this argument are the same as for the ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_platform_linker_flags")," argument.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_xcode_files"),': When the project is generated, this is the list of files that will added to the project. Those files won\'t be added to the build phase "Compile Sources".')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace"),": A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"), but cannot start with one. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"headers"),": The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"). The headers can be included with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#include "$HEADER_NAMESPACE/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"#include <$HEADER_NAMESPACE/$HEADER_NAME>")," , where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAMESPACE")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the header name if specified, and the filename of the header file otherwise. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"include_directories"),": A list of include directories (with ",(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers"),") to be added to the compile command for compiling this target (via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-I"),"). An include directory is relative to the current package.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"lang_compiler_flags"),": Language-specific compiler flags. These should be specified as a map of C-family language short names to lists of flags and is used to target flags to sources files for a specific language in the C-family (C, C++, assembler, etc.). The keys in the map can be: ",(0,n.mdx)("em",{parentName:"p"}," ",(0,n.mdx)("inlineCode",{parentName:"em"},"cpp-output")," for C ")," ",(0,n.mdx)("inlineCode",{parentName:"p"},"c++-cpp-output")," for C++ ",(0,n.mdx)("em",{parentName:"p"}," ",(0,n.mdx)("inlineCode",{parentName:"em"},"objective-c-cpp-output")," for Objective-C ")," ",(0,n.mdx)("inlineCode",{parentName:"p"},"objective-c++-cpp-output")," for Objective-C++ ",(0,n.mdx)("em",{parentName:"p"}," ",(0,n.mdx)("inlineCode",{parentName:"em"},"cuda-cpp-output")," for Cuda ")," ",(0,n.mdx)("inlineCode",{parentName:"p"},"assembler")," for Assembly * ",(0,n.mdx)("inlineCode",{parentName:"p"},"asm")," for ASM")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"lang_platform_compiler_flags"),": Language- and platform-specific compiler flags. These should be specified as a map of C-family language short names, as described in ",(0,n.mdx)("inlineCode",{parentName:"p"},"lang_compiler_flags"),", to lists of pairs, as described in ",(0,n.mdx)("inlineCode",{parentName:"p"},"platform_compiler_flags"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"lang_platform_preprocessor_flags"),": Language- and platform-specific preprocessor flags. These should be specified as a map of C-family language short names, as described in ",(0,n.mdx)("inlineCode",{parentName:"p"},"lang_preprocessor_flags"),", to lists of pairs, as described in ",(0,n.mdx)("inlineCode",{parentName:"p"},"platform_preprocessor_flags"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"lang_preprocessor_flags"),": Language-specific preprocessor flags. These should be specified as a map of C-family language short names to lists of flags and is used to target flags to sources files for a specific language in the C-family (C, C++, assembler, etc.). The keys in the map can be: ",(0,n.mdx)("em",{parentName:"p"}," ",(0,n.mdx)("inlineCode",{parentName:"em"},"c")," for C ")," ",(0,n.mdx)("inlineCode",{parentName:"p"},"c++")," for C++ ",(0,n.mdx)("em",{parentName:"p"}," ",(0,n.mdx)("inlineCode",{parentName:"em"},"objective-c")," for Objective-C ")," ",(0,n.mdx)("inlineCode",{parentName:"p"},"objective-c++")," for Objective-C++ ",(0,n.mdx)("em",{parentName:"p"}," ",(0,n.mdx)("inlineCode",{parentName:"em"},"cuda")," for Cuda ")," ",(0,n.mdx)("inlineCode",{parentName:"p"},"assembler-with-cpp")," for Assembly * ",(0,n.mdx)("inlineCode",{parentName:"p"},"asm-with-cpp")," for ASM")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_execution_preference"),": The execution preference for linking. Options are:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},"any : No preference is set, and the link action will be performed based on buck2's executor configuration."),(0,n.mdx)("li",{parentName:"ul"},"full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if\nthe executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored."),(0,n.mdx)("li",{parentName:"ul"},"local : The link action will execute locally if compatible on current host platform."),(0,n.mdx)("li",{parentName:"ul"},"local_only : The link action will execute locally, and error if the current platform is not compatible."),(0,n.mdx)("li",{parentName:"ul"},"remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.")),(0,n.mdx)("p",{parentName:"li"},"The default is None, expressing that no preference has been set on the target itself.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"shared"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_extra_outputs"),": Declares extra outputs that the linker emits. These identifiers can be used in ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(output ...)")," macros in ",(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags")," to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"local_linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation ",(0,n.mdx)("em",{parentName:"p"},"driven by this rule")," (e.g. when this rule links a shared library, but ",(0,n.mdx)("em",{parentName:"p"},"not")," when the output is linked into a shared library by another rule's link group links).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_compiler_flags"),": Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_headers"),": Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_linker_flags"),": Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.util.regex.Pattern")," syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_preprocessor_flags"),": Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_srcs"),": Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"preferred_linkage"),": Determines what linkage is used when the library is depended on by another target. To control how the dependencies of this library are linked, use ",(0,n.mdx)("inlineCode",{parentName:"p"},"link_style")," instead.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags"),": Flags to use when preprocessing any of the above sources (which require preprocessing).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"public_include_directories"),": A list of include directories (with ",(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers"),") to be added to the compile command for compiling this target and every target that depends on it (via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-I"),"). An include directory is relative to the current package.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"public_system_include_directories"),": A list of include directories (with ",(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers"),") to be added to the compile command for compiling this target and every target that depends on it (via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-isystem")," if the compiler supports it of via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-I")," otherwise). An include directory is relative to the current package.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers"),": The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. ",(0,n.mdx)("inlineCode",{parentName:"p"},"include_directories")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"public_include_directories")," are the recommended way to add raw headers to the search path (they will be added via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-I"),"). ",(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_preprocessor_flags")," can also be used to add such raw headers to the search path if inclusion via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-isystem")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"-iquote")," is needed. ",(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers")," cannot be used together with ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_headers")," in the same target.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"reexport_all_header_dependencies"),": Whether to automatically re-export the exported headers of all dependencies."),(0,n.mdx)("p",{parentName:"li"},"When this is set to false, only exported headers from\n",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps")," are re-exported.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"soname"),': Sets the soname ("shared object name") of any shared library produced from this rule. The default value is based on the full rule name. The macro ',(0,n.mdx)("inlineCode",{parentName:"p"},"$(ext)")," will be replaced with a platform-appropriate extension. An argument can be provided, which is a library version. For example ",(0,n.mdx)("inlineCode",{parentName:"p"},"soname = 'libfoo.$(ext 2.3)'")," will be ",(0,n.mdx)("inlineCode",{parentName:"p"},"libfoo.2.3.dylib")," on Mac and ",(0,n.mdx)("inlineCode",{parentName:"p"},"libfoo.so.2.3")," on Linux.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the ",(0,n.mdx)("a",{parentName:"p",href:"https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html"},"GCC documentation")," for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"''"),") or a tuple of a string specifying a source file and a list of compilation flags (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"('', ['-Wall', '-Werror'])")," ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"supported_platforms_regex"),": If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"used_by_wrap_script"),": When using an exopackage Android, if this parameter is set to ",(0,n.mdx)("inlineCode",{parentName:"p"},"True"),", then the library is included in the primary APK even if native libraries would otherwise not be placed in it. This is intended for native libraries that are used by a ",(0,n.mdx)("a",{parentName:"p",href:"https://developer.android.com/ndk/guides/wrap-script"},"wrap.sh")," script, which must be placed in the primary APK. Only one of ",(0,n.mdx)("inlineCode",{parentName:"p"},"can_be_asset")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"used_by_wrap_script")," can be set for a rule."))),(0,n.mdx)("h4",{id:"details-23"},"Details"),(0,n.mdx)("h4",{id:"building-requires-a-specified-top-level-target"},"Building requires a specified top-level target"),(0,n.mdx)("p",null,"Whether a Buck command builds the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library")," is\ndetermined by the inclusion of a top-level target, such as\na ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_binary()")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()"),", that\ntransitively depends on the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library"),". The set of\ntargets specified to the Buck command (",(0,n.mdx)("inlineCode",{parentName:"p"},"buck build"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck run"),", etc) must\ninclude one of these top-level targets in order for Buck to build\nthe ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library"),". Note that you could specify the top-level target\nimplicitly using a ",(0,n.mdx)("inlineCode",{parentName:"p"},"build target pattern")," or you could also specify\nthe top-level target using a buckconfig ",(0,n.mdx)("inlineCode",{parentName:"p"},"alias")," defined in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"."),(0,n.mdx)("p",null,(0,n.mdx)("em",{parentName:"p"},"How")," Buck builds the library also depends on the specified top-level target.\nFor example, a C/C++ binary (",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_binary"),") would require a static non-PIC build of the library,\nwhereas an Android APK (",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary"),") would require a shared PIC-enabled build.\n(PIC stands for position-independent code.)"),(0,n.mdx)("h4",{id:"dependencies-of-the-cxx_library-also-require-a-top-level-target"},"Dependencies of the cxx","_","library also require a top-level target"),(0,n.mdx)("p",null,"Similarly, in order for Buck to build a target that\nthe ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library")," depends on, such as a ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_genrule()"),",\nyou must specify in the Buck command a top-level target that depends on\nthe ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library"),". For example, you could specify\nto ",(0,n.mdx)("inlineCode",{parentName:"p"},"build")," a ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_binary")," that\ndepends on the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library"),". If you specify as\nyour build target the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library")," itself, the build targets\nthat the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library")," depends on ",(0,n.mdx)("em",{parentName:"p"},"might not be built"),"."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that includes a single .cpp file and its corresponding header and\n# also supplies an additional flag for compilation.\ncxx_library(\n name = 'fileutil',\n srcs = [\n 'fileutil.cpp',\n ],\n exported_headers = [\n 'fileutil.h',\n ],\n compiler_flags = [\n '-fno-omit-frame-pointer',\n ],\n)\n\n# A rule that defines explicit names for its headers\ncxx_library(\n name = 'mathutils',\n header_namespace = 'math',\n srcs = [\n 'trig/src/cos.cpp',\n 'trig/src/tan.cpp',\n ],\n exported_headers = {\n # These are included as <math/trig/cos.h> and <math/trig/tan.h>\n 'trig/cos.h': 'trig/include/cos.h',\n 'trig/tan.h': 'trig/include/tan.h',\n },\n compiler_flags = [\n '-fno-omit-frame-pointer',\n ],\n)\n\n# A rule that uses different headers and sources per platform\ncxx_library(\n name = 'vector',\n # Because of platform_headers, this file can include \"config.h\"\n # and get the architecture specific header\n srcs = ['vector.cpp'],\n platform_srcs = [\n ('.*armv7$', 'armv7.S'),\n ('.*x86_64$', 'x86_64.S'),\n ],\n exported_headers = [\n 'vector.h',\n ],\n platform_headers = [\n (\n '.*armv7$',\n {\n 'config.h': 'config-armv7.h',\n }\n ),\n (\n '.*x86_64$',\n {\n 'config.h': 'config-x86_64.h',\n }\n ),\n ],\n)\n\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"cxx_lua_extension"},"cxx","_","lua","_","extension"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def cxx_lua_extension(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n base_module: None | str = _,\n buck2_compatibility: str = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n cxx_runtime_type: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n executable_name: None | str = _,\n frameworks: list[str] = _,\n header_namespace: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n include_directories: list[str] = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n prefix_header: None | str = _,\n preprocessor_flags: list[str] = _,\n raw_headers: list[str] = _,\n srcs: list[str | (str, list[str])] = _,\n version_universe: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A cxx","_","lua","_","extension() rule is a variant of a C/C++ library which is built as a Lua module. As such, it has a module name formed by the ",(0,n.mdx)("inlineCode",{parentName:"p"},"base_module")," parameter and the rule name and implicitly depends on Lua C library (configured via the ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")," parameter."),(0,n.mdx)("h4",{id:"parameters-38"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"base_module"),": The package for which the given specified sources and resources should reside in their final location in the top-level binary. If unset, the project relative directory that houses the BUCK file is used."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": Flags to use when compiling any of the above sources (which require compilation)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace"),": A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"li"},"/"),"), but cannot start with one. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"headers")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"headers"),": The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"li"},"/"),"). The headers can be included with ",(0,n.mdx)("inlineCode",{parentName:"li"},'#include "$HEADER_NAMESPACE/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"#include <$HEADER_NAMESPACE/$HEADER_NAME>")," , where ",(0,n.mdx)("inlineCode",{parentName:"li"},"$HEADER_NAMESPACE")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"li"},"$HEADER_NAME")," is the header name if specified, and the filename of the header file otherwise. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_compiler_flags"),": Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_headers"),": Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"headers")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_linker_flags"),": Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"li"},"java.util.regex.Pattern")," syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_preprocessor_flags"),": Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"preprocessor_flags")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_srcs"),": Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"srcs")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"preprocessor_flags"),": Flags to use when preprocessing any of the above sources (which require preprocessing)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the ",(0,n.mdx)("a",{parentName:"li",href:"https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html"},"GCC documentation")," for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"''"),") or a tuple of a string specifying a source file and a list of compilation flags (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"('', ['-Wall', '-Werror'])")," ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).")),(0,n.mdx)("h4",{id:"details-24"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that builds a Lua extension from a single .cpp file.\ncxx_lua_extension(\n name = 'mymodule',\n base_module = 'foo.bar',\n srcs = [\n 'mymodule.cpp',\n ],\n compiler_flags = [\n '-fno-omit-frame-pointer',\n ],\n)\n\n# A library rule which has a single source importing the above extension.\nlua_library(\n name = 'utils',\n srcs = [\n 'utils.lua',\n ],\n deps = [\n ':mymodule',\n ],\n)\n\n")),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n-- The `utils.lua` source, wrapped by the `utils` rule above.\n\n-- Import the C/C++ extension build above.\nrequire "foo.bar.mymodule"\n\n...\n\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"cxx_precompiled_header"},"cxx","_","precompiled","_","header"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def cxx_precompiled_header(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n src: str,\n version_universe: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_precompiled_header")," rule specifies a single header file that can be precompiled and made available for use in other build rules such as a ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library()")," or a ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_binary()"),"."),(0,n.mdx)("h4",{id:"parameters-39"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": Dependency rules which export headers used by the header specified in ",(0,n.mdx)("inlineCode",{parentName:"li"},"src"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"src"),": The path to the header file that should be precompiled. Only one header file can be specified. But of course this header could include any number of other headers. The included headers could belong to -- that is, be ",(0,n.mdx)("inlineCode",{parentName:"li"},"exported_headers")," from -- another rule, in which case, the rule would have to be added to ",(0,n.mdx)("inlineCode",{parentName:"li"},"deps")," as usual.")),(0,n.mdx)("h4",{id:"details-25"},"Details"),(0,n.mdx)("p",null,"This header file is precompiled by the preprocessor on behalf of the\nC, C++, Objective-C, or Objective-C++ rule using it, via its ",(0,n.mdx)("inlineCode",{parentName:"p"},"precompiled_header")," parameter.\nAfterwards the precompiled header is applied during the rule's own compilation\n(often with an appreciable reduction in build time, the main benefit of PCH)."),(0,n.mdx)("p",null,' This PCH is built once per combination of build flags which might affect the PCH\'s compatibility.\nFor example, a distinct pre-compilation of the header occurs per combination of flags related to\noptimization, debug, architecture, and so on, used by rules which employ PCH.\nThe flags used during the build of the dependent rule (that is, the "PCH-using rule")\nare in effect while building the PCH itself. Similarly, to the same end, the include paths used\nwhen building the PCH are applied to the dependent rule. For example, ',(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," in the\nPCH rule are propagated back to the dependent rule, and the PCH's header search paths\n(e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"-I")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"-isystem")," options) are prefixed onto the list of\ninclude paths for the dependent rule."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"The best way to see how the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_precompiled_header()")," rule works is with an\nexample. Let there be a header called ",(0,n.mdx)("inlineCode",{parentName:"p"},"common.h")," which has the following:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n#pragma once\n\n/* Include common C++ files. */\n#include <string>\n#include <map>\n#include <set>\n#include <type_traits>\n#include <vector>\n\n/* Some frequently-used headers from the Folly project. */\n#include <folly/Conv.h>\n#include <folly/Executor.h>\n#include <folly/io/async/EventBase.h>\n\n")),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\ncxx_precompiled_header(\n name = 'common_pch',\n src = 'common.h',\n deps = [\n # Needed for standard C++ headers:\n '//external/libcxx:headers',\n # Needed for the Folly includes:\n '//folly:folly',\n '//folly/io/async:async',\n ],\n)\n\ncxx_binary(\n name = 'main',\n srcs = ['main.cpp'],\n precompiled_header = ':common_pch',\n deps = [ ... ],\n compiler_flags = ['-g', '-O2', '-fPIC'],\n)\n\n")),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_precompiled_header"),' rule declares a precompiled header "template"\ncontaining the header file path, and dependencies.\nIn this example we indicate that ',(0,n.mdx)("inlineCode",{parentName:"p"},"common.h")," is to be precompiled when used by another build rule."),(0,n.mdx)("p",null,"Note that, by itself, this ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_precompiled_header")," rule will not result\nin anything being built. The ",(0,n.mdx)("em",{parentName:"p"},"usage"),' of this rule from another rule --\nan "instantiation" of this precompiled header template -- is what will trigger the\nPCH build.'),(0,n.mdx)("p",null,"In the example above, the build for the binary named ",(0,n.mdx)("inlineCode",{parentName:"p"},'"main"')," will depend on\nthe header being precompiled in a separate step, prior to compiling ",(0,n.mdx)("inlineCode",{parentName:"p"},"main.cpp"),",\nand the resulting PCH will be used in ",(0,n.mdx)("inlineCode",{parentName:"p"},"main"),"'s compilation."),(0,n.mdx)("p",null,"The dependencies specified in this precompiled header rule's ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," are transitive; they\nwill propagate to rules using this PCH, so that during link time, any libraries which are\nrequired by the code made available in the header will be included in the final binary build."),(0,n.mdx)("p",null,'The precompiled header dynamically created from the "template" will be built with flags\nwhich would be used in the dependent rule. In this case, ',(0,n.mdx)("inlineCode",{parentName:"p"},"main"),"'s use of specific\ncompiler flags ",(0,n.mdx)("inlineCode",{parentName:"p"},"-g -O2 -fPIC")," will result in the production of a precompiled header\nwith the same flags. This is so the precompiled code fully jives with rules using the PCH,\ni.e. they will have the same debug, optimization, CPU, etc. options. (The compiler is usually\nsmart enough to reject a bad PCH, fortunately. But we want to ensure we take the appropriate\nsteps to ensure we ",(0,n.mdx)("em",{parentName:"p"},"always have")," a PCH which works with any build that uses it.)"),(0,n.mdx)("p",null,"Another effect of a rule using a precompiled header is that the rule's list of\nbuild flags will change; not just to employ PCH with e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"-include-pch"),' (if using Clang), but also, to alter the sequence of header search paths.\nThe rule using the precompiled header will "inherit" the lists of paths used\nduring the PCH build, applying them ',(0,n.mdx)("em",{parentName:"p"},"first")," in its own search paths.\nThis is to ensure that an ",(0,n.mdx)("inlineCode",{parentName:"p"},"#include")," directive will resolve in exactly\nthe same way in this build as it would have in the PCH, to ensure full compatibility\nbetween the PCH and other rule's builds. For example, if the PCH were to use one version\nof ",(0,n.mdx)("inlineCode",{parentName:"p"},"stdcxx")," and another rule use a different version, the version differences\nwon't clash, thereby avoiding different versions of the ",(0,n.mdx)("inlineCode",{parentName:"p"},"<cstring>")," header\nused between the precompiled header and the dependent rule, and preventing confused\nstructure definitions, ABI incompatibility, and so on (catastrophe, in other words)."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"cxx_python_extension"},"cxx","_","python","_","extension"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def cxx_python_extension(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_hacks: str = _,\n _cxx_toolchain: str = _,\n _python_toolchain: str = _,\n _target_os_type: str = _,\n allow_cache_upload: None | bool = _,\n allow_embedding: bool = _,\n allow_suffixing: bool = _,\n auto_link_groups: bool = _,\n base_module: None | str = _,\n bridging_header: None | str = _,\n buck2_compatibility: str = _,\n can_be_asset: None | bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n coverage_instrumentation_compiler_flags: list[str] = _,\n cxx_runtime_type: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n devirt_enabled: bool = _,\n diagnostics: dict[str, str] = _,\n executable_name: None | str = _,\n exported_deps: list[str] = _,\n exported_header_style: str = _,\n exported_headers: list[str] | dict[str, str] = _,\n exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n exported_lang_preprocessor_flags: dict[str, list[str]] = _,\n exported_linker_flags: list[str] = _,\n exported_needs_coverage_instrumentation: bool = _,\n exported_platform_deps: list[(str, list[str])] = _,\n exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,\n exported_platform_linker_flags: list[(str, list[str])] = _,\n exported_platform_preprocessor_flags: list[(str, list[str])] = _,\n exported_post_linker_flags: list[str] = _,\n exported_post_platform_linker_flags: list[(str, list[str])] = _,\n exported_preprocessor_flags: list[str] = _,\n extra_xcode_files: list[str] = _,\n extra_xcode_sources: list[str] = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n force_static: None | bool = _,\n frameworks: list[str] = _,\n header_namespace: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n include_directories: list[str] = _,\n include_in_android_merge_map_output: bool = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_group: None | str = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_ordering: None | str = _,\n link_style: None | str = _,\n link_whole: bool = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n local_linker_flags: list[str] = _,\n module_name: None | str = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n preferred_linkage: str = _,\n prefix_header: None | str = _,\n preprocessor_flags: list[str] = _,\n public_include_directories: list[str] = _,\n public_system_include_directories: list[str] = _,\n raw_headers: list[str] = _,\n reexport_all_header_dependencies: None | bool = _,\n resources: list[str] | dict[str, str] = _,\n sdk_modules: list[str] = _,\n soname: None | str = _,\n srcs: list[str | (str, list[str])] = _,\n static_library_basename: None | str = _,\n suffix_all: bool = _,\n support_shlib_interfaces: bool = _,\n supported_platforms_regex: None | str = _,\n supports_merged_linking: None | bool = _,\n thin_lto: bool = _,\n type_stub: None | str = _,\n use_archive: None | bool = _,\n used_by_wrap_script: bool = _,\n uses_cxx_explicit_modules: bool = _,\n uses_explicit_modules: bool = _,\n version_universe: None | str = _,\n weak_framework_names: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_python_extension()")," rule is a variant of a C/C++ library which is built as a Python module. As such, it has a module name formed by the ",(0,n.mdx)("inlineCode",{parentName:"p"},"base_module")," parameter and the rule name."),(0,n.mdx)("h4",{id:"parameters-40"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"base_module"),": The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": Flags to use when compiling any of the above sources (which require compilation)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": Other rules that list ",(0,n.mdx)("inlineCode",{parentName:"li"},"srcs")," from which this rule imports."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace"),": A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"li"},"/"),"), but cannot start with one. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"headers")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"headers"),": The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"li"},"/"),"). The headers can be included with ",(0,n.mdx)("inlineCode",{parentName:"li"},'#include "$HEADER_NAMESPACE/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"#include <$HEADER_NAMESPACE/$HEADER_NAME>")," , where ",(0,n.mdx)("inlineCode",{parentName:"li"},"$HEADER_NAMESPACE")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"li"},"$HEADER_NAME")," is the header name if specified, and the filename of the header file otherwise. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"labels"),": Set of arbitrary strings which allow you to annotate a ",(0,n.mdx)("inlineCode",{parentName:"li"},"build rule")," with tags that can be searched for over an entire dependency tree using ",(0,n.mdx)("inlineCode",{parentName:"li"},"buck query()")," ."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"li"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"shared"),". Note: since shared libraries re-export its dependencies, depending on multiple shared libraries which themselves have overlapping static dependencies may cause problems if they init using global state."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"linker_extra_outputs"),": Declares extra outputs that the linker emits. These identifiers can be used in ",(0,n.mdx)("inlineCode",{parentName:"li"},"$(output ...)")," macros in ",(0,n.mdx)("inlineCode",{parentName:"li"},"linker_flags")," to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"local_linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation ",(0,n.mdx)("em",{parentName:"li"},"driven by this rule")," (e.g. when this rule links a shared library, but ",(0,n.mdx)("em",{parentName:"li"},"not")," when the output is linked into a shared library by another rule's link group links)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_compiler_flags"),": Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_headers"),": Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"headers")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_linker_flags"),": Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"li"},"java.util.regex.Pattern")," syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_preprocessor_flags"),": Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"preprocessor_flags")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_srcs"),": Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"srcs")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"preprocessor_flags"),": Flags to use when preprocessing any of the above sources (which require preprocessing)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the ",(0,n.mdx)("a",{parentName:"li",href:"https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html"},"GCC documentation")," for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"''"),") or a tuple of a string specifying a source file and a list of compilation flags (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"('', ['-Wall', '-Werror'])")," ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).")),(0,n.mdx)("h4",{id:"details-26"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that builds a Python extension from a single .cpp file.\ncxx_python_extension(\n name = 'mymodule',\n base_module = 'foo.bar',\n srcs = [\n 'mymodule.cpp',\n ],\n)\n\n# A library rule which has a single source importing the above extension.\npython_library(\n name = 'utils',\n srcs = [\n 'utils.py',\n ],\n deps = [\n ':mymodule',\n ],\n)\n\n")),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n## The `utils.py` source, wrapped by the `utils` rule above.\n\n## Import the C/C++ extension build above.\nfrom foo.bar import mymodule\n\n...\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"cxx_test"},"cxx","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def cxx_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_hacks: str = _,\n _cxx_toolchain: str = _,\n _inject_test_env: str = _,\n _remote_test_execution_toolchain: str = _,\n additional_coverage_targets: list[str] = _,\n allow_cache_upload: None | bool = _,\n anonymous_link_groups: bool = _,\n args: list[str] = _,\n auto_link_groups: bool = _,\n binary_linker_flags: list[str] = _,\n bolt_flags: list[str] = _,\n bolt_profile: None | str = _,\n buck2_compatibility: str = _,\n compiler_flags: list[str] = _,\n constraint_overrides: list[str] = _,\n contacts: list[str] = _,\n coverage_instrumentation_compiler_flags: list[str] = _,\n cxx_runtime_type: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n devirt_enabled: bool = _,\n distributed_thinlto_partial_split_dwarf: bool = _,\n enable_distributed_thinlto: bool = _,\n env: dict[str, str] = _,\n executable_name: None | str = _,\n exported_needs_coverage_instrumentation: bool = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n framework: None | str = _,\n frameworks: list[str] = _,\n header_namespace: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n include_directories: list[str] = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_deps_query_whole: bool = _,\n link_execution_preference: None | str = _,\n link_group: None | str = _,\n link_group_deps: list[str] = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_group_min_binary_node_count: None | int = _,\n link_group_public_deps_label: None | str = _,\n link_ordering: None | str = _,\n link_style: None | str = _,\n link_whole: bool = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n prefer_stripped_objects: bool = _,\n prefix_header: None | str = _,\n preprocessor_flags: list[str] = _,\n raw_headers: list[str] = _,\n remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,\n remote_execution_action_key_providers: None | str = _,\n resources: list[str] | dict[str, str] = _,\n run_test_separately: None | bool = _,\n srcs: list[str | (str, list[str])] = _,\n test_rule_timeout_ms: None | int = _,\n thin_lto: bool = _,\n use_default_test_main: None | bool = _,\n version_universe: None | str = _,\n weak_framework_names: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A cxx","_","test() rule builds a C/C++ binary against a C/C++ testing framework and runs it as part of ",(0,n.mdx)("inlineCode",{parentName:"p"},"test"),"."),(0,n.mdx)("h4",{id:"parameters-41"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"allow_cache_upload"),": Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"args"),": A list of additional arguments to pass to the test when it's run."),(0,n.mdx)("p",{parentName:"li"},"It is also possible to expand references to other rules within these\narguments, using builtin ",(0,n.mdx)("inlineCode",{parentName:"p"},"string parameter macros"),"\n:"),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(location //path/to:target)"),"\nExpands to the location of the output of the build rule. This\nmeans that you can refer to these without needing to be aware of how\nBuck is storing data on the disk mid-build.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags"),": Flags to use when compiling any of the above sources (which require compilation).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps_query"),": Status: ",(0,n.mdx)("strong",{parentName:"p"},"experimental/unstable"),". The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"attrfilter")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"except")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"intersect")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"filter")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"kind")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"set")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"union"))),(0,n.mdx)("p",{parentName:"li"}," The macro ",(0,n.mdx)("inlineCode",{parentName:"p"},"$declared_deps")," may be used anywhere a target literal pattern is expected\nin order to refer to the explicit deps of this rule as they appear in the rule's definition.\nFor example, if your build rule declares"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"\n android_library(\n name = 'lib',\n deps = ['//foo:foo'],\n deps_query = '$declared_deps',\n )\n")),(0,n.mdx)("p",{parentName:"li"}," then the macro ",(0,n.mdx)("inlineCode",{parentName:"p"},"$declared_deps")," would be expanded to a\nliteral ",(0,n.mdx)("inlineCode",{parentName:"p"},"set(//foo:foo)"),".\nSome example queries:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'\n "filter({name_regex}, $declared_deps)".format(name_regex=\'//.*\')\n "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)"\n "deps(\'//foo:foo\', 1)"\n')),(0,n.mdx)("p",{parentName:"li"}," Note: any targets included in this query must also be present in ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": A map of environment names and values to set when running the test."),(0,n.mdx)("p",{parentName:"li"},"It is also possible to expand references to other rules within the ",(0,n.mdx)("strong",{parentName:"p"},"values")," of\nthese environment variables, using builtin ",(0,n.mdx)("inlineCode",{parentName:"p"},"string parameter macros"),"\n:"),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(location //path/to:target)"),"\nExpands to the location of the output of the build rule. This\nmeans that you can refer to these without needing to be aware of how\nBuck is storing data on the disk mid-build.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"framework"),": Unused.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"headers"),": The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"p"},"/"),"). The headers can be included with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#include "$HEADER_NAMESPACE/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"#include <$HEADER_NAMESPACE/$HEADER_NAME>")," , where ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAMESPACE")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$HEADER_NAME")," is the header name if specified, and the filename of the header file otherwise. See ",(0,n.mdx)("inlineCode",{parentName:"p"},"header_namespace")," for more information.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"include_directories"),": A list of include directories (with ",(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers"),") to be added to the compile command for compiling this target (via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-I"),"). An include directory is relative to the current package.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_execution_preference"),": The execution preference for linking. Options are:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},"any : No preference is set, and the link action will be performed based on buck2's executor configuration."),(0,n.mdx)("li",{parentName:"ul"},"full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if\nthe executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored."),(0,n.mdx)("li",{parentName:"ul"},"local : The link action will execute locally if compatible on current host platform."),(0,n.mdx)("li",{parentName:"ul"},"local_only : The link action will execute locally, and error if the current platform is not compatible."),(0,n.mdx)("li",{parentName:"ul"},"remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.")),(0,n.mdx)("p",{parentName:"li"},"The default is None, expressing that no preference has been set on the target itself.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_group_deps"),": Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_group_public_deps_label"),': Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"shared"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags"),": Flags to use when preprocessing any of the above sources (which require preprocessing).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers"),": The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. ",(0,n.mdx)("inlineCode",{parentName:"p"},"include_directories")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"public_include_directories")," are the recommended way to add raw headers to the search path (they will be added via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-I"),"). ",(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"preprocessor_flags")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_preprocessor_flags")," can also be used to add such raw headers to the search path if inclusion via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-isystem")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"-iquote")," is needed. ",(0,n.mdx)("inlineCode",{parentName:"p"},"raw_headers")," cannot be used together with ",(0,n.mdx)("inlineCode",{parentName:"p"},"headers")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_headers")," in the same target.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the ",(0,n.mdx)("a",{parentName:"p",href:"https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html"},"GCC documentation")," for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"''"),") or a tuple of a string specifying a source file and a list of compilation flags (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"('', ['-Wall', '-Werror'])")," ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test_rule_timeout_ms"),": If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default ",(0,n.mdx)("inlineCode",{parentName:"p"},"rule_timeout")," if any has been specified in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")," ."))),(0,n.mdx)("h4",{id:"details-27"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that builds and runs C/C++ test using gtest.\ncxx_test(\n name = 'echo_test',\n srcs = [\n 'echo_test.cpp',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"cxx_toolchain"},"cxx","_","toolchain"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def cxx_toolchain(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _dep_files_processor: str = _,\n _dumpbin_toolchain_path: None | str = _,\n _mk_comp_db: str = _,\n _mk_hmap: str = _,\n _msvc_hermetic_exec: str = _,\n _remap_cwd_tool: str = _,\n archive_contents: str = _,\n archiver: str,\n archiver_flags: list[str] = _,\n archiver_supports_argfiles: bool = _,\n archiver_type: str,\n asm_compiler: None | str = _,\n asm_compiler_flags: list[str] = _,\n asm_compiler_type: None | str = _,\n asm_preprocessor: None | str = _,\n asm_preprocessor_flags: list[str] = _,\n asm_preprocessor_type: None | str = _,\n assembler: str,\n assembler_flags: list[str] = _,\n assembler_preprocessor: None | str = _,\n assembler_preprocessor_flags: list[str] = _,\n assembler_preprocessor_type: None | str = _,\n assembler_type: None | str = _,\n binary_extension: None | str = _,\n bolt_enabled: bool = _,\n buck2_compatibility: str = _,\n c_compiler: str,\n c_compiler_allow_cache_upload: None | bool = _,\n c_compiler_flags: list[str] = _,\n c_compiler_type: None | str = _,\n c_preprocessor_flags: list[str] = _,\n cache_links: bool = _,\n clang_remarks: None | str = _,\n clang_trace: None | bool = _,\n compiler_type: None | str = _,\n conflicting_header_basename_exemptions: list[str] = _,\n contacts: list[str] = _,\n cpp_dep_tracking_mode: str = _,\n cuda_compiler: None | str = _,\n cuda_compiler_flags: list[str] = _,\n cuda_compiler_type: None | str = _,\n cuda_dep_tracking_mode: str = _,\n cuda_preprocessor_flags: list[str] = _,\n cvtres_compiler: None | str = _,\n cvtres_compiler_flags: list[str] = _,\n cvtres_compiler_type: None | str = _,\n cvtres_preprocessor_flags: list[str] = _,\n cxx_compiler: str,\n cxx_compiler_allow_cache_upload: None | bool = _,\n cxx_compiler_flags: list[str] = _,\n cxx_compiler_type: None | str = _,\n cxx_preprocessor_flags: list[str] = _,\n debug_path_prefix_map_sanitizer_format: None | str = _,\n default_host_platform: None | str = _,\n detailed_untracked_header_messages: bool = _,\n dist_lto_tools: str = _,\n dist_thin_lto_codegen_flags: list[str] = _,\n filepath_length_limited: bool = _,\n gcno_files: bool = _,\n generate_linker_maps: bool = _,\n headers_as_raw_headers_mode: None | str = _,\n headers_whitelist: list[str] = _,\n hip_compiler: None | str = _,\n hip_compiler_flags: list[str] = _,\n hip_compiler_type: None | str = _,\n hip_preprocessor_flags: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n link_ordering: str = _,\n link_path_normalization_args_enabled: bool = _,\n link_style: str = _,\n link_weight: int = _,\n linker: str,\n linker_flags: list[str] = _,\n linker_type: str,\n llvm_link: None | str = _,\n lto_mode: str = _,\n min_sdk_version: None | str = _,\n nm: str,\n objcopy_for_shared_library_interface: str,\n objcopy_recalculates_layout: bool = _,\n objdump: None | str = _,\n object_file_extension: str = _,\n object_format: str = _,\n pic_behavior: str = _,\n pic_type_for_shared_linking: str = _,\n placeholder_tool: None | str = _,\n platform_name: None | str = _,\n post_linker_flags: list[str] = _,\n private_headers_symlinks_enabled: bool = _,\n public_headers_symlinks_enabled: bool = _,\n ranlib: None | str = _,\n ranlib_flags: list[str] = _,\n rc_compiler: None | str = _,\n rc_compiler_flags: list[str] = _,\n rc_compiler_type: None | str = _,\n rc_preprocessor_flags: list[str] = _,\n remap_cwd: bool = _,\n requires_archives: bool = _,\n requires_objects: bool = _,\n sanitizer_runtime_enabled: bool = _,\n sanitizer_runtime_files: list[str] = _,\n shared_dep_runtime_ld_flags: list[str] = _,\n shared_library_extension: str = _,\n shared_library_interface_flags: list[str] = _,\n shared_library_interface_mode: str = _,\n shared_library_interface_producer: None | str = _,\n shared_library_interface_type: str,\n shared_library_versioned_extension_format: str = _,\n split_debug_mode: str = _,\n static_dep_runtime_ld_flags: list[str] = _,\n static_library_extension: str = _,\n static_pic_dep_runtime_ld_flags: list[str] = _,\n strip: str,\n strip_all_flags: None | list[str] = _,\n strip_debug_flags: None | list[str] = _,\n strip_non_global_flags: None | list[str] = _,\n supports_distributed_thinlto: bool = _,\n target_sdk_version: None | str = _,\n use_archiver_flags: bool = _,\n use_arg_file: bool = _,\n use_dep_files: None | bool = _,\n use_header_map: bool = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-42"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"c_compiler_allow_cache_upload"),": Whether to allow uploading of object files to cache when the compile action is executed locally and the configuration allows uploads (i.e., there is a cache configured and the client has permission to write to it)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"cxx_compiler_allow_cache_upload"),": Whether to allow uploading of object files to cache when the compile action is executed locally and the configuration allows uploads (i.e., there is a cache configured and the client has permission to write to it)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_style"),": The default value of the ",(0,n.mdx)("inlineCode",{parentName:"li"},"link_style")," attribute for rules that use this toolchain.")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"d_binary"},"d","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def d_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n linker_flags: list[str] = _,\n srcs: list[str] | dict[str, str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A d","_","binary() rule builds a native executable from the supplied set of D source files and dependencies."),(0,n.mdx)("h4",{id:"parameters-43"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The set of dependencies of this rule. Each element should be a string specifying a d","_","library rule defined elsewhere (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"':foo'")," or '//foo:bar')."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"linker_flags"),": The list of flags to be passed to the linker. Each element should be a string specifying a linker flag (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"'--as-needed'"),")."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"'foo/bar.d'"),").")),(0,n.mdx)("h4",{id:"details-28"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that builds a D native executable from a single .d file\n# and a library dependency.\nd_binary(\n name='greet',\n srcs=[\n 'greet.d',\n ],\n deps=[\n ':greeting',\n ],\n)\n\nd_library(\n name='greeting',\n srcs=[\n 'greeting.d',\n ],\n deps=[\n ':join',\n ],\n)\n\nd_library(\n name='join',\n srcs=[\n 'join.d',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"d_library"},"d","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def d_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n linker_flags: list[str] = _,\n srcs: list[str] | dict[str, str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A d","_","library() rule represents a set of D source files."),(0,n.mdx)("h4",{id:"parameters-44"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The set of dependencies of this rule. Each element should be a string specifying a d","_","library rule defined elsewhere (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"':foo'")," or '//foo:bar')."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"'foo/bar.d'"),").")),(0,n.mdx)("h4",{id:"details-29"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A simple library with a single source file and a single dependency.\nd_library(\n name='greeting',\n srcs=[\n 'greeting.d',\n ],\n deps=[\n ':join',\n ],\n)\n\nd_library(\n name='join',\n srcs=[\n 'join.d',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"d_test"},"d","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def d_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n linker_flags: list[str] = _,\n srcs: list[str] | dict[str, str] = _,\n test_rule_timeout_ms: None | int = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"d_test()")," rule is used to define a set of D source files that contain tests to run via D's unittest support. The source code of the test must provide a main() function."),(0,n.mdx)("h4",{id:"parameters-45"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The set of dependencies of this rule. Each element should be a string specifying a d","_","library rule defined elsewhere (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"':foo'")," or '//foo:bar')."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"labels"),": A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., ",(0,n.mdx)("inlineCode",{parentName:"li"},"smoke")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"fast"),"). A label can be used to filter or include a specific ",(0,n.mdx)("inlineCode",{parentName:"li"},"d_test()")," rule when executing ",(0,n.mdx)("inlineCode",{parentName:"li"},"buck test")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"'foo/bar.d'"),")."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"test_rule_timeout_ms"),": If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default ",(0,n.mdx)("inlineCode",{parentName:"li"},"rule_timeout")," if any has been specified in ",(0,n.mdx)("inlineCode",{parentName:"li"},".buckconfig")," .")),(0,n.mdx)("h4",{id:"details-30"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that builds and runs D test with a single source file.\nd_test(\n name = 'test',\n srcs = [\n 'test.d',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"erlang_app"},"erlang","_","app"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def erlang_app(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _toolchain: str = _,\n app_src: None | str = _,\n applications: list[str] = _,\n buck2_compatibility: str = _,\n build_edoc_chunks: bool = _,\n contacts: list[str] = _,\n env: None | dict[str, str] = _,\n erl_opts: None | list[str] = _,\n extra_includes: list[str] = _,\n extra_properties: None | dict[str, str | list[str]] = _,\n include_src: bool = _,\n included_applications: list[str] = _,\n includes: list[str] = _,\n labels: list[str] = _,\n mod: None | (str, list[str]) = _,\n os_env: None | dict[str, str] = _,\n peek_private_includes: bool = _,\n resources: list[str] = _,\n shell_configs: list[str] = _,\n shell_libs: list[str] = _,\n srcs: list[str] = _,\n use_global_parse_transforms: bool = _,\n version: str = _,\n xrl_includefile: None | str = _,\n yrl_includefile: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"This rule is the main rule for Erlang applications. It gets generated by using the ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_application")," macro, that takes as attributes the same attributes as this rule. You should always use the ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_application")," macro instead of using this rule directly."),(0,n.mdx)("h4",{id:"parameters-46"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"app_src"),": The ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_src")," field allows to optionally reference a ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app.src")," template file. This template file will then be used by buck2 to generate the ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app")," output file in the applications ",(0,n.mdx)("inlineCode",{parentName:"p"},"ebin/")," directory. This is useful during the migration from rebar3 to buck2 to avoid duplicated entries, of e.g. the ",(0,n.mdx)("inlineCode",{parentName:"p"},"version"),"."),(0,n.mdx)("p",{parentName:"li"},"Buck2 will use or check all fields present in the template, and fill out the fields with the information provided in the\ntarget, e.g. if the ",(0,n.mdx)("inlineCode",{parentName:"p"},"version")," is specified in both, buck2 will check that they are identical. Otherwise, it uses the\ninformation from the template if the target doesn't specify it, and vice versa."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("strong",{parentName:"p"},"NOTE"),": ",(0,n.mdx)("em",{parentName:"p"},"If you use the ",(0,n.mdx)("inlineCode",{parentName:"em"},"app_src")," field and the references application resource file template specifies ",(0,n.mdx)("inlineCode",{parentName:"em"},"applications"),"\nor ",(0,n.mdx)("inlineCode",{parentName:"em"},"included_applications")," buck2 checks that the target definitions and information in the template are equivalent to\nprevent these definitions from drifting apart during migration."))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"applications"),": Equivalent to the corresponding ",(0,n.mdx)("inlineCode",{parentName:"p"},"applications")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"included_applications")," fields you will find in ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app.src")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app")," files and specify the application dependencies. Contrary to the fields in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app.src")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app")," files, ",(0,n.mdx)("strong",{parentName:"p"},"it is necessary to use target paths to the application")," where a dependency is desired. These fields will be used to construct equally named fields in the generated ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app")," file for the application."),(0,n.mdx)("p",{parentName:"li"},"OTP applications are specified with the target path ",(0,n.mdx)("inlineCode",{parentName:"p"},"prelude//erlang/applications:<application>"),"."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("strong",{parentName:"p"},"NOTE"),": ",(0,n.mdx)("em",{parentName:"p"},"If you use the ",(0,n.mdx)("inlineCode",{parentName:"em"},"app_src")," field and the references application resource file template specifies\n",(0,n.mdx)("inlineCode",{parentName:"em"},"applications")," or ",(0,n.mdx)("inlineCode",{parentName:"em"},"included_applications")," buck2 checks that the target definitions and information in the template are\nequivalent to prevent these definitions from drifting apart during migration."))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"build_edoc_chunks"),": This attribute controls if the output of the builds also create edoc chunks.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": The ",(0,n.mdx)("inlineCode",{parentName:"p"},"env")," field allows to set the application env variables. The key value pairs will materialise in the application's ",(0,n.mdx)("inlineCode",{parentName:"p"},".app")," file and can then be accessed by ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/man/application.html#get_env-2"},(0,n.mdx)("inlineCode",{parentName:"a"},"application:get_env/2")),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"erl_opts"),": Typically compile options are managed by global config files, however, sometimes it is desirable to overwrite the pre-defined compile options. The ",(0,n.mdx)("inlineCode",{parentName:"p"},"erl_opts")," field allows developers to do so for individual applications."),(0,n.mdx)("p",{parentName:"li"},"The main use-case are the applications listed in ",(0,n.mdx)("inlineCode",{parentName:"p"},"third-party/"),". This option should not be used by other applications\nwithout consultation. Please ask in the ",(0,n.mdx)("a",{parentName:"p",href:"https://fb.workplace.com/groups/728545201114362"},"WhatsApp Dev Infra Q&A"),"\nworkplace group for support.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_includes"),": In some cases we might have the situation, where an application ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_a")," depends through the ",(0,n.mdx)("inlineCode",{parentName:"p"},"applications")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"included_applications")," fields on application ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_b")," and a source file in ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_b")," includes a header file from ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_a")," (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},'-include_lib("app_a/include/header.hrl'),"). This technically creates circular dependency from ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_a")," to ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_b")," (e.g. via ",(0,n.mdx)("inlineCode",{parentName:"p"},"applications")," field) and back from ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_b")," to ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_a")," (via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-include_lib"),"). To break the dependency developers can specify targets in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"extra_includes")," field, whose public include files are accessible to the application target during build time."),(0,n.mdx)("p",{parentName:"li"},"Only the includes of the specified application are available and eventual transitive dependencies need to be managed\nmanually."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("strong",{parentName:"p"},"NOTE"),": ",(0,n.mdx)("em",{parentName:"p"},"It is not possible (or even desired) to add OTP applications with this field.")),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("strong",{parentName:"p"},"NOTE"),": ",(0,n.mdx)("em",{parentName:"p"},"This mechanism is added to circumvent unclean dependency relationships and the goal for\ndevelopers should be to reduce usages of this field.")," ",(0,n.mdx)("strong",{parentName:"p"},"DO NOT ADD ANY MORE USAGES!!"))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_properties"),": The extra_properties field can be used to specify extra key-value pairs which is are not defined in ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/man/application.html#load-2"},"application_opt()"),". The key-value pair will be stored in the applications ",(0,n.mdx)("inlineCode",{parentName:"p"},".app")," file and can be accessed by ",(0,n.mdx)("inlineCode",{parentName:"p"},"file:consult/1"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"include_src"),": This field controls if the generated application directory contains a src/ directory with the Erlang code or not.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"included_applications"),": Check the documentation for ",(0,n.mdx)("inlineCode",{parentName:"p"},"applications"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"includes"),": The public header files accessible via ",(0,n.mdx)("inlineCode",{parentName:"p"},'-include_lib("appname/include/header.hrl")')," from other erlang files.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"mod"),": The ",(0,n.mdx)("inlineCode",{parentName:"p"},"mod")," field specifies the equivalent field in the generated ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app")," files. The format is similar, with the difference, that the module name, and the individual start arguments need to be given as the string representation of the corresponding Erlang terms.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"os_env"),": This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"peek_private_includes"),": This attribute allows you to use the private includes of the application's dependencies. This can be useful for test applications, to create shared abstractions for tests. It's not advisable to use this attribute for prodution code. All private includes transitively must be non-ambiguous.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),": The ",(0,n.mdx)("inlineCode",{parentName:"p"},"resources")," field specifies targets whose default output are placed in the applications ",(0,n.mdx)("inlineCode",{parentName:"p"},"priv/")," directory. For regular files this field is typically combined with ",(0,n.mdx)("inlineCode",{parentName:"p"},"export_file"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"filegroup"),", or similar targets. However, it is general, and any target can be used, e.g. if you want to place a built escript in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"priv/")," directory, you can use an ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_escript")," target.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"shell_configs"),": This attribute allows to set config files for the shell. The dependencies that are typically used here are ",(0,n.mdx)("inlineCode",{parentName:"p"},"export_file")," targets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"shell_libs"),": This attribute allows to define additional dependencies for the shell. By default this is set to ",(0,n.mdx)("inlineCode",{parentName:"p"},'["prelude//erlang/shell:buck2_shell_utils"]')," which includes a ",(0,n.mdx)("inlineCode",{parentName:"p"},"user_default")," module that loads and compiles modules with buck2 mechanisms.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": A list of ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.erl"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.hrl"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.xrl"),", or ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.yrl")," source inputs that are typically located in an application's ",(0,n.mdx)("inlineCode",{parentName:"p"},"src/")," folder. Header files (i.e. ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.hrl")," files) specified in this field are considered application private headers, and can only be accessed by the ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.erl")," files of the application itself. ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.xrl")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.yrl")," files are processed into ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.erl")," files before all ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.erl")," files are compiled into ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.beam")," files.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"use_global_parse_transforms"),": This field indicates if global parse_tranforms should be applied to this application as well. It often makes sense for third-party dependencies to not be subjected to global parse_transforms, similar to OTP applications.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"version"),": The ",(0,n.mdx)("inlineCode",{parentName:"p"},"version")," field specifies the applications version that is materialized as ",(0,n.mdx)("inlineCode",{parentName:"p"},"vsn")," field in the generated ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app")," file. If you use the the ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_src")," field and specify a version in the referenced template in addition to the version field, the versions need to be identical."),(0,n.mdx)("p",{parentName:"li"},"If no version is specified in either the ",(0,n.mdx)("inlineCode",{parentName:"p"},"app_src")," template or the ",(0,n.mdx)("inlineCode",{parentName:"p"},"version")," field, a fallback version string of\n",(0,n.mdx)("inlineCode",{parentName:"p"},'"1.0.0"')," is used.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"xrl_includefile"),": Customised prologue file to replace the default. See ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/apps/parsetools/leex.html#file/2"},(0,n.mdx)("inlineCode",{parentName:"a"},"includefile")," option")," for details.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"yrl_includefile"),": Customised prologue file to replace the default. See ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/apps/parsetools/yecc.html#file/2"},(0,n.mdx)("inlineCode",{parentName:"a"},"includefile")," option")," for details."))),(0,n.mdx)("h4",{id:"details-31"},"Details"),(0,n.mdx)("p",null,"Erlang Applications are the basic building block of our buck2 integration and used by many other Erlang\ntargets, e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_escript"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_test"),", or ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_release"),"."),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_application")," targets build OTP applications and as such many attributes that are used have\nequivalent meaning to the fields in the currently (by rebar3) used ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app.src")," files and OTP ",(0,n.mdx)("inlineCode",{parentName:"p"},"*.app"),"\nfiles. Please familiarize yourself with the semantics of these fields by consulting the\n",(0,n.mdx)("a",{parentName:"p",href:"https://erlang.org/doc/man/app.html"},"OTP documentation"),"."),(0,n.mdx)("p",null,"The target enforces uniqueness during builds, and fails to build if duplicated artifacts in the\nglobal namespaces are detected:"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},"duplicated application names in the dependencies"),(0,n.mdx)("li",{parentName:"ul"},"duplicated module names across any of the applications or dependencies modules"),(0,n.mdx)("li",{parentName:"ul"},"ambiguity when resolving header files")),(0,n.mdx)("p",null,"The default output of this rule is the application folder of the target application and all transitive dependencies."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("h4",{id:"minimal-erlang-application"},"Minimal Erlang Application"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'erlang_application(\n name = "minimal",\n)\n')),(0,n.mdx)("h4",{id:"with-priv-directory"},"With ",(0,n.mdx)("inlineCode",{parentName:"h4"},"priv/")," directory"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'erlang_application(\n name = "app_a",\n srcs = [\n "src/app_a.erl",\n ],\n includes = [],\n applications = [\n ":app_b",\n ],\n app_src = "src/app_a.app.src",\n resources = [\n ":readme",\n ],\n)\n\nexport_file(\n name = "readme",\n src = "README.md",\n)\n')),(0,n.mdx)("h4",{id:"using-otp-applications-and-mod-field"},"Using OTP applications and ",(0,n.mdx)("inlineCode",{parentName:"h4"},"mod")," field"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'erlang_application(\n name = "app_b",\n srcs = [\n "src/app_b.erl",\n "src/app_b.hrl",\n ],\n includes = [],\n applications = [\n "kernel",\n "stdlib",\n ":app_c",\n ],\n mod = ("app_b", [\n "some_atom",\n ""some string"",\n "{tagged_tuple, 42}",\n ]),\n)\n')),(0,n.mdx)("h4",{id:"using-yecc-and-leex"},"Using Yecc and Leex"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'erlang_application(\n name = "yecc_leex",\n srcs = [\n "src/leex_stub.xrl",\n "src/yecc_stub.yrl",\n ],\n)\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"erlang_app_includes"},"erlang","_","app","_","includes"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def erlang_app_includes(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _toolchain: str = _,\n application_name: str,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n includes: list[str] = _,\n labels: list[str] = _,\n os_env: None | dict[str, str] = _\n) -> None\n")),(0,n.mdx)("p",null,"This rule is a supplementary rule for Erlang applications. It gets generated by using the ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_application")," macro, that takes as attributes the same attributes as this rule. You should always use the ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_application")," macro instead of using this rule directly."),(0,n.mdx)("h4",{id:"parameters-47"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"os_env"),": This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"erlang_escript"},"erlang","_","escript"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def erlang_escript(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _toolchain: str = _,\n buck2_compatibility: str = _,\n bundled: bool = _,\n configs: list[str] = _,\n contacts: list[str] = _,\n deps: list[str],\n emu_args: list[str] = _,\n include_priv: bool = _,\n labels: list[str] = _,\n main_module: None | str = _,\n os_env: None | dict[str, str] = _,\n resources: list[str] = _,\n script_name: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_escript")," target builds and runs bundled escripts. Please refer to the ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/man/escript.html"},"OTP documentation")," for more details about escripts."),(0,n.mdx)("h4",{id:"parameters-48"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"bundled"),": Setting bundled to ",(0,n.mdx)("inlineCode",{parentName:"p"},"True")," does generate a folder structure and escript trampoline instead of an archive.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"configs"),": This attribute allows to set config files for the escript. The dependencies that are typically used here are ",(0,n.mdx)("inlineCode",{parentName:"p"},"export_file")," targets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": List of Erlang applications that are bundled in the escript. This includes all transitive dependencies as well.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"emu_args"),": This field specifies the emulator flags that the escript uses on execution. It is often desirable to specify the number of threads and schedulers the escript uses. Please refer to the ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/man/erl.html#emu_flags"},"OTP documentation")," for details.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"include_priv"),": Setting this flag, will package the applications ",(0,n.mdx)("inlineCode",{parentName:"p"},"priv")," directory in the escript. Similar to files added through the ",(0,n.mdx)("inlineCode",{parentName:"p"},"resources")," field, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"priv")," folders files can then be accessed by ",(0,n.mdx)("inlineCode",{parentName:"p"},'escript"extract/2'),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"main_module"),": Overrides the default main module. Instead of deferring the main module from the scripts filename, the specified module is used. That module needs to export a ",(0,n.mdx)("inlineCode",{parentName:"p"},"main/1")," function that is called as entry point.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"os_env"),": This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),": This adds the targets default output to the escript archive. To access these files, you need to use ",(0,n.mdx)("inlineCode",{parentName:"p"},"escript:extract/2"),", which will extract the entire escript in memory. The relevant files can then be accessed through the ",(0,n.mdx)("inlineCode",{parentName:"p"},"archive")," section."),(0,n.mdx)("p",{parentName:"li"},"Please refer to the ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/man/escript.html"},(0,n.mdx)("inlineCode",{parentName:"a"},"escript:extract/2"))," for more details.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"script_name"),": Overrides the filename of the produced escript."))),(0,n.mdx)("h4",{id:"details-32"},"Details"),(0,n.mdx)("p",null,"Escripts by default always try to use the module that has the same name as the escripts basename as entry point, e.g. if\nthe escript is called ",(0,n.mdx)("inlineCode",{parentName:"p"},"script.escript")," then running the escript will try to call ",(0,n.mdx)("inlineCode",{parentName:"p"},"script:main/1"),". Both name and\nmain module can be overwritten though."),(0,n.mdx)("p",null,"The target name doubles as the default escript name. If the ",(0,n.mdx)("inlineCode",{parentName:"p"},"main_module")," attribute is not used, the escript filename will\nbe ",(0,n.mdx)("inlineCode",{parentName:"p"},"<name>.escript"),"."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'erlang_escript(\n name = "script",\n main_module = "main_module",\n script_name = "the_script",\n deps = [\n ":escript_app",\n ],\n emu_args = ["+sbtu", "+A1"],\n)\n\nerlang_application(\n name = "escript_app",\n srcs = ["src/main_module.erl"],\n applications = [\n "kernel",\n "stdlib",\n ],\n)\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"erlang_otp_binaries"},"erlang","_","otp","_","binaries"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def erlang_otp_binaries(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n erl: str,\n erlc: str,\n escript: str,\n labels: list[str] = _,\n os_env: None | dict[str, str] = _\n) -> None\n")),(0,n.mdx)("p",null,"This target defines the executables for the Erlang toolchains, and is required to defined a toolchain."),(0,n.mdx)("h4",{id:"parameters-49"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"erl"),": Reference to ",(0,n.mdx)("inlineCode",{parentName:"li"},"erl")," binary"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"erlc"),": Reference to ",(0,n.mdx)("inlineCode",{parentName:"li"},"erlc")," binary"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"escript"),": Reference to ",(0,n.mdx)("inlineCode",{parentName:"li"},"escript")," binary"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"os_env"),": This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.")),(0,n.mdx)("h4",{id:"details-33"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,'erlang_otp_binaries(\nname = "local",\nerl = "local/erl",\nerlc = "local/erlc",\nescript = "local/escript",\n)'),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"erlang_release"},"erlang","_","release"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def erlang_release(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _toolchain: str = _,\n applications: list[str | (str, str)],\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n include_erts: bool = _,\n labels: list[str] = _,\n multi_toolchain: None | list[str] = _,\n os_env: None | dict[str, str] = _,\n overlays: dict[str, list[str]] = _,\n release_name: None | str = _,\n version: str = _\n) -> None\n")),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_release")," target builds OTP releases. Please refer to the ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/design_principles/release_structure.html"},"OTP documentation")," for more details about releases."),(0,n.mdx)("h4",{id:"parameters-50"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"applications"),": This field specifies the list of applications that the release should start in the given order, and optionally the start type. Top-level applications without given start type are started with type ",(0,n.mdx)("a",{parentName:"li",href:"https://www.erlang.org/doc/man/application.html#type-restart_type"},(0,n.mdx)("inlineCode",{parentName:"a"},"permanent")),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"include_erts"),": This field controls whether OTP applications and the Erlang runtime system should be included as part of the release. Please note, that at the moment the erts folder is just ",(0,n.mdx)("inlineCode",{parentName:"li"},"erts/"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"multi_toolchain"),": This field controls whether the release should be built with a single toolchain, or multiple toolchains. In the latter case, all output paths are prefixed with the toolchain name."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"os_env"),": This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"overlays"),": Overlays can be used to add files to the release. They are specified as mapping from path (from the release root) to list of targets. The targets files are places ",(0,n.mdx)("strong",{parentName:"li"},"flat")," at the target location with their basename."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"release_name"),": The release name can explicitly be set by this field. This overwrites the default from the target name."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"version"),": The ",(0,n.mdx)("inlineCode",{parentName:"li"},"version")," field specifies the release version. The release version is used in the release resource file, and is part of the path for the folder containing the boot scripts.")),(0,n.mdx)("h4",{id:"details-34"},"Details"),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_release")," target does by default (without overlays) package:"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},"applications that are required to start the release"),(0,n.mdx)("li",{parentName:"ul"},"release resource file ",(0,n.mdx)("inlineCode",{parentName:"li"},"<relname>.rel")," (see ",(0,n.mdx)("a",{parentName:"li",href:"https://www.erlang.org/doc/man/rel.html"},"rel(4)"),")"),(0,n.mdx)("li",{parentName:"ul"},"boot script ",(0,n.mdx)("inlineCode",{parentName:"li"},"start.script")," (see ",(0,n.mdx)("a",{parentName:"li",href:"https://www.erlang.org/doc/man/script.html"},"rel(4)"),")"),(0,n.mdx)("li",{parentName:"ul"},"binary boot script ",(0,n.mdx)("inlineCode",{parentName:"li"},"start.boot")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"bin/release_variables"))),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"release_variables")," file contains release name, version, and erts version in shell syntax, e.g."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'ERTS_VSN="12.1.2"\nREL_NAME="rel1"\nREL_VSN="1.0.0"\n')),(0,n.mdx)("p",null,"The target name doubles as the default release name. If the ",(0,n.mdx)("inlineCode",{parentName:"p"},"release_name")," attribute is used, the release name will be\nsources from there instead."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'erlang_release(\n name = "world",\n version = "1.0.0",\n applications = [\n "//apps//app_a:app_a",\n "//apps//app_b:app_b",\n ],\n overlays = {\n "releases/1.0.0": [\n ":sys.config.src",\n ],\n "bin": [\n ":start.sh",\n ],\n },\n)\n\nexport_file(\n name = "sys.config.src",\n src = "sys.config",\n)\n\nexport_file(\n name = "start.sh",\n src = "start.sh",\n)\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"erlang_test"},"erlang","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def erlang_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _artifact_annotation_mfa: str = _,\n _cli_lib: str = _,\n _ct_opts: str = _,\n _providers: str = _,\n _test_binary: str = _,\n _test_binary_lib: str = _,\n _toolchain: str = _,\n _trampoline: None | str = _,\n _trampolines: None | list[str] = _,\n buck2_compatibility: str = _,\n common_app_env: dict[str, str] = _,\n config_files: list[str] = _,\n contacts: list[str] = _,\n deps: list[str] = _,\n env: dict[str, str] = _,\n extra_ct_hooks: list[str] = _,\n extra_erl_flags: list[str] = _,\n labels: list[str] = _,\n os_env: None | dict[str, str] = _,\n preamble: str = _,\n property_tests: list[str] = _,\n remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,\n resources: list[str] = _,\n shell_configs: list[str] = _,\n shell_libs: list[str] = _,\n suite: str\n) -> None\n")),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_test")," ruls defines a test target for a single test suite. In most cases you want to define multiple suites in one go. The ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_tests")," macro allows users to generate ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_test")," targets for multiple test suites. Each suite ",(0,n.mdx)("inlineCode",{parentName:"p"},"<name>_SUITE.erl")," will have a generated hidden ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_test")," target whose name is ",(0,n.mdx)("inlineCode",{parentName:"p"},"<name>_SUITE"),"."),(0,n.mdx)("h4",{id:"parameters-51"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"_trampoline"),": DEPRECATED. Use _trampolines instead.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"common_app_env"),": Application environment variables for the ",(0,n.mdx)("inlineCode",{parentName:"p"},"common")," application.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"config_files"),": Will specify what config files the erlang beam machine running test with should load, for reference look at ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/man/config.html"},"OTP documentation"),". These ones should consist of default_output of some targets. In general, this field is filled with target coming from then ",(0,n.mdx)("inlineCode",{parentName:"p"},"export_file")," rule, as in the example below.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": The set of dependencies needed for all suites included in the target to compile and run. They could be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_app(lication)")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_test")," targets, although the latter is discouraged. If some suites need to access common methods, a common helper file should be created and included in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," field of the ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_tests")," target. If some applications are included as dependencies of this target, their private include will automatically be pulled and made available for the test. That allows tests to access the private header files from the applications under test.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": Add the given values to the environment variables with which the test is executed.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_ct_hooks"),": List of additional Common Test hooks. The strings are interpreted as Erlang terms.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_erl_flags"),": List of additional command line arguments given to the erl command invocation. These arguments are added to the front of the argument list.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"os_env"),": This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),": The ",(0,n.mdx)("inlineCode",{parentName:"p"},"resources")," field specifies targets whose default output are placed in the test ",(0,n.mdx)("inlineCode",{parentName:"p"},"data_dir")," directory for all the suites present in the macro target. Additionally, if data directory are present in the directory along the suite, this one will be pulled automatically for the relevant suite."),(0,n.mdx)("p",{parentName:"li"},"Any target can be used, e.g. if you want to place a built escript in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"data_dir")," directory, you can use\nan ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_escript")," target.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"shell_configs"),": This attribute allows to set config files for the shell. The dependencies that are typically used here are ",(0,n.mdx)("inlineCode",{parentName:"p"},"export_file")," targets.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"shell_libs"),": This attribute allows to define additional dependencies for the shell. By default this is set to ",(0,n.mdx)("inlineCode",{parentName:"p"},'["prelude//erlang/shell:buck2_shell_utils"]')," which includes a ",(0,n.mdx)("inlineCode",{parentName:"p"},"user_default")," module that loads and compiles modules with buck2 mechanisms.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"suite"),": The source file for the test suite. If you are using the macro, you should use the ",(0,n.mdx)("inlineCode",{parentName:"p"},"suites")," attribute instead."),(0,n.mdx)("p",{parentName:"li"},"The suites attribute specifies which erlang_test targets should be generated. For each suite \"path_to_suite/suite_SUITE.erl\" an\nimplicit 'erlang_test' target suite_SUITE will be generated."))),(0,n.mdx)("h4",{id:"details-35"},"Details"),(0,n.mdx)("p",null,"Each ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_test")," target implements tests using the Common Test library\n",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/man/common_test.html"},"OTP documentation"),". They can,\nalthough ",(0,n.mdx)("strong",{parentName:"p"},"it is not recommended"),', also act as dependencies of other tests. The\ndefault output of this rule is a "test_folder", consisting of the compiled test suite\nand the data directory.'),(0,n.mdx)("p",null,"For each suite ",(0,n.mdx)("inlineCode",{parentName:"p"},"<name>_SUITE.erl"),", if a data_dir ",(0,n.mdx)("inlineCode",{parentName:"p"},"<name>_SUITE_data")," is present along the suite,\n(as per ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/apps/common_test/write_test_chapter.html#data-and-private-directories"},"the data_dir naming scheme for ct"),"),\nit will automatically adds the corresponding resource target to the generated test target of the suite.\nResources will be placed in the ",(0,n.mdx)("a",{parentName:"p",href:"https://www.erlang.org/doc/apps/common_test/write_test_chapter.html#data_priv_dir"},"Data directory (data_dir)"),"\nof each of the suite."),(0,n.mdx)("p",null,"It allows the writer of the rule to add global configuration files and global default\ndependencies (e.g ",(0,n.mdx)("inlineCode",{parentName:"p"},"meck"),"). These ones should be specified using global\nvariables ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang.erlang_tests_default_apps")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang.erlang_tests_default_config"),"\nrespectively."),(0,n.mdx)("p",null,"The ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_tests")," macro forwards all attributes to the ",(0,n.mdx)("inlineCode",{parentName:"p"},"erlang_test"),". It defines some attributes\nthat control how the targets get generated:"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs")," (","[source]",'): Set of files that the suites might depend on and that are not part of any specific application.\nA "meta" application having those files as sources will automatically be created, and included in the dependencies\nof the tests.')),(0,n.mdx)("p",null,"One can call"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"buck2 build //my_app:test_SUITE")," to compile the test files together with its dependencies."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"buck2 test //my_app:other_test_SUITE")," to run the test."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"buck2 run //my_app:other_test_SUITE")," to open an interactive test shell, where tests can be run iteratively.")),(0,n.mdx)("p",null,"buck2 test will rely on tpx to run the suite. To get access to tpx commands, add ",(0,n.mdx)("inlineCode",{parentName:"p"},"--")," after the\ntarget. For example:"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"buck2 test //my_app:other_test_SUITE -- --help")," will print the list of tpx available\ncommand line parameters."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"buck2 test //my_app:other_test_SUITE -- group.mycase")," will only run those test cases\nthat match the pattern ",(0,n.mdx)("inlineCode",{parentName:"li"},"group.mycase"))),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,'erlang_test(\nname = "unit_test_SUITE",\nsuite = "unit_test_SUTIE.erl",\ndeps = ','[":my_other_app"]',",\ncontacts = ",'["author@email.com"]',",\n)"),(0,n.mdx)("p",null,"erlang_tests(\nsuites = ",'["test_SUITE.erl", "other_test_SUITE".erl]',",\ndeps = ",'[":my_app"]',",\ncontacts = ",'["author@email.com"]',",\n)"),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"export_file"},"export","_","file"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def export_file(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n mode: None | str = _,\n out: None | str = _,\n src: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"export_file()")," takes a single file or folder and exposes it so other rules can use it."),(0,n.mdx)("h4",{id:"parameters-52"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"mode"),": How files are referenced internally in buck. If set to 'copy', then a full copy will be made into the new location in buck-out. If set to 'reference', the original file will be used by internal build rules in-place. However, this mode does not work across repositories or if the 'out' property is set. For read-only operations, 'reference' can be more performant."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"out"),": The name which the file will be called if another rule depends on it instead of the name it already has."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"src"),": The path to the file that should be exported.")),(0,n.mdx)("h4",{id:"details-36"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"The best way to see how the ",(0,n.mdx)("inlineCode",{parentName:"p"},"export_file()")," rule works is with some examples. The\ncommon case is:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nexport_file(\n name = 'example.html',\n)\n\n# This is equivalent to\n\nexport_file(\n name = 'example.html',\n src = 'example.html',\n out = 'example.html',\n)\n\n")),(0,n.mdx)("p",null," It is sometimes useful to refer to the file not by its path, but by a more logical name:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nexport_file(\n name = 'example',\n src = 'example.html',\n)\n\n# This is equivalent to\n\nexport_file(\n name = 'example',\n src = 'example.html',\n out = 'example.html',\n)\n\n")),(0,n.mdx)("p",null," Finally, there are occasions where you want to export a file more than once but want to copy it to\na different name for each output:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nexport_file(\n name = 'runner',\n src = 'RemoteRunner.html',\n)\n\nexport_file(\n name = 'runner_hta',\n src = 'RemoteRunner.html',\n out = 'RemoteRunner.hta',\n)\n\n")),(0,n.mdx)("p",null," Using the ",(0,n.mdx)("inlineCode",{parentName:"p"},"export_file()")," rule is also simple:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nexport_file(\n name = 'example',\n src = 'example.html',\n)\n\ngenrule(\n name = 'demo',\n out = 'result.html',\n cmd = 'cp $(location :example) $OUT',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"external_test_runner"},"external","_","test","_","runner"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def external_test_runner(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n binary: str,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-53"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"filegroup"},"filegroup"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def filegroup(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n copy: bool = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n srcs: list[str] | dict[str, str] = _\n) -> None\n")),(0,n.mdx)("p",null,"This rule provides access to a set of files."),(0,n.mdx)("h4",{id:"parameters-54"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of files to include in this rule.")),(0,n.mdx)("h4",{id:"details-37"},"Details"),(0,n.mdx)("p",null,"Files are accessible to ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()"),"s by using their relative path\nafter a ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(location)")," string parameter macro."),(0,n.mdx)("p",null," Other rules may handle ",(0,n.mdx)("inlineCode",{parentName:"p"},"filegroup()")," rules natively for attributes\nsuch as resources."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"In this example a target exports ",(0,n.mdx)("inlineCode",{parentName:"p"},".xml")," files from all subdirectories\nin ",(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nfilegroup(\n name = 'example',\n srcs = glob(['resources/**/*.xml']),\n)\n\ngenrule(\n name = 'process_xml',\n out = 'processed.xml',\n cmd = '$(exe //example:tool) -in $(location :example)/resources/file.xml > $OUT',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"gen_aidl"},"gen","_","aidl"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def gen_aidl(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _exec_os_type: str = _,\n _java_toolchain: str = _,\n aidl: str,\n aidl_srcs: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n import_path: str = _,\n import_paths: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"gen_aidl()")," rule is used to generate ",(0,n.mdx)("inlineCode",{parentName:"p"},".java")," files from ",(0,n.mdx)("inlineCode",{parentName:"p"},".aidl")," files."),(0,n.mdx)("h4",{id:"parameters-55"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"aidl"),": The path to an ",(0,n.mdx)("inlineCode",{parentName:"li"},".aidl")," file to convert to a ",(0,n.mdx)("inlineCode",{parentName:"li"},".java")," file."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"aidl_srcs"),": Path to ",(0,n.mdx)("inlineCode",{parentName:"li"},".aidl")," files the target ",(0,n.mdx)("inlineCode",{parentName:"li"},"aidl")," file imports."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": A list of rules that must be built before this rule."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"import_path"),": The search path for import statements for the aidl command. (This is the ",(0,n.mdx)("inlineCode",{parentName:"li"},"-I")," argument when invoking aidl from the command line. For many apps it will be the base dir where all aidl files are, with project root as its parent, e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"app/src/main/aidl"),".). This is the same as the path to the ",(0,n.mdx)("inlineCode",{parentName:"li"},"aidl")," file relative to what would be returned from ",(0,n.mdx)("inlineCode",{parentName:"li"},"root"),".")),(0,n.mdx)("h4",{id:"details-38"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nandroid_library(\n name = 'lib',\n srcs = glob(['**/*.java']) + [':aidl'],\n manifest = '//res/org/opencv:manifest',\n deps = [\n '//res/org/opencv:res',\n ],\n visibility = [ 'PUBLIC' ],\n)\n\ngen_aidl(\n name = 'aidl',\n aidl = 'engine/OpenCVEngineInterface.aidl',\n import_path = 'java/',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"genrule"},"genrule"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def genrule(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _exec_os_type: str = _,\n _genrule_toolchain: str = _,\n always_print_stderr: bool = _,\n bash: None | str = _,\n buck2_compatibility: str = _,\n cacheable: None | bool = _,\n cmd: None | str = _,\n cmd_exe: None | str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n default_outs: None | list[str] = _,\n enable_sandbox: None | bool = _,\n env: dict[str, str] = _,\n environment_expansion_separator: None | str = _,\n executable: None | bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n metadata_env_var: None | str = _,\n metadata_path: None | str = _,\n need_android_tools: bool = _,\n no_outputs_cleanup: bool = _,\n out: None | str = _,\n outs: None | dict[str, list[str]] = _,\n remote: None | bool = _,\n remote_execution_dependencies: list[dict[str, str]] = _,\n srcs: list[str] | dict[str, str] = _,\n type: None | str = _,\n weight: None | int = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()")," is used to generate files from a shell command. It must produce a single output file or folder."),(0,n.mdx)("h4",{id:"parameters-56"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"bash"),": A platform-specific version of the shell command parameter ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". It runs on Linux and UNIX systems\u2014including OSX\u2014on which ",(0,n.mdx)("inlineCode",{parentName:"p"},"bash")," is installed. It has a higher priority than ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". The ",(0,n.mdx)("inlineCode",{parentName:"p"},"bash")," argument is run with ",(0,n.mdx)("inlineCode",{parentName:"p"},"/usr/bin/env bash -c"),". It has access to the same set of macros and variables as the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd")," argument.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),": The shell command to run to generate the output file. It is the fallback for ",(0,n.mdx)("inlineCode",{parentName:"p"},"bash")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_exe")," arguments. The following environment variables are populated by Buck and available to the shell command. They are accessed using the syntax:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"${<variable>}\n")),(0,n.mdx)("p",{parentName:"li"}," Example:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"${SRCS}\n")),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${SRCS}")),(0,n.mdx)("p",{parentName:"li"}," A string expansion of the ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," argument delimited\nby the ",(0,n.mdx)("inlineCode",{parentName:"p"},"environment_expansion_separator")," argument\nwhere each element of ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," will be translated\ninto a relative path."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${SRCDIR}")),(0,n.mdx)("p",{parentName:"li"}," The relative path to a directory to which sources are copied\nprior to running the command."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${OUT}")),(0,n.mdx)("p",{parentName:"li"}," The output file or directory for the ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()"),".\nThis variable will have whatever value is specified by\nthe ",(0,n.mdx)("inlineCode",{parentName:"p"},"out")," argument if not using named outputs. If\nusing named outputs, this variable will be the output directory."),(0,n.mdx)("p",{parentName:"li"}," The value should be a valid filepath. The semantics of the shell\ncommand determine whether this filepath is treated as a file or a\ndirectory. If the filepath is a directory, then the shell command\nneeds to create it if not using named outputs. Otherwise, it will\nbe automatically created. All outputs (directories and files) must\nbe readable, writable, and (in the case of directories) executable\nby the current user."),(0,n.mdx)("p",{parentName:"li"}," The file or directory specified by this variable must always\nbe written by this command. If not, the execution of this\nrule will be considered a failure, halting the build process."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"${TMP}")),(0,n.mdx)("p",{parentName:"li"}," A temporary directory which can be used for intermediate\nresults and will not be bundled into the output.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_exe"),": A platform-specific version of the shell command parameter ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". It runs on Windows and has a higher priority than ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd"),". The ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd_exe")," argument is run with ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd.exe /v:off /c"),". It has access to the same set of macros and variables as the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd")," argument.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_outs"),": Default output which must be present if the ",(0,n.mdx)("inlineCode",{parentName:"p"},"outs")," arg is present. Otherwise does not apply."),(0,n.mdx)("p",{parentName:"li"},"If a rule with ",(0,n.mdx)("inlineCode",{parentName:"p"},"outs")," is consumed without an output label, the default output is returned. The\ndefault output does not need to be present in any of the named outputs defined in ",(0,n.mdx)("inlineCode",{parentName:"p"},"outs"),"."),(0,n.mdx)("p",{parentName:"li"}," Note that a maximum of one value may be present in this list. For example:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'default_outs = [ "output_one", ]\n')),(0,n.mdx)("p",{parentName:"li"},"is valid, whereas"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'default_outs = [ "output_one", "output_two", ]\n')),(0,n.mdx)("p",{parentName:"li"},"is not.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"enable_sandbox"),": Whether this target should be executed in a sandbox or not.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"environment_expansion_separator"),": The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"executable"),": Whether the output of the genrule is itself executable. Marking an output as executable makes ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck run")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(exe ...)")," macro expansion work with this target.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"out"),": The name of the output file or directory. The complete path to this argument is provided to the shell command through the ",(0,n.mdx)("inlineCode",{parentName:"p"},"OUT")," environment variable. Only one of ",(0,n.mdx)("inlineCode",{parentName:"p"},"out")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"outs")," may be present.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"outs"),": Mapping defining ",(0,n.mdx)("inlineCode",{parentName:"p"},"named outputs")," to output paths relative to the rule's output directory. Only one of ",(0,n.mdx)("inlineCode",{parentName:"p"},"out")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"outs")," may be present."),(0,n.mdx)("p",{parentName:"li"},"Example:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'\ngenrule(\n name = "named_outputs",\n outs = {\n "output1": [\n "out1.txt",\n ],\n "output2": [\n "out2.txt",\n ],\n },\n default_outs = [ "out1.txt" ],\n cmd = "echo something> $OUT/out1.txt && echo another> $OUT/out2.txt",\n)\n\n')),(0,n.mdx)("p",{parentName:"li"}," Note that a maximum of one value may be present in the list in this map. For example:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'\nouts = {\n "output1": [\n "out1.txt",\n ],\n},\n\n')),(0,n.mdx)("p",{parentName:"li"},"is valid, whereas"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'\nouts = {\n "output1": [\n "out1.txt",\n "out2.txt",\n ],\n},\n\n')),(0,n.mdx)("p",{parentName:"li"},"is not.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"remote"),": Opts this genrule in to remote execution. Note that it is only safe to execute a genrule remotely if it is completely hermetic and completely and correctly describes its dependencies. Defaults to false. This parameter is unstable. It is subject to removal, default reversal, and other arbitrary changes in the future.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": Either a list or a map of the source files which Buck makes available to the shell command at the path in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"SRCDIR")," environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"type"),": Specifies the ",(0,n.mdx)("em",{parentName:"p"},"type"),' of this genrule. This is used for logging and is particularly useful for grouping genrules that share an underlying logical "type".'),(0,n.mdx)("p",{parentName:"li"},"For example, if you have the following ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_genrule")," defined\nin the root directory of your Buck project"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"\n\ncxx_genrule(\n name = 'cxx_gen',\n type = 'epilog',\n cmd = 'touch finish.txt; cp finish.txt $OUT',\n out = 'finish.txt'\n)\n\n")),(0,n.mdx)("p",{parentName:"li"}," then the following ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query")," command"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"\n\nbuck query \"attrfilter( type, 'epilog', '//...' )\"\n\n")),(0,n.mdx)("p",{parentName:"li"}," returns"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"\n\n//:cxx_gen\n\n"))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"weight"),": How many local slots these genrule should take when executing locally."))),(0,n.mdx)("h4",{id:"details-39"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"This genrule() uses a Python script to derive a new\n",(0,n.mdx)("inlineCode",{parentName:"p"},"AndroidManifest.xml")," from an\n",(0,n.mdx)("inlineCode",{parentName:"p"},"AndroidManifest.xml")," in the source tree.\nNote you don't need to prepend execution commands with\n",(0,n.mdx)("inlineCode",{parentName:"p"},"python"),": Buck knows how to execute different\nkinds of binaries using ",(0,n.mdx)("inlineCode",{parentName:"p"},"$(exe)")," command."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\ngenrule(\n name = 'generate_manifest',\n srcs = [\n 'AndroidManifest.xml',\n ],\n bash = '$(exe //python/android:basic_to_full) ' '$SRCDIR/AndroidManifest.xml > $OUT',\n cmd_exe = '$(exe //python/android:basic_to_full) ' '%SRCDIR%\\AndroidManifest.xml > %OUT%',\n out = 'AndroidManifest.xml',\n)\n\n")),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\ngenrule(\n name = 'generate_manifest_with_named_outputs',\n srcs = [\n 'AndroidManifest.xml',\n ],\n bash = '$(exe //python/android:basic_to_full) ' '$SRCDIR/AndroidManifest.xml > $OUT/AndroidManifest.xml',\n cmd_exe = '$(exe //python/android:basic_to_full) ' '%SRCDIR%\\AndroidManifest.xml > %OUT%\\AndroidManifest.xml',\n outs = {\n \"manifest\": [ \"AndroidManifest.xml\" ],\n },\n default_outs = [ \"AndroidManifest.xml\" ],\n)\n\n")),(0,n.mdx)("p",null,"For named outputs, build with any of the following:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n buck build //:generate_manifest_with_named_outputs\n\n")),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n buck build //:generate_manifest_with_named_outputs[manifest]\n\n")),(0,n.mdx)("p",null,"Consume in ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," with:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\nexport_file(\n name = "magic1",\n src = ":generate_manifest_with_named_outputs",\n out = "some_dir_to_copy_to/AndroidManifest.xml",\n)\n\n')),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\nexport_file(\n name = "magic2",\n src = ":generate_manifest_with_named_outputs[manifest]",\n out = "some_dir_to_copy_to/AndroidManifest.xml",\n)\n\n')),(0,n.mdx)("p",null,"Note that ",(0,n.mdx)("inlineCode",{parentName:"p"},"magic1")," consumes ",(0,n.mdx)("inlineCode",{parentName:"p"},"generate_manifest_with_named_outputs"),"'s default\noutput. ",(0,n.mdx)("inlineCode",{parentName:"p"},"magic2")," consumes ",(0,n.mdx)("inlineCode",{parentName:"p"},"generate_manifest_with_named_outputs"),'\'s named\noutput "manifest," which happen to be pointing to the same output as the default output in this\ncase, but they do not have to point to the same output.'),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"git_fetch"},"git","_","fetch"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def git_fetch(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _git_fetch_tool: str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n repo: str,\n rev: str\n) -> None\n")),(0,n.mdx)("p",null,"Checkout a commit from a git repository."),(0,n.mdx)("h4",{id:"parameters-57"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"repo"),": Url suitable as a git remote."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"rev"),": 40-digit hex SHA-1 of the git commit.")),(0,n.mdx)("h4",{id:"details-40"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'git_fetch(\n name = "serde.git",\n repo = "https://github.com/serde-rs/serde",\n rev = "fccb9499bccbaca0b7eef91a3a82dfcb31e0b149",\n)\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"go_binary"},"go","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def go_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _asan: bool = _,\n _exec_os_type: str = _,\n _go_stdlib: str = _,\n _go_toolchain: str = _,\n _race: bool = _,\n _tags: list[str] = _,\n asan: bool = _,\n assembler_flags: list[str] = _,\n buck2_compatibility: str = _,\n cgo_enabled: None | bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n embedcfg: None | str = _,\n external_linker_flags: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n link_mode: None | str = _,\n link_style: None | str = _,\n linker_flags: list[str] = _,\n package_root: None | str = _,\n platform: None | str = _,\n platform_external_linker_flags: list[(str, list[str])] = _,\n race: bool = _,\n resources: list[str] = _,\n srcs: list[str] = _,\n tags: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A go","_","binary() rule builds a native executable from the supplied set of Go source files and dependencies. The files supplied are expected to be in the main package, implicitly."),(0,n.mdx)("h4",{id:"parameters-58"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"asan"),": If true, enable ASAN."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"assembler_flags"),": The set of additional assembler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"li"},"go tool asm"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"cgo_enabled"),": Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": The set of additional compiler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"li"},"go tool compile"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The set of dependencies of this rule. Currently, this only supports go","_","library rules."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"external_linker_flags"),": Extra external linker flags passed to go link via ",(0,n.mdx)("inlineCode",{parentName:"li"},"-extld")," argument. If argument is non-empty or ",(0,n.mdx)("inlineCode",{parentName:"li"},"cgo_library")," is used, the link mode will switch to ",(0,n.mdx)("inlineCode",{parentName:"li"},"external"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_mode"),": Determines the link mode (equivalent of ",(0,n.mdx)("inlineCode",{parentName:"li"},"-mode"),"). Can be one of the following values: ",(0,n.mdx)("inlineCode",{parentName:"li"},"internal"),", ",(0,n.mdx)("inlineCode",{parentName:"li"},"external"),". If no value is provided, the mode is set automatically depending on the other args."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: ",(0,n.mdx)("inlineCode",{parentName:"li"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"shared"),". This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"linker_flags"),": Extra linker flags passed to go link"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"package_root"),": Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ",'["foo/bar.go"]',', package_root = "foo"'),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"race"),": If true, enable data race detection."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be ",(0,n.mdx)("inlineCode",{parentName:"li"},"#include"),"d by the assembler."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tags"),": Build tags to apply to this target and its dependencies.")),(0,n.mdx)("h4",{id:"details-41"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/go/testdata"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\ngo_binary(\n name='greet',\n srcs=[\n 'main.go',\n ],\n deps=[\n ':greeting',\n ],\n)\n\ngo_library(\n name='greeting',\n srcs=[\n 'greeting.go',\n ],\n deps=[\n ':join',\n ],\n)\n\ngo_library(\n name='join',\n srcs=[\n 'join.go',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"go_bootstrap_binary"},"go","_","bootstrap","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def go_bootstrap_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _exec_os_type: str = _,\n _go_toolchain: str = _,\n buck2_compatibility: str = _,\n entrypoints: list[str] = _,\n srcs: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-59"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"entrypoints"),": Package name or file names"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be ",(0,n.mdx)("inlineCode",{parentName:"li"},"#include"),"d by the assembler.")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"go_exported_library"},"go","_","exported","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def go_exported_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _asan: bool = _,\n _exec_os_type: str = _,\n _go_stdlib: str = _,\n _go_toolchain: str = _,\n _race: bool = _,\n _tags: list[str] = _,\n asan: bool = _,\n assembler_flags: list[str] = _,\n buck2_compatibility: str = _,\n build_mode: str,\n cgo_enabled: None | bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n embedcfg: None | str = _,\n external_linker_flags: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n link_mode: None | str = _,\n link_style: None | str = _,\n linker_flags: list[str] = _,\n package_root: None | str = _,\n platform: None | str = _,\n platform_external_linker_flags: list[(str, list[str])] = _,\n race: bool = _,\n resources: list[str] = _,\n srcs: list[str] = _,\n tags: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A go","_","exported","_","library() rule builds a C library from the supplied set of Go source files and dependencies. This is done via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-buildmode"),' flag and "//export" annotations in the code.'),(0,n.mdx)("h4",{id:"parameters-60"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"asan"),": If true, enable ASAN."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"assembler_flags"),": The set of additional assembler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"li"},"go tool asm"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"build_mode"),": Determines the build mode (equivalent of ",(0,n.mdx)("inlineCode",{parentName:"li"},"-buildmode"),"). Can be one of the following values: ",(0,n.mdx)("inlineCode",{parentName:"li"},"c_archive"),", ",(0,n.mdx)("inlineCode",{parentName:"li"},"c_shared"),". This argument is valid only if at there is at least one ",(0,n.mdx)("inlineCode",{parentName:"li"},"cgo_library declared in deps. In addition you should make sure that "),"-shared",(0,n.mdx)("inlineCode",{parentName:"li"},"flag is added to"),"compiler_flags",(0,n.mdx)("inlineCode",{parentName:"li"},"and go version under"),"go.goroot",(0,n.mdx)("inlineCode",{parentName:"li"},"is compiled with that flag present in:"),"gcflags",(0,n.mdx)("inlineCode",{parentName:"li"},", "),"ldflags",(0,n.mdx)("inlineCode",{parentName:"li"},"and"),"asmflags``"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"cgo_enabled"),": Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": The set of additional compiler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"li"},"go tool compile"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The set of dependencies of this rule. Currently, this only supports go","_","library rules."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"external_linker_flags"),": Extra external linker flags passed to go link via ",(0,n.mdx)("inlineCode",{parentName:"li"},"-extld")," argument. If argument is non-empty or ",(0,n.mdx)("inlineCode",{parentName:"li"},"cgo_library")," is used, the link mode will switch to ",(0,n.mdx)("inlineCode",{parentName:"li"},"external"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_mode"),": Determines the link mode (equivalent of ",(0,n.mdx)("inlineCode",{parentName:"li"},"-mode"),"). Can be one of the following values: ",(0,n.mdx)("inlineCode",{parentName:"li"},"internal"),", ",(0,n.mdx)("inlineCode",{parentName:"li"},"external"),". If no value is provided, the mode is set automatically depending on the other args."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: ",(0,n.mdx)("inlineCode",{parentName:"li"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"shared"),". This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"linker_flags"),": Extra linker flags passed to go link"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"package_root"),": Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ",'["foo/bar.go"]',', package_root = "foo"'),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"race"),": If true, enable data race detection."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"resources"),": Static files to be symlinked into the working directory of the test. You can access these in your by opening the files as relative paths, e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},'ioutil.ReadFile("testdata/input")'),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be ",(0,n.mdx)("inlineCode",{parentName:"li"},"#include"),"d by the assembler."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tags"),": Build tags to apply to this target and its dependencies.")),(0,n.mdx)("h4",{id:"details-42"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/go/testdata"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\ngo_exported_library(\n name = "shared",\n srcs = ["main.go"],\n build_mode = "c_shared",\n compiler_flags = ["-shared"],\n deps = [":example"],\n)\n\ncgo_library(\n name = "example",\n package_name = "cgo",\n srcs = [\n "export-to-c.go", # file with //export annotations\n ],\n cgo_compiler_flags = [],\n compiler_flags = [],\n headers = [],\n)\n\ncxx_genrule(\n name = "cgo_exported_headers",\n out = "includes",\n cmd = (\n "mkdir -p $OUT && " +\n "cat `dirname $(location :shared)`/includes/*.h > $OUT/_cgo_export.h"\n ),\n)\n\nprebuilt_cxx_library(\n name = "cxx_so_with_header",\n header_dirs = [":cgo_exported_headers"],\n shared_lib = ":shared",\n)\n\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"go_library"},"go","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def go_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _asan: bool = _,\n _cgo_enabled: None | bool = _,\n _compile_shared: bool = _,\n _coverage_mode: None | str = _,\n _go_stdlib: str = _,\n _go_toolchain: str = _,\n _race: bool = _,\n _tags: list[str] = _,\n assembler_flags: list[str] = _,\n buck2_compatibility: str = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n embedcfg: None | str = _,\n exported_deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n package_name: None | str = _,\n package_root: None | str = _,\n srcs: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A go","_","library() rule builds a native library from the supplied set of Go source files and dependencies."),(0,n.mdx)("h4",{id:"parameters-61"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"assembler_flags"),": The set of additional assembler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"li"},"go tool asm"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": The set of additional compiler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"li"},"go tool compile"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The set of dependencies of this rule. Currently, this only supports go","_","library rules."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"package_name"),': Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b")'),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"package_root"),": Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ",'["foo/bar.go"]',', package_root = "foo"'),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be ",(0,n.mdx)("inlineCode",{parentName:"li"},"#include"),"d by the assembler.")),(0,n.mdx)("h4",{id:"details-43"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/go/testdata"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\ngo_library(\n name='greeting',\n srcs=[\n 'greeting.go',\n ],\n deps=[\n ':join',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"go_stdlib"},"go","_","stdlib"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def go_stdlib(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _asan: bool = _,\n _cgo_enabled: None | bool = _,\n _compile_shared: bool = _,\n _exec_os_type: str = _,\n _go_toolchain: str = _,\n _race: bool = _,\n _tags: list[str] = _,\n buck2_compatibility: str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-62"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"go_test"},"go","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def go_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _asan: bool = _,\n _coverage_mode: None | str = _,\n _exec_os_type: str = _,\n _go_stdlib: str = _,\n _go_toolchain: str = _,\n _inject_test_env: str = _,\n _race: bool = _,\n _remote_test_execution_toolchain: str = _,\n _tags: list[str] = _,\n _testmaingen: str = _,\n asan: bool = _,\n assembler_flags: list[str] = _,\n buck2_compatibility: str = _,\n cgo_enabled: None | bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n coverage_mode: None | str = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n embedcfg: None | str = _,\n env: dict[str, str] = _,\n external_linker_flags: list[str] = _,\n labels: list[str] = _,\n library: None | str = _,\n licenses: list[str] = _,\n link_mode: None | str = _,\n link_style: None | str = _,\n linker_flags: list[str] = _,\n package_name: None | str = _,\n package_root: None | str = _,\n platform: None | str = _,\n race: bool = _,\n remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,\n remote_execution_action_key_providers: None | str = _,\n resources: list[str] = _,\n run_test_separately: bool = _,\n runner: None | str = _,\n specs: None | str = _,\n srcs: list[str] = _,\n tags: list[str] = _,\n test_rule_timeout_ms: None | int = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"go_test()")," rule builds a native binary from the specified Go source and resource files\u2014and a generated main file. It's similar to the ",(0,n.mdx)("inlineCode",{parentName:"p"},"go test")," command."),(0,n.mdx)("h4",{id:"parameters-63"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"asan"),": If true, enable ASAN.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"assembler_flags"),": The set of additional assembler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"p"},"go tool asm"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"cgo_enabled"),": Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compiler_flags"),": The set of additional compiler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"p"},"go tool compile"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": The set of dependencies of this rule. Currently, this only supports go","_","library rules.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": A map of environment variables and values to set when running the test.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"external_linker_flags"),": Extra external linker flags passed to go link via ",(0,n.mdx)("inlineCode",{parentName:"p"},"-extld")," argument. If argument is non-empty or ",(0,n.mdx)("inlineCode",{parentName:"p"},"cgo_library")," is used, the link mode will switch to ",(0,n.mdx)("inlineCode",{parentName:"p"},"external"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"labels"),": A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., ",(0,n.mdx)("inlineCode",{parentName:"p"},"smoke")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"fast"),"). A label can be used to filter or include a specific test rule when executing ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck test"))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"library"),": Specify the library that this internal test is testing. This will copy the ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"package_name")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," from the target specified so you don't have to duplicate them.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_mode"),": Determines the link mode (equivalent of ",(0,n.mdx)("inlineCode",{parentName:"p"},"-mode"),"). Can be one of the following values: ",(0,n.mdx)("inlineCode",{parentName:"p"},"internal"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"external"),". If no value is provided, the mode is set automatically depending on the other args.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: ",(0,n.mdx)("inlineCode",{parentName:"p"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"shared"),". This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": Extra linker flags passed to go link")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"package_name"),': Sets the full name of the test package being compiled. This defaults to the path from the buck root with "',"_",'test" appended. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b',"_",'test")'),(0,n.mdx)("p",{parentName:"li"},"Note: if you want to test packages internally (i.e. same package name), use the ",(0,n.mdx)("inlineCode",{parentName:"p"},"library"),"\nparameter instead of setting ",(0,n.mdx)("inlineCode",{parentName:"p"},"package_name")," to include the tested source files.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"package_root"),": Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ",'["foo/bar.go"]',', package_root = "foo"')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"race"),": If true, enable data race detection.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be ",(0,n.mdx)("inlineCode",{parentName:"p"},"#include"),"d by the assembler.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tags"),": Build tags to apply to this target and its dependencies.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test_rule_timeout_ms"),": If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default ",(0,n.mdx)("inlineCode",{parentName:"p"},"rule_timeout")," if any has been specified in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")," ."))),(0,n.mdx)("h4",{id:"details-44"},"Details"),(0,n.mdx)("p",null,"If your test requires static files you should specify these in\nthe ",(0,n.mdx)("strong",{parentName:"p"},"resources")," argument. If you do not specify these\nfiles, they won't be available when your test runs."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/go/testdata"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\ngo_library(\n name='greeting',\n srcs=[\n 'greeting.go',\n ],\n deps=[\n ':join',\n ],\n)\n\ngo_test(\n name='greeting-test',\n srcs=[\n 'greeting_ext_test.go',\n ],\n deps=[\n ':greeting'\n ],\n)\n\ngo_test(\n name='greeting-internal-test',\n package_name='greeting',\n srcs=[\n 'greeting.go',\n 'greeting_test.go',\n ],\n deps=[\n ':join',\n ],\n)\n\n# Or\n\ngo_test(\n name='greeting-better-internal-test',\n srcs=['greeting_test.go'],\n library=':greeting',\n)\n\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"go_test_runner"},"go","_","test","_","runner"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def go_test_runner(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n test_runner_generator: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-64"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"groovy_library"},"groovy","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def groovy_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n extra_groovyc_arguments: list[str] = _,\n java_version: None | str = _,\n javac: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n target: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"groovy_library()")," rule is used to define a set of Groovy files that can be compiled together. It can also be used to cross compile a set of Groovy and Java files. The main output of a ",(0,n.mdx)("inlineCode",{parentName:"p"},"groovy_library()")," rule is a single JAR file containing all of the compiled class files and resources."),(0,n.mdx)("h4",{id:"parameters-65"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": Rules (usually other ",(0,n.mdx)("inlineCode",{parentName:"p"},"groovy_library")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()")," rules) that are used to generate the classpath required to compile this ",(0,n.mdx)("inlineCode",{parentName:"p"},"groovy_library"),"."),(0,n.mdx)("p",{parentName:"li"},"This is the same as in ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps"),": Other ",(0,n.mdx)("inlineCode",{parentName:"p"},"groovy_library")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()")," rules that depend on this rule will also include its ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps")," in their classpaths."),(0,n.mdx)("p",{parentName:"li"},"This is the same as in ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_arguments"),": Only used during cross compilation."),(0,n.mdx)("p",{parentName:"li"},"This is the same as in ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_groovyc_arguments"),": List of additional arguments to pass into the Groovy compiler.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"java_version"),": Only used during cross compilation."),(0,n.mdx)("p",{parentName:"li"},"This is the same as in ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps"),": This is the same as in ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),": This is the same as in ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"source"),": Only used during cross compilation."),(0,n.mdx)("p",{parentName:"li"},"This is the same as in ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of files to compile for this rule. Usually these will all end in ",(0,n.mdx)("inlineCode",{parentName:"p"},".groovy"),", but if any of the files end in ",(0,n.mdx)("inlineCode",{parentName:"p"},".java"),", cross compilation using the jdk found in ",(0,n.mdx)("inlineCode",{parentName:"p"},"JAVA_HOME")," will occur.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target"),": Only used during cross compilation."),(0,n.mdx)("p",{parentName:"li"},"This is the same as in ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),"."))),(0,n.mdx)("h4",{id:"details-45"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that compiles a single .groovy file.\ngroovy_library(\n name = 'example',\n srcs = ['MySourceFile.groovy'],\n)\n\n")),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that compiles all of the .groovy files under the directory in\n# which the rule is defined using glob()\ngroovy_library(\n name = 'groovy-only',\n srcs = glob(['**/*.groovy']),\n)\n\n")),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that cross compiles all of the .groovy and .java files under\n# the directory in which the rule is defined, failing if compiling the\n# java files generates any compiler warnings\ngroovy_library(\n name = 'cross-compilation',\n srcs = glob(['**/*.groovy', '**/*.java']),\n java_version = 8,\n extra_arguments = [\n '-Werror',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"groovy_test"},"groovy","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def groovy_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n cxx_library_whitelist: list[str] = _,\n default_cxx_platform: None | str = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n env: dict[str, str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n extra_groovyc_arguments: list[str] = _,\n fork_mode: str = _,\n java_version: None | str = _,\n javac: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n run_test_separately: bool = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n std_err_log_level: None | int | str = _,\n std_out_log_level: None | int | str = _,\n target: None | str = _,\n test_case_timeout_ms: None | int = _,\n test_rule_timeout_ms: None | int = _,\n test_type: None | str = _,\n use_cxx_libraries: None | bool = _,\n use_dependency_order_classpath: None | bool = _,\n vm_args: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-66"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"gwt_binary"},"gwt","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def gwt_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _exec_os_type: str = _,\n _java_toolchain: str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n draft_compile: bool = _,\n experimental_args: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n local_workers: int = _,\n module_deps: list[str] = _,\n modules: list[str] = _,\n optimize: int = _,\n strict: bool = _,\n style: str = _,\n vm_args: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-67"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"halide_library"},"halide","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def halide_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n compiler_deps: list[str] = _,\n compiler_flags: list[str] = _,\n compiler_invocation_flags: list[str] = _,\n configs: dict[str, dict[str, str]] = _,\n contacts: list[str] = _,\n cxx_runtime_type: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n devirt_enabled: bool = _,\n executable_name: None | str = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n frameworks: list[str] = _,\n function_name: None | str = _,\n header_namespace: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n include_directories: list[str] = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_deps_query_whole: bool = _,\n link_group: None | str = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_style: None | str = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n prefer_stripped_objects: bool = _,\n prefix_header: None | str = _,\n preprocessor_flags: list[str] = _,\n raw_headers: list[str] = _,\n srcs: list[str | (str, list[str])] = _,\n supported_platforms_regex: None | str = _,\n thin_lto: bool = _,\n version_universe: None | str = _,\n weak_framework_names: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A halide","_",'library() rule represents a set of Halide sources, along with the "compiler" code needed to compile them into object format (see ',(0,n.mdx)("a",{parentName:"p",href:"http://halide-lang.org"},"the Halide site")," for information about Halide and about static compilation of Halide pipelines). The object code will be generated for the target architecture."),(0,n.mdx)("h4",{id:"parameters-68"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_deps"),": The dependencies of the halide compiler itself. Targets that depend on the halide","_","library rule will not include or link the outputs of these targets."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": Flags to use when compiling any of the above sources (which require compilation)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The dependencies of the generated halide pipeline code. This is useful if, for example, your pipeline calls an external function using Halide::Func::define","_","extern."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_compiler_flags"),": Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_linker_flags"),": Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"li"},"java.util.regex.Pattern")," syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of halide sources to compile for this rule. The sources will be compiled and linked for the host architecture, and the resulting binary will be run to produce the object code for the Halide pipeline."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"supported_platforms_regex"),": If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms.")),(0,n.mdx)("h4",{id:"details-46"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nhalide_library(\n # Your library name.\n name = 'brighter',\n\n # Your pipeline + compiler sources.\n srcs = ['halide/main.cpp'],\n\n # Any dependencies for your compiler. Note that targets that depend on\n # this rule WILL NOT include or link the output(s) of these targets.\n compiler_deps = [\n # You'll need libHalide to use this rule; in our example, we assume it's\n # located in the 'third-party/halide' directory.\n '//third-party/halide:halide'\n ],\n\n # Any dependencies for your generated shader. Targets that depend on this\n # rule will include and/or link the output(s) of these targets.\n deps = [\n # ...\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"haskell_binary"},"haskell","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def haskell_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _haskell_toolchain: str = _,\n auto_link_groups: bool = _,\n buck2_compatibility: str = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n enable_profiling: bool = _,\n ghci_platform_preload_deps: list[(str, list[str])] = _,\n ghci_preload_deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n link_deps_query_whole: bool = _,\n link_group_deps: list[str] = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_group_public_deps_label: None | str = _,\n link_style: None | str = _,\n linker_flags: list[str] = _,\n main: None | str = _,\n platform: None | str = _,\n platform_deps: list[(str, list[str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n srcs: list[str] | dict[str, str] = _,\n template_deps: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"haskell_binary()")," rule represents a groups of Haskell sources and deps which build an executable."),(0,n.mdx)("h4",{id:"parameters-69"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": Flags to pass to the Haskell compiler when compiling this rule's sources."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": Either ",(0,n.mdx)("inlineCode",{parentName:"li"},"haskell_library()")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"prebuilt_haskell_library()")," rules from which this rules sources import modules or native linkable rules exporting symbols this rules sources call into."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_group_deps"),": Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_group_public_deps_label"),': Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.'),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"li"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"shared"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"main"),": The main module serving as the entry point into the binary. If not specified, the compiler default is used."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_deps"),": Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as ",(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),") that are exported if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"deps")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": A list of Haskell sources to be built by this rule. The dictionary option is deprecated.")),(0,n.mdx)("h4",{id:"details-47"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nhaskell_binary(\n name = 'foo',\n srcs = [\n 'Foo.hs',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"haskell_ghci"},"haskell","_","ghci"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def haskell_ghci(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _haskell_toolchain: str = _,\n buck2_compatibility: str = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n enable_profiling: bool = _,\n extra_script_templates: list[str] = _,\n ghci_bin_dep: None | str = _,\n ghci_init: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n linker_flags: list[str] = _,\n platform: None | str = _,\n platform_deps: list[(str, list[str])] = _,\n platform_preload_deps: list[(str, list[str])] = _,\n preload_deps: list[str] = _,\n srcs: list[str] | dict[str, str] = _,\n template_deps: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-70"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"haskell_haddock"},"haskell","_","haddock"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def haskell_haddock(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _haskell_toolchain: str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n haddock_flags: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n platform: None | str = _,\n platform_deps: list[(str, list[str])] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-71"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"haskell_ide"},"haskell","_","ide"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def haskell_ide(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _haskell_toolchain: str = _,\n buck2_compatibility: str = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n extra_script_templates: list[str] = _,\n include_projects: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n link_style: str,\n linker_flags: list[str] = _,\n platform: None | str = _,\n platform_deps: list[(str, list[str])] = _,\n srcs: list[str] | dict[str, str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-72"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"haskell_library"},"haskell","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def haskell_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _haskell_toolchain: str = _,\n buck2_compatibility: str = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n enable_profiling: bool = _,\n ghci_platform_preload_deps: list[(str, list[str])] = _,\n ghci_preload_deps: list[str] = _,\n haddock_flags: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n link_whole: bool = _,\n linker_flags: list[str] = _,\n platform: None | str = _,\n platform_deps: list[(str, list[str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n preferred_linkage: str = _,\n srcs: list[str] | dict[str, str] = _,\n template_deps: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"haskell_library()")," rule is used to identity a group of Haskell sources."),(0,n.mdx)("h4",{id:"parameters-73"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": Flags to pass to the Haskell compiler when compiling this rule's sources."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": Either ",(0,n.mdx)("inlineCode",{parentName:"li"},"haskell_library()")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"prebuilt_haskell_library()")," rules from which this rules sources import modules or native linkable rules exporting symbols this rules sources call into."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_deps"),": Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as ",(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),") that are exported if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"deps")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": A list of Haskell sources to be built by this rule. The dictionary option is deprecated.")),(0,n.mdx)("h4",{id:"details-48"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nhaskell_library(\n name = 'fileutil',\n srcs = [\n 'FileUtil.hs',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"haskell_prebuilt_library"},"haskell","_","prebuilt","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def haskell_prebuilt_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n cxx_header_dirs: list[str] = _,\n db: str,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n enable_profiling: bool = _,\n exported_compiler_flags: list[str] = _,\n exported_linker_flags: list[str] = _,\n exported_post_linker_flags: list[str] = _,\n id: str = _,\n import_dirs: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n pic_profiled_static_libs: list[str] = _,\n pic_static_libs: list[str] = _,\n profiled_static_libs: list[str] = _,\n shared_libs: dict[str, str] = _,\n static_libs: list[str] = _,\n version: str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_haskell_library()")," rule is used to identify Haskell prebuilt libraries and their associated interface files."),(0,n.mdx)("h4",{id:"parameters-74"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": Other ",(0,n.mdx)("inlineCode",{parentName:"li"},"prebuilt_haskell_library()")," rules from which this library imports modules."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exported_compiler_flags"),": Compiler flags used by dependent rules when compiling with this library."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exported_linker_flags"),": Linker flags used by dependent rules when linking with this library."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"shared_libs"),": A map of shared library names to shared library paths to use when building a dynamically linked top-level target."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"static_libs"),": The libraries to use when building a statically linked top-level target.")),(0,n.mdx)("h4",{id:"details-49"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_haskell_library(\n name = 'file',\n static_interfaces = [\n 'interfaces',\n ],\n shared_interfaces = [\n 'interfaces_dyn',\n ],\n static_libs = [\n 'libFileUtil.a',\n ],\n shared_libs = {\n 'libFileUtil.so': 'libFileUtil.so',\n },\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"http_archive"},"http","_","archive"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def http_archive(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n excludes: list[str] = _,\n exec_deps: str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n out: None | str = _,\n sha1: None | str = _,\n sha256: None | str = _,\n strip_prefix: None | str = _,\n sub_targets: list[str] = _,\n type: None | str = _,\n urls: list[str] = _,\n vpnless_urls: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"http_archive()")," rule is used to download and extract archives from the Internet to be used as dependencies for other rules. These rules are downloaded by running ",(0,n.mdx)("inlineCode",{parentName:"p"},"fetch"),", or can be downloaded as part of ",(0,n.mdx)("inlineCode",{parentName:"p"},"build")," by setting ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")),(0,n.mdx)("h4",{id:"parameters-75"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"excludes"),": An optional list of regex patterns. All file paths in the extracted archive which match any of the given patterns will be omitted.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_deps"),": When using http_archive as an anon target, the rule invoking the anon target needs to mirror this attribute into its own attributes, and forward the provider into the anon target invocation."),(0,n.mdx)("p",{parentName:"li"},"When using http_archive normally not as an anon target, the\ndefault value is always fine.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"out"),": An optional name to call the directory that the downloaded artifact is extracted into. Buck will generate a default name if one is not provided that uses the ",(0,n.mdx)("inlineCode",{parentName:"p"},"name")," of the rule.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"sha256"),": The ",(0,n.mdx)("a",{parentName:"p",href:"//wikipedia.org/wiki/SHA-2"},(0,n.mdx)("inlineCode",{parentName:"a"},"SHA-256"))," hash of the downloaded artifact. Buck verifies this is correct and fails the fetch command if it doesn't match in order to guarantee repeatable builds.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"strip_prefix"),": If set, files under this path will be extracted to the root of the output directory. Siblings or cousins to this prefix will not be extracted at all."),(0,n.mdx)("p",{parentName:"li"},"For example, if a tarball has the layout:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"foo/bar/bar-0.1.2/data.dat")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"foo/baz/baz-0.2.3")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},"foo","_","prime/bar-0.1.2"),(0,n.mdx)("p",{parentName:"li"},"Only ",(0,n.mdx)("inlineCode",{parentName:"p"},"data.dat")," will be extracted, and it will be extracted into the output\ndirectory specified in ",(0,n.mdx)("inlineCode",{parentName:"p"},"out"),".")))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"sub_targets"),": A list of filepaths within the archive to be made accessible as sub-targets. For example if we have an http_archive with ",(0,n.mdx)("inlineCode",{parentName:"p"},'name = "archive"')," and ",(0,n.mdx)("inlineCode",{parentName:"p"},'sub_targets = ["src/lib.rs"]'),", then other targets would be able to refer to that file as ",(0,n.mdx)("inlineCode",{parentName:"p"},'":archive[src/lib.rs]"'),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"type"),": Normally, archive type is determined by the file's extension. If ",(0,n.mdx)("inlineCode",{parentName:"p"},"type")," is set, then autodetection is overridden, and the specified type is used instead."),(0,n.mdx)("p",{parentName:"li"},"Supported values are: ",(0,n.mdx)("inlineCode",{parentName:"p"},"zip"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"tar"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"tar.gz"),",\n",(0,n.mdx)("inlineCode",{parentName:"p"},"tar.bz2"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"tar.xz"),", and ",(0,n.mdx)("inlineCode",{parentName:"p"},"tar.zst"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"urls"),': A list of urls to attempt to download from. They are tried in order, and subsequent ones are only tried if the download fails. If validation fails, a new URL is not used. Supported protocols are "http", "https", and "mvn".')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"vpnless_urls"),": Additional URLs from which this resource can be downloaded when off VPN. Meta-internal only."))),(0,n.mdx)("h4",{id:"details-50"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Using ",(0,n.mdx)("inlineCode",{parentName:"p"},"http_archive()"),", third party packages can be downloaded from\nan ",(0,n.mdx)("inlineCode",{parentName:"p"},"https")," URL and used in other library types."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nhttp_archive(\n name = 'thrift-archive',\n urls = [\n 'https://internal-mirror.example.com/bin/thrift-compiler-0.1.tar.gz.badextension',\n ],\n sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596',\n type='tar.gz',\n strip_prefix='thrift-compiler-0.1'\n)\n\ngenrule(\n name = 'thrift-compiler-bin',\n out = 'thrift',\n cmd = 'cp $(location :thrift-archive)/bin/thrift $OUT',\n executable = True,\n)\n\ngenrule(\n name=\"my-thrift-lib-cpp2\",\n cmd=\"$(exe :thrift-compiler-bin) --gen cpp2 -o $OUT $(location //:thrift-file)\",\n out=\"gen-cpp2\",\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"http_file"},"http","_","file"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def http_file(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n executable: None | bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n out: None | str = _,\n sha1: None | str = _,\n sha256: None | str = _,\n urls: list[str] = _,\n vpnless_urls: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"http_file()")," rule is used to download files from the Internet to be used as dependencies for other rules. This rule only downloads single files, and can optionally make them executable (see ",(0,n.mdx)("inlineCode",{parentName:"p"},"http_file()executable"),") These rules are downloaded by running ",(0,n.mdx)("inlineCode",{parentName:"p"},"fetch"),", or can be downloaded as part of ",(0,n.mdx)("inlineCode",{parentName:"p"},"build")," by setting ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")),(0,n.mdx)("h4",{id:"parameters-76"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"executable"),": Whether or not the file should be made executable after downloading. If true, this can also be used via ",(0,n.mdx)("inlineCode",{parentName:"li"},"run")," and the ",(0,n.mdx)("inlineCode",{parentName:"li"},"$(exe )"),"\xa0",(0,n.mdx)("inlineCode",{parentName:"li"},"string parameter macros")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"out"),": An optional name to call the downloaded artifact. Buck will generate a default name if one is not provided that uses the ",(0,n.mdx)("inlineCode",{parentName:"li"},"name")," of the rule."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"sha256"),": The ",(0,n.mdx)("a",{parentName:"li",href:"//wikipedia.org/wiki/SHA-2"},(0,n.mdx)("inlineCode",{parentName:"a"},"SHA-256"))," hash of the downloaded artifact. Buck verifies this is correct and fails the fetch command if it doesn't match in order to guarantee repeatable builds."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"urls"),': A list of urls to attempt to download from. They are tried in order, and subsequent ones are only tried if the download fails. If validation fails, a new URL is not used. Supported protocols are "http", "https", and "mvn".'),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"vpnless_urls"),": Additional URLs from which this resource can be downloaded when off VPN. Meta-internal only.")),(0,n.mdx)("h4",{id:"details-51"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Using ",(0,n.mdx)("inlineCode",{parentName:"p"},"http_file()"),", third party packages can be downloaded from\nan ",(0,n.mdx)("inlineCode",{parentName:"p"},"https")," URL and used in java libraries."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nhttp_file(\n name = 'guava-23-bin',\n urls = [\n 'http://search.maven.org/remotecontent?filepath=com/google/guava/guava/23.0/guava-23.0.jar',\n ],\n sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596',\n)\nhttp_file(\n name = 'guava-23-sources',\n urls = [\n 'http://search.maven.org/remotecontent?filepath=com/google/guava/guava/23.0/guava-23.0-sources.jar',\n ],\n sha256 = '37fe8ba804fb3898c3c8f0cbac319cc9daa58400e5f0226a380ac94fb2c3ca14',\n)\n\nprebuilt_java_library(\n name = 'guava-23',\n binary_jar = ':guava-23-bin',\n source_jar = ':guava-23-source',\n)\n\n")),(0,n.mdx)("p",null," Tooling can also be fetched with ",(0,n.mdx)("inlineCode",{parentName:"p"},"http_file()")," and used by a ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\ngenrule(\n name=\"my-thrift-lib-cpp2\",\n cmd=\"$(exe :thrift-compiler-bin) --gen cpp2 -o $OUT $(location //:thrift-file)\",\n out=\"gen-cpp2\",\n)\n\nhttp_file(\n name = 'thrift-compiler-bin',\n url = 'https://internal-mirror.example.com/bin/thrift-compiler',\n sha256 = 'c24932ccabb66fffb2d7122298f7f1f91e0b1f14e05168e3036333f84bdf58dc',\n executable = True,\n)\n\n")),(0,n.mdx)("p",null," Here's an example of a ",(0,n.mdx)("inlineCode",{parentName:"p"},"http_file()")," using a mvn URI which uses a Maven classifier."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nhttp_file(\n name = 'guava-23-bin',\n urls = [\n 'mvn:com.google.guava:guava:jar:23.0',\n ],\n sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"jar_genrule"},"jar","_","genrule"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def jar_genrule(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _genrule_toolchain: str = _,\n _java_toolchain: str = _,\n always_print_stderr: bool = _,\n bash: None | str = _,\n buck2_compatibility: str = _,\n cacheable: None | bool = _,\n cmd: None | str = _,\n cmd_exe: None | str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n enable_sandbox: None | bool = _,\n environment_expansion_separator: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n metadata_env_var: None | str = _,\n metadata_path: None | str = _,\n need_android_tools: bool = _,\n no_outputs_cleanup: bool = _,\n remote: None | bool = _,\n remote_execution_dependencies: list[dict[str, str]] = _,\n srcs: list[str] | dict[str, str] = _,\n type: None | str = _,\n weight: None | int = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-77"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"java_annotation_processor"},"java","_","annotation","_","processor"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def java_annotation_processor(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n does_not_affect_abi: bool = _,\n isolate_class_loader: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n processor_class: str = _,\n supports_abi_generation_from_source: bool = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-78"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"java_binary"},"java","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def java_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _exec_os_type: str = _,\n _is_building_android_binary: bool = _,\n _java_toolchain: str = _,\n blacklist: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_cxx_platform: None | str = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n do_not_create_inner_jar: bool = _,\n generate_wrapper: bool = _,\n java_args_for_run_info: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n main_class: None | str = _,\n manifest_file: None | str = _,\n meta_inf_directory: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_binary()")," rule is used to create a JAR file of the compiled .class files and resources of the ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()")," rules on which it depends."),(0,n.mdx)("h4",{id:"parameters-79"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"blacklist"),": A list of patterns that identify files to exclude from the final generated JAR file. Example:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"\njava_binary(\n name = 'example',\n blacklist = [\n # Excludes com.example.A and com.example.Alligator,\n # as well as their inner classes and any non-class files that happen to match\n # the pattern\n 'com.example.A',\n\n # Excludes all files from org/slf4j/**/*.\n 'org.slf4j',\n ],\n deps = [\n ':example1',\n ':third-party-stuff',\n ],\n)\n\n"))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": Rules (normally of type ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library"),") that should be compiled and whose ",(0,n.mdx)("inlineCode",{parentName:"p"},".class")," files and resources should be included in the generated JAR file.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"main_class"),": If provided, this will be the value specified as the ",(0,n.mdx)("inlineCode",{parentName:"p"},"Main-Class")," attribute of the ",(0,n.mdx)("inlineCode",{parentName:"p"},"META-INF/MANIFEST.MF")," file in the generated JAR file. Also, when this rule is used as an executable in a ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"main_class")," will indicate the class whose ",(0,n.mdx)("inlineCode",{parentName:"p"},"main()")," method will be invoked to process the command-line arguments. This is consistent with the expected usage of ",(0,n.mdx)("inlineCode",{parentName:"p"},"java -jar *<name.jar>* *<args>*"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"manifest_file"),": If provided, this manifest will be used when generating the JAR file. If combined with ",(0,n.mdx)("inlineCode",{parentName:"p"},"main_class"),", the specified manifest file will be used but the ",(0,n.mdx)("inlineCode",{parentName:"p"},"main_class")," will override the main class in the manifest."))),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"java_library"},"java","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def java_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _dex_min_sdk_version: None | int = _,\n _dex_toolchain: str = _,\n _exec_os_type: str = _,\n _is_building_android_binary: bool = _,\n _java_toolchain: str = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n abi_generation_mode: None | str = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n jar_postprocessor: None | str = _,\n java_version: None | str = _,\n javac: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n target: None | str = _,\n validation_deps: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()")," rule defines a set of Java files that can be compiled together. The main output of a ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()")," rule is a single JAR file containing all of the compiled class files, as well as the static files specified in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"resources")," argument."),(0,n.mdx)("h4",{id:"parameters-80"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": Rules (usually other ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library")," rules) that are used to generate the classpath required to compile this ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps"),": Other rules that depend on this rule will also include its ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps")," in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_jar")," rules as a single target for callers to depend on. Targets in ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps")," are implicitly included in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," of this rule, so they don't need to be repeated there.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_provided_deps"),": This is a combination of ",(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps"),". Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_arguments"),": List of additional arguments to pass into the Java compiler. These arguments follow the ones specified in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"java_version"),": Equivalent to setting both ",(0,n.mdx)("inlineCode",{parentName:"p"},"source")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"target")," to the given value. Setting this and ",(0,n.mdx)("inlineCode",{parentName:"p"},"source")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"target")," (or both!) is an error.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"on_unused_dependencies"),": Action performed when Buck detects that some dependencies are not used during Java compilation."),(0,n.mdx)("p",{parentName:"li"},"Note that this feature is experimental and does not handle runtime dependencies."),(0,n.mdx)("p",{parentName:"li"},"The valid values are:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"ignore")," (default): ignore unused dependencies,"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"warn"),": emit a warning to the console,"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"fail"),": fail the compilation.")),(0,n.mdx)("p",{parentName:"li"},"This option overrides the default value from\n.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps"),": These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of ",(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps")," include the JEE servlet APIs. When this rule is included in a , the ",(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps")," will not be packaged into the output.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"remove_classes"),": Specifies a list of ",(0,n.mdx)("inlineCode",{parentName:"p"},"Patterns")," that are used to exclude ",(0,n.mdx)("inlineCode",{parentName:"p"},"classes")," from the ",(0,n.mdx)("inlineCode",{parentName:"p"},"JAR"),". The pattern matching is based on the name of the class. This can be used to exclude a member class or delete a local view of a class that will be replaced during a later stage of the build.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"required_for_source_only_abi"),": Indicates that this rule must be present on the classpath during ",(0,n.mdx)("inlineCode",{parentName:"p"},"source-only ABI generation")," of any rule that depends on it. Typically this is done when a rule contains annotations, enums, constants, or interfaces."),(0,n.mdx)("p",{parentName:"li"},"Having rules present on the classpath during source-only ABI generation prevents Buck from\ncompletely flattening the build graph, thus reducing the performance win from source-only\nABI generation. These rules should be kept small (ideally just containing annotations,\nconstants, enums, and interfaces) and with minimal dependencies of their own.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),": Static files to include with the compiled ",(0,n.mdx)("inlineCode",{parentName:"p"},".class")," files. These files can be loaded via ",(0,n.mdx)("a",{parentName:"p",href:"http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource(java.lang.String)"},"Class.getResource()"),"."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("strong",{parentName:"p"},"Note:")," If ",(0,n.mdx)("inlineCode",{parentName:"p"},"resources_root")," isn't set,\nBuck uses the ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nproperty in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")," to\ndetermine where resources should be placed within the generated JAR\nfile.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"source"),': Specifies the version of Java (as a string) to interpret source files as. Overrides the value in "source',"_",'level" in the "java" section of ',(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"source_only_abi_deps"),": These are dependencies that must be present during ",(0,n.mdx)("inlineCode",{parentName:"p"},"source-only ABI generation"),". Typically such dependencies are added when some property of the code in this rule prevents source-only ABI generation from being correct without these dependencies being present."),(0,n.mdx)("p",{parentName:"li"},"Having ",(0,n.mdx)("inlineCode",{parentName:"p"},"source_only_abi_deps")," prevents Buck from\ncompletely flattening the build graph, thus reducing the performance win from source-only\nABI generation. They should be avoided when possible. Often only a small code change is needed to avoid them.\nFor more information on such code changes, read about\n",(0,n.mdx)("inlineCode",{parentName:"p"},"source-only ABI generation"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of ",(0,n.mdx)("inlineCode",{parentName:"p"},".java")," files to compile for this rule. If any of the files in this list end in ",(0,n.mdx)("inlineCode",{parentName:"p"},".src.zip"),", then the entries in the ZIP file that end in ",(0,n.mdx)("inlineCode",{parentName:"p"},".java")," will be included as ordinary inputs to compilation. This is common when using a ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()")," to auto-generate some Java source code that needs to be compiled with some hand-written Java code.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target"),': Specifies the version of Java (as a string) for which to generate code. Overrides the value in "target',"_",'level" in the "java" section of ',(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"."))),(0,n.mdx)("h4",{id:"details-52"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that compiles a single .java file.\njava_library(\n name = 'JsonUtil',\n srcs = ['JsonUtil.java'],\n deps = [\n '//third_party/guava:guava',\n '//third_party/jackson:jackson',\n ],\n)\n\n# A rule that compiles all of the .java files under the directory in\n# which the rule is defined using glob(). It also excludes an\n# individual file that may have additional dependencies, so it is\n# compiled by a separate rule.\njava_library(\n name = 'messenger',\n srcs = glob(['**/*.java'], excludes = ['MessengerModule.java']),\n deps = [\n '//src/com/facebook/base:base',\n '//third_party/guava:guava',\n ],\n)\n\njava_library(\n name = 'MessengerModule',\n srcs = ['MessengerModule.java'],\n deps = [\n '//src/com/facebook/base:base',\n '//src/com/google/inject:inject',\n '//third_party/guava:guava',\n '//third_party/jsr-330:jsr-330',\n ],\n)\n\n# A rule that builds a library with both relative and\n# fully-qualified deps.\njava_library(\n name = 'testutil',\n srcs = glob(['tests/**/*.java'], excludes = 'tests/**/*Test.java'),\n deps = [\n ':lib-fb4a',\n '//java/com/facebook/base:base',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"java_plugin"},"java","_","plugin"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def java_plugin(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n does_not_affect_abi: bool = _,\n isolate_class_loader: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n plugin_name: str = _,\n supports_abi_generation_from_source: bool = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-81"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"java_test"},"java","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def java_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _exec_os_type: str = _,\n _inject_test_env: str = _,\n _is_building_android_binary: bool = _,\n _java_test_toolchain: str = _,\n _java_toolchain: str = _,\n _remote_test_execution_toolchain: str = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n abi_generation_mode: None | str = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n cxx_library_whitelist: list[str] = _,\n default_cxx_platform: None | str = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n env: dict[str, str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n fork_mode: str = _,\n jar_postprocessor: None | str = _,\n java: None | str = _,\n java_agents: list[str] = _,\n java_version: None | str = _,\n javac: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,\n remote_execution_action_key_providers: None | str = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n run_test_separately: bool = _,\n runner: None | str = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n specs: None | str = _,\n srcs: list[str] = _,\n std_err_log_level: None | int | str = _,\n std_out_log_level: None | int | str = _,\n target: None | str = _,\n test_case_timeout_ms: None | int = _,\n test_class_names_file: None | str = _,\n test_rule_timeout_ms: None | int = _,\n test_type: None | str = _,\n unbundled_resources_root: None | str = _,\n use_cxx_libraries: None | bool = _,\n use_dependency_order_classpath: None | bool = _,\n vm_args: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_test()")," rule is used to define a set of ",(0,n.mdx)("inlineCode",{parentName:"p"},".java")," files that contain tests to run via JUnit."),(0,n.mdx)("h4",{id:"parameters-82"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library_whitelist"),": EXPERIMENTAL. List of cxx","_","libraries to build, if use","_","cxx","_","libraries is true. This can be useful if some dependencies are Android-only and won't build on the default platform.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": Same as ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),". // org.junit.rules.Timeout was not introduced until 4.7. Must include JUnit (version 4.7 or later) as a dependency for JUnit tests. Must include TestNG (version 6.2 or later) and hamcrest as a dependencies for TestNG tests.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": A map of environment names and values to set when running the test.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"fork_mode"),": Controls whether tests will all be run in the same process or a process will be started for each set of tests in a class."),(0,n.mdx)("p",{parentName:"li"},"(This is mainly useful when porting Java tests to Buck from Apache Ant which\nallows JUnit tasks to set a ",(0,n.mdx)("inlineCode",{parentName:"p"},'fork="yes"')," property. It should not be\nused for new tests since it encourages tests to not cleanup after themselves and\nincreases the tests' computational resources and running time.)"),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"none"),"\nAll tests will run in the same process.\n",(0,n.mdx)("inlineCode",{parentName:"p"},"per_test"),"\nA process will be started for each test class in which all tests of that test class\nwill run.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"labels"),": A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., ",(0,n.mdx)("inlineCode",{parentName:"p"},"smoke")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"fast"),"). A label can be used to filter or include a specific test rule when executing ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck test"))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),": Same as ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"source"),": Java language level for compiling. Corresponds to the ",(0,n.mdx)("inlineCode",{parentName:"p"},"-source")," argument for ",(0,n.mdx)("inlineCode",{parentName:"p"},"javac"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": Like ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()"),", all of the ",(0,n.mdx)("inlineCode",{parentName:"p"},".java")," files specified by the ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," argument will be compiled when this rule is built. In addition, all of the corresponding ",(0,n.mdx)("inlineCode",{parentName:"p"},".class")," files that are built by this rule will be passed as arguments to JUnit when this rule is run as a test. ",(0,n.mdx)("inlineCode",{parentName:"p"},".class")," files that are passed to JUnit that do not have any methods annotated with ",(0,n.mdx)("inlineCode",{parentName:"p"},"@Test")," are considered failed tests, so make sure that only test case classes are specified as ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),". This is frequently done by specifying ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," as ",(0,n.mdx)("inlineCode",{parentName:"p"},"glob(['**/*Test.java'])"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"std_err_log_level"),": Same as ",(0,n.mdx)("inlineCode",{parentName:"p"},"std_out_log_level"),", but for std err.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"std_out_log_level"),": Log level for messages from the source under test that buck will output to std out. Value must be a valid ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.util.logging.Level")," value.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target"),": Bytecode target level for compiling. Corresponds to the ",(0,n.mdx)("inlineCode",{parentName:"p"},"-target")," argument for ",(0,n.mdx)("inlineCode",{parentName:"p"},"javac"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test_rule_timeout_ms"),": If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default ",(0,n.mdx)("inlineCode",{parentName:"p"},"rule_timeout")," if any has been specified in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")," .")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test_type"),": Specifies which test framework to use. The currently supported options are 'junit' and 'testng'.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"use_cxx_libraries"),": Whether or not to build and link against ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library()")," dependencies when testing.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"vm_args"),": Runtime arguments to the JVM running the tests."))),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"java_test_runner"},"java","_","test","_","runner"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def java_test_runner(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n abi_generation_mode: None | str = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n java_version: None | str = _,\n javac: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n main_class: str = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n target: None | str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-83"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"js_bundle"},"js","_","bundle"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def js_bundle(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _is_release: bool = _,\n _platform: str = _,\n android_package: None | str = _,\n buck2_compatibility: str = _,\n bundle_name: None | str = _,\n bundle_name_for_flavor: list[(str, str)] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n entry: str | list[str],\n extra_json: None | str = _,\n fallback_transform_profile: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n worker: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-84"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"js_bundle_genrule"},"js","_","bundle","_","genrule"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def js_bundle_genrule(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _exec_os_type: str = _,\n _genrule_toolchain: str = _,\n _is_release: bool = _,\n _platform: str = _,\n always_print_stderr: bool = _,\n bash: None | str = _,\n buck2_compatibility: str = _,\n bundle_name: None | str = _,\n bundle_name_for_flavor: list[(str, str)] = _,\n cacheable: None | bool = _,\n cmd: None | str = _,\n cmd_exe: None | str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n enable_sandbox: None | bool = _,\n environment_expansion_separator: None | str = _,\n js_bundle: str,\n labels: list[str] = _,\n licenses: list[str] = _,\n metadata_env_var: None | str = _,\n metadata_path: None | str = _,\n need_android_tools: bool = _,\n no_outputs_cleanup: bool = _,\n remote: None | bool = _,\n remote_execution_dependencies: list[dict[str, str]] = _,\n rewrite_deps_file: bool = _,\n rewrite_misc: bool = _,\n rewrite_sourcemap: bool = _,\n skip_resources: bool = _,\n srcs: list[str] | dict[str, str] = _,\n type: str = _,\n weight: None | int = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-85"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"js_library"},"js","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def js_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _asset_dest_path_resolver: None | str = _,\n _build_only_native_code: bool = _,\n _is_release: bool = _,\n _platform: str = _,\n asset_extensions: None | list[str] = _,\n asset_platforms: None | list[str] = _,\n base_path: None | str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n extra_json: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n srcs: list[str | (str, str)] = _,\n worker: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-86"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"julia_binary"},"julia","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def julia_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _julia_toolchain: str = _,\n buck2_compatibility: str = _,\n deps: list[str] = _,\n julia_args: list[str] = _,\n julia_flags: list[str] = _,\n main: str,\n srcs: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-87"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"julia_jll_library"},"julia","_","jll","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def julia_jll_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _julia_toolchain: str = _,\n buck2_compatibility: str = _,\n jll_name: str,\n lib_mapping: list[str] | dict[str, str],\n uuid: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-88"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"julia_library"},"julia","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def julia_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _julia_toolchain: str = _,\n buck2_compatibility: str = _,\n deps: list[str] = _,\n project_toml: str,\n resources: list[str] = _,\n srcs: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-89"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"julia_test"},"julia","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def julia_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _inject_test_env: str = _,\n _julia_toolchain: str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n deps: list[str] = _,\n julia_args: list[str] = _,\n julia_flags: list[str] = _,\n main: str,\n srcs: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-90"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"keystore"},"keystore"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def keystore(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n properties: str,\n store: str\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"keystore()")," contains the data for a key pair created by the ",(0,n.mdx)("inlineCode",{parentName:"p"},"keytool")," executable that comes with the JDK. This is a required input for an ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()")," rule."),(0,n.mdx)("h4",{id:"parameters-91"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"properties"),": The path to the ",(0,n.mdx)("inlineCode",{parentName:"p"},".properties")," file that contains the following values:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'\n# The value that you passed as the argument to -alias\n# when you ran keytool.\nkey.alias=my_alias\n\n# The value that you entered in response to\n# the "Enter keystore password:" prompt.\nkey.store.password=store_password\n\n# The value that you entered in response to\n# the "Enter key password for <my_alias>" prompt.\nkey.alias.password=alias_password\n'))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"store"),": The path to the file that contains the key. This is the path that was passed as the ",(0,n.mdx)("inlineCode",{parentName:"p"},"-keystore")," argument when you ran ",(0,n.mdx)("inlineCode",{parentName:"p"},"keytool"),"."))),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"kotlin_library"},"kotlin","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def kotlin_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _dex_min_sdk_version: None | int = _,\n _dex_toolchain: str = _,\n _exec_os_type: str = _,\n _is_building_android_binary: bool = _,\n _java_toolchain: str = _,\n _kotlin_toolchain: str = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n abi_generation_mode: None | str = _,\n annotation_processing_tool: None | str = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n extra_kotlinc_arguments: list[str] = _,\n friend_paths: list[str] = _,\n incremental: bool = _,\n jar_postprocessor: None | str = _,\n java_version: None | str = _,\n javac: None | str = _,\n k2: bool = _,\n kotlin_compiler_plugins: dict[str, dict[str, str]] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n target: None | str = _,\n use_jvm_abi_gen: None | bool = _,\n validation_deps: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_library()")," rule is used to define a set of Kotlin files that can be compiled together. The main output of a ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_library()")," rule is a single JAR file containing all of the compiled class files, as well as the static files specified in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"resources")," argument."),(0,n.mdx)("h4",{id:"parameters-92"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"annotation_processing_tool"),': Specifies the tool to use for annotation processing. Possible values: "kapt" or "javac". "kapt" allows running Java annotation processors against Kotlin sources while backporting it for Java sources too. "javac" works only against Java sources, Kotlin sources won\'t have access to generated classes at compile time.')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": Rules (usually other ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_library")," rules) that are used to generate the classpath required to compile this ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_library"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps"),": Other rules that depend on this rule will also include its ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps")," in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_jar")," rules as a single target for callers to depend on. Targets in ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps")," are implicitly included in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps")," of this rule, so they don't need to be repeated there.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exported_provided_deps"),": This is a combination of ",(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"exported_deps"),". Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"extra_kotlinc_arguments"),": List of additional arguments to pass into the Kotlin compiler.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"friend_paths"),": List of source paths to pass into the Kotlin compiler as friend-paths, that is, modules you can have access to internal methods.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"incremental"),": Enables Kotlin incremental compilation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"k2"),": Enables the Kotlin K2 compiler.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_compiler_plugins"),": Use this to specify ",(0,n.mdx)("a",{parentName:"p",href:"https://kotlinlang.org/docs/reference/compiler-plugins.html"},"Kotlin compiler plugins")," to use when compiling this library. This takes a map, with each entry specify one plugin. Entry's key is plugin source path, and value is a map of plugin option key value pair. Unlike ",(0,n.mdx)("inlineCode",{parentName:"p"},"extra_kotlinc_arguments"),", these can be ",(0,n.mdx)("em",{parentName:"p"},"source paths"),", not just strings."),(0,n.mdx)("p",{parentName:"li"},"A special option value is\n",(0,n.mdx)("inlineCode",{parentName:"p"},"__codegen_dir__"),", in which case Buck will provide a default codegen folder's path as\noption value instead.\nE.g."),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'\nkotlin_compiler_plugins = {\n "somePluginSourcePath": {\n "plugin:somePluginId:somePluginOptionKey": "somePluginOptionValue",\n "plugin:somePluginId:someDirectoryRelatedOptionKey": "__codegen_dir__",\n },\n},\n\n')),(0,n.mdx)("p",{parentName:"li"},"Each plugin source path will be prefixed with ",(0,n.mdx)("inlineCode",{parentName:"p"},"-Xplugin=")," and passed as extra\narguments to the compiler. Plugin options will be appended after its plugin with ",(0,n.mdx)("inlineCode",{parentName:"p"},"-P"),"."),(0,n.mdx)("p",{parentName:"li"}," A specific example is, if you want to use ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/Kotlin/kotlinx.serialization"},"kotlinx.serialization"),"\nwith ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_library()"),", you need to specify ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlinx-serialization-compiler-plugin.jar")," under ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_compiler_plugins")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlinx-serialization-runtime.jar")," (which you may have to fetch from Maven) in your ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),":"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'\nkotlin_library(\n name = "example",\n srcs = glob(["*.kt"]),\n deps = [\n ":kotlinx-serialization-runtime",\n ],\n kotlin_compiler_plugins = {\n # Likely copied from your $KOTLIN_HOME directory.\n "kotlinx-serialization-compiler-plugin.jar": {},\n },\n)\n\nprebuilt_jar(\n name = "kotlinx-serialization-runtime",\n binary_jar = ":kotlinx-serialization-runtime-0.10.0",\n)\n\n# Note you probably want to set\n# maven_repo=http://jcenter.bintray.com/ in your .buckconfig until\n# https://github.com/Kotlin/kotlinx.serialization/issues/64\n# is closed.\nremote_file(\n name = "kotlinx-serialization-runtime-0.10.0",\n out = "kotlinx-serialization-runtime-0.10.0.jar",\n url = "mvn:org.jetbrains.kotlinx:kotlinx-serialization-runtime:jar:0.10.0",\n sha1 = "23d777a5282c1957c7ce35946374fff0adab114c"\n)\n\n'))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"labels"),": Set of arbitrary strings which allow you to annotate a ",(0,n.mdx)("inlineCode",{parentName:"p"},"build rule")," with tags that can be searched for over an entire dependency tree using ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query()")," .")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps"),": These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of ",(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps")," include the JEE servlet APIs. When this rule is included in a , the ",(0,n.mdx)("inlineCode",{parentName:"p"},"provided_deps")," will not be packaged into the output.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"remove_classes"),": Specifies a list of ",(0,n.mdx)("inlineCode",{parentName:"p"},"Patterns")," that are used to exclude ",(0,n.mdx)("inlineCode",{parentName:"p"},"classes")," from the ",(0,n.mdx)("inlineCode",{parentName:"p"},"JAR"),". The pattern matching is based on the name of the class. This can be used to exclude a member class or delete a local view of a class that will be replaced during a later stage of the build.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),": Static files to include with the compiled ",(0,n.mdx)("inlineCode",{parentName:"p"},".class")," files. These files can be loaded via ",(0,n.mdx)("a",{parentName:"p",href:"http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource(java.lang.String)"},"Class.getResource()"),"."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("strong",{parentName:"p"},"Note:")," If ",(0,n.mdx)("inlineCode",{parentName:"p"},"resources_root")," isn't set,\nBuck uses the ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"\nproperty in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")," to\ndetermine where resources should be placed within the generated JAR\nfile.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of ",(0,n.mdx)("inlineCode",{parentName:"p"},".kt"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},".java")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},".kts")," files to compile for this rule. If any of the files in this list end in ",(0,n.mdx)("inlineCode",{parentName:"p"},".src.zip"),", then the entries in the ZIP file that end in ",(0,n.mdx)("inlineCode",{parentName:"p"},".java")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},".kt")," will be included as ordinary inputs to compilation."))),(0,n.mdx)("h4",{id:"details-53"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that compiles a single .kt file.\nkotlin_library(\n name = 'JsonUtil',\n srcs = ['JsonUtil.kt'],\n deps = [\n '//third_party/guava:guava',\n '//third_party/jackson:jackson',\n ],\n)\n\n# A rule that compiles all of the .kt files under the directory in\n# which the rule is defined using glob(). It also excludes an\n# individual file that may have additional dependencies, so it is\n# compiled by a separate rule.\nkotlin_library(\n name = 'messenger',\n srcs = glob(['**/*.kt'], excludes = ['MessengerModule.kt']),\n deps = [\n '//src/com/facebook/base:base',\n '//third_party/guava:guava',\n ],\n)\n\nkotlin_library(\n name = 'MessengerModule',\n srcs = ['MessengerModule.kt'],\n deps = [\n '//src/com/facebook/base:base',\n '//src/com/google/inject:inject',\n '//third_party/guava:guava',\n '//third_party/jsr-330:jsr-330',\n ],\n)\n\n# A rule that builds a library with both relative and\n# fully-qualified deps.\nkotlin_library(\n name = 'testutil',\n srcs = glob(['tests/**/*.kt'], excludes = 'tests/**/*Test.kt'),\n deps = [\n ':lib-fb4a',\n '//java/com/facebook/base:base',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"kotlin_test"},"kotlin","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def kotlin_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _exec_os_type: str = _,\n _inject_test_env: str = _,\n _is_building_android_binary: bool = _,\n _java_test_toolchain: str = _,\n _java_toolchain: str = _,\n _kotlin_toolchain: str = _,\n _remote_test_execution_toolchain: str = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n abi_generation_mode: None | str = _,\n annotation_processing_tool: None | str = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n cxx_library_whitelist: list[str] = _,\n default_cxx_platform: None | str = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n env: dict[str, str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n extra_kotlinc_arguments: list[str] = _,\n fork_mode: str = _,\n friend_paths: list[str] = _,\n incremental: bool = _,\n java: None | str = _,\n java_agents: list[str] = _,\n java_version: None | str = _,\n javac: None | str = _,\n k2: bool = _,\n kotlin_compiler_plugins: dict[str, dict[str, str]] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,\n remote_execution_action_key_providers: None | str = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n run_test_separately: bool = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n std_err_log_level: None | int | str = _,\n std_out_log_level: None | int | str = _,\n target: None | str = _,\n test_case_timeout_ms: None | int = _,\n test_class_names_file: None | str = _,\n test_rule_timeout_ms: None | int = _,\n test_type: None | str = _,\n unbundled_resources_root: None | str = _,\n use_cxx_libraries: None | bool = _,\n use_dependency_order_classpath: None | bool = _,\n use_jvm_abi_gen: None | bool = _,\n vm_args: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_test()")," rule is used to define a set of ",(0,n.mdx)("inlineCode",{parentName:"p"},".kt")," files that contain tests to run via JUnit."),(0,n.mdx)("h4",{id:"parameters-93"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": Same as ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_library()"),". // org.junit.rules.Timeout was not introduced until 4.7. Must include JUnit (version 4.7 or later) as a dependency for JUnit tests. Must include TestNG (version 6.2 or later) and hamcrest as a dependencies for TestNG tests.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": A map of environment names and values to set when running the test.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"fork_mode"),": Controls whether tests will all be run in the same process or a process will be started for each set of tests in a class."),(0,n.mdx)("p",{parentName:"li"},"(This is mainly useful when porting Java tests to Buck from Apache Ant which\nallows JUnit tasks to set a ",(0,n.mdx)("inlineCode",{parentName:"p"},'fork="yes"')," property. It should not be\nused for new tests since it encourages tests to not cleanup after themselves and\nincreases the tests' computational resources and running time.)"),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"none"),"\nAll tests will run in the same process.\n",(0,n.mdx)("inlineCode",{parentName:"p"},"per_test"),"\nA process will be started for each test class in which all tests of that test class\nwill run.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"incremental"),": Enables Kotlin incremental compilation.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"k2"),": Enables the Kotlin K2 compiler.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"labels"),": A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., ",(0,n.mdx)("inlineCode",{parentName:"p"},"smoke")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"fast"),"). A label can be used to filter or include a specific test rule when executing ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck test"))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),": Same as ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_library()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": Like ",(0,n.mdx)("inlineCode",{parentName:"p"},"kotlin_library()"),", all of the ",(0,n.mdx)("inlineCode",{parentName:"p"},".kt")," files specified by the ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," argument will be compiled when this rule is built. In addition, all of the corresponding ",(0,n.mdx)("inlineCode",{parentName:"p"},".class")," files that are built by this rule will be passed as arguments to JUnit when this rule is run as a test. ",(0,n.mdx)("inlineCode",{parentName:"p"},".class")," files that are passed to JUnit that do not have any methods annotated with ",(0,n.mdx)("inlineCode",{parentName:"p"},"@Test")," are considered failed tests, so make sure that only test case classes are specified as ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),". This is frequently done by specifying ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs")," as ",(0,n.mdx)("inlineCode",{parentName:"p"},"glob(['**/*Test.kt'])"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"std_err_log_level"),": Same as ",(0,n.mdx)("inlineCode",{parentName:"p"},"std_out_log_level"),", but for std err.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"std_out_log_level"),": Log level for messages from the source under test that buck will output to std out. Value must be a valid ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.util.logging.Level")," value.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test_rule_timeout_ms"),": If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default ",(0,n.mdx)("inlineCode",{parentName:"p"},"rule_timeout")," if any has been specified in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")," .")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test_type"),": Specifies which test framework to use. The currently supported options are 'junit' and 'testng'.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"vm_args"),": Runtime arguments to the JVM running the tests."))),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"legacy_toolchain"},"legacy","_","toolchain"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def legacy_toolchain(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n toolchain_name: str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-94"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"llvm_link_bitcode"},"llvm","_","link","_","bitcode"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def llvm_link_bitcode(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n buck2_compatibility: str = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n srcs: list[str | (str, list[str])] = _\n) -> None\n")),(0,n.mdx)("p",null,"A llvm","_","link","_","bitcode() rule builds a LLVM bitcode object from a given set LLVM bitcode inputs."),(0,n.mdx)("h4",{id:"parameters-95"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps_query"),": Status: ",(0,n.mdx)("strong",{parentName:"p"},"experimental/unstable"),". The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"attrfilter")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"except")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"intersect")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"filter")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"kind")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"set")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"union"))),(0,n.mdx)("p",{parentName:"li"}," The macro ",(0,n.mdx)("inlineCode",{parentName:"p"},"$declared_deps")," may be used anywhere a target literal pattern is expected\nin order to refer to the explicit deps of this rule as they appear in the rule's definition.\nFor example, if your build rule declares"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},"\n android_library(\n name = 'lib',\n deps = ['//foo:foo'],\n deps_query = '$declared_deps',\n )\n")),(0,n.mdx)("p",{parentName:"li"}," then the macro ",(0,n.mdx)("inlineCode",{parentName:"p"},"$declared_deps")," would be expanded to a\nliteral ",(0,n.mdx)("inlineCode",{parentName:"p"},"set(//foo:foo)"),".\nSome example queries:"),(0,n.mdx)("pre",{parentName:"li"},(0,n.mdx)("code",{parentName:"pre"},'\n "filter({name_regex}, $declared_deps)".format(name_regex=\'//.*\')\n "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)"\n "deps(\'//foo:foo\', 1)"\n')),(0,n.mdx)("p",{parentName:"li"}," Note: any targets included in this query must also be present in ",(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the ",(0,n.mdx)("a",{parentName:"p",href:"https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html"},"GCC documentation")," for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"''"),") or a tuple of a string specifying a source file and a list of compilation flags (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},"('', ['-Wall', '-Werror'])")," ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable)."))),(0,n.mdx)("h4",{id:"details-54"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that builds and runs C/C++ test using gtest.\nllvm_link_bitcode(\n name = 'echo_test',\n srcs = [\n 'echo_test.o', // Where this is a LLVM bitcode object.\n 'echo_other.o', // And this is another LLVM bitcode object.\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"lua_binary"},"lua","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def lua_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n main_module: str = _,\n native_starter_library: None | str = _,\n package_style: None | str = _,\n platform: None | str = _,\n platform_deps: list[(str, list[str])] = _,\n python_platform: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"lua_library()")," rule is used to group together Lua sources to be packaged into a top-level ",(0,n.mdx)("inlineCode",{parentName:"p"},"lua_binary()")," rule."),(0,n.mdx)("h4",{id:"parameters-96"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": ",(0,n.mdx)("inlineCode",{parentName:"li"},"lua_library()")," rules to this binary will access."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"main_module"),": The module which serves as the entry point for this rule.")),(0,n.mdx)("h4",{id:"details-55"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nlua_binary(\n name = 'tailer',\n main_module = 'tailer',\n deps = [\n ':tailerutils',\n ],\n)\n\nlua_library(\n name = 'tailerutils',\n srcs = glob(['*.lua']),\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"lua_library"},"lua","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def lua_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n base_module: None | str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n platform_deps: list[(str, list[str])] = _,\n srcs: list[str] | dict[str, str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"lua_library()")," rule is used to group together Lua sources to be packaged into a top-level ",(0,n.mdx)("inlineCode",{parentName:"p"},"lua_binary()")," rule."),(0,n.mdx)("h4",{id:"parameters-97"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"base_module"),": The package for which the given specified sources and resources should reside in their final location in the top-level binary. If unset, the project relative directory that houses the BUCK file is used."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": Other ",(0,n.mdx)("inlineCode",{parentName:"li"},"lua_library()")," rules which list ",(0,n.mdx)("inlineCode",{parentName:"li"},"srcs")," from which this rule imports modules."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of ",(0,n.mdx)("inlineCode",{parentName:"li"},".lua")," files included in this library.")),(0,n.mdx)("h4",{id:"details-56"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that includes a single .py file.\nlua_library(\n name = 'fileutil',\n srcs = ['fileutil.lua'],\n)\n\n# A rule that uses glob() to include all sources in the directory which the\n# rule is defined. It also lists a resource file that gets packaged with\n# the sources in this rule.\nlua_library(\n name = 'testutil',\n srcs = glob(['testutil/**/*.lua'],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"matlab_program"},"matlab","_","program"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def matlab_program(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _matlab_toolchain: str = _,\n buck2_compatibility: str = _,\n main: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-98"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"ndk_library"},"ndk","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def ndk_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n flags: list[str] = _,\n is_asset: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n srcs: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"ndk_library()")," is used to define a set of C/C++ files, an ",(0,n.mdx)("inlineCode",{parentName:"p"},"Android.mk")," and an ",(0,n.mdx)("inlineCode",{parentName:"p"},"Application.mk")," file that are used by the NDK's ",(0,n.mdx)("inlineCode",{parentName:"p"},"ndk-build")," tool to generate one or more shared objects."),(0,n.mdx)("h4",{id:"parameters-99"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": List of build targets to build before this rule."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"flags"),": Array of strings passed verbatim to ",(0,n.mdx)("inlineCode",{parentName:"li"},"ndk-build"),". Normally this is not needed, but in some cases you may want to put something here. For example, this can be used to build the libraries in debug mode (",(0,n.mdx)("inlineCode",{parentName:"li"},"NDK_DEBUG=1"),") or set the number of jobs spawned by ",(0,n.mdx)("inlineCode",{parentName:"li"},"ndk-build")," (by default, the same as the number of cores)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"is_asset"),": Normally native shared objects end up in a directory in the root of the APK named ",(0,n.mdx)("inlineCode",{parentName:"li"},"lib/"),". If this parameter is set to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True"),", then these objects are placed in ",(0,n.mdx)("inlineCode",{parentName:"li"},"assets/lib/"),". Placing shared objects in a non-standard location prevents Android from extracting them to the device's internal storage."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of files to compile for this rule. If not provided, ",(0,n.mdx)("inlineCode",{parentName:"li"},"buck")," assumes that all files with the following extensions are part of the build: ",(0,n.mdx)("inlineCode",{parentName:"li"},"c, cpp, cc, cxx, h, hpp, mk"),".")),(0,n.mdx)("h4",{id:"details-57"},"Details"),(0,n.mdx)("p",null,"Additional notes:"),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_binary()")," that includes this library will\naggregate all of the native shared objects into a directory in the\nroot of the APK named ",(0,n.mdx)("inlineCode",{parentName:"p"},"lib/")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"assets/lib/"),"."),(0,n.mdx)("p",null,"Unlike the default invocation of ",(0,n.mdx)("inlineCode",{parentName:"p"},"ndk-build"),",\n",(0,n.mdx)("inlineCode",{parentName:"p"},"buck")," will put all intermediate files and build output\ninto a subdirectory under ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck-out/gen"),"."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"ndk_toolchain"},"ndk","_","toolchain"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def ndk_toolchain(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n cxx_runtime: None | str = _,\n cxx_toolchain: str,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n objdump: str,\n shared_runtime_path: None | str = _,\n strip_apk_libs_flags: None | list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-100"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"ocaml_binary"},"ocaml","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def ocaml_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _ocaml_toolchain: str = _,\n buck2_compatibility: str = _,\n bytecode_only: None | bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n linker_flags: list[str] = _,\n ocamldep_flags: list[str] = _,\n platform: None | str = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n srcs: None | list[str] | dict[str, str] = _,\n warnings_flags: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ocaml","_","binary() rule builds both native and bytecode executables from the supplied set of OCaml and C source files and dependencies."),(0,n.mdx)("h4",{id:"parameters-101"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": The set of additional compiler flags to pass to ocaml compiler. It supports specifying ppx (see ",(0,n.mdx)("a",{parentName:"li",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/ocaml/testdata/compiler_flag_macros/BUCK.fixture"},"for example"),")."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The set of dependencies of this rule. It could include references to ocaml","_","library and cxx","_","library rules."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_deps"),": Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as ",(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),") that are exported if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"deps")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of source files to be compiled by this rule. It supports ","*",".ml, ","*",".mli, ","*",".mly, ","*",".mll, and ","*",".c files. (see ",(0,n.mdx)("a",{parentName:"li",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/ocaml/testdata/ocaml/clib/BUCK.fixture"},"this test")," as C interop example and ",(0,n.mdx)("a",{parentName:"li",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/ocaml/testdata/ocaml/calc/BUCK.fixture"},"this test")," as parser and lexer example).")),(0,n.mdx)("h4",{id:"details-58"},"Details"),(0,n.mdx)("p",null,"Note: Buck is currently tested with 4.X OCaml series."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/ocaml/testdata/"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nocaml_binary(\n name='greet',\n srcs=[\n 'main.ml',\n 'lex.mll',\n 'parser.mly',\n 'hashtable.c',\n ],\n deps=[\n ':greeting',\n ':bridge',\n ],\n)\n\nocaml_library(\n name='greeting',\n srcs=[\n 'greeting.ml',\n ],\n deps=[\n ':join',\n ],\n)\n\nocaml_library(\n name='join',\n srcs=[\n 'join.ml',\n ],\n)\n\ncxx_library(\n name='bridge',\n srcs=[\n 'bridge.c',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"ocaml_library"},"ocaml","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def ocaml_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _ocaml_toolchain: str = _,\n buck2_compatibility: str = _,\n bytecode_only: bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n linker_flags: list[str] = _,\n native_plugin: bool = _,\n ocamldep_flags: list[str] = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n srcs: None | list[str] | dict[str, str] = _,\n warnings_flags: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ocaml","_","library() rule builds a native and a bytecode libraries from the supplied set of OCaml source files and dependencies."),(0,n.mdx)("h4",{id:"parameters-102"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),": The set of additional compiler flags to pass to ocaml compiler. It supports specifying ppx (see ",(0,n.mdx)("a",{parentName:"li",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/ocaml/testdata/compiler_flag_macros/BUCK.fixture"},"for example"),")."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The set of dependencies of this rule. It could include references to ocaml","_","library and cxx","_","library rules."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_deps"),": Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as ",(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),") that are exported if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"deps")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of source files to be compiled by this rule. It supports ","*",".ml, ","*",".mli, ","*",".mly, ","*",".mll, and ","*",".c files. (see ",(0,n.mdx)("a",{parentName:"li",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/ocaml/testdata/ocaml/clib/BUCK.fixture"},"this test")," as C interop example and ",(0,n.mdx)("a",{parentName:"li",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/ocaml/testdata/ocaml/calc/BUCK.fixture"},"this test")," as parser and lexer example).")),(0,n.mdx)("h4",{id:"details-59"},"Details"),(0,n.mdx)("p",null,"Note: Buck is currently tested with 4.X OCaml series."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/ocaml/testdata/"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nocaml_library(\n name='greeting',\n srcs=[\n 'greeting.ml',\n ],\n deps=[\n ':join',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"ocaml_object"},"ocaml","_","object"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def ocaml_object(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _ocaml_toolchain: str = _,\n buck2_compatibility: str = _,\n bytecode_only: None | bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n linker_flags: list[str] = _,\n ocamldep_flags: list[str] = _,\n platform: None | str = _,\n platform_deps: list[(str, list[str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n srcs: None | list[str] | dict[str, str] = _,\n warnings_flags: None | str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-103"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"ocaml_shared"},"ocaml","_","shared"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def ocaml_shared(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _ocaml_toolchain: str = _,\n buck2_compatibility: str = _,\n bytecode_only: None | bool = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n linker_flags: list[str] = _,\n ocamldep_flags: list[str] = _,\n platform: None | str = _,\n platform_deps: list[(str, list[str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n srcs: None | list[str] | dict[str, str] = _,\n warnings_flags: None | str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-104"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"platform"},"platform"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def platform(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n constraint_values: list[str] = _,\n deps: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-105"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"prebuilt_apple_framework"},"prebuilt","_","apple","_","framework"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def prebuilt_apple_framework(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _apple_toolchain: str = _,\n _apple_tools: str = _,\n _stripped_default: bool = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exported_linker_flags: list[str] = _,\n exported_platform_linker_flags: list[(str, list[str])] = _,\n framework: None | str = _,\n frameworks: list[str] = _,\n labels: list[str] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n preferred_linkage: str = _,\n stripped: None | bool = _,\n supported_platforms_regex: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_apple_framework()")," rule represents a set of Objective-C/C++ source files and is very similar to a ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_cxx_library()")," rule."),(0,n.mdx)("h4",{id:"parameters-106"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("h4",{id:"details-60"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_apple_framework(\n name = 'MyPrebuiltFramework',\n framework = 'myPrebuiltFramework.framework',\n preferred_linkage = 'static',\n visibility = [\n 'PUBLIC'\n ]\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"prebuilt_cxx_library"},"prebuilt","_","cxx","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def prebuilt_cxx_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _target_os_type: str = _,\n allow_cache_upload: None | bool = _,\n buck2_compatibility: str = _,\n can_be_asset: bool = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exported_deps: list[str] = _,\n exported_header_style: str = _,\n exported_headers: list[str] | dict[str, str] = _,\n exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n exported_lang_preprocessor_flags: dict[str, list[str]] = _,\n exported_linker_flags: list[str] = _,\n exported_platform_deps: list[(str, list[str])] = _,\n exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,\n exported_platform_linker_flags: list[(str, list[str])] = _,\n exported_platform_preprocessor_flags: list[(str, list[str])] = _,\n exported_post_linker_flags: list[str] = _,\n exported_post_platform_linker_flags: list[(str, list[str])] = _,\n exported_preprocessor_flags: list[str] = _,\n extract_soname: bool = _,\n force_static: bool = _,\n frameworks: list[str] = _,\n header_dirs: None | list[str] = _,\n header_namespace: None | str = _,\n header_only: bool = _,\n import_lib: None | str = _,\n include_in_android_merge_map_output: bool = _,\n labels: list[str] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_whole: bool = _,\n link_without_soname: bool = _,\n linker_flags: list[str] = _,\n local_linker_flags: list[str] = _,\n platform_header_dirs: None | list[(str, list[str])] = _,\n platform_import_lib: None | list[(str, str)] = _,\n platform_shared_lib: None | list[(str, str)] = _,\n platform_static_lib: None | list[(str, str)] = _,\n platform_static_pic_lib: None | list[(str, str)] = _,\n post_linker_flags: list[str] = _,\n preferred_linkage: str = _,\n provided: bool = _,\n public_include_directories: list[str] = _,\n public_system_include_directories: list[str] = _,\n raw_headers: list[str] = _,\n shared_lib: None | str = _,\n soname: None | str = _,\n static_lib: None | str = _,\n static_pic_lib: None | str = _,\n supported_platforms_regex: None | str = _,\n supports_merged_linking: None | bool = _,\n supports_python_dlopen: bool = _,\n supports_shared_library_interface: bool = _,\n versioned_exported_lang_platform_preprocessor_flags: list[(dict[str, str], dict[str, list[(str, list[str])]])] = _,\n versioned_exported_lang_preprocessor_flags: list[(dict[str, str], dict[str, list[str]])] = _,\n versioned_exported_platform_preprocessor_flags: list[(dict[str, str], list[(str, list[str])])] = _,\n versioned_exported_preprocessor_flags: list[(dict[str, str], list[str])] = _,\n versioned_header_dirs: None | list[(dict[str, str], list[str])] = _,\n versioned_import_lib: None | list[(dict[str, str], str)] = _,\n versioned_shared_lib: None | list[(dict[str, str], str)] = _,\n versioned_soname: None | list[(dict[str, str], str)] = _,\n versioned_static_lib: None | list[(dict[str, str], str)] = _,\n versioned_static_pic_lib: None | list[(dict[str, str], str)] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_cxx_library()")," rule represents a set of native libraries and C/C++ header files and provides various flags to control how they are linked and exported."),(0,n.mdx)("h4",{id:"parameters-107"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"allow_cache_upload"),": Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exported_deps"),": Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: ",(0,n.mdx)("em",{parentName:"li"}," Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. ")," When ",(0,n.mdx)("inlineCode",{parentName:"li"},"reexport_all_header_dependencies = False"),", only exported headers of the rules specified here are re-exported."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exported_headers"),": The set of header files that are made available for inclusion to the source files in the target and all targets that transitively depend on it. These should be specified as either a list of header files or a dictionary of header names to header files. The headers can be included with ",(0,n.mdx)("inlineCode",{parentName:"li"},'#include "$HEADER_NAMESPACE/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"#include <$HEADER_NAMESPACE/$HEADER_NAME>"),", where ",(0,n.mdx)("inlineCode",{parentName:"li"},"$HEADER_NAMESPACE")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"li"},"$HEADER_NAME")," is the header name if specified, and the filename of the header file otherwise. Note that the header name can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"li"},"/"),"). See ",(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exported_linker_flags"),": Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exported_platform_deps"),": Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as ",(0,n.mdx)("inlineCode",{parentName:"li"},"exported_deps"),") that are exported if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"exported_deps")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exported_platform_headers"),": Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target and all targets that transitively depend on it if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"headers")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exported_platform_preprocessor_flags"),": Platform specific exported preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the source files in the target and all targets that transitively depend on it if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"exported_preprocessor_flags")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace"),": A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"li"},"/"),"), but cannot start with one. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"headers")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"header_only"),": Indicates if this library only consists of headers or not. If this is set to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True"),", Buck will not link this library into any library that depends on it."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"local_linker_flags"),": Flags to add to the linker command line whenever the output from this rule is used in a link operation ",(0,n.mdx)("em",{parentName:"li"},"driven by this rule")," (e.g. when this rule links a shared library, but ",(0,n.mdx)("em",{parentName:"li"},"not")," when the output is linked into a shared library by another rule's link group links)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_shared_lib"),": Platform specific shared library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"shared_lib")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_static_lib"),": Platform specific static library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_lib")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_static_pic_lib"),": Platform specific static PIC library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic_lib")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"preferred_linkage"),": Determines what linkage is used when the library is depended on by another target. To control how the dependencies of this library are linked, use ",(0,n.mdx)("inlineCode",{parentName:"li"},"link_style")," instead."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"shared_lib"),": The path to the library to use when performing shared linking."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"static_lib"),": The path to the library to use when performing static linking."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic_lib"),": The path to the library to use when performing static PIC linking."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"supported_platforms_regex"),": If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"supports_merged_linking"),": Whether this rule supports building with the merged linking strategy when building for non-native binaries (e.g. when using ",(0,n.mdx)("inlineCode",{parentName:"li"},".buckconfig")," s ",(0,n.mdx)("inlineCode",{parentName:"li"},"merged")," setting).")),(0,n.mdx)("h4",{id:"details-61"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"A prebuilt library containing only headers that other libraries may need."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_cxx_library(\n name = 'stdutil',\n header_only = True,\n header_dirs = [\n 'include',\n ],\n)\n\n")),(0,n.mdx)("p",null," A prebuilt library with static and shared libs."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_cxx_library(\n name = 'mylib',\n soname = 'libmylib.so',\n static_lib = 'libmylib.a',\n static_pic_lib = 'libmylib_pic.a',\n shared_lib = 'libmylib.so',\n exported_headers = [\n 'mylib.h',\n ],\n)\n\n")),(0,n.mdx)("p",null," A prebuilt library with multiple builds for multiple platforms."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_cxx_library(\n name = 'mylib',\n soname = 'libmylib.so',\n platform_shared_lib = [\n ('android-arm', 'android-arm/libmylib.so'),\n ('android-x86', 'android-x86/libmylib.so'),\n ('iphonesimulator-x86_64', 'iphonesimulator-x86_64/libmylib.so'),\n ],\n platform_static_lib = [\n ('android-arm', 'android-arm/libmylib.a'),\n ('android-x86', 'android-x86/libmylib.a'),\n ('iphonesimulator-x86_64', 'iphonesimulator-x86_64/libmylib.a'),\n ],\n exported_headers = [\n 'mylib.h',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"prebuilt_cxx_library_group"},"prebuilt","_","cxx","_","library","_","group"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def prebuilt_cxx_library_group(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exported_deps: list[str] = _,\n exported_platform_deps: list[(str, list[str])] = _,\n exported_preprocessor_flags: list[str] = _,\n import_libs: dict[str, str] = _,\n include_dirs: list[str] = _,\n include_in_android_merge_map_output: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n provided_shared_libs: dict[str, str] = _,\n shared_libs: dict[str, str] = _,\n shared_link: list[str] = _,\n static_libs: list[str] = _,\n static_link: list[str] = _,\n static_pic_libs: list[str] = _,\n static_pic_link: list[str] = _,\n supported_platforms_regex: None | str = _,\n supports_shared_library_interface: bool = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_cxx_library_group()")," rule represents a group of native libraries which should be handled together in a single rule, perhaps using special link-line construction."),(0,n.mdx)("h4",{id:"parameters-108"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exported_deps"),": Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: ",(0,n.mdx)("em",{parentName:"li"}," Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. ")," When ",(0,n.mdx)("inlineCode",{parentName:"li"},"reexport_all_header_dependencies = False"),", only exported headers of the rules specified here are re-exported."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exported_platform_deps"),": Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as ",(0,n.mdx)("inlineCode",{parentName:"li"},"exported_deps"),") that are exported if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"exported_deps")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"provided_shared_libs"),": The map of system-provided shared library names to paths used when using the shared link style. The ",(0,n.mdx)("inlineCode",{parentName:"li"},"shared_link")," parameter should refer to these libs using their library name."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"shared_libs"),": The map of shared library names to paths used when using the shared link style. The ",(0,n.mdx)("inlineCode",{parentName:"li"},"shared_link")," parameter should refer to these libs using their library name."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"shared_link"),": The arguments to use when linking this library group using the shared link style. The actual paths to libraries should be listed in the ",(0,n.mdx)("inlineCode",{parentName:"li"},"shared_libs")," parameter, and referenced via the the ",(0,n.mdx)("inlineCode",{parentName:"li"},"$(lib [name])")," macro (or the ",(0,n.mdx)("inlineCode",{parentName:"li"},"$(rel-lib [name])")," macro, when the shared library should be linked using the ",(0,n.mdx)("inlineCode",{parentName:"li"},"-L[dir] -l[name]")," style) in these args."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"static_libs"),": The paths to the libraries used when using the static link style. The ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_link")," parameter should refer to these libs using their index number."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"static_link"),": The arguments to use when linking this library group using the static link style. The actual paths to libraries should be listed in the ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_libs")," parameter, and referenced via the the ",(0,n.mdx)("inlineCode",{parentName:"li"},"$(lib [index])")," macro in these args."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic_libs"),": The paths to the libraries used when using the static link style. The ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic_link")," parameter should refer to these libs using their index number."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic_link"),": The arguments to use when linking this library group using the static-pic link style. The actual paths to libraries should be listed in the ",(0,n.mdx)("inlineCode",{parentName:"li"},"static_pic_libs")," parameter, and referenced via the the ",(0,n.mdx)("inlineCode",{parentName:"li"},"$(lib [index])")," macro in these args.")),(0,n.mdx)("h4",{id:"details-62"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"A prebuilt library group wrapping two libraries that must be linked together."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_cxx_library_group(\n name = 'util',\n static_link = [\n '-Wl,--start-group',\n '$(lib 0)',\n '$(lib 1)',\n '-Wl,--end-group',\n ],\n static_libs = [\n 'lib/liba.a',\n 'lib/libb.a',\n ],\n static_pic_link = [\n '-Wl,--start-group',\n '$(lib 0)',\n '$(lib 1)',\n '-Wl,--end-group',\n ],\n static_libs = [\n 'lib/liba_pic.a',\n 'lib/libb_pic.a',\n ],\n shared_link = [\n '$(rel-lib liba.so)',\n '$(rel-lib libb.so)',\n ],\n shared_libs = {\n 'liba.so': 'lib/liba.so',\n },\n provided_shared_libs = {\n 'libb.so': 'lib/libb.so',\n },\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"prebuilt_dotnet_library"},"prebuilt","_","dotnet","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def prebuilt_dotnet_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n assembly: str,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_dotnet_library()")," rule is used to include prebuilt .Net assembles into your .Net code."),(0,n.mdx)("h4",{id:"parameters-109"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"assembly"),": The path to the DLL that this rule provides.")),(0,n.mdx)("h4",{id:"details-63"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_dotnet_library(\n name = 'log4net',\n assembly = 'log4net.dll',\n)\n\ncsharp_library(\n name = 'example',\n srcs = [\n 'Hello.cs',\n ],\n framework_ver = 'net46',\n deps = [\n ':log4net',\n 'System.dll',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"prebuilt_go_library"},"prebuilt","_","go","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def prebuilt_go_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exported_deps: list[str] = _,\n labels: list[str] = _,\n library: str,\n licenses: list[str] = _,\n package_name: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A prebuilt","_","go","_","library() rule provides a native library from the specified file."),(0,n.mdx)("h4",{id:"parameters-110"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": The set of dependencies of this rule. Currently, this only supports go","_","library rules."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"library"),": Path to the precompiled Go library - typically of the form 'foo.a'."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"package_name"),': Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b")')),(0,n.mdx)("h4",{id:"details-64"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/features/go/testdata"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_go_library(\n name='greeting',\n package_name='greeting',\n library='greeting.a',\n deps=[\n ':join',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"prebuilt_jar"},"prebuilt","_","jar"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def prebuilt_jar(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _dex_min_sdk_version: None | int = _,\n _dex_toolchain: str = _,\n _exec_os_type: str = _,\n _prebuilt_jar_toolchain: str = _,\n binary_jar: str,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n desugar_deps: list[str] = _,\n generate_abi: bool = _,\n javadoc_url: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: bool = _,\n required_for_source_only_abi: bool = _,\n source_jar: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_jar()")," rule is used to identify a JAR file that is checked into our repository as a precompiled binary rather than one that is built from source by Buck. Frequently, these are used to reference third-party JAR files (such as junit.jar) and are used as dependencies of ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_library()")," rules."),(0,n.mdx)("h4",{id:"parameters-111"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"binary_jar"),": Path to the pre-built JAR file."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": Rules that must be built before this rule. Because the ",(0,n.mdx)("inlineCode",{parentName:"li"},"binary_jar")," is already built, there should be nothing to build, so this should be empty."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"javadoc_url"),": URL to the Javadoc for the ",(0,n.mdx)("inlineCode",{parentName:"li"},".class")," files in the ",(0,n.mdx)("inlineCode",{parentName:"li"},"binary_jar"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"source_jar"),": Path to a JAR file that contains the ",(0,n.mdx)("inlineCode",{parentName:"li"},".java")," files to create the ",(0,n.mdx)("inlineCode",{parentName:"li"},".class")," in the ",(0,n.mdx)("inlineCode",{parentName:"li"},"binary_jar"),". This is frequently provided for debugging purposes.")),(0,n.mdx)("h4",{id:"details-65"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_jar(\n name = 'junit',\n binary_jar = 'junit-4.8.2.jar',\n source_jar = 'junit-4.8.2-sources.jar',\n javadoc_url = 'http://kentbeck.github.com/junit/javadoc/4.8/',\n)\n\njava_library(\n name = 'tests',\n srcs = glob(['tests/**/*Test.java']),\n deps = [\n ':junit',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"prebuilt_native_library"},"prebuilt","_","native","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def prebuilt_native_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n has_wrap_script: bool = _,\n is_asset: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n native_libs: str\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_native_library()")," rule is used to bundle native libraries (i.e., ",(0,n.mdx)("inlineCode",{parentName:"p"},".so")," files) for Android."),(0,n.mdx)("h4",{id:"parameters-112"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"has_wrap_script"),": When using an exopackage, if this parameter is set to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True"),", then the libraries for this rule are included in the primary APK even if native libraries would otherwise not be placed in it. This is intended for a native library directory that contains a ",(0,n.mdx)("a",{parentName:"li",href:"https://developer.android.com/ndk/guides/wrap-script"},"wrap.sh")," script, which must be included in the primary APK to take effect. Only one of ",(0,n.mdx)("inlineCode",{parentName:"li"},"is_asset")," and ",(0,n.mdx)("inlineCode",{parentName:"li"},"has_wrap_script")," can be set for a rule."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"is_asset"),": Normally native shared objects end up in a directory in the root of the APK named ",(0,n.mdx)("inlineCode",{parentName:"li"},"lib/"),". If this parameter is set to ",(0,n.mdx)("inlineCode",{parentName:"li"},"True"),", then these objects are placed in ",(0,n.mdx)("inlineCode",{parentName:"li"},"assets/lib/"),". Placing shared objects in a non-standard location prevents Android from extracting them to the device's internal storage.")),(0,n.mdx)("h4",{id:"details-66"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Most of the time, a ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_native_library")," is private to the ",(0,n.mdx)("inlineCode",{parentName:"p"},"android_library()")," that uses it:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_native_library(\n name = 'native_libs',\n native_libs = 'libs',\n)\n\nandroid_library(\n name = 'my_lib',\n srcs = glob(['*.java']),\n deps = [\n ':native_libs',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"prebuilt_ocaml_library"},"prebuilt","_","ocaml","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def prebuilt_ocaml_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n bytecode_c_libs: list[str] = _,\n bytecode_lib: None | str = _,\n bytecode_only: bool = _,\n c_libs: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n include_dir: None | str = _,\n labels: list[str] = _,\n lib_dir: str = _,\n lib_name: str = _,\n licenses: list[str] = _,\n native_c_libs: list[str] = _,\n native_lib: None | str = _,\n platform_deps: list[(str, list[str])] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-113"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"prebuilt_python_library"},"prebuilt","_","python","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def prebuilt_python_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _create_manifest_for_source_dir: str = _,\n _create_third_party_build_root: str = _,\n _extract: str = _,\n _python_toolchain: str = _,\n binary_src: str,\n buck2_compatibility: str = _,\n compile: bool = _,\n contacts: list[str] = _,\n cxx_header_dirs: None | list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exclude_deps_from_merged_linking: bool = _,\n ignore_compile_errors: bool = _,\n infer_cxx_header_dirs: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n strip_soabi_tags: bool = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_python_library()")," rule is used to include prebuilt python packages into the output of a top-level ",(0,n.mdx)("inlineCode",{parentName:"p"},"python_binary()")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"python_test()")," rule."),(0,n.mdx)("h4",{id:"parameters-114"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"binary_src"),": The path to the ",(0,n.mdx)("inlineCode",{parentName:"p"},".whl")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},".egg")," to use."),(0,n.mdx)("p",{parentName:"li"},"Note: ",(0,n.mdx)("inlineCode",{parentName:"p"},".egg")," files have a very particular naming convention\nthat must be followed - otherwise it will not be found at runtime!")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": Other ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_python_library()")," rules which this library depends on. These may also be ",(0,n.mdx)("inlineCode",{parentName:"p"},"python_library")," rules if you want to depend on a source-based copy of the library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exclude_deps_from_merged_linking"),": When linking the top-level binary with a ",(0,n.mdx)("inlineCode",{parentName:"p"},"merged")," ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),", do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"labels"),": Set of arbitrary strings which allow you to annotate a ",(0,n.mdx)("inlineCode",{parentName:"p"},"build rule")," with tags that can be searched for over an entire dependency tree using ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query()")," .")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"strip_soabi_tags"),": Strip the SOABI tags from extensions in the prebuilt library."),(0,n.mdx)("p",{parentName:"li"},"Note that this should be considered unsafe, as it removes builtin\nprotections that fail fast when a potententially incompatible\nnative extension is imported."))),(0,n.mdx)("h4",{id:"details-67"},"Details"),(0,n.mdx)("p",null,"These prebuilt libraries can either be ",(0,n.mdx)("a",{parentName:"p",href:"https://www.python.org/dev/peps/pep-0427/"},"whl files")," or eggs"),(0,n.mdx)("p",null,"whls for most packages are available for download from ",(0,n.mdx)("a",{parentName:"p",href:"https://pypi.org"},"PyPI"),". The whl used may be\ndownloaded with ",(0,n.mdx)("inlineCode",{parentName:"p"},"remote_file()"),". However, Buck does not attempt to infer dependency information from pip,\nso that information will have to be imparted by the user."),(0,n.mdx)("p",null,"To create an egg for a package, run ",(0,n.mdx)("inlineCode",{parentName:"p"},"python setup.py bdist_egg")," in the package source distribution."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n# A simple prebuilt_python_library with no external dependencies.\nremote_file(\n name = "requests-download",\n url = "https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl",\n sha1 = "e1fc28120002395fe1f2da9aacea4e15a449d9ee",\n out = "requests-2.22.0-py2.py3-none-any.whl",\n)\n\nprebuilt_python_library(\n name = "requests",\n binary_src = ":requests-download",\n)\n\n# A slightly more complex example\nprebuilt_python_library(\n name = "greenlet",\n binary_src = "greenlet-0.4.7-py2.7-macosx-10.10-x86_64.egg",\n)\n\nprebuilt_python_library(\n name = "gevent",\n binary_src = "gevent-1.0.2-py2.7-macosx-10.10-x86_64.egg",\n deps = [\n ":greenlet",\n ],\n)\n\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"python_binary"},"python","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def python_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _create_manifest_for_source_dir: str = _,\n _cxx_hacks: str = _,\n _cxx_toolchain: str = _,\n _exec_os_type: str = _,\n _package_remotely: bool = _,\n _python_toolchain: str = _,\n _target_os_type: str = _,\n allow_cache_upload: None | bool = _,\n anonymous_link_groups: bool = _,\n auto_link_groups: bool = _,\n base_module: None | str = _,\n binary_linker_flags: list[str] = _,\n bolt_flags: list[str] = _,\n bolt_profile: None | str = _,\n buck2_compatibility: str = _,\n build_args: list[str] = _,\n compile: None | bool = _,\n compiler_flags: list[str] = _,\n constraint_overrides: list[str] = _,\n contacts: list[str] = _,\n coverage_instrumentation_compiler_flags: list[str] = _,\n cxx_main: str = _,\n cxx_platform: None | str = _,\n cxx_runtime_type: None | str = _,\n deduplicate_merged_link_roots: None | bool = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n devirt_enabled: bool = _,\n distributed_thinlto_partial_split_dwarf: bool = _,\n dummy_omnibus: None | str = _,\n enable_distributed_thinlto: bool = _,\n executable_deps: list[str] = _,\n executable_name: None | str = _,\n exported_needs_coverage_instrumentation: bool = _,\n extension: None | str = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n frameworks: list[str] = _,\n header_namespace: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n include_directories: list[str] = _,\n inplace_build_args: list[str] = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_deps_query_whole: bool = _,\n link_execution_preference: None | str = _,\n link_group: None | str = _,\n link_group_deps: list[str] = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_group_min_binary_node_count: None | int = _,\n link_group_public_deps_label: None | str = _,\n link_ordering: None | str = _,\n link_style: str = _,\n link_whole: bool = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n main: None | str = _,\n main_function: None | str = _,\n main_module: None | str = _,\n make_py_package: None | str = _,\n manifest_module_entries: None | dict[str, list[str] | dict[str, typing.Any]] = _,\n native_link_strategy: None | str = _,\n package_split_dwarf_dwp: bool = _,\n package_style: None | str = _,\n par_style: None | str = _,\n platform: None | str = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preload_deps: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n prefer_stripped_native_objects: bool = _,\n prefer_stripped_objects: bool = _,\n prefix_header: None | str = _,\n preload_deps: list[str] = _,\n preprocessor_flags: list[str] = _,\n py_version_for_type_checking: None | str = _,\n raw_headers: list[str] = _,\n repl_main: None | str = _,\n repl_only_deps: list[str] = _,\n resources: list[str] | dict[str, str] = _,\n run_with_inplace: bool = _,\n runtime_env: None | dict[str, str] = _,\n standalone_build_args: list[str] = _,\n static_extension_finder: str = _,\n static_extension_utils: str = _,\n strip_libpar: str = _,\n strip_stapsdt: bool = _,\n thin_lto: bool = _,\n typing: bool = _,\n version_universe: None | str = _,\n weak_framework_names: list[str] = _,\n zip_safe: None | bool = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"python_binary()")," rule is used to build an executable Python package that includes Python sources and resources from all transitive dependencies."),(0,n.mdx)("h4",{id:"parameters-115"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"allow_cache_upload"),": Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it)."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"base_module"),": The package in which the main module should reside in its final location in the binary. If unset, Buck uses the project-relative directory that contains the BUCK file."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deduplicate_merged_link_roots"),": When linking multiple top-level binaries with the ",(0,n.mdx)("inlineCode",{parentName:"li"},"merged")," ",(0,n.mdx)("inlineCode",{parentName:"li"},".buckconfig"),", coalesce root link rules which are identical across independent merged links."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": A list of ",(0,n.mdx)("inlineCode",{parentName:"li"},"python_library()")," rules that specify Python modules to include in the binary \u2014 including all transitive dependencies of these rules."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"labels"),": Set of arbitrary strings which allow you to annotate a ",(0,n.mdx)("inlineCode",{parentName:"li"},"build rule")," with tags that can be searched for over an entire dependency tree using ",(0,n.mdx)("inlineCode",{parentName:"li"},"buck query()")," ."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_group_deps"),": Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"link_group_public_deps_label"),': Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.'),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"linker_flags"),": Additional linker flags that should be applied to any linking which is specific to this rule. Note that whether these flags are used is dependent on the native link strategy selected in ",(0,n.mdx)("inlineCode",{parentName:"li"},".buckconfig")," and currently applies only to the merged ",(0,n.mdx)("inlineCode",{parentName:"li"},".buckconfig"),"; the ",(0,n.mdx)("inlineCode",{parentName:"li"},"separate")," link strategy pulls in shared libraries that are linked in the context of the rules that own them, such as ",(0,n.mdx)("inlineCode",{parentName:"li"},"cxx_library()"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"main"),": The Python file which serves as the entry point for the binary. The interpreter initiates execution of the binary with the code in this file."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"main_function"),": Name of a Python function that will serve as the main entry point of the binary. The name is either a fully qualified name like ",(0,n.mdx)("inlineCode",{parentName:"li"},"foo.bar.baz")," or it starts with a ",(0,n.mdx)("inlineCode",{parentName:"li"},".")," like ",(0,n.mdx)("inlineCode",{parentName:"li"},".bar.baz"),", in which case it is relative to the package containing the target. This should usually be a function defined within one of the dependencies of this target. This attribute should be preferred over ",(0,n.mdx)("inlineCode",{parentName:"li"},"main_module")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"main"),", and it is an error to specify more than one of these."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"main_module"),": The python module that should be the entry point of the binary. This should be a module name within a ",(0,n.mdx)("inlineCode",{parentName:"li"},"python_library")," that this binary depends on. Note that module names take ",(0,n.mdx)("inlineCode",{parentName:"li"},"base_module")," of the library into account. This property is mutually exclusive with ",(0,n.mdx)("inlineCode",{parentName:"li"},"main"),", and should be preferred to ",(0,n.mdx)("inlineCode",{parentName:"li"},"main"),", which is deprecated."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"manifest_module_entries"),": If present, it should be a ",(0,n.mdx)("inlineCode",{parentName:"li"},"string")," -> ",(0,n.mdx)("inlineCode",{parentName:"li"},"entry")," mapping that gets generated into a ",(0,n.mdx)("inlineCode",{parentName:"li"},"__manifest__")," module in the executable. Top level string keys will be the names of variables in this module (so they must be valid Python identifiers). An ",(0,n.mdx)("inlineCode",{parentName:"li"},"entry")," can be a list of ",(0,n.mdx)("inlineCode",{parentName:"li"},"string"),"s, or a further ",(0,n.mdx)("inlineCode",{parentName:"li"},"string"),"-keyed dictionary."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"package_style"),": Used to override the global packaging style that is set in ",(0,n.mdx)("inlineCode",{parentName:"li"},"["),".buckconfig",(0,n.mdx)("inlineCode",{parentName:"li"}," ]"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform"),": The name of the Python platform ",(0,n.mdx)("em",{parentName:"li"},"flavor")," to build against by default as defined in the buckconfig#",(0,n.mdx)("inlineCode",{parentName:"li"},"python"),"section of ",(0,n.mdx)("inlineCode",{parentName:"li"},".buckconfig"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"preload_deps"),": A list of C/C++ library dependencies that need to be loaded before any other libraries when the PEX starts up. This requires dynamic loader support, such as ",(0,n.mdx)("inlineCode",{parentName:"li"},"LD_PRELOAD"),", found on most systems. This list is order- sensitive and the preload libraries listed here are passed down to the dynamic linker in the same order."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"py_version_for_type_checking"),": This option will force the type checker to perform checking under a specific version of Python interpreter."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"typing"),": Determines whether to perform type checking on the given target. Default is False.")),(0,n.mdx)("h4",{id:"details-68"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Build an executable from the Python files in the BUCK directory."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# BUCK\n\npython_binary(\n name = 'tailer',\n main_module = 'tailer',\n deps = [\n ':tailerutils',\n ],\n)\n\npython_library(\n name = 'tailerutils',\n # The main module, tailer.py, is specified here.\n # (Separated out from the glob pattern for clarity.)\n srcs = glob(['tailer.py', '*.py']),\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"python_bootstrap_binary"},"python","_","bootstrap","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def python_bootstrap_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _exec_os_type: str = _,\n _python_bootstrap_toolchain: str = _,\n _win_python_wrapper: None | str = _,\n buck2_compatibility: str = _,\n deps: list[str] = _,\n main: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-116"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"python_bootstrap_library"},"python","_","bootstrap","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def python_bootstrap_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n deps: list[str] = _,\n srcs: list[str]\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-117"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"python_library"},"python","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def python_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _create_manifest_for_source_dir: str = _,\n _create_third_party_build_root: str = _,\n _cxx_toolchain: str = _,\n _python_toolchain: str = _,\n base_module: None | str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n cxx_platform: None | str = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exclude_deps_from_merged_linking: bool = _,\n ignore_compile_errors: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n platform: None | str = _,\n platform_deps: list[(str, list[str])] = _,\n platform_resources: list[(str, list[str] | dict[str, str])] = _,\n platform_srcs: list[(str, list[str] | dict[str, str])] = _,\n py_version_for_type_checking: None | str = _,\n resources: list[str] | dict[str, str] = _,\n srcs: list[str] | dict[str, str] = _,\n type_stubs: list[str] | dict[str, str] = _,\n typing: bool = _,\n version_universe: None | str = _,\n versioned_resources: None | list[(dict[str, str], list[str] | dict[str, str])] = _,\n versioned_srcs: None | list[(dict[str, str], list[str] | dict[str, str])] = _,\n zip_safe: None | bool = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"python_library()")," rule is used to group together Python source files and resources to be passed together in as a ",(0,n.mdx)("inlineCode",{parentName:"p"},"dep")," of other rules."),(0,n.mdx)("h4",{id:"parameters-118"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"base_module"),": The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"deps"),": Other ",(0,n.mdx)("inlineCode",{parentName:"li"},"python_library()")," rules that list ",(0,n.mdx)("inlineCode",{parentName:"li"},"srcs")," from which this rule imports modules."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exclude_deps_from_merged_linking"),": When linking the top-level binary with a ",(0,n.mdx)("inlineCode",{parentName:"li"},"merged")," ",(0,n.mdx)("inlineCode",{parentName:"li"},".buckconfig"),", do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"labels"),": Set of arbitrary strings which allow you to annotate a ",(0,n.mdx)("inlineCode",{parentName:"li"},"build rule")," with tags that can be searched for over an entire dependency tree using ",(0,n.mdx)("inlineCode",{parentName:"li"},"buck query()")," ."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_resources"),": Python-platform-specific resource files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of resource files. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"li"},"java.util.regex.Pattern")," syntax. The platform name is a Python platform ",(0,n.mdx)("em",{parentName:"li"},"flavor")," defined in the buckconfig#",(0,n.mdx)("inlineCode",{parentName:"li"},"python "),"section of ",(0,n.mdx)("inlineCode",{parentName:"li"},".buckconfig"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_srcs"),": Python-platform-specific source files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of source files. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"li"},"java.util.regex.Pattern")," syntax. The platform name is a Python platform ",(0,n.mdx)("em",{parentName:"li"},"flavor")," defined in the buckconfig#",(0,n.mdx)("inlineCode",{parentName:"li"},"python")," section of ",(0,n.mdx)("inlineCode",{parentName:"li"},".buckconfig"),"."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"py_version_for_type_checking"),": This option will force the type checker to perform checking under a specific version of Python interpreter."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of Python (",(0,n.mdx)("inlineCode",{parentName:"li"},".py"),") files to include in this library."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"typing"),": Determines whether to perform type checking on the given target. Default is False.")),(0,n.mdx)("h4",{id:"details-69"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Include Python source files and resource files."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# BUCK\n\n# A rule that includes a single Python file.\npython_library(\n name = 'fileutil',\n srcs = ['fileutil.py'],\n deps = [\n '//third_party/python-magic:python-magic',\n ],\n)\n\n# A rule that uses glob() to include all Python source files in the\n# directory in which the rule is defined. The rule also specifies a\n# resource file that gets packaged with the source file.\npython_library(\n name = 'testutil',\n srcs = glob(['testutil/**/*.py']),\n resources = [\n 'testdata.dat',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"python_needed_coverage_test"},"python","_","needed","_","coverage","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def python_needed_coverage_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _inject_test_env: str = _,\n _remote_test_execution_toolchain: str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n env: dict[str, str] = _,\n labels: list[str] = _,\n needed_coverage: list[(int, str, None | str)] = _,\n remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,\n remote_execution_action_key_providers: None | str = _,\n test: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-119"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"python_test"},"python","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def python_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _create_manifest_for_source_dir: str = _,\n _cxx_hacks: str = _,\n _cxx_toolchain: str = _,\n _exec_os_type: str = _,\n _inject_test_env: str = _,\n _python_toolchain: str = _,\n _remote_test_execution_toolchain: str = _,\n _target_os_type: str = _,\n _test_main: str = _,\n additional_coverage_targets: list[str] = _,\n anonymous_link_groups: bool = _,\n auto_link_groups: bool = _,\n base_module: None | str = _,\n binary_linker_flags: list[str] = _,\n bolt_flags: list[str] = _,\n bolt_profile: None | str = _,\n buck2_compatibility: str = _,\n build_args: list[str] = _,\n compile: None | bool = _,\n compiler_flags: list[str] = _,\n constraint_overrides: list[str] = _,\n contacts: list[str] = _,\n coverage_instrumentation_compiler_flags: list[str] = _,\n cxx_main: str = _,\n cxx_platform: None | str = _,\n cxx_runtime_type: None | str = _,\n deduplicate_merged_link_roots: None | bool = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n defaults: dict[str, str] = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n devirt_enabled: bool = _,\n distributed_thinlto_partial_split_dwarf: bool = _,\n dummy_omnibus: None | str = _,\n enable_distributed_thinlto: bool = _,\n env: dict[str, str] = _,\n exclude_deps_from_merged_linking: bool = _,\n executable_deps: list[str] = _,\n executable_name: None | str = _,\n exported_needs_coverage_instrumentation: bool = _,\n extension: None | str = _,\n fat_lto: bool = _,\n focused_list_target: None | str = _,\n frameworks: list[str] = _,\n header_namespace: None | str = _,\n headers: list[str] | dict[str, str] = _,\n headers_as_raw_headers_mode: None | str = _,\n implicit_test_library: None | str = _,\n include_directories: list[str] = _,\n inplace_build_args: list[str] = _,\n labels: list[str] = _,\n lang_compiler_flags: dict[str, list[str]] = _,\n lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,\n lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,\n lang_preprocessor_flags: dict[str, list[str]] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n link_deps_query_whole: bool = _,\n link_execution_preference: None | str = _,\n link_group: None | str = _,\n link_group_deps: list[str] = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_group_min_binary_node_count: None | int = _,\n link_group_public_deps_label: None | str = _,\n link_ordering: None | str = _,\n link_style: str = _,\n link_whole: bool = _,\n linker_extra_outputs: list[str] = _,\n linker_flags: list[str] = _,\n main_function: None | str = _,\n main_module: None | str = _,\n make_py_package: None | str = _,\n manifest_module_entries: None | dict[str, list[str] | dict[str, typing.Any]] = _,\n native_link_strategy: None | str = _,\n needed_coverage: list[(int, str, None | str)] = _,\n package_split_dwarf_dwp: bool = _,\n package_style: None | str = _,\n par_style: None | str = _,\n platform: None | str = _,\n platform_compiler_flags: list[(str, list[str])] = _,\n platform_deps: list[(str, list[str])] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n platform_linker_flags: list[(str, list[str])] = _,\n platform_preload_deps: list[(str, list[str])] = _,\n platform_preprocessor_flags: list[(str, list[str])] = _,\n platform_resources: list[(str, list[str] | dict[str, str])] = _,\n platform_srcs: list[(str, list[str | (str, list[str])])] = _,\n post_linker_flags: list[str] = _,\n post_platform_linker_flags: list[(str, list[str])] = _,\n precompiled_header: None | str = _,\n prefer_stripped_native_objects: bool = _,\n prefer_stripped_objects: bool = _,\n prefix_header: None | str = _,\n preload_deps: list[str] = _,\n preprocessor_flags: list[str] = _,\n py_version_for_type_checking: None | str = _,\n raw_headers: list[str] = _,\n remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,\n remote_execution_action_key_providers: None | str = _,\n repl_main: None | str = _,\n repl_only_deps: list[str] = _,\n resources: list[str] | dict[str, str] = _,\n run_with_inplace: bool = _,\n runner: None | str = _,\n runtime_env: None | dict[str, str] = _,\n specs: None | str = _,\n srcs: list[str] | dict[str, str] = _,\n standalone_build_args: list[str] = _,\n static_extension_finder: str = _,\n static_extension_utils: str = _,\n strip_libpar: str = _,\n strip_stapsdt: bool = _,\n test_rule_timeout_ms: None | int = _,\n thin_lto: bool = _,\n typing: bool = _,\n version_universe: None | str = _,\n versioned_resources: None | list[(dict[str, str], list[str] | dict[str, str])] = _,\n versioned_srcs: None | list[(dict[str, str], list[str] | dict[str, str])] = _,\n weak_framework_names: list[str] = _,\n zip_safe: None | bool = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"python_test()")," rule defines a set of ",(0,n.mdx)("inlineCode",{parentName:"p"},".py")," files that contain tests to run via the ",(0,n.mdx)("a",{parentName:"p",href:"https://docs.python.org/library/unittest.html"},"Python unit testing framework"),"."),(0,n.mdx)("h4",{id:"parameters-120"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"base_module"),": The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deduplicate_merged_link_roots"),": When linking multiple top-level binaries with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"merged")," ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),", coalesce root link rules which are identical across independent merged links.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": other rules used by the tests in this rule's sources.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": A map of environment names and values to set when running the test."),(0,n.mdx)("p",{parentName:"li"},"It is also possible to expand references to other rules within the ",(0,n.mdx)("strong",{parentName:"p"},"values")," of\nthese environment variables, using builtin ",(0,n.mdx)("inlineCode",{parentName:"p"},"string parameter macros"),"\n:"),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"$(location //path/to:target)"),"\nExpands to the location of the output of the build rule. This\nmeans that you can refer to these without needing to be aware of how\nBuck is storing data on the disk mid-build.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exclude_deps_from_merged_linking"),": When linking the top-level binary with a ",(0,n.mdx)("inlineCode",{parentName:"p"},"merged")," ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),", do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"labels"),": Set of arbitrary strings which allow you to annotate a ",(0,n.mdx)("inlineCode",{parentName:"p"},"build rule")," with tags that can be searched for over an entire dependency tree using ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck query()")," .")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_group_deps"),": Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_group_public_deps_label"),': Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": Additional linker flags that should be applied to any linking which is specific to this rule. Note that whether these flags are used is dependent on the native link strategy selected in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")," and currently applies only to the merged ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),"; the ",(0,n.mdx)("inlineCode",{parentName:"p"},"separate")," link strategy pulls in shared libraries that are linked in the context of the rules that own them, such as ",(0,n.mdx)("inlineCode",{parentName:"p"},"cxx_library()"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"main_function"),": Name of a Python function that will serve as the main entry point of the binary. The name is either a fully qualified name like ",(0,n.mdx)("inlineCode",{parentName:"p"},"foo.bar.baz")," or it starts with a ",(0,n.mdx)("inlineCode",{parentName:"p"},".")," like ",(0,n.mdx)("inlineCode",{parentName:"p"},".bar.baz"),", in which case it is relative to the package containing the target. This should usually be a function defined within one of the dependencies of this target. This attribute should be preferred over ",(0,n.mdx)("inlineCode",{parentName:"p"},"main_module")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"main"),", and it is an error to specify more than one of these.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"main_module"),": The main module used to run the tests. This parameter is normally not needed, as Buck will provide a default main module that runs all tests. However, you can override this with your own module to perform custom initialization or command line processing. Your custom module can import the standard Buck test main as ",(0,n.mdx)("inlineCode",{parentName:"p"},"__test_main__"),", and can invoke it's normal main function as ",(0,n.mdx)("inlineCode",{parentName:"p"},"__test_main__.main(sys.argv)"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"manifest_module_entries"),": If present, it should be a ",(0,n.mdx)("inlineCode",{parentName:"p"},"string")," -> ",(0,n.mdx)("inlineCode",{parentName:"p"},"entry")," mapping that gets generated into a ",(0,n.mdx)("inlineCode",{parentName:"p"},"__manifest__")," module in the executable. Top level string keys will be the names of variables in this module (so they must be valid Python identifiers). An ",(0,n.mdx)("inlineCode",{parentName:"p"},"entry")," can be a list of ",(0,n.mdx)("inlineCode",{parentName:"p"},"string"),"s, or a further ",(0,n.mdx)("inlineCode",{parentName:"p"},"string"),"-keyed dictionary.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"package_style"),": Used to override the global packaging style that is set in ",(0,n.mdx)("inlineCode",{parentName:"p"},"["),".buckconfig",(0,n.mdx)("inlineCode",{parentName:"p"}," ]"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform"),": The name of the Python platform ",(0,n.mdx)("em",{parentName:"p"},"flavor")," to build against by default as defined in the buckconfig#",(0,n.mdx)("inlineCode",{parentName:"p"},"python"),"section of ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"platform_resources"),": Python-platform-specific resource files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of resource files. The regex should use ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.util.regex.Pattern")," syntax. The platform name is a Python platform ",(0,n.mdx)("em",{parentName:"p"},"flavor")," defined in the buckconfig#",(0,n.mdx)("inlineCode",{parentName:"p"},"python "),"section of ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"preload_deps"),": A list of C/C++ library dependencies that need to be loaded before any other libraries when the PEX starts up. This requires dynamic loader support, such as ",(0,n.mdx)("inlineCode",{parentName:"p"},"LD_PRELOAD"),", found on most systems. This list is order- sensitive and the preload libraries listed here are passed down to the dynamic linker in the same order.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"py_version_for_type_checking"),": This option will force the type checker to perform checking under a specific version of Python interpreter.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of Python (",(0,n.mdx)("inlineCode",{parentName:"p"},".py"),") files to include in this library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test_rule_timeout_ms"),": If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default ",(0,n.mdx)("inlineCode",{parentName:"p"},"rule_timeout")," if any has been specified in ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")," .")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"typing"),": Determines whether to perform type checking on the given target. Default is False."))),(0,n.mdx)("h4",{id:"details-70"},"Details"),(0,n.mdx)("p",null,"If your test requires static files you should specify these in\nthe ",(0,n.mdx)("strong",{parentName:"p"},"resources")," or ",(0,n.mdx)("strong",{parentName:"p"},"platform","_","resources")," arguments.\nIf you do not specify these files, they won't be available when your\ntest runs."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# A rule that includes a single .py file containing tests.\npython_test(\n name = 'fileutil_test',\n srcs = ['fileutil_tests.py'],\n deps = [\n ':fileutil',\n ],\n)\n\n# A rule that uses glob() to include all sources in the directory which the\n# rule is defined. It also lists a resource file that gets packaged with\n# the sources in this rule.\npython_library(\n name = 'fileutil',\n srcs = glob(['fileutil/**/*.py']),\n resources = [\n 'testdata.dat',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"python_test_runner"},"python","_","test","_","runner"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def python_test_runner(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n main_module: str = _,\n src: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-121"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"labels"),": Set of arbitrary strings which allow you to annotate a ",(0,n.mdx)("inlineCode",{parentName:"li"},"build rule")," with tags that can be searched for over an entire dependency tree using ",(0,n.mdx)("inlineCode",{parentName:"li"},"buck query()")," .")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"remote_file"},"remote","_","file"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def remote_file(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _unzip_tool: str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n out: None | str = _,\n sha1: None | str = _,\n sha256: None | str = _,\n type: None | str = _,\n url: str,\n vpnless_url: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"remote_file()")," rule is used to download files from the Internet to be used as dependencies for other rules. These rules are downloaded by running ",(0,n.mdx)("inlineCode",{parentName:"p"},"fetch"),", or can be downloaded as part of ",(0,n.mdx)("inlineCode",{parentName:"p"},"build"),". See the note there about the ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")," setting to configure that."),(0,n.mdx)("h4",{id:"parameters-122"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"out"),": An optional name to call the downloaded artifact. Buck will generate a default name if one is not provided that uses the ",(0,n.mdx)("inlineCode",{parentName:"p"},"name")," of the rule.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"type"),": An optional type of the downloaded file."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"data"),"\nRegular data file.\n",(0,n.mdx)("inlineCode",{parentName:"p"},"executable")),(0,n.mdx)("p",{parentName:"li"}," Executable file. Buck will ensure that output has appropriate permissions if applicable."),(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exploded_zip")),(0,n.mdx)("p",{parentName:"li"}," Zip archive which will be automatically unzipped into an output directory.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"url"),": You can specify an ",(0,n.mdx)("inlineCode",{parentName:"p"},"http"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"https"),", or a ",(0,n.mdx)("inlineCode",{parentName:"p"},"mvn")," URL. If you specify a ",(0,n.mdx)("inlineCode",{parentName:"p"},"mvn")," URL, it will be decoded as described in the javadocs for MavenUrlDecoder See the example section below.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"vpnless_url"),": An optional additional URL from which this resource can be downloaded when off VPN. Meta-internal only."))),(0,n.mdx)("h4",{id:"details-71"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Here's an example of a ",(0,n.mdx)("inlineCode",{parentName:"p"},"remote_file()")," using an ",(0,n.mdx)("inlineCode",{parentName:"p"},"https")," URL."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nremote_file(\n name = 'android-ndk-r10e-darwin-x86_64',\n url = 'https://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin',\n sha1 = 'b57c2b9213251180dcab794352bfc9a241bf2557',\n)\n\n")),(0,n.mdx)("p",null," Here's an example of a ",(0,n.mdx)("inlineCode",{parentName:"p"},"remote_file()")," using a ",(0,n.mdx)("inlineCode",{parentName:"p"},"mvn")," URL being referenced\nby a ",(0,n.mdx)("inlineCode",{parentName:"p"},"prebuilt_jar()"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nprebuilt_jar(\n name = 'jetty-all',\n binary_jar = 'jetty-all-9.2.10.v20150310.jar',\n source_jar = ':jetty-source',\n)\n\nremote_file(\n name = 'jetty-source',\n out = 'jetty-all-9.2.10.v20150310-sources.jar',\n url = 'mvn:org.eclipse.jetty.aggregate:jetty-all:src:9.2.10.v20150310',\n sha1 = '311da310416d2feb3de227081d7c3f48742d7075',\n)\n\n")),(0,n.mdx)("p",null," Here's an example of a ",(0,n.mdx)("inlineCode",{parentName:"p"},"remote_file()")," using a ",(0,n.mdx)("inlineCode",{parentName:"p"},"mvn")," URI which uses a\nnon-default maven repository host."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nremote_file(\n name = 'jetty-source',\n out = 'jetty-all-9.2.10.v20150310-sources.jar',\n url = 'mvn:https://maven-repo.com:org.eclipse.jetty.aggregate:jetty-all:src:9.2.10.v20150310',\n sha1 = '311da310416d2feb3de227081d7c3f48742d7075',\n)\n\n")),(0,n.mdx)("p",null," Here's an example of a ",(0,n.mdx)("inlineCode",{parentName:"p"},"remote_file()")," using a ",(0,n.mdx)("inlineCode",{parentName:"p"},"mvn")," URI which uses a\nMaven classifier."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nremote_file(\n name = 'groovy-groovysh-indy',\n out = 'jetty-all-9.2.10.v20150310-sources.jar',\n url = 'mvn:org.codehaus.groovy:groovy-groovysh:jar:indy:2.4.1',\n sha1 = '1600fde728c885cc9506cb102deb1b494bd7c130',\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"robolectric_test"},"robolectric","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def robolectric_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _android_toolchain: str = _,\n _apple_platforms: dict[str, str] = _,\n _build_only_native_code: bool = _,\n _exec_os_type: str = _,\n _inject_test_env: str = _,\n _is_building_android_binary: bool = _,\n _java_test_toolchain: str = _,\n _java_toolchain: str = _,\n _kotlin_toolchain: str = _,\n _remote_test_execution_toolchain: str = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n abi_generation_mode: None | str = _,\n android_optional_jars: None | list[str] = _,\n annotation_processing_tool: None | str = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n cxx_library_whitelist: list[str] = _,\n default_cxx_platform: None | str = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n env: dict[str, str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n extra_kotlinc_arguments: list[str] = _,\n fork_mode: str = _,\n friend_paths: list[str] = _,\n incremental: bool = _,\n jar_postprocessor: None | str = _,\n java: None | str = _,\n java_agents: list[str] = _,\n java_version: None | str = _,\n javac: None | str = _,\n k2: bool = _,\n kotlin_compiler_plugins: dict[str, dict[str, str]] = _,\n labels: list[str] = _,\n language: None | str = _,\n licenses: list[str] = _,\n locales_for_binary_resources: list[str] = _,\n manifest: None | str = _,\n manifest_entries: dict[str, typing.Any] = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n preferred_density_for_binary_resources: None | str = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n provided_deps_query: None | str = _,\n remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,\n remote_execution_action_key_providers: None | str = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resource_stable_ids: None | str = _,\n resource_union_package: None | str = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n robolectric_manifest: str,\n robolectric_runtime_dependencies: list[str] = _,\n robolectric_runtime_dependency: None | str = _,\n run_test_separately: bool = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n std_err_log_level: None | int | str = _,\n std_out_log_level: None | int | str = _,\n target: None | str = _,\n test_case_timeout_ms: None | int = _,\n test_class_names_file: None | str = _,\n test_rule_timeout_ms: None | int = _,\n test_type: None | str = _,\n unbundled_resources_root: None | str = _,\n use_cxx_libraries: None | bool = _,\n use_dependency_order_classpath: None | bool = _,\n use_jvm_abi_gen: None | bool = _,\n used_as_dependency_deprecated_do_not_use: bool = _,\n vm_args: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"robolectric_test()")," rule is used to define a set of ",(0,n.mdx)("inlineCode",{parentName:"p"},".java")," files that contain tests to run via JUnit with Robolectric test runner. It extends from ",(0,n.mdx)("inlineCode",{parentName:"p"},"java_test()")," rule."),(0,n.mdx)("h4",{id:"parameters-123"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"extra_kotlinc_arguments"),": List of additional arguments to pass into the Kotlin compiler."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"incremental"),": Enables Kotlin incremental compilation."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"k2"),": Enables the Kotlin K2 compiler."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"robolectric_manifest"),": An ",(0,n.mdx)("a",{parentName:"li",href:"http://developer.android.com/guide/topics/manifest/manifest-intro.html"},"Android Manifest")," for the rule to declare any permissions or intents it may need or want to handle. May either be a file or an ",(0,n.mdx)("inlineCode",{parentName:"li"},"android_manifest()")," target."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"robolectric_runtime_dependency"),": Robolectric only runs in offline mode with buck. Specify the relative directory containing all the jars Robolectric uses at runtime.")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"rust_binary"},"rust","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def rust_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _exec_os_type: str = _,\n _rust_toolchain: str = _,\n _target_os_type: str = _,\n _workspaces: list[str] = _,\n allow_cache_upload: None | bool = _,\n anonymous_link_groups: bool = _,\n auto_link_groups: bool = _,\n buck2_compatibility: str = _,\n clippy_configuration: None | str = _,\n contacts: list[str] = _,\n coverage: bool = _,\n crate: None | str = _,\n crate_root: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n deps: list[str] = _,\n edition: None | str = _,\n enable_distributed_thinlto: bool = _,\n env: dict[str, str] = _,\n features: list[str] = _,\n flagged_deps: list[(str, list[str])] = _,\n incremental_build_mode: None | str = _,\n incremental_enabled: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n link_group: None | str = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_group_min_binary_node_count: None | int = _,\n link_style: None | str = _,\n linker_flags: list[str] = _,\n mapped_srcs: dict[str, str] = _,\n named_deps: list[(str, str)] | dict[str, str] = _,\n resources: list[str] | dict[str, str] = _,\n rpath: bool = _,\n rustc_flags: list[str] = _,\n rustdoc_flags: list[str] = _,\n srcs: list[str] = _,\n version_universe: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A rust","_","binary() rule builds a native executable from the supplied set of Rust source files and dependencies."),(0,n.mdx)("h4",{id:"parameters-124"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"_workspaces"),": Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"allow_cache_upload"),": Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"crate_root"),": Set the name of the top-level source file for the crate, which can be used to override the default (see ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": The set of dependencies of this rule. Currently, this supports rust","_","library and prebuilt","_","rust","_","library rules.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"edition"),": Set the language edition to be used for this rule. Can be set to any edition the compiler supports (",(0,n.mdx)("inlineCode",{parentName:"p"},"2018")," right now). If unset it uses the compiler's default (",(0,n.mdx)("inlineCode",{parentName:"p"},"2015"),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"features"),": The set of features to be enabled for this rule."),(0,n.mdx)("p",{parentName:"li"},"These are passed to ",(0,n.mdx)("inlineCode",{parentName:"p"},"rustc")," with ",(0,n.mdx)("inlineCode",{parentName:"p"},'--cfg feature="{feature}"'),", and can be used in the code with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#[cfg(feature = "{feature}")]'),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"shared"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": The set of additional flags to pass to the linker.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"mapped_srcs"),": Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example ",(0,n.mdx)("inlineCode",{parentName:"p"},'mapped_srcs = {":generate-module", "src/generated.rs" }'),". These are added to the regular ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),", so a file should not be listed in both.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"named_deps"),": Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: ",(0,n.mdx)("inlineCode",{parentName:"p"},'named_deps = {"local_name", ":some_rust_crate" }'),". The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"rpath"),': Set the "rpath" in the executable when using a shared link style.')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"rustc_flags"),": The set of additional compiler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"p"},"rustc"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of Rust source files to be compiled by this rule."),(0,n.mdx)("p",{parentName:"li"},"One of the source files is the root module of the crate. By default this is ",(0,n.mdx)("inlineCode",{parentName:"p"},"lib.rs")," for libraries, ",(0,n.mdx)("inlineCode",{parentName:"p"},"main.rs")," for executables, or\nthe crate's name with ",(0,n.mdx)("inlineCode",{parentName:"p"},".rs")," appended. This can be overridden with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"crate_root")," rule parameter."))),(0,n.mdx)("h4",{id:"details-72"},"Details"),(0,n.mdx)("p",null,"If you invoke a build with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"check")," flavor, then Buck will invoke rustc\nto check the code (typecheck, produce warnings, etc), but won't generate an executable code.\nWhen applied to binaries it produces no output; for libraries it produces metadata for\nconsumers of the library."),(0,n.mdx)("p",null,"Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/rust/testdata/"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nrust_binary(\n name='greet',\n srcs=[\n 'greet.rs',\n ],\n deps=[\n ':greeting',\n ],\n)\n\nrust_library(\n name='greeting',\n srcs=[\n 'greeting.rs',\n ],\n deps=[\n ':join',\n ],\n)\n\nrust_library(\n name='join',\n srcs=[\n 'join.rs',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"rust_library"},"rust","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def rust_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _exec_os_type: str = _,\n _rust_toolchain: str = _,\n _target_os_type: str = _,\n _workspaces: list[str] = _,\n buck2_compatibility: str = _,\n clippy_configuration: None | str = _,\n contacts: list[str] = _,\n coverage: bool = _,\n crate: None | str = _,\n crate_dynamic: None | str = _,\n crate_root: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n deps: list[str] = _,\n doc_deps: list[str] = _,\n doc_env: dict[str, str] = _,\n doc_link_style: None | str = _,\n doc_linker_flags: list[str] = _,\n doc_named_deps: list[(str, str)] | dict[str, str] = _,\n doctests: None | bool = _,\n edition: None | str = _,\n env: dict[str, str] = _,\n features: list[str] = _,\n flagged_deps: list[(str, list[str])] = _,\n incremental_build_mode: None | str = _,\n incremental_enabled: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n link_style: None | str = _,\n linker_flags: list[str] = _,\n mapped_srcs: dict[str, str] = _,\n named_deps: list[(str, str)] | dict[str, str] = _,\n preferred_linkage: str = _,\n proc_macro: bool = _,\n resources: list[str] | dict[str, str] = _,\n rustc_flags: list[str] = _,\n rustdoc_flags: list[str] = _,\n soname: None | str = _,\n srcs: list[str] = _,\n supports_python_dlopen: None | bool = _,\n version_universe: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A rust","_","library() rule builds a native library from the supplied set of Rust source files and dependencies."),(0,n.mdx)("h4",{id:"parameters-125"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"_workspaces"),": Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"crate_root"),": Set the name of the top-level source file for the crate, which can be used to override the default (see ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": The set of dependencies of this rule. Currently, this supports rust","_","library and prebuilt","_","rust","_","library rules.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"doc_deps"),": The set of dependencies of this rule. Currently, this supports rust","_","library and prebuilt","_","rust","_","library rules.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"doc_env"),": Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"doc_link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"shared"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"doc_linker_flags"),": The set of additional flags to pass to the linker.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"doc_named_deps"),": Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: ",(0,n.mdx)("inlineCode",{parentName:"p"},'named_deps = {"local_name", ":some_rust_crate" }'),". The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"edition"),": Set the language edition to be used for this rule. Can be set to any edition the compiler supports (",(0,n.mdx)("inlineCode",{parentName:"p"},"2018")," right now). If unset it uses the compiler's default (",(0,n.mdx)("inlineCode",{parentName:"p"},"2015"),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"features"),": The set of features to be enabled for this rule."),(0,n.mdx)("p",{parentName:"li"},"These are passed to ",(0,n.mdx)("inlineCode",{parentName:"p"},"rustc")," with ",(0,n.mdx)("inlineCode",{parentName:"p"},'--cfg feature="{feature}"'),", and can be used in the code with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#[cfg(feature = "{feature}")]'),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"shared"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": The set of additional flags to pass to the linker.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"mapped_srcs"),": Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example ",(0,n.mdx)("inlineCode",{parentName:"p"},'mapped_srcs = {":generate-module", "src/generated.rs" }'),". These are added to the regular ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),", so a file should not be listed in both.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"named_deps"),": Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: ",(0,n.mdx)("inlineCode",{parentName:"p"},'named_deps = {"local_name", ":some_rust_crate" }'),". The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"rustc_flags"),": The set of additional compiler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"p"},"rustc"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"soname"),': Sets the soname ("shared object name") of any shared library produced from this rule. The default value is based on the full rule name. The macro ',(0,n.mdx)("inlineCode",{parentName:"p"},"$(ext)")," will be replaced with a platform-appropriate extension. An argument can be provided, which is a library version. For example ",(0,n.mdx)("inlineCode",{parentName:"p"},"soname = 'libfoo.$(ext 2.3)'")," will be ",(0,n.mdx)("inlineCode",{parentName:"p"},"libfoo.2.3.dylib")," on Mac and ",(0,n.mdx)("inlineCode",{parentName:"p"},"libfoo.so.2.3")," on Linux.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of Rust source files to be compiled by this rule."),(0,n.mdx)("p",{parentName:"li"},"One of the source files is the root module of the crate. By default this is ",(0,n.mdx)("inlineCode",{parentName:"p"},"lib.rs")," for libraries, ",(0,n.mdx)("inlineCode",{parentName:"p"},"main.rs")," for executables, or\nthe crate's name with ",(0,n.mdx)("inlineCode",{parentName:"p"},".rs")," appended. This can be overridden with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"crate_root")," rule parameter."))),(0,n.mdx)("h4",{id:"details-73"},"Details"),(0,n.mdx)("p",null,"If you invoke a build with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"check")," flavor, then Buck will invoke rustc\nto check the code (typecheck, produce warnings, etc), but won't generate an executable code.\nWhen applied to binaries it produces no output; for libraries it produces metadata for\nconsumers of the library."),(0,n.mdx)("p",null,"Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/rust/testdata/"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nrust_library(\n name='greeting',\n srcs=[\n 'greeting.rs',\n ],\n deps=[\n ':join',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"rust_test"},"rust","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def rust_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n _exec_os_type: str = _,\n _inject_test_env: str = _,\n _remote_test_execution_toolchain: str = _,\n _rust_toolchain: str = _,\n _target_os_type: str = _,\n _workspaces: list[str] = _,\n anonymous_link_groups: bool = _,\n auto_link_groups: bool = _,\n buck2_compatibility: str = _,\n clippy_configuration: None | str = _,\n contacts: list[str] = _,\n coverage: bool = _,\n crate: None | str = _,\n crate_root: None | str = _,\n default_host_platform: None | str = _,\n default_platform: None | str = _,\n deps: list[str] = _,\n edition: None | str = _,\n enable_distributed_thinlto: bool = _,\n env: dict[str, str] = _,\n features: list[str] = _,\n flagged_deps: list[(str, list[str])] = _,\n framework: bool = _,\n incremental_build_mode: None | str = _,\n incremental_enabled: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n link_group: None | str = _,\n link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,\n link_group_min_binary_node_count: None | int = _,\n link_style: None | str = _,\n linker_flags: list[str] = _,\n mapped_srcs: dict[str, str] = _,\n named_deps: list[(str, str)] | dict[str, str] = _,\n remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,\n remote_execution_action_key_providers: None | str = _,\n resources: list[str] | dict[str, str] = _,\n rpath: bool = _,\n run_env: dict[str, str] = _,\n rustc_flags: list[str] = _,\n rustdoc_flags: list[str] = _,\n srcs: list[str] = _,\n version_universe: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A rust","_","test() rule builds a Rust test native executable from the supplied set of Rust source files and dependencies and runs this test."),(0,n.mdx)("h4",{id:"parameters-126"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"_workspaces"),": Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"crate_root"),": Set the name of the top-level source file for the crate, which can be used to override the default (see ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"deps"),": The set of dependencies of this rule. Currently, this supports rust","_","library and prebuilt","_","rust","_","library rules.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"edition"),": Set the language edition to be used for this rule. Can be set to any edition the compiler supports (",(0,n.mdx)("inlineCode",{parentName:"p"},"2018")," right now). If unset it uses the compiler's default (",(0,n.mdx)("inlineCode",{parentName:"p"},"2015"),").")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": Set environment variables for this rule's invocations of rustc ",(0,n.mdx)("em",{parentName:"p"},"and")," during execution of the tests. The environment variable values may include macros which are expanded.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"features"),": The set of features to be enabled for this rule."),(0,n.mdx)("p",{parentName:"li"},"These are passed to ",(0,n.mdx)("inlineCode",{parentName:"p"},"rustc")," with ",(0,n.mdx)("inlineCode",{parentName:"p"},'--cfg feature="{feature}"'),", and can be used in the code with ",(0,n.mdx)("inlineCode",{parentName:"p"},'#[cfg(feature = "{feature}")]'),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"framework"),": Use the standard test framework. If this is set to false, then the result is a normal executable which requires a ",(0,n.mdx)("inlineCode",{parentName:"p"},"main()"),", etc. It is still expected to accept the same command-line parameters and produce the same output as the test framework.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"link_style"),": Determines whether to build and link this rule's dependencies statically or dynamically. Can be either ",(0,n.mdx)("inlineCode",{parentName:"p"},"static"),", ",(0,n.mdx)("inlineCode",{parentName:"p"},"static_pic")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},"shared"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"linker_flags"),": The set of additional flags to pass to the linker.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"mapped_srcs"),": Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example ",(0,n.mdx)("inlineCode",{parentName:"p"},'mapped_srcs = {":generate-module", "src/generated.rs" }'),". These are added to the regular ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),", so a file should not be listed in both.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"named_deps"),": Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: ",(0,n.mdx)("inlineCode",{parentName:"p"},'named_deps = {"local_name", ":some_rust_crate" }'),". The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"rpath"),': Set the "rpath" in the executable when using a shared link style.')),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"run_env"),": Set environment variables during test execution. The environment variable values may include macros which are expanded.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"rustc_flags"),": The set of additional compiler flags to pass to ",(0,n.mdx)("inlineCode",{parentName:"p"},"rustc"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of Rust source files to be compiled by this rule."),(0,n.mdx)("p",{parentName:"li"},"One of the source files is the root module of the crate. By default this is ",(0,n.mdx)("inlineCode",{parentName:"p"},"lib.rs")," for libraries, ",(0,n.mdx)("inlineCode",{parentName:"p"},"main.rs")," for executables, or\nthe crate's name with ",(0,n.mdx)("inlineCode",{parentName:"p"},".rs")," appended. This can be overridden with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"crate_root")," rule parameter."))),(0,n.mdx)("h4",{id:"details-74"},"Details"),(0,n.mdx)("p",null,"Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"For more examples, check out our ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/facebook/buck/tree/dev/test/com/facebook/buck/rust/testdata/"},"integration tests"),"."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\nrust_test(\n name='greet',\n srcs=[\n 'greet.rs',\n ],\n deps=[\n ':greeting',\n ],\n)\n\nrust_library(\n name='greeting',\n srcs=[\n 'greeting.rs',\n ],\n deps=[\n ':join',\n ],\n)\n\nrust_library(\n name='join',\n srcs=[\n 'join.rs',\n ],\n)\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"scala_library"},"scala","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def scala_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n abi_generation_mode: None | str = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n java_version: None | str = _,\n javac: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n target: None | str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-127"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"scala_test"},"scala","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def scala_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _wip_java_plugin_arguments: dict[str, list[str]] = _,\n abi_generation_mode: None | str = _,\n annotation_processor_deps: list[str] = _,\n annotation_processor_params: list[str] = _,\n annotation_processors: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n cxx_library_whitelist: list[str] = _,\n default_cxx_platform: None | str = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n deps_query: None | str = _,\n env: dict[str, str] = _,\n exported_deps: list[str] = _,\n exported_provided_deps: list[str] = _,\n extra_arguments: list[str] = _,\n fork_mode: str = _,\n java_version: None | str = _,\n javac: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n manifest_file: None | str = _,\n maven_coords: None | str = _,\n never_mark_as_unused_dependency: None | bool = _,\n on_unused_dependencies: None | str = _,\n plugins: list[str] = _,\n proguard_config: None | str = _,\n provided_deps: list[str] = _,\n remove_classes: list[str] = _,\n required_for_source_only_abi: bool = _,\n resources: list[str] = _,\n resources_root: None | str = _,\n run_test_separately: bool = _,\n runtime_deps: list[str] = _,\n source: None | str = _,\n source_abi_verification_mode: None | str = _,\n source_only_abi_deps: list[str] = _,\n srcs: list[str] = _,\n std_err_log_level: None | int | str = _,\n std_out_log_level: None | int | str = _,\n target: None | str = _,\n test_case_timeout_ms: None | int = _,\n test_rule_timeout_ms: None | int = _,\n test_type: None | str = _,\n use_cxx_libraries: None | bool = _,\n use_dependency_order_classpath: None | bool = _,\n vm_args: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-128"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"scene_kit_assets"},"scene","_","kit","_","assets"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def scene_kit_assets(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n path: str\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-129"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"sh_binary"},"sh","_","binary"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def sh_binary(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _target_os_type: str = _,\n append_script_extension: bool = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n main: str,\n resources: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"An ",(0,n.mdx)("inlineCode",{parentName:"p"},"sh_binary()")," is used to execute a shell script."),(0,n.mdx)("h4",{id:"parameters-130"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"append_script_extension"),": By default, sh_binary ensures that the script has an appropriate extension (e.g. ",(0,n.mdx)("inlineCode",{parentName:"p"},".sh")," or ",(0,n.mdx)("inlineCode",{parentName:"p"},".bat"),"), appending one itself if necessary. Setting this to False prevents that behavior and makes the caller responsible for ensuring an existing appropriate extension.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"main"),": Either the path to the script (relative to the build file), or a ",(0,n.mdx)("inlineCode",{parentName:"p"},"build target"),". This file must be executable in order to be run.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"resources"),": A list of files or build rules that this rule requires in order to run. These could be things such as random data files."),(0,n.mdx)("p",{parentName:"li"},"When the script runs, the ",(0,n.mdx)("inlineCode",{parentName:"p"},"$BUCK_DEFAULT_RUNTIME_RESOURCES"),"\nenvironment variable specifies the directory that contains these resources.\nThis directory's location is determined entirely by Buck; the script should\nnot assume the directory's location."),(0,n.mdx)("p",{parentName:"li"},"The resources are also made available in a tree structure that mirrors\ntheir locations in the source and ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck-out")," trees. The\nenvironment variable ",(0,n.mdx)("inlineCode",{parentName:"p"},"$BUCK_PROJECT_ROOT")," specifies a directory\nthat contains all the resources, laid out in their locations relative to\nthe original buck project root."))),(0,n.mdx)("h4",{id:"details-75"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"This sh","_","binary() just cats a sample data file back at the user."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n# $REPO/BUCK\nsh_binary(\n name = "script",\n main = "script.sh",\n resources = [\n "data.dat",\n ],\n)\n\n')),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n# Sample data file with data we need at runtime\n$ echo \"I'm a datafile\" > data.dat\n\n# Create a simple script that prints out the resource\n$ cat > script.sh\n#!/bin/sh\ncat $BUCK_DEFAULT_RUNTIME_RESOURCES/data.dat\n\n# Make sure the script is executable\n$ chmod u+x script.sh\n\n# Run the script, and see that it prints out the resource we provided\n$ buck run //:script\nJobs completed: 4. Time elapsed: 0.2s.\nBUILD SUCCEEDED\nI'm a datafile\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"sh_test"},"sh","_","test"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def sh_test(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _inject_test_env: str = _,\n _remote_test_execution_toolchain: str = _,\n args: list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n env: dict[str, str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n list_args: None | list[str] = _,\n list_env: None | dict[str, str] = _,\n remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,\n remote_execution_action_key_providers: None | str = _,\n resources: list[str] = _,\n run_args: list[str] = _,\n run_env: dict[str, str] = _,\n run_test_separately: bool = _,\n test: None | str = _,\n test_rule_timeout_ms: None | int = _,\n type: None | str = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"sh_test()")," is a test rule that can pass results to the test runner by invoking a shell script."),(0,n.mdx)("h4",{id:"parameters-131"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"args"),": The list of arguments to invoke this script with. These are literal values, and no shell interpolation is done."),(0,n.mdx)("p",{parentName:"li"},"These can contain ",(0,n.mdx)("inlineCode",{parentName:"p"},"string parameter macros"),"\n, for example, to give the location of a generated binary to the test script.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"env"),": Environment variable overrides that should be used when running the script. The key is the variable name, and the value is its value."),(0,n.mdx)("p",{parentName:"li"},"The values can contain ",(0,n.mdx)("inlineCode",{parentName:"p"},"string parameter macros"),"\nsuch as the location of a generated binary to be used by the test script.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"test"),": Either the path to the script (relative to the build file), or a ",(0,n.mdx)("inlineCode",{parentName:"p"},"build target"),". This file must be executable in order to be run.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"type"),": If provided, this will be sent to any configured ",(0,n.mdx)("inlineCode",{parentName:"p"},".buckconfig")))),(0,n.mdx)("h4",{id:"details-76"},"Details"),(0,n.mdx)("p",null,(0,n.mdx)("strong",{parentName:"p"},"NOTE:")," This rule is not currently supported on Windows."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"This sh","_","test() fails if a string does not match a value."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n# $REPO/BUCK\nsh_test(\n name = "script_pass",\n test = "script.sh",\n args = ["--pass"],\n)\n\nsh_test(\n name = "script_fail",\n test = "script.sh",\n args = ["--fail"],\n)\n\n\n')),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n# Create a simple script that prints out the resource\n$ cat > script.sh\n#!/bin/sh\nfor arg in $@; do\n if [ "$arg" == "--pass" ]; then\n echo "Passed"\n exit 0;\n fi\ndone\necho "Failed"\nexit 1\n\n# Make sure the script is executable\n$ chmod u+x script.sh\n\n# Run the script, and see that one test passes, one fails\n$ buck test //:script_pass //:script_fail\nFAILURE script.sh sh_test\nBuilding: finished in 0.0 sec (100%) 2/2 jobs, 0 updated\n Total time: 0.0 sec\nTesting: finished in 0.0 sec (1 PASS/1 FAIL)\nRESULTS FOR //:script_fail //:script_pass\nFAIL <100ms 0 Passed 0 Skipped 1 Failed //:script_fail\nFAILURE script.sh sh_test\n====STANDARD OUT====\nFailed\n\nPASS <100ms 1 Passed 0 Skipped 0 Failed //:script_pass\nTESTS FAILED: 1 FAILURE\nFailed target: //:script_fail\nFAIL //:script_fail\n\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"supermodule_target_graph"},"supermodule","_","target","_","graph"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def supermodule_target_graph(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n label_pattern: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n on_duplicate_entry: str = _,\n out: str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-132"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"swift_library"},"swift","_","library"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def swift_library(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n bridging_header: None | str = _,\n buck2_compatibility: str = _,\n compiler_flags: list[str] = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n deps: list[str] = _,\n enable_cxx_interop: bool = _,\n frameworks: list[str] = _,\n import_obj_c_forward_declarations: bool = _,\n labels: list[str] = _,\n libraries: list[str] = _,\n licenses: list[str] = _,\n module_name: None | str = _,\n preferred_linkage: str = _,\n sdk_modules: list[str] = _,\n serialize_debugging_options: bool = _,\n soname: None | str = _,\n srcs: list[str] = _,\n supported_platforms_regex: None | str = _,\n target_sdk_version: None | str = _,\n uses_explicit_modules: bool = _,\n version: None | str = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-133"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"swift_toolchain"},"swift","_","toolchain"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def swift_toolchain(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _internal_platform_path: None | str = _,\n _internal_sdk_path: None | str = _,\n _swiftc_wrapper: str = _,\n architecture: None | str = _,\n buck2_compatibility: str = _,\n can_toolchain_emit_obj_c_header_textually: bool = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n explicit_modules_uses_gmodules: bool = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n make_swift_comp_db: str = _,\n make_swift_interface: str = _,\n object_format: str = _,\n placeholder_tool: None | str = _,\n platform_path: None | str = _,\n prefix_serialized_debug_info: bool = _,\n resource_dir: None | str = _,\n runtime_paths_for_bundling: list[str] = _,\n runtime_paths_for_linking: list[str] = _,\n runtime_run_paths: list[str] = _,\n sdk_dependencies_path: None | str = _,\n sdk_modules: list[str] = _,\n sdk_path: None | str = _,\n static_runtime_paths: list[str] = _,\n supports_cxx_interop_requirement_at_import: bool = _,\n supports_relative_resource_dir: bool = _,\n supports_swift_cxx_interoperability_mode: bool = _,\n supports_swift_importing_obj_c_forward_declarations: bool = _,\n swift_ide_test_tool: None | str = _,\n swift_stdlib_tool: str,\n swift_stdlib_tool_flags: list[str] = _,\n swiftc: str,\n swiftc_flags: list[str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-134"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"test_suite"},"test","_","suite"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def test_suite(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n test_deps: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"test_suite()")," is used to create a grouping of tests that should all be run by just testing this rule."),(0,n.mdx)("h4",{id:"parameters-135"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("h4",{id:"details-77"},"Details"),(0,n.mdx)("p",null,"This rule can then be given to ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck test"),", and all tests that it depends on will be invoked.\nNote that the test","_","suite() target is not tested itself, it just tells buck to run other\ntests. It will not show up in calls to the external runner nor in the normal test output."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"This test","_","suite() sets up two different sets of tests to run, 'all' tests and 'slow' tests. Note that ",(0,n.mdx)("inlineCode",{parentName:"p"},"all_tests")," can depend on ",(0,n.mdx)("inlineCode",{parentName:"p"},"slow_tests"),", and all three tests are run."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n# instrumentation_tests/BUCK:\nsh_test(\n name = "instrumentation_tests",\n test = "instrumentation_tests.sh",\n visibility = ["PUBLIC"],\n)\n\n# integration_tests/BUCK:\nsh_test(\n name = "integration_tests",\n test = "integration_tests.sh",\n visibility = ["PUBLIC"],\n)\n\n# unit_tests/BUCK:\nsh_test(\n name = "unit_tests",\n test = "unit_tests.sh",\n visibility = ["PUBLIC"],\n)\n\n# BUCK:\ntest_suite(\n name = "slow_tests",\n tests = [\n "//instrumentation_tests:instrumentation_tests",\n "//integration_tests:integration_tests",\n ],\n)\n\ntest_suite(\n name = "all_tests",\n tests = [\n ":slow_tests",\n "//unit_tests:unit_tests",\n ],\n)\n\n')),(0,n.mdx)("p",null,"Yields output like this when run:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n$ buck test //:slow_tests\n...\nRESULTS FOR //instrumentation_tests:instrumentation_tests //integration_tests:integration_tests\nPASS <100ms 1 Passed 0 Skipped 0 Failed //instrumentation_tests:instrumentation_tests\nPASS <100ms 1 Passed 0 Skipped 0 Failed //integration_tests:integration_tests\nTESTS PASSED\n...\n\n$ buck test //:all_tests\nRESULTS FOR //instrumentation_tests:instrumentation_tests //integration_tests:integration_tests //unit_tests:unit_tests\nPASS <100ms 1 Passed 0 Skipped 0 Failed //instrumentation_tests:instrumentation_tests\nPASS <100ms 1 Passed 0 Skipped 0 Failed //integration_tests:integration_tests\nPASS <100ms 1 Passed 0 Skipped 0 Failed //unit_tests:unit_tests\nTESTS PASSED\n\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"toolchain_alias"},"toolchain","_","alias"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def toolchain_alias(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n actual: str,\n buck2_compatibility: str = _\n) -> None\n")),(0,n.mdx)("p",null,"toolchain_alias acts like alias but for toolchain rules."),(0,n.mdx)("h4",{id:"parameters-136"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"actual"),": The actual toolchain that is being aliased. This should be a toolchain rule.")),(0,n.mdx)("h4",{id:"details-78"},"Details"),(0,n.mdx)("p",null,"The toolchain_alias itself is a toolchain rule and the ",(0,n.mdx)("inlineCode",{parentName:"p"},"actual")," argument is\nexpected to be a toolchain_rule as well."),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"versioned_alias"},"versioned","_","alias"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def versioned_alias(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n versions: dict[str, str] = _\n) -> None\n")),(0,n.mdx)("h4",{id:"parameters-137"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"windows_resource"},"windows","_","resource"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def windows_resource(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _cxx_toolchain: str = _,\n buck2_compatibility: str = _,\n header_namespace: None | str = _,\n headers: list[str] | dict[str, str] = _,\n include_directories: list[str] = _,\n labels: list[str] = _,\n platform_headers: list[(str, list[str] | dict[str, str])] = _,\n raw_headers: list[str] = _,\n srcs: list[str | (str, list[str])] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"windows_resource()")," rule specifies a set of Window's Resource File (.rc) that are compiled into object files."),(0,n.mdx)("h4",{id:"parameters-138"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace"),": A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"li"},"/"),"), but cannot start with one. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"headers")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"headers"),": The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (",(0,n.mdx)("inlineCode",{parentName:"li"},"/"),"). The headers can be included with ",(0,n.mdx)("inlineCode",{parentName:"li"},'#include "$HEADER_NAMESPACE/$HEADER_NAME"')," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"#include <$HEADER_NAMESPACE/$HEADER_NAME>")," , where ",(0,n.mdx)("inlineCode",{parentName:"li"},"$HEADER_NAMESPACE")," is the value of the target's ",(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace")," attribute, and ",(0,n.mdx)("inlineCode",{parentName:"li"},"$HEADER_NAME")," is the header name if specified, and the filename of the header file otherwise. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"header_namespace")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"include_directories"),": A list of include directories (with ",(0,n.mdx)("inlineCode",{parentName:"li"},"raw_headers"),") to be added to the compile command for compiling this target (via ",(0,n.mdx)("inlineCode",{parentName:"li"},"-I"),"). An include directory is relative to the current package."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"platform_headers"),": Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See ",(0,n.mdx)("inlineCode",{parentName:"li"},"headers")," for more information."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"raw_headers"),": The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. ",(0,n.mdx)("inlineCode",{parentName:"li"},"include_directories")," and ",(0,n.mdx)("inlineCode",{parentName:"li"},"public_include_directories")," are the recommended way to add raw headers to the search path (they will be added via ",(0,n.mdx)("inlineCode",{parentName:"li"},"-I"),"). ",(0,n.mdx)("inlineCode",{parentName:"li"},"compiler_flags"),", ",(0,n.mdx)("inlineCode",{parentName:"li"},"preprocessor_flags")," and ",(0,n.mdx)("inlineCode",{parentName:"li"},"exported_preprocessor_flags")," can also be used to add such raw headers to the search path if inclusion via ",(0,n.mdx)("inlineCode",{parentName:"li"},"-isystem")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"-iquote")," is needed. ",(0,n.mdx)("inlineCode",{parentName:"li"},"raw_headers")," cannot be used together with ",(0,n.mdx)("inlineCode",{parentName:"li"},"headers")," or ",(0,n.mdx)("inlineCode",{parentName:"li"},"exported_headers")," in the same target."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"srcs"),": The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the ",(0,n.mdx)("a",{parentName:"li",href:"https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html"},"GCC documentation")," for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"''"),") or a tuple of a string specifying a source file and a list of compilation flags (e.g. ",(0,n.mdx)("inlineCode",{parentName:"li"},"('', ['-Wall', '-Werror'])")," ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).")),(0,n.mdx)("h4",{id:"details-79"},"Details"),(0,n.mdx)("p",null,"The files are compiled into .res files using rc.exe and then compiled into object files\nusing cvtres.exe.\nThey are not part of cxx_library because Microsoft's linker ignores the resources\nunless they are specified as an object file, meaning including them in a possibly static\nlibrary is unintuitive."),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n# A rule that includes a single .rc file and compiles it into an object file.\nwindows_resource(\n name = "resources",\n srcs = [\n "resources.rc",\n ],\n)\n\n# A rule that links against the above windows_resource rule.\ncxx_binary(\n name = "app",\n srcs = [\n "main.cpp",\n ],\n deps = [\n ":resources"\n ],\n)\n\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"worker_tool"},"worker","_","tool"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def worker_tool(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _worker_tool_runner: str = _,\n args: str | list[str] = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n env: dict[str, str] = _,\n exe: None | str = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n max_workers: None | int = _,\n max_workers_per_thread_percent: None | int = _,\n persistent: None | bool = _\n) -> None\n")),(0,n.mdx)("p",null,"Some external tools have high startup costs. To amortize those costs over the whole build rather than paying them for each rule invocation, use the ",(0,n.mdx)("inlineCode",{parentName:"p"},"worker_tool()")," rule in conjunction with ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule()"),". Buck then starts the external tool once and reuses it by communicating with it over ",(0,n.mdx)("inlineCode",{parentName:"p"},"stdin")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"stdout")," using a simple JSON protocol."),(0,n.mdx)("h4",{id:"parameters-139"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"name"),": name of the target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"within_view"),": a list of visibility patterns restricting what this target can depend on"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"metadata"),": a key-value map of metadata associated with this target"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"tests"),": a list of targets that provide tests for this one"),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"args"),": A string of args that is passed to the executable represented by ",(0,n.mdx)("inlineCode",{parentName:"li"},"exe")," on initial startup."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"env"),": A map of environment variables that is passed to the executable represented by ",(0,n.mdx)("inlineCode",{parentName:"li"},"exe")," on initial startup."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"exe"),": A ",(0,n.mdx)("inlineCode",{parentName:"li"},"build target")," for a rule that outputs an executable, such as an ",(0,n.mdx)("inlineCode",{parentName:"li"},"sh_binary()"),". Buck runs this executable only once per build."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"max_workers"),": The maximum number of workers of this type that Buck starts. Use ",(0,n.mdx)("inlineCode",{parentName:"li"},"-1")," to allow the creation of as many workers as necessary."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"max_workers_per_thread_percent"),": The maximum ratio of workers of this type that Buck starts per thread, specified as a positive integer percentage (1-100). Must be greater than or equal to ",(0,n.mdx)("inlineCode",{parentName:"li"},"1")," and less than or equal to ",(0,n.mdx)("inlineCode",{parentName:"li"},"100"),". Only one of ",(0,n.mdx)("inlineCode",{parentName:"li"},"max_workers")," and ",(0,n.mdx)("inlineCode",{parentName:"li"},"max_workers_per_thread_percent")," may be specified."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"persistent"),": If set to true, Buck does not restart the tool unless the tool itself changes. This means the tool persists across multiple Buck commands without being shut down and may see the same rule being built more than once. Be careful not to use this setting with tools that don't expect to process the same input\u2014with different contents\u2014twice!")),(0,n.mdx)("h4",{id:"details-80"},"Details"),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"worker_tool")," rule can be referenced in the ",(0,n.mdx)("inlineCode",{parentName:"p"},"cmd")," parameter of\na ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule")," by using the macro:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n\n$(exe //path/to:target)\n\n")),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"Consider the following ",(0,n.mdx)("inlineCode",{parentName:"p"},"build rules"),":"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n#\n# Buck\n#\nworker_tool(\n name = 'ExternalToolWorker',\n exe = ':ExternalTool',\n args = '--arg1 --arg2'\n)\n\nsh_binary(\n name = 'ExternalTool',\n main = 'external_tool.sh',\n)\n\ngenrule(\n name = 'TransformA',\n out = 'OutputA.txt',\n cmd = '$(exe :ExternalToolWorker) argA',\n)\n\ngenrule(\n name = 'TransformB',\n out = 'OutputB.txt',\n cmd = '$(exe :ExternalToolWorker) argB',\n)\n\ngenrule(\n name = 'TransformC',\n out = 'OutputC.txt',\n cmd = '$(exe :ExternalToolWorker) argC',\n)\n")),(0,n.mdx)("p",null," When doing a ",(0,n.mdx)("inlineCode",{parentName:"p"},"buck build")," on all three of the above ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrules"),", Buck\nfirst creates the worker process by invoking:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n\n./external_tool.sh --arg1 --arg2\n\n")),(0,n.mdx)("p",null," Buck then communicates with this process using JSON over ",(0,n.mdx)("inlineCode",{parentName:"p"},"stdin"),",\nstarting with a handshake:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n[\n {\n "id": 0,\n "type": "handshake",\n "protocol_version": "0",\n "capabilities": []\n }\n\n')),(0,n.mdx)("p",null," Buck then waits for the tool to reply on ",(0,n.mdx)("inlineCode",{parentName:"p"},"stdout"),":"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n[\n {\n "id": 0,\n "type": "handshake",\n "protocol_version": "0",\n "capabilities": []\n }\n\n')),(0,n.mdx)("p",null," Then, when building the first ",(0,n.mdx)("inlineCode",{parentName:"p"},"genrule"),", Buck writes to ",(0,n.mdx)("inlineCode",{parentName:"p"},"stdin"),":"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n ,{\n "id": 1,\n "type": "command",\n "args_path": "/tmp/1.args",\n "stdout_path": "/tmp/1.out",\n "stderr_path": "/tmp/1.err"\n }\n\n')),(0,n.mdx)("p",null," The file ",(0,n.mdx)("inlineCode",{parentName:"p"},"/tmp/1.args")," contains ",(0,n.mdx)("inlineCode",{parentName:"p"},"argA"),". The tool should\nperform the necessary work for this job and then write the job's output to the files\nsupplied by Buck\u2014in this case, ",(0,n.mdx)("inlineCode",{parentName:"p"},"/tmp/1.out")," and ",(0,n.mdx)("inlineCode",{parentName:"p"},"/tmp/1.err"),".\nOnce the job is done, the tool should reply to Buck on ",(0,n.mdx)("inlineCode",{parentName:"p"},"stdout")," with:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n ,{\n "id": 1,\n "type": "result",\n "exit_code": 0\n }\n\n')),(0,n.mdx)("p",null," Once Buck hears back from the first genrule's job, it submits the second genrule's job in the\nsame fashion and awaits the response. When the build is all finished,\nBuck closes the JSON by writing to ",(0,n.mdx)("inlineCode",{parentName:"p"},"stdin"),":"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n]\n\n")),(0,n.mdx)("p",null," which signals the tool that it should exit after replying on ",(0,n.mdx)("inlineCode",{parentName:"p"},"stdout")," with:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n]\n\n")),(0,n.mdx)("p",null," In this example, Buck is guaranteed to invoke"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\n\n./external_tool.sh --arg1 --arg2\n\n")),(0,n.mdx)("p",null," only once during the build. The three jobs corresponding to the three genrules are submitted\nsynchronously to the single worker process."),(0,n.mdx)("p",null," Note that the ",(0,n.mdx)("inlineCode",{parentName:"p"},"id")," values in the messages are not necessarily increasing or sequential,\nbut they do have to match between the request message and the response message of a given job as\nwell as in the initial handshake."),(0,n.mdx)("p",null," If the tool receives a message type it cannot interpret it should answer with:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n{\n "id": <n>,\n "type": "error",\n "exit_code": 1\n}\n\n')),(0,n.mdx)("p",null," If the tool receives a message type it can interpret, but the other attributes of the\nmessage are in an inconsistent state, it should answer with:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\n{\n "id": <n>,\n "type": "error",\n "exit_code": 2\n}\n\n')),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"zip_file"},"zip","_","file"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def zip_file(\n *,\n name: str,\n default_target_platform: None | str = _,\n target_compatible_with: list[str] = _,\n compatible_with: list[str] = _,\n exec_compatible_with: list[str] = _,\n visibility: list[str] = _,\n within_view: list[str] = _,\n metadata: opaque_metadata = _,\n tests: list[str] = _,\n _apple_platforms: dict[str, str] = _,\n _zip_file_toolchain: str = _,\n buck2_compatibility: str = _,\n contacts: list[str] = _,\n default_host_platform: None | str = _,\n entries_to_exclude: list[str] = _,\n labels: list[str] = _,\n licenses: list[str] = _,\n on_duplicate_entry: str = _,\n out: str = _,\n srcs: list[str] = _,\n zip_srcs: list[str] = _\n) -> None\n")),(0,n.mdx)("p",null,"A ",(0,n.mdx)("inlineCode",{parentName:"p"},"zip_file()")," allows builds to create basic zip files in a platform-agnostic way."),(0,n.mdx)("h4",{id:"parameters-140"},"Parameters"),(0,n.mdx)("ul",null,(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"name"),": name of the target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"default_target_platform"),": specifies the default target platform, used when no platforms are specified on the command line")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"target_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with a configuration")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"exec_compatible_with"),": a list of constraints that are required to be satisfied for this target to be compatible with an execution platform")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"visibility"),": a list of visibility patterns restricting what targets can depend on this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"within_view"),": a list of visibility patterns restricting what this target can depend on")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"metadata"),": a key-value map of metadata associated with this target")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"tests"),": a list of targets that provide tests for this one")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"entries_to_exclude"),": List of regex expressions that describe entries that should not be included in the output zip file."),(0,n.mdx)("p",{parentName:"li"},"The regexes must be defined using ",(0,n.mdx)("inlineCode",{parentName:"p"},"java.util.regex.Pattern")," syntax.")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"on_duplicate_entry"),": Action performed when Buck detects that zip","_","file input contains multiple entries with the same name."),(0,n.mdx)("p",{parentName:"li"},"The valid values are:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"overwrite")," (default): the last entry overwrites all previous entries with\nthe same name."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"append"),": all entries are added to the output file."),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("inlineCode",{parentName:"li"},"fail"),": fail the build when duplicate entries are present."))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"out"),": The name of the zip file that should be generated. This allows builds to use a meaningful target name coupled with a meaningful zip file name. The default value takes the rule's ",(0,n.mdx)("inlineCode",{parentName:"p"},"name")," and appends ",(0,n.mdx)("inlineCode",{parentName:"p"},".zip"),".")),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),": The set of files to include in the zip."),(0,n.mdx)("p",{parentName:"li"},"Each ",(0,n.mdx)("inlineCode",{parentName:"p"},"src")," will be added to the zip as follows:"),(0,n.mdx)("ul",{parentName:"li"},(0,n.mdx)("li",{parentName:"ul"},"If the ",(0,n.mdx)("inlineCode",{parentName:"li"},"src")," is the output of another rule, the output\nwill be included using just the output's file name."),(0,n.mdx)("li",{parentName:"ul"},"If the ",(0,n.mdx)("inlineCode",{parentName:"li"},"src")," is a file relative to the rule's\ndeclaration, it will be included in the zip with its relative file\nname."))),(0,n.mdx)("li",{parentName:"ul"},(0,n.mdx)("p",{parentName:"li"},(0,n.mdx)("inlineCode",{parentName:"p"},"zip_srcs"),": The set of zip files whose content to include in the output zip file."),(0,n.mdx)("p",{parentName:"li"},"Note that the order of files in ",(0,n.mdx)("inlineCode",{parentName:"p"},"zip_srcs")," matters because the same zip entry can be\nincluded from multiple files. See the ",(0,n.mdx)("inlineCode",{parentName:"p"},"on_duplicate_entry")," argument to learn how to\ncontrol the behavior when there are multiple entries with the same name."),(0,n.mdx)("p",{parentName:"li"},"The entries from ",(0,n.mdx)("inlineCode",{parentName:"p"},"zip_srcs")," are added before files from ",(0,n.mdx)("inlineCode",{parentName:"p"},"srcs"),"."))),(0,n.mdx)("h4",{id:"details-81"},"Details"),(0,n.mdx)("p",null,"Examples:"),(0,n.mdx)("p",null,"This example will create a simple zip file."),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},'\nzip_file(\n # The output will be "example.zip"\n name = \'example\',\n srcs =\n # These files will be found in the zip under "dir/"\n glob([\'dir/**/*\']) +\n [\n # Imagine this generates the output\n # "buck-out/gen/foo/hello.txt". This output will\n # be found in the zip at "hello.txt"\n \'//some/other:target\',\n\n ],\n zip_srcs = [\n # The contents of this zip will be added to the generated zip.\n \'amazing-library-1.0-sources.zip\',\n ],\n entries_to_exclude = [\n "com/example/amazinglibrary/Source1.java",\n ],\n)\n\n')),(0,n.mdx)("p",null,'If you were to examine the generated zip, the contents would look\nsomething like (assuming the output of\n"',(0,n.mdx)("inlineCode",{parentName:"p"},"//some/other:target"),"\" was a file who's path ended with\n",(0,n.mdx)("inlineCode",{parentName:"p"},"hello.txt"),', the "',(0,n.mdx)("inlineCode",{parentName:"p"},"dir"),'" glob found two files,\nand "',(0,n.mdx)("inlineCode",{parentName:"p"},"amazing-library-1.0-sources.zip"),'" contained two Java\nsource files):'),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"\ndir/file1.txt\ndir/subdir/file2.txt\nhello.txt\ncom/example/amazinglibrary/Source2.java\n\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f65d88fb.5d36ba7c.js b/assets/js/f65d88fb.5d36ba7c.js new file mode 100644 index 0000000000000..fa6e56b47d3cd --- /dev/null +++ b/assets/js/f65d88fb.5d36ba7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4090],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>d,mdx:()=>b,useMDXComponents:()=>m,withMDXComponents:()=>l});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),l=function(e){return function(t){var n=m(t.components);return a.createElement(e,o({},t,{components:n}))}},m=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=m(e.components);return a.createElement(c.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,c=u(e,["components","mdxType","originalType","parentName"]),l=m(n),d=r,p=l["".concat(s,".").concat(d)]||l[d]||f[d]||o;return n?a.createElement(p,i(i({ref:t},c),{},{components:n})):a.createElement(p,i({ref:t},c))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,s=new Array(o);s[0]=h;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[p]="string"==typeof e?e:r,s[1]=i;for(var c=2;c<o;c++)s[c]=n[c];return a.createElement.apply(null,s)}return a.createElement.apply(null,n)}h.displayName="MDXCreateElement"},88267:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const o={id:"aquery",title:"aquery"},s=void 0,i={unversionedId:"users/commands/aquery",id:"users/commands/aquery",title:"aquery",description:"These are the flags/commands under buck2 aquery and their --help output:",source:"@site/../docs/users/commands/aquery.generated.md",sourceDirName:"users/commands",slug:"/users/commands/aquery",permalink:"/docs/users/commands/aquery",draft:!1,tags:[],version:"current",frontMatter:{id:"aquery",title:"aquery"},sidebar:"mainSidebar",previous:{title:"Glossary of Terms",permalink:"/docs/concepts/glossary"},next:{title:"audit",permalink:"/docs/users/commands/audit"}},u={},c=[{value:"buck aquery",id:"buck-aquery",level:2}],l={toc:c};function m(e){let{components:t,...n}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)("p",null,"These are the flags/commands under ",(0,r.mdx)("inlineCode",{parentName:"p"},"buck2 aquery")," and their ",(0,r.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,r.mdx)("h2",{id:"buck-aquery"},"buck aquery"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-text"},"Perform queries on the action graph (experimental)\n\nThe action graph consists of all the declared actions for a build,\nwith dependencies when one action consumes the outputs of another\naction.\n\nRun `buck2 docs aquery` or\nhttps://buck2.build/docs/users/query/aquery/\nfor more documentation about the functions available in aquery\nexpressions.\n\nExamples:\n\nPrint the action producing a target's default output\n\n`buck2 aquery //java/com/example/app:amazing`\n\nList all the commands for run actions for building a target\n\n`buck2 aquery 'kind(run, deps(\"//java/com/example/app:amazing+more\"))' --output-attribute=cmd`\n\nDynamic outputs (`ctx.actions.dynamic_output`):\n\nCurrently, aquery interacts poorly with dynamic outputs. It may\nreturn incorrect results or otherwise behave unexpectedly.\n\nUsage: buck2-release aquery [OPTIONS] <QUERY> [QUERY_ARGS]...\n\nArguments:\n <QUERY>\n the query to evaluate\n\n [QUERY_ARGS]...\n list of literals for a multi-query (one containing `%s` or `%Ss`)\n\nOptions:\n -A, --output-all-attributes\n Output all attributes, equivalent of --output-attribute ''.\n \n Avoid using this flag in automation because it may be expensive to produce certain\n attributes, and because it makes harder to track which special attributes are used.\n\n -B, --output-basic-attributes\n Output basic attributes, namely those the user can supply, plus rule type and package name\n\n -a, --output-attribute <ATTRIBUTE>\n Regular expressions to match attributes. Regular expressions are used in \"search\" mode, so\n for example empty string matches all attributes including special attributes.\n \n When using in automation, please specify the regular expression to match the attribute\n precisely, for example `--output-attribute '^headers$'` to make it easier to track which\n special attributes are used.\n\n --output-attributes <ATTRIBUTE>...\n Deprecated: Use `--output-attribute` instead.\n \n List of space-separated attributes to output, --output-attributes attr1 attr2.\n\n --json\n Output in JSON format\n\n --dot\n Output in Graphviz Dot format\n\n --dot-compact\n Output in a more compact format than Graphviz Dot\n\n --output-format <dot|dot_compact|json|starlark>\n Output format (default: list). \n \n dot - dot graph format. \n \n dot_compact - compact alternative to dot format. \n \n json - JSON format. \n \n starlark - targets are printed like starlark code that would produce them.\n \n \n [possible values: dot, json, dot_compact, starlark]\n\n -h, --help\n Print help (see a summary with '-h')\n\nTarget Configuration Options:\n --target-platforms <PLATFORM>\n Configuration target (one) to use to configure targets\n\n -m, --modifier <VALUE>\n A configuration modifier to configure all targets on the command line. This may be a\n constraint value target.\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nConsole Options:\n --console <super|simple|...>\n Which console to use for this command\n \n [env: BUCK_CONSOLE=]\n [default: auto]\n [possible values: simple, simplenotty, simpletty, super, auto, none]\n\n --ui <UI>...\n Configure additional superconsole ui components.\n \n Accepts a comma-separated list of superconsole components to add. Possible values are:\n \n dice - shows information about evaluated dice nodes debugevents - shows information about\n the flow of events from buckd\n \n These components can be turned on/off interactively. Press 'h' for help when superconsole\n is active.\n\n Possible values:\n - dice\n - debugevents\n - io: I/O panel\n - re: RE panel\n\n --no-interactive-console\n Disable console interactions\n \n [env: BUCK_NO_INTERACTIVE_CONSOLE=]\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f9b543d9.29ce3100.js b/assets/js/f9b543d9.29ce3100.js new file mode 100644 index 0000000000000..664905673704a --- /dev/null +++ b/assets/js/f9b543d9.29ce3100.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3476],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>l,MDXProvider:()=>m,mdx:()=>b,useMDXComponents:()=>d,withMDXComponents:()=>u});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(){return s=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},s.apply(this,arguments)}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)t=s[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)t=s[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=r.createContext({}),u=function(e){return function(n){var t=d(n.components);return r.createElement(e,s({},n,{components:t}))}},d=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},m=function(e){var n=d(e.components);return r.createElement(l.Provider,{value:n},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},f=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,s=e.originalType,a=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=d(t),m=o,p=u["".concat(a,".").concat(m)]||u[m]||h[m]||s;return t?r.createElement(p,i(i({ref:n},l),{},{components:t})):r.createElement(p,i({ref:n},l))}));function b(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var s=t.length,a=new Array(s);a[0]=f;var i={};for(var c in n)hasOwnProperty.call(n,c)&&(i[c]=n[c]);i.originalType=e,i[p]="string"==typeof e?e:o,a[1]=i;for(var l=2;l<s;l++)a[l]=t[l];return r.createElement.apply(null,a)}return r.createElement.apply(null,t)}f.displayName="MDXCreateElement"},744:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var r=t(87462),o=(t(67294),t(3905));const s={id:"subscribe",title:"subscribe"},a=void 0,i={unversionedId:"users/commands/subscribe",id:"users/commands/subscribe",title:"subscribe",description:"These are the flags/commands under buck2 subscribe and their --help output:",source:"@site/../docs/users/commands/subscribe.generated.md",sourceDirName:"users/commands",slug:"/users/commands/subscribe",permalink:"/docs/users/commands/subscribe",draft:!1,tags:[],version:"current",frontMatter:{id:"subscribe",title:"subscribe"},sidebar:"mainSidebar",previous:{title:"status",permalink:"/docs/users/commands/status"},next:{title:"targets",permalink:"/docs/users/commands/targets"}},c={},l=[{value:"buck subscribe",id:"buck-subscribe",level:2}],u={toc:l};function d(e){let{components:n,...t}=e;return(0,o.mdx)("wrapper",(0,r.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,o.mdx)("p",null,"These are the flags/commands under ",(0,o.mdx)("inlineCode",{parentName:"p"},"buck2 subscribe")," and their ",(0,o.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,o.mdx)("h2",{id:"buck-subscribe"},"buck subscribe"),(0,o.mdx)("pre",null,(0,o.mdx)("code",{parentName:"pre",className:"language-text"},"Open a subscription channel to the Buck2 daemon. This allows you to interact with the Buck2 daemon\nvia the `stdin` and `stdout` of this command: you send requests to the daemon by writing to `stdin`,\nand you get responses via `stdout`.\n\nThe protocol used by this command is length-prefixed protobuf. This format is a repeated series of a\nvarint followed by a record of the length indicated by said varint.\n\nThe protobuf spec for those records is described in `buck2_subscription_proto/subscription.proto`.\nThe client writes `SubscriptionRequest` and reads `SubscriptionResponse`. See the documentation in\n`subscription.proto` to discover available APIs.\n\nThis API does not (currently) allow invalid requests and will error out when one is sent.\n\nUsage: buck2-release subscribe [OPTIONS]\n\nOptions:\n --active-commands\n Whether to request command snapshots\n\n --unstable-json\n Whether to get output as JSON. The JSON format is deemed unstable so this should only be\n used for debugging\n\n -h, --help\n Print help (see a summary with '-h')\n\nBuckconfig Options:\n -c, --config <SECTION.OPTION=VALUE>\n List of config options\n\n --config-file <PATH>\n List of config file paths\n\n --fake-host <HOST>\n [possible values: default, linux, macos, windows]\n\n --fake-arch <ARCH>\n [possible values: default, aarch64, x8664]\n\n --fake-xcode-version <VERSION-BUILD>\n Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)\n\n --reuse-current-config\n Re-uses any `--config` values (inline or via modefiles) if there's a previous command,\n otherwise the flag is ignored.\n \n If there is a previous command and `--reuse-current-config` is set, then the old config is\n used, ignoring any overrides.\n \n If there is no previous command but the flag was set, then the flag is ignored, the\n command behaves as if the flag was not set at all.\n\n --exit-when-different-state\n Used for exiting a concurrent command when a different state is detected\n\n --preemptible <PREEMPTIBLE>\n Used to configure when this command could be preempted by another command for the same\n isolation dir.\n \n Normally, when you run two commands - from different terminals, say - buck2 will attempt\n to run them in parallel. However, if the two commands are based on different state, that\n is they either have different configs or different filesystem states, buck2 cannot run\n them in parallel. The default behavior in this case is to block the second command until\n the first completes.\n\n Possible values:\n - never: (default) When another command starts that cannot run in parallel with\n this one, block that command\n - always: When another command starts, interrupt this command, *even if they\n could run in parallel*. There is no good reason to use this other than that it provides\n slightly nicer superconsole output\n - ondifferentstate: When another command starts that cannot run in parallel with this one,\n interrupt this command\n\nStarlark Options:\n --disable-starlark-types\n Disable runtime type checking in Starlark interpreter.\n \n This option is not stable, and can be used only locally to diagnose evaluation performance\n problems.\n\n --stack\n Record or show target call stacks.\n \n Starlark call stacks will be included in duplicate targets error.\n \n If a command outputs targets (like `targets` command), starlark call stacks will be\n printed after the targets.\n\nEvent Log Options:\n --event-log <PATH>\n Write events to this log file\n\n --write-build-id <PATH>\n Write command invocation id into this file\n\n --unstable-write-invocation-record <PATH>\n Write the invocation record (as JSON) to this path. No guarantees whatsoever are made\n regarding the stability of the format\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fb247b1e.b3b056ef.js b/assets/js/fb247b1e.b3b056ef.js new file mode 100644 index 0000000000000..7a36561498e34 --- /dev/null +++ b/assets/js/fb247b1e.b3b056ef.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4913],{3905:(e,n,t)=>{t.r(n),t.d(n,{MDXContext:()=>d,MDXProvider:()=>c,mdx:()=>f,useMDXComponents:()=>s,withMDXComponents:()=>m});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},o.apply(this,arguments)}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var d=a.createContext({}),m=function(e){return function(n){var t=s(n.components);return a.createElement(e,o({},n,{components:t}))}},s=function(e){var n=a.useContext(d),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},c=function(e){var n=s(e.components);return a.createElement(d.Provider,{value:n},e.children)},h="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},g=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),m=s(t),c=r,h=m["".concat(i,".").concat(c)]||m[c]||u[c]||o;return t?a.createElement(h,l(l({ref:n},d),{},{components:t})):a.createElement(h,l({ref:n},d))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=g;var l={};for(var p in n)hasOwnProperty.call(n,p)&&(l[p]=n[p]);l.originalType=e,l[h]="string"==typeof e?e:r,i[1]=l;for(var d=2;d<o;d++)i[d]=t[d];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}g.displayName="MDXCreateElement"},85256:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>i,default:()=>s,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var a=t(87462),r=(t(67294),t(3905));const o={id:"gc"},i="A Moving Garbage Collector",l={unversionedId:"developers/starlark/gc",id:"developers/starlark/gc",title:"A Moving Garbage Collector",description:"This page describes a two-space garbage collector that can deal with cycles.",source:"@site/../docs/developers/starlark/gc.generated.md",sourceDirName:"developers/starlark",slug:"/developers/starlark/gc",permalink:"/docs/developers/starlark/gc",draft:!1,tags:[],version:"current",frontMatter:{id:"gc"},sidebar:"mainSidebar",previous:{title:"Environments",permalink:"/docs/developers/starlark/environment"},next:{title:"Heaps and Heap References",permalink:"/docs/developers/starlark/heaps"}},p={},d=[{value:"A worked example",id:"a-worked-example",level:2}],m={toc:d};function s(e){let{components:n,...t}=e;return(0,r.mdx)("wrapper",(0,a.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,r.mdx)("h1",{id:"a-moving-garbage-collector"},"A Moving Garbage Collector"),(0,r.mdx)("p",null,"This page describes a two-space garbage collector that can deal with cycles."),(0,r.mdx)("p",null,"In Starlark, this pattern is used both when doing a real garbage collection, and\nwhen freezing. For both cases, it starts out with a memory block, which has\npointers referring to things inside it, and ends up with a new memory block with\nequivalent pointers inside it. However, only pointers reachable from outside the\noriginal memory block are available in the new memory block. The garbage\ncollector can deal with cyclic data structures and the time spent is\nproportional to the amount of live data in the heap (memory that is dropped is\nnot even visited)."),(0,r.mdx)("h2",{id:"a-worked-example"},"A worked example"),(0,r.mdx)("p",null,"Given a heap with the following layout:"),(0,r.mdx)("pre",null,(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},'X := Data("world")\nY := Data("hello", X, Y)\nZ := Data("universe")\n')),(0,r.mdx)("p",null,"All of ",(0,r.mdx)("inlineCode",{parentName:"p"},"X"),", ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"Z")," are memory locations. The ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y")," memory location has both\nsome data of its own (",(0,r.mdx)("inlineCode",{parentName:"p"},'"hello"'),") and two pointers (",(0,r.mdx)("inlineCode",{parentName:"p"},"X")," and ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y")," itself)."),(0,r.mdx)("p",null,"The pointers from outside the heap into the heap are known as ",(0,r.mdx)("em",{parentName:"p"},"roots"),"."),(0,r.mdx)("p",null,"Assuming, in the above example, that ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y")," is the only root, then, since ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y")," is\nused from outside, ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y")," must be moved to the new memory block. Consequently, the\ndata ",(0,r.mdx)("inlineCode",{parentName:"p"},"X")," needs to be copied, but ",(0,r.mdx)("inlineCode",{parentName:"p"},"Z")," can be dropped."),(0,r.mdx)("p",null,"Following are the required steps for using a garbage collector:"),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},"To copy ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y"),", allocate a value in the new heap ",(0,r.mdx)("inlineCode",{parentName:"p"},"A")," with a sentinel value in it\n(that that sentinel is called a ",(0,r.mdx)("inlineCode",{parentName:"p"},"Blackhole"),"). Then, turn ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y")," into a\n",(0,r.mdx)("inlineCode",{parentName:"p"},"Forward(A)")," pointer, so that if anyone else in this cycle tries to collect\n",(0,r.mdx)("inlineCode",{parentName:"p"},"Y"),' they immediately "forward" to the new value and the data from ',(0,r.mdx)("inlineCode",{parentName:"p"},"Y")," is\ngrabbed so its pointers can be traversed. That results in the following:"),(0,r.mdx)("pre",{parentName:"li"},(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},'X := Data("world")\nY := Forward(A)\nZ := Data("universe")\n\nA := Blackhole\n')),(0,r.mdx)("p",{parentName:"li"},"With ",(0,r.mdx)("inlineCode",{parentName:"p"},'Data("hello", X, Y)')," as the current item being processed.")),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},"Walk the pointers of the current value, performing a garbage collection on\neach of them. To copy ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y"),", it can be seen that ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y")," points at a ",(0,r.mdx)("inlineCode",{parentName:"p"},"Forward(A)"),"\nnode, so there's no need to do anything. To copy ",(0,r.mdx)("inlineCode",{parentName:"p"},"X"),", follow the process\nstarting at step 1, but for ",(0,r.mdx)("inlineCode",{parentName:"p"},"X")," (which ends up at ",(0,r.mdx)("inlineCode",{parentName:"p"},"B"),"). Performing that move\nleads to the following:"),(0,r.mdx)("pre",{parentName:"li"},(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},'X := Forward(B)\nY := Forward(A)\nZ := Data("universe")\n\nA := Blackhole\nB := Data("world")\n'))),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},"Replace all the pointers with the forwarded value, and write it back over the\n",(0,r.mdx)("inlineCode",{parentName:"p"},"Blackhole")," in ",(0,r.mdx)("inlineCode",{parentName:"p"},"A"),". This gives the following:"),(0,r.mdx)("pre",{parentName:"li"},(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},'X := Forward(B)\nY := Forward(A)\nZ := Data("universe")\n\nA := Data("hello", B, A)\nB := Data("world")\n'))),(0,r.mdx)("li",{parentName:"ol"},(0,r.mdx)("p",{parentName:"li"},"Adjust any roots pointing at ",(0,r.mdx)("inlineCode",{parentName:"p"},"Y")," to point at ",(0,r.mdx)("inlineCode",{parentName:"p"},"A")," and throw away the original\nheap, which produces the following:"),(0,r.mdx)("pre",{parentName:"li"},(0,r.mdx)("code",{parentName:"pre",className:"language-bash"},'A := Data("hello", B, A)\nB := Data("world")\n')))),(0,r.mdx)("p",null,"These above four steps successfully garbage collects a cyclic data structure,\nwhile preserving the cycles and getting rid of the unused data."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fca77127.cc261230.js b/assets/js/fca77127.cc261230.js new file mode 100644 index 0000000000000..2545ff47c1798 --- /dev/null +++ b/assets/js/fca77127.cc261230.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2857],{3905:(e,t,r)=>{r.r(t),r.d(t,{MDXContext:()=>u,MDXProvider:()=>b,mdx:()=>f,useMDXComponents:()=>s,withMDXComponents:()=>c});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},l.apply(this,arguments)}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var u=a.createContext({}),c=function(e){return function(t){var r=s(t.components);return a.createElement(e,l({},t,{components:r}))}},s=function(e){var t=a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},b=function(e){var t=s(e.components);return a.createElement(u.Provider,{value:t},e.children)},d="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),c=s(r),b=n,d=c["".concat(o,".").concat(b)]||c[b]||g[b]||l;return r?a.createElement(d,i(i({ref:t},u),{},{components:r})):a.createElement(d,i({ref:t},u))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,o=new Array(l);o[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[d]="string"==typeof e?e:n,o[1]=i;for(var u=2;u<l;u++)o[u]=r[u];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}m.displayName="MDXCreateElement"},13947:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>s,frontMatter:()=>l,metadata:()=>i,toc:()=>u});var a=r(87462),n=(r(67294),r(3905));const l={id:"target_label"},o="target_label type",i={unversionedId:"api/build/target_label",id:"api/build/target_label",title:"target_label type",description:"target\\_label.cell",source:"@site/../docs/api/build/target_label.generated.md",sourceDirName:"api/build",slug:"/api/build/target_label",permalink:"/docs/api/build/target_label",draft:!1,tags:[],version:"current",frontMatter:{id:"target_label"},sidebar:"apiSidebar",previous:{title:"providers_label type",permalink:"/docs/api/build/providers_label"},next:{title:"globals",permalink:"/docs/api/bxl/globals"}},p={},u=[{value:"target_label.cell",id:"target_labelcell",level:2},{value:"target_label.name",id:"target_labelname",level:2},{value:"target_label.package",id:"target_labelpackage",level:2},{value:"target_label.with_sub_target",id:"target_labelwith_sub_target",level:2}],c={toc:u};function s(e){let{components:t,...r}=e;return(0,n.mdx)("wrapper",(0,a.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)("h1",{id:"target_label-type"},(0,n.mdx)("inlineCode",{parentName:"h1"},"target_label")," type"),(0,n.mdx)("h2",{id:"target_labelcell"},"target","_","label.cell"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"target_label.cell: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"target_labelname"},"target","_","label.name"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"target_label.name: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"target_labelpackage"},"target","_","label.package"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"target_label.package: str\n")),(0,n.mdx)("hr",null),(0,n.mdx)("h2",{id:"target_labelwith_sub_target"},"target","_","label.with","_","sub","_","target"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-python"},"def target_label.with_sub_target(\n subtarget_name: str | list[str] = _\n) -> providers_label\n")),(0,n.mdx)("p",null,"Converts a ",(0,n.mdx)("inlineCode",{parentName:"p"},"TargetLabel")," into its corresponding ",(0,n.mdx)("inlineCode",{parentName:"p"},"ProvidersLabel")," given the subtarget names, which is a list for each layer of subtarget"),(0,n.mdx)("p",null,"Sample usage:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre",className:"language-text"},'def _impl_sub_target(ctx):\n owners = ctx.uquery().owner("bin/TARGETS.fixture")\n for owner in owners:\n unconfigured_label = owner.label\n ctx.output.print(unconfigured_label.with_sub_target())\n ctx.output.print(unconfigured_label.with_sub_target("subtarget1"))\n ctx.output.print(unconfigured_label.with_sub_target(["subtarget1", "subtarget2"]))\n')))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fe36bde7.2fcec53a.js b/assets/js/fe36bde7.2fcec53a.js new file mode 100644 index 0000000000000..85102df3a107d --- /dev/null +++ b/assets/js/fe36bde7.2fcec53a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4219],{3905:(e,t,n)=>{n.r(t),n.d(t,{MDXContext:()=>c,MDXProvider:()=>p,mdx:()=>h,useMDXComponents:()=>m,withMDXComponents:()=>l});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),l=function(e){return function(t){var n=m(t.components);return r.createElement(e,s({},t,{components:n}))}},m=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):u(u({},t),e)),n},p=function(e){var t=m(e.components);return r.createElement(c.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,s=e.originalType,o=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),l=m(n),p=a,d=l["".concat(o,".").concat(p)]||l[p]||f[p]||s;return n?r.createElement(d,u(u({ref:t},c),{},{components:n})):r.createElement(d,u({ref:t},c))}));function h(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=n.length,o=new Array(s);o[0]=b;var u={};for(var i in t)hasOwnProperty.call(t,i)&&(u[i]=t[i]);u.originalType=e,u[d]="string"==typeof e?e:a,o[1]=u;for(var c=2;c<s;c++)o[c]=n[c];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}b.displayName="MDXCreateElement"},10592:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>o,default:()=>m,frontMatter:()=>s,metadata:()=>u,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const s={id:"status",title:"status"},o=void 0,u={unversionedId:"users/commands/status",id:"users/commands/status",title:"status",description:"These are the flags/commands under buck2 status and their --help output:",source:"@site/../docs/users/commands/status.generated.md",sourceDirName:"users/commands",slug:"/users/commands/status",permalink:"/docs/users/commands/status",draft:!1,tags:[],version:"current",frontMatter:{id:"status",title:"status"},sidebar:"mainSidebar",previous:{title:"starlark",permalink:"/docs/users/commands/starlark"},next:{title:"subscribe",permalink:"/docs/users/commands/subscribe"}},i={},c=[{value:"buck status",id:"buck-status",level:2}],l={toc:c};function m(e){let{components:t,...n}=e;return(0,a.mdx)("wrapper",(0,r.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,a.mdx)("p",null,"These are the flags/commands under ",(0,a.mdx)("inlineCode",{parentName:"p"},"buck2 status")," and their ",(0,a.mdx)("inlineCode",{parentName:"p"},"--help")," output:"),(0,a.mdx)("h2",{id:"buck-status"},"buck status"),(0,a.mdx)("pre",null,(0,a.mdx)("code",{parentName:"pre",className:"language-text"},"Buckd status\n\nUsage: buck2-release status [OPTIONS]\n\nOptions:\n --snapshot\n Whether to include a state snapshot in the output.\n\n --all\n Enable printing status for all running buckd\n\n -h, --help\n Print help (see a summary with '-h')\n\nUniversal Options:\n -v, --verbose <VERBOSITY>\n How verbose buck should be while logging.\n \n Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =\n more info about everything; 4 = more info about everything + stderr;\n \n It can be combined with specific log items (stderr, full_failed_command, commands,\n actions, status, stats, success) to fine-tune the verbosity of the log. Example usage\n \"-v=1,stderr\"\n \n [default: 1]\n\n --oncall <ONCALL>\n The oncall executing this command\n\n --client-metadata <CLIENT_METADATA>\n Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the\n form `key=value`, where `key` is a snake_case identifier, and will be sent to backend\n datasets\n\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.b107f3c6.js b/assets/js/main.b107f3c6.js new file mode 100644 index 0000000000000..24b81e7a9cff4 --- /dev/null +++ b/assets/js/main.b107f3c6.js @@ -0,0 +1,2 @@ +/*! For license information please see main.b107f3c6.js.LICENSE.txt */ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(67294),a=n(87462),o=n(68356),i=n.n(o),s=n(16887);const l={"00acdd45":[()=>n.e(1796).then(n.bind(n,75262)),"@site/../docs/api/build/digest_config.generated.md",75262],"014949af":[()=>n.e(6986).then(n.bind(n,87280)),"@site/../docs/rule_authors/dep_files.md",87280],"01e98fbb":[()=>n.e(3907).then(n.bind(n,63561)),"@site/../docs/api/bxl/artifact.generated.md",63561],"01f44ee0":[()=>n.e(6708).then(n.bind(n,64566)),"@site/../docs/users/commands/query.generated.md",64566],"03a88bad":[()=>n.e(6568).then(n.bind(n,87989)),"@site/../docs/index.md",87989],"040433d8":[()=>n.e(6598).then(n.bind(n,15154)),"@site/../docs/api/build/artifact.generated.md",15154],"04f21c51":[()=>n.e(3537).then(n.bind(n,83926)),"@site/../docs/api/bxl/dependency.generated.md",83926],"05bc5f0c":[()=>n.e(1707).then(n.bind(n,6046)),"@site/../docs/api/bxl/bxl.Filesystem.generated.md",6046],"064ea4d5":[()=>n.e(5827).then(n.bind(n,59519)),"@site/../docs/developers/bxl_basics.md",59519],"0672ca2d":[()=>n.e(9525).then(n.bind(n,18887)),"@site/../docs/about/benefits/compared_to_buck1.md",18887],"084ef0a3":[()=>n.e(5624).then(n.bind(n,11448)),"@site/../docs/users/commands/ctargets.generated.md",11448],"0a7b70f3":[()=>n.e(8255).then(n.bind(n,3355)),"@site/../docs/users/remote_execution.md",3355],"0c924533":[()=>n.e(893).then(n.bind(n,67240)),"@site/../docs/api/bxl/configured_target_label.generated.md",67240],"0f079156":[()=>n.e(3674).then(n.bind(n,26213)),"@site/../docs/rfcs/drafts/test-info-v2.md",26213],"0fa06060":[()=>n.e(7778).then(n.bind(n,29988)),"@site/../docs/concepts/build_rule.md",29988],"10cf57ad":[()=>n.e(6618).then(n.bind(n,15407)),"@site/../docs/api/bxl/buck_regex.generated.md",15407],"14372d82":[()=>n.e(3353).then(n.bind(n,99049)),"@site/../docs/api/bxl/ActionErrorLocation.generated.md",99049],"1500e4bc":[()=>n.e(2914).then(n.bind(n,89219)),"@site/../docs/users/advanced/in_memory_cache.md",89219],"15c251f0":[()=>n.e(1621).then(n.bind(n,46454)),"@site/../docs/users/commands/uquery.generated.md",46454],"16722cc9":[()=>n.e(3754).then(n.bind(n,26910)),"@site/../docs/users/build_observability/logging.md",26910],17896441:[()=>Promise.all([n.e(532),n.e(1554),n.e(7918)]).then(n.t.bind(n,62466,23)),"@theme/DocItem",62466],"1789f4b6":[()=>n.e(2823).then(n.bind(n,22470)),"@site/../docs/api/bxl/coerced_attr.generated.md",22470],"1b144072":[()=>n.e(4867).then(n.bind(n,63391)),"@site/../docs/developers/bxl_anon_target.md",63391],"1b88b802":[()=>n.e(7768).then(n.bind(n,10362)),"@site/../docs/developers/starlark/values.generated.md",10362],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,19963)),"@theme/DocPage",19963],"1d939d9f":[()=>n.e(5024).then(n.bind(n,16733)),"@site/../docs/users/commands/profile.generated.md",16733],"1ebbfb0c":[()=>n.e(2965).then(n.bind(n,14016)),"@site/../docs/api/bxl/actions.generated.md",14016],"1f1dcb8c":[()=>n.e(9013).then(n.bind(n,67863)),"@site/../docs/api/bxl/label.generated.md",67863],"1f32ca52":[()=>n.e(9610).then(n.bind(n,44407)),"@site/../docs/developers/architecture/buck2_telemetry.md",44407],"1f61cb20":[()=>n.e(7728).then(n.bind(n,8865)),"@site/../docs/api/build/cmd_args.generated.md",8865],"1f8f7044":[()=>n.e(1970).then(n.bind(n,39992)),"@site/../docs/users/commands/clean.generated.md",39992],"20829a8d":[()=>n.e(3665).then(n.bind(n,81618)),"@site/../docs/users/query/cquery.generated.md",81618],"233d3b94":[()=>n.e(4733).then(n.bind(n,17940)),"@site/../docs/api/bxl/label_relative_path.generated.md",17940],"241c63ce":[()=>n.e(4346).then(n.bind(n,47891)),"@site/../docs/api/bxl/bxl.TargetUniverse.generated.md",47891],"265f0f39":[()=>n.e(5319).then(n.bind(n,71840)),"@site/../docs/api/starlark/list.generated.md",71840],"2818b939":[()=>n.e(1545).then(n.bind(n,64766)),"@site/../docs/developers/request_for_comments.md",64766],"28453fbb":[()=>n.e(1522).then(n.bind(n,86814)),"@site/../docs/users/faq/buck_hanging.md",86814],"28bf35cf":[()=>n.e(3104).then(n.bind(n,45970)),"@site/../docs/rule_authors/dynamic_dependencies.md",45970],"2a9e5fca":[()=>n.e(3955).then(n.bind(n,66225)),"@site/../docs/users/commands/log.generated.md",66225],"2e8c76df":[()=>n.e(5682).then(n.bind(n,60688)),"@site/../docs/users/commands/help-env.generated.md",60688],"329b779f":[()=>n.e(8541).then(n.bind(n,16121)),"@site/../docs/developers/starlark/spec.md",16121],"3387e07d":[()=>n.e(7318).then(n.bind(n,35618)),"@site/../docs/api/bxl/bxl.AuditContext.generated.md",35618],"3447d6d5":[()=>n.e(6681).then(n.t.bind(n,15745,19)),"/home/runner/work/buck2/buck2/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",15745],"3a4767eb":[()=>n.e(6724).then(n.bind(n,65319)),"@site/../docs/api/build/attrs.generated.md",65319],"3ab0d764":[()=>n.e(1821).then(n.bind(n,85137)),"@site/../docs/users/commands/init.generated.md",85137],"3abea06a":[()=>n.e(1623).then(n.bind(n,1673)),"@site/../docs/api/bxl/cmd_args.generated.md",1673],"3b1c98d3":[()=>n.e(6053).then(n.bind(n,41842)),"@site/../docs/concepts/target_pattern.md",41842],"3b7fd5d9":[()=>n.e(9518).then(n.bind(n,17847)),"@site/../docs/api/build/actions.generated.md",17847],"3bfeda06":[()=>n.e(8033).then(n.bind(n,99560)),"@site/../docs/developers/bxl_target_universe.md",99560],"3ec19b9d":[()=>n.e(7829).then(n.bind(n,98126)),"@site/../docs/rule_authors/writing_rules.md",98126],"3f53dfef":[()=>n.e(6267).then(n.bind(n,10949)),"@site/../docs/api/bxl/action_attr.generated.md",10949],"4114853d":[()=>n.e(6738).then(n.bind(n,33062)),"@site/../docs/rfcs/audit_visibility.md",33062],"41346a35":[()=>n.e(9372).then(n.bind(n,56155)),"@site/../docs/rule_authors/configuration_transitions.md",56155],"416c542a":[()=>n.e(5828).then(n.bind(n,26426)),"@site/../docs/users/commands/test.generated.md",26426],"41acaa78":[()=>n.e(4031).then(n.bind(n,95659)),"@site/../docs/users/advanced/deferred_materialization.md",95659],"41d85637":[()=>n.e(1920).then(n.bind(n,81858)),"@site/../docs/users/build_observability/build_report.md",81858],"424eeae8":[()=>n.e(5046).then(n.bind(n,55034)),"@site/../docs/api/bxl/bxl.CqueryContext.generated.md",55034],"434253ce":[()=>n.e(861).then(n.bind(n,13609)),"@site/../docs/concepts/glossary.md",13609],"43d67a8f":[()=>n.e(9779).then(n.bind(n,72307)),"@site/../docs/developers/bxl_faq.md",72307],"48c2bdd5":[()=>n.e(6537).then(n.bind(n,21009)),"@site/../docs/api/bxl/providers_label.generated.md",21009],"495cfe08":[()=>n.e(3236).then(n.bind(n,78122)),"@site/../docs/rfcs/attr-metadata.md",78122],"4ad9b6eb":[()=>n.e(6).then(n.bind(n,1973)),"@site/../docs/users/advanced/restarter.md",1973],"4e0add5e":[()=>n.e(2129).then(n.bind(n,14376)),"@site/../docs/users/query/aquery.generated.md",14376],"4e2e2d93":[()=>n.e(7267).then(n.bind(n,80328)),"@site/../docs/api/bxl/plugins.generated.md",80328],"4e46a25b":[()=>n.e(9812).then(n.bind(n,82620)),"@site/../docs/developers/architecture/buck1_vs_buck2.md",82620],"54787e77":[()=>n.e(8598).then(n.bind(n,45882)),"@site/../docs/api/bxl/bxl.AqueryContext.generated.md",45882],"555693ad":[()=>n.e(5712).then(n.bind(n,52315)),"@site/../docs/rule_authors/local_resources.md",52315],"578af228":[()=>n.e(6742).then(n.bind(n,99238)),"@site/../docs/developers/starlark/types.generated.md",99238],"5857b081":[()=>n.e(4373).then(n.bind(n,47303)),"@site/../docs/api/build/label_relative_path.generated.md",47303],"5c9a7f50":[()=>n.e(9198).then(n.bind(n,8693)),"@site/../docs/api/build/buck_regex.generated.md",8693],"5d5b105f":[()=>n.e(207).then(n.bind(n,3196)),"@site/../docs/api/build/ActionSubError.generated.md",3196],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,36809)),"@generated/docusaurus.config",36809],"5ea06253":[()=>n.e(2417).then(n.bind(n,61708)),"@site/../docs/developers/bxl_common_how_tos.md",61708],"614ae508":[()=>n.e(5394).then(n.bind(n,89314)),"@site/../docs/api/bxl/anon_targets.generated.md",89314],"61d19613":[()=>n.e(9813).then(n.bind(n,62156)),"@site/../docs/users/commands/bxl.generated.md",62156],"637357b7":[()=>n.e(338).then(n.bind(n,50849)),"@site/../docs/users/commands/kill.generated.md",50849],"6689f2eb":[()=>n.e(6853).then(n.bind(n,38973)),"@site/../docs/developers/bxl_dynamic_output.md",38973],"66b456ad":[()=>n.e(513).then(n.bind(n,70140)),"@site/../docs/developers/bxl_telemetry.md",70140],"67054b0e":[()=>n.e(6849).then(n.bind(n,62203)),"@site/../docs/api/build/context.generated.md",62203],"6969bfce":[()=>n.e(7399).then(n.bind(n,644)),"@site/../docs/users/build_observability/interactive_console.md",644],"6b2bab4e":[()=>n.e(3500).then(n.bind(n,8344)),"@site/../docs/rule_authors/alias.md",8344],"6c18948f":[()=>n.e(4674).then(n.bind(n,32147)),"@site/../docs/concepts/key_concepts.md",32147],"6e30c280":[()=>n.e(4747).then(n.bind(n,2860)),"@site/../docs/api/bxl/provider_collection.generated.md",2860],"70be65e6":[()=>n.e(364).then(n.bind(n,44646)),"@site/../docs/api/bxl/bxl.OutputStream.generated.md",44646],"718abaf2":[()=>n.e(255).then(n.bind(n,79955)),"@site/../docs/api/bxl/attrs.generated.md",79955],"722dd74e":[()=>n.e(9236).then(n.bind(n,10249)),"@site/../docs/api/build/promise.generated.md",10249],"723b55bc":[()=>n.e(1958).then(n.bind(n,30894)),"@site/../docs/api/bxl/digest_config.generated.md",30894],"736e3526":[()=>n.e(2524).then(n.bind(n,85361)),"@site/../docs/api/bxl/bxl.AnalysisResult.generated.md",85361],"74337fb8":[()=>n.e(6370).then(n.bind(n,52325)),"@site/../docs/api/bxl/ActionSubError.generated.md",52325],"754588f1":[()=>n.e(6037).then(n.bind(n,34567)),"@site/../docs/api/bxl/bxl.ActionQueryNode.generated.md",34567],"75c5f97a":[()=>n.e(392).then(n.bind(n,92235)),"@site/../docs/api/bxl/globals.generated.md",92235],"76ed1b17":[()=>n.e(6251).then(n.bind(n,27909)),"@site/../docs/about/why.md",27909],"7945c54f":[()=>n.e(9465).then(n.bind(n,86839)),"@site/../docs/users/commands/completion.generated.md",86839],"794bd6ba":[()=>n.e(3296).then(n.bind(n,62942)),"@site/../docs/users/faq/starlark_peak_mem.md",62942],"79d5604b":[()=>n.e(7826).then(n.bind(n,39641)),"@site/../docs/api/starlark/string.generated.md",39641],"7ad18b5f":[()=>n.e(5733).then(n.bind(n,99202)),"@site/../docs/rule_authors/incremental_actions.md",99202],"7af443e0":[()=>n.e(8466).then(n.bind(n,26438)),"@site/../docs/users/commands/server.generated.md",26438],"7b289690":[()=>n.e(7459).then(n.bind(n,7148)),"@site/../docs/rule_authors/optimization.md",7148],"7eb47a1c":[()=>n.e(1831).then(n.bind(n,77920)),"@site/../docs/users/commands/starlark.generated.md",77920],"852120c7":[()=>n.e(8074).then(n.bind(n,13433)),"@site/../docs/developers/starlark/heaps.generated.md",13433],"85c493e5":[()=>n.e(525).then(n.bind(n,13043)),"@site/../docs/api/build/ActionErrorCtx.generated.md",13043],"86dcd6f7":[()=>n.e(7585).then(n.bind(n,90013)),"@site/../docs/rule_authors/transitive_sets.md",90013],"88c3dc86":[()=>n.e(6995).then(n.bind(n,33820)),"@site/../docs/concepts/buck_out.md",33820],"892f7c1f":[()=>n.e(8301).then(n.bind(n,2692)),"@site/../docs/api/bxl/promise.generated.md",2692],"8c0fa522":[()=>n.e(1860).then(n.bind(n,2850)),"@site/../docs/api/build/anon_targets.generated.md",2850],"8c7f4a27":[()=>n.e(8779).then(n.bind(n,31778)),"@site/../docs/api/bxl/bxl.LazyResolvedAttrs.generated.md",31778],"8cb0a2ab":[()=>n.e(7702).then(n.bind(n,1062)),"@site/../docs/api/build/StackFrame.generated.md",1062],"8d02fc2c":[()=>n.e(1603).then(n.bind(n,78866)),"@site/../docs/concepts/daemon.md",78866],"8d489760":[()=>n.e(3631).then(n.bind(n,55284)),"@site/../docs/developers/starlark/environment.generated.md",55284],"8dae023b":[()=>n.e(9194).then(n.t.bind(n,83769,19)),"/home/runner/work/buck2/buck2/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",83769],"8e0def3d":[()=>n.e(1438).then(n.bind(n,1882)),"@site/../docs/about/getting_started.md",1882],"8e47425f":[()=>n.e(1846).then(n.bind(n,2668)),"@site/../docs/api/starlark/dict.generated.md",2668],"8f36972d":[()=>n.e(3117).then(n.bind(n,78241)),"@site/../docs/api/bxl/bxl.UqueryContext.generated.md",78241],"90012eb2":[()=>n.e(4184).then(n.bind(n,56281)),"@site/../docs/rfcs/bxl-analysis.md",56281],"910f3c4d":[()=>n.e(9533).then(n.bind(n,73955)),"@site/../docs/developers/windows_cheat_sheet.md",73955],"92c12836":[()=>n.e(6797).then(n.bind(n,82524)),"@site/../docs/api/bxl/bxl.Context.generated.md",82524],"9302fcfe":[()=>n.e(8266).then(n.bind(n,93783)),"@site/../docs/api/bxl/file_set.generated.md",93783],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"94a2f733":[()=>n.e(3040).then(n.bind(n,58608)),"@site/../docs/api/bxl/ensured_artifact_group.generated.md",58608],"955ef9b4":[()=>n.e(5141).then(n.bind(n,37779)),"@site/../docs/concepts/visibility.md",37779],97439213:[()=>n.e(7538).then(n.bind(n,13217)),"@site/../docs/users/faq/common_issues.md",13217],"9d896ab8":[()=>n.e(9685).then(n.bind(n,18860)),"@site/../docs/rule_authors/anon_targets.md",18860],"9f75976f":[()=>n.e(8875).then(n.bind(n,48010)),"@site/../docs/users/commands/root.generated.md",48010],a2c5be65:[()=>n.e(8535).then(n.bind(n,60203)),"@site/../docs/concepts/buckconfig.md",60203],a40c6557:[()=>n.e(1324).then(n.bind(n,48008)),"@site/../docs/api/build/ActionErrorLocation.generated.md",48008],a4ab3bf3:[()=>n.e(3566).then(n.bind(n,76929)),"@site/../docs/api/build/provider_collection.generated.md",76929],a88bfb13:[()=>n.e(8698).then(n.bind(n,36509)),"@site/../docs/rule_authors/configurations.md",36509],a9c4ab75:[()=>n.e(150).then(n.bind(n,8025)),"@site/../docs/api/build/label.generated.md",8025],aa5654f3:[()=>n.e(2430).then(n.bind(n,82055)),"@site/../docs/rfcs/drafts/universal-cfg-naming.md",82055],ae29e9d1:[()=>n.e(3846).then(n.bind(n,13005)),"@site/../docs/users/commands/expand-external-cell.generated.md",13005],afa575f6:[()=>n.e(9254).then(n.bind(n,26396)),"@site/../docs/users/commands/utargets.generated.md",26396],b1f14c1e:[()=>n.e(5983).then(n.bind(n,60198)),"@site/../docs/users/commands/docs.generated.md",60198],b4f9e79c:[()=>n.e(2961).then(n.bind(n,97033)),"@site/../docs/api/bxl/ActionErrorCtx.generated.md",97033],b6052872:[()=>n.e(7610).then(n.bind(n,48273)),"@site/../docs/developers/bxl_getting_started.md",48273],b7c3ea2a:[()=>n.e(8902).then(n.bind(n,16768)),"@site/../docs/users/commands/audit.generated.md",16768],b81047f4:[()=>n.e(5609).then(n.bind(n,71749)),"@site/../docs/rfcs/drafts/bxl-actions.md",71749],b908f3dc:[()=>n.e(3111).then(n.bind(n,11122)),"@site/../docs/developers/bxl.md",11122],ba3274fe:[()=>n.e(6959).then(n.bind(n,25795)),"@site/../docs/api/starlark/globals.generated.md",25795],bb8830dd:[()=>n.e(9133).then(n.bind(n,72676)),"@site/../docs/users/commands/cquery.generated.md",72676],bf772405:[()=>n.e(6259).then(n.bind(n,50594)),"@site/../docs/rfcs/drafts/digest-kinds.md",50594],c0da4fa6:[()=>n.e(3291).then(n.bind(n,71074)),"@site/../docs/api/bxl/bxl.FileNode.generated.md",71074],c11991f3:[()=>n.e(8346).then(n.bind(n,66449)),"@site/../docs/api/bxl/bxl.ConfiguredTargetNode.generated.md",66449],c39f63f4:[()=>n.e(615).then(n.bind(n,24358)),"@site/../docs/developers/options.md",24358],c423787e:[()=>n.e(9092).then(n.bind(n,68226)),"@site/../docs/api/bxl/action.generated.md",68226],c47ebe08:[()=>n.e(3423).then(n.bind(n,96762)),"@site/../docs/users/cheatsheet.md",96762],c4ae0129:[()=>n.e(514).then(n.bind(n,20427)),"@site/../docs/rfcs/package-local-values.md",20427],c4f5d8e4:[()=>Promise.all([n.e(532),n.e(4195)]).then(n.bind(n,59335)),"@site/src/pages/index.js",59335],c6241b00:[()=>n.e(8936).then(n.bind(n,21836)),"@site/../docs/about/bootstrapping.md",21836],c6c1357b:[()=>n.e(5461).then(n.bind(n,5346)),"@site/../docs/concepts/concept_map.md",5346],c7e38557:[()=>n.e(2228).then(n.bind(n,72327)),"@site/../docs/users/query/uquery.generated.md",72327],c8f6bf1e:[()=>n.e(2629).then(n.bind(n,6485)),"@site/../docs/api/bxl/bxl.UnconfiguredTargetNode.generated.md",6485],ca36dca5:[()=>n.e(6097).then(n.bind(n,46223)),"@site/../docs/users/commands/lsp.generated.md",46223],cc3a0c10:[()=>n.e(6819).then(n.bind(n,24345)),"@site/../docs/users/commands/run.generated.md",24345],ccef733c:[()=>n.e(8778).then(n.bind(n,42249)),"@site/../docs/rfcs/configured-alias.md",42249],cd63455c:[()=>n.e(5254).then(n.bind(n,85875)),"@site/../docs/api/bxl/bxl.EnsuredArtifact.generated.md",85875],ce33bc2f:[()=>n.e(3704).then(n.bind(n,86085)),"@site/../docs/rfcs/drafts/plugin-deps.md",86085],cef0138e:[()=>n.e(2593).then(n.bind(n,16375)),"@site/../docs/developers/what-ran.md",16375],cf239bf7:[()=>n.e(8237).then(n.bind(n,64767)),"@site/../docs/rfcs/implemented/provider-collection-at.md",64767],d1ac8d17:[()=>n.e(7706).then(n.bind(n,84329)),"@site/../docs/users/commands/killall.generated.md",84329],d239613d:[()=>n.e(9662).then(n.bind(n,44863)),"@site/../docs/concepts/build_target.md",44863],d28d8f91:[()=>n.e(6912).then(n.bind(n,80923)),"@site/../docs/users/advanced/external_cells.md",80923],d2edda2e:[()=>n.e(4288).then(n.bind(n,36857)),"@site/../docs/api/bxl/instant.generated.md",36857],d439162b:[()=>n.e(807).then(n.bind(n,8816)),"@site/../docs/users/commands/build.generated.md",8816],d496cc62:[()=>n.e(4679).then(n.bind(n,8219)),"@site/../docs/api/bxl/configured_attr.generated.md",8219],d6b1362a:[()=>n.e(6005).then(n.bind(n,76903)),"@site/../docs/api/build/dependency.generated.md",76903],d7cd28fb:[()=>n.e(6394).then(n.bind(n,55038)),"@site/../docs/rfcs/drafts/configuration-at-syntax.md",55038],da761ee9:[()=>n.e(4101).then(n.bind(n,20722)),"@site/../docs/rule_authors/test_execution.md",20722],dac93ff2:[()=>n.e(1714).then(n.bind(n,51830)),"@site/../docs/api/bxl/bxl.Actions.generated.md",51830],db3d6ee4:[()=>n.e(6248).then(n.bind(n,94146)),"@site/../docs/api/bxl/anon_target.generated.md",94146],dc60fdda:[()=>n.e(4929).then(n.bind(n,66010)),"@site/../docs/api/build/configured_target_label.generated.md",66010],dc963e49:[()=>n.e(5066).then(n.bind(n,97643)),"@site/../docs/api/build/globals.generated.md",97643],ddd57ee9:[()=>n.e(3343).then(n.bind(n,8132)),"@site/../docs/api/build/providers_label.generated.md",8132],de2c45f3:[()=>n.e(5483).then(n.bind(n,2504)),"@site/../docs/api/bxl/context.generated.md",2504],df07bd63:[()=>n.e(5627).then(n.bind(n,52110)),"@site/../docs/api/bxl/bxl.BuildResult.generated.md",52110],e111f111:[()=>n.e(7836).then(n.bind(n,86393)),"@site/../docs/api.md",86393],e27b0923:[()=>n.e(8312).then(n.bind(n,596)),"@site/../docs/rfcs/bxl.md",596],e4ba4a79:[()=>n.e(5443).then(n.bind(n,17716)),"@site/../docs/developers/architecture/buck2.md",17716],e6e76856:[()=>n.e(6818).then(n.bind(n,46037)),"@site/../docs/api/build/plugins.generated.md",46037],e6f09efc:[()=>n.e(5357).then(n.bind(n,8270)),"@site/../docs/users/commands/install.generated.md",8270],e7edf74c:[()=>n.e(151).then(n.bind(n,87143)),"@site/../docs/api/bxl/StackFrame.generated.md",87143],e813a4f4:[()=>n.e(850).then(n.bind(n,3216)),"@site/../docs/rfcs/cfg-modifiers/api.md",3216],e9596baa:[()=>n.e(6302).then(n.bind(n,92402)),"@site/../docs/api/build/anon_target.generated.md",92402],e9c1d37c:[()=>n.e(6589).then(n.bind(n,61930)),"@site/../docs/api/bxl/target_label.generated.md",61930],e9ca051d:[()=>n.e(8008).then(n.bind(n,57979)),"@site/../docs/concepts/build_file.md",57979],ed437712:[()=>n.e(4525).then(n.bind(n,75562)),"@site/../docs/api/bxl/lazy_attrs.generated.md",75562],f0d3617e:[()=>n.e(2762).then(n.bind(n,38603)),"@site/../docs/concepts/configurations.md",38603],f1513722:[()=>n.e(792).then(n.bind(n,61822)),"@site/../docs/users/commands/targets.generated.md",61822],f2753e08:[()=>n.e(2118).then(n.bind(n,15290)),"@site/../docs/rule_authors/package.md",15290],f5a9f27a:[()=>n.e(4244).then(n.bind(n,92321)),"@site/../docs/prelude/globals.generated.md",92321],f65d88fb:[()=>n.e(4090).then(n.bind(n,88267)),"@site/../docs/users/commands/aquery.generated.md",88267],f9b543d9:[()=>n.e(3476).then(n.bind(n,744)),"@site/../docs/users/commands/subscribe.generated.md",744],fb247b1e:[()=>n.e(4913).then(n.bind(n,85256)),"@site/../docs/developers/starlark/gc.generated.md",85256],fca77127:[()=>n.e(2857).then(n.bind(n,13947)),"@site/../docs/api/build/target_label.generated.md",13947],fe36bde7:[()=>n.e(4219).then(n.bind(n,10592)),"@site/../docs/users/commands/status.generated.md",10592]};function c(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var u=n(99670),d=n(30226);function p(e,t){if("*"===e)return i()({loading:c,loader:()=>n.e(4972).then(n.bind(n,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=s[`${e}-${t}`],p={},f=[],m=[],b=(0,u.Z)(o);return Object.entries(b).forEach((e=>{let[t,n]=e;const r=l[n];r&&(p[t]=r[0],f.push(r[1]),m.push(r[2]))})),i().Map({loading:c,loader:p,modules:f,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const s=n.split(".");s.slice(0,-1).forEach((e=>{o=o[e]})),o[s[s.length-1]]=a}));const s=i.__comp;delete i.__comp;const l=i.__context;return delete i.__context,r.createElement(d.z,{value:l},r.createElement(s,(0,a.Z)({},i,n)))}})}const f=[{path:"/docs/",component:p("/docs/","513"),routes:[{path:"/docs/",component:p("/docs/","629"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/about/benefits/compared_to_buck1/",component:p("/docs/about/benefits/compared_to_buck1/","c26"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/about/bootstrapping/",component:p("/docs/about/bootstrapping/","cec"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/about/getting_started/",component:p("/docs/about/getting_started/","5a4"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/about/why/",component:p("/docs/about/why/","27a"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/api/",component:p("/docs/api/","3ad"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/ActionErrorCtx/",component:p("/docs/api/build/ActionErrorCtx/","c4b"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/ActionErrorLocation/",component:p("/docs/api/build/ActionErrorLocation/","210"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/actions/",component:p("/docs/api/build/actions/","c69"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/ActionSubError/",component:p("/docs/api/build/ActionSubError/","8cf"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/anon_target/",component:p("/docs/api/build/anon_target/","969"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/anon_targets/",component:p("/docs/api/build/anon_targets/","d3a"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/artifact/",component:p("/docs/api/build/artifact/","38f"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/attrs/",component:p("/docs/api/build/attrs/","ec7"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/buck_regex/",component:p("/docs/api/build/buck_regex/","144"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/cmd_args/",component:p("/docs/api/build/cmd_args/","05a"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/configured_target_label/",component:p("/docs/api/build/configured_target_label/","cf2"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/context/",component:p("/docs/api/build/context/","149"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/dependency/",component:p("/docs/api/build/dependency/","514"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/digest_config/",component:p("/docs/api/build/digest_config/","203"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/globals/",component:p("/docs/api/build/globals/","caa"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/label_relative_path/",component:p("/docs/api/build/label_relative_path/","7a3"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/label/",component:p("/docs/api/build/label/","dd1"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/plugins/",component:p("/docs/api/build/plugins/","753"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/promise/",component:p("/docs/api/build/promise/","959"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/provider_collection/",component:p("/docs/api/build/provider_collection/","02f"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/providers_label/",component:p("/docs/api/build/providers_label/","199"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/StackFrame/",component:p("/docs/api/build/StackFrame/","c13"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/build/target_label/",component:p("/docs/api/build/target_label/","56b"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/action_attr/",component:p("/docs/api/bxl/action_attr/","3af"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/action/",component:p("/docs/api/bxl/action/","b73"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/ActionErrorCtx/",component:p("/docs/api/bxl/ActionErrorCtx/","351"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/ActionErrorLocation/",component:p("/docs/api/bxl/ActionErrorLocation/","db7"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/actions/",component:p("/docs/api/bxl/actions/","a5d"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/ActionSubError/",component:p("/docs/api/bxl/ActionSubError/","e1c"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/anon_target/",component:p("/docs/api/bxl/anon_target/","ae8"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/anon_targets/",component:p("/docs/api/bxl/anon_targets/","e79"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/artifact/",component:p("/docs/api/bxl/artifact/","934"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/attrs/",component:p("/docs/api/bxl/attrs/","214"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/buck_regex/",component:p("/docs/api/bxl/buck_regex/","6b9"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.ActionQueryNode/",component:p("/docs/api/bxl/bxl.ActionQueryNode/","816"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.Actions/",component:p("/docs/api/bxl/bxl.Actions/","6fb"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.AnalysisResult/",component:p("/docs/api/bxl/bxl.AnalysisResult/","792"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.AqueryContext/",component:p("/docs/api/bxl/bxl.AqueryContext/","3bb"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.AuditContext/",component:p("/docs/api/bxl/bxl.AuditContext/","b44"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.BuildResult/",component:p("/docs/api/bxl/bxl.BuildResult/","f35"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.ConfiguredTargetNode/",component:p("/docs/api/bxl/bxl.ConfiguredTargetNode/","11f"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.Context/",component:p("/docs/api/bxl/bxl.Context/","f8f"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.CqueryContext/",component:p("/docs/api/bxl/bxl.CqueryContext/","285"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.EnsuredArtifact/",component:p("/docs/api/bxl/bxl.EnsuredArtifact/","dad"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.FileNode/",component:p("/docs/api/bxl/bxl.FileNode/","708"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.Filesystem/",component:p("/docs/api/bxl/bxl.Filesystem/","8f1"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.LazyResolvedAttrs/",component:p("/docs/api/bxl/bxl.LazyResolvedAttrs/","229"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.OutputStream/",component:p("/docs/api/bxl/bxl.OutputStream/","84a"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.TargetUniverse/",component:p("/docs/api/bxl/bxl.TargetUniverse/","171"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.UnconfiguredTargetNode/",component:p("/docs/api/bxl/bxl.UnconfiguredTargetNode/","a65"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/bxl.UqueryContext/",component:p("/docs/api/bxl/bxl.UqueryContext/","8ec"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/cmd_args/",component:p("/docs/api/bxl/cmd_args/","2ef"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/coerced_attr/",component:p("/docs/api/bxl/coerced_attr/","25e"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/configured_attr/",component:p("/docs/api/bxl/configured_attr/","9ab"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/configured_target_label/",component:p("/docs/api/bxl/configured_target_label/","04a"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/context/",component:p("/docs/api/bxl/context/","f11"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/dependency/",component:p("/docs/api/bxl/dependency/","371"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/digest_config/",component:p("/docs/api/bxl/digest_config/","9ee"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/ensured_artifact_group/",component:p("/docs/api/bxl/ensured_artifact_group/","97e"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/file_set/",component:p("/docs/api/bxl/file_set/","7ff"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/globals/",component:p("/docs/api/bxl/globals/","4fe"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/instant/",component:p("/docs/api/bxl/instant/","00c"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/label_relative_path/",component:p("/docs/api/bxl/label_relative_path/","1e5"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/label/",component:p("/docs/api/bxl/label/","b95"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/lazy_attrs/",component:p("/docs/api/bxl/lazy_attrs/","0e8"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/plugins/",component:p("/docs/api/bxl/plugins/","f0f"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/promise/",component:p("/docs/api/bxl/promise/","a4e"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/provider_collection/",component:p("/docs/api/bxl/provider_collection/","19d"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/providers_label/",component:p("/docs/api/bxl/providers_label/","780"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/StackFrame/",component:p("/docs/api/bxl/StackFrame/","bdd"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/bxl/target_label/",component:p("/docs/api/bxl/target_label/","a4a"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/starlark/dict/",component:p("/docs/api/starlark/dict/","09f"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/starlark/globals/",component:p("/docs/api/starlark/globals/","173"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/starlark/list/",component:p("/docs/api/starlark/list/","e3f"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/api/starlark/string/",component:p("/docs/api/starlark/string/","ba1"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/concepts/buck_out/",component:p("/docs/concepts/buck_out/","785"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/buckconfig/",component:p("/docs/concepts/buckconfig/","277"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/build_file/",component:p("/docs/concepts/build_file/","de0"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/build_rule/",component:p("/docs/concepts/build_rule/","088"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/build_target/",component:p("/docs/concepts/build_target/","d32"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/concept_map/",component:p("/docs/concepts/concept_map/","474"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/configurations/",component:p("/docs/concepts/configurations/","b0d"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/daemon/",component:p("/docs/concepts/daemon/","e6f"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/glossary/",component:p("/docs/concepts/glossary/","7aa"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/key_concepts/",component:p("/docs/concepts/key_concepts/","282"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/target_pattern/",component:p("/docs/concepts/target_pattern/","a6a"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/concepts/visibility/",component:p("/docs/concepts/visibility/","3e3"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/anon_targets/",component:p("/docs/developers/anon_targets/","330"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/architecture/buck1_vs_buck2/",component:p("/docs/developers/architecture/buck1_vs_buck2/","a82"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/architecture/buck2_telemetry/",component:p("/docs/developers/architecture/buck2_telemetry/","06f"),exact:!0},{path:"/docs/developers/architecture/buck2/",component:p("/docs/developers/architecture/buck2/","72d"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/bxl_basics/",component:p("/docs/developers/bxl_basics/","614"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/bxl_faqs/",component:p("/docs/developers/bxl_faqs/","869"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/bxl_getting_started/",component:p("/docs/developers/bxl_getting_started/","6be"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/bxl_how_tos/",component:p("/docs/developers/bxl_how_tos/","303"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/bxl_telemetry/",component:p("/docs/developers/bxl_telemetry/","787"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/bxl/",component:p("/docs/developers/bxl/","220"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/dynamic_output/",component:p("/docs/developers/dynamic_output/","8f2"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/options/",component:p("/docs/developers/options/","5d8"),exact:!0},{path:"/docs/developers/request_for_comments/",component:p("/docs/developers/request_for_comments/","af5"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/starlark/environment/",component:p("/docs/developers/starlark/environment/","cac"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/starlark/gc/",component:p("/docs/developers/starlark/gc/","7dd"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/starlark/heaps/",component:p("/docs/developers/starlark/heaps/","6be"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/starlark/spec/",component:p("/docs/developers/starlark/spec/","cca"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/starlark/types/",component:p("/docs/developers/starlark/types/","f99"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/starlark/values/",component:p("/docs/developers/starlark/values/","e2d"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/target_universe/",component:p("/docs/developers/target_universe/","28a"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/what-ran/",component:p("/docs/developers/what-ran/","f49"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/developers/windows_cheat_sheet/",component:p("/docs/developers/windows_cheat_sheet/","571"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/prelude/globals/",component:p("/docs/prelude/globals/","d8d"),exact:!0,sidebar:"apiSidebar"},{path:"/docs/rfcs/attr-metadata/",component:p("/docs/rfcs/attr-metadata/","b9f"),exact:!0},{path:"/docs/rfcs/audit_visibility/",component:p("/docs/rfcs/audit_visibility/","524"),exact:!0},{path:"/docs/rfcs/bxl-analysis/",component:p("/docs/rfcs/bxl-analysis/","900"),exact:!0},{path:"/docs/rfcs/bxl/",component:p("/docs/rfcs/bxl/","738"),exact:!0},{path:"/docs/rfcs/cfg-modifiers/api/",component:p("/docs/rfcs/cfg-modifiers/api/","9a4"),exact:!0},{path:"/docs/rfcs/configured-alias/",component:p("/docs/rfcs/configured-alias/","e1c"),exact:!0},{path:"/docs/rfcs/drafts/bxl-actions/",component:p("/docs/rfcs/drafts/bxl-actions/","5ee"),exact:!0},{path:"/docs/rfcs/drafts/configuration-at-syntax/",component:p("/docs/rfcs/drafts/configuration-at-syntax/","1d6"),exact:!0},{path:"/docs/rfcs/drafts/digest-kinds/",component:p("/docs/rfcs/drafts/digest-kinds/","ac1"),exact:!0},{path:"/docs/rfcs/drafts/plugin-deps/",component:p("/docs/rfcs/drafts/plugin-deps/","32f"),exact:!0},{path:"/docs/rfcs/drafts/test-info-v2/",component:p("/docs/rfcs/drafts/test-info-v2/","7fb"),exact:!0},{path:"/docs/rfcs/drafts/universal-cfg-naming/",component:p("/docs/rfcs/drafts/universal-cfg-naming/","5a6"),exact:!0},{path:"/docs/rfcs/implemented/provider-collection-at/",component:p("/docs/rfcs/implemented/provider-collection-at/","4e4"),exact:!0},{path:"/docs/rfcs/package-local-values/",component:p("/docs/rfcs/package-local-values/","2f9"),exact:!0},{path:"/docs/rule_authors/alias/",component:p("/docs/rule_authors/alias/","01b"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/anon_targets/",component:p("/docs/rule_authors/anon_targets/","d40"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/configuration_transitions/",component:p("/docs/rule_authors/configuration_transitions/","bfe"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/configurations/",component:p("/docs/rule_authors/configurations/","4ea"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/dep_files/",component:p("/docs/rule_authors/dep_files/","3f8"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/dynamic_dependencies/",component:p("/docs/rule_authors/dynamic_dependencies/","c4d"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/incremental_actions/",component:p("/docs/rule_authors/incremental_actions/","882"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/local_resources/",component:p("/docs/rule_authors/local_resources/","c8d"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/optimization/",component:p("/docs/rule_authors/optimization/","20b"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/package_files/",component:p("/docs/rule_authors/package_files/","ef3"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/test_execution/",component:p("/docs/rule_authors/test_execution/","559"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/transitive_sets/",component:p("/docs/rule_authors/transitive_sets/","99d"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/rule_authors/writing_rules/",component:p("/docs/rule_authors/writing_rules/","b9a"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/advanced/deferred_materialization/",component:p("/docs/users/advanced/deferred_materialization/","224"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/advanced/external_cells/",component:p("/docs/users/advanced/external_cells/","e29"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/advanced/in_memory_cache/",component:p("/docs/users/advanced/in_memory_cache/","f33"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/advanced/restarter/",component:p("/docs/users/advanced/restarter/","489"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/build_observability/build_report/",component:p("/docs/users/build_observability/build_report/","a36"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/build_observability/interactive_console/",component:p("/docs/users/build_observability/interactive_console/","25e"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/build_observability/logging/",component:p("/docs/users/build_observability/logging/","16b"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/cheat_sheet/",component:p("/docs/users/cheat_sheet/","8c2"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/aquery/",component:p("/docs/users/commands/aquery/","7dd"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/audit/",component:p("/docs/users/commands/audit/","cbc"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/build/",component:p("/docs/users/commands/build/","c35"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/bxl/",component:p("/docs/users/commands/bxl/","5d0"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/clean/",component:p("/docs/users/commands/clean/","f02"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/completion/",component:p("/docs/users/commands/completion/","44b"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/cquery/",component:p("/docs/users/commands/cquery/","0bd"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/ctargets/",component:p("/docs/users/commands/ctargets/","7b4"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/docs/",component:p("/docs/users/commands/docs/","5a2"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/expand-external-cell/",component:p("/docs/users/commands/expand-external-cell/","c70"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/help-env/",component:p("/docs/users/commands/help-env/","cc2"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/init/",component:p("/docs/users/commands/init/","4a8"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/install/",component:p("/docs/users/commands/install/","2e2"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/kill/",component:p("/docs/users/commands/kill/","37b"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/killall/",component:p("/docs/users/commands/killall/","ce1"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/log/",component:p("/docs/users/commands/log/","0f4"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/lsp/",component:p("/docs/users/commands/lsp/","75e"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/profile/",component:p("/docs/users/commands/profile/","2d3"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/query/",component:p("/docs/users/commands/query/","ec4"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/root/",component:p("/docs/users/commands/root/","fc6"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/run/",component:p("/docs/users/commands/run/","7a7"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/server/",component:p("/docs/users/commands/server/","d73"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/starlark/",component:p("/docs/users/commands/starlark/","bc7"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/status/",component:p("/docs/users/commands/status/","ca9"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/subscribe/",component:p("/docs/users/commands/subscribe/","f89"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/targets/",component:p("/docs/users/commands/targets/","834"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/test/",component:p("/docs/users/commands/test/","43d"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/uquery/",component:p("/docs/users/commands/uquery/","007"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/commands/utargets/",component:p("/docs/users/commands/utargets/","91a"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/faq/buck_hanging/",component:p("/docs/users/faq/buck_hanging/","2a8"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/faq/common_issues/",component:p("/docs/users/faq/common_issues/","516"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/faq/starlark_peak_mem/",component:p("/docs/users/faq/starlark_peak_mem/","d94"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/query/aquery/",component:p("/docs/users/query/aquery/","164"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/query/cquery/",component:p("/docs/users/query/cquery/","723"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/query/uquery/",component:p("/docs/users/query/uquery/","e49"),exact:!0,sidebar:"mainSidebar"},{path:"/docs/users/remote_execution/",component:p("/docs/users/remote_execution/","97a"),exact:!0,sidebar:"mainSidebar"}]},{path:"/",component:p("/","c1a"),exact:!0},{path:"*",component:p("*")}]},98934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(67294);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},49383:(e,t,n)=>{"use strict";var r=n(67294),a=n(73935),o=n(73727),i=n(70405),s=n(10412);const l=[n(32497),n(3310),n(18320),n(52295),n(92509),n(56657)];var c=n(723),u=n(16550),d=n(18790);function p(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var f=n(87462),m=n(35742),b=n(52263),h=n(44996),g=n(86668),v=n(1944),y=n(94711),w=n(19727),_=n(43320),k=n(90197);function x(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,b.default)(),n=(0,y.l)();return r.createElement(m.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function S(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,b.default)(),a=function(){const{siteConfig:{url:e}}=(0,b.default)(),{pathname:t}=(0,u.TH)();return e+(0,h.default)(t)}(),o=t?`${n}${t}`:a;return r.createElement(m.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function E(){const{i18n:{currentLocale:e}}=(0,b.default)(),{metadata:t,image:n}=(0,g.L)();return r.createElement(r.Fragment,null,r.createElement(m.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(S,null),r.createElement(x,null),r.createElement(k.Z,{tag:_.HX,locale:e}),r.createElement(m.Z,null,t.map(((e,t)=>r.createElement("meta",(0,f.Z)({key:t},e))))))}const C=new Map;function T(e){if(C.has(e.pathname))return{...e,pathname:C.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}var A=n(98934),L=n(58940);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const a=l.map((t=>(t.default?.[e]??t[e])?.(...n)));return()=>a.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1));document.getElementById(e)?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),R("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class P extends r.Component{constructor(e){super(e),this.previousLocation=void 0,this.routeUpdateCleanupCb=void 0,this.previousLocation=null,this.routeUpdateCleanupCb=s.default.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(N,{previousLocation:this.previousLocation,location:t},r.createElement(u.AW,{location:t,render:()=>e}))}}const D=P,I="docusaurus-base-url-issue-banner-container",M="docusaurus-base-url-issue-banner-suggestion-container",F="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${F}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${F}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${I}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseurl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${M}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n var suggestionContainer = document.getElementById('${M}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function j(){const{siteConfig:{baseUrl:e}}=(0,b.default)();return(0,r.useLayoutEffect)((()=>{window[F]=!1}),[]),r.createElement(r.Fragment,null,!s.default.canUseDOM&&r.createElement(m.Z,null,r.createElement("script",null,B(e))),r.createElement("div",{id:I}))}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,b.default)(),{pathname:n}=(0,u.TH)();return t&&n===e?r.createElement(j,null):null}function z(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,b.default)(),i=(0,h.default)(e),{htmlLang:s,direction:l}=o[a];return r.createElement(m.Z,null,r.createElement("html",{lang:s,dir:l}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var q=n(44763);function $(){const e=(0,d.H)(c.Z),t=(0,u.TH)();return r.createElement(q.Z,null,r.createElement(L.M,null,r.createElement(A.t,null,r.createElement(p,null,r.createElement(z,null),r.createElement(E,null),r.createElement(U,null),r.createElement(D,{location:T(t)},e)))))}var G=n(16887);const H=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();(document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode)?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var V=n(99670);const W=new Set,Z=new Set,K=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,Y={prefetch(e){if(!(e=>!K()&&!Z.has(e)&&!W.has(e))(e))return!1;W.add(e);const t=(0,d.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,V.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?H(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!K()&&!Z.has(e))(e)&&(Z.add(e),O(e))},Q=Object.freeze(Y);if(s.default.canUseDOM){window.docusaurus=Q;const e=a.hydrate;O(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement($,null))),document.getElementById("__docusaurus"))}))}},58940:(e,t,n)=>{"use strict";n.d(t,{_:()=>u,M:()=>d});var r=n(67294),a=n(36809);const o=JSON.parse('{"docusaurus-lunr-search":{"default":{"fileNames":{"searchDoc":"search-doc-1723761734197.json","lunrIndex":"lunr-index-1723761734197.json"}}},"docusaurus-plugin-google-gtag":{"default":{"trackingID":"G-GEGGHE39PE","anonymizeIP":true,"id":"default"}},"internaldocs-fb":{"default":{"opts":{"docs":{"path":"../docs","sidebarPath":"/home/runner/work/buck2/buck2/website/sidebars_generated.js","remarkPlugins":[[null,{"strippedFilePattern":{}}],[null,{}],[null,{"version":"v1"}],null]},"theme":{"customCss":"/home/runner/work/buck2/buck2/website/src/css/custom.css"},"id":"default"},"docsDir":"/home/runner/work/buck2/buck2/docs","repoRootToWebsiteRoot":"home/runner/work/buck2/buck2/website"}},"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"index","docs":[{"id":"about/benefits/compared_to_buck1","path":"/docs/about/benefits/compared_to_buck1","sidebar":"mainSidebar"},{"id":"about/bootstrapping","path":"/docs/about/bootstrapping","sidebar":"mainSidebar"},{"id":"about/getting_started","path":"/docs/about/getting_started","sidebar":"mainSidebar"},{"id":"about/why","path":"/docs/about/why","sidebar":"mainSidebar"},{"id":"api","path":"/docs/api","sidebar":"apiSidebar"},{"id":"api/build/ActionErrorCtx","path":"/docs/api/build/ActionErrorCtx","sidebar":"apiSidebar"},{"id":"api/build/ActionErrorLocation","path":"/docs/api/build/ActionErrorLocation","sidebar":"apiSidebar"},{"id":"api/build/actions","path":"/docs/api/build/actions","sidebar":"apiSidebar"},{"id":"api/build/ActionSubError","path":"/docs/api/build/ActionSubError","sidebar":"apiSidebar"},{"id":"api/build/anon_target","path":"/docs/api/build/anon_target","sidebar":"apiSidebar"},{"id":"api/build/anon_targets","path":"/docs/api/build/anon_targets","sidebar":"apiSidebar"},{"id":"api/build/artifact","path":"/docs/api/build/artifact","sidebar":"apiSidebar"},{"id":"api/build/attrs","path":"/docs/api/build/attrs","sidebar":"apiSidebar"},{"id":"api/build/buck_regex","path":"/docs/api/build/buck_regex","sidebar":"apiSidebar"},{"id":"api/build/cmd_args","path":"/docs/api/build/cmd_args","sidebar":"apiSidebar"},{"id":"api/build/configured_target_label","path":"/docs/api/build/configured_target_label","sidebar":"apiSidebar"},{"id":"api/build/context","path":"/docs/api/build/context","sidebar":"apiSidebar"},{"id":"api/build/dependency","path":"/docs/api/build/dependency","sidebar":"apiSidebar"},{"id":"api/build/digest_config","path":"/docs/api/build/digest_config","sidebar":"apiSidebar"},{"id":"api/build/globals","path":"/docs/api/build/globals","sidebar":"apiSidebar"},{"id":"api/build/label","path":"/docs/api/build/label","sidebar":"apiSidebar"},{"id":"api/build/label_relative_path","path":"/docs/api/build/label_relative_path","sidebar":"apiSidebar"},{"id":"api/build/plugins","path":"/docs/api/build/plugins","sidebar":"apiSidebar"},{"id":"api/build/promise","path":"/docs/api/build/promise","sidebar":"apiSidebar"},{"id":"api/build/provider_collection","path":"/docs/api/build/provider_collection","sidebar":"apiSidebar"},{"id":"api/build/providers_label","path":"/docs/api/build/providers_label","sidebar":"apiSidebar"},{"id":"api/build/StackFrame","path":"/docs/api/build/StackFrame","sidebar":"apiSidebar"},{"id":"api/build/target_label","path":"/docs/api/build/target_label","sidebar":"apiSidebar"},{"id":"api/bxl/action","path":"/docs/api/bxl/action","sidebar":"apiSidebar"},{"id":"api/bxl/action_attr","path":"/docs/api/bxl/action_attr","sidebar":"apiSidebar"},{"id":"api/bxl/ActionErrorCtx","path":"/docs/api/bxl/ActionErrorCtx","sidebar":"apiSidebar"},{"id":"api/bxl/ActionErrorLocation","path":"/docs/api/bxl/ActionErrorLocation","sidebar":"apiSidebar"},{"id":"api/bxl/actions","path":"/docs/api/bxl/actions","sidebar":"apiSidebar"},{"id":"api/bxl/ActionSubError","path":"/docs/api/bxl/ActionSubError","sidebar":"apiSidebar"},{"id":"api/bxl/anon_target","path":"/docs/api/bxl/anon_target","sidebar":"apiSidebar"},{"id":"api/bxl/anon_targets","path":"/docs/api/bxl/anon_targets","sidebar":"apiSidebar"},{"id":"api/bxl/artifact","path":"/docs/api/bxl/artifact","sidebar":"apiSidebar"},{"id":"api/bxl/attrs","path":"/docs/api/bxl/attrs","sidebar":"apiSidebar"},{"id":"api/bxl/buck_regex","path":"/docs/api/bxl/buck_regex","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.ActionQueryNode","path":"/docs/api/bxl/bxl.ActionQueryNode","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.Actions","path":"/docs/api/bxl/bxl.Actions","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.AnalysisResult","path":"/docs/api/bxl/bxl.AnalysisResult","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.AqueryContext","path":"/docs/api/bxl/bxl.AqueryContext","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.AuditContext","path":"/docs/api/bxl/bxl.AuditContext","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.BuildResult","path":"/docs/api/bxl/bxl.BuildResult","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.ConfiguredTargetNode","path":"/docs/api/bxl/bxl.ConfiguredTargetNode","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.Context","path":"/docs/api/bxl/bxl.Context","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.CqueryContext","path":"/docs/api/bxl/bxl.CqueryContext","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.EnsuredArtifact","path":"/docs/api/bxl/bxl.EnsuredArtifact","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.FileNode","path":"/docs/api/bxl/bxl.FileNode","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.Filesystem","path":"/docs/api/bxl/bxl.Filesystem","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.LazyResolvedAttrs","path":"/docs/api/bxl/bxl.LazyResolvedAttrs","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.OutputStream","path":"/docs/api/bxl/bxl.OutputStream","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.TargetUniverse","path":"/docs/api/bxl/bxl.TargetUniverse","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.UnconfiguredTargetNode","path":"/docs/api/bxl/bxl.UnconfiguredTargetNode","sidebar":"apiSidebar"},{"id":"api/bxl/bxl.UqueryContext","path":"/docs/api/bxl/bxl.UqueryContext","sidebar":"apiSidebar"},{"id":"api/bxl/cmd_args","path":"/docs/api/bxl/cmd_args","sidebar":"apiSidebar"},{"id":"api/bxl/coerced_attr","path":"/docs/api/bxl/coerced_attr","sidebar":"apiSidebar"},{"id":"api/bxl/configured_attr","path":"/docs/api/bxl/configured_attr","sidebar":"apiSidebar"},{"id":"api/bxl/configured_target_label","path":"/docs/api/bxl/configured_target_label","sidebar":"apiSidebar"},{"id":"api/bxl/context","path":"/docs/api/bxl/context","sidebar":"apiSidebar"},{"id":"api/bxl/dependency","path":"/docs/api/bxl/dependency","sidebar":"apiSidebar"},{"id":"api/bxl/digest_config","path":"/docs/api/bxl/digest_config","sidebar":"apiSidebar"},{"id":"api/bxl/ensured_artifact_group","path":"/docs/api/bxl/ensured_artifact_group","sidebar":"apiSidebar"},{"id":"api/bxl/file_set","path":"/docs/api/bxl/file_set","sidebar":"apiSidebar"},{"id":"api/bxl/globals","path":"/docs/api/bxl/globals","sidebar":"apiSidebar"},{"id":"api/bxl/instant","path":"/docs/api/bxl/instant","sidebar":"apiSidebar"},{"id":"api/bxl/label","path":"/docs/api/bxl/label","sidebar":"apiSidebar"},{"id":"api/bxl/label_relative_path","path":"/docs/api/bxl/label_relative_path","sidebar":"apiSidebar"},{"id":"api/bxl/lazy_attrs","path":"/docs/api/bxl/lazy_attrs","sidebar":"apiSidebar"},{"id":"api/bxl/plugins","path":"/docs/api/bxl/plugins","sidebar":"apiSidebar"},{"id":"api/bxl/promise","path":"/docs/api/bxl/promise","sidebar":"apiSidebar"},{"id":"api/bxl/provider_collection","path":"/docs/api/bxl/provider_collection","sidebar":"apiSidebar"},{"id":"api/bxl/providers_label","path":"/docs/api/bxl/providers_label","sidebar":"apiSidebar"},{"id":"api/bxl/StackFrame","path":"/docs/api/bxl/StackFrame","sidebar":"apiSidebar"},{"id":"api/bxl/target_label","path":"/docs/api/bxl/target_label","sidebar":"apiSidebar"},{"id":"api/starlark/dict","path":"/docs/api/starlark/dict","sidebar":"apiSidebar"},{"id":"api/starlark/globals","path":"/docs/api/starlark/globals","sidebar":"apiSidebar"},{"id":"api/starlark/list","path":"/docs/api/starlark/list","sidebar":"apiSidebar"},{"id":"api/starlark/string","path":"/docs/api/starlark/string","sidebar":"apiSidebar"},{"id":"concepts/buck_out","path":"/docs/concepts/buck_out","sidebar":"mainSidebar"},{"id":"concepts/buckconfig","path":"/docs/concepts/buckconfig","sidebar":"mainSidebar"},{"id":"concepts/build_file","path":"/docs/concepts/build_file","sidebar":"mainSidebar"},{"id":"concepts/build_rule","path":"/docs/concepts/build_rule","sidebar":"mainSidebar"},{"id":"concepts/build_target","path":"/docs/concepts/build_target","sidebar":"mainSidebar"},{"id":"concepts/concept_map","path":"/docs/concepts/concept_map","sidebar":"mainSidebar"},{"id":"concepts/configurations","path":"/docs/concepts/configurations","sidebar":"mainSidebar"},{"id":"concepts/daemon","path":"/docs/concepts/daemon","sidebar":"mainSidebar"},{"id":"concepts/glossary","path":"/docs/concepts/glossary","sidebar":"mainSidebar"},{"id":"concepts/key_concepts","path":"/docs/concepts/key_concepts","sidebar":"mainSidebar"},{"id":"concepts/target_pattern","path":"/docs/concepts/target_pattern","sidebar":"mainSidebar"},{"id":"concepts/visibility","path":"/docs/concepts/visibility","sidebar":"mainSidebar"},{"id":"developers/anon_targets","path":"/docs/developers/anon_targets","sidebar":"mainSidebar"},{"id":"developers/architecture/buck1_vs_buck2","path":"/docs/developers/architecture/buck1_vs_buck2","sidebar":"mainSidebar"},{"id":"developers/architecture/buck2","path":"/docs/developers/architecture/buck2","sidebar":"mainSidebar"},{"id":"developers/architecture/buck2_telemetry","path":"/docs/developers/architecture/buck2_telemetry"},{"id":"developers/bxl","path":"/docs/developers/bxl","sidebar":"mainSidebar"},{"id":"developers/bxl_basics","path":"/docs/developers/bxl_basics","sidebar":"mainSidebar"},{"id":"developers/bxl_faqs","path":"/docs/developers/bxl_faqs","sidebar":"mainSidebar"},{"id":"developers/bxl_getting_started","path":"/docs/developers/bxl_getting_started","sidebar":"mainSidebar"},{"id":"developers/bxl_how_tos","path":"/docs/developers/bxl_how_tos","sidebar":"mainSidebar"},{"id":"developers/bxl_telemetry","path":"/docs/developers/bxl_telemetry","sidebar":"mainSidebar"},{"id":"developers/dynamic_output","path":"/docs/developers/dynamic_output","sidebar":"mainSidebar"},{"id":"developers/options","path":"/docs/developers/options"},{"id":"developers/request_for_comments","path":"/docs/developers/request_for_comments","sidebar":"mainSidebar"},{"id":"developers/starlark/environment","path":"/docs/developers/starlark/environment","sidebar":"mainSidebar"},{"id":"developers/starlark/gc","path":"/docs/developers/starlark/gc","sidebar":"mainSidebar"},{"id":"developers/starlark/heaps","path":"/docs/developers/starlark/heaps","sidebar":"mainSidebar"},{"id":"developers/starlark/spec","path":"/docs/developers/starlark/spec","sidebar":"mainSidebar"},{"id":"developers/starlark/types","path":"/docs/developers/starlark/types","sidebar":"mainSidebar"},{"id":"developers/starlark/values","path":"/docs/developers/starlark/values","sidebar":"mainSidebar"},{"id":"developers/target_universe","path":"/docs/developers/target_universe","sidebar":"mainSidebar"},{"id":"developers/what-ran","path":"/docs/developers/what-ran","sidebar":"mainSidebar"},{"id":"developers/windows_cheat_sheet","path":"/docs/developers/windows_cheat_sheet","sidebar":"mainSidebar"},{"id":"index","path":"/docs/","sidebar":"mainSidebar"},{"id":"prelude/globals","path":"/docs/prelude/globals","sidebar":"apiSidebar"},{"id":"rfcs/attr-metadata","path":"/docs/rfcs/attr-metadata"},{"id":"rfcs/audit_visibility","path":"/docs/rfcs/audit_visibility"},{"id":"rfcs/bxl","path":"/docs/rfcs/bxl"},{"id":"rfcs/bxl-analysis","path":"/docs/rfcs/bxl-analysis"},{"id":"rfcs/cfg-modifiers/api","path":"/docs/rfcs/cfg-modifiers/api"},{"id":"rfcs/configured-alias","path":"/docs/rfcs/configured-alias"},{"id":"rfcs/drafts/bxl-actions","path":"/docs/rfcs/drafts/bxl-actions"},{"id":"rfcs/drafts/configuration-at-syntax","path":"/docs/rfcs/drafts/configuration-at-syntax"},{"id":"rfcs/drafts/digest-kinds","path":"/docs/rfcs/drafts/digest-kinds"},{"id":"rfcs/drafts/plugin-deps","path":"/docs/rfcs/drafts/plugin-deps"},{"id":"rfcs/drafts/test-info-v2","path":"/docs/rfcs/drafts/test-info-v2"},{"id":"rfcs/drafts/universal-cfg-naming","path":"/docs/rfcs/drafts/universal-cfg-naming"},{"id":"rfcs/implemented/provider-collection-at","path":"/docs/rfcs/implemented/provider-collection-at"},{"id":"rfcs/package-local-values","path":"/docs/rfcs/package-local-values"},{"id":"rule_authors/alias","path":"/docs/rule_authors/alias","sidebar":"mainSidebar"},{"id":"rule_authors/anon_targets","path":"/docs/rule_authors/anon_targets","sidebar":"mainSidebar"},{"id":"rule_authors/configuration_transitions","path":"/docs/rule_authors/configuration_transitions","sidebar":"mainSidebar"},{"id":"rule_authors/configurations","path":"/docs/rule_authors/configurations","sidebar":"mainSidebar"},{"id":"rule_authors/dep_files","path":"/docs/rule_authors/dep_files","sidebar":"mainSidebar"},{"id":"rule_authors/dynamic_dependencies","path":"/docs/rule_authors/dynamic_dependencies","sidebar":"mainSidebar"},{"id":"rule_authors/incremental_actions","path":"/docs/rule_authors/incremental_actions","sidebar":"mainSidebar"},{"id":"rule_authors/local_resources","path":"/docs/rule_authors/local_resources","sidebar":"mainSidebar"},{"id":"rule_authors/optimization","path":"/docs/rule_authors/optimization","sidebar":"mainSidebar"},{"id":"rule_authors/package_files","path":"/docs/rule_authors/package_files","sidebar":"mainSidebar"},{"id":"rule_authors/test_execution","path":"/docs/rule_authors/test_execution","sidebar":"mainSidebar"},{"id":"rule_authors/transitive_sets","path":"/docs/rule_authors/transitive_sets","sidebar":"mainSidebar"},{"id":"rule_authors/writing_rules","path":"/docs/rule_authors/writing_rules","sidebar":"mainSidebar"},{"id":"users/advanced/deferred_materialization","path":"/docs/users/advanced/deferred_materialization","sidebar":"mainSidebar"},{"id":"users/advanced/external_cells","path":"/docs/users/advanced/external_cells","sidebar":"mainSidebar"},{"id":"users/advanced/in_memory_cache","path":"/docs/users/advanced/in_memory_cache","sidebar":"mainSidebar"},{"id":"users/advanced/restarter","path":"/docs/users/advanced/restarter","sidebar":"mainSidebar"},{"id":"users/build_observability/build_report","path":"/docs/users/build_observability/build_report","sidebar":"mainSidebar"},{"id":"users/build_observability/interactive_console","path":"/docs/users/build_observability/interactive_console","sidebar":"mainSidebar"},{"id":"users/build_observability/logging","path":"/docs/users/build_observability/logging","sidebar":"mainSidebar"},{"id":"users/cheat_sheet","path":"/docs/users/cheat_sheet","sidebar":"mainSidebar"},{"id":"users/commands/aquery","path":"/docs/users/commands/aquery","sidebar":"mainSidebar"},{"id":"users/commands/audit","path":"/docs/users/commands/audit","sidebar":"mainSidebar"},{"id":"users/commands/build","path":"/docs/users/commands/build","sidebar":"mainSidebar"},{"id":"users/commands/bxl","path":"/docs/users/commands/bxl","sidebar":"mainSidebar"},{"id":"users/commands/clean","path":"/docs/users/commands/clean","sidebar":"mainSidebar"},{"id":"users/commands/completion","path":"/docs/users/commands/completion","sidebar":"mainSidebar"},{"id":"users/commands/cquery","path":"/docs/users/commands/cquery","sidebar":"mainSidebar"},{"id":"users/commands/ctargets","path":"/docs/users/commands/ctargets","sidebar":"mainSidebar"},{"id":"users/commands/docs","path":"/docs/users/commands/docs","sidebar":"mainSidebar"},{"id":"users/commands/expand-external-cell","path":"/docs/users/commands/expand-external-cell","sidebar":"mainSidebar"},{"id":"users/commands/help-env","path":"/docs/users/commands/help-env","sidebar":"mainSidebar"},{"id":"users/commands/init","path":"/docs/users/commands/init","sidebar":"mainSidebar"},{"id":"users/commands/install","path":"/docs/users/commands/install","sidebar":"mainSidebar"},{"id":"users/commands/kill","path":"/docs/users/commands/kill","sidebar":"mainSidebar"},{"id":"users/commands/killall","path":"/docs/users/commands/killall","sidebar":"mainSidebar"},{"id":"users/commands/log","path":"/docs/users/commands/log","sidebar":"mainSidebar"},{"id":"users/commands/lsp","path":"/docs/users/commands/lsp","sidebar":"mainSidebar"},{"id":"users/commands/profile","path":"/docs/users/commands/profile","sidebar":"mainSidebar"},{"id":"users/commands/query","path":"/docs/users/commands/query","sidebar":"mainSidebar"},{"id":"users/commands/root","path":"/docs/users/commands/root","sidebar":"mainSidebar"},{"id":"users/commands/run","path":"/docs/users/commands/run","sidebar":"mainSidebar"},{"id":"users/commands/server","path":"/docs/users/commands/server","sidebar":"mainSidebar"},{"id":"users/commands/starlark","path":"/docs/users/commands/starlark","sidebar":"mainSidebar"},{"id":"users/commands/status","path":"/docs/users/commands/status","sidebar":"mainSidebar"},{"id":"users/commands/subscribe","path":"/docs/users/commands/subscribe","sidebar":"mainSidebar"},{"id":"users/commands/targets","path":"/docs/users/commands/targets","sidebar":"mainSidebar"},{"id":"users/commands/test","path":"/docs/users/commands/test","sidebar":"mainSidebar"},{"id":"users/commands/uquery","path":"/docs/users/commands/uquery","sidebar":"mainSidebar"},{"id":"users/commands/utargets","path":"/docs/users/commands/utargets","sidebar":"mainSidebar"},{"id":"users/faq/buck_hanging","path":"/docs/users/faq/buck_hanging","sidebar":"mainSidebar"},{"id":"users/faq/common_issues","path":"/docs/users/faq/common_issues","sidebar":"mainSidebar"},{"id":"users/faq/starlark_peak_mem","path":"/docs/users/faq/starlark_peak_mem","sidebar":"mainSidebar"},{"id":"users/query/aquery","path":"/docs/users/query/aquery","sidebar":"mainSidebar"},{"id":"users/query/cquery","path":"/docs/users/query/cquery","sidebar":"mainSidebar"},{"id":"users/query/uquery","path":"/docs/users/query/uquery","sidebar":"mainSidebar"},{"id":"users/remote_execution","path":"/docs/users/remote_execution","sidebar":"mainSidebar"}],"draftIds":[],"sidebars":{"mainSidebar":{"link":{"path":"/docs/","label":"index"}},"apiSidebar":{"link":{"path":"/docs/api","label":"api"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(57529);const l=JSON.parse('{"docusaurusVersion":"2.3.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.3.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.3.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.3.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.3.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.3.1"},"internaldocs-fb":{"type":"package","name":"docusaurus-plugin-internaldocs-fb","version":"1.8.0"},"docusaurus-lunr-search":{"type":"package","name":"docusaurus-lunr-search","version":"2.3.2"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"2.3.1"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"2.3.1"}}}'),c={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},u=r.createContext(c);function d(e){let{children:t}=e;return r.createElement(u.Provider,{value:c},t)}},44763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(67294),a=n(10412),o=n(35742),i=n(89493);function s(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"50vh",width:"100%",fontSize:"20px"}},r.createElement("h1",null,"This page crashed."),r.createElement("p",null,t.message),r.createElement("button",{type:"button",onClick:n},"Try again"))}function l(e){let{error:t,tryAgain:n}=e;return r.createElement(u,{fallback:()=>r.createElement(s,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(i.Z,null,r.createElement(s,{error:t,tryAgain:n})))}const c=e=>r.createElement(l,e);class u extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.default.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??c)(e)}return e??null}}},10412:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},35742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(70405);function o(e){return r.createElement(a.ql,e)}},39960:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>f});var r=n(87462),a=n(67294),o=n(73727),i=n(18780),s=n(52263),l=n(13919),c=n(10412);const u=a.createContext({collectLink:()=>{}});var d=n(44996);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:b,"data-noBrokenLinkCheck":h,autoAddBaseUrl:g=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:w}}=(0,s.default)(),{withBaseUrl:_}=(0,d.useBaseUrlUtils)(),k=(0,a.useContext)(u),x=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>x.current));const S=p||f;const E=(0,l.Z)(S),C=S?.replace("pathname://","");let T=void 0!==C?(A=C,g&&(e=>e.startsWith("/"))(A)?_(A):A):void 0;var A;T&&E&&(T=(0,i.applyTrailingSlash)(T,{trailingSlash:y,baseUrl:w}));const L=(0,a.useRef)(!1),R=n?o.OL:o.rU,N=c.default.canUseIntersectionObserver,O=(0,a.useRef)(),P=()=>{L.current||null==T||(window.docusaurus.preload(T),L.current=!0)};(0,a.useEffect)((()=>(!N&&E&&null!=T&&window.docusaurus.prefetch(T),()=>{N&&O.current&&O.current.disconnect()})),[O,T,N,E]);const D=T?.startsWith("#")??!1,I=!T||!E||D;return I||h||k.collectLink(T),I?a.createElement("a",(0,r.Z)({ref:x,href:T},S&&!E&&{target:"_blank",rel:"noopener noreferrer"},v)):a.createElement(R,(0,r.Z)({},v,{onMouseEnter:P,onTouchStart:P,innerRef:e=>{x.current=e,N&&e&&E&&(O.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(O.current.unobserve(e),O.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),O.current.observe(e))},to:T},n&&{isActive:b,activeClassName:m}))}const f=a.forwardRef(p)},95999:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>l,translate:()=>s});var r=n(67294);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(57529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function l(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const s=i({message:t,id:n});return r.createElement(r.Fragment,null,a(s,o))}},29935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},13919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},44996:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s,useBaseUrlUtils:()=>i});var r=n(67294),a=n(52263),o=n(13919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.default)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},52263:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(67294),a=n(58940);function o(){return(0,r.useContext)(a._)}},28084:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o,useAllPluginInstancesData:()=>i,usePluginData:()=>s});var r=n(52263),a=n(29935);function o(){const{globalData:e}=(0,r.default)();return e}function i(e,t){void 0===t&&(t={});const n=o()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function s(e,t,n){void 0===t&&(t=a.m),void 0===n&&(n={});const r=i(e)?.[t];if(!r&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return r}},72389:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(67294),a=n(98934);function o(){return(0,r.useContext)(a._)}},99670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});function r(e){const t={};return function e(n,r){Object.entries(n).forEach((n=>{let[a,o]=n;const i=r?`${r}.${a}`:a;var s;"object"==typeof(s=o)&&s&&Object.keys(s).length>0?e(o,i):t[i]=o}))}(e),t}},30226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(67294);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},94104:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>b,gA:()=>d,WS:()=>p,_r:()=>c,Jo:()=>h,zh:()=>u,yW:()=>m,gB:()=>f});var r=n(16550),a=n(28084);const o=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=o(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}function s(e,t){const n=i(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const l={},c=()=>(0,a.useAllPluginInstancesData)("docusaurus-plugin-content-docs")??l,u=e=>(0,a.usePluginData)("docusaurus-plugin-content-docs",e,{failfast:!0});function d(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function p(e){void 0===e&&(e={});const t=d(e),{pathname:n}=(0,r.TH)();if(!t)return;return{activePlugin:t,activeVersion:i(t.pluginData,n)}}function f(e){return u(e).versions}function m(e){const t=u(e);return o(t)}function b(e){const t=u(e),{pathname:n}=(0,r.TH)();return s(t,n)}function h(e){const t=u(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=o(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},56657:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("event","page_view",{page_title:document.title,page_location:window.location.href,page_path:t.pathname+t.search+t.hash})}))}}},18320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(74865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(87410),a=n(36809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.Z)},39471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294);const a="iconExternalLink_nPIU";function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},89493:(e,t,n)=>{"use strict";n.d(t,{Z:()=>lt});var r=n(67294),a=n(86010),o=n(44763),i=n(1944),s=n(55225),l=n(35281),c=n(19727);const u="skipToContent_fXgn";function d(){return r.createElement(s.l,{className:u})}var p=n(86668),f=n(59689),m=n(87462),b=n(95999);function h(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...s}=e;return r.createElement("svg",(0,m.Z)({viewBox:"0 0 15 15",width:t,height:n},s),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const g="closeButton_CVFx";function v(e){return r.createElement("button",(0,m.Z)({type:"button","aria-label":(0,b.translate)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.default)("clean-btn close",g,e.className)}),r.createElement(h,{width:14,height:14,strokeWidth:3.1}))}const y="content_knG7";function w(e){const{announcementBar:t}=(0,p.L)(),{content:n}=t;return r.createElement("div",(0,m.Z)({},e,{className:(0,a.default)(y,e.className),dangerouslySetInnerHTML:{__html:n}}))}const _="announcementBar_mb4j",k="announcementBarPlaceholder_vyr4",x="announcementBarClose_gvF7",S="announcementBarContent_xLdY";function E(){const{announcementBar:e}=(0,p.L)(),{isActive:t,close:n}=(0,f.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:_,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:k}),r.createElement(w,{className:S}),i&&r.createElement(v,{onClick:n,className:x}))}var C=n(93163),T=n(85936),A=n(12466);var L=n(902),R=n(13102);const N=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,C.e)(),t=(0,R.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,L.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(N.Provider,{value:n},t)}function P(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function D(){const e=(0,r.useContext)(N);if(!e)throw new L.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,R.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:P(o)})),[a,o,t])}function I(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=D();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.default)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var M=n(92949),F=n(72389);function B(e){return r.createElement("svg",(0,m.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function j(e){return r.createElement("svg",(0,m.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function z(e){let{className:t,value:n,onChange:o}=e;const i=(0,F.default)(),s=(0,b.translate)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===n?(0,b.translate)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,b.translate)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.default)(U.toggle,t)},r.createElement("button",{className:(0,a.default)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled),type:"button",onClick:()=>o("dark"===n?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite"},r.createElement(B,{className:(0,a.default)(U.toggleIcon,U.lightToggleIcon)}),r.createElement(j,{className:(0,a.default)(U.toggleIcon,U.darkToggleIcon)})))}const q=r.memo(z);function $(e){let{className:t}=e;const n=(0,p.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.I)();return n?null:r.createElement(q,{className:t,value:a,onChange:o})}var G=n(21327);function H(){return r.createElement(G.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function V(){const e=(0,C.e)();return r.createElement("button",{type:"button","aria-label":(0,b.translate)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(h,{color:"var(--ifm-color-emphasis-600)"}))}function W(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(H,null),r.createElement($,{className:"margin-right--md"}),r.createElement(V,null))}var Z=n(39960),K=n(44996),Y=n(13919),Q=n(98022),X=n(39471);function J(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:s,isDropdownLink:l,prependBaseUrlToHref:c,...u}=e;const d=(0,K.default)(a),p=(0,K.default)(t),f=(0,K.default)(o,{forcePrependBaseUrl:!0}),b=i&&o&&!(0,Y.Z)(o),h=s?{dangerouslySetInnerHTML:{__html:s}}:{children:r.createElement(r.Fragment,null,i,b&&r.createElement(X.Z,l&&{width:12,height:12}))};return o?r.createElement(Z.default,(0,m.Z)({href:c?f:o},u,h)):r.createElement(Z.default,(0,m.Z)({to:d,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?(0,Q.F)(n,t.pathname):t.pathname.startsWith(p)},u,h))}function ee(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(J,(0,m.Z)({className:(0,a.default)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function te(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(J,(0,m.Z)({className:(0,a.default)("menu__link",t)},o)))}function ne(e){let{mobile:t=!1,position:n,...a}=e;const o=t?te:ee;return r.createElement(o,(0,m.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var re=n(86043),ae=n(48596),oe=n(16550),ie=n(52263);function se(e,t){return e.some((e=>function(e,t){return!!(0,ae.Mg)(e.to,t)||!!(0,Q.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function le(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,u]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[l]),r.createElement("div",{ref:l,className:(0,a.default)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c})},r.createElement(J,(0,m.Z)({"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.default)("navbar__link",o)},s,{onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u(!c))}}),s.children??s.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,n)=>r.createElement(Ee,(0,m.Z)({isDropdownItem:!0,onKeyDown:e=>{if(n===t.length-1&&"Tab"===e.key){e.preventDefault(),u(!1);const t=l.current.nextElementSibling;if(t){(t instanceof HTMLAnchorElement?t:t.querySelector("a")).focus()}}},activeClassName:"dropdown__link--active"},e,{key:n}))))))}function ce(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const l=function(){const{siteConfig:{baseUrl:e}}=(0,ie.default)(),{pathname:t}=(0,oe.TH)();return t.replace(e,"/")}(),c=se(t,l),{collapsed:u,toggleCollapsed:d,setCollapsed:p}=(0,re.u)({initialState:()=>!c});return(0,r.useEffect)((()=>{c&&p(!c)}),[l,c,p]),r.createElement("li",{className:(0,a.default)("menu__list-item",{"menu__list-item--collapsed":u})},r.createElement(J,(0,m.Z)({role:"button",className:(0,a.default)("menu__link menu__link--sublist menu__link--sublist-caret",n)},s,{onClick:e=>{e.preventDefault(),d()}}),s.children??s.label),r.createElement(re.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:u},t.map(((e,t)=>r.createElement(Ee,(0,m.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function ue(e){let{mobile:t=!1,...n}=e;const a=t?ce:le;return r.createElement(a,n)}var de=n(94711);function pe(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,m.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const fe="iconLanguage_nlXk";var me=n(94184),be=n.n(me),he=n(28084);const ge=e=>{const t=(0,r.useRef)(!1),a=(0,r.useRef)(null),[o,i]=(0,r.useState)(!1),s=(0,oe.k6)(),{siteConfig:l={}}=(0,ie.default)(),c=(0,F.default)(),{baseUrl:u}=l,d=(0,he.usePluginData)("docusaurus-lunr-search"),p=()=>{t.current||(Promise.all([fetch(`${u}${d.fileNames.searchDoc}`).then((e=>e.json())),fetch(`${u}${d.fileNames.lunrIndex}`).then((e=>e.json())),Promise.all([n.e(4611),n.e(5684)]).then(n.bind(n,4734)),Promise.all([n.e(532),n.e(2572)]).then(n.bind(n,32572))]).then((e=>{let[t,n,{default:r}]=e;0!==t.length&&(((e,t,n)=>{new n({searchDocs:e,searchIndex:t,baseUrl:u,inputSelector:"#search_input_react",handleSelected:(e,t,n)=>{const r=n.url||"/";document.createElement("a").href=r,s.push(r)}})})(t,n,r),i(!0))})),t.current=!0)},f=(0,r.useCallback)((t=>{a.current.contains(t.target)||a.current.focus(),e.handleSearchBarToggle&&e.handleSearchBarToggle(!e.isSearchBarExpanded)}),[e.isSearchBarExpanded]);return c&&p(),r.createElement("div",{className:"navbar__search",key:"search-box"},r.createElement("span",{"aria-label":"expand searchbar",role:"button",className:be()("search-icon",{"search-icon-hidden":e.isSearchBarExpanded}),onClick:f,onKeyDown:f,tabIndex:0}),r.createElement("input",{id:"search_input_react",type:"search",placeholder:o?"Search":"Loading...","aria-label":"Search",className:be()("navbar__search-input",{"search-bar-expanded":e.isSearchBarExpanded},{"search-bar":!e.isSearchBarExpanded}),onClick:p,onMouseOver:p,onFocus:f,onBlur:f,ref:a,disabled:!o}))},ve="searchBox_ZlJk";function ye(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.default)(n,ve)},t)}var we=n(94104),_e=n(53438);var ke=n(60373);const xe=e=>e.docs.find((t=>t.id===e.mainDocId));const Se={default:ne,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:s,localeConfigs:l}}=(0,ie.default)(),c=(0,de.l)(),{search:u,hash:d}=(0,oe.TH)(),p=[...n,...s.map((e=>{const n=`${`pathname://${c.createUrl({locale:e,fullyQualified:!1})}`}${u}${d}`;return{label:l[e].label,lang:l[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],f=t?(0,b.translate)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):l[i].label;return r.createElement(ue,(0,m.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(pe,{className:fe}),f),items:p}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(ye,{className:n},r.createElement(ge,null))},dropdown:ue,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const s=i?"li":"div";return r.createElement(s,{className:(0,a.default)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,we.Iw)(a),s=(0,_e.vY)(t,a);return null===s?null:r.createElement(ne,(0,m.Z)({exact:!0},o,{isActive:()=>i?.path===s.path||!!i?.sidebar&&i.sidebar===s.sidebar,label:n??s.id,to:s.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,we.Iw)(a),s=(0,_e.oz)(t,a).link;if(!s)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(ne,(0,m.Z)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??s.label,to:s.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,_e.lO)(a)[0],s=t??i.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(ne,(0,m.Z)({},o,{label:s,to:l}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...s}=e;const{search:l,hash:c}=(0,oe.TH)(),u=(0,we.Iw)(n),d=(0,we.gB)(n),{savePreferredVersionName:p}=(0,ke.J)(n),f=[...o,...d.map((e=>{const t=u.alternateDocVersions[e.name]??xe(e);return{label:e.label,to:`${t.path}${l}${c}`,isActive:()=>e===u.activeVersion,onClick:()=>p(e.name)}})),...i],h=(0,_e.lO)(n)[0],g=t&&f.length>1?(0,b.translate)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,v=t&&f.length>1?void 0:xe(h).path;return f.length<=1?r.createElement(ne,(0,m.Z)({},s,{mobile:t,label:g,to:v,isActive:a?()=>!1:void 0})):r.createElement(ue,(0,m.Z)({},s,{mobile:t,label:g,to:v,items:f,isActive:a?()=>!1:void 0}))}};function Ee(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Se[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function Ce(){const e=(0,C.e)(),t=(0,p.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Ee,(0,m.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Te(e){return r.createElement("button",(0,m.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(b.default,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function Ae(){const e=0===(0,p.L)().navbar.items.length,t=D();return r.createElement(r.Fragment,null,!e&&r.createElement(Te,{onClick:()=>t.hide()}),t.content)}function Le(){const e=(0,C.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(I,{header:r.createElement(W,null),primaryMenu:r.createElement(Ce,null),secondaryMenu:r.createElement(Ae,null)}):null}const Re="navbarHideable_m1mJ",Ne="navbarHidden_jGov";function Oe(e){return r.createElement("div",(0,m.Z)({role:"presentation"},e,{className:(0,a.default)("navbar-sidebar__backdrop",e.className)}))}function Pe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,p.L)(),i=(0,C.e)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,A.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<o.current)return void n(!0);if(a.current)return void(a.current=!1);const s=r?.scrollY,l=document.documentElement.scrollHeight-o.current,c=window.innerHeight;s&&i>=s?n(!1):i+c<l&&n(!0)})),(0,T.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:s,"aria-label":(0,b.translate)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.default)("navbar","navbar--fixed-top",n&&[Re,!l&&Ne],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Oe,{onClick:i.toggle}),r.createElement(Le,null))}function De(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,m.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function Ie(){const{toggle:e,shown:t}=(0,C.e)();return r.createElement("button",{onClick:e,"aria-label":(0,b.translate)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(De,null))}const Me="colorModeToggle_DEke";function Fe(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(Ee,(0,m.Z)({},e,{key:t})))))}function Be(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function je(){const e=(0,C.e)(),t=(0,p.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??"right")}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(Be,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(Ie,null),r.createElement(H,null),r.createElement(Fe,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(Fe,{items:a}),r.createElement($,{className:Me}),!o&&r.createElement(ye,null,r.createElement(ge,null)))})}function Ue(){return r.createElement(Pe,null,r.createElement(je,null))}var ze=n(42489);function qe(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...s}=t,l=(0,K.default)(n),c=(0,K.default)(a,{forcePrependBaseUrl:!0});return r.createElement(Z.default,(0,m.Z)({className:"footer__link-item"},a?{href:i?c:a}:{to:l},s),o,a&&!(0,Y.Z)(a)&&r.createElement(X.Z,null))}function $e(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(qe,{item:t}))}function Ge(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement($e,{key:t,item:e})))))}function He(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(Ge,{key:t,column:e}))))}function Ve(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function We(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(qe,{item:t})}function Ze(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(We,{item:e}),t.length!==n+1&&r.createElement(Ve,null))))))}function Ke(e){let{links:t}=e;return(0,ze.a)(t)?r.createElement(He,{columns:t}):r.createElement(Ze,{links:t})}var Ye=n(50941);const Qe="footerLogoLink_BH7S";function Xe(e){let{logo:t}=e;const{withBaseUrl:n}=(0,K.useBaseUrlUtils)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(Ye.Z,{className:(0,a.default)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function Je(e){let{logo:t}=e;return t.href?r.createElement(Z.default,{href:t.href,className:Qe,target:t.target},r.createElement(Xe,{logo:t})):r.createElement(Xe,{logo:t})}function et(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function tt(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.default)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function nt(){const{footer:e}=(0,p.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(tt,{style:o,links:n&&n.length>0&&r.createElement(Ke,{links:n}),logo:a&&r.createElement(Je,{logo:a}),copyright:t&&r.createElement(et,{copyright:t})})}const rt=r.memo(nt),at=(0,L.Qc)([M.S,f.pl,A.OC,ke.L5,i.VC,function(e){let{children:t}=e;return r.createElement(R.n2,null,r.createElement(C.M,null,r.createElement(O,null,t)))}]);function ot(e){let{children:t}=e;return r.createElement(at,null,t)}function it(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(b.default,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("p",null,t.message),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},r.createElement(b.default,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again when the page crashed"},"Try again"))))))}const st="mainWrapper_z2l0";function lt(e){const{children:t,noFooter:n,wrapperClassName:u,title:p,description:f}=e;return(0,c.t)(),r.createElement(ot,null,r.createElement(i.d,{title:p,description:f}),r.createElement(d,null),r.createElement(E,null),r.createElement(Ue,null),r.createElement("div",{id:s.u,className:(0,a.default)(l.k.wrapper.main,st,u)},r.createElement(o.Z,{fallback:e=>r.createElement(it,e)},t)),!n&&r.createElement(rt,null))}},21327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(87462),a=n(67294),o=n(39960),i=n(44996),s=n(52263),l=n(86668),c=n(50941);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.default)(t.src),dark:(0,i.default)(t.srcDark||t.src)},s=a.createElement(c.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},s):s}function d(e){const{siteConfig:{title:t}}=(0,s.default)(),{navbar:{title:n,logo:c}}=(0,l.L)(),{imageClassName:d,titleClassName:p,...f}=e,m=(0,i.default)(c?.href||"/"),b=n?"":t,h=c?.alt??b;return a.createElement(o.default,(0,r.Z)({to:m},f,c?.target&&{target:c.target}),c&&a.createElement(u,{logo:c,alt:h,imageClassName:d}),null!=n&&a.createElement("b",{className:p},n))}},90197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(35742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},50941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(87462),a=n(67294),o=n(86010),i=n(72389),s=n(92949);const l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function c(e){const t=(0,i.default)(),{colorMode:n}=(0,s.I)(),{sources:c,className:u,alt:d,...p}=e,f=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,f.map((e=>a.createElement("img",(0,r.Z)({key:e,src:c[e],alt:d,className:(0,o.default)(l.themedImage,l[`themedImage--${e}`],u)},p)))))}},86043:(e,t,n)=>{"use strict";n.d(t,{u:()=>i,z:()=>m});var r=n(87462),a=n(67294),o=n(10412);function i(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const s={display:"none",overflow:"hidden",height:"0px"},l={display:"block",overflow:"visible",height:"auto"};function c(e,t){const n=t?s:l;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function u(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=r?.duration??function(e){const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??"ease-in-out"}`,height:`${t}px`}}function i(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return c(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(i(),requestAnimationFrame((()=>{e.style.height=s.height,e.style.overflow=s.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{i()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function d(e){if(!o.default.canUseDOM)return e?s:l}function p(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const p=(0,a.useRef)(null);return u({collapsibleRef:p,collapsed:n,animation:o}),a.createElement(t,{ref:p,style:l?void 0:d(n),onTransitionEnd:e=>{"height"===e.propertyName&&(c(p.current,n),i?.(n))},className:s},r)}function f(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[s,l]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&l(t)}),[o,t]),o?a.createElement(p,(0,r.Z)({},n,{collapsed:s})):null}function m(e){let{lazy:t,...n}=e;const r=t?f:p;return a.createElement(r,n)}},59689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>f});var r=n(67294),a=n(72389),o=n(50012),i=n(902),s=n(86668);const l=(0,o.WA)("docusaurus.announcement.dismiss"),c=(0,o.WA)("docusaurus.announcement.id"),u=()=>"true"===l.get(),d=e=>l.set(String(e)),p=r.createContext(null);function f(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,a.default)(),[n,o]=(0,r.useState)((()=>!!t&&u()));(0,r.useEffect)((()=>{o(u())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&d(!1),!r&&u()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(p.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(p);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},92949:(e,t,n)=>{"use strict";n.d(t,{I:()=>h,S:()=>b});var r=n(67294),a=n(10412),o=n(902),i=n(50012),s=n(86668);const l=r.createContext(void 0),c="theme",u=(0,i.WA)(c),d="light",p="dark",f=e=>e===p?p:d;function m(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[o,i]=(0,r.useState)((e=>a.default.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e))(e));(0,r.useEffect)((()=>{t&&u.del()}),[t]);const l=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(i(t),a&&(e=>{u.set(f(e))})(t)):(i(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p:d:e),u.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=u.get();null!==t&&l(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,l]);const m=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||m.current?m.current=window.matchMedia("print").matches:l(null)};return e.addListener(r),()=>e.removeListener(r)}),[l,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:l,get isDarkTheme(){return o===p},setLightTheme(){l(d)},setDarkTheme(){l(p)}})),[o,l])}function b(e){let{children:t}=e;const n=m();return r.createElement(l.Provider,{value:n},t)}function h(){const e=(0,r.useContext)(l);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},60373:(e,t,n)=>{"use strict";n.d(t,{J:()=>y,L5:()=>g,Oh:()=>w});var r=n(67294),a=n(94104),o=n(29935),i=n(86668),s=n(53438),l=n(902),c=n(50012);const u=e=>`docs-preferred-version-${e}`,d=(e,t,n)=>{(0,c.WA)(u(e),{persistence:t}).set(n)},p=(e,t)=>(0,c.WA)(u(e),{persistence:t}).get(),f=(e,t)=>{(0,c.WA)(u(e),{persistence:t}).del()};const m=r.createContext(null);function b(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>(e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}]))))(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(f(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=b();return r.createElement(m.Provider,{value:n},t)}function g(e){let{children:t}=e;return s.cE?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function v(){const e=(0,r.useContext)(m);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=v(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,a._r)(),[t]=v();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,b:()=>s});var r=n(67294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function s(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function l(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},93163:(e,t,n)=>{"use strict";n.d(t,{M:()=>d,e:()=>p});var r=n(67294),a=n(13102),o=n(87524),i=n(91980),s=n(86668),l=n(902);const c=r.createContext(void 0);function u(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,s.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[l,c]=(0,r.useState)(!1);(0,i.Rb)((()=>{if(l)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:l})),[e,n,u,l])}function d(e){let{children:t}=e;const n=u();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},13102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>l,n2:()=>i});var r=n(67294),a=n(902);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function s(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,s]=i,l=(0,a.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},19727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(67294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},87524:(e,t,n)=>{"use strict";n.d(t,{i:()=>c});var r=n(67294),a=n(10412);const o="desktop",i="mobile",s="ssr";function l(){return a.default.canUseDOM?window.innerWidth>996?o:i:s}function c(){const[e,t]=(0,r.useState)((()=>l()));return(0,r.useEffect)((()=>{function e(){t(l())}return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(undefined)}}),[]),e}},35281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},53438:(e,t,n)=>{"use strict";n.d(t,{MN:()=>k,Wl:()=>p,_F:()=>b,cE:()=>d,hI:()=>_,jA:()=>f,lO:()=>v,oz:()=>y,s1:()=>g,vY:()=>w});var r=n(67294),a=n(16550),o=n(18790),i=n(94104),s=n(60373),l=n(1116),c=n(67392),u=n(48596);const d=!!i._r;function p(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=p(t);if(e)return e}}}function f(){const{pathname:e}=(0,a.TH)(),t=(0,l.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=h({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const m=(e,t)=>void 0!==e&&(0,u.Mg)(e,t);function b(e,t){return"link"===e.type?m(e.href,t):"category"===e.type&&(m(e.href,t)||((e,t)=>e.some((e=>b(e,t))))(e.items,t))}function h(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,u.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,u.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function g(){const e=(0,l.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?h({sidebarItems:e.items,pathname:t}):null}function v(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>(0,c.j)([t,n,a].filter(Boolean))),[t,n,a])}function y(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\n Available sidebar ids are:\n - ${Object.keys(t).join("\n- ")}`);return r[1]}),[e,n])}function w(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`DocNavbarItem: couldn't find any doc with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,c.j)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,s=i.find((e=>(0,a.LX)(r.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.H)(i),sidebarName:l,sidebarItems:c}}function k(e){return e.filter((e=>"category"!==e.type||!!p(e)))}},42489:(e,t,n)=>{"use strict";function r(e){return"title"in e[0]}n.d(t,{a:()=>r})},91980:(e,t,n)=>{"use strict";n.d(t,{Rb:()=>s,_X:()=>l});var r=n(67294),a=n(16550),o=n(61688),i=n(902);function s(e){!function(e){const t=(0,a.k6)(),n=(0,i.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function l(e){return function(e){const t=(0,a.k6)();return(0,o.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},67392:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function a(e){return Array.from(new Set(e))}n.d(t,{j:()=>a,l:()=>r})},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>p,d:()=>u,VC:()=>f});var r=n(67294),a=n(86010),o=n(35742),i=n(30226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(44996),c=n(52263);function u(e){let{title:t,description:n,keywords:a,image:i,children:s}=e;const u=function(e){const{siteConfig:t}=(0,c.default)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.useBaseUrlUtils)(),p=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,u),t&&r.createElement("meta",{property:"og:title",content:u}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),p&&r.createElement("meta",{property:"og:image",content:p}),p&&r.createElement("meta",{name:"twitter:image",content:p}),s)}const d=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,a.default)(i,t);return r.createElement(d.Provider,{value:s},r.createElement(o.Z,null,r.createElement("html",{className:s})),n)}function f(e){let{children:t}=e;const n=s(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(p,{className:(0,a.default)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,LI:()=>a,Qc:()=>c,Ql:()=>l,i6:()=>s,zX:()=>o});var r=n(67294);const a=n(10412).default.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},98022:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{F:()=>r})},48596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(67294),a=n(723),o=n(52263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.default)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},12466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>l,RF:()=>d,o5:()=>p});var r=n(67294),a=n(10412),o=n(72389),i=n(902);const s=r.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(s.Provider,{value:n},t)}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const u=()=>a.default.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(u()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=u();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function p(){const e=c(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),a=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,r.useLayoutEffect)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:a}}function f(){const e=(0,r.useRef)(null),t=(0,o.default)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},43320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>i,_q:()=>l,os:()=>s});var r=n(94104),a=n(52263),o=n(60373);const i="default";function s(e,t){return`docs-${e}-${t}`}function l(){const{i18n:e}=(0,a.default)(),t=(0,r._r)(),n=(0,r.WS)(),l=(0,o.Oh)();const c=[i,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,a=l[e],o=t[e].versions.find((e=>e.isLast));return s(e,(r??a??o).name)}))];return{locale:e.currentLocale,tags:c}}},55225:(e,t,n)=>{"use strict";n.d(t,{l:()=>p,u:()=>l});var r=n(87462),a=n(67294),o=n(16550),i=n(95999),s=n(85936);const l="docusaurus_skipToContent_fallback";function c(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function u(){const e=(0,a.useRef)(null),{action:t}=(0,o.k6)(),n=(0,a.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(l);t&&c(t)}),[]);return(0,s.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&c(e.current)})),{containerRef:e,onClick:n}}const d=(0,i.translate)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function p(e){const t=e.children??d,{containerRef:n,onClick:o}=u();return a.createElement("div",{ref:n,role:"region","aria-label":d},a.createElement("a",(0,r.Z)({},e,{href:`#${l}`,onClick:o}),t))}},50012:(e,t,n)=>{"use strict";n.d(t,{Nk:()=>d,WA:()=>u,_f:()=>p});var r=n(67294),a=n(61688);const o="localStorage";function i(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function s(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,l||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),l=!0),null}var t}let l=!1;const c={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=s(t?.persistence);return null===n?c:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),i({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),i({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?c:u(e,t))).current(),o=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,a.useSyncExternalStore)(o,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}function p(e){void 0===e&&(e=o);const t=s(e);if(!t)return[];const n=[];for(let r=0;r<t.length;r+=1){const e=t.key(r);null!==e&&n.push(e)}return n}},94711:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var r=n(52263),a=n(16550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.default)(),{pathname:i}=(0,a.TH)(),s=o===n?e:e.replace(`/${o}/`,"/"),l=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${s}`:`${s}${e}/`}(r)}${l}`}}}},85936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(67294),a=n(16550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},86668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(52263);function a(){return(0,r.default)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},18780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="post-content";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}})},88991:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSpecInfo=void 0;const r=n(38157);t.getSpecInfo=function(e){return(0,r.call)({module:"bloks",api:"getSpecInfo",args:{styleId:e}})}},38157:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.call=void 0;let n=!1,r=0;const a={},o=["staticdocs.thefacebook.com","localhost"];const i="undefined"!=typeof window&&new URL(window.location.href).searchParams.get("parentHostname")||"https://www.internalfb.com";t.call=function(e){if(!o.includes(window.location.hostname)&&!window.location.hostname.endsWith(".internalfb.com"))return Promise.reject(new Error("Not running on static docs"));n||(n=!0,window.addEventListener("message",(e=>{if("static-docs-bridge-response"!==e.data.event)return;const t=e.data.id;t in a||console.error(`Recieved response for id: ${t} with no matching receiver`),"response"in e.data?a[t].resolve(e.data.response):a[t].reject(new Error(e.data.error)),delete a[t]})));const t=r++,s=new Promise(((e,n)=>{a[t]={resolve:e,reject:n}})),l={event:"static-docs-bridge-call",id:t,module:e.module,api:e.api,args:e.args},c="localhost"===window.location.hostname?"*":i;return window.parent.postMessage(l,c),s}},86735:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.gk=t.getGKs=void 0;const r=n(38157);function a(){return(0,r.call)({module:"gks",api:"getGKs",args:{}})}t.getGKs=a;const o={};t.gk=function(e){return e in o?Promise.resolve(o[e]):a().then((t=>(o[e]=-1!==t.xfb_static_docs_query.static_docs_gks.findIndex((t=>t.name==e)),o[e]))).catch((()=>(o[e]=!1,o[e])))}},75707:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reportContentSelected=t.reportFeatureUsage=t.reportContentCopied=void 0;const r=n(38157),a=()=>{};t.reportContentCopied=function(e){const{textContent:t}=e;return(0,r.call)({module:"feedback",api:"reportContentCopied",args:{textContent:t}}).then(a).catch(a)},t.reportFeatureUsage=function(e){const{featureName:t,id:n}=e;return console.log("used feature"),(0,r.call)({module:"feedback",api:"reportFeatureUsage",args:{featureName:t,id:n}}).then(a).catch(a)},t.reportContentSelected=function(e){const{textContent:t}=e;return(0,r.call)({module:"feedback",api:"reportContentSelected",args:{textContent:t}}).then(a).catch(a)}},86341:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.OssOnly=t.FbInternalOnly=t.getEphemeralDiffNumber=t.hasEphemeralDiffNumber=t.isInternal=t.validateFbContentArgs=t.fbInternalOnly=t.fbContent=t.internComponent=t.checkGKs=t.inpageeditor=t.feedback=t.uidocs=t.bloks=void 0,t.bloks=o(n(88991)),t.uidocs=o(n(87688)),t.feedback=o(n(75707)),t.inpageeditor=o(n(19445)),t.checkGKs=o(n(86735)),t.internComponent=o(n(64602));const i=["internal","external"];function s(e){return c(e),u()?"internal"in e?l(e.internal):[]:"external"in e?l(e.external):[]}function l(e){return"function"==typeof e?e():e}function c(e){if("object"!=typeof e)throw new Error(`fbContent() args must be an object containing keys: ${i}. Instead got ${e}`);if(!Object.keys(e).find((e=>i.find((t=>t===e)))))throw new Error(`No valid args found in ${JSON.stringify(e)}. Accepted keys: ${i}`);const t=Object.keys(e).filter((e=>!i.find((t=>t===e))));if(t.length>0)throw new Error(`Unexpected keys ${t} found in fbContent() args. Accepted keys: ${i}`)}function u(){try{return Boolean(!1)}catch(e){return console.log("process.env.FB_INTERNAL couldn't be read, maybe you forgot to add the required webpack EnvironmentPlugin config?",e),!1}}function d(){try{return null}catch(e){return console.log("process.env.PHABRICATOR_DIFF_NUMBER couldn't be read, maybe you forgot to add the required webpack EnvironmentPlugin config?",e),null}}t.fbContent=s,t.fbInternalOnly=function(e){return s({internal:e})},t.validateFbContentArgs=c,t.isInternal=u,t.hasEphemeralDiffNumber=function(){return Boolean(d())},t.getEphemeralDiffNumber=d,t.FbInternalOnly=function(e){return u()?e.children:null},t.OssOnly=function(e){return u()?null:e.children}},19445:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.submitDiff=t.DiffKind=void 0;const r=n(38157);!function(e){e.modify="modify",e.add="add"}(t.DiffKind||(t.DiffKind={})),t.submitDiff=function(e){const{file_path:t,new_content:n,project_name:a,diff_number:o,diff_kind:i}=e;return(0,r.call)({module:"inpageeditor",api:"createPhabricatorDiffApi",args:{file_path:t,new_content:n,project_name:a,diff_number:o,diff_kind:i}}).catch((e=>{throw new Error(`Error occurred while trying to submit diff. Stack trace: ${e}`)}))}},64602:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.display=void 0;const r=n(38157),a=()=>{};t.display=function(e){const{componentName:t,posX:n,posY:o,props:i}=e;return(0,r.call)({module:"interncomponent",api:"displayComponent",args:{componentName:t,posX:n,posY:o,props:i}}).then(a).catch(a)}},87688:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getApi=t.docsets=void 0;const r=n(38157);t.docsets={BLOKS_CORE:"887372105406659"},t.getApi=function(e){const{name:t,framework:n,docset:a}=e;return(0,r.call)({module:"uidocs",api:"getApi",args:{name:t,framework:n,docset:a}})}},92509:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(n(10412)),o=n(86341),i=/^\//,s=/\/$/,l="__internaldocs_auto_redirect",c="thefacebook.com",u=`staticdocs.${c}`,d="internalfb.com",p="/intern/staticdocs",f="disableRedirect",m="[docusaurus-plugin-internaldocs-fb]";function b(e){const t=new URLSearchParams(window.location.search).get(e);return console.log(`query "${e}": ${t}`),null!==t}t.default=function(){function e(e){if(window.location.hostname.endsWith(d))return;if(window.top==window.self&&window.location.hostname.endsWith(`.${c}`)&&!b(f)){const t=new URL(window.location.href);return t.hostname=d,t.port="",window.location.hostname===u?t.pathname=p+e.pathname:t.pathname=p+window.location.hostname.split(".")[0]+e.pathname,console.log(`${m} Redirecting to ${t.href}`),void(window.location.href=t.href)}const t=new AbortController,a=setTimeout((()=>t.abort()),2e3);fetch("https://staticdocs.thefacebook.com/ping",{signal:t.signal}).then((()=>{clearTimeout(a),fetch("https://www.internalfb.com/intern/internaldocs/check",{credentials:"include",referrerPolicy:"no-referrer-when-downgrade"}).then((e=>e.json())).then((e=>function(e){if(!e.showBanner||!e.redirectTo||!e.template)return;const t=document.getElementById("internaldocs-banner");if(t){const a=location.href,o=new URL(a).host,l=a.slice(a.indexOf(o)+o.length),c=e.redirectTo.replace(s,"")+"/"+(l?l.replace(i,""):"");b(f)&&(console.log(`${m} Disabling redirect because of query parameter`),r(!1)),e.autoRedirectEnabled&&n()&&(console.log(`${m} Redirecting to ${c}`),window.location.href=c),function(e,t,a,o){const i=t.match(/(.*)\{\{([^}]+)\}\}(.*)/);if(!i)return;const s=i[1]||"",l=i[2]||"",c=i[3]||"";Array.from(e.childNodes).map((t=>e.removeChild(t))),e.appendChild(document.createTextNode(s));const u=document.createElement("a");u.href=a,u.style.color="#3578e5",u.appendChild(document.createTextNode(l)),e.appendChild(u),e.appendChild(document.createTextNode(c));const d=document.createElement("p");d.style.fontSize="11px",d.style.marginBottom="3px";const p=document.createElement("input");p.id="internaldocs-remember-checkbox",p.type="checkbox",p.style.height="8px",p.checked=n(),p.addEventListener("change",(()=>{r(Boolean(p.checked))})),d.appendChild(p),o&&e.appendChild(d);const f=document.createElement("label");f.htmlFor="internaldocs-remember-checkbox",f.appendChild(document.createTextNode("Redirect me automatically in future")),d.appendChild(f),e.style.display="block"}(t,e.template,c,e.autoRedirectEnabled)}}(e))).catch((()=>{}))})).catch((()=>{}))}function t(){setTimeout((()=>{var e;null===(e=window.parent)||void 0===e||e.postMessage({event:"page-update",title:document.title,location:window.location.href,version:2},"*")}),0)}function n(){const e=localStorage.getItem(l);return"true"===e?(console.log(`${m} opted in to auto redirects`),!0):"false"===e?(console.log(`${m} opted out of auto redirects`),!1):(console.log(`${m} using default auto-redirect behaviour: true`),!0)}function r(e){localStorage.setItem(l,e?"true":"false")}a.default.canUseDOM&&(e(window.location),t(),document.addEventListener("copy",(()=>{const e=document.getSelection();e&&o.feedback.reportContentCopied({textContent:e.toString()})})));return{onRouteUpdate:n=>{let{location:r}=n;e(r),t()}}}()},94184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=a.apply(null,n);i&&e.push(i)}}else if("object"===o){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var s in n)r.call(n,s)&&n[s]&&e.push(s)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},86010:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n);else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}function a(){for(var e,t,n=0,a="";n<arguments.length;)(e=arguments[n++])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a}n.r(t),n.d(t,{clsx:()=>a,default:()=>o});const o=a},99318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>f,PP:()=>A,Ep:()=>p});var r=n(87462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&a(e),l=t&&a(t),c=s||l;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var u=i[i.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,p=i.length;p>=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(38776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var b=!("undefined"==typeof window||!window.document||!window.document.createElement);function h(e,t){t(window.confirm(e))}var g="popstate",v="hashchange";function y(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),b||(0,s.Z)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,c=i.forceRefresh,w=void 0!==c&&c,_=i.getUserConfirmation,k=void 0===_?h:_,x=i.keyLength,S=void 0===x?6:x,E=e.basename?d(l(e.basename)):"";function C(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return E&&(o=u(o,E)),f(o,r,n)}function T(){return Math.random().toString(36).substr(2,S)}var A=m();function L(e){(0,r.Z)(z,e),z.length=n.length,A.notifyListeners(z.location,z.action)}function R(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||P(C(e.state))}function N(){P(C(y()))}var O=!1;function P(e){if(O)O=!1,L();else{A.confirmTransitionTo(e,"POP",k,(function(t){t?L({action:"POP",location:e}):function(e){var t=z.location,n=I.indexOf(t.key);-1===n&&(n=0);var r=I.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(O=!0,F(a))}(e)}))}}var D=C(y()),I=[D.key];function M(e){return E+p(e)}function F(e){n.go(e)}var B=0;function j(e){1===(B+=e)&&1===e?(window.addEventListener(g,R),o&&window.addEventListener(v,N)):0===B&&(window.removeEventListener(g,R),o&&window.removeEventListener(v,N))}var U=!1;var z={length:n.length,action:"POP",location:D,createHref:M,push:function(e,t){var r="PUSH",o=f(e,t,T(),z.location);A.confirmTransitionTo(o,r,k,(function(e){if(e){var t=M(o),i=o.key,s=o.state;if(a)if(n.pushState({key:i,state:s},null,t),w)window.location.href=t;else{var l=I.indexOf(z.location.key),c=I.slice(0,l+1);c.push(o.key),I=c,L({action:r,location:o})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,T(),z.location);A.confirmTransitionTo(o,r,k,(function(e){if(e){var t=M(o),i=o.key,s=o.state;if(a)if(n.replaceState({key:i,state:s},null,t),w)window.location.replace(t);else{var l=I.indexOf(z.location.key);-1!==l&&(I[l]=o.key),L({action:r,location:o})}else window.location.replace(t)}}))},go:F,goBack:function(){F(-1)},goForward:function(){F(1)},block:function(e){void 0===e&&(e=!1);var t=A.setPrompt(e);return U||(j(1),U=!0),function(){return U&&(U=!1,j(-1)),t()}},listen:function(e){var t=A.appendListener(e);return j(1),function(){j(-1),t()}}};return z}var _="hashchange",k={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:l},slash:{encodePath:l,decodePath:l}};function x(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function S(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function E(e){window.location.replace(x(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),b||(0,s.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?h:a,i=n.hashType,c=void 0===i?"slash":i,g=e.basename?d(l(e.basename)):"",v=k[c],y=v.encodePath,w=v.decodePath;function C(){var e=w(S());return g&&(e=u(e,g)),f(e)}var T=m();function A(e){(0,r.Z)(U,e),U.length=t.length,T.notifyListeners(U.location,U.action)}var L=!1,R=null;function N(){var e,t,n=S(),r=y(n);if(n!==r)E(r);else{var a=C(),i=U.location;if(!L&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(R===p(a))return;R=null,function(e){if(L)L=!1,A();else{var t="POP";T.confirmTransitionTo(e,t,o,(function(n){n?A({action:t,location:e}):function(e){var t=U.location,n=I.lastIndexOf(p(t));-1===n&&(n=0);var r=I.lastIndexOf(p(e));-1===r&&(r=0);var a=n-r;a&&(L=!0,M(a))}(e)}))}}(a)}}var O=S(),P=y(O);O!==P&&E(P);var D=C(),I=[p(D)];function M(e){t.go(e)}var F=0;function B(e){1===(F+=e)&&1===e?window.addEventListener(_,N):0===F&&window.removeEventListener(_,N)}var j=!1;var U={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=x(window.location.href)),n+"#"+y(g+p(e))},push:function(e,t){var n="PUSH",r=f(e,void 0,void 0,U.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=y(g+t);if(S()!==a){R=t,function(e){window.location.hash=e}(a);var o=I.lastIndexOf(p(U.location)),i=I.slice(0,o+1);i.push(t),I=i,A({action:n,location:r})}else A()}}))},replace:function(e,t){var n="REPLACE",r=f(e,void 0,void 0,U.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=y(g+t);S()!==a&&(R=t,E(a));var o=I.indexOf(p(U.location));-1!==o&&(I[o]=t),A({action:n,location:r})}}))},go:M,goBack:function(){M(-1)},goForward:function(){M(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return j||(B(1),j=!0),function(){return j&&(j=!1,B(-1)),t()}},listen:function(e){var t=T.appendListener(e);return B(1),function(){B(-1),t()}}};return U}function T(e,t,n){return Math.min(Math.max(e,t),n)}function A(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,c=void 0===l?6:l,u=m();function d(e){(0,r.Z)(w,e),w.length=w.entries.length,u.notifyListeners(w.location,w.action)}function b(){return Math.random().toString(36).substr(2,c)}var h=T(s,0,o.length-1),g=o.map((function(e){return f(e,void 0,"string"==typeof e?b():e.key||b())})),v=p;function y(e){var t=T(w.index+e,0,w.entries.length-1),r=w.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:g.length,action:"POP",location:g[h],index:h,entries:g,createHref:v,push:function(e,t){var r="PUSH",a=f(e,t,b(),w.location);u.confirmTransitionTo(a,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,b(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return w}},8679:(e,t,n)=>{"use strict";var r=n(59864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),b=l(n),h=0;h<i.length;++h){var g=i[h];if(!(o[g]||r&&r[g]||b&&b[g]||s&&s[g])){var v=p(n,g);try{c(t,g,v)}catch(y){}}}}return t}},41143:e=>{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,o,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},32497:(e,t,n)=>{"use strict";n.r(t)},52295:(e,t,n)=>{"use strict";n.r(t)},74865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},27418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,o){for(var i,s,l=a(e),c=1;c<arguments.length;c++){for(var u in i=Object(arguments[c]))n.call(i,u)&&(l[u]=i[u]);if(t){s=t(i);for(var d=0;d<s.length;d++)r.call(i,s[d])&&(l[s[d]]=i[s[d]])}}return l}},87410:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(o=r.util.objId(t),n[o])return n[o];for(var i in a={},n[o]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":return o=r.util.objId(t),n[o]?n[o]:(a=[],n[o]=a,t.forEach((function(t,r){a[r]=e(t,n)})),a);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],i={};for(var s in o)if(o.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(i[l]=n[l]);n.hasOwnProperty(s)||(i[s]=o[s])}var c=a[e];return a[e]=i,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,a,o){o=o||{};var i=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],a||s);var l=t[s],c=r.util.type(l);"Object"!==c||o[i(l)]?"Array"!==c||o[i(l)]||(o[i(l)]=!0,e(l,n,s,o)):(o[i(l)]=!0,e(l,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};return r.hooks.run("before-tokenize",o),o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new s;return l(a,a.head,e),i(e,a,t,a.head,0),function(e){var t=[],n=e.head.next;for(;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function i(e,t,n,s,u,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var m=0;m<f.length;++m){if(d&&d.cause==p+","+m)return;var b=f[m],h=b.inside,g=!!b.lookbehind,v=!!b.greedy,y=b.alias;if(v&&!b.pattern.global){var w=b.pattern.toString().match(/[imsuy]*$/)[0];b.pattern=RegExp(b.pattern.source,w+"g")}for(var _=b.pattern||b,k=s.next,x=u;k!==t.tail&&!(d&&x>=d.reach);x+=k.value.length,k=k.next){var S=k.value;if(t.length>e.length)return;if(!(S instanceof a)){var E,C=1;if(v){if(!(E=o(_,x,e,g))||E.index>=e.length)break;var T=E.index,A=E.index+E[0].length,L=x;for(L+=k.value.length;T>=L;)L+=(k=k.next).value.length;if(x=L-=k.value.length,k.value instanceof a)continue;for(var R=k;R!==t.tail&&(L<A||"string"==typeof R.value);R=R.next)C++,L+=R.value.length;C--,S=e.slice(x,L),E.index-=x}else if(!(E=o(_,0,S,g)))continue;T=E.index;var N=E[0],O=S.slice(0,T),P=S.slice(T+N.length),D=x+S.length;d&&D>d.reach&&(d.reach=D);var I=k.prev;if(O&&(I=l(t,I,O),x+=O.length),c(t,I,C),k=l(t,I,new a(p,h?r.tokenize(N,h):N,y,N)),P&&l(t,k,P),C>1){var M={cause:p+","+m,reach:D};i(e,t,n,k.prev,x,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function c(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,n)})),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(o.classes,i):o.classes.push(i)),r.hooks.run("wrap",o);var s="";for(var l in o.attributes)s+=" "+l+'="'+(o.attributes[l]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+s+">"+o.content+"</"+o.tag+">"},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var r={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i<a.length;i++)o[a[i]]=e.languages.bash[a[i]];e.languages.shell=e.languages.bash}(a),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a=t[n];if("code"===a.type){var o=a.content[1],i=a.content[3];if(o&&i&&"code-language"===o.type&&"code-block"===i.type&&"string"==typeof o.content){var s=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),l="language-"+(s=(/[a-z][\w-]*/i.exec(s)||[""])[0].toLowerCase());i.alias?"string"==typeof i.alias?i.alias=[i.alias,l]:i.alias.push(l):i.alias=[l]}}else e(a.content)}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var o=t.classes[r],c=/language-(.+)/.exec(o);if(c){n=c[1];break}}var u,d=e.languages[n];if(d)t.content=e.highlight((u=t.content,u.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;if("#"===(t=t.toLowerCase())[0])return n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n);var r=s[t];return r||e}))),d,n);else if(n&&"none"!==n&&e.plugins.autoloader){var p="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=p,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(p);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))}))}}}));var i=RegExp(e.languages.markup.tag.pattern.source,"gi"),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var o=p(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=u(0);"variable"===i.type&&(f(i,"variable-input"),a.push(i.content))}n=o+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,f(u(0),"property-mutation"),a.length>0)){var s=p(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l<s;l++){var c=t[l];"variable"===c.type&&a.indexOf(c.content)>=0&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return!1}return!0}function p(e,r){for(var a=1,o=n;o<t.length;o++){var i=t[o],s=i.content;if("punctuation"===i.type&&"string"==typeof s)if(e.test(s))a++;else if(r.test(s)&&0===--a)return o}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),a.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function c(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,l(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function u(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,u={},d=l(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(i++,r)););return u[n]=a,n})).join(""),n,r),p=Object.keys(u);return i=0,function e(t){for(var n=0;n<t.length;n++){if(i>=p.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=p[i],o="string"==typeof r?r:r.content,s=o.indexOf(a);if(-1!==s){++i;var l=o.substring(0,s),d=c(u[a]),f=o.substring(s+a.length),m=[];if(l&&m.push(l),m.push(d),f){var b=[f];e(b),m.push.apply(m,b)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var h=r.content;Array.isArray(h)?e(h):e([h])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function p(e){return"string"==typeof e?e:Array.isArray(e)?e.map(p).join(""):p(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r<a;r++){var o=n[r];if("string"!=typeof o){var i=o.content;if(Array.isArray(i))if("template-string"===o.type){var s=i[1];if(3===i.length&&"string"!=typeof s&&"embedded-code"===s.type){var l=p(s),c=s.alias,d=Array.isArray(c)?c[0]:c,f=e.languages[d];if(!f)continue;i[1]=u(l,f,d)}}else t(i);else"string"!=typeof i&&t([i])}}}(t.tokens)}))}(a),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a];"RegExp"===e.util.type(o)&&(o=e.languages.javascript[a]={pattern:o});var i=o.inside||{};o.inside=i,i["maybe-class-name"]=/^[A-Z][\s\S]*/}}(a),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],o=!1;if("string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?n.length>0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var l=i(a);r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(l+=i(t[r+1]),t.splice(r+1,1)),r>0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(l=i(t[r-1])+l,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",l,null,l)}a.content&&"string"!=typeof a.content&&s(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l<s.length&&!(a>=o.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[a],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),m=p.indexOf(f);if(m>-1){++a;var b=p.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),g=p.substring(m+f.length),v=[];b&&v.push.apply(v,i([b])),v.push(h),g&&v.push.apply(v,i([g])),"string"==typeof c?s.splice.apply(s,[l,1].concat(v)):c.content=v}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},29901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to <a href="https://webplatform.github.io/docs/">WebPlatform.org documentation</a>. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(29901),a=n(39642),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(16500).resolve(t)],delete Prism.languages[e],n(16500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6726:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6726},16500:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=16500},39642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}function r(e){var n={},r=[];function a(r,o){if(!(r in n)){o.push(r);var i=o.indexOf(r);if(i<o.length-1)throw new Error("Circular dependency: "+o.slice(i).join(" -> "));var s={},l=e[r];if(l){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in s))for(var i in a(t,o),s[t]=!0,n[t])s[i]=!0}t(l.require,c),t(l.optional,c),t(l.modify,c)}n[r]=s,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,s){var l=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(l);i=i.map(c),s=(s||[]).map(c);var u=n(i),d=n(s);i.forEach((function e(n){var r=l[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=r(l),m=u;a(m);){for(var b in p={},m){var h=l[b];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var g in d)if(!(g in u))for(var v in f(g))if(v in u){p[g]=!0;break}for(var y in m=p)u[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,s={},l={};function c(e){if(e in s)return s[e];l[e]=!0;var a,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)a=r(e);else{var p=i(u.map((function(e){var t=c(e);return delete l[e],t})));o?a=o(p,(function(){return r(e)})):r(e)}return s[e]=a}for(var u in n)c(u);var d=[];for(var p in l)d.push(s[p]);return i(d)}(f,u,t,n)}};return w}}();e.exports=t},92703:(e,t,n)=>{"use strict";var r=n(50414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},45697:(e,t,n)=>{e.exports=n(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:(e,t,n)=>{"use strict";var r=n(67294),a=n(27418),o=n(63840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(i(227));var s=new Set,l={};function c(e,t){u(e,t),u(e+"Capture",t)}function u(e,t){for(l[e]=t,e=0;e<t.length;e++)s.add(t[e])}var d=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f=Object.prototype.hasOwnProperty,m={},b={};function h(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new h(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var v=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function w(e,t,n,r){var a=g.hasOwnProperty(t)?g[t]:null;(null!==a?0===a.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!f.call(b,e)||!f.call(m,e)&&(p.test(e)?b[e]=!0:(m[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(v,y);g[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(v,y);g[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(v,y);g[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var _=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=60103,x=60106,S=60107,E=60108,C=60114,T=60109,A=60110,L=60112,R=60113,N=60120,O=60115,P=60116,D=60121,I=60128,M=60129,F=60130,B=60131;if("function"==typeof Symbol&&Symbol.for){var j=Symbol.for;k=j("react.element"),x=j("react.portal"),S=j("react.fragment"),E=j("react.strict_mode"),C=j("react.profiler"),T=j("react.provider"),A=j("react.context"),L=j("react.forward_ref"),R=j("react.suspense"),N=j("react.suspense_list"),O=j("react.memo"),P=j("react.lazy"),D=j("react.block"),j("react.scope"),I=j("react.opaque.id"),M=j("react.debug_trace_mode"),F=j("react.offscreen"),B=j("react.legacy_hidden")}var U,z="function"==typeof Symbol&&Symbol.iterator;function q(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=z&&e[z]||e["@@iterator"])?e:null}function $(e){if(void 0===U)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);U=t&&t[1]||""}return"\n"+U+e}var G=!1;function H(e,t){if(!e||G)return"";G=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(l){var r=l}Reflect.construct(e,[],t)}else{try{t.call()}catch(l){r=l}e.call(t.prototype)}else{try{throw Error()}catch(l){r=l}e()}}catch(l){if(l&&r&&"string"==typeof l.stack){for(var a=l.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,s=o.length-1;1<=i&&0<=s&&a[i]!==o[s];)s--;for(;1<=i&&0<=s;i--,s--)if(a[i]!==o[s]){if(1!==i||1!==s)do{if(i--,0>--s||a[i]!==o[s])return"\n"+a[i].replace(" at new "," at ")}while(1<=i&&0<=s);break}}}finally{G=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?$(e):""}function V(e){switch(e.tag){case 5:return $(e.type);case 16:return $("Lazy");case 13:return $("Suspense");case 19:return $("SuspenseList");case 0:case 2:case 15:return e=H(e.type,!1);case 11:return e=H(e.type.render,!1);case 22:return e=H(e.type._render,!1);case 1:return e=H(e.type,!0);default:return""}}function W(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case C:return"Profiler";case E:return"StrictMode";case R:return"Suspense";case N:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case A:return(e.displayName||"Context")+".Consumer";case T:return(e._context.displayName||"Context")+".Provider";case L:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case O:return W(e.type);case D:return W(e._render);case P:t=e._payload,e=e._init;try{return W(e(t))}catch(n){}}return null}function Z(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function K(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var t=K(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=K(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function X(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return a({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Z(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&w(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=Z(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ae(e,t.type,n):t.hasOwnProperty("defaultValue")&&ae(e,t.type,Z(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function re(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ae(e,t,n){"number"===t&&X(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function oe(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ie(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Z(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function se(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:Z(n)}}function ce(e,t){var n=Z(t.value),r=Z(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ue(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var de="http://www.w3.org/1999/xhtml",pe="http://www.w3.org/2000/svg";function fe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function me(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?fe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var be,he,ge=(he=function(e,t){if(e.namespaceURI!==pe||"innerHTML"in e)e.innerHTML=t;else{for((be=be||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=be.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return he(e,t)}))}:he);function ve(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var ye={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},we=["Webkit","ms","Moz","O"];function _e(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||ye.hasOwnProperty(e)&&ye[e]?(""+t).trim():t+"px"}function ke(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=_e(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(ye).forEach((function(e){we.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ye[t]=ye[e]}))}));var xe=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Se(e,t){if(t){if(xe[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(i(62))}}function Ee(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Ce(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Te=null,Ae=null,Le=null;function Re(e){if(e=ra(e)){if("function"!=typeof Te)throw Error(i(280));var t=e.stateNode;t&&(t=oa(t),Te(e.stateNode,e.type,t))}}function Ne(e){Ae?Le?Le.push(e):Le=[e]:Ae=e}function Oe(){if(Ae){var e=Ae,t=Le;if(Le=Ae=null,Re(e),t)for(e=0;e<t.length;e++)Re(t[e])}}function Pe(e,t){return e(t)}function De(e,t,n,r,a){return e(t,n,r,a)}function Ie(){}var Me=Pe,Fe=!1,Be=!1;function je(){null===Ae&&null===Le||(Ie(),Oe())}function Ue(e,t){var n=e.stateNode;if(null===n)return null;var r=oa(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(i(231,t,typeof n));return n}var ze=!1;if(d)try{var qe={};Object.defineProperty(qe,"passive",{get:function(){ze=!0}}),window.addEventListener("test",qe,qe),window.removeEventListener("test",qe,qe)}catch(he){ze=!1}function $e(e,t,n,r,a,o,i,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Ge=!1,He=null,Ve=!1,We=null,Ze={onError:function(e){Ge=!0,He=e}};function Ke(e,t,n,r,a,o,i,s,l){Ge=!1,He=null,$e.apply(Ze,arguments)}function Ye(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Xe(e){if(Ye(e)!==e)throw Error(i(188))}function Je(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ye(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return Xe(a),e;if(o===r)return Xe(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=o;break}if(l===r){s=!0,r=a,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,r=a;break}if(l===r){s=!0,r=o,n=a;break}l=l.sibling}if(!s)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var tt,nt,rt,at,ot=!1,it=[],st=null,lt=null,ct=null,ut=new Map,dt=new Map,pt=[],ft="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function mt(e,t,n,r,a){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:a,targetContainers:[r]}}function bt(e,t){switch(e){case"focusin":case"focusout":st=null;break;case"dragenter":case"dragleave":lt=null;break;case"mouseover":case"mouseout":ct=null;break;case"pointerover":case"pointerout":ut.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":dt.delete(t.pointerId)}}function ht(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e=mt(t,n,r,a,o),null!==t&&(null!==(t=ra(t))&&nt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function gt(e){var t=na(e.target);if(null!==t){var n=Ye(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Qe(n)))return e.blockedOn=t,void at(e.lanePriority,(function(){o.unstable_runWithPriority(e.priority,(function(){rt(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function vt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ra(n))&&nt(t),e.blockedOn=n,!1;t.shift()}return!0}function yt(e,t,n){vt(e)&&n.delete(t)}function wt(){for(ot=!1;0<it.length;){var e=it[0];if(null!==e.blockedOn){null!==(e=ra(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&it.shift()}null!==st&&vt(st)&&(st=null),null!==lt&&vt(lt)&&(lt=null),null!==ct&&vt(ct)&&(ct=null),ut.forEach(yt),dt.forEach(yt)}function _t(e,t){e.blockedOn===t&&(e.blockedOn=null,ot||(ot=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,wt)))}function kt(e){function t(t){return _t(t,e)}if(0<it.length){_t(it[0],e);for(var n=1;n<it.length;n++){var r=it[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==st&&_t(st,e),null!==lt&&_t(lt,e),null!==ct&&_t(ct,e),ut.forEach(t),dt.forEach(t),n=0;n<pt.length;n++)(r=pt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<pt.length&&null===(n=pt[0]).blockedOn;)gt(n),null===n.blockedOn&&pt.shift()}function xt(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var St={animationend:xt("Animation","AnimationEnd"),animationiteration:xt("Animation","AnimationIteration"),animationstart:xt("Animation","AnimationStart"),transitionend:xt("Transition","TransitionEnd")},Et={},Ct={};function Tt(e){if(Et[e])return Et[e];if(!St[e])return e;var t,n=St[e];for(t in n)if(n.hasOwnProperty(t)&&t in Ct)return Et[e]=n[t];return e}d&&(Ct=document.createElement("div").style,"AnimationEvent"in window||(delete St.animationend.animation,delete St.animationiteration.animation,delete St.animationstart.animation),"TransitionEvent"in window||delete St.transitionend.transition);var At=Tt("animationend"),Lt=Tt("animationiteration"),Rt=Tt("animationstart"),Nt=Tt("transitionend"),Ot=new Map,Pt=new Map,Dt=["abort","abort",At,"animationEnd",Lt,"animationIteration",Rt,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Nt,"transitionEnd","waiting","waiting"];function It(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],a=e[n+1];a="on"+(a[0].toUpperCase()+a.slice(1)),Pt.set(r,t),Ot.set(r,a),c(a,[r])}}(0,o.unstable_now)();var Mt=8;function Ft(e){if(0!=(1&e))return Mt=15,1;if(0!=(2&e))return Mt=14,2;if(0!=(4&e))return Mt=13,4;var t=24&e;return 0!==t?(Mt=12,t):0!=(32&e)?(Mt=11,32):0!==(t=192&e)?(Mt=10,t):0!=(256&e)?(Mt=9,256):0!==(t=3584&e)?(Mt=8,t):0!=(4096&e)?(Mt=7,4096):0!==(t=4186112&e)?(Mt=6,t):0!==(t=62914560&e)?(Mt=5,t):67108864&e?(Mt=4,67108864):0!=(134217728&e)?(Mt=3,134217728):0!==(t=805306368&e)?(Mt=2,t):0!=(1073741824&e)?(Mt=1,1073741824):(Mt=8,e)}function Bt(e,t){var n=e.pendingLanes;if(0===n)return Mt=0;var r=0,a=0,o=e.expiredLanes,i=e.suspendedLanes,s=e.pingedLanes;if(0!==o)r=o,a=Mt=15;else if(0!==(o=134217727&n)){var l=o&~i;0!==l?(r=Ft(l),a=Mt):0!==(s&=o)&&(r=Ft(s),a=Mt)}else 0!==(o=n&~i)?(r=Ft(o),a=Mt):0!==s&&(r=Ft(s),a=Mt);if(0===r)return 0;if(r=n&((0>(r=31-Gt(r))?0:1<<r)<<1)-1,0!==t&&t!==r&&0==(t&i)){if(Ft(t),a<=Mt)return t;Mt=a}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-Gt(t)),r|=e[n],t&=~a;return r}function jt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Ut(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=zt(24&~t))?Ut(10,t):e;case 10:return 0===(e=zt(192&~t))?Ut(8,t):e;case 8:return 0===(e=zt(3584&~t))&&(0===(e=zt(4186112&~t))&&(e=512)),e;case 2:return 0===(t=zt(805306368&~t))&&(t=268435456),t}throw Error(i(358,e))}function zt(e){return e&-e}function qt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function $t(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-Gt(t)]=n}var Gt=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Ht(e)/Vt|0)|0},Ht=Math.log,Vt=Math.LN2;var Wt=o.unstable_UserBlockingPriority,Zt=o.unstable_runWithPriority,Kt=!0;function Yt(e,t,n,r){Fe||Ie();var a=Xt,o=Fe;Fe=!0;try{De(a,e,t,n,r)}finally{(Fe=o)||je()}}function Qt(e,t,n,r){Zt(Wt,Xt.bind(null,e,t,n,r))}function Xt(e,t,n,r){var a;if(Kt)if((a=0==(4&t))&&0<it.length&&-1<ft.indexOf(e))e=mt(null,e,t,n,r),it.push(e);else{var o=Jt(e,t,n,r);if(null===o)a&&bt(e,r);else{if(a){if(-1<ft.indexOf(e))return e=mt(o,e,t,n,r),void it.push(e);if(function(e,t,n,r,a){switch(t){case"focusin":return st=ht(st,e,t,n,r,a),!0;case"dragenter":return lt=ht(lt,e,t,n,r,a),!0;case"mouseover":return ct=ht(ct,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return ut.set(o,ht(ut.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,dt.set(o,ht(dt.get(o)||null,e,t,n,r,a)),!0}return!1}(o,e,t,n,r))return;bt(e,r)}Ir(e,t,r,null,n)}}}function Jt(e,t,n,r){var a=Ce(r);if(null!==(a=na(a))){var o=Ye(a);if(null===o)a=null;else{var i=o.tag;if(13===i){if(null!==(a=Qe(o)))return a;a=null}else if(3===i){if(o.stateNode.hydrate)return 3===o.tag?o.stateNode.containerInfo:null;a=null}else o!==a&&(a=null)}}return Ir(e,t,r,a,n),null}var en=null,tn=null,nn=null;function rn(){if(nn)return nn;var e,t,n=tn,r=n.length,a="value"in en?en.value:en.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return nn=a.slice(e,1<t?1-t:void 0)}function an(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function on(){return!0}function sn(){return!1}function ln(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?on:sn,this.isPropagationStopped=sn,this}return a(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=on)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=on)},persist:function(){},isPersistent:on}),t}var cn,un,dn,pn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},fn=ln(pn),mn=a({},pn,{view:0,detail:0}),bn=ln(mn),hn=a({},mn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:An,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==dn&&(dn&&"mousemove"===e.type?(cn=e.screenX-dn.screenX,un=e.screenY-dn.screenY):un=cn=0,dn=e),cn)},movementY:function(e){return"movementY"in e?e.movementY:un}}),gn=ln(hn),vn=ln(a({},hn,{dataTransfer:0})),yn=ln(a({},mn,{relatedTarget:0})),wn=ln(a({},pn,{animationName:0,elapsedTime:0,pseudoElement:0})),_n=a({},pn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kn=ln(_n),xn=ln(a({},pn,{data:0})),Sn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},En={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Cn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Tn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Cn[e])&&!!t[e]}function An(){return Tn}var Ln=a({},mn,{key:function(e){if(e.key){var t=Sn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=an(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?En[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:An,charCode:function(e){return"keypress"===e.type?an(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?an(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Rn=ln(Ln),Nn=ln(a({},hn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),On=ln(a({},mn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:An})),Pn=ln(a({},pn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Dn=a({},hn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),In=ln(Dn),Mn=[9,13,27,32],Fn=d&&"CompositionEvent"in window,Bn=null;d&&"documentMode"in document&&(Bn=document.documentMode);var jn=d&&"TextEvent"in window&&!Bn,Un=d&&(!Fn||Bn&&8<Bn&&11>=Bn),zn=String.fromCharCode(32),qn=!1;function $n(e,t){switch(e){case"keyup":return-1!==Mn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Gn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Hn=!1;var Vn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Wn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Vn[e.type]:"textarea"===t}function Zn(e,t,n,r){Ne(r),0<(t=Fr(t,"onChange")).length&&(n=new fn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Kn=null,Yn=null;function Qn(e){Lr(e,0)}function Xn(e){if(Q(aa(e)))return e}function Jn(e,t){if("change"===e)return t}var er=!1;if(d){var tr;if(d){var nr="oninput"in document;if(!nr){var rr=document.createElement("div");rr.setAttribute("oninput","return;"),nr="function"==typeof rr.oninput}tr=nr}else tr=!1;er=tr&&(!document.documentMode||9<document.documentMode)}function ar(){Kn&&(Kn.detachEvent("onpropertychange",or),Yn=Kn=null)}function or(e){if("value"===e.propertyName&&Xn(Yn)){var t=[];if(Zn(t,Yn,e,Ce(e)),e=Qn,Fe)e(t);else{Fe=!0;try{Pe(e,t)}finally{Fe=!1,je()}}}}function ir(e,t,n){"focusin"===e?(ar(),Yn=n,(Kn=t).attachEvent("onpropertychange",or)):"focusout"===e&&ar()}function sr(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Xn(Yn)}function lr(e,t){if("click"===e)return Xn(t)}function cr(e,t){if("input"===e||"change"===e)return Xn(t)}var ur="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},dr=Object.prototype.hasOwnProperty;function pr(e,t){if(ur(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!dr.call(t,n[r])||!ur(e[n[r]],t[n[r]]))return!1;return!0}function fr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function mr(e,t){var n,r=fr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=fr(r)}}function br(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?br(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function hr(){for(var e=window,t=X();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=X((e=t.contentWindow).document)}return t}function gr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var vr=d&&"documentMode"in document&&11>=document.documentMode,yr=null,wr=null,_r=null,kr=!1;function xr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;kr||null==yr||yr!==X(r)||("selectionStart"in(r=yr)&&gr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},_r&&pr(_r,r)||(_r=r,0<(r=Fr(wr,"onSelect")).length&&(t=new fn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=yr)))}It("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),It("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),It(Dt,2);for(var Sr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Er=0;Er<Sr.length;Er++)Pt.set(Sr[Er],0);u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Cr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Tr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Cr));function Ar(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,o,s,l,c){if(Ke.apply(this,arguments),Ge){if(!Ge)throw Error(i(198));var u=He;Ge=!1,He=null,Ve||(Ve=!0,We=u)}}(r,t,void 0,e),e.currentTarget=null}function Lr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==o&&a.isPropagationStopped())break e;Ar(a,s,c),o=l}else for(i=0;i<r.length;i++){if(l=(s=r[i]).instance,c=s.currentTarget,s=s.listener,l!==o&&a.isPropagationStopped())break e;Ar(a,s,c),o=l}}}if(Ve)throw e=We,Ve=!1,We=null,e}function Rr(e,t){var n=ia(t),r=e+"__bubble";n.has(r)||(Dr(t,e,2,!1),n.add(r))}var Nr="_reactListening"+Math.random().toString(36).slice(2);function Or(e){e[Nr]||(e[Nr]=!0,s.forEach((function(t){Tr.has(t)||Pr(t,!1,e,null),Pr(t,!0,e,null)})))}function Pr(e,t,n,r){var a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,o=n;if("selectionchange"===e&&9!==n.nodeType&&(o=n.ownerDocument),null!==r&&!t&&Tr.has(e)){if("scroll"!==e)return;a|=2,o=r}var i=ia(o),s=e+"__"+(t?"capture":"bubble");i.has(s)||(t&&(a|=4),Dr(o,e,a,t),i.add(s))}function Dr(e,t,n,r){var a=Pt.get(t);switch(void 0===a?2:a){case 0:a=Yt;break;case 1:a=Qt;break;default:a=Xt}n=a.bind(null,t,n,e),a=void 0,!ze||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Ir(e,t,n,r,a){var o=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===a||8===s.nodeType&&s.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===a||8===l.nodeType&&l.parentNode===a))return;i=i.return}for(;null!==s;){if(null===(i=na(s)))return;if(5===(l=i.tag)||6===l){r=o=i;continue e}s=s.parentNode}}r=r.return}!function(e,t,n){if(Be)return e(t,n);Be=!0;try{Me(e,t,n)}finally{Be=!1,je()}}((function(){var r=o,a=Ce(n),i=[];e:{var s=Ot.get(e);if(void 0!==s){var l=fn,c=e;switch(e){case"keypress":if(0===an(n))break e;case"keydown":case"keyup":l=Rn;break;case"focusin":c="focus",l=yn;break;case"focusout":c="blur",l=yn;break;case"beforeblur":case"afterblur":l=yn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=gn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=vn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=On;break;case At:case Lt:case Rt:l=wn;break;case Nt:l=Pn;break;case"scroll":l=bn;break;case"wheel":l=In;break;case"copy":case"cut":case"paste":l=kn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Nn}var u=0!=(4&t),d=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var f,m=r;null!==m;){var b=(f=m).stateNode;if(5===f.tag&&null!==b&&(f=b,null!==p&&(null!=(b=Ue(m,p))&&u.push(Mr(m,b,f)))),d)break;m=m.return}0<u.length&&(s=new l(s,c,null,n,a),i.push({event:s,listeners:u}))}}if(0==(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||0!=(16&t)||!(c=n.relatedTarget||n.fromElement)||!na(c)&&!c[ea])&&(l||s)&&(s=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?na(c):null)&&(c!==(d=Ye(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=gn,b="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=Nn,b="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==l?s:aa(l),f=null==c?s:aa(c),(s=new u(b,m+"leave",l,n,a)).target=d,s.relatedTarget=f,b=null,na(a)===r&&((u=new u(p,m+"enter",c,n,a)).target=f,u.relatedTarget=d,b=u),d=b,l&&c)e:{for(p=c,m=0,f=u=l;f;f=Br(f))m++;for(f=0,b=p;b;b=Br(b))f++;for(;0<m-f;)u=Br(u),m--;for(;0<f-m;)p=Br(p),f--;for(;m--;){if(u===p||null!==p&&u===p.alternate)break e;u=Br(u),p=Br(p)}u=null}else u=null;null!==l&&jr(i,s,l,u,!1),null!==c&&null!==d&&jr(i,d,c,u,!0)}if("select"===(l=(s=r?aa(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var h=Jn;else if(Wn(s))if(er)h=cr;else{h=sr;var g=ir}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(h=lr);switch(h&&(h=h(e,r))?Zn(i,h,n,a):(g&&g(e,s,r),"focusout"===e&&(g=s._wrapperState)&&g.controlled&&"number"===s.type&&ae(s,"number",s.value)),g=r?aa(r):window,e){case"focusin":(Wn(g)||"true"===g.contentEditable)&&(yr=g,wr=r,_r=null);break;case"focusout":_r=wr=yr=null;break;case"mousedown":kr=!0;break;case"contextmenu":case"mouseup":case"dragend":kr=!1,xr(i,n,a);break;case"selectionchange":if(vr)break;case"keydown":case"keyup":xr(i,n,a)}var v;if(Fn)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else Hn?$n(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(Un&&"ko"!==n.locale&&(Hn||"onCompositionStart"!==y?"onCompositionEnd"===y&&Hn&&(v=rn()):(tn="value"in(en=a)?en.value:en.textContent,Hn=!0)),0<(g=Fr(r,y)).length&&(y=new xn(y,e,null,n,a),i.push({event:y,listeners:g}),v?y.data=v:null!==(v=Gn(n))&&(y.data=v))),(v=jn?function(e,t){switch(e){case"compositionend":return Gn(t);case"keypress":return 32!==t.which?null:(qn=!0,zn);case"textInput":return(e=t.data)===zn&&qn?null:e;default:return null}}(e,n):function(e,t){if(Hn)return"compositionend"===e||!Fn&&$n(e,t)?(e=rn(),nn=tn=en=null,Hn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Un&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Fr(r,"onBeforeInput")).length&&(a=new xn("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=v))}Lr(i,t)}))}function Mr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Fr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Ue(e,n))&&r.unshift(Mr(e,o,a)),null!=(o=Ue(e,t))&&r.push(Mr(e,o,a))),e=e.return}return r}function Br(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function jr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==c&&(s=c,a?null!=(l=Ue(n,o))&&i.unshift(Mr(n,l,s)):a||null!=(l=Ue(n,o))&&i.push(Mr(n,l,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}function Ur(){}var zr=null,qr=null;function $r(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Gr(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Hr="function"==typeof setTimeout?setTimeout:void 0,Vr="function"==typeof clearTimeout?clearTimeout:void 0;function Wr(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function Zr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Kr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Yr=0;var Qr=Math.random().toString(36).slice(2),Xr="__reactFiber$"+Qr,Jr="__reactProps$"+Qr,ea="__reactContainer$"+Qr,ta="__reactEvents$"+Qr;function na(e){var t=e[Xr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ea]||n[Xr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Kr(e);null!==e;){if(n=e[Xr])return n;e=Kr(e)}return t}n=(e=n).parentNode}return null}function ra(e){return!(e=e[Xr]||e[ea])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function aa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function oa(e){return e[Jr]||null}function ia(e){var t=e[ta];return void 0===t&&(t=e[ta]=new Set),t}var sa=[],la=-1;function ca(e){return{current:e}}function ua(e){0>la||(e.current=sa[la],sa[la]=null,la--)}function da(e,t){la++,sa[la]=e.current,e.current=t}var pa={},fa=ca(pa),ma=ca(!1),ba=pa;function ha(e,t){var n=e.type.contextTypes;if(!n)return pa;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function ga(e){return null!=(e=e.childContextTypes)}function va(){ua(ma),ua(fa)}function ya(e,t,n){if(fa.current!==pa)throw Error(i(168));da(fa,t),da(ma,n)}function wa(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(i(108,W(t)||"Unknown",o));return a({},n,r)}function _a(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pa,ba=fa.current,da(fa,e),da(ma,ma.current),!0}function ka(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=wa(e,t,ba),r.__reactInternalMemoizedMergedChildContext=e,ua(ma),ua(fa),da(fa,e)):ua(ma),da(ma,n)}var xa=null,Sa=null,Ea=o.unstable_runWithPriority,Ca=o.unstable_scheduleCallback,Ta=o.unstable_cancelCallback,Aa=o.unstable_shouldYield,La=o.unstable_requestPaint,Ra=o.unstable_now,Na=o.unstable_getCurrentPriorityLevel,Oa=o.unstable_ImmediatePriority,Pa=o.unstable_UserBlockingPriority,Da=o.unstable_NormalPriority,Ia=o.unstable_LowPriority,Ma=o.unstable_IdlePriority,Fa={},Ba=void 0!==La?La:function(){},ja=null,Ua=null,za=!1,qa=Ra(),$a=1e4>qa?Ra:function(){return Ra()-qa};function Ga(){switch(Na()){case Oa:return 99;case Pa:return 98;case Da:return 97;case Ia:return 96;case Ma:return 95;default:throw Error(i(332))}}function Ha(e){switch(e){case 99:return Oa;case 98:return Pa;case 97:return Da;case 96:return Ia;case 95:return Ma;default:throw Error(i(332))}}function Va(e,t){return e=Ha(e),Ea(e,t)}function Wa(e,t,n){return e=Ha(e),Ca(e,t,n)}function Za(){if(null!==Ua){var e=Ua;Ua=null,Ta(e)}Ka()}function Ka(){if(!za&&null!==ja){za=!0;var e=0;try{var t=ja;Va(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),ja=null}catch(n){throw null!==ja&&(ja=ja.slice(e+1)),Ca(Oa,Za),n}finally{za=!1}}}var Ya=_.ReactCurrentBatchConfig;function Qa(e,t){if(e&&e.defaultProps){for(var n in t=a({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var Xa=ca(null),Ja=null,eo=null,to=null;function no(){to=eo=Ja=null}function ro(e){var t=Xa.current;ua(Xa),e.type._context._currentValue=t}function ao(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function oo(e,t){Ja=e,to=eo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(Fi=!0),e.firstContext=null)}function io(e,t){if(to!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(to=e,t=1073741823),t={context:e,observedBits:t,next:null},null===eo){if(null===Ja)throw Error(i(308));eo=t,Ja.dependencies={lanes:0,firstContext:t,responders:null}}else eo=eo.next=t;return e._currentValue}var so=!1;function lo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function co(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function uo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function po(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function fo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function mo(e,t,n,r){var o=e.updateQueue;so=!1;var i=o.firstBaseUpdate,s=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var c=l,u=c.next;c.next=null,null===s?i=u:s.next=u,s=c;var d=e.alternate;if(null!==d){var p=(d=d.updateQueue).lastBaseUpdate;p!==s&&(null===p?d.firstBaseUpdate=u:p.next=u,d.lastBaseUpdate=c)}}if(null!==i){for(p=o.baseState,s=0,d=u=c=null;;){l=i.lane;var f=i.eventTime;if((r&l)===l){null!==d&&(d=d.next={eventTime:f,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var m=e,b=i;switch(l=t,f=n,b.tag){case 1:if("function"==typeof(m=b.payload)){p=m.call(f,p,l);break e}p=m;break e;case 3:m.flags=-4097&m.flags|64;case 0:if(null==(l="function"==typeof(m=b.payload)?m.call(f,p,l):m))break e;p=a({},p,l);break e;case 2:so=!0}}null!==i.callback&&(e.flags|=32,null===(l=o.effects)?o.effects=[i]:l.push(i))}else f={eventTime:f,lane:l,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===d?(u=d=f,c=p):d=d.next=f,s|=l;if(null===(i=i.next)){if(null===(l=o.shared.pending))break;i=l.next,l.next=null,o.lastBaseUpdate=l,o.shared.pending=null}}null===d&&(c=p),o.baseState=c,o.firstBaseUpdate=u,o.lastBaseUpdate=d,zs|=s,e.lanes=s,e.memoizedState=p}}function bo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(i(191,a));a.call(r)}}}var ho=(new r.Component).refs;function go(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:a({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var vo={isMounted:function(e){return!!(e=e._reactInternals)&&Ye(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=pl(),a=fl(e),o=uo(r,a);o.payload=t,null!=n&&(o.callback=n),po(e,o),ml(e,a,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=pl(),a=fl(e),o=uo(r,a);o.tag=1,o.payload=t,null!=n&&(o.callback=n),po(e,o),ml(e,a,r)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=pl(),r=fl(e),a=uo(n,r);a.tag=2,null!=t&&(a.callback=t),po(e,a),ml(e,r,n)}};function yo(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!pr(n,r)||!pr(a,o))}function wo(e,t,n){var r=!1,a=pa,o=t.contextType;return"object"==typeof o&&null!==o?o=io(o):(a=ga(t)?ba:fa.current,o=(r=null!=(r=t.contextTypes))?ha(e,a):pa),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=vo,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function _o(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&vo.enqueueReplaceState(t,t.state,null)}function ko(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=ho,lo(e);var o=t.contextType;"object"==typeof o&&null!==o?a.context=io(o):(o=ga(t)?ba:fa.current,a.context=ha(e,o)),mo(e,n,a,r),a.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(go(e,t,o,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&vo.enqueueReplaceState(a,a.state,null),mo(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4)}var xo=Array.isArray;function So(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===a?t.ref:(t=function(e){var t=r.refs;t===ho&&(t=r.refs={}),null===e?delete t[a]:t[a]=e},t._stringRef=a,t)}if("string"!=typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function Eo(e,t){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function Co(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Vl(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags=2,n):r:(t.flags=2,n):n}function s(t){return e&&null===t.alternate&&(t.flags=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Yl(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function c(e,t,n,r){return null!==t&&t.elementType===n.type?((r=a(t,n.props)).ref=So(e,t,n),r.return=e,r):((r=Wl(n.type,n.key,n.props,null,e.mode,r)).ref=So(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Ql(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=Zl(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Yl(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Wl(t.type,t.key,t.props,null,e.mode,n)).ref=So(e,null,t),n.return=e,n;case x:return(t=Ql(t,e.mode,n)).return=e,t}if(xo(t)||q(t))return(t=Zl(t,e.mode,n,null)).return=e,t;Eo(e,t)}return null}function f(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==a?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===a?n.type===S?d(e,t,n.props.children,r,a):c(e,t,n,r):null;case x:return n.key===a?u(e,t,n,r):null}if(xo(n)||q(n))return null!==a?null:d(e,t,n,r,null);Eo(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case k:return e=e.get(null===r.key?n:r.key)||null,r.type===S?d(t,e,r.props.children,a,r.key):c(t,e,r,a);case x:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a)}if(xo(r)||q(r))return d(t,e=e.get(n)||null,r,a,null);Eo(t,r)}return null}function b(a,i,s,l){for(var c=null,u=null,d=i,b=i=0,h=null;null!==d&&b<s.length;b++){d.index>b?(h=d,d=null):h=d.sibling;var g=f(a,d,s[b],l);if(null===g){null===d&&(d=h);break}e&&d&&null===g.alternate&&t(a,d),i=o(g,i,b),null===u?c=g:u.sibling=g,u=g,d=h}if(b===s.length)return n(a,d),c;if(null===d){for(;b<s.length;b++)null!==(d=p(a,s[b],l))&&(i=o(d,i,b),null===u?c=d:u.sibling=d,u=d);return c}for(d=r(a,d);b<s.length;b++)null!==(h=m(d,a,b,s[b],l))&&(e&&null!==h.alternate&&d.delete(null===h.key?b:h.key),i=o(h,i,b),null===u?c=h:u.sibling=h,u=h);return e&&d.forEach((function(e){return t(a,e)})),c}function h(a,s,l,c){var u=q(l);if("function"!=typeof u)throw Error(i(150));if(null==(l=u.call(l)))throw Error(i(151));for(var d=u=null,b=s,h=s=0,g=null,v=l.next();null!==b&&!v.done;h++,v=l.next()){b.index>h?(g=b,b=null):g=b.sibling;var y=f(a,b,v.value,c);if(null===y){null===b&&(b=g);break}e&&b&&null===y.alternate&&t(a,b),s=o(y,s,h),null===d?u=y:d.sibling=y,d=y,b=g}if(v.done)return n(a,b),u;if(null===b){for(;!v.done;h++,v=l.next())null!==(v=p(a,v.value,c))&&(s=o(v,s,h),null===d?u=v:d.sibling=v,d=v);return u}for(b=r(a,b);!v.done;h++,v=l.next())null!==(v=m(b,a,h,v.value,c))&&(e&&null!==v.alternate&&b.delete(null===v.key?h:v.key),s=o(v,s,h),null===d?u=v:d.sibling=v,d=v);return e&&b.forEach((function(e){return t(a,e)})),u}return function(e,r,o,l){var c="object"==typeof o&&null!==o&&o.type===S&&null===o.key;c&&(o=o.props.children);var u="object"==typeof o&&null!==o;if(u)switch(o.$$typeof){case k:e:{for(u=o.key,c=r;null!==c;){if(c.key===u){if(7===c.tag){if(o.type===S){n(e,c.sibling),(r=a(c,o.props.children)).return=e,e=r;break e}}else if(c.elementType===o.type){n(e,c.sibling),(r=a(c,o.props)).ref=So(e,c,o),r.return=e,e=r;break e}n(e,c);break}t(e,c),c=c.sibling}o.type===S?((r=Zl(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=Wl(o.type,o.key,o.props,null,e.mode,l)).ref=So(e,r,o),l.return=e,e=l)}return s(e);case x:e:{for(c=o.key;null!==r;){if(r.key===c){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=a(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Ql(o,e.mode,l)).return=e,e=r}return s(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=a(r,o)).return=e,e=r):(n(e,r),(r=Yl(o,e.mode,l)).return=e,e=r),s(e);if(xo(o))return b(e,r,o,l);if(q(o))return h(e,r,o,l);if(u&&Eo(e,o),void 0===o&&!c)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(i(152,W(e.type)||"Component"))}return n(e,r)}}var To=Co(!0),Ao=Co(!1),Lo={},Ro=ca(Lo),No=ca(Lo),Oo=ca(Lo);function Po(e){if(e===Lo)throw Error(i(174));return e}function Do(e,t){switch(da(Oo,t),da(No,e),da(Ro,Lo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:me(null,"");break;default:t=me(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ua(Ro),da(Ro,t)}function Io(){ua(Ro),ua(No),ua(Oo)}function Mo(e){Po(Oo.current);var t=Po(Ro.current),n=me(t,e.type);t!==n&&(da(No,e),da(Ro,n))}function Fo(e){No.current===e&&(ua(Ro),ua(No))}var Bo=ca(0);function jo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Uo=null,zo=null,qo=!1;function $o(e,t){var n=Gl(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Go(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Ho(e){if(qo){var t=zo;if(t){var n=t;if(!Go(e,t)){if(!(t=Zr(n.nextSibling))||!Go(e,t))return e.flags=-1025&e.flags|2,qo=!1,void(Uo=e);$o(Uo,n)}Uo=e,zo=Zr(t.firstChild)}else e.flags=-1025&e.flags|2,qo=!1,Uo=e}}function Vo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Uo=e}function Wo(e){if(e!==Uo)return!1;if(!qo)return Vo(e),qo=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Gr(t,e.memoizedProps))for(t=zo;t;)$o(e,t),t=Zr(t.nextSibling);if(Vo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){zo=Zr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}zo=null}}else zo=Uo?Zr(e.stateNode.nextSibling):null;return!0}function Zo(){zo=Uo=null,qo=!1}var Ko=[];function Yo(){for(var e=0;e<Ko.length;e++)Ko[e]._workInProgressVersionPrimary=null;Ko.length=0}var Qo=_.ReactCurrentDispatcher,Xo=_.ReactCurrentBatchConfig,Jo=0,ei=null,ti=null,ni=null,ri=!1,ai=!1;function oi(){throw Error(i(321))}function ii(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ur(e[n],t[n]))return!1;return!0}function si(e,t,n,r,a,o){if(Jo=o,ei=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Qo.current=null===e||null===e.memoizedState?Pi:Di,e=n(r,a),ai){o=0;do{if(ai=!1,!(25>o))throw Error(i(301));o+=1,ni=ti=null,t.updateQueue=null,Qo.current=Ii,e=n(r,a)}while(ai)}if(Qo.current=Oi,t=null!==ti&&null!==ti.next,Jo=0,ni=ti=ei=null,ri=!1,t)throw Error(i(300));return e}function li(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ni?ei.memoizedState=ni=e:ni=ni.next=e,ni}function ci(){if(null===ti){var e=ei.alternate;e=null!==e?e.memoizedState:null}else e=ti.next;var t=null===ni?ei.memoizedState:ni.next;if(null!==t)ni=t,ti=e;else{if(null===e)throw Error(i(310));e={memoizedState:(ti=e).memoizedState,baseState:ti.baseState,baseQueue:ti.baseQueue,queue:ti.queue,next:null},null===ni?ei.memoizedState=ni=e:ni=ni.next=e}return ni}function ui(e,t){return"function"==typeof t?t(e):t}function di(e){var t=ci(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=ti,a=r.baseQueue,o=n.pending;if(null!==o){if(null!==a){var s=a.next;a.next=o.next,o.next=s}r.baseQueue=a=o,n.pending=null}if(null!==a){a=a.next,r=r.baseState;var l=s=o=null,c=a;do{var u=c.lane;if((Jo&u)===u)null!==l&&(l=l.next={lane:0,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null}),r=c.eagerReducer===e?c.eagerState:e(r,c.action);else{var d={lane:u,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null};null===l?(s=l=d,o=r):l=l.next=d,ei.lanes|=u,zs|=u}c=c.next}while(null!==c&&c!==a);null===l?o=r:l.next=s,ur(r,t.memoizedState)||(Fi=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=l,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function pi(e){var t=ci(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var s=a=a.next;do{o=e(o,s.action),s=s.next}while(s!==a);ur(o,t.memoizedState)||(Fi=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function fi(e,t,n){var r=t._getVersion;r=r(t._source);var a=t._workInProgressVersionPrimary;if(null!==a?e=a===r:(e=e.mutableReadLanes,(e=(Jo&e)===e)&&(t._workInProgressVersionPrimary=r,Ko.push(t))),e)return n(t._source);throw Ko.push(t),Error(i(350))}function mi(e,t,n,r){var a=Ps;if(null===a)throw Error(i(349));var o=t._getVersion,s=o(t._source),l=Qo.current,c=l.useState((function(){return fi(a,t,n)})),u=c[1],d=c[0];c=ni;var p=e.memoizedState,f=p.refs,m=f.getSnapshot,b=p.source;p=p.subscribe;var h=ei;return e.memoizedState={refs:f,source:t,subscribe:r},l.useEffect((function(){f.getSnapshot=n,f.setSnapshot=u;var e=o(t._source);if(!ur(s,e)){e=n(t._source),ur(d,e)||(u(e),e=fl(h),a.mutableReadLanes|=e&a.pendingLanes),e=a.mutableReadLanes,a.entangledLanes|=e;for(var r=a.entanglements,i=e;0<i;){var l=31-Gt(i),c=1<<l;r[l]|=e,i&=~c}}}),[n,t,r]),l.useEffect((function(){return r(t._source,(function(){var e=f.getSnapshot,n=f.setSnapshot;try{n(e(t._source));var r=fl(h);a.mutableReadLanes|=r&a.pendingLanes}catch(o){n((function(){throw o}))}}))}),[t,r]),ur(m,n)&&ur(b,t)&&ur(p,r)||((e={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:d}).dispatch=u=Ni.bind(null,ei,e),c.queue=e,c.baseQueue=null,d=fi(a,t,n),c.memoizedState=c.baseState=d),d}function bi(e,t,n){return mi(ci(),e,t,n)}function hi(e){var t=li();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:e}).dispatch=Ni.bind(null,ei,e),[t.memoizedState,e]}function gi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=ei.updateQueue)?(t={lastEffect:null},ei.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function vi(e){return e={current:e},li().memoizedState=e}function yi(){return ci().memoizedState}function wi(e,t,n,r){var a=li();ei.flags|=e,a.memoizedState=gi(1|t,n,void 0,void 0===r?null:r)}function _i(e,t,n,r){var a=ci();r=void 0===r?null:r;var o=void 0;if(null!==ti){var i=ti.memoizedState;if(o=i.destroy,null!==r&&ii(r,i.deps))return void gi(t,n,o,r)}ei.flags|=e,a.memoizedState=gi(1|t,n,o,r)}function ki(e,t){return wi(516,4,e,t)}function xi(e,t){return _i(516,4,e,t)}function Si(e,t){return _i(4,2,e,t)}function Ei(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ci(e,t,n){return n=null!=n?n.concat([e]):null,_i(4,2,Ei.bind(null,t,e),n)}function Ti(){}function Ai(e,t){var n=ci();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ii(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Li(e,t){var n=ci();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ii(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Ri(e,t){var n=Ga();Va(98>n?98:n,(function(){e(!0)})),Va(97<n?97:n,(function(){var n=Xo.transition;Xo.transition=1;try{e(!1),t()}finally{Xo.transition=n}}))}function Ni(e,t,n){var r=pl(),a=fl(e),o={lane:a,action:n,eagerReducer:null,eagerState:null,next:null},i=t.pending;if(null===i?o.next=o:(o.next=i.next,i.next=o),t.pending=o,i=e.alternate,e===ei||null!==i&&i===ei)ai=ri=!0;else{if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var s=t.lastRenderedState,l=i(s,n);if(o.eagerReducer=i,o.eagerState=l,ur(l,s))return}catch(c){}ml(e,a,r)}}var Oi={readContext:io,useCallback:oi,useContext:oi,useEffect:oi,useImperativeHandle:oi,useLayoutEffect:oi,useMemo:oi,useReducer:oi,useRef:oi,useState:oi,useDebugValue:oi,useDeferredValue:oi,useTransition:oi,useMutableSource:oi,useOpaqueIdentifier:oi,unstable_isNewReconciler:!1},Pi={readContext:io,useCallback:function(e,t){return li().memoizedState=[e,void 0===t?null:t],e},useContext:io,useEffect:ki,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,wi(4,2,Ei.bind(null,t,e),n)},useLayoutEffect:function(e,t){return wi(4,2,e,t)},useMemo:function(e,t){var n=li();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=li();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Ni.bind(null,ei,e),[r.memoizedState,e]},useRef:vi,useState:hi,useDebugValue:Ti,useDeferredValue:function(e){var t=hi(e),n=t[0],r=t[1];return ki((function(){var t=Xo.transition;Xo.transition=1;try{r(e)}finally{Xo.transition=t}}),[e]),n},useTransition:function(){var e=hi(!1),t=e[0];return vi(e=Ri.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var r=li();return r.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},mi(r,e,t,n)},useOpaqueIdentifier:function(){if(qo){var e=!1,t=function(e){return{$$typeof:I,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(Yr++).toString(36))),Error(i(355))})),n=hi(t)[1];return 0==(2&ei.mode)&&(ei.flags|=516,gi(5,(function(){n("r:"+(Yr++).toString(36))}),void 0,null)),t}return hi(t="r:"+(Yr++).toString(36)),t},unstable_isNewReconciler:!1},Di={readContext:io,useCallback:Ai,useContext:io,useEffect:xi,useImperativeHandle:Ci,useLayoutEffect:Si,useMemo:Li,useReducer:di,useRef:yi,useState:function(){return di(ui)},useDebugValue:Ti,useDeferredValue:function(e){var t=di(ui),n=t[0],r=t[1];return xi((function(){var t=Xo.transition;Xo.transition=1;try{r(e)}finally{Xo.transition=t}}),[e]),n},useTransition:function(){var e=di(ui)[0];return[yi().current,e]},useMutableSource:bi,useOpaqueIdentifier:function(){return di(ui)[0]},unstable_isNewReconciler:!1},Ii={readContext:io,useCallback:Ai,useContext:io,useEffect:xi,useImperativeHandle:Ci,useLayoutEffect:Si,useMemo:Li,useReducer:pi,useRef:yi,useState:function(){return pi(ui)},useDebugValue:Ti,useDeferredValue:function(e){var t=pi(ui),n=t[0],r=t[1];return xi((function(){var t=Xo.transition;Xo.transition=1;try{r(e)}finally{Xo.transition=t}}),[e]),n},useTransition:function(){var e=pi(ui)[0];return[yi().current,e]},useMutableSource:bi,useOpaqueIdentifier:function(){return pi(ui)[0]},unstable_isNewReconciler:!1},Mi=_.ReactCurrentOwner,Fi=!1;function Bi(e,t,n,r){t.child=null===e?Ao(t,null,n,r):To(t,e.child,n,r)}function ji(e,t,n,r,a){n=n.render;var o=t.ref;return oo(t,a),r=si(e,t,n,r,o,a),null===e||Fi?(t.flags|=1,Bi(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,os(e,t,a))}function Ui(e,t,n,r,a,o){if(null===e){var i=n.type;return"function"!=typeof i||Hl(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Wl(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,zi(e,t,i,r,a,o))}return i=e.child,0==(a&o)&&(a=i.memoizedProps,(n=null!==(n=n.compare)?n:pr)(a,r)&&e.ref===t.ref)?os(e,t,o):(t.flags|=1,(e=Vl(i,r)).ref=t.ref,e.return=t,t.child=e)}function zi(e,t,n,r,a,o){if(null!==e&&pr(e.memoizedProps,r)&&e.ref===t.ref){if(Fi=!1,0==(o&a))return t.lanes=e.lanes,os(e,t,o);0!=(16384&e.flags)&&(Fi=!0)}return Gi(e,t,n,r,o)}function qi(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode||"unstable-defer-without-hiding"===r.mode)if(0==(4&t.mode))t.memoizedState={baseLanes:0},kl(t,n);else{if(0==(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},kl(t,e),null;t.memoizedState={baseLanes:0},kl(t,null!==o?o.baseLanes:n)}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,kl(t,r);return Bi(e,t,a,n),t.child}function $i(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function Gi(e,t,n,r,a){var o=ga(n)?ba:fa.current;return o=ha(t,o),oo(t,a),n=si(e,t,n,r,o,a),null===e||Fi?(t.flags|=1,Bi(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,os(e,t,a))}function Hi(e,t,n,r,a){if(ga(n)){var o=!0;_a(t)}else o=!1;if(oo(t,a),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),wo(t,n,r),ko(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=io(c):c=ha(t,c=ga(n)?ba:fa.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==c)&&_o(t,i,r,c),so=!1;var p=t.memoizedState;i.state=p,mo(t,r,i,a),l=t.memoizedState,s!==r||p!==l||ma.current||so?("function"==typeof u&&(go(t,n,u,r),l=t.memoizedState),(s=so||yo(t,n,s,r,p,l,c))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4)):("function"==typeof i.componentDidMount&&(t.flags|=4),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=c,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4),r=!1)}else{i=t.stateNode,co(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:Qa(t.type,s),i.props=c,d=t.pendingProps,p=i.context,"object"==typeof(l=n.contextType)&&null!==l?l=io(l):l=ha(t,l=ga(n)?ba:fa.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||p!==l)&&_o(t,i,r,l),so=!1,p=t.memoizedState,i.state=p,mo(t,r,i,a);var m=t.memoizedState;s!==d||p!==m||ma.current||so?("function"==typeof f&&(go(t,n,f,r),m=t.memoizedState),(c=so||yo(t,n,c,r,p,m,l))?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,m,l),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,m,l)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=256),t.memoizedProps=r,t.memoizedState=m),i.props=r,i.state=m,i.context=l,r=c):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=256),r=!1)}return Vi(e,t,n,r,o,a)}function Vi(e,t,n,r,a,o){$i(e,t);var i=0!=(64&t.flags);if(!r&&!i)return a&&ka(t,n,!1),os(e,t,o);r=t.stateNode,Mi.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=To(t,e.child,null,o),t.child=To(t,null,s,o)):Bi(e,t,s,o),t.memoizedState=r.state,a&&ka(t,n,!0),t.child}function Wi(e){var t=e.stateNode;t.pendingContext?ya(0,t.pendingContext,t.pendingContext!==t.context):t.context&&ya(0,t.context,!1),Do(e,t.containerInfo)}var Zi,Ki,Yi,Qi={dehydrated:null,retryLane:0};function Xi(e,t,n){var r,a=t.pendingProps,o=Bo.current,i=!1;return(r=0!=(64&t.flags))||(r=(null===e||null!==e.memoizedState)&&0!=(2&o)),r?(i=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===a.fallback||!0===a.unstable_avoidThisFallback||(o|=1),da(Bo,1&o),null===e?(void 0!==a.fallback&&Ho(t),e=a.children,o=a.fallback,i?(e=Ji(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Qi,e):"number"==typeof a.unstable_expectedLoadTime?(e=Ji(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Qi,t.lanes=33554432,e):((n=Kl({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,i?(a=ts(e,t,a.children,a.fallback,n),i=t.child,o=e.child.memoizedState,i.memoizedState=null===o?{baseLanes:n}:{baseLanes:o.baseLanes|n},i.childLanes=e.childLanes&~n,t.memoizedState=Qi,a):(n=es(e,t,a.children,n),t.memoizedState=null,n))}function Ji(e,t,n,r){var a=e.mode,o=e.child;return t={mode:"hidden",children:t},0==(2&a)&&null!==o?(o.childLanes=0,o.pendingProps=t):o=Kl(t,a,0,null),n=Zl(n,a,r,null),o.return=e,n.return=e,o.sibling=n,e.child=o,n}function es(e,t,n,r){var a=e.child;return e=a.sibling,n=Vl(a,{mode:"visible",children:n}),0==(2&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}function ts(e,t,n,r,a){var o=t.mode,i=e.child;e=i.sibling;var s={mode:"hidden",children:n};return 0==(2&o)&&t.child!==i?((n=t.child).childLanes=0,n.pendingProps=s,null!==(i=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=i,i.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Vl(i,s),null!==e?r=Vl(e,r):(r=Zl(r,o,a,null)).flags|=2,r.return=t,n.return=t,n.sibling=r,t.child=n,r}function ns(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ao(e.return,t)}function rs(e,t,n,r,a,o){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a,lastEffect:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a,i.lastEffect=o)}function as(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(Bi(e,t,r.children,n),0!=(2&(r=Bo.current)))r=1&r|2,t.flags|=64;else{if(null!==e&&0!=(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ns(e,n);else if(19===e.tag)ns(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(da(Bo,r),0==(2&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===jo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),rs(t,!1,a,n,o,t.lastEffect);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===jo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}rs(t,!0,n,null,o,t.lastEffect);break;case"together":rs(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function os(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),zs|=t.lanes,0!=(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Vl(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Vl(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function is(e,t){if(!qo)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ss(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return ga(t.type)&&va(),null;case 3:return Io(),ua(ma),ua(fa),Yo(),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Wo(t)?t.flags|=4:r.hydrate||(t.flags|=256)),null;case 5:Fo(t);var o=Po(Oo.current);if(n=t.type,null!==e&&null!=t.stateNode)Ki(e,t,n,r),e.ref!==t.ref&&(t.flags|=128);else{if(!r){if(null===t.stateNode)throw Error(i(166));return null}if(e=Po(Ro.current),Wo(t)){r=t.stateNode,n=t.type;var s=t.memoizedProps;switch(r[Xr]=t,r[Jr]=s,n){case"dialog":Rr("cancel",r),Rr("close",r);break;case"iframe":case"object":case"embed":Rr("load",r);break;case"video":case"audio":for(e=0;e<Cr.length;e++)Rr(Cr[e],r);break;case"source":Rr("error",r);break;case"img":case"image":case"link":Rr("error",r),Rr("load",r);break;case"details":Rr("toggle",r);break;case"input":ee(r,s),Rr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!s.multiple},Rr("invalid",r);break;case"textarea":le(r,s),Rr("invalid",r)}for(var c in Se(n,s),e=null,s)s.hasOwnProperty(c)&&(o=s[c],"children"===c?"string"==typeof o?r.textContent!==o&&(e=["children",o]):"number"==typeof o&&r.textContent!==""+o&&(e=["children",""+o]):l.hasOwnProperty(c)&&null!=o&&"onScroll"===c&&Rr("scroll",r));switch(n){case"input":Y(r),re(r,s,!0);break;case"textarea":Y(r),ue(r);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(r.onclick=Ur)}r=e,t.updateQueue=r,null!==r&&(t.flags|=4)}else{switch(c=9===o.nodeType?o:o.ownerDocument,e===de&&(e=fe(n)),e===de?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=c.createElement(n,{is:r.is}):(e=c.createElement(n),"select"===n&&(c=e,r.multiple?c.multiple=!0:r.size&&(c.size=r.size))):e=c.createElementNS(e,n),e[Xr]=t,e[Jr]=r,Zi(e,t),t.stateNode=e,c=Ee(n,r),n){case"dialog":Rr("cancel",e),Rr("close",e),o=r;break;case"iframe":case"object":case"embed":Rr("load",e),o=r;break;case"video":case"audio":for(o=0;o<Cr.length;o++)Rr(Cr[o],e);o=r;break;case"source":Rr("error",e),o=r;break;case"img":case"image":case"link":Rr("error",e),Rr("load",e),o=r;break;case"details":Rr("toggle",e),o=r;break;case"input":ee(e,r),o=J(e,r),Rr("invalid",e);break;case"option":o=oe(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=a({},r,{value:void 0}),Rr("invalid",e);break;case"textarea":le(e,r),o=se(e,r),Rr("invalid",e);break;default:o=r}Se(n,o);var u=o;for(s in u)if(u.hasOwnProperty(s)){var d=u[s];"style"===s?ke(e,d):"dangerouslySetInnerHTML"===s?null!=(d=d?d.__html:void 0)&&ge(e,d):"children"===s?"string"==typeof d?("textarea"!==n||""!==d)&&ve(e,d):"number"==typeof d&&ve(e,""+d):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(l.hasOwnProperty(s)?null!=d&&"onScroll"===s&&Rr("scroll",e):null!=d&&w(e,s,d,c))}switch(n){case"input":Y(e),re(e,r,!1);break;case"textarea":Y(e),ue(e);break;case"option":null!=r.value&&e.setAttribute("value",""+Z(r.value));break;case"select":e.multiple=!!r.multiple,null!=(s=r.value)?ie(e,!!r.multiple,s,!1):null!=r.defaultValue&&ie(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Ur)}$r(n,r)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Yi(0,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));n=Po(Oo.current),Po(Ro.current),Wo(t)?(r=t.stateNode,n=t.memoizedProps,r[Xr]=t,r.nodeValue!==n&&(t.flags|=4)):((r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[Xr]=t,t.stateNode=r)}return null;case 13:return ua(Bo),r=t.memoizedState,0!=(64&t.flags)?(t.lanes=n,t):(r=null!==r,n=!1,null===e?void 0!==t.memoizedProps.fallback&&Wo(t):n=null!==e.memoizedState,r&&!n&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Bo.current)?0===Bs&&(Bs=3):(0!==Bs&&3!==Bs||(Bs=4),null===Ps||0==(134217727&zs)&&0==(134217727&qs)||vl(Ps,Is))),(r||n)&&(t.flags|=4),null);case 4:return Io(),null===e&&Or(t.stateNode.containerInfo),null;case 10:return ro(t),null;case 19:if(ua(Bo),null===(r=t.memoizedState))return null;if(s=0!=(64&t.flags),null===(c=r.rendering))if(s)is(r,!1);else{if(0!==Bs||null!==e&&0!=(64&e.flags))for(e=t.child;null!==e;){if(null!==(c=jo(e))){for(t.flags|=64,is(r,!1),null!==(s=c.updateQueue)&&(t.updateQueue=s,t.flags|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=n,n=t.child;null!==n;)e=r,(s=n).flags&=2,s.nextEffect=null,s.firstEffect=null,s.lastEffect=null,null===(c=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,e=c.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return da(Bo,1&Bo.current|2),t.child}e=e.sibling}null!==r.tail&&$a()>Vs&&(t.flags|=64,s=!0,is(r,!1),t.lanes=33554432)}else{if(!s)if(null!==(e=jo(c))){if(t.flags|=64,s=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),is(r,!0),null===r.tail&&"hidden"===r.tailMode&&!c.alternate&&!qo)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*$a()-r.renderingStartTime>Vs&&1073741824!==n&&(t.flags|=64,s=!0,is(r,!1),t.lanes=33554432);r.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=r.last)?n.sibling=c:t.child=c,r.last=c)}return null!==r.tail?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=$a(),n.sibling=null,t=Bo.current,da(Bo,s?1&t|2:1&t),n):null;case 23:case 24:return xl(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(i(156,t.tag))}function ls(e){switch(e.tag){case 1:ga(e.type)&&va();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Io(),ua(ma),ua(fa),Yo(),0!=(64&(t=e.flags)))throw Error(i(285));return e.flags=-4097&t|64,e;case 5:return Fo(e),null;case 13:return ua(Bo),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ua(Bo),null;case 4:return Io(),null;case 10:return ro(e),null;case 23:case 24:return xl(),null;default:return null}}function cs(e,t){try{var n="",r=t;do{n+=V(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a}}function us(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}Zi=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ki=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Po(Ro.current);var i,s=null;switch(n){case"input":o=J(e,o),r=J(e,r),s=[];break;case"option":o=oe(e,o),r=oe(e,r),s=[];break;case"select":o=a({},o,{value:void 0}),r=a({},r,{value:void 0}),s=[];break;case"textarea":o=se(e,o),r=se(e,r),s=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=Ur)}for(d in Se(n,r),n=null,o)if(!r.hasOwnProperty(d)&&o.hasOwnProperty(d)&&null!=o[d])if("style"===d){var c=o[d];for(i in c)c.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(l.hasOwnProperty(d)?s||(s=[]):(s=s||[]).push(d,null));for(d in r){var u=r[d];if(c=null!=o?o[d]:void 0,r.hasOwnProperty(d)&&u!==c&&(null!=u||null!=c))if("style"===d)if(c){for(i in c)!c.hasOwnProperty(i)||u&&u.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in u)u.hasOwnProperty(i)&&c[i]!==u[i]&&(n||(n={}),n[i]=u[i])}else n||(s||(s=[]),s.push(d,n)),n=u;else"dangerouslySetInnerHTML"===d?(u=u?u.__html:void 0,c=c?c.__html:void 0,null!=u&&c!==u&&(s=s||[]).push(d,u)):"children"===d?"string"!=typeof u&&"number"!=typeof u||(s=s||[]).push(d,""+u):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(l.hasOwnProperty(d)?(null!=u&&"onScroll"===d&&Rr("scroll",e),s||c===u||(s=[])):"object"==typeof u&&null!==u&&u.$$typeof===I?u.toString():(s=s||[]).push(d,u))}n&&(s=s||[]).push("style",n);var d=s;(t.updateQueue=d)&&(t.flags|=4)}},Yi=function(e,t,n,r){n!==r&&(t.flags|=4)};var ds="function"==typeof WeakMap?WeakMap:Map;function ps(e,t,n){(n=uo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ys||(Ys=!0,Qs=r),us(0,t)},n}function fs(e,t,n){(n=uo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return us(0,t),r(a)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Xs?Xs=new Set([this]):Xs.add(this),us(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var ms="function"==typeof WeakSet?WeakSet:Set;function bs(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(n){Ul(e,n)}else t.current=null}function hs(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Qa(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Wr(t.stateNode.containerInfo))}throw Error(i(163))}function gs(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var a=e;r=a.next,0!=(4&(a=a.tag))&&0!=(1&a)&&(Fl(n,e),Ml(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:Qa(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&bo(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:case 1:e=n.child.stateNode}bo(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&$r(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&kt(n)))))}throw Error(i(163))}function vs(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)"function"==typeof(r=r.style).setProperty?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var a=n.memoizedProps.style;a=null!=a&&a.hasOwnProperty("display")?a.display:null,r.style.display=_e("display",a)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function ys(e,t){if(Sa&&"function"==typeof Sa.onCommitFiberUnmount)try{Sa.onCommitFiberUnmount(xa,t)}catch(o){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,a=r.destroy;if(r=r.tag,void 0!==a)if(0!=(4&r))Fl(t,n);else{r=t;try{a()}catch(o){Ul(r,o)}}n=n.next}while(n!==e)}break;case 1:if(bs(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(o){Ul(t,o)}break;case 5:bs(t);break;case 4:Es(e,t)}}function ws(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function _s(e){return 5===e.tag||3===e.tag||4===e.tag}function ks(e){e:{for(var t=e.return;null!==t;){if(_s(t))break e;t=t.return}throw Error(i(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(i(161))}16&n.flags&&(ve(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||_s(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?xs(e,n,t):Ss(e,n,t)}function xs(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Ur));else if(4!==r&&null!==(e=e.child))for(xs(e,t,n),e=e.sibling;null!==e;)xs(e,t,n),e=e.sibling}function Ss(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(Ss(e,t,n),e=e.sibling;null!==e;)Ss(e,t,n),e=e.sibling}function Es(e,t){for(var n,r,a=t,o=!1;;){if(!o){o=a.return;e:for(;;){if(null===o)throw Error(i(160));switch(n=o.stateNode,o.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}o=o.return}o=!0}if(5===a.tag||6===a.tag){e:for(var s=e,l=a,c=l;;)if(ys(s,c),null!==c.child&&4!==c.tag)c.child.return=c,c=c.child;else{if(c===l)break e;for(;null===c.sibling;){if(null===c.return||c.return===l)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}r?(s=n,l=a.stateNode,8===s.nodeType?s.parentNode.removeChild(l):s.removeChild(l)):n.removeChild(a.stateNode)}else if(4===a.tag){if(null!==a.child){n=a.stateNode.containerInfo,r=!0,a.child.return=a,a=a.child;continue}}else if(ys(e,a),null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;4===(a=a.return).tag&&(o=!1)}a.sibling.return=a.return,a=a.sibling}}function Cs(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var r=n=n.next;do{3==(3&r.tag)&&(e=r.destroy,r.destroy=void 0,void 0!==e&&e()),r=r.next}while(r!==n)}return;case 1:case 12:case 17:return;case 5:if(null!=(n=t.stateNode)){r=t.memoizedProps;var a=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[Jr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&te(n,r),Ee(e,a),t=Ee(e,r),a=0;a<o.length;a+=2){var s=o[a],l=o[a+1];"style"===s?ke(n,l):"dangerouslySetInnerHTML"===s?ge(n,l):"children"===s?ve(n,l):w(n,s,l,t)}switch(e){case"input":ne(n,r);break;case"textarea":ce(n,r);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(o=r.value)?ie(n,!!r.multiple,o,!1):e!==!!r.multiple&&(null!=r.defaultValue?ie(n,!!r.multiple,r.defaultValue,!0):ie(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(i(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,kt(n.containerInfo)));case 13:return null!==t.memoizedState&&(Hs=$a(),vs(t.child,!0)),void Ts(t);case 19:return void Ts(t);case 23:case 24:return void vs(t,null!==t.memoizedState)}throw Error(i(163))}function Ts(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new ms),t.forEach((function(t){var r=ql.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function As(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Ls=Math.ceil,Rs=_.ReactCurrentDispatcher,Ns=_.ReactCurrentOwner,Os=0,Ps=null,Ds=null,Is=0,Ms=0,Fs=ca(0),Bs=0,js=null,Us=0,zs=0,qs=0,$s=0,Gs=null,Hs=0,Vs=1/0;function Ws(){Vs=$a()+500}var Zs,Ks=null,Ys=!1,Qs=null,Xs=null,Js=!1,el=null,tl=90,nl=[],rl=[],al=null,ol=0,il=null,sl=-1,ll=0,cl=0,ul=null,dl=!1;function pl(){return 0!=(48&Os)?$a():-1!==sl?sl:sl=$a()}function fl(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Ga()?1:2;if(0===ll&&(ll=Us),0!==Ya.transition){0!==cl&&(cl=null!==Gs?Gs.pendingLanes:0),e=ll;var t=4186112&~cl;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=Ga(),0!=(4&Os)&&98===e?e=Ut(12,ll):e=Ut(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),ll),e}function ml(e,t,n){if(50<ol)throw ol=0,il=null,Error(i(185));if(null===(e=bl(e,t)))return null;$t(e,t,n),e===Ps&&(qs|=t,4===Bs&&vl(e,Is));var r=Ga();1===t?0!=(8&Os)&&0==(48&Os)?yl(e):(hl(e,n),0===Os&&(Ws(),Za())):(0==(4&Os)||98!==r&&99!==r||(null===al?al=new Set([e]):al.add(e)),hl(e,n)),Gs=e}function bl(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function hl(e,t){for(var n=e.callbackNode,r=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,s=e.pendingLanes;0<s;){var l=31-Gt(s),c=1<<l,u=o[l];if(-1===u){if(0==(c&r)||0!=(c&a)){u=t,Ft(c);var d=Mt;o[l]=10<=d?u+250:6<=d?u+5e3:-1}}else u<=t&&(e.expiredLanes|=c);s&=~c}if(r=Bt(e,e===Ps?Is:0),t=Mt,0===r)null!==n&&(n!==Fa&&Ta(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==Fa&&Ta(n)}15===t?(n=yl.bind(null,e),null===ja?(ja=[n],Ua=Ca(Oa,Ka)):ja.push(n),n=Fa):14===t?n=Wa(99,yl.bind(null,e)):(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(i(358,e))}}(t),n=Wa(n,gl.bind(null,e))),e.callbackPriority=t,e.callbackNode=n}}function gl(e){if(sl=-1,cl=ll=0,0!=(48&Os))throw Error(i(327));var t=e.callbackNode;if(Il()&&e.callbackNode!==t)return null;var n=Bt(e,e===Ps?Is:0);if(0===n)return null;var r=n,a=Os;Os|=16;var o=Cl();for(Ps===e&&Is===r||(Ws(),Sl(e,r));;)try{Ll();break}catch(l){El(e,l)}if(no(),Rs.current=o,Os=a,null!==Ds?r=0:(Ps=null,Is=0,r=Bs),0!=(Us&qs))Sl(e,0);else if(0!==r){if(2===r&&(Os|=64,e.hydrate&&(e.hydrate=!1,Wr(e.containerInfo)),0!==(n=jt(e))&&(r=Tl(e,n))),1===r)throw t=js,Sl(e,0),vl(e,n),hl(e,$a()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,r){case 0:case 1:throw Error(i(345));case 2:case 5:Ol(e);break;case 3:if(vl(e,n),(62914560&n)===n&&10<(r=Hs+500-$a())){if(0!==Bt(e,0))break;if(((a=e.suspendedLanes)&n)!==n){pl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Hr(Ol.bind(null,e),r);break}Ol(e);break;case 4:if(vl(e,n),(4186112&n)===n)break;for(r=e.eventTimes,a=-1;0<n;){var s=31-Gt(n);o=1<<s,(s=r[s])>a&&(a=s),n&=~o}if(n=a,10<(n=(120>(n=$a()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Ls(n/1960))-n)){e.timeoutHandle=Hr(Ol.bind(null,e),n);break}Ol(e);break;default:throw Error(i(329))}}return hl(e,$a()),e.callbackNode===t?gl.bind(null,e):null}function vl(e,t){for(t&=~$s,t&=~qs,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Gt(t),r=1<<n;e[n]=-1,t&=~r}}function yl(e){if(0!=(48&Os))throw Error(i(327));if(Il(),e===Ps&&0!=(e.expiredLanes&Is)){var t=Is,n=Tl(e,t);0!=(Us&qs)&&(n=Tl(e,t=Bt(e,t)))}else n=Tl(e,t=Bt(e,0));if(0!==e.tag&&2===n&&(Os|=64,e.hydrate&&(e.hydrate=!1,Wr(e.containerInfo)),0!==(t=jt(e))&&(n=Tl(e,t))),1===n)throw n=js,Sl(e,0),vl(e,t),hl(e,$a()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ol(e),hl(e,$a()),null}function wl(e,t){var n=Os;Os|=1;try{return e(t)}finally{0===(Os=n)&&(Ws(),Za())}}function _l(e,t){var n=Os;Os&=-2,Os|=8;try{return e(t)}finally{0===(Os=n)&&(Ws(),Za())}}function kl(e,t){da(Fs,Ms),Ms|=t,Us|=t}function xl(){Ms=Fs.current,ua(Fs)}function Sl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Vr(n)),null!==Ds)for(n=Ds.return;null!==n;){var r=n;switch(r.tag){case 1:null!=(r=r.type.childContextTypes)&&va();break;case 3:Io(),ua(ma),ua(fa),Yo();break;case 5:Fo(r);break;case 4:Io();break;case 13:case 19:ua(Bo);break;case 10:ro(r);break;case 23:case 24:xl()}n=n.return}Ps=e,Ds=Vl(e.current,null),Is=Ms=Us=t,Bs=0,js=null,$s=qs=zs=0}function El(e,t){for(;;){var n=Ds;try{if(no(),Qo.current=Oi,ri){for(var r=ei.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}ri=!1}if(Jo=0,ni=ti=ei=null,ai=!1,Ns.current=null,null===n||null===n.return){Bs=1,js=t,Ds=null;break}e:{var o=e,i=n.return,s=n,l=t;if(t=Is,s.flags|=2048,s.firstEffect=s.lastEffect=null,null!==l&&"object"==typeof l&&"function"==typeof l.then){var c=l;if(0==(2&s.mode)){var u=s.alternate;u?(s.updateQueue=u.updateQueue,s.memoizedState=u.memoizedState,s.lanes=u.lanes):(s.updateQueue=null,s.memoizedState=null)}var d=0!=(1&Bo.current),p=i;do{var f;if(f=13===p.tag){var m=p.memoizedState;if(null!==m)f=null!==m.dehydrated;else{var b=p.memoizedProps;f=void 0!==b.fallback&&(!0!==b.unstable_avoidThisFallback||!d)}}if(f){var h=p.updateQueue;if(null===h){var g=new Set;g.add(c),p.updateQueue=g}else h.add(c);if(0==(2&p.mode)){if(p.flags|=64,s.flags|=16384,s.flags&=-2981,1===s.tag)if(null===s.alternate)s.tag=17;else{var v=uo(-1,1);v.tag=2,po(s,v)}s.lanes|=1;break e}l=void 0,s=t;var y=o.pingCache;if(null===y?(y=o.pingCache=new ds,l=new Set,y.set(c,l)):void 0===(l=y.get(c))&&(l=new Set,y.set(c,l)),!l.has(s)){l.add(s);var w=zl.bind(null,o,c,s);c.then(w,w)}p.flags|=4096,p.lanes=t;break e}p=p.return}while(null!==p);l=Error((W(s.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Bs&&(Bs=2),l=cs(l,s),p=i;do{switch(p.tag){case 3:o=l,p.flags|=4096,t&=-t,p.lanes|=t,fo(p,ps(0,o,t));break e;case 1:o=l;var _=p.type,k=p.stateNode;if(0==(64&p.flags)&&("function"==typeof _.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===Xs||!Xs.has(k)))){p.flags|=4096,t&=-t,p.lanes|=t,fo(p,fs(p,o,t));break e}}p=p.return}while(null!==p)}Nl(n)}catch(x){t=x,Ds===n&&null!==n&&(Ds=n=n.return);continue}break}}function Cl(){var e=Rs.current;return Rs.current=Oi,null===e?Oi:e}function Tl(e,t){var n=Os;Os|=16;var r=Cl();for(Ps===e&&Is===t||Sl(e,t);;)try{Al();break}catch(a){El(e,a)}if(no(),Os=n,Rs.current=r,null!==Ds)throw Error(i(261));return Ps=null,Is=0,Bs}function Al(){for(;null!==Ds;)Rl(Ds)}function Ll(){for(;null!==Ds&&!Aa();)Rl(Ds)}function Rl(e){var t=Zs(e.alternate,e,Ms);e.memoizedProps=e.pendingProps,null===t?Nl(e):Ds=t,Ns.current=null}function Nl(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(n=ss(n,t,Ms)))return void(Ds=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!=(1073741824&Ms)||0==(4&n.mode)){for(var r=0,a=n.child;null!==a;)r|=a.lanes|a.childLanes,a=a.sibling;n.childLanes=r}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=ls(t)))return n.flags&=2047,void(Ds=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Ds=t);Ds=t=e}while(null!==t);0===Bs&&(Bs=5)}function Ol(e){var t=Ga();return Va(99,Pl.bind(null,e,t)),null}function Pl(e,t){do{Il()}while(null!==el);if(0!=(48&Os))throw Error(i(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null;var r=n.lanes|n.childLanes,a=r,o=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;for(var s=e.eventTimes,l=e.expirationTimes;0<o;){var c=31-Gt(o),u=1<<c;a[c]=0,s[c]=-1,l[c]=-1,o&=~u}if(null!==al&&0==(24&r)&&al.has(e)&&al.delete(e),e===Ps&&(Ds=Ps=null,Is=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,r=n.firstEffect):r=n:r=n.firstEffect,null!==r){if(a=Os,Os|=32,Ns.current=null,zr=Kt,gr(s=hr())){if("selectionStart"in s)l={start:s.selectionStart,end:s.selectionEnd};else e:if(l=(l=s.ownerDocument)&&l.defaultView||window,(u=l.getSelection&&l.getSelection())&&0!==u.rangeCount){l=u.anchorNode,o=u.anchorOffset,c=u.focusNode,u=u.focusOffset;try{l.nodeType,c.nodeType}catch(C){l=null;break e}var d=0,p=-1,f=-1,m=0,b=0,h=s,g=null;t:for(;;){for(var v;h!==l||0!==o&&3!==h.nodeType||(p=d+o),h!==c||0!==u&&3!==h.nodeType||(f=d+u),3===h.nodeType&&(d+=h.nodeValue.length),null!==(v=h.firstChild);)g=h,h=v;for(;;){if(h===s)break t;if(g===l&&++m===o&&(p=d),g===c&&++b===u&&(f=d),null!==(v=h.nextSibling))break;g=(h=g).parentNode}h=v}l=-1===p||-1===f?null:{start:p,end:f}}else l=null;l=l||{start:0,end:0}}else l=null;qr={focusedElem:s,selectionRange:l},Kt=!1,ul=null,dl=!1,Ks=r;do{try{Dl()}catch(C){if(null===Ks)throw Error(i(330));Ul(Ks,C),Ks=Ks.nextEffect}}while(null!==Ks);ul=null,Ks=r;do{try{for(s=e;null!==Ks;){var y=Ks.flags;if(16&y&&ve(Ks.stateNode,""),128&y){var w=Ks.alternate;if(null!==w){var _=w.ref;null!==_&&("function"==typeof _?_(null):_.current=null)}}switch(1038&y){case 2:ks(Ks),Ks.flags&=-3;break;case 6:ks(Ks),Ks.flags&=-3,Cs(Ks.alternate,Ks);break;case 1024:Ks.flags&=-1025;break;case 1028:Ks.flags&=-1025,Cs(Ks.alternate,Ks);break;case 4:Cs(Ks.alternate,Ks);break;case 8:Es(s,l=Ks);var k=l.alternate;ws(l),null!==k&&ws(k)}Ks=Ks.nextEffect}}catch(C){if(null===Ks)throw Error(i(330));Ul(Ks,C),Ks=Ks.nextEffect}}while(null!==Ks);if(_=qr,w=hr(),y=_.focusedElem,s=_.selectionRange,w!==y&&y&&y.ownerDocument&&br(y.ownerDocument.documentElement,y)){null!==s&&gr(y)&&(w=s.start,void 0===(_=s.end)&&(_=w),"selectionStart"in y?(y.selectionStart=w,y.selectionEnd=Math.min(_,y.value.length)):(_=(w=y.ownerDocument||document)&&w.defaultView||window).getSelection&&(_=_.getSelection(),l=y.textContent.length,k=Math.min(s.start,l),s=void 0===s.end?k:Math.min(s.end,l),!_.extend&&k>s&&(l=s,s=k,k=l),l=mr(y,k),o=mr(y,s),l&&o&&(1!==_.rangeCount||_.anchorNode!==l.node||_.anchorOffset!==l.offset||_.focusNode!==o.node||_.focusOffset!==o.offset)&&((w=w.createRange()).setStart(l.node,l.offset),_.removeAllRanges(),k>s?(_.addRange(w),_.extend(o.node,o.offset)):(w.setEnd(o.node,o.offset),_.addRange(w))))),w=[];for(_=y;_=_.parentNode;)1===_.nodeType&&w.push({element:_,left:_.scrollLeft,top:_.scrollTop});for("function"==typeof y.focus&&y.focus(),y=0;y<w.length;y++)(_=w[y]).element.scrollLeft=_.left,_.element.scrollTop=_.top}Kt=!!zr,qr=zr=null,e.current=n,Ks=r;do{try{for(y=e;null!==Ks;){var x=Ks.flags;if(36&x&&gs(y,Ks.alternate,Ks),128&x){w=void 0;var S=Ks.ref;if(null!==S){var E=Ks.stateNode;Ks.tag,w=E,"function"==typeof S?S(w):S.current=w}}Ks=Ks.nextEffect}}catch(C){if(null===Ks)throw Error(i(330));Ul(Ks,C),Ks=Ks.nextEffect}}while(null!==Ks);Ks=null,Ba(),Os=a}else e.current=n;if(Js)Js=!1,el=e,tl=t;else for(Ks=r;null!==Ks;)t=Ks.nextEffect,Ks.nextEffect=null,8&Ks.flags&&((x=Ks).sibling=null,x.stateNode=null),Ks=t;if(0===(r=e.pendingLanes)&&(Xs=null),1===r?e===il?ol++:(ol=0,il=e):ol=0,n=n.stateNode,Sa&&"function"==typeof Sa.onCommitFiberRoot)try{Sa.onCommitFiberRoot(xa,n,void 0,64==(64&n.current.flags))}catch(C){}if(hl(e,$a()),Ys)throw Ys=!1,e=Qs,Qs=null,e;return 0!=(8&Os)||Za(),null}function Dl(){for(;null!==Ks;){var e=Ks.alternate;dl||null===ul||(0!=(8&Ks.flags)?et(Ks,ul)&&(dl=!0):13===Ks.tag&&As(e,Ks)&&et(Ks,ul)&&(dl=!0));var t=Ks.flags;0!=(256&t)&&hs(e,Ks),0==(512&t)||Js||(Js=!0,Wa(97,(function(){return Il(),null}))),Ks=Ks.nextEffect}}function Il(){if(90!==tl){var e=97<tl?97:tl;return tl=90,Va(e,Bl)}return!1}function Ml(e,t){nl.push(t,e),Js||(Js=!0,Wa(97,(function(){return Il(),null})))}function Fl(e,t){rl.push(t,e),Js||(Js=!0,Wa(97,(function(){return Il(),null})))}function Bl(){if(null===el)return!1;var e=el;if(el=null,0!=(48&Os))throw Error(i(331));var t=Os;Os|=32;var n=rl;rl=[];for(var r=0;r<n.length;r+=2){var a=n[r],o=n[r+1],s=a.destroy;if(a.destroy=void 0,"function"==typeof s)try{s()}catch(c){if(null===o)throw Error(i(330));Ul(o,c)}}for(n=nl,nl=[],r=0;r<n.length;r+=2){a=n[r],o=n[r+1];try{var l=a.create;a.destroy=l()}catch(c){if(null===o)throw Error(i(330));Ul(o,c)}}for(l=e.current.firstEffect;null!==l;)e=l.nextEffect,l.nextEffect=null,8&l.flags&&(l.sibling=null,l.stateNode=null),l=e;return Os=t,Za(),!0}function jl(e,t,n){po(e,t=ps(0,t=cs(n,t),1)),t=pl(),null!==(e=bl(e,1))&&($t(e,1,t),hl(e,t))}function Ul(e,t){if(3===e.tag)jl(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){jl(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Xs||!Xs.has(r))){var a=fs(n,e=cs(t,e),1);if(po(n,a),a=pl(),null!==(n=bl(n,1)))$t(n,1,a),hl(n,a);else if("function"==typeof r.componentDidCatch&&(null===Xs||!Xs.has(r)))try{r.componentDidCatch(t,e)}catch(o){}break}}n=n.return}}function zl(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=pl(),e.pingedLanes|=e.suspendedLanes&n,Ps===e&&(Is&n)===n&&(4===Bs||3===Bs&&(62914560&Is)===Is&&500>$a()-Hs?Sl(e,0):$s|=n),hl(e,t)}function ql(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Ga()?1:2:(0===ll&&(ll=Us),0===(t=zt(62914560&~ll))&&(t=4194304))),n=pl(),null!==(e=bl(e,t))&&($t(e,t,n),hl(e,n))}function $l(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Gl(e,t,n,r){return new $l(e,t,n,r)}function Hl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Vl(e,t){var n=e.alternate;return null===n?((n=Gl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Wl(e,t,n,r,a,o){var s=2;if(r=e,"function"==typeof e)Hl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case S:return Zl(n.children,a,o,t);case M:s=8,a|=16;break;case E:s=8,a|=1;break;case C:return(e=Gl(12,n,t,8|a)).elementType=C,e.type=C,e.lanes=o,e;case R:return(e=Gl(13,n,t,a)).type=R,e.elementType=R,e.lanes=o,e;case N:return(e=Gl(19,n,t,a)).elementType=N,e.lanes=o,e;case F:return Kl(n,a,o,t);case B:return(e=Gl(24,n,t,a)).elementType=B,e.lanes=o,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case T:s=10;break e;case A:s=9;break e;case L:s=11;break e;case O:s=14;break e;case P:s=16,r=null;break e;case D:s=22;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Gl(s,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function Zl(e,t,n,r){return(e=Gl(7,e,r,t)).lanes=n,e}function Kl(e,t,n,r){return(e=Gl(23,e,r,t)).elementType=F,e.lanes=n,e}function Yl(e,t,n){return(e=Gl(6,e,null,t)).lanes=n,e}function Ql(e,t,n){return(t=Gl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Xl(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=qt(0),this.expirationTimes=qt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=qt(0),this.mutableSourceEagerHydrationData=null}function Jl(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}function ec(e,t,n,r){var a=t.current,o=pl(),s=fl(a);e:if(n){t:{if(Ye(n=n._reactInternals)!==n||1!==n.tag)throw Error(i(170));var l=n;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(ga(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(i(171))}if(1===n.tag){var c=n.type;if(ga(c)){n=wa(n,c,l);break e}}n=l}else n=pa;return null===t.context?t.context=n:t.pendingContext=n,(t=uo(o,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),po(a,t),ml(a,s,o),s}function tc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function nc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function rc(e,t){nc(e,t),(e=e.alternate)&&nc(e,t)}function ac(e,t,n){var r=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Xl(e,t,null!=n&&!0===n.hydrate),t=Gl(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,lo(t),e[ea]=n.current,Or(8===e.nodeType?e.parentNode:e),r)for(e=0;e<r.length;e++){var a=(t=r[e])._getVersion;a=a(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,a]:n.mutableSourceEagerHydrationData.push(t,a)}this._internalRoot=n}function oc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function ic(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o._internalRoot;if("function"==typeof a){var s=a;a=function(){var e=tc(i);s.call(e)}}ec(t,i,e,a)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ac(e,0,t?{hydrate:!0}:void 0)}(n,r),i=o._internalRoot,"function"==typeof a){var l=a;a=function(){var e=tc(i);l.call(e)}}_l((function(){ec(t,i,e,a)}))}return tc(i)}function sc(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!oc(t))throw Error(i(200));return Jl(e,t,null,n)}Zs=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||ma.current)Fi=!0;else{if(0==(n&r)){switch(Fi=!1,t.tag){case 3:Wi(t),Zo();break;case 5:Mo(t);break;case 1:ga(t.type)&&_a(t);break;case 4:Do(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value;var a=t.type._context;da(Xa,a._currentValue),a._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!=(n&t.child.childLanes)?Xi(e,t,n):(da(Bo,1&Bo.current),null!==(t=os(e,t,n))?t.sibling:null);da(Bo,1&Bo.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(64&e.flags)){if(r)return as(e,t,n);t.flags|=64}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),da(Bo,Bo.current),r)break;return null;case 23:case 24:return t.lanes=0,qi(e,t,n)}return os(e,t,n)}Fi=0!=(16384&e.flags)}else Fi=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=ha(t,fa.current),oo(t,n),a=si(null,t,r,e,a,n),t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,ga(r)){var o=!0;_a(t)}else o=!1;t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,lo(t);var s=r.getDerivedStateFromProps;"function"==typeof s&&go(t,r,s,e),a.updater=vo,t.stateNode=a,a._reactInternals=t,ko(t,r,e,n),t=Vi(null,t,r,!0,o,n)}else t.tag=0,Bi(null,t,a,n),t=t.child;return t;case 16:a=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=(o=a._init)(a._payload),t.type=a,o=t.tag=function(e){if("function"==typeof e)return Hl(e)?1:0;if(null!=e){if((e=e.$$typeof)===L)return 11;if(e===O)return 14}return 2}(a),e=Qa(a,e),o){case 0:t=Gi(null,t,a,e,n);break e;case 1:t=Hi(null,t,a,e,n);break e;case 11:t=ji(null,t,a,e,n);break e;case 14:t=Ui(null,t,a,Qa(a.type,e),r,n);break e}throw Error(i(306,a,""))}return t;case 0:return r=t.type,a=t.pendingProps,Gi(e,t,r,a=t.elementType===r?a:Qa(r,a),n);case 1:return r=t.type,a=t.pendingProps,Hi(e,t,r,a=t.elementType===r?a:Qa(r,a),n);case 3:if(Wi(t),r=t.updateQueue,null===e||null===r)throw Error(i(282));if(r=t.pendingProps,a=null!==(a=t.memoizedState)?a.element:null,co(e,t),mo(t,r,null,n),(r=t.memoizedState.element)===a)Zo(),t=os(e,t,n);else{if((o=(a=t.stateNode).hydrate)&&(zo=Zr(t.stateNode.containerInfo.firstChild),Uo=t,o=qo=!0),o){if(null!=(e=a.mutableSourceEagerHydrationData))for(a=0;a<e.length;a+=2)(o=e[a])._workInProgressVersionPrimary=e[a+1],Ko.push(o);for(n=Ao(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Bi(e,t,r,n),Zo();t=t.child}return t;case 5:return Mo(t),null===e&&Ho(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,s=a.children,Gr(r,a)?s=null:null!==o&&Gr(r,o)&&(t.flags|=16),$i(e,t),Bi(e,t,s,n),t.child;case 6:return null===e&&Ho(t),null;case 13:return Xi(e,t,n);case 4:return Do(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=To(t,null,r,n):Bi(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,ji(e,t,r,a=t.elementType===r?a:Qa(r,a),n);case 7:return Bi(e,t,t.pendingProps,n),t.child;case 8:case 12:return Bi(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,a=t.pendingProps,s=t.memoizedProps,o=a.value;var l=t.type._context;if(da(Xa,l._currentValue),l._currentValue=o,null!==s)if(l=s.value,0===(o=ur(l,o)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,o):1073741823))){if(s.children===a.children&&!ma.current){t=os(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var c=l.dependencies;if(null!==c){s=l.child;for(var u=c.firstContext;null!==u;){if(u.context===r&&0!=(u.observedBits&o)){1===l.tag&&((u=uo(-1,n&-n)).tag=2,po(l,u)),l.lanes|=n,null!==(u=l.alternate)&&(u.lanes|=n),ao(l.return,n),c.lanes|=n;break}u=u.next}}else s=10===l.tag&&l.type===t.type?null:l.child;if(null!==s)s.return=l;else for(s=l;null!==s;){if(s===t){s=null;break}if(null!==(l=s.sibling)){l.return=s.return,s=l;break}s=s.return}l=s}Bi(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=(o=t.pendingProps).children,oo(t,n),r=r(a=io(a,o.unstable_observedBits)),t.flags|=1,Bi(e,t,r,n),t.child;case 14:return o=Qa(a=t.type,t.pendingProps),Ui(e,t,a,o=Qa(a.type,o),r,n);case 15:return zi(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Qa(r,a),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,ga(r)?(e=!0,_a(t)):e=!1,oo(t,n),wo(t,r,a),ko(t,r,a,n),Vi(null,t,r,!0,e,n);case 19:return as(e,t,n);case 23:case 24:return qi(e,t,n)}throw Error(i(156,t.tag))},ac.prototype.render=function(e){ec(e,this._internalRoot,null,null)},ac.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;ec(null,e,null,(function(){t[ea]=null}))},tt=function(e){13===e.tag&&(ml(e,4,pl()),rc(e,4))},nt=function(e){13===e.tag&&(ml(e,67108864,pl()),rc(e,67108864))},rt=function(e){if(13===e.tag){var t=pl(),n=fl(e);ml(e,n,t),rc(e,n)}},at=function(e,t){return t()},Te=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=oa(r);if(!a)throw Error(i(90));Q(r),ne(r,a)}}}break;case"textarea":ce(e,n);break;case"select":null!=(t=n.value)&&ie(e,!!n.multiple,t,!1)}},Pe=wl,De=function(e,t,n,r,a){var o=Os;Os|=4;try{return Va(98,e.bind(null,t,n,r,a))}finally{0===(Os=o)&&(Ws(),Za())}},Ie=function(){0==(49&Os)&&(function(){if(null!==al){var e=al;al=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,hl(e,$a())}))}Za()}(),Il())},Me=function(e,t){var n=Os;Os|=2;try{return e(t)}finally{0===(Os=n)&&(Ws(),Za())}};var lc={Events:[ra,aa,oa,Ne,Oe,Il,{current:!1}]},cc={findFiberByHostInstance:na,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},uc={bundleType:cc.bundleType,version:cc.version,rendererPackageName:cc.rendererPackageName,rendererConfig:cc.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:_.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Je(e))?null:e.stateNode},findFiberByHostInstance:cc.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var dc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!dc.isDisabled&&dc.supportsFiber)try{xa=dc.inject(uc),Sa=dc}catch(he){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lc,t.createPortal=sc,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(i(188));throw Error(i(268,Object.keys(e)))}return e=null===(e=Je(t))?null:e.stateNode},t.flushSync=function(e,t){var n=Os;if(0!=(48&n))return e(t);Os|=1;try{if(e)return Va(99,e.bind(null,t))}finally{Os=n,Za()}},t.hydrate=function(e,t,n){if(!oc(t))throw Error(i(200));return ic(null,e,t,!0,n)},t.render=function(e,t,n){if(!oc(t))throw Error(i(200));return ic(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!oc(e))throw Error(i(40));return!!e._reactRootContainer&&(_l((function(){ic(null,null,e,!1,(function(){e._reactRootContainer=null,e[ea]=null}))})),!0)},t.unstable_batchedUpdates=wl,t.unstable_createPortal=function(e,t){return sc(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!oc(n))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return ic(e,t,n,!1,r)},t.version="17.0.2"},73935:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(64448)},69590:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,c,u;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!o(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;for(u=e.entries();!(l=u.next()).done;)if(!o(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if((s=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,c[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==c[l]&&"__v"!==c[l]&&"__o"!==c[l]||!e.$$typeof)&&!o(e[c[l]],i[c[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},70405:(e,t,n)=>{"use strict";n.d(t,{B6:()=>H,ql:()=>J});var r=n(67294),a=n(45697),o=n.n(a),i=n(69590),s=n.n(i),l=n(41143),c=n.n(l),u=n(96774),d=n.n(u);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function b(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},g={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},y={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map((function(e){return h[e]})),_={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},k=Object.keys(_).reduce((function(e,t){return e[_[t]]=t,e}),{}),x=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},S=function(e){var t=x(e,h.TITLE),n=x(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=x(e,"defaultTitle");return t||r||void 0},E=function(e){return x(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},T=function(e,t){return t.filter((function(e){return void 0!==e[h.BASE]})).map((function(e){return e[h.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},A=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var a={};n.filter((function(e){for(var n,o=Object.keys(e),i=0;i<o.length;i+=1){var s=o[i],l=s.toLowerCase();-1===t.indexOf(l)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===l&&"stylesheet"===e[l].toLowerCase()||(n=l),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][c]&&(a[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(a),i=0;i<o.length;i+=1){var s=o[i],l=p({},r[s],a[s]);r[s]=l}return e}),[]).reverse()},L=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},R=function(e){return Array.isArray(e)?e.join(""):e},N=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},O=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},P=[h.NOSCRIPT,h.SCRIPT,h.STYLE],D=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},I=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},M=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[_[n]||n]=e[n],t}),t)},F=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=_[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},B=function(e,t,n){switch(e){case h.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=M(n,a),[r.createElement(h.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=I(n),o=R(t);return a?"<"+e+' data-rh="true" '+a+">"+D(o,r)+"</"+e+">":"<"+e+' data-rh="true">'+D(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return M(t)},toString:function(){return I(t)}};default:return{toComponent:function(){return F(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+D(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===P.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},j=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=N(e.metaTags,y),o=N(t,g),i=N(n,v);return{priorityMethods:{toComponent:function(){return[].concat(F(h.META,a.priority),F(h.LINK,o.priority),F(h.SCRIPT,i.priority))},toString:function(){return B(h.META,a.priority,r)+" "+B(h.LINK,o.priority,r)+" "+B(h.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);f=m.priorityMethods,u=m.linkTags,d=m.metaTags,p=m.scriptTags}return{priority:f,base:B(h.BASE,t,r),bodyAttributes:B("bodyAttributes",n,r),htmlAttributes:B("htmlAttributes",a,r),link:B(h.LINK,u,r),meta:B(h.META,d,r),noscript:B(h.NOSCRIPT,o,r),script:B(h.SCRIPT,p,r),style:B(h.STYLE,i,r),title:B(h.TITLE,{title:l,titleAttributes:c},r)}},U=[],z=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?U:n.instances},add:function(e){(n.canUseDOM?U:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?U:n.instances).indexOf(e);(n.canUseDOM?U:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=j({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},q=r.createContext({}),$=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),G="undefined"!=typeof document,H=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new z(r.props.context,t.canUseDOM),r}return f(t,e),t.prototype.render=function(){return r.createElement(q.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);H.canUseDOM=G,H.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},H.defaultProps={context:{}},H.displayName="HelmetProvider";var V=function(e,t){var n,r=document.head||document.querySelector(h.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},W=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),s=0;s<i.length;s+=1){var l=i[s],c=t[l]||"";n.getAttribute(l)!==c&&n.setAttribute(l,c),-1===a.indexOf(l)&&a.push(l);var u=o.indexOf(l);-1!==u&&o.splice(u,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},Z=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;W(h.BODY,e.bodyAttributes),W(h.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=R(e)),W(h.TITLE,t)}(u,d);var p={baseTag:V(h.BASE,n),linkTags:V(h.LINK,a),metaTags:V(h.META,o),noscriptTags:V(h.NOSCRIPT,i),scriptTags:V(h.SCRIPT,l),styleTags:V(h.STYLE,c)},f={},m={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(f[e]=n),r.length&&(m[e]=p[e].oldTags)})),t&&t(),s(e,f,m)},K=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:T(["href"],e),bodyAttributes:C("bodyAttributes",e),defer:x(e,"defer"),encode:x(e,"encodeSpecialCharacters"),htmlAttributes:C("htmlAttributes",e),linkTags:A(h.LINK,["rel","href"],e),metaTags:A(h.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:A(h.NOSCRIPT,["innerHTML"],e),onChangeClientState:E(e),scriptTags:A(h.SCRIPT,["src","innerHTML"],e),styleTags:A(h.STYLE,["cssText"],e),title:S(e),titleAttributes:C("titleAttributes",e),prioritizeSeoTags:L(e,"prioritizeSeoTags")});H.canUseDOM?(t=o,K&&cancelAnimationFrame(K),t.defer?K=requestAnimationFrame((function(){Z(t,(function(){K=null}))})):(Z(t),K=null)):j&&(a=j(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:$.isRequired},Y.displayName="HelmetDispatcher";var Q=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(O(this.props,"helmetData"),O(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return p({},r,((t={})[n.type]=[].concat(r[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case h.TITLE:return p({},a,((t={})[r.type]=i,t.titleAttributes=p({},o),t));case h.BODY:return p({},a,{bodyAttributes:p({},o)});case h.HTML:return p({},a,{htmlAttributes:p({},o)});default:return p({},a,((n={})[r.type]=p({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var r;n=p({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=b(r,Q),s=Object.keys(i).reduce((function(e,t){return e[k[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,o),l){case h.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:s,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=b(e,X),a=p({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof z||(o=new z(o.context,o.instances)),o?r.createElement(Y,p({},a,{context:o.value,helmetData:void 0})):r.createElement(q.Consumer,null,(function(e){return r.createElement(Y,p({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},69921:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,b=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116,g=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function _(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case o:case s:case i:case f:return e;default:switch(e=e&&e.$$typeof){case c:case p:case h:case b:case l:return e;default:return t}}case a:return t}}}function k(e){return _(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=l,t.Element=r,t.ForwardRef=p,t.Fragment=o,t.Lazy=h,t.Memo=b,t.Portal=a,t.Profiler=s,t.StrictMode=i,t.Suspense=f,t.isAsyncMode=function(e){return k(e)||_(e)===u},t.isConcurrentMode=k,t.isContextConsumer=function(e){return _(e)===c},t.isContextProvider=function(e){return _(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return _(e)===p},t.isFragment=function(e){return _(e)===o},t.isLazy=function(e){return _(e)===h},t.isMemo=function(e){return _(e)===b},t.isPortal=function(e){return _(e)===a},t.isProfiler=function(e){return _(e)===s},t.isStrictMode=function(e){return _(e)===i},t.isSuspense=function(e){return _(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===s||e===i||e===f||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===b||e.$$typeof===l||e.$$typeof===c||e.$$typeof===p||e.$$typeof===v||e.$$typeof===y||e.$$typeof===w||e.$$typeof===g)},t.typeOf=_},59864:(e,t,n)=>{"use strict";e.exports=n(69921)},68356:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var s=n(67294),l=n(45697),c=[],u=[];function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var d,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=i({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),b=null;function h(){return b||(b=e(m.loader)),b.promise}return c.push(h),"function"==typeof m.webpack&&u.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return h()})),p=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),b=e(m.loader),r._loadModule()})),h(),r.state={error:b.error,pastDelay:!1,timedOut:!1,loading:b.loading,loaded:b.loaded},r}r(n,t),n.preload=function(){return h()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.loadable.report(t)})),b.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:b.error,loaded:b.loaded,loading:b.loading}),e._clearTimeouts()};b.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?s.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(s.Component),o(d,"contextTypes",{loadable:l.shape({report:l.func.isRequired})}),p}function b(e){return m(d,e)}b.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(p,e)};var h=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return s.Children.only(this.props.children)},t}(s.Component);function g(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return g(e)}))}o(h,"propTypes",{report:l.func.isRequired}),o(h,"childContextTypes",{loadable:l.shape({report:l.func.isRequired}).isRequired}),b.Capture=h,b.preloadAll=function(){return new Promise((function(e,t){g(c).then(e,t)}))},b.preloadReady=function(){return new Promise((function(e,t){g(u).then(e,e)}))},e.exports=b},18790:(e,t,n)=>{"use strict";n.d(t,{H:()=>s,f:()=>i});var r=n(16550),a=n(87462),o=n(67294);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.rs,n,e.map((function(e,n){return o.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.Z)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.Z)({},n,t,{route:e}))}})}))):null}},73727:(e,t,n)=>{"use strict";n.d(t,{OL:()=>y,VK:()=>u,rU:()=>h});var r=n(16550),a=n(75068),o=n(67294),i=n(99318),s=n(87462),l=n(63366),c=n(38776),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,a.Z)(t,e),t.prototype.render=function(){return o.createElement(r.F0,{history:this.history,children:this.props.children})},t}(o.Component);o.Component;var d=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},f=function(e){return e},m=o.forwardRef;void 0===m&&(m=f);var b=m((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,i=(0,l.Z)(e,["innerRef","navigate","onClick"]),c=i.target,u=(0,s.Z)({},i,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=f!==m&&t||n,o.createElement("a",u)}));var h=m((function(e,t){var n=e.component,a=void 0===n?b:n,u=e.replace,h=e.to,g=e.innerRef,v=(0,l.Z)(e,["component","replace","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=e.history,r=p(d(h,e.location),e.location),l=r?n.createHref(r):"",b=(0,s.Z)({},v,{href:l,navigate:function(){var t=d(h,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(p(t));(u||r?n.replace:n.push)(t)}});return f!==m?b.ref=t||g:b.innerRef=g,o.createElement(a,b)}))})),g=function(e){return e},v=o.forwardRef;void 0===v&&(v=g);var y=v((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,u=void 0===i?"active":i,f=e.activeStyle,m=e.className,b=e.exact,y=e.isActive,w=e.location,_=e.sensitive,k=e.strict,x=e.style,S=e.to,E=e.innerRef,C=(0,l.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=w||e.location,i=p(d(S,n),n),l=i.pathname,T=l&&l.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),A=T?(0,r.LX)(n.pathname,{path:T,exact:b,sensitive:_,strict:k}):null,L=!!(y?y(A,n):A),R="function"==typeof m?m(L):m,N="function"==typeof x?x(L):x;L&&(R=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(R,u),N=(0,s.Z)({},N,f));var O=(0,s.Z)({"aria-current":L&&a||null,className:R,style:N,to:i},C);return g!==v?O.ref=t||E:O.innerRef=E,o.createElement(h,O)}))}))},16550:(e,t,n)=>{"use strict";n.d(t,{AW:()=>S,F0:()=>w,LX:()=>x,TH:()=>P,k6:()=>O,rs:()=>R,s6:()=>y});var r=n(75068),a=n(67294),o=n(45697),i=n.n(o),s=n(99318),l=n(38776),c=n(87462),u=n(39658),d=n.n(u),p=(n(59864),n(63366)),f=(n(8679),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};function b(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(n,r){e=n,t.forEach((function(t){return t(e,r)}))}}}var h=a.createContext||function(e,t){var n,o,s="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).emitter=b(t.props.value),t}(0,r.Z)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o==1/i:o!=o&&i!=i)?n=0:(n="function"==typeof t?t(r,a):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},a.render=function(){return this.props.children},n}(a.Component);l.childContextTypes=((n={})[s]=i().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},a.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},a.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},a.getValue=function(){return this.context[s]?this.context[s].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return c.contextTypes=((o={})[s]=i().object,o),{Provider:l,Consumer:c}},g=function(e){var t=h();return t.displayName=e,t},v=g("Router-History"),y=g("Router"),w=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(y.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(v.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var _={},k=0;function x(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,s=void 0!==i&&i,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=_[n]||(_[n]={});if(r[e])return r[e];var a=[],o={regexp:d()(e,a,t),keys:a};return k<1e4&&(r[e]=o,k++),o}(n,{end:o,strict:s,sensitive:c}),a=r.regexp,i=r.keys,l=a.exec(e);if(!l)return null;var u=l[0],p=l.slice(1),f=e===u;return o&&!f?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:f,params:i.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var S=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(y.Consumer,null,(function(t){t||(0,l.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?x(n.pathname,e.props):t.match,o=(0,c.Z)({},t,{location:n,match:r}),i=e.props,s=i.children,u=i.component,d=i.render;return Array.isArray(s)&&function(e){return 0===a.Children.count(e)}(s)&&(s=null),a.createElement(y.Provider,{value:o},o.match?s?"function"==typeof s?s(o):s:u?a.createElement(u,o):d?d(o):null:"function"==typeof s?s(o):null)}))},t}(a.Component);function E(e){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var n=E(e);return 0!==t.pathname.indexOf(n)?t:(0,c.Z)({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:(0,s.Ep)(e)}function A(e){return function(){(0,l.Z)(!1)}}function L(){}a.Component;var R=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(y.Consumer,null,(function(t){t||(0,l.Z)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==r&&a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?x(o.pathname,(0,c.Z)({},e.props,{path:i})):t.match}})),r?a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(a.Component);var N=a.useContext;function O(){return N(v)}function P(){return N(y).location}},39658:(e,t,n)=>{var r=n(5826);e.exports=f,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,s="",u=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(i,f),i=f+d.length,p)s+=p[1];else{var m=e[i],b=n[2],h=n[3],g=n[4],v=n[5],y=n[6],w=n[7];s&&(r.push(s),s="");var _=null!=b&&null!=m&&m!==b,k="+"===y||"*"===y,x="?"===y||"*"===y,S=n[2]||u,E=g||v;r.push({name:h||o++,prefix:b||"",delimiter:S,optional:x,repeat:k,partial:_,asterisk:!!w,pattern:E?c(E):w?".*":"[^"+l(S)+"]+?"})}}return i<e.length&&(s+=e.substr(i)),s&&r.push(s),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",d(t)));return function(t,a){for(var o="",s=t||{},l=(a||{}).pretty?i:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,p=s[u.name];if(null==p){if(u.optional){u.partial&&(o+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(p)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(d=l(p[f]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===f?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(p),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');o+=u.prefix+d}}else o+=u}return o}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function c(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function u(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",s=0;s<e.length;s++){var c=e[s];if("string"==typeof c)i+=l(c);else{var p=l(c.prefix),f="(?:"+c.pattern+")";t.push(c),c.repeat&&(f+="(?:"+p+f+")*"),i+=f=c.optional?c.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var m=l(n.delimiter||"/"),b=i.slice(-m.length)===m;return a||(i=(b?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),i+=o?"$":a&&b?"":"(?="+m+"|$)",u(new RegExp("^"+i,d(n)),t)}function f(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return u(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(f(e[a],t,n).source);return u(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return p(o(e,n),t,n)}(e,t,n)}},72408:(e,t,n)=>{"use strict";var r=n(27418),a=60103,o=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,s=60110,l=60112;t.Suspense=60113;var c=60115,u=60116;if("function"==typeof Symbol&&Symbol.for){var d=Symbol.for;a=d("react.element"),o=d("react.portal"),t.Fragment=d("react.fragment"),t.StrictMode=d("react.strict_mode"),t.Profiler=d("react.profiler"),i=d("react.provider"),s=d("react.context"),l=d("react.forward_ref"),t.Suspense=d("react.suspense"),c=d("react.memo"),u=d("react.lazy")}var p="function"==typeof Symbol&&Symbol.iterator;function f(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b={};function h(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||m}function g(){}function v(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||m}h.prototype.isReactComponent={},h.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(f(85));this.updater.enqueueSetState(this,e,t,"setState")},h.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},g.prototype=h.prototype;var y=v.prototype=new g;y.constructor=v,r(y,h.prototype),y.isPureReactComponent=!0;var w={current:null},_=Object.prototype.hasOwnProperty,k={key:!0,ref:!0,__self:!0,__source:!0};function x(e,t,n){var r,o={},i=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)_.call(t,r)&&!k.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(1===l)o.children=n;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];o.children=c}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===o[r]&&(o[r]=l[r]);return{$$typeof:a,type:e,key:i,ref:s,props:o,_owner:w.current}}function S(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var E=/\/+/g;function C(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function T(e,t,n,r,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case a:case o:l=!0}}if(l)return i=i(l=e),e=""===r?"."+C(l,0):r,Array.isArray(i)?(n="",null!=e&&(n=e.replace(E,"$&/")+"/"),T(i,t,n,"",(function(e){return e}))):null!=i&&(S(i)&&(i=function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,n+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(E,"$&/")+"/")+e)),t.push(i)),1;if(l=0,r=""===r?".":r+":",Array.isArray(e))for(var c=0;c<e.length;c++){var u=r+C(s=e[c],c);l+=T(s,t,n,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=T(s=s.value,t,n,u=r+C(s,c++),i);else if("object"===s)throw t=""+e,Error(f(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return l}function A(e,t,n){if(null==e)return e;var r=[],a=0;return T(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function L(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var R={current:null};function N(){var e=R.current;if(null===e)throw Error(f(321));return e}var O={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:w,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:A,forEach:function(e,t,n){A(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return A(e,(function(){t++})),t},toArray:function(e){return A(e,(function(e){return e}))||[]},only:function(e){if(!S(e))throw Error(f(143));return e}},t.Component=h,t.PureComponent=v,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.cloneElement=function(e,t,n){if(null==e)throw Error(f(267,e));var o=r({},e.props),i=e.key,s=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,l=w.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(u in t)_.call(t,u)&&!k.hasOwnProperty(u)&&(o[u]=void 0===t[u]&&void 0!==c?c[u]:t[u])}var u=arguments.length-2;if(1===u)o.children=n;else if(1<u){c=Array(u);for(var d=0;d<u;d++)c[d]=arguments[d+2];o.children=c}return{$$typeof:a,type:e.type,key:i,ref:s,props:o,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:s,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=x,t.createFactory=function(e){var t=x.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=S,t.lazy=function(e){return{$$typeof:u,_payload:{_status:-1,_result:e},_init:L}},t.memo=function(e,t){return{$$typeof:c,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return N().useCallback(e,t)},t.useContext=function(e,t){return N().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return N().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return N().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return N().useLayoutEffect(e,t)},t.useMemo=function(e,t){return N().useMemo(e,t)},t.useReducer=function(e,t,n){return N().useReducer(e,t,n)},t.useRef=function(e){return N().useRef(e)},t.useState=function(e){return N().useState(e)},t.version="17.0.2"},67294:(e,t,n)=>{"use strict";e.exports=n(72408)},60053:(e,t)=>{"use strict";var n,r,a,o;if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var c=null,u=null,d=function(){if(null!==c)try{var e=t.unstable_now();c(!0,e),c=null}catch(n){throw setTimeout(d,0),n}};n=function(e){null!==c?setTimeout(n,0,e):(c=e,setTimeout(d,0))},r=function(e,t){u=setTimeout(e,t)},a=function(){clearTimeout(u)},t.unstable_shouldYield=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var p=window.setTimeout,f=window.clearTimeout;if("undefined"!=typeof console){var m=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var b=!1,h=null,g=-1,v=5,y=0;t.unstable_shouldYield=function(){return t.unstable_now()>=y},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):v=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,_=w.port2;w.port1.onmessage=function(){if(null!==h){var e=t.unstable_now();y=e+v;try{h(!0,e)?_.postMessage(null):(b=!1,h=null)}catch(n){throw _.postMessage(null),n}}else b=!1},n=function(e){h=e,b||(b=!0,_.postMessage(null))},r=function(e,n){g=p((function(){e(t.unstable_now())}),n)},a=function(){f(g),g=-1}}function k(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,a=e[r];if(!(void 0!==a&&0<E(a,t)))break e;e[r]=t,e[n]=a,n=r}}function x(e){return void 0===(e=e[0])?null:e}function S(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length;r<a;){var o=2*(r+1)-1,i=e[o],s=o+1,l=e[s];if(void 0!==i&&0>E(i,n))void 0!==l&&0>E(l,i)?(e[r]=l,e[s]=n,r=s):(e[r]=i,e[o]=n,r=o);else{if(!(void 0!==l&&0>E(l,n)))break e;e[r]=l,e[s]=n,r=s}}}return t}return null}function E(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var C=[],T=[],A=1,L=null,R=3,N=!1,O=!1,P=!1;function D(e){for(var t=x(T);null!==t;){if(null===t.callback)S(T);else{if(!(t.startTime<=e))break;S(T),t.sortIndex=t.expirationTime,k(C,t)}t=x(T)}}function I(e){if(P=!1,D(e),!O)if(null!==x(C))O=!0,n(M);else{var t=x(T);null!==t&&r(I,t.startTime-e)}}function M(e,n){O=!1,P&&(P=!1,a()),N=!0;var o=R;try{for(D(n),L=x(C);null!==L&&(!(L.expirationTime>n)||e&&!t.unstable_shouldYield());){var i=L.callback;if("function"==typeof i){L.callback=null,R=L.priorityLevel;var s=i(L.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?L.callback=s:L===x(C)&&S(C),D(n)}else S(C);L=x(C)}if(null!==L)var l=!0;else{var c=x(T);null!==c&&r(I,c.startTime-n),l=!1}return l}finally{L=null,R=o,N=!1}}var F=o;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){O||N||(O=!0,n(M))},t.unstable_getCurrentPriorityLevel=function(){return R},t.unstable_getFirstCallbackNode=function(){return x(C)},t.unstable_next=function(e){switch(R){case 1:case 2:case 3:var t=3;break;default:t=R}var n=R;R=t;try{return e()}finally{R=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=F,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=R;R=e;try{return t()}finally{R=n}},t.unstable_scheduleCallback=function(e,o,i){var s=t.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0<i?s+i:s:i=s,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:A++,callback:o,priorityLevel:e,startTime:i,expirationTime:l=i+l,sortIndex:-1},i>s?(e.sortIndex=i,k(T,e),null===x(C)&&e===x(T)&&(P?a():P=!0,r(I,i-s))):(e.sortIndex=l,k(C,e),O||N||(O=!0,n(M))),e},t.unstable_wrapCallback=function(e){var t=R;return function(){var n=R;R=t;try{return e.apply(this,arguments)}finally{R=n}}}},63840:(e,t,n)=>{"use strict";e.exports=n(60053)},96774:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<o.length;l++){var c=o[l];if(!s(c))return!1;var u=e[c],d=t[c];if(!1===(a=n?n.call(r,u,d,c):void 0)||void 0===a&&u!==d)return!1}return!0}},53250:(e,t,n)=>{"use strict";var r=n(67294);var a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,i=r.useEffect,s=r.useLayoutEffect,l=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!a(e,n)}catch(r){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),a=r[0].inst,u=r[1];return s((function(){a.value=n,a.getSnapshot=t,c(a)&&u({inst:a})}),[e,n,t]),i((function(){return c(a)&&u({inst:a}),e((function(){c(a)&&u({inst:a})}))}),[e]),l(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},61688:(e,t,n)=>{"use strict";e.exports=n(53250)},36809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"Buck2",url:"https://buck2.build",baseUrl:"/",onBrokenLinks:"throw",trailingSlash:!0,onBrokenMarkdownLinks:"warn",favicon:"img/logo.png",organizationName:"facebook",projectName:"buck2",presets:[["/home/runner/work/buck2/buck2/website/node_modules/docusaurus-plugin-internaldocs-fb/docusaurus-preset.js",{docs:{path:"../docs",sidebarPath:"/home/runner/work/buck2/buck2/website/sidebars_generated.js",remarkPlugins:[[null,{strippedFilePattern:{}}],[null,{}],[null,{version:"v1"}],null]},theme:{customCss:"/home/runner/work/buck2/buck2/website/src/css/custom.css"}}]],plugins:[["/home/runner/work/buck2/buck2/website/node_modules/docusaurus-lunr-search/src/index.js",{excludeRoutes:[]}],["@docusaurus/plugin-google-gtag",{trackingID:"G-GEGGHE39PE",anonymizeIP:!0}],["@docusaurus/plugin-client-redirects",{redirects:[]}]],themeConfig:{docs:{sidebar:{hideable:!0,autoCollapseCategories:!1},versionPersistence:"localStorage"},navbar:{title:"Buck2",logo:{alt:"My Site Logo",src:"img/logo.svg"},items:[{type:"doc",docId:"index",position:"left",label:"Docs"},{to:"/docs/api",position:"left",label:"API",activeBaseRegex:"/docs/api"},{to:"/docs/prelude/globals",position:"left",label:"Rules",activeBasePath:"/docs/prelude"},{href:"https://github.com/facebook/buck2",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Docs",items:[{label:"User guide",to:"/docs"}]},{title:"Community",items:[{label:"GitHub issues",href:"https://github.com/facebook/buck2/issues"}]},{title:"More",items:[{label:"Code",href:"https://github.com/facebook/buck2"},{label:"Terms of Use",href:"https://opensource.fb.com/legal/terms"},{label:"Privacy Policy",href:"https://opensource.fb.com/legal/privacy"}]}],copyright:"Copyright \xa9 2024 Meta Platforms, Inc. Built with Docusaurus."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:[],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,i18n:{defaultLocale:"en",path:"i18n",locales:["en"],localeConfigs:{}},onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],tagline:"",titleDelimiter:"|",noIndex:!1,markdown:{mermaid:!1}}},87462:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},75068:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>a})},63366:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,{Z:()=>r})},38776:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r="Invariant failed";function a(e,t){if(!e)throw new Error(r)}},57529:e=>{"use strict";e.exports={}},16887:e=>{"use strict";e.exports=JSON.parse('{"/docs/-513":{"__comp":"1be78505","__context":{"plugin":"8dae023b"},"versionMetadata":"935f2afb"},"/docs/-629":{"__comp":"17896441","content":"03a88bad"},"/docs/about/benefits/compared_to_buck1/-c26":{"__comp":"17896441","content":"0672ca2d"},"/docs/about/bootstrapping/-cec":{"__comp":"17896441","content":"c6241b00"},"/docs/about/getting_started/-5a4":{"__comp":"17896441","content":"8e0def3d"},"/docs/about/why/-27a":{"__comp":"17896441","content":"76ed1b17"},"/docs/api/-3ad":{"__comp":"17896441","content":"e111f111"},"/docs/api/build/ActionErrorCtx/-c4b":{"__comp":"17896441","content":"85c493e5"},"/docs/api/build/ActionErrorLocation/-210":{"__comp":"17896441","content":"a40c6557"},"/docs/api/build/actions/-c69":{"__comp":"17896441","content":"3b7fd5d9"},"/docs/api/build/ActionSubError/-8cf":{"__comp":"17896441","content":"5d5b105f"},"/docs/api/build/anon_target/-969":{"__comp":"17896441","content":"e9596baa"},"/docs/api/build/anon_targets/-d3a":{"__comp":"17896441","content":"8c0fa522"},"/docs/api/build/artifact/-38f":{"__comp":"17896441","content":"040433d8"},"/docs/api/build/attrs/-ec7":{"__comp":"17896441","content":"3a4767eb"},"/docs/api/build/buck_regex/-144":{"__comp":"17896441","content":"5c9a7f50"},"/docs/api/build/cmd_args/-05a":{"__comp":"17896441","content":"1f61cb20"},"/docs/api/build/configured_target_label/-cf2":{"__comp":"17896441","content":"dc60fdda"},"/docs/api/build/context/-149":{"__comp":"17896441","content":"67054b0e"},"/docs/api/build/dependency/-514":{"__comp":"17896441","content":"d6b1362a"},"/docs/api/build/digest_config/-203":{"__comp":"17896441","content":"00acdd45"},"/docs/api/build/globals/-caa":{"__comp":"17896441","content":"dc963e49"},"/docs/api/build/label_relative_path/-7a3":{"__comp":"17896441","content":"5857b081"},"/docs/api/build/label/-dd1":{"__comp":"17896441","content":"a9c4ab75"},"/docs/api/build/plugins/-753":{"__comp":"17896441","content":"e6e76856"},"/docs/api/build/promise/-959":{"__comp":"17896441","content":"722dd74e"},"/docs/api/build/provider_collection/-02f":{"__comp":"17896441","content":"a4ab3bf3"},"/docs/api/build/providers_label/-199":{"__comp":"17896441","content":"ddd57ee9"},"/docs/api/build/StackFrame/-c13":{"__comp":"17896441","content":"8cb0a2ab"},"/docs/api/build/target_label/-56b":{"__comp":"17896441","content":"fca77127"},"/docs/api/bxl/action_attr/-3af":{"__comp":"17896441","content":"3f53dfef"},"/docs/api/bxl/action/-b73":{"__comp":"17896441","content":"c423787e"},"/docs/api/bxl/ActionErrorCtx/-351":{"__comp":"17896441","content":"b4f9e79c"},"/docs/api/bxl/ActionErrorLocation/-db7":{"__comp":"17896441","content":"14372d82"},"/docs/api/bxl/actions/-a5d":{"__comp":"17896441","content":"1ebbfb0c"},"/docs/api/bxl/ActionSubError/-e1c":{"__comp":"17896441","content":"74337fb8"},"/docs/api/bxl/anon_target/-ae8":{"__comp":"17896441","content":"db3d6ee4"},"/docs/api/bxl/anon_targets/-e79":{"__comp":"17896441","content":"614ae508"},"/docs/api/bxl/artifact/-934":{"__comp":"17896441","content":"01e98fbb"},"/docs/api/bxl/attrs/-214":{"__comp":"17896441","content":"718abaf2"},"/docs/api/bxl/buck_regex/-6b9":{"__comp":"17896441","content":"10cf57ad"},"/docs/api/bxl/bxl.ActionQueryNode/-816":{"__comp":"17896441","content":"754588f1"},"/docs/api/bxl/bxl.Actions/-6fb":{"__comp":"17896441","content":"dac93ff2"},"/docs/api/bxl/bxl.AnalysisResult/-792":{"__comp":"17896441","content":"736e3526"},"/docs/api/bxl/bxl.AqueryContext/-3bb":{"__comp":"17896441","content":"54787e77"},"/docs/api/bxl/bxl.AuditContext/-b44":{"__comp":"17896441","content":"3387e07d"},"/docs/api/bxl/bxl.BuildResult/-f35":{"__comp":"17896441","content":"df07bd63"},"/docs/api/bxl/bxl.ConfiguredTargetNode/-11f":{"__comp":"17896441","content":"c11991f3"},"/docs/api/bxl/bxl.Context/-f8f":{"__comp":"17896441","content":"92c12836"},"/docs/api/bxl/bxl.CqueryContext/-285":{"__comp":"17896441","content":"424eeae8"},"/docs/api/bxl/bxl.EnsuredArtifact/-dad":{"__comp":"17896441","content":"cd63455c"},"/docs/api/bxl/bxl.FileNode/-708":{"__comp":"17896441","content":"c0da4fa6"},"/docs/api/bxl/bxl.Filesystem/-8f1":{"__comp":"17896441","content":"05bc5f0c"},"/docs/api/bxl/bxl.LazyResolvedAttrs/-229":{"__comp":"17896441","content":"8c7f4a27"},"/docs/api/bxl/bxl.OutputStream/-84a":{"__comp":"17896441","content":"70be65e6"},"/docs/api/bxl/bxl.TargetUniverse/-171":{"__comp":"17896441","content":"241c63ce"},"/docs/api/bxl/bxl.UnconfiguredTargetNode/-a65":{"__comp":"17896441","content":"c8f6bf1e"},"/docs/api/bxl/bxl.UqueryContext/-8ec":{"__comp":"17896441","content":"8f36972d"},"/docs/api/bxl/cmd_args/-2ef":{"__comp":"17896441","content":"3abea06a"},"/docs/api/bxl/coerced_attr/-25e":{"__comp":"17896441","content":"1789f4b6"},"/docs/api/bxl/configured_attr/-9ab":{"__comp":"17896441","content":"d496cc62"},"/docs/api/bxl/configured_target_label/-04a":{"__comp":"17896441","content":"0c924533"},"/docs/api/bxl/context/-f11":{"__comp":"17896441","content":"de2c45f3"},"/docs/api/bxl/dependency/-371":{"__comp":"17896441","content":"04f21c51"},"/docs/api/bxl/digest_config/-9ee":{"__comp":"17896441","content":"723b55bc"},"/docs/api/bxl/ensured_artifact_group/-97e":{"__comp":"17896441","content":"94a2f733"},"/docs/api/bxl/file_set/-7ff":{"__comp":"17896441","content":"9302fcfe"},"/docs/api/bxl/globals/-4fe":{"__comp":"17896441","content":"75c5f97a"},"/docs/api/bxl/instant/-00c":{"__comp":"17896441","content":"d2edda2e"},"/docs/api/bxl/label_relative_path/-1e5":{"__comp":"17896441","content":"233d3b94"},"/docs/api/bxl/label/-b95":{"__comp":"17896441","content":"1f1dcb8c"},"/docs/api/bxl/lazy_attrs/-0e8":{"__comp":"17896441","content":"ed437712"},"/docs/api/bxl/plugins/-f0f":{"__comp":"17896441","content":"4e2e2d93"},"/docs/api/bxl/promise/-a4e":{"__comp":"17896441","content":"892f7c1f"},"/docs/api/bxl/provider_collection/-19d":{"__comp":"17896441","content":"6e30c280"},"/docs/api/bxl/providers_label/-780":{"__comp":"17896441","content":"48c2bdd5"},"/docs/api/bxl/StackFrame/-bdd":{"__comp":"17896441","content":"e7edf74c"},"/docs/api/bxl/target_label/-a4a":{"__comp":"17896441","content":"e9c1d37c"},"/docs/api/starlark/dict/-09f":{"__comp":"17896441","content":"8e47425f"},"/docs/api/starlark/globals/-173":{"__comp":"17896441","content":"ba3274fe"},"/docs/api/starlark/list/-e3f":{"__comp":"17896441","content":"265f0f39"},"/docs/api/starlark/string/-ba1":{"__comp":"17896441","content":"79d5604b"},"/docs/concepts/buck_out/-785":{"__comp":"17896441","content":"88c3dc86"},"/docs/concepts/buckconfig/-277":{"__comp":"17896441","content":"a2c5be65"},"/docs/concepts/build_file/-de0":{"__comp":"17896441","content":"e9ca051d"},"/docs/concepts/build_rule/-088":{"__comp":"17896441","content":"0fa06060"},"/docs/concepts/build_target/-d32":{"__comp":"17896441","content":"d239613d"},"/docs/concepts/concept_map/-474":{"__comp":"17896441","content":"c6c1357b"},"/docs/concepts/configurations/-b0d":{"__comp":"17896441","content":"f0d3617e"},"/docs/concepts/daemon/-e6f":{"__comp":"17896441","content":"8d02fc2c"},"/docs/concepts/glossary/-7aa":{"__comp":"17896441","content":"434253ce"},"/docs/concepts/key_concepts/-282":{"__comp":"17896441","content":"6c18948f"},"/docs/concepts/target_pattern/-a6a":{"__comp":"17896441","content":"3b1c98d3"},"/docs/concepts/visibility/-3e3":{"__comp":"17896441","content":"955ef9b4"},"/docs/developers/anon_targets/-330":{"__comp":"17896441","content":"1b144072"},"/docs/developers/architecture/buck1_vs_buck2/-a82":{"__comp":"17896441","content":"4e46a25b"},"/docs/developers/architecture/buck2_telemetry/-06f":{"__comp":"17896441","content":"1f32ca52"},"/docs/developers/architecture/buck2/-72d":{"__comp":"17896441","content":"e4ba4a79"},"/docs/developers/bxl_basics/-614":{"__comp":"17896441","content":"064ea4d5"},"/docs/developers/bxl_faqs/-869":{"__comp":"17896441","content":"43d67a8f"},"/docs/developers/bxl_getting_started/-6be":{"__comp":"17896441","content":"b6052872"},"/docs/developers/bxl_how_tos/-303":{"__comp":"17896441","content":"5ea06253"},"/docs/developers/bxl_telemetry/-787":{"__comp":"17896441","content":"66b456ad"},"/docs/developers/bxl/-220":{"__comp":"17896441","content":"b908f3dc"},"/docs/developers/dynamic_output/-8f2":{"__comp":"17896441","content":"6689f2eb"},"/docs/developers/options/-5d8":{"__comp":"17896441","content":"c39f63f4"},"/docs/developers/request_for_comments/-af5":{"__comp":"17896441","content":"2818b939"},"/docs/developers/starlark/environment/-cac":{"__comp":"17896441","content":"8d489760"},"/docs/developers/starlark/gc/-7dd":{"__comp":"17896441","content":"fb247b1e"},"/docs/developers/starlark/heaps/-6be":{"__comp":"17896441","content":"852120c7"},"/docs/developers/starlark/spec/-cca":{"__comp":"17896441","content":"329b779f"},"/docs/developers/starlark/types/-f99":{"__comp":"17896441","content":"578af228"},"/docs/developers/starlark/values/-e2d":{"__comp":"17896441","content":"1b88b802"},"/docs/developers/target_universe/-28a":{"__comp":"17896441","content":"3bfeda06"},"/docs/developers/what-ran/-f49":{"__comp":"17896441","content":"cef0138e"},"/docs/developers/windows_cheat_sheet/-571":{"__comp":"17896441","content":"910f3c4d"},"/docs/prelude/globals/-d8d":{"__comp":"17896441","content":"f5a9f27a"},"/docs/rfcs/attr-metadata/-b9f":{"__comp":"17896441","content":"495cfe08"},"/docs/rfcs/audit_visibility/-524":{"__comp":"17896441","content":"4114853d"},"/docs/rfcs/bxl-analysis/-900":{"__comp":"17896441","content":"90012eb2"},"/docs/rfcs/bxl/-738":{"__comp":"17896441","content":"e27b0923"},"/docs/rfcs/cfg-modifiers/api/-9a4":{"__comp":"17896441","content":"e813a4f4"},"/docs/rfcs/configured-alias/-e1c":{"__comp":"17896441","content":"ccef733c"},"/docs/rfcs/drafts/bxl-actions/-5ee":{"__comp":"17896441","content":"b81047f4"},"/docs/rfcs/drafts/configuration-at-syntax/-1d6":{"__comp":"17896441","content":"d7cd28fb"},"/docs/rfcs/drafts/digest-kinds/-ac1":{"__comp":"17896441","content":"bf772405"},"/docs/rfcs/drafts/plugin-deps/-32f":{"__comp":"17896441","content":"ce33bc2f"},"/docs/rfcs/drafts/test-info-v2/-7fb":{"__comp":"17896441","content":"0f079156"},"/docs/rfcs/drafts/universal-cfg-naming/-5a6":{"__comp":"17896441","content":"aa5654f3"},"/docs/rfcs/implemented/provider-collection-at/-4e4":{"__comp":"17896441","content":"cf239bf7"},"/docs/rfcs/package-local-values/-2f9":{"__comp":"17896441","content":"c4ae0129"},"/docs/rule_authors/alias/-01b":{"__comp":"17896441","content":"6b2bab4e"},"/docs/rule_authors/anon_targets/-d40":{"__comp":"17896441","content":"9d896ab8"},"/docs/rule_authors/configuration_transitions/-bfe":{"__comp":"17896441","content":"41346a35"},"/docs/rule_authors/configurations/-4ea":{"__comp":"17896441","content":"a88bfb13"},"/docs/rule_authors/dep_files/-3f8":{"__comp":"17896441","content":"014949af"},"/docs/rule_authors/dynamic_dependencies/-c4d":{"__comp":"17896441","content":"28bf35cf"},"/docs/rule_authors/incremental_actions/-882":{"__comp":"17896441","content":"7ad18b5f"},"/docs/rule_authors/local_resources/-c8d":{"__comp":"17896441","content":"555693ad"},"/docs/rule_authors/optimization/-20b":{"__comp":"17896441","content":"7b289690"},"/docs/rule_authors/package_files/-ef3":{"__comp":"17896441","content":"f2753e08"},"/docs/rule_authors/test_execution/-559":{"__comp":"17896441","content":"da761ee9"},"/docs/rule_authors/transitive_sets/-99d":{"__comp":"17896441","content":"86dcd6f7"},"/docs/rule_authors/writing_rules/-b9a":{"__comp":"17896441","content":"3ec19b9d"},"/docs/users/advanced/deferred_materialization/-224":{"__comp":"17896441","content":"41acaa78"},"/docs/users/advanced/external_cells/-e29":{"__comp":"17896441","content":"d28d8f91"},"/docs/users/advanced/in_memory_cache/-f33":{"__comp":"17896441","content":"1500e4bc"},"/docs/users/advanced/restarter/-489":{"__comp":"17896441","content":"4ad9b6eb"},"/docs/users/build_observability/build_report/-a36":{"__comp":"17896441","content":"41d85637"},"/docs/users/build_observability/interactive_console/-25e":{"__comp":"17896441","content":"6969bfce"},"/docs/users/build_observability/logging/-16b":{"__comp":"17896441","content":"16722cc9"},"/docs/users/cheat_sheet/-8c2":{"__comp":"17896441","content":"c47ebe08"},"/docs/users/commands/aquery/-7dd":{"__comp":"17896441","content":"f65d88fb"},"/docs/users/commands/audit/-cbc":{"__comp":"17896441","content":"b7c3ea2a"},"/docs/users/commands/build/-c35":{"__comp":"17896441","content":"d439162b"},"/docs/users/commands/bxl/-5d0":{"__comp":"17896441","content":"61d19613"},"/docs/users/commands/clean/-f02":{"__comp":"17896441","content":"1f8f7044"},"/docs/users/commands/completion/-44b":{"__comp":"17896441","content":"7945c54f"},"/docs/users/commands/cquery/-0bd":{"__comp":"17896441","content":"bb8830dd"},"/docs/users/commands/ctargets/-7b4":{"__comp":"17896441","content":"084ef0a3"},"/docs/users/commands/docs/-5a2":{"__comp":"17896441","content":"b1f14c1e"},"/docs/users/commands/expand-external-cell/-c70":{"__comp":"17896441","content":"ae29e9d1"},"/docs/users/commands/help-env/-cc2":{"__comp":"17896441","content":"2e8c76df"},"/docs/users/commands/init/-4a8":{"__comp":"17896441","content":"3ab0d764"},"/docs/users/commands/install/-2e2":{"__comp":"17896441","content":"e6f09efc"},"/docs/users/commands/kill/-37b":{"__comp":"17896441","content":"637357b7"},"/docs/users/commands/killall/-ce1":{"__comp":"17896441","content":"d1ac8d17"},"/docs/users/commands/log/-0f4":{"__comp":"17896441","content":"2a9e5fca"},"/docs/users/commands/lsp/-75e":{"__comp":"17896441","content":"ca36dca5"},"/docs/users/commands/profile/-2d3":{"__comp":"17896441","content":"1d939d9f"},"/docs/users/commands/query/-ec4":{"__comp":"17896441","content":"01f44ee0"},"/docs/users/commands/root/-fc6":{"__comp":"17896441","content":"9f75976f"},"/docs/users/commands/run/-7a7":{"__comp":"17896441","content":"cc3a0c10"},"/docs/users/commands/server/-d73":{"__comp":"17896441","content":"7af443e0"},"/docs/users/commands/starlark/-bc7":{"__comp":"17896441","content":"7eb47a1c"},"/docs/users/commands/status/-ca9":{"__comp":"17896441","content":"fe36bde7"},"/docs/users/commands/subscribe/-f89":{"__comp":"17896441","content":"f9b543d9"},"/docs/users/commands/targets/-834":{"__comp":"17896441","content":"f1513722"},"/docs/users/commands/test/-43d":{"__comp":"17896441","content":"416c542a"},"/docs/users/commands/uquery/-007":{"__comp":"17896441","content":"15c251f0"},"/docs/users/commands/utargets/-91a":{"__comp":"17896441","content":"afa575f6"},"/docs/users/faq/buck_hanging/-2a8":{"__comp":"17896441","content":"28453fbb"},"/docs/users/faq/common_issues/-516":{"__comp":"17896441","content":"97439213"},"/docs/users/faq/starlark_peak_mem/-d94":{"__comp":"17896441","content":"794bd6ba"},"/docs/users/query/aquery/-164":{"__comp":"17896441","content":"4e0add5e"},"/docs/users/query/cquery/-723":{"__comp":"17896441","content":"20829a8d"},"/docs/users/query/uquery/-e49":{"__comp":"17896441","content":"c7e38557"},"/docs/users/remote_execution/-97a":{"__comp":"17896441","content":"0a7b70f3"},"/-c1a":{"__comp":"c4f5d8e4","__context":{"plugin":"3447d6d5"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=49383,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.b107f3c6.js.LICENSE.txt b/assets/js/main.b107f3c6.js.LICENSE.txt new file mode 100644 index 0000000000000..428bf06e2bb60 --- /dev/null +++ b/assets/js/main.b107f3c6.js.LICENSE.txt @@ -0,0 +1,69 @@ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ + +/** + * @license React + * use-sync-external-store-shim.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT <https://opensource.org/licenses/MIT> + * @author Lea Verou <https://lea.verou.me> + * @namespace + * @public + */ + +/** @license React v0.20.2 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/assets/js/runtime~main.15d37ac7.js b/assets/js/runtime~main.15d37ac7.js new file mode 100644 index 0000000000000..cebbccf16796e --- /dev/null +++ b/assets/js/runtime~main.15d37ac7.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,f,d,c,a,b={},t={};function r(e){var f=t[e];if(void 0!==f)return f.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=b,r.c=t,e=[],r.O=(f,d,c,a)=>{if(!d){var b=1/0;for(i=0;i<e.length;i++){d=e[i][0],c=e[i][1],a=e[i][2];for(var t=!0,o=0;o<d.length;o++)(!1&a||b>=a)&&Object.keys(r.O).every((e=>r.O[e](d[o])))?d.splice(o--,1):(t=!1,a<b&&(b=a));if(t){e.splice(i--,1);var n=c();void 0!==n&&(f=n)}}return f}a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[d,c,a]},r.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return r.d(f,{a:f}),f},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var a=Object.create(null);r.r(a);var b={};f=f||[null,d({}),d([]),d(d)];for(var t=2&c&&e;"object"==typeof t&&!~f.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((f=>b[f]=()=>e[f]));return b.default=()=>e,r.d(a,b),a},r.d=(e,f)=>{for(var d in f)r.o(f,d)&&!r.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:f[d]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((f,d)=>(r.f[d](e,f),f)),[])),r.u=e=>"assets/js/"+({6:"4ad9b6eb",53:"935f2afb",150:"a9c4ab75",151:"e7edf74c",207:"5d5b105f",255:"718abaf2",338:"637357b7",364:"70be65e6",392:"75c5f97a",513:"66b456ad",514:"c4ae0129",525:"85c493e5",615:"c39f63f4",792:"f1513722",807:"d439162b",850:"e813a4f4",861:"434253ce",893:"0c924533",1324:"a40c6557",1438:"8e0def3d",1522:"28453fbb",1545:"2818b939",1603:"8d02fc2c",1621:"15c251f0",1623:"3abea06a",1707:"05bc5f0c",1714:"dac93ff2",1796:"00acdd45",1821:"3ab0d764",1831:"7eb47a1c",1846:"8e47425f",1860:"8c0fa522",1920:"41d85637",1958:"723b55bc",1970:"1f8f7044",2118:"f2753e08",2129:"4e0add5e",2228:"c7e38557",2417:"5ea06253",2430:"aa5654f3",2524:"736e3526",2593:"cef0138e",2629:"c8f6bf1e",2762:"f0d3617e",2823:"1789f4b6",2857:"fca77127",2914:"1500e4bc",2961:"b4f9e79c",2965:"1ebbfb0c",3040:"94a2f733",3104:"28bf35cf",3111:"b908f3dc",3117:"8f36972d",3236:"495cfe08",3291:"c0da4fa6",3296:"794bd6ba",3343:"ddd57ee9",3353:"14372d82",3423:"c47ebe08",3476:"f9b543d9",3500:"6b2bab4e",3537:"04f21c51",3566:"a4ab3bf3",3631:"8d489760",3665:"20829a8d",3674:"0f079156",3704:"ce33bc2f",3754:"16722cc9",3846:"ae29e9d1",3907:"01e98fbb",3955:"2a9e5fca",4031:"41acaa78",4090:"f65d88fb",4101:"da761ee9",4184:"90012eb2",4195:"c4f5d8e4",4219:"fe36bde7",4244:"f5a9f27a",4288:"d2edda2e",4346:"241c63ce",4373:"5857b081",4525:"ed437712",4674:"6c18948f",4679:"d496cc62",4733:"233d3b94",4747:"6e30c280",4867:"1b144072",4913:"fb247b1e",4929:"dc60fdda",5024:"1d939d9f",5046:"424eeae8",5066:"dc963e49",5141:"955ef9b4",5254:"cd63455c",5319:"265f0f39",5357:"e6f09efc",5394:"614ae508",5443:"e4ba4a79",5461:"c6c1357b",5483:"de2c45f3",5609:"b81047f4",5624:"084ef0a3",5627:"df07bd63",5682:"2e8c76df",5712:"555693ad",5733:"7ad18b5f",5827:"064ea4d5",5828:"416c542a",5983:"b1f14c1e",6005:"d6b1362a",6037:"754588f1",6053:"3b1c98d3",6097:"ca36dca5",6248:"db3d6ee4",6251:"76ed1b17",6259:"bf772405",6267:"3f53dfef",6302:"e9596baa",6370:"74337fb8",6394:"d7cd28fb",6537:"48c2bdd5",6568:"03a88bad",6589:"e9c1d37c",6598:"040433d8",6618:"10cf57ad",6681:"3447d6d5",6708:"01f44ee0",6724:"3a4767eb",6738:"4114853d",6742:"578af228",6797:"92c12836",6818:"e6e76856",6819:"cc3a0c10",6849:"67054b0e",6853:"6689f2eb",6912:"d28d8f91",6959:"ba3274fe",6986:"014949af",6995:"88c3dc86",7267:"4e2e2d93",7318:"3387e07d",7399:"6969bfce",7459:"7b289690",7538:"97439213",7585:"86dcd6f7",7610:"b6052872",7702:"8cb0a2ab",7706:"d1ac8d17",7728:"1f61cb20",7768:"1b88b802",7778:"0fa06060",7826:"79d5604b",7829:"3ec19b9d",7836:"e111f111",7918:"17896441",8008:"e9ca051d",8033:"3bfeda06",8074:"852120c7",8237:"cf239bf7",8255:"0a7b70f3",8266:"9302fcfe",8301:"892f7c1f",8312:"e27b0923",8346:"c11991f3",8466:"7af443e0",8535:"a2c5be65",8541:"329b779f",8598:"54787e77",8698:"a88bfb13",8778:"ccef733c",8779:"8c7f4a27",8875:"9f75976f",8902:"b7c3ea2a",8936:"c6241b00",9013:"1f1dcb8c",9092:"c423787e",9133:"bb8830dd",9194:"8dae023b",9198:"5c9a7f50",9236:"722dd74e",9254:"afa575f6",9372:"41346a35",9465:"7945c54f",9514:"1be78505",9518:"3b7fd5d9",9525:"0672ca2d",9533:"910f3c4d",9610:"1f32ca52",9662:"d239613d",9685:"9d896ab8",9779:"43d67a8f",9812:"4e46a25b",9813:"61d19613"}[e]||e)+"."+{6:"232cb5db",53:"01e85cc3",150:"ad3af674",151:"ab2451b4",207:"1735e713",255:"e8def5f8",338:"592372ec",364:"649153e9",392:"3dbf325e",513:"0fc993af",514:"85ec82a3",525:"c57e44f4",615:"e30919db",792:"fe05d8a1",807:"f58c6f12",850:"73bd3150",861:"057ddb55",893:"b35165c5",1324:"93ed897e",1438:"e78a4431",1522:"3c7766cc",1545:"d47595e4",1554:"39070c41",1603:"5bb74ed0",1621:"83b835cc",1623:"76cc7a9f",1707:"0b380e2a",1714:"8446848f",1796:"9f57d6a4",1821:"dc2343ab",1831:"b9684af5",1846:"270305fe",1860:"75c0d513",1920:"2072e605",1958:"23ced336",1970:"c88bde41",2118:"6b539d21",2129:"96e9c7d9",2228:"3212b719",2417:"6377fad2",2430:"6702b30b",2524:"326fbf5e",2572:"30342814",2593:"8b5c3328",2629:"ddd5f012",2762:"ecb18d12",2823:"6a121ca8",2857:"cc261230",2914:"83891d9d",2961:"adc292d5",2965:"fa68cf83",3040:"50525c20",3104:"0f89dfc7",3111:"99264a10",3117:"455aa214",3236:"ddd24e34",3291:"986696a3",3296:"b43ff20f",3343:"637c2c0c",3353:"eae64a55",3423:"2b851d66",3476:"29ce3100",3500:"883fd8ed",3537:"e111d28d",3566:"312a2165",3631:"03ebbc0f",3665:"af7ed047",3674:"aaf18b45",3704:"9999dfd3",3754:"bc056d1c",3846:"57dad84d",3907:"2fb29ec9",3955:"be7b13e0",4031:"d79d3044",4090:"5d36ba7c",4101:"2ca50b9a",4184:"3e4c3465",4195:"d236d0e0",4219:"2fcec53a",4244:"44924f84",4288:"99f4f527",4346:"108ce215",4373:"4b4af703",4525:"8d2dcef4",4611:"ad902f6e",4674:"75c26f9b",4679:"f2502c3f",4733:"5d2ed475",4747:"1ee16e2d",4867:"f812aec1",4913:"b3b056ef",4929:"6fb8d039",4972:"d609ec75",5024:"adac18ce",5046:"5d726420",5066:"4566908b",5141:"91074729",5254:"a606c314",5319:"3279bf44",5357:"e490fdb6",5394:"130c300f",5443:"9cc53ace",5461:"7e5e4607",5483:"8902c063",5609:"3172b6d0",5624:"5863fcf3",5627:"b4afb3a6",5682:"67188a79",5684:"17790f7f",5712:"cb6b135a",5733:"d7d79ced",5827:"628d4add",5828:"b4e444c3",5983:"bc42299b",6005:"dcc91c93",6037:"3160b68c",6053:"ca09987a",6097:"5e070256",6248:"4e66d220",6251:"9baea5ac",6259:"e9e11e59",6267:"d14fc06e",6302:"e7538d4b",6370:"3a0a4ed4",6394:"2853bade",6537:"6ecc2708",6568:"fb1f8870",6589:"31febcbf",6598:"b37d60a5",6618:"762ab96d",6681:"d95716df",6708:"f748e904",6724:"2527b744",6738:"00685e75",6742:"37f0e40f",6797:"b3c519e3",6818:"52099c10",6819:"baaedda4",6849:"35fd3b59",6853:"b4f33c3d",6912:"f4bc433f",6959:"362aa7e7",6986:"3f3640c6",6995:"2fc2a90f",7267:"8b074775",7318:"baaa934a",7399:"65bf0476",7459:"d678b41f",7538:"df39ba86",7585:"eeacfbb7",7610:"e7453e9a",7702:"99423b2e",7706:"23442993",7728:"18dc8880",7768:"647b1eca",7778:"ef3e21bb",7826:"dd0f08b6",7829:"9d5ec38e",7836:"1d512b1d",7918:"ea8f039b",8008:"cd73e5f0",8033:"f5a9f21d",8074:"f4c0ecba",8237:"67152b90",8255:"a9d32de7",8266:"67bfc70c",8301:"8860b426",8312:"fdee2313",8346:"9fcfeb2e",8466:"b86abaff",8535:"daca4bc6",8541:"75db31ab",8598:"09ecd171",8698:"e2b80a0b",8778:"48470689",8779:"450e5181",8875:"f9a0aba2",8902:"9be07b54",8936:"bbc69480",9013:"550fee80",9092:"d1c58994",9133:"6fe154c4",9194:"80d1b8cc",9198:"c4d822e4",9236:"76d58d49",9254:"ea4d55d1",9372:"6054adf0",9465:"e042dc1a",9514:"76567914",9518:"b4404dfc",9525:"7c52aa43",9533:"b9ef69db",9610:"a36a6d0a",9662:"b1193f84",9685:"ba399244",9779:"f9ac815d",9812:"d58cb97f",9813:"2f000ee1"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),c={},a="website:",r.l=(e,f,d,b)=>{if(c[e])c[e].push(f);else{var t,o;if(void 0!==d)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var l=n[i];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==a+d){t=l;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",a+d),t.src=e),c[e]=[f];var u=(f,d)=>{t.onerror=t.onload=null,clearTimeout(s);var a=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),a&&a.forEach((e=>e(d))),f)return f(d)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={17896441:"7918",97439213:"7538","4ad9b6eb":"6","935f2afb":"53",a9c4ab75:"150",e7edf74c:"151","5d5b105f":"207","718abaf2":"255","637357b7":"338","70be65e6":"364","75c5f97a":"392","66b456ad":"513",c4ae0129:"514","85c493e5":"525",c39f63f4:"615",f1513722:"792",d439162b:"807",e813a4f4:"850","434253ce":"861","0c924533":"893",a40c6557:"1324","8e0def3d":"1438","28453fbb":"1522","2818b939":"1545","8d02fc2c":"1603","15c251f0":"1621","3abea06a":"1623","05bc5f0c":"1707",dac93ff2:"1714","00acdd45":"1796","3ab0d764":"1821","7eb47a1c":"1831","8e47425f":"1846","8c0fa522":"1860","41d85637":"1920","723b55bc":"1958","1f8f7044":"1970",f2753e08:"2118","4e0add5e":"2129",c7e38557:"2228","5ea06253":"2417",aa5654f3:"2430","736e3526":"2524",cef0138e:"2593",c8f6bf1e:"2629",f0d3617e:"2762","1789f4b6":"2823",fca77127:"2857","1500e4bc":"2914",b4f9e79c:"2961","1ebbfb0c":"2965","94a2f733":"3040","28bf35cf":"3104",b908f3dc:"3111","8f36972d":"3117","495cfe08":"3236",c0da4fa6:"3291","794bd6ba":"3296",ddd57ee9:"3343","14372d82":"3353",c47ebe08:"3423",f9b543d9:"3476","6b2bab4e":"3500","04f21c51":"3537",a4ab3bf3:"3566","8d489760":"3631","20829a8d":"3665","0f079156":"3674",ce33bc2f:"3704","16722cc9":"3754",ae29e9d1:"3846","01e98fbb":"3907","2a9e5fca":"3955","41acaa78":"4031",f65d88fb:"4090",da761ee9:"4101","90012eb2":"4184",c4f5d8e4:"4195",fe36bde7:"4219",f5a9f27a:"4244",d2edda2e:"4288","241c63ce":"4346","5857b081":"4373",ed437712:"4525","6c18948f":"4674",d496cc62:"4679","233d3b94":"4733","6e30c280":"4747","1b144072":"4867",fb247b1e:"4913",dc60fdda:"4929","1d939d9f":"5024","424eeae8":"5046",dc963e49:"5066","955ef9b4":"5141",cd63455c:"5254","265f0f39":"5319",e6f09efc:"5357","614ae508":"5394",e4ba4a79:"5443",c6c1357b:"5461",de2c45f3:"5483",b81047f4:"5609","084ef0a3":"5624",df07bd63:"5627","2e8c76df":"5682","555693ad":"5712","7ad18b5f":"5733","064ea4d5":"5827","416c542a":"5828",b1f14c1e:"5983",d6b1362a:"6005","754588f1":"6037","3b1c98d3":"6053",ca36dca5:"6097",db3d6ee4:"6248","76ed1b17":"6251",bf772405:"6259","3f53dfef":"6267",e9596baa:"6302","74337fb8":"6370",d7cd28fb:"6394","48c2bdd5":"6537","03a88bad":"6568",e9c1d37c:"6589","040433d8":"6598","10cf57ad":"6618","3447d6d5":"6681","01f44ee0":"6708","3a4767eb":"6724","4114853d":"6738","578af228":"6742","92c12836":"6797",e6e76856:"6818",cc3a0c10:"6819","67054b0e":"6849","6689f2eb":"6853",d28d8f91:"6912",ba3274fe:"6959","014949af":"6986","88c3dc86":"6995","4e2e2d93":"7267","3387e07d":"7318","6969bfce":"7399","7b289690":"7459","86dcd6f7":"7585",b6052872:"7610","8cb0a2ab":"7702",d1ac8d17:"7706","1f61cb20":"7728","1b88b802":"7768","0fa06060":"7778","79d5604b":"7826","3ec19b9d":"7829",e111f111:"7836",e9ca051d:"8008","3bfeda06":"8033","852120c7":"8074",cf239bf7:"8237","0a7b70f3":"8255","9302fcfe":"8266","892f7c1f":"8301",e27b0923:"8312",c11991f3:"8346","7af443e0":"8466",a2c5be65:"8535","329b779f":"8541","54787e77":"8598",a88bfb13:"8698",ccef733c:"8778","8c7f4a27":"8779","9f75976f":"8875",b7c3ea2a:"8902",c6241b00:"8936","1f1dcb8c":"9013",c423787e:"9092",bb8830dd:"9133","8dae023b":"9194","5c9a7f50":"9198","722dd74e":"9236",afa575f6:"9254","41346a35":"9372","7945c54f":"9465","1be78505":"9514","3b7fd5d9":"9518","0672ca2d":"9525","910f3c4d":"9533","1f32ca52":"9610",d239613d:"9662","9d896ab8":"9685","43d67a8f":"9779","4e46a25b":"9812","61d19613":"9813"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(f,d)=>{var c=r.o(e,f)?e[f]:void 0;if(0!==c)if(c)d.push(c[2]);else if(/^(1303|532)$/.test(f))e[f]=0;else{var a=new Promise(((d,a)=>c=e[f]=[d,a]));d.push(c[2]=a);var b=r.p+r.u(f),t=new Error;r.l(b,(d=>{if(r.o(e,f)&&(0!==(c=e[f])&&(e[f]=void 0),c)){var a=d&&("load"===d.type?"missing":d.type),b=d&&d.target&&d.target.src;t.message="Loading chunk "+f+" failed.\n("+a+": "+b+")",t.name="ChunkLoadError",t.type=a,t.request=b,c[1](t)}}),"chunk-"+f,f)}},r.O.j=f=>0===e[f];var f=(f,d)=>{var c,a,b=d[0],t=d[1],o=d[2],n=0;if(b.some((f=>0!==e[f]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(f&&f(d);n<b.length;n++)a=b[n],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(i)},d=self.webpackChunkwebsite=self.webpackChunkwebsite||[];d.forEach(f.bind(null,0)),d.push=f.bind(null,d.push.bind(d))})()})(); \ No newline at end of file diff --git a/docs/about/benefits/compared_to_buck1/index.html b/docs/about/benefits/compared_to_buck1/index.html new file mode 100644 index 0000000000000..97b38fab4c65e --- /dev/null +++ b/docs/about/benefits/compared_to_buck1/index.html @@ -0,0 +1,79 @@ +<!doctype html> +<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-about/benefits/compared_to_buck1"> +<head> +<meta charset="UTF-8"> +<meta name="generator" content="Docusaurus v2.3.1"> +<title data-rh="true">Benefits When Compared to Buck1 | Buck2 + + + + + + + + +
+

Benefits When Compared to Buck1

Benefits for end users

"buck2 build SOME_TARGET_I_ALREADY_BUILT_BEFORE is basically instantaneous +and is a super delightful experience. 🙂" - End user experience

"Buck2 is largely faster and more memory efficient than buck1, and where I’ve +seen counter-examples, the buck2 team quickly optimizes and fixes that.🙂" - +Software Engineer feedback

For people who use Buck on a daily basis (such as using Buck build as part of +their development inner loop), switching to Buck2 provides the following +benefits:

  • Performance - the performance of Buck2 is better in four ways:
    • Fast things are fast - in Buck1, simply typing buck build when there +is nothing to do can be expensive (23 seconds in some benchmarks). In Buck2, +the same build action takes 0.1 seconds. Actions that should be fast are +fast, which enables developers to use Buck more freely, without trying to +work around the build system.
    • Slow things are faster - when there is real work to do, Buck2 is +significantly closer to the critical path. Benchmarks range from 5%/10s +faster for changing a header file (lots of parallel C++ computations, Buck1 +already nearly at the critical path) to 42%/145s faster (changing a Thrift +file in a large project).
    • Users contribute to the shared cache - with Buck1, only trusted CI +builds write to the network cache, while with Buck2 everyone writes to the +cache through sandboxed remote execution. This increases the chance of cache +hits, saving capacity and time.
    • CI builds go faster - these numbers vary day by day, but most projects +are 2-4x faster. This means spending less time waiting for CI and saving +some capacity at the same time.
  • Correctness - in Buck2, rules are hermetic by default. Missing +dependencies are errors. These restrictions apply to both the user-written +BUCK files and the language rules.
    • During the process of migrating to Buck2, a huge number of missing +dependencies have been fixed. However, during the same process, several +Buck1 issues were identified that are not going to be fixed in Buck1 (such +as missing headers, genrules without dependencies, and OCaml rules don’t +track all deps). The end result is that Buck2 gives the right answer more +often, cutting down on user surprises.
  • Rule features - the rules in Buck2, especially for less commonly used +languages (such as Haskell, OCaml, and Rust) support features above and beyond +those in Buck1.
    • Examples: dependencies can be given as arguments to +prebuilt_ocaml_library, Haskell enables the use of stub headers from C++, +and Rust has experimental pipelining support.
  • Actively developed - the Meta build team is putting all its efforts behind +Buck2; it's vastly easier to develop than Buck1. While Buck2 is already ahead +of Buck1 in many important aspects, the difference is only going to grow with +several improvements in the pipeline.
  • Support - Meta can provide much better support to those having +difficulties with Buck2 than to those using Buck1.

Benefits for Rule Authors

If you write language-specific rules, then Buck2 is in a different league to +Buck1.

"This is all rather fun! Buck2 rules are so much more hackable than +Buck1." - Software Engineer feedback

There are a number of reasons why Buck2 excels for Rule Authors:

  • Faster developer cycle - in Buck1, the time from changing a rule to seeing +the impact is many minutes: you first have to compile Buck1, invalidate the +dependency cache (and so on), and perhaps work between multiple OSs. With +Buck2, it takes seconds, you don’t even need to restart the daemon.
  • Simple API - Buck2 rules use a small and documented Starlark API, which is +dependency-correct by construction. In Buck1, the rules must obey a lot of +subtle side conditions with a much larger API.
  • Easier deployment - for Buck2, deployment is just checking the rules in, +with an atomic commit changing associated macros (when required). For Buck1, +you have to make the repo work with the old and new rules and wait for a Buck +version bump to ship your changes, perhaps a few days later.
  • Low barrier to entry - writing rules in Buck2 is vastly easier than Buck1, +significantly increasing the developer pool. This means that writing rules is +now accessible to language experts, not just Buck experts.

Benefits for Integrators

For those people who integrate Buck2 into larger systems, in addition to many of +the above benefits apply, Buck2 provides the following benefits:

  • Faster queries - many integrators make extensive use of buck uquery and +cquery. In Buck2, these commands are faster and use less memory.
    • For example, on CI target determination (a bunch of targets/queries), Buck2 +is 25% faster at P50 (moving to 40% faster at P95) with 25% less memory +(saving over 20Gb, and crossing below the 64Gb threshold).
  • Profiling - Buck2 already ships with five types of profiling for both +loading and analysis (flame graphs, statement breakdown, heap profiles etc). +With Buck2, these tools are much more easily accessible to people not on the +Build Infra team.

The downside

While there are many benefits, it would be remiss not to include a small list of +temporary issues:

  • Stability - Buck2 is under active development, which means the risk of +regression is correspondingly higher. There may be issues, but they will be +fixed as quickly as possible (and lessons learned) through the through Meta's +SEV-review process.
  • Corner cases - Buck1 has been battle-tested for nearly a decade, which has +included attention to events such as error messages in unlikely corner cases. +Only time and user feedback will enable Meta to bring Buck2 to the same level. +Please share all such feedback!
+ + + + \ No newline at end of file diff --git a/docs/about/bootstrapping/index.html b/docs/about/bootstrapping/index.html new file mode 100644 index 0000000000000..a6fe06df6eb63 --- /dev/null +++ b/docs/about/bootstrapping/index.html @@ -0,0 +1,23 @@ + + + + + +Bootstrapping Buck2 | Buck2 + + + + + + + + +
+

Bootstrapping Buck2

To generate BUCK files for buck2's dependencies, we use +reindeer.

Note that the resulting binary will be compiled without optimisations or +jemalloc, so we recommend using the +Cargo-produced binary in further development.

First, install reindeer with Cargo:

cargo install --locked --git https://github.com/facebookincubator/reindeer reindeer

Next, run the following to buckify dependencies:

cd buck2/
reindeer --third-party-dir shim/third-party/rust buckify

Build buck2 with buck2:

buck2 build //:buck2
+ + + + \ No newline at end of file diff --git a/docs/about/getting_started/index.html b/docs/about/getting_started/index.html new file mode 100644 index 0000000000000..3f28db8d0a8f8 --- /dev/null +++ b/docs/about/getting_started/index.html @@ -0,0 +1,59 @@ + + + + + +Getting Started | Buck2 + + + + + + + + +
+

Getting Started

Installing Buck2

The latest set of buck2 executables can be found under the +latest release page.

Additionally, for each bi-monthly release there is a +dotslash file that is appropriate for checkin to a +repository. This will automatically fetch the correct version and architecture +for each user, and ensures a consistent build environment for each commit in the +repo.

To get started, first install rustup, then compile the +buck2 executable:

rustup install nightly-2024-06-08
cargo +nightly-2024-06-08 install --git https://github.com/facebook/buck2.git buck2

The above commands install buck2 into a suitable directory, such as +$HOME/.cargo/bin, which you should then add to your $PATH:

Linux / macOS

export PATH=$HOME/.cargo/bin:$PATH

Windows Powershell

$Env:PATH += ";$HOME\.cargo\bin"

With Buck2 installed, you can build projects with buck2!

Windows configuration

Some of our rules use symlinks, which are disabled by default for non-admin +Windows users. You can fix that by +enabling Developer Mode.

Compiling your first project

This section covers the building of a +'hello_world' example project +that contains a simple C++ binary. If you are interested in seeing how other +languages can be built, take a look at the +prelude example project, +which contains Rust, C++, Python, and OCaml targets.

First, clone the buck2 repository and cd into the 'hello_world' project:

git clone https://github.com/facebook/buck2.git
cd buck2/examples/hello_world

buck2 init --git is all the setup you need to start building. This will use +git submodule to pull buck2-prelude +into your project:

buck2 init --git

To use another version control system, run buck2 init and manually download +buck2-prelude into prelude at +root.

buck2 init

To build the entire project, run:

Note: Requires clang and lld to be in the path

buck2 build //...

Note that this uses a +simple C++ toolchain +that requires a recent version of clang to be installed on your system. This +can be installed with any package manager (ex. apt install clang, +xcode-select --install on macOS, choco install llvm). After installing any +external tools or changing your PATH, run buck2 kill before running a build.

To list all targets available in the project, run:

buck2 targets //...

To run the main C++ binary, run:

buck2 run //:main

The newly built binary can be found with the --show-output flag:

buck2 build //:main --show-output

Output:

Build ID: 0e890477-5b7f-4829-9ffe-662e572320a0
Jobs completed: 3. Time elapsed: 0.0s.
BUILD SUCCEEDED
root//:main buck-out/v2/gen/root/9f4d83578bb24895/__main__/main

Creating your first hello_world project

This section demonstrates how to create a simple C++ 'hello_world' project.

To get started, make a new folder for your project and cd into it.

mkdir hello_world
cd hello_world

Next, run buck2 init --git to initialize the project. This command will set up +your project with git and pull in +buck2-prelude as a submodule. +Additionally, it will generate multiple files with default values.

buck2 init --git

Next, add the source code main.cpp ,

#include <iostream>
int main() {
std::cout << "Hello from a C++ Buck2 program!" << std::endl;
}

Then, define a cxx_binary in the root BUCK file:

# BUCK
cxx_binary(
name = "main",
srcs = ["main.cpp"],
link_style = "static",
)

If you try to build //:main at this point, you'll see an error about buck2 +not being able to find toolchains//:cxx.

The final step is to define the necessary toolchain targets. For that project, +you need system_cxx_toolchain and system_python_bootstrap_toolchain, which +will pick up the necessary tools (clang++, python, and so on) from the system.

# toolchains/BUCK
load("@prelude//toolchains:cxx.bzl", "system_cxx_toolchain")
load("@prelude//toolchains:python.bzl", "system_python_bootstrap_toolchain")

system_cxx_toolchain(
name = "cxx",
visibility = ["PUBLIC"],
)

system_python_bootstrap_toolchain(
name = "python_bootstrap",
visibility = ["PUBLIC"],
)

At this point, your project should have the following files:

$ tree -a -I "buck-out|prelude|.git"
|-- .buckconfig
|-- .gitmodules
|-- BUCK
|-- main.cpp
`-- toolchains
`-- BUCK

Now, you're ready to see the build in action.

To build the main C++ target, run:

buck2 build //:main

To run the main C++ target, run:

buck2 run //:main

In summary, a buck2 project requires:

  1. A .buckconfig file in the root which has a [cells] section listing out +cells
  2. A prelude directory, which contains a collection of +rules of your choice. +buck2 init will pull in the +buck2-prelude as a git +submodule by default
  3. If using the buck2-prelude, +a toolchains directory that declares relevant toolchains. We provide some +basic toolchains in +prelude/toolchains
  4. BUCK files that specify targets for your project

buck2 init --git will generate all of these with reasonable default values.

Learning More

You should now be ready to explore Buck2 for use in your own projects. You can +explore the examples +folder. Look out for more tutorials in the future.

+ + + + \ No newline at end of file diff --git a/docs/about/why/index.html b/docs/about/why/index.html new file mode 100644 index 0000000000000..e195d0bf4d025 --- /dev/null +++ b/docs/about/why/index.html @@ -0,0 +1,105 @@ + + + + + +Why Buck2 | Buck2 + + + + + + + + +
+

Why Buck2

Buck2 is a build system from Meta. This page answers the questions: +why does Buck2 exist, +what's different about Buck2, and +why use Buck2.

Why does Buck2 exist?

Meta employs a very large monorepo, consisting of a variety of programming +languages, including C++, Python, Rust, Kotlin, Swift, Objective-C, Haskell, +OCaml, and more. Google employs a different but functionally similar monorepo.

These large scale and multi-language repositories are generally beyond the +capabilities of traditional build systems like make. To optimize the build and +performance of these large systems, Facebook and Google developed their own +build systems, respectively Buck and Bazel. While the internal version of Bazel +was started first (also known as Blaze), Buck was open sourced first (back in +March 2013), followed by Bazel a few years later (March 2015).

The retroactively named Buck1 was a capable build system and is still in use +today at Meta (although many users have migrated). Buck2 is a rewrite that aims +to keep the best bits of Buck1 (with a high degree of target compatibility) but +also borrows ideas from academic +research and build systems, +including Bazel, Pants, +Shake, Tup, and more.

Following are aspects common to Buck1 and Buck2 (and in most cases, Bazel):

  • Targets that can be queried - the build is defined as a series of targets, +specified in BUCK files, that depend on other targets. This graph of targets +can be queried to understand how they relate to each other and what the +potential impact of a change might be.
  • Remote execution - the build can send actions to a set of remote servers +to be executed, increasing the parallelism significantly.
  • Multi-language composability - there can be lots of different languages in +a single build, and they can be put together. For example, you could have a +Python library that depends on a Rust library, which, in turn depends on a C +library.
  • File watching - at large enough scale, simply looking for changed files is +prohibitively expensive. Buck can integrate with +Watchman to discover which files have +changed efficiently. However, for simplicity of setup, the open-source version +defaults to using inotify or similar functionality.
  • Uses Starlark - Starlark is a deterministic Python-like language used to +specify the targets, enabling the definition of targets as literals and more +advanced manipulation/sharing.

What's different about Buck2?

Buck2 has many minor differences from Buck1, but there are a number that give +new efficiency or expressiveness that are of note (most of these are also +different from Bazel).

  • Buck2 is written in Rust - Buck1 was written in Java. One of the +advantages of using Rust is the absence of GC pauses, However, Java also has +advantages, such as better memory profiling tools.
  • Buck2 is remote execution first - local execution is considered a special +case of remote execution, in contrast to Buck1 where it was added after. That +means that things such as directory hashes can be pre-computed ready to send +to remote execution, giving efficiency benefits.
  • All Buck2 rules are written in Starlark - whereas, in Buck1, they were +written in Java as part of the binary, which makes iteration on rules much +faster.
  • The Buck2 binary is entirely language agnostic - as a consequence of +having all the rules external to the binary, the most important and complex +rule (such as in C++), don't have access to magic internal features. As a +result, features have been made available to all rules, including:
    • Dep files - the ability to declare that a +subset of the files weren't actually used, and thus not be sensitive to +changes within them.
    • Incremental actions - the ability +to have the action short-circuit some subset of the work if run again.
  • Buck2 uses a dynamic (aka monadic) graph as its underlying computation +engine - while most dependencies are specified statically, there are two +particular features that expose dynamic power to rule authors:
    • Dynamic dependencies - enable +rules to build a file then look at its contents before specifying the +dependencies and steps in future actions. Common uses are languages where +the dependency structure within a project must follow imports (e.g. Haskell, +OCaml) and distributed ThinLTO (where the best optimization plan is +generated from summaries).
    • Anonymous targets - enable rules to +create a graph that has more sharing than the original user graph. As a +result, two unrelated binaries can compile shared code only once, despite +the shared code not knowing about this commonality. This feature is useful +for rules like Swift feature resolution.
  • Transitive-sets - similar in purpose +to Bazel's depset. But, instead of +being just a memory optimization, are also wired into the dependency graph, +providing a reduction in the size of the dependency graph.
  • Buck2 is not phased - there are no target graph/action graph phases, just +a series of dependencies in a +single graph on DICE +that result in whatever the user requested. That means that Buck2 can +sometimes parallelise different phases and track changes very precisely.
  • Buck2 can integrate with the virtual filesystem +Eden - this provides good +performance, even when the file system is backed by source control fetches. +However, Eden is not required, and a normal file system will also work well.
  • The Buck2 Starlark implementation is available +as a standalone library - +this provides features such as IDE integration (both LSP and DAP bindings), +linters, typecheckers, and more. These features are integrated into Buck2 to +give a better developer experience (which is still evolving).
  • Buck2 supports configurations - (such as select) to provide +multi-platform/architecture builds, which are heavily inspired by Bazel. +Within that space, there is a number of small differences, such as +toolchain_deps.
  • Buck2 is fast - in our internal tests, we observed that Buck2 completed +builds 2x as fast as Buck1.

For a comprehensive list of benefits, see +Benefits Compared to Buck1.

Why use Buck2?

It would be delightful if you tried out Buck2! But it is early-stage software, +so users may run into unexpected issues. If you encounter an issue, please +report it via Github issues.

Buck2 is being used internally within Meta and is available as open-source +from 2023.

There are several differences between the internal and open-source versions:

  • Meta uses an internal version of remote execution with builds always hooked up +to remote execution. The open-source binding, which uses Buck2 without remote +execution, may be less polished.
  • There are some configuration differences between the open source and internal +versions. For example, file changes default to inotify in open-source, and +to Watchman internally.
  • The prelude (containing all the rules) is the same for open-source as +internal, but toolchains are not open-sourced. The required custom toolchains +may not work as well.

There are also some things that aren't quite yet finished:

  • There are not yet mechanisms to build in release mode (that should be achieved +by modifying the toolchain).
  • Windows/Mac builds are still in progress; open-source code is mostly tested on +Linux.

If none of that puts you off, give Buck2 a go!

+ + + + \ No newline at end of file diff --git a/docs/api/build/ActionErrorCtx/index.html b/docs/api/build/ActionErrorCtx/index.html new file mode 100644 index 0000000000000..aa6ca49519324 --- /dev/null +++ b/docs/api/build/ActionErrorCtx/index.html @@ -0,0 +1,25 @@ + + + + + +ActionErrorCtx type | Buck2 + + + + + + + + +
+

ActionErrorCtx type

Methods available on ActionErrorCtx to help categorize the action failure. These categorizations should be finer grain, and most likely language specific.

ActionErrorCtx.new_error_location

def ActionErrorCtx.new_error_location(
*,
file: str,
line: None | int = None
) -> ActionErrorLocation

Create a new error location, specifying a file path and an optional line number.

The file path should be either a project-relative path, or an absolute path.


ActionErrorCtx.new_sub_error

def ActionErrorCtx.new_sub_error(
*,
category: str,
message: None | str = None,
locations: None | list[ActionErrorLocation] | tuple[ActionErrorLocation, ...] = None
) -> ActionSubError

Create a new sub error, specifying an error category name, optional message, and an optional list of error locations.

The category should be finer grain error categorizations provided by the rule authors, +and tend to be language specific. These should not be any kind of shared concepts +among all errors for all languages/rules. For example, timeouts and infra errors +should not go here - buck2 tries to categorize these types of errors automatically. +An example of a finer grain error category may be the error code for rustc outputs.

The message will be emitted to the build report, and to the stderr in the error diagnostics +section.


ActionErrorCtx.stderr

ActionErrorCtx.stderr: str

The stderr of the failed action.


ActionErrorCtx.stdout

ActionErrorCtx.stdout: str

The stdout of the failed action.

+ + + + \ No newline at end of file diff --git a/docs/api/build/ActionErrorLocation/index.html b/docs/api/build/ActionErrorLocation/index.html new file mode 100644 index 0000000000000..50120cc3ec02a --- /dev/null +++ b/docs/api/build/ActionErrorLocation/index.html @@ -0,0 +1,20 @@ + + + + + +ActionErrorLocation type | Buck2 + + + + + + + + +
+

ActionErrorLocation type

Methods available on StarlarkActionErrorLocation to help with testing the error handler implementation

ActionErrorLocation.file

ActionErrorLocation.file: str

The file of the error location. This is only needed for action error handler unit testing.


ActionErrorLocation.line

ActionErrorLocation.line: None | int

The line of the error location. This is only needed for action error handler unit testing.

+ + + + \ No newline at end of file diff --git a/docs/api/build/ActionSubError/index.html b/docs/api/build/ActionSubError/index.html new file mode 100644 index 0000000000000..4dda916c2244f --- /dev/null +++ b/docs/api/build/ActionSubError/index.html @@ -0,0 +1,20 @@ + + + + + +ActionSubError type | Buck2 + + + + + + + + +
+

ActionSubError type

Methods available on StarlarkActionSubError to help with testing the error handler implementation

ActionSubError.category

ActionSubError.category: str

The category name of this sub error. This function is only needed for action error handler unit testing.


ActionSubError.locations

ActionSubError.locations: None | list[ActionErrorLocation]

Any locations associated with this sub error. This function is only needed for action error handler unit testing.


ActionSubError.message

ActionSubError.message: None | str

The optional message associated with this sub error. This function is only needed for action error handler unit testing.

+ + + + \ No newline at end of file diff --git a/docs/api/build/StackFrame/index.html b/docs/api/build/StackFrame/index.html new file mode 100644 index 0000000000000..6a722ec13f68f --- /dev/null +++ b/docs/api/build/StackFrame/index.html @@ -0,0 +1,20 @@ + + + + + +StackFrame type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/build/actions/index.html b/docs/api/build/actions/index.html new file mode 100644 index 0000000000000..eddf10b1011bb --- /dev/null +++ b/docs/api/build/actions/index.html @@ -0,0 +1,84 @@ + + + + + +actions type | Buck2 + + + + + + + + +
+

actions type

actions.anon_target

def actions.anon_target(
rule: "function",
attrs: dict[str, typing.Any]
) -> anon_target

An anonymous target is defined by the hash of its attributes, rather than its name. During analysis, rules can define and access the providers of anonymous targets before producing their own providers. Two distinct rules might ask for the same anonymous target, sharing the work it performs.

For more details see https://buck2.build/docs/rule_authors/anon_targets/


actions.anon_targets

def actions.anon_targets(
rules: list[("function", dict[str, typing.Any])] | tuple[("function", dict[str, typing.Any]), ...]
) -> anon_targets

Generate a series of anonymous targets.


actions.artifact_tag

def actions.artifact_tag() -> artifact_tag

Allocate a new input tag. Used with the dep_files argument to run.


actions.assert_short_path

def actions.assert_short_path(artifact: artifact, short_path: str) -> artifact

Generate a promise artifact that has short path accessible on it. The short path's correctness will be asserted during analysis time.

TODO - we would prefer the API to be ctx.actions.anon_target(xxx).artifact("foo", short_path=yyy), but +we cannot support this until we can get access to the AnalysisContext without passing it into this method.


actions.cas_artifact

def actions.cas_artifact(
output: artifact | output_artifact | str,
digest: str,
use_case: str,
/,
*,
expires_after_timestamp: int,
is_executable: bool = False,
is_tree: bool = False,
is_directory: bool = False
) -> artifact

Downloads a CAS artifact to an output

  • digest: must look like SHA1:SIZE
  • use_case: your RE use case
  • expires_after_timestamp: must be a UNIX timestamp. Your digest's TTL must exceed this +timestamp. Your build will break once the digest expires, so make sure the expiry is long +enough (preferably, in years).
  • is_executable: indicates the resulting file should be marked with executable +permissions
  • is_tree: digest must point to a blob of type +RE.Tree
  • is_directory: digest must point to a blob of type +RE.Directory

actions.copied_dir

def actions.copied_dir(
output: artifact | output_artifact | str,
srcs: dict[str, artifact],
/
) -> artifact

Returns an artifact which is a directory containing copied files. The srcs must be a dictionary of path (as string, relative to the result directory) to the bound artifact, which will be laid out in the directory.


actions.copy_dir

def actions.copy_dir(
dest: artifact | output_artifact | str,
src: artifact,
/
) -> artifact

Make a copy of a directory.


actions.copy_file

def actions.copy_file(
dest: artifact | output_artifact | str,
src: artifact,
/
) -> artifact

Copies the source artifact to the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The copy works for files or directories.


actions.declare_output

def actions.declare_output(
prefix: str,
filename: str = _,
/,
*,
dir: bool = False
) -> artifact

Returns an unbound artifact, representing where a file will go, which must be bound before analysis terminates. The usual way of binding an artifact is with ctx.actions.run. As an example:

my_output = ctx.actions.declare_output("output.o")
ctx.actions.run(["gcc", "-c", my_source, "-o", my_output.as_output()], category = "compile")

This snippet declares an output with the filename output.o (it will be located in the output directory +for this target). Note the use of as_output to tag this artifact as being an output in +the action. After binding the artifact you can subsequently use my_output as either an +input for subsequent actions, or as the result in a provider.

Artifacts from a single target may not have the same name, so if you then want a second +artifact also named output.o you need to supply a prefix, e.g. +ctx.actions.declare_output("directory", "output.o"). The artifact will still report having +name output.o, but will be located at directory/output.o.

The dir argument should be set to True if the binding will be a directory.


actions.digest_config

def actions.digest_config() -> digest_config

Obtain this daemon's digest configuration. This allows rules to discover what digests the daemon may be able to e.g. defer download because they conform to its RE backend's expected digest format.


actions.download_file

def actions.download_file(
output: artifact | output_artifact | str,
url: str,
/,
*,
vpnless_url: None | str = None,
sha1: None | str = None,
sha256: None | str = None,
is_executable: bool = False,
is_deferrable: bool = False
) -> artifact

Downloads a URL to an output (filename as string or output artifact). The file at the URL must have the given sha1 or the command will fail. The optional parameter is_executable indicates whether the resulting file should be marked with executable permissions. (Meta-internal) The optional parameter vpnless_url indicates a url from which this resource can be downloaded off VPN; this has the same restrictions as url above.


actions.dynamic_output

def actions.dynamic_output(
*,
dynamic: list[artifact] | tuple[artifact, ...],
inputs: list[artifact] | tuple[artifact, ...] = _,
outputs: list[output_artifact] | tuple[output_artifact, ...],
f: typing.Callable[[typing.Any, dict[artifact, artifact_value], dict[artifact, artifact]], None]
) -> None

dynamic_output allows a rule to use information that was not available when the rule was first run at analysis time. Examples include things like Distributed ThinLTO (where the index file is created by another action) or OCaml builds (where the dependencies are created by ocamldeps).

The arguments are:

  • dynamic - a list of artifacts whose values will be available in the function. These will +be built before the function is run.
  • inputs - parameter is ignored.
  • outputs - a list of unbound artifacts (created with declare_artifact) which will be +bound by the function.
  • The function argument is given 3 arguments:
    • ctx (context) - which is the same as that passed to the initial rule analysis.
    • artifacts - using one of the artifacts from dynamic (example usage: +artifacts[artifact_from_dynamic]) gives an artifact value containing the methods +read_string, read_lines, and read_json to obtain the values from the disk in +various formats. Anything too complex should be piped through a Python script for +transformation to JSON.
    • outputs - using one of the artifacts from the dynamic_output's outputs (example +usage: outputs[artifact_from_dynamic_output_outputs]) gives an unbounded artifact. The +function argument must use its outputs argument to bind output artifacts, rather than +reusing artifacts from the outputs passed into dynamic_output directly.
  • The function must call ctx.actions (probably ctx.actions.run) to bind all outputs. It +can examine the values of the dynamic variables and depends on the inputs.

Besides dynamic dependencies, there is a second use case for dynamic_output: say that you +have some output artifact, and that the analysis to produce the action that outputs that +artifact is expensive, ie takes a lot of CPU time; you would like to skip that work in +builds that do not actually use that artifact.

This can be accomplished by putting the analysis for that artifact behind a dynamic_output +with an empty dynamic list. The dynamic_output's function will not be run unless one of +the actions it outputs is actually requested as part of the build.


actions.dynamic_output_new

def actions.dynamic_output_new(dynamic_actions: DynamicAction, /) -> None

New version of dynamic_output.

This is work in progress, and will eventually replace the old dynamic_output.


actions.run

def actions.run(
arguments: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,
/,
*,
category: str,
identifier: None | str = None,
env: dict[str, artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _,
local_only: bool = False,
prefer_local: bool = False,
prefer_remote: bool = False,
low_pass_filter: bool = True,
always_print_stderr: bool = False,
weight: int = _,
weight_percentage: int = _,
dep_files: dict[str, artifact_tag] = _,
metadata_env_var: str = _,
metadata_path: str = _,
no_outputs_cleanup: bool = False,
allow_cache_upload: bool = False,
allow_dep_file_cache_upload: bool = False,
force_full_hybrid_if_capable: bool = False,
exe: RunInfo | WorkerRunInfo = _,
unique_input_inodes: bool = False,
error_handler: typing.Callable = _,
remote_execution_dependencies: list[dict[str, str]] = []
) -> None

Runs a command

  • arguments: must be of type cmd_args, or a type convertible to such (such as a list of +strings and artifacts) and must contain at least one .as_output() artifact
  • category: category and identifier - when used together, identify the action in Buck2's +event stream, and must be unique for a given target
  • weight: used to note how heavy the command is and will typically be set to a higher +value to indicate that less such commands should be run in parallel (if running locally)
  • no_outputs_cleanup: if this flag is set then Buck2 won't clean the outputs of a previous +build that might be present on a disk; in which case, command from arguments should be +responsible for the cleanup (that is useful, for example, when an action is supporting +incremental mode and its outputs are based on result from a previous build)
  • metadata_env_var and meadata_path should be used together: both set or both unset
    • metadata_path: defines a path relative to the result directory for a file with +action metadata, which will be created right before the command will be run.
    • Metadata contains the path relative to the Buck2 project root and hash digest for +every action input (this excludes symlinks as they could be resolved by a user script +if needed). The resolved path relative to the Buck2 project for the metadata file will +be passed to command from arguments, via the environment variable, with its name set +by metadata_env_var
    • Both metadata_env_var and metadata_path are useful when making actions behave in +an incremental manner (for details, see Incremental +Actions)
  • The prefer_local, prefer_remote and local_only options allow selecting where the +action should run if the executor selected for this target is a hybrid executor.
    * All those options disable concurrent execution: the action will run on the preferred
    platform first (concurrent execution only happens with a "full" hybrid executor).
    * Execution may be retried on the "non-preferred" platform if it fails due to a
    transient error, except for `local_only`, which does not allow this.
    * If the executor selected is a remote-only executor and you use `local_only`, that's an
    error. The other options will not raise errors.
    * Setting more than one of those options is an error.
    * Those flags behave the same way as the equivalent `--prefer-remote`, `--prefer-local`
    and `--local-only` CLI flags. The CLI flags take precedence.
    * The `force_full_hybrid_if_capable` option overrides the `use_limited_hybrid` hybrid.
    The options listed above take precedence if set.
  • remote_execution_dependencies: list of dependencies which is passed to Remote Execution. +Each dependency is dictionary with the following keys:
    • smc_tier: name of the SMC tier to call by RE Scheduler.
    • id: name of the dependency.

When actions execute, they'll do so from the root of the repository. As they execute, +actions have exclusive access to their output directory.

Actions also get exclusive access to a "scratch" path that is exposed via the environment +variable BUCK_SCRATCH_PATH. This path is expressed as a path relative to the working +directory (i.e. relative to the project). This path is guaranteed to exist when the action +executes.

When actions run locally, the scratch path is also used as the TMPDIR.


def actions.symlink_file(
dest: artifact | output_artifact | str,
src: artifact,
/
) -> artifact

Creates a symlink to the source artifact at the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The symlink works for files or directories.


actions.symlinked_dir

def actions.symlinked_dir(
output: artifact | output_artifact | str,
srcs: dict[str, artifact],
/
) -> artifact

Returns an artifact that is a directory containing symlinks. The srcs must be a dictionary of path (as string, relative to the result directory) to bound artifact, which will be laid out in the directory.


actions.tset

def actions.tset(
definition: transitive_set_definition,
/,
value = _,
children: typing.Iterable = _
) -> transitive_set

Creates a new transitive set. For details, see https://buck2.build/docs/rule_authors/transitive_sets/.


actions.write

def actions.write(
output: artifact | output_artifact | str,
content: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,
/,
*,
is_executable: bool = False,
allow_args: bool = False,
with_inputs: bool = False,
absolute: bool = False
) -> artifact | (artifact, list[artifact])

Returns an artifact whose contents are content

  • is_executable (optional): indicates whether the resulting file should be marked with +executable permissions
  • allow_args (optional): must be set to True if you want to write parameter arguments to +the file (in particular, macros that write to file)
    • If it is true, the result will be a pair of the artifact containing content and a +list of artifact values that were written by macros, which should be used in hidden +fields or similar
  • absolute (optional): if set, this action will produce absolute paths in its output when +rendering artifact paths. You generally shouldn't use this if you plan to use this action +as the input for anything else, as this would effectively result in losing all shared +caching.

The content is often a string, but can be any ArgLike value. This is occasionally useful +for generating scripts to run as a part of another action. cmd_args in the content are +newline separated unless another delimiter is explicitly specified.


actions.write_json

def actions.write_json(
output: artifact | output_artifact | str,
content: None | artifact | bool | cell_root | cmd_args | enum | int | label | label_relative_path | output_artifact | project_root | record | resolved_macro | str | tagged_command_line | tagged_value | target_label | transitive_set_args_projection | transitive_set_json_projection | write_json_cli_args | list[typing.Any] | tuple | dict[typing.Any, typing.Any] | struct(..) | RunInfo | provider,
/,
*,
with_inputs: bool = False,
pretty: bool = False,
absolute: bool = False
) -> artifact | write_json_cli_args

Returns an artifact whose contents are content written as a JSON value.

  • output: can be a string, or an existing artifact created with declare_output
  • content: must be composed of the basic json types (boolean, number, string, list/tuple, +dictionary) plus artifacts and command lines
    • An artifact will be written as a string containing the path
    • A command line will be written as a list of strings, unless joined=True is set, in +which case it will be a string
  • If you pass with_inputs = True, you'll get back a cmd_args that expands to the JSON +file but carries all the underlying inputs as dependencies (so you don't have to use, for +example, hidden for them to be added to an action that already receives the JSON file)
  • pretty (optional): write formatted JSON (defaults to False)
  • absolute (optional): if set, this action will produce absolute paths in its output when +rendering artifact paths. You generally shouldn't use this if you plan to use this action +as the input for anything else, as this would effectively result in losing all shared +caching. (defaults to False)
+ + + + \ No newline at end of file diff --git a/docs/api/build/anon_target/index.html b/docs/api/build/anon_target/index.html new file mode 100644 index 0000000000000..e2340e2884fe1 --- /dev/null +++ b/docs/api/build/anon_target/index.html @@ -0,0 +1,21 @@ + + + + + +anon_target type | Buck2 + + + + + + + + +
+

anon_target type

Accessors to the promise of the anon rule and the promised artifacts associated with the rule.

anon_target.artifact

def anon_target.artifact(name: str)

Gets a specific StarlarkPromiseArtifact by name. Returns an error if the name was not found in the registered promise artifacts for the anon target.


anon_target.artifacts

def anon_target.artifacts()

Returns a dict where the key is the promise artifact's name, and the value is the StarlarkPromiseArtifact.

To get a promise artifact where the short path is accessible, call ctx.actions.assert_short_path(...) and +pass in the artifact retrieved from this dict.


anon_target.promise

anon_target.promise: promise

Returns the promise that maps to the result of the anon rule.

+ + + + \ No newline at end of file diff --git a/docs/api/build/anon_targets/index.html b/docs/api/build/anon_targets/index.html new file mode 100644 index 0000000000000..0fd9d79ba9edb --- /dev/null +++ b/docs/api/build/anon_targets/index.html @@ -0,0 +1,20 @@ + + + + + +anon_targets type | Buck2 + + + + + + + + +
+

anon_targets type

Accessors to the all the anon targets created, as well as the joined promise of these targets.

anon_targets.anon_targets

anon_targets.anon_targets: typing.Any

Returns a list of StarlarkAnonTargets.


anon_targets.promise

anon_targets.promise: promise

Returns the promise that maps to the result of the joined anon rules.

+ + + + \ No newline at end of file diff --git a/docs/api/build/artifact/index.html b/docs/api/build/artifact/index.html new file mode 100644 index 0000000000000..49f415c7172bd --- /dev/null +++ b/docs/api/build/artifact/index.html @@ -0,0 +1,24 @@ + + + + + +artifact type | Buck2 + + + + + + + + +
+

artifact type

A single input or output file for an action.

There is no .parent method on artifact, but in most cases +cmd_args(my_artifact, parent = 1) can be used to similar effect.

artifact.as_output

def artifact.as_output() -> output_artifact

Returns a StarlarkOutputArtifact instance, or fails if the artifact is either an Artifact, or is a bound Artifact (You cannot bind twice)


artifact.basename

artifact.basename: str

The base name of this artifact. e.g. for an artifact at foo/bar, this is bar


artifact.extension

artifact.extension: str

The file extension of this artifact. e.g. for an artifact at foo/bar.sh, this is .sh. If no extension is present, "" is returned.


artifact.is_source

artifact.is_source: bool

Whether the artifact represents a source file


artifact.owner

artifact.owner: None | label

The Label of the rule that originally created this artifact. May also be None in the case of source files, or if the artifact has not be used in an action, or if the action was not created by a rule.


artifact.project

def artifact.project(
path: str,
/,
*,
hide_prefix: bool = False
) -> artifact

Create an artifact that lives at path relative from this artifact.

For example, if artifact foo is a directory containing a file bar, then foo.project("bar") +yields the file bar. It is possible for projected artifacts to hide the prefix in order to +have the short name of the resulting artifact only contain the projected path, by passing +hide_prefix = True to project().


artifact.short_path

artifact.short_path: str

The interesting part of the path, relative to somewhere in the output directory. For an artifact declared as foo/bar, this is foo/bar.


artifact.with_associated_artifacts

def artifact.with_associated_artifacts(artifacts: list[artifact]) -> artifact

Returns a StarlarkArtifact instance which is identical to the original artifact, but with potentially additional artifacts. The artifacts must be bound.


artifact.without_associated_artifacts

def artifact.without_associated_artifacts() -> artifact

Returns a StarlarkArtifact instance which is identical to the original artifact, except with no associated artifacts

+ + + + \ No newline at end of file diff --git a/docs/api/build/attrs/index.html b/docs/api/build/attrs/index.html new file mode 100644 index 0000000000000..8ccff37c2899c --- /dev/null +++ b/docs/api/build/attrs/index.html @@ -0,0 +1,24 @@ + + + + + +attrs type | Buck2 + + + + + + + + +
+

attrs type

This type is available as a global attrs symbol, to allow the definition of attributes to the rule function.

As an example:

rule(impl = _impl, attrs = {"foo": attrs.string(), "bar": attrs.int(default = 42)})

Most attributes take at least two optional parameters:

  • A doc parameter, which specifies documentation for the attribute.

  • A default parameter, which if present specifies the default value for the attribute if omitted. +If there is no default, the user of the rule must supply that parameter.

Each attribute defines what values it accepts from the user, and which values it gives to the rule. +For simple types like attrs.string these are the same, for more complex types like attrs.dep these +are different (string from the user, dependency to the rule).

attrs.any

def attrs.any(*, doc: str = "", default = _) -> attribute

Takes most builtin literals and passes them to the rule as a string. Discouraged, as it provides little type safety and destroys the structure.


attrs.arg

def attrs.arg(
*,
json: bool = False,
default = _,
doc: str = "",
anon_target_compatible: bool = False
) -> attribute

Takes a command line argument from the user and supplies a cmd_args compatible value to the rule. The argument may contain special macros such as $(location :my_target) or $(exe :my_target) which will be replaced with references to those values in the rule. Takes in an optional anon_target_compatible flag, which indicates whether the args can be passed into anon targets. Note that there is a slight memory hit when using this flag.


attrs.bool

def attrs.bool(*, default = _, doc: str = "") -> attribute

Takes a boolean and passes it to the rule as a boolean.


attrs.configuration_label

def attrs.configuration_label(*, doc: str = "") -> attribute

attrs.configured_dep

def attrs.configured_dep(
*,
providers: list[typing.Any] | tuple = [],
default = _,
doc: str = ""
) -> attribute

attrs.default_only

def attrs.default_only(
inner: attribute,
/,
*,
doc: str = ""
) -> attribute

Rejects all values and uses the default for the inner argument. Often used to resolve dependencies, which otherwise can't be resolved inside a rule.

attrs.default_only(attrs.dep(default = "foo//my_package:my_target"))

attrs.dep

def attrs.dep(
*,
providers: list[typing.Any] | tuple = [],
pulls_plugins: list[typing.Any] | tuple = [],
pulls_and_pushes_plugins: all_plugins | list[typing.Any] | tuple = _,
default = _,
doc: str = ""
) -> attribute

Takes a target from the user, as a string, and supplies a dependency to the rule. A target can be specified as an absolute dependency foo//bar:baz, omitting the cell (//bar:baz) or omitting the package name (:baz).

If supplied the providers argument ensures that specific providers will be present +on the dependency.


attrs.dict

def attrs.dict(
key: attribute,
value: attribute,
*,
sorted: bool = False,
default = _,
doc: str = ""
) -> attribute

Takes a dict from the user, supplies a dict to the rule.


attrs.enum

def attrs.enum(
variants: list[str] | tuple[str, ...],
/,
*,
default = _,
doc: str = ""
) -> attribute

Takes a string from one of the variants given, and gives that string to the rule. Strings are matched case-insensitively, and always passed to the rule lowercase.


attrs.exec_dep

def attrs.exec_dep(
*,
providers: list[typing.Any] | tuple = [],
default = _,
doc: str = ""
) -> attribute

Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will transition to the execution platform. Use exec_dep if you plan to execute things from this dependency as part of the compilation.


attrs.int

def attrs.int(*, default = _, doc: str = "") -> attribute

Takes an int from the user, supplies an int to the rule.


attrs.label

def attrs.label(*, default = _, doc: str = "") -> attribute

Takes a target (as per deps) and passes a label to the rule. Validates that the target exists, but does not introduce a dependency on it.


attrs.list

def attrs.list(
inner: attribute,
/,
*,
default = _,
doc: str = ""
) -> attribute

Takes a list from the user, supplies a list to the rule.


attrs.named_set

def attrs.named_set(
value_type: attribute,
/,
*,
sorted: bool = False,
default = _,
doc: str = ""
) -> attribute

attrs.one_of

def attrs.one_of(*args: attribute, default = _, doc: str = "") -> attribute

Given a list of alternative attributes, selects the first that matches and gives that to the rule.


attrs.option

def attrs.option(
inner: attribute,
/,
*,
default = _,
doc: str = ""
) -> attribute

Takes a value that may be None or some inner type, and passes either None or the value corresponding to the inner to the rule. Often used to make a rule optional:

attrs.option(attr.string(), default = None)

attrs.plugin_dep

def attrs.plugin_dep(
*,
kind,
default = _,
doc: str = ""
) -> attribute

attrs.query

def attrs.query(*, doc: str = "") -> attribute

attrs.regex

def attrs.regex(*, default = _, doc: str = "") -> attribute

Currently an alias for attrs.string.


attrs.set

def attrs.set(
value_type: attribute,
/,
*,
sorted: bool = False,
default = _,
doc: str = ""
) -> attribute

attrs.source

def attrs.source(
*,
allow_directory: bool = False,
default = _,
doc: str = ""
) -> attribute

Takes a source file from the user, supplies an artifact to the rule. The source file may be specified as a literal string (representing the path within this package), or a target (which must have a DefaultInfo with a default_outputs value).


attrs.split_transition_dep

def attrs.split_transition_dep(
*,
providers: list[typing.Any] | tuple = [],
cfg,
default = _,
doc: str = ""
) -> attribute

attrs.string

def attrs.string(
*,
default = _,
validate = _,
doc: str = ""
) -> attribute

Takes a string from the user, supplies a string to the rule.


attrs.toolchain_dep

def attrs.toolchain_dep(
*,
providers: list[typing.Any] | tuple = [],
default = _,
doc: str = ""
) -> attribute

Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will be a toolchain dependency, meaning that its execution platform dependencies will be used to select the execution platform for this rule.


attrs.transition_dep

def attrs.transition_dep(
*,
providers: list[typing.Any] | tuple = [],
cfg,
default = _,
doc: str = ""
) -> attribute

attrs.tuple

def attrs.tuple(*args: attribute, default = _, doc: str = "") -> attribute

Takes a tuple of values and gives a tuple to the rule.


attrs.versioned

def attrs.versioned(value_type: attribute, *, doc: str = "") -> attribute
+ + + + \ No newline at end of file diff --git a/docs/api/build/buck_regex/index.html b/docs/api/build/buck_regex/index.html new file mode 100644 index 0000000000000..a3b20138c67e8 --- /dev/null +++ b/docs/api/build/buck_regex/index.html @@ -0,0 +1,20 @@ + + + + + +buck_regex type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/build/cmd_args/index.html b/docs/api/build/cmd_args/index.html new file mode 100644 index 0000000000000..2d8379c59f86f --- /dev/null +++ b/docs/api/build/cmd_args/index.html @@ -0,0 +1,23 @@ + + + + + +cmd_args type | Buck2 + + + + + + + + +
+

cmd_args type

The cmd_args type is created by cmd_args() and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value. All these methods operate mutably on cmd and return that value too.

cmd_args.add

def cmd_args.add(*args) -> cmd_args

A list of arguments to be added to the command line, which may including cmd_args, artifacts, strings, RunInfo or lists thereof. Note that this operation mutates the input cmd_args.


cmd_args.copy

def cmd_args.copy() -> cmd_args

Returns a copy of the cmd_args such that any modifications to the original or the returned value will not impact each other. Note that this is a shallow copy, so any inner cmd_args can still be modified.


cmd_args.inputs

cmd_args.inputs: command_line_inputs

Collect all the inputs (including hidden) referenced by this command line. The output can be compared for equality and have its len requested to see whether there are any inputs, but is otherwise mostly opaque.


cmd_args.outputs

cmd_args.outputs: list[output_artifact]

Collect all the outputs (including hidden) referenced by this command line.


cmd_args.relative_to

def cmd_args.relative_to(
directory: artifact | cell_root | project_root,
/,
*,
parent: int = _
) -> cmd_args

Make all artifact paths relative to a given location. Typically used when the command you are running changes directory.

By default, the paths are relative to the artifacts themselves (equivalent to +parent = 0). Use parent to make the paths relative to an ancestor directory. +For example parent = 1 would make all paths relative to the containing dirs +of any artifacts in the cmd_args.

dir = symlinked_dir(...)
script = [
cmd_args(cmd_args(dir, format = "cd {}"),
original_script.relative_to(dir)
]
+ + + + \ No newline at end of file diff --git a/docs/api/build/configured_target_label/index.html b/docs/api/build/configured_target_label/index.html new file mode 100644 index 0000000000000..752d102fb0f66 --- /dev/null +++ b/docs/api/build/configured_target_label/index.html @@ -0,0 +1,20 @@ + + + + + +configured_target_label type | Buck2 + + + + + + + + +
+

configured_target_label type

configured_target_label.cell

configured_target_label.cell: str

configured_target_label.config

def configured_target_label.config() -> configuration

configured_target_label.name

configured_target_label.name: str

configured_target_label.package

configured_target_label.package: str

configured_target_label.path

configured_target_label.path: typing.Any

configured_target_label.raw_target

def configured_target_label.raw_target() -> target_label

Returns the unconfigured underlying target label.


configured_target_label.with_sub_target

def configured_target_label.with_sub_target(
subtarget_name: str | list[str] = _
) -> label

Converts a ConfiguredTargetLabel into its corresponding Label given the subtarget name which is a list for each layer of subtarget

Sample usage:

def _impl_sub_target(ctx):
owners = ctx.cquery().owner("bin/TARGETS.fixture")
for owner in owners:
configured_label = owner.label
ctx.output.print(configured_label.with_sub_target())
ctx.output.print(configured_label.with_sub_target("subtarget1"))
ctx.output.print(configured_label.with_sub_target(["subtarget1", "subtarget2"]))
+ + + + \ No newline at end of file diff --git a/docs/api/build/context/index.html b/docs/api/build/context/index.html new file mode 100644 index 0000000000000..876972338da8b --- /dev/null +++ b/docs/api/build/context/index.html @@ -0,0 +1,20 @@ + + + + + +context type | Buck2 + + + + + + + + +
+

context type

The type used for defining rules, usually bound as ctx. Usually the sole argument to the impl argument of the rule function.

def _impl_my_rule(ctx: AnalysisContext) -> ["provider"]:
return [DefaultInfo()]
my_rule = rule(impl = _impl_my_rule, attrs = {})

context.actions

context.actions: actions

Returns an actions value containing functions to define actual actions that are run. See the actions type for the operations that are available.


context.attrs

context.attrs: struct(..)

Returns the attributes of the target as a Starlark struct with a field for each attribute, which varies per rule. As an example, given a rule with the attrs argument of {"foo": attrs.string()}, this field will be a struct containing a field foo of type string.


context.label

context.label: None | label

Returns a label representing the target, or None if being invoked from a dynamic_output in Bxl.


context.plugins

context.plugins: AnalysisPlugins

An opaque value that can be indexed with a plugin kind to get a list of the available plugin deps of that kind. The rule must set an appropriate value on uses_plugins in its declaration.

+ + + + \ No newline at end of file diff --git a/docs/api/build/dependency/index.html b/docs/api/build/dependency/index.html new file mode 100644 index 0000000000000..903f52b75f015 --- /dev/null +++ b/docs/api/build/dependency/index.html @@ -0,0 +1,20 @@ + + + + + +dependency type | Buck2 + + + + + + + + +
+

dependency type

Dependency type. In Starlark typing it can be represented with Dependency global.

dependency.get

def dependency.get(index) -> None | provider

Gets a provider by indexing on a ProviderCallable object.

e.g.

FooInfo = provider(fields=["bar"])
....
collection.get(FooInfo) # None if absent, a FooInfo instance if present

dependency.label

dependency.label: label

dependency.providers

dependency.providers: list[typing.Any]

dependency.sub_target

def dependency.sub_target(subtarget: str, /) -> dependency

Obtain the dependency representing a subtarget. In most cases you will want to use x[DefaultInfo].sub_targets["foo"] to get the providers of the subtarget, but if you need a real Dependency type (e.g. for use with ctx.action.anon_target) then use this method.

+ + + + \ No newline at end of file diff --git a/docs/api/build/digest_config/index.html b/docs/api/build/digest_config/index.html new file mode 100644 index 0000000000000..51be528af5962 --- /dev/null +++ b/docs/api/build/digest_config/index.html @@ -0,0 +1,20 @@ + + + + + +digest_config type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/build/globals/index.html b/docs/api/build/globals/index.html new file mode 100644 index 0000000000000..f46dec628f5c0 --- /dev/null +++ b/docs/api/build/globals/index.html @@ -0,0 +1,74 @@ + + + + + +globals | Buck2 + + + + + + + + +
+

globals

Global method for error handling.

ActionErrorCtx

ActionErrorCtx: type

ActionErrorLocation

ActionErrorLocation: type

ActionSubError

ActionSubError: type

AnalysisActions

AnalysisActions: type

AnalysisContext

AnalysisContext: type

AnonTarget

AnonTarget: type

AnonTargets

AnonTargets: type

Artifact

Artifact: type

ArtifactTag

ArtifactTag: type

ArtifactValue

ArtifactValue: type

Attr

Attr: type

CellPath

CellPath: type

CellRoot

CellRoot: type

CommandExecutorConfig

def CommandExecutorConfig(
*,
local_enabled: bool,
remote_enabled: bool,
remote_cache_enabled: None | bool = None,
remote_dep_file_cache_enabled: bool = False,
remote_execution_properties = None,
remote_execution_action_key = None,
remote_execution_max_input_files_mebibytes: None | int = None,
remote_execution_queue_time_threshold_s: None | int = None,
remote_execution_use_case = None,
use_limited_hybrid: bool = False,
allow_limited_hybrid_fallbacks: bool = False,
allow_hybrid_fallbacks_on_failure: bool = False,
use_windows_path_separators: bool = False,
use_persistent_workers: bool = False,
allow_cache_uploads: bool = False,
max_cache_upload_mebibytes: None | int = None,
experimental_low_pass_filter: bool = False,
remote_output_paths: None | str = None,
remote_execution_resource_units: None | int = None,
remote_execution_dependencies: list[dict[str, str]] = []
) -> command_executor_config

Contains configurations for how actions should be executed

.type attribute

Produces "command_executor_config"

Details

  • local_enabled : Whether to use local execution for this execution platform. +If both remote_enabled and local_enabled are True, we will use the hybrid executor
  • remote_enabled: Whether to use remote execution for this execution platform
  • remote_cache_enabled: Whether to query RE caches
  • remote_execution_properties: Properties for remote execution for this platform
  • remote_execution_action_key: A component to inject into the action key +This should typically used to inject variability into the action key so that +it's different across e.g. build modes (RE uses the action key for things like expected memory utilization)
  • remote_execution_max_input_files_mebibytes: The maximum input file size (in bytes) that remote execution can support
  • remote_execution_queue_time_threshold_s: The maximum time in seconds we are willing to wait +in the RE queue for remote execution to start running our action
  • remote_execution_use_case: The use case to use when communicating with RE
  • use_limited_hybrid: Whether to use the limited hybrid executor
  • allow_limited_hybrid_fallbacks: Whether to allow fallbacks
  • allow_hybrid_fallbacks_on_failure: Whether to allow fallbacks when the result is failure (i.e. the command failed on the primary, but the infra worked)
  • use_windows_path_separators: Whether to use Windows path separators in command line arguments
  • use_persistent workers: Whether to use persistent workers for local execution if they are available
  • allow_cache_uploads: Whether to upload local actions to the RE cache
  • max_cache_upload_mebibytes: Maximum size to upload in cache uploads
  • experimental_low_pass_filter: Whether to use the experimental low pass filter
  • remote_output_paths: How to express output paths to RE
  • remote_execution_resource_units: The resources (eg. GPUs) to use for remote execution
  • remote_execution_dependencies: Dependencies for remote execution for this platform

ConfigurationInfo

def ConfigurationInfo(
*,
constraints: dict[target_label, ConstraintValueInfo],
values: dict[str, str]
) -> ConfigurationInfo

Provider that signals that a rule contains configuration info. This is used both as part of defining configurations (platform(), constraint_value()) and defining whether a target "matches" a configuration or not (config_setting(), constraint_value())

.type attribute

Produces "ConfigurationInfo"

Details

Provides a number of fields that can be accessed:

  • constraints: dict[target_label, ConstraintValueInfo] - field

  • values: dict[str, str] - field


ConfiguredProvidersLabel

ConfiguredProvidersLabel: type

ConfiguredTargetLabel

ConfiguredTargetLabel: type

ConstraintSettingInfo

def ConstraintSettingInfo(*, label: target_label) -> ConstraintSettingInfo

Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_setting() target.

.type attribute

Produces "ConstraintSettingInfo"

Details

Provides a number of fields that can be accessed:

  • label: target_label - field

ConstraintValueInfo

def ConstraintValueInfo(
*,
setting: ConstraintSettingInfo,
label: target_label
) -> ConstraintValueInfo

Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_value() target.

.type attribute

Produces "ConstraintValueInfo"

Details

Provides a number of fields that can be accessed:

  • setting: ConstraintSettingInfo - field

  • label: target_label - field


DefaultInfo

def DefaultInfo(
default_output: None | artifact = None,
default_outputs: None | list[artifact] = None,
other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _,
sub_targets: dict[str, typing.Any] = _
) -> DefaultInfo

A provider that all rules' implementations must return

.type attribute

Produces "DefaultInfo"

Details

In many simple cases, this can be inferred for the user.

Example of a rule's implementation function and how these fields are used by the framework:

# //foo_binary.bzl
def impl(ctx):
ctx.action.run([ctx.attrs._cc[RunInfo], "-o", ctx.attrs.out.as_output()] + ctx.attrs.srcs)
ctx.action.run([
ctx.attrs._strip[RunInfo],
"--binary",
ctx.attrs.out,
"--stripped-out",
ctx.attrs.stripped.as_output(),
"--debug-symbols-out",
ctx.attrs.debug_info.as_output(),
])
return [
DefaultInfo(
sub_targets = {
"stripped": [
DefaultInfo(default_outputs = [ctx.attrs.stripped, ctx.attrs.debug_info]),
],
},
default_output = ctx.attrs.out,
]

foo_binary = rule(
impl=impl,
attrs={
"srcs": attrs.list(attrs.source()),
"out": attrs.output(),
"stripped": attrs.output(),
"debug_info": attrs.output(),
"_cc": attrs.dep(default="//tools:cc", providers=[RunInfo]),
"_strip_script": attrs.dep(default="//tools:strip", providers=[RunInfo])
)

def foo_binary_wrapper(name, srcs):
foo_binary(
name = name,
srcs = src,
out = name,
stripped = name + ".stripped",
debug_info = name + ".debug_info",
)

# //subdir/BUCK
load("//:foo_binary.bzl", "foo_binary_wrapper")

genrule(name = "gen_stuff", ...., default_outs = ["foo.cpp"])

# ":gen_stuff" pulls the default_outputs for //subdir:gen_stuff
foo_binary_wrapper(name = "foo", srcs = glob(["*.cpp"]) + [":gen_stuff"])

# Builds just 'foo' binary. The strip command is never invoked.
$ buck build //subdir:foo

# builds the 'foo' binary, because it is needed by the 'strip' command. Ensures that
# both the stripped binary and the debug symbols are built.
$ buck build //subdir:foo[stripped]

Provides a number of fields that can be accessed:

  • sub_targets: dict[str, provider_collection] - A mapping of names to ProviderCollections. The keys are used when resolving the ProviderName portion of a ProvidersLabel in order to access the providers for a subtarget, such as when doing buck2 build cell//foo:bar[baz]. Just like any ProviderCollection, this collection must include at least a DefaultInfo provider. The subtargets can have their own subtargets as well, which can be accessed by chaining them, e.g.: buck2 build cell//foo:bar[baz][qux].

  • default_outputs: list[artifact] - A list of Artifacts that are built by default if this rule is requested explicitly, or depended on as as a "source".

  • other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] - A list of ArtifactTraversable. The underlying Artifacts they define will be built by default if this rule is requested, but not when it's depended on as as a "source". ArtifactTraversable can be an Artifact (which yields itself), or cmd_args, which expand to all their inputs.


Dependency

Dependency: type

DynamicActions

DynamicActions: type

DynamicActionsCallable

DynamicActionsCallable: type

ExecutionPlatformInfo

def ExecutionPlatformInfo(
*,
label: target_label,
configuration: ConfigurationInfo,
executor_config: command_executor_config
) -> ExecutionPlatformInfo

Provider that signals that a target represents an execution platform.

Provides a number of fields that can be accessed:

  • label: target_label - label of the defining rule, used in informative messages

  • configuration: ConfigurationInfo - The configuration of the execution platform

  • executor_config: command_executor_config - The executor config


ExecutionPlatformRegistrationInfo

def ExecutionPlatformRegistrationInfo(
*,
platforms: list[ExecutionPlatformInfo],
fallback = None
) -> ExecutionPlatformRegistrationInfo

Provider that gives the list of all execution platforms available for this build.

Provides a number of fields that can be accessed:

  • platforms: list[ExecutionPlatformInfo] - field

  • fallback: typing.Any - field


ExternalRunnerTestInfo

def ExternalRunnerTestInfo(
type,
command = None,
env = None,
labels = None,
contacts = None,
use_project_relative_paths = None,
run_from_project_root = None,
default_executor = None,
executor_overrides = None,
local_resources = None,
worker = None
) -> ExternalRunnerTestInfo

Provider that signals that a rule can be tested using an external runner. This is the Buck1-compatible API for tests.

.type attribute

Produces "ExternalRunnerTestInfo"

Details

Provides a number of fields that can be accessed:

  • test_type: str - A Starlark value representing the type of this test.

  • command: list[typing.Any] - A Starlark value representing the command for this test. The external test runner is what gives meaning to this command.

  • env: dict[str, typing.Any] - A Starlark value representing the environment for this test. Here again, the external test runner is what will this meaning. This is of type dict[str, ArgLike].

  • labels: list[str] - A starlark value representing the labels for this test.

  • contacts: list[str] - A starlark value representing the contacts for this test. This is largely expected to be an oncall, though it's not validated in any way.

  • use_project_relative_paths: bool - Whether this test should use relative paths

  • run_from_project_root: bool - Whether this test should run from the project root, as opposed to the cell rootDefaults to True.

  • default_executor: command_executor_config - Default executor to use to run tests. If none is passed we will default to the execution platform.

  • executor_overrides: dict[str, command_executor_config] - Executors that Tpx can use to override the default executor.

  • local_resources: dict[str, None | label] - Mapping from a local resource type to a target with a corresponding provider. Required types are passed from test runner. If the value for a corresponding type is omitted it means local resource should be ignored when executing tests even if those are passed as required from test runner.

  • worker: WorkerInfo - Configuration needed to spawn a new worker. This worker will be used to run every single command related to test execution, including listing.


InstallInfo

def InstallInfo(installer: label, files: dict[str, artifact]) -> InstallInfo

A provider that can be constructed and have its fields accessed. Returned by rules.

Provides a number of fields that can be accessed:

  • installer: label - field

  • files: dict[str, artifact] - field


Label

Label: type

LocalResourceInfo

def LocalResourceInfo(
*,
setup: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,
resource_env_vars: dict[str, str],
setup_timeout_seconds: None | float | int = None
) -> LocalResourceInfo

A provider that can be constructed and have its fields accessed. Returned by rules.

.type attribute

Produces "LocalResourceInfo"

Details

Provides a number of fields that can be accessed:

  • setup: cmd_args - Command to run to initialize a local resource. Running this command writes a JSON to stdout. This JSON represents a pool of local resources which are ready to be used. Example JSON would be: { "pid": 42, "resources": [ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ] } Where '"pid"maps to a PID of a process which should be sent SIGTERM to release the pool of resources when they are no longer needed."resources"maps to the pool of resources. When a local resource from this particular pool is needed for an execution command, single entity will be reserved from the pool, for example{"socket_address": "bar:2"}and environment variable with name resolved using mapping inresource_env_varsfield and"socket_address"` key will be added to execution command.

  • resource_env_vars: dict[str, str] - Mapping from environment variable (appended to an execution command which is dependent on this local resource) to keys in setup command JSON output.

  • setup_timeout_seconds: None | float | int - Timeout in seconds for setup command.


OutputArtifact

OutputArtifact: type

PlatformInfo

def PlatformInfo(
*,
label: str,
configuration: ConfigurationInfo
) -> PlatformInfo

A provider that can be constructed and have its fields accessed. Returned by rules.

.type attribute

Produces "PlatformInfo"

Details

Provides a number of fields that can be accessed:

  • label: str - field

  • configuration: ConfigurationInfo - field


ProjectRoot

ProjectRoot: type

Promise

Promise: type

Provider

Provider: type

ProviderCollection

ProviderCollection: type

ProvidersLabel

ProvidersLabel: type

ResolvedStringWithMacros

ResolvedStringWithMacros: type

RunInfo

def RunInfo(
args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _
) -> RunInfo

Provider that signals that a rule is runnable

.type attribute

Produces "RunInfo"

Details

Provides a number of fields that can be accessed:

  • args: cmd_args - The command to run, stored as CommandLine

Select

Select: type

TargetLabel

TargetLabel: type

TemplatePlaceholderInfo

def TemplatePlaceholderInfo(
unkeyed_variables = {},
keyed_variables = {}
) -> TemplatePlaceholderInfo

A provider that is used for expansions in string attribute templates

.type attribute

Produces "TemplatePlaceholderInfo"

Details

String attribute templates allow two types of user-defined placeholders, "unkeyed placeholders" +like $(CXX) or $(aapt) and "keyed placeholders" that include a target key like +$(cxxppflags //some:target). The expansion of each of these types is based on the +TemplatePlaceholderInfo providers.

"keyed placeholders" are used for the form $(<key> <target>) or $(<key> <target> <arg>). In both cases +the lookup will expect a TemplatePlaceholderInfo in the providers of <target>. It will then lookup +<key> in the keyed_variables (call this the value). There are then four valid possibilities:

  1. no-arg placeholder, an arg-like value: resolve to value
  2. no-arg placeholder, a dictionary value: resolve to value["DEFAULT"]
  3. arg placeholder, a non-dictionary value: this is an error
  4. arg placeholder, a dictionary value: resolve to value[<arg>]

"unkeyed placeholders" are resolved by matching to any of the deps of the target. $(CXX) will resolve +to the "CXX" value in any dep's TemplateProviderInfo.unkeyed_variables

Fields:

  • unkeyed_variables: A mapping of names to arg-like values. These are used for "unkeyed placeholder" expansion.
  • keyed_variables: A mapping of names to arg-like values or dictionary of string to +arg-like values. These are used for "keyed placeholder" expansion.

Provides a number of fields that can be accessed:

  • unkeyed_variables: dict[str, typing.Any] - field

  • keyed_variables: dict[str, typing.Any] - field


TransitiveSet

TransitiveSet: type

TransitiveSetArgsProjection

TransitiveSetArgsProjection: type

TransitiveSetArgsProjectionIterator

TransitiveSetArgsProjectionIterator: type

TransitiveSetDefinition

TransitiveSetDefinition: type

TransitiveSetIterator

TransitiveSetIterator: type

TransitiveSetJsonProjection

TransitiveSetJsonProjection: type

ValidationInfo

def ValidationInfo(*, validations: list[ValidationSpec]) -> ValidationInfo

Provider describing how a given target node should be validated. Validations are run when target with ValidationInfo provider is a transitive dependency of a requested target.

.type attribute

Produces "ValidationInfo"

Details

Provides a number of fields that can be accessed:

  • validations: list[ValidationSpec] - List of ValidationSpec values each representing a single validation.

ValidationSpec

def ValidationSpec(
*,
name: str,
validation_result: artifact,
optional: bool = False
) -> ValidationSpec

.type attribute

Produces "ValidationSpec"


WorkerInfo

def WorkerInfo(exe = [], *, concurrency: None | int = None) -> WorkerInfo

Provider that signals that a rule is a worker tool

.type attribute

Produces "WorkerInfo"

Details

Provides a number of fields that can be accessed:

  • exe: cmd_args - field

  • concurrency: None | int - field


WorkerRunInfo

def WorkerRunInfo(*, worker: WorkerInfo, exe = []) -> WorkerRunInfo

Provider that signals that a rule can run using a worker

.type attribute

Produces "WorkerRunInfo"

Details

Provides a number of fields that can be accessed:

  • worker: WorkerInfo - field

  • exe: cmd_args - field


anon_rule

def anon_rule(
*,
impl: typing.Callable[[typing.Any], list[typing.Any]],
attrs: dict[str, attribute],
doc: str = "",
artifact_promise_mappings: dict[str, typing.Callable[[typing.Any], list[typing.Any]]]
) -> "function"

Define an anon rule, similar to how a normal rule is defined, except with an extra artifact_promise_mappings field. This is a dict where the keys are the string name of the artifact, and the values are the callable functions that produce the artifact. This is only intended to be used with anon targets.


attrs

attrs: attrs

bxl

bxl: struct(ActionQueryNode = type, Actions = type, AnalysisResult = type, AqueryContext = type, AuditContext = type, BuildResult = type, CliArgs = type, ConfiguredTargetNode = type, ConfiguredTargetSet = type, Context = type, CqueryContext = type, EnsuredArtifact = type, FileNode = type, Filesystem = type, LazyResolvedAttrs = type, OutputStream = type, TargetUniverse = type, UnconfiguredTargetNode = type, UnconfiguredTargetSet = type, UqueryContext = type, cli_args = struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function"), ctarget_set = "function", fail_no_stacktrace = "function", file_set = "function", get_path_without_materialization = "function", get_paths_without_materialization = "function", now = "function", utarget_set = "function")

bxl_main

def bxl_main(
*,
impl: typing.Callable,
cli_args: dict[str, bxl.CliArgs],
doc: str = ""
)

cli_args

cli_args: struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function")

cmd_args

def cmd_args(
*args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,
hidden: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _,
delimiter: str = _,
format: str = _,
prepend: str = _,
quote: str = _,
ignore_artifacts: bool = False,
absolute_prefix: str = _,
absolute_suffix: str = _,
parent: int = 0,
relative_to: artifact | cell_root | project_root | (artifact | cell_root | project_root, int) = _,
replace_regex: list[(buck_regex | str, str)] | (buck_regex | str, str) = _
) -> cmd_args

The cmd_args type is created by this function and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value.

.type attribute

Produces "cmd_args"

Details

The arguments are:

  • *args - a list of things to add to the command line, each of which must be coercible to a command line. Further items can be added with cmd.add.
  • format - a string that provides a format to apply to the argument. for example, cmd_args(x, format="--args={}") would prepend --args= before x, or if x was a list, before each element in x.
  • delimiter - added between arguments to join them together. For example, cmd_args(["--args=",x], delimiter="") would produce a single argument to the underlying tool.
  • prepend - added as a separate argument before each argument.
  • quote - indicates whether quoting is to be applied to each argument. The only current valid value is "shell".
  • ignore_artifacts - if True, artifacts paths are used, but artifacts are not pulled.
  • hidden - artifacts not present on the command line, but added as dependencies.
  • absolute_prefix and absolute_suffix - added to the start and end of each artifact.
  • parent - for all the artifacts use their parentth directory (e.g. parent = 1 for the directory the artifact is located, parent = 2 for that directory's parent, etc.).
  • relative_to - make all artifact paths relative to a given location.
  • replace_regex - replaces arguments with a regular expression.

ignore_artifacts

ignore_artifacts=True makes cmd_args to have no declared dependencies. +Allows you to reference the path of an artifact without introducing dependencies on it.

As an example where this can be useful, consider passing a dependency that is only accessed at runtime, but whose path +must be baked into the binary. As an example:

resources = cmd_args(resource_file, format = "-DFOO={}").ignore_artifacts()
ctx.actions.run(cmd_args("gcc", "-c", source_file, resources))

Note that ignore_artifacts sets all artifacts referenced by this cmd_args to be ignored, including those added afterwards, +so generally create a special cmd_args and scope it quite tightly.

If you actually do use the inputs referenced by this command, +you will either error out due to missing dependencies (if running actions remotely) +or have untracked dependencies that will fail to rebuild when it should.

hidden

Things to add to the command line which do not show up but are added as dependencies. +The values can be anything normally permissible to pass to add.

Typically used if the command you are running implicitly depends on files that are not +passed on the command line, e.g. headers in the case of a C compilation.

absolute_prefix and absolute_suffix

Adds a prefix to the start or end of every artifact.

Prefix is often used if you have a $ROOT variable +in a shell script and want to use it to make files absolute.

Suffix is often used in conjunction with absolute_prefix +to wrap artifacts in function calls.

cmd_args(script, absolute_prefix = "$ROOT/")
cmd_args(script, absolute_prefix = "call", absolute_suffix = ")")

`parent

` +For all the artifacts use their parent directory.

Typically used when the file name is passed one way, and the directory another, +e.g. cmd_args(artifact, format="-L{}", parent=1).

relative_to=dir or relative_to=(dir, parent)

Make all artifact paths relative to a given location. Typically used when the command +you are running changes directory.

By default, the paths are relative to the artifacts themselves (equivalent to +parent equals to 0). Use parent to make the paths relative to an ancestor directory. +For example parent equals to 1 would make all paths relative to the containing dirs +of any artifacts in the cmd_args.

dir = symlinked_dir(...)
script = [
cmd_args(dir, format = "cd {}", relative_to=dir),
]

replace_regex

Replaces all parts matching pattern regular expression (or regular expressions) +in each argument with replacement strings.


ctarget_set

def ctarget_set(nodes: list[bxl.ConfiguredTargetNode] = _) -> target_set

Creates a target set from a list of configured nodes.

Sample usage:

def _impl_ctarget_set(ctx):
targets = bxl.ctarget_set([cnode_a, cnode_b])
ctx.output.print(type(targets))
ctx.output.print(len(targets))

dedupe

def dedupe(val, /)

Remove duplicates in a list. Uses identity of value (pointer), rather than by equality. In many cases you should use a transitive set instead.


dynamic_actions

def dynamic_actions(
*,
impl: typing.Callable["actions: actions, artifacts: dict[artifact, artifact_value], outputs: dict[artifact, artifact], arg: typing.Any", None]
) -> DynamicActionCallable

Create new dynamic action callable. Returned object will be callable, and the result of calling it can be passed to ctx.actions.dynamic_output_new.


fail_no_stacktrace

def fail_no_stacktrace(*args) -> None

file_set

def file_set() -> file_set

Creates an empty file set for configured nodes.

Sample usage:

def _impl_file_set(ctx):
files = file_set()
ctx.output.print(type(files))
ctx.output.print(len(files))

get_base_path

def get_base_path() -> str

get_base_path() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar.

This function is identical to package_name.


get_cell_name

def get_cell_name() -> str

get_cell_name() can be called from either a BUCK file or a .bzl file, and returns the name of the cell where the BUCK file that started the call lives.

For example, inside foo//bar/baz/BUCK the output will be foo. +If that BUCK file does a load("hello//world.bzl", "something") then +the result in that .bzl file will also be foo.


get_path_without_materialization

def get_path_without_materialization(
this: artifact,
ctx: bxl.Context,
/,
*,
abs: bool = False
) -> str

The output path of an artifact-like (source, build, declared). Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized (i.e. it may not actually exist on the disk yet).

This is a risky function to call because you may accidentally pass this path to further BXL actions +that expect the artifact to be materialized. If this happens, the BXL script will error out. +If you want the path without materialization for other uses that don’t involve passing them into +further actions, then it’s safe.

Sample usage:

def _impl_get_path_without_materialization(ctx):
owner = ctx.cquery().owner("cell//path/to/file")[0]
artifact = owner.get_source("cell//path/to/file", ctx)
source_artifact_project_rel_path = get_path_without_materialization(artifact, ctx)
ctx.output.print(source_artifact_project_rel_path) # Note this artifact is NOT ensured or materialized

get_paths_without_materialization

def get_paths_without_materialization(
cmd_line: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo,
ctx: bxl.Context,
/,
*,
abs: bool = False
)

The output paths of a cmd_args() inputs. The output paths will be returned as a list. Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized, (i.e. it may not actually exist on the disk yet).

This is a risky function to call because you may accidentally pass this path to further BXL actions +that expect the artifact to be materialized. If this happens, the BXL script will error out. +If you want the path without materialization for other uses that don’t involve passing them into +further actions, then it’s safe.

Sample usage:

def _impl_get_paths_without_materialization(ctx):
node = ctx.configured_targets("root//bin:the_binary")
providers = ctx.analysis(node).providers()
path = get_paths_without_materialization(providers[RunInfo], abs=True) # Note this artifact is NOT ensured or materialized
ctx.output.print(path)

glob

def glob(
include: list[str] | tuple[str, ...],
*,
exclude: list[str] | tuple[str, ...] = []
) -> list[str]

The glob() function specifies a set of files using patterns. Only available from BUCK files.

A typical glob call looks like:

glob(["foo/**/*.h"])

This call will match all header files in the foo directory, recursively.

You can also pass a named exclude parameter to remove files matching a pattern:

glob(["foo/**/*.h"], exclude = ["**/config.h"])

This call will remove all config.h files from the initial match.

The glob() call is evaluated against the list of files owned by this BUCK file. +A file is owned by whichever BUCK file is closest above it - so given foo/BUCK and +foo/bar/BUCK the file foo/file.txt would be owned by foo/BUCK (and available from +its glob results) but the file foo/bar/file.txt would be owned by foo/bar/BUCk +and not appear in the glob result of foo/BUCK, even if you write glob(["bar/file.txt"]). +As a consequence of this rule, glob(["../foo.txt"]) will always return an empty list of files.

Currently glob is evaluated case-insensitively on all file systems, but we expect +that to change to case sensitive in the near future.


host_info

def host_info() -> struct(..)

The host_info() function is used to get the current OS and processor architecture on the host. The structure returned is laid out thusly:

struct(
os=struct(
is_linux=True|False,
is_macos=True|False,
is_windows=True|False,
is_freebsd=True|False,
is_unknown=True|False,
),
arch=struct(
is_aarch64=True|False,
is_arm=True|False,
is_armeb=True|False,
is_i386=True|False,
is_mips=True|False,
is_mips64=True|False,
is_mipsel=True|False,
is_mipsel64=True|False,
is_powerpc=True|False,
is_ppc64=True|False,
is_x86_64=True|False,
is_unknown=True|False,
),
)

implicit_package_symbol

def implicit_package_symbol(name: str, default = _)

load_symbols

def load_symbols(symbols: dict[str, typing.Any]) -> None

Used in a .bzl file to set exported symbols. In most cases just defining the symbol as a top-level binding is sufficient, but sometimes the names might be programatically generated.

It is undefined behaviour if you try and use any of the symbols exported +here later in the same module, or if they overlap with existing definitions. +This function should be used rarely.


now

def now() -> instant

Creates an Instant at the current time.

Sample usage:

def _impl_elapsed_millis(ctx):
instant = now()
time_a = instant.elapsed_millis()
# do something that takes a long time
time_b = instant.elapsed_millis()

ctx.output.print(time_a)
ctx.output.print(time_b)

This function is only accessible through Bxl.


oncall

def oncall(name: str, /) -> None

Called in a BUCK file to declare the oncall contact details for all the targets defined. Must be called at most once, before any targets have been declared. Errors if called from a .bzl file.


package

def package(
*,
inherit: bool = False,
visibility: list[str] | tuple[str, ...] = [],
within_view: list[str] | tuple[str, ...] = []
) -> None

package_name

def package_name() -> str

package_name() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar.


plugins

plugins: plugins

provider

def provider(
*,
doc: str = "",
fields: list[str] | tuple[str, ...] | dict[str, typing.Any]
) -> provider_callable

Create a "provider" type that can be returned from rule implementations. Used to pass information from a rule to the things that depend on it. Typically named with an Info suffix.

GroovyLibraryInfo(fields = [
"objects", # a list of artifacts
"options", # a string containing compiler options
])

Given a dependency you can obtain the provider with my_dep[GroovyLibraryInfo] +which returns either None or a value of type GroovyLibraryInfo.

For providers that accumulate upwards a transitive set is often a good choice.


provider_field

def provider_field(
ty,
/,
*,
default = _
) -> ProviderField

Create a field definition object which can be passed to provider type constructor.


read_config

def read_config(section: str, key: str, default = _)

Read a configuration from the nearest enclosing .buckconfig of the BUCK file that started evaluation of this code.

As an example, if you have a .buckconfig of:

[package_options]
compile = super_fast

Then you would get the following results:

read_config("package_options", "compile") == "super_fast"
read_config("package_options", "linker") == None
read_config("package_options", "linker", "a_default") == "a_default"

In general the use of .buckconfig is discouraged in favour of select, +but it can still be useful.


read_oncall

def read_oncall() -> None | str

Called in a BUCK file to retrieve the previously set oncall, or None if none has been set. It is an error to call oncall after calling this function.


read_package_value

def read_package_value(key: str, /)

Read value specified in the PACKAGE file.

Returns None if value is not set.


read_parent_package_value

def read_parent_package_value(key: str, /)

Read a package value defined in a parent PACKAGE file.

This function can only be called in a Package context.

Returns None if value is not set.


read_root_config

def read_root_config(
section: str,
key: str,
default: None | str = None,
/
) -> None | str

Like read_config but the project root .buckconfig is always consulted, regardless of the cell of the originating BUCK file.


regex

def regex(
regex: str,
/,
*,
fancy: bool = False
) -> buck_regex

.type attribute

Produces "buck_regex"


regex_match

def regex_match(regex: str, str: str, /) -> bool

Test if a regular expression matches a string. Fails if the regular expression is malformed.

As an example:

regex_match("^[a-z]*$", "hello") == True
regex_match("^[a-z]*$", "1234") == False

repository_name

def repository_name() -> str

Like get_cell_name() but prepends a leading @ for compatibility with Buck1. You should call get_cell_name() instead, and if you really want the @, prepend it yourself.


rule

def rule(
*,
impl: typing.Callable[[typing.Any], list[typing.Any]],
attrs: dict[str, attribute],
cfg = _,
doc: str = "",
is_configuration_rule: bool = False,
is_toolchain_rule: bool = False,
uses_plugins: list[typing.Any] | tuple = []
) -> "function"

Define a rule. As a simple example:

def _my_rule(ctx: AnalysisContext) -> list[Provider]:
output = ctx.actions.write("hello.txt", ctx.attrs.contents, executable = ctx.attrs.exe)
return [DefaultInfo(outputs = [output])]

MyRule = rule(impl = _my_rule, attrs = {
"contents": attrs.string(),
"exe": attrs.option(attrs.bool(), default = False),
})

rule_exists

def rule_exists(name: str) -> bool

Check if the target with name has already been defined, returns True if it has.

Note that this function checks for the existence of a target rather than a rule. +In general use of this function is discouraged, as it makes definitions of rules not compose.


select

def select(d, /) -> selector

select_equal_internal

def select_equal_internal(left, right, /) -> bool

Tests that two selects are equal to each other. For testing use only. We simply compare their string representations.


select_map

def select_map(d, func, /)

Maps a selector.

Each value within a selector map and on each side of an addition will be passed to the +mapping function. The returned selector will have the same structure as this one.

Ex:

def increment_items(a):
return [v + 1 for v in a]

select_map([1, 2] + select({"c": [2]}), increment_items) == [2, 3] + select({"c": [3]})

select_test

def select_test(d, func, /) -> bool

Test values in the select expression using the given function.

Returns True, if any value in the select passes, else False.

Ex:

select_test([1] + select({"c": [1]}), lambda a: len(a) > 1) == False
select_test([1, 2] + select({"c": [1]}), lambda a: len(a) > 1) == True
select_test([1] + select({"c": [1, 2]}), lambda a: len(a) > 1) == True

set_cfg_constructor

def set_cfg_constructor(
*,
stage0,
stage1,
key: str,
aliases = None
) -> None

Register global cfg constructor.

This function can only be called from the repository root PACKAGE file.

Parameters: +stage0: The first cfg constructor that will be invoked before configuration rules are analyzed. +stage1: The second cfg constructor that will be invoked after configuration rules are analyzed. +key: The key for cfg modifiers on PACKAGE values and metadata.


set_starlark_peak_allocated_byte_limit

def set_starlark_peak_allocated_byte_limit(value: int, /) -> None

Set the peak allocated bytes during evaluation of build ctx. Err if it has already been set


sha256

def sha256(val: str, /) -> str

Computes a sha256 digest for a string. Returns the hex representation of the digest.

sha256("Buck2 is the best build system") == "bb99a3f19ecba6c4d2c7cd321b63b669684c713881baae21a6b1d759b3ec6ac9"

soft_error

def soft_error(
category: str,
message: str,
/,
*,
quiet: bool = _,
stack: bool = _
) -> None

Produce an error that will become a hard error at some point in the future, but for now is a warning which is logged to the server. In the open source version of Buck2 this function always results in an error.

Called passing a stable key (must be snake_case and start with starlark_, +used for consistent reporting) and an arbitrary message (used for debugging).

As an example:

soft_error(
"starlark_rule_is_too_long",
"Length of property exceeds 100 characters in " + repr(ctx.label),
)

transition

def transition(
*,
impl: typing.Callable,
refs: dict[str, str],
attrs: list[str] | tuple[str, ...] = _,
split: bool = False
) -> transition

transitive_set

def transitive_set(
*,
args_projections: dict[str, typing.Any] = _,
json_projections: dict[str, typing.Any] = _,
reductions: dict[str, typing.Any] = _
) -> transitive_set_definition

utarget_set

def utarget_set(nodes: list[bxl.UnconfiguredTargetNode] = _) -> target_set

Creates a target set from a list of unconfigured nodes.

Sample usage:

def _impl_utarget_set(ctx):
targets = bxl.utarget_set([unode_a, unode_b])
ctx.output.print(type(targets))
ctx.output.print(len(targets))

warning

def warning(x: str, /) -> None

Print a warning. The line will be decorated with the timestamp and other details, including the word WARN (colored, if the console supports it).

If you are not writing a warning, use print instead. Be aware that printing +lots of output (warnings or not) can be cause all information to be ignored by the user.


write_package_value

def write_package_value(
key: str,
value,
/,
*,
overwrite: bool = False
) -> None

Set the value to be accessible in the nested PACKAGE files.

If any parent PACKAGE value has already set the same key, +it will raise an error unless you pass overwrite = True, +in which case it will replace the parent value.

+ + + + \ No newline at end of file diff --git a/docs/api/build/label/index.html b/docs/api/build/label/index.html new file mode 100644 index 0000000000000..f19ed1beff187 --- /dev/null +++ b/docs/api/build/label/index.html @@ -0,0 +1,20 @@ + + + + + +label type | Buck2 + + + + + + + + +
+

label type

A label is used to represent a configured target.

label.cell

label.cell: str

For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode


label.cell_root

label.cell_root: cell_root

Obtain a reference to this target label's cell root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to.


label.configured_target

def label.configured_target() -> configured_target_label

Returns the underlying configured target label, dropping the sub target


label.name

label.name: str

For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back world


label.package

label.package: str

For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back buck2/hello


label.path

label.path: label_relative_path

For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode/buck2/hello


label.project_root

label.project_root: project_root

Obtain a reference to the project's root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to.


label.raw_target

def label.raw_target() -> target_label

For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this returns the unconfigured underlying target label (fbcode//buck2/hello:world)


label.sub_target

label.sub_target: None | list[str]
+ + + + \ No newline at end of file diff --git a/docs/api/build/label_relative_path/index.html b/docs/api/build/label_relative_path/index.html new file mode 100644 index 0000000000000..64144690a7e86 --- /dev/null +++ b/docs/api/build/label_relative_path/index.html @@ -0,0 +1,20 @@ + + + + + +label_relative_path type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/build/plugins/index.html b/docs/api/build/plugins/index.html new file mode 100644 index 0000000000000..41d9b81607871 --- /dev/null +++ b/docs/api/build/plugins/index.html @@ -0,0 +1,24 @@ + + + + + +plugins type | Buck2 + + + + + + + + +
+

plugins type

plugins.All

plugins.All: all_plugins

A special value for use with pulls_and_pushes_plugins.

This value can be passed to pulls_and_pushes_plugins on any attr.dep() to indicate that +all plugin kinds from the dep should be pulled and pushed. This is useful for rules like +alias.

This value is not supported on uses_plugins at this time, and hence it is not useful on +pulls_plugins either.


plugins.PluginKind

plugins.PluginKind: type

Type symbol for PluginKind.


plugins.kind

def plugins.kind() -> PluginKind

Create a new plugin kind.

The value returned should always be immediately bound to a global, like MyPluginKind = +plugins.kind()

+ + + + \ No newline at end of file diff --git a/docs/api/build/promise/index.html b/docs/api/build/promise/index.html new file mode 100644 index 0000000000000..2c143ecfbd3b9 --- /dev/null +++ b/docs/api/build/promise/index.html @@ -0,0 +1,22 @@ + + + + + +promise type | Buck2 + + + + + + + + +
+

promise type

promise.join

def promise.join(*args) -> promise

Join a set of promises together into a single promise.

Given a series of promises, p4 = p1.join(p2, p3) will produce a promise +where the value is promise that resolves to a tuple containing the three values, +those from p1, p2 and p3 respectively.


promise.map

def promise.map(func: typing.Callable[[typing.Any], typing.Any], /) -> promise

Given a promise, apply a function to the value it contains, producing a promise with the resulting value.

+ + + + \ No newline at end of file diff --git a/docs/api/build/provider_collection/index.html b/docs/api/build/provider_collection/index.html new file mode 100644 index 0000000000000..a2e3d6510da93 --- /dev/null +++ b/docs/api/build/provider_collection/index.html @@ -0,0 +1,20 @@ + + + + + +provider_collection type | Buck2 + + + + + + + + +
+

provider_collection type

Holds a collection of UserProviders. These can be accessed in Starlark by indexing on a ProviderCallable object.

e.g.

FooInfo = provider(fields=["bar"])
....
collection.get(FooInfo) # None if absent, a FooInfo instance if present

This is the result of all UDR implementation functions

provider_collection.get

def provider_collection.get(index) -> None | provider
+ + + + \ No newline at end of file diff --git a/docs/api/build/providers_label/index.html b/docs/api/build/providers_label/index.html new file mode 100644 index 0000000000000..ea339c5e1c21d --- /dev/null +++ b/docs/api/build/providers_label/index.html @@ -0,0 +1,20 @@ + + + + + +providers_label type | Buck2 + + + + + + + + +
+

providers_label type

providers_label.cell

providers_label.cell: str

providers_label.name

providers_label.name: str

providers_label.path

providers_label.path: typing.Any

providers_label.raw_target

def providers_label.raw_target() -> target_label

Returns the unconfigured underlying target label.


providers_label.sub_target

providers_label.sub_target: None | list[str]
+ + + + \ No newline at end of file diff --git a/docs/api/build/target_label/index.html b/docs/api/build/target_label/index.html new file mode 100644 index 0000000000000..49c6c6d02e823 --- /dev/null +++ b/docs/api/build/target_label/index.html @@ -0,0 +1,20 @@ + + + + + +target_label type | Buck2 + + + + + + + + +
+

target_label type

target_label.cell

target_label.cell: str

target_label.name

target_label.name: str

target_label.package

target_label.package: str

target_label.with_sub_target

def target_label.with_sub_target(
subtarget_name: str | list[str] = _
) -> providers_label

Converts a TargetLabel into its corresponding ProvidersLabel given the subtarget names, which is a list for each layer of subtarget

Sample usage:

def _impl_sub_target(ctx):
owners = ctx.uquery().owner("bin/TARGETS.fixture")
for owner in owners:
unconfigured_label = owner.label
ctx.output.print(unconfigured_label.with_sub_target())
ctx.output.print(unconfigured_label.with_sub_target("subtarget1"))
ctx.output.print(unconfigured_label.with_sub_target(["subtarget1", "subtarget2"]))
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/ActionErrorCtx/index.html b/docs/api/bxl/ActionErrorCtx/index.html new file mode 100644 index 0000000000000..a72c422adc5c4 --- /dev/null +++ b/docs/api/bxl/ActionErrorCtx/index.html @@ -0,0 +1,25 @@ + + + + + +ActionErrorCtx type | Buck2 + + + + + + + + +
+

ActionErrorCtx type

Methods available on ActionErrorCtx to help categorize the action failure. These categorizations should be finer grain, and most likely language specific.

ActionErrorCtx.new_error_location

def ActionErrorCtx.new_error_location(
*,
file: str,
line: None | int = None
) -> ActionErrorLocation

Create a new error location, specifying a file path and an optional line number.

The file path should be either a project-relative path, or an absolute path.


ActionErrorCtx.new_sub_error

def ActionErrorCtx.new_sub_error(
*,
category: str,
message: None | str = None,
locations: None | list[ActionErrorLocation] | tuple[ActionErrorLocation, ...] = None
) -> ActionSubError

Create a new sub error, specifying an error category name, optional message, and an optional list of error locations.

The category should be finer grain error categorizations provided by the rule authors, +and tend to be language specific. These should not be any kind of shared concepts +among all errors for all languages/rules. For example, timeouts and infra errors +should not go here - buck2 tries to categorize these types of errors automatically. +An example of a finer grain error category may be the error code for rustc outputs.

The message will be emitted to the build report, and to the stderr in the error diagnostics +section.


ActionErrorCtx.stderr

ActionErrorCtx.stderr: str

The stderr of the failed action.


ActionErrorCtx.stdout

ActionErrorCtx.stdout: str

The stdout of the failed action.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/ActionErrorLocation/index.html b/docs/api/bxl/ActionErrorLocation/index.html new file mode 100644 index 0000000000000..28cedeae3bd20 --- /dev/null +++ b/docs/api/bxl/ActionErrorLocation/index.html @@ -0,0 +1,20 @@ + + + + + +ActionErrorLocation type | Buck2 + + + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/ActionSubError/index.html b/docs/api/bxl/ActionSubError/index.html new file mode 100644 index 0000000000000..7ff755982fde8 --- /dev/null +++ b/docs/api/bxl/ActionSubError/index.html @@ -0,0 +1,20 @@ + + + + + +ActionSubError type | Buck2 + + + + + + + + +
+

ActionSubError type

Methods available on StarlarkActionSubError to help with testing the error handler implementation

ActionSubError.category

ActionSubError.category: str

The category name of this sub error. This function is only needed for action error handler unit testing.


ActionSubError.locations

ActionSubError.locations: None | list[ActionErrorLocation]

Any locations associated with this sub error. This function is only needed for action error handler unit testing.


ActionSubError.message

ActionSubError.message: None | str

The optional message associated with this sub error. This function is only needed for action error handler unit testing.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/StackFrame/index.html b/docs/api/bxl/StackFrame/index.html new file mode 100644 index 0000000000000..b603ba19992e5 --- /dev/null +++ b/docs/api/bxl/StackFrame/index.html @@ -0,0 +1,20 @@ + + + + + +StackFrame type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/bxl/action/index.html b/docs/api/bxl/action/index.html new file mode 100644 index 0000000000000..69cbb24227cbe --- /dev/null +++ b/docs/api/bxl/action/index.html @@ -0,0 +1,20 @@ + + + + + +action type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/bxl/action_attr/index.html b/docs/api/bxl/action_attr/index.html new file mode 100644 index 0000000000000..931b68246d67f --- /dev/null +++ b/docs/api/bxl/action_attr/index.html @@ -0,0 +1,20 @@ + + + + + +action_attr type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/bxl/actions/index.html b/docs/api/bxl/actions/index.html new file mode 100644 index 0000000000000..74bae149433f0 --- /dev/null +++ b/docs/api/bxl/actions/index.html @@ -0,0 +1,84 @@ + + + + + +actions type | Buck2 + + + + + + + + +
+

actions type

actions.anon_target

def actions.anon_target(
rule: "function",
attrs: dict[str, typing.Any]
) -> anon_target

An anonymous target is defined by the hash of its attributes, rather than its name. During analysis, rules can define and access the providers of anonymous targets before producing their own providers. Two distinct rules might ask for the same anonymous target, sharing the work it performs.

For more details see https://buck2.build/docs/rule_authors/anon_targets/


actions.anon_targets

def actions.anon_targets(
rules: list[("function", dict[str, typing.Any])] | tuple[("function", dict[str, typing.Any]), ...]
) -> anon_targets

Generate a series of anonymous targets.


actions.artifact_tag

def actions.artifact_tag() -> artifact_tag

Allocate a new input tag. Used with the dep_files argument to run.


actions.assert_short_path

def actions.assert_short_path(artifact: artifact, short_path: str) -> artifact

Generate a promise artifact that has short path accessible on it. The short path's correctness will be asserted during analysis time.

TODO - we would prefer the API to be ctx.actions.anon_target(xxx).artifact("foo", short_path=yyy), but +we cannot support this until we can get access to the AnalysisContext without passing it into this method.


actions.cas_artifact

def actions.cas_artifact(
output: artifact | output_artifact | str,
digest: str,
use_case: str,
/,
*,
expires_after_timestamp: int,
is_executable: bool = False,
is_tree: bool = False,
is_directory: bool = False
) -> artifact

Downloads a CAS artifact to an output

  • digest: must look like SHA1:SIZE
  • use_case: your RE use case
  • expires_after_timestamp: must be a UNIX timestamp. Your digest's TTL must exceed this +timestamp. Your build will break once the digest expires, so make sure the expiry is long +enough (preferably, in years).
  • is_executable: indicates the resulting file should be marked with executable +permissions
  • is_tree: digest must point to a blob of type +RE.Tree
  • is_directory: digest must point to a blob of type +RE.Directory

actions.copied_dir

def actions.copied_dir(
output: artifact | output_artifact | str,
srcs: dict[str, artifact],
/
) -> artifact

Returns an artifact which is a directory containing copied files. The srcs must be a dictionary of path (as string, relative to the result directory) to the bound artifact, which will be laid out in the directory.


actions.copy_dir

def actions.copy_dir(
dest: artifact | output_artifact | str,
src: artifact,
/
) -> artifact

Make a copy of a directory.


actions.copy_file

def actions.copy_file(
dest: artifact | output_artifact | str,
src: artifact,
/
) -> artifact

Copies the source artifact to the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The copy works for files or directories.


actions.declare_output

def actions.declare_output(
prefix: str,
filename: str = _,
/,
*,
dir: bool = False
) -> artifact

Returns an unbound artifact, representing where a file will go, which must be bound before analysis terminates. The usual way of binding an artifact is with ctx.actions.run. As an example:

my_output = ctx.actions.declare_output("output.o")
ctx.actions.run(["gcc", "-c", my_source, "-o", my_output.as_output()], category = "compile")

This snippet declares an output with the filename output.o (it will be located in the output directory +for this target). Note the use of as_output to tag this artifact as being an output in +the action. After binding the artifact you can subsequently use my_output as either an +input for subsequent actions, or as the result in a provider.

Artifacts from a single target may not have the same name, so if you then want a second +artifact also named output.o you need to supply a prefix, e.g. +ctx.actions.declare_output("directory", "output.o"). The artifact will still report having +name output.o, but will be located at directory/output.o.

The dir argument should be set to True if the binding will be a directory.


actions.digest_config

def actions.digest_config() -> digest_config

Obtain this daemon's digest configuration. This allows rules to discover what digests the daemon may be able to e.g. defer download because they conform to its RE backend's expected digest format.


actions.download_file

def actions.download_file(
output: artifact | output_artifact | str,
url: str,
/,
*,
vpnless_url: None | str = None,
sha1: None | str = None,
sha256: None | str = None,
is_executable: bool = False,
is_deferrable: bool = False
) -> artifact

Downloads a URL to an output (filename as string or output artifact). The file at the URL must have the given sha1 or the command will fail. The optional parameter is_executable indicates whether the resulting file should be marked with executable permissions. (Meta-internal) The optional parameter vpnless_url indicates a url from which this resource can be downloaded off VPN; this has the same restrictions as url above.


actions.dynamic_output

def actions.dynamic_output(
*,
dynamic: list[artifact] | tuple[artifact, ...],
inputs: list[artifact] | tuple[artifact, ...] = _,
outputs: list[output_artifact] | tuple[output_artifact, ...],
f: typing.Callable[[typing.Any, dict[artifact, artifact_value], dict[artifact, artifact]], None]
) -> None

dynamic_output allows a rule to use information that was not available when the rule was first run at analysis time. Examples include things like Distributed ThinLTO (where the index file is created by another action) or OCaml builds (where the dependencies are created by ocamldeps).

The arguments are:

  • dynamic - a list of artifacts whose values will be available in the function. These will +be built before the function is run.
  • inputs - parameter is ignored.
  • outputs - a list of unbound artifacts (created with declare_artifact) which will be +bound by the function.
  • The function argument is given 3 arguments:
    • ctx (context) - which is the same as that passed to the initial rule analysis.
    • artifacts - using one of the artifacts from dynamic (example usage: +artifacts[artifact_from_dynamic]) gives an artifact value containing the methods +read_string, read_lines, and read_json to obtain the values from the disk in +various formats. Anything too complex should be piped through a Python script for +transformation to JSON.
    • outputs - using one of the artifacts from the dynamic_output's outputs (example +usage: outputs[artifact_from_dynamic_output_outputs]) gives an unbounded artifact. The +function argument must use its outputs argument to bind output artifacts, rather than +reusing artifacts from the outputs passed into dynamic_output directly.
  • The function must call ctx.actions (probably ctx.actions.run) to bind all outputs. It +can examine the values of the dynamic variables and depends on the inputs.

Besides dynamic dependencies, there is a second use case for dynamic_output: say that you +have some output artifact, and that the analysis to produce the action that outputs that +artifact is expensive, ie takes a lot of CPU time; you would like to skip that work in +builds that do not actually use that artifact.

This can be accomplished by putting the analysis for that artifact behind a dynamic_output +with an empty dynamic list. The dynamic_output's function will not be run unless one of +the actions it outputs is actually requested as part of the build.


actions.dynamic_output_new

def actions.dynamic_output_new(dynamic_actions: DynamicAction, /) -> None

New version of dynamic_output.

This is work in progress, and will eventually replace the old dynamic_output.


actions.run

def actions.run(
arguments: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,
/,
*,
category: str,
identifier: None | str = None,
env: dict[str, artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _,
local_only: bool = False,
prefer_local: bool = False,
prefer_remote: bool = False,
low_pass_filter: bool = True,
always_print_stderr: bool = False,
weight: int = _,
weight_percentage: int = _,
dep_files: dict[str, artifact_tag] = _,
metadata_env_var: str = _,
metadata_path: str = _,
no_outputs_cleanup: bool = False,
allow_cache_upload: bool = False,
allow_dep_file_cache_upload: bool = False,
force_full_hybrid_if_capable: bool = False,
exe: RunInfo | WorkerRunInfo = _,
unique_input_inodes: bool = False,
error_handler: typing.Callable = _,
remote_execution_dependencies: list[dict[str, str]] = []
) -> None

Runs a command

  • arguments: must be of type cmd_args, or a type convertible to such (such as a list of +strings and artifacts) and must contain at least one .as_output() artifact
  • category: category and identifier - when used together, identify the action in Buck2's +event stream, and must be unique for a given target
  • weight: used to note how heavy the command is and will typically be set to a higher +value to indicate that less such commands should be run in parallel (if running locally)
  • no_outputs_cleanup: if this flag is set then Buck2 won't clean the outputs of a previous +build that might be present on a disk; in which case, command from arguments should be +responsible for the cleanup (that is useful, for example, when an action is supporting +incremental mode and its outputs are based on result from a previous build)
  • metadata_env_var and meadata_path should be used together: both set or both unset
    • metadata_path: defines a path relative to the result directory for a file with +action metadata, which will be created right before the command will be run.
    • Metadata contains the path relative to the Buck2 project root and hash digest for +every action input (this excludes symlinks as they could be resolved by a user script +if needed). The resolved path relative to the Buck2 project for the metadata file will +be passed to command from arguments, via the environment variable, with its name set +by metadata_env_var
    • Both metadata_env_var and metadata_path are useful when making actions behave in +an incremental manner (for details, see Incremental +Actions)
  • The prefer_local, prefer_remote and local_only options allow selecting where the +action should run if the executor selected for this target is a hybrid executor.
    * All those options disable concurrent execution: the action will run on the preferred
    platform first (concurrent execution only happens with a "full" hybrid executor).
    * Execution may be retried on the "non-preferred" platform if it fails due to a
    transient error, except for `local_only`, which does not allow this.
    * If the executor selected is a remote-only executor and you use `local_only`, that's an
    error. The other options will not raise errors.
    * Setting more than one of those options is an error.
    * Those flags behave the same way as the equivalent `--prefer-remote`, `--prefer-local`
    and `--local-only` CLI flags. The CLI flags take precedence.
    * The `force_full_hybrid_if_capable` option overrides the `use_limited_hybrid` hybrid.
    The options listed above take precedence if set.
  • remote_execution_dependencies: list of dependencies which is passed to Remote Execution. +Each dependency is dictionary with the following keys:
    • smc_tier: name of the SMC tier to call by RE Scheduler.
    • id: name of the dependency.

When actions execute, they'll do so from the root of the repository. As they execute, +actions have exclusive access to their output directory.

Actions also get exclusive access to a "scratch" path that is exposed via the environment +variable BUCK_SCRATCH_PATH. This path is expressed as a path relative to the working +directory (i.e. relative to the project). This path is guaranteed to exist when the action +executes.

When actions run locally, the scratch path is also used as the TMPDIR.


def actions.symlink_file(
dest: artifact | output_artifact | str,
src: artifact,
/
) -> artifact

Creates a symlink to the source artifact at the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The symlink works for files or directories.


actions.symlinked_dir

def actions.symlinked_dir(
output: artifact | output_artifact | str,
srcs: dict[str, artifact],
/
) -> artifact

Returns an artifact that is a directory containing symlinks. The srcs must be a dictionary of path (as string, relative to the result directory) to bound artifact, which will be laid out in the directory.


actions.tset

def actions.tset(
definition: transitive_set_definition,
/,
value = _,
children: typing.Iterable = _
) -> transitive_set

Creates a new transitive set. For details, see https://buck2.build/docs/rule_authors/transitive_sets/.


actions.write

def actions.write(
output: artifact | output_artifact | str,
content: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,
/,
*,
is_executable: bool = False,
allow_args: bool = False,
with_inputs: bool = False,
absolute: bool = False
) -> artifact | (artifact, list[artifact])

Returns an artifact whose contents are content

  • is_executable (optional): indicates whether the resulting file should be marked with +executable permissions
  • allow_args (optional): must be set to True if you want to write parameter arguments to +the file (in particular, macros that write to file)
    • If it is true, the result will be a pair of the artifact containing content and a +list of artifact values that were written by macros, which should be used in hidden +fields or similar
  • absolute (optional): if set, this action will produce absolute paths in its output when +rendering artifact paths. You generally shouldn't use this if you plan to use this action +as the input for anything else, as this would effectively result in losing all shared +caching.

The content is often a string, but can be any ArgLike value. This is occasionally useful +for generating scripts to run as a part of another action. cmd_args in the content are +newline separated unless another delimiter is explicitly specified.


actions.write_json

def actions.write_json(
output: artifact | output_artifact | str,
content: None | artifact | bool | cell_root | cmd_args | enum | int | label | label_relative_path | output_artifact | project_root | record | resolved_macro | str | tagged_command_line | tagged_value | target_label | transitive_set_args_projection | transitive_set_json_projection | write_json_cli_args | list[typing.Any] | tuple | dict[typing.Any, typing.Any] | struct(..) | RunInfo | provider,
/,
*,
with_inputs: bool = False,
pretty: bool = False,
absolute: bool = False
) -> artifact | write_json_cli_args

Returns an artifact whose contents are content written as a JSON value.

  • output: can be a string, or an existing artifact created with declare_output
  • content: must be composed of the basic json types (boolean, number, string, list/tuple, +dictionary) plus artifacts and command lines
    • An artifact will be written as a string containing the path
    • A command line will be written as a list of strings, unless joined=True is set, in +which case it will be a string
  • If you pass with_inputs = True, you'll get back a cmd_args that expands to the JSON +file but carries all the underlying inputs as dependencies (so you don't have to use, for +example, hidden for them to be added to an action that already receives the JSON file)
  • pretty (optional): write formatted JSON (defaults to False)
  • absolute (optional): if set, this action will produce absolute paths in its output when +rendering artifact paths. You generally shouldn't use this if you plan to use this action +as the input for anything else, as this would effectively result in losing all shared +caching. (defaults to False)
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/anon_target/index.html b/docs/api/bxl/anon_target/index.html new file mode 100644 index 0000000000000..3b2a2c3e879b3 --- /dev/null +++ b/docs/api/bxl/anon_target/index.html @@ -0,0 +1,21 @@ + + + + + +anon_target type | Buck2 + + + + + + + + +
+

anon_target type

Accessors to the promise of the anon rule and the promised artifacts associated with the rule.

anon_target.artifact

def anon_target.artifact(name: str)

Gets a specific StarlarkPromiseArtifact by name. Returns an error if the name was not found in the registered promise artifacts for the anon target.


anon_target.artifacts

def anon_target.artifacts()

Returns a dict where the key is the promise artifact's name, and the value is the StarlarkPromiseArtifact.

To get a promise artifact where the short path is accessible, call ctx.actions.assert_short_path(...) and +pass in the artifact retrieved from this dict.


anon_target.promise

anon_target.promise: promise

Returns the promise that maps to the result of the anon rule.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/anon_targets/index.html b/docs/api/bxl/anon_targets/index.html new file mode 100644 index 0000000000000..84dc34a310535 --- /dev/null +++ b/docs/api/bxl/anon_targets/index.html @@ -0,0 +1,20 @@ + + + + + +anon_targets type | Buck2 + + + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/artifact/index.html b/docs/api/bxl/artifact/index.html new file mode 100644 index 0000000000000..a1938d4b411b4 --- /dev/null +++ b/docs/api/bxl/artifact/index.html @@ -0,0 +1,24 @@ + + + + + +artifact type | Buck2 + + + + + + + + +
+

artifact type

A single input or output file for an action.

There is no .parent method on artifact, but in most cases +cmd_args(my_artifact, parent = 1) can be used to similar effect.

artifact.as_output

def artifact.as_output() -> output_artifact

Returns a StarlarkOutputArtifact instance, or fails if the artifact is either an Artifact, or is a bound Artifact (You cannot bind twice)


artifact.basename

artifact.basename: str

The base name of this artifact. e.g. for an artifact at foo/bar, this is bar


artifact.extension

artifact.extension: str

The file extension of this artifact. e.g. for an artifact at foo/bar.sh, this is .sh. If no extension is present, "" is returned.


artifact.is_source

artifact.is_source: bool

Whether the artifact represents a source file


artifact.owner

artifact.owner: None | label

The Label of the rule that originally created this artifact. May also be None in the case of source files, or if the artifact has not be used in an action, or if the action was not created by a rule.


artifact.project

def artifact.project(
path: str,
/,
*,
hide_prefix: bool = False
) -> artifact

Create an artifact that lives at path relative from this artifact.

For example, if artifact foo is a directory containing a file bar, then foo.project("bar") +yields the file bar. It is possible for projected artifacts to hide the prefix in order to +have the short name of the resulting artifact only contain the projected path, by passing +hide_prefix = True to project().


artifact.short_path

artifact.short_path: str

The interesting part of the path, relative to somewhere in the output directory. For an artifact declared as foo/bar, this is foo/bar.


artifact.with_associated_artifacts

def artifact.with_associated_artifacts(artifacts: list[artifact]) -> artifact

Returns a StarlarkArtifact instance which is identical to the original artifact, but with potentially additional artifacts. The artifacts must be bound.


artifact.without_associated_artifacts

def artifact.without_associated_artifacts() -> artifact

Returns a StarlarkArtifact instance which is identical to the original artifact, except with no associated artifacts

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/attrs/index.html b/docs/api/bxl/attrs/index.html new file mode 100644 index 0000000000000..85fc2f263f43c --- /dev/null +++ b/docs/api/bxl/attrs/index.html @@ -0,0 +1,24 @@ + + + + + +attrs type | Buck2 + + + + + + + + +
+

attrs type

This type is available as a global attrs symbol, to allow the definition of attributes to the rule function.

As an example:

rule(impl = _impl, attrs = {"foo": attrs.string(), "bar": attrs.int(default = 42)})

Most attributes take at least two optional parameters:

  • A doc parameter, which specifies documentation for the attribute.

  • A default parameter, which if present specifies the default value for the attribute if omitted. +If there is no default, the user of the rule must supply that parameter.

Each attribute defines what values it accepts from the user, and which values it gives to the rule. +For simple types like attrs.string these are the same, for more complex types like attrs.dep these +are different (string from the user, dependency to the rule).

attrs.any

def attrs.any(*, doc: str = "", default = _) -> attribute

Takes most builtin literals and passes them to the rule as a string. Discouraged, as it provides little type safety and destroys the structure.


attrs.arg

def attrs.arg(
*,
json: bool = False,
default = _,
doc: str = "",
anon_target_compatible: bool = False
) -> attribute

Takes a command line argument from the user and supplies a cmd_args compatible value to the rule. The argument may contain special macros such as $(location :my_target) or $(exe :my_target) which will be replaced with references to those values in the rule. Takes in an optional anon_target_compatible flag, which indicates whether the args can be passed into anon targets. Note that there is a slight memory hit when using this flag.


attrs.bool

def attrs.bool(*, default = _, doc: str = "") -> attribute

Takes a boolean and passes it to the rule as a boolean.


attrs.configuration_label

def attrs.configuration_label(*, doc: str = "") -> attribute

attrs.configured_dep

def attrs.configured_dep(
*,
providers: list[typing.Any] | tuple = [],
default = _,
doc: str = ""
) -> attribute

attrs.default_only

def attrs.default_only(
inner: attribute,
/,
*,
doc: str = ""
) -> attribute

Rejects all values and uses the default for the inner argument. Often used to resolve dependencies, which otherwise can't be resolved inside a rule.

attrs.default_only(attrs.dep(default = "foo//my_package:my_target"))

attrs.dep

def attrs.dep(
*,
providers: list[typing.Any] | tuple = [],
pulls_plugins: list[typing.Any] | tuple = [],
pulls_and_pushes_plugins: all_plugins | list[typing.Any] | tuple = _,
default = _,
doc: str = ""
) -> attribute

Takes a target from the user, as a string, and supplies a dependency to the rule. A target can be specified as an absolute dependency foo//bar:baz, omitting the cell (//bar:baz) or omitting the package name (:baz).

If supplied the providers argument ensures that specific providers will be present +on the dependency.


attrs.dict

def attrs.dict(
key: attribute,
value: attribute,
*,
sorted: bool = False,
default = _,
doc: str = ""
) -> attribute

Takes a dict from the user, supplies a dict to the rule.


attrs.enum

def attrs.enum(
variants: list[str] | tuple[str, ...],
/,
*,
default = _,
doc: str = ""
) -> attribute

Takes a string from one of the variants given, and gives that string to the rule. Strings are matched case-insensitively, and always passed to the rule lowercase.


attrs.exec_dep

def attrs.exec_dep(
*,
providers: list[typing.Any] | tuple = [],
default = _,
doc: str = ""
) -> attribute

Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will transition to the execution platform. Use exec_dep if you plan to execute things from this dependency as part of the compilation.


attrs.int

def attrs.int(*, default = _, doc: str = "") -> attribute

Takes an int from the user, supplies an int to the rule.


attrs.label

def attrs.label(*, default = _, doc: str = "") -> attribute

Takes a target (as per deps) and passes a label to the rule. Validates that the target exists, but does not introduce a dependency on it.


attrs.list

def attrs.list(
inner: attribute,
/,
*,
default = _,
doc: str = ""
) -> attribute

Takes a list from the user, supplies a list to the rule.


attrs.named_set

def attrs.named_set(
value_type: attribute,
/,
*,
sorted: bool = False,
default = _,
doc: str = ""
) -> attribute

attrs.one_of

def attrs.one_of(*args: attribute, default = _, doc: str = "") -> attribute

Given a list of alternative attributes, selects the first that matches and gives that to the rule.


attrs.option

def attrs.option(
inner: attribute,
/,
*,
default = _,
doc: str = ""
) -> attribute

Takes a value that may be None or some inner type, and passes either None or the value corresponding to the inner to the rule. Often used to make a rule optional:

attrs.option(attr.string(), default = None)

attrs.plugin_dep

def attrs.plugin_dep(
*,
kind,
default = _,
doc: str = ""
) -> attribute

attrs.query

def attrs.query(*, doc: str = "") -> attribute

attrs.regex

def attrs.regex(*, default = _, doc: str = "") -> attribute

Currently an alias for attrs.string.


attrs.set

def attrs.set(
value_type: attribute,
/,
*,
sorted: bool = False,
default = _,
doc: str = ""
) -> attribute

attrs.source

def attrs.source(
*,
allow_directory: bool = False,
default = _,
doc: str = ""
) -> attribute

Takes a source file from the user, supplies an artifact to the rule. The source file may be specified as a literal string (representing the path within this package), or a target (which must have a DefaultInfo with a default_outputs value).


attrs.split_transition_dep

def attrs.split_transition_dep(
*,
providers: list[typing.Any] | tuple = [],
cfg,
default = _,
doc: str = ""
) -> attribute

attrs.string

def attrs.string(
*,
default = _,
validate = _,
doc: str = ""
) -> attribute

Takes a string from the user, supplies a string to the rule.


attrs.toolchain_dep

def attrs.toolchain_dep(
*,
providers: list[typing.Any] | tuple = [],
default = _,
doc: str = ""
) -> attribute

Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will be a toolchain dependency, meaning that its execution platform dependencies will be used to select the execution platform for this rule.


attrs.transition_dep

def attrs.transition_dep(
*,
providers: list[typing.Any] | tuple = [],
cfg,
default = _,
doc: str = ""
) -> attribute

attrs.tuple

def attrs.tuple(*args: attribute, default = _, doc: str = "") -> attribute

Takes a tuple of values and gives a tuple to the rule.


attrs.versioned

def attrs.versioned(value_type: attribute, *, doc: str = "") -> attribute
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/buck_regex/index.html b/docs/api/bxl/buck_regex/index.html new file mode 100644 index 0000000000000..8a06bedf3b088 --- /dev/null +++ b/docs/api/bxl/buck_regex/index.html @@ -0,0 +1,20 @@ + + + + + +buck_regex type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.ActionQueryNode/index.html b/docs/api/bxl/bxl.ActionQueryNode/index.html new file mode 100644 index 0000000000000..85c3b669c2045 --- /dev/null +++ b/docs/api/bxl/bxl.ActionQueryNode/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.ActionQueryNode type | Buck2 + + + + + + + + +
+

bxl.ActionQueryNode type

Methods for action query node.

bxl.ActionQueryNode.action

def bxl.ActionQueryNode.action() -> None | action

Gets optional action from the action query target node.


bxl.ActionQueryNode.analysis

def bxl.ActionQueryNode.analysis() -> None | bxl.AnalysisResult

Gets optional analysis from the action query target node.


bxl.ActionQueryNode.attrs

bxl.ActionQueryNode.attrs: typing.Any

Gets the attributes from the action query node. Returns a struct.


bxl.ActionQueryNode.rule_type

bxl.ActionQueryNode.rule_type: str

Gets the kind of action query node, either analysis or action kind.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.Actions/index.html b/docs/api/bxl/bxl.Actions/index.html new file mode 100644 index 0000000000000..4542b05bdf49a --- /dev/null +++ b/docs/api/bxl/bxl.Actions/index.html @@ -0,0 +1,21 @@ + + + + + +bxl.Actions type | Buck2 + + + + + + + + +
+

bxl.Actions type

The bxl action context is the context for creating actions. This context is obtained after performing execution platform resolution based on a set of given dependencies and toolchains.

You can access the analysis actions to create actions, and the resolved dependencies and +toolchains from this context

bxl.Actions.actions

bxl.Actions.actions: actions

Gets the analysis action context to create and register actions on the execution platform corresponding to this bxl action's execution platform resolution.


bxl.Actions.exec_deps

bxl.Actions.exec_deps: dict[providers_label, dependency]

Gets the execution deps requested correctly configured for the current execution platform


bxl.Actions.toolchains

bxl.Actions.toolchains: dict[providers_label, dependency]

Gets the toolchains requested configured for the current execution platform

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.AnalysisResult/index.html b/docs/api/bxl/bxl.AnalysisResult/index.html new file mode 100644 index 0000000000000..39f62b493a03b --- /dev/null +++ b/docs/api/bxl/bxl.AnalysisResult/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.AnalysisResult type | Buck2 + + + + + + + + +
+

bxl.AnalysisResult type

The result of running an analysis in bxl.

bxl.AnalysisResult.as_dependency

def bxl.AnalysisResult.as_dependency() -> dependency

Converts the analysis result into a dependency. Currently, you can only get a dependency without any transitions. This means that you cannot create an exec dep or toolchain from an analysis result. We may support other dependency transition types in the future. This is useful for passing in the results of ctx.analysis() into anon targets.

Sample usage:

def _impl_dependency(ctx):
node = ctx.configured_targets("root//bin:the_binary")
dependency = ctx.analysis(node).as_dependency()

bxl.AnalysisResult.providers

def bxl.AnalysisResult.providers()

Access the providers of the rule. Returns a provider_collection the same as accessing providers of dependencies within a rule implementation.

Sample usage:

def _impl_providers(ctx):
node = ctx.configured_targets("root//bin:the_binary")
providers = ctx.analysis(node).providers()
ctx.output.print(providers[FooInfo])
providers = ctx.analysis("//:bin").providers()
ctx.output.print(providers[FooInfo])
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.AqueryContext/index.html b/docs/api/bxl/bxl.AqueryContext/index.html new file mode 100644 index 0000000000000..89700fd98441e --- /dev/null +++ b/docs/api/bxl/bxl.AqueryContext/index.html @@ -0,0 +1,23 @@ + + + + + +bxl.AqueryContext type | Buck2 + + + + + + + + +
+

bxl.AqueryContext type

The context for performing aquery operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within aquery command.

Query results are target_sets of action_query_nodes, which supports iteration, +indexing, len(), set addition/subtraction, and equals().

bxl.AqueryContext.all_actions

def bxl.AqueryContext.all_actions(
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label]
) -> target_set

Obtain all the actions declared within the analysis of a given target.

This operation only makes sense on a target literal (it is a simple passthrough when passed +an action).


bxl.AqueryContext.all_outputs

def bxl.AqueryContext.all_outputs(
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label]
) -> target_set

Obtain the actions for all the outputs provided by the DefaultInfo for the targets passed as input. This includes both the default_outputs and other_outputs.

This operation only makes sense on a target literal (it does nothing if passed something +else).


bxl.AqueryContext.attrfilter

def bxl.AqueryContext.attrfilter(
attr: str,
value: str,
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label]
) -> target_set

The attrfilter query for rule attribute filtering.


bxl.AqueryContext.deps

def bxl.AqueryContext.deps(
universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label],
depth: None | int = None,
filter: None | str = None
) -> target_set

The deps query for finding the transitive closure of dependencies.


bxl.AqueryContext.eval

def bxl.AqueryContext.eval(
query: str,
query_args: None | target_set | list[str] = None
)

Evaluates some general query string. query_args can be a target_set of unconfigured nodes, or a list of strings. Returns a dict of target labels mapped to their target_set results if query_args was passed in, otherwise returns a single target_set.

Sample usage:

def _impl_eval(ctx):
result = ctx.aquery().eval(":foo")
ctx.output.print(result)
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.AuditContext/index.html b/docs/api/bxl/bxl.AuditContext/index.html new file mode 100644 index 0000000000000..675a9d02468e7 --- /dev/null +++ b/docs/api/bxl/bxl.AuditContext/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.AuditContext type | Buck2 + + + + + + + + +
+

bxl.AuditContext type

The context for performing audit operations in bxl. The functions offered on this ctx are the same behaviour as the audit functions available within audit command.

bxl.AuditContext.cell

def bxl.AuditContext.cell(
aliases_to_resolve: list[str] | tuple[str, ...] = [],
*,
aliases: bool = False
) -> dict[str, str]

Query information about the [cells] list in .buckconfig.

Takes the following parameters:

  • aliases_to_resolve - list of cell aliases to query. These aliases will be resolved in the root cell of the BXL script.
  • optional aliases flag - if enabled, and no explicit aliases are passed, will query for all aliases in the root cell of the BXL script.

Returns a dict of cell name to absolute path mappings.

Sample usage:

def _impl_audit_cell(ctx):
result = ctx.audit().cell(aliases = True)
ctx.output.print(result)

bxl.AuditContext.output

def bxl.AuditContext.output(
output_path: str,
target_platform: None | str | target_label = _
)

Returns either: - The action which created the buck-out path, if exists. - The unconfigured_target_label constructed from the buck-out path, if the configuration hashes do not match. - None, if the configuration hash of the buck-out path matches the one passed into this function, or the default target configuration, but no action could be found that generated the buck-out path.

Takes in an optional target platform, otherwise will use the default target platform.

Sample usage:

def _impl_audit_output(ctx):
target_platform = "foo"
result = ctx.audit().output("buck-out/v2/gen/fbcode/some_cfg_hash/path/to/__target__/artifact", target_platform)
ctx.output.print(result)
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.BuildResult/index.html b/docs/api/bxl/bxl.BuildResult/index.html new file mode 100644 index 0000000000000..0aff99d27813b --- /dev/null +++ b/docs/api/bxl/bxl.BuildResult/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.BuildResult type | Buck2 + + + + + + + + +
+

bxl.BuildResult type

The result of building in bxl.

bxl.BuildResult.artifacts

def bxl.BuildResult.artifacts() -> None | bxl_built_artifacts_iterable

Returns an optional iterable of artifacts that was successfully built.

Sample usage:

def _impl(ctx):
outputs = {}
for target, value in ctx.build(ctx.cli_args.target).items():
ctx.output.print(value.artifacts())

bxl.BuildResult.failures

def bxl.BuildResult.failures() -> None | bxl_failed_artifacts_iterable

Returns an optional of iterable of artifacts that failed to be built.

Sample usage:

def _impl(ctx):
outputs = {}
for target, value in ctx.build(ctx.cli_args.target).items():
ctx.output.print(value.failures())
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.ConfiguredTargetNode/index.html b/docs/api/bxl/bxl.ConfiguredTargetNode/index.html new file mode 100644 index 0000000000000..fe0d882f23ebb --- /dev/null +++ b/docs/api/bxl/bxl.ConfiguredTargetNode/index.html @@ -0,0 +1,39 @@ + + + + + +bxl.ConfiguredTargetNode type | Buck2 + + + + + + + + +
+

bxl.ConfiguredTargetNode type

bxl.ConfiguredTargetNode.attrs_eager

def bxl.ConfiguredTargetNode.attrs_eager()

Returns a struct of all the attributes of this target node. The structs fields are the attributes names, and the values are [StarlarkConfiguredAttr].

If you need to access many or all attrs on the same node, then this is the preferred way. Otherwise, +using attrs_lazy() would be a better option for only accessing only a few attrs, although this really +depends on what kind of attrs are on the node. Benchmarking performance will give you the best +indication on which method to use.

You should store the result of this function call for further usage in the code rather than calling +attrs_eager() each time you need to access the attrs.

Sample usage:

def _impl_attrs_eager(ctx):
node = ctx.cquery().owner("cell//path/to/TARGETS")[0]
attrs = node.attrs_eager() # cache once
ctx.output.print(attrs)
# do more stuff with attrs

bxl.ConfiguredTargetNode.attrs_lazy

def bxl.ConfiguredTargetNode.attrs_lazy() -> lazy_attrs

Returns a lazy_attrs object that you can call get() on that gets an attr one at a time.

If you need to access only few attrs on the same node, then this is the preferred way. Otherwise, +using attrs_eager() would be a better option for accessing many or all attrs, although this really +depends on what kind of attrs are on the node. Benchmarking performance will give you the best +indication on which method to use.

You should store the result of this function call for further usage in the code rather than calling +attrs_lazy() each time to get the lazy_attrs object. Note that if the get() is None, +then any methods called on None will result in an error.

Sample usage:

def _impl_attrs_lazy(ctx):
node = ctx.cquery().owner("cell//path/to/TARGETS")[0]
attrs = node.attrs_lazy() # cache once
ctx.output.print(attrs.get("some_attributes").value())
ctx.output.print(attrs.get("some_attribute").label)

bxl.ConfiguredTargetNode.buildfile_path

bxl.ConfiguredTargetNode.buildfile_path: bxl.FileNode

Gets the buildfile path from the configured target node.

Sample usage:

def _impl_label(ctx):
target_node = ctx.cquery().eval("owner('path/to/file')")[0]
ctx.output.print(target_node.buildfile_path)

bxl.ConfiguredTargetNode.get_source

def bxl.ConfiguredTargetNode.get_source(
path: str,
ctx: bxl.Context
) -> None | artifact

Gets the source Artifact that corresponds to the given path given a context. The path should be the project relative path to the file, or an absolute path.

Sample usage:

def _impl_get_source(ctx):
owner = ctx.cquery().owner("project/relative/path/to/file")[0]
artifact = owner.sources()[0]
ctx.output.print(artifact)

bxl.ConfiguredTargetNode.label

bxl.ConfiguredTargetNode.label: configured_target_label

Gets the configured target label of this target node.

Note that you cannot get a non-configured label from a configured target node because the +configured target node is not uniquely identified a non-configured label, only by the configured target label.

Sample usage:

def _impl_label(ctx):
node = ctx.configured_targets("my_cell//bin:the_binary")
ctx.output.print(node.label)

bxl.ConfiguredTargetNode.resolved_attrs_eager

def bxl.ConfiguredTargetNode.resolved_attrs_eager(ctx: bxl.Context)

Returns a struct of all the resolved attributes of this target node. The structs fields are the attributes names, and the values are the underlying Starlark values of the attributes.

If you need to access many or all resolved attrs on the same node, then this is the preferred way. Otherwise, +using resolved_attrs_lazy() would be a better option for accessing only a few resolved attrs, although this really +depends on what kind of resolved attrs are on the node. Benchmarking performance will give you the best +indication on which method to use.

You should store the result of this function call for further usage in the code rather than calling +resolved_attrs_eager() each time you need all the resolved attrs.

Sample usage:

def _impl_resolved_attrs_eager(ctx):
node = ctx.cquery().owner("cell//path/to/TARGETS")[0]
attrs = node.resolved_attrs_eager(ctx) # cache once
ctx.output.print(attrs)
# do more stuff with attrs

bxl.ConfiguredTargetNode.resolved_attrs_lazy

def bxl.ConfiguredTargetNode.resolved_attrs_lazy(
ctx: bxl.Context
) -> bxl.LazyResolvedAttrs

Returns a lazy_resolved_attrs object that you can call get() on that gets a resolved attr one at a time.

If you need to access only few resolved attrs on the same node, then this is the preferred way. Otherwise, +using resolved_attrs_eager() would be a better option for accessing many or all resolved attrs, although this really +depends on what kind of resolved attrs are on the node. Benchmarking performance will give you the best +indication on which method to use.

You should store the result of this function call for further usage in the code rather than calling +resolved_attrs_lazy() each time to get the lazy_resolved_attrs object. Note that if the get() is None, +then any methods called on None will result in an error.

Sample usage:

def _impl_resolved_attrs_lazy(ctx):
node = ctx.cquery().owner("cell//path/to/TARGETS")[0]
attrs = node.resolved_attrs_lazy(ctx) # cache once
ctx.output.print(attrs.get("some_attributes").value())
ctx.output.print(attrs.get("some_attribute").label)

bxl.ConfiguredTargetNode.rule_kind

bxl.ConfiguredTargetNode.rule_kind: str

Gets the targets' corresponding rule's kind which is one of - normal (with no special properties) - configured (usable in a configuration context) - toolchain (only usable as a toolchain dep)

Sample usage:

def _impl_rule_kind(ctx):
node = ctx.configured_targets("my_cell//bin:the_binary")
ctx.output.print(node.rule_kind)

bxl.ConfiguredTargetNode.rule_type

bxl.ConfiguredTargetNode.rule_type: str

Gets the targets' corresponding rule's name. This is the fully qualified rule name including the import path.

Sample usage:

def _impl_rule_type(ctx):
node = ctx.configured_targets("my_cell//bin:the_binary")
ctx.output.print(node.rule_type)

bxl.ConfiguredTargetNode.sources

def bxl.ConfiguredTargetNode.sources() -> list[artifact]

Returns a List of all the sources used by this node.

Sample usage:

def _impl_sources(ctx):
node = ctx.configured_targets("my_cell//bin:the_binary")
ctx.output.print(node.sources())

bxl.ConfiguredTargetNode.unwrap_forward

def bxl.ConfiguredTargetNode.unwrap_forward() -> bxl.ConfiguredTargetNode

Skip incoming transition forward node. If a target is a forward node, which is created by applying incoming configuration transition, return the transition target, otherwise return itself. This is is particularly useful when you don't care about 'forward' node.

Example usage:

def _impl_unwrap_forward(ctx):
node = ctx.configured_targets("my_cell//bin:the_binary")
actual_node = node.unwrap_forward()
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.Context/index.html b/docs/api/bxl/bxl.Context/index.html new file mode 100644 index 0000000000000..65e5a87a308df --- /dev/null +++ b/docs/api/bxl/bxl.Context/index.html @@ -0,0 +1,49 @@ + + + + + +bxl.Context type | Buck2 + + + + + + + + +
+

bxl.Context type

The bxl context that the top level bxl implementation receives as parameter. This context contains all the core bxl functions to query, build, create actions, etc.

bxl.Context.analysis

def bxl.Context.analysis(
labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label],
target_platform: None | str | target_label = _,
*,
skip_incompatible: bool = True
) -> None | bxl.AnalysisResult | dict[label, bxl.AnalysisResult]

Runs analysis on the given labels, accepting an optional target_platform which is the target platform configuration used to resolve configurations of any unconfigured target nodes, and an optional skip_incompatible boolean that indicates whether to skip analysis of nodes that are incompatible with the target platform. The target_platform is either a string that can be parsed as a target label, or a target label.

The given labels is a providers expression, which is either:

- a single string that is a `target pattern`.
- a single target node or label, configured or unconfigured
- a single sub target label, configured or unconfigured
- a list of the two options above.

This returns either a single analysis_result if the given labels argument is "singular", +or a dict keyed by sub target labels of analysis if the given labels argument +is list-like


bxl.Context.aquery

def bxl.Context.aquery(
target_platform: None | str | target_label = _
) -> bxl.AqueryContext

Returns the aqueryctx that holds all the aquery functions. This function takes an optional parameter target_platform, which is the target platform configuration used to configured any unconfigured target nodes.

The target_platform is a target label, or a string that is a target label.


bxl.Context.audit

def bxl.Context.audit() -> bxl.AuditContext

Returns the audit_ctx that holds all the audit functions.


bxl.Context.build

def bxl.Context.build(
labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label],
target_platform: None | str | target_label = _,
*,
materializations: str = "default"
) -> dict[label, bxl.BuildResult]

Runs a build on the given labels, accepting an optional target_platform which is the target platform configuration used to resolve configurations. Note that when build() is called, the artifacts are materialized without needing to additionally call ensure() on them.

The given labels is a providers expression, which is either:

- a single string that is a `target pattern`.
- a single target node or label, configured or unconfigured
- a single provider label, configured or unconfigured
- a list of the two options above.

This returns a dict keyed by sub target labels mapped to bxl_build_results if the +given labels argument is list-like.

This function is not available on the bxl_ctx when called from dynamic_output.


bxl.Context.bxl_actions

def bxl.Context.bxl_actions(
*,
exec_deps: None | bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label] = None,
toolchains: None | bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label] = None,
target_platform: None | str | target_label = _,
exec_compatible_with: None | bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] = None
) -> bxl.Actions

Returns the bxl actions to create and register actions for this bxl function. This will have the execution platform resolved according to the execution deps and toolchains you pass into this function. You'll be able to access the analysis action factory of the correct execution platform, toolchains, and execution deps of the corresponding configuration via this context.

Actions created by bxl will not be built by default. Instead, they are marked to be built +by ctx.output.ensure(artifact) on the output module of the bxl_ctx. Only artifacts +marked by ensure will be built.

Sample usage:

def _impl_write_action(ctx):
bxl_actions = ctx.bxl_actions()
output = bxl_actions.actions.write("my_output", "my_content")
ensured = ctx.output.ensure(output)
ctx.output.print(ensured)

There are several optional named parameters:

exec_deps - These are dependencies you wish to access as executables for creating the action. +This is usually the same set of targets one would pass to rule's attr.exec_dep. +toolchains - The set of toolchains needed for the actions you intend to create. +target_platform - The intended target platform for your toolchains +exec_compatible_with - Explicit list of configuration nodes (like platforms or constraints) +that these actions are compatible with. This is the 'exec_compatible_with' attribute of a target.

If you passed in exec_deps or toolchains, you can access the resolved dependencies using the exec_deps +and toolchains attributes on the bxl_actions, which both return a dict of unconfigured subtarget labels +and their configured/resolved dependency objects.

Note that the keys of exec_deps and toolchains must be unconfigured subtarget labels (providers_labels), +and not unconfigured target labels. You can use ctx.unconfigured_sub_targets(...) or with_sub_target() on +target_label to create the label.

def _impl_run_action(ctx):
my_exec_dep = ctx.unconfigured_sub_targets("foo//bar:baz") # has some provider that you would use in the action
bxl_actions = ctx.bxl_actions(exec_deps = [my_exec_dep]) # call once, reuse wherever needed
output = bxl_actions.actions.run(
[
"python3",
bxl_actions.exec_deps[my_exec_dep][RunInfo], # access resolved exec_deps on the `bxl_actions`
out.as_output(),
],
category = "command",
local_only = True,
)
ctx.output.ensure(output)

When called from a dynamic_output, bxl_actions() cannot be configured with a different execution +platform resolution from the parent BXL.


bxl.Context.cell_root

def bxl.Context.cell_root() -> str

Returns the absolute path to the cell of the repository

This function is not available on the bxl_ctx when called from dynamic_output.


bxl.Context.cli_args

bxl.Context.cli_args: struct(..)

A struct of the command line args as declared using the [cli_args] module. These command lines are resolved per the users input on the cli when invoking the bxl script.

If you wish to pass in a kebab-cased arg, the arg accessed from the BXL context's cli_args +attrbute will always be in snakecase. For example, if you passed in my-arg, accessing it +within BXL would look like ctx.cli_args.my_arg.

This attribute is not available on the bxl context within the a dynamic lambda.


bxl.Context.configured_targets

def bxl.Context.configured_targets(
labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],
/,
target_platform: None | str | target_label = _
) -> None | bxl.ConfiguredTargetNode | target_set

Gets the target nodes for the labels, accepting an optional target_platform which is the target platform configuration used to resolve configurations of any unconfigured target nodes. The target_platform is either a string that can be parsed as a target label, or a target label.

The given labels is a [TargetListExpr], which is either:

- a single string that is a `target pattern`.
- a single target node or label, configured or unconfigured
- a list of the two options above.

Note that this function does not accept Label (which is a configured provider label), since this +is the label of a subtarget. You can get the underlying configured target label on the Label +using configured_targets() (ex: my_label.configured_target()).

This returns either a single target_node if the given labels +is "singular", a dict keyed by target labels of target_node if the +given labels is list-like


bxl.Context.cquery

def bxl.Context.cquery(
target_platform: None | str | target_label = _
) -> bxl.CqueryContext

Returns the cqueryctx that holds all the cquery functions. This function takes an optional parameter target_platform, which is the target platform configuration used to configured any unconfigured target nodes.

The target_platform is a target label, or a string that is a target label.


bxl.Context.fs

bxl.Context.fs: bxl.Filesystem

Returns the bxl.Filesystem for performing a basic set of filesystem operations within bxl


bxl.Context.instant_event

def bxl.Context.instant_event(*, id: str, metadata) -> None

Emits a user-defined instant event, taking in a required string id and a metadata dictionary where the keys are strings, and values are either strings, bools, or ints. The id is user-supplied, and used to identify the instant events in the event logs more easily.

You may pass in an ensured artifact as a value in the metadata. The resulting output would be the ensured +artifact's relative or absolute path as a string.


bxl.Context.output

bxl.Context.output: bxl.OutputStream

Gets the output stream to the console via stdout. Items written to the output stream are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached.

Prints that are not result of the bxl should be printed via stderr via the stdlib print +and pprint.

This function is not available on the bxl_ctx when called from dynamic_output.


bxl.Context.resolve

def bxl.Context.resolve(action_factory: actions, promise: promise)

Awaits a promise and returns an optional value of the promise.

Sample usage:

load("//path/to/rules:rules.bzl", "my_anon_targets_rule", "my_map_function")

def _resolve_impl(ctx):
actions = ctx.bxl_actions().actions
my_attrs = {
"false": False,
"int": 42,
"list_string": ["a", "b", "c"],
"string": "a-string",
"true": True,
}

promise = actions.anon_target(my_anon_targets_rule, attrs).promise.map(my_map_function)
providers_result = ctx.resolve(actions, promise) # result is `provider_collection` type, which is a collection of `provider`s
ctx.output.print(providers_result[0].my_field)

bxl.Context.root

def bxl.Context.root() -> str

Returns the absolute path to the root of the repository

This function is not available on the bxl_ctx when called from dynamic_output.


bxl.Context.target_exists

def bxl.Context.target_exists(label: str) -> bool

Checks if a target label exists. Target label must be a string literal, and an exact target.


bxl.Context.target_universe

def bxl.Context.target_universe(
labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],
target_platform: None | str | target_label = _,
*,
keep_going: bool = False
) -> bxl.TargetUniverse

Returns the target_universe that can lookup valid configured nodes in the universe.

The given labels is a target expression, which is either:

- a single string that is a `target pattern`.
- a single target node or label, configured or unconfigured
- a single subtarget label, configured or unconfigured
- a list of the two options above.

Also takes in an optional target_platform param to configure the nodes with, and a keep_going`` +flag to skip any loading or configuration errors. Note that keep_going` currently can only be used +if the input labels is a single target pattern as a string literal.


bxl.Context.unconfigured_sub_targets

def bxl.Context.unconfigured_sub_targets(
labels: bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label]
) -> providers_label | dict[str, providers_label]

Gets the unconfigured subtargets for the given labels

The given labels is a providers expression, which is either:

- a single string that is a `target pattern`.
- a single target node or label, configured or unconfigured
- a single subtarget label, configured or unconfigured
- a list of the two options above.

This returns either a single providers_label if the given labels argument +is "singular", or dict of the subtarget string representation to the +providers_label if the given labels argument is list-like.

Note that this function does not check that this subtarget exists in the repo.


bxl.Context.unconfigured_targets

def bxl.Context.unconfigured_targets(
labels: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> bxl.UnconfiguredTargetNode | target_set

Gets the unconfigured target nodes for the labels

The given labels is either:

- a single string that is a `target pattern`.
- a single unconfigured target node or label
- a list of the two options above.

This returns either a single [StarlarkTargetNode] if the given labels +is "singular", a dict keyed by target labels of [StarlarkTargetNode] if the +given labels is list-like


bxl.Context.uquery

def bxl.Context.uquery() -> bxl.UqueryContext

Returns the uqueryctx that holds all uquery functions.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.CqueryContext/index.html b/docs/api/bxl/bxl.CqueryContext/index.html new file mode 100644 index 0000000000000..342cbe0e211eb --- /dev/null +++ b/docs/api/bxl/bxl.CqueryContext/index.html @@ -0,0 +1,21 @@ + + + + + +bxl.CqueryContext type | Buck2 + + + + + + + + +
+

bxl.CqueryContext type

The context for performing cquery operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within cquery command.

Query results are target_sets of target_nodes, which supports iteration, +indexing, len(), set addition/subtraction, and equals().

bxl.CqueryContext.allpaths

def bxl.CqueryContext.allpaths(
from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],
to: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> target_set

The allpaths query for computing all dependency paths.


bxl.CqueryContext.attrfilter

def bxl.CqueryContext.attrfilter(
attr: str,
value: str,
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> target_set

The attrfilter query for rule attribute filtering.


bxl.CqueryContext.attrregexfilter

def bxl.CqueryContext.attrregexfilter(
attribute: str,
value: str,
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> target_set

The attrregexfilter query for rule attribute filtering with regex.

Sample usage:

def _impl_attrregexfilter(ctx):
filtered = ctx.cquery().attrregexfilter("foo", "he.lo", "bin/kind/...")
ctx.output.print(filtered)

bxl.CqueryContext.buildfile

def bxl.CqueryContext.buildfile(
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> file_set

Find the build file(s) that defines a target or a target set.

Sample usage:

def _buildfile_impl(ctx):
owner = ctx.cquery().owner(["bin/TARGET", "bin/kind"])
result = ctx.cquery().buildfile(owner)
ctx.output.print(result)

bxl.CqueryContext.deps

def bxl.CqueryContext.deps(
universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],
depth: None | int = None,
filter: None | str = None
) -> target_set

The deps query for finding the transitive closure of dependencies.

Sample usage:

def _impl_deps(ctx):
result = ctx.cquery().deps("root//bin:the_binary", 1)
ctx.output.print(result)

bxl.CqueryContext.eval

def bxl.CqueryContext.eval(
query: str,
query_args: None | target_set | list[str] = None,
target_universe: None | list[str] | tuple[str, ...] = None
)

Evaluates some general query string. query_args can be a target_set of unconfigured nodes, or a list of strings. Returns a dict of target labels mapped to their target_set results if query_args was passed in, otherwise returns a single target_set.

Sample usage:

def _impl_eval(ctx):
result1 = ctx.cquery().eval("inputs(root//bin:the_binary)")
ctx.output.print(result1)

result2 = ctx.cquery().eval("inputs(%s)", query_args = ["cell//path/to/file:target"])
ctx.output.print(result2)

bxl.CqueryContext.filter

def bxl.CqueryContext.filter(
regex: str,
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> target_set

The filter query for filtering targets by name.

Sample usage:

def _impl_filter(ctx):
result = ctx.cquery().filter(".*the_binary", "root//...")
ctx.output.print(result)

bxl.CqueryContext.inputs

def bxl.CqueryContext.inputs(
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> file_set

The inputs query for finding input files.

Sample usage:

def _impl_inputs(ctx):
result = ctx.cquery().inputs("root//bin:the_binary")
ctx.output.print(result)

bxl.CqueryContext.kind

def bxl.CqueryContext.kind(
regex: str,
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> target_set

The kind query for filtering targets by rule type.

Sample usage:

def _impl_kind(ctx):
kind = ctx.cquery().kind(".*1", "bin/kind/...")
ctx.output.print(kind)

bxl.CqueryContext.nattrfilter

def bxl.CqueryContext.nattrfilter(
attr: str,
value: str,
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> target_set

The nattrfilter query for rule attribute filtering. It is the opposite of attrfilter, i.e. it filters targets by attribute but excludes those that match.


bxl.CqueryContext.owner

def bxl.CqueryContext.owner(
files: file_set | str | list[str] | tuple[str, ...],
universe: None | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] = None
) -> target_set

The owner query for finding targets that own specified files. Note that if you do not pass in a cell path (where the format is <cell>//path/to/file), the path is resolved against the cell that the BXL script lives in. If you need to evaluate a file path that lives in a different cell, you must pass in the fully qualified cell path.

Sample usage:

def _owner_impl(ctx):
owner = ctx.cquery().owner("bin/TARGETS.fixture", "foo//target/universe/...")
ctx.output.print(owner)

bxl.CqueryContext.rdeps

def bxl.CqueryContext.rdeps(
universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],
from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],
depth: int = _
) -> target_set

The rdeps query for finding the transitive closure of reverse dependencies.

Sample usage:

def _impl_rdeps(ctx):
result = ctx.cquery().rdeps("root//bin:the_binary", "//lib:file1", 100)
ctx.output.print(result)

bxl.CqueryContext.somepath

def bxl.CqueryContext.somepath(
from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label],
to: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> target_set

bxl.CqueryContext.testsof

def bxl.CqueryContext.testsof(
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> target_set

The testsof query for listing the tests of the specified targets.


bxl.CqueryContext.testsof_with_default_target_platform

def bxl.CqueryContext.testsof_with_default_target_platform(
targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label]
) -> target_set

The testsof query for listing the tests of the specified targets. Performs default target platform resolution under the hood for the tests found.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.EnsuredArtifact/index.html b/docs/api/bxl/bxl.EnsuredArtifact/index.html new file mode 100644 index 0000000000000..7628c17b315a4 --- /dev/null +++ b/docs/api/bxl/bxl.EnsuredArtifact/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.EnsuredArtifact type | Buck2 + + + + + + + + +
+

bxl.EnsuredArtifact type

An artifact that will be materialized to buck-out at the end of the bxl invocation. These artifacts can be printed to bxl's results. Doing so will print the path of the artifact rather than the standard representation.

Ensured artifacts are serializable and hashable.

bxl.EnsuredArtifact.abs_path

def bxl.EnsuredArtifact.abs_path()

Converts this artifact to be printed by its absolute path. Note that this will only print out the absolute path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact.

Sample usage:

def _impl_abs_path(ctx):
actions = ctx.bxl_actions().actions
output = actions.write("my_output", "my_content")
ensured = ctx.output.ensure(output) # currently defaults to creating an EnsuredArtifact with a relative path

ensured_with_abs_path = ensured.abs_path() # create a new EnsuredArtifact with absolute path to reuse
print(ensured_with_abs_path) # should return something like <ensured artifact ... >
ctx.output.print(ensured_with_abs_path) # should return the absolute path of the artifact

bxl.EnsuredArtifact.rel_path

def bxl.EnsuredArtifact.rel_path()

Converts this artifact to be printed by its path relative to the project root. Note that this will only print out the relative path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact.

Sample usage:

def _impl_rel_path(ctx):
actions = ctx.bxl_actions().actions
output = actions.write("my_output", "my_content")
ensured = ctx.output.ensure(output) # currently defaults to creating an EnsuredArtifact with a relative path

ensured_with_rel_path = ensured.rel_path() # create a new EnsuredArtifact with relative path to reuse
print(ensured_with_rel_path) # should return something like <ensured artifact ... >
ctx.output.print(ensured_with_rel_path) # should return the relative path of the artifact
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.FileNode/index.html b/docs/api/bxl/bxl.FileNode/index.html new file mode 100644 index 0000000000000..da2f1039618f6 --- /dev/null +++ b/docs/api/bxl/bxl.FileNode/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.FileNode type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.Filesystem/index.html b/docs/api/bxl/bxl.Filesystem/index.html new file mode 100644 index 0000000000000..2f0ce986db8e9 --- /dev/null +++ b/docs/api/bxl/bxl.Filesystem/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.Filesystem type | Buck2 + + + + + + + + +
+

bxl.Filesystem type

Provides some basic tracked filesystem access for bxl functions so that they can meaningfully detect simple properties of artifacts, and source directories.

bxl.Filesystem.abs_path_unsafe

def bxl.Filesystem.abs_path_unsafe(expr: artifact | bxl.FileNode | str) -> str

Returns the absolute path, given the file expression. Use at your own risk, as the current working directory may have been changed when this function is called. In addition, passing the absolute path into actions that are run remotely will most likely result in failures since the absolute path most likely differs locally vs remotely.

Sample usage:

def _impl_abs_path_unsafe(ctx):
ctx.output.print(ctx.fs.abs_path_unsafe("bin"))

bxl.Filesystem.exists

def bxl.Filesystem.exists(expr: artifact | bxl.FileNode | str) -> bool

Check if a path exists on disk, taking advantage of Buck's cached filesystem. Takes in a literal, a source artifact (via artifact), or a file_node.

Sample usage:

def _impl_exists(ctx):
ctx.output.print(ctx.fs.exists("bin"))

bxl.Filesystem.is_dir

def bxl.Filesystem.is_dir(expr: artifact | bxl.FileNode | str) -> bool

Returns whether the provided path is a dir. Returns false is the dir does not exist. The input is a either a literal, a source artifact (via artifact), or a file_node.

Sample usage:

def _impl_is_dir(ctx):
ctx.output.print(ctx.fs.is_dir("bin"))

bxl.Filesystem.is_file

def bxl.Filesystem.is_file(expr: artifact | bxl.FileNode | str) -> bool

Returns whether the provided path is a file. Returns false is the file does not exist. The input is a either a literal, a source artifact (via artifact), or a file_node.

Sample usage:

def _impl_is_file(ctx):
ctx.output.print(ctx.fs.is_dir("bin"))

bxl.Filesystem.list

def bxl.Filesystem.list(
expr: artifact | bxl.FileNode | str,
*,
dirs_only: bool = False
) -> read_dir_set

Returns all the contents of the given input that points to a directory. Errors if the given path is a file. Takes an optional boolean dirs_only to only return directories, defaults to false.

The input is a either a literal, a source artifact (via artifact), or a file_node.

Sample usage:

def _impl_list(ctx):
list_results = ctx.fs.list("bin")
for result in list_results:
ctx.output.print(result)

bxl.Filesystem.project_rel_path

def bxl.Filesystem.project_rel_path(expr: artifact | bxl.FileNode | str) -> str

Returns the relative path to the project root, given the file expression.

Sample usage:

def project_rel_path(ctx):
ctx.output.print(ctx.fs.project_rel_path("bin"))

bxl.Filesystem.source

def bxl.Filesystem.source(
expr: artifact | bxl.FileNode | str,
target_hint: None | bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] = None
) -> artifact

Returns the source artifact for a path and an optional target hint (unconfigured target label or node) which points to the owning package. If no target hint is given, the nearest package will be used to guess the desired artifact. The path should be either an absolute path, or a project relative path.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.LazyResolvedAttrs/index.html b/docs/api/bxl/bxl.LazyResolvedAttrs/index.html new file mode 100644 index 0000000000000..fc3df4297097b --- /dev/null +++ b/docs/api/bxl/bxl.LazyResolvedAttrs/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.LazyResolvedAttrs type | Buck2 + + + + + + + + +
+

bxl.LazyResolvedAttrs type

The context for getting resolved attrs lazily on a target_node.

bxl.LazyResolvedAttrs.get

def bxl.LazyResolvedAttrs.get(attr: str)

Gets a single resolved attribute. Returns an optional configured attribute.

Gets a single attribute.

def _impl_resolved_attrs_lazy(ctx):
node = ctx.cquery().owner("cell//path/to/TARGETS")[0]
attrs = node.resolved_attrs_lazy(ctx) # cache once
ctx.output.print(attrs.get("some_attribute").value())
ctx.output.print(attrs.get("some_attribute").label)
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.OutputStream/index.html b/docs/api/bxl/bxl.OutputStream/index.html new file mode 100644 index 0000000000000..274844faefb69 --- /dev/null +++ b/docs/api/bxl/bxl.OutputStream/index.html @@ -0,0 +1,26 @@ + + + + + +bxl.OutputStream type | Buck2 + + + + + + + + +
+

bxl.OutputStream type

The output stream for bxl to print values to the console as their result

bxl.OutputStream.ensure

def bxl.OutputStream.ensure(artifact: artifact) -> bxl.EnsuredArtifact

Marks the artifact as an artifact that should be available to the users at the end of the bxl invocation. Any artifacts that do not get registered via this call is not accessible by users at the end of bxl script.

This function returns an ensured_artifact type that can be printed via ctx.output.print() +to print its actual path on disk.

Sample usage:

def _impl_ensure(ctx):
actions = ctx.bxl_actions().actions
output = actions.write("my_output", "my_content")
ensured = ctx.output.ensure(output)
ctx.output.print(ensured)

bxl.OutputStream.ensure_multiple

def bxl.OutputStream.ensure_multiple(
artifacts: None | artifact | bxl.BuildResult | bxl_built_artifacts_iterable | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[artifact] | dict[typing.Any, bxl.BuildResult] | RunInfo
)

Same as ensure, but for multiple artifacts. Will preserve the shape of the inputs (i.e. if the resulting Dict of a ctx.build() is passed in, the output will be a Dict where the key is preserved, and the values are converted to ensured_artifacts).

Note that is slower to loop through objects and ensure them one by one than it is to call ensure_multiple() +on all the objects at once (if possible). +So, it is suggested to use this method when you are only ensuring a few individual artifacts that are not stored in an iterable.

Sample usage:

def _impl_ensure_multiple(ctx):
outputs = {}
for target, value in ctx.build(ctx.cli_args.target).items():
outputs.update({target.raw_target(): ctx.output.ensure_multiple(value.artifacts())})
ctx.output.print_json(outputs)

bxl.OutputStream.print

def bxl.OutputStream.print(*args, sep: str = " ") -> None

Outputs results to the console via stdout. These outputs are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached. Accepts an optional separator that defaults to " ".

Prints that are not result of the bxl should be printed via stderr via the stdlib print +and pprint. Note that ctx.output.print() is intended for simple outputs. For more complex +outputs, the recommendation would be to write them to a file.

Sample usage:

def _impl_print(ctx):
ctx.output.print("test")

bxl.OutputStream.print_json

def bxl.OutputStream.print_json(value, *, pretty: bool = True) -> None

Outputs results to the console via stdout as pretty-printed json. Pretty printing can be turned off by the pretty keyword-only parameter. These outputs are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached.

Prints that are not result of the bxl should be printed via stderr via the stdlib print +and pprint.

Sample usage:

def _impl_print_json(ctx):
outputs = {}
outputs.update({"foo": bar})
ctx.output.print_json("test")
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.TargetUniverse/index.html b/docs/api/bxl/bxl.TargetUniverse/index.html new file mode 100644 index 0000000000000..b2071b7b89828 --- /dev/null +++ b/docs/api/bxl/bxl.TargetUniverse/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.TargetUniverse type | Buck2 + + + + + + + + +
+

bxl.TargetUniverse type

Target universe in BXL. Used for looking up valid configured targets to use in cquery. This is not needed for uquery.

bxl.TargetUniverse.lookup

def bxl.TargetUniverse.lookup(
targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> target_set

Looks up valid configured target nodes within the universe. The targets passed in are either string literals, unconfigured target nodes, or unconfigured target labels.


bxl.TargetUniverse.target_set

def bxl.TargetUniverse.target_set() -> target_set

The target set of the nodes used to construct the target universe.


bxl.TargetUniverse.universe_target_set

def bxl.TargetUniverse.universe_target_set() -> target_set

The target set of the entire target universe.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.UnconfiguredTargetNode/index.html b/docs/api/bxl/bxl.UnconfiguredTargetNode/index.html new file mode 100644 index 0000000000000..56a072353027f --- /dev/null +++ b/docs/api/bxl/bxl.UnconfiguredTargetNode/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.UnconfiguredTargetNode type | Buck2 + + + + + + + + +
+

bxl.UnconfiguredTargetNode type

Methods for unconfigured target node.

bxl.UnconfiguredTargetNode.attrs

bxl.UnconfiguredTargetNode.attrs: typing.Any

Gets the coerced attributes from the unconfigured target node. Returns a struct.

Sample usage:

def _impl_attributes(ctx):
target_node = ctx.uquery().eval("owner('path/to/file')")[0]
ctx.output.print(target_node.attrs.my_attr)

bxl.UnconfiguredTargetNode.buildfile_path

bxl.UnconfiguredTargetNode.buildfile_path: bxl.FileNode

Gets the buildfile path from the unconfigured target node.

Sample usage:

def _impl_label(ctx):
target_node = ctx.uquery().eval("owner('path/to/file')")[0]
ctx.output.print(target_node.buildfile_path)

bxl.UnconfiguredTargetNode.label

bxl.UnconfiguredTargetNode.label: target_label

Gets the label from the unconfigured target node.

Sample usage:

def _impl_label(ctx):
target_node = ctx.uquery().eval("owner('path/to/file')")[0]
ctx.output.print(target_node.label)

bxl.UnconfiguredTargetNode.rule_kind

bxl.UnconfiguredTargetNode.rule_kind: str

Gets the targets' corresponding rule's kind which is one of - normal (with no special properties) - configured (usable in a configuration context) - toolchain (only usable as a toolchain dep)

Sample usage:

def _impl_rule_kind(ctx):
target_node = ctx.uquery().owner('path/to/file')[0]
ctx.output.print(target_node.rule_kind)

bxl.UnconfiguredTargetNode.rule_type

bxl.UnconfiguredTargetNode.rule_type: str

Gets the fully qualified name of the rule for this unconfigured target node as a string. This includes the import path as well.

Sample usage:

def _impl_rule_type(ctx):
target_node = ctx.uquery().owner('path/to/file')[0]
ctx.output.print(target_node.rule_type)
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/bxl.UqueryContext/index.html b/docs/api/bxl/bxl.UqueryContext/index.html new file mode 100644 index 0000000000000..0bfa5507522de --- /dev/null +++ b/docs/api/bxl/bxl.UqueryContext/index.html @@ -0,0 +1,20 @@ + + + + + +bxl.UqueryContext type | Buck2 + + + + + + + + +
+

bxl.UqueryContext type

The context for performing uquery operations in bxl. The functions offered on this ctx are the same behaviour as the query functions available within uquery command.

bxl.UqueryContext.allpaths

def bxl.UqueryContext.allpaths(
from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label],
to: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> target_set

The allpaths query for computing all dependency paths.


bxl.UqueryContext.attrfilter

def bxl.UqueryContext.attrfilter(
attr: str,
value: str,
targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> target_set

The attrfilter query for rule attribute filtering.


bxl.UqueryContext.attrregexfilter

def bxl.UqueryContext.attrregexfilter(
attribute: str,
value: str,
targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> target_set

The attrregexfilter query for rule attribute filtering with regex.

Sample usage:

def _impl_attrregexfilter(ctx):
filtered = ctx.uquery().attrregexfilter("foo", "he.lo", "bin/kind/...")
ctx.output.print(filtered)

bxl.UqueryContext.buildfile

def bxl.UqueryContext.buildfile(
targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> file_set

Find the build file(s) that defines a target or a target set.

Sample usage:

def _buildfile_impl(ctx):
owner = ctx.uquery().owner(["bin/TARGET", "bin/kind"])
result = ctx.uquery().buildfile(owner)
ctx.output.print(result)

bxl.UqueryContext.deps

def bxl.UqueryContext.deps(
universe: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label],
depth: None | int = None,
filter: None | str = None
) -> target_set

The deps query for finding the transitive closure of dependencies.

Sample usage:

def _impl_deps(ctx):
result = ctx.uquery().deps("root//bin:the_binary", 1)
ctx.output.print(result)

bxl.UqueryContext.eval

def bxl.UqueryContext.eval(
query: str,
query_args: None | target_set | list[str] = None
)

Evaluates some general query string, query_args can be a target_set of unconfigured nodes, or a list of strings. Returns a dict of target labels mapped to their target_set results if query_args was passed in, otherwise returns a single target_set.

Sample usage:

def _impl_eval(ctx):
result1 = ctx.uquery().eval("inputs(cell//path/to/file:target)")
ctx.output.print(result1)

result2 = ctx.uquery().eval("inputs(%s)", query_args = ["cell//path/to/file:target"])
ctx.output.print(result2)

bxl.UqueryContext.filter

def bxl.UqueryContext.filter(
regex: str,
targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> target_set

The filter query for filtering targets by name.

Sample usage:

def _impl_filter(ctx):
result = ctx.uquery().filter(".*the_binary", "root//...")
ctx.output.print(result)

bxl.UqueryContext.inputs

def bxl.UqueryContext.inputs(
targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> file_set

The inputs query for finding input files.

Sample usage:

def _impl_inputs(ctx):
result = ctx.uquery().inputs("root//bin:the_binary")
ctx.output.print(result)

bxl.UqueryContext.kind

def bxl.UqueryContext.kind(
regex: str,
targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> target_set

The kind query for filtering targets by rule type.

Sample usage:

def _impl_kind(ctx):
kind = ctx.uquery().kind(".*1", "bin/kind/...")
ctx.output.print(kind)

bxl.UqueryContext.owner

def bxl.UqueryContext.owner(
files: file_set | str | list[str] | tuple[str, ...]
) -> target_set

The owner query for finding targets that own specified files. Note that if you do not pass in a cell path (where the format is <cell>//path/to/file), the path is resolved against the cell that the BXL script lives in. If you need to evaluate a file path that lives in a different cell, you must pass in the fully qualified cell path.

Sample usage:

def _owner_impl(ctx):
owner = ctx.uquery().owner("bin/TARGETS.fixture")
ctx.output.print(owner)

bxl.UqueryContext.rdeps

def bxl.UqueryContext.rdeps(
universe: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label],
from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label],
depth: int = _
) -> target_set

The rdeps query for finding the transitive closure of reverse dependencies.

Sample usage:

def _impl_rdeps(ctx):
result = ctx.uquery().rdeps("root//bin:the_binary", "//lib:file1", 100)
ctx.output.print(result)

bxl.UqueryContext.somepath

def bxl.UqueryContext.somepath(
from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label],
to: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> target_set

The somepaths query, which returns the graph of nodes on some arbitrary path from a start to destination target.


bxl.UqueryContext.targets_in_buildfile

def bxl.UqueryContext.targets_in_buildfile(
files: file_set | str | list[str] | tuple[str, ...]
) -> target_set

Given a set of buildfiles, return all targets within those buildfiles.

Usage:

def _targets_in_buildfile_impl(ctx):
targets = ctx.uquery().targets_in_buildfile("bin/TARGETS.fixture")
ctx.output.print(targets)

This is subject to be removed in future in favor of a more general targets_in_packages.


bxl.UqueryContext.testsof

def bxl.UqueryContext.testsof(
targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label]
) -> target_set

The testsof query for listing the tests of the specified targets.

Sample usage:

def _testsof_impl(ctx):
result = ctx.uquery().testsof("//:foo_lib")
ctx.output.print(result)
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/cmd_args/index.html b/docs/api/bxl/cmd_args/index.html new file mode 100644 index 0000000000000..857af4cc4cd5a --- /dev/null +++ b/docs/api/bxl/cmd_args/index.html @@ -0,0 +1,23 @@ + + + + + +cmd_args type | Buck2 + + + + + + + + +
+

cmd_args type

The cmd_args type is created by cmd_args() and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value. All these methods operate mutably on cmd and return that value too.

cmd_args.add

def cmd_args.add(*args) -> cmd_args

A list of arguments to be added to the command line, which may including cmd_args, artifacts, strings, RunInfo or lists thereof. Note that this operation mutates the input cmd_args.


cmd_args.copy

def cmd_args.copy() -> cmd_args

Returns a copy of the cmd_args such that any modifications to the original or the returned value will not impact each other. Note that this is a shallow copy, so any inner cmd_args can still be modified.


cmd_args.inputs

cmd_args.inputs: command_line_inputs

Collect all the inputs (including hidden) referenced by this command line. The output can be compared for equality and have its len requested to see whether there are any inputs, but is otherwise mostly opaque.


cmd_args.outputs

cmd_args.outputs: list[output_artifact]

Collect all the outputs (including hidden) referenced by this command line.


cmd_args.relative_to

def cmd_args.relative_to(
directory: artifact | cell_root | project_root,
/,
*,
parent: int = _
) -> cmd_args

Make all artifact paths relative to a given location. Typically used when the command you are running changes directory.

By default, the paths are relative to the artifacts themselves (equivalent to +parent = 0). Use parent to make the paths relative to an ancestor directory. +For example parent = 1 would make all paths relative to the containing dirs +of any artifacts in the cmd_args.

dir = symlinked_dir(...)
script = [
cmd_args(cmd_args(dir, format = "cd {}"),
original_script.relative_to(dir)
]
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/coerced_attr/index.html b/docs/api/bxl/coerced_attr/index.html new file mode 100644 index 0000000000000..15088839a77b2 --- /dev/null +++ b/docs/api/bxl/coerced_attr/index.html @@ -0,0 +1,20 @@ + + + + + +coerced_attr type | Buck2 + + + + + + + + +
+

coerced_attr type

Methods on configured target node's attributes.

coerced_attr.type

coerced_attr.type: str

Returns the type name of the attribute

Sample usage:

def _impl_type(ctx):
node = ctx.uquery().owner("bin/TARGETS")[0]
ctx.output.print(node.attrs.name.type)

coerced_attr.value

def coerced_attr.value()

Returns the value of this attribute. Limited support of selects, concats, and explicit configuration deps at this time.

Sample usage:

def _impl_value(ctx):
node = ctx.uquery().owner("bin/TARGETS")[0]
ctx.output.print(node.attrs.name.value())
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/configured_attr/index.html b/docs/api/bxl/configured_attr/index.html new file mode 100644 index 0000000000000..686d4daf032a5 --- /dev/null +++ b/docs/api/bxl/configured_attr/index.html @@ -0,0 +1,20 @@ + + + + + +configured_attr type | Buck2 + + + + + + + + +
+

configured_attr type

Methods on configured target node's attributes.

configured_attr.type

configured_attr.type: str

Returns the type name of the attribute

Sample usage:

def _impl_type(ctx):
node = ctx.cquery().owner("bin/TARGETS")[0]
attrs = node.attrs_eager()
ctx.output.print(attrs.name.type)

configured_attr.value

def configured_attr.value()

Returns the value of this attribute. The value here is not fully resolved like in rules.

Sample usage:

def _impl_value(ctx):
node = ctx.cquery().owner("bin/TARGETS")[0]
attrs = node.attrs_eager()
ctx.output.print(attrs.name.value())
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/configured_target_label/index.html b/docs/api/bxl/configured_target_label/index.html new file mode 100644 index 0000000000000..36bf440dfbe48 --- /dev/null +++ b/docs/api/bxl/configured_target_label/index.html @@ -0,0 +1,20 @@ + + + + + +configured_target_label type | Buck2 + + + + + + + + +
+

configured_target_label type

configured_target_label.cell

configured_target_label.cell: str

configured_target_label.config

def configured_target_label.config() -> configuration

configured_target_label.name

configured_target_label.name: str

configured_target_label.package

configured_target_label.package: str

configured_target_label.path

configured_target_label.path: typing.Any

configured_target_label.raw_target

def configured_target_label.raw_target() -> target_label

Returns the unconfigured underlying target label.


configured_target_label.with_sub_target

def configured_target_label.with_sub_target(
subtarget_name: str | list[str] = _
) -> label

Converts a ConfiguredTargetLabel into its corresponding Label given the subtarget name which is a list for each layer of subtarget

Sample usage:

def _impl_sub_target(ctx):
owners = ctx.cquery().owner("bin/TARGETS.fixture")
for owner in owners:
configured_label = owner.label
ctx.output.print(configured_label.with_sub_target())
ctx.output.print(configured_label.with_sub_target("subtarget1"))
ctx.output.print(configured_label.with_sub_target(["subtarget1", "subtarget2"]))
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/context/index.html b/docs/api/bxl/context/index.html new file mode 100644 index 0000000000000..972bbf15a6a18 --- /dev/null +++ b/docs/api/bxl/context/index.html @@ -0,0 +1,20 @@ + + + + + +context type | Buck2 + + + + + + + + +
+

context type

The type used for defining rules, usually bound as ctx. Usually the sole argument to the impl argument of the rule function.

def _impl_my_rule(ctx: AnalysisContext) -> ["provider"]:
return [DefaultInfo()]
my_rule = rule(impl = _impl_my_rule, attrs = {})

context.actions

context.actions: actions

Returns an actions value containing functions to define actual actions that are run. See the actions type for the operations that are available.


context.attrs

context.attrs: struct(..)

Returns the attributes of the target as a Starlark struct with a field for each attribute, which varies per rule. As an example, given a rule with the attrs argument of {"foo": attrs.string()}, this field will be a struct containing a field foo of type string.


context.label

context.label: None | label

Returns a label representing the target, or None if being invoked from a dynamic_output in Bxl.


context.plugins

context.plugins: AnalysisPlugins

An opaque value that can be indexed with a plugin kind to get a list of the available plugin deps of that kind. The rule must set an appropriate value on uses_plugins in its declaration.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/dependency/index.html b/docs/api/bxl/dependency/index.html new file mode 100644 index 0000000000000..7afd0d6ca7f17 --- /dev/null +++ b/docs/api/bxl/dependency/index.html @@ -0,0 +1,20 @@ + + + + + +dependency type | Buck2 + + + + + + + + +
+

dependency type

Dependency type. In Starlark typing it can be represented with Dependency global.

dependency.get

def dependency.get(index) -> None | provider

Gets a provider by indexing on a ProviderCallable object.

e.g.

FooInfo = provider(fields=["bar"])
....
collection.get(FooInfo) # None if absent, a FooInfo instance if present

dependency.label

dependency.label: label

dependency.providers

dependency.providers: list[typing.Any]

dependency.sub_target

def dependency.sub_target(subtarget: str, /) -> dependency

Obtain the dependency representing a subtarget. In most cases you will want to use x[DefaultInfo].sub_targets["foo"] to get the providers of the subtarget, but if you need a real Dependency type (e.g. for use with ctx.action.anon_target) then use this method.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/digest_config/index.html b/docs/api/bxl/digest_config/index.html new file mode 100644 index 0000000000000..b4213495851ab --- /dev/null +++ b/docs/api/bxl/digest_config/index.html @@ -0,0 +1,20 @@ + + + + + +digest_config type | Buck2 + + + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/ensured_artifact_group/index.html b/docs/api/bxl/ensured_artifact_group/index.html new file mode 100644 index 0000000000000..c2f0e5e8cc491 --- /dev/null +++ b/docs/api/bxl/ensured_artifact_group/index.html @@ -0,0 +1,20 @@ + + + + + +ensured_artifact_group type | Buck2 + + + + + + + + +
+

ensured_artifact_group type

An artifact group that will be materialized to buck-out at the end of the bxl invocation. These artifacts can be printed to bxl's results. Doing so will print the path of each artifact in the group rather than the standard representation.

Ensured artifact groups are serializable and hashable.

ensured_artifact_group.abs_path

def ensured_artifact_group.abs_path()

Converts each artifact in this artifact group to be printed by its absolute path. Note that this will only print out the absolute path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact group.

Sample usage:

def _impl_abs_path(ctx):
# some target with RunInfo outputs
result = ctx.analysis("root//bin/kind:target_with_outputs")
ensured = ctx.output.ensure_multiple(result.providers()[RunInfo]) # currently defaults to creating an EnsuredArtifactGroup with a relative path

ensured_with_abs_path = ensured.abs_path() # create a new EnsuredArtifactGroup with absolute path to reuse
print(ensured_with_abs_path) # should return something like <ensured group ... >
ctx.output.print(ensured_with_abs_path) # should return the absolute path of the artifact

ensured_artifact_group.rel_path

def ensured_artifact_group.rel_path()

Converts each artifact in this artifact group to be printed by its path relative to the project root. Note that this will only print out the relative path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact group.

Sample usage:

def _impl_rel_path(ctx):
# some target with RunInfo outputs
result = ctx.analysis("root//bin/kind:target_with_outputs")
ensured = ctx.output.ensure_multiple(result.providers()[RunInfo]) # currently defaults to creating an EnsuredArtifactGroup with a relative path

ensured_with_rel_path = ensured.rel_path() # create a new EnsuredArtifact with relative path to reuse
print(ensured_with_rel_path) # should return something like <ensured group ... >
ctx.output.print(ensured_with_rel_path) # should return the relative path of the artifact
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/file_set/index.html b/docs/api/bxl/file_set/index.html new file mode 100644 index 0000000000000..4b6bab30cb494 --- /dev/null +++ b/docs/api/bxl/file_set/index.html @@ -0,0 +1,20 @@ + + + + + +file_set type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/bxl/globals/index.html b/docs/api/bxl/globals/index.html new file mode 100644 index 0000000000000..510049d600aa1 --- /dev/null +++ b/docs/api/bxl/globals/index.html @@ -0,0 +1,74 @@ + + + + + +globals | Buck2 + + + + + + + + +
+

globals

Global method for error handling.

ActionErrorCtx

ActionErrorCtx: type

ActionErrorLocation

ActionErrorLocation: type

ActionSubError

ActionSubError: type

AnalysisActions

AnalysisActions: type

AnalysisContext

AnalysisContext: type

AnonTarget

AnonTarget: type

AnonTargets

AnonTargets: type

Artifact

Artifact: type

ArtifactTag

ArtifactTag: type

ArtifactValue

ArtifactValue: type

Attr

Attr: type

CellPath

CellPath: type

CellRoot

CellRoot: type

CommandExecutorConfig

def CommandExecutorConfig(
*,
local_enabled: bool,
remote_enabled: bool,
remote_cache_enabled: None | bool = None,
remote_dep_file_cache_enabled: bool = False,
remote_execution_properties = None,
remote_execution_action_key = None,
remote_execution_max_input_files_mebibytes: None | int = None,
remote_execution_queue_time_threshold_s: None | int = None,
remote_execution_use_case = None,
use_limited_hybrid: bool = False,
allow_limited_hybrid_fallbacks: bool = False,
allow_hybrid_fallbacks_on_failure: bool = False,
use_windows_path_separators: bool = False,
use_persistent_workers: bool = False,
allow_cache_uploads: bool = False,
max_cache_upload_mebibytes: None | int = None,
experimental_low_pass_filter: bool = False,
remote_output_paths: None | str = None,
remote_execution_resource_units: None | int = None,
remote_execution_dependencies: list[dict[str, str]] = []
) -> command_executor_config

Contains configurations for how actions should be executed

.type attribute

Produces "command_executor_config"

Details

  • local_enabled : Whether to use local execution for this execution platform. +If both remote_enabled and local_enabled are True, we will use the hybrid executor
  • remote_enabled: Whether to use remote execution for this execution platform
  • remote_cache_enabled: Whether to query RE caches
  • remote_execution_properties: Properties for remote execution for this platform
  • remote_execution_action_key: A component to inject into the action key +This should typically used to inject variability into the action key so that +it's different across e.g. build modes (RE uses the action key for things like expected memory utilization)
  • remote_execution_max_input_files_mebibytes: The maximum input file size (in bytes) that remote execution can support
  • remote_execution_queue_time_threshold_s: The maximum time in seconds we are willing to wait +in the RE queue for remote execution to start running our action
  • remote_execution_use_case: The use case to use when communicating with RE
  • use_limited_hybrid: Whether to use the limited hybrid executor
  • allow_limited_hybrid_fallbacks: Whether to allow fallbacks
  • allow_hybrid_fallbacks_on_failure: Whether to allow fallbacks when the result is failure (i.e. the command failed on the primary, but the infra worked)
  • use_windows_path_separators: Whether to use Windows path separators in command line arguments
  • use_persistent workers: Whether to use persistent workers for local execution if they are available
  • allow_cache_uploads: Whether to upload local actions to the RE cache
  • max_cache_upload_mebibytes: Maximum size to upload in cache uploads
  • experimental_low_pass_filter: Whether to use the experimental low pass filter
  • remote_output_paths: How to express output paths to RE
  • remote_execution_resource_units: The resources (eg. GPUs) to use for remote execution
  • remote_execution_dependencies: Dependencies for remote execution for this platform

ConfigurationInfo

def ConfigurationInfo(
*,
constraints: dict[target_label, ConstraintValueInfo],
values: dict[str, str]
) -> ConfigurationInfo

Provider that signals that a rule contains configuration info. This is used both as part of defining configurations (platform(), constraint_value()) and defining whether a target "matches" a configuration or not (config_setting(), constraint_value())

.type attribute

Produces "ConfigurationInfo"

Details

Provides a number of fields that can be accessed:

  • constraints: dict[target_label, ConstraintValueInfo] - field

  • values: dict[str, str] - field


ConfiguredProvidersLabel

ConfiguredProvidersLabel: type

ConfiguredTargetLabel

ConfiguredTargetLabel: type

ConstraintSettingInfo

def ConstraintSettingInfo(*, label: target_label) -> ConstraintSettingInfo

Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_setting() target.

.type attribute

Produces "ConstraintSettingInfo"

Details

Provides a number of fields that can be accessed:

  • label: target_label - field

ConstraintValueInfo

def ConstraintValueInfo(
*,
setting: ConstraintSettingInfo,
label: target_label
) -> ConstraintValueInfo

Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_value() target.

.type attribute

Produces "ConstraintValueInfo"

Details

Provides a number of fields that can be accessed:

  • setting: ConstraintSettingInfo - field

  • label: target_label - field


DefaultInfo

def DefaultInfo(
default_output: None | artifact = None,
default_outputs: None | list[artifact] = None,
other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _,
sub_targets: dict[str, typing.Any] = _
) -> DefaultInfo

A provider that all rules' implementations must return

.type attribute

Produces "DefaultInfo"

Details

In many simple cases, this can be inferred for the user.

Example of a rule's implementation function and how these fields are used by the framework:

# //foo_binary.bzl
def impl(ctx):
ctx.action.run([ctx.attrs._cc[RunInfo], "-o", ctx.attrs.out.as_output()] + ctx.attrs.srcs)
ctx.action.run([
ctx.attrs._strip[RunInfo],
"--binary",
ctx.attrs.out,
"--stripped-out",
ctx.attrs.stripped.as_output(),
"--debug-symbols-out",
ctx.attrs.debug_info.as_output(),
])
return [
DefaultInfo(
sub_targets = {
"stripped": [
DefaultInfo(default_outputs = [ctx.attrs.stripped, ctx.attrs.debug_info]),
],
},
default_output = ctx.attrs.out,
]

foo_binary = rule(
impl=impl,
attrs={
"srcs": attrs.list(attrs.source()),
"out": attrs.output(),
"stripped": attrs.output(),
"debug_info": attrs.output(),
"_cc": attrs.dep(default="//tools:cc", providers=[RunInfo]),
"_strip_script": attrs.dep(default="//tools:strip", providers=[RunInfo])
)

def foo_binary_wrapper(name, srcs):
foo_binary(
name = name,
srcs = src,
out = name,
stripped = name + ".stripped",
debug_info = name + ".debug_info",
)

# //subdir/BUCK
load("//:foo_binary.bzl", "foo_binary_wrapper")

genrule(name = "gen_stuff", ...., default_outs = ["foo.cpp"])

# ":gen_stuff" pulls the default_outputs for //subdir:gen_stuff
foo_binary_wrapper(name = "foo", srcs = glob(["*.cpp"]) + [":gen_stuff"])

# Builds just 'foo' binary. The strip command is never invoked.
$ buck build //subdir:foo

# builds the 'foo' binary, because it is needed by the 'strip' command. Ensures that
# both the stripped binary and the debug symbols are built.
$ buck build //subdir:foo[stripped]

Provides a number of fields that can be accessed:

  • sub_targets: dict[str, provider_collection] - A mapping of names to ProviderCollections. The keys are used when resolving the ProviderName portion of a ProvidersLabel in order to access the providers for a subtarget, such as when doing buck2 build cell//foo:bar[baz]. Just like any ProviderCollection, this collection must include at least a DefaultInfo provider. The subtargets can have their own subtargets as well, which can be accessed by chaining them, e.g.: buck2 build cell//foo:bar[baz][qux].

  • default_outputs: list[artifact] - A list of Artifacts that are built by default if this rule is requested explicitly, or depended on as as a "source".

  • other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] - A list of ArtifactTraversable. The underlying Artifacts they define will be built by default if this rule is requested, but not when it's depended on as as a "source". ArtifactTraversable can be an Artifact (which yields itself), or cmd_args, which expand to all their inputs.


Dependency

Dependency: type

DynamicActions

DynamicActions: type

DynamicActionsCallable

DynamicActionsCallable: type

ExecutionPlatformInfo

def ExecutionPlatformInfo(
*,
label: target_label,
configuration: ConfigurationInfo,
executor_config: command_executor_config
) -> ExecutionPlatformInfo

Provider that signals that a target represents an execution platform.

Provides a number of fields that can be accessed:

  • label: target_label - label of the defining rule, used in informative messages

  • configuration: ConfigurationInfo - The configuration of the execution platform

  • executor_config: command_executor_config - The executor config


ExecutionPlatformRegistrationInfo

def ExecutionPlatformRegistrationInfo(
*,
platforms: list[ExecutionPlatformInfo],
fallback = None
) -> ExecutionPlatformRegistrationInfo

Provider that gives the list of all execution platforms available for this build.

Provides a number of fields that can be accessed:

  • platforms: list[ExecutionPlatformInfo] - field

  • fallback: typing.Any - field


ExternalRunnerTestInfo

def ExternalRunnerTestInfo(
type,
command = None,
env = None,
labels = None,
contacts = None,
use_project_relative_paths = None,
run_from_project_root = None,
default_executor = None,
executor_overrides = None,
local_resources = None,
worker = None
) -> ExternalRunnerTestInfo

Provider that signals that a rule can be tested using an external runner. This is the Buck1-compatible API for tests.

.type attribute

Produces "ExternalRunnerTestInfo"

Details

Provides a number of fields that can be accessed:

  • test_type: str - A Starlark value representing the type of this test.

  • command: list[typing.Any] - A Starlark value representing the command for this test. The external test runner is what gives meaning to this command.

  • env: dict[str, typing.Any] - A Starlark value representing the environment for this test. Here again, the external test runner is what will this meaning. This is of type dict[str, ArgLike].

  • labels: list[str] - A starlark value representing the labels for this test.

  • contacts: list[str] - A starlark value representing the contacts for this test. This is largely expected to be an oncall, though it's not validated in any way.

  • use_project_relative_paths: bool - Whether this test should use relative paths

  • run_from_project_root: bool - Whether this test should run from the project root, as opposed to the cell rootDefaults to True.

  • default_executor: command_executor_config - Default executor to use to run tests. If none is passed we will default to the execution platform.

  • executor_overrides: dict[str, command_executor_config] - Executors that Tpx can use to override the default executor.

  • local_resources: dict[str, None | label] - Mapping from a local resource type to a target with a corresponding provider. Required types are passed from test runner. If the value for a corresponding type is omitted it means local resource should be ignored when executing tests even if those are passed as required from test runner.

  • worker: WorkerInfo - Configuration needed to spawn a new worker. This worker will be used to run every single command related to test execution, including listing.


InstallInfo

def InstallInfo(installer: label, files: dict[str, artifact]) -> InstallInfo

A provider that can be constructed and have its fields accessed. Returned by rules.

Provides a number of fields that can be accessed:

  • installer: label - field

  • files: dict[str, artifact] - field


Label

Label: type

LocalResourceInfo

def LocalResourceInfo(
*,
setup: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,
resource_env_vars: dict[str, str],
setup_timeout_seconds: None | float | int = None
) -> LocalResourceInfo

A provider that can be constructed and have its fields accessed. Returned by rules.

.type attribute

Produces "LocalResourceInfo"

Details

Provides a number of fields that can be accessed:

  • setup: cmd_args - Command to run to initialize a local resource. Running this command writes a JSON to stdout. This JSON represents a pool of local resources which are ready to be used. Example JSON would be: { "pid": 42, "resources": [ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ] } Where '"pid"maps to a PID of a process which should be sent SIGTERM to release the pool of resources when they are no longer needed."resources"maps to the pool of resources. When a local resource from this particular pool is needed for an execution command, single entity will be reserved from the pool, for example{"socket_address": "bar:2"}and environment variable with name resolved using mapping inresource_env_varsfield and"socket_address"` key will be added to execution command.

  • resource_env_vars: dict[str, str] - Mapping from environment variable (appended to an execution command which is dependent on this local resource) to keys in setup command JSON output.

  • setup_timeout_seconds: None | float | int - Timeout in seconds for setup command.


OutputArtifact

OutputArtifact: type

PlatformInfo

def PlatformInfo(
*,
label: str,
configuration: ConfigurationInfo
) -> PlatformInfo

A provider that can be constructed and have its fields accessed. Returned by rules.

.type attribute

Produces "PlatformInfo"

Details

Provides a number of fields that can be accessed:

  • label: str - field

  • configuration: ConfigurationInfo - field


ProjectRoot

ProjectRoot: type

Promise

Promise: type

Provider

Provider: type

ProviderCollection

ProviderCollection: type

ProvidersLabel

ProvidersLabel: type

ResolvedStringWithMacros

ResolvedStringWithMacros: type

RunInfo

def RunInfo(
args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _
) -> RunInfo

Provider that signals that a rule is runnable

.type attribute

Produces "RunInfo"

Details

Provides a number of fields that can be accessed:

  • args: cmd_args - The command to run, stored as CommandLine

Select

Select: type

TargetLabel

TargetLabel: type

TemplatePlaceholderInfo

def TemplatePlaceholderInfo(
unkeyed_variables = {},
keyed_variables = {}
) -> TemplatePlaceholderInfo

A provider that is used for expansions in string attribute templates

.type attribute

Produces "TemplatePlaceholderInfo"

Details

String attribute templates allow two types of user-defined placeholders, "unkeyed placeholders" +like $(CXX) or $(aapt) and "keyed placeholders" that include a target key like +$(cxxppflags //some:target). The expansion of each of these types is based on the +TemplatePlaceholderInfo providers.

"keyed placeholders" are used for the form $(<key> <target>) or $(<key> <target> <arg>). In both cases +the lookup will expect a TemplatePlaceholderInfo in the providers of <target>. It will then lookup +<key> in the keyed_variables (call this the value). There are then four valid possibilities:

  1. no-arg placeholder, an arg-like value: resolve to value
  2. no-arg placeholder, a dictionary value: resolve to value["DEFAULT"]
  3. arg placeholder, a non-dictionary value: this is an error
  4. arg placeholder, a dictionary value: resolve to value[<arg>]

"unkeyed placeholders" are resolved by matching to any of the deps of the target. $(CXX) will resolve +to the "CXX" value in any dep's TemplateProviderInfo.unkeyed_variables

Fields:

  • unkeyed_variables: A mapping of names to arg-like values. These are used for "unkeyed placeholder" expansion.
  • keyed_variables: A mapping of names to arg-like values or dictionary of string to +arg-like values. These are used for "keyed placeholder" expansion.

Provides a number of fields that can be accessed:

  • unkeyed_variables: dict[str, typing.Any] - field

  • keyed_variables: dict[str, typing.Any] - field


TransitiveSet

TransitiveSet: type

TransitiveSetArgsProjection

TransitiveSetArgsProjection: type

TransitiveSetArgsProjectionIterator

TransitiveSetArgsProjectionIterator: type

TransitiveSetDefinition

TransitiveSetDefinition: type

TransitiveSetIterator

TransitiveSetIterator: type

TransitiveSetJsonProjection

TransitiveSetJsonProjection: type

ValidationInfo

def ValidationInfo(*, validations: list[ValidationSpec]) -> ValidationInfo

Provider describing how a given target node should be validated. Validations are run when target with ValidationInfo provider is a transitive dependency of a requested target.

.type attribute

Produces "ValidationInfo"

Details

Provides a number of fields that can be accessed:

  • validations: list[ValidationSpec] - List of ValidationSpec values each representing a single validation.

ValidationSpec

def ValidationSpec(
*,
name: str,
validation_result: artifact,
optional: bool = False
) -> ValidationSpec

.type attribute

Produces "ValidationSpec"


WorkerInfo

def WorkerInfo(exe = [], *, concurrency: None | int = None) -> WorkerInfo

Provider that signals that a rule is a worker tool

.type attribute

Produces "WorkerInfo"

Details

Provides a number of fields that can be accessed:

  • exe: cmd_args - field

  • concurrency: None | int - field


WorkerRunInfo

def WorkerRunInfo(*, worker: WorkerInfo, exe = []) -> WorkerRunInfo

Provider that signals that a rule can run using a worker

.type attribute

Produces "WorkerRunInfo"

Details

Provides a number of fields that can be accessed:

  • worker: WorkerInfo - field

  • exe: cmd_args - field


anon_rule

def anon_rule(
*,
impl: typing.Callable[[typing.Any], list[typing.Any]],
attrs: dict[str, attribute],
doc: str = "",
artifact_promise_mappings: dict[str, typing.Callable[[typing.Any], list[typing.Any]]]
) -> "function"

Define an anon rule, similar to how a normal rule is defined, except with an extra artifact_promise_mappings field. This is a dict where the keys are the string name of the artifact, and the values are the callable functions that produce the artifact. This is only intended to be used with anon targets.


attrs

attrs: attrs

bxl

bxl: struct(ActionQueryNode = type, Actions = type, AnalysisResult = type, AqueryContext = type, AuditContext = type, BuildResult = type, CliArgs = type, ConfiguredTargetNode = type, ConfiguredTargetSet = type, Context = type, CqueryContext = type, EnsuredArtifact = type, FileNode = type, Filesystem = type, LazyResolvedAttrs = type, OutputStream = type, TargetUniverse = type, UnconfiguredTargetNode = type, UnconfiguredTargetSet = type, UqueryContext = type, cli_args = struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function"), ctarget_set = "function", fail_no_stacktrace = "function", file_set = "function", get_path_without_materialization = "function", get_paths_without_materialization = "function", now = "function", utarget_set = "function")

bxl_main

def bxl_main(
*,
impl: typing.Callable,
cli_args: dict[str, bxl.CliArgs],
doc: str = ""
)

cli_args

cli_args: struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function")

cmd_args

def cmd_args(
*args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo,
hidden: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _,
delimiter: str = _,
format: str = _,
prepend: str = _,
quote: str = _,
ignore_artifacts: bool = False,
absolute_prefix: str = _,
absolute_suffix: str = _,
parent: int = 0,
relative_to: artifact | cell_root | project_root | (artifact | cell_root | project_root, int) = _,
replace_regex: list[(buck_regex | str, str)] | (buck_regex | str, str) = _
) -> cmd_args

The cmd_args type is created by this function and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value.

.type attribute

Produces "cmd_args"

Details

The arguments are:

  • *args - a list of things to add to the command line, each of which must be coercible to a command line. Further items can be added with cmd.add.
  • format - a string that provides a format to apply to the argument. for example, cmd_args(x, format="--args={}") would prepend --args= before x, or if x was a list, before each element in x.
  • delimiter - added between arguments to join them together. For example, cmd_args(["--args=",x], delimiter="") would produce a single argument to the underlying tool.
  • prepend - added as a separate argument before each argument.
  • quote - indicates whether quoting is to be applied to each argument. The only current valid value is "shell".
  • ignore_artifacts - if True, artifacts paths are used, but artifacts are not pulled.
  • hidden - artifacts not present on the command line, but added as dependencies.
  • absolute_prefix and absolute_suffix - added to the start and end of each artifact.
  • parent - for all the artifacts use their parentth directory (e.g. parent = 1 for the directory the artifact is located, parent = 2 for that directory's parent, etc.).
  • relative_to - make all artifact paths relative to a given location.
  • replace_regex - replaces arguments with a regular expression.

ignore_artifacts

ignore_artifacts=True makes cmd_args to have no declared dependencies. +Allows you to reference the path of an artifact without introducing dependencies on it.

As an example where this can be useful, consider passing a dependency that is only accessed at runtime, but whose path +must be baked into the binary. As an example:

resources = cmd_args(resource_file, format = "-DFOO={}").ignore_artifacts()
ctx.actions.run(cmd_args("gcc", "-c", source_file, resources))

Note that ignore_artifacts sets all artifacts referenced by this cmd_args to be ignored, including those added afterwards, +so generally create a special cmd_args and scope it quite tightly.

If you actually do use the inputs referenced by this command, +you will either error out due to missing dependencies (if running actions remotely) +or have untracked dependencies that will fail to rebuild when it should.

hidden

Things to add to the command line which do not show up but are added as dependencies. +The values can be anything normally permissible to pass to add.

Typically used if the command you are running implicitly depends on files that are not +passed on the command line, e.g. headers in the case of a C compilation.

absolute_prefix and absolute_suffix

Adds a prefix to the start or end of every artifact.

Prefix is often used if you have a $ROOT variable +in a shell script and want to use it to make files absolute.

Suffix is often used in conjunction with absolute_prefix +to wrap artifacts in function calls.

cmd_args(script, absolute_prefix = "$ROOT/")
cmd_args(script, absolute_prefix = "call", absolute_suffix = ")")

`parent

` +For all the artifacts use their parent directory.

Typically used when the file name is passed one way, and the directory another, +e.g. cmd_args(artifact, format="-L{}", parent=1).

relative_to=dir or relative_to=(dir, parent)

Make all artifact paths relative to a given location. Typically used when the command +you are running changes directory.

By default, the paths are relative to the artifacts themselves (equivalent to +parent equals to 0). Use parent to make the paths relative to an ancestor directory. +For example parent equals to 1 would make all paths relative to the containing dirs +of any artifacts in the cmd_args.

dir = symlinked_dir(...)
script = [
cmd_args(dir, format = "cd {}", relative_to=dir),
]

replace_regex

Replaces all parts matching pattern regular expression (or regular expressions) +in each argument with replacement strings.


ctarget_set

def ctarget_set(nodes: list[bxl.ConfiguredTargetNode] = _) -> target_set

Creates a target set from a list of configured nodes.

Sample usage:

def _impl_ctarget_set(ctx):
targets = bxl.ctarget_set([cnode_a, cnode_b])
ctx.output.print(type(targets))
ctx.output.print(len(targets))

dedupe

def dedupe(val, /)

Remove duplicates in a list. Uses identity of value (pointer), rather than by equality. In many cases you should use a transitive set instead.


dynamic_actions

def dynamic_actions(
*,
impl: typing.Callable["actions: actions, artifacts: dict[artifact, artifact_value], outputs: dict[artifact, artifact], arg: typing.Any", None]
) -> DynamicActionCallable

Create new dynamic action callable. Returned object will be callable, and the result of calling it can be passed to ctx.actions.dynamic_output_new.


fail_no_stacktrace

def fail_no_stacktrace(*args) -> None

file_set

def file_set() -> file_set

Creates an empty file set for configured nodes.

Sample usage:

def _impl_file_set(ctx):
files = file_set()
ctx.output.print(type(files))
ctx.output.print(len(files))

get_base_path

def get_base_path() -> str

get_base_path() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar.

This function is identical to package_name.


get_cell_name

def get_cell_name() -> str

get_cell_name() can be called from either a BUCK file or a .bzl file, and returns the name of the cell where the BUCK file that started the call lives.

For example, inside foo//bar/baz/BUCK the output will be foo. +If that BUCK file does a load("hello//world.bzl", "something") then +the result in that .bzl file will also be foo.


get_path_without_materialization

def get_path_without_materialization(
this: artifact,
ctx: bxl.Context,
/,
*,
abs: bool = False
) -> str

The output path of an artifact-like (source, build, declared). Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized (i.e. it may not actually exist on the disk yet).

This is a risky function to call because you may accidentally pass this path to further BXL actions +that expect the artifact to be materialized. If this happens, the BXL script will error out. +If you want the path without materialization for other uses that don’t involve passing them into +further actions, then it’s safe.

Sample usage:

def _impl_get_path_without_materialization(ctx):
owner = ctx.cquery().owner("cell//path/to/file")[0]
artifact = owner.get_source("cell//path/to/file", ctx)
source_artifact_project_rel_path = get_path_without_materialization(artifact, ctx)
ctx.output.print(source_artifact_project_rel_path) # Note this artifact is NOT ensured or materialized

get_paths_without_materialization

def get_paths_without_materialization(
cmd_line: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo,
ctx: bxl.Context,
/,
*,
abs: bool = False
)

The output paths of a cmd_args() inputs. The output paths will be returned as a list. Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized, (i.e. it may not actually exist on the disk yet).

This is a risky function to call because you may accidentally pass this path to further BXL actions +that expect the artifact to be materialized. If this happens, the BXL script will error out. +If you want the path without materialization for other uses that don’t involve passing them into +further actions, then it’s safe.

Sample usage:

def _impl_get_paths_without_materialization(ctx):
node = ctx.configured_targets("root//bin:the_binary")
providers = ctx.analysis(node).providers()
path = get_paths_without_materialization(providers[RunInfo], abs=True) # Note this artifact is NOT ensured or materialized
ctx.output.print(path)

glob

def glob(
include: list[str] | tuple[str, ...],
*,
exclude: list[str] | tuple[str, ...] = []
) -> list[str]

The glob() function specifies a set of files using patterns. Only available from BUCK files.

A typical glob call looks like:

glob(["foo/**/*.h"])

This call will match all header files in the foo directory, recursively.

You can also pass a named exclude parameter to remove files matching a pattern:

glob(["foo/**/*.h"], exclude = ["**/config.h"])

This call will remove all config.h files from the initial match.

The glob() call is evaluated against the list of files owned by this BUCK file. +A file is owned by whichever BUCK file is closest above it - so given foo/BUCK and +foo/bar/BUCK the file foo/file.txt would be owned by foo/BUCK (and available from +its glob results) but the file foo/bar/file.txt would be owned by foo/bar/BUCk +and not appear in the glob result of foo/BUCK, even if you write glob(["bar/file.txt"]). +As a consequence of this rule, glob(["../foo.txt"]) will always return an empty list of files.

Currently glob is evaluated case-insensitively on all file systems, but we expect +that to change to case sensitive in the near future.


host_info

def host_info() -> struct(..)

The host_info() function is used to get the current OS and processor architecture on the host. The structure returned is laid out thusly:

struct(
os=struct(
is_linux=True|False,
is_macos=True|False,
is_windows=True|False,
is_freebsd=True|False,
is_unknown=True|False,
),
arch=struct(
is_aarch64=True|False,
is_arm=True|False,
is_armeb=True|False,
is_i386=True|False,
is_mips=True|False,
is_mips64=True|False,
is_mipsel=True|False,
is_mipsel64=True|False,
is_powerpc=True|False,
is_ppc64=True|False,
is_x86_64=True|False,
is_unknown=True|False,
),
)

implicit_package_symbol

def implicit_package_symbol(name: str, default = _)

load_symbols

def load_symbols(symbols: dict[str, typing.Any]) -> None

Used in a .bzl file to set exported symbols. In most cases just defining the symbol as a top-level binding is sufficient, but sometimes the names might be programatically generated.

It is undefined behaviour if you try and use any of the symbols exported +here later in the same module, or if they overlap with existing definitions. +This function should be used rarely.


now

def now() -> instant

Creates an Instant at the current time.

Sample usage:

def _impl_elapsed_millis(ctx):
instant = now()
time_a = instant.elapsed_millis()
# do something that takes a long time
time_b = instant.elapsed_millis()

ctx.output.print(time_a)
ctx.output.print(time_b)

This function is only accessible through Bxl.


oncall

def oncall(name: str, /) -> None

Called in a BUCK file to declare the oncall contact details for all the targets defined. Must be called at most once, before any targets have been declared. Errors if called from a .bzl file.


package

def package(
*,
inherit: bool = False,
visibility: list[str] | tuple[str, ...] = [],
within_view: list[str] | tuple[str, ...] = []
) -> None

package_name

def package_name() -> str

package_name() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar.


plugins

plugins: plugins

provider

def provider(
*,
doc: str = "",
fields: list[str] | tuple[str, ...] | dict[str, typing.Any]
) -> provider_callable

Create a "provider" type that can be returned from rule implementations. Used to pass information from a rule to the things that depend on it. Typically named with an Info suffix.

GroovyLibraryInfo(fields = [
"objects", # a list of artifacts
"options", # a string containing compiler options
])

Given a dependency you can obtain the provider with my_dep[GroovyLibraryInfo] +which returns either None or a value of type GroovyLibraryInfo.

For providers that accumulate upwards a transitive set is often a good choice.


provider_field

def provider_field(
ty,
/,
*,
default = _
) -> ProviderField

Create a field definition object which can be passed to provider type constructor.


read_config

def read_config(section: str, key: str, default = _)

Read a configuration from the nearest enclosing .buckconfig of the BUCK file that started evaluation of this code.

As an example, if you have a .buckconfig of:

[package_options]
compile = super_fast

Then you would get the following results:

read_config("package_options", "compile") == "super_fast"
read_config("package_options", "linker") == None
read_config("package_options", "linker", "a_default") == "a_default"

In general the use of .buckconfig is discouraged in favour of select, +but it can still be useful.


read_oncall

def read_oncall() -> None | str

Called in a BUCK file to retrieve the previously set oncall, or None if none has been set. It is an error to call oncall after calling this function.


read_package_value

def read_package_value(key: str, /)

Read value specified in the PACKAGE file.

Returns None if value is not set.


read_parent_package_value

def read_parent_package_value(key: str, /)

Read a package value defined in a parent PACKAGE file.

This function can only be called in a Package context.

Returns None if value is not set.


read_root_config

def read_root_config(
section: str,
key: str,
default: None | str = None,
/
) -> None | str

Like read_config but the project root .buckconfig is always consulted, regardless of the cell of the originating BUCK file.


regex

def regex(
regex: str,
/,
*,
fancy: bool = False
) -> buck_regex

.type attribute

Produces "buck_regex"


regex_match

def regex_match(regex: str, str: str, /) -> bool

Test if a regular expression matches a string. Fails if the regular expression is malformed.

As an example:

regex_match("^[a-z]*$", "hello") == True
regex_match("^[a-z]*$", "1234") == False

repository_name

def repository_name() -> str

Like get_cell_name() but prepends a leading @ for compatibility with Buck1. You should call get_cell_name() instead, and if you really want the @, prepend it yourself.


rule

def rule(
*,
impl: typing.Callable[[typing.Any], list[typing.Any]],
attrs: dict[str, attribute],
cfg = _,
doc: str = "",
is_configuration_rule: bool = False,
is_toolchain_rule: bool = False,
uses_plugins: list[typing.Any] | tuple = []
) -> "function"

Define a rule. As a simple example:

def _my_rule(ctx: AnalysisContext) -> list[Provider]:
output = ctx.actions.write("hello.txt", ctx.attrs.contents, executable = ctx.attrs.exe)
return [DefaultInfo(outputs = [output])]

MyRule = rule(impl = _my_rule, attrs = {
"contents": attrs.string(),
"exe": attrs.option(attrs.bool(), default = False),
})

rule_exists

def rule_exists(name: str) -> bool

Check if the target with name has already been defined, returns True if it has.

Note that this function checks for the existence of a target rather than a rule. +In general use of this function is discouraged, as it makes definitions of rules not compose.


select

def select(d, /) -> selector

select_equal_internal

def select_equal_internal(left, right, /) -> bool

Tests that two selects are equal to each other. For testing use only. We simply compare their string representations.


select_map

def select_map(d, func, /)

Maps a selector.

Each value within a selector map and on each side of an addition will be passed to the +mapping function. The returned selector will have the same structure as this one.

Ex:

def increment_items(a):
return [v + 1 for v in a]

select_map([1, 2] + select({"c": [2]}), increment_items) == [2, 3] + select({"c": [3]})

select_test

def select_test(d, func, /) -> bool

Test values in the select expression using the given function.

Returns True, if any value in the select passes, else False.

Ex:

select_test([1] + select({"c": [1]}), lambda a: len(a) > 1) == False
select_test([1, 2] + select({"c": [1]}), lambda a: len(a) > 1) == True
select_test([1] + select({"c": [1, 2]}), lambda a: len(a) > 1) == True

set_cfg_constructor

def set_cfg_constructor(
*,
stage0,
stage1,
key: str,
aliases = None
) -> None

Register global cfg constructor.

This function can only be called from the repository root PACKAGE file.

Parameters: +stage0: The first cfg constructor that will be invoked before configuration rules are analyzed. +stage1: The second cfg constructor that will be invoked after configuration rules are analyzed. +key: The key for cfg modifiers on PACKAGE values and metadata.


set_starlark_peak_allocated_byte_limit

def set_starlark_peak_allocated_byte_limit(value: int, /) -> None

Set the peak allocated bytes during evaluation of build ctx. Err if it has already been set


sha256

def sha256(val: str, /) -> str

Computes a sha256 digest for a string. Returns the hex representation of the digest.

sha256("Buck2 is the best build system") == "bb99a3f19ecba6c4d2c7cd321b63b669684c713881baae21a6b1d759b3ec6ac9"

soft_error

def soft_error(
category: str,
message: str,
/,
*,
quiet: bool = _,
stack: bool = _
) -> None

Produce an error that will become a hard error at some point in the future, but for now is a warning which is logged to the server. In the open source version of Buck2 this function always results in an error.

Called passing a stable key (must be snake_case and start with starlark_, +used for consistent reporting) and an arbitrary message (used for debugging).

As an example:

soft_error(
"starlark_rule_is_too_long",
"Length of property exceeds 100 characters in " + repr(ctx.label),
)

transition

def transition(
*,
impl: typing.Callable,
refs: dict[str, str],
attrs: list[str] | tuple[str, ...] = _,
split: bool = False
) -> transition

transitive_set

def transitive_set(
*,
args_projections: dict[str, typing.Any] = _,
json_projections: dict[str, typing.Any] = _,
reductions: dict[str, typing.Any] = _
) -> transitive_set_definition

utarget_set

def utarget_set(nodes: list[bxl.UnconfiguredTargetNode] = _) -> target_set

Creates a target set from a list of unconfigured nodes.

Sample usage:

def _impl_utarget_set(ctx):
targets = bxl.utarget_set([unode_a, unode_b])
ctx.output.print(type(targets))
ctx.output.print(len(targets))

warning

def warning(x: str, /) -> None

Print a warning. The line will be decorated with the timestamp and other details, including the word WARN (colored, if the console supports it).

If you are not writing a warning, use print instead. Be aware that printing +lots of output (warnings or not) can be cause all information to be ignored by the user.


write_package_value

def write_package_value(
key: str,
value,
/,
*,
overwrite: bool = False
) -> None

Set the value to be accessible in the nested PACKAGE files.

If any parent PACKAGE value has already set the same key, +it will raise an error unless you pass overwrite = True, +in which case it will replace the parent value.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/instant/index.html b/docs/api/bxl/instant/index.html new file mode 100644 index 0000000000000..0c349d33f519d --- /dev/null +++ b/docs/api/bxl/instant/index.html @@ -0,0 +1,20 @@ + + + + + +instant type | Buck2 + + + + + + + + +
+

instant type

Instant methods, to aid in debugging/timing individual pieces of the bxl script.

instant.elapsed_millis

def instant.elapsed_millis() -> float

Elapsed time in millis as a float

Sample usage:

def _impl_elapsed_millis(ctx):
now = now()
time_a = now.elapsed_millis()
# do something that takes a long time
time_b = now.elapsed_millis()

ctx.output.print(time_a)
ctx.output.print(time_b)

instant.elapsed_secs

def instant.elapsed_secs() -> float

Elapsed time in secs as a float

Sample usage:

def _impl_elapsed_secs(ctx):
now = now()
time_a = now.elapsed_secs()
# do something that takes a long time
time_b = now.elapsed_secs()

ctx.output.print(time_a)
ctx.output.print(time_b)
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/label/index.html b/docs/api/bxl/label/index.html new file mode 100644 index 0000000000000..0aaf3745ecdf7 --- /dev/null +++ b/docs/api/bxl/label/index.html @@ -0,0 +1,20 @@ + + + + + +label type | Buck2 + + + + + + + + +
+

label type

A label is used to represent a configured target.

label.cell

label.cell: str

For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode


label.cell_root

label.cell_root: cell_root

Obtain a reference to this target label's cell root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to.


label.configured_target

def label.configured_target() -> configured_target_label

Returns the underlying configured target label, dropping the sub target


label.name

label.name: str

For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back world


label.package

label.package: str

For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back buck2/hello


label.path

label.path: label_relative_path

For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode/buck2/hello


label.project_root

label.project_root: project_root

Obtain a reference to the project's root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to.


label.raw_target

def label.raw_target() -> target_label

For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this returns the unconfigured underlying target label (fbcode//buck2/hello:world)


label.sub_target

label.sub_target: None | list[str]
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/label_relative_path/index.html b/docs/api/bxl/label_relative_path/index.html new file mode 100644 index 0000000000000..889763fa0a2f2 --- /dev/null +++ b/docs/api/bxl/label_relative_path/index.html @@ -0,0 +1,20 @@ + + + + + +label_relative_path type | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/bxl/lazy_attrs/index.html b/docs/api/bxl/lazy_attrs/index.html new file mode 100644 index 0000000000000..b594b2a79c7d8 --- /dev/null +++ b/docs/api/bxl/lazy_attrs/index.html @@ -0,0 +1,20 @@ + + + + + +lazy_attrs type | Buck2 + + + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/plugins/index.html b/docs/api/bxl/plugins/index.html new file mode 100644 index 0000000000000..617944ec7bc1d --- /dev/null +++ b/docs/api/bxl/plugins/index.html @@ -0,0 +1,24 @@ + + + + + +plugins type | Buck2 + + + + + + + + +
+

plugins type

plugins.All

plugins.All: all_plugins

A special value for use with pulls_and_pushes_plugins.

This value can be passed to pulls_and_pushes_plugins on any attr.dep() to indicate that +all plugin kinds from the dep should be pulled and pushed. This is useful for rules like +alias.

This value is not supported on uses_plugins at this time, and hence it is not useful on +pulls_plugins either.


plugins.PluginKind

plugins.PluginKind: type

Type symbol for PluginKind.


plugins.kind

def plugins.kind() -> PluginKind

Create a new plugin kind.

The value returned should always be immediately bound to a global, like MyPluginKind = +plugins.kind()

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/promise/index.html b/docs/api/bxl/promise/index.html new file mode 100644 index 0000000000000..9b92b636469f5 --- /dev/null +++ b/docs/api/bxl/promise/index.html @@ -0,0 +1,22 @@ + + + + + +promise type | Buck2 + + + + + + + + +
+

promise type

promise.join

def promise.join(*args) -> promise

Join a set of promises together into a single promise.

Given a series of promises, p4 = p1.join(p2, p3) will produce a promise +where the value is promise that resolves to a tuple containing the three values, +those from p1, p2 and p3 respectively.


promise.map

def promise.map(func: typing.Callable[[typing.Any], typing.Any], /) -> promise

Given a promise, apply a function to the value it contains, producing a promise with the resulting value.

+ + + + \ No newline at end of file diff --git a/docs/api/bxl/provider_collection/index.html b/docs/api/bxl/provider_collection/index.html new file mode 100644 index 0000000000000..16ec66f4e6bca --- /dev/null +++ b/docs/api/bxl/provider_collection/index.html @@ -0,0 +1,20 @@ + + + + + +provider_collection type | Buck2 + + + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/providers_label/index.html b/docs/api/bxl/providers_label/index.html new file mode 100644 index 0000000000000..ce58c3575aa86 --- /dev/null +++ b/docs/api/bxl/providers_label/index.html @@ -0,0 +1,20 @@ + + + + + +providers_label type | Buck2 + + + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/api/bxl/target_label/index.html b/docs/api/bxl/target_label/index.html new file mode 100644 index 0000000000000..cffa868b9bc3e --- /dev/null +++ b/docs/api/bxl/target_label/index.html @@ -0,0 +1,20 @@ + + + + + +target_label type | Buck2 + + + + + + + + +
+

target_label type

target_label.cell

target_label.cell: str

target_label.name

target_label.name: str

target_label.package

target_label.package: str

target_label.with_sub_target

def target_label.with_sub_target(
subtarget_name: str | list[str] = _
) -> providers_label

Converts a TargetLabel into its corresponding ProvidersLabel given the subtarget names, which is a list for each layer of subtarget

Sample usage:

def _impl_sub_target(ctx):
owners = ctx.uquery().owner("bin/TARGETS.fixture")
for owner in owners:
unconfigured_label = owner.label
ctx.output.print(unconfigured_label.with_sub_target())
ctx.output.print(unconfigured_label.with_sub_target("subtarget1"))
ctx.output.print(unconfigured_label.with_sub_target(["subtarget1", "subtarget2"]))
+ + + + \ No newline at end of file diff --git a/docs/api/index.html b/docs/api/index.html new file mode 100644 index 0000000000000..f4f8faf04eef7 --- /dev/null +++ b/docs/api/index.html @@ -0,0 +1,30 @@ + + + + + +APIs | Buck2 + + + + + + + + +
+

APIs

A lot of Buck2 is driven by Starlark APIs. While there is a +Starlark specification, +for most purposes it can be considered a subset of Python. There are three main +places you can write Starlark in Buck2:

  • In BUCK files, where you can define the rules. The most interesting +functions are the rules themselves, but you will often +use the builtin Starlark functions (most of which are the +same as in Python), and a few of the build functions (e.g. +glob).
  • In rule definitions, where you can use the same Starlark standard functions, +but will heavily be using the build functions (e.g. rule +and attrs).
  • In BXL, where the context type is one +of the more important ones.
+ + + + \ No newline at end of file diff --git a/docs/api/starlark/dict/index.html b/docs/api/starlark/dict/index.html new file mode 100644 index 0000000000000..36f8939de1b64 --- /dev/null +++ b/docs/api/starlark/dict/index.html @@ -0,0 +1,48 @@ + + + + + +dict type | Buck2 + + + + + + + + +
+

dict type

dict.clear

def dict.clear() -> None

dict.clear: clear a dictionary

D.clear() removes all the entries of dictionary D and returns None. +It fails if the dictionary is frozen or if there are active iterators.

x = {"one": 1, "two": 2}
x.clear()
x == {}

dict.get

def dict.get(key, default = _, /)

dict.get: return an element from the dictionary.

D.get(key[, default]) returns the dictionary value corresponding to +the given key. If the dictionary contains no such value, get +returns None, or the value of the optional default parameter if +present.

get fails if key is unhashable.

x = {"one": 1, "two": 2}
x.get("one") == 1
x.get("three") == None
x.get("three", 0) == 0

dict.items

def dict.items() -> list[(typing.Any, typing.Any)]

dict.items: get list of (key, value) pairs.

D.items() returns a new list of key/value pairs, one per element in +dictionary D, in the same order as they would be returned by a for +loop.

x = {"one": 1, "two": 2}
x.items() == [("one", 1), ("two", 2)]

dict.keys

def dict.keys() -> list[typing.Any]

dict.keys: get the list of keys of the dictionary.

D.keys() returns a new list containing the keys of dictionary D, in +the same order as they would be returned by a for loop.

x = {"one": 1, "two": 2}
x.keys() == ["one", "two"]

dict.pop

def dict.pop(key, default = _, /)

dict.pop: return an element and remove it from a dictionary.

D.pop(key[, default]) returns the value corresponding to the specified +key, and removes it from the dictionary. If the dictionary contains no +such value, and the optional default parameter is present, pop +returns that value; otherwise, it fails.

pop fails if key is unhashable, or the dictionary is frozen or has +active iterators.

x = {"one": 1, "two": 2}
x.pop("one") == 1
x == {"two": 2}
x.pop("three", 0) == 0
x.pop("three", None) == None

Failure:

{'one': 1}.pop('four')   # error: not found

dict.popitem

def dict.popitem() -> (typing.Any, typing.Any)

dict.popitem: returns and removes the first key/value pair of a dictionary.

D.popitem() returns the first key/value pair, removing it from the +dictionary.

popitem fails if the dictionary is empty, frozen, or has active +iterators.

x = {"one": 1, "two": 2}
x.popitem() == ("one", 1)
x.popitem() == ("two", 2)
x == {}

Failure:

{}.popitem()   # error: empty dict

dict.setdefault

def dict.setdefault(key, default = _, /)

dict.setdefault: get a value from a dictionary, setting it to a new value if not present.

D.setdefault(key[, default]) returns the dictionary value +corresponding to the given key. If the dictionary contains no such +value, setdefault, like get, returns None or the value of the +optional default parameter if present; setdefault additionally +inserts the new key/value entry into the dictionary.

setdefault fails if the key is unhashable or if the dictionary is +frozen.

x = {"one": 1, "two": 2}
x.setdefault("one") == 1
x.setdefault("three", 0) == 0
x == {"one": 1, "two": 2, "three": 0}
x.setdefault("four") == None
x == {"one": 1, "two": 2, "three": 0, "four": None}

dict.update

def dict.update(pairs = _, /, **kwargs) -> None

dict.update: update values in the dictionary.

D.update([pairs][, name=value[, ...]) makes a sequence of key/value +insertions into dictionary D, then returns None.

If the positional argument pairs is present, it must be None, +another dict, or some other iterable. +If it is another dict, then its key/value pairs are inserted into D. +If it is an iterable, it must provide a sequence of pairs (or other +iterables of length 2), each of which is treated as a key/value pair +to be inserted into D.

For each name=value argument present, the name is converted to a +string and used as the key for an insertion into D, with its +corresponding value being value.

update fails if the dictionary is frozen.

x = {}
x.update([("a", 1), ("b", 2)], c=3)
x.update({"d": 4})
x.update(e=5)
x == {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}

dict.values

def dict.values() -> list[typing.Any]

dict.values: get the list of values of the dictionary.

D.values() returns a new list containing the dictionary's values, in +the same order as they would be returned by a for loop over the +dictionary.

x = {"one": 1, "two": 2}
x.values() == [1, 2]
+ + + + \ No newline at end of file diff --git a/docs/api/starlark/globals/index.html b/docs/api/starlark/globals/index.html new file mode 100644 index 0000000000000..fc6313d7fb71d --- /dev/null +++ b/docs/api/starlark/globals/index.html @@ -0,0 +1,81 @@ + + + + + +globals | Buck2 + + + + + + + + +
+

globals

False

False: bool

None

None: None

True

True: bool

abs

def abs(x: float | int, /) -> float | int

Take the absolute value of an int.

abs(0)   == 0
abs(-10) == 10
abs(10) == 10
abs(10.0) == 10.0
abs(-12.34) == 12.34

all

def all(x: typing.Iterable, /) -> bool

all: returns true if all values in the iterable object have a truth value of true.

all([1, True]) == True
all([1, 1]) == True
all([0, 1, True]) == False
all([True, 1, True]) == True
all([0, 0]) == False
all([0, False]) == False
all([True, 0]) == False
all([1, False]) == False

any

def any(x: typing.Iterable, /) -> bool

any: returns true if any value in the iterable object have a truth value of true.

any([0, True]) == True
any([0, 1]) == True
any([0, 1, True]) == True
any([0, 0]) == False
any([0, False]) == False

bool

def bool(x = _, /) -> bool

bool: returns the truth value of any starlark value.

.type attribute

Produces "bool"

Details

bool() == False
bool([]) == False
bool([1]) == True
bool(True) == True
bool(False) == False
bool(None) == False
bool(bool) == True
bool(1) == True
bool(0) == False
bool({}) == False
bool({1:2}) == True
bool(()) == False
bool((1,)) == True
bool("") == False
bool("1") == True

breakpoint

def breakpoint() -> None

When a debugger is available, breaks into the debugger.


call_stack

def call_stack(*, strip_frames: int = 0) -> str

Get a textual representation of the call stack.

This is intended only for debugging purposes to display to a human and +should not be considered stable or parseable.

strip_frames will pop N frames from the top of the call stack, which can +be useful to hide non-interesting lines - for example, strip_frames=1 +will hide the call to and location of call_stack() itself.


call_stack_frame

def call_stack_frame(n: int, /) -> None | StackFrame

Get a structural representation of the n-th call stack frame.

With n=0 returns call_stack_frame itself. +Returns None if n is greater than or equal to the stack size.


chr

def chr(i: int, /) -> str

chr: returns a string encoding a codepoint.

chr(i) returns a string that encodes the single Unicode code +point whose value is specified by the integer i. chr fails +unless 0 ≤ i ≤ 0x10FFFF.

chr(65) == 'A'
chr(1049) == 'Й'
chr(0x1F63F) == '😿'

debug

def debug(val, /) -> str

Print the value with full debug formatting. The result may not be stable over time. Intended for debugging purposes and guaranteed to produce verbose output not suitable for user display.


dict

def dict(*args, **kwargs) -> dict[typing.Any, typing.Any]

dict: creates a dictionary.

.type attribute

Produces "dict"

Details

dict creates a dictionary. It accepts up to one positional argument, +which is interpreted as an iterable of two-element sequences +(pairs), each specifying a key/value pair in the +resulting dictionary.

dict also accepts any number of keyword arguments, each of which +specifies a key/value pair in the resulting dictionary; each keyword +is treated as a string.

dict() == {}
dict(**{'a': 1}) == {'a': 1}
dict({'a': 1}) == {'a': 1}
dict([(1, 2), (3, 4)]) == {1: 2, 3: 4}
dict([(1, 2), ['a', 'b']]) == {1: 2, 'a': 'b'}
dict(one=1, two=2) == {'one': 1, 'two': 2}
dict([(1, 2)], x=3) == {1: 2, 'x': 3}
dict([('x', 2)], x=3) == {'x': 3}
x = {'a': 1}
y = dict([('x', 2)], **x)
x == {'a': 1} and y == {'x': 2, 'a': 1}

dir

def dir(x, /) -> list[str]

dir: list attributes of a value.

dir(x) returns a list of the names of the attributes (fields and +methods) of its operand. The attributes of a value x are the names +f such that x.f is a valid expression.

"capitalize" in dir("abc")

enum

def enum(*args: str)

The enum type represents one value picked from a set of values.

For example:

MyEnum = enum("option1", "option2", "option3")

This statement defines an enumeration MyEnum that consists of the three values "option1", "option2" and option3.

Now MyEnum is defined, it's possible to do the following:

  • Create values of this type with MyEnum("option2"). It is a runtime error if the argument is not one of the predeclared values of the enumeration.
  • Get the type of the enum suitable for a type annotation with MyEnum.
  • Given a value of the enum (for example, v = MyEnum("option2")), get the underlying value v.value == "option2" or the index in the enumeration v.index == 1.
  • Get a list of the values that make up the array with MyEnum.values() == ["option1", "option2", "option3"].
  • Treat MyEnum a bit like an array, with len(MyEnum) == 3, MyEnum[1] == MyEnum("option2") and iteration over enums [x.value for x in MyEnum] == ["option1", "option2", "option3"].

Enumeration types store each value once, which are then efficiently referenced by enumeration values.


enumerate

def enumerate(it: typing.Iterable, /, start: int = 0) -> list[(int, typing.Any)]

enumerate: return a list of (index, element) from an iterable.

enumerate(x) returns a list of (index, value) pairs, each containing +successive values of the iterable sequence and the index of the +value within the sequence.

The optional second parameter, start, specifies an integer value to +add to each index.

enumerate(["zero", "one", "two"]) == [(0, "zero"), (1, "one"), (2, "two")]
enumerate(["one", "two"], 1) == [(1, "one"), (2, "two")]

eval_type

def eval_type(ty: type, /) -> type

Create a runtime type object which can be used to check if a value matches the given type.


fail

def fail(*args) -> typing.Never

fail: fail the execution

fail("this is an error")  # fail: this is an error
fail("oops", 1, False) # fail: oops 1 False

field

def field(typ, /, default = _) -> field

Creates a field record. Used as an argument to the record function.

rec_type = record(host=field(str), port=field(int), mask=field(int, default=255))
rec = rec_type(host="localhost", port=80)
rec.port == 80
rec.mask == 255

filter

def filter(
func: None | typing.Callable,
seq: typing.Iterable,
/
) -> list[typing.Any]

Apply a predicate to each element of the iterable, returning those that match. As a special case if the function is None then removes all the None values.

filter(bool, [0, 1, False, True]) == [1, True]
filter(lambda x: x > 2, [1, 2, 3, 4]) == [3, 4]
filter(None, [True, None, False]) == [True, False]

float

def float(a: bool | float | int | str = _, /) -> float

float: interprets its argument as a floating-point number.

.type attribute

Produces "float"

Details

If x is a float, the result is x. +if x is an int, the result is the nearest floating point value to x. +If x is a string, the string is interpreted as a floating-point literal. +With no arguments, float() returns 0.0.

float() == 0.0
float(1) == 1.0
float('1') == 1.0
float('1.0') == 1.0
float('.25') == 0.25
float('1e2') == 100.0
float(False) == 0.0
float(True) == 1.0
float("hello") # error: not a valid number
float([]) # error

getattr

def getattr(
a,
attr: str,
default = _,
/
)

getattr: returns the value of an attribute

getattr(x, name) returns the value of the attribute (field or method) +of x named name. It is a dynamic error if x has no such attribute.

getattr(x, "f") is equivalent to x.f.

getattr(x, "f", d) is equivalent to x.f if hasattr(x, "f") else d +and will never raise an error.

getattr("banana", "split")("a") == ["b", "n", "n", ""] # equivalent to "banana".split("a")

hasattr

def hasattr(a, attr: str, /) -> bool

hasattr: test if an object has an attribute

hasattr(x, name) reports whether x has an attribute (field or method) +named name.


hash

def hash(a: str, /) -> int

hash: returns the hash number of a value.

hash(x) returns an integer hash value for x such that x == y +implies hash(x) == hash(y).

hash fails if x, or any value upon which its hash depends, is +unhashable.

hash("hello") != hash("world")

int

def int(a: bool | float | int | str = _, /, base: int = _) -> int

int: convert a value to integer.

.type attribute

Produces "int"

Details

int(x[, base]) interprets its argument as an integer.

If x is an int, the result is x. +If x is a float, the result is the integer value nearest to x, +truncating towards zero; it is an error if x is not finite (NaN, ++Inf, -Inf). +If x is a bool, the result is 0 for False or 1 for True.

If x is a string, it is interpreted like a string literal; +an optional base prefix (0, 0b, 0B, 0x, 0X) determines which +base to use. The string may specify an arbitrarily large integer, +whereas true integer literals are restricted to 64 bits. +If a non-zero base argument is provided, the string is interpreted +in that base and no base prefix is permitted; the base argument may +specified by name.

int() with no arguments returns 0.

int() == 0
int(1) == 1
int(False) == 0
int(True) == 1
int('1') == 1
int('16') == 16
int('16', 10) == 16
int('16', 8) == 14
int('16', 16) == 22
int(0.0) == 0
int(3.14) == 3
int(-12345.6789) == -12345
int(2e9) == 2000000000
int("hello") # error: Cannot parse
int(float("nan")) # error: cannot be represented as exact integer
int(float("inf")) # error: cannot be represented as exact integer

isinstance

def isinstance(value, ty: type, /) -> bool

Check if a value matches the given type.


json

json: struct(decode = "function", encode = "function")

len

def len(a, /) -> int

len: get the length of a sequence

len(x) returns the number of elements in its argument.

It is a dynamic error if its argument is not a sequence.

len(()) == 0
len({}) == 0
len([]) == 0
len([1]) == 1
len([1,2]) == 2
len({'16': 10}) == 1
len(True) # error: not supported

list

def list(a: typing.Iterable = _, /) -> list[typing.Any]

list: construct a list.

.type attribute

Produces "list"

Details

list(x) returns a new list containing the elements of the +iterable sequence x.

With no argument, list() returns a new empty list.

list()        == []
list((1,2,3)) == [1, 2, 3]
list("strings are not iterable") # error: not supported

map

def map(func: typing.Callable, seq: typing.Iterable, /) -> list[typing.Any]

Apply a function to each element of the iterable, returning the results.

map(abs, [7, -5, -6]) == [7, 5, 6]
map(lambda x: x * 2, [1, 2, 3, 4]) == [2, 4, 6, 8]

max

def max(*args, key = _)

max: returns the maximum of a sequence.

max(x) returns the greatest element in the iterable sequence x.

It is an error if any element does not support ordered comparison, +or if the sequence is empty.

The optional named parameter key specifies a function to be applied +to each element prior to comparison.

max([3, 1, 4, 1, 5, 9])               == 9
max("two", "three", "four") == "two" # the lexicographically greatest
max("two", "three", "four", key=len) == "three" # the longest

min

def min(*args, key = _)

min: returns the minimum of a sequence.

min(x) returns the least element in the iterable sequence x.

It is an error if any element does not support ordered comparison, +or if the sequence is empty.

min([3, 1, 4, 1, 5, 9])                 == 1
min("two", "three", "four") == "four" # the lexicographically least
min("two", "three", "four", key=len) == "two" # the shortest

ord

def ord(a: str, /) -> int

ord: returns the codepoint of a character

ord(s) returns the integer value of the sole Unicode code point +encoded by the string s.

If s does not encode exactly one Unicode code point, ord fails. +Each invalid code within the string is treated as if it encodes the +Unicode replacement character, U+FFFD.

Example:

ord("A")                                == 65
ord("Й") == 1049
ord("😿") == 0x1F63F

partial

def partial(
func,
/,
*args,
**kwargs
) -> function

Construct a partial application. In almost all cases it is simpler to use a lamdba.


pprint

def pprint(*args) -> None

prepr

def prepr(a, /) -> str

Like repr, but produces more verbose pretty-printed output


print

def print(*args) -> None

Print some values to the output.


pstr

def pstr(a, /) -> str

Like str, but produces more verbose pretty-printed output


range

def range(
a1: int,
a2: int = _,
step: int = 1,
/
) -> range

range: return a range of integers

.type attribute

Produces "range"

Details

range returns a tuple of integers defined by the specified interval +and stride.

range(stop)                             # equivalent to range(0, stop)
range(start, stop) # equivalent to range(start, stop, 1)
range(start, stop, step)

range requires between one and three integer arguments. +With one argument, range(stop) returns the ascending sequence of +non-negative integers less than stop. +With two arguments, range(start, stop) returns only integers not less +than start.

With three arguments, range(start, stop, step) returns integers +formed by successively adding step to start until the value meets or +passes stop. A call to range fails if the value of step is +zero.

list(range(10))                         == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(3, 10)) == [3, 4, 5, 6, 7, 8, 9]
list(range(3, 10, 2)) == [3, 5, 7, 9]
list(range(10, 3, -2)) == [10, 8, 6, 4]

record

def record(**kwargs) -> function

A record type represents a set of named values, each with their own type.

For example:

MyRecord = record(host=str, port=int)

This above statement defines a record MyRecord with 2 fields, the first named host that must be of type str, and the second named port that must be of type int.

Now MyRecord is defined, it's possible to do the following:

  • Create values of this type with MyRecord(host="localhost", port=80). It is a runtime error if any arguments are missed, of the wrong type, or if any unexpected arguments are given.
  • Get the type of the record suitable for a type annotation with MyRecord.type.
  • Get the fields of the record. For example, v = MyRecord(host="localhost", port=80) will provide v.host == "localhost" and v.port == 80. Similarly, dir(v) == ["host", "port"].

It is also possible to specify default values for parameters using the field function.

For example:

MyRecord = record(host=str, port=field(int, 80))

Now the port field can be omitted, defaulting to 80 is not present (for example, MyRecord(host="localhost").port == 80).

Records are stored deduplicating their field names, making them more memory efficient than dictionaries.


repr

def repr(a, /) -> str

repr: formats its argument as a string.

All strings in the result are double-quoted.

repr(1)                 == '1'
repr("x") == "\"x\""
repr([1, "x"]) == "[1, \"x\"]"
repr("test \"'") == "\"test \\\"'\""
repr("x\"y😿 \\'") == "\"x\\\"y\\U0001f63f \\\\'\""

reversed

def reversed(a: typing.Iterable, /) -> list[typing.Any]

reversed: reverse a sequence

reversed(x) returns a new list containing the elements of the iterable +sequence x in reverse order.

reversed(['a', 'b', 'c'])              == ['c', 'b', 'a']
reversed(range(5)) == [4, 3, 2, 1, 0]
reversed("stressed".elems()) == ["d", "e", "s", "s", "e", "r", "t", "s"]
reversed({"one": 1, "two": 2}.keys()) == ["two", "one"]

sorted

def sorted(
x,
/,
*,
key = _,
reverse: bool = False
) -> list[typing.Any]

sorted: sort a sequence

sorted(x) returns a new list containing the elements of the iterable +sequence x, in sorted order. The sort algorithm is stable.

The optional named parameter reverse, if true, causes sorted to +return results in reverse sorted order.

The optional named parameter key specifies a function of one +argument to apply to obtain the value's sort key. +The default behavior is the identity function.

sorted([3, 1, 4, 1, 5, 9])                               == [1, 1, 3, 4, 5, 9]
sorted([3, 1, 4, 1, 5, 9], reverse=True) == [9, 5, 4, 3, 1, 1]
sorted(["two", "three", "four"], key=len) == ["two", "four", "three"] # shortest to longest
sorted(["two", "three", "four"], key=len, reverse=True) == ["three", "four", "two"] # longest to shortest

starlark_rust_internal

starlark_rust_internal: struct(ty_of_value_debug = "function")

str

def str(a, /) -> str

str: formats its argument as a string.

.type attribute

Produces "string"

Details

If x is a string, the result is x (without quotation). +All other strings, such as elements of a list of strings, are +double-quoted.

str(1)                          == '1'
str("x") == 'x'
str([1, "x"]) == "[1, \"x\"]"

struct

def struct(*args, **kwargs) -> struct(..)

.type attribute

Produces "struct"


tuple

def tuple(a: typing.Iterable = _, /) -> tuple

tuple: returns a tuple containing the elements of the iterable x.

.type attribute

Produces "tuple"

Details

With no arguments, tuple() returns the empty tuple.

tuple() == ()
tuple([1,2,3]) == (1, 2, 3)

type

def type(a, /) -> str

type: returns a string describing the type of its operand.

.type attribute

Produces "type"

Details

type(None)              == "NoneType"
type(0) == "int"
type(1) == "int"
type(()) == "tuple"
type("hello") == "string"

typing

typing: struct(Any = typing.Any, Callable = typing.Callable, Iterable = typing.Iterable, Never = typing.Never)

zip

def zip(*args: typing.Iterable) -> list[typing.Any]

zip: zip several iterables together

zip() returns a new list of n-tuples formed from corresponding +elements of each of the n iterable sequences provided as arguments to +zip. That is, the first tuple contains the first element of each of +the sequences, the second element contains the second element of each +of the sequences, and so on. The result list is only as long as the +shortest of the input sequences.

zip()                           == []
zip(range(5)) == [(0,), (1,), (2,), (3,), (4,)]
zip(range(5), "abc".elems()) == [(0, "a"), (1, "b"), (2, "c")]
+ + + + \ No newline at end of file diff --git a/docs/api/starlark/list/index.html b/docs/api/starlark/list/index.html new file mode 100644 index 0000000000000..3712052d62205 --- /dev/null +++ b/docs/api/starlark/list/index.html @@ -0,0 +1,37 @@ + + + + + +list type | Buck2 + + + + + + + + +
+

list type

list.append

def list.append(el, /) -> None

list.append: append an element to a list.

L.append(x) appends x to the list L, and returns None.

append fails if the list is frozen or has active iterators.

x = []
x.append(1)
x.append(2)
x.append(3)
x == [1, 2, 3]

list.clear

def list.clear() -> None

list.clear: clear a list

L.clear() removes all the elements of the list L and returns None. +It fails if the list is frozen or if there are active iterators.

x = [1, 2, 3]
x.clear()
x == []

list.extend

def list.extend(other: typing.Iterable, /) -> None

list.extend: extend a list with another iterable's content.

L.extend(x) appends the elements of x, which must be iterable, to +the list L, and returns None.

extend fails if x is not iterable, or if the list L is frozen or has +active iterators.

x = []
x.extend([1, 2, 3])
x.extend(["foo"])
x == [1, 2, 3, "foo"]

list.index

def list.index(
needle,
start: None | int = None,
end: None | int = None,
/
) -> int

list.index: get the index of an element in the list.

L.index(x[, start[, end]]) finds x within the list L and returns its +index.

The optional start and end parameters restrict the portion of +list L that is inspected. If provided and not None, they must be list +indices of type int. If an index is negative, len(L) is effectively +added to it, then if the index is outside the range [0:len(L)], the +nearest value within that range is used; see Indexing.

index fails if x is not found in L, or if start or end +is not a valid index (int or None).

x = ["b", "a", "n", "a", "n", "a"]
x.index("a") == 1 # bAnana
x.index("a", 2) == 3 # banAna
x.index("a", -2) == 5 # bananA

list.insert

def list.insert(index: int, el, /) -> None

list.insert: insert an element in a list.

L.insert(i, x) inserts the value x in the list L at index i, +moving higher-numbered elements along by one. It returns None.

As usual, the index i must be an int. If its value is negative, +the length of the list is added, then its value is clamped to the +nearest value in the range [0:len(L)] to yield the effective index.

insert fails if the list is frozen or has active iterators.

x = ["b", "c", "e"]
x.insert(0, "a")
x.insert(-1, "d")
x == ["a", "b", "c", "d", "e"]

list.pop

def list.pop(index: int = _, /)

list.pop: removes and returns the last element of a list.

L.pop([index]) removes and returns the last element of the list L, or, +if the optional index is provided, at that index.

pop fails if the index is negative or not less than the length of +the list, of if the list is frozen or has active iterators.

x = [1, 2, 3]
x.pop() == 3
x.pop() == 2
x == [1]

list.remove

def list.remove(needle, /) -> None

list.remove: remove a value from a list

L.remove(x) removes the first occurrence of the value x from the +list L, and returns None.

remove fails if the list does not contain x, is frozen, or has +active iterators.

x = [1, 2, 3, 2]
x.remove(2)
x == [1, 3, 2]
x.remove(2)
x == [1, 3]

A subsequent call to x.remove(2) would yield an error because the +element won't be found.

x = [1, 2, 3, 2]
x.remove(2)
x.remove(2)
x.remove(2) # error: not found
+ + + + \ No newline at end of file diff --git a/docs/api/starlark/string/index.html b/docs/api/starlark/string/index.html new file mode 100644 index 0000000000000..6c316747ed525 --- /dev/null +++ b/docs/api/starlark/string/index.html @@ -0,0 +1,107 @@ + + + + + +string type | Buck2 + + + + + + + + +
+

string type

string.capitalize

def string.capitalize() -> str

string.capitalize: returns a copy of string S, where the first character (if any) is converted to uppercase; all other characters are converted to lowercase.

"hello, world!".capitalize() == "Hello, world!"
"Hello, World!".capitalize() == "Hello, world!"
"".capitalize() == ""

string.codepoints

def string.codepoints() -> typing.Iterable[str]

string.codepoints: returns an iterable of the unicode codepoint of a string.

S.codepoints() returns an iterable value containing the +sequence of integer Unicode code points encoded by the string S. +Each invalid code within the string is treated as if it encodes the +Unicode replacement character, U+FFFD.

By returning an iterable, not a list, the cost of decoding the string +is deferred until actually needed; apply list(...) to the result to +materialize the entire sequence.

list("Hello, 世界".codepoints()) == [72, 101, 108, 108, 111, 44, 32, 19990, 30028]

string.count

def string.count(
needle: str,
start: None | int = None,
end: None | int = None,
/
) -> int

string.count: count the number of occurrences of a string in another string.

S.count(sub[, start[, end]]) returns the number of occurrences of +sub within the string S, or, if the optional substring indices +start and end are provided, within the designated substring of S. +They are interpreted according to Skylark's indexing conventions.

This implementation does not count occurrence of sub in the string S +that overlap other occurrence of S (which can happen if some suffix of S +is a prefix of S). For instance, "abababa".count("aba") returns 2 +for [aba]a[aba], not counting the middle occurrence: ab[aba]ba +(this is following Python behavior).

"hello, world!".count("o") == 2
"abababa".count("aba") == 2
"hello, world!".count("o", 7, 12) == 1 # in "world"

string.elems

def string.elems() -> typing.Iterable[str]

string.elems: returns an iterable of the bytes values of a string.

S.elems() returns an iterable value containing the +sequence of numeric bytes values in the string S.

To materialize the entire sequence of bytes, apply list(...) to the +result.

list("Hello, 世界".elems()) == ["H", "e", "l", "l", "o", ",", " ", "世", "界"]

string.endswith

def string.endswith(suffix: str | tuple[str, ...], /) -> bool

string.endswith: determine if a string ends with a given suffix.

S.endswith(suffix) reports whether the string S has the specified +suffix.

"filename.sky".endswith(".sky") == True

string.find

def string.find(
needle: str,
start: None | int = None,
end: None | int = None,
/
) -> int

string.find: find a substring in a string.

S.find(sub[, start[, end]]) returns the index of the first +occurrence of the substring sub within S.

If either or both of start or end are specified, +they specify a subrange of S to which the search should be restricted. +They are interpreted according to Skylark's indexing +conventions.

If no occurrence is found, found returns -1.

"bonbon".find("on") == 1
"bonbon".find("on", 2) == 4
"bonbon".find("on", 2, 5) == -1

string.format

def string.format(*args, **kwargs) -> str

string.format: format a string.

S.format(*args, **kwargs) returns a version of the format string S +in which bracketed portions {...} are replaced +by arguments from args and kwargs.

Within the format string, a pair of braces {{ or }} is treated as +a literal open or close brace. +Each unpaired open brace must be matched by a close brace }. +The optional text between corresponding open and close braces +specifies which argument to use and how to format it, and consists of +three components, all optional: +a field name, a conversion preceded by '!', and a format specifier +preceded by ':'.

{field}
{field:spec}
{field!conv}
{field!conv:spec}

The field name may be either a decimal number or a keyword. +A number is interpreted as the index of a positional argument; +a keyword specifies the value of a keyword argument. +If all the numeric field names form the sequence 0, 1, 2, and so on, +they may be omitted and those values will be implied; however, +the explicit and implicit forms may not be mixed.

The conversion specifies how to convert an argument value x to a +string. It may be either !r, which converts the value using +repr(x), or !s, which converts the value using str(x) and is +the default.

The format specifier, after a colon, specifies field width, +alignment, padding, and numeric precision. +Currently it must be empty, but it is reserved for future use.

"a {} c".format(3) == "a 3 c"
"a{x}b{y}c{}".format(1, x=2, y=3) == "a2b3c1"
"a{}b{}c".format(1, 2) == "a1b2c"
"({1}, {0})".format("zero", "one") == "(one, zero)"
"Is {0!r} {0!s}?".format("heterological") == "Is \"heterological\" heterological?"

string.index

def string.index(
needle: str,
start: None | int = None,
end: None | int = None,
/
) -> int

string.index: search a substring inside a string, failing on not found.

S.index(sub[, start[, end]]) returns the index of the first +occurrence of the substring sub within S, like S.find, except +that if the substring is not found, the operation fails.

"bonbon".index("on") == 1
"bonbon".index("on", 2) == 4
"bonbon".index("on", 2, 5) # error: not found

string.isalnum

def string.isalnum() -> bool

string.isalnum: test if a string is composed only of letters and digits.

S.isalnum() reports whether the string S is non-empty and consists +only Unicode letters and digits.

"base64".isalnum() == True
"Catch-22".isalnum() == False

string.isalpha

def string.isalpha() -> bool

string.isalpha: test if a string is composed only of letters.

S.isalpha() reports whether the string S is non-empty and consists +only of Unicode letters.

"ABC".isalpha() == True
"Catch-22".isalpha() == False
"".isalpha() == False

string.isdigit

def string.isdigit() -> bool

string.isdigit: test if a string is composed only of digits.

S.isdigit() reports whether the string S is non-empty and consists +only of Unicode digits.

"123".isdigit() == True
"Catch-22".isdigit() == False
"".isdigit() == False

string.islower

def string.islower() -> bool

string.islower: test if all letters of a string are lowercase.

S.islower() reports whether the string S contains at least one cased +Unicode letter, and all such letters are lowercase.

"hello, world".islower() == True
"Catch-22".islower() == False
"123".islower() == False

string.isspace

def string.isspace() -> bool

string.isspace: test if all characters of a string are whitespaces.

S.isspace() reports whether the string S is non-empty and consists +only of Unicode spaces.

"    ".isspace() == True
"\r\t\n".isspace() == True
"".isspace() == False

string.istitle

def string.istitle() -> bool

string.istitle: test if the string is title cased.

S.istitle() reports whether the string S contains at least one cased +Unicode letter, and all such letters that begin a word are in title +case.

"Hello, World!".istitle() == True
"Catch-22".istitle() == True
"HAL-9000".istitle() == False
"123".istitle() == False

string.isupper

def string.isupper() -> bool

string.isupper: test if all letters of a string are uppercase.

S.isupper() reports whether the string S contains at least one cased +Unicode letter, and all such letters are uppercase.

"HAL-9000".isupper() == True
"Catch-22".isupper() == False
"123".isupper() == False

string.join

def string.join(to_join: typing.Iterable[str], /) -> str

string.join: join elements with a separator.

S.join(iterable) returns the string formed by concatenating each +element of its argument, with a copy of the string S between +successive elements. The argument must be an iterable whose elements +are strings.

", ".join([]) == ""
", ".join(("x", )) == "x"
", ".join(["one", "two", "three"]) == "one, two, three"
"a".join("ctmrn".elems()) == "catamaran"

string.lower

def string.lower() -> str

string.lower: convert a string to all lowercase.

S.lower() returns a copy of the string S with letters converted to +lowercase.

"Hello, World!".lower() == "hello, world!"

string.lstrip

def string.lstrip(chars: str = _, /) -> str

string.lstrip: trim leading whitespaces.

S.lstrip() returns a copy of the string S with leading whitespace removed. +In most cases instead of passing an argument you should use removeprefix.

"  hello  ".lstrip() == "hello  "
"x!hello ".lstrip("!x ") == "hello "

string.partition

def string.partition(needle: str, /) -> (str, str, str)

string.partition: partition a string in 3 components

S.partition(x = " ") splits string S into three parts and returns them +as a tuple: the portion before the first occurrence of string x, +x itself, and the portion following it. +If S does not contain x, partition returns (S, "", "").

partition fails if x is not a string, or is the empty string.

"one/two/three".partition("/") == ("one", "/", "two/three")
"one".partition("/") == ("one", "", "")

string.removeprefix

def string.removeprefix(prefix: str, /) -> str

string.removeprefix: remove a prefix from a string. Not part of standard Starlark.

If the string starts with the prefix string, return string[len(prefix):]. +Otherwise, return a copy of the original string:

"Hello, World!".removeprefix("Hello") == ", World!"
"Hello, World!".removeprefix("Goodbye") == "Hello, World!"
"Hello".removeprefix("Hello") == ""

string.removesuffix

def string.removesuffix(suffix: str, /) -> str

string.removesuffix: remove a prefix from a string. Not part of standard Starlark.

If the string starts with the prefix string, return string[len(prefix):]. +Otherwise, return a copy of the original string:

"Hello, World!".removesuffix("World!") == "Hello, "
"Hello, World!".removesuffix("World") == "Hello, World!"
"Hello".removesuffix("Hello") == ""

string.replace

def string.replace(
old: str,
new: str,
count: int = _,
/
) -> str

string.replace: replace all occurrences of a substring.

S.replace(old, new[, count]) returns a copy of string S with all +occurrences of substring old replaced by new. If the optional +argument count, which must be an int, is non-negative, it +specifies a maximum number of occurrences to replace.

"banana".replace("a", "o") == "bonono"
"banana".replace("a", "o", 2) == "bonona"
"banana".replace("z", "x") == "banana"
"banana".replace("", "x") == "xbxaxnxaxnxax"
"banana".replace("", "x", 2) == "xbxanana"
"".replace("", "x") == "x"
"banana".replace("a", "o", -2) # error: argument was negative

string.rfind

def string.rfind(
needle: str,
start: None | int = None,
end: None | int = None,
/
) -> int

string.rfind: find the last index of a substring.

S.rfind(sub[, start[, end]]) returns the index of the substring sub +within S, like S.find, except that rfind returns the index of +the substring's last occurrence.

"bonbon".rfind("on") == 4
"bonbon".rfind("on", None, 5) == 1
"bonbon".rfind("on", 2, 5) == -1

string.rindex

def string.rindex(
needle: str,
start: None | int = None,
end: None | int = None,
/
) -> int

string.rindex: find the last index of a substring, failing on not found.

S.rindex(sub[, start[, end]]) returns the index of the substring sub +within S, like S.index, except that rindex returns the index of +the substring's last occurrence.

"bonbon".rindex("on") == 4
"bonbon".rindex("on", None, 5) == 1 # in "bonbo"
"bonbon".rindex("on", 2, 5) # error: not found

string.rpartition

def string.rpartition(needle: str, /) -> (str, str, str)

string.rpartition: partition a string in 3 elements.

S.rpartition([x = ' ']) is like partition, but splits S at the +last occurrence of x.

"one/two/three".rpartition("/") == ("one/two", "/", "three")
"one".rpartition("/") == ("", "", "one")

string.rsplit

def string.rsplit(
sep: None | str = None,
maxsplit: None | int = None,
/
) -> list[str]

string.rsplit: splits a string into substrings.

S.rsplit([sep[, maxsplit]]) splits a string into substrings like +S.split, except that when a maximum number of splits is specified, +rsplit chooses the rightmost splits.

"banana".rsplit("n") == ["ba", "a", "a"]
"banana".rsplit("n", 1) == ["bana", "a"]
"one two three".rsplit(None, 1) == ["one two", "three"]

string.rstrip

def string.rstrip(chars: str = _, /) -> str

string.rstrip: trim trailing whitespace.

S.rstrip() returns a copy of the string S with trailing whitespace removed. +In most cases instead of passing an argument you should use removesuffix.

"  hello  ".rstrip() == "  hello"
" hello!x".rstrip(" x!") == " hello"

string.split

def string.split(
sep: None | str = None,
maxsplit: None | int = None,
/
) -> list[str]

string.split: split a string in substrings.

S.split([sep [, maxsplit]]) returns the list of substrings of S, +splitting at occurrences of the delimiter string sep.

Consecutive occurrences of sep are considered to delimit empty +strings, so 'food'.split('o') returns ['f', '', 'd']. +Splitting an empty string with a specified separator returns ['']. +If sep is the empty string, split fails.

If sep is not specified or is None, split uses a different +algorithm: it removes all leading spaces from S +(or trailing spaces in the case of rsplit), +then splits the string around each consecutive non-empty sequence of +Unicode white space characters.

If S consists only of white space, split returns the empty list.

If maxsplit is given and non-negative, it specifies a maximum number +of splits.

"one two  three".split() == ["one", "two", "three"]
"one two three".split(" ") == ["one", "two", "", "three"]
"one two three".split(None, 1) == ["one", "two three"]
"banana".split("n") == ["ba", "a", "a"]
"banana".split("n", 1) == ["ba", "ana"]

string.splitlines

def string.splitlines(keepends: bool = False, /) -> list[str]

string.splitlines: return the list of lines of a string.

S.splitlines([keepends]) returns a list whose elements are the +successive lines of S, that is, the strings formed by splitting S at +line terminators ('\n', '\r' or '\r\n').

The optional argument, keepends, is interpreted as a Boolean. +If true, line terminators are preserved in the result, though +the final element does not necessarily end with a line terminator.

"one\n\ntwo".splitlines() == ["one", "", "two"]
"one\n\ntwo".splitlines(True) == ["one\n", "\n", "two"]
"a\nb".splitlines() == ["a", "b"]

string.startswith

def string.startswith(prefix: str | tuple[str, ...], /) -> bool

string.startswith: test whether a string starts with a given prefix.

S.startswith(suffix) reports whether the string S has the specified +prefix.

"filename.sky".startswith("filename") == True
"filename.sky".startswith("sky") == False
'abc'.startswith(('a', 'A')) == True
'ABC'.startswith(('a', 'A')) == True
'def'.startswith(('a', 'A')) == False

string.strip

def string.strip(chars: str = _, /) -> str

string.strip: trim leading and trailing whitespaces.

S.strip() returns a copy of the string S with leading and trailing +whitespace removed.

"  hello  ".strip() == "hello"
"xxhello!!".strip("x!") == "hello"

string.title

def string.title() -> str

string.title: convert a string to title case.

S.title() returns a copy of the string S with letters converted to +titlecase.

Letters are converted to uppercase at the start of words, lowercase +elsewhere.

"hElLo, WoRlD!".title() == "Hello, World!"

string.upper

def string.upper() -> str

string.upper: convert a string to all uppercase.

S.upper() returns a copy of the string S with letters converted to +uppercase.

"Hello, World!".upper() == "HELLO, WORLD!"
+ + + + \ No newline at end of file diff --git a/docs/concepts/buck_out/index.html b/docs/concepts/buck_out/index.html new file mode 100644 index 0000000000000..5296790c42831 --- /dev/null +++ b/docs/concepts/buck_out/index.html @@ -0,0 +1,29 @@ + + + + + +buck-out | Buck2 + + + + + + + + +
+

buck-out

Buck2 stores build artifacts in a directory named buck-out in the root of your +project. You should not make assumptions about where +Buck2 places your build artifacts within the directory structure beneath +buck-out as these locations depend on Buck2's implementation and could +potentially change over time. Instead, to obtain the location of the build +artifact for a particular target, you can use one of the --show-*-output +options with the buck2 build or +buck2 targets commands, most commonly +--show-output. For the full list of ways to show the output location, you can +run buck2 build --help or buck2 targets --help.

buck2 targets --show-output <target>
buck2 build --show-output <target>
+ + + + \ No newline at end of file diff --git a/docs/concepts/buckconfig/index.html b/docs/concepts/buckconfig/index.html new file mode 100644 index 0000000000000..f7b0b981b724e --- /dev/null +++ b/docs/concepts/buckconfig/index.html @@ -0,0 +1,110 @@ + + + + + +.buckconfig | Buck2 + + + + + + + + +
+

.buckconfig

The root of your project must contain a configuration +file named .buckconfig. Before executing, Buck2 reads this file to incorporate +any customizations it specifies.

Performance impact of Buck2 configuration changes

Because configuration settings are sometimes included in the cache keys that +Buck2 uses in its caching system, changes to Buck's configuration can invalidate +previously-built artifacts in Buck's caches. If this occurs, Buck2 rebuilds +those artifacts, which can impact your build time.

The .buckconfig file uses the INI file format

The .buckconfig file uses the +INI file format. That is, it is divided +into sections where each section contains a collection of key names and key +values. The .buckconfig implementation supports some modifications to the +INI file format; these are discussed below.

Other INI file parsers

As mentioned previously, we have extended the INI file parser that Buck2 uses to +parse configuration files. As a result, INI file parsers provided by other +languages or libraries are often not able to parse Buck's configuration files +successfully.

Dot character not supported in section names

We do not support the use of the dot character (.) in section names within +Buck2 configuration files. For example, the following is not +supported—although Buck2 does not issue a warning or error.

[foo.bar]
baz=1

Note that sometimes you might need to define your own custom sections, such as +for platform flavors for C++ or Python. These scenarios are examples of when you +should be careful not to introduce the dot character in section names. This +constraint is because Buck2 uses the dot character to delimit section names and +key names in other contexts such as the --config command-line parameter.

Character encoding

To ensure that any character can be encoded in a .buckconfig key value, you +can use escape sequences to encode characters that would otherwise be +problematic. The following escape sequences are supported.

\\backslash
\"double quote
\nnewline
\rcarriage return
\ttab
\x##Unicode character with code point ## (in hex)
\u####Unicode character with code point #### (in hex)
\U########Unicode character with code point ######## (in hex)

Key values as lists

Although the standard INI format supports only key values that represent a +single item, Buck2 supports key values that represent a list of items. The +syntax is to separate the items in the list using the space (0x20) character. +For example, a key value for the list of command-line flags to be passed to a +compiler could be represented as a list of the flags separated by spaces:

flags = -foo -bar -baz -qux

When a key value is parsed as a list instead of a single item, the separator +character is interpreted as a separator only when it occurs outside of double +quotes. For example, if flags is a key value interpreted as a list of items +separated by spaces, then

flags = -foo "-bar \u0429"

results in the two strings: foo and -bar Щ; the space character between +-bar and \u0429 is not interpreted as a separator.

Transclusion of values from one key to another

Values from other keys can be transcluded into the current key using the +following syntax inside the current key value.

$(config <section>.<field>)

For example, to use the [go].vendor_path in a custom setting:

[custom_section]custom_value = $(config go.vendor_path)

Comments

In addition to the semicolon (;), you can use the pound sign (#), as a +comment character in .buckconfig.

.buckconfig.local

The root of your project may contain a second +configuration file named .buckconfig.local. Its format is the same as that of +.buckconfig, but settings in .buckconfig.local override those in +.buckconfig. In practice, .buckconfig is a version-controlled file that +contains settings that are applicable to all team members, whereas +.buckconfig.local is excluded from version control to allow users to define +personal settings, such as personal aliases.

Other initialization files

In addition to the .buckconfig and .buckconfig.local files in the project +root, Buck2 reads configuration settings from the following additional +locations, some of which are actually directories:

  1. Directory .buckconfig.d located in the project root directory.
  2. File .buckconfig and directory .buckconfig.d located in the current +user's home directory which, on Unix-like systems, is available from the +HOME environment variable or through the ~ symbol.
  3. File buckconfig and directory buckconfig.d located in system directory +/etc/.

Buck2 treats any file—irrespective of name—in a +.buckconfig.d(buckconfig.d) directory (excluding files found in +subdirectories) as a Buck2 configuration file, provided that it adheres to +.buckconfig syntax. Note that a .buckconfig.d directory is distinct from the +similarly-named .buckd directory which is used by the +Buck2 Daemon (buckd) . For a description of how Buck2 resolves +collisions between settings in these configuration files, see the section +Precedence of Buck2 configuration specifications +below.

Command-line control of configuration

In addition to the above configuration files, Buck2 supports specifying +additional configuration files from the Buck2 command line using the +--config-file parameter. You can also specify configuration settings +individually on the Buck2 command line using the --config (-c) parameter. +Furthermore, you can aggregate these settings into flag files using the +--flagfile parameter. A flag file provides similar functionality to a +configuration file but uses a different syntax. Flag files are sometimes called +mode files or at (@) files.

Precedence of Buck2 configuration specifications

The following list shows the order of precedence for how Buck2 interprets its +configuration specifications. Settings specified using a method closer to the +top of the list have higher precedence and will override those lower on the +list. For example, the .buckconfig file in the repo overrides a .buckconfig +file in the user's HOME directory.

  1. Configuration specified on the command line using --config (-c), +--config-file and --flagfile. Configuration specified later on the +command line overrides configuration specified earlier.
  2. .buckconfig.local in the repo.
  3. .buckconfig in the repo.
  4. Files in a .buckconfig.d folder of the repo.
  5. .buckconfig.local in user's HOME directory.
  6. Files in a .buckconfig.d folder in user's HOME directory.
  7. The global file /etc/buckconfig
  8. Files in the global directory /etc/buckconfig.d

Files in a .buckconfig.d (buckconfig.d) directory have precedence according +to the lexicographical order of their file names. Files later in the +lexicographical order have precedence over files earlier in that order.

Configuration files can include other files

Any of the configuration files that we've discussed so far can also include by +reference other files that contain configuration information. These included +files can contain complete .buckconfig sections or they can contain a group of +key name/value pairs that constitute part of a section. In this second use case, +you'll need to ensure that the included file is referenced beneath the +appropriate section in the including file. Because of this additional +complexity, we recommend that you include only files that contain complete +sections. Note: Inclusion of files is a Buck-specific extension to the INI +file parser that Buck2 uses. Therefore, if you use this feature, your Buck2 +configuration files will probably not be parsable by other more-generic INI file +parsers. The syntax to include a file is

<file:*path-to-included-file*>

where path-to-included-file is either a relative path from the including file +(recommended) or an absolute path from the root of the file system. You can also +specify that the file should be included only if it exists by prefixing with a +question mark (?).

<?file:*path-to-included-file*>

If you use this prefix, it is not an error condition if the file does not exist; +Buck2 just silently continues to process the rest of the configuration file. In +the following example, the .buckconfig file includes the file +cxx-other-platform.include which exists in the subdirectory +cxx-other-platform. The .buckconfig file will also include the file +future-platform from the directory future-platform.include if that file +exists.

#
# .buckconfig
#
[cxx]
cxxppflags="-D MYMACRO=\"Buck\""

<file:cxx-other-platform/cxx-other-platform.include>

<?file:future-platform/future-platform.include>
#
# cxx-other-platform.include
#
[cxx#other_platform]
cxxppflags="-D MYMACRO=\"Watchman\""

Sections

Below is an incomplete list of supported buckconfigs.

[alias]

This section contains definitions of build target aliases.

[alias]app     = //apps/myapp:app
apptest = //apps/myapp:test

These aliases can then be used from the command line:

$ buck2 build app
$ buck2 test apptest

[cells]

Lists the cells that constitute the Buck2 project. Buck2 builds that are part of +this project—that is, which use this .buckconfig—can access the cells +specified in this section.

[cells]
buck = .
bazel_skylib = ./third-party/skylark/bazel-skylib

The string on the left-hand side of the equals sign is the alias for the cell. +The string on the right-hand side of the equals sign is the path to the cell +from the directory that contains this .buckconfig file. It is not necessary to +include the current cell in this section, but we consider it a best practice to +do so:

buck = .

You can view the contents of this section using the buck2 audit cell command.

[repositories] is additionally supported as a deprecated alternative name for +this section.

+ + + + \ No newline at end of file diff --git a/docs/concepts/build_file/index.html b/docs/concepts/build_file/index.html new file mode 100644 index 0000000000000..184e8622c03d8 --- /dev/null +++ b/docs/concepts/build_file/index.html @@ -0,0 +1,37 @@ + + + + + +Build File | Buck2 + + + + + + + + +
+

Build File

A build file is a file, typically named BUCK, that defines one or more +build rules. Note that you can change the name that Buck2 uses +for the build file in the buildfile section of .buckconfig. A source file in +your project can only be referenced by rules in its "nearest" build file, where +"nearest" means its closest direct ancestor in your project's file tree. (If a +source file has a build file as a sibling, then that is its nearest ancestor.) +For example, if your project had the following BUCK files:

java/com/facebook/base/BUCK
java/com/facebook/common/BUCK
java/com/facebook/common/collect/BUCK

Then your build rules would have the following constraints:

  • Rules in java/com/facebook/base/BUCK can reference any file under +java/com/facebook/base/.
  • Rules in java/com/facebook/common/ can reference any files under that +directory, except for those under java/com/facebook/common/collect/, as +those "belong" to the BUCK file in the collect directory.

The set of source files accessible to a build file is also known as its build +package. The way to refer to code across build packages is to create build +rules and use deps to refer to that code. Going back to the previous example, +suppose code in java/com/facebook/common/concurrent/ wants to depend on code +in java/com/facebook/common/collect/. Presumably +java/com/facebook/common/collect/BUCK has a build rule like:

java_library(
name = 'collect',
srcs = glob(['*.java']),
deps = ['//java/com/facebook/base:base',],)

Then java/com/facebook/common/BUCK could have a rule like:

java_library(
name = 'concurrent',
srcs = glob(['concurrent/*.java']),
deps = ['//java/com/facebook/base:base','//java/com/facebook/common/collect:collect',],)

whereas the following would be invalid because +java/com/facebook/common/collect/ has its own build file, so +//java/com/facebook/common/collect:concurrent cannot list +java/com/facebook/common/collect/*.java in its srcs.

java_library(
name = 'concurrent',
srcs = glob(['collect/*.java', 'concurrent/*.java']),
deps = ['//java/com/facebook/base:base',],)
+ + + + \ No newline at end of file diff --git a/docs/concepts/build_rule/index.html b/docs/concepts/build_rule/index.html new file mode 100644 index 0000000000000..52bd1083911f1 --- /dev/null +++ b/docs/concepts/build_rule/index.html @@ -0,0 +1,106 @@ + + + + + +Build Rule | Buck2 + + + + + + + + +
+

Build Rule

A build rule is a procedure for producing output files from a set of input +files in the context of a specified build configuration. Build rules are +specified in build files—typically named BUCK. Note: A +build rule must explicitly specify, in its arguments, all of its required inputs +in order for Buck2 to be able to build the rule's output in a way that is +deterministic and reproducible.

Buck2's collection of build rules

Buck2 comes with a collection of built-in build rules for many common build +procedures. For example, compiling Java code against the Android SDK is a common +procedure, so Buck2 provides the build rule +android_library to do that. +Similarly, the final product of most Android development is an APK, so you can +use the build rule android_binary to +create an APK.

Source files as inputs to build rules

Most build rules specify source files as inputs. For example, a +cxx_library rule would specify .cpp +files as inputs. To support specifying these files, a cxx_library rule +provides the srcs argument. Some languages, such as C++, use header files as +well. To specify these, cxx_library provides a headers argument. In addition +to srcs and headers, some rules provide variants of these arguments, such as +platform_srcs and platform_headers. These arguments support groups of source +files that should be used as inputs only when building for specific platforms.

Package boundaries and access to source files

In Buck2, a BUCK file defines a package, which corresponds roughly to the +directory that contains the BUCK file and those subdirectories that do not +themselves contain BUCK files. (To learn more, see the +Key Concepts topic.) A rule in a BUCK file cannot specify a +source file as an input unless that source file is in that BUCK file's package. +An exception to this restriction exists for header files, but only if a rule in +the package that contains the header file exports that header file using the +exported_headers argument. For more details, see the description for +exported_headers in, for example, the +cxx_library topic. More commonly though, +the package for a BUCK file contains all the source files required for the rules +defined in that BUCK file. Functionality in source files from other packages is +made available through the artifacts produced by the rules in the BUCK files for +those packages. For example, a cxx_binary +might use the functionality in a cxx_library that is defined in another +package. To access that functionality, the cxx_binary would take that +cxx_library as a dependency.

We recommend that you do not use symlinks—either absolute or relative—to +specify input files to build rules. Although using symlinks in this context does +sometimes work, it can lead to unexpected behavior and errors.

Dependencies: Output from one rule as input to another rule

A build rule can use the output from another build rule as one of its inputs by +specifying that rule as a dependency. Typically, a build rule specifies its +dependencies as a list of build targets in its deps +argument. However, the rule can also specify dependencies—as build targets—in +other arguments, such as srcs. Example: The output of a +java_library rule is a JAR file. If a +java_library rule specifies another java_library rule as a dependency, the +JAR file produced by the specified rule is added to the classpath for the +java_library that depends on it. Example: If a +java_binary rule specifies a +java_library rule as a dependency, the JAR file for the specified +java_library is available on the classpath for the java_binary. In addition, +in the case of java_binary, the JAR files for any dependencies of the +java_library rule are also made available to the java_binary rule—and if +those dependencies have dependencies of their own, they are added as well. This +exhaustive cascade of dependencies is referred to as the rule's transitive +closure.

Required dependencies are always built first

Buck2 guarantees that any dependencies that a rule lists that are required in +order to build that rule are built successfully before Buck2 builds the rule +itself. Note though that there can be special cases—such as +apple_bundle—where a rule's listed +dependencies do not actually need to be built before the rule.

Visibility

In order for a build rule to take a dependency on another build rule, the build +rule on which the dependency is taken must be visible to the build rule taking +the dependency. A build rule's visibility argument is a list of +build target patterns that specify the rules that can take +that rule as a dependency. For more information about the concept of visibility +in Buck2, see the Visibility topic.

Dependencies define a graph

Build rules and their dependencies define a directed acyclic graph (DAG). Buck2 +requires this graph to be acyclic to make it possible to build independent +subgraphs in parallel.

How to handle special cases: genrules and macros

Although Buck2 provides a rich set of built-in build rules for developers, it is +not able to address all possible needs. As an "escape hatch," Buck2 provides a +category of generic build rules called genrules. With genrules, you can +perform arbitrary operations using shell scripts. The genrules supported by +Buck2 are:

Multiple output files with genrules

In most cases, a build rule produces exactly one output file. However, with +genrules, you can specify an output directory and write arbitrary files to +that directory.

Macros

Finally, note that you can define functions that generate build rules. In +general, this should not be something that you need to do, but taking advantage +of this option might help you add needed functionality to Buck2's without +editing its source code.

String parameter macros

It is also possible to expand references to other rules within the cmd, using +builtin string parameter macros. All build rules expanded in the command are +automatically considered to be dependencies of the genrule().

Note that the paths returned by these macros are relative paths. Using +relative paths ensures that your builds are hermetic, that is, they are +reproducible across different machine environments.

$(classpath //path/to:target)

Expands to the transitive classpath of the specified build rule, provided that +the rule has a Java classpath. If the rule does not have (or contribute to) a +classpath, then an exception is thrown and the build breaks.

$(exe //path/to:target)

Expands a build rule that results in an executable to the commands necessary to +run that executable. For example, a java_binary() might expand to a call to +java -jar path/to/target.jar . Files that are executable (perhaps generated by +a genrule()) are also expanded. If the build rule does not generate an +executable output, then an exception is thrown and the build breaks.

If the $(exe my_dependency) dependency should actually be built with the +target platform, use $(exe_target my_dependency) instead, which will stick to +the same platform as the target.

$(location //path/to:target)

Expands to the location of the output of the specified build rule. This means +that you can refer to the output without needing to be aware of how Buck is +storing data on the disk mid-build.


+ + + + \ No newline at end of file diff --git a/docs/concepts/build_target/index.html b/docs/concepts/build_target/index.html new file mode 100644 index 0000000000000..3762fe6fb029f --- /dev/null +++ b/docs/concepts/build_target/index.html @@ -0,0 +1,68 @@ + + + + + +Build Target | Buck2 + + + + + + + + +
+

Build Target

A build target is a string that identifies a build target in your project. +Build targets are used as arguments to Buck2 commands, such as +buck2 build and +buck2 run. Build targets are also used as +arguments to build rules to enable one target to reference +another. For example, a build rule might use a build target to reference another +target in order to specify that target as a dependency.

Fully-qualified build targets

Here is an example of a fully-qualified build target:

//java/com/facebook/share:ui

A fully-qualified build target has three components:

  1. The // prefix indicates that the subsequent path is from the root of your +project. You can use the buck2 root command to identify the root of your +project.
  2. The java/com/facebook/share between the // prefix and the colon (:) +indicates that the build file (usually named BUCK) is +located in the directory java/com/facebook/share.
  3. The ui after the colon (:) indicates the name of the build target within +the build file. Build target names must be unique within a build file. By +name we mean, more formally, the value of the name argument to the build +rule.

Note that the name of the build file itself—usually BUCK—does not occur in the +build target. All build files within a given Buck2 project must have the same +name—defined in the [buildfile].name entry of .buckconfig. Therefore, it is +unnecessary to include the name in the target. The full regular expression for a +fully-qualified build target is as follows:

[A-Za-z0-9._-]*//[A-Za-z0-9/._-]*:[A-Za-z0-9_/.=,@~+-]+
|- cell name -| | package path | |--- target name ----|

In Buck2, a cell defines a directory tree of one or more Buck2 packages. For +more information about Buck2 cells and their relationship to packages and +projects, see the Key Concepts topic. NOTE: All target +paths are assumed to start from the root of the Buck2 project. Buck2 does not +support specifying a target path that starts from a directory below the root. +Although the double forward slash (//) that prefixes target paths can be +omitted when specifying a target from the command line (see Pro Tips below), +Buck2 still assumes that the path is from the root. Buck2 does support +relative build paths, but in Buck2, that concept refers to specifying build +targets from within a build file. See Relative build targets below for +more details.

Relative build targets

A relative build target can be used to reference a build target within the +same build file. A relative build target starts with a colon +(:) and is followed by only the third component (or short name) of the +fully-qualified build target. The following snippet from a build file shows an +example of using a relative path.

## Assume this target is in //java/com/facebook/share/BUCK#
java_binary(
name = 'ui_jar',
deps = [## The following target path## //java/com/facebook/share:ui## is the same as using the following relative path.#':ui',],)

Command-line Pro Tips

Here are some ways that you can reduce your typing when you specify build +targets as command-line arguments to the buck2 build or buck2 run commands. +Consider the following example of a fully-qualified build target used with the +buck2 build command:

buck2 build //java/com/facebook/share:share

Although Buck2 is always strict when parsing build targets in build files, Buck2 +is flexible when parsing build targets on the command-line. Specifically, the +leading // is optional on the command line, so the above could be:

buck2 build java/com/facebook/share:share

Also, if there is a forward slash before the colon, it is ignored, so this could +also be written as:

buck2 build java/com/facebook/share/:share

which enables you to produce the red text shown below using tab-completion, +which dramatically reduces how much you need to type:

buck2 build java/com/facebook/share/:share

Finally, if the final path element matches the value specified after the colon, +it can be omitted:

# This is treated as //java/com/facebook/share:share.
buck2 build java/com/facebook/share/

which makes the build target even easier to tab-complete. For this reason, the +name of the build target for the primary deliverable in a build file is often +named the same as the parent directory. That way, it can be built from the +command-line with less typing.

See also

Buck2 supports the ability to define aliases for build targets; using +aliases can improve brevity when specifying targets on the Buck2 command line. +For more information, see the [alias] section in the +documentation for .buckconfig. A +build target pattern is a string that describes a set +of one or more build targets. For example, the pattern //... is used to build +an entire project. For more information, see the Build Target Pattern topic.

+ + + + \ No newline at end of file diff --git a/docs/concepts/concept_map/index.html b/docs/concepts/concept_map/index.html new file mode 100644 index 0000000000000..6918fd05cd19c --- /dev/null +++ b/docs/concepts/concept_map/index.html @@ -0,0 +1,23 @@ + + + + + +Concept Map | Buck2 + + + + + + + + +
+

Concept Map

The Concept Map provides an at-a-glance overview of the relationships between +widely used Buck2 concepts. It is meant to be a tool to help those onboarding to +Buck2 to quickly gain an understanding of the Buck2 environment.

justifyContent
note

The Concept Map is for reference only and is not intended to be 100% +accurate nor complete.

+ + + + \ No newline at end of file diff --git a/docs/concepts/configurations/index.html b/docs/concepts/configurations/index.html new file mode 100644 index 0000000000000..fad0c7af24926 --- /dev/null +++ b/docs/concepts/configurations/index.html @@ -0,0 +1,35 @@ + + + + + +Configurations | Buck2 + + + + + + + + +
+

Configurations

For rule authors see also: Configurations

When building a target, buck always builds it in a particular "configuration." +The configuration typically includes information like the target os, target +arch, sanitizers, opt level, etc. One way to understand the effect that a +configuration has is via the cquery and uquery commands. The cquery command +will compute the appropriate configuration for a target and display a version of +that target's attributes with the configuration applied. The uquery command +will not apply a configuration.

Here is a heavily trimmed version of the outputs of invoking uquery and +cquery on //buck2/app/buck2_core:buck2_core.

> buck2 uquery -A '"//buck2/app/buck2_core:buck2_core"'
{
"fbcode//buck2/app/buck2_core:buck2_core": {
"buck.type": "rust_library",
"buck.package": "fbcode//buck2/app/buck2_core:TARGETS",
"name": "buck2_core",
"visibility": [
"PUBLIC"
],
"deps": {
"fbsource//third-party/rust:anyhow",
"fbsource//third-party/rust:arc-swap",
"fbsource//third-party/rust:blake3",
"fbsource//third-party/rust:compact_str",
"fbsource//third-party/rust:dashmap",
{
"__type": "selector",
"entries": {
"DEFAULT": [],
"ovr_config//os:windows": [
"fbsource//third-party/rust:common-path"
]
}
},
{
"__type": "selector",
"entries": {
"DEFAULT": [],
"ovr_config//os:linux": [
"fbsource//third-party/rust:nix"
]
}
},
},
}
}
> buck2 cquery -A '"//buck2/app/buck2_core:buck2_core"'
{
"fbcode//buck2/app/buck2_core:buck2_core (ovr_config//platform/linux:<OMITTED>)": {
"buck.type": "rust_library",
"buck.package": "fbcode//buck2/app/buck2_core:TARGETS",
"buck.target_configuration": "ovr_config//platform/linux:<OMITTED>",
"buck.execution_platform": "fbcode//buck2/platform/<OMITTED>",
"name": "buck2_core",
"visibility": [
"PUBLIC"
],
"deps": [
"fbsource//third-party/rust:anyhow (ovr_config//platform/linux:<OMITTED>)",
"fbsource//third-party/rust:arc-swap (ovr_config//platform/linux:<OMITTED>)",
"fbsource//third-party/rust:blake3 (ovr_config//platform/linux:<OMITTED>)",
"fbsource//third-party/rust:compact_str (ovr_config//platform/linux:<OMITTED>)",
"fbsource//third-party/rust:dashmap (ovr_config//platform/linux:<OMITTED>)",
"fbsource//third-party/rust:nix (ovr_config//platform/linux:<OMITTED>)"
]
}

The cquery output has additional buck.target_configuration and +buck.execution_platform attributes which tell you what the target is being +built for and what it's being built on, respectively. uquery doesn't have +those.

The deps in uquery also have a number of selects; these indicate that the +common-path dependency should only be included when building for Windows, +while the nix dependency is needed only for Linux. In cquery that +distinction has been resolved; because the target has been configured for Linux, +the nix dependency is present and indistinguishable from any other, while the +common-path dependency is gone.

+ + + + \ No newline at end of file diff --git a/docs/concepts/daemon/index.html b/docs/concepts/daemon/index.html new file mode 100644 index 0000000000000..5b3d356393546 --- /dev/null +++ b/docs/concepts/daemon/index.html @@ -0,0 +1,32 @@ + + + + + +Daemon (buckd) | Buck2 + + + + + + + + +
+

Daemon (buckd)

The first time that a Buck2 command is run, Buck2 starts a daemon process for +the current project. For subsequent commands, Buck2 checks for the running +daemon process and, if found, uses the daemon to execute the command. Using the +Buck2 daemon can save significant time as it enables Buck to share cache between +Buck2 invocations.

By default, there is 1 daemon per project root, you can +run multiple daemons in the same project by specifying an +isolation dir.

While it runs, the Buck daemon process monitors the project's file system for +changes. The Buck daemon excludes from monitoring any subtrees of the project +file system that are specified in the [project].ignore setting of +.buckconfig.

Killing or disabling the Buck daemon

The Buck daemon process is killed if buck2 clean or buck2 kill commands are +run. Note that they won't kill the daemon associated with custom isolation dirs. +To do that, run using the --isolation-dir option +(buck2 --isolation-dir <dir> <command>)

+ + + + \ No newline at end of file diff --git a/docs/concepts/glossary/index.html b/docs/concepts/glossary/index.html new file mode 100644 index 0000000000000..a83f75dfe249e --- /dev/null +++ b/docs/concepts/glossary/index.html @@ -0,0 +1,148 @@ + + + + + +Glossary of Terms | Buck2 + + + + + + + + +
+

Glossary of Terms

.buckconfig

The root of your project must contain a configuration file named +.buckconfig. Before executing, Buck2 reads this file to incorporate specified +customizations. See .buckconfig for more info.

Action

An individual, cacheable, ideally hermetic command that's run during the +build. It takes artifacts as inputs and produces +other artifacts as outputs. An example command could be gcc -o main main.c, +which takes the artifact main.c (a source file) and produces the artifact +called main (the compiled binary).

Action digest

Encoded action representation. It is sent to +remote execution. Used among other things to retrieve +action inputs and to check for cache hits

Action graph

The dependency graph of all actions belonging to a target: it can be +queried with buck2 aquery.

Artifact

A single input or output of an action. These are files that +participate as inputs or outputs of a build and can be source files or build +outputs. For more information, see the +Artifact API.

Attribute

Declared by a rule and used to express the properties of a particular +instance of a rule to create a target. For example, srcs, deps and +copts, which declare a target's source files, dependencies, and custom compiler +options, respectively. The available attributes for a target depend on its rule +type.

BUCK file

A BUCK file (the name is configurable, some projects use TARGETS) is the +main configuration file that tells Buck2 what to build, what their dependencies +are, and how to build them. Buck2 takes a BUCK file as input and evaluates the +file to declare targets, which are then used to create a graph of +dependencies and to derive the actions that must be completed to +build intermediate and final software outputs. A BUCK file marks a directory +and any sub-directories not containing a BUCK file as a package.

BXL

BXL (Buck eXtension Language) scripts +are written in Starlark (a restricted subset of Python) and give +integrators the ability to inspect and interact directly with the buck2 graph.

BXL scripts can query the action graph, +configured graph, and +unconfigured graph. They can also create +actions and trigger builds.

Cell

The directory tree of one or more Buck2 packages. A Buck2 build can +involve multiple cells. The cell root always contains a +.buckconfig, although the presence of a .buckconfig file doesn't +in itself define a cell. Rather, the cells involved in a build are defined at +the time Buck2 is invoked; they are specified in the .buckconfig for the Buck +project.

Configuration

Configurations consist of a set of 'constraint values' that are used to resolve +select attributes prior to evaluating rule +implementations: the attribute takes the value of the first branch in the +select that matches the configuration.

Configurations are instantiated by rules that produce a PlatformInfo +provider. Once created, targets can receive their configuration +through a variety of mechanisms, such as:

  • Inheritance - by default, when following a dependency edge A -> B, B inherits +A's configuration.
  • The default_target_platform attribute and --target-platforms command line +flag.
  • Transitions (see below).

Configurations allow a single target to exist in multiple variants in the +configured graph (for example, to build a given binary at differing optimization +levels or targeting different CPU architectures).

Configured graph

The configured target graph is generated by configuring target nodes in the +unconfigured target graph. That is, selects are fully +resolved and configurations applied. The configured graph includes information +about the configurations and transitions +involved in building targets. The same target may appear in multiple different +configurations (when printed, the configuration is after the target in +parentheses).

Constraint

A constraint represents a property that may differ across different +target or build contexts, such as CPU architecture, the version of a +system-installed compiler, optimization level, which version of a particular +library to use, etc.

Daemon

The Daemon process lives between invocations and is designed to allow for cache +reuse between Buck2 invocations, which can considerably speed up builds. For +more information, see Daemon (buckd).

Dependency

A directed edge between two targets. A target A can have a +dependency on target B, for example, if any dep attribute of A mentions +B. A target's dependence on another target is determined by the +visibility of the latter.

Execution platform

A type of rule that includes information such as what execution types a +target supports, which can be remote, local, +and hybrid execution. Also, whether it supports cache +uploads, which allows users to get cache hits for things that executed locally.

Hybrid execution

Allows Buck2 to race local and remote execution and get whichever finishes first +(unless there's a cache hit, then it will get output from cache). This can +provide substantial speedup by eliminating the overhead of going to +remote execution when there is enough capacity to +service the build locally.

Isolation dir

Instances of Buck2 share a daemon if and only if their isolation +directory is identical. The isolation directory also influences the output paths +provided by Buck2.

Modifiers

It's a modification of a constraint from the existing +configuration to obtain a new configuration. They provide a +unified way to specify build settings on a project, +target, and command line level. It is intended to replace +target platforms and most use cases of +.buckconfigs.

Package

A directory that contains a Buck2 BUCK file and all source files +belonging to the same directory as the BUCK file, or any of its subdirectories +that do not contain a BUCK file themselves.

Prelude

The prelude is a unique .bzl file located at prelude//prelude.bzl. Buck2 +implicitly loads all the symbols defined in the prelude whenever it loads a +BUCK file. Symbols defined outside the prelude can be imported +via a load() statement.

When you create a Buck2 project using buck2 init --git, it will contain the +same prelude used internally at Meta by Buck2 users. It is viewable at +https://github.com/facebook/buck2/tree/main/prelude.

Project

The Outermost directory where there is a .buckconfig: also known +as the root cell. The .buckconfig for the project specifies the +cells that constitute the Buck2 project. Specifically, these cells are +specified in the '[cells]' section of the .buckconfig. All command invocations +are executed from the project root.

Provider

Data returned from a rule function. It's the only way that information +from this rule is available to other rules that depend on it (see +dependency). For more information, see +Providers.

Platform

A named set of constraints, defining a specific runtime +environment. E.g. cpu=x86_64, os=windows

Remote execution (RE)

Distributed execution of actions on remote workers. It can speed up +builds significantly by scaling the nodes available for parallel actions, and by +caching action outputs across Buck2 users.

Rule

A rule consists of an attribute spec and an implementation, which is a +Starlark function.

The attribute spec declares what attributes the rule expects to receive. The +rule implementation receives the attributes of a target +and the providers of its dependencies. It can +declare new actions and artifacts and must return +providers that can be used to pass data to its dependents or to +Buck2 itself.

Rules are instantiated in BUCK files to declare targets and set +their attributes. The rule implementation is called when Buck2 needs its +providers, which can happen when the target is built, or when one of its +dependents is.

As an example, the cxx_binary rule could be used to create a C++ binary, but +android_binary rule would be used to create an Android APK

Starlark

Starlark is a dialect of Python originally developed by Google for the +Bazel build tool. It is the configuration +language of the Buck2 build system and the language you use in .bzl and +BUCK files to define and instantiate rules.

There are many reasons why Meta has chosen Starlark, as detailed in +The Rust Starlark library +article.

The Buck2 project maintains and uses an open source +Starlark interpreter in Rust.

Subtarget

Collection of providers that can be accesed by name. The subtargets +can have their own subtargets as well, which can be accessed by chaining them, +e.g.: buck2 build cell//foo:bar[baz][qux].

Target

An object that is defined in a BUCK file. Targets represent the +buildable units of a build from the perspective of the end user. Declared by +instantiating a rule with attributes. A target has +dependencies, which are references to other targets.

Target label

The identifier for a target. Structured as +cell_alias//path/to/package:target, where cell_alias// maps to a +cell root path (as defined in the ./buckconfig of the +cell this target belongs to), path/to/package is the package +directory that contains the BUCK file declaring the target +(relative to the mapped cell alias), and :target is the target's name.

Target pattern

A string that resolves to a set of targets. They can be used as +arguments to commands such as buck2 build and buck2 uquery. They can also be +used in the visibility argument of a rule. For more +information, see Target pattern.

Target platform

Represents the platform that the final output is built for residing +and executing. If buck2 is a chef, and the output is the meal, the target +platform would be the people that eat the meal.

Target universe

A set of configured targets and their transitive deps. In the context of cquery +and build in the Buck2 CLI, any literals are resolved to all matching targets +within the universe. Target universe can be passed explicitly on the Buck2 CLI +via --target-universe. If omitted, the target universe will be inferred by +constructing a universe using all the target literals (and their transitive +deps) within the query string for cquery.

Transition

Allows the configuration to change across a +dependency edge. That is, normally, if target A +depends on target B, then if the configuration for A is X, then B is configured +using X too. By using a transition, you can produce X to configure B instead.

Unconfigured graph

A graph of targets before configurations are +applied. Can be queried via buck2 uquery.

Visibility

Determines whether a target can include another target as +its dependency. For more information, see +Visibility.

+ + + + \ No newline at end of file diff --git a/docs/concepts/key_concepts/index.html b/docs/concepts/key_concepts/index.html new file mode 100644 index 0000000000000..206534b188872 --- /dev/null +++ b/docs/concepts/key_concepts/index.html @@ -0,0 +1,76 @@ + + + + + +Key Concepts | Buck2 + + + + + + + + +
+

Key concepts

Buck2 has a number of fundamental concepts:

  • A build rule describes how to produce an output file +from a set of input files. Most build rules are specific to a particular +language or platform. For example, you would use the +cxx_binary rule to create a C++ binary, +but you would use the +android_binary rule to create an +Android APK.
  • A build target is a string that uniquely identifies a +build rule. It can be thought of as a URI for the build rule within the Buck2 +project.
  • A build file defines one or more build rules. In Buck2, +build files are typically named BUCK. A BUCK file is analogous to the +Makefile used by the Make utility. In your project, you will usually have a +separate BUCK file for each buildable unit of software—such as a binary or +library. For large projects, you could have hundreds of BUCK files.

A Buck2 package comprises of: a Buck2 build file (a BUCK file), all +files—such as source files and headers—in the same directory as the BUCK file +or in subdirectories, provided those subdirectories do not themselves contain a +BUCK file. To say it another way, a BUCK file defines the root of a package, +but Buck2 packages might not include all their subdirectories because Buck2 +packages do not overlap or contain other Buck2 packages. For example, in the +following diagram, the BUCK file in directory app-dir-1 defines that directory +as the root of a package—which is labeled Package A in the diagram. The +directory app-dir-2 is part of Package A because it is a subdirectory of +app-dir-1, but does not itself contain a BUCK file. Now, consider directory +app-dir-3. Because app-dir-3 contains a BUCK file it is the root of a new +package (Package B). Although app-dir-3 is a subdirectory of app-dir-1, +it is not part of Package A. Buck2 has the concept of a cell, which +defines a directory tree of one or more Buck2 packages. A Buck2 build could +involve multiple cells. Cells often correspond to repositories, but this isn't +required. The root of a Buck2 cell contains a global configuration file called +.buckconfig. Note that although the cell root should +contain a .buckconfig, the presence of a .buckconfig file doesn't in itself +define a cell. Rather, the cells involved in a build are defined at the time +Buck2 is invoked; they are specified in the .buckconfig for the Buck2 +project (see below). A Buck2 project is defined by the .buckconfig +where Buck2 is invoked, or if that directory doesn't contain a .buckconfig, +the project is defined by the .buckconfig in the nearest ancestor directory. +The .buckconfig for the project specifies the cells that constitute the Buck2 +project. Specifically, these cells are specified in the +cells section of the .buckconfig. Note that the +directory tree rooted at this .buckconfig is automatically considered a cell +by Buck2; in other words, the project's .buckconfig doesn't need to specify +the project cell explicitly—although it is a good practice to do so.

justifyContent

Buck2's dependency graph

Every build rule can have zero or more dependencies. You can specify these +dependencies using, for example, the deps argument to the build rule. For more +information about specifying dependencies, consult the reference page for the +build rule you are using. These dependencies form a directed graph, called the +target graph. Buck2 requires the graph to be acyclic. When building the output +of a build rule, all of the rule's transitive dependencies are built first. This +means that the graph is built in a "bottom-up" fashion. A build rule knows only +which rules it depends on, not which rules depend on it. This makes the graph +easier to reason about and enables Buck2 to identify independent subgraphs that +can be built in parallel. It also enables Buck2 to determine the minimal set of +build targets that need to be rebuilt.

Multiple Buck2 projects in a single repository

Buck2 is designed to build multiple deliverables from a single repository—that +is, a monorepo—rather than from multiple repositories. Support for the +monorepo design motivated Buck2's support for cells and projects. It is +Facebook's experience that maintaining all dependencies in the same repository +makes it easier to ensure that all developers have the correct version of the +code and simplifies the process of making atomic commits.

See also

Take a look at the Concept Map for a visualization of how +Buck2 concepts interact with each other. Also see the Glossary.

+ + + + \ No newline at end of file diff --git a/docs/concepts/target_pattern/index.html b/docs/concepts/target_pattern/index.html new file mode 100644 index 0000000000000..a74bf3a043004 --- /dev/null +++ b/docs/concepts/target_pattern/index.html @@ -0,0 +1,34 @@ + + + + + +Target Pattern | Buck2 + + + + + + + + +
+

Target Pattern

A target pattern is a string that resolves to a set of +targets. A target pattern can be used as arguments to +commands, such as buck2 build and buck uquery. You can also use build target +patterns in the visibility argument of your build +rules.

The simplest build target pattern matches the build target of the same name:

#
# Matches //apps/myapp:app
#
//apps/myapp:app

A build target pattern that ends with a colon matches all build targets in the +build file at the preceding directory path. For example, suppose that the build +file:

apps/myapp/BUCK

defines the rules: app_v1 and app_v2, then the following build target +pattern would match both of those rules:

#
# Matches //apps/myapp:app_v1 and //apps/myapp:app_v2
#
//apps/myapp:

A build target pattern that ends with an ellipsis (/...) matches all build +targets in the build file in the directory that precedes the ellipsis and also +all build targets in build files in subdirectories. For example, suppose that +you have the following build files:

apps/BUCK
apps/myapp/BUCK

then the following pattern would match all build targets in both of those files:

#
# Matches (for example) //apps:common and //apps/myapp:app
#
//apps/...

A target pattern that does not include a : separator matches the target with +the same name as the last element of the path:

#
# Matches //apps/myapp:myapp
#
//apps/myapp

Finally, target patterns can be relative to your current directory. For example:

#
# If your current working directory is `apps`, matches //apps/myapp:myapp
#
myapp:myapp

Build target patterns are not allowed in the deps argument

Build target patterns cannot be used with the deps argument of a build rule. +Buck requires that you specify all dependencies explicitly as either +fully-qualified or relative build targets.

Target aliases

Buck supports the ability to define aliases for build targets; using aliases +can improve brevity when specifying targets on the Buck command line.

To see which aliases exist, use buck2 audit config alias.

+ + + + \ No newline at end of file diff --git a/docs/concepts/visibility/index.html b/docs/concepts/visibility/index.html new file mode 100644 index 0000000000000..ca2983e2d74bc --- /dev/null +++ b/docs/concepts/visibility/index.html @@ -0,0 +1,39 @@ + + + + + +Visibility | Buck2 + + + + + + + + +
+

Visibility

Visibility determines whether a target can reference +another target in its attributes. In a large project, +you may want to prevent developers from 'reaching across' the project and +pulling in additional code. Reducing the visibility of targets can help prevent +that type of behavior.

There are two types of visibility attributes available (each of which takes a +list of target patterns):

  • visibility - determines which other targets can depend on a target.
  • within_view - determines which other targets a target can depend on.

Both attributes act as allowlists, with some exceptions. In general, if a target +is not listed, there may be no dependency relationship. If the within_view +list is empty or unset, however, its check is bypassed. Similarly, targets +defined in the same BUCK file always act as if they +were members of their siblings' visibility lists.

There is also a special value for visibility attribute: 'PUBLIC', which +makes a build rule visible to all targets.

In case of logically-conflicting lists, within_view takes precedence over +visibility. If //foo:bar defines //hello:world in its visibility list, +but //hello:world does not define //foo:bar in its within_view list, then +//hello:world may not depend on //foo:bar.

Examples

A common library like Guava should be able to be included by any build rule:

prebuilt_jar(
name = 'guava',
binary_jar = 'guava-14.0.1.jar',
visibility = ['PUBLIC']
)

It is common to restrict the visibility of Android resources to the Java code +that uses it:

android_resource(
name = 'ui_res',
res = 'res',
package = 'com.example',
visibility = ['//java/com/example/ui:ui']
)

Or it may be simpler to make it visible to the entire directory in case +additional build rules are added to java/com/example/ui/BUCK:

android_resource(
name = 'ui_res',
res = 'res',
package = 'com.example',
visibility = ['//java/com/example/ui:']
)

Also, it is common to limit code for testing to be visible only to tests. If you +define all of your Java unit tests in a folder named javatests/ in the root of +your project, then you could define the following rule to ensure that only build +rules under javatests/ can depend on JUnit:

prebuilt_jar(
name = 'junit',
binary_jar = 'junit-4.11.jar',
visibility = ['//javatests/...']
)

Finally, restricting the view of a target can be useful for preventing +dependency creep:

java_library(
name = 'example',
visibility = ['PUBLIC',],
within_view = ['//foo:bar','//hello:world']
)
+ + + + \ No newline at end of file diff --git a/docs/developers/anon_targets/index.html b/docs/developers/anon_targets/index.html new file mode 100644 index 0000000000000..9945a6f228d35 --- /dev/null +++ b/docs/developers/anon_targets/index.html @@ -0,0 +1,39 @@ + + + + + +BXL and Anonymous Targets | Buck2 + + + + + + + + +
+

BXL and Anonymous Targets

Anonymous targets

Anonymous targets are supported in BXL. +Anonymous targets are keyed by the attributes, and allow you to share/cache work +more effectively.

You might want to use anonymous targets if there is some heavy Starlark +evaluation which can be cached, or if you want to cache local actions.

Note: The context object within the anon target rule is not a BXL +context, but a normal rule analysis context.

APIs

The actions object returned from ctx.bxl_actions().actions (equivalent of +ctx.actions in normal rules) has the following functions for anonymous +targets:

  • anon_target(rule: "rule", attrs: Dict[str, Any]) -> "promise": generates a +single anonymous target. Return type is an unresolved promise.
  • anon_targets(rules: [("rule", Dict[str, Any])]) -> "promise": generates a +list of anonymous targets. Return type is an unresolved promise representing +the list of anonymous targets.
  • artifact_promise(promise: "promise") -> "promise_artifact": turns an +unresolved promise into a kind of artifact. See +Convert promise to artifact +for more info on why you might want to use this.

The resulting promise also has map() and join() functions. map() applies a +function to the promise's results, and join() turns multiple promises into a +single promise.

To resolve promises in BXL, bxl_ctx has a resolve() function, which takes in +the analysis actions instance (actions object returned from +ctx.bxl_actions().actions) and a single promise and returns an optional +promise value, if there is one. If you intend to create multiple promises, using +join() to produce a single promise will allow you to resolve them concurently +with a single resolve() call.

Small example:

def _my_impl(ctx):
bxl_actions = ctx.bxl_actions() # pass in relevant params to configure the execution platform resolution
actions = bxl_actions.actions

promise1 = actions.anon_target(my_anon_rule1, my_attrs1).promise
promise2 = actions.anon_target(my_anon_rule2, my_attrs2).promise.map(my_map_function)

joined = promise1.join(promise2)

resolved = ctx.resolve(actions, joined)

# do some more stuff ...

Complete Example

## anon_bxl_rules.bzl ############

# Define an anonymous rule.

MirrorInfo = provider(fields = ["mirrored_attrs"])

# Anonymous rule which writes some silly output, and also mirrors all attributes received
def _mirror_impl(ctx: "context") -> ["provider"]:
out = ctx.actions.declare_output("my_output")
ctx.actions.write(out, "my_content")
return [DefaultInfo(default_outputs = [out]), MirrorInfo(mirrored_attrs = ctx.attrs)]

my_mirror_rule = rule(impl = _mirror_impl, attrs = {
"false": attrs.bool(),
"int": attrs.int(),
"list_string": attrs.list(attrs.string()),
"string": attrs.string(),
"true": attrs.bool(),
})

# Will be used in a map function in my_script.bxl below
StringInfo = provider(fields = ["my_string"])

## my_script.bxl ############

load(":anon_bxl_rules.bzl", "MirrorInfo", "StringInfo", "my_mirror_rule")

def _anon_target_example(ctx):
bxl_actions = ctx.bxl_actions()
actions = bxl_actions.actions

# Attrs to pass into the anonymous target. An anonymous target is defined by the hash of its attributes
my_attrs = {
"false": False,
"int": 42,
"list_string": ["a", "b", "c"],
"string": "foo-bar-string",
"true": True,
}

# A function to be applied to the promise (result of anon target), producing a promise with the resulting value.
def my_function(providers):
# Do something with the attrs. In this example, we are validating that the attrs are what we expect.
mirrored_fields = providers[MirrorInfo].mirrored_attrs
assert_eq(mirrored_fields.true, True)
assert_eq(mirrored_fields.false, False)
assert_eq(mirrored_fields.int, 42)
assert_eq(mirrored_fields.string, "foo-bar-string")
assert_eq(mirrored_fields.list_string, ["a", "b", "c"])

outputs = providers[DefaultInfo].default_outputs
# These are the providers this target returns
return [DefaultInfo(default_outputs = outputs), StringInfo(my_string = "map function succeeded!")]

# Create an anonymous target by passing in "my_attrs" into "my_mirror_rule", and returns providers.
# Specifically, it returns "DefaultInfo" and "MirrorInfo", as defined in "my_mirror_rule"
# Then, we map the result to "my_function", which does some validation
promise = actions.anon_target(my_mirror_rule, my_attrs).promise.map(my_function)

# Resolving the promise returns a "provider_collection", which was defined by "my_function" above.
# `DefaultInfo` is at index 0, `StringInfo` is at index 1
promise_result = ctx.resolve(actions, promise)

ensured = ctx.output.ensure(promise_result[0].default_outputs[0])
# should print out location of the output, which contains the "my_content" string as defined in anon_bxl_rules.bzl above
ctx.output.print(ensured)

# should print out "map function succeeded!"
ctx.output.print(promise_result[1].my_string)

def assert_eq(a, b):
if a != b:
fail("Expected {} == {}".format(a, b))

anon_target_example = bxl_main(
impl = _anon_target_example,
cli_args = {
},
)
+ + + + \ No newline at end of file diff --git a/docs/developers/architecture/buck1_vs_buck2/index.html b/docs/developers/architecture/buck1_vs_buck2/index.html new file mode 100644 index 0000000000000..ede480ad39d08 --- /dev/null +++ b/docs/developers/architecture/buck1_vs_buck2/index.html @@ -0,0 +1,73 @@ + + + + + +Buck1 vs Buck2 | Buck2 + + + + + + + + +
+

Buck1 vs Buck2

At a glance

The following table provides an at-a-glance comparison of Buck1 and Buck2.

Buck1Buck2
Build files in StarlarkBuild files in Starlark
Macros in StarlarkMacros in Starlark
Rules in JavaRules in Starlark
Rules and Macros are logically similarRules and Macros are logically similar
Rules and Core are not well abstractedRules and Core are strongly separated
Core in JavaCore in Rust
Remote Execution (RE) not well supportedAll rules support remote execution by default
Varying degrees of incrementality / parallelismUnified incrementality / parallelism

Top-down vs Bottom-up - understanding the implications of the difference in execution models between Buck1 and Buck2

It is often said that Buck1 does 'top down' and Buck2 does 'bottom up' building. +This results in cases where some topics that seem conceptually trivial in Buck1 +are hard problems in Buck2, or vice versa.

What are the differences?

Scenario: Imagine you are building A, which depends on both B and C, but +where neither B nor C have any dependencies.

For the sake of simplicity, imagine B and C are C++ compilations (that produce +object files), and A is a link (that consumes them and produces a shared +library).

Building A with Buck1

Following is an oversimplified view of what happens:

  • Buck1 computes the 'rulekey' for B.
    • This consists of mixing together the hashes of the C++ file being compiled, +as well as all C++ compiler flags, and so on.
  • Buck1 then does the same for C.
  • Buck1 then computes the rulekey for A.
    • This consist of mixing together the rulekeys of B and C, as well as linker +flags used by A. for example.
  • Buck1 then looks up the rulekey for A in the cache.
    • If there's a hit, then Buck1 downloads the output and its job done.
    • If there's a cache miss, continue.
  • Buck1 then queries the cache for the rulekeys of B and C:
    • If there's a hit, then the output is downloaded.
    • If there's a miss, then Buck1 runs the commands needed to produce the object +file that was missed. Regardless of whether those commands run locally or on +RE, Buck1 downloads the output of B and C.
  • Buck1 then runs the command for A to produce the shared library.
    • At this point, Buck1 may actually do another cache lookup with a different +rulekey, which is called an input based rulekey. This rulekey is derived +from the inputs of the action that needs executing, which at this point of +the build are known (since they were just built)!

Building A with Buck2

In contrast, if you ask Buck2 to build A, here is what happens:

  • Buck2 produce the action to compile B and computes the hash of the action.
    • This is the 'action digest', which consists of mixing the hashes of all the +inputs (such as the C++ file), as well as the command line (so, implicitly, +the compiler flags).
  • Buck2 queries the action cache for the action digest hash.
    • If there's a hit, Buck2 obtains the hash of the resulting object file (that +is, the output of B).
    • If there's a miss, Buck2 runs the action on RE (or potentially locally) and +obtains the hash of the object file. If the action runs remotely, Buck2 will +not download the output.
  • Buck2 does the same thing for C.
  • Buck2 produces the action to link A.
    • This consists of mixing together all the hashes of the input files (which +were retrieved earlier) and the command line to produce an action digest, +then querying the cache and potentially running the action.
  • Once Buck2 produces A (again, on RE), then, since this output was requested by +the user (unlike the intermediary outputs B and C), Buck2 downloads A.

Some implications

Rulekeys vs Action digests

The closest thing to Buck1’s rulekey in Buck2 is the action digest, but they are +very different!

Since it’s a product of the (transitive) inputs of an action, the (default) +rulekey can be computed without running anything or querying any caches. +However, the action digest cannot: it requires the actual inputs of an action, +which means you need to build all the dependencies first.

This means that:

  • In Buck1, you can ask for rulekeys for a target.
  • In Buck2, you’d have to run the build first then ask for the action digests +(this is what the buck2 log what-ran would show you).

Buck2 queries many more caches

  • Buck1 will not descend further down a tree of dependency when it gets a cache +hit.
  • Buck2 will always walk up all your dependencies, regardless of whether you get +cache hits or not.

Materialization

  • When Buck1 gets a cache miss, it downloads the outputs.
  • Buck2, by contract, does not download outputs as part of a build (this is +called 'deferred materialization').
    • Note that Buck2 does download the outputs if the user asked for them (that +is, they were the targets the user put on the command line).

Second-order implications

Non-determinism

Non-determinism in a build affects Buck2 and Buck1 differently. One scenario +that often works fine in Buck1 but can work catastrophically bad in Buck2 is a +codegen step, driven by a Python binary.

In certain configurations/modes, Python binaries are non-deterministic, because +they are XARs +([https://engineering.fb.com/2018/07/13/data-infrastructure/xars-a-more-efficient-open-source-system-for-self-contained-executables/](eXecutable +ARchives)) and that is always non-deterministic, which is bad!

  • In Buck1, that doesn’t really matter, because you can get a cache hit on the +codegen output without ever visiting the XAR (as long as the input files +haven’t changed).
  • In Buck2, you need the XAR to check the action cache for the codegen step.
    • However, binaries are often not cached in certain configurations/modes, so +your XAR isn’t cached.
    • Therefore, since your XAR build is non-deterministic, you’ll always miss in +the action cache and the codegen step will always have to run in every +build.

It can get worse! If the Python binary produces non-deterministic codegen, then +the entire build might become uncacheable.

Cache misses don’t necessarily propagate

Say that, in Buck2, you’re trying to build a chain of actions like codegen -> +compile -> link.

Even if your codegen step isn’t cached (say, because its action inputs are +non-deterministic as mentioned above), as long as the codegen output is +deterministic, you can still get cache hits from compile and link steps.

Hybrid execution

If you squint, you’ll note that Buck1’s build could be viewed as 'local first', +whereas Buck2’s would be better viewed as 'remote first':

  • When Buck1 builds something remotely or gets a cache hit, the outputs are +always downloaded.
  • When Buck2 builds something remotely or gets a cache hit, the outputs are +never downloaded.

In turn, this has some important implications:

  • When Buck1 builds something locally, the inputs are always already present.
  • When Buck2 builds something locally, the inputs have to be downloaded, unless +they were built locally (which if you’re doing any RE, is usually not the +case), or if another command caused them to be downloaded.

This means that, in Buck1, running something locally when you have spare +resources is usually a no-brainer, because it’s always ready to go, and you’ll +save on not having to download the output from RE (though you might have to +upload the output if you need to run actions depending on it later).

On the flip side, with Buck2, that’s not necessarily the case. To run an action +locally, you need to download inputs that you might otherwise not have needed, +which will tax your network connection.

+ + + + \ No newline at end of file diff --git a/docs/developers/architecture/buck2/index.html b/docs/developers/architecture/buck2/index.html new file mode 100644 index 0000000000000..63b52d0da8dc0 --- /dev/null +++ b/docs/developers/architecture/buck2/index.html @@ -0,0 +1,110 @@ + + + + + +Architectural Model | Buck2 + + + + + + + + +
+

Architectural Model

High-level Overview

Buck2 is a build system whose core is written in Rust. Starlark, which is a +deterministic, immutable version of Python, is used to extend the Buck2 build +system, enabling Buck2 to be language-agnostic.

The high-level flow starts with a user creating a build file (a BUCK file) +containing one or more targets, which is specified by the target label, its +inputs (sources, attributes, configurations, and dependencies), and the type of +macro or rule to use.

Briefly, a macro is a wrapper around a rule, which runs necessary commands to +generate what’s needed for a target (for example, for a cxx_binary target, +generate the header map and run necessary clang commands). Macros can be used +to reduce boilerplate code for users (such as to supply the same set of +attributes for a rule for all targets). Macros and rules are both written in +Starlark and are specified by input sources, attributes, and the implementation +function.

If the target type is a macro, then the macro will fill in some details (for +example, for a cxx_binary target, these are the compilation, debug flags to +use, this is the clang to use). If the target type is a rule, then the macro +layer is skipped altogether.

This is all orchestrated by the core, which performs operations such as +executing Buck2 CLI args, generating/updating the dependency graph (which +contains the configured target nodes, unconfigured target nodes, action nodes, +among other types of nodes that all allow for incrementality and execution), and +materializing the artifacts. The core is written in Rust.

The following diagram shows the high-level overview.

justifyContent

The Buck2 CLI runs in a client process, which sends commands to the Buck2 daemon +via gRPC. The daemon goes through several phases after receiving a request from +the client: evaluation, configuration, analysis, execution, and +materialization (see Execution Model, below). When using +buck2 test, there is a final stage for testing. Note that these are the +phases that a build goes through, but they are not always sequential.

After finishing all phases, the daemon will send the response back to the client +via gRPC.

Execution Model

The following diagram shows the Execution Model, which consists of 5 phases and +states.

justifyContent

Each of the phases and states shown in the Execution Model, are detailed in the +following sub-sections.

State 0 - Build Files

Build files (commonly referred to as BUCK files, their default name) are the +main input to Buck2 and are syntactically Python.

Each build file is uniquely identified by the directory in which it's located. +Since all build files have the same name, there cannot be two build files in the +same directory. This is usually represented as the relative path from the root +of the project (the directory where the .buckconfig file is).

Each build file has a set of targets. These describe the things the user wants +Buck2 to know about. Each target has a type and a set of named attributes, +including at least a name (also known as the label) identifying it. Additional +attributes depend on the type of the target.

Phase A: Evaluation

First, Buck2 evaluates a build file, and then constructs an unconfigured target +graph.

Buck2 performs directory listings to discover packages, then evaluates the build +files that were found, expands any macros detected into their underlying rules, +and then will take rule attributes and convert them from Starlark to Rust types +to construct a target node, and insert it into the unconfigured target graph, +which is a smaller portion of Buck2’s larger dependency graph. The target node +consists of a reference to rule implementation, and the set of attributes and +sources.

The result of evaluation is a list of targets read from the build file mapped to +a target node in Buck2 unconfigured target graph.

State 1 - Unconfigured Target Graph is generated

At this point, the unconfigured target graph is available for the next stage of +transformation, which is to configure the target nodes within the graph.

Phase B: Configuration

At the end of evaluation, the target nodes are not yet configured. Configuration +means applying a list of constraints (such as resolving selects to specify the +right CPU) to make sure the target can be run where it needs to. This is also +known as target platform resolution, and can be configured within the target, +the buckconfig, propagated from dependencies, or passed into the CLI. After +applying configurations, the target nodes are transformed into configured target +nodes within the Buck2 configured target graph, which is a smaller portion of +Buck2’s larger dependency graph.

State 2 - Configured Target Graph is generated

At this point, the configured target graph is available for the analysis stage +to generate the action graph.

Phase C: Analysis

In the analysis phase, Buck2 constructs a context object (ctx) which contains +relevant information (such as attributes pulled from the configuration stage), +all converted into Starlark types and made available to the rule. For example, +the target’s dependencies are turned into a ProviderCollection, source files +are converted into StarlarkArtifacts, and String attributes are turned into a +StarlarkString. This ctx object is backed by Buck2’s dependency graph for +computation and rules use it to tell Buck2 to run actions, create dynamic +actions, or create new files.

The rule will return a list of providers, which is data that the rule wants to +expose to its dependents (that is, can flow through the dependency graph), such +as output artifact information (such as file paths and file hashes). Providers +could be actions, source files, or attributes. Within the returned list, +DefaultInfo always needs to be returned, which indicates what the default +outputs are. Some other common built-in providers include RunInfo, TestInfo, and +InstallInfo.

The end result is a list of providers and actions (inserted into the action +graph) that Buck2 needs to execute to produce the desired outputs, known as +'bound artifacts'.

State 3 - Action Graph and Providers are generated

At this point, the action graph and providers are available to be processed by +the execution stage.

Phase D: Execute

Execution is where Buck2 takes all the providers (input files from the targets, +args from the command line), runs the actions, and then outputs the computed +results. The critical path is the theoretical lower bound for the duration of a +build, which are the slowest set of actions.

Buck2 can be run locally or on remote execution, or in a hybrid manner.

For each action, a digest is created which is a hash of an action's command and +all its inputs. Buck2 then checks if there is a result cached within RE for an +action with a given digest.

If there is a cache hit, Buck2 does not need to run the command for the action. +Instead, the RE returns the output action digest. This digest can be used to +download the actual output artifacts at a later time. This is known as the RE +action cache.

If there is a cache miss, the action needs to be run either remotely or locally. +If Buck2 decides to run the action remotely, it will first upload all of the +action's inputs that are missing from the RE's content addressable storage. If +Buck2 decides to run the action locally, it will first download and materialize +in buck-out all of the action's inputs. These inputs might be outputs of other +actions and are stored in RE's content addressable storage but are missing on +the local machine.Only after those steps will Buck2 schedule the action for +actual execution.

Buck2 can also decide to run local and remote execution simultaneously (a +process known as racing), and use the result of whichever action finishes first +to speed up performance. This strategy is known as hybrid execution."

Materialization of action outputs (which involves downloading and placing them +in the correct location in buck-out) can be done immediately after the action +has finished executing. Alternatively, it can be deferred until it is actually +needed for the local execution of another action. There are various +configurations that a user can set to control how this materialization is +handled.

State 4 - Build outputs are generated

At this point, the build is complete.

If a user ran buck2 test, then there is a final transformation for Buck2 to +construct a command for TPX to execute the actual test.

Phase E: Execute tests

For more detail on testing, review +Test Execution.

+ + + + \ No newline at end of file diff --git a/docs/developers/architecture/buck2_telemetry/index.html b/docs/developers/architecture/buck2_telemetry/index.html new file mode 100644 index 0000000000000..d1cc4c33c9ff1 --- /dev/null +++ b/docs/developers/architecture/buck2_telemetry/index.html @@ -0,0 +1,20 @@ + + + + + +Buck2 Telemetry | Buck2 + + + + + + + + +
+

Buck2 Telemetry

note

🚧   THIS PAGE IS UNDER CONSTRUCTION

+ + + + \ No newline at end of file diff --git a/docs/developers/bxl/index.html b/docs/developers/bxl/index.html new file mode 100644 index 0000000000000..5c4a88400e3bb --- /dev/null +++ b/docs/developers/bxl/index.html @@ -0,0 +1,61 @@ + + + + + +Why BXL | Buck2 + + + + + + + + +
+

Why BXL

Buck2 Extension Language (BXL)

BXL is a Starlark-based script that enables integrators to inspect and interact +with the Buck2 graph.

Integrators are able to:

  • Write Starlark code that queries, analyzes, and builds on the Buck2 graph.
  • Introspect and interact with the Buck2 graph structures natively, via +Starlark, in a safe, controlled manner.

Introspection of the Buck2 graph can occur at the unconfigured, configured, +providers, and action stages. There are also APIs offered to allow BXL to accept +custom command line argument, output artifacts, and print results to stdout.

BXL leverages Buck2 core's incremental +caching. It also has support for +running actions, +dynamic outputs, and +anonymous targets. In addition, BXL has +profiling +capabilities, and allows users to add their own telemetry +directly within the BXL scripts.

BXL is considered to be mostly stable, with a bit more active development here +and there.

When should I use BXL over Buck2 API/CLI?

There are many overlaps between BXL and Buck2 (for example, both can run cquery +and both can build targets). It’s possible that one use case could be handled by +both BXL and Buck2.

Following are some specific recommendations to help decide when to use BXL over +regular Buck2:

  • Use/inspect resolved attributes that are not exposed/accessible to users via +normal Buck2 operations.
    • This includes introspecting the Starlark object of providers, analyzing the +Starlark object of a rule’s attr before and after coercing and resolution, +and introspecting intermediate query results.
  • Reduce/eliminate the need to make several Buck2 calls within your program, +such as running several subprocesses to call cquery several times.
    • With BXL, you can just call the BXL script once in a subprocess, potentially +reducing the amount of code you need to write in your program. For example, +if you need to call cquery and build several times, you can put that all +within a single BXL script and run buck2 bxl once, rather than running +buck2 cquery and buck2 build several times.
  • Reduce/eliminate the need to manually parse Buck2 output format within your +program, and any bugs that may come with manual parsing.
    • Some languages are more verbose than others when it comes to string parsing.
    • BXL scripts are written in Starlark, which is basically a deterministic, +immutable Python. BXL is able to directly introspect Starlark objects (such +as rules and target nodes, and so on) and call methods on these objects +instead of parsing them over Buck2’s output.

Example Use Cases

Generate a project for IDE

IDE project generation is roughly as follows:

  • Form the target graph for the project target
  • Perform some filtering on the graph targets if needed. This depends on the +target's configuration.
  • For each target, generate the project target metadata, including:
    • compiler flags
    • linker flags
    • paths to generated files
    • inputs and outputs for each targets
    • the paths relative to some PATH
  • Write a single file translating this metadata into a format understood by the +IDE

An example BXL flow for generating a project for IDE might be:

  • Add some command line arguments to accept a target (or subtarget) to generate +the project
  • Run analysis on the project target with a specific configuration to filter the +graph targets
  • For each resulting target, inspect the providers and attributes to extract the +required metadata information. BXL uses filesystem operations to handle paths +within the project
  • Run actions based on the linker/compiler flags, and build artifacts as needed +to generate a project
  • Write a single file containing the metadata obtained from previous steps

Build an LSP

A compilation database is a database containing information about which compile +options are used to build the files in a project. Language Server Protocols +(LSPs) uses the compilation database to provide language features like auto +complete, go to definition, and find all references for the user within an +IDE/editor.

An example BXL flow for building a C++ LSP might be:

  • Add a command line argument to accept a file
  • Run owners cquery in BXL to get the owning target of the file
  • Run analysis on the owning target to get the desired clang flags
  • Use BXL to write the clang flags to the disk in compilation database format

Perform graph analysis

Some example graph analysis functionalities might be:

  • Run an analysis in BXL on a set of targets, and then inspect their providers, +and build some subtargets
  • Run a uquery on some set of targets, and inspect the resulting nodes' coerced +attributes
  • Run a cquery on some set of targets with a specific configuration, and inspect +the resulting nodes' attributes before and after resolution
+ + + + \ No newline at end of file diff --git a/docs/developers/bxl_basics/index.html b/docs/developers/bxl_basics/index.html new file mode 100644 index 0000000000000..834cb55c0a921 --- /dev/null +++ b/docs/developers/bxl_basics/index.html @@ -0,0 +1,80 @@ + + + + + +BXL Basics | Buck2 + + + + + + + + +
+

BXL Basics

This page is a primer on common BXL functionalities and data types. Ramping up +in BXL may be challenging without much prior knowledge of Buck2 building blocks +(ex: targets, configurations, queries), so please take a look at the +Concepts documentation before reading on.

Common BXL functionalities

Build

You can build targets within BXL with +ctx.build(). The result is a +bxl.BuildResult, which has artifacts() and +failures() functions that provide iterators to the artifacts or failures, +respectively. You can pass in a single target or target pattern to build.

Analysis

You can run analysis on targets within BXL via +ctx.analysis(). Analysis means +to evaluate the underlying rule implementation for the inputted targets, and +produce the providers that the rule defined for the target. A common workflow is +to inspect the resulting providers, and perhaps ensure parts of these providers +or run actions using information from the providers (see Actions +below).

Query

Buck2 supports a couple different query types: querying the unconfigured graph +(buck2 uquery), the configured graph (buck2 cquery), or the action graph +(buck2 aquery). These queries are all available in BXL as well:

You can read more about the individual queries in the API docs. There are many +queries that are common between uquery, cquery, and aquery, but cquery and +aquery will have extra queries unique to the configured graph or the action +graph. One more thing to call out is the eval() query, which is a special +query that takes in the entire query as a string literal. A common use for +eval() is to migrate a complex query from Buck2 CLI to BXL by dropping the +entire query string directly into eval().

The query results are target sets (iterable container) of +bxl.UnconfiguredTargetNodes for +uquery, bxl.ConfiguredTargetNodes +for cquery, and bxl.ActionQueryNodes for +aquery. Each of these node types have accessors on their attributes. A common +workflow is to run some query in BXL, and iterate through the resulting nodes to +inspect their attributes, and use those attributes to inform further +computations in BXL.

Uquery

Querying the unconfigured graph means that no configurations (such as platforms +and transitions) have been applied to the target graph yet. This means that it's +very possible that some parts of the target graph is broken due to lack of +configurations. Generally to avoid this problem, cquery may be preferred +instead.

Cquery

Querying the configured graph means that configurations have been applied to the +target graph. For cquery, we require that users use a +target universe for their query inputs.

Aquery

Aquery is a quite different from uquery and cquery. It is used to query the +action graph, which is constructed after Buck2 runs analysis on the targets and +produces the list of providers and actions needed to build the target.

Actions

You can create actions directly within the BXL API. The available action APIs +are equivalent to the ones found on the actions type +for normal rules, with the caveat that +dynamic actions use the +bxl.Context (which provides richer +functionalities).

A common workflow would be to run analysis on a target, and use some interesting +bits found in the analysis result to construct an augmented +cmd_args to run, and then ensure the action's output +(see below for ensuring). Also see +Running actions.

Ensure

Ensuring an artifact means that you want the artifact to be materialized +(meaning, downloaded to your machine) at the end of the BXL execution. There are +two APIs for ensuring: ctx.output.ensure() and ctx.output.ensure_multiple() +(see bxl.OutputStream). As the naming +indicates, the former is for ensuring a single artifact, and the latter is for +ensuring multiple artifact-like inputs. Artifact-like inputs include +cmd_args (can be found when inspecting providers), +bxl.BuildResult (produced when building +something in BXL), or artifact (can be found when +inspecting providers, or creating your own actions).

A common workflow is to ensure an artifact that you created via some custom +actions defined in your script, or ensuring some artifacts found in the +providers after running analysis. Also see +What do I need to know about ensured artifacts.

+ + + + \ No newline at end of file diff --git a/docs/developers/bxl_faqs/index.html b/docs/developers/bxl_faqs/index.html new file mode 100644 index 0000000000000..f632381105d28 --- /dev/null +++ b/docs/developers/bxl_faqs/index.html @@ -0,0 +1,55 @@ + + + + + +FAQs | Buck2 + + + + + + + + +
+

FAQs

When is my BXL script cached?

The entire BXL script is represented as a single node on the DICE graph (Buck2’s +internal dependency graph). When the script’s input changes, the entire node is +invalidated and needs to be recomputed. For example, if a BXL function calls +uquery, then uses the result to do a cquery and then a build, if Buck2 detects +that any of the recorded calls to uquery, cquery, and build changes, then the +entire BXL script will be reran. The computations themselves (uquery, cquery, +and build) will still be incrementally evaluated via DICE, so we are not +rerunning every computation entirely within the BXL.

When the BXL script creates artifacts and ensures them, those artifacts are +cached separately in an action outside of the BXL execution. This means that the +artifacts produced by BXL are cached separately from the BXL script itself, much +like the computations within a BXL.

During 2023, there is a plan to add finer grain incrementality to make better +use of DICE’s existing incrementality support.

What’s the difference between ctx.output.print() and print()?

  • ctx.output.print() writes items to stdout by buck2 even when the script is +cached. Items written to the output stream are considered to be the results of +a BXL script, which will be displayed to stdout by buck2 even when the script +is cached.
  • print() is offered by Starlark via the stdlib. This prints anything you want +but won’t be provided to stdout at the end of a BXL script. These can be used +to print to stderr. NOTE: print() statements don't show up if the script has +been cached.

What do I need to know about ensured artifacts

An ensured_artifact prints out the relative or absolute path via +ctx.output.print(), depending on if called with abs_path() or rel_path(), +but will print out <ensured artifact bound to <some path>> via print().

This is intentional because when the ensured artifact is created within BXL, it +has not been materialized yet. It will be materialized after the BXL script +finishes executing, and Buck2 core performs some additional actions after the +BXL script.

This is a safeguard to prevent people from misusing the artifact path and +passing it into an action without the artifact having been materialized or +passing an absolute path into RE, which can actually mess up RE and render the +action not shareable across users. In addition, it makes these actions +separately cacheable from the BXL execution.

What is the difference between dynamic outputs and anon targets?

Dynamic outputs are meant for +dynamic dependencies. The context +type is a bxl_ctx. Dynamic outputs are ran asynchronously outside of the BXL +execution.

Anon targets are meant for sharing work betwen multiple BXLs. The context type +is a normal rule analysis context. Anon targets are await-ed inline with +your BXL function.

Can I mutate types returned by BXL APIs?

The data types produced by BXL API calls are always immutable.

What is run synchronously vs asynchronously?

Starlark itself is run synchronously. However, certain BXL APIs are evaluated +asynchronously.

If you pass in multiple inputs to builds, queries, or analyses, the execution of +these API calls will be blocking, but the inputs themselves will be evaluated in +parallel within the execution.

Ensuring artifacts, dynamic outputs, anon targets, and resolving promises will +happen after the Starlark script is executed.

+ + + + \ No newline at end of file diff --git a/docs/developers/bxl_getting_started/index.html b/docs/developers/bxl_getting_started/index.html new file mode 100644 index 0000000000000..bc55f69925a35 --- /dev/null +++ b/docs/developers/bxl_getting_started/index.html @@ -0,0 +1,41 @@ + + + + + +Getting Started | Buck2 + + + + + + + + +
+

Getting Started

If you are mostly unfamiliar with Buck2, take a look at +BXL Basics.

All BXL APIs can be found here. A good place to start +would be the bxl.Context, which contains all +available BXL functionalities.

All Build APIs are mirrored to the BXL APIs section.

The Starlark spec +is also a good resource for general Starlark APIs.

Writing a BXL

To create a BXL, first, create a script somewhere in the repository ending in +.bxl. (Note that you can define a single bxl per file, or multiple BXLs per +file like in Starlark rules).

In it, define a BXL function as follows:

def _your_implementation(ctx):
# ...
pass

your_function_name = bxl_main(
impl = _your_implementation,
cli_args = {
# cli args that you want to receive from the command line
"bool_arg": cli_args.bool(),
"list_type": cli_args.list(cli_args.int()),
"optional": cli_args.option(cli_args.string()),
"target": cli_args.target_label(),
},
)

This exposes your_function_name as a function, with whatever arguments you +defined it, so that on the command line you can invoke:

buck2 bxl //myscript.bxl:your_function_name -- --bool_arg true --list_type 1 --list_type 2 --target //foo:bar`

You can also add helpdocs to the cli args and get them to show up in cli via +--help:

def _your_implementation(ctx):
# ...
pass

your_function_name = bxl_main(
impl = _your_implementation,
cli_args = {
"my_bool": cli_args.bool(True, "this will be printed as part of `--help`")
},
)

The implementation function takes a single context as parameter (see the +documentation for bxl.Context). Using it, you'll +be able to access functions that enable you to perform queries, analysis, +builds, and even create your own actions within BXL to build artifacts as part +of a BXL function.

The primary method to return information from BXL is to either print them, or +build some artifact (for details, see the +bxl.OutputStream documentation, available as +part of ctx.output). At high level, ctx.output.print(..) prints results to +stdout, and ctx.output.ensure(artifact) marks artifacts as to be materialized +into buck-out by the end of the BXL function, returning an object that lets you +print the output path via ctx.output.print(ensured).

Running a BXL

To run a BXL function, invoke the buck2 command:

buck2 bxl <bxl function> -- <function args>

Where <bxl function> is of the form <cell path to function>:<function name>, +and <function args> are the arguments that the function accepts from the +command line.

The documentation for a BXL function can be seen by running:

 buck2 bxl <bxl function> -- --help`

Note that this is different from buck2 bxl --help, which generates the help +for the buck2 command instead of the function.

+ + + + \ No newline at end of file diff --git a/docs/developers/bxl_how_tos/index.html b/docs/developers/bxl_how_tos/index.html new file mode 100644 index 0000000000000..45c60dd252f22 --- /dev/null +++ b/docs/developers/bxl_how_tos/index.html @@ -0,0 +1,79 @@ + + + + + +Common How-Tos | Buck2 + + + + + + + + +
+

Common How-Tos

Passing in and using CLI args

A BXL function can accept a cli_args attribute where args names and types are +specified to use within your script, as shown in the following example:

Example:

def _impl_example(ctx):
# ...
pass

example = bxl_main(
impl = _impl_example,
cli_args = {
# cli args that you want to receive from the command line
"bool_arg": cli_args.bool(),
"list_type": cli_args.list(cli_args.int()),
"optional": cli_args.option(cli_args.string()),
"target": cli_args.target_label(),
},
)

On the command line, you can invoke the arguments as follows:

buck2 bxl //myscript.bxl:example -- --bool_arg true --list_type 1 --list_type 2 --target //foo:bar

For BXL functions, to read the arguments, use them as attributes from the +cli_args attribute on the BXL ctx object, as follows:

def _impl_example(ctx):
my_bool_arg = ctx.cli_args.bool_arg

Running actions

You can create actions within BXL via the actions_factory. This is called once +globally then used on demand:

def _impl_example(ctx):
actions = ctx.bxl_actions().actions # call once, reuse wherever needed
output = actions.write("my_output", "out")

You will need to have +execution platforms +enabled for your project, or else you will get an error. You can specify the +execution platform resolution by setting named parameters when instantiating +bxl_actions:

  • exec_deps - These are dependencies you wish to access as executables for +creating the action. This is usually the same set of targets one would pass to +rule's attr.exec_dep. Accepts a list of strings, subtarget labels, target +labels, or target nodes.
  • toolchains - The set of toolchains needed for the actions you intend to +create. Accepts a list of strings, subtarget labels, target labels, or target +nodes.
  • target_platform - The intended target platform for your toolchains. Accepts +a string or target label.
  • exec_compatible_with - Explicit list of configuration nodes (like platforms +or constraints) that these actions are compatible with. This is the +exec_compatible_with attribute of a target. Accepts a list of strings, +target labels, or target nodes.

If you specify exec_deps or toolchains, you can access the resolved +dependency objects on the bxl_actions object. The bxl_actions object will +have exec_deps and toolchains attributes, which are dicts where the keys +are the unconfigured subtarget labels, and the values are the +configured/resolved dependency objects.

Note that the keys of exec_deps and toolchains must be unconfigured +subtarget labels (StarlarkProvidersLabel), and not unconfigured target labels. +You can use ctx.unconfigured_sub_targets(...) or with_sub_target() on +target_label to create the label.

def _impl_example(ctx):
my_exec_dep = ctx.unconfigured_sub_targets("foo//bar:baz") # has some provider that you would use in the action
bxl_actions = ctx.bxl_actions(exec_deps = [my_exec_dep]) # call once, reuse wherever needed
output = bxl_actions.actions.run(
[
"python3",
bxl_actions.exec_deps[my_exec_dep][RunInfo], # access resolved exec_deps on the `bxl_actions`
out.as_output(),
],
category = "command",
local_only = True,
)
ctx.output.ensure(output)

Getting providers from an analysis

After calling analysis(), you can get the providers collection from +providers():

def _impl_example(ctx):
my_providers = ctx.analysis(my_target).providers()

Get a specific provider from an analysis

After calling analysis(), you can also get the providers collection from +providers() then grab whatever specific provider you need:

def _impl_example(ctx):
default_info = ctx.analysis(my_target).providers()[DefaultInfo]
ctx.output.print(default_info)

Get a specific subtarget from an analysis

Once you have a provider, you can get its subtargets by using the sub_targets +attribute on the struct to get a dict of provider labels to provider +collections:

def _impl_example(ctx):
subtarget = ctx.analysis(my_target).providers()[DefaultInfo].sub_targets["my_subtarget"]
ctx.output.print(subtarget)

Building a target/subtarget without blocking

ctx.build is synchronous and should only be used when the result of the build +is needed inline during the bxl execution. To execute builds without blocking +the script, retrieve the DefaultInfo from the target's providers and use the +ctx.output.ensure_multiple api.

Example:

ctx.output.ensure_multiple(ctx.analysis(label).providers()[DefaultInfo])

Getting attributes or resolved attributes efficiently on a configured target node

If you need to use all of the attrs/resolved_attrs, then initializing the eager +variant once would be best. If you only need a few of the attrs, then +initializing the lazy variant is better. There’s not really a hard line, it +depends on the target node, and which attrs you are looking for. If performance +is key to your BXL script, the best way to determine this is to use the BXL +profiler.

Regardless, if you use eager or lazy versions of getting attributes, you should +cache the attrs object:

def _impl_example(ctx):
my_configured_node = ctx.configured_targets(":foo")

# call once and resue, ideally when you need most/all attrs
eager = my_configured_node.attrs_eager()

# call once and reuse, ideally when you only need a few attrs
lazy = my_configured_node.attrs_lazy()

# call once and reuse, ideally when you need most/all resolved attrs
resolved_eager = my_configured_node.resolved_attrs_eager(ctx)

# call once and reuse, ideally when you only need a few resolved attrs
resolved_lazy = my_configured_node.resolved_attrs_lazy(ctx)

Inspecting a struct

You can use dir(my_struct) to inspect a struct. You can also use +getattr(my_struct, "my_attr") to grab individual attributes, which is +equivalent to my_struct.my_attr.

These are available as part of the +Starlark language spec.

Set addition/subtraction on a target_set

There are a few BXL actions that return a target_set (such as a cquery +eval()). The target_set supports set subtraction and addition (you can use +- and + directly in Starlark).

Initializing configured/unconfigured target_set

You can use following apis to initialize target_set

def bxl.utarget_set(nodes: None | list[bxl.UnconfiguredTargetNode]) -> bxl.UnconfiguredTargetSet
def bxl.ctarget_set(nodes: None | list[bxl.ConfiguredTargetNode]) -> bxl.ConfiguredTargetSet

Profiling, Testing, and Debugging a BXL script

You can use buck2 bxl profiler, with various measurements, to determine where +the script is least efficient.

To time individual pieces of the script, you can use BXL’s timestamp methods:

def _impl_example(_ctx):
start = now() # call once and reuse wherever is necessary
# do something time intensive here
end1 = start.elapsed_millis()
# do something else time intensive here
end2 = start.elapsed_millis()
  • Debug - the common way to debug a BXL script is with print statements +(print(), pprint() and ctx.output.print()).
  • Test - BXL does not have a robust testing framework for mocking. The main +method to test a BXL script is to actually invoke it with required inputs then +verify the outputs.

Getting the path of an artifact as a string

The starlark artifact type encapsulates source artifacts, declared artifacts, +and build artifacts. It can be dangerous to access paths and use them in further +BXL computations. For example, if you are trying to use absolute paths for +something and end up passing it into a remotely executed action, the absolute +path may not exist on the remote machine. Or, if you are working with paths and +expecting the artifact to already have been materialized in further BXL +computations, that would also result in errors.

However, if you are not making any assumptions about the existence of these +artifacts, you can use use +get_path_without_materialization(), +which accepts source, declared, or build aritfacts. It does not accept ensured +artifacts (also see +What do I need to know about ensured artifacts).

For getting paths of cmd_args() inputs, you can use +get_paths_without_materialization(), +but note this is risky because the inputs could contain tsets, which, when +expanded, could be very large. Use these methods at your own risk.

+ + + + \ No newline at end of file diff --git a/docs/developers/bxl_telemetry/index.html b/docs/developers/bxl_telemetry/index.html new file mode 100644 index 0000000000000..38fff0956f300 --- /dev/null +++ b/docs/developers/bxl_telemetry/index.html @@ -0,0 +1,50 @@ + + + + + +BXL Telemetry | Buck2 + + + + + + + + +
+

BXL Telemetry

Telemetry

Emitting events from your BXL script

In BXL, you can emit custom events via ctx.instant_event(), which takes in two +named parameters:

  • id: string, identifies your event. Helpful to identify your event when +looking through event logs. Ids do not have to be unique in a single BXL +script.
  • metadata: dict, where keys are strings, and values are strings, bools, ints, +or lists/dicts of the mentioned types. You can put any metadata you wish here.

Example:

def _impl(ctx):
ctx.instant_event(id = "id1", metadata = {"foo": "bar"})

my_script = bxl_main(
impl = _impl,
cli_args = {},
)

Only instant events can be manually created within BXL at this time, which means +that the event represents a single point in time. If you need something similar +to spans (start and end events which encompass a range of time) for measuring +the duration of a particular section (excluding actions - see below for more +information), you could couple instant events with the global now() function +to measure the duration yourself:

def _impl(ctx):
instant = now()

# do something time intensive
end = instant.elapsed_millis()
ctx.instant_event(id = "id1", metadata = {"duration": end})

# do something else time intensive
end = instant.elapsed_millis()
ctx.instant_event(id = "id2", metadata = {"duration": end})

my_script = bxl_main(
impl = _impl,
cli_args = {},
)

Measuring time for actions and ensuring artifacts

You cannot use now() to measure the time it takes to run actions and ensure +artifacts because these processes occur asynchronously outside of the BXL script +execution. For BXL user telemetry, we emit action events via the buck2 core +automatically. Events around ensuring the artifacts are not emitted currently, +but will be added soon.

User event log

To write to your own event log when running BXL, you can run your BXL command +with the --user-event-log flag to tell buck2 where to write the events to. +Buck2 is aware of the following file extensions: .json-lines, +json-lines.zst, .json-lines.gz, and will compress the files automatically +for you depending on the extension. If the extension is not one of these, the +logs will always be written in JSONL format, uncompressed.

Example:

buck2 bxl path//to/my_script/script.bxl:my_script --user-event-log my_file.json-lines.gz

When using this flag to write to a custom event log, it is up to you to clean up +these log files. In addition, if the same filename is used with subsequent BXL +invocations, events are always appended to the existing file contents, which is +the same behavior as buck2 <any command> --event-log <path>. If you tell buck2 +to write to a compressed file, you are responsible for decompressing them.

Getting a user event log from a normal event log

buck2 log show-user can be used to convert a normal event log (regardless of +encoding/compression) to a user event. Similar to buck2 log show, you can +choose the most recent invocation, or the nth invocation, or provide a path to +the normal user event log. Note that user event logs are not able to be passed +into buck2 log show or buck2 log show-user.

Event log output

The first line of your event log will always be the invocation record, which +contains useful things like command line args used, working directory, etc. The +subsequent lines are either instant events and/or action events, depending on +your BXL script's contents.

Instant event

Sample:

{
"StarlarkUserEvent": {
"id": "foo",
"metadata": {
"bool_value": true,
"string_value": "str",
"int_value": 123,
"list_value": [
"a",
"b",
"c"
],
"dict_value": {
"foo": "bar"
}
},
},
"epoch_millis": 123456789 # when the event was emitted
}

Action event

{
"ActionExecutionEvent": {
"kind": "Write", # kind of action, like write or run
"name": { # name of the action, for user display. Unique within the execution of a particular target
"category": "write", # category for the action
"identifier": "my_output" # identifier for the action
},
"duration_millis": 0, # duration of the action in millis, excluding input materialization time
"output_size": 10, # size in bytes of the action's outputs
"input_materialization_duration_millis": 0, # how long it took to materialize any inputs to the action
"execution_kind": "Simple", # how the action was executed
"owner": "cell//path/to/script.bxl:function_name" # owner of the action execution (target label, anon target label, bxl label)
},
"epoch_millis": 123456789 # when the event was emitted
}

execution_kind includes:

  • Local: action was executed locally
  • Remote: action was executed via a remote executor
  • ActionCache: action was served by the action cache and not executed
  • Simple: action is simple and executed inline within buck2 (ex: write, +symlink_dir)
  • Skipped: action was not executed at all
  • Deferred: action logically executed, but didn't do all the work
  • LocalDepFile: action was served by the local dep file cache and not executed.
  • LocalWorker: action was executed via a local worker
  • NotSet: action execution kind was not set

Ensure artifact event

{
"BxlEnsureArtifactsEvent": {
"duration_millis": 0, # duration of ensuring the artifact
},
"epoch_millis": 123456789 # when the event was emitted
}
+ + + + \ No newline at end of file diff --git a/docs/developers/dynamic_output/index.html b/docs/developers/dynamic_output/index.html new file mode 100644 index 0000000000000..5a93a649df120 --- /dev/null +++ b/docs/developers/dynamic_output/index.html @@ -0,0 +1,34 @@ + + + + + +BXL and Dynamic Outputs | Buck2 + + + + + + + + +
+

BXL and Dynamic Outputs

Dynamic output

When declaring dynamic outputs within +a BXL script, the dynamic lambda for is created with a bxl_ctx, which means +that you can do things like run analysis or queries to inspect the build graph +from within the dynamic lambda.

You may declare multiple dynamic outputs within a single BXL script, or declare +nested dynamic outputs. Dynamic outputs are run asynchronously after the BXL +evaluation.

Limitations

  • ctx.output is not available from a dynamic lambda. This means you can’t +ensure artifacts or print cached outputs within a dynamic lambda.
  • Error messages from skipping incompatible targets are only emitted to the +console, and not cached in the stderr
  • build() is not available from a dynamic lambda
  • bxl_actions in a dynamic lambda always inherits the execution platform +resolution of the root/parent BXL.
    • The expected usage of bxl_actions from within a dynamic lambda is to +instantiate it without any named parameters, but the exec_deps and +toolchains of the execution platform resolution are accessible, and return +the same values as the root/parent BXL
  • Profiling is not hooked up to dynamic BXL context

Silly example

This is a silly example of creating a dynamic output which reads some +query_params input, calls some BXL functions like uquery, +configured_targets to get the resolved attributes of a target node, and then +writes the attributes to an output file.

def _impl_dynamic_output(ctx):
actions = ctx.bxl_actions().actions

# Declare some input here to read within the lambda
query_params = actions.write_json("query_params", {"rule_type": "apple_bundle", "universe": "fbcode//buck2/tests/..."})

# Dynamic lambda's output artifact
resolved_attrs = actions.declare_output("resolved_attrs")

# Dynamic lambda function to be used in the dynamic_output
def my_deferred(ctx, artifacts, outputs):

# Read the input, then do some BXL things here

params = artifacts[query_params].read_json()
target = ctx.uquery().kind(params["rule_type"], params["universe"])[0]
node = ctx.configured_targets(target.label)
eager_attrs = node.resolved_attrs_eager(ctx)

# Dynamic BXL context's `bxl_actions` does not take in named parameters because it inherits the exec platform resolution from the root/parent BXL. If the root BXL's `bxl_actions` were created with exec deps/toolchains, you can access them using `exec_deps` and `toolchains` attributes here

ctx.bxl_actions().actions.write(outputs[resolved_attrs], str(eager_attrs))

actions.dynamic_output(
dynamic = [query_params],
inputs = [],
outputs = [
resolved_attrs,
],
f = my_deferred,
)

ctx.output.print(ctx.output.ensure(resolved_attrs).abs_path())

dynamic_output_example = bxl_main(
impl = _impl_dynamic_output,
cli_args = {
},
)
+ + + + \ No newline at end of file diff --git a/docs/developers/options/index.html b/docs/developers/options/index.html new file mode 100644 index 0000000000000..9d29877980ea3 --- /dev/null +++ b/docs/developers/options/index.html @@ -0,0 +1,24 @@ + + + + + +Buck 2 specific options | Buck2 + + + + + + + + +
+

Buck 2 specific options

Buck 2 introduces some options that don't exist in v1 and are accessed in the +root cell:

  • project.watchman_merge_base: defines the merge base to use for SCM-aware +queries to Watchman. This is read when the daemon starts and cannot be changed +later without a restart.
  • test.v2_test_executor: defines the program to invoke as the test executor in +buck test. This is read every time a test command executes.
+ + + + \ No newline at end of file diff --git a/docs/developers/request_for_comments/index.html b/docs/developers/request_for_comments/index.html new file mode 100644 index 0000000000000..211499796ded9 --- /dev/null +++ b/docs/developers/request_for_comments/index.html @@ -0,0 +1,20 @@ + + + + + +Request for Comments | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/developers/starlark/environment/index.html b/docs/developers/starlark/environment/index.html new file mode 100644 index 0000000000000..0c6b85877b528 --- /dev/null +++ b/docs/developers/starlark/environment/index.html @@ -0,0 +1,75 @@ + + + + + +Environments | Buck2 + + + + + + + + +
+

Environments

Some of the information within this page is outdated. However, the

explanation of the problem, and thought process behind it, remains useful. The +storage of values is similar but implemented using different types. :::

Starlark (with a nested def) has a series of environments that may be active +during an evaluation, as illustrated in the following example:

x = []
def foo():
y = True
def bar():
z = 1
list.append(x, 1)

The above example features the following environments:

  • Global environment - defining things like list.append
  • Module environment - defining x
  • Environment of foo - defining y
  • Environment of bar - defining z

A scope can access variables defined above it, and often mutate them, but +not assign them.

To unpack that:

  • From the statements inside bar, you can access list.append, x, y, and +z.
  • From inside bar, you can mutate the variables to be accessed with statements +like list.append(x, 1) (which may also be termed x.append(1)).
    • However, before this module is imported by another module, all of its +exports become frozen, which means it isn't possible to mutate a global +list, and if foo is called from a different module, then x can't be +modified.
  • If bar does x = 1 that defines a local variable x in the function bar, +shadowing the global x. As a consequence, you cannot assign to variables +defined in an outer scope.

Note that assignment after, or even in non-executed conditional branches, +introduces a local variable.

For example:

x = 1
def f():
print(x)
if False:
x = 2

In the above code, on executing f(), it would complain that x is referenced +before assignment, as the assignment x = 2 makes x a local variable.

The rest of this document outlines the various types of environments, how they +are accessed, and how they are updated.

Global Environment

The global environment is always frozen and consists of functions and +type-values. All things in the global environment are accessed by name.

Type-values are things like list.append, which is used when you do either +list.append(xs, 1) or xs.append(1), assuming xs is of type list. The +available methods for a type can be queried (for example, dir(list)).

There are also global functions, such as len, range, and str.

Slots

To optimise evaluation, all variables are accessed by integers, which are known +as 'slots'. Many variables can be converted to slots statically during +compilation, and those which can't have their slot looked up by name at runtime.

The Slots data type is defined as:

enum Slots {
Frozen(FrozenSlots),
Slots(Rc<RefCell<Vec<Option<Value>>>>),
}

struct FrozenSlots(Arc<Vec<Option<FrozenValue>>>);

As featured in the above code:

  • A set of slots are either Frozen, which came from another module behind +Arc or just normal Slots, which can be manipulated by the current scope +(behind a Rc/RefCell for single-threaded use and mutation).
  • Vec is accessed by the slot index.
  • Option refers to whether the slot has been assigned yet (to detect variables +referenced before assignment).

Module Environment

The module environment is where the module executes, namely where x is defined +above. The module environment can have values added in the following +standards-conforming ways:

  • Assignment statements (such as x = 1 or x += 1).
  • For loops (such as the x in for x in []:).
  • Via the load("a.bzl", "foo"), which imports foo frozen.
  • Via def foo():, which defines foo in the module environment. Whether a +def is frozen or not, when it's executed, its local variables are not +frozen.

In addition, two non-standards-conforming ways of defining variables are +supported:

  • Some modules can be injected as bindings in advance. Given a module foo that +is injected, all the bindings of foo will be inserted in this module as +frozen.
  • The function load_symbols injects a dictionary of bindings into the module +environment.

Note that a module has a fixed set of variables (from the standards-conforming +ways), a pre-execution set (from the injections) and yet more variables at +runtime (via load_symbols). To support that structure, the mapping from name +to slot index is tracked in a struct:

enum Names {
Frozen(FrozenNames),
Names(Rc<RefCell<HashMap<String, usize>>>),
}
struct FrozenNames(Arc<HashMap<String, usize>>);

Each name is given an entry in the map with an increasing slot index. A name +will only be assigned a slot once, reusing it thereafter. A corresponding +Slots data type provides the values associated with those names.

Importantly, the Slots can be extended at runtime by the load_symbols +function. As with Slots, you can either share things behind an Arc or mutate +them behind an Rc/RefCell.

Function Environment

A function can have variables introduced via assignments, for loops, and +parameters. No additional variables can be discovered at runtime, so all names +can be erased at compile time.

A function can also access variables from the functions it is statically nested +within, and from the variables at the root of the module. To support this +structure, at runtime we pass around the context, defined as:

struct Context {
names: Names,
slots: Vec<Slots>,
}

The above code contains the mapping of names for the module and the slots for +the module and each function.

When executed, the inner-most Slots (at the end of slots:) will never be +frozen, as that represents the local variables: but any other may be.

When a function value is captured in a frozen module, use FrozenContext:

struct FrozenContext {
names: FrozenNames,
slots: Vec<FrozenSlots>,
}

## List comprehension environments

A list comprehension can be defined as:

```python
[x for x in [1,2,3]]

In the above code:

  • The statement defines a variable x that is immediately initialised and +shadows any other variables x in scope.
  • The variable x cannot be assigned to, other than in the list comprehension, +as it only lives inside the comprehension and the comprehension does not +permit assignment statements (only expressions). Such names are not available +at the top-level, even when defined in the root of a module.

List comprehensions are implemented by adding additional entries into the +Slots data type. Even when added at the root of a module, such names are not +added to Names.

Optimisations

There are a number of optimisations made to the scheme:

  • When freezing a Names or Slots structure, it's important to only freeze a +particular mutable variant once, or you duplicate memory unnecessarily. +Therefore, the Slots to be Rc<RefCell<(_, Option<FrozenSlots>)>> are +augmented, and, similarly, the Names.
    • When freeze is called, the original value is consumed, and the Some +variant is added.
    • Note: it is unsafe to ever access the slots after the freeze.
  • Programs can only assign to the inner-most Slots, and that slots must always +be mutable. Therefore, define a local Slots that is always mutable, and a +separate AST node for referring to it.
    • For modules, it is important that this mutable local Slots is also in +scope since the scope is used to retrieve unknown variables.
+ + + + \ No newline at end of file diff --git a/docs/developers/starlark/gc/index.html b/docs/developers/starlark/gc/index.html new file mode 100644 index 0000000000000..dddc65462a06c --- /dev/null +++ b/docs/developers/starlark/gc/index.html @@ -0,0 +1,41 @@ + + + + + +A Moving Garbage Collector | Buck2 + + + + + + + + +
+

A Moving Garbage Collector

This page describes a two-space garbage collector that can deal with cycles.

In Starlark, this pattern is used both when doing a real garbage collection, and +when freezing. For both cases, it starts out with a memory block, which has +pointers referring to things inside it, and ends up with a new memory block with +equivalent pointers inside it. However, only pointers reachable from outside the +original memory block are available in the new memory block. The garbage +collector can deal with cyclic data structures and the time spent is +proportional to the amount of live data in the heap (memory that is dropped is +not even visited).

A worked example

Given a heap with the following layout:

X := Data("world")
Y := Data("hello", X, Y)
Z := Data("universe")

All of X, Y and Z are memory locations. The Y memory location has both +some data of its own ("hello") and two pointers (X and Y itself).

The pointers from outside the heap into the heap are known as roots.

Assuming, in the above example, that Y is the only root, then, since Y is +used from outside, Y must be moved to the new memory block. Consequently, the +data X needs to be copied, but Z can be dropped.

Following are the required steps for using a garbage collector:

  1. To copy Y, allocate a value in the new heap A with a sentinel value in it +(that that sentinel is called a Blackhole). Then, turn Y into a +Forward(A) pointer, so that if anyone else in this cycle tries to collect +Y they immediately "forward" to the new value and the data from Y is +grabbed so its pointers can be traversed. That results in the following:

    X := Data("world")
    Y := Forward(A)
    Z := Data("universe")

    A := Blackhole

    With Data("hello", X, Y) as the current item being processed.

  2. Walk the pointers of the current value, performing a garbage collection on +each of them. To copy Y, it can be seen that Y points at a Forward(A) +node, so there's no need to do anything. To copy X, follow the process +starting at step 1, but for X (which ends up at B). Performing that move +leads to the following:

    X := Forward(B)
    Y := Forward(A)
    Z := Data("universe")

    A := Blackhole
    B := Data("world")
  3. Replace all the pointers with the forwarded value, and write it back over the +Blackhole in A. This gives the following:

    X := Forward(B)
    Y := Forward(A)
    Z := Data("universe")

    A := Data("hello", B, A)
    B := Data("world")
  4. Adjust any roots pointing at Y to point at A and throw away the original +heap, which produces the following:

    A := Data("hello", B, A)
    B := Data("world")

These above four steps successfully garbage collects a cyclic data structure, +while preserving the cycles and getting rid of the unused data.

+ + + + \ No newline at end of file diff --git a/docs/developers/starlark/heaps/index.html b/docs/developers/starlark/heaps/index.html new file mode 100644 index 0000000000000..79a2037bc3da8 --- /dev/null +++ b/docs/developers/starlark/heaps/index.html @@ -0,0 +1,49 @@ + + + + + +Heaps and Heap References | Buck2 + + + + + + + + +
+

Heaps and Heap References

Heaps

In Starlark, there are three interesting heap-related points of interest:

  • A Heap has Value's allocated on it and cannot be cloned or shared.
  • A FrozenHeap has FrozenValue's allocated on it and cannot be cloned or +shared.
  • A FrozenHeapRef is a FrozenHeap that is now read-only and can now be +cloned and shared.

A FrozenHeapRef keeps a heap alive. While you have a FrozenValue, it is +important that you have either the FrozenHeap itself, or more usually, a +FrozenHeapRef to it. A FrozenHeap may contains a set of FrozenHeapRef's to +keep the FrozenHeaps it references alive.

Heap Containers

Heaps are included in other data types:

  • A Module contains a Heap (where normal values are allocated) and a +FrozenHeap (stores references to other frozen heaps and has compilation +constants allocated on it). The Heap portion is garbage collected. At the +end, when you call freeze, Value's referenced by name in the Module are +moved to the FrozenHeap and then then FrozenHeap is sealed to produce a +FrozenHeapRef.
  • A FrozenModule contains a FrozenHeapRef.
  • A GlobalsBuilder contains a FrozenHeap onto which values are allocated.
  • A Globals contains a FrozenHeapRef.

Heap References

It is important that when a FrozenValue X is referenced by a Value or +FrozenValue (for example, included in a list), the heap where X originates is +added as a reference to the heap where the new value is being created.

As a concrete example in pseudo-code:

let h1 = FrozenHeap::new();
let s = "test".alloc(h1);
let h1 : FrozenHeapRef = h1.into_ref();

let h2 = Heap::new();
h2.add_reference(h1);
vec![s].alloc(h2);

In the above code, the following steps are taken:

  1. Create a FrozenHeap then allocate something in it.
  2. Turn the heap into a reference.
  3. Use the allocated value s from h1 when constructing a value in h2.
  4. For that to be legal, and for the heap h1 to not disappear while it is +being allocated, it is important to call add_reference.

Note that this API can only point at a FrozenValue from another heap, and only +after that heap has been turned into a reference, so it will not be allocated in +anymore. These restrictions are deliberate and mean that most programs only have +one 'active heap' at a time.

Following are some places where heap references are added by Starlark:

  • Before evaluation is started, a reference is added to the Globals from the +Module, so it can access the global functions.
  • When evaluating a load statement, a reference is added to the FrozenModule +that is being loaded.
  • When freezing a module, the FrozenHeap, in the Module, is moved to the +FrozenModule, preserving the references that were added.

OwnedFrozenValue

When you get a value from a FrozenModule, it will be a OwnedFrozenValue. +This structure is a pair of a FrozenHeapRef and a FrozenValue, where the ref +keeps the value alive. You can move that OwnedFrozenValue into the value of a +module with code such as:

fn move<'v>(from: &FrozenModule, to: &'v Module) {
let x : OwnedFrozenValue = from.get("value").unwrap();
let v : Value<'v> = x.owned_value(&to);
to.set("value", v);
}

In general, you can use the OwnedFrozenValue in one of three ways:

  • Operate on it directly - with methods like unpack_i32 or to_str.
  • Extract it safely - using methods like owned_frozen_value, which takes a +FrozenHeap to which the heap reference is added and returns a naked +FrozenValue. After that, it is then safe for the FrozenHeap you passed in +to use the FrozenValue.
    • With owned_value, there is lifetime checking that the right heap is +passed, but with FrozenValue, there isn't.
    • Be careful to pass the right heap, although given most programs only have +one active heap at a time, it should mostly work out.
  • Extract it unsafely - using methods unchecked_frozen_value, which gives +you the underlying FrozenValue without adding any references.
    • Be careful to make sure there is a good reason the FrozenValue remains +valid.
+ + + + \ No newline at end of file diff --git a/docs/developers/starlark/spec/index.html b/docs/developers/starlark/spec/index.html new file mode 100644 index 0000000000000..aaa93d696a951 --- /dev/null +++ b/docs/developers/starlark/spec/index.html @@ -0,0 +1,21 @@ + + + + + +Starlark Language Specification | Buck2 + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/developers/starlark/types/index.html b/docs/developers/starlark/types/index.html new file mode 100644 index 0000000000000..7d0edf29ccc08 --- /dev/null +++ b/docs/developers/starlark/types/index.html @@ -0,0 +1,60 @@ + + + + + +Starlark Types | Buck2 + + + + + + + + +
+

Starlark Types

The Starlark 'types' extension is highly experimental and likely to be modified +in the future.

Types can be added to function arguments, or function return types.

For example:

def fib(i: int) -> int:
...

There are moments where types can be checked:

  1. At runtime, as a function is executed, when a value of the appropriate type +is available.
  2. Statically, without executing anything.
  3. At compile time, when the definitions of all symbols imported using load +are available.

Currently runtime is the normal way of checking, but other systems built on +Starlark (e.g. Buck2) may also perform additional types of checking. In all +cases the meaning of the types is the same.

The rest of this document lays out what types mean and what type-supporting +values are available (records and enums).

What does a type mean?

A type is a Starlark expression that has a meaning as a type:

  • When fib(3) is called, the value 3 is passed to fib as parameter i.
  • When the execution of fib is started, the expression int is evaluated to +the value of the int function.
  • A check is then made that the value 3 matches the type represented by int.

If the value doesn't match, it is a runtime error. Similarly, on return +statements, or the end of the function, a check is made that result type matches +int.

As some examples of types:

  • The type typing.Any matches any value, with no restrictions.
  • The types int, bool, str all represent the values produced by the +respective functions.
  • The type None represents the value None.
  • The type list[int] represents a list of int types, e.g. list[typing.Any] +represents a list containing any types.
  • The type dict[int, bool] represents a dictionary with int keys and bool +values.
  • The type tuple[int, bool, str] represents a tuple of arity 3 with components +being int, bool and str.
  • The type tuple[int, ...] represents a tuple of unknown arity where all the +components are of type int.
  • The type int | bool represents a value that is either an int or a bool.
  • The type typing.Callable represents something that can be called as a +function.
  • The type typing.Iterable represents something that can be iterated on.
  • The type typing.Never represents a type with no valid values - e.g. the +result of fail is typing.Never as the return value of fail can never be +observed, given the program terminates.

The goals of this type system are:

  • Reuse the existing machinery of Starlark as much as possible, avoiding +inventing a special class of type values. As a consequence, any optimisations +for values like string/list are reused.
  • Provide a pleasing syntax.
  • Some degree of compatibility with Python, which allows types as expressions in +the same places Buck2 allows them (but with different meaning and different +checking).
  • And finally, a non-goal is to provide a complete type system capable of +representing every type invariant: it's intended to be a lossy approximation.

In addition to these built-in types, records and enumerations are provided as +special concepts.

Record types

A record type represents a set of named values, each with their own type.

For example:

MyRecord = record(host=str, port=int)

This above statement defines a record MyRecord with 2 fields, the first named +host that must be of type str, and the second named port that must be of +type int.

Now MyRecord is defined, it's possible to do the following:

  • Create values of this type with MyRecord(host="localhost", port=80). It is a +runtime error if any arguments are missed, of the wrong type, or if any +unexpected arguments are given.
  • Get the type of the record suitable for a type annotation with MyRecord.
  • Get the fields of the record. For example, +v = MyRecord(host="localhost", port=80) will provide v.host == "localhost" +and v.port == 80. Similarly, dir(v) == ["host", "port"].

It is also possible to specify default values for parameters using the field +function.

For example:

MyRecord = record(host=str, port=field(int, 80))

Now the port field can be omitted, defaulting to 80 is not present (for +example, MyRecord(host="localhost").port == 80).

Records are stored deduplicating their field names, making them more memory +efficient than dictionaries.

Enum types

The enum type represents one value picked from a set of values.

For example:

MyEnum = enum("option1", "option2", "option3")

This statement defines an enumeration MyEnum that consists of the three values +"option1", "option2" and "option3".

Now MyEnum is defined, it's possible to do the following:

  • Create values of this type with MyEnum("option2"). It is a runtime error if +the argument is not one of the predeclared values of the enumeration.
  • Get the type of the enum suitable for a type annotation with MyEnum.
  • Given a value of the enum (for example, v = MyEnum("option2")), get the +underlying value v.value == "option2" or the index in the enumeration +v.index == 1.
  • Get a list of the values that make up the array with +MyEnum.values() == ["option1", "option2", "option3"].
  • Treat MyEnum a bit like an array, with len(MyEnum) == 3, +MyEnum[1] == MyEnum("option2") and iteration over enums +[x.value for x in MyEnum] == ["option1", "option2", "option3"].

Enumeration types store each value once, which are then efficiently referenced +by enumeration values.

+ + + + \ No newline at end of file diff --git a/docs/developers/starlark/values/index.html b/docs/developers/starlark/values/index.html new file mode 100644 index 0000000000000..aa1d0db015f40 --- /dev/null +++ b/docs/developers/starlark/values/index.html @@ -0,0 +1,39 @@ + + + + + +Value Representation | Buck2 + + + + + + + + +
+

Value Representation

Some of the information in this page is outdated. However, the

explanation of the problem, and thought process behind it, remains useful. Of +particular note is that a garbage collected heap is now used for Value. :::

This page explains how values are represented in the Starlark interpreter, +ignoring some incidental details.

Importantly, in Starlark, any identifiers from modules that you import are +'frozen', which means that, if you have a module that defines a list, then once +you have imported the module, the list is now immutable. This design means that +you can safely share imports with multiple users, without any expensive copying, +and use the imports in parallel.

Frozen vs unfrozen values

Values that are frozen are segregated from those that are not:

  • Frozen values are those you import, and (assuming no GC) are to be ref-counted +atomically (so they can be shared by multiple threads) and never changed.
  • Unfrozen values are those which are local to the module, and, since modules +execute single threaded, can be non-atomically ref-counted and mutated.

Once a module has finished executing, it's values are frozen and can be reused +freely.

Thaw-on-write

It's not uncommon to return list literals from functions.

For example:

def my_list(x):
return ([1,2,3], x)

This above code returns the unfrozen list [1,2,3]. But while the list is +unfrozen, and could be mutated by the caller, it probably won't be. To optimise +this pattern, construct a frozen list when compiling my_list and insert a +shared reference to it in the result. If anyone tries to mutate the list, it's +explicitly unfrozen by copying it into a mutable variant (known as thawing the +value).

Immutable containers of mutable data

There are some data types (such as functions and tuples) that are themselves +immutable but contain mutable data. Importantly, all types that can be invoked +as functions (for example, lambda, def, and a.b()) fall into this +category. These types can be non-atomically ref-counted but can't be mutated.

Implementation in Rust

Putting all these above concepts together results in the following:

enum FrozenValue {
None(NoneType),
Bool(bool),
Int(i64),
Obj(Arc<dyn StarlarkValue>),
}

enum Value {
Immutable(FrozenValue),
Pseudo(Rc<dyn ComplexValue>)
Mutable(Rc<RefCell<Mutable>>),
}

enum Mutable {
Mutable(Box<dyn ComplexValue>),
ThawOnWrite(Arc<dyn StarlarkValue>),
}

In the above code, both of the traits dyn SimpleValue and dyn ComplexValue +enable you to convert to the other and have shared general value-like methods.

There are four types of value:

  • Immutable
  • Pseudo - immutable containers of mutable values.
  • Mutable/Mutable
  • Mutable/ThawOnWrite - immutable now but can be replaced with +Mutable/Mutable if needed.

There are two root types:

  • FrozenValue - imported.
  • Value - defined locally.
+ + + + \ No newline at end of file diff --git a/docs/developers/target_universe/index.html b/docs/developers/target_universe/index.html new file mode 100644 index 0000000000000..3a0b9e37034ae --- /dev/null +++ b/docs/developers/target_universe/index.html @@ -0,0 +1,59 @@ + + + + + +Target Universe in BXL | Buck2 + + + + + + + + +
+

Target Universe in BXL

BXL cquery and target universe

BXL cannot infer the target universe +like in the CLI (in most cases). BXL splits up cquery functions per function +(ex: ctx.cquery().kind(...)), with the exception of ctx.cquery.eval(...), +which accepts literals exactly like in the CLI. For the eval query, target +universe is inferred exactly like the CLI.

For all other cases, take the following query as an example:

buck2 cquery "rdeps(deps(//example:foo), deps(//example:bar))"

The target universe here should be constructed from the all the target literals +and their transitive deps, which is to say deps(//example:foo, //example:bar). +When you run the query, the evaluation of deps(//example:foo) and +deps(//example:bar) nested in the rdeps query will happen inside the +universe resulting from deps(//example:foo, //example:bar). Translating it to +BXL's individual cquery functions, and let’s say we also try to use the target +literals to construct the universe as the CLI target inference does:

from_node = ctx.cquery().deps("//example:foo") # universe would be //example:foo

to_node = ctx.cquery().deps("//example:bar") # universe would be //example:bar

rdeps = ctx.cquery().rdeps(from_node, to_node) # what is the universe here?

Here, the from_node query is actually evaluated in the wrong target universe +because we have broken up the query steps in BXL. Instead of +deps(//example:foo) being evaluated in deps(//example:foo, //example:bar), +it’s evaluated with only deps(//example:foo). It’s impossible to know that +there’s going to be an rdeps query later on that expects a different target +universe.

Specifying target universe in BXL cquery

BXL cquery functions should only accept configured targets as inputs, with the +exception of eval and testsof_with_default_platform.

BXL has a ctx.target_universe() function to construct a target_universe +object, which has a lookup() function to lookup the configured targets within +the target universe and return the target set. ​​The lookup functionality is +useful because sometimes a single target can appear multiple times within a +target universe. For example, if you specify a cxx toolchain using its +unconfigured target label, it will always match against all cxx toolchains in +the target universe (so at least once for target deps and once for exec deps), +since cxx toolchains may have multiple configurations. Example:

def _impl():
target_universe = ctx.target_universe(["//example:foo", "//example:bar"])
to_node = target_universe.lookup("//example:foo")
from_node = target_universe.lookup("//example:bar")
rdeps = ctx.cquery().rdeps(to_node, from_node)

However, sometimes you might want a specific configuration instead of using all +configurations found within a target universe, in which case you could use +ctx.configured_targets(...) to specify the configuration. Or, sometimes you +may want to use the specific configured target nodes resulting from other BXL +calls. In these cases, you can pass the configured targets directly into cquery +functions, instead of going through target universe lookup.

What does the target universe tend to be in practice?

For owner query, the universe would be constructed with the unconfigured +target nodes returned from ctx.uquery().owner(...). Example:

def _impl():
unconfigured_owners = ctx.uquery().owner("foobar")
target_universe = ctx.target_universe(unconfigured_owners).target_set()
owners = ctx.cquery().owner("foobar", target_universe)

For everything else, the universe would usually be constructed using all target +literals found in your query. Example:

def _impl():
target_universe = ctx.target_universe("//example:foo")
inputs = target_universe.target_set()
deps = ctx.cquery().deps(inputs)

While the above guideline should work for rdeps as well, for rdeps the +universe would usually be narrowed down to the "to"/"destination" target set +argument. (This is a subset of the target universe suggested for non-owner +query cases). Updating the example from above:

def _impl():
target_universe = ctx.target_universe("//example:foo") # narrowed down to the "to" literals in rdeps
universe_node = target_universe.target_set()
from_node = target_universe.lookup("//example:bar")
rdeps = ctx.cquery().rdeps(universe_node, from_node)

keep-going

The configured graph can be broken for various reasons: incompatible targets +(BXL skips these automatically), visibility issues, nonexistent targets, etc. +For issues that are not incompatible targets, the target_universe can be +constructed with the keep_going flag set to True to skip any other errors, +and your cquery will not error out. Note that keep_going is only compatible +for a single string literal target or target pattern at the moment.

ctx.target_universe("//foo/...", keep_going = True)

BXL build and target universe

Note that BXL builds currently do not support target universe, but we intend to +add this.

+ + + + \ No newline at end of file diff --git a/docs/developers/what-ran/index.html b/docs/developers/what-ran/index.html new file mode 100644 index 0000000000000..e7fac5d342e4a --- /dev/null +++ b/docs/developers/what-ran/index.html @@ -0,0 +1,32 @@ + + + + + +Finding Commands That Buck2 Ran | Buck2 + + + + + + + + +
+

Finding Commands That Buck2 Ran

Buck2 logs all the commands it runs. So, after you've run a build, you can query +Buck2 to get access to the exact command it used.

To do so, do your build as normal, then run buck2 log what-ran.

What Ran output format

This will output a table showing all the commands that were executed, and how +they were executed.

The structure is as follows:

REASON  <TAB> TARGET <TAB> IDENTIFIER <TAB> EXECUTOR <TAB> REPRODUCER

Which should be used as follows:

  • REASON - value is either build (for building a thing) or test (for running +a test).
  • TARGET - the name of the build target that declared an action.
  • IDENTIFIER - depends on the target but will usually be something like a file +name or a module.
  • EXECUTOR - value is either cache, re or local.
  • REPRODUCER - how you can re-run this yourself.

Using the What Ran output

Use What Ran as follows:

  • Start by identifying the command you're looking for:
    • You can grep the output for a given target.
    • You can then grep by identifier if necessary. For example, if you're after +C++ compilation, try grepping for the basename of your file (for example, +for fbcode/my/stuff.cpp, grep for stuff.cpp).
  • Once you found it, reproduce as follows:
    • If the executor was local, the command is in the output, so just run it. +It's expected that you'll do this from the root of your project (use +buck2 root --kind project to find where that is).
    • If the executor was re or cache, you're provided a RE digest of the form +HASH:SIZE. Run frecli cas download-action HASH:SIZE to retrieve the +action, then follow the instructions to run it.

Examples

The following ran locally:

build  fbcode//scripts/torozco/getenv:getenv-san-conf-__generated-lib__ (archive_thin libgetenv-san-conf-__generated-lib__.pic.a)  local  fbcode/third-party-buck/platform010/build/llvm-fb/bin/llvm-ar qcsTD buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/libgetenv-san-conf-__generated-lib__.pic.a buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/__objects__/san-conf.c.pic.o

To repro, you'd run:

fbcode/third-party-buck/platform010/build/llvm-fb/bin/llvm-ar qcsTD buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/libgetenv-san-conf-__generated-lib__.pic.a buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/__objects__/san-conf.c.pic.

The following ran on RE:

build  fbcode//common/init:kill (cxx_compile Kill.cpp (pic))  re  97feca9d014155a80ec55fe27e6bb17f9d2f8574:94
Reproducing this command will depend on the particular RE implementation you use.

Expired Digests

Note that if the action was a cache hit on RE, you might get an error when +downloading it, indicating that it's not found. If that happens, it's because +the cache entry is there but the inputs have expired.

If this happens to you, run your build with --upload-all-actions.

+ + + + \ No newline at end of file diff --git a/docs/developers/windows_cheat_sheet/index.html b/docs/developers/windows_cheat_sheet/index.html new file mode 100644 index 0000000000000..b3576ca38daca --- /dev/null +++ b/docs/developers/windows_cheat_sheet/index.html @@ -0,0 +1,23 @@ + + + + + +Windows Cheat Sheet | Buck2 + + + + + + + + +
+

Windows Cheat Sheet

This page contains notes and tips to assist you in understanding the different +tools used when migrating Buck2 to Windows.

CMD, Powershell, Bash Command Comparison

BashPowershellCMDWhat does it do
cdcdcdChange the current directory
mkdirmkdirmkdir / mdCreate a directory
lslsdirList contents of a directory
export var="value"$env:var="value"set var=valueTo set environment variables
$ENV_VAR$env:ENV_VAR%ENV_VAR%Read environment variable
echo "Hello world"echo "Hello world"echo Hello worldTo print something on the screen
rmrmdelDelete a file
rm -rfrmdirrmdirDelete a directory
catcattypePrint file content to console

In Windows, there are two types of symlinks: file and directory.

You can find out which type of symlink is being created using: +dir /AL /S <path>.

The command lists all of the symbolic links in the <path> directory:

  • ^<SYMLINKD^> is a Directory SymLink
  • ^<SYMLINK^> is a File SymLink

Target names

Escaping the '=' symbol on Windows is quite complicated: make sure none of the +targets being built contain this symbol as it could cause build breakages.

+ + + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000000000..4ff5a5f2c9716 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,70 @@ + + + + + +Introduction | Buck2 + + + + + + + + +
+

Introduction

Welcome to Buck2, a large scale, fast, reliable, and extensible build tool +developed and used by Meta. Buck2 supports a variety of languages on many +platforms.

Buck2's core is written in Rust. +Starlark, which is a deterministic, +immutable dialect of Python, is used to extend the Buck2 build system, enabling +Buck2 to be language-agnostic. With Starlark, users can define their own custom +rules.

Buck2 leverages the Bazel spec of +Remote Build Execution as the primary means of +parallelization and caching, which increases the importance of idempotency (no +matter how many times an operation is performed, it yields the same result) and +hermeticity (code is sealed off from the world), giving the right results, +reliably.

Buck2 multi-language support includes C++, Python, Java, Go, Rust, Erlang, +OCaml, and more.

The following sub-sections contain a list of links to key points in the Buck2 +Documentation website that explain the advantages of using Buck2 for you and +your team.

For end users

For people writing rules

  • Writing Rules - how to write rules to support +new languages.
  • Build APIs - documentation for the APIs available when +writing rules.
  • Starlark Types - +rules are written in Starlark (which is approximately Python), but our version +adds types.

For people integrating with Buck2

  • Extending Buck via BXL - powerful Starlark scripts for +introspection of Buck2's graphs.
  • Buck2 change detector - +tools for building a CI that only builds/tests what has changed in diff/PR.
  • Buck2 GitHub actions installer - +script to make GitHub CI with Buck2 easier.
  • Reindeer - a set of tools for +importing Rust crates from crates.io, git repos etc and generating a BUCK file +for using them.
  • ocaml-scripts - scripts to +generate a BUCK file enabling the use of OCaml packages from an OPAM switch.
  • Buckle - a launcher for Buck2 on a +per-project basis. Enables a project or team to do seamless upgrades of their +build system tooling.

External articles about Buck2

External videos about Buck2

External projects using Buck2

Feel free to +send a PR adding +your project.

+ + + + \ No newline at end of file diff --git a/docs/prelude/globals/index.html b/docs/prelude/globals/index.html new file mode 100644 index 0000000000000..6fd52ba37a0f0 --- /dev/null +++ b/docs/prelude/globals/index.html @@ -0,0 +1,461 @@ + + + + + +Rules | Buck2 + + + + + + + + +
+

Rules

These rules are available as standard in Buck2.

def alias(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
actual: str,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

android_aar

def android_aar(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_is_building_android_binary: bool = _,
_is_force_single_cpu: bool = _,
_is_force_single_default_cpu: bool = _,
_java_toolchain: str = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
abi_generation_mode: None | str = _,
annotation_processing_tool: None | str = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
build_config_values: list[str] = _,
build_config_values_file: None | str = _,
compress_asset_libraries: bool = _,
contacts: list[str] = _,
cpu_filters: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
enable_relinker: bool = _,
excluded_java_deps: list[str] = _,
extra_arguments: list[str] = _,
extra_kotlinc_arguments: list[str] = _,
friend_paths: list[str] = _,
include_build_config_class: bool = _,
java_version: None | str = _,
javac: None | str = _,
kotlin_compiler_plugins: dict[str, dict[str, str]] = _,
labels: list[str] = _,
language: None | str = _,
licenses: list[str] = _,
manifest: None | str = _,
manifest_file: None | str = _,
manifest_skeleton: str,
maven_coords: None | str = _,
min_sdk_version: None | int = _,
native_library_merge_code_generator: None | str = _,
native_library_merge_glue: None | str = _,
native_library_merge_linker_args: None | dict[str, list[str]] = _,
native_library_merge_localized_symbols: None | list[str] = _,
native_library_merge_map: None | dict[str, list[str]] = _,
native_library_merge_sequence: None | list[typing.Any] = _,
native_library_merge_sequence_blocklist: None | list[str] = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
package_asset_libraries: bool = _,
package_resources: bool = _,
plugins: list[str] = _,
proguard_config: None | str = _,
relinker_whitelist: list[str] = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resource_union_package: None | str = _,
resources: list[str] = _,
resources_root: None | str = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
strip_libraries: bool = _,
target: None | str = _,
use_jvm_abi_gen: None | bool = _
) -> None

An android_aar() rule is used to generate an Android AAR.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • build_config_values: See the documentation on the values argument for android_build_config().
  • include_build_config_class: Whether to include the BuildConfig class files in the final .aar file. Needs to be set to True if any build_config_values are specified. This is normally only needed if the build tool that is consuming the .aar file does not generate BuildConfig classes. Note: the AAR format does not specify a way to pass defaults that should be injected into the final BuildConfig class, therefore that information might need to be replicated manually in the build that's consuming the .aar file.
  • manifest_skeleton: The skeleton manifest file used to generate the final AndroidManifest.xml . May either be a file or an android_manifest() target.
  • remove_classes: List of classes to remove from the output aar. It removes classes from the target's own sources, and its dependencies.

Details

See the official Android documentation for details about the .aar format.

Examples:


android_resource(
name = 'res',
res = 'res',
assets = 'assets',
package = 'com.example',
)

android_library(
name = 'lib',
srcs = glob(['**/*.java']),
)

android_aar(
name = 'app',
manifest_skeleton = 'AndroidManifestSkeleton.xml',
deps = [
':res',
':lib',
],
)


android_app_modularity

def android_app_modularity(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
application_module_blacklist: None | list[str] = _,
application_module_configs: dict[str, list[str]] = _,
application_module_dependencies: None | dict[str, list[str]] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
no_dx: list[str] = _,
should_include_classes: bool = _,
should_include_libraries: bool = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

android_binary

def android_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_dex_toolchain: str = _,
_exec_os_type: str = _,
_is_building_android_binary: bool = _,
_is_force_single_cpu: bool = _,
_is_force_single_default_cpu: bool = _,
_java_toolchain: str = _,
aapt2_keep_raw_values: bool = _,
aapt2_locale_filtering: bool = _,
aapt2_preferred_density: None | str = _,
aapt_mode: str = _,
additional_aapt_params: list[str] = _,
allow_r_dot_java_in_secondary_dex: bool = _,
allowed_duplicate_resource_types: list[str] = _,
android_sdk_proguard_config: None | str = _,
application_module_blacklist: None | list[str] = _,
application_module_configs: dict[str, list[str]] = _,
application_module_dependencies: None | dict[str, list[str]] = _,
asset_compression_algorithm: None | str = _,
banned_duplicate_resource_types: list[str] = _,
buck2_compatibility: str = _,
build_config_values: list[str] = _,
build_config_values_file: None | str = _,
build_string_source_map: bool = _,
compress_asset_libraries: bool = _,
constraint_overrides: list[str] = _,
contacts: list[str] = _,
cpu_filters: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
dex_compression: None | str = _,
dex_group_lib_limit: int = _,
dex_tool: str = _,
disable_pre_dex: bool = _,
duplicate_resource_behavior: str = _,
duplicate_resource_whitelist: None | str = _,
enable_relinker: bool = _,
exopackage_modes: list[str] = _,
extra_filtered_resources: list[str] = _,
extra_no_compress_asset_extensions: list[str] = _,
field_ref_count_buffer_space: int = _,
ignore_aapt_proguard_config: bool = _,
includes_vector_drawables: bool = _,
is_cacheable: bool = _,
is_voltron_language_pack_enabled: bool = _,
keystore: str,
labels: list[str] = _,
licenses: list[str] = _,
linear_alloc_hard_limit: int = _,
locales: list[str] = _,
manifest: None | str = _,
manifest_entries: dict[str, typing.Any] = _,
manifest_skeleton: None | str = _,
method_ref_count_buffer_space: int = _,
min_sdk_version: None | int = _,
minimize_primary_dex_size: bool = _,
module_manifest_skeleton: None | str = _,
native_library_merge_code_generator: None | str = _,
native_library_merge_glue: None | str = _,
native_library_merge_linker_args: None | dict[str, list[str]] = _,
native_library_merge_localized_symbols: None | list[str] = _,
native_library_merge_map: None | dict[str, list[str]] = _,
native_library_merge_sequence: None | list[typing.Any] = _,
native_library_merge_sequence_blocklist: None | list[str] = _,
no_auto_add_overlay_resources: bool = _,
no_auto_version_resources: bool = _,
no_dx: list[str] = _,
no_version_transitions_resources: bool = _,
optimization_passes: int = _,
package_asset_libraries: bool = _,
package_type: str = _,
packaged_locales: list[str] = _,
packaging_options: dict[str, list[str]] = _,
post_filter_resources_cmd: None | str = _,
preprocess_java_classes_bash: None | str = _,
preprocess_java_classes_cmd: None | str = _,
preprocess_java_classes_deps: list[str] = _,
primary_dex_patterns: list[str] = _,
proguard_config: None | str = _,
proguard_jvm_args: list[str] = _,
relinker_whitelist: list[str] = _,
resource_compression: str = _,
resource_filter: list[str] = _,
resource_stable_ids: None | str = _,
resource_union_package: None | str = _,
secondary_dex_weight_limit: None | int = _,
skip_crunch_pngs: None | bool = _,
skip_proguard: bool = _,
strip_libraries: bool = _,
trim_resource_ids: bool = _,
use_split_dex: bool = _,
validation_deps: list[str] = _,
xz_compression_level: int = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

android_build_config

def android_build_config(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_is_building_android_binary: bool = _,
_java_toolchain: str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
package: str = _,
values: list[str] = _,
values_file: None | str = _
) -> None

An android_build_config() rule is used to generate a BuildConfig class with global configuration variables that other android_library() rules can compile against. Currently, the only variable exposed by BuildConfig is a global boolean named DEBUG, much like the BuildConfig.java generated by the official Android build tools based on Gradle.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • package: Name of the Java package to use in the generated BuildConfig.java file. Most developers set this to the application id declared in the manifest via <manifest package="APP_ID">. Example: com.facebook.orca.

  • values: List of strings that defines additional fields (and values) that should be declared in the generated BuildConfig.java file. Like DEBUG, the values will be non-constant-expressions that evaluate to the value specified in the file at compilation time. To override the values in an APK, specify build_config_values or build_config_values_file in android_binary().

  • values_file: Optional path to a file that defines additional fields (and values) that should be declared in the generated BuildConfig.java file. Like DEBUG, the values will be non-constant-expressions that evaluate to the value specified in the file at compilation time. To override the values in an APK, specify build_config_values or build_config_values_file in android_binary().

    Note that values_file can be a generated file, as can build_config_values_file as +demonstrated in the example below.

Details

The fields in the generated BuildConfig class will +be non-constant-expressions (see JLS 15.28). +However, if BuildConfig is packaged into an APK, it will +be replaced with a new version where:

  • The fields will be set to literal values (i.e., constant expressions).
  • The boolean BuildConfig.DEBUG field will correspond to +that of the package_type argument to the android_binary() rule +that is packaging it.

This transformation is done before ProGuard is applied (if applicable), so +that it can propagate constants from BuildConfig and eliminate +dead code.

Examples:

Here is an example of an android_build_config() rule that +is transitively included by both debug and release versions +of an android_binary() rule. The value +of com.example.pkg.BuildConfig.DEBUG will be different in each APK +even though they both transitively depend on the same :build_config rule.


android_build_config(
name = 'build_config',
package = 'com.example.pkg',
values = [
'String COMMIT_ID = "0000000000000000000000000000000000000000"',
],
)

# The .java files in this library may contain references to the boolean
# com.example.pkg.BuildConfig.DEBUG because :build_config is in the deps.
# It could also reference BuildConfig.COMMIT_ID.
android_library(
name = 'mylib',
srcs = glob(['src/**/*.java']),
deps = [
':build_config',
],
)

android_binary(
name = 'debug',
package_type = 'DEBUG',
keystore = '//keystores:debug',
manifest = 'AndroidManifest.xml',
target = 'Google Inc.:Google APIs:19',
deps = [
':mylib',
],
)

# The contents of the file generated by this rule might be:
#
# String COMMIT_ID = "7bf804bdf71fdbfc99cce3b155b3643f022c6fa4"
#
# Note that the output of :build_config_release_values will be cached by Buck.
# Assuming that generate_release_build_config.py depends on state that is not
# expressed by its deps (which violates a fundamental invariant in Buck!), a
# workaround is to ensure that the inputs to :build_config_release_values are
# changed in some way before :release is built to ensure that the output from
# :build_config_release_values is not pulled from cache. For example:
#
# $ buck build :release
# $ uuidgen > dummy_state_file.txt
# $ buck build :release
#
# This makes sure that generate_release_build_config.py is re-run before
# :release is rebuilt. This is much cheaper than deleting your build cache
# before rebuilding.
genrule(
name = 'build_config_release_values',
srcs = [ 'generate_release_build_config.py', 'dummy_state_file.txt' ],
bash = 'generate_release_build_config.py $OUT',
out = 'build_config_release_values.txt',
)

android_binary(
name = 'release',
package_type = 'RELEASE',
keystore = '//keystores:release',
manifest = 'AndroidManifest.xml',
target = 'Google Inc.:Google APIs:19',
build_config_values_file = ':build_config_release_values',
deps = [
':mylib',
],
)


android_bundle

def android_bundle(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_dex_toolchain: str = _,
_exec_os_type: str = _,
_is_building_android_binary: bool = _,
_is_force_single_cpu: bool = _,
_is_force_single_default_cpu: bool = _,
_java_toolchain: str = _,
aapt2_keep_raw_values: bool = _,
aapt2_locale_filtering: bool = _,
aapt2_preferred_density: None | str = _,
aapt_mode: str = _,
additional_aapt_params: list[str] = _,
allow_r_dot_java_in_secondary_dex: bool = _,
allowed_duplicate_resource_types: list[str] = _,
android_sdk_proguard_config: None | str = _,
application_module_blacklist: None | list[str] = _,
application_module_configs: dict[str, list[str]] = _,
application_module_dependencies: None | dict[str, list[str]] = _,
asset_compression_algorithm: None | str = _,
banned_duplicate_resource_types: list[str] = _,
buck2_compatibility: str = _,
build_config_values: list[str] = _,
build_config_values_file: None | str = _,
build_string_source_map: bool = _,
bundle_config_file: None | str = _,
compress_asset_libraries: bool = _,
contacts: list[str] = _,
cpu_filters: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
dex_compression: None | str = _,
dex_group_lib_limit: int = _,
dex_tool: str = _,
disable_pre_dex: bool = _,
duplicate_resource_behavior: str = _,
duplicate_resource_whitelist: None | str = _,
enable_relinker: bool = _,
exopackage_modes: list[str] = _,
extra_filtered_resources: list[str] = _,
extra_no_compress_asset_extensions: list[str] = _,
field_ref_count_buffer_space: int = _,
ignore_aapt_proguard_config: bool = _,
includes_vector_drawables: bool = _,
is_cacheable: bool = _,
is_voltron_language_pack_enabled: bool = _,
keystore: str,
labels: list[str] = _,
licenses: list[str] = _,
linear_alloc_hard_limit: int = _,
locales: list[str] = _,
manifest: None | str = _,
manifest_entries: dict[str, typing.Any] = _,
manifest_skeleton: None | str = _,
method_ref_count_buffer_space: int = _,
min_sdk_version: None | int = _,
minimize_primary_dex_size: bool = _,
module_manifest_skeleton: None | str = _,
native_library_merge_code_generator: None | str = _,
native_library_merge_glue: None | str = _,
native_library_merge_linker_args: None | dict[str, list[str]] = _,
native_library_merge_localized_symbols: None | list[str] = _,
native_library_merge_map: None | dict[str, list[str]] = _,
native_library_merge_sequence: None | list[typing.Any] = _,
native_library_merge_sequence_blocklist: None | list[str] = _,
no_auto_add_overlay_resources: bool = _,
no_auto_version_resources: bool = _,
no_dx: list[str] = _,
no_version_transitions_resources: bool = _,
optimization_passes: int = _,
package_asset_libraries: bool = _,
package_type: str = _,
packaged_locales: list[str] = _,
packaging_options: dict[str, list[str]] = _,
post_filter_resources_cmd: None | str = _,
preprocess_java_classes_bash: None | str = _,
preprocess_java_classes_cmd: None | str = _,
preprocess_java_classes_deps: list[str] = _,
primary_dex_patterns: list[str] = _,
proguard_config: None | str = _,
proguard_jvm_args: list[str] = _,
relinker_whitelist: list[str] = _,
resource_compression: str = _,
resource_filter: list[str] = _,
resource_stable_ids: None | str = _,
resource_union_package: None | str = _,
secondary_dex_weight_limit: None | int = _,
skip_crunch_pngs: None | bool = _,
skip_proguard: bool = _,
trim_resource_ids: bool = _,
use_derived_apk: bool = _,
use_split_dex: bool = _,
validation_deps: list[str] = _,
xz_compression_level: int = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

android_instrumentation_apk

def android_instrumentation_apk(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_dex_toolchain: str = _,
_exec_os_type: str = _,
_is_building_android_binary: bool = _,
_is_force_single_cpu: bool = _,
_is_force_single_default_cpu: bool = _,
_java_toolchain: str = _,
aapt_mode: str = _,
apk: str,
buck2_compatibility: str = _,
contacts: list[str] = _,
cpu_filters: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
dex_tool: str = _,
disable_pre_dex: bool = _,
includes_vector_drawables: bool = _,
is_self_instrumenting: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
manifest: None | str = _,
manifest_skeleton: None | str = _,
min_sdk_version: None | int = _,
native_library_merge_map: None | dict[str, list[str]] = _,
native_library_merge_sequence: None | list[typing.Any] = _,
preprocess_java_classes_bash: None | str = _,
preprocess_java_classes_cmd: None | str = _,
preprocess_java_classes_deps: list[str] = _,
primary_dex_patterns: list[str] = _,
use_split_dex: None | bool = _
) -> None

An android_instrumentation_apk() rule is used to generate an Android Instrumentation APK.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

Details

Android's Testing Fundamentals documentation includes a diagram that shows +the relationship between an "application package" and a "test package" +when running a test. This rule corresponds to a test package. Note +that a test package has an interesting quirk where it is compiled +against an application package, but must not include the +resources or Java classes of the application package. Therefore, this +class takes responsibility for making sure the appropriate bits are +excluded. Failing to do so will generate mysterious runtime errors +when running the test.

Examples:

Here is an example of an android_instrumentation_apk() rule that tests an android_binary(), and depends on a test +package.


android_library(
name = 'test',
srcs = glob(['test/**/*.java']),
)

android_binary(
name = 'messenger',
manifest = 'AndroidManifest.xml',
keystore = '//keystores:prod',
package_type = 'release',
proguard_config = 'proguard.cfg',
deps = [
...
],
)

# Building this rule will produce a file named messenger_test.apk
android_instrumentation_apk(
name = 'messenger_test',
manifest = 'AndroidInstrumentationManifest.xml',
apk = ':messenger',
deps = [
':test',
],
)


android_instrumentation_test

def android_instrumentation_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_exec_os_type: str = _,
_inject_test_env: str = _,
_java_test_toolchain: str = _,
_java_toolchain: str = _,
apk: str,
buck2_compatibility: str = _,
clear_package_data: bool = _,
collect_tombstones: bool = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
disable_animations: bool = _,
env: dict[str, str] = _,
extra_instrumentation_args: None | dict[str, str] = _,
instrumentation_test_listener: None | str = _,
instrumentation_test_listener_class: None | str = _,
is_self_instrumenting: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
log_extractors: dict[str, str] = _,
re_caps: None | dict[str, dict[str, str]] = _,
re_use_case: None | dict[str, str] = _,
record_video: bool = _,
test_rule_timeout_ms: None | int = _
) -> None

An android_instrumentation_test() rule is used to define apks that should be used to run Android instrumentation tests.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • apk: The APK containing the tests. Can be an android_binary(), an apk_genrule() or an android_instrumentation_apk().
  • clear_package_data: Runs pm clear on the app and test packages before the test run if set to True.
  • collect_tombstones: Checks whether the test generated any tombstones, and downloads them from the emulator if true.
  • disable_animations: Disables animations on the emulator if set to True.
  • labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test
  • record_video: Record video of test run and collect it as TRA
  • test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig .

Details

Examples:

Here is an example of an android_instrumentation_test() +rule that tests an android_binary().


android_binary(
name = 'messenger',
manifest = 'AndroidManifest.xml',
keystore = '//keystores:prod',
package_type = 'release',
proguard_config = 'proguard.cfg',
deps = [
...
],
)

android_instrumentation_apk(
name = 'messenger_test',
manifest = 'AndroidInstrumentationManifest.xml',
apk = ':messenger',
deps = [
...
],
)

android_instrumentation_test(
name = 'messenger_instrumentation_test',
apk = ':messenger_test',
)


android_library

def android_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_dex_min_sdk_version: None | int = _,
_dex_toolchain: str = _,
_exec_os_type: str = _,
_is_building_android_binary: bool = _,
_java_toolchain: str = _,
_kotlin_toolchain: str = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
abi_generation_mode: None | str = _,
android_optional_jars: None | list[str] = _,
annotation_processing_tool: None | str = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
extra_kotlinc_arguments: list[str] = _,
friend_paths: list[str] = _,
incremental: bool = _,
jar_postprocessor: None | str = _,
java_version: None | str = _,
javac: None | str = _,
k2: bool = _,
kotlin_compiler_plugins: dict[str, dict[str, str]] = _,
labels: list[str] = _,
language: None | str = _,
licenses: list[str] = _,
manifest: None | str = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
provided_deps_query: None | str = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resource_union_package: None | str = _,
resources: list[str] = _,
resources_root: None | str = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
target: None | str = _,
use_jvm_abi_gen: None | bool = _,
validation_deps: list[str] = _
) -> None

An android_library() rule is used to define a set of Java files that can be compiled together against the Android SDK. The main output of an android_library() rule is a single JAR file containing all of the compiled class files and resources.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • annotation_processing_tool: Specifies the tool to use for annotation processing. Possible values: "kapt" or "javac". "kapt" allows running Java annotation processors against Kotlin sources while backporting it for Java sources too. "javac" works only against Java sources, Kotlin sources won't have access to generated classes at compile time.

  • deps: Rules (usually other android_library rules) that are used to generate the classpath required to compile this android_library.

  • exported_deps: Other rules that depend on this rule will also include its exported_deps in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of prebuilt_jar rules as a single target for callers to depend on. Targets in exported_deps are implicitly included in the deps of this rule, so they don't need to be repeated there.

  • exported_provided_deps: This is a combination of provided_deps and exported_deps. Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target.

  • extra_arguments: List of additional arguments to pass into the Java compiler. These arguments follow the ones specified in .buckconfig.

  • extra_kotlinc_arguments: List of additional arguments to pass into the Kotlin compiler.

  • incremental: Enables Kotlin incremental compilation.

  • k2: Enables the Kotlin K2 compiler.

  • manifest: An optional Android Manifest for the to declare any permissions or intents it may need or want to handle. May either be a file or an android_manifest() target.

  • provided_deps: These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of provided_deps include the JEE servlet APIs. When this rule is included in a , the provided_deps will not be packaged into the output.

  • provided_deps_query: Status: experimental/unstable. The provided deps query functions in the same way as the deps query, but the referenced deps using $declared are the provided deps of the target, and the results of the query are appended to the declared provided deps.

  • remove_classes: List of classes to remove from the output jar. It only removes classes from the target's own sources, not from any of its dependencies.

  • required_for_source_only_abi: Indicates that this rule must be present on the classpath during source-only ABI generation of any rule that depends on it. Typically this is done when a rule contains annotations, enums, constants, or interfaces.

    Having rules present on the classpath during source-only ABI generation prevents Buck from +completely flattening the build graph, thus reducing the performance win from source-only +ABI generation. These rules should be kept small (ideally just containing annotations, +constants, enums, and interfaces) and with minimal dependencies of their own.

  • resources: Static files to include among the compiled .class files. These files can be loaded via Class.getResource().

    Note: Buck uses the src_roots property in +.buckconfig +to help determine where resources should be placed within the generated JAR file.

  • source: Specifies the version of Java (as a string) to interpret source files as. Overrides the value in "source_level" in the "java" section of .buckconfig.

  • source_only_abi_deps: These are dependencies that must be present during source-only ABI generation. Typically such dependencies are added when some property of the code in this rule prevents source-only ABI generation from being correct without these dependencies being present.

    Having source_only_abi_deps prevents Buck from +completely flattening the build graph, thus reducing the performance win from source-only +ABI generation. They should be avoided when possible. Often only a small code change is needed to avoid them. +For more information on such code changes, read about +source-only ABI generation.

  • srcs: The set of .java files to compile for this rule.

  • target: Specifies the version of Java (as a string) for which to generate code. Overrides the value in "target_level" in the "java" section of .buckconfig.

Details

Examples:

An android_library rule used in concert with an +android_resource() rule. +This would be a common arrangement for a standard Android Library project +as defined by +http://developer.android.com/tools/projects/index.html


android_resource(
name = 'res',
res = 'res',
package = 'com.example',
)

android_library(
name = 'my_library',
srcs = glob(['src/**/*.java']),
deps = [
':res',
],
)


android_manifest

def android_manifest(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
skeleton: str
) -> None

An android_manifest() rule is used to generate an Android Manifest to be used by android_binary() and android_aar() rules. This rule takes a skeleton manifest, and merges it with manifests found in any deps.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • deps: A collection of dependencies that includes android_library rules. The manifest files of the android_library() rules will be filtered out to become dependent source files for the manifest.
  • skeleton: Either a build target or a path to a file representing the manifest that will be merged with any manifests associated with this rule's deps.

Details

Examples:

Here's an example of an android_manifest() that has no deps.


android_manifest(
name = 'my-manifest',
skeleton = 'AndroidManifestSkeleton.xml',
)

This is what AndroidManifestSkeleton.xml looks like.


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example"
android:versionCode="1"
android:versionName="1.0">

<uses-sdk targetSdkVersion="19" minSdkVersion="17"/>
<application
android:label="@string/app_name"
android:icon="@drawable/ic_launcher">
<activity
android:name="MyActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>

You could also use a genrule() to generate the manifest file and reference the +build target in the skeleton argument.


android_platform

def android_platform(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
base_platform: str,
buck2_compatibility: str = _,
native_platforms: dict[str, str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

android_prebuilt_aar

def android_prebuilt_aar(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_dex_min_sdk_version: None | int = _,
_dex_toolchain: str = _,
_exec_os_type: str = _,
_java_toolchain: str = _,
aar: str,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
desugar_deps: list[str] = _,
for_primary_apk: bool = _,
javadoc_url: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
maven_coords: None | str = _,
required_for_source_only_abi: bool = _,
source_jar: None | str = _,
use_system_library_loader: bool = _
) -> None

An android_prebuilt_aar() rule takes an .aar file and makes it available as an Android dependency. As expected, an android_binary() that transitively depends on an android_prebuilt_aar() will include its contents in the generated APK.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • aar: Path to the .aar file. This may also be a build target to a rule (such as a genrule()) whose output is an .aar file.
  • javadoc_url: URL to the Javadoc for the .class files in the aar.
  • source_jar: Path to a JAR file that contains the .java files to create the .class in the aar. This is frequently provided for debugging purposes.
  • use_system_library_loader: If this .aar file contains native prebuilt .so libraries and the Java code uses these libraries via a call to System.loadLibrary(), then many optimizations—such as exopackage, compression, or asset packaging—may not be compatible with these prebuilt libs. Setting this parameter to True causes all of these optimizations to skip the prebuilt .so files originating from this .aar file. The .so files will always be packaged directly into the main .apk.

Details

See the official Android documentation for details about the .aar format.

Examples:


android_prebuilt_aar(
name = 'play-services',
aar = 'play-services-4.0.30.aar',
source_jar = 'play-services-4.0.30-sources.jar',
javadoc_url = 'file:///opt/android-sdk/extras/google/google_play_services/docs/reference',
)

android_library(
name = 'lib',
# This Java code can compile against Play services and reference its resources.
srcs = glob(['*.java']),
deps = [ ':play-services' ],
)

android_resource

def android_resource(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
allowlisted_locales: None | list[str] = _,
assets: None | str | dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
has_whitelisted_strings: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
manifest: None | str = _,
package: None | str = _,
project_assets: None | str = _,
project_res: None | str = _,
res: None | str | dict[str, str] = _,
resource_union: bool = _
) -> None

An android_resource() rule is used to bundle Android resources that are traditionally stored in res and assets directories.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • deps: Other android_resource rules to include via -S when running aapt.
  • manifest: An optional Android Manifest for the to declare any permissions or intents it may need or want to handle. May either be a file or an android_manifest() target.
  • package: Java package for the R.java file that will be generated for these resources.

Details

The output of an android_resource() is an R.txt file +generated via aapt --output-text-symbols.

Examples:

Most of the time, an android_resource rule defines only name, res, and package. By convention, +such simple rules are often named res:


android_resource(
name = 'res',
res = subdir_glob([('res', '**')]),
package = 'com.example',
)


apk_genrule

def apk_genrule(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_exec_os_type: str = _,
_genrule_toolchain: str = _,
_java_toolchain: str = _,
aab: None | str = _,
always_print_stderr: bool = _,
apk: None | str = _,
bash: None | str = _,
buck2_compatibility: str = _,
cacheable: None | bool = _,
cmd: None | str = _,
cmd_exe: None | str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
default_outs: None | list[str] = _,
enable_sandbox: None | bool = _,
environment_expansion_separator: None | str = _,
is_cacheable: bool = _,
keystore: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
metadata_env_var: None | str = _,
metadata_path: None | str = _,
need_android_tools: bool = _,
no_outputs_cleanup: bool = _,
out: None | str = _,
outs: None | dict[str, list[str]] = _,
remote: None | bool = _,
remote_execution_dependencies: list[dict[str, str]] = _,
srcs: list[str] | dict[str, str] = _,
type: str = _,
use_derived_apk: bool = _,
weight: None | int = _
) -> None

An apk_genrule() rule is used to post-process an APK. What separates an apk_genrule from a genrule is apk_genrules are known by BUCK to produce APKs, so commands like buck install or buck uninstall still work. Additionally, apk_genrule() rules can be inputs to other apk_genrule() rules.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • aab: The input android_binary() rule. The path to the AAB can be accessed with the $AAB shell variable. Only one of apk or aab can be provided.

  • apk: The input android_binary() rule. The path to the APK can be accessed with the $APK shell variable. Only one of apk or aab can be provided.

  • bash: A platform-specific version of the shell command parameter cmd. It runs on Linux and UNIX systems—including OSX—on which bash is installed. It has a higher priority than cmd. The bash argument is run with /usr/bin/env bash -c. It has access to the same set of macros and variables as the cmd argument.

  • cmd: The shell command to run to generate the output file. It is the fallback for bash and cmd_exe arguments. The following environment variables are populated by Buck and available to the shell command. They are accessed using the syntax:

    ${<variable>}

    Example:

    ${SRCS}

    ${SRCS}

    A string expansion of the srcs argument delimited +by the environment_expansion_separator argument +where each element of srcs will be translated +into a relative path.

    ${SRCDIR}

    The relative path to a directory to which sources are copied +prior to running the command.

    ${OUT}

    The output file or directory for the genrule(). +This variable will have whatever value is specified by +the out argument if not using named outputs. If +using named outputs, this variable will be the output directory.

    The value should be a valid filepath. The semantics of the shell +command determine whether this filepath is treated as a file or a +directory. If the filepath is a directory, then the shell command +needs to create it if not using named outputs. Otherwise, it will +be automatically created. All outputs (directories and files) must +be readable, writable, and (in the case of directories) executable +by the current user.

    The file or directory specified by this variable must always +be written by this command. If not, the execution of this +rule will be considered a failure, halting the build process.

    ${TMP}

    A temporary directory which can be used for intermediate +results and will not be bundled into the output.

  • cmd_exe: A platform-specific version of the shell command parameter cmd. It runs on Windows and has a higher priority than cmd. The cmd_exe argument is run with cmd.exe /v:off /c. It has access to the same set of macros and variables as the cmd argument.

  • environment_expansion_separator: The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces.

  • out: The name of the output file or directory. The complete path to this argument is provided to the shell command through the OUT environment variable. Only one of out or outs may be present.

    For an apk_genrule the output should be a '.apk' or '.aab' file.

  • srcs: Either a list or a map of the source files which Buck makes available to the shell command at the path in the SRCDIR environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names.

  • weight: How many local slots these genrule should take when executing locally.

Details

Examples:

Here is an example of a couple apk_genrule() open up an APK, do +some super signing, and then zipalign that APK again.



# Building this rule will produce a file named messenger.apk.
android_binary(
name = 'messenger',
manifest = 'AndroidManifest.xml',
target = 'Google Inc.:Google APIs:16',
keystore = '//keystores:prod',
package_type = 'release',
proguard_config = 'proguard.cfg',
deps = [
':res',
':src',
],
)

apk_genrule(
name = 'messenger_super_sign_unalign',
apk = ':messenger',
bash = '$(exe //java/com/facebook/sign:super_sign) --input $APK --output $OUT',
cmd_exe = '$(exe //java/com/facebook/sign:super_sign) --input %APK% --output %OUT%',
out = 'messenger_super_sign_unalign.apk',
)

apk_genrule(
name = 'messenger_super_sign',
apk = ':messenger_super_sign_unalign',
bash = '$ANDROID_HOME/tools/zipalign -f 4 $APK $OUT',
cmd_exe = '%ANDROID_HOME%\tools\zipalign -f 4 %APK% %OUT%',
out = 'messenger_super_sign.apk',
)



apple_asset_catalog

def apple_asset_catalog(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
app_icon: None | str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
dirs: list[str] = _,
labels: list[str] = _,
launch_image: None | str = _,
licenses: list[str] = _,
skip_universal_resource_dedupe: bool = _
) -> None

An apple_asset_catalog() rule contains resources stored in Apple asset catalog directories. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an apple_bundle() rule, in which case all apple_asset_catalog() rules that the bundle rule depends on are merged and placed into the final output bundle together.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • app_icon: An optional reference to a .appiconset containing a image set representing an application icon. (The extension itself should not be included.) This parameter may be specified at most once in a given apple_bundle's transitive dependencies.
  • launch_image: An optional reference to a .launchimage containing a image set representing an application launch image. (The extension itself should not be included.) This parameter may be specified at most once in a given apple_bundle's transitive dependencies.

Details

Examples:


apple_asset_catalog(
name = 'MyAssetCatalog',
dirs = [
'MyResources.xcassets',
],
)

# A asset catalog with a app icon and launch image
apple_asset_catalog(
name = 'AssetCatalog',
dirs = [ 'AssetCatalog.xcassets' ],
app_icon = 'Icon',
launch_image = 'LaunchImage',
)


apple_binary

def apple_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_apple_toolchain: str = _,
_apple_tools: str = _,
_apple_xctoolchain: str = _,
_apple_xctoolchain_bundle_id: str = _,
_dsymutil_extra_flags: list[str],
_enable_library_evolution: bool = _,
_stripped_default: bool = _,
allow_cache_upload: None | bool = _,
attrs_validators: dict[str, (list[str], str)] = _,
binary_linker_flags: list[str] = _,
bridging_header: None | str = _,
buck2_compatibility: str = _,
can_be_asset: None | bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
cxx_runtime_type: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
devirt_enabled: bool = _,
diagnostics: dict[str, str] = _,
enable_cxx_interop: bool = _,
enable_distributed_thinlto: bool = _,
enable_library_evolution: None | bool = _,
entitlements_file: None | str = _,
executable_name: None | str = _,
exported_deps: list[str] = _,
exported_header_style: str = _,
exported_headers: list[str] | dict[str, str] = _,
exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
exported_lang_preprocessor_flags: dict[str, list[str]] = _,
exported_linker_flags: list[str] = _,
exported_platform_deps: list[(str, list[str])] = _,
exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,
exported_platform_linker_flags: list[(str, list[str])] = _,
exported_platform_preprocessor_flags: list[(str, list[str])] = _,
exported_post_linker_flags: list[str] = _,
exported_post_platform_linker_flags: list[(str, list[str])] = _,
exported_preprocessor_flags: list[str] = _,
extra_xcode_files: list[str] = _,
extra_xcode_sources: list[str] = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
force_static: None | bool = _,
frameworks: list[str] = _,
header_namespace: None | str = _,
header_path_prefix: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
import_obj_c_forward_declarations: bool = _,
include_directories: list[str] = _,
info_plist: None | str = _,
info_plist_substitutions: dict[str, str] = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_execution_preference: None | str = _,
link_group: None | str = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_group_public_deps_label: None | str = _,
link_ordering: None | str = _,
link_style: None | str = _,
link_whole: None | bool = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
modular: bool = _,
module_name: None | str = _,
module_requires_cxx: bool = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
prefer_stripped_objects: bool = _,
preferred_linkage: str = _,
prefix_header: None | str = _,
preprocessor_flags: list[str] = _,
propagated_target_sdk_version: None | str = _,
public_include_directories: list[str] = _,
public_system_include_directories: list[str] = _,
raw_headers: list[str] = _,
reexport_all_header_dependencies: None | bool = _,
sanitizer_runtime_enabled: None | bool = _,
sdk_modules: list[str] = _,
serialize_debugging_options: bool = _,
soname: None | str = _,
srcs: list[str | (str, list[str])] = _,
static_library_basename: None | str = _,
stripped: None | bool = _,
supported_platforms_regex: None | str = _,
supports_merged_linking: None | bool = _,
swift_compilation_mode: str = _,
swift_compiler_flags: list[str] = _,
swift_package_name: None | str = _,
swift_version: None | str = _,
target_sdk_version: None | str = _,
thin_lto: bool = _,
use_submodules: bool = _,
uses_cxx_explicit_modules: bool = _,
uses_explicit_modules: bool = _,
uses_modules: bool = _,
validation_deps: list[str] = _
) -> None

An apple_binary() rule builds a native executable - such as an iOS or OSX app - from the supplied set of Objective-C/C++ source files and dependencies. It is similar to a cxx_binary() rule with which it shares many attributes. In addition to those common attributes, apple_binary() has a some additional attributes that are specific to binaries intended to be built using the Apple toolchain. Note, however, that apple_binary() and cxx_binary() differ in the way that they import header files, in order to better accommodate existing conventions. See the sections for the headers and exported_headers attributes for more details.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).

  • compiler_flags: Flags to use when compiling any of the above sources (which require compilation).

  • entitlements_file: An optional name of a plist file to be embedded in the binary. Some platforms like iphonesimulator require this to run properly.

  • exported_headers: The set of header files that are made available for inclusion to the source files in this target and all targets that transitively depend on this one. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or, if a header file that belongs to the same rule is being imported, with #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets.

  • exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.

  • extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources".

  • frameworks: A list of system frameworks that the code in this target uses. Each entry should be a path starting with $SDKROOT or $PLATFORM_DIR to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory.

  • header_path_prefix: A path prefix when including headers of this target. For example, headers from a library defined using

    apple_library(
    name = "Library",
    headers = glob(["**/*.h"]),
    header_path_prefix = "Lib",
    )

    can be imported using following mapping

    Library/SubDir/Header1.h -> Lib/Header1.h
    Library/Header2.h -> Lib/Header2.h

    Defaults to the short name of the target. Can contain forward slashes (/), but +cannot start with one. See headers for more information.

  • headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets.

  • link_execution_preference: The execution preference for linking. Options are:

    • any : No preference is set, and the link action will be performed based on buck2's executor configuration.
    • full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if +the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.
    • local : The link action will execute locally if compatible on current host platform.
    • local_only : The link action will execute locally, and error if the current platform is not compatible.
    • remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.

    The default is None, expressing that no preference has been set on the target itself.

  • link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.

  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.

  • linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.

  • linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.

  • platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.

  • platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.

  • platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.

  • preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).

  • srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).

  • target_sdk_version: The minimum OS version that the library target should support, overriding the minimum set in .buckconfig. When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks.

Details

Buck enables you to override components of the Apple toolchain with +alternate tools, either from the Xcode search paths or from directories +that you specify. +See .buckconfig +and .buckconfig +for more information.

Examples:


apple_binary(
name = 'MyBinary',
deps = [
':MyLibrary',
'//Libraries:AnotherLibrary',
],
preprocessor_flags = ['-fobjc-arc'],
headers = [
'MyHeader.h',
],
srcs = [
'MySource.m',
],
frameworks = [
'$SDKROOT/System/Library/Frameworks/UIKit.framework',
'$SDKROOT/System/Library/Frameworks/Foundation.framework',
],
)


apple_bundle

def apple_bundle(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_apple_toolchain: str = _,
_apple_tools: str = _,
_apple_xctoolchain: str = _,
_apple_xctoolchain_bundle_id: str = _,
_bundling_cache_buster: None | str = _,
_bundling_log_file_enabled: bool = _,
_bundling_log_file_level: None | str = _,
_code_signing_configuration: None | str = _,
_codesign_entitlements: None | str = _,
_codesign_identities_command_override: None | str = _,
_codesign_type: None | str = _,
_compile_resources_locally_override: None | bool = _,
_dsymutil_extra_flags: list[str],
_embed_provisioning_profile_when_adhoc_code_signing: None | bool = _,
_fast_adhoc_signing_enabled_default: bool = _,
_fast_provisioning_profile_parsing_enabled: bool = _,
_incremental_bundling_enabled: bool = _,
_info_plist_identify_build_system_default: bool = _,
_profile_bundling_enabled: bool = _,
_provisioning_profiles: str = _,
_resource_bundle: None | str = _,
_strict_provisioning_profile_search_default: bool = _,
_use_entitlements_when_adhoc_code_signing: None | bool = _,
asset_catalogs_compilation_options: dict[str, typing.Any] = _,
binary: None | str = _,
buck2_compatibility: str = _,
bundle_type: None | str = _,
codesign_flags: list[str] = _,
codesign_identity: None | str = _,
codesign_type: None | str = _,
contacts: list[str] = _,
copy_public_framework_headers: None | bool = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
deps: list[str] = _,
embed_provisioning_profile_when_adhoc_code_signing: bool = _,
extension: str,
fast_adhoc_signing_enabled: None | bool = _,
ibtool_flags: None | list[str] = _,
ibtool_module_flag: None | bool = _,
incremental_bundling_enabled: None | bool = _,
info_plist: str,
info_plist_identify_build_system: None | bool = _,
info_plist_substitutions: dict[str, str] = _,
labels: list[str] = _,
licenses: list[str] = _,
module_map: None | str = _,
platform_binary: None | list[(str, str)] = _,
privacy_manifest: None | str = _,
product_name: None | str = _,
propagated_target_sdk_version: None | str = _,
provisioning_profile_filter: None | str = _,
resource_group: None | str = _,
resource_group_map: None | str = _,
selective_debugging: None | str = _,
skip_copying_swift_stdlib: None | bool = _,
split_arch_dsym: bool = _,
strict_provisioning_profile_search: None | bool = _,
try_skip_code_signing: None | bool = _,
universal: None | bool = _,
use_entitlements_when_adhoc_code_signing: bool = _,
validation_deps: list[str] = _,
versioned_macos_bundle: bool = _,
xcode_product_type: None | str = _
) -> None

An apple_bundle() rule takes an Apple binary and all of the resources and asset catalogs in the rule's transitive dependencies and generates a bundle containing all of those files. Optionally the generated bundle can also be signed using specified provisioning profiles.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • asset_catalogs_compilation_options: A dict holding parameters for asset catalogs compiler (actool). Its options include:

    • notices (defaults to True)
    • warnings (defaults to True)
    • errors (defaults to True)
    • compress_pngs (defaults to True)
    • optimization (defaults to 'space')
    • output_format (defaults to 'human-readable-text')
    • extra_flags (defaults to [])
  • deps: A list of dependencies of this bundle as build targets. You can embed application extensions by specifying the extension's bundle target. To include a WatchKit app, append the flavor #watch to the target specification. Buck will automatically substitute the appropriate platform flavor (either watchsimulator or watchos) based on the parent.

  • extension: The extension of the generated bundle. For example 'app' for an application bundle or 'appex' for an application extension bundle.

  • ibtool_flags: List of flags to be passed to ibtool during interface builder file compilation.

  • info_plist: A path to an Info.plist file that will be placed in the bundle. The specified file will be processed by substituting variable names with their values (see info_plist_substitutions for more information).

  • info_plist_substitutions: A dictionary that assigns variable names to their values. It is used for variable substitution when processing the file specified in info_plist. For example if this argument is set to {'VAR': 'MyValue'}, then each occurrence of $(VAR) or ${VAR} in the file will be replaced by MyValue.

  • privacy_manifest: A path to an .xcprivacy file that will be placed in the bundle.

  • product_name: The name of the resulting bundle and binary. The setting behaves like PRODUCT_NAME Xcode build setting. For example, if your rule is named "MyApp" and extension is "app", by default buck will generate MyApp.app bundle. But if you will set product name to "SuperApp", bundle will get "SuperApp.app" name.

Details

Code signing will embed entitlements pointed to by the entitlements_file arg in +the bundle's apple_binary. This is the preferred way to specify entitlements +when building with Buck.

If the entitlements file is not present, it falls back to the CODE_SIGN_ENTITLEMENTS entry in +info_plist_substitutions.

If after these checks, an entitlements file is still not specified, it will be derived based +on the entitlements of the selected provisioning profile. Provisioning profiles will be selected +from profiles pointed to by apple.provisioning_profile_search_path, based on a +non-expired profile that matches the bundle id and entitlements.

Code signing will embed entitlements pointed to by the CODE_SIGN_ENTITLEMENTS entry in +info_plist_substitutions. If an entitlements file is omitted, it will be derived based +on the entitlements of the selected provisioning profile. Provisioning profiles will be selected +from profiles pointed to by apple.provisioning_profile_search_path, based on a +non-expired profile that matches the bundle id and entitlements.

Examples:


apple_bundle(
name = 'AppBundle',
binary = ':MyBinary',
extension = 'app',
info_plist = 'Info.plist',
)


# iOS app with embedded WatchOS 2.0 app/extension
apple_bundle(
name = 'DemoWatchAppExtension',
binary = ':DemoWatchAppExtensionBinary',
extension = 'appex',
info_plist = 'WatchExtension/Resources/Info.plist',
)

apple_bundle(
name = 'DemoWatchApp',
binary = ':DemoWatchAppBinary',
deps = [':DemoWatchAppResources', ':DemoWatchAppExtension'],
extension = 'app',
info_plist = 'WatchApplication/Info.plist',
)

apple_bundle(
name = 'DemoApp',
binary = ':DemoAppBinary',
deps = [':DemoWatchApp#watch'],
extension = 'app',
info_plist = 'Info.plist',
)


# iOS app using safeAreaInsets delivering to iOS 9.x
apple_bundle(
name = 'DemoIBApp',
binary = ':DemoIBAppBinary',
deps = [':DemoIBAppResources'],
extension = 'app',
ibtool_flags = ["--minimum-deployment-target", "9.0"],
info_plist = 'Info.plist',
)


apple_library

def apple_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_apple_toolchain: str = _,
_apple_tools: str = _,
_apple_xctoolchain: str = _,
_apple_xctoolchain_bundle_id: str = _,
_archive_objects_locally_override: None | bool = _,
_dsymutil_extra_flags: list[str],
_enable_library_evolution: bool = _,
_stripped_default: bool = _,
allow_cache_upload: None | bool = _,
attrs_validators: dict[str, (list[str], str)] = _,
bridging_header: None | str = _,
buck2_compatibility: str = _,
can_be_asset: None | bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
cxx_runtime_type: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
devirt_enabled: bool = _,
diagnostics: dict[str, str] = _,
enable_cxx_interop: bool = _,
enable_distributed_thinlto: bool = _,
enable_library_evolution: None | bool = _,
executable_name: None | str = _,
exported_deps: list[str] = _,
exported_header_style: str = _,
exported_headers: list[str] | dict[str, str] = _,
exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
exported_lang_preprocessor_flags: dict[str, list[str]] = _,
exported_linker_flags: list[str] = _,
exported_platform_deps: list[(str, list[str])] = _,
exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,
exported_platform_linker_flags: list[(str, list[str])] = _,
exported_platform_preprocessor_flags: list[(str, list[str])] = _,
exported_post_linker_flags: list[str] = _,
exported_post_platform_linker_flags: list[(str, list[str])] = _,
exported_preprocessor_flags: list[str] = _,
extra_xcode_files: list[str] = _,
extra_xcode_sources: list[str] = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
force_static: None | bool = _,
frameworks: list[str] = _,
header_mode: None | str = _,
header_namespace: None | str = _,
header_path_prefix: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
import_obj_c_forward_declarations: bool = _,
include_directories: list[str] = _,
info_plist: None | str = _,
info_plist_substitutions: dict[str, str] = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_execution_preference: None | str = _,
link_group: None | str = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_ordering: None | str = _,
link_style: None | str = _,
link_whole: None | bool = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
modular: bool = _,
module_name: None | str = _,
module_requires_cxx: bool = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
preferred_linkage: str = _,
prefix_header: None | str = _,
preprocessor_flags: list[str] = _,
propagated_target_sdk_version: None | str = _,
public_framework_headers: list[str] | dict[str, str] = _,
public_include_directories: list[str] = _,
public_system_include_directories: list[str] = _,
raw_headers: list[str] = _,
reexport_all_header_dependencies: None | bool = _,
sdk_modules: list[str] = _,
serialize_debugging_options: bool = _,
shared_library_macho_file_type: str = _,
soname: None | str = _,
srcs: list[str | (str, list[str])] = _,
static_library_basename: None | str = _,
stripped: None | bool = _,
supported_platforms_regex: None | str = _,
supports_header_symlink_subtarget: bool = _,
supports_merged_linking: None | bool = _,
supports_shlib_interfaces: bool = _,
swift_compilation_mode: str = _,
swift_compiler_flags: list[str] = _,
swift_package_name: None | str = _,
swift_version: None | str = _,
target_sdk_version: None | str = _,
thin_lto: bool = _,
use_archive: None | bool = _,
use_submodules: bool = _,
uses_cxx_explicit_modules: bool = _,
uses_explicit_modules: bool = _,
uses_modules: bool = _,
validation_deps: list[str] = _
) -> None

An apple_library() rule represents a set of Objective-C/C++/Swift source files and is similar to a cxx_library() rule with which it shares many attributes. In addition to those common attributes, apple_library() has a some additional attributes that are specific to binaries intended to be built using the Apple toolchain. Note, however, that apple_library() and cxx_library() differ in the way that they import header files, in order to better accommodate existing conventions. See the sections for the headers and exported_headers attributes for more details.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).

  • compiler_flags: Flags to use when compiling any of the above sources (which require compilation).

  • exported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported.

  • exported_headers: The set of header files that are made available for inclusion to the source files in this target and all targets that transitively depend on this one. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or, if a header file that belongs to the same rule is being imported, with #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets.

  • exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.

  • exported_platform_linker_flags: Platform-specific linker flags for this rule and for all rules that transitively depend on this rule. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.

  • extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources".

  • frameworks: A list of system frameworks that the code in this target uses. Each entry should be a path starting with $SDKROOT or $PLATFORM_DIR to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory.

  • header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.

  • header_path_prefix: A path prefix when including headers of this target. For example, headers from a library defined using

    apple_library(
    name = "Library",
    headers = glob(["**/*.h"]),
    header_path_prefix = "Lib",
    )

    can be imported using following mapping

    Library/SubDir/Header1.h -> Lib/Header1.h
    Library/Header2.h -> Lib/Header2.h

    Defaults to the short name of the target. Can contain forward slashes (/), but +cannot start with one. See headers for more information.

  • headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets.

  • link_execution_preference: The execution preference for linking. Options are:

    • any : No preference is set, and the link action will be performed based on buck2's executor configuration.
    • full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if +the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.
    • local : The link action will execute locally if compatible on current host platform.
    • local_only : The link action will execute locally, and error if the current platform is not compatible.
    • remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.

    The default is None, expressing that no preference has been set on the target itself.

  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.

  • linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.

  • linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.

  • platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.

  • platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.

  • preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).

  • reexport_all_header_dependencies: Whether to automatically re-export the exported headers of all dependencies.

    When this is set to false, only exported headers from +exported_deps are re-exported.

  • srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).

  • target_sdk_version: The minimum OS version that the library target should support, overriding the minimum set in .buckconfig. When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks.

Details

Buck enables you to override components of the Apple toolchain with +alternate tools, either from the Xcode search paths or from directories +that you specify. +See .buckconfig +and .buckconfig +for more information.

Examples:


apple_library(
name = 'MyLibrary',
deps = [
':OtherLibrary',
'//Libraries:YetAnotherLibrary',
],
preprocessor_flags = ['-fobjc-arc'],
headers = [
'MyHeader.h',
],
srcs = [
'MySource.m',
'MySource.swift',
],
frameworks = [
'$SDKROOT/System/Library/Frameworks/UIKit.framework',
'$SDKROOT/System/Library/Frameworks/Foundation.framework',
],
)


apple_package

def apple_package(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_apple_tools: str = _,
_ipa_compression_level: str,
_ipa_package: str,
buck2_compatibility: str = _,
bundle: str,
contacts: list[str] = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
ext: str = _,
labels: list[str] = _,
licenses: list[str] = _,
need_android_tools: bool = _,
package_name: None | str = _,
packager: None | str = _,
packager_args: list[str] = _,
prepackaged_validators: list[str | (str, list[str])] = _
) -> None

An apple_package() rule takes the output of an apple_bundle() rule and compresses it in an IPA (iOS App Store Package) file.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

Details

This rule can be customized using the config options .buckconfig +and .buckconfig +.

Examples:


apple_package(
name = 'AppPackage',
bundle = ':AppBundle',
)


apple_resource

def apple_resource(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
codesign_entitlements: None | str = _,
codesign_flags_override: None | list[str] = _,
codesign_on_copy: bool = _,
contacts: list[str] = _,
content_dirs: list[str] = _,
default_host_platform: None | str = _,
destination: None | str = _,
dirs: list[str] = _,
files: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
named_variants: dict[str, list[str]] = _,
resources_from_deps: list[str] = _,
skip_universal_resource_dedupe: bool = _,
variants: list[str] = _
) -> None

An apple_resource() rule contains sets of resource directories, files and file variants that can be bundled in an application bundle. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an apple_bundle() rule.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • destination: Specifies the destination in the final application bundle where resource will be copied. Possible values: "resources", "frameworks", "executables", "plugins", "xpcservices".

  • named_variants: Mapping from a variant name to the list of resource file paths which should be placed in an application bundle. Those files will be placed in a directory with name equal to the corresponding key in this mapping. Keys should end with .lproj suffix. (e.g. Base.lproj, en.lproj).

  • resources_from_deps: Set of build targets whose transitive apple_resources should be considered as part of the current resource when collecting resources for bundles.

    Usually, an apple_bundle collects all apple_resource rules transitively +reachable through apple_library rules. This field allows for resources which are not reachable +using the above traversal strategy to be considered for inclusion in the bundle.

  • variants: Set of paths of resource file variants that should be placed in an application bundle. The files mentioned here should be placed in a directory named $VARIANT_NAME.lproj, where $VARIANT_NAME is the name of the variant (e.g. Base, en). This argument makes it possible to use different resource files based on the active locale.

Details

Examples:


apple_resource(
name = 'Images',
files = glob([
'*.png',
]),
dirs = [
'PrettyImages',
],
)


apple_test

def apple_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_apple_toolchain: str = _,
_apple_tools: str = _,
_apple_xctoolchain: str = _,
_apple_xctoolchain_bundle_id: str = _,
_bundling_cache_buster: None | str = _,
_bundling_log_file_enabled: bool = _,
_bundling_log_file_level: None | str = _,
_code_signing_configuration: None | str = _,
_codesign_identities_command_override: None | str = _,
_codesign_type: None | str = _,
_compile_resources_locally_override: None | bool = _,
_dsymutil_extra_flags: list[str],
_embed_provisioning_profile_when_adhoc_code_signing: None | bool = _,
_enable_library_evolution: bool = _,
_fast_adhoc_signing_enabled_default: bool = _,
_fast_provisioning_profile_parsing_enabled: bool = _,
_incremental_bundling_enabled: bool = _,
_info_plist_identify_build_system_default: bool = _,
_inject_test_env: str = _,
_ios_booted_simulator: str = _,
_ios_unbooted_simulator: str = _,
_macos_idb_companion: str = _,
_profile_bundling_enabled: bool = _,
_provisioning_profiles: str = _,
_resource_bundle: None | str = _,
_strict_provisioning_profile_search_default: bool = _,
_use_entitlements_when_adhoc_code_signing: None | bool = _,
allow_cache_upload: None | bool = _,
asset_catalogs_compilation_options: dict[str, typing.Any] = _,
attrs_validators: dict[str, (list[str], str)] = _,
binary: None | str = _,
bridging_header: None | str = _,
buck2_compatibility: str = _,
can_be_asset: None | bool = _,
codesign_flags: list[str] = _,
codesign_identity: None | str = _,
codesign_type: None | str = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
cxx_runtime_type: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
destination_specifier: dict[str, str] = _,
devirt_enabled: bool = _,
diagnostics: dict[str, str] = _,
embed_provisioning_profile_when_adhoc_code_signing: bool = _,
enable_cxx_interop: bool = _,
enable_library_evolution: None | bool = _,
entitlements_file: None | str = _,
env: None | dict[str, str] = _,
executable_name: None | str = _,
exported_deps: list[str] = _,
exported_header_style: str = _,
exported_headers: list[str] | dict[str, str] = _,
exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
exported_lang_preprocessor_flags: dict[str, list[str]] = _,
exported_linker_flags: list[str] = _,
exported_platform_deps: list[(str, list[str])] = _,
exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,
exported_platform_linker_flags: list[(str, list[str])] = _,
exported_platform_preprocessor_flags: list[(str, list[str])] = _,
exported_post_linker_flags: list[str] = _,
exported_post_platform_linker_flags: list[(str, list[str])] = _,
exported_preprocessor_flags: list[str] = _,
extension: str,
extra_xcode_files: list[str] = _,
extra_xcode_sources: list[str] = _,
fast_adhoc_signing_enabled: None | bool = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
force_static: None | bool = _,
frameworks: list[str] = _,
header_namespace: None | str = _,
header_path_prefix: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
import_obj_c_forward_declarations: bool = _,
include_directories: list[str] = _,
incremental_bundling_enabled: None | bool = _,
info_plist: str,
info_plist_identify_build_system: None | bool = _,
info_plist_substitutions: dict[str, str] = _,
is_ui_test: bool = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_execution_preference: None | str = _,
link_group: None | str = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_ordering: None | str = _,
link_style: str = _,
link_whole: None | bool = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
modular: bool = _,
module_name: None | str = _,
module_requires_cxx: bool = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
preferred_linkage: str = _,
prefix_header: None | str = _,
preprocessor_flags: list[str] = _,
propagated_target_sdk_version: None | str = _,
provisioning_profile_filter: None | str = _,
public_include_directories: list[str] = _,
public_system_include_directories: list[str] = _,
raw_headers: list[str] = _,
reexport_all_header_dependencies: None | bool = _,
resource_group: None | str = _,
resource_group_map: None | str = _,
run_test_separately: bool = _,
runner: None | str = _,
sanitizer_runtime_enabled: None | bool = _,
sdk_modules: list[str] = _,
serialize_debugging_options: bool = _,
skip_copying_swift_stdlib: None | bool = _,
snapshot_reference_images_path: None | str = _,
soname: None | str = _,
specs: None | str = _,
srcs: list[str | (str, list[str])] = _,
static_library_basename: None | str = _,
strict_provisioning_profile_search: None | bool = _,
stripped: bool = _,
supported_platforms_regex: None | str = _,
supports_merged_linking: None | bool = _,
swift_compilation_mode: str = _,
swift_compiler_flags: list[str] = _,
swift_package_name: None | str = _,
swift_version: None | str = _,
target_sdk_version: None | str = _,
test_host_app: None | str = _,
test_re_capabilities: None | dict[str, str] = _,
test_re_use_case: None | str = _,
test_rule_timeout_ms: None | int = _,
thin_lto: bool = _,
try_skip_code_signing: None | bool = _,
ui_test_target_app: None | str = _,
use_entitlements_when_adhoc_code_signing: bool = _,
use_submodules: bool = _,
uses_cxx_explicit_modules: bool = _,
uses_explicit_modules: bool = _,
uses_modules: bool = _,
validation_deps: list[str] = _,
versioned_macos_bundle: bool = _,
xcode_product_type: None | str = _
) -> None

An apple_test() rule contains Objective-C/C++ code which can be built and used to test code contained in other rules. The tests can be executed by running buck test.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).

  • compiler_flags: Flags to use when compiling any of the above sources (which require compilation).

  • extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources".

  • frameworks: A list of system frameworks that the code in this target uses. Each entry should be a path starting with $SDKROOT or $PLATFORM_DIR to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory.

  • header_path_prefix: A path prefix when including headers of this target. For example, headers from a library defined using

    apple_library(
    name = "Library",
    headers = glob(["**/*.h"]),
    header_path_prefix = "Lib",
    )

    can be imported using following mapping

    Library/SubDir/Header1.h -> Lib/Header1.h
    Library/Header2.h -> Lib/Header2.h

    Defaults to the short name of the target. Can contain forward slashes (/), but +cannot start with one. See headers for more information.

  • headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets.

  • info_plist: A path to an Info.plist file that will be placed in the bundle. The specified file will be processed by substituting variable names with their values (see info_plist_substitutions for more information).

  • info_plist_substitutions: A dictionary that assigns variable names to their values. It is used for variable substitution when processing the file specified in info_plist. For example if this argument is set to {'VAR': 'MyValue'}, then each occurrence of $(VAR) or ${VAR} in the file will be replaced by MyValue.

  • labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test

  • link_execution_preference: The execution preference for linking. Options are:

    • any : No preference is set, and the link action will be performed based on buck2's executor configuration.
    • full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if +the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.
    • local : The link action will execute locally if compatible on current host platform.
    • local_only : The link action will execute locally, and error if the current platform is not compatible.
    • remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.

    The default is None, expressing that no preference has been set on the target itself.

  • linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.

  • platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.

  • platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.

  • preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).

  • srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).

  • target_sdk_version: The minimum OS version that the library target should support, overriding the minimum set in .buckconfig. When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks.

  • test_host_app: A build target identifying an apple_bundle() rule that builds an application bundle. Output of the specified rule will be used as a test host of this test. This implies run_test_separately. Since symbols that are defined in the test host application and its dependencies will not be linked into the test binary, to make those symbols accessible to the test target they need to be specified as a dependency of this target and ['-undefined', 'dynamic_lookup'] needs to be added to this target's linker_flags (this will suppress undefined reference errors during compilation, but if the symbols do not exist, it might result in runtime crashes).

  • test_re_capabilities: An optional dictionary with the RE capabilities for the test execution. Overrides a default selection mechanism.

  • test_re_use_case: An optional name of the RE use case for the test execution. Overrides a default selection mechanism.

Details

Examples:


apple_test(
name = 'MyTest',
info_plist = 'MyTest-Info.plist',
preprocessor_flags = ['-fobjc-arc'],
srcs = [
'MyTest.m',
],
deps = [
':MyLibrary',
],
frameworks = [
'$SDKROOT/System/Library/Frameworks/Foundation.framework',
'$SDKROOT/System/Library/Frameworks/UIKit.framework',
'$PLATFORM_DIR/Developer/Library/Frameworks/XCTest.framework',
],
)


apple_toolchain

def apple_toolchain(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_internal_platform_path: None | str = _,
_internal_sdk_path: None | str = _,
actool: str,
architecture: str = _,
buck2_compatibility: str = _,
build_version: None | str = _,
codesign: str,
codesign_allocate: str,
codesign_identities_command: None | str = _,
compile_resources_locally: bool = _,
contacts: list[str] = _,
copy_scene_kit_assets: str,
cxx_toolchain: str,
default_host_platform: None | str = _,
developer_path: None | str = _,
dsymutil: str,
dwarfdump: None | str = _,
extra_linker_outputs: list[str] = _,
ibtool: str,
installer: str = _,
labels: list[str] = _,
libtool: str,
licenses: list[str] = _,
lipo: str,
mapc: None | str = _,
min_version: str = _,
momc: str,
objdump: None | str = _,
placeholder_tool: None | str = _,
platform_path: None | str = _,
requires_xcode_version_match: bool = _,
sdk_environment: None | str = _,
sdk_name: str = _,
sdk_path: None | str = _,
swift_toolchain: None | str = _,
version: None | str = _,
watch_kit_stub_binary: None | str = _,
work_around_dsymutil_lto_stack_overflow_bug: None | bool = _,
xcode_build_version: None | str = _,
xcode_version: None | str = _,
xctest: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

apple_toolchain_set

def apple_toolchain_set(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
apple_toolchains: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

apple_universal_executable

def apple_universal_executable(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_apple_toolchain: str = _,
_apple_tools: str = _,
_dsymutil_extra_flags: list[str],
buck2_compatibility: str = _,
executable: str,
executable_name: None | str = _,
labels: list[str] = _,
split_arch_dsym: bool = _,
universal: None | bool = _
) -> None

An apple_universal_executable() rule takes a target via its binary attribute, builds it for multiple architectures and combines the result into a single binary using lipo.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • executable: A build target identifying the binary which will be built for multiple architectures. The target will be transitioned into different configurations, with distinct architectures.

    The target can be one of:

    • apple_binary() and cxx_binary()
    • [shared] subtarget of apple_library() and cxx_library()
    • apple_library() and cxx_library() which have preferred_linkage = shared attribute
  • executable_name: By default, the name of the universal executable is same as the name of the binary from the binary target attribute. Set executable_name to override the default.

  • split_arch_dsym: If enabled, each architecture gets its own dSYM binary. Use this if the combined universal dSYM binary exceeds 4GiB.

  • universal: Controls whether the output is universal binary. Any value overrides the presence of the config//cpu/constraints:universal-enabled constraint. Read the rule docs for more information on resolution.

Details

The output of the rule is a universal binary:

  • If config//cpu/constraints:universal-enabled is present in the target platform.
  • If the universal attribute is set to True.

If none of the conditions are met, then the rule acts as a nop alias().

The universal attribute, if present, takes precedence over constraint. +For example, if universal = False, then the presence of the constraint +would not affect the output.

apple_bundle() supports building of universal binaries, +apple_universal_executable() is only needed if you have a standalone +binary target which is not embedded in an apple_bundle() (usually a +CLI tool).


apple_xcframework

def apple_xcframework(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_apple_tools: str = _,
buck2_compatibility: str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

apple_xcuitest

def apple_xcuitest(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_apple_toolchain: str = _,
_apple_tools: str = _,
_apple_xctoolchain: str = _,
_apple_xctoolchain_bundle_id: str = _,
_bundling_cache_buster: None | str = _,
_bundling_log_file_enabled: bool = _,
_bundling_log_file_level: None | str = _,
_code_signing_configuration: None | str = _,
_codesign_identities_command_override: None | str = _,
_codesign_type: None | str = _,
_compile_resources_locally_override: None | bool = _,
_embed_provisioning_profile_when_adhoc_code_signing: None | bool = _,
_enable_library_evolution: bool = _,
_fast_adhoc_signing_enabled_default: bool = _,
_fast_provisioning_profile_parsing_enabled: bool = _,
_incremental_bundling_enabled: bool = _,
_info_plist_identify_build_system_default: bool = _,
_profile_bundling_enabled: bool = _,
_provisioning_profiles: str = _,
_resource_bundle: None | str = _,
_strict_provisioning_profile_search_default: bool = _,
_use_entitlements_when_adhoc_code_signing: None | bool = _,
binary: None | str = _,
buck2_compatibility: str = _,
codesign_identity: None | str = _,
codesign_type: None | str = _,
embed_provisioning_profile_when_adhoc_code_signing: bool = _,
enable_library_evolution: None | bool = _,
entitlements_file: None | str = _,
extension: str = _,
fast_adhoc_signing_enabled: None | bool = _,
incremental_bundling_enabled: bool = _,
info_plist: str,
info_plist_identify_build_system: None | bool = _,
info_plist_substitutions: dict[str, str] = _,
provisioning_profile_filter: None | str = _,
strict_provisioning_profile_search: None | bool = _,
target_sdk_version: None | str = _,
test_bundle: str,
use_entitlements_when_adhoc_code_signing: bool = _,
validation_deps: list[str] = _,
versioned_macos_bundle: bool = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

cgo_library

def cgo_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_asan: bool = _,
_compile_shared: bool = _,
_coverage_mode: None | str = _,
_cxx_toolchain: str = _,
_exec_os_type: str = _,
_go_stdlib: str = _,
_go_toolchain: str = _,
_race: bool = _,
_tags: list[str] = _,
allow_cache_upload: None | bool = _,
buck2_compatibility: str = _,
cgo_compiler_flags: list[str] = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
cxx_runtime_type: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
deps_query: None | str = _,
devirt_enabled: bool = _,
embedcfg: None | str = _,
executable_name: None | str = _,
exported_deps: list[str] = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
frameworks: list[str] = _,
go_assembler_flags: list[str] = _,
go_compiler_flags: list[str] = _,
go_srcs: list[str] = _,
header_namespace: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
include_directories: list[str] = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_deps_query_whole: bool = _,
link_group: None | str = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_style: None | str = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
package_name: None | str = _,
package_root: None | str = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
prefer_stripped_objects: bool = _,
prefix_header: None | str = _,
preprocessor_flags: list[str] = _,
raw_headers: list[str] = _,
srcs: list[str | (str, list[str])] = _,
thin_lto: bool = _,
version_universe: None | str = _,
weak_framework_names: list[str] = _
) -> None

A cgo_library() rule builds an object from the supplied set of Go/C source files and dependencies. The outputs are linked into go executable in the last step (compile).

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).
  • cgo_compiler_flags: The set of additional compiler flags to pass to go tool cgo.
  • compiler_flags: Flags to use when compiling any of the above sources (which require compilation).
  • go_assembler_flags: The set of additional assembler flags to pass to go tool asm.
  • go_compiler_flags: The set of additional compiler flags to pass to go tool compile.
  • go_srcs: The set of source files to be compiled by this rule. Go (.go) files are compiled with the Go compiler. In contrast to the srcs argument, these files cannot have import "C" declared.
  • headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.
  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.
  • linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.
  • linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.
  • package_name: Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b")
  • package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"
  • platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.
  • platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.
  • platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.
  • preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).
  • raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target.
  • srcs: The set of source files to be compiled by this rule. .go files will be compiled with the CGO compiler. Each file needs to have import "C" declared.

Details

The 'go build' command would collect the cgo directives from the source files, however +with buck the flags needs to be passed in the cgo_library manually

This rule borrows from cxx_binary() since C/C++ sources are being compiled.

Examples:


# A rule that builds a Go native executable with linked cgo library based on
# C/C++ util library.
go_binary(
name = "bin",
srcs = ["main.go"],
deps = [":lib"]
)

cgo_library(
name = "lib",
srcs = ["cgo_source.go"],
deps = [":util"],
)

cxx_library(
name = "util",
srcs = ["util.c"],
headers = ["util.h"],
)


command_alias

def command_alias(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_exec_os_type: str = _,
_target_os_type: str = _,
args: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
env: dict[str, str] = _,
exe: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
platform_exe: dict[str, str] = _,
resources: list[str] = _
) -> None

The command_alias rule enables you to wrap build rules that create binaries and to pre-apply command-line arguments and environment variables.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • args: A string of arguments that is passed to the executable specified by exe at startup. These arguments support a subset of Buck's string parameter macros . Only the $(location ...) and $(exe ...) macros are supported currently.

  • env: A map of environment variables that will be passed to the executable represented by exe on startup. Environment variables support the same macros as arguments.

  • exe: A build target for a rule that outputs an executable, such as an sh_binary(), or an executable source file.

  • platform_exe: A mapping from platforms to build target. enables you to override exe per host platform.

    If present, exe will be used as a fallback on host platforms that are not +specified in platform_exe.

    It is possible to omit exe when providing platform_exe. +In that case, the build will fail if the command is invoked on a platform not specified in +the mapping.

    Valid platforms are all values of the Platform enum :

    • FREEBSD
    • LINUX
    • MACOS
    • WINDOWS

Details

Example uses include running a command written in a scripting +language with a specific interpreter, and transparently wrapping +sub-commands of a binary.

You can reference a command_alias target in +the cmd parameter of a genrule() by +using the exe macro:



$(exe //path/to:target)

Examples:


# Combining an interpreter and a script

cxx_binary(
name = "node-js",
srcs = [
# ...
],
headers = [
# ...
],
)

export_file(
name = "scripts"
)

command_alias(
name = "server",
exe = ":node-js",
args = [
"$(location :scripts)/start-server.js",
],
)


# Exposing sub commands

export_file(
name = "yarn",
src = "yarn.sh",
)

command_alias(
name = "add",
exe = ":yarn",
args = ["add"],
)

command_alias(
name = "install",
exe = ":yarn",
args = ["install"],
)

command_alias(
name = "run",
exe = ":yarn",
args = ["run"],
)


# Platform specific commands

export_file(
name = "node-windows",
src = "windows/node.exe",
)

export_file(
name = "node-linux",
src = "linux/node",
)

export_file(
name = "node-macos",
src = "macos/node",
)

command_alias(
name = "node",
platform_exe = {
"windows": ":node-windows",
"linux": ":node-linux",
"macos": ":node-macos",
},
)


config_setting

def config_setting(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
constraint_values: list[str] = _,
values: dict[str, str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

configuration_alias

def configuration_alias(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
actual: str,
buck2_compatibility: str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

configured_alias

def configured_alias(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
actual: str,
buck2_compatibility: str = _,
configured_actual: None | (str, str) = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
fallback_actual: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
platform: None | str = _,
propagate_flavors: bool = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

constraint_setting

def constraint_setting(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

constraint_value

def constraint_value(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
constraint_setting: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

core_data_model

def core_data_model(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
module: None | str = _,
path: str
) -> None

An core_data_model() rule contains models for Apple's Core Data framework. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an apple_bundle() rule in which case all core_data_model() rules that the bundle rule depends on are merged and placed into the final output bundle together.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

Details

Examples:


core_data_model(
name = 'MyCoreDataModel',
path = 'MyCoreDataModel.xcdatamodeld',
)


csharp_library

def csharp_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_csharp_toolchain: str = _,
buck2_compatibility: str = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
dll_name: str = _,
framework_ver: str,
labels: list[str] = _,
licenses: list[str] = _,
resources: dict[str, str] = _,
srcs: list[str] = _
) -> None

A csharp_library() rule builds a .Net library from the supplied set of C# source files and dependencies by invoking csc.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • compiler_flags: The set of additional compiler flags to pass to the compiler.
  • deps: The set of targets or system-provided assemblies to rely on. Any values that are targets must be either csharp_library or prebuilt_dotnet_library instances.
  • dll_name: The output name of the dll. This allows you to specify the name of the dll exactly. When this is not set, the dll will be named after the short name of the target.
  • framework_ver: The version of the .Net framework that this library targets. This is one of 'net35', 'net40', 'net45' and 'net46'.
  • resources: Resources that should be embedded within the built DLL. The format is the name of the resource once mapped into the DLL as the key, and the value being the resource that should be merged. This allows non-unique keys to be identified quickly.
  • srcs: The collection of source files to compile.

Details

Examples:

For more examples, check out our integration tests.


csharp_library(
name = 'simple',
dll_name = 'Cake.dll',
framework_ver = 'net46',
srcs = [
'Hello.cs',
],
resources = {
'greeting.txt': '//some:target',
},
deps=[
':other',
'System.dll',
],
)

prebuilt_dotnet_library(
name = 'other',
assembly = 'other-1.0.dll',
)


cxx_binary

def cxx_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_hacks: str = _,
_cxx_toolchain: str = _,
allow_cache_upload: None | bool = _,
anonymous_link_groups: bool = _,
auto_link_groups: bool = _,
binary_linker_flags: list[str] = _,
bolt_flags: list[str] = _,
bolt_profile: None | str = _,
buck2_compatibility: str = _,
compiler_flags: list[str] = _,
constraint_overrides: list[str] = _,
contacts: list[str] = _,
coverage_instrumentation_compiler_flags: list[str] = _,
cxx_runtime_type: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
deps_query: None | str = _,
devirt_enabled: bool = _,
distributed_thinlto_partial_split_dwarf: bool = _,
enable_distributed_thinlto: bool = _,
executable_name: None | str = _,
exported_needs_coverage_instrumentation: bool = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
frameworks: list[str] = _,
header_namespace: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
include_directories: list[str] = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_deps_query_whole: bool = _,
link_execution_preference: None | str = _,
link_group: None | str = _,
link_group_deps: list[str] = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_group_min_binary_node_count: None | int = _,
link_group_public_deps_label: None | str = _,
link_ordering: None | str = _,
link_style: None | str = _,
link_whole: bool = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
prefer_stripped_objects: bool = _,
prefix_header: None | str = _,
preprocessor_flags: list[str] = _,
raw_headers: list[str] = _,
resources: list[str] | dict[str, str] = _,
srcs: list[str | (str, list[str])] = _,
thin_lto: bool = _,
version_universe: None | str = _,
weak_framework_names: list[str] = _
) -> None

A cxx_binary() rule builds a native executable from the supplied set of C/C++ source files and dependencies. If C/C++ library dependencies are listed, the generated native executable will request and link against their static archives (which are *not* built using PIC).

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).

  • compiler_flags: Flags to use when compiling any of the above sources (which require compilation).

  • deps_query: Status: experimental/unstable. The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps:

    • attrfilter
    • deps
    • except
    • intersect
    • filter
    • kind
    • set
    • union

    The macro $declared_deps may be used anywhere a target literal pattern is expected +in order to refer to the explicit deps of this rule as they appear in the rule's definition. +For example, if your build rule declares


    android_library(
    name = 'lib',
    deps = ['//foo:foo'],
    deps_query = '$declared_deps',
    )

    then the macro $declared_deps would be expanded to a +literal set(//foo:foo). +Some example queries:


    "filter({name_regex}, $declared_deps)".format(name_regex='//.*')
    "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)"
    "deps('//foo:foo', 1)"

    Note: any targets included in this query must also be present in deps.

  • header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.

  • headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.

  • include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package.

  • link_execution_preference: The execution preference for linking. Options are:

    • any : No preference is set, and the link action will be performed based on buck2's executor configuration.
    • full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if +the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.
    • local : The link action will execute locally if compatible on current host platform.
    • local_only : The link action will execute locally, and error if the current platform is not compatible.
    • remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.

    The default is None, expressing that no preference has been set on the target itself.

  • link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.

  • link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.

  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.

  • linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.

  • linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.

  • platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.

  • platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.

  • platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.

  • platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.

  • platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.

  • preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).

  • raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target.

  • srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).

Details

Examples:


# A rule that builds a C/C++ native executable from a single .cpp file
# its corresponding header, and a C/C++ library dependency.
cxx_binary(
name = 'echo',
srcs = [
'echo.cpp',
],
headers = [
'echo.h',
],
deps = [
':util',
],
)

cxx_library(
name = 'util',
srcs = [
'util.cpp',
],
headers = [
'util.h',
],
)

# To build without stripping:
buck build :echo

# To build with stripping debug symbols only:
buck build :echo#strip-debug


cxx_genrule

def cxx_genrule(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_cxx_toolchain: str = _,
_exec_os_type: str = _,
_genrule_toolchain: str = _,
always_print_stderr: bool = _,
bash: None | str = _,
buck2_compatibility: str = _,
cacheable: None | bool = _,
cmd: None | str = _,
cmd_exe: None | str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
default_outs: None | list[str] = _,
enable_sandbox: None | bool = _,
environment_expansion_separator: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
metadata_env_var: None | str = _,
metadata_path: None | str = _,
need_android_tools: bool = _,
no_outputs_cleanup: bool = _,
out: None | str = _,
outs: None | dict[str, list[str]] = _,
remote: None | bool = _,
remote_execution_dependencies: list[dict[str, str]] = _,
srcs: list[str] | dict[str, str] = _,
type: None | str = _,
weight: None | int = _
) -> None

A cxx_genrule() enables you to run shell commands as part of the Buck build process. A cxx_genrule() exposes - through a set of string parameter macros and variables - information about the tools and configuration options used by the Buck environment, specifically those related to the C/C++ toolchain.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • bash: A platform-specific version of the shell command parameter cmd. It runs on Linux and UNIX systems—including OSX—on which bash is installed. It has a higher priority than cmd. The bash argument is run with /usr/bin/env bash -c. It has access to the same set of macros and variables as the cmd argument.

  • cmd: The shell command to run to generate the output file. It is the fallback of bash and cmd_exe. The shell command can access information about the buck build environment through a set of macros, parameterized macros, and variables.

    Macros

    The following macros are available to the shell command and are +accessed using the following syntax.

    $(<macro>)

    Example:

    $(cc)

    $(cc) +Path to the C compiler.

    $(cxx) +Path to the C++ compiler.

    $(cflags) +Flags passed to the C compiler.

    $(cppflags) +Flags passed to the C preprocessor.

    $(cxxflags) +Flags passed to the C++ compiler.

    $(cxxppflags) +Flags to pass to the C++ preprocessor.

    $(ld) +Path to the linker.

    $(ldflags-pic) +Flags passed to the linker for binaries that use +position-independent code (PIC).

    $(ldflags-pic-filter <pattern>) +Flags passed to the linker for binaries that use position-independent code (PIC). +Use the pattern parameter to specify a regular expression that matches the build targets that use these flags.

    $(ldflags-shared) +Flags passed to the linker for shared libraries, such as dynamic-link libraries (DLLs).

    $(ldflags-shared-filter <pattern>) +Flags passed to the linker for shared libraries, such as dynamic-link libraries (DLLs). +Use the pattern parameter to specify a regular expression that matches the build targets that use these flags.

    $(ldflags-static) +Flags passed to the linker for statically-linked libraries.

    $(ldflags-static-filter <pattern>) +Flags passed to the linker for statically-linked libraries. +Use the pattern parameter to specify a regular expression that matches the build targets that use these flags.

    $(platform-name) +The platform flavor with which this cxx_genrule was specified.

    Parameterized Macros

    It is also possible to expand references to other rules within the +shell command, using the following subset of the +builtin string parameter macros +. +Note that all build rules expanded in the command are automatically +considered to be dependencies of the genrule().

    Note that the paths returned by these macros are absolute paths. You should convert these paths to be relative paths before +embedding them in, for example, a shell script or batch file. Using +relative paths ensures that your builds are hermetic, that +is, they are reproducible across different machine environments.

    Additionally, if you embed these paths in a shell script, you should +execute that script using the sh_binary() rule and include +the targets for these paths in the resources argument of +that sh_binary rule. These are the same targets that you +pass to the string parameter macros.

    $(exe //path/to:target) +Expands to the commands necessary to run the executable +generated by the specified build rule. For a C++ executable, this +will typically just be the name of the output executable itself, +such as main. If the specified build rule does not generate an +executable output, an exception will be thrown and the build will +fail.

    $(location //path/to:target) +Expands to the path of the output of the build rule. This +means that you can refer to these without needing to be aware of +how Buck is storing data on the disk mid-build.

    Variables

    Finally, Buck adds the following variables to the environment in +which the shell command runs. They are accessed using the following syntax. +Note the use of braces rather than parentheses.

    ${<variable>}

    Example:

    ${SRCS}

    ${SRCS} +A string expansion of the srcs argument delimited by +the environment_expansion_separator argument where each element +of srcs will be translated into an absolute path.

    ${SRCDIR} +The absolute path to the to which sources are copied +prior to running the command.

    ${OUT} +The output file for the genrule(). The file +specified by this variable must always be written by this +command. If not, the execution of this rule will be considered a +failure, halting the build process.

    ${TMP} +A temporary directory which can be used for intermediate results and will not be +bundled into the output.

  • cmd_exe: A platform-specific version of the shell command parameter cmd. It runs on Windows and has a higher priority than cmd. The cmd_exe argument is run with cmd.exe /v:off /c. It has access to the same set of macros and variables as the cmd argument.

  • enable_sandbox: Whether this target should be executed in a sandbox or not.

  • environment_expansion_separator: The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces.

  • out: The name of the output file or directory. The complete path to this argument is provided to the shell command through the OUT environment variable.

  • srcs: Either a list or a map of the source files which Buck makes available to the shell command at the path in the SRCDIR environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names.

  • type: Specifies the type of this genrule. This is used for logging and is particularly useful for grouping genrules that share an underlying logical "type".

    For example, if you have the following cxx_genrule defined +in the root directory of your Buck project



    cxx_genrule(
    name = 'cxx_gen',
    type = 'epilog',
    cmd = 'touch finish.txt; cp finish.txt $OUT',
    out = 'finish.txt'
    )

    then the following buck query command



    buck query "attrfilter( type, 'epilog', '//...' )"

    returns



    //:cxx_gen

  • weight: How many local slots these genrule should take when executing locally.

Details

The information exposed through these tools and configuration options is a reflection of: +Buck's built-in settings, +the settings in .buckconfig +and .buckconfig.local, +and the result of various command-line overrides specified through +the common_parameters command-line option.

This information is available only +to the shell commands specified in the cxx_genrule. +The information is not available to other arguments of the rule.

A cxx_genrule() can be an input to +another cxx_genrule().

Note that if you specify the cxx_genrule as a command-line +target to buck build, you must include a platform flavor. +For example:



buck build :cxx_gr_name#iphonesimulator-x86_64

You could also just specify the default platform flavor explicitly:



buck build :cxx_gr_name#default


cxx_library

def cxx_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_hacks: str = _,
_cxx_toolchain: str = _,
_is_building_android_binary: bool = _,
allow_cache_upload: None | bool = _,
auto_link_groups: bool = _,
bridging_header: None | str = _,
buck2_compatibility: str = _,
can_be_asset: None | bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
coverage_instrumentation_compiler_flags: list[str] = _,
cxx_runtime_type: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
deps_query: None | str = _,
devirt_enabled: bool = _,
diagnostics: dict[str, str] = _,
executable_name: None | str = _,
exported_deps: list[str] = _,
exported_header_style: str = _,
exported_headers: list[str] | dict[str, str] = _,
exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
exported_lang_preprocessor_flags: dict[str, list[str]] = _,
exported_linker_flags: list[str] = _,
exported_needs_coverage_instrumentation: bool = _,
exported_platform_deps: list[(str, list[str])] = _,
exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,
exported_platform_linker_flags: list[(str, list[str])] = _,
exported_platform_preprocessor_flags: list[(str, list[str])] = _,
exported_post_linker_flags: list[str] = _,
exported_post_platform_linker_flags: list[(str, list[str])] = _,
exported_preprocessor_flags: list[str] = _,
extra_xcode_files: list[str] = _,
extra_xcode_sources: list[str] = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
force_static: None | bool = _,
frameworks: list[str] = _,
header_mode: None | str = _,
header_namespace: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
include_directories: list[str] = _,
include_in_android_merge_map_output: bool = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_deps_query_whole: bool = _,
link_execution_preference: None | str = _,
link_group: None | str = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_ordering: None | str = _,
link_style: None | str = _,
link_whole: None | bool = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
local_linker_flags: list[str] = _,
module_name: None | str = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
prefer_stripped_objects: bool = _,
preferred_linkage: str = _,
prefix_header: None | str = _,
preprocessor_flags: list[str] = _,
public_include_directories: list[str] = _,
public_system_include_directories: list[str] = _,
raw_headers: list[str] = _,
reexport_all_header_dependencies: None | bool = _,
resources: list[str] | dict[str, str] = _,
sdk_modules: list[str] = _,
soname: None | str = _,
srcs: list[str | (str, list[str])] = _,
static_library_basename: None | str = _,
supported_platforms_regex: None | str = _,
supports_header_symlink_subtarget: bool = _,
supports_merged_linking: None | bool = _,
supports_python_dlopen: None | bool = _,
supports_shlib_interfaces: bool = _,
thin_lto: bool = _,
use_archive: None | bool = _,
used_by_wrap_script: bool = _,
uses_cxx_explicit_modules: bool = _,
uses_explicit_modules: bool = _,
version_universe: None | str = _,
weak_framework_names: list[str] = _
) -> None

A cxx_library() rule specifies a set of C/C++ source files and also provides flags that specify how those files should be built.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).

  • compiler_flags: Flags to use when compiling any of the above sources (which require compilation).

  • exported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported.

  • exported_header_style: How dependents should include exported headers from this rule. Can be either local (e.g. -I) or system (e.g. -isystem).

  • exported_headers: The set of header files that are made available for inclusion to the source files in the target and all targets that transitively depend on it. These should be specified as either a list of header files or a dictionary of header names to header files. The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME>, where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. Note that the header name can contain forward slashes (/). See header_namespace for more information.

  • exported_lang_platform_preprocessor_flags: Just as lang_platform_preprocessor_flags, but these flags also apply to rules that transitively depend on this rule.

  • exported_lang_preprocessor_flags: Just as lang_preprocessor_flags, but these flags also apply to rules that transitively depend on this rule.

  • exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.

  • exported_platform_deps: Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as exported_deps) that are exported if the platform matches the regex. See exported_deps for more information.

  • exported_platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target and all targets that transitively depend on it if the platform matches the regex. See headers for more information.

  • exported_platform_linker_flags: Platform-specific linker flags for this rule and for all rules that transitively depend on this rule. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.

  • exported_platform_preprocessor_flags: Platform specific exported preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the source files in the target and all targets that transitively depend on it if the platform matches the regex. See exported_preprocessor_flags for more information.

  • exported_post_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation—with the additional feature that these flags are guaranteed to be placed after the compiled object (.o) files on the linker command line.

  • exported_post_platform_linker_flags: Platform-specific linker flags for this rule and for all rules that transitively depend on this rule—and that are guaranteed to be placed after the compiled object (.o) files on the linker command line. In other respects, the syntax and semantics of this argument are the same as for the exported_platform_linker_flags argument.

  • extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources".

  • header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.

  • headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.

  • include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package.

  • lang_compiler_flags: Language-specific compiler flags. These should be specified as a map of C-family language short names to lists of flags and is used to target flags to sources files for a specific language in the C-family (C, C++, assembler, etc.). The keys in the map can be: cpp-output for C c++-cpp-output for C++ objective-c-cpp-output for Objective-C objective-c++-cpp-output for Objective-C++ cuda-cpp-output for Cuda assembler for Assembly * asm for ASM

  • lang_platform_compiler_flags: Language- and platform-specific compiler flags. These should be specified as a map of C-family language short names, as described in lang_compiler_flags, to lists of pairs, as described in platform_compiler_flags.

  • lang_platform_preprocessor_flags: Language- and platform-specific preprocessor flags. These should be specified as a map of C-family language short names, as described in lang_preprocessor_flags, to lists of pairs, as described in platform_preprocessor_flags.

  • lang_preprocessor_flags: Language-specific preprocessor flags. These should be specified as a map of C-family language short names to lists of flags and is used to target flags to sources files for a specific language in the C-family (C, C++, assembler, etc.). The keys in the map can be: c for C c++ for C++ objective-c for Objective-C objective-c++ for Objective-C++ cuda for Cuda assembler-with-cpp for Assembly * asm-with-cpp for ASM

  • link_execution_preference: The execution preference for linking. Options are:

    • any : No preference is set, and the link action will be performed based on buck2's executor configuration.
    • full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if +the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.
    • local : The link action will execute locally if compatible on current host platform.
    • local_only : The link action will execute locally, and error if the current platform is not compatible.
    • remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.

    The default is None, expressing that no preference has been set on the target itself.

  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.

  • linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.

  • linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.

  • local_linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation driven by this rule (e.g. when this rule links a shared library, but not when the output is linked into a shared library by another rule's link group links).

  • platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.

  • platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.

  • platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.

  • platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.

  • platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.

  • preferred_linkage: Determines what linkage is used when the library is depended on by another target. To control how the dependencies of this library are linked, use link_style instead.

  • preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).

  • public_include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target and every target that depends on it (via -I). An include directory is relative to the current package.

  • public_system_include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target and every target that depends on it (via -isystem if the compiler supports it of via -I otherwise). An include directory is relative to the current package.

  • raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target.

  • reexport_all_header_dependencies: Whether to automatically re-export the exported headers of all dependencies.

    When this is set to false, only exported headers from +exported_deps are re-exported.

  • soname: Sets the soname ("shared object name") of any shared library produced from this rule. The default value is based on the full rule name. The macro $(ext) will be replaced with a platform-appropriate extension. An argument can be provided, which is a library version. For example soname = 'libfoo.$(ext 2.3)' will be libfoo.2.3.dylib on Mac and libfoo.so.2.3 on Linux.

  • srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).

  • supported_platforms_regex: If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms.

  • used_by_wrap_script: When using an exopackage Android, if this parameter is set to True, then the library is included in the primary APK even if native libraries would otherwise not be placed in it. This is intended for native libraries that are used by a wrap.sh script, which must be placed in the primary APK. Only one of can_be_asset and used_by_wrap_script can be set for a rule.

Details

Building requires a specified top-level target

Whether a Buck command builds the cxx_library is +determined by the inclusion of a top-level target, such as +a cxx_binary() or android_binary(), that +transitively depends on the cxx_library. The set of +targets specified to the Buck command (buck build, buck run, etc) must +include one of these top-level targets in order for Buck to build +the cxx_library. Note that you could specify the top-level target +implicitly using a build target pattern or you could also specify +the top-level target using a buckconfig alias defined in .buckconfig.

How Buck builds the library also depends on the specified top-level target. +For example, a C/C++ binary (cxx_binary) would require a static non-PIC build of the library, +whereas an Android APK (android_binary) would require a shared PIC-enabled build. +(PIC stands for position-independent code.)

Dependencies of the cxx_library also require a top-level target

Similarly, in order for Buck to build a target that +the cxx_library depends on, such as a cxx_genrule(), +you must specify in the Buck command a top-level target that depends on +the cxx_library. For example, you could specify +to build a cxx_binary that +depends on the cxx_library. If you specify as +your build target the cxx_library itself, the build targets +that the cxx_library depends on might not be built.

Examples:


# A rule that includes a single .cpp file and its corresponding header and
# also supplies an additional flag for compilation.
cxx_library(
name = 'fileutil',
srcs = [
'fileutil.cpp',
],
exported_headers = [
'fileutil.h',
],
compiler_flags = [
'-fno-omit-frame-pointer',
],
)

# A rule that defines explicit names for its headers
cxx_library(
name = 'mathutils',
header_namespace = 'math',
srcs = [
'trig/src/cos.cpp',
'trig/src/tan.cpp',
],
exported_headers = {
# These are included as <math/trig/cos.h> and <math/trig/tan.h>
'trig/cos.h': 'trig/include/cos.h',
'trig/tan.h': 'trig/include/tan.h',
},
compiler_flags = [
'-fno-omit-frame-pointer',
],
)

# A rule that uses different headers and sources per platform
cxx_library(
name = 'vector',
# Because of platform_headers, this file can include "config.h"
# and get the architecture specific header
srcs = ['vector.cpp'],
platform_srcs = [
('.*armv7$', 'armv7.S'),
('.*x86_64$', 'x86_64.S'),
],
exported_headers = [
'vector.h',
],
platform_headers = [
(
'.*armv7$',
{
'config.h': 'config-armv7.h',
}
),
(
'.*x86_64$',
{
'config.h': 'config-x86_64.h',
}
),
],
)



cxx_lua_extension

def cxx_lua_extension(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
base_module: None | str = _,
buck2_compatibility: str = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
cxx_runtime_type: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
executable_name: None | str = _,
frameworks: list[str] = _,
header_namespace: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
include_directories: list[str] = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
prefix_header: None | str = _,
preprocessor_flags: list[str] = _,
raw_headers: list[str] = _,
srcs: list[str | (str, list[str])] = _,
version_universe: None | str = _
) -> None

A cxx_lua_extension() rule is a variant of a C/C++ library which is built as a Lua module. As such, it has a module name formed by the base_module parameter and the rule name and implicitly depends on Lua C library (configured via the .buckconfig parameter.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • base_module: The package for which the given specified sources and resources should reside in their final location in the top-level binary. If unset, the project relative directory that houses the BUCK file is used.
  • compiler_flags: Flags to use when compiling any of the above sources (which require compilation).
  • header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.
  • headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.
  • linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.
  • platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.
  • platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.
  • platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.
  • platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.
  • platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.
  • preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).
  • srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).

Details

Examples:


# A rule that builds a Lua extension from a single .cpp file.
cxx_lua_extension(
name = 'mymodule',
base_module = 'foo.bar',
srcs = [
'mymodule.cpp',
],
compiler_flags = [
'-fno-omit-frame-pointer',
],
)

# A library rule which has a single source importing the above extension.
lua_library(
name = 'utils',
srcs = [
'utils.lua',
],
deps = [
':mymodule',
],
)


-- The `utils.lua` source, wrapped by the `utils` rule above.

-- Import the C/C++ extension build above.
require "foo.bar.mymodule"

...


cxx_precompiled_header

def cxx_precompiled_header(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
src: str,
version_universe: None | str = _
) -> None

A cxx_precompiled_header rule specifies a single header file that can be precompiled and made available for use in other build rules such as a cxx_library() or a cxx_binary().

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • deps: Dependency rules which export headers used by the header specified in src.
  • src: The path to the header file that should be precompiled. Only one header file can be specified. But of course this header could include any number of other headers. The included headers could belong to -- that is, be exported_headers from -- another rule, in which case, the rule would have to be added to deps as usual.

Details

This header file is precompiled by the preprocessor on behalf of the +C, C++, Objective-C, or Objective-C++ rule using it, via its precompiled_header parameter. +Afterwards the precompiled header is applied during the rule's own compilation +(often with an appreciable reduction in build time, the main benefit of PCH).

This PCH is built once per combination of build flags which might affect the PCH's compatibility. +For example, a distinct pre-compilation of the header occurs per combination of flags related to +optimization, debug, architecture, and so on, used by rules which employ PCH. +The flags used during the build of the dependent rule (that is, the "PCH-using rule") +are in effect while building the PCH itself. Similarly, to the same end, the include paths used +when building the PCH are applied to the dependent rule. For example, deps in the +PCH rule are propagated back to the dependent rule, and the PCH's header search paths +(e.g. -I or -isystem options) are prefixed onto the list of +include paths for the dependent rule.

Examples:

The best way to see how the cxx_precompiled_header() rule works is with an +example. Let there be a header called common.h which has the following:


#pragma once

/* Include common C++ files. */
#include <string>
#include <map>
#include <set>
#include <type_traits>
#include <vector>

/* Some frequently-used headers from the Folly project. */
#include <folly/Conv.h>
#include <folly/Executor.h>
#include <folly/io/async/EventBase.h>


cxx_precompiled_header(
name = 'common_pch',
src = 'common.h',
deps = [
# Needed for standard C++ headers:
'//external/libcxx:headers',
# Needed for the Folly includes:
'//folly:folly',
'//folly/io/async:async',
],
)

cxx_binary(
name = 'main',
srcs = ['main.cpp'],
precompiled_header = ':common_pch',
deps = [ ... ],
compiler_flags = ['-g', '-O2', '-fPIC'],
)

The cxx_precompiled_header rule declares a precompiled header "template" +containing the header file path, and dependencies. +In this example we indicate that common.h is to be precompiled when used by another build rule.

Note that, by itself, this cxx_precompiled_header rule will not result +in anything being built. The usage of this rule from another rule -- +an "instantiation" of this precompiled header template -- is what will trigger the +PCH build.

In the example above, the build for the binary named "main" will depend on +the header being precompiled in a separate step, prior to compiling main.cpp, +and the resulting PCH will be used in main's compilation.

The dependencies specified in this precompiled header rule's deps are transitive; they +will propagate to rules using this PCH, so that during link time, any libraries which are +required by the code made available in the header will be included in the final binary build.

The precompiled header dynamically created from the "template" will be built with flags +which would be used in the dependent rule. In this case, main's use of specific +compiler flags -g -O2 -fPIC will result in the production of a precompiled header +with the same flags. This is so the precompiled code fully jives with rules using the PCH, +i.e. they will have the same debug, optimization, CPU, etc. options. (The compiler is usually +smart enough to reject a bad PCH, fortunately. But we want to ensure we take the appropriate +steps to ensure we always have a PCH which works with any build that uses it.)

Another effect of a rule using a precompiled header is that the rule's list of +build flags will change; not just to employ PCH with e.g. -include-pch (if using Clang), but also, to alter the sequence of header search paths. +The rule using the precompiled header will "inherit" the lists of paths used +during the PCH build, applying them first in its own search paths. +This is to ensure that an #include directive will resolve in exactly +the same way in this build as it would have in the PCH, to ensure full compatibility +between the PCH and other rule's builds. For example, if the PCH were to use one version +of stdcxx and another rule use a different version, the version differences +won't clash, thereby avoiding different versions of the <cstring> header +used between the precompiled header and the dependent rule, and preventing confused +structure definitions, ABI incompatibility, and so on (catastrophe, in other words).


cxx_python_extension

def cxx_python_extension(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_hacks: str = _,
_cxx_toolchain: str = _,
_python_toolchain: str = _,
_target_os_type: str = _,
allow_cache_upload: None | bool = _,
allow_embedding: bool = _,
allow_suffixing: bool = _,
auto_link_groups: bool = _,
base_module: None | str = _,
bridging_header: None | str = _,
buck2_compatibility: str = _,
can_be_asset: None | bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
coverage_instrumentation_compiler_flags: list[str] = _,
cxx_runtime_type: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
devirt_enabled: bool = _,
diagnostics: dict[str, str] = _,
executable_name: None | str = _,
exported_deps: list[str] = _,
exported_header_style: str = _,
exported_headers: list[str] | dict[str, str] = _,
exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
exported_lang_preprocessor_flags: dict[str, list[str]] = _,
exported_linker_flags: list[str] = _,
exported_needs_coverage_instrumentation: bool = _,
exported_platform_deps: list[(str, list[str])] = _,
exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,
exported_platform_linker_flags: list[(str, list[str])] = _,
exported_platform_preprocessor_flags: list[(str, list[str])] = _,
exported_post_linker_flags: list[str] = _,
exported_post_platform_linker_flags: list[(str, list[str])] = _,
exported_preprocessor_flags: list[str] = _,
extra_xcode_files: list[str] = _,
extra_xcode_sources: list[str] = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
force_static: None | bool = _,
frameworks: list[str] = _,
header_namespace: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
include_directories: list[str] = _,
include_in_android_merge_map_output: bool = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_group: None | str = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_ordering: None | str = _,
link_style: None | str = _,
link_whole: bool = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
local_linker_flags: list[str] = _,
module_name: None | str = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
preferred_linkage: str = _,
prefix_header: None | str = _,
preprocessor_flags: list[str] = _,
public_include_directories: list[str] = _,
public_system_include_directories: list[str] = _,
raw_headers: list[str] = _,
reexport_all_header_dependencies: None | bool = _,
resources: list[str] | dict[str, str] = _,
sdk_modules: list[str] = _,
soname: None | str = _,
srcs: list[str | (str, list[str])] = _,
static_library_basename: None | str = _,
suffix_all: bool = _,
support_shlib_interfaces: bool = _,
supported_platforms_regex: None | str = _,
supports_merged_linking: None | bool = _,
thin_lto: bool = _,
type_stub: None | str = _,
use_archive: None | bool = _,
used_by_wrap_script: bool = _,
uses_cxx_explicit_modules: bool = _,
uses_explicit_modules: bool = _,
version_universe: None | str = _,
weak_framework_names: list[str] = _
) -> None

A cxx_python_extension() rule is a variant of a C/C++ library which is built as a Python module. As such, it has a module name formed by the base_module parameter and the rule name.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • base_module: The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file.
  • compiler_flags: Flags to use when compiling any of the above sources (which require compilation).
  • deps: Other rules that list srcs from which this rule imports.
  • header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.
  • headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.
  • labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .
  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. Note: since shared libraries re-export its dependencies, depending on multiple shared libraries which themselves have overlapping static dependencies may cause problems if they init using global state.
  • linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.
  • linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.
  • local_linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation driven by this rule (e.g. when this rule links a shared library, but not when the output is linked into a shared library by another rule's link group links).
  • platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.
  • platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.
  • platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.
  • platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.
  • platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.
  • preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).
  • srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).

Details

Examples:


# A rule that builds a Python extension from a single .cpp file.
cxx_python_extension(
name = 'mymodule',
base_module = 'foo.bar',
srcs = [
'mymodule.cpp',
],
)

# A library rule which has a single source importing the above extension.
python_library(
name = 'utils',
srcs = [
'utils.py',
],
deps = [
':mymodule',
],
)


## The `utils.py` source, wrapped by the `utils` rule above.

## Import the C/C++ extension build above.
from foo.bar import mymodule

...


cxx_test

def cxx_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_hacks: str = _,
_cxx_toolchain: str = _,
_inject_test_env: str = _,
_remote_test_execution_toolchain: str = _,
additional_coverage_targets: list[str] = _,
allow_cache_upload: None | bool = _,
anonymous_link_groups: bool = _,
args: list[str] = _,
auto_link_groups: bool = _,
binary_linker_flags: list[str] = _,
bolt_flags: list[str] = _,
bolt_profile: None | str = _,
buck2_compatibility: str = _,
compiler_flags: list[str] = _,
constraint_overrides: list[str] = _,
contacts: list[str] = _,
coverage_instrumentation_compiler_flags: list[str] = _,
cxx_runtime_type: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
deps_query: None | str = _,
devirt_enabled: bool = _,
distributed_thinlto_partial_split_dwarf: bool = _,
enable_distributed_thinlto: bool = _,
env: dict[str, str] = _,
executable_name: None | str = _,
exported_needs_coverage_instrumentation: bool = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
framework: None | str = _,
frameworks: list[str] = _,
header_namespace: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
include_directories: list[str] = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_deps_query_whole: bool = _,
link_execution_preference: None | str = _,
link_group: None | str = _,
link_group_deps: list[str] = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_group_min_binary_node_count: None | int = _,
link_group_public_deps_label: None | str = _,
link_ordering: None | str = _,
link_style: None | str = _,
link_whole: bool = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
prefer_stripped_objects: bool = _,
prefix_header: None | str = _,
preprocessor_flags: list[str] = _,
raw_headers: list[str] = _,
remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,
remote_execution_action_key_providers: None | str = _,
resources: list[str] | dict[str, str] = _,
run_test_separately: None | bool = _,
srcs: list[str | (str, list[str])] = _,
test_rule_timeout_ms: None | int = _,
thin_lto: bool = _,
use_default_test_main: None | bool = _,
version_universe: None | str = _,
weak_framework_names: list[str] = _
) -> None

A cxx_test() rule builds a C/C++ binary against a C/C++ testing framework and runs it as part of test.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).

  • args: A list of additional arguments to pass to the test when it's run.

    It is also possible to expand references to other rules within these +arguments, using builtin string parameter macros +:

    $(location //path/to:target) +Expands to the location of the output of the build rule. This +means that you can refer to these without needing to be aware of how +Buck is storing data on the disk mid-build.

  • compiler_flags: Flags to use when compiling any of the above sources (which require compilation).

  • deps_query: Status: experimental/unstable. The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps:

    • attrfilter
    • deps
    • except
    • intersect
    • filter
    • kind
    • set
    • union

    The macro $declared_deps may be used anywhere a target literal pattern is expected +in order to refer to the explicit deps of this rule as they appear in the rule's definition. +For example, if your build rule declares


    android_library(
    name = 'lib',
    deps = ['//foo:foo'],
    deps_query = '$declared_deps',
    )

    then the macro $declared_deps would be expanded to a +literal set(//foo:foo). +Some example queries:


    "filter({name_regex}, $declared_deps)".format(name_regex='//.*')
    "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)"
    "deps('//foo:foo', 1)"

    Note: any targets included in this query must also be present in deps.

  • env: A map of environment names and values to set when running the test.

    It is also possible to expand references to other rules within the values of +these environment variables, using builtin string parameter macros +:

    $(location //path/to:target) +Expands to the location of the output of the build rule. This +means that you can refer to these without needing to be aware of how +Buck is storing data on the disk mid-build.

  • framework: Unused.

  • headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.

  • include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package.

  • link_execution_preference: The execution preference for linking. Options are:

    • any : No preference is set, and the link action will be performed based on buck2's executor configuration.
    • full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if +the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.
    • local : The link action will execute locally if compatible on current host platform.
    • local_only : The link action will execute locally, and error if the current platform is not compatible.
    • remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally.

    The default is None, expressing that no preference has been set on the target itself.

  • link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.

  • link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.

  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.

  • linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.

  • preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).

  • raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target.

  • srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).

  • test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig .

Details

Examples:


# A rule that builds and runs C/C++ test using gtest.
cxx_test(
name = 'echo_test',
srcs = [
'echo_test.cpp',
],
)


cxx_toolchain

def cxx_toolchain(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_dep_files_processor: str = _,
_dumpbin_toolchain_path: None | str = _,
_mk_comp_db: str = _,
_mk_hmap: str = _,
_msvc_hermetic_exec: str = _,
_remap_cwd_tool: str = _,
archive_contents: str = _,
archiver: str,
archiver_flags: list[str] = _,
archiver_supports_argfiles: bool = _,
archiver_type: str,
asm_compiler: None | str = _,
asm_compiler_flags: list[str] = _,
asm_compiler_type: None | str = _,
asm_preprocessor: None | str = _,
asm_preprocessor_flags: list[str] = _,
asm_preprocessor_type: None | str = _,
assembler: str,
assembler_flags: list[str] = _,
assembler_preprocessor: None | str = _,
assembler_preprocessor_flags: list[str] = _,
assembler_preprocessor_type: None | str = _,
assembler_type: None | str = _,
binary_extension: None | str = _,
bolt_enabled: bool = _,
buck2_compatibility: str = _,
c_compiler: str,
c_compiler_allow_cache_upload: None | bool = _,
c_compiler_flags: list[str] = _,
c_compiler_type: None | str = _,
c_preprocessor_flags: list[str] = _,
cache_links: bool = _,
clang_remarks: None | str = _,
clang_trace: None | bool = _,
compiler_type: None | str = _,
conflicting_header_basename_exemptions: list[str] = _,
contacts: list[str] = _,
cpp_dep_tracking_mode: str = _,
cuda_compiler: None | str = _,
cuda_compiler_flags: list[str] = _,
cuda_compiler_type: None | str = _,
cuda_dep_tracking_mode: str = _,
cuda_preprocessor_flags: list[str] = _,
cvtres_compiler: None | str = _,
cvtres_compiler_flags: list[str] = _,
cvtres_compiler_type: None | str = _,
cvtres_preprocessor_flags: list[str] = _,
cxx_compiler: str,
cxx_compiler_allow_cache_upload: None | bool = _,
cxx_compiler_flags: list[str] = _,
cxx_compiler_type: None | str = _,
cxx_preprocessor_flags: list[str] = _,
debug_path_prefix_map_sanitizer_format: None | str = _,
default_host_platform: None | str = _,
detailed_untracked_header_messages: bool = _,
dist_lto_tools: str = _,
dist_thin_lto_codegen_flags: list[str] = _,
filepath_length_limited: bool = _,
gcno_files: bool = _,
generate_linker_maps: bool = _,
headers_as_raw_headers_mode: None | str = _,
headers_whitelist: list[str] = _,
hip_compiler: None | str = _,
hip_compiler_flags: list[str] = _,
hip_compiler_type: None | str = _,
hip_preprocessor_flags: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
link_ordering: str = _,
link_path_normalization_args_enabled: bool = _,
link_style: str = _,
link_weight: int = _,
linker: str,
linker_flags: list[str] = _,
linker_type: str,
llvm_link: None | str = _,
lto_mode: str = _,
min_sdk_version: None | str = _,
nm: str,
objcopy_for_shared_library_interface: str,
objcopy_recalculates_layout: bool = _,
objdump: None | str = _,
object_file_extension: str = _,
object_format: str = _,
pic_behavior: str = _,
pic_type_for_shared_linking: str = _,
placeholder_tool: None | str = _,
platform_name: None | str = _,
post_linker_flags: list[str] = _,
private_headers_symlinks_enabled: bool = _,
public_headers_symlinks_enabled: bool = _,
ranlib: None | str = _,
ranlib_flags: list[str] = _,
rc_compiler: None | str = _,
rc_compiler_flags: list[str] = _,
rc_compiler_type: None | str = _,
rc_preprocessor_flags: list[str] = _,
remap_cwd: bool = _,
requires_archives: bool = _,
requires_objects: bool = _,
sanitizer_runtime_enabled: bool = _,
sanitizer_runtime_files: list[str] = _,
shared_dep_runtime_ld_flags: list[str] = _,
shared_library_extension: str = _,
shared_library_interface_flags: list[str] = _,
shared_library_interface_mode: str = _,
shared_library_interface_producer: None | str = _,
shared_library_interface_type: str,
shared_library_versioned_extension_format: str = _,
split_debug_mode: str = _,
static_dep_runtime_ld_flags: list[str] = _,
static_library_extension: str = _,
static_pic_dep_runtime_ld_flags: list[str] = _,
strip: str,
strip_all_flags: None | list[str] = _,
strip_debug_flags: None | list[str] = _,
strip_non_global_flags: None | list[str] = _,
supports_distributed_thinlto: bool = _,
target_sdk_version: None | str = _,
use_archiver_flags: bool = _,
use_arg_file: bool = _,
use_dep_files: None | bool = _,
use_header_map: bool = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • c_compiler_allow_cache_upload: Whether to allow uploading of object files to cache when the compile action is executed locally and the configuration allows uploads (i.e., there is a cache configured and the client has permission to write to it).
  • cxx_compiler_allow_cache_upload: Whether to allow uploading of object files to cache when the compile action is executed locally and the configuration allows uploads (i.e., there is a cache configured and the client has permission to write to it).
  • link_style: The default value of the link_style attribute for rules that use this toolchain.

d_binary

def d_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
linker_flags: list[str] = _,
srcs: list[str] | dict[str, str] = _
) -> None

A d_binary() rule builds a native executable from the supplied set of D source files and dependencies.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • deps: The set of dependencies of this rule. Each element should be a string specifying a d_library rule defined elsewhere (e.g. ':foo' or '//foo:bar').
  • linker_flags: The list of flags to be passed to the linker. Each element should be a string specifying a linker flag (e.g. '--as-needed').
  • srcs: The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. 'foo/bar.d').

Details

Examples:


# A rule that builds a D native executable from a single .d file
# and a library dependency.
d_binary(
name='greet',
srcs=[
'greet.d',
],
deps=[
':greeting',
],
)

d_library(
name='greeting',
srcs=[
'greeting.d',
],
deps=[
':join',
],
)

d_library(
name='join',
srcs=[
'join.d',
],
)


d_library

def d_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
linker_flags: list[str] = _,
srcs: list[str] | dict[str, str] = _
) -> None

A d_library() rule represents a set of D source files.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • deps: The set of dependencies of this rule. Each element should be a string specifying a d_library rule defined elsewhere (e.g. ':foo' or '//foo:bar').
  • srcs: The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. 'foo/bar.d').

Details

Examples:


# A simple library with a single source file and a single dependency.
d_library(
name='greeting',
srcs=[
'greeting.d',
],
deps=[
':join',
],
)

d_library(
name='join',
srcs=[
'join.d',
],
)


d_test

def d_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
linker_flags: list[str] = _,
srcs: list[str] | dict[str, str] = _,
test_rule_timeout_ms: None | int = _
) -> None

A d_test() rule is used to define a set of D source files that contain tests to run via D's unittest support. The source code of the test must provide a main() function.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • deps: The set of dependencies of this rule. Each element should be a string specifying a d_library rule defined elsewhere (e.g. ':foo' or '//foo:bar').
  • labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific d_test() rule when executing buck test
  • srcs: The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. 'foo/bar.d').
  • test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig .

Details

Examples:


# A rule that builds and runs D test with a single source file.
d_test(
name = 'test',
srcs = [
'test.d',
],
)


erlang_app

def erlang_app(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_toolchain: str = _,
app_src: None | str = _,
applications: list[str] = _,
buck2_compatibility: str = _,
build_edoc_chunks: bool = _,
contacts: list[str] = _,
env: None | dict[str, str] = _,
erl_opts: None | list[str] = _,
extra_includes: list[str] = _,
extra_properties: None | dict[str, str | list[str]] = _,
include_src: bool = _,
included_applications: list[str] = _,
includes: list[str] = _,
labels: list[str] = _,
mod: None | (str, list[str]) = _,
os_env: None | dict[str, str] = _,
peek_private_includes: bool = _,
resources: list[str] = _,
shell_configs: list[str] = _,
shell_libs: list[str] = _,
srcs: list[str] = _,
use_global_parse_transforms: bool = _,
version: str = _,
xrl_includefile: None | str = _,
yrl_includefile: None | str = _
) -> None

This rule is the main rule for Erlang applications. It gets generated by using the erlang_application macro, that takes as attributes the same attributes as this rule. You should always use the erlang_application macro instead of using this rule directly.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • app_src: The app_src field allows to optionally reference a *.app.src template file. This template file will then be used by buck2 to generate the *.app output file in the applications ebin/ directory. This is useful during the migration from rebar3 to buck2 to avoid duplicated entries, of e.g. the version.

    Buck2 will use or check all fields present in the template, and fill out the fields with the information provided in the +target, e.g. if the version is specified in both, buck2 will check that they are identical. Otherwise, it uses the +information from the template if the target doesn't specify it, and vice versa.

    NOTE: If you use the app_src field and the references application resource file template specifies applications +or included_applications buck2 checks that the target definitions and information in the template are equivalent to +prevent these definitions from drifting apart during migration.

  • applications: Equivalent to the corresponding applications and included_applications fields you will find in *.app.src or *.app files and specify the application dependencies. Contrary to the fields in the *.app.src or *.app files, it is necessary to use target paths to the application where a dependency is desired. These fields will be used to construct equally named fields in the generated *.app file for the application.

    OTP applications are specified with the target path prelude//erlang/applications:<application>.

    NOTE: If you use the app_src field and the references application resource file template specifies +applications or included_applications buck2 checks that the target definitions and information in the template are +equivalent to prevent these definitions from drifting apart during migration.

  • build_edoc_chunks: This attribute controls if the output of the builds also create edoc chunks.

  • env: The env field allows to set the application env variables. The key value pairs will materialise in the application's .app file and can then be accessed by application:get_env/2.

  • erl_opts: Typically compile options are managed by global config files, however, sometimes it is desirable to overwrite the pre-defined compile options. The erl_opts field allows developers to do so for individual applications.

    The main use-case are the applications listed in third-party/. This option should not be used by other applications +without consultation. Please ask in the WhatsApp Dev Infra Q&A +workplace group for support.

  • extra_includes: In some cases we might have the situation, where an application app_a depends through the applications and included_applications fields on application app_b and a source file in app_b includes a header file from app_a (e.g. -include_lib("app_a/include/header.hrl). This technically creates circular dependency from app_a to app_b (e.g. via applications field) and back from app_b to app_a (via -include_lib). To break the dependency developers can specify targets in the extra_includes field, whose public include files are accessible to the application target during build time.

    Only the includes of the specified application are available and eventual transitive dependencies need to be managed +manually.

    NOTE: It is not possible (or even desired) to add OTP applications with this field.

    NOTE: This mechanism is added to circumvent unclean dependency relationships and the goal for +developers should be to reduce usages of this field. DO NOT ADD ANY MORE USAGES!!

  • extra_properties: The extra_properties field can be used to specify extra key-value pairs which is are not defined in application_opt(). The key-value pair will be stored in the applications .app file and can be accessed by file:consult/1.

  • include_src: This field controls if the generated application directory contains a src/ directory with the Erlang code or not.

  • included_applications: Check the documentation for applications.

  • includes: The public header files accessible via -include_lib("appname/include/header.hrl") from other erlang files.

  • mod: The mod field specifies the equivalent field in the generated *.app files. The format is similar, with the difference, that the module name, and the individual start arguments need to be given as the string representation of the corresponding Erlang terms.

  • os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.

  • peek_private_includes: This attribute allows you to use the private includes of the application's dependencies. This can be useful for test applications, to create shared abstractions for tests. It's not advisable to use this attribute for prodution code. All private includes transitively must be non-ambiguous.

  • resources: The resources field specifies targets whose default output are placed in the applications priv/ directory. For regular files this field is typically combined with export_file, filegroup, or similar targets. However, it is general, and any target can be used, e.g. if you want to place a built escript in the priv/ directory, you can use an erlang_escript target.

  • shell_configs: This attribute allows to set config files for the shell. The dependencies that are typically used here are export_file targets.

  • shell_libs: This attribute allows to define additional dependencies for the shell. By default this is set to ["prelude//erlang/shell:buck2_shell_utils"] which includes a user_default module that loads and compiles modules with buck2 mechanisms.

  • srcs: A list of *.erl, *.hrl, *.xrl, or *.yrl source inputs that are typically located in an application's src/ folder. Header files (i.e. *.hrl files) specified in this field are considered application private headers, and can only be accessed by the *.erl files of the application itself. *.xrl and *.yrl files are processed into *.erl files before all *.erl files are compiled into *.beam files.

  • use_global_parse_transforms: This field indicates if global parse_tranforms should be applied to this application as well. It often makes sense for third-party dependencies to not be subjected to global parse_transforms, similar to OTP applications.

  • version: The version field specifies the applications version that is materialized as vsn field in the generated *.app file. If you use the the app_src field and specify a version in the referenced template in addition to the version field, the versions need to be identical.

    If no version is specified in either the app_src template or the version field, a fallback version string of +"1.0.0" is used.

  • xrl_includefile: Customised prologue file to replace the default. See includefile option for details.

  • yrl_includefile: Customised prologue file to replace the default. See includefile option for details.

Details

Erlang Applications are the basic building block of our buck2 integration and used by many other Erlang +targets, e.g. erlang_escript, erlang_test, or erlang_release.

The erlang_application targets build OTP applications and as such many attributes that are used have +equivalent meaning to the fields in the currently (by rebar3) used *.app.src files and OTP *.app +files. Please familiarize yourself with the semantics of these fields by consulting the +OTP documentation.

The target enforces uniqueness during builds, and fails to build if duplicated artifacts in the +global namespaces are detected:

  • duplicated application names in the dependencies
  • duplicated module names across any of the applications or dependencies modules
  • ambiguity when resolving header files

The default output of this rule is the application folder of the target application and all transitive dependencies.

Examples:

Minimal Erlang Application

erlang_application(
name = "minimal",
)

With priv/ directory

erlang_application(
name = "app_a",
srcs = [
"src/app_a.erl",
],
includes = [],
applications = [
":app_b",
],
app_src = "src/app_a.app.src",
resources = [
":readme",
],
)

export_file(
name = "readme",
src = "README.md",
)

Using OTP applications and mod field

erlang_application(
name = "app_b",
srcs = [
"src/app_b.erl",
"src/app_b.hrl",
],
includes = [],
applications = [
"kernel",
"stdlib",
":app_c",
],
mod = ("app_b", [
"some_atom",
""some string"",
"{tagged_tuple, 42}",
]),
)

Using Yecc and Leex

erlang_application(
name = "yecc_leex",
srcs = [
"src/leex_stub.xrl",
"src/yecc_stub.yrl",
],
)

erlang_app_includes

def erlang_app_includes(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_toolchain: str = _,
application_name: str,
buck2_compatibility: str = _,
contacts: list[str] = _,
includes: list[str] = _,
labels: list[str] = _,
os_env: None | dict[str, str] = _
) -> None

This rule is a supplementary rule for Erlang applications. It gets generated by using the erlang_application macro, that takes as attributes the same attributes as this rule. You should always use the erlang_application macro instead of using this rule directly.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.

erlang_escript

def erlang_escript(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_toolchain: str = _,
buck2_compatibility: str = _,
bundled: bool = _,
configs: list[str] = _,
contacts: list[str] = _,
deps: list[str],
emu_args: list[str] = _,
include_priv: bool = _,
labels: list[str] = _,
main_module: None | str = _,
os_env: None | dict[str, str] = _,
resources: list[str] = _,
script_name: None | str = _
) -> None

The erlang_escript target builds and runs bundled escripts. Please refer to the OTP documentation for more details about escripts.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • bundled: Setting bundled to True does generate a folder structure and escript trampoline instead of an archive.

  • configs: This attribute allows to set config files for the escript. The dependencies that are typically used here are export_file targets.

  • deps: List of Erlang applications that are bundled in the escript. This includes all transitive dependencies as well.

  • emu_args: This field specifies the emulator flags that the escript uses on execution. It is often desirable to specify the number of threads and schedulers the escript uses. Please refer to the OTP documentation for details.

  • include_priv: Setting this flag, will package the applications priv directory in the escript. Similar to files added through the resources field, the priv folders files can then be accessed by escript"extract/2.

  • main_module: Overrides the default main module. Instead of deferring the main module from the scripts filename, the specified module is used. That module needs to export a main/1 function that is called as entry point.

  • os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.

  • resources: This adds the targets default output to the escript archive. To access these files, you need to use escript:extract/2, which will extract the entire escript in memory. The relevant files can then be accessed through the archive section.

    Please refer to the escript:extract/2 for more details.

  • script_name: Overrides the filename of the produced escript.

Details

Escripts by default always try to use the module that has the same name as the escripts basename as entry point, e.g. if +the escript is called script.escript then running the escript will try to call script:main/1. Both name and +main module can be overwritten though.

The target name doubles as the default escript name. If the main_module attribute is not used, the escript filename will +be <name>.escript.

Examples:

erlang_escript(
name = "script",
main_module = "main_module",
script_name = "the_script",
deps = [
":escript_app",
],
emu_args = ["+sbtu", "+A1"],
)

erlang_application(
name = "escript_app",
srcs = ["src/main_module.erl"],
applications = [
"kernel",
"stdlib",
],
)

erlang_otp_binaries

def erlang_otp_binaries(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
erl: str,
erlc: str,
escript: str,
labels: list[str] = _,
os_env: None | dict[str, str] = _
) -> None

This target defines the executables for the Erlang toolchains, and is required to defined a toolchain.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • erl: Reference to erl binary
  • erlc: Reference to erlc binary
  • escript: Reference to escript binary
  • os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.

Details

Examples:

erlang_otp_binaries( +name = "local", +erl = "local/erl", +erlc = "local/erlc", +escript = "local/escript", +)


erlang_release

def erlang_release(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_toolchain: str = _,
applications: list[str | (str, str)],
buck2_compatibility: str = _,
contacts: list[str] = _,
include_erts: bool = _,
labels: list[str] = _,
multi_toolchain: None | list[str] = _,
os_env: None | dict[str, str] = _,
overlays: dict[str, list[str]] = _,
release_name: None | str = _,
version: str = _
) -> None

The erlang_release target builds OTP releases. Please refer to the OTP documentation for more details about releases.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • applications: This field specifies the list of applications that the release should start in the given order, and optionally the start type. Top-level applications without given start type are started with type permanent.
  • include_erts: This field controls whether OTP applications and the Erlang runtime system should be included as part of the release. Please note, that at the moment the erts folder is just erts/.
  • multi_toolchain: This field controls whether the release should be built with a single toolchain, or multiple toolchains. In the latter case, all output paths are prefixed with the toolchain name.
  • os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.
  • overlays: Overlays can be used to add files to the release. They are specified as mapping from path (from the release root) to list of targets. The targets files are places flat at the target location with their basename.
  • release_name: The release name can explicitly be set by this field. This overwrites the default from the target name.
  • version: The version field specifies the release version. The release version is used in the release resource file, and is part of the path for the folder containing the boot scripts.

Details

The erlang_release target does by default (without overlays) package:

  • applications that are required to start the release
  • release resource file <relname>.rel (see rel(4))
  • boot script start.script (see rel(4))
  • binary boot script start.boot
  • bin/release_variables

The release_variables file contains release name, version, and erts version in shell syntax, e.g.

ERTS_VSN="12.1.2"
REL_NAME="rel1"
REL_VSN="1.0.0"

The target name doubles as the default release name. If the release_name attribute is used, the release name will be +sources from there instead.

Examples:

erlang_release(
name = "world",
version = "1.0.0",
applications = [
"//apps//app_a:app_a",
"//apps//app_b:app_b",
],
overlays = {
"releases/1.0.0": [
":sys.config.src",
],
"bin": [
":start.sh",
],
},
)

export_file(
name = "sys.config.src",
src = "sys.config",
)

export_file(
name = "start.sh",
src = "start.sh",
)

erlang_test

def erlang_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_artifact_annotation_mfa: str = _,
_cli_lib: str = _,
_ct_opts: str = _,
_providers: str = _,
_test_binary: str = _,
_test_binary_lib: str = _,
_toolchain: str = _,
_trampoline: None | str = _,
_trampolines: None | list[str] = _,
buck2_compatibility: str = _,
common_app_env: dict[str, str] = _,
config_files: list[str] = _,
contacts: list[str] = _,
deps: list[str] = _,
env: dict[str, str] = _,
extra_ct_hooks: list[str] = _,
extra_erl_flags: list[str] = _,
labels: list[str] = _,
os_env: None | dict[str, str] = _,
preamble: str = _,
property_tests: list[str] = _,
remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,
resources: list[str] = _,
shell_configs: list[str] = _,
shell_libs: list[str] = _,
suite: str
) -> None

The erlang_test ruls defines a test target for a single test suite. In most cases you want to define multiple suites in one go. The erlang_tests macro allows users to generate erlang_test targets for multiple test suites. Each suite <name>_SUITE.erl will have a generated hidden erlang_test target whose name is <name>_SUITE.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • _trampoline: DEPRECATED. Use _trampolines instead.

  • common_app_env: Application environment variables for the common application.

  • config_files: Will specify what config files the erlang beam machine running test with should load, for reference look at OTP documentation. These ones should consist of default_output of some targets. In general, this field is filled with target coming from then export_file rule, as in the example below.

  • deps: The set of dependencies needed for all suites included in the target to compile and run. They could be either erlang_app(lication) or erlang_test targets, although the latter is discouraged. If some suites need to access common methods, a common helper file should be created and included in the srcs field of the erlang_tests target. If some applications are included as dependencies of this target, their private include will automatically be pulled and made available for the test. That allows tests to access the private header files from the applications under test.

  • env: Add the given values to the environment variables with which the test is executed.

  • extra_ct_hooks: List of additional Common Test hooks. The strings are interpreted as Erlang terms.

  • extra_erl_flags: List of additional command line arguments given to the erl command invocation. These arguments are added to the front of the argument list.

  • os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.

  • resources: The resources field specifies targets whose default output are placed in the test data_dir directory for all the suites present in the macro target. Additionally, if data directory are present in the directory along the suite, this one will be pulled automatically for the relevant suite.

    Any target can be used, e.g. if you want to place a built escript in the data_dir directory, you can use +an erlang_escript target.

  • shell_configs: This attribute allows to set config files for the shell. The dependencies that are typically used here are export_file targets.

  • shell_libs: This attribute allows to define additional dependencies for the shell. By default this is set to ["prelude//erlang/shell:buck2_shell_utils"] which includes a user_default module that loads and compiles modules with buck2 mechanisms.

  • suite: The source file for the test suite. If you are using the macro, you should use the suites attribute instead.

    The suites attribute specifies which erlang_test targets should be generated. For each suite "path_to_suite/suite_SUITE.erl" an +implicit 'erlang_test' target suite_SUITE will be generated.

Details

Each erlang_test target implements tests using the Common Test library +OTP documentation. They can, +although it is not recommended, also act as dependencies of other tests. The +default output of this rule is a "test_folder", consisting of the compiled test suite +and the data directory.

For each suite <name>_SUITE.erl, if a data_dir <name>_SUITE_data is present along the suite, +(as per the data_dir naming scheme for ct), +it will automatically adds the corresponding resource target to the generated test target of the suite. +Resources will be placed in the Data directory (data_dir) +of each of the suite.

It allows the writer of the rule to add global configuration files and global default +dependencies (e.g meck). These ones should be specified using global +variables erlang.erlang_tests_default_apps and erlang.erlang_tests_default_config +respectively.

The erlang_tests macro forwards all attributes to the erlang_test. It defines some attributes +that control how the targets get generated:

  • srcs ([source]): Set of files that the suites might depend on and that are not part of any specific application. +A "meta" application having those files as sources will automatically be created, and included in the dependencies +of the tests.

One can call

  • buck2 build //my_app:test_SUITE to compile the test files together with its dependencies.
  • buck2 test //my_app:other_test_SUITE to run the test.
  • buck2 run //my_app:other_test_SUITE to open an interactive test shell, where tests can be run iteratively.

buck2 test will rely on tpx to run the suite. To get access to tpx commands, add -- after the +target. For example:

  • buck2 test //my_app:other_test_SUITE -- --help will print the list of tpx available +command line parameters.
  • buck2 test //my_app:other_test_SUITE -- group.mycase will only run those test cases +that match the pattern group.mycase

Examples:

erlang_test( +name = "unit_test_SUITE", +suite = "unit_test_SUTIE.erl", +deps = [":my_other_app"], +contacts = ["author@email.com"], +)

erlang_tests( +suites = ["test_SUITE.erl", "other_test_SUITE".erl], +deps = [":my_app"], +contacts = ["author@email.com"], +)


export_file

def export_file(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
mode: None | str = _,
out: None | str = _,
src: None | str = _
) -> None

An export_file() takes a single file or folder and exposes it so other rules can use it.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • mode: How files are referenced internally in buck. If set to 'copy', then a full copy will be made into the new location in buck-out. If set to 'reference', the original file will be used by internal build rules in-place. However, this mode does not work across repositories or if the 'out' property is set. For read-only operations, 'reference' can be more performant.
  • out: The name which the file will be called if another rule depends on it instead of the name it already has.
  • src: The path to the file that should be exported.

Details

Examples:

The best way to see how the export_file() rule works is with some examples. The +common case is:


export_file(
name = 'example.html',
)

# This is equivalent to

export_file(
name = 'example.html',
src = 'example.html',
out = 'example.html',
)

It is sometimes useful to refer to the file not by its path, but by a more logical name:


export_file(
name = 'example',
src = 'example.html',
)

# This is equivalent to

export_file(
name = 'example',
src = 'example.html',
out = 'example.html',
)

Finally, there are occasions where you want to export a file more than once but want to copy it to +a different name for each output:


export_file(
name = 'runner',
src = 'RemoteRunner.html',
)

export_file(
name = 'runner_hta',
src = 'RemoteRunner.html',
out = 'RemoteRunner.hta',
)

Using the export_file() rule is also simple:


export_file(
name = 'example',
src = 'example.html',
)

genrule(
name = 'demo',
out = 'result.html',
cmd = 'cp $(location :example) $OUT',
)


external_test_runner

def external_test_runner(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
binary: str,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

filegroup

def filegroup(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
copy: bool = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
srcs: list[str] | dict[str, str] = _
) -> None

This rule provides access to a set of files.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • srcs: The set of files to include in this rule.

Details

Files are accessible to genrule()s by using their relative path +after a $(location) string parameter macro.

Other rules may handle filegroup() rules natively for attributes +such as resources.

Examples:

In this example a target exports .xml files from all subdirectories +in resources.


filegroup(
name = 'example',
srcs = glob(['resources/**/*.xml']),
)

genrule(
name = 'process_xml',
out = 'processed.xml',
cmd = '$(exe //example:tool) -in $(location :example)/resources/file.xml > $OUT',
)


gen_aidl

def gen_aidl(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_exec_os_type: str = _,
_java_toolchain: str = _,
aidl: str,
aidl_srcs: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
import_path: str = _,
import_paths: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _
) -> None

A gen_aidl() rule is used to generate .java files from .aidl files.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • aidl: The path to an .aidl file to convert to a .java file.
  • aidl_srcs: Path to .aidl files the target aidl file imports.
  • deps: A list of rules that must be built before this rule.
  • import_path: The search path for import statements for the aidl command. (This is the -I argument when invoking aidl from the command line. For many apps it will be the base dir where all aidl files are, with project root as its parent, e.g. app/src/main/aidl.). This is the same as the path to the aidl file relative to what would be returned from root.

Details

Examples:


android_library(
name = 'lib',
srcs = glob(['**/*.java']) + [':aidl'],
manifest = '//res/org/opencv:manifest',
deps = [
'//res/org/opencv:res',
],
visibility = [ 'PUBLIC' ],
)

gen_aidl(
name = 'aidl',
aidl = 'engine/OpenCVEngineInterface.aidl',
import_path = 'java/',
)


genrule

def genrule(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_exec_os_type: str = _,
_genrule_toolchain: str = _,
always_print_stderr: bool = _,
bash: None | str = _,
buck2_compatibility: str = _,
cacheable: None | bool = _,
cmd: None | str = _,
cmd_exe: None | str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
default_outs: None | list[str] = _,
enable_sandbox: None | bool = _,
env: dict[str, str] = _,
environment_expansion_separator: None | str = _,
executable: None | bool = _,
labels: list[str] = _,
licenses: list[str] = _,
metadata_env_var: None | str = _,
metadata_path: None | str = _,
need_android_tools: bool = _,
no_outputs_cleanup: bool = _,
out: None | str = _,
outs: None | dict[str, list[str]] = _,
remote: None | bool = _,
remote_execution_dependencies: list[dict[str, str]] = _,
srcs: list[str] | dict[str, str] = _,
type: None | str = _,
weight: None | int = _
) -> None

A genrule() is used to generate files from a shell command. It must produce a single output file or folder.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • bash: A platform-specific version of the shell command parameter cmd. It runs on Linux and UNIX systems—including OSX—on which bash is installed. It has a higher priority than cmd. The bash argument is run with /usr/bin/env bash -c. It has access to the same set of macros and variables as the cmd argument.

  • cmd: The shell command to run to generate the output file. It is the fallback for bash and cmd_exe arguments. The following environment variables are populated by Buck and available to the shell command. They are accessed using the syntax:

    ${<variable>}

    Example:

    ${SRCS}

    ${SRCS}

    A string expansion of the srcs argument delimited +by the environment_expansion_separator argument +where each element of srcs will be translated +into a relative path.

    ${SRCDIR}

    The relative path to a directory to which sources are copied +prior to running the command.

    ${OUT}

    The output file or directory for the genrule(). +This variable will have whatever value is specified by +the out argument if not using named outputs. If +using named outputs, this variable will be the output directory.

    The value should be a valid filepath. The semantics of the shell +command determine whether this filepath is treated as a file or a +directory. If the filepath is a directory, then the shell command +needs to create it if not using named outputs. Otherwise, it will +be automatically created. All outputs (directories and files) must +be readable, writable, and (in the case of directories) executable +by the current user.

    The file or directory specified by this variable must always +be written by this command. If not, the execution of this +rule will be considered a failure, halting the build process.

    ${TMP}

    A temporary directory which can be used for intermediate +results and will not be bundled into the output.

  • cmd_exe: A platform-specific version of the shell command parameter cmd. It runs on Windows and has a higher priority than cmd. The cmd_exe argument is run with cmd.exe /v:off /c. It has access to the same set of macros and variables as the cmd argument.

  • default_outs: Default output which must be present if the outs arg is present. Otherwise does not apply.

    If a rule with outs is consumed without an output label, the default output is returned. The +default output does not need to be present in any of the named outputs defined in outs.

    Note that a maximum of one value may be present in this list. For example:

    default_outs = [ "output_one", ]

    is valid, whereas

    default_outs = [ "output_one", "output_two", ]

    is not.

  • enable_sandbox: Whether this target should be executed in a sandbox or not.

  • environment_expansion_separator: The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces.

  • executable: Whether the output of the genrule is itself executable. Marking an output as executable makes buck run and $(exe ...) macro expansion work with this target.

  • out: The name of the output file or directory. The complete path to this argument is provided to the shell command through the OUT environment variable. Only one of out or outs may be present.

  • outs: Mapping defining named outputs to output paths relative to the rule's output directory. Only one of out or outs may be present.

    Example:


    genrule(
    name = "named_outputs",
    outs = {
    "output1": [
    "out1.txt",
    ],
    "output2": [
    "out2.txt",
    ],
    },
    default_outs = [ "out1.txt" ],
    cmd = "echo something> $OUT/out1.txt && echo another> $OUT/out2.txt",
    )

    Note that a maximum of one value may be present in the list in this map. For example:


    outs = {
    "output1": [
    "out1.txt",
    ],
    },

    is valid, whereas


    outs = {
    "output1": [
    "out1.txt",
    "out2.txt",
    ],
    },

    is not.

  • remote: Opts this genrule in to remote execution. Note that it is only safe to execute a genrule remotely if it is completely hermetic and completely and correctly describes its dependencies. Defaults to false. This parameter is unstable. It is subject to removal, default reversal, and other arbitrary changes in the future.

  • srcs: Either a list or a map of the source files which Buck makes available to the shell command at the path in the SRCDIR environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names.

  • type: Specifies the type of this genrule. This is used for logging and is particularly useful for grouping genrules that share an underlying logical "type".

    For example, if you have the following cxx_genrule defined +in the root directory of your Buck project



    cxx_genrule(
    name = 'cxx_gen',
    type = 'epilog',
    cmd = 'touch finish.txt; cp finish.txt $OUT',
    out = 'finish.txt'
    )

    then the following buck query command



    buck query "attrfilter( type, 'epilog', '//...' )"

    returns



    //:cxx_gen

  • weight: How many local slots these genrule should take when executing locally.

Details

Examples:

This genrule() uses a Python script to derive a new +AndroidManifest.xml from an +AndroidManifest.xml in the source tree. +Note you don't need to prepend execution commands with +python: Buck knows how to execute different +kinds of binaries using $(exe) command.


genrule(
name = 'generate_manifest',
srcs = [
'AndroidManifest.xml',
],
bash = '$(exe //python/android:basic_to_full) ' '$SRCDIR/AndroidManifest.xml > $OUT',
cmd_exe = '$(exe //python/android:basic_to_full) ' '%SRCDIR%\AndroidManifest.xml > %OUT%',
out = 'AndroidManifest.xml',
)


genrule(
name = 'generate_manifest_with_named_outputs',
srcs = [
'AndroidManifest.xml',
],
bash = '$(exe //python/android:basic_to_full) ' '$SRCDIR/AndroidManifest.xml > $OUT/AndroidManifest.xml',
cmd_exe = '$(exe //python/android:basic_to_full) ' '%SRCDIR%\AndroidManifest.xml > %OUT%\AndroidManifest.xml',
outs = {
"manifest": [ "AndroidManifest.xml" ],
},
default_outs = [ "AndroidManifest.xml" ],
)

For named outputs, build with any of the following:


buck build //:generate_manifest_with_named_outputs


buck build //:generate_manifest_with_named_outputs[manifest]

Consume in srcs with:


export_file(
name = "magic1",
src = ":generate_manifest_with_named_outputs",
out = "some_dir_to_copy_to/AndroidManifest.xml",
)


export_file(
name = "magic2",
src = ":generate_manifest_with_named_outputs[manifest]",
out = "some_dir_to_copy_to/AndroidManifest.xml",
)

Note that magic1 consumes generate_manifest_with_named_outputs's default +output. magic2 consumes generate_manifest_with_named_outputs's named +output "manifest," which happen to be pointing to the same output as the default output in this +case, but they do not have to point to the same output.


git_fetch

def git_fetch(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_git_fetch_tool: str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
repo: str,
rev: str
) -> None

Checkout a commit from a git repository.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • repo: Url suitable as a git remote.
  • rev: 40-digit hex SHA-1 of the git commit.

Details

Examples:

git_fetch(
name = "serde.git",
repo = "https://github.com/serde-rs/serde",
rev = "fccb9499bccbaca0b7eef91a3a82dfcb31e0b149",
)

go_binary

def go_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_asan: bool = _,
_exec_os_type: str = _,
_go_stdlib: str = _,
_go_toolchain: str = _,
_race: bool = _,
_tags: list[str] = _,
asan: bool = _,
assembler_flags: list[str] = _,
buck2_compatibility: str = _,
cgo_enabled: None | bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
embedcfg: None | str = _,
external_linker_flags: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
link_mode: None | str = _,
link_style: None | str = _,
linker_flags: list[str] = _,
package_root: None | str = _,
platform: None | str = _,
platform_external_linker_flags: list[(str, list[str])] = _,
race: bool = _,
resources: list[str] = _,
srcs: list[str] = _,
tags: list[str] = _
) -> None

A go_binary() rule builds a native executable from the supplied set of Go source files and dependencies. The files supplied are expected to be in the main package, implicitly.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • asan: If true, enable ASAN.
  • assembler_flags: The set of additional assembler flags to pass to go tool asm.
  • cgo_enabled: Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False.
  • compiler_flags: The set of additional compiler flags to pass to go tool compile.
  • deps: The set of dependencies of this rule. Currently, this only supports go_library rules.
  • external_linker_flags: Extra external linker flags passed to go link via -extld argument. If argument is non-empty or cgo_library is used, the link mode will switch to external.
  • link_mode: Determines the link mode (equivalent of -mode). Can be one of the following values: internal, external. If no value is provided, the mode is set automatically depending on the other args.
  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: static, static_pic or shared. This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument.
  • linker_flags: Extra linker flags passed to go link
  • package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"
  • race: If true, enable data race detection.
  • srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler.
  • tags: Build tags to apply to this target and its dependencies.

Details

Examples:

For more examples, check out our integration tests.


go_binary(
name='greet',
srcs=[
'main.go',
],
deps=[
':greeting',
],
)

go_library(
name='greeting',
srcs=[
'greeting.go',
],
deps=[
':join',
],
)

go_library(
name='join',
srcs=[
'join.go',
],
)


go_bootstrap_binary

def go_bootstrap_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_exec_os_type: str = _,
_go_toolchain: str = _,
buck2_compatibility: str = _,
entrypoints: list[str] = _,
srcs: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • entrypoints: Package name or file names
  • srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler.

go_exported_library

def go_exported_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_asan: bool = _,
_exec_os_type: str = _,
_go_stdlib: str = _,
_go_toolchain: str = _,
_race: bool = _,
_tags: list[str] = _,
asan: bool = _,
assembler_flags: list[str] = _,
buck2_compatibility: str = _,
build_mode: str,
cgo_enabled: None | bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
embedcfg: None | str = _,
external_linker_flags: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
link_mode: None | str = _,
link_style: None | str = _,
linker_flags: list[str] = _,
package_root: None | str = _,
platform: None | str = _,
platform_external_linker_flags: list[(str, list[str])] = _,
race: bool = _,
resources: list[str] = _,
srcs: list[str] = _,
tags: list[str] = _
) -> None

A go_exported_library() rule builds a C library from the supplied set of Go source files and dependencies. This is done via -buildmode flag and "//export" annotations in the code.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • asan: If true, enable ASAN.
  • assembler_flags: The set of additional assembler flags to pass to go tool asm.
  • build_mode: Determines the build mode (equivalent of -buildmode). Can be one of the following values: c_archive, c_shared. This argument is valid only if at there is at least one cgo_library declared in deps. In addition you should make sure that -sharedflag is added tocompiler_flagsand go version undergo.gorootis compiled with that flag present in:gcflags, ldflagsandasmflags``
  • cgo_enabled: Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False.
  • compiler_flags: The set of additional compiler flags to pass to go tool compile.
  • deps: The set of dependencies of this rule. Currently, this only supports go_library rules.
  • external_linker_flags: Extra external linker flags passed to go link via -extld argument. If argument is non-empty or cgo_library is used, the link mode will switch to external.
  • link_mode: Determines the link mode (equivalent of -mode). Can be one of the following values: internal, external. If no value is provided, the mode is set automatically depending on the other args.
  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: static, static_pic or shared. This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument.
  • linker_flags: Extra linker flags passed to go link
  • package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"
  • race: If true, enable data race detection.
  • resources: Static files to be symlinked into the working directory of the test. You can access these in your by opening the files as relative paths, e.g. ioutil.ReadFile("testdata/input").
  • srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler.
  • tags: Build tags to apply to this target and its dependencies.

Details

Examples:

For more examples, check out our integration tests.


go_exported_library(
name = "shared",
srcs = ["main.go"],
build_mode = "c_shared",
compiler_flags = ["-shared"],
deps = [":example"],
)

cgo_library(
name = "example",
package_name = "cgo",
srcs = [
"export-to-c.go", # file with //export annotations
],
cgo_compiler_flags = [],
compiler_flags = [],
headers = [],
)

cxx_genrule(
name = "cgo_exported_headers",
out = "includes",
cmd = (
"mkdir -p $OUT && " +
"cat `dirname $(location :shared)`/includes/*.h > $OUT/_cgo_export.h"
),
)

prebuilt_cxx_library(
name = "cxx_so_with_header",
header_dirs = [":cgo_exported_headers"],
shared_lib = ":shared",
)


go_library

def go_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_asan: bool = _,
_cgo_enabled: None | bool = _,
_compile_shared: bool = _,
_coverage_mode: None | str = _,
_go_stdlib: str = _,
_go_toolchain: str = _,
_race: bool = _,
_tags: list[str] = _,
assembler_flags: list[str] = _,
buck2_compatibility: str = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
embedcfg: None | str = _,
exported_deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
package_name: None | str = _,
package_root: None | str = _,
srcs: list[str] = _
) -> None

A go_library() rule builds a native library from the supplied set of Go source files and dependencies.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • assembler_flags: The set of additional assembler flags to pass to go tool asm.
  • compiler_flags: The set of additional compiler flags to pass to go tool compile.
  • deps: The set of dependencies of this rule. Currently, this only supports go_library rules.
  • package_name: Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b")
  • package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"
  • srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler.

Details

Examples:

For more examples, check out our integration tests.


go_library(
name='greeting',
srcs=[
'greeting.go',
],
deps=[
':join',
],
)


go_stdlib

def go_stdlib(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_asan: bool = _,
_cgo_enabled: None | bool = _,
_compile_shared: bool = _,
_exec_os_type: str = _,
_go_toolchain: str = _,
_race: bool = _,
_tags: list[str] = _,
buck2_compatibility: str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

go_test

def go_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_asan: bool = _,
_coverage_mode: None | str = _,
_exec_os_type: str = _,
_go_stdlib: str = _,
_go_toolchain: str = _,
_inject_test_env: str = _,
_race: bool = _,
_remote_test_execution_toolchain: str = _,
_tags: list[str] = _,
_testmaingen: str = _,
asan: bool = _,
assembler_flags: list[str] = _,
buck2_compatibility: str = _,
cgo_enabled: None | bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
coverage_mode: None | str = _,
default_host_platform: None | str = _,
deps: list[str] = _,
embedcfg: None | str = _,
env: dict[str, str] = _,
external_linker_flags: list[str] = _,
labels: list[str] = _,
library: None | str = _,
licenses: list[str] = _,
link_mode: None | str = _,
link_style: None | str = _,
linker_flags: list[str] = _,
package_name: None | str = _,
package_root: None | str = _,
platform: None | str = _,
race: bool = _,
remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,
remote_execution_action_key_providers: None | str = _,
resources: list[str] = _,
run_test_separately: bool = _,
runner: None | str = _,
specs: None | str = _,
srcs: list[str] = _,
tags: list[str] = _,
test_rule_timeout_ms: None | int = _
) -> None

A go_test() rule builds a native binary from the specified Go source and resource files—and a generated main file. It's similar to the go test command.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • asan: If true, enable ASAN.

  • assembler_flags: The set of additional assembler flags to pass to go tool asm.

  • cgo_enabled: Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False.

  • compiler_flags: The set of additional compiler flags to pass to go tool compile.

  • deps: The set of dependencies of this rule. Currently, this only supports go_library rules.

  • env: A map of environment variables and values to set when running the test.

  • external_linker_flags: Extra external linker flags passed to go link via -extld argument. If argument is non-empty or cgo_library is used, the link mode will switch to external.

  • labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test

  • library: Specify the library that this internal test is testing. This will copy the srcs, package_name and deps from the target specified so you don't have to duplicate them.

  • link_mode: Determines the link mode (equivalent of -mode). Can be one of the following values: internal, external. If no value is provided, the mode is set automatically depending on the other args.

  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: static, static_pic or shared. This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument.

  • linker_flags: Extra linker flags passed to go link

  • package_name: Sets the full name of the test package being compiled. This defaults to the path from the buck root with "_test" appended. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b_test")

    Note: if you want to test packages internally (i.e. same package name), use the library +parameter instead of setting package_name to include the tested source files.

  • package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"

  • race: If true, enable data race detection.

  • srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler.

  • tags: Build tags to apply to this target and its dependencies.

  • test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig .

Details

If your test requires static files you should specify these in +the resources argument. If you do not specify these +files, they won't be available when your test runs.

Examples:

For more examples, check out our integration tests.


go_library(
name='greeting',
srcs=[
'greeting.go',
],
deps=[
':join',
],
)

go_test(
name='greeting-test',
srcs=[
'greeting_ext_test.go',
],
deps=[
':greeting'
],
)

go_test(
name='greeting-internal-test',
package_name='greeting',
srcs=[
'greeting.go',
'greeting_test.go',
],
deps=[
':join',
],
)

# Or

go_test(
name='greeting-better-internal-test',
srcs=['greeting_test.go'],
library=':greeting',
)



go_test_runner

def go_test_runner(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
test_runner_generator: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

groovy_library

def groovy_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
extra_groovyc_arguments: list[str] = _,
java_version: None | str = _,
javac: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resources: list[str] = _,
resources_root: None | str = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
target: None | str = _
) -> None

A groovy_library() rule is used to define a set of Groovy files that can be compiled together. It can also be used to cross compile a set of Groovy and Java files. The main output of a groovy_library() rule is a single JAR file containing all of the compiled class files and resources.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • deps: Rules (usually other groovy_library or java_library() rules) that are used to generate the classpath required to compile this groovy_library.

    This is the same as in java_library().

  • exported_deps: Other groovy_library and java_library() rules that depend on this rule will also include its exported_deps in their classpaths.

    This is the same as in java_library().

  • extra_arguments: Only used during cross compilation.

    This is the same as in java_library().

  • extra_groovyc_arguments: List of additional arguments to pass into the Groovy compiler.

  • java_version: Only used during cross compilation.

    This is the same as in java_library().

  • provided_deps: This is the same as in java_library().

  • resources: This is the same as in java_library().

  • source: Only used during cross compilation.

    This is the same as in java_library().

  • srcs: The set of files to compile for this rule. Usually these will all end in .groovy, but if any of the files end in .java, cross compilation using the jdk found in JAVA_HOME will occur.

  • target: Only used during cross compilation.

    This is the same as in java_library().

Details

Examples:


# A rule that compiles a single .groovy file.
groovy_library(
name = 'example',
srcs = ['MySourceFile.groovy'],
)


# A rule that compiles all of the .groovy files under the directory in
# which the rule is defined using glob()
groovy_library(
name = 'groovy-only',
srcs = glob(['**/*.groovy']),
)


# A rule that cross compiles all of the .groovy and .java files under
# the directory in which the rule is defined, failing if compiling the
# java files generates any compiler warnings
groovy_library(
name = 'cross-compilation',
srcs = glob(['**/*.groovy', '**/*.java']),
java_version = 8,
extra_arguments = [
'-Werror',
],
)


groovy_test

def groovy_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
cxx_library_whitelist: list[str] = _,
default_cxx_platform: None | str = _,
default_host_platform: None | str = _,
deps: list[str] = _,
deps_query: None | str = _,
env: dict[str, str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
extra_groovyc_arguments: list[str] = _,
fork_mode: str = _,
java_version: None | str = _,
javac: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resources: list[str] = _,
resources_root: None | str = _,
run_test_separately: bool = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
std_err_log_level: None | int | str = _,
std_out_log_level: None | int | str = _,
target: None | str = _,
test_case_timeout_ms: None | int = _,
test_rule_timeout_ms: None | int = _,
test_type: None | str = _,
use_cxx_libraries: None | bool = _,
use_dependency_order_classpath: None | bool = _,
vm_args: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

gwt_binary

def gwt_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_exec_os_type: str = _,
_java_toolchain: str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
draft_compile: bool = _,
experimental_args: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
local_workers: int = _,
module_deps: list[str] = _,
modules: list[str] = _,
optimize: int = _,
strict: bool = _,
style: str = _,
vm_args: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

halide_library

def halide_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
compiler_deps: list[str] = _,
compiler_flags: list[str] = _,
compiler_invocation_flags: list[str] = _,
configs: dict[str, dict[str, str]] = _,
contacts: list[str] = _,
cxx_runtime_type: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
deps_query: None | str = _,
devirt_enabled: bool = _,
executable_name: None | str = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
frameworks: list[str] = _,
function_name: None | str = _,
header_namespace: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
include_directories: list[str] = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_deps_query_whole: bool = _,
link_group: None | str = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_style: None | str = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
prefer_stripped_objects: bool = _,
prefix_header: None | str = _,
preprocessor_flags: list[str] = _,
raw_headers: list[str] = _,
srcs: list[str | (str, list[str])] = _,
supported_platforms_regex: None | str = _,
thin_lto: bool = _,
version_universe: None | str = _,
weak_framework_names: list[str] = _
) -> None

A halide_library() rule represents a set of Halide sources, along with the "compiler" code needed to compile them into object format (see the Halide site for information about Halide and about static compilation of Halide pipelines). The object code will be generated for the target architecture.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • compiler_deps: The dependencies of the halide compiler itself. Targets that depend on the halide_library rule will not include or link the outputs of these targets.
  • compiler_flags: Flags to use when compiling any of the above sources (which require compilation).
  • deps: The dependencies of the generated halide pipeline code. This is useful if, for example, your pipeline calls an external function using Halide::Func::define_extern.
  • linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.
  • platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.
  • platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.
  • srcs: The set of halide sources to compile for this rule. The sources will be compiled and linked for the host architecture, and the resulting binary will be run to produce the object code for the Halide pipeline.
  • supported_platforms_regex: If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms.

Details

Examples:


halide_library(
# Your library name.
name = 'brighter',

# Your pipeline + compiler sources.
srcs = ['halide/main.cpp'],

# Any dependencies for your compiler. Note that targets that depend on
# this rule WILL NOT include or link the output(s) of these targets.
compiler_deps = [
# You'll need libHalide to use this rule; in our example, we assume it's
# located in the 'third-party/halide' directory.
'//third-party/halide:halide'
],

# Any dependencies for your generated shader. Targets that depend on this
# rule will include and/or link the output(s) of these targets.
deps = [
# ...
],
)


haskell_binary

def haskell_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_haskell_toolchain: str = _,
auto_link_groups: bool = _,
buck2_compatibility: str = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
deps_query: None | str = _,
enable_profiling: bool = _,
ghci_platform_preload_deps: list[(str, list[str])] = _,
ghci_preload_deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
link_deps_query_whole: bool = _,
link_group_deps: list[str] = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_group_public_deps_label: None | str = _,
link_style: None | str = _,
linker_flags: list[str] = _,
main: None | str = _,
platform: None | str = _,
platform_deps: list[(str, list[str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
srcs: list[str] | dict[str, str] = _,
template_deps: list[str] = _
) -> None

A haskell_binary() rule represents a groups of Haskell sources and deps which build an executable.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • compiler_flags: Flags to pass to the Haskell compiler when compiling this rule's sources.
  • deps: Either haskell_library() or prebuilt_haskell_library() rules from which this rules sources import modules or native linkable rules exporting symbols this rules sources call into.
  • link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.
  • link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.
  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.
  • main: The main module serving as the entry point into the binary. If not specified, the compiler default is used.
  • platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.
  • srcs: A list of Haskell sources to be built by this rule. The dictionary option is deprecated.

Details

Examples:


haskell_binary(
name = 'foo',
srcs = [
'Foo.hs',
],
)


haskell_ghci

def haskell_ghci(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_haskell_toolchain: str = _,
buck2_compatibility: str = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
deps_query: None | str = _,
enable_profiling: bool = _,
extra_script_templates: list[str] = _,
ghci_bin_dep: None | str = _,
ghci_init: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
linker_flags: list[str] = _,
platform: None | str = _,
platform_deps: list[(str, list[str])] = _,
platform_preload_deps: list[(str, list[str])] = _,
preload_deps: list[str] = _,
srcs: list[str] | dict[str, str] = _,
template_deps: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

haskell_haddock

def haskell_haddock(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_haskell_toolchain: str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
deps_query: None | str = _,
haddock_flags: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
platform: None | str = _,
platform_deps: list[(str, list[str])] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

haskell_ide

def haskell_ide(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_haskell_toolchain: str = _,
buck2_compatibility: str = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
deps_query: None | str = _,
extra_script_templates: list[str] = _,
include_projects: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
link_style: str,
linker_flags: list[str] = _,
platform: None | str = _,
platform_deps: list[(str, list[str])] = _,
srcs: list[str] | dict[str, str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

haskell_library

def haskell_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_haskell_toolchain: str = _,
buck2_compatibility: str = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
enable_profiling: bool = _,
ghci_platform_preload_deps: list[(str, list[str])] = _,
ghci_preload_deps: list[str] = _,
haddock_flags: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
link_whole: bool = _,
linker_flags: list[str] = _,
platform: None | str = _,
platform_deps: list[(str, list[str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
preferred_linkage: str = _,
srcs: list[str] | dict[str, str] = _,
template_deps: list[str] = _
) -> None

A haskell_library() rule is used to identity a group of Haskell sources.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • compiler_flags: Flags to pass to the Haskell compiler when compiling this rule's sources.
  • deps: Either haskell_library() or prebuilt_haskell_library() rules from which this rules sources import modules or native linkable rules exporting symbols this rules sources call into.
  • platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.
  • srcs: A list of Haskell sources to be built by this rule. The dictionary option is deprecated.

Details

Examples:


haskell_library(
name = 'fileutil',
srcs = [
'FileUtil.hs',
],
)


haskell_prebuilt_library

def haskell_prebuilt_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
cxx_header_dirs: list[str] = _,
db: str,
default_host_platform: None | str = _,
deps: list[str] = _,
enable_profiling: bool = _,
exported_compiler_flags: list[str] = _,
exported_linker_flags: list[str] = _,
exported_post_linker_flags: list[str] = _,
id: str = _,
import_dirs: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
pic_profiled_static_libs: list[str] = _,
pic_static_libs: list[str] = _,
profiled_static_libs: list[str] = _,
shared_libs: dict[str, str] = _,
static_libs: list[str] = _,
version: str = _
) -> None

A prebuilt_haskell_library() rule is used to identify Haskell prebuilt libraries and their associated interface files.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • deps: Other prebuilt_haskell_library() rules from which this library imports modules.
  • exported_compiler_flags: Compiler flags used by dependent rules when compiling with this library.
  • exported_linker_flags: Linker flags used by dependent rules when linking with this library.
  • shared_libs: A map of shared library names to shared library paths to use when building a dynamically linked top-level target.
  • static_libs: The libraries to use when building a statically linked top-level target.

Details

Examples:


prebuilt_haskell_library(
name = 'file',
static_interfaces = [
'interfaces',
],
shared_interfaces = [
'interfaces_dyn',
],
static_libs = [
'libFileUtil.a',
],
shared_libs = {
'libFileUtil.so': 'libFileUtil.so',
},
)


http_archive

def http_archive(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
excludes: list[str] = _,
exec_deps: str = _,
labels: list[str] = _,
licenses: list[str] = _,
out: None | str = _,
sha1: None | str = _,
sha256: None | str = _,
strip_prefix: None | str = _,
sub_targets: list[str] = _,
type: None | str = _,
urls: list[str] = _,
vpnless_urls: list[str] = _
) -> None

An http_archive() rule is used to download and extract archives from the Internet to be used as dependencies for other rules. These rules are downloaded by running fetch, or can be downloaded as part of build by setting .buckconfig

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • excludes: An optional list of regex patterns. All file paths in the extracted archive which match any of the given patterns will be omitted.

  • exec_deps: When using http_archive as an anon target, the rule invoking the anon target needs to mirror this attribute into its own attributes, and forward the provider into the anon target invocation.

    When using http_archive normally not as an anon target, the +default value is always fine.

  • out: An optional name to call the directory that the downloaded artifact is extracted into. Buck will generate a default name if one is not provided that uses the name of the rule.

  • sha256: The SHA-256 hash of the downloaded artifact. Buck verifies this is correct and fails the fetch command if it doesn't match in order to guarantee repeatable builds.

  • strip_prefix: If set, files under this path will be extracted to the root of the output directory. Siblings or cousins to this prefix will not be extracted at all.

    For example, if a tarball has the layout:

    • foo/bar/bar-0.1.2/data.dat

    • foo/baz/baz-0.2.3

    • foo_prime/bar-0.1.2

      Only data.dat will be extracted, and it will be extracted into the output +directory specified in out.

  • sub_targets: A list of filepaths within the archive to be made accessible as sub-targets. For example if we have an http_archive with name = "archive" and sub_targets = ["src/lib.rs"], then other targets would be able to refer to that file as ":archive[src/lib.rs]".

  • type: Normally, archive type is determined by the file's extension. If type is set, then autodetection is overridden, and the specified type is used instead.

    Supported values are: zip, tar, tar.gz, +tar.bz2, tar.xz, and tar.zst.

  • urls: A list of urls to attempt to download from. They are tried in order, and subsequent ones are only tried if the download fails. If validation fails, a new URL is not used. Supported protocols are "http", "https", and "mvn".

  • vpnless_urls: Additional URLs from which this resource can be downloaded when off VPN. Meta-internal only.

Details

Examples:

Using http_archive(), third party packages can be downloaded from +an https URL and used in other library types.


http_archive(
name = 'thrift-archive',
urls = [
'https://internal-mirror.example.com/bin/thrift-compiler-0.1.tar.gz.badextension',
],
sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596',
type='tar.gz',
strip_prefix='thrift-compiler-0.1'
)

genrule(
name = 'thrift-compiler-bin',
out = 'thrift',
cmd = 'cp $(location :thrift-archive)/bin/thrift $OUT',
executable = True,
)

genrule(
name="my-thrift-lib-cpp2",
cmd="$(exe :thrift-compiler-bin) --gen cpp2 -o $OUT $(location //:thrift-file)",
out="gen-cpp2",
)


http_file

def http_file(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
executable: None | bool = _,
labels: list[str] = _,
licenses: list[str] = _,
out: None | str = _,
sha1: None | str = _,
sha256: None | str = _,
urls: list[str] = _,
vpnless_urls: list[str] = _
) -> None

An http_file() rule is used to download files from the Internet to be used as dependencies for other rules. This rule only downloads single files, and can optionally make them executable (see http_file()executable) These rules are downloaded by running fetch, or can be downloaded as part of build by setting .buckconfig

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • executable: Whether or not the file should be made executable after downloading. If true, this can also be used via run and the $(exe ) string parameter macros
  • out: An optional name to call the downloaded artifact. Buck will generate a default name if one is not provided that uses the name of the rule.
  • sha256: The SHA-256 hash of the downloaded artifact. Buck verifies this is correct and fails the fetch command if it doesn't match in order to guarantee repeatable builds.
  • urls: A list of urls to attempt to download from. They are tried in order, and subsequent ones are only tried if the download fails. If validation fails, a new URL is not used. Supported protocols are "http", "https", and "mvn".
  • vpnless_urls: Additional URLs from which this resource can be downloaded when off VPN. Meta-internal only.

Details

Examples:

Using http_file(), third party packages can be downloaded from +an https URL and used in java libraries.


http_file(
name = 'guava-23-bin',
urls = [
'http://search.maven.org/remotecontent?filepath=com/google/guava/guava/23.0/guava-23.0.jar',
],
sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596',
)
http_file(
name = 'guava-23-sources',
urls = [
'http://search.maven.org/remotecontent?filepath=com/google/guava/guava/23.0/guava-23.0-sources.jar',
],
sha256 = '37fe8ba804fb3898c3c8f0cbac319cc9daa58400e5f0226a380ac94fb2c3ca14',
)

prebuilt_java_library(
name = 'guava-23',
binary_jar = ':guava-23-bin',
source_jar = ':guava-23-source',
)

Tooling can also be fetched with http_file() and used by a genrule().


genrule(
name="my-thrift-lib-cpp2",
cmd="$(exe :thrift-compiler-bin) --gen cpp2 -o $OUT $(location //:thrift-file)",
out="gen-cpp2",
)

http_file(
name = 'thrift-compiler-bin',
url = 'https://internal-mirror.example.com/bin/thrift-compiler',
sha256 = 'c24932ccabb66fffb2d7122298f7f1f91e0b1f14e05168e3036333f84bdf58dc',
executable = True,
)

Here's an example of a http_file() using a mvn URI which uses a Maven classifier.


http_file(
name = 'guava-23-bin',
urls = [
'mvn:com.google.guava:guava:jar:23.0',
],
sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596',
)


jar_genrule

def jar_genrule(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_genrule_toolchain: str = _,
_java_toolchain: str = _,
always_print_stderr: bool = _,
bash: None | str = _,
buck2_compatibility: str = _,
cacheable: None | bool = _,
cmd: None | str = _,
cmd_exe: None | str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
enable_sandbox: None | bool = _,
environment_expansion_separator: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
metadata_env_var: None | str = _,
metadata_path: None | str = _,
need_android_tools: bool = _,
no_outputs_cleanup: bool = _,
remote: None | bool = _,
remote_execution_dependencies: list[dict[str, str]] = _,
srcs: list[str] | dict[str, str] = _,
type: None | str = _,
weight: None | int = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

java_annotation_processor

def java_annotation_processor(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
does_not_affect_abi: bool = _,
isolate_class_loader: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
processor_class: str = _,
supports_abi_generation_from_source: bool = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

java_binary

def java_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_exec_os_type: str = _,
_is_building_android_binary: bool = _,
_java_toolchain: str = _,
blacklist: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_cxx_platform: None | str = _,
default_host_platform: None | str = _,
deps: list[str] = _,
do_not_create_inner_jar: bool = _,
generate_wrapper: bool = _,
java_args_for_run_info: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
main_class: None | str = _,
manifest_file: None | str = _,
meta_inf_directory: None | str = _
) -> None

A java_binary() rule is used to create a JAR file of the compiled .class files and resources of the java_library() rules on which it depends.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • blacklist: A list of patterns that identify files to exclude from the final generated JAR file. Example:


    java_binary(
    name = 'example',
    blacklist = [
    # Excludes com.example.A and com.example.Alligator,
    # as well as their inner classes and any non-class files that happen to match
    # the pattern
    'com.example.A',

    # Excludes all files from org/slf4j/**/*.
    'org.slf4j',
    ],
    deps = [
    ':example1',
    ':third-party-stuff',
    ],
    )

  • deps: Rules (normally of type java_library) that should be compiled and whose .class files and resources should be included in the generated JAR file.

  • main_class: If provided, this will be the value specified as the Main-Class attribute of the META-INF/MANIFEST.MF file in the generated JAR file. Also, when this rule is used as an executable in a genrule(), main_class will indicate the class whose main() method will be invoked to process the command-line arguments. This is consistent with the expected usage of java -jar *<name.jar>* *<args>*.

  • manifest_file: If provided, this manifest will be used when generating the JAR file. If combined with main_class, the specified manifest file will be used but the main_class will override the main class in the manifest.


java_library

def java_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_dex_min_sdk_version: None | int = _,
_dex_toolchain: str = _,
_exec_os_type: str = _,
_is_building_android_binary: bool = _,
_java_toolchain: str = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
abi_generation_mode: None | str = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
jar_postprocessor: None | str = _,
java_version: None | str = _,
javac: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resources: list[str] = _,
resources_root: None | str = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
target: None | str = _,
validation_deps: list[str] = _
) -> None

A java_library() rule defines a set of Java files that can be compiled together. The main output of a java_library() rule is a single JAR file containing all of the compiled class files, as well as the static files specified in the resources argument.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • deps: Rules (usually other java_library rules) that are used to generate the classpath required to compile this java_library.

  • exported_deps: Other rules that depend on this rule will also include its exported_deps in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of prebuilt_jar rules as a single target for callers to depend on. Targets in exported_deps are implicitly included in the deps of this rule, so they don't need to be repeated there.

  • exported_provided_deps: This is a combination of provided_deps and exported_deps. Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target.

  • extra_arguments: List of additional arguments to pass into the Java compiler. These arguments follow the ones specified in .buckconfig.

  • java_version: Equivalent to setting both source and target to the given value. Setting this and source or target (or both!) is an error.

  • on_unused_dependencies: Action performed when Buck detects that some dependencies are not used during Java compilation.

    Note that this feature is experimental and does not handle runtime dependencies.

    The valid values are:

    • ignore (default): ignore unused dependencies,
    • warn: emit a warning to the console,
    • fail: fail the compilation.

    This option overrides the default value from +.

  • provided_deps: These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of provided_deps include the JEE servlet APIs. When this rule is included in a , the provided_deps will not be packaged into the output.

  • remove_classes: Specifies a list of Patterns that are used to exclude classes from the JAR. The pattern matching is based on the name of the class. This can be used to exclude a member class or delete a local view of a class that will be replaced during a later stage of the build.

  • required_for_source_only_abi: Indicates that this rule must be present on the classpath during source-only ABI generation of any rule that depends on it. Typically this is done when a rule contains annotations, enums, constants, or interfaces.

    Having rules present on the classpath during source-only ABI generation prevents Buck from +completely flattening the build graph, thus reducing the performance win from source-only +ABI generation. These rules should be kept small (ideally just containing annotations, +constants, enums, and interfaces) and with minimal dependencies of their own.

  • resources: Static files to include with the compiled .class files. These files can be loaded via Class.getResource().

    Note: If resources_root isn't set, +Buck uses the .buckconfig +property in .buckconfig to +determine where resources should be placed within the generated JAR +file.

  • source: Specifies the version of Java (as a string) to interpret source files as. Overrides the value in "source_level" in the "java" section of .buckconfig.

  • source_only_abi_deps: These are dependencies that must be present during source-only ABI generation. Typically such dependencies are added when some property of the code in this rule prevents source-only ABI generation from being correct without these dependencies being present.

    Having source_only_abi_deps prevents Buck from +completely flattening the build graph, thus reducing the performance win from source-only +ABI generation. They should be avoided when possible. Often only a small code change is needed to avoid them. +For more information on such code changes, read about +source-only ABI generation.

  • srcs: The set of .java files to compile for this rule. If any of the files in this list end in .src.zip, then the entries in the ZIP file that end in .java will be included as ordinary inputs to compilation. This is common when using a genrule() to auto-generate some Java source code that needs to be compiled with some hand-written Java code.

  • target: Specifies the version of Java (as a string) for which to generate code. Overrides the value in "target_level" in the "java" section of .buckconfig.

Details

Examples:


# A rule that compiles a single .java file.
java_library(
name = 'JsonUtil',
srcs = ['JsonUtil.java'],
deps = [
'//third_party/guava:guava',
'//third_party/jackson:jackson',
],
)

# A rule that compiles all of the .java files under the directory in
# which the rule is defined using glob(). It also excludes an
# individual file that may have additional dependencies, so it is
# compiled by a separate rule.
java_library(
name = 'messenger',
srcs = glob(['**/*.java'], excludes = ['MessengerModule.java']),
deps = [
'//src/com/facebook/base:base',
'//third_party/guava:guava',
],
)

java_library(
name = 'MessengerModule',
srcs = ['MessengerModule.java'],
deps = [
'//src/com/facebook/base:base',
'//src/com/google/inject:inject',
'//third_party/guava:guava',
'//third_party/jsr-330:jsr-330',
],
)

# A rule that builds a library with both relative and
# fully-qualified deps.
java_library(
name = 'testutil',
srcs = glob(['tests/**/*.java'], excludes = 'tests/**/*Test.java'),
deps = [
':lib-fb4a',
'//java/com/facebook/base:base',
],
)


java_plugin

def java_plugin(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
does_not_affect_abi: bool = _,
isolate_class_loader: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
plugin_name: str = _,
supports_abi_generation_from_source: bool = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

java_test

def java_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_exec_os_type: str = _,
_inject_test_env: str = _,
_is_building_android_binary: bool = _,
_java_test_toolchain: str = _,
_java_toolchain: str = _,
_remote_test_execution_toolchain: str = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
abi_generation_mode: None | str = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
cxx_library_whitelist: list[str] = _,
default_cxx_platform: None | str = _,
default_host_platform: None | str = _,
deps: list[str] = _,
deps_query: None | str = _,
env: dict[str, str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
fork_mode: str = _,
jar_postprocessor: None | str = _,
java: None | str = _,
java_agents: list[str] = _,
java_version: None | str = _,
javac: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,
remote_execution_action_key_providers: None | str = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resources: list[str] = _,
resources_root: None | str = _,
run_test_separately: bool = _,
runner: None | str = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
specs: None | str = _,
srcs: list[str] = _,
std_err_log_level: None | int | str = _,
std_out_log_level: None | int | str = _,
target: None | str = _,
test_case_timeout_ms: None | int = _,
test_class_names_file: None | str = _,
test_rule_timeout_ms: None | int = _,
test_type: None | str = _,
unbundled_resources_root: None | str = _,
use_cxx_libraries: None | bool = _,
use_dependency_order_classpath: None | bool = _,
vm_args: list[str] = _
) -> None

A java_test() rule is used to define a set of .java files that contain tests to run via JUnit.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • cxx_library_whitelist: EXPERIMENTAL. List of cxx_libraries to build, if use_cxx_libraries is true. This can be useful if some dependencies are Android-only and won't build on the default platform.

  • deps: Same as java_library(). // org.junit.rules.Timeout was not introduced until 4.7. Must include JUnit (version 4.7 or later) as a dependency for JUnit tests. Must include TestNG (version 6.2 or later) and hamcrest as a dependencies for TestNG tests.

  • env: A map of environment names and values to set when running the test.

  • fork_mode: Controls whether tests will all be run in the same process or a process will be started for each set of tests in a class.

    (This is mainly useful when porting Java tests to Buck from Apache Ant which +allows JUnit tasks to set a fork="yes" property. It should not be +used for new tests since it encourages tests to not cleanup after themselves and +increases the tests' computational resources and running time.)

    none +All tests will run in the same process. +per_test +A process will be started for each test class in which all tests of that test class +will run.

  • labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test

  • resources: Same as java_library().

  • source: Java language level for compiling. Corresponds to the -source argument for javac.

  • srcs: Like java_library(), all of the .java files specified by the srcs argument will be compiled when this rule is built. In addition, all of the corresponding .class files that are built by this rule will be passed as arguments to JUnit when this rule is run as a test. .class files that are passed to JUnit that do not have any methods annotated with @Test are considered failed tests, so make sure that only test case classes are specified as srcs. This is frequently done by specifying srcs as glob(['**/*Test.java']).

  • std_err_log_level: Same as std_out_log_level, but for std err.

  • std_out_log_level: Log level for messages from the source under test that buck will output to std out. Value must be a valid java.util.logging.Level value.

  • target: Bytecode target level for compiling. Corresponds to the -target argument for javac.

  • test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig .

  • test_type: Specifies which test framework to use. The currently supported options are 'junit' and 'testng'.

  • use_cxx_libraries: Whether or not to build and link against cxx_library() dependencies when testing.

  • vm_args: Runtime arguments to the JVM running the tests.


java_test_runner

def java_test_runner(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
abi_generation_mode: None | str = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
java_version: None | str = _,
javac: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
main_class: str = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resources: list[str] = _,
resources_root: None | str = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
target: None | str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

js_bundle

def js_bundle(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_is_release: bool = _,
_platform: str = _,
android_package: None | str = _,
buck2_compatibility: str = _,
bundle_name: None | str = _,
bundle_name_for_flavor: list[(str, str)] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
entry: str | list[str],
extra_json: None | str = _,
fallback_transform_profile: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
worker: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

js_bundle_genrule

def js_bundle_genrule(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_exec_os_type: str = _,
_genrule_toolchain: str = _,
_is_release: bool = _,
_platform: str = _,
always_print_stderr: bool = _,
bash: None | str = _,
buck2_compatibility: str = _,
bundle_name: None | str = _,
bundle_name_for_flavor: list[(str, str)] = _,
cacheable: None | bool = _,
cmd: None | str = _,
cmd_exe: None | str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
enable_sandbox: None | bool = _,
environment_expansion_separator: None | str = _,
js_bundle: str,
labels: list[str] = _,
licenses: list[str] = _,
metadata_env_var: None | str = _,
metadata_path: None | str = _,
need_android_tools: bool = _,
no_outputs_cleanup: bool = _,
remote: None | bool = _,
remote_execution_dependencies: list[dict[str, str]] = _,
rewrite_deps_file: bool = _,
rewrite_misc: bool = _,
rewrite_sourcemap: bool = _,
skip_resources: bool = _,
srcs: list[str] | dict[str, str] = _,
type: str = _,
weight: None | int = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

js_library

def js_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_asset_dest_path_resolver: None | str = _,
_build_only_native_code: bool = _,
_is_release: bool = _,
_platform: str = _,
asset_extensions: None | list[str] = _,
asset_platforms: None | list[str] = _,
base_path: None | str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
deps_query: None | str = _,
extra_json: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
srcs: list[str | (str, str)] = _,
worker: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

julia_binary

def julia_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_julia_toolchain: str = _,
buck2_compatibility: str = _,
deps: list[str] = _,
julia_args: list[str] = _,
julia_flags: list[str] = _,
main: str,
srcs: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

julia_jll_library

def julia_jll_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_julia_toolchain: str = _,
buck2_compatibility: str = _,
jll_name: str,
lib_mapping: list[str] | dict[str, str],
uuid: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

julia_library

def julia_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_julia_toolchain: str = _,
buck2_compatibility: str = _,
deps: list[str] = _,
project_toml: str,
resources: list[str] = _,
srcs: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

julia_test

def julia_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_inject_test_env: str = _,
_julia_toolchain: str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
deps: list[str] = _,
julia_args: list[str] = _,
julia_flags: list[str] = _,
main: str,
srcs: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

keystore

def keystore(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
properties: str,
store: str
) -> None

A keystore() contains the data for a key pair created by the keytool executable that comes with the JDK. This is a required input for an android_binary() rule.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • properties: The path to the .properties file that contains the following values:


    # The value that you passed as the argument to -alias
    # when you ran keytool.
    key.alias=my_alias

    # The value that you entered in response to
    # the "Enter keystore password:" prompt.
    key.store.password=store_password

    # The value that you entered in response to
    # the "Enter key password for <my_alias>" prompt.
    key.alias.password=alias_password
  • store: The path to the file that contains the key. This is the path that was passed as the -keystore argument when you ran keytool.


kotlin_library

def kotlin_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_dex_min_sdk_version: None | int = _,
_dex_toolchain: str = _,
_exec_os_type: str = _,
_is_building_android_binary: bool = _,
_java_toolchain: str = _,
_kotlin_toolchain: str = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
abi_generation_mode: None | str = _,
annotation_processing_tool: None | str = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
extra_kotlinc_arguments: list[str] = _,
friend_paths: list[str] = _,
incremental: bool = _,
jar_postprocessor: None | str = _,
java_version: None | str = _,
javac: None | str = _,
k2: bool = _,
kotlin_compiler_plugins: dict[str, dict[str, str]] = _,
labels: list[str] = _,
licenses: list[str] = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resources: list[str] = _,
resources_root: None | str = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
target: None | str = _,
use_jvm_abi_gen: None | bool = _,
validation_deps: list[str] = _
) -> None

A kotlin_library() rule is used to define a set of Kotlin files that can be compiled together. The main output of a kotlin_library() rule is a single JAR file containing all of the compiled class files, as well as the static files specified in the resources argument.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • annotation_processing_tool: Specifies the tool to use for annotation processing. Possible values: "kapt" or "javac". "kapt" allows running Java annotation processors against Kotlin sources while backporting it for Java sources too. "javac" works only against Java sources, Kotlin sources won't have access to generated classes at compile time.

  • deps: Rules (usually other kotlin_library rules) that are used to generate the classpath required to compile this kotlin_library.

  • exported_deps: Other rules that depend on this rule will also include its exported_deps in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of prebuilt_jar rules as a single target for callers to depend on. Targets in exported_deps are implicitly included in the deps of this rule, so they don't need to be repeated there.

  • exported_provided_deps: This is a combination of provided_deps and exported_deps. Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target.

  • extra_kotlinc_arguments: List of additional arguments to pass into the Kotlin compiler.

  • friend_paths: List of source paths to pass into the Kotlin compiler as friend-paths, that is, modules you can have access to internal methods.

  • incremental: Enables Kotlin incremental compilation.

  • k2: Enables the Kotlin K2 compiler.

  • kotlin_compiler_plugins: Use this to specify Kotlin compiler plugins to use when compiling this library. This takes a map, with each entry specify one plugin. Entry's key is plugin source path, and value is a map of plugin option key value pair. Unlike extra_kotlinc_arguments, these can be source paths, not just strings.

    A special option value is +__codegen_dir__, in which case Buck will provide a default codegen folder's path as +option value instead. +E.g.


    kotlin_compiler_plugins = {
    "somePluginSourcePath": {
    "plugin:somePluginId:somePluginOptionKey": "somePluginOptionValue",
    "plugin:somePluginId:someDirectoryRelatedOptionKey": "__codegen_dir__",
    },
    },

    Each plugin source path will be prefixed with -Xplugin= and passed as extra +arguments to the compiler. Plugin options will be appended after its plugin with -P.

    A specific example is, if you want to use kotlinx.serialization +with kotlin_library(), you need to specify kotlinx-serialization-compiler-plugin.jar under kotlin_compiler_plugins and kotlinx-serialization-runtime.jar (which you may have to fetch from Maven) in your deps:


    kotlin_library(
    name = "example",
    srcs = glob(["*.kt"]),
    deps = [
    ":kotlinx-serialization-runtime",
    ],
    kotlin_compiler_plugins = {
    # Likely copied from your $KOTLIN_HOME directory.
    "kotlinx-serialization-compiler-plugin.jar": {},
    },
    )

    prebuilt_jar(
    name = "kotlinx-serialization-runtime",
    binary_jar = ":kotlinx-serialization-runtime-0.10.0",
    )

    # Note you probably want to set
    # maven_repo=http://jcenter.bintray.com/ in your .buckconfig until
    # https://github.com/Kotlin/kotlinx.serialization/issues/64
    # is closed.
    remote_file(
    name = "kotlinx-serialization-runtime-0.10.0",
    out = "kotlinx-serialization-runtime-0.10.0.jar",
    url = "mvn:org.jetbrains.kotlinx:kotlinx-serialization-runtime:jar:0.10.0",
    sha1 = "23d777a5282c1957c7ce35946374fff0adab114c"
    )

  • labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .

  • provided_deps: These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of provided_deps include the JEE servlet APIs. When this rule is included in a , the provided_deps will not be packaged into the output.

  • remove_classes: Specifies a list of Patterns that are used to exclude classes from the JAR. The pattern matching is based on the name of the class. This can be used to exclude a member class or delete a local view of a class that will be replaced during a later stage of the build.

  • resources: Static files to include with the compiled .class files. These files can be loaded via Class.getResource().

    Note: If resources_root isn't set, +Buck uses the .buckconfig +property in .buckconfig to +determine where resources should be placed within the generated JAR +file.

  • srcs: The set of .kt, .java or .kts files to compile for this rule. If any of the files in this list end in .src.zip, then the entries in the ZIP file that end in .java or .kt will be included as ordinary inputs to compilation.

Details

Examples:


# A rule that compiles a single .kt file.
kotlin_library(
name = 'JsonUtil',
srcs = ['JsonUtil.kt'],
deps = [
'//third_party/guava:guava',
'//third_party/jackson:jackson',
],
)

# A rule that compiles all of the .kt files under the directory in
# which the rule is defined using glob(). It also excludes an
# individual file that may have additional dependencies, so it is
# compiled by a separate rule.
kotlin_library(
name = 'messenger',
srcs = glob(['**/*.kt'], excludes = ['MessengerModule.kt']),
deps = [
'//src/com/facebook/base:base',
'//third_party/guava:guava',
],
)

kotlin_library(
name = 'MessengerModule',
srcs = ['MessengerModule.kt'],
deps = [
'//src/com/facebook/base:base',
'//src/com/google/inject:inject',
'//third_party/guava:guava',
'//third_party/jsr-330:jsr-330',
],
)

# A rule that builds a library with both relative and
# fully-qualified deps.
kotlin_library(
name = 'testutil',
srcs = glob(['tests/**/*.kt'], excludes = 'tests/**/*Test.kt'),
deps = [
':lib-fb4a',
'//java/com/facebook/base:base',
],
)


kotlin_test

def kotlin_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_exec_os_type: str = _,
_inject_test_env: str = _,
_is_building_android_binary: bool = _,
_java_test_toolchain: str = _,
_java_toolchain: str = _,
_kotlin_toolchain: str = _,
_remote_test_execution_toolchain: str = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
abi_generation_mode: None | str = _,
annotation_processing_tool: None | str = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
cxx_library_whitelist: list[str] = _,
default_cxx_platform: None | str = _,
default_host_platform: None | str = _,
deps: list[str] = _,
deps_query: None | str = _,
env: dict[str, str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
extra_kotlinc_arguments: list[str] = _,
fork_mode: str = _,
friend_paths: list[str] = _,
incremental: bool = _,
java: None | str = _,
java_agents: list[str] = _,
java_version: None | str = _,
javac: None | str = _,
k2: bool = _,
kotlin_compiler_plugins: dict[str, dict[str, str]] = _,
labels: list[str] = _,
licenses: list[str] = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,
remote_execution_action_key_providers: None | str = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resources: list[str] = _,
resources_root: None | str = _,
run_test_separately: bool = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
std_err_log_level: None | int | str = _,
std_out_log_level: None | int | str = _,
target: None | str = _,
test_case_timeout_ms: None | int = _,
test_class_names_file: None | str = _,
test_rule_timeout_ms: None | int = _,
test_type: None | str = _,
unbundled_resources_root: None | str = _,
use_cxx_libraries: None | bool = _,
use_dependency_order_classpath: None | bool = _,
use_jvm_abi_gen: None | bool = _,
vm_args: list[str] = _
) -> None

A kotlin_test() rule is used to define a set of .kt files that contain tests to run via JUnit.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • deps: Same as kotlin_library(). // org.junit.rules.Timeout was not introduced until 4.7. Must include JUnit (version 4.7 or later) as a dependency for JUnit tests. Must include TestNG (version 6.2 or later) and hamcrest as a dependencies for TestNG tests.

  • env: A map of environment names and values to set when running the test.

  • fork_mode: Controls whether tests will all be run in the same process or a process will be started for each set of tests in a class.

    (This is mainly useful when porting Java tests to Buck from Apache Ant which +allows JUnit tasks to set a fork="yes" property. It should not be +used for new tests since it encourages tests to not cleanup after themselves and +increases the tests' computational resources and running time.)

    none +All tests will run in the same process. +per_test +A process will be started for each test class in which all tests of that test class +will run.

  • incremental: Enables Kotlin incremental compilation.

  • k2: Enables the Kotlin K2 compiler.

  • labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test

  • resources: Same as kotlin_library().

  • srcs: Like kotlin_library(), all of the .kt files specified by the srcs argument will be compiled when this rule is built. In addition, all of the corresponding .class files that are built by this rule will be passed as arguments to JUnit when this rule is run as a test. .class files that are passed to JUnit that do not have any methods annotated with @Test are considered failed tests, so make sure that only test case classes are specified as srcs. This is frequently done by specifying srcs as glob(['**/*Test.kt']).

  • std_err_log_level: Same as std_out_log_level, but for std err.

  • std_out_log_level: Log level for messages from the source under test that buck will output to std out. Value must be a valid java.util.logging.Level value.

  • test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig .

  • test_type: Specifies which test framework to use. The currently supported options are 'junit' and 'testng'.

  • vm_args: Runtime arguments to the JVM running the tests.


legacy_toolchain

def legacy_toolchain(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
toolchain_name: str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

def llvm_link_bitcode(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
buck2_compatibility: str = _,
deps: list[str] = _,
deps_query: None | str = _,
srcs: list[str | (str, list[str])] = _
) -> None

A llvm_link_bitcode() rule builds a LLVM bitcode object from a given set LLVM bitcode inputs.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • deps_query: Status: experimental/unstable. The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps:

    • attrfilter
    • deps
    • except
    • intersect
    • filter
    • kind
    • set
    • union

    The macro $declared_deps may be used anywhere a target literal pattern is expected +in order to refer to the explicit deps of this rule as they appear in the rule's definition. +For example, if your build rule declares


    android_library(
    name = 'lib',
    deps = ['//foo:foo'],
    deps_query = '$declared_deps',
    )

    then the macro $declared_deps would be expanded to a +literal set(//foo:foo). +Some example queries:


    "filter({name_regex}, $declared_deps)".format(name_regex='//.*')
    "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)"
    "deps('//foo:foo', 1)"

    Note: any targets included in this query must also be present in deps.

  • srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).

Details

Examples:


# A rule that builds and runs C/C++ test using gtest.
llvm_link_bitcode(
name = 'echo_test',
srcs = [
'echo_test.o', // Where this is a LLVM bitcode object.
'echo_other.o', // And this is another LLVM bitcode object.
],
)


lua_binary

def lua_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
main_module: str = _,
native_starter_library: None | str = _,
package_style: None | str = _,
platform: None | str = _,
platform_deps: list[(str, list[str])] = _,
python_platform: None | str = _
) -> None

A lua_library() rule is used to group together Lua sources to be packaged into a top-level lua_binary() rule.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • deps: lua_library() rules to this binary will access.
  • main_module: The module which serves as the entry point for this rule.

Details

Examples:


lua_binary(
name = 'tailer',
main_module = 'tailer',
deps = [
':tailerutils',
],
)

lua_library(
name = 'tailerutils',
srcs = glob(['*.lua']),
)


lua_library

def lua_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
base_module: None | str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
platform_deps: list[(str, list[str])] = _,
srcs: list[str] | dict[str, str] = _
) -> None

A lua_library() rule is used to group together Lua sources to be packaged into a top-level lua_binary() rule.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • base_module: The package for which the given specified sources and resources should reside in their final location in the top-level binary. If unset, the project relative directory that houses the BUCK file is used.
  • deps: Other lua_library() rules which list srcs from which this rule imports modules.
  • srcs: The set of .lua files included in this library.

Details

Examples:


# A rule that includes a single .py file.
lua_library(
name = 'fileutil',
srcs = ['fileutil.lua'],
)

# A rule that uses glob() to include all sources in the directory which the
# rule is defined. It also lists a resource file that gets packaged with
# the sources in this rule.
lua_library(
name = 'testutil',
srcs = glob(['testutil/**/*.lua'],
)


matlab_program

def matlab_program(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_matlab_toolchain: str = _,
buck2_compatibility: str = _,
main: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

ndk_library

def ndk_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
flags: list[str] = _,
is_asset: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
srcs: list[str] = _
) -> None

An ndk_library() is used to define a set of C/C++ files, an Android.mk and an Application.mk file that are used by the NDK's ndk-build tool to generate one or more shared objects.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • deps: List of build targets to build before this rule.
  • flags: Array of strings passed verbatim to ndk-build. Normally this is not needed, but in some cases you may want to put something here. For example, this can be used to build the libraries in debug mode (NDK_DEBUG=1) or set the number of jobs spawned by ndk-build (by default, the same as the number of cores).
  • is_asset: Normally native shared objects end up in a directory in the root of the APK named lib/. If this parameter is set to True, then these objects are placed in assets/lib/. Placing shared objects in a non-standard location prevents Android from extracting them to the device's internal storage.
  • srcs: The set of files to compile for this rule. If not provided, buck assumes that all files with the following extensions are part of the build: c, cpp, cc, cxx, h, hpp, mk.

Details

Additional notes:

An android_binary() that includes this library will +aggregate all of the native shared objects into a directory in the +root of the APK named lib/ or assets/lib/.

Unlike the default invocation of ndk-build, +buck will put all intermediate files and build output +into a subdirectory under buck-out/gen.


ndk_toolchain

def ndk_toolchain(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
cxx_runtime: None | str = _,
cxx_toolchain: str,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
objdump: str,
shared_runtime_path: None | str = _,
strip_apk_libs_flags: None | list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

ocaml_binary

def ocaml_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_ocaml_toolchain: str = _,
buck2_compatibility: str = _,
bytecode_only: None | bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
linker_flags: list[str] = _,
ocamldep_flags: list[str] = _,
platform: None | str = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
srcs: None | list[str] | dict[str, str] = _,
warnings_flags: None | str = _
) -> None

A ocaml_binary() rule builds both native and bytecode executables from the supplied set of OCaml and C source files and dependencies.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • compiler_flags: The set of additional compiler flags to pass to ocaml compiler. It supports specifying ppx (see for example).
  • deps: The set of dependencies of this rule. It could include references to ocaml_library and cxx_library rules.
  • platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.
  • srcs: The set of source files to be compiled by this rule. It supports *.ml, *.mli, *.mly, *.mll, and *.c files. (see this test as C interop example and this test as parser and lexer example).

Details

Note: Buck is currently tested with 4.X OCaml series.

Examples:

For more examples, check out our integration tests.


ocaml_binary(
name='greet',
srcs=[
'main.ml',
'lex.mll',
'parser.mly',
'hashtable.c',
],
deps=[
':greeting',
':bridge',
],
)

ocaml_library(
name='greeting',
srcs=[
'greeting.ml',
],
deps=[
':join',
],
)

ocaml_library(
name='join',
srcs=[
'join.ml',
],
)

cxx_library(
name='bridge',
srcs=[
'bridge.c',
],
)


ocaml_library

def ocaml_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_ocaml_toolchain: str = _,
buck2_compatibility: str = _,
bytecode_only: bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
linker_flags: list[str] = _,
native_plugin: bool = _,
ocamldep_flags: list[str] = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
srcs: None | list[str] | dict[str, str] = _,
warnings_flags: None | str = _
) -> None

A ocaml_library() rule builds a native and a bytecode libraries from the supplied set of OCaml source files and dependencies.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • compiler_flags: The set of additional compiler flags to pass to ocaml compiler. It supports specifying ppx (see for example).
  • deps: The set of dependencies of this rule. It could include references to ocaml_library and cxx_library rules.
  • platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.
  • srcs: The set of source files to be compiled by this rule. It supports *.ml, *.mli, *.mly, *.mll, and *.c files. (see this test as C interop example and this test as parser and lexer example).

Details

Note: Buck is currently tested with 4.X OCaml series.

Examples:

For more examples, check out our integration tests.


ocaml_library(
name='greeting',
srcs=[
'greeting.ml',
],
deps=[
':join',
],
)


ocaml_object

def ocaml_object(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_ocaml_toolchain: str = _,
buck2_compatibility: str = _,
bytecode_only: None | bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
linker_flags: list[str] = _,
ocamldep_flags: list[str] = _,
platform: None | str = _,
platform_deps: list[(str, list[str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
srcs: None | list[str] | dict[str, str] = _,
warnings_flags: None | str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

ocaml_shared

def ocaml_shared(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_ocaml_toolchain: str = _,
buck2_compatibility: str = _,
bytecode_only: None | bool = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
linker_flags: list[str] = _,
ocamldep_flags: list[str] = _,
platform: None | str = _,
platform_deps: list[(str, list[str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
srcs: None | list[str] | dict[str, str] = _,
warnings_flags: None | str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

platform

def platform(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
constraint_values: list[str] = _,
deps: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

prebuilt_apple_framework

def prebuilt_apple_framework(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_apple_toolchain: str = _,
_apple_tools: str = _,
_stripped_default: bool = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exported_linker_flags: list[str] = _,
exported_platform_linker_flags: list[(str, list[str])] = _,
framework: None | str = _,
frameworks: list[str] = _,
labels: list[str] = _,
libraries: list[str] = _,
licenses: list[str] = _,
preferred_linkage: str = _,
stripped: None | bool = _,
supported_platforms_regex: None | str = _
) -> None

A prebuilt_apple_framework() rule represents a set of Objective-C/C++ source files and is very similar to a prebuilt_cxx_library() rule.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

Details

Examples:


prebuilt_apple_framework(
name = 'MyPrebuiltFramework',
framework = 'myPrebuiltFramework.framework',
preferred_linkage = 'static',
visibility = [
'PUBLIC'
]
)


prebuilt_cxx_library

def prebuilt_cxx_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_target_os_type: str = _,
allow_cache_upload: None | bool = _,
buck2_compatibility: str = _,
can_be_asset: bool = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exported_deps: list[str] = _,
exported_header_style: str = _,
exported_headers: list[str] | dict[str, str] = _,
exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
exported_lang_preprocessor_flags: dict[str, list[str]] = _,
exported_linker_flags: list[str] = _,
exported_platform_deps: list[(str, list[str])] = _,
exported_platform_headers: list[(str, list[str] | dict[str, str])] = _,
exported_platform_linker_flags: list[(str, list[str])] = _,
exported_platform_preprocessor_flags: list[(str, list[str])] = _,
exported_post_linker_flags: list[str] = _,
exported_post_platform_linker_flags: list[(str, list[str])] = _,
exported_preprocessor_flags: list[str] = _,
extract_soname: bool = _,
force_static: bool = _,
frameworks: list[str] = _,
header_dirs: None | list[str] = _,
header_namespace: None | str = _,
header_only: bool = _,
import_lib: None | str = _,
include_in_android_merge_map_output: bool = _,
labels: list[str] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_whole: bool = _,
link_without_soname: bool = _,
linker_flags: list[str] = _,
local_linker_flags: list[str] = _,
platform_header_dirs: None | list[(str, list[str])] = _,
platform_import_lib: None | list[(str, str)] = _,
platform_shared_lib: None | list[(str, str)] = _,
platform_static_lib: None | list[(str, str)] = _,
platform_static_pic_lib: None | list[(str, str)] = _,
post_linker_flags: list[str] = _,
preferred_linkage: str = _,
provided: bool = _,
public_include_directories: list[str] = _,
public_system_include_directories: list[str] = _,
raw_headers: list[str] = _,
shared_lib: None | str = _,
soname: None | str = _,
static_lib: None | str = _,
static_pic_lib: None | str = _,
supported_platforms_regex: None | str = _,
supports_merged_linking: None | bool = _,
supports_python_dlopen: bool = _,
supports_shared_library_interface: bool = _,
versioned_exported_lang_platform_preprocessor_flags: list[(dict[str, str], dict[str, list[(str, list[str])]])] = _,
versioned_exported_lang_preprocessor_flags: list[(dict[str, str], dict[str, list[str]])] = _,
versioned_exported_platform_preprocessor_flags: list[(dict[str, str], list[(str, list[str])])] = _,
versioned_exported_preprocessor_flags: list[(dict[str, str], list[str])] = _,
versioned_header_dirs: None | list[(dict[str, str], list[str])] = _,
versioned_import_lib: None | list[(dict[str, str], str)] = _,
versioned_shared_lib: None | list[(dict[str, str], str)] = _,
versioned_soname: None | list[(dict[str, str], str)] = _,
versioned_static_lib: None | list[(dict[str, str], str)] = _,
versioned_static_pic_lib: None | list[(dict[str, str], str)] = _
) -> None

A prebuilt_cxx_library() rule represents a set of native libraries and C/C++ header files and provides various flags to control how they are linked and exported.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).
  • exported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported.
  • exported_headers: The set of header files that are made available for inclusion to the source files in the target and all targets that transitively depend on it. These should be specified as either a list of header files or a dictionary of header names to header files. The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME>, where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. Note that the header name can contain forward slashes (/). See header_namespace for more information.
  • exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.
  • exported_platform_deps: Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as exported_deps) that are exported if the platform matches the regex. See exported_deps for more information.
  • exported_platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target and all targets that transitively depend on it if the platform matches the regex. See headers for more information.
  • exported_platform_preprocessor_flags: Platform specific exported preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the source files in the target and all targets that transitively depend on it if the platform matches the regex. See exported_preprocessor_flags for more information.
  • header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.
  • header_only: Indicates if this library only consists of headers or not. If this is set to True, Buck will not link this library into any library that depends on it.
  • local_linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation driven by this rule (e.g. when this rule links a shared library, but not when the output is linked into a shared library by another rule's link group links).
  • platform_shared_lib: Platform specific shared library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See shared_lib for more information.
  • platform_static_lib: Platform specific static library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See static_lib for more information.
  • platform_static_pic_lib: Platform specific static PIC library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See static_pic_lib for more information.
  • preferred_linkage: Determines what linkage is used when the library is depended on by another target. To control how the dependencies of this library are linked, use link_style instead.
  • shared_lib: The path to the library to use when performing shared linking.
  • static_lib: The path to the library to use when performing static linking.
  • static_pic_lib: The path to the library to use when performing static PIC linking.
  • supported_platforms_regex: If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms.
  • supports_merged_linking: Whether this rule supports building with the merged linking strategy when building for non-native binaries (e.g. when using .buckconfig s merged setting).

Details

Examples:

A prebuilt library containing only headers that other libraries may need.


prebuilt_cxx_library(
name = 'stdutil',
header_only = True,
header_dirs = [
'include',
],
)

A prebuilt library with static and shared libs.


prebuilt_cxx_library(
name = 'mylib',
soname = 'libmylib.so',
static_lib = 'libmylib.a',
static_pic_lib = 'libmylib_pic.a',
shared_lib = 'libmylib.so',
exported_headers = [
'mylib.h',
],
)

A prebuilt library with multiple builds for multiple platforms.


prebuilt_cxx_library(
name = 'mylib',
soname = 'libmylib.so',
platform_shared_lib = [
('android-arm', 'android-arm/libmylib.so'),
('android-x86', 'android-x86/libmylib.so'),
('iphonesimulator-x86_64', 'iphonesimulator-x86_64/libmylib.so'),
],
platform_static_lib = [
('android-arm', 'android-arm/libmylib.a'),
('android-x86', 'android-x86/libmylib.a'),
('iphonesimulator-x86_64', 'iphonesimulator-x86_64/libmylib.a'),
],
exported_headers = [
'mylib.h',
],
)


prebuilt_cxx_library_group

def prebuilt_cxx_library_group(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exported_deps: list[str] = _,
exported_platform_deps: list[(str, list[str])] = _,
exported_preprocessor_flags: list[str] = _,
import_libs: dict[str, str] = _,
include_dirs: list[str] = _,
include_in_android_merge_map_output: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
provided_shared_libs: dict[str, str] = _,
shared_libs: dict[str, str] = _,
shared_link: list[str] = _,
static_libs: list[str] = _,
static_link: list[str] = _,
static_pic_libs: list[str] = _,
static_pic_link: list[str] = _,
supported_platforms_regex: None | str = _,
supports_shared_library_interface: bool = _
) -> None

A prebuilt_cxx_library_group() rule represents a group of native libraries which should be handled together in a single rule, perhaps using special link-line construction.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • exported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported.
  • exported_platform_deps: Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as exported_deps) that are exported if the platform matches the regex. See exported_deps for more information.
  • provided_shared_libs: The map of system-provided shared library names to paths used when using the shared link style. The shared_link parameter should refer to these libs using their library name.
  • shared_libs: The map of shared library names to paths used when using the shared link style. The shared_link parameter should refer to these libs using their library name.
  • shared_link: The arguments to use when linking this library group using the shared link style. The actual paths to libraries should be listed in the shared_libs parameter, and referenced via the the $(lib [name]) macro (or the $(rel-lib [name]) macro, when the shared library should be linked using the -L[dir] -l[name] style) in these args.
  • static_libs: The paths to the libraries used when using the static link style. The static_link parameter should refer to these libs using their index number.
  • static_link: The arguments to use when linking this library group using the static link style. The actual paths to libraries should be listed in the static_libs parameter, and referenced via the the $(lib [index]) macro in these args.
  • static_pic_libs: The paths to the libraries used when using the static link style. The static_pic_link parameter should refer to these libs using their index number.
  • static_pic_link: The arguments to use when linking this library group using the static-pic link style. The actual paths to libraries should be listed in the static_pic_libs parameter, and referenced via the the $(lib [index]) macro in these args.

Details

Examples:

A prebuilt library group wrapping two libraries that must be linked together.


prebuilt_cxx_library_group(
name = 'util',
static_link = [
'-Wl,--start-group',
'$(lib 0)',
'$(lib 1)',
'-Wl,--end-group',
],
static_libs = [
'lib/liba.a',
'lib/libb.a',
],
static_pic_link = [
'-Wl,--start-group',
'$(lib 0)',
'$(lib 1)',
'-Wl,--end-group',
],
static_libs = [
'lib/liba_pic.a',
'lib/libb_pic.a',
],
shared_link = [
'$(rel-lib liba.so)',
'$(rel-lib libb.so)',
],
shared_libs = {
'liba.so': 'lib/liba.so',
},
provided_shared_libs = {
'libb.so': 'lib/libb.so',
},
)


prebuilt_dotnet_library

def prebuilt_dotnet_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
assembly: str,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _
) -> None

A prebuilt_dotnet_library() rule is used to include prebuilt .Net assembles into your .Net code.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • assembly: The path to the DLL that this rule provides.

Details

Examples:


prebuilt_dotnet_library(
name = 'log4net',
assembly = 'log4net.dll',
)

csharp_library(
name = 'example',
srcs = [
'Hello.cs',
],
framework_ver = 'net46',
deps = [
':log4net',
'System.dll',
],
)


prebuilt_go_library

def prebuilt_go_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exported_deps: list[str] = _,
labels: list[str] = _,
library: str,
licenses: list[str] = _,
package_name: None | str = _
) -> None

A prebuilt_go_library() rule provides a native library from the specified file.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • deps: The set of dependencies of this rule. Currently, this only supports go_library rules.
  • library: Path to the precompiled Go library - typically of the form 'foo.a'.
  • package_name: Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b")

Details

Examples:

For more examples, check out our integration tests.


prebuilt_go_library(
name='greeting',
package_name='greeting',
library='greeting.a',
deps=[
':join',
],
)


prebuilt_jar

def prebuilt_jar(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_dex_min_sdk_version: None | int = _,
_dex_toolchain: str = _,
_exec_os_type: str = _,
_prebuilt_jar_toolchain: str = _,
binary_jar: str,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
desugar_deps: list[str] = _,
generate_abi: bool = _,
javadoc_url: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: bool = _,
required_for_source_only_abi: bool = _,
source_jar: None | str = _
) -> None

A prebuilt_jar() rule is used to identify a JAR file that is checked into our repository as a precompiled binary rather than one that is built from source by Buck. Frequently, these are used to reference third-party JAR files (such as junit.jar) and are used as dependencies of java_library() rules.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • binary_jar: Path to the pre-built JAR file.
  • deps: Rules that must be built before this rule. Because the binary_jar is already built, there should be nothing to build, so this should be empty.
  • javadoc_url: URL to the Javadoc for the .class files in the binary_jar.
  • source_jar: Path to a JAR file that contains the .java files to create the .class in the binary_jar. This is frequently provided for debugging purposes.

Details

Examples:


prebuilt_jar(
name = 'junit',
binary_jar = 'junit-4.8.2.jar',
source_jar = 'junit-4.8.2-sources.jar',
javadoc_url = 'http://kentbeck.github.com/junit/javadoc/4.8/',
)

java_library(
name = 'tests',
srcs = glob(['tests/**/*Test.java']),
deps = [
':junit',
],
)


prebuilt_native_library

def prebuilt_native_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
has_wrap_script: bool = _,
is_asset: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
native_libs: str
) -> None

A prebuilt_native_library() rule is used to bundle native libraries (i.e., .so files) for Android.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • has_wrap_script: When using an exopackage, if this parameter is set to True, then the libraries for this rule are included in the primary APK even if native libraries would otherwise not be placed in it. This is intended for a native library directory that contains a wrap.sh script, which must be included in the primary APK to take effect. Only one of is_asset and has_wrap_script can be set for a rule.
  • is_asset: Normally native shared objects end up in a directory in the root of the APK named lib/. If this parameter is set to True, then these objects are placed in assets/lib/. Placing shared objects in a non-standard location prevents Android from extracting them to the device's internal storage.

Details

Examples:

Most of the time, a prebuilt_native_library is private to the android_library() that uses it:


prebuilt_native_library(
name = 'native_libs',
native_libs = 'libs',
)

android_library(
name = 'my_lib',
srcs = glob(['*.java']),
deps = [
':native_libs',
],
)


prebuilt_ocaml_library

def prebuilt_ocaml_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
bytecode_c_libs: list[str] = _,
bytecode_lib: None | str = _,
bytecode_only: bool = _,
c_libs: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
include_dir: None | str = _,
labels: list[str] = _,
lib_dir: str = _,
lib_name: str = _,
licenses: list[str] = _,
native_c_libs: list[str] = _,
native_lib: None | str = _,
platform_deps: list[(str, list[str])] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

prebuilt_python_library

def prebuilt_python_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_create_manifest_for_source_dir: str = _,
_create_third_party_build_root: str = _,
_extract: str = _,
_python_toolchain: str = _,
binary_src: str,
buck2_compatibility: str = _,
compile: bool = _,
contacts: list[str] = _,
cxx_header_dirs: None | list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exclude_deps_from_merged_linking: bool = _,
ignore_compile_errors: bool = _,
infer_cxx_header_dirs: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
strip_soabi_tags: bool = _
) -> None

A prebuilt_python_library() rule is used to include prebuilt python packages into the output of a top-level python_binary() or python_test() rule.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • binary_src: The path to the .whl or .egg to use.

    Note: .egg files have a very particular naming convention +that must be followed - otherwise it will not be found at runtime!

  • deps: Other prebuilt_python_library() rules which this library depends on. These may also be python_library rules if you want to depend on a source-based copy of the library.

  • exclude_deps_from_merged_linking: When linking the top-level binary with a merged .buckconfig, do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging.

  • labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .

  • strip_soabi_tags: Strip the SOABI tags from extensions in the prebuilt library.

    Note that this should be considered unsafe, as it removes builtin +protections that fail fast when a potententially incompatible +native extension is imported.

Details

These prebuilt libraries can either be whl files or eggs

whls for most packages are available for download from PyPI. The whl used may be +downloaded with remote_file(). However, Buck does not attempt to infer dependency information from pip, +so that information will have to be imparted by the user.

To create an egg for a package, run python setup.py bdist_egg in the package source distribution.

Examples:


# A simple prebuilt_python_library with no external dependencies.
remote_file(
name = "requests-download",
url = "https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl",
sha1 = "e1fc28120002395fe1f2da9aacea4e15a449d9ee",
out = "requests-2.22.0-py2.py3-none-any.whl",
)

prebuilt_python_library(
name = "requests",
binary_src = ":requests-download",
)

# A slightly more complex example
prebuilt_python_library(
name = "greenlet",
binary_src = "greenlet-0.4.7-py2.7-macosx-10.10-x86_64.egg",
)

prebuilt_python_library(
name = "gevent",
binary_src = "gevent-1.0.2-py2.7-macosx-10.10-x86_64.egg",
deps = [
":greenlet",
],
)


python_binary

def python_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_create_manifest_for_source_dir: str = _,
_cxx_hacks: str = _,
_cxx_toolchain: str = _,
_exec_os_type: str = _,
_package_remotely: bool = _,
_python_toolchain: str = _,
_target_os_type: str = _,
allow_cache_upload: None | bool = _,
anonymous_link_groups: bool = _,
auto_link_groups: bool = _,
base_module: None | str = _,
binary_linker_flags: list[str] = _,
bolt_flags: list[str] = _,
bolt_profile: None | str = _,
buck2_compatibility: str = _,
build_args: list[str] = _,
compile: None | bool = _,
compiler_flags: list[str] = _,
constraint_overrides: list[str] = _,
contacts: list[str] = _,
coverage_instrumentation_compiler_flags: list[str] = _,
cxx_main: str = _,
cxx_platform: None | str = _,
cxx_runtime_type: None | str = _,
deduplicate_merged_link_roots: None | bool = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
deps_query: None | str = _,
devirt_enabled: bool = _,
distributed_thinlto_partial_split_dwarf: bool = _,
dummy_omnibus: None | str = _,
enable_distributed_thinlto: bool = _,
executable_deps: list[str] = _,
executable_name: None | str = _,
exported_needs_coverage_instrumentation: bool = _,
extension: None | str = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
frameworks: list[str] = _,
header_namespace: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
include_directories: list[str] = _,
inplace_build_args: list[str] = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_deps_query_whole: bool = _,
link_execution_preference: None | str = _,
link_group: None | str = _,
link_group_deps: list[str] = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_group_min_binary_node_count: None | int = _,
link_group_public_deps_label: None | str = _,
link_ordering: None | str = _,
link_style: str = _,
link_whole: bool = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
main: None | str = _,
main_function: None | str = _,
main_module: None | str = _,
make_py_package: None | str = _,
manifest_module_entries: None | dict[str, list[str] | dict[str, typing.Any]] = _,
native_link_strategy: None | str = _,
package_split_dwarf_dwp: bool = _,
package_style: None | str = _,
par_style: None | str = _,
platform: None | str = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preload_deps: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
prefer_stripped_native_objects: bool = _,
prefer_stripped_objects: bool = _,
prefix_header: None | str = _,
preload_deps: list[str] = _,
preprocessor_flags: list[str] = _,
py_version_for_type_checking: None | str = _,
raw_headers: list[str] = _,
repl_main: None | str = _,
repl_only_deps: list[str] = _,
resources: list[str] | dict[str, str] = _,
run_with_inplace: bool = _,
runtime_env: None | dict[str, str] = _,
standalone_build_args: list[str] = _,
static_extension_finder: str = _,
static_extension_utils: str = _,
strip_libpar: str = _,
strip_stapsdt: bool = _,
thin_lto: bool = _,
typing: bool = _,
version_universe: None | str = _,
weak_framework_names: list[str] = _,
zip_safe: None | bool = _
) -> None

A python_binary() rule is used to build an executable Python package that includes Python sources and resources from all transitive dependencies.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).
  • base_module: The package in which the main module should reside in its final location in the binary. If unset, Buck uses the project-relative directory that contains the BUCK file.
  • deduplicate_merged_link_roots: When linking multiple top-level binaries with the merged .buckconfig, coalesce root link rules which are identical across independent merged links.
  • deps: A list of python_library() rules that specify Python modules to include in the binary — including all transitive dependencies of these rules.
  • labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .
  • link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.
  • link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.
  • linker_flags: Additional linker flags that should be applied to any linking which is specific to this rule. Note that whether these flags are used is dependent on the native link strategy selected in .buckconfig and currently applies only to the merged .buckconfig; the separate link strategy pulls in shared libraries that are linked in the context of the rules that own them, such as cxx_library().
  • main: The Python file which serves as the entry point for the binary. The interpreter initiates execution of the binary with the code in this file.
  • main_function: Name of a Python function that will serve as the main entry point of the binary. The name is either a fully qualified name like foo.bar.baz or it starts with a . like .bar.baz, in which case it is relative to the package containing the target. This should usually be a function defined within one of the dependencies of this target. This attribute should be preferred over main_module or main, and it is an error to specify more than one of these.
  • main_module: The python module that should be the entry point of the binary. This should be a module name within a python_library that this binary depends on. Note that module names take base_module of the library into account. This property is mutually exclusive with main, and should be preferred to main, which is deprecated.
  • manifest_module_entries: If present, it should be a string -> entry mapping that gets generated into a __manifest__ module in the executable. Top level string keys will be the names of variables in this module (so they must be valid Python identifiers). An entry can be a list of strings, or a further string-keyed dictionary.
  • package_style: Used to override the global packaging style that is set in [.buckconfig ].
  • platform: The name of the Python platform flavor to build against by default as defined in the buckconfig#pythonsection of .buckconfig.
  • preload_deps: A list of C/C++ library dependencies that need to be loaded before any other libraries when the PEX starts up. This requires dynamic loader support, such as LD_PRELOAD, found on most systems. This list is order- sensitive and the preload libraries listed here are passed down to the dynamic linker in the same order.
  • py_version_for_type_checking: This option will force the type checker to perform checking under a specific version of Python interpreter.
  • typing: Determines whether to perform type checking on the given target. Default is False.

Details

Examples:

Build an executable from the Python files in the BUCK directory.


# BUCK

python_binary(
name = 'tailer',
main_module = 'tailer',
deps = [
':tailerutils',
],
)

python_library(
name = 'tailerutils',
# The main module, tailer.py, is specified here.
# (Separated out from the glob pattern for clarity.)
srcs = glob(['tailer.py', '*.py']),
)


python_bootstrap_binary

def python_bootstrap_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_exec_os_type: str = _,
_python_bootstrap_toolchain: str = _,
_win_python_wrapper: None | str = _,
buck2_compatibility: str = _,
deps: list[str] = _,
main: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

python_bootstrap_library

def python_bootstrap_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
deps: list[str] = _,
srcs: list[str]
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

python_library

def python_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_create_manifest_for_source_dir: str = _,
_create_third_party_build_root: str = _,
_cxx_toolchain: str = _,
_python_toolchain: str = _,
base_module: None | str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
cxx_platform: None | str = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exclude_deps_from_merged_linking: bool = _,
ignore_compile_errors: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
platform: None | str = _,
platform_deps: list[(str, list[str])] = _,
platform_resources: list[(str, list[str] | dict[str, str])] = _,
platform_srcs: list[(str, list[str] | dict[str, str])] = _,
py_version_for_type_checking: None | str = _,
resources: list[str] | dict[str, str] = _,
srcs: list[str] | dict[str, str] = _,
type_stubs: list[str] | dict[str, str] = _,
typing: bool = _,
version_universe: None | str = _,
versioned_resources: None | list[(dict[str, str], list[str] | dict[str, str])] = _,
versioned_srcs: None | list[(dict[str, str], list[str] | dict[str, str])] = _,
zip_safe: None | bool = _
) -> None

A python_library() rule is used to group together Python source files and resources to be passed together in as a dep of other rules.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • base_module: The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file.
  • deps: Other python_library() rules that list srcs from which this rule imports modules.
  • exclude_deps_from_merged_linking: When linking the top-level binary with a merged .buckconfig, do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging.
  • labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .
  • platform_resources: Python-platform-specific resource files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of resource files. The regex should use java.util.regex.Pattern syntax. The platform name is a Python platform flavor defined in the buckconfig#python section of .buckconfig.
  • platform_srcs: Python-platform-specific source files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of source files. The regex should use java.util.regex.Pattern syntax. The platform name is a Python platform flavor defined in the buckconfig#python section of .buckconfig.
  • py_version_for_type_checking: This option will force the type checker to perform checking under a specific version of Python interpreter.
  • srcs: The set of Python (.py) files to include in this library.
  • typing: Determines whether to perform type checking on the given target. Default is False.

Details

Examples:

Include Python source files and resource files.


# BUCK

# A rule that includes a single Python file.
python_library(
name = 'fileutil',
srcs = ['fileutil.py'],
deps = [
'//third_party/python-magic:python-magic',
],
)

# A rule that uses glob() to include all Python source files in the
# directory in which the rule is defined. The rule also specifies a
# resource file that gets packaged with the source file.
python_library(
name = 'testutil',
srcs = glob(['testutil/**/*.py']),
resources = [
'testdata.dat',
],
)


python_needed_coverage_test

def python_needed_coverage_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_inject_test_env: str = _,
_remote_test_execution_toolchain: str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
env: dict[str, str] = _,
labels: list[str] = _,
needed_coverage: list[(int, str, None | str)] = _,
remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,
remote_execution_action_key_providers: None | str = _,
test: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

python_test

def python_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_create_manifest_for_source_dir: str = _,
_cxx_hacks: str = _,
_cxx_toolchain: str = _,
_exec_os_type: str = _,
_inject_test_env: str = _,
_python_toolchain: str = _,
_remote_test_execution_toolchain: str = _,
_target_os_type: str = _,
_test_main: str = _,
additional_coverage_targets: list[str] = _,
anonymous_link_groups: bool = _,
auto_link_groups: bool = _,
base_module: None | str = _,
binary_linker_flags: list[str] = _,
bolt_flags: list[str] = _,
bolt_profile: None | str = _,
buck2_compatibility: str = _,
build_args: list[str] = _,
compile: None | bool = _,
compiler_flags: list[str] = _,
constraint_overrides: list[str] = _,
contacts: list[str] = _,
coverage_instrumentation_compiler_flags: list[str] = _,
cxx_main: str = _,
cxx_platform: None | str = _,
cxx_runtime_type: None | str = _,
deduplicate_merged_link_roots: None | bool = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
defaults: dict[str, str] = _,
deps: list[str] = _,
deps_query: None | str = _,
devirt_enabled: bool = _,
distributed_thinlto_partial_split_dwarf: bool = _,
dummy_omnibus: None | str = _,
enable_distributed_thinlto: bool = _,
env: dict[str, str] = _,
exclude_deps_from_merged_linking: bool = _,
executable_deps: list[str] = _,
executable_name: None | str = _,
exported_needs_coverage_instrumentation: bool = _,
extension: None | str = _,
fat_lto: bool = _,
focused_list_target: None | str = _,
frameworks: list[str] = _,
header_namespace: None | str = _,
headers: list[str] | dict[str, str] = _,
headers_as_raw_headers_mode: None | str = _,
implicit_test_library: None | str = _,
include_directories: list[str] = _,
inplace_build_args: list[str] = _,
labels: list[str] = _,
lang_compiler_flags: dict[str, list[str]] = _,
lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _,
lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _,
lang_preprocessor_flags: dict[str, list[str]] = _,
libraries: list[str] = _,
licenses: list[str] = _,
link_deps_query_whole: bool = _,
link_execution_preference: None | str = _,
link_group: None | str = _,
link_group_deps: list[str] = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_group_min_binary_node_count: None | int = _,
link_group_public_deps_label: None | str = _,
link_ordering: None | str = _,
link_style: str = _,
link_whole: bool = _,
linker_extra_outputs: list[str] = _,
linker_flags: list[str] = _,
main_function: None | str = _,
main_module: None | str = _,
make_py_package: None | str = _,
manifest_module_entries: None | dict[str, list[str] | dict[str, typing.Any]] = _,
native_link_strategy: None | str = _,
needed_coverage: list[(int, str, None | str)] = _,
package_split_dwarf_dwp: bool = _,
package_style: None | str = _,
par_style: None | str = _,
platform: None | str = _,
platform_compiler_flags: list[(str, list[str])] = _,
platform_deps: list[(str, list[str])] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
platform_linker_flags: list[(str, list[str])] = _,
platform_preload_deps: list[(str, list[str])] = _,
platform_preprocessor_flags: list[(str, list[str])] = _,
platform_resources: list[(str, list[str] | dict[str, str])] = _,
platform_srcs: list[(str, list[str | (str, list[str])])] = _,
post_linker_flags: list[str] = _,
post_platform_linker_flags: list[(str, list[str])] = _,
precompiled_header: None | str = _,
prefer_stripped_native_objects: bool = _,
prefer_stripped_objects: bool = _,
prefix_header: None | str = _,
preload_deps: list[str] = _,
preprocessor_flags: list[str] = _,
py_version_for_type_checking: None | str = _,
raw_headers: list[str] = _,
remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,
remote_execution_action_key_providers: None | str = _,
repl_main: None | str = _,
repl_only_deps: list[str] = _,
resources: list[str] | dict[str, str] = _,
run_with_inplace: bool = _,
runner: None | str = _,
runtime_env: None | dict[str, str] = _,
specs: None | str = _,
srcs: list[str] | dict[str, str] = _,
standalone_build_args: list[str] = _,
static_extension_finder: str = _,
static_extension_utils: str = _,
strip_libpar: str = _,
strip_stapsdt: bool = _,
test_rule_timeout_ms: None | int = _,
thin_lto: bool = _,
typing: bool = _,
version_universe: None | str = _,
versioned_resources: None | list[(dict[str, str], list[str] | dict[str, str])] = _,
versioned_srcs: None | list[(dict[str, str], list[str] | dict[str, str])] = _,
weak_framework_names: list[str] = _,
zip_safe: None | bool = _
) -> None

A python_test() rule defines a set of .py files that contain tests to run via the Python unit testing framework.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • base_module: The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file.

  • deduplicate_merged_link_roots: When linking multiple top-level binaries with the merged .buckconfig, coalesce root link rules which are identical across independent merged links.

  • deps: other rules used by the tests in this rule's sources.

  • env: A map of environment names and values to set when running the test.

    It is also possible to expand references to other rules within the values of +these environment variables, using builtin string parameter macros +:

    $(location //path/to:target) +Expands to the location of the output of the build rule. This +means that you can refer to these without needing to be aware of how +Buck is storing data on the disk mid-build.

  • exclude_deps_from_merged_linking: When linking the top-level binary with a merged .buckconfig, do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging.

  • labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .

  • link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.

  • link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.

  • linker_flags: Additional linker flags that should be applied to any linking which is specific to this rule. Note that whether these flags are used is dependent on the native link strategy selected in .buckconfig and currently applies only to the merged .buckconfig; the separate link strategy pulls in shared libraries that are linked in the context of the rules that own them, such as cxx_library().

  • main_function: Name of a Python function that will serve as the main entry point of the binary. The name is either a fully qualified name like foo.bar.baz or it starts with a . like .bar.baz, in which case it is relative to the package containing the target. This should usually be a function defined within one of the dependencies of this target. This attribute should be preferred over main_module or main, and it is an error to specify more than one of these.

  • main_module: The main module used to run the tests. This parameter is normally not needed, as Buck will provide a default main module that runs all tests. However, you can override this with your own module to perform custom initialization or command line processing. Your custom module can import the standard Buck test main as __test_main__, and can invoke it's normal main function as __test_main__.main(sys.argv).

  • manifest_module_entries: If present, it should be a string -> entry mapping that gets generated into a __manifest__ module in the executable. Top level string keys will be the names of variables in this module (so they must be valid Python identifiers). An entry can be a list of strings, or a further string-keyed dictionary.

  • package_style: Used to override the global packaging style that is set in [.buckconfig ].

  • platform: The name of the Python platform flavor to build against by default as defined in the buckconfig#pythonsection of .buckconfig.

  • platform_resources: Python-platform-specific resource files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of resource files. The regex should use java.util.regex.Pattern syntax. The platform name is a Python platform flavor defined in the buckconfig#python section of .buckconfig.

  • preload_deps: A list of C/C++ library dependencies that need to be loaded before any other libraries when the PEX starts up. This requires dynamic loader support, such as LD_PRELOAD, found on most systems. This list is order- sensitive and the preload libraries listed here are passed down to the dynamic linker in the same order.

  • py_version_for_type_checking: This option will force the type checker to perform checking under a specific version of Python interpreter.

  • srcs: The set of Python (.py) files to include in this library.

  • test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig .

  • typing: Determines whether to perform type checking on the given target. Default is False.

Details

If your test requires static files you should specify these in +the resources or platform_resources arguments. +If you do not specify these files, they won't be available when your +test runs.

Examples:


# A rule that includes a single .py file containing tests.
python_test(
name = 'fileutil_test',
srcs = ['fileutil_tests.py'],
deps = [
':fileutil',
],
)

# A rule that uses glob() to include all sources in the directory which the
# rule is defined. It also lists a resource file that gets packaged with
# the sources in this rule.
python_library(
name = 'fileutil',
srcs = glob(['fileutil/**/*.py']),
resources = [
'testdata.dat',
],
)


python_test_runner

def python_test_runner(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
main_module: str = _,
src: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .

remote_file

def remote_file(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_unzip_tool: str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
out: None | str = _,
sha1: None | str = _,
sha256: None | str = _,
type: None | str = _,
url: str,
vpnless_url: None | str = _
) -> None

A remote_file() rule is used to download files from the Internet to be used as dependencies for other rules. These rules are downloaded by running fetch, or can be downloaded as part of build. See the note there about the .buckconfig setting to configure that.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • out: An optional name to call the downloaded artifact. Buck will generate a default name if one is not provided that uses the name of the rule.

  • type: An optional type of the downloaded file.

    data +Regular data file. +executable

    Executable file. Buck will ensure that output has appropriate permissions if applicable.

    exploded_zip

    Zip archive which will be automatically unzipped into an output directory.

  • url: You can specify an http, https, or a mvn URL. If you specify a mvn URL, it will be decoded as described in the javadocs for MavenUrlDecoder See the example section below.

  • vpnless_url: An optional additional URL from which this resource can be downloaded when off VPN. Meta-internal only.

Details

Examples:

Here's an example of a remote_file() using an https URL.


remote_file(
name = 'android-ndk-r10e-darwin-x86_64',
url = 'https://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin',
sha1 = 'b57c2b9213251180dcab794352bfc9a241bf2557',
)

Here's an example of a remote_file() using a mvn URL being referenced +by a prebuilt_jar().


prebuilt_jar(
name = 'jetty-all',
binary_jar = 'jetty-all-9.2.10.v20150310.jar',
source_jar = ':jetty-source',
)

remote_file(
name = 'jetty-source',
out = 'jetty-all-9.2.10.v20150310-sources.jar',
url = 'mvn:org.eclipse.jetty.aggregate:jetty-all:src:9.2.10.v20150310',
sha1 = '311da310416d2feb3de227081d7c3f48742d7075',
)

Here's an example of a remote_file() using a mvn URI which uses a +non-default maven repository host.


remote_file(
name = 'jetty-source',
out = 'jetty-all-9.2.10.v20150310-sources.jar',
url = 'mvn:https://maven-repo.com:org.eclipse.jetty.aggregate:jetty-all:src:9.2.10.v20150310',
sha1 = '311da310416d2feb3de227081d7c3f48742d7075',
)

Here's an example of a remote_file() using a mvn URI which uses a +Maven classifier.


remote_file(
name = 'groovy-groovysh-indy',
out = 'jetty-all-9.2.10.v20150310-sources.jar',
url = 'mvn:org.codehaus.groovy:groovy-groovysh:jar:indy:2.4.1',
sha1 = '1600fde728c885cc9506cb102deb1b494bd7c130',
)


robolectric_test

def robolectric_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_android_toolchain: str = _,
_apple_platforms: dict[str, str] = _,
_build_only_native_code: bool = _,
_exec_os_type: str = _,
_inject_test_env: str = _,
_is_building_android_binary: bool = _,
_java_test_toolchain: str = _,
_java_toolchain: str = _,
_kotlin_toolchain: str = _,
_remote_test_execution_toolchain: str = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
abi_generation_mode: None | str = _,
android_optional_jars: None | list[str] = _,
annotation_processing_tool: None | str = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
cxx_library_whitelist: list[str] = _,
default_cxx_platform: None | str = _,
default_host_platform: None | str = _,
deps: list[str] = _,
env: dict[str, str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
extra_kotlinc_arguments: list[str] = _,
fork_mode: str = _,
friend_paths: list[str] = _,
incremental: bool = _,
jar_postprocessor: None | str = _,
java: None | str = _,
java_agents: list[str] = _,
java_version: None | str = _,
javac: None | str = _,
k2: bool = _,
kotlin_compiler_plugins: dict[str, dict[str, str]] = _,
labels: list[str] = _,
language: None | str = _,
licenses: list[str] = _,
locales_for_binary_resources: list[str] = _,
manifest: None | str = _,
manifest_entries: dict[str, typing.Any] = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
preferred_density_for_binary_resources: None | str = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
provided_deps_query: None | str = _,
remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,
remote_execution_action_key_providers: None | str = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resource_stable_ids: None | str = _,
resource_union_package: None | str = _,
resources: list[str] = _,
resources_root: None | str = _,
robolectric_manifest: str,
robolectric_runtime_dependencies: list[str] = _,
robolectric_runtime_dependency: None | str = _,
run_test_separately: bool = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
std_err_log_level: None | int | str = _,
std_out_log_level: None | int | str = _,
target: None | str = _,
test_case_timeout_ms: None | int = _,
test_class_names_file: None | str = _,
test_rule_timeout_ms: None | int = _,
test_type: None | str = _,
unbundled_resources_root: None | str = _,
use_cxx_libraries: None | bool = _,
use_dependency_order_classpath: None | bool = _,
use_jvm_abi_gen: None | bool = _,
used_as_dependency_deprecated_do_not_use: bool = _,
vm_args: list[str] = _
) -> None

A robolectric_test() rule is used to define a set of .java files that contain tests to run via JUnit with Robolectric test runner. It extends from java_test() rule.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • extra_kotlinc_arguments: List of additional arguments to pass into the Kotlin compiler.
  • incremental: Enables Kotlin incremental compilation.
  • k2: Enables the Kotlin K2 compiler.
  • robolectric_manifest: An Android Manifest for the rule to declare any permissions or intents it may need or want to handle. May either be a file or an android_manifest() target.
  • robolectric_runtime_dependency: Robolectric only runs in offline mode with buck. Specify the relative directory containing all the jars Robolectric uses at runtime.

rust_binary

def rust_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_exec_os_type: str = _,
_rust_toolchain: str = _,
_target_os_type: str = _,
_workspaces: list[str] = _,
allow_cache_upload: None | bool = _,
anonymous_link_groups: bool = _,
auto_link_groups: bool = _,
buck2_compatibility: str = _,
clippy_configuration: None | str = _,
contacts: list[str] = _,
coverage: bool = _,
crate: None | str = _,
crate_root: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
deps: list[str] = _,
edition: None | str = _,
enable_distributed_thinlto: bool = _,
env: dict[str, str] = _,
features: list[str] = _,
flagged_deps: list[(str, list[str])] = _,
incremental_build_mode: None | str = _,
incremental_enabled: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
link_group: None | str = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_group_min_binary_node_count: None | int = _,
link_style: None | str = _,
linker_flags: list[str] = _,
mapped_srcs: dict[str, str] = _,
named_deps: list[(str, str)] | dict[str, str] = _,
resources: list[str] | dict[str, str] = _,
rpath: bool = _,
rustc_flags: list[str] = _,
rustdoc_flags: list[str] = _,
srcs: list[str] = _,
version_universe: None | str = _
) -> None

A rust_binary() rule builds a native executable from the supplied set of Rust source files and dependencies.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • _workspaces: Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2.

  • allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).

  • crate_root: Set the name of the top-level source file for the crate, which can be used to override the default (see srcs).

  • deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules.

  • edition: Set the language edition to be used for this rule. Can be set to any edition the compiler supports (2018 right now). If unset it uses the compiler's default (2015).

  • env: Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded.

  • features: The set of features to be enabled for this rule.

    These are passed to rustc with --cfg feature="{feature}", and can be used in the code with #[cfg(feature = "{feature}")].

  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.

  • linker_flags: The set of additional flags to pass to the linker.

  • mapped_srcs: Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example mapped_srcs = {":generate-module", "src/generated.rs" }. These are added to the regular srcs, so a file should not be listed in both.

  • named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library.

  • rpath: Set the "rpath" in the executable when using a shared link style.

  • rustc_flags: The set of additional compiler flags to pass to rustc.

  • srcs: The set of Rust source files to be compiled by this rule.

    One of the source files is the root module of the crate. By default this is lib.rs for libraries, main.rs for executables, or +the crate's name with .rs appended. This can be overridden with the crate_root rule parameter.

Details

If you invoke a build with the check flavor, then Buck will invoke rustc +to check the code (typecheck, produce warnings, etc), but won't generate an executable code. +When applied to binaries it produces no output; for libraries it produces metadata for +consumers of the library.

Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust.

Examples:

For more examples, check out our integration tests.


rust_binary(
name='greet',
srcs=[
'greet.rs',
],
deps=[
':greeting',
],
)

rust_library(
name='greeting',
srcs=[
'greeting.rs',
],
deps=[
':join',
],
)

rust_library(
name='join',
srcs=[
'join.rs',
],
)


rust_library

def rust_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_exec_os_type: str = _,
_rust_toolchain: str = _,
_target_os_type: str = _,
_workspaces: list[str] = _,
buck2_compatibility: str = _,
clippy_configuration: None | str = _,
contacts: list[str] = _,
coverage: bool = _,
crate: None | str = _,
crate_dynamic: None | str = _,
crate_root: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
deps: list[str] = _,
doc_deps: list[str] = _,
doc_env: dict[str, str] = _,
doc_link_style: None | str = _,
doc_linker_flags: list[str] = _,
doc_named_deps: list[(str, str)] | dict[str, str] = _,
doctests: None | bool = _,
edition: None | str = _,
env: dict[str, str] = _,
features: list[str] = _,
flagged_deps: list[(str, list[str])] = _,
incremental_build_mode: None | str = _,
incremental_enabled: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
link_style: None | str = _,
linker_flags: list[str] = _,
mapped_srcs: dict[str, str] = _,
named_deps: list[(str, str)] | dict[str, str] = _,
preferred_linkage: str = _,
proc_macro: bool = _,
resources: list[str] | dict[str, str] = _,
rustc_flags: list[str] = _,
rustdoc_flags: list[str] = _,
soname: None | str = _,
srcs: list[str] = _,
supports_python_dlopen: None | bool = _,
version_universe: None | str = _
) -> None

A rust_library() rule builds a native library from the supplied set of Rust source files and dependencies.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • _workspaces: Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2.

  • crate_root: Set the name of the top-level source file for the crate, which can be used to override the default (see srcs).

  • deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules.

  • doc_deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules.

  • doc_env: Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded.

  • doc_link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.

  • doc_linker_flags: The set of additional flags to pass to the linker.

  • doc_named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library.

  • edition: Set the language edition to be used for this rule. Can be set to any edition the compiler supports (2018 right now). If unset it uses the compiler's default (2015).

  • env: Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded.

  • features: The set of features to be enabled for this rule.

    These are passed to rustc with --cfg feature="{feature}", and can be used in the code with #[cfg(feature = "{feature}")].

  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.

  • linker_flags: The set of additional flags to pass to the linker.

  • mapped_srcs: Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example mapped_srcs = {":generate-module", "src/generated.rs" }. These are added to the regular srcs, so a file should not be listed in both.

  • named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library.

  • rustc_flags: The set of additional compiler flags to pass to rustc.

  • soname: Sets the soname ("shared object name") of any shared library produced from this rule. The default value is based on the full rule name. The macro $(ext) will be replaced with a platform-appropriate extension. An argument can be provided, which is a library version. For example soname = 'libfoo.$(ext 2.3)' will be libfoo.2.3.dylib on Mac and libfoo.so.2.3 on Linux.

  • srcs: The set of Rust source files to be compiled by this rule.

    One of the source files is the root module of the crate. By default this is lib.rs for libraries, main.rs for executables, or +the crate's name with .rs appended. This can be overridden with the crate_root rule parameter.

Details

If you invoke a build with the check flavor, then Buck will invoke rustc +to check the code (typecheck, produce warnings, etc), but won't generate an executable code. +When applied to binaries it produces no output; for libraries it produces metadata for +consumers of the library.

Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust.

Examples:

For more examples, check out our integration tests.


rust_library(
name='greeting',
srcs=[
'greeting.rs',
],
deps=[
':join',
],
)


rust_test

def rust_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
_exec_os_type: str = _,
_inject_test_env: str = _,
_remote_test_execution_toolchain: str = _,
_rust_toolchain: str = _,
_target_os_type: str = _,
_workspaces: list[str] = _,
anonymous_link_groups: bool = _,
auto_link_groups: bool = _,
buck2_compatibility: str = _,
clippy_configuration: None | str = _,
contacts: list[str] = _,
coverage: bool = _,
crate: None | str = _,
crate_root: None | str = _,
default_host_platform: None | str = _,
default_platform: None | str = _,
deps: list[str] = _,
edition: None | str = _,
enable_distributed_thinlto: bool = _,
env: dict[str, str] = _,
features: list[str] = _,
flagged_deps: list[(str, list[str])] = _,
framework: bool = _,
incremental_build_mode: None | str = _,
incremental_enabled: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
link_group: None | str = _,
link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _,
link_group_min_binary_node_count: None | int = _,
link_style: None | str = _,
linker_flags: list[str] = _,
mapped_srcs: dict[str, str] = _,
named_deps: list[(str, str)] | dict[str, str] = _,
remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,
remote_execution_action_key_providers: None | str = _,
resources: list[str] | dict[str, str] = _,
rpath: bool = _,
run_env: dict[str, str] = _,
rustc_flags: list[str] = _,
rustdoc_flags: list[str] = _,
srcs: list[str] = _,
version_universe: None | str = _
) -> None

A rust_test() rule builds a Rust test native executable from the supplied set of Rust source files and dependencies and runs this test.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • _workspaces: Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2.

  • crate_root: Set the name of the top-level source file for the crate, which can be used to override the default (see srcs).

  • deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules.

  • edition: Set the language edition to be used for this rule. Can be set to any edition the compiler supports (2018 right now). If unset it uses the compiler's default (2015).

  • env: Set environment variables for this rule's invocations of rustc and during execution of the tests. The environment variable values may include macros which are expanded.

  • features: The set of features to be enabled for this rule.

    These are passed to rustc with --cfg feature="{feature}", and can be used in the code with #[cfg(feature = "{feature}")].

  • framework: Use the standard test framework. If this is set to false, then the result is a normal executable which requires a main(), etc. It is still expected to accept the same command-line parameters and produce the same output as the test framework.

  • link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.

  • linker_flags: The set of additional flags to pass to the linker.

  • mapped_srcs: Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example mapped_srcs = {":generate-module", "src/generated.rs" }. These are added to the regular srcs, so a file should not be listed in both.

  • named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library.

  • rpath: Set the "rpath" in the executable when using a shared link style.

  • run_env: Set environment variables during test execution. The environment variable values may include macros which are expanded.

  • rustc_flags: The set of additional compiler flags to pass to rustc.

  • srcs: The set of Rust source files to be compiled by this rule.

    One of the source files is the root module of the crate. By default this is lib.rs for libraries, main.rs for executables, or +the crate's name with .rs appended. This can be overridden with the crate_root rule parameter.

Details

Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust.

Examples:

For more examples, check out our integration tests.


rust_test(
name='greet',
srcs=[
'greet.rs',
],
deps=[
':greeting',
],
)

rust_library(
name='greeting',
srcs=[
'greeting.rs',
],
deps=[
':join',
],
)

rust_library(
name='join',
srcs=[
'join.rs',
],
)


scala_library

def scala_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
abi_generation_mode: None | str = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
java_version: None | str = _,
javac: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resources: list[str] = _,
resources_root: None | str = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
target: None | str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

scala_test

def scala_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_wip_java_plugin_arguments: dict[str, list[str]] = _,
abi_generation_mode: None | str = _,
annotation_processor_deps: list[str] = _,
annotation_processor_params: list[str] = _,
annotation_processors: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
cxx_library_whitelist: list[str] = _,
default_cxx_platform: None | str = _,
default_host_platform: None | str = _,
deps: list[str] = _,
deps_query: None | str = _,
env: dict[str, str] = _,
exported_deps: list[str] = _,
exported_provided_deps: list[str] = _,
extra_arguments: list[str] = _,
fork_mode: str = _,
java_version: None | str = _,
javac: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
manifest_file: None | str = _,
maven_coords: None | str = _,
never_mark_as_unused_dependency: None | bool = _,
on_unused_dependencies: None | str = _,
plugins: list[str] = _,
proguard_config: None | str = _,
provided_deps: list[str] = _,
remove_classes: list[str] = _,
required_for_source_only_abi: bool = _,
resources: list[str] = _,
resources_root: None | str = _,
run_test_separately: bool = _,
runtime_deps: list[str] = _,
source: None | str = _,
source_abi_verification_mode: None | str = _,
source_only_abi_deps: list[str] = _,
srcs: list[str] = _,
std_err_log_level: None | int | str = _,
std_out_log_level: None | int | str = _,
target: None | str = _,
test_case_timeout_ms: None | int = _,
test_rule_timeout_ms: None | int = _,
test_type: None | str = _,
use_cxx_libraries: None | bool = _,
use_dependency_order_classpath: None | bool = _,
vm_args: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

scene_kit_assets

def scene_kit_assets(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
path: str
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

sh_binary

def sh_binary(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_target_os_type: str = _,
append_script_extension: bool = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
main: str,
resources: list[str] = _
) -> None

An sh_binary() is used to execute a shell script.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • append_script_extension: By default, sh_binary ensures that the script has an appropriate extension (e.g. .sh or .bat), appending one itself if necessary. Setting this to False prevents that behavior and makes the caller responsible for ensuring an existing appropriate extension.

  • main: Either the path to the script (relative to the build file), or a build target. This file must be executable in order to be run.

  • resources: A list of files or build rules that this rule requires in order to run. These could be things such as random data files.

    When the script runs, the $BUCK_DEFAULT_RUNTIME_RESOURCES +environment variable specifies the directory that contains these resources. +This directory's location is determined entirely by Buck; the script should +not assume the directory's location.

    The resources are also made available in a tree structure that mirrors +their locations in the source and buck-out trees. The +environment variable $BUCK_PROJECT_ROOT specifies a directory +that contains all the resources, laid out in their locations relative to +the original buck project root.

Details

Examples:

This sh_binary() just cats a sample data file back at the user.


# $REPO/BUCK
sh_binary(
name = "script",
main = "script.sh",
resources = [
"data.dat",
],
)


# Sample data file with data we need at runtime
$ echo "I'm a datafile" > data.dat

# Create a simple script that prints out the resource
$ cat > script.sh
#!/bin/sh
cat $BUCK_DEFAULT_RUNTIME_RESOURCES/data.dat

# Make sure the script is executable
$ chmod u+x script.sh

# Run the script, and see that it prints out the resource we provided
$ buck run //:script
Jobs completed: 4. Time elapsed: 0.2s.
BUILD SUCCEEDED
I'm a datafile


sh_test

def sh_test(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_inject_test_env: str = _,
_remote_test_execution_toolchain: str = _,
args: list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
env: dict[str, str] = _,
labels: list[str] = _,
licenses: list[str] = _,
list_args: None | list[str] = _,
list_env: None | dict[str, str] = _,
remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _,
remote_execution_action_key_providers: None | str = _,
resources: list[str] = _,
run_args: list[str] = _,
run_env: dict[str, str] = _,
run_test_separately: bool = _,
test: None | str = _,
test_rule_timeout_ms: None | int = _,
type: None | str = _
) -> None

A sh_test() is a test rule that can pass results to the test runner by invoking a shell script.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • args: The list of arguments to invoke this script with. These are literal values, and no shell interpolation is done.

    These can contain string parameter macros +, for example, to give the location of a generated binary to the test script.

  • env: Environment variable overrides that should be used when running the script. The key is the variable name, and the value is its value.

    The values can contain string parameter macros +such as the location of a generated binary to be used by the test script.

  • test: Either the path to the script (relative to the build file), or a build target. This file must be executable in order to be run.

  • type: If provided, this will be sent to any configured .buckconfig

Details

NOTE: This rule is not currently supported on Windows.

Examples:

This sh_test() fails if a string does not match a value.


# $REPO/BUCK
sh_test(
name = "script_pass",
test = "script.sh",
args = ["--pass"],
)

sh_test(
name = "script_fail",
test = "script.sh",
args = ["--fail"],
)



# Create a simple script that prints out the resource
$ cat > script.sh
#!/bin/sh
for arg in $@; do
if [ "$arg" == "--pass" ]; then
echo "Passed"
exit 0;
fi
done
echo "Failed"
exit 1

# Make sure the script is executable
$ chmod u+x script.sh

# Run the script, and see that one test passes, one fails
$ buck test //:script_pass //:script_fail
FAILURE script.sh sh_test
Building: finished in 0.0 sec (100%) 2/2 jobs, 0 updated
Total time: 0.0 sec
Testing: finished in 0.0 sec (1 PASS/1 FAIL)
RESULTS FOR //:script_fail //:script_pass
FAIL <100ms 0 Passed 0 Skipped 1 Failed //:script_fail
FAILURE script.sh sh_test
====STANDARD OUT====
Failed

PASS <100ms 1 Passed 0 Skipped 0 Failed //:script_pass
TESTS FAILED: 1 FAILURE
Failed target: //:script_fail
FAIL //:script_fail


supermodule_target_graph

def supermodule_target_graph(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
label_pattern: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
on_duplicate_entry: str = _,
out: str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

swift_library

def swift_library(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
bridging_header: None | str = _,
buck2_compatibility: str = _,
compiler_flags: list[str] = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
deps: list[str] = _,
enable_cxx_interop: bool = _,
frameworks: list[str] = _,
import_obj_c_forward_declarations: bool = _,
labels: list[str] = _,
libraries: list[str] = _,
licenses: list[str] = _,
module_name: None | str = _,
preferred_linkage: str = _,
sdk_modules: list[str] = _,
serialize_debugging_options: bool = _,
soname: None | str = _,
srcs: list[str] = _,
supported_platforms_regex: None | str = _,
target_sdk_version: None | str = _,
uses_explicit_modules: bool = _,
version: None | str = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

swift_toolchain

def swift_toolchain(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_internal_platform_path: None | str = _,
_internal_sdk_path: None | str = _,
_swiftc_wrapper: str = _,
architecture: None | str = _,
buck2_compatibility: str = _,
can_toolchain_emit_obj_c_header_textually: bool = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
explicit_modules_uses_gmodules: bool = _,
labels: list[str] = _,
licenses: list[str] = _,
make_swift_comp_db: str = _,
make_swift_interface: str = _,
object_format: str = _,
placeholder_tool: None | str = _,
platform_path: None | str = _,
prefix_serialized_debug_info: bool = _,
resource_dir: None | str = _,
runtime_paths_for_bundling: list[str] = _,
runtime_paths_for_linking: list[str] = _,
runtime_run_paths: list[str] = _,
sdk_dependencies_path: None | str = _,
sdk_modules: list[str] = _,
sdk_path: None | str = _,
static_runtime_paths: list[str] = _,
supports_cxx_interop_requirement_at_import: bool = _,
supports_relative_resource_dir: bool = _,
supports_swift_cxx_interoperability_mode: bool = _,
supports_swift_importing_obj_c_forward_declarations: bool = _,
swift_ide_test_tool: None | str = _,
swift_stdlib_tool: str,
swift_stdlib_tool_flags: list[str] = _,
swiftc: str,
swiftc_flags: list[str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

test_suite

def test_suite(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
test_deps: list[str] = _
) -> None

A test_suite() is used to create a grouping of tests that should all be run by just testing this rule.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

Details

This rule can then be given to buck test, and all tests that it depends on will be invoked. +Note that the test_suite() target is not tested itself, it just tells buck to run other +tests. It will not show up in calls to the external runner nor in the normal test output.

Examples:

This test_suite() sets up two different sets of tests to run, 'all' tests and 'slow' tests. Note that all_tests can depend on slow_tests, and all three tests are run.


# instrumentation_tests/BUCK:
sh_test(
name = "instrumentation_tests",
test = "instrumentation_tests.sh",
visibility = ["PUBLIC"],
)

# integration_tests/BUCK:
sh_test(
name = "integration_tests",
test = "integration_tests.sh",
visibility = ["PUBLIC"],
)

# unit_tests/BUCK:
sh_test(
name = "unit_tests",
test = "unit_tests.sh",
visibility = ["PUBLIC"],
)

# BUCK:
test_suite(
name = "slow_tests",
tests = [
"//instrumentation_tests:instrumentation_tests",
"//integration_tests:integration_tests",
],
)

test_suite(
name = "all_tests",
tests = [
":slow_tests",
"//unit_tests:unit_tests",
],
)

Yields output like this when run:


$ buck test //:slow_tests
...
RESULTS FOR //instrumentation_tests:instrumentation_tests //integration_tests:integration_tests
PASS <100ms 1 Passed 0 Skipped 0 Failed //instrumentation_tests:instrumentation_tests
PASS <100ms 1 Passed 0 Skipped 0 Failed //integration_tests:integration_tests
TESTS PASSED
...

$ buck test //:all_tests
RESULTS FOR //instrumentation_tests:instrumentation_tests //integration_tests:integration_tests //unit_tests:unit_tests
PASS <100ms 1 Passed 0 Skipped 0 Failed //instrumentation_tests:instrumentation_tests
PASS <100ms 1 Passed 0 Skipped 0 Failed //integration_tests:integration_tests
PASS <100ms 1 Passed 0 Skipped 0 Failed //unit_tests:unit_tests
TESTS PASSED


toolchain_alias

def toolchain_alias(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
actual: str,
buck2_compatibility: str = _
) -> None

toolchain_alias acts like alias but for toolchain rules.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • actual: The actual toolchain that is being aliased. This should be a toolchain rule.

Details

The toolchain_alias itself is a toolchain rule and the actual argument is +expected to be a toolchain_rule as well.


versioned_alias

def versioned_alias(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
versions: dict[str, str] = _
) -> None

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one

windows_resource

def windows_resource(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_cxx_toolchain: str = _,
buck2_compatibility: str = _,
header_namespace: None | str = _,
headers: list[str] | dict[str, str] = _,
include_directories: list[str] = _,
labels: list[str] = _,
platform_headers: list[(str, list[str] | dict[str, str])] = _,
raw_headers: list[str] = _,
srcs: list[str | (str, list[str])] = _
) -> None

A windows_resource() rule specifies a set of Window's Resource File (.rc) that are compiled into object files.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.
  • headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.
  • include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package.
  • platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.
  • raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target.
  • srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable).

Details

The files are compiled into .res files using rc.exe and then compiled into object files +using cvtres.exe. +They are not part of cxx_library because Microsoft's linker ignores the resources +unless they are specified as an object file, meaning including them in a possibly static +library is unintuitive.

Examples:


# A rule that includes a single .rc file and compiles it into an object file.
windows_resource(
name = "resources",
srcs = [
"resources.rc",
],
)

# A rule that links against the above windows_resource rule.
cxx_binary(
name = "app",
srcs = [
"main.cpp",
],
deps = [
":resources"
],
)


worker_tool

def worker_tool(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_worker_tool_runner: str = _,
args: str | list[str] = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
env: dict[str, str] = _,
exe: None | str = _,
labels: list[str] = _,
licenses: list[str] = _,
max_workers: None | int = _,
max_workers_per_thread_percent: None | int = _,
persistent: None | bool = _
) -> None

Some external tools have high startup costs. To amortize those costs over the whole build rather than paying them for each rule invocation, use the worker_tool() rule in conjunction with genrule(). Buck then starts the external tool once and reuses it by communicating with it over stdin and stdout using a simple JSON protocol.

Parameters

  • name: name of the target
  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line
  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration
  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform
  • visibility: a list of visibility patterns restricting what targets can depend on this one
  • within_view: a list of visibility patterns restricting what this target can depend on
  • metadata: a key-value map of metadata associated with this target
  • tests: a list of targets that provide tests for this one
  • args: A string of args that is passed to the executable represented by exe on initial startup.
  • env: A map of environment variables that is passed to the executable represented by exe on initial startup.
  • exe: A build target for a rule that outputs an executable, such as an sh_binary(). Buck runs this executable only once per build.
  • max_workers: The maximum number of workers of this type that Buck starts. Use -1 to allow the creation of as many workers as necessary.
  • max_workers_per_thread_percent: The maximum ratio of workers of this type that Buck starts per thread, specified as a positive integer percentage (1-100). Must be greater than or equal to 1 and less than or equal to 100. Only one of max_workers and max_workers_per_thread_percent may be specified.
  • persistent: If set to true, Buck does not restart the tool unless the tool itself changes. This means the tool persists across multiple Buck commands without being shut down and may see the same rule being built more than once. Be careful not to use this setting with tools that don't expect to process the same input—with different contents—twice!

Details

A worker_tool rule can be referenced in the cmd parameter of +a genrule by using the macro:



$(exe //path/to:target)

Examples:

Consider the following build rules:


#
# Buck
#
worker_tool(
name = 'ExternalToolWorker',
exe = ':ExternalTool',
args = '--arg1 --arg2'
)

sh_binary(
name = 'ExternalTool',
main = 'external_tool.sh',
)

genrule(
name = 'TransformA',
out = 'OutputA.txt',
cmd = '$(exe :ExternalToolWorker) argA',
)

genrule(
name = 'TransformB',
out = 'OutputB.txt',
cmd = '$(exe :ExternalToolWorker) argB',
)

genrule(
name = 'TransformC',
out = 'OutputC.txt',
cmd = '$(exe :ExternalToolWorker) argC',
)

When doing a buck build on all three of the above genrules, Buck +first creates the worker process by invoking:



./external_tool.sh --arg1 --arg2

Buck then communicates with this process using JSON over stdin, +starting with a handshake:


[
{
"id": 0,
"type": "handshake",
"protocol_version": "0",
"capabilities": []
}

Buck then waits for the tool to reply on stdout:


[
{
"id": 0,
"type": "handshake",
"protocol_version": "0",
"capabilities": []
}

Then, when building the first genrule, Buck writes to stdin:


,{
"id": 1,
"type": "command",
"args_path": "/tmp/1.args",
"stdout_path": "/tmp/1.out",
"stderr_path": "/tmp/1.err"
}

The file /tmp/1.args contains argA. The tool should +perform the necessary work for this job and then write the job's output to the files +supplied by Buck—in this case, /tmp/1.out and /tmp/1.err. +Once the job is done, the tool should reply to Buck on stdout with:


,{
"id": 1,
"type": "result",
"exit_code": 0
}

Once Buck hears back from the first genrule's job, it submits the second genrule's job in the +same fashion and awaits the response. When the build is all finished, +Buck closes the JSON by writing to stdin:


]

which signals the tool that it should exit after replying on stdout with:


]

In this example, Buck is guaranteed to invoke



./external_tool.sh --arg1 --arg2

only once during the build. The three jobs corresponding to the three genrules are submitted +synchronously to the single worker process.

Note that the id values in the messages are not necessarily increasing or sequential, +but they do have to match between the request message and the response message of a given job as +well as in the initial handshake.

If the tool receives a message type it cannot interpret it should answer with:


{
"id": &ltn>,
"type": "error",
"exit_code": 1
}

If the tool receives a message type it can interpret, but the other attributes of the +message are in an inconsistent state, it should answer with:


{
"id": &ltn>,
"type": "error",
"exit_code": 2
}


zip_file

def zip_file(
*,
name: str,
default_target_platform: None | str = _,
target_compatible_with: list[str] = _,
compatible_with: list[str] = _,
exec_compatible_with: list[str] = _,
visibility: list[str] = _,
within_view: list[str] = _,
metadata: opaque_metadata = _,
tests: list[str] = _,
_apple_platforms: dict[str, str] = _,
_zip_file_toolchain: str = _,
buck2_compatibility: str = _,
contacts: list[str] = _,
default_host_platform: None | str = _,
entries_to_exclude: list[str] = _,
labels: list[str] = _,
licenses: list[str] = _,
on_duplicate_entry: str = _,
out: str = _,
srcs: list[str] = _,
zip_srcs: list[str] = _
) -> None

A zip_file() allows builds to create basic zip files in a platform-agnostic way.

Parameters

  • name: name of the target

  • default_target_platform: specifies the default target platform, used when no platforms are specified on the command line

  • target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration

  • exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform

  • visibility: a list of visibility patterns restricting what targets can depend on this one

  • within_view: a list of visibility patterns restricting what this target can depend on

  • metadata: a key-value map of metadata associated with this target

  • tests: a list of targets that provide tests for this one

  • entries_to_exclude: List of regex expressions that describe entries that should not be included in the output zip file.

    The regexes must be defined using java.util.regex.Pattern syntax.

  • on_duplicate_entry: Action performed when Buck detects that zip_file input contains multiple entries with the same name.

    The valid values are:

    • overwrite (default): the last entry overwrites all previous entries with +the same name.
    • append: all entries are added to the output file.
    • fail: fail the build when duplicate entries are present.
  • out: The name of the zip file that should be generated. This allows builds to use a meaningful target name coupled with a meaningful zip file name. The default value takes the rule's name and appends .zip.

  • srcs: The set of files to include in the zip.

    Each src will be added to the zip as follows:

    • If the src is the output of another rule, the output +will be included using just the output's file name.
    • If the src is a file relative to the rule's +declaration, it will be included in the zip with its relative file +name.
  • zip_srcs: The set of zip files whose content to include in the output zip file.

    Note that the order of files in zip_srcs matters because the same zip entry can be +included from multiple files. See the on_duplicate_entry argument to learn how to +control the behavior when there are multiple entries with the same name.

    The entries from zip_srcs are added before files from srcs.

Details

Examples:

This example will create a simple zip file.


zip_file(
# The output will be "example.zip"
name = 'example',
srcs =
# These files will be found in the zip under "dir/"
glob(['dir/**/*']) +
[
# Imagine this generates the output
# "buck-out/gen/foo/hello.txt". This output will
# be found in the zip at "hello.txt"
'//some/other:target',

],
zip_srcs = [
# The contents of this zip will be added to the generated zip.
'amazing-library-1.0-sources.zip',
],
entries_to_exclude = [
"com/example/amazinglibrary/Source1.java",
],
)

If you were to examine the generated zip, the contents would look +something like (assuming the output of +"//some/other:target" was a file who's path ended with +hello.txt, the "dir" glob found two files, +and "amazing-library-1.0-sources.zip" contained two Java +source files):


dir/file1.txt
dir/subdir/file2.txt
hello.txt
com/example/amazinglibrary/Source2.java

+ + + + \ No newline at end of file diff --git a/docs/rfcs/attr-metadata/index.html b/docs/rfcs/attr-metadata/index.html new file mode 100644 index 0000000000000..ff8f46e7042dd --- /dev/null +++ b/docs/rfcs/attr-metadata/index.html @@ -0,0 +1,30 @@ + + + + + +RFC: labels -> metadata attribute | Buck2 + + + + + + + + +
+

RFC: labels -> metadata attribute

This RFC proposes to add new builtin per target attribute: metadata, as +replacement for labels.

Context: labels

In buck1 we have labels builtin rule attribute, which is a list of strings.

In buck2 we have labels attribute which is configured in prelude, it does not +have special meaning.

Context: package values

PACKAGE files have a function: write_package_value(key, value), where a key +is a word-dot-word string, and value is arbitrary starlark value which should be +serializable as JSON.

Context: metadata we use or we need

There are several spaces where we use or need metadata to be stored in buck2 +target graph.

  • fbcode uses per-package values to switch code to new clang +(example)
  • testinfra wants to use PACKAGE values to mark a set of folders to a logical +larger project
  • it is likely that per-target metadata attribute should be used in +configuration factory function.
  • TD wants to declare CI trigger jobs per-target or per-package, and this logic +is to be specified in BUCK or PACKAGE files — as metadata

Proposal: metadata attribute

Add builtin metadata attribute to all the targets.

metadata has the same structure as package values: word-dot-word to arbitrary +value serializable to JSON.

For example:

cxx_library(
name = "mylib",
metadata = {
"td.run_on_windows": True,
},
)

Metadata attribute is not configurable (means select cannot be used).

+ + + + \ No newline at end of file diff --git a/docs/rfcs/audit_visibility/index.html b/docs/rfcs/audit_visibility/index.html new file mode 100644 index 0000000000000..c593534b3af46 --- /dev/null +++ b/docs/rfcs/audit_visibility/index.html @@ -0,0 +1,78 @@ + + + + + +buck2 audit visibility command | Buck2 + + + + + + + + +
+

buck2 audit visibility command

Context

Buck has a concept of Visibility for every target. It allows users to define, +for each target, the targets it can depend on and targets that can depend on it. +Visibility is specified as an allowlist of targets/target patterns, and any +target used that falls outside of the allowlist fails visibility checking. +Visibility pattern can be specified on visibility and within_view attributes +in buildfiles and +PACKAGE files.

Visibility is important to lots of codebase maintainers because it can be used +to keep projects from pulling in unwanted dependencies. As some examples, App +Core teams are using Buck visibility as a +replacement to current supermodules for protecting app modularity. +Instagram's using visibility to +protect modularity and define Link Groups used for build speed optimizations. +There's interest from various DevX teams in using Buck visibility on +PACKAGE files +to +enforce repo boundaries, which will allow target determinators to migrate off of sparse profiles and onto Eden, +although visibility in its current form is likely not fit for enforcing such +repo boundaries. Visibility has also been used to enforce +requirements that only certain targets are allowed to depend on targets in fbcode/scripts.

For perf reasons, buck2 doesn't always enforce visibility. Instead, it only +enforces visibility on construction of the configured target graph. Visibility +checking is expensive memory-wise because it requires tracking all deps at each +node. When constructing configured target graph, this cost is already paid for +when buck2 checks transitive target compatibility. When constructing the +unconfigured target graph, however, this is costly, so we avoid checking +visibility there. (Note that buck does not allow you to specify selects in +visibility attributes.)

In practice, this means that commands like cquery and build can enforce +visibility whereas commands like uquery and targets cannot. Having +visibility checked only on the configured target graph is problematic for 2 +reasons:

  1. Visibility is only checked on configured deps after selects are resolved, so +it's possible for a target to pass visibility checking in one configuration +but fail visibility checking in another. For example, a target may pass +visibility checking on a linux configuration but fail visibility checking on +mac configuration if it has a bad mac-only dependency. This makes visibility +enforcement more difficult because now you have to query the same graph in +both linux and mac configuration before you know that visibility is always +valid.

  2. Uquery (querying the unconfigured target graph) has better performance than +cquery (querying the configured target graph). Big-O wise, uquery scales with +O(# of targets) whereas cquery scales with O((# number of configurations) x +(# of targets)). Having a way to check visibility on unconfigured target +graph can be much cheaper than doing so on configured target graph.

Proposed Solution: audit visibility command

It's clear that we need a way to check visibility on the unconfigured target +graph, but we don't want buck2 uquery and buck2 targets to regress in memory +use. To get the best of both worlds, I propose adding a separate command to +buck2, buck2 audit visibility, that will check visibility on the unconfigured +target graph. Instead of checking on construction of the unconfigured target +graph, this command will check after construction, which will avoid any memory +regression. The tradeoff is that the visibility checking won't be cached, and +rerunning audit visibility will rerun visibility checking on each invocation.

Usage and Invocation

buck2 audit visibility command will take in a list of target patterns as well +as common build args like config flags and mode files as args. It will construct +the unconfigured target graph based on the transitive deps of those targets +and check that this graph has valid visibility. Checking transitive deps matches +the behavior of visibility checking on cquery, but we may revisit this decision +in the future if there is a need for just verifying the immediate dependencies.

For example, an invocation to check visibility on the transitive closure of +fbobjc can be

buck2 audit visibility fbsource//fbobjc/...

It cannot be used to check that a target has a valid visibility with respect to +targets outside of the transitive closure of its deps. For example, +buck2 audit visibility fbcode//buck2/starlark-rust/starlark:starlark will just +check that all transitive deps of starlark target (including starlark +target) have valid visibility with respect to each other. It will not check that +any targets that depend on starlark respect starlark target's visibility +attribute.

+ + + + \ No newline at end of file diff --git a/docs/rfcs/bxl-analysis/index.html b/docs/rfcs/bxl-analysis/index.html new file mode 100644 index 0000000000000..8fd39de378a33 --- /dev/null +++ b/docs/rfcs/bxl-analysis/index.html @@ -0,0 +1,48 @@ + + + + + +Bxl support for performing analysis on targets | Buck2 + + + + + + + + +
+

Bxl support for performing analysis on targets

Intro

As Bob and I continue to build out bxl we want users to be able to inspect the +providers and actions for a given target label. In order to support this, we +need to be able to provide access to AnalysisResult via starlark, obtained +via a call to RuleAnalysisCalculation::get_analysis_result.

How to implement it?

Our three principle options are as follows:

  1. BxlContext::analyze(targetlabel: ConfiguredTargetLabelLike), where +ConfiguredTargetLabelLike accepts ConfiguredTargetLabel, +ConfiguredTargetNode, or sets and lists of these things + acceptable +strings.

In this scenario, we attach the analysis method onto the bxl context itself, and +require that users pass in the target label-ish thing when they want to +construct an analysis result. It's a little awkward in some ways because the +analysis is more naturally a method on the argument being passed in and the +BxlContext is a context that is needed to perform the calculation. On the +other hand, this allows us to construct a type analogous to TargetExpr which +can parse from a wide variety of different ConfiguredTarget like things +(strings, nodes, labels, sets, ...). It also is a bit nice from an +implementational standpoint since we don't have to pass the context around +everywhere. This isn't a huge pro though, since we can stick it in the global +eval field.

result = bxl.analyze(bxl.cquery.deps("foo"))
  1. ConfiguredTargetLabel::analyze(), ConfiguredTargetNode::analyze(), ... +where we carry around the BxlContext in the eval global field and +implement analysis on each type that is target label like.

The pro of this one is that it's quite natural - you can take a +ConfiguredStarlarkTargetLabel and then just ... call analyze() on it like +you might expect to. The two downsides are that we have to propagate the context +around behind the scenes, and we'll have to provide an implementation of +analyze on everything that we'd like to have be able to be analyzable.

result = "root//bin:the_binary".analyze()
# but we don't support
"root//bin:the_binary".rdeps()


# instead this looks nice
nodes = ctx.cquery.deps("foo")
for n in nodes:
# since we can now do
nodes.label
nodes.attrs.field

# similarly access analysis
nodes.analysis
  1. BxlContext::analysis(): AnalysisContext where AnalysisContext exposes +AnalysisContext::analyze(targetlabel: ConfiguredTargetLabelLike).

There's not really any pros of this approach except that it's similar to the +flow for cquery where we return a cqueryctx object to call cquery methods +through.

result = ctx.analysis().analyze("//lib:file1")

We can also restrict the API to require that users go through cquery to obtain +a ConfiguredTargetNode prior to calling analysis, although we don't have +to. I say that we don't have to because the get_analysis_result method +mentioned above is configured to accept a label anyway.

+ + + + \ No newline at end of file diff --git a/docs/rfcs/bxl/index.html b/docs/rfcs/bxl/index.html new file mode 100644 index 0000000000000..680b508a711a1 --- /dev/null +++ b/docs/rfcs/bxl/index.html @@ -0,0 +1,99 @@ + + + + + +Buck Extension Language (BXL) | Buck2 + + + + + + + + +
+

Buck Extension Language (BXL)

Buck2 will allow more complex introspection and interaction with its graphs via +the bxl feature. BXL will be a starlark script that allows integrators to +interact with buck commands like build and query within starlark, creating a +sequence of operations that introspect, build, and extend the build graph.

These are essentially custom buck operations, defined in Starlark, that still +follow the constraints of Buck2, which will enable the same level of +incrementality and caching as native buck2 operations. Furthermore, bxl will +have subscriptions enabled in the future, where based on the incrementality +tracking, buck2 can provide "updated" bxl executions when its known that its +dependencies change, and even when generated sources need to be regenerated.

The following proposes a basic set of bxl api and building blocks that are +targeted at solving key issues for IDE integration.

Use Cases

Cpp LSP

Lsp prefers to have a single buck command that given a file, returns the +corresponding compilation database. This requires a single command, i.e a bxl, +that accepts a file as input, performs owners queries, and uses the owning +target plus the desired file to get the clang flags, and then writes it to disk +in comp db format. It’s possible to write the same features using buck calls to +cquery, and build using subtargets to generate compilation database per file. +However, this requires lsp owners to maintain code in several locations and +languages, and parse and reserialize data. It also does not provide the same +incrementality and subscription update features of the resulting comp db that +writing this in bxl would have. Furthermore, we may explore the idea of trimming +the compilation command to only dependencies required per the file requested. +Bxl actions provides a straightforward api for adding this when writing the +actual comp db file.

Android LSP

Android project requires traversing the target graph to find and java libraries, +grouping and converting them between modules or project libraries depending on +the number of references, and restructuring the graph as directory based. +Android LSP is able to take advantage of subscriptions in the future when +available, allowing developers to keep their IDE up-to-date automatically +without needing to manually regenerate the project.

With bxl, the graph traversals can be written in starlark, allowing propagation +of information down the graph, accessing targets’ attributes to analyze +dependencies, and access providers for artifacts and action information needed +to output the project file. Project generation also performs directory listings +that buck2’s dice already performs and caches (I think, need to confirm). Bxl +poses the interesting possibility that we can expose a limited set of IO +operations that are tracked by dice so bxl can access the same cached file +operations as rest of buck2. Android project generation currently doesn’t write +project files to buck-out, which prevents it from using buck2 actions. It will +have to rely on an external script to process the graph information printed by +buck and write the actual project files. If it moves to buck-out based, then +it can take advantage of creating actions directly using the graph information +processed, and potentially take advantage of incremental actions api to avoid +writing the entire graph on each subsequent update.

iOS Project

iOS is currently being implemented as a series of queries that are aggregated by +an external python script, that then invokes builds of subtargets. The same can +be achieved in bxl, but with the entire sequence being cacheable and +subscribable so that when the graph is updated, or even when generated files +need updating, buck2 can automatically push the updates. However, it is +uncertain whether xcode itself can make use of push updates.

Rust LSP

(note from dbarsky@: I’m adding this at Bob’s request. Can be removed as +needed.)

Visual Studio Project (vsgo)

Vsgo is a pile of python that converts buck query/buck targets output via a +variety of heuristics into inputs to a custom fork gyp which is then invoked to +generate visual studio projects for a given buck target. Having direct access to +the internals of buck would allow us to remove the heuristics and possibly even +move project generation directly into bxl.

Goals

From the above use cases, BXL should offer a simple Starlark API that allows +easy introspection of the buck2 graph at unconfigured, configured, providers, +and actions stage, maintaining incremental behaviour of the BXL evaluation +itself.

Some minimal API should be offered to allow BXL to provide additional behaviour +such as output artifacts, and print results.

Most use cases from LSP desire to also propagate information via the command +line for these operations, so BXL should support command line arguments as +inputs.

API

Defining a bxl function

There are multiple models possible. We can have each file be its own bxl, or +have each file declare multiple bxl like rules.

There are multiple advantages to allowing declaration of multiple bxls, such as +grouping similar bxls in the same file, allowing them to "invoke" each other. It +doesn’t necessarily add much more complexity for the author, as even with one +bxl per file, the author still has to have some declaration for the bxls +arguments.

# sample.bxl
func1 = bxl_main(
impl = my_func1,
args = {
"arg1": arg.list(arg.str()),
}
)

func2 = bxl_main(
...
)

To invoke buck2 for that bxl, we can have the command line as follows.

buck2 bxl sample.bxl::func1 -- --arg1 foo bar baz

For bxl functions to read the arguments, a similar api to rule attrs is used

args = ctx.args.args_for_bxl

Args defined like attrs when declaring the bxl function above

Accessing target nodes

All standard query functions will be enabled in bxl, allowing users to run query +operations, storing them in variables and interacting with them. These allow +introspection of the unconfigured targets, or the configured targets based on +api

# some.bxl
targets = ctx.uquery(‘deps("//foo"))
targets = filter(targets, my_filter)

# introspect a target
for target in targets:
ctx.print(target.attributes) # prints selects
# also inspect the target like below
ctx.print(target.label)

target = ctx.cquery("//foo", "//x86").attributes # cquery has selects resolved

Inspect providers

When we have a configured target, bxl can request for the analysis of the rule

target = <some configured target>

ctx.analysis(target).providers # access the providers

Actions

For IDEs, to generate compilation databases, or generate project files, writing +them in bxl will entail creating actions, and executing them. As such, bxl will +also be given the rules api to register actions, including dynamic outputs for +the rule in the current bxl invocation to build artifacts as part of a bxl +function.

BXL has the ability to create actions with some constraints:

  1. Action is tied to a particular target
  2. It’s output location is determined in the same pattern as regular actions +defined via rules
targets = ctx.cquery(‘deps("//foo:rule"))

for t in targets:
action_ctx = ctx.analysis(t).actions
# the action context here is tied to the configured target `t`
# actions registered by bxl will be attached with bxl prefix key
action_ctx.registry.write(some_output, "foo")

BXL can also interact with the existing actions on an action via the action_ctx, +such as iterating through it, analyzing its outputs, or requesting it to be ran.

targets = deps("foo:rule")

for t in targets:
action_ctx = ctx.analysis(t).actions
for action in action_ctx.iter():
if "foo/path" in action.output:
ctx.build(action)

What is cached?

All computations requested by a bxl function will be treated as inputs. So if a +bxl function calls uquery, then uses the result to do a cquery, and then a +build, if buck2 detects that any of the recorded calls to uquery, cquery, and +build changes, the entire bxl will be reran, with no early cutoff. The +computations itself will still be cached via DICE, so no major performance +issues are expected. However, in the event that a bxl function is +computationally heavy, the recommendation would be to move that to an action, or +split up the bxl and use inter-bxl caching described below.

Inter-bxl caching?

Different bxl can be cacheable between each other if structured as +"outputs"/artifacts. This is essentially the same behaviour as a bxl requesting +ctx.build, which is cached. Since we have those as hashes on RE, we can track +properly and not require storing the values in dice.

i.e.

# caching_sample.bxl
func1 = bxl_main(
impl = my_func1,
args = {
"arg1": arg.list(arg.str()),
}
)

my_func1(ctx):

# do various stuff that might change a lot, but the final result
# doesn’t change much
ctx.return(some_artifact)

func2 = bxl_main(
impl = my_func2,
...
)

my_func2(ctx):
artifact = ctx.bxl(":func1")
# now read artifact value
# everything below will only be reran if the artifact content changes

# do some expensive stuff
+ + + + \ No newline at end of file diff --git a/docs/rfcs/cfg-modifiers/api/index.html b/docs/rfcs/cfg-modifiers/api/index.html new file mode 100644 index 0000000000000..494663bd679e3 --- /dev/null +++ b/docs/rfcs/cfg-modifiers/api/index.html @@ -0,0 +1,212 @@ + + + + + +[RFC] Configuration Modifiers | Buck2 + + + + + + + + +
+

[RFC] Configuration Modifiers

Why do we need new configuration setup?

A target usually needs to be built in multiple build settings. For example, +there may be different OS (ex. linux, mac, windows), architectures (ex. x86, +arm), and sanitizers (ex. asan, tsan, ubsan) to use for a single target. Buck +has 2 main ways of supporting customizations today:

  1. Buckconfigs specified through --config or -c flags. They are global flags +and are often aggregated in modefiles (@<modefile> on the command line).
  2. Target platforms specified through default_target_platform attribute or +--target-platforms flag), which become a target's "configuration". +--target-platforms flags are also commonly specified via modefiles.

These methods are problematic for the following reasons.

  1. We have too many modefiles. A project that needs customizations often ends +up adding its own set of modefiles, causing a continued rise in number of +custom modefiles in the repo. Internally, the number of modefiles in our +monorepo is currently on the order of 10,000s.

  2. Changing buckconfigs invalidates Buck's state. Changing buckconfigs or +modefiles of buckconfigs invalidates global state, which adds non-trivial +Buck overhead on every incremental build that changes state. This does not +affect target platforms.

  3. Different modefiles of buckconfigs cannot be used in same build. Users that +need to run multi-configuration builds today often work around this by +writing scripts that wraps multiple buck build invocations of different +modes. This is slow because Buck state keeps getting repeatedly invalidated. +There is also no way to build a target in different modes (ex. dev and opt) +at the same time, so users that need to do this always have to do this +sequentially. This does not affect target platforms.

  4. Target platform generation is exponential in number of build settings. +Suppose I want to customize targets based on 3 OSes, 2 architectures, and 3 +compilers. With target platforms, I need to first generate all 18 +permutations of these settings as platform targets before using them. This is +not scalable.

  5. Target platform does not compose well on command line. Suppose I want to +use ASAN on top of some existing platform. It's not possible to say specify +ASAN on top of an existing platform on the command line. Instead, I must +create a new platform target with ASAN added to the existing platform before +I can use it.

  6. Poor user Experience. When every project needs its own set of modes, it's +onerous for users to track what modes are needed to build what targets. Users +often don't realize when they are using the wrong or unnecessary command line +flags.

  7. Poor tooling integration. Similar to user, it's just onerous for tooling to +keep track of what modes are needed to build a target with. Buckconfigs are +also bad for performance for tools like language servers because it's +impossible to request the builds of two modes in parallel when two targets +needs different modes.

  8. Antithetical to Buck's principles. Buck's main strength is the ability to +abstract away builds of different languages and libraries under one common +syntax for the user. The need for project-custom flags goes against this +principle.

The Modifier API introduces a unified way to specify build settings on a +project, target, and command line level. Like target platforms, it constructs +Buck configurations so it supports multi-configuration builds. It avoids +modefile proliferation by allowing users to easily set project-specific build +settings like compiler and toolchain versions in the repo rather than on the +command line. It avoids scalability problems of platform generation by being +composition-first. The goals of this project is to:

  1. Make buck build work on any platform without the use of special flags. +Today, building a mac target on mac often requires a mac mode, and likewise +for windows. Instead, buck build should always work out of the box on any +platform so that there's no need to specify mac mode on macs or windows mode +on windows.
  2. Define a small constrained set of common modifiers that can be used to build +any target in the repo. This will include common options like mode (ex. dev, +opt, release), OS (ex. linux, mac, iphoneos), and architecture (ex. x86, +arm).
  3. Unblock cross-building for the majority of targets. host_info() is a hack +to obtain information about the host machine that is the main blocker to +Buck2 cross-building (ex. building a mac or windows target from linux) +working everywhere. As an extension of "making buck build work on any +platform", modifiers should make it possible to kill off most use cases of +host_info in the repo.
  4. Simplify building build tooling. Because buck build works out of the box, +tools like language servers can build targets they need without using +project-specific modefiles or flags.
  5. Delete most modefiles from the repo.
  6. Deprecate target platforms for modifiers as the sole way of configuring +top-level targets in Buck.

Configuration Background

Feel free to skip this if you already understand Buck configurations.

A configuration is a collection of constraint_value targets (commonly referred +to as constraints). It defines the build settings used by a target. A constraint +value is keyed by a constraint_setting, so there can only be one +constraint_value of a constraint_setting in a configuration.

For example, suppose cfg//os:_ is a constraint setting with constraint values +cfg//os:linux, cfg//os:macos, and cfg//os:windows. Then a configuration +may contain either cfg//os:linux, cfg//os:macos, or cfg//os:windows to +indicate which OS a target is built for.

A constraint or a set of constraints can be selected on via select() to +customize a target's behavior. For example, the following adds a linux only dep +to a target.

deps = select({
"cfg//os:linux": [":linux_only_dep"],
"DEFAULT": [],
})

Before building a target on the command line (known as the top-level target), +Buck needs to know its configuration in order to resolve selects. Modifiers are +a new way to resolve a target's configuration for every top-level target.

API

Every top-level target starts with an empty configuration, and Buck will apply a +list of "modifiers" to obtain a configuration. A modifier is a modification of a +constraint from the existing configuration to obtain a new configuration. There +are two types of modifiers, conditional and unconditional modifiers.

An unconditional modifier is just a constraint value. Applying an unconditional +modifier will insert the associated constraint value into the configuration for +its respective constraint setting, replacing any existing constraint value for +that setting. For example, specifying cfg//os:linux as a modifier will insert +cfg//os:linux into the configuration, overriding any existing constraint value +for the cfg//os:_ constraint setting.

A conditional modifier is a modifier that only applies when a certain condition +is satisfied. This lets one express powerful composition based on other +criteria. modifiers.match() is a conditional modifier that changes the +constraint value inserted based on the existing configuration. For example, a +modifier like

modifiers.match({
"cfg//os:windows": "cfg//compiler:msvc",
"DEFAULT": "cfg//compiler:clang",
})

will insert msvc constraint into the configuration if OS is windows or clang +constraint otherwise. A modifiers.match() behaves similarly to Buck's +select() but can only be used in a modifier context. A modifiers.match() can +only be used to modify a single constraint setting, so the following example is +not valid.

# This fails because a modifier cannot modify both compiler and OS.
modifiers.match({
"cfg//os:windows": "cfg//compiler:msvc",
"DEFAULT": "cfg//os:linux",
})

A modifier can be specified in a PACKAGE file, on a target, or on the command +line. This provides the flexibility needed to customize targets on a project, +target, or cli level.

PACKAGE Modifier

In a PACKAGE file, modifiers can be specified using the cfg_modifiers function +and would apply to all targets covered under that PACKAGE. For example, +modifiers specified in repo/PACKAGE would apply to any target under +repo//.... Modifiers specified in repo/foo/PACKAGE would apply to any target +under repo//foo/... (For resolution order, see "Modifier Resolution" section).

The cfg_modifiers function takes as input a dictionary of constraint setting +to modifier for that setting. For example, the following is an example that sets +modifiers for OS and compiler settings in the repo's top PACKAGE file for all +targets in repo.

# repo/PACKAGE

set_cfg_modifiers(cfg_modifiers = [
"cfg//:linux",
modifiers.match({
"DEFAULT": "cfg//compiler:clang",
"cfg//os:windows": "cfg//compiler:msvc",
}),
])

To make constraints easier to type, you can specify aliases for modifier targets +via Buck's target aliases.

For example, suppose the following aliases exist in repo/.buckconfig.

[alias]
os = cfg//os:_
linux = cfg//os:linux
macos = cfg//os:macos
windows = cfg//os:windows
compiler = cfg//compiler:_
clang = cfg//compiler:clang
msvc = cfg//compiler:msvc

Then the same PACKAGE modifiers can be specified as follows.

# repo/PACKAGE

set_cfg_modifiers(cfg_modifiers = [
"linux",
modifiers.match({
"DEFAULT": "clang",
"windows": "msvc",
}),
})

Target Modifier

On a target, modifiers can be specified on the metadata attribute. For +example, the following specifies modifiers for repo//foo:bar.

# repo/foo/BUCK

python_binary(
name = "bar",
# ...
metadata = {"buck.cfg_modifiers": [
"cfg//os:windows",
# Target modifiers can also use aliases
"clang",
]},
)

Note one day all targets will probably have their own cfg_modifiers attribute.

CLI Modifier

On the command line, modifiers are specified as +buck2 build <target>?<modifiers separated by commas>.

For example, buck2 build repo//foo:bar?cfg//sanitizer:asan applies asan +modifier on the command line. +buck2 build repo//foo:bar?cfg//os:linux,cfg//sanitizer:asan will apply linux +and asan modifiers. Aliases can also be used on command line, so +buck2 build repo//foo:bar?asan is valid.

Command line modifiers cannot be selects, although this may be revisited if +necessary.

Modifiers can be specified for any target pattern, so +buck2 build repo//foo/...?asan and buck2 build repo//foo:?asan are also +valid. When specifying a subtarget and modifier with ?, subtarget should go +before modifier, ex. buck2 build repo//foo:bar[comp-db]?asan.

To specify modifiers to a list of target patterns on the command line, you can +use the --modifier or -m flag. For example, +buck2 build repo//foo:bar repo//foo:baz -m release is equivalent to +buck2 build repo//foo:bar?release //foo:baz?release.

--modifier flag can be specified multiple times to add multiple modifier, so +buck2 build --modifier=linux --modifier=release repo//foo:bar is equivalent to +buck2 build repo//foo:bar?linux,release.

It is prohibited to specify both --modifier flag and ? in target pattern. +This restriction can be lifted in the future if there is a need.

When two modifiers of the same constraint setting are specified, then the later +one overrides the earlier one. For example, +buck2 build repo//foo:bar?dev,release is equivalent to +buck2 build repo//foo:bar?release.

On command line, a config_setting target can be specified as a collection of +modifiers after --modifier or ?. This will be equivalent to specifying each +constraint inside the config_setting as a separate modifier.

NOTE: only --modifier flag is currently implemented. -m is currently +disabled and ? is not implemented.

Modifier Resolution

Modifiers are resolved in order of constraint setting, and for each constraint +setting, modifiers for that setting are resolved in order of PACKAGE, target, +and command line, with modifier from parent PACKAGE applied before child +PACKAGE. The end of this section will describe how Buck determines the order of +constraint setting to resolve.

Suppose modifiers for repo//foo:bar are specified as follows.

# repo/PACKAGE

set_cfg_modifiers(cfg_modifiers = [
"cfg//:linux",
modifiers.match({
"DEFAULT": "cfg//compiler:clang",
"cfg//os:windows": "cfg//compiler:msvc",
}),
])

# repo/foo/PACKAGE

set_cfg_modifiers(cfg_modifiers = ["cfg//os:macos"])

# repo/foo/BUCK

python_binary(
name = "bar",
# ...
metadata = {"buck.cfg_modifiers": ["cfg//os:windows"]},
)

At the beginning, the configuration will be empty. When resolving modifiers, +Buck will first resolve all modifiers for cfg//os:_ before resolving all +modifiers for cfg//compiler:_.

For OS, the linux modifier from repo/PACKAGE will apply first, followed by +macos modifier from repo/foo/PACKAGE and windows modifier from +repo//foo:bar's target modifiers, so repo//foo:bar will end up with +cfg//os:windows for cfg//os:_ in its configuration. Next, to resolve +compiler modifier, the modifiers.match from repo/PACKAGE will resolve to +cfg//compiler:msvc since existing configuration is windows and apply that as +the modifier. The target configuration for repo//foo:bar ends up with windows +and msvc.

However, suppose user invokes repo//foo:bar?linux on the command line. When +resolving OS modifier, the linux modifier from cli will override any existing OS +constraint and insert linux into the configuraiton. Then, when resolving the +compiler modifier, the modifiers.match will resolve to cfg//compiler:clang, +giving clang and linux as the final configuration.

Because command line modifiers will apply at the end, they are also known as +required modifiers. Any modifier specified on the command line will always +override any modifier for the same constraint setting specified in the repo.

The ordering of constraint setting to resolve modifiers is determined based on +dependency order of constraints specified in the keys of the modifiers.match +specified. Because some modifiers match on other constraints, modifiers for +those constraints must be resolved first. In the previous example, because +compiler modifier matches on OS constraints, Buck will resolve all OS modifiers +before resolving compiler modifiers. modifiers.match that ends up with a cycle +of matched constraints (ex. compiler modifier matches on sanitizer but sanitizer +modifier also matches on compiler) will be an error.

Conditional Modifiers

Modifiers have 3 types of conditional modifiers that allow for powerful +compositions. Each operator is a function that accepts a dictionary where the +keys are the conditionals and values are modifiers.

  1. modifiers.match. Introduced in the previous sections, this is capable of +inserting constraints based on constraints in the existing configuration.

  2. modifiers.match_rule. This is capable of selecting based on the rule name +(also known as rule type). The keys are regex patterns to match against the +rule name or "DEFAULT". Partial matches are allowed.

  3. modifiers.match_host. This selects based on the host configuration, whereas +modifiers.match selects based on the target configuration. This host +configuration is constructed when resolving modifiers. modifiers.match_host +is important to making buck build work anywhere on any platform. For +example, when the OS to configure is not specified, it's best to assume that +the user wants to target the same OS as the host machine.

NOTE: match_rule and match_host are currently not implemented.

An example using modifiers.match_rule and modifiers.match_host is as +follows.

# root/PACKAGE

# We want OS to target the host machine by default.
# Ex. build linux on linux machine, build windows on windows machine,
# and build mac on mac machine.
# However, if the rule is apple or android specific, then we should
# always be building for apple/android as OS, no matter the host
# configuration.

set_cfg_modifiers(cfg_modifiers = [
modifiers.match_rule({
"apple_.*": "cfg//os:iphone",
"android_.*": "cfg//os:android",
"DEFAULT": host_select({
"cfg//os:linux": "cfg//os:linux",
"cfg//os:macos": "cfg//os:macos",
"cfg//os:windows": "cfg//os:windows",
}),
}),
])

On select resolution, Buck's select currently requires unambiguous keys in the +dictionary and resolves to the key with the most refined match. The select +operators used in modifiers will diverge from this and implement a "first-match" +behavior, where select resolves to the first condition that evalutes to true in +the dictionary.

Legacy Target platform

Target platform (--target-platforms flag or default_target_platform +attribute) will be a deprecated way of specifying configuration and will be +killed once all use cases migrate to modifiers. To maintain backwards +compatibility with target platforms during the migration process, modifier +resolution will take into account the target platform specified. This allows for +an easy migration where modifiers can be introduced one at a time without +reaching feature parity of target platform.

If a target's modifiers resolve to an empty configuration, then Buck will reuse +the target platform as the configuration. If modifiers resolve to a non-empty +configuration, then Buck look for any constraint in the target platform not +covered by a constraint setting from the modifier configuration and add those to +the configuration. For example, suppose in the previous example, the target +platform for repo// foo:bar includes cfg//sanitizer:asan, then this +constraint will be inserted into the configuration since no modifier covered the +sanitizer constraint setting.

Debugging modifiers

NOTE: below is unimplemented.

Because many layers of modifiers can be applied before obtaining a final +configuration, it is important that modifier resolution is easy to debug and +understand. Here are some ways that modifier resolution can be interpreted.

  1. buck2 audit modifiers command. There will be a buck2 audit modifiers +command to show all PACKAGE, target, and required modifiers for a target. It +can also show configuration changes from modifier resolution process if +requested by the user.

  2. Starlark print statements or debugger. Modifier resolution process will be +implemented in Starlark in prelude. This means that any user can use any of +the existing way to debug starlark (ex. print statements, Starlark debugger +in VSCode) to debug the resolution process.

How configuration modifiers differ from transitions

Modifiers are largely inspired by configuration transitions. The difference +between modifier and transition is that a transition can change the +configuration of any target in the graph, but a modifier can only change the +configuration of a top-level target. In other words, if you have target A that +depends on target B and you request a build of A, then A's target configuration +would be resolved via modifiers and propagated down to B, but dep B would not do +its own modifier resolution. When a top-level target goes through a per-rule +transition, that transition is applied after modifiers are resolved.

Below are some examples that show when to use modifier and when to use +transition.

  1. Python version should be modeled as a transition and not modifier. Suppose +we have python_binary A nested as a resource of another python_binary B. +A should not inherit the python version from B, so a transition is needed to +change A's python version when depended on by B.
  2. Library target should use modifiers and not transitions. A C++ library +target should always inherit the configuration of its parent C++ binary when +it is used as a dep, but a top-level C++ library target can still have its +configuration changed via modifiers when requested from command line.

In the future, we may add support for modifier transition, which can transition +via modifiers, but that is out of the scope of this RFC.

+ + + + \ No newline at end of file diff --git a/docs/rfcs/configured-alias/index.html b/docs/rfcs/configured-alias/index.html new file mode 100644 index 0000000000000..8567ae603be9a --- /dev/null +++ b/docs/rfcs/configured-alias/index.html @@ -0,0 +1,26 @@ + + + + + +Buck support to implement configured_alias | Buck2 + + + + + + + + +
+

Buck support to implement configured_alias

Intro

Currently, Buck 2 lacks configured_alias rule support.

configured_alias is a builtin rule in Buck v1, and it cannot be currently +implemented as user defined rule in Buck v2.

This RFC proposes Buck core support for configured_alias.

What is configured_alias?

Syntax is this:

configured_alias(
name = "foo-but-linux-release",
actual = ":foo",
platform = "config//platforms:linux-release",
)

When this rule is built, it ignores "current" target configuration, and builds +the "actual" target with the configuration specified as "platform" argument.

How to implement it in buck v2?

New rule attribute type: configured_dep

Currently, we have several dependency attributes:

  • attrs.dep
  • attrs.exec_dep
  • attrs.transition_dep
  • attrs.split_transition_dep

This RFC proposes adding another attribute:

  • attrs.configured_dep

configured_dep is an attribute which accepts a pair of strings: target and +configuration. During analysis, configured attr deps are resolved to providers +resolved using given configuration.

configured_alias_impl user defined rule

The rule implementation is trivial:


def _configured_alias_impl(ctx):
return ctx.attrs.actual.providers

configured_alias_impl = rule(
impl = _configured_alias_impl,
attrs = {
"actual": attrs.configured_dep(),
}
)

Finally, configured_alias macro

def configured_alias(name, actual, platform):
configured_alias_impl(name, actual = (actual, platform))

Alternatives

No configured_alias

Each specific case where configured_alias is used, it can be done with +defining custom transition, and using custom transition rule.

But having configured_alias is a convenient stopgap to unblock people.

Use @configuration syntax from another RFC.

Instead of passing confiured_target_label(x, y) pass x + "@" + y.

Accept configured_target_label in dep attribute

dep attribute could support all of:

  • regular target label as string
  • configured target label (as either configured_target_label or x@y

I don't know practical applications for this magic, and unless there are uses +for it, better keep API simple and explicit.

+ + + + \ No newline at end of file diff --git a/docs/rfcs/drafts/bxl-actions/index.html b/docs/rfcs/drafts/bxl-actions/index.html new file mode 100644 index 0000000000000..4dcf0bcea1d44 --- /dev/null +++ b/docs/rfcs/drafts/bxl-actions/index.html @@ -0,0 +1,54 @@ + + + + + +Bxl Actions and Build API | Buck2 + + + + + + + + +
+

Bxl Actions and Build API

Bxl allows integrators to write Starlark snippets that introspect the buck2 +graph, and perform various operations on them within Starlark to accomplish +complex operations, as previously proposed in bxl RFC)

This document is intended at discussing the aspects of build and actions +declaration of a bxl function in more details, and proposed changes to deferred +framework to support bxl actions.

Actions API

The actions API should be the same as rules' actions API. That is, it has the +same ctx.actions that allows registering of artifacts, creating actions, +dynamic actions via the same api.

Creating and Building the Actions

Bxl allows users to build targets and actions. However, when creating actions, +they are not bound/buildable until the artifact/action factories are finalized. +As such, we will introduce the limitation that bxl cannot build artifacts that +they themselves declared within the bxl. Instead, they will return a set of +artifacts to expose to users, which buck2 will automatically build after +finalizing the action factory. For dynamic-ness, bxl users will use the standard +dynamic output api. There is an issue that during the dynamic output api's +lambda, bxl functions will not be able to access the regular bxl functions for +queries, etc. However, this is likely not important as most use cases should +reasonably query bxl data before the dynamic outputs, and have limited power in +dynamic-ness. We can also always replace the ctx of the dynamic to be the bxl +context in the future, as we see fit.

Sample:

def my_bxl(ctx):
actions_factory = ctx.bxl_actions.factory()

artifact = actions_factory.write("file.txt", "content")

# note that existing artifacts that were declared by other rules can be built
ctx.actions.build(ctx.analysis(ctx.target("foo")).providers[DefaultInfo].default_output))

return [artifact] # exposes the declared artifact to users

Internal Representation (Deferred Framework)

The existing actions framework attaches all actions to a deferred, which is +based off a ConfiguredLabel, which also corresponds to the output path prefix. +bxl actions should also have a unique output path prefix, and follow the same +system of having a base deferred key to reuse the action implementation.

We should extend the BaseKey of a DeferredKey to support beyond a +ConfiguredLabel, so that we can use a BxlFunctionLabel in its place. This +would allow owner of these actions to point to the correct creator. The output +path would be determined by using the BxlFunctionLabel as prefix similar to a +label. While this means that not all outputs are associated with an actual rule, +this is arguably more correct as bxl that creates outputs that doesn't fit the +target graph structure (i.e android project generation follows directory +structure rather than the packages defined by targets) to not have to conform +the attaching their actions to existing rules. bxl functions can examine +multiple rules and create a single action, attached only to their function +label.

The ActionRegistry will be attached to the evaluation result of bxl. Since we +do not allow bxl to explicitly request build of the actions itself declares, we +can wait until the end of the bxl function to finalize the actions. Then, the +action lookup can simply refer to the result of the bxl.

With the above changes, the rest of the actions framework does not need changed +to support the proposed API. DICE caching will work as today.

+ + + + \ No newline at end of file diff --git a/docs/rfcs/drafts/configuration-at-syntax/index.html b/docs/rfcs/drafts/configuration-at-syntax/index.html new file mode 100644 index 0000000000000..5c60c8fadb897 --- /dev/null +++ b/docs/rfcs/drafts/configuration-at-syntax/index.html @@ -0,0 +1,26 @@ + + + + + +@configuration syntax | Buck2 + + + + + + + + +
+

@configuration syntax

What

Command

buck2 build //foo:bar@config//platform:linux-x86_64

should be equivalent to current syntax:

buck2 build //foo:bar --target-platforms=//platform:linux-x86_64

Why

Might be convenient if we define global (or per-target, as proposed in +target configuration discovery RFC) +alias. For example, if there's an alias

release=//config:linux-x86_64-release

The command above can be expressed as:

buck2 build //foo:bar@release

Additionally, if we have +configuration expression RFC +implemented, we can do something like:

buck2 build //foo:bar@release+gcc

Possible future extensions

For now, at-syntax only applies to command line arguments

  • of build/targets/run/test commands
  • probably cquery query

It would be reasonable to expect that this syntax should be allowed anywhere we +need a target (e.g. in deps attribute), but this is out of scope of this +proposal.

+ + + + \ No newline at end of file diff --git a/docs/rfcs/drafts/digest-kinds/index.html b/docs/rfcs/drafts/digest-kinds/index.html new file mode 100644 index 0000000000000..0ad702697d86f --- /dev/null +++ b/docs/rfcs/drafts/digest-kinds/index.html @@ -0,0 +1,40 @@ + + + + + +Digest Kinds | Buck2 + + + + + + + + +
+

Digest Kinds

Use cases:

  • Buck2 needs to support more than just SHA1 for open-sourcing, since publicly +available RE providers use SHA256.
  • Internally, we want to migrate to (potentially keyed) Blake3, and there will +be a transition period where we need to support both Blake3 and SHA1.

Proposed plan

Make all the ways in which Buck2 ingests digests either configurable or +explicit about the type of digest they expect.

Internally, we may keep track of digest types for debugging purposes, but we +will never compute more than one digest. It follows that we won't expose +configuration for the digests we output (namely: to use on RE): if we only +have one digest for each blob, making it configurable has no utility since you +never have a choice about the hash to use.

Implementation

Hashes received from RE

For interactions with RE, we'll expose two configurations (this can be on the +CommandExecutorConfig):

  • Preferred hash to use when Buck2 is doing the hashing (e.g. hashing +directories).
  • Accepted hashes.

We'll use the format of the digests we receive from RE (in particular their +size) to infer what algorithm they used (remember: the RE API provides no way of +knowing the format of a digest, it's just a string).

Hashes of files

We'll expose the hash to use via a buckconfig. Our +things-that-produce-hashes-of-files should either use the config to choose how +they hash, or fail if they cannot provide the right hash format (e.g. that'll be +true of Eden I/O).

Hashes of directories

This one gets a little tricky. Our directories currently have an implementation +of fingerprinting that receives only the directory as input, so some refactoring +is in order.

We have two options:

  • Pick the hashing algorithm based on the contents of the directory (pick one +that's already used). Dealing with empty directories is a bit annoying.
  • Refactor the directory implementation and have directories parameterized over +their fingerprints, not their hasher.

The first one is easier but has the downside of not working with keyed Blake3 +(because you don't have a way to bring in the key), so I'm aiming for the second +implementation for now.

+ + + + \ No newline at end of file diff --git a/docs/rfcs/drafts/plugin-deps/index.html b/docs/rfcs/drafts/plugin-deps/index.html new file mode 100644 index 0000000000000..eebe7ff41f436 --- /dev/null +++ b/docs/rfcs/drafts/plugin-deps/index.html @@ -0,0 +1,68 @@ + + + + + +plugin-deps | Buck2 + + + + + + + + +
+

plugin-deps

Plugin Deps

Background on Rust proc macros

Rust proc macros are compiler plugins. They are a special kind of crate that is +compiled to a dylib, which is then loaded by the compiler when another crate +depends on the proc macro. Notably, like all Rust crates, proc macros may also +be re-exported. This means that if there is a dependency chain like +bin -> lib -> proc_macro, the proc macro must be made available when compiling +the binary, even though it does not appear directly in the dependencies.

Proc macros have posed a challenge to buck2, for two reasons:

  1. Rust users generally expect to not have to distinguish between proc macros +and normal crates when specifying their dependencies. This means it is not +easily possible to make the lib -> proc_macro edge an exec_dep.
  2. bin and lib might end up with different exec platforms. This means that +even if proc_macro were to be correctly configured as an exec dep of +lib, that configuration might be wrong for bin.

FIXME: Other use cases for this feature

Plugins deps

This RFC proposes introducing a concept of "plugin deps" to solve this problem. +Plugin deps are deps that can be propagated up the build graph at configuration +time, instead of at analysis time. Here's what this looks like:

First, plugin deps come in "kinds." Plugin kinds can be created like +MyKind = plugins.kind(). These act as identifiers that can be used to divide +all the possible plugin deps up however users need to.

Each configured target has plugin lists: There is one list for each plugin kind. +The elements of these list are an unconfigured target, together with a +should_propagate bool. The same unconfigured target cannot appear more than +once. In other words, this is a HashMap<String, HashMap<Target, bool>>. We +need to describe two things: How to use these list, and how to create them.

Using a target's plugin lists

Using plugin lists is very simple: The rule sets uses_plugins = [MyKind] when +declared. Setting this make the elements of the plugin list for the given kind +appear as exec deps on the configured nodes for this rule. This also means that +the plugins participate in exec dep resolution like all other exec deps.

Analysis will then be able to access a list of the providers for each of the +plugins via ctx.plugins[MyKind].

The should_propagate bool that is associated with each element of the list is +ignored at this stage.

Creating a target's plugin lists

Plugin lists are created by accumulating from two sources:

The first of these is direct plugin deps. They are defined via a new +attrs.plugin_dep(kind = "foo"). This attribute (like other deps), is set to a +label when the target is declared. It then resolves as follows:

  • In the unconfigured graph: To the appropriate unconfigured target
  • In the configured graph: To the label of the unconfigured target. In other +words, this will still be displayed in buck2 cquery -A, but will not appear +in the deps.
  • During analysis: Also to the unconfigured target label.

The target that appears in the plugin_dep is added to the MyKind plugin list +with should_propagate set.

The second way to add to the plugin list is by inheriting from regular deps. +This works as follows: Elements of the plugin lists for which the +should_propagate value is true are made available to the immediate rdeps of a +configured target. The rdep can use them by setting pulls_plugins = [MyKind] +in the appropriate attrs.dep() invocation. This will make the targets appear +in the plugin list for the rdep with should_propagate unset. Alternatively, +the rdep can set pulls_and_pushes_plugins = [MyKind] to add the targets to the +plugin lists with should_propagate set to true. This enables transitive +propagation further up the configured graph.

To decide later: Should we allow plugin rules to appear in regular/exec deps, +with no special behavior? I don't see why not.

Example: Proc macros

RustProcMacro = plugins.kind()

rust_proc_macro_propagation = rule(
impl = _propagation_impl,
attrs = {
"actual": attrs.plugin_dep(kind = RustProcMacro),
},
)

rust_library = rule(
impl = _similar_to_before, # See some notes below
attrs = {
"proc_macro": attrs.bool(default = False), # Same as before
"deps": attrs.list(attrs.dep(pulls_and_pushes_plugins = [RustProcMacro])),
# Here we avoid `pulls_and_pushes` because we do not want to make these deps available to rdeps
"doc_deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])),
},
uses_plugins = [RustProcMacro]
)

rust_binary = rule(
impl = _similar_to_before, # See some notes below
attrs = {
"deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])),
"doc_deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])),
},
uses_plugins = [RustProcMacro]
)

def _propagation_impl(ctx):
return [
DefaultInfo(default_outputs = []),
# During analysis for rust libraries, the providers for proc macros will appear in
# `ctx.plugins`. However, this includes the transitive and direct proc macro deps, as
# well as the transitive and direct proc macro doc-deps. Analysis needs to be able to
# distinguish between all of these though.
#
# This dummy provider is passed to allow for precisely that. Generally, it will be passed
# everywhere where the providers of Rust proc macros are currently passed. That ensures that
# analysis on `rust_library` and `rust_binary` have all the information they need about
# where the plugin "entered the dependency graph."
RustProcMacroMarker(ctx.attrs.actual),
]

### TARGETS

# Expanded by macro
rust_library(
name = "p1_REAL",
proc_macro = True,
)

# Expanded by macro
rust_proc_macro_propagation(
name = "p1",
actual = ":p1_REAL",
)

# Expanded by macro
rust_library(
name = "p2_REAL",
proc_macro = True,
)

# Expanded by macro
rust_proc_macro_propagation(
name = "p2",
actual = ":p2_REAL",
)

rust_library(
name = "l",
deps = [":p1"],
doc_deps = [":p2"],
)

rust_binary(
name = "b",
deps = [":l"],
)

Analysis for :l will see:

  1. deps which contains only the RustProcMacroMarker("p")
  2. doc_deps which contains only the RustProcMacroMarker("p2")
  3. ctx.plugins[RustProcMacro] which contains the providers of :p1_REAL and +:p2_REAL, correctly configured for the execution platform of :l.

Analysis for :b will see:

  1. deps which contain the providers of l

  2. ctx.plugins[RustProcMacro] which contain the providers of :p1_REAL, also +correctly configured for its own execution platform (which may be different +from :l's).

    Note that because rust_library does not re-push doc deps, :b will not +see :p2_REAL.

As a result, the implementation of the rust_library rule should not propagate +the providers of its proc macro deps (unlike its regular deps).

There is one downside to this solution: buck2 build :p does absolutely none of +the things that the user is probably expecting. They need buck2 build :p_REAL. +That's a bit sad. Thankfully directly building proc macros is not that important +a use case?

Alias

It is already the case today that we can't use the normal alias rule on +toolchains. A similar situation crops up here, where aliasing a target that +pushes plugins causes the plugins to "get lost." The right solution to this is +to probably allow plugins.ALL as a special value on pulls_plugins and +pulls_and_pushes_plugins, and then set that for the alias rule.

+ + + + \ No newline at end of file diff --git a/docs/rfcs/drafts/test-info-v2/index.html b/docs/rfcs/drafts/test-info-v2/index.html new file mode 100644 index 0000000000000..863c78565a473 --- /dev/null +++ b/docs/rfcs/drafts/test-info-v2/index.html @@ -0,0 +1,22 @@ + + + + + +RFC: TestInfo v2 | Buck2 + + + + + + + + +
+

RFC: TestInfo v2

A stub RFC for TestInfo v2 to track lessons learned about TestInfo v1. The stack +starting D36339960 contains the original code for the TestInfo and templated +test API experiment.

+ + + + \ No newline at end of file diff --git a/docs/rfcs/drafts/universal-cfg-naming/index.html b/docs/rfcs/drafts/universal-cfg-naming/index.html new file mode 100644 index 0000000000000..9b87242cda0e4 --- /dev/null +++ b/docs/rfcs/drafts/universal-cfg-naming/index.html @@ -0,0 +1,47 @@ + + + + + +Universal Configuration Naming Function | Buck2 + + + + + + + + +
+

Universal Configuration Naming Function

tl;dr: This RFC proposes using a single naming function to generate names for +all configurations.

Context

NOTE: The configuration name consists of a readable string followed by the hash +of the configuration. The readable string is technically the PlatformInfo +name. For sake of ease of writing, this doc uses configuration name and platform +name interchangeably to describe this concept.

Currently, there are 3 ways to create and name a configuration.

  1. A platform target defines a configuration, and the platform target label +becomes the platform name.
  2. A transition function defines the configuration and generates a name for the +configuration.
  3. When a modifier is used, the cfg constructor function for modifiers defines +the configuration and its name. There is currently a single naming function +that generates all modifier-based configuration names.

Modifiers are intended to replace platforms, so in the future all configuration +names will be generated. Unfortuately, most of the generated names today used +today in transitions are not very good. Problems that I've seen in practice +include:

  1. Configuration names barely contain any useful information about the +configuration. This happens a lot in transitions. For example, the android +split CPU architecture transition names the generated configurations "x86_64" +and "arm64", which tells very little about the configuration beyond the CPU +architectures it splits on.
  2. Transition function incorrectly retains the old configuration name that is no +longer relevant, misleading the user about what this configuration actually +does. I've seen this happen where a configuration has py3.8 in name but the +python version constraint stored is actually py3.10.

Proposal

Register a single Starlark function to define all configuration names. This +Starlark function would accept a ConfigurationInfo and return a string for the +name of the ConfigurationInfo.

# Example
def name(cfg: ConfigurationInfo) -> str:
# ...

PlatformInfo is no longer available in Starlark. Any place that previously +uses a PlatformInfo will now use ConfigurationInfo instead. Buck2 will +invoke this function each time it encounters a new ConfigurationInfo to define +its name.

This function will attempt to provide a useful name based on the constraints in +the configuration, which mitigates the issue of short or misleading +configuration names. There are some risks that there will be high amount of code +complexity in a function if all configurations are named by one function.

This function will most likely be registered via a set_cfg_name function or +something callable from root PACKAGE file or potentially prelude.

+ + + + \ No newline at end of file diff --git a/docs/rfcs/implemented/provider-collection-at/index.html b/docs/rfcs/implemented/provider-collection-at/index.html new file mode 100644 index 0000000000000..6575d5aa841e5 --- /dev/null +++ b/docs/rfcs/implemented/provider-collection-at/index.html @@ -0,0 +1,21 @@ + + + + + +Return error in ProviderCollection[] on undeclared provider | Buck2 + + + + + + + + +
+

Return error in ProviderCollection[] on undeclared provider

Currently, ctx.attrs.foo[UnknownInfo] returns None if foo is a provider +collection.

This RFC proposes these changes:

  • ctx.attrs.foo[UnknownInfo] is an error
  • UnknownInfo in ctx.attrs.foo is False
  • ctx.attrs.foo.get(UnknownInfo) returns None

Why

Better diagnostics when accessing unknown provider. E. g. when writing:

ctx.attrs.foo[UnknownInfo].bar

Currently, the error is:

Object of type `NoneType` has no attribute `bar`

Instead, the error will be something like:

provider collection does not contain `UnknownInfo`,
defined providers are `FooInfo`, `BarInfo`.

Bazel

In bazel, [] on unknown provider is an error, like this:

Error: <target //optional_provider:n2> (rule '_sum')
doesn't contain declared provider 'UnknownInfo'
+ + + + \ No newline at end of file diff --git a/docs/rfcs/package-local-values/index.html b/docs/rfcs/package-local-values/index.html new file mode 100644 index 0000000000000..f4188e4336929 --- /dev/null +++ b/docs/rfcs/package-local-values/index.html @@ -0,0 +1,49 @@ + + + + + +Package-local values | Buck2 + + + + + + + + +
+

Package-local values

This RFC proposes to extend buck2 Starlark with package-local values.

Why

DevX people want to have some per-directory configuration files, accessible from +Starlark macros.

For example, a project NNN may want to switch to building using LLVM 15 by +default. End users would want to have an easy instruction how to do that, after +DevX people provided instructions and infrastructure for that.

What we have now

Currently, in fbcode, we have get_modes mechanism.

get_modes symbol is registered in per-package implicit symbols, +here.

This symbol can be accessed from macros using +implicit_package_symbol function.

get_modes functions are package-local, but all BUILD_MODE.bzl files need to +be registered in global buckconfig, which is not ideal.

Proposed per-package properties can replace get_modes mechanism.

API

PACKAGE files

Before evaluating BUCK file, buck2 will evaluate all PACKAGE files in the +same directory and all parent directories. Absent PACKAGE files are treated as +empty files.

All relevant PACKAGE files are executed sequentially from the root directory +to the current directory (but unrelated PACKAGE files can be executed in +parallel). Evaluating PACKAGE files sequentially provides additional +guarantees, for example, attempt to override a property (unless explicitly +requested) should fail with Starlark call stack.

Each PACKAGE file is evaluated at most once (like bzl file).

PACKAGE files may load arbitrary bzl files. BUCK-specific functions called +in bzl files (like rule functions) are available, but calling functions from +PACKAGE files is an error. This way, bzl files are evaluated only once +regardless of whether they are loaded from PACKAGE or BUCK file.

API

PACKAGE files have a global function:

PACKAGE file API

def write_package_value(
name: str,
value: "",
overwrite: bool = False,
): ...

Name is a string which must contain exactly one dot symbol (just to enforce code +style).

Value is an arbitrary Starlark value, for example, an integer, a list of +integer, a struct or a function.

When overwrite is False (default), attempt to overwrite per-package value +defined in parent PACKAGE file will fail.

Written values are frozen when PACKAGE file evaluation is finished.

Note write_package_value symbol exists in bzl globals, and it can be called +from bzl file in context of PACKAGE evaluation, but calling +write_package_file is an error on context of BUCK evaluation.

Modifying PACKAGE file logically invalidates the BUCK file of this package, +and all PACKAGE and BUCK files of subpackages. However, BUCK file +evaluation may track which package-local values were accessed and only +invalidate BUCK files which were potentially affected (similarly to how we do +it with buckconfigs, with individual properties being projection keys).

BUCK file API

BUCK files (and bzl files included from BUCK files) have a global +function:

def read_package_value(
name: str,
): ...

This function returns the nearest value registered per package, or None is +such value does not exist.

This function is available in bzl files, but attempt to call this function in +context of PACKAGE file evaluation results in an error. This restriction can +be lifted in the future.

Per-package values are not accessible as global symbols in BUCK files. We +may reconsider it in the future.

read_config

PACKAGE files may call read_config function.

+ + + + \ No newline at end of file diff --git a/docs/rule_authors/alias/index.html b/docs/rule_authors/alias/index.html new file mode 100644 index 0000000000000..1cf5d18cca54c --- /dev/null +++ b/docs/rule_authors/alias/index.html @@ -0,0 +1,35 @@ + + + + + +Alias | Buck2 + + + + + + + + +
+

Alias

The alias rule creates another name by which an existing rule can be referred +to. There two variants: versioned_alias and +configured_alias, which are detailed below.

alias

The alias rule has the following relevant attributes:

  • name - (required) what the actual's label should be aliased as.
  • actual - (required) a target label.
  • default_host_platform - default host platform to use for the aliased target.

Example

filegroup(
name = "foo",
srcs = ["foo.txt"],
)

alias(
name = "other_foo",
actual = ":foo",
)

versioned_alias

The versioned_alias rule has the following relevant attributes:

  • name - (required) what the actual's label should be aliased as.
  • versions - (required) a map of versions to their respective versioned target +labels.

Under the hood, any versioned parameters from the versioned_alias's underlying +actual are translated into their select-based equivalents, which rely on +constraint settings added to the target platform.

Example

versioned_alias(
name = "foo",
versions = {
# Target labels for foo versions
"1.1": "//path/to/lib/1.1:foo",
"1.2": "//path/to/lib/1.2:foo",
},
visibility = [
"PUBLIC",
],
)

configured_alias

The configured_alias rule has the following relevant attributes:

  • name - (required) what the actual's label should be aliased as.
  • configured_actual - a configured label (mapped to a configured dep under the +hood so the providers can be simply forwarded).
  • fallback_actual - if configured_actual is not set, then fallback to this +value, which is an unconfigured dep. If configured_actual is not set, then +fallback_actual must be set.
  • platform - the platform to build the aliased target with.
note

The actual field is available for configured_alias but it is not used under the hood (to keep compatibility of output format with Buck1 queries).

Outside of simply pointing at another target, this target has one other useful +feature - it contains a platform argument.

This makes the alias rule useful for two distinct scenarios:

  • Configuration switching during the build. For example, there is an iOS +target that needs to build a dependency for WatchOS so it can include it in +the bundle. This can be represented by the iOS target having a dependency on +an alias of the Watch app with platform = "//the/desired/watchos:platform".
  • Using a target to refer to another in a non-standard configuration. For +example, if you want to have an experimental version of an app, you could +represent that as an alias with an 'experimental' configuration pointing to +the original target.

Example

configured_alias(
name = "foo-with-platform1",
actual = "//lib:foo",
platform = "//some_config:platform1",
visibility = ["PUBLIC"],
)
+ + + + \ No newline at end of file diff --git a/docs/rule_authors/anon_targets/index.html b/docs/rule_authors/anon_targets/index.html new file mode 100644 index 0000000000000..4604c02295b1e --- /dev/null +++ b/docs/rule_authors/anon_targets/index.html @@ -0,0 +1,83 @@ + + + + + +Anonymous Targets | Buck2 + + + + + + + + +
+

Anonymous Targets

An anonymous target is defined by the hash of its attributes, rather than its +name. During analysis, rules can define and access the providers of anonymous +targets before producing their own providers. Two distinct rules might ask for +the same anonymous target, sharing the work it performs.

This solves two distinct problems:

  • The sharing problem - if you have two processes that want to share some +work, you can create an anon target that does that work once, which is then +reused by the two processes. Without such a mechanism, all sharing must be +present in the target graph: you can't create any new sharing.
  • The overlay problem - this is the idea that you want to have a +shadow-graph, similar in structure to the normal graph, but with additional +information attached. Bazel accomplishes this with +Aspects. With Anonymous (anon) +targets, you can create a shadow-graph by convention, just by using the target +name you wish to shadow as the attribute.

Dynamic dependencies, in their full generality, enable users to do a thing, look +at the result, then ask for fresh things. However, this full generality is not +provided as it breaks processes, like query, that power the Target Determinator.

In Buck2, dynamic dependencies are implemented using dynamic_output, which +provides users with the ability to create new actions, after running actions, +then look at the result. dynamic_output is restricted in its power when +compared to fully generic dynamic dependencies, as detailed in the +Dynamic Dependencies page.

Anon targets enable users to create a new analysis (that is, call an anon target +that may not have existed before) after looking at the result of a previous +analysis (which is passed in, or after looking at an anon target). In many ways, +anon target is the version of dynamic_output at analysis time, rather than +action time.

The execution platform for an anon target is that of the inherited from the +calling target, which is part of the hash. If that is too restrictive, you could +use execution groups, where an anon target gets told which execution group to +use.

Creating anon targets

Anon rule

An anonymous rule is defined using rule or anon_rule.

Example:

my_anon_rule = rule(
impl = _anon_impl,
attrs = {},
)

# Or:

my_anon_rule = anon_rule(
impl = _anon_impl,
attrs = {},
artifact_promise_mappings = {} # only available for anon_rule
)

For rule, these are normal rules, with the difference that they are not in a +configuration, so ctx.actions.label won't show configuration information, but +just unspecified.

For anon_rule, the configuration restrictions also apply, and there is an +artifact_promise_mappings field which you can specify a dict of artifact +promise names to the map function, which would be applied to the anon target's +promise during rule resolution.

Anon target

An anonymous rule is used via ctx.actions.anon_target or +ctx.actions.anon_targets, passing in the rule and the attributes for the rule.

The return values of those functions are a AnonTarget and AnonTargets type, +respectively.

Example:

my_anon_rule1 = anon_rule(
impl = _anon_impl,
attrs = {},
artifact_promise_mappings = {}
)

my_anon_rule2 = anon_rule(
impl = _anon_impl,
attrs = {},
artifact_promise_mappings = {}
)

# <elsewhere>
anon_target = ctx.actions.anon_target(my_anon_rule1, {})

anon_targets = ctx.actions.anon_targets([(my_anon_rule1, {}), (my_anon_rule2, {})])

AnonTarget and AnonTargets

AnonTarget has a promise attribute, and artifact() and artifacts() +functions. AnonTargets has a promise attribute and anon_targets attribute.

The promise attribute for both types returns the anon target's promise (type +is promise), which when evaluated returns the providers of the anonymous +target. The promise type has a few special behaviors.

  • It has a map function, which takes a function and applies it to the future, +returning a new future
  • All promises will eventually resolve to a list of providers

For AnonTarget, the artifact() and artifacts() functions only return +something if using anon_rule. artifact() takes in an artifact name, which +should be found in the artifact_promise_mappings dict, and returns the +artifact promise. artifacts() returns the dict of all promise artifact names +to the artifact promise itself, as defined in artifact_promise_mappings. See +Convert promise to artifact below for more +information about artifact promises.

Example:

HelloInfo = provider(fields = ["output"])

my_anon_rule = anon_rule(
impl = _anon_impl,
attrs = {},
artifact_promise_mappings = {
"hello": lambda x: x[HelloInfo].output,
}
)

# <elsewhere>
anon_target = ctx.actions.anon_target(my_anon_rule, {})
artifact = anon_target.artifact("hello")
artifact_from_dict = anon_target.artifacts()["hello"]

For AnonTargets, the anon_targets attribute returns a list of the underlying +AnonTargets.

Example:

HelloInfo = provider(fields = ["output"])
GoodbyeInfo = provider(fields = ["output"])

my_anon_rule1 = anon_rule(
impl = _anon_impl,
attrs = {},
artifact_promise_mappings = {
"hello": lambda x: x[HelloInfo].output,
}
)

my_anon_rule2 = anon_rule(
impl = _anon_impl,
attrs = {},
artifact_promise_mappings = {
"goodbye": lambda x: x[GoodbyeInfo].output,
}
)

# <elsewhere>
all_targets = ctx.actions.anon_targets([(my_anon_rule1, {}), (my_anon_rule2, {})])
hello = all_targets.anon_targets[0].artifact("hello")
goodbye = all_targets.anon_targets[1].artifact("goodbye")

Attributes

Anon targets only support a subset of attributes that normal rules support.

Supported attributes:

  • bool
  • int
  • str
  • enum
  • dep
    • deps attributes do not take strings, but dependencies, already in a +configuration
    • exec_deps are available if the passed in dep's execution platform +matches
    • Default attr.deps (as used for toolchains) are not permitted, as the +default can't express a dependency. They must be passed forward from the +caller. that of the anon target's caller
  • source
    • Accepts bound artifacts or promise artifacts
  • arg
    • Can only be used if anon_target_compatible is True when declaring +attrs.arg (ex: attrs.arg(anon_target_compatible = True))
  • label
  • list
  • tuple
  • dict
  • one_of
  • option

You can use these attributes like you would in normal rules:

my_anon_rule = anon_rule(
impl = _my_anon_impl,
attrs = {
"my_int": attrs.int(),
"my_string_with_default": attrs.string(default = "foo"),
"my_optional_source": attrs.option(attrs.source()),
"my_list_of_labels": attrs.list(attrs.label()),
},
artifact_promise_mappings = {}
)

def _my_anon_impl(ctx: AnalysisContext) -> list[Provider]:
my_int = ctx.attrs.my_int
my_string_with_default = ctx.attrs.my_string_with_default
my_optional_source = ctx.attrs.my_optional_source
my_list_of_labels = ctx.attrs.my_list_of_labels

# do something with the attributes...

return [DefaultInfo()]

Attribute resolution

Attribute resolution is handled differently from normal code:

  • Transitions and more complex forms of attributes are banned.
  • The name attribute is a reserved attribute. It is an implicit attribute when +defining a rule for an anon target, but can be optionally set when creating an +anon target. If present, it must be a syntactically valid target, but could +refer to a cell/package that does not exist. If not present, buck2 will +generate a name for the target automatically.

name attribute example

# Rule definition for anon target
my_rule = rule(
impl = _my_impl,
attrs = {
# `name` is already implicitly defined as an attribute, and will error
# out if you try to define it again during rule declaration
},
)

# Anon target instantiation, elsewhere
ctx.actions.anon_target(
my_rule,
{
# you can optionally pass `name` into the attributes even though it's
# not explicitly defined in the `attrs` field for `my_rule`
"name": "foo//bar:baz"
},
)

To access the name attribute from an analysis context, you can use +ctx.label.name.

Examples

Simple Example

# Define an anonymous rule
UpperInfo = provider(fields = ["message"])

def _impl_upper(ctx):
return [UpperInfo(message = ctx.attrs.message.upper()]

upper = rule(
attrs = {"message", attrs.string()},
impl = _impl_upper
)

# Use an anonymous target
def impl(ctx):
def k(providers):
print(providers[UpperInfo].message)
# These are the providers this target returns
return [DefaultInfo()]
return ctx.actions.anon_target(upper, {
name: "my//:greeting",
message: "Hello World",
})
.promise
.map(k)

Longer example

The following code represents a scenario for a compile-and-link language where, +if two targets end up compiling the same file (for example, they are in the same +package and both list it, or it gets export_file'd), then that file is compiled +just once:

## BUCK ##############
@load(":silly.bzl", "silly_binary")

silly_binary(
name = "hello",
srcs = ["hello.sil", "world.sil"],
)

## silly.bzl ############

_SillyCompilation = provider(fields = ["compiled"])

def _silly_compilation_impl(ctx):
out = ctx.actions.declare_output("output.o")
ctx.actions.run(cmd_args(
ctx.attrs.toolchain.compiler,
ctx.attrs.src,
"-o",
out.as_output(),
))
return [DefaultInfo(), _SillyCompilation(compiled = out)]

_silly_compilation = rule(
impl = _silly_compilation_impl,
attrs = {
"src": attrs.src(),
"toolchain": attrs.dep(),
},
)

def _silly_binary_impl(ctx):
def k(providers):
# Step 2: now link them all together
out = ctx.actions.declare_output("out.exe")
objs = [p[_SillyCompilation].compiled for p in providers]
ctx.actions.run(cmd_args(
ctx.attrs._silly_toolchain.linker,
objs,
"-o",
out.as_output(),
))
return [
DefaultInfo(default_output = out),
RunInfo(args = out),
]

# Step 1: compile all my individual files
return ctx.actions.anon_targets(
[(_silly_compilation, {
"src": src,
"toolchain": ctx.attrs._silly_toolchain
}) for src in ctx.attrs.srcs]
).map(k)

silly_binary = rule(
impl = _silly_binary_impl,
attrs = {
"srcs": attr.list(attr.src()),
"_silly_toolchain": attr.dep(default = "toolchains//:silly"),
},
)

Convert promise to artifact

It can be challenging to pass around the promises from anon_target and structure +functions to support that. If you only need an artifact (or multiple artifacts) +from an anon_target, you can use artifact() function on the anon target to +convert a promise to an artifact. This artifact can be passed to most things +that expect artifacts, but until it is resolved (at the end of the current +analysis) it can't be inspected with artifact functions like .extension, etc. +.short_path is supported if ctx.actions.assert_short_path() was called, +which produces an artifact type. The promise must resolve to a build (not +source) artifact with no associated artifacts.

Example:

HelloInfo = provider(fields = ["hello", "world"])

def _anon_impl(ctx: AnalysisContext) -> ["provider"]:
hello = ctx.actions.write("hello.out", "hello")
world = ctx.actions.write("world.out", "world")
return [DefaultInfo(), HelloInfo(hello = hello, world = world)]

_anon = anon_rule(
impl = _anon_impl,
attrs = {},
artifact_promise_mappings = {
"hello": lambda x: x[HelloInfo].hello,
"world": lambda x: x[HelloInfo].world,
}
)

def _use_impl(ctx: AnalysisContext) -> ["provider"]:
anon = ctx.actions.anon_target(_anon, {})
hello_artifact = anon.artifact("hello")
world_artifact = anon.artifact("world")

out = ctx.actions.declare_output("output")
ctx.actions.run([
ctx.attrs.some_tool,
hello_artifact,
world_artifact,
out.as_output()
], category = "process")
return [DefaultInfo(default_output = out)]

use_promise_artifact = rule(impl = _use_impl, attrs = {
"some_tool": attr.exec_dep(),
})
+ + + + \ No newline at end of file diff --git a/docs/rule_authors/configuration_transitions/index.html b/docs/rule_authors/configuration_transitions/index.html new file mode 100644 index 0000000000000..7579944a2ef87 --- /dev/null +++ b/docs/rule_authors/configuration_transitions/index.html @@ -0,0 +1,46 @@ + + + + + +Configuration Transitions | Buck2 + + + + + + + + +
+

Configuration Transitions

Configuration transition is a mechanism for changing the configuration when +depending on a target.

Currently, Buck2 has incoming and outgoing transitions:

  • Incoming - (or per-rule transitions) declared on the rule.
  • Outgoing - (or per-attribute transitions) declared on the attribute.

Transition rule

Transition rules are defined in .bzl files using the transition built-in.

The transition function creates a configuration-related object. The +transition object is opaque, it does not have any operations, and can only be +used as an argument to rule function or attribute constructor. The +transition function call must be assigned to a global variable (this is +similar to user-defined provider declarations).

The transition function takes three arguments:

  • implementation - a function.
  • refs - references to configuration rules to be resolved and passed to the +implementation function.
  • split - (optional) bool flag (default False) to indicate whether +transition is a split transition (used in per attribute transitions).

The implementation function takes two arguments:

  • platform - a configuration to transition.
  • refs - resolved references as a struct.

Example transition from ios to watchos (for example, to build a watchOS bundle +as part of an iOS build):

def _impl(platform: PlatformInfo.type, refs: struct.type) -> PlatformInfo.type:
# Operating system constraint setting.
os = refs.os[ConstraintSettingInfo]
# Watchos constraint value.
watchos = refs.watchos[ConstraintValueInfo]
# Remove operating system constraint from input platform.
constraints = {
s: v
for (s, v) in platform.configuration.constraints.items()
if s != os.label
}
# Add watchos constraint value.
constraints[watchos.setting.label] = watchos
# Construct configuration structure.
new_cfg = ConfigurationInfo(
# Updated constraints.
constraints = constraints,
# Keep original config values.
values = platform.configuration.values,
)
# And return new configuration,
# or a dict of marker to configuration in case of split transition.
return PlatformInfo(
# ... supplying configuration label.
label = "<transitioned-to-watch>",
configuration = new_cfg,
)

iphone_to_watch_transition = transition(_impl, refs = {
"os": "//constraints:os",
"watchos": "//constraints:watchos",
})

A transition function applied twice must produce the configuration identical to +the configuration produced after applying transition once.

assert tr(tr(platform=platform, refs=refs), refs=refs) == tr(platform=platform, refs=refs)

If this invariant is not held, certain operations produce incorrect and possibly +infinite graphs. This is not yet enforced.

Per rule transition

The rule function has an optional cfg attribute, which takes a reference to +the transition object (created with the transition function; not a string).

When such a rule is called, it is instantiated, not with the requested +configuration, but with the requested configuration transformed with a given +rule transition.

For example, the transition for watchos when the iOS target depends on watchos +resource:

watchos_resource = rule(
cfg = iphone_to_watch_transition,
...
)

Per attribute transition

The attrs object has two attribute constructors:

  • attrs.transition_dep(cfg)
  • attrs.split_transition_dep(cfg)

These attributes are similar to the dep attribute. When dependencies are +resolved for the rule instance, then they are resolved not with the rule +instance configuration, but with the configuration transformed with the given +transition.

For split transition, each dependency is resolved into a dict of marker to +providers.

For example:

android_binary = rule(
...
attrs = {
"deps": attrs.list(attrs.split_transition_dep(cfg = cpu_split_transition), default = []),
},
)

When the above is invoked as follows:

android_binary(
deps = ["//foo:bar", "//qux:quux"],
)

Then the rule implementation gets something like the following in the deps +attribute:

{
[
{
# Key in this dict is the marker returned from split transition impl function.
"arm64": "providers for //foo:bar configured for arm64",
"armv7": "providers for //foo:bar configured for armv7",
},
{
"arm64": "providers for //qux:quux configured for arm64",
"armv7": "providers for //qux:quux configured for armv7",
},
]
}
note

It is an error to pass a split transition object to attrs.transition_dep and a non-split transition to attrs.split_transition_dep.

Per target transition

The Buck2 team is considering the implementation of per target transitions (that +is, transitions referenced at a rule instantiation site as opposed to rule +declaration site). No specific plans or APIs exists at the moment.

It could be something like the following:

cxx_binary(
name = "foo",
cfg = "//transitions:opengl-es-1.0",
...
)

Request transition on command line

For information, see RFC.

Access rule attributes in transition function implementation

It might be useful for the transition function to be able to query rule +attributes (for example, to perform transition to different configurations +depending on java_version attribute).

Both incoming (per rule) and outgoing (per dependency) transitions can access +rule attributes. For outgoing transitions, transition rule implementation +accesses the attributes of the target that has dependencies with transitions, +not attributes of dependency targets.

def _tr(platform, refs, attrs):
# NB: There are some restrictions on what attrs can be made accessible:
# - Only primitive values for now (providers are not resolved)
# - Only unconfigured attributes for now
attrs.my_list_attribute # == [12345, 67890]

tr = transition(
_tr,
refs = {},
attrs = {
"my_list_attribute": attr.list(...),
},
)

my_rule = rule(..., cfg=tr)

my_rule(
...,
my_list_attribute = [12345, 67890],
)
+ + + + \ No newline at end of file diff --git a/docs/rule_authors/configurations/index.html b/docs/rule_authors/configurations/index.html new file mode 100644 index 0000000000000..64d4f95cbec82 --- /dev/null +++ b/docs/rule_authors/configurations/index.html @@ -0,0 +1,117 @@ + + + + + +Configurations | Buck2 + + + + + + + + +
+

Configurations

This page mostly focuses on how configurations and related features are +implemented.

Context

Buck configurations provide an API to express the different ways in which +projects and targets can be built.

A configuration consists of a set of constraints and config settings (values +from buckconfig). These are determined by a base platform that sets the initial +values and then a series of transitions that may change them.

The common way that users are exposed to configurations is in select() +invocations where the resolution is based on the configuration.

A build may involve many configurations. A particular target label (//:foo) +may end up with multiple instances in the configured graph with different +configurations.

Selectable attributes

Almost all rule attributes can be set to a select() value; such an attribute +is 'selectable'. These attributes' final resolved values will depend on the +configuration.

There are some attributes that cannot use a select(); such attributes are +termed 'not selectable'. Examples include attributes that buck needs to read +from the unconfigured node (such as name and default_target_platform) and +attributes that are used by platform() rules and their dependencies (see +below).

Selectable resolution

Resolving selectable attributes is pretty straightforward, it happens when +constructing the 'configured target node'. At that point, the full configuration +is available so Buck can lookup whether each constraint in the select is +satisfied or not.

If multiple conditions of the select() match, then the select will be resolved +to the 'most refined' of the conditions that match. A set of constraints (as in +a config_setting) is said to 'refine' another if it is a superset of that +other's constraints. The 'most refined' of a set is then the condition that +refines all the others. If there is no 'most refined' condition of the matching +ones, it is an error.

Target Platform Resolution

In the event that targets are provided on the command line, or when there is no +indication of what configuration the target will be built in, configurations are +determined by performing 'target platform resolution' on the unconfigured target +labels.

The target platform resolution for a target //:foo works as follows:

  1. Look up (unconfigured) target node for //:foo.
  2. If the command has a --target-platforms flag, use that.
  3. If there's a default_target_platform attribute, use that.
  4. Else, use the cell's default platform.

This is performed independently for any targets that need a platform. Since this +resolution is done without a configuration, it means that the +default_target_platform attribute is not selectable.

This target platform will form the initial configuration for the node.

Configuration propagation

Once the top-level nodes have been configured via the target platform +resolution, the configuration is propagated to dependencies (possibly altered by +transitions).

note

The target platform resolution is not applied to all nodes in the graph.

Transitions

A transition transforms a configuration by adding or changing constraint values +and config settings or by setting an entirely new underlying target platform.

For more details, see Configuration transitions.

ConfigurationInfo, platform() analysis, and more

The definition of a platform (either execution or target) is done with a +platform rule instance. The configuration is actually part of the analysis +result of the platform target (the ConfigurationInfo provider instance). This +is convenient from an implementation standpoint, but it leads to a situation +where some nodes are analyzed with an 'unbound' Configuration.

All the rule types involved in defining a platform may be analyzed with an +unbound configuration (platform(), config_setting(), constraint_setting(), +and so on). These are sometimes called 'configuration rules'. This means that +all the attributes of these rules are not selectable.

Configurations also reference a few other provider instances such as +ConstraintSettingInfo. All of these end up being potentially produced in a +context with an unbound configuration.

Using analysis for this also means that 'configuration' and 'analysis' are not +distinct phases within a build (although they are still distinct for a node and +are still conceptually useful).

Configurations and output paths

Since a target may appear within a build in multiple different configurations, +output paths cannot be derived based on just targets (as multiple actions would +map to the same outputs). For this reason, the target and the configuration are +encoded into output paths. The configuration is currently represented as a hash +of its values (a 'hashed buck-out').

Target platform compatibility

All (non-configuration) rules support a target_compatible_with attribute. In +addition, the rule itself can define target_compatible_with constraints that +affect all instances. The target_compatible_with attribute is a list of +constraints/config settings and it is selectable.

Target platform compatibility is transitive, all dependents of an incompatible +target are incompatible. In other words, a node is compatible if and only if the +node itself and all of its transitive dependencies are compatible.

In buck, this is implemented by graph configuration returning either a +configured target node or an indicator that the node is incompatible with the +target platform.

Buck v1 compatibility

Buck2 also supports the Buck v1 legacy compatible_with field on nodes but it +has different behavior.

In summary:

  • compatible_with: List of constraints, where any of them must match the +configuration to be compatible.
  • target_compatible_with: List of constraints, where all of them must match +the configuration to be compatible.

Incompatible target skipping

In a build-like command where a non-literal target pattern is provided (for +example, buck build //: or buck build //foo/...), the target pattern will be +resolved to a set of unconfigured targets. Those targets will then go through +target platform resolution. If any of those +targets resolve to a platform where they are incompatible, building them will be +skipped. Users generally expect and prefer this behavior to needing to +explicitly specify only the targets that can build in their current context.

If an explicitly specified literal is incompatible, it is an error.

The implementation checks compatibility when looking up the analysis results for +configured nodes requested (in the non-ignored flow, it uses that analysis +result to lookup the default outputs and build them).

Execution platforms

Execution platforms/configurations are used to represent the platforms where +build execution happens. These are defined in a similar manner to target +platforms. These may or may not be what one would logically consider different +'platforms'. For example, there could be multiple different execution platforms +that all execute things similarly on the local machine.

A build configures a fixed list of one or more execution platforms.

Execution deps

Some target deps are 'execution deps'. These are the dependencies of the target +that should be built for the execution platform. For example, a compiler or +other build tool would be an execution dep. This includes all exe macro deps +(for example, $(exe //:tool)) and includes all attrs.exec_dep() deps.

Toolchain deps

In addition to attrs.exec_dep(), there are attrs.toolchain_dep(), which are +similar but differ in an important way. These nodes don't select their execution +platform, but instead have it forced on them by whatever includes them; hence, +it must be recorded in the configured target label. The execution platform +resolution sees through them.

In other words, attrs.toolchain_dep() is like a mix of attrs.dep() and +attrs.exec_dep(): it inherits target platform like attrs.dep() (so any +select()s on the target of the attrs.toolchain_dep() will evaluate as if +they were on the target containing the attrs.toolchain_dep() - the target +platform gets inherited as normal) and any attrs.exec_dep()s of the +attrs.toolchain_dep() target become attrs.exec_deps() on the dependent of +target the attrs.toolchain_dep() (they get passed up the dep tree, so +participate in exec platform resolution).

This is illustrated in the following example:

target(
name = "A",
toolchain = attrs.toolchain_dep(default = ":B"),
)
target(
name = "B",
tool = attrs.exec_dep(default = ":C")
)

The above means that :C will be an execution dependency of :A and any +select()s defined in :B would be evaluated against the same target platform +as :A (as target platform gets inherited by attrs.toolchain_dep()s).

Running non-execution deps

If you have a binary that you want to run, but it isn't a build tool, then you +should use $(exe_target //:binary) rather than $(exe //:binary). That will +run the same binary that you'd get from buck2 build, rather than one that is +built for the execution platform.

The path macros vary along two axes:

  • Path Source: either DefaultInfo or RunInfo providers
  • Configuration: inherits the configuration or transitions to an execution +platform configuration

Specifically:

  • $location: DefaultInfo path source, inherits configuration
  • $exe: RunInfo path source, exec platform configuration
  • $exe_target: RunInfo path source, inherits configuration

Execution platform resolution

During analysis, unlike target platform resolution, every configured node +undergoes execution platform resolution independently (see exception below). +This means that even for a specific target platform, different nodes in the +graph can be built on different execution platforms.

This works roughly as follows:

next: for platform in execution_platforms:
if exec_compatible_with(target, platform):
for dep in target.execution_deps():
if !target_compatible_with(dep, platform):
continue next
return platform
return err

One important note here is that until the execution platform has been resolved, +the configuration for execution deps is not known. Only after execution +platform has been resolved can the execution deps be configured (also, analysis +for them can only be performed at that point).

For the normal use case, a particular configured target node performs execution +platform resolution a single time. The execution platform is not encoded in +output paths.

Regarding target compatibility, imagine the following pseudo-code for the +target_compatible_with() function above:

def target_compatible_with(target, cfg):
for constraint in target.target_compatible_with:
if not satisfied(constraint, cfg):
return False

if len(target.compatible_with) > 0:
found_satisfied_constraint = False
for constraint in target.compatible_with:
if satisfied(constraint, cfg):
found_satisfied_constraint = True
break
if not found_satisfied_constraint:
return False

for (dep, dep_cfg) in direct_deps(target):
# NB: recursive call
if not target_compatible_with(dep, dep_cfg):
return False

return True

Execution groups

Execution groups are a future feature that will allow a rule to perform +execution platform resolution multiple times and then specify in which of the +resolved platforms each action runs in.

+ + + + \ No newline at end of file diff --git a/docs/rule_authors/dep_files/index.html b/docs/rule_authors/dep_files/index.html new file mode 100644 index 0000000000000..506849a8e6fd5 --- /dev/null +++ b/docs/rule_authors/dep_files/index.html @@ -0,0 +1,59 @@ + + + + + +Dep Files | Buck2 + + + + + + + + +
+

Dep Files

Dep files allow commands to declare which subset of their inputs were used when +the command executed.

When a command produces a dep file and is later invalidated due to an inputs +change, Buck2 uses the dep file to check whether the inputs that changed were in +the set that the command reported as having used. If none of the inputs that +changed were in that set, Buck2 omits re-running the command and reuses the +previous result.

Use Cases

Dep files are used to make dependencies finer grained than what exists in the +target graph, but they're not a substitute for avoiding unused dependencies. +They're often useful when targets export many outputs (such as C++ headers) that +aren't all used by all their dependents.

Dep files are currently used to skip recompilation steps in C++ when an unused +header changed. They're also used in Java to skip recompilation when an unused +class changed.

Using dep files

To use dep files, you need to do the following:

  • Declare what output is a dep file and associate it with your command.
  • Declare which inputs are covered by the dep file (this can be a subset of your +inputs).
  • Have your command produce the dep file in a format Buck2 can use.

You must also enable +Deferred Materialization to use +dep files.

Declaring the dep files and associating inputs

To declare a dep file and associate it with your command, you need to tag your +artifacts.

Specifically, you'll tag the output (the dep file) and the inputs it covers, as +shown in the following code:

# First, create a tag

headers_tag = ctx.actions.artifact_tag()

# Then, tag inputs and the dep file itself in your command line.
# You do this using the `tag_artifacts` method on your tag.
# This method does not mutate the input, it wraps it, so you use the output.
# Any command-line-arg-like can be tagged.

tagged_headers = headers_tag.tag_artifacts(headers)

dep_file = ctx.actions.declare_output("deps").as_output()
tagged_dep_file = headers_tag.tag_artifacts(dep_file)

# Finally, declare your action.
# Use the tagged artifacts as you would regular command-line-arg-likes.
# Pass the tag in `dep_files` and give a name (this is used for logging).

ctx.actions.run(
["mycc", "-I", tagged_headers, "-MD", "-MF", tagged_dep_file, "-o", ...],
dep_files = { "headers": headers_tag }
)

Producing the dep file

Your command must produce dep files in the format Buck2 expects, which is simply +a list of all the inputs that were used, one per line.

The paths must be the paths Buck2 would use for your inputs, which means paths +relative to the project root.

If this is not the format your tool produces, use a wrapper to take whatever +output your command produces and rewrite it in the format Buck2 expects.

Testing dep files

When writing a command that produces a dep file, you should test it! At a +minimum, check that the inputs you expect are tagged properly.

To do so, build your target, then use +buck2 audit dep-files TARGET CATEGORY IDENTIFIER, which will show you the set +of inputs your command used and how they're tagged.

Extra notes to the implementer

Limitations

Dep files only work if a previous invocation of the command is known to your +Buck2 daemon. Dep files are dropped when the daemon restarts or when you run +buck2 debug flush-dep-files.

This means that, for example, if you change an unused header, then run a build +on a fresh daemon, Buck2 will still need to execute this command in order to +identify that the header was in fact unused. In contrast, if you did the build +(and got a remote cache hit on the command), then applied your change and +re-built, Buck2 would use the dep file on the second execution, and you wouldn't +need to execute anything.

Dep files don't need to be covering

It's OK for the dep file to only cover a subset of the inputs of your action. +However, within that subset, the dep file must declare all the inputs that were +used.

If you fail to report some inputs you used, then your command will not re-run +when they change, and you'll get stale output.

Dep files are lazy

Dep files aren't parsed by Buck2 unless the command needs to re-run. If the +command ran on RE, they aren't even downloaded until then. This ensures dep +files don't cause a performance hit unless they are used, at which point they +stand a chance of giving a performance boost instead.

This means that if you produce an invalid dep file, Buck2 will not report this +until your command runs again, at which point Buck2 will report that the dep +file is invalid and refuse to proceed (note: you can unblock yourself using +buck2 debug flush-dep-files).

To flush out issues during development, you can pass --eager-dep-files to +Buck2 to force Buck2 to parse your dep files as they are produced.

If your dep file reports that a symlink was used, Buck2 will track the symlink's +target as covered by this dep file.

+ + + + \ No newline at end of file diff --git a/docs/rule_authors/dynamic_dependencies/index.html b/docs/rule_authors/dynamic_dependencies/index.html new file mode 100644 index 0000000000000..53003f5e4b659 --- /dev/null +++ b/docs/rule_authors/dynamic_dependencies/index.html @@ -0,0 +1,55 @@ + + + + + +Dynamic Dependencies | Buck2 + + + + + + + + +
+

Dynamic Dependencies

Dynamic dependencies allow a rule to use information that was not available when +the rule was first run at analysis time. Dynamic dependencies in Buck2 are +implemented using dynamic_output and are restricted in their power compared to +fully generic dynamic dependencies.

A rule for a target is run with the attributes of the target, plus the providers +of its attribute dependencies, which contain artifacts. Those values (but not +the artifact contents) are all available directly and immediately when running +the rule. The rule generates providers containing artifacts. Using +dynamic_output, a rule can read the contents of an artifact to produce new +artifacts and bind existing artifacts, which were already returned in providers.

Examples of rules requiring dynamic dependencies include:

  • Distributed ThinLTO, where the index file says what the dependencies are.
  • OCaml builds, where the dependencies between source files can only be obtained +from running ocamldeps.
  • Erlang header files, where only a subset of the available headers are +accessed, which can be determined by reading the source file.
  • Erlang BEAM files, where some subset of BEAM files must be compiled in a given +order, as they provide features like compiler plugins, but most can be +compiled in parallel.

Implementation

Buck2 provides the following function:

ctx.actions.dynamic_output(dynamic, inputs, outputs, lambda ctx:)

The arguments are:

  • dynamic - a list of artifacts whose values will be available in the +function. These will be built before the function is run.
  • inputs - a container of artifacts (cmd_args, list of artifacts, and so +on).
    • These inputs must include all the inputs that are referenced by the body of +the function argument, apart from those listed in dynamic and outputs: +extra inputs may be passed that are not used.
    • The inputs are used for buck2 aquery functionality, but do not cause +speculative building. In fact, these inputs may form a cycle with other +dynamic_output actions if they were all required.
    • In the future, it may be possible to not pass all the inputs if the repo is +set to permissive mode, allowing a more powerful form of dynamic +dependencies.
  • outputs - a list of unbound artifacts (created with declare_artifact) +which will be bound by the function.
  • The function argument is given 3 arguments:
    • ctx (context) - which is the same as that passed to the initial rule +analysis.
    • outputs - using one of the artifacts from the dynamic_output's outputs +(example usage: outputs[artifact_from_dynamic_output_outputs]) gives an +unbounded artifact. The function argument must use its outputs argument to +bind output artifacts, rather than reusing artifacts from the outputs passed +into dynamic_output directly.
    • artifacts - using one of the artifacts from dynamic (example usage: +artifacts[artifact_from_dynamic]) gives an artifact value containing the +methods read_string, read_lines, and read_json to obtain the values +from the disk in various formats. Anything too complex should be piped +through a Python script for transformation to JSON.
  • The function must call ctx.actions (probably ctx.actions.run) to bind all +outputs. It can examine the values of the dynamic variables and depends on the +inputs.
    • The function will usually be a def, as lambda in Starlark does not allow +statements, making it quite underpowered.

Following is an example of using the function to determine Erlang BEAM +dependencies:

def erlang(ctx):
beams = {}
for x in ctx.attr.srcs:
dep_file = ctx.actions.declare_output(x + ".out")
ctx.actions.run("erl", "-dump-output", x, dep_file.as_output())
beam_file = ctx.actions.declare_output(x + ".beam")
beams[x] = beam_file
def f(ctx, artifacts, outputs, x=x, dep_file=dep_file):
deps = artifacts[dep_file].read_lines()
ctx.actions.run(
"erl", "-comp", x,
[beams[d] for d in deps],
outputs[beams[x]].as_output()
)
ctx.actions.dynamic_output([dep_file], [x] + deps, [beam_file], f)
return [ErlangInfo(objects = beams.values())]

The above code uses declare_output for the beam_file then binds it within +the function f, after having read the dep_file with read_lines.

+ + + + \ No newline at end of file diff --git a/docs/rule_authors/incremental_actions/index.html b/docs/rule_authors/incremental_actions/index.html new file mode 100644 index 0000000000000..a32f195334e80 --- /dev/null +++ b/docs/rule_authors/incremental_actions/index.html @@ -0,0 +1,54 @@ + + + + + +Incremental Actions | Buck2 + + + + + + + + +
+

Incremental Actions

It's possible to make certain Buck2 actions behave incrementally, that is, to +produce results for a current invocation based on the result from the previous +run. Incrementality could significantly improve performance of some actions such +as packaging (such as Apple App Bundles) or linking (MSVC incremental linking).

There are two essential requirements to make an action incremental:

  • The result from the previous run should be accessible.
  • An understanding of which parts of the result need to be updated; it should be +easy to compare inputs from a previous run with inputs from the current run +and detect those changed.

The only way to run user-defined commands in Buck2 is with ctx.actions.run. +Both of the above requirements are met via its metadata_env_var, +metadata_path and no_outputs_cleanup parameters.

When the no_outputs_cleanup flag is turned on, Buck2 won't perform any +deletion of old outputs for the action. That means the result from the previous +run will be accessible, but the user script has to detect which parts of it +should be deleted and perform a manual cleanup.

When the metadata_env_var and metadata_path parameters are present, Buck2 +will create a JSON file on a disk before actually executing the command. The +file will contain a list of paths and hash digests for every command action +input. All paths in the file are relative to the Buck2 project root. Symlinks +are not included in metadata because it is possible for the user script to +resolve symlink and use a resolved path to get the destination hash digest from +action metadata if it's needed, as shown in the following JSON example:

{
"version": 1,
"digests": [
{
"path": "buck-out/v2/gen/cell/configuration_hash/path/to/target/__target_name__/generated_file",
"digest": "da39a3ee5e6b4b0d3255bfef95601890afd80709:10"
},
...
]
}

A user script that is run as a part of an action execution is responsible for +parsing the JSON file.

The version field is bumped every time there is a non-backwards compatible +change to the format of the file. The user script should verify that the +provided data is of a supported version and should be updated accordingly when +the current version is newer than the supported one.

The path of the JSON file is provided to the user script via an environment +variable with a key equal to metadata_env_var. The user is able to specify the +part of the path relative to the result directory via metadata_path.

For example, if some rule implementation has the following code:

result = ctx.actions.declare_output("result")
command = cmd_args(["my_script.py", "--output", result.as_output()])
ctx.actions.run(
command,
category = "my_category",
metadata_env_var = "ACTION_METADATA",
metadata_path = "action_metadata.json",
no_outputs_cleanup = True,
)

Then my_script.py will be executed as:

ACTION_METADATA=project/relative/path/to/target/action_metadata.json my_script.py --output resolved/path/to/result

my_script.py is responsible for reading the ACTION_METADATA environment +variable and parsing a JSON file with the action metadata.

Parsed metadata provides information about inputs for the current run, but the +script needs somehow to obtain similar information about inputs from the +previous run. Such information could just be another output of the user script +(as with the previous result, it won't be deleted when +no_outputs_cleanup = True). The Format of such a file is an implementation +detail of the user script, but at the very least it should contain a list of +every source that was used to form the result and hash digests for such sources.

The rule implementation would look something like the following:

result = ctx.actions.declare_output("result")
state = ctx.actions.declare_output("incremental_state.json")
command = cmd_args(["my_script.py", "--output", result.as_output(), "--incremental-state", state.as_output()])
ctx.actions.run(
command,
category = "my_category",
metadata_env_var = "ACTION_METADATA",
metadata_path = "action_metadata.json",
no_outputs_cleanup = True,
)

The user script would then:

  1. Parse incremental_state.json and delete it. Deletion prior to amending the +result is important so it doesn't result in a situation where an incremental +state file is out of sync with the result when the user script fails while +changing the result. Such a corrupted state might lead to subsequent +incorrect builds reported as "successful".
  2. Parse action metadata file, compute what is needed to update the result, and +amend it accordingly.
  3. Calculate the new state and write it into the new incremental_state.json.
+ + + + \ No newline at end of file diff --git a/docs/rule_authors/local_resources/index.html b/docs/rule_authors/local_resources/index.html new file mode 100644 index 0000000000000..4c5b1c212a86d --- /dev/null +++ b/docs/rule_authors/local_resources/index.html @@ -0,0 +1,67 @@ + + + + + +Local Resources For Tests Execution | Buck2 + + + + + + + + +
+

Local Resources For Tests Execution

Executing a test might require an external resource which is expensive to +create. For example running an iOS UI test requires an iOS simulator and it +takes relatively long time to setup it prior to test execution. When tests are +executed remotely resources initialization and allocation could be preemptively +managed by remote execution tier which is not the case for local execution. To +effectively manage such resources needed for local execution of tests there is a +separate Buck2 feature backed by LocalResourceInfo provider.

LocalResourceInfo provider

This provider describes how to initialize and clean up a pool of homogeneous +local resources. Management of initialized resources is done by Buck2 itself +when it executes tests requiring such resources.

Fields:

  • setup — command represented by cmd_args object which is executed to +initialize a local resource. Running this command should write a JSON to +stdout. This JSON represents a pool of local resources which are ready to be +used.
  • resource_env_vars — key-value mapping {str: str} from environment variable +(appended to an execution command for test which is dependent on this local +resource) to keys in JSON output of setup command.

Example JSON output of setup command:

{
"pid": 42,
"resources": [
{"socket_address": "foo:1"},
{"socket_address": "bar:2"}
]
}

JSON keys:

  • pid — an optional attribute which maps to a PID of a process that holds +initialized local resources. If present, on non-Windows platforms the process +will be sent SIGTERM when those resources are no longer needed. Signal +should be handled to release any system resources related to local resources.
  • resources — a list of resource instances, each is a mapping from a string +alias (e.g. socket_address) to a value which represents resource. The number +of concurrently running tests that require resources of the same type is +limited by how many instances are in a list. String alias is mapped to an +environment variable key (which will be added to a command requiring such +resource) using a resource_env_vars field in LocalResourceInfo provider +(see example below).

Test Execution

For a general context on how tests are executed, see +Test Execution.

A decision whether certain local resource is required for specific test is made +by a test runner. List of required resources is then passed to Buck2 in +required_local_resources field of ExecuteRequest2 test API protobuf message.

If resource is required for a certain test execution and test could potentially +be executed locally, local_resources field in test's ExternalRunnerTestInfo +provider is used to select appropriate LocalResourceInfo provider.

ExternalRunnerTestInfo.local_resources is a key-value mapping +{str: ["label", None]}. Keys represent resource types that match the values +passed from the test runner, and values are labels that should point to a target +exposing the LocalResourceInfo provider to be used for the initialization of +the resource of that type. If the value is None, it indicates that a resource +of that type will not be provided, even if the test runner requests it.

Before running a test, setup command from selected provider is executed and +its output is used to create a pool of resource instances. This pool is shared +across all tests pointing to the same configured target label containing +LocalResourceInfo provider (normally that means pool is shared for tests +requiring same resource type). A resource is acquired (with potential queuing) +from that pool prior single test is executed and is returned back to the pool +when test finished execution. After buck2 test command is finished, cleanup is +performed when SIGTERM is sent to each process holding a pool of resources.

Example Usage

Define a target which has LocalResourceInfo provider:

simulator(
name = "my_resource",
broker = ":broker",
)

where broker points to a runnable handling actual simulators.

Implementation of simulator rule would be:

def _impl(ctx: AnalysisContext) -> ["provider"]:
return [
DefaultInfo(),
LocalResourceInfo(
setup = cmd_args([ctx.attrs.broker[RunInfo]]),
resource_env_vars = { "IDB_COMPANION": "socket_address" },
)
]

Running a :broker via setup command produces the following JSON:

{
"pid": 42,
"resources": [
{"socket_address": "foo:1"},
{"socket_address": "bar:2"}
]
}

When Buck2 locally executes a test which requires this particular type of local +resource, it reserves one resource from the pool (e.g. +{"socket_address": "bar:2"}) and add environment variable representing this +resource to execution command (e.g. IDB_COMPANION=bar:2). In our examples +"socket_address" alias was substituted by "IDB_COMPANION" based on +LocalResourceInfo.resource_env_vars field.

The last part is to map a resource type to desired LocalResourceInfo provider. +Let's assume a test runner requires a resource of type "ios_simulator" for every +apple_test rule.

Pass :my_resource target as a dependency into apple_test rule:

apple_test = rule(
impl = apple_test_impl,
attrs = {
...
"_ios_simulator": attrs.default_only(attrs.dep(default = ":my_resource", providers = [LocalResourceInfo])),
...
},
)

Actually map "ios_simulator" resource type to :broker target containing +LocalResourceInfo provider:

def apple_test_impl(ctx: AnalysisContext) -> ["provider"]:
...
return [
...
ExternalRunnerTestInfo(
...
local_resources = {
"ios_simulator": ctx.attrs._ios_simulator,
},
...
+ + + + \ No newline at end of file diff --git a/docs/rule_authors/optimization/index.html b/docs/rule_authors/optimization/index.html new file mode 100644 index 0000000000000..062fbf999f71e --- /dev/null +++ b/docs/rule_authors/optimization/index.html @@ -0,0 +1,69 @@ + + + + + +Observability and Optimization | Buck2 + + + + + + + + +
+

Observability and Optimization

Optimization involves the use of techniques for determining and improving the +performance of Buck2 and specific actions performed by Buck2. This page covers +the internals for developers of Buck2 and provides details of Starlark that are +likely to be relevant to end users.

Starlark profiling

buck2 supports profiling of the evaluation of specific BUCK files and +profiling of the analysis of specific targets.

There are three buck2 profiling commands:

  • buck2 profile loading
  • buck2 profile analysis
  • buck2 profile bxl

For example:

buck2 profile loading --mode=heap-summary-allocated -o heap-summary.csv //some/package:
buck2 profile analysis --mode=heap-summary-allocated -o heap-summary.csv //some/package:target

Possible values for profiling modes are as follows:

  • heap-summary-allocated: The heap profile mode provides +information about the time spent in each function and allocations performed by +each function. Enabling this mode has the side effect of disabling +garbage-collection. This profiling mode is the recommended one.
  • heap-summary-retained: Like heap summary, but information about retained +memory after module is frozen.
  • time-flame: Provide output compatible with +flamegraph.pl.
  • heap-flame-allocated: Like heap profile, but writes output comparible with +flamegraph.pl.
  • heap-flame-retained: Like heap flame, but information about retained memory +after module is frozen.
  • statement: The statement profile mode provides +information about time spent in each statement.
  • bytecode: The bytecode profile mode provides information about bytecode +instruction pairs.
  • bytecode-pairs: The bytecode profile mode provides information about bytecode +instruction pairs.
  • typecheck: Profile runtime typechecking.

Summary profiling

The first profiling mode (heap-summary-allocated) provides the time spent +within a function and the allocations that are performed.

As an example, running over a folly BUCK file, produces a CSV file whose +top-left corner is:

Function         Time(s)  TimeRec(s)    Calls   Allocs
TOTALS 10.455 10.455 9712799 3477203
fbchain_configs 1.163 2.514 11328 33984
is_string 0.726 1.028 1514985 0
apple_library 0.725 0.725 1887 0
type 0.435 0.435 2053296 0
...

This reveals the following:

  • Total execution was 10.455s, which will be a bit slower than normal, because +profiling is on.
  • 1.163s was spent in fbchain_configs itself and 2.514s in that function and +the things it calls.
  • A disturbing 1.5M calls and 1.028s is spent testing if things are strings, +which is almost certainly responsible for half the type calls.
  • Happily, is_string doesn't allocate, but fbchain_configs does. Scrolling +to the right, on the full CSV file (not shown), reveals it allocates 1 tuple +and 2 dict per call. It can also be seen that fbchain_configs is mostly +called by _add_code_coverage_configs.

This profiling mode is implemented by turning off garbage collection, so the +heap retains everything, and pushing function entry/exit entries on to the heap +with the time they happen. After execution, the heap can be scanned in order to +reconstruct the call tree and allocation patterns. As a result, this profile +mode may consume significantly more memory.

Statement profiling

The second profiling mode tells us which statements spent most time executing. +Running it over a structured-logger BUCK file gives us a CSV file starting +with:

File                            Span  Duration(s)    Count
TOTAL 4.03 7187761
fbcode_allowed_list.bzl 420:9-423:1 0.27 455884
cell_defs.bzl 13:5-13:60 0.17 117736
read_configs.bzl 46:5-46:55 0.08 65042
prelude.bzl 28:9-29:20 0.07 1004
...

This profile shows how much time is spent in each statement. Looking at the +relevant portion of fbode_allowed_list.bzl:

for _package in _recursive_allowlist:
if base_path == _package or base_path.startswith(_package + "/"):
return True

The if statement is at location 420:9-423:1 and takes 0.27s. The if +statement runs approximately 456K times. While looking at the outer statement in +the profile (not shown), it can be seen that the for loop is only called 3188 +times, implying an average of 143 iterations per call. It's possible that this +loop could be rewritten as some clever dictionary lookup, perhaps iterating over +the path components of _package.

Line profiling builds on top of the before_stmt hook that is used for +debugging. It records the time each statement is entered then blames that +statement for all time until the next statement. That means that sometimes, due +to statements making function calls, the return of the function call may be +'blamed' until the next statement executes. As a result, treat the results with +slight caution.

Flame profiling

The flame profiling modes produces a .svg flamegraph showing either time spent +or allocations. You can open it in Google chrome and inspect the resulting flame +graph.

Native profiling

  • Profiling on Linux can be done with +perf record -g --call-graph=dwarf,20000 ... and perf report --call-graph
    • Don't profile the buck2 process directly unless you are interested in +profiling the CLI; you likely want to profile the buck2 daemon process. +You can find the pid with buck2 status and attach perf to that PID.
  • Profiling on Mac can be done with Instruments.

Benchmarking

  • If you want to do proper statistically relevant A/B testing, use +absh -a testa -b testb (see absh in +the GitHub repository).
  • To measure the number of instructions:
    • On Linux, use perf stat foo
    • On Mac, use /usr/bin/time -lp foo
  • On Mac, to run something with the time profiler on the command line, use +xcrun xctrace record --template 'Time Profiler' --launch -- foo, then +open Foo.trace for the name of the trace file it spits out (or pass +--output to control the output filename).
+ + + + \ No newline at end of file diff --git a/docs/rule_authors/package_files/index.html b/docs/rule_authors/package_files/index.html new file mode 100644 index 0000000000000..3d935b5bb3d91 --- /dev/null +++ b/docs/rule_authors/package_files/index.html @@ -0,0 +1,55 @@ + + + + + +PACKAGE Files | Buck2 + + + + + + + + +
+

PACKAGE Files

PACKAGE files are per-directory configuration files which are accessible from +Starlark rules/macros. It supports things like per-directory properties, reading +parent PACKAGE values (read_parent_package_value()), writing PACKAGE +values (write_package_value()), loading helper bzl files, and you can also +inspect PACKAGE values via buck2 audit package-values.

Before evaluating BUCK file, buck2 will evaluate all PACKAGE files in the +same directory and all parent directories. Absent PACKAGE files are treated as +empty files.

All relevant PACKAGE files are executed sequentially from the root directory +to the current directory (but unrelated PACKAGE files can be executed in +parallel). Evaluating PACKAGE files sequentially provides additional +guarantees, for example, attempt to override a property (unless explicitly +requested) should fail with Starlark call stack.

Each PACKAGE file is evaluated at most once (like bzl files).

PACKAGE files may load arbitrary bzl files. BUCK-specific functions called +in bzl files (like rule functions) are available, but calling functions from +PACKAGE files is an error. This way, bzl files are evaluated only once +regardless of whether they are loaded from PACKAGE or BUCK file.

APIs

PACKAGE APIs

write_package_value

def write_package_value(
name: str,
value: "",
overwrite: bool = False,
): ...

This global API is only available in PACKAGE files, or bzl files included in +PACKAGE files.

name is a string which must contain exactly one dot symbol (just to enforce +code style).

value is an arbitrary Starlark value, for example, an integer, a list of +integer, a struct or a function. The value must be serializable into JSON.

When overwrite is False (default), attempt to overwrite per-PACKAGE value +defined in parent PACKAGE file will fail.

Written values are frozen when PACKAGE file evaluation is finished.

Note write_package_value symbol exists in bzl globals, and it can be called +from bzl file in context of PACKAGE evaluation, but calling +write_package_file is an error on context of BUCK evaluation.

Modifying PACKAGE file logically invalidates the BUCK file of this +directory, and all PACKAGE and BUCK files of sub-PACKAGEs. However, BUCK +file evaluation may track which PACKAGE-local values were accessed and only +invalidate BUCK files which were potentially affected (similarly to how we do +it with buckconfigs).

read_parent_package_value

def read_parent_package_value(
key: str,
): ...

This global API is only available in PACKAGE files, or bzl files included in +PACKAGE files.

This function returns the PACKAGE value defined in a parent PACKAGE file, or +None is such value does not exist.

This function is available in PACKAGE files, but attempt to call this function +in context of bzl file evaluation results in an error.

package

def package(
inherit: bool = False,
visibility: list[str] | tuple[str, ...] = [],
within_view: list[str] | tuple[str, ...] = []
) -> None

This global API is only available in PACKAGE files, or bzl files included in +PACKAGE files.

visibility is a list of visibility patterns to apply to all targets contained +within the directory, unless the target defines it's own visibility patterns.

within_view is a list of visibility patterns restricting what all target +contained within the PACKAGE directory can depend on. Applies to first-order +deps, and not transitive deps.

If inherit is True, then the visibility and within_view will be +inherited from the nearest parent PACKAGE.

read_config

PACKAGE files are able to call read_config to read buckconfigs.

BUCK-specific API

read_package_value

def read_package_value(
name: str,
): ...

This global API is only available in BUCK files, or bzl files included in +BUCK files.

This function returns the nearest name value registered per PACKAGE, or +None is such value does not exist.

This function is available in bzl files, but attempt to call this function in +context of PACKAGE file evaluation results in an error. This restriction can +be lifted in the future.

+ + + + \ No newline at end of file diff --git a/docs/rule_authors/test_execution/index.html b/docs/rule_authors/test_execution/index.html new file mode 100644 index 0000000000000..87b5c8089e8c4 --- /dev/null +++ b/docs/rule_authors/test_execution/index.html @@ -0,0 +1,75 @@ + + + + + +Test Execution | Buck2 + + + + + + + + +
+

Test Execution

Test execution in Buck2 is a collaboration with a separate test runner process.

In its open-source build, Buck2 ships with a built-in simplistic test runner.

This test runner receives the commands defined by ExternalRunnerTestInfo and +simply executes them. Exit code zero means the test passed, and one means it +failed.

Users can of course develop their own test runners. Look at +fbcode/buck2/app/buck2_test_runner as a sample. For comparison, here's how +it's used at Meta:

At Meta, this test runner is Tpx

.

Tpx has a large number of responsibilities when used with Buck2, which can be +grouped as follows:

  • Translation:
    • Understands the output formats of various supported test frameworks. This is +used to identify test cases and collect test results.
    • Understands, to an extent, the input formats. For example, given a test +case, Tpx can identify what command needs to run to execute just that test.
  • Orchestration:
    • Interacts with Test Infra to discover what tests should run, under a number +of configurations.
    • Separates listing of tests (identifying what tests exists in a test target) +and execution (running specific tests within that target).
    • Coordinates the execution of tests. For example, it may request retries, or +choose to bundle multiple tests in a single execution (or not).
    • Reports test results to Test Infra as well.

In Buck2, rules interact with the test runner via a provider called +ExternalRunnerTestInfo.

Anatomy of a test run

When a user runs buck2 test $targets:

  • Buck2 identifies all matching targets that have an ExternalRunnerTestInfo.
  • Buck2 builds all the artifacts referenced by those targets (this will likely +change eventually to build them only if they are used).
  • Buck2 then notifies the test runner that those tests exist. Currently, the +test runner receives a subset of ExternalRunnerTestInfo.
  • The test runner can request command execution from Buck2 to list and execute +tests.
  • When it receives command results from Buck2, the test runner may fire off +events that the end-user will see (such as test results), upload logs +externally, request further executions, and so on.
note

If more than one target is being built, test building and execution will proceed concurrently.

Information available on ExternalRunnerTestInfo

As noted, rules communicate their testing capabilities via +ExternalRunnerTestInfo. There are a number of fields available on +ExternalRunnerTestInfo to control how a given target is tested, as detailed in +the following sub-sections.

Fields exposed to the test runner

The following list shows what is available in ExternalRunnerTestInfo, with +which the test runner can interact:

  • type - a string key that defines the type of test this is.
  • command and env - respectively, a list and a key-value mapping of +arguments. They are not always visible to the test runner (for more +details, see +Verbatim arguments and handles, below).
  • labels - a set of string labels to pass to the test runner.
  • contacts - a list of contacts for the tests; usually oncalls.
  • executor_overrides - a key-value mapping of executor configurations that the +test runner can use when requesting execution from Buck2.
  • local_resources - a key-value mapping from resource type to optional +LocalResourceInfo provider. Provider is used for initialization of that +resource type. If the value is None resource type is ignored even though +test runner required it. For context see +Local Resources For Tests Execution.

Fields pertinent for Remote Execution

For compatibility with Remote Execution (RE), there are two fields that rules +should set in their ExternalRunnerTestInfo if they should be run on RE:

  • use_project_relative_paths - if true (the default is `true`), Buck2 will produce relative paths. If not, it'll produce absolute paths.
  • run_from_project_root - if true (the default is `true`), tests will run from the project root (their `cwd` will be the project root, which is the same as all build commands). If `false`, it'll be the cell root.

Note that passing --unstable-allow-all-tests-on-re to buck2 test will +override those fields and set them to true, since they are a pre-requisite to +run on RE. In contrast, passing --unstable-allow-compatible-tests-on-re will +only allow tests that already set both those fields to true to execute on RE.

Also note that when executor_overrides are set, if an executor override is +used and results in execution on RE, it'll happen on RE unconditionally. +Therefore, it's a good idea to set those fields if RE-only executor overrides +are provided.

Verbatim arguments and handles

As noted above, the test runner only interacts with a subset of arguments +provided by rules in ExternalRunnerTestInfo. The reason for this is that the +test runner doesn't get to access, for example, artifacts, that Buck2 knows +about.

Consider the following example:

binary = ctx.attrs.dep[RunInfo]
test_info = ExternalRunnerTestInfo(command = [binary, "run-tests"], ...)

When Buck2 actually runs this command, binary is expanded to a path (and +possibly to more args). Buck2 would also account for any hidden arguments and +make those available where the command is executed. It is important for Buck2 to +retain this capability when running with the test runner.

To that end, all non-trivial arguments present in command (and in the values +of env), such as cmd_args or RunInfo, are exposed to the test runner as +opaque handles, and simple string arguments are passed as-is to the test runner.

This means that the test runner would see the command described above as:

[ArgHandle(index = 0), Verbatim("foobar")]

When requesting execution from Buck2, the test runner can use the ArgHandle +and Buck2 will swap it back for the underlying value that was set on the +provider.

This allows the test runner to introspect and modify parts of the command lines +it receives, as long as it doesn't need to access the actual text value of +non-verbatim arguments. Usually, this works out to be sufficient (or can be made +sufficient with a bit of refactoring in the test runner).

Execution Configurations

By default, tests execute using the execution configuration of the associated +target. This is the execution configuration that would be used for run actions +(ctx.actions.run) declared in the same target. This is a default that actually +makes little sense but works out as long as cross-compiling is not the norm.

To support this, ExternalRunnerTestInfo allows specifying override platforms, +which are given a name. The test runner can request execution on them by passing +their name when it sends execution requests to Buck2, as shown in the following +code:

ExternalRunnerTestInfo(
executor_overrides = {
"ios-simulator": CommandExecutorConfig(
local_enabled = False,
remote_enabled = True,
remote_execution_properties = {
"platform": "ios-simulator-pure-re",
"subplatform": "iPhone 8.iOS 15.0",
"xcode-version": "xcodestable",
},
remote_execution_use_case = "tpx-default",
),
"static-listing": CommandExecutorConfig(local_enabled = True, remote_enabled = False),
},
...
)

The default execution platform can also be overridden:

ExternalRunnerTestInfo(
default_executor = CommandExecutorConfig(
local_enabled = False,
remote_enabled = True,
remote_execution_properties = {
"platform": "ios-simulator-pure-re",
"subplatform": "iPhone 8.iOS 15.0",
"xcode-version": "xcodestable",
},
remote_execution_use_case = "tpx-default",
),
...
)

Working Directory

Tests can be run from the cell root by setting `run_from_project_root = False`.

To produce paths relative to the cell root for use by tests, use +relative_to(ctx.label.cell_root) on cmd_args.

+ + + + \ No newline at end of file diff --git a/docs/rule_authors/transitive_sets/index.html b/docs/rule_authors/transitive_sets/index.html new file mode 100644 index 0000000000000..7539633c46cf0 --- /dev/null +++ b/docs/rule_authors/transitive_sets/index.html @@ -0,0 +1,72 @@ + + + + + +Transitive Sets | Buck2 + + + + + + + + +
+

Transitive Sets

Transitive sets enable the propagation of data up dependency trees in a manner +that is both efficient in Starlark code (low cost of creation, low memory usage) +and efficient for execution by Buck (edges can be shared instead of having each +action depend directly on all its inputs).

Examples of where transitive sets are useful include:

  • Propagating transitive link-time dependencies of a library all the way to a +binary to build.
  • Propagating transitive compile-time headers.

Rule API

First, you need to declare your transitive set type, then you can use it, as +follows:

# This is the type
MySet = transitive_set()

# Those are transitive sets:
set1 = ctx.actions.tset(MySet, value = "foo")
set2 = ctx.actions.tset(MySet, value = "bar", children = [set1])

Values are optional, and so are children. This means you can have a set with no +value and sets with no children.

Projections: using transitive sets in command lines

Sets aren't useful unless you can use their contents!

To use a set in a command line, you use a concept called a 'projection', which +defines how to turn individual values found in the set into command line +arguments.

To define a projection, you write a function that takes a value of your set and +returns a command-line like object (cmd_args, string, attr.arg() +attributes, artifact, and so on) or a list of them in whichever way makes +sense for your use case.

Then, you call project_as_args to turn a set into a value suitable for +inclusion in a command line. When expanded, this projection will expand like a +list of all the node's individual projected values.

Following is an example:

# Declare the projection
def project_as_define(value: str):
return cmd_args(value, format = "-D{}")

# Add it to the set definition
MySet = transitive_set(args_projections = { "define": project_as_define })

# Create a set
set1 = ctx.actions.tset(MySet, value = "foo")
set2 = ctx.actions.tset(MySet, value = "bar", children = [set1])

# Call the projection.
# Note "define" is the key used above in `args_projections`.
args = set2.project_as_args("define")

When you use args in a command line, it will expand to -Dbar -Dfoo.

Note that creating projections is very cheap. Notably, it is independent of the +size of the set.

Projections: using transitive sets in write_json()

As with command lines, sets can form json projections to be used in write_json.

A json projection is defined in the same way as an arg projection. The function +should return a value that write_json otherwise supports. Then, you call +project_as_json to turn a set into a value that can be passed to write_json +(or can appear within the value passed to it, it doesn't need to be the +top-level value). When expanded, the projection will expand like a list of all +the node's individual projected values.

Following is an example:

# Declare the projection
def project_as_json(value: str):
return struct(key = "foo", value = value)

# Add it to the set definition
MySet = transitive_set(json_projections = { "define": project_as_json })

# Create a set
set1 = ctx.actions.tset(MySet, value = "foo")
set2 = ctx.actions.tset(MySet, value = "bar", children = [set1])

# Call the projection.
# Note "define" is the key we used above in `json_projections`.
args = set2.project_as_json("define")

Note that if your projected values include (or may include) artifacts, you will +likely want to use write_json(with_inputs=True) to get back a cmd_args that +has all the artifacts in the json structure already in its .hidden.

Traversals in depth

Transitive sets form DAGs. Notably, this means individual nodes can exist more +than once in a given transitive set.

When a transitive set is traversed, nodes that have already been visited are +skipped. This means their arguments will only be emitted once.

For example:

+flowchart TD + foo((foo)) + bar((bar)) + qux((qux)) + qux --> foo + bar --> foo + qux --> bar +
set1 = ctx.actions.tset(MySet, value = "foo")
set2 = ctx.actions.tset(MySet, value = "bar", children = [set1])
set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2])

args = set3.project_as_args("define")

This will expand to -Dqux -Dfoo -Dbar, even though set1 ("foo") shows up +twice in the DAG.

Other APIs

Transitive set reductions

You can aggregate values of a transitive set via a reduction. This can be +helpful for tasks such as propagating Boolean flags up the tree.

Following is a real-world example.

When defining a reduction, you receive the reduced values of all your children, +and an optional value for the current node (the value will be None when you +create a set and you don't pass a value), and you need to merge them together +to produce this node's value:

def link_info_has_default_filelist(children: list[bool], infos: LinkInfos | None):
if infos:
info = infos.default
if info.filelist:
return True
return any(children)

# Set of LinkInfos
LinkInfosTSet = transitive_set(
reductions = {
"has_default_filelist": link_info_has_default_filelist,
},
)

Transitive set iteration

You can iterate over a transitive set. This will yield each value once. You +can also iterate over projections.

However, note that this is generally not recommended, since unlike creating and +using a projection, this operation is O(set).

You should use this as an escape hatch if and only if you need to implement +something transitive sets don't support via projections or reductions, because +in doing so you'll lose a lot of the performance benefits.

For example:

set1 = ctx.actions.tset(MySet, value = "foo")
set2 = ctx.actions.tset(MySet, value = "bar", children = [set1])
set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2])

values = list(set3.traverse())

This will yield ["qux", "foo", "bar"].

Ordering

Transitive set iteration uses a left-to-right, pre-order traversal by default, +and ignores nodes that have already been visited. This order is reflected in +projections as well.

A few different traversal orders are supported with the ordering attribute:

OrderingDescription
preorder (default)Traverses using a depth-first-search, visiting nodes left-to-right.
postorderTraverses children left-to-right, and then visits the current node.
topologicalA Topological sort, such that nodes are listed after all nodes that have them as descendants. This is similar to a pre-order traversal, except that when nodes are shared with more than one parent it is returned in the order of its last occurrence.
bfsBreadth-first-search (BFS) traversal, traverses nodes left-to-right before traversing children.

For example:

set1 = ctx.actions.tset(MySet, value = "foo")
set2 = ctx.actions.tset(MySet, value = "bar", children = [set1])
set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2])

values = list(set3.traverse(ordering = "topological"))

# This also works for projections
args = set3.project_as_args("project", ordering = "topological"))

Following is an example of how different orderings evaluate:

+flowchart TD + foo((foo)) + bar((bar)) + qux((qux)) + qux --> foo + bar --> foo + qux --> bar +
OrderingResult
preorder["qux", "foo", "bar"]
postorder["foo", "bar", "qux"]
topological["qux", "bar", "foo"]
bfs["qux", "foo", "bar"]

Implementation details

Performance

The performance benefits of tsets arise due to:

  • Caching: projections and reductions are cached.
  • Lazy Evaluation: projection traversals are evaluated lazily.

Evaluation

Projections and reductions are evaluated eagerly for each node of your +transitive set. This means that if your projection throws an error, you'll find +out when creating a set via ctx.actions.tset.

+ + + + \ No newline at end of file diff --git a/docs/rule_authors/writing_rules/index.html b/docs/rule_authors/writing_rules/index.html new file mode 100644 index 0000000000000..e01c04cf57c34 --- /dev/null +++ b/docs/rule_authors/writing_rules/index.html @@ -0,0 +1,107 @@ + + + + + +Writing Rules | Buck2 + + + + + + + + +
+

Writing Rules

This page describes how to write rules for Buck2 and explains the flow for +implementing rules that are already defined in Buck1.

For a list of the API functions available, see the +Build APIs.

note

Rules such as @fbcode_macros//build_defs:native_rules.bzl buck_genrule are not actually rules, they are macros (Starlark functions that eventually call out the underlying genrule rule). Macros in Buck2 are mostly compatible with Buck1 and should be written in the same way.

Workflow by example

The built-in Buck2 rules are stored in the prelude folder in the buck2 repo. +To add a rule for a language, say pascal:

  1. Look at +prelude/decls +to see the attributes that are supported in Buck1 and are mirrored into +Buck2. If pascal was an existing rule, you would see what attributes it +takes (often it will be pascal_library and pascal_binary).

  2. Create a file pascal.bzl that will contain your rule implementations. The +details are explained later, but a dummy rule looks like the following:

    def pascal_binary_impl(_ctx: AnalysisContext) -> list[Provider]:
    return [DefaultInfo()]
  3. Create a directory in fbcode/buck2/tests/targets/rules/pascal with +TARGETS and whatever source files and test targets you need to test your +project. Note, Apple tests are currently located at +xplat/buck2/tests/apple/....

  4. Test your code with buck2 build fbcode//buck2/tests/targets/rules/pascal:. +They should succeed with no actual output produced.

  5. Now implement the rules (see the rest of this page).

note

Before merging a diff, it's important that all your Starlark is warning free (if you don't want to set up Buck2 for local development, test it in CI).

Concepts and design

A rule for a target uses attributes to declare actions, which produce +artifacts that get included in providers.

For example, given:

def pascal_binary_impl(ctx: AnalysisContext) -> list[Provider]:
...
binary = ctx.actions.declare_output(ctx.attrs.out)
ctx.actions.run(["pascalc", ctx.attrs.srcs, "-o", binary.as_output()])
return [
DefaultInfo(default_output = binary),
]

pascal_binary = rule(impl = pascal_binary_impl, attrs = {
"out": attrs.string(),
...
})

In the above snippet:

  • Rule is pascal_binary, which is implemented by pascal_binary_impl. The +rule says how to build things.
  • Target will be something like +fbcode//buck2/tests/targets/rules/pascal:my_binary. The rule implementation +pascal_binary_impl will be called once per target.
  • Attributes are the fields on the target (for example, you might have +out, which can be accessed via ctx.attrs.out).
  • Actions are declared by the rule with things like ctx.actions.run, which +takes a command line. Note that the actions are not run by the rule, but +declared, so that Buck2 can run them later.
  • Artifacts represent files on disk, which could be source or build outputs +(binary in the above example).
    • For build outputs, the artifact is produced by an action, and the existence +of the artifact does not imply the build has been run: the artifact +'remembers' what should be run if it is required.
  • Providers are returned, which is information that other rules get to use. +These will often contain artifacts.

The rule implementation takes in a ctx, which is the rule context. The two +most important fields are ctx.attrs, which picks up the attributes declared by +the rule, and ctx.actions, which lets you create new actions to actually do +something.

The output of any actions performed will be materialized in buck-out. However, +only the defined outputs of providers are available for dependent rules to +consume and only the actions necessary to produce those outputs being consumed +will be run. By default, the default_output of the DefaultInfo provider is +built and output during a buck build.

Providers

Providers are the data returned from a rule and are the only way that +information from this rule is available to rules that depend on it. Every rule +must return at least the DefaultInfo provider, but most will also return +either RunInfo (because they are executable) or some custom provider (because +they are incorporated into something that is ultimately executable).

The DefaultInfo provider has a field default_output, which is the file that +will be built when someone executes a buck2 build on this particular target, +and the file that will be used when someone runs $(location target) or uses it +as a source file (such as srcs = [":my_target"].)

The current rule of thumb is that if you can build the default_output, the +rule must 'work', and, if usable, should be 'ready'. For example, for a binary, +the executable and runtime libraries it depends on might be returned. For a +library, because neither the static or dynamic library is the 'default', you +merely have to do enough work to ensure that the static and dynamic library +probably work.

Similar to how DefaultInfo wraps a list of artifacts and $(location) selects +from DefaultInfo, RunInfo wraps a command line and $(exe) selects from +RunInfo.

For more information about command lines, see Run action, below.

For libraries, usually you need to pass some information about the library up to +the binary. The only information that dependents on the library get are the +providers, so designing the information that flows around the provider is +critical to designing good rules.

For a hypothetical rule, you may decide you want the name of the library and the +artifact that represents the .so file, for which you could define the +following provider:

PascalLibraryInfo = provider(fields=[
"name", # The name of the library
"object" # An artifact, the .so file that needs linking in
]
)

Often, you'll grab your dependencies from all your providers:

my_deps = [x[PascalLibraryInfo] for x in ctx.attrs.deps]

In many cases, it becomes apparent you need the transitive closure of all +libraries (for example, the libraries and everything they depend upon), in which +case, the standard pattern is to move to a provider of a list of record (see +the +types.md +document in GitHub) and the flatten/dedupe functions, defining it as:

PascalLibraryInfo = provider(fields=["links"]) # a list of LinkData

LinkData = record(name = str, object = "artifact")

And then consuming it:

my_links = dedupe(flatten([x[PascalLibraryInfo].links for x in ctx.attrs.deps]))
my_info = PascalLibraryInfo(links = my_links)

However, this flatten/dupe pattern can get expensive, especially when you +have a deep dependency graph. To fix that it's recommended to use +transitive sets.

Actions

There are several actions you can use to create symlink trees, and so on.

Run action

Of the various actions, the run action is by far the most important: it's the +one that invokes a command line.

A command line is both a list of string arguments and a list of artifacts they +depend on; with syntactic niceties for adding artifacts to command lines in a +way that ensures the dependencies are usually correct.

Following are examples of command line manipulations:

cmd = cmd_args(["some", "arguments"])
cmd.add("another-arg")
cmd.add(ctx.attrs.src) # An input artifact
out = ctx.actions.declare_output("an output")
cmd.add(out.as_output())
ctx.actions.run(cmd)

The action declare_output creates a new artifact which is not bound to +anything. You can call .as_output() on it when adding it to a command line to +say that this command line doesn't take the artifact as an input but produces it +as an output.

From now on, if out is used as a dependency (either to another command line, +or in DefaultInfo) then the action will be run to produce that artifact. +Typically, these outputs are declared (declare_output), bound in a +ctx.actions.run call with .as_output(), then either used locally as the +input to another action or returned in a provider.

As another example:

cmd = cmd_args(["cp", input, output.as_output()])
ctx.actions.run(cmd)

A command provides both a string (what to write when used) and a list of +artifacts (what must be available when used). Normally, as in the case above, +the artifacts that are used correspond to those on the command line. But imagine +the rule is changed to write the command to a shell script first:

sh = ctx.actions.write("test.sh", ["cp", input, output])
cmd = cmd_args(["sh",sh],hidden=[input, output.as_output()])
ctx.actions.run(cmd)

The command has been written to a shell script, which is now run. Beforehand, +all the artifacts used by the command appeared on the command line. Now they +don't. However, the shell script still accesses input and output. To inform the +run command, use the hidden field of the command line to declare the dependency.

For more complicated actions, which perform meaningful logic beyond invoking a +simple command, the tendency is to write custom Python scripts. Python scripts +are used instead of shell scripts as they have better cross-platform +compatibility and fewer hidden corners (especially in error paths).

As an example of a Python helper, see +make_comp_db.py.

A further advantage of using Python is that these commands can be tested in +isolation, outside of Buck2.

Debugging

The functions fail, print and pprint are your friends. To get started, a +buck2 build fbcode//buck2/tests/targets/rules/pascal: builds everything or +buck2 run fbcode//buck2/tests/targets/rules/pascal:my_binary runs a specific +binary that returns a RunInfo.

Testing Rules

A common way to test is to use genrule to cause the produced binary to run and +assert some properties from it. If your rule is in Buck1 and Buck2, use a +TARGETS file so you can test with both. If your tests are incompatible with +Buck1 (such as if it is a new rule), use TARGETS.v2, which will only be seen +by Buck2 and won't cause errors with Buck1.

New rules

If your rule is not already in Buck1, then you can define it wherever you +like, with a preference for it not being in fbcode/buck2/prelude.

The only advantage of the prelude is that rules can be used without a +corresponding load, which is generally considered a misfeature. The attributes +should usually be placed adjacent to the rule itself.

As an example, just below the pascal_binary_impl function, you could write:

pascal_binary = rule(
impl = pascal_binary_impl,
attrs = {
"deps": attrs.list(attrs.dep()),
"src": attrs.source(),
}
)
+ + + + \ No newline at end of file diff --git a/docs/users/advanced/deferred_materialization/index.html b/docs/users/advanced/deferred_materialization/index.html new file mode 100644 index 0000000000000..09e16a58ef59b --- /dev/null +++ b/docs/users/advanced/deferred_materialization/index.html @@ -0,0 +1,48 @@ + + + + + +Deferred Materialization | Buck2 + + + + + + + + +
+

Deferred Materialization

When using Remote Execution, Buck2 can optionally +operate with Deferred Materialization, which means that Buck2 will avoid +downloading outputs until they are required by a local action.

This can provide very substantial performance savings on builds that execute +primarily on Remote Execution, since those builds become able to proceed without +ever downloading any intermediary outputs.

At Meta, despite very fast networks being used internally, this was was observed +to make real-world builds finish approximately 2.5 times faster.

Pitfalls

Buck2's deferred materialization makes assumptions about your Remote Execution +backend. In particular, it expects that the TTL returned from action cache +entries by your Remote Execution backend always exceeds the TTL of all output +artifacts it references.

Nonetheless, artifacts may also eventually expire from your Remote Execution +backend. When that happens, builds using Deferred Materialization may fail if +those artifacts are needed locally.

A kill is necessary to recover from those builds. However, the +Restarter can be used to mitigate this issue by restarting Buck2 +daemon when it encounters an expired artifact.

At Meta, artifacts get periodically refreshed, but open source RE backends do not expose the TTL of artifacts, so this feature does not work outside of Meta.

Enabling Deferred Materialization

To enable deferred materialization, add this to your +Buckconfig:

[buck2]
materializations = deferred

On-disk state

Buck2 can also optionally track its state on disk in a SQLite database. This +allows Buck2 to remember what files are on disk across restarts.

This can allow Buck2 to avoid re-downloading outputs from your Remote Execution +backend if they are already on disk.

To enable, add this to your Buckconfig:

[buck2]
sqlite_materializer_state = true

Deferring Write Actions

To further speedup builds, Buck2 can also be instructed to not execute any +writes on the critical path for a build.

To enable, add this to your Buckconfig:

[buck2]
defer_write_actions = true

This mechanism is recommended if you're using the On-disk State, since it means +Buck can omit writes entirely if the same content is already on disk.

buck2 clean --stale

The deferred materializer can be configured to continuously delete stale +artifacts, that haven't been recently accessed, or untracked artifacts, that +exist in buck-out but not in the materalizer state.

Unlike buck2 clean this does not fully wipe buck-out but it should not +negatively impact build performance if you are building and rebasing regularly.

Enabling this requires enabling on-disk state and +deferred write actions, and adding this to your +Buckconfig:

[buck2]
clean_stale_enabled = true

It can be further configured by changing these default values:

[buck2]
# one week
clean_stale_artifact_ttl_hours = 24 * 7
clean_stale_period_hours = 24
clean_stale_start_offset_hours = 12
  • clean_stale_start_offset_hours determines the time following daemon start up +before the first clean will be scheduled.
  • clean_stale_period_hours determines how frequently to schedule recurring +clean events.
  • clean_stale_artifact_ttl_hours determines how long artifacts should be kept +in buck-out before cleaning them.

If clean stale is running in the background at the same time that a build begins +to materialize artifacts, the clean will be interrupted and not run again until +after the next scheduled period, but it should be able to make gradual progress +and prevent long term accumulation of artifacts.

If needed, a clean can be manually triggered by calling buck2 clean --stale.

+ + + + \ No newline at end of file diff --git a/docs/users/advanced/external_cells/index.html b/docs/users/advanced/external_cells/index.html new file mode 100644 index 0000000000000..62f7b14fb00c2 --- /dev/null +++ b/docs/users/advanced/external_cells/index.html @@ -0,0 +1,49 @@ + + + + + +External Cells | Buck2 + + + + + + + + +
+

External Cells

Normally, buck2 requires source files to be checked into the repo. However, this +is sometimes inconvenient. It makes distribution of the prelude hard, and users +may want to pull in third party dependencies without vendoring them or using +source control tricks.

To help support these use cases, buck2 has a concept of "external cells." +External cells act much like normal cells, except that instead of having their +source files checked into the repo, the source files have some alternative +origin.

Setting up an external cell

Configuring an external cell looks much like configuring a regular cell. First, +add the cell to the cells section of your .buckconfig like normal:

[cells]
prelude = some/path

The external cell's files won't actually be generated in the repo. However, you +still need to provide a path for it - this path influences the handling of tree +files, since those cross cell boundaries. It's also used for +expand-external-cells, more on that below.

Next, add an entry to the external_cells buckconfig section that specifies the +"origin" of the external cell given an alias. This tells buck2 where you want to +get the cell from, if not files in the source repo.

[external_cells]
prelude = bundled

For the bundled origin, that's it. Other origins may require additional +configuration.

Origins

Buck2 currently supports two external cell origins, bundled and git.

The bundled origin

The bundled origin can only be used with the prelude cell, and provides access +to a copy of the prelude that is bundled as part of the buck2 binary. This is +useful as an easier-to-install alternative to vendoring or submoduling the +prelude.

The git origin

The git origin indicates that an external cell's content should be loaded from +some git repo. It accepts two additional configuration parameters, git_origin +and commit, like this:

[cells]
root = .
libfoo = libfoo

[external_cells]
libfoo = git

[external_cell_libfoo]
git_origin = https://github.com/facebook/foo
commit_hash = <sha1sum>

The commit_hash value must be a sha1, it cannot be eg a branch name.

Expanding external cells

Because external cells only represent a different way to access source files, +buck2 provides an expand-external-cell command. This command will make a copy +of the external cell into the path in the repo you specified for your cell. By +commenting out the external_cells buckconfig entry, this allows you to make +direct edits to the cell's files in your repo.

Details & Limitations

  • External cells can only be configured in the project root's .buckconfig. +This also means that there is no support for "transitive" external cells, ie +an external cell cannot specify additional external cells to pull in.

  • External cells cannot have nested cells inside them.

  • The cells buckconfig section of external cells is ignored. This is done to +ensure that when using an external cell to access some dependency in a git +repo, that git repo can still be an independently building project that +specifies its own toolchain and prelude configuration.

    Because of this difference between external and non-external cells, it's +possible that running buck2 expand-external-cell may not produce a working +cell immediately, but instead require you to delete the cells section first.

    cell_aliases still work just like with regular cells.

+ + + + \ No newline at end of file diff --git a/docs/users/advanced/in_memory_cache/index.html b/docs/users/advanced/in_memory_cache/index.html new file mode 100644 index 0000000000000..f570833521404 --- /dev/null +++ b/docs/users/advanced/in_memory_cache/index.html @@ -0,0 +1,25 @@ + + + + + +In Memory Cache | Buck2 + + + + + + + + +
+

In Memory Cache

Buck2 can maintain an in-memory cache of actions it executed. This allows +actions to skip re-running even when they are (transitively) affected by file +changes.

Enabling the in-memory cache

This feature requires enabling +Deferred Materialization first. This is necessary +so that Buck2 knows what's on disk. This requirement might go away once we +decouple keeping track of what's on disk and deferred materialization.

Once done, to enable, add this to your Buckconfig:

[buck2]
hash_all_commands = true
+ + + + \ No newline at end of file diff --git a/docs/users/advanced/restarter/index.html b/docs/users/advanced/restarter/index.html new file mode 100644 index 0000000000000..da0cf327690a6 --- /dev/null +++ b/docs/users/advanced/restarter/index.html @@ -0,0 +1,24 @@ + + + + + +Restarter | Buck2 + + + + + + + + +
+

Restarter

The Restarter can automatically restart Buck2 when Buck2 detects that it hit a +condition that may be recovered by restarting the Buck2 daemon.

This is particularly useful with +Deferred Materialization, which may require a +daemon restart if your daemon holds references to artifacts that have expired in +your Remote Execution backend.

Enabling the Restarter

To enable, add this to your Buckconfig:

[buck2]
restarter = true
+ + + + \ No newline at end of file diff --git a/docs/users/build_observability/build_report/index.html b/docs/users/build_observability/build_report/index.html new file mode 100644 index 0000000000000..abe8c1da2184d --- /dev/null +++ b/docs/users/build_observability/build_report/index.html @@ -0,0 +1,47 @@ + + + + + +Build Report | Buck2 + + + + + + + + +
+

Build Report

The build report is a JSON file that you can ask buck to output which contains +structured information about the result of your build. It is particularly +valuable for its reporting of unsuccessful outcomes in addition to +successful ones; usually, most use cases that only need to care about +successful outcomes are well served by direct usage of the CLI.

To request a build report, pass --build-report <path> to buck build on the +CLI.

At a high level, the build report outputs information for each of the targets +that you requested to have built on the CLI. As a result, it may report +information for more than one configuration or subtarget of a target. For +example, this can happen if you passed --target-platforms or built :target +and :target[sub].

Schema

BuildReport {
# A unique ID identifying this buck invocation. Currently a UUID, however
# that may change in the future.
trace_id: str,

# True if all requested targets built successfully
success: bool,

# The absolute path to the project root
project_root: Path,

# The results of the build, categorized by unconfigured target
results: dict[TargetLabel, BuildReportEntry],

# A cache for error message lookup. This is meant for deduplicating strings
# that might otherwise appear many times in the build report and cause an
# unnecessary size increase. They keys are used in other fields in the build
# report in reference to these strings.
strings: dict[str, str],

# BUCK1 BACKCOMPAT ONLY!
#
# Currently always empty. Will be filled in if a flag is passed in the future.
#
# A map from targets that failed to build to error messages describing the
# failure.
failures: dict[TargetLabel, str],
}

BuildReportEntry {
# The results of building the target in the given configurations
configured: dict[Configuration, ConfiguredBuildReportEntry],

# Errors encountered while building this target.
#
# Note that this does not include the errors that are found within the
# `ConfiguredBuildReportEntry`s. Instead, it includes additional errors
# which could not be associated with a specific configuration of the
# target, typically because they occurred before the target could be
# configured.
errors: list[Error],

# BUCK1 BACKCOMPAT ONLY!
#
# The two fields below are included for buck1 backwards compatibility only.
# They are both computed by aggregating across all the configured targets in
# the way you might expect.
success: "FAIL" | "SUCCESS,
outputs: dict[str, list[Path]],

# The path to the package containing this target, relative to the project
# root. This is the source code location for this target.
package_project_relative_path: Optional[str]
}

ConfiguredBuildReportEntry {
# Did this target build successfully or not?
success: "FAIL" | "SUCCESS,

# A map of subtargets that were built to a list of the successfully built
# outputs for that subtarget.
#
# The keys are generated by joining the subtargets with a `|`. For example,
# if you request to have `:target` and `:target[foo][bar]` built on the CLI,
# this list will contain one entry for `""` and one for `"foo|bar"`.
outputs: dict[str, list[Path]],

# The number of targets in the configured dependency graph of this target.
#
# This is only included if `-c buck2.log_configured_graph_size=true` is set.
# Otherwise, it is left as None.
configured_graph_size: Optional[uint],
}

Error {
# The stringified hash of the same stringified error message that is shown to the user on the
# console. The hash is stored as the key in the `strings` cache of the `BuildReport`
message_content: str,

# Structured action error. Present only if the error was actually an action error
action_error: Optional[ActionError],

# An index that can be used to detect duplicate errors. Two errors with the
# same cause index have the same cause. Note that that does not mean that
# they have the same error message.
cause_index: uint,
}

ActionError {
# The action key
key: ActionKey,

# The action name
name: ActionName,

# Digest of the action
digest: str,

# Stringified hash of the stderr of the action
stderr: str,

# Stringified hash of the stdout of the action
stdout: str,

# Stringified hash of the same stringified error message that is provided by the action
error: str,

# Optional list of error categorizations provided by an error handler which is invoked
# in the event of a failed action, or an error message if the error handler failed.
error_diagnostics: Optional[ActionErrorDiagnostics],
}

ActionKey {
# The configured target, anon target, or bxl function which owns this action
owner: str,
}

ActionName {
# The category of the action
category: str,

# The optional identifier of the action
identifier: Optional[str],
}

enum ActionErrorDiagnostics {
# The list of sub errors if the error handler succeeded
sub_errors: list[ActionSubError],

# The stringified hash of the error message if the error handler failed
handler_invocation_error: String,
}

ActionSubError {
# Name of the error category. The category should be finer grain error categorizations
# provided by the rule authors, and tend to be language specific. These should not be
# any kind of shared concepts among all errors for all languages/rules. For example,
# timeouts and infra errors should not go here - buck2 tries to categorize these types
# of errors automatically. An example of a finer grain error category may be the error
# code for rustc outputs.
category: str,

# The stringified hash of the extra message provided for the specific sub-error category.
message_content: str,

# List of error locations, if any
locations: Optional[list[ActionErrorLocation]],
}

ActionErrorLocation {
# File path where the error appeared, preferrably either project-relative or absolute.
file: str,

# Optional line number
line: Optional[u64]
}

On Compatibility

The format of the build report is generally stable. However, note that new +fields may be added at any time, and you should ensure this does not cause your +parsing to fail.

A number of fields above are marked as being for buck1 backwards compatibility +only. These fields all have superior alternatives available in the build report +already. We would strongly prefer that new code neither use nor parse them, as +this increases the likelyhood that they can be removed one day.

The build report additionally outputs a few fields that are intentionally not +documented here. Those fields are even less useful than ones documented as being +for backwards compatibility only, and even closer to removal. Please avoid +using or parsing these if at all possible.

Limitations

The build report currently has at least the following limitations:

  1. It includes only one action error per failed target. This is the expected +behavior when --keep-going is not passed, but when --keep-going is +passed, this is a bug.
  2. It is currently not generated when a non-existant package is specified on +the command line. This is also a bug.
  3. It cannot be requested for any buck2 command other than build
  4. Errors do not contain any additional metadata outside of the error message. +This will be made available as such metadata is available in buck2.
  5. The "failures" field is always empty. This will be changed under a +backcompat opt-in flag in the future.

Finally, it's worth raising that the concept of error deduplication has some +fundamental limitations; if two targets both refer to the same non-existant +dependency, do those errors have the same cause (the dependency doesn't exist) +or different causes (each target is individually broken)? As a result, the exact +details of when two errors are considered to have the same cause are not +generally stable, and may not always be what you expect.

+ + + + \ No newline at end of file diff --git a/docs/users/build_observability/interactive_console/index.html b/docs/users/build_observability/interactive_console/index.html new file mode 100644 index 0000000000000..8016e0412895c --- /dev/null +++ b/docs/users/build_observability/interactive_console/index.html @@ -0,0 +1,44 @@ + + + + + +Buck2 Consoles | Buck2 + + + + + + + + +
+

Buck2 Consoles

Buck2 offers several console types for build-like commands (e.g. build, +install, test, etc.). The console is always written to stderr.

The console can be specified via the --console flag, or the BUCK_CONSOLE env +variable. The default console type is auto. Supported --console types:

  • auto - Default console type. Auto defaults to the superconsole if the stderr +is a TTY. Otherwise will uses simple console
  • simple - Build a simpleconsole with TTY, if TTY is supported by the OS. See +Simpleconsole
  • simplenotty - Build a simpleconsole without TTY. See +Simpleconsole
  • simpletty - Build a simpleconsole with TTY. See +Simpleconsole
  • super - Build a superconsole regardless of whether stderr is a TTY. See +Superconsole
  • none - See No console

If simplenotty or none are specified, or if TTY is not supported by the OS, +then we strip out any color within the error messages.

All console options will output the build result, whether succeeded or not, to +stdout. Note that action execution stderr is hidden if the build succeeded.

The simple and superconsole will also print metadata about the build itself, +such as the Buck2 UUID, the percentage of cache hits, and the number of action +commands ran. In addition, they will print the event spans detected within the +build.

Simpleconsole

The simpleconsole prints the stdout/stderr messages and event spans, line by +line. There is no resource usage telemetry emitted.

Demo

Simpleconsole running a build

Superconsole

The superconsole uses the +superconsole library to +provide an interactive console which shows the event spans going on within +Buck2.

Demo

Superconsole running a build

Toggles

The superconsole also provides several toggles to inspect ongoing Buck2 +telemetry.

To see what's available you can press ? or h. This will work as long as +stdin is a TTY, which will be true most of the time if you're not piping +anything into Buck2. To disable to allow alternate use of stdin, or for follow +up pasted commands to not get swallowed, you can set the +BUCK_NO_INTERACTIVE_CONSOLE environment variable, or use the flag +--no-interactive-console.

We support the following toggles:

  • c - toggle commands (shown in superconsole by default)
  • d - toggle DICE key states
  • e - toggle debugging events, such as spans and instant event counts
  • 2 - toggle two lines mode when showing events
  • r - toggle detailed remote execution info, such as uploads, downloads, and +action cache calls
  • i - toggle I/O counters
  • p - display target configurations
  • + - show more lines
  • - - show fewer lines
  • h - show help

Note: Not available yet for Windows

No console

When specifying the none console type, Buck2 will only print if the build +succeeded, or the error if the build failed.

+ + + + \ No newline at end of file diff --git a/docs/users/build_observability/logging/index.html b/docs/users/build_observability/logging/index.html new file mode 100644 index 0000000000000..020acfa0747b5 --- /dev/null +++ b/docs/users/build_observability/logging/index.html @@ -0,0 +1,32 @@ + + + + + +Logging | Buck2 + + + + + + + + +
+

Logging

Buck2 produces detailed event logs for each invocation, which follow a schema +outlined in app/buck2_data/data.proto in the buck2 parent directory. The event +logs that Buck2 produces automatically are always in protobuf zstd-compressed +format (see Viewing the event log for more details).

Event log format

Warning: the schemas are all subject to change, so we do not recommend relying +on the format. For the source of truth, take a look at data.proto.

Invocation header

The first line of the event log is always the Invocation header:

Invocation {
# CLI args split into a list of strings
command_line_args: List[str],
# Expanded CLI args, which expand any argsfiles
expanded_command_line_args: List[str],
# Absolute path of the current working directory of the Buck2 command
working_dir: str,
# UUID of the Buck2 command
trace_id: str,
}

The last line is always the CommandResult:

Result {
# One of the result types of CommandResult protobuf type in data.proto
result: BuildResponse | CqueryResponse | BxlResponse | ...,
}

Buck events

The rest of the event log contain BuckEvents, which are either +SpanStartEvents, SpanEndEvents, or InstantEvents.

The BuckEvent format is roughly as follows:

Event {
# When the event was fired. This is always a 2-item list, where the first
# value is millis, second value is micros
timestamp: List[u64],
# UUID of the Buck2 command, same one as the invocation header
trace_id: str,
# A trace-unique 64-bit integer identifying this event's span ID,
# if this event begins a new span or belongs to one.
span_id: u64,
# A trace-unique 64-bit identifying the span that this event is logically
# parented to.
parent_id: u64,
# See sections below for more details
data: SpanStart | SpanEnd | Instant,
}

Span starts

The SpanStartEvent indicates that a span of work starting:

SpanStart {
# One of the data types of SpanStartEvent protobuf type in data.proto
data: AnalysisStart | ActionExecutionStart | ...,
}

Span ends

The SpanEndEvent indicates that a span of work has finished:

SpanEnd {
# Duration of the span
duration_us: u64,
# CPU poll times for this span
stats: SpanStats,
# One of the data types of SpanEndEvent protobuf type in data.proto
data: AnalysisEnd | ActionExecutionEnd | ...,
}

# CPU poll times for this span
SpanStats {
max_poll_time_us: u64,
total_poll_time_us: u64,
}

Instant events

The InstantEvent represents a single point in time:

InstantEvent {
# One of the data types of InstantEvent protobuf type in data.proto
data: ConsoleMessage | ActionError | ...,
}

One specific instant event type that may be of interest is the SnapShot event, +which includes some interesting details like RSS, CPU, I/O, remote execution, +and DICE metrics.

Viewing the event log

Event logs can be accessed using commands under buck2 log show, which outputs +the event logs in JSONL format. You can run buck2 log show --help to see all +available options. Some useful commands:

  • Show the logs for the most recent Buck2 command:
buck2 log show
  • Show the logs for a specific Buck2 command, given the command's UUID:
buck2 log show --trace-id <UUID>
  • Show the logs for a recent Buck2 command:
buck2 log show --recent <NUMBER>

The JSON schema is derived from the protobuf types, and the log itself could be +quite large. jq can be useful to find specific +things. For example, this jq script shows the max event delay between a snapshot +event creation on the daemon side, and when the client receives it.

buck2 log show | jq -s '
map(
.Event.data.Instant.data.Snapshot.this_event_client_delay_ms
| select(. != null)
) | max'
+ + + + \ No newline at end of file diff --git a/docs/users/cheat_sheet/index.html b/docs/users/cheat_sheet/index.html new file mode 100644 index 0000000000000..f8c00860a9415 --- /dev/null +++ b/docs/users/cheat_sheet/index.html @@ -0,0 +1,59 @@ + + + + + +Cheat Sheet | Buck2 + + + + + + + + +
+

Buck2 Cheat Sheet

This section provides example command lines that you can use to obtain +information about Buck2 and about your build. These techniques can help you to +understand how your build works and to troubleshoot issues with your build. +These examples use the buck2 cquery command. We recommend +cquery over uquery in most cases because cquery operates on the configured +graph, which means that targets have had the expected configurations applied on +them.


  • How do I find all the targets for a package?
  • How do I specify more than one target to buck2 cquery?
  • How do I get the attribute names and values for the targets that result from a +query?
  • How do I perform a query inside of a rule?
  • How do I find the dependencies for a target, that is, the targets on which a +specified target depends?
  • How do I find the reverse-dependencies for a target, that is, the targets that +depend on a specified target?
  • How do I find the build file that contains the target that owns a source file?

How do I find all the targets for a package?

Specify a build target pattern that represents the targets in the package.

buck2 cquery //path/to/dir/...

The buck2 cquery command can accept a +build target pattern as a parameter. If you +specify a build target pattern, Buck2 evaluates this pattern and shows all the +build targets that match it.

How do I specify more than one target to buck2 cquery?

Use the buck2 cquery set() operator. The following command line returns the +target main in the build file in the root of the Buck2 project and all the +targets from the build file in the myclass subdirectory of the root.

buck2 cquery "set( '//:main' '//myclass:' )"

How do I get the attribute names and values for the targets returned by a query?

Add the --output-attribute <ATTRIBUTE> or --output-all-attributes option to +the command line, followed by regular expressions that represent the attributes +of interest.

buck2 cquery "deps(//foo:bar)" --output-attribute 'name' 'exported_headers'

The --output-attribute option enables you to specify which attributes Buck2 +should return. Instead of returning the names of the targets that match the +query expression, Buck2 returns the names and values of the specified attributes +for those targets in JSON format. Attributes are specified as regular +expressions. For example, '.*' matches all attributes. See the +buck2 cquery docs for more details. The output for the +example query above might look something like the following.

{"//foo/bar/lib:lib" : {"exported_headers" : [ "App/util.h" ],"name" : "lib"},"//foo/bar:app" : {"exported_headers" : [ "App/lib.h" ],"name" : "app"}}

How do I perform a query *inside* of a rule?

Buck2 supports certain string parameter macros to be used when defining a +target. You can use the query macros as such:

$(query_targets "queryfunction(//:foo)")
$(query_outputs "queryfunction(//:foo)")
$(query_targets_and_outputs [SEPARATOR] "queryfunction(//:foo)")

Note, however, that the query macros are supported only for +genrule and +apk_genrule.

How do I find the dependencies for a target?

Use the deps() operator.

buck2 cquery "deps('//foo:bar')"
buck2 cquery "deps('//foo:bar', 1, first_order_deps())"
buck2 cquery "deps(set('//foo:bar' '//foo:lib' '//foo/baz:util'))"

The deps operator finds the dependencies of the specified targets. The first +argument represents the targets of interest. This can be a single +build target or +build target pattern, or a set of these. The +optional second argument is the depth of the search for dependencies from the +specified targets. For example, 1, as shown in the example above, returns only +the direct dependencies. If you do not provide this argument, the output is the +complete set of transitive dependencies. How do I find the reverse-dependencies +for a target, that is, the targets that *depend on* a specified +target? Use the buck2 cquery rdeps() (reverse dependencies) operator. The +following example, returns the targets in the +transitive closure of +//foo:bar that depend directly on //example:baz.

buck2 cquery "rdeps('//foo:bar', '//example:baz', 1)"

How do I find the buildfile that contains the target that owns a source file?

In order to find the build file associated with a source file, combine the +owner operator with buildfile. For example,

buck2 cquery "buildfile(owner('foo/bar/main.cpp'))"

first finds the targets that own foo/bar/main.cpp and then returns the build +files, such as foo/bar/BUCK, that define those targets.

+ + + + \ No newline at end of file diff --git a/docs/users/commands/aquery/index.html b/docs/users/commands/aquery/index.html new file mode 100644 index 0000000000000..dbbc65c81270f --- /dev/null +++ b/docs/users/commands/aquery/index.html @@ -0,0 +1,20 @@ + + + + + +aquery | Buck2 + + + + + + + + +
+

aquery

These are the flags/commands under buck2 aquery and their --help output:

buck aquery

Perform queries on the action graph (experimental)

The action graph consists of all the declared actions for a build,
with dependencies when one action consumes the outputs of another
action.

Run `buck2 docs aquery` or
https://buck2.build/docs/users/query/aquery/
for more documentation about the functions available in aquery
expressions.

Examples:

Print the action producing a target's default output

`buck2 aquery //java/com/example/app:amazing`

List all the commands for run actions for building a target

`buck2 aquery 'kind(run, deps("//java/com/example/app:amazing+more"))' --output-attribute=cmd`

Dynamic outputs (`ctx.actions.dynamic_output`):

Currently, aquery interacts poorly with dynamic outputs. It may
return incorrect results or otherwise behave unexpectedly.

Usage: buck2-release aquery [OPTIONS] <QUERY> [QUERY_ARGS]...

Arguments:
<QUERY>
the query to evaluate

[QUERY_ARGS]...
list of literals for a multi-query (one containing `%s` or `%Ss`)

Options:
-A, --output-all-attributes
Output all attributes, equivalent of --output-attribute ''.

Avoid using this flag in automation because it may be expensive to produce certain
attributes, and because it makes harder to track which special attributes are used.

-B, --output-basic-attributes
Output basic attributes, namely those the user can supply, plus rule type and package name

-a, --output-attribute <ATTRIBUTE>
Regular expressions to match attributes. Regular expressions are used in "search" mode, so
for example empty string matches all attributes including special attributes.

When using in automation, please specify the regular expression to match the attribute
precisely, for example `--output-attribute '^headers$'` to make it easier to track which
special attributes are used.

--output-attributes <ATTRIBUTE>...
Deprecated: Use `--output-attribute` instead.

List of space-separated attributes to output, --output-attributes attr1 attr2.

--json
Output in JSON format

--dot
Output in Graphviz Dot format

--dot-compact
Output in a more compact format than Graphviz Dot

--output-format <dot|dot_compact|json|starlark>
Output format (default: list).

dot - dot graph format.

dot_compact - compact alternative to dot format.

json - JSON format.

starlark - targets are printed like starlark code that would produce them.


[possible values: dot, json, dot_compact, starlark]

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/audit/index.html b/docs/users/commands/audit/index.html new file mode 100644 index 0000000000000..58539abd2a326 --- /dev/null +++ b/docs/users/commands/audit/index.html @@ -0,0 +1,20 @@ + + + + + +audit | Buck2 + + + + + + + + +
+

audit

These are the flags/commands under buck2 audit and their --help output:

buck audit

Perform lower level queries

Usage: buck2-release audit [OPTIONS] <COMMAND>

Commands:
cell Query information about the [cells] list in .buckconfig.
classpath Prints out a target's classpaths if it has one.
This command is deprecated and currently available for
compatibility with buck1.
We will replace this command with something that can audit the
entire `TemplatePlaceholderInfo` in the future.
config buck audit config
configurations prints the constraints for configuration IDs
includes list build file extensions imported at parse time.
prelude print the interpreter prelude to stdout
providers prints out the providers for a target pattern
subtargets Print all subtargets
analysis-queries buck audit analysis resolving query attrs
execution-platform-resolution prints out information about execution platform resolution
visibility Verify the visibility for transitive deps of the specified
target(s) on the unconfigured target graph
starlark Debug Starlark interpreter
dep-files prints out the select files for a command
deferred-materializer Access and interact with the deferred materializer
output Query the action that produced the output artifact. Does not
support BXL, test, scratch, or anon artifacts. If the configuration
hash of the output path does not match the current platform
configuration, the unconfigured target label will be returned.
parse Parses the buck-out path into parts that may be useful (ex: config
hash, file path to artifact).
package-values Inspect package values
help Print this message or the help of the given subcommand(s)

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit cell

Query information about the [cells] list in .buckconfig.

Usage: buck2-release audit cell [OPTIONS] [CELL_ALIASES]...

Arguments:
[CELL_ALIASES]...
Cell aliases to query. These aliases will be resolved in the working directory cell.

Options:
--json
Output in JSON format

--paths-only
Don't include the cell name in the output

--aliases
If enabled and no explicit aliases are passed, will query for all aliases in the working
directory cell.

--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit classpath

Prints out a target's classpaths if it has one.
This command is deprecated and currently available for compatibility with buck1.
We will replace this command with something that can audit the entire `TemplatePlaceholderInfo`
in the future.

Usage: buck2-release audit classpath [OPTIONS] [TARGET_PATTERNS]...

Arguments:
[TARGET_PATTERNS]...
Target patterns to audit

Options:
--json
Output in JSON format

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit config

buck audit config

Usage: buck2-release audit config [OPTIONS] [SPECS]...

Arguments:
[SPECS]...
config section/key specs of the form `section` or `section.key`. If any specs are
provided, only values matching a spec will be printed (section headers will be printed
only for sections with a key matching the spec)

Options:
--cell <CELL>


--all-cells
Produce information for all cells that Buck2 knows about

--output-format <OUTPUT_FORMAT>
[possible values: simple, json]

--json


--location <LOCATION_STYLE>
[default: none]
[possible values: none, direct, extended]

--value <VALUE_STYLE>
[default: resolved]
[possible values: resolved, raw, both]

--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit configurations

prints the constraints for configuration IDs

Usage: buck2-release audit configurations [OPTIONS] [configurations]...

Arguments:
[configurations]...
configurations to audit (example: `cell//package:target-105fe3389fc7e436`). If none
provided, will print information about all known configurations.

Options:
--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit includes

list build file extensions imported at parse time.

Usage: buck2-release audit includes [OPTIONS] [BUILD_FILES]...

Arguments:
[BUILD_FILES]...
Build files to audit. These are expected to be relative paths from the working dir cell.

Options:
--json
Print json representation of outputs

--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit prelude

print the interpreter prelude to stdout

Usage: buck2-release audit prelude [OPTIONS]

Options:
--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit providers

prints out the providers for a target pattern

Usage: buck2-release audit providers [OPTIONS] <TARGET_PATTERNS>...

Arguments:
<TARGET_PATTERNS>...
Patterns to analyze

Options:
--quiet


-l, --list
List the available providers

--print-debug
Print the providers using debug format (very verbose)

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
-u, --target-universe <TARGET_UNIVERSE>
Comma separated list of targets to construct a configured target universe.

When the option is specified, command targets are be resolved in this universe.
Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the
universe targets, not the command targets.

This argument is particularly recommended on most non-trivial cqueries. In the absence of
this argument, buck2 will use the target literals in your cquery expression as the value
for
this argument, which may not be what you want.

--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit subtargets

Print all subtargets

Usage: buck2-release audit subtargets [OPTIONS] <TARGET_PATTERNS>...

Arguments:
<TARGET_PATTERNS>...
Patterns to analyze

Options:
--shallow
Do not recursively print all nested subtargets; print only the first level. This is set to
false by default

--json
Print subtargets as JSON

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
-u, --target-universe <TARGET_UNIVERSE>
Comma separated list of targets to construct a configured target universe.

When the option is specified, command targets are be resolved in this universe.
Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the
universe targets, not the command targets.

This argument is particularly recommended on most non-trivial cqueries. In the absence of
this argument, buck2 will use the target literals in your cquery expression as the value
for
this argument, which may not be what you want.

--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit analysis-queries

buck audit analysis resolving query attrs

Usage: buck2-release audit analysis-queries [OPTIONS] [TARGET_PATTERNS]...

Arguments:
[TARGET_PATTERNS]...
Patterns to evaluate. The query attributes for targets matching these patterns will be
evaluated

Options:
--include-outputs
Enable to print the outputs for the targets in the resolved queries

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
-u, --target-universe <TARGET_UNIVERSE>
Comma separated list of targets to construct a configured target universe.

When the option is specified, command targets are be resolved in this universe.
Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the
universe targets, not the command targets.

This argument is particularly recommended on most non-trivial cqueries. In the absence of
this argument, buck2 will use the target literals in your cquery expression as the value
for
this argument, which may not be what you want.

--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit execution-platform-resolution

prints out information about execution platform resolution

Usage: buck2-release audit execution-platform-resolution [OPTIONS] [TARGET_PATTERNS]...

Arguments:
[TARGET_PATTERNS]...
Patterns to analyze

Options:
-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
-u, --target-universe <TARGET_UNIVERSE>
Comma separated list of targets to construct a configured target universe.

When the option is specified, command targets are be resolved in this universe.
Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the
universe targets, not the command targets.

This argument is particularly recommended on most non-trivial cqueries. In the absence of
this argument, buck2 will use the target literals in your cquery expression as the value
for
this argument, which may not be what you want.

--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit visibility

Verify the visibility for transitive deps of the specified target(s) on the unconfigured target
graph

Usage: buck2-release audit visibility [OPTIONS] [TARGET_PATTERNS]...

Arguments:
[TARGET_PATTERNS]...
Target pattern(s) to analyze.

Options:
--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit starlark

Debug Starlark interpreter

Usage: buck2-release audit starlark [OPTIONS] <COMMAND>

Commands:
module Inspect Starlark module by fully qualified import string like foo//bar:baz.bzl
package-deps Inspect Starlark package file all bzl dependencies by package name like foo//bar/baz
help Print this message or the help of the given subcommand(s)

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit starlark module

Inspect Starlark module by fully qualified import string like foo//bar:baz.bzl

Usage: buck2-release audit starlark module [OPTIONS] <IMPORT_PATH>

Arguments:
<IMPORT_PATH>
Module import path

Options:
--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit starlark package-deps

Inspect Starlark package file all bzl dependencies by package name like foo//bar/baz

Usage: buck2-release audit starlark package-deps [OPTIONS] <PACKAGE>

Arguments:
<PACKAGE>
Package

Options:
--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit dep-files

prints out the select files for a command

Usage: buck2-release audit dep-files [OPTIONS] <PATTERN> <CATEGORY> [IDENTIFIER]

Arguments:
<PATTERN>
Target to query dep files for

<CATEGORY>
Action category

[IDENTIFIER]
Action identifier

Options:
-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit deferred-materializer

Access and interact with the deferred materializer

Usage: buck2-release audit deferred-materializer [OPTIONS] <COMMAND>

Commands:
list
list-subscriptions
fsck
refresh
get-refresh-log Get the log for TTL refreshes
test-iter
flush-access-times
help Print this message or the help of the given subcommand(s)

Options:
--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit deferred-materializer list

Usage: buck2-release audit deferred-materializer list [OPTIONS]

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit deferred-materializer list-subscriptions

Usage: buck2-release audit deferred-materializer list-subscriptions [OPTIONS]

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit deferred-materializer fsck

Usage: buck2-release audit deferred-materializer fsck [OPTIONS]

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit deferred-materializer refresh

Usage: buck2-release audit deferred-materializer refresh [OPTIONS] <MIN_TTL>

Arguments:
<MIN_TTL>
Minimum TTL to require for actions

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit deferred-materializer get-refresh-log

Get the log for TTL refreshes

Usage: buck2-release audit deferred-materializer get-refresh-log [OPTIONS]

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit deferred-materializer test-iter

Usage: buck2-release audit deferred-materializer test-iter [OPTIONS]

Options:
--count <COUNT>
[default: 1]

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit deferred-materializer flush-access-times

Usage: buck2-release audit deferred-materializer flush-access-times [OPTIONS]

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit output

Query the action that produced the output artifact. Does not support BXL, test, scratch, or anon
artifacts. If the configuration hash of the output path does not match the current platform
configuration, the unconfigured target label will be returned.

Usage: buck2-release audit output [OPTIONS] <OUTPUT_PATH>

Arguments:
<OUTPUT_PATH>
The buck-out path to the build artifact, starting with `buck-out` and including the
configuration platform.

Options:
--json


-A, --output-all-attributes
Output all attributes, equivalent of --output-attribute ''.

Avoid using this flag in automation because it may be expensive to produce certain
attributes, and because it makes harder to track which special attributes are used.

-B, --output-basic-attributes
Output basic attributes, namely those the user can supply, plus rule type and package name

-a, --output-attribute <ATTRIBUTE>
Regular expressions to match attributes. Regular expressions are used in "search" mode, so
for example empty string matches all attributes including special attributes.

When using in automation, please specify the regular expression to match the attribute
precisely, for example `--output-attribute '^headers$'` to make it easier to track which
special attributes are used.

--output-attributes <ATTRIBUTE>...
Deprecated: Use `--output-attribute` instead.

List of space-separated attributes to output, --output-attributes attr1 attr2.

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit parse

Parses the buck-out path into parts that may be useful (ex: config hash, file path to artifact).

Usage: buck2-release audit parse [OPTIONS] <OUTPUT_PATH>

Options:
-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

--modifier <VALUE>
This option is not used

--json


--output-attribute <OUTPUT_ATTRIBUTE>


<OUTPUT_PATH>
The buck-out path to the build artifact, starting with `buck-out` and including the
configuration platform.

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck audit package-values

Inspect package values.

Package values is the thing set with `write_package_value` function from `PACKAGE` files.

Usage: buck2-release audit package-values [OPTIONS] [PACKAGES]...

Arguments:
[PACKAGES]...
Package names to inspect (like `//foo/bar`, no trailing colon)

Options:
--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/build/index.html b/docs/users/commands/build/index.html new file mode 100644 index 0000000000000..ea177379a2052 --- /dev/null +++ b/docs/users/commands/build/index.html @@ -0,0 +1,20 @@ + + + + + +build | Buck2 + + + + + + + + +
+

build

These are the flags/commands under buck2 build and their --help output:

buck build

Build the specified targets

Usage: buck2-release build [OPTIONS] [TARGET_PATTERNS]...

Arguments:
[TARGET_PATTERNS]...
Patterns to build

Options:
--show-output
Print the path to the output for each of the rules relative to the project root

--show-full-output
Print the absolute path to the output for each of the rules

--show-simple-output
Print only the path to the output for each of the rules relative to the project root

--show-full-simple-output
Print only the absolute path to the output for each of the rules

--show-json-output
Print the output paths relative to the project root, in JSON format

--show-full-json-output
Print the output absolute paths, in JSON format

-M, --materializations <MATERIALIZATIONS>
Materialize (or skip) the final artifacts, bypassing buckconfig.

[possible values: all, none]

--build-default-info
Build default info (this is the default)

--skip-default-info
Do not build default info (this is not the default)

--build-run-info
Build runtime dependencies (this is the default)

--skip-run-info
Do not build runtime dependencies (this is not the default)

--build-test-info
Build tests (this is not the default)

--skip-test-info
Do not build tests (this is the default)

--out <OUTPUT_PATH>
Copy the output of the built target to this path (`-` to stdout)

--output-hashes-file <OUTPUT_HASHES_FILE>
Experimental: Path to a file where the Buck2 daemon should write a list of produced
artifacts in json format

--build-report <PATH>
Print a build report

`--build-report=-` will print the build report to stdout `--build-report=<filepath>` will
write the build report to the file

--enable-optional-validations <VALIDATION_NAMES>
Comma separated list of validation names to run that are marked optional.

By default, validations marked as optional are skipped. This option overrides the
behaviour and executes those validations.

--build-report-options <BUILD_REPORT_OPTIONS>
Comma separated list of build report options.

The following options are supported:

`fill-out-failures`: fill out failures the same way Buck1 would.

`package-project-relative-paths`: emit the project-relative path of packages for the
targets that were built.

-j, --num-threads <THREADS>
Number of threads to use during execution (default is # cores)

--local-only
Enable only local execution. Will reject actions that cannot execute locally

[env: BUCK_OFFLINE_BUILD=]

--remote-only
Enable only remote execution. Will reject actions that cannot execute remotely

--prefer-local
Enable hybrid execution. Will prefer executing actions that can execute locally on the
local host

--prefer-remote
Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and
will avoid racing local and remote execution

--unstable-no-execution
Experimental: Disable all execution

--no-remote-cache
Do not perform remote cache queries or cache writes. If remote execution is enabled, the
RE service might still deduplicate actions, so for e.g. benchmarking, using a random
isolation dir is preferred

[env: BUCK_OFFLINE_BUILD=]

--write-to-cache-anyway
Could be used to enable the action cache writes on the RE worker when no_remote_cache is
specified

--eager-dep-files
Process dep files when they are generated (i.e. after running a command that produces dep
files), rather than when they are used (i.e. before re-running a command that previously
produced dep files). Use this when debugging commands that produce dep files. Note that
commands that previously produced dep files will not re-run: only dep files produced
during this command will be eagerly loaded

--upload-all-actions
Uploads every action to the RE service, regardless of whether the action needs to execute
on RE.

This is useful when debugging builds and trying to inspect actions which executed
remotely. It's possible that the action result is cached but the action itself has
expired. In this case, downloading the action itself would fail. Enabling this option
would unconditionally upload all actions, thus you will not hit any expiration issues.

--fail-fast
If Buck hits an error, do as little work as possible before exiting.

To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The
default behavior of buck is to do enough work to get a result for the builds of each of
`:foo` and `:bar`, and no more. This means that buck will continue to complete the build
of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has
failed, other dependencies will be cancelled unless they are needed by `:bar`.

This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has
failed. Generally, this flag only has an effect on builds that specify multiple targets.

`--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency
of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if
possible.

--keep-going
If Buck hits an error, continue doing as much work as possible before exiting.

See `--fail-fast` for more details.

--skip-missing-targets
If target is missing, then skip building instead of throwing error

--skip-incompatible-targets
If target is incompatible with the specified configuration, skip building instead of
throwing error. This does not apply to targets specified with glob patterns `/...` or `:`
which are skipped unconditionally

--materialize-failed-inputs
Materializes inputs for failed actions which ran on RE

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
-u, --target-universe <TARGET_UNIVERSE>
Comma separated list of targets to construct a configured target universe.

When the option is specified, command targets are be resolved in this universe.
Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the
universe targets, not the command targets.

This argument is particularly recommended on most non-trivial cqueries. In the absence of
this argument, buck2 will use the target literals in your cquery expression as the value
for
this argument, which may not be what you want.

--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/bxl/index.html b/docs/users/commands/bxl/index.html new file mode 100644 index 0000000000000..bf370f998a075 --- /dev/null +++ b/docs/users/commands/bxl/index.html @@ -0,0 +1,20 @@ + + + + + +bxl | Buck2 + + + + + + + + +
+

bxl

These are the flags/commands under buck2 bxl and their --help output:

buck bxl

Run BXL scripts

Usage: buck2-release bxl [OPTIONS] <BXL label> [-- <BXL INPUT ARGS>...]

Arguments:
<BXL label>
The bxl function to execute as defined by the label of form
`<cell>//path/file.bxl:<function>`

[BXL INPUT ARGS]...
Arguments passed to the bxl script

Options:
-M, --materializations <MATERIALIZATIONS>
Materialize (or skip) the final artifacts, bypassing buckconfig.

[possible values: all, none]

--user-event-log <PATH>
Write user events to this log file. Both user and internal events are written to main
event log. If this flag is specified, user events are additionally written to user event
log. Log format is JSONL, uncompressed if no known extensions are detected, or you can
explicitly specify the compression via the file extension (ex: `.json-lines.gz` would be
gzip compressed, `.json-lines.zst` would be zstd compressed). Resulting log is is
compatible with `buck2 log show-user`

--build-report <PATH>
Print a build report

`--build-report=-` will print the build report to stdout `--build-report=<filepath>` will
write the build report to the file

--enable-optional-validations <VALIDATION_NAMES>
Comma separated list of validation names to run that are marked optional.

By default, validations marked as optional are skipped. This option overrides the
behaviour and executes those validations.

--build-report-options <BUILD_REPORT_OPTIONS>
Comma separated list of build report options.

The following options are supported:

`fill-out-failures`: fill out failures the same way Buck1 would.

`package-project-relative-paths`: emit the project-relative path of packages for the
targets that were built.

-j, --num-threads <THREADS>
Number of threads to use during execution (default is # cores)

--local-only
Enable only local execution. Will reject actions that cannot execute locally

[env: BUCK_OFFLINE_BUILD=]

--remote-only
Enable only remote execution. Will reject actions that cannot execute remotely

--prefer-local
Enable hybrid execution. Will prefer executing actions that can execute locally on the
local host

--prefer-remote
Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and
will avoid racing local and remote execution

--unstable-no-execution
Experimental: Disable all execution

--no-remote-cache
Do not perform remote cache queries or cache writes. If remote execution is enabled, the
RE service might still deduplicate actions, so for e.g. benchmarking, using a random
isolation dir is preferred

[env: BUCK_OFFLINE_BUILD=]

--write-to-cache-anyway
Could be used to enable the action cache writes on the RE worker when no_remote_cache is
specified

--eager-dep-files
Process dep files when they are generated (i.e. after running a command that produces dep
files), rather than when they are used (i.e. before re-running a command that previously
produced dep files). Use this when debugging commands that produce dep files. Note that
commands that previously produced dep files will not re-run: only dep files produced
during this command will be eagerly loaded

--upload-all-actions
Uploads every action to the RE service, regardless of whether the action needs to execute
on RE.

This is useful when debugging builds and trying to inspect actions which executed
remotely. It's possible that the action result is cached but the action itself has
expired. In this case, downloading the action itself would fail. Enabling this option
would unconditionally upload all actions, thus you will not hit any expiration issues.

--fail-fast
If Buck hits an error, do as little work as possible before exiting.

To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The
default behavior of buck is to do enough work to get a result for the builds of each of
`:foo` and `:bar`, and no more. This means that buck will continue to complete the build
of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has
failed, other dependencies will be cancelled unless they are needed by `:bar`.

This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has
failed. Generally, this flag only has an effect on builds that specify multiple targets.

`--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency
of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if
possible.

--keep-going
If Buck hits an error, continue doing as much work as possible before exiting.

See `--fail-fast` for more details.

--skip-missing-targets
If target is missing, then skip building instead of throwing error

--skip-incompatible-targets
If target is incompatible with the specified configuration, skip building instead of
throwing error. This does not apply to targets specified with glob patterns `/...` or `:`
which are skipped unconditionally

--materialize-failed-inputs
Materializes inputs for failed actions which ran on RE

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/clean/index.html b/docs/users/commands/clean/index.html new file mode 100644 index 0000000000000..115ef375f3555 --- /dev/null +++ b/docs/users/commands/clean/index.html @@ -0,0 +1,20 @@ + + + + + +clean | Buck2 + + + + + + + + +
+

clean

These are the flags/commands under buck2 clean and their --help output:

buck clean

Delete generated files and caches.

The command also kills the buck2 daemon.

Usage: buck2-release clean [OPTIONS]

Options:
--dry-run
Performs a dry-run and prints the paths that would be removed.

--stale [<DURATION>]
Delete artifacts from buck-out older than 1 week or older than
the specified duration, without killing the daemon

--tracked-only
Only considers tracked artifacts for cleanup.

`buck-out` can contain untracked artifacts for different reasons: - Outputs from aborted
actions - State getting deleted (e.g., new buckversion that changes the on-disk state
format) - Writing to `buck-out` without being expected by Buck

--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/completion/index.html b/docs/users/commands/completion/index.html new file mode 100644 index 0000000000000..4a6561becfc28 --- /dev/null +++ b/docs/users/commands/completion/index.html @@ -0,0 +1,20 @@ + + + + + +completion | Buck2 + + + + + + + + +
+

completion

These are the flags/commands under buck2 completion and their --help output:

buck completion

Print completion configuration for shell

For a one-time setup, run one of the following commands:
source <(buck2 completion bash)
source <(buck2 completion zsh)

Usage: buck2-release completion [OPTIONS] <SHELL>

Arguments:
<SHELL>
shell for which to generate completion script

[possible values: bash, zsh]

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/cquery/index.html b/docs/users/commands/cquery/index.html new file mode 100644 index 0000000000000..4ea61dd27ef18 --- /dev/null +++ b/docs/users/commands/cquery/index.html @@ -0,0 +1,20 @@ + + + + + +cquery | Buck2 + + + + + + + + +
+

cquery

These are the flags/commands under buck2 cquery and their --help output:

buck cquery

Perform queries on the configured target graph

The configured target graph includes information about the configuration
(platforms) and transitions involved in building targets. In the
configured graph, `selects` are fully resolved. The same target may
appear in multiple different configurations (when printed, the
configuration is after the target in parentheses).

A user can specify a `--target-universe` flag to control how literals
are resolved. When provided, any literals will resolve to all
matching targets within the universe (which includes the targets
passed as the universe and all transitive deps of them). When not
provided, we implicitly set the universe to be rooted at every
target literal in the `cquery`.

Run `buck2 docs cquery` or
https://buck2.build/docs/users/query/cquery/
for more documentation about the functions available in cquery
expressions.

Examples:

Print all the attributes of a target

`buck2 cquery //java/com/example/app:amazing --output-all-attributes`

List the deps of a target (special characters in a target will
require quotes):

`buck2 cquery 'deps("//java/com/example/app:amazing+more")'`

Usage: buck2-release cquery [OPTIONS] <QUERY> [QUERY_ARGS]...

Arguments:
<QUERY>
the query to evaluate

[QUERY_ARGS]...
list of literals for a multi-query (one containing `%s` or `%Ss`)

Options:
-A, --output-all-attributes
Output all attributes, equivalent of --output-attribute ''.

Avoid using this flag in automation because it may be expensive to produce certain
attributes, and because it makes harder to track which special attributes are used.

-B, --output-basic-attributes
Output basic attributes, namely those the user can supply, plus rule type and package name

-a, --output-attribute <ATTRIBUTE>
Regular expressions to match attributes. Regular expressions are used in "search" mode, so
for example empty string matches all attributes including special attributes.

When using in automation, please specify the regular expression to match the attribute
precisely, for example `--output-attribute '^headers$'` to make it easier to track which
special attributes are used.

--output-attributes <ATTRIBUTE>...
Deprecated: Use `--output-attribute` instead.

List of space-separated attributes to output, --output-attributes attr1 attr2.

--json
Output in JSON format

--dot
Output in Graphviz Dot format

--dot-compact
Output in a more compact format than Graphviz Dot

--output-format <dot|dot_compact|json|starlark>
Output format (default: list).

dot - dot graph format.

dot_compact - compact alternative to dot format.

json - JSON format.

starlark - targets are printed like starlark code that would produce them.


[possible values: dot, json, dot_compact, starlark]

--show-providers
Show the providers of the query result instead of the attributes and labels

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
-u, --target-universe <TARGET_UNIVERSE>
Comma separated list of targets to construct a configured target universe.

When the option is specified, command targets are be resolved in this universe.
Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the
universe targets, not the command targets.

This argument is particularly recommended on most non-trivial cqueries. In the absence of
this argument, buck2 will use the target literals in your cquery expression as the value
for
this argument, which may not be what you want.

--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Starlark Profiling Options:
--profile-mode <PROFILE_MODE>
Profile target loading.

When this option is enabled, Buck will profile every `BUCK` file loaded during the query
and merge the results into a single profile. The command may return cached profile data if
`BUCK` files were not invalidated.

[possible values: time-flame, heap-flame-allocated, heap-flame-retained,
heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs,
typecheck, coverage]

--profile-output <PROFILE_OUTPUT>
Where to write profile output

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/ctargets/index.html b/docs/users/commands/ctargets/index.html new file mode 100644 index 0000000000000..3427ebde2c5dd --- /dev/null +++ b/docs/users/commands/ctargets/index.html @@ -0,0 +1,20 @@ + + + + + +ctargets | Buck2 + + + + + + + + +
+

ctargets

These are the flags/commands under buck2 ctargets and their --help output:

buck ctargets

Resolve target patterns to configured targets

Usage: buck2-release ctargets [OPTIONS] [TARGET_PATTERNS]...

Arguments:
[TARGET_PATTERNS]...
Patterns to interpret

Options:
--skip-missing-targets
Skip missing targets from `BUCK` files when non-glob pattern is specified. This option
does not skip missing packages and does not ignore errors of `BUCK` file evaluation

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/docs/index.html b/docs/users/commands/docs/index.html new file mode 100644 index 0000000000000..aef068d86821f --- /dev/null +++ b/docs/users/commands/docs/index.html @@ -0,0 +1,20 @@ + + + + + +docs | Buck2 + + + + + + + + +
+

docs

These are the flags/commands under buck2 docs and their --help output:

buck docs

Print documentation of specified symbols

Usage: buck2-release docs [OPTIONS] <COMMAND>

Commands:
starlark Print documentation of user-defined starlark symbols
starlark-builtins Generate documentation for starlark builtins
uquery Print documentation for query/uquery
cquery Print documentation for cquery
aquery Print documentation for aquery
help Print this message or the help of the given subcommand(s)

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck docs starlark

Print documentation of user-defined starlark symbols

Usage: buck2-release docs starlark [OPTIONS] [SYMBOL_PATTERNS]...

Arguments:
[SYMBOL_PATTERNS]...
Patterns to interpret. //foo:bar.bzl is 'every symbol in //foo:bar.bzl', //foo:bar.bzl:baz
only returns the documentation for the symbol 'baz' in //foo:bar.bzl

Options:
--markdown-files-destination-dir <DESTINATION_DIR>


--markdown-files-native-subdir <NATIVE_SUBDIR>
[default: native]

--markdown-files-starlark-subdir <STARLARK_SUBDIR>
[default: starlark]

--format <FORMAT>
how to format the returned documentation

[default: json]
[possible values: json, markdown_files]

--builtins
get documentation for built in functions, rules, and providers

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck docs starlark-builtins

Generate documentation for starlark builtins.

This command is designed to support buck2's doc generation and does not have stable output.

Usage: buck2-release docs starlark-builtins [OPTIONS] --output-dir <OUTPUT_DIR>

Options:
--output-dir <OUTPUT_DIR>
The directory to output files to

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck docs uquery

Print documentation for query/uquery

Usage: buck2-release docs uquery [OPTIONS]

Options:
--format <FORMAT>
How to format the documentation

[default: rendered]
[possible values: markdown, rendered]

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck docs cquery

Print documentation for cquery

Usage: buck2-release docs cquery [OPTIONS]

Options:
--format <FORMAT>
How to format the documentation

[default: rendered]
[possible values: markdown, rendered]

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck docs aquery

Print documentation for aquery

Usage: buck2-release docs aquery [OPTIONS]

Options:
--format <FORMAT>
How to format the documentation

[default: rendered]
[possible values: markdown, rendered]

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/expand-external-cell/index.html b/docs/users/commands/expand-external-cell/index.html new file mode 100644 index 0000000000000..c2d4e6b479933 --- /dev/null +++ b/docs/users/commands/expand-external-cell/index.html @@ -0,0 +1,20 @@ + + + + + +expand-external-cell | Buck2 + + + + + + + + +
+

expand-external-cell

These are the flags/commands under buck2 expand-external-cell and their --help output:

buck expand-external-cell

Expand the contents of an external cell into the repo.

The contents are placed at the path you specified for this cell in your buckconfig.

If you additionally remove the entry from the `external_cells` section of your buckconfig, you can
edit the files directly in the repo and see those edits reflected in your build.

Note that this creates a point-in-time snapshot. The files in the repo will not be updated if you eg
change the git commit of the cell in the future.

Usage: buck2-release expand-external-cell [OPTIONS] <CELL>

Arguments:
<CELL>


Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/help-env/index.html b/docs/users/commands/help-env/index.html new file mode 100644 index 0000000000000..5e9c665e6e9c3 --- /dev/null +++ b/docs/users/commands/help-env/index.html @@ -0,0 +1,20 @@ + + + + + +help-env | Buck2 + + + + + + + + +
+

help-env

These are the flags/commands under buck2 help-env and their --help output:

buck help-env

Print help for environment variables used by buck2

Usage: buck2-release help-env [OPTIONS]

Options:
--self-testing
Also print those environment variables that are only used for buck2 integration tests.

These are all unstable and not meant to be used by most users.

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/init/index.html b/docs/users/commands/init/index.html new file mode 100644 index 0000000000000..d0042fe8088e5 --- /dev/null +++ b/docs/users/commands/init/index.html @@ -0,0 +1,20 @@ + + + + + +init | Buck2 + + + + + + + + +
+

init

These are the flags/commands under buck2 init and their --help output:

buck init

Initialize a buck2 project

Usage: buck2-release init [OPTIONS] [PATH]

Arguments:
[PATH]
The path to initialize the project in. The folder does not need to exist

[default: .]

Options:
--no-prelude
Don't include the standard prelude or generate toolchain definitions

--allow-dirty
Initialize the project even if the git repo at \[PATH\] has uncommitted changes

--git
Also initialize a git repository at the given path, and set up an appropriate `.gitignore`
file

-h, --help
Print help (see a summary with '-h')

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/install/index.html b/docs/users/commands/install/index.html new file mode 100644 index 0000000000000..072074302ddb1 --- /dev/null +++ b/docs/users/commands/install/index.html @@ -0,0 +1,20 @@ + + + + + +install | Buck2 + + + + + + + + +
+

install

These are the flags/commands under buck2 install and their --help output:

buck install

Build and install an application

Usage: buck2-release install [OPTIONS] [TARGET]... [-- <INSTALL_ARGS>...]

Arguments:
[TARGET]...
Target to build and install

[INSTALL_ARGS]...
Additional arguments passed to the install when running it

Options:
--installer-debug
Prints installer output to stderr. It might break superconsole

-r, --run
Run an Android activity. Here for compatibility with buck1 - it is automatically forwarded
to the installer

-e, --emulator
Use this option to use emulators only on Android. Here for compatibility with buck1 - it
is automatically forwarded to the installer

-d, --device
Use this option to use real devices only on Android. Here for compatibility with buck1 -
it is automatically forwarded to the installer

-s, --serial <SERIAL>
Use Android device or emulator with specific serial or UDID number. Here for compatibility
with buck1 - it is automatically forwarded to the installer

-x, --all-devices
Use all connected Android devices and/or emulators (multi-install mode). Here for
compatibility with buck1 - it is automatically forwarded to the installer

-a, --activity <ACTIVITY>
Android activity to launch e.g. com.facebook/.LoginActivity. Implies -r. Here for
compatibility with buck1 - it is automatically forwarded to the installer

-i, --intent-uri <INTENT_URI>
Android Intent URI to launch e.g. fb://profile. Implies -r. Here for compatibility with
buck1 - it is automatically forwarded to the installer

-w, --wait-for-debugger
Have the launched Android process wait for the debugger. Here for compatibility with buck1
- it is automatically forwarded to the installer

-u, --uninstall
Use this option to uninstall an installed app before installing again. Here for
compatibility with buck1 - it is automatically forwarded to the installer

-k, --keep
Use this option to Keep user data when uninstalling. Here for compatibility with buck1 -
it is automatically forwarded to the installer

--build-report <PATH>
Print a build report

`--build-report=-` will print the build report to stdout `--build-report=<filepath>` will
write the build report to the file

--enable-optional-validations <VALIDATION_NAMES>
Comma separated list of validation names to run that are marked optional.

By default, validations marked as optional are skipped. This option overrides the
behaviour and executes those validations.

--build-report-options <BUILD_REPORT_OPTIONS>
Comma separated list of build report options.

The following options are supported:

`fill-out-failures`: fill out failures the same way Buck1 would.

`package-project-relative-paths`: emit the project-relative path of packages for the
targets that were built.

-j, --num-threads <THREADS>
Number of threads to use during execution (default is # cores)

--local-only
Enable only local execution. Will reject actions that cannot execute locally

[env: BUCK_OFFLINE_BUILD=]

--remote-only
Enable only remote execution. Will reject actions that cannot execute remotely

--prefer-local
Enable hybrid execution. Will prefer executing actions that can execute locally on the
local host

--prefer-remote
Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and
will avoid racing local and remote execution

--unstable-no-execution
Experimental: Disable all execution

--no-remote-cache
Do not perform remote cache queries or cache writes. If remote execution is enabled, the
RE service might still deduplicate actions, so for e.g. benchmarking, using a random
isolation dir is preferred

[env: BUCK_OFFLINE_BUILD=]

--write-to-cache-anyway
Could be used to enable the action cache writes on the RE worker when no_remote_cache is
specified

--eager-dep-files
Process dep files when they are generated (i.e. after running a command that produces dep
files), rather than when they are used (i.e. before re-running a command that previously
produced dep files). Use this when debugging commands that produce dep files. Note that
commands that previously produced dep files will not re-run: only dep files produced
during this command will be eagerly loaded

--upload-all-actions
Uploads every action to the RE service, regardless of whether the action needs to execute
on RE.

This is useful when debugging builds and trying to inspect actions which executed
remotely. It's possible that the action result is cached but the action itself has
expired. In this case, downloading the action itself would fail. Enabling this option
would unconditionally upload all actions, thus you will not hit any expiration issues.

--fail-fast
If Buck hits an error, do as little work as possible before exiting.

To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The
default behavior of buck is to do enough work to get a result for the builds of each of
`:foo` and `:bar`, and no more. This means that buck will continue to complete the build
of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has
failed, other dependencies will be cancelled unless they are needed by `:bar`.

This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has
failed. Generally, this flag only has an effect on builds that specify multiple targets.

`--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency
of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if
possible.

--keep-going
If Buck hits an error, continue doing as much work as possible before exiting.

See `--fail-fast` for more details.

--skip-missing-targets
If target is missing, then skip building instead of throwing error

--skip-incompatible-targets
If target is incompatible with the specified configuration, skip building instead of
throwing error. This does not apply to targets specified with glob patterns `/...` or `:`
which are skipped unconditionally

--materialize-failed-inputs
Materializes inputs for failed actions which ran on RE

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/kill/index.html b/docs/users/commands/kill/index.html new file mode 100644 index 0000000000000..0642b28282ceb --- /dev/null +++ b/docs/users/commands/kill/index.html @@ -0,0 +1,20 @@ + + + + + +kill | Buck2 + + + + + + + + +
+

kill

These are the flags/commands under buck2 kill and their --help output:

buck kill

Kill the buck daemon.

Note there's also `buck2 killall` and `buck2 clean`.

`buck2 killall` kills all the buck2 processes on the machine.

`buck2 clean` kills the buck2 daemon and also deletes the buck2 state files.

Usage: buck2-release kill [OPTIONS]

Options:
-h, --help
Print help (see a summary with '-h')

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/killall/index.html b/docs/users/commands/killall/index.html new file mode 100644 index 0000000000000..ba01d6609e458 --- /dev/null +++ b/docs/users/commands/killall/index.html @@ -0,0 +1,20 @@ + + + + + +killall | Buck2 + + + + + + + + +
+

killall

These are the flags/commands under buck2 killall and their --help output:

buck killall

Kill all buck2 processes on the machine

Usage: buck2-release killall [OPTIONS]

Options:
-h, --help
Print help (see a summary with '-h')

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/log/index.html b/docs/users/commands/log/index.html new file mode 100644 index 0000000000000..6042d2941ff3d --- /dev/null +++ b/docs/users/commands/log/index.html @@ -0,0 +1,20 @@ + + + + + +log | Buck2 + + + + + + + + +
+

log

These are the flags/commands under buck2 log and their --help output:

buck log

Commands for interacting with buck2 logs

Usage: buck2-release log [OPTIONS] <COMMAND>

Commands:
what-ran Output everything Buck2 ran from selected invocation
what-failed Outputs every command that failed in the selected invocation
path Output the path to the selected log
show Outputs the log in JSON format from selected invocation
cmd Show buck command line arguments from selected invocation
what-up Show the spans that were open when the log ended
what-materialized Outputs materializations from selected invocation
what-uploaded Outputs stats about uploads to RE from the selected invocation
critical-path Show the critical path for a selected build
replay Replay an event log
show-user Converts the event log from a selected invocation into a user event log, in
JSONL format
summary Outputs high level statistics about the build
help Print this message or the help of the given subcommand(s)

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log what-ran

Output everything Buck2 ran from selected invocation.

The output is presented as a series of tab-delimited records with the following structure:

The reason for executing a given command. That's either to build or to test.

The identity of this command. This will include the target that ran required it.

The executor for this command. This will either be RE or local.

Details to reproduce it. For RE, that's the action digest. For local, the command.

To reproduce an action that ran on RE, use the following command then follow the instructions. The
DIGEST is of the form `hash:size`.

frecli cas download-action DIGEST

To reproduce an action that ran locally, make sure your working directory is the project root (if
unsure, use `buck2 root --kind project` to find it), then run the command. The command is already
shell-quoted.

Usage: buck2-release log what-ran [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

--format <OUTPUT>
Which output format to use for this command

[default: tabulated]
[possible values: tabulated, json, csv]

--emit-cache-queries


--skip-cache-hits


--skip-remote-executions


--skip-local-executions


--filter-category <FILTER_CATEGORY>
Regular expression to filter commands by given action category (i.e. type of of actions
that are similar but operate on different inputs, such as invocations of a C++ compiler
(whose category would be `cxx_compile`)). Matches by full string

--failed
Show only commands that failed

--incomplete
Show only commands that were not completed. That is command were running if buck2 process
was killed, or command currently running if buck2 is running build now

--show-std-err
Show also std_err from commands that are run. If the command fails before completing, we
display "<command did not finish executing>". If it finishes but there is no error, we
display "<stderr is empty>". Otherwise, std_err is shown. For JSON, we show raw values and
null for non-completion

--omit-empty-std-err
Omit commands if their std_err is empty

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log what-failed

Outputs every command that failed in the selected invocation.

Look at the help for what-ran to understand the output format.

Usage: buck2-release log what-failed [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

--format <OUTPUT>
Which output format to use for this command

[default: tabulated]
[possible values: tabulated, json, csv]

--emit-cache-queries


--skip-cache-hits


--skip-remote-executions


--skip-local-executions


--filter-category <FILTER_CATEGORY>
Regular expression to filter commands by given action category (i.e. type of of actions
that are similar but operate on different inputs, such as invocations of a C++ compiler
(whose category would be `cxx_compile`)). Matches by full string

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log path

Output the path to the selected log

Usage: buck2-release log path [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

--all
List all the logs

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log show

Outputs the log in JSON format from selected invocation

Usage: buck2-release log show [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log cmd

Show buck command line arguments from selected invocation.

This command output is not machine readable. Robots, please use `buck2 log show`.

Usage: buck2-release log cmd [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

--expand
Show @-expanded command line arguments instead of the original command line

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log what-up

Show the spans that were open when the log ended

Usage: buck2-release log what-up [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

--after <NUMBER>
Print the actions that where open after certain amount of milliseconds

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log what-materialized

Outputs materializations from selected invocation.

The output is a tab-separated list containing the path, the materialization method, the file count,
and the total size (after decompression).

Usage: buck2-release log what-materialized [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

-s, --sort-by-size
Sort the output by total bytes in ascending order

--aggregate-by-ext
Aggregates the output by file extension

--format <OUTPUT>
Which output format to use for this command

[default: tabulated]
[possible values: tabulated, json, csv]

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log what-uploaded

Outputs stats about uploads to RE from the selected invocation

Usage: buck2-release log what-uploaded [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

--format <OUTPUT>
Which output format to use for this command

[default: tabulated]
[possible values: tabulated, json, csv]

--aggregate-by-ext
Aggregates the output by file extension

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log critical-path

Show the critical path for a selected build.

This produces tab-delimited output listing every node on the critical path.

It includes the kind of node, its name, category and identfier, as well as total duration (runtime
of this node), user duration (duration the user can improve) and potential improvement before this
node stops being on the critical path.

All durations are in microseconds.

Usage: buck2-release log critical-path [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

--format <FORMAT>
Which output format to use for this command

[default: tabulated]
[possible values: tabulated, json, csv]

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log replay

Replay an event log.

This command allows visualizing an existing event log in a Superconsole.

Usage: buck2-release log replay [OPTIONS] [PATH] [OVERRIDE_ARGS]...

Arguments:
[PATH]
A path to an event-log file to read from

[OVERRIDE_ARGS]...
Override the arguments

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

--speed <NUMBER>
Control the playback speed using a float (i.e. 0.5, 2, etc)

--preload
Preload the event log. This is typically only useful for benchmarking

-h, --help
Print help (see a summary with '-h')

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log show-user

Converts the event log from a selected invocation into a user event log, in JSONL format

Usage: buck2-release log show-user [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck log summary

Outputs high level statistics about the build

Usage: buck2-release log summary [OPTIONS] [PATH]

Arguments:
[PATH]
A path to an event-log file to read from

Options:
--recent <NUMBER>
Open the event-log file from a recent command

--trace-id <ID>
Show log by trace id

--allow-remote
This option does nothing

--no-remote
Do not allow downloading the log from manifold if it's not found locally

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/lsp/index.html b/docs/users/commands/lsp/index.html new file mode 100644 index 0000000000000..8a072610e3570 --- /dev/null +++ b/docs/users/commands/lsp/index.html @@ -0,0 +1,20 @@ + + + + + +lsp | Buck2 + + + + + + + + +
+

lsp

These are the flags/commands under buck2 lsp and their --help output:

buck lsp

Start an LSP server for starlark files

Usage: buck2-release lsp [OPTIONS]

Options:
-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/profile/index.html b/docs/users/commands/profile/index.html new file mode 100644 index 0000000000000..f5dbf9391462e --- /dev/null +++ b/docs/users/commands/profile/index.html @@ -0,0 +1,20 @@ + + + + + +profile | Buck2 + + + + + + + + +
+

profile

These are the flags/commands under buck2 profile and their --help output:

buck profile

Run starlark profiler

Usage: buck2-release profile [OPTIONS] <COMMAND>

Commands:
analysis Profile analysis
loading Profile `BUCK` file evaluation
bxl Profile BXL script
help Print this message or the help of the given subcommand(s)

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck profile analysis

Profile analysis

Usage: buck2-release profile analysis [OPTIONS] --output <PATH> --mode <MODE> [TARGET_PATTERNS]...

Arguments:
[TARGET_PATTERNS]...


Options:
-r, --recursive
In analysis profiling, capture the profile of the target and its dependencies, and output
the merged profile

-o, --output <PATH>
Output file path for profile data.

File will be created if it does not exist, and overwritten if it does.

--mode <MODE>
Profile mode.

Memory profiling modes have suffixes either `-allocated` or `-retained`.

`-retained` means memory kept in frozen starlark heap after analysis complete. `-retained`
does not work when profiling loading, because no memory is retained after loading and
frozen heap is not even created. This is probably what you want when profiling analysis.

`-allocated` means allocated memory, including memory which is later garbage collected.

[possible values: time-flame, heap-flame-allocated, heap-flame-retained,
heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs,
typecheck, coverage]

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
-u, --target-universe <TARGET_UNIVERSE>
Comma separated list of targets to construct a configured target universe.

When the option is specified, command targets are be resolved in this universe.
Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the
universe targets, not the command targets.

This argument is particularly recommended on most non-trivial cqueries. In the absence of
this argument, buck2 will use the target literals in your cquery expression as the value
for
this argument, which may not be what you want.

--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck profile loading

Profile `BUCK` file evaluation

Usage: buck2-release profile loading [OPTIONS] --output <PATH> --mode <MODE> [TARGET_PATTERNS]...

Arguments:
[TARGET_PATTERNS]...


Options:
-r, --recursive
In analysis profiling, capture the profile of the target and its dependencies, and output
the merged profile

-o, --output <PATH>
Output file path for profile data.

File will be created if it does not exist, and overwritten if it does.

--mode <MODE>
Profile mode.

Memory profiling modes have suffixes either `-allocated` or `-retained`.

`-retained` means memory kept in frozen starlark heap after analysis complete. `-retained`
does not work when profiling loading, because no memory is retained after loading and
frozen heap is not even created. This is probably what you want when profiling analysis.

`-allocated` means allocated memory, including memory which is later garbage collected.

[possible values: time-flame, heap-flame-allocated, heap-flame-retained,
heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs,
typecheck, coverage]

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
-u, --target-universe <TARGET_UNIVERSE>
Comma separated list of targets to construct a configured target universe.

When the option is specified, command targets are be resolved in this universe.
Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the
universe targets, not the command targets.

This argument is particularly recommended on most non-trivial cqueries. In the absence of
this argument, buck2 will use the target literals in your cquery expression as the value
for
this argument, which may not be what you want.

--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck profile bxl

Profile BXL script

Usage: buck2-release profile bxl [OPTIONS] --output <PATH> --mode <MODE> <BXL label> [-- <BXL INPUT ARGS>...]

Arguments:
<BXL label>
The bxl function to execute as defined by the label of form
`<cell>//path/file.bxl:<function>`

[BXL INPUT ARGS]...
Arguments passed to the bxl script

Options:
-M, --materializations <MATERIALIZATIONS>
Materialize (or skip) the final artifacts, bypassing buckconfig.

[possible values: all, none]

--user-event-log <PATH>
Write user events to this log file. Both user and internal events are written to main
event log. If this flag is specified, user events are additionally written to user event
log. Log format is JSONL, uncompressed if no known extensions are detected, or you can
explicitly specify the compression via the file extension (ex: `.json-lines.gz` would be
gzip compressed, `.json-lines.zst` would be zstd compressed). Resulting log is is
compatible with `buck2 log show-user`

--build-report <PATH>
Print a build report

`--build-report=-` will print the build report to stdout `--build-report=<filepath>` will
write the build report to the file

--enable-optional-validations <VALIDATION_NAMES>
Comma separated list of validation names to run that are marked optional.

By default, validations marked as optional are skipped. This option overrides the
behaviour and executes those validations.

--build-report-options <BUILD_REPORT_OPTIONS>
Comma separated list of build report options.

The following options are supported:

`fill-out-failures`: fill out failures the same way Buck1 would.

`package-project-relative-paths`: emit the project-relative path of packages for the
targets that were built.

-j, --num-threads <THREADS>
Number of threads to use during execution (default is # cores)

--local-only
Enable only local execution. Will reject actions that cannot execute locally

[env: BUCK_OFFLINE_BUILD=]

--remote-only
Enable only remote execution. Will reject actions that cannot execute remotely

--prefer-local
Enable hybrid execution. Will prefer executing actions that can execute locally on the
local host

--prefer-remote
Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and
will avoid racing local and remote execution

--unstable-no-execution
Experimental: Disable all execution

--no-remote-cache
Do not perform remote cache queries or cache writes. If remote execution is enabled, the
RE service might still deduplicate actions, so for e.g. benchmarking, using a random
isolation dir is preferred

[env: BUCK_OFFLINE_BUILD=]

--write-to-cache-anyway
Could be used to enable the action cache writes on the RE worker when no_remote_cache is
specified

--eager-dep-files
Process dep files when they are generated (i.e. after running a command that produces dep
files), rather than when they are used (i.e. before re-running a command that previously
produced dep files). Use this when debugging commands that produce dep files. Note that
commands that previously produced dep files will not re-run: only dep files produced
during this command will be eagerly loaded

--upload-all-actions
Uploads every action to the RE service, regardless of whether the action needs to execute
on RE.

This is useful when debugging builds and trying to inspect actions which executed
remotely. It's possible that the action result is cached but the action itself has
expired. In this case, downloading the action itself would fail. Enabling this option
would unconditionally upload all actions, thus you will not hit any expiration issues.

--fail-fast
If Buck hits an error, do as little work as possible before exiting.

To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The
default behavior of buck is to do enough work to get a result for the builds of each of
`:foo` and `:bar`, and no more. This means that buck will continue to complete the build
of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has
failed, other dependencies will be cancelled unless they are needed by `:bar`.

This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has
failed. Generally, this flag only has an effect on builds that specify multiple targets.

`--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency
of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if
possible.

--keep-going
If Buck hits an error, continue doing as much work as possible before exiting.

See `--fail-fast` for more details.

--skip-missing-targets
If target is missing, then skip building instead of throwing error

--skip-incompatible-targets
If target is incompatible with the specified configuration, skip building instead of
throwing error. This does not apply to targets specified with glob patterns `/...` or `:`
which are skipped unconditionally

--materialize-failed-inputs
Materializes inputs for failed actions which ran on RE

-o, --output <PATH>
Output file path for profile data.

File will be created if it does not exist, and overwritten if it does.

--mode <MODE>
Profile mode.

Memory profiling modes have suffixes either `-allocated` or `-retained`.

`-retained` means memory kept in frozen starlark heap after analysis complete. `-retained`
does not work when profiling loading, because no memory is retained after loading and
frozen heap is not even created. This is probably what you want when profiling analysis.

`-allocated` means allocated memory, including memory which is later garbage collected.

[possible values: time-flame, heap-flame-allocated, heap-flame-retained,
heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs,
typecheck, coverage]

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
-u, --target-universe <TARGET_UNIVERSE>
Comma separated list of targets to construct a configured target universe.

When the option is specified, command targets are be resolved in this universe.
Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the
universe targets, not the command targets.

This argument is particularly recommended on most non-trivial cqueries. In the absence of
this argument, buck2 will use the target literals in your cquery expression as the value
for
this argument, which may not be what you want.

--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/query/index.html b/docs/users/commands/query/index.html new file mode 100644 index 0000000000000..beb1ec9b55749 --- /dev/null +++ b/docs/users/commands/query/index.html @@ -0,0 +1,20 @@ + + + + + +query | Buck2 + + + + + + + + +
+

query

These are the flags/commands under buck2 query and their --help output:

buck query

Alias for `uquery`

Usage: buck2-release query [OPTIONS] <QUERY> [QUERY_ARGS]...

Arguments:
<QUERY>
the query to evaluate

[QUERY_ARGS]...
list of literals for a multi-query (one containing `%s` or `%Ss`)

Options:
-A, --output-all-attributes
Output all attributes, equivalent of --output-attribute ''.

Avoid using this flag in automation because it may be expensive to produce certain
attributes, and because it makes harder to track which special attributes are used.

-B, --output-basic-attributes
Output basic attributes, namely those the user can supply, plus rule type and package name

-a, --output-attribute <ATTRIBUTE>
Regular expressions to match attributes. Regular expressions are used in "search" mode, so
for example empty string matches all attributes including special attributes.

When using in automation, please specify the regular expression to match the attribute
precisely, for example `--output-attribute '^headers$'` to make it easier to track which
special attributes are used.

--output-attributes <ATTRIBUTE>...
Deprecated: Use `--output-attribute` instead.

List of space-separated attributes to output, --output-attributes attr1 attr2.

--json
Output in JSON format

--dot
Output in Graphviz Dot format

--dot-compact
Output in a more compact format than Graphviz Dot

--output-format <dot|dot_compact|json|starlark>
Output format (default: list).

dot - dot graph format.

dot_compact - compact alternative to dot format.

json - JSON format.

starlark - targets are printed like starlark code that would produce them.


[possible values: dot, json, dot_compact, starlark]

--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/root/index.html b/docs/users/commands/root/index.html new file mode 100644 index 0000000000000..73f061f45559d --- /dev/null +++ b/docs/users/commands/root/index.html @@ -0,0 +1,20 @@ + + + + + +root | Buck2 + + + + + + + + +
+

root

These are the flags/commands under buck2 root and their --help output:

buck root

Find buck cell, project or package root

Usage: buck2-release root [OPTIONS]

Options:
-k, --kind <KIND>
which root to print

[default: cell]
[possible values: package, cell, project, daemon]

--dir <PATH>
determine the root for a specific directory (if not provided, finds the root for the
current directory)

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/run/index.html b/docs/users/commands/run/index.html new file mode 100644 index 0000000000000..c705880d343d2 --- /dev/null +++ b/docs/users/commands/run/index.html @@ -0,0 +1,20 @@ + + + + + +run | Buck2 + + + + + + + + +
+

run

These are the flags/commands under buck2 run and their --help output:

buck run

Build and run the selected target.

The Build ID for the underlying build execution is made available to the target in the
`BUCK_RUN_BUILD_ID` environment variable.

Usage: buck2-release run [OPTIONS] <TARGET> [TARGET_ARGS]...

Arguments:
<TARGET>
Target to build and run

[TARGET_ARGS]...
Additional arguments passed to the target when running it

Options:
--command-args-file <COMMAND_ARGS_FILE>
Write the command to a file instead of executing it.

--chdir <CHDIR>
Set the current working directory of the executable being run

--emit-shell
Instead of running the command, print out the command formatted for shell interpolation,
use as: $(buck2 run --emit-shell ...)

--build-report <PATH>
Print a build report

`--build-report=-` will print the build report to stdout `--build-report=<filepath>` will
write the build report to the file

--enable-optional-validations <VALIDATION_NAMES>
Comma separated list of validation names to run that are marked optional.

By default, validations marked as optional are skipped. This option overrides the
behaviour and executes those validations.

--build-report-options <BUILD_REPORT_OPTIONS>
Comma separated list of build report options.

The following options are supported:

`fill-out-failures`: fill out failures the same way Buck1 would.

`package-project-relative-paths`: emit the project-relative path of packages for the
targets that were built.

-j, --num-threads <THREADS>
Number of threads to use during execution (default is # cores)

--local-only
Enable only local execution. Will reject actions that cannot execute locally

[env: BUCK_OFFLINE_BUILD=]

--remote-only
Enable only remote execution. Will reject actions that cannot execute remotely

--prefer-local
Enable hybrid execution. Will prefer executing actions that can execute locally on the
local host

--prefer-remote
Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and
will avoid racing local and remote execution

--unstable-no-execution
Experimental: Disable all execution

--no-remote-cache
Do not perform remote cache queries or cache writes. If remote execution is enabled, the
RE service might still deduplicate actions, so for e.g. benchmarking, using a random
isolation dir is preferred

[env: BUCK_OFFLINE_BUILD=]

--write-to-cache-anyway
Could be used to enable the action cache writes on the RE worker when no_remote_cache is
specified

--eager-dep-files
Process dep files when they are generated (i.e. after running a command that produces dep
files), rather than when they are used (i.e. before re-running a command that previously
produced dep files). Use this when debugging commands that produce dep files. Note that
commands that previously produced dep files will not re-run: only dep files produced
during this command will be eagerly loaded

--upload-all-actions
Uploads every action to the RE service, regardless of whether the action needs to execute
on RE.

This is useful when debugging builds and trying to inspect actions which executed
remotely. It's possible that the action result is cached but the action itself has
expired. In this case, downloading the action itself would fail. Enabling this option
would unconditionally upload all actions, thus you will not hit any expiration issues.

--fail-fast
If Buck hits an error, do as little work as possible before exiting.

To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The
default behavior of buck is to do enough work to get a result for the builds of each of
`:foo` and `:bar`, and no more. This means that buck will continue to complete the build
of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has
failed, other dependencies will be cancelled unless they are needed by `:bar`.

This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has
failed. Generally, this flag only has an effect on builds that specify multiple targets.

`--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency
of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if
possible.

--keep-going
If Buck hits an error, continue doing as much work as possible before exiting.

See `--fail-fast` for more details.

--skip-missing-targets
If target is missing, then skip building instead of throwing error

--skip-incompatible-targets
If target is incompatible with the specified configuration, skip building instead of
throwing error. This does not apply to targets specified with glob patterns `/...` or `:`
which are skipped unconditionally

--materialize-failed-inputs
Materializes inputs for failed actions which ran on RE

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/server/index.html b/docs/users/commands/server/index.html new file mode 100644 index 0000000000000..7b51089c3ee7e --- /dev/null +++ b/docs/users/commands/server/index.html @@ -0,0 +1,20 @@ + + + + + +server | Buck2 + + + + + + + + +
+

server

These are the flags/commands under buck2 server and their --help output:

buck server

Start, query, and control the http server

Usage: buck2-release server [OPTIONS]

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/starlark/index.html b/docs/users/commands/starlark/index.html new file mode 100644 index 0000000000000..c263fd4a5c3ea --- /dev/null +++ b/docs/users/commands/starlark/index.html @@ -0,0 +1,20 @@ + + + + + +starlark | Buck2 + + + + + + + + +
+

starlark

These are the flags/commands under buck2 starlark and their --help output:

buck starlark

Run Starlark operations

Usage: buck2-release starlark [OPTIONS] <COMMAND>

Commands:
lint Run the Starlark linter.
typecheck Run the Starlark typechecker.
debug-attach Run the starlark debug adapter protocol server
help Print this message or the help of the given subcommand(s)

Options:
-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck starlark lint

Run the Starlark linter.

Usage: buck2-release starlark lint [OPTIONS] <PATH>...

Options:
-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

<PATH>...


Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck starlark typecheck

Run the Starlark typechecker.

Usage: buck2-release starlark typecheck [OPTIONS] <PATH>...

Options:
-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

<PATH>...


Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

buck starlark debug-attach

Run the starlark debug adapter protocol server

This forwards requests received on stdin to a debug server running in the buck daemon. DAP events
and responses are returned from the daemon and sent to this command's stdout.

Usage: buck2-release starlark debug-attach [OPTIONS]

Options:
-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/status/index.html b/docs/users/commands/status/index.html new file mode 100644 index 0000000000000..e45e272b65548 --- /dev/null +++ b/docs/users/commands/status/index.html @@ -0,0 +1,20 @@ + + + + + +status | Buck2 + + + + + + + + +
+

status

These are the flags/commands under buck2 status and their --help output:

buck status

Buckd status

Usage: buck2-release status [OPTIONS]

Options:
--snapshot
Whether to include a state snapshot in the output.

--all
Enable printing status for all running buckd

-h, --help
Print help (see a summary with '-h')

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/subscribe/index.html b/docs/users/commands/subscribe/index.html new file mode 100644 index 0000000000000..be37cc43c072f --- /dev/null +++ b/docs/users/commands/subscribe/index.html @@ -0,0 +1,20 @@ + + + + + +subscribe | Buck2 + + + + + + + + +
+

subscribe

These are the flags/commands under buck2 subscribe and their --help output:

buck subscribe

Open a subscription channel to the Buck2 daemon. This allows you to interact with the Buck2 daemon
via the `stdin` and `stdout` of this command: you send requests to the daemon by writing to `stdin`,
and you get responses via `stdout`.

The protocol used by this command is length-prefixed protobuf. This format is a repeated series of a
varint followed by a record of the length indicated by said varint.

The protobuf spec for those records is described in `buck2_subscription_proto/subscription.proto`.
The client writes `SubscriptionRequest` and reads `SubscriptionResponse`. See the documentation in
`subscription.proto` to discover available APIs.

This API does not (currently) allow invalid requests and will error out when one is sent.

Usage: buck2-release subscribe [OPTIONS]

Options:
--active-commands
Whether to request command snapshots

--unstable-json
Whether to get output as JSON. The JSON format is deemed unstable so this should only be
used for debugging

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/targets/index.html b/docs/users/commands/targets/index.html new file mode 100644 index 0000000000000..9cd0cbf40cdf2 --- /dev/null +++ b/docs/users/commands/targets/index.html @@ -0,0 +1,20 @@ + + + + + +targets | Buck2 + + + + + + + + +
+

targets

These are the flags/commands under buck2 targets and their --help output:

buck targets

Alias for `utargets`

Usage: buck2-release targets [OPTIONS] [TARGET_PATTERNS]...

Arguments:
[TARGET_PATTERNS]...
Patterns to interpret

Options:
--json
Print targets as JSON

--json-lines
Print targets as JSON-lines

--stats
Print statistics of how many entries were processed

--resolve-alias
Print the fully-qualified build target for the specified aliases

--show-target-hash
Print a stable hash of each target after the target name

--show-unconfigured-target-hash
Print a stable unconfigured hash of each target after the target name

--target-hash-file-mode <TARGET_HASH_FILE_MODE>
Modifies computation of target hashes. If set to `PATHS_AND_CONTENTS` (the default), the
contents of all files referenced from the targets will be used to compute the target hash.
If set to `PATHS_ONLY`, only files' paths contribute to the hash. If set to `NONE` no
files will be used. See also --target-hash-modified-paths

[default: paths_and_contents]
[possible values: paths_only, paths_and_contents, none]

--target-hash-modified-paths <TARGET_HASH_MODIFIED_PATHS>...
Modifies computation of target hashes. Only effective when --target-hash-file-mode is set
to `PATHS_ONLY`. If a target or its dependencies reference a file from this set, the
target's hash will be different than if this option was omitted. Otherwise, the target's
hash will be the same as if this option was omitted

--target-hash-function <TARGET_HASH_FUNCTION>
Selects either the "fast" or the "strong" target hash function to be used for computing
target hashes. While we don't specify the exact algorithm, the "strong" algorithm should
be a reasonable cryptographic hash (ex. blake3) while the "fast" function will likely be a
non-crypto hash. Both functions are guaranteed to be deterministic and to have the same
value across different platforms/architectures

[default: fast]
[possible values: sha1, sha256, murmur-hash3, fast, strong]

--target-hash-recursive <TARGET_HASH_RECURSIVE>
When true, emit the hash or target node and all dependencies recursively. When false, hash
only the target node

[default: true]
[possible values: true, false]

-A, --output-all-attributes
Output all attributes, equivalent of --output-attribute ''.

Avoid using this flag in automation because it may be expensive to produce certain
attributes, and because it makes harder to track which special attributes are used.

-B, --output-basic-attributes
Output basic attributes, namely those the user can supply, plus rule type and package name

-a, --output-attribute <ATTRIBUTE>
Regular expressions to match attributes. Regular expressions are used in "search" mode, so
for example empty string matches all attributes including special attributes.

When using in automation, please specify the regular expression to match the attribute
precisely, for example `--output-attribute '^headers$'` to make it easier to track which
special attributes are used.

--output-attributes <ATTRIBUTE>...
Deprecated: Use `--output-attribute` instead.

List of space-separated attributes to output, --output-attributes attr1 attr2.

--include-defaults
Enables printing of default attributes. This would be attributes in a target that aren't
explicitly set in the target but instead use the default set in the rule declaration

--show-output
Print the path to the output for each of the rules relative to the project root

--show-full-output
Print the absolute path to the output for each of the rules

--show-simple-output
Print only the path to the output for each of the rules relative to the project root

--show-full-simple-output
Print only the absolute path to the output for each of the rules

--show-json-output
Print the output paths relative to the project root, in JSON format

--show-full-json-output
Print the output absolute paths, in JSON format

--keep-going
On loading errors, put buck.error in the output stream and continue

--streaming
Write output as soon as it is available. The order of the output items is
non-deterministic and if multiple patterns cover the same target, may have duplicates

--no-cache
Don't cache the target information on the build graph

--imports
Show the imports of each package/import. Shows an additional output per package/import
(not per target), including implicit dependencies (e.g. the prelude) but only direct
dependencies (not the transitive closure)

--package-values
Show the package values. Produces an additional attribute representing all the package
values for the package containing the target

--package-values-regex <VALUES>
Regular expressions to match package values. Produces an additional attribute representing
package values for the package containing the target. Regular expressions are used in
"search" mode so, for example, empty string matches all package values

-o, --output <PATH>
File to put the output in, rather than sending to stdout.

File will be created if it does not exist, and overwritten if it does.

--compression <SCHEME>
Compress the output

[default: none]
[possible values: none, gzip, zstd]

-j, --num-threads <THREADS>
Number of threads to use during execution (default is # cores)

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/test/index.html b/docs/users/commands/test/index.html new file mode 100644 index 0000000000000..48280f795e30f --- /dev/null +++ b/docs/users/commands/test/index.html @@ -0,0 +1,20 @@ + + + + + +test | Buck2 + + + + + + + + +
+

test

These are the flags/commands under buck2 test and their --help output:

buck test

Build and test the specified targets

Usage: buck2-release test [OPTIONS] [TARGET_PATTERNS]... [-- <TEST_EXECUTOR_ARGS>...]

Arguments:
[TARGET_PATTERNS]...
Patterns to test

[TEST_EXECUTOR_ARGS]...
Additional arguments passed to the test executor.

Test executor is expected to have `--env` flag to pass environment variables. Can be used
like this:

buck2 test //foo:bar -- --env PRIVATE_KEY=123

Options:
--exclude <EXCLUDE>...
Labels on targets to exclude from tests

--include <INCLUDE>...
Labels on targets to include from tests. Prefixing with `!` means to exclude. First match
wins unless overridden by `always-exclude` flag.
If include patterns are present, regardless of whether exclude patterns are present, then
all targets are by default excluded unless explicitly included.

--always-exclude
Whether to always exclude if the label appears in `exclude`, regardless of which appears
first

--build-filtered
Whether to build tests that are excluded via labels.

--unstable-allow-compatible-tests-on-re
Will allow tests that are compatible with RE (setup to run from the repo root and use
relative paths) to run from RE

--unstable-allow-all-tests-on-re
Will run tests to on RE even if they are missing required settings (running from the root
+ relative paths). Those required settings just get overridden

--overall-timeout <TIMEOUT>
How long to execute tests for. If the timeout is exceeded, Buck2 will exit as quickly as
possible and not run further tests. In-flight tests will be cancelled. The test
orchestrator will be allowed to shut down gracefully.

The exit code is controlled by the test orchestrator (which normally should report zero
for this).

The format is a concatenation of time spans (separated by spaces). Each time span is an
integer number and a suffix.

Relevant supported suffixes: seconds, second, sec, s, minutes, minute, min, m, hours,
hour, hr, h

For example: `5m 10s`, `500s`.

--test-executor-stdout <TEST_EXECUTOR_STDOUT>
Writes the test executor stdout to the provided path

--test-executor-stdout=- will write to stdout

--test-executor-stdout=FILEPATH will write to the provided filepath, overwriting the
current file if it exists

By default the test executor's stdout stream is captured

--ignore-tests-attribute
Normally testing will follow the `tests` attribute of all targets, to find their
associated tests. When passed, this flag will disable that, and only run the directly
supplied targets

--test-executor-stderr <TEST_EXECUTOR_STDERR>
Writes the test executor stderr to the provided path

--test-executor-stderr=- will write to stderr

--test-executor-stderr=FILEPATH will write to the provided filepath, overwriting the
current file if it exists

By default test executor's stderr stream is captured

--build-report <PATH>
Print a build report

`--build-report=-` will print the build report to stdout `--build-report=<filepath>` will
write the build report to the file

--enable-optional-validations <VALIDATION_NAMES>
Comma separated list of validation names to run that are marked optional.

By default, validations marked as optional are skipped. This option overrides the
behaviour and executes those validations.

--build-report-options <BUILD_REPORT_OPTIONS>
Comma separated list of build report options.

The following options are supported:

`fill-out-failures`: fill out failures the same way Buck1 would.

`package-project-relative-paths`: emit the project-relative path of packages for the
targets that were built.

-j, --num-threads <THREADS>
Number of threads to use during execution (default is # cores)

--local-only
Enable only local execution. Will reject actions that cannot execute locally

[env: BUCK_OFFLINE_BUILD=]

--remote-only
Enable only remote execution. Will reject actions that cannot execute remotely

--prefer-local
Enable hybrid execution. Will prefer executing actions that can execute locally on the
local host

--prefer-remote
Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and
will avoid racing local and remote execution

--unstable-no-execution
Experimental: Disable all execution

--no-remote-cache
Do not perform remote cache queries or cache writes. If remote execution is enabled, the
RE service might still deduplicate actions, so for e.g. benchmarking, using a random
isolation dir is preferred

[env: BUCK_OFFLINE_BUILD=]

--write-to-cache-anyway
Could be used to enable the action cache writes on the RE worker when no_remote_cache is
specified

--eager-dep-files
Process dep files when they are generated (i.e. after running a command that produces dep
files), rather than when they are used (i.e. before re-running a command that previously
produced dep files). Use this when debugging commands that produce dep files. Note that
commands that previously produced dep files will not re-run: only dep files produced
during this command will be eagerly loaded

--upload-all-actions
Uploads every action to the RE service, regardless of whether the action needs to execute
on RE.

This is useful when debugging builds and trying to inspect actions which executed
remotely. It's possible that the action result is cached but the action itself has
expired. In this case, downloading the action itself would fail. Enabling this option
would unconditionally upload all actions, thus you will not hit any expiration issues.

--fail-fast
If Buck hits an error, do as little work as possible before exiting.

To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The
default behavior of buck is to do enough work to get a result for the builds of each of
`:foo` and `:bar`, and no more. This means that buck will continue to complete the build
of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has
failed, other dependencies will be cancelled unless they are needed by `:bar`.

This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has
failed. Generally, this flag only has an effect on builds that specify multiple targets.

`--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency
of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if
possible.

--keep-going
If Buck hits an error, continue doing as much work as possible before exiting.

See `--fail-fast` for more details.

--skip-missing-targets
If target is missing, then skip building instead of throwing error

--skip-incompatible-targets
If target is incompatible with the specified configuration, skip building instead of
throwing error. This does not apply to targets specified with glob patterns `/...` or `:`
which are skipped unconditionally

--materialize-failed-inputs
Materializes inputs for failed actions which ran on RE

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/uquery/index.html b/docs/users/commands/uquery/index.html new file mode 100644 index 0000000000000..0a2575c26ba6d --- /dev/null +++ b/docs/users/commands/uquery/index.html @@ -0,0 +1,20 @@ + + + + + +uquery | Buck2 + + + + + + + + +
+

uquery

These are the flags/commands under buck2 uquery and their --help output:

buck uquery

Perform queries on the unconfigured target graph

The unconfigured target graph consists of the targets as they are
defined in the build files. In this graph, each target appears
exactly once and `select()`s are in the unresolved form. For large
queries, the unconfigured graph may be much smaller than the
configured graph and queries can be much more efficiently performed
there.

When querying the unconfigured graph, dependencies appearing in all
branches of `select()` dictionaries will be treated as dependencies.

Run `buck2 docs uquery` or
https://buck2.build/docs/users/query/uquery/
for more documentation about the functions available in uquery
expressions.

Examples:

Print all the attributes of a target

`buck2 uquery //java/com/example/app:amazing --output-all-attributes

List the deps of a target (special characters in a target will require quotes):
`buck2 uquery 'deps("//java/com/example/app:amazing+more")'`

select() encoding:

When printed, values with `select()`s use a special json encoding.

`1 + select({"//:a": 1, "DEFAULT": 2})` will be encoded as:

`{"__type": "concat", "items": [1, {"__type": "selector", "entries": {"//:a": 1, "DEFAULT": 2}}]}`

Usage: buck2-release uquery [OPTIONS] <QUERY> [QUERY_ARGS]...

Arguments:
<QUERY>
the query to evaluate

[QUERY_ARGS]...
list of literals for a multi-query (one containing `%s` or `%Ss`)

Options:
-A, --output-all-attributes
Output all attributes, equivalent of --output-attribute ''.

Avoid using this flag in automation because it may be expensive to produce certain
attributes, and because it makes harder to track which special attributes are used.

-B, --output-basic-attributes
Output basic attributes, namely those the user can supply, plus rule type and package name

-a, --output-attribute <ATTRIBUTE>
Regular expressions to match attributes. Regular expressions are used in "search" mode, so
for example empty string matches all attributes including special attributes.

When using in automation, please specify the regular expression to match the attribute
precisely, for example `--output-attribute '^headers$'` to make it easier to track which
special attributes are used.

--output-attributes <ATTRIBUTE>...
Deprecated: Use `--output-attribute` instead.

List of space-separated attributes to output, --output-attributes attr1 attr2.

--json
Output in JSON format

--dot
Output in Graphviz Dot format

--dot-compact
Output in a more compact format than Graphviz Dot

--output-format <dot|dot_compact|json|starlark>
Output format (default: list).

dot - dot graph format.

dot_compact - compact alternative to dot format.

json - JSON format.

starlark - targets are printed like starlark code that would produce them.


[possible values: dot, json, dot_compact, starlark]

--modifier <VALUE>
This option is not used

-h, --help
Print help (see a summary with '-h')

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/commands/utargets/index.html b/docs/users/commands/utargets/index.html new file mode 100644 index 0000000000000..7c98bfe8c4903 --- /dev/null +++ b/docs/users/commands/utargets/index.html @@ -0,0 +1,20 @@ + + + + + +utargets | Buck2 + + + + + + + + +
+

utargets

These are the flags/commands under buck2 utargets and their --help output:

buck utargets

Show details about the specified targets.

This command is meant to only handle unconfigured targets, but for historical reasons, with certain
flags it can also work with configured targets.

Usage: buck2-release utargets [OPTIONS] [TARGET_PATTERNS]...

Arguments:
[TARGET_PATTERNS]...
Patterns to interpret

Options:
--json
Print targets as JSON

--json-lines
Print targets as JSON-lines

--stats
Print statistics of how many entries were processed

--resolve-alias
Print the fully-qualified build target for the specified aliases

--show-target-hash
Print a stable hash of each target after the target name

--show-unconfigured-target-hash
Print a stable unconfigured hash of each target after the target name

--target-hash-file-mode <TARGET_HASH_FILE_MODE>
Modifies computation of target hashes. If set to `PATHS_AND_CONTENTS` (the default), the
contents of all files referenced from the targets will be used to compute the target hash.
If set to `PATHS_ONLY`, only files' paths contribute to the hash. If set to `NONE` no
files will be used. See also --target-hash-modified-paths

[default: paths_and_contents]
[possible values: paths_only, paths_and_contents, none]

--target-hash-modified-paths <TARGET_HASH_MODIFIED_PATHS>...
Modifies computation of target hashes. Only effective when --target-hash-file-mode is set
to `PATHS_ONLY`. If a target or its dependencies reference a file from this set, the
target's hash will be different than if this option was omitted. Otherwise, the target's
hash will be the same as if this option was omitted

--target-hash-function <TARGET_HASH_FUNCTION>
Selects either the "fast" or the "strong" target hash function to be used for computing
target hashes. While we don't specify the exact algorithm, the "strong" algorithm should
be a reasonable cryptographic hash (ex. blake3) while the "fast" function will likely be a
non-crypto hash. Both functions are guaranteed to be deterministic and to have the same
value across different platforms/architectures

[default: fast]
[possible values: sha1, sha256, murmur-hash3, fast, strong]

--target-hash-recursive <TARGET_HASH_RECURSIVE>
When true, emit the hash or target node and all dependencies recursively. When false, hash
only the target node

[default: true]
[possible values: true, false]

-A, --output-all-attributes
Output all attributes, equivalent of --output-attribute ''.

Avoid using this flag in automation because it may be expensive to produce certain
attributes, and because it makes harder to track which special attributes are used.

-B, --output-basic-attributes
Output basic attributes, namely those the user can supply, plus rule type and package name

-a, --output-attribute <ATTRIBUTE>
Regular expressions to match attributes. Regular expressions are used in "search" mode, so
for example empty string matches all attributes including special attributes.

When using in automation, please specify the regular expression to match the attribute
precisely, for example `--output-attribute '^headers$'` to make it easier to track which
special attributes are used.

--output-attributes <ATTRIBUTE>...
Deprecated: Use `--output-attribute` instead.

List of space-separated attributes to output, --output-attributes attr1 attr2.

--include-defaults
Enables printing of default attributes. This would be attributes in a target that aren't
explicitly set in the target but instead use the default set in the rule declaration

--show-output
Print the path to the output for each of the rules relative to the project root

--show-full-output
Print the absolute path to the output for each of the rules

--show-simple-output
Print only the path to the output for each of the rules relative to the project root

--show-full-simple-output
Print only the absolute path to the output for each of the rules

--show-json-output
Print the output paths relative to the project root, in JSON format

--show-full-json-output
Print the output absolute paths, in JSON format

--keep-going
On loading errors, put buck.error in the output stream and continue

--streaming
Write output as soon as it is available. The order of the output items is
non-deterministic and if multiple patterns cover the same target, may have duplicates

--no-cache
Don't cache the target information on the build graph

--imports
Show the imports of each package/import. Shows an additional output per package/import
(not per target), including implicit dependencies (e.g. the prelude) but only direct
dependencies (not the transitive closure)

--package-values
Show the package values. Produces an additional attribute representing all the package
values for the package containing the target

--package-values-regex <VALUES>
Regular expressions to match package values. Produces an additional attribute representing
package values for the package containing the target. Regular expressions are used in
"search" mode so, for example, empty string matches all package values

-o, --output <PATH>
File to put the output in, rather than sending to stdout.

File will be created if it does not exist, and overwritten if it does.

--compression <SCHEME>
Compress the output

[default: none]
[possible values: none, gzip, zstd]

-j, --num-threads <THREADS>
Number of threads to use during execution (default is # cores)

-h, --help
Print help (see a summary with '-h')

Target Configuration Options:
--target-platforms <PLATFORM>
Configuration target (one) to use to configure targets

-m, --modifier <VALUE>
A configuration modifier to configure all targets on the command line. This may be a
constraint value target.

Buckconfig Options:
-c, --config <SECTION.OPTION=VALUE>
List of config options

--config-file <PATH>
List of config file paths

--fake-host <HOST>
[possible values: default, linux, macos, windows]

--fake-arch <ARCH>
[possible values: default, aarch64, x8664]

--fake-xcode-version <VERSION-BUILD>
Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b)

--reuse-current-config
Re-uses any `--config` values (inline or via modefiles) if there's a previous command,
otherwise the flag is ignored.

If there is a previous command and `--reuse-current-config` is set, then the old config is
used, ignoring any overrides.

If there is no previous command but the flag was set, then the flag is ignored, the
command behaves as if the flag was not set at all.

--exit-when-different-state
Used for exiting a concurrent command when a different state is detected

--preemptible <PREEMPTIBLE>
Used to configure when this command could be preempted by another command for the same
isolation dir.

Normally, when you run two commands - from different terminals, say - buck2 will attempt
to run them in parallel. However, if the two commands are based on different state, that
is they either have different configs or different filesystem states, buck2 cannot run
them in parallel. The default behavior in this case is to block the second command until
the first completes.

Possible values:
- never: (default) When another command starts that cannot run in parallel with
this one, block that command
- always: When another command starts, interrupt this command, *even if they
could run in parallel*. There is no good reason to use this other than that it provides
slightly nicer superconsole output
- ondifferentstate: When another command starts that cannot run in parallel with this one,
interrupt this command

Starlark Options:
--disable-starlark-types
Disable runtime type checking in Starlark interpreter.

This option is not stable, and can be used only locally to diagnose evaluation performance
problems.

--stack
Record or show target call stacks.

Starlark call stacks will be included in duplicate targets error.

If a command outputs targets (like `targets` command), starlark call stacks will be
printed after the targets.

Console Options:
--console <super|simple|...>
Which console to use for this command

[env: BUCK_CONSOLE=]
[default: auto]
[possible values: simple, simplenotty, simpletty, super, auto, none]

--ui <UI>...
Configure additional superconsole ui components.

Accepts a comma-separated list of superconsole components to add. Possible values are:

dice - shows information about evaluated dice nodes debugevents - shows information about
the flow of events from buckd

These components can be turned on/off interactively. Press 'h' for help when superconsole
is active.

Possible values:
- dice
- debugevents
- io: I/O panel
- re: RE panel

--no-interactive-console
Disable console interactions

[env: BUCK_NO_INTERACTIVE_CONSOLE=]

Event Log Options:
--event-log <PATH>
Write events to this log file

--write-build-id <PATH>
Write command invocation id into this file

--unstable-write-invocation-record <PATH>
Write the invocation record (as JSON) to this path. No guarantees whatsoever are made
regarding the stability of the format

Universal Options:
-v, --verbose <VERBOSITY>
How verbose buck should be while logging.

Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 =
more info about everything; 4 = more info about everything + stderr;

It can be combined with specific log items (stderr, full_failed_command, commands,
actions, status, stats, success) to fine-tune the verbosity of the log. Example usage
"-v=1,stderr"

[default: 1]

--oncall <ONCALL>
The oncall executing this command

--client-metadata <CLIENT_METADATA>
Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the
form `key=value`, where `key` is a snake_case identifier, and will be sent to backend
datasets

+ + + + \ No newline at end of file diff --git a/docs/users/faq/buck_hanging/index.html b/docs/users/faq/buck_hanging/index.html new file mode 100644 index 0000000000000..21702c4493006 --- /dev/null +++ b/docs/users/faq/buck_hanging/index.html @@ -0,0 +1,51 @@ + + + + + +Why is Buck2 hanging? | Buck2 + + + + + + + + +
+

Why is Buck2 hanging?

Let's look at how to troubleshoot when buck2 hangs, i.e. it just sits there +saying "Jobs: In progress: 0, ..." but it’s not finishing...

When buck2 hangs, there are two possibilities: It’s either hanging doing +something, or it’s hanging doing nothing. The first thing you should do is +figure out which of those is happening. That’s because the tools to debug either +of those are very different! We will mainly focus on the first in this case.

To figure out which hang you have on your hands, just look at how much CPU buck2 +is using when the hang occurs using your favorite activity monitor (e.g. top, +htop). Remember that you can find the buck2 daemon’s PID using buck2 status. +Ideally, break the utilization down by threads (in top, that’s top -Hp $PID).

If any thread is using 100% CPU for some period of time, then you probably have +a busy hang (buck2 is doing “something”) which are usually easier to debug.

How to debug a “busy” hang

Getting a stack trace

When debugging a busy hang, the first thing to do is to work out what the +process is doing. There are many tools you can use for this (like a profiler), +but the absolute simplest one is quickstack: just run quickstack -p $PID, and +it’ll show you a stack dump for all the threads in your process. If you prefer +gdb, you can use gdb -p $PID, then thread apply all bt, and that’s the +same thing.

Note that a stack trace tells you what the process is doing at a point in time, +so don’t just look at the very last frame and call it the culprit. Instead, look +at the stack as a whole. If you need more perspective, use a sampling profiler

. You can also just grab stack traces at a few points in time and see if they look similar: this is exactly what a sampling profiler does, albeit at a higher frequency.

Interpreting the stack trace

Let's consider an example user report +with the following stack trace:

#01  0x0000000005b1ec26 in <buck2_build_api::artifact_groups::artifact_group_values::TransitiveSetIterator<buck2_build_api::artifact_groups::artifact_group_values::ArtifactGroupValues, (buck2_build_api::actions::artifact::Artifact, buck2_execute::artifact_value::ArtifactValue), buck2_build_api::artifact_groups::artifact_group_values::ArtifactValueIdentity> as core::iter::traits::iterator::Iterator>::next () from ...
#02 0x0000000005b23998 in <buck2_build_api::artifact_groups::artifact_group_values::TransitiveSetIterator<buck2_build_api::artifact_groups::artifact_group_values::ArtifactGroupValues, (buck2_build_api::actions::artifact::Artifact, buck2_execute::artifact_value::ArtifactValue), buck2_build_api::artifact_groups::artifact_group_values::ArtifactValueIdentity> as itertools::Itertools>::exactly_one () from ...
#03 0x00000000059dbb2c in buck2_server_commands::commands::build::create_unhashed_outputs () from ...
#04 0x0000000005c3c677 in <core::future::from_generator::GenFuture<<buck2_server_commands::commands::build::BuildServerCommand as buck2_server_ctx::template::ServerCommandTemplate>::command::{closure#0}> as core::future::future::Future>::poll () from ...
#05 0x00000000054c58a3 in <core::future::from_generator::GenFuture<<alloc::boxed::Box<dyn buck2_server_ctx::ctx::ServerCommandContextTrait> as buck2_server_ctx::ctx::ServerCommandDiceContext>::with_dice_ctx<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}::{closure#0}, core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<cli_proto::BuildResponse, anyhow::Error>> + core::marker::Send>>, cli_proto::BuildResponse>::{closure#0}> as core::future::future::Future>::poll () from ...
#06 0x00000000054c7ae3 in <core::future::from_generator::GenFuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}> as core::future::future::Future>::poll () from ...
#07 0x0000000005370df8 in <buck2_events::dispatch::Span>::call_in_span::<core::task::poll::Poll<(core::result::Result<cli_proto::BuildResponse, anyhow::Error>, buck2_data::CommandEnd)>, <buck2_events::dispatch::EventDispatcher>::span_async<buck2_data::CommandStart, buck2_data::CommandEnd, core::future::from_generator::GenFuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}>, core::result::Result<cli_proto::BuildResponse, anyhow::Error>>::{closure#0}::{closure#0}::{closure#0}> () from ...
#08 0x00000000054f7288 in <core::future::from_generator::GenFuture<<cli::commands::daemon::BuckdServerDependenciesImpl as buck2_server::daemon::server::BuckdServerDependencies>::build::{closure#0}> as core::future::future::Future>::poll () from...
...

At this point, you can look at the code, and note that there is no span around +the output symlink creation function (create_unhashed_outputs). This suggests +you’ve found your culprit: there is indeed a buck2 bug and we’re spending ages +creating unhashed output symlinks, and since you need a span to get any console +feedback, the console says nothing is happening.

An easy fix: In this particular instance, Thomas spotted +an easy optimization +which resolved the issue. But, of course, that’s not always possible. If the +easy fix hadn't been available, we’d be at a dead end, so what do we do next?

A harder fix: If it is not clear what the root-cause is, you can +bisect: +i.e. do a binary search across commits for the commit that introduced a given +breakage/perf degradation. Then, once you identify their commit that caused +breakage, investigate what caused the issue.

How to debug a “doing nothing” hang

Cycle in dependencies: If buck2 seems to be doing nothing (e.g. CPU usage is +0%), one of the reasons could be a cycle in your dependencies, which may cause +buck2 to hang (buck2 does implement a form of cycle detection, but it +unfortunately has false negatives). You can confirm this by running buck1, which +will report cycles properly.

+ + + + \ No newline at end of file diff --git a/docs/users/faq/common_issues/index.html b/docs/users/faq/common_issues/index.html new file mode 100644 index 0000000000000..ad2553b8eaaf0 --- /dev/null +++ b/docs/users/faq/common_issues/index.html @@ -0,0 +1,52 @@ + + + + + +Common Issues | Buck2 + + + + + + + + +
+

Common Issues

Why is stdin being swallowed?

Buck2 offers an interactive console by default.

To disable either use an env var: BUCK_NO_INTERACTIVE_CONSOLE or a flag: +--no-interactive-console

Where is my output file?

To find the location of output for a target, use +buck2 build //foo:bar --show-output. This will print the output corresponding +to each built target, in this case //foo:bar output_path.

To only get the output path (without the target beforehand) you want to use +buck2 build //foo:bar --show-simple-output.

The resultant path is relative to the root of the repo (such as +~/repo_root/...). For the full path use --show-full-output or +--show-full-simple-output.

Note: in Buck1, the path is relative to the enclosing cell (such as +~/repo_root/cell/...).

Why is Buck2 hanging?

If Buck2 seems to be doing nothing, it could be caused be a cycle in your +dependencies, which may cause Buck2 to hang (Buck2 does implement a form of +cycle detection, but it unfortunately has false negatives). You can confirm this +by running Buck1, which will report cycles properly.

How do I get the commands Buck2 executed so I can reproduce them in isolation?

For information, see +Finding Commands that Buck2 Ran.

Are multiple concurrent commands supported?

Yes, they are supported. There are 2 types of concurrent commands: 1) parallel +invocations, and 2) recursive invocations.

Parallel invocations:

If the state of all the commands are the same, then they will run at the same +time. "State" is referring to the same configs and source files. If the state is +different amongst the commands, then buck2 will block the commands properly such +that the states do not interfere with each other. Different states are caused by +source file changes or config changes (ex: using a different mode).

Recursive invocations:

A recursive invocation is when an outer buck2 command ends up calling another +buck2 command as it's running. Recursive invocations are most commonly seen with +genrules and tests. For example:

  • If you have a genrule where the command contains a buck2 cquery, and you +build the genrule with buck2 build, you have a recursive invocation where +the outer command is buck2 build and the inner command is buck2 cquery
  • If you have a test which contains buck2 build, and you run your test with +buck2 test, you have a recursive invocation where the outer command is +buck2 test and the inner command is buck2 build

Recursive invocations should specify an --isolation-dir, or else buck2 will +return an error.

Why did my build OOM?

If your build OOMs, you can check the last actions running by using +buck2 log whatup. This will print the superconsole state at the moment the +event log ended, which will indicate what actions were being run (and consuming +memory) when your machine ran out of memory.

You can also use the --after <millis> option to see all open spans at a +certain point in time of the build.

Why does my target not have any outputs?

If you see that your build succeeded, but the console message stated that your +target did not have any outputs, this means that the underlying rule did not +declare any outputs artifacts, defined as outputs declared in:

  • default_outputs and/or other_outputs in DefaultInfo
  • cmd_args in RunInfo
  • cmd_args inside the command in ExternalRunnerTestInfo

For example, building a target which uses a python_library rule merely groups +source files together and does not generate any output artifacts such as a +python executable. You would need to build a python_binary which uses that +library in order to get an output.

+ + + + \ No newline at end of file diff --git a/docs/users/faq/starlark_peak_mem/index.html b/docs/users/faq/starlark_peak_mem/index.html new file mode 100644 index 0000000000000..1d33e0e9d9e68 --- /dev/null +++ b/docs/users/faq/starlark_peak_mem/index.html @@ -0,0 +1,56 @@ + + + + + +Debugging Excess Starlark Peak Memory | Buck2 + + + + + + + + +
+

Debugging Excess Starlark Peak Memory

Wut memory?

Peak memory is the maximum amount of memory used during evaluation of that +particular Starlark file. The memory is usually released after we finish the +evaluation of the file. Because Starlark is only garbage collected in between +top-level statements in the BUCK file, but not garbage collected inside function +calls/macros, on large servers with 64 hardware threads (or more), memory usage +might accumulate, causing slowdowns or OOMs .

To prevent such issues until proper GC is implemented, we have set a hard 2GB +memory limit for Starlark's evaluation of build files. This is a per-file limit.

Note that this is different than the actual process memory which might include +other things apart from Starlark’s evaluation.

How do I see my build file's peak memory usage?

To see the Starlark peak memory usage of a build file, you can inspect the event +log for your build file. Here is an example entry from the event log for buck2 +uquery target showing that it uses 1.5GB:

{"Event":{..."data":{"Load":{"module_id":"target:BUCK","cell":"...","error":null,"starlark_peak_allocated_bytes":1610608640}}}}}}

Profiler to the rescue!

If you want to see more detailed breakdown where the memory is used, you should +profile Starlark's evaluation of build files. See +this page for details +of profiling in the loading stage. This is a great starting point for +troubleshooting.

How do I reduce memory footprint?

There are many reasons why Starlark's evaluation of your build file might use a +lot of memory. We list a few common cases below but there might be more +cases.

High level guidance is to pay attention to loops as a starting point. Are there +any unnecessary computations? Can you shave them off?

Repeatedly allocating memory unnecessarily in a loop

A common case where memory usage might accumulate is repeatedly allocating +memory in a loop. For instance, below we call a memory intensive function in a +loop unnecessarily:

for target in huge_target_list:
memory_intensive_fun(x,y)
...

Instead, if we know that arguments x and y don't change, we could hoist the +call to memory_intensive_fun outside of the loop as follows:

memory_intensive_fun(x,y)
for target in huge_target_list:
...

Simply allocating very big data-structures!

Another reason why Starlark uses a lot of memory could simply be because the +build file allocates a very big-data structure. For instance, below we allocate +a list with 1 billion integers!

million_list = [1 for i in range(1 << 20)]
billion_list = million_list * (1 << 10)

As a workaround, could you think of splitting the list?

Algorithmically inefficient code

Another reason could be because memory efficiency of your code is bad, i.e. you +are unnecessarily allocating a lot of memory. Let's look at an example where we +try to process a bunch of targets inefficiently:

targets = generate_targets(n)
for target in targets:
process(target)

If targets list is big and each target takes a lot of space in memory, +memory usage might exceed the limit. Instead, a more efficient version might be +to process each target as you generate it:

for i in range(n):
target = generate_target(i)
process(target)

In this version, each target is processed as it is generated so we never need to +store more than one target in memory.

Usage of inefficient library calls

A more subtle reason could be unknowingly invoking library calls that allocate +each time they are called. A well-known case of this is the dict.items() call.

for project, version in constraints.items():
# process each project ....

We do an allocation on every call to constraints.items(). Especially if this +is a hot code in Starlark, this could cause an OOM. Instead, a potential fix is +to hoist the call out:

constraints = constraints.items()
for project, version in constraints:
# process each project ....

However, you need to ensure that the dictionary is not mutated inside, otherwise +you would get functionally different code. A similar case occurs for +dict.keys() where it returns a new list for containing the keys.

Allocating for rare cases

Finally, another pattern is allocating memory for the rare cases. For instance, +consdier the following example

for target in huge_target_list:
if memory_intensive_condition([target])
fail(...)

Above program could be optimized as follows:

if memory_intensive_condition(huge_target_list)
for target in huge_target_list:
if memory_intensive_condition([target])
fail(...)

so that in the common non-failure case, we don't end up allocating excessive +memory.

I still need more help!

If you still can not figure out how to reduce Starlark memory footprint of your +build files, raise +an issue in our Github +project.

+ + + + \ No newline at end of file diff --git a/docs/users/query/aquery/index.html b/docs/users/query/aquery/index.html new file mode 100644 index 0000000000000..fb7939971a40b --- /dev/null +++ b/docs/users/query/aquery/index.html @@ -0,0 +1,52 @@ + + + + + +Aquery Environment | Buck2 + + + + + + + + +
+

Aquery Environment

Query Value Types

  • string:

    For example, non_quoted_string or "quoted string".

  • integer:

    Must be positive and fit in u32.

  • target expression: either a literal or the return value of a function

    This could be a literal build target ("cell//some:target") or a pattern ("cell//package:" or "cell//recursive/...") or the result of another function that returns a target expression. For queries in CLI commands (like buck2 query), literals can be relative to the current working dir (like some:target or ...).

  • file expression: either a literal or the return value of a function

    This could be a file literal like path/to/a.file or the return value of a function that returns files (for example, the buildfile() function).

  • target or file expression:

    Either a file expression or target expression. This could be a literal like path/to/a.file or "cell//some:target", +or the return value of a function that returns files or targets.

  • query expression: a valid query expression, evaluated in a function-specific context

    This is used for functions that capture an expression and evaluate it in another context. For example, the deps() function can accept an expression that it uses to find the children of a node to customize the deps traversal.

  • any value:

    Any query value.

Common query functions

  • allpaths(from: target expression, to: target expression): Computes all dependency paths.

  • somepath(from: target expression, to: target expression)

  • attrfilter(attr: string, value: string, targets: target expression): The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value.

  • nattrfilter(attr: string, value: string, targets: target expression)

  • attrregexfilter(attr: string, value: string, targets: target expression)

  • buildfile(targets: target expression)

  • rbuildfiles(universe: file expression, argset: file expression)

  • allbuildfiles(universe: target expression)

  • deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)

  • filter(regex: string, set: target or file expression): Filter using regex partial match.

  • inputs(targets: target expression)

  • kind(regex: string, targets: target expression): The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex.

  • labels(attr: string, targets: target expression): This function is not implemented, and won't be, because buck2 query core does not support

  • owner(files: file expression): The owner(inputfile) operator returns the targets that own the specified inputfile.

  • targets_in_buildfile(files: file expression)

  • rdeps(universe: target expression, targets: target expression, depth: ?integer)

  • testsof(targets: target expression)

  • first_order_deps(): A filter function that can be used in the query expression of deps query function.

  • target_deps(): A filter function that can be used in the query expression of deps query function.

  • exec_deps(): A filter function that can be used in the query expression of deps query function.

  • configuration_deps(): A filter function that can be used in the query expression of deps query function.

  • toolchain_deps(): A filter function that can be used in the query expression of deps query function.

  • intersect(left: any value, right: any value): Computes the set intersection over the given arguments.

  • except(left: any value, right: any value): Computes the arguments that are in argument A but not in argument B.

  • union(left: any value, right: any value): Computes the set union over the given arguments.

allpaths(from: target expression, to: target expression)

Computes all dependency paths.

The allpaths(from, to) function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value of +buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" +is the dependency graph rooted at the single target node //foo:bar, that includes all target nodes that depend (transitively) on //foo/bar/lib:baz.

The two arguments to allpaths() can themselves be expressions. For example, the command: +buck query "allpaths(kind(java_library, '//...'), '//foo:bar')" +shows all the paths between any java_library in the repository and the target //foo:bar.

We recommend using allpaths() with the --output-format=dot parameter to generate a graphviz file that can then be rendered as an image. For example:

$ buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" --output-format=dot --output-file=result.dot
$ dot -Tpng result.dot -o image.png

Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs.

somepath(from: target expression, to: target expression)

attrfilter(attr: string, value: string, targets: target expression)

The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value.

In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps.

  • If the attribute is a single value, say name, it is compared to the specified value, and the target is returned if they match.
  • If the attribute is a list, the target is returned if that list contains the specified value.
  • If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary.

For example: +buck2 query "attrfilter(deps, '//foo:bar', '//...')" returns the build targets in the repository that depend on //foo:bar, or more precisely: those build targets that include //foo:bar in their deps argument list.

nattrfilter(attr: string, value: string, targets: target expression)

attrregexfilter(attr: string, value: string, targets: target expression)

buildfile(targets: target expression)

rbuildfiles(universe: file expression, argset: file expression)

allbuildfiles(universe: target expression)

deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)

filter(regex: string, set: target or file expression)

Filter using regex partial match.

Target are matched against their fully qualified name. +Files are matched against their repo path like repo//foo/bar/baz.py.

inputs(targets: target expression)

kind(regex: string, targets: target expression)

The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex.

The specified pattern can be a regular expression. For example, +buck2 query "kind('java.*', deps('//foo:bar'))" returns the targets that match the rule type java.* (java_library, java_binary, etc.) in the transitive dependencies of //foo:bar.

labels(attr: string, targets: target expression)

This function is not implemented, and won't be, because buck2 query core does not support

returning both files and targets from a single function.

In buck1 it returns targets and files referenced by the given attribute +in the given targets.

Some discussion in T126638795.

owner(files: file expression)

The owner(inputfile) operator returns the targets that own the specified inputfile.

In this context, own means that the target has the specified file as an input. You could consider the owner() and inputs() operators to be inverses of each other.

Example: buck2 query "owner('examples/1.txt')" returns the targets that owns the file examples/1.txt, which could be a value such as //examples:one.

It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets.

If no owner for the file is found, owner() outputs the message: No owner was found for <file>

targets_in_buildfile(files: file expression)

rdeps(universe: target expression, targets: target expression, depth: ?integer)

testsof(targets: target expression)

first_order_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to deps(<targets>, 1).

Example: +buck2 cquery "deps('//foo:bar', 1, first_order_deps())"`` is equivalent to buck2 cquery "deps('//foo:bar', 1)"`

target_deps()

A filter function that can be used in the query expression of deps query function.

Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies) +like compiler used as a part of the build.

Example: +`buck2 cquery "deps('//foo:bar', 1, target_deps())"``

exec_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build.

Example: +`buck2 cquery "deps('//foo:bar', 1, exec_deps())"``

configuration_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for configuration dependencies (that appear as conditions in selects).

Example: +`buck2 cquery "deps('//foo:bar', 1, configuration_deps())"``

toolchain_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for toolchain dependencies.

Example: +`buck2 cquery "deps('//foo:bar', 1, toolchain_deps())"``

intersect(left: any value, right: any value)

Computes the set intersection over the given arguments.

Can be used with the ^ symbol. This operator is commutative.

The parser treats this operator as left-associative and of equal precedence, so we recommend +that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression +resolves to the value of the expression it encloses.

Example: +buck2 aquery "deps('//foo:bar') intersect deps('//baz:lib')" is the same as +buck2 aquery "deps('//foo:bar') ^ deps('//baz:lib')" +Both return the targets that appear in the transitive closure of //foo:bar and //baz:lib.

except(left: any value, right: any value)

Computes the arguments that are in argument A but not in argument B.

Can be used with the - symbol. This operator is NOT commutative.

The parser treats this operator as left-associative and of equal precedence, so we recommend +that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression +resolves to the value of the expression it encloses.

Example: +buck2 aquery "deps('//foo:bar') except deps('//baz:lib')" is the same as +buck2 aquery "deps('//foo:bar') - deps('//baz:lib')" +Both return the targets that //foo:bar depends on and that //baz:lib does NOT depend on.

union(left: any value, right: any value)

Computes the set union over the given arguments.

Can be used with the + symbol. This operator is commutative.

The parser treats all this operator as left-associative and of equal precedence, so we recommend +that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression +resolves to the value of the expression it encloses.

Example: +buck2 aquery "deps('//foo:bar') union deps('//baz:lib')" is the same as +buck2 aquery "deps('//foo:bar') + deps('//baz:lib')" +Both return the aggregation of the targets that //foo:bar and //baz:lib depend on.

Query functions

  • all_outputs(targets: target expression): Obtain the actions for all the outputs provided by the DefaultInfo for the targets passed

  • all_actions(targets: target expression): Obtain all the actions declared within the analysis of a given target.

all_outputs(targets: target expression)

Obtain the actions for all the outputs provided by the DefaultInfo for the targets passed

as input. This includes both the default_outputs and other_outputs.

This operation only makes sense on a target literal (it does nothing if passed something +else).

all_actions(targets: target expression)

Obtain all the actions declared within the analysis of a given target.

This operation only makes sense on a target literal (it is a simple passthrough when passed +an action).

+ + + + \ No newline at end of file diff --git a/docs/users/query/cquery/index.html b/docs/users/query/cquery/index.html new file mode 100644 index 0000000000000..351627a63bc8e --- /dev/null +++ b/docs/users/query/cquery/index.html @@ -0,0 +1,50 @@ + + + + + +Cquery Environment | Buck2 + + + + + + + + +
+

Cquery Environment

Query Value Types

  • string:

    For example, non_quoted_string or "quoted string".

  • integer:

    Must be positive and fit in u32.

  • target expression: either a literal or the return value of a function

    This could be a literal build target ("cell//some:target") or a pattern ("cell//package:" or "cell//recursive/...") or the result of another function that returns a target expression. For queries in CLI commands (like buck2 query), literals can be relative to the current working dir (like some:target or ...).

  • file expression: either a literal or the return value of a function

    This could be a file literal like path/to/a.file or the return value of a function that returns files (for example, the buildfile() function).

  • target or file expression:

    Either a file expression or target expression. This could be a literal like path/to/a.file or "cell//some:target", +or the return value of a function that returns files or targets.

  • query expression: a valid query expression, evaluated in a function-specific context

    This is used for functions that capture an expression and evaluate it in another context. For example, the deps() function can accept an expression that it uses to find the children of a node to customize the deps traversal.

  • any value:

    Any query value.

Common query functions

  • allpaths(from: target expression, to: target expression): Computes all dependency paths.

  • somepath(from: target expression, to: target expression)

  • attrfilter(attr: string, value: string, targets: target expression): The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value.

  • nattrfilter(attr: string, value: string, targets: target expression)

  • attrregexfilter(attr: string, value: string, targets: target expression)

  • buildfile(targets: target expression)

  • rbuildfiles(universe: file expression, argset: file expression)

  • allbuildfiles(universe: target expression)

  • deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)

  • filter(regex: string, set: target or file expression): Filter using regex partial match.

  • inputs(targets: target expression)

  • kind(regex: string, targets: target expression): The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex.

  • labels(attr: string, targets: target expression): This function is not implemented, and won't be, because buck2 query core does not support

  • owner(files: file expression): The owner(inputfile) operator returns the targets that own the specified inputfile.

  • targets_in_buildfile(files: file expression)

  • rdeps(universe: target expression, targets: target expression, depth: ?integer)

  • testsof(targets: target expression)

  • first_order_deps(): A filter function that can be used in the query expression of deps query function.

  • target_deps(): A filter function that can be used in the query expression of deps query function.

  • exec_deps(): A filter function that can be used in the query expression of deps query function.

  • configuration_deps(): A filter function that can be used in the query expression of deps query function.

  • toolchain_deps(): A filter function that can be used in the query expression of deps query function.

  • intersect(left: any value, right: any value): Computes the set intersection over the given arguments.

  • except(left: any value, right: any value): Computes the arguments that are in argument A but not in argument B.

  • union(left: any value, right: any value): Computes the set union over the given arguments.

allpaths(from: target expression, to: target expression)

Computes all dependency paths.

The allpaths(from, to) function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value of +buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" +is the dependency graph rooted at the single target node //foo:bar, that includes all target nodes that depend (transitively) on //foo/bar/lib:baz.

The two arguments to allpaths() can themselves be expressions. For example, the command: +buck query "allpaths(kind(java_library, '//...'), '//foo:bar')" +shows all the paths between any java_library in the repository and the target //foo:bar.

We recommend using allpaths() with the --output-format=dot parameter to generate a graphviz file that can then be rendered as an image. For example:

$ buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" --output-format=dot --output-file=result.dot
$ dot -Tpng result.dot -o image.png

Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs.

somepath(from: target expression, to: target expression)

attrfilter(attr: string, value: string, targets: target expression)

The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value.

In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps.

  • If the attribute is a single value, say name, it is compared to the specified value, and the target is returned if they match.
  • If the attribute is a list, the target is returned if that list contains the specified value.
  • If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary.

For example: +buck2 query "attrfilter(deps, '//foo:bar', '//...')" returns the build targets in the repository that depend on //foo:bar, or more precisely: those build targets that include //foo:bar in their deps argument list.

nattrfilter(attr: string, value: string, targets: target expression)

attrregexfilter(attr: string, value: string, targets: target expression)

buildfile(targets: target expression)

rbuildfiles(universe: file expression, argset: file expression)

allbuildfiles(universe: target expression)

deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)

filter(regex: string, set: target or file expression)

Filter using regex partial match.

Target are matched against their fully qualified name. +Files are matched against their repo path like repo//foo/bar/baz.py.

inputs(targets: target expression)

kind(regex: string, targets: target expression)

The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex.

The specified pattern can be a regular expression. For example, +buck2 query "kind('java.*', deps('//foo:bar'))" returns the targets that match the rule type java.* (java_library, java_binary, etc.) in the transitive dependencies of //foo:bar.

labels(attr: string, targets: target expression)

This function is not implemented, and won't be, because buck2 query core does not support

returning both files and targets from a single function.

In buck1 it returns targets and files referenced by the given attribute +in the given targets.

Some discussion in T126638795.

owner(files: file expression)

The owner(inputfile) operator returns the targets that own the specified inputfile.

In this context, own means that the target has the specified file as an input. You could consider the owner() and inputs() operators to be inverses of each other.

Example: buck2 query "owner('examples/1.txt')" returns the targets that owns the file examples/1.txt, which could be a value such as //examples:one.

It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets.

If no owner for the file is found, owner() outputs the message: No owner was found for <file>

targets_in_buildfile(files: file expression)

rdeps(universe: target expression, targets: target expression, depth: ?integer)

testsof(targets: target expression)

first_order_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to deps(<targets>, 1).

Example: +buck2 cquery "deps('//foo:bar', 1, first_order_deps())"`` is equivalent to buck2 cquery "deps('//foo:bar', 1)"`

target_deps()

A filter function that can be used in the query expression of deps query function.

Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies) +like compiler used as a part of the build.

Example: +`buck2 cquery "deps('//foo:bar', 1, target_deps())"``

exec_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build.

Example: +`buck2 cquery "deps('//foo:bar', 1, exec_deps())"``

configuration_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for configuration dependencies (that appear as conditions in selects).

Example: +`buck2 cquery "deps('//foo:bar', 1, configuration_deps())"``

toolchain_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for toolchain dependencies.

Example: +`buck2 cquery "deps('//foo:bar', 1, toolchain_deps())"``

intersect(left: any value, right: any value)

Computes the set intersection over the given arguments.

Can be used with the ^ symbol. This operator is commutative.

The parser treats this operator as left-associative and of equal precedence, so we recommend +that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression +resolves to the value of the expression it encloses.

Example: +buck2 aquery "deps('//foo:bar') intersect deps('//baz:lib')" is the same as +buck2 aquery "deps('//foo:bar') ^ deps('//baz:lib')" +Both return the targets that appear in the transitive closure of //foo:bar and //baz:lib.

except(left: any value, right: any value)

Computes the arguments that are in argument A but not in argument B.

Can be used with the - symbol. This operator is NOT commutative.

The parser treats this operator as left-associative and of equal precedence, so we recommend +that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression +resolves to the value of the expression it encloses.

Example: +buck2 aquery "deps('//foo:bar') except deps('//baz:lib')" is the same as +buck2 aquery "deps('//foo:bar') - deps('//baz:lib')" +Both return the targets that //foo:bar depends on and that //baz:lib does NOT depend on.

union(left: any value, right: any value)

Computes the set union over the given arguments.

Can be used with the + symbol. This operator is commutative.

The parser treats all this operator as left-associative and of equal precedence, so we recommend +that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression +resolves to the value of the expression it encloses.

Example: +buck2 aquery "deps('//foo:bar') union deps('//baz:lib')" is the same as +buck2 aquery "deps('//foo:bar') + deps('//baz:lib')" +Both return the aggregation of the targets that //foo:bar and //baz:lib depend on.

+ + + + \ No newline at end of file diff --git a/docs/users/query/uquery/index.html b/docs/users/query/uquery/index.html new file mode 100644 index 0000000000000..042d099ae7e50 --- /dev/null +++ b/docs/users/query/uquery/index.html @@ -0,0 +1,50 @@ + + + + + +Uquery Environment | Buck2 + + + + + + + + +
+

Uquery Environment

Query Value Types

  • string:

    For example, non_quoted_string or "quoted string".

  • integer:

    Must be positive and fit in u32.

  • target expression: either a literal or the return value of a function

    This could be a literal build target ("cell//some:target") or a pattern ("cell//package:" or "cell//recursive/...") or the result of another function that returns a target expression. For queries in CLI commands (like buck2 query), literals can be relative to the current working dir (like some:target or ...).

  • file expression: either a literal or the return value of a function

    This could be a file literal like path/to/a.file or the return value of a function that returns files (for example, the buildfile() function).

  • target or file expression:

    Either a file expression or target expression. This could be a literal like path/to/a.file or "cell//some:target", +or the return value of a function that returns files or targets.

  • query expression: a valid query expression, evaluated in a function-specific context

    This is used for functions that capture an expression and evaluate it in another context. For example, the deps() function can accept an expression that it uses to find the children of a node to customize the deps traversal.

  • any value:

    Any query value.

Common query functions

  • allpaths(from: target expression, to: target expression): Computes all dependency paths.

  • somepath(from: target expression, to: target expression)

  • attrfilter(attr: string, value: string, targets: target expression): The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value.

  • nattrfilter(attr: string, value: string, targets: target expression)

  • attrregexfilter(attr: string, value: string, targets: target expression)

  • buildfile(targets: target expression)

  • rbuildfiles(universe: file expression, argset: file expression)

  • allbuildfiles(universe: target expression)

  • deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)

  • filter(regex: string, set: target or file expression): Filter using regex partial match.

  • inputs(targets: target expression)

  • kind(regex: string, targets: target expression): The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex.

  • labels(attr: string, targets: target expression): This function is not implemented, and won't be, because buck2 query core does not support

  • owner(files: file expression): The owner(inputfile) operator returns the targets that own the specified inputfile.

  • targets_in_buildfile(files: file expression)

  • rdeps(universe: target expression, targets: target expression, depth: ?integer)

  • testsof(targets: target expression)

  • first_order_deps(): A filter function that can be used in the query expression of deps query function.

  • target_deps(): A filter function that can be used in the query expression of deps query function.

  • exec_deps(): A filter function that can be used in the query expression of deps query function.

  • configuration_deps(): A filter function that can be used in the query expression of deps query function.

  • toolchain_deps(): A filter function that can be used in the query expression of deps query function.

  • intersect(left: any value, right: any value): Computes the set intersection over the given arguments.

  • except(left: any value, right: any value): Computes the arguments that are in argument A but not in argument B.

  • union(left: any value, right: any value): Computes the set union over the given arguments.

allpaths(from: target expression, to: target expression)

Computes all dependency paths.

The allpaths(from, to) function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value of +buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" +is the dependency graph rooted at the single target node //foo:bar, that includes all target nodes that depend (transitively) on //foo/bar/lib:baz.

The two arguments to allpaths() can themselves be expressions. For example, the command: +buck query "allpaths(kind(java_library, '//...'), '//foo:bar')" +shows all the paths between any java_library in the repository and the target //foo:bar.

We recommend using allpaths() with the --output-format=dot parameter to generate a graphviz file that can then be rendered as an image. For example:

$ buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" --output-format=dot --output-file=result.dot
$ dot -Tpng result.dot -o image.png

Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs.

somepath(from: target expression, to: target expression)

attrfilter(attr: string, value: string, targets: target expression)

The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value.

In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps.

  • If the attribute is a single value, say name, it is compared to the specified value, and the target is returned if they match.
  • If the attribute is a list, the target is returned if that list contains the specified value.
  • If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary.

For example: +buck2 query "attrfilter(deps, '//foo:bar', '//...')" returns the build targets in the repository that depend on //foo:bar, or more precisely: those build targets that include //foo:bar in their deps argument list.

nattrfilter(attr: string, value: string, targets: target expression)

attrregexfilter(attr: string, value: string, targets: target expression)

buildfile(targets: target expression)

rbuildfiles(universe: file expression, argset: file expression)

allbuildfiles(universe: target expression)

deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)

filter(regex: string, set: target or file expression)

Filter using regex partial match.

Target are matched against their fully qualified name. +Files are matched against their repo path like repo//foo/bar/baz.py.

inputs(targets: target expression)

kind(regex: string, targets: target expression)

The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex.

The specified pattern can be a regular expression. For example, +buck2 query "kind('java.*', deps('//foo:bar'))" returns the targets that match the rule type java.* (java_library, java_binary, etc.) in the transitive dependencies of //foo:bar.

labels(attr: string, targets: target expression)

This function is not implemented, and won't be, because buck2 query core does not support

returning both files and targets from a single function.

In buck1 it returns targets and files referenced by the given attribute +in the given targets.

Some discussion in T126638795.

owner(files: file expression)

The owner(inputfile) operator returns the targets that own the specified inputfile.

In this context, own means that the target has the specified file as an input. You could consider the owner() and inputs() operators to be inverses of each other.

Example: buck2 query "owner('examples/1.txt')" returns the targets that owns the file examples/1.txt, which could be a value such as //examples:one.

It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets.

If no owner for the file is found, owner() outputs the message: No owner was found for <file>

targets_in_buildfile(files: file expression)

rdeps(universe: target expression, targets: target expression, depth: ?integer)

testsof(targets: target expression)

first_order_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to deps(<targets>, 1).

Example: +buck2 cquery "deps('//foo:bar', 1, first_order_deps())"`` is equivalent to buck2 cquery "deps('//foo:bar', 1)"`

target_deps()

A filter function that can be used in the query expression of deps query function.

Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies) +like compiler used as a part of the build.

Example: +`buck2 cquery "deps('//foo:bar', 1, target_deps())"``

exec_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build.

Example: +`buck2 cquery "deps('//foo:bar', 1, exec_deps())"``

configuration_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for configuration dependencies (that appear as conditions in selects).

Example: +`buck2 cquery "deps('//foo:bar', 1, configuration_deps())"``

toolchain_deps()

A filter function that can be used in the query expression of deps query function.

Returns the output of deps function for toolchain dependencies.

Example: +`buck2 cquery "deps('//foo:bar', 1, toolchain_deps())"``

intersect(left: any value, right: any value)

Computes the set intersection over the given arguments.

Can be used with the ^ symbol. This operator is commutative.

The parser treats this operator as left-associative and of equal precedence, so we recommend +that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression +resolves to the value of the expression it encloses.

Example: +buck2 aquery "deps('//foo:bar') intersect deps('//baz:lib')" is the same as +buck2 aquery "deps('//foo:bar') ^ deps('//baz:lib')" +Both return the targets that appear in the transitive closure of //foo:bar and //baz:lib.

except(left: any value, right: any value)

Computes the arguments that are in argument A but not in argument B.

Can be used with the - symbol. This operator is NOT commutative.

The parser treats this operator as left-associative and of equal precedence, so we recommend +that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression +resolves to the value of the expression it encloses.

Example: +buck2 aquery "deps('//foo:bar') except deps('//baz:lib')" is the same as +buck2 aquery "deps('//foo:bar') - deps('//baz:lib')" +Both return the targets that //foo:bar depends on and that //baz:lib does NOT depend on.

union(left: any value, right: any value)

Computes the set union over the given arguments.

Can be used with the + symbol. This operator is commutative.

The parser treats all this operator as left-associative and of equal precedence, so we recommend +that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression +resolves to the value of the expression it encloses.

Example: +buck2 aquery "deps('//foo:bar') union deps('//baz:lib')" is the same as +buck2 aquery "deps('//foo:bar') + deps('//baz:lib')" +Both return the aggregation of the targets that //foo:bar and //baz:lib depend on.

+ + + + \ No newline at end of file diff --git a/docs/users/remote_execution/index.html b/docs/users/remote_execution/index.html new file mode 100644 index 0000000000000..a0e4445cfe6ec --- /dev/null +++ b/docs/users/remote_execution/index.html @@ -0,0 +1,50 @@ + + + + + +Remote Execution | Buck2 + + + + + + + + +
+

Remote Execution

Buck2 can use services that expose +Bazel's remote execution API in +order to run actions remotely.

Buck2 projects have been successfully tested for remote execution against +EngFlow, +BuildBarn and +BuildBuddy. Sample project configurations for those +providers are available under +examples/remote_execution.

RE configuration in .buckconfig

Configuration for remote execution can be found under [buck2_re_client] in +.buckconfig.

Keys supported include:

  • engine_address - address to your RE's engine.
  • action_cache_address - address to your action cache endpoint.
  • cas_address - address to your content-addressable storage (CAS) endpoint.
  • tls_ca_certs - path to a CA certificates bundle. This must be PEM-encoded. +If none is set, a default bundle will be used. This path contains environment +variables using shell interpolation syntax (i.e. $VAR). They will be +substituted before reading the file.
  • tls_client_cert - path to a client certificate (and intermediate chain), as +well as its associated private key. This must be PEM-encoded. This path can +contain environment variables using shell interpolation syntax (i.e. $VAR). +They will be substituted before reading the file.
  • http_headers - HTTP headers to inject in all requests to RE. This is a +comma-separated list of Header: Value pairs. Minimal validation of those +headers is done here. This can contain environment variables using shell +interpolation syntax ($VAR). They will be substituted before reading the file.
  • instance_name - an instance name to pass on execution, action cache, and CAS +requests.

Buck2 uses SHA256 for all its hashing by default. If your RE engine requires +something else, this can be configured in .buckconfig as follows:

[buck2]
# Accepts BLAKE3, SHA1, or SHA256
digest_algorithms = BLAKE3

RE platform configuration

Next, your build will need an +execution platform +that specifies how and where actions should be executed. For a sample platform +definition that sets up an execution platform to utilize RE, take a look at the +EngFlow example, +BuildBarn example, +or the +BuildBuddy example.

To enable remote execution, configure the following fields in +CommandExecutorConfig +as follows:

  • remote_enabled - set to True.
  • local_enabled - set to True if you also want to run actions locally.
  • use_limited_hybrid - set to False unless you want to exclusively run +remotely when possible.
  • remote_execution_properties - other additional properties.
    • If the RE engine requires a container image, this can be done by setting +container-image to an image URL, as is done in the example above.
+ + + + \ No newline at end of file diff --git a/img/buck2_architecture.png b/img/buck2_architecture.png new file mode 100644 index 0000000000000..364cd350a07d5 Binary files /dev/null and b/img/buck2_architecture.png differ diff --git a/img/buck2_conceptmap.png b/img/buck2_conceptmap.png new file mode 100644 index 0000000000000..a237c6c2b36a6 Binary files /dev/null and b/img/buck2_conceptmap.png differ diff --git a/img/buck2_rule_workflow.png b/img/buck2_rule_workflow.png new file mode 100644 index 0000000000000..1265ae1dfae1d Binary files /dev/null and b/img/buck2_rule_workflow.png differ diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000000000..727e1ec89111f Binary files /dev/null and b/img/logo.png differ diff --git a/img/logo.svg b/img/logo.svg new file mode 100644 index 0000000000000..d63d25e08d047 --- /dev/null +++ b/img/logo.svg @@ -0,0 +1,381 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/packages-1.png b/img/packages-1.png new file mode 100644 index 0000000000000..4f48eb1d97a08 Binary files /dev/null and b/img/packages-1.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000000000..e0019e22cb392 --- /dev/null +++ b/index.html @@ -0,0 +1,20 @@ + + + + + +Buck2 build system website | Buck2 + + + + + + + + +
+

Buck2

A large-scale build tool. The successor to Buck.
Ready for users ∈ {C++, Python, Rust, Erlang, OCaml}

🚀

Fast

Buck2 is faster than Buck. If you've got nothing to do, Buck2 is significantly faster. If you've got lots to do, Buck2 will start doing it faster and be much closer to the critical path.

🎯

Reliable

Buck2 rules are hermetic by default. Missing dependencies are errors. These restrictions apply to both the user-written BUCK files and the language rules. Buck2 gives the right result more reliably.

🧩

Extensible

All rules are written in Starlark, with nothing in the core of Buck2 knowing anything about languages. That means that Buck2 users can define their own rules as first-class citizens.

+ + + + \ No newline at end of file diff --git a/lunr-index-1723761734197.json b/lunr-index-1723761734197.json new file mode 100644 index 0000000000000..c1a83a909960f --- /dev/null +++ b/lunr-index-1723761734197.json @@ -0,0 +1 @@ +{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,1555.113]],["content/0",[]],["keywords/0",[]],["title/1",[1,212.259,2,493.482,3,911.381,4,489.812]],["content/1",[]],["keywords/1",[]],["title/2",[5,625.025,6,504.787]],["content/2",[1,5.139,7,10.463,8,9.735,9,3.586,10,22.067,11,15.287]],["keywords/2",[]],["title/3",[12,804.997,13,420.077,14,243.294]],["content/3",[2,10.897,13,10.142,14,5.874,15,7.533,16,9.111,17,20.125,18,11.295,19,7.95,20,20.125,21,5.135,22,11.979,23,7.585,24,17.654,25,11.437,26,8.104,27,7.891]],["keywords/3",[]],["title/4",[1,250.436,12,804.997,28,653.302]],["content/4",[1,4.849,9,2.921,23,5.971,29,11.86,30,5.638,31,5.811,32,5.93,33,12.476,34,11.35,35,12.476,36,6.56,37,15.843,38,9.767,39,15.843,40,12.788,41,4.839,42,16.901,43,15.843,44,15.843,45,16.396,46,4.438,47,10.337,48,6.282,49,15.843,50,3.95,51,8.112,52,9.73,53,12.86,54,15.843,55,10.798,56,9.43,57,10.337,58,7.537,59,4.238,60,15.843,61,10.036,62,11.375,63,6.013,64,15.843,65,15.843,66,15.843,67,8.392,68,8.195,69,14.67,70,12.148,71,15.843,72,15.843,73,8.644]],["keywords/4",[]],["title/5",[1,250.436,74,600.869,75,1075.304]],["content/5",[0,15.846,1,6.263,30,4.149,41,3.977,52,13.443,58,6.194,68,8.615,70,13.122,76,11.166,77,13.161,78,9.485,79,6.215,80,17.113,81,17.113,82,15.012,83,7.565,84,17.113,85,7.6,86,9.811,87,12.811,88,17.113,89,17.113,90,5.944,91,7.824,92,17.113,93,17.113,94,12.061,95,17.113,96,9.001,97,7.53,98,15.846,99,17.113,100,15.846,101,17.113,102,17.113,103,17.113,104,17.113,105,12.061,106,9.13,107,14.388,108,6.518,109,13.891]],["keywords/5",[]],["title/6",[1,250.436,74,600.869,110,995.701]],["content/6",[1,5.887,41,5.421,63,7.187,73,10.331,111,18.935,112,18.935,113,25.277,114,18.935,115,13.346,116,18.935,117,9.633,118,18.935,119,18.935,120,12.041,121,16.61,122,4.232,123,18.935,124,14.175,125,18.935,126,17.533,127,18.935,128,14.518,129,14.518,130,18.935,131,18.935,132,14.518,133,10.412]],["keywords/6",[]],["title/7",[1,212.259,9,127.87,68,358.694,74,509.271]],["content/7",[1,5.241,28,10.861,41,5.23,52,10.979,62,12.836,68,7.036,73,12.278,77,10.749,98,16.554,134,17.877,135,17.877,136,10.249,137,17.877,138,14.078,139,10.447,140,3.807,141,4.972,142,15.682,143,14.511,144,5.525,145,17.877,146,7.199,147,15.682,148,9.754,149,7.76,150,17.877,151,16.554,152,14.078,153,17.877,154,17.877,155,9.99,156,17.877,157,8.054,158,16.554,159,15.682,160,17.877,161,17.877,162,8.386]],["keywords/7",[]],["title/8",[11,744.899,163,757.892,164,569.598]],["content/8",[]],["keywords/8",[]],["title/9",[5,512.607,6,413.995,11,744.899]],["content/9",[1,5.697,5,5.636,6,5.715,9,2.798,11,5.086,12,5.496,13,4.619,14,4.222,15,5.557,21,1.557,30,4.126,38,5.546,41,5.069,42,9.597,46,3.312,51,3.759,52,7.261,59,3.022,61,5.699,62,8.489,68,2.889,69,6.798,70,9.066,82,6.44,83,5.227,85,5.251,86,4.209,90,2.55,105,5.174,106,3.917,108,2.796,115,5.174,120,10.823,122,3.804,140,2.518,152,9.311,157,3.307,164,12.244,165,11.824,166,7.341,167,4.79,168,7.341,169,3.809,170,6.798,171,2.702,172,8.489,173,17.492,174,4.492,175,3.946,176,5.086,177,7.341,178,5.496,179,7.341,180,6.173,181,11.113,182,7.341,183,5.629,184,5.959,185,6.173,186,7.341,187,5.675,188,3.559,189,10.96,190,5.086,191,5.378,192,5.629,193,2.393,194,4.619,195,7.715,196,5.959,197,6.263,198,5.378,199,4.559,200,4.857,201,6.798,202,4.916,203,8.059,204,4.713,205,2.816,206,6.798,207,6.798,208,5.977,209,4.327,210,7.341,211,5.959,212,5.959,213,6.44,214,9.066,215,3.273,216,5.629,217,7.341,218,7.504,219,4.857,220,3.539,221,4.916,222,3.889,223,6.662,224,6.798,225,7.341,226,6.44,227,7.341,228,6.173,229,3.665,230,7.421,231,7.341,232,6.798,233,7.341,234,6.44,235,3.462,236,1.611,237,5.378,238,6.798,239,4.612,240,10.372,241,10.948,242,7.341,243,7.978,244,5.959,245,9.941,246,2.64,247,7.341,248,3.172,249,6.798,250,8.489,251,4.799,252,5.086,253,4.928,254,5.959,255,1.624,256,9.686,257,2.35,258,2.39,259,3.462,260,3.426,261,7.341,262,6.355,263,6.135,264,5.867,265,5.629,266,6.798,267,8.334,268,4.559,269,2.837,270,4.414,271,5.496,272,4.46,273,2.117,274,2.357,275,4.247,276,7.341,277,5.174,278,7.341,279,7.614,280,6.173,281,5.629,282,9.311,283,3.408,284,5.959,285,6.198,286,2.59,287,2.199,288,7.341,289,6.798,290,4.79,291,6.798,292,3.481,293,8.191,294,5.086,295,7.341,296,5.781,297,3.323,298,6.798,299,4.857,300,7.341,301,3.835,302,6.798,303,7.341,304,5.959,305,7.341,306,4.559,307,4.857,308,7.341]],["keywords/9",[]],["title/10",[11,744.899,14,243.294,309,721.77]],["content/10",[1,5.833,2,6.614,9,1.714,13,7.933,14,5.981,16,5.53,18,8.129,23,4.604,26,4.919,30,4.224,38,9.525,48,4.844,56,7.271,83,5.4,85,7.737,87,9.145,108,4.653,122,3.894,148,6.665,164,12.891,173,10.716,174,3.697,183,9.366,184,9.915,185,10.271,189,11.219,202,5.079,205,4.686,212,9.915,219,8.081,230,5.326,237,8.948,245,10.271,248,5.278,251,4.958,252,8.462,253,8.199,262,9.363,271,9.145,298,11.311,299,8.081,301,6.381,306,10.82,309,8.199,310,4.011,311,12.216,312,11.311,313,12.216,314,12.216,315,12.216,316,5.642,317,12.216,318,9.62,319,3.966,320,9.366,321,11.311,322,4.526,323,4.862,324,8.462,325,14.141,326,5.888,327,12.216,328,5.4,329,3.966,330,9.145,331,12.216,332,6.175,333,12.216,334,11.311,335,9.366,336,8.61,337,9.915,338,12.216,339,16.132,340,5.1,341,10.716,342,9.366,343,3.836,344,6.175,345,3.649,346,6.136,347,11.311,348,11.311,349,7.971,350,12.216,351,12.216,352,6.771,353,9.62,354,6.565,355,4.653,356,17.422]],["keywords/10",[]],["title/11",[11,908.26,28,796.576]],["content/11",[1,5.994,9,2.768,11,13.668,12,14.77,21,3.1,28,11.987,30,3.543,40,8.035,41,3.396,42,11.862,48,5.795,57,9.535,70,11.205,73,7.973,90,5.076,133,8.035,140,3.112,173,20.981,174,4.422,175,10.604,193,2.957,223,8.234,240,12.819,250,14.166,259,6.891,260,6.819,283,6.784,285,6.101,301,10.306,306,9.075,337,11.862,348,13.531,355,5.566,357,5.47,358,4.954,359,7.531,360,9.181,361,13.531,362,3.088,363,2.043,364,7.341,365,13.531,366,14.613,367,19.73,368,14.613,369,10.3,370,13.531,371,14.613,372,14.613,373,11.508,374,8.234,375,14.613,376,14.613,377,12.381,378,14.613,379,8.234,380,6.615,381,10.94,382,6.749,383,8.532,384,13.531,385,9.411,386,12.287,387,11.205]],["keywords/11",[]],["title/12",[388,1412.056]],["content/12",[1,4.962,6,6.318,11,11.369,61,7.911,86,12.215,87,12.286,100,15.196,141,4.564,144,6.585,164,8.693,180,13.798,181,12.286,185,17.914,187,8.144,189,10.568,204,5.21,224,15.196,229,8.194,248,7.091,251,6.66,257,5.254,268,13.232,292,7.781,293,11.369,301,8.573,389,16.411,390,3.495,391,13.798,392,8.403,393,9.673,394,13.798,395,15.196,396,16.411,397,12.021,398,6.388,399,15.196,400,13.321,401,16.411,402,16.411,403,16.411,404,7.118,405,16.411,406,16.411,407,15.196,408,6.852,409,9.326,410,12.286,411,14.396,412,15.196,413,8.458,414,10.857]],["keywords/12",[]],["title/13",[1,305.359,415,1214.065]],["content/13",[1,6.246,9,2.376,30,4.105,36,7.011,41,5.053,47,14.185,55,11.54,58,6.129,59,3.447,90,5.881,122,4.859,189,10.904,208,8.559,274,5.436,322,6.273,323,6.74,415,15.678,416,16.932,417,5.792,418,10.599,419,14.236,420,16.932,421,8.969,422,22.235,423,6.05,424,10.287,425,24.013,426,16.932,427,16.932,428,12.157,429,5.033,430,21.74,431,14.236,432,12.676,433,12.983,434,7.82,435,16.932,436,16.932]],["keywords/13",[]],["title/14",[7,621.632,8,499.41]],["content/14",[]],["keywords/14",[]],["title/15",[1,305.359,47,855.508]],["content/15",[1,5.836,6,5.678,8,5.617,26,5.939,27,5.783,41,4.614,47,16.349,50,3.677,55,10.052,56,8.778,59,3.002,68,5.804,187,5.637,215,4.082,236,4.357,253,9.899,283,6.846,322,5.464,323,5.87,342,11.308,362,3.116,393,8.693,422,13.656,437,14.748,438,7.319,439,14.748,440,8.289,441,11.308,442,8.778,443,7.918,444,14.748,445,14.748,446,14.748,447,9.757,448,14.748,449,8.174,450,8.241,451,11.614,452,10.052,453,6.955,454,8.778,455,7.319,456,19.853,457,11.971,458,19.853,459,19.853,460,18.383,461,18.383,462,13.656,463,11.041,464,5.761,465,14.748,466,6.918,467,1.8,468,7.503,469,8.96,470,14.748,471,6.846,472,12.937,473,14.748,474,14.748]],["keywords/15",[]],["title/16",[471,608.635,475,338.669]],["content/16",[6,8.213,9,2.993,14,4.827,181,15.97,189,13.737,255,4.72,471,9.903,476,13.919,477,10.4,478,9.903,479,21.332,480,21.332,481,11.824]],["keywords/16",[]],["title/17",[68,423.21,322,398.399,323,428.03]],["content/17",[1,6.055,8,4.064,9,2.637,19,4.215,25,6.063,26,6.358,30,2.586,38,5.004,40,5.866,41,5.734,47,15.15,52,6.552,55,14.16,62,7.66,63,4.049,68,8.728,73,8.615,74,5.962,140,3.363,205,4.093,215,4.37,221,8.638,251,4.33,262,5.734,319,3.463,322,3.953,329,3.463,345,4.717,363,2.628,390,2.272,417,5.402,418,9.164,429,7.332,431,13.275,438,5.294,449,5.913,462,9.879,467,1.432,468,5.427,482,5.734,483,7.66,484,10.669,485,10.669,486,5.14,487,4.83,488,7.161,489,6.823,490,5.777,491,10.669,492,14.62,493,9.359,494,10.669,495,15.929,496,7.66,497,9.359,498,7.272,499,10.669,500,4.313,501,6.552,502,7.39,503,10.669,504,10.041,505,4.454,506,6.229,507,11.337,508,10.669,509,10.669,510,10.669,511,6.961,512,9.359,513,5.462,514,10.669,515,10.669,516,4.806,517,10.669,518,9.359,519,7.39,520,4.978,521,10.102,522,10.669,523,6.168,524,4.676,525,4.137,526,4.716,527,10.669,528,10.669,529,10.669,530,10.669,531,10.669,532,8.18,533,4.76,534,4.152,535,8.97,536,9.359,537,8.66,538,10.669,539,10.669]],["keywords/17",[]],["title/18",[68,358.694,322,337.666,493,799.473,540,325.65]],["content/18",[1,5.451,8,3.425,9,1.261,16,4.07,25,5.109,27,3.525,30,4.617,40,4.944,41,4.426,46,2.518,48,3.565,50,2.242,55,14.026,58,5.022,59,4.189,68,9.212,73,4.905,77,5.406,79,3.265,90,3.123,91,6.343,96,4.729,144,2.779,149,3.902,167,5.866,193,1.819,209,5.299,221,7.919,255,3.069,257,2.878,316,4.152,319,4.504,326,4.334,329,2.919,345,2.686,354,4.832,362,1.9,363,2.662,390,1.915,428,9.961,429,6.116,431,11.665,442,5.351,457,7.298,464,5.42,467,2.484,482,7.456,486,2.927,487,4.07,493,14.86,495,14.603,497,12.17,498,9.456,504,12.111,505,5.792,507,6.455,521,11.687,540,3.213,541,8.325,542,6.337,543,8.325,544,8.991,545,2.462,546,12.846,547,8.991,548,3.552,549,8.991,550,12.846,551,6.128,552,8.991,553,8.991,554,4.834,555,9.456,556,3.945,557,8.325,558,3.499,559,8.325,560,5.462,561,8.991,562,7.15,563,6.128,564,8.991,565,4.545,566,4.797,567,8.991,568,4.797,569,6.128,570,9.312,571,10.979,572,13.873,573,13.873,574,7.298,575,8.991,576,8.991,577,8.991,578,8.991,579,8.991,580,7.887,581,4.466,582,9.778,583,8.991,584,5.717,585,7.887,586,8.991,587,5.284,588,8.991,589,7.559,590,6.731,591,3.885,592,4.603,593,8.991,594,8.991,595,8.991,596,8.991,597,4.131,598,5.866,599,8.991,600,2.247]],["keywords/18",[]],["title/19",[174,396.775,400,1064.253]],["content/19",[1,4.968,9,2.993,68,8.396,174,6.456,354,11.465,490,11.551,590,15.97,601,23.203,602,21.332,603,8.303,604,21.332,605,11.92]],["keywords/19",[]],["title/20",[18,783.665]],["content/20",[1,4.979,9,3.328,13,6.444,14,5.366,18,9.975,21,3.499,23,9.456,25,12.149,30,3.999,32,6.175,41,4.968,51,8.446,59,3.358,174,4.992,204,6.787,219,10.913,310,5.416,349,10.763,488,11.072,521,8.865,554,5.748,606,13.39,607,15.275,608,12.99,609,8.677,610,11.626,611,10.913,612,9.374,613,7.686,614,10.623,615,10.913,616,16.496,617,9.918,618,10.623,619,14.47,620,6.283,621,16.496,622,16.496,623,7.864,624,5.661]],["keywords/20",[]],["title/21",[1,391.138]],["content/21",[]],["keywords/21",[]],["title/22",[1,305.359,625,582.284]],["content/22",[1,3.317,6,3.582,8,3.544,9,2.428,23,5.369,25,9.835,26,5.736,28,5.653,30,4.701,38,8.118,41,5.5,46,2.606,48,3.69,50,2.32,52,8.748,58,3.368,59,3.523,61,4.485,62,6.68,73,11.404,78,7.895,79,5.173,90,4.948,108,5.425,109,16.966,115,6.558,121,8.162,122,3.868,128,7.134,139,6.612,140,1.982,143,7.552,144,4.402,155,5.199,164,9.167,172,13.922,174,5.237,176,6.445,189,5.992,194,3.635,198,6.815,200,6.155,219,6.155,220,4.485,221,7.196,235,4.388,236,3.126,237,6.815,255,2.059,262,11.233,265,7.134,282,7.327,284,7.552,293,9.867,294,6.445,301,4.86,302,8.616,320,7.134,322,5.277,349,6.071,358,4.829,363,3.207,382,4.297,404,3.108,443,3.283,449,5.157,454,5.538,490,5.038,496,6.68,554,3.242,556,2.167,600,3.559,613,2.751,617,5.594,626,13.189,627,6.155,628,12.495,629,6.965,630,7.552,631,7.552,632,4.536,633,11.562,634,7.832,635,12.495,636,6.965,637,10.039,638,9.304,639,9.304,640,6.342,641,5.432,642,5.538,643,9.304,644,5.538,645,14.244,646,9.304,647,9.304,648,5.917,649,7.823,650,9.304,651,5.199,652,7.552,653,6.071,654,8.616,655,8.616,656,5.714,657,6.245,658,6.342,659,6.815,660,8.162,661,2.899,662,8.616,663,8.162,664,9.304,665,9.304,666,9.304,667,5.243,668,6.342,669,6.965,670,6.965,671,6.155,672,9.304,673,7.134,674,6.445,675,9.304,676,6.815,677,3.853,678,4.563,679,9.304,680,8.162,681,6.445,682,8.616,683,9.304,684,7.327,685,8.616,686,8.616,687,9.304,688,4.674,689,9.304]],["keywords/22",[]],["title/23",[1,250.436,108,409.585,690,943.268]],["content/23",[1,5.124,6,4.313,9,2.53,11,4.758,14,4.978,15,2.571,16,3.11,19,2.714,22,9.742,23,4.223,28,8.619,33,5.409,38,5.255,41,3.297,46,3.974,48,2.724,50,1.713,51,5.736,52,6.88,58,2.486,59,3.67,61,5.4,62,4.932,68,2.703,73,6.112,74,3.838,79,2.494,83,4.952,85,4.975,87,5.142,90,2.386,106,7.569,108,6.234,109,9.094,115,7.896,117,7.217,120,7.124,122,4.559,139,3.189,141,1.91,144,2.123,149,4.863,152,5.409,162,3.222,163,4.841,164,10.244,174,3.39,175,6.021,176,7.761,184,5.575,187,7.392,188,3.33,189,4.423,193,3.312,194,2.683,195,7.31,197,3.638,221,2.856,222,5.934,229,7.083,235,6.69,236,3.592,248,4.841,260,3.205,262,6.021,272,4.173,273,1.981,274,4.554,279,13.135,282,5.409,301,3.588,306,4.266,307,4.544,309,4.611,322,2.545,323,2.734,328,3.036,345,2.052,355,2.616,363,1.566,377,3.807,382,8.931,390,1.463,404,2.295,417,2.35,418,7.98,429,2.042,451,5.409,464,2.683,475,1.774,490,3.719,501,4.218,506,4.01,516,3.094,520,3.205,526,3.036,533,3.065,540,2.454,565,3.472,569,4.682,590,5.142,597,3.156,600,2.799,605,3.838,608,5.409,609,3.613,610,7.896,619,6.025,620,2.616,624,1.819,627,4.544,631,5.575,634,3.777,636,5.142,641,6.541,644,4.088,651,3.838,657,4.611,667,6.313,668,4.682,673,5.267,691,6.869,692,2.301,693,8.283,694,8.59,695,4.932,696,6.025,697,6.869,698,6.869,699,2.626,700,3.904,701,5.575,702,3.777,703,5.142,704,6.869,705,5.267,706,3.494,707,6.869,708,6.025,709,5.409,710,4.841,711,3.807,712,6.025,713,2.981,714,8.822,715,6.869,716,3.388,717,5.031,718,5.142,719,6.077,720,6.869,721,4.682,722,6.869,723,5.031,724,6.869,725,6.869,726,3.938,727,3.938,728,4.409,729,4.13,730,4.173,731,4.088,732,3.807,733,5.575,734,6.025,735,4.932,736,6.869,737,3.748,738,6.36,739,3.388,740,6.869,741,4.482,742,3.719,743,2.616,744,6.869,745,6.869,746,3.14,747,6.869,748,5.031,749,5.031,750,6.869,751,9.523,752,6.869,753,6.869,754,6.869,755,5.142,756,3.613,757,4.758,758,6.869,759,6.869,760,6.869,761,6.869,762,3.409,763,6.025,764,2.904,765,6.869,766,3.156,767,6.869,768,6.36,769,4.758,770,6.36,771,4.758,772,6.025,773,4.841,774,6.869,775,6.869,776,6.36,777,4.423,778,6.869,779,6.025,780,6.869,781,6.36,782,6.869]],["keywords/23",[]],["title/24",[1,305.359,9,183.956]],["content/24",[1,5.266,6,4.929,9,2.923,14,2.896,19,5.057,26,8.39,31,4.695,38,6.005,41,4.842,45,10.081,59,2.606,78,14.365,79,9.412,85,5.685,91,5.853,106,6.83,108,6.86,136,7.339,140,2.726,141,3.56,148,9.826,149,5.556,170,11.854,183,9.816,197,6.781,204,4.065,208,6.471,209,7.545,235,9.825,236,4.573,243,6.88,250,9.192,255,2.832,267,9.023,268,12.94,293,12.476,294,8.868,345,3.824,414,8.469,429,3.805,440,5.345,466,6.005,475,3.307,481,7.095,486,4.168,504,8.141,565,6.471,571,9.609,603,4.983,641,13.91,651,7.153,686,11.854,719,5.483,771,8.868,783,11.854,784,7.778,785,10.764,786,10.764,787,6.932,788,11.854,789,5.216,790,10.764,791,12.802,792,11.854,793,12.802,794,7.545,795,10.081,796,9.192,797,8.593,798,9.816,799,11.854,800,5.853,801,12.802,802,10.764,803,10.081,804,2.821]],["keywords/24",[]],["title/25",[21,278.126,805,960.405]],["content/25",[]],["keywords/25",[]],["title/26",[806,1412.056]],["content/26",[46,6.056,59,4.401,141,6.013,257,8.085,329,7.019,806,18.178,807,3.583,808,10.088,809,15.238,810,14.736]],["keywords/26",[]],["title/27",[811,1412.056]],["content/27",[46,5.975,141,5.933,257,8.022,329,6.925,467,1.934,548,8.427,804,4.701,808,9.954,809,15.035,810,14.539,811,17.936,812,7.232]],["keywords/27",[]],["title/28",[21,278.126,813,960.405]],["content/28",[]],["keywords/28",[]],["title/29",[814,1412.056]],["content/29",[46,5.975,141,5.933,257,8.022,329,6.925,556,4.968,613,6.308,807,3.535,809,15.035,810,14.539,814,17.936,815,12.826,816,12.96]],["keywords/29",[]],["title/30",[817,1412.056]],["content/30",[46,5.897,141,5.855,257,7.96,329,6.834,343,6.611,467,1.909,613,6.225,804,4.639,808,9.823,809,14.837,810,14.348,816,12.79,817,17.7,818,17.7]],["keywords/30",[]],["title/31",[819,1412.056]],["content/31",[46,5.858,141,5.816,257,7.929,329,6.789,343,6.568,409,11.885,467,1.896,613,6.185,804,4.608,807,3.466,809,14.741,810,14.255,816,12.706,819,17.584,820,6.264]],["keywords/31",[]],["title/32",[21,278.126,821,924.103]],["content/32",[]],["keywords/32",[]],["title/33",[822,1412.056]],["content/33",[390,4.799,822,18.946,823,10.801,824,4.995,825,20.865]],["keywords/33",[]],["title/34",[826,1412.056]],["content/34",[14,4.959,274,7.036,824,4.859,826,18.427,827,14.467,828,6.72,829,13.611,830,12.564]],["keywords/34",[]],["title/35",[21,278.126,821,924.103]],["content/35",[]],["keywords/35",[]],["title/36",[831,1322.558]],["content/36",[7,9.916,257,6.695,310,6.867,363,2.924,438,10.378,556,5.768,807,3.466,824,4.636,827,11.885,830,11.99,832,2.51,833,19.366,834,17.584,835,14.255,836,6.658]],["keywords/36",[]],["title/37",[831,1322.558]],["content/37",[215,5.606,355,7.714,545,3.595,556,4.717,721,13.804,824,4.49,827,13.808,831,15.949,832,2.431,834,17.028,836,7.736,837,13.577,838,4.756,839,17.766,840,6.52,841,17.766,842,6.501,843,14.835]],["keywords/37",[]],["title/38",[844,1412.056]],["content/38",[14,4.993,274,7.084,824,4.892,827,14.525,828,6.766,830,12.651,844,18.554]],["keywords/38",[]],["title/39",[21,278.126,845,1032.511]],["content/39",[]],["keywords/39",[]],["title/40",[846,1412.056]],["content/40",[16,8.623,59,5.159,68,7.497,83,8.42,215,7.317,257,6.098,467,2.397,540,6.806,548,7.525,600,4.76,804,5.158,805,13.952,807,3.157,808,8.888,812,7.937,820,5.705,832,2.286,846,16.015,847,2.605,848,7.792,849,10.162]],["keywords/40",[]],["title/41",[850,1412.056]],["content/41",[1,3.403,14,3.306,16,6.615,21,3.1,41,3.396,140,4.202,149,6.343,193,2.957,209,8.613,229,7.296,243,7.854,257,8.774,262,7.854,309,9.809,310,4.798,387,11.205,390,3.112,409,12.694,450,8.166,467,2.426,482,7.854,524,3.636,540,5.222,556,3.403,600,3.651,787,7.913,804,5.27,807,3.27,808,9.207,813,10.704,815,14.381,816,8.878,818,12.287,820,5.909,832,1.754,847,1.998,850,12.287,851,13.531,852,16.015,853,16.015,854,17.308,855,12.287,856,8.166,857,9.411,858,12.819,859,11.508,860,7.634,861,11.508,862,8.532,863,6.232,864,10.94]],["keywords/41",[]],["title/42",[865,1412.056]],["content/42",[46,6.312,807,3.734,863,9.61,865,18.946,866,9.527]],["keywords/42",[]],["title/43",[867,1412.056]],["content/43",[46,6.312,807,3.734,866,9.527,867,18.946,868,13.281]],["keywords/43",[]],["title/44",[21,278.126,836,417.425]],["content/44",[]],["keywords/44",[]],["title/45",[869,1412.056]],["content/45",[771,14.68,824,4.698,832,2.543,836,8.448,847,2.898,866,8.96,869,17.817,870,11.652,871,19.622,872,12.875,873,13.16,874,17.817]],["keywords/45",[]],["title/46",[875,1412.056]],["content/46",[556,5.104,620,8.348,807,3.632,836,8.105,875,18.427,876,9.038,877,17.79,878,13.315]],["keywords/46",[]],["title/47",[879,1412.056]],["content/47",[59,4.342,359,12.915,620,8.125,807,3.535,824,4.729,836,7.978,879,17.936,880,19.753,881,17.936,882,10.922,883,9.137]],["keywords/47",[]],["title/48",[884,1412.056]],["content/48",[59,4.523,79,8.07,836,7.074,884,18.683,885,6.538,886,9.476,887,10.01]],["keywords/48",[]],["title/49",[888,1412.056]],["content/49",[9,2.878,14,5.54,46,6.858,59,4.175,79,7.449,404,6.853,467,1.86,540,8.748,737,11.191,804,5.395,836,7.795,888,17.246,889,6.543]],["keywords/49",[]],["title/50",[890,1412.056]],["content/50",[59,4.517,68,9.595,140,3.724,215,6.748,274,5.614,398,6.806,464,6.831,467,2.399,486,7.225,540,6.248,556,4.073,721,11.919,807,2.898,832,2.099,836,8.61,847,2.391,848,7.154,878,13.483,885,5.145,890,14.703,891,16.192,892,6.831,893,13.091,894,9.853,895,16.192,896,15.34,897,9.938,898,8.246,899,16.192,900,7.042]],["keywords/50",[]],["title/51",[901,1412.056]],["content/51",[188,10.341,215,5.905,464,8.334,488,14.319,524,5.307,597,9.802,807,3.535,836,6.792,848,8.727,877,20.34,901,17.936,902,18.713]],["keywords/51",[]],["title/52",[903,1555.113]],["content/52",[357,7.828,671,13.836,737,11.411,824,4.636,832,2.51,836,8.685,847,2.86,872,12.706,873,12.988,904,19.366,905,15.016,906,16.976,907,13.646]],["keywords/52",[]],["title/53",[908,1412.056]],["content/53",[343,6.7,737,11.639,824,4.729,832,2.56,836,8.471,847,2.917,872,12.96,906,17.315,907,13.919,908,17.936,909,12.573]],["keywords/53",[]],["title/54",[21,278.126,910,1032.511]],["content/54",[]],["keywords/54",[]],["title/55",[911,1555.113]],["content/55",[467,2.029,807,3.708,832,2.685,847,3.06,885,6.584,912,20.719]],["keywords/55",[]],["title/56",[21,278.126,913,738.774]],["content/56",[]],["keywords/56",[]],["title/57",[914,1412.056]],["content/57",[807,3.815,914,19.354]],["keywords/57",[]],["title/58",[915,1412.056]],["content/58",[475,5.862,832,2.723,847,3.103,915,19.08]],["keywords/58",[]],["title/59",[916,1412.056]],["content/59",[807,3.815,916,19.354]],["keywords/59",[]],["title/60",[917,1412.056]],["content/60",[807,3.815,917,19.354]],["keywords/60",[]],["title/61",[918,1412.056]],["content/61",[823,11.034,918,19.354]],["keywords/61",[]],["title/62",[919,1412.056]],["content/62",[363,3.064,726,12.564,824,4.859,832,2.63,847,2.997,889,5.857,919,18.427,920,9.387,921,10.448]],["keywords/62",[]],["title/63",[922,1412.056]],["content/63",[132,14.021,286,6.451,390,3.894,443,6.451,467,2.432,556,4.259,807,3.031,832,2.739,847,2.501,889,6.1,922,15.375,923,15.375,924,5.697,925,4.681,926,9.901,927,14.4,928,9.618,929,13.453,930,7.572,931,5.774,932,15.375,933,15.454,934,16.041,935,16.932,936,15.375,937,16.932,938,16.932,939,16.932,940,15.375]],["keywords/63",[]],["title/64",[21,278.126,941,666.996]],["content/64",[]],["keywords/64",[]],["title/65",[942,1555.113]],["content/65",[144,6.259,162,9.5,287,6.066,362,4.279,390,5.175,417,6.928,812,6.866,832,2.431,836,6.448,847,2.77,941,13.242,943,18.753,944,5.606,945,11.611,946,17.028,947,9.08,948,15.529,949,7.797]],["keywords/65",[]],["title/66",[950,1412.056]],["content/66",[187,7.742,190,14.03,320,15.529,417,6.928,443,7.145,545,3.595,651,11.317,737,11.05,800,9.259,824,5.387,832,2.431,847,2.77,941,13.242,950,17.028,951,13.36,952,16.439,953,17.766]],["keywords/66",[]],["title/67",[954,1412.056]],["content/67",[96,10.72,144,6.299,163,14.365,319,6.616,362,4.306,524,5.071,756,10.72,803,16.05,812,6.91,886,8.692,949,9.39,954,17.136,955,18.873,956,13.299,957,11.79,958,12.131,959,16.544,960,8.405,961,16.05]],["keywords/67",[]],["title/68",[962,1412.056]],["content/68",[96,11.528,144,6.773,362,4.631,524,5.453,812,7.431,956,14.3,957,12.678,962,18.427,963,18.427]],["keywords/68",[]],["title/69",[964,1412.056]],["content/69",[9,2.884,34,7.138,38,7.287,48,9.134,140,3.309,171,5.717,215,6.785,255,3.437,286,5.481,362,3.282,429,4.617,434,9.492,464,8.998,467,2.565,486,5.057,548,6.137,614,10.004,808,7.249,832,1.864,836,7.804,847,2.125,848,10.028,925,3.977,941,10.456,964,13.062,965,9.541,966,9.438,967,14.146,968,8.987,969,8.753,970,14.385,971,6.025,972,12.61,973,5.072,974,13.062,975,14.385,976,5.876,977,13.062,978,14.385]],["keywords/69",[]],["title/70",[21,278.126,623,625.025]],["content/70",[]],["keywords/70",[]],["title/71",[979,1412.056]],["content/71",[19,8.262,21,4.436,46,7.642,319,6.789,429,6.216,486,6.809,545,3.712,554,7.287,613,6.185,716,10.317,824,4.636,947,9.377,979,17.584]],["keywords/71",[]],["title/72",[980,1412.056]],["content/72",[14,5.375,21,4.139,23,7.354,67,10.336,140,4.155,244,15.838,286,6.884,287,5.844,363,2.728,443,6.884,486,6.352,824,4.326,894,10.994,944,5.401,980,16.405,981,15.907,982,6.364,983,11.019,984,9.153,985,11.854,986,13.299]],["keywords/72",[]],["title/73",[987,1412.056]],["content/73",[32,7.985,363,2.982,467,1.934,565,10.783,804,5.522,824,4.729,887,9.61,889,6.697,987,17.936,988,11.551,989,14.539]],["keywords/73",[]],["title/74",[990,1412.056]],["content/74",[14,4.671,19,8.156,50,5.147,273,5.954,390,4.397,447,13.657,545,4.362,597,9.486,856,13.734,961,16.257,990,17.357,991,19.116,992,12.412,993,13.41,994,15.455]],["keywords/74",[]],["title/75",[21,278.126,122,293.037]],["content/75",[]],["keywords/75",[]],["title/76",[995,1555.113]],["content/76",[7,9.482,193,4.88,467,2.437,620,7.618,632,9.751,804,5.314,832,2.4,847,2.735,872,12.151,882,10.24,992,12.025,996,18.519,997,18.519,998,21.153,999,18.519,1000,18.519,1001,17.544]],["keywords/76",[]],["title/77",[1002,1412.056]],["content/77",[889,6.152,1002,19.354]],["keywords/77",[]],["title/78",[1003,1412.056]],["content/78",[1003,19.354,1004,11.71]],["keywords/78",[]],["title/79",[1005,1555.113]],["content/79",[9,3.613,21,4.19,122,5.755,193,3.997,211,16.033,329,6.412,404,6.599,467,1.791,620,7.524,807,3.274,832,2.371,847,2.701,887,8.899,929,14.107,1006,18.29,1007,11.225,1008,9.169,1009,18.29,1010,18.29,1011,10.777]],["keywords/79",[]],["title/80",[21,278.126,46,367.265]],["content/80",[]],["keywords/80",[]],["title/81",[1012,1257.267]],["content/81",[14,5.587,85,7.984,174,5.44,193,4.57,194,7.023,204,5.708,229,8.976,263,9.328,319,5.836,355,6.848,363,3.452,380,8.139,423,6.424,467,1.63,520,8.389,554,7.869,556,4.187,702,9.885,728,7.076,821,12.671,823,8.618,832,2.158,847,2.459,982,4.816,984,8.433,1012,13.459,1013,12.454,1014,5.498,1015,16.574,1016,13.459,1017,13.169,1018,5.836,1019,16.647]],["keywords/81",[]],["title/82",[1012,1257.267]],["content/82",[14,4.671,58,7.473,363,2.886,467,2.379,668,14.071,821,14.55,823,11.781,832,2.478,847,2.823,1012,15.455,1014,7.516,1015,13.857,1020,19.116,1021,19.116]],["keywords/82",[]],["title/83",[1022,1412.056]],["content/83",[9,3.013,16,9.722,287,6.432,429,6.383,832,2.577,847,2.937,949,8.268,1022,18.056,1023,18.056,1024,12.912,1025,14.013,1026,16.912]],["keywords/83",[]],["title/84",[1027,1555.113]],["content/84",[15,7.088,18,8.835,58,6.854,208,9.572,215,5.241,251,7.685,253,12.709,263,9.824,355,8.884,380,8.572,721,15.897,807,3.138,827,10.761,832,2.272,836,8.047,842,6.078,847,2.59,1011,10.331,1028,17.533,1029,17.533,1030,17.533,1031,15.92,1032,17.533,1033,10.581,1034,17.533,1035,17.533,1036,8.977,1037,12.709]],["keywords/84",[]],["title/85",[1038,1412.056]],["content/85",[9,2.138,41,3.542,48,6.043,59,3.102,236,3.344,274,4.892,467,2.449,490,8.252,524,5.049,548,6.02,562,10.459,681,10.557,739,7.517,807,3.781,832,1.829,836,7.264,847,2.084,870,8.38,885,6.713,892,8.913,1033,8.516,1038,12.813,1039,15.733,1040,14.111,1041,14.111,1042,12.001,1043,14.111,1044,14.111,1045,8.016,1046,12.37,1047,14.111,1048,6.043,1049,14.111,1050,12.001,1051,15.981,1052,14.111,1053,12.813,1054,11.685,1055,11.685,1056,10.557,1057,10.387,1058,14.111,1059,10.229,1060,14.111,1061,8.016,1062,9.464,1063,14.111,1064,17.801,1065,14.111,1066,14.111]],["keywords/85",[]],["title/86",[1067,1412.056]],["content/86",[59,3.832,215,5.21,274,6.043,464,9.849,467,2.387,486,6.128,524,4.683,558,9.045,603,7.327,807,3.12,824,4.173,832,2.259,836,8.611,847,2.574,848,7.7,870,10.35,873,11.69,944,5.21,951,10.35,1014,5.756,1067,15.827,1068,9.341,1069,14.433]],["keywords/86",[]],["title/87",[1070,1412.056]],["content/87",[48,8.24,464,8.117,467,2.468,558,8.087,807,3.444,832,2.494,836,8.378,847,2.842,870,11.425,951,11.425,1070,17.47,1071,16.363]],["keywords/87",[]],["title/88",[1072,1412.056]],["content/88",[59,3.9,79,6.959,85,8.51,464,7.486,467,2.402,524,5.845,558,7.458,807,3.176,824,4.248,832,2.3,836,8.808,847,2.621,870,10.536,887,8.632,944,5.304,951,12.919,1071,15.09,1072,16.111,1073,14.345,1074,11.642]],["keywords/88",[]],["title/89",[1075,1412.056]],["content/89",[9,2.608,46,5.206,50,3.339,59,2.726,140,2.852,157,6.033,171,6.839,193,2.71,202,5.568,204,4.252,243,7.197,274,4.299,287,4.011,307,8.859,329,4.347,363,2.598,380,6.062,417,4.581,434,8.583,464,7.26,467,2.331,520,6.248,524,5.31,556,4.971,565,6.769,597,6.153,651,7.483,677,5.545,771,14.786,787,7.251,807,3.08,808,8.672,815,8.051,824,2.969,832,1.607,836,8.344,847,1.831,873,8.316,885,3.94,887,6.033,892,5.231,897,10.562,900,5.392,925,3.428,949,5.155,1008,6.216,1025,8.737,1074,11.291,1075,11.259,1076,10.545,1077,6.812,1078,7.61,1079,9.276,1080,17.209,1081,11.746,1082,12.399,1083,10.869,1084,12.399,1085,10.267,1086,12.399,1087,11.259,1088,11.746,1089,19.764,1090,10.869,1091,13.613,1092,6.727,1093,12.399,1094,12.399,1095,12.399]],["keywords/89",[]],["title/90",[1096,1412.056]],["content/90",[14,4.553,146,8.104,475,5.198,620,7.666,684,15.849,832,2.415,847,2.752,976,7.612,1007,11.437,1039,16.122,1045,10.586,1048,7.981,1096,16.921,1097,16.921,1098,18.635,1099,12.499,1100,12.798,1101,16.921,1102,18.635,1103,9.927]],["keywords/90",[]],["title/91",[1104,1412.056]],["content/91",[59,4.066,97,6.549,204,4.726,236,3.267,258,4.846,274,4.778,283,6.91,286,5.251,293,10.311,362,3.145,467,2.549,524,5.609,641,8.69,804,5.702,807,4.166,820,5.983,832,1.786,836,7.178,847,2.036,866,6.294,870,8.185,885,5.878,886,6.348,892,7.804,944,4.12,1042,15.731,1045,10.507,1061,10.507,1062,9.244,1074,9.043,1104,12.515,1105,17.716,1106,16.215,1107,13.838,1108,10.311,1109,13.783,1110,6.061,1111,9.244,1112,12.082]],["keywords/91",[]],["title/92",[1113,1363.216]],["content/92",[9,3.075,14,3.881,19,5.565,23,3.457,25,5.212,34,4.214,41,3.986,46,4.804,48,3.637,59,1.867,62,6.585,77,5.514,85,4.073,86,5.258,106,7.516,117,11.151,122,3.833,140,3.653,144,2.834,146,5.673,188,4.446,197,4.858,200,6.067,202,3.813,204,2.912,205,3.518,219,6.067,251,5.717,286,3.236,287,6.22,294,6.353,296,7.222,322,3.398,380,7.765,383,5.354,390,3.653,404,3.064,423,3.277,429,4.187,467,2.19,486,2.986,489,3.963,500,3.707,520,4.279,524,6.011,534,3.57,540,6.129,545,3.416,613,6.75,623,4.372,624,4.542,710,6.464,716,6.949,733,7.444,734,8.045,756,4.824,771,9.759,796,6.585,804,3.104,832,1.691,836,8.208,840,2.952,842,4.522,847,1.254,873,5.696,905,10.114,925,2.348,931,2.896,949,5.424,963,7.711,976,3.469,989,11.69,992,5.514,1007,5.212,1018,2.977,1076,11.093,1078,5.212,1079,6.353,1110,2.783,1113,7.444,1114,13.044,1115,8.492,1116,7.032,1117,6.866,1118,11.844,1119,7.711,1120,3.665,1121,8.492,1122,5.572,1123,8.045,1124,8.492,1125,8.045,1126,7.711,1127,6.067,1128,8.492,1129,8.045,1130,8.492,1131,8.045,1132,8.045,1133,5.406,1134,6.353,1135,5.984,1136,7.711,1137,6.585,1138,8.492,1139,12.357,1140,8.045,1141,4.302,1142,5.696,1143,7.444,1144,6.353,1145,7.444,1146,4.636,1147,6.251,1148,8.045,1149,5.696,1150,8.492,1151,8.492,1152,8.045,1153,6.866,1154,5.406,1155,8.492,1156,8.492,1157,4.858,1158,5.305]],["keywords/92",[]],["title/93",[1159,1555.113]],["content/93",[16,9.53,26,8.477,85,9.349,346,10.575,467,1.909,802,17.7,804,4.639,832,2.526,847,2.879,989,16.947,1160,19.493,1161,16.578,1162,16.578,1163,11.486]],["keywords/93",[]],["title/94",[1164,1412.056]],["content/94",[1,2.824,6,2.121,9,2.591,15,2.062,21,1.978,31,3.421,34,2.532,36,2.281,41,1.28,46,6.314,48,2.185,50,4.321,59,1.898,68,4.773,85,2.447,90,1.914,122,2.71,140,1.173,146,3.756,155,5.212,157,2.482,174,1.667,187,4.636,204,1.749,205,3.578,215,5.374,220,2.656,235,5.719,236,4.052,250,3.956,257,4.568,260,4.352,269,4.686,274,2.994,275,3.187,283,2.558,285,5.063,286,1.944,287,4.274,319,1.789,322,2.041,329,1.789,355,3.552,362,3.662,363,0.77,390,2.583,397,4.036,404,1.841,408,2.3,417,1.885,429,5.151,443,1.944,449,3.054,455,4.628,464,4.738,467,2.566,476,3.595,477,2.686,481,3.054,486,3.036,505,3.894,513,2.821,516,5.463,520,2.571,524,3.017,525,5.534,540,1.969,545,0.978,548,3.684,554,1.92,556,2.824,624,2.47,625,2.447,692,1.846,699,4.636,702,3.029,730,3.347,804,2.672,807,3.06,815,5.608,820,5.191,832,0.661,836,3.861,838,1.294,840,1.774,842,2.994,847,0.753,848,6.53,866,2.329,870,5.128,876,2.272,882,2.821,885,6.156,889,2.493,892,7.901,900,2.219,909,3.247,920,3.995,925,4.97,926,2.983,941,6.169,944,1.525,945,6.952,949,2.121,965,5.728,966,5.666,968,3.187,969,3.104,1004,2.803,1014,2.852,1018,1.789,1023,4.632,1026,4.339,1033,6.776,1039,3.422,1048,2.185,1061,2.898,1068,2.734,1090,4.472,1133,3.247,1146,4.715,1164,4.632,1165,5.608,1166,6.006,1167,6.006,1168,6.006,1169,6.006,1170,2.447,1171,11.998,1172,8.636,1173,8.636,1174,5.102,1175,4.224,1176,4.224,1177,5.102,1178,6.982,1179,9.079,1180,4.124,1181,3.645,1182,5.102,1183,8.636,1184,4.339,1185,5.102,1186,5.102,1187,3.956,1188,6.832,1189,3.461,1190,5.102,1191,4.224,1192,3.755,1193,5.102,1194,4.632,1195,5.102,1196,3.131,1197,3.883,1198,4.574,1199,3.817,1200,4.224,1201,8.023,1202,5.102,1203,5.102,1204,3.817,1205,2.545,1206,5.102,1207,3.504,1208,3.894,1209,5.102,1210,4.715,1211,4.472,1212,10.028,1213,7.619,1214,4.601,1215,2.464,1216,3.384,1217,5.102,1218,5.102,1219,5.102,1220,5.102,1221,4.224,1222,5.102,1223,4.124,1224,4.339,1225,5.728,1226,6.17,1227,2.37,1228,3.956,1229,5.102,1230,5.102,1231,5.102,1232,5.102,1233,5.102,1234,7.842,1235,5.102,1236,5.102,1237,2.858,1238,2.686,1239,4.632,1240,5.102]],["keywords/94",[]],["title/95",[1241,1412.056]],["content/95",[59,3.877,79,6.917,85,8.459,464,7.441,467,2.397,476,15.274,524,5.824,540,6.806,558,7.414,807,3.157,824,4.223,832,2.286,836,8.796,847,2.605,870,10.474,887,8.581,944,5.272,1071,15,1073,14.259,1074,11.572,1241,16.015]],["keywords/95",[]],["title/96",[1242,1412.056]],["content/96",[215,5.241,274,6.078,464,9.875,467,2.392,476,12.355,486,6.164,524,4.711,558,9.078,603,7.37,807,3.138,824,4.198,832,2.272,836,8.625,847,2.59,848,7.746,870,10.412,873,11.759,944,5.241,1014,5.79,1068,9.396,1069,14.518,1242,15.92]],["keywords/96",[]],["title/97",[1243,1412.056]],["content/97",[16,9.111,50,5.018,319,6.533,467,2.442,540,7.191,545,3.572,617,12.1,743,7.666,832,2.415,847,2.752,925,6.197,1018,6.533,1243,16.921,1244,16.921,1245,13.941,1246,13.508,1247,15.066,1248,18.635]],["keywords/97",[]],["title/98",[1249,1412.056]],["content/98",[9,2.987,13,6.405,22,6.684,34,5.16,46,5.424,50,4.088,58,5.935,59,3.942,188,5.444,215,4.538,229,5.607,230,4.896,236,2.465,274,6.217,287,3.364,344,8.288,390,2.392,423,4.013,429,3.338,467,2.57,486,3.656,500,6.628,524,4.079,545,2.91,600,2.806,634,6.175,729,6.752,731,14.075,735,8.063,807,2.717,820,5.8,824,2.49,832,1.348,836,7.969,847,1.536,849,10.332,870,9.015,885,6.265,886,4.789,889,3.001,892,8.318,900,6.602,905,8.063,920,4.81,941,8.341,944,3.108,945,6.438,949,4.324,956,7.328,965,6.897,966,6.823,983,4.831,1004,5.713,1008,5.213,1042,12.912,1061,5.907,1062,6.974,1110,3.407,1122,6.823,1135,7.328,1158,6.496,1165,6.752,1166,7.232,1167,7.232,1168,7.232,1169,7.232,1249,9.442,1250,10.399,1251,9.442,1252,10.399,1253,4.339,1254,7.915,1255,9.442,1256,6.556,1257,9.115,1258,9.442,1259,10.399,1260,9.851,1261,5.109,1262,7.915,1263,7.141]],["keywords/98",[]],["title/99",[1264,1412.056]],["content/99",[9,2.567,13,3.982,21,2.162,22,10.889,46,5.125,50,3.805,58,3.69,59,2.075,83,4.506,122,2.278,140,2.171,162,4.781,167,6.651,193,2.063,215,4.224,223,5.743,229,5.089,230,4.444,255,3.377,274,3.272,362,3.225,390,2.171,404,3.405,423,3.642,467,2.605,486,3.318,524,4.552,540,3.642,545,1.809,548,4.027,563,6.947,625,4.527,644,6.067,676,7.466,711,5.65,726,5.844,731,10.889,735,7.319,804,2.246,807,2.529,812,5.175,820,4.571,823,4.886,824,2.26,832,1.223,836,7.75,842,3.272,847,1.394,849,8.143,870,8.392,885,5.977,889,2.724,892,7.936,900,4.105,920,4.366,941,7.764,944,6.021,945,5.844,949,5.876,956,6.651,965,6.26,966,6.193,976,3.855,981,6.33,1004,5.185,1068,5.058,1122,6.193,1135,6.651,1158,5.896,1165,6.129,1166,6.564,1167,6.564,1168,6.564,1169,9.828,1251,12.832,1254,7.184,1255,8.57,1256,5.951,1257,8.274,1264,8.57,1265,6.651,1266,4.732,1267,9.438,1268,9.438,1269,5.399,1270,8.57,1271,8.027,1272,9.442,1273,9.438,1274,6.947,1275,9.438,1276,7.319,1277,9.438,1278,9.438,1279,5.844,1280,8.941,1281,6.651,1282,9.438,1283,9.438]],["keywords/99",[]],["title/100",[21,278.126,1097,1102.381]],["content/100",[]],["keywords/100",[]],["title/101",[1284,1412.056]],["content/101",[832,2.723,847,3.103,885,6.677,1284,19.08]],["keywords/101",[]],["title/102",[1285,1412.056]],["content/102",[832,2.723,847,3.103,885,6.677,1285,19.08]],["keywords/102",[]],["title/103",[1286,1412.056]],["content/103",[832,2.723,847,3.103,885,6.677,1286,19.08]],["keywords/103",[]],["title/104",[1287,1412.056]],["content/104",[832,2.723,847,3.103,885,6.677,1287,19.08]],["keywords/104",[]],["title/105",[21,278.126,889,350.402]],["content/105",[]],["keywords/105",[]],["title/106",[1288,1412.056]],["content/106",[106,11.613,644,12.956,807,3.607,889,5.817,1288,18.302,1289,15.629,1290,15.629,1291,17.565,1292,15.629]],["keywords/106",[]],["title/107",[1293,1412.056]],["content/107",[9,2.954,187,8.047,363,2.943,505,8.789,592,10.779,612,11.963,624,5.575,836,6.702,965,12.929,1007,11.963,1103,10.384,1293,17.7,1294,9.53,1295,19.493,1296,17.7]],["keywords/107",[]],["title/108",[1297,1412.056]],["content/108",[363,3.517,475,5.547,726,12.312,816,13.047,824,4.761,832,2.577,847,2.937,889,5.739,913,12.101,1297,18.056,1298,17.432]],["keywords/108",[]],["title/109",[1299,1412.056]],["content/109",[106,11.613,644,12.956,807,3.607,889,5.817,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1299,18.302,1300,17.142]],["keywords/109",[]],["title/110",[1301,1412.056]],["content/110",[106,11.613,644,12.956,807,3.607,889,5.817,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1301,18.302,1302,20.156]],["keywords/110",[]],["title/111",[1303,1412.056]],["content/111",[106,11.613,644,12.956,889,5.817,1165,13.088,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1303,18.302,1304,20.156]],["keywords/111",[]],["title/112",[1305,1412.056]],["content/112",[9,2.993,187,8.154,505,8.906,612,12.123,624,5.649,836,6.792,966,12.96,1007,12.123,1103,10.523,1294,9.657,1296,17.936,1305,17.936,1306,18.713]],["keywords/112",[]],["title/113",[1307,1412.056]],["content/113",[363,2.943,726,12.069,824,4.667,832,2.526,847,2.879,889,6.645,920,9.017,921,10.035,1289,17.852,1290,15.115,1291,14.583,1292,15.115,1307,17.7]],["keywords/113",[]],["title/114",[1308,1412.056]],["content/114",[467,2.057,804,5,924,7.07,1308,19.08]],["keywords/114",[]],["title/115",[21,278.126,1165,788.314]],["content/115",[]],["keywords/115",[]],["title/116",[1309,1555.113]],["content/116",[807,3.734,832,2.704,847,3.082,1165,13.548,1310,20.865]],["keywords/116",[]],["title/117",[21,278.126,827,745.108]],["content/117",[]],["keywords/117",[]],["title/118",[1311,1555.113]],["content/118",[50,4.749,155,10.644,285,7.953,286,6.72,423,6.806,467,1.727,486,6.201,545,4.155,611,12.601,640,12.982,668,12.982,677,7.887,827,15.7,829,11.829,832,2.286,847,2.605,1208,7.953,1269,10.09,1312,17.637,1313,17.637,1314,17.637,1315,21.676,1316,17.637,1317,17.637]],["keywords/118",[]],["title/119",[1318,1555.113]],["content/119",[259,9.799,274,6.67,286,7.331,423,7.424,467,1.884,486,6.764,545,4.379,613,6.145,823,9.96,827,14.955,832,2.494,847,2.842,1117,15.555,1319,19.24]],["keywords/119",[]],["title/120",[21,278.126,993,715.359]],["content/120",[]],["keywords/120",[]],["title/121",[1320,1363.216]],["content/121",[9,3.603,14,4.442,15,7.348,251,7.967,273,5.662,498,13.38,545,4.559,700,11.156,842,6.302,856,10.97,993,10.711,994,14.697,1061,10.326,1320,15.935,1321,16.506,1322,19.355,1323,17.221,1324,15.935,1325,18.178,1326,17.221,1327,18.178]],["keywords/121",[]],["title/122",[1328,1412.056]],["content/122",[21,5.487,1328,18.946,1329,12.591,1330,18.946]],["keywords/122",[]],["title/123",[1331,1322.558]],["content/123",[16,9.406,467,1.884,540,7.424,545,3.688,789,8.466,824,4.606,832,2.494,847,2.842,856,11.611,873,12.904,993,11.337,1330,17.47,1331,19.429,1332,14.645,1333,12.02,1334,19.24]],["keywords/123",[]],["title/124",[21,278.126,984,615.022]],["content/124",[]],["keywords/124",[]],["title/125",[1335,1412.056]],["content/125",[14,4.497,21,4.216,193,4.022,205,7.625,255,4.397,467,2.178,615,13.149,688,9.984,732,11.016,807,3.294,832,2.385,842,6.38,847,2.718,883,8.513,925,5.088,944,5.501,982,5.324,1335,16.711,1336,8.264,1337,15.24,1338,13.768,1339,18.404,1340,18.404]],["keywords/125",[]],["title/126",[1341,1412.056]],["content/126",[6,6.223,9,2.268,14,4.773,175,8.686,187,6.178,205,8.093,239,10.155,255,3.576,285,6.748,287,6.318,344,8.17,362,3.415,363,2.259,417,5.529,467,2.401,486,5.262,513,8.275,525,8.181,545,3.744,661,5.035,700,9.185,807,2.679,808,7.542,812,5.48,820,4.841,830,9.266,832,1.94,842,5.189,847,2.21,883,6.923,885,6.207,886,6.893,892,8.241,925,4.138,941,8.222,982,4.329,1061,8.501,1092,8.119,1163,8.818,1272,7.015,1294,7.317,1336,6.72,1341,13.589,1342,18.505,1343,19.534,1344,8.386,1345,14.178]],["keywords/126",[]],["title/127",[1346,1363.216]],["content/127",[14,4.732,205,8.023,255,4.627,467,2.246,807,3.466,832,2.51,842,6.714,847,2.86,883,8.958,925,5.354,982,5.602,1274,16.881,1336,8.696,1346,16.976]],["keywords/127",[]],["title/128",[1347,1412.056]],["content/128",[467,2.001,807,3.657,832,2.648,847,3.018,883,9.452,982,5.911,1336,9.175,1347,18.554]],["keywords/128",[]],["title/129",[1348,1322.558]],["content/129",[193,4.151,255,4.538,467,2.576,807,3.399,832,2.462,847,2.805,883,8.786,925,5.251,982,5.495,1004,10.435,1269,10.865,1336,8.529,1348,16.153]],["keywords/129",[]],["title/130",[1349,1412.056]],["content/130",[9,3.296,14,4.335,122,4.283,190,16.276,255,4.239,287,5.739,467,2.465,545,3.401,807,3.176,832,2.3,847,2.621,883,8.207,960,7.902,982,6.294,1208,9.81,1336,7.967,1349,16.111,1350,14.036,1351,14.692,1352,11.768,1353,16.809,1354,17.743]],["keywords/130",[]],["title/131",[1355,1287.729]],["content/131",[6,6.254,14,3.675,63,6.166,122,5.262,193,4.764,205,6.232,255,3.594,287,4.865,310,5.334,363,2.959,453,7.661,467,2.58,556,3.783,592,8.317,600,4.059,807,2.692,832,1.95,847,2.222,849,8.667,882,8.317,883,6.958,925,5.418,944,4.496,982,4.351,1004,11.976,1092,10.632,1269,12.47,1321,13.658,1322,13.186,1336,6.754,1355,12.456,1356,13.658,1357,15.042,1358,13.459,1359,15.042,1360,13.186]],["keywords/131",[]],["title/132",[1361,1412.056]],["content/132",[6,7.512,14,4.415,205,7.485,255,4.317,467,2.477,545,3.463,807,3.234,832,2.342,837,13.275,838,4.582,847,2.668,883,8.357,885,5.741,892,7.622,925,4.995,982,6.861,1092,9.802,1336,8.113,1361,16.405,1362,14.009]],["keywords/132",[]],["title/133",[1363,1412.056]],["content/133",[14,5.22,106,9.926,205,7.137,255,4.116,286,6.564,404,6.215,467,2.525,624,4.927,789,7.581,807,3.083,832,2.233,842,5.973,847,2.544,883,7.969,924,5.796,925,4.763,944,6.942,982,4.984,1336,7.736,1363,15.643,1364,16.566,1365,11.831,1366,7.833,1367,15.643,1368,14.651]],["keywords/133",[]],["title/134",[1369,1322.558]],["content/134",[6,7.04,9,2.566,14,4.137,122,5.562,188,8.864,193,3.7,197,9.686,205,7.015,236,5.009,255,4.046,323,7.279,363,2.556,467,2.515,735,13.129,743,6.965,807,3.031,832,2.194,847,2.501,883,7.832,925,4.681,944,5.061,982,4.898,1004,9.302,1092,9.186,1215,4.831,1269,9.686,1336,7.603,1369,14.4,1370,12.463]],["keywords/134",[]],["title/135",[1371,1322.558]],["content/135",[6,8,14,4.701,205,7.971,255,4.597,467,2.237,548,9.747,807,3.444,832,2.494,847,2.842,883,8.9,925,5.319,982,5.566,1092,10.438,1336,8.639,1371,16.363]],["keywords/135",[]],["title/136",[1372,1412.056]],["content/136",[14,4.525,67,10.594,76,13.05,122,4.47,205,7.672,255,4.425,273,5.768,363,3.371,467,2.186,625,8.882,807,3.314,832,2.4,842,6.42,847,2.735,883,8.566,889,5.345,925,5.12,982,5.357,1336,8.316,1372,16.815,1373,9.985]],["keywords/136",[]],["title/137",[1374,1412.056]],["content/137",[6,7.748,14,4.553,190,13.941,205,7.72,255,4.453,390,5.155,467,2.499,807,3.335,832,2.415,847,2.752,883,8.62,925,5.152,982,6.484,1092,10.11,1336,8.368,1374,16.921]],["keywords/137",[]],["title/138",[1375,1412.056]],["content/138",[255,4.509,467,2.545,807,3.378,832,2.446,847,2.787,883,8.73,885,5.997,892,7.962,925,5.218,982,6.533,1336,8.474,1362,14.634,1375,17.136,1376,17.136]],["keywords/138",[]],["title/139",[1377,1555.113]],["content/139",[14,4.582,106,10.805,255,4.481,286,7.145,322,7.504,390,4.313,467,2.203,516,9.124,807,3.356,832,2.431,847,2.77,883,8.675,925,5.185,982,6.973,1336,8.421,1366,8.527,1378,18.753,1379,13.398]],["keywords/139",[]],["title/140",[1380,1412.056]],["content/140",[9,2.61,14,5.22,21,3.947,48,7.378,190,17.373,205,7.137,255,5.104,467,2.49,545,4.095,804,5.526,807,3.083,820,5.572,832,2.233,842,5.973,847,2.544,883,7.969,925,4.763,928,9.786,982,6.18,1336,7.736,1380,15.643,1381,17.227]],["keywords/140",[]],["title/141",[1382,1412.056]],["content/141",[255,4.688,467,2.484,807,3.512,832,2.543,847,2.898,856,11.841,883,9.076,925,5.425,982,5.676,1336,8.811,1382,17.817]],["keywords/141",[]],["title/142",[1383,1412.056]],["content/142",[467,2.001,807,3.657,832,2.648,847,3.018,883,9.452,982,5.911,1336,9.175,1383,18.554]],["keywords/142",[]],["title/143",[1384,1412.056]],["content/143",[255,4.688,467,2.263,807,3.512,832,2.543,847,2.898,883,9.076,925,5.425,982,5.676,986,14.443,1336,8.811,1384,17.817,1385,7.43,1386,12.258]],["keywords/143",[]],["title/144",[1387,1412.056]],["content/144",[255,4.509,467,2.545,807,3.378,832,2.446,847,2.787,883,8.73,885,5.997,892,7.962,925,5.218,982,6.533,1336,8.474,1362,14.634,1376,17.136,1387,17.136]],["keywords/144",[]],["title/145",[1388,1363.216]],["content/145",[6,7.081,14,4.161,59,4.663,63,6.98,79,8.319,205,7.055,215,5.09,255,4.069,363,2.571,467,2.436,545,3.264,600,4.595,688,9.239,719,7.877,807,3.048,832,2.207,836,5.855,847,2.515,883,7.877,885,5.411,887,8.285,892,7.185,925,4.708,944,5.09,982,4.926,1092,9.239,1336,7.647,1388,14.928,1389,17.029,1390,11.173,1391,13.205]],["keywords/145",[]],["title/146",[1392,1363.216]],["content/146",[193,4.125,255,4.509,467,2.573,807,3.378,832,2.446,847,2.787,883,8.73,925,5.218,982,5.46,1004,10.368,1269,10.796,1336,8.474,1392,16.544,1393,13.483]],["keywords/146",[]],["title/147",[986,1144.672]],["content/147",[6,7.748,14,4.553,205,7.72,255,4.453,467,2.499,807,3.335,832,2.415,847,2.752,883,8.62,925,6.197,944,6.7,982,5.391,986,13.717,1092,10.11,1336,8.368,1373,10.048]],["keywords/147",[]],["title/148",[1394,1363.216]],["content/148",[6,7.04,9,2.566,14,5.164,122,5.824,193,3.7,205,7.015,236,5.009,248,7.902,255,4.046,363,2.556,467,2.515,516,8.238,571,9.756,807,3.031,832,2.194,847,2.501,883,7.832,925,4.681,944,5.061,982,4.898,1004,9.302,1092,9.186,1215,6.031,1269,9.686,1336,7.603,1394,14.843]],["keywords/148",[]],["title/149",[1395,1363.216]],["content/149",[193,4.125,255,4.509,467,2.573,807,3.378,832,2.446,847,2.787,883,8.73,925,5.218,982,5.46,1004,10.368,1269,10.796,1336,8.474,1393,13.483,1395,16.544]],["keywords/149",[]],["title/150",[1396,1555.113]],["content/150",[14,4.671,106,11.014,205,7.92,255,4.567,467,2.228,545,3.664,807,3.421,832,2.478,847,2.823,883,8.842,925,5.285,982,6.584,1269,13.019,1336,8.584,1397,19.116]],["keywords/150",[]],["title/151",[1398,1555.113]],["content/151",[467,2.299,807,3.607,832,2.612,847,2.977,883,9.323,982,6.792,1336,9.051,1399,20.156]],["keywords/151",[]],["title/152",[21,278.126,1400,1032.511]],["content/152",[]],["keywords/152",[]],["title/153",[1401,1555.113]],["content/153",[193,4.528,467,2.029,804,4.93,832,2.685,847,3.06,1402,20.719]],["keywords/153",[]],["title/154",[21,278.126,1403,908.26]],["content/154",[]],["keywords/154",[]],["title/155",[1404,1412.056]],["content/155",[807,3.815,1404,19.354]],["keywords/155",[]],["title/156",[1405,1412.056]],["content/156",[807,3.815,1405,19.354]],["keywords/156",[]],["title/157",[1406,1412.056]],["content/157",[823,11.034,1406,19.354]],["keywords/157",[]],["title/158",[1407,1412.056]],["content/158",[363,3.064,726,12.564,824,4.859,832,2.63,847,2.997,889,5.857,920,9.387,921,10.448,1407,18.427]],["keywords/158",[]],["title/159",[1408,1412.056]],["content/159",[467,2.057,804,5,924,7.07,1408,19.08]],["keywords/159",[]],["title/160",[21,278.126,1409,1311.126]],["content/160",[]],["keywords/160",[]],["title/161",[1410,1555.113]],["content/161",[545,3.944,807,3.683,824,4.926,832,2.667,847,3.039,982,5.952,1410,20.575]],["keywords/161",[]],["title/162",[21,278.126,920,561.582]],["content/162",[]],["keywords/162",[]],["title/163",[1411,1412.056]],["content/163",[807,3.815,1411,19.354]],["keywords/163",[]],["title/164",[1412,1412.056]],["content/164",[807,3.815,1412,19.354]],["keywords/164",[]],["title/165",[1413,1412.056]],["content/165",[807,3.815,1413,19.354]],["keywords/165",[]],["title/166",[1414,1412.056]],["content/166",[132,14.021,286,6.451,390,3.894,443,6.451,467,2.432,556,4.259,807,3.031,832,2.739,847,2.501,923,15.375,924,5.697,925,4.681,926,9.901,928,9.618,929,13.453,930,7.572,931,5.774,932,15.375,933,15.454,936,15.375,940,15.375,1403,12.667,1414,15.375,1415,14.4,1416,13.689,1417,16.041,1418,16.932,1419,16.932,1420,16.932,1421,16.932]],["keywords/166",[]],["title/167",[21,278.126,46,367.265]],["content/167",[]],["keywords/167",[]],["title/168",[1422,1555.113]],["content/168",[7,9.663,46,6.832,363,2.849,467,1.848,475,5.265,832,2.927,847,2.787,889,5.447,913,11.484,930,8.44,931,6.436,1422,18.873,1423,14.365,1424,20.381,1425,18.873,1426,20.381,1427,20.381,1428,20.381]],["keywords/168",[]],["title/169",[21,278.126,1429,1150.133]],["content/169",[]],["keywords/169",[]],["title/170",[1430,1412.056]],["content/170",[352,12.316,556,5.175,807,3.683,824,4.926,840,7.153,1430,18.683,1431,10.772]],["keywords/170",[]],["title/171",[1432,1412.056]],["content/171",[52,13.101,215,5.905,352,11.824,467,1.934,613,6.308,804,5.522,807,3.535,824,4.729,840,6.867,1432,17.936,1433,12.02,1434,11.92]],["keywords/171",[]],["title/172",[21,278.126,845,1032.511]],["content/172",[]],["keywords/172",[]],["title/173",[846,1412.056]],["content/173",[16,8.623,59,5.159,68,7.497,83,8.42,215,7.317,257,6.098,467,2.397,540,6.806,548,7.525,600,4.76,804,5.158,805,13.952,807,3.157,808,8.888,812,7.937,820,5.705,832,2.286,846,16.015,847,2.605,848,7.792,849,10.162]],["keywords/173",[]],["title/174",[850,1412.056]],["content/174",[1,3.403,14,3.306,16,6.615,21,3.1,41,3.396,140,4.202,149,6.343,193,2.957,209,8.613,229,7.296,243,7.854,257,8.774,262,7.854,309,9.809,310,4.798,387,11.205,390,3.112,409,12.694,450,8.166,467,2.426,482,7.854,524,3.636,540,5.222,556,3.403,600,3.651,787,7.913,804,5.27,807,3.27,808,9.207,813,10.704,815,14.381,816,8.878,818,12.287,820,5.909,832,1.754,847,1.998,850,12.287,851,13.531,852,16.015,853,16.015,854,17.308,855,12.287,856,8.166,857,9.411,858,12.819,859,11.508,860,7.634,861,11.508,862,8.532,863,6.232,864,10.94]],["keywords/174",[]],["title/175",[865,1412.056]],["content/175",[46,6.312,807,3.734,863,9.61,865,18.946,866,9.527]],["keywords/175",[]],["title/176",[867,1412.056]],["content/176",[46,6.312,807,3.734,866,9.527,867,18.946,868,13.281]],["keywords/176",[]],["title/177",[21,278.126,805,960.405]],["content/177",[]],["keywords/177",[]],["title/178",[806,1412.056]],["content/178",[46,6.056,59,4.401,141,6.013,257,8.085,329,7.019,806,18.178,807,3.583,808,10.088,809,15.238,810,14.736]],["keywords/178",[]],["title/179",[811,1412.056]],["content/179",[46,5.975,141,5.933,257,8.022,329,6.925,467,1.934,548,8.427,804,4.701,808,9.954,809,15.035,810,14.539,811,17.936,812,7.232]],["keywords/179",[]],["title/180",[21,278.126,821,924.103]],["content/180",[]],["keywords/180",[]],["title/181",[831,1322.558]],["content/181",[7,9.916,257,6.695,310,6.867,363,2.924,438,10.378,556,5.768,807,3.466,824,4.636,827,11.885,830,11.99,832,2.51,833,19.366,834,17.584,835,14.255,836,6.658]],["keywords/181",[]],["title/182",[831,1322.558]],["content/182",[215,5.606,355,7.714,545,3.595,556,4.717,721,13.804,824,4.49,827,13.808,831,15.949,832,2.431,834,17.028,836,7.736,837,13.577,838,4.756,839,17.766,840,6.52,841,17.766,842,6.501,843,14.835]],["keywords/182",[]],["title/183",[844,1412.056]],["content/183",[14,4.993,274,7.084,824,4.892,827,14.525,828,6.766,830,12.651,844,18.554]],["keywords/183",[]],["title/184",[21,278.126,813,960.405]],["content/184",[]],["keywords/184",[]],["title/185",[814,1412.056]],["content/185",[46,5.975,141,5.933,257,8.022,329,6.925,556,4.968,613,6.308,807,3.535,809,15.035,810,14.539,814,17.936,815,12.826,816,12.96]],["keywords/185",[]],["title/186",[817,1412.056]],["content/186",[46,5.897,141,5.855,257,7.96,329,6.834,343,6.611,467,1.909,613,6.225,804,4.639,808,9.823,809,14.837,810,14.348,816,12.79,817,17.7,818,17.7]],["keywords/186",[]],["title/187",[819,1412.056]],["content/187",[46,5.858,141,5.816,257,7.929,329,6.789,343,6.568,409,11.885,467,1.896,613,6.185,804,4.608,807,3.466,809,14.741,810,14.255,816,12.706,819,17.584,820,6.264]],["keywords/187",[]],["title/188",[21,278.126,821,924.103]],["content/188",[]],["keywords/188",[]],["title/189",[822,1412.056]],["content/189",[390,4.799,822,18.946,823,10.801,824,4.995,825,20.865]],["keywords/189",[]],["title/190",[826,1412.056]],["content/190",[14,4.959,274,7.036,824,4.859,826,18.427,827,14.467,828,6.72,829,13.611,830,12.564]],["keywords/190",[]],["title/191",[21,278.126,836,417.425]],["content/191",[]],["keywords/191",[]],["title/192",[869,1412.056]],["content/192",[771,14.68,824,4.698,832,2.543,836,8.448,847,2.898,866,8.96,869,17.817,870,11.652,871,19.622,872,12.875,873,13.16,874,17.817]],["keywords/192",[]],["title/193",[875,1412.056]],["content/193",[556,5.104,620,8.348,807,3.632,836,8.105,875,18.427,876,9.038,877,17.79,878,13.315]],["keywords/193",[]],["title/194",[879,1412.056]],["content/194",[59,4.342,359,12.915,620,8.125,807,3.535,824,4.729,836,7.978,879,17.936,880,19.753,881,17.936,882,10.922,883,9.137]],["keywords/194",[]],["title/195",[884,1412.056]],["content/195",[59,4.523,79,8.07,836,7.074,884,18.683,885,6.538,886,9.476,887,10.01]],["keywords/195",[]],["title/196",[888,1412.056]],["content/196",[9,2.878,14,5.54,46,6.858,59,4.175,79,7.449,404,6.853,467,1.86,540,8.748,737,11.191,804,5.395,836,7.795,888,17.246,889,6.543]],["keywords/196",[]],["title/197",[890,1412.056]],["content/197",[59,4.517,68,9.595,140,3.724,215,6.748,274,5.614,398,6.806,464,6.831,467,2.399,486,7.225,540,6.248,556,4.073,721,11.919,807,2.898,832,2.099,836,8.61,847,2.391,848,7.154,878,13.483,885,5.145,890,14.703,891,16.192,892,6.831,893,13.091,894,9.853,895,16.192,896,15.34,897,9.938,898,8.246,899,16.192,900,7.042]],["keywords/197",[]],["title/198",[901,1412.056]],["content/198",[188,10.341,215,5.905,464,8.334,488,14.319,524,5.307,597,9.802,807,3.535,836,6.792,848,8.727,877,20.34,901,17.936,902,18.713]],["keywords/198",[]],["title/199",[903,1555.113]],["content/199",[357,7.828,671,13.836,737,11.411,824,4.636,832,2.51,836,8.685,847,2.86,872,12.706,873,12.988,904,19.366,905,15.016,906,16.976,907,13.646]],["keywords/199",[]],["title/200",[908,1412.056]],["content/200",[343,6.7,737,11.639,824,4.729,832,2.56,836,8.471,847,2.917,872,12.96,906,17.315,907,13.919,908,17.936,909,12.573]],["keywords/200",[]],["title/201",[21,278.126,910,1032.511]],["content/201",[]],["keywords/201",[]],["title/202",[911,1555.113]],["content/202",[467,2.029,807,3.708,832,2.685,847,3.06,885,6.584,912,20.719]],["keywords/202",[]],["title/203",[21,278.126,1435,1214.065]],["content/203",[]],["keywords/203",[]],["title/204",[1436,1555.113]],["content/204",[7,10.114,46,7.453,358,7.232,363,2.982,467,1.934,804,4.701,820,6.389,832,2.56,847,2.917,1436,19.753,1437,7.342]],["keywords/204",[]],["title/205",[1438,1555.113]],["content/205",[7,10.114,46,5.975,358,7.232,363,2.982,380,9.657,467,1.934,804,4.701,820,6.389,832,2.56,847,2.917,1437,7.342,1438,19.753,1439,18.713]],["keywords/205",[]],["title/206",[1440,1555.113]],["content/206",[7,10.391,46,6.139,358,7.431,823,10.505,824,4.859,981,13.611,982,5.871,1437,7.543,1440,20.294]],["keywords/206",[]],["title/207",[1441,1555.113]],["content/207",[7,10.32,46,7.103,358,7.38,380,9.854,807,3.607,856,14.169,1437,7.492,1441,20.156]],["keywords/207",[]],["title/208",[21,278.126,1442,1214.065]],["content/208",[]],["keywords/208",[]],["title/209",[1443,1555.113]],["content/209",[7,9.851,32,7.778,46,7.371,236,5.415,380,9.406,540,7.424,623,9.905,742,11.251,835,14.162,928,10.929,1215,6.519,1443,19.24,1444,17.47]],["keywords/209",[]],["title/210",[1445,1555.113]],["content/210",[7,10.182,122,4.8,236,5.521,273,6.194,475,5.547,756,11.296,1215,5.674,1385,7.529,1445,19.885,1446,19.885,1447,18.056]],["keywords/210",[]],["title/211",[1448,1555.113]],["content/211",[7,10.32,122,4.865,236,4.777,475,5.623,571,11.613,756,11.449,1215,5.751,1385,7.632,1446,20.156,1448,20.156]],["keywords/211",[]],["title/212",[21,278.126,46,367.265]],["content/212",[]],["keywords/212",[]],["title/213",[1012,1257.267]],["content/213",[14,5.587,85,7.984,174,5.44,193,4.57,194,7.023,204,5.708,229,8.976,263,9.328,319,5.836,355,6.848,363,3.452,380,8.139,423,6.424,467,1.63,520,8.389,554,7.869,556,4.187,702,9.885,728,7.076,821,12.671,823,8.618,832,2.158,847,2.459,982,4.816,984,8.433,1012,13.459,1013,12.454,1014,5.498,1015,16.574,1016,13.459,1017,13.169,1018,5.836,1019,16.647]],["keywords/213",[]],["title/214",[1012,1257.267]],["content/214",[14,4.671,58,7.473,363,2.886,467,2.379,668,14.071,821,14.55,823,11.781,832,2.478,847,2.823,1012,15.455,1014,7.516,1015,13.857,1020,19.116,1021,19.116]],["keywords/214",[]],["title/215",[1022,1412.056]],["content/215",[9,3.013,16,9.722,287,6.432,429,6.383,832,2.577,847,2.937,949,8.268,1022,18.056,1023,18.056,1024,12.912,1025,14.013,1026,16.912]],["keywords/215",[]],["title/216",[1027,1555.113]],["content/216",[15,7.088,18,8.835,58,6.854,208,9.572,215,5.241,251,7.685,253,12.709,263,9.824,355,8.884,380,8.572,721,15.897,807,3.138,827,10.761,832,2.272,836,8.047,842,6.078,847,2.59,1011,10.331,1028,17.533,1029,17.533,1030,17.533,1031,15.92,1032,17.533,1033,10.581,1034,17.533,1035,17.533,1036,8.977,1037,12.709]],["keywords/216",[]],["title/217",[1038,1412.056]],["content/217",[9,2.138,41,3.542,48,6.043,59,3.102,236,3.344,274,4.892,467,2.449,490,8.252,524,5.049,548,6.02,562,10.459,681,10.557,739,7.517,807,3.781,832,1.829,836,7.264,847,2.084,870,8.38,885,6.713,892,8.913,1033,8.516,1038,12.813,1039,15.733,1040,14.111,1041,14.111,1042,12.001,1043,14.111,1044,14.111,1045,8.016,1046,12.37,1047,14.111,1048,6.043,1049,14.111,1050,12.001,1051,15.981,1052,14.111,1053,12.813,1054,11.685,1055,11.685,1056,10.557,1057,10.387,1058,14.111,1059,10.229,1060,14.111,1061,8.016,1062,9.464,1063,14.111,1064,17.801,1065,14.111,1066,14.111]],["keywords/217",[]],["title/218",[1067,1412.056]],["content/218",[59,3.832,215,5.21,274,6.043,464,9.849,467,2.387,486,6.128,524,4.683,558,9.045,603,7.327,807,3.12,824,4.173,832,2.259,836,8.611,847,2.574,848,7.7,870,10.35,873,11.69,944,5.21,951,10.35,1014,5.756,1067,15.827,1068,9.341,1069,14.433]],["keywords/218",[]],["title/219",[1070,1412.056]],["content/219",[48,8.24,464,8.117,467,2.468,558,8.087,807,3.444,832,2.494,836,8.378,847,2.842,870,11.425,951,11.425,1070,17.47,1071,16.363]],["keywords/219",[]],["title/220",[1072,1412.056]],["content/220",[59,3.9,79,6.959,85,8.51,464,7.486,467,2.402,524,5.845,558,7.458,807,3.176,824,4.248,832,2.3,836,8.808,847,2.621,870,10.536,887,8.632,944,5.304,951,12.919,1071,15.09,1072,16.111,1073,14.345,1074,11.642]],["keywords/220",[]],["title/221",[1075,1412.056]],["content/221",[9,2.608,46,5.206,50,3.339,59,2.726,140,2.852,157,6.033,171,6.839,193,2.71,202,5.568,204,4.252,243,7.197,274,4.299,287,4.011,307,8.859,329,4.347,363,2.598,380,6.062,417,4.581,434,8.583,464,7.26,467,2.331,520,6.248,524,5.31,556,4.971,565,6.769,597,6.153,651,7.483,677,5.545,771,14.786,787,7.251,807,3.08,808,8.672,815,8.051,824,2.969,832,1.607,836,8.344,847,1.831,873,8.316,885,3.94,887,6.033,892,5.231,897,10.562,900,5.392,925,3.428,949,5.155,1008,6.216,1025,8.737,1074,11.291,1075,11.259,1076,10.545,1077,6.812,1078,7.61,1079,9.276,1080,17.209,1081,11.746,1082,12.399,1083,10.869,1084,12.399,1085,10.267,1086,12.399,1087,11.259,1088,11.746,1089,19.764,1090,10.869,1091,13.613,1092,6.727,1093,12.399,1094,12.399,1095,12.399]],["keywords/221",[]],["title/222",[1096,1412.056]],["content/222",[14,4.553,146,8.104,475,5.198,620,7.666,684,15.849,832,2.415,847,2.752,976,7.612,1007,11.437,1039,16.122,1045,10.586,1048,7.981,1096,16.921,1097,16.921,1098,18.635,1099,12.499,1100,12.798,1101,16.921,1102,18.635,1103,9.927]],["keywords/222",[]],["title/223",[1104,1412.056]],["content/223",[59,4.066,97,6.549,204,4.726,236,3.267,258,4.846,274,4.778,283,6.91,286,5.251,293,10.311,362,3.145,467,2.549,524,5.609,641,8.69,804,5.702,807,4.166,820,5.983,832,1.786,836,7.178,847,2.036,866,6.294,870,8.185,885,5.878,886,6.348,892,7.804,944,4.12,1042,15.731,1045,10.507,1061,10.507,1062,9.244,1074,9.043,1104,12.515,1105,17.716,1106,16.215,1107,13.838,1108,10.311,1109,13.783,1110,6.061,1111,9.244,1112,12.082]],["keywords/223",[]],["title/224",[1113,1363.216]],["content/224",[9,3.075,14,3.881,19,5.565,23,3.457,25,5.212,34,4.214,41,3.986,46,4.804,48,3.637,59,1.867,62,6.585,77,5.514,85,4.073,86,5.258,106,7.516,117,11.151,122,3.833,140,3.653,144,2.834,146,5.673,188,4.446,197,4.858,200,6.067,202,3.813,204,2.912,205,3.518,219,6.067,251,5.717,286,3.236,287,6.22,294,6.353,296,7.222,322,3.398,380,7.765,383,5.354,390,3.653,404,3.064,423,3.277,429,4.187,467,2.19,486,2.986,489,3.963,500,3.707,520,4.279,524,6.011,534,3.57,540,6.129,545,3.416,613,6.75,623,4.372,624,4.542,710,6.464,716,6.949,733,7.444,734,8.045,756,4.824,771,9.759,796,6.585,804,3.104,832,1.691,836,8.208,840,2.952,842,4.522,847,1.254,873,5.696,905,10.114,925,2.348,931,2.896,949,5.424,963,7.711,976,3.469,989,11.69,992,5.514,1007,5.212,1018,2.977,1076,11.093,1078,5.212,1079,6.353,1110,2.783,1113,7.444,1114,13.044,1115,8.492,1116,7.032,1117,6.866,1118,11.844,1119,7.711,1120,3.665,1121,8.492,1122,5.572,1123,8.045,1124,8.492,1125,8.045,1126,7.711,1127,6.067,1128,8.492,1129,8.045,1130,8.492,1131,8.045,1132,8.045,1133,5.406,1134,6.353,1135,5.984,1136,7.711,1137,6.585,1138,8.492,1139,12.357,1140,8.045,1141,4.302,1142,5.696,1143,7.444,1144,6.353,1145,7.444,1146,4.636,1147,6.251,1148,8.045,1149,5.696,1150,8.492,1151,8.492,1152,8.045,1153,6.866,1154,5.406,1155,8.492,1156,8.492,1157,4.858,1158,5.305]],["keywords/224",[]],["title/225",[1159,1555.113]],["content/225",[16,9.53,26,8.477,85,9.349,346,10.575,467,1.909,802,17.7,804,4.639,832,2.526,847,2.879,989,16.947,1160,19.493,1161,16.578,1162,16.578,1163,11.486]],["keywords/225",[]],["title/226",[1164,1412.056]],["content/226",[1,2.824,6,2.121,9,2.591,15,2.062,21,1.978,31,3.421,34,2.532,36,2.281,41,1.28,46,6.314,48,2.185,50,4.321,59,1.898,68,4.773,85,2.447,90,1.914,122,2.71,140,1.173,146,3.756,155,5.212,157,2.482,174,1.667,187,4.636,204,1.749,205,3.578,215,5.374,220,2.656,235,5.719,236,4.052,250,3.956,257,4.568,260,4.352,269,4.686,274,2.994,275,3.187,283,2.558,285,5.063,286,1.944,287,4.274,319,1.789,322,2.041,329,1.789,355,3.552,362,3.662,363,0.77,390,2.583,397,4.036,404,1.841,408,2.3,417,1.885,429,5.151,443,1.944,449,3.054,455,4.628,464,4.738,467,2.566,476,3.595,477,2.686,481,3.054,486,3.036,505,3.894,513,2.821,516,5.463,520,2.571,524,3.017,525,5.534,540,1.969,545,0.978,548,3.684,554,1.92,556,2.824,624,2.47,625,2.447,692,1.846,699,4.636,702,3.029,730,3.347,804,2.672,807,3.06,815,5.608,820,5.191,832,0.661,836,3.861,838,1.294,840,1.774,842,2.994,847,0.753,848,6.53,866,2.329,870,5.128,876,2.272,882,2.821,885,6.156,889,2.493,892,7.901,900,2.219,909,3.247,920,3.995,925,4.97,926,2.983,941,6.169,944,1.525,945,6.952,949,2.121,965,5.728,966,5.666,968,3.187,969,3.104,1004,2.803,1014,2.852,1018,1.789,1023,4.632,1026,4.339,1033,6.776,1039,3.422,1048,2.185,1061,2.898,1068,2.734,1090,4.472,1133,3.247,1146,4.715,1164,4.632,1165,5.608,1166,6.006,1167,6.006,1168,6.006,1169,6.006,1170,2.447,1171,11.998,1172,8.636,1173,8.636,1174,5.102,1175,4.224,1176,4.224,1177,5.102,1178,6.982,1179,9.079,1180,4.124,1181,3.645,1182,5.102,1183,8.636,1184,4.339,1185,5.102,1186,5.102,1187,3.956,1188,6.832,1189,3.461,1190,5.102,1191,4.224,1192,3.755,1193,5.102,1194,4.632,1195,5.102,1196,3.131,1197,3.883,1198,4.574,1199,3.817,1200,4.224,1201,8.023,1202,5.102,1203,5.102,1204,3.817,1205,2.545,1206,5.102,1207,3.504,1208,3.894,1209,5.102,1210,4.715,1211,4.472,1212,10.028,1213,7.619,1214,4.601,1215,2.464,1216,3.384,1217,5.102,1218,5.102,1219,5.102,1220,5.102,1221,4.224,1222,5.102,1223,4.124,1224,4.339,1225,5.728,1226,6.17,1227,2.37,1228,3.956,1229,5.102,1230,5.102,1231,5.102,1232,5.102,1233,5.102,1234,7.842,1235,5.102,1236,5.102,1237,2.858,1238,2.686,1239,4.632,1240,5.102]],["keywords/226",[]],["title/227",[1241,1412.056]],["content/227",[59,3.877,79,6.917,85,8.459,464,7.441,467,2.397,476,15.274,524,5.824,540,6.806,558,7.414,807,3.157,824,4.223,832,2.286,836,8.796,847,2.605,870,10.474,887,8.581,944,5.272,1071,15,1073,14.259,1074,11.572,1241,16.015]],["keywords/227",[]],["title/228",[1242,1412.056]],["content/228",[215,5.241,274,6.078,464,9.875,467,2.392,476,12.355,486,6.164,524,4.711,558,9.078,603,7.37,807,3.138,824,4.198,832,2.272,836,8.625,847,2.59,848,7.746,870,10.412,873,11.759,944,5.241,1014,5.79,1068,9.396,1069,14.518,1242,15.92]],["keywords/228",[]],["title/229",[1243,1412.056]],["content/229",[16,9.111,50,5.018,319,6.533,467,2.442,540,7.191,545,3.572,617,12.1,743,7.666,832,2.415,847,2.752,925,6.197,1018,6.533,1243,16.921,1244,16.921,1245,13.941,1246,13.508,1247,15.066,1248,18.635]],["keywords/229",[]],["title/230",[1249,1412.056]],["content/230",[9,2.987,13,6.405,22,6.684,34,5.16,46,5.424,50,4.088,58,5.935,59,3.942,188,5.444,215,4.538,229,5.607,230,4.896,236,2.465,274,6.217,287,3.364,344,8.288,390,2.392,423,4.013,429,3.338,467,2.57,486,3.656,500,6.628,524,4.079,545,2.91,600,2.806,634,6.175,729,6.752,731,14.075,735,8.063,807,2.717,820,5.8,824,2.49,832,1.348,836,7.969,847,1.536,849,10.332,870,9.015,885,6.265,886,4.789,889,3.001,892,8.318,900,6.602,905,8.063,920,4.81,941,8.341,944,3.108,945,6.438,949,4.324,956,7.328,965,6.897,966,6.823,983,4.831,1004,5.713,1008,5.213,1042,12.912,1061,5.907,1062,6.974,1110,3.407,1122,6.823,1135,7.328,1158,6.496,1165,6.752,1166,7.232,1167,7.232,1168,7.232,1169,7.232,1249,9.442,1250,10.399,1251,9.442,1252,10.399,1253,4.339,1254,7.915,1255,9.442,1256,6.556,1257,9.115,1258,9.442,1259,10.399,1260,9.851,1261,5.109,1262,7.915,1263,7.141]],["keywords/230",[]],["title/231",[1264,1412.056]],["content/231",[9,2.567,13,3.982,21,2.162,22,10.889,46,5.125,50,3.805,58,3.69,59,2.075,83,4.506,122,2.278,140,2.171,162,4.781,167,6.651,193,2.063,215,4.224,223,5.743,229,5.089,230,4.444,255,3.377,274,3.272,362,3.225,390,2.171,404,3.405,423,3.642,467,2.605,486,3.318,524,4.552,540,3.642,545,1.809,548,4.027,563,6.947,625,4.527,644,6.067,676,7.466,711,5.65,726,5.844,731,10.889,735,7.319,804,2.246,807,2.529,812,5.175,820,4.571,823,4.886,824,2.26,832,1.223,836,7.75,842,3.272,847,1.394,849,8.143,870,8.392,885,5.977,889,2.724,892,7.936,900,4.105,920,4.366,941,7.764,944,6.021,945,5.844,949,5.876,956,6.651,965,6.26,966,6.193,976,3.855,981,6.33,1004,5.185,1068,5.058,1122,6.193,1135,6.651,1158,5.896,1165,6.129,1166,6.564,1167,6.564,1168,6.564,1169,9.828,1251,12.832,1254,7.184,1255,8.57,1256,5.951,1257,8.274,1264,8.57,1265,6.651,1266,4.732,1267,9.438,1268,9.438,1269,5.399,1270,8.57,1271,8.027,1272,9.442,1273,9.438,1274,6.947,1275,9.438,1276,7.319,1277,9.438,1278,9.438,1279,5.844,1280,8.941,1281,6.651,1282,9.438,1283,9.438]],["keywords/231",[]],["title/232",[21,278.126,1439,1150.133]],["content/232",[]],["keywords/232",[]],["title/233",[1449,1555.113]],["content/233",[9,2.537,15,6.767,21,3.835,122,5.974,208,9.139,248,7.812,273,5.214,274,7.947,363,2.527,380,10.26,467,2.055,540,6.46,571,9.646,605,10.103,743,8.633,830,10.365,832,2.72,842,5.804,847,2.473,926,9.789,930,7.486,931,5.709,1385,6.339,1437,6.223,1449,16.741,1450,13.863,1451,18.079,1452,18.079,1453,15.201,1454,18.079]],["keywords/233",[]],["title/234",[1455,1555.113]],["content/234",[14,5.335,122,4.308,193,5.372,204,6.12,355,8.982,467,2.31,719,8.257,766,8.858,824,4.274,832,2.83,930,7.982,931,6.087,1400,15.181,1437,6.635,1453,16.208,1455,17.85,1456,19.277,1457,16.91,1458,23.582,1459,19.277]],["keywords/234",[]],["title/235",[21,278.126,1460,1214.065]],["content/235",[]],["keywords/235",[]],["title/236",[1461,1555.113]],["content/236",[46,5.948,48,6.475,286,5.76,363,3.299,380,7.391,467,2.634,487,7.391,597,7.502,688,8.202,719,6.993,807,3.519,832,1.959,842,5.241,847,2.233,889,5.675,913,11.965,920,9.096,947,7.32,1007,9.279,1403,14.71,1461,15.119,1462,12.639,1463,11.17,1464,12.488,1465,13.728,1466,11.723,1467,15.119]],["keywords/236",[]],["title/237",[1468,1555.113]],["content/237",[46,4.482,48,6.345,144,4.945,193,3.238,199,9.937,260,7.466,363,3.267,467,2.629,524,3.981,688,8.038,807,3.473,832,1.92,842,6.728,847,2.188,889,5.601,913,11.809,920,8.976,947,7.174,949,6.16,1007,9.093,1390,9.721,1391,11.489,1403,14.518,1462,12.474,1463,11.023,1464,12.408,1465,13.453,1466,11.489,1468,14.816,1469,12.988,1470,8.302]],["keywords/237",[]],["title/238",[1471,1555.113]],["content/238",[14,3.831,358,5.741,363,2.367,467,2.642,545,3.005,807,4.199,832,2.032,847,2.316,889,5.81,913,12.25,920,9.312,982,4.536,984,7.942,1403,15.06,1462,12.94,1463,11.435,1464,12.631,1465,14.236,1471,15.678,1472,14.236,1473,8.255]],["keywords/238",[]],["title/239",[1474,1555.113]],["content/239",[122,3.612,273,4.662,358,5.48,467,2.652,548,6.385,566,8.623,743,6.156,804,5.485,807,3.892,832,1.94,847,2.21,889,5.638,913,11.886,920,9.036,1403,14.613,1462,12.556,1463,11.096,1464,12.448,1465,13.589,1473,7.88,1474,14.966,1475,6.483,1476,10.408,1477,10.849]],["keywords/239",[]],["title/240",[1478,1555.113]],["content/240",[58,6.4,274,7.174,358,7.577,363,2.472,390,3.765,467,2.407,677,7.321,804,4.924,807,2.93,824,4.954,828,5.421,832,2.682,837,9.879,842,5.676,889,4.725,921,8.428,924,5.508,930,7.321,931,5.583,944,6.185,960,7.291,1437,6.085,1464,12.41,1478,16.371,1479,18.788,1480,6.664,1481,15.509,1482,17.68,1483,11.696]],["keywords/240",[]],["title/241",[21,278.126,1484,1214.065]],["content/241",[]],["keywords/241",[]],["title/242",[1485,1555.113]],["content/242",[32,7.768,34,7.244,61,7.599,90,5.476,205,6.048,215,4.363,274,5.061,358,7.866,390,4.42,467,2.496,505,8.665,525,6.114,556,3.672,587,6.005,592,13.117,807,2.613,824,3.495,828,4.833,832,2.491,837,8.809,842,5.061,847,2.156,849,8.411,885,4.638,892,6.159,900,6.348,924,4.911,930,6.528,931,4.978,1014,4.821,1110,4.783,1120,6.299,1208,6.582,1365,10.025,1483,10.429,1485,14.598,1486,20.753,1487,16.526,1488,15.765,1489,10.921,1490,15.765,1491,15.765]],["keywords/242",[]],["title/243",[1492,1555.113]],["content/243",[9,2.18,30,5.943,46,5.757,58,5.623,205,5.96,215,6.785,255,4.547,274,4.987,332,7.853,363,3.22,438,7.709,467,2.375,475,5.95,540,5.551,603,9.541,613,4.594,624,4.114,625,6.899,702,11.302,804,4.529,807,3.406,820,4.653,824,3.444,832,2.467,842,4.987,920,6.654,925,3.977,930,6.433,931,4.905,960,6.407,985,9.438,1215,5.43,1366,8.654,1425,14.385,1483,10.277,1492,14.385,1493,14.385,1494,17.244,1495,15.535,1496,15.535,1497,15.535]],["keywords/243",[]],["title/244",[21,278.126,1498,1150.133]],["content/244",[]],["keywords/244",[]],["title/245",[1499,1555.113]],["content/245",[363,2.796,467,2.347,489,8.642,524,4.976,545,3.55,706,10.174,804,4.407,820,5.99,824,4.434,832,2.894,836,6.367,847,2.735,930,8.281,931,6.315,1499,18.519,1500,18.519,1501,16.234,1502,16.815,1503,17.544,1504,19.999]],["keywords/245",[]],["title/246",[1505,1555.113]],["content/246",[363,2.796,467,2.347,489,8.642,524,4.976,545,3.55,706,10.174,804,4.407,820,5.99,824,4.434,832,2.894,836,6.367,847,2.735,866,8.456,930,8.281,931,6.315,1502,16.815,1503,17.544,1505,18.519,1506,19.999,1507,19.999]],["keywords/246",[]],["title/247",[21,278.126,984,615.022]],["content/247",[]],["keywords/247",[]],["title/248",[1335,1412.056]],["content/248",[14,4.497,21,4.216,193,4.022,205,7.625,255,4.397,467,2.178,615,13.149,688,9.984,732,11.016,807,3.294,832,2.385,842,6.38,847,2.718,883,8.513,925,5.088,944,5.501,982,5.324,1335,16.711,1336,8.264,1337,15.24,1338,13.768,1339,18.404,1340,18.404]],["keywords/248",[]],["title/249",[1341,1412.056]],["content/249",[6,6.223,9,2.268,14,4.773,175,8.686,187,6.178,205,8.093,239,10.155,255,3.576,285,6.748,287,6.318,344,8.17,362,3.415,363,2.259,417,5.529,467,2.401,486,5.262,513,8.275,525,8.181,545,3.744,661,5.035,700,9.185,807,2.679,808,7.542,812,5.48,820,4.841,830,9.266,832,1.94,842,5.189,847,2.21,883,6.923,885,6.207,886,6.893,892,8.241,925,4.138,941,8.222,982,4.329,1061,8.501,1092,8.119,1163,8.818,1272,7.015,1294,7.317,1336,6.72,1341,13.589,1342,18.505,1343,19.534,1344,8.386,1345,14.178]],["keywords/249",[]],["title/250",[1346,1363.216]],["content/250",[14,4.732,205,8.023,255,4.627,467,2.246,807,3.466,832,2.51,842,6.714,847,2.86,883,8.958,925,5.354,982,5.602,1274,16.881,1336,8.696,1346,16.976]],["keywords/250",[]],["title/251",[1347,1412.056]],["content/251",[467,2.001,807,3.657,832,2.648,847,3.018,883,9.452,982,5.911,1336,9.175,1347,18.554]],["keywords/251",[]],["title/252",[1348,1322.558]],["content/252",[193,4.151,255,4.538,467,2.576,807,3.399,832,2.462,847,2.805,883,8.786,925,5.251,982,5.495,1004,10.435,1269,10.865,1336,8.529,1348,16.153]],["keywords/252",[]],["title/253",[1349,1412.056]],["content/253",[9,3.296,14,4.335,122,4.283,190,16.276,255,4.239,287,5.739,467,2.465,545,3.401,807,3.176,832,2.3,847,2.621,883,8.207,960,7.902,982,6.294,1208,9.81,1336,7.967,1349,16.111,1350,14.036,1351,14.692,1352,11.768,1353,16.809,1354,17.743]],["keywords/253",[]],["title/254",[1355,1287.729]],["content/254",[6,6.254,14,3.675,63,6.166,122,5.262,193,4.764,205,6.232,255,3.594,287,4.865,310,5.334,363,2.959,453,7.661,467,2.58,556,3.783,592,8.317,600,4.059,807,2.692,832,1.95,847,2.222,849,8.667,882,8.317,883,6.958,925,5.418,944,4.496,982,4.351,1004,11.976,1092,10.632,1269,12.47,1321,13.658,1322,13.186,1336,6.754,1355,12.456,1356,13.658,1357,15.042,1358,13.459,1359,15.042,1360,13.186]],["keywords/254",[]],["title/255",[1361,1412.056]],["content/255",[6,7.512,14,4.415,205,7.485,255,4.317,467,2.477,545,3.463,807,3.234,832,2.342,837,13.275,838,4.582,847,2.668,883,8.357,885,5.741,892,7.622,925,4.995,982,6.861,1092,9.802,1336,8.113,1361,16.405,1362,14.009]],["keywords/255",[]],["title/256",[1363,1412.056]],["content/256",[14,5.22,106,9.926,205,7.137,255,4.116,286,6.564,404,6.215,467,2.525,624,4.927,789,7.581,807,3.083,832,2.233,842,5.973,847,2.544,883,7.969,924,5.796,925,4.763,944,6.942,982,4.984,1336,7.736,1363,15.643,1364,16.566,1365,11.831,1366,7.833,1367,15.643,1368,14.651]],["keywords/256",[]],["title/257",[1369,1322.558]],["content/257",[6,7.04,9,2.566,14,4.137,122,5.562,188,8.864,193,3.7,197,9.686,205,7.015,236,5.009,255,4.046,323,7.279,363,2.556,467,2.515,735,13.129,743,6.965,807,3.031,832,2.194,847,2.501,883,7.832,925,4.681,944,5.061,982,4.898,1004,9.302,1092,9.186,1215,4.831,1269,9.686,1336,7.603,1369,14.4,1370,12.463]],["keywords/257",[]],["title/258",[1371,1322.558]],["content/258",[6,8,14,4.701,205,7.971,255,4.597,467,2.237,548,9.747,807,3.444,832,2.494,847,2.842,883,8.9,925,5.319,982,5.566,1092,10.438,1336,8.639,1371,16.363]],["keywords/258",[]],["title/259",[1372,1412.056]],["content/259",[14,4.525,67,10.594,76,13.05,122,4.47,205,7.672,255,4.425,273,5.768,363,3.371,467,2.186,625,8.882,807,3.314,832,2.4,842,6.42,847,2.735,883,8.566,889,5.345,925,5.12,982,5.357,1336,8.316,1372,16.815,1373,9.985]],["keywords/259",[]],["title/260",[1374,1412.056]],["content/260",[6,7.748,14,4.553,190,13.941,205,7.72,255,4.453,390,5.155,467,2.499,807,3.335,832,2.415,847,2.752,883,8.62,925,5.152,982,6.484,1092,10.11,1336,8.368,1374,16.921]],["keywords/260",[]],["title/261",[1375,1412.056]],["content/261",[255,4.509,467,2.545,807,3.378,832,2.446,847,2.787,883,8.73,885,5.997,892,7.962,925,5.218,982,6.533,1336,8.474,1362,14.634,1375,17.136,1376,17.136]],["keywords/261",[]],["title/262",[1377,1555.113]],["content/262",[14,4.582,106,10.805,255,4.481,286,7.145,322,7.504,390,4.313,467,2.203,516,9.124,807,3.356,832,2.431,847,2.77,883,8.675,925,5.185,982,6.973,1336,8.421,1366,8.527,1378,18.753,1379,13.398]],["keywords/262",[]],["title/263",[1380,1412.056]],["content/263",[9,2.61,14,5.22,21,3.947,48,7.378,190,17.373,205,7.137,255,5.104,467,2.49,545,4.095,804,5.526,807,3.083,820,5.572,832,2.233,842,5.973,847,2.544,883,7.969,925,4.763,928,9.786,982,6.18,1336,7.736,1380,15.643,1381,17.227]],["keywords/263",[]],["title/264",[1382,1412.056]],["content/264",[255,4.688,467,2.484,807,3.512,832,2.543,847,2.898,856,11.841,883,9.076,925,5.425,982,5.676,1336,8.811,1382,17.817]],["keywords/264",[]],["title/265",[1383,1412.056]],["content/265",[467,2.001,807,3.657,832,2.648,847,3.018,883,9.452,982,5.911,1336,9.175,1383,18.554]],["keywords/265",[]],["title/266",[1384,1412.056]],["content/266",[255,4.688,467,2.263,807,3.512,832,2.543,847,2.898,883,9.076,925,5.425,982,5.676,986,14.443,1336,8.811,1384,17.817,1385,7.43,1386,12.258]],["keywords/266",[]],["title/267",[1387,1412.056]],["content/267",[255,4.509,467,2.545,807,3.378,832,2.446,847,2.787,883,8.73,885,5.997,892,7.962,925,5.218,982,6.533,1336,8.474,1362,14.634,1376,17.136,1387,17.136]],["keywords/267",[]],["title/268",[1388,1363.216]],["content/268",[6,7.081,14,4.161,59,4.663,63,6.98,79,8.319,205,7.055,215,5.09,255,4.069,363,2.571,467,2.436,545,3.264,600,4.595,688,9.239,719,7.877,807,3.048,832,2.207,836,5.855,847,2.515,883,7.877,885,5.411,887,8.285,892,7.185,925,4.708,944,5.09,982,4.926,1092,9.239,1336,7.647,1388,14.928,1389,17.029,1390,11.173,1391,13.205]],["keywords/268",[]],["title/269",[1392,1363.216]],["content/269",[193,4.125,255,4.509,467,2.573,807,3.378,832,2.446,847,2.787,883,8.73,925,5.218,982,5.46,1004,10.368,1269,10.796,1336,8.474,1392,16.544,1393,13.483]],["keywords/269",[]],["title/270",[986,1144.672]],["content/270",[6,7.748,14,4.553,205,7.72,255,4.453,467,2.499,807,3.335,832,2.415,847,2.752,883,8.62,925,6.197,944,6.7,982,5.391,986,13.717,1092,10.11,1336,8.368,1373,10.048]],["keywords/270",[]],["title/271",[1394,1363.216]],["content/271",[6,7.04,9,2.566,14,5.164,122,5.824,193,3.7,205,7.015,236,5.009,248,7.902,255,4.046,363,2.556,467,2.515,516,8.238,571,9.756,807,3.031,832,2.194,847,2.501,883,7.832,925,4.681,944,5.061,982,4.898,1004,9.302,1092,9.186,1215,6.031,1269,9.686,1336,7.603,1394,14.843]],["keywords/271",[]],["title/272",[1395,1363.216]],["content/272",[193,4.125,255,4.509,467,2.573,807,3.378,832,2.446,847,2.787,883,8.73,925,5.218,982,5.46,1004,10.368,1269,10.796,1336,8.474,1393,13.483,1395,16.544]],["keywords/272",[]],["title/273",[1396,1555.113]],["content/273",[14,4.671,106,11.014,205,7.92,255,4.567,467,2.228,545,3.664,807,3.421,832,2.478,847,2.823,883,8.842,925,5.285,982,6.584,1269,13.019,1336,8.584,1397,19.116]],["keywords/273",[]],["title/274",[1398,1555.113]],["content/274",[467,2.299,807,3.607,832,2.612,847,2.977,883,9.323,982,6.792,1336,9.051,1399,20.156]],["keywords/274",[]],["title/275",[21,278.126,1462,780.396]],["content/275",[]],["keywords/275",[]],["title/276",[1508,1555.113]],["content/276",[9,2.847,106,8.131,122,3.406,149,6.614,157,6.865,174,4.612,194,5.953,195,9.944,203,10.387,204,4.838,230,6.644,251,6.185,274,4.892,301,7.961,329,6.588,349,9.944,355,8.69,363,2.13,424,9.259,443,5.376,467,2.206,545,2.705,556,3.549,613,4.507,653,9.944,657,10.229,739,7.517,820,4.564,824,3.378,832,2.435,840,4.906,856,8.516,930,6.31,931,6.408,960,6.285,981,12.603,982,5.436,983,6.556,984,12.221,1011,8.315,1033,8.516,1061,8.016,1437,8.373,1508,14.111,1509,15.239,1510,15.239,1511,11.163,1512,8.587,1513,15.239,1514,15.239,1515,12.001,1516,13.368,1517,14.111,1518,12.37]],["keywords/276",[]],["title/277",[1519,1555.113]],["content/277",[7,7.157,9,2.829,106,8.054,122,3.374,149,6.552,157,6.801,194,5.897,195,9.85,203,10.289,204,4.793,230,6.582,251,8.184,257,4.833,274,6.473,301,7.885,329,4.901,349,9.85,355,7.681,417,5.164,424,9.171,443,5.326,467,2.059,613,4.464,624,3.997,632,9.832,653,9.85,657,10.133,739,7.446,804,4.443,820,4.521,824,3.347,832,2.42,840,7.31,847,2.064,856,8.435,930,6.251,931,6.368,960,6.225,984,11.846,1011,11.002,1033,8.435,1061,7.94,1437,7.815,1511,11.058,1512,8.506,1515,11.888,1519,13.978,1520,21.026,1521,15.096,1522,15.096,1523,13.978,1524,13.978,1525,13.242,1526,12.692]],["keywords/277",[]],["title/278",[1527,1555.113]],["content/278",[7,9.916,215,5.789,363,2.924,467,1.896,475,5.402,832,2.51,930,8.66,931,6.604,1437,7.198,1527,19.366,1528,15.016,1529,14.038,1530,17.584,1531,16.036,1532,20.914,1533,19.366]],["keywords/278",[]],["title/279",[1534,1555.113]],["content/279",[7,8.72,59,3.744,68,7.238,79,6.679,215,7.436,286,8.082,467,2.368,623,8.767,804,4.052,807,3.048,832,2.749,836,7.943,847,2.515,848,7.523,849,9.812,928,9.673,930,7.615,931,5.807,933,11.422,1127,12.167,1534,17.029,1535,13.205,1536,18.391,1537,18.391,1538,18.391,1539,18.391]],["keywords/279",[]],["title/280",[1540,1555.113]],["content/280",[7,8.872,269,7.231,363,3.774,417,6.402,467,1.697,475,7.105,478,10.749,832,2.246,889,7.022,913,10.544,930,7.749,931,5.909,1192,12.755,1437,9.043,1530,15.734,1540,17.328,1541,15.19,1542,18.713]],["keywords/280",[]],["title/281",[1543,1679.439]],["content/281",[9,2.777,23,5.533,106,7.832,122,3.281,149,6.372,157,6.614,174,4.443,194,5.735,195,9.579,203,10.006,204,4.661,230,6.401,251,5.958,274,4.713,301,7.669,329,6.425,349,9.579,355,7.538,363,2.052,424,8.919,443,5.179,467,2.173,545,3.513,556,3.419,613,4.341,653,9.579,657,9.854,726,8.416,739,7.242,820,4.397,824,3.254,832,2.375,840,4.726,856,8.203,930,6.079,931,6.249,960,6.054,981,12.291,982,5.997,983,6.315,984,12.09,1011,8.01,1033,8.203,1061,7.722,1208,10.445,1437,8.247,1511,10.753,1512,8.272,1515,11.561,1517,13.593,1518,11.916,1535,10.54,1544,14.68,1545,14.68,1546,14.68,1547,14.68,1548,13.593]],["keywords/281",[]],["title/282",[1549,1555.113]],["content/282",[7,6.928,9,2.768,106,7.796,122,3.266,149,6.343,157,6.583,194,5.709,195,9.535,203,9.96,204,4.64,230,6.371,251,8.007,257,4.678,274,6.334,301,7.634,329,4.744,349,9.535,355,7.515,417,4.999,424,8.878,443,5.156,467,2.169,613,4.321,624,3.87,632,9.619,653,9.535,657,9.809,739,7.209,804,4.348,820,4.377,824,3.24,832,2.368,840,7.191,847,1.998,856,8.166,930,6.051,931,6.23,960,6.026,984,11.717,1011,10.765,1033,8.166,1061,7.686,1127,9.668,1208,9.986,1437,7.688,1511,10.704,1512,8.234,1515,11.508,1525,12.819,1526,12.287,1535,10.492,1549,13.531,1550,13.531,1551,19.73,1552,14.613,1553,14.613,1554,13.531,1555,13.531]],["keywords/282",[]],["title/283",[1556,1555.113]],["content/283",[7,9.251,273,5.628,363,2.728,467,1.769,475,6.136,571,12.675,623,9.301,624,5.167,700,11.089,764,8.25,807,3.234,832,2.342,856,10.903,928,10.263,930,8.08,931,6.161,1437,6.716,1541,15.838,1556,18.067,1557,10.41,1558,12.259,1559,20.84,1560,18.067,1561,19.512]],["keywords/283",[]],["title/284",[1562,1555.113]],["content/284",[7,9.542,14,4.553,51,10.304,144,6.22,215,5.57,363,2.813,467,1.825,556,5.637,807,3.335,832,2.415,928,10.586,930,8.333,931,6.355,1437,6.927,1541,16.336,1557,10.737,1562,18.635,1563,12.36,1564,13.132,1565,18.635,1566,20.125]],["keywords/284",[]],["title/285",[1567,1555.113]],["content/285",[9,2.915,79,7.546,390,4.425,467,1.884,824,4.606,832,2.961,847,2.842,905,14.919,930,8.604,931,6.561,1437,8.492,1541,16.866,1567,19.24,1568,20.778,1569,20.778]],["keywords/285",[]],["title/286",[1570,1555.113]],["content/286",[9,2.551,140,3.872,259,8.574,363,3.179,467,2.062,475,4.696,540,6.497,711,10.078,743,9.454,824,5.042,832,2.73,847,2.487,931,5.741,960,7.498,1154,10.717,1437,8.951,1462,10.822,1541,14.759,1570,16.836,1571,21.06,1572,15.594,1573,8.865,1574,12.595,1575,15.287,1576,18.182,1577,18.182,1578,18.182]],["keywords/286",[]],["title/287",[21,278.126,1579,1214.065]],["content/287",[]],["keywords/287",[]],["title/288",[1580,1555.113]],["content/288",[16,7.102,31,5.754,46,4.394,215,7.079,255,3.471,417,5.367,453,9.755,467,2.494,524,3.903,540,7.392,603,8.052,824,4.586,832,2.483,836,7.834,847,2.145,848,6.417,849,13.128,926,8.494,930,6.496,931,4.954,1141,7.359,1385,5.5,1470,8.139,1580,14.526,1581,9.275,1582,11.491,1583,12.028,1584,10.378,1585,6.605,1586,14.526,1587,12.028,1588,13.19,1589,12.734,1590,12.734,1591,16.791,1592,14.526,1593,14.526,1594,14.526,1595,12.734,1596,14.526]],["keywords/288",[]],["title/289",[1597,1555.113]],["content/289",[16,7.033,31,5.698,46,4.352,68,6.114,215,7.057,255,3.437,417,5.315,453,9.693,467,2.489,505,6.486,524,3.865,540,7.344,603,8,824,4.557,832,2.467,836,7.804,847,2.125,848,10.43,926,8.412,930,6.433,931,4.905,1141,7.287,1385,5.447,1470,8.06,1581,9.239,1582,11.38,1583,11.912,1584,10.277,1585,6.541,1587,11.912,1588,13.062,1589,12.61,1590,12.61,1591,16.684,1595,12.61,1597,14.385,1598,14.385,1599,14.385,1600,14.385,1601,14.385,1602,14.385]],["keywords/289",[]],["title/290",[21,278.126,1528,941.389]],["content/290",[]],["keywords/290",[]],["title/291",[1603,1555.113]],["content/291",[556,5.248,592,11.537,807,3.734,1603,20.865,1604,17.745]],["keywords/291",[]],["title/292",[1605,1555.113]],["content/292",[215,6.193,592,11.457,807,3.708,848,9.154,944,6.193,1605,20.719]],["keywords/292",[]],["title/293",[21,278.126,1535,941.389]],["content/293",[]],["keywords/293",[]],["title/294",[1606,1555.113]],["content/294",[9,1.682,193,2.426,283,5.564,286,7.744,287,5.148,363,3.627,380,9.097,390,3.661,429,3.563,467,2.581,475,5.67,677,9.089,692,4.016,728,4.718,804,3.787,807,3.33,816,10.443,820,6.018,824,2.657,832,1.439,837,6.698,838,2.815,847,1.639,885,3.527,886,5.112,889,7.195,900,4.827,913,9.685,920,8.607,921,9.579,925,3.069,944,4.757,1061,6.305,1154,7.065,1208,5.005,1215,4.541,1274,8.17,1403,11.907,1437,6.916,1439,15.077,1462,7.135,1463,9.041,1464,8.285,1494,15.043,1606,11.099,1607,7.362,1608,17.188,1609,11.099,1610,5.274,1611,7.93,1612,7.821,1613,3.545,1614,11.987,1615,10.078]],["keywords/294",[]],["title/295",[1616,1555.113]],["content/295",[9,2.58,205,7.055,363,3.65,467,2.368,475,5.917,613,6.774,804,4.052,807,3.048,820,5.508,824,4.077,832,2.207,847,2.515,889,6.122,920,7.877,921,8.767,925,4.708,944,5.09,1110,5.58,1215,4.859,1437,6.33,1460,17.029,1494,18.677,1616,17.029,1617,18.391,1618,14.101,1619,11.422]],["keywords/295",[]],["title/296",[1620,1555.113]],["content/296",[613,6.481,824,4.859,832,2.63,847,2.997,1484,20.294,1618,16.804,1620,20.294,1621,21.916,1622,11.01]],["keywords/296",[]],["title/297",[1623,1555.113]],["content/297",[9,1.789,19,5.037,41,4.174,193,3.634,208,6.445,283,5.919,286,7.335,287,3.819,329,4.139,363,3.155,390,3.825,417,4.362,429,3.79,442,7.589,453,6.013,467,2.583,475,5.83,613,3.771,677,8.609,692,4.272,728,5.018,804,2.81,807,3.74,816,7.747,820,5.379,824,2.827,828,3.909,832,1.53,836,4.059,837,7.125,838,2.995,840,6.693,847,1.744,889,7.035,913,10.119,920,8.905,921,8.561,925,3.264,944,3.529,989,8.691,1208,5.324,1215,3.369,1403,12.441,1437,4.389,1462,7.589,1463,9.446,1464,8.657,1494,13.445,1498,11.185,1607,7.831,1609,11.807,1610,5.61,1613,3.771,1623,11.807,1624,9.652,1625,9.545,1626,12.751,1627,9.545]],["keywords/297",[]],["title/298",[1628,1555.113]],["content/298",[9,2.191,31,2.906,32,6.654,46,6.281,50,3.133,108,3.018,122,3.491,193,1.603,204,2.515,236,4.527,253,5.318,255,1.753,260,3.697,267,5.584,273,3.624,329,4.079,355,6.771,363,2.485,380,3.587,390,1.687,417,2.71,453,5.926,467,2.599,475,4.034,489,6.748,524,3.885,540,6.351,556,1.845,563,5.4,571,11.533,613,3.716,623,3.777,624,2.098,632,3.863,661,2.468,739,3.908,742,4.29,746,3.622,804,4.763,807,3.582,815,4.764,820,2.373,824,2.786,832,1.874,835,5.4,836,2.522,837,4.427,838,1.861,840,4.045,842,5.014,847,1.084,889,4.751,900,3.19,920,9.259,921,7.445,925,2.028,928,4.167,929,7.407,930,3.281,931,2.502,967,4.866,982,3.366,989,5.4,1062,7.804,1078,4.502,1110,2.404,1141,3.716,1171,6.661,1208,6.521,1215,5.121,1370,13.211,1403,13.427,1433,4.464,1437,2.727,1442,7.336,1463,8.215,1464,7.528,1489,5.488,1494,5.931,1557,4.227,1589,6.431,1590,10.2,1627,5.931,1628,7.336,1629,9.812,1630,4.286,1631,6.661,1632,6.95,1633,7.336,1634,7.923,1635,15.264,1636,6.95,1637,7.923,1638,6.661,1639,6.661,1640,7.923,1641,8.092,1642,7.923,1643,7.923,1644,2.343,1645,7.923,1646,7.336,1647,7.336,1648,7.336,1649,7.336,1650,7.923,1651,11.636,1652,7.336,1653,7.336,1654,6.661,1655,7.336,1656,7.336,1657,7.336,1658,6.661,1659,6.95]],["keywords/298",[]],["title/299",[1660,1555.113]],["content/299",[19,8.371,215,5.865,449,11.745,592,10.85,613,6.267,807,3.512,824,4.698,832,2.543,840,6.822,847,2.898,849,11.306,989,14.443,1627,15.864,1660,19.622]],["keywords/299",[]],["title/300",[1661,1555.113]],["content/300",[6,6.696,9,2.44,19,6.871,32,9.579,34,7.991,67,9.213,117,8.848,140,3.704,355,8.424,362,4.673,404,5.81,490,9.417,597,7.991,623,8.291,719,9.473,789,7.086,812,7.498,842,7.1,949,6.696,981,13.735,982,4.659,988,9.417,1147,11.854,1208,7.261,1225,10.681,1344,13.277,1433,9.8,1639,14.623,1661,16.104,1662,11.674,1663,17.392,1664,16.104,1665,17.392,1666,17.392,1667,17.392]],["keywords/300",[]],["title/301",[1668,1555.113]],["content/301",[7,6.07,9,1.796,193,2.591,283,5.943,286,7.351,363,3.683,390,3.836,417,4.38,467,2.558,475,6.154,513,6.555,613,3.786,677,8.628,726,7.339,728,5.038,804,3.968,807,3.453,820,5.394,824,2.838,832,1.536,837,7.153,838,3.007,847,1.751,889,7.282,913,10.148,920,8.924,921,8.585,925,3.277,929,7.545,944,4.985,1208,5.345,1215,3.382,1437,7.171,1462,10.72,1463,9.473,1464,10.043,1494,15.598,1531,13.809,1607,7.862,1610,7.924,1612,8.353,1613,3.786,1615,10.764,1668,11.854,1669,12.802,1670,12.802,1671,12.802,1672,12.802,1673,11.854]],["keywords/301",[]],["title/302",[1674,1555.113]],["content/302",[9,2.58,205,7.055,363,3.65,467,2.368,475,5.917,613,6.774,804,4.052,807,3.048,820,5.508,824,4.077,832,2.207,847,2.515,889,6.122,920,7.877,921,8.767,925,4.708,944,5.09,1110,5.58,1215,4.859,1437,6.33,1494,18.677,1618,14.101,1674,17.029,1675,17.029,1676,17.029,1677,8.627]],["keywords/302",[]],["title/303",[1678,1555.113]],["content/303",[32,8.093,50,5.391,167,14.107,194,8.446,719,9.26,824,4.793,947,9.693,1678,20.02,1679,23.386,1680,10.929]],["keywords/303",[]],["title/304",[1681,1555.113]],["content/304",[6,8.485,9,2.427,174,5.235,205,6.636,215,4.788,269,6.684,274,5.553,345,5.168,386,14.544,408,10.127,453,10.393,524,4.304,526,10.722,545,3.912,548,6.834,554,6.027,804,3.812,807,2.867,832,2.076,836,5.507,838,4.062,839,15.174,842,5.553,847,2.366,848,7.076,849,9.229,862,10.099,885,5.09,944,7.069,1068,8.584,1092,8.69,1205,6.619,1681,16.017,1682,16.499,1683,6.566]],["keywords/304",[]],["title/305",[1684,1555.113]],["content/305",[1,4.283,7,8.72,19,7.265,22,10.946,31,9.151,32,8.574,34,10.525,230,8.018,274,7.354,328,8.13,524,5.699,609,9.673,613,5.439,840,5.92,863,7.843,868,13.501,989,12.535,1191,17.564,1581,8.634,1584,12.167,1627,13.768,1684,17.029,1685,16.133,1686,8.767,1687,7.912,1688,15.463,1689,16.133,1690,14.483]],["keywords/305",[]],["title/306",[1691,1679.439]],["content/306",[21,3.573,46,6.069,96,8.859,274,5.407,467,2.47,545,2.99,820,5.045,824,3.734,827,15.219,832,2.6,892,6.58,900,6.782,930,6.974,931,5.318,1400,13.264,1587,12.914,1692,16.843,1693,14.775,1694,16.843,1695,16.843,1696,16.843,1697,16.843,1698,15.596,1699,15.596,1700,14.161,1701,13.264,1702,15.596,1703,11.871,1704,11.871,1705,12.914,1706,14.161,1707,15.596,1708,13.671,1709,15.596,1710,16.843,1711,16.843,1712,16.843,1713,14.775,1714,16.843,1715,16.843]],["keywords/306",[]],["title/307",[1716,1555.113]],["content/307",[19,8.371,215,5.865,449,11.745,505,8.847,613,6.267,807,3.512,824,4.698,832,2.543,840,6.822,847,2.898,849,11.306,989,14.443,1627,15.864,1716,19.622]],["keywords/307",[]],["title/308",[1717,1679.439]],["content/308",[340,8.789,363,3.699,625,9.349,688,10.575,807,3.489,832,2.526,847,2.879,885,6.194,889,6.645,944,5.827,1718,21.051,1719,17.088]],["keywords/308",[]],["title/309",[1720,1555.113]],["content/309",[9,1.935,205,5.292,257,4.416,283,6.404,286,4.867,363,3.264,379,7.773,390,2.938,417,4.719,467,2.571,475,6.324,525,5.35,677,9.669,688,6.93,692,4.622,728,5.429,804,3.04,807,3.593,820,5.682,824,3.058,832,1.655,847,1.887,885,4.059,889,6.543,892,5.389,913,10.689,920,9.287,921,9.043,925,3.532,929,8.131,944,5.251,949,5.311,1154,8.131,1373,6.887,1385,4.836,1437,7.463,1462,8.211,1463,9.978,1464,9.144,1475,5.533,1494,14.202,1607,8.472,1613,5.61,1720,12.773,1721,20.077,1722,12.773,1723,11.197,1724,9.905,1725,12.101]],["keywords/309",[]],["title/310",[1726,1555.113]],["content/310",[7,7.124,56,8.943,193,3.041,283,6.975,286,8.534,287,6.021,340,6.273,363,2.81,390,4.281,417,5.14,467,2.498,475,5.192,613,4.443,625,6.673,677,10.016,692,5.034,728,5.913,807,3.331,820,4.5,824,3.331,832,1.803,837,8.396,847,2.055,889,7.082,920,8.61,921,10.799,929,14.257,944,5.564,1014,4.595,1403,17.467,1437,5.171,1463,7.903,1464,7.242,1613,4.443,1615,12.633,1629,9.44,1726,13.912,1727,10.241,1728,15.025]],["keywords/310",[]],["title/311",[1729,1555.113]],["content/311",[7,7.902,283,7.737,286,8.409,363,3.521,390,4.583,467,2.496,677,9.869,728,6.56,807,3.567,820,4.992,824,3.695,832,2,837,9.314,838,3.914,847,2.279,889,7.137,920,9.218,921,10.259,944,4.613,1437,7.407,1463,11.32,1464,10.374,1613,4.929,1615,14.014,1629,10.472,1673,15.434,1729,15.434,1730,21.521]],["keywords/311",[]],["title/312",[1731,1555.113]],["content/312",[360,13.77,613,6.481,824,4.859,832,2.63,847,2.997,1618,16.804,1731,20.294,1732,20.294,1733,21.916]],["keywords/312",[]],["title/313",[21,278.126,1679,1214.065]],["content/313",[]],["keywords/313",[]],["title/314",[1734,1679.439]],["content/314",[9,2.494,38,8.339,46,4.98,59,3.619,85,7.895,108,6.772,215,6.8,235,10.575,274,5.707,286,6.272,357,6.655,394,14.948,429,5.284,464,6.945,467,2.033,613,5.257,692,5.957,699,6.796,807,3.717,824,3.941,832,2.691,836,5.66,840,5.723,842,5.707,847,2.431,849,13.106,930,7.362,931,5.614,1385,6.233,1528,12.765,1735,17.778,1736,11.305,1737,14,1738,17.778,1739,17.778]],["keywords/314",[]],["title/315",[1740,1679.439]],["content/315",[31,7.028,79,6.959,205,9.013,215,5.304,230,8.354,340,8,467,2.13,625,8.51,688,9.626,694,14.692,807,3.176,832,2.82,836,8.09,847,2.621,885,5.638,930,7.934,931,6.051,1133,11.294,1528,13.758,1604,15.09,1680,9.686,1741,19.161,1742,14.345,1743,19.161,1744,19.161]],["keywords/315",[]],["title/316",[1745,1679.439]],["content/316",[31,7.028,79,6.959,193,3.878,215,5.304,434,10.851,467,2.13,625,8.51,688,9.626,807,3.176,824,5.209,832,2.82,836,8.09,847,2.621,885,5.638,886,8.172,892,7.486,930,7.934,931,6.051,949,7.377,1528,13.758,1604,15.09,1746,19.161,1747,19.161,1748,17.743]],["keywords/316",[]],["title/317",[1749,1679.439]],["content/317",[31,7.028,59,4.782,79,6.959,193,3.878,215,5.304,467,2.13,625,8.51,688,9.626,807,3.176,824,5.209,832,2.82,836,8.09,847,2.621,885,5.638,886,8.172,892,7.486,930,7.934,931,6.051,949,7.377,1528,13.758,1604,15.09,1748,17.743,1750,19.161,1751,19.161]],["keywords/317",[]],["title/318",[1752,1555.113]],["content/318",[31,6.243,59,3.465,79,6.182,205,6.53,215,4.712,255,3.766,257,5.449,274,5.464,286,7.696,464,8.522,467,2.435,562,8.773,688,8.551,731,10.132,807,2.821,820,5.098,824,4.836,832,2.618,836,7.664,847,2.328,885,5.008,892,8.522,930,7.049,931,5.375,949,8.398,1274,11.602,1483,11.261,1528,12.222,1604,13.405,1752,15.762,1753,15.762,1754,21.814,1755,17.022,1756,17.022,1757,21.814,1758,17.022]],["keywords/318",[]],["title/319",[1759,1679.439]],["content/319",[59,4.097,68,7.921,215,5.57,286,7.1,467,2.195,505,8.403,692,6.743,807,4.012,824,4.462,832,2.905,836,6.407,847,2.752,848,8.233,930,8.333,931,6.355,1528,14.45,1760,20.125,1761,20.125,1762,20.125]],["keywords/319",[]],["title/320",[1763,1555.113]],["content/320",[9,2.303,63,8.087,68,6.459,79,5.96,215,6.931,286,5.79,363,3.307,467,2.555,562,8.458,804,4.695,807,3.921,820,4.915,824,3.638,832,1.97,836,7.972,847,2.244,848,6.714,849,8.756,889,4.386,920,9.126,921,7.823,1423,11.567,1437,5.648,1463,8.632,1464,7.911,1528,11.783,1629,10.311,1753,15.196,1763,15.196,1764,16.411,1765,21.306,1766,11.567,1767,16.411,1768,12.286]],["keywords/320",[]],["title/321",[21,278.126,1550,1214.065]],["content/321",[]],["keywords/321",[]],["title/322",[1769,1679.439]],["content/322",[7,11.263,230,8.507,467,2.322,475,5.04,677,9.837,739,9.625,807,3.234,820,5.844,824,4.326,832,2.851,982,6.861,984,9.153,1208,8.146,1437,6.716,1515,15.366,1526,16.405,1554,18.067,1555,18.067,1770,19.512,1771,19.512]],["keywords/322",[]],["title/323",[21,278.126,1675,1214.065]],["content/323",[]],["keywords/323",[]],["title/324",[1772,1555.113]],["content/324",[122,3.706,215,4.589,222,8.783,358,5.622,467,2.657,807,4.166,832,1.99,847,2.268,913,14.165,920,10.767,1462,12.766,1463,13.223,1464,12.549,1607,13.172,1772,15.354,1773,13.459]],["keywords/324",[]],["title/325",[1774,1555.113]],["content/325",[14,4.137,358,6.2,363,2.556,467,2.609,545,3.246,807,4.319,832,2.194,847,2.501,913,12.861,920,9.776,982,4.898,984,8.578,1462,10.884,1463,12.006,1464,11.995,1472,15.375,1473,8.915,1607,11.23,1774,16.932]],["keywords/325",[]],["title/326",[1775,1555.113]],["content/326",[14,3.893,358,5.833,363,2.405,467,2.6,545,3.054,807,4.224,832,2.636,847,2.353,913,12.376,920,9.408,930,7.124,931,5.433,982,5.883,1462,10.241,1463,11.553,1464,11.662,1473,10.708,1607,10.566,1775,15.931,1776,15.931,1777,8.867,1778,15.931,1779,17.205,1780,15.931,1781,14.466,1782,15.931]],["keywords/326",[]],["title/327",[1783,1555.113]],["content/327",[41,4.02,50,4.313,274,5.553,363,3.391,467,2.612,554,6.027,566,9.229,807,3.653,832,2.645,847,2.366,913,12.418,920,9.44,930,7.163,931,5.462,933,10.743,1462,10.296,1463,11.593,1464,10.624,1483,11.444,1607,10.623,1783,16.017,1784,11.444,1785,16.017,1786,16.017,1787,17.298,1788,16.017,1789,17.298]],["keywords/327",[]],["title/328",[1790,1555.113]],["content/328",[122,3.706,273,4.782,274,5.323,358,5.622,467,2.624,548,6.55,566,8.846,743,6.316,804,5.539,807,3.94,832,2.574,847,2.268,913,12.086,920,9.187,930,6.866,931,5.236,973,5.413,1462,9.869,1463,11.282,1464,11.46,1473,8.084,1475,6.651,1476,10.678,1477,11.13,1483,10.969,1607,10.183,1790,15.354,1791,15.354,1792,16.581]],["keywords/328",[]],["title/329",[1793,1555.113]],["content/329",[58,5.88,274,5.215,358,7.176,363,2.271,390,3.46,467,2.551,677,6.727,804,5.496,807,2.692,824,4.692,828,4.981,832,2.54,837,9.077,842,5.215,889,4.341,921,7.744,924,6.594,930,6.727,931,5.13,944,5.858,960,6.699,1365,10.33,1437,5.591,1464,12.023,1479,19.125,1480,6.123,1481,14.25,1723,13.186,1793,15.042,1794,15.042,1795,16.245,1796,15.042,1797,15.042,1798,16.245,1799,15.042,1800,15.042]],["keywords/329",[]],["title/330",[1801,1555.113]],["content/330",[274,5.644,358,5.961,363,3.113,467,2.607,556,4.095,807,4.051,832,2.673,847,2.405,913,12.548,920,9.538,930,7.281,931,5.552,1462,10.465,1463,11.713,1464,11.781,1473,10.857,1483,11.632,1607,10.798,1777,9.062,1801,16.281,1802,16.281,1803,17.583,1804,16.281]],["keywords/330",[]],["title/331",[1805,1555.113]],["content/331",[59,3.639,274,5.739,358,6.061,363,2.499,467,2.612,566,9.538,807,3.73,832,2.701,847,2.445,913,12.68,920,9.639,930,7.403,931,5.645,949,8.664,1462,10.641,1463,11.837,1464,10.848,1483,11.827,1607,10.979,1784,11.827,1805,16.554,1806,16.554,1807,17.877]],["keywords/331",[]],["title/332",[1808,1555.113]],["content/332",[14,3.956,21,3.709,358,5.929,363,3.102,467,2.605,807,4.04,832,2.663,847,2.391,856,12.401,913,12.504,920,9.505,930,7.241,931,5.522,1462,10.408,1463,11.673,1464,11.751,1473,8.526,1607,10.739,1777,9.012,1781,14.703,1808,16.192,1809,16.192,1810,17.487,1811,16.192]],["keywords/332",[]],["title/333",[1812,1555.113]],["content/333",[14,3.935,285,7.261,358,5.897,363,3.092,467,2.592,545,3.087,807,4.241,832,2.087,847,2.378,913,12.461,920,9.473,982,5.924,984,8.158,1207,11.06,1237,9.023,1366,7.322,1462,10.352,1463,11.633,1464,11.721,1472,14.623,1473,10.782,1607,10.681,1812,16.104,1813,17.392,1814,17.392]],["keywords/333",[]],["title/334",[1815,1555.113]],["content/334",[32,5.47,34,6.715,59,4.547,108,5.566,215,6.62,329,4.744,358,4.954,363,2.043,417,4.999,467,2.605,566,7.796,592,12.246,600,3.651,804,4.348,807,3.702,832,2.368,842,6.334,847,1.998,893,14.77,913,11.117,920,8.451,924,4.552,930,6.051,931,4.614,933,12.253,934,12.819,976,5.527,1208,6.101,1365,9.293,1462,8.698,1463,10.378,1464,10.767,1475,5.862,1480,5.508,1563,8.975,1564,9.535,1607,8.975,1784,9.668,1815,13.531,1816,13.531,1817,7.741,1818,13.531,1819,14.613,1820,13.531]],["keywords/334",[]],["title/335",[1821,1555.113]],["content/335",[122,3.406,274,4.892,358,5.167,467,2.648,548,6.02,566,8.131,743,5.805,807,4.032,832,2.435,847,2.084,913,13.707,920,10.42,925,3.901,930,6.31,931,4.812,1462,12.079,1463,12.796,1464,12.212,1475,6.113,1476,9.814,1477,10.229,1483,10.082,1607,12.463,1821,14.111,1822,11.408,1823,11.685,1824,14.111,1825,15.239,1826,14.111,1827,11.685]],["keywords/335",[]],["title/336",[1828,1555.113]],["content/336",[467,2.662,807,4.207,832,2.043,847,2.328,913,14.305,920,10.874,1462,12.984,1463,13.354,1464,12.652,1607,13.397,1828,15.762]],["keywords/336",[]],["title/337",[1829,1555.113]],["content/337",[141,5.174,358,6.308,363,3.225,390,3.962,467,2.615,600,4.649,807,3.824,832,2.233,847,2.544,913,13,920,9.882,1462,11.074,1463,12.136,1464,12.089,1607,11.426,1829,17.227,1830,16.32]],["keywords/337",[]],["title/338",[1831,1555.113]],["content/338",[141,6.215,194,6.907,255,3.912,358,5.994,363,3.425,390,3.765,393,10.421,438,8.774,467,2.598,600,4.418,742,9.573,807,3.704,832,2.122,847,2.418,913,12.592,920,9.572,1215,4.671,1462,10.523,1463,11.754,1464,11.811,1607,10.858,1830,15.509,1831,16.371,1832,15.509]],["keywords/338",[]],["title/339",[21,278.126,1722,1214.065]],["content/339",[]],["keywords/339",[]],["title/340",[1833,1555.113]],["content/340",[91,8.408,363,3.755,467,2.519,475,4.75,490,9.958,688,9.239,719,7.877,807,3.796,832,2.207,842,5.904,847,2.515,889,4.915,920,9.811,921,10.92,944,5.09,1373,9.182,1437,7.884,1463,9.673,1464,11.042,1475,7.377,1629,11.555,1833,17.029]],["keywords/340",[]],["title/341",[1834,1555.113]],["content/341",[9,3.033,50,5.391,332,10.929,363,3.531,832,2.595,847,2.957,1437,7.441,1464,10.422,1475,8.672,1834,20.02]],["keywords/341",[]],["title/342",[1835,1555.113]],["content/342",[50,5.464,363,3.559,506,12.796,832,2.63,847,2.997,1464,10.564,1475,8.791,1835,20.294]],["keywords/342",[]],["title/343",[21,278.126,1685,1150.133]],["content/343",[]],["keywords/343",[]],["title/344",[1836,1679.439]],["content/344",[5,10.506,6,8.485,19,6.834,21,3.669,31,8.084,32,8.25,34,7.948,46,4.845,215,4.788,355,6.589,453,8.157,467,2.199,524,4.304,613,5.115,716,8.533,824,3.835,832,2.645,835,11.79,836,8.131,840,5.568,847,2.366,930,7.163,931,5.462,1062,10.743,1133,10.196,1579,16.017,1581,8.307,1587,13.263,1588,14.544,1589,14.041,1590,14.041,1638,14.544,1837,17.298,1838,7.314,1839,15.174,1840,17.298,1841,17.298]],["keywords/344",[]],["title/345",[1842,1555.113]],["content/345",[9,1.927,86,7.874,191,10.061,204,4.361,274,4.409,326,6.621,349,8.962,363,1.92,398,5.346,417,4.699,453,10.202,467,2.603,524,4.706,545,3.357,624,5.009,632,9.222,706,6.988,739,6.776,804,3.027,807,2.276,832,2.27,836,7.421,837,10.569,838,3.226,840,4.422,842,4.409,870,7.553,889,3.671,905,9.862,920,5.883,926,7.437,930,5.688,931,4.337,941,6.988,945,7.874,949,5.288,965,8.435,966,8.345,1011,7.494,1165,8.258,1166,8.845,1167,8.845,1168,8.845,1169,8.845,1237,7.126,1270,11.549,1498,16.592,1500,12.719,1503,12.049,1512,7.739,1839,12.049,1842,12.719,1843,15.903,1844,13.735,1845,12.719,1846,12.719,1847,13.735,1848,12.049,1849,9.087,1850,13.735,1851,13.735,1852,13.735,1853,13.735]],["keywords/345",[]],["title/346",[1854,1679.439]],["content/346",[1,3.842,13,6.444,31,8.699,32,8.002,34,9.823,59,3.358,171,9.233,174,4.992,230,7.192,255,3.65,274,7.614,328,7.292,417,5.643,421,8.738,467,1.496,487,7.468,524,6.242,609,8.677,710,11.626,804,3.635,807,2.734,820,4.941,832,2.565,847,2.256,863,7.035,868,12.6,930,6.831,931,5.209,1261,7.504,1581,8.057,1582,12.083,1584,10.913,1610,7.258,1641,10.623,1686,7.864,1688,13.869,1689,14.47,1690,12.99,1855,16.496,1856,14.47,1857,16.496,1858,16.496]],["keywords/346",[]],["title/347",[1859,1679.439]],["content/347",[1,3.902,31,8.764,32,8.083,34,9.922,230,7.305,274,7.67,328,7.406,467,2.288,524,5.944,609,8.813,678,8.216,804,3.692,832,2.591,847,2.291,863,7.145,868,12.727,878,10.179,885,4.93,900,6.747,930,6.938,931,5.291,1110,5.084,1271,19.875,1272,7.272,1581,9.512,1584,11.084,1686,7.987,1688,14.087,1689,14.697,1690,13.194,1860,16.755,1861,14.697,1862,16.755,1863,16.755,1864,16.755]],["keywords/347",[]],["title/348",[1333,971.506]],["content/348",[]],["keywords/348",[]],["title/349",[845,1322.558]],["content/349",[21,4.883,845,18.128]],["keywords/349",[]],["title/350",[805,1230.196]],["content/350",[21,4.883,805,16.862]],["keywords/350",[]],["title/351",[813,1230.196]],["content/351",[21,4.883,813,16.862]],["keywords/351",[]],["title/352",[1865,1412.056]],["content/352",[21,4.883,1865,19.354]],["keywords/352",[]],["title/353",[1037,1127.28]],["content/353",[21,4.883,1037,15.451]],["keywords/353",[]],["title/354",[1866,1183.697]],["content/354",[21,4.883,1866,16.224]],["keywords/354",[]],["title/355",[1866,1183.697]],["content/355",[21,4.883,1866,16.224]],["keywords/355",[]],["title/356",[836,534.685]],["content/356",[21,4.883,836,7.329]],["keywords/356",[]],["title/357",[1867,1412.056]],["content/357",[21,4.883,1867,19.354]],["keywords/357",[]],["title/358",[1868,1412.056]],["content/358",[21,4.883,1868,19.354]],["keywords/358",[]],["title/359",[984,787.79]],["content/359",[21,4.883,984,10.798]],["keywords/359",[]],["title/360",[1869,1412.056]],["content/360",[21,4.883,1869,19.354]],["keywords/360",[]],["title/361",[1870,1412.056]],["content/361",[21,4.883,1870,19.354]],["keywords/361",[]],["title/362",[1871,1322.558]],["content/362",[8,3.2,9,3.498,21,1.782,41,1.952,46,5.585,59,1.71,97,3.696,108,3.2,122,1.878,146,5.299,175,4.515,197,4.45,202,3.493,215,3.643,230,3.663,235,9.973,236,5.282,251,3.409,252,5.82,260,3.92,274,2.697,290,5.482,297,3.803,358,2.848,362,2.781,387,6.441,404,2.807,423,3.002,429,2.497,467,2.518,471,3.9,475,2.17,481,4.656,486,2.735,524,2.09,548,7.254,620,3.2,692,2.815,699,6.202,749,9.64,804,5.697,807,2.181,812,2.848,832,1.008,838,3.81,842,2.697,847,1.149,866,3.552,885,7.218,886,10.265,892,8.94,900,3.383,949,3.234,968,4.86,982,2.25,1018,2.727,1048,7.281,1103,4.144,1146,4.247,1181,5.558,1188,6.154,1189,5.278,1213,8.269,1215,3.477,1228,6.032,1237,4.359,1261,3.822,1558,5.278,1736,5.342,1871,6.616,1872,14.232,1873,11.065,1874,7.779,1875,7.779,1876,7.369,1877,7.779,1878,7.779,1879,7.779,1880,7.369,1881,7.779,1882,7.779,1883,7.779,1884,7.779,1885,7.779,1886,7.779,1887,7.779,1888,7.779,1889,6.616,1890,7.779,1891,7.779,1892,7.779,1893,7.779,1894,7.779,1895,4.194,1896,5.712,1897,7.779,1898,10.586,1899,6.441,1900,7.779,1901,7.779,1902,7.779,1903,7.779,1904,7.063,1905,7.779,1906,5.639,1907,7.779,1908,7.779,1909,6.032,1910,6.616,1911,7.779,1912,7.779,1913,8.369,1914,7.369,1915,7.779,1916,7.545,1917,7.779,1918,7.779,1919,7.779,1920,7.779,1921,7.779,1922,7.063,1923,7.779,1924,7.779]],["keywords/362",[]],["title/363",[1925,1163.403]],["content/363",[9,2.414,14,3.893,21,3.65,83,7.605,188,8.34,193,4.445,260,8.028,355,6.553,363,2.405,423,6.148,467,1.991,475,6.25,486,5.601,545,3.898,554,7.653,807,3.64,832,2.065,847,2.353,886,7.337,982,4.609,983,10.409,1014,6.716,1018,5.585,1215,4.546,1585,7.244,1644,6.495,1925,15.215,1926,20.338,1927,17.296,1928,10.941,1929,16.089,1930,15.931,1931,13.192,1932,15.931]],["keywords/363",[]],["title/364",[1933,1412.056]],["content/364",[21,4.883,1933,19.354]],["keywords/364",[]],["title/365",[927,1322.558]],["content/365",[21,4.883,927,18.128]],["keywords/365",[]],["title/366",[1934,1322.558]],["content/366",[9,2.721,21,4.114,83,8.573,193,5.17,355,7.387,363,3.309,423,6.93,824,4.299,832,2.327,838,4.555,847,2.652,889,6.326,920,10.138,982,5.195,983,10.182,1018,6.296,1644,5.735,1928,12.333,1934,18.639,1935,14.87,1936,17.958]],["keywords/366",[]],["title/367",[1927,1322.558]],["content/367",[9,2.61,21,3.947,50,5.753,83,8.224,193,5.075,355,7.087,363,3.225,423,6.648,467,2.092,824,4.124,832,2.233,838,4.369,847,2.544,889,6.166,920,9.882,982,4.984,983,10.789,1018,6.04,1644,5.502,1927,18.169,1928,11.831,1929,13.628,1934,18.169,1937,17.227]],["keywords/367",[]],["title/368",[1390,1020.346]],["content/368",[1,2.689,6,2.745,9,1.62,14,3.785,21,1.512,30,2.799,41,4.573,83,3.151,96,3.75,122,2.581,140,1.518,144,2.203,171,6.157,187,2.725,193,3.386,255,2.555,260,3.326,297,3.227,301,3.724,329,2.314,355,5.543,362,2.44,390,2.459,404,2.382,418,7.095,423,2.547,453,3.362,467,2.627,487,3.227,489,6.288,498,4.859,554,2.484,556,4.582,558,6.512,603,2.775,613,2.108,620,2.715,726,4.087,756,6.073,766,5.306,794,4.202,804,3.687,807,1.914,823,3.417,824,2.56,828,2.186,832,1.746,836,5.327,838,1.674,847,0.975,870,6.349,889,3.086,894,6.506,898,3.362,905,12.013,920,4.946,925,2.956,929,8.578,941,7.403,945,6.62,949,2.745,965,7.091,966,7.015,982,1.91,983,4.967,984,3.344,985,4.331,988,3.86,1014,3.531,1018,2.314,1085,5.466,1165,6.942,1166,7.436,1167,7.436,1168,7.436,1169,7.436,1208,2.976,1263,4.533,1279,4.087,1329,6.452,1390,10.165,1391,13.198,1400,5.614,1416,5.337,1469,9.372,1557,3.803,1573,3.476,1938,11.158,1939,6.253,1940,5.614,1941,4.202,1942,6.601,1943,6.253,1944,6.601,1945,6.601,1946,5.994,1947,6.601,1948,6.601,1949,6.601,1950,10.692,1951,13.464,1952,10.692,1953,6.601,1954,5.991,1955,6.601,1956,10.692,1957,5.466,1958,6.601,1959,6.601,1960,10.692,1961,6.601,1962,6.253,1963,6.601,1964,5.994,1965,13.475,1966,6.601,1967,6.601,1968,6.601,1969,10.692,1970,6.601,1971,6.601,1972,10.692,1973,6.601,1974,6.601,1975,6.601,1976,6.601,1977,6.601,1978,6.601,1979,6.601,1980,6.601,1981,5.787,1982,6.601,1983,10.692,1984,6.601,1985,6.601,1986,3.496,1987,6.601,1988,6.601,1989,8.458,1990,6.601,1991,5.222,1992,4.591,1993,6.601,1994,5.614,1995,6.253,1996,10.692,1997,10.692,1998,5.614]],["keywords/368",[]],["title/369",[122,375.354]],["content/369",[21,4.883,122,5.145]],["keywords/369",[]],["title/370",[1161,1322.558]],["content/370",[21,4.883,1161,18.128]],["keywords/370",[]],["title/371",[1999,1412.056]],["content/371",[21,4.883,1999,19.354]],["keywords/371",[]],["title/372",[2000,1412.056]],["content/372",[9,2.551,14,4.114,83,8.037,193,4.603,236,4.991,355,6.926,363,2.542,409,10.333,467,2.062,475,6.411,554,6.335,832,2.182,847,2.487,887,8.191,889,6.633,920,9.742,983,7.822,1120,7.265,1212,11.424,1215,6.009,1889,17.911,1925,15.755,1928,11.562,2000,19.123,2001,21.06,2002,8.355]],["keywords/372",[]],["title/373",[2003,1412.056]],["content/373",[19,7.661,41,4.507,83,8.573,106,10.347,193,4.79,236,4.256,355,7.387,390,4.13,467,2.316,804,4.273,823,9.296,832,2.327,847,2.652,983,10.99,1215,6.749,1909,16.994,2003,19.9,2004,21.917]],["keywords/373",[]],["title/374",[2005,1183.697]],["content/374",[9,2.948,14,2.13,16,4.262,18,4.393,21,4.887,23,7.919,68,3.705,74,9.741,83,4.161,97,6.323,106,5.022,141,7.413,144,2.909,157,4.241,164,4.987,172,6.759,193,3.528,215,2.606,236,3.826,248,7.532,255,3.857,285,3.93,297,4.262,328,4.161,329,3.056,345,4.293,355,3.586,362,4.439,363,1.316,390,2.005,423,3.364,429,5.181,455,4.672,467,2.322,475,2.432,505,3.93,545,3.931,592,4.82,661,2.933,670,7.047,677,3.898,699,5.494,723,6.896,804,5.644,807,1.56,823,4.512,828,2.886,832,1.13,842,5.596,847,1.287,848,3.851,860,4.917,885,4.229,886,6.129,887,9.465,889,5.214,900,3.791,924,4.477,928,7.559,982,2.522,983,4.05,1004,4.789,1014,5.966,1018,3.056,1103,4.644,1170,6.383,1212,10.952,1215,2.487,1227,4.05,1258,7.915,1358,5.986,1373,4.7,1889,11.318,1913,12.406,1928,5.986,2005,10.129,2006,6.249,2007,12.607,2008,12.607,2009,12.607,2010,12.083,2011,12.083,2012,13.53,2013,8.717,2014,7.218,2015,4.032,2016,6.319,2017,8.258,2018,8.717,2019,7.915,2020,4.262,2021,7.047,2022,8.258]],["keywords/374",[]],["title/375",[2023,1363.216]],["content/375",[14,4.469,47,12.889,59,4.872,83,8.731,193,4.844,332,9.985,355,9.117,824,4.379,832,2.371,836,7.62,847,2.701,889,6.396,983,11.515,1014,7.319,2023,16.033,2024,18.29]],["keywords/375",[]],["title/376",[889,448.835]],["content/376",[21,4.883,889,6.152]],["keywords/376",[]],["title/377",[2025,1257.267]],["content/377",[9,2.243,13,4.238,14,2.455,21,2.301,77,6.523,83,4.796,97,10.278,122,2.425,140,2.311,162,5.089,193,3.235,202,4.511,236,4.166,264,5.384,329,3.522,332,5.484,353,17.585,355,6.089,362,5.104,423,3.877,429,4.752,440,4.53,455,7.933,467,2.568,496,15.038,524,2.699,548,6.315,556,2.527,590,8.122,677,4.493,699,8.006,729,6.523,804,4.183,807,3.146,824,2.405,828,4.901,832,1.302,836,3.454,838,3.754,847,1.484,859,8.544,868,6.395,870,5.966,887,4.888,889,2.9,920,4.647,941,8.133,945,6.22,965,6.663,966,6.592,982,2.906,983,6.877,1004,5.519,1014,4.889,1018,3.522,1146,8.081,1165,6.523,1166,6.987,1167,6.987,1168,6.987,1169,6.987,1208,4.53,1272,9.091,1701,8.544,2025,11.968,2026,13.441,2027,14.803,2028,10.896,2029,10.046,2030,9.122,2031,8.544,2032,13.441,2033,9.122,2034,9.122,2035,10.046,2036,8.807,2037,4.688,2038,9.122,2039,8.544,2040,10.046,2041,10.046,2042,8.807,2043,10.046,2044,10.046,2045,10.046,2046,10.046,2047,6.899]],["keywords/377",[]],["title/378",[2048,1412.056]],["content/378",[21,4.883,2048,19.354]],["keywords/378",[]],["title/379",[2049,1322.558]],["content/379",[14,4.31,21,4.04,83,8.42,193,4.737,332,9.628,355,8.917,423,6.806,467,2.122,475,6.047,807,3.88,824,4.223,832,2.286,847,2.605,889,6.256,982,5.102,983,11.373,1018,6.183,1925,16.216,2049,18.435,2050,17.637]],["keywords/379",[]],["title/380",[2051,1412.056]],["content/380",[21,4.883,2051,19.354]],["keywords/380",[]],["title/381",[827,954.419]],["content/381",[21,4.883,827,13.082]],["keywords/381",[]],["title/382",[193,339.865]],["content/382",[21,4.883,193,4.658]],["keywords/382",[]],["title/383",[1989,1230.196]],["content/383",[21,4.883,1989,16.862]],["keywords/383",[]],["title/384",[1416,1257.267]],["content/384",[21,4.883,1416,17.233]],["keywords/384",[]],["title/385",[2052,1412.056]],["content/385",[21,4.883,2052,19.354]],["keywords/385",[]],["title/386",[945,962.813]],["content/386",[14,3.752,21,3.517,83,7.33,193,4.341,355,6.316,362,3.503,423,5.925,429,4.928,467,2.617,807,2.748,832,1.99,836,5.279,847,2.268,870,9.117,889,4.431,920,7.102,925,4.245,941,10.911,945,13.63,965,10.183,966,10.074,982,4.442,983,7.133,1004,8.435,1018,5.383,1165,9.969,1166,10.678,1167,10.678,1168,10.678,1169,10.678,1344,11.128,1512,9.343,1928,10.544,2053,14.545,2054,15.354,2055,15.354]],["keywords/386",[]],["title/387",[516,756.595]],["content/387",[21,4.883,516,10.37]],["keywords/387",[]],["title/388",[1415,1322.558]],["content/388",[21,4.883,1415,18.128]],["keywords/388",[]],["title/389",[2056,1322.558]],["content/389",[6,4.465,9,3.033,21,4.184,83,5.126,138,13.216,144,3.584,146,4.67,193,4.374,196,9.413,260,5.411,273,3.345,355,4.417,363,2.346,398,4.513,404,3.874,423,4.143,443,4.091,467,2.08,478,5.383,545,4.568,554,4.04,556,3.909,580,10.172,728,4.564,823,8.045,828,5.146,832,1.392,838,2.723,840,3.733,847,1.586,876,4.782,944,5.459,982,5.283,983,9.299,1014,5.132,1018,3.764,1068,10.727,1103,5.72,1208,9.577,1344,12.407,1366,4.882,1373,5.79,1724,8.326,2056,15.532,2057,18.263,2058,18.263,2059,16.009,2060,13.216,2061,10.738,2062,21.24,2063,18.263,2064,20.016,2065,10.172,2066,18.263,2067,10.738,2068,9.132,2069,10.738,2070,4.634,2071,15.54,2072,16.583,2073,10.738,2074,10.738,2075,10.738,2076,10.738,2077,10.738,2078,10.738,2079,10.172,2080,10.738,2081,15.54,2082,10.738]],["keywords/389",[]],["title/390",[2083,1412.056]],["content/390",[21,4.883,2083,19.354]],["keywords/390",[]],["title/391",[2084,1412.056]],["content/391",[21,4.883,2084,19.354]],["keywords/391",[]],["title/392",[2085,1412.056]],["content/392",[21,4.883,2085,19.354]],["keywords/392",[]],["title/393",[2086,1412.056]],["content/393",[21,4.883,2086,19.354]],["keywords/393",[]],["title/394",[2087,1412.056]],["content/394",[21,4.883,2087,19.354]],["keywords/394",[]],["title/395",[2088,1412.056]],["content/395",[21,4.883,2088,19.354]],["keywords/395",[]],["title/396",[2089,1412.056]],["content/396",[21,3.857,83,8.037,122,4.064,193,5.023,286,6.415,355,6.926,363,3.47,390,3.872,423,6.497,429,5.404,443,6.415,545,3.227,677,7.529,743,6.926,756,9.564,832,2.182,847,2.487,887,8.191,982,4.87,983,7.822,1018,5.903,1373,13.368,1437,6.258,2089,20.868,2090,21.06,2091,11.292,2092,16.836,2093,14.318]],["keywords/396",[]],["title/397",[2093,1322.558]],["content/397",[21,4.379,423,7.377,467,2.379,556,4.808,807,3.421,820,6.183,832,2.478,836,6.573,847,2.823,885,6.074,892,8.065,982,5.53,2093,19.355,2094,19.116,2095,19.116]],["keywords/397",[]],["title/398",[2021,1257.267]],["content/398",[14,4.209,21,3.947,40,10.23,83,8.224,193,4.669,355,7.087,423,6.648,467,2.49,513,9.526,548,9.115,804,5.526,832,2.233,847,2.544,941,9.465,982,4.984,983,10.789,1018,6.04,1214,11.381,1913,11.831,1928,11.831,2021,13.928,2096,17.227,2097,17.227]],["keywords/398",[]],["title/399",[1184,1322.558]],["content/399",[9,2.688,14,4.335,21,4.065,83,8.47,193,4.755,355,7.299,423,6.847,429,5.695,467,2.13,513,12.03,832,2.3,847,2.621,941,9.748,982,5.133,983,10.932,1018,6.22,1184,18.502,1913,16.159,1928,12.185,2021,17.589,2098,17.743]],["keywords/399",[]],["title/400",[2099,1257.267]],["content/400",[9,2.467,14,5.039,363,2.458,423,6.283,467,2.216,545,3.121,554,7.759,556,4.095,613,5.2,634,9.668,764,7.434,807,2.914,830,12.767,832,2.11,836,7.09,837,9.825,838,4.129,847,2.405,883,7.531,909,10.364,944,4.867,982,4.71,983,7.564,984,8.248,1004,11.329,1013,12.18,1014,6.81,1117,16.671,1336,7.311,1641,11.323,2099,13.163,2100,9.992,2101,17.537,2102,11.047,2103,13.846]],["keywords/400",[]],["title/401",[984,787.79]],["content/401",[984,12.283]],["keywords/401",[]],["title/402",[32,628.636]],["content/402",[21,6.009,32,4.661,46,3.488,354,6.693,390,2.652,467,2.657,548,4.92,623,5.937,820,3.73,920,5.334,944,3.447,1013,19.553,1265,8.126,1272,5.405,1591,10.108,1662,8.359,1680,6.295,1784,8.238,1938,9.549,2028,8.488,2104,11.531,2105,10.924,2106,11.531,2107,11.531,2108,11.531,2109,11.531,2110,10.924,2111,11.531,2112,11.531,2113,11.531,2114,11.531,2115,11.531,2116,11.531,2117,11.531,2118,11.531,2119,11.531,2120,10.47,2121,10.47,2122,10.47,2123,10.47,2124,10.47,2125,9.807,2126,9.807,2127,10.47]],["keywords/402",[]],["title/403",[2128,1183.697]],["content/403",[467,2.412,807,3.535,832,2.56,883,9.137,1014,6.523,1187,15.316,1336,8.87,1662,14.319,2100,12.123,2128,15.035,2129,19.753]],["keywords/403",[]],["title/404",[1662,1127.28]],["content/404",[390,3.917,467,2.611,548,7.265,820,5.508,920,7.877,944,5.09,1013,19.95,1265,12,1272,7.982,1662,12.344,1938,14.101,2028,12.535,2120,15.463,2121,15.463,2122,15.463]],["keywords/404",[]],["title/405",[941,854.365]],["content/405",[5,3.796,8,3.033,9,2.198,21,3.324,27,3.122,48,3.157,58,2.882,96,4.188,140,2.687,148,4.344,155,4.449,162,9.696,171,4.643,193,1.611,197,4.218,215,3.492,246,2.863,259,5.949,286,2.809,287,6.487,332,4.025,362,3.766,390,3.337,423,4.508,424,4.837,443,6.855,464,4.929,467,2.606,520,7.311,540,2.845,545,2.781,548,4.984,613,2.355,620,3.033,677,3.297,692,2.668,726,4.565,807,4.076,808,3.715,812,6.043,829,4.945,832,0.956,836,7.831,847,1.089,848,3.257,870,6.937,882,4.077,885,2.343,886,3.396,889,3.372,892,3.11,900,3.206,910,6.27,920,5.404,925,5.922,941,10.515,944,4.337,945,8.983,946,6.694,956,5.195,965,10.947,966,10.83,967,10.947,971,3.088,973,2.599,976,4.772,982,2.133,1004,6.418,1018,2.585,1061,4.188,1079,5.516,1163,4.344,1165,7.585,1166,8.124,1167,8.124,1168,8.124,1169,8.124,1261,3.622,1262,5.612,1344,8.129,1373,3.975,1385,2.792,1687,3.425,2130,10.24,2131,6.27,2132,6.27,2133,9.935,2134,7.373,2135,6.694,2136,7.373,2137,5.427,2138,6.694,2139,7.373,2140,7.373,2141,7.373,2142,7.373,2143,6.694,2144,7.373,2145,6.047,2146,3.735,2147,7.373,2148,7.373,2149,7.373,2150,7.373,2151,7.373,2152,7.373,2153,7.373,2154,7.373,2155,7.373,2156,7.373,2157,7.373,2158,6.984,2159,7.373,2160,7.373,2161,4.378]],["keywords/405",[]],["title/406",[2131,1322.558]],["content/406",[9,2.865,46,4.31,48,6.101,50,3.836,58,5.569,76,10.039,97,8.986,122,5.68,140,4.349,144,4.755,146,6.196,162,7.217,171,7.516,208,7.778,215,5.653,235,7.256,256,10.039,257,4.925,285,6.424,355,5.86,362,3.251,417,5.264,418,7.501,429,4.573,467,1.852,540,5.498,597,7.07,603,5.989,609,8.093,700,8.744,716,7.59,796,11.047,836,6.502,842,4.939,866,6.505,941,11.662,949,5.924,957,11.814,976,5.819,1083,12.489,1122,9.348,1221,11.797,1294,6.965,2020,6.965,2131,12.116,2162,14.247,2163,7.034,2164,14.247,2165,14.247,2166,14.247,2167,14.247,2168,14.247,2169,13.497,2170,12.489,2171,14.247,2172,12.936,2173,12.936]],["keywords/406",[]],["title/407",[956,1095.832]],["content/407",[9,2.705,27,9.247,59,3.924,91,8.813,122,5.27,162,9.042,197,10.211,218,9.744,221,8.015,323,7.673,362,5.383,404,6.44,429,5.73,523,7.531,545,3.422,620,7.343,764,8.151,812,7.995,842,7.57,968,11.151,1111,11.972,1135,12.578,2174,13.354]],["keywords/407",[]],["title/408",[2132,1032.511,2133,1032.511]],["content/408",[5,5.868,8,4.689,9,3.522,27,4.827,34,8.049,38,5.774,48,8.81,59,3.566,140,2.622,157,5.545,171,4.53,188,5.967,215,6.149,255,2.723,286,4.343,287,3.687,362,2.601,429,3.659,434,8.09,443,4.343,464,8.679,467,2.367,486,4.007,500,4.976,505,5.139,556,2.867,613,3.64,614,7.927,620,4.689,624,3.26,692,5.869,808,5.744,836,7.768,840,3.963,842,3.952,848,9.088,849,6.567,897,9.955,941,6.262,944,3.407,958,10.426,967,14.984,968,10.133,969,6.936,971,4.774,972,9.992,973,4.019,974,10.35,976,4.656,977,10.35,1008,5.714,1146,6.222,1163,9.557,1366,5.183,1613,3.64,2132,13.795,2133,9.694,2135,10.35,2143,10.35,2161,9.632,2175,8.032,2176,8.676,2177,10.798,2178,11.398,2179,8.527,2180,16.22,2181,11.398,2182,11.398,2183,11.398,2184,11.398,2185,11.398,2186,11.398,2187,16.22,2188,11.398,2189,11.398]],["keywords/408",[]],["title/409",[2123,1412.056]],["content/409",[50,4.986,363,3.371,390,4.259,467,2.186,475,5.166,540,7.146,832,2.894,847,2.735,925,5.12,930,8.281,931,6.315,1437,6.883,1464,9.64,1607,12.282,2190,18.519,2191,18.519,2192,18.519,2193,18.519,2194,16.815,2195,16.815]],["keywords/409",[]],["title/410",[2196,1555.113]],["content/410",[9,3.462,50,5.181,301,10.854,390,4.425,404,6.942,467,1.884,545,3.688,743,7.914,746,9.5,832,2.494,907,13.558,958,12.367,2197,19.24,2198,11.912,2199,10.374,2200,16.866]],["keywords/410",[]],["title/411",[2201,1412.056]],["content/411",[16,8.674,46,6.581,117,9.748,274,6.151,467,2.13,524,4.767,540,6.847,632,9.342,804,4.222,824,4.248,832,2.3,836,7.48,840,6.168,842,6.151,847,2.621,1118,19.754,1119,16.111,1344,9.942,2100,10.889,2103,18.502,2201,16.111,2202,17.743,2203,17.743,2204,17.743,2205,17.743]],["keywords/411",[]],["title/412",[2124,1412.056]],["content/412",[804,5,832,2.723,847,3.103,2206,21.013]],["keywords/412",[]],["title/413",[1784,1111.048]],["content/413",[50,5.114,59,4.984,467,1.86,475,5.298,540,7.329,832,2.938,847,2.805,930,8.494,931,6.477,1157,10.865,1437,7.06,1784,17.315,2207,18.993,2208,18.993,2209,18.993]],["keywords/413",[]],["title/414",[2210,1412.056]],["content/414",[30,4.702,59,4.818,63,8.984,524,5.889,556,4.517,613,5.735,620,9.73,807,3.214,824,4.299,832,2.327,840,6.243,847,2.652,878,11.783,907,12.654,1352,14.536,1529,13.017,2210,19.9,2211,15.272,2212,16.306,2213,16.306,2214,13.435]],["keywords/414",[]],["title/415",[2215,1322.558]],["content/415",[8,7.255,30,6.144,59,5.524,140,4.057,274,6.115,524,4.739,556,4.436,592,9.753,807,3.157,824,4.223,832,2.286,840,7.536,847,2.605,893,14.259,894,13.19,1352,11.698,2211,15,2215,18.435,2216,15.955,2217,17.637,2218,17.637]],["keywords/415",[]],["title/416",[2125,1322.558]],["content/416",[9,1.978,32,7.208,34,6.478,41,3.277,46,5.394,79,5.12,205,5.408,208,9.734,215,6.828,257,4.513,271,10.554,417,6.587,424,11.699,453,6.648,467,2.406,524,3.508,597,6.478,603,5.487,613,4.169,625,6.261,716,6.955,807,2.337,820,4.223,824,3.125,832,2.311,836,8.299,840,4.539,842,6.181,847,1.928,848,5.767,849,7.522,885,4.148,892,5.508,930,5.838,931,4.452,933,8.756,1008,6.545,1011,7.692,1017,10.327,1103,6.955,1127,14.508,1133,8.31,1216,8.658,1237,7.315,1274,9.609,1535,10.123,1581,5.314,1624,12.665,2125,11.102,2219,11.102,2220,11.444,2221,11.854,2222,10.327,2223,10.327,2224,10.554,2225,13.055,2226,13.055,2227,13.055,2228,13.055,2229,13.055,2230,13.055]],["keywords/416",[]],["title/417",[2126,1322.558]],["content/417",[9,1.775,32,6.685,34,5.813,46,5.003,193,2.56,205,4.853,208,9.028,215,7.003,257,4.05,271,9.47,390,2.694,417,6.11,424,10.85,453,5.965,467,2.581,524,4.443,603,4.924,613,3.741,625,5.618,716,6.24,807,2.096,820,3.789,824,3.959,832,2.143,836,7.552,840,4.072,842,5.733,848,5.175,849,6.749,870,6.956,885,3.722,889,3.381,892,4.942,920,5.418,930,5.238,931,3.994,941,9.085,945,7.252,949,4.87,965,7.769,966,7.685,1008,5.872,1011,6.902,1017,9.266,1103,6.24,1127,8.369,1133,7.456,1165,7.606,1166,8.146,1167,8.146,1168,8.146,1169,8.146,1216,7.769,1237,6.563,1274,8.622,1437,4.354,1453,10.636,1457,11.097,1535,9.083,1581,4.768,1624,12.087,2126,9.962,2219,9.962,2220,10.268,2221,10.636,2222,9.266,2223,9.266,2224,9.47,2231,11.713,2232,11.713,2233,11.713,2234,11.713,2235,11.713]],["keywords/417",[]],["title/418",[2236,1043.002]],["content/418",[9,1.775,13,4.942,14,2.862,19,7.055,30,5.018,38,5.934,50,3.154,59,5.579,73,6.902,77,7.606,144,3.909,218,6.395,274,5.733,283,5.872,286,4.463,328,5.592,390,3.803,404,5.966,464,4.942,467,2.382,490,6.85,556,2.946,600,3.161,605,7.069,613,3.741,709,9.962,718,9.47,789,5.154,824,2.804,832,1.518,840,7.24,842,4.061,847,1.73,894,7.128,924,6.449,968,7.318,1103,6.24,1110,3.838,1157,6.701,1207,13.164,1365,11.357,1366,8.715,1367,10.636,1385,4.435,1423,15.851,1480,6.731,1613,5.281,1817,6.701,2198,10.239,2236,15.713,2237,16.537,2238,9.266,2239,11.713,2240,11.097,2241,10.268,2242,10.636,2243,19.168,2244,11.713,2245,11.713,2246,11.713,2247,11.713,2248,7.189,2249,11.713,2250,11.713,2251,11.713]],["keywords/418",[]],["title/419",[2252,1363.216]],["content/419",[9,2.537,452,12.323,467,2.245,603,7.037,613,5.346,732,10.021,824,4.008,832,2.17,847,2.473,981,14.075,1069,13.863,1385,6.339,2252,18.396,2253,12.323,2254,15.201,2255,8.619,2256,16.741,2257,16.741,2258,16.741,2259,16.741,2260,16.741,2261,16.741,2262,20.986,2263,16.741,2264,16.741,2265,16.741,2266,16.741,2267,16.741,2268,16.741,2269,16.741,2270,16.741,2271,16.741,2272,16.741,2273,16.741,2274,16.741]],["keywords/419",[]],["title/420",[2275,1555.113]],["content/420",[255,4.95,467,2.029,807,3.708,832,2.685,925,5.728,2276,20.719]],["keywords/420",[]],["title/421",[2277,1473.221]],["content/421",[9,3.482,50,4.533,58,6.581,59,3.701,204,5.773,209,10.717,404,6.074,413,9.371,469,13.818,554,6.335,556,4.235,613,5.377,617,10.932,625,8.075,648,11.562,757,12.595,771,12.595,804,4.006,823,8.715,832,2.182,847,2.487,860,9.498,1014,5.56,1329,13.869,1433,10.245,2216,12.393,2278,16.836,2279,10.16,2280,15.949,2281,16.836,2282,15.949,2283,13.055,2284,14.759,2285,15.287]],["keywords/421",[]],["title/422",[354,902.598]],["content/422",[32,7.088,86,10.855,205,7.264,251,9.466,354,12.535,355,7.212,467,2.392,540,6.766,613,5.599,832,2.799,847,2.59,930,7.841,931,5.979,1059,12.709,1385,6.639,1470,9.824,1682,18.923,2286,16.61,2287,15.92,2288,18.932,2289,15.92,2290,15.92,2291,15.92]],["keywords/422",[]],["title/423",[2015,719.339]],["content/423",[30,4.818,59,4.89,257,6.363,363,3.358,467,1.802,520,9.274,554,6.925,597,11.039,739,9.804,804,4.379,807,3.294,832,2.385,840,8.312,847,2.718,1018,6.452,2006,7.125,2015,8.513,2216,13.547,2292,18.404]],["keywords/423",[]],["title/424",[63,637.447]],["content/424",[63,7.544,467,2.627,581,6.398,804,4.379,832,2.385,847,2.718,885,5.848,892,7.764,924,7.484,1365,15.277,2293,14.27,2294,6.699]],["keywords/424",[]],["title/425",[2214,1163.403]],["content/425",[30,4.789,59,4.872,63,9.084,524,5.955,556,4.6,620,9.809,807,3.274,824,4.379,832,2.371,840,6.359,847,2.701,878,12.001,1352,14.699,1529,13.258,2211,15.555,2212,16.608,2213,16.608,2214,16.58]],["keywords/425",[]],["title/426",[993,916.313]],["content/426",[993,14.287]],["keywords/426",[]],["title/427",[193,339.865]],["content/427",[9,2.223,14,4.711,21,4.417,50,3.95,122,4.653,193,4.706,197,8.392,286,5.589,323,6.306,390,3.374,467,2.541,486,5.158,540,5.661,545,2.812,556,3.69,743,6.034,762,7.862,766,7.28,804,3.491,807,2.626,820,4.745,823,7.594,824,4.616,832,1.901,836,5.044,842,5.086,847,2.167,883,6.786,924,4.935,944,4.385,968,9.164,983,6.816,1007,9.003,1014,4.845,1120,6.33,1336,6.587,1365,10.075,1585,6.67,2176,11.166,2295,14.67,2296,12.86,2297,14.67,2298,14.67,2299,14.67,2300,14.67,2301,14.67,2302,12.476,2303,14.67,2304,13.897]],["keywords/427",[]],["title/428",[2305,1412.056]],["content/428",[21,4.351,193,4.151,255,4.538,467,2.458,540,7.329,617,12.333,632,10.001,832,2.462,842,6.585,847,2.805,925,5.251,983,8.824,2305,17.246,2306,17.993,2307,18.993,2308,15.728]],["keywords/428",[]],["title/429",[2309,1287.729]],["content/429",[8,6.625,9,3.103,30,4.216,58,6.295,59,3.54,90,6.041,140,3.704,149,7.549,255,3.848,274,5.583,323,6.923,467,2.395,475,4.492,516,7.835,587,9.262,651,9.718,804,3.832,807,3.665,832,2.087,838,4.085,925,4.452,1087,14.623,1337,13.335,1480,6.555,1766,12.258,2310,16.104,2311,9.148,2312,12.048,2313,16.104,2314,16.104,2315,22.517,2316,16.104,2317,20.478,2318,20.478,2319,16.104]],["keywords/429",[]],["title/430",[2320,1412.056]],["content/430",[30,4.91,50,6.058,59,4.122,257,6.483,467,1.836,613,5.989,804,5.736,807,3.356,832,2.431,840,8.38,843,14.835,847,2.77,2015,10.407,2320,17.028,2321,14.274]],["keywords/430",[]],["title/431",[2322,1412.056]],["content/431",[50,5.319,59,4.342,63,8.097,467,1.934,545,4.448,600,5.33,804,4.701,807,3.535,824,4.729,832,2.56,2311,11.221,2323,19.753]],["keywords/431",[]],["title/432",[2324,1473.221]],["content/432",[50,5.114,59,4.175,63,9.934,467,1.86,545,4.346,554,7.147,613,6.066,623,9.778,804,4.52,807,3.399,824,4.547,832,2.462,840,6.603,967,12.597,2311,10.789,2325,18.993]],["keywords/432",[]],["title/433",[2326,1412.056]],["content/433",[30,4.673,59,3.924,68,7.587,255,4.265,467,2.469,482,10.36,505,8.048,587,7.343,592,9.87,737,10.518,789,7.855,804,5.614,807,4.399,832,2.313,838,4.527,847,2.636,2309,14.781,2326,16.208,2327,16.208,2328,12.111]],["keywords/433",[]],["title/434",[1777,865.557]],["content/434",[21,4.408,423,7.424,467,2.468,807,3.444,832,2.494,847,2.842,885,6.114,892,8.117,910,16.363,982,5.566,1777,12.716,2329,19.24,2330,19.24]],["keywords/434",[]],["title/435",[2331,1555.113]],["content/435",[140,4.13,141,5.394,467,2.316,692,7.93,807,4.234,832,2.327,847,2.652,866,8.2,885,5.706,892,7.576,900,7.809,944,5.368,1366,8.165,2161,13.015,2332,17.958,2333,17.958,2334,21.917,2335,21.917,2336,14.87,2337,17.958]],["keywords/435",[]],["title/436",[2338,1412.056]],["content/436",[164,10.935,467,2.228,661,6.431,746,9.438,807,3.421,832,2.478,840,6.646,847,2.823,1008,9.583,1511,15.122,2130,19.95,2215,19.355,2338,17.357,2339,14.823,2340,16.257]],["keywords/436",[]],["title/437",[14,379.983]],["content/437",[14,4.65,140,3.309,236,3.409,255,3.437,467,2.614,487,7.033,524,5.114,554,5.413,807,2.575,824,3.444,832,2.467,847,2.811,883,6.654,885,6.047,892,8.998,925,3.977,982,4.161,984,9.641,986,10.588,994,11.63,1004,10.456,1013,10.762,1014,4.751,1037,10.428,1117,11.63,1269,8.229,1336,6.459,1393,10.277,2100,8.829,2341,14.385,2342,14.385,2343,14.385,2344,12.61,2345,14.385,2346,14.385,2347,14.385,2348,14.385,2349,14.385,2350,12.61,2351,14.385,2352,14.385,2353,14.385,2354,14.385]],["keywords/437",[]],["title/438",[2355,1555.113]],["content/438",[9,2.754,14,5.395,48,7.785,58,7.106,223,11.062,340,9.956,363,3.333,417,6.716,554,6.84,556,4.572,613,7.051,617,11.803,625,8.719,676,14.38,807,3.254,824,4.352,832,2.356,847,2.685,885,5.776,900,7.905,1337,15.053,2356,18.178]],["keywords/438",[]],["title/439",[516,756.595]],["content/439",[467,2.043,832,2.704,847,3.082,2357,20.865,2358,18.946]],["keywords/439",[]],["title/440",[2359,1555.113]],["content/440",[9,2.915,141,6.862,163,14.645,198,15.22,275,12.02,443,7.331,467,1.884,516,9.361,728,8.178,832,2.494,847,2.842,885,6.114,944,5.751,958,12.367,1727,14.162,2360,19.24]],["keywords/440",[]],["title/441",[2361,1555.113]],["content/441",[204,5.676,246,8.857,335,13.708,357,6.692,443,7.94,467,2.415,513,9.153,534,8.759,545,3.173,613,5.287,624,4.734,719,7.657,732,9.909,824,4.989,828,7.551,832,2.701,842,5.739,973,5.837,2358,20.708,2362,16.554,2363,14.078,2364,16.554,2365,9.681,2366,16.554,2367,18.921,2368,16.554]],["keywords/441",[]],["title/442",[2369,1555.113]],["content/442",[9,2.376,141,4.709,246,7.818,286,5.974,467,2.473,513,8.669,516,9.794,545,3.859,613,5.007,692,5.673,824,3.754,832,2.032,842,5.436,847,3.465,885,4.982,892,8.493,900,9.67,973,8.755,1147,16.367,2363,13.334,2367,20.19,2370,15.678,2371,22.235,2372,21.064]],["keywords/442",[]],["title/443",[2373,1412.056]],["content/443",[14,4.987,59,3.521,63,8.365,202,7.192,322,6.409,449,9.588,467,2.199,475,5.693,505,7.222,520,8.072,545,3.07,613,5.115,800,7.908,804,4.856,807,2.867,832,2.076,835,11.79,838,5.696,840,5.568,847,2.366,988,11.934,1110,5.248,1205,4.721,1333,10.006,1393,16.896,1487,10.868,2308,18.598,2373,14.544,2374,20.408,2375,20.408,2376,15.267]],["keywords/443",[]],["title/444",[2377,1555.113]],["content/444",[41,4.829,50,6.152,223,11.708,263,10.78,467,1.884,548,8.208,804,4.578,832,2.494,847,2.842,1024,12.493,1127,13.746,1480,7.832,1899,15.932,2378,19.24,2379,16.363,2380,16.363]],["keywords/444",[]],["title/445",[1108,1163.403]],["content/445",[41,4.737,222,10.796,467,2.211,657,13.68,807,4.042,824,4.518,832,2.446,847,2.787,944,5.641,1039,15.147,1108,14.119,1727,13.892,2381,18.873,2382,17.136,2383,18.873,2384,18.873,2385,18.873]],["keywords/445",[]],["title/446",[2386,1412.056]],["content/446",[1,3.708,8,6.064,9,2.931,26,6.411,78,8.825,79,5.782,140,3.391,171,5.859,257,7.463,274,5.111,354,8.557,409,11.871,423,5.689,454,9.477,467,2.437,562,8.206,605,8.897,613,4.708,674,11.029,787,8.621,789,6.487,804,3.508,807,3.462,815,9.573,832,1.911,838,3.739,840,5.125,842,5.111,847,2.177,885,6.146,925,5.348,1054,12.208,1431,7.718,1558,10.003,1683,6.043,1827,12.208,1954,8.261,2386,17.563,2387,7.005,2388,11.662,2389,12.924,2390,10.852,2391,7.901,2392,7.005,2393,14.743,2394,9.477,2395,14.743,2396,14.743,2397,10.533,2398,14.743]],["keywords/446",[]],["title/447",[743,639.701]],["content/447",[467,2.538,743,9.22,807,3.335,832,2.415,847,2.752,885,5.921,892,7.862,924,6.27,925,5.152,984,9.44,1014,6.154,1187,14.45,1365,12.798,2100,11.437,2399,15.849,2400,13.508]],["keywords/447",[]],["title/448",[1247,1257.267]],["content/448",[467,2.503,748,14.835,823,12.478,832,2.431,847,2.77,925,6.664,1014,7.96,1244,17.028,1247,15.161,2401,17.766,2402,17.766]],["keywords/448",[]],["title/449",[2127,1412.056]],["content/449",[50,4.986,363,3.371,390,4.259,467,2.186,540,7.146,832,2.894,847,2.735,921,9.534,925,5.12,930,8.281,931,6.315,1437,6.883,1464,9.64,1629,12.565,2194,16.815,2195,16.815,2403,18.519,2404,18.519,2405,18.519,2406,18.519]],["keywords/449",[]],["title/450",[2390,1144.672]],["content/450",[6,7.29,9,2.657,13,7.397,15,7.088,144,5.852,219,12.526,467,1.717,524,4.711,746,8.657,804,4.172,807,3.138,812,6.42,832,2.272,847,2.59,1018,6.147,1051,14.911,1120,7.566,1581,9.527,1686,9.026,2020,8.572,2390,17.981,2407,17.533,2408,17.533,2409,13.117,2410,17.533,2411,14.175,2412,11.629]],["keywords/450",[]],["title/451",[2413,1287.729]],["content/451",[50,5.691,59,3.722,63,8.663,204,5.806,223,10.303,257,5.854,355,6.965,404,6.109,467,2.432,545,4.625,804,4.029,807,3.031,832,2.194,838,5.361,842,5.87,847,2.501,885,5.38,892,7.144,900,7.363,967,14.018,1158,10.578,1163,9.977,1224,14.4,2413,14.021,2414,17.087,2415,13.689]],["keywords/451",[]],["title/452",[21,278.126,941,666.996]],["content/452",[]],["keywords/452",[]],["title/453",[942,1555.113]],["content/453",[144,6.259,162,9.5,287,6.066,362,4.279,390,5.175,417,6.928,812,6.866,832,2.431,836,6.448,847,2.77,941,13.242,943,18.753,944,5.606,945,11.611,946,17.028,947,9.08,948,15.529,949,7.797]],["keywords/453",[]],["title/454",[950,1412.056]],["content/454",[187,7.742,190,14.03,320,15.529,417,6.928,443,7.145,545,3.595,651,11.317,737,11.05,800,9.259,824,5.387,832,2.431,847,2.77,941,13.242,950,17.028,951,13.36,952,16.439,953,17.766]],["keywords/454",[]],["title/455",[954,1412.056]],["content/455",[96,10.72,144,6.299,163,14.365,319,6.616,362,4.306,524,5.071,756,10.72,803,16.05,812,6.91,886,8.692,949,9.39,954,17.136,955,18.873,956,13.299,957,11.79,958,12.131,959,16.544,960,8.405,961,16.05]],["keywords/455",[]],["title/456",[962,1412.056]],["content/456",[96,11.528,144,6.773,362,4.631,524,5.453,812,7.431,956,14.3,957,12.678,962,18.427,963,18.427]],["keywords/456",[]],["title/457",[964,1412.056]],["content/457",[9,2.884,34,7.138,38,7.287,48,9.134,140,3.309,171,5.717,215,6.785,255,3.437,286,5.481,362,3.282,429,4.617,434,9.492,464,8.998,467,2.565,486,5.057,548,6.137,614,10.004,808,7.249,832,1.864,836,7.804,847,2.125,848,10.028,925,3.977,941,10.456,964,13.062,965,9.541,966,9.438,967,14.146,968,8.987,969,8.753,970,14.385,971,6.025,972,12.61,973,5.072,974,13.062,975,14.385,976,5.876,977,13.062,978,14.385]],["keywords/457",[]],["title/458",[21,278.126,1463,689.643]],["content/458",[]],["keywords/458",[]],["title/459",[2416,1555.113]],["content/459",[7,9.788,363,2.886,467,1.872,823,9.896,824,4.577,832,2.478,921,9.841,930,8.548,931,6.519,981,12.821,982,5.53,1437,7.105,1531,15.829,2416,19.116,2417,18.109,2418,20.644,2419,18.109,2420,20.644]],["keywords/459",[]],["title/460",[2421,1555.113]],["content/460",[7,9.916,215,5.789,363,2.924,467,1.896,832,2.51,921,9.97,930,8.66,931,6.604,1437,7.198,1528,15.016,1529,14.038,1530,17.584,1531,16.036,1533,19.366,2419,18.346,2421,19.366]],["keywords/460",[]],["title/461",[2422,1555.113]],["content/461",[7,9.981,363,2.943,467,1.909,832,2.526,889,5.626,920,9.017,921,10.035,930,8.717,931,6.647,1437,7.246,1530,17.7,1531,16.141,2419,18.467,2422,19.493,2423,21.051]],["keywords/461",[]],["title/462",[2424,1555.113]],["content/462",[7,9.251,273,5.628,363,2.728,467,1.769,475,6.136,571,12.675,623,9.301,624,5.167,700,11.089,764,8.25,807,3.234,832,2.342,856,10.903,928,10.263,930,8.08,931,6.161,1531,14.961,1557,10.41,1558,12.259,1559,20.84,1560,18.067,2424,18.067,2425,18.067,2426,19.512]],["keywords/462",[]],["title/463",[2427,1555.113]],["content/463",[7,9.482,14,4.525,51,10.24,144,6.181,215,5.536,363,2.796,467,1.813,556,4.658,794,11.788,807,3.314,832,2.4,921,9.534,930,8.281,931,6.315,944,5.536,1437,6.883,1531,15.335,1563,12.282,1564,13.05,1565,18.519,2425,18.519,2427,18.519,2428,19.999]],["keywords/463",[]],["title/464",[21,278.126,1732,1214.065]],["content/464",[]],["keywords/464",[]],["title/465",[2429,1555.113]],["content/465",[122,4.134,215,5.12,222,9.798,358,6.271,467,2.623,807,4.336,832,2.22,847,2.53,920,11.207,1463,12.092,1464,12.057,1629,14.444,1773,15.014,2429,17.128]],["keywords/465",[]],["title/466",[2430,1555.113]],["content/466",[14,4.388,358,6.575,363,2.711,467,2.547,545,3.442,807,4.409,832,2.327,847,2.652,920,10.138,982,5.195,984,9.097,1463,10.201,1464,11.409,1472,16.306,1473,9.455,1629,12.185,2430,17.958]],["keywords/466",[]],["title/467",[2431,1555.113]],["content/467",[14,4.114,358,6.164,363,2.542,467,2.54,545,3.227,807,4.31,832,2.73,847,2.487,920,9.742,930,7.529,931,5.741,982,6.092,1463,9.564,1464,10.963,1473,11.089,1629,11.424,1776,16.836,1777,9.371,1778,16.836,1780,16.836,1781,15.287,1782,16.836,2431,16.836,2432,18.182]],["keywords/467",[]],["title/468",[2433,1555.113]],["content/468",[41,4.25,50,4.559,274,5.87,363,3.479,467,2.565,554,6.371,566,9.756,807,3.783,832,2.739,847,2.501,920,9.776,930,7.572,931,5.774,933,11.356,1463,9.618,1464,8.814,1483,12.097,1629,11.489,1784,12.097,1785,16.932,1786,16.932,1788,16.932,2433,16.932,2434,18.286,2435,18.286]],["keywords/468",[]],["title/469",[2436,1555.113]],["content/469",[122,3.908,273,5.044,274,5.614,358,5.929,467,2.594,548,6.908,566,9.33,743,6.661,804,5.65,807,4.04,832,2.663,847,2.391,920,9.505,930,7.241,931,5.522,973,5.709,1463,9.198,1464,10.697,1473,8.526,1475,7.014,1476,11.261,1477,11.738,1483,11.569,1629,10.987,1791,16.192,2436,16.192,2437,17.487]],["keywords/469",[]],["title/470",[2438,1555.113]],["content/470",[58,6.161,274,5.464,358,7.396,363,2.38,390,3.625,467,2.476,677,7.049,804,4.807,807,2.821,824,4.836,828,5.219,832,2.618,837,9.512,842,5.464,889,4.549,921,8.114,924,5.303,930,7.049,931,5.375,944,6.038,960,7.02,1437,5.859,1464,12.238,1479,19.466,1480,6.416,1481,14.932,1794,15.762,1796,15.762,1797,15.762,1799,15.762,1800,15.762,2438,15.762,2439,17.022,2440,17.022]],["keywords/470",[]],["title/471",[2441,1555.113]],["content/471",[274,5.973,358,6.308,363,3.225,467,2.551,556,4.333,807,4.156,832,2.769,847,2.544,920,9.882,930,7.704,931,5.875,1463,9.786,1464,11.121,1473,11.249,1483,12.308,1629,11.689,1777,9.589,1802,17.227,1804,17.227,2441,17.227,2442,18.605]],["keywords/471",[]],["title/472",[2443,1555.113]],["content/472",[59,3.854,274,6.078,358,6.42,363,2.647,467,2.56,566,10.102,807,3.865,832,2.799,847,2.59,920,9.99,930,7.841,931,5.979,949,8.98,1463,9.96,1464,9.127,1483,12.526,1629,11.897,1784,12.526,1806,17.533,2443,17.533,2444,18.935]],["keywords/472",[]],["title/473",[2445,1555.113]],["content/473",[14,4.185,21,3.924,358,6.271,363,3.214,467,2.548,807,4.145,832,2.759,847,2.53,856,12.846,920,9.847,930,7.659,931,5.841,1463,9.729,1464,11.081,1473,9.018,1629,11.622,1777,9.533,1781,15.552,1809,17.128,1811,17.128,2445,17.128,2446,18.497]],["keywords/473",[]],["title/474",[2447,1555.113]],["content/474",[32,6.304,34,7.739,59,4.876,108,6.415,215,6.999,329,5.468,358,5.71,363,2.354,417,5.762,467,2.428,566,8.986,592,12.948,600,4.209,807,2.791,832,2.6,842,6.955,847,2.303,893,16.22,924,5.247,930,6.974,931,5.318,933,13.456,976,6.37,1208,7.032,1365,10.711,1417,14.775,1464,8.119,1480,6.348,1563,10.344,1564,10.99,1784,11.143,1816,15.596,1817,8.922,1818,15.596,1820,15.596,2447,15.596]],["keywords/474",[]],["title/475",[2448,1555.113]],["content/475",[122,3.764,274,5.407,358,5.71,467,2.613,548,6.654,566,8.986,743,6.415,807,4.191,832,2.6,847,2.303,920,10.831,925,4.312,930,6.974,931,5.318,1463,11.396,1464,11.546,1475,6.756,1476,10.846,1477,11.305,1483,11.143,1629,13.613,1822,12.609,1823,12.914,1824,15.596,1826,15.596,1827,12.914,2448,15.596,2449,16.843]],["keywords/475",[]],["title/476",[2450,1555.113]],["content/476",[8,6.848,215,4.976,358,6.095,363,2.513,382,8.303,467,2.614,807,4.293,824,3.986,832,2.158,847,2.459,920,11.094,1073,13.459,1437,6.188,1463,11.879,1464,11.902,1629,14.189,2394,10.701,2450,16.647,2451,17.978]],["keywords/476",[]],["title/477",[2452,1555.113]],["content/477",[50,4.612,58,6.695,59,3.765,174,5.598,285,7.723,286,6.526,363,3.214,467,2.487,605,10.336,719,7.923,807,3.066,824,4.101,832,2.759,847,2.53,924,5.762,931,5.841,1365,11.763,1464,8.916,1529,15.431,1784,12.237,2198,10.604,2452,17.128,2453,18.497,2454,18.497,2455,18.497,2456,15.552,2457,15.552,2458,18.497]],["keywords/477",[]],["title/478",[2459,1555.113]],["content/478",[141,5.235,274,6.043,358,6.382,363,3.249,390,4.009,467,2.557,600,4.704,807,3.851,832,2.789,847,2.574,920,9.954,930,7.794,931,5.944,1463,9.901,1464,11.202,1483,12.453,1629,11.827,1830,16.512,2459,17.43,2460,18.823,2461,18.823]],["keywords/478",[]],["title/479",[21,278.126,2462,1311.126]],["content/479",[]],["keywords/479",[]],["title/480",[2463,1555.113]],["content/480",[21,4.495,467,1.921,556,4.935,807,3.512,824,4.698,832,2.543,930,8.775,931,6.691,982,5.676,1437,7.294,2463,19.622,2464,19.622,2465,19.622,2466,21.191]],["keywords/480",[]],["title/481",[2467,1555.113]],["content/481",[15,7.581,251,8.219,273,5.841,467,1.836,475,5.231,516,9.124,545,3.595,824,4.49,832,2.916,930,8.386,931,6.395,982,5.425,1437,6.971,1489,14.03,1906,13.594,2465,18.753,2467,18.753,2468,20.252,2469,18.753,2470,20.252]],["keywords/481",[]],["title/482",[21,278.126,2471,1214.065]],["content/482",[]],["keywords/482",[]],["title/483",[2472,1555.113]],["content/483",[21,4.408,467,2.237,556,4.839,807,3.444,824,4.606,832,2.494,930,8.604,931,6.561,982,5.566,984,9.747,1437,7.151,1516,18.227,2464,19.24,2472,19.24,2473,19.24,2474,20.778]],["keywords/483",[]],["title/484",[2475,1555.113]],["content/484",[14,4.582,467,2.203,545,4.313,824,4.49,832,2.916,860,10.579,930,8.386,931,6.395,982,5.425,984,9.5,1208,8.456,1437,6.971,1516,17.766,1563,12.438,2469,18.753,2473,18.753,2475,18.753,2476,20.252]],["keywords/484",[]],["title/485",[21,278.126,913,738.774]],["content/485",[]],["keywords/485",[]],["title/486",[914,1412.056]],["content/486",[807,3.815,914,19.354]],["keywords/486",[]],["title/487",[915,1412.056]],["content/487",[475,5.862,832,2.723,847,3.103,915,19.08]],["keywords/487",[]],["title/488",[916,1412.056]],["content/488",[807,3.815,916,19.354]],["keywords/488",[]],["title/489",[917,1412.056]],["content/489",[807,3.815,917,19.354]],["keywords/489",[]],["title/490",[918,1412.056]],["content/490",[823,11.034,918,19.354]],["keywords/490",[]],["title/491",[919,1412.056]],["content/491",[363,3.064,726,12.564,824,4.859,832,2.63,847,2.997,889,5.857,919,18.427,920,9.387,921,10.448]],["keywords/491",[]],["title/492",[922,1412.056]],["content/492",[132,14.021,286,6.451,390,3.894,443,6.451,467,2.432,556,4.259,807,3.031,832,2.739,847,2.501,889,6.1,922,15.375,923,15.375,924,5.697,925,4.681,926,9.901,927,14.4,928,9.618,929,13.453,930,7.572,931,5.774,932,15.375,933,15.454,934,16.041,935,16.932,936,15.375,937,16.932,938,16.932,939,16.932,940,15.375]],["keywords/492",[]],["title/493",[21,278.126,623,625.025]],["content/493",[]],["keywords/493",[]],["title/494",[979,1412.056]],["content/494",[19,8.262,21,4.436,46,7.642,319,6.789,429,6.216,486,6.809,545,3.712,554,7.287,613,6.185,716,10.317,824,4.636,947,9.377,979,17.584]],["keywords/494",[]],["title/495",[980,1412.056]],["content/495",[14,5.375,21,4.139,23,7.354,67,10.336,140,4.155,244,15.838,286,6.884,287,5.844,363,2.728,443,6.884,486,6.352,824,4.326,894,10.994,944,5.401,980,16.405,981,15.907,982,6.364,983,11.019,984,9.153,985,11.854,986,13.299]],["keywords/495",[]],["title/496",[987,1412.056]],["content/496",[32,7.985,363,2.982,467,1.934,565,10.783,804,5.522,824,4.729,887,9.61,889,6.697,987,17.936,988,11.551,989,14.539]],["keywords/496",[]],["title/497",[990,1412.056]],["content/497",[14,4.671,19,8.156,50,5.147,273,5.954,390,4.397,447,13.657,545,4.362,597,9.486,856,13.734,961,16.257,990,17.357,991,19.116,992,12.412,993,13.41,994,15.455]],["keywords/497",[]],["title/498",[21,278.126,1784,867.387]],["content/498",[15,7.985,21,4.525,50,6.248,187,8.154,706,10.852,947,9.564,958,12.697,992,12.826,1604,16.799,1784,14.112,2477,19.753,2478,16.799]],["keywords/498",[]],["title/499",[21,278.126,1097,1102.381]],["content/499",[]],["keywords/499",[]],["title/500",[1284,1412.056]],["content/500",[832,2.723,847,3.103,885,6.677,1284,19.08]],["keywords/500",[]],["title/501",[1285,1412.056]],["content/501",[832,2.723,847,3.103,885,6.677,1285,19.08]],["keywords/501",[]],["title/502",[1286,1412.056]],["content/502",[832,2.723,847,3.103,885,6.677,1286,19.08]],["keywords/502",[]],["title/503",[1287,1412.056]],["content/503",[832,2.723,847,3.103,885,6.677,1287,19.08]],["keywords/503",[]],["title/504",[21,278.126,122,293.037]],["content/504",[]],["keywords/504",[]],["title/505",[995,1555.113]],["content/505",[7,9.482,193,4.88,467,2.437,620,7.618,632,9.751,804,5.314,832,2.4,847,2.735,872,12.151,882,10.24,992,12.025,996,18.519,997,18.519,998,21.153,999,18.519,1000,18.519,1001,17.544]],["keywords/505",[]],["title/506",[1002,1412.056]],["content/506",[889,6.152,1002,19.354]],["keywords/506",[]],["title/507",[1003,1412.056]],["content/507",[1003,19.354,1004,11.71]],["keywords/507",[]],["title/508",[1005,1555.113]],["content/508",[9,3.613,21,4.19,122,5.755,193,3.997,211,16.033,329,6.412,404,6.599,467,1.791,620,7.524,807,3.274,832,2.371,847,2.701,887,8.899,929,14.107,1006,18.29,1007,11.225,1008,9.169,1009,18.29,1010,18.29,1011,10.777]],["keywords/508",[]],["title/509",[21,278.126,2479,1311.126]],["content/509",[]],["keywords/509",[]],["title/510",[2480,1555.113]],["content/510",[16,6.965,31,5.643,215,7.034,255,3.404,274,4.939,363,2.151,417,5.264,443,5.428,453,9.631,467,2.484,524,3.828,540,7.297,603,7.949,824,4.527,832,2.451,836,7.774,847,2.104,848,6.294,849,13.028,926,8.331,930,6.371,931,4.858,945,8.821,1141,7.217,1385,5.394,1470,7.983,1581,9.204,1582,11.27,1583,11.797,1584,10.179,1585,6.478,1586,14.247,1592,14.247,1593,14.247,1594,14.247,1595,12.489,1596,14.247,2480,14.247,2481,13.142,2482,14.247,2483,14.247,2484,18.911]],["keywords/510",[]],["title/511",[2485,1555.113]],["content/511",[16,6.899,31,5.59,68,5.998,215,7.012,255,3.372,274,4.892,363,2.13,417,5.213,443,5.376,453,9.57,467,2.479,505,6.363,524,3.791,540,7.251,603,7.899,824,4.499,832,2.435,836,7.745,847,2.084,848,10.364,926,8.252,930,6.31,931,4.812,945,8.737,1141,7.148,1385,5.343,1470,7.907,1581,9.169,1582,11.163,1583,11.685,1584,10.082,1585,6.416,1591,12.37,1595,12.37,1598,14.111,1599,14.111,1600,14.111,1601,14.111,1602,14.111,2481,13.08,2482,14.111,2483,14.111,2484,14.111,2485,14.111]],["keywords/511",[]],["title/512",[21,278.126,1682,981.539]],["content/512",[]],["keywords/512",[]],["title/513",[2288,1363.216]],["content/513",[205,7.44,251,9.606,354,12.721,467,2.412,535,16.306,832,2.84,847,2.652,930,8.031,931,6.124,1059,13.017,1470,10.062,2028,16.132,2286,17.012,2287,16.306,2288,15.742,2289,16.306,2290,16.306,2291,16.306,2486,17.012,2487,23.669]],["keywords/513",[]],["title/514",[2488,1555.113]],["content/514",[205,7.44,251,9.606,354,12.721,467,2.412,535,16.306,832,2.84,847,2.652,930,8.031,931,6.124,1059,13.017,1470,10.062,2028,16.132,2287,16.306,2289,16.306,2290,16.306,2291,16.306,2488,17.958,2489,17.012,2490,19.394,2491,23.669]],["keywords/514",[]],["title/515",[21,278.126,1165,788.314]],["content/515",[]],["keywords/515",[]],["title/516",[1309,1555.113]],["content/516",[807,3.734,832,2.704,847,3.082,1165,13.548,1310,20.865]],["keywords/516",[]],["title/517",[21,278.126,889,350.402]],["content/517",[]],["keywords/517",[]],["title/518",[1288,1412.056]],["content/518",[106,11.613,644,12.956,807,3.607,889,5.817,1288,18.302,1289,15.629,1290,15.629,1291,17.565,1292,15.629]],["keywords/518",[]],["title/519",[1293,1412.056]],["content/519",[9,2.954,187,8.047,363,2.943,505,8.789,592,10.779,612,11.963,624,5.575,836,6.702,965,12.929,1007,11.963,1103,10.384,1293,17.7,1294,9.53,1295,19.493,1296,17.7]],["keywords/519",[]],["title/520",[1297,1412.056]],["content/520",[363,3.517,475,5.547,726,12.312,816,13.047,824,4.761,832,2.577,847,2.937,889,5.739,913,12.101,1297,18.056,1298,17.432]],["keywords/520",[]],["title/521",[1299,1412.056]],["content/521",[106,11.613,644,12.956,807,3.607,889,5.817,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1299,18.302,1300,17.142]],["keywords/521",[]],["title/522",[1301,1412.056]],["content/522",[106,11.613,644,12.956,807,3.607,889,5.817,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1301,18.302,1302,20.156]],["keywords/522",[]],["title/523",[1303,1412.056]],["content/523",[106,11.613,644,12.956,889,5.817,1165,13.088,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1303,18.302,1304,20.156]],["keywords/523",[]],["title/524",[1305,1412.056]],["content/524",[9,2.993,187,8.154,505,8.906,612,12.123,624,5.649,836,6.792,966,12.96,1007,12.123,1103,10.523,1294,9.657,1296,17.936,1305,17.936,1306,18.713]],["keywords/524",[]],["title/525",[1307,1412.056]],["content/525",[363,2.943,726,12.069,824,4.667,832,2.526,847,2.879,889,6.645,920,9.017,921,10.035,1289,17.852,1290,15.115,1291,14.583,1292,15.115,1307,17.7]],["keywords/525",[]],["title/526",[1308,1412.056]],["content/526",[467,2.057,804,5,924,7.07,1308,19.08]],["keywords/526",[]],["title/527",[21,278.126,1520,1214.065]],["content/527",[]],["keywords/527",[]],["title/528",[2492,1679.439]],["content/528",[7,9.308,230,8.559,467,2.422,677,8.129,739,9.684,804,4.326,807,3.254,820,5.88,824,4.352,832,2.862,847,2.685,982,5.259,984,9.209,1437,6.757,1515,15.46,1523,18.178,1524,18.178,1525,17.221,1526,16.506,2471,22.08,2493,19.631]],["keywords/528",[]],["title/529",[21,278.126,993,715.359]],["content/529",[]],["keywords/529",[]],["title/530",[1320,1363.216]],["content/530",[9,3.603,14,4.442,15,7.348,251,7.967,273,5.662,498,13.38,545,4.559,700,11.156,842,6.302,856,10.97,993,10.711,994,14.697,1061,10.326,1320,15.935,1321,16.506,1322,19.355,1323,17.221,1324,15.935,1325,18.178,1326,17.221,1327,18.178]],["keywords/530",[]],["title/531",[1328,1412.056]],["content/531",[21,5.487,1328,18.946,1329,12.591,1330,18.946]],["keywords/531",[]],["title/532",[1331,1322.558]],["content/532",[16,9.406,467,1.884,540,7.424,545,3.688,789,8.466,824,4.606,832,2.494,847,2.842,856,11.611,873,12.904,993,11.337,1330,17.47,1331,19.429,1332,14.645,1333,12.02,1334,19.24]],["keywords/532",[]],["title/533",[21,278.126,827,745.108]],["content/533",[]],["keywords/533",[]],["title/534",[1311,1555.113]],["content/534",[50,4.749,155,10.644,285,7.953,286,6.72,423,6.806,467,1.727,486,6.201,545,4.155,611,12.601,640,12.982,668,12.982,677,7.887,827,15.7,829,11.829,832,2.286,847,2.605,1208,7.953,1269,10.09,1312,17.637,1313,17.637,1314,17.637,1315,21.676,1316,17.637,1317,17.637]],["keywords/534",[]],["title/535",[1318,1555.113]],["content/535",[259,9.799,274,6.67,286,7.331,423,7.424,467,1.884,486,6.764,545,4.379,613,6.145,823,9.96,827,14.955,832,2.494,847,2.842,1117,15.555,1319,19.24]],["keywords/535",[]],["title/536",[21,278.126,1400,1032.511]],["content/536",[]],["keywords/536",[]],["title/537",[1401,1555.113]],["content/537",[193,4.528,467,2.029,804,4.93,832,2.685,847,3.06,1402,20.719]],["keywords/537",[]],["title/538",[21,278.126,1403,908.26]],["content/538",[]],["keywords/538",[]],["title/539",[1404,1412.056]],["content/539",[807,3.815,1404,19.354]],["keywords/539",[]],["title/540",[1405,1412.056]],["content/540",[807,3.815,1405,19.354]],["keywords/540",[]],["title/541",[1406,1412.056]],["content/541",[823,11.034,1406,19.354]],["keywords/541",[]],["title/542",[1407,1412.056]],["content/542",[363,3.064,726,12.564,824,4.859,832,2.63,847,2.997,889,5.857,920,9.387,921,10.448,1407,18.427]],["keywords/542",[]],["title/543",[1408,1412.056]],["content/543",[467,2.057,804,5,924,7.07,1408,19.08]],["keywords/543",[]],["title/544",[21,278.126,920,561.582]],["content/544",[]],["keywords/544",[]],["title/545",[1411,1412.056]],["content/545",[807,3.815,1411,19.354]],["keywords/545",[]],["title/546",[1412,1412.056]],["content/546",[807,3.815,1412,19.354]],["keywords/546",[]],["title/547",[1413,1412.056]],["content/547",[807,3.815,1413,19.354]],["keywords/547",[]],["title/548",[1414,1412.056]],["content/548",[132,14.021,286,6.451,390,3.894,443,6.451,467,2.432,556,4.259,807,3.031,832,2.739,847,2.501,923,15.375,924,5.697,925,4.681,926,9.901,928,9.618,929,13.453,930,7.572,931,5.774,932,15.375,933,15.454,936,15.375,940,15.375,1403,12.667,1414,15.375,1415,14.4,1416,13.689,1417,16.041,1418,16.932,1419,16.932,1420,16.932,1421,16.932]],["keywords/548",[]],["title/549",[21,278.126,1429,1150.133]],["content/549",[]],["keywords/549",[]],["title/550",[1430,1412.056]],["content/550",[352,12.316,556,5.175,807,3.683,824,4.926,840,7.153,1430,18.683,1431,10.772]],["keywords/550",[]],["title/551",[1432,1412.056]],["content/551",[52,13.101,215,5.905,352,11.824,467,1.934,613,6.308,804,5.522,807,3.535,824,4.729,840,6.867,1432,17.936,1433,12.02,1434,11.92]],["keywords/551",[]],["title/552",[21,278.126,837,732.644]],["content/552",[]],["keywords/552",[]],["title/553",[2494,1555.113]],["content/553",[246,6.932,292,9.14,352,10.684,467,2.31,706,9.807,804,5.196,824,4.274,832,2.313,847,2.636,866,8.151,973,6.293,1068,12.643,2145,11.304,2198,11.051,2494,21.836,2495,15.647,2496,19.277,2497,13.139,2498,12.111,2499,12.753,2500,12.578,2501,17.85]],["keywords/553",[]],["title/554",[2502,1555.113]],["content/554",[187,6.612,246,6.221,255,5.366,286,6.103,467,2.445,486,5.631,545,4.305,804,4.856,820,5.181,824,4.886,832,2.076,838,5.176,866,7.314,882,8.857,925,4.428,928,9.099,971,8.547,973,7.195,1068,12.037,1110,5.248,2145,8.292,2146,8.114,2499,11.444,2500,11.287,2502,16.017,2503,17.298,2504,17.298,2505,17.298,2506,14.041,2507,17.298,2508,22.039]],["keywords/554",[]],["title/555",[2509,1473.221]],["content/555",[16,8.326,67,9.742,204,5.839,246,8.238,390,4.878,467,2.077,545,3.264,624,4.87,823,8.816,824,5.078,832,2.207,838,4.319,847,2.515,898,8.673,973,7.478,1068,9.126,1253,8.851,2145,8.816,2146,8.627,2497,12.535,2499,15.154,2500,14.947,2509,20.094,2510,18.391,2511,18.391,2512,14.928,2513,18.391,2514,18.391]],["keywords/555",[]],["title/556",[2515,1555.113]],["content/556",[16,8.674,191,14.036,204,6.084,246,6.891,390,5.004,467,2.13,486,6.238,824,5.209,832,2.3,838,5.518,847,2.621,898,9.036,973,6.256,1004,9.748,1068,11.659,2145,9.185,2497,13.06,2499,15.543,2500,15.331,2515,21.756,2516,19.161,2517,19.161]],["keywords/556",[]],["title/557",[2518,1555.113]],["content/557",[187,5.997,246,7.439,255,5.121,257,5.022,292,7.438,438,7.785,467,2.465,486,5.107,545,4.108,600,3.92,624,4.154,706,7.98,804,4.558,820,4.699,824,4.586,832,1.883,838,4.858,866,8.747,882,8.032,925,4.016,928,8.251,960,6.469,971,8.022,973,6.754,1068,12.211,1110,4.76,1736,9.976,2145,9.916,2146,7.359,2198,11.859,2498,9.856,2499,10.378,2500,13.498,2506,12.734,2518,14.526,2519,15.687,2520,15.687,2521,15.687,2522,13.761,2523,15.687,2524,20.686,2525,15.687]],["keywords/557",[]],["title/558",[2526,1555.113]],["content/558",[246,7.899,257,5.508,292,8.157,322,8.138,467,2.442,706,8.752,823,10.528,824,4.869,832,2.065,837,9.614,847,2.353,866,7.275,973,7.171,1068,12.006,1157,11.634,1253,8.487,1736,10.941,2145,10.528,2198,12.592,2498,10.81,2499,14.53,2500,14.331,2512,17.828,2526,20.338,2527,17.205,2528,21.964,2529,21.964]],["keywords/558",[]],["title/559",[2530,1555.113]],["content/559",[16,8.987,50,3.677,187,5.637,246,8.071,255,4.965,286,5.203,352,8.174,442,8.778,467,2.431,486,4.801,545,4.447,804,4.945,820,4.417,824,4.401,832,1.77,838,4.662,866,6.236,882,10.165,925,3.776,928,7.757,971,9.31,973,7.838,1068,12.434,1110,4.475,2145,10.757,2498,9.266,2499,14.847,2500,14.643,2506,11.971,2512,11.971,2530,13.656,2531,14.748,2532,14.748,2533,22.442,2534,10.395,2535,14.748,2536,14.748,2537,14.862,2538,14.748,2539,12.4]],["keywords/559",[]],["title/560",[2540,1555.113]],["content/560",[9,1.961,48,5.542,94,13.49,193,2.828,246,7.851,287,5.733,443,6.753,467,2.303,500,7.738,534,5.44,545,3.875,556,3.255,565,7.065,706,11.105,804,4.81,824,3.098,832,1.677,837,10.695,838,3.282,847,1.911,866,5.909,882,9.8,925,3.578,926,7.567,928,7.351,944,3.868,973,6.249,1068,10.833,1253,9.072,1703,9.85,1704,13.49,1705,10.716,2145,9.175,2478,11.006,2497,16.003,2498,8.781,2512,17.719,2534,16.549,2540,12.941,2541,13.975,2542,11.344,2543,13.975,2544,19.14,2545,12.172,2546,10.237,2547,8.491,2548,13.975,2549,13.975,2550,13.975,2551,7.893,2552,13.975,2553,12.259,2554,11.75,2555,9.681]],["keywords/560",[]],["title/561",[2556,1555.113]],["content/561",[16,8.623,133,10.474,191,13.952,204,6.048,246,8.419,390,4.985,467,2.122,486,6.201,545,4.155,824,5.19,832,2.286,847,2.605,898,8.982,973,7.642,1004,9.69,1068,11.617,2145,9.13,2499,12.601,2500,12.428,2556,21.676,2557,19.047,2558,19.047,2559,17.637]],["keywords/561",[]],["title/562",[21,278.126,390,279.233]],["content/562",[]],["keywords/562",[]],["title/563",[2560,1473.221]],["content/563",[246,6.769,292,8.925,390,5.369,467,2.387,534,7.327,706,9.576,804,5.121,824,4.173,832,2.259,847,2.574,866,7.959,973,6.145,2047,16.032,2145,12.085,2146,8.83,2498,11.827,2560,16.512,2561,18.823,2562,18.823,2563,13.788,2564,17.43,2565,18.823,2566,18.823]],["keywords/563",[]],["title/564",[2567,1555.113]],["content/564",[246,6.974,292,9.195,390,5.441,467,2.316,534,7.548,706,9.866,804,5.215,824,4.299,832,2.327,847,2.652,866,8.2,973,6.332,2145,11.345,2146,9.097,2198,11.118,2495,15.742,2498,12.185,2501,17.958,2563,14.206,2567,21.917,2568,19.394]],["keywords/564",[]],["title/565",[2569,1555.113]],["content/565",[29,16.788,246,8.065,292,8.429,390,5.232,467,2.339,500,7.187,534,8.728,706,12.497,731,10.582,804,4.941,824,3.941,832,2.134,847,2.431,866,7.517,973,5.804,985,10.801,1246,11.933,2047,11.305,2145,12.366,2146,8.339,2498,11.17,2563,16.427,2569,16.462,2570,17.778,2571,17.778,2572,17.778,2573,17.778,2574,17.778]],["keywords/565",[]],["title/566",[2575,1555.113]],["content/566",[5,10.221,8,8.814,9,1.895,21,2.865,162,6.334,193,2.733,216,14.333,246,6.723,258,4.396,319,4.384,390,4.928,438,6.701,467,2.512,534,5.256,545,2.397,548,9.598,566,7.205,719,8.007,804,5.538,820,4.045,824,2.994,832,1.621,847,1.847,866,5.71,973,4.409,992,15.492,1061,7.103,1110,4.097,1256,7.884,1373,6.742,1703,15.111,1704,9.518,1766,9.518,1991,9.892,2145,10.277,2146,6.334,2555,9.354,2563,15.705,2575,17.31,2576,10.634,2577,13.504,2578,7.811,2579,9.892,2580,13.504,2581,9.064,2582,12.504,2583,13.504,2584,17.31,2585,21.44,2586,21.44]],["keywords/566",[]],["title/567",[2587,1555.113]],["content/567",[83,6.934,162,7.359,216,12.028,292,7.438,369,11.057,390,5.241,397,11.491,467,2.098,545,4.368,548,8.172,624,4.154,706,7.98,804,4.558,824,3.478,832,1.883,847,2.145,866,6.633,973,5.122,992,13.916,1078,8.915,1256,9.159,1703,14.58,1704,14.58,1705,15.862,1766,11.057,1998,12.354,2145,11.795,2146,9.704,2478,12.354,2498,9.856,2534,16.313,2553,18.146,2554,17.393,2563,11.491,2579,11.491,2582,14.526,2587,14.526,2588,15.687,2589,15.687,2590,15.687,2591,12.028,2592,15.687,2593,15.687,2594,15.687]],["keywords/567",[]],["title/568",[2595,1555.113]],["content/568",[193,3.501,246,7.926,250,12.42,292,8.201,390,5.439,467,2.445,534,8.578,548,6.834,706,8.8,820,5.181,824,4.886,832,2.076,866,7.314,925,4.428,973,7.195,992,14.584,2145,10.564,2146,10.338,2198,12.635,2478,13.622,2498,10.868,2522,15.174,2563,12.671,2579,12.671,2595,16.017,2596,17.298,2597,15.534,2598,17.298,2599,22.039]],["keywords/568",[]],["title/569",[2600,1555.113]],["content/569",[246,9.242,257,6.687,292,7.549,322,5.899,390,4.965,438,10.366,467,2.391,486,5.183,534,9.633,545,3.708,706,8.1,804,4.603,824,3.53,832,1.911,840,5.125,847,2.177,866,6.732,973,8.08,1091,11.662,1196,9.048,1998,12.538,2145,12.643,2146,7.468,2198,13.365,2498,10.003,2563,11.662,2600,14.743,2601,15.921,2602,15.921,2603,10.852,2604,26.375]],["keywords/569",[]],["title/570",[30,317.855,603,510.322]],["content/570",[1,6.186,9,2.128,30,4.904,36,6.28,38,7.115,41,6.047,48,6.014,122,3.39,133,8.34,157,6.833,251,6.156,281,11.63,362,3.205,363,3.394,390,3.23,429,4.508,464,7.903,467,1.375,505,6.332,523,9.881,524,6.041,556,3.532,603,8.859,612,8.619,624,4.016,671,10.034,719,6.496,729,9.119,732,8.407,746,6.934,766,6.969,808,10.621,836,7.246,1007,8.619,1149,9.419,1512,8.546,2072,17.008,2605,15.167,2606,13.305,2607,15.167,2608,15.167,2609,14.044,2610,8.411]],["keywords/570",[]],["title/571",[587,639.701]],["content/571",[]],["keywords/571",[]],["title/572",[1,184.182,38,370.96,194,308.943,320,606.374,475,204.273]],["content/572",[1,5.533,9,2.738,38,9.153,41,4.535,50,4.865,73,10.646,144,6.03,230,11.168,251,7.919,285,8.146,320,14.961,324,13.516,475,6.136,489,8.431,757,13.516,836,7.563,838,4.582,1742,17.785,2173,16.405,2321,13.752,2611,14.607]],["keywords/572",[]],["title/573",[9,97.993,59,231.161,587,266.035,976,264.17,2612,550.019]],["content/573",[9,2.789,15,7.44,59,5.256,96,10.454,374,11.199,443,7.012,482,12.911,486,6.47,556,4.629,587,9.151,766,9.133,838,4.668,952,16.133,976,9.087,2612,15.652,2613,19.875,2614,18.404,2615,19.875,2616,16.133]],["keywords/573",[]],["title/574",[59,218.881,2612,846.801,2617,721.77]],["content/574",[1,4.658,9,2.806,29,14.972,59,5.471,139,9.284,193,4.047,262,10.748,274,6.42,475,6.229,1501,16.234,1612,15.735,1742,14.972,2321,14.096,2612,18.99,2617,16.186,2618,16.234]],["keywords/574",[]],["title/575",[15,296.016,482,425.021,556,184.182,2397,523.178,2619,539.01]],["content/575",[1,5.551,9,3.019,15,6.239,25,9.472,59,3.393,76,10.875,90,5.79,136,9.555,140,4.583,187,8.226,221,6.93,257,5.336,268,10.351,329,5.411,362,3.522,417,5.702,467,1.511,475,4.305,482,13.537,554,5.807,556,5.866,623,7.946,719,7.139,757,11.546,812,5.651,838,3.914,1110,5.057,1215,4.404,1262,11.747,1575,14.014,1644,4.929,2002,7.659,2390,11.36,2397,15.768,2619,16.245,2620,16.667,2621,14.621,2622,16.667,2623,12.478,2624,13.126]],["keywords/575",[]],["title/576",[2397,867.387,2625,924.103]],["content/576",[9,2.414,15,6.44,90,5.976,149,10.501,171,6.332,453,8.113,467,2.311,545,3.054,562,12.469,587,6.553,824,3.814,838,4.041,960,7.095,1260,15.092,2145,8.247,2382,20.342,2397,17.422,2545,13.967,2625,15.48,2626,19.267,2627,15.092,2628,17.205,2629,13.549,2630,13.549,2631,13.549,2632,17.205,2633,15.931,2634,13.965,2635,16.76,2636,15.48]],["keywords/576",[]],["title/577",[390,229.009,545,190.861,838,252.539]],["content/577",[1,3.313,9,1.996,15,7.251,140,4.126,148,7.761,171,7.129,274,4.566,323,5.662,362,3.005,390,5.438,467,1.997,525,9.597,545,4.392,618,9.16,653,9.281,677,8.022,728,5.598,746,6.503,777,15.232,812,4.822,838,5.812,842,4.566,878,14.37,887,9.925,894,12.413,944,3.937,976,5.38,1261,11.616,1360,11.545,1612,9.281,1687,10.646,2397,14.574,2581,9.547,2611,10.648,2612,11.201,2629,11.201,2637,7.702,2638,14.224,2639,12.477,2640,9.693,2641,14.224,2642,14.224]],["keywords/577",[]],["title/578",[500,319.695,545,140.367,624,209.42,838,185.728,2643,790.825]],["content/578",[9,3.383,50,4.986,90,6.947,136,11.466,140,4.259,467,1.813,545,4.28,838,6.08,1352,12.282,1385,8.455,2002,11.08,2637,10.829,2644,19.999,2645,19.999,2646,19.999,2647,19.999,2648,19.999]],["keywords/578",[]],["title/579",[2649,1412.056]],["content/579",[9,3.054,357,8.148,467,2.299,587,8.291,2397,14.4,2649,18.302,2650,21.767,2651,21.767,2652,18.302]],["keywords/579",[]],["title/580",[2653,1412.056]],["content/580",[6,7.04,26,9.191,50,6.204,59,4.646,68,7.197,70,14.021,146,7.363,187,6.99,202,7.603,204,5.806,285,7.635,475,4.723,486,7.431,501,14.018,505,7.635,554,6.371,556,4.259,587,6.965,976,6.916,1207,11.628,1227,7.867,1487,11.489,2653,19.191,2654,16.932,2655,16.932,2656,14.4,2657,10.778,2658,16.041,2659,18.286,2660,22.825]],["keywords/580",[]],["title/581",[59,266.883,77,788.314]],["content/581",[1,5.772,9,2.005,19,5.644,50,4.845,59,4.823,68,7.647,73,10.602,86,8.191,90,4.963,148,7.795,193,2.891,319,4.638,357,7.273,417,4.888,438,7.09,455,7.09,457,11.597,464,10.399,467,1.762,475,6.121,505,8.113,556,3.327,587,8.411,716,7.048,808,11.057,1016,10.696,1050,11.251,1099,8.873,1146,7.222,1207,9.085,1208,5.965,1385,5.009,2311,7.515,2547,8.68,2637,7.736,2653,12.012,2661,21.942,2662,13.229,2663,13.229,2664,13.229,2665,14.287,2666,14.287,2667,14.287,2668,14.287,2669,14.287,2670,14.287,2671,10.07,2672,14.287,2673,14.287,2674,9.738,2675,9.949,2676,13.229,2677,14.287,2678,14.287,2679,14.287]],["keywords/581",[]],["title/582",[362,192.565,475,235.414,501,559.715,812,308.997]],["content/582",[1,5.579,9,3.548,15,6.304,50,4.199,59,5.674,108,6.415,193,3.408,221,7.003,283,7.819,357,8.11,362,4.578,467,1.964,475,6.532,525,9.289,600,5.414,613,4.981,634,9.261,757,11.668,812,7.346,1110,7.268,2002,9.956,2637,9.12,2680,16.843,2681,15.596,2682,11.871,2683,15.596,2684,16.843]],["keywords/582",[]],["title/583",[1,212.259,310,299.242,475,235.414,1226,602.932]],["content/583",[1,3.298,9,2.71,50,3.531,56,8.429,59,5.312,90,4.919,133,7.787,140,3.016,213,12.422,221,5.888,285,5.912,310,4.65,362,4.081,390,4.681,397,10.373,464,8.587,467,1.284,475,6.098,523,5.532,542,13.613,556,3.298,587,5.394,600,5.899,648,12.282,812,6.548,898,11.134,1011,7.726,1226,15.619,1227,9.456,1333,11.172,1631,11.906,2002,8.874,2279,7.913,2640,6.231,2661,21.861,2662,13.112,2663,20.352,2664,20.352,2683,13.112,2685,12.422,2686,14.161,2687,14.161,2688,14.161,2689,14.161,2690,14.161,2691,14.161,2692,14.161,2693,14.161,2694,16.942,2695,12.422]],["keywords/583",[]],["title/584",[59,285.368,144,281.659,475,235.414]],["content/584",[1,4.43,9,2.943,30,2.639,58,3.941,59,5.673,73,5.94,90,3.781,138,12.621,140,2.318,144,8.248,174,3.294,188,5.277,202,4.526,215,5.264,257,3.485,264,5.402,279,7.01,310,3.574,329,3.534,336,7.673,357,4.075,359,5.611,404,3.637,417,3.724,421,8.489,447,7.202,453,5.134,464,4.253,467,2.192,475,5.419,482,11.275,486,6.83,505,4.545,533,7.151,563,7.42,587,7.991,600,2.72,605,6.083,625,9.317,710,7.673,838,2.557,848,4.453,849,5.808,897,9.108,957,6.297,1062,6.761,1120,4.35,1144,7.541,1215,4.234,1253,4.206,1294,4.928,2481,6.241,2497,10.923,2612,12.621,2616,8.836,2617,10.757,2637,5.895,2696,10.886,2697,10.08,2698,10.886,2699,9.55,2700,10.886,2701,7.307,2702,8.15,2703,10.886,2704,10.886,2705,16.026,2706,10.886,2707,10.886,2708,10.886,2709,7.307,2710,7.974,2711,10.886,2712,19.02,2713,10.886,2714,10.886,2715,16.026,2716,10.886,2717,10.886,2718,10.886,2719,16.026,2720,10.886,2721,10.886,2722,10.886,2723,10.886]],["keywords/584",[]],["title/585",[482,902.598]],["content/585",[15,8.434,374,12.697,390,4.799,587,8.583,2724,20.865]],["keywords/585",[]],["title/586",[1386,971.506]],["content/586",[1,5.595,9,2.789,41,5.584,141,5.528,362,4.199,363,2.778,467,2.432,482,10.682,486,6.47,617,11.95,812,6.739,1487,15.094,2725,19.875,2726,19.875,2727,24.024,2728,19.875,2729,13.547]],["keywords/586",[]],["title/587",[592,859.896]],["content/587",[1,5.352,9,2.875,15,5.787,30,4.967,41,3.593,59,3.147,68,6.085,144,4.778,188,7.494,215,4.279,275,8.943,335,15.709,355,5.889,362,3.267,390,3.293,432,11.574,442,9.202,449,8.569,464,6.04,467,2.308,482,13.149,486,5.033,556,3.601,570,10.377,587,5.889,592,13.664,600,3.863,609,8.132,657,10.377,731,9.202,944,5.671,958,12.195,1379,10.228,1385,5.42,1386,8.943,1622,7.766,2652,17.226,2656,12.175,2699,13.562,2730,15.46,2731,15.46,2732,15.46,2733,15.46,2734,15.46,2735,10.537,2736,17.972,2737,11.854,2738,10.377]],["keywords/587",[]],["title/588",[21,278.126,944,362.907]],["content/588",[]],["keywords/588",[]],["title/589",[2739,1555.113]],["content/589",[322,7.142,467,2.31,551,18.093,807,3.195,824,4.274,832,2.313,847,2.636,883,8.257,926,12.769,944,5.336,951,10.6,1368,15.181,2397,15.601,2739,21.836,2740,9.509,2741,16.208,2742,23.582,2743,18.57,2744,19.277]],["keywords/589",[]],["title/590",[2745,1555.113]],["content/590",[149,9.126,259,7.584,274,5.162,324,11.14,329,5.221,390,4.478,443,5.674,467,1.458,486,5.235,506,9.389,545,2.854,562,8.288,706,11.918,716,7.933,719,6.888,824,5.194,832,1.93,847,2.199,944,6.877,1036,7.625,1100,10.226,1163,8.774,1624,8.643,2397,10.639,2545,13.371,2547,9.77,2625,14.82,2635,16.229,2740,7.933,2745,19.47,2746,14.107,2747,14.107,2748,16.081,2749,9.389,2750,14.891,2751,14.107,2752,14.891,2753,14.891,2754,16.081,2755,16.081,2756,16.081,2757,21.026,2758,16.081,2759,16.081,2760,16.081,2761,16.081,2762,16.081]],["keywords/590",[]],["title/591",[2763,1555.113]],["content/591",[5,10.406,8,7.291,25,7.942,83,8.461,90,4.854,193,2.828,246,7.851,467,2.464,500,5.65,548,8.624,551,13.046,719,8.198,766,6.422,804,5.174,807,2.316,816,8.491,820,4.186,824,4.243,832,1.677,847,1.911,872,8.491,897,7.942,944,6.499,973,4.563,992,8.403,1216,8.583,1631,11.75,2176,9.85,2284,11.344,2576,11.006,2603,16.763,2640,6.149,2740,12.132,2763,17.723,2764,17.191,2765,13.975,2766,13.975,2767,14.329,2768,13.975,2769,10.716,2770,12.941,2771,11.006,2772,13.975,2773,19.14,2774,13.975,2775,13.975,2776,13.975,2777,6.699,2778,19.14,2779,11.75,2780,12.941,2781,12.259]],["keywords/591",[]],["title/592",[2782,1555.113]],["content/592",[171,8.311,259,8.478,274,5.771,390,3.829,467,1.63,486,5.853,506,10.496,545,4.383,706,11.489,824,5.007,832,2.158,847,2.459,944,6.251,1624,9.662,1899,18.933,2545,14.361,2554,15.116,2740,8.868,2746,15.77,2753,16.647,2782,20.912,2783,17.978,2784,16.647,2785,17.978,2786,17.978,2787,20.912,2788,16.647,2789,17.978,2790,17.978,2791,17.978]],["keywords/592",[]],["title/593",[2792,1555.113]],["content/593",[5,9.416,286,6.969,364,9.923,467,2.427,600,4.936,787,10.695,807,3.274,832,2.371,847,2.701,885,5.812,886,8.424,900,7.954,944,6.625,1365,12.561,2176,16.869,2740,9.744,2792,18.29,2793,19.753,2794,19.753,2795,19.753]],["keywords/593",[]],["title/594",[2796,1555.113]],["content/594",[5,11.06,8,8.837,246,7.463,258,5.132,260,7.356,322,5.841,438,10.299,467,2.496,548,9.166,566,8.411,600,5.186,719,6.752,804,5.433,807,2.613,816,9.578,824,4.601,832,1.892,847,2.156,944,4.363,973,7.574,992,12.478,1631,13.255,2551,6.501,2555,10.921,2576,12.415,2603,14.145,2640,6.936,2740,10.237,2767,15.537,2770,14.598,2771,12.415,2796,19.217,2797,15.765,2798,15.765,2799,9.682,2800,23.201]],["keywords/594",[]],["title/595",[2801,1555.113]],["content/595",[9,2.642,26,4.31,78,10.439,83,6.997,148,5.84,246,5.692,255,2.368,285,4.469,287,6.651,443,3.777,454,6.371,467,2.387,534,4.166,545,3.941,556,4.386,600,5.809,605,5.981,611,7.082,688,5.377,719,4.585,807,1.774,820,4.741,824,2.373,832,1.285,847,1.464,926,10.198,928,5.63,944,5.76,971,4.151,973,3.495,976,8.793,983,9.553,992,6.436,1083,8.689,1157,5.67,1163,5.84,1226,10.471,1253,4.136,1344,5.554,1358,6.807,1366,4.507,1385,3.753,1489,7.415,1707,14.656,1861,16.521,1895,5.344,1991,7.841,2042,8.689,2070,6.325,2145,5.131,2499,7.082,2542,15.287,2545,6.807,2546,7.841,2547,6.503,2631,8.43,2640,4.71,2740,7.808,2784,14.656,2801,9.912,2802,10.704,2803,10.704,2804,9,2805,20.562,2806,16.521,2807,10.704,2808,7.686,2809,15.828,2810,10.704,2811,10.704,2812,10.704,2813,10.704,2814,8.689,2815,8.43,2816,9.39,2817,10.704,2818,10.704,2819,9.39,2820,10.704,2821,10.704,2822,10.704,2823,7.415,2824,10.704,2825,10.704,2826,10.704,2827,10.704,2828,10.704,2829,10.704,2830,10.704,2831,10.704,2832,10.704,2833,10.704,2834,10.704,2835,15.828,2836,10.704,2837,10.704,2838,10.704,2839,10.704]],["keywords/595",[]],["title/596",[2840,1555.113]],["content/596",[5,10.191,8,8.143,246,7.688,257,5.281,322,6.112,438,11.769,467,2.518,548,9.369,719,7.065,804,5.528,807,2.734,816,10.022,824,3.657,832,1.98,847,2.256,866,9.039,909,9.723,944,4.566,947,7.396,973,5.385,992,9.918,1352,10.131,2551,6.803,2555,11.427,2576,12.99,2603,11.243,2740,8.137,2767,17.755,2799,10.131,2840,19.795,2841,16.496,2842,15.275,2843,23.716]],["keywords/596",[]],["title/597",[2844,1555.113]],["content/597",[141,5.394,454,11.543,467,2.146,478,9.003,676,14.206,787,10.501,832,2.327,847,2.652,885,5.706,886,8.271,892,7.576,900,7.809,944,6.551,1157,10.273,2635,13.435,2740,9.567,2844,21.917,2845,17.719,2846,20.762,2847,19.394,2848,19.394,2849,15.272,2850,19.394]],["keywords/597",[]],["title/598",[2851,1555.113]],["content/598",[141,5.361,454,11.474,467,2.31,478,8.948,676,14.12,787,10.438,832,2.313,847,2.636,885,5.672,886,8.221,892,9.212,900,7.762,944,6.527,1157,10.211,2635,13.354,2740,9.509,2845,17.654,2849,15.181,2851,21.836,2852,19.277,2853,19.277,2854,19.277,2855,19.277]],["keywords/598",[]],["title/599",[2856,1555.113]],["content/599",[141,5.361,454,11.474,467,2.31,478,8.948,676,14.12,787,10.438,832,2.313,847,2.636,885,5.672,886,8.221,892,9.212,900,7.762,944,6.527,1157,10.211,2635,13.354,2740,9.509,2846,20.686,2849,15.181,2856,21.836,2857,19.277,2858,19.277,2859,19.277,2860,19.277]],["keywords/599",[]],["title/600",[2861,1555.113]],["content/600",[141,5.235,187,7.195,404,6.289,467,2.286,486,6.128,551,12.83,624,4.985,787,10.192,832,2.259,847,2.574,885,5.538,886,8.028,892,9.079,900,7.58,944,6.432,1368,18.301,2635,13.04,2740,9.285,2845,18.873,2849,14.823,2861,21.519,2862,18.823,2863,18.823,2864,18.823,2865,18.823]],["keywords/600",[]],["title/601",[2866,1555.113]],["content/601",[141,5.361,171,7.094,454,11.474,467,2.31,478,8.948,777,12.414,787,10.438,832,2.313,847,2.636,885,5.672,886,8.221,892,7.531,900,9.496,944,6.527,1157,10.211,2397,12.753,2635,13.354,2740,9.509,2866,21.836,2867,16.208,2868,19.277,2869,19.277,2870,19.277,2871,19.277]],["keywords/601",[]],["title/602",[2872,1555.113]],["content/602",[141,5.028,187,6.911,404,8.27,467,2.353,486,5.886,551,12.323,624,4.788,787,9.789,832,2.17,847,2.473,885,5.319,886,7.71,892,8.854,900,9.126,944,6.273,2409,12.524,2635,12.524,2740,8.918,2845,16.966,2849,14.237,2872,20.986,2873,20.986,2874,18.079,2875,15.201,2876,18.079,2877,18.079,2878,16.741,2879,18.079,2880,18.079]],["keywords/602",[]],["title/603",[2881,1555.113]],["content/603",[141,5.235,187,7.195,404,6.289,467,2.286,486,6.128,624,4.985,787,10.192,832,2.259,847,2.574,885,5.538,886,8.028,892,9.079,900,7.58,944,6.432,2635,13.04,2740,9.285,2741,19.539,2845,18.873,2849,14.823,2878,17.43,2881,21.519,2882,18.823,2883,18.823,2884,18.823,2885,18.823]],["keywords/603",[]],["title/604",[2886,1555.113]],["content/604",[148,9.387,171,8.904,287,6.578,443,6.07,467,2.442,706,8.752,728,6.771,807,2.851,824,3.814,829,10.685,832,2.065,847,2.353,883,7.369,944,6.697,951,9.46,1122,10.453,1261,7.827,2070,6.875,2146,11.956,2500,11.226,2537,12.88,2740,8.487,2746,15.092,2886,15.931,2887,17.205,2888,17.205,2889,15.931,2890,7.468,2891,17.205,2892,17.205,2893,14.466,2894,17.205,2895,15.092,2896,15.931,2897,17.205,2898,17.205]],["keywords/604",[]],["title/605",[2899,1555.113]],["content/605",[467,1.836,551,16.561,807,3.356,824,4.49,832,2.431,847,2.77,926,13.156,944,6.725,951,11.136,1368,19.134,2740,9.99,2743,15.949,2845,15.161,2899,22.499,2900,20.252,2901,20.252]],["keywords/605",[]],["title/606",[2902,1555.113]],["content/606",[9,2.566,171,9.59,287,5.477,404,6.109,467,2.363,551,15.557,746,8.36,807,3.783,824,4.054,832,2.194,842,5.87,847,2.501,925,4.681,944,5.061,951,10.055,2198,10.483,2339,16.388,2740,9.02,2867,19.191,2902,16.932,2903,18.286,2904,14.843,2905,18.286,2906,18.286,2907,14.4,2908,18.286,2909,18.286,2910,18.286]],["keywords/606",[]],["title/607",[2911,1555.113]],["content/607",[90,5.73,171,7.867,188,7.996,322,6.112,467,2.275,486,5.37,520,7.697,534,6.421,611,10.913,807,4.158,824,4.739,832,1.98,847,2.256,866,6.975,883,10.746,944,7.194,1157,8.738,1269,8.738,1573,8.042,1895,8.236,1991,15.659,2145,10.247,2400,11.072,2499,14.142,2603,11.243,2740,11.699,2911,15.275,2912,16.496,2913,21.961,2914,16.496,2915,16.496,2916,16.496,2917,14.47,2918,16.496,2919,16.496]],["keywords/607",[]],["title/608",[2920,1555.113]],["content/608",[8,7.005,23,6.932,171,6.768,188,8.915,467,2.368,551,17.004,618,11.843,737,10.034,807,3.796,824,5.078,832,2.207,847,2.515,883,7.877,897,13.018,944,7.228,951,10.113,960,7.584,2198,10.543,2743,18.039,2920,17.029,2921,18.391,2922,17.029,2923,18.391,2924,18.391,2925,18.391]],["keywords/608",[]],["title/609",[2926,1555.113]],["content/609",[8,7.005,23,6.932,171,6.768,188,8.915,467,2.368,551,17.798,618,11.843,737,10.034,807,3.796,824,5.078,832,2.207,847,2.515,883,7.877,897,13.018,944,7.228,951,10.113,960,7.584,2198,10.543,2743,14.483,2922,17.029,2926,17.029,2927,18.391,2928,18.391,2929,18.391,2930,18.391]],["keywords/609",[]],["title/610",[2931,1555.113]],["content/610",[16,10.304,83,6.704,246,8.185,257,4.855,287,6.059,346,10.162,467,2.502,478,7.041,548,7.991,600,3.79,807,3.772,820,4.543,824,3.362,832,1.82,847,2.074,925,3.883,944,4.198,951,8.34,1163,12.419,1898,9.897,2579,14.818,2603,15.513,2740,7.482,2764,17.924,2767,15.144,2788,21.076,2893,21.267,2931,18.731,2932,15.167,2933,22.761,2934,15.167,2935,15.167,2936,15.167,2937,15.167,2938,20.229,2939,15.167,2940,15.167,2941,15.167]],["keywords/610",[]],["title/611",[2942,1555.113]],["content/611",[5,10.294,8,8.225,246,6.025,467,2.525,548,9.439,566,8.939,804,5.755,807,2.777,824,4.787,832,2.011,847,2.291,909,9.875,973,7.05,992,14.366,2551,6.91,2555,14.958,2576,13.194,2597,15.219,2603,11.42,2740,8.265,2767,16.165,2842,15.514,2942,19.995,2943,16.755,2944,15.514,2945,16.755,2946,15.514,2947,23.893]],["keywords/611",[]],["title/612",[2948,1555.113]],["content/612",[5,10.123,8,8.089,246,5.872,257,5.227,438,10.538,467,2.535,548,9.323,566,8.711,804,5.709,807,2.706,824,4.708,832,1.959,847,2.233,866,6.904,909,9.624,973,5.33,992,14.189,2551,6.733,2555,14.71,2576,12.858,2597,14.967,2603,11.128,2740,8.054,2767,15.897,2944,15.119,2946,15.119,2948,19.663,2949,16.327,2950,16.327,2951,16.327,2952,23.6,2953,16.327]],["keywords/612",[]],["title/613",[2954,1555.113]],["content/613",[467,2.498,534,7.327,807,4.363,832,2.259,847,2.574,883,9.954,944,5.21,2145,9.023,2146,8.83,2400,12.635,2499,12.453,2537,14.092,2597,13.267,2603,12.83,2740,9.285,2913,21.519,2917,16.512,2954,17.43,2955,18.823,2956,18.823,2957,18.823,2958,18.823,2959,18.823]],["keywords/613",[]],["title/614",[2960,1555.113]],["content/614",[83,7.406,467,2.525,548,6.619,728,6.594,804,5.561,807,2.777,832,2.011,847,2.291,909,9.875,924,5.22,944,5.977,973,7.05,1703,16.841,1856,14.697,1898,10.932,2400,16.94,2537,12.543,2767,16.165,2895,18.942,2960,19.995,2961,19.995,2962,16.755,2963,16.755,2964,16.755,2965,14.697,2966,16.755,2967,21.593,2968,15.514,2969,16.755,2970,16.755,2971,16.755]],["keywords/614",[]],["title/615",[2972,1555.113]],["content/615",[9,2.566,171,9.59,287,5.477,404,6.109,467,2.363,746,8.36,807,3.783,824,4.054,832,2.194,842,5.87,847,2.501,925,4.681,944,5.061,951,10.055,2198,10.483,2740,9.02,2867,19.191,2904,14.843,2907,14.4,2972,16.932,2973,18.286,2974,19.191,2975,18.286,2976,18.286,2977,18.286,2978,22.825,2979,18.286,2980,18.286]],["keywords/615",[]],["title/616",[2981,1555.113]],["content/616",[9,1.651,83,5.201,105,8.293,108,4.482,171,4.33,286,4.151,390,3.612,404,3.931,443,4.151,454,7.004,467,2.474,478,7.873,548,4.648,600,4.969,609,6.189,728,7.827,777,14.015,804,5.083,807,1.95,824,4.825,832,1.412,847,1.609,866,4.975,883,5.04,924,3.666,944,6.652,973,5.537,1116,9.022,1157,12.22,1261,5.353,1262,11.954,1703,11.954,1856,20.237,1898,7.678,2198,6.746,2339,8.448,2397,7.784,2400,17.018,2497,8.02,2499,13.156,2500,11.067,2537,12.697,2545,7.483,2579,8.619,2603,11.56,2635,8.151,2740,9.81,2767,12.697,2895,17.444,2896,10.895,2961,18.414,2968,15.705,2974,9.893,2981,15.705,2982,11.767,2983,16.96,2984,11.767,2985,9.022,2986,11.767,2987,16.96,2988,11.767,2989,11.767,2990,11.767,2991,11.767,2992,16.96,2993,11.767]],["keywords/616",[]],["title/617",[2994,1555.113]],["content/617",[5,7.705,274,5.189,287,4.841,390,4.493,467,2.341,568,8.623,812,8.756,820,4.841,824,4.677,832,1.94,847,2.21,883,6.923,885,4.755,892,6.314,900,6.508,924,5.035,944,5.839,1077,11.947,1122,9.82,1274,11.016,1703,11.392,1704,11.392,1843,13.589,2016,10.849,2070,6.458,2146,9.895,2400,10.849,2499,10.692,2500,13.765,2630,12.728,2631,12.728,2640,7.111,2740,10.406,2890,7.015,2994,14.966,2995,16.163,2996,16.163,2997,16.163,2998,16.163,2999,13.589,3000,16.163,3001,16.163,3002,16.163,3003,16.163,3004,16.163]],["keywords/617",[]],["title/618",[3005,1555.113]],["content/618",[8,6.965,141,5.085,286,6.451,467,2.543,600,4.569,787,9.901,807,3.031,832,2.194,847,2.501,885,5.38,886,9.734,892,8.917,897,12.971,900,10.02,944,6.318,1365,11.628,2740,9.02,3005,16.932,3006,18.286,3007,18.286,3008,18.286,3009,18.286,3010,22.825,3011,18.286]],["keywords/618",[]],["title/619",[3012,1555.113]],["content/619",[171,7.052,467,2.402,807,3.894,824,4.248,832,2.3,847,2.621,925,4.905,944,5.304,951,10.536,2198,10.985,2336,18.015,2339,16.869,2740,9.452,2867,19.754,2904,15.554,2907,15.09,2974,19.754,3012,17.743,3013,19.161,3014,19.161,3015,19.161,3016,19.161]],["keywords/619",[]],["title/620",[3017,1555.113]],["content/620",[8,7.343,404,6.44,467,1.748,551,16.073,807,3.195,824,4.274,832,2.313,847,2.636,926,13.796,944,6.527,951,10.6,1368,15.181,2409,13.354,2740,9.509,2741,16.208,2743,15.181,2845,17.654,2873,17.85,3017,21.836,3018,19.277,3019,19.277,3020,15.647,3021,19.277]],["keywords/620",[]],["title/621",[3022,1555.113]],["content/621",[467,1.836,551,16.561,807,3.356,824,4.49,832,2.431,847,2.77,926,13.156,944,6.725,951,11.136,2740,9.99,2741,20.429,2743,15.949,2845,15.161,3022,22.499,3023,20.252,3024,20.252]],["keywords/621",[]],["title/622",[41,304.723,59,266.883]],["content/622",[1,2.57,9,2.271,14,5.495,30,4.648,38,5.177,41,6.158,50,2.752,59,5.571,63,6.144,68,6.371,79,6.962,90,6.659,96,8.515,122,2.467,140,3.448,149,9.166,157,4.972,243,5.931,248,4.769,273,6.091,285,6.759,324,7.645,355,4.204,393,9.542,417,3.776,464,6.324,467,2.304,482,5.931,540,3.943,554,3.845,556,5.237,558,8.219,584,7.018,587,4.204,624,2.923,642,6.569,644,6.569,705,8.462,909,6.505,957,6.384,968,6.384,972,13.14,1198,5.412,1214,7.986,1294,9.56,1306,9.681,1529,7.408,1644,3.264,1766,7.779,2242,9.279,3025,11.036,3026,16.188,3027,6.705,3028,10.219,3029,16.188,3030,16.188,3031,11.036,3032,11.036,3033,11.036,3034,16.188,3035,11.036,3036,8.462,3037,11.036,3038,11.036,3039,12.683,3040,9.681,3041,14.201,3042,11.036,3043,11.036,3044,11.036,3045,11.036,3046,11.036,3047,11.036,3048,11.036]],["keywords/622",[]],["title/623",[1333,971.506]],["content/623",[]],["keywords/623",[]],["title/624",[892,656.088]],["content/624",[885,6.773,892,8.993]],["keywords/624",[]],["title/625",[804,370.063]],["content/625",[804,5.77]],["keywords/625",[]],["title/626",[900,676.277]],["content/626",[885,6.773,900,9.269]],["keywords/626",[]],["title/627",[2219,1322.558]],["content/627",[205,7.307,467,2.563,545,3.381,548,10.012,832,2.286,847,2.605,849,10.162,971,7.387,2028,15.955,2219,18.435,3049,19.047,3050,19.047,3051,19.433,3052,19.047,3053,19.047,3054,19.047,3055,23.409]],["keywords/627",[]],["title/628",[]],["content/628",[467,2.54,545,3.912,632,8.434,706,8.8,824,3.835,832,2.076,847,2.366,885,5.09,892,10.706,900,11.171,971,8.547,973,7.919,1246,11.611,3056,17.298,3057,14.544,3058,24.256,3059,24.256,3060,22.039]],["keywords/628",[]],["title/629",[]],["content/629",[467,2.49,545,4.095,632,9.071,706,9.465,824,4.124,832,2.233,847,2.544,885,5.474,892,9.797,900,11.214,971,7.215,973,7.532,1246,12.488,3057,15.643,3061,18.605,3062,26.955]],["keywords/629",[]],["title/630",[885,494.141]],["content/630",[21,3.394,23,6.031,423,5.717,467,2.615,545,3.72,824,3.547,832,1.92,847,2.188,885,7.771,892,10.665,900,10.837,925,4.096,982,4.286,1018,5.194,3057,13.453,3063,16.001,3064,16.001,3065,16.001,3066,16.001,3067,16.001,3068,16.001,3069,14.816,3070,16.001,3071,16.001,3072,16.001,3073,16.001,3074,16.001,3075,16.001]],["keywords/630",[]],["title/631",[3076,1555.113]],["content/631",[19,8.718,804,4.863,832,2.648,847,3.018,1055,16.92,3076,20.434,3077,22.42]],["keywords/631",[]],["title/632",[3078,1555.113]],["content/632",[9,2.551,140,3.872,467,1.648,478,8.44,488,12.204,548,7.183,608,14.318,609,9.564,807,3.013,808,8.484,812,6.164,832,2.182,840,7.99,847,2.487,896,19.951,971,7.051,1431,11.025,1573,8.865,1584,12.028,1641,11.709,1727,12.393,1954,9.433,2279,10.16,2391,9.023,2522,15.949,2630,14.318,3078,21.06,3079,22.744,3080,18.182,3081,16.836,3082,18.182,3083,14.759,3084,18.182]],["keywords/632",[]],["title/633",[3085,1555.113]],["content/633",[467,2.162,548,7.755,732,10.881,749,14.38,804,5.254,824,5.286,832,2.356,840,6.32,847,2.685,958,11.685,1429,17.221,1431,11.559,1573,9.571,1727,13.38,2630,18.778,3083,15.935,3085,18.178,3086,19.631,3087,19.631,3088,19.631,3089,18.178]],["keywords/633",[]],["title/634",[3090,1555.113]],["content/634",[149,7.937,467,2.543,545,3.246,548,7.224,562,9.424,600,4.569,677,7.572,807,3.031,824,5.06,832,2.194,847,2.501,866,7.732,944,6.318,971,7.091,1122,11.11,1158,10.578,2625,16.087,2635,12.667,2747,16.041,2749,10.676,3090,21.135,3091,22.825,3092,18.286,3093,18.286,3094,18.286,3095,18.286]],["keywords/634",[]],["title/635",[1954,871.352]],["content/635",[6,7.652,133,10.929,251,8.066,274,6.38,423,7.102,463,14.879,467,1.802,524,4.945,545,3.528,608,15.652,807,3.294,832,2.385,847,2.718,976,7.517,1149,12.343,1238,9.69,1581,7.491,1584,13.149,1641,12.799,1954,12.464,2391,9.863,3096,19.875,3097,8.666]],["keywords/635",[]],["title/636",[837,938.454]],["content/636",[21,2.716,83,5.659,91,5.853,246,9.602,274,5.782,287,5.394,423,4.574,443,7.351,467,2.49,534,8.8,540,6.435,600,4.5,624,4.769,706,6.512,728,7.088,823,6.136,832,1.536,837,12.634,847,1.751,944,3.543,973,8.813,982,3.429,1018,4.156,1068,11.219,1253,8.051,1270,10.764,1610,7.924,1861,15.798,2145,11.846,2146,6.005,2512,14.619,2542,10.391,2545,8.141,2546,9.377,2547,7.778,2551,7.427,2640,5.633,3098,12.802,3099,12.802,3100,12.802,3101,12.802,3102,20.835,3103,10.72,3104,12.802,3105,12.802,3106,18.01,3107,18.01,3108,14.619]],["keywords/636",[]],["title/637",[434,775.619]],["content/637",[187,7.459,390,5.059,434,9.011,467,1.769,545,4.217,556,4.544,692,6.538,824,4.326,832,2.342,847,2.668,924,6.079,982,6.861,983,8.394,1011,10.646,1373,9.742,2145,9.353,3109,23.757,3110,18.067,3111,19.512,3112,18.067,3113,19.512,3114,19.512]],["keywords/637",[]],["title/638",[1265,1095.832]],["content/638",[21,5.115,48,5.244,50,3.297,90,4.594,91,6.046,133,7.272,140,3.924,176,9.161,257,4.234,287,3.961,297,5.987,354,7.108,383,7.721,390,2.817,398,5.147,443,4.666,454,7.872,463,9.9,467,2.369,534,5.147,540,4.725,545,4.771,554,6.42,574,10.735,611,8.749,624,4.879,658,9.014,706,6.728,726,7.582,739,6.524,807,2.192,832,1.587,887,5.958,957,7.65,992,7.951,1265,14.963,1512,7.452,2145,6.339,2163,6.046,2365,5.689,2559,12.246,3115,13.225,3116,22.328,3117,12.246,3118,22.328,3119,17.06,3120,18.615,3121,19.634,3122,13.225,3123,19.634,3124,12.246,3125,12.246,3126,8.629,3127,12.246,3128,12.246,3129,13.225,3130,12.246,3131,16.162,3132,13.225,3133,12.246,3134,12.246,3135,13.225]],["keywords/638",[]],["title/639",[3120,1363.216]],["content/639",[8,8.035,27,6.337,202,6.72,246,7.586,390,4.493,443,7.443,467,2.257,486,5.262,545,4.419,548,6.385,600,4.039,706,10.732,719,6.923,820,4.841,823,7.747,824,4.677,832,1.94,847,2.21,971,8.181,973,7.667,992,14.968,1110,4.904,1246,10.849,1253,6.245,2146,7.582,2499,15.536,2500,16.243,2545,13.415,2749,9.436,2890,7.015,3120,13.119,3136,16.163,3137,14.178,3138,16.163,3139,16.163,3140,16.163,3141,16.163]],["keywords/639",[]],["title/640",[3142,1679.439]],["content/640",[9,2.934,21,5.787,286,7.379,340,8.732,467,1.896,540,7.473,545,3.712,632,10.197,832,2.51,847,2.86,1366,8.805,2163,9.562,3143,20.914]],["keywords/640",[]],["title/641",[866,710.095]],["content/641",[236,4.473,257,6.525,467,2.211,832,2.446,847,2.787,866,11.437,892,9.528,973,7.963,3144,20.381,3145,17.879,3146,20.381,3147,20.381,3148,20.381,3149,20.381]],["keywords/641",[]],["title/642",[983,722.499]],["content/642",[9,2.672,255,4.214,287,5.705,467,2.505,540,6.806,613,5.633,832,2.286,847,2.605,925,4.876,983,10.071,1266,10.867,3150,19.047,3151,19.047,3152,19.047,3153,16.709,3154,19.047,3155,19.047,3156,19.047,3157,19.047,3158,16.709,3159,19.047,3160,16.709,3161,19.047,3162,19.047]],["keywords/642",[]],["title/643",[1473,818.808]],["content/643",[246,7.766,259,7.901,285,6.995,404,5.597,443,5.911,467,2.425,534,8.405,545,2.974,613,4.955,700,9.522,706,8.523,804,5.561,824,3.714,832,2.011,847,2.953,892,9.334,900,10.163,971,6.498,973,7.801,1004,8.523,1187,12.03,1246,11.246,1366,7.054,1473,8.169,2145,10.351,2146,7.859,2198,9.605,2363,13.194,2551,8.905,3163,15.514,3164,16.755,3165,16.755,3166,16.755,3167,16.755]],["keywords/643",[]],["title/644",[2028,1144.672]],["content/644",[21,3.128,83,8.776,257,6.355,274,6.373,287,5.946,423,5.27,467,2.571,536,19.686,545,2.618,548,7.843,562,11.566,688,7.409,807,2.444,824,3.269,832,1.77,847,2.017,885,4.339,925,3.776,944,5.495,982,3.951,1018,4.788,1373,7.363,1766,10.395,2028,18.713,2145,12.011,2640,8.735,3168,14.748,3169,14.748,3170,14.748,3171,22.23,3172,14.748,3173,14.748,3174,14.748,3175,14.748,3176,14.748,3177,14.748,3178,14.748,3179,14.748,3180,14.748]],["keywords/644",[]],["title/645",[3181,1555.113]],["content/645",[117,8.568,187,6.438,255,3.726,257,6.936,467,2.372,545,3.846,556,5.579,807,2.791,824,4.803,832,2.021,883,7.214,925,4.312,969,13.497,982,6.416,983,7.246,984,7.901,1011,9.19,1224,13.264,1704,11.871,1986,8.26,2145,10.386,2497,11.48,2584,20.062,3112,20.062,3181,20.062,3182,23.953,3183,23.953,3184,15.596,3185,16.843,3186,16.843,3187,16.843,3188,16.843]],["keywords/645",[]],["title/646",[3189,1555.113]],["content/646",[141,5.632,467,1.836,556,6.062,632,9.874,787,10.966,807,3.356,832,2.431,847,2.77,885,5.959,886,8.637,982,6.509,983,8.713,984,9.5,1011,11.05,2145,9.708,3184,18.753,3189,18.753,3190,20.252]],["keywords/646",[]],["title/647",[702,923.472]],["content/647",[83,8.224,122,4.158,187,7.112,467,2.377,545,4.451,548,7.35,702,14.822,807,3.083,824,5.115,832,2.233,847,2.544,866,7.866,2145,12.021,2506,15.102,2749,10.862,3191,18.605,3192,23.072,3193,18.605,3194,18.605,3195,17.227,3196,18.605,3197,18.605]],["keywords/647",[]],["title/648",[548,663.464]],["content/648",[9,1.492,21,2.256,172,7.635,193,2.152,257,6.64,258,3.462,274,6.022,287,6.212,364,5.342,423,3.799,467,2.539,478,4.936,534,4.139,545,2.796,548,9.736,556,2.476,600,3.936,658,7.247,688,7.912,705,8.153,807,1.762,820,3.185,824,2.357,832,1.276,847,1.454,876,10.164,885,4.634,887,7.096,892,4.154,897,8.951,900,6.342,925,4.032,926,5.757,944,5.741,971,8.993,973,6.771,982,2.848,1018,3.452,1612,6.938,1700,8.94,1719,12.785,1766,7.494,2028,10.735,2145,11.504,2640,8.254,2749,14.012,3051,8.153,3198,10.633,3199,10.633,3200,10.633,3201,10.633,3202,13.243,3203,10.633,3204,10.633,3205,10.633,3206,15.75,3207,15.75,3208,10.633,3209,9.328,3210,9.328,3211,10.633,3212,10.633,3213,10.633,3214,10.633,3215,20.741,3216,18.76,3217,8.94,3218,10.633,3219,10.633,3220,10.633,3221,10.633,3222,10.633,3223,9.846,3224,10.633,3225,10.633,3226,10.633,3227,10.633,3228,10.633]],["keywords/648",[]],["title/649",[3229,1679.439]],["content/649",[21,5.336,286,7.577,340,8.966,467,1.947,545,3.812,832,2.577,847,2.937,885,6.319,1366,9.042,2306,18.838,3230,21.475]],["keywords/649",[]],["title/650",[1272,728.947]],["content/650",[467,2.327,1013,17.776,1272,9.645,2625,15.661,3231,22.22]],["keywords/650",[]],["title/651",[959,1363.216]],["content/651",[15,6.767,83,7.992,117,9.197,246,6.502,257,7.255,287,6.788,467,2.537,548,7.142,824,4.008,832,2.17,847,2.473,959,21.067,971,9.6,973,7.399,2146,8.481,2372,15.859,2478,14.237,2545,14.412,3051,13.863,3232,18.079,3233,18.079,3234,18.079,3235,18.079,3236,18.079]],["keywords/651",[]],["title/652",[390,357.673]],["content/652",[15,6.618,16,10.116,21,3.75,246,6.358,257,5.66,287,5.295,332,8.937,390,5.776,423,6.317,467,2.459,486,5.756,534,6.881,706,8.994,824,4.954,832,2.122,847,2.418,925,4.526,973,5.772,982,4.736,1004,8.994,1018,5.74,1157,9.365,1246,11.867,2145,8.475,2146,8.293,2545,11.243,3237,17.68,3238,17.68,3239,17.68,3240,17.68,3241,17.68,3242,17.68]],["keywords/652",[]],["title/653",[828,514.922]],["content/653",[246,8.972,259,8.673,274,5.904,443,6.488,467,2.368,534,7.158,613,5.439,706,9.356,824,4.077,832,2.207,847,2.515,973,6.004,1004,9.356,1187,13.205,1246,12.344,2145,10.98,2146,8.627,2551,9.447,2555,15.868,2779,19.26,3163,17.029,3217,15.463,3243,18.391,3244,18.391,3245,23.102,3246,18.391]],["keywords/653",[]],["title/654",[3247,1473.221]],["content/654",[15,6.143,257,5.254,259,7.739,443,5.79,467,2.411,556,3.822,600,4.101,613,4.853,706,8.349,820,4.915,824,4.723,832,1.97,838,5.004,898,7.739,925,4.201,973,6.956,1110,4.979,1157,8.693,1898,10.708,2145,7.867,2146,11.098,2500,10.708,2537,17.711,2539,17.914,2545,15.045,2551,6.768,2555,11.369,2694,14.396,3247,14.396,3248,16.411,3249,16.411,3250,21.306,3251,17.914,3252,12.021,3253,16.411,3254,17.914,3255,21.306,3256,14.396,3257,15.196]],["keywords/654",[]],["title/655",[3258,1473.221]],["content/655",[15,6.581,257,5.629,467,2.455,706,8.945,824,4.937,832,2.11,838,4.129,898,8.292,925,4.501,973,7.979,1157,9.314,2145,8.428,2146,10.446,2500,11.473,2537,16.671,2539,20.55,2545,15.542,2551,7.251,2555,12.18,2694,15.424,3251,14.783,3254,14.783,3256,15.424,3258,15.424,3259,17.583,3260,13.482,3261,17.583,3262,17.583,3263,22.269,3264,15.424]],["keywords/655",[]],["title/656",[3265,1555.113]],["content/656",[140,3.625,149,10.449,324,11.792,443,6.005,467,2.302,545,3.021,548,6.725,562,11.243,624,4.508,719,7.291,807,2.821,824,4.836,832,2.043,847,2.328,866,7.197,944,6.038,1163,9.287,2397,14.431,2547,10.342,2625,16.967,2635,16.676,2740,10.761,2747,14.932,2749,9.938,2750,15.762,3265,20.199,3266,17.022,3267,17.022,3268,15.762,3269,12.469,3270,17.022,3271,17.022,3272,17.022,3273,17.022,3274,17.022,3275,17.022]],["keywords/656",[]],["title/657",[3276,1230.196]],["content/657",[9,2.934,332,10.572,404,6.987,467,2.246,613,6.185,832,2.51,847,2.86,1344,10.851,2363,16.47,2542,16.976,2657,12.327,3276,18.142,3277,19.366,3278,20.914]],["keywords/657",[]],["title/658",[1690,1322.558]],["content/658",[804,5,832,2.723,847,3.103,3279,22.693]],["keywords/658",[]],["title/659",[3280,1679.439]],["content/659",[174,6.499,423,7.673,467,1.947,524,5.343,807,3.559,832,2.577,847,2.937,1271,16.912,1581,8.094,3097,9.363,3281,21.475,3282,18.838]],["keywords/659",[]],["title/660",[1581,633.001]],["content/660",[524,5.528,545,3.944,804,4.896,832,2.667,847,3.039,1581,8.375,3283,22.22]],["keywords/660",[]],["title/661",[3284,1679.439]],["content/661",[174,6.499,423,7.673,467,1.947,524,5.343,807,4.169,832,2.577,847,2.937,1271,16.912,1581,8.094,3097,9.363,3285,21.475]],["keywords/661",[]],["title/662",[216,1287.729]],["content/662",[8,6.46,21,2.496,148,6.42,162,5.519,216,18.992,246,7.152,250,12.177,287,6.518,345,3.515,423,4.204,467,2.377,478,5.462,534,8.471,545,3.01,548,7.856,554,4.1,569,15.724,600,2.94,611,11.22,624,4.491,728,4.631,824,5.114,832,1.412,840,3.788,842,3.777,847,1.609,866,4.975,925,3.012,969,9.557,971,4.563,973,6.492,982,3.152,1018,3.82,1036,5.579,1269,6.233,2070,4.702,2545,7.483,2551,8.201,2555,13.776,2579,8.619,2749,14.031,2779,16.72,2890,5.107,3051,15.248,3202,9.893,3217,16.72,3245,18.414,3254,16.72,3286,11.767,3287,11.767,3288,11.767,3289,11.767,3290,11.767,3291,16.96,3292,11.767,3293,23.476,3294,23.07,3295,10.895,3296,11.767,3297,16.96,3298,16.96]],["keywords/662",[]],["title/663",[1266,779.609]],["content/663",[9,1.789,21,5.492,48,5.056,50,3.179,90,4.429,140,4.807,174,3.859,175,6.853,176,8.833,193,2.58,202,5.302,246,4.585,255,3.973,256,8.32,257,4.082,283,5.919,287,5.379,297,5.772,322,4.724,354,9.652,383,7.444,398,6.99,443,4.499,463,9.545,467,2.299,540,4.556,545,3.69,548,5.037,554,6.258,556,5.256,600,3.186,613,5.311,785,10.721,807,2.113,832,1.53,847,1.744,882,6.529,887,5.744,983,10.235,1068,6.328,1110,3.869,1266,11.044,1358,8.108,1512,7.185,2163,5.83,2255,6.078,2365,5.485,2674,8.691,3126,8.32,3153,11.185,3158,15.754,3160,19.798,3299,12.751,3300,20.898,3301,16.63,3302,11.807,3303,15.1,3304,16.63,3305,10.35,3306,11.807,3307,12.751,3308,11.807,3309,12.751,3310,11.807,3311,11.807,3312,11.807,3313,11.807,3314,11.807,3315,9.155]],["keywords/663",[]],["title/664",[3282,1473.221]],["content/664",[171,8.521,274,6.007,287,5.605,467,2.494,807,3.101,832,2.246,847,2.559,883,8.015,944,6.409,973,6.109,976,7.078,2629,14.737,2893,15.734,3282,16.416,3316,18.713,3317,18.713,3318,18.713,3319,18.713,3320,18.713,3321,17.328,3322,17.328,3323,18.713,3324,18.713,3325,18.713,3326,18.713,3327,18.713,3328,18.713]],["keywords/664",[]],["title/665",[1823,1287.729]],["content/665",[16,7.747,221,9.101,246,6.154,390,3.645,467,2.384,486,5.571,534,6.661,706,8.706,824,3.794,832,2.054,847,2.34,898,8.07,971,6.636,973,7.146,1004,8.706,1246,11.487,1823,18.505,2145,8.203,2146,8.027,2499,11.321,2500,14.282,2545,13.919,2551,7.057,2553,15.012,2554,18.404,3103,13.028,3329,17.113,3330,17.113,3331,17.113,3332,17.113,3333,17.113,3334,24.134,3335,17.113,3336,17.113,3337,17.113,3338,17.113]],["keywords/665",[]],["title/666",[1362,1205.838]],["content/666",[16,5.842,255,2.855,259,6.086,274,4.143,287,3.865,390,2.748,467,2.451,486,4.201,534,7.05,556,4.218,600,3.225,613,5.356,624,3.417,706,6.565,820,5.425,824,4.015,832,1.549,838,4.915,847,1.765,885,3.797,892,5.041,898,8.541,900,5.197,907,8.42,925,3.304,973,8.479,1004,6.565,1007,7.334,1110,5.495,1362,18.647,1823,16.045,2145,8.682,2146,6.053,2391,6.404,2412,7.925,2500,11.818,2537,16.985,2539,19.077,2545,11.518,2551,9.357,2555,15.717,2777,6.186,2985,9.895,3254,19.077,3256,15.888,3257,16.771,3264,15.888,3339,12.905,3340,11.32,3341,18.112,3342,18.112,3343,18.112]],["keywords/666",[]],["title/667",[3344,1555.113]],["content/667",[467,2.057,1013,15.72,3344,21.013,3345,22.693]],["keywords/667",[]],["title/668",[807,278.332]],["content/668",[21,3.879,171,6.729,187,6.99,208,9.244,274,5.87,287,5.477,390,3.894,423,6.534,467,2.363,807,3.783,832,2.194,847,2.501,944,7.213,973,5.97,976,6.916,982,4.898,1018,5.936,1706,15.375,2145,11.928,2146,8.578,2629,14.4,2893,15.375,3321,16.932,3322,16.932,3346,18.286,3347,18.286,3348,18.286,3349,18.286,3350,18.286]],["keywords/668",[]],["title/669",[981,1043.002]],["content/669",[21,4.649,423,7.831,832,2.63,847,2.997,981,13.611,982,5.871,2542,17.79,3351,21.916,3352,21.916]],["keywords/669",[]],["title/670",[1269,889.614]],["content/670",[21,3.993,246,6.769,287,5.638,423,6.726,467,2.452,486,6.128,534,7.327,706,9.576,824,5.152,832,2.259,847,2.574,925,4.819,973,6.145,982,5.042,1018,6.111,1157,9.971,1246,12.635,1269,14.592,2145,9.023,2146,8.83,3353,18.823,3354,17.43,3355,18.823]],["keywords/670",[]],["title/671",[21,356.256]],["content/671",[21,5.608,423,6.806,467,2.505,807,3.157,824,4.223,832,2.286,847,2.605,944,5.272,982,5.102,1018,6.183,1700,19.682,1706,16.015,2091,11.829,3110,17.637,3354,17.637,3356,19.047,3357,16.015,3358,19.047,3359,19.047,3360,19.047,3361,19.047,3362,19.047]],["keywords/671",[]],["title/672",[21,356.256]],["content/672",[21,4.525,467,2.489,706,10.852,823,10.225,1187,15.316,1246,14.319,1986,10.461,2103,16.799,3145,18.713,3363,21.332]],["keywords/672",[]],["title/673",[3364,1287.729]],["content/673",[16,7.172,155,8.853,193,3.206,202,8.657,246,7.488,267,11.166,274,5.086,287,4.745,322,7.714,390,4.434,443,8.205,467,2.24,486,6.778,534,6.166,706,10.592,824,3.512,832,1.901,847,2.167,928,8.333,949,6.099,971,8.074,973,6.798,1004,8.059,1059,10.634,1246,10.634,1269,11.029,1703,11.166,1704,11.166,1705,12.148,2070,6.33,2146,11.587,2545,15.709,2551,6.533,2630,16.396,3264,13.897,3364,18.941,3365,15.843,3366,15.843,3367,20.821,3368,15.843]],["keywords/673",[]],["title/674",[41,304.723,363,183.285]],["content/674",[]],["keywords/674",[]],["title/675",[362,192.565,812,308.997,3369,843.913,3370,911.381]],["content/675",[1,6.091,9,2.471,21,4.344,22,7.384,41,6.435,48,4.919,59,3.585,61,5.979,90,4.309,140,2.642,157,7.935,204,3.939,215,3.434,250,8.907,283,5.758,287,3.715,299,8.207,306,7.704,310,4.073,316,5.729,328,5.483,329,4.027,362,5.168,363,3.419,374,6.99,423,4.432,429,3.687,457,10.069,464,4.846,467,1.597,489,5.36,520,5.788,533,7.859,545,2.202,556,4.102,568,9.397,600,4.401,609,6.525,653,8.094,789,5.054,812,7.559,820,3.715,860,6.48,967,7.618,1358,7.888,1366,5.223,1563,7.618,1564,8.094,1572,7.794,1612,11.493,1910,9.769,2020,5.616,2146,5.819,2339,8.907,2547,7.537,2634,14.297,2808,8.907,2819,15.451,3371,12.902,3372,20.48,3373,11.487,3374,11.487,3375,8.593,3376,17.613,3377,12.405,3378,8.593,3379,12.405,3380,12.405,3381,11.487]],["keywords/675",[]],["title/676",[319,545.204]],["content/676",[1,5.151,2,9.417,9,3.103,15,6.51,41,5.948,50,4.336,68,6.845,140,3.704,174,7.359,304,14.117,319,7.179,362,3.675,363,3.693,467,1.577,482,9.347,506,10.154,554,6.06,587,6.625,600,4.346,624,4.606,714,13.696,812,5.897,944,4.814,1120,8.837,1386,10.061,1487,13.895,1613,7.191,2091,10.801,3382,16.104,3383,16.104,3384,14.623]],["keywords/676",[]],["title/677",[14,296.65,41,304.723]],["content/677",[]],["keywords/677",[]],["title/678",[14,206.205,36,377.388,41,211.817,96,479.38]],["content/678",[1,5.373,9,2.61,14,5.22,41,6.094,96,9.786,140,3.962,149,8.075,189,11.981,193,3.765,301,9.719,323,7.406,489,8.039,540,6.648,568,9.926,667,13,693,10.862,1817,9.855,2674,12.681,3385,15.102,3386,23.072,3387,13.733,3388,14.651,3389,18.605,3390,15.643,3391,16.566,3392,12.681]],["keywords/678",[]],["title/679",[14,178.929,41,183.798,59,160.975,79,287.196,949,304.47]],["content/679",[9,3.05,14,5.733,15,8.138,41,5.053,59,5.158,79,7.895,140,3.606,187,8.31,193,4.859,218,12.139,221,7.04,262,9.1,287,7.589,310,5.559,357,6.338,558,8.462,600,6.331,794,9.98,949,9.245,1215,4.474,1364,12.157,2481,9.707,3393,16.932,3394,16.932,3395,14.382,3396,16.932,3397,11.365]],["keywords/679",[]],["title/680",[59,160.975,63,300.165,79,287.196,355,301.226,3398,693.72]],["content/680",[1,2.845,9,3.284,14,5.296,19,4.826,30,6.208,41,2.839,59,5.623,63,9.507,79,8.04,85,5.425,86,7.003,122,2.73,140,3.71,174,6.145,205,4.686,218,10.265,257,3.911,258,3.977,281,9.366,285,7.274,287,3.659,319,5.656,345,3.649,355,4.653,400,9.915,421,6.471,423,4.365,464,4.772,469,7.422,476,11.368,486,7.208,500,4.938,554,7.075,555,8.326,600,4.353,613,6.005,614,7.866,623,5.823,625,5.425,653,7.971,713,5.302,757,8.462,785,10.271,836,3.889,849,6.517,857,7.866,909,7.2,928,6.425,949,6.707,1018,3.966,1158,7.066,2016,8.199,2339,8.771,2671,8.61,2676,11.311,2777,5.855,3384,14.648,3395,8.081,3399,10.271,3400,12.216,3401,10.716,3402,12.216,3403,12.216,3404,12.216,3405,12.216,3406,12.216,3407,11.311,3408,12.216,3409,12.216]],["keywords/680",[]],["title/681",[14,234.657,122,139.772,500,252.812,524,155.587,624,165.607,949,240.772]],["content/681",[9,1.996,14,6.276,19,7.653,41,5.751,59,4.815,122,6.026,140,4.126,162,9.087,187,5.437,285,5.939,287,4.26,357,5.324,363,1.988,390,3.029,404,4.752,423,5.082,500,7.831,524,4.82,558,5.536,600,6.38,624,3.767,713,6.174,743,5.418,794,8.384,949,5.476,968,8.228,1294,6.439,1477,9.547,1557,7.589,3039,9.41,3410,14.224,3411,14.224,3412,14.224,3413,22.03,3414,16.983,3415,14.19,3416,19.372,3417,14.224,3418,14.224,3419,16.892,3420,13.171,3421,14.224,3422,14.224]],["keywords/681",[]],["title/682",[122,176.749,322,293,345,236.256,489,341.723,789,322.228]],["content/682",[1,5.492,14,6.006,41,5.481,122,5.27,329,6.258,345,5.759,390,5.022,417,6.595,489,10.19,520,11.004,700,10.955,716,9.509,898,9.091,1238,9.398,1501,15.647,1557,10.285,1573,9.398,2016,12.939,3423,19.277,3424,19.277]],["keywords/682",[]],["title/683",[581,540.64]],["content/683",[1,4.259,14,6.188,41,6.233,122,5.824,174,5.534,205,9.546,287,5.477,319,5.936,363,2.556,390,3.894,500,7.392,581,8.389,600,4.569,857,11.776,898,8.623,1120,7.307,1557,9.756,1613,5.407,3384,15.375,3425,16.932,3426,18.286]],["keywords/683",[]],["title/684",[122,240.33,382,496.61,554,374.667]],["content/684",[1,4.808,14,4.671,41,5.712,48,8.186,122,4.614,220,9.951,345,6.167,382,11.351,398,8.035,554,7.193,3027,12.542,3427,22.758,3428,19.116,3429,14.823,3430,19.116]],["keywords/684",[]],["title/685",[270,475.483,344,399.762,404,264.198,700,449.423,3431,502.9]],["content/685",[1,5.872,9,2.641,14,5.258,15,7.046,34,8.649,41,5.401,50,4.693,58,6.814,189,12.122,193,4.703,194,7.354,270,15.158,329,6.111,398,7.327,489,8.134,653,12.282,815,11.318,840,6.06,947,8.439,2175,12.282,2394,11.204,3432,18.823,3433,16.512,3434,18.823,3435,18.823,3436,18.823]],["keywords/685",[]],["title/686",[59,185.514,270,547.967,326,439.31,524,226.741]],["content/686",[13,8.17,14,4.732,41,4.861,59,5.041,270,12.575,404,6.987,423,7.473,464,9.676,524,6.162,600,5.226,624,5.538,2394,12.448,3269,15.32]],["keywords/686",[]],["title/687",[344,848.956]],["content/687",[14,4.553,27,7.891,36,8.333,41,4.677,58,8.762,79,7.309,149,8.735,205,7.72,208,10.173,329,7.858,417,6.885,554,7.012,568,10.737,613,7.158,694,15.431,820,6.028,1470,10.442,2610,8.368,3437,15.849]],["keywords/687",[]],["title/688",[344,543.566,944,297.634,1110,326.257]],["content/688",[9,2.861,14,5.805,30,2.984,41,6.068,58,6.341,59,2.506,108,4.689,122,3.915,140,2.622,193,2.491,204,3.908,208,6.222,215,5.645,228,10.35,236,4.876,248,5.319,254,9.992,270,10.532,274,3.952,325,9.992,329,3.996,344,8.855,362,3.701,363,2.449,398,4.791,417,4.211,429,3.659,450,6.878,453,5.805,455,6.109,467,1.116,489,5.319,513,8.969,524,5.074,570,8.262,600,4.377,609,6.475,615,8.143,693,7.187,716,6.072,719,5.272,743,4.689,746,5.628,808,8.174,824,2.729,840,3.963,848,7.166,909,10.325,944,3.407,1055,13.431,1110,3.735,1133,7.255,1215,4.628,1279,14.391,1294,7.93,1512,6.936,2411,9.215,3414,8.838,3415,16.274,3419,9.438,3438,7.828,3439,9.438,3440,8.527,3441,17.889,3442,16.22,3443,12.309,3444,12.309,3445,17.517,3446,11.398,3447,11.398,3448,6.878,3449,10.35]],["keywords/688",[]],["title/689",[828,401.996,857,844.328]],["content/689",[1,5.887,9,2.657,40,10.412,107,15.92,142,16.61,148,10.331,180,15.92,193,3.832,285,7.906,417,6.478,455,9.396,533,8.449,669,14.175,828,7.75,857,16.989,1294,8.572,1641,12.193,1827,14.518,2610,7.873,3450,16.61,3451,16.61,3452,15.37,3453,18.935,3454,18.935,3455,18.935]],["keywords/689",[]],["title/690",[475,433.806]],["content/690",[1,3.288,14,2.081,26,5.685,30,2.23,31,3.373,41,3.993,57,6.001,83,4.066,122,4.308,144,4.363,151,13.073,157,4.143,215,3.908,222,4.872,259,6.658,273,2.653,285,3.84,297,4.164,309,6.174,319,2.986,329,2.986,357,3.443,360,13.788,361,8.517,362,3.63,363,3.068,413,4.74,447,6.085,466,6.622,467,2.55,471,4.269,475,6.091,489,6.101,516,4.143,524,3.512,565,7.137,582,9.951,619,8.068,624,2.436,640,6.269,669,6.885,729,5.53,789,3.748,847,1.931,860,4.804,882,4.709,968,5.32,982,3.782,988,4.98,1016,6.885,1061,4.838,1120,3.675,1208,3.84,1256,5.37,1584,6.085,1625,10.569,1677,9.753,2253,6.269,2904,7.466,3456,9.197,3457,4.772,3458,7.733,3459,7.733,3460,5.139,3461,9.197,3462,14.118,3463,9.197,3464,14.118,3465,14.118,3466,14.118,3467,14.118,3468,11.46,3469,14.118,3470,14.118,3471,11.87,3472,25.796,3473,9.197,3474,14.118,3475,9.197,3476,9.197,3477,9.197,3478,9.197,3479,13.073,3480,13.073,3481,13.073,3482,9.197,3483,9.197,3484,9.197,3485,9.197,3486,9.197,3487,9.197,3488,22.85,3489,9.197,3490,9.197,3491,9.197,3492,9.197,3493,9.197,3494,8.517,3495,9.197,3496,9.197,3497,9.197,3498,9.197,3499,9.197,3500,9.197,3501,6.737,3502,5.712,3503,14.118,3504,9.197,3505,9.197]],["keywords/690",[]],["title/691",[1099,814.264,2675,671.315]],["content/691",[]],["keywords/691",[]],["title/692",[30,220.945,477,444.343,519,631.344,1099,566.006]],["content/692",[1,5.95,9,2.721,30,4.702,136,11.118,264,9.624,343,6.091,362,4.098,417,6.635,429,7.035,434,11.798,519,17.696,820,5.809,1099,14.699,1196,11.021,1197,13.669,3506,12.913,3507,19.394,3508,14.519]],["keywords/692",[]],["title/693",[3509,1150.133,3510,941.389]],["content/693",[1,5.402,5,1.409,6,3.523,9,2.863,12,2.213,14,4.617,15,2.016,16,2.439,18,1.379,19,2.932,21,1.574,22,1.759,23,4.009,25,3.062,26,2.169,28,1.796,30,4.152,31,2.722,32,2.778,34,2.475,38,1.387,40,1.625,41,4.895,46,4.964,47,1.929,50,2.974,51,1.513,52,3.308,55,2.015,57,1.929,58,1.07,59,4.458,63,2.817,68,5.535,73,2.939,78,1.638,79,3.323,86,1.695,90,1.027,91,2.463,96,1.555,106,1.577,108,3.486,115,3.797,122,4.194,136,3.088,139,1.372,140,2.265,143,2.399,144,2.294,146,4.283,148,4.05,157,2.427,174,3.953,183,2.266,187,3.498,189,1.903,193,2.643,197,2.854,204,2.357,205,3.51,212,2.399,215,1.491,220,1.425,221,1.229,229,1.476,230,5.695,235,4.315,236,3.889,239,4.663,241,2.737,243,1.589,251,1.2,254,2.399,255,0.654,258,0.962,259,2.54,262,3.989,263,1.534,264,1.467,269,1.142,273,2.639,286,1.043,287,1.614,293,3.732,297,2.439,301,1.544,310,1.769,316,1.365,319,3.453,322,1.996,323,2.954,326,3.578,329,0.96,332,1.494,340,1.234,355,1.126,358,3.102,359,1.523,360,3.385,362,2.52,363,3.545,364,2.706,374,1.665,379,4.182,382,8.185,383,1.726,404,0.987,413,3.825,418,3.619,423,3.27,429,0.879,434,1.365,452,3.672,454,3.206,455,1.467,464,5.494,475,5.781,482,1.589,486,4.252,489,2.328,495,2.266,500,2.178,504,6.764,505,4.441,516,1.332,520,2.514,521,3.989,524,3.92,533,1.319,540,4.262,545,0.956,554,4.9,555,2.015,556,2.131,558,1.15,568,2.874,581,1.734,584,1.88,587,5.357,592,8.066,597,6.462,600,2.658,607,2.737,610,2.083,613,1.593,614,1.903,620,2.052,623,2.568,624,1.427,625,1.313,632,1.441,633,2.399,635,2.593,640,2.015,641,1.726,642,1.759,653,1.929,677,2.231,681,2.048,688,2.706,692,0.99,699,3.498,714,2.328,719,2.307,728,1.163,729,3.239,732,1.638,733,2.399,737,1.613,739,1.458,743,3.486,746,1.351,764,1.25,766,3.41,789,1.204,794,1.742,797,1.984,798,2.266,800,1.351,808,1.379,810,2.015,812,1.826,816,1.796,820,0.885,824,0.655,828,1.652,836,3.798,840,1.734,842,1.729,843,2.165,847,0.404,848,1.209,872,3.273,886,2.297,887,3.344,889,0.79,893,2.213,907,1.929,921,1.409,929,4.375,944,1.491,949,4.095,952,2.399,982,4.588,988,1.6,1007,1.68,1018,0.96,1039,1.836,1048,1.172,1062,1.836,1099,5.683,1103,1.458,1120,5.619,1141,1.387,1142,1.836,1153,4.033,1158,1.71,1192,2.015,1208,3.099,1213,3.385,1215,3.451,1216,1.815,1223,2.213,1225,3.308,1263,1.88,1281,4.843,1294,1.338,1329,3.01,1358,1.88,1364,2.122,1366,2.268,1386,1.71,1437,1.854,1475,4.785,1480,2.03,1558,3.385,1563,1.815,1573,2.627,1581,1.114,1585,1.244,1613,1.593,1619,1.836,1641,1.903,1644,3.146,1677,2.527,1727,2.015,1838,3.138,1849,1.955,1913,1.88,1916,1.695,1940,2.328,1994,2.328,1995,2.593,2037,1.277,2145,3.558,2163,1.351,2174,2.048,2216,3.672,2222,3.946,2241,2.399,2248,1.68,2293,3.868,2311,1.555,2578,1.71,2581,1.984,2625,2.083,2640,1.301,2654,2.737,2671,2.083,2675,1.513,2699,2.593,2769,2.266,3027,1.796,3103,7.1,3252,2.165,3387,1.759,3391,2.122,3448,3.01,3460,4.147,3501,2.165,3502,1.836,3506,3.752,3509,2.593,3510,2.122,3511,2.956,3512,2.737,3513,2.165,3514,2.399,3515,2.737,3516,2.083,3517,1.984,3518,5.387,3519,5.387,3520,5.556,3521,2.593,3522,2.956,3523,2.956,3524,2.328,3525,2.266,3526,1.417,3527,2.956,3528,2.956,3529,2.956,3530,2.485,3531,2.956,3532,2.737,3533,2.956,3534,2.956,3535,2.956,3536,2.485,3537,2.956,3538,7.428,3539,2.956,3540,6.873,3541,2.737,3542,2.956,3543,0.999,3544,2.956,3545,2.956,3546,2.956,3547,2.048,3548,2.956,3549,2.956,3550,4.529,3551,2.956,3552,2.956,3553,1.984,3554,2.593,3555,2.083,3556,1.458,3557,2.956,3558,2.737,3559,2.737,3560,2.737,3561,2.213,3562,2.737,3563,2.956,3564,2.593,3565,2.956,3566,2.956,3567,2.956,3568,2.048,3569,2.956,3570,2.956,3571,2.956,3572,2.956,3573,2.956,3574,2.956,3575,2.956,3576,2.956,3577,2.956,3578,3.946,3579,2.956,3580,2.956,3581,2.956,3582,2.956,3583,2.737,3584,2.956,3585,2.956,3586,2.956,3587,2.956,3588,2.328,3589,2.956,3590,2.956,3591,2.956,3592,2.737,3593,2.956,3594,2.956,3595,2.956,3596,2.956,3597,2.956,3598,2.956,3599,2.266,3600,2.956,3601,5.387,3602,2.956,3603,2.956,3604,2.956]],["keywords/693",[]],["title/694",[838,307.922,857,844.328]],["content/694",[]],["keywords/694",[]],["title/695",[36,445.266,122,240.33,382,496.61]],["content/695",[1,5.276,9,2.82,14,5.995,41,6.158,48,5.958,50,3.746,61,9.69,122,5.922,140,3.2,174,6.083,220,7.242,248,6.492,269,5.806,273,4.333,287,4.5,299,9.94,316,6.939,322,5.567,329,4.878,345,4.489,363,2.1,364,7.548,382,11.645,441,11.52,489,9.789,524,3.738,600,5.023,741,9.804,743,5.723,840,4.837,1120,6.004,1294,6.802,1557,8.016,2070,6.004,2327,12.633,3027,9.128,3202,12.633,3427,13.912,3429,10.788,3430,13.912,3605,15.025,3606,15.025,3607,15.025,3608,13.912,3609,11.832,3610,13.912]],["keywords/695",[]],["title/696",[1,184.182,68,311.247,326,381.199,449,438.323,677,327.468]],["content/696",[1,4.308,15,8.605,26,7.448,36,7.659,41,4.299,48,9.116,68,7.28,122,4.134,149,8.029,152,14.567,189,11.912,204,5.873,253,12.416,264,9.179,299,12.237,326,11.081,341,16.226,342,14.183,449,12.742,453,8.723,592,9.471,628,16.226,677,7.659,2769,17.627,3381,17.128,3588,14.567,3611,18.497,3612,18.497,3613,18.497,3614,18.497,3615,18.497]],["keywords/696",[]],["title/697",[319,545.204]],["content/697",[1,5.035,205,8.294,319,7.019,443,7.628,490,11.707,828,6.629,857,16.264,3509,18.965,3526,10.363,3616,16.578]],["keywords/697",[]],["title/698",[363,183.285,1613,387.726]],["content/698",[]],["keywords/698",[]],["title/699",[41,162.326,146,281.247,273,201.441,287,209.191,363,97.636,1613,206.541]],["content/699",[9,2.896,14,4.671,30,5.005,41,6.099,122,4.614,273,5.954,287,6.183,345,6.167,363,3.436,600,5.159,848,8.445,1263,13.128,1563,12.678,1564,13.47,1613,6.105]],["keywords/699",[]],["title/700",[363,183.285,1487,823.767]],["content/700",[1,4.629,9,3.371,15,7.44,30,5.824,41,4.619,304,16.133,319,6.452,362,4.199,363,3.358,554,6.925,600,4.966,625,8.827,714,15.652,812,6.739,1386,11.497,1487,16.223,1622,9.984,2002,9.133,3382,18.404]],["keywords/700",[]],["title/701",[1,250.436,164,569.598,1737,846.801]],["content/701",[]],["keywords/701",[]],["title/702",[3450,1473.221]],["content/702",[1,3.764,14,6.104,15,7.896,23,9.733,41,3.756,52,9.926,59,4.294,90,5.614,164,11.174,193,3.271,220,10.169,235,9.948,236,4.63,244,13.119,255,3.576,344,12.584,467,1.913,634,11.6,660,14.178,693,12.316,794,12.434,1048,6.409,1201,13.956,1261,7.353,3251,13.589,3450,14.178,3564,14.178,3617,14.966,3618,16.163,3619,14.868,3620,15.289,3621,14.178,3622,14.966]],["keywords/702",[]],["title/703",[1,89.486,91,175.666,108,146.352,148,209.636,164,203.528,236,84.323,277,270.809,669,287.641,1737,302.578,2279,214.702,3623,355.783,3624,323.054,3625,287.641]],["content/703",[1,5.702,41,4.767,91,9.378,164,12.969,274,6.585,277,14.457,404,6.853,2279,11.462,2389,16.65,3384,17.246,3623,18.993,3626,17.993,3627,18.993,3628,13.981,3629,10.179,3630,18.993,3631,18.993]],["keywords/703",[]],["title/704",[108,639.701]],["content/704",[1,5.602,4,7.058,6,3.226,9,1.176,41,4.628,46,6.867,59,4.495,90,2.91,91,3.831,108,3.192,122,2.935,139,6.097,140,1.784,155,9.051,164,12.74,187,3.203,197,4.438,204,4.17,221,10.193,222,8.58,229,6.557,230,9.21,235,3.951,236,1.839,239,10.176,256,11.964,260,3.91,274,2.69,285,3.498,323,7.926,329,4.264,358,5.491,362,4.207,410,6.273,423,8.17,429,6.279,454,10.914,489,3.621,490,4.537,500,3.387,524,5.494,525,6.281,532,6.425,562,6.769,565,4.236,632,8.939,642,4.987,671,8.689,685,7.759,699,5.02,701,6.801,702,12.144,716,4.133,723,6.138,739,4.133,756,4.407,794,9.547,812,4.453,840,2.697,843,6.138,860,4.377,876,3.455,886,3.573,949,7.059,1007,7.464,1017,6.138,1039,10.059,1045,9.644,1048,6.423,1216,8.066,1724,6.016,2137,5.711,2174,5.804,2328,5.264,2624,6.598,2695,7.35,2709,5.624,2737,6.425,2816,16.084,3103,13.993,3524,6.598,3556,10.421,3632,11.042,3633,7.759,3634,8.379,3635,21.171,3636,8.379,3637,4.939,3638,8.379,3639,8.379,3640,8.379,3641,8.379,3642,8.379]],["keywords/704",[]],["title/705",[3624,1412.056]],["content/705",[1,5.641,6,7.155,7,8.811,41,4.961,46,7.022,91,6.122,108,5.101,122,4.771,164,11.306,174,4.052,188,6.491,197,7.093,208,6.769,222,7.093,230,10.561,239,8.413,248,8.031,255,2.963,256,8.737,277,9.438,294,9.276,301,6.995,322,6.886,329,4.347,345,4,358,6.301,362,2.829,363,1.872,417,4.581,424,8.136,429,5.524,523,5.231,524,4.624,584,8.515,627,8.859,716,6.605,743,5.101,789,5.456,812,4.54,840,4.311,886,5.711,949,7.155,1017,15.635,1039,14.319,1045,11.227,1100,8.515,1135,8.737,1624,9.988,1683,5.083,1737,10.545,2223,9.809,2242,11.259,2328,8.413,3390,11.259,3635,21.35,3643,12.399,3644,13.391,3645,13.391,3646,8.051,3647,12.399,3648,13.391,3649,12.399,3650,13.391,3651,13.391]],["keywords/705",[]],["title/706",[202,447.1,898,507.09,3624,904.105]],["content/706",[1,5.133,4,7.03,7,6.201,25,9.174,41,5.582,46,5.904,51,4.268,59,1.697,73,4.548,78,4.62,79,3.027,85,5.809,97,3.668,108,3.175,122,1.863,128,16.162,164,11.165,174,2.522,176,5.774,195,5.439,208,4.213,209,4.913,223,4.697,230,10.233,232,7.718,235,7.612,236,1.829,239,11.487,240,7.312,243,4.48,248,3.602,256,8.535,271,6.24,283,3.869,307,5.514,322,4.846,323,5.206,328,3.685,329,5.935,335,6.391,340,3.48,362,1.761,364,6.571,404,4.37,417,2.852,418,8.914,423,2.978,429,5.434,478,10.232,486,2.714,489,3.602,500,3.37,506,4.866,524,5.244,569,13.539,590,6.24,606,6.766,624,2.207,648,5.301,651,4.658,678,4.088,699,8.057,705,6.391,789,8.589,847,1.789,949,7.648,960,3.437,1045,10.448,1048,5.187,1059,8.779,1078,7.433,1158,4.822,1213,5.237,1470,10.306,1511,6.106,1916,4.779,1986,4.088,1992,5.368,1994,6.564,2016,5.595,2223,6.106,2388,6.106,2412,5.119,2618,6.766,2624,6.564,2737,10.029,2999,10.997,3624,7.008,3643,7.718,3652,6.391,3653,3.668,3654,7.718,3655,10.617,3656,21.133,3657,8.423,3658,13.08,3659,19.864,3660,8.335,3661,8.335,3662,7.718,3663,8.335,3664,6.564,3665,7.008,3666,7.312,3667,7.312,3668,8.335,3669,8.335,3670,13.08,3671,8.335,3672,16.143,3673,8.335,3674,8.335,3675,5.595,3676,13.08,3677,8.335,3678,6.391,3679,8.335,3680,8.335,3681,8.335,3682,8.335,3683,8.335,3684,7.312,3685,8.335,3686,7.718]],["keywords/706",[]],["title/707",[581,540.64]],["content/707",[]],["keywords/707",[]],["title/708",[140,357.673]],["content/708",[9,2.471,14,5.044,41,4.76,48,4.919,63,6.685,68,4.882,90,4.309,97,5.458,122,3.937,139,5.758,140,2.642,141,5.696,144,3.834,149,7.645,162,5.819,258,5.734,357,4.643,363,1.734,393,7.312,404,4.144,453,5.85,464,4.846,467,2.583,505,5.179,506,7.242,542,8.743,554,6.137,556,5.697,568,6.618,581,8.276,667,11.54,693,10.283,810,8.455,1048,8.84,1906,8.326,2294,4.181,2737,9.512,3039,8.207,3277,11.487,3387,7.384,3687,18.964,3688,13.505,3689,14.297,3690,12.405,3691,13.505,3692,14.297,3693,17.613,3694,14.809,3695,12.405,3696,12.405,3697,12.405,3698,20.48,3699,16.624,3700,12.405,3701,8.593,3702,12.405,3703,12.405]],["keywords/708",[]],["title/709",[32,402.5,363,150.319,1015,721.77]],["content/709",[]],["keywords/709",[]],["title/710",[363,183.285,1015,880.059]],["content/710",[9,2.566,14,5.164,15,6.845,23,6.892,32,8.544,46,5.122,85,8.121,146,7.363,174,5.534,230,9.952,363,3.643,380,8.278,417,6.256,623,11.862,632,8.915,699,6.99,719,7.832,764,7.732,830,10.483,838,4.295,982,4.898,1008,10.596,1015,16.703,1194,15.375,1256,10.676,1480,6.892,3704,18.286]],["keywords/710",[]],["title/711",[18,783.665]],["content/711",[9,1.592,14,2.568,21,3.505,32,4.248,46,5.994,58,5.981,87,8.496,90,3.942,140,2.417,146,4.57,174,5,205,4.354,236,2.491,259,5.352,274,5.304,326,7.964,363,2.724,380,5.138,390,3.519,423,4.055,467,2.321,475,2.932,540,4.055,545,2.014,598,7.405,613,6.328,624,3.005,632,8.056,677,9.417,678,8.103,742,6.145,764,4.799,820,3.399,824,5.042,827,14.974,828,5.066,829,13.29,832,1.362,836,3.613,840,3.654,842,3.643,847,2.664,856,6.342,872,6.895,887,5.113,969,6.395,984,5.324,1008,5.268,1014,5.053,1015,14.364,1208,9.495,1215,2.999,1518,9.212,1585,4.778,1587,8.702,1627,8.496,1635,8.938,1636,9.956,1641,7.309,1713,9.956,1725,9.956,3705,11.349,3706,11.349,3707,16.523,3708,19.483,3709,18.04,3710,11.349,3711,11.349,3712,11.349,3713,10.509,3714,11.349,3715,11.349,3716,11.349,3717,11.349,3718,11.349,3719,11.349,3720,10.509,3721,11.349,3722,11.349,3723,11.349,3724,11.349,3725,11.349,3726,11.349,3727,11.349]],["keywords/711",[]],["title/712",[140,279.233,533,585.038]],["content/712",[9,1.157,13,3.223,14,2.935,46,2.311,140,1.757,193,2.625,259,3.89,274,5.148,283,6.023,310,2.709,363,2.763,374,4.648,423,2.948,453,3.89,467,2.615,486,2.686,524,4.523,540,2.948,545,1.464,554,6.887,603,7.076,613,5.376,702,4.536,808,3.849,824,4.652,827,11.233,828,3.978,830,4.729,832,2.182,842,4.165,847,1.128,878,7.882,892,5.068,900,5.224,944,2.283,971,3.199,973,2.693,982,3.475,984,8.528,986,5.623,992,7.8,1015,13.267,1103,4.069,1208,3.444,1281,5.383,1346,10.531,1371,6.496,1373,6.477,1390,5.012,1470,4.28,1581,4.89,1589,10.531,1635,6.496,1636,7.236,1638,6.936,1662,5.537,1698,7.639,1699,12.013,1700,10.908,1701,10.217,1702,12.013,1703,9.144,1704,9.144,1705,9.948,1706,10.908,1708,10.531,1709,12.013,1713,7.236,1939,7.236,1957,9.948,2100,4.688,2128,5.814,2296,6.696,2350,6.696,3103,9.544,3720,7.639,3728,12.974,3729,8.249,3730,10.217,3731,8.249,3732,7.236,3733,6.696,3734,8.249,3735,8.249,3736,8.249,3737,8.249,3738,8.249,3739,7.639,3740,8.249,3741,8.249,3742,8.249,3743,12.974,3744,12.974,3745,8.249,3746,8.249,3747,12.974,3748,8.249,3749,16.035,3750,8.249,3751,11.381,3752,8.249,3753,8.249,3754,8.249,3755,8.249,3756,8.249,3757,8.249,3758,8.249,3759,8.249,3760,8.249,3761,8.249,3762,12.974,3763,12.974,3764,8.249,3765,12.974,3766,8.249,3767,8.249,3768,8.249,3769,8.249,3770,8.249,3771,8.249,3772,8.249,3773,8.249,3774,8.249,3775,8.249,3776,8.249]],["keywords/712",[]],["title/713",[1,305.359,3777,1005.321]],["content/713",[1,5.175,332,11.232,393,13.097,417,7.602,441,17.038,467,2.015,3777,17.038]],["keywords/713",[]],["title/714",[452,893.637,3625,981.539]],["content/714",[]],["keywords/714",[]],["title/715",[107,904.105,413,554.195,659,787.665]],["content/715",[1,5.17,6,5.558,8,3.607,9,2.956,14,4.766,21,4.151,22,10.413,23,5.441,25,5.381,26,3.813,29,7.089,30,2.296,31,5.295,41,4.548,46,2.653,50,2.361,52,8.866,58,5.226,59,2.939,61,4.565,73,7.877,79,5.243,86,8.276,90,3.289,105,6.674,107,7.962,122,3.227,128,7.261,132,7.261,140,3.075,141,4.015,146,3.813,149,4.11,174,2.866,187,5.518,194,3.699,204,3.007,218,4.787,236,4.295,260,4.419,262,5.089,264,4.699,267,6.674,319,3.074,323,3.769,329,3.074,344,11.67,362,3.697,363,3.477,374,5.336,380,4.287,382,4.373,413,7.44,417,3.24,429,5.2,475,4.519,486,4.7,507,10.365,523,3.699,525,3.672,540,3.384,555,9.84,568,5.052,570,9.69,600,3.607,613,2.8,624,2.508,644,5.636,659,10.575,673,11.069,708,8.307,751,11.743,756,4.981,766,4.351,784,5.753,789,3.858,797,6.356,828,2.903,836,3.015,889,2.531,921,4.514,947,4.246,949,5.558,982,4.686,1018,3.074,1092,4.757,1099,10.865,1122,5.753,1154,5.581,1199,6.56,1201,6.265,1225,8.866,1281,6.179,1344,4.913,1437,6.735,1480,3.569,1624,7.759,1954,4.913,3371,6.936,3620,10.745,3625,7.089,3778,7.962,3779,4.757,3780,9.469,3781,8.768,3782,8.768,3783,9.469,3784,6.799,3785,9.469,3786,8.768,3787,9.469,3788,8.307,3789,7.305,3790,14.436,3791,12.664,3792,8.307,3793,7.962]],["keywords/715",[]],["title/716",[236,287.742,3625,981.539]],["content/716",[90,8.504,236,5.373,443,7.237,454,12.209,482,11.024,523,8.013,751,16.434,816,12.462,1018,6.659,2555,14.209,3378,14.209,3625,18.329,3788,17.993,3794,11.424]],["keywords/716",[]],["title/717",[41,211.817,59,185.514,971,353.437,3794,425.271]],["content/717",[1,4.849,6,6.099,21,4.417,25,9.003,30,3.841,41,5.963,50,5.191,59,5.465,68,6.235,122,3.541,144,4.896,197,8.392,204,6.611,215,4.385,255,3.505,269,8.045,281,12.148,297,7.172,357,5.93,363,3.251,443,8.205,464,9.086,505,6.615,521,8.514,556,5.753,587,6.034,642,9.43,728,6.235,741,10.337,808,7.393,848,6.481,887,7.137,889,4.234,949,6.099,982,5.577,1078,9.003,1192,10.798,1294,7.172,2091,9.839,3795,13.897]],["keywords/717",[]],["title/718",[751,880.059,1480,494.18]],["content/718",[1,5.39,14,5.237,21,3.328,23,5.913,41,5.379,50,3.911,52,9.634,59,4.711,63,5.954,79,5.697,122,3.506,194,6.128,205,6.018,274,5.036,322,5.812,332,10.457,337,12.734,344,7.93,363,3.744,382,11.364,390,4.406,438,7.785,454,9.337,464,6.128,684,12.354,726,8.993,766,7.208,828,4.81,921,11.033,926,8.494,982,5.541,1279,8.993,1294,7.102,1437,7.966,1480,8.724,1991,11.491,2311,8.251,2534,11.057,3678,12.028,3796,7.438,3797,13.761]],["keywords/718",[]],["title/719",[58,252.814,363,97.636,382,322.56,921,332.951,973,228.022,3794,325.907]],["content/719",[19,8.427,363,3.503,382,11.573,428,15.316,475,5.51,562,10.994,719,9.137,784,12.96,921,10.169,1137,15.316,1437,7.342]],["keywords/719",[]],["title/720",[475,277.756,751,721.77,3103,640.032]],["content/720",[1,3.943,5,8.072,48,6.714,122,4.859,187,6.472,248,7.316,259,10.252,275,9.795,329,5.497,337,13.744,363,3.812,382,10.04,390,3.606,429,5.033,475,6.927,516,7.628,587,6.449,600,4.231,642,10.078,719,9.312,742,9.168,842,5.436,1057,11.54,1137,12.157,1153,12.676,1208,7.069,1215,4.474,1225,10.399,1437,8.265,1480,6.382,1644,5.007,1991,12.403,3675,11.365,3678,12.983,3797,14.853]],["keywords/720",[]],["title/721",[58,252.814,246,251.175,363,97.636,382,322.56,475,180.409,3794,325.907]],["content/721",[19,8.599,46,6.097,58,7.879,363,3.043,380,9.854,382,11.71,475,5.623,562,11.218,784,13.225]],["keywords/721",[]],["title/722",[221,447.1,380,486.79,751,721.77]],["content/722",[1,4.852,5,6.103,9,1.796,14,5.115,16,5.795,19,5.057,21,2.716,23,4.825,46,6.674,59,4.85,79,6.54,86,7.339,117,6.512,122,5.053,140,2.726,144,3.956,187,7.964,193,4.575,215,3.543,222,6.781,236,2.809,255,2.832,274,4.11,329,5.847,332,6.471,380,5.795,382,9.622,390,4.437,423,4.574,429,3.805,475,3.307,486,4.168,489,5.532,498,8.725,524,5.184,540,6.435,598,8.353,623,6.103,632,8.781,642,7.62,644,7.62,667,7.213,678,8.832,702,7.039,713,5.556,719,5.483,730,7.778,751,8.593,784,7.778,789,5.216,824,4.619,836,5.734,873,7.95,906,10.391,926,9.752,944,3.543,945,7.339,982,5.581,1061,6.734,1120,7.196,1127,11.915,1390,7.778,1768,9.584,1989,9.377,2023,10.391,2534,9.023,3448,7.153,3501,9.377,3678,9.816,3779,6.431,3798,12.802,3799,12.802,3800,11.23]],["keywords/722",[]],["title/723",[46,195.642,58,252.814,193,141.341,382,322.56,534,271.849,3794,325.907]],["content/723",[19,8.718,46,6.181,193,4.466,236,4.843,264,10.951,382,10.191,562,11.373,784,13.407]],["keywords/723",[]],["title/724",[236,235.988,751,721.77,2497,732.906]],["content/724",[1,5.658,6,3.9,9,2.131,30,3.682,41,2.354,46,7.561,50,3.787,59,2.062,91,4.631,193,2.05,194,3.957,205,3.886,214,7.766,215,2.803,222,5.365,230,8.829,235,9.549,236,4.999,239,6.364,251,4.111,253,6.799,256,11.892,264,5.026,274,5.851,285,4.229,286,3.573,322,6.753,329,5.917,340,4.229,362,3.851,363,1.416,429,7.021,443,3.573,475,2.616,500,4.095,501,6.22,524,5.397,540,3.619,569,6.903,603,5.912,612,5.756,642,10.848,648,6.441,699,8.707,702,5.569,716,8.991,719,4.338,731,9.041,746,4.631,797,10.196,808,4.726,812,3.434,824,2.245,836,3.225,873,6.29,949,8.352,1036,4.802,1039,12.576,1045,9.587,1048,7.227,1100,6.441,1134,7.016,1211,8.221,1213,9.544,1332,7.139,1344,5.255,1379,6.701,1444,15.324,1512,5.707,1624,9.795,1916,5.807,2222,7.419,2241,8.221,2685,8.885,3431,6.441,3433,13.325,3550,8.516,3555,7.139,3801,10.129,3802,7.976,3803,10.129,3804,15.324,3805,14.065,3806,12.771,3807,10.129,3808,8.885,3809,10.129,3810,8.221,3811,10.129,3812,6.441]],["keywords/724",[]],["title/725",[41,183.798,58,286.256,524,196.748,2551,326.135,3794,369.017]],["content/725",[1,5.768,6,8.052,41,4.861,141,6.888,236,4.59,332,10.572,362,4.419,533,9.332,562,10.779,568,11.158,716,10.317,1137,15.016,2019,17.584,3646,12.575]],["keywords/725",[]],["title/726",[141,253.465,236,200.013,751,611.741,3813,799.473]],["content/726",[141,6.267,174,6.819,236,4.945,1018,7.315,3814,22.533]],["keywords/726",[]],["title/727",[1333,971.506]],["content/727",[]],["keywords/727",[]],["title/728",[845,1322.558]],["content/728",[21,4.883,845,18.128]],["keywords/728",[]],["title/729",[805,1230.196]],["content/729",[21,4.883,805,16.862]],["keywords/729",[]],["title/730",[813,1230.196]],["content/730",[21,4.883,813,16.862]],["keywords/730",[]],["title/731",[1865,1412.056]],["content/731",[21,4.883,1865,19.354]],["keywords/731",[]],["title/732",[1037,1127.28]],["content/732",[21,4.883,1037,15.451]],["keywords/732",[]],["title/733",[1866,1183.697]],["content/733",[21,4.883,1866,16.224]],["keywords/733",[]],["title/734",[1866,1183.697]],["content/734",[21,4.883,1866,16.224]],["keywords/734",[]],["title/735",[836,534.685]],["content/735",[21,4.883,836,7.329]],["keywords/735",[]],["title/736",[1867,1412.056]],["content/736",[21,4.883,1867,19.354]],["keywords/736",[]],["title/737",[1868,1412.056]],["content/737",[21,4.883,1868,19.354]],["keywords/737",[]],["title/738",[984,787.79]],["content/738",[21,4.883,984,10.798]],["keywords/738",[]],["title/739",[1869,1412.056]],["content/739",[21,4.883,1869,19.354]],["keywords/739",[]],["title/740",[1870,1412.056]],["content/740",[21,4.883,1870,19.354]],["keywords/740",[]],["title/741",[1871,1322.558]],["content/741",[8,3.2,9,3.498,21,1.782,41,1.952,46,5.585,59,1.71,97,3.696,108,3.2,122,1.878,146,5.299,175,4.515,197,4.45,202,3.493,215,3.643,230,3.663,235,9.973,236,5.282,251,3.409,252,5.82,260,3.92,274,2.697,290,5.482,297,3.803,358,2.848,362,2.781,387,6.441,404,2.807,423,3.002,429,2.497,467,2.518,471,3.9,475,2.17,481,4.656,486,2.735,524,2.09,548,7.254,620,3.2,692,2.815,699,6.202,749,9.64,804,5.697,807,2.181,812,2.848,832,1.008,838,3.81,842,2.697,847,1.149,866,3.552,885,7.218,886,10.265,892,8.94,900,3.383,949,3.234,968,4.86,982,2.25,1018,2.727,1048,7.281,1103,4.144,1146,4.247,1181,5.558,1188,6.154,1189,5.278,1213,8.269,1215,3.477,1228,6.032,1237,4.359,1261,3.822,1558,5.278,1736,5.342,1871,6.616,1872,14.232,1873,11.065,1874,7.779,1875,7.779,1876,7.369,1877,7.779,1878,7.779,1879,7.779,1880,7.369,1881,7.779,1882,7.779,1883,7.779,1884,7.779,1885,7.779,1886,7.779,1887,7.779,1888,7.779,1889,6.616,1890,7.779,1891,7.779,1892,7.779,1893,7.779,1894,7.779,1895,4.194,1896,5.712,1897,7.779,1898,10.586,1899,6.441,1900,7.779,1901,7.779,1902,7.779,1903,7.779,1904,7.063,1905,7.779,1906,5.639,1907,7.779,1908,7.779,1909,6.032,1910,6.616,1911,7.779,1912,7.779,1913,8.369,1914,7.369,1915,7.779,1916,7.545,1917,7.779,1918,7.779,1919,7.779,1920,7.779,1921,7.779,1922,7.063,1923,7.779,1924,7.779]],["keywords/741",[]],["title/742",[1925,1163.403]],["content/742",[9,2.414,14,3.893,21,3.65,83,7.605,188,8.34,193,4.445,260,8.028,355,6.553,363,2.405,423,6.148,467,1.991,475,6.25,486,5.601,545,3.898,554,7.653,807,3.64,832,2.065,847,2.353,886,7.337,982,4.609,983,10.409,1014,6.716,1018,5.585,1215,4.546,1585,7.244,1644,6.495,1925,15.215,1926,20.338,1927,17.296,1928,10.941,1929,16.089,1930,15.931,1931,13.192,1932,15.931]],["keywords/742",[]],["title/743",[1933,1412.056]],["content/743",[21,4.883,1933,19.354]],["keywords/743",[]],["title/744",[927,1322.558]],["content/744",[21,4.883,927,18.128]],["keywords/744",[]],["title/745",[1934,1322.558]],["content/745",[9,2.721,21,4.114,83,8.573,193,5.17,355,7.387,363,3.309,423,6.93,824,4.299,832,2.327,838,4.555,847,2.652,889,6.326,920,10.138,982,5.195,983,10.182,1018,6.296,1644,5.735,1928,12.333,1934,18.639,1935,14.87,1936,17.958]],["keywords/745",[]],["title/746",[1927,1322.558]],["content/746",[9,2.61,21,3.947,50,5.753,83,8.224,193,5.075,355,7.087,363,3.225,423,6.648,467,2.092,824,4.124,832,2.233,838,4.369,847,2.544,889,6.166,920,9.882,982,4.984,983,10.789,1018,6.04,1644,5.502,1927,18.169,1928,11.831,1929,13.628,1934,18.169,1937,17.227]],["keywords/746",[]],["title/747",[1390,1020.346]],["content/747",[1,2.689,6,2.745,9,1.62,14,3.785,21,1.512,30,2.799,41,4.573,83,3.151,96,3.75,122,2.581,140,1.518,144,2.203,171,6.157,187,2.725,193,3.386,255,2.555,260,3.326,297,3.227,301,3.724,329,2.314,355,5.543,362,2.44,390,2.459,404,2.382,418,7.095,423,2.547,453,3.362,467,2.627,487,3.227,489,6.288,498,4.859,554,2.484,556,4.582,558,6.512,603,2.775,613,2.108,620,2.715,726,4.087,756,6.073,766,5.306,794,4.202,804,3.687,807,1.914,823,3.417,824,2.56,828,2.186,832,1.746,836,5.327,838,1.674,847,0.975,870,6.349,889,3.086,894,6.506,898,3.362,905,12.013,920,4.946,925,2.956,929,8.578,941,7.403,945,6.62,949,2.745,965,7.091,966,7.015,982,1.91,983,4.967,984,3.344,985,4.331,988,3.86,1014,3.531,1018,2.314,1085,5.466,1165,6.942,1166,7.436,1167,7.436,1168,7.436,1169,7.436,1208,2.976,1263,4.533,1279,4.087,1329,6.452,1390,10.165,1391,13.198,1400,5.614,1416,5.337,1469,9.372,1557,3.803,1573,3.476,1938,11.158,1939,6.253,1940,5.614,1941,4.202,1942,6.601,1943,6.253,1944,6.601,1945,6.601,1946,5.994,1947,6.601,1948,6.601,1949,6.601,1950,10.692,1951,13.464,1952,10.692,1953,6.601,1954,5.991,1955,6.601,1956,10.692,1957,5.466,1958,6.601,1959,6.601,1960,10.692,1961,6.601,1962,6.253,1963,6.601,1964,5.994,1965,13.475,1966,6.601,1967,6.601,1968,6.601,1969,10.692,1970,6.601,1971,6.601,1972,10.692,1973,6.601,1974,6.601,1975,6.601,1976,6.601,1977,6.601,1978,6.601,1979,6.601,1980,6.601,1981,5.787,1982,6.601,1983,10.692,1984,6.601,1985,6.601,1986,3.496,1987,6.601,1988,6.601,1989,8.458,1990,6.601,1991,5.222,1992,4.591,1993,6.601,1994,5.614,1995,6.253,1996,10.692,1997,10.692,1998,5.614]],["keywords/747",[]],["title/748",[122,375.354]],["content/748",[21,4.883,122,5.145]],["keywords/748",[]],["title/749",[1161,1322.558]],["content/749",[21,4.883,1161,18.128]],["keywords/749",[]],["title/750",[1999,1412.056]],["content/750",[21,4.883,1999,19.354]],["keywords/750",[]],["title/751",[2000,1412.056]],["content/751",[9,2.551,14,4.114,83,8.037,193,4.603,236,4.991,355,6.926,363,2.542,409,10.333,467,2.062,475,6.411,554,6.335,832,2.182,847,2.487,887,8.191,889,6.633,920,9.742,983,7.822,1120,7.265,1212,11.424,1215,6.009,1889,17.911,1925,15.755,1928,11.562,2000,19.123,2001,21.06,2002,8.355]],["keywords/751",[]],["title/752",[2003,1412.056]],["content/752",[19,7.661,41,4.507,83,8.573,106,10.347,193,4.79,236,4.256,355,7.387,390,4.13,467,2.316,804,4.273,823,9.296,832,2.327,847,2.652,983,10.99,1215,6.749,1909,16.994,2003,19.9,2004,21.917]],["keywords/752",[]],["title/753",[2005,1183.697]],["content/753",[9,2.948,14,2.13,16,4.262,18,4.393,21,4.887,23,7.919,68,3.705,74,9.741,83,4.161,97,6.323,106,5.022,141,7.413,144,2.909,157,4.241,164,4.987,172,6.759,193,3.528,215,2.606,236,3.826,248,7.532,255,3.857,285,3.93,297,4.262,328,4.161,329,3.056,345,4.293,355,3.586,362,4.439,363,1.316,390,2.005,423,3.364,429,5.181,455,4.672,467,2.322,475,2.432,505,3.93,545,3.931,592,4.82,661,2.933,670,7.047,677,3.898,699,5.494,723,6.896,804,5.644,807,1.56,823,4.512,828,2.886,832,1.13,842,5.596,847,1.287,848,3.851,860,4.917,885,4.229,886,6.129,887,9.465,889,5.214,900,3.791,924,4.477,928,7.559,982,2.522,983,4.05,1004,4.789,1014,5.966,1018,3.056,1103,4.644,1170,6.383,1212,10.952,1215,2.487,1227,4.05,1258,7.915,1358,5.986,1373,4.7,1889,11.318,1913,12.406,1928,5.986,2005,10.129,2006,6.249,2007,12.607,2008,12.607,2009,12.607,2010,12.083,2011,12.083,2012,13.53,2013,8.717,2014,7.218,2015,4.032,2016,6.319,2017,8.258,2018,8.717,2019,7.915,2020,4.262,2021,7.047,2022,8.258]],["keywords/753",[]],["title/754",[2023,1363.216]],["content/754",[14,4.469,47,12.889,59,4.872,83,8.731,193,4.844,332,9.985,355,9.117,824,4.379,832,2.371,836,7.62,847,2.701,889,6.396,983,11.515,1014,7.319,2023,16.033,2024,18.29]],["keywords/754",[]],["title/755",[889,448.835]],["content/755",[21,4.883,889,6.152]],["keywords/755",[]],["title/756",[2025,1257.267]],["content/756",[9,2.243,13,4.238,14,2.455,21,2.301,77,6.523,83,4.796,97,10.278,122,2.425,140,2.311,162,5.089,193,3.235,202,4.511,236,4.166,264,5.384,329,3.522,332,5.484,353,17.585,355,6.089,362,5.104,423,3.877,429,4.752,440,4.53,455,7.933,467,2.568,496,15.038,524,2.699,548,6.315,556,2.527,590,8.122,677,4.493,699,8.006,729,6.523,804,4.183,807,3.146,824,2.405,828,4.901,832,1.302,836,3.454,838,3.754,847,1.484,859,8.544,868,6.395,870,5.966,887,4.888,889,2.9,920,4.647,941,8.133,945,6.22,965,6.663,966,6.592,982,2.906,983,6.877,1004,5.519,1014,4.889,1018,3.522,1146,8.081,1165,6.523,1166,6.987,1167,6.987,1168,6.987,1169,6.987,1208,4.53,1272,9.091,1701,8.544,2025,11.968,2026,13.441,2027,14.803,2028,10.896,2029,10.046,2030,9.122,2031,8.544,2032,13.441,2033,9.122,2034,9.122,2035,10.046,2036,8.807,2037,4.688,2038,9.122,2039,8.544,2040,10.046,2041,10.046,2042,8.807,2043,10.046,2044,10.046,2045,10.046,2046,10.046,2047,6.899]],["keywords/756",[]],["title/757",[2048,1412.056]],["content/757",[21,4.883,2048,19.354]],["keywords/757",[]],["title/758",[2049,1322.558]],["content/758",[14,4.31,21,4.04,83,8.42,193,4.737,332,9.628,355,8.917,423,6.806,467,2.122,475,6.047,807,3.88,824,4.223,832,2.286,847,2.605,889,6.256,982,5.102,983,11.373,1018,6.183,1925,16.216,2049,18.435,2050,17.637]],["keywords/758",[]],["title/759",[2051,1412.056]],["content/759",[21,4.883,2051,19.354]],["keywords/759",[]],["title/760",[827,954.419]],["content/760",[21,4.883,827,13.082]],["keywords/760",[]],["title/761",[193,339.865]],["content/761",[21,4.883,193,4.658]],["keywords/761",[]],["title/762",[1989,1230.196]],["content/762",[21,4.883,1989,16.862]],["keywords/762",[]],["title/763",[1416,1257.267]],["content/763",[21,4.883,1416,17.233]],["keywords/763",[]],["title/764",[2052,1412.056]],["content/764",[21,4.883,2052,19.354]],["keywords/764",[]],["title/765",[945,962.813]],["content/765",[14,3.752,21,3.517,83,7.33,193,4.341,355,6.316,362,3.503,423,5.925,429,4.928,467,2.617,807,2.748,832,1.99,836,5.279,847,2.268,870,9.117,889,4.431,920,7.102,925,4.245,941,10.911,945,13.63,965,10.183,966,10.074,982,4.442,983,7.133,1004,8.435,1018,5.383,1165,9.969,1166,10.678,1167,10.678,1168,10.678,1169,10.678,1344,11.128,1512,9.343,1928,10.544,2053,14.545,2054,15.354,2055,15.354]],["keywords/765",[]],["title/766",[516,756.595]],["content/766",[21,4.883,516,10.37]],["keywords/766",[]],["title/767",[1415,1322.558]],["content/767",[21,4.883,1415,18.128]],["keywords/767",[]],["title/768",[2056,1322.558]],["content/768",[6,4.465,9,3.033,21,4.184,83,5.126,138,13.216,144,3.584,146,4.67,193,4.374,196,9.413,260,5.411,273,3.345,355,4.417,363,2.346,398,4.513,404,3.874,423,4.143,443,4.091,467,2.08,478,5.383,545,4.568,554,4.04,556,3.909,580,10.172,728,4.564,823,8.045,828,5.146,832,1.392,838,2.723,840,3.733,847,1.586,876,4.782,944,5.459,982,5.283,983,9.299,1014,5.132,1018,3.764,1068,10.727,1103,5.72,1208,9.577,1344,12.407,1366,4.882,1373,5.79,1724,8.326,2056,15.532,2057,18.263,2058,18.263,2059,16.009,2060,13.216,2061,10.738,2062,21.24,2063,18.263,2064,20.016,2065,10.172,2066,18.263,2067,10.738,2068,9.132,2069,10.738,2070,4.634,2071,15.54,2072,16.583,2073,10.738,2074,10.738,2075,10.738,2076,10.738,2077,10.738,2078,10.738,2079,10.172,2080,10.738,2081,15.54,2082,10.738]],["keywords/768",[]],["title/769",[2083,1412.056]],["content/769",[21,4.883,2083,19.354]],["keywords/769",[]],["title/770",[2084,1412.056]],["content/770",[21,4.883,2084,19.354]],["keywords/770",[]],["title/771",[2085,1412.056]],["content/771",[21,4.883,2085,19.354]],["keywords/771",[]],["title/772",[2086,1412.056]],["content/772",[21,4.883,2086,19.354]],["keywords/772",[]],["title/773",[2087,1412.056]],["content/773",[21,4.883,2087,19.354]],["keywords/773",[]],["title/774",[2088,1412.056]],["content/774",[21,4.883,2088,19.354]],["keywords/774",[]],["title/775",[2089,1412.056]],["content/775",[21,3.857,83,8.037,122,4.064,193,5.023,286,6.415,355,6.926,363,3.47,390,3.872,423,6.497,429,5.404,443,6.415,545,3.227,677,7.529,743,6.926,756,9.564,832,2.182,847,2.487,887,8.191,982,4.87,983,7.822,1018,5.903,1373,13.368,1437,6.258,2089,20.868,2090,21.06,2091,11.292,2092,16.836,2093,14.318]],["keywords/775",[]],["title/776",[2093,1322.558]],["content/776",[21,4.379,423,7.377,467,2.379,556,4.808,807,3.421,820,6.183,832,2.478,836,6.573,847,2.823,885,6.074,892,8.065,982,5.53,2093,19.355,2094,19.116,2095,19.116]],["keywords/776",[]],["title/777",[2021,1257.267]],["content/777",[14,4.209,21,3.947,40,10.23,83,8.224,193,4.669,355,7.087,423,6.648,467,2.49,513,9.526,548,9.115,804,5.526,832,2.233,847,2.544,941,9.465,982,4.984,983,10.789,1018,6.04,1214,11.381,1913,11.831,1928,11.831,2021,13.928,2096,17.227,2097,17.227]],["keywords/777",[]],["title/778",[1184,1322.558]],["content/778",[9,2.688,14,4.335,21,4.065,83,8.47,193,4.755,355,7.299,423,6.847,429,5.695,467,2.13,513,12.03,832,2.3,847,2.621,941,9.748,982,5.133,983,10.932,1018,6.22,1184,18.502,1913,16.159,1928,12.185,2021,17.589,2098,17.743]],["keywords/778",[]],["title/779",[2099,1257.267]],["content/779",[9,2.467,14,5.039,363,2.458,423,6.283,467,2.216,545,3.121,554,7.759,556,4.095,613,5.2,634,9.668,764,7.434,807,2.914,830,12.767,832,2.11,836,7.09,837,9.825,838,4.129,847,2.405,883,7.531,909,10.364,944,4.867,982,4.71,983,7.564,984,8.248,1004,11.329,1013,12.18,1014,6.81,1117,16.671,1336,7.311,1641,11.323,2099,13.163,2100,9.992,2101,17.537,2102,11.047,2103,13.846]],["keywords/779",[]],["title/780",[984,787.79]],["content/780",[984,12.283]],["keywords/780",[]],["title/781",[32,628.636]],["content/781",[21,6.009,32,4.661,46,3.488,354,6.693,390,2.652,467,2.657,548,4.92,623,5.937,820,3.73,920,5.334,944,3.447,1013,19.553,1265,8.126,1272,5.405,1591,10.108,1662,8.359,1680,6.295,1784,8.238,1938,9.549,2028,8.488,2104,11.531,2105,10.924,2106,11.531,2107,11.531,2108,11.531,2109,11.531,2110,10.924,2111,11.531,2112,11.531,2113,11.531,2114,11.531,2115,11.531,2116,11.531,2117,11.531,2118,11.531,2119,11.531,2120,10.47,2121,10.47,2122,10.47,2123,10.47,2124,10.47,2125,9.807,2126,9.807,2127,10.47]],["keywords/781",[]],["title/782",[2128,1183.697]],["content/782",[467,2.412,807,3.535,832,2.56,883,9.137,1014,6.523,1187,15.316,1336,8.87,1662,14.319,2100,12.123,2128,15.035,2129,19.753]],["keywords/782",[]],["title/783",[1662,1127.28]],["content/783",[390,3.917,467,2.611,548,7.265,820,5.508,920,7.877,944,5.09,1013,19.95,1265,12,1272,7.982,1662,12.344,1938,14.101,2028,12.535,2120,15.463,2121,15.463,2122,15.463]],["keywords/783",[]],["title/784",[941,854.365]],["content/784",[5,3.796,8,3.033,9,2.198,21,3.324,27,3.122,48,3.157,58,2.882,96,4.188,140,2.687,148,4.344,155,4.449,162,9.696,171,4.643,193,1.611,197,4.218,215,3.492,246,2.863,259,5.949,286,2.809,287,6.487,332,4.025,362,3.766,390,3.337,423,4.508,424,4.837,443,6.855,464,4.929,467,2.606,520,7.311,540,2.845,545,2.781,548,4.984,613,2.355,620,3.033,677,3.297,692,2.668,726,4.565,807,4.076,808,3.715,812,6.043,829,4.945,832,0.956,836,7.831,847,1.089,848,3.257,870,6.937,882,4.077,885,2.343,886,3.396,889,3.372,892,3.11,900,3.206,910,6.27,920,5.404,925,5.922,941,10.515,944,4.337,945,8.983,946,6.694,956,5.195,965,10.947,966,10.83,967,10.947,971,3.088,973,2.599,976,4.772,982,2.133,1004,6.418,1018,2.585,1061,4.188,1079,5.516,1163,4.344,1165,7.585,1166,8.124,1167,8.124,1168,8.124,1169,8.124,1261,3.622,1262,5.612,1344,8.129,1373,3.975,1385,2.792,1687,3.425,2130,10.24,2131,6.27,2132,6.27,2133,9.935,2134,7.373,2135,6.694,2136,7.373,2137,5.427,2138,6.694,2139,7.373,2140,7.373,2141,7.373,2142,7.373,2143,6.694,2144,7.373,2145,6.047,2146,3.735,2147,7.373,2148,7.373,2149,7.373,2150,7.373,2151,7.373,2152,7.373,2153,7.373,2154,7.373,2155,7.373,2156,7.373,2157,7.373,2158,6.984,2159,7.373,2160,7.373,2161,4.378]],["keywords/784",[]],["title/785",[2131,1322.558]],["content/785",[9,2.865,46,4.31,48,6.101,50,3.836,58,5.569,76,10.039,97,8.986,122,5.68,140,4.349,144,4.755,146,6.196,162,7.217,171,7.516,208,7.778,215,5.653,235,7.256,256,10.039,257,4.925,285,6.424,355,5.86,362,3.251,417,5.264,418,7.501,429,4.573,467,1.852,540,5.498,597,7.07,603,5.989,609,8.093,700,8.744,716,7.59,796,11.047,836,6.502,842,4.939,866,6.505,941,11.662,949,5.924,957,11.814,976,5.819,1083,12.489,1122,9.348,1221,11.797,1294,6.965,2020,6.965,2131,12.116,2162,14.247,2163,7.034,2164,14.247,2165,14.247,2166,14.247,2167,14.247,2168,14.247,2169,13.497,2170,12.489,2171,14.247,2172,12.936,2173,12.936]],["keywords/785",[]],["title/786",[956,1095.832]],["content/786",[9,2.705,27,9.247,59,3.924,91,8.813,122,5.27,162,9.042,197,10.211,218,9.744,221,8.015,323,7.673,362,5.383,404,6.44,429,5.73,523,7.531,545,3.422,620,7.343,764,8.151,812,7.995,842,7.57,968,11.151,1111,11.972,1135,12.578,2174,13.354]],["keywords/786",[]],["title/787",[2132,1032.511,2133,1032.511]],["content/787",[5,5.868,8,4.689,9,3.522,27,4.827,34,8.049,38,5.774,48,8.81,59,3.566,140,2.622,157,5.545,171,4.53,188,5.967,215,6.149,255,2.723,286,4.343,287,3.687,362,2.601,429,3.659,434,8.09,443,4.343,464,8.679,467,2.367,486,4.007,500,4.976,505,5.139,556,2.867,613,3.64,614,7.927,620,4.689,624,3.26,692,5.869,808,5.744,836,7.768,840,3.963,842,3.952,848,9.088,849,6.567,897,9.955,941,6.262,944,3.407,958,10.426,967,14.984,968,10.133,969,6.936,971,4.774,972,9.992,973,4.019,974,10.35,976,4.656,977,10.35,1008,5.714,1146,6.222,1163,9.557,1366,5.183,1613,3.64,2132,13.795,2133,9.694,2135,10.35,2143,10.35,2161,9.632,2175,8.032,2176,8.676,2177,10.798,2178,11.398,2179,8.527,2180,16.22,2181,11.398,2182,11.398,2183,11.398,2184,11.398,2185,11.398,2186,11.398,2187,16.22,2188,11.398,2189,11.398]],["keywords/787",[]],["title/788",[2123,1412.056]],["content/788",[50,4.986,363,3.371,390,4.259,467,2.186,475,5.166,540,7.146,832,2.894,847,2.735,925,5.12,930,8.281,931,6.315,1437,6.883,1464,9.64,1607,12.282,2190,18.519,2191,18.519,2192,18.519,2193,18.519,2194,16.815,2195,16.815]],["keywords/788",[]],["title/789",[2196,1555.113]],["content/789",[9,3.462,50,5.181,301,10.854,390,4.425,404,6.942,467,1.884,545,3.688,743,7.914,746,9.5,832,2.494,907,13.558,958,12.367,2197,19.24,2198,11.912,2199,10.374,2200,16.866]],["keywords/789",[]],["title/790",[2201,1412.056]],["content/790",[16,8.674,46,6.581,117,9.748,274,6.151,467,2.13,524,4.767,540,6.847,632,9.342,804,4.222,824,4.248,832,2.3,836,7.48,840,6.168,842,6.151,847,2.621,1118,19.754,1119,16.111,1344,9.942,2100,10.889,2103,18.502,2201,16.111,2202,17.743,2203,17.743,2204,17.743,2205,17.743]],["keywords/790",[]],["title/791",[2124,1412.056]],["content/791",[804,5,832,2.723,847,3.103,2206,21.013]],["keywords/791",[]],["title/792",[1784,1111.048]],["content/792",[50,5.114,59,4.984,467,1.86,475,5.298,540,7.329,832,2.938,847,2.805,930,8.494,931,6.477,1157,10.865,1437,7.06,1784,17.315,2207,18.993,2208,18.993,2209,18.993]],["keywords/792",[]],["title/793",[2210,1412.056]],["content/793",[30,4.702,59,4.818,63,8.984,524,5.889,556,4.517,613,5.735,620,9.73,807,3.214,824,4.299,832,2.327,840,6.243,847,2.652,878,11.783,907,12.654,1352,14.536,1529,13.017,2210,19.9,2211,15.272,2212,16.306,2213,16.306,2214,13.435]],["keywords/793",[]],["title/794",[2215,1322.558]],["content/794",[8,7.255,30,6.144,59,5.524,140,4.057,274,6.115,524,4.739,556,4.436,592,9.753,807,3.157,824,4.223,832,2.286,840,7.536,847,2.605,893,14.259,894,13.19,1352,11.698,2211,15,2215,18.435,2216,15.955,2217,17.637,2218,17.637]],["keywords/794",[]],["title/795",[2125,1322.558]],["content/795",[9,1.978,32,7.208,34,6.478,41,3.277,46,5.394,79,5.12,205,5.408,208,9.734,215,6.828,257,4.513,271,10.554,417,6.587,424,11.699,453,6.648,467,2.406,524,3.508,597,6.478,603,5.487,613,4.169,625,6.261,716,6.955,807,2.337,820,4.223,824,3.125,832,2.311,836,8.299,840,4.539,842,6.181,847,1.928,848,5.767,849,7.522,885,4.148,892,5.508,930,5.838,931,4.452,933,8.756,1008,6.545,1011,7.692,1017,10.327,1103,6.955,1127,14.508,1133,8.31,1216,8.658,1237,7.315,1274,9.609,1535,10.123,1581,5.314,1624,12.665,2125,11.102,2219,11.102,2220,11.444,2221,11.854,2222,10.327,2223,10.327,2224,10.554,2225,13.055,2226,13.055,2227,13.055,2228,13.055,2229,13.055,2230,13.055]],["keywords/795",[]],["title/796",[2126,1322.558]],["content/796",[9,1.775,32,6.685,34,5.813,46,5.003,193,2.56,205,4.853,208,9.028,215,7.003,257,4.05,271,9.47,390,2.694,417,6.11,424,10.85,453,5.965,467,2.581,524,4.443,603,4.924,613,3.741,625,5.618,716,6.24,807,2.096,820,3.789,824,3.959,832,2.143,836,7.552,840,4.072,842,5.733,848,5.175,849,6.749,870,6.956,885,3.722,889,3.381,892,4.942,920,5.418,930,5.238,931,3.994,941,9.085,945,7.252,949,4.87,965,7.769,966,7.685,1008,5.872,1011,6.902,1017,9.266,1103,6.24,1127,8.369,1133,7.456,1165,7.606,1166,8.146,1167,8.146,1168,8.146,1169,8.146,1216,7.769,1237,6.563,1274,8.622,1437,4.354,1453,10.636,1457,11.097,1535,9.083,1581,4.768,1624,12.087,2126,9.962,2219,9.962,2220,10.268,2221,10.636,2222,9.266,2223,9.266,2224,9.47,2231,11.713,2232,11.713,2233,11.713,2234,11.713,2235,11.713]],["keywords/796",[]],["title/797",[2236,1043.002]],["content/797",[9,1.775,13,4.942,14,2.862,19,7.055,30,5.018,38,5.934,50,3.154,59,5.579,73,6.902,77,7.606,144,3.909,218,6.395,274,5.733,283,5.872,286,4.463,328,5.592,390,3.803,404,5.966,464,4.942,467,2.382,490,6.85,556,2.946,600,3.161,605,7.069,613,3.741,709,9.962,718,9.47,789,5.154,824,2.804,832,1.518,840,7.24,842,4.061,847,1.73,894,7.128,924,6.449,968,7.318,1103,6.24,1110,3.838,1157,6.701,1207,13.164,1365,11.357,1366,8.715,1367,10.636,1385,4.435,1423,15.851,1480,6.731,1613,5.281,1817,6.701,2198,10.239,2236,15.713,2237,16.537,2238,9.266,2239,11.713,2240,11.097,2241,10.268,2242,10.636,2243,19.168,2244,11.713,2245,11.713,2246,11.713,2247,11.713,2248,7.189,2249,11.713,2250,11.713,2251,11.713]],["keywords/797",[]],["title/798",[2252,1363.216]],["content/798",[9,2.537,452,12.323,467,2.245,603,7.037,613,5.346,732,10.021,824,4.008,832,2.17,847,2.473,981,14.075,1069,13.863,1385,6.339,2252,18.396,2253,12.323,2254,15.201,2255,8.619,2256,16.741,2257,16.741,2258,16.741,2259,16.741,2260,16.741,2261,16.741,2262,20.986,2263,16.741,2264,16.741,2265,16.741,2266,16.741,2267,16.741,2268,16.741,2269,16.741,2270,16.741,2271,16.741,2272,16.741,2273,16.741,2274,16.741]],["keywords/798",[]],["title/799",[2275,1555.113]],["content/799",[255,4.95,467,2.029,807,3.708,832,2.685,925,5.728,2276,20.719]],["keywords/799",[]],["title/800",[2277,1473.221]],["content/800",[9,3.482,50,4.533,58,6.581,59,3.701,204,5.773,209,10.717,404,6.074,413,9.371,469,13.818,554,6.335,556,4.235,613,5.377,617,10.932,625,8.075,648,11.562,757,12.595,771,12.595,804,4.006,823,8.715,832,2.182,847,2.487,860,9.498,1014,5.56,1329,13.869,1433,10.245,2216,12.393,2278,16.836,2279,10.16,2280,15.949,2281,16.836,2282,15.949,2283,13.055,2284,14.759,2285,15.287]],["keywords/800",[]],["title/801",[354,902.598]],["content/801",[32,7.088,86,10.855,205,7.264,251,9.466,354,12.535,355,7.212,467,2.392,540,6.766,613,5.599,832,2.799,847,2.59,930,7.841,931,5.979,1059,12.709,1385,6.639,1470,9.824,1682,18.923,2286,16.61,2287,15.92,2288,18.932,2289,15.92,2290,15.92,2291,15.92]],["keywords/801",[]],["title/802",[2015,719.339]],["content/802",[30,4.818,59,4.89,257,6.363,363,3.358,467,1.802,520,9.274,554,6.925,597,11.039,739,9.804,804,4.379,807,3.294,832,2.385,840,8.312,847,2.718,1018,6.452,2006,7.125,2015,8.513,2216,13.547,2292,18.404]],["keywords/802",[]],["title/803",[63,637.447]],["content/803",[63,7.544,467,2.627,581,6.398,804,4.379,832,2.385,847,2.718,885,5.848,892,7.764,924,7.484,1365,15.277,2293,14.27,2294,6.699]],["keywords/803",[]],["title/804",[2214,1163.403]],["content/804",[30,4.789,59,4.872,63,9.084,524,5.955,556,4.6,620,9.809,807,3.274,824,4.379,832,2.371,840,6.359,847,2.701,878,12.001,1352,14.699,1529,13.258,2211,15.555,2212,16.608,2213,16.608,2214,16.58]],["keywords/804",[]],["title/805",[993,916.313]],["content/805",[993,14.287]],["keywords/805",[]],["title/806",[193,339.865]],["content/806",[9,2.223,14,4.711,21,4.417,50,3.95,122,4.653,193,4.706,197,8.392,286,5.589,323,6.306,390,3.374,467,2.541,486,5.158,540,5.661,545,2.812,556,3.69,743,6.034,762,7.862,766,7.28,804,3.491,807,2.626,820,4.745,823,7.594,824,4.616,832,1.901,836,5.044,842,5.086,847,2.167,883,6.786,924,4.935,944,4.385,968,9.164,983,6.816,1007,9.003,1014,4.845,1120,6.33,1336,6.587,1365,10.075,1585,6.67,2176,11.166,2295,14.67,2296,12.86,2297,14.67,2298,14.67,2299,14.67,2300,14.67,2301,14.67,2302,12.476,2303,14.67,2304,13.897]],["keywords/806",[]],["title/807",[2305,1412.056]],["content/807",[21,4.351,193,4.151,255,4.538,467,2.458,540,7.329,617,12.333,632,10.001,832,2.462,842,6.585,847,2.805,925,5.251,983,8.824,2305,17.246,2306,17.993,2307,18.993,2308,15.728]],["keywords/807",[]],["title/808",[2309,1287.729]],["content/808",[8,6.625,9,3.103,30,4.216,58,6.295,59,3.54,90,6.041,140,3.704,149,7.549,255,3.848,274,5.583,323,6.923,467,2.395,475,4.492,516,7.835,587,9.262,651,9.718,804,3.832,807,3.665,832,2.087,838,4.085,925,4.452,1087,14.623,1337,13.335,1480,6.555,1766,12.258,2310,16.104,2311,9.148,2312,12.048,2313,16.104,2314,16.104,2315,22.517,2316,16.104,2317,20.478,2318,20.478,2319,16.104]],["keywords/808",[]],["title/809",[2320,1412.056]],["content/809",[30,4.91,50,6.058,59,4.122,257,6.483,467,1.836,613,5.989,804,5.736,807,3.356,832,2.431,840,8.38,843,14.835,847,2.77,2015,10.407,2320,17.028,2321,14.274]],["keywords/809",[]],["title/810",[2322,1412.056]],["content/810",[50,5.319,59,4.342,63,8.097,467,1.934,545,4.448,600,5.33,804,4.701,807,3.535,824,4.729,832,2.56,2311,11.221,2323,19.753]],["keywords/810",[]],["title/811",[2324,1473.221]],["content/811",[50,5.114,59,4.175,63,9.934,467,1.86,545,4.346,554,7.147,613,6.066,623,9.778,804,4.52,807,3.399,824,4.547,832,2.462,840,6.603,967,12.597,2311,10.789,2325,18.993]],["keywords/811",[]],["title/812",[2326,1412.056]],["content/812",[30,4.673,59,3.924,68,7.587,255,4.265,467,2.469,482,10.36,505,8.048,587,7.343,592,9.87,737,10.518,789,7.855,804,5.614,807,4.399,832,2.313,838,4.527,847,2.636,2309,14.781,2326,16.208,2327,16.208,2328,12.111]],["keywords/812",[]],["title/813",[1777,865.557]],["content/813",[21,4.408,423,7.424,467,2.468,807,3.444,832,2.494,847,2.842,885,6.114,892,8.117,910,16.363,982,5.566,1777,12.716,2329,19.24,2330,19.24]],["keywords/813",[]],["title/814",[2331,1555.113]],["content/814",[140,4.13,141,5.394,467,2.316,692,7.93,807,4.234,832,2.327,847,2.652,866,8.2,885,5.706,892,7.576,900,7.809,944,5.368,1366,8.165,2161,13.015,2332,17.958,2333,17.958,2334,21.917,2335,21.917,2336,14.87,2337,17.958]],["keywords/814",[]],["title/815",[2338,1412.056]],["content/815",[164,10.935,467,2.228,661,6.431,746,9.438,807,3.421,832,2.478,840,6.646,847,2.823,1008,9.583,1511,15.122,2130,19.95,2215,19.355,2338,17.357,2339,14.823,2340,16.257]],["keywords/815",[]],["title/816",[14,379.983]],["content/816",[14,4.65,140,3.309,236,3.409,255,3.437,467,2.614,487,7.033,524,5.114,554,5.413,807,2.575,824,3.444,832,2.467,847,2.811,883,6.654,885,6.047,892,8.998,925,3.977,982,4.161,984,9.641,986,10.588,994,11.63,1004,10.456,1013,10.762,1014,4.751,1037,10.428,1117,11.63,1269,8.229,1336,6.459,1393,10.277,2100,8.829,2341,14.385,2342,14.385,2343,14.385,2344,12.61,2345,14.385,2346,14.385,2347,14.385,2348,14.385,2349,14.385,2350,12.61,2351,14.385,2352,14.385,2353,14.385,2354,14.385]],["keywords/816",[]],["title/817",[2355,1555.113]],["content/817",[9,2.754,14,5.395,48,7.785,58,7.106,223,11.062,340,9.956,363,3.333,417,6.716,554,6.84,556,4.572,613,7.051,617,11.803,625,8.719,676,14.38,807,3.254,824,4.352,832,2.356,847,2.685,885,5.776,900,7.905,1337,15.053,2356,18.178]],["keywords/817",[]],["title/818",[516,756.595]],["content/818",[467,2.043,832,2.704,847,3.082,2357,20.865,2358,18.946]],["keywords/818",[]],["title/819",[2359,1555.113]],["content/819",[9,2.915,141,6.862,163,14.645,198,15.22,275,12.02,443,7.331,467,1.884,516,9.361,728,8.178,832,2.494,847,2.842,885,6.114,944,5.751,958,12.367,1727,14.162,2360,19.24]],["keywords/819",[]],["title/820",[2361,1555.113]],["content/820",[204,5.676,246,8.857,335,13.708,357,6.692,443,7.94,467,2.415,513,9.153,534,8.759,545,3.173,613,5.287,624,4.734,719,7.657,732,9.909,824,4.989,828,7.551,832,2.701,842,5.739,973,5.837,2358,20.708,2362,16.554,2363,14.078,2364,16.554,2365,9.681,2366,16.554,2367,18.921,2368,16.554]],["keywords/820",[]],["title/821",[2369,1555.113]],["content/821",[9,2.376,141,4.709,246,7.818,286,5.974,467,2.473,513,8.669,516,9.794,545,3.859,613,5.007,692,5.673,824,3.754,832,2.032,842,5.436,847,3.465,885,4.982,892,8.493,900,9.67,973,8.755,1147,16.367,2363,13.334,2367,20.19,2370,15.678,2371,22.235,2372,21.064]],["keywords/821",[]],["title/822",[2373,1412.056]],["content/822",[14,4.987,59,3.521,63,8.365,202,7.192,322,6.409,449,9.588,467,2.199,475,5.693,505,7.222,520,8.072,545,3.07,613,5.115,800,7.908,804,4.856,807,2.867,832,2.076,835,11.79,838,5.696,840,5.568,847,2.366,988,11.934,1110,5.248,1205,4.721,1333,10.006,1393,16.896,1487,10.868,2308,18.598,2373,14.544,2374,20.408,2375,20.408,2376,15.267]],["keywords/822",[]],["title/823",[2377,1555.113]],["content/823",[41,4.829,50,6.152,223,11.708,263,10.78,467,1.884,548,8.208,804,4.578,832,2.494,847,2.842,1024,12.493,1127,13.746,1480,7.832,1899,15.932,2378,19.24,2379,16.363,2380,16.363]],["keywords/823",[]],["title/824",[1108,1163.403]],["content/824",[41,4.737,222,10.796,467,2.211,657,13.68,807,4.042,824,4.518,832,2.446,847,2.787,944,5.641,1039,15.147,1108,14.119,1727,13.892,2381,18.873,2382,17.136,2383,18.873,2384,18.873,2385,18.873]],["keywords/824",[]],["title/825",[2386,1412.056]],["content/825",[1,3.708,8,6.064,9,2.931,26,6.411,78,8.825,79,5.782,140,3.391,171,5.859,257,7.463,274,5.111,354,8.557,409,11.871,423,5.689,454,9.477,467,2.437,562,8.206,605,8.897,613,4.708,674,11.029,787,8.621,789,6.487,804,3.508,807,3.462,815,9.573,832,1.911,838,3.739,840,5.125,842,5.111,847,2.177,885,6.146,925,5.348,1054,12.208,1431,7.718,1558,10.003,1683,6.043,1827,12.208,1954,8.261,2386,17.563,2387,7.005,2388,11.662,2389,12.924,2390,10.852,2391,7.901,2392,7.005,2393,14.743,2394,9.477,2395,14.743,2396,14.743,2397,10.533,2398,14.743]],["keywords/825",[]],["title/826",[743,639.701]],["content/826",[467,2.538,743,9.22,807,3.335,832,2.415,847,2.752,885,5.921,892,7.862,924,6.27,925,5.152,984,9.44,1014,6.154,1187,14.45,1365,12.798,2100,11.437,2399,15.849,2400,13.508]],["keywords/826",[]],["title/827",[1247,1257.267]],["content/827",[467,2.503,748,14.835,823,12.478,832,2.431,847,2.77,925,6.664,1014,7.96,1244,17.028,1247,15.161,2401,17.766,2402,17.766]],["keywords/827",[]],["title/828",[2127,1412.056]],["content/828",[50,4.986,363,3.371,390,4.259,467,2.186,540,7.146,832,2.894,847,2.735,921,9.534,925,5.12,930,8.281,931,6.315,1437,6.883,1464,9.64,1629,12.565,2194,16.815,2195,16.815,2403,18.519,2404,18.519,2405,18.519,2406,18.519]],["keywords/828",[]],["title/829",[2390,1144.672]],["content/829",[6,7.29,9,2.657,13,7.397,15,7.088,144,5.852,219,12.526,467,1.717,524,4.711,746,8.657,804,4.172,807,3.138,812,6.42,832,2.272,847,2.59,1018,6.147,1051,14.911,1120,7.566,1581,9.527,1686,9.026,2020,8.572,2390,17.981,2407,17.533,2408,17.533,2409,13.117,2410,17.533,2411,14.175,2412,11.629]],["keywords/829",[]],["title/830",[2413,1287.729]],["content/830",[50,5.691,59,3.722,63,8.663,204,5.806,223,10.303,257,5.854,355,6.965,404,6.109,467,2.432,545,4.625,804,4.029,807,3.031,832,2.194,838,5.361,842,5.87,847,2.501,885,5.38,892,7.144,900,7.363,967,14.018,1158,10.578,1163,9.977,1224,14.4,2413,14.021,2414,17.087,2415,13.689]],["keywords/830",[]],["title/831",[3815,1679.439]],["content/831",[]],["keywords/831",[]],["title/832",[32,402.5,34,494.096,230,468.833]],["content/832",[1,3.199,9,2.654,15,5.141,27,5.386,31,5.038,32,10.017,34,10.71,38,8.872,41,5.028,46,3.847,48,5.447,122,3.07,140,2.925,195,8.962,222,11.459,230,8.247,236,3.014,248,5.935,263,7.126,274,4.409,285,5.735,306,8.53,324,9.515,329,4.459,360,13.592,382,8.735,423,4.908,453,6.477,506,13.608,540,4.908,613,4.062,614,8.845,625,6.1,641,8.019,651,7.675,677,5.688,719,8.101,735,9.862,788,12.719,836,6.887,840,6.089,852,11.149,853,11.149,887,6.188,949,5.288,1201,14.312,1261,8.605,1266,6.376,1437,6.51,1480,5.177,1573,6.697,1677,10.148,2581,9.22,3678,10.532,3796,6.512,3816,9.502,3817,13.735,3818,13.735,3819,12.049,3820,12.719,3821,13.735]],["keywords/832",[]],["title/833",[108,301.226,148,431.479,1581,298.072,1582,579.283,3782,732.281]],["content/833",[1,5.169,5,8.336,9,2.453,13,6.831,22,10.408,23,6.591,31,6.414,32,8.307,34,12.16,91,7.995,193,3.539,230,9.676,274,5.614,328,9.81,383,10.209,417,5.982,523,6.831,524,4.351,609,9.198,711,9.692,863,7.457,868,14.369,1008,8.118,1135,11.41,1191,13.408,1581,9.189,1582,12.809,1584,11.569,1687,9.547,1688,14.703,3822,17.487,3823,14.703,3824,17.487]],["keywords/833",[]],["title/834",[329,295.866,453,429.787,741,594.675,836,290.158]],["content/834",[1,3.601,6,5.952,12,11.574,31,5.67,32,9.158,34,9.414,46,6.853,48,6.131,91,7.068,122,3.455,194,6.04,208,7.815,215,6.36,236,4.496,307,10.228,357,7.669,453,7.291,540,5.524,603,7.974,716,7.626,719,6.622,797,10.377,836,7.789,840,4.977,842,6.577,848,6.325,849,10.931,873,9.601,1048,8.124,1254,10.897,1261,7.033,1581,8.661,1595,12.549,1624,12.35,1839,13.562,3513,11.325,3620,9.495,3701,10.71,3825,15.46,3826,15.46,3827,15.46,3828,14.316,3829,15.46,3830,12.549,3831,15.46,3832,15.46,3833,15.46,3834,15.46]],["keywords/834",[]],["title/835",[108,266.035,117,355.309,148,381.072,363,97.636,524,173.763,830,400.41]],["content/835",[14,4.185,21,4.877,32,9.363,85,8.215,117,11.695,122,4.134,229,9.235,236,4.059,326,8.916,363,3.214,380,8.374,524,5.719,613,5.47,623,11.924,764,7.821,830,13.179,1627,13.847,1693,16.226,2581,12.416,3452,18.66,3646,11.121,3835,18.497,3836,15.014,3837,18.497,3838,18.497,3839,9.471]],["keywords/835",[]],["title/836",[18,369.017,21,167.756,32,296.016,824,175.319,948,606.374]],["content/836",[18,10.297,21,4.681,32,8.26,423,7.885,789,8.991,840,7.104,3448,12.331,3778,18.554]],["keywords/836",[]],["title/837",[429,270.886,1737,717.712,3836,739.776,3840,766.28]],["content/837",[18,10.689,23,8.634,32,6.884,34,8.451,41,4.274,117,9.356,220,8.865,236,5.475,326,8.865,358,6.235,363,2.571,429,5.466,453,8.673,524,4.575,614,11.843,719,7.877,827,10.451,830,10.543,836,5.855,840,5.92,842,5.904,949,8.819,1208,7.678,1216,11.295,1480,8.634,1573,8.966,3657,11.843,3836,14.928,3840,15.463,3841,18.391,3842,9.239]],["keywords/837",[]],["title/838",[7,621.632,8,499.41]],["content/838",[]],["keywords/838",[]],["title/839",[1336,545.152,3843,1311.126]],["content/839",[8,7.524,18,12.49,19,7.803,23,9.021,32,9.639,41,4.591,58,7.15,97,8.691,438,9.802,482,10.616,486,6.43,612,11.225,613,5.841,762,11.877,860,10.318,1535,14.182,3733,16.033,3844,19.753]],["keywords/839",[]],["title/840",[13,512.203,32,490.771]],["content/840",[1,2.397,2,8.324,5,7.328,9,1.444,14,2.328,19,4.066,23,3.879,27,4.035,30,2.495,31,5.638,32,9.341,34,4.729,41,4.276,46,2.883,59,3.129,61,4.961,67,8.143,90,3.575,91,4.705,188,8.92,194,4.02,205,3.948,215,2.849,246,3.701,274,3.304,287,3.082,312,9.529,319,4.99,322,3.813,326,4.961,328,4.549,355,3.92,358,3.489,362,3.248,363,1.439,380,4.659,413,5.304,417,3.521,449,5.704,467,2.484,523,4.02,524,2.56,540,6.575,554,6.411,563,7.014,603,4.006,613,6.776,623,4.906,632,5.018,659,7.538,677,6.365,719,4.408,730,6.253,755,7.704,766,4.729,812,5.212,824,3.408,832,1.845,836,5.858,842,4.935,868,6.066,900,4.144,902,9.028,973,3.36,988,5.572,1008,4.777,1011,5.615,1018,3.341,1062,6.391,1110,3.122,1120,4.112,1225,11.3,1281,6.715,1344,7.976,1535,7.389,1581,7.693,1582,7.538,1624,5.531,1633,9.529,1638,8.653,1662,10.318,1910,8.104,2100,8.736,2128,10.835,2610,4.279,3845,10.291,3846,15.372,3847,18.4,3848,15.372,3849,9.529,3850,9.529,3851,9.529,3852,9.529,3853,9.529,3854,9.529,3855,9.529,3856,9.529,3857,10.291,3858,9.529,3859,14.234,3860,6.066,3861,10.291,3862,10.291,3863,10.291,3864,10.291,3865,10.291,3866,9.529,3867,9.028]],["keywords/840",[]],["title/841",[32,490.771,429,389.7]],["content/841",[1,6.153,2,9.417,32,9.89,58,6.295,108,6.625,178,13.02,215,4.814,287,5.209,362,5.138,417,5.95,429,6.573,613,7.568,746,7.951,812,5.897,988,9.417,1610,7.652,2070,6.949,2610,10.111,3868,21.331,3869,24.317,3870,22.115,3871,19.4,3872,17.392,3873,17.392,3874,17.392]],["keywords/841",[]],["title/842",[32,490.771,167,855.508]],["content/842",[]],["keywords/842",[]],["title/843",[32,402.5,613,317.989,667,605.896]],["content/843",[]],["keywords/843",[]],["title/844",[41,390.324]],["content/844",[32,7.581,41,5.647,193,4.098,274,6.501,363,3.639,613,5.989,640,13.804,677,8.386,706,10.303,719,8.675,836,7.736,842,6.501,1613,5.989,1736,12.879,3875,20.252,3876,20.252,3877,20.252]],["keywords/844",[]],["title/845",[380,760.282]],["content/845",[9,2.61,14,5.22,32,6.964,46,5.211,188,9.019,193,5.306,248,8.039,274,5.973,319,6.04,325,15.102,363,3.506,380,10.445,423,6.648,429,6.858,453,8.774,554,6.482,667,10.483,719,7.969,726,10.666,766,8.549,949,7.163,1120,7.434,1480,7.012,2578,10.762,3878,18.605,3879,15.102,3880,18.605]],["keywords/845",[]],["title/846",[358,569.401]],["content/846",[1,5.274,6,3.839,9,2.819,15,3.732,18,4.653,19,3.939,21,3.184,32,7.52,41,2.317,46,5.628,50,2.486,58,3.609,86,5.716,108,5.718,148,5.44,174,4.543,187,3.811,188,4.833,193,2.018,197,5.282,205,3.825,222,5.282,248,7.801,259,7.079,265,7.645,274,4.819,285,4.163,297,4.514,301,5.208,329,3.237,332,5.04,345,2.979,358,9.189,360,13.539,363,3.165,380,4.514,382,11.824,390,2.124,398,3.881,423,3.563,424,6.058,429,4.462,443,3.518,475,5.849,486,3.246,506,8.764,603,3.881,624,2.64,627,6.596,667,10.173,688,5.009,700,5.666,706,7.637,710,7.028,743,3.798,746,4.559,794,5.877,796,7.159,824,4.002,840,3.21,921,7.156,944,4.155,949,3.839,982,4.836,1033,5.572,1120,3.984,1142,6.192,1192,6.796,1215,2.634,1221,7.645,1225,6.123,1298,8.093,1336,4.146,1435,9.233,1437,5.167,1475,4,1619,14.063,1677,11.343,1849,6.596,2102,6.265,2311,5.245,2578,5.768,3554,8.747,3629,4.948,3879,8.093,3881,8.383,3882,9.971,3883,9.971,3884,9.971,3885,9.971,3886,12.622,3887,9.971,3888,9.971,3889,9.971,3890,9.971,3891,8.383,3892,9.233,3893,5.768]],["keywords/846",[]],["title/847",[46,470.435]],["content/847",[9,3.114,14,3.956,18,10.355,19,6.908,21,3.709,32,6.546,46,7.413,193,3.539,274,5.614,319,5.677,332,8.84,363,2.445,374,9.853,380,10.046,429,6.596,438,11.013,453,10.465,488,11.738,524,4.351,540,6.248,613,5.171,624,4.631,658,11.919,667,9.853,719,7.49,764,7.394,969,9.853,1142,10.86,1444,14.703,3879,14.194,3894,17.487,3895,17.487,3896,17.487,3897,17.487,3898,17.487,3899,17.487]],["keywords/847",[]],["title/848",[453,791.987]],["content/848",[5,7.515,18,7.356,31,5.782,32,7.768,34,7.244,41,3.664,46,5.813,136,9.038,193,4.2,236,3.46,248,8.968,326,7.599,329,5.118,380,7.137,423,5.633,429,4.686,438,11.513,453,12.645,540,7.416,554,5.493,556,3.672,667,8.883,677,6.528,728,6.205,741,10.286,836,8.765,949,7.99,1008,7.318,1045,8.292,1061,8.292,1470,8.179,1624,8.473,1685,13.829,2578,12.005,3440,10.921,3553,10.582,3879,12.796,3900,15.765,3901,15.765,3902,15.765,3903,15.765,3904,15.765,3905,14.598]],["keywords/848",[]],["title/849",[667,738.774,3906,1311.126]],["content/849",[]],["keywords/849",[]],["title/850",[9,127.87,842,292.574,1225,559.715,1344,472.856]],["content/850",[1,3.435,9,2.785,21,3.128,32,8.986,34,6.777,90,7.795,140,4.779,246,5.304,287,5.946,362,4.195,363,2.062,467,2.489,556,3.435,600,3.685,613,5.871,632,7.19,719,6.317,812,6.731,832,2.383,842,4.734,900,5.939,973,4.815,982,6.011,988,7.985,1008,6.846,1127,9.757,1225,9.057,1281,9.623,1344,10.3,1610,6.489,1662,13.326,2100,8.381,2128,10.395,2311,7.757,3378,10.216,3849,13.656,3850,13.656,3851,13.656,3852,13.656,3853,13.656,3854,13.656,3855,13.656,3856,13.656,3858,13.656,3859,18.383,3860,8.693,3907,15.634,3908,14.748,3909,14.748,3910,14.748,3911,14.748,3912,14.748]],["keywords/850",[]],["title/851",[46,367.265,429,389.7]],["content/851",[9,2.533,31,3.657,32,3.732,46,6.343,50,4.502,68,3.924,122,3.355,193,2.018,204,3.166,236,3.295,257,3.192,329,6.522,355,6.877,363,3.579,390,4.279,417,3.411,467,2.423,475,2.576,524,3.735,540,7.179,545,1.77,556,2.322,571,11.496,600,3.751,624,2.64,632,9.795,661,3.106,719,4.271,739,8.906,742,5.399,815,5.995,832,1.802,837,5.572,838,3.526,840,5.812,842,3.201,889,6.612,900,4.015,921,8.607,929,11.841,944,5.561,982,4.021,1078,5.666,1110,3.025,1141,7.042,1171,8.383,1208,4.163,1215,4.77,1333,5.768,1370,14.687,1437,5.167,1489,6.907,1557,5.32,1587,7.645,1588,8.383,1590,8.093,1610,8.84,1635,15.821,1639,8.383,1641,9.667,1644,2.949,1646,9.233,1647,9.233,1648,9.233,1649,9.233,1651,13.9,1652,9.233,1653,9.233,1654,12.622,1655,9.233,1656,9.233,1657,9.233,1658,8.383,1659,8.747,1964,8.383,3907,11.822,3913,9.233,3914,9.971,3915,9.971,3916,9.971,3917,9.971,3918,9.233,3919,9.971,3920,9.971,3921,9.971,3922,9.971,3923,9.971,3924,9.971]],["keywords/851",[]],["title/852",[7,509.824,193,217.607,380,486.79]],["content/852",[96,11.449,193,4.405,380,9.854,467,1.974,832,2.612,840,7.007,3907,17.142,3925,20.156,3926,21.767,3927,21.767]],["keywords/852",[]],["title/853",[193,217.607,310,353.064,380,486.79]],["content/853",[96,11.001,193,5.012,310,6.867,329,6.789,380,9.468,467,1.896,755,15.657,832,2.51,840,6.733,3907,16.47,3925,19.366,3928,16.976,3929,20.914,3930,20.914,3931,20.914]],["keywords/853",[]],["title/854",[310,353.064,380,486.79,929,633.798]],["content/854",[9,2.915,96,10.929,193,5.325,467,1.884,739,10.25,832,2.494,837,11.611,889,5.553,929,14.542,981,12.904,3907,16.363,3932,20.778,3933,20.778,3934,20.778]],["keywords/854",[]],["title/855",[41,211.817,208,460.703,3842,457.831,3935,911.381]],["content/855",[9,3.371,18,9.274,32,7.44,34,9.133,41,5.584,140,4.233,193,4.022,208,10.047,236,5.272,263,10.312,274,6.38,329,6.452,843,14.559,1390,12.075,1845,18.404,3460,11.106,3839,10.176,3840,16.711,3842,9.984,3936,19.875,3937,19.875]],["keywords/855",[]],["title/856",[7,268.426,176,392.194,363,79.144,475,146.24,982,255.642,1208,236.378,1437,194.86]],["content/856",[7,6.54,9,3.042,26,5.555,32,7.101,34,6.339,77,11.406,122,3.083,157,6.215,194,5.389,195,9.001,230,6.014,329,8.213,349,14.147,363,1.928,364,6.93,377,7.646,467,2.429,490,7.469,632,6.726,657,12.733,739,12.076,812,4.677,832,1.655,838,3.24,840,7.517,982,3.695,984,12.156,1141,10.171,1208,7.92,1364,13.621,1437,4.748,1511,10.105,2328,8.667,2389,11.197,3514,18.954,3907,10.863,3938,13.795,3939,16.232,3940,20.077,3941,12.773,3942,13.795,3943,13.795,3944,13.795,3945,18.97,3946,13.795,3947,13.795,3948,13.795,3949,13.795,3950,13.795,3951,13.795]],["keywords/856",[]],["title/857",[981,814.264,2578,758.447]],["content/857",[9,2.934,19,8.262,188,10.138,262,11.24,969,11.784,981,12.988,982,5.602,1849,13.836,2578,12.098,3578,15.32,3928,16.976,3952,20.914,3953,20.914,3954,20.914,3955,20.914,3956,20.914]],["keywords/857",[]],["title/858",[50,268.107,1464,518.326,2477,995.701]],["content/858",[9,2.934,15,7.828,23,7.883,32,7.828,46,5.858,50,5.215,187,7.994,349,13.646,357,7.828,467,1.896,824,4.636,1142,12.988,1464,11.939,3957,20.914,3958,20.914]],["keywords/858",[]],["title/859",[77,646.526,1464,518.326,3959,1075.304]],["content/859",[9,2.878,18,9.571,77,12.333,90,7.125,467,2.22,804,5.395,832,2.938,847,3.348,1464,9.887,1607,12.597,1629,12.887,3960,20.512,3961,20.512,3962,20.512,3963,20.512]],["keywords/859",[]],["title/860",[32,296.016,34,363.38,141,219.937,377,438.323,1954,410.308]],["content/860",[1,3.566,8,5.832,9,2.856,32,9.123,34,11.199,141,6.36,157,6.898,176,10.607,251,9.281,345,4.574,354,8.229,364,7.692,377,8.487,383,8.94,467,2.365,521,8.229,524,3.809,570,10.278,667,8.628,716,7.553,739,7.553,832,1.838,840,4.929,860,10.634,949,5.895,988,8.291,1011,11.107,1051,12.058,1134,10.607,1141,7.183,1470,10.562,1581,7.673,1582,11.216,1654,12.874,1690,12.058,1849,10.13,1941,9.025,1954,10.562,3964,13.432,3965,15.312,3966,15.312,3967,15.312,3968,17.858,3969,15.312,3970,20.358,3971,15.312,3972,15.312,3973,15.312,3974,11.741]],["keywords/860",[]],["title/861",[7,432.104,215,252.261,836,290.158,944,252.261]],["content/861",[5,7.03,7,6.992,9,3.368,21,3.128,23,5.559,32,7.431,41,4.614,46,4.131,48,5.848,79,7.21,85,6.55,91,6.743,140,3.141,172,10.589,209,8.693,215,6.935,222,10.516,223,8.31,235,9.362,236,3.237,257,4.721,274,4.734,329,4.788,355,5.617,394,12.4,417,5.045,424,12.061,453,9.362,486,4.801,597,9.122,625,8.817,627,9.757,741,9.623,836,8.537,842,4.734,849,10.592,941,7.503,949,7.643,1011,8.047,1103,7.275,1279,8.455,1470,7.652,1610,8.735,1624,7.926,2220,11.971,2606,12.937,3440,10.216,3905,13.656,3975,14.748,3976,14.748,3977,14.748,3978,14.748,3979,14.748,3980,13.656]],["keywords/861",[]],["title/862",[32,490.771,3777,1005.321]],["content/862",[]],["keywords/862",[]],["title/863",[3777,1287.729]],["content/863",[]],["keywords/863",[]],["title/864",[32,341.142,34,418.775,408,380.515,862,532.099]],["content/864",[1,2.322,5,10.272,6,3.839,8,3.798,9,1.399,21,2.115,31,5.506,32,8.066,34,4.582,46,5.628,86,5.716,105,7.028,136,5.716,140,2.124,162,4.677,174,3.017,205,5.759,216,7.645,236,2.188,248,4.308,251,9.536,264,4.948,269,5.8,294,6.907,319,3.237,329,3.237,354,9.703,374,5.618,408,10.524,429,2.964,450,5.572,453,8.514,467,2.508,482,5.359,490,5.399,502,6.907,526,6.636,540,3.563,545,1.77,548,3.939,556,2.322,562,5.139,613,2.949,634,5.483,677,6.216,719,4.271,728,3.924,729,5.995,832,1.802,836,5.748,837,5.572,838,2.342,860,5.208,862,10.541,885,2.934,887,4.492,944,4.997,985,6.058,1110,3.025,1120,3.984,1192,6.796,1205,5.483,1207,6.341,1333,5.768,1385,3.496,1470,9.367,1502,12.622,1639,8.383,1662,10.076,1682,13.516,1683,3.785,2100,8.531,2128,10.581,2288,12.185,2340,7.852,2581,6.693,2610,4.146,2611,7.464,2618,8.093,3620,6.123,3777,7.645,3802,11.822,3836,8.093,3881,8.383,3964,17.623,3968,13.168,3981,9.971,3982,9.971,3983,9.971,3984,18.054,3985,15.012,3986,7.159,3987,15.012,3988,13.168,3989,7.028,3990,9.971,3991,15.012,3992,9.971,3993,8.747]],["keywords/864",[]],["title/865",[6,413.995,408,448.955,1683,408.142]],["content/865",[1,5.772,6,7.481,9,2.726,13,9.257,22,8.504,32,8.87,59,5.045,90,4.963,91,8.884,122,3.193,136,8.191,140,3.043,204,6.169,357,5.348,359,11.38,362,3.019,408,10.921,429,5.775,450,7.984,525,7.535,624,3.783,625,6.345,731,8.504,789,7.917,976,5.404,1074,8.68,1091,10.465,1197,10.07,1199,9.897,1272,8.434,1683,9.928,1838,6.041,2047,9.085,2411,10.696,2777,6.848,3501,14.233,3994,14.287,3995,12.533,3996,17.045,3997,14.899,3998,11.251,3999,12.533,4000,14.287,4001,14.287,4002,14.287,4003,14.287,4004,7.222,4005,13.229]],["keywords/865",[]],["title/866",[6,240.772,7,296.504,408,433.017,764,264.42,1683,393.653]],["content/866",[1,6.045,6,10.291,9,2.537,193,3.659,215,5.004,408,10.836,417,6.185,511,11.797,523,10.139,634,9.941,764,9.582,842,5.804,926,9.789,1683,10.505,1838,9.582,2328,11.359,2965,15.859,4006,18.079,4007,18.079]],["keywords/866",[]],["title/867",[408,448.955,524,267.523,1683,408.142]],["content/867",[1,2.112,6,3.491,9,1.959,13,5.455,31,5.122,32,5.227,46,7.611,50,2.261,57,5.916,59,1.846,85,4.027,122,2.027,144,2.802,197,4.803,230,6.088,235,4.276,236,5.396,251,3.68,269,3.504,273,2.615,322,3.359,362,1.916,363,2.381,408,10.053,429,2.695,453,6.585,464,3.542,467,2.57,486,2.952,487,4.105,513,4.643,524,2.256,556,2.112,699,6.51,719,5.981,729,5.452,731,5.397,749,6.642,789,3.694,812,5.774,815,5.452,830,5.198,836,4.446,856,7.803,862,9.943,889,4.551,900,3.651,930,3.755,933,5.631,949,5.376,971,6.604,985,8.484,1059,6.086,1091,6.642,1192,6.18,1207,5.766,1266,4.209,1344,4.704,1444,7.624,1584,5.998,1624,7.505,1682,10.454,1683,3.442,1703,6.391,1704,6.391,1705,6.952,1838,3.834,1899,6.952,2486,7.954,3051,6.952,3468,7.36,3619,6.391,3802,10.997,3839,4.643,3986,6.51,4008,7.624,4009,9.067,4010,9.067,4011,8.396,4012,9.067,4013,9.067,4014,9.067,4015,9.067,4016,9.067,4017,9.067,4018,9.067,4019,9.067,4020,17.03,4021,17.03,4022,9.067,4023,9.067,4024,13.964,4025,9.067,4026,9.067,4027,9.067,4028,13.964,4029,9.067,4030,9.067,4031,9.067,4032,9.067,4033,9.067,4034,9.067,4035,9.067,4036,9.067,4037,9.067,4038,9.067,4039,11.335,4040,9.067,4041,9.067,4042,9.067,4043,9.067,4044,9.067,4045,9.067,4046,9.067,4047,9.067]],["keywords/867",[]],["title/868",[32,628.636]],["content/868",[]],["keywords/868",[]],["title/869",[1,212.259,32,341.142,262,489.812,359,469.712]],["content/869",[1,5.817,6,5.626,13,5.709,15,5.47,18,6.819,23,8.419,27,5.73,28,11.987,31,5.36,32,9.634,34,9.066,35,11.508,41,3.396,46,4.093,61,7.044,136,8.378,146,7.945,149,6.343,174,4.422,189,9.411,193,2.957,274,4.691,287,4.377,292,6.928,357,5.47,358,4.954,362,3.088,363,2.043,382,10.316,475,3.775,501,8.975,524,4.909,609,7.686,658,9.96,719,6.259,732,8.1,784,8.878,803,11.508,812,4.954,836,4.652,860,7.634,868,8.613,876,6.026,921,6.966,1211,11.862,1434,8.166,1581,5.508,1610,6.43,2224,10.94,2376,10.123,2391,7.252,2578,8.453,2611,10.94,3526,9.458,3823,12.287,4048,14.613,4049,14.613,4050,14.613,4051,14.613,4052,14.613,4053,14.613,4054,14.613,4055,14.613,4056,14.613]],["keywords/869",[]],["title/870",[1,184.182,9,110.956,32,296.016,133,434.85,4057,790.825]],["content/870",[1,5.807,6,4.264,9,2.277,13,4.326,14,2.506,22,6.592,23,7.973,25,6.294,31,4.062,32,9.333,34,8.827,35,15.128,41,4.465,48,4.392,90,3.847,128,8.492,133,8.924,140,3.456,144,3.423,148,6.042,149,4.807,167,7.226,174,3.351,187,6.204,193,2.241,251,7.796,260,8.964,262,5.952,267,15.871,274,3.555,294,7.672,301,5.785,310,3.636,329,6.867,358,3.755,363,2.269,398,4.31,404,3.7,421,5.866,429,5.71,502,11.243,520,5.168,524,4.038,624,2.933,629,14.381,632,10.313,671,7.326,677,4.586,719,8.228,739,8.006,742,5.997,746,5.063,764,4.683,840,7.249,944,3.065,947,4.965,976,4.189,982,2.967,984,5.195,1011,6.042,1142,6.878,1208,4.624,1437,3.812,1612,12.534,1677,9.922,2161,6.09,2223,8.112,2284,8.989,2376,7.672,2417,9.715,2610,4.605,3097,4.829,3371,8.112,3385,13.174,3431,7.043,3525,8.492,3678,8.492,3778,9.311,3804,9.311,4058,11.075,4059,11.075,4060,11.075,4061,16.229,4062,16.229,4063,7.806,4064,11.075,4065,10.255,4066,10.255,4067,11.075]],["keywords/870",[]],["title/871",[9,150.869,140,229.009,404,359.236]],["content/871",[]],["keywords/871",[]],["title/872",[58,389.23,68,423.21,526,475.327]],["content/872",[9,1.895,13,5.275,27,5.295,32,6.997,41,3.138,46,3.783,58,9.097,59,3.805,68,9.562,90,4.691,122,3.018,140,2.876,144,4.173,193,2.733,215,5.934,274,4.335,287,4.045,310,4.434,323,5.375,329,6.069,345,4.034,362,2.853,363,3.602,380,6.113,382,9.902,443,7.564,475,3.488,486,4.396,524,3.36,525,5.237,526,9.477,569,9.204,677,7.741,719,5.784,812,4.578,836,4.299,848,5.524,876,5.569,929,7.959,947,6.054,976,5.108,982,3.617,1007,7.674,1120,5.396,1198,6.622,1205,6.315,1473,9.114,1610,5.942,1680,6.826,2070,5.396,2578,7.811,3399,11.354,3431,8.587,3460,7.546,3779,6.784,4068,13.504,4069,13.504,4070,13.504,4071,13.504,4072,13.504,4073,13.504,4074,10.634,4075,13.504,4076,18.693,4077,13.504,4078,10.634,4079,13.504,4080,13.504]],["keywords/872",[]],["title/873",[41,304.723,769,908.26]],["content/873",[6,6.191,9,2.95,13,6.282,27,6.306,32,8.769,41,4.887,59,3.273,68,6.329,140,3.425,193,3.254,221,6.686,243,8.643,262,11.3,279,10.356,287,4.817,323,9.89,362,3.398,363,2.939,380,7.28,486,5.235,507,15.097,525,6.236,533,7.176,566,8.58,617,9.669,674,11.14,719,6.888,769,14.565,812,5.452,820,4.817,933,9.987,976,6.082,1120,6.426,1133,9.479,1294,7.28,1423,14.82,1610,7.076,1677,7.543,1768,12.039,3779,8.078,4081,20.89,4082,12.331,4083,8.344,4084,16.081,4085,21.026,4086,16.081]],["keywords/873",[]],["title/874",[194,420.077,380,486.79,382,496.61]],["content/874",[32,7.088,41,4.401,50,6.302,140,4.033,193,3.832,274,7.487,310,6.217,360,11.897,363,3.534,380,10.559,382,8.745,429,5.628,475,4.891,520,8.835,613,5.599,742,10.253,982,5.072,1437,8.028,1677,8.882,2417,16.61,2578,14.622,4087,18.935,4088,18.935]],["keywords/874",[]],["title/875",[32,402.5,117,547.029,524,267.523]],["content/875",[]],["keywords/875",[]],["title/876",[117,666.996,524,326.193]],["content/876",[32,9.29,34,10.451,41,4.226,117,13.894,197,9.631,248,7.857,326,8.764,358,6.164,380,8.231,382,8.397,429,6.76,524,6.47,540,6.497,597,11.405,677,7.529,719,10.631,1147,15.502,1480,6.853,1627,13.611,2415,13.611,2578,10.518,3836,14.759]],["keywords/876",[]],["title/877",[1906,1127.28]],["content/877",[19,8.334,32,8.791,91,7.389,117,13.473,204,5.132,208,8.17,230,9.198,236,4.63,248,6.984,355,6.156,363,2.259,377,8.958,409,9.185,453,7.622,524,4.021,545,2.869,556,3.764,623,7.705,719,9.036,742,11.422,789,6.586,790,13.589,824,3.583,836,5.146,862,9.436,931,5.104,1103,7.973,1110,4.904,1147,16.007,1154,9.526,1215,5.574,1370,11.016,1581,6.092,1611,10.692,1635,12.728,1686,7.705,2293,11.605,3538,13.119,3866,14.966,4089,16.163,4090,16.163,4091,16.163,4092,16.163,4093,19.534,4094,16.163]],["keywords/877",[]],["title/878",[140,279.233,3732,1150.133]],["content/878",[9,2.399,13,4.648,32,8.188,46,3.333,59,2.422,117,11.787,140,2.534,197,6.302,205,4.564,355,4.532,363,2.39,467,2.598,505,4.967,524,5.764,540,6.109,556,2.771,571,6.348,597,5.467,613,5.056,719,5.096,742,6.442,832,2.052,836,5.443,840,3.83,860,10.453,949,8.422,982,5.36,989,8.109,1110,3.61,1113,9.658,1116,9.123,1147,11.652,1208,4.967,1215,3.143,1370,8.109,1437,5.884,1450,13.109,1548,11.017,1587,9.123,1635,13.463,1662,7.986,1664,11.017,1725,10.437,2100,6.761,2128,8.386,2293,8.543,2311,10.525,3732,10.437,4093,11.017,4095,11.898,4096,11.898,4097,11.898,4098,17.096,4099,11.898,4100,11.898,4101,11.898,4102,11.898,4103,11.898,4104,11.898,4105,17.096,4106,11.898,4107,11.898,4108,11.898,4109,11.898,4110,11.898,4111,11.898,4112,11.898,4113,11.017,4114,11.898,4115,11.898,4116,11.898,4117,11.898,4118,11.898,4119,11.898,4120,11.898]],["keywords/878",[]],["title/879",[30,220.945,246,327.755,310,299.242,820,272.971]],["content/879",[8,6.81,9,2.508,30,5.456,38,8.386,76,11.665,141,6.85,208,9.037,236,3.923,246,8.093,251,7.256,310,5.87,355,6.81,358,6.061,362,3.777,505,7.464,554,7.841,592,9.153,625,7.94,629,13.383,648,11.369,711,9.909,792,16.554,820,6.74,876,7.373,988,9.68,1099,11.103,1212,11.232,2311,11.837,2411,13.383,4121,14.511,4122,17.877,4123,11.827,4124,17.877,4125,17.877,4126,16.554]],["keywords/879",[]],["title/880",[756,689.643,2649,1102.381]],["content/880",[]],["keywords/880",[]],["title/881",[4127,1679.439]],["content/881",[41,5.094,46,6.139,475,5.661,847,2.997,982,5.871,1205,5.981,4128,21.916,4129,21.916,4130,21.916]],["keywords/881",[]],["title/882",[1610,738.951]],["content/882",[15,8.148,194,8.504,262,11.699,359,11.218,380,9.854,545,3.864,699,8.321,4131,21.767,4132,21.767,4133,21.767]],["keywords/882",[]],["title/883",[766,771.693]],["content/883",[1989,16.984]],["keywords/883",[]],["title/884",[23,405.295,262,577.911,310,353.064]],["content/884",[23,9.557,45,17.142,262,13.627,310,7.147,438,10.802,449,12.065,3578,15.945,3583,20.156]],["keywords/884",[]],["title/885",[385,1022.72,1294,486.79]],["content/885",[]],["keywords/885",[]],["title/886",[385,1081.511]],["content/886",[23,6.701,50,4.433,51,9.103,174,5.38,229,8.876,354,12.052,385,15.82,486,5.788,488,15.052,492,22.747,562,9.163,611,11.761,656,13.772,670,13.309,1024,13.483,1078,10.103,1294,8.048,1573,8.668,2311,9.351,3340,15.595,4134,22.425,4135,22.362,4136,17.778,4137,18.855,4138,20.765,4139,14.948,4140,17.778,4141,17.778]],["keywords/886",[]],["title/887",[385,844.328,486,426.839]],["content/887",[5,8.291,21,3.689,96,9.148,144,5.375,323,6.923,369,12.258,385,16.48,423,6.214,486,8.331,545,3.925,556,4.051,764,7.354,840,5.599,957,10.061,1024,13.297,1294,7.873,1333,10.061,1433,12.461,1512,9.8,1991,12.74,2498,10.927,3340,15.256,3448,9.718,4135,20.445,4137,14.623,4142,16.104,4143,14.623,4144,12.487,4145,15.256,4146,17.392,4147,17.392,4148,16.104,4149,17.392,4150,17.392,4151,14.623,4152,17.392]],["keywords/887",[]],["title/888",[385,844.328,1294,593.547]],["content/888",[8,4.762,16,5.66,18,5.834,23,4.712,51,9.068,90,6.152,140,3.772,144,3.864,149,7.687,162,11.077,248,5.402,251,5.074,258,4.07,283,5.803,292,5.927,332,6.32,355,4.762,369,8.811,379,7.044,383,7.299,385,16.59,390,2.663,417,4.277,467,2.141,500,5.054,520,5.834,540,6.328,545,3.971,562,6.443,565,10.397,569,8.521,612,7.105,624,3.311,629,9.359,678,6.131,737,6.821,840,4.025,957,7.232,1024,13.451,1294,11.102,1333,10.245,1433,9.979,1470,6.486,1480,6.675,1843,10.511,2145,8.49,2740,8.737,3425,11.576,4135,14.891,4137,10.511,4139,14.891,4145,10.967,4153,12.502,4154,12.502,4155,11.576,4156,22.372,4157,12.502,4158,12.502,4159,12.502,4160,12.502,4161,12.502,4162,12.502,4163,12.502,4164,12.502,4165,12.502,4166,12.502,4167,12.502,4168,12.502,4169,12.502,4170,12.502,4171,12.502,4172,12.502,4173,12.502,4174,12.502,4175,12.502,4176,12.502]],["keywords/888",[]],["title/889",[4177,1555.113]],["content/889",[9,3.223,48,5.266,58,4.807,85,5.898,106,7.085,149,5.764,157,5.983,162,8.667,187,5.076,205,5.094,208,6.713,251,5.39,275,10.689,286,4.685,292,6.296,316,6.133,340,5.544,369,9.36,385,14.794,467,2.267,545,3.772,603,5.169,611,8.785,624,4.893,629,9.941,653,8.665,656,8.156,726,7.613,732,7.36,762,6.59,803,10.458,824,2.944,842,6.822,947,5.954,1011,11.594,1057,9.051,1142,8.247,1253,5.131,1294,8.365,1373,6.63,1433,10.411,1575,15.536,2145,6.366,2224,13.833,2365,7.949,2399,10.458,4078,10.458,4135,11.165,4137,11.165,4138,12.297,4139,20.304,4142,12.297,4148,12.297,4177,21.273,4178,13.28,4179,13.28,4180,13.28,4181,13.28,4182,13.28,4183,13.28,4184,13.28,4185,13.28,4186,13.28,4187,13.28,4188,13.28,4189,13.28,4190,13.28,4191,13.28,4192,13.28,4193,11.649,4194,13.28,4195,11.649]],["keywords/889",[]],["title/890",[455,833.416]],["content/890",[2,2.239,5,1.972,9,2.071,15,3.65,19,2.876,21,3.593,23,1.559,25,2.35,29,3.096,31,3.576,48,1.64,50,2.431,51,6.013,76,4.75,83,1.828,90,3.387,91,1.891,94,2.915,105,2.915,108,2.773,121,3.628,140,2.501,149,5.097,157,4.393,162,5.509,174,1.252,175,2.223,181,3.096,187,5.117,190,5.043,191,5.333,193,0.837,197,6.221,216,3.171,229,2.065,236,3.239,237,3.029,246,2.618,248,1.787,251,1.678,263,3.777,264,2.052,272,2.513,279,4.688,283,7.395,285,3.039,286,2.568,292,1.961,296,9.248,297,3.296,301,2.16,323,2.898,328,4.31,336,2.915,343,1.299,352,4.035,355,6.785,357,3.65,358,1.402,383,7.815,390,3.144,398,1.61,413,2.131,417,2.49,419,8.198,441,3.171,443,2.568,454,2.462,455,10.79,467,2.09,469,2.513,478,3.379,486,1.346,490,2.239,500,2.943,505,4.071,520,4.55,545,2.828,554,7.576,556,5.229,613,5.494,618,6.279,623,3.47,629,3.096,634,2.274,642,2.462,668,2.819,677,1.713,684,3.257,692,1.386,699,6.089,703,3.096,709,3.257,713,1.795,719,3.118,727,4.173,728,1.628,729,2.487,732,5.404,737,2.256,739,3.591,764,1.749,766,3.345,771,6.755,781,13.668,789,3.973,800,1.891,807,0.685,828,2.99,832,1.606,840,2.344,842,1.328,843,3.029,878,8.968,886,3.105,887,1.863,892,1.616,893,3.096,894,9.543,900,1.665,926,2.239,948,9.005,957,4.211,959,3.357,973,5.201,981,8.313,985,2.513,992,4.377,1011,2.256,1068,2.052,1101,8.198,1110,1.255,1116,5.582,1120,1.653,1134,2.865,1141,1.94,1146,11.914,1261,1.881,1265,4.75,1294,3.296,1332,2.915,1333,9.215,1351,5.582,1352,5.988,1364,2.969,1385,1.45,1433,13.14,1437,1.423,1480,2.744,1896,5.097,1986,2.028,2137,2.819,2138,9.874,2145,11.178,2163,6.12,2170,10.865,2199,2.065,2277,6.386,2279,2.311,2388,3.029,2415,5.45,2498,10.009,2534,2.915,2560,6.386,2564,3.83,2674,2.819,2702,5.45,2710,3.029,2749,2.415,3108,5.909,3210,3.628,3448,5.449,3510,2.969,3536,3.477,3629,2.052,3796,1.961,3806,3.477,4145,10.302,4193,3.628,4195,3.628,4196,3.83,4197,3.83,4198,3.83,4199,3.096,4200,6.741,4201,7.28,4202,4.136,4203,4.136,4204,4.136,4205,17.158,4206,4.136,4207,4.136,4208,3.357,4209,7.28,4210,3.628,4211,4.136,4212,4.136,4213,4.136,4214,4.136,4215,4.136,4216,4.136,4217,2.736,4218,4.136,4219,4.136,4220,20.673,4221,4.136,4222,4.136,4223,4.136,4224,4.136,4225,4.136,4226,3.83,4227,7.28,4228,2.776,4229,4.136,4230,4.136,4231,4.136,4232,4.136,4233,4.136,4234,4.136,4235,4.136,4236,4.136,4237,4.136,4238,4.136,4239,4.136,4240,4.136,4241,4.136,4242,4.136,4243,3.83,4244,4.136,4245,3.477,4246,4.136,4247,4.136,4248,3.171,4249,7.28,4250,4.136,4251,4.136,4252,3.83,4253,4.136,4254,4.136,4255,4.136,4256,3.83,4257,3.477,4258,4.136,4259,4.136,4260,4.136,4261,4.136,4262,4.136,4263,4.136,4264,3.477]],["keywords/890",[]],["title/891",[369,757.892,4144,772.068,4265,995.701]],["content/891",[]],["keywords/891",[]],["title/892",[85,582.284,140,279.233]],["content/892",[5,4.347,7,4.323,8,3.473,9,1.968,13,3.562,16,7.737,90,7.913,91,4.169,96,7.377,106,4.865,133,5.014,140,1.942,175,9.185,178,6.827,194,5.479,196,7.402,209,5.375,260,4.255,264,6.96,274,2.927,283,6.511,286,3.217,318,11.045,329,4.553,345,2.724,369,9.885,385,13.338,423,3.258,443,3.217,467,2.452,505,7.136,545,3.676,562,8.808,565,4.61,569,11.649,642,5.428,644,5.428,678,4.472,709,7.181,728,3.589,732,5.054,737,4.975,808,6.545,840,2.935,951,10.55,973,2.977,1024,5.483,1135,5.95,1163,4.975,1298,7.402,1332,6.427,1385,4.917,1501,7.402,1572,5.729,1573,4.446,1687,3.923,1843,7.667,2145,12.01,2200,17.752,2336,6.992,2339,6.547,2581,9.414,3103,13.017,3108,21.821,3448,11.574,3556,4.498,3649,8.444,3842,4.581,3928,7.402,4144,12.271,4200,20.251,4217,6.033,4265,8.444,4266,7.402,4267,20.712,4268,19.187,4269,19.187,4270,14.025,4271,17.091,4272,9.119,4273,8.444,4274,9.119,4275,9.119,4276,5.95,4277,17.091,4278,9.119,4279,14.025,4280,9.119,4281,9.119,4282,6.827,4283,7.999,4284,9.119,4285,9.119,4286,7.402]],["keywords/892",[]],["title/893",[1,212.259,362,192.565,566,486.243,3646,547.967]],["content/893",[]],["keywords/893",[]],["title/894",[524,267.523,976,406.712,3646,646.526]],["content/894",[9,2.453,41,5.666,59,3.559,90,7.709,122,3.908,141,4.863,197,9.263,230,7.624,236,4.87,269,6.757,316,10.249,362,3.695,363,3.408,429,6.596,523,6.831,524,4.351,545,3.939,556,5.169,597,8.035,732,9.692,1048,8.8,1078,9.938,1212,10.987,1470,9.073,2340,13.771,3439,13.408,3617,16.192,4287,25.642,4288,17.487,4289,17.487,4290,17.487,4291,17.487]],["keywords/894",[]],["title/895",[9,150.869,524,267.523,3646,646.526]],["content/895",[8,6.005,9,2.212,46,5.813,59,3.209,68,8.168,90,8.059,140,4.42,193,3.19,209,9.292,221,6.555,230,6.873,269,8.019,286,5.562,297,7.137,323,6.275,362,4.385,429,6.896,438,7.823,490,8.536,505,8.665,524,5.163,563,10.745,566,8.411,570,10.582,589,19.507,699,6.026,739,7.776,843,11.548,856,8.809,1039,9.79,1045,8.292,1046,12.796,1048,8.23,1103,7.776,1212,13.039,3439,12.088,3646,9.478,4292,24.655,4293,15.765,4294,14.598,4295,15.765,4296,15.765,4297,13.829,4298,15.765,4299,15.765,4300,14.598,4301,14.598,4302,12.415]],["keywords/895",[]],["title/896",[140,357.673]],["content/896",[9,2.05,30,5.798,41,4.586,90,6.853,122,3.266,362,3.088,429,4.343,433,15.128,699,7.542,729,8.786,766,6.715,1048,8.858,3439,11.205,3646,11.863,4303,14.613,4304,26.757,4305,26.757,4306,26.757,4307,14.613,4308,14.613,4309,14.613,4310,22.337,4311,19.73,4312,19.73,4313,19.73,4314,19.73,4315,19.73,4316,23.918,4317,19.73,4318,19.73,4319,14.613,4320,14.613,4321,13.531,4322,14.613,4323,14.613,4324,12.287,4325,14.613,4326,11.508,4327,14.613]],["keywords/896",[]],["title/897",[1039,814.264,1056,908.26]],["content/897",[41,4.707,46,6.806,230,10.594,239,12.724,257,6.483,297,10.999,352,11.225,417,6.928,429,6.02,438,10.05,949,7.797,1045,10.653,1048,8.031,1056,14.03,1061,10.653,1216,14.922,1916,11.611]],["keywords/897",[]],["title/898",[545,232.718,1727,893.637]],["content/898",[6,3.184,9,2.253,13,3.231,21,4.198,23,4.9,51,10.133,52,5.079,58,2.994,90,2.873,96,4.35,140,2.769,149,5.643,155,4.622,187,3.162,196,6.713,200,5.472,207,7.658,208,4.181,209,4.875,220,3.987,229,9.089,236,2.853,248,5.617,260,3.859,264,4.104,269,3.196,274,4.173,283,7.456,285,6.706,294,5.729,296,6.513,297,7.271,323,3.292,326,6.266,329,2.685,332,4.181,341,14.089,354,8.632,385,5.326,390,4.68,417,2.829,419,6.954,441,9.968,467,1.993,478,6.035,486,5.229,505,3.453,545,4.408,554,4.53,613,4.75,614,5.326,642,4.923,677,3.425,688,4.155,696,7.255,699,4.969,728,3.255,729,4.973,739,6.413,766,3.8,797,5.551,815,4.973,824,3.561,832,1.56,857,5.326,887,3.726,926,4.478,948,13.959,951,7.148,988,4.478,1011,4.513,1018,2.685,1120,3.305,1141,3.88,1144,5.729,1147,5.637,1163,4.513,1196,4.7,1263,5.259,1265,10.48,1269,4.381,1294,3.744,1351,6.342,1364,5.938,1433,11.838,1613,2.446,1727,5.637,1737,6.513,1986,4.056,2020,3.744,2138,16.639,2145,3.965,2224,6.192,2399,12.648,2498,13.2,2534,5.829,2640,3.639,2764,12.648,2769,6.342,3069,7.658,3448,8.975,3629,4.104,3778,16.639,4139,10.93,4144,5.938,4195,7.255,4196,7.658,4197,7.658,4198,7.658,4217,5.472,4228,8.726,4243,12.038,4252,12.038,4273,7.658,4328,7.658,4329,8.271,4330,18.205,4331,8.271,4332,8.271,4333,13,4334,8.271,4335,8.271,4336,6.513,4337,8.271,4338,8.271,4339,7.255,4340,8.271,4341,8.271,4342,8.271,4343,13,4344,8.271,4345,8.271,4346,13,4347,8.271,4348,8.271,4349,8.271,4350,8.271,4351,13,4352,8.271,4353,8.271,4354,8.271,4355,8.271,4356,8.271,4357,8.271]],["keywords/898",[]],["title/899",[21,278.126,23,494.18]],["content/899",[]],["keywords/899",[]],["title/900",[21,278.126,248,566.55]],["content/900",[1,2.186,5,4.474,8,3.575,21,5.912,23,5.405,24,8.234,25,5.334,73,7.824,108,5.462,140,1.999,146,5.774,193,2.902,204,2.98,236,2.06,248,6.196,257,3.005,274,4.603,286,3.311,297,4.249,306,5.829,340,5.987,357,3.513,390,3.054,398,3.653,414,6.209,419,7.892,423,3.354,467,1.3,478,4.357,486,3.056,489,4.056,533,4.188,534,6.773,545,4.543,548,9.609,565,4.745,568,5.008,612,5.334,613,2.776,620,5.462,625,4.168,629,7.027,637,6.616,640,6.397,660,8.234,661,2.924,692,5.83,700,8.149,706,4.775,709,7.392,713,6.224,779,8.234,804,2.068,807,2.376,823,4.499,824,2.081,838,2.204,840,4.616,842,3.013,857,6.044,866,6.063,885,6.174,887,11.531,1068,4.658,1077,4.775,1110,2.848,1126,7.892,1141,4.403,1187,6.739,1246,6.3,1266,4.357,1269,7.596,1366,7.326,1373,4.686,1470,7.44,1480,3.538,1641,6.044,1895,7.159,1986,4.603,2163,4.291,2674,6.397,3120,7.619,3145,12.579,3502,5.829,3893,5.43,4264,7.892,4358,9.386,4359,14.339,4360,9.386,4361,9.386,4362,9.386,4363,9.386,4364,9.386,4365,9.386,4366,9.386,4367,9.386,4368,9.386,4369,9.386,4370,9.386,4371,9.386,4372,14.339,4373,14.339,4374,9.386,4375,9.386,4376,9.386,4377,9.386,4378,12.056,4379,9.386,4380,9.386,4381,6.3,4382,9.386,4383,9.386,4384,9.386,4385,9.386,4386,8.234,4387,9.386]],["keywords/900",[]],["title/901",[21,278.126,1266,608.635]],["content/901",[9,1.84,21,5.531,48,5.201,50,3.27,90,4.556,140,4.496,174,3.969,175,7.049,176,9.086,193,2.654,202,5.454,246,4.717,255,4.053,256,8.558,257,4.199,283,6.089,287,5.487,297,5.938,322,4.86,354,9.845,383,7.658,398,7.13,443,4.628,463,9.819,467,2.317,540,4.687,545,3.747,548,5.182,554,6.383,556,4.916,600,3.277,785,11.028,807,2.174,882,6.716,887,5.909,983,9.83,1068,6.509,1110,3.98,1266,11.16,1358,8.341,1512,7.391,2163,5.997,2674,8.94,3126,8.558,3153,11.506,3158,16.07,3160,20.045,3300,21.159,3301,16.963,3302,12.145,3303,15.402,3304,16.963,3305,10.647,3306,12.145,3308,12.145,3310,12.145,3311,12.145,3312,12.145,3313,12.145,3314,12.145,3315,9.418,4388,13.116,4389,13.116,4390,13.116,4391,13.116,4392,13.116]],["keywords/901",[]],["title/902",[21,278.126,1265,855.508]],["content/902",[21,5.169,48,5.4,50,3.396,90,4.73,91,6.226,133,7.488,140,4.005,176,9.434,257,4.36,287,4.079,297,6.165,354,7.319,383,7.951,390,2.9,398,5.301,443,4.805,454,8.106,463,10.195,467,2.386,540,4.866,545,4.741,554,6.552,574,11.054,611,9.01,624,4.979,658,9.282,706,6.928,726,7.807,739,6.718,887,6.135,957,7.878,992,8.188,1265,14.052,1512,7.674,2145,6.528,2163,6.226,2365,5.859,3116,22.566,3117,12.61,3118,22.566,3119,19.942,3120,17.481,3121,17.411,3123,19.942,3124,12.61,3125,12.61,3126,8.886,3127,12.61,3128,12.61,3130,12.61,3131,16.494,3133,12.61,3134,12.61,4393,13.619,4394,13.619,4395,13.619,4396,13.619,4397,13.619]],["keywords/902",[]],["title/903",[32,402.5,363,150.319,1475,431.328]],["content/903",[]],["keywords/903",[]],["title/904",[32,341.142,363,127.404,1475,365.575,1677,427.51]],["content/904",[1,2.802,9,1.688,32,7.537,67,6.373,90,4.179,91,7.879,108,4.583,140,2.562,205,4.616,209,7.092,243,6.466,273,3.47,274,3.863,332,8.712,358,8.454,363,3.565,404,5.758,429,3.576,467,2.195,513,6.16,565,6.082,569,8.201,613,5.955,648,7.651,688,10.115,716,5.935,741,7.851,743,4.583,746,5.501,860,10.519,909,7.092,1103,5.935,1216,7.389,1225,13.503,1352,7.389,1475,10.416,1480,8.287,1610,5.294,1677,9.446,1822,15.074,1849,7.96,1940,15.857,2223,12.624,2400,8.076,2415,9.007,3269,12.624,3305,9.766,3886,10.116,3891,10.116,3941,11.141,4074,9.475,4113,11.141,4398,12.032,4399,12.032,4400,12.032,4401,12.032,4402,12.032,4403,23.271,4404,21.988,4405,12.032,4406,12.032,4407,15.118,4408,12.032,4409,12.032,4410,15.958,4411,12.032,4412,12.032,4413,12.032,4414,11.141]],["keywords/904",[]],["title/905",[32,296.016,363,110.551,600,197.608,1475,317.217,1677,370.96]],["content/905",[9,3.144,32,7.715,50,3.129,86,7.195,138,16.232,140,3.782,243,6.745,251,5.094,273,5.122,274,4.029,310,5.831,326,8.561,332,6.344,363,3.827,404,5.933,438,6.228,467,2.032,475,6.661,571,10.997,600,4.438,613,6.994,677,5.197,719,8.828,739,8.761,746,8.12,757,14.278,789,5.114,824,2.782,832,1.506,840,4.04,842,4.029,889,3.354,909,7.398,921,5.983,949,4.832,1008,8.244,1142,7.795,1366,5.284,1437,4.32,1450,9.623,1475,9.486,1610,5.522,1677,8.331,1723,10.188,1724,16.091,1817,6.648,1822,9.396,2248,7.133,3886,10.553,3988,11.01,4407,15.579,4410,11.622,4415,12.551,4416,12.551,4417,12.551,4418,12.551,4419,12.551,4420,12.551,4421,11.622,4422,12.551,4423,12.551]],["keywords/905",[]],["title/906",[363,127.404,855,766.28,1475,365.575,2656,717.712]],["content/906",[9,1.996,50,3.546,85,6.317,94,10.025,140,4.692,273,4.102,277,13.654,283,8.993,287,4.26,332,9.793,358,6.568,363,3.306,404,4.752,438,7.058,467,2.495,478,6.603,610,10.025,688,9.732,794,8.384,824,3.153,832,2.644,921,6.781,933,12.031,949,5.476,1078,11.009,1437,4.896,1475,9.488,1723,19.199,1822,17.707,1848,12.477,3988,19.325,4407,16.993,4421,13.171,4424,14.224,4425,14.224,4426,14.224,4427,14.224,4428,14.224,4429,6.014,4430,19.372,4431,19.372,4432,14.224,4433,14.224,4434,19.372,4435,14.224,4436,14.224,4437,14.224,4438,14.224,4439,14.224]],["keywords/906",[]],["title/907",[243,704.651,656,805.215]],["content/907",[32,6.655,50,4.433,57,11.6,257,7.179,268,13.927,316,8.211,332,8.987,363,3.718,382,8.211,417,6.082,450,9.934,467,1.612,475,4.592,525,6.894,581,5.723,603,6.92,661,5.538,677,7.362,688,8.931,900,9.03,944,4.921,1134,12.316,1154,13.218,1611,14.836,1613,5.257,1677,8.339,1721,22.747,1723,14.431,3891,14.948,4440,17.778,4441,14.948,4442,17.778]],["keywords/907",[]],["title/908",[32,341.142,41,211.817,363,127.404,1475,365.575]],["content/908",[15,8.204,27,8.594,32,8.204,41,5.094,363,3.064,417,7.498,1385,7.684,1475,8.791,1641,14.113]],["keywords/908",[]],["title/909",[471,499.164,4443,995.701,4444,995.701]],["content/909",[]],["keywords/909",[]],["title/910",[362,167.093,472,693.72,3251,664.918,3438,502.9,4445,579.283]],["content/910",[21,3.344,38,7.395,50,5.174,59,4.224,390,3.357,431,17.449,434,7.281,455,10.299,464,9.632,467,1.429,469,9.578,472,13.829,540,5.633,543,21.483,551,14.145,731,12.353,1146,10.491,1300,12.415,1385,5.527,1470,8.179,1581,7.822,1686,7.515,2311,8.292,2907,12.415,3438,10.025,4445,11.548,4446,15.765,4447,15.765,4448,20.753,4449,15.765,4450,15.765,4451,15.765,4452,20.753,4453,15.765,4454,18.832,4455,19.217,4456,15.765,4457,23.201,4458,15.765,4459,15.202,4460,15.765,4461,20.753,4462,18.205]],["keywords/910",[]],["title/911",[476,1095.832]],["content/911",[4,10.486,21,5.039,59,4.836,362,4.123,390,4.155,464,10.006,471,9.058,476,16.713,540,6.972,565,9.863,566,10.41,603,7.594,728,7.679,1329,10.903,2740,9.625,4004,12.009,4463,19.512,4464,19.512,4465,19.512,4466,19.512]],["keywords/911",[]],["title/912",[363,183.285,556,305.359]],["content/912",[41,4.829,48,8.24,363,2.905,467,1.884,471,9.645,486,6.764,489,8.978,565,10.503,796,14.919,804,4.578,1057,14.162,1329,13.786,2412,12.761,2626,18.227,4467,19.24,4468,19.24]],["keywords/912",[]],["title/913",[467,71.701,889,211.35,982,211.838,1205,215.816,4469,557.387]],["content/913",[]],["keywords/913",[]],["title/914",[623,625.025,889,350.402]],["content/914",[1,4.935,14,4.795,164,11.225,248,9.157,390,4.513,475,5.474,504,13.476,615,14.019,700,12.043,889,6.671,944,5.865,982,6.686]],["keywords/914",[]],["title/915",[63,408.142,545,190.861,623,512.607]],["content/915",[23,7.883,59,4.257,63,7.938,545,4.684,613,6.185,838,4.912,944,5.789,1272,9.078,2394,12.448,2409,17.157,2619,14.255,4470,20.914,4471,18.346]],["keywords/915",[]],["title/916",[9,127.87,329,295.866,623,434.463,1205,248.715]],["content/916",[1,3.964,9,3.562,16,7.706,30,4.127,42,13.817,50,4.244,59,3.465,63,9.636,67,13.448,149,7.388,192,13.052,267,11.997,329,5.526,337,13.817,363,3.365,382,7.861,467,1.543,507,12.222,532,13.052,542,11.997,545,3.872,597,7.821,600,4.253,777,10.962,982,4.56,1062,10.571,1205,6.57,1291,11.792,1512,9.591,1632,14.932,3530,14.312,3619,15.375,4472,17.022,4473,17.022,4474,17.022,4475,17.022]],["keywords/916",[]],["title/917",[982,288.041,1205,293.45,4476,744.899]],["content/917",[9,2.61,27,7.295,63,7.062,140,3.962,204,5.907,248,8.039,363,2.601,467,2.444,475,4.806,516,8.381,545,4.095,556,4.333,615,12.308,732,10.312,900,7.492,982,6.18,1205,7.155,1272,8.075,2394,11.074,2409,15.983,2619,12.681,3395,12.308,4471,16.32,4477,18.605,4478,18.605]],["keywords/917",[]],["title/918",[1,212.259,362,192.565,581,293.389,1622,457.831]],["content/918",[]],["keywords/918",[]],["title/919",[623,800.603]],["content/919",[1,2.898,4,4.206,6,3.013,9,3.018,30,4.28,41,2.892,48,3.103,51,4.007,56,7.407,59,1.593,68,3.08,70,9.542,83,3.459,115,5.516,122,4.306,140,2.65,146,7.109,157,3.526,174,2.368,175,4.206,187,2.991,194,3.057,195,5.106,200,5.177,204,2.485,219,5.177,223,4.41,246,2.814,248,3.382,260,3.652,265,6.001,272,4.755,273,3.589,297,3.543,306,4.86,307,8.233,316,5.747,332,7.831,340,10.046,345,2.338,354,4.206,358,5.252,360,9.733,362,2.629,363,3.753,364,3.931,377,4.338,382,10.623,398,3.046,417,2.677,443,4.39,466,5.837,467,0.71,475,6.215,488,5.253,498,5.334,500,3.164,516,5.606,520,3.652,554,4.336,581,8.799,600,3.871,624,2.072,635,10.916,653,5.106,656,4.806,661,2.438,705,9.542,741,5.106,743,2.981,746,3.578,763,6.865,789,5.07,842,3.995,857,5.04,866,6.55,921,7.385,982,3.333,1134,5.421,1208,3.267,1373,3.907,1385,4.363,1437,2.694,1529,5.253,1613,3.68,1677,7.267,1992,5.04,2070,3.127,2145,3.751,2294,2.638,2481,4.487,2581,5.253,2627,6.865,2656,6.163,2729,8.482,2751,6.865,3398,10.916,3502,4.86,3517,10.398,3550,6.58,3556,3.86,3588,6.163,3620,4.806,3655,6.352,3657,5.04,3893,4.527,4151,6.58,4339,6.865,4479,12.444,4480,7.826,4481,7.826,4482,7.826,4483,7.826,4484,7.826,4485,7.826,4486,7.247,4487,10.463,4488,7.826,4489,7.826,4490,7.247,4491,7.826,4492,7.826,4493,7.826,4494,6.163,4495,15.638,4496,7.826,4497,7.826,4498,6.865,4499,12.444,4500,7.826,4501,7.826,4502,11.878,4503,7.826,4504,6.58,4505,7.247]],["keywords/919",[]],["title/920",[362,167.093,581,254.58,1622,397.27,4476,547.831,4506,732.281]],["content/920",[1,5.82,9,2.291,157,7.356,162,7.659,175,11.413,230,7.119,260,7.619,297,7.391,329,5.3,332,10.734,340,11.088,360,10.258,362,4.487,363,3.494,382,10.899,395,19.663,443,5.76,581,8.549,657,10.959,711,9.05,746,7.465,921,11.25,1008,7.579,1196,9.279,1261,7.428,1300,12.858,1622,10.668,1838,6.904,2495,13.253,3820,19.663,3893,9.445,4476,11.311,4507,16.327]],["keywords/920",[]],["title/921",[931,414.012,1838,554.366]],["content/921",[1,4.458,9,1.961,23,8.228,41,3.248,59,2.845,122,4.278,140,2.976,144,4.319,205,5.361,273,6.772,285,5.835,329,4.537,332,7.065,340,10.858,362,2.953,363,3.635,382,8.84,390,2.976,443,4.931,481,7.746,525,5.42,581,8.647,605,7.809,640,14.879,667,7.875,743,9.368,794,8.237,876,5.763,921,6.662,982,3.744,1332,9.85,1344,9.931,1366,5.884,1373,10.899,1477,12.847,1613,4.133,1622,10.966,1677,6.556,1838,5.909,2002,6.422,2581,9.381,2777,6.699,3460,7.809,3974,10.716,4508,12.941,4509,12.941,4510,13.975,4511,13.975,4512,11.344,4513,13.975,4514,13.975,4515,13.975]],["keywords/921",[]],["title/922",[15,296.016,32,296.016,194,308.943,363,110.551,380,358.007]],["content/922",[]],["keywords/922",[]],["title/923",[4516,1555.113]],["content/923",[6,7.605,15,7.394,23,7.445,31,8.779,32,7.394,41,4.591,46,5.533,193,4.844,286,6.969,329,6.412,355,7.524,363,2.761,603,7.688,840,6.359,889,5.279,898,9.315,1007,11.225,1008,9.169,2105,17.327,2578,11.426,2709,13.258,4517,19.753,4518,19.753]],["keywords/923",[]],["title/924",[766,771.693]],["content/924",[6,5.583,15,3.566,18,4.445,21,3.076,32,3.566,50,3.616,86,8.314,90,3.309,105,12.376,108,3.628,142,8.356,143,7.732,146,3.836,157,4.291,174,2.883,193,1.928,194,3.721,197,9.301,205,3.654,243,5.12,258,3.101,266,8.821,274,6.301,283,4.422,287,2.853,296,7.502,297,7.949,329,3.092,332,7.331,345,4.332,354,5.12,355,3.628,363,2.027,380,10.073,388,8.009,390,2.029,443,3.361,467,2.328,475,2.461,490,5.158,565,4.815,611,6.302,623,9.357,624,2.523,632,4.644,634,5.238,653,6.216,658,6.493,711,10.879,728,3.749,746,4.355,766,8.068,796,6.84,820,2.853,824,2.112,840,5.653,842,5.637,889,5.246,909,5.615,944,4.014,983,6.239,1007,5.413,1008,4.422,1011,10.709,1037,9.734,1103,4.699,1280,8.356,1333,8.389,1338,6.599,1437,6.044,1511,6.978,1573,4.644,1610,7.726,1612,6.216,1676,8.821,1677,8.237,2016,6.394,2110,8.356,2376,10.046,2618,7.732,2624,7.502,2630,7.502,2674,6.493,2736,8.356,3252,6.978,3369,16.259,3447,8.821,3556,4.699,3675,6.394,3779,4.785,3886,12.193,4151,8.009,4208,7.732,4429,4.028,4519,8.821,4520,9.526,4521,14.502,4522,9.526,4523,9.526,4524,7.304,4525,9.526,4526,8.009,4527,14.502,4528,9.526,4529,9.526,4530,8.009,4531,9.526,4532,9.526,4533,14.502,4534,8.821,4535,8.356,4536,9.526,4537,9.526,4538,9.526,4539,9.526,4540,9.526,4541,9.526,4542,8.356,4543,9.526,4544,9.526,4545,9.526,4546,9.526,4547,9.526,4548,9.526,4549,9.526,4550,9.526,4551,9.526,4552,9.526,4553,9.526,4554,9.526,4555,9.526,4556,7.304]],["keywords/924",[]],["title/925",[15,341.142,30,220.945,766,418.775,4557,642.356]],["content/925",[]],["keywords/925",[]],["title/926",[4516,1555.113]],["content/926",[6,7.605,14,5.826,15,8.959,30,6.489,246,7.104,554,6.882,615,13.068,766,9.076,1385,8.391,3620,12.131,3892,18.29,4121,16.033,4469,13.922,4476,13.683,4557,18.15,4558,16.608]],["keywords/926",[]],["title/927",[4557,1183.697]],["content/927",[14,4.388,41,4.507,287,5.809,363,3.309,466,9.097,467,2.412,475,6.114,489,8.38,556,4.517,600,4.846,716,9.567,1215,5.124,2020,8.779,2637,10.501,3751,17.012,4557,13.669,4559,23.669,4560,17.958,4561,19.394,4562,19.394,4563,17.012,4564,17.958]],["keywords/927",[]],["title/928",[30,260.685,766,494.096,4558,904.105]],["content/928",[]],["keywords/928",[]],["title/929",[14,178.929,16,358.007,21,167.756,982,211.838,4565,732.281]],["content/929",[9,2.705,122,4.308,162,9.042,193,3.901,263,10.002,267,13.587,273,5.56,286,6.801,363,2.695,380,8.727,475,6.581,500,7.793,944,5.336,982,6.825,984,9.042,1208,9.846,1253,7.449,1348,15.181,1385,6.758,1610,8.482,4469,13.587,4476,13.354,4565,17.85,4566,19.277]],["keywords/929",[]],["title/930",[6,350.884,14,206.205,554,317.551,4567,843.913]],["content/930",[14,5.518,467,2.545,766,9.365,824,4.518,832,2.446,984,9.56,1348,16.05,2100,11.583,3628,13.892,4563,17.879,4567,18.873,4568,20.381,4569,20.381,4570,20.381]],["keywords/930",[]],["title/931",[344,543.566,568,573.699,4557,757.892]],["content/931",[467,1.987,716,13.272,832,2.63,1215,6.726,4571,21.916,4572,21.916]],["keywords/931",[]],["title/932",[1379,1111.048]],["content/932",[]],["keywords/932",[]],["title/933",[4557,1183.697]],["content/933",[9,3.435,12,15.356,14,4.641,136,14.036,307,13.57,310,6.735,404,6.853,443,7.237,554,7.147,743,9.326,3812,13.044,4557,17.256,4573,17.993,4574,20.512,4575,18.993]],["keywords/933",[]],["title/934",[9,110.956,475,204.273,500,319.695,2637,428.205,4469,557.387]],["content/934",[467,2.299,746,9.952,842,8.14,2145,10.434,3108,20.582,4576,21.767,4577,21.767]],["keywords/934",[]],["title/935",[273,262.858,913,513.532,982,244.131,1610,401.006]],["content/935",[9,2.806,15,7.486,18,9.332,195,13.05,273,5.768,363,3.371,487,9.054,656,12.282,711,11.085,712,17.544,741,13.05,889,6.445,913,11.269,982,5.357,1158,11.569,1489,13.854,2161,10.997,2656,15.75,2657,11.788,4578,19.999,4579,19.999]],["keywords/935",[]],["title/936",[475,277.756,800,491.623,4469,757.892]],["content/936",[]],["keywords/936",[]],["title/937",[16,412.582,329,295.866,475,235.414,496,654.372]],["content/937",[1,1.191,5,2.438,6,7.228,7,2.424,9,2.852,13,1.998,15,3.276,16,2.315,18,2.386,26,2.059,27,2.005,28,3.107,30,4.928,31,1.876,34,2.35,38,5.383,40,8.4,41,5.93,48,3.471,50,4.888,56,6.83,58,4.154,68,7.007,76,3.336,83,5.072,85,7.397,86,5.018,87,3.828,90,1.776,91,2.338,105,3.604,108,6.344,136,8.758,139,2.374,140,1.089,144,1.58,146,2.059,152,4.027,157,6.122,162,4.106,194,1.998,204,2.779,208,4.424,220,2.465,221,2.126,246,3.148,251,2.075,262,6.167,272,5.318,281,3.921,297,6.151,301,2.671,310,2.874,316,2.362,322,3.243,323,3.484,324,7.949,326,4.219,329,6.983,332,2.585,345,1.528,359,2.635,362,3.519,363,3.544,373,6.893,386,4.299,393,3.014,398,3.407,404,1.708,413,4.511,429,1.52,440,2.135,452,7.821,466,5.383,471,6.308,475,3.51,478,2.374,481,11.615,489,2.21,513,9.613,519,3.542,520,4.084,521,6.167,525,6.904,534,3.407,540,1.827,565,2.585,571,2.728,587,6.344,600,4.162,603,3.407,624,1.354,625,5.096,628,4.486,634,2.812,636,6.552,641,2.985,652,9.314,656,5.375,667,6.466,674,6.063,676,3.746,677,2.117,700,2.906,711,2.834,714,4.027,728,3.445,746,4.002,756,2.69,789,3.566,794,3.014,800,6.212,812,5.179,820,1.532,876,2.109,898,2.411,982,1.37,1007,2.906,1008,4.063,1011,2.79,1078,2.906,1120,2.043,1201,3.383,1215,6.295,1333,5.063,1385,1.793,1742,8.59,1817,2.709,1838,2.162,2002,2.35,2179,3.542,2252,4.151,2253,7.821,2255,2.438,2279,6.412,2388,3.746,2412,3.14,2627,4.486,2637,2.769,2682,3.604,2709,3.432,3036,6.711,3268,4.735,3305,4.151,3440,3.542,3458,4.299,3459,7.359,3460,2.857,3543,1.729,3556,2.522,3560,4.735,3564,4.486,3621,4.486,3628,3.485,3629,2.538,3652,6.711,3655,4.151,3791,4.486,3793,4.299,3794,6.341,3893,5.063,4283,4.486,4378,4.299,4414,4.735,4502,14.395,4519,8.105,4535,4.486,4580,8.105,4581,4.735,4582,11.03,4583,5.113,4584,5.113,4585,10.872,4586,5.113,4587,5.113,4588,5.113,4589,5.113,4590,5.113,4591,4.735,4592,4.486,4593,8.105,4594,5.113,4595,5.113,4596,5.113,4597,8.753,4598,8.753,4599,8.753,4600,5.113,4601,4.486,4602,5.113,4603,5.113,4604,5.113,4605,4.486,4606,5.113,4607,8.753,4608,5.113,4609,5.113,4610,5.113,4611,5.113,4612,4.735,4613,5.113,4614,5.113,4615,5.113,4616,5.113,4617,5.113,4618,5.113,4619,5.113,4620,5.113]],["keywords/937",[]],["title/938",[475,338.669,4621,1150.133]],["content/938",[9,1.961,16,6.327,27,5.48,30,4.64,31,5.126,41,4.448,50,5.443,90,4.854,96,7.351,136,8.012,140,4.076,157,6.296,158,12.941,159,12.259,223,7.875,273,5.52,281,10.716,329,4.537,362,2.953,363,3.635,413,9.865,466,6.556,467,1.979,475,6.561,486,4.55,489,6.039,516,10.577,520,6.521,545,2.481,554,4.869,642,8.318,669,10.462,741,9.119,800,6.389,812,4.738,838,3.282,898,6.59,1061,7.351,1154,8.237,1208,7.991,1294,6.327,1625,10.462,1644,7.511,1929,10.237,1935,14.676,2253,9.525,2279,10.695,2777,6.699,3036,10.716,3460,10.695,4622,13.975,4623,11.75,4624,13.975,4625,17.723,4626,17.723,4627,12.259,4628,12.259,4629,13.975]],["keywords/938",[]],["title/939",[18,783.665]],["content/939",[8,4.323,9,2.318,16,5.138,21,2.408,30,2.751,33,8.938,38,5.324,50,5.336,59,2.31,63,4.308,68,4.467,90,3.942,136,6.507,140,4.149,193,2.297,259,9.188,260,5.296,323,4.518,329,3.684,336,15.083,343,3.564,362,2.398,363,2.991,390,2.417,413,8.515,467,1.766,471,5.268,475,6.485,507,8.149,545,4.037,600,4.129,623,5.41,624,3.005,625,9.504,640,7.736,677,4.7,692,3.803,728,4.467,800,12.487,812,3.848,866,4.799,876,6.814,952,9.212,960,4.68,1007,9.39,1157,6.012,1163,6.192,1210,5.737,1225,6.97,1227,4.883,1373,5.666,1625,12.369,1644,7.792,2253,11.261,2279,6.342,2534,13.732,2674,7.736,3374,10.509,3657,7.309,3867,9.956,4605,9.956,4623,9.542,4627,9.956,4628,9.956,4630,11.349,4631,19.483,4632,11.349,4633,3.859,4634,11.349,4635,19.121,4636,13.412,4637,14.494,4638,9.956,4639,9.542,4640,11.349]],["keywords/939",[]],["title/940",[63,497.65,800,599.439]],["content/940",[9,1.707,21,2.581,31,4.463,48,4.826,50,5.511,56,7.243,59,3.537,63,8.389,90,7.039,140,4.707,204,3.864,205,4.668,259,9.556,299,8.051,319,3.951,323,6.916,363,3.398,393,10.241,466,5.708,467,2.53,468,6.191,471,5.649,482,6.54,483,8.737,507,8.737,600,5.84,613,5.138,625,5.404,742,6.589,800,11.438,898,5.739,949,4.685,1068,6.039,1386,7.039,1487,12.731,1625,13.007,1644,5.138,1742,9.11,2253,11.842,2279,6.8,3036,9.331,4623,10.232,4625,11.268,4626,11.268,4627,10.675,4635,14.608,4636,9.878,4637,10.675,4638,10.675,4639,10.232,4641,16.088,4642,18.764,4643,12.169,4644,11.268,4645,12.169,4646,12.169,4647,12.169,4648,12.169,4649,15.241,4650,11.268,4651,12.169,4652,11.268,4653,11.268,4654,12.169,4655,11.268,4656,11.268,4657,11.268,4658,12.169]],["keywords/940",[]],["title/941",[363,183.285,800,599.439]],["content/941",[9,2.566,90,6.352,140,3.894,245,15.375,363,3.479,417,6.256,467,2.565,556,4.259,600,5.703,624,4.842,800,11.377,982,6.114,1144,12.667,1205,6.229,1487,11.489,3986,13.129,4636,14.843,4641,16.932,4656,16.932,4659,16.041,4660,16.932,4661,14.021,4662,16.932]],["keywords/941",[]],["title/942",[800,599.439,1225,805.215]],["content/942",[1,4.412,9,2.237,27,4.24,41,6.195,50,2.696,96,5.687,140,2.303,204,3.433,243,5.811,251,4.388,258,3.52,259,7.52,260,5.045,326,7.687,329,3.51,362,4.93,363,2.923,390,2.303,417,3.699,440,4.514,443,3.815,466,5.072,467,1.896,477,5.272,513,5.536,516,4.871,520,5.045,525,8.109,570,7.258,600,6.318,605,6.042,624,4.223,648,6.876,653,7.055,682,10.012,728,4.256,766,7.327,800,12.547,812,7.56,929,9.399,969,11.782,1227,4.652,1261,7.255,1352,6.641,1373,7.962,1385,5.591,1487,6.794,1613,5.602,1644,4.716,1931,12.227,2695,9.485,4508,10.012,4512,12.944,4582,12.944,4659,13.988,4663,7.764,4664,10.813,4665,10.813,4666,10.813,4667,10.813,4668,10.813,4669,18.945,4670,10.813,4671,10.813,4672,10.813,4673,10.813,4674,10.813,4675,11.635,4676,10.813,4677,18.945,4678,15.946,4679,10.813,4680,10.813,4681,10.813,4682,10.813,4683,9.485,4684,10.813]],["keywords/942",[]],["title/943",[742,709.93,800,599.439]],["content/943",[5,9.735,6,3.404,30,4.064,50,5.386,56,5.263,63,6.362,90,4.757,91,7.664,106,4.717,122,1.976,140,1.883,204,2.807,257,2.831,259,8.902,285,3.692,318,6.963,322,6.21,323,8.598,345,2.641,362,3.988,363,2.343,364,6.88,428,6.348,443,3.119,466,8.854,467,2.319,468,4.498,471,7.781,475,5.275,482,4.752,507,6.348,513,4.527,520,7.822,556,2.059,568,4.717,600,4.717,625,6.082,642,5.263,789,3.603,800,12.771,812,6.4,838,2.077,876,3.646,898,9.63,967,5.43,988,4.788,1157,4.684,1198,4.336,1205,2.413,1208,10.907,1225,5.43,1227,5.892,1366,8.598,1625,6.619,1644,7.352,2091,5.491,2253,13.919,2534,6.232,2875,7.434,3036,10.501,3458,11.515,3986,6.348,4623,11.515,4635,15.871,4636,11.117,4637,7.756,4638,7.756,4639,7.434,4642,15.521,4644,12.681,4649,12.014,4650,8.187,4652,8.187,4653,8.187,4659,14.704,4660,8.187,4661,6.78,4662,8.187,4685,8.842,4686,8.187,4687,8.842,4688,8.842,4689,8.842,4690,8.842,4691,8.842,4692,8.842]],["keywords/943",[]],["title/944",[336,924.103,800,599.439]],["content/944",[6,3.887,9,2.126,14,4.574,21,3.215,30,2.448,33,7.951,41,5.035,48,4.004,51,5.17,76,6.588,85,4.484,90,3.507,140,3.227,146,6.102,204,3.206,255,2.234,297,4.571,310,3.315,322,3.741,332,5.104,336,12.821,345,3.016,363,2.543,417,3.454,443,3.562,466,7.108,467,2.358,471,7.035,475,5.877,482,5.426,513,5.17,516,10.63,534,3.93,545,1.792,556,3.529,600,2.523,613,2.986,625,4.484,637,10.681,642,6.01,657,6.777,742,5.467,766,6.963,789,4.114,800,9.905,838,4.748,876,8.338,900,4.066,947,6.794,1008,4.687,1068,9.027,1198,4.951,1208,7.595,1215,2.668,1366,7.659,1385,5.313,1610,4.442,1613,2.986,1625,11.345,1644,4.481,1742,7.559,1777,5.204,1817,5.348,2253,13.78,2255,10.328,2534,7.116,2777,4.84,3276,7.396,3387,6.01,3440,15.008,3666,8.857,4217,6.68,4502,11.619,4605,8.857,4628,13.293,4635,8.489,4636,12.301,4649,8.857,4686,14.032,4693,18.191,4694,15.154,4695,10.097,4696,10.097,4697,8.196,4698,10.097,4699,10.097,4700,10.097,4701,7.742,4702,10.097,4703,10.097,4704,10.097,4705,10.097,4706,10.097,4707,10.097,4708,10.097,4709,9.349,4710,10.097,4711,10.097,4712,10.097,4713,10.097]],["keywords/944",[]],["title/945",[363,150.319,1215,284.104,4714,995.701]],["content/945",[9,1.969,27,5.504,30,4.654,50,4.787,56,8.355,76,9.159,140,4.089,144,4.338,146,5.652,157,6.324,205,5.385,208,7.095,251,5.697,263,7.283,264,6.966,265,16.776,279,9.039,285,5.86,363,3.706,404,4.689,467,1.273,475,6.725,478,6.516,483,13.784,490,7.6,519,9.724,525,5.443,600,4.797,624,3.717,661,4.373,739,6.924,742,7.6,800,11.903,1141,6.584,1157,10.169,1198,6.883,1208,8.015,1215,7.004,1644,6.956,2534,9.893,2738,9.422,3036,10.763,3458,11.802,3460,7.843,3588,11.054,3860,8.273,4715,14.037,4716,11.802,4717,12.313,4718,11.054,4719,14.037,4720,14.037,4721,14.037]],["keywords/945",[]],["title/946",[800,599.439,1954,680.258]],["content/946",[1,4.787,6,7.913,9,2.18,23,9.239,38,7.287,51,7.954,63,5.896,132,11.912,157,9.259,248,6.713,259,7.326,264,11.43,301,8.115,345,4.641,362,3.282,363,2.873,374,8.753,383,12,417,5.315,475,5.309,504,9.879,513,7.954,520,7.249,523,8.029,568,8.288,625,6.899,669,11.63,742,13.805,756,8.171,766,7.138,800,12.216,860,8.115,1007,8.829,1581,7.747,1622,10.325,1954,11.951,2640,6.835,3077,18.03,4718,12.234,4722,15.535,4723,15.535,4724,15.535]],["keywords/946",[]],["title/947",[108,347.146,475,235.414,743,347.146,800,416.678]],["content/947",[9,3.122,14,2.796,15,4.625,25,11.614,26,8.229,27,4.845,31,7.496,38,10.439,41,2.872,67,6.546,86,7.084,97,5.437,108,4.707,122,3.926,139,8.154,140,2.632,148,6.742,172,8.872,221,8.497,259,5.827,273,5.066,277,8.709,329,4.012,362,2.611,363,3.653,374,6.963,382,5.707,413,10.533,418,6.025,475,6.31,500,4.995,523,4.827,603,4.81,605,6.905,651,6.905,742,6.691,743,10.212,756,9.239,776,11.442,789,5.035,800,12.378,812,4.19,967,7.589,1208,7.334,2170,10.03,2279,11.42,2293,12.612,2409,8.56,2415,9.251,3036,9.475,3103,13.994,3541,16.265,3625,9.251,3675,8.294,3791,10.84,4469,8.709,4661,13.468,4725,12.357]],["keywords/947",[]],["title/948",[18,425.271,32,341.142,41,211.817,46,255.291]],["content/948",[]],["keywords/948",[]],["title/949",[18,611.802,46,367.265]],["content/949",[14,4.671,18,12.246,31,7.572,46,7.609,117,10.502,146,8.313,204,8.332,540,7.377,835,14.071,836,6.573,1143,16.757]],["keywords/949",[]],["title/950",[41,249.915,46,301.208,540,384.223]],["content/950",[1,3.067,6,8.813,9,2.578,14,2.98,18,6.146,32,9.771,33,10.372,41,4.917,46,5.926,50,3.284,51,6.743,57,8.594,76,8.594,117,12.686,146,5.303,187,5.034,263,6.833,268,8.179,316,6.082,319,4.276,355,5.017,358,6.229,363,1.841,404,4.4,417,4.506,450,7.359,467,2.075,489,5.691,520,6.146,524,5.263,540,4.706,568,9.802,597,9.721,605,7.359,613,5.433,614,8.481,618,8.481,623,6.278,625,5.849,719,5.641,730,11.162,746,6.021,789,5.366,824,4.073,832,1.581,836,7.939,930,5.454,1036,6.244,1127,8.713,1147,8.977,1163,7.186,1632,16.116,1906,12.331,2161,7.242,3448,7.359,3913,12.195,4494,10.372,4726,13.17,4727,13.17,4728,18.372,4729,13.17,4730,13.17,4731,13.17,4732,13.17,4733,13.17,4734,13.17]],["keywords/950",[]],["title/951",[641,532.099,1100,579.564,1727,621.179,1941,537.18]],["content/951",[5,5.651,9,2.392,14,4.518,15,6.382,18,5.531,29,8.874,32,9.292,38,7.998,41,2.755,46,7.448,58,4.291,63,4.499,68,4.665,73,6.467,85,5.264,90,5.923,146,6.866,174,3.587,198,8.683,204,3.764,215,5.527,230,5.168,248,5.122,252,8.211,253,11.445,274,5.474,283,5.503,284,9.622,307,7.842,326,5.714,329,3.848,343,3.723,363,2.384,364,5.955,382,5.474,464,4.631,524,5.756,540,6.092,554,4.13,562,6.109,568,6.324,597,5.447,612,6.736,613,5.905,625,7.572,634,6.518,652,9.622,677,4.908,716,5.847,732,9.45,756,6.235,766,5.447,838,2.784,876,7.032,889,4.557,897,11.348,928,6.235,933,7.362,1036,5.62,1100,10.843,1101,9.966,1141,5.56,1145,9.622,1192,8.079,1237,6.15,1263,7.538,1294,5.366,1480,4.468,1573,5.779,1724,8.511,1941,10.05,2710,8.683,3387,7.055,3502,7.362,3816,5.955,4476,8.211,4494,9.335,4524,16.744,4735,11.854,4736,11.854,4737,11.854,4738,11.854,4739,17.051,4740,11.854,4741,11.854,4742,11.854]],["keywords/951",[]],["title/952",[30,220.945,32,341.142,262,489.812,359,469.712]],["content/952",[]],["keywords/952",[]],["title/953",[9,183.956,404,438.019]],["content/953",[]],["keywords/953",[]],["title/954",[769,908.26,4743,1032.511]],["content/954",[9,3.035,13,9.106,18,6.409,30,4.585,32,8.098,41,3.192,46,3.847,58,4.972,59,5.143,67,10.019,94,9.681,122,3.07,149,5.962,162,6.443,193,3.828,194,5.366,204,6.005,262,7.382,267,9.681,274,4.409,279,12.18,286,4.846,323,8.611,345,6.463,358,4.657,362,4.571,363,1.92,398,5.346,507,9.862,525,5.327,601,12.719,663,12.049,677,7.832,716,6.776,756,7.225,769,13.103,808,6.409,824,3.045,840,4.422,928,7.225,929,8.096,933,11.747,949,5.288,976,5.195,1033,7.675,1133,8.096,1201,9.087,1237,7.126,1276,9.862,1423,9.681,1610,6.044,1612,8.962,1677,6.443,1768,10.283,2223,10.061,2681,12.719,2904,11.149,3448,7.675,3588,10.817,4081,15.903,4744,21.633,4745,20.032,4746,13.735,4747,11.549,4748,12.719]],["keywords/954",[]],["title/955",[769,908.26,3387,780.396]],["content/955",[1,3.809,9,2.294,13,7.55,18,5.222,19,4.421,22,6.661,23,4.218,30,4.685,32,7.234,34,5.142,46,5.955,50,2.79,58,5.92,59,4.327,68,9.842,74,6.253,83,4.947,91,5.116,94,7.887,122,3.655,139,7.592,146,6.585,148,6.106,189,7.207,193,2.265,194,6.389,204,3.553,205,7.414,208,5.657,223,6.306,230,7.13,264,8.115,272,6.799,277,7.887,329,6.274,345,3.343,355,7.361,363,2.286,369,7.887,382,11.265,390,2.383,398,4.356,443,3.948,450,6.253,464,6.389,488,7.511,502,7.752,506,6.534,524,2.784,526,4.947,540,3.999,566,5.971,603,6.365,605,6.253,656,6.873,671,7.403,693,6.534,694,14.818,716,5.52,730,6.799,769,7.752,836,3.563,876,6.744,926,6.059,947,7.332,982,2.998,1091,8.197,1120,8.494,1142,6.95,1201,7.403,1294,5.066,1385,3.923,1433,6.306,1581,4.218,1906,7.511,2376,7.752,2481,6.416,2710,8.197,3387,11.503,3665,9.409,3675,7.511,3678,8.581,3701,7.752,3816,8.215,3893,6.473,4276,10.671,4747,9.409,4749,11.191,4750,11.191,4751,11.191,4752,10.362,4753,9.817,4754,10.362,4755,5.553,4756,9.084]],["keywords/955",[]],["title/956",[68,516.023,4755,650.642]],["content/956",[1,4.211,9,2.537,25,10.274,32,6.767,34,8.307,41,4.202,48,7.169,58,6.544,59,3.68,74,10.103,94,18.293,204,5.74,328,7.992,329,5.869,358,6.13,382,8.35,450,10.103,506,10.555,565,11.456,668,12.323,766,8.307,799,16.741,886,7.71,929,10.656,988,9.789,1324,18.396,1385,6.339,1573,8.815,2545,11.497,2682,12.743,3513,13.243,4755,8.972,4757,15.201,4758,18.079,4759,9.197]],["keywords/956",[]],["title/957",[52,805.215,769,908.26]],["content/957",[162,10.351,329,7.164,417,7.549,756,11.607,2198,12.651,4760,22.067,4761,22.067,4762,22.067]],["keywords/957",[]],["title/958",[68,358.694,3616,698.812,4763,843.913,4764,843.913]],["content/958",[25,10.392,30,6.033,31,6.707,32,6.845,58,8.262,68,8.983,136,10.483,143,14.843,146,7.363,286,6.451,307,12.097,328,8.083,355,6.965,363,3.191,369,12.888,398,7.117,524,4.549,641,10.676,926,9.901,949,7.04,988,9.901,1142,11.356,2198,10.483,3027,11.11,3616,14.021,4763,16.932,4764,16.932,4765,18.286,4766,18.286,4767,22.825,4768,18.286,4769,18.286]],["keywords/958",[]],["title/959",[4378,1412.056]],["content/959",[1,3.923,9,3.04,15,6.304,18,10.11,23,6.348,31,6.178,32,9.465,35,13.264,46,4.718,146,8.725,187,6.438,193,4.385,274,5.407,283,7.819,287,5.045,357,6.304,362,4.578,382,7.779,404,7.238,475,4.351,487,7.625,524,4.19,769,11.668,784,10.233,812,7.346,836,5.362,921,8.029,947,7.551,949,6.485,1120,6.73,1201,11.143,1480,6.348,1573,8.212,1581,6.348,1768,12.609,2283,15.556,3588,13.264,3609,13.264,3675,11.305,3823,18.217,4718,13.264]],["keywords/959",[]],["title/960",[18,783.665]],["content/960",[]],["keywords/960",[]],["title/961",[32,402.5,554,374.667,613,317.989]],["content/961",[1,4.405,9,1.927,14,4.279,18,6.409,27,5.386,32,10.138,59,4.744,67,7.276,90,4.771,146,7.616,174,4.157,187,5.25,204,4.361,283,6.376,287,5.665,306,8.53,309,12.696,326,11.235,328,6.072,362,2.902,398,5.346,443,7.632,467,2.48,554,4.786,597,10.71,613,5.593,624,3.637,634,10.4,651,7.675,694,10.532,710,9.681,812,4.657,878,8.345,894,7.739,984,8.872,988,7.437,1344,11.224,1360,11.149,2100,7.806,2128,13.331,2311,7.225,2481,7.874,2999,11.549,3625,10.283,3665,11.549,4770,13.735,4771,13.735,4772,12.719,4773,12.719,4774,12.719,4775,12.719,4776,12.719,4777,13.735,4778,12.719,4779,13.735]],["keywords/961",[]],["title/962",[355,409.585,363,150.319,1437,370.1]],["content/962",[6,6.519,18,7.901,32,6.338,35,17.12,61,8.162,146,8.754,358,7.371,363,3.901,374,9.541,429,5.033,467,2.504,475,4.374,516,9.794,613,5.007,618,10.904,876,6.983,921,8.072,947,7.591,1146,8.559,1208,7.069,1512,9.541,1581,6.382,1677,7.942,2578,9.795,3526,8.116,4780,16.932,4781,16.932,4782,16.932,4783,16.932,4784,16.932,4785,16.932,4786,16.932,4787,16.932]],["keywords/962",[]],["title/963",[193,265.33,2578,758.447]],["content/963",[14,4.763,32,7.88,193,4.26,355,8.019,363,3.476,380,9.53,467,2.254,475,6.422,756,11.073,3828,19.493,4788,21.051,4789,21.051]],["keywords/963",[]],["title/964",[46,470.435]],["content/964",[13,5.188,14,4.808,18,6.197,31,6.777,32,9.791,41,3.086,46,7.535,58,6.688,59,2.703,68,5.226,86,7.613,117,6.756,144,4.104,187,7.063,188,6.437,204,4.216,236,2.914,286,4.685,323,5.286,363,3.376,364,6.671,467,2.267,475,3.43,524,5.287,526,5.87,540,6.602,554,4.627,613,3.927,623,6.331,625,5.898,706,6.756,714,10.458,729,7.984,756,6.985,808,6.197,835,12.594,836,4.228,838,3.119,860,6.937,897,7.547,985,8.068,1385,4.656,1613,3.927,1644,3.927,1838,5.615,2161,7.302,2376,9.199,2633,19.677,3526,6.366,3646,7.984,4081,11.165,4524,10.182,4790,13.28,4791,18.478,4792,13.28,4793,13.28,4794,21.25,4795,18.478,4796,13.28,4797,13.28,4798,13.28,4799,13.28,4800,13.28,4801,13.28]],["keywords/964",[]],["title/965",[230,732.236]],["content/965",[1,3.902,9,3.03,31,6.145,32,10.01,38,7.859,41,5.019,46,4.693,91,7.66,194,6.545,222,11.438,230,9.415,268,10.405,274,5.379,360,13.567,369,11.809,374,9.441,408,6.995,421,8.875,506,9.782,613,7.066,651,9.362,756,8.813,783,15.514,840,6.951,949,6.451,1103,8.265,1194,14.087,1266,7.778,1573,8.169,1677,10.129,2091,10.405,2400,11.246,2547,10.179,3796,7.944,3816,8.417,3819,14.697,4612,15.514,4802,16.755,4803,16.755,4804,15.514]],["keywords/965",[]],["title/966",[32,402.5,230,468.833,4804,995.701]],["content/966",[32,7.431,38,10.527,108,5.617,148,8.047,200,9.757,204,4.682,219,9.757,230,6.43,272,8.96,274,4.734,285,6.157,306,9.159,345,4.406,354,7.926,374,8.31,443,5.203,467,2.607,545,3.524,568,7.868,702,8.109,731,8.778,732,8.174,836,7.145,1048,5.848,1134,10.216,1237,7.652,1344,7.652,1512,8.31,1518,16.115,2100,11.282,2128,13.992,2283,10.589,2311,7.757,3513,10.803,3665,12.4,3816,7.409,3819,12.937,4429,6.236,4772,13.656,4773,13.656,4774,13.656,4775,13.656,4776,13.656,4805,14.748,4806,13.656,4807,14.748,4808,11.614,4809,14.748,4810,14.748,4811,14.748,4812,14.748,4813,14.748,4814,14.748]],["keywords/966",[]],["title/967",[475,338.669,2637,709.93]],["content/967",[]],["keywords/967",[]],["title/968",[]],["content/968",[1,5.813,41,5.801,362,4.477,363,2.962,969,11.94,1385,7.43,2637,11.474,3860,12.49,4815,21.191,4816,19.656,4817,21.191]],["keywords/968",[]],["title/969",[]],["content/969",[1,5.452,41,5.441,67,10.09,140,4.057,283,8.842,362,4.025,363,2.663,440,7.953,442,11.337,475,4.92,554,6.637,692,7.843,1333,11.018,1386,13.542,1470,9.882,3556,9.396,4469,13.425,4476,13.195,4573,16.709,4816,15,4818,19.047,4819,19.047,4820,19.047,4821,19.047,4822,19.047,4823,19.047,4824,19.047]],["keywords/969",[]],["title/970",[359,554.195,398,418.534,605,600.869]],["content/970",[146,8.053,259,9.431,273,5.768,287,5.99,316,9.236,329,6.492,354,10.748,358,6.781,362,4.226,363,2.796,603,7.784,620,7.618,812,6.781,982,5.357,1103,9.865,1677,9.381,2170,16.234,2637,13.057,4476,13.854,4697,16.234,4825,19.999,4826,19.999]],["keywords/970",[]],["title/971",[856,732.644,1039,814.264]],["content/971",[]],["keywords/971",[]],["title/972",[9,183.956,404,438.019]],["content/972",[1,4.6,9,2.771,15,8.959,19,7.803,78,10.948,79,7.173,174,5.978,193,3.997,260,9.217,265,15.146,329,7.77,671,13.068,743,7.524,838,4.639,1008,9.169,1048,7.833,1107,16.58,4827,19.753,4828,19.753,4829,19.428,4830,17.327]],["keywords/972",[]],["title/973",[735,941.389,4476,908.26]],["content/973",[1,4.164,9,3.157,21,4.774,48,8.924,90,6.21,157,8.054,174,5.41,222,9.47,272,10.861,443,6.307,475,6.362,524,4.448,556,4.164,608,14.078,624,5.959,641,10.438,656,10.979,702,9.83,730,10.861,1039,16.89,1048,7.089,1064,15.682,1103,8.819,1196,10.16,1489,12.384,1954,9.275,1986,11.036,2304,15.682,4831,17.877,4832,13.708]],["keywords/973",[]],["title/974",[766,771.693]],["content/974",[]],["keywords/974",[]],["title/975",[702,591.276,1048,426.406,1281,701.635]],["content/975",[1,4.259,9,3.491,18,8.533,157,8.238,193,3.7,297,8.278,475,4.723,620,6.965,702,14.329,728,7.197,729,10.994,730,11.11,741,11.932,749,13.394,944,5.061,976,8.633,1033,10.218,1039,14.175,1048,9.868,1281,11.932,1871,14.4,1940,14.4,1992,11.776,2985,14.021,3526,8.765,4542,20.022,4833,18.286,4834,16.041]],["keywords/975",[]],["title/976",[59,266.883,702,720.948]],["content/976",[9,3.371,31,7.29,59,4.046,193,4.022,197,10.528,275,11.497,423,7.102,587,7.571,620,7.571,702,14.749,730,12.075,763,17.435,866,8.404,900,8.003,976,7.517,2002,9.133,2965,17.435,4542,17.435,4835,19.875,4836,10.243]],["keywords/976",[]],["title/977",[464,512.203,702,720.948]],["content/977",[7,7.944,9,2.351,85,7.441,133,9.213,157,7.548,202,6.966,223,9.441,299,11.084,322,6.208,354,9.005,388,14.087,412,15.514,464,10.447,574,17.528,624,6.327,655,15.514,658,11.42,702,9.213,711,9.286,728,6.594,731,9.973,766,10.979,820,5.018,838,5.071,876,6.91,898,7.901,949,6.451,1157,8.875,1223,12.543,1281,10.932,1338,11.607,1385,5.874,2985,12.847,4829,13.6,4837,16.755,4838,21.593,4839,15.514,4840,16.755,4841,16.755,4842,15.514,4843,16.755,4844,15.514]],["keywords/977",[]],["title/978",[3800,943.268,4469,757.892,4558,904.105]],["content/978",[8,7.618,18,9.332,141,5.562,149,8.681,152,15.75,272,12.151,289,18.519,399,18.519,400,16.234,486,6.511,737,10.912,1431,9.695,2060,15.75,3800,23.579,4121,16.234,4469,16.996,4558,20.275,4845,19.999]],["keywords/978",[]],["title/979",[475,235.414,556,212.259,613,269.513,1475,365.575]],["content/979",[]],["keywords/979",[]],["title/980",[623,800.603]],["content/980",[6,4.417,9,3.018,13,4.481,25,6.519,26,4.619,58,8.267,90,3.985,140,2.443,144,3.545,157,5.168,178,12.466,219,7.589,284,9.311,346,5.763,363,2.328,417,3.924,452,11.349,454,6.828,475,7.111,486,3.735,534,4.465,540,4.099,554,6.83,556,6.327,598,7.485,605,6.41,613,6.36,627,11.016,652,13.516,677,4.75,702,6.308,716,8.214,743,8.192,762,5.693,800,9.833,857,7.387,876,4.731,889,3.066,944,4.609,1120,4.584,1153,12.466,1163,6.259,1215,6.034,1216,10.226,1336,4.77,1338,7.947,1385,5.838,1393,7.589,1512,6.464,1641,7.387,1644,3.392,2039,9.034,2091,7.124,2308,8.796,2388,8.403,2400,11.177,2656,9.034,3387,6.828,3501,8.403,3629,5.693,3633,10.622,4846,13.516,4847,10.622,4848,11.471,4849,11.471,4850,11.471,4851,11.471,4852,11.471,4853,11.471,4854,16.651,4855,11.471,4856,11.471,4857,10.622,4858,11.471,4859,11.471,4860,8.588,4861,10.622,4862,11.471,4863,11.471]],["keywords/980",[]],["title/981",[4476,1163.403]],["content/981",[1,3.403,9,3.134,16,6.615,19,5.773,23,8.419,31,5.36,59,2.975,63,5.547,140,3.112,149,6.343,193,2.957,251,5.931,268,9.075,354,7.854,394,12.287,443,5.156,467,2.025,475,6.178,504,9.293,505,6.101,554,6.875,556,5.994,612,8.305,613,7.913,624,3.87,659,10.704,671,9.668,677,6.051,710,10.3,721,9.96,746,6.681,786,12.287,807,2.422,824,3.24,832,1.754,835,13.448,847,1.998,876,6.026,944,4.045,988,7.913,1470,7.582,1610,6.43,1644,4.321,1925,17.303,2039,11.508,2049,15.538,2103,11.508,2321,10.3,4063,10.3,4861,13.531,4864,14.613,4865,7.252,4866,13.531,4867,14.613]],["keywords/981",[]],["title/982",[193,160.038,257,253.169,824,175.319,1989,579.283,4868,790.825]],["content/982",[]],["keywords/982",[]],["title/983",[]],["content/983",[13,7.622,21,4.139,96,10.263,193,5.183,195,12.731,257,7.605,355,7.432,486,6.352,554,6.798,632,9.513,746,8.921,864,14.607,878,11.854,982,5.227,998,17.116,1385,6.841,1470,10.123,3813,17.116,4264,16.405,4869,17.116,4870,19.512,4871,19.512,4872,18.067,4873,19.512]],["keywords/983",[]],["title/984",[109,1363.216]],["content/984",[14,4.763,109,17.088,193,5.032,257,7.96,467,1.909,486,6.853,597,9.673,3502,13.074,4264,17.7,4872,19.493,4874,21.051,4875,21.051,4876,21.051]],["keywords/984",[]],["title/985",[273,378.152,993,715.359]],["content/985",[]],["keywords/985",[]],["title/986",[273,378.152,993,715.359]],["content/986",[]],["keywords/986",[]],["title/987",[52,559.715,344,460.703,4621,799.473,4877,766.28]],["content/987",[1,3.255,5,6.662,6,5.381,9,1.961,19,5.521,48,5.542,52,13.407,53,19.058,58,5.059,91,6.389,108,5.323,122,5.248,148,7.625,248,9.433,273,4.031,279,9,316,6.454,323,9.346,328,8.461,344,12.839,379,7.875,386,11.75,398,5.44,404,4.669,418,6.814,469,8.491,475,4.944,500,5.65,600,3.492,700,7.942,713,6.066,728,5.5,764,5.909,847,2.985,856,7.809,993,7.625,1048,5.542,1103,6.894,1142,8.679,1215,3.692,1447,11.75,1450,14.676,1994,11.006,2016,9.381,2248,7.942,3305,11.344,3540,12.941,4754,12.941,4877,21.355,4878,13.975,4879,12.259,4880,13.975,4881,14.442,4882,19.149,4883,12.941,4884,12.941,4885,13.975,4886,13.975,4887,12.259,4888,13.975]],["keywords/987",[]],["title/988",[273,378.152,993,715.359]],["content/988",[6,5.758,9,2.812,41,3.476,76,9.758,91,9.162,155,8.356,174,4.526,197,7.922,204,4.748,251,8.133,269,5.778,273,6.963,322,5.541,329,6.505,363,3.159,380,6.77,382,6.906,390,5.142,398,5.821,443,7.07,467,1.356,475,5.176,490,8.097,540,7.16,624,3.96,728,5.886,739,7.377,746,6.837,856,11.198,857,9.63,885,4.4,921,9.553,993,14.138,1331,11.777,2091,9.287,2146,7.015,2248,8.499,2409,10.36,2614,13.847,3385,12.139,3629,7.421,3675,10.038,4469,10.54,4476,10.36,4889,14.955,4890,14.955,4891,14.955,4892,12.574,4893,14.955,4894,14.955,4895,12.574,4896,14.955,4897,14.955,4898,14.955,4899,14.955]],["keywords/988",[]],["title/989",[9,127.87,390,194.098,993,497.255,3460,509.271]],["content/989",[9,2.427,14,4.987,31,6.345,48,6.859,50,5.495,193,3.501,248,7.475,273,6.996,286,6.103,343,5.433,355,6.589,380,7.831,390,5.439,443,7.776,467,1.568,475,4.468,487,7.831,597,7.948,627,11.444,742,9.366,784,10.509,856,9.666,885,5.09,993,13.935,994,12.95,1437,5.954,1450,18.598,2020,7.831,2146,10.338,2248,9.83,3521,15.174,4900,16.017,4901,17.298,4902,16.017]],["keywords/989",[]],["title/990",[390,194.098,540,325.65,993,497.255,3460,509.271]],["content/990",[1,2.856,9,1.72,14,2.774,19,4.844,27,6.85,31,4.498,48,4.863,50,5.845,61,5.911,79,4.453,85,5.446,90,6.068,91,5.606,146,4.938,157,5.524,162,5.752,202,5.099,273,6.397,319,3.981,322,4.543,363,3.505,380,5.551,382,9.398,390,5.19,424,7.45,447,11.557,467,1.845,475,5.256,540,4.382,545,2.176,554,4.273,597,5.634,648,7.798,651,6.852,700,6.969,711,6.797,713,5.322,728,4.826,743,4.671,889,5.438,900,7.035,921,10.572,982,3.285,985,7.45,993,13.985,1204,8.495,1208,5.12,1322,9.953,1332,8.643,1355,9.402,1356,10.31,1379,8.112,1584,8.112,1677,5.752,1822,16.603,1838,5.185,2146,5.752,2161,6.743,2248,12.604,2293,8.804,2302,9.657,2409,8.495,2777,5.878,3027,7.45,3675,8.231,3804,10.31,4900,16.176,4902,18.843,4903,12.262,4904,12.262,4905,12.262,4906,12.262,4907,12.262,4908,12.262,4909,12.262]],["keywords/990",[]],["title/991",[140,229.009,344,543.566,4877,904.105]],["content/991",[1,2.573,6,2.6,9,1.55,14,4.34,19,2.668,41,3.259,48,2.678,50,1.684,51,3.458,52,6.785,58,2.444,91,3.087,108,2.572,122,1.509,139,3.135,144,2.087,146,4.449,148,3.684,193,4.098,197,3.577,204,2.144,223,3.805,236,2.425,263,3.504,273,6.488,274,2.168,275,3.906,319,5.801,329,4.552,344,11.372,363,1.544,374,6.225,380,8.089,388,5.678,404,3.691,410,5.055,417,4.797,453,3.185,467,2.618,475,2.854,486,5.817,520,3.151,545,1.199,556,4.468,571,3.603,624,1.788,634,3.713,652,5.481,658,4.603,700,3.838,716,5.45,743,4.208,764,2.855,766,3.103,794,3.98,804,1.488,824,1.497,832,0.81,842,4.501,849,3.603,860,5.771,892,2.638,900,4.449,984,6.577,993,7.65,994,8.271,1008,3.135,1048,2.678,1103,3.331,1120,2.698,1142,4.194,1144,7.654,1215,2.919,1223,5.055,1279,9.288,1320,5.481,1324,8.968,1331,5.318,1336,4.594,1351,5.178,1356,5.678,1385,2.368,1386,8.111,1447,9.289,1487,4.243,1704,4.76,1822,5.055,1957,5.178,2016,4.533,2100,7.968,2161,3.713,2248,3.838,2412,4.147,2563,10.271,2787,6.253,2823,4.678,3027,6.712,3103,6.576,3471,9.289,3675,4.533,3893,3.906,4506,10.231,4535,5.924,4563,5.924,4877,16.129,4882,9.692,4884,6.253,4910,21.128,4911,14.021,4912,6.753,4913,6.753,4914,16.436,4915,11.048,4916,6.753,4917,6.753,4918,6.753,4919,6.753,4920,11.048,4921,14.021,4922,12.3,4923,6.753,4924,6.753,4925,6.253,4926,6.253,4927,6.753,4928,6.753,4929,6.753,4930,6.753,4931,6.753,4932,6.753,4933,6.753,4934,6.753,4935,6.753,4936,6.253,4937,6.753,4938,6.753,4939,6.753,4940,6.753,4941,11.048,4942,6.753,4943,6.753,4944,6.753,4945,6.753,4946,5.481,4947,6.753,4948,6.753,4949,6.753,4950,5.678,4951,6.753,4952,6.753,4953,6.753,4954,6.753]],["keywords/991",[]],["title/992",[1386,971.506]],["content/992",[]],["keywords/992",[]],["title/993",[1386,971.506]],["content/993",[9,2.58,14,4.161,90,6.388,140,3.917,255,4.069,345,6.843,363,3.202,467,2.483,556,5.81,558,7.158,598,12,716,9.072,889,4.915,982,4.926,985,11.173,1215,4.859,1386,13.251,1487,14.392,2255,8.767,4560,17.029,4955,16.133,4956,18.391,4957,18.391,4958,15.463,4959,18.391,4960,18.391]],["keywords/993",[]],["title/994",[4961,1412.056]],["content/994",[14,3.713,26,10.449,50,4.092,90,5.7,140,3.495,162,7.698,345,6.365,363,3.307,393,9.673,467,2.515,516,7.393,556,4.962,581,5.283,582,11.567,598,10.708,640,11.185,828,5.032,876,6.768,889,6.323,894,9.247,969,9.247,982,4.396,985,9.971,1110,4.979,1215,4.336,1487,10.311,1644,4.853,1832,14.396,4074,12.924,4756,13.321,4955,14.396,4961,17.914,4962,16.411,4963,16.411,4964,16.411,4965,16.411,4966,16.411,4967,16.411,4968,16.411]],["keywords/994",[]],["title/995",[4557,1183.697]],["content/995",[9,2.843,14,3.931,19,4.807,26,4.9,41,4.71,48,4.826,50,4.332,90,4.227,122,3.883,140,4.316,144,3.761,164,6.446,192,9.331,193,2.463,198,12.727,263,6.314,273,5.011,279,7.837,287,3.645,290,11.337,307,8.051,329,3.951,345,3.635,358,4.126,363,3.497,393,10.241,417,4.163,467,2.204,475,6.037,478,5.649,486,3.962,500,7.024,524,3.028,545,2.16,556,4.046,562,8.955,581,3.917,582,8.577,598,7.94,618,7.837,624,3.223,656,7.474,661,3.791,680,10.675,716,8.571,728,4.789,737,6.64,828,3.731,887,7.827,889,4.643,921,5.801,976,4.603,982,3.26,983,5.235,1008,5.649,1016,9.11,1215,5.839,1294,5.509,1386,11.722,1487,10.916,1832,15.241,1909,8.737,2581,8.168,2624,9.583,2729,11.842,3751,10.675,4557,14.282,4755,8.622,4955,10.675,4969,12.169,4970,12.169,4971,16.088,4972,12.169,4973,12.169,4974,10.232,4975,7.558,4976,12.169,4977,12.169,4978,12.169,4979,12.169]],["keywords/995",[]],["title/996",[63,408.142,545,190.861,699,411.041]],["content/996",[]],["keywords/996",[]],["title/997",[]],["content/997",[5,9.134,6,7.377,9,2.688,12,17.589,23,7.222,41,4.453,59,3.9,67,10.15,68,7.541,140,4.081,192,14.692,193,3.878,255,4.239,344,9.686,355,7.299,464,7.486,475,4.949,518,16.809,1008,11.796,4302,18.502,4490,21.756,4718,15.09,4980,19.161,4981,19.161,4982,19.161]],["keywords/997",[]],["title/998",[354,902.598]],["content/998",[59,3.809,63,9.544,67,12.266,329,6.075,344,9.46,355,7.128,587,7.128,613,6.847,699,7.153,798,17.755,835,15.782,1163,10.21,1291,12.963,1329,12.939,1333,10.825,1385,6.561,1558,11.757,2815,14.737,3514,15.19,4476,12.963,4983,26.273,4984,18.713,4985,18.713,4986,18.713]],["keywords/998",[]],["title/999",[18,783.665]],["content/999",[]],["keywords/999",[]],["title/1000",[59,266.883,63,497.65]],["content/1000",[1,3.313,14,3.218,19,5.619,23,5.361,30,5.341,59,5.746,63,10.093,140,3.029,157,6.408,193,2.878,204,4.516,220,6.856,236,4.251,257,4.553,310,4.67,357,5.324,379,10.915,443,5.018,464,9.24,505,5.939,520,6.637,598,9.281,613,6.515,738,13.171,739,9.556,756,7.482,840,7.092,866,6.014,886,6.066,967,8.735,1001,12.477,1157,7.534,1158,8.228,1227,6.119,1238,6.935,1263,9.045,1385,4.987,1431,6.895,1480,9.327,1558,8.937,2216,16.121,2328,8.937,2394,8.466,2547,8.642,3793,16.288,4865,7.058,4987,14.224]],["keywords/1000",[]],["title/1001",[18,783.665]],["content/1001",[18,7.368,19,4.215,22,6.35,23,4.021,30,6.108,59,5.575,63,10.091,67,9.957,68,4.199,140,2.272,144,3.297,149,4.631,187,4.078,255,2.36,257,5.055,258,3.473,272,6.482,274,3.425,324,10.938,355,6.014,390,2.272,417,3.65,467,2.011,486,3.473,545,4.472,554,3.717,556,4.378,565,5.393,587,4.064,605,8.823,613,6.866,623,8.96,624,2.825,625,7.012,671,7.058,699,4.078,797,7.161,800,4.878,804,2.351,807,2.617,824,2.365,832,1.895,835,7.272,838,2.506,840,5.083,866,4.511,883,4.57,885,3.139,892,6.168,944,2.953,967,6.552,981,6.626,1329,10.503,1333,12.018,1480,8.358,1558,6.703,1766,7.519,1849,7.058,2216,14.16,2322,8.97,2394,6.35,2413,12.107,2414,14.071,2498,6.703,2619,7.272,2674,7.272,2749,9.218,3269,7.815,3619,7.519,3652,8.18,4495,8.66,4683,9.359,4865,7.835,4988,7.987,4989,9.879,4990,10.669,4991,10.669]],["keywords/1001",[]],["title/1002",[2309,1287.729]],["content/1002",[59,4.587,63,8.553,613,6.664,840,7.254,2309,17.278]],["keywords/1002",[]],["title/1003",[475,338.669,743,499.41]],["content/1003",[]],["keywords/1003",[]],["title/1004",[14,296.65,743,499.41]],["content/1004",[6,3.433,9,2.364,14,3.813,16,4.036,27,3.496,41,3.204,50,2.223,59,1.815,67,4.723,73,7.52,94,6.284,140,2.936,188,4.322,193,1.804,205,5.288,255,1.973,259,6.5,287,5.047,332,4.507,382,4.118,398,3.47,404,2.979,423,6.021,467,2.548,475,6.322,489,3.853,525,3.458,540,3.186,545,3.365,554,4.803,597,4.097,611,5.898,613,6.409,632,6.72,634,4.902,656,5.475,670,6.674,728,3.509,732,4.942,737,4.864,739,4.398,743,9.49,766,7.743,820,2.67,824,3.056,832,1.07,837,4.982,840,2.87,842,2.862,847,1.219,874,7.496,885,2.623,886,3.802,889,3.684,892,3.483,907,5.817,947,8.501,949,3.433,961,7.021,981,5.537,982,3.692,1031,7.496,1061,4.69,1092,4.479,1146,4.507,1208,5.755,1215,3.642,1294,6.24,1333,5.157,1644,6.903,1925,6.176,2002,4.097,2049,7.021,2198,5.111,2216,6.077,2253,6.077,2308,6.836,2365,5.93,2399,10.855,2400,9.252,2740,8.312,3657,5.741,4205,7.496,4386,7.821,4495,7.237,4755,6.84,4974,18.222,4975,5.537,4992,12.763,4993,8.916,4994,8.916,4995,8.916,4996,8.916,4997,13.784,4998,8.916,4999,8.916,5000,8.916,5001,8.916,5002,8.916,5003,8.916,5004,13.784,5005,8.916,5006,8.256,5007,8.916,5008,8.916,5009,8.256,5010,8.916,5011,8.916,5012,8.916,5013,8.916,5014,8.916,5015,8.916,5016,16.851,5017,8.916,5018,8.916,5019,7.821,5020,8.916]],["keywords/1004",[]],["title/1005",[14,243.294,67,569.598,743,409.585]],["content/1005",[14,5.86,97,7.91,122,4.018,140,3.829,187,6.872,205,6.897,286,6.343,363,2.513,467,2.348,475,5.833,540,6.424,613,6.678,632,8.765,743,9.866,756,11.879,820,5.385,840,5.787,944,4.976,982,4.816,1137,12.908,1294,8.139,1393,14.94,3538,14.593,4755,8.921,4974,18.988,5009,16.647,5021,17.978]],["keywords/1005",[]],["title/1006",[67,569.598,743,409.585,982,288.041]],["content/1006",[7,6.143,14,5.143,90,6.309,122,4.059,140,2.76,193,2.622,255,2.867,257,4.148,273,5.239,283,6.015,286,4.571,417,4.433,443,4.571,467,2.58,475,6.408,478,6.015,613,3.832,632,8.855,634,7.125,728,5.1,743,9.116,766,5.954,824,2.872,837,10.149,838,3.043,842,4.16,872,11.035,982,5.618,984,8.52,988,7.016,1137,9.303,1208,8.756,1392,10.517,1395,10.517,1470,6.723,2100,7.364,2308,9.935,2400,15.256,3392,12.38,3471,10.894,3860,10.706,4857,16.818,5006,16.818,5022,12.957,5023,12.957,5024,12.957,5025,12.957,5026,12.957,5027,12.957,5028,22.729,5029,18.163,5030,18.163,5031,18.163,5032,18.163]],["keywords/1006",[]],["title/1007",[67,569.598,363,150.319,743,409.585]],["content/1007",[1,4.358,14,5.239,18,8.732,67,9.913,70,14.349,90,6.5,310,6.144,363,2.616,467,2.382,555,12.755,556,4.358,597,8.599,609,9.843,625,8.311,735,13.436,743,8.82,766,8.599,957,10.825,985,11.369,1393,12.38,1470,9.709,2017,16.416,3538,15.19,4441,15.734,5033,21.441,5034,18.713,5035,18.713,5036,18.713]],["keywords/1007",[]],["title/1008",[362,192.565,743,347.146,756,479.38,812,308.997]],["content/1008",[319,7.42,1120,9.132,4469,16.109]],["keywords/1008",[]],["title/1009",[14,158.025,355,266.035,613,206.541,743,266.035,766,320.928,982,187.09]],["content/1009",[9,1.996,14,5.599,67,10.262,108,5.418,122,5.286,140,3.029,193,2.878,194,5.557,258,4.631,260,6.637,354,10.411,355,8.391,358,4.822,363,2.708,467,2.571,475,3.674,545,2.525,613,4.206,713,6.174,743,9.952,766,6.536,832,1.707,921,6.781,982,6.84,984,10.334,1208,5.939,1571,13.171,2399,15.255,3223,17.938,5037,9.695,5038,19.372,5039,14.224,5040,13.171,5041,14.224,5042,14.224,5043,19.372,5044,14.224,5045,14.224,5046,14.224,5047,14.224,5048,17.938,5049,14.224,5050,14.224]],["keywords/1009",[]],["title/1010",[475,433.806]],["content/1010",[]],["keywords/1010",[]],["title/1011",[623,800.603]],["content/1011",[5,8.072,6,6.519,18,7.901,30,4.105,38,7.942,41,3.935,50,5.987,68,6.664,77,10.18,91,7.741,108,8.281,157,9.794,193,3.426,301,8.845,326,8.162,363,3.039,364,8.506,382,7.82,454,10.078,475,7.044,489,7.316,545,3.859,587,6.449,667,9.541,668,11.54,692,5.673,729,10.18,730,10.287,742,9.168,743,6.449,872,10.287,876,8.966,889,4.525,894,9.541,1215,4.474,1644,5.007,2002,7.78,2222,12.403,5051,16.932]],["keywords/1011",[]],["title/1012",[516,590.668,982,351.21]],["content/1012",[9,3.191,14,5.146,30,4.408,50,4.533,122,5.083,140,3.872,144,5.619,187,9.487,319,5.903,329,5.903,374,10.245,475,4.696,516,11.716,545,4.037,556,4.235,568,9.701,921,8.668,982,7.423,1208,7.591,1215,4.804,1437,6.258,2311,9.564,3510,13.055,3543,6.146]],["keywords/1012",[]],["title/1013",[516,590.668,742,709.93]],["content/1013",[19,6.834,30,4.194,50,5.495,257,5.538,326,8.338,332,8.744,336,18.001,363,2.418,443,6.103,475,5.693,500,6.993,516,11.506,562,8.915,624,4.581,886,7.377,982,4.634,1149,10.743,1208,9.202,1216,10.623,1271,13.622,1366,10.212,1437,5.954,1644,7.173,1724,12.42,1931,13.263,4066,16.017,4633,5.882,4709,24.425,4748,16.017,5052,17.298,5053,17.298]],["keywords/1013",[]],["title/1014",[363,150.319,742,582.24,1215,284.104]],["content/1014",[9,3.263,77,9.525,85,7.036,90,5.503,91,7.243,193,3.206,194,8.134,208,8.008,248,6.846,255,3.505,329,5.143,362,4.399,363,3.888,364,7.959,408,6.615,475,6.381,489,6.846,490,8.578,516,7.137,525,6.144,742,12.593,812,5.371,889,4.234,894,8.927,921,9.926,982,5.577,1061,8.333,1215,6.959,1437,7.166,2070,6.33,3429,11.375,3543,5.355,3556,7.815,3812,10.075,5054,15.843,5055,15.843,5056,15.843,5057,13.32,5058,15.843]],["keywords/1014",[]],["title/1015",[475,338.669,3675,880.059]],["content/1015",[31,7.382,122,4.498,259,9.491,363,3.384,382,9.294,398,7.833,413,10.372,417,6.885,475,6.252,739,9.927,742,13.107,743,7.666,1215,6.395,1437,8.331,2279,11.246,3675,13.508,5059,18.635]],["keywords/1015",[]],["title/1016",[743,639.701]],["content/1016",[16,9.227,38,9.56,50,6.081,162,9.56,174,6.168,319,6.616,363,2.849,475,6.3,506,11.899,545,3.618,726,11.685,743,9.29,1018,6.616,1137,14.634,1215,5.385,1644,6.027,2002,9.365]],["keywords/1016",[]],["title/1017",[174,275.804,380,412.582,1215,240.794,1925,631.344]],["content/1017",[5,7.129,9,2.812,14,5.463,21,3.172,41,3.476,91,6.837,187,5.716,188,7.249,193,4.055,236,3.282,248,8.659,274,4.801,349,9.758,363,2.801,380,10.231,423,5.343,475,6.836,516,6.737,554,5.211,565,7.56,617,8.991,623,7.129,651,11.198,653,9.758,671,9.893,716,7.377,719,6.405,751,10.038,757,10.36,766,6.872,840,4.814,872,13.731,982,4.006,1016,15.002,1076,17.798,1215,6.379,1294,6.77,1437,6.897,1925,10.36,1931,11.467,1935,11.467,2222,10.954,2339,10.737,2376,13.882,3627,13.847,3812,9.51,4534,13.847,4573,13.118,4950,12.574,5060,14.955,5061,14.955]],["keywords/1017",[]],["title/1018",[215,297.634,475,277.756,524,267.523]],["content/1018",[30,4.618,41,4.427,46,5.335,108,7.255,204,6.048,215,6.479,316,8.797,326,11.284,363,3.543,475,6.546,524,6.305,545,3.381,603,7.414,702,12.872,719,8.158,828,5.84,876,7.855,887,8.581,1385,6.678,2248,10.825,2625,13.425,3524,15]],["keywords/1018",[]],["title/1019",[363,150.319,661,334.99,1215,284.104]],["content/1019",[14,4.969,15,6.44,30,4.171,50,4.29,122,4.909,357,6.44,363,3.563,382,7.946,390,3.664,475,6.25,478,7.987,516,7.751,554,5.995,661,7.537,743,8.366,766,7.906,824,3.814,872,10.453,982,5.883,1061,9.05,1215,5.803,1437,8.773,1573,10.708,1611,16.006,1644,5.088,2409,11.918,3652,13.192,5062,8.252,5063,17.205]],["keywords/1019",[]],["title/1020",[30,260.685,661,334.99,4121,872.834]],["content/1020",[1,4.687,15,7.533,30,4.879,108,7.666,390,5.155,475,6.252,591,8.696,661,6.27,983,8.658,1366,10.191,1437,6.927,1644,7.158,2777,9.647,4121,16.336,4714,18.635,5064,8.256,5065,20.125]],["keywords/1020",[]],["title/1021",[363,150.319,1154,633.798,1611,711.377]],["content/1021",[6,5.952,9,2.169,30,4.967,41,6.08,50,3.855,58,5.596,91,7.068,140,3.293,193,3.129,243,8.309,255,3.42,257,4.949,274,6.577,285,8.554,329,5.019,340,6.455,362,3.267,363,3.657,380,9.275,467,1.402,475,3.993,478,9.511,490,8.371,524,3.846,600,5.119,623,7.37,661,4.816,688,10.292,742,8.371,756,8.132,766,7.104,894,8.711,921,7.37,1033,8.639,1103,7.626,1154,9.112,1208,8.554,1215,5.413,1263,13.029,1385,5.42,1437,5.321,1611,13.554,1613,6.059,1724,11.1,2020,6.999,2777,7.411,3779,7.766,5066,15.46]],["keywords/1021",[]],["title/1022",[236,287.742,1215,346.41]],["content/1022",[9,2.595,41,5.343,108,8.757,140,3.939,174,5.598,181,13.847,197,9.798,236,5.906,326,8.916,363,2.586,390,3.939,475,4.778,554,6.445,609,9.729,624,6.088,634,10.171,699,7.071,887,8.333,1211,15.014,1215,7.11,1216,11.36,2674,12.607,3440,12.814,3619,13.037,5067,18.497]],["keywords/1022",[]],["title/1023",[236,287.742,273,378.152]],["content/1023",[40,13.161,41,4.591,122,4.415,140,5.097,144,7.397,236,5.651,273,7.907,323,7.863,344,9.985,363,3.346,489,8.535,513,12.255,1215,5.219,1369,15.555]],["keywords/1023",[]],["title/1024",[273,378.152,571,699.516]],["content/1024",[7,8.761,40,7.302,51,6.799,86,7.613,90,4.613,91,6.071,108,5.058,122,4.13,140,2.828,144,4.104,157,5.983,204,4.216,221,5.522,236,4.664,248,5.738,273,3.83,283,6.165,319,4.311,357,4.971,363,3.8,467,2.371,475,3.43,486,4.323,516,5.983,554,4.627,556,4.303,571,7.085,584,8.445,634,7.302,711,7.36,742,10.005,746,6.071,755,9.941,764,5.615,842,4.263,889,3.549,1215,6.777,1266,6.165,1326,11.649,1355,14.168,1369,14.551,1394,19.602,1437,4.571,1450,10.182,1480,6.964,1703,9.36,1704,9.36,1817,7.034,2293,15.258,2388,9.727,2409,9.199,2816,11.649,3103,7.904,3521,11.649,4199,9.941,5068,10.779,5069,13.28,5070,18.478,5071,13.28,5072,13.28,5073,13.28,5074,13.28,5075,13.28,5076,13.28,5077,13.28]],["keywords/1024",[]],["title/1025",[236,200.013,273,262.858,429,270.886,478,423.07]],["content/1025",[1,3.862,9,2.326,40,9.117,41,4.985,79,9.129,204,5.264,215,7.206,236,4.707,244,13.459,310,5.444,344,8.382,418,12.256,429,6.375,475,6.141,489,7.165,513,8.49,624,4.391,728,6.526,743,6.316,808,7.737,945,13.63,1008,7.697,1215,6.282,1390,13.031,1450,12.714,2293,17.071,2591,12.714,3446,15.354,4208,13.459,4321,15.354,5078,16.581,5079,16.581,5080,16.581,5081,16.581]],["keywords/1025",[]],["title/1026",[236,235.988,742,582.24,1215,284.104]],["content/1026",[9,1.657,51,6.047,85,5.245,90,5.907,108,6.477,149,5.126,194,6.643,215,3.269,236,5.57,248,5.103,251,4.793,263,6.127,273,6.288,283,5.482,310,3.878,319,3.834,328,5.22,363,3.048,374,6.655,380,7.698,382,5.454,404,3.945,410,8.841,417,4.04,428,12.21,467,1.807,475,5.631,489,5.103,524,2.938,562,6.087,613,3.492,624,3.127,642,7.029,661,3.679,677,4.89,729,7.101,742,10.79,764,4.993,824,5.334,832,1.417,840,3.802,847,1.615,860,6.169,892,8.517,900,6.848,909,6.961,971,4.58,1036,5.599,1055,9.055,1208,4.931,1215,7.093,1393,13.183,1437,6.859,1644,5.029,2238,8.651,2380,9.3,2625,8.324,2709,7.927,3399,9.93,3429,8.48,3632,9.93,4155,10.936,5040,10.936,5082,11.81,5083,11.81,5084,11.81,5085,11.81,5086,17.005,5087,11.81,5088,6.047,5089,11.81,5090,11.81,5091,11.81,5092,17.005,5093,11.81,5094,19.927,5095,11.81,5096,17.005,5097,11.81]],["keywords/1026",[]],["title/1027",[236,287.742,2481,751.661]],["content/1027",[14,4.671,46,5.783,146,8.313,194,8.065,236,5.394,251,8.378,279,13.294,326,9.951,429,6.136,443,7.283,600,5.159,605,11.536,742,11.178,1208,8.619,1215,6.494,2481,11.835]],["keywords/1027",[]],["title/1028",[59,266.883,273,378.152]],["content/1028",[]],["keywords/1028",[]],["title/1029",[9,183.956,404,438.019]],["content/1029",[9,3.713,38,10.41,48,6.934,59,4.517,122,5.449,187,6.684,218,11.218,221,9.227,273,6.401,301,9.135,363,3.102,382,8.076,469,10.624,524,4.351,569,11.919,625,7.766,693,10.209,795,13.771,852,14.194,853,14.194,1154,13.08,1385,6.131,3893,10.116,4286,19.788,4381,11.738,5098,22.574,5099,14.194,5100,22.192]],["keywords/1029",[]],["title/1030",[9,150.869,59,218.881,273,310.136]],["content/1030",[1,4.49,9,3.575,59,5.543,90,6.696,273,7.854,329,6.258,343,6.054,362,4.073,423,6.888,483,13.841,524,4.796,597,8.858,610,13.587,949,7.422,976,7.291,1624,10.36,5101,19.277,5102,19.277,5103,19.277]],["keywords/1030",[]],["title/1031",[59,160.975,273,228.088,343,248.365,597,363.38,949,304.47]],["content/1031",[9,3.241,46,3.767,59,4.354,90,4.671,106,7.174,149,5.837,171,8.5,273,6.17,310,4.415,322,4.982,329,4.365,343,4.223,362,4.88,467,2.563,483,9.655,524,4.637,540,4.805,556,3.132,563,9.165,568,7.174,597,8.564,812,7.253,836,5.934,842,4.317,948,10.311,949,8.236,1011,10.17,1025,17.119,1026,16.846,1079,9.315,1085,10.311,1344,9.671,1573,6.556,1683,5.104,2161,7.394,2179,9.315,3378,9.315,5104,18.639,5105,13.447,5106,13.447,5107,18.639,5108,13.447,5109,13.447,5110,18.639,5111,13.447,5112,13.447,5113,13.447,5114,13.447,5115,13.447,5116,13.447,5117,13.447]],["keywords/1031",[]],["title/1032",[59,218.881,273,310.136,423,384.223]],["content/1032",[1,5.795,9,3.491,40,10.055,59,3.722,67,9.686,68,7.197,198,13.394,205,7.015,215,6.888,248,7.902,273,5.274,362,4.823,390,3.894,423,8.891,505,7.635,524,4.549,624,4.842,654,16.932,755,13.689,812,6.2,848,7.481,949,8.788,976,9.412,1103,11.259,3781,16.932]],["keywords/1032",[]],["title/1033",[59,218.881,141,299.054,273,310.136]],["content/1033",[9,2.721,13,7.576,41,4.507,50,4.835,59,4.818,141,5.394,269,7.494,273,6.826,340,8.097,362,5.001,363,3.309,423,6.93,523,7.576,815,11.66,949,9.113,1025,15.444,1103,9.567,1622,9.742,3260,14.87,4297,17.012,4808,15.272,5098,17.958]],["keywords/1033",[]],["title/1034",[417,367.866,766,494.096,2102,675.602]],["content/1034",[]],["keywords/1034",[]],["title/1035",[1906,1127.28]],["content/1035",[1,5.51,9,2.303,38,9.994,41,4.952,59,5.097,85,7.288,140,3.495,202,6.824,218,10.77,230,7.155,235,7.739,236,5.192,239,10.311,248,7.091,259,7.739,269,6.341,273,7.222,329,6.917,330,12.286,362,4.999,429,4.878,489,7.091,642,9.768,651,9.17,701,13.321,898,7.739,1048,6.508,1099,14.693,1135,10.708,1198,8.048,1298,13.321,1838,6.939,1954,8.515,4286,17.294,5118,16.411,5119,14.396,5120,16.411,5121,15.196,5122,16.411]],["keywords/1035",[]],["title/1036",[59,160.975,273,228.088,329,256.729,483,567.812,711,438.323]],["content/1036",[9,3.346,38,9.209,46,5.499,59,4.854,273,6.877,297,8.887,362,4.148,429,5.835,483,14.095,524,4.884,563,13.38,597,9.021,610,16.806,719,8.409,787,10.63,866,8.301,949,9.888,1048,7.785,5123,19.631,5124,16.506]],["keywords/1036",[]],["title/1037",[59,218.881,273,310.136,3940,995.701]],["content/1037",[1,5.872,9,2.108,59,5.394,106,8.016,189,9.675,194,7.853,238,13.912,239,9.44,248,6.492,263,7.795,268,9.331,273,7.642,324,13.925,328,6.642,329,4.878,362,4.786,417,5.14,423,7.183,429,5.975,453,7.085,562,10.36,603,5.848,711,8.328,723,11.006,746,6.869,787,10.884,795,15.83,842,4.823,1036,9.531,1045,7.903,1048,7.971,1158,11.628,1612,13.116,1954,7.795,2340,11.832,2412,9.227,3646,9.034,3792,13.18,3939,11.248,4575,13.912,5068,12.196,5119,17.634,5125,13.912,5126,15.025,5127,15.025,5128,13.912]],["keywords/1037",[]],["title/1038",[59,185.514,273,262.858,476,594.675,4276,594.675]],["content/1038",[1,5.002,9,3.013,59,5.121,272,13.047,273,7.256,363,3.002,476,14.013,483,15.419,787,11.628,5129,21.475]],["keywords/1038",[]],["title/1039",[117,666.996,122,293.037]],["content/1039",[]],["keywords/1039",[]],["title/1040",[766,771.693]],["content/1040",[1,3.078,9,2.974,14,1.911,19,3.336,23,3.183,25,4.799,33,6.651,34,3.881,41,1.963,46,2.366,48,3.349,50,2.106,56,5.027,77,5.078,86,4.842,90,4.59,106,7.05,117,10.168,122,3.638,124,6.322,140,2.814,144,2.61,146,5.321,149,3.666,171,4.863,174,2.556,193,1.709,204,2.681,273,4.695,283,3.92,285,3.526,286,2.98,287,6.348,307,5.587,318,6.651,364,4.242,383,4.931,390,3.922,398,3.287,467,2.263,481,4.681,486,4.302,489,3.649,520,3.941,524,5.703,534,3.287,540,3.018,545,3.268,605,4.719,613,7.265,623,4.026,624,3.499,710,5.952,719,3.617,771,11.277,796,6.064,824,1.872,832,1.954,836,7.821,840,2.719,842,5.912,873,5.245,931,2.667,941,4.296,949,8.826,957,4.885,976,3.194,989,5.756,1007,4.799,1011,4.608,1026,10.407,1076,10.407,1078,4.799,1079,9.154,1111,5.245,1116,10.133,1122,5.131,1123,7.408,1125,7.408,1126,7.101,1127,8.742,1129,7.408,1131,11.592,1132,7.408,1133,4.978,1134,5.85,1135,5.511,1136,7.101,1137,6.064,1139,7.408,1140,7.408,1141,3.961,1143,6.855,1144,5.85,1145,6.855,1146,4.269,1147,9.007,1148,7.408,1272,3.666,1619,5.245,2070,5.28,2102,5.306,2145,8.827,2311,4.442,2412,5.187,2497,5.756,5121,7.82,5130,8.445,5131,8.445,5132,7.408,5133,8.445,5134,8.445,5135,8.445,5136,8.445,5137,8.445,5138,8.445,5139,8.445,5140,8.445,5141,11.592,5142,8.445,5143,8.445,5144,13.215,5145,8.445,5146,8.445,5147,7.82,5148,7.408,5149,8.445,5150,18.415,5151,8.445,5152,8.445,5153,8.445,5154,8.445,5155,8.445,5156,8.445,5157,8.445,5158,8.445,5159,8.445,5160,8.445,5161,8.445,5162,8.445,5163,8.445,5164,7.82]],["keywords/1040",[]],["title/1041",[363,183.285,1015,880.059]],["content/1041",[]],["keywords/1041",[]],["title/1042",[14,296.65,830,751.661]],["content/1042",[9,2.223,14,5.959,19,6.259,108,6.034,140,3.374,258,5.158,259,9.819,263,8.22,467,2.584,475,6.007,523,6.189,554,5.52,556,3.69,600,3.959,613,4.685,742,8.578,764,6.699,827,11.832,828,4.857,830,9.082,836,5.044,837,8.853,983,6.816,984,9.767,1015,10.634,1120,6.33,1196,9.003,2099,18.493,2100,11.832,2101,12.476,3460,8.853,5165,19.28,5166,17.506,5167,15.843,5168,15.843,5169,15.843]],["keywords/1042",[]],["title/1043",[363,183.285,830,751.661]],["content/1043",[9,2.314,14,5.366,21,3.499,31,6.05,140,3.513,285,6.887,467,2.642,545,2.928,613,4.878,640,11.243,821,15.067,824,3.657,842,5.295,982,4.419,984,10.028,1015,11.072,1866,15.067,2099,16.003,2100,12.149,2101,16.834,5166,17.974,5170,14.47,5171,16.496,5172,15.275,5173,19.795,5174,15.275,5175,16.496,5176,15.275]],["keywords/1043",[]],["title/1044",[1866,1290.796]],["content/1044",[9,2.42,14,2.726,15,5.644,16,3.401,19,2.968,21,3.198,79,2.729,122,2.692,140,2.565,174,2.274,193,2.438,205,5.784,223,4.234,236,1.649,255,1.662,259,3.543,260,3.506,273,2.167,349,4.903,363,1.684,374,4.234,390,2.565,438,3.729,467,2.611,513,3.847,554,2.618,556,2.806,571,4.009,605,4.199,610,5.296,613,4.459,692,2.518,700,4.27,764,5.093,821,10.627,824,4.877,827,13.984,828,2.304,830,8.644,832,0.902,836,7.941,837,6.731,842,3.867,847,1.028,873,4.666,900,4.851,944,2.08,982,6.372,984,8.091,985,4.565,1015,5.043,1037,5.043,1120,3.002,1147,10.277,1162,5.917,1208,3.137,1215,1.985,1323,6.591,1342,6.591,1344,3.898,1351,5.761,1371,5.917,1390,4.565,1470,6.25,1480,2.832,1572,4.721,1573,3.663,1610,3.306,1866,12.157,2079,6.591,2099,14.134,2100,9.802,2101,15.868,2145,7.228,2336,9.237,2344,6.099,2777,3.602,2907,5.917,3210,6.591,3460,6.731,3713,6.957,3730,11.874,4336,9.486,5165,11.154,5166,12.678,5172,6.957,5173,11.154,5174,11.154,5176,6.957,5177,7.514,5178,7.514,5179,11.154,5180,15.078,5181,12.046,5182,7.514,5183,7.514,5184,7.514,5185,7.514,5186,7.514,5187,7.514,5188,7.514,5189,7.514,5190,7.514,5191,7.514,5192,7.514,5193,7.514,5194,7.514,5195,7.514,5196,7.514,5197,7.514,5198,7.514,5199,7.514,5200,7.514,5201,7.514,5202,7.514,5203,7.514,5204,7.514,5205,7.514,5206,7.514,5207,7.514,5208,7.514,5209,7.514,5210,7.514,5211,7.514,5212,7.514,5213,7.514,5214,7.514,5215,7.514,5216,7.514]],["keywords/1044",[]],["title/1045",[742,709.93,982,351.21]],["content/1045",[1,4.211,14,4.091,50,4.508,58,6.544,108,6.886,149,7.847,174,5.471,363,3.628,450,10.103,540,6.46,554,6.299,556,5.278,625,8.029,710,12.743,742,9.789,743,6.886,764,7.644,820,5.415,830,12.993,882,11.604,982,7.16,1294,8.185,1373,9.026,2042,14.675,2070,7.224,2815,14.237,3431,11.497,3795,15.859,5217,18.079,5218,18.079]],["keywords/1045",[]],["title/1046",[140,229.009,556,250.436,982,288.041]],["content/1046",[14,5.275,140,3.391,209,9.384,223,8.971,257,5.097,263,8.261,297,7.208,328,7.038,355,6.064,363,2.92,380,7.208,467,2.596,554,8.123,556,5.43,597,7.316,603,6.197,617,9.573,623,7.59,723,11.662,820,4.769,830,11.975,842,5.111,982,6.245,983,6.849,984,9.799,1263,10.125,2016,10.687,2100,9.048,2174,11.029,3020,12.924,3468,12.924,3538,12.924,5048,21.588,5170,13.966,5219,15.921,5220,15.921,5221,15.921]],["keywords/1046",[]],["title/1047",[140,279.233,487,593.547]],["content/1047",[9,2.376,14,4.919,193,3.426,363,3.039,409,9.622,467,2.582,551,11.54,554,5.9,556,3.943,824,5.617,827,9.622,832,2.882,984,7.942,986,11.54,1015,14.592,1390,10.287,1943,14.853,2100,9.622,3730,13.334,4455,15.678,5222,16.932,5223,21.74,5224,16.932,5225,16.932,5226,16.932,5227,16.932,5228,16.932,5229,15.678,5230,16.932,5231,16.932,5232,16.932,5233,15.678]],["keywords/1047",[]],["title/1048",[140,279.233,2039,1032.511]],["content/1048",[4,8.834,5,5.372,7,5.343,14,3.719,30,2.732,59,3.95,63,4.277,90,3.915,91,5.152,140,2.4,149,4.891,155,6.297,171,6.049,193,2.281,204,5.219,246,4.053,260,5.259,262,6.057,323,8.49,354,6.057,363,1.575,390,2.4,467,2.629,556,2.625,558,7.553,569,11.204,603,8.827,728,4.435,739,5.559,824,4.302,832,2.329,887,5.077,973,3.679,984,7.711,1081,9.886,1085,12.604,1355,8.641,1390,6.847,1658,13.821,1849,7.455,1946,13.821,1957,8.641,1962,9.886,2100,9.342,2336,8.641,2624,8.875,3730,8.875,4946,9.148,5170,9.886,5229,10.435,5233,10.435,5234,11.27,5235,11.27,5236,11.27,5237,16.438,5238,11.27,5239,11.27,5240,11.27,5241,11.27,5242,11.27,5243,11.27,5244,16.438,5245,11.27,5246,11.27,5247,16.438,5248,11.27,5249,15.221,5250,11.27,5251,16.438,5252,11.27,5253,11.27,5254,16.438,5255,11.27,5256,11.27,5257,11.27,5258,11.27,5259,11.27,5260,11.27,5261,11.27,5262,11.27,5263,11.27]],["keywords/1048",[]],["title/1049",[827,611.091,836,342.346,926,582.24]],["content/1049",[5,5.469,9,1.609,15,6.233,21,2.433,41,2.666,79,4.166,105,8.085,140,2.443,197,6.077,326,5.53,329,3.724,343,3.603,359,5.912,363,1.604,380,5.193,423,4.099,467,2.595,603,6.481,613,5.797,732,6.358,815,6.897,821,11.736,824,3.691,827,11.14,830,9.546,832,1.998,836,8.3,840,3.693,841,10.063,842,5.346,847,2.277,926,6.211,984,7.811,1036,5.439,1037,11.177,1079,7.947,1103,5.659,1147,11.349,1208,6.952,1300,15.437,1351,8.796,1385,4.022,1390,6.969,1658,9.645,1957,8.796,2099,8.588,2100,6.519,2101,9.034,2145,7.982,2296,13.516,2336,15.03,2350,9.311,2578,6.636,2781,17.195,2907,13.113,3730,9.034,3918,10.622,4883,10.622,5166,9.645,5179,10.622,5264,11.471,5265,11.471,5266,11.471,5267,11.471,5268,11.471,5269,11.471,5270,11.471,5271,11.471,5272,11.471,5273,11.471,5274,16.651,5275,11.471,5276,16.651,5277,11.471,5278,11.471,5279,11.471,5280,11.471,5281,11.471,5282,11.471,5283,11.471]],["keywords/1049",[]],["title/1050",[46,367.265,1201,867.387]],["content/1050",[1,3.917,4,5.415,6,8.557,9,1.414,13,2.359,14,2.28,15,3.771,16,4.561,26,5.219,31,4.754,34,9.946,38,6.08,41,1.404,46,6.063,48,3.995,51,3.092,59,4.406,63,2.292,68,2.377,79,3.659,90,4.502,94,9.136,140,2.146,144,1.866,149,2.621,157,2.721,163,4.257,171,4.77,187,6.945,188,7.334,193,2.623,194,5.064,212,4.902,215,4.655,222,3.199,236,2.845,248,2.61,251,2.451,260,2.818,274,7.684,283,2.804,285,2.522,297,4.561,304,4.902,329,4.912,345,3.01,346,3.034,347,5.592,355,2.3,362,4.072,390,2.146,398,3.921,423,2.158,429,6.235,455,5,464,2.359,467,2.343,476,6.574,478,2.804,486,3.28,490,3.27,500,2.441,502,4.184,505,2.522,520,2.818,524,3.225,525,2.342,540,2.158,554,2.104,585,5.298,600,1.509,603,2.351,624,1.599,627,3.995,634,3.321,661,1.881,669,4.521,678,2.962,702,7.127,716,2.979,728,2.377,766,5.956,787,3.27,815,6.058,838,1.418,848,4.121,866,2.554,876,2.491,882,3.092,900,5.219,949,6.475,958,3.595,973,1.972,976,3.811,983,2.598,1007,3.432,1018,1.961,1039,8.05,1073,4.521,1079,8.979,1091,4.424,1110,3.057,1120,5.179,1133,3.56,1146,5.093,1178,11.326,1179,11.326,1180,11.326,1196,5.726,1198,8.909,1199,6.979,1200,4.631,1201,12.751,1205,4.589,1208,4.206,1210,3.053,1272,7.299,1385,5.304,1470,3.133,1612,9.872,1838,2.554,2070,2.413,2311,3.177,2339,4.336,2729,4.116,3252,4.424,3378,4.184,3448,3.375,3502,3.751,3657,3.889,3794,7.06,3796,4.777,3974,4.631,4459,12.318,4639,5.078,4701,4.631,4716,5.078,4718,4.756,4806,5.592,4950,5.078,4975,3.751,5019,5.298,5148,8.838,5284,6.039,5285,5.592,5286,6.039,5287,6.039,5288,6.039,5289,6.039,5290,6.039,5291,6.039,5292,6.039,5293,6.039,5294,6.039,5295,10.075,5296,10.075,5297,10.075,5298,10.075,5299,10.075,5300,10.075,5301,12.962,5302,6.039,5303,6.039,5304,6.039,5305,6.039,5306,6.039,5307,6.039,5308,6.039,5309,6.039,5310,10.075,5311,10.075,5312,6.039,5313,6.039,5314,6.039,5315,6.039]],["keywords/1050",[]],["title/1051",[97,401.006,141,253.465,236,200.013,699,348.381]],["content/1051",[]],["keywords/1051",[]],["title/1052",[193,265.33,2025,981.539]],["content/1052",[1,2.553,9,1.538,13,4.282,21,2.325,73,5.98,77,12.655,83,4.845,91,5.011,97,11.758,122,2.45,140,3.43,141,5.311,162,5.141,187,6.157,193,3.26,204,3.48,236,4.191,264,7.993,285,4.576,301,5.726,319,3.558,329,3.558,345,5.705,353,12.684,362,4.954,374,6.176,390,3.43,429,4.787,440,4.576,443,3.867,455,7.993,467,2.254,471,5.088,478,5.088,496,13.71,512,9.615,524,4.007,545,2.859,590,8.206,620,4.175,632,5.344,670,8.206,699,8.962,807,2.669,820,3.283,828,6.453,838,4.943,868,6.46,872,9.786,882,5.612,887,8.603,941,5.576,944,4.458,982,2.936,983,6.929,1146,8.142,1197,7.725,1214,5.407,1215,2.896,1272,9.733,1386,9.317,1573,5.344,1618,8.404,1701,8.632,1906,7.357,1928,6.97,2025,8.206,2026,9.216,2030,9.216,2031,8.632,2032,13.543,2033,9.216,2034,9.216,2036,13.074,2037,4.736,2038,9.216,2039,8.632,2047,6.97,2091,6.807,3431,6.97,3812,6.97,5316,10.961,5317,10.961,5318,10.961,5319,10.961]],["keywords/1052",[]],["title/1053",[141,364.638,236,287.742]],["content/1053",[1,3.858,9,2.739,18,5.315,21,4.547,58,4.123,77,6.848,97,11.452,141,7.546,193,4.609,194,4.45,204,5.259,229,8.27,236,5.382,248,4.922,264,5.652,310,3.74,328,5.035,345,6.404,353,18.714,362,3.5,363,2.316,390,2.426,409,6.473,429,3.385,443,4.018,447,7.535,475,2.942,496,8.178,516,7.463,520,5.315,524,2.834,540,4.07,545,3.805,562,8.538,623,5.43,644,6.779,671,10.959,677,4.716,699,6.332,713,4.944,730,6.92,756,5.991,764,4.816,797,11.119,804,3.65,824,2.525,838,3.89,842,5.318,872,6.92,886,4.857,887,5.131,889,4.427,983,7.126,1061,5.991,1200,8.733,1366,4.795,1618,8.733,2011,9.576,2012,12.572,2025,12.401,2037,4.922,2038,9.576,3252,8.343,3657,10.668,4509,10.547,5320,11.39,5321,11.39,5322,11.39,5323,9.245,5324,11.39,5325,11.39,5326,11.39,5327,11.39,5328,11.39,5329,10.547,5330,11.39,5331,11.39]],["keywords/1053",[]],["title/1054",[140,279.233,931,414.012]],["content/1054",[1,2.493,14,4.708,21,4.414,27,4.197,31,3.926,90,3.718,97,10.228,122,2.392,141,4.402,188,5.189,193,4.211,236,3.474,345,4.729,353,8.43,362,3.344,363,2.633,423,3.825,429,3.182,455,5.312,467,2.603,496,11.365,554,3.73,556,2.493,562,5.517,620,4.077,624,2.835,699,6.05,716,7.808,729,6.436,766,4.919,824,3.509,828,4.853,832,1.9,842,3.436,847,2.165,876,4.414,887,4.822,983,4.605,984,5.021,1037,10.624,1146,5.411,1272,4.646,1353,9.39,1386,6.192,1390,6.503,1502,9,1701,8.43,1768,8.013,2005,7.545,2011,9,2012,6.893,2025,15.578,2026,9,2030,9,2031,8.43,2032,15.835,2033,9,2034,13.308,2042,8.689,2053,9.39,2100,6.083,2296,12.848,2597,7.545,3431,6.807,4217,7.082,5099,8.689,5329,9.912,5332,17.439,5333,10.704,5334,20.808,5335,10.704,5336,10.704,5337,15.828,5338,10.704,5339,10.704,5340,10.704,5341,10.704,5342,9.39,5343,18.833,5344,10.704,5345,10.704,5346,13.885,5347,10.704,5348,10.704,5349,10.704,5350,10.704,5351,10.704]],["keywords/1054",[]],["title/1055",[115,924.103,779,1150.133]],["content/1055",[]],["keywords/1055",[]],["title/1056",[23,494.18,377,726.706]],["content/1056",[1,5.373,13,4.597,15,4.404,30,2.853,32,4.404,59,2.395,61,5.672,90,4.087,96,6.189,140,2.506,163,8.293,175,9.115,193,4.669,194,4.597,251,6.883,310,5.569,335,9.022,362,2.486,363,1.645,377,15.316,379,6.63,380,7.678,381,16.293,383,6.87,385,15.951,398,4.58,421,6.233,443,7.016,477,5.737,481,13.729,524,4.22,545,2.089,591,9.969,611,7.784,613,5.015,661,3.666,773,8.293,1024,13.871,1120,9.603,1253,4.547,1256,6.87,1433,9.557,1480,4.435,2163,5.38,3517,11.384,4144,8.448,4302,13.356,4860,16.293,5352,11.767,5353,11.767,5354,16.96,5355,16.96,5356,11.767,5357,11.767,5358,14.26,5359,11.767,5360,11.767,5361,16.96,5362,11.767,5363,11.767,5364,16.293,5365,11.767,5366,11.767]],["keywords/1056",[]],["title/1057",[377,726.706,591,566.55]],["content/1057",[21,3.532,30,2.781,59,3.99,67,6.077,90,3.985,96,6.034,133,6.308,140,2.443,141,3.19,174,3.472,175,6.165,178,8.588,193,2.321,194,4.481,197,8.82,212,9.311,236,3.654,246,4.125,251,6.758,274,3.683,275,6.636,322,4.25,352,6.358,377,11.921,385,13.85,411,10.063,423,4.099,429,3.41,467,1.04,481,10.865,584,7.295,591,4.957,613,6.36,658,7.819,678,5.625,719,4.913,764,4.85,766,5.271,803,9.034,837,6.41,840,7.352,898,5.41,944,3.175,971,7.602,973,3.745,1024,14.324,1122,6.969,1149,7.124,1199,7.947,1216,7.045,1269,6.077,1324,9.311,1573,5.593,1613,3.392,1846,10.622,2137,7.819,2279,6.41,2735,7.819,3378,7.947,3502,7.124,4144,8.236,4429,4.85,4860,8.588,5358,16.481,5367,10.622,5368,12.768,5369,11.471,5370,11.471,5371,13.516,5372,19.602,5373,11.471,5374,11.471,5375,21.507,5376,11.471,5377,16.651,5378,11.471,5379,11.471,5380,16.651,5381,11.471,5382,16.651,5383,11.471,5384,8.796,5385,16.651,5386,11.471,5387,16.651,5388,11.471,5389,16.651,5390,11.471,5391,11.471,5392,11.471,5393,11.471,5394,11.471,5395,11.471,5396,11.471,5397,11.471,5398,11.471,5399,11.471,5400,11.471,5401,11.471]],["keywords/1057",[]],["title/1058",[377,726.706,383,765.486]],["content/1058",[8,4.308,9,1.587,24,9.921,30,2.742,41,2.628,48,4.485,59,3.958,67,5.991,106,6.034,133,9.062,178,8.466,191,12.072,202,4.702,205,4.339,215,3.13,236,3.617,248,4.887,251,9.621,274,5.29,297,5.12,306,7.024,325,9.18,377,11.841,383,14.931,398,4.402,428,11.833,429,4.898,443,5.814,467,1.763,481,6.268,490,8.923,523,4.418,598,7.379,613,4.873,706,8.384,732,6.268,757,7.834,790,9.509,808,5.277,812,3.834,824,3.653,840,6.877,900,4.554,1036,7.814,1068,5.612,1221,8.672,1266,5.25,1345,9.921,1724,8.12,1895,5.646,1954,5.868,1991,8.284,2279,6.32,2547,6.871,2764,8.906,2814,9.18,2917,9.921,3378,7.834,3407,10.472,3501,8.284,3989,7.971,4210,9.921,5358,13.856,5368,8.672,5371,9.18,5402,11.309,5403,11.309,5404,11.309,5405,11.309,5406,11.309,5407,16.48,5408,16.48,5409,16.48,5410,11.309,5411,11.309,5412,11.309,5413,11.309,5414,11.309,5415,11.309,5416,11.309,5417,11.309,5418,11.309,5419,11.309,5420,11.309,5421,11.309,5422,11.309,5423,11.309,5424,11.309,5425,11.309,5426,11.309,5427,19.443,5428,11.309,5429,10.472,5430,11.309,5431,11.309,5432,11.309,5433,11.309,5434,11.309,5435,11.309,5436,11.309,5437,11.309,5438,11.309,5439,10.472,5440,16.48]],["keywords/1058",[]],["title/1059",[377,726.706,381,981.539]],["content/1059",[78,11.517,251,8.433,274,6.67,377,11.517,381,18.47,382,9.596,423,7.424,481,11.517,523,8.117,633,16.866,1024,12.493,2578,12.02,5358,17.47,5441,20.778,5442,20.778,5443,20.778]],["keywords/1059",[]],["title/1060",[377,726.706,1434,732.644]],["content/1060",[1,5.795,264,11.327,377,14.865,382,8.445,466,8.578,467,1.658,488,12.274,566,9.756,711,10.135,787,9.901,840,7.348,1008,8.488,1099,11.356,1142,11.356,1158,10.578,1225,11.23,1266,8.488,2036,18.527,3812,14.515,4498,20.022,4502,14.021,4524,14.021,4869,16.041,5444,18.286,5445,18.286,5446,7.867,5447,16.041]],["keywords/1060",[]],["title/1061",[203,1144.672]],["content/1061",[9,3.03,45,13.194,59,3.41,83,7.406,141,4.66,251,8.764,319,5.439,362,3.54,377,11.968,429,4.98,466,7.859,501,10.29,524,5.372,556,3.902,598,10.932,603,6.521,812,5.681,842,5.379,894,12.167,1008,7.778,1074,10.179,1266,7.778,1470,8.693,2060,13.194,3103,9.973,3964,14.697,4302,13.194,4498,14.697,4502,16.557,5448,15.514,5449,13.6,5450,16.755,5451,16.755,5452,16.755,5453,16.755,5454,16.755,5455,16.755,5456,7.372,5457,16.755,5458,16.755,5459,16.755,5460,16.755,5461,16.755,5462,14.697,5463,16.755,5464,16.755,5465,10.527,5466,16.755]],["keywords/1061",[]],["title/1062",[59,266.883,63,497.65]],["content/1062",[]],["keywords/1062",[]],["title/1063",[18,783.665]],["content/1063",[]],["keywords/1063",[]],["title/1064",[18,611.802,63,497.65]],["content/1064",[18,7.714,19,7.37,22,5.149,23,3.261,30,4.523,59,5.491,63,10.179,67,4.582,122,1.933,140,1.842,144,5.109,149,3.755,187,3.307,255,1.914,257,4.311,258,2.816,259,6.35,272,5.256,273,3.883,274,2.777,297,3.916,322,3.205,324,9.328,355,3.295,363,2.311,390,3.521,417,2.959,464,6.458,467,2.358,486,5.382,545,4.214,554,5.76,556,3.136,581,6.891,587,5.129,613,5.517,623,7.881,624,2.291,625,5.98,671,5.723,699,3.307,719,5.767,743,3.295,797,5.807,800,3.955,804,1.906,807,2.232,816,5.256,824,1.918,832,1.984,838,2.032,840,5.322,847,1.183,866,3.658,883,3.705,885,3.962,892,6.458,898,4.079,900,3.483,924,4.195,944,2.394,967,10.153,981,5.372,1158,5.004,1272,3.755,1329,7.524,1333,10.792,1365,8.563,1480,7.619,1613,4.889,1766,6.097,2216,14.591,2293,11.87,2294,5.572,2309,10.324,2311,4.55,2324,11.812,2394,5.149,2413,12.676,2414,12.376,2498,5.435,2619,5.896,2674,5.896,2749,7.861,3269,6.337,3619,6.097,3652,6.633,4471,7.588,4495,7.022,4865,6.682,4988,6.476,4989,8.01,5467,16.532,5468,8.651,5469,8.01]],["keywords/1064",[]],["title/1065",[18,501.762,30,260.685,310,353.064]],["content/1065",[18,8.205,19,8.798,30,4.263,59,5.396,63,8.453,67,9.314,144,5.434,187,6.721,257,5.629,258,5.724,274,5.644,467,2.019,545,3.953,556,5.186,605,9.825,613,7.228,623,8.382,625,7.809,807,2.914,824,3.898,832,2.11,835,11.984,840,5.66,1333,10.171,1480,6.627,1766,12.393,2216,15.178,2322,18.724,4126,16.281,4683,15.424,4865,8.725,5469,16.281]],["keywords/1065",[]],["title/1066",[141,364.638,236,287.742]],["content/1066",[]],["keywords/1066",[]],["title/1067",[141,299.054,429,319.608,5470,1075.304]],["content/1067",[1,5.687,5,7.335,6,7.863,38,7.217,41,5.328,74,8.597,141,7.528,174,4.656,187,5.881,236,5.359,269,5.945,274,6.556,285,8.527,319,4.995,362,4.315,363,3.414,390,3.277,408,6.424,417,5.264,424,9.348,429,4.573,489,6.648,565,7.778,610,10.844,624,4.074,625,6.833,756,10.742,836,4.898,957,8.9,1162,12.116,1214,7.59,1281,13.326,1366,6.478,1385,5.394,1683,5.84,1916,8.821,2012,15.725,5128,14.247,5471,15.386,5472,15.386,5473,15.386,5474,15.386,5475,15.386,5476,14.247]],["keywords/1067",[]],["title/1068",[19,424.8,1120,429.67,2005,757.892]],["content/1068",[14,4.671,19,8.156,83,9.126,90,7.171,141,6.835,286,7.283,363,2.886,417,7.062,482,11.095,501,12.678,637,14.55,816,12.542,983,8.881,1018,6.702,1904,17.357,5477,20.644,5478,20.644]],["keywords/1068",[]],["title/1069",[141,253.465,730,553.711,983,392.079,2012,586.904]],["content/1069",[9,2.768,19,5.773,21,5.299,50,3.644,77,8.786,90,5.076,97,10.524,141,7.441,174,4.422,193,3.993,236,4.33,287,5.909,328,6.46,345,4.366,362,3.088,390,4.757,475,3.775,523,5.709,545,4.245,554,5.092,581,4.704,623,6.966,640,9.96,756,7.686,789,5.954,804,3.22,828,6.849,838,5.617,842,4.691,889,3.905,944,5.461,1018,4.744,1078,8.305,1170,6.49,1212,9.181,2005,10.3,2006,7.073,2012,16.085,2016,9.809,2020,6.615,3431,9.293,3526,7.005,5479,14.613,5480,14.613,5481,14.613,5482,14.613,5483,14.613,5484,14.613]],["keywords/1069",[]],["title/1070",[235,429.787,236,200.013,983,392.079,5485,911.381]],["content/1070",[1,4.379,9,1.911,14,3.081,41,3.165,50,6.076,68,7.4,141,6.777,146,8.672,193,2.756,204,4.324,215,3.769,223,7.674,235,6.422,236,4.726,255,4.16,260,6.355,274,4.372,285,8.992,297,6.165,362,2.877,417,6.433,423,6.719,429,6.401,505,8.992,592,6.973,661,5.858,663,11.946,701,11.054,703,10.195,728,5.36,762,6.758,842,6.036,848,5.571,849,7.266,892,5.32,900,10.147,983,9.991,1048,10.593,1212,11.814,1216,8.364,1227,9.265,2005,9.599,2007,11.946,2010,11.45,2702,10.195,5486,21.536,5487,13.619,5488,13.619,5489,9.505,5490,13.619,5491,10.442]],["keywords/1070",[]],["title/1071",[287,322.068,3431,683.806,5492,943.268]],["content/1071",[1,5.597,5,5.609,9,1.651,14,2.662,19,4.648,35,9.266,48,4.666,50,2.934,51,6.025,85,5.226,90,4.087,140,3.612,141,7.183,146,4.738,174,3.561,187,4.498,188,5.704,193,3.432,215,3.257,236,3.722,248,5.084,283,7.873,285,4.913,287,6.91,316,5.434,319,3.82,329,3.82,355,6.46,362,4.874,398,4.58,417,4.025,418,9.695,429,5.041,467,2.092,478,7.873,487,5.327,545,3.53,603,4.58,609,6.189,610,8.293,637,8.293,644,7.004,658,8.02,713,5.107,716,8.366,726,6.746,730,7.149,741,7.678,756,6.189,800,5.38,812,3.989,836,3.746,842,3.777,882,6.025,941,5.986,944,3.257,945,6.746,956,7.678,961,9.266,971,4.563,1059,7.898,1078,6.687,1170,5.226,1279,6.746,1281,7.678,1344,6.105,2005,8.293,2012,16.632,2091,7.308,2280,14.878,2808,8.448,3431,7.483,3494,10.895,3502,10.533,3526,5.64,3628,8.02,4717,10.322,4839,10.895,4860,8.809,5492,10.322,5493,11.767,5494,11.767,5495,11.767,5496,11.767,5497,11.767,5498,11.767,5499,11.767,5500,11.767]],["keywords/1071",[]],["title/1072",[236,287.742,475,338.669]],["content/1072",[1,2.781,9,2.405,15,4.47,46,3.345,48,4.736,85,5.304,90,4.148,141,4.767,146,4.809,149,5.183,204,3.792,236,5.301,255,4.436,286,4.213,323,4.754,343,3.751,363,2.396,373,9.404,429,3.55,467,2.587,475,4.428,556,3.992,597,5.487,600,2.984,603,4.648,673,9.157,716,5.891,756,9.017,842,3.834,892,7.834,900,8.075,1059,8.016,1079,8.273,1215,4.529,1227,5.138,1338,8.273,1466,8.574,1871,13.499,1872,15.037,1873,16.86,1876,15.037,1880,15.037,2005,14.133,2009,10.476,2010,10.041,2012,7.69,3378,8.273,4564,15.873,5332,15.873,5501,11.942,5502,20.052,5503,11.942,5504,17.142,5505,17.142,5506,17.142,5507,17.142,5508,17.142,5509,17.142,5510,17.142,5511,17.142,5512,17.142,5513,17.142,5514,17.142,5515,11.942,5516,11.942,5517,11.942,5518,9.404]],["keywords/1072",[]],["title/1073",[85,582.284,464,512.203]],["content/1073",[9,2.915,50,5.181,141,6.862,215,5.751,423,7.424,429,6.176,467,1.884,505,10.301,592,12.632,848,8.5,892,8.117,941,10.57,2008,18.227,5519,20.778]],["keywords/1073",[]],["title/1074",[1100,833.769,1624,704.651]],["content/1074",[]],["keywords/1074",[]],["title/1075",[5520,1679.439]],["content/1075",[1,3.583,9,2.865,36,6.371,41,4.746,46,4.31,48,6.101,78,8.528,79,5.587,85,6.833,230,6.708,235,10.81,236,5.031,268,9.555,279,9.908,285,8.527,293,14.147,329,4.995,330,11.518,352,8.528,519,10.658,524,3.828,570,10.327,699,5.881,729,9.251,730,9.348,786,12.936,789,6.269,824,3.411,836,8.317,866,6.505,1048,6.101,1053,19.274,1054,11.797,1056,14.147,1099,9.555,1100,12.987,1103,7.59,1162,12.116,1216,9.449,1294,6.965,1624,10.976,2581,10.327,2606,13.497,4830,13.497,4866,14.247,5521,10.745,5522,15.386,5523,15.386,5524,15.386,5525,14.247]],["keywords/1075",[]],["title/1076",[61,518.326,1100,683.806,1624,577.911]],["content/1076",[1,5.104,27,8.594,61,10.564,467,1.987,1100,16.188,1624,13.681,5526,21.916]],["keywords/1076",[]],["title/1077",[1133,772.794,3794,611.802]],["content/1077",[1,6.157,27,7.469,59,3.877,61,9.181,146,9.426,223,10.733,235,8.982,236,4.18,272,11.572,330,14.259,467,1.727,524,4.739,587,7.255,820,5.705,900,7.67,1045,10.019,1048,7.553,1133,14.938,3794,8.888,3893,11.018,4081,16.015,4834,16.709,5521,8.381,5527,19.047,5528,19.047]],["keywords/1077",[]],["title/1078",[13,420.077,46,301.208,1100,683.806]],["content/1078",[1,5.432,9,2.657,13,9.112,27,7.424,30,4.59,41,5.421,61,9.127,204,6.012,214,14.518,215,5.241,223,10.669,236,4.155,248,8.182,421,10.03,424,11.504,467,1.717,506,11.055,587,7.212,589,15.92,731,11.27,798,14.518,900,7.625,1133,13.747,1358,12.041,3558,17.533,3794,8.835,4302,14.911,5529,18.935]],["keywords/1078",[]],["title/1079",[1,250.436,1197,757.892,5124,904.105]],["content/1079",[1,5.165,8,4.671,13,4.79,30,4.933,38,5.752,41,4.73,46,3.435,48,4.863,61,8.421,90,4.259,91,5.606,162,5.752,194,4.79,204,3.893,251,7.09,255,2.713,320,9.402,322,4.543,329,3.981,345,3.663,355,4.671,364,10.223,410,9.18,424,7.45,428,8.804,429,5.192,467,2.209,475,4.512,502,8.495,511,8.001,520,8.152,545,2.176,587,4.671,603,7.921,624,3.247,625,5.446,723,8.982,802,10.31,836,7.463,840,3.947,900,4.938,1036,5.814,1059,11.726,1099,7.615,1100,7.798,1133,7.228,1197,18.066,1563,7.531,1624,9.389,2172,10.31,2302,9.657,2579,8.982,2709,8.231,2779,10.31,2780,11.355,2875,10.31,3510,8.804,3530,10.31,3701,8.495,3794,8.152,3808,15.324,4459,8.982,4621,10.757,4830,10.757,5124,17.11,5530,12.262,5531,12.262,5532,12.262,5533,12.262,5534,12.262,5535,12.262,5536,12.262,5537,11.355,5538,12.262,5539,17.469,5540,12.262,5541,17.469,5542,12.262,5543,9.657,5544,12.262,5545,12.262,5546,9.657,5547,6.362,5548,12.262]],["keywords/1079",[]],["title/1080",[50,326.905,743,499.41]],["content/1080",[]],["keywords/1080",[]],["title/1081",[14,296.65,18,611.802]],["content/1081",[9,2.537,21,4.808,50,6.471,90,6.28,248,7.812,285,7.548,322,6.698,329,5.869,467,2.537,545,4.607,597,8.307,743,8.633,820,5.415,985,10.984,1245,17.149,1247,13.535,3986,12.981,5549,15.859,5550,17.847,5551,17.847,5552,14.237]],["keywords/1081",[]],["title/1082",[9,97.993,50,174.142,68,274.885,362,147.572,743,266.035,812,236.8]],["content/1082",[9,3.475,13,4.597,27,4.614,48,4.666,50,6.321,68,9.749,90,4.087,140,2.506,157,5.301,171,4.33,205,4.514,283,5.462,287,3.524,362,4.874,390,3.612,404,3.931,417,5.802,438,5.839,463,8.809,467,2.505,540,6.06,545,4.266,554,5.909,597,5.407,613,3.48,617,7.075,627,7.784,632,5.737,678,8.317,731,7.004,749,8.619,795,9.266,807,1.95,812,7.822,824,3.76,832,1.412,836,3.746,838,2.763,840,6.402,857,7.577,941,5.986,944,3.257,976,4.45,985,7.149,1158,6.807,1245,8.151,1279,11.401,1344,8.8,1466,8.448,1849,11.22,2241,9.551,2401,10.322,2701,7.898,3429,8.448,3986,8.448,4879,10.322,5549,10.322,5550,13.356,5551,13.356,5552,9.266,5553,11.767,5554,11.767,5555,10.322,5556,11.767,5557,11.767,5558,11.767,5559,11.767,5560,15.705,5561,11.767,5562,11.767,5563,10.895,5564,10.895,5565,11.767]],["keywords/1082",[]],["title/1083",[9,110.956,50,197.178,68,311.247,743,301.226,5566,732.281]],["content/1083",[9,2.892,15,4.698,27,4.921,50,5.588,68,10.149,90,4.36,140,2.673,144,5.489,157,5.654,204,3.985,223,7.072,283,5.826,329,4.074,362,2.652,390,2.673,413,6.468,417,6.076,467,2.541,540,4.485,545,4.719,554,4.373,597,5.767,613,3.712,617,7.546,644,7.47,678,6.155,719,5.376,732,6.956,807,2.08,812,4.255,824,3.937,832,1.506,836,5.654,838,2.948,840,4.04,842,5.701,941,6.385,956,8.189,960,5.176,985,10.79,1008,5.826,1245,8.694,1272,8.946,1279,10.182,1344,9.215,1849,8.303,2070,5.015,2248,7.133,2279,7.013,2402,11.01,3502,7.795,3986,9.011,5549,11.01,5550,13.986,5551,13.986,5552,9.884,5555,11.01,5560,16.445,5566,16.445,5567,12.551,5568,12.551,5569,12.551,5570,12.551,5571,12.551,5572,12.551,5573,12.551,5574,12.551]],["keywords/1083",[]],["title/1084",[1476,844.328,4276,855.508]],["content/1084",[50,5.595,91,6.743,140,3.141,174,4.463,223,8.31,248,8.578,286,5.203,287,4.417,328,6.519,467,2.463,523,5.761,545,3.983,625,6.55,739,9.793,743,8.548,847,3.069,862,8.61,874,12.4,878,12.061,894,11.186,985,12.061,1154,8.693,1245,13.753,1279,8.455,1344,7.652,1437,6.833,1849,9.757,2016,9.899,2070,5.893,2639,17.415,3428,18.383,3667,12.937,3986,10.589,4276,9.623,4879,12.937,5550,18.906,5551,17.673,5552,15.634,5563,13.656,5564,13.656,5575,13.656,5576,13.656,5577,13.656,5578,13.656,5579,13.656,5580,12.937,5581,12.937,5582,14.748,5583,14.748]],["keywords/1084",[]],["title/1085",[18,783.665]],["content/1085",[]],["keywords/1085",[]],["title/1086",[50,268.107,743,409.585,748,787.665]],["content/1086",[31,5.67,50,5.729,90,5.37,91,7.068,140,3.293,155,8.639,187,5.91,211,12.549,329,5.019,423,5.524,467,2.457,525,5.995,540,5.524,545,4.643,554,5.387,584,9.831,711,8.569,743,5.889,748,16.832,804,4.514,820,4.631,824,4.542,832,1.855,842,4.963,900,6.225,1245,10.71,1247,11.574,1274,10.537,1281,10.088,1300,12.175,1385,5.42,1437,5.321,1585,9.675,2610,6.428,2682,10.897,3371,11.325,3675,10.377,4123,10.228,5555,13.562,5584,13.562,5585,15.46,5586,15.46,5587,20.488,5588,15.46,5589,15.46,5590,15.46,5591,15.46,5592,15.46,5593,15.46]],["keywords/1086",[]],["title/1087",[50,268.107,706,547.029,743,409.585]],["content/1087",[9,2.856,11,10.607,15,5.732,31,5.616,50,5.076,58,5.543,68,9.001,133,11.194,140,3.261,194,5.982,219,10.13,329,4.971,410,11.463,417,5.238,421,8.111,443,5.402,467,2.482,540,5.471,545,4.504,563,10.436,706,10.356,711,8.487,739,7.553,743,7.754,748,11.216,766,7.036,947,6.865,985,12.368,1245,14.102,1257,12.429,1470,7.944,1992,9.861,1998,16.032,2626,13.432,3986,14.617,5550,18.01,5551,18.01,5552,16.032,5580,13.432,5581,17.858,5594,15.312,5595,15.312,5596,15.312]],["keywords/1087",[]],["title/1088",[898,791.987]],["content/1088",[9,2.254,15,4.089,50,2.724,68,6.323,85,4.851,90,3.794,108,6.12,140,3.422,174,3.306,187,4.176,223,6.155,229,5.454,255,3.555,275,12.156,322,5.953,349,7.128,390,2.326,467,2.421,520,5.097,545,3.73,624,2.893,634,6.006,703,12.028,706,5.557,743,4.161,794,6.438,824,2.422,847,2.606,878,9.761,894,9.053,898,12.155,909,6.438,967,6.709,982,2.926,985,13.604,1245,14.557,1344,5.667,1362,7.843,1385,3.83,1437,8.332,1476,7.034,1480,4.117,2020,4.945,2597,7.699,2603,7.445,2639,14.094,2735,14.322,2799,9.867,3647,10.115,3667,16.717,3986,16.078,4276,16.206,5550,15.008,5551,15.008,5552,12.652,5575,10.115,5576,10.115,5577,10.115,5578,10.115,5579,10.115,5580,9.582,5581,19.643,5597,9.582,5598,10.923,5599,16.067,5600,19.057,5601,19.057,5602,10.923,5603,10.923,5604,16.067,5605,10.923,5606,10.923]],["keywords/1088",[]],["title/1089",[766,602.455,1018,425.637]],["content/1089",[]],["keywords/1089",[]],["title/1090",[194,656.088]],["content/1090",[11,14.68,68,9.824,194,8.278,230,9.239,748,15.522,1221,16.248,1480,9.408,3980,19.622,4276,13.827,5607,21.191,5608,21.191,5609,21.191]],["keywords/1090",[]],["title/1091",[1480,633.001]],["content/1091",[31,7.523,50,6.104,68,9.636,248,8.863,257,6.567,443,7.237,540,7.329,563,13.981,566,10.944,603,7.984,743,7.813,748,15.025,1437,7.06,1480,7.731,4282,15.356,5610,15.728,5611,20.512]],["keywords/1091",[]],["title/1092",[74,732.644,592,671.315]],["content/1092",[]],["keywords/1092",[]],["title/1093",[50,227.236,74,509.271,91,416.678,592,466.64]],["content/1093",[1,3.499,9,2.108,27,7.882,56,11.965,58,5.439,59,4.611,74,13.516,79,5.456,174,4.547,193,3.041,215,5.564,285,6.273,286,5.301,297,6.802,306,9.331,322,5.567,329,4.878,345,4.489,352,8.328,357,5.624,373,11.832,374,8.466,428,10.788,467,1.823,475,5.852,482,10.804,490,8.135,504,12.783,584,9.555,587,7.657,592,13.962,600,3.754,651,8.396,716,7.412,737,10.968,764,6.353,1008,6.975,1196,8.538,1223,11.248,1386,8.691,2161,8.262,3398,13.18,3431,9.555,3501,11.006,3562,13.912,4975,12.484,5057,12.633,5612,15.025,5613,15.025,5614,16.901,5615,15.025]],["keywords/1093",[]],["title/1094",[737,916.313]],["content/1094",[1,5.104,15,8.204,55,14.938,74,12.247,592,11.221,728,8.626,737,11.958,1385,7.684,4975,13.611]],["keywords/1094",[]],["title/1095",[737,715.359,4975,814.264]],["content/1095",[1,4.747,9,3.422,47,13.299,188,9.88,193,4.125,299,13.483,355,7.763,418,9.937,497,17.879,504,16.598,592,10.436,737,11.12,951,11.207,1379,13.483,4975,15.147,5616,20.381]],["keywords/1095",[]],["title/1096",[55,893.637,737,715.359]],["content/1096",[55,16.873,56,10.761,74,10.103,342,13.863,357,6.767,379,10.187,467,2.473,475,4.67,505,7.548,545,3.209,556,4.211,592,9.257,728,7.116,731,10.761,737,9.864,1061,9.51,1107,12.524,1110,5.485,1610,7.955,1922,15.201,3536,15.201,5057,15.201,5614,15.201,5617,18.079,5618,24.756,5619,18.079,5620,18.079,5621,18.079,5622,22.663,5623,18.079]],["keywords/1096",[]],["title/1097",[74,600.869,592,550.571,1279,616.465]],["content/1097",[1,4.333,48,9.149,56,13.733,59,4.696,74,14.014,79,6.756,108,7.087,146,7.492,157,8.381,193,3.765,215,5.15,352,10.312,355,7.087,362,4.875,587,7.087,592,13.425,600,4.649,603,7.241,887,8.381,951,10.23,1279,10.666,2649,15.643,3027,11.303,3437,14.651,5057,15.643,5614,15.643]],["keywords/1097",[]],["title/1098",[467,97.494,1018,349.081,1906,721.77]],["content/1098",[1,3.483,9,2.098,15,5.598,41,3.476,55,13.658,56,11.927,68,7.887,74,15.381,85,8.9,108,5.696,122,3.342,148,8.159,248,6.462,297,6.77,322,5.541,345,4.468,355,5.696,357,5.598,398,5.821,423,5.343,429,4.445,453,7.052,475,5.176,478,6.942,482,10.77,498,10.193,504,9.51,571,7.979,587,7.633,592,14.48,600,5.007,651,11.198,746,6.837,1152,13.118,1279,8.573,1332,10.54,1352,9.184,2020,6.77,2161,8.223,2415,11.195,3429,10.737,3812,9.51,4459,10.954,5624,14.955,5625,14.955,5626,13.847]],["keywords/1098",[]],["title/1099",[175,704.651,230,571.651]],["content/1099",[]],["keywords/1099",[]],["title/1100",[61,518.326,175,577.911,230,468.833]],["content/1100",[1,5.472,27,7.513,61,9.236,243,10.298,272,11.642,279,12.339,322,7.099,345,7.019,467,1.737,570,12.862,587,7.299,656,11.768,690,20.61,739,11.59,741,12.503,900,7.716,1100,12.185,1133,13.848,1624,12.627,3812,12.185,4283,16.809,5627,19.161,5628,19.161,5629,19.161]],["keywords/1100",[]],["title/1101",[13,512.203,14,296.65]],["content/1101",[]],["keywords/1101",[]],["title/1102",[140,279.233,3879,1064.253]],["content/1102",[1,5.667,14,5.694,15,5.076,23,5.111,27,5.317,41,3.152,42,11.008,50,3.381,51,6.943,56,8.072,59,3.816,68,5.337,79,4.925,90,4.71,91,6.2,141,6.767,149,5.886,159,11.896,164,7.183,189,8.733,205,5.202,262,7.288,297,6.139,319,6.976,329,4.402,354,7.288,363,1.896,417,6.414,423,4.846,441,10.398,464,5.298,486,4.415,489,5.86,490,10.151,504,8.624,520,6.328,524,3.374,540,6.699,542,9.558,625,6.023,648,8.624,699,5.184,711,7.516,716,6.689,755,10.152,766,8.615,808,6.328,824,3.006,832,1.627,847,1.855,982,5.022,1008,6.295,1018,4.402,1037,9.102,1385,4.754,1390,8.239,1512,7.641,2344,11.008,2390,9.243,2710,9.933,3733,11.008,4123,8.971,4328,12.557,4701,10.398,4925,12.557,5630,18.748,5631,13.561,5632,13.561,5633,11.896,5634,13.561,5635,13.561,5636,13.561,5637,13.561,5638,13.561,5639,12.557,5640,13.561,5641,13.561]],["keywords/1102",[]],["title/1103",[857,844.328,2769,1005.321]],["content/1103",[1,2.476,9,2.21,14,5.878,16,4.814,19,4.201,30,3.818,31,3.9,41,5.147,46,6.496,51,5.444,59,2.164,67,5.632,79,3.862,91,4.861,122,2.377,140,3.995,144,3.286,171,3.913,193,4.197,194,4.154,197,5.632,205,6.042,255,2.353,263,5.517,283,7.311,285,4.44,286,3.751,345,3.177,355,4.05,362,2.247,363,2.202,417,3.638,418,9.146,423,5.628,429,6.582,467,2.355,486,3.462,489,4.595,524,5.77,540,3.799,554,3.705,565,5.375,570,7.137,574,8.631,597,9.53,603,4.139,623,5.069,625,4.722,716,5.245,728,4.185,739,5.245,766,7.237,812,3.605,824,3.492,832,1.276,836,6.603,840,3.423,847,1.454,887,4.79,982,4.219,983,6.776,984,4.988,986,7.247,1037,7.137,1079,7.366,1085,8.153,1088,9.328,1120,4.249,1127,7.034,1133,6.267,1143,8.631,1390,6.46,1391,7.635,1470,8.172,1624,5.715,1946,8.94,1957,8.153,1964,8.94,2137,10.735,2344,8.631,2350,8.631,2814,8.631,3739,9.846,3867,9.328,4834,9.328,5633,13.816,5642,10.633,5643,10.633,5644,10.633,5645,10.633,5646,10.633,5647,14.584,5648,10.633,5649,10.633,5650,10.633,5651,10.633,5652,10.633,5653,10.633,5654,10.633]],["keywords/1103",[]],["title/1104",[193,339.865]],["content/1104",[1,2.082,4,4.805,9,1.938,14,5.286,19,3.532,41,3.21,45,7.041,46,2.504,50,2.229,59,4.178,79,3.247,85,7.497,90,3.106,91,4.088,105,6.301,117,7.027,122,4.849,136,5.126,139,11.573,140,2.942,157,4.028,174,2.706,181,6.693,187,3.418,193,4.852,200,5.915,214,6.855,236,4.167,255,1.978,280,7.517,297,4.047,301,4.67,319,4.484,329,5.48,362,2.919,363,1.931,369,6.301,374,5.038,382,4.129,390,3.595,404,4.615,418,6.735,421,4.736,429,4.106,453,4.216,467,2.374,489,3.863,513,4.578,516,6.223,554,4.813,556,3.217,558,3.48,563,6.094,590,6.693,613,2.644,618,5.757,632,4.359,634,4.916,681,6.193,727,7.919,729,5.375,743,3.405,762,4.437,807,1.482,808,6.446,812,4.683,824,4.209,836,5.374,842,2.87,887,4.028,945,7.919,983,3.846,1008,4.15,1078,5.081,1120,8.202,1144,6.193,1266,4.15,1385,3.135,1390,11.536,1391,9.918,1470,4.639,1477,6.001,1559,7.843,1613,4.085,2137,6.094,2145,6.621,2163,4.088,2179,9.569,2388,6.549,2769,10.592,3195,8.279,3448,4.996,3468,7.257,3512,8.279,3730,7.041,3779,4.491,3804,7.517,3928,7.257,4429,3.78,5655,8.941,5656,13.813,5657,8.941,5658,8.941,5659,8.279,5660,8.941,5661,8.941,5662,13.813,5663,8.941,5664,8.941,5665,8.941,5666,13.813,5667,8.941,5668,8.941,5669,8.941,5670,8.941,5671,13.813,5672,8.941,5673,8.941,5674,13.813,5675,8.941,5676,8.941,5677,8.941,5678,8.941,5679,8.941,5680,8.941]],["keywords/1104",[]],["title/1105",[46,470.435]],["content/1105",[1,2.042,9,3.418,13,6.514,14,1.984,16,3.97,19,3.464,22,5.219,25,10.68,34,9.892,38,4.113,46,6.503,51,4.49,90,3.046,122,4.2,136,5.027,140,3.551,141,2.439,157,3.951,162,6.383,174,2.654,193,2.754,194,3.426,195,5.722,205,3.364,215,2.427,253,5.886,257,2.807,260,6.35,267,6.181,280,7.373,283,4.071,284,7.118,285,3.661,287,2.626,297,3.97,322,3.249,354,8.962,355,3.34,362,5.603,373,6.906,390,3.551,404,2.93,411,7.692,423,4.862,424,5.328,429,6.047,453,4.135,467,1.952,476,5.722,487,3.97,500,6.741,524,4.675,540,4.862,584,5.576,597,6.253,603,5.297,624,2.322,651,4.9,661,2.732,694,6.724,699,3.352,711,4.86,746,4.009,764,3.708,812,8.26,824,1.944,836,7.59,840,4.381,873,8.451,881,7.373,928,4.612,944,3.767,949,8.288,956,8.879,968,5.073,983,3.772,988,7.368,1078,4.983,1090,11.046,1120,3.504,1134,6.075,1135,5.722,1215,2.317,1390,5.328,2175,12.262,2248,4.983,2581,5.886,2697,8.12,3438,10.604,3502,5.446,3506,4.433,3619,6.181,3632,7.373,3795,7.692,4226,8.12,4467,8.12,5148,7.692,5164,12.601,5681,8.769,5682,8.769,5683,8.769,5684,8.769,5685,8.769,5686,8.769,5687,8.769,5688,8.769,5689,16.675,5690,8.769,5691,8.769,5692,13.608,5693,8.769,5694,8.769,5695,8.769,5696,8.12,5697,8.12,5698,8.769,5699,8.12,5700,8.12,5701,8.769]],["keywords/1105",[]],["title/1106",[1954,871.352]],["content/1106",[8,7.813,41,5.69,310,6.735,418,10.001,429,7.277,613,6.066,824,4.547,866,8.673,945,11.759,1581,7.731,1690,16.153,2609,18.993,4429,8.673,5639,18.993,5702,18.993,5703,20.512,5704,20.512]],["keywords/1106",[]],["title/1107",[14,296.65,141,364.638]],["content/1107",[1,5.412,9,3.537,14,5.258,16,8.521,59,3.832,141,7.011,157,8.48,164,13.354,178,14.092,187,7.195,257,6.026,260,8.783,270,11.318,418,9.177,423,6.726,429,5.595,667,10.606,1031,15.827,1196,10.697,1558,11.827,1611,12.453,2412,14.272,3554,16.512,5705,18.823]],["keywords/1107",[]],["title/1108",[14,296.65,16,593.547]],["content/1108",[9,2.481,13,6.907,14,5.825,58,6.4,140,3.765,164,9.365,208,8.937,223,9.962,374,9.962,379,9.962,467,2.459,504,11.243,554,6.16,565,8.937,609,9.3,612,10.047,613,5.228,694,13.556,928,9.3,982,4.736,984,8.293,1033,9.879,1078,10.047,1388,14.351,1573,8.62,1654,14.865,2100,10.047,3471,14.865,5249,16.371,5633,15.509,5647,20.693,5706,17.68,5707,17.68,5708,17.68,5709,17.68]],["keywords/1108",[]],["title/1109",[330,1257.267]],["content/1109",[]],["keywords/1109",[]],["title/1110",[61,631.998,330,981.539]],["content/1110",[1,5.175,27,8.713,61,10.711,330,16.635,467,2.015,587,8.464,900,8.948]],["keywords/1110",[]],["title/1111",[41,304.723,787,709.93]],["content/1111",[]],["keywords/1111",[]],["title/1112",[5710,1473.221]],["content/1112",[1,1.156,6,1.911,9,1.197,14,1.123,21,1.053,30,1.203,32,1.858,38,2.328,41,4.076,46,5.962,50,1.237,58,1.796,59,1.737,63,1.884,68,4.416,79,1.802,83,3.771,122,1.109,140,2.39,144,4.116,149,3.703,157,2.236,164,5.944,193,2.695,204,4.764,209,2.925,215,3.687,221,2.063,222,2.629,229,2.478,230,3.72,237,3.635,243,2.667,248,2.144,251,2.014,257,8.448,260,2.316,262,2.667,269,4.335,274,3.602,286,1.751,301,2.592,309,3.331,310,3.684,343,1.559,352,2.751,357,1.858,363,3.216,374,2.796,382,2.292,387,3.805,390,3.195,408,2.072,409,10.523,417,2.919,438,2.463,450,2.773,467,2.611,475,4.53,486,2.777,489,5.756,505,3.562,520,2.316,524,3.314,525,1.925,526,2.194,537,4.028,556,2.613,605,4.767,613,1.468,624,2.259,661,1.546,702,9.644,716,2.448,719,2.126,728,3.358,732,2.751,746,2.269,749,3.635,756,4.487,786,4.173,787,4.619,789,2.022,804,1.094,805,3.635,807,3.61,808,5.236,809,9.388,812,2.892,813,3.635,815,10.545,816,5.183,820,3.361,828,2.616,829,3.082,830,2.845,838,3.524,842,1.593,848,3.49,849,4.552,852,6.925,853,6.925,854,11.684,855,4.173,856,2.773,857,3.196,858,4.353,859,3.908,860,2.592,861,3.908,863,3.638,866,5.632,868,5.028,882,2.541,883,2.126,885,1.46,900,1.998,921,2.366,929,6.613,933,3.082,944,4.153,960,3.518,966,3.015,968,2.871,983,3.67,988,2.687,992,5.129,1014,3.431,1039,5.298,1103,2.448,1157,2.629,1192,3.383,1225,3.048,1265,3.238,1294,2.247,1385,2.991,1423,3.498,1501,9.108,1512,2.796,1686,2.366,1724,3.563,1736,5.425,1838,2.098,2091,3.082,2102,3.118,2199,2.478,2248,4.848,2412,6.891,2611,3.715,2682,3.498,2735,3.383,2890,4.87,3315,3.563,3378,3.438,3452,4.028,3784,3.563,3796,2.353,4601,4.353,4716,4.173,5711,8.531,5712,4.028,5713,4.353,5714,8.531,5715,8.531,5716,7.9,5717,4.963,5718,8.531,5719,4.963,5720,4.963,5721,8.531,5722,8.531,5723,8.531,5724,4.963,5725,8.531,5726,4.963,5727,4.963,5728,4.963,5729,4.963,5730,4.963,5731,18.516,5732,8.531,5733,4.963,5734,4.963,5735,4.963,5736,4.963,5737,4.595,5738,8.531,5739,8.531,5740,4.963,5741,4.963,5742,4.963,5743,4.963,5744,4.963,5745,4.963,5746,4.963,5747,4.963,5748,4.963]],["keywords/1112",[]],["title/1113",[661,523.196]],["content/1113",[2,11.201,9,3.247,16,9.365,19,6.197,41,5.379,58,5.678,83,6.934,149,6.809,162,7.359,164,8.31,213,13.761,223,8.839,237,11.491,245,13.19,250,11.264,251,6.367,283,7.282,285,6.55,328,9.144,349,10.236,398,6.106,414,10.378,417,5.367,442,9.337,453,7.398,524,3.903,565,10.457,624,5.478,661,6.444,787,12.532,860,8.195,866,6.633,976,5.933,983,11.003,1033,8.766,1062,9.742,1379,10.378,1612,15.102,2198,11.859,2391,7.785,2412,9.634,3622,14.526,3893,9.075,4716,17.393,5749,15.687,5750,15.687,5751,15.687]],["keywords/1113",[]],["title/1114",[1906,1127.28]],["content/1114",[1,3.172,19,7.428,38,6.388,41,3.165,46,3.815,58,6.806,63,5.169,67,7.214,90,4.73,108,5.187,122,4.202,144,4.209,187,5.206,204,6.838,243,10.106,257,7.802,260,6.355,274,4.372,285,5.686,297,6.165,357,5.098,362,3.973,363,3.011,393,8.027,409,7.739,443,4.805,478,8.729,486,4.434,525,5.281,568,7.266,600,3.403,605,7.61,609,7.163,624,3.606,625,9.564,656,11.548,713,5.911,728,7.4,756,7.163,787,7.374,789,7.661,812,4.617,842,6.036,857,8.77,866,5.758,983,5.859,1018,4.421,1103,9.275,1157,7.214,1205,5.131,1224,10.725,1294,6.165,1385,6.592,1719,11.054,1849,9.01,1906,12.621,2391,6.758,2412,13.226,2581,9.141,2777,6.528,3315,9.778,3459,11.45,3502,8.458,3891,11.45,5716,12.61,5752,18.803,5753,13.619,5754,13.619,5755,13.619,5756,13.619,5757,11.946]],["keywords/1114",[]],["title/1115",[1,305.359,1686,625.025]],["content/1115",[]],["keywords/1115",[]],["title/1116",[5758,1555.113]],["content/1116",[97,9.449,408,8.966,409,12.204,812,8.529,862,12.538,931,6.781,1581,8.094,3777,16.466,3989,15.136,5758,19.885,5759,21.475]],["keywords/1116",[]],["title/1117",[5760,1473.221]],["content/1117",[]],["keywords/1117",[]],["title/1118",[5761,843.665]],["content/1118",[1,4.968,9,2.993,139,9.903,193,4.317,243,11.465,408,8.906,523,8.334,719,9.137,1686,10.169,3526,10.225,3989,15.035,5761,10.716,5762,21.332]],["keywords/1118",[]],["title/1119",[5760,1473.221]],["content/1119",[]],["keywords/1119",[]],["title/1120",[5763,1555.113]],["content/1120",[1,4.392,9,2.646,15,5.119,19,7.45,46,3.831,50,3.41,85,6.074,90,6.551,91,6.253,146,5.507,174,4.139,187,7.209,193,2.768,221,5.687,230,5.963,235,6.45,236,3.002,251,5.551,267,9.64,319,4.44,362,3.985,363,1.912,408,7.874,417,4.679,455,6.787,467,1.24,471,6.349,475,3.533,477,6.668,481,7.58,523,9.089,525,5.304,589,11.499,690,11.997,728,5.383,812,6.394,838,3.212,900,5.507,1018,4.44,1045,7.194,1059,9.18,1135,8.924,1136,11.499,1146,6.914,1379,9.048,1584,9.048,1585,5.758,1682,10.239,1686,6.52,1916,7.841,1954,7.096,2578,7.912,2610,5.687,3378,9.474,3526,6.556,3777,10.487,3816,6.871,3989,9.64,4836,7.049,5699,12.664,5761,9.474,5763,24.394,5764,13.677,5765,7.144,5766,6.018,5767,15.308,5768,13.677,5769,13.677,5770,12.664,5771,13.677,5772,13.677,5773,13.677,5774,13.677,5775,13.677,5776,13.677,5777,13.677,5778,13.677]],["keywords/1120",[]],["title/1121",[1686,800.603]],["content/1121",[1,5.035,21,4.586,41,5.87,257,6.921,537,17.549,600,5.402,804,4.764,866,9.141,1581,8.149,1686,10.307]],["keywords/1121",[]],["title/1122",[1683,637.447]],["content/1122",[]],["keywords/1122",[]],["title/1123",[408,448.955,976,406.712,1683,408.142]],["content/1123",[38,10.074,79,7.799,205,8.238,421,11.376,490,11.628,976,8.123,2390,14.637,2456,18.056,3057,18.056,4756,17.432,5710,18.838,5779,18.838]],["keywords/1123",[]],["title/1124",[218,662.774,1838,554.366]],["content/1124",[1,5.241,85,7.94,215,4.948,218,9.037,322,6.624,362,4.755,390,3.807,408,7.464,464,6.984,467,2.466,789,7.284,807,3.73,812,6.061,849,9.538,924,7.011,944,4.948,1225,13.821,1279,12.901,1344,11.676,1385,6.268,1683,6.786,1838,9.515,2400,12,5712,14.511,5713,15.682,5780,17.877,5781,17.877,5782,17.877,5783,17.877]],["keywords/1124",[]],["title/1125",[274,345.197,362,227.2,5784,1075.304]],["content/1125",[21,5.115,274,8.311,467,2.563,624,5.296,789,8.149,812,6.781,2597,14.096,5323,16.234,5779,17.544,5785,24.114,5786,19.999,5787,19.999,5788,19.999]],["keywords/1125",[]],["title/1126",[30,317.855,408,547.414]],["content/1126",[1,2.219,5,4.541,8,5.524,16,4.312,21,4.907,85,6.44,90,3.309,144,2.944,174,2.883,202,3.961,204,3.024,218,4.815,235,4.492,236,2.091,246,3.426,251,7.126,269,5.603,310,3.128,319,3.092,322,3.529,362,2.013,374,5.367,390,2.029,408,9.955,467,2.591,482,5.12,486,3.101,488,9.734,526,4.211,545,2.574,562,4.909,624,5.892,658,9.884,677,3.944,789,3.881,797,6.394,807,1.579,887,4.291,967,5.85,976,3.603,1018,4.708,1051,7.502,1061,7.628,1153,13.145,1192,9.884,1682,13.145,1683,3.616,1687,4.098,1838,4.028,2486,8.356,2710,6.978,2749,5.562,2875,8.009,3209,12.721,3399,8.009,3448,12.927,3520,7.131,3619,6.714,3802,7.502,3816,4.785,3989,17.559,4836,4.909,5323,14.253,5456,4.191,5465,9.111,5476,8.821,5712,7.732,5713,8.356,5737,8.821,5779,15.403,5789,14.502,5790,9.526,5791,17.559,5792,19.628,5793,9.526,5794,9.526,5795,9.526,5796,9.526,5797,21.122,5798,9.526,5799,14.502,5800,14.502,5801,14.502,5802,9.526,5803,9.526,5804,9.526,5805,14.502,5806,14.502,5807,9.526,5808,9.526,5809,9.526,5810,9.526,5811,9.526,5812,7.732,5813,9.526,5814,9.526]],["keywords/1126",[]],["title/1127",[408,448.955,1683,408.142,2737,824.502]],["content/1127",[1,6.204,9,3.001,19,5.312,21,2.852,34,6.179,140,2.864,148,7.337,172,9.655,197,7.123,286,4.744,310,6.12,319,4.365,335,10.311,355,5.122,362,5.126,393,7.926,408,9.644,429,3.997,467,2.276,511,13.958,516,6.058,523,10.536,524,3.345,526,5.944,566,7.174,796,9.655,820,4.028,828,4.123,976,5.086,1099,8.351,1272,5.837,1281,8.774,1573,6.556,1683,10.431,2610,5.591,2740,6.633,3247,16.35,3524,10.589,3789,5.614,3998,10.589,5323,10.915,5465,8.449,5710,11.796,5712,10.915,5812,10.915,5815,12.452,5816,13.447,5817,9.165,5818,21.392,5819,13.447,5820,11.796,5821,13.447,5822,12.452]],["keywords/1127",[]],["title/1128",[1,250.436,4443,995.701,4444,995.701]],["content/1128",[]],["keywords/1128",[]],["title/1129",[63,408.142,363,150.319,566,573.699]],["content/1129",[1,5.934,41,5.921,63,7.317,362,4.073,363,3.807,523,7.531,600,5.892,887,8.684,1110,5.849,1366,8.116,1480,7.266,1610,8.482,1613,7.85,1677,11.062,3383,17.85,5823,19.277]],["keywords/1129",[]],["title/1130",[1,162.665,174,211.362,363,97.636,600,174.523,624,184.954,1677,327.622]],["content/1130",[1,5.95,9,2.721,41,5.501,50,4.835,59,4.818,68,7.633,90,6.736,171,7.137,362,4.098,363,3.309,505,9.882,521,12.721,812,6.575,824,4.299,947,8.695,1677,11.103,2671,13.669,5824,23.669,5825,19.394]],["keywords/1130",[]],["title/1131",[358,236.8,363,97.636,545,123.969,556,162.665,824,154.837,982,187.09]],["content/1131",[1,5.166,27,5.653,61,6.949,90,6.791,140,4.163,174,4.363,283,6.692,285,6.019,319,4.68,358,6.628,362,3.046,363,2.733,457,11.701,467,2.451,488,9.676,490,7.806,524,6.185,545,2.559,556,5.166,600,5.543,692,7.432,746,6.591,812,4.888,820,5.855,824,4.918,887,6.494,976,5.452,982,7.243,1018,4.68,1272,6.257,1336,5.994,1366,8.231,1470,7.479,1677,9.17,2161,10.75,3468,15.868,5826,10.792,5827,14.416,5828,9.986,5829,14.416,5830,19.549,5831,14.416,5832,14.416,5833,14.416,5834,12.646]],["keywords/1131",[]],["title/1132",[14,206.205,194,356.039,358,308.997,1352,559.715]],["content/1132",[1,4.572,9,3.346,15,8.926,187,7.504,344,12.983,358,8.084,363,2.744,417,6.716,554,6.84,944,5.434,1110,5.956,1261,8.931,3657,12.642,5835,19.631,5836,25.683,5837,19.631,5838,19.631,5839,19.631,5840,19.631]],["keywords/1132",[]],["title/1133",[122,240.33,363,150.319,566,573.699]],["content/1133",[1,5.781,9,2.735,50,4.859,90,4.985,122,5.955,140,4.713,193,2.904,202,5.967,273,5.621,283,6.662,287,6.629,322,5.317,363,3.776,488,9.633,524,3.57,533,6.404,566,10.398,600,5.53,743,5.466,820,4.298,824,4.321,887,6.465,947,9.922,973,6.363,1142,8.913,1476,9.242,1477,9.633,1613,4.244,1677,11.644,1822,10.744,1823,14.944,2799,8.814,3027,8.719,3378,9.942,4992,13.289,5841,14.351,5842,8.459,5843,12.066,5844,14.351,5845,14.351,5846,14.351,5847,14.351,5848,14.351,5849,14.351,5850,19.49,5851,14.351,5852,11.004]],["keywords/1133",[]],["title/1134",[59,127.297,79,227.112,363,87.423,486,203.593,566,333.653,1423,440.776,1529,419.768]],["content/1134",[1,4.544,41,5.521,59,5.214,79,7.086,140,4.155,187,7.459,285,8.146,322,7.229,343,6.128,363,3.321,554,6.798,566,12.675,824,4.326,898,9.201,947,8.748,1529,13.097,1677,9.153,5853,8.321,5854,19.512,5855,19.512,5856,19.512,5857,19.512]],["keywords/1134",[]],["title/1135",[1619,1043.002]],["content/1135",[]],["keywords/1135",[]],["title/1136",[30,317.855,1619,814.264]],["content/1136",[1,3.353,2,2.148,6,1.527,8,3.594,9,2.887,13,5.089,14,0.897,19,1.567,21,2.001,23,6.247,26,2.825,27,1.555,30,0.962,31,1.455,36,1.643,41,2.649,46,4.643,48,2.782,50,2.352,59,2.32,63,1.506,108,5.483,117,3.569,122,0.887,140,2.428,144,2.168,149,1.722,167,4.578,169,2.058,171,1.46,174,3.942,193,0.803,194,2.741,200,2.624,202,1.649,204,1.259,215,1.942,218,2.005,220,6.279,221,1.649,236,0.871,246,1.426,255,3.862,257,3.02,269,1.533,272,4.263,274,1.273,285,1.656,287,1.188,290,2.588,292,1.881,299,2.624,310,1.302,316,1.832,319,1.288,322,1.47,328,1.753,340,1.656,346,1.993,357,1.485,358,3.199,362,5.023,363,2.807,382,4.357,390,3.315,392,2.031,398,6.058,404,1.325,408,4.759,414,2.624,423,3.371,429,4.926,434,1.832,440,1.656,454,2.361,466,1.861,467,1.771,468,2.018,471,1.841,475,4.021,477,4.6,481,2.199,486,1.291,487,1.796,500,5.266,523,4.453,524,5.859,525,5.052,526,3.102,533,1.77,534,1.544,545,3.467,556,1.634,587,1.511,591,1.714,597,1.823,600,0.991,613,1.173,620,1.511,624,3.449,636,2.97,678,1.945,688,1.993,692,3.819,699,1.516,700,5.362,713,1.722,728,2.762,746,1.814,762,1.968,764,1.677,777,2.554,789,1.616,800,3.208,804,0.874,812,1.345,820,5.46,824,0.879,838,1.648,840,3.037,863,2.992,876,1.636,931,2.216,944,1.098,960,2.894,969,2.235,971,1.538,973,2.291,976,6.895,982,5.938,1036,1.881,1048,3.741,1077,2.018,1092,1.993,1120,2.804,1141,3.291,1157,2.101,1170,3.116,1198,4.627,1205,2.575,1210,3.547,1214,1.957,1215,1.048,1227,1.706,1238,1.934,1253,1.533,1261,3.192,1266,4.38,1272,6.248,1276,2.848,1336,1.649,1366,3.972,1379,2.624,1385,3.308,1431,5.526,1437,1.365,1475,1.591,1479,5.38,1480,3.556,1581,4.296,1585,3.972,1610,1.745,1619,8.94,1644,1.173,1680,2.005,1683,5.908,1686,6.21,1687,1.706,1838,3.989,1895,4.71,1896,1.722,1986,1.945,2002,8.021,2015,3.005,2020,4.271,2037,1.714,2070,1.585,2137,2.704,2161,5.188,2163,1.814,2199,1.98,2255,1.891,2365,1.706,2387,1.745,2391,1.968,2392,1.745,2551,1.636,2610,3.923,2619,11.297,2640,1.745,2675,2.031,2738,2.662,2740,1.957,2777,1.901,2823,2.748,2890,1.722,3097,4.114,3103,2.361,3457,2.058,3460,2.217,3506,2.005,3526,5.464,3556,1.957,3629,1.968,3653,1.745,3657,2.554,3779,1.993,3789,2.93,3794,5.319,3796,1.881,3816,4.74,3839,2.031,3842,3.525,3893,2.295,4004,5.762,4083,3.64,4429,2.967,4585,2.058,4675,2.436,4755,1.968,4759,2.018,4836,2.044,4865,1.968,5019,3.48,5088,2.031,5446,3.019,5456,1.745,5489,2.005,5521,1.745,5547,3.64,5761,5.726,5765,2.072,5766,4.151,5826,5.253,5853,1.692,5858,3.967,5859,3.48,5860,3.967,5861,3.48,5862,3.967,5863,3.967,5864,3.967,5865,3.967,5866,5.899,5867,3.335,5868,5.38,5869,2.97,5870,3.041,5871,3.041,5872,3.041,5873,5.38,5874,7.933,5875,3.335,5876,5.899,5877,2.463,5878,2.181,5879,2.072,5880,4.928,5881,2.072,5882,2.072,5883,2.072,5884,2.072,5885,2.072,5886,2.072,5887,2.072,5888,2.072,5889,2.072,5890,2.072,5891,3.616,5892,2.072,5893,2.072,5894,2.072,5895,2.058,5896,2.072,5897,2.072,5898,2.072,5899,2.086,5900,2.086,5901,2.086,5902,2.086,5903,3.691,5904,2.086,5905,2.072,5906,3.691,5907,2.086,5908,3.691,5909,2.072,5910,2.044,5911,1.762,5912,1.762,5913,1.762,5914,1.762,5915,1.762,5916,1.762,5917,1.762,5918,1.762]],["keywords/1136",[]],["title/1137",[41,390.324]],["content/1137",[]],["keywords/1137",[]],["title/1138",[30,317.855,41,304.723]],["content/1138",[1,2.326,8,2.628,9,2.601,13,5.871,14,1.935,15,1.015,21,1.056,23,3.764,26,2.004,27,1.063,30,2.995,31,0.994,36,1.122,38,2.335,41,5.309,46,5.193,50,1.72,58,1.801,59,3.575,61,6.433,63,1.889,68,3.93,83,1.198,85,3.064,90,0.942,108,4.283,120,3.165,122,2.513,140,0.577,141,2.378,144,0.838,157,1.221,164,1.436,169,1.406,171,0.998,174,3.022,193,0.549,194,1.944,202,1.127,203,1.847,204,1.58,209,1.598,215,4.542,220,4.814,221,1.127,230,4.902,235,7.088,236,4.335,239,4.335,243,2.675,246,0.975,248,1.171,252,3.448,255,4.448,256,3.247,257,3.955,259,1.278,263,2.582,264,1.345,268,1.683,269,1.047,273,3.564,274,1.598,285,1.132,287,2.561,290,3.247,292,1.285,297,1.227,306,1.683,310,0.89,316,1.252,319,1.616,322,1.004,326,1.307,328,1.198,329,1.616,332,1.37,340,1.132,346,1.362,357,1.015,358,0.919,362,4.787,363,3.111,379,1.527,390,2.631,392,1.388,398,6.131,404,1.663,408,3.571,417,0.927,421,1.436,423,4.018,429,4.878,434,2.298,440,1.132,442,2.962,443,3.523,466,1.271,467,1.853,468,1.379,471,1.258,475,3.882,477,4.169,478,1.258,487,3.123,489,2.151,500,3.457,505,2.881,520,3.22,523,5.871,524,4.613,525,5.175,526,2.2,533,3.079,534,1.055,545,3.02,556,0.631,568,1.446,587,1.896,591,1.171,600,2.81,603,2.686,609,1.426,620,1.896,624,2.645,651,1.515,656,3.056,678,1.329,681,1.878,688,1.362,692,0.908,695,1.946,699,5.101,702,1.49,713,1.176,717,1.985,728,1.959,739,3.404,746,2.275,762,1.345,764,1.146,787,6.69,789,1.104,800,3.155,804,1.097,812,0.919,820,5.917,836,1.584,838,1.169,840,2.221,848,4.085,849,3.681,862,1.583,863,2.122,866,6.017,868,2.933,876,1.118,878,6.831,886,1.156,894,6.962,931,1.572,949,1.916,951,1.49,960,1.118,971,1.051,973,1.625,976,3.777,1008,1.258,1018,0.88,1033,5.58,1036,1.285,1045,1.426,1048,6.247,1056,3.448,1062,3.091,1077,1.379,1099,1.683,1120,1.989,1141,2.335,1149,4.285,1154,8.859,1158,1.568,1170,3.798,1198,3.384,1205,1.883,1208,1.132,1210,1.37,1213,3.127,1214,1.337,1215,1.315,1227,2.141,1237,2.582,1238,1.322,1253,1.047,1256,2.906,1261,3.89,1266,3.203,1272,4.88,1338,1.878,1350,3.646,1373,4.27,1385,1.745,1431,4.146,1437,0.933,1475,4.006,1480,1.876,1573,2.426,1574,1.878,1581,5.665,1585,6.632,1610,1.193,1611,3.292,1613,1.472,1624,4.596,1644,0.802,1677,2.335,1680,1.37,1683,4.69,1686,4.761,1687,1.166,1736,3.165,1838,3.616,1895,3.445,1896,1.176,1913,1.724,1916,3.956,1954,2.582,1986,1.329,1992,1.746,2002,6.539,2015,2.132,2020,3.123,2037,1.171,2070,1.083,2163,3.155,2199,1.353,2236,1.683,2255,2.372,2283,1.946,2321,3.508,2328,1.703,2365,1.166,2387,1.193,2391,1.345,2392,1.193,2551,1.118,2578,1.568,2610,2.869,2636,1.91,2640,1.193,2675,1.388,2709,3.341,2777,4.099,2890,1.176,3097,3.008,3315,1.946,3457,1.406,3506,2.516,3526,3.307,3555,1.91,3556,1.337,3561,3.726,3620,1.665,3628,1.847,3629,1.345,3646,1.63,3653,1.193,3779,1.362,3784,3.573,3789,2.078,3794,3.99,3796,1.285,3816,3.466,3839,1.388,3842,2.5,3893,1.568,3939,2.029,4004,5.048,4083,2.582,4199,2.029,4228,3.341,4282,3.726,4429,2.104,4556,2.078,4585,1.406,4675,3.056,4755,1.345,4759,1.379,4836,1.397,4865,2.47,5088,1.388,5446,2.141,5456,1.193,5489,2.516,5491,3.816,5521,1.193,5547,2.582,5610,2.078,5761,4.296,5765,1.416,5766,3.036,5853,1.156,5877,1.683,5878,1.49,5879,1.416,5880,3.604,5881,1.416,5882,1.416,5883,1.416,5884,1.416,5885,1.416,5886,1.416,5887,1.416,5888,1.416,5889,1.416,5890,1.416,5891,4.407,5892,1.416,5893,1.416,5894,1.416,5895,1.406,5896,1.416,5897,1.416,5898,1.416,5899,1.426,5900,1.426,5901,1.426,5902,1.426,5903,2.618,5904,1.426,5905,4.467,5906,2.618,5907,1.426,5908,2.618,5909,1.416,5910,1.397,5911,1.204,5912,1.204,5913,1.204,5914,1.204,5915,1.204,5916,1.204,5917,1.204,5918,1.204,5919,3.508,5920,2.378,5921,2.378,5922,2.378,5923,2.711,5924,2.135,5925,2.135,5926,2.135,5927,2.029,5928,2.029,5929,2.029,5930,3.919,5931,2.078,5932,2.135,5933,2.135,5934,1.985]],["keywords/1138",[]],["title/1139",[32,628.636]],["content/1139",[]],["keywords/1139",[]],["title/1140",[30,317.855,32,490.771]],["content/1140",[1,2.136,6,4.601,8,2.834,9,2.566,13,6.164,15,1.109,21,1.146,22,3.215,23,4.017,26,2.175,27,1.162,30,3.172,31,1.981,32,3.989,34,2.482,36,1.227,38,2.533,41,4.747,46,5.391,50,1.855,58,1.955,59,3.722,61,6.79,63,2.05,68,2.126,83,1.31,85,3.304,90,1.03,108,4.552,120,3.434,122,2.05,140,0.631,144,0.916,157,1.335,164,1.57,169,1.538,171,1.091,174,3.225,193,0.6,194,2.11,202,1.232,203,2.02,204,1.715,209,1.747,215,2.538,220,5.138,221,1.232,230,5.211,235,7.44,236,4.557,239,4.674,243,2.903,246,1.066,248,1.281,252,3.741,255,3.491,256,3.524,257,4.189,259,1.398,260,1.383,263,2.802,264,1.471,268,1.841,269,1.145,273,3.774,274,2.388,285,1.238,287,1.618,290,1.934,292,1.405,297,1.342,306,1.841,310,0.973,316,1.369,319,1.753,322,1.098,326,1.429,328,1.31,329,1.753,340,1.238,346,1.489,357,1.109,358,1.005,359,2.783,362,4.823,363,2.804,379,1.67,390,2.27,392,1.518,398,6.421,404,1.804,408,6.587,417,1.014,423,3.808,429,4.904,434,2.494,440,1.238,442,3.215,443,1.046,466,1.39,467,1.819,468,1.508,471,1.376,475,3.639,477,4.471,487,1.342,489,1.281,500,3.707,513,1.518,520,3.471,521,1.593,523,4.164,524,1.344,525,5.463,526,2.387,533,3.32,534,1.154,545,3.044,554,1.033,556,0.69,568,1.581,587,2.057,591,1.281,600,2.986,603,2.102,609,1.559,613,0.877,620,2.057,624,2.822,641,1.731,642,1.764,651,1.656,656,3.317,661,0.923,678,1.454,681,2.053,699,5.385,713,1.287,717,2.171,728,2.126,739,3.67,746,2.469,762,1.471,764,1.253,787,7.085,789,1.208,800,2.469,804,1.19,812,1.005,820,6.008,836,0.944,838,1.268,840,2.395,842,0.952,848,2.209,862,1.731,863,2.303,866,6.333,868,1.747,876,1.222,878,7.261,886,1.264,889,0.792,894,7.372,931,1.705,949,3.531,960,1.222,971,1.149,973,1.763,976,2.814,1018,0.962,1033,5.956,1036,1.405,1045,1.559,1048,6.542,1056,3.741,1062,3.354,1077,1.508,1120,2.158,1141,2.533,1154,7.712,1158,1.715,1170,4.073,1198,3.648,1205,2.03,1210,1.498,1213,3.393,1214,1.462,1215,0.783,1227,2.323,1237,2.802,1238,1.445,1253,1.145,1256,3.153,1261,3.384,1263,1.885,1266,3.453,1272,3.229,1338,2.053,1344,1.538,1350,3.956,1373,4.578,1385,1.894,1431,4.445,1437,1.02,1475,1.189,1480,2.036,1573,2.633,1581,3.456,1585,3.132,1610,1.304,1611,3.573,1613,0.877,1624,4.929,1644,0.877,1680,1.498,1683,6.941,1686,5.081,1687,1.275,1736,3.434,1838,3.877,1895,3.714,1896,1.287,1913,1.885,1916,4.265,1954,2.802,1986,1.454,1992,1.909,2002,6.882,2015,2.313,2020,3.368,2037,1.281,2070,2.158,2163,1.355,2199,1.48,2236,1.841,2255,2.575,2283,2.128,2321,3.807,2328,1.862,2365,1.275,2387,1.304,2391,1.471,2392,1.304,2551,1.222,2578,1.715,2610,3.093,2640,1.304,2675,1.518,2709,3.625,2777,4.396,2890,1.287,3097,3.244,3315,2.128,3457,1.538,3506,2.73,3526,3.566,3555,2.089,3556,1.462,3561,4.043,3620,1.82,3629,1.471,3646,1.782,3653,1.304,3779,1.489,3784,3.878,3789,2.255,3794,4.279,3796,2.561,3816,3.737,3839,1.518,3842,2.713,3868,6.526,3871,2.6,3893,1.715,3939,2.219,3995,2.6,3996,2.6,3997,5.704,3998,2.334,3999,2.6,4004,6.041,4083,2.802,4199,2.219,4228,3.625,4282,4.043,4429,2.284,4556,2.273,4585,1.538,4675,3.317,4755,1.471,4759,1.508,4836,1.528,4865,2.68,5088,1.518,5446,2.323,5456,1.304,5489,2.73,5491,4.141,5521,1.304,5547,2.802,5610,2.273,5761,4.607,5765,1.548,5766,3.273,5853,1.264,5877,1.841,5878,1.63,5879,1.548,5880,3.886,5881,1.548,5882,1.548,5883,1.548,5884,1.548,5885,1.548,5886,1.548,5887,1.548,5888,1.548,5889,1.548,5890,1.548,5891,4.726,5892,1.548,5893,1.548,5894,1.548,5895,1.538,5896,1.548,5897,1.548,5898,1.548,5899,1.559,5900,1.559,5901,1.559,5902,1.559,5903,2.841,5904,1.559,5905,3.886,5906,2.841,5907,1.559,5908,2.841,5909,1.548,5910,1.528,5911,1.316,5912,1.316,5913,1.316,5914,1.316,5915,1.316,5916,1.316,5917,1.316,5918,1.316,5920,2.6,5921,2.6,5924,2.334,5925,2.334,5926,2.334,5927,2.219,5928,2.219,5929,2.219,5930,4.253,5931,2.273,5932,2.334,5933,2.334,5935,5.001,5936,2.745,5937,2.492,5938,2.492]],["keywords/1140",[]],["title/1141",[1197,1183.697]],["content/1141",[]],["keywords/1141",[]],["title/1142",[30,317.855,1197,924.103]],["content/1142",[1,3.168,7,2.428,8,4.376,9,2.636,13,6.512,16,2.319,21,1.859,23,5.763,26,3.529,27,2.008,30,3.707,31,1.879,36,2.121,38,2.402,41,2.037,46,2.455,50,2.865,58,1.854,59,3.112,108,6.787,140,1.091,144,1.583,169,2.657,171,1.885,174,3.477,193,1.036,194,3.424,202,2.129,204,1.626,208,4.431,215,3.18,220,7.371,221,2.129,230,2.233,236,1.124,246,1.842,255,3.942,257,3.678,269,1.979,272,5.325,292,2.428,310,1.682,316,4.048,319,1.663,322,1.898,328,2.264,340,2.138,346,2.573,357,1.917,362,5.283,363,2.138,390,2.447,392,2.622,398,6.488,404,1.711,408,5.679,429,5.584,434,2.365,440,2.138,466,2.402,467,1.779,468,2.605,471,2.377,475,2.264,477,5.601,486,1.667,487,2.319,500,5.499,519,6.072,523,5.314,524,2.858,525,5.275,526,3.874,533,2.285,534,1.993,545,3.61,565,2.589,587,1.951,591,2.213,600,1.28,603,4.472,609,2.694,620,3.338,624,2.321,678,2.512,699,1.958,713,2.223,728,3.45,762,2.542,764,2.165,789,2.087,800,2.342,804,1.129,820,6.092,836,3.658,838,2.058,840,3.698,863,3.738,876,2.112,931,2.768,960,2.112,971,1.986,973,3.751,976,4.345,1036,2.428,1048,4.556,1077,2.605,1099,5.443,1103,2.526,1120,3.502,1133,3.019,1141,4.111,1170,3.892,1197,3.61,1198,5.634,1200,3.927,1205,3.135,1210,2.589,1214,2.526,1227,2.203,1238,2.497,1253,1.979,1261,2.33,1266,5.333,1272,2.223,1385,3.073,1431,6.594,1437,1.763,1475,2.054,1480,3.304,1581,4.33,1585,4.837,1610,2.253,1680,2.589,1683,6.763,1686,7.289,1687,2.203,1838,4.858,1895,5.736,1896,2.223,1986,2.512,2002,9.015,2015,3.754,2020,5.201,2037,2.213,2070,2.046,2163,2.342,2172,4.306,2198,2.936,2199,2.557,2255,2.441,2365,2.203,2387,2.253,2391,2.542,2392,2.253,2551,2.112,2610,4.777,2640,2.253,2675,2.622,2777,2.455,2890,2.223,3097,5.009,3457,2.657,3506,2.589,3526,5.507,3556,2.526,3629,2.542,3653,2.253,3779,2.573,3789,3.659,3794,7.778,3796,2.428,3802,4.033,3816,5.771,3839,2.622,3842,4.403,4004,6.876,4083,4.547,4429,3.706,4459,8.416,4585,2.657,4755,2.542,4759,2.605,4836,2.64,4865,2.542,5088,2.622,5124,4.306,5446,3.771,5456,2.253,5489,2.589,5521,2.253,5537,4.742,5547,4.547,5761,6.833,5765,2.675,5766,5.055,5853,2.184,5878,2.816,5879,2.675,5880,6.001,5881,2.675,5882,2.675,5883,2.675,5884,2.675,5885,2.675,5886,2.675,5887,2.675,5888,2.675,5889,2.675,5890,2.675,5891,4.517,5892,2.675,5893,2.675,5894,2.675,5895,2.657,5896,2.675,5897,2.675,5898,2.675,5899,2.694,5900,2.694,5901,2.694,5902,2.694,5903,4.61,5904,2.694,5905,2.675,5906,4.61,5907,2.694,5908,4.61,5909,2.675,5910,2.64,5911,2.275,5912,2.275,5913,2.275,5914,2.275,5915,2.275,5916,2.275,5917,2.275,5918,2.275,5939,8.765,5940,5.122,5941,8.765,5942,5.122,5943,5.122]],["keywords/1142",[]],["title/1143",[533,749.383]],["content/1143",[]],["keywords/1143",[]],["title/1144",[30,317.855,533,585.038]],["content/1144",[1,2.845,30,2.961,34,5.613,36,5.058,46,3.422,58,4.422,79,6.327,90,4.243,140,2.602,171,4.495,174,6.145,236,2.681,246,4.393,251,4.958,255,3.854,257,5.577,269,4.72,287,3.659,310,4.011,319,3.966,362,4.291,398,4.755,429,3.631,440,5.1,467,2.271,475,3.155,496,8.771,523,4.772,533,10.445,534,4.755,545,3.604,591,5.278,624,4.613,820,6.082,838,4.092,863,7.43,931,5.501,971,4.737,973,5.688,1205,5.542,1253,4.72,1475,4.9,1581,6.566,1585,8.55,1683,8.403,1687,5.255,1896,5.302,2015,7.462,2037,5.278,2070,4.881,2175,11.368,2365,5.255,2387,5.375,2392,5.375,2551,5.038,2610,7.244,2890,5.302,3097,8.854,3653,5.375,3789,7.274,4429,7.366,4445,12.761,5446,7.495,5456,5.375,5521,5.375,5766,7.666,5853,5.209,5911,5.425,5912,5.425,5913,5.425,5914,5.425,5915,5.425,5916,5.425,5917,5.425,5918,5.425,5944,17.422,5945,17.422,5946,17.422]],["keywords/1144",[]],["title/1145",[5947,1473.221]],["content/1145",[]],["keywords/1145",[]],["title/1146",[30,317.855,5947,1150.133]],["content/1146",[1,2.715,8,4.44,9,2.659,13,6.043,21,1.89,23,5.83,26,3.588,27,2.048,30,2.826,31,1.915,36,2.162,41,2.071,46,1.463,50,2.906,59,3.429,63,1.982,108,6.416,140,1.112,144,1.614,169,2.709,171,1.922,174,3.527,193,1.057,194,2.04,202,2.171,204,1.658,215,2.466,220,7.456,221,2.171,236,1.146,246,1.878,255,3.98,256,7.606,257,4.411,269,2.018,287,1.564,292,2.476,310,1.715,316,2.412,319,1.695,322,1.935,328,2.308,340,2.18,346,2.623,357,1.955,362,5.305,363,3.213,390,2.482,392,2.674,398,6.557,404,1.745,408,5.753,429,5.007,434,2.412,440,2.18,466,2.449,467,1.793,468,2.656,471,2.424,475,4.896,477,5.683,478,2.424,487,2.364,500,5.57,523,5.383,524,2.217,525,5.343,526,3.939,533,2.33,534,2.032,545,3.748,587,1.989,591,2.256,600,1.305,620,1.989,624,3.087,678,2.561,699,1.996,713,2.266,728,3.507,762,2.591,764,2.208,789,2.128,800,4.074,804,1.151,812,1.77,820,6.325,838,2.093,840,3.752,863,3.8,876,2.153,931,2.814,960,2.153,971,2.025,973,2.909,976,3.37,1036,2.476,1048,4.622,1077,2.656,1120,3.561,1141,4.18,1154,6.87,1170,3.957,1198,5.716,1205,3.181,1208,2.18,1210,2.64,1214,2.576,1215,1.38,1227,2.246,1238,2.546,1253,2.018,1261,2.376,1266,5.411,1272,2.266,1385,3.124,1431,6.679,1437,1.797,1475,2.095,1480,4.393,1581,3.359,1585,4.908,1610,2.298,1613,3.447,1644,1.544,1680,2.64,1683,6.828,1686,7.374,1687,2.246,1838,4.928,1895,5.819,1896,2.266,1986,2.561,2002,9.089,2015,3.817,2020,6.237,2037,2.256,2070,2.087,2163,2.387,2199,2.607,2236,3.243,2255,2.489,2365,2.246,2387,2.298,2391,2.591,2392,2.298,2551,2.153,2610,4.846,2640,3.921,2675,2.674,2777,2.503,2890,2.266,3097,5.082,3457,2.709,3506,2.64,3526,5.587,3556,2.576,3629,2.591,3653,2.298,3779,2.623,3789,3.72,3794,6.429,3796,2.476,3816,5.855,3839,2.674,3842,4.476,4004,6.965,4083,4.623,4429,3.768,4585,2.709,4675,3.207,4755,2.591,4759,2.656,4836,2.691,4865,2.591,5088,2.674,5446,3.834,5456,2.298,5489,2.64,5521,2.298,5547,4.623,5761,6.921,5765,2.728,5766,5.129,5853,2.227,5877,3.243,5878,2.871,5879,2.728,5880,6.089,5881,2.728,5882,2.728,5883,2.728,5884,2.728,5885,2.728,5886,2.728,5887,2.728,5888,2.728,5889,2.728,5890,2.728,5891,4.593,5892,2.728,5893,2.728,5894,2.728,5895,2.709,5896,2.728,5897,2.728,5898,2.728,5899,2.747,5900,2.747,5901,2.747,5902,2.747,5903,4.687,5904,2.747,5905,2.728,5906,4.687,5907,2.747,5908,4.687,5909,2.728,5910,2.691,5911,2.319,5912,2.319,5913,2.319,5914,2.319,5915,2.319,5916,2.319,5917,2.319,5918,2.319,5919,6.281,5947,4.581]],["keywords/1146",[]],["title/1147",[1677,787.79]],["content/1147",[]],["keywords/1147",[]],["title/1148",[30,317.855,1677,615.022]],["content/1148",[1,3.302,2,1.828,6,2.34,8,3.156,9,2.841,13,5.086,14,0.764,19,1.334,21,1.758,23,6.061,26,2.447,27,1.324,30,2.455,31,1.239,36,1.398,41,1.926,46,0.946,48,2.41,50,2.525,59,2.65,61,1.628,63,1.282,108,5.4,140,2.157,144,3.13,149,1.466,167,3.966,169,1.752,171,2.237,174,3.536,193,2.365,194,2.374,200,2.234,202,1.404,204,1.93,215,1.682,218,1.707,220,5.633,221,1.404,230,1.472,236,0.741,246,1.214,251,1.37,255,3.36,257,2.653,263,1.752,269,1.305,272,3.692,273,1.753,274,1.951,285,1.41,287,3.033,292,1.601,299,2.234,310,1.109,316,1.559,319,1.096,322,1.251,324,2.339,326,1.628,328,1.493,332,1.707,340,1.41,345,1.009,346,1.696,357,1.264,358,3.962,362,4.907,363,3.417,377,8.419,379,3.424,381,6.204,382,4.677,383,1.971,385,6.522,390,3.235,392,1.729,398,5.912,404,1.128,408,4.228,414,2.234,421,1.789,423,2.172,429,4.214,434,1.559,440,1.41,442,2.01,466,1.584,467,1.796,468,1.718,471,1.567,475,5.117,477,4.04,478,1.567,481,3.369,486,1.099,487,1.529,500,4.094,501,2.074,505,1.41,516,1.521,523,5.086,524,5.471,525,5.498,526,2.686,533,1.507,534,1.314,545,3.431,556,1.415,587,1.286,591,3.581,600,2.071,613,0.999,620,1.286,624,2.682,636,2.528,677,1.398,678,1.656,688,5.87,692,3.915,695,2.424,699,1.291,700,5.756,713,1.466,719,1.446,728,2.392,743,2.315,746,2.779,762,1.676,764,1.428,773,2.38,777,2.175,789,1.376,800,3.789,804,0.744,812,1.145,820,5.632,824,0.749,838,1.427,840,2.668,842,1.084,863,2.592,876,1.393,889,0.902,931,1.919,944,0.935,960,1.393,969,1.903,971,1.309,973,1.984,976,6.383,982,5.891,1008,1.567,1024,3.654,1036,1.601,1048,3.286,1077,1.718,1092,1.696,1120,3.311,1141,2.851,1157,1.789,1170,2.699,1198,4.064,1205,2.261,1208,4.228,1210,1.707,1214,1.666,1215,2.189,1227,1.453,1238,1.646,1253,2.348,1261,3.77,1266,3.847,1272,5.651,1276,2.424,1336,1.404,1366,4.264,1379,2.234,1385,2.131,1431,4.91,1437,1.162,1475,6.451,1479,4.66,1480,3.123,1563,2.074,1574,2.339,1581,4.404,1585,3.489,1610,1.486,1644,0.999,1677,7.125,1680,1.707,1683,5.381,1686,5.57,1687,1.453,1838,3.504,1895,4.137,1896,1.466,1986,1.656,2002,7.39,2015,2.603,2020,3.751,2037,1.459,2070,1.349,2161,4.557,2163,1.544,2174,2.339,2199,1.686,2222,2.473,2248,1.919,2255,1.61,2365,1.453,2387,1.486,2391,1.676,2392,1.486,2397,2.234,2551,1.393,2610,3.446,2619,10.352,2636,2.38,2640,1.486,2675,1.729,2738,2.267,2740,1.666,2777,1.619,2823,2.339,2890,1.466,3097,3.613,3103,2.01,3448,1.887,3457,1.752,3506,1.707,3526,3.972,3547,2.339,3556,1.666,3628,2.301,3629,1.676,3653,1.486,3657,2.175,3779,1.696,3789,2.537,3794,4.726,3796,1.601,3816,4.163,3839,1.729,3842,3.053,3893,1.953,4004,5.12,4083,3.153,4123,2.234,4429,2.57,4585,1.752,4675,2.074,4755,1.676,4759,1.718,4836,1.74,4860,4.55,4865,1.676,5088,1.729,5364,4.55,5446,2.615,5456,1.486,5489,1.707,5521,1.486,5547,3.153,5761,5.088,5765,1.764,5766,3.646,5826,4.55,5853,1.44,5859,2.962,5861,2.962,5866,5.11,5867,2.839,5868,4.66,5869,2.528,5870,2.589,5871,2.589,5872,2.589,5873,4.66,5874,6.967,5875,2.839,5876,5.11,5877,2.097,5878,1.857,5879,1.764,5880,4.329,5881,1.764,5882,1.764,5883,1.764,5884,1.764,5885,1.764,5886,1.764,5887,1.764,5888,1.764,5889,1.764,5890,1.764,5891,3.132,5892,1.764,5893,1.764,5894,1.764,5895,1.752,5896,1.764,5897,1.764,5898,1.764,5899,1.776,5900,1.776,5901,1.776,5902,1.776,5903,3.197,5904,1.776,5905,3.175,5906,3.197,5907,1.776,5908,3.197,5909,1.764,5910,1.74,5911,1.5,5912,1.5,5913,1.5,5914,1.5,5915,1.5,5916,1.5,5917,1.5,5918,1.5,5934,2.473,5948,3.377,5949,3.377,5950,2.589,5951,3.377]],["keywords/1148",[]],["title/1149",[74,600.869,592,550.571,1279,616.465]],["content/1149",[]],["keywords/1149",[]],["title/1150",[30,220.945,74,509.271,592,466.64,1279,522.489]],["content/1150",[1,2.691,30,2.801,36,4.784,38,5.42,41,2.685,46,3.237,55,7.875,56,11.715,59,3.407,74,9.353,94,8.144,140,2.461,171,4.252,174,5.956,215,3.198,236,2.536,246,4.155,251,4.689,255,3.703,257,5.359,269,4.465,285,4.824,287,3.461,310,3.794,319,5.434,342,8.859,352,6.404,362,3.537,417,3.953,440,4.824,442,6.877,467,2.233,482,6.21,523,4.514,534,4.497,540,4.129,545,2.971,562,5.955,587,6.376,591,4.993,592,11.049,600,2.887,605,6.456,612,6.566,731,9.963,820,5.895,838,3.931,863,7.138,931,5.285,971,4.481,973,5.465,1142,7.176,1205,5.371,1253,4.465,1279,9.596,1475,4.635,1581,4.355,1585,8.287,1683,8.191,1687,4.971,1896,5.015,1922,9.715,2015,7.169,2037,4.993,2070,4.617,2198,6.624,2365,4.971,2387,5.084,2392,5.084,2551,4.765,2610,6.96,2890,5.015,3097,8.582,3437,13.182,3653,5.084,3789,6.989,4429,7.077,5446,7.201,5456,5.084,5521,5.084,5597,10.135,5614,9.715,5766,7.365,5812,9.379,5853,4.927,5911,5.131,5912,5.131,5913,5.131,5914,5.131,5915,5.131,5916,5.131,5917,5.131,5918,5.131,5952,15.499]],["keywords/1150",[]],["title/1151",[1170,582.284,2610,545.152]],["content/1151",[]],["keywords/1151",[]],["title/1152",[30,260.685,1170,477.553,2610,447.1]],["content/1152",[1,4.821,6,4.87,9,2.904,28,7.685,30,3.067,36,5.238,46,3.543,140,2.694,141,4.967,171,4.655,174,6.264,236,2.776,246,4.549,255,3.951,257,5.717,269,4.888,285,5.282,310,4.153,319,4.107,362,3.773,440,5.282,455,8.863,467,2.294,523,4.942,534,4.924,545,3.17,591,5.466,820,6.2,838,4.194,863,7.616,931,5.639,971,4.906,973,5.831,1146,9.028,1170,5.618,1205,5.649,1253,4.888,1475,5.074,1581,7.802,1585,8.715,1683,8.536,1687,5.442,1896,5.491,2015,7.649,2037,5.466,2070,5.055,2365,5.442,2387,5.566,2392,5.566,2551,5.217,2610,9.351,2890,5.491,3097,9.025,3452,10.268,3653,5.566,3662,11.713,3789,7.456,4429,7.551,5446,7.683,5456,5.566,5489,6.395,5521,5.566,5766,7.858,5853,5.395,5911,5.618,5912,5.618,5913,5.618,5914,5.618,5915,5.618,5916,5.618,5917,5.618,5918,5.618]],["keywords/1152",[]],["title/1153",[1336,698.292]],["content/1153",[]],["keywords/1153",[]],["title/1154",[30,317.855,1336,545.152]],["content/1154",[1,2.771,2,13.062,6,4.581,23,8.245,30,2.884,36,4.927,46,3.333,58,4.307,140,2.534,171,4.379,174,6.056,236,2.611,246,4.279,255,3.782,257,5.473,269,4.597,286,4.198,310,3.906,319,3.862,360,7.475,362,4.228,409,6.761,440,4.967,467,2.253,523,4.648,534,4.631,545,3.034,554,4.146,591,5.141,600,2.973,615,11.31,820,5.993,838,4.015,863,7.291,931,5.398,971,4.614,973,5.581,1205,5.461,1253,4.597,1329,9.553,1336,4.947,1475,4.772,1581,9.367,1585,8.425,1619,10.617,1677,8.019,1683,8.303,1687,5.118,1896,5.164,2015,7.323,2037,5.141,2070,4.754,2365,5.118,2387,5.235,2392,5.235,2551,4.907,2610,9.095,2890,5.164,3097,8.725,3508,8.907,3653,5.235,3789,7.138,4429,7.229,5446,7.355,5456,5.235,5521,5.235,5766,7.522,5853,5.074,5911,5.284,5912,5.284,5913,5.284,5914,5.284,5915,5.284,5916,5.284,5917,5.284,5918,5.284,5953,11.017,5954,9.123]],["keywords/1154",[]],["title/1155",[23,405.295,30,260.685,1336,447.1]],["content/1155",[1,2.708,2,7.444,6,2.004,8,4.429,9,2.52,13,6.031,14,1.178,21,1.885,23,7.445,26,3.578,27,2.041,30,1.262,31,1.909,36,2.155,41,2.065,46,1.458,50,2.899,59,3.656,108,6.405,140,1.108,144,1.609,169,2.7,171,1.915,174,3.519,193,1.798,194,2.033,202,2.164,204,1.653,215,2.46,220,7.442,221,2.164,236,1.142,246,1.872,255,4.529,257,3.722,269,2.011,287,1.559,292,2.468,310,1.709,316,2.404,319,1.69,322,1.928,328,2.301,340,2.173,346,2.615,357,1.948,362,5.26,363,2.158,390,2.476,392,2.665,398,6.991,404,1.739,408,5.74,429,4.998,434,4.104,440,2.173,466,2.441,467,1.791,468,2.648,471,2.416,475,2.295,477,5.669,487,2.356,489,2.249,500,5.558,523,5.371,524,2.211,525,5.332,526,3.928,533,2.322,534,2.026,545,3.744,554,1.814,587,1.983,591,2.249,613,1.539,615,3.443,620,1.983,624,2.353,678,2.552,699,1.99,713,2.259,728,3.497,762,2.583,764,2.201,789,2.121,804,1.147,820,5.916,824,1.97,838,2.087,840,3.743,863,3.79,876,2.146,931,2.806,960,2.146,971,2.018,973,2.901,976,5.2,1036,2.468,1048,4.611,1073,3.896,1077,2.648,1120,3.551,1141,4.168,1170,3.947,1198,5.702,1205,3.173,1210,2.631,1214,2.567,1227,2.239,1238,2.538,1253,2.011,1261,2.368,1266,5.398,1272,5.047,1329,6.498,1336,2.164,1360,4.225,1385,3.116,1431,6.665,1434,4.966,1437,1.791,1475,2.088,1480,3.349,1581,4.383,1585,4.896,1610,2.29,1613,1.539,1680,2.631,1683,6.817,1686,7.359,1687,2.239,1838,4.916,1895,5.805,1896,2.259,1986,2.552,2002,9.077,2015,3.806,2020,5.264,2037,2.249,2070,2.08,2163,2.38,2199,2.599,2255,2.481,2365,2.239,2387,2.29,2391,2.583,2392,2.29,2551,2.146,2610,4.835,2640,3.91,2675,2.665,2777,2.495,2890,2.259,3097,5.07,3457,2.7,3506,2.631,3526,5.574,3556,2.567,3629,2.583,3653,2.29,3779,2.615,3789,3.71,3794,6.415,3796,2.468,3816,5.841,3839,2.665,3842,4.464,4004,6.95,4083,4.611,4429,3.757,4585,2.7,4755,2.583,4759,2.648,4836,2.682,4865,2.583,5088,2.665,5446,3.823,5456,2.29,5489,2.631,5521,2.29,5547,4.611,5761,6.907,5765,2.719,5766,5.116,5853,2.22,5879,2.719,5880,6.074,5881,2.719,5882,2.719,5883,2.719,5884,2.719,5885,2.719,5886,2.719,5887,2.719,5888,2.719,5889,2.719,5890,2.719,5891,4.58,5892,2.719,5893,2.719,5894,2.719,5895,2.7,5896,2.719,5897,2.719,5898,2.719,5899,2.738,5900,2.738,5901,2.738,5902,2.738,5903,4.674,5904,2.738,5905,2.719,5906,4.674,5907,2.738,5908,4.674,5909,2.719,5910,2.682,5911,2.312,5912,2.312,5913,2.312,5914,2.312,5915,2.312,5916,2.312,5917,2.312,5918,2.312,5955,8.886,5956,11.628,5957,5.205,5958,9.777,5959,5.205,5960,8.886,5961,5.205,5962,5.205,5963,4.225,5964,5.205]],["keywords/1155",[]],["title/1156",[23,343.511,30,220.945,615,602.932,1336,378.942]],["content/1156",[1,2.824,2,2.983,8,4.619,9,2.591,13,6.236,15,2.062,21,1.978,23,6.959,26,3.756,27,2.16,30,1.336,31,2.021,36,3.862,41,2.168,46,1.543,50,3.024,58,3.376,59,3.249,108,6.602,140,1.173,144,1.703,169,2.858,171,2.028,174,3.67,193,1.115,194,2.152,202,2.291,204,1.749,215,2.581,220,7.694,221,2.291,236,1.209,246,1.981,255,4.085,257,3.882,269,2.129,292,2.612,310,1.809,316,2.544,319,1.789,322,2.041,328,2.435,340,2.3,346,2.768,357,2.062,362,5.363,363,2.231,390,2.583,392,2.821,398,6.746,404,1.841,408,5.958,429,5.151,434,5.601,440,2.3,464,2.152,466,2.584,467,1.834,468,2.803,471,2.558,475,2.409,477,5.913,487,2.494,500,5.769,523,5.575,524,4.312,525,5.534,526,4.123,533,2.458,534,2.144,545,3.714,587,2.099,591,2.381,615,6.17,620,2.099,624,2.47,678,2.702,699,2.106,713,2.391,728,3.671,762,2.734,764,2.329,789,2.245,804,1.214,820,6.058,838,2.19,840,3.904,863,3.977,876,2.272,931,2.945,960,2.272,971,2.137,973,3.045,976,3.528,1036,2.612,1048,4.809,1077,2.803,1120,3.727,1141,4.375,1170,4.142,1198,5.947,1205,3.309,1210,2.785,1214,2.718,1227,2.37,1238,2.686,1253,2.129,1261,2.506,1266,5.629,1272,2.391,1336,3.878,1385,3.27,1431,6.917,1437,1.896,1475,2.21,1480,3.515,1581,3.515,1585,5.106,1610,2.424,1680,2.785,1683,7.008,1686,7.609,1687,2.37,1838,5.128,1895,6.055,1896,2.391,1986,2.702,2002,9.293,2015,3.995,2020,5.49,2037,2.381,2070,2.201,2163,2.519,2199,2.751,2255,2.626,2365,2.37,2387,2.424,2391,4.628,2392,2.424,2551,2.272,2610,5.042,2640,2.424,2675,2.821,2769,4.224,2777,2.641,2890,2.391,3097,5.287,3457,2.858,3506,2.785,3526,5.813,3556,2.718,3629,2.734,3653,2.424,3779,2.768,3789,3.894,3794,6.659,3796,2.612,3816,6.092,3839,2.821,3842,4.685,4004,7.213,4083,4.839,4429,3.943,4585,2.858,4755,2.734,4759,2.803,4836,2.839,4865,2.734,5088,2.821,5446,4.012,5456,2.424,5489,2.785,5521,2.424,5547,4.839,5761,7.168,5765,2.878,5766,5.336,5853,2.35,5879,2.878,5880,6.335,5881,2.878,5882,2.878,5883,2.878,5884,2.878,5885,2.878,5886,2.878,5887,2.878,5888,2.878,5889,2.878,5890,2.878,5891,4.807,5892,2.878,5893,2.878,5894,2.878,5895,2.858,5896,2.878,5897,2.878,5898,2.878,5899,2.898,5900,2.898,5901,2.898,5902,2.898,5903,4.906,5904,2.898,5905,2.878,5906,4.906,5907,2.898,5908,4.906,5909,2.878,5910,2.839,5911,2.447,5912,2.447,5913,2.447,5914,2.447,5915,2.447,5916,2.447,5917,2.447,5918,2.447,5965,9.326]],["keywords/1156",[]],["title/1157",[30,260.685,360,675.602,1336,447.1]],["content/1157",[1,3.03,2,9.863,30,3.154,36,5.387,46,3.644,140,2.771,171,4.788,174,6.36,236,2.855,246,4.679,255,4.65,257,5.831,269,5.027,310,4.272,319,4.223,360,8.174,362,3.849,398,5.064,440,5.432,467,2.312,523,5.082,534,5.064,545,3.731,591,5.622,820,6.295,838,4.278,863,7.768,931,5.752,971,5.045,973,5.947,976,6.889,1205,5.736,1253,5.027,1254,12.838,1336,5.409,1475,5.219,1581,6.865,1585,8.849,1683,8.642,1687,5.597,1896,5.647,2015,7.802,2037,5.622,2070,5.198,2365,5.597,2387,5.724,2392,5.724,2551,5.365,2610,7.573,2890,5.647,3097,9.164,3653,5.724,3789,7.605,4429,7.701,5446,7.836,5456,5.724,5521,5.724,5766,8.014,5853,5.548,5911,5.778,5912,5.778,5913,5.778,5914,5.778,5915,5.778,5916,5.778,5917,5.778,5918,5.778,5953,12.047,5958,10.939,5963,10.56]],["keywords/1157",[]],["title/1158",[30,260.685,1336,447.1,1677,504.403]],["content/1158",[1,3.03,2,9.863,30,3.154,36,5.387,46,3.644,140,2.771,171,4.788,174,6.36,236,2.855,246,4.679,255,4.65,257,5.831,269,5.027,310,4.272,319,4.223,362,3.849,398,5.064,440,5.432,467,2.312,523,5.082,534,5.064,545,3.731,591,5.622,820,6.295,838,4.278,863,7.768,931,5.752,971,5.045,973,5.947,976,6.889,1205,5.736,1253,5.027,1254,12.838,1336,5.409,1475,5.219,1581,6.865,1585,8.849,1677,8.544,1683,8.642,1687,5.597,1896,5.647,2015,7.802,2037,5.622,2070,5.198,2365,5.597,2387,5.724,2392,5.724,2551,5.365,2610,7.573,2890,5.647,3097,9.164,3653,5.724,3789,7.605,4429,7.701,5446,7.836,5456,5.724,5521,5.724,5766,8.014,5853,5.548,5911,5.778,5912,5.778,5913,5.778,5914,5.778,5915,5.778,5916,5.778,5917,5.778,5918,5.778,5958,10.939,5963,10.56]],["keywords/1158",[]],["title/1159",[30,260.685,1336,447.1,1619,667.809]],["content/1159",[1,3.03,2,9.863,30,3.154,36,5.387,46,3.644,140,2.771,171,4.788,174,6.36,236,2.855,246,4.679,255,4.65,257,5.831,269,5.027,310,4.272,319,4.223,362,3.849,398,5.064,440,5.432,467,2.312,523,5.082,534,5.064,545,3.731,591,5.622,820,6.295,838,4.278,863,7.768,931,5.752,971,5.045,973,5.947,976,6.889,1205,5.736,1253,5.027,1254,12.838,1336,5.409,1475,5.219,1581,6.865,1585,8.849,1619,11.312,1683,8.642,1687,5.597,1896,5.647,2015,7.802,2037,5.622,2070,5.198,2365,5.597,2387,5.724,2392,5.724,2551,5.365,2610,7.573,2890,5.647,3097,9.164,3653,5.724,3789,7.605,4429,7.701,5446,7.836,5456,5.724,5521,5.724,5766,8.014,5853,5.548,5911,5.778,5912,5.778,5913,5.778,5914,5.778,5915,5.778,5916,5.778,5917,5.778,5918,5.778,5958,10.939,5963,10.56]],["keywords/1159",[]],["title/1160",[495,1287.729]],["content/1160",[]],["keywords/1160",[]],["title/1161",[30,317.855,495,1005.321]],["content/1161",[1,3.288,9,1.29,27,3.606,30,2.23,36,3.808,38,4.314,46,2.576,50,2.293,55,11.711,56,5.474,58,3.329,59,1.872,68,6.762,77,11.588,91,4.205,140,1.959,144,2.842,146,3.704,169,4.772,171,3.385,174,5.2,215,5.755,236,2.018,246,3.308,255,4.264,257,4.52,269,3.554,286,3.245,287,2.755,292,4.361,310,3.02,319,2.986,328,4.066,329,2.986,357,3.443,362,3.63,390,1.959,398,6.688,408,3.84,440,3.84,447,6.085,449,5.098,467,2.138,475,2.376,477,4.484,487,4.164,495,7.052,504,8.978,523,6.712,534,3.58,542,6.482,545,3.691,571,4.907,591,3.974,617,5.53,618,5.923,625,4.085,678,4.51,711,5.098,804,2.027,820,5.773,838,3.316,863,6.021,931,4.458,971,3.567,973,4.609,1048,5.598,1120,5.641,1170,6.27,1205,4.689,1253,3.554,1261,4.184,1437,3.166,1475,3.689,1480,3.467,1581,3.467,1585,7.234,1610,4.047,1683,7.316,1686,9.912,1687,3.957,1895,8.578,1896,3.992,2015,6.047,2037,3.974,2070,3.675,2365,3.957,2387,4.047,2392,4.047,2551,3.793,2610,7.144,2675,4.709,2890,3.992,3097,7.491,3526,8.236,3653,4.047,3779,4.62,3789,5.894,3816,8.631,4083,7.325,4429,5.969,4755,4.564,4836,4.74,5446,6.074,5456,4.047,5521,4.047,5761,8.631,5765,4.804,5766,7.56,5853,3.922,5899,4.838,5900,4.838,5901,4.838,5902,4.838,5903,7.426,5904,4.838,5905,4.804,5906,7.426,5907,4.838,5908,7.426,5909,4.804,5911,4.085,5912,4.085,5913,4.085,5914,4.085,5915,4.085,5916,4.085,5917,4.085,5918,4.085,5966,9.197,5967,9.197,5968,9.197]],["keywords/1161",[]],["title/1162",[519,1163.403]],["content/1162",[]],["keywords/1162",[]],["title/1163",[30,317.855,519,908.26]],["content/1163",[1,5.796,13,8.772,30,3.915,36,4.554,41,2.556,46,3.081,59,3.895,140,2.342,171,4.048,174,5.79,215,3.044,236,2.414,246,3.955,255,3.573,257,5.169,264,5.458,269,4.25,310,3.611,319,3.57,362,4.043,392,5.631,408,7.988,417,3.763,440,4.592,467,2.2,519,14.605,523,4.297,526,7.138,534,4.281,545,2.866,591,4.753,713,4.774,820,6.315,838,3.792,863,6.886,931,5.099,971,4.265,973,5.272,976,4.16,1099,10.028,1197,11.381,1205,5.221,1238,5.362,1253,4.25,1266,7.496,1272,4.774,1475,4.412,1581,4.145,1585,8.056,1683,9.208,1687,4.732,1838,8.09,1896,4.774,2015,6.916,2037,4.753,2070,4.395,2365,4.732,2387,4.839,2392,4.839,2551,4.536,2610,6.714,2890,4.774,3097,8.342,3440,7.619,3556,5.425,3653,4.839,3789,6.742,3794,5.132,4004,9.672,4429,6.827,4459,8.056,5088,5.631,5446,6.947,5456,4.839,5489,5.56,5521,4.839,5766,7.105,5853,4.69,5910,5.668,5911,4.885,5912,4.885,5913,4.885,5914,4.885,5915,4.885,5916,4.885,5917,4.885,5918,4.885,5969,13.577]],["keywords/1163",[]],["title/1164",[5969,1412.056]],["content/1164",[]],["keywords/1164",[]],["title/1165",[30,317.855,5969,1102.381]],["content/1165",[1,3.961,13,9.026,30,2.863,36,4.89,41,2.745,46,3.308,59,3.461,140,2.515,171,4.346,174,6.03,215,3.269,236,2.592,246,4.247,255,3.762,257,5.444,264,5.861,269,4.563,310,3.878,319,3.834,362,4.21,392,6.047,408,8.32,440,4.931,467,2.248,519,8.181,523,4.614,526,7.517,534,4.597,545,3.018,591,5.103,713,5.126,820,6.53,838,3.994,863,7.252,931,5.37,971,4.58,973,5.552,976,4.467,1205,5.438,1238,5.758,1253,4.563,1266,7.894,1272,5.126,1475,4.737,1581,4.451,1585,8.39,1683,9.412,1687,5.081,1838,8.426,1896,5.126,2015,7.284,2037,5.103,2070,4.719,2365,5.081,2387,5.196,2392,5.196,2551,4.87,2610,7.071,2890,5.126,3097,8.688,3440,8.181,3653,5.196,3789,7.1,4004,10.073,4429,7.19,5088,6.047,5446,7.316,5456,5.196,5489,5.97,5521,5.196,5766,7.482,5853,5.037,5910,6.087,5911,5.245,5912,5.245,5913,5.245,5914,5.245,5915,5.245,5916,5.245,5917,5.245,5918,5.245,5969,9.93]],["keywords/1165",[]],["title/1166",[47,1095.832]],["content/1166",[]],["keywords/1166",[]],["title/1167",[30,317.855,47,855.508]],["content/1167",[1,1.632,6,1.062,8,2.668,9,2.928,13,5.618,15,1.033,21,1.073,23,3.814,26,2.037,27,1.082,30,3.03,31,1.012,36,1.143,38,2.373,41,4.78,46,5.233,47,12.979,50,1.747,58,1.831,59,3.371,61,6.504,63,1.92,68,1.991,83,2.236,85,3.111,90,0.959,108,4.336,120,3.217,122,1.939,140,0.588,144,0.853,157,1.243,164,8.424,169,1.432,171,1.016,174,3.062,193,0.558,194,1.976,202,1.147,203,1.881,204,1.606,209,1.627,211,2.24,215,2.401,220,4.878,221,1.147,230,4.963,235,7.158,236,4.365,239,4.401,243,2.719,246,0.992,248,1.192,252,6.008,255,3.358,256,3.301,257,4.002,259,1.301,263,2.625,264,2.511,268,1.714,269,1.066,273,3.605,274,1.624,285,1.152,287,1.515,290,1.801,292,4.112,297,1.249,306,1.714,310,1.661,316,1.274,319,1.642,322,1.022,326,1.33,328,1.22,329,1.642,340,1.152,346,1.386,357,1.894,358,0.936,362,4.727,363,2.875,379,1.555,390,2.155,392,1.413,398,5.908,404,1.69,408,3.621,417,0.944,423,3.616,429,5.1,434,2.337,440,1.152,442,1.643,443,0.974,450,8.482,466,1.294,467,1.77,468,1.404,471,1.281,475,3.485,477,4.229,481,1.53,487,1.249,489,1.192,500,3.506,520,4.047,523,3.388,524,1.743,525,4.848,526,2.236,533,3.126,534,1.074,545,2.823,556,0.643,587,1.051,591,1.192,600,2.167,603,1.969,609,1.452,620,3.304,624,2.68,636,2.066,651,1.542,656,5.327,661,4.729,678,1.353,681,1.912,699,5.158,713,1.198,717,2.021,723,2.021,728,1.991,739,3.456,746,2.313,762,1.369,764,1.167,787,6.768,789,1.124,800,2.313,804,0.608,812,0.936,820,6.252,838,1.188,840,2.255,842,0.886,848,2.07,860,7.929,862,1.611,863,2.988,866,6.08,868,1.627,876,1.138,878,6.916,886,1.177,894,7.043,931,1.598,949,1.948,960,1.138,971,1.07,973,1.652,976,1.914,1018,0.896,1033,5.654,1036,1.308,1045,1.452,1048,6.306,1055,2.116,1056,3.505,1062,3.142,1077,1.404,1120,2.022,1141,2.373,1154,6.71,1158,1.596,1170,3.852,1198,3.435,1205,1.912,1210,1.395,1213,3.179,1214,1.361,1215,0.729,1227,2.177,1237,2.625,1238,1.345,1253,1.066,1256,2.954,1261,3.187,1266,3.252,1272,1.198,1338,1.912,1350,3.706,1373,4.33,1385,1.774,1431,4.205,1437,0.95,1475,1.107,1480,1.907,1572,9.537,1573,2.467,1581,3.814,1585,2.949,1610,1.214,1611,3.347,1613,0.816,1624,2.719,1644,0.816,1680,1.395,1683,4.745,1686,4.824,1687,1.187,1736,3.217,1838,3.667,1895,3.498,1896,1.198,1913,1.755,1916,4.016,1954,3.635,1986,1.353,1992,1.777,2002,6.608,2015,2.167,2020,3.171,2037,1.192,2070,1.103,2145,1.323,2163,1.262,2199,1.378,2236,1.714,2255,2.412,2283,1.981,2321,3.566,2328,1.734,2365,1.187,2387,1.214,2391,1.369,2392,1.214,2497,1.881,2551,1.138,2578,1.596,2610,2.913,2631,5.517,2636,1.945,2640,1.214,2657,1.627,2675,1.413,2709,3.396,2729,1.881,2740,1.361,2777,4.158,2814,4.107,2890,1.198,3077,4.438,3097,3.054,3315,1.981,3387,8.031,3448,1.542,3457,1.432,3506,2.558,3526,3.358,3555,1.945,3556,1.361,3561,3.788,3620,1.695,3629,1.369,3646,1.659,3653,1.214,3686,2.555,3779,1.386,3784,3.633,3789,2.112,3794,4.047,3796,1.308,3813,2.421,3816,3.519,3830,4.107,3839,1.413,3842,2.542,3893,1.596,3939,2.066,4004,5.115,4008,2.32,4083,2.625,4199,2.066,4228,3.396,4282,3.788,4429,2.139,4556,2.116,4585,1.432,4675,1.695,4755,1.369,4759,1.404,4836,1.422,4865,2.511,5088,1.413,5446,2.177,5456,1.214,5462,6.145,5489,2.558,5491,3.879,5521,1.214,5547,2.625,5610,2.116,5761,5.083,5765,1.442,5766,3.082,5853,1.177,5877,1.714,5878,1.517,5879,1.442,5880,3.659,5881,1.442,5882,1.442,5883,1.442,5884,1.442,5885,1.442,5886,1.442,5887,1.442,5888,1.442,5889,1.442,5890,1.442,5891,4.47,5892,1.442,5893,1.442,5894,1.442,5895,1.432,5896,1.442,5897,1.442,5898,1.442,5899,1.452,5900,1.452,5901,1.452,5902,1.452,5903,2.661,5904,1.452,5905,3.659,5906,2.661,5907,1.452,5908,2.661,5909,1.442,5910,1.422,5911,1.226,5912,1.226,5913,1.226,5914,1.226,5915,1.226,5916,1.226,5917,1.226,5918,1.226,5924,2.173,5925,2.173,5926,2.173,5927,2.066,5928,2.066,5929,2.066,5930,3.984,5931,2.116,5932,2.173,5933,2.173,5970,2.76,5971,2.76,5972,7.608,5973,10.119,5974,4.685,5975,2.76,5976,2.76,5977,2.76,5978,2.76,5979,4.438,5980,2.76,5981,2.76,5982,2.76,5983,6.487,5984,2.555]],["keywords/1167",[]],["title/1168",[769,1163.403]],["content/1168",[]],["keywords/1168",[]],["title/1169",[30,317.855,769,908.26]],["content/1169",[1,3.191,8,6.049,9,2.649,13,6.858,21,2.281,23,7.117,26,4.329,30,1.584,31,2.396,36,2.705,41,2.499,46,1.83,50,3.416,59,3.573,108,7.192,140,1.391,144,2.019,171,2.404,174,4.146,193,1.322,194,2.552,202,2.716,204,2.074,215,2.976,220,8.462,221,2.716,236,1.434,246,2.349,255,4.177,257,4.386,269,2.524,310,2.145,316,3.017,319,2.121,322,2.42,328,2.888,340,2.727,346,3.282,362,5.466,363,2.454,390,2.29,392,3.345,398,5.333,404,2.182,408,5.721,429,5.612,434,3.017,440,2.727,466,3.064,467,1.959,468,3.323,471,3.032,475,1.687,477,5.242,500,6.42,523,4.2,524,2.675,525,6.158,526,4.753,533,2.915,534,2.543,545,3.543,587,2.488,591,2.823,620,2.488,624,2.847,674,4.525,699,2.497,713,2.835,728,4.232,762,3.242,764,2.762,769,7.448,789,2.662,820,6.246,838,2.525,840,4.411,863,4.585,876,2.694,931,3.395,960,2.694,971,2.533,973,3.51,976,4.067,1036,3.097,1048,2.59,1077,3.323,1141,5.043,1198,6.719,1205,3.739,1210,3.302,1214,3.222,1227,2.81,1238,3.185,1253,2.524,1266,6.36,1272,2.835,1385,3.77,1431,7.698,1475,2.62,1480,2.462,1581,4.052,1585,5.769,1680,3.302,1683,7.576,1687,2.81,1838,5.793,1896,2.835,1986,3.203,2002,9.927,2015,4.605,2020,6.203,2037,2.823,2070,2.61,2163,2.987,2199,3.261,2255,3.114,2365,2.81,2387,2.874,2391,3.242,2392,2.874,2551,2.694,2610,4.47,2640,2.874,2777,3.131,2890,2.835,3097,5.974,3457,3.389,3506,3.302,3556,3.222,3629,3.242,3653,2.874,3789,4.489,3794,7.41,3796,3.097,3839,3.345,3842,5.401,4004,8.027,4429,4.546,4585,3.389,4759,3.323,4865,3.242,5088,3.345,5446,4.625,5456,2.874,5489,3.302,5521,2.874,5547,5.578,5761,3.282,5766,4.731,5853,2.786,5879,3.412,5880,7.157,5881,3.412,5882,3.412,5883,3.412,5884,3.412,5885,3.412,5886,3.412,5887,3.412,5888,3.412,5889,3.412,5890,3.412,5891,5.541,5892,3.412,5893,3.412,5894,3.412,5895,3.389,5896,3.412,5897,3.412,5898,3.412,5910,3.367,5911,2.901,5912,2.901,5913,2.901,5914,2.901,5915,2.901,5916,2.901,5917,2.901,5918,2.901]],["keywords/1169",[]],["title/1170",[1683,637.447]],["content/1170",[]],["keywords/1170",[]],["title/1171",[30,317.855,1683,497.65]],["content/1171",[1,4.181,5,4.709,6,5.739,30,3.614,36,4.091,41,3.465,46,2.767,78,5.475,91,4.516,140,2.104,171,3.635,174,5.433,214,11.43,215,5.535,236,2.168,246,3.553,255,3.298,257,4.772,269,3.817,286,3.485,287,2.959,310,3.243,319,3.207,362,4.768,408,7.496,409,5.614,413,5.091,440,4.124,467,2.124,516,11.117,523,8.815,524,5.827,534,3.845,545,2.646,591,6.441,659,7.236,812,3.349,820,5.377,838,3.501,863,6.357,866,6.303,926,5.349,931,4.707,971,3.831,973,4.867,976,5.638,1048,3.917,1205,4.899,1253,3.817,1272,4.288,1475,3.962,1581,5.619,1585,7.559,1624,8.012,1683,9.826,1687,4.25,1838,9.904,1896,4.288,1916,8.546,2015,6.385,2037,4.269,2070,3.947,2365,4.25,2387,4.347,2392,4.347,2551,4.074,2610,8.314,2890,4.288,3097,7.828,3438,6.282,3508,7.395,3526,4.735,3646,8.963,3653,4.347,3789,6.224,3989,6.963,3998,7.779,4429,7.591,5446,6.413,5449,8.018,5456,6.559,5521,4.347,5766,6.559,5853,4.213,5911,4.387,5912,4.387,5913,4.387,5914,4.387,5915,4.387,5916,4.387,5917,4.387,5918,4.387,5954,7.574,5985,13.076]],["keywords/1171",[]],["title/1172",[30,260.685,1683,408.142,3646,646.526]],["content/1172",[1,4.242,9,2.017,21,1.486,30,1.698,36,2.9,41,2.645,46,5.76,48,2.777,59,2.317,68,4.48,78,3.882,85,3.111,90,4.994,108,2.668,140,1.492,141,1.948,144,2.165,146,4.583,171,4.189,174,4.351,187,2.677,199,4.35,215,3.98,221,2.912,223,3.947,230,4.963,235,6.781,236,3.634,239,4.401,246,2.519,255,3.181,257,4.603,264,3.476,269,2.706,286,4.016,287,2.098,297,3.171,310,2.3,316,3.235,319,2.274,323,2.788,345,2.092,354,3.764,358,2.375,362,5.457,363,0.979,398,2.726,408,4.752,429,5.414,438,3.476,440,2.924,464,2.736,467,1.865,478,3.251,505,4.752,511,7.427,516,3.155,519,4.852,520,3.268,523,8.034,524,3.577,526,5.031,533,6.416,534,2.726,545,2.939,566,3.737,591,3.027,634,3.851,668,4.774,692,2.347,699,6.962,732,3.882,797,7.64,815,8.645,820,4.959,838,2.673,856,3.914,862,4.089,863,4.854,866,6.079,882,3.586,907,4.57,931,3.594,944,1.939,947,3.14,949,2.697,960,2.888,971,2.716,973,3.716,976,4.305,1018,2.274,1039,8.93,1045,5.987,1046,5.685,1048,5.702,1057,4.774,1122,4.255,1149,4.35,1154,8.475,1157,6.029,1205,3.924,1212,4.401,1223,8.521,1237,3.634,1253,2.706,1262,4.937,1266,3.251,1272,4.94,1358,7.238,1366,2.949,1385,2.456,1473,5.549,1475,2.809,1581,2.64,1584,7.53,1585,6.054,1683,8.408,1687,3.013,1838,4.813,1896,3.04,2015,4.875,2037,3.027,2070,4.548,2161,3.851,2175,4.57,2311,3.684,2365,3.013,2380,8.964,2387,3.082,2392,3.082,2551,2.888,2610,4.733,2634,5.685,2724,6.486,2890,3.04,3097,6.269,3378,4.852,3439,11.025,3646,10.951,3653,3.082,3789,4.752,4300,6.486,4301,6.486,4302,5.516,4324,5.889,4429,6.079,5368,5.37,5446,4.897,5456,3.082,5465,7.151,5521,3.082,5766,5.008,5817,4.774,5822,6.486,5853,2.987,5911,3.111,5912,3.111,5913,3.111,5914,3.111,5915,3.111,5916,3.111,5917,3.111,5918,3.111,5986,7.004,5987,4.852,5988,4.852,5989,5.889,5990,9.239,5991,6.486,5992,9.985,5993,14.378,5994,7.004,5995,7.004,5996,7.004,5997,7.004,5998,5.37]],["keywords/1172",[]],["title/1173",[30,260.685,866,454.657,1683,408.142]],["content/1173",[1,2.252,9,1.357,21,2.051,30,2.344,36,4.004,46,4.964,59,2.986,78,5.36,108,3.683,140,2.059,146,5.906,171,3.559,174,5.363,187,3.696,199,6.005,215,4.905,221,4.021,230,6.395,235,8.357,236,3.889,239,6.075,246,3.477,255,3.921,257,4.696,269,3.736,286,3.411,287,2.896,297,4.377,310,3.175,319,3.139,323,3.849,358,3.278,362,4.729,398,3.764,408,6.124,438,4.799,440,4.037,467,2.108,490,5.236,511,9.571,516,4.356,523,5.73,524,4.409,526,6.484,534,3.764,545,3.145,591,4.178,634,5.317,669,7.239,692,3.24,699,5.607,815,10.655,820,5.924,838,3.445,862,5.646,863,6.255,866,6.202,931,4.632,944,2.676,947,4.335,949,3.723,971,3.75,973,4.789,976,6.703,1045,5.086,1122,5.875,1149,6.005,1154,10.445,1205,4.836,1237,5.017,1253,3.736,1272,4.197,1366,4.071,1473,7.151,1475,3.879,1581,3.645,1585,7.461,1683,9.31,1687,4.16,1838,6.202,1896,4.197,2015,6.283,2037,4.178,2070,3.864,2161,5.317,2311,5.086,2365,4.16,2387,4.255,2392,4.255,2551,3.988,2610,7.368,2890,4.197,3097,7.726,3646,5.814,3653,4.255,3789,6.124,4324,8.13,4429,6.202,5368,7.414,5446,6.31,5456,4.255,5465,9.216,5521,4.255,5766,6.454,5817,6.591,5853,4.124,5911,4.294,5912,4.294,5913,4.294,5914,4.294,5915,4.294,5916,4.294,5917,4.294,5918,4.294,5987,6.698,5988,6.698,5989,8.13,5990,11.906,5991,8.954]],["keywords/1173",[]],["title/1174",[30,260.685,215,297.634,1683,408.142]],["content/1174",[1,2.72,30,2.832,36,4.837,46,3.272,59,3.434,78,6.474,140,2.488,146,6.794,171,4.299,174,5.993,199,7.254,215,6.367,235,7.956,236,2.563,246,4.201,255,3.733,257,5.401,269,4.513,287,3.499,297,5.288,310,3.835,319,3.792,362,4.184,390,2.488,408,7.044,438,5.797,440,4.877,467,2.241,511,11.008,516,5.262,523,6.591,524,2.906,526,7.458,534,4.546,545,2.994,591,5.047,699,4.465,820,6.496,838,3.962,863,7.195,931,5.327,971,4.53,973,5.508,1045,6.144,1205,5.405,1253,4.513,1475,4.685,1581,4.403,1585,8.338,1683,10.061,1687,5.025,1896,5.07,2015,7.226,2037,5.047,2070,4.667,2311,6.144,2365,5.025,2387,5.139,2392,5.139,2551,4.817,2610,7.015,2890,5.07,3097,8.635,3653,5.139,3789,7.044,4429,7.133,5446,7.258,5456,5.139,5465,10.6,5521,5.139,5766,7.423,5817,7.961,5853,4.981,5911,5.188,5912,5.188,5913,5.188,5914,5.188,5915,5.188,5916,5.188,5917,5.188,5918,5.188,5987,8.092,5988,8.092]],["keywords/1174",[]],["title/1175",[30,260.685,523,420.077,1683,408.142]],["content/1175",[1,2.72,30,2.832,36,4.837,46,3.272,59,3.434,78,6.474,140,2.488,146,6.794,171,4.299,174,5.993,199,7.254,215,5.482,235,7.956,236,2.563,246,4.201,255,3.733,257,5.401,269,4.513,287,3.499,297,5.288,310,3.835,319,3.792,362,4.184,408,7.044,438,5.797,440,4.877,467,2.241,511,11.008,516,5.262,523,7.737,524,2.906,526,7.458,534,4.546,545,2.994,591,5.047,699,4.465,820,6.496,838,3.962,863,7.195,931,5.327,971,4.53,973,5.508,976,4.418,1045,6.144,1205,5.405,1253,4.513,1272,5.07,1475,4.685,1581,4.403,1585,8.338,1683,9.935,1687,5.025,1838,4.939,1896,5.07,2015,7.226,2037,5.047,2070,4.667,2311,6.144,2365,5.025,2387,5.139,2392,5.139,2551,4.817,2610,7.015,2890,5.07,3097,8.635,3653,5.139,3789,7.044,4429,7.133,5446,7.258,5456,5.139,5465,10.6,5521,5.139,5766,7.423,5817,7.961,5853,4.981,5911,5.188,5912,5.188,5913,5.188,5914,5.188,5915,5.188,5916,5.188,5917,5.188,5918,5.188,5987,8.092,5988,8.092]],["keywords/1175",[]],["title/1176",[30,260.685,1683,408.142,3438,683.806]],["content/1176",[1,3.714,9,1.517,30,3.866,36,4.477,46,3.029,59,3.246,78,5.993,140,2.303,146,6.421,171,3.979,174,5.733,199,6.715,215,5.244,235,7.52,236,2.373,246,3.889,255,3.528,257,5.105,269,4.178,287,5.674,297,4.895,310,3.55,319,3.51,362,5.098,408,6.658,414,7.153,438,5.366,440,4.514,467,2.245,511,10.405,516,4.871,523,8.711,524,2.69,526,7.049,534,4.209,545,2.83,591,4.672,699,4.133,737,5.9,746,4.944,812,6.423,820,6.263,838,3.745,863,6.801,931,5.035,971,4.193,973,5.206,1045,5.687,1205,5.17,1253,4.178,1279,9.142,1475,4.337,1581,4.075,1585,7.976,1683,9.76,1687,4.652,1838,4.572,1896,4.693,2015,6.83,2037,4.672,2070,4.321,2311,5.687,2365,4.652,2387,4.758,2392,4.758,2551,4.459,2610,6.63,2890,4.693,3097,8.26,3438,6.876,3440,7.49,3653,4.758,3789,6.658,4429,6.742,4846,8.777,5446,6.86,5456,4.758,5465,10.019,5521,4.758,5766,7.016,5817,7.37,5853,4.611,5911,4.802,5912,4.802,5913,4.802,5914,4.802,5915,4.802,5916,4.802,5917,4.802,5918,4.802,5987,7.49,5988,7.49,5999,10.813]],["keywords/1176",[]],["title/1177",[30,260.685,91,491.623,1683,408.142]],["content/1177",[1,2.662,5,5.449,30,2.771,36,4.733,46,4.652,59,3.381,78,10.842,91,5.226,140,2.434,146,6.688,171,4.207,174,5.92,199,7.099,215,5.415,235,7.832,236,2.509,246,4.111,255,3.674,257,5.317,269,4.417,287,3.424,297,5.175,310,3.753,319,3.711,362,4.133,408,6.934,438,5.672,440,4.772,467,2.226,511,10.837,523,7.642,526,7.342,534,4.449,545,2.948,591,4.939,699,4.369,820,6.431,838,3.901,863,7.083,931,5.244,971,4.433,973,5.422,1045,6.012,1205,5.338,1253,4.417,1475,4.585,1581,6.26,1585,8.236,1683,9.887,1687,4.917,1896,4.961,2015,7.114,2037,4.939,2070,4.567,2311,6.012,2365,4.917,2387,5.029,2392,5.029,2551,4.714,2610,6.906,2890,4.961,3097,8.529,3653,5.029,3657,7.361,3789,6.934,3989,8.056,4063,8.056,4429,7.022,5446,7.145,5456,5.029,5465,10.435,5521,5.029,5766,7.308,5817,11.32,5853,4.875,5911,5.076,5912,5.076,5913,5.076,5914,5.076,5915,5.076,5916,5.076,5917,5.076,5918,5.076,5987,7.918,5988,7.918,6000,8.557]],["keywords/1177",[]],["title/1178",[30,260.685,1624,577.911,1683,408.142]],["content/1178",[1,2.382,9,1.435,30,2.479,36,4.234,46,2.864,59,4.141,78,5.668,140,2.178,146,6.16,171,3.763,174,5.547,199,6.351,215,5.631,235,7.215,236,2.244,246,3.677,255,4.055,257,4.898,269,3.951,287,3.063,297,4.629,310,3.357,319,3.32,359,5.27,362,4.299,390,2.178,398,3.98,408,6.387,438,5.074,440,4.269,467,2.148,486,3.329,511,9.982,516,4.607,523,5.977,524,5.419,526,6.763,534,3.98,545,3.253,591,4.419,699,3.909,749,11.206,820,6.094,838,3.593,863,6.524,898,4.822,931,4.831,971,3.966,973,4.995,976,5.786,1011,5.579,1045,5.379,1205,5.002,1253,3.951,1261,4.652,1272,4.438,1362,10.984,1475,4.102,1581,3.854,1585,7.717,1624,9.851,1683,9.455,1687,4.399,1838,4.324,1896,4.438,1899,7.841,2015,6.553,2037,4.419,2070,4.086,2311,5.379,2365,4.399,2387,4.499,2392,4.499,2551,4.217,2610,6.361,2634,8.3,2682,10.783,2740,5.044,2764,8.053,2890,4.438,3097,7.992,3295,9.469,3653,4.499,3789,6.387,4005,9.469,4429,6.469,5368,7.841,5371,12.418,5446,6.582,5456,4.499,5465,9.612,5521,4.499,5766,6.731,5817,6.97,5853,4.361,5911,4.541,5912,4.541,5913,4.541,5914,4.541,5915,4.541,5916,4.541,5917,4.541,5918,4.541,5987,7.084,5988,7.084,5989,8.598,5990,12.418,6001,8.3]],["keywords/1178",[]],["title/1179",[30,260.685,1683,408.142,1916,616.465]],["content/1179",[1,2.544,9,1.533,30,2.648,36,4.523,46,3.06,59,3.879,78,6.054,140,2.326,146,6.47,171,4.02,174,5.767,199,6.784,215,5.275,235,7.577,236,2.397,246,3.928,255,4.216,257,5.143,269,4.221,287,3.272,297,4.945,310,3.587,319,3.546,359,5.63,362,4.44,398,4.252,408,6.708,438,5.421,440,4.561,467,2.195,511,10.483,516,4.921,523,6.277,524,4.741,526,7.102,534,4.252,545,3.383,591,4.72,699,4.176,820,6.294,838,3.773,863,6.852,931,5.073,971,4.236,973,5.245,976,6.077,1045,5.746,1048,4.332,1205,5.201,1253,4.221,1272,4.741,1475,4.382,1581,4.117,1585,8.024,1683,9.622,1687,4.699,1838,4.619,1896,4.741,1916,9.211,2015,6.882,2037,4.72,2070,4.365,2311,5.746,2365,4.699,2387,4.806,2392,4.806,2551,4.505,2610,6.68,2682,11.324,2890,4.741,3097,8.309,3653,4.806,3789,6.708,4429,6.793,5368,8.376,5446,6.912,5456,7.069,5465,10.094,5521,4.806,5766,7.069,5817,7.445,5853,4.658,5911,4.851,5912,4.851,5913,4.851,5914,4.851,5915,4.851,5916,4.851,5917,4.851,5918,4.851,5987,7.567,5988,7.567,5989,9.184,5990,13.041,6001,8.867]],["keywords/1179",[]],["title/1180",[30,220.945,214,698.812,215,252.261,1683,345.923]],["content/1180",[1,2.322,6,5.78,9,1.399,30,2.417,36,4.129,41,2.317,46,2.793,59,3.056,78,5.526,140,2.124,144,3.081,146,6.045,171,3.669,174,5.464,199,6.192,214,15.404,215,6.504,235,7.079,236,2.188,246,3.586,255,3.994,257,4.806,269,3.853,287,2.986,297,4.514,304,12.185,310,3.274,319,3.237,362,4.245,390,2.124,398,3.881,408,6.268,423,3.563,438,4.948,440,4.163,467,2.13,511,9.795,516,4.492,520,4.653,523,7.053,524,3.735,526,6.636,534,3.881,545,3.205,556,2.322,565,5.04,591,4.308,671,6.596,699,3.811,794,5.877,815,5.995,820,6.017,838,3.526,856,5.572,863,6.402,931,4.74,971,3.867,973,4.901,976,5.678,1045,5.245,1205,4.927,1253,3.853,1262,7.028,1272,4.328,1437,6.915,1475,4,1581,3.758,1585,7.601,1683,9.39,1687,4.289,1896,4.328,2015,6.43,2037,4.308,2070,3.984,2163,4.559,2311,5.245,2365,4.289,2387,4.387,2392,4.387,2551,4.112,2610,6.242,2634,8.093,2890,4.328,3097,7.872,3293,9.233,3653,4.387,3789,6.268,3802,15.821,4429,6.347,5368,7.645,5371,8.093,5446,6.458,5456,4.387,5465,9.432,5521,4.387,5766,6.605,5817,6.796,5853,4.252,5911,4.428,5912,4.428,5913,4.428,5914,4.428,5915,4.428,5916,4.428,5917,4.428,5918,4.428,5963,8.093,5987,6.907,5988,6.907,5990,12.185,6002,9.971,6003,9.971]],["keywords/1180",[]],["title/1181",[30,260.685,1683,408.142,5985,943.268]],["content/1181",[1,1.999,9,2.308,27,3.365,30,2.08,36,3.553,46,2.404,57,5.599,59,2.724,78,4.756,140,1.828,146,6.623,169,4.452,171,3.158,174,4.977,199,5.329,203,5.849,215,4.552,235,6.31,236,1.883,246,4.812,255,3.639,257,4.284,269,3.316,287,4.008,292,4.068,297,3.885,310,2.817,319,2.786,357,3.212,362,4.255,390,1.828,398,6.401,408,8.908,438,4.258,440,3.583,467,2.02,475,2.217,477,4.184,487,3.885,501,5.27,511,8.731,523,7.256,526,5.915,534,3.34,545,3.574,591,3.708,625,3.811,678,4.208,699,3.28,804,1.891,820,6.032,838,3.142,863,5.706,931,4.225,968,4.964,971,3.328,973,4.368,1045,4.514,1048,5.306,1120,5.347,1170,5.942,1205,4.488,1227,3.692,1237,4.452,1253,3.316,1261,3.904,1437,2.953,1475,3.442,1480,3.234,1581,3.234,1585,6.924,1610,3.776,1683,9.512,1686,9.6,1687,3.692,1895,8.211,1896,3.725,2015,5.731,2028,5.849,2037,3.708,2070,3.429,2311,4.514,2365,3.692,2387,3.776,2392,3.776,2551,3.539,2610,6.838,2675,4.394,2890,3.725,3097,7.171,3526,7.884,3550,11.25,3616,6.58,3653,3.776,3779,4.311,3789,5.587,3816,8.262,4083,6.942,4429,5.657,4755,4.258,4836,4.423,5446,5.756,5456,3.776,5465,8.407,5521,3.776,5761,9.331,5765,4.482,5766,7.236,5817,9.12,5853,3.66,5899,4.514,5900,4.514,5901,4.514,5902,4.514,5903,7.038,5904,4.514,5905,4.482,5906,7.038,5907,4.514,5908,7.038,5909,4.482,5911,3.811,5912,3.811,5913,3.811,5914,3.811,5915,3.811,5916,3.811,5917,3.811,5918,3.811,5985,11.737,5987,5.944,5988,5.944,6004,13.38,6005,8.581,6006,8.581,6007,11.737]],["keywords/1181",[]],["title/1182",[6,350.884,30,220.945,523,356.039,1683,345.923]],["content/1182",[1,2.672,6,6.411,30,2.781,36,4.75,46,3.213,59,3.389,78,6.358,140,2.443,146,6.705,171,4.222,174,5.932,199,7.124,215,5.426,235,7.852,236,2.518,246,4.125,255,3.684,257,5.331,269,4.433,287,3.436,297,5.193,310,3.767,319,3.724,362,4.142,408,8.98,438,5.693,440,4.789,467,2.229,511,10.865,516,5.168,523,7.658,526,7.361,534,4.465,545,2.956,591,4.957,699,4.385,820,6.442,838,3.911,863,7.101,926,6.211,931,5.258,971,4.449,973,5.436,976,4.339,1045,6.034,1205,5.349,1253,4.433,1475,4.601,1581,4.324,1585,8.253,1683,10.024,1687,4.935,1838,4.85,1896,4.979,2015,7.132,2037,4.957,2070,4.584,2311,6.034,2365,4.935,2387,5.047,2392,5.047,2551,4.731,2610,6.924,2890,4.979,3097,8.546,3653,5.047,3789,6.952,3998,9.034,4429,7.041,5446,7.164,5456,5.047,5465,10.462,5521,5.047,5766,7.327,5817,7.819,5853,4.892,5911,5.095,5912,5.095,5913,5.095,5914,5.095,5915,5.095,5916,5.095,5917,5.095,5918,5.095,5987,7.947,5988,7.947]],["keywords/1182",[]],["title/1183",[30,260.685,591,464.649,1683,408.142]],["content/1183",[1,2.73,30,2.842,36,4.855,41,2.725,46,3.284,59,3.443,78,6.498,140,2.497,146,6.812,171,4.314,174,6.006,199,7.281,215,5.493,235,7.977,236,2.573,246,4.216,255,3.742,257,5.415,269,4.53,287,3.511,297,5.307,310,3.849,319,3.806,362,4.193,408,7.062,413,6.042,438,5.818,440,4.895,467,2.243,511,11.037,523,6.608,524,2.917,526,7.477,534,4.563,545,3.002,591,7.309,659,8.587,699,4.481,820,6.507,838,3.973,863,7.214,931,5.341,971,4.546,973,5.522,1045,6.166,1205,5.416,1253,4.53,1475,4.703,1581,4.419,1585,8.355,1683,9.794,1687,5.043,1896,5.088,2015,7.245,2037,5.066,2070,4.684,2311,6.166,2365,5.043,2387,5.158,2392,5.158,2551,4.835,2610,7.033,2890,5.088,3097,8.652,3653,5.158,3789,7.062,4429,7.152,5446,7.277,5449,9.516,5456,5.158,5465,10.628,5521,5.158,5766,7.443,5817,7.99,5853,5,5911,5.207,5912,5.207,5913,5.207,5914,5.207,5915,5.207,5916,5.207,5917,5.207,5918,5.207,5987,8.121,5988,8.121]],["keywords/1183",[]],["title/1184",[377,930.848]],["content/1184",[]],["keywords/1184",[]],["title/1185",[30,317.855,377,726.706]],["content/1185",[1,2.923,23,4.731,30,4.306,32,6.648,34,5.767,36,5.197,46,3.516,59,2.555,140,2.673,171,4.619,174,6.238,236,2.754,246,4.514,255,3.929,257,5.686,269,4.85,286,4.428,310,4.121,319,4.074,362,4.355,377,13.108,379,7.072,380,8.04,409,7.133,429,3.73,440,5.24,467,2.289,523,4.903,534,4.885,545,3.152,591,5.423,820,6.173,838,4.171,863,7.574,931,5.608,971,4.867,973,5.798,1205,5.625,1253,4.85,1475,5.034,1480,4.731,1581,6.694,1585,8.678,1683,8.506,1687,5.399,1896,5.448,2015,7.607,2037,5.423,2070,5.015,2365,5.399,2387,5.522,2392,5.522,2551,5.176,2610,9.318,2890,5.448,3097,8.987,3508,9.396,3653,5.522,3789,7.415,4429,7.509,5446,7.64,5456,5.522,5521,5.522,5766,7.814,5853,5.352,5911,5.574,5912,5.574,5913,5.574,5914,5.574,5915,5.574,5916,5.574,5917,5.574,5918,5.574,5954,9.623]],["keywords/1185",[]],["title/1186",[30,260.685,377,595.999,380,486.79]],["content/1186",[1,2.842,8,3.875,9,2.67,13,5.415,21,1.62,23,5.745,26,3.075,27,1.712,30,1.059,31,1.602,36,1.808,41,1.775,46,1.223,50,2.537,59,3.102,85,1.939,96,2.297,108,5.805,122,0.976,140,0.93,144,2.36,169,2.266,171,1.607,174,3.079,175,7.449,193,0.884,194,1.706,202,1.816,204,1.387,215,2.816,220,6.681,221,1.816,236,0.958,246,1.57,248,3.3,251,1.772,255,3.63,257,3.257,269,1.687,287,3.655,292,2.071,310,1.434,316,2.017,319,1.418,322,1.618,328,3.375,332,2.208,340,1.823,346,2.194,357,1.635,362,5.181,363,3.271,377,10.549,379,4.303,380,6.275,381,7.617,383,2.55,385,9.815,390,2.599,392,2.236,398,6.387,404,1.459,408,5.095,421,2.313,429,4.53,434,2.017,440,1.823,442,2.599,466,2.048,467,2.006,468,2.222,471,2.027,475,4.72,477,4.96,478,2.027,481,6.763,487,1.977,500,4.933,523,4.767,524,3.792,525,5.375,526,3.375,533,3.407,534,1.7,540,2.728,545,3.696,587,1.663,591,4.396,600,1.091,620,1.663,624,2.694,625,1.939,648,2.777,678,2.142,688,2.194,692,1.463,695,3.136,699,1.669,713,1.895,728,3.005,762,2.167,764,1.846,773,3.078,789,1.779,800,4.652,804,0.962,812,1.481,820,5.901,838,1.793,840,3.275,863,3.256,876,1.801,931,2.411,960,1.801,971,1.694,973,2.493,976,2.888,1008,3.545,1024,8.334,1036,2.071,1048,4.035,1077,2.222,1120,3.051,1141,3.582,1144,3.025,1170,3.391,1198,4.989,1205,2.777,1208,1.823,1210,2.208,1214,2.154,1215,2.017,1227,1.879,1238,2.129,1253,2.95,1261,3.474,1266,4.723,1272,1.895,1385,2.677,1431,5.915,1437,1.503,1475,5.56,1480,2.878,1574,3.025,1581,2.878,1585,4.284,1610,1.921,1644,1.291,1677,3.582,1680,2.208,1683,6.228,1686,6.608,1687,1.879,1838,4.302,1895,5.08,1896,1.895,1986,2.142,2002,8.397,2015,3.271,2020,4.606,2037,1.887,2070,1.745,2163,1.997,2176,3.078,2199,2.18,2238,3.199,2255,2.082,2365,1.879,2387,1.921,2391,2.167,2392,1.921,2498,4.797,2551,1.801,2610,4.23,2631,3.439,2636,3.078,2640,1.921,2675,2.236,2777,2.093,2890,1.895,3097,4.436,3448,2.44,3457,2.266,3506,2.208,3517,2.931,3526,4.877,3556,2.154,3628,2.976,3629,2.167,3653,1.921,3779,2.194,3789,3.188,3794,5.694,3796,2.071,3816,5.111,3839,2.236,3842,3.836,4004,7.704,4083,3.962,4123,2.889,4144,3.136,4248,3.348,4429,3.229,4585,2.266,4675,2.682,4755,2.167,4759,2.222,4836,2.251,4860,11.41,4865,2.167,5088,2.236,5364,5.716,5446,3.285,5456,1.921,5489,2.208,5521,1.921,5546,3.439,5547,3.962,5761,6.13,5765,2.281,5766,4.477,5853,1.862,5877,2.712,5878,2.401,5879,2.281,5880,5.315,5881,2.281,5882,2.281,5883,2.281,5884,2.281,5885,2.281,5886,2.281,5887,2.281,5888,2.281,5889,2.281,5890,2.281,5891,3.935,5892,2.281,5893,2.281,5894,2.281,5895,2.266,5896,2.281,5897,2.281,5898,2.281,5899,2.297,5900,2.297,5901,2.297,5902,2.297,5903,4.016,5904,2.297,5905,3.989,5906,4.016,5907,2.297,5908,4.016,5909,2.281,5910,2.251,5911,1.939,5912,1.939,5913,1.939,5914,1.939,5915,1.939,5916,1.939,5917,1.939,5918,1.939,5919,5.382,5934,3.199,5950,3.348,6008,6.698,6009,3.439]],["keywords/1186",[]],["title/1187",[30,260.685,377,595.999,379,605.896]],["content/1187",[1,2.837,8,3.867,9,2.667,13,5.405,21,1.616,23,5.736,26,3.067,27,1.708,30,1.847,31,1.597,36,1.803,41,1.77,46,1.22,50,2.531,59,3.335,85,1.934,96,2.291,108,5.796,122,0.973,140,0.928,144,2.354,169,2.26,171,1.603,174,3.072,175,7.436,193,0.881,194,1.701,202,1.811,204,1.383,215,2.81,220,6.67,221,1.811,236,0.956,246,1.566,248,3.292,251,1.768,255,3.625,257,3.25,269,1.683,287,3.648,292,2.065,310,1.43,316,2.011,319,1.414,322,1.614,328,3.367,332,2.202,340,1.818,346,2.188,357,1.63,362,5.178,363,3.268,377,10.537,379,5.721,380,4.596,381,7.601,383,2.543,385,9.799,390,2.594,392,2.23,398,6.377,404,1.455,408,5.085,421,2.307,429,4.523,434,2.011,440,1.818,442,2.592,466,2.043,467,2.005,468,2.216,471,2.022,475,4.715,477,4.95,478,2.022,481,6.751,487,1.972,500,4.924,523,4.758,524,3.786,525,5.366,526,3.367,533,3.399,534,1.695,540,2.722,545,3.693,587,1.659,591,4.387,600,1.088,620,1.659,624,2.689,625,1.934,648,2.77,678,2.136,688,2.188,692,1.459,695,3.127,699,1.665,713,1.89,728,2.998,762,2.161,764,1.841,773,3.07,789,1.775,800,4.642,804,0.96,812,1.477,820,5.894,838,1.789,840,3.268,863,3.249,876,1.796,931,2.405,960,1.796,971,1.689,973,2.487,976,2.881,1008,3.536,1024,8.319,1036,2.065,1048,4.026,1077,2.216,1120,3.044,1141,3.573,1144,3.017,1170,3.383,1198,4.979,1205,2.771,1208,1.818,1210,2.202,1214,2.148,1215,2.013,1227,1.874,1238,2.123,1253,2.943,1261,3.465,1266,4.713,1272,1.89,1385,2.671,1431,5.904,1437,1.499,1475,5.55,1480,3.827,1574,3.017,1581,2.871,1585,4.275,1610,1.916,1644,1.288,1677,3.573,1680,2.202,1683,6.219,1686,6.596,1687,1.874,1838,4.293,1895,5.069,1896,1.89,1986,2.136,2002,8.387,2015,3.263,2020,4.596,2037,1.882,2070,1.74,2163,1.991,2176,3.07,2199,2.174,2238,3.19,2255,2.076,2365,1.874,2387,1.916,2391,2.161,2392,1.916,2498,4.786,2551,1.796,2610,4.221,2631,3.43,2636,3.07,2640,1.916,2675,2.23,2777,2.088,2890,1.89,3097,4.427,3448,2.434,3457,2.26,3506,2.202,3517,2.923,3526,4.867,3556,2.148,3628,2.968,3629,2.161,3653,1.916,3779,2.188,3789,3.18,3794,5.683,3796,2.065,3816,5.1,3839,2.23,3842,3.827,4004,7.692,4083,3.952,4123,2.881,4144,3.127,4248,3.339,4429,3.221,4585,2.26,4675,2.675,4755,2.161,4759,2.216,4836,2.245,4860,11.392,4865,2.161,5088,2.23,5364,5.703,5446,3.277,5456,1.916,5489,2.202,5521,1.916,5546,3.43,5547,3.952,5761,6.118,5765,2.275,5766,4.467,5853,1.857,5877,2.705,5878,2.395,5879,2.275,5880,5.304,5881,2.275,5882,2.275,5883,2.275,5884,2.275,5885,2.275,5886,2.275,5887,2.275,5888,2.275,5889,2.275,5890,2.275,5891,3.926,5892,2.275,5893,2.275,5894,2.275,5895,2.26,5896,2.275,5897,2.275,5898,2.275,5899,2.291,5900,2.291,5901,2.291,5902,2.291,5903,4.007,5904,2.291,5905,3.979,5906,4.007,5907,2.291,5908,4.007,5909,2.275,5910,2.245,5911,1.934,5912,1.934,5913,1.934,5914,1.934,5915,1.934,5916,1.934,5917,1.934,5918,1.934,5919,5.369,5934,3.19,5950,3.339,6008,6.682,6009,3.43]],["keywords/1187",[]],["title/1188",[30,260.685,32,402.5,377,595.999]],["content/1188",[1,2.278,6,4.245,8,2.565,9,2.57,13,5.779,15,0.986,21,1.029,22,2.886,23,4.155,26,1.952,27,1.033,30,2.94,31,1.778,32,3.66,34,2.228,36,1.091,38,2.274,41,4.541,46,5.13,50,1.679,58,1.755,59,3.728,61,6.321,63,1.84,68,1.908,83,1.165,85,3.714,90,0.915,96,1.386,108,4.199,120,3.083,122,1.869,140,0.561,144,1.498,157,1.187,164,1.396,169,1.367,171,0.97,174,2.959,175,5.256,193,0.533,194,1.894,202,1.095,203,1.796,204,1.539,209,1.553,215,2.707,220,4.714,221,1.095,230,4.807,235,6.976,236,4.366,239,4.232,243,2.606,246,0.948,248,2.91,251,1.069,252,3.359,255,3.273,256,3.164,257,3.883,259,1.242,260,1.229,263,2.516,264,1.307,268,1.636,269,1.018,273,3.498,274,2.162,285,1.1,287,2.929,290,1.719,292,1.249,297,1.193,306,1.636,310,0.865,316,1.217,319,1.574,322,0.976,326,1.27,328,2.143,329,1.574,332,1.332,340,1.1,346,1.324,357,0.986,358,0.893,359,2.499,362,4.749,363,3.021,377,6.722,379,3.795,380,2.195,381,5.042,383,1.538,385,7.1,390,2.348,392,1.349,398,6.296,404,1.62,408,6.176,417,0.901,421,1.396,423,3.494,429,4.397,434,2.239,440,1.1,442,4.009,443,0.93,466,1.236,467,1.937,468,1.34,471,1.223,475,3.821,477,4.077,478,1.223,481,4.635,487,1.193,489,1.138,500,3.38,513,1.349,520,3.143,521,1.416,523,3.82,524,2.433,525,5.428,526,2.143,533,3.731,534,1.025,540,1.733,545,3.076,554,0.918,556,0.614,568,1.406,587,1.847,591,2.91,600,3.031,603,1.887,609,1.386,613,0.779,620,1.847,624,2.59,625,1.17,641,1.538,642,1.568,648,1.675,651,1.472,656,2.978,661,0.821,678,1.292,681,1.825,688,1.324,692,0.883,695,1.892,699,5.012,713,1.144,717,1.93,728,1.908,739,3.322,746,2.217,762,1.307,764,1.114,773,1.857,787,6.567,789,1.074,800,3.079,804,1.068,812,0.893,820,5.852,836,0.839,838,1.139,840,2.168,842,0.846,848,1.984,862,1.538,863,2.068,866,5.918,868,1.553,876,1.087,878,6.698,886,1.124,889,0.704,894,6.834,931,1.531,949,3.219,960,1.087,971,1.022,973,1.583,976,2.547,1008,2.251,1018,0.855,1024,5.88,1033,5.464,1036,1.249,1045,1.386,1048,6.153,1056,3.359,1062,3.011,1077,1.34,1120,1.937,1141,2.274,1144,1.825,1154,7.149,1158,1.524,1170,3.714,1198,3.303,1205,1.838,1208,1.1,1210,1.332,1213,3.046,1214,1.3,1215,1.281,1227,2.086,1237,2.516,1238,1.285,1253,1.874,1256,2.831,1261,3.804,1263,1.675,1266,3.127,1272,2.923,1338,1.825,1344,1.367,1350,3.552,1373,4.175,1385,1.7,1431,4.054,1437,0.907,1475,3.923,1480,1.828,1573,2.364,1574,1.825,1581,3.152,1585,2.836,1610,1.159,1611,3.208,1613,0.779,1624,4.494,1644,0.779,1677,2.274,1680,1.332,1683,6.579,1686,4.662,1687,1.133,1736,3.083,1838,3.536,1895,3.363,1896,1.144,1913,1.675,1916,3.861,1954,2.516,1986,1.292,1992,1.697,2002,6.431,2015,2.077,2020,3.049,2037,1.138,2070,1.937,2163,1.205,2176,1.857,2199,1.315,2236,1.636,2255,2.311,2283,1.892,2321,3.417,2328,1.655,2365,1.133,2387,1.159,2391,1.307,2392,1.159,2498,3.046,2551,1.087,2578,1.524,2610,2.8,2636,1.857,2640,1.159,2675,1.349,2709,3.255,2777,4.008,2890,1.144,3097,2.937,3315,1.892,3448,1.472,3457,1.367,3506,2.451,3517,1.768,3526,3.228,3555,1.857,3556,1.3,3561,3.63,3620,1.618,3628,1.796,3629,1.307,3646,1.584,3653,1.159,3779,1.324,3784,3.481,3789,2.024,3794,3.902,3796,2.299,3816,3.383,3839,1.349,3842,2.436,3868,5.908,3871,2.311,3893,1.524,3939,1.972,3995,2.311,3996,2.311,3997,5.164,3998,2.075,3999,2.311,4004,6.628,4083,2.516,4144,1.892,4199,1.972,4228,3.255,4282,3.63,4429,2.05,4556,2.02,4585,1.367,4675,2.978,4755,1.307,4759,1.34,4836,1.358,4860,8.253,4865,2.406,5088,1.349,5364,3.63,5446,2.086,5456,1.159,5489,2.451,5491,3.718,5521,1.159,5546,2.075,5547,2.516,5610,2.02,5761,4.201,5765,1.376,5766,2.963,5853,1.124,5877,1.636,5878,1.449,5879,1.376,5880,3.518,5881,1.376,5882,1.376,5883,1.376,5884,1.376,5885,1.376,5886,1.376,5887,1.376,5888,1.376,5889,1.376,5890,1.376,5891,4.31,5892,1.376,5893,1.376,5894,1.376,5895,1.367,5896,1.376,5897,1.376,5898,1.376,5899,1.386,5900,1.386,5901,1.386,5902,1.386,5903,2.55,5904,1.386,5905,4.368,5906,2.55,5907,1.386,5908,2.55,5909,1.376,5910,1.358,5911,1.17,5912,1.17,5913,1.17,5914,1.17,5915,1.17,5916,1.17,5917,1.17,5918,1.17,5920,2.311,5921,2.311,5924,2.075,5925,2.075,5926,2.075,5927,1.972,5928,1.972,5929,1.972,5930,3.818,5931,2.02,5932,2.075,5933,2.075,5934,1.93,5935,4.49,5936,2.44,5937,2.215,5938,2.215,5950,2.02,6008,4.253,6009,2.075]],["keywords/1188",[]],["title/1189",[1622,843.665]],["content/1189",[]],["keywords/1189",[]],["title/1190",[30,317.855,1622,658.643]],["content/1190",[1,1.931,9,1.163,15,3.104,19,3.276,23,4.91,30,4.42,32,3.104,36,3.434,41,1.927,46,3.649,51,4.246,59,3.711,63,4.944,140,1.766,141,2.306,144,2.563,164,4.392,171,3.052,174,4.869,188,4.02,193,2.636,194,3.239,215,4.453,236,3.531,246,2.982,251,3.365,255,2.882,257,4.17,269,3.204,273,3.757,286,2.925,310,2.723,319,2.692,355,3.158,358,6.718,359,4.274,362,4.444,363,2.249,380,5.897,382,3.83,390,2.774,409,4.712,413,4.274,423,2.963,440,3.462,467,1.994,475,4.709,504,8.284,506,4.841,513,4.246,516,3.736,523,3.239,524,4.003,526,3.665,534,3.227,545,3.236,581,4.193,587,3.158,591,3.583,592,6.67,600,2.072,603,7.712,605,4.634,624,2.196,661,2.583,702,7.163,742,7.053,743,3.158,820,4.819,824,1.838,830,4.754,836,5.122,838,3.059,863,5.555,868,4.887,889,2.216,921,6.21,929,7.678,931,4.113,971,3.216,973,4.253,984,3.89,1100,8.284,1120,5.205,1163,4.524,1205,4.391,1208,3.462,1215,4.251,1239,6.972,1253,3.204,1366,3.491,1385,4.567,1470,4.302,1475,3.326,1581,8.832,1585,6.774,1612,10.498,1613,2.452,1622,9.158,1624,7.001,1644,2.452,1683,6.92,1687,3.567,1896,3.599,1954,4.302,2002,7.393,2015,5.58,2037,3.583,2056,6.53,2070,3.313,2365,3.567,2387,3.649,2392,3.649,2551,3.42,2578,4.797,2610,7.58,2640,5.732,2685,7.274,2738,5.566,2890,3.599,3097,7.015,3415,9.542,3460,4.634,3508,6.208,3526,3.975,3653,3.649,3789,5.439,3974,6.358,4429,5.508,5446,5.604,5456,3.649,5521,3.649,5766,5.732,5853,3.536,5911,3.683,5912,3.683,5913,3.683,5914,3.683,5915,3.683,5916,3.683,5917,3.683,5918,3.683,5954,6.358,6010,7.678]],["keywords/1190",[]],["title/1191",[30,260.685,592,550.571,1622,540.178]],["content/1191",[1,2.762,8,4.517,9,2.687,13,6.126,21,1.928,23,5.91,26,3.66,27,2.095,30,1.296,31,1.96,36,2.213,41,2.112,46,1.497,50,2.956,59,2.847,61,2.576,85,4.036,108,6.496,140,1.138,144,2.809,169,2.773,171,1.967,174,3.588,193,1.081,194,2.088,202,2.222,204,1.697,215,3.282,220,7.558,221,2.222,236,1.173,246,1.922,255,4.025,257,3.796,269,2.065,287,1.601,292,2.534,310,1.755,316,2.468,319,1.735,322,1.98,328,2.362,340,2.231,346,2.684,357,2,358,4.02,362,5.289,363,2.192,390,2.979,392,2.736,398,6.638,404,1.785,408,5.841,429,5.069,434,2.468,440,2.231,464,3.55,466,2.507,467,1.811,468,2.719,471,2.481,475,2.348,477,5.781,487,2.419,500,5.655,523,5.465,524,3.48,525,5.425,526,4.017,533,2.384,534,2.08,545,3.671,556,1.245,587,3.462,591,2.309,592,8.732,620,2.035,624,2.407,678,2.621,699,2.043,711,2.962,713,2.319,728,3.577,762,2.652,764,2.259,789,2.177,800,2.443,804,1.178,820,6.194,838,2.134,840,3.817,842,1.715,863,3.876,876,2.204,931,2.87,960,2.204,971,2.072,973,2.967,976,4.485,1036,2.534,1048,4.702,1077,2.719,1120,4.738,1141,4.263,1170,4.036,1198,5.815,1205,3.236,1208,2.231,1210,2.701,1214,2.636,1227,2.299,1238,2.605,1253,2.065,1261,2.431,1266,5.504,1272,5.147,1385,3.186,1431,6.781,1437,1.839,1475,2.144,1480,3.425,1487,9.852,1489,3.702,1581,3.425,1585,4.992,1610,2.351,1622,2.684,1680,2.701,1683,6.906,1686,7.475,1687,2.299,1838,5.014,1895,5.92,1896,2.319,1986,2.621,2002,9.177,2015,3.893,2020,5.368,2037,2.309,2070,2.135,2163,2.443,2199,2.668,2255,2.547,2365,2.299,2387,2.351,2391,2.652,2392,2.351,2551,2.204,2610,4.93,2640,2.351,2675,2.736,2777,2.562,2890,2.319,3097,5.17,3457,2.773,3506,2.701,3526,5.684,3556,2.636,3629,2.652,3653,2.351,3779,2.684,3789,3.794,3794,6.528,3796,2.534,3816,5.957,3839,2.736,3842,4.565,4004,7.071,4083,4.715,4429,3.843,4585,2.773,4755,2.652,4759,2.719,4836,2.754,4865,2.652,5088,2.736,5446,3.91,5456,2.351,5489,2.701,5521,2.351,5547,4.715,5626,8.415,5761,7.027,5765,2.791,5766,5.217,5853,2.279,5878,2.938,5879,2.791,5880,6.194,5881,2.791,5882,2.791,5883,2.791,5884,2.791,5885,2.791,5886,2.791,5887,2.791,5888,2.791,5889,2.791,5890,2.791,5891,4.684,5892,2.791,5893,2.791,5894,2.791,5895,2.773,5896,2.791,5897,2.791,5898,2.791,5899,2.811,5900,2.811,5901,2.811,5902,2.811,5903,4.78,5904,2.811,5905,2.791,5906,4.78,5907,2.811,5908,4.78,5909,2.791,5910,2.754,5911,2.373,5912,2.373,5913,2.373,5914,2.373,5915,2.373,5916,2.373,5917,2.373,5918,2.373]],["keywords/1191",[]],["title/1192",[30,260.685,1622,540.178,3415,787.665]],["content/1192",[1,2.721,8,4.451,9,2.663,13,6.054,19,2.07,21,1.896,23,5.841,26,3.598,27,2.054,30,1.27,31,1.922,36,2.169,41,2.077,46,1.467,50,2.913,59,2.811,108,6.428,140,1.116,144,1.619,164,2.775,169,2.718,171,1.928,174,3.536,193,1.06,194,2.047,202,2.178,204,1.663,215,2.473,220,7.47,221,2.178,236,1.15,246,1.884,255,3.986,257,3.741,269,2.024,287,1.569,292,2.484,310,1.72,316,2.419,319,1.701,322,1.941,328,2.316,340,2.187,346,2.632,357,1.961,362,5.383,363,3.032,390,2.488,392,2.682,398,6.568,404,1.75,408,5.765,429,5.016,434,2.419,440,2.187,466,2.457,467,1.796,468,2.665,471,2.432,475,4.654,477,5.697,487,2.372,500,5.582,506,3.059,523,5.394,524,2.907,525,5.355,526,3.95,533,2.338,534,2.039,545,3.753,587,1.996,591,2.264,603,2.039,605,2.927,620,1.996,624,3.657,661,1.632,678,2.569,699,2.003,713,2.274,728,3.517,762,2.6,764,2.215,789,2.135,800,4.085,804,1.154,812,1.776,820,6.146,838,2.099,840,3.761,863,3.811,876,2.161,931,2.822,960,2.161,971,2.032,973,2.917,976,4.419,1036,2.484,1048,4.633,1077,2.665,1120,3.571,1141,4.192,1163,2.858,1170,3.969,1198,5.73,1205,3.189,1210,2.648,1214,2.584,1215,1.384,1227,2.254,1238,2.554,1253,2.024,1261,2.383,1266,5.424,1272,5.072,1385,4.097,1431,6.694,1437,1.803,1470,2.718,1475,2.101,1480,3.368,1581,4.404,1585,4.919,1610,2.305,1613,1.549,1622,5.87,1644,1.549,1680,2.648,1683,6.839,1686,7.388,1687,2.254,1838,4.94,1895,5.834,1896,2.274,1986,2.569,2002,9.102,2015,3.827,2020,5.29,2037,2.264,2056,4.126,2070,2.093,2163,2.395,2199,2.616,2255,2.497,2365,2.254,2387,2.305,2391,2.6,2392,2.305,2551,2.161,2610,4.858,2640,2.305,2675,2.682,2738,3.516,2777,2.511,2890,2.274,3097,5.094,3415,6.546,3457,2.718,3460,2.927,3506,2.648,3526,5.601,3556,2.584,3629,2.6,3653,2.305,3779,2.632,3789,3.731,3794,6.443,3796,2.484,3816,5.87,3839,2.682,3842,4.489,4004,6.98,4083,4.636,4429,3.778,4585,2.718,4675,3.217,4755,2.6,4759,2.665,4836,2.7,4865,2.6,5088,2.682,5446,3.844,5456,2.305,5489,2.648,5521,2.305,5547,4.636,5761,6.936,5765,2.737,5766,5.141,5853,2.234,5877,3.254,5878,2.881,5879,2.737,5880,6.104,5881,2.737,5882,2.737,5883,2.737,5884,2.737,5885,2.737,5886,2.737,5887,2.737,5888,2.737,5889,2.737,5890,2.737,5891,4.605,5892,2.737,5893,2.737,5894,2.737,5895,2.718,5896,2.737,5897,2.737,5898,2.737,5899,2.756,5900,2.756,5901,2.756,5902,2.756,5903,4.7,5904,2.756,5905,2.737,5906,4.7,5907,2.756,5908,4.7,5909,2.737,5910,2.7,5911,2.327,5912,2.327,5913,2.327,5914,2.327,5915,2.327,5916,2.327,5917,2.327,5918,2.327,5919,6.298]],["keywords/1192",[]],["title/1193",[30,260.685,1622,540.178,2002,494.096]],["content/1193",[1,3.178,8,4.392,9,2.642,13,5.991,21,1.867,23,5.78,26,3.544,27,2.018,29,3.853,30,2.134,31,1.888,36,2.131,41,2.045,46,1.442,50,2.875,59,2.778,108,6.366,140,1.096,144,1.59,169,2.67,171,1.894,174,3.489,193,1.781,194,2.01,202,2.14,204,1.634,215,2.436,218,2.601,220,7.392,221,2.14,236,1.129,246,1.851,255,4.349,257,3.691,260,2.401,269,1.989,287,1.541,292,2.44,310,1.69,316,2.377,319,1.671,322,1.907,328,2.275,340,2.149,346,2.585,357,1.926,362,5.247,363,2.144,390,2.456,392,2.635,398,7.652,404,1.719,408,5.697,423,1.839,429,4.968,434,2.377,440,2.149,466,2.414,467,1.782,468,2.618,471,2.389,475,2.273,477,5.622,482,6.197,487,3.984,500,5.517,523,5.331,524,2.869,525,5.292,526,3.89,533,2.296,534,2.003,545,4.062,587,1.96,591,2.224,592,5.904,620,1.96,624,2.331,678,2.524,699,1.967,713,2.234,728,3.464,741,3.358,762,2.554,764,2.176,789,2.097,800,2.353,804,2.541,808,2.401,820,6.103,838,2.708,840,3.712,863,3.753,876,2.122,931,2.779,960,2.122,971,1.996,973,2.873,976,4.361,1036,2.44,1048,4.572,1077,2.618,1120,4.607,1141,4.128,1170,3.909,1198,5.654,1205,3.147,1208,3.674,1210,2.601,1214,2.539,1227,2.214,1238,2.509,1253,1.989,1261,2.341,1266,5.352,1272,5.005,1366,3.705,1385,3.086,1431,6.615,1437,1.771,1475,2.064,1480,3.317,1581,5.143,1585,4.855,1610,2.264,1622,4.421,1680,2.601,1683,6.779,1686,7.31,1687,2.214,1838,4.875,1895,5.757,1896,2.234,1986,2.524,2002,9.906,2015,3.77,2020,5.22,2037,2.224,2070,3.517,2163,2.353,2199,2.569,2255,2.453,2365,2.214,2387,2.264,2391,2.554,2392,2.264,2551,2.122,2610,4.794,2640,2.264,2675,2.635,2777,2.467,2890,2.234,3027,3.127,3097,5.027,3457,2.67,3506,2.601,3526,5.527,3556,2.539,3578,12.243,3629,2.554,3653,2.264,3779,2.585,3789,3.674,3794,6.368,3796,2.44,3816,5.792,3839,2.635,3842,4.421,4004,6.898,4083,4.566,4429,3.721,4585,2.67,4755,2.554,4759,2.618,4836,2.652,4865,2.554,5088,2.635,5446,3.786,5456,2.264,5489,2.601,5521,2.264,5547,4.566,5761,6.855,5765,2.688,5766,5.073,5853,2.195,5878,2.83,5879,2.688,5880,6.023,5881,2.688,5882,2.688,5883,2.688,5884,2.688,5885,2.688,5886,2.688,5887,2.688,5888,2.688,5889,2.688,5890,2.688,5891,4.536,5892,2.688,5893,2.688,5894,2.688,5895,2.67,5896,2.688,5897,2.688,5898,2.688,5899,2.707,5900,2.707,5901,2.707,5902,2.707,5903,4.629,5904,2.707,5905,2.688,5906,4.629,5907,2.707,5908,4.629,5909,2.688,5910,2.652,5911,2.286,5912,2.286,5913,2.286,5914,2.286,5915,2.286,5916,2.286,5917,2.286,5918,2.286,5952,4.765,5998,3.946,6011,5.146,6012,5.146,6013,5.146,6014,5.146,6015,5.146]],["keywords/1193",[]],["title/1194",[30,260.685,475,277.756,1622,540.178]],["content/1194",[1,2.824,8,4.619,9,2.724,13,6.236,21,1.978,23,6.016,26,3.756,27,2.16,30,1.336,31,2.021,36,2.281,41,2.168,46,1.543,50,3.024,59,2.905,108,6.602,140,1.986,144,1.703,169,2.858,171,2.028,174,3.67,193,1.887,194,2.152,202,2.291,204,1.749,215,2.581,220,7.694,221,2.291,236,1.209,246,1.981,255,4.085,257,3.882,269,2.129,287,1.65,292,2.612,310,1.809,316,2.544,319,1.789,322,2.041,328,2.435,340,2.3,346,2.768,357,2.062,362,5.324,363,2.231,390,2.583,392,2.821,398,6.746,404,1.841,408,5.958,429,5.151,434,2.544,440,2.3,466,2.584,467,1.834,468,2.803,471,2.558,475,5.015,477,5.913,487,2.494,500,5.769,523,5.575,524,2.32,525,5.534,526,5.361,533,2.458,534,2.144,545,3.714,587,2.099,591,2.381,620,2.099,624,2.47,642,3.279,678,2.702,699,2.106,713,2.391,728,3.671,762,2.734,764,2.329,789,2.245,800,2.519,804,2.055,820,6.267,838,2.19,840,3.904,863,3.977,876,2.272,931,2.945,960,2.272,971,2.137,973,3.045,976,3.528,1036,2.612,1048,4.809,1077,2.803,1120,4.846,1141,4.375,1170,4.142,1198,5.947,1205,3.309,1210,2.785,1214,2.718,1227,2.37,1238,2.686,1253,2.129,1261,2.506,1266,5.629,1272,2.391,1385,3.27,1431,6.917,1437,1.896,1475,2.21,1480,3.515,1581,5.378,1585,5.106,1610,2.424,1622,4.685,1644,1.629,1680,2.785,1683,7.008,1686,7.609,1687,2.37,1838,5.128,1895,6.055,1896,2.391,1986,2.702,2002,9.293,2015,3.995,2020,5.49,2037,2.381,2070,2.201,2163,2.519,2199,2.751,2255,2.626,2365,2.37,2387,2.424,2391,2.734,2392,2.424,2551,2.272,2610,5.042,2640,2.424,2675,2.821,2777,2.641,2890,2.391,3097,5.287,3457,2.858,3506,2.785,3526,5.813,3556,2.718,3629,2.734,3653,2.424,3779,2.768,3789,3.894,3794,6.659,3796,2.612,3816,6.092,3839,2.821,3842,4.685,4004,7.213,4083,4.839,4429,3.943,4585,2.858,4755,2.734,4759,2.803,4836,2.839,4865,2.734,5088,2.821,5446,4.012,5456,2.424,5489,2.785,5521,2.424,5547,4.839,5761,7.168,5765,2.878,5766,5.336,5853,2.35,5878,3.029,5879,2.878,5880,6.335,5881,2.878,5882,2.878,5883,2.878,5884,2.878,5885,2.878,5886,2.878,5887,2.878,5888,2.878,5889,2.878,5890,2.878,5891,4.807,5892,2.878,5893,2.878,5894,2.878,5895,2.858,5896,2.878,5897,2.878,5898,2.878,5899,2.898,5900,2.898,5901,2.898,5902,2.898,5903,4.906,5904,2.898,5905,2.878,5906,4.906,5907,2.898,5908,4.906,5909,2.878,5910,2.839,5911,2.447,5912,2.447,5913,2.447,5914,2.447,5915,2.447,5916,2.447,5917,2.447,5918,2.447,6016,5.509,6017,5.509]],["keywords/1194",[]],["title/1195",[30,260.685,144,332.318,1622,540.178]],["content/1195",[1,2.803,8,4.584,9,2.712,13,6.198,21,1.961,23,5.98,26,3.723,27,2.138,30,1.322,31,2,36,2.258,41,3.294,46,1.527,50,3.001,51,2.792,59,3.509,85,2.422,108,6.566,140,1.161,144,2.857,169,2.829,171,2.007,174,3.642,193,1.104,194,2.13,202,2.267,204,1.731,215,3.331,220,7.648,221,2.267,236,1.197,246,1.961,251,2.213,255,4.065,257,3.853,269,2.107,287,1.633,292,2.585,310,1.79,316,2.518,319,1.77,322,2.02,328,2.41,340,2.277,346,2.739,357,2.041,359,2.81,362,5.312,363,2.218,390,3.019,392,2.792,398,6.71,404,1.822,408,5.918,429,5.124,434,4.27,440,2.277,466,2.558,467,1.826,468,2.774,471,2.531,475,2.388,477,5.868,487,2.469,500,5.73,523,5.538,524,2.994,525,5.497,526,4.087,533,2.433,534,2.122,545,3.699,587,2.077,591,2.356,592,2.792,620,2.077,624,2.448,678,2.674,699,2.084,713,2.367,728,3.639,762,2.706,764,2.306,789,2.222,800,2.493,804,1.202,820,6.242,838,2.171,840,3.875,848,2.231,863,3.943,876,2.249,931,2.919,960,2.249,971,2.115,973,3.018,976,3.497,1036,2.585,1048,4.773,1077,2.774,1103,2.69,1120,3.694,1141,4.337,1170,4.106,1198,5.902,1205,3.285,1210,2.757,1214,2.69,1227,2.346,1238,2.659,1253,2.107,1261,2.481,1266,5.587,1272,5.224,1385,3.242,1431,6.871,1437,1.877,1475,2.187,1480,3.485,1581,4.536,1585,5.067,1610,2.399,1612,3.558,1622,4.645,1680,2.757,1683,6.974,1686,7.564,1687,2.346,1727,3.717,1838,5.089,1895,6.009,1896,2.367,1986,2.674,2002,9.254,2015,3.96,2020,5.449,2037,2.356,2070,2.179,2163,2.493,2199,2.723,2255,2.6,2365,2.346,2387,2.399,2391,2.706,2392,2.399,2551,2.249,2610,5.004,2640,2.399,2675,2.792,2777,2.614,2890,2.367,3097,5.248,3457,2.829,3506,2.757,3526,5.769,3556,2.69,3629,2.706,3653,2.399,3779,2.739,3789,3.86,3794,6.614,3796,2.585,3816,6.046,3839,2.792,3842,4.645,4004,7.165,4083,4.797,4429,3.909,4585,2.829,4755,2.706,4759,2.774,4836,2.81,4865,2.706,5088,2.792,5446,3.977,5456,2.399,5489,2.757,5521,2.399,5547,4.797,5761,7.121,5765,2.849,5766,5.296,5853,2.326,5878,2.998,5879,2.849,5880,6.287,5881,2.849,5882,2.849,5883,2.849,5884,2.849,5885,2.849,5886,2.849,5887,2.849,5888,2.849,5889,2.849,5890,2.849,5891,4.765,5892,2.849,5893,2.849,5894,2.849,5895,2.829,5896,2.849,5897,2.849,5898,2.849,5899,2.868,5900,2.868,5901,2.868,5902,2.868,5903,4.863,5904,2.868,5905,2.849,5906,4.863,5907,2.868,5908,4.863,5909,2.849,5910,2.81,5911,2.422,5912,2.422,5913,2.422,5914,2.422,5915,2.422,5916,2.422,5917,2.422,5918,2.422,6018,9.246]],["keywords/1195",[]],["title/1196",[30,260.685,504,683.806,1622,540.178]],["content/1196",[1,2.875,8,4.702,9,2.753,13,6.324,21,2.02,23,6.101,26,3.834,27,2.214,30,1.369,31,2.071,36,2.338,41,2.213,46,1.581,50,3.078,59,2.951,108,6.686,140,1.202,144,1.745,169,2.929,171,2.078,174,3.736,193,1.142,194,2.205,202,2.347,204,1.792,215,2.635,220,7.803,221,2.347,236,1.239,246,2.03,255,4.133,257,3.952,269,2.181,292,2.677,310,1.854,316,2.607,319,1.833,322,2.092,328,2.495,340,2.357,346,2.836,357,2.113,362,5.35,363,2.263,390,2.629,392,2.891,398,6.832,404,1.886,408,6.052,429,5.217,434,2.607,440,2.357,466,2.648,467,1.852,468,2.872,471,2.621,475,2.459,477,6.019,487,2.556,500,5.86,504,6.054,523,5.663,524,2.369,525,5.621,526,4.208,533,2.519,534,2.197,545,3.748,587,2.15,591,2.439,620,2.15,624,2.521,678,2.768,699,2.158,713,2.45,728,3.747,762,2.802,764,2.387,789,2.3,800,2.581,804,1.244,820,6.325,838,2.236,840,3.974,863,4.06,868,3.327,876,2.328,931,3.006,960,2.328,971,2.189,973,3.108,976,3.601,1036,2.677,1048,4.895,1077,2.872,1120,3.804,1141,4.466,1170,4.228,1198,6.054,1205,3.369,1210,2.854,1214,2.785,1227,2.429,1238,2.752,1253,2.181,1261,2.568,1266,5.731,1272,2.45,1385,3.338,1431,7.027,1437,1.943,1475,2.264,1480,3.588,1581,4.653,1585,5.198,1610,2.484,1622,2.836,1680,2.854,1683,7.09,1686,7.717,1687,2.429,1838,5.22,1895,6.164,1896,2.45,1986,2.768,2002,9.385,2015,4.078,2020,5.589,2037,2.439,2070,2.256,2163,2.581,2199,2.819,2255,2.691,2365,2.429,2387,2.484,2391,2.802,2392,2.484,2551,2.328,2610,5.133,2640,4.189,2675,2.891,2777,2.706,2890,2.45,3097,5.383,3457,2.929,3506,2.854,3526,5.918,3556,2.785,3629,2.802,3653,2.484,3779,2.836,3789,3.975,3794,6.764,3796,2.677,3816,6.202,3839,2.891,3842,4.783,4004,7.328,4083,4.94,4429,4.025,4585,2.929,4755,2.802,4759,2.872,4836,2.91,4865,2.802,5088,2.891,5446,4.096,5456,2.484,5489,2.854,5521,2.484,5547,4.94,5761,7.282,5765,2.949,5766,5.432,5853,2.408,5878,3.104,5879,2.949,5880,6.449,5881,2.949,5882,2.949,5883,2.949,5884,2.949,5885,2.949,5886,2.949,5887,2.949,5888,2.949,5889,2.949,5890,2.949,5891,4.907,5892,2.949,5893,2.949,5894,2.949,5895,2.929,5896,2.949,5897,2.949,5898,2.949,5899,2.969,5900,2.969,5901,2.969,5902,2.969,5903,5.008,5904,2.969,5905,2.949,5906,5.008,5907,2.969,5908,5.008,5909,2.949,5910,2.91,5911,2.507,5912,2.507,5913,2.507,5914,2.507,5915,2.507,5916,2.507,5917,2.507,5918,2.507]],["keywords/1196",[]],["title/1197",[30,260.685,193,217.607,1622,540.178]],["content/1197",[1,3.067,8,4.22,9,2.889,13,5.802,19,1.928,21,1.784,23,5.597,26,3.386,27,1.913,30,1.183,31,1.79,36,2.021,41,1.954,46,1.367,50,2.762,59,2.681,108,6.183,140,1.039,144,1.508,169,2.532,171,1.796,174,3.352,193,3.005,194,1.906,202,2.029,204,1.549,215,2.327,220,7.159,221,2.029,236,1.071,246,1.755,255,3.847,257,3.546,269,1.885,287,3.944,292,2.314,310,1.602,316,2.254,319,1.584,322,1.808,328,2.157,332,2.467,340,2.037,346,2.451,357,1.826,362,5.307,363,3.366,390,3.457,392,2.498,398,6.318,404,1.63,408,5.498,421,2.585,429,4.825,434,2.254,440,2.037,442,2.904,466,2.289,467,1.867,468,2.482,471,2.265,475,4.963,477,5.401,478,2.265,487,2.209,500,5.324,523,5.145,524,2.092,525,5.759,526,3.717,533,2.177,534,1.899,545,3.755,587,1.859,591,2.109,600,1.219,603,1.899,620,1.859,624,2.934,627,3.228,678,2.393,688,2.451,692,1.635,695,3.504,699,1.865,713,2.118,728,3.309,762,2.421,764,2.063,789,1.988,800,5.065,804,1.075,812,1.654,820,6.166,838,1.975,840,3.566,863,3.586,876,2.012,931,2.655,960,2.012,971,1.892,973,2.745,976,4.19,1008,2.265,1036,2.314,1048,4.393,1077,2.482,1120,3.36,1141,3.944,1170,3.734,1198,5.433,1205,3.023,1208,2.037,1210,2.467,1214,2.407,1215,2.221,1227,2.099,1238,2.379,1253,1.885,1261,3.825,1266,5.142,1272,2.118,1385,2.948,1431,6.384,1437,1.679,1475,5.957,1480,3.169,1574,3.38,1581,5.597,1585,4.664,1610,2.147,1613,2.486,1622,2.451,1644,1.443,1677,3.944,1680,2.467,1683,6.6,1686,7.08,1687,2.099,1838,4.684,1895,5.531,1896,2.118,1954,4.362,1986,2.393,2002,8.828,2015,3.601,2020,5.015,2037,2.109,2070,1.95,2163,2.231,2199,2.436,2255,2.326,2365,2.099,2376,3.38,2387,3.699,2391,2.421,2392,2.147,2551,2.012,2563,3.574,2610,4.606,2636,3.439,2640,2.147,2675,2.498,2777,2.339,2890,2.118,3097,5.742,3457,2.532,3506,2.467,3526,5.31,3556,2.407,3628,3.326,3629,2.421,3653,2.147,3779,2.451,3789,3.51,3794,6.145,3796,2.314,3816,5.565,3839,2.498,3842,4.224,4004,6.657,4083,4.362,4429,3.555,4585,2.532,4675,2.997,4755,2.421,4759,2.482,4836,2.515,4865,2.421,5088,2.498,5446,3.617,5456,2.147,5489,2.467,5521,2.147,5547,4.362,5761,6.615,5765,2.549,5766,4.874,5853,2.081,5877,3.03,5878,2.683,5879,2.549,5880,5.787,5881,2.549,5882,2.549,5883,2.549,5884,2.549,5885,2.549,5886,2.549,5887,2.549,5888,2.549,5889,2.549,5890,2.549,5891,4.333,5892,2.549,5893,2.549,5894,2.549,5895,2.532,5896,2.549,5897,2.549,5898,2.549,5899,2.567,5900,2.567,5901,2.567,5902,2.567,5903,4.422,5904,2.567,5905,4.392,5906,4.422,5907,2.567,5908,4.422,5909,2.549,5910,2.515,5911,2.167,5912,2.167,5913,2.167,5914,2.167,5915,2.167,5916,2.167,5917,2.167,5918,2.167,5934,3.574,6019,7.785]],["keywords/1197",[]],["title/1198",[30,260.685,929,633.798,1622,540.178]],["content/1198",[1,3.077,8,4.234,9,2.804,13,5.818,21,1.791,23,5.613,26,3.399,27,1.922,30,1.188,31,1.798,36,2.03,41,1.962,46,1.373,50,3.294,59,2.689,108,6.199,140,1.044,144,1.515,169,2.543,171,1.804,174,3.364,193,0.992,194,1.915,202,2.038,204,1.556,215,2.336,220,7.179,221,2.038,236,1.076,246,1.763,255,4.073,257,3.559,269,1.894,287,3.956,292,2.324,310,1.61,316,2.264,319,1.591,322,3.127,328,2.167,332,2.478,340,2.047,346,2.463,357,1.835,362,5.312,363,3.333,390,2.813,392,2.51,398,6.334,404,1.638,408,5.515,413,2.526,421,2.597,429,4.837,434,2.264,440,2.047,442,2.918,466,2.299,467,1.87,468,2.494,471,2.276,475,4.973,477,5.42,478,2.276,487,2.219,500,5.34,523,5.161,524,2.1,525,5.775,526,3.731,533,2.187,534,1.908,545,3.761,587,1.867,591,2.118,600,1.225,620,1.867,624,2.944,678,2.404,688,2.463,692,1.642,695,3.52,699,1.874,713,2.128,728,3.322,762,2.433,764,2.073,789,1.997,800,5.082,804,1.08,812,1.662,820,6.177,838,1.982,840,3.579,863,3.6,876,2.022,892,1.915,929,7.786,931,2.665,953,4.3,960,2.022,971,1.901,973,2.756,976,3.193,1008,2.276,1036,2.324,1048,4.408,1077,2.494,1120,3.373,1141,3.96,1170,3.749,1198,5.451,1205,3.034,1208,2.047,1210,2.478,1214,2.418,1215,2.23,1227,2.109,1238,2.39,1253,1.894,1261,3.84,1266,5.16,1272,4.825,1385,2.959,1431,6.404,1437,1.687,1475,5.974,1480,3.182,1574,3.396,1581,6.134,1585,4.68,1610,2.157,1613,1.45,1622,2.463,1644,1.45,1677,3.96,1680,2.478,1683,6.616,1686,7.099,1687,2.109,1838,4.7,1895,5.55,1896,2.128,1986,2.404,2002,8.846,2015,3.616,2020,5.032,2037,2.118,2070,1.959,2163,2.241,2199,2.447,2238,3.591,2255,2.337,2365,2.109,2376,3.396,2387,2.157,2391,2.433,2392,2.157,2415,3.67,2551,2.022,2610,4.622,2636,3.455,2640,2.157,2675,2.51,2777,2.35,2890,2.128,3097,4.847,3457,2.543,3506,2.478,3526,5.329,3556,2.418,3628,3.341,3629,2.433,3653,2.157,3779,2.463,3789,3.524,3794,6.164,3796,2.324,3816,5.584,3839,2.51,3842,4.24,4004,6.678,4083,4.38,4429,3.569,4585,2.543,4675,3.011,4755,2.433,4759,2.494,4836,2.526,4865,2.433,5088,2.51,5446,3.631,5456,2.157,5489,2.478,5521,2.157,5547,4.38,5761,6.636,5765,2.561,5766,4.891,5853,2.091,5877,3.044,5878,2.695,5879,2.561,5880,5.807,5881,2.561,5882,2.561,5883,2.561,5884,2.561,5885,2.561,5886,2.561,5887,2.561,5888,2.561,5889,2.561,5890,2.561,5891,4.35,5892,2.561,5893,2.561,5894,2.561,5895,2.543,5896,2.561,5897,2.561,5898,2.561,5899,2.578,5900,2.578,5901,2.578,5902,2.578,5903,4.44,5904,2.578,5905,4.409,5906,4.44,5907,2.578,5908,4.44,5909,2.561,5910,2.526,5911,2.177,5912,2.177,5913,2.177,5914,2.177,5915,2.177,5916,2.177,5917,2.177,5918,2.177,5934,3.591,6019,7.816]],["keywords/1198",[]],["title/1199",[30,220.945,358,308.997,380,412.582,1622,457.831]],["content/1199",[1,3.064,8,4.215,9,2.797,13,5.796,21,1.781,23,5.592,26,3.381,27,1.91,30,2.036,31,1.787,36,2.017,41,1.952,46,1.365,50,2.759,59,2.678,61,2.349,108,6.178,140,1.038,144,2.595,169,2.528,171,1.793,174,3.349,193,0.986,194,1.903,202,2.026,204,1.547,215,2.324,220,7.152,221,2.026,236,1.069,246,1.752,255,3.844,257,3.542,269,1.883,287,3.94,292,2.31,310,1.6,316,2.25,319,1.582,322,1.805,328,2.154,332,2.463,340,2.034,346,2.448,357,1.824,358,4.46,362,5.305,363,3.398,380,3.801,390,2.802,392,2.495,398,6.313,404,1.628,408,5.493,421,2.581,429,4.821,434,2.25,440,2.034,442,2.9,466,2.285,467,1.866,468,2.479,471,2.262,475,4.96,477,5.395,478,2.262,487,2.206,500,5.318,523,5.139,524,3.273,525,5.754,526,3.712,533,2.174,534,1.896,545,3.753,587,1.856,591,2.105,600,1.217,620,1.856,624,2.93,678,2.389,688,2.448,692,1.632,695,3.498,699,1.862,713,2.115,728,3.305,762,2.418,764,2.06,789,1.985,800,5.059,804,1.074,812,1.652,820,6.163,838,1.972,840,3.562,863,3.581,876,2.009,931,2.651,960,2.009,971,1.889,973,2.741,976,3.176,982,1.305,984,2.285,1008,2.262,1036,2.31,1048,4.388,1077,2.479,1120,3.355,1141,3.939,1170,3.729,1198,5.426,1205,3.02,1208,4.62,1210,2.463,1214,2.403,1215,2.219,1227,2.096,1238,2.375,1253,1.883,1261,3.82,1266,5.137,1272,2.115,1366,2.051,1385,2.944,1431,6.377,1437,1.677,1475,5.951,1480,4.958,1574,3.375,1581,4.171,1585,4.659,1610,2.144,1613,2.483,1622,4.218,1644,1.441,1677,3.939,1680,2.463,1683,6.595,1686,7.073,1687,2.096,1838,4.679,1895,5.524,1896,2.115,1986,2.389,2002,8.823,2015,3.597,2020,5.009,2037,2.105,2070,1.947,2163,2.228,2199,2.432,2255,2.323,2365,2.096,2387,2.144,2391,2.418,2392,2.144,2551,2.009,2610,4.601,2636,3.434,2640,2.144,2675,2.495,2777,2.335,2890,2.115,3097,4.824,3457,2.528,3506,2.463,3526,5.304,3556,2.403,3628,3.321,3629,2.418,3653,2.144,3779,2.448,3789,3.506,3794,6.139,3796,2.31,3816,5.559,3839,2.495,3842,4.218,4004,6.65,4083,4.357,4429,3.55,4585,2.528,4675,2.992,4755,2.418,4759,2.479,4836,2.511,4865,2.418,5088,2.495,5446,3.612,5456,2.144,5489,2.463,5521,2.144,5547,4.357,5761,6.609,5765,2.545,5766,4.869,5853,2.078,5877,3.026,5878,2.679,5879,2.545,5880,5.78,5881,2.545,5882,2.545,5883,2.545,5884,2.545,5885,2.545,5886,2.545,5887,2.545,5888,2.545,5889,2.545,5890,2.545,5891,4.328,5892,2.545,5893,2.545,5894,2.545,5895,2.528,5896,2.545,5897,2.545,5898,2.545,5899,2.563,5900,2.563,5901,2.563,5902,2.563,5903,4.417,5904,2.563,5905,4.386,5906,4.417,5907,2.563,5908,4.417,5909,2.545,5910,2.511,5911,2.164,5912,2.164,5913,2.164,5914,2.164,5915,2.164,5916,2.164,5917,2.164,5918,2.164,5919,5.918,5934,3.569]],["keywords/1199",[]],["title/1200",[30,191.719,236,173.556,742,428.205,1215,208.942,1622,397.27]],["content/1200",[1,3.105,8,4.279,9,2.82,13,5.867,21,1.812,23,5.661,26,3.44,27,1.949,30,1.205,31,1.823,36,2.058,41,1.985,46,1.392,50,2.801,59,2.714,108,6.247,140,1.059,144,1.536,169,2.579,171,1.829,174,3.399,193,1.006,194,1.942,202,2.067,204,1.578,215,2.364,220,7.239,221,2.067,236,2.465,246,1.788,255,3.883,257,3.596,269,1.921,287,3.994,292,2.357,310,1.632,316,2.296,319,1.614,322,1.842,328,2.197,332,2.513,340,2.075,346,2.497,357,1.861,362,5.327,363,3.345,390,2.84,392,2.545,398,6.383,404,1.661,408,5.567,421,2.633,429,4.874,434,2.296,440,2.075,442,2.958,466,2.332,467,1.88,468,2.529,471,2.307,475,5.003,477,5.477,478,2.307,487,2.25,500,5.39,523,5.209,524,2.125,525,5.824,526,3.776,533,2.218,534,1.935,545,3.78,587,1.893,591,2.148,600,1.242,603,1.935,620,1.893,624,2.975,678,2.437,688,2.497,692,1.665,695,3.569,699,1.9,713,2.157,728,3.362,742,4.625,762,2.467,764,2.102,789,2.025,800,5.136,804,1.095,812,1.685,820,6.21,838,2.006,840,3.616,863,3.643,876,2.05,931,2.697,960,2.05,971,1.928,973,2.789,976,3.231,1008,2.307,1036,2.357,1048,4.455,1077,2.529,1120,4.489,1141,4.007,1170,3.794,1198,5.509,1205,3.066,1208,2.075,1210,2.513,1214,2.452,1215,3.523,1227,2.138,1238,2.423,1253,1.921,1261,3.886,1266,5.215,1272,2.157,1385,2.995,1431,6.464,1437,1.711,1475,6.024,1480,3.22,1574,3.443,1581,4.234,1585,4.73,1610,2.187,1613,1.47,1622,2.497,1644,1.47,1677,4.007,1680,2.513,1683,6.662,1686,7.159,1687,2.138,1838,4.75,1895,5.608,1896,2.157,1986,2.437,2002,8.9,2015,3.659,2020,5.085,2037,2.148,2070,1.986,2163,2.272,2199,2.482,2255,2.369,2365,2.138,2376,3.443,2387,2.187,2391,2.467,2392,2.187,2551,2.05,2610,4.671,2636,3.503,2640,2.187,2675,2.545,2777,2.383,2890,2.157,3097,4.898,3457,2.579,3506,2.513,3526,5.385,3556,2.452,3628,3.388,3629,2.467,3653,2.187,3779,2.497,3789,3.567,3794,6.222,3796,2.357,3816,5.643,3839,2.545,3842,4.291,4004,6.74,4083,4.432,4429,3.612,4585,2.579,4675,3.053,4755,2.467,4759,2.529,4836,2.562,4865,2.467,5088,2.545,5446,3.675,5456,2.187,5489,2.513,5521,2.187,5547,4.432,5761,6.698,5765,2.596,5766,4.943,5853,2.12,5877,3.087,5878,2.733,5879,2.596,5880,5.868,5881,2.596,5882,2.596,5883,2.596,5884,2.596,5885,2.596,5886,2.596,5887,2.596,5888,2.596,5889,2.596,5890,2.596,5891,4.403,5892,2.596,5893,2.596,5894,2.596,5895,2.579,5896,2.596,5897,2.596,5898,2.596,5899,2.614,5900,2.614,5901,2.614,5902,2.614,5903,4.493,5904,2.614,5905,4.462,5906,4.493,5907,2.614,5908,4.493,5909,2.596,5910,2.562,5911,2.207,5912,2.207,5913,2.207,5914,2.207,5915,2.207,5916,2.207,5917,2.207,5918,2.207,5919,6.021,5934,3.641]],["keywords/1200",[]],["title/1201",[30,260.685,581,346.159,1622,540.178]],["content/1201",[1,2.835,8,4.637,9,2.73,13,6.254,21,1.987,23,6.034,26,3.772,27,2.171,30,1.343,31,2.031,36,2.293,41,2.177,46,1.551,50,3.035,59,2.914,108,6.62,140,1.179,144,1.711,169,2.873,171,2.038,174,3.684,193,1.121,194,2.163,202,2.303,204,1.758,215,2.593,220,7.717,221,2.303,236,1.215,246,1.992,255,4.095,257,3.897,269,2.14,273,1.597,287,1.659,292,2.626,310,1.818,316,2.558,319,1.798,322,2.052,328,2.448,340,2.312,346,2.782,357,2.073,362,5.329,363,2.587,382,2.558,390,2.593,392,2.836,398,6.764,404,1.85,408,5.978,429,5.165,434,2.558,440,2.312,466,2.598,467,1.838,468,2.817,471,2.571,475,2.42,477,5.935,487,2.507,500,5.788,523,5.593,524,2.33,525,5.552,526,4.141,533,2.471,534,2.156,545,3.721,581,3.016,587,2.109,591,2.393,600,1.384,620,2.109,624,2.481,678,2.716,699,2.117,713,2.404,728,3.687,743,2.109,762,2.748,764,2.342,789,2.256,800,2.532,804,1.22,820,6.279,838,2.2,840,3.919,863,3.995,876,2.284,921,2.64,931,2.958,960,2.284,971,2.148,973,3.058,976,3.543,1036,2.626,1048,4.827,1077,2.817,1120,3.743,1141,4.394,1170,4.16,1198,5.97,1205,3.322,1210,2.799,1214,2.732,1227,2.382,1238,2.7,1253,2.14,1261,2.519,1266,5.651,1272,2.404,1385,3.284,1431,6.941,1437,1.906,1475,2.221,1480,3.531,1581,3.531,1585,5.125,1610,2.437,1622,2.782,1680,2.799,1683,7.025,1686,7.632,1687,2.382,1838,5.147,1895,6.078,1896,2.404,1986,2.716,2002,9.313,2015,4.012,2020,5.511,2037,2.393,2070,2.213,2163,2.532,2199,2.765,2255,2.64,2365,2.382,2376,3.836,2387,2.437,2391,2.748,2392,2.437,2551,2.284,2610,5.061,2640,2.437,2675,2.836,2777,2.655,2890,2.404,3097,5.308,3457,2.873,3506,2.799,3526,5.835,3556,2.732,3629,2.748,3653,2.437,3779,2.782,3789,3.911,3794,6.681,3796,2.626,3816,6.115,3839,2.836,3842,4.706,3974,4.246,4004,7.237,4083,4.86,4429,3.961,4585,2.873,4755,2.748,4759,2.817,4836,2.854,4865,2.748,5088,2.836,5446,4.03,5456,2.437,5489,2.799,5521,2.437,5547,4.86,5761,7.192,5765,2.893,5766,5.356,5853,2.362,5878,3.045,5879,2.893,5880,6.359,5881,2.893,5882,2.893,5883,2.893,5884,2.893,5885,2.893,5886,2.893,5887,2.893,5888,2.893,5889,2.893,5890,2.893,5891,4.828,5892,2.893,5893,2.893,5894,2.893,5895,2.873,5896,2.893,5897,2.893,5898,2.893,5899,2.913,5900,2.913,5901,2.913,5902,2.913,5903,4.927,5904,2.913,5905,2.893,5906,4.927,5907,2.913,5908,4.927,5909,2.893,5910,2.854,5911,2.459,5912,2.459,5913,2.459,5914,2.459,5915,2.459,5916,2.459,5917,2.459,5918,2.459,5919,6.602,6010,5.128,6020,5.538]],["keywords/1201",[]],["title/1202",[23,405.295,30,260.685,1622,540.178]],["content/1202",[1,2.919,8,4.349,9,2.626,13,5.944,21,1.846,23,7.641,26,3.504,27,1.992,30,2.461,31,1.863,36,2.911,41,2.023,46,1.969,50,2.847,51,3.6,59,3.097,63,5.135,108,6.321,122,1.135,140,1.497,144,1.57,169,2.635,171,2.588,174,4.363,193,1.028,194,1.984,202,2.112,204,1.613,215,2.81,220,7.334,221,2.112,236,1.543,246,2.529,255,4.141,257,4.331,269,2.717,273,2.028,286,0.978,287,1.521,292,2.408,310,2.309,316,2.346,319,2.283,322,1.882,328,2.245,340,2.121,346,2.552,357,1.901,362,5.294,363,2.127,390,2.432,392,2.601,398,6.459,404,1.697,408,5.648,409,1.575,429,4.932,434,2.346,440,2.936,466,2.383,467,1.969,468,2.584,471,2.358,475,2.248,477,5.567,487,2.299,500,5.469,523,5.632,524,2.165,525,5.246,526,3.847,533,2.267,534,2.737,545,3.71,556,1.183,587,1.935,591,3.038,620,1.935,624,2.305,678,2.491,699,1.942,713,2.205,728,3.425,762,2.521,764,2.148,789,2.07,800,2.322,804,1.119,820,6.347,838,2.682,840,3.676,863,4.869,876,2.095,931,3.605,944,1.406,960,2.095,971,2.727,973,3.728,976,3.292,1036,2.408,1048,4.528,1077,2.584,1120,3.478,1141,4.082,1170,3.865,1198,5.599,1205,3.934,1210,2.568,1214,2.506,1227,2.185,1238,2.476,1253,2.717,1261,2.311,1266,5.3,1272,2.205,1385,3.051,1431,6.558,1433,6.434,1437,1.748,1475,2.82,1480,3.28,1563,3.119,1564,3.314,1581,4.304,1585,6.07,1610,2.235,1622,5.099,1680,2.568,1683,7.42,1686,7.253,1687,3.025,1838,4.828,1895,5.701,1896,3.052,1954,1.438,1986,2.491,2002,8.983,2015,4.891,2020,5.169,2037,3.038,2070,2.809,2163,2.322,2199,2.536,2216,3.462,2255,2.421,2365,3.025,2387,3.094,2391,2.521,2392,3.094,2551,2.9,2578,5.034,2610,6.326,2640,3.094,2675,2.601,2777,2.435,2890,3.052,3097,6.285,3457,2.635,3506,2.568,3508,2.075,3526,5.473,3556,2.506,3629,2.521,3653,3.094,3779,2.552,3789,4.767,3794,6.313,3796,2.408,3816,5.736,3839,2.601,3842,4.372,4004,6.838,4083,4.515,4429,4.828,4585,2.635,4755,2.521,4759,2.584,4836,2.618,4865,2.521,5088,2.601,5446,4.912,5456,3.094,5489,2.568,5521,3.094,5547,4.515,5761,6.796,5765,2.653,5766,5.952,5853,2.998,5878,2.793,5879,2.653,5880,5.964,5881,2.653,5882,2.653,5883,2.653,5884,2.653,5885,2.653,5886,2.653,5887,2.653,5888,2.653,5889,2.653,5890,2.653,5891,4.485,5892,2.653,5893,2.653,5894,2.653,5895,2.635,5896,2.653,5897,2.653,5898,2.653,5899,2.672,5900,2.672,5901,2.672,5902,2.672,5903,4.578,5904,2.672,5905,2.653,5906,4.578,5907,2.672,5908,4.578,5909,2.653,5910,2.618,5911,3.123,5912,3.123,5913,3.123,5914,3.123,5915,3.123,5916,3.123,5917,3.123,5918,3.123,5954,2.125,6021,5.079,6022,5.079,6023,5.079,6024,5.079]],["keywords/1202",[]],["title/1203",[30,220.945,59,185.514,273,262.858,1622,457.831]],["content/1203",[1,2.745,8,4.489,9,2.677,13,6.096,21,1.914,23,5.881,26,3.634,27,2.078,30,1.285,31,1.944,36,2.194,41,2.097,46,3.301,50,2.938,59,3.688,108,6.467,140,1.129,144,1.638,169,2.75,171,1.95,174,3.566,193,1.072,194,2.07,202,2.204,204,1.683,215,2.498,220,7.521,221,2.204,236,1.163,246,1.906,255,4.009,257,3.773,269,5.376,273,2.603,287,1.587,292,2.513,310,1.74,316,2.448,319,1.72,322,1.964,328,2.343,340,2.213,346,2.662,357,1.984,358,1.797,362,5.359,363,3.045,390,2.51,392,2.713,398,6.609,404,1.77,408,5.809,429,5.047,434,2.448,440,2.213,466,2.486,467,1.805,468,2.696,471,2.46,475,4.681,477,5.746,487,2.399,500,5.624,516,2.388,523,5.435,524,2.245,525,5.396,526,3.989,533,2.365,534,2.063,545,3.769,587,2.019,591,2.29,603,2.063,620,2.019,624,3.121,678,2.599,699,2.026,713,2.3,728,3.552,762,2.63,764,2.241,789,2.159,800,4.126,804,1.168,812,1.797,815,3.186,820,6.174,838,2.119,840,3.794,863,3.848,876,2.186,931,2.85,960,2.186,971,2.055,973,2.946,976,3.413,1036,2.513,1048,4.673,1077,2.696,1120,3.606,1141,4.233,1170,4.008,1198,5.779,1205,3.216,1210,2.679,1214,2.614,1215,1.4,1227,2.28,1238,2.584,1253,2.048,1261,2.411,1266,5.471,1272,2.3,1385,3.164,1431,6.744,1437,1.824,1475,2.126,1480,3.401,1581,4.442,1585,4.962,1610,2.332,1622,2.662,1644,1.567,1680,2.679,1683,6.878,1686,7.438,1687,2.28,1838,4.983,1895,5.884,1896,2.3,1986,2.599,2002,9.146,2015,3.865,2020,5.335,2037,2.29,2070,2.118,2163,2.423,2199,2.646,2255,2.526,2365,2.28,2387,2.332,2391,2.63,2392,2.332,2551,2.186,2610,4.9,2640,2.332,2675,2.713,2777,2.54,2890,2.3,3097,5.138,3457,2.75,3506,2.679,3526,5.649,3556,2.614,3629,2.63,3653,2.332,3779,2.662,3789,3.768,3794,6.492,3796,2.513,3816,5.92,3839,2.713,3842,4.533,4004,7.033,4083,4.682,4429,3.816,4585,2.75,4675,3.255,4755,2.63,4759,2.696,4836,2.731,4865,2.63,5088,2.713,5446,3.882,5456,2.332,5489,2.679,5521,2.332,5547,4.682,5761,6.989,5765,2.768,5766,5.185,5853,2.26,5877,3.291,5878,2.914,5879,2.768,5880,6.156,5881,2.768,5882,2.768,5883,2.768,5884,2.768,5885,2.768,5886,2.768,5887,2.768,5888,2.768,5889,2.768,5890,2.768,5891,4.651,5892,2.768,5893,2.768,5894,2.768,5895,2.75,5896,2.768,5897,2.768,5898,2.768,5899,2.788,5900,2.788,5901,2.788,5902,2.788,5903,4.747,5904,2.788,5905,2.768,5906,4.747,5907,2.788,5908,4.747,5909,2.768,5910,2.731,5911,2.354,5912,2.354,5913,2.354,5914,2.354,5915,2.354,5916,2.354,5917,2.354,5918,2.354,6025,9.024,6026,9.024]],["keywords/1203",[]],["title/1204",[30,220.945,1100,579.564,1622,457.831,1624,489.812]],["content/1204",[1,3.263,8,2.365,9,1.732,13,3.557,21,0.942,23,3.432,26,1.789,27,0.94,30,4.14,31,0.879,36,5.113,41,1.032,46,3.703,50,1.548,59,1.577,108,3.927,140,2.63,141,1.727,144,0.741,169,1.243,171,4.544,174,6.182,193,0.485,194,0.936,202,0.996,204,0.761,215,1.229,220,4.389,221,0.996,236,2.71,246,4.441,251,2.52,255,4.389,257,5.763,269,4.771,286,0.845,287,0.718,292,1.136,310,4.054,316,1.107,319,4.008,322,0.888,328,1.059,340,1,345,0.716,346,1.204,355,2.952,357,0.897,362,4.877,363,1.273,390,2.815,392,1.227,398,4.012,404,0.8,408,3.236,409,1.362,429,3.064,434,1.107,440,5.155,466,1.124,467,2.292,468,1.219,471,1.112,475,1.147,477,3.027,487,1.085,500,3.133,523,5.755,524,1.105,525,3.005,526,1.963,533,1.069,534,4.806,545,3.626,587,0.913,591,5.336,620,0.913,624,1.176,678,1.175,699,0.916,706,3.158,713,1.04,728,1.748,762,1.189,764,1.013,789,0.976,800,1.095,804,0.528,820,6.606,838,4.123,840,1.999,863,7.487,876,0.988,931,5.544,960,0.988,971,4.788,973,5.877,976,1.68,1036,1.136,1048,2.462,1053,5.22,1077,1.219,1100,11.164,1120,1.775,1141,2.083,1170,1.973,1198,3.045,1205,5.575,1210,1.211,1214,1.182,1227,1.031,1238,1.168,1253,4.771,1261,1.09,1266,2.882,1272,1.04,1385,1.557,1431,3.757,1437,0.825,1475,4.953,1480,1.674,1581,5.281,1585,8.601,1610,1.054,1622,8.578,1624,9.435,1680,1.211,1683,8.921,1686,4.341,1687,5.312,1838,2.625,1895,3.1,1896,5.359,1986,1.175,2002,6.074,2015,7.519,2020,2.811,2037,5.336,2070,4.934,2163,1.095,2199,1.196,2255,1.142,2365,5.312,2387,5.433,2391,1.189,2392,5.433,2551,5.092,2610,7.82,2640,1.054,2675,1.227,2764,1.887,2777,1.149,2890,5.359,3097,8.906,3260,1.837,3457,1.243,3506,1.211,3508,1.794,3526,3.715,3556,1.182,3629,1.189,3653,5.433,3779,1.204,3789,7.33,3794,3.616,3796,1.136,3816,3.119,3839,1.227,3842,2.231,4004,3.917,4083,2.304,4429,7.423,4585,1.243,4747,5.22,4755,1.189,4759,1.219,4836,1.235,4865,1.189,5088,1.227,5119,5.446,5446,7.552,5456,5.433,5489,1.211,5521,5.433,5525,11.434,5547,2.304,5761,3.893,5765,1.252,5766,7.921,5853,5.266,5878,1.318,5879,1.252,5880,3.243,5881,1.252,5882,1.252,5883,1.252,5884,1.252,5885,1.252,5886,1.252,5887,1.252,5888,1.252,5889,1.252,5890,1.252,5891,2.289,5892,1.252,5893,1.252,5894,1.252,5895,1.243,5896,1.252,5897,1.252,5898,1.252,5899,1.26,5900,1.26,5901,1.26,5902,1.26,5903,2.336,5904,1.26,5905,1.252,5906,2.336,5907,1.26,5908,2.336,5909,1.252,5910,1.235,5911,5.484,5912,5.484,5913,5.484,5914,5.484,5915,5.484,5916,5.484,5917,5.484,5918,5.484,5954,1.837,6027,6.208,6028,4.442,6029,2.396]],["keywords/1204",[]],["title/1205",[30,260.685,524,267.523,1622,540.178]],["content/1205",[1,2.41,6,1.719,8,4.72,9,3.012,13,5.491,14,1.01,15,1.671,21,2.195,23,5.298,26,3.135,27,1.751,30,2.509,31,1.637,32,1.671,36,1.849,41,2.405,46,2.181,48,3.087,50,2.581,59,2.522,63,1.695,108,5.88,140,2.204,141,1.242,144,3.199,167,5.079,169,2.316,171,1.643,174,3.132,193,0.903,194,1.744,200,2.954,202,1.856,204,1.417,215,3.43,218,2.257,220,6.775,221,1.856,236,0.98,246,1.606,255,3.673,257,3.313,269,1.725,272,4.729,285,1.864,287,1.337,292,2.117,299,2.954,310,1.466,316,2.062,319,1.449,322,1.654,328,1.973,340,1.864,346,2.243,357,1.671,358,1.514,362,5.123,363,2.861,390,2.639,392,2.286,398,6.009,404,1.491,408,5.174,414,2.954,423,2.781,429,4.588,434,2.062,440,1.864,466,2.094,467,1.856,468,2.271,471,2.072,475,4.963,477,5.046,481,2.474,487,2.021,500,5.009,523,4.841,524,5.544,525,5.451,526,3.441,533,1.992,534,1.738,545,3.528,556,1.813,587,1.701,591,1.929,600,1.116,603,3.03,620,1.701,624,2.741,678,2.189,692,3.468,699,1.707,700,5.882,702,2.455,713,1.938,728,3.064,746,2.041,762,2.215,764,1.888,777,2.875,789,1.819,800,3.559,804,0.984,812,1.514,820,5.755,824,0.99,830,2.559,836,3.295,838,1.828,840,3.332,863,3.32,876,1.841,889,1.193,921,2.128,931,2.458,944,1.236,960,1.841,969,2.516,971,1.731,973,2.541,976,2.944,982,6.151,1036,2.117,1048,4.104,1077,2.271,1092,2.243,1120,3.11,1141,3.651,1157,2.365,1170,3.457,1198,5.075,1205,2.824,1210,2.257,1214,2.202,1215,2.734,1227,1.921,1238,2.177,1239,3.754,1253,1.725,1261,3.541,1266,4.804,1272,3.379,1276,3.205,1366,5.217,1385,3.629,1431,6.007,1437,1.537,1475,1.791,1480,2.934,1581,2.934,1585,4.358,1610,1.964,1622,2.243,1644,1.32,1680,2.257,1683,6.302,1686,6.7,1687,1.921,1838,4.376,1895,5.167,1896,1.938,1986,2.189,2002,8.483,2015,3.334,2020,4.685,2037,1.929,2070,1.784,2161,5.691,2163,2.041,2199,2.229,2255,2.128,2365,1.921,2387,1.964,2391,2.215,2392,1.964,2551,1.841,2610,4.303,2640,1.964,2675,2.286,2738,2.997,2777,2.14,2823,3.093,2890,1.938,3097,4.512,3103,2.657,3457,2.316,3506,2.257,3526,4.961,3556,2.202,3629,2.215,3653,1.964,3657,2.875,3779,2.243,3789,3.25,3794,5.782,3796,2.117,3816,5.199,3839,2.286,3842,3.91,3893,2.583,4004,6.264,4083,4.039,4429,3.291,4585,2.316,4675,2.742,4755,2.215,4759,2.271,4836,2.301,4865,2.215,5088,2.286,5446,3.349,5456,1.964,5489,2.257,5521,1.964,5547,4.039,5761,6.225,5765,2.332,5766,4.554,5826,5.828,5853,1.904,5868,5.969,5869,3.342,5870,3.423,5871,3.423,5872,3.423,5877,2.773,5878,2.455,5879,2.332,5880,5.406,5881,2.332,5882,2.332,5883,2.332,5884,2.332,5885,2.332,5886,2.332,5887,2.332,5888,2.332,5889,2.332,5890,2.332,5891,4.012,5892,2.332,5893,2.332,5894,2.332,5895,2.316,5896,2.332,5897,2.332,5898,2.332,5899,2.348,5900,2.348,5901,2.348,5902,2.348,5903,4.095,5904,2.348,5905,2.332,5906,4.095,5907,2.348,5908,4.095,5909,2.332,5910,2.301,5911,1.983,5912,1.983,5913,1.983,5914,1.983,5915,1.983,5916,1.983,5917,1.983,5918,1.983,5922,6.828]],["keywords/1205",[]],["title/1206",[30,260.685,1612,701.635,1622,540.178]],["content/1206",[1,2.786,8,5.369,9,2.816,13,6.168,21,1.947,23,5.951,26,3.696,27,2.12,30,3.417,31,1.983,36,2.239,41,2.78,46,1.515,50,2.982,59,3.214,108,6.537,140,1.152,144,2.837,169,2.805,171,1.99,174,3.62,188,2.621,193,1.094,194,2.112,202,2.248,204,1.717,215,4.37,220,7.61,221,2.248,236,1.187,246,1.945,255,4.048,257,3.829,269,2.089,292,2.564,310,1.775,316,2.497,319,1.755,322,2.003,328,2.39,340,2.258,346,2.716,357,2.024,362,5.303,363,2.207,390,2.547,392,2.768,398,6.68,404,1.806,408,5.886,429,5.101,434,2.497,440,2.258,466,2.536,467,1.82,468,2.751,471,2.51,475,3.09,477,5.832,487,2.448,500,5.699,513,2.768,523,5.507,524,2.976,525,5.467,526,4.058,533,2.413,534,2.105,545,3.687,587,2.06,591,2.336,603,4.655,620,2.06,624,2.431,678,2.652,699,2.067,702,2.973,713,2.347,728,3.613,762,2.683,764,2.286,789,2.203,800,2.472,804,1.191,820,6.222,836,2.922,838,2.156,840,3.85,863,3.915,876,2.23,931,2.899,960,2.23,971,2.097,973,2.997,976,3.472,982,1.448,1036,2.564,1048,4.743,1077,2.751,1120,3.668,1141,4.306,1170,4.077,1198,5.866,1205,3.264,1210,2.733,1214,2.667,1215,1.429,1227,2.326,1238,2.636,1253,2.089,1261,2.46,1266,5.552,1272,3.984,1385,3.218,1431,6.834,1437,1.861,1475,2.169,1480,3.46,1581,3.46,1585,5.036,1610,2.379,1612,5.99,1622,2.716,1680,2.733,1683,6.945,1686,7.526,1687,2.326,1838,5.057,1895,5.972,1896,2.347,1986,2.652,2002,9.546,2015,3.932,2020,5.415,2037,2.336,2070,2.161,2163,2.472,2199,2.7,2255,2.578,2365,2.326,2387,2.379,2391,2.683,2392,2.379,2551,2.23,2610,4.973,2640,2.379,2675,2.768,2777,2.592,2890,2.347,3097,5.215,3457,2.805,3506,2.733,3526,5.733,3556,2.667,3629,2.683,3653,2.379,3779,2.716,3789,3.833,3794,6.578,3796,2.564,3816,6.009,3839,2.768,3842,4.611,4004,7.126,4083,4.763,4429,3.881,4585,2.805,4755,2.683,4759,2.751,4836,2.787,4865,2.683,5088,2.768,5446,3.949,5456,2.379,5489,2.733,5521,2.379,5547,4.763,5761,7.082,5765,2.824,5766,5.263,5853,2.306,5878,2.973,5879,2.824,5880,6.248,5881,2.824,5882,2.824,5883,2.824,5884,2.824,5885,2.824,5886,2.824,5887,2.824,5888,2.824,5889,2.824,5890,2.824,5891,4.731,5892,2.824,5893,2.824,5894,2.824,5895,2.805,5896,2.824,5897,2.824,5898,2.824,5899,2.844,5900,2.844,5901,2.844,5902,2.844,5903,4.828,5904,2.844,5905,2.824,5906,4.828,5907,2.844,5908,4.828,5909,2.824,5910,2.787,5911,2.401,5912,2.401,5913,2.401,5914,2.401,5915,2.401,5916,2.401,5917,2.401,5918,2.401,5922,8.052,6030,5.407]],["keywords/1206",[]],["title/1207",[30,220.945,63,345.923,545,161.765,1622,457.831]],["content/1207",[1,2.814,8,4.602,9,2.718,13,6.217,21,1.97,23,5.998,26,3.739,27,2.149,30,1.329,31,2.01,36,2.27,41,2.158,46,1.535,50,3.546,59,3.239,63,6.991,108,6.584,140,1.167,144,1.694,169,2.844,171,2.017,174,3.656,193,1.109,194,2.141,197,2.903,202,2.279,204,1.74,215,2.57,220,7.671,221,2.279,236,1.203,246,1.971,255,4.075,257,3.868,269,2.118,287,1.642,292,2.599,310,1.8,316,2.531,319,1.779,322,2.031,328,2.423,340,2.288,346,2.753,357,2.052,362,5.318,363,2.225,390,2.573,392,2.806,398,6.728,404,1.831,408,5.938,429,5.137,434,2.531,440,2.288,466,2.571,467,1.83,468,2.788,471,2.544,475,2.399,477,5.89,487,2.481,500,5.749,523,5.556,524,2.31,525,5.515,526,4.105,533,2.446,534,2.133,545,3.994,556,1.277,587,2.088,591,2.368,613,1.621,620,2.088,624,2.459,678,2.688,699,2.095,713,2.379,728,3.655,762,2.72,764,2.317,789,2.233,800,2.506,804,1.208,820,6.255,838,2.181,840,3.889,863,3.96,876,2.26,877,4.449,931,2.932,960,2.26,971,2.126,973,3.032,976,3.512,1036,2.599,1048,4.791,1077,2.788,1120,3.71,1141,4.356,1170,4.124,1198,5.925,1205,3.297,1210,2.771,1214,2.704,1227,2.358,1238,2.672,1253,2.118,1261,2.494,1266,5.608,1272,2.379,1385,3.256,1431,6.894,1437,1.886,1475,2.199,1480,3.5,1581,3.5,1585,5.087,1610,2.412,1622,2.753,1680,2.771,1683,6.991,1686,7.586,1687,2.358,1838,5.108,1895,6.032,1896,2.379,1986,2.688,2002,9.274,2015,3.977,2020,5.469,2037,2.368,2070,2.19,2163,2.506,2199,2.737,2255,2.613,2365,2.358,2387,2.412,2391,2.72,2392,2.412,2413,4.203,2551,2.26,2578,5.372,2610,5.023,2640,2.412,2675,2.806,2777,2.627,2819,4.808,2890,2.379,2974,4.608,3097,5.267,3457,2.844,3506,2.771,3526,5.791,3556,2.704,3629,2.72,3653,2.412,3779,2.753,3789,3.877,3794,6.636,3796,2.599,3816,6.069,3839,2.806,3842,4.665,4004,7.189,4083,4.818,4429,3.926,4585,2.844,4755,2.72,4759,2.788,4836,2.825,4865,2.72,5088,2.806,5446,3.995,5456,2.412,5489,2.771,5521,2.412,5547,4.818,5761,7.144,5765,2.863,5766,5.316,5853,2.337,5878,3.014,5879,2.863,5880,6.311,5881,2.863,5882,2.863,5883,2.863,5884,2.863,5885,2.863,5886,2.863,5887,2.863,5888,2.863,5889,2.863,5890,2.863,5891,4.786,5892,2.863,5893,2.863,5894,2.863,5895,2.844,5896,2.863,5897,2.863,5898,2.863,5899,2.883,5900,2.883,5901,2.883,5902,2.883,5903,4.884,5904,2.883,5905,2.863,5906,4.884,5907,2.883,5908,4.884,5909,2.863,5910,2.825,5911,2.434,5912,2.434,5913,2.434,5914,2.434,5915,2.434,5916,2.434,5917,2.434,5918,2.434]],["keywords/1207",[]],["title/1208",[358,569.401]],["content/1208",[]],["keywords/1208",[]],["title/1209",[30,317.855,358,444.527]],["content/1209",[1,2.395,6,1.705,8,3.917,9,3.003,13,5.462,14,1.002,21,2.181,23,6.606,26,3.112,27,1.736,30,1.073,31,1.624,36,1.833,41,1.796,46,1.24,48,3.064,50,2.564,59,2.508,63,1.68,108,5.852,140,2.19,144,2.388,149,1.922,167,5.042,169,2.297,171,1.629,174,3.728,193,0.896,194,1.73,200,2.929,202,1.841,204,1.406,215,2.139,218,2.238,220,6.74,221,1.841,236,0.972,246,1.592,255,3.878,257,3.292,269,1.711,272,4.695,285,1.849,287,1.326,292,2.099,299,2.929,310,1.454,316,2.045,319,1.437,322,1.64,328,1.957,340,1.849,346,2.224,357,1.657,358,3.486,360,2.782,362,5.066,363,2.148,382,2.045,390,3.272,392,2.267,398,6.434,404,1.479,408,5.144,414,2.929,423,2.761,429,4.566,434,2.045,440,1.849,466,2.077,467,1.85,468,2.252,471,2.055,475,1.996,477,5.014,481,2.454,486,1.441,487,2.004,500,4.98,523,4.813,524,5.699,525,5.422,526,3.416,533,1.976,534,1.723,545,3.516,556,1.8,587,1.686,591,1.913,600,1.106,620,1.686,624,2.723,636,3.314,678,2.171,688,2.224,692,3.445,699,1.692,700,5.844,713,1.922,728,3.042,746,2.024,762,2.197,764,1.872,777,2.851,789,1.804,800,2.024,804,0.976,820,5.735,838,1.815,840,3.31,863,3.296,876,1.826,931,2.44,944,1.225,960,1.826,969,2.495,971,1.717,973,2.523,976,7.242,982,6.136,1036,2.099,1048,4.078,1077,2.252,1092,2.224,1120,3.088,1141,3.625,1157,2.345,1170,3.432,1198,5.043,1205,2.806,1210,2.238,1214,2.184,1227,1.905,1238,2.159,1253,1.711,1261,3.516,1266,4.774,1272,6.668,1276,3.179,1366,4.33,1379,2.929,1385,2.709,1386,2.561,1431,5.972,1437,1.524,1475,1.776,1479,5.926,1480,3.876,1581,3.876,1585,4.33,1610,1.948,1680,2.238,1683,6.274,1686,6.665,1687,1.905,1838,4.348,1895,5.134,1896,1.922,1986,2.171,2002,8.451,2015,3.31,2020,4.655,2037,1.913,2070,1.769,2161,5.654,2163,2.024,2199,2.21,2255,2.111,2365,1.905,2387,1.948,2391,2.197,2392,1.948,2551,1.826,2610,4.276,2619,11.947,2640,1.948,2675,2.267,2738,2.972,2740,2.184,2777,2.122,2823,3.067,2890,1.922,3097,4.483,3103,2.635,3457,2.297,3506,2.238,3526,4.929,3556,2.184,3629,2.197,3653,1.948,3657,2.851,3779,2.224,3789,3.227,3794,5.749,3796,2.099,3816,5.166,3839,2.267,3842,3.882,3893,2.561,4004,6.228,4083,4.01,4429,3.268,4585,2.297,4755,2.197,4759,2.252,4836,2.282,4865,2.197,5088,2.267,5446,3.325,5456,1.948,5489,2.238,5521,1.948,5547,4.01,5761,6.189,5765,2.313,5766,4.525,5826,5.785,5853,1.888,5866,6.498,5867,3.723,5868,5.926,5869,3.314,5870,3.395,5871,3.395,5872,3.395,5873,5.926,5874,8.646,5875,3.723,5876,6.498,5878,2.435,5879,2.313,5880,5.372,5881,2.313,5882,2.313,5883,2.313,5884,2.313,5885,2.313,5886,2.313,5887,2.313,5888,2.313,5889,2.313,5890,2.313,5891,3.983,5892,2.313,5893,2.313,5894,2.313,5895,2.297,5896,2.313,5897,2.313,5898,2.313,5899,2.329,5900,2.329,5901,2.329,5902,2.329,5903,4.065,5904,2.329,5905,2.313,5906,4.065,5907,2.329,5908,4.065,5909,2.313,5910,2.282,5911,1.966,5912,1.966,5913,1.966,5914,1.966,5915,1.966,5916,1.966,5917,1.966,5918,1.966]],["keywords/1209",[]],["title/1210",[505,701.19]],["content/1210",[]],["keywords/1210",[]],["title/1211",[30,317.855,505,547.414]],["content/1211",[1,2.845,30,4.224,36,5.058,46,3.422,63,6.613,68,6.857,140,2.602,171,4.495,174,6.145,193,2.472,236,2.681,246,4.393,255,4.493,257,5.577,269,4.72,310,5.72,319,3.966,362,3.681,364,6.136,398,4.755,434,5.642,440,5.1,464,6.806,467,2.271,505,9.773,523,4.772,534,4.755,545,3.604,566,9.295,591,5.278,592,10.397,820,6.082,838,4.092,856,6.826,863,7.43,931,5.501,971,4.737,973,5.688,1099,7.586,1205,5.542,1253,4.72,1385,4.283,1475,4.9,1581,6.566,1585,8.55,1683,8.403,1687,5.255,1896,5.302,2015,7.462,2037,5.278,2070,4.881,2365,5.255,2387,5.375,2392,5.375,2551,5.038,2610,7.244,2890,5.302,3097,8.854,3653,5.375,3789,7.274,4004,6.175,4429,7.366,5446,7.495,5456,5.375,5521,5.375,5766,7.666,5853,5.209,5911,5.425,5912,5.425,5913,5.425,5914,5.425,5915,5.425,5916,5.425,5917,5.425,5918,5.425,5984,11.311,6031,12.216]],["keywords/1211",[]],["title/1212",[674,1163.403]],["content/1212",[]],["keywords/1212",[]],["title/1213",[30,317.855,674,908.26]],["content/1213",[1,3.145,8,5.144,30,3.274,36,5.592,46,3.783,140,2.876,171,4.97,174,6.488,236,2.964,246,4.856,255,4.136,257,5.984,269,5.218,310,4.434,319,4.384,358,4.578,362,3.95,440,5.638,467,2.336,501,8.293,523,5.275,534,5.256,545,3.318,591,5.835,674,12.949,820,6.422,838,4.39,863,7.972,931,5.903,971,5.237,973,6.103,1205,5.851,1253,5.218,1475,5.417,1581,5.09,1585,9.027,1683,8.783,1687,5.809,1896,5.861,2015,8.007,2037,5.835,2070,5.396,2365,5.809,2387,5.942,2392,5.942,2551,5.569,2610,7.772,2890,5.861,3097,9.348,3653,5.942,3789,7.805,4429,7.904,5446,8.042,5456,5.942,5521,5.942,5766,8.225,5853,5.759,5911,5.997,5912,5.997,5913,5.997,5914,5.997,5915,5.997,5916,5.997,5917,5.997,5918,5.997,6032,10.961]],["keywords/1213",[]],["title/1214",[5446,722.499]],["content/1214",[]],["keywords/1214",[]],["title/1215",[30,317.855,5446,564.05]],["content/1215",[1,3.042,30,3.167,36,5.409,46,3.659,61,6.297,140,2.782,144,4.037,171,4.807,174,6.374,236,2.867,246,4.698,255,4.041,257,5.848,269,5.047,310,4.289,319,4.241,362,3.86,429,3.883,440,5.454,467,2.315,523,5.103,524,3.25,534,5.084,545,3.242,591,5.645,820,6.309,838,4.29,863,7.79,886,5.571,931,5.768,971,5.066,973,5.964,1205,5.748,1253,5.047,1475,5.24,1581,6.885,1585,8.868,1683,8.658,1687,5.62,1896,5.67,2015,7.824,2037,5.645,2070,5.22,2365,5.62,2387,5.748,2392,5.748,2551,5.387,2610,7.595,2675,9.353,2890,5.67,3097,9.184,3653,5.748,3789,7.627,3794,6.095,4429,7.723,5446,10.327,5456,5.748,5521,5.748,5766,8.037,5812,14.827,5853,5.571,5911,5.801,5912,5.801,5913,5.801,5914,5.801,5915,5.801,5916,5.801,5917,5.801,5918,5.801]],["keywords/1215",[]],["title/1216",[429,499.172]],["content/1216",[]],["keywords/1216",[]],["title/1217",[30,317.855,429,389.7]],["content/1217",[1,2.183,8,2.901,9,2.667,13,6.256,15,1.141,19,1.204,21,1.175,23,4.099,26,2.231,27,1.195,30,3.229,31,1.118,36,1.262,38,2.599,41,5.078,46,5.452,50,2.337,58,2.006,59,3.769,61,6.904,63,2.103,68,2.181,83,1.348,85,4.162,90,1.059,108,4.639,120,3.524,122,2.095,140,0.649,144,0.942,157,1.373,164,1.615,169,1.582,171,1.122,174,3.291,193,0.617,194,2.165,202,1.268,203,2.078,204,1.759,209,1.797,215,2.594,220,5.242,221,1.268,230,5.31,235,7.552,236,4.735,239,4.785,243,2.978,246,1.096,248,1.317,252,3.838,255,3.543,256,3.616,257,4.263,259,1.438,263,2.875,264,1.513,268,1.893,269,1.178,273,3.841,274,1.779,285,1.273,287,1.66,290,1.989,292,1.445,297,1.38,306,1.893,310,1.001,316,1.408,319,1.799,322,1.13,326,1.47,328,1.348,329,1.799,340,1.273,346,1.532,357,2.074,358,1.034,362,5.012,363,3.016,379,1.718,390,2.316,392,1.561,398,6.233,404,1.851,408,3.913,417,1.043,423,3.886,429,5.91,434,2.559,440,1.273,442,1.815,443,1.076,455,1.513,464,1.191,466,1.43,467,1.838,468,1.551,471,1.415,475,3.7,477,4.569,487,1.38,489,1.317,500,3.789,516,1.373,520,3.554,523,3.661,524,1.379,525,5.165,526,3.367,533,3.399,534,1.187,545,2.97,556,0.71,565,1.541,587,1.161,591,1.317,600,2.342,603,2.965,609,1.604,620,2.111,624,2.88,651,1.704,656,3.403,678,1.495,681,2.112,699,5.475,713,2.405,717,2.233,726,1.748,728,2.181,739,3.757,746,4.285,762,1.513,764,1.289,787,7.211,789,1.242,800,2.533,804,0.672,812,1.034,820,6.072,838,1.301,840,2.452,842,0.979,848,2.267,862,4.447,863,2.363,866,6.433,868,1.797,876,1.257,878,7.399,886,1.3,894,7.504,931,1.75,949,2.133,960,1.257,971,1.182,973,1.809,976,2.881,1018,0.99,1033,6.077,1036,1.445,1045,1.604,1048,6.636,1056,3.838,1062,3.441,1077,1.551,1120,2.214,1141,2.599,1146,1.541,1154,7.178,1158,1.764,1170,4.162,1198,3.735,1205,2.079,1210,1.541,1213,3.481,1214,1.504,1215,0.805,1227,2.384,1237,2.875,1238,1.486,1253,1.178,1256,3.235,1261,3.465,1266,3.536,1272,1.323,1338,2.112,1344,1.582,1350,4.059,1373,4.679,1385,2.67,1431,4.543,1437,1.049,1475,1.223,1480,2.088,1573,2.702,1581,4.099,1585,3.207,1610,1.341,1611,3.666,1613,0.902,1624,2.978,1644,0.902,1680,1.541,1683,5.055,1686,5.184,1687,1.312,1736,3.524,1838,3.963,1895,3.803,1896,1.323,1913,1.939,1916,4.367,1954,2.875,1986,1.495,1992,1.963,2002,6.991,2015,2.373,2020,3.448,2037,1.317,2070,1.218,2072,4.659,2163,1.394,2175,4.97,2199,1.522,2236,1.893,2255,2.641,2283,2.189,2321,3.905,2328,1.915,2365,1.312,2387,1.341,2391,1.513,2392,1.341,2551,1.257,2578,1.764,2610,3.167,2640,1.341,2675,1.561,2709,3.719,2777,4.492,2890,1.323,3097,3.321,3315,2.189,3457,1.582,3506,2.801,3526,3.651,3555,2.149,3556,1.504,3561,4.148,3620,1.872,3629,1.513,3646,1.833,3653,1.341,3779,1.532,3784,3.978,3789,2.313,3794,4.373,3796,1.445,3816,3.826,3839,1.561,3842,2.784,3893,1.764,3939,2.282,4004,5.498,4083,2.875,4199,2.282,4228,3.719,4282,4.148,4429,2.343,4556,2.338,4585,1.582,4675,1.872,4755,1.513,4759,1.551,4836,1.571,4865,2.75,5088,1.561,5446,2.384,5456,1.341,5489,2.801,5491,4.249,5521,1.341,5547,2.875,5610,2.338,5761,4.708,5765,1.593,5766,3.351,5853,1.3,5877,1.893,5878,1.676,5879,1.593,5880,3.979,5881,1.593,5882,1.593,5883,1.593,5884,1.593,5885,1.593,5886,1.593,5887,1.593,5888,1.593,5889,1.593,5890,1.593,5891,4.83,5892,1.593,5893,1.593,5894,1.593,5895,1.582,5896,1.593,5897,1.593,5898,1.593,5899,1.604,5900,1.604,5901,1.604,5902,1.604,5903,2.915,5904,1.604,5905,3.979,5906,2.915,5907,1.604,5908,2.915,5909,1.593,5910,1.571,5911,1.354,5912,1.354,5913,1.354,5914,1.354,5915,1.354,5916,1.354,5917,1.354,5918,1.354,5924,2.401,5925,2.401,5926,2.401,5927,2.282,5928,2.282,5929,2.282,5930,4.364,5931,2.338,5932,2.401,5933,2.401,6033,3.049,6034,5.541,6035,3.049,6036,3.049,6037,3.049,6038,2.233]],["keywords/1217",[]],["title/1218",[4757,1412.056]],["content/1218",[]],["keywords/1218",[]],["title/1219",[30,317.855,4757,1102.381]],["content/1219",[1,3.782,2,3.073,8,4.721,9,2.759,13,7.315,18,4.462,19,2.242,21,2.029,23,6.12,26,3.851,30,1.376,31,4.546,36,2.35,41,2.223,46,1.59,50,3.09,59,2.961,78,3.146,90,1.971,108,6.704,140,1.209,144,1.754,146,3.851,171,2.089,174,3.75,193,1.149,194,2.217,202,2.36,204,1.802,215,2.647,220,7.827,221,2.36,236,1.246,246,2.041,255,3.894,257,4.656,269,2.193,285,2.37,292,2.691,310,1.863,316,2.621,319,3.105,322,2.103,324,3.932,328,2.509,340,2.37,346,2.851,362,5.464,363,2.27,390,2.037,392,2.906,398,4.824,404,1.896,408,5.174,429,5.232,434,2.621,440,2.37,466,2.662,467,1.856,468,2.887,471,2.635,475,1.466,477,4.663,500,5.88,523,3.736,524,3.083,525,5.641,526,4.227,533,2.532,534,2.209,545,3.324,587,2.162,591,2.452,603,2.209,620,2.162,624,3.282,668,3.868,673,4.352,684,4.469,699,2.169,713,2.463,728,3.764,756,6.519,762,2.816,764,2.4,789,2.313,820,5.891,838,2.246,840,3.99,863,4.078,868,5.637,876,2.341,886,4.078,897,3.225,931,3.02,960,2.341,971,2.201,973,3.122,976,5.501,1036,2.691,1048,2.251,1061,2.985,1077,2.887,1099,7.697,1141,4.486,1198,6.077,1199,3.932,1205,3.382,1210,2.869,1214,2.8,1227,2.442,1238,2.767,1253,2.193,1266,7.537,1272,6.313,1385,4.345,1431,7.051,1475,2.277,1480,2.139,1581,3.605,1585,5.218,1680,2.869,1683,7.108,1687,2.442,1838,5.24,1896,2.463,1954,2.945,1986,2.783,2002,9.405,2015,4.096,2020,5.61,2037,4.132,2070,2.268,2091,3.525,2163,2.595,2199,2.834,2255,2.706,2311,2.985,2365,2.442,2387,2.497,2391,2.816,2392,2.497,2478,7.531,2551,2.341,2610,3.976,2640,2.497,2777,2.72,2890,2.463,3097,5.403,3457,2.945,3506,2.869,3526,2.72,3556,2.8,3578,4.157,3629,2.816,3653,2.497,3789,5.174,3794,6.787,3796,2.691,3839,2.906,3842,4.804,4004,7.353,4082,4.352,4429,4.043,4585,2.945,4747,4.772,4757,4.772,4759,2.887,4865,2.816,5088,2.906,5323,7.763,5446,4.114,5456,2.497,5489,6.265,5521,2.497,5547,4.962,5761,2.851,5766,4.208,5767,7.763,5812,4.607,5853,2.42,5879,2.965,5880,6.474,5881,2.965,5882,2.965,5883,2.965,5884,2.965,5885,2.965,5886,2.965,5887,2.965,5888,2.965,5889,2.965,5890,2.965,5891,4.929,5892,2.965,5893,2.965,5894,2.965,5895,2.945,5896,2.965,5897,2.965,5898,2.965,5910,2.925,5911,2.521,5912,2.521,5913,2.521,5914,2.521,5915,2.521,5916,2.521,5917,2.521,5918,2.521,6039,5.675,6040,4.469,6041,9.563,6042,5.675,6043,5.675,6044,5.675,6045,5.675,6046,5.675]],["keywords/1219",[]],["title/1220",[23,633.001]],["content/1220",[]],["keywords/1220",[]],["title/1221",[23,494.18,30,317.855]],["content/1221",[1,2.878,23,8.861,30,2.996,36,5.117,46,3.461,140,2.632,171,4.548,174,6.184,236,2.712,246,4.444,255,3.886,257,5.623,269,4.775,286,4.36,310,4.057,319,4.012,362,4.318,409,7.022,429,6.615,440,5.159,467,2.279,523,4.827,534,4.81,545,3.118,591,5.34,674,8.56,772,10.84,773,12.38,820,6.121,838,4.125,863,7.491,931,5.547,947,5.54,971,4.792,973,5.735,1205,5.577,1253,4.775,1475,4.957,1581,6.621,1585,8.604,1683,8.447,1687,5.316,1896,5.363,1954,9.113,2015,7.524,2037,5.34,2070,4.938,2365,5.316,2387,5.437,2392,5.437,2551,5.096,2610,9.253,2890,5.363,3097,8.91,3508,9.251,3653,5.437,3789,7.334,4082,9.475,4429,7.427,4524,9.475,5446,7.557,5456,5.437,5521,5.437,5766,7.729,5853,5.27,5911,5.488,5912,5.488,5913,5.488,5914,5.488,5915,5.488,5916,5.488,5917,5.488,5918,5.488,5954,9.475,6047,10.84,6048,11.442]],["keywords/1221",[]],["title/1222",[23,405.295,30,260.685,6047,943.268]],["content/1222",[1,2.886,8,4.721,9,2.627,13,6.343,21,2.029,23,7.058,26,3.851,27,2.225,30,1.376,31,2.082,36,2.35,41,2.223,46,1.59,50,3.09,59,2.961,108,6.704,140,1.209,144,1.754,169,2.945,171,2.089,174,3.75,193,1.149,194,2.217,202,2.36,204,1.802,215,2.647,220,7.827,221,2.36,236,1.246,246,2.041,255,4.143,257,3.967,269,2.193,292,2.691,310,1.863,316,2.621,319,1.842,322,2.103,328,2.509,340,2.37,346,2.851,357,2.124,362,5.356,363,2.27,390,2.639,392,2.906,398,6.851,404,1.896,408,6.073,429,5.566,434,2.621,440,2.37,466,2.662,467,1.856,468,2.887,471,2.635,475,2.47,477,6.042,487,2.569,500,5.88,523,5.682,524,2.379,525,5.641,526,4.227,533,2.532,534,2.209,545,3.756,587,2.162,591,2.452,620,2.162,624,2.532,678,2.783,699,2.169,713,2.463,728,3.764,762,2.816,764,2.4,772,4.979,789,2.313,804,1.251,820,6.131,838,2.246,840,3.99,863,4.078,876,2.341,931,3.02,960,2.341,971,2.201,973,3.122,976,3.617,1036,2.691,1048,4.914,1077,2.887,1120,3.821,1141,4.486,1170,4.247,1198,6.077,1205,3.382,1210,2.869,1214,2.8,1227,2.442,1238,2.767,1253,2.193,1261,2.582,1266,5.753,1272,2.463,1385,3.353,1431,7.051,1437,1.953,1475,2.277,1480,3.605,1581,3.605,1585,5.218,1610,2.497,1680,2.869,1683,7.108,1686,7.74,1687,2.442,1838,5.24,1895,6.187,1896,2.463,1986,2.783,2002,9.405,2015,4.096,2020,5.61,2037,2.452,2070,2.268,2163,2.595,2199,2.834,2255,2.706,2365,2.442,2387,2.497,2391,2.816,2392,2.497,2551,2.341,2610,5.153,2640,2.497,2675,2.906,2777,2.72,2890,2.463,3097,5.403,3457,2.945,3506,2.869,3526,5.941,3556,2.8,3629,2.816,3653,2.497,3779,2.851,3789,3.993,3794,6.787,3796,2.691,3816,6.226,3839,2.906,3842,4.804,4004,8.898,4083,4.962,4429,4.043,4585,2.945,4755,2.816,4759,2.887,4836,2.925,4865,2.816,5088,2.906,5446,4.114,5456,2.497,5489,2.869,5521,2.497,5547,4.962,5761,7.307,5765,2.965,5766,5.453,5853,2.42,5879,2.965,5880,6.474,5881,2.965,5882,2.965,5883,2.965,5884,2.965,5885,2.965,5886,2.965,5887,2.965,5888,2.965,5889,2.965,5890,2.965,5891,4.929,5892,2.965,5893,2.965,5894,2.965,5895,2.945,5896,2.965,5897,2.965,5898,2.965,5899,2.985,5900,2.985,5901,2.985,5902,2.985,5903,5.03,5904,2.985,5905,2.965,5906,5.03,5907,2.985,5908,5.03,5909,2.965,5910,2.925,5911,2.521,5912,2.521,5913,2.521,5914,2.521,5915,2.521,5916,2.521,5917,2.521,5918,2.521,6047,4.979]],["keywords/1222",[]],["title/1223",[23,405.295,30,260.685,773,757.892]],["content/1223",[1,2.886,8,4.721,9,2.627,13,6.343,21,2.029,23,7.058,26,3.851,27,2.225,30,1.376,31,2.082,36,2.35,41,2.223,46,1.59,50,3.09,59,2.961,108,6.704,140,1.209,144,1.754,169,2.945,171,2.089,174,3.75,193,1.149,194,2.217,202,2.36,204,1.802,215,2.647,220,7.827,221,2.36,236,1.246,246,2.041,255,4.143,257,3.967,269,2.193,292,2.691,310,1.863,316,2.621,319,1.842,322,2.103,328,2.509,340,2.37,346,2.851,357,2.124,362,5.356,363,2.27,390,2.639,392,2.906,398,6.851,404,1.896,408,6.073,429,5.566,434,2.621,440,2.37,466,2.662,467,1.856,468,2.887,471,2.635,475,2.47,477,6.042,487,2.569,500,5.88,523,5.682,524,2.379,525,5.641,526,4.227,533,2.532,534,2.209,545,3.756,587,2.162,591,2.452,620,2.162,624,2.532,678,2.783,699,2.169,713,2.463,728,3.764,762,2.816,764,2.4,773,6.74,789,2.313,804,1.251,820,6.131,838,2.246,840,3.99,863,4.078,876,2.341,931,3.02,960,2.341,971,2.201,973,3.122,976,3.617,1036,2.691,1048,4.914,1077,2.887,1120,3.821,1141,4.486,1170,4.247,1198,6.077,1205,3.382,1210,2.869,1214,2.8,1227,2.442,1238,2.767,1253,2.193,1261,2.582,1266,5.753,1272,2.463,1385,3.353,1431,7.051,1437,1.953,1475,2.277,1480,3.605,1581,3.605,1585,5.218,1610,2.497,1680,2.869,1683,7.108,1686,7.74,1687,2.442,1838,5.24,1895,6.187,1896,2.463,1986,2.783,2002,9.405,2015,4.096,2020,5.61,2037,2.452,2070,2.268,2163,2.595,2199,2.834,2255,2.706,2365,2.442,2387,2.497,2391,2.816,2392,2.497,2551,2.341,2610,5.153,2640,2.497,2675,2.906,2777,2.72,2890,2.463,3097,5.403,3457,2.945,3506,2.869,3526,5.941,3556,2.8,3629,2.816,3653,2.497,3779,2.851,3789,3.993,3794,6.787,3796,2.691,3816,6.226,3839,2.906,3842,4.804,4004,8.898,4083,4.962,4429,4.043,4585,2.945,4755,2.816,4759,2.887,4836,2.925,4865,2.816,5088,2.906,5446,4.114,5456,2.497,5489,2.869,5521,2.497,5547,4.962,5761,7.307,5765,2.965,5766,5.453,5853,2.42,5879,2.965,5880,6.474,5881,2.965,5882,2.965,5883,2.965,5884,2.965,5885,2.965,5886,2.965,5887,2.965,5888,2.965,5889,2.965,5890,2.965,5891,4.929,5892,2.965,5893,2.965,5894,2.965,5895,2.945,5896,2.965,5897,2.965,5898,2.965,5899,2.985,5900,2.985,5901,2.985,5902,2.985,5903,5.03,5904,2.985,5905,2.965,5906,5.03,5907,2.985,5908,5.03,5909,2.965,5910,2.925,5911,2.521,5912,2.521,5913,2.521,5914,2.521,5915,2.521,5916,2.521,5917,2.521,5918,2.521]],["keywords/1223",[]],["title/1224",[23,343.511,30,220.945,1954,472.856,4524,698.812]],["content/1224",[1,3.103,8,5.074,9,2.598,13,6.711,21,2.207,23,7.392,26,4.189,30,2.522,31,2.302,36,2.599,41,2.418,46,1.758,50,3.321,59,3.154,108,7.053,140,1.337,144,1.94,171,2.31,174,4.031,193,1.27,194,2.452,202,2.61,204,1.993,215,2.879,220,8.28,221,2.61,236,1.377,246,2.257,255,4.097,257,4.265,269,2.425,310,2.061,316,2.899,319,2.037,322,2.325,328,2.774,340,2.62,346,3.153,362,5.424,363,2.401,390,2.215,392,3.214,398,5.185,404,2.097,408,6.47,429,6.099,434,2.899,440,2.62,466,2.944,467,1.93,468,3.193,471,2.913,475,1.621,477,5.072,500,6.264,523,4.064,524,2.588,525,6.009,526,4.598,533,2.801,534,2.443,545,3.481,587,2.391,591,2.712,620,2.391,624,2.755,674,7.206,699,2.399,713,2.724,728,4.094,756,3.301,762,3.115,764,2.654,770,5.812,789,2.557,820,6.146,824,1.391,838,2.443,840,4.288,863,4.436,868,3.699,876,2.588,931,3.285,960,2.588,971,2.434,973,3.396,976,3.934,1036,2.976,1048,2.489,1077,3.193,1099,6.46,1141,4.879,1198,6.533,1199,4.348,1205,3.635,1210,3.173,1214,3.096,1227,2.7,1238,3.06,1253,2.425,1266,6.184,1272,2.724,1281,4.095,1385,3.647,1431,7.512,1475,2.518,1480,2.366,1572,3.943,1581,3.921,1585,5.609,1680,3.173,1683,7.443,1687,2.7,1838,5.632,1896,2.724,1954,6.912,1986,3.078,2002,9.781,2015,4.455,2020,6.031,2037,4.495,2070,2.508,2163,2.869,2199,3.134,2255,2.992,2365,2.7,2387,2.762,2391,3.115,2392,2.762,2551,2.588,2610,4.325,2640,2.762,2777,3.008,2890,2.724,3097,5.808,3457,3.256,3506,3.173,3556,3.096,3629,3.115,3653,2.762,3789,4.343,3794,7.231,3796,2.976,3839,3.214,3842,5.226,4004,7.833,4082,4.812,4429,4.398,4524,4.812,4585,3.256,4759,3.193,4865,3.115,5088,3.214,5446,4.475,5456,2.762,5489,3.173,5521,2.762,5547,5.397,5761,3.153,5766,4.577,5767,5.095,5815,5.812,5853,2.677,5879,3.279,5880,6.959,5881,3.279,5882,3.279,5883,3.279,5884,3.279,5885,3.279,5886,3.279,5887,3.279,5888,3.279,5889,3.279,5890,3.279,5891,5.361,5892,3.279,5893,3.279,5894,3.279,5895,3.256,5896,3.279,5897,3.279,5898,3.279,5910,3.235,5911,2.787,5912,2.787,5913,2.787,5914,2.787,5915,2.787,5916,2.787,5917,2.787,5918,2.787,6048,5.812]],["keywords/1224",[]],["title/1225",[363,234.772]],["content/1225",[]],["keywords/1225",[]],["title/1226",[30,317.855,363,183.285]],["content/1226",[1,1.726,6,1.136,8,2.823,9,2.909,13,4.654,14,2.696,19,1.166,21,1.572,23,4.004,26,2.166,27,1.157,30,0.715,31,1.082,36,1.222,41,2.124,46,0.826,48,2.133,50,3.924,51,2.754,59,3.483,61,1.422,63,5.974,67,2.849,68,2.917,83,1.304,108,5.351,120,3.42,122,2.042,128,4.124,140,1.946,144,2.824,167,3.509,169,1.531,171,1.086,174,2.243,193,0.597,194,1.153,200,1.952,202,1.227,204,2.901,215,4.556,218,1.491,220,5.12,221,1.227,222,4.84,228,2.481,230,2.345,236,1.18,243,1.586,246,1.061,255,4.25,257,2.925,260,1.377,263,1.531,264,1.464,269,1.14,272,3.267,285,1.232,287,0.884,292,1.399,294,3.726,299,1.952,301,1.541,310,0.969,316,2.484,319,1.746,322,1.093,326,1.422,328,1.304,340,1.232,346,1.482,352,1.635,357,3.42,362,4.569,363,3.49,379,1.662,382,1.363,390,1.946,392,1.511,398,6.126,404,0.986,408,3.815,414,1.952,423,2.648,429,3.541,434,1.363,440,1.232,443,4.603,466,1.384,467,1.605,468,1.501,471,1.37,475,3.37,477,3.613,478,2.497,481,5.065,483,2.118,486,1.751,487,3.355,500,3.694,504,1.876,505,3.094,513,1.511,516,1.329,523,7.324,524,5.854,525,4.12,526,2.377,533,1.316,534,1.148,540,1.054,545,3.838,556,2.128,587,1.124,591,1.275,597,1.356,600,1.852,613,2.702,620,2.049,624,1.962,625,1.31,656,1.812,673,2.262,678,1.447,692,3.559,699,1.128,700,4.212,702,11.738,711,2.981,713,1.281,728,2.117,731,1.756,743,1.124,746,2.459,762,1.464,764,1.247,777,1.9,789,1.202,795,2.323,800,5.447,804,2.341,812,2.513,820,5.125,838,1.263,840,2.386,848,3.032,849,3.954,862,1.723,863,2.294,868,1.739,876,1.217,887,2.423,892,2.101,898,1.391,900,2.984,921,2.564,931,1.698,944,1.489,957,1.707,960,2.218,969,1.662,971,1.144,973,1.756,976,3.456,982,5.718,1036,1.399,1048,2.939,1077,1.501,1092,1.482,1107,2.044,1108,2.044,1120,2.961,1141,2.523,1149,4.602,1157,2.849,1170,2.388,1191,4.124,1198,3.634,1205,2.022,1208,1.232,1210,1.491,1214,1.455,1215,0.78,1227,1.269,1238,2.622,1253,1.14,1256,1.723,1261,2.447,1263,1.876,1266,3.44,1272,6.484,1276,2.118,1294,1.336,1358,3.42,1366,4.472,1385,1.886,1386,3.111,1431,4.43,1437,2.551,1475,1.183,1477,1.98,1480,2.027,1487,1.854,1563,1.812,1564,1.925,1581,7.067,1585,3.12,1610,1.298,1613,1.59,1644,0.872,1680,1.491,1683,4.952,1686,5.064,1687,2.314,1719,2.395,1777,1.521,1838,3.133,1895,3.7,1896,1.281,1986,1.447,2002,6.865,2015,2.304,2020,3.355,2037,1.275,2070,1.179,2161,5.841,2163,1.349,2199,2.685,2238,3.939,2255,1.406,2365,1.269,2387,1.298,2391,3.678,2392,1.298,2551,1.217,2610,3.081,2640,2.366,2675,1.511,2709,1.98,2738,1.98,2777,1.414,2815,2.323,2823,2.044,2890,1.281,2985,4.124,3027,1.792,3097,3.231,3103,1.756,3457,1.531,3460,3.005,3506,1.491,3517,1.98,3526,3.552,3556,1.455,3620,1.812,3629,1.464,3653,1.298,3657,1.9,3779,1.482,3789,2.245,3794,4.264,3796,1.399,3816,3.723,3839,1.511,3842,2.702,3893,1.707,3993,2.588,3997,4.124,4004,5.37,4083,2.79,4228,3.61,4429,2.274,4585,1.531,4675,1.812,4755,1.464,4759,1.501,4829,2.395,4836,1.521,4865,1.464,5088,1.511,5446,2.314,5449,2.395,5456,2.366,5489,1.491,5521,1.298,5547,2.79,5761,4.59,5765,1.541,5766,3.261,5826,4.026,5853,1.258,5868,4.124,5869,2.209,5870,4.124,5871,2.262,5872,2.262,5877,1.832,5878,1.622,5879,1.541,5880,3.871,5881,1.541,5882,1.541,5883,1.541,5884,1.541,5885,1.541,5886,1.541,5887,1.541,5888,1.541,5889,1.541,5890,1.541,5891,2.772,5892,1.541,5893,1.541,5894,1.541,5895,1.531,5896,1.541,5897,1.541,5898,1.541,5899,1.552,5900,1.552,5901,1.552,5902,1.552,5903,2.829,5904,1.552,5905,1.541,5906,2.829,5907,1.552,5908,2.829,5909,1.541,5910,1.521,5911,1.31,5912,1.31,5913,1.31,5914,1.31,5915,1.31,5916,1.31,5917,1.31,5918,1.31,5919,3.791,5927,2.209,5928,2.209,5929,2.209,5937,2.481,5938,2.481,6009,2.323,6049,2.481,6050,2.732,6051,6.862,6052,6.862,6053,2.732,6054,2.732,6055,4.98,6056,4.98,6057,2.732,6058,2.732,6059,2.732,6060,2.732,6061,2.732,6062,2.732,6063,2.732,6064,2.732,6065,4.98,6066,2.732,6067,2.732]],["keywords/1226",[]],["title/1227",[141,467.07]],["content/1227",[]],["keywords/1227",[]],["title/1228",[30,317.855,141,364.638]],["content/1228",[1,2.219,8,2.49,9,2.531,13,6.861,15,1.758,21,0.996,23,3.592,26,1.891,27,0.998,30,2.873,31,1.722,36,1.054,38,2.203,41,4.714,46,5.053,50,2.376,56,1.515,58,1.7,59,3.47,61,6.184,63,1.782,68,1.848,83,2.076,85,2.904,90,1.631,108,4.098,120,2.986,122,1.818,140,1,141,6.294,144,2.945,146,3.275,149,1.104,157,1.146,164,1.348,169,1.32,171,0.936,174,2.884,180,2.14,193,1.928,194,1.834,202,2.718,203,1.734,204,1.491,209,1.5,215,3.551,220,4.593,221,1.058,230,4.691,235,6.84,236,4.308,239,4.108,243,2.524,246,0.915,248,2.029,251,1.906,252,3.253,255,3.649,256,4.266,257,3.794,259,1.2,263,2.436,264,1.263,268,1.58,269,0.983,273,3.418,274,1.507,277,1.794,285,1.961,287,1.406,290,1.66,292,1.206,297,1.152,306,1.58,310,0.836,316,1.175,319,1.524,321,4.348,322,2.422,326,1.227,328,2.076,329,1.524,340,1.062,343,0.799,345,1.403,346,1.278,357,1.758,358,0.863,362,4.614,363,2.916,379,1.434,390,2.029,392,1.303,398,5.927,404,1.569,408,3.396,417,0.871,423,3.405,424,1.546,429,5.361,434,2.169,440,1.062,442,1.515,443,1.657,455,1.263,466,1.194,467,1.81,468,1.295,471,1.181,475,3.314,477,4.646,487,1.152,489,1.1,496,1.827,500,3.288,501,1.563,505,1.961,520,3.051,523,3.177,524,1.168,525,5.625,526,2.076,533,2.917,534,0.99,545,2.703,556,0.593,566,1.358,587,0.969,591,1.1,598,1.66,600,2.381,603,1.828,609,1.338,620,1.789,624,2.523,625,2.085,651,1.422,656,2.884,661,1.463,678,1.248,681,1.763,699,4.904,713,1.104,717,1.864,728,1.848,739,3.225,746,2.147,762,1.263,764,2.764,777,1.639,787,6.947,789,3.314,800,2.147,804,0.561,812,0.863,820,5.658,838,1.103,840,2.105,842,2.099,848,3.327,859,3.698,862,1.486,863,5.055,866,5.797,868,6.342,876,1.049,878,6.537,882,2.404,886,3.469,889,2.174,894,6.678,897,1.446,931,1.483,949,1.808,960,1.049,971,0.987,973,1.533,976,2.473,982,1.258,1018,0.826,1033,5.325,1036,1.206,1045,1.338,1048,7.153,1056,3.253,1059,1.708,1062,2.916,1077,1.295,1092,1.278,1103,1.255,1120,1.876,1141,2.203,1142,1.58,1146,1.286,1154,6.342,1158,3.782,1170,4.778,1191,3.601,1198,3.206,1205,1.784,1207,9.224,1210,1.286,1212,9.113,1213,2.95,1214,1.255,1215,0.672,1227,2.02,1237,2.436,1238,1.241,1253,0.983,1256,2.742,1261,3.7,1263,1.618,1266,3.035,1272,1.104,1338,1.763,1350,3.44,1366,1.071,1373,4.061,1385,2.852,1431,3.943,1437,0.876,1473,1.241,1475,1.021,1480,1.77,1573,2.289,1581,3.066,1585,2.753,1610,1.12,1611,3.107,1613,2.405,1624,2.524,1644,0.753,1680,1.286,1683,4.499,1686,4.542,1687,1.095,1736,2.986,1838,3.439,1895,3.264,1896,1.104,1913,1.618,1916,3.748,1954,2.436,1986,1.248,1992,1.639,2002,6.3,2015,2.011,2020,3.682,2037,1.1,2070,1.017,2163,1.163,2176,3.31,2199,1.27,2236,1.58,2248,2.669,2255,2.239,2283,1.827,2321,3.31,2328,4.108,2365,1.095,2387,1.12,2391,1.263,2392,1.12,2414,3.515,2489,2.232,2551,1.049,2578,1.472,2610,2.718,2640,1.12,2675,1.303,2709,3.152,2740,1.255,2749,1.486,2777,3.899,2889,2.356,2890,1.104,3051,1.951,3097,2.851,3202,2.14,3258,2.232,3315,1.827,3457,1.32,3506,2.374,3526,3.134,3555,1.794,3556,1.255,3561,3.515,3620,1.563,3629,1.263,3646,1.53,3653,1.12,3779,1.278,3784,3.372,3786,4.348,3789,1.961,3794,3.795,3796,1.206,3816,3.284,3839,1.303,3842,2.359,3860,1.5,3893,1.472,3939,1.905,3989,3.31,4004,4.817,4083,2.436,4199,1.905,4228,3.152,4248,3.601,4282,3.515,4429,1.985,4556,1.951,4585,1.32,4675,2.884,4755,1.263,4759,1.295,4836,1.311,4865,2.33,5088,1.303,5446,2.02,5456,1.12,5489,4.112,5491,3.601,5518,3.698,5521,1.12,5547,2.436,5610,1.951,5761,4.086,5765,1.329,5766,3.579,5853,1.085,5877,1.58,5878,1.399,5879,1.329,5880,3.415,5881,1.329,5882,1.329,5883,1.329,5884,1.329,5885,1.329,5886,1.329,5887,1.329,5888,1.329,5889,1.329,5890,1.329,5891,5.545,5892,1.329,5893,1.329,5894,1.329,5895,1.32,5896,1.329,5897,1.329,5898,1.329,5899,1.338,5900,1.338,5901,1.338,5902,1.338,5903,2.47,5904,1.338,5905,3.415,5906,2.47,5907,1.338,5908,2.47,5909,1.329,5910,1.311,5911,1.13,5912,1.13,5913,1.13,5914,1.13,5915,1.13,5916,1.13,5917,1.13,5918,1.13,5919,3.31,5924,2.004,5925,2.004,5926,2.004,5927,1.905,5928,1.905,5929,1.905,5930,3.698,5931,1.951,5932,2.004,5933,3.698,6068,2.545,6069,2.545,6070,2.545,6071,2.545,6072,2.545,6073,2.232,6074,2.545,6075,2.545,6076,2.545,6077,2.545,6078,2.356,6079,2.545,6080,4.696,6081,2.545,6082,2.545,6083,2.545,6084,2.545,6085,2.545,6086,3.948,6087,4.696,6088,2.545,6089,2.545]],["keywords/1228",[]],["title/1229",[1,305.359,6090,1005.321]],["content/1229",[]],["keywords/1229",[]],["title/1230",[1954,557.905,6090,824.502,6091,995.701]],["content/1230",[]],["keywords/1230",[]],["title/1231",[7,509.824,1431,521.266,5465,675.602]],["content/1231",[9,3.156,40,8.147,85,6.58,174,4.484,197,10.549,204,4.704,251,8.082,259,6.987,264,11.163,271,11.092,301,7.739,319,4.81,322,5.489,329,4.81,349,9.667,377,12.468,397,10.853,417,5.069,429,4.404,467,1.343,490,12.18,523,5.788,562,10.264,603,5.767,624,3.923,627,9.802,634,8.147,746,6.774,840,4.77,849,7.905,930,8.246,1431,11.66,1954,7.687,1992,12.824,2036,16.165,2597,10.443,3083,12.026,3269,10.853,3501,10.853,3592,13.719,3684,12.997,3928,12.026,4228,13.367,4946,16.165,5147,13.719,5465,12.512,6090,11.36,6091,13.719,6092,14.816,6093,19.914,6094,14.816,6095,14.816,6096,14.816,6097,14.816,6098,13.719,6099,13.719,6100,14.816,6101,14.816]],["keywords/1231",[]],["title/1232",[1431,521.266,2640,473.132,5465,675.602]],["content/1232",[1,2.544,5,5.207,6,4.206,19,4.315,76,7.128,90,3.794,105,7.699,140,2.326,149,4.741,181,14.267,185,9.184,199,6.784,249,10.115,268,9.978,269,4.221,286,3.854,329,3.546,342,14.613,398,4.252,417,3.737,418,5.326,428,7.843,438,5.421,460,10.115,461,10.115,467,2.505,476,10.483,490,5.915,505,4.561,524,3.997,540,3.903,562,5.63,609,5.746,613,3.23,729,6.568,739,5.388,787,5.915,789,4.451,872,6.637,1208,4.561,1216,6.709,1237,5.667,1431,5.295,1686,7.659,1848,9.582,2412,11.704,2495,8.867,2506,8.867,2799,6.709,3684,9.582,3989,11.324,4065,10.115,4468,10.115,4718,15.008,5342,9.582,5465,6.863,5820,9.582,5869,8.178,6098,10.115,6102,10.923,6103,10.923,6104,16.067,6105,16.067,6106,16.067,6107,16.067,6108,10.923,6109,10.923,6110,10.923,6111,10.923,6112,10.923,6113,10.923,6114,10.923,6115,10.923,6116,10.923,6117,10.923,6118,10.923,6119,21.013,6120,10.923,6121,10.923,6122,10.923,6123,10.923,6124,10.923,6125,10.923,6126,10.923,6127,16.067,6128,10.923,6129,10.923,6130,10.923,6131,10.923,6132,10.923,6133,10.923,6134,10.923,6135,10.923,6136,10.923,6137,10.923,6138,10.923,6139,10.923,6140,10.923,6141,10.923,6142,10.923,6143,10.923,6144,10.923,6145,10.923,6146,10.923,6147,10.923,6148,10.923,6149,10.923,6150,10.923,6151,10.923,6152,10.923,6153,10.115,6154,10.923,6155,10.923,6156,10.115,6157,10.923,6158,10.923,6159,10.923,6160,10.923]],["keywords/1232",[]],["title/1233",[199,566.006,1954,472.856,1992,586.904,6090,698.812]],["content/1233",[1,5.902,122,5.232,164,10.09,199,11.829,316,8.797,318,20.818,429,5.661,620,7.255,624,5.044,766,8.752,787,10.314,892,7.441,931,6.015,971,7.387,1153,14.259,1992,12.266,2070,7.611,2412,11.698,2579,13.952,3626,16.709,3796,9.031,4753,16.709,4808,15,6090,14.605,6161,17.637]],["keywords/1233",[]],["title/1234",[360,1055.174]],["content/1234",[]],["keywords/1234",[]],["title/1235",[30,317.855,360,823.767]],["content/1235",[1,3.311,2,2.103,6,1.496,8,3.535,9,2.929,13,5.019,14,0.879,19,1.535,21,1.968,23,6.179,26,2.774,27,1.523,30,0.942,31,1.425,36,1.609,41,2.157,46,1.088,48,2.731,50,2.314,59,2.615,63,1.475,108,5.414,122,1.54,140,2.391,144,2.129,149,1.686,167,4.495,169,2.016,171,2.535,172,2.789,174,4.302,176,2.691,193,0.786,194,3.625,200,2.57,202,1.615,204,1.233,215,1.907,218,1.964,220,6.193,221,1.615,236,0.853,246,3.337,255,3.627,257,2.971,269,1.501,272,4.185,273,1.12,285,1.622,287,1.164,292,1.842,299,2.57,306,4.278,310,1.276,316,1.794,319,1.261,322,1.439,328,1.717,340,1.622,345,1.161,346,1.952,357,1.454,358,4.819,360,8.072,362,4.898,363,2.784,382,7.105,390,3.276,392,1.989,398,5.988,404,1.298,408,4.688,414,2.57,423,2.461,429,4.572,434,1.794,440,1.622,443,1.371,454,2.312,466,1.822,467,1.806,468,1.976,471,1.803,475,2.397,477,4.524,481,2.153,486,1.265,487,1.759,500,4.539,516,3.103,523,4.387,524,5.559,525,4.983,526,3.045,533,1.733,534,1.512,545,3.437,554,1.354,556,1.604,587,1.48,591,1.679,600,0.971,613,1.149,620,1.48,624,2.457,636,2.908,678,1.905,688,1.952,692,3.762,699,1.485,700,7.302,713,1.686,728,2.711,739,1.916,746,1.776,762,1.928,764,1.643,777,2.502,789,1.583,800,1.776,804,0.856,820,5.408,838,1.618,840,2.987,863,2.938,876,1.602,921,5.353,931,2.175,944,1.075,960,1.602,969,2.189,971,1.507,973,4.641,976,6.829,982,6.066,1036,1.842,1048,3.68,1068,1.928,1077,1.976,1092,1.952,1120,2.752,1141,3.231,1157,2.058,1170,3.059,1198,4.551,1205,2.532,1210,1.964,1214,1.916,1227,1.671,1238,1.894,1253,1.501,1261,3.134,1266,4.308,1272,6.677,1276,2.789,1336,1.615,1366,3.907,1379,2.57,1385,2.415,1431,5.443,1437,1.337,1475,1.558,1479,5.282,1480,3.498,1581,4.843,1585,3.907,1610,1.709,1625,5.157,1680,1.964,1683,5.839,1686,6.125,1687,1.671,1838,3.924,1895,4.633,1896,1.686,1986,1.905,2002,7.939,2015,2.95,2020,4.201,2037,1.679,2070,2.752,2161,5.103,2163,1.776,2199,1.94,2248,3.915,2255,1.852,2365,1.671,2387,1.709,2391,1.928,2392,1.709,2397,2.57,2547,2.36,2551,1.602,2610,3.858,2619,11.174,2625,6.54,2640,1.709,2675,1.989,2738,2.608,2740,1.916,2777,1.862,2823,2.691,2890,1.686,3097,4.046,3103,2.312,3269,2.846,3457,2.016,3479,6.378,3480,3.597,3481,3.597,3506,1.964,3526,4.448,3536,3.266,3556,1.916,3629,1.928,3653,1.709,3657,2.502,3709,3.597,3779,1.952,3789,2.876,3794,5.24,3796,1.842,3797,3.408,3816,4.662,3839,1.989,3842,3.46,3893,2.247,4004,5.676,4083,3.574,4429,2.912,4585,2.016,4755,1.928,4759,1.976,4836,2.002,4865,1.928,5088,1.989,5446,2.963,5456,1.709,5489,1.964,5521,1.709,5547,3.574,5761,5.641,5765,2.029,5766,4.083,5826,5.157,5853,1.657,5859,3.408,5861,3.408,5866,5.792,5867,3.266,5868,5.282,5869,2.908,5870,2.979,5871,2.979,5872,2.979,5873,5.282,5874,7.802,5875,3.266,5876,5.792,5878,2.136,5879,2.029,5880,4.847,5881,2.029,5882,2.029,5883,2.029,5884,2.029,5885,2.029,5886,2.029,5887,2.029,5888,2.029,5889,2.029,5890,2.029,5891,3.55,5892,2.029,5893,2.029,5894,2.029,5895,2.016,5896,2.029,5897,2.029,5898,2.029,5899,2.043,5900,2.043,5901,2.043,5902,2.043,5903,3.623,5904,2.043,5905,2.029,5906,3.623,5907,2.043,5908,3.623,5909,2.029,5910,2.002,5911,1.725,5912,1.725,5913,1.725,5914,1.725,5915,1.725,5916,1.725,5917,1.725,5918,1.725,6162,6.888,6163,3.885,6164,3.885,6165,3.885,6166,3.885,6167,3.885]],["keywords/1235",[]],["title/1236",[6049,1412.056]],["content/1236",[]],["keywords/1236",[]],["title/1237",[30,317.855,6049,1102.381]],["content/1237",[1,1.708,6,1.121,8,2.793,9,2.896,13,4.614,14,2.672,19,1.151,21,1.555,23,3.967,26,2.14,27,1.142,30,0.706,31,1.068,36,1.206,41,2.103,46,0.816,48,2.108,50,3.897,51,2.722,59,3.462,61,1.404,63,5.933,67,2.816,68,2.886,83,1.288,85,1.294,108,5.31,120,3.38,122,2.022,128,4.076,140,1.927,144,2.796,167,3.468,169,1.511,171,1.072,174,2.219,193,0.589,194,1.138,200,1.927,202,1.211,204,2.872,215,4.526,218,1.472,220,5.073,221,1.211,222,4.792,228,2.449,230,2.318,236,1.167,243,1.565,246,1.048,255,4.227,257,2.896,260,1.359,263,1.511,264,1.445,269,1.125,272,3.23,285,1.216,287,0.872,292,1.381,294,3.682,299,1.927,301,1.522,310,0.956,316,3.386,319,1.726,322,1.079,326,1.404,328,1.288,340,1.216,346,1.463,352,1.614,357,3.387,362,4.606,363,3.509,379,1.641,382,1.345,390,1.927,392,1.491,398,6.084,404,0.973,408,3.777,414,1.927,423,2.62,429,3.511,434,1.345,440,1.216,443,4.566,466,1.366,467,1.596,468,1.482,471,1.352,475,3.601,477,3.575,478,2.468,481,5.015,483,2.091,486,1.731,487,3.319,500,3.657,504,1.852,505,3.061,513,1.491,516,1.312,523,7.465,524,5.835,525,4.58,526,2.35,533,1.3,534,1.134,540,1.041,545,3.823,556,2.107,587,1.109,591,1.259,597,1.338,600,2.261,613,2.675,620,2.025,624,1.941,625,1.294,656,1.789,673,2.233,678,1.428,692,3.526,699,1.113,700,4.167,702,11.688,711,2.946,713,1.264,728,2.092,731,1.734,743,1.109,746,2.43,762,1.445,764,1.232,777,1.876,789,1.187,795,2.294,800,5.4,804,2.319,812,2.486,820,5.094,838,1.248,840,2.36,848,2.999,849,3.912,862,1.701,863,2.267,868,1.717,876,1.201,887,2.395,892,2.077,898,1.374,900,2.952,921,3.495,931,1.678,944,1.471,957,1.685,960,2.192,969,1.641,971,1.13,973,1.735,976,3.422,982,5.694,1018,0.946,1036,1.381,1048,2.907,1077,1.482,1092,1.463,1107,2.018,1108,2.018,1120,2.93,1141,2.493,1149,4.553,1157,2.816,1170,2.361,1191,4.076,1198,3.595,1205,2.001,1208,1.216,1210,1.472,1214,1.437,1215,0.77,1227,1.253,1238,2.592,1253,1.125,1256,1.701,1261,2.418,1263,1.852,1266,3.403,1272,6.438,1276,2.091,1294,1.319,1358,3.38,1366,4.431,1385,1.864,1386,1.685,1431,4.386,1437,2.523,1475,1.168,1477,1.955,1480,2.004,1487,1.83,1563,1.789,1564,1.901,1581,7.028,1585,3.087,1610,1.282,1613,1.572,1644,0.861,1680,1.472,1683,4.912,1686,5.017,1687,2.287,1719,2.364,1777,1.501,1838,3.1,1895,3.66,1896,1.264,1986,1.428,2002,6.815,2015,2.277,2020,3.319,2037,1.259,2070,1.164,2161,5.787,2163,1.332,2199,2.654,2238,3.894,2255,1.389,2365,1.253,2387,1.282,2391,3.638,2392,1.282,2551,1.201,2610,3.048,2640,2.339,2675,1.491,2709,1.955,2738,1.955,2777,1.396,2815,2.294,2823,2.018,2890,1.264,2985,4.076,3027,1.77,3097,3.197,3103,1.734,3431,1.852,3452,2.364,3457,1.511,3460,2.97,3506,1.472,3517,1.955,3526,3.514,3556,1.437,3620,1.789,3629,1.445,3653,1.282,3657,3.423,3779,1.463,3789,2.219,3794,4.222,3796,1.381,3816,3.683,3839,1.491,3842,2.67,3893,1.685,3993,2.555,3997,4.076,4004,5.32,4083,2.758,4228,3.568,4429,2.248,4585,1.511,4675,1.789,4755,1.445,4759,1.482,4829,2.364,4836,1.501,4865,1.445,5088,1.491,5446,2.287,5449,2.364,5456,2.339,5489,1.472,5521,1.282,5547,2.758,5761,4.545,5765,1.522,5766,3.226,5826,3.979,5853,1.242,5868,4.076,5869,2.181,5870,4.076,5871,2.233,5872,2.233,5877,1.809,5878,1.602,5879,1.522,5880,3.83,5881,1.522,5882,1.522,5883,1.522,5884,1.522,5885,1.522,5886,1.522,5887,1.522,5888,1.522,5889,1.522,5890,1.522,5891,2.74,5892,1.522,5893,1.522,5894,1.522,5895,1.511,5896,1.522,5897,1.522,5898,1.522,5899,1.532,5900,1.532,5901,1.532,5902,1.532,5903,2.796,5904,1.532,5905,1.522,5906,2.796,5907,1.532,5908,2.796,5909,1.522,5910,1.501,5911,1.294,5912,1.294,5913,1.294,5914,1.294,5915,1.294,5916,1.294,5917,1.294,5918,1.294,5919,3.747,5927,2.181,5928,2.181,5929,2.181,5937,2.449,5938,2.449,6009,2.294,6049,2.449,6050,2.697,6051,6.789,6052,6.789,6053,2.697,6054,2.697,6055,4.922,6056,4.922,6057,2.697,6058,2.697,6059,2.697,6060,2.697,6061,2.697,6062,2.697,6063,2.697,6064,2.697,6065,4.922,6066,2.697,6067,2.697,6168,2.913]],["keywords/1237",[]],["title/1238",[268,814.264,667,738.774]],["content/1238",[]],["keywords/1238",[]],["title/1239",[565,543.566,5767,872.834,5770,995.701]],["content/1239",[1,4.968,9,2.993,255,4.72,477,10.4,525,8.273,1170,9.474,1686,11.945,3526,12.012,3823,17.936,5909,11.143,6169,17.936]],["keywords/1239",[]],["title/1240",[59,266.883,524,326.193]],["content/1240",[9,2.338,41,5.002,56,9.921,164,8.829,187,8.226,208,8.425,215,6.972,274,5.351,363,3.332,404,5.568,417,5.702,443,5.88,487,9.742,489,7.202,505,6.959,523,9.84,524,6.76,566,8.892,592,8.534,808,7.777,848,8.804,928,8.767,1008,7.737,1149,14.802,1493,15.434,1581,6.282,2312,11.546,3860,14.048,4297,18.878,5696,15.434,6170,16.667,6171,16.667]],["keywords/1240",[]],["title/1241",[1,305.359,6090,1005.321]],["content/1241",[1,6.014,122,4.442,164,10.528,199,12.343,318,20.334,429,5.907,766,9.133,787,10.762,892,7.764,1992,12.799,2070,7.942,2412,14.754,2579,14.559,3626,17.435,3796,9.423,4753,17.435,4808,15.652,6090,15.24,6161,18.404]],["keywords/1241",[]],["title/1242",[1,184.182,236,173.556,362,167.093,3439,606.374,3506,399.762]],["content/1242",[1,5.248,362,4.761,1120,9.004,3646,13.548,6172,22.533]],["keywords/1242",[]],["title/1243",[15,341.142,326,439.31,362,192.565,1214,449.574]],["content/1243",[1,6.198,5,6.007,9,1.768,15,4.716,21,2.673,38,8.354,41,5.505,59,3.625,79,6.468,91,5.761,108,7.868,140,2.683,141,6.587,178,9.433,187,4.816,190,12.337,204,6.558,220,8.585,246,6.405,251,5.114,257,4.034,270,12.419,281,9.661,297,5.704,362,5.686,429,6.139,434,5.819,443,4.445,481,6.984,486,5.798,500,5.094,513,6.451,600,3.148,824,2.793,840,4.056,973,4.114,1214,6.216,1294,5.704,1677,5.91,1838,11.099,2002,8.183,2238,18.512,2412,7.738,3506,6.369,3794,10.476,3842,6.33,4210,18.12,4808,9.923,6173,12.6,6174,12.6,6175,12.6,6176,12.6,6177,12.6,6178,12.6,6179,12.6]],["keywords/1243",[]],["title/1244",[41,304.723,6180,1102.381]],["content/1244",[5,8.818,9,2.595,41,5.343,46,6.44,78,10.252,175,12.355,251,7.507,319,6.005,340,7.723,408,7.723,429,6.833,562,9.533,565,9.35,603,7.2,820,5.54,1061,9.729,1581,6.972,1683,8.726,2137,12.607,2597,13.037,3440,12.814,3646,11.121,3657,11.912,3792,16.226,3794,8.631,3989,13.037,4441,15.552,5761,9.292,6180,15.552,6181,18.497,6182,18.497]],["keywords/1244",[]],["title/1245",[363,183.285,524,326.193]],["content/1245",[9,3.082,14,4.969,25,9.777,41,5.623,58,6.228,59,3.502,79,6.248,139,7.987,140,3.664,155,9.614,187,6.577,236,3.776,248,7.434,319,5.585,329,5.585,362,3.635,363,3.07,409,9.777,524,6.552,537,13.965,554,5.995,597,10.092,726,9.863,836,6.993,898,8.113,1352,10.566,1391,12.353,1469,13.965,1686,8.202,2005,12.126,2481,9.863,3794,8.028,4008,14.466,4661,13.192,5659,15.931,6183,17.205,6184,17.205,6185,13.192]],["keywords/1245",[]],["title/1246",[23,298.072,175,425.021,1954,410.308,2379,622.774,6186,732.281]],["content/1246",[]],["keywords/1246",[]],["title/1247",[175,704.651,6187,1311.126]],["content/1247",[9,2.148,23,7.673,30,3.712,41,3.559,50,3.818,59,5.165,67,8.111,96,10.708,108,5.832,144,4.732,148,8.354,172,10.994,174,4.634,175,13.637,187,5.853,197,8.111,263,7.944,264,7.599,268,9.51,383,8.94,413,7.892,417,5.238,440,6.393,467,1.388,613,4.528,674,10.607,696,13.432,716,7.553,729,9.206,766,7.036,797,10.278,931,4.835,1036,7.26,1078,8.702,1352,9.404,1480,9.186,1583,11.741,1898,9.991,1906,13.664,2279,8.556,2302,12.058,2379,12.058,2389,12.429,2412,9.404,3209,13.432,3701,10.607,4063,10.792,4144,14.617,4228,10.278,5132,13.432,5448,14.179,6180,12.874,6188,15.312,6189,15.312,6190,15.312,6191,15.312,6192,15.312]],["keywords/1247",[]],["title/1248",[41,162.326,175,375.368,319,226.737,931,220.544,2379,550.019,3401,612.676]],["content/1248",[1,4.629,9,2.789,23,7.491,41,5.584,59,4.89,140,4.233,175,10.682,319,6.452,352,11.016,360,12.487,363,2.778,408,10.03,523,7.764,860,10.382,931,6.276,1683,9.119,2379,15.652,2578,11.497,6193,19.875,6194,19.875]],["keywords/1248",[]],["title/1249",[377,726.706,6195,1311.126]],["content/1249",[8,7.666,9,2.824,41,4.677,59,4.097,174,6.09,175,10.816,319,6.533,377,13.416,379,11.34,384,18.635,441,15.431,562,10.372,784,12.227,1008,9.342,1018,7.858,1480,7.585,1583,15.431,6196,20.125,6197,20.125,6198,20.125]],["keywords/1249",[]],["title/1250",[175,577.911,3371,787.665,6199,995.701]],["content/1250",[8,7.432,9,2.738,41,4.535,59,3.972,174,5.905,175,10.486,191,14.292,219,12.908,222,10.336,301,10.192,316,9.011,349,12.731,374,10.994,390,4.155,404,7.937,407,18.067,413,10.056,562,10.056,659,14.292,667,10.994,1480,7.354,1583,14.961,4601,17.116,6200,19.512,6201,18.067,6202,19.512]],["keywords/1250",[]],["title/1251",[175,425.021,191,579.283,1024,475.483,4257,664.918,4592,693.72]],["content/1251",[38,8.578,90,6.352,175,13.374,191,18.228,287,5.477,363,3.191,374,10.303,404,6.109,467,2.069,613,5.407,667,10.303,711,10.135,741,11.932,746,8.36,840,7.348,872,11.11,931,5.774,1024,10.994,2145,8.765,2302,14.4,2581,12.274,3108,14.843,3968,16.041,4257,15.375,4592,16.041,6203,21.135,6204,22.825,6205,16.932,6206,18.286]],["keywords/1251",[]],["title/1252",[198,511.608,627,462.057,732,387.116,1024,419.935,3448,390.28,4504,587.239]],["content/1252",[9,2.566,23,6.892,41,4.25,59,3.722,175,9.828,198,13.394,219,12.097,316,8.445,374,10.303,390,4.861,467,2.256,500,7.392,550,21.135,627,12.097,732,10.135,872,11.11,973,8.124,1024,13.724,2400,12.274,2749,10.676,3051,14.021,3448,10.218,4504,15.375,4752,16.932,6207,18.286,6208,22.825,6209,18.286,6210,18.286,6211,18.286,6212,16.932]],["keywords/1252",[]],["title/1253",[149,466.727,2985,824.502,6213,943.268]],["content/1253",[26,8.439,58,7.586,140,3.408,149,6.945,174,6.342,175,13.834,176,14.518,205,6.138,209,9.431,219,13.864,264,11.597,316,7.39,329,5.194,363,3.895,365,14.816,390,3.408,443,8.245,467,1.9,490,8.664,500,6.468,624,4.237,746,7.316,777,10.304,931,5.053,1024,9.621,1054,12.269,1237,8.302,1512,9.016,1906,10.74,1986,7.847,3655,12.988,4257,13.453,4504,13.453,5342,14.036,6213,14.036,6214,16.001,6215,20.957,6216,16.001,6217,16.001]],["keywords/1253",[]],["title/1254",[139,423.07,840,293.389,931,287.785,6213,799.473]],["content/1254",[16,7.067,23,5.884,26,8.303,68,9.666,108,5.946,139,7.247,149,8.95,174,4.724,181,11.687,251,6.336,264,10.232,280,13.125,316,7.21,329,5.068,334,14.455,390,3.325,404,6.889,443,8.146,453,7.362,467,2.315,486,5.082,603,6.076,613,4.616,634,8.584,642,9.292,671,10.327,746,7.137,794,9.201,824,3.461,838,3.666,840,8.22,948,11.97,960,6.438,988,8.453,1024,12.398,1068,7.747,1352,9.587,1644,6.098,2412,9.587,2509,13.694,2611,11.687,6180,13.125,6205,14.455,6218,15.611,6219,23.089,6220,15.611,6221,15.611]],["keywords/1254",[]],["title/1255",[404,359.236,1024,646.526,2285,904.105]],["content/1255",[5,8.921,90,8.043,91,8.556,115,13.19,140,3.985,175,12.445,283,8.687,363,3.237,404,7.736,478,8.687,500,7.565,568,9.984,629,14.009,667,10.544,711,10.372,866,9.79,872,11.369,1024,13.922,1613,5.534,1736,11.9,2285,15.734,6186,17.328,6203,21.441,6222,18.713,6223,23.155,6224,18.713]],["keywords/1255",[]],["title/1256",[174,275.804,329,295.866,651,509.271,2610,378.942]],["content/1256",[23,8.04,41,4.958,45,16.799,59,4.342,68,8.396,175,11.465,268,13.248,603,8.303,651,11.92,3371,15.626,6199,19.753,6225,21.332,6226,21.332]],["keywords/1256",[]],["title/1257",[455,650.642,1619,814.264]],["content/1257",[]],["keywords/1257",[]],["title/1258",[21,228.102,358,364.573,545,190.861]],["content/1258",[1,3.093,9,2.592,41,3.086,59,5.089,85,5.898,136,7.613,140,4.526,273,5.329,274,4.263,310,4.36,358,8.188,362,2.806,363,3.495,434,6.133,467,1.204,500,7.47,545,4.438,566,7.085,613,7.856,623,8.808,688,12.56,692,9.013,824,5.686,848,5.433,944,3.676,1225,8.156,1245,9.199,1373,6.63,1385,4.656,1437,4.571,1480,6.964,1529,8.914,1610,5.843,1613,3.927,1708,10.779,2068,10.458,2546,9.727,2749,7.753,4248,10.182,4276,8.665,4494,10.458,6227,11.649,6228,11.649,6229,11.649,6230,16.209,6231,11.649,6232,11.649,6233,16.209]],["keywords/1258",[]],["title/1259",[358,364.573,613,317.989,667,605.896]],["content/1259",[1,2.118,9,3.065,14,2.057,15,3.404,21,1.929,41,2.113,50,4.254,59,4.21,122,2.032,133,7.695,215,2.517,222,10.148,273,5.966,274,2.919,275,9.869,285,3.796,286,6.019,287,6.195,358,8.615,363,3.947,486,2.96,545,4.444,600,5.169,613,7.404,692,9.414,766,4.178,824,3.102,944,6.67,947,7.649,982,2.436,1196,5.167,1366,5.892,1370,6.198,1473,11.095,1476,9.012,1480,5.275,1777,7.213,2749,8.171,3103,5.412,3276,6.661,3620,5.584,6234,6.661,6235,7.161,6236,7.161,6237,7.161,6238,7.161,6239,7.161,6240,7.161,6241,7.161,6242,7.161,6243,7.161,6244,7.161,6245,7.161,6246,7.161,6247,7.161,6248,10.251,6249,7.161,6250,7.161,6251,7.161,6252,7.161,6253,7.161,6254,7.161,6255,7.161,6256,7.161,6257,7.161,6258,7.161,6259,7.161,6260,7.161,6261,7.161,6262,7.161,6263,7.161,6264,7.161]],["keywords/1259",[]],["title/1260",[363,175.413,692,420.435,6234,579.283]],["content/1260",[9,2.685,30,3.388,40,7.685,58,5.059,59,2.845,78,7.746,79,5.075,90,4.854,122,5.248,129,10.716,140,4.649,144,4.319,148,11.91,183,10.716,215,6.042,222,7.403,262,7.511,287,4.186,358,7.401,363,3.282,382,10.843,421,7.403,449,7.746,467,1.979,505,5.835,524,5.431,545,2.481,613,4.133,614,9,677,5.787,692,6.413,728,5.5,743,5.323,1110,4.24,1254,9.85,1437,7.513,1480,5.267,1773,15.536,2070,5.584,2091,8.679,2619,13.046,3039,9.245,3517,9.381,3616,10.716,3860,11.282,5873,16.738,6234,10.237,6265,12.259,6266,16.79,6267,12.259,6268,12.259,6269,12.259,6270,12.259,6271,12.259,6272,16.79,6273,12.259,6274,12.259,6275,12.259,6276,12.259,6277,12.259]],["keywords/1260",[]],["title/1261",[363,175.413,692,420.435,6235,622.774]],["content/1261",[]],["keywords/1261",[]],["title/1262",[363,144.982,545,111.001,692,209.538,944,287.068,6236,492.484]],["content/1262",[14,3.368,41,5.601,122,3.327,144,4.6,163,10.491,171,5.478,174,4.505,187,5.69,218,7.524,273,5.762,274,4.778,285,8.34,286,5.251,287,5.983,358,5.047,363,3.756,390,4.802,449,8.25,486,6.503,545,4.593,556,4.652,558,5.794,600,6.021,623,7.096,625,6.611,677,6.164,692,4.987,824,5.342,838,3.496,947,6.674,982,6.733,1068,9.913,1294,6.738,1473,7.257,1480,5.61,2823,10.311,3510,10.687,3860,13.29,6237,11.722,6278,13.057,6279,13.057,6280,9.847,6281,13.057]],["keywords/1262",[]],["title/1263",[363,144.982,545,111.001,692,209.538,944,287.068,6238,492.484]],["content/1263",[]],["keywords/1263",[]],["title/1264",[363,144.982,545,111.001,692,209.538,944,287.068,6239,492.484]],["content/1264",[]],["keywords/1264",[]],["title/1265",[363,150.319,692,360.289,6240,846.801]],["content/1265",[]],["keywords/1265",[]],["title/1266",[59,231.161,692,380.503,6241,550.019,6242,550.019]],["content/1266",[]],["keywords/1266",[]],["title/1267",[363,150.319,692,360.289,6243,846.801]],["content/1267",[]],["keywords/1267",[]],["title/1268",[358,191.95,363,79.144,692,319.763,1476,364.588,2749,330.543,6244,445.847,6245,445.847]],["content/1268",[]],["keywords/1268",[]],["title/1269",[50,174.142,59,142.169,363,97.636,692,234.017,944,193.321,6246,550.019]],["content/1269",[9,2.915,56,12.367,59,4.229,215,5.751,363,2.905,556,4.839,1366,11.08,1473,10.13,1563,12.761,1564,13.558,1777,10.709,1817,13.069,3276,15.22,6282,18.227]],["keywords/1269",[]],["title/1270",[363,150.319,692,360.289,6247,846.801]],["content/1270",[]],["keywords/1270",[]],["title/1271",[363,175.413,692,264.972,944,218.893,6248,579.283]],["content/1271",[14,5.22,21,4.894,57,12.14,122,4.158,358,6.308,363,3.768,600,6.267,692,7.73,693,10.862,743,7.087,824,5.115,947,8.341,1366,9.714,1480,7.012,1613,5.502,1777,9.589,2161,10.23,3039,12.308,3419,14.265,3860,10.966,4512,15.102,6248,13.628,6283,16.32,6284,16.32]],["keywords/1271",[]],["title/1272",[363,175.413,692,264.972,944,218.893,6249,622.774]],["content/1272",[1,4.629,15,7.44,59,4.89,164,10.528,260,9.274,286,8.476,358,6.739,363,3.61,613,7.104,677,8.23,766,9.133,824,5.326,957,11.497,982,5.324,1196,11.295,2616,16.133,3620,12.206,6285,17.435]],["keywords/1272",[]],["title/1273",[59,218.881,692,360.289,6250,846.801]],["content/1273",[1,4.007,50,4.29,59,5.188,140,3.664,187,6.577,248,7.434,326,8.293,358,5.833,363,3.563,398,6.697,404,5.748,409,9.777,438,10.899,443,6.07,524,4.28,545,3.054,600,6.046,609,9.05,623,8.202,824,5.364,933,16.724,947,9.847,949,8.456,1423,12.126,6251,13.549,6252,13.549,6286,15.092,6287,15.092,6288,15.092,6289,15.092,6290,15.092]],["keywords/1273",[]],["title/1274",[59,218.881,692,360.289,6253,846.801]],["content/1274",[]],["keywords/1274",[]],["title/1275",[363,172.937,692,319.763,1476,364.588,2749,330.543,6254,445.847]],["content/1275",[]],["keywords/1275",[]],["title/1276",[363,150.319,692,360.289,6255,846.801]],["content/1276",[]],["keywords/1276",[]],["title/1277",[6256,1322.558]],["content/1277",[1,4.463,9,2.688,122,4.283,273,6.776,286,6.76,358,7.966,363,2.679,524,5.845,613,7.514,692,6.42,824,4.248,969,13.239,973,7.671,1332,13.505,1473,9.342,1677,11.021,5842,13.848,5843,16.111,5852,14.692,6280,12.676,6291,16.809]],["keywords/1277",[]],["title/1278",[6257,1322.558]],["content/1278",[1,4.384,9,3.261,41,5.401,122,5.884,140,4.009,188,9.125,236,4.131,251,7.639,273,5.429,286,6.641,323,7.493,358,7.879,363,3.249,443,6.641,475,4.862,571,10.043,613,6.872,692,6.307,824,4.173,973,6.145,1207,11.97,1473,9.177,1677,8.83,5842,11.095,6292,16.512]],["keywords/1278",[]],["title/1279",[1370,1144.672]],["content/1279",[1,4.517,9,3.321,41,5.501,122,5.29,140,4.13,188,9.401,236,4.256,251,7.871,273,6.826,323,7.72,358,8.025,513,9.93,524,4.825,613,7.554,692,6.498,824,4.299,973,6.332,1473,9.455,1677,9.097,5842,11.431,6293,17.012]],["keywords/1279",[]],["title/1280",[6258,1322.558]],["content/1280",[1,4.658,9,2.806,122,4.47,140,4.259,273,6.955,336,14.096,358,8.176,475,5.166,516,9.01,524,4.976,613,7.656,692,6.701,824,4.434,973,6.529,1473,9.751,1677,9.381,2248,11.366,5842,11.788,6294,17.544]],["keywords/1280",[]],["title/1281",[6259,1322.558]],["content/1281",[1,4.747,9,2.86,122,4.555,140,4.341,273,7.035,358,8.269,524,5.071,571,10.874,613,7.719,692,6.829,824,4.518,973,6.654,1473,9.937,1677,9.56,5842,12.013,6295,17.879]],["keywords/1281",[]],["title/1282",[275,527.207,545,248.836,6260,717.712]],["content/1282",[9,3.071,50,4.267,133,9.41,204,5.433,222,9.065,286,6.038,287,5.126,310,5.619,329,5.555,343,5.374,363,2.392,421,9.065,453,8.07,467,1.985,545,3.037,692,7.334,743,6.518,824,3.794,898,8.07,947,9.814,958,10.186,1208,7.145,1226,11.321,1329,9.563,1477,11.487,1480,6.45,1619,13.594,2248,9.725,2312,11.855,2547,10.397,2617,11.487,2735,11.664,3547,15.163,3860,10.087,4663,12.287,5842,12.901,6261,17.237,6280,11.321,6296,12.535,6297,12.535,6298,12.535,6299,12.535]],["keywords/1282",[]],["title/1283",[275,527.207,545,248.836,6262,717.712]],["content/1283",[9,3.114,122,4.96,204,5.552,222,9.263,287,7.302,310,5.742,329,5.677,343,5.492,363,2.445,421,9.263,453,8.246,545,3.104,692,7.436,824,3.877,898,8.246,909,10.307,947,9.95,958,10.408,1208,7.301,1226,11.569,1329,9.771,1480,6.591,1619,13.782,2312,12.114,2547,10.624,2617,11.738,2735,11.919,3103,10.408,3547,15.373,3860,10.307,4663,12.556,5842,13.08,6280,11.569,6296,12.809,6297,12.809,6298,12.809,6299,12.809]],["keywords/1283",[]],["title/1284",[275,527.207,545,248.836,6263,717.712]],["content/1284",[9,3.082,50,4.29,122,3.845,133,9.46,204,5.463,222,9.114,286,6.07,287,5.153,310,5.649,329,5.585,343,5.403,363,2.405,421,9.114,453,8.113,467,1.991,545,3.054,692,7.359,824,3.814,898,8.113,947,9.847,958,10.241,1208,7.183,1226,11.382,1329,9.614,1480,6.485,1619,13.64,2312,11.918,2547,10.453,2617,11.548,2682,12.126,2735,11.726,3547,15.215,3860,10.141,4663,12.353,5842,12.946,6264,17.296,6280,11.382,6296,12.603,6297,12.603,6298,12.603,6299,12.603]],["keywords/1284",[]],["title/1285",[358,444.527,613,387.726]],["content/1285",[46,6.832,193,4.125,286,7.191,363,3.781,380,9.227,524,5.071,597,9.365,692,8.172,719,8.73,842,6.543,1007,13.861,1390,12.383,6300,18.873,6301,18.873]],["keywords/1285",[]],["title/1286",[363,150.319,692,360.289,6300,995.701]],["content/1286",[46,5.709,48,8.082,144,6.299,193,4.125,199,12.658,260,9.51,363,3.41,524,5.071,688,10.239,842,7.83,947,9.138,949,7.847,1007,11.583,1390,12.383,1391,14.634,1466,14.634,1469,16.544,1470,10.575]],["keywords/1286",[]],["title/1287",[363,150.319,692,360.289,6301,995.701]],["content/1287",[46,6.938,48,8.293,286,7.379,363,3.462,380,9.468,487,9.468,597,9.61,688,10.506,719,8.958,842,6.714,947,9.377,1007,11.885,1466,15.016,1467,19.366]],["keywords/1287",[]],["title/1288",[455,650.642,1677,615.022]],["content/1288",[]],["keywords/1288",[]],["title/1289",[21,228.102,358,364.573,545,190.861]],["content/1289",[1,3.093,9,2.592,41,3.086,59,5.089,85,5.898,136,7.613,140,4.526,273,5.329,274,4.263,310,4.36,358,8.188,362,2.806,363,3.495,434,6.133,467,1.204,500,7.47,545,4.438,566,7.085,613,7.856,623,8.808,688,12.56,692,9.013,824,5.686,848,5.433,944,3.676,1225,8.156,1245,9.199,1373,6.63,1385,4.656,1437,4.571,1480,6.964,1529,8.914,1610,5.843,1613,3.927,1708,10.779,2068,10.458,2546,9.727,2749,7.753,4248,10.182,4276,8.665,4494,10.458,6227,11.649,6228,11.649,6229,11.649,6230,16.209,6231,11.649,6232,11.649,6233,16.209]],["keywords/1289",[]],["title/1290",[358,364.573,613,317.989,667,605.896]],["content/1290",[1,2.118,9,3.065,14,2.057,15,3.404,21,1.929,41,2.113,50,4.254,59,4.21,122,2.032,133,7.695,215,2.517,222,10.148,273,5.966,274,2.919,275,9.869,285,3.796,286,6.019,287,6.195,358,8.615,363,3.947,486,2.96,545,4.444,600,5.169,613,7.404,692,9.414,766,4.178,824,3.102,944,6.67,947,7.649,982,2.436,1196,5.167,1366,5.892,1370,6.198,1473,11.095,1476,9.012,1480,5.275,1777,7.213,2749,8.171,3103,5.412,3276,6.661,3620,5.584,6234,6.661,6235,7.161,6236,7.161,6237,7.161,6238,7.161,6239,7.161,6240,7.161,6241,7.161,6242,7.161,6243,7.161,6244,7.161,6245,7.161,6246,7.161,6247,7.161,6248,10.251,6249,7.161,6250,7.161,6251,7.161,6252,7.161,6253,7.161,6254,7.161,6255,7.161,6256,7.161,6257,7.161,6258,7.161,6259,7.161,6260,7.161,6261,7.161,6262,7.161,6263,7.161,6264,7.161]],["keywords/1290",[]],["title/1291",[363,175.413,692,420.435,6234,579.283]],["content/1291",[9,2.685,30,3.388,40,7.685,58,5.059,59,2.845,78,7.746,79,5.075,90,4.854,122,5.248,129,10.716,140,4.649,144,4.319,148,11.91,183,10.716,215,6.042,222,7.403,262,7.511,287,4.186,358,7.401,363,3.282,382,10.843,421,7.403,449,7.746,467,1.979,505,5.835,524,5.431,545,2.481,613,4.133,614,9,677,5.787,692,6.413,728,5.5,743,5.323,1110,4.24,1254,9.85,1437,7.513,1480,5.267,1773,15.536,2070,5.584,2091,8.679,2619,13.046,3039,9.245,3517,9.381,3616,10.716,3860,11.282,5873,16.738,6234,10.237,6265,12.259,6266,16.79,6267,12.259,6268,12.259,6269,12.259,6270,12.259,6271,12.259,6272,16.79,6273,12.259,6274,12.259,6275,12.259,6276,12.259,6277,12.259]],["keywords/1291",[]],["title/1292",[363,175.413,692,420.435,6235,622.774]],["content/1292",[]],["keywords/1292",[]],["title/1293",[363,144.982,545,111.001,692,209.538,944,287.068,6236,492.484]],["content/1293",[14,3.368,41,5.601,122,3.327,144,4.6,163,10.491,171,5.478,174,4.505,187,5.69,218,7.524,273,5.762,274,4.778,285,8.34,286,5.251,287,5.983,358,5.047,363,3.756,390,4.802,449,8.25,486,6.503,545,4.593,556,4.652,558,5.794,600,6.021,623,7.096,625,6.611,677,6.164,692,4.987,824,5.342,838,3.496,947,6.674,982,6.733,1068,9.913,1294,6.738,1473,7.257,1480,5.61,2823,10.311,3510,10.687,3860,13.29,6237,11.722,6278,13.057,6279,13.057,6280,9.847,6281,13.057]],["keywords/1293",[]],["title/1294",[363,144.982,545,111.001,692,209.538,944,287.068,6238,492.484]],["content/1294",[]],["keywords/1294",[]],["title/1295",[363,144.982,545,111.001,692,209.538,944,287.068,6239,492.484]],["content/1295",[]],["keywords/1295",[]],["title/1296",[363,150.319,692,360.289,6240,846.801]],["content/1296",[]],["keywords/1296",[]],["title/1297",[59,231.161,692,380.503,6241,550.019,6242,550.019]],["content/1297",[]],["keywords/1297",[]],["title/1298",[363,150.319,692,360.289,6243,846.801]],["content/1298",[]],["keywords/1298",[]],["title/1299",[358,191.95,363,79.144,692,319.763,1476,364.588,2749,330.543,6244,445.847,6245,445.847]],["content/1299",[]],["keywords/1299",[]],["title/1300",[50,174.142,59,142.169,363,97.636,692,234.017,944,193.321,6246,550.019]],["content/1300",[9,2.915,56,12.367,59,4.229,215,5.751,363,2.905,556,4.839,1366,11.08,1473,10.13,1563,12.761,1564,13.558,1777,10.709,1817,13.069,3276,15.22,6282,18.227]],["keywords/1300",[]],["title/1301",[363,150.319,692,360.289,6247,846.801]],["content/1301",[]],["keywords/1301",[]],["title/1302",[363,175.413,692,264.972,944,218.893,6248,579.283]],["content/1302",[14,5.22,21,4.894,57,12.14,122,4.158,358,6.308,363,3.768,600,6.267,692,7.73,693,10.862,743,7.087,824,5.115,947,8.341,1366,9.714,1480,7.012,1613,5.502,1777,9.589,2161,10.23,3039,12.308,3419,14.265,3860,10.966,4512,15.102,6248,13.628,6283,16.32,6284,16.32]],["keywords/1302",[]],["title/1303",[363,175.413,692,264.972,944,218.893,6249,622.774]],["content/1303",[1,4.629,15,7.44,59,4.89,164,10.528,260,9.274,286,8.476,358,6.739,363,3.61,613,7.104,677,8.23,766,9.133,824,5.326,957,11.497,982,5.324,1196,11.295,2616,16.133,3620,12.206,6285,17.435]],["keywords/1303",[]],["title/1304",[59,218.881,692,360.289,6250,846.801]],["content/1304",[1,4.007,50,4.29,59,5.188,140,3.664,187,6.577,248,7.434,326,8.293,358,5.833,363,3.563,398,6.697,404,5.748,409,9.777,438,10.899,443,6.07,524,4.28,545,3.054,600,6.046,609,9.05,623,8.202,824,5.364,933,16.724,947,9.847,949,8.456,1423,12.126,6251,13.549,6252,13.549,6286,15.092,6287,15.092,6288,15.092,6289,15.092,6290,15.092]],["keywords/1304",[]],["title/1305",[59,218.881,692,360.289,6253,846.801]],["content/1305",[]],["keywords/1305",[]],["title/1306",[363,172.937,692,319.763,1476,364.588,2749,330.543,6254,445.847]],["content/1306",[]],["keywords/1306",[]],["title/1307",[363,150.319,692,360.289,6255,846.801]],["content/1307",[]],["keywords/1307",[]],["title/1308",[6256,1322.558]],["content/1308",[1,4.463,9,2.688,122,4.283,273,6.776,286,6.76,358,7.966,363,2.679,524,5.845,613,7.514,692,6.42,824,4.248,969,13.239,973,7.671,1332,13.505,1473,9.342,1677,11.021,5842,13.848,5843,16.111,5852,14.692,6280,12.676,6291,16.809]],["keywords/1308",[]],["title/1309",[6257,1322.558]],["content/1309",[1,4.384,9,3.261,41,5.401,122,5.884,140,4.009,188,9.125,236,4.131,251,7.639,273,5.429,286,6.641,323,7.493,358,7.879,363,3.249,443,6.641,475,4.862,571,10.043,613,6.872,692,6.307,824,4.173,973,6.145,1207,11.97,1473,9.177,1677,8.83,5842,11.095,6292,16.512]],["keywords/1309",[]],["title/1310",[1370,1144.672]],["content/1310",[1,4.517,9,3.321,41,5.501,122,5.29,140,4.13,188,9.401,236,4.256,251,7.871,273,6.826,323,7.72,358,8.025,513,9.93,524,4.825,613,7.554,692,6.498,824,4.299,973,6.332,1473,9.455,1677,9.097,5842,11.431,6293,17.012]],["keywords/1310",[]],["title/1311",[6258,1322.558]],["content/1311",[1,4.658,9,2.806,122,4.47,140,4.259,273,6.955,336,14.096,358,8.176,475,5.166,516,9.01,524,4.976,613,7.656,692,6.701,824,4.434,973,6.529,1473,9.751,1677,9.381,2248,11.366,5842,11.788,6294,17.544]],["keywords/1311",[]],["title/1312",[6259,1322.558]],["content/1312",[1,4.747,9,2.86,122,4.555,140,4.341,273,7.035,358,8.269,524,5.071,571,10.874,613,7.719,692,6.829,824,4.518,973,6.654,1473,9.937,1677,9.56,5842,12.013,6295,17.879]],["keywords/1312",[]],["title/1313",[275,527.207,545,248.836,6260,717.712]],["content/1313",[9,3.071,50,4.267,133,9.41,204,5.433,222,9.065,286,6.038,287,5.126,310,5.619,329,5.555,343,5.374,363,2.392,421,9.065,453,8.07,467,1.985,545,3.037,692,7.334,743,6.518,824,3.794,898,8.07,947,9.814,958,10.186,1208,7.145,1226,11.321,1329,9.563,1477,11.487,1480,6.45,1619,13.594,2248,9.725,2312,11.855,2547,10.397,2617,11.487,2735,11.664,3547,15.163,3860,10.087,4663,12.287,5842,12.901,6261,17.237,6280,11.321,6296,12.535,6297,12.535,6298,12.535,6299,12.535]],["keywords/1313",[]],["title/1314",[275,527.207,545,248.836,6262,717.712]],["content/1314",[9,3.114,122,4.96,204,5.552,222,9.263,287,7.302,310,5.742,329,5.677,343,5.492,363,2.445,421,9.263,453,8.246,545,3.104,692,7.436,824,3.877,898,8.246,909,10.307,947,9.95,958,10.408,1208,7.301,1226,11.569,1329,9.771,1480,6.591,1619,13.782,2312,12.114,2547,10.624,2617,11.738,2735,11.919,3103,10.408,3547,15.373,3860,10.307,4663,12.556,5842,13.08,6280,11.569,6296,12.809,6297,12.809,6298,12.809,6299,12.809]],["keywords/1314",[]],["title/1315",[275,527.207,545,248.836,6263,717.712]],["content/1315",[9,3.082,50,4.29,122,3.845,133,9.46,204,5.463,222,9.114,286,6.07,287,5.153,310,5.649,329,5.585,343,5.403,363,2.405,421,9.114,453,8.113,467,1.991,545,3.054,692,7.359,824,3.814,898,8.113,947,9.847,958,10.241,1208,7.183,1226,11.382,1329,9.614,1480,6.485,1619,13.64,2312,11.918,2547,10.453,2617,11.548,2682,12.126,2735,11.726,3547,15.215,3860,10.141,4663,12.353,5842,12.946,6264,17.296,6280,11.382,6296,12.603,6297,12.603,6298,12.603,6299,12.603]],["keywords/1315",[]],["title/1316",[360,823.767,455,650.642]],["content/1316",[]],["keywords/1316",[]],["title/1317",[21,228.102,358,364.573,545,190.861]],["content/1317",[1,3.093,9,2.592,41,3.086,59,5.089,85,5.898,136,7.613,140,4.526,273,5.329,274,4.263,310,4.36,358,8.188,362,2.806,363,3.495,434,6.133,467,1.204,500,7.47,545,4.438,566,7.085,613,7.856,623,8.808,688,12.56,692,9.013,824,5.686,848,5.433,944,3.676,1225,8.156,1245,9.199,1373,6.63,1385,4.656,1437,4.571,1480,6.964,1529,8.914,1610,5.843,1613,3.927,1708,10.779,2068,10.458,2546,9.727,2749,7.753,4248,10.182,4276,8.665,4494,10.458,6227,11.649,6228,11.649,6229,11.649,6230,16.209,6231,11.649,6232,11.649,6233,16.209]],["keywords/1317",[]],["title/1318",[358,364.573,613,317.989,667,605.896]],["content/1318",[1,2.118,9,3.065,14,2.057,15,3.404,21,1.929,41,2.113,50,4.254,59,4.21,122,2.032,133,7.695,215,2.517,222,10.148,273,5.966,274,2.919,275,9.869,285,3.796,286,6.019,287,6.195,358,8.615,363,3.947,486,2.96,545,4.444,600,5.169,613,7.404,692,9.414,766,4.178,824,3.102,944,6.67,947,7.649,982,2.436,1196,5.167,1366,5.892,1370,6.198,1473,11.095,1476,9.012,1480,5.275,1777,7.213,2749,8.171,3103,5.412,3276,6.661,3620,5.584,6234,6.661,6235,7.161,6236,7.161,6237,7.161,6238,7.161,6239,7.161,6240,7.161,6241,7.161,6242,7.161,6243,7.161,6244,7.161,6245,7.161,6246,7.161,6247,7.161,6248,10.251,6249,7.161,6250,7.161,6251,7.161,6252,7.161,6253,7.161,6254,7.161,6255,7.161,6256,7.161,6257,7.161,6258,7.161,6259,7.161,6260,7.161,6261,7.161,6262,7.161,6263,7.161,6264,7.161]],["keywords/1318",[]],["title/1319",[363,175.413,692,420.435,6234,579.283]],["content/1319",[9,2.685,30,3.388,40,7.685,58,5.059,59,2.845,78,7.746,79,5.075,90,4.854,122,5.248,129,10.716,140,4.649,144,4.319,148,11.91,183,10.716,215,6.042,222,7.403,262,7.511,287,4.186,358,7.401,363,3.282,382,10.843,421,7.403,449,7.746,467,1.979,505,5.835,524,5.431,545,2.481,613,4.133,614,9,677,5.787,692,6.413,728,5.5,743,5.323,1110,4.24,1254,9.85,1437,7.513,1480,5.267,1773,15.536,2070,5.584,2091,8.679,2619,13.046,3039,9.245,3517,9.381,3616,10.716,3860,11.282,5873,16.738,6234,10.237,6265,12.259,6266,16.79,6267,12.259,6268,12.259,6269,12.259,6270,12.259,6271,12.259,6272,16.79,6273,12.259,6274,12.259,6275,12.259,6276,12.259,6277,12.259]],["keywords/1319",[]],["title/1320",[363,175.413,692,420.435,6235,622.774]],["content/1320",[]],["keywords/1320",[]],["title/1321",[363,144.982,545,111.001,692,209.538,944,287.068,6236,492.484]],["content/1321",[14,3.368,41,5.601,122,3.327,144,4.6,163,10.491,171,5.478,174,4.505,187,5.69,218,7.524,273,5.762,274,4.778,285,8.34,286,5.251,287,5.983,358,5.047,363,3.756,390,4.802,449,8.25,486,6.503,545,4.593,556,4.652,558,5.794,600,6.021,623,7.096,625,6.611,677,6.164,692,4.987,824,5.342,838,3.496,947,6.674,982,6.733,1068,9.913,1294,6.738,1473,7.257,1480,5.61,2823,10.311,3510,10.687,3860,13.29,6237,11.722,6278,13.057,6279,13.057,6280,9.847,6281,13.057]],["keywords/1321",[]],["title/1322",[363,144.982,545,111.001,692,209.538,944,287.068,6238,492.484]],["content/1322",[]],["keywords/1322",[]],["title/1323",[363,144.982,545,111.001,692,209.538,944,287.068,6239,492.484]],["content/1323",[]],["keywords/1323",[]],["title/1324",[363,150.319,692,360.289,6240,846.801]],["content/1324",[]],["keywords/1324",[]],["title/1325",[59,231.161,692,380.503,6241,550.019,6242,550.019]],["content/1325",[]],["keywords/1325",[]],["title/1326",[363,150.319,692,360.289,6243,846.801]],["content/1326",[]],["keywords/1326",[]],["title/1327",[358,191.95,363,79.144,692,319.763,1476,364.588,2749,330.543,6244,445.847,6245,445.847]],["content/1327",[]],["keywords/1327",[]],["title/1328",[50,174.142,59,142.169,363,97.636,692,234.017,944,193.321,6246,550.019]],["content/1328",[9,2.915,56,12.367,59,4.229,215,5.751,363,2.905,556,4.839,1366,11.08,1473,10.13,1563,12.761,1564,13.558,1777,10.709,1817,13.069,3276,15.22,6282,18.227]],["keywords/1328",[]],["title/1329",[363,150.319,692,360.289,6247,846.801]],["content/1329",[]],["keywords/1329",[]],["title/1330",[363,175.413,692,264.972,944,218.893,6248,579.283]],["content/1330",[14,5.22,21,4.894,57,12.14,122,4.158,358,6.308,363,3.768,600,6.267,692,7.73,693,10.862,743,7.087,824,5.115,947,8.341,1366,9.714,1480,7.012,1613,5.502,1777,9.589,2161,10.23,3039,12.308,3419,14.265,3860,10.966,4512,15.102,6248,13.628,6283,16.32,6284,16.32]],["keywords/1330",[]],["title/1331",[363,175.413,692,264.972,944,218.893,6249,622.774]],["content/1331",[1,4.629,15,7.44,59,4.89,164,10.528,260,9.274,286,8.476,358,6.739,363,3.61,613,7.104,677,8.23,766,9.133,824,5.326,957,11.497,982,5.324,1196,11.295,2616,16.133,3620,12.206,6285,17.435]],["keywords/1331",[]],["title/1332",[59,218.881,692,360.289,6250,846.801]],["content/1332",[1,4.007,50,4.29,59,5.188,140,3.664,187,6.577,248,7.434,326,8.293,358,5.833,363,3.563,398,6.697,404,5.748,409,9.777,438,10.899,443,6.07,524,4.28,545,3.054,600,6.046,609,9.05,623,8.202,824,5.364,933,16.724,947,9.847,949,8.456,1423,12.126,6251,13.549,6252,13.549,6286,15.092,6287,15.092,6288,15.092,6289,15.092,6290,15.092]],["keywords/1332",[]],["title/1333",[59,218.881,692,360.289,6253,846.801]],["content/1333",[]],["keywords/1333",[]],["title/1334",[363,172.937,692,319.763,1476,364.588,2749,330.543,6254,445.847]],["content/1334",[]],["keywords/1334",[]],["title/1335",[363,150.319,692,360.289,6255,846.801]],["content/1335",[]],["keywords/1335",[]],["title/1336",[6256,1322.558]],["content/1336",[1,4.463,9,2.688,122,4.283,273,6.776,286,6.76,358,7.966,363,2.679,524,5.845,613,7.514,692,6.42,824,4.248,969,13.239,973,7.671,1332,13.505,1473,9.342,1677,11.021,5842,13.848,5843,16.111,5852,14.692,6280,12.676,6291,16.809]],["keywords/1336",[]],["title/1337",[6257,1322.558]],["content/1337",[1,4.384,9,3.261,41,5.401,122,5.884,140,4.009,188,9.125,236,4.131,251,7.639,273,5.429,286,6.641,323,7.493,358,7.879,363,3.249,443,6.641,475,4.862,571,10.043,613,6.872,692,6.307,824,4.173,973,6.145,1207,11.97,1473,9.177,1677,8.83,5842,11.095,6292,16.512]],["keywords/1337",[]],["title/1338",[1370,1144.672]],["content/1338",[1,4.517,9,3.321,41,5.501,122,5.29,140,4.13,188,9.401,236,4.256,251,7.871,273,6.826,323,7.72,358,8.025,513,9.93,524,4.825,613,7.554,692,6.498,824,4.299,973,6.332,1473,9.455,1677,9.097,5842,11.431,6293,17.012]],["keywords/1338",[]],["title/1339",[6258,1322.558]],["content/1339",[1,4.658,9,2.806,122,4.47,140,4.259,273,6.955,336,14.096,358,8.176,475,5.166,516,9.01,524,4.976,613,7.656,692,6.701,824,4.434,973,6.529,1473,9.751,1677,9.381,2248,11.366,5842,11.788,6294,17.544]],["keywords/1339",[]],["title/1340",[6259,1322.558]],["content/1340",[1,4.747,9,2.86,122,4.555,140,4.341,273,7.035,358,8.269,524,5.071,571,10.874,613,7.719,692,6.829,824,4.518,973,6.654,1473,9.937,1677,9.56,5842,12.013,6295,17.879]],["keywords/1340",[]],["title/1341",[275,527.207,545,248.836,6260,717.712]],["content/1341",[9,3.071,50,4.267,133,9.41,204,5.433,222,9.065,286,6.038,287,5.126,310,5.619,329,5.555,343,5.374,363,2.392,421,9.065,453,8.07,467,1.985,545,3.037,692,7.334,743,6.518,824,3.794,898,8.07,947,9.814,958,10.186,1208,7.145,1226,11.321,1329,9.563,1477,11.487,1480,6.45,1619,13.594,2248,9.725,2312,11.855,2547,10.397,2617,11.487,2735,11.664,3547,15.163,3860,10.087,4663,12.287,5842,12.901,6261,17.237,6280,11.321,6296,12.535,6297,12.535,6298,12.535,6299,12.535]],["keywords/1341",[]],["title/1342",[275,527.207,545,248.836,6262,717.712]],["content/1342",[9,3.114,122,4.96,204,5.552,222,9.263,287,7.302,310,5.742,329,5.677,343,5.492,363,2.445,421,9.263,453,8.246,545,3.104,692,7.436,824,3.877,898,8.246,909,10.307,947,9.95,958,10.408,1208,7.301,1226,11.569,1329,9.771,1480,6.591,1619,13.782,2312,12.114,2547,10.624,2617,11.738,2735,11.919,3103,10.408,3547,15.373,3860,10.307,4663,12.556,5842,13.08,6280,11.569,6296,12.809,6297,12.809,6298,12.809,6299,12.809]],["keywords/1342",[]],["title/1343",[275,527.207,545,248.836,6263,717.712]],["content/1343",[9,3.082,50,4.29,122,3.845,133,9.46,204,5.463,222,9.114,286,6.07,287,5.153,310,5.649,329,5.585,343,5.403,363,2.405,421,9.114,453,8.113,467,1.991,545,3.054,692,7.359,824,3.814,898,8.113,947,9.847,958,10.241,1208,7.183,1226,11.382,1329,9.614,1480,6.485,1619,13.64,2312,11.918,2547,10.453,2617,11.548,2682,12.126,2735,11.726,3547,15.215,3860,10.141,4663,12.353,5842,12.946,6264,17.296,6280,11.382,6296,12.603,6297,12.603,6298,12.603,6299,12.603]],["keywords/1343",[]],["title/1344",[235,618.298,236,287.742]],["content/1344",[]],["keywords/1344",[]],["title/1345",[475,277.756,587,409.585,1048,426.406]],["content/1345",[1,3.982,9,3.251,15,4.453,46,4.789,50,2.966,90,4.133,144,3.677,184,9.658,215,6.055,218,10.115,230,7.454,235,5.611,236,3.752,255,3.782,285,4.967,343,3.737,345,3.554,390,2.534,393,7.013,438,5.904,455,9.93,467,1.55,475,4.416,486,6.514,520,9.337,545,2.112,556,2.771,587,4.532,702,6.542,731,7.082,756,8.992,794,7.013,804,2.622,838,4.015,842,3.819,860,6.215,872,7.228,1046,16.243,1048,6.779,1107,8.242,1108,11.843,1146,10.115,1237,8.87,1253,4.597,1261,5.413,1373,5.94,1470,6.173,1610,5.235,1896,5.164,1994,9.369,2175,13.057,2311,10.525,2625,12.05,2637,10.835,2655,11.017,3433,19.189,3525,9.123,3609,9.369,3789,4.967,3805,11.017,3806,10.004,3812,7.566,4829,13.877,4975,10.617,5099,16.243,5905,6.215,6032,9.658,6038,14.658,6169,16.825,6302,11.898,6303,11.898,6304,11.898,6305,11.898,6306,11.898,6307,17.096,6308,17.096,6309,11.898,6310,10.004,6311,11.898,6312,11.898,6313,11.898]],["keywords/1345",[]],["title/1346",[475,277.756,1048,426.406,1215,284.104]],["content/1346",[41,3.7,46,5.851,50,6.171,61,7.675,90,7.256,91,7.279,129,17.876,140,4.965,184,12.924,205,6.108,235,9.851,236,5.116,283,7.391,329,5.169,345,4.756,357,5.96,428,11.432,429,6.209,475,4.113,486,5.183,490,8.621,600,3.978,617,9.573,892,6.22,900,6.411,930,6.593,983,6.849,1008,9.697,1048,8.283,1105,11.222,1158,9.21,1215,5.519,1234,13.387,1558,10.003,1873,13.387,3812,13.284,4832,12.208,6314,15.921,6315,15.921,6316,15.921,6317,15.921,6318,15.921,6319,15.921,6320,15.921,6321,15.921,6322,15.921,6323,15.921]],["keywords/1346",[]],["title/1347",[14,379.983]],["content/1347",[]],["keywords/1347",[]],["title/1348",[6324,1473.221]],["content/1348",[2,4.425,9,1.516,14,1.068,40,2.596,41,1.899,50,1.177,58,3.911,59,2.962,63,1.792,79,2.968,97,2.077,122,2.415,140,1.005,141,2.273,144,1.459,157,2.127,193,0.955,236,1.036,255,1.808,258,2.66,262,2.537,273,2.357,287,1.414,319,2.653,329,3.507,343,1.483,345,3.228,362,0.998,363,2.528,390,3.641,417,1.615,467,2.631,502,3.271,524,1.175,545,1.45,548,1.865,556,3.712,558,3.181,568,5.764,581,3.478,600,3.218,661,3.366,764,1.996,804,5.635,807,4.214,828,1.448,832,0.567,838,1.109,842,1.516,847,0.646,885,6.15,886,2.013,889,1.262,900,1.901,924,8.049,925,7.228,976,3.091,993,2.576,1004,2.402,1014,4.873,1018,2.653,1048,5.107,1110,1.432,1120,1.887,1205,2.23,1215,2.159,1223,3.534,1613,2.417,1630,1.61,1644,3.195,1896,2.049,2006,1.692,2137,5.57,2198,4.685,2294,1.591,2702,3.534,2729,3.218,3387,4.864,3460,2.638,3543,1.596,3692,3.832,3694,3.97,4381,9.769,4633,3.674,4881,5.406,5037,3.218,5062,1.61,5064,1.61,6324,9.477,6325,1.615,6326,3.123,6327,1.615,6328,2.731,6329,3.218,6330,3.97,6331,3.97,6332,3.002,6333,3.271,6334,3.39,6335,3.832,6336,3.271,6337,3.271,6338,3.271,6339,1.615,6340,6.871,6341,3.97,6342,4.142,6343,3.97,6344,1.767,6345,4.142,6346,4.721,6347,3.271,6348,3.832,6349,3.832,6350,4.721,6351,3.271,6352,3.832,6353,1.767,6354,5.57,6355,3.218,6356,6.871,6357,3.169,6358,3.832,6359,4.142,6360,4.142,6361,4.142,6362,4.142,6363,3.97,6364,3.97,6365,4.142,6366,3.218,6367,3.271,6368,4.142,6369,4.721,6370,3.04,6371,4.142,6372,3.271,6373,3.169,6374,3.832,6375,3.271,6376,3.271,6377,3.271,6378,3.271,6379,4.372,6380,3.832,6381,15.831,6382,1.824,6383,1.824,6384,1.824,6385,1.824,6386,1.824,6387,1.824,6388,1.824,6389,1.824,6390,4.721,6391,4.721,6392,10.004,6393,4.721,6394,4.721,6395,4.372,6396,3.718,6397,3.718,6398,4.721,6399,4.142,6400,6.633,6401,3.271,6402,4.142,6403,4.372]],["keywords/1348",[]],["title/1349",[6404,1555.113]],["content/1349",[9,1.458,122,3.461,141,4.306,193,2.103,236,2.281,255,2.299,258,5.041,273,2.997,343,3.264,345,5.529,362,2.196,363,3.33,390,4.898,467,2.582,545,1.844,556,4.31,581,5.958,600,3.869,624,2.752,661,5.765,804,4.833,807,3.811,828,3.186,832,1.247,838,2.44,847,1.421,885,5.445,889,2.777,924,8.317,925,7.173,1014,5.659,1110,3.153,1205,4.225,1215,4.091,1613,4.579,1630,3.544,1644,5.473,2006,3.725,2294,3.502,3543,3.513,4633,6.293,5062,3.544,5064,3.544,6325,3.555,6326,6.875,6327,3.555,6339,3.555,6344,3.89,6353,3.89,6382,4.015,6383,4.015,6384,4.015,6385,4.015,6386,4.015,6387,4.015,6388,4.015,6389,4.015,6404,9.622,6405,6.454,6406,9.116,6407,9.116,6408,9.116,6409,9.116,6410,10.392,6411,10.392]],["keywords/1349",[]],["title/1350",[3392,1144.672]],["content/1350",[9,0.66,122,1.822,141,2.267,193,0.953,236,1.033,255,1.041,258,2.654,273,1.358,343,1.478,345,3.22,362,0.995,363,2.386,390,3.388,467,2.644,545,0.836,548,7.134,556,2.511,581,3.47,600,2.037,624,1.247,661,3.358,699,1.799,804,5.662,807,4.319,823,2.256,828,1.443,832,0.565,838,1.106,847,0.644,885,7.28,889,1.258,924,8.215,925,7.379,1004,2.395,1014,5.22,1110,1.428,1205,2.224,1215,2.154,1613,2.41,1630,1.606,1644,3.188,2006,1.687,2294,1.587,3392,3.208,3543,1.591,4633,3.666,5062,1.606,5064,1.606,6325,1.61,6326,3.114,6327,1.61,6328,2.723,6329,3.208,6330,3.958,6331,3.958,6332,2.994,6339,1.61,6340,3.958,6341,3.958,6342,4.129,6343,3.958,6344,1.762,6345,4.129,6353,1.762,6354,3.208,6356,3.958,6358,3.821,6359,4.129,6360,4.129,6361,4.129,6362,4.129,6363,3.958,6364,3.958,6365,4.129,6368,4.129,6370,3.031,6371,4.129,6374,3.821,6379,4.359,6382,1.819,6383,1.819,6384,1.819,6385,1.819,6386,1.819,6387,1.819,6388,1.819,6389,1.819,6406,4.129,6407,4.129,6408,4.129,6409,4.129,6412,3.524,6413,2.609,6414,4.359,6415,4.359,6416,4.359,6417,4.129,6418,4.359,6419,4.359,6420,4.359,6421,4.359,6422,4.359,6423,4.359,6424,4.359,6425,3.821,6426,4.359,6427,4.359,6428,4.129,6429,4.129,6430,4.359,6431,4.359,6432,4.359,6433,4.359,6434,4.359,6435,4.359,6436,4.359,6437,4.129,6438,4.129,6439,4.359,6440,3.524,6441,4.359,6442,4.129,6443,4.359,6444,4.359,6445,4.359,6446,4.359,6447,4.359,6448,4.359,6449,4.359,6450,3.707,6451,4.359,6452,4.359,6453,4.359,6454,4.129,6455,4.129,6456,4.129,6457,4.129,6458,4.359,6459,4.359,6460,4.359,6461,4.129,6462,4.359,6463,4.359,6464,4.359,6465,4.359,6466,4.129,6467,3.38,6468,4.359]],["keywords/1350",[]],["title/1351",[6469,1555.113]],["content/1351",[9,1.504,14,3.848,16,2.115,26,3.261,30,3.1,31,1.714,38,2.192,40,2.57,41,2.972,48,1.853,50,2.019,58,6.514,59,3.837,63,6.014,108,1.78,122,2.858,139,2.169,140,3.08,141,2.981,144,1.444,149,2.028,157,2.105,189,3.009,193,0.946,204,1.484,215,1.293,230,4.674,236,1.026,251,3.287,255,1.034,258,2.637,259,2.204,260,3.779,270,2.81,273,4.171,287,1.4,306,5.03,319,1.517,323,4.267,328,2.066,343,1.468,345,3.202,357,3.032,362,0.987,363,2.83,374,2.633,390,3.622,417,2.771,429,1.389,440,7.1,443,1.649,453,3.82,467,2.594,475,2.769,478,4.976,486,1.521,489,2.019,498,3.185,520,5.967,524,2.015,526,2.066,541,4.327,545,3.87,554,2.822,556,4.563,558,3.152,581,4.117,597,4.925,600,3.959,603,3.152,624,2.145,633,6.574,661,3.339,688,2.347,692,4.285,693,4.729,730,2.839,731,2.781,743,3.085,804,2.818,807,3.124,812,1.584,820,1.4,828,1.433,832,0.561,838,1.097,847,1.108,860,2.441,876,1.927,885,2.383,889,1.249,924,6.103,925,6.16,928,2.458,944,2.967,949,1.799,983,6.221,1014,1.429,1018,1.517,1048,1.853,1057,3.185,1110,1.418,1137,3.355,1146,4.094,1163,2.55,1205,2.925,1215,2.832,1227,3.484,1237,2.425,1274,7.306,1294,3.667,1333,4.685,1385,1.638,1480,3.053,1613,2.395,1630,2.763,1644,3.17,1817,2.475,1954,8.221,2006,1.675,2016,3.137,2173,3.929,2294,2.73,2657,4.774,3387,2.781,3391,9.182,3392,10.799,3543,2.738,3559,4.327,3610,4.327,3675,3.137,3794,2.181,3812,2.972,4143,12.159,4217,3.091,4381,5.437,4386,4.099,4445,3.423,4459,3.423,4505,4.327,4633,3.645,5062,2.763,5064,2.763,5757,4.099,6156,4.327,6212,4.327,6325,1.599,6326,3.091,6327,1.599,6329,3.185,6332,2.972,6339,1.599,6340,6.81,6341,10.752,6344,1.749,6353,1.749,6354,7.306,6392,13.391,6396,6.378,6399,4.099,6401,5.611,6405,2.902,6440,6.063,6450,8.442,6469,11.841,6470,10.719,6471,12.788,6472,4.673,6473,4.327,6474,4.673,6475,4.673,6476,4.673,6477,4.673,6478,4.673,6479,4.673,6480,4.673,6481,8.099,6482,12.788,6483,4.673,6484,8.099,6485,4.673,6486,4.673,6487,9.926,6488,4.327,6489,4.673,6490,7.5,6491,8.099,6492,4.673,6493,14.462,6494,12.788,6495,4.673,6496,4.673,6497,8.099,6498,4.673,6499,4.673]],["keywords/1351",[]],["title/1352",[6500,1555.113]],["content/1352",[9,0.659,122,1.817,141,2.261,193,0.95,236,1.03,255,1.038,258,2.647,273,1.354,343,1.474,345,3.213,362,0.992,363,2.383,390,3.383,467,2.645,545,0.833,548,7.124,556,2.505,581,3.462,600,2.032,624,1.243,661,3.351,699,1.794,804,5.687,807,4.335,823,2.25,828,1.439,832,0.563,838,1.102,847,0.642,885,7.275,889,1.254,924,8.18,925,7.377,1004,2.388,1014,5.212,1110,1.424,1205,2.219,1215,2.148,1613,2.404,1630,1.601,1644,3.181,2006,1.682,2294,1.582,3543,1.587,4633,3.657,5062,1.601,5064,1.601,6325,1.606,6326,3.105,6327,1.606,6328,2.715,6329,3.199,6330,3.946,6331,3.946,6332,2.985,6339,1.606,6340,3.946,6341,3.946,6342,4.117,6343,3.946,6344,1.757,6345,4.117,6353,1.757,6354,3.199,6356,3.946,6358,3.81,6359,4.117,6360,4.117,6361,4.117,6362,4.117,6363,3.946,6364,3.946,6365,4.117,6368,4.117,6370,3.023,6371,4.117,6374,3.81,6382,1.814,6383,1.814,6384,1.814,6385,1.814,6386,1.814,6387,1.814,6388,1.814,6389,1.814,6406,4.117,6407,4.117,6408,4.117,6409,4.117,6412,3.514,6413,2.601,6414,4.346,6415,4.346,6416,4.346,6417,4.117,6418,4.346,6419,4.346,6420,4.346,6421,4.346,6422,4.346,6423,4.346,6424,4.346,6426,4.346,6427,4.346,6428,4.117,6429,4.117,6430,4.346,6431,4.346,6432,4.346,6433,4.346,6434,4.346,6435,4.346,6436,4.346,6437,4.117,6438,4.117,6439,4.346,6440,3.514,6441,4.346,6442,4.117,6443,4.346,6444,4.346,6445,4.346,6446,4.346,6447,4.346,6448,4.346,6449,4.346,6450,3.696,6451,4.346,6452,4.346,6453,4.346,6454,4.117,6455,4.117,6456,4.117,6457,4.117,6458,4.346,6459,4.346,6460,4.346,6461,4.117,6462,4.346,6463,4.346,6464,4.346,6465,4.346,6466,4.117,6467,3.37,6468,4.346,6500,4.346,6501,4.694,6502,4.346]],["keywords/1352",[]],["title/1353",[6503,1473.221]],["content/1353",[2,3.453,9,1.479,14,3.54,41,1.482,48,2.528,58,3.815,59,1.298,63,6.576,97,2.806,122,3.011,140,2.245,141,6.292,144,3.257,148,3.479,193,1.29,205,2.446,236,1.399,255,1.411,257,2.041,258,3.431,273,3.885,323,2.538,343,2.003,345,4.024,362,1.347,363,2.761,390,3.974,417,2.181,423,2.278,429,3.133,440,2.662,447,4.218,467,2.614,488,4.28,523,2.491,545,1.132,548,2.519,556,4.6,558,2.482,581,4.336,600,2.634,624,1.689,658,4.346,661,4.197,693,3.723,804,4.985,807,4.074,828,1.955,832,0.765,838,1.497,847,0.872,860,3.331,866,2.696,885,5.811,889,1.704,924,7.455,925,7.073,928,3.354,1004,3.244,1014,3.223,1018,2.07,1057,4.346,1110,1.935,1199,4.417,1205,2.876,1207,4.055,1215,2.785,1613,3.117,1630,2.175,1644,3.984,1817,3.378,2006,2.286,2163,2.915,2294,2.149,2657,6.212,2702,4.773,3387,3.795,3391,9.672,3392,7.183,3451,5.593,3543,2.155,3788,5.593,4381,7.074,4633,4.581,5062,2.175,5064,2.175,5447,5.593,5757,5.593,6325,2.181,6326,4.218,6327,2.181,6329,4.346,6330,5.361,6331,5.361,6332,4.055,6339,2.181,6343,5.361,6344,2.387,6353,2.387,6354,9.181,6356,5.361,6358,5.176,6363,5.361,6364,5.361,6370,4.106,6382,2.464,6383,2.464,6384,2.464,6385,2.464,6386,2.464,6387,2.464,6388,2.464,6389,2.464,6396,5.021,6401,4.417,6412,4.773,6413,3.534,6417,5.593,6428,5.593,6429,5.593,6437,5.593,6440,4.773,6450,5.021,6454,5.593,6455,5.593,6456,5.593,6457,5.593,6466,5.593,6503,13.726,6504,5.904,6505,6.376,6506,6.376,6507,10.539,6508,6.376,6509,6.376,6510,6.376,6511,6.376,6512,8.555,6513,5.593,6514,5.593,6515,6.376,6516,5.904,6517,5.904]],["keywords/1353",[]],["title/1354",[6518,1555.113]],["content/1354",[9,2.201,14,3.056,30,2.563,50,3.368,58,2.317,63,2.43,96,3.367,110,5.928,120,4.071,122,2.363,140,2.252,141,6.556,144,1.978,193,1.296,236,2.321,248,4.569,251,2.598,255,2.339,258,3.442,259,3.019,273,3.05,309,4.297,310,2.102,340,2.673,343,2.011,345,4.036,362,1.353,363,2.766,390,4.213,429,4.662,440,2.673,467,2.601,477,3.121,486,2.084,520,2.987,533,2.857,545,1.136,548,2.529,554,2.231,556,4.355,581,4.349,587,2.438,600,3.919,620,2.438,661,4.208,719,2.742,804,4.725,807,4.166,828,1.963,832,0.768,838,1.503,847,0.876,860,3.344,885,5.109,886,2.73,889,4.192,924,6.68,925,6.959,944,1.772,1014,6.05,1018,2.078,1045,3.367,1110,1.942,1170,2.843,1205,2.886,1215,2.794,1227,2.754,1266,2.972,1473,3.121,1573,3.121,1613,3.127,1630,2.183,1644,3.995,1898,4.177,2006,2.295,2294,2.158,2394,3.81,2495,5.196,2729,4.363,2808,4.596,3387,3.81,3391,12.467,3392,9.207,3543,2.164,4063,4.512,4633,4.594,5062,2.183,5064,2.183,5447,5.616,5972,9.276,6000,4.793,6325,2.19,6326,4.235,6327,2.19,6332,4.071,6339,2.19,6344,2.396,6353,2.396,6354,7.207,6370,4.123,6382,2.474,6383,2.474,6384,2.474,6385,2.474,6386,2.474,6387,2.474,6388,2.474,6389,2.474,6396,5.041,6413,3.548,6440,4.793,6450,5.041,6503,5.616,6504,5.928,6512,8.583,6513,5.616,6514,5.616,6516,9.791,6517,5.928,6518,12.509,6519,4.435,6520,5.383,6521,6.402,6522,6.402,6523,6.402,6524,6.402,6525,6.402,6526,6.402,6527,6.402,6528,6.402,6529,6.402,6530,6.402,6531,4.435,6532,6.402,6533,5.616,6534,6.402,6535,6.402,6536,6.402,6537,6.402,6538,6.402,6539,6.402,6540,6.402,6541,5.041,6542,6.402,6543,6.402,6544,4.909,6545,6.402,6546,6.402]],["keywords/1354",[]],["title/1355",[6401,1163.403]],["content/1355",[9,2.249,14,5.089,18,2.82,21,0.712,26,2.433,27,1.316,30,1.999,31,1.231,38,2.835,40,1.845,41,1.404,50,1.507,58,6.347,59,3.424,61,2.913,63,2.294,68,1.321,79,7.001,85,1.49,87,4.524,90,1.166,96,1.765,97,4.435,122,4.309,139,1.558,140,1.287,141,2.293,144,4.007,146,1.351,149,5.05,155,1.875,157,1.512,162,2.835,174,1.015,187,3.151,193,2.354,194,2.361,204,1.065,208,1.696,236,0.736,251,2.453,253,2.252,255,0.742,258,1.967,262,1.803,263,4.277,264,1.665,273,4.623,274,1.077,287,2.469,297,1.519,307,3.998,323,6.979,329,2.676,340,1.401,343,1.054,345,3.874,355,1.278,357,2.262,358,2.795,362,0.709,363,2.824,364,1.686,379,1.891,382,2.791,390,3.583,398,2.352,417,1.148,418,2.946,429,1.796,467,2.548,475,1.561,482,3.248,486,2.684,500,1.356,521,1.803,524,2.051,533,2.696,545,1.789,548,1.326,554,2.873,556,2.71,558,3.209,565,3.055,581,3.245,587,3.14,597,3.788,600,3.24,612,1.907,613,0.992,618,2.161,620,1.278,624,2.183,630,9.444,642,1.997,661,2.568,667,1.891,677,2.502,693,8.836,711,1.86,717,4.427,719,1.437,727,1.924,730,2.039,804,5.01,807,3.908,812,1.138,820,1.005,824,0.744,828,1.029,832,0.403,838,0.788,842,1.94,847,0.459,882,5.161,885,4.155,887,1.512,889,0.897,898,1.582,909,1.978,924,7.347,925,6.905,944,1.673,957,1.941,960,1.384,968,3.496,993,1.831,1008,1.558,1014,3.082,1018,1.089,1048,3.997,1061,1.765,1078,1.907,1110,1.834,1111,2.084,1120,1.341,1196,1.907,1201,5.454,1205,2.25,1215,2.178,1227,2.6,1265,3.943,1558,3.797,1613,1.787,1630,2.061,1644,2.438,1817,4.367,2006,1.203,2047,2.134,2102,2.108,2174,2.324,2198,3.464,2254,2.821,2294,2.037,2311,1.765,2610,1.395,2640,1.476,3126,6.577,3371,4.427,3387,4.907,3388,2.642,3414,5.919,3415,8.522,3431,2.134,3460,1.875,3514,2.724,3543,2.043,3609,2.642,3688,2.573,3691,2.573,3692,2.724,3694,2.821,3701,5.711,3812,2.134,3830,2.724,3893,3.496,4143,5.081,4336,4.759,4381,7.809,4633,2.803,5037,2.287,5062,2.061,5064,2.061,5446,1.444,5546,2.642,5853,1.431,6040,2.642,6073,5.301,6325,1.148,6326,2.22,6327,1.148,6329,2.287,6332,2.134,6333,2.324,6334,2.409,6335,4.905,6336,2.324,6337,2.324,6338,2.324,6339,1.148,6344,1.256,6347,4.186,6348,4.905,6349,2.724,6351,2.324,6352,2.724,6353,1.256,6354,5.619,6355,2.287,6357,2.252,6366,2.287,6367,2.324,6370,2.161,6372,4.186,6373,4.056,6374,2.724,6375,2.324,6376,2.324,6377,2.324,6378,5.711,6380,2.724,6397,2.642,6401,9.784,6405,2.084,6412,2.512,6413,1.86,6467,2.409,6488,3.107,6547,2.724,6548,2.821,6549,3.107,6550,7.145,6551,4.259,6552,2.724,6553,6.932,6554,8.2,6555,5.596,6556,5.596,6557,5.596,6558,3.107,6559,2.943,6560,2.943,6561,2.821,6562,12.389,6563,5.081,6564,5.596,6565,2.943,6566,3.355,6567,3.355,6568,3.107,6569,5.596,6570,3.107,6571,3.107,6572,3.355,6573,3.355,6574,3.355,6575,3.355,6576,3.355]],["keywords/1355",[]],["title/1356",[6397,1322.558]],["content/1356",[9,2.591,14,4.534,41,1.973,58,4.803,59,3.759,79,3.083,96,4.466,122,4.128,140,2.826,141,3.69,144,2.624,193,1.718,205,3.257,215,2.35,236,1.863,255,1.878,258,4.32,270,5.105,273,5.326,287,2.543,343,4.167,345,4.88,362,1.794,363,3.3,390,4.524,438,4.213,467,2.476,490,4.597,545,1.507,556,4.301,581,5.258,600,3.316,603,3.305,661,5.089,804,3.599,807,3.678,828,2.603,832,1.019,838,1.994,847,1.161,887,3.825,889,2.269,924,7.521,925,6.695,1014,2.596,1018,2.756,1110,2.576,1205,3.621,1215,3.506,1294,3.843,1473,4.139,1557,4.53,1613,3.924,1630,2.896,1644,4.831,2006,3.043,2294,2.861,2388,6.219,3387,5.053,3388,6.686,3392,5.787,3515,7.862,3543,2.87,4123,8.779,4633,5.555,4892,7.138,5062,2.896,5064,2.896,6324,7.448,6325,2.904,6326,5.617,6327,2.904,6339,2.904,6344,3.178,6353,3.178,6354,15.653,6382,3.281,6383,3.281,6384,3.281,6385,3.281,6386,3.281,6387,3.281,6388,3.281,6389,3.281,6395,17.101,6397,14.543,6401,9.192,6403,12.287,6473,7.862,6577,6.096,6578,8.49,6579,8.49,6580,8.49,6581,8.49,6582,8.49,6583,8.49,6584,8.49,6585,8.49,6586,8.49,6587,8.49,6588,8.49,6589,8.49,6590,8.49,6591,8.49,6592,8.49,6593,8.49,6594,8.49,6595,8.49,6596,8.49,6597,13.27,6598,8.49,6599,8.49,6600,8.49,6601,8.49,6602,8.49,6603,8.49,6604,8.49,6605,8.49]],["keywords/1356",[]],["title/1357",[6606,1555.113]],["content/1357",[9,1.761,122,3.969,141,4.939,193,2.54,236,2.754,255,2.777,258,5.782,343,3.942,345,6.158,362,2.652,363,3.529,390,5.229,467,2.499,545,2.228,556,4.8,581,6.635,600,4.438,624,3.324,661,6.421,804,3.913,807,4.069,828,3.848,832,1.506,838,2.948,847,1.716,924,7.649,925,6.885,1014,5.431,1110,3.808,1205,4.847,1215,4.692,1613,5.252,1630,4.281,1644,6.095,2294,4.23,3543,4.243,4633,7.009,5062,4.281,5064,4.281,6325,4.294,6327,4.294,6339,4.294,6382,4.85,6383,4.85,6384,4.85,6385,4.85,6386,4.85,6387,4.85,6388,4.85,6389,4.85,6606,11.622,6607,12.551,6608,12.551]],["keywords/1357",[]],["title/1358",[6609,1555.113]],["content/1358",[2,3.672,9,1.556,14,2.508,19,2.679,31,2.487,41,1.576,48,2.689,50,1.691,58,2.455,59,4.458,63,2.574,97,2.984,115,4.78,122,3.63,139,5.147,140,1.444,141,3.083,144,2.096,149,4.812,187,2.592,193,2.244,205,2.602,215,3.069,236,1.488,255,1.5,258,3.609,270,4.077,273,3.198,301,3.542,319,2.202,323,2.699,343,2.13,345,4.201,362,1.433,363,2.958,390,4.094,467,2.567,486,3.609,521,3.645,524,1.687,540,2.423,545,1.204,548,2.679,556,4.171,558,2.64,581,4.527,600,2.77,661,5.06,693,8.21,731,4.036,737,3.7,743,2.583,789,2.763,804,4.47,807,3.97,828,2.079,832,0.814,838,1.593,840,2.183,847,0.927,885,4.779,889,1.812,900,2.731,924,7.187,925,6.914,976,2.565,1014,2.074,1018,3.599,1103,3.345,1105,4.78,1110,3.364,1122,4.12,1142,4.212,1154,3.997,1205,3.026,1215,2.929,1294,3.07,1434,3.789,1613,3.279,1630,2.313,1644,4.159,1817,3.592,1954,3.518,2006,2.431,2294,2.286,2412,4.165,3040,5.949,3387,6.599,3391,7.96,3392,4.622,3414,4.869,3543,2.292,3561,13.406,3997,5.2,4381,7.442,4633,4.782,4881,7.335,5062,2.313,5064,2.313,5543,5.34,6325,2.32,6326,4.486,6327,2.32,6332,4.312,6339,2.32,6344,2.538,6353,2.538,6357,4.552,6373,4.552,6381,20.279,6382,2.62,6383,2.62,6384,2.62,6385,2.62,6386,2.62,6387,2.62,6388,2.62,6389,2.62,6399,5.949,6400,5.505,6401,4.698,6405,4.212,6412,5.077,6413,3.759,6547,5.505,6609,15.04,6610,6.279,6611,6.781,6612,10.266,6613,9.322,6614,6.781,6615,6.781,6616,6.781,6617,5.949,6618,6.781,6619,6.781,6620,10.528,6621,6.781,6622,6.781,6623,5.949,6624,6.781,6625,17.908,6626,6.781,6627,6.781,6628,5.702,6629,6.781,6630,6.781]],["keywords/1358",[]],["title/1359",[3692,1363.216]],["content/1359",[9,1.753,14,4.005,31,4.582,58,4.522,59,3.164,63,6.719,97,5.497,122,2.792,140,1.675,141,3.474,144,2.43,187,3.006,193,1.591,236,1.726,251,3.192,255,1.74,258,4.067,273,2.268,329,2.553,343,2.47,345,4.643,362,1.662,363,3.013,390,4.379,429,2.337,464,3.072,467,2.585,487,3.56,524,3.108,545,1.396,554,2.74,556,4.788,581,5.003,597,3.614,600,3.122,661,4.842,693,4.592,804,5.202,807,4.178,820,2.355,828,2.411,832,0.944,838,1.847,847,1.076,885,4.573,889,2.102,924,7.506,925,7.002,1008,3.651,1014,4.753,1018,2.553,1048,8.153,1110,2.386,1111,4.884,1205,3.409,1215,3.301,1329,4.395,1512,4.431,1613,3.694,1630,2.682,1644,4.596,2006,2.819,2065,6.899,2294,2.651,2740,3.879,2771,6.193,2808,5.647,3387,7.436,3431,5.001,3543,2.658,3692,16.688,3694,6.612,3830,6.384,4633,5.285,4975,4.884,5062,2.682,5064,2.682,6325,2.69,6326,5.203,6327,2.69,6339,2.69,6344,2.944,6353,2.944,6354,8.515,6382,3.039,6383,3.039,6384,3.039,6385,3.039,6386,3.039,6387,3.039,6388,3.039,6389,3.039,6397,6.193,6400,10.141,6405,4.884,6577,5.647,6631,7.864,6632,7.864,6633,7.864,6634,7.864,6635,7.864,6636,7.864,6637,7.864,6638,7.864,6639,7.864,6640,7.864,6641,7.864]],["keywords/1359",[]],["title/1360",[6533,1473.221]],["content/1360",[6,1.455,9,2.267,14,3.427,19,3.586,21,0.802,22,2.249,26,2.707,30,3.058,41,1.562,47,4.386,48,1.499,50,1.676,58,1.368,59,3.896,78,2.095,79,4.581,85,1.678,86,2.167,90,1.313,91,1.728,122,1.502,140,1.933,141,2.525,148,2.062,169,1.961,187,1.445,193,2.227,204,2.134,205,1.45,215,4.717,221,2.795,235,1.782,236,2.416,255,0.836,258,2.188,264,3.336,270,5.458,273,1.09,274,1.213,287,5.105,301,1.974,310,2.207,326,1.822,329,1.227,343,1.187,344,3.398,345,2.712,355,4.805,362,4.044,363,2.492,364,1.899,390,3.63,391,3.178,397,4.924,404,1.263,423,2.402,429,4.154,440,1.578,442,2.249,443,1.333,450,2.112,455,5.462,464,6.963,466,1.773,467,2.547,471,1.754,475,1.736,486,2.188,513,3.442,524,4.762,533,1.686,540,2.402,545,1.954,548,1.493,556,4.707,558,6.289,581,3.543,600,3.784,603,7.866,609,1.988,624,3.341,633,3.068,642,2.249,651,2.112,661,2.828,699,2.569,713,1.64,723,2.768,737,2.062,755,2.829,777,2.434,789,1.54,804,4.883,807,3.813,812,1.281,828,3.868,832,0.454,838,1.579,847,0.517,848,2.75,860,1.974,882,1.935,885,5.014,886,1.612,889,1.01,924,5.963,925,6.68,944,1.046,949,4.857,951,2.078,960,1.559,1014,2.776,1018,1.227,1048,1.499,1050,2.976,1110,3.34,1116,5.154,1146,9.362,1175,2.898,1176,5.154,1178,2.829,1179,2.829,1180,2.829,1188,2.768,1189,2.375,1205,2.477,1215,3.333,1261,1.719,1262,4.738,1373,1.887,1385,1.325,1613,1.988,1630,2.293,1644,2.685,1736,2.403,1909,2.714,1981,3.068,2006,1.355,2059,3.068,2146,1.773,2175,11.631,2294,2.266,2547,2.296,2551,2.772,2637,2.046,2652,3.178,3252,2.768,3391,15.42,3392,6.187,3438,10.274,3513,2.768,3525,2.898,3543,2.272,3881,3.178,4074,2.976,4220,3.178,4445,11.835,4633,3.087,4846,3.068,4975,2.347,5062,2.293,5064,2.293,5983,3.5,6086,7.633,6325,1.293,6326,2.5,6327,1.293,6332,2.403,6339,1.293,6344,1.415,6353,1.415,6354,2.576,6370,2.434,6396,2.976,6405,2.347,6413,2.095,6438,3.315,6440,5.032,6450,2.976,6490,3.5,6502,3.5,6512,5.456,6513,3.315,6514,3.315,6533,15.636,6642,3.068,6643,15.144,6644,11.345,6645,3.068,6646,7.369,6647,2.976,6648,3.779,6649,3.315,6650,3.315,6651,5.897,6652,3.315,6653,3.5,6654,3.315,6655,5.897,6656,3.178,6657,3.5,6658,3.315,6659,3.5,6660,3.315,6661,3.315,6662,3.779,6663,3.779,6664,3.779,6665,6.722,6666,6.722,6667,3.779,6668,3.779,6669,3.779,6670,3.779,6671,3.779]],["keywords/1360",[]],["title/1361",[6672,1555.113]],["content/1361",[9,1.154,14,4.467,50,3.228,97,3.62,122,4.412,129,13.919,140,1.752,141,3.601,144,4.001,155,4.598,193,1.665,236,1.806,255,1.82,258,4.215,286,4.568,343,2.584,345,4.782,359,6.673,362,1.739,363,3.066,390,4.465,404,2.749,434,7.393,464,3.214,467,2.566,486,5.211,489,3.555,524,3.221,545,1.46,556,4.598,568,4.39,581,5.153,600,4.536,612,4.676,661,4.987,739,6.387,743,6.097,804,4.35,807,3.635,820,3.878,828,2.523,832,0.987,838,1.932,847,1.125,885,2.421,887,5.833,889,2.199,924,7.454,925,6.762,1014,2.516,1018,2.671,1110,4.857,1205,3.533,1215,3.421,1294,5.861,1512,4.636,1573,6.313,1613,3.829,1630,2.806,1644,4.734,2006,2.95,2294,2.773,2657,7.631,2729,5.608,3027,4.999,3543,2.781,4123,5.443,4633,5.444,4701,6.309,4975,8.041,5062,2.806,5064,2.806,5462,11.358,6325,2.815,6327,2.815,6339,2.815,6344,3.08,6353,3.08,6382,3.179,6383,3.179,6384,3.179,6385,3.179,6386,3.179,6387,3.179,6388,3.179,6389,3.179,6400,10.51,6672,18.28,6673,12.948,6674,12.948,6675,7.619,6676,11.989,6677,6.16,6678,8.228,6679,8.228,6680,16.008,6681,12.948,6682,8.228,6683,12.948,6684,8.228,6685,8.228,6686,8.228,6687,8.228]],["keywords/1361",[]],["title/1362",[6688,1412.056]],["content/1362",[2,1.097,4,7.861,8,1.447,9,2.337,13,0.792,14,2.864,15,0.758,16,0.917,18,0.945,19,2.118,26,0.816,27,2.103,30,0.921,36,1.573,40,1.114,41,1.569,46,2.553,50,2.964,51,8.045,58,0.733,59,4.215,61,0.977,68,1.495,73,1.105,79,5.312,90,0.704,108,0.772,117,1.031,122,2.037,136,1.162,139,3.135,140,0.809,141,1.491,144,0.626,146,2.159,149,1.649,157,0.913,162,2.515,171,1.398,174,2.758,187,1.452,193,0.41,194,0.792,195,1.322,202,2.23,204,0.643,208,1.024,215,2.213,218,10.235,221,3.325,229,2.677,230,1.656,235,2.529,236,2.934,255,1.494,257,0.649,258,1.237,260,1.773,269,0.783,273,1.096,283,1.763,285,1.586,287,0.607,301,1.058,310,2.217,319,2.959,322,1.987,323,5.039,340,0.846,343,0.636,344,1.024,345,2.723,352,1.123,357,2.007,359,1.958,362,1.689,363,2.329,364,1.908,383,2.218,390,3.881,404,2.671,417,0.693,418,1.852,429,1.129,443,3.573,450,1.132,464,1.484,467,2.578,475,2.065,482,1.089,486,1.746,489,0.875,505,0.846,521,1.089,524,2.958,525,5.89,545,0.952,554,0.706,555,2.589,556,3.537,558,2.628,560,2.308,565,1.024,571,2.861,581,2.174,582,1.428,587,0.772,597,0.931,600,3.926,620,1.447,624,1.788,625,1.687,631,1.645,632,3.292,634,1.114,637,1.428,661,2.491,667,1.142,692,0.679,699,3.057,713,1.649,721,1.381,727,2.178,743,1.447,751,1.36,784,1.231,804,5.019,807,3.981,812,2.711,820,1.138,823,0.971,828,1.165,832,0.243,838,1.259,847,0.733,848,0.829,862,2.218,864,1.517,876,1.567,885,5.729,886,1.62,889,1.015,897,1.151,898,0.955,924,7.595,925,6.955,928,1.998,944,1.051,947,2.404,949,0.78,960,0.836,982,2.959,1014,4.954,1018,1.741,1033,2.997,1068,3.351,1074,2.308,1092,1.018,1110,0.615,1111,1.258,1120,2.698,1163,2.073,1181,2.513,1196,1.151,1205,1.463,1212,4.243,1213,2.387,1215,4.151,1227,1.634,1228,1.455,1237,1.051,1253,3.09,1269,2.012,1352,1.244,1366,3.367,1379,1.34,1385,1.332,1434,1.132,1437,1.307,1557,2.027,1572,3.369,1573,0.988,1613,1.123,1630,1.296,1641,1.305,1644,1.586,1777,4.698,1817,2.841,1895,1.012,1916,2.178,1941,3.98,1951,1.484,2006,0.726,2020,1.72,2102,2.387,2146,4.751,2253,1.381,2255,0.966,2294,1.28,2328,1.273,2481,1.162,2637,2.904,2640,0.891,2657,1.194,2701,2.55,2710,1.484,2729,1.381,2771,1.596,2799,1.244,2804,3.194,3260,2.913,3375,3.715,3388,1.596,3397,1.36,3460,2.997,3516,1.428,3520,1.517,3543,1.284,3553,1.36,3568,1.404,3637,6.512,3789,0.846,4245,1.704,4487,1.704,4633,1.824,4701,2.913,4755,1.005,4759,1.031,4808,1.596,5062,1.296,5064,1.296,5384,1.554,5828,3.715,6038,1.484,6325,0.693,6327,0.693,6339,0.693,6344,0.758,6353,0.758,6467,1.455,6550,1.244,6688,6.723,6689,1.554,6690,1.484,6691,1.645,6692,1.645,6693,1.645,6694,1.704,6695,1.777,6696,1.777,6697,1.645,6698,1.596,6699,1.596,6700,3.074,6701,1.404,6702,1.305,6703,1.428,6704,1.704,6705,1.517,6706,1.704,6707,3.194,6708,1.381,6709,1.596,6710,1.596,6711,8.643,6712,1.596,6713,2.844,6714,1.554,6715,1.596,6716,1.554,6717,1.596,6718,1.554,6719,1.596,6720,1.428,6721,3.083,6722,1.645,6723,1.428,6724,1.428,6725,1.596,6726,1.36,6727,10.428,6728,1.381,6729,1.704,6730,1.381,6731,1.645,6732,1.645,6733,1.404,6734,1.404,6735,1.404,6736,1.404,6737,2.844,6738,1.381,6739,1.36,6740,1.36,6741,1.36,6742,2.991,6743,1.455,6744,1.428,6745,2.631,6746,2.997,6747,1.596,6748,1.777,6749,2.55,6750,1.194,6751,2.446,6752,1.404,6753,2.589,6754,1.36,6755,1.404,6756,1.381,6757,1.517,6758,1.428,6759,1.404,6760,3.655,6761,1.704,6762,1.455,6763,1.596,6764,1.36,6765,1.554,6766,1.777,6767,1.554,6768,1.704,6769,1.517,6770,1.645,6771,1.455,6772,1.596,6773,1.777,6774,1.777,6775,1.777,6776,1.777,6777,2.991,6778,1.428,6779,1.777,6780,1.645,6781,1.596,6782,1.777,6783,2.026,6784,1.288,6785,1.876,6786,2.026,6787,1.645,6788,1.876,6789,3.332,6790,5.923,6791,4.759,6792,3.332,6793,1.704,6794,1.704,6795,1.777,6796,1.777,6797,1.777,6798,1.777,6799,1.777,6800,1.704,6801,1.777,6802,1.777,6803,1.777,6804,1.777,6805,1.596,6806,1.596,6807,1.596,6808,1.596,6809,1.596,6810,1.36,6811,3.41,6812,3.41,6813,3.369,6814,5.539,6815,3.369,6816,1.455,6817,1.428,6818,1.777,6819,1.704,6820,1.876,6821,1.876,6822,1.777,6823,2.026,6824,1.777,6825,1.876,6826,1.876,6827,1.777,6828,1.777]],["keywords/1362",[]],["title/1363",[6677,1257.267]],["content/1363",[9,1.43,14,1.386,30,2.023,41,1.939,50,2.541,58,3.689,59,3.45,97,1.498,122,2.278,140,2.171,141,2.321,144,1.893,149,2.658,157,1.534,171,1.253,174,1.031,193,0.689,205,1.306,215,1.695,236,0.747,255,3.574,258,1.994,263,1.767,264,3.039,273,3.39,274,1.093,285,1.422,287,1.02,310,1.118,319,1.106,323,2.438,339,3.153,340,1.422,343,1.07,345,2.493,352,3.394,359,9.1,362,0.72,363,2.557,377,8.954,390,3.25,418,7.441,443,1.201,447,2.253,450,1.903,467,2.606,475,1.582,478,2.843,486,1.109,516,4.592,525,1.321,526,2.707,545,1.481,556,4.517,562,5.253,581,3.281,600,3.813,612,3.48,624,1.622,644,2.027,651,1.903,661,2.6,680,2.987,743,1.297,804,5.537,807,4.104,812,1.155,820,1.834,823,1.632,828,1.044,832,0.409,837,1.903,838,0.8,842,1.093,847,0.466,876,4.847,882,1.744,885,6.646,889,0.91,924,6.042,925,6.983,967,2.091,1014,2.552,1018,1.106,1033,1.903,1056,4.242,1068,1.69,1110,1.858,1120,1.361,1146,4.218,1163,1.858,1205,2.277,1210,1.721,1215,2.693,1344,1.767,1358,2.166,1366,2.578,1475,1.366,1557,1.817,1613,1.811,1618,2.611,1630,2.089,1644,2.468,2006,1.221,2047,2.166,2294,2.064,2603,2.321,2623,4.585,2652,7.016,2657,4.918,2729,10.402,3081,3.153,3260,2.611,3390,2.863,3524,4.823,3543,2.07,4205,2.863,4339,2.987,4633,2.838,4701,2.611,4755,4.141,4759,1.732,4846,2.764,4974,5.149,4975,12.045,5062,2.089,5064,2.089,5099,6.773,5834,2.987,6169,7.016,6325,1.165,6327,1.165,6339,1.165,6344,1.275,6353,1.275,6400,4.971,6467,2.445,6563,2.863,6676,5.671,6677,10.667,6688,2.863,6689,2.611,6690,2.494,6691,2.764,6692,2.764,6693,2.764,6702,2.193,6707,2.863,6711,1.817,6731,12.388,6732,6.773,6761,2.863,6787,2.764,6821,3.153,6829,2.987,6830,2.987,6831,2.987,6832,2.987,6833,3.405,6834,2.987,6835,2.987,6836,2.987,6837,2.987,6838,2.987,6839,2.987,6840,2.987,6841,2.987,6842,2.987,6843,2.987,6844,2.987,6845,2.987,6846,2.987,6847,5.671,6848,3.405,6849,3.153,6850,2.987,6851,2.987,6852,3.405,6853,2.987,6854,2.987,6855,8.344,6856,3.405,6857,2.987,6858,2.987,6859,3.405,6860,3.405,6861,6.124,6862,8.344,6863,2.987,6864,3.153,6865,3.153,6866,3.405,6867,3.153,6868,3.153,6869,2.987,6870,3.153,6871,2.987,6872,2.987,6873,3.153,6874,11.754,6875,3.153,6876,3.405,6877,3.405,6878,3.405,6879,3.405,6880,3.405,6881,3.405,6882,3.405,6883,7.727,6884,3.405,6885,3.405,6886,3.405,6887,6.124,6888,3.153,6889,3.405,6890,9.438,6891,5.671,6892,3.405,6893,3.405,6894,3.405,6895,3.405,6896,3.405,6897,16.947,6898,3.405,6899,6.124,6900,6.124,6901,6.124,6902,3.153,6903,3.405,6904,3.405,6905,6.124,6906,3.405,6907,3.405,6908,3.405,6909,3.405,6910,3.405,6911,3.405,6912,3.405,6913,3.405,6914,3.405,6915,3.405,6916,3.405,6917,3.405,6918,3.405,6919,3.405,6920,3.405,6921,3.405,6922,3.405]],["keywords/1363",[]],["title/1364",[5384,1287.729]],["content/1364",[2,1.059,4,7.382,8,1.98,9,2.297,13,0.764,14,3.802,15,0.732,16,0.885,18,0.912,19,2.053,26,0.787,27,2.038,30,0.891,36,1.522,40,1.075,41,1.208,46,2.486,50,3.087,51,7.898,58,0.708,59,4.118,61,0.943,68,1.446,73,1.067,79,5.207,90,0.679,108,0.745,117,0.995,122,3.205,136,1.121,139,3.043,140,0.783,141,1.445,144,1.606,146,2.093,149,1.595,157,0.881,162,2.438,171,1.352,174,2.988,187,0.748,193,0.396,194,0.764,195,1.276,202,2.161,204,0.621,208,0.989,215,2.733,218,10.657,221,3.233,229,2.595,230,1.602,235,2.451,236,2.549,255,1.72,257,0.626,258,1.196,260,1.715,269,0.756,273,1.06,283,1.706,285,1.534,287,0.586,301,1.022,310,2.152,319,3.205,322,1.926,323,4.928,340,0.816,343,0.614,344,0.989,345,2.323,352,1.084,357,1.945,359,1.894,362,1.643,363,2.405,364,1.846,383,2.145,390,3.822,404,2.597,417,0.669,418,0.953,429,0.581,443,3.483,449,1.084,450,2.053,464,2.03,467,2.575,469,5.999,475,2.008,482,1.051,486,2.134,489,0.845,505,1.534,524,3.08,525,5.779,545,0.922,554,1.28,556,3.34,558,2.552,560,2.232,565,0.989,571,2.773,581,2.11,587,0.745,597,0.899,600,3.977,620,1.4,624,2.35,625,1.632,631,1.587,632,3.196,634,1.075,637,1.378,661,2.422,667,1.102,692,0.655,699,2.972,713,1.595,721,1.333,727,2.107,728,0.77,743,2.497,751,1.313,764,0.827,784,1.188,804,4.971,807,3.965,812,3.009,820,0.586,823,0.937,828,1.127,832,0.235,838,1.221,847,0.711,848,0.8,860,1.022,862,2.145,864,1.464,876,1.515,885,5.808,886,2.216,887,0.881,889,0.523,892,1.435,897,2.088,898,0.922,924,7.538,925,6.94,928,1.933,944,1.017,947,2.33,949,0.753,960,0.806,982,2.888,1014,5.007,1018,1.687,1033,2.904,1048,2.061,1068,3.253,1074,2.232,1110,0.593,1111,1.214,1120,3.107,1163,2.005,1181,2.431,1196,1.111,1205,1.418,1212,4.119,1213,2.309,1215,3.937,1227,1.581,1228,1.404,1237,1.015,1253,3.004,1256,1.142,1269,1.946,1352,1.201,1366,3.273,1379,1.294,1385,1.288,1557,1.96,1572,4.119,1573,0.953,1613,1.087,1630,1.253,1641,1.259,1644,1.537,1777,4.574,1817,2.753,1895,0.976,1916,2.107,1941,3.864,1951,1.432,2006,0.701,2020,1.663,2102,2.309,2146,4.631,2248,1.111,2253,1.333,2255,0.932,2294,1.238,2328,1.229,2637,2.814,2640,0.86,2657,1.153,2701,2.466,2710,1.432,2771,1.54,2799,1.201,2804,3.089,3260,2.817,3375,4.541,3388,1.54,3395,2.431,3397,1.313,3460,2.904,3516,1.378,3520,2.751,3543,1.242,3553,1.313,3568,1.355,3637,6.356,3789,0.816,4245,1.644,4487,1.644,4633,1.767,4701,2.817,4759,0.995,5062,1.253,5064,1.253,5384,6.805,5828,3.6,6038,1.432,6325,0.669,6327,0.669,6339,0.669,6344,0.732,6353,0.732,6467,1.404,6550,2.257,6689,1.499,6690,1.432,6691,1.587,6692,1.587,6693,1.587,6694,1.644,6695,1.715,6696,1.715,6698,1.54,6699,1.54,6700,2.979,6701,1.355,6702,1.259,6703,1.378,6704,1.644,6705,1.464,6706,1.644,6708,1.333,6709,1.54,6710,1.54,6711,8.49,6712,1.54,6713,2.751,6714,1.499,6715,1.54,6716,2.817,6717,1.54,6718,1.499,6719,1.54,6720,1.378,6721,2.983,6722,1.587,6723,1.378,6724,1.378,6725,1.54,6726,2.466,6727,10.189,6728,1.333,6729,1.644,6730,1.333,6731,1.587,6732,1.587,6733,1.355,6734,1.355,6735,1.355,6736,1.355,6737,2.751,6738,1.333,6739,1.313,6740,1.313,6741,1.313,6743,1.404,6744,1.378,6745,2.545,6746,2.904,6747,1.54,6748,1.715,6749,2.466,6750,1.153,6751,1.259,6752,1.355,6753,2.504,6754,1.313,6755,1.355,6756,1.333,6758,1.378,6759,1.355,6760,3.542,6761,1.644,6762,1.404,6763,1.54,6764,1.313,6765,3.985,6767,1.499,6768,1.644,6769,1.464,6770,1.587,6771,1.404,6772,1.54,6773,1.715,6774,1.715,6775,1.715,6776,1.715,6777,2.894,6778,1.378,6779,1.715,6780,1.587,6781,1.54,6782,1.715,6785,1.811,6789,3.223,6790,5.751,6791,4.62,6792,3.223,6793,1.644,6794,1.644,6795,1.715,6796,1.715,6797,1.715,6798,1.715,6799,1.715,6800,1.644,6801,1.715,6802,1.715,6803,1.715,6804,1.715,6805,1.54,6806,1.54,6807,1.54,6808,1.54,6810,1.313,6811,3.305,6812,3.305,6813,3.265,6814,5.386,6815,3.265,6816,1.404,6817,1.378,6818,1.715,6819,1.644,6820,1.811,6822,1.715,6824,1.715,6825,1.811,6826,1.811,6827,1.715,6828,1.715,6923,1.956,6924,1.811,6925,1.956,6926,1.956,6927,1.811,6928,1.811,6929,1.715,6930,1.956,6931,1.811,6932,1.956,6933,1.956,6934,1.956]],["keywords/1364",[]],["title/1365",[6935,1555.113]],["content/1365",[9,2.003,14,3.923,59,1.899,63,5.418,122,3.191,136,5.35,140,1.987,141,3.97,193,1.888,205,3.58,236,2.048,255,2.065,258,4.647,343,2.931,345,5.179,362,1.972,363,3.211,390,4.701,467,2.577,524,2.322,545,1.656,556,4.523,581,5.581,587,3.554,600,3.567,624,2.471,661,5.401,804,4.863,807,4.334,820,2.795,828,2.861,832,1.12,838,2.192,847,1.276,885,2.746,889,2.494,924,7.963,925,7.051,1014,2.854,1018,3.029,1110,2.831,1205,3.896,1215,3.772,1512,5.258,1613,4.222,1630,3.183,1644,5.127,2002,4.288,2006,3.345,2214,6.464,2294,3.145,2729,6.36,3543,3.154,3997,7.155,4633,5.896,4755,4.631,4975,8.866,5062,3.183,5064,3.183,6001,7.574,6325,3.192,6327,3.192,6339,3.192,6344,3.493,6353,3.493,6382,3.606,6383,3.606,6384,3.606,6385,3.606,6386,3.606,6387,3.606,6388,3.606,6389,3.606,6647,7.348,6677,6.986,6690,6.835,6702,6.009,6819,7.846,6902,8.641,6935,16.054,6936,9.331,6937,9.331,6938,9.331,6939,9.331,6940,9.331,6941,9.331]],["keywords/1365",[]],["title/1366",[6942,1555.113]],["content/1366",[5,3.247,9,1.979,14,4.061,41,1.583,48,2.701,50,3.517,59,4.465,86,3.904,96,5.852,97,9.327,108,2.594,122,3.152,129,5.222,140,1.45,141,3.922,146,2.742,188,3.301,193,1.378,215,3.079,236,1.495,255,1.507,258,3.622,283,3.161,285,2.843,287,2.04,292,3.229,343,2.139,345,4.213,362,1.439,363,3.154,390,4.328,398,4.33,434,5.138,464,5.51,467,2.529,475,2.874,486,2.217,489,2.943,524,1.694,545,1.975,556,4.937,568,3.633,581,5.242,600,3.524,609,5.852,612,9.254,620,4.238,624,2.946,661,4.394,699,2.603,743,5.372,804,4.244,807,3.368,812,2.309,828,4.324,832,0.817,838,3.312,847,0.931,860,3.558,876,4.588,885,3.273,889,1.82,924,7.778,925,6.828,928,3.582,951,3.745,958,4.054,983,2.93,1014,3.402,1018,2.211,1073,10.558,1078,3.87,1110,2.066,1122,4.138,1205,3.849,1215,3.726,1364,13.829,1385,2.388,1613,3.29,1630,3.795,1644,4.171,2006,2.441,2031,5.363,2176,4.8,2236,4.23,2294,3.75,2618,5.528,2657,9.598,2701,4.571,3027,4.138,3543,3.761,3810,5.528,4276,4.444,4633,4.796,4975,12.621,5062,3.795,5064,3.795,5384,5.222,6325,2.33,6327,2.33,6339,2.33,6344,2.549,6353,2.549,6675,6.306,6677,8.329,6942,16.619,6943,6.81,6944,6.81,6945,6.81,6946,6.81,6947,11.125,6948,11.125,6949,6.81,6950,6.81,6951,6.81,6952,6.81,6953,6.81,6954,6.81,6955,6.81,6956,11.125,6957,6.81,6958,6.81,6959,6.81,6960,6.81,6961,6.81]],["keywords/1366",[]],["title/1367",[5346,1473.221]],["content/1367",[2,1.01,4,6.05,8,1.339,9,2.179,13,0.729,14,2.361,15,0.698,16,0.845,18,0.87,19,1.389,26,0.751,27,1.378,30,1.527,36,1.456,41,1.464,46,2.398,48,0.74,50,2.602,51,4.885,58,0.675,59,3.648,68,1.383,73,1.018,79,4.616,90,0.648,120,1.186,122,1.408,139,2.925,140,1.061,141,4.448,144,1.086,146,2.007,149,2.735,162,2.338,171,0.687,174,2.266,187,0.713,193,0.378,194,0.729,202,1.462,208,0.943,215,1.744,218,7.604,221,3.113,229,0.931,230,1.533,235,2.35,236,3.064,248,1.519,255,1.894,257,1.125,258,1.144,259,0.88,260,1.64,263,0.968,264,1.744,269,0.721,273,1.014,274,0.599,283,1.632,285,1.468,287,0.559,309,1.252,310,1.636,319,2.431,322,1.302,323,5.06,329,1.141,340,0.779,343,0.586,345,2.237,352,1.034,355,0.711,357,0.698,359,2.569,362,0.743,363,2.296,364,0.937,383,1.089,390,3.498,404,2.105,418,1.714,429,1.045,443,2.642,450,1.042,464,0.729,467,2.608,475,1.934,486,2.051,489,0.806,505,0.779,516,1.584,524,1.24,525,4.658,545,1.118,548,0.737,554,1.225,556,3.251,558,2.452,560,1.133,571,0.995,581,2.028,587,0.711,600,3.628,612,1.06,620,1.898,624,1.32,625,1.561,631,1.514,632,3.072,637,2.477,661,2.333,692,0.625,699,2.862,713,0.81,719,0.799,721,1.271,751,1.252,784,1.133,798,2.695,804,5.478,807,4.225,812,1.192,820,1.493,823,1.685,828,1.078,832,0.224,838,0.826,847,0.682,848,0.763,864,1.397,876,1.45,885,6.592,886,0.796,889,2.001,897,1.06,924,7.46,925,7.111,928,0.981,944,1.38,947,0.836,949,0.718,960,0.769,982,0.942,1014,5.264,1018,1.141,1033,2.785,1048,1.394,1068,3.127,1074,1.133,1110,0.566,1111,1.159,1120,2.518,1146,2.519,1163,1.918,1170,0.828,1181,2.325,1196,1.06,1205,1.36,1212,3.959,1213,2.208,1215,3.358,1227,2.144,1228,1.339,1237,0.968,1253,1.358,1269,1.862,1294,0.845,1329,2.785,1352,1.146,1366,2.098,1385,1.232,1473,0.91,1557,0.995,1572,2.208,1573,1.714,1613,1.039,1630,1.199,1644,1.474,1777,2.569,1817,1.862,1916,2.015,1941,3.714,1951,1.366,2006,0.669,2012,1.201,2020,0.845,2146,3.512,2163,0.853,2253,1.271,2255,2.376,2282,3.083,2294,1.185,2328,1.172,2394,1.11,2603,1.271,2637,1.903,2640,0.821,2657,2.938,2701,1.252,2710,1.366,2804,1.569,2808,1.339,2814,1.514,3260,2.695,3375,2.435,3388,1.469,3397,1.252,3460,2.785,3516,1.315,3543,1.188,3553,1.252,3568,1.292,3578,1.366,3637,1.1,3789,0.779,4205,1.569,4245,1.569,4487,1.569,4633,1.695,4975,2.183,5062,1.199,5064,1.199,5099,2.853,5346,4.372,5384,1.43,5828,1.292,6169,4.191,6325,0.638,6327,0.638,6339,0.638,6344,0.698,6353,0.698,6467,1.339,6519,1.292,6531,1.292,6541,1.469,6550,1.146,6677,1.397,6689,1.43,6690,1.366,6691,1.514,6692,1.514,6693,1.514,6694,1.569,6696,1.636,6698,1.469,6699,1.469,6700,2.857,6701,1.292,6702,1.201,6703,1.315,6704,1.569,6706,1.569,6707,1.569,6708,1.271,6709,1.469,6710,1.469,6711,8.287,6712,1.469,6713,1.397,6714,1.43,6715,1.469,6716,1.43,6717,1.469,6718,1.43,6719,1.469,6720,1.315,6721,2.853,6722,1.514,6723,1.315,6724,1.315,6725,1.469,6726,1.252,6727,7.511,6728,1.271,6729,1.569,6730,1.271,6731,5.114,6732,4.046,6733,1.292,6734,1.292,6735,1.292,6736,1.292,6737,2.631,6738,1.271,6739,1.252,6740,1.252,6741,1.252,6743,1.339,6744,1.315,6745,1.292,6746,2.785,6747,1.469,6748,1.636,6749,2.359,6750,1.1,6751,1.201,6752,1.292,6753,2.396,6754,1.252,6755,1.292,6756,1.271,6758,1.315,6759,1.292,6760,3.397,6761,1.569,6762,1.339,6763,1.469,6764,1.252,6765,1.43,6766,1.636,6767,1.43,6768,1.569,6769,1.397,6770,1.514,6771,1.339,6772,1.469,6773,1.636,6774,1.636,6775,1.636,6776,1.636,6777,2.768,6778,1.315,6779,1.636,6780,1.514,6781,1.469,6782,1.636,6784,1.186,6789,1.636,6790,3.083,6791,2.477,6792,1.636,6793,1.569,6794,1.569,6795,1.636,6796,1.636,6797,1.636,6798,1.636,6799,1.636,6800,1.569,6801,1.636,6802,1.636,6803,1.636,6804,1.636,6805,1.469,6806,1.469,6807,1.469,6808,1.469,6811,2.235,6812,2.235,6813,2.208,6814,5.187,6815,3.131,6816,1.339,6817,1.315,6818,1.636,6822,1.636,6824,1.636,6827,1.636,6828,1.636,6829,1.636,6830,1.636,6831,1.636,6832,1.636,6834,1.636,6835,1.636,6836,1.636,6837,1.636,6838,1.636,6839,1.636,6840,1.636,6841,1.636,6842,1.636,6843,1.636,6844,1.636,6845,1.636,6846,1.636,6847,1.727,6849,1.727,6850,1.636,6851,1.636,6853,1.636,6854,1.636,6857,1.636,6858,1.636,6863,1.636,6864,1.727,6865,1.727,6867,1.727,6869,1.636,6870,1.727,6871,1.636,6872,1.636,6873,1.727,6890,3.255,6891,3.255,6962,1.866,6963,1.866,6964,1.866,6965,1.866,6966,1.866,6967,2.575,6968,1.866,6969,3.515,6970,3.515,6971,3.515,6972,1.866,6973,1.866,6974,1.866,6975,1.866,6976,3.515,6977,1.866,6978,1.866]],["keywords/1367",[]],["title/1368",[6979,1473.221]],["content/1368",[9,1.059,26,3.04,47,4.926,122,2.702,141,3.363,193,1.528,236,1.657,255,1.67,258,3.936,343,2.371,345,4.519,362,1.595,363,2.965,390,4.3,452,5.145,467,2.623,545,1.34,556,3.523,581,4.869,600,3.021,624,1.999,661,4.712,804,5.849,807,4.652,828,2.315,832,0.906,838,1.773,847,1.032,885,4.45,889,2.018,924,7.264,925,7.214,1014,2.308,1110,2.29,1205,3.3,1215,3.195,1613,3.576,1630,2.575,1644,4.473,2006,2.706,2294,2.544,3543,2.552,4633,5.144,5062,2.575,5064,2.575,6325,2.583,6327,2.583,6339,2.583,6344,2.826,6353,2.826,6382,2.917,6383,2.917,6384,2.917,6385,2.917,6386,2.917,6387,2.917,6388,2.917,6389,2.917,6875,6.99,6888,6.99,6979,6.622,6980,6.99,6981,6.99,6982,7.549,6983,7.549,6984,7.549,6985,7.549,6986,7.549,6987,7.549,6988,5.788,6989,7.549,6990,7.549,6991,7.549,6992,7.549,6993,7.549,6994,6.99,6995,7.549,6996,7.549,6997,7.549,6998,6.622,6999,6.622,7000,6.99,7001,7.549,7002,7.549,7003,7.549,7004,6.99,7005,6.622,7006,7.549,7007,7.549,7008,7.549,7009,7.549,7010,7.549]],["keywords/1368",[]],["title/1369",[7011,1555.113]],["content/1369",[9,1.663,122,3.811,141,4.742,193,2.399,236,2.601,255,2.623,258,5.551,343,3.723,345,5.966,362,2.505,363,3.47,390,5.131,467,2.544,545,2.104,556,4.651,581,6.428,600,4.261,624,3.139,661,6.221,804,4.4,807,3.834,828,3.634,832,1.423,838,2.784,847,1.621,889,3.168,924,8.181,925,7.04,1014,3.625,1110,3.597,1205,4.653,1215,4.505,1613,5.042,1630,4.043,1644,5.905,2006,4.249,2294,3.995,3543,4.007,4633,6.791,5062,4.043,5064,4.043,6325,4.055,6327,4.055,6339,4.055,6344,4.437,6353,4.437,6382,4.58,6383,4.58,6384,4.58,6385,4.58,6386,4.58,6387,4.58,6388,4.58,6389,4.58,6979,10.398,7011,10.976]],["keywords/1369",[]],["title/1370",[7012,1555.113]],["content/1370",[7,3.562,9,2.116,14,3.903,15,2.812,31,2.756,40,4.132,41,3.504,50,3.003,61,7.268,108,2.862,122,2.692,133,4.132,140,1.6,141,4.193,174,2.274,193,1.521,204,2.386,205,4.621,229,3.751,236,3.785,255,3.336,258,3.922,269,2.903,274,2.412,326,5.807,329,2.439,336,5.296,343,2.36,345,4.505,362,1.588,363,3.566,390,4.291,418,11.351,443,2.651,452,11.756,467,2.431,475,3.895,489,3.247,501,4.614,524,3.751,545,2.138,556,4.397,581,5.553,600,3.01,624,3.993,661,4.697,677,3.111,742,4.068,743,2.862,768,6.957,804,4.16,807,3.646,812,2.547,828,2.304,832,0.902,838,1.765,847,1.028,882,6.168,885,3.544,886,3.204,889,2.008,892,2.935,900,3.026,924,6.854,925,6.532,929,4.429,982,5.057,1014,2.298,1016,5.625,1018,2.439,1054,5.761,1078,4.27,1110,2.28,1120,3.002,1205,4.115,1215,3.984,1225,4.614,1226,4.971,1227,5.182,1336,3.124,1386,4.346,1475,9.339,1613,3.562,1630,4.109,1644,5.959,2294,4.06,2311,3.952,3395,4.971,3532,11.154,3543,4.072,3652,5.761,4633,5.127,4895,6.317,5062,4.109,5064,4.109,5285,6.957,5384,5.761,5853,5.137,6325,2.57,6327,2.57,6339,2.57,6677,9.018,6688,6.317,6689,5.761,6690,5.504,6693,6.099,6708,10.277,6758,5.296,6787,6.099,6868,11.154,6994,6.957,7012,11.154,7013,7.514,7014,7.514,7015,12.046,7016,7.514,7017,12.046,7018,7.514,7019,7.514,7020,7.514]],["keywords/1370",[]],["title/1371",[7021,1555.113]],["content/1371",[9,1.782,122,4.003,141,4.981,193,2.57,236,2.787,255,2.81,258,5.83,343,3.989,345,6.198,362,2.683,363,3.541,390,5.249,467,2.504,545,2.254,556,4.832,581,6.678,600,4.475,624,3.363,661,6.463,804,3.946,807,3.937,828,3.894,832,1.524,838,2.983,847,1.737,924,7.679,925,6.9,1014,3.884,1110,3.853,1205,4.887,1215,4.732,1613,5.296,1630,4.332,1644,6.135,2294,4.28,3543,4.293,4633,7.055,5062,4.332,5064,4.332,6325,4.345,6327,4.345,6339,4.345,6382,4.907,6383,4.907,6384,4.907,6385,4.907,6386,4.907,6387,4.907,6388,4.907,6389,4.907,6690,9.303,7021,11.76]],["keywords/1371",[]],["title/1372",[7022,1555.113]],["content/1372",[9,1.005,122,2.59,141,3.223,193,1.449,236,1.572,255,1.584,258,3.773,343,2.249,345,4.361,359,3.691,362,1.513,363,2.901,390,4.199,418,3.491,467,2.633,545,1.271,556,3.4,581,4.699,600,2.896,624,1.896,661,4.547,804,5.796,807,4.455,828,2.195,832,0.859,838,1.682,847,0.979,885,7.632,924,6.466,925,7.291,1014,3.544,1110,2.173,1205,3.162,1215,3.062,1613,3.427,1630,2.442,1644,4.317,2294,2.413,3543,2.421,4633,4.964,5062,2.442,5064,2.442,6325,2.45,6327,2.45,6339,2.45,6382,2.767,6383,2.767,6384,2.767,6385,2.767,6386,2.767,6387,2.767,6388,2.767,6389,2.767,6467,5.141,6689,5.491,6690,5.245,6691,5.812,6692,5.812,6694,6.021,6706,6.021,6707,6.021,6731,5.812,6732,5.812,6777,5.639,6829,6.281,6830,6.281,6831,6.281,6832,6.281,6834,6.281,6835,6.281,6836,6.281,6837,6.281,6838,6.281,6839,6.281,6840,6.281,6841,6.281,6842,6.281,6843,6.281,6844,6.281,6845,6.281,6846,6.281,6850,6.281,6851,6.281,6853,6.281,6854,6.281,6857,6.281,6858,6.281,6863,6.281,6869,6.281,6871,6.281,6872,6.281,7022,6.631,7023,7.161]],["keywords/1372",[]],["title/1373",[7024,1363.216]],["content/1373",[4,6.435,9,2.493,13,1.161,14,3.394,19,1.174,27,3.604,30,2.589,31,1.986,40,4.1,41,2.136,46,0.833,50,3.94,51,2.772,59,4.008,63,3.488,79,6,96,1.563,117,1.512,122,2.387,136,1.704,139,3.462,140,1.153,141,1.506,144,2.305,146,2.18,155,1.661,157,1.339,162,2.54,174,2.257,187,2.07,193,0.601,202,3.1,204,1.719,215,2.956,218,9.507,229,1.484,230,2.361,236,2.344,243,9.23,255,2.363,258,1.763,269,1.148,273,2.151,283,2.513,286,1.049,287,1.622,310,2.448,319,2.421,322,2.763,323,7.288,329,2.421,343,0.933,344,1.502,345,3.19,357,2.791,362,2.256,363,2.209,364,1.493,390,3.784,413,1.532,421,1.574,443,2.631,450,3.026,467,2.568,475,1.399,486,0.968,502,2.059,505,1.241,524,3.51,525,7.101,545,0.961,555,2.026,556,4.264,558,4.66,560,1.806,565,3.769,569,2.026,581,2.4,587,1.132,597,2.488,600,3.275,620,1.132,632,1.449,661,2.323,662,2.752,699,1.136,701,2.413,713,1.29,727,3.104,743,1.132,804,4.888,807,4.006,812,2.528,823,1.425,828,0.911,832,0.357,838,0.698,842,3.428,847,0.406,848,1.216,862,3.161,876,1.226,885,4.414,886,2.309,889,0.794,924,7.757,925,6.922,944,0.823,947,1.333,960,2.233,982,0.796,1014,4.587,1018,0.965,1068,1.475,1074,1.806,1092,1.493,1110,0.902,1111,1.846,1149,1.846,1157,1.574,1181,1.966,1205,1.478,1215,3.964,1237,1.542,1253,4.127,1366,3.869,1434,1.661,1557,1.586,1572,1.867,1613,1.601,1630,1.014,1644,2.205,1705,4.152,1777,5.504,1817,3.95,1916,3.104,1941,1.752,2006,1.065,2102,3.402,2146,5.616,2214,2.059,2294,1.002,2597,2.095,2637,4.038,2671,2.095,2701,5.005,2799,4.58,3027,1.806,3375,2.059,3395,1.966,3397,1.995,3460,4.167,3502,1.846,3543,1.005,3568,2.059,3637,7.726,3789,1.241,3796,1.409,4633,2.536,4832,2.279,5062,1.014,5064,1.014,5828,2.059,5998,5.718,6038,2.177,6325,1.017,6327,1.017,6328,1.719,6339,1.017,6344,1.113,6353,1.113,6382,1.148,6383,1.148,6384,1.148,6385,1.148,6386,1.148,6387,1.148,6388,1.148,6389,1.148,6413,1.647,6550,1.825,6700,4.275,6701,2.059,6702,1.914,6703,2.095,6708,2.026,6711,8.43,6720,2.095,6723,2.095,6724,2.095,6726,6.169,6728,2.026,6730,3.69,6733,2.059,6734,2.059,6735,2.059,6736,2.059,6738,2.026,6739,1.995,6740,1.995,6741,1.995,6745,2.059,6746,3.026,6749,1.995,6750,1.752,6751,1.914,6752,2.059,6753,2.026,6754,1.995,6755,2.059,6756,2.026,6757,2.225,6759,2.059,6760,5.082,6762,2.134,6764,3.634,6778,2.095,6784,3.443,6791,2.095,6800,2.499,6810,1.995,6811,4.742,6812,4.742,6813,4.685,6814,3.751,6815,1.867,7024,7.46,7025,2.341,7026,2.607,7027,2.607,7028,2.413,7029,2.279,7030,2.341,7031,2.341,7032,2.752,7033,1.914,7034,2.413,7035,2.972,7036,2.972,7037,2.972,7038,2.225,7039,6.053,7040,1.995,7041,2.225,7042,2.972,7043,2.607,7044,2.972,7045,2.972,7046,2.972,7047,2.972,7048,2.972,7049,2.972,7050,2.225,7051,2.225,7052,2.972,7053,2.972,7054,2.752,7055,2.972,7056,2.499,7057,2.752,7058,2.413,7059,2.413,7060,2.972,7061,2.499,7062,2.607,7063,2.225,7064,2.607,7065,2.972,7066,2.413,7067,2.341,7068,2.413,7069,2.752,7070,6.27,7071,2.607,7072,2.752,7073,2.752,7074,2.972,7075,2.972,7076,2.972,7077,2.972,7078,2.972,7079,2.972]],["keywords/1373",[]],["title/1374",[7080,1555.113]],["content/1374",[9,2.02,14,2.772,15,4.586,22,3.325,34,4.336,41,3.346,59,1.137,61,4.549,67,2.959,79,2.029,97,2.458,122,2.109,140,2.01,141,3.407,144,1.726,187,2.135,193,1.91,204,1.774,218,2.824,236,3.531,255,1.236,258,3.072,259,2.634,262,3.002,270,3.359,287,4.312,310,3.098,343,1.754,344,7.278,345,3.66,362,3.927,363,3.099,390,3.718,398,2.174,404,1.866,418,4.601,429,1.66,455,6.079,467,2.612,475,2.437,513,11.806,524,1.39,540,1.996,545,1.675,555,3.808,556,5.37,558,6.263,581,4.635,600,4.02,610,3.937,624,2.499,661,3.817,703,4.182,730,3.394,804,3.173,807,3.486,808,2.607,812,3.199,816,5.733,828,4.414,832,0.67,838,1.312,842,3.029,847,0.764,866,2.362,882,2.86,887,2.517,889,1.493,924,6.741,925,6.418,944,2.612,988,3.025,1014,3.746,1018,1.814,1110,3.717,1146,6.193,1170,4.191,1205,3.343,1215,5.557,1227,2.403,1265,3.645,1294,2.529,1344,9.058,1358,3.552,1373,2.789,1385,1.959,1613,2.791,1630,3.219,1644,3.623,1742,4.182,1909,4.011,2006,2.002,2179,6.537,2255,4.498,2294,3.18,2640,4.152,3438,3.552,3441,4.9,3543,3.19,4633,4.166,4655,5.173,4657,5.173,5062,3.219,5064,3.219,5853,2.382,6325,1.911,6327,1.911,6339,1.911,6344,2.091,6353,2.091,6413,3.096,7080,18.087,7081,4.092,7082,16.09,7083,8.738,7084,4.534,7085,5.586,7086,5.586,7087,14.398,7088,9.436,7089,12.045,7090,5.586,7091,5.586,7092,14.398,7093,5.586,7094,5.586,7095,5.586,7096,5.586,7097,5.586,7098,9.436,7099,12.251,7100,9.436,7101,9.436,7102,9.436,7103,5.586,7104,9.436,7105,5.586,7106,9.436,7107,5.586,7108,5.586,7109,5.586]],["keywords/1374",[]],["title/1375",[1931,1287.729]],["content/1375",[9,1.747,122,3.947,141,4.912,193,2.52,236,2.733,255,2.755,258,5.75,343,3.911,345,6.131,362,2.631,363,3.521,390,5.216,467,2.512,545,3.135,556,4.78,581,6.607,600,4.413,624,3.298,661,6.394,804,3.892,807,3.908,828,3.818,832,1.495,838,2.925,847,1.703,924,7.847,925,6.941,1014,5.401,1110,3.778,1205,4.82,1215,4.666,1613,5.223,1630,4.247,1644,6.069,1929,9.122,1931,9.549,2294,4.197,3543,4.21,4633,6.979,5062,4.247,5064,4.247,6325,4.26,6327,4.26,6339,4.26,6382,4.812,6383,4.812,6384,4.812,6385,4.812,6386,4.812,6387,4.812,6388,4.812,6389,4.812]],["keywords/1375",[]],["title/1376",[7110,1555.113]],["content/1376",[9,1.796,122,4.025,141,5.009,193,2.591,236,2.809,255,2.832,258,5.863,343,4.02,345,6.224,362,2.705,363,3.549,390,5.263,467,2.49,545,2.272,556,4.852,581,6.707,600,4.5,624,3.39,661,6.491,716,6.315,804,3.968,807,3.949,828,3.925,832,1.536,838,3.007,847,1.751,924,7.699,925,6.835,1014,3.915,1110,3.884,1205,4.915,1215,4.758,1613,5.326,1630,4.366,1644,6.161,2294,4.315,3543,4.327,4633,7.085,5062,4.366,5064,4.366,6325,4.38,6327,4.38,6339,4.38,6382,4.947,6383,4.947,6384,4.947,6385,4.947,6386,4.947,6387,4.947,6388,4.947,6389,4.947,7110,11.854]],["keywords/1376",[]],["title/1377",[4557,1183.697]],["content/1377",[9,1.543,122,3.609,141,4.491,193,2.226,236,2.414,255,2.433,258,5.257,343,3.454,345,5.716,362,2.324,363,3.391,390,4.999,467,2.572,545,1.952,556,4.456,581,6.159,600,4.035,624,2.913,661,5.961,716,5.425,804,5.172,807,4.279,828,3.372,832,1.32,838,2.583,847,1.504,885,3.236,889,2.939,924,7.911,925,7.08,1014,3.363,1110,3.337,1205,4.407,1215,5.055,1613,4.775,1630,3.751,1644,5.658,2006,3.943,2294,3.707,3543,3.718,4557,7.752,4633,6.506,4971,10.184,5062,3.751,5064,3.751,6325,3.763,6327,3.763,6339,3.763,6344,4.117,6353,4.117,6382,4.25,6383,4.25,6384,4.25,6385,4.25,6386,4.25,6387,4.25,6388,4.25,6389,4.25,7111,10.998,7112,10.998]],["keywords/1377",[]],["title/1378",[1935,1287.729]],["content/1378",[9,1.811,122,4.048,141,5.037,193,2.612,236,2.832,255,2.855,258,5.896,343,4.053,345,6.252,362,2.727,363,3.557,390,5.277,467,2.493,545,2.291,556,4.874,581,6.736,600,4.526,624,3.417,661,6.519,804,3.991,807,3.76,828,3.957,832,1.549,838,3.031,847,1.765,924,7.718,925,6.847,1014,3.946,1110,3.915,1205,4.943,1215,4.785,1613,5.356,1630,4.402,1644,6.188,1935,9.895,2294,4.349,3543,4.362,4633,7.116,5062,4.402,5064,4.402,6325,4.415,6327,4.415,6339,4.415,6382,4.986,6383,4.986,6384,4.986,6385,4.986,6386,4.986,6387,4.986,6388,4.986,6389,4.986]],["keywords/1378",[]],["title/1379",[1929,1230.196]],["content/1379",[9,1.796,122,4.025,141,5.009,193,2.591,236,2.809,255,2.832,258,5.863,343,4.02,345,6.224,362,2.705,363,3.549,390,5.263,467,2.49,545,2.272,556,4.852,581,6.707,600,4.5,624,3.39,661,6.491,804,3.968,807,3.949,828,3.925,832,1.536,838,3.007,847,1.751,924,7.699,925,6.835,1014,3.915,1110,3.884,1205,4.915,1215,4.758,1613,5.326,1630,4.366,1644,6.161,1929,9.377,1935,9.816,2294,4.315,3543,4.327,4633,7.085,5062,4.366,5064,4.366,6325,4.38,6327,4.38,6339,4.38,6382,4.947,6383,4.947,6384,4.947,6385,4.947,6386,4.947,6387,4.947,6388,4.947,6389,4.947]],["keywords/1379",[]],["title/1380",[7113,1555.113]],["content/1380",[9,1.439,14,4.935,122,4.554,140,2.185,141,4.265,155,5.732,193,2.076,215,4.245,236,2.251,255,2.27,258,4.992,343,3.222,345,5.487,362,2.167,363,3.316,390,4.874,404,3.427,467,2.537,486,3.34,489,4.433,524,3.815,545,1.821,556,4.746,568,5.473,581,5.912,600,3.832,612,5.83,624,2.717,661,5.721,743,3.907,804,4.49,807,3.931,828,3.145,832,1.231,838,2.409,847,1.403,889,2.742,924,7.767,925,6.875,1014,3.137,1018,3.33,1110,3.112,1205,4.185,1215,4.052,1433,5.78,1613,4.535,1630,3.499,1644,5.431,1941,6.046,2006,3.677,2294,3.457,3027,6.232,3448,5.732,3543,3.468,3620,6.3,3625,7.68,4123,6.787,4633,6.245,4975,9.524,5062,3.499,5064,3.499,6325,3.509,6327,3.509,6339,3.509,6344,3.84,6353,3.84,6382,3.964,6383,3.964,6384,3.964,6385,3.964,6386,3.964,6387,3.964,6388,3.964,6389,3.964,6677,7.68,7113,18.869,7114,10.258,7115,10.258,7116,10.258]],["keywords/1380",[]],["title/1381",[7117,1473.221]],["content/1381",[9,1.087,14,1.754,26,3.121,28,4.709,41,1.801,50,4.377,59,2.514,73,4.229,79,4.484,96,4.077,97,8.436,122,3.44,139,5.732,140,2.63,141,4.281,146,4.972,174,2.345,193,2.499,221,3.222,236,1.701,255,1.715,258,4.02,269,2.995,273,3.561,323,4.915,340,3.236,343,2.434,345,4.598,357,2.901,362,1.638,363,3.286,390,4.351,467,2.557,478,3.598,487,3.508,489,3.349,524,1.928,525,3.006,545,2.732,556,5.474,558,4.806,565,3.918,581,4.955,600,3.846,603,3.017,624,2.052,661,4.795,719,3.32,721,5.282,739,3.823,804,3.392,807,3.8,828,3.786,832,0.93,838,3.615,842,2.488,847,1.06,889,2.071,924,7.609,925,6.783,976,2.931,988,4.196,1014,3.776,1018,2.516,1092,3.893,1110,2.351,1192,5.282,1205,3.37,1215,3.262,1613,3.652,1630,2.643,1644,4.552,1941,4.568,2006,2.778,2068,6.103,2294,2.612,3269,5.677,3543,2.62,4123,5.127,4633,5.234,4756,6.291,5062,2.643,5064,2.643,6325,2.651,6327,2.651,6339,2.651,6344,2.901,6353,2.901,6382,2.995,6383,2.995,6384,2.995,6385,2.995,6386,2.995,6387,2.995,6388,2.995,6389,2.995,6700,4.443,6787,6.291,6815,7.758,7117,15.401,7118,7.75,7119,12.348,7120,11.434,7121,11.434,7122,7.75,7123,6.291,7124,7.75,7125,10.832,7126,7.75,7127,16.819,7128,7.75,7129,7.75,7130,7.75,7131,7.75,7132,7.75,7133,7.75,7134,7.75,7135,7.176,7136,7.176,7137,7.75,7138,7.176,7139,7.75]],["keywords/1381",[]],["title/1382",[555,1144.672]],["content/1382",[2,1.277,4,8.83,8,0.899,9,2.446,13,0.922,14,2.766,19,1.729,27,3.001,30,1.485,31,2.247,36,1.813,41,3.043,46,2.855,50,2.808,58,0.854,59,4.076,63,0.895,79,6.155,90,0.819,97,1.038,117,1.2,122,2.732,136,1.352,139,3.552,140,1.304,141,1.703,144,3.481,146,1.763,155,1.318,157,1.063,162,2.873,174,3.408,187,1.673,193,0.477,194,0.922,202,3.741,204,0.749,205,0.905,208,1.192,215,2.822,218,10.407,221,3.182,229,2.186,230,1.909,235,2.889,236,3.606,255,1.693,257,0.755,258,1.425,260,1.101,269,0.912,273,3.248,283,2.032,287,0.707,310,2.955,319,3.656,322,3.334,323,5.813,329,0.766,343,0.741,344,3.096,345,2.688,357,1.639,358,3.456,359,2.256,362,1.901,363,2.712,364,2.199,390,4.2,404,0.788,417,0.807,421,1.25,429,0.701,443,2.7,449,1.308,450,1.318,464,2.393,467,2.556,475,2.324,486,1.425,489,1.019,505,0.985,521,2.353,524,3.041,525,6.372,545,0.777,548,0.932,554,0.822,555,4.175,556,3.947,558,3.502,560,2.66,581,2.463,582,1.663,597,2.815,600,3.814,613,0.698,617,1.418,620,1.668,624,1.622,625,1.048,632,2.134,637,1.663,661,2.803,677,0.977,688,2.199,692,0.79,699,3.44,713,1.9,727,3.512,743,0.899,756,1.241,784,1.433,804,4.593,807,3.757,812,2.594,820,0.707,823,1.131,828,0.723,832,0.283,838,0.554,847,0.323,848,0.965,862,2.556,876,1.805,882,1.208,885,4.491,886,1.867,889,1.17,897,1.341,898,1.112,924,7.374,925,6.735,928,1.241,944,1.695,947,1.963,949,0.908,960,1.805,982,0.632,1014,4.245,1018,1.421,1033,3.423,1068,2.173,1074,1.433,1092,1.185,1103,1.164,1110,0.716,1111,1.465,1120,4.073,1181,2.896,1205,1.672,1212,4.808,1213,2.751,1215,4.834,1228,1.694,1237,1.224,1253,4.352,1269,2.319,1279,1.352,1294,1.068,1329,1.318,1366,5.147,1385,2.148,1434,3.423,1437,1.507,1489,1.634,1557,3.268,1572,2.751,1573,1.15,1610,1.038,1613,1.811,1630,1.493,1644,1.811,1777,6.748,1817,5.4,1916,2.51,1941,1.39,1951,3.207,1954,2.271,2006,0.846,2047,1.5,2102,2.751,2146,6.85,2248,1.341,2255,1.125,2294,1.476,2328,1.482,2481,2.51,2637,4.872,2640,1.038,2657,1.39,2701,5.136,2799,3.762,3027,1.433,3375,3.033,3395,1.561,3397,2.939,3460,3.423,3502,1.465,3516,1.663,3543,1.48,3553,1.583,3568,1.634,3637,6.638,3664,1.858,3789,0.985,4276,1.539,4326,1.858,4454,3.554,4633,2.083,4697,1.915,4743,1.858,4832,3.357,4881,1.561,5062,1.493,5064,1.493,5446,1.015,5828,1.634,5852,1.809,5998,4.697,6038,1.728,6325,0.807,6327,0.807,6328,1.365,6339,0.807,6344,0.883,6353,0.883,6401,1.634,6425,1.915,6561,1.983,6697,1.915,6700,4.387,6701,1.634,6702,1.519,6703,1.663,6705,1.766,6708,1.608,6711,7.407,6720,1.663,6723,1.663,6724,1.663,6726,6.04,6728,1.608,6730,4.175,6733,1.634,6734,1.634,6735,1.634,6736,1.634,6737,3.277,6738,1.608,6739,1.583,6740,1.583,6741,1.583,6742,3.448,6743,1.694,6744,1.663,6745,3.033,6746,3.423,6749,2.939,6750,1.39,6751,2.819,6752,3.033,6753,2.984,6754,1.583,6755,1.634,6756,1.608,6757,1.766,6759,1.634,6760,5.216,6762,1.694,6764,5.136,6778,1.663,6784,4.866,6791,1.663,6805,1.858,6806,1.858,6807,1.858,6808,1.858,6809,1.858,6810,1.583,6811,5.722,6812,5.722,6813,5.654,6814,7.062,6815,3.848,6816,1.694,6817,1.663,7033,3.944,7038,1.766,7040,1.583,7041,1.766,7050,1.766,7051,1.766,7063,1.766,7066,1.915,7067,1.858,7068,1.915,7140,1.858,7141,1.858,7142,1.728,7143,1.983,7144,1.983,7145,1.858,7146,1.983,7147,1.858,7148,3.554,7149,1.858,7150,2.069,7151,5.373,7152,2.069,7153,2.069,7154,2.069,7155,2.069,7156,2.069,7157,2.069,7158,2.069,7159,2.069,7160,2.359,7161,2.359,7162,2.359,7163,2.359,7164,2.359]],["keywords/1382",[]],["title/1383",[7165,1363.216]],["content/1383",[4,5.112,9,2.961,14,3.479,19,4.356,21,2.339,22,1.85,26,2.271,27,1.219,30,4.253,34,3.556,40,3.1,41,4.558,47,2.028,48,1.232,50,3.075,58,2.801,59,3.13,61,1.498,68,1.223,79,4.004,86,6.321,90,4.682,97,1.367,108,1.184,117,2.868,122,1.73,139,5.726,140,2.348,141,2.152,144,1.743,148,1.696,149,2.447,171,1.144,187,3.636,188,1.507,193,1.141,204,2.457,205,1.192,208,1.571,215,5.303,221,6.394,229,4.748,234,2.726,235,1.466,236,3.375,248,1.343,254,2.523,255,1.248,258,1.836,264,2.798,270,6.629,274,1.81,285,1.298,287,4.606,301,1.623,310,2.541,323,3.786,326,1.498,329,1.009,343,0.976,344,8.54,345,2.312,355,4.2,358,1.912,362,4.46,363,2.742,390,3.275,391,2.613,397,4.13,398,1.21,417,3.254,418,2.749,429,4.571,442,1.85,443,1.096,450,1.737,453,1.466,455,6.688,464,3.023,466,1.458,467,2.412,471,1.443,475,2.457,486,1.836,489,1.343,500,1.256,505,1.298,513,1.591,520,1.45,521,1.67,524,3.353,525,3.001,533,1.387,545,1.001,548,1.228,554,1.083,556,3.582,558,4.801,568,1.658,570,2.086,571,1.658,581,3.062,600,5.005,603,4.801,609,2.966,610,2.19,615,2.056,624,1.493,661,2.411,670,2.327,692,2.593,699,2.155,713,1.349,719,1.331,726,1.782,727,4.437,730,3.426,737,1.696,777,2.001,789,1.266,804,4.414,807,3.383,808,1.45,812,3.225,820,2.318,824,1.25,828,3.38,832,0.373,838,1.324,842,5.423,847,0.425,848,2.307,849,4.129,866,1.314,885,3.966,886,1.325,889,0.831,909,1.832,924,5.465,925,6.284,926,1.683,944,2.633,949,1.197,951,1.709,968,1.798,1014,2.367,1018,1.009,1050,2.447,1110,4.908,1120,4.405,1133,1.832,1134,2.153,1146,8.177,1175,2.383,1176,4.323,1178,2.327,1179,2.327,1180,2.327,1188,2.277,1189,1.953,1205,2.112,1215,4.063,1227,1.337,1262,3.974,1263,1.976,1279,3.233,1294,2.553,1366,3.258,1473,3.773,1512,1.751,1573,1.515,1574,2.153,1613,3.26,1630,1.923,1644,2.289,1683,1.18,1736,1.976,1742,2.327,1909,2.231,1981,2.523,2006,1.114,2059,2.523,2146,1.458,2161,4.256,2175,11.831,2294,1.9,2411,2.327,2481,1.782,2546,4.13,2623,5.794,2637,3.053,2653,2.613,2805,2.878,3252,2.277,3357,2.613,3429,4.049,3438,9.779,3439,2.383,3440,2.153,3442,2.878,3448,1.737,3449,2.613,3513,2.277,3525,2.383,3543,1.906,3547,2.153,3619,2.19,3637,7.944,4074,2.447,4220,2.613,4326,6.095,4445,9.035,4633,2.632,4816,2.447,4842,5.221,4975,1.93,5062,1.923,5064,1.923,5597,2.726,6325,1.063,6327,1.063,6328,1.798,6339,1.063,6344,1.163,6353,1.163,6405,1.93,6413,1.723,6642,2.523,6644,7.72,6645,4.577,6646,6.282,6647,2.447,6649,2.726,6650,2.726,6651,4.946,6652,2.726,6654,2.726,6655,2.726,6658,2.726,6660,2.726,6661,2.726,6784,1.976,6787,2.523,6819,2.613,6883,2.878,7063,4.221,7084,4.577,7127,4.946,7165,13.13,7166,3.108,7167,2.878,7168,3.108,7169,3.108,7170,3.108,7171,3.108,7172,3.108,7173,3.108,7174,3.108,7175,12.334,7176,3.108,7177,7.739,7178,3.108,7179,3.108,7180,3.108,7181,3.108,7182,4.946,7183,3.108,7184,3.108,7185,3.108,7186,3.108,7187,5.221,7188,5.221,7189,2.878,7190,7.166,7191,2.613,7192,2.878,7193,3.108,7194,3.108,7195,3.108]],["keywords/1383",[]],["title/1384",[3395,1111.048]],["content/1384",[2,0.754,4,7.996,8,0.53,9,2.48,13,0.544,14,4.396,15,0.996,19,1.934,26,0.56,27,2.996,30,2.222,31,2.492,34,0.64,36,1.102,41,2.838,46,1.903,50,2.91,57,2.496,58,0.504,59,4.099,61,0.671,63,1.452,67,0.737,68,1.048,73,0.759,74,0.778,79,5.538,97,0.612,108,0.53,117,0.708,122,4.255,136,0.798,139,5.668,140,1.042,141,1.064,144,4.598,146,1.072,149,0.604,155,0.778,157,0.627,162,3.954,174,3.177,187,1.871,193,0.774,194,0.544,202,3.811,204,1.214,215,1.88,218,10.342,221,7.349,229,3.392,230,1.16,235,1.804,236,2.011,255,1.301,257,0.446,258,0.867,259,1.255,260,0.649,262,5.296,269,0.538,273,0.401,279,0.896,283,1.236,285,1.111,287,1.761,310,4.482,319,3.408,322,3.396,323,6.07,328,0.615,329,0.452,343,0.437,344,1.345,345,2.738,357,1.432,359,1.971,362,2.788,363,2.881,364,2.459,390,4.138,404,0.465,413,4.345,417,0.911,418,0.679,421,0.737,423,0.497,429,0.791,443,2.397,447,0.921,449,0.771,450,1.487,452,0.949,464,2.985,466,0.653,467,2.521,469,5.986,475,1.519,478,0.646,486,1.245,489,1.653,500,1.076,501,0.855,505,0.581,524,3.702,525,7.461,545,0.869,554,1.333,555,2.607,556,4.117,558,2.644,560,2.324,581,1.576,587,1.014,597,0.64,600,4.652,606,1.13,612,2.781,620,2.24,624,2.023,625,0.618,632,5.691,637,0.981,640,0.949,661,1.832,677,0.576,692,0.466,699,2.597,705,1.067,713,2.124,721,3.336,727,2.193,728,0.548,743,4.229,746,0.636,751,0.934,764,0.588,784,0.846,804,4.239,807,3.416,812,3.559,820,0.417,823,0.667,828,2.343,832,0.167,838,0.898,847,0.19,848,1.565,860,0.727,862,1.554,864,1.042,876,1.577,882,0.713,885,4.59,886,2.087,889,0.372,892,1.04,897,0.791,898,1.255,900,0.56,924,6.896,925,6.507,928,0.732,944,0.737,947,2.637,949,0.536,960,2.425,976,0.526,982,0.713,1014,3.889,1018,0.864,1033,2.137,1048,1.517,1068,2.429,1074,1.617,1092,0.699,1110,0.808,1111,0.864,1120,3.937,1149,0.864,1163,0.759,1181,1.761,1196,0.791,1205,1.044,1212,3.075,1213,1.672,1215,5.134,1228,0.999,1237,0.722,1238,1.298,1253,4.914,1256,0.813,1269,1.41,1358,1.693,1366,5.747,1385,2.062,1386,0.805,1434,1.487,1489,0.964,1557,2.041,1572,2.403,1573,1.298,1613,1.131,1630,0.908,1641,0.896,1644,1.131,1777,7.468,1817,4.855,1910,2.096,1916,1.526,1941,0.82,2002,1.223,2006,0.499,2091,3.04,2102,1.672,2146,6.797,2174,0.964,2200,2.161,2240,2.335,2248,1.513,2255,0.664,2279,4.71,2294,0.897,2328,0.874,2481,0.798,2546,1.02,2637,5.684,2640,0.612,2657,0.82,2674,0.949,2701,5.129,2799,2.349,3083,2.161,3375,2.65,3387,1.584,3391,2.746,3392,1.814,3395,8.077,3397,3.285,3420,1.289,3429,0.999,3460,2.735,3502,0.864,3516,0.981,3517,1.787,3520,1.993,3543,0.9,3553,0.934,3568,1.844,3637,7.778,3789,0.581,4326,3.012,4502,1.067,4633,1.301,4743,6.638,4816,2.096,5062,0.908,5064,0.908,5125,1.289,5828,4.706,5998,2.933,6001,1.13,6038,1.02,6325,0.476,6327,0.476,6328,0.805,6329,0.949,6339,0.476,6344,0.521,6353,0.521,6550,3.006,6623,1.221,6656,1.17,6698,1.096,6699,2.096,6700,3.895,6701,0.964,6702,0.896,6703,0.981,6708,0.949,6709,2.096,6710,2.096,6711,7.04,6712,2.096,6713,1.993,6714,2.041,6715,2.096,6716,2.933,6717,2.096,6718,2.041,6719,2.096,6720,2.696,6721,2.161,6722,1.13,6723,0.981,6724,0.981,6725,1.096,6726,6.152,6728,0.949,6730,2.607,6733,2.65,6734,1.844,6735,2.65,6736,3.39,6737,1.993,6738,0.949,6739,0.934,6740,0.934,6741,0.934,6743,0.999,6744,0.981,6745,1.844,6746,2.137,6747,1.096,6749,2.567,6750,0.82,6751,1.714,6752,2.65,6753,2.607,6754,0.934,6755,0.964,6756,0.949,6757,1.042,6758,1.876,6759,0.964,6760,3.336,6762,2.746,6763,2.096,6764,4.56,6765,2.933,6767,1.067,6769,3.664,6770,1.13,6771,1.911,6772,1.096,6778,0.981,6780,1.13,6781,1.096,6784,1.693,6791,1.876,6793,1.17,6794,1.17,6805,1.096,6806,1.096,6807,1.096,6808,1.096,6810,0.934,6811,6.266,6812,6.266,6813,6.191,6814,5.293,6815,5.759,6816,0.999,6817,0.981,6924,1.289,6927,1.289,6928,1.289,6929,1.221,6931,1.289,7033,0.896,7038,1.042,7040,0.934,7041,1.042,7050,1.993,7051,1.993,7063,3.664,7066,1.13,7067,3.012,7068,1.13,7140,1.096,7142,1.02,7145,1.096,7147,1.096,7165,1.13,7196,1.17,7197,2.335,7198,1.221,7199,3.542,7200,1.392,7201,6.794,7202,4.894,7203,4.532,7204,1.289,7205,1.289,7206,1.289,7207,1.289,7208,1.289,7209,1.289,7210,1.289,7211,1.289,7212,1.13,7213,1.392,7214,1.289,7215,2.465,7216,1.392,7217,1.392,7218,1.392,7219,1.392,7220,1.392,7221,1.392,7222,1.392,7223,1.392,7224,1.392,7225,1.392,7226,1.392,7227,1.392,7228,1.392,7229,2.662,7230,1.392,7231,1.392,7232,1.392,7233,1.392,7234,1.392]],["keywords/1384",[]],["title/1385",[7235,1555.113]],["content/1385",[2,1.915,4,4.625,8,1.347,9,2.312,14,3.527,19,2.503,27,1.387,30,0.858,31,1.297,41,1.473,50,1.58,51,3.244,59,4.481,63,1.343,68,1.392,79,7.481,97,1.556,122,1.923,139,4.867,140,0.753,141,1.762,144,3.24,162,1.659,174,4.41,187,2.422,193,0.716,202,5.016,215,1.754,218,10.413,221,5.016,229,1.766,236,1.391,255,1.904,258,2.063,273,1.827,283,5.6,286,1.248,287,1.059,310,3.961,319,4.731,322,4.47,323,6.204,343,1.111,345,4.006,357,1.324,359,6.218,362,1.818,363,2.512,364,1.777,390,4.688,404,1.182,413,1.823,418,1.725,429,1.051,443,3.699,449,1.96,464,2.475,467,2.545,475,0.914,486,2.063,489,1.528,505,1.477,524,1.576,525,7.637,545,1.125,554,1.232,556,4.797,558,4.081,568,1.887,581,2.77,587,1.347,600,4.791,620,2.413,624,0.937,632,3.089,661,2.681,677,2.624,713,2.75,784,2.149,804,4.099,807,3.596,808,1.651,812,2.148,828,1.084,832,0.424,838,0.831,847,0.484,848,1.447,876,1.459,889,0.945,897,2.01,924,7.734,925,6.693,944,1.754,947,1.586,949,1.362,960,1.459,982,0.947,1014,4.766,1018,2.057,1068,3.144,1074,2.149,1110,2.611,1204,2.45,1205,1.729,1215,5.328,1253,5.631,1269,3.356,1358,2.249,1364,2.54,1366,6.562,1433,3.57,1557,1.887,1572,3.981,1613,1.874,1630,1.206,1644,2.545,1777,8.492,1817,6.39,1941,2.085,2006,1.268,2070,1.413,2146,8.43,2174,2.45,2179,2.45,2200,2.871,2279,1.977,2294,1.192,2621,3.103,2637,6.532,2640,1.556,2657,2.085,2701,4.253,3083,2.871,3375,4.389,3397,2.374,3460,4.809,3516,2.493,3543,1.196,3553,2.374,3568,2.45,3599,2.712,3637,6.18,4633,2.927,4743,2.785,4832,4.858,5062,1.206,5064,1.206,6325,1.21,6327,1.21,6339,1.21,6344,1.324,6353,1.324,6382,1.367,6383,1.367,6384,1.367,6385,1.367,6386,1.367,6387,1.367,6388,1.367,6389,1.367,6700,4.934,6701,2.45,6702,2.278,6708,2.411,6711,8.791,6726,7.037,6728,2.411,6730,2.411,6733,2.45,6734,2.45,6735,2.45,6736,2.45,6745,2.45,6746,1.977,6749,2.374,6750,2.085,6751,2.278,6752,2.45,6753,2.411,6754,2.374,6755,2.45,6756,2.411,6759,2.45,6760,4.319,6764,2.374,6784,4.029,6791,2.493,6811,7.672,6812,7.672,6813,7.58,6814,8.357,6815,5.407,6816,2.54,6817,2.493,7040,2.374,7050,2.648,7051,2.648,7061,2.974,7062,3.103,7063,2.648,7064,3.103,7215,3.275,7235,7.969,7236,6.777,7237,7.549,7238,2.974,7239,3.275,7240,3.537,7241,3.537,7242,3.103,7243,3.537,7244,3.275,7245,3.275,7246,3.275,7247,3.275,7248,5.867,7249,3.275,7250,2.974,7251,6.336,7252,3.537]],["keywords/1385",[]],["title/1386",[7253,1555.113]],["content/1386",[4,2.297,5,2.037,9,3.366,11,2.961,14,5.521,19,2.96,26,4.84,31,1.568,38,2.005,41,5.015,57,2.789,59,3.064,67,3.969,68,1.682,83,1.889,85,3.328,90,1.485,108,3.811,115,5.281,117,2.174,122,4.498,139,1.984,140,3.454,141,2.084,144,6.904,148,4.088,149,3.252,157,3.376,162,2.005,187,1.634,193,0.865,204,3.816,205,1.64,215,4.767,218,12.601,221,6.258,236,0.938,251,3.041,255,0.946,258,2.439,259,4.718,263,6.236,273,4.341,274,3.212,283,1.984,310,1.403,319,1.387,322,1.583,323,5.991,329,2.432,343,1.342,345,3.591,362,0.903,363,2.267,390,3.853,404,2.503,417,1.462,418,3.653,447,2.827,452,2.913,453,5.668,467,2.424,469,2.597,486,1.391,489,4.323,500,5.527,507,3.069,521,4.027,525,6.29,540,1.527,545,0.759,546,6.938,555,5.107,556,3.505,557,3.957,558,3.894,565,3.788,568,2.28,569,5.107,581,3.221,597,1.964,600,3.761,617,2.57,618,2.752,620,2.854,624,1.984,626,6.938,632,3.653,644,2.544,657,2.869,661,4.259,667,2.408,670,3.199,677,1.77,681,2.961,703,3.199,713,3.252,732,2.369,739,3.696,743,1.628,748,3.131,789,1.741,804,2.648,807,2.688,820,2.244,828,1.31,832,0.513,838,1.004,840,1.376,847,0.584,889,1.142,897,2.429,924,5.873,925,5.626,931,1.35,1008,1.984,1014,1.307,1016,3.199,1018,1.387,1061,2.248,1078,4.258,1110,2.273,1135,2.789,1149,2.654,1153,3.199,1196,2.429,1205,2.045,1208,1.784,1215,1.98,1237,2.217,1256,4.375,1261,1.944,1350,3.131,1557,6.413,1563,2.625,1573,3.653,1611,2.827,1613,2.216,1630,1.458,1644,2.959,1954,3.888,2006,1.532,2060,3.366,2169,3.749,2294,1.44,2409,2.961,2545,2.718,2611,3.199,2674,2.913,2799,6.144,3027,2.597,3252,3.131,3269,3.131,3390,3.593,3395,2.827,3520,3.199,3530,3.593,3543,1.445,3652,3.277,3654,3.957,3655,3.469,3675,5.029,3701,2.961,3893,2.472,4151,3.593,4633,3.402,4869,6.573,5059,3.957,5062,1.458,5064,1.458,5367,6.938,5543,3.366,5828,2.961,5853,3.195,6153,3.957,6325,1.462,6327,1.462,6339,1.462,6344,1.6,6353,1.6,6382,1.651,6383,1.651,6384,1.651,6385,1.651,6386,1.651,6387,1.651,6388,1.651,6389,1.651,6562,3.749,6577,3.069,6700,2.45,6756,5.107,7040,2.869,7063,3.199,7067,3.366,7253,13.936,7254,18.93,7255,4.274,7256,4.274,7257,4.274,7258,22.673,7259,7.493,7260,4.274,7261,4.274,7262,10.005,7263,4.274,7264,4.274,7265,4.274,7266,4.274,7267,4.274,7268,4.274,7269,4.274,7270,4.274,7271,4.274,7272,7.493,7273,4.274,7274,4.274,7275,4.274,7276,7.493,7277,7.493,7278,7.493,7279,4.274,7280,7.493,7281,4.274,7282,4.274,7283,4.274,7284,4.274,7285,4.274,7286,4.274,7287,4.274,7288,4.274,7289,4.274]],["keywords/1386",[]],["title/1387",[7290,1555.113]],["content/1387",[2,1.328,4,6.737,8,0.934,9,2.422,14,3.79,19,1.793,25,2.58,27,1.78,30,1.536,41,1.836,50,1.58,51,3.244,59,3.939,63,0.931,68,0.965,79,6.444,97,1.997,117,1.248,122,2.585,133,1.349,136,1.406,139,5.369,140,0.522,141,1.262,144,2.441,146,0.988,162,1.151,174,3.5,187,1.735,193,0.496,202,3.854,215,1.754,218,8.97,221,3.284,229,5.234,236,0.996,255,1.402,258,1.478,269,0.948,273,1.309,283,4.303,287,0.735,310,3.044,319,3.754,322,3.434,323,4.99,326,1.182,343,0.77,344,1.24,345,2.769,357,0.918,358,0.832,359,4.777,362,1.959,363,2.086,364,2.28,390,4.194,404,0.819,413,1.264,417,0.839,418,1.196,429,0.729,443,2.786,449,1.36,464,1.773,467,2.588,469,1.49,486,2.062,489,1.06,495,1.881,500,0.992,505,1.024,506,1.432,524,3.119,525,6.696,545,0.806,554,0.855,556,4.133,558,3.608,560,2.758,568,1.309,581,2.039,584,1.56,597,1.127,600,4.046,606,1.991,614,1.58,620,2.413,624,0.65,632,2.213,661,1.974,677,1.88,713,1.97,727,3.632,784,1.49,804,4.935,807,4.016,808,1.145,812,2.678,823,1.176,828,0.752,832,0.294,838,0.576,847,0.335,848,1.003,862,2.65,864,1.836,876,1.012,885,5.694,886,1.046,889,0.656,897,1.394,924,7.861,925,7.019,944,1.754,947,2.035,949,0.944,960,1.012,982,0.657,1014,5.28,1018,1.474,1025,1.601,1048,0.973,1068,2.253,1074,1.49,1110,1.377,1181,1.623,1204,1.699,1205,1.239,1215,4.562,1253,4.469,1269,2.404,1333,1.419,1364,1.761,1366,5.278,1433,2.558,1557,3.38,1572,2.852,1613,1.342,1630,0.837,1644,1.873,1777,6.911,1817,4.91,1941,1.446,2006,0.879,2070,0.98,2102,2.852,2146,7.001,2179,1.699,2279,1.371,2284,1.991,2294,0.827,2394,1.46,2412,1.506,2481,1.406,2621,3.982,2637,5.019,2640,1.079,2657,1.446,2701,3.047,2799,1.506,3126,1.601,3375,3.145,3397,1.647,3460,3.54,3516,1.729,3543,0.829,3553,1.647,3568,3.145,3599,1.881,3629,1.217,3637,7.388,4633,2.154,4743,1.932,4832,3.481,5062,0.837,5064,0.837,5828,1.699,6038,1.797,6185,1.881,6325,0.839,6327,0.839,6328,1.419,6339,0.839,6344,0.918,6353,0.918,6382,0.948,6383,0.948,6384,0.948,6385,0.948,6386,0.948,6387,0.948,6388,0.948,6389,0.948,6550,1.506,6698,1.932,6699,1.932,6700,2.602,6701,1.699,6702,1.58,6703,1.729,6708,1.672,6709,1.932,6710,1.932,6711,9.467,6712,1.932,6713,1.836,6714,1.881,6715,1.932,6716,1.881,6717,1.932,6718,1.881,6719,1.932,6720,1.729,6721,1.991,6722,1.991,6723,1.729,6724,1.729,6725,1.932,6726,5.301,6728,1.672,6730,1.672,6733,1.699,6734,1.699,6735,1.699,6736,1.699,6738,1.672,6739,1.647,6740,1.647,6741,1.647,6743,1.761,6744,1.729,6745,1.699,6746,2.537,6747,1.932,6749,1.647,6750,1.446,6751,1.58,6752,1.699,6753,1.672,6754,1.647,6755,1.699,6756,1.672,6758,1.729,6759,1.699,6760,3.094,6762,1.761,6763,1.932,6764,1.647,6765,1.881,6767,1.881,6769,1.836,6770,1.991,6771,1.761,6772,1.932,6778,1.729,6780,1.991,6781,1.932,6784,2.887,6791,1.729,6810,1.647,6811,5.895,6812,5.895,6813,5.824,6814,6.421,6815,3.98,6816,1.761,6817,1.729,6929,2.152,7040,1.647,7041,1.836,7050,1.836,7051,1.836,7054,2.271,7061,2.062,7062,2.152,7063,1.836,7064,2.152,7081,1.797,7140,1.932,7142,1.797,7145,1.932,7147,1.932,7196,2.062,7197,2.152,7199,2.271,7236,4.989,7238,2.062,7242,2.152,7245,2.271,7246,2.271,7247,2.271,7248,5.866,7249,2.271,7290,5.866,7291,1.991,7292,2.453,7293,2.453,7294,2.453,7295,2.453,7296,2.271,7297,2.453,7298,2.271,7299,2.453,7300,2.453,7301,2.453,7302,2.453,7303,2.453,7304,4.539]],["keywords/1387",[]],["title/1388",[7305,1555.113]],["content/1388",[2,1.418,4,8.668,9,2.263,13,1.023,14,3.649,19,1.035,27,3.264,30,1.625,31,2.458,36,1.997,41,3.242,46,3.076,50,3.258,59,3.406,63,0.994,79,4.745,90,0.91,97,1.153,117,1.333,122,2.176,139,2.239,140,1.427,141,3.879,144,3.394,146,1.942,155,1.464,157,1.18,162,2.262,174,1.46,187,1.844,188,1.27,193,0.53,194,1.023,204,0.832,205,1.005,208,2.438,215,1.855,218,8.996,221,3.461,229,2.408,230,2.103,235,3.161,236,3.395,248,2.084,251,1.063,255,1.842,257,0.839,258,1.57,260,1.222,273,3.167,283,2.239,287,1.445,297,1.186,319,1.566,323,4.809,329,2.176,343,0.823,344,4.208,345,2.909,357,2.509,358,3.723,359,2.486,362,1.416,363,2.672,364,2.423,390,3.14,398,1.877,404,0.875,417,0.896,418,1.277,421,1.388,429,2.894,443,1.702,450,1.464,455,2.393,464,1.884,467,2.581,475,2.515,486,0.853,521,2.592,524,2.423,525,4.258,533,1.169,545,1.477,548,2.648,556,3.249,558,2.609,560,2.93,581,2.68,582,1.846,587,0.998,597,2.216,600,3.485,613,0.775,615,3.191,617,1.575,620,1.837,624,1.277,625,1.163,632,2.351,637,1.846,661,3.034,688,2.423,692,0.878,699,3.722,713,1.137,719,2.066,727,2.765,743,0.998,784,1.592,804,5.065,807,4.056,808,3.884,812,1.635,820,0.785,823,1.256,828,1.479,832,0.314,838,0.615,842,0.841,847,0.358,848,1.072,876,1.989,882,1.341,885,5.236,886,2.057,889,1.289,898,1.235,924,7.624,925,6.938,944,2.695,947,1.174,949,1.009,960,1.989,982,0.702,1014,5.117,1018,1.566,1033,3.745,1068,1.3,1074,1.592,1103,1.292,1110,2.034,1111,1.627,1120,1.047,1133,2.843,1146,1.324,1170,2.142,1181,3.191,1189,1.646,1205,1.829,1212,5.23,1213,3.03,1215,2.573,1227,1.127,1228,1.881,1237,1.359,1269,1.388,1279,3.842,1294,4.408,1344,2.502,1385,2.35,1437,1.66,1489,1.815,1512,2.718,1557,3.576,1572,1.646,1573,1.277,1610,1.153,1613,1.982,1630,1.645,1644,1.982,1817,1.388,1898,1.709,1916,2.765,1941,4.906,2006,0.939,2047,1.666,2146,1.229,2248,1.489,2255,1.249,2294,1.626,2328,1.646,2411,3.611,2481,2.765,2640,1.153,2657,1.544,2701,4.499,2799,4.116,3027,1.592,3375,1.815,3397,1.758,3448,2.695,3449,4.055,3460,1.464,3502,1.627,3516,1.846,3543,1.63,3553,1.758,3568,1.815,3637,1.544,3789,1.094,4063,1.846,4276,1.709,4286,2.126,4633,2.279,4697,2.126,4881,1.733,5062,1.645,5064,1.645,5446,1.127,5828,1.815,5852,2.009,5998,5.139,6000,1.961,6325,0.896,6327,0.896,6328,1.515,6339,0.896,6344,0.981,6353,0.981,6401,1.815,6425,2.126,6519,1.815,6531,3.341,6544,2.009,6561,2.203,6697,2.126,6700,3.842,6701,1.815,6702,1.687,6703,1.846,6705,1.961,6708,1.785,6711,7.867,6720,1.846,6723,1.846,6724,1.846,6726,5.587,6728,1.785,6730,4.568,6733,1.815,6734,1.815,6735,1.815,6736,1.815,6737,3.611,6738,1.785,6739,1.758,6740,1.758,6741,1.758,6742,3.798,6743,1.881,6744,1.846,6745,1.815,6746,2.695,6749,1.758,6750,1.544,6751,1.687,6752,1.815,6753,1.785,6754,1.758,6755,1.815,6756,1.785,6757,1.961,6759,1.815,6760,4.568,6762,1.881,6764,5.587,6778,1.846,6784,4.262,6791,1.846,6805,2.063,6806,2.063,6807,2.063,6808,2.063,6809,2.063,6810,1.758,6814,5.766,6815,3.03,6816,1.881,6817,1.846,6967,1.919,7033,4.316,7038,1.961,7040,1.758,7041,1.961,7050,1.961,7051,1.961,7066,2.126,7067,2.063,7068,2.126,7140,2.063,7141,2.063,7142,1.919,7143,2.203,7144,2.203,7145,2.063,7146,2.203,7147,2.063,7148,3.915,7149,2.063,7150,2.298,7151,5.879,7152,2.298,7153,2.298,7154,2.298,7155,2.298,7156,2.298,7157,2.298,7158,2.298,7159,2.298,7182,4.231,7305,6.206,7306,1.919,7307,2.426,7308,1.881,7309,1.919,7310,2.62,7311,2.426,7312,2.426,7313,2.62]],["keywords/1388",[]],["title/1389",[6988,1287.729]],["content/1389",[9,0.951,13,2.648,14,0.863,46,1.899,59,1.38,122,1.515,141,1.885,146,4.463,193,0.772,230,4.832,236,2.007,255,1.5,258,2.207,323,2.698,343,1.198,345,2.733,362,0.806,363,2.129,390,2.994,467,2.64,475,2.863,545,1.203,548,1.507,556,2.13,560,4.119,571,2.036,581,2.945,600,1.694,632,3.305,661,2.85,699,2.591,804,5.72,807,4.565,828,1.17,832,0.458,838,0.896,847,0.522,885,6.859,886,2.891,889,1.02,924,8.057,925,7.35,982,1.022,1014,1.167,1110,1.158,1111,4.21,1205,1.85,1215,1.791,1237,3.517,1613,2.005,1630,1.301,1644,2.705,1916,6.354,1951,2.795,2006,1.368,2294,1.286,3543,1.29,3637,2.249,3664,3.005,3789,2.83,4324,3.208,4633,3.111,5062,1.301,5064,1.301,6325,1.305,6327,1.305,6339,1.305,6344,1.428,6353,1.428,6358,3.097,6382,1.474,6383,1.474,6384,1.474,6385,1.474,6386,1.474,6387,1.474,6388,1.474,6389,1.474,6728,2.6,6743,2.739,6746,2.132,6754,2.561,6766,3.347,6777,3.005,6815,2.397,6988,2.925,6998,3.347,6999,3.347,7314,3.815,7315,3.815,7316,3.815,7317,3.815,7318,3.815,7319,3.815,7320,3.815,7321,3.815,7322,3.815,7323,3.815,7324,3.815,7325,3.815,7326,3.815,7327,3.815,7328,3.815,7329,3.815,7330,3.097,7331,3.815,7332,3.815,7333,3.815,7334,3.815,7335,3.815,7336,3.815,7337,3.815,7338,3.815,7339,3.815,7340,3.815,7341,3.815,7342,3.815,7343,3.815,7344,3.815,7345,3.815,7346,3.815,7347,3.815,7348,3.815,7349,3.815,7350,3.815,7351,3.815,7352,3.815,7353,3.815,7354,3.815,7355,3.815,7356,3.815,7357,3.815,7358,3.815,7359,3.815,7360,3.815,7361,3.815,7362,3.815,7363,3.815,7364,3.815,7365,3.815,7366,3.815,7367,3.815,7368,3.815,7369,3.815,7370,3.815,7371,3.815,7372,3.815,7373,3.815,7374,3.815,7375,3.815,7376,3.815,7377,3.815,7378,3.815,7379,3.815,7380,3.815,7381,3.815,7382,3.533,7383,3.815,7384,3.815,7385,3.815,7386,3.815,7387,3.815,7388,3.815,7389,3.815,7390,3.815,7391,3.815,7392,3.815,7393,3.815,7394,3.815,7395,3.815,7396,3.815,7397,3.815,7398,3.815,7399,3.815,7400,3.815,7401,3.815,7402,3.815,7403,3.815,7404,3.815,7405,3.815,7406,3.815,7407,3.815,7408,3.815,7409,3.815,7410,3.815,7411,3.815,7412,3.815,7413,3.815,7414,3.815,7415,3.815,7416,3.815,7417,3.815,7418,3.815,7419,3.815]],["keywords/1389",[]],["title/1390",[7420,1555.113]],["content/1390",[9,1.21,14,4.568,41,3.123,50,4.115,59,3.792,79,5.993,122,4.512,139,4.005,140,1.837,141,3.737,193,1.746,236,3.622,255,1.909,258,4.374,273,4.76,323,3.434,343,2.709,345,4.93,362,1.823,363,3.121,390,4.755,443,5.822,467,2.558,525,5.211,545,1.531,554,3.006,556,3.844,558,7.251,581,5.313,600,5.045,620,6.286,661,5.141,677,3.572,804,3.636,807,3.544,828,2.645,829,5.358,832,1.035,838,2.026,842,2.77,847,1.18,889,2.306,894,4.861,924,7.817,925,6.77,944,4.568,1014,4.109,1018,2.801,1092,4.334,1110,2.618,1205,3.667,1215,3.55,1434,7.508,1613,3.973,1630,2.943,1644,4.88,2006,3.093,2146,7.741,2294,2.908,2497,12.697,3020,7.003,3543,2.916,3637,7.92,4633,5.612,5062,2.943,5064,2.943,6325,2.951,6327,2.951,6339,2.951,6344,3.229,6353,3.229,6382,3.334,6383,3.334,6384,3.334,6385,3.334,6386,3.334,6387,3.334,6388,3.334,6389,3.334,6577,6.194,6746,4.821,7420,15.281,7421,13.876,7422,8.627,7423,8.627,7424,7.989,7425,9.47,7426,8.627,7427,6.794,7428,7.989,7429,6.794,7430,7.989]],["keywords/1390",[]],["title/1391",[7421,1412.056]],["content/1391",[9,1.317,14,4.407,50,4.338,59,3.965,79,7.074,122,4.354,139,4.357,140,1.999,141,3.988,193,1.899,236,2.06,255,2.077,258,4.668,273,4.136,323,3.736,343,2.948,345,5.198,362,1.983,363,3.217,390,4.711,443,5.059,467,2.549,487,4.249,545,1.666,554,3.27,556,4.052,558,6.773,581,5.601,600,4.867,620,5.462,661,5.421,677,5.938,804,3.834,807,3.666,828,2.878,829,5.829,832,1.126,838,2.204,847,1.284,887,4.229,889,2.508,894,5.289,924,7.974,925,6.87,944,3.969,1014,4.385,1018,3.047,1110,2.848,1205,3.913,1215,3.789,1613,4.24,1630,3.201,1644,5.146,2006,3.365,2146,6.726,2294,3.163,2497,9.773,3020,7.619,3543,3.173,4633,5.917,5062,3.201,5064,3.201,6325,3.211,6327,3.211,6339,3.211,6344,3.513,6353,3.513,6382,3.627,6383,3.627,6384,3.627,6385,3.627,6386,3.627,6387,3.627,6388,3.627,6389,3.627,6577,6.739,6746,5.245,7421,17.643,7424,8.691,7425,6.616,7428,8.691,7429,7.392,7430,8.691,7431,9.386]],["keywords/1391",[]],["title/1392",[7432,1555.113]],["content/1392",[9,2.206,14,4.91,15,2.995,30,3.071,31,2.935,41,1.86,50,4.457,59,3.638,79,7.073,120,5.089,122,3.513,140,1.704,141,6.443,144,2.473,149,3.473,193,2.563,236,2.78,248,5.473,251,3.248,255,2.802,258,4.123,259,3.774,273,2.308,309,5.371,310,2.627,323,3.185,343,2.513,345,4.696,362,1.691,363,3.033,390,4.621,429,3.765,443,4.469,467,2.525,486,2.605,521,4.301,533,3.571,545,1.42,548,3.161,554,4.413,556,4.163,558,4.93,581,5.06,587,3.048,600,5.176,613,2.366,620,5.988,661,4.897,677,3.313,719,3.427,804,3.939,807,3.433,828,2.453,832,0.96,838,1.879,847,1.094,889,4.777,894,4.509,924,7.672,925,6.728,944,4.351,1014,3.873,1018,2.598,1110,2.428,1205,3.456,1215,3.346,1227,3.442,1473,3.901,1573,3.901,1613,3.746,1630,2.729,1644,4.649,1898,5.221,2006,2.868,2146,5.941,2294,2.697,2394,4.763,2497,10.714,2808,5.745,3020,6.495,3543,2.705,4063,5.64,4633,5.346,5062,2.729,5064,2.729,6000,5.99,6325,2.737,6327,2.737,6339,2.737,6344,2.995,6353,2.995,6382,3.092,6383,3.092,6384,3.092,6385,3.092,6386,3.092,6387,3.092,6388,3.092,6389,3.092,6531,5.543,6541,6.302,6544,6.136,6577,5.745,6746,4.471,7421,6.728,7432,16.552,7433,8.002,7434,8.002,7435,8.002,7436,8.002,7437,8.002,7438,8.002]],["keywords/1392",[]],["title/1393",[7439,1555.113]],["content/1393",[1,3.152,2,2.753,7,1.315,8,1.057,9,3.143,14,2.298,15,1.038,19,1.096,26,6.685,27,1.993,28,1.685,31,2.581,41,2.655,48,1.1,50,2.171,58,4.54,59,4.679,73,1.513,79,1.846,86,1.59,97,5.027,108,1.057,122,4.08,124,10.133,126,2.569,140,0.591,141,2.825,144,4.704,146,5.051,149,2.206,162,1.301,167,1.81,174,0.839,187,1.06,189,4.531,193,1.029,204,0.881,205,1.064,208,1.402,215,1.407,218,5.135,229,1.385,236,0.609,248,1.199,251,1.126,255,2.528,258,1.655,259,1.308,260,1.294,263,5.27,264,1.377,265,5.395,286,0.979,287,0.831,297,1.256,301,2.655,319,1.65,323,3.467,328,1.226,329,2.284,332,1.402,340,4.241,343,0.871,344,2.57,345,2.102,352,1.538,355,3.869,357,2.634,362,0.586,363,3.07,379,1.563,387,2.127,390,2.883,398,1.08,404,1.698,414,3.363,417,2.979,432,3.806,433,3.898,455,1.377,464,4.463,467,2.458,475,1.313,478,1.288,486,0.903,489,1.199,501,3.122,502,1.922,512,4.459,520,1.294,521,2.732,524,2.167,540,2.514,542,3.583,545,1.803,554,2.452,556,3.867,558,5.268,566,1.48,570,1.862,571,1.48,581,2.804,600,4.679,603,1.08,609,1.459,612,2.889,617,5.236,620,4.352,624,1.346,634,3.869,644,1.651,661,2.192,703,2.077,743,2.68,746,1.268,757,1.922,789,1.13,794,1.635,798,3.898,804,3.354,807,2.851,808,1.294,812,0.94,820,3.422,828,0.851,832,0.333,836,0.883,838,2.045,847,0.379,860,1.449,866,1.173,882,1.42,885,2.562,889,0.741,907,3.317,924,6.209,925,6.014,928,2.674,931,1.605,944,1.407,947,1.244,949,1.068,957,1.605,958,1.651,960,1.144,968,5.038,969,5.723,976,1.049,982,3.864,983,9.965,1008,1.288,1014,2.663,1017,2.032,1018,2.284,1055,2.127,1061,1.459,1110,0.842,1120,3.48,1122,3.088,1142,1.723,1146,1.402,1162,2.184,1163,2.774,1170,3.868,1192,1.891,1205,1.92,1208,1.158,1215,1.859,1237,1.439,1253,2.719,1294,3.185,1333,5.038,1385,0.973,1433,4.907,1466,1.992,1512,1.563,1573,1.352,1613,1.503,1624,1.491,1630,1.734,1644,2.081,1727,1.891,1768,5.267,1838,1.173,1849,3.363,1909,1.992,2002,2.336,2006,0.994,2060,11.988,2102,1.743,2161,1.525,2175,3.317,2199,3.513,2294,1.713,2327,4.274,2340,2.184,2414,2.077,2456,2.332,2481,1.59,2657,14.469,2729,9.225,3371,2.032,3451,2.433,3502,1.723,3510,1.992,3543,1.718,3609,2.184,3621,2.433,3630,2.569,3631,2.569,3691,3.898,3701,3.521,3784,1.992,3796,1.315,3842,1.393,3893,1.605,4378,2.332,4495,2.252,4593,2.569,4633,2.393,4847,2.569,4950,2.332,4958,2.332,5062,1.734,5064,1.734,5132,4.459,5141,2.433,5853,1.183,6310,5.916,6325,0.949,6327,0.949,6339,0.949,6656,2.332,7089,5.267,7439,2.569,7440,2.252,7441,13.535,7442,5.083,7443,7.036,7444,7.036,7445,7.036,7446,5.083,7447,11.425,7448,10.158,7449,4.003,7450,5.083,7451,4.707,7452,4.707,7453,5.083,7454,5.083,7455,5.083,7456,11.002,7457,8.709,7458,2.774,7459,5.083,7460,2.774,7461,5.083,7462,2.774,7463,9.606,7464,2.774,7465,2.774,7466,2.774,7467,2.774,7468,2.774,7469,7.036,7470,2.774,7471,2.774,7472,8.709,7473,8.709,7474,2.774,7475,2.774,7476,2.774,7477,2.774,7478,2.774,7479,2.774,7480,2.774,7481,2.774,7482,2.774,7483,2.774,7484,2.774,7485,6.515,7486,2.332,7487,4.274,7488,2.569,7489,2.569,7490,7.639,7491,5.083,7492,5.083,7493,5.083,7494,2.774,7495,2.774,7496,2.774,7497,2.774,7498,5.083,7499,5.083,7500,5.083,7501,2.433,7502,2.433,7503,2.774,7504,2.774,7505,2.774,7506,2.774,7507,2.774,7508,2.774,7509,2.774,7510,2.774,7511,2.774,7512,2.774,7513,2.774,7514,2.774,7515,2.774,7516,2.774,7517,5.083,7518,2.774,7519,2.774,7520,2.569,7521,2.569,7522,2.774,7523,2.774,7524,2.774,7525,2.774,7526,2.774,7527,2.774,7528,2.774,7529,2.774,7530,2.774,7531,2.774,7532,2.774]],["keywords/1393",[]],["title/1394",[7533,1555.113]],["content/1394",[7,4.943,9,2.882,14,4.648,50,2.599,58,3.774,73,5.688,122,3.469,124,11.62,141,4.317,144,3.222,146,4.198,193,2.11,204,3.31,205,3.999,236,2.288,255,2.307,258,5.053,343,3.274,344,7.846,345,5.539,357,3.902,362,2.203,363,3.334,390,4.903,455,5.174,467,2.501,545,2.755,556,4.318,571,5.562,581,5.969,600,3.878,661,5.777,746,4.766,789,4.248,804,4.086,807,3.952,828,3.196,832,1.251,838,2.448,847,1.426,889,2.786,924,7.801,925,6.894,947,4.674,982,4.967,1014,4.746,1110,3.163,1142,6.475,1205,4.236,1215,4.101,1613,4.59,1630,3.556,1644,5.483,1838,4.408,2006,3.737,2294,3.514,2657,6.145,3543,3.524,4633,6.305,5062,3.556,5064,3.556,6325,3.567,6327,3.567,6339,3.567,6382,4.028,6383,4.028,6384,4.028,6385,4.028,6386,4.028,6387,4.028,6388,4.028,6389,4.028,7440,8.462,7449,8.21,7456,13.615,7533,9.654,7534,10.425,7535,10.425,7536,10.425]],["keywords/1394",[]],["title/1395",[7487,1412.056]],["content/1395",[2,5.413,9,2.822,27,2.346,34,2.749,41,1.391,50,3.75,58,2.166,59,3.405,63,2.271,73,3.264,83,2.645,86,5.731,97,5.665,122,3.362,124,7.483,140,1.274,141,3.581,144,1.849,146,4.025,162,2.807,174,3.025,175,3.216,193,1.211,204,1.9,209,5.892,236,2.194,255,3.701,258,3.254,260,2.792,273,3.713,329,3.245,343,1.879,345,3.846,352,5.541,355,4.904,357,2.24,362,1.264,363,3.231,390,4.087,414,8.518,423,2.138,429,2.971,455,2.969,464,2.337,467,2.504,469,3.635,475,2.582,482,3.216,506,3.493,521,6.919,524,1.489,525,3.877,542,7.046,545,1.774,556,4.867,558,2.329,562,5.152,571,3.192,581,4.842,598,3.904,600,4.18,613,1.769,620,2.279,624,2.647,634,3.29,661,4.011,732,3.316,743,2.279,746,4.57,789,2.438,794,3.526,804,3.686,807,3.334,812,2.029,828,1.834,832,0.718,838,1.405,840,4.145,847,0.818,860,3.125,885,2.941,889,1.599,900,2.409,924,7.061,925,6.51,947,2.682,968,3.461,982,3.449,983,4.3,1014,3.057,1018,4.883,1074,7.822,1100,3.805,1110,1.815,1205,3.514,1215,3.402,1227,4.3,1294,5.828,1433,10.189,1613,2.956,1630,3.409,1644,3.807,1768,4.479,1838,2.53,2002,5.916,2006,2.145,2016,4.016,2294,3.369,2629,4.712,2657,7.589,3543,3.379,3664,10.139,3808,5.248,4078,4.712,4228,4.016,4294,5.54,4633,4.378,4975,10.389,5062,3.409,5064,3.409,5972,5.248,6009,4.712,6325,2.047,6327,2.047,6339,2.047,7089,4.479,7440,4.856,7449,7.872,7456,5.248,7463,8.405,7485,9.256,7486,20.592,7487,10.825,7520,5.54,7521,5.54,7537,12.875,7538,9.996,7539,12.209,7540,12.875,7541,5.983,7542,5.983,7543,5.983,7544,9.996,7545,5.983,7546,5.983,7547,5.983,7548,5.54,7549,5.983,7550,5.983,7551,5.983,7552,5.983,7553,5.983,7554,5.983,7555,5.983]],["keywords/1395",[]],["title/1396",[7556,1555.113]],["content/1396",[9,1.435,50,2.55,73,5.579,122,3.419,124,11.453,140,2.178,141,4.255,146,4.118,193,2.069,236,3.357,255,2.262,258,4.981,343,3.211,345,6.078,357,3.828,362,2.161,363,3.406,390,4.868,455,5.074,467,2.527,545,2.715,554,5.331,556,4.738,571,9.779,581,5.901,600,3.823,661,5.71,804,4.039,807,4.038,828,3.135,832,1.227,838,2.402,847,1.398,889,2.733,924,7.59,925,6.75,947,4.585,982,2.739,1014,4.678,1018,3.32,1110,3.103,1205,4.175,1215,4.042,1294,8.298,1613,4.524,1630,3.488,1644,5.421,1838,4.324,2006,3.666,2294,3.446,3543,3.457,4633,6.233,5062,3.488,5064,3.488,6325,3.498,6327,3.498,6339,3.498,6382,3.951,6383,3.951,6384,3.951,6385,3.951,6386,3.951,6387,3.951,6388,3.951,6389,3.951,7449,8.053,7486,15.412,7490,16.079,7556,14.166,7557,18.33,7558,10.226,7559,10.226,7560,10.226,7561,10.226,7562,10.226,7563,10.226,7564,10.226,7565,10.226]],["keywords/1396",[]],["title/1397",[7502,1473.221]],["content/1397",[2,3.385,8,6.529,9,2.169,21,2.818,26,7.883,27,2.451,34,6.104,41,1.453,50,2.585,59,3.489,63,2.373,73,5.657,79,2.27,97,4.562,122,2.317,124,7.762,140,1.331,141,2.884,144,1.932,146,2.517,174,1.892,188,5.026,193,1.265,208,5.241,215,3.677,236,1.372,255,3.42,258,3.375,286,3.658,319,3.366,326,3.014,343,1.963,345,4.618,357,2.34,362,1.321,363,3.328,390,4.363,404,2.089,413,3.222,414,6.859,417,2.139,440,9.939,455,3.102,467,2.535,486,3.375,489,2.701,501,6.368,505,2.61,524,1.555,542,7.308,545,1.84,556,5.236,558,4.036,571,7.088,581,4.277,600,4.283,612,3.553,620,2.381,661,4.139,677,2.589,746,2.858,804,3.777,807,3.631,808,2.917,820,1.872,828,3.179,832,0.75,838,1.468,847,0.855,885,1.839,886,4.422,889,1.671,897,3.553,898,2.948,924,7.003,925,6.461,947,2.803,982,2.777,983,7.374,1014,4.062,1018,3.366,1110,1.897,1205,2.83,1215,2.739,1263,3.976,1294,2.83,1613,3.066,1630,2.132,1644,3.928,1838,2.643,2006,2.241,2163,2.858,2175,4.079,2279,3.493,2294,2.107,2414,4.68,2629,4.923,2637,3.385,2657,10.894,2781,5.484,3543,2.113,3553,4.196,4441,5.256,4633,4.517,5062,2.132,5064,2.132,6325,2.139,6327,2.139,6339,2.139,6382,2.416,6383,2.416,6384,2.416,6385,2.416,6386,2.416,6387,2.416,6388,2.416,6389,2.416,7072,5.789,7089,7.762,7440,5.075,7449,4.923,7463,11.169,7502,13.56,7566,6.252,7567,6.252,7568,15.458,7569,10.369,7570,6.252,7571,6.252,7572,10.369,7573,6.252,7574,6.252,7575,6.252,7576,6.252,7577,6.252,7578,6.252,7579,10.369,7580,6.252,7581,6.252,7582,6.252,7583,6.252,7584,6.252,7585,6.252,7586,6.252,7587,6.252,7588,6.252,7589,6.252,7590,6.252,7591,6.252,7592,6.252,7593,6.252,7594,6.252,7595,6.252,7596,6.252,7597,6.252,7598,10.369]],["keywords/1397",[]],["title/1398",[7501,1473.221]],["content/1398",[1,2.604,2,3.71,6,1.487,9,2.417,14,2.089,19,2.707,27,4.384,41,0.897,50,3.191,58,5.549,59,3.506,67,2.045,73,2.107,78,2.14,79,3.354,97,5.631,122,4.024,124,6.914,140,1.967,141,6.782,144,4.377,146,5.703,155,2.158,162,1.811,188,1.872,193,0.781,218,1.952,236,1.504,243,2.075,255,2.831,258,2.23,273,3.224,285,2.861,286,2.417,287,2.766,307,2.555,310,1.268,323,4.45,326,3.303,329,2.224,343,1.213,344,5.651,345,2.759,355,3.518,357,4.185,362,2.704,363,3.454,374,2.176,379,3.861,390,3.835,393,2.276,404,2.289,421,2.045,429,4.557,442,2.298,443,4.515,450,6.247,454,4.078,455,4.583,464,5.533,467,2.452,475,2.385,489,1.669,490,2.091,498,4.67,501,2.371,524,1.705,540,2.448,545,1.639,548,1.525,554,3.895,556,3.298,558,2.667,571,2.06,581,3.599,598,2.52,600,3.539,612,5.248,620,2.61,624,4.06,653,4.471,661,2.877,667,7.211,677,1.599,706,1.964,713,1.676,746,3.132,766,1.774,790,3.247,798,2.961,804,3.378,807,3.792,812,3.131,828,1.184,832,0.463,838,0.907,840,1.243,847,0.528,860,2.017,882,4.728,885,1.136,889,1.032,924,6.738,925,6.467,928,2.031,944,1.069,947,1.731,956,2.52,968,2.234,982,4.107,983,3.973,1008,3.18,1011,2.107,1014,4.331,1018,1.254,1110,1.172,1122,4.163,1146,4.668,1170,3.043,1189,2.426,1205,2.52,1215,2.44,1294,1.748,1333,5.342,1337,2.961,1366,1.626,1391,2.772,1433,3.861,1572,2.426,1581,1.455,1613,2.731,1630,2.337,1644,2.731,1838,2.897,2002,3.148,2006,3.31,2019,7.765,2175,6.026,2294,2.309,2591,5.253,2610,1.606,2640,1.699,2657,8.348,2738,2.592,2815,3.041,3385,3.134,3440,2.675,3448,5.16,3510,2.772,3526,1.851,3543,2.316,3553,2.592,3784,2.772,4256,3.576,4633,3.14,4756,3.134,4895,3.247,5062,2.337,5064,2.337,5141,3.387,5700,3.576,6310,5.761,6325,1.321,6327,1.321,6339,1.321,7089,5.129,7308,2.772,7440,3.134,7449,5.395,7451,6.344,7452,6.344,7463,3.247,7486,3.247,7487,3.247,7488,3.576,7489,3.576,7490,3.387,7501,17.872,7599,3.861,7600,3.861,7601,3.861,7602,3.861,7603,3.861,7604,3.861,7605,11.18,7606,6.851,7607,6.851,7608,6.851,7609,6.851,7610,3.861,7611,3.861,7612,23.61,7613,3.861,7614,6.851,7615,3.861,7616,3.861,7617,3.861,7618,11.18,7619,3.861,7620,3.861,7621,3.861,7622,3.861,7623,3.861,7624,3.861,7625,3.861,7626,3.861,7627,3.861,7628,3.861,7629,3.861,7630,3.861,7631,3.861,7632,3.861,7633,11.18,7634,3.861,7635,3.861,7636,6.851,7637,3.861,7638,3.861,7639,3.861,7640,6.851,7641,3.861,7642,3.861,7643,3.861]],["keywords/1398",[]],["title/1399",[7089,1257.267]],["content/1399",[9,2.564,14,4.135,16,3.192,30,2.774,41,1.639,50,3.601,59,4.198,85,5.082,108,2.685,122,3.228,140,4.169,141,3.183,157,3.176,174,4.371,193,1.427,205,2.705,215,3.167,223,3.973,236,1.547,255,1.56,258,3.725,270,4.239,319,2.289,343,2.214,345,4.315,362,1.49,363,2.883,390,4.169,404,2.355,443,2.487,449,3.908,467,2.591,469,6.952,481,6.343,487,3.192,500,2.85,524,1.754,542,4.969,545,1.251,556,5.794,558,8.026,568,3.762,581,4.65,600,2.859,603,8.362,612,4.007,641,6.681,657,4.732,661,4.5,667,3.973,677,2.919,713,3.06,730,4.283,737,3.847,739,3.478,746,3.223,757,4.884,804,4.313,807,3.56,808,5.34,828,2.162,832,0.846,838,1.656,840,2.27,847,0.964,889,1.884,924,6.917,925,6.507,947,3.161,951,7.942,957,4.078,969,6.448,1008,5.312,1014,2.156,1018,2.289,1110,2.139,1149,4.379,1205,3.123,1215,3.023,1294,6.538,1558,4.43,1613,3.384,1630,2.405,1644,4.271,2006,2.527,2012,4.54,2294,2.376,2311,3.708,3438,4.483,3543,2.383,3619,4.969,4633,4.911,5062,2.405,5064,2.405,5760,6.185,6325,2.412,6327,2.412,6339,2.412,6344,2.639,6353,2.639,6382,2.724,6383,2.724,6384,2.724,6385,2.724,6386,2.724,6387,2.724,6388,2.724,6389,2.724,7089,17.476,7191,5.928,7644,7.05,7645,7.05,7646,7.05,7647,21.483,7648,7.05,7649,11.443,7650,7.05,7651,7.05,7652,7.05]],["keywords/1399",[]],["title/1400",[7653,1555.113]],["content/1400",[9,1.676,122,3.831,141,4.767,193,2.417,236,2.621,255,2.642,258,5.581,343,3.751,345,5.991,362,2.523,363,3.478,390,5.144,418,5.822,467,2.536,545,2.12,556,4.67,581,6.455,600,4.283,624,3.162,661,6.247,804,4.418,807,4.003,828,3.661,832,1.433,838,2.805,847,1.633,889,3.192,924,8.075,925,7.001,1014,3.652,1110,3.623,1205,4.678,1215,4.529,1613,5.069,1630,4.073,1644,5.93,2006,4.281,2294,4.025,3543,4.037,4633,6.819,5062,4.073,5064,4.073,6325,4.085,6327,4.085,6339,4.085,6344,4.47,6353,4.47,6382,4.614,6383,4.614,6384,4.614,6385,4.614,6386,4.614,6387,4.614,6388,4.614,6389,4.614,7653,11.058]],["keywords/1400",[]],["title/1401",[4958,1412.056]],["content/1401",[9,2.03,14,4.434,50,3.608,59,3.989,97,6.366,122,3.234,140,3.733,141,4.024,144,2.935,187,3.63,193,2.928,215,2.629,236,2.084,255,2.101,258,4.71,270,5.71,343,2.983,344,4.801,345,5.236,355,5.511,362,2.007,363,3.33,390,4.733,467,2.553,469,5.77,513,4.863,545,1.686,556,4.913,558,5.632,581,5.642,600,3.615,603,5.632,661,5.46,804,3.862,807,3.683,808,6.752,828,2.912,832,1.14,838,2.231,847,1.979,848,3.885,885,2.794,889,2.538,924,7.755,925,6.834,944,2.629,951,5.222,982,2.544,1014,4.425,1018,3.083,1110,4.39,1205,3.949,1215,3.823,1434,5.307,1613,4.279,1630,3.239,1644,5.183,2006,3.405,2294,3.201,2671,6.694,3431,6.04,3438,6.04,3543,3.211,4633,5.96,4958,14.737,5062,3.239,5064,3.239,6325,3.249,6327,3.249,6339,3.249,6344,3.555,6353,3.555,6382,3.67,6383,3.67,6384,3.67,6385,3.67,6386,3.67,6387,3.67,6388,3.67,6389,3.67,7654,9.498,7655,9.498,7656,9.498,7657,9.498,7658,9.498,7659,9.498,7660,9.498,7661,9.498]],["keywords/1401",[]],["title/1402",[7662,1555.113]],["content/1402",[9,1.824,14,2.941,51,4.235,58,2.994,59,4.473,68,3.255,122,2.906,140,1.761,141,3.615,193,1.674,204,2.626,215,5.039,236,1.815,255,1.83,258,4.232,273,3.749,287,2.477,301,4.32,343,2.597,345,4.798,362,3.394,363,3.182,383,4.829,390,4.68,434,3.82,467,2.58,489,3.574,505,5.428,520,3.859,545,1.468,556,4.609,558,3.219,581,5.861,600,3.248,620,3.15,661,5.004,693,9.377,804,3.539,807,3.971,812,2.804,824,1.834,828,2.536,832,0.993,838,1.942,847,1.131,848,3.383,876,3.411,889,2.21,924,7.737,925,6.896,926,4.478,967,5.079,988,4.478,1014,2.529,1018,2.685,1110,2.509,1205,3.548,1215,3.435,1613,3.844,1630,2.821,1644,4.75,2006,2.965,2294,2.788,2729,5.637,2799,5.079,3543,2.796,3691,6.342,4633,5.462,4881,5.472,5062,2.821,5064,2.821,6325,2.829,6326,5.472,6327,2.829,6332,5.259,6339,2.829,6344,3.096,6353,3.096,6354,5.637,6382,3.196,6383,3.196,6384,3.196,6385,3.196,6386,3.196,6387,3.196,6388,3.196,6389,3.196,6401,5.729,6402,7.255,6413,4.584,7662,14.873,7663,24.834,7664,8.271,7665,16.062,7666,8.271,7667,8.271,7668,8.271,7669,8.271,7670,8.271,7671,8.271,7672,8.271,7673,8.271]],["keywords/1402",[]],["title/1403",[270,1009.762]],["content/1403",[6,1.174,9,2.439,14,1.254,19,3.009,21,2.307,22,1.815,25,1.733,26,2.231,30,3.689,34,1.401,38,1.43,41,2.178,47,1.989,48,2.197,50,1.382,58,2.006,59,3.538,68,1.2,79,4.423,85,1.354,86,1.748,90,3.255,108,1.161,122,1.702,140,2.594,141,2.118,148,1.663,171,1.122,187,1.165,193,1.121,204,2.975,205,1.17,208,1.541,215,3.964,221,2.304,229,1.522,234,2.674,235,4.419,236,3.945,254,2.475,255,3.169,258,1.804,259,1.438,264,1.513,270,10.807,274,0.979,287,4.557,301,1.593,310,1.819,326,1.47,329,2.473,343,0.957,344,3.85,345,2.275,355,2.901,358,1.879,362,4.016,363,2.339,364,1.532,390,3.564,391,2.563,397,4.059,404,1.851,417,3.721,418,1.486,423,1.089,429,3.958,443,1.076,450,1.704,455,4.651,464,6.791,466,1.43,467,2.574,471,1.415,475,1.431,486,1.804,505,1.273,513,6.235,524,5.618,533,3.399,540,1.98,542,2.149,545,2.162,548,1.204,554,2.654,556,4.884,558,6.766,562,2.856,581,3.017,584,1.939,600,3.579,603,8.7,605,1.704,609,1.604,624,3.225,661,2.373,677,1.262,699,2.118,705,4.249,711,1.69,713,1.323,726,1.748,737,1.663,741,1.989,755,2.282,777,1.963,789,1.242,804,4.467,807,3.36,812,1.034,824,1.228,828,4.083,832,0.366,838,1.301,847,1.487,848,3.116,856,1.704,882,6.819,885,4.214,886,3.248,889,1.481,892,1.191,924,5.416,925,6.29,944,0.844,951,1.676,960,2.285,1014,2.866,1018,0.99,1050,2.401,1062,1.893,1110,3.3,1146,7.691,1170,1.354,1175,2.338,1176,4.249,1178,2.282,1179,2.282,1180,2.282,1188,2.233,1189,1.915,1205,2.079,1215,2.873,1216,1.872,1262,3.905,1344,1.582,1373,3.803,1385,1.069,1447,2.563,1557,1.627,1573,1.486,1574,2.112,1613,1.639,1630,1.89,1644,2.252,1683,1.157,1736,1.939,1823,2.338,1898,3.616,1909,2.189,1981,9.885,2006,1.093,2059,4.498,2091,1.893,2130,2.475,2137,6.388,2146,1.43,2175,9.928,2198,1.748,2224,2.282,2294,1.868,2394,1.815,2456,2.563,2481,1.748,2547,1.852,2637,1.651,3252,2.233,3357,2.563,3438,10.184,3459,2.563,3513,2.233,3524,2.401,3525,2.338,3543,1.873,3619,2.149,4074,2.401,4220,2.563,4445,10.491,4454,2.475,4633,2.59,4846,2.475,4975,1.893,5062,1.89,5064,1.89,5489,1.541,6086,6.404,6325,1.043,6327,1.043,6339,1.043,6344,1.141,6353,1.141,6396,5.998,6405,1.893,6413,1.69,6642,2.475,6644,9.885,6645,4.498,6646,6.182,6647,2.401,6649,2.674,6650,2.674,6651,4.861,6652,2.674,6653,2.823,6654,2.674,6655,4.861,6656,2.563,6657,2.823,6658,2.674,6659,2.823,6660,2.674,6661,2.674,7089,4.148,7165,4.498,7187,5.131,7188,5.131,7189,2.823,7190,7.053,7191,2.563,7192,2.823,7674,5.541,7675,3.049,7676,3.049,7677,7.617,7678,9.372,7679,3.049,7680,5.541,7681,3.049,7682,3.049,7683,3.049,7684,2.823,7685,3.049,7686,3.049,7687,3.049,7688,3.049,7689,3.049,7690,3.049,7691,9.372,7692,5.541,7693,5.541,7694,5.541,7695,3.049,7696,3.049,7697,3.049,7698,5.541,7699,3.049,7700,3.049,7701,3.049,7702,5.541,7703,3.049,7704,3.049,7705,3.049,7706,5.541,7707,3.049,7708,3.049]],["keywords/1403",[]],["title/1404",[7709,1555.113]],["content/1404",[9,1.482,55,12.736,56,9.329,122,3.503,140,2.25,141,4.359,193,2.138,236,2.318,255,2.337,258,5.102,342,12.018,343,3.317,345,5.583,362,2.232,363,3.348,370,9.781,390,4.927,449,5.855,463,7.908,467,2.545,545,1.875,556,4.815,581,6.016,600,3.916,661,5.821,804,4.118,807,4.077,828,3.239,832,1.268,838,2.481,847,1.445,889,2.823,924,7.828,925,6.909,973,3.449,1014,3.23,1018,3.429,1105,7.445,1110,3.205,1205,4.277,1215,4.141,1613,4.635,1630,3.603,1644,5.526,2006,3.786,2294,3.56,2382,8.881,2846,9.266,3543,3.571,4633,6.355,5062,3.603,5064,3.603,6325,3.614,6327,3.614,6339,3.614,6344,3.954,6353,3.954,6382,4.082,6383,4.082,6384,4.082,6385,4.082,6386,4.082,6387,4.082,6388,4.082,6389,4.082,7709,14.513,7710,10.563,7711,15.673,7712,10.563,7713,10.563,7714,10.563,7715,9.266,7716,10.563,7717,10.563,7718,10.563,7719,10.563]],["keywords/1404",[]],["title/1405",[7071,1473.221]],["content/1405",[4,7.627,9,1.299,14,2.727,15,2.045,19,2.158,28,3.319,30,2.922,31,2.004,40,5.091,41,2.801,50,4.585,59,3.937,61,5.809,63,4.574,74,5.174,79,3.362,90,3.216,97,2.403,117,2.779,122,4.11,140,2.567,141,3.352,144,1.688,174,1.653,192,4.188,193,1.874,204,1.734,229,2.727,236,2.032,243,10.832,255,2.048,258,3.014,259,2.576,273,3.476,287,3.609,290,3.564,323,6.322,340,2.281,343,1.716,345,3.6,357,3.466,359,2.815,362,1.154,363,2.704,364,4.651,390,3.675,413,2.815,450,5.174,455,2.711,467,2.549,475,1.411,478,2.536,481,7.865,521,2.936,525,5.503,545,2.519,556,3.305,558,6.182,560,3.319,565,2.761,581,3.879,598,3.564,600,2.314,603,2.126,624,2.452,641,3.189,661,3.754,727,5.308,804,4.73,807,3.726,828,1.675,829,3.392,832,0.656,838,1.283,842,5.099,847,0.747,848,2.235,885,4.673,886,2.33,889,1.46,900,4.853,924,7.628,925,6.92,926,2.958,944,1.512,960,4.97,969,3.078,1014,1.67,1018,1.773,1025,6.041,1092,4.651,1103,2.695,1110,1.657,1146,2.761,1157,4.905,1205,2.527,1215,3.184,1385,3.246,1434,3.052,1557,2.914,1613,2.738,1630,1.863,1644,3.564,2006,1.958,2020,2.473,2102,5.817,2174,3.784,2294,1.841,2671,3.85,2740,2.695,3448,3.052,3543,1.846,3555,6.526,3637,5.457,3796,2.59,4217,3.614,4429,2.31,4530,4.593,4582,4.434,4633,4.098,5062,1.863,5064,1.863,6325,1.869,6327,1.869,6339,1.869,6344,2.045,6353,2.045,6382,2.111,6383,2.111,6384,2.111,6385,2.111,6386,2.111,6387,2.111,6388,2.111,6389,2.111,6413,3.028,6700,3.132,6711,2.914,6746,3.052,6810,3.666,6815,5.817,6988,4.188,7024,4.434,7025,4.302,7028,4.434,7029,4.188,7030,4.302,7031,4.302,7034,4.434,7039,9.782,7058,4.434,7059,4.434,7070,4.593,7071,10.571,7330,4.434,7425,6.526,7427,4.302,7429,4.302,7720,8.122,7721,4.792,7722,4.792,7723,5.058,7724,5.058,7725,5.058,7726,5.462,7727,5.058,7728,4.792,7729,9.49,7730,5.058,7731,4.792,7732,5.058,7733,5.058,7734,5.058,7735,5.058,7736,5.058,7737,5.462,7738,5.058,7739,5.462,7740,4.792,7741,5.462]],["keywords/1405",[]],["title/1406",[7742,1555.113]],["content/1406",[9,1.565,14,2.523,50,2.78,59,4.597,63,4.233,79,4.05,122,3.646,141,4.537,144,3.446,193,2.257,236,2.447,243,8.767,255,2.467,258,5.31,323,8.448,343,3.502,345,5.762,362,2.356,363,3.406,390,5.024,467,2.5,545,1.979,556,4.943,558,4.341,581,6.209,600,4.076,661,6.009,804,3.594,807,3.909,828,3.419,832,1.338,838,2.619,847,1.525,924,7.783,925,6.921,1014,3.41,1110,3.384,1205,4.452,1215,4.31,1613,4.824,1630,3.804,1644,5.704,2294,3.759,2740,5.501,3543,3.77,4217,7.378,4429,4.715,4633,6.559,5062,3.804,5064,3.804,6325,3.815,6327,3.815,6339,3.815,6382,4.309,6383,4.309,6384,4.309,6385,4.309,6386,4.309,6387,4.309,6388,4.309,6389,4.309,6413,6.181,6815,10.249,7029,8.551,7742,10.326,7743,11.152,7744,11.152,7745,11.152]],["keywords/1406",[]],["title/1407",[7746,1555.113]],["content/1407",[4,6.852,9,1.132,14,2.417,15,1.742,19,1.838,26,1.874,28,2.827,30,2.59,31,2.96,40,4.437,41,2.963,48,1.845,50,4.231,59,3.981,61,5.15,63,3.063,74,4.509,78,2.579,79,2.93,85,2.066,90,3.711,97,2.047,117,2.367,122,3.792,139,2.16,140,2.275,141,3.546,144,1.438,149,2.019,162,2.182,171,2.969,174,1.408,192,3.567,193,1.633,204,1.477,215,1.288,218,2.352,221,1.935,229,2.323,236,1.021,243,10.51,255,1.785,258,2.627,259,2.194,273,3.081,287,3.819,290,3.036,323,6.291,340,1.943,343,1.461,345,3.192,355,1.772,357,3.999,359,2.398,362,0.983,363,2.51,364,5.367,390,3.366,413,2.398,450,4.509,455,2.309,464,1.818,467,2.573,469,2.827,475,1.202,476,3.036,478,2.16,481,7.994,525,6.129,545,2.56,556,4.182,558,4.962,560,2.827,565,2.352,581,3.439,597,2.138,598,3.036,600,2.016,603,4.158,620,1.772,624,3.376,641,2.716,661,3.328,727,6.125,804,4.453,807,3.608,808,2.171,828,1.427,832,0.558,838,1.093,842,4.63,847,1.103,848,3.301,882,2.382,885,4.244,886,1.984,889,1.243,900,4.302,924,7.328,925,6.763,926,2.519,944,1.288,960,4.406,969,4.547,1014,1.423,1018,1.51,1025,5.265,1057,3.171,1092,2.337,1110,1.412,1146,2.352,1157,4.274,1205,2.202,1215,2.823,1373,2.323,1385,2.829,1557,2.482,1613,2.386,1630,1.587,1644,3.159,2006,1.668,2020,2.106,2102,5.07,2214,3.223,2294,1.568,2671,3.279,2740,2.295,3126,5.265,3438,2.959,3448,2.6,3543,1.573,3555,5.687,3637,4.756,3796,2.206,3812,2.959,4217,3.078,4429,1.967,4530,3.912,4582,3.777,4633,3.633,4946,3.777,5062,1.587,5064,1.587,6325,1.592,6327,1.592,6339,1.592,6344,1.742,6353,1.742,6382,1.798,6383,1.798,6384,1.798,6385,1.798,6386,1.798,6387,1.798,6388,1.798,6389,1.798,6413,2.579,6700,6.125,6711,2.482,6746,2.6,6810,3.123,6815,5.07,6988,3.567,7024,8.672,7025,3.664,7028,3.777,7029,3.567,7030,3.664,7031,3.664,7032,4.308,7034,3.777,7039,8.672,7058,3.777,7059,3.777,7070,3.912,7073,4.308,7165,3.777,7330,3.777,7684,4.308,7720,7.078,7721,4.081,7722,4.081,7723,4.308,7724,4.308,7725,4.308,7727,4.308,7728,4.081,7729,3.664,7730,4.308,7731,4.081,7732,4.308,7733,4.308,7734,4.308,7735,4.308,7736,4.308,7738,4.308,7746,9.893,7747,8.069,7748,8.069,7749,4.653,7750,4.653,7751,4.653,7752,4.653,7753,4.653,7754,4.653,7755,4.653,7756,4.653,7757,4.653,7758,4.653,7759,4.653,7760,4.653,7761,4.653,7762,4.653,7763,4.653,7764,4.308,7765,4.653,7766,4.653,7767,4.653,7768,4.653,7769,4.653,7770,4.653,7771,4.653,7772,4.653,7773,4.653,7774,4.653,7775,3.912,7776,4.653,7777,4.308,7778,4.653,7779,3.912,7780,4.653]],["keywords/1407",[]],["title/1408",[7729,1322.558]],["content/1408",[9,0.976,14,3.732,15,2.605,28,4.228,30,3.47,40,6.226,41,1.617,50,5.113,59,4.174,63,6.26,79,4.112,122,3.686,139,3.23,140,3.048,141,3.981,144,2.15,174,2.106,193,1.408,204,2.209,215,1.926,236,1.527,243,11.022,255,3.649,258,3.686,273,3.265,286,2.455,323,7.744,340,2.905,343,2.185,345,4.276,357,4.238,362,1.47,363,2.867,390,4.144,413,3.586,450,3.888,467,2.557,505,2.905,525,4.391,545,1.235,556,4.227,558,5.571,565,5.723,581,4.608,587,2.65,600,2.829,603,2.708,620,2.65,661,4.459,804,4.87,807,3.854,828,2.133,829,4.321,832,0.835,838,1.634,842,4.595,847,0.952,848,2.847,885,4.853,889,1.86,924,7.726,925,6.989,944,1.926,960,2.87,1014,2.128,1018,2.259,1092,3.496,1110,2.111,1149,4.321,1157,3.686,1205,3.09,1215,2.991,1385,2.44,1434,3.888,1613,3.348,1630,2.373,1644,4.233,2006,2.494,2214,4.82,2294,2.345,2671,4.904,2740,3.432,3543,2.352,3796,3.299,4217,4.603,4429,2.942,4633,4.868,5062,2.373,5064,2.373,6325,2.38,6327,2.38,6339,2.38,6344,2.605,6353,2.605,6382,2.689,6383,2.689,6384,2.689,6385,2.689,6386,2.689,6387,2.689,6388,2.689,6389,2.689,6550,4.273,6700,3.989,6815,8.993,7025,5.48,7026,6.104,7027,6.104,7028,5.648,7029,5.335,7030,5.48,7031,5.48,7034,5.648,7039,11.619,7056,5.851,7057,6.443,7058,5.648,7059,5.648,7330,5.648,7425,4.904,7728,6.104,7729,12.989,7740,6.104,7781,6.443,7782,6.958,7783,6.958,7784,6.958,7785,6.958]],["keywords/1408",[]],["title/1409",[7786,1555.113]],["content/1409",[9,1.615,122,3.731,141,4.643,193,2.33,236,2.527,255,2.547,258,5.435,343,3.616,345,5.868,362,2.432,363,3.44,390,5.08,467,2.554,545,2.043,556,4.575,581,6.323,600,4.172,624,3.049,661,6.119,804,4.328,807,3.953,828,3.53,832,1.382,838,2.704,847,1.574,885,6.339,924,7.666,925,7.09,1014,3.521,1110,3.493,1205,4.556,1215,4.411,1613,4.937,1630,3.927,1644,5.809,2294,3.88,3543,3.892,4633,6.679,5062,3.927,5064,3.927,6325,3.939,6327,3.939,6339,3.939,6382,4.448,6383,4.448,6384,4.448,6385,4.448,6386,4.448,6387,4.448,6388,4.448,6389,4.448,6413,6.381,7025,9.066,7026,10.099,7029,8.827,7030,9.066,7031,9.066,7781,10.66,7786,10.66]],["keywords/1409",[]],["title/1410",[7787,1555.113]],["content/1410",[4,6.878,9,1.569,14,3.469,15,1.445,19,2.707,28,2.346,30,3.433,31,1.416,40,3.767,41,2.146,50,4.489,58,1.398,59,3.665,61,4.452,63,5.375,74,5.16,79,3.354,90,2.38,97,4.063,117,1.964,120,2.456,122,3.165,139,4.287,140,1.967,141,6.364,144,2.854,174,1.169,192,2.961,193,1.387,195,2.52,204,2.175,215,1.069,229,1.928,236,1.504,243,9.677,248,2.961,251,1.567,255,2.831,258,2.23,259,3.231,273,4.085,286,1.362,287,3.833,290,2.52,297,1.748,309,2.592,310,1.268,323,6.103,340,1.612,343,1.213,345,3.34,357,2.565,359,1.99,362,1.448,363,2.614,364,3.442,390,3.265,413,1.99,417,1.321,418,1.883,429,2.036,450,3.828,455,3.4,467,2.556,475,2.385,478,1.792,481,6.197,505,1.612,521,2.075,525,4.336,533,1.723,545,2.271,548,2.707,556,3.298,558,5.967,560,4.163,565,3.463,581,3.599,587,2.61,598,2.52,600,4.304,603,1.503,620,2.61,624,2.961,634,2.123,641,7.471,661,2.877,711,2.14,719,1.654,727,5.294,746,1.765,804,5.042,807,4.041,812,1.309,828,2.101,829,4.255,832,0.463,838,0.907,842,4.108,847,0.528,848,1.58,885,4.511,886,1.647,889,3.42,892,1.508,900,3.719,924,6.848,925,6.835,926,2.091,944,1.896,951,2.123,960,3.809,969,2.176,985,2.346,1008,1.792,1014,3.419,1018,1.254,1025,6.026,1110,1.172,1146,3.463,1149,2.398,1157,3.629,1170,3.043,1189,2.426,1196,2.194,1205,2.52,1215,2.954,1227,1.661,1237,2.003,1344,2.003,1385,2.402,1434,2.158,1473,1.883,1557,2.06,1573,1.883,1613,2.026,1630,2.337,1644,2.731,1898,2.52,2006,1.384,2012,2.487,2020,1.748,2047,2.456,2102,4.305,2199,1.928,2214,7.745,2294,2.309,2394,2.298,2671,2.722,2740,1.905,2808,2.772,3448,2.158,3543,2.316,3555,6.509,3578,2.828,3637,4.038,3796,3.248,4063,2.722,4217,2.555,4429,1.633,4530,3.247,4582,7.496,4633,3.14,5062,2.337,5064,2.337,6000,2.891,6325,1.321,6327,1.321,6339,1.321,6344,1.445,6353,1.445,6413,2.14,6519,2.675,6531,4.746,6541,3.041,6544,2.961,6700,3.928,6746,3.828,6810,2.592,6815,5.802,6967,2.828,6988,2.961,7024,3.134,7025,3.041,7027,3.387,7028,3.134,7029,2.961,7030,3.041,7031,3.041,7034,3.134,7039,9.075,7056,3.247,7058,3.134,7059,3.134,7070,3.247,7203,3.576,7306,2.828,7308,2.772,7309,2.828,7330,5.561,7425,7.88,7427,3.041,7720,8.101,7721,6.01,7722,6.01,7729,5.395,7731,3.387,7740,6.01,7787,11.85,7788,3.861,7789,3.861,7790,3.861,7791,3.861,7792,3.861,7793,3.861,7794,3.861,7795,3.576,7796,3.861,7797,3.861,7798,3.861]],["keywords/1410",[]],["title/1411",[7799,1555.113]],["content/1411",[9,1.676,122,3.831,141,4.767,193,2.417,236,2.621,255,2.642,258,5.581,343,3.751,345,5.991,362,2.523,363,3.478,390,5.144,467,2.536,545,2.12,556,4.67,581,6.455,600,4.283,624,3.162,661,6.247,804,4.418,807,4.003,828,3.661,832,1.433,838,2.805,847,1.633,889,3.192,924,8.075,925,7.001,1014,3.652,1110,3.623,1205,4.678,1215,4.529,1613,5.069,1630,4.073,1644,5.93,2006,4.281,2294,4.025,3543,4.037,4633,6.819,5062,4.073,5064,4.073,6325,4.085,6327,4.085,6339,4.085,6344,4.47,6353,4.47,6382,4.614,6383,4.614,6384,4.614,6385,4.614,6386,4.614,6387,4.614,6388,4.614,6389,4.614,7799,11.058,7800,11.942]],["keywords/1411",[]],["title/1412",[7801,1555.113]],["content/1412",[5,4.357,9,2.909,14,4.953,50,2.971,58,3.308,59,4.22,79,3.319,97,5.243,122,2.663,140,1.947,141,3.314,144,1.663,155,3.006,193,1.089,204,6.099,236,1.181,255,1.19,258,2.976,263,7.29,273,2.636,287,1.611,323,9.493,343,1.69,345,4.198,357,2.014,362,1.137,363,2.984,373,15.128,390,3.887,393,5.387,438,2.67,464,3.571,467,2.596,475,2.361,486,1.751,521,2.891,524,1.338,545,0.955,554,4.152,556,3.986,558,6.127,581,4.523,600,2.284,624,2.42,661,3.712,677,3.785,693,9.191,804,5.024,807,3.842,812,1.824,828,1.649,832,0.646,838,1.263,842,1.727,847,0.736,866,2.275,885,2.689,889,1.438,924,7.977,925,6.999,993,2.935,1014,2.795,1018,1.746,1078,5.194,1110,1.632,1205,3.252,1215,3.148,1613,2.703,1630,3.117,1644,3.524,2006,1.928,2236,3.341,2294,3.081,2390,3.667,2611,4.027,3039,13.717,3217,4.523,3414,3.863,3415,6.695,3543,3.09,4381,3.611,4633,4.052,5037,8.122,5062,3.117,5064,3.117,6325,1.84,6327,1.84,6333,3.727,6336,3.727,6337,3.727,6338,3.727,6339,1.84,6344,2.014,6347,8.255,6351,3.727,6353,2.014,6355,3.667,6357,3.611,6366,3.667,6367,3.727,6370,3.464,6372,3.727,6373,3.611,6375,3.727,6376,3.727,6377,3.727,6378,3.727,6550,7.318,6551,3.792,6554,6.442,6817,3.792,7801,18.545,7802,8.463,7803,17.789,7804,4.982,7805,5.38,7806,5.38,7807,9.14]],["keywords/1412",[]],["title/1413",[7808,1555.113]],["content/1413",[9,0.936,79,2.422,97,2.934,122,2.444,141,3.041,193,1.349,236,1.463,255,1.475,258,3.56,273,1.923,343,2.094,345,4.153,362,1.409,363,2.939,390,4.061,467,2.638,545,1.184,548,6.352,556,3.237,558,2.596,581,4.475,600,2.732,624,1.766,661,4.33,804,5.795,807,4.332,828,2.045,832,0.8,838,1.566,847,0.912,885,5.222,889,1.782,924,8.359,925,7.309,993,3.638,1014,4.251,1110,2.023,1170,2.962,1205,2.984,1215,2.889,1613,3.234,1630,2.274,1644,4.11,2006,2.39,2014,5.113,2294,2.248,3543,2.254,4633,4.727,5037,4.545,5062,2.274,5064,2.274,6325,2.281,6327,2.281,6333,4.619,6336,4.619,6337,4.619,6338,4.619,6339,2.281,6344,2.496,6347,4.619,6351,4.619,6353,2.496,6355,4.545,6357,4.476,6366,4.545,6367,4.619,6370,4.294,6372,4.619,6373,4.476,6375,4.619,6376,4.619,6377,4.619,6378,4.619,6382,2.577,6383,2.577,6384,2.577,6385,2.577,6386,2.577,6387,2.577,6388,2.577,6389,2.577,6531,4.619,6550,4.095,6551,4.7,6554,4.7,6967,4.885,7033,4.294,7802,6.175,7808,6.175,7809,5.413,7810,5.251,7811,5.413,7812,5.413,7813,5.413,7814,5.413,7815,5.413,7816,5.413,7817,5.251]],["keywords/1413",[]],["title/1414",[7818,1555.113]],["content/1414",[9,1.43,115,7.184,122,3.411,141,4.245,193,2.063,236,2.237,255,2.255,258,4.969,273,2.94,343,3.201,345,5.466,362,2.154,363,3.309,390,4.863,467,2.582,545,1.809,548,6.029,556,4.261,581,5.89,600,3.814,624,2.699,661,5.699,804,4.031,807,4.034,828,3.125,832,1.223,838,2.394,847,1.394,885,4.491,889,2.724,924,8.287,925,7.223,1014,3.117,1110,3.093,1205,4.165,1215,4.032,1433,5.743,1613,4.513,1630,3.477,1644,5.41,2006,3.654,2294,3.435,3373,9.438,3543,3.446,4633,6.221,4988,7.631,5062,3.477,5064,3.477,6325,3.487,6327,3.487,6332,6.482,6339,3.487,6344,3.815,6353,3.815,6382,3.939,6383,3.939,6384,3.939,6385,3.939,6386,3.939,6387,3.939,6388,3.939,6389,3.939,6413,5.65,7817,8.027,7818,9.438,7819,10.193,7820,10.193,7821,10.193,7822,10.193]],["keywords/1414",[]],["title/1415",[7823,1555.113]],["content/1415",[4,8.495,9,2.482,14,3.804,15,1.526,27,1.599,50,1.793,58,3.491,74,2.279,79,5.316,122,3.954,139,4.476,140,2.054,141,2,144,2.98,149,5.046,162,1.913,174,1.234,187,1.559,193,0.825,202,2.989,218,2.061,229,2.036,236,1.578,255,1.591,258,2.341,273,2.074,274,1.309,283,1.893,287,1.221,291,10.766,297,1.846,310,2.361,319,2.334,322,2.664,323,7.349,329,2.334,343,1.281,345,3.473,362,2.037,363,2.837,390,3.932,417,1.395,418,1.988,423,1.457,429,1.212,432,5.383,443,2.537,452,4.901,464,1.593,467,2.604,489,1.762,524,2.399,525,6.13,545,0.724,556,3.681,558,2.798,560,2.477,563,2.779,581,3.104,600,2.905,613,1.206,632,4.701,661,3.004,727,2.338,804,5.119,807,4.166,808,1.903,812,2.438,823,1.955,828,1.25,832,0.489,838,0.958,840,1.313,847,0.558,882,2.088,885,3.902,887,1.837,889,1.09,924,8.087,925,7.041,947,1.828,976,1.542,1014,5.854,1018,1.324,1110,1.237,1120,1.629,1205,1.962,1215,4.674,1253,4.492,1366,4.895,1573,1.988,1613,2.126,1630,1.391,1644,2.852,1777,6.836,1817,3.809,1941,2.403,2002,1.874,2006,1.462,2146,5.454,2255,1.944,2294,1.374,2591,3.127,2637,5.221,3397,2.737,3460,2.279,3543,1.378,3568,2.825,3637,6.853,4008,3.429,4217,2.698,4633,3.279,5033,3.776,5062,1.391,5064,1.391,6325,1.395,6327,1.395,6339,1.395,6344,1.526,6353,1.526,6382,1.576,6383,1.576,6384,1.576,6385,1.576,6386,1.576,6387,1.576,6388,1.576,6389,1.576,6700,4.122,6701,2.825,6702,2.626,6703,2.874,6708,2.779,6711,9.85,6723,2.874,6724,2.874,6726,2.737,6728,2.779,6730,2.779,6733,2.825,6734,2.825,6735,2.825,6736,2.825,6738,2.779,6739,2.737,6740,2.737,6741,2.737,6745,2.825,6746,2.279,6749,2.737,6750,2.403,6751,2.626,6752,2.825,6753,2.779,6754,2.737,6755,2.825,6756,2.779,6757,3.053,6759,2.825,6760,2.779,6764,2.737,6771,2.928,6778,2.874,6811,6.132,6812,6.132,6813,6.059,7033,2.626,7038,3.053,7040,2.737,7041,3.053,7061,3.429,7244,3.776,7298,3.776,7823,10.766,7824,7.19,7825,4.078,7826,4.078,7827,16.814,7828,4.078,7829,4.078,7830,4.078,7831,4.078,7832,4.078,7833,4.078,7834,4.078,7835,4.078,7836,7.19,7837,4.078,7838,4.078,7839,4.078,7840,4.078]],["keywords/1415",[]],["title/1416",[7841,1555.113]],["content/1416",[4,8.278,9,0.872,14,4.17,41,3.075,51,3.182,79,5.594,117,3.162,122,4.119,140,1.324,141,2.87,174,1.881,193,1.258,202,2.584,204,1.973,236,2.903,255,2.283,258,3.359,273,4.442,282,10.418,310,2.041,319,2.018,322,2.303,323,5.266,343,1.952,345,3.952,352,3.445,357,2.326,362,1.313,363,2.857,364,3.122,390,4.517,418,3.03,467,2.583,469,6.269,489,2.686,521,8.278,525,2.41,545,1.103,556,3.979,558,4.016,560,3.776,562,3.203,581,4.259,582,4.381,600,3.849,661,4.121,727,5.915,804,5.054,807,4.178,820,1.862,823,2.979,828,1.906,832,0.746,838,1.46,840,2.001,842,1.995,847,0.85,885,3.893,886,2.651,887,2.8,889,2.758,894,3.502,924,7.92,925,6.996,976,2.351,1014,4.046,1018,2.018,1068,3.084,1110,1.886,1205,2.816,1215,4.869,1253,2.402,1329,3.473,1366,4.344,1433,5.814,1434,3.473,1437,3.551,1557,5.505,1613,3.051,1630,2.12,1644,3.912,1777,5.318,1817,3.292,2006,2.228,2146,4.84,2294,2.095,2481,5.915,2637,3.365,2738,4.172,3027,3.776,3543,2.101,4039,5.045,4276,4.056,4633,4.499,5062,2.12,5064,2.12,6325,2.126,6327,2.126,6328,3.595,6339,2.126,6344,2.326,6353,2.326,6382,2.402,6383,2.402,6384,2.402,6385,2.402,6386,2.402,6387,2.402,6388,2.402,6389,2.402,6700,3.563,6711,8.218,6739,4.172,6740,4.172,6741,4.172,6742,4.895,6746,3.473,6750,3.663,6751,4.003,6809,4.895,6810,4.172,6811,3.952,6812,3.952,6813,3.905,7033,4.003,7038,4.653,7123,5.045,7142,4.553,7148,5.045,7841,12.25,7842,5.045,7843,5.226,7844,5.755,7845,5.755,7846,5.452,7847,5.755,7848,5.452,7849,5.452,7850,5.755,7851,6.215,7852,5.755,7853,6.215,7854,6.215,7855,6.215,7856,5.226,7857,6.215]],["keywords/1416",[]],["title/1417",[7858,1555.113]],["content/1417",[9,1.309,122,3.191,141,3.97,193,1.888,236,2.048,255,2.065,258,4.647,273,2.691,343,2.931,345,5.179,362,1.972,363,3.211,390,4.701,467,2.602,545,1.656,556,4.038,558,3.632,581,5.581,600,3.567,624,2.471,661,5.401,804,5.061,807,4.236,828,2.861,832,1.12,838,2.192,847,1.276,885,2.746,889,2.494,924,8.406,925,7.23,1014,4.365,1110,2.831,1205,3.896,1215,4.581,1613,4.222,1630,3.183,1644,5.127,2006,3.345,2294,3.145,3543,3.154,4633,5.896,5062,3.183,5064,3.183,6325,3.192,6327,3.192,6328,5.398,6339,3.192,6344,3.493,6353,3.493,6382,3.606,6383,3.606,6384,3.606,6385,3.606,6386,3.606,6387,3.606,6388,3.606,6389,3.606,6700,5.35,6711,7.616,6746,5.214,6750,5.5,7033,6.009,7842,7.574,7843,7.846,7846,8.186,7858,8.641,7859,8.641,7860,9.331,7861,9.331,7862,8.186,7863,8.186]],["keywords/1417",[]],["title/1418",[7864,1555.113]],["content/1418",[9,1.502,122,3.538,141,4.402,193,2.166,236,2.349,255,2.368,258,5.153,273,3.087,343,3.362,345,5.626,362,2.262,363,3.362,390,4.951,467,2.577,545,1.9,556,4.386,581,6.063,600,3.955,624,2.835,661,5.867,804,4.893,807,4.179,828,3.282,832,1.285,838,2.514,847,1.464,889,2.861,924,8.203,925,7.148,1014,3.273,1110,3.248,1205,4.32,1215,4.976,1613,4.681,1630,3.651,1644,5.569,2006,3.837,2294,3.608,3543,3.618,4633,6.404,5062,3.651,5064,3.651,6325,3.662,6327,3.662,6328,6.192,6339,3.662,6344,4.007,6353,4.007,6382,4.136,6383,4.136,6384,4.136,6385,4.136,6386,4.136,6387,4.136,6388,4.136,6389,4.136,6711,5.711,6750,6.309,7033,6.893,7842,8.689,7864,9.912,7865,9.912]],["keywords/1418",[]],["title/1419",[7866,1555.113]],["content/1419",[9,1.421,122,3.395,141,4.224,193,2.05,236,2.223,255,2.241,258,4.945,273,2.921,343,3.181,345,5.445,362,2.14,363,3.302,390,4.851,467,2.586,545,1.798,556,4.245,558,3.942,560,6.154,581,5.867,600,3.796,624,2.682,661,5.678,804,4.78,807,4.194,828,3.105,832,1.216,838,2.379,847,1.385,889,2.707,924,8.409,925,7.176,1014,4.645,1110,3.073,1205,4.145,1215,4.815,1613,4.492,1630,3.455,1644,5.39,2006,3.631,2294,3.414,3543,3.424,4633,6.198,5062,3.455,5064,3.455,6325,3.465,6327,3.465,6339,3.465,6344,3.791,6353,3.791,6382,3.914,6383,3.914,6384,3.914,6385,3.914,6386,3.914,6387,3.914,6388,3.914,6389,3.914,6700,5.807,6711,5.404,6746,5.66,6750,5.97,7033,6.523,7842,8.221,7859,9.379,7866,9.379,7867,10.129]],["keywords/1419",[]],["title/1420",[7848,1473.221]],["content/1420",[9,1.709,14,4.588,51,3.902,79,6.315,122,3.887,140,1.623,141,3.388,174,2.306,193,1.542,202,3.169,204,2.42,236,1.673,255,1.686,258,3.966,273,4.39,282,11.987,310,2.502,319,2.474,322,2.824,323,4.85,343,2.393,345,4.547,362,1.61,363,2.976,390,4.856,467,2.566,469,7.402,489,3.293,525,2.955,545,1.353,556,4.428,558,4.742,581,4.9,600,3.803,661,4.742,804,3.832,807,3.875,820,2.283,828,2.337,832,0.915,838,1.79,840,2.453,842,2.447,847,1.042,885,3.585,889,2.037,907,4.973,924,8.175,925,7.07,976,2.882,1014,3.726,1018,2.474,1068,3.782,1110,2.312,1205,3.325,1215,5.357,1253,2.945,1329,4.259,1366,5.13,1433,4.294,1434,4.259,1557,4.066,1613,3.603,1630,2.599,1644,4.501,1777,6.279,1817,4.037,2006,2.732,2146,5.715,2294,2.569,2481,4.369,2637,4.126,2738,5.115,3543,2.576,4633,5.176,5062,2.599,5064,2.599,6325,2.607,6327,2.607,6328,4.409,6339,2.607,6344,2.853,6353,2.853,6382,2.945,6383,2.945,6384,2.945,6385,2.945,6386,2.945,6387,2.945,6388,2.945,6389,2.945,6700,4.369,6711,8.121,6744,5.371,6746,4.259,6750,4.492,6751,4.908,6758,5.371,6811,4.846,6812,4.846,6813,4.788,7123,6.186,7212,6.186,7214,7.057,7842,6.186,7843,6.408,7844,7.057,7845,7.057,7846,6.685,7847,7.057,7848,15.254,7849,6.685,7850,7.057,7856,6.408,7865,7.057,7868,7.621]],["keywords/1420",[]],["title/1421",[7869,1555.113]],["content/1421",[4,8.393,9,2.894,14,4.022,26,3.19,41,2.921,51,4.057,59,2.558,117,4.03,122,3.973,139,8.998,140,1.687,141,3.495,193,1.603,215,2.193,229,6.274,236,1.739,255,1.753,258,4.091,269,3.061,273,2.285,282,6.239,323,5.002,343,3.947,345,4.666,362,1.674,363,3.135,390,4.393,413,6.476,467,2.593,525,4.873,526,3.502,545,1.406,556,4.514,581,5.028,600,3.14,661,4.865,727,4.542,804,3.441,807,3.827,828,3.853,832,0.951,838,1.861,847,1.084,885,2.331,889,2.117,924,8.232,925,7.059,1014,3.843,1018,2.572,1110,2.404,1205,3.429,1215,3.32,1613,3.716,1630,2.702,1644,4.618,2006,2.84,2279,7.022,2294,2.67,3543,2.678,3637,4.67,4633,5.311,4745,7.336,5062,2.702,5064,2.702,6325,2.71,6327,2.71,6339,2.71,6344,2.966,6353,2.966,6382,3.061,6383,3.061,6384,3.061,6385,3.061,6386,3.061,6387,3.061,6388,3.061,6389,3.061,6563,10.566,6577,5.689,6620,5.931,6713,5.931,6718,6.075,7779,10.566,7843,6.661,7849,13.7,7869,7.336,7870,7.336,7871,7.923,7872,7.923,7873,7.923,7874,7.923,7875,7.923,7876,11.023,7877,7.923,7878,7.923,7879,7.923,7880,7.923,7881,7.923,7882,7.923,7883,7.923,7884,7.923,7885,12.566]],["keywords/1421",[]],["title/1422",[7886,1555.113]],["content/1422",[9,2.915,14,3.572,15,3.436,16,2.448,21,3.64,30,2.225,41,2.133,50,2.982,58,1.957,59,2.435,63,2.052,97,2.379,122,2.673,139,2.51,140,2.547,141,3.326,188,2.621,193,2.421,206,5.007,209,5.41,215,2.541,226,16.051,236,2.015,253,3.629,255,2.646,258,2.988,270,5.519,286,1.908,293,3.746,323,5.611,329,1.755,343,1.698,345,3.573,355,2.06,357,2.024,359,2.787,362,1.939,363,3.246,364,2.716,390,4.274,393,3.187,429,1.607,432,4.048,433,4.146,451,7.229,464,4.673,467,2.507,475,2.371,505,2.258,524,2.284,545,2.123,556,4.674,581,4.538,587,2.06,600,3.522,603,6.68,624,3.733,641,3.157,661,3.726,702,2.973,713,2.347,719,2.316,746,2.472,764,3.881,789,2.203,804,4.243,807,3.545,808,4.283,812,1.833,816,3.285,820,2.749,828,1.658,830,8.082,832,0.649,836,2.922,838,1.27,840,1.741,847,0.739,866,5.057,889,1.445,897,3.073,898,4.329,900,2.177,924,6.98,925,6.519,982,2.459,988,2.928,1014,1.653,1018,1.755,1045,10.557,1091,3.961,1105,12.897,1106,7.451,1107,3.746,1108,8.286,1110,1.641,1112,4.389,1205,3.264,1207,5.837,1215,3.16,1238,2.636,1294,2.448,1358,3.438,1366,3.865,1370,6.256,1373,2.7,1572,3.397,1613,4.169,1630,3.131,1644,3.537,1777,2.787,1838,2.286,1938,9.171,2006,1.938,2294,3.094,3028,5.007,3364,4.146,3401,4.743,3438,3.438,3502,3.358,3517,3.629,3543,3.103,3653,2.379,3664,12.433,3733,4.389,3974,4.146,4078,14.409,4082,4.146,4266,4.389,4633,4.067,4865,2.683,4881,3.577,4887,8.052,5062,3.131,5064,3.131,5518,4.258,6032,4.389,6040,4.258,6086,4.546,6325,1.85,6327,1.85,6339,1.85,6344,2.024,6353,2.024,7191,4.546,7715,4.743,7886,16.943,7887,9.179,7888,4.743,7889,5.007,7890,5.407,7891,5.407,7892,5.407,7893,5.407,7894,5.407,7895,5.407,7896,5.407,7897,5.407,7898,5.007,7899,5.407,7900,5.407,7901,5.407,7902,5.407,7903,5.407,7904,5.407,7905,5.407,7906,5.407,7907,5.007,7908,5.007,7909,5.407,7910,5.007,7911,5.007,7912,5.407,7913,5.007,7914,5.407,7915,5.407,7916,5.407,7917,5.007,7918,8.5,7919,5.007,7920,5.007,7921,5.007,7922,5.007,7923,5.007]],["keywords/1422",[]],["title/1423",[7924,1555.113]],["content/1423",[9,3.126,14,3.439,15,2.278,16,2.755,30,2.458,31,2.232,40,3.346,41,1.414,48,2.413,50,1.517,58,2.203,59,2.653,63,2.31,79,3.682,97,2.678,122,2.913,139,2.825,140,2.159,141,2.82,188,2.95,193,2.052,201,16.887,209,5.976,226,13.335,236,3.706,253,4.085,255,2.243,258,3.301,270,6.096,293,4.216,319,1.976,323,5.187,343,1.911,345,3.893,357,2.278,362,2.142,363,2.704,390,4.119,429,3.013,432,4.556,433,4.666,451,10.263,467,2.573,513,3.116,545,1.08,556,5.189,581,4.195,587,2.318,600,2.533,603,3.946,624,2.685,641,3.553,661,4.06,677,2.52,693,3.553,702,3.346,713,2.641,804,4.262,807,3.358,808,2.84,820,3.037,828,1.866,832,0.73,836,3.228,838,1.429,840,1.959,847,0.832,866,5.51,885,1.791,886,2.595,889,1.626,898,4.781,900,4.083,924,6.941,925,6.48,944,1.684,1014,1.861,1018,1.976,1045,11.72,1091,4.458,1105,14.827,1106,4.94,1107,4.216,1108,11.699,1110,3.076,1112,4.94,1205,2.767,1215,2.679,1238,2.967,1366,2.562,1373,3.038,1613,2.998,1630,2.076,1644,3.854,2006,2.181,2294,2.051,3502,3.779,3517,4.085,3543,2.057,3687,16.887,3689,4.94,3974,4.666,4082,4.666,4633,4.432,4865,3.02,4881,4.026,4887,14.814,4892,5.117,5062,2.076,5064,2.076,5979,5.338,6032,4.94,6040,4.792,6325,2.082,6327,2.082,6339,2.082,6344,2.278,6353,2.278,6382,2.351,6383,2.351,6384,2.351,6385,2.351,6386,2.351,6387,2.351,6388,2.351,6389,2.351,6613,5.117,6628,5.117,7715,5.338,7888,5.338,7889,5.635,7907,5.635,7908,5.635,7910,5.635,7911,5.635,7913,9.388,7917,5.635,7918,9.388,7919,5.635,7920,5.635,7921,5.635,7922,5.635,7923,5.635,7924,19.48,7925,6.085,7926,6.085,7927,6.085,7928,6.085,7929,6.085,7930,6.085,7931,10.139,7932,6.085,7933,6.085,7934,6.085,7935,6.085,7936,6.085,7937,5.635,7938,5.338,7939,5.635,7940,6.085]],["keywords/1423",[]],["title/1424",[7941,1555.113]],["content/1424",[9,1.22,21,1.845,122,3.022,141,3.761,193,1.76,235,4.102,236,1.909,255,1.924,258,4.402,343,2.732,345,4.956,362,1.838,363,3.13,390,4.569,467,2.62,545,1.544,548,3.436,556,3.863,558,3.385,581,5.34,600,3.379,624,2.303,661,5.168,804,5.68,807,4.354,828,2.667,832,1.044,838,2.043,847,1.189,885,6.589,889,2.324,924,7.572,925,7.227,1014,4.135,1110,2.639,1175,6.669,1176,6.669,1178,6.511,1179,6.511,1180,6.511,1188,6.371,1189,5.465,1205,3.69,1215,3.573,1613,3.999,1630,2.967,1644,4.906,2006,3.118,2294,2.931,3438,5.531,3513,6.371,3543,2.94,4445,6.371,4633,5.641,5062,2.967,5064,2.967,6325,2.975,6327,2.975,6332,5.531,6339,2.975,6344,3.256,6353,3.256,6382,3.361,6383,3.361,6384,3.361,6385,3.361,6386,3.361,6387,3.361,6388,3.361,6389,3.361,6405,5.402,6642,7.06,6644,7.06,6645,7.06,6646,7.06,6647,6.849,7941,8.054]],["keywords/1424",[]],["title/1425",[7942,1555.113]],["content/1425",[9,1.548,122,3.618,141,4.502,193,2.233,236,2.422,255,2.442,258,5.27,273,3.183,343,3.466,345,5.727,362,2.332,363,3.395,390,5.005,467,2.566,545,1.959,556,4.465,581,6.172,600,4.045,624,2.923,661,5.973,804,4.224,807,3.895,828,3.384,832,1.324,838,2.592,847,1.509,885,6.213,889,2.95,924,8.049,925,7.147,1014,3.375,1110,3.349,1205,4.418,1215,4.277,1613,4.787,1630,3.764,1644,5.669,2006,3.956,2294,3.72,3543,3.731,4633,6.519,5062,3.764,5064,3.764,6325,3.776,6327,3.776,6339,3.776,6344,4.131,6353,4.131,6382,4.264,6383,4.264,6384,4.264,6385,4.264,6386,4.264,6387,4.264,6388,4.264,6389,4.264,6405,6.854,7942,10.219,7943,10.219,7944,10.219,7945,11.036,7946,10.219]],["keywords/1425",[]],["title/1426",[3419,1287.729]],["content/1426",[9,2.541,14,3.722,21,1.47,58,5.955,59,4.821,97,4.964,122,3.19,140,2.403,141,3.969,144,2.141,190,4.799,193,2.888,236,2.476,255,1.533,258,3.673,264,3.438,269,2.677,270,4.166,273,4.116,287,2.075,293,4.799,323,4.491,343,2.176,345,4.264,362,2.384,363,3.085,390,4.36,432,5.187,433,5.312,454,4.124,467,2.568,475,2.914,478,3.216,521,7.67,540,2.476,545,2.003,556,3.831,568,3.696,581,5.296,600,4.111,624,2.988,661,4.446,693,4.045,764,2.929,794,4.084,804,4.511,807,3.848,812,3.825,828,2.124,832,0.831,838,1.627,847,0.948,885,4.84,889,1.852,924,7.379,925,6.908,931,2.188,982,1.856,988,3.751,1011,3.78,1014,2.119,1061,3.644,1103,3.418,1110,2.102,1122,6.854,1205,3.895,1207,9.076,1215,3.771,1216,4.255,1227,2.981,1366,2.917,1518,5.624,1613,4.865,1630,3.848,1644,4.22,2006,2.484,2294,3.802,3039,7.464,3414,13.941,3419,10.943,3543,3.814,4381,13.74,4633,4.853,5062,3.848,5064,3.848,5853,2.955,6325,2.37,6327,2.37,6329,4.722,6332,4.406,6339,2.37,6344,2.593,6353,2.593,6354,9.727,6355,7.69,6405,4.303,6413,3.84,7810,5.456,7947,14.272,7948,6.928,7949,6.928,7950,6.928,7951,16.77,7952,6.928,7953,11.282,7954,6.928,7955,6.928,7956,6.928,7957,6.928,7958,6.928,7959,6.928,7960,6.928]],["keywords/1426",[]],["title/1427",[3039,1111.048]],["content/1427",[5,2.892,9,2.365,14,5.252,18,2.831,21,0.715,22,2.006,26,2.443,27,1.321,30,2.451,31,1.236,38,2.845,41,2.35,46,0.944,50,2.909,58,6.359,59,4.029,63,1.279,79,6.612,87,4.541,90,1.17,96,1.772,97,4.449,122,4.522,139,1.564,140,1.292,141,2.301,144,4.376,149,6.146,155,1.883,162,2.845,174,1.02,187,3.162,193,1.228,194,3.232,208,1.703,236,0.739,251,1.368,253,2.262,255,1.83,257,1.079,258,1.975,260,3.86,263,6.054,270,2.026,273,4.376,279,2.17,286,1.189,287,2.478,290,2.199,297,1.525,307,4.013,323,7.687,329,2.686,340,1.407,343,1.058,345,3.884,352,1.868,357,2.271,362,0.712,363,2.828,364,1.693,379,1.899,382,2.801,390,3.59,393,1.986,398,1.312,417,2.075,418,2.957,429,1.002,464,1.316,467,2.554,475,1.567,482,3.26,486,2.693,500,1.362,521,1.811,524,1.509,533,2.707,545,2.308,548,1.331,554,2.882,556,3.533,558,5.061,565,3.066,581,3.255,587,3.852,600,3.538,612,1.915,620,1.283,624,2.191,642,2.006,648,2.143,661,2.577,667,1.899,677,3.426,693,10.257,699,1.288,711,1.868,717,4.443,719,1.443,727,3.478,730,2.047,784,2.047,794,1.986,804,4.547,807,3.593,812,1.142,820,1.009,824,0.747,828,1.033,832,0.404,838,0.791,842,1.082,847,0.461,848,1.378,862,1.967,866,1.425,876,1.39,882,5.177,885,2.975,887,1.518,889,0.901,898,1.589,909,1.986,924,7.163,925,6.7,944,1.679,949,1.297,960,1.39,968,3.509,969,1.899,993,1.838,1014,1.855,1018,1.094,1061,1.772,1078,1.915,1110,1.84,1120,1.346,1163,1.838,1205,2.258,1207,7.42,1215,2.186,1227,3.559,1261,1.533,1265,3.958,1366,1.419,1373,1.682,1558,2.117,1563,2.069,1564,2.199,1613,2.99,1630,2.069,1644,2.446,1849,2.229,2006,1.208,2020,2.746,2102,2.117,2163,1.541,2174,2.334,2236,2.093,2294,2.044,2311,1.772,2390,2.297,2640,1.483,2658,2.956,2736,2.956,2737,2.584,3039,10.627,3041,2.956,3126,3.958,3364,2.584,3371,4.443,3414,5.94,3415,8.547,3431,2.143,3514,2.735,3543,2.051,3609,2.654,3688,2.584,3691,2.584,3701,5.731,3796,1.598,3812,2.143,3893,3.509,4083,1.748,4143,5.1,4208,2.735,4286,2.735,4336,4.777,4381,8.728,4459,2.468,4633,2.813,4881,2.229,5037,4.134,5062,2.069,5064,2.069,5546,2.654,5853,1.437,6040,2.654,6073,5.321,6325,1.153,6327,1.153,6329,2.297,6332,2.143,6333,2.334,6334,2.419,6336,2.334,6337,2.334,6338,2.334,6339,1.153,6344,1.261,6347,4.202,6351,2.334,6353,1.261,6355,2.297,6357,2.262,6366,2.297,6367,4.202,6370,2.17,6372,4.202,6373,4.072,6375,4.202,6376,2.334,6377,2.334,6378,5.731,6402,2.956,6405,2.093,6412,2.523,6413,1.868,6467,2.419,6512,2.735,6547,2.735,6550,7.166,6551,4.275,6552,2.735,6554,8.224,6559,2.956,6560,2.956,6562,12.42,6563,5.1,6564,5.617,6565,2.956,6568,3.12,6569,5.617,6570,3.12,6571,3.12,7961,3.37,7962,3.37,7963,3.12,7964,3.12,7965,3.12,7966,3.12,7967,3.37,7968,7.66,7969,3.12,7970,6.066,7971,5.617,7972,3.12,7973,3.12,7974,3.12,7975,3.12,7976,3.12,7977,2.833,7978,3.37,7979,3.37,7980,3.12]],["keywords/1427",[]],["title/1428",[7981,1555.113]],["content/1428",[9,1.548,122,3.618,141,4.502,193,2.233,236,2.422,255,2.442,258,5.27,273,3.183,343,3.466,345,5.727,362,2.332,363,3.395,390,5.005,467,2.566,545,1.959,556,4.465,581,6.172,600,4.045,624,2.923,661,5.973,804,4.224,807,3.895,828,3.384,832,1.324,838,2.592,847,1.509,885,6.213,889,2.95,924,8.049,925,7.147,1014,3.375,1110,3.349,1205,4.418,1215,4.277,1613,4.787,1630,3.764,1644,5.669,2006,3.956,2294,3.72,3543,3.731,4633,6.519,5062,3.764,5064,3.764,6325,3.776,6327,3.776,6339,3.776,6344,4.131,6353,4.131,6382,4.264,6383,4.264,6384,4.264,6385,4.264,6386,4.264,6387,4.264,6388,4.264,6389,4.264,6405,6.854,7943,10.219,7944,10.219,7946,10.219,7981,10.219,7982,11.036]],["keywords/1428",[]],["title/1429",[7983,1473.221]],["content/1429",[4,2.022,8,2.55,9,2.119,14,3.153,15,1.408,16,1.703,26,2.695,30,2.659,31,1.38,41,2.102,48,1.492,50,3.136,59,2.233,76,2.454,79,3.984,97,3.979,120,2.392,122,3.115,141,6.833,144,2.795,146,1.515,193,0.761,204,3.993,222,1.993,236,1.469,237,2.755,248,2.892,251,2.717,255,2.001,258,2.179,259,1.774,262,2.022,264,4.488,273,1.931,287,3.767,290,2.454,309,2.525,310,1.235,323,3.6,343,1.181,345,2.702,357,1.408,362,0.795,363,2.749,390,3.432,393,2.217,404,1.257,409,2.138,413,4.661,429,4.79,443,2.362,455,1.867,467,2.593,475,1.729,486,1.225,489,2.892,501,2.31,524,0.936,533,1.678,545,1.947,548,4.968,554,1.311,556,2.555,558,4.895,581,3.531,587,1.433,600,4.027,603,1.464,609,1.979,614,2.422,620,1.433,624,1.773,648,4.257,661,2.817,693,7.342,719,1.611,804,5.51,807,4.259,812,1.275,820,1.127,828,2.052,832,0.451,838,0.883,842,2.149,847,0.514,866,1.59,885,4.742,886,2.855,889,3.361,900,1.515,924,7.495,925,7.078,928,4.757,944,1.041,993,2.052,1011,2.052,1014,3.846,1036,1.783,1057,2.564,1110,1.141,1170,2.973,1189,2.363,1196,2.138,1200,2.884,1205,2.468,1215,2.898,1227,1.618,1373,1.878,1385,1.319,1473,1.834,1558,2.363,1573,1.834,1613,1.979,1630,2.283,1644,2.674,1683,1.428,1817,1.993,1898,2.454,1941,2.217,2006,1.348,2012,2.422,2014,5.133,2163,1.72,2294,2.256,2380,2.962,2394,2.239,2808,2.701,3039,5.983,3126,2.454,3303,3.163,3387,2.239,3395,4.428,3543,2.263,3578,2.755,3699,12.26,3812,2.392,4063,2.651,4381,9.354,4633,3.075,5037,2.564,5062,2.283,5064,2.283,5364,2.816,5543,2.962,5584,3.3,5992,5.872,6000,2.816,6325,1.287,6327,1.287,6329,2.564,6332,2.392,6333,2.606,6334,2.701,6336,2.606,6337,2.606,6338,2.606,6339,1.287,6344,1.408,6347,2.606,6351,6.265,6353,1.408,6355,2.564,6357,2.525,6366,2.564,6367,2.606,6370,2.422,6372,2.606,6373,2.525,6375,2.606,6376,2.606,6377,2.606,6378,2.606,6405,2.336,6413,2.085,6519,2.606,6520,3.163,6531,4.637,6541,2.962,6544,2.884,6550,2.31,6551,2.651,6552,3.053,6554,2.651,6967,2.755,7033,2.422,7306,2.755,7308,2.701,7309,2.755,7809,5.433,7810,2.962,7811,5.433,7812,5.433,7813,7.341,7814,3.053,7815,7.341,7816,3.053,7817,5.271,7983,5.872,7984,3.3,7985,3.3,7986,3.3,7987,3.483,7988,6.198,7989,8.374,7990,3.483,7991,3.483,7992,3.483,7993,3.483,7994,3.483,7995,3.483,7996,3.483,7997,3.483,7998,3.483,7999,3.762,8000,3.483,8001,3.483]],["keywords/1429",[]],["title/1430",[8002,1555.113]],["content/1430",[9,1.103,79,2.856,97,3.46,122,2.792,141,3.474,193,1.591,236,1.726,255,1.74,258,4.067,273,2.268,343,2.47,345,4.643,362,1.662,363,3.126,390,4.379,467,2.625,545,1.396,556,3.62,558,3.061,581,5.003,600,3.122,624,2.083,661,4.842,804,5.619,807,4.307,828,2.411,832,0.944,838,1.847,847,1.076,885,3.676,889,2.102,924,8.451,925,7.288,993,4.291,1014,3.82,1110,2.386,1205,3.409,1215,3.301,1613,3.694,1630,2.682,1644,4.596,2006,2.819,2294,2.651,3543,2.658,4633,5.285,5037,5.36,5062,2.682,5064,2.682,6325,2.69,6327,2.69,6333,5.448,6334,5.647,6336,5.448,6337,5.448,6338,5.448,6339,2.69,6344,2.944,6347,5.448,6351,5.448,6353,2.944,6355,5.36,6357,5.279,6366,5.36,6367,5.448,6370,5.064,6372,5.448,6373,5.279,6375,5.448,6376,5.448,6377,5.448,6378,5.448,6382,3.039,6383,3.039,6384,3.039,6385,3.039,6386,3.039,6387,3.039,6388,3.039,6389,3.039,6550,4.83,6551,5.543,6554,5.543,7951,7.282,8002,7.282]],["keywords/1430",[]],["title/1431",[8003,1473.221]],["content/1431",[9,1.417,122,3.387,141,4.214,193,2.043,236,2.216,255,2.234,258,4.933,273,2.912,343,3.171,345,5.435,352,5.596,362,2.133,363,3.299,390,4.845,467,2.59,545,1.792,556,4.237,581,5.856,600,3.787,624,2.674,661,5.667,804,5.199,807,4.401,828,3.096,832,1.212,838,2.371,847,1.381,885,2.971,889,2.698,924,7.999,925,7.149,1014,3.088,1110,3.063,1205,4.135,1215,4.004,1613,4.481,1630,3.444,1644,5.379,1913,6.421,2006,3.619,2294,3.403,3543,3.413,4633,6.186,5062,3.444,5064,3.444,6325,3.454,6326,6.68,6327,3.454,6339,3.454,6344,3.779,6353,3.779,6382,3.901,6383,3.901,6384,3.901,6385,3.901,6386,3.901,6387,3.901,6388,3.901,6389,3.901,6711,5.387,8003,8.857,8004,8.857,8005,8.857,8006,10.097,8007,9.349,8008,9.349,8009,9.349,8010,10.097]],["keywords/1431",[]],["title/1432",[8011,1555.113]],["content/1432",[9,1.114,21,1.685,122,2.814,141,3.502,193,1.607,235,3.745,236,1.743,255,1.757,258,4.099,343,2.494,345,4.673,362,1.678,363,3.025,390,4.397,467,2.623,545,1.41,548,3.138,556,3.643,558,3.091,581,5.036,600,3.146,624,2.103,661,4.873,804,5.568,807,4.409,828,2.435,832,0.953,838,1.865,847,1.086,885,7.232,889,2.123,924,7.376,925,7.272,1014,3.85,1110,2.41,1175,6.09,1176,6.09,1178,5.946,1179,5.946,1180,5.946,1188,5.818,1189,4.99,1205,3.436,1215,3.327,1613,3.723,1630,2.709,1644,4.626,2006,2.847,2294,2.677,3438,5.051,3513,5.818,3543,2.685,4445,5.818,4633,5.319,5062,2.709,5064,2.709,6325,2.717,6327,2.717,6339,2.717,6344,2.973,6353,2.973,6382,3.069,6383,3.069,6384,3.069,6385,3.069,6386,3.069,6387,3.069,6388,3.069,6389,3.069,6405,4.933,6413,4.402,6642,6.447,6644,6.447,6645,6.447,6646,6.447,6647,6.255,6711,4.237,8003,6.967,8004,6.967,8005,6.967,8007,7.354,8008,7.354,8011,7.354,8012,7.942,8013,7.942,8014,7.942,8015,7.942]],["keywords/1432",[]],["title/1433",[8016,1555.113]],["content/1433",[9,1.373,122,3.309,141,4.117,193,1.981,236,2.148,255,2.166,258,4.819,273,2.823,343,3.074,345,5.334,362,2.068,363,3.264,390,4.789,467,2.601,545,1.737,556,4.158,558,3.81,581,5.747,600,3.699,624,2.592,661,5.562,804,5.424,807,4.331,828,3.001,832,1.175,838,2.299,847,1.339,885,4.356,889,2.616,924,8.142,925,7.17,1014,2.993,1110,2.97,1205,4.04,1215,3.911,1613,4.378,1630,3.338,1644,5.279,1913,6.224,2006,3.509,2294,3.299,3543,3.309,4633,6.071,5062,3.338,5064,3.338,5429,9.063,6325,3.348,6327,3.348,6339,3.348,6344,3.664,6353,3.664,6382,3.782,6383,3.782,6384,3.782,6385,3.782,6386,3.782,6387,3.782,6388,3.782,6389,3.782,6405,6.079,7033,6.303,8004,8.586,8005,8.586,8009,9.063,8016,9.063,8017,9.788,8018,9.788,8019,9.788]],["keywords/1433",[]],["title/1434",[8020,1555.113]],["content/1434",[9,1.663,122,3.811,141,4.742,193,2.399,236,2.601,255,2.623,258,5.551,273,3.419,343,3.723,345,5.966,362,2.505,363,3.47,390,5.131,467,2.533,521,6.371,545,2.104,556,4.651,558,4.614,581,6.428,600,4.261,624,3.139,661,6.221,804,3.757,807,3.993,828,3.634,832,1.423,838,2.784,847,1.621,924,8.181,925,7.04,1014,3.625,1110,3.597,1205,4.653,1215,4.505,1613,5.042,1630,4.043,1644,5.905,2294,3.995,3543,4.007,4633,6.791,5062,4.043,5064,4.043,6325,4.055,6327,4.055,6339,4.055,6382,4.58,6383,4.58,6384,4.58,6385,4.58,6386,4.58,6387,4.58,6388,4.58,6389,4.58,8020,10.976,8021,9.966,8022,10.976,8023,10.976]],["keywords/1434",[]],["title/1435",[8024,1555.113]],["content/1435",[9,1.72,122,3.904,141,4.858,193,2.482,236,2.691,255,2.713,258,5.687,343,3.851,345,6.079,362,2.591,363,3.505,390,5.19,467,2.506,545,2.176,556,4.739,581,6.551,600,4.365,624,3.247,661,6.34,804,3.849,807,4.248,828,3.76,832,1.472,838,2.88,847,1.677,924,7.811,925,6.853,1014,5.342,1110,3.721,1205,4.767,1215,4.616,1613,5.166,1630,4.182,1644,6.018,2294,4.133,3543,4.145,4633,6.92,5062,4.182,5064,4.182,5712,9.953,6325,4.195,6327,4.195,6339,4.195,6382,4.738,6383,4.738,6384,4.738,6385,4.738,6386,4.738,6387,4.738,6388,4.738,6389,4.738,8021,10.31,8024,11.355,8025,12.262,8026,12.262]],["keywords/1435",[]],["title/1436",[8027,1555.113]],["content/1436",[9,1.688,97,5.294,122,3.852,141,4.793,193,2.435,236,2.641,255,2.662,258,5.611,273,3.47,343,3.779,345,6.016,362,2.542,363,3.486,390,5.157,467,2.526,545,2.136,556,4.69,558,4.683,581,6.482,600,4.306,624,3.186,661,6.273,804,3.798,807,4.013,828,3.689,832,1.444,838,2.826,847,1.645,924,8.089,925,7.01,1014,3.679,1110,3.651,1205,4.703,1215,4.553,1613,5.096,1630,4.104,1644,5.955,2294,4.055,3543,4.067,4633,6.847,5062,4.104,5064,4.104,6325,4.116,6327,4.116,6339,4.116,6382,4.649,6383,4.649,6384,4.649,6385,4.649,6386,4.649,6387,4.649,6388,4.649,6389,4.649,8021,10.116,8027,11.141,8028,12.032]],["keywords/1436",[]],["title/1437",[8029,1555.113]],["content/1437",[9,1.615,122,3.731,141,4.643,193,2.33,236,2.527,255,2.547,258,5.435,273,3.32,343,3.616,345,5.868,362,2.432,363,3.44,390,5.08,467,2.544,521,6.187,545,2.043,556,4.575,558,4.481,581,6.323,600,4.172,624,3.049,661,6.119,804,3.679,807,4.078,828,3.53,832,1.382,838,2.704,847,1.574,924,8.233,925,7.09,1014,3.521,1110,3.493,1205,4.556,1215,4.411,1613,4.937,1630,3.927,1644,5.809,2006,4.127,2294,3.88,3543,3.892,4633,6.679,5062,3.927,5064,3.927,6325,3.939,6327,3.939,6339,3.939,6382,4.448,6383,4.448,6384,4.448,6385,4.448,6386,4.448,6387,4.448,6388,4.448,6389,4.448,6519,7.975,8021,9.68,8022,10.66,8023,10.66,8029,10.66]],["keywords/1437",[]],["title/1438",[6440,1257.267]],["content/1438",[9,1.309,14,2.111,59,2.906,90,3.241,122,3.191,141,4.822,193,1.888,215,4.799,236,3.133,255,2.065,258,4.647,273,2.691,287,4.276,343,2.931,345,5.802,362,1.972,363,3.394,390,4.701,467,2.525,475,3.687,486,5.644,540,3.334,545,3.715,556,4.038,581,6.252,600,3.567,624,3.78,661,5.401,804,3.82,807,3.806,812,3.164,828,2.861,832,1.12,838,4.561,842,4.583,847,1.276,889,2.494,924,7.719,925,6.758,949,3.593,1014,2.854,1110,2.831,1199,9.889,1205,4.731,1215,4.581,1253,3.606,1386,5.398,1512,8.044,1558,10.893,1613,4.222,1630,4.869,1644,5.127,2006,3.345,2294,4.811,3385,7.574,3392,6.36,3448,5.214,3543,4.826,3646,8.583,4633,5.896,4926,13.219,5062,4.869,5064,4.869,5439,13.219,6325,3.192,6327,3.192,6339,3.192,6344,3.493,6353,3.493,6440,14.538,7804,8.641,8030,17.337,8031,9.331,8032,9.331,8033,14.275,8034,9.331,8035,9.331,8036,9.331,8037,9.331]],["keywords/1438",[]],["title/1439",[8038,1473.221]],["content/1439",[5,2.665,9,2.608,14,4.831,18,2.608,21,0.653,27,1.207,30,1.861,31,1.129,40,1.693,41,1.784,50,2.73,58,2.779,59,3.784,61,2.694,63,1.168,79,5.555,85,1.367,96,1.619,97,4.154,122,3.597,133,1.693,139,2.595,140,1.635,141,2.135,144,4.14,146,2.251,149,1.336,155,1.72,162,1.444,187,1.177,193,1.554,205,1.181,215,3.392,236,0.676,251,2.268,255,1.237,258,1.82,260,1.436,263,1.597,264,1.527,273,4.642,287,2.299,297,1.393,310,1.011,323,8.374,329,1.815,340,1.285,343,0.967,345,3.661,352,3.098,355,2.129,357,2.092,358,1.044,362,0.65,363,2.524,364,1.546,379,1.734,390,3.581,393,3.294,398,1.198,404,1.028,410,2.304,417,1.912,418,2.725,429,1.661,443,1.972,451,2.424,464,2.184,467,2.59,475,1.444,486,1.002,500,1.244,506,1.797,521,1.654,524,1.391,545,2.175,548,1.216,554,2.675,556,3.916,558,5.214,581,3.039,584,1.957,587,2.129,600,3.599,603,1.198,612,1.749,620,2.129,624,2.033,630,11.691,641,1.797,642,1.832,648,1.957,661,2.392,677,3.179,693,6.393,699,1.177,700,1.749,711,1.706,719,1.318,727,3.204,730,1.87,746,1.407,784,1.87,794,1.814,804,4.562,807,3.632,812,1.044,820,2.828,824,0.682,828,2.354,832,0.369,838,1.803,842,2.465,847,0.421,848,1.259,876,1.269,885,3.942,887,1.387,889,1.494,897,1.749,898,1.452,909,1.814,924,7.121,925,6.742,944,1.547,949,1.185,951,1.693,960,1.269,993,7.858,1008,2.595,1011,1.679,1014,2.887,1018,0.999,1025,2.008,1036,1.459,1078,1.749,1105,2.169,1107,2.132,1110,1.696,1144,2.132,1163,1.679,1196,1.749,1201,5.079,1205,2.095,1207,6.963,1215,2.028,1253,1.189,1261,1.4,1366,1.296,1433,1.734,1563,1.89,1564,2.008,1613,2.792,1630,1.906,1644,2.27,1817,2.961,1849,2.036,2006,1.103,2047,1.957,2102,3.512,2163,3.51,2174,2.132,2236,1.912,2254,2.588,2294,1.884,2394,1.832,2658,2.7,2737,2.36,2799,1.89,2806,2.7,3041,2.7,3126,5.009,3364,2.36,3414,5.512,3415,5.624,3543,1.889,3656,2.85,3688,4.286,3689,2.498,3691,2.36,4208,2.498,4336,4.402,4381,8.992,4459,2.255,4633,2.611,4881,2.036,4946,2.498,5037,2.098,5062,1.906,5064,1.906,5702,2.85,5853,1.313,5974,14.164,6040,2.424,6325,1.053,6327,1.053,6329,2.098,6332,1.957,6333,2.132,6334,2.21,6335,4.537,6336,2.132,6337,2.132,6338,2.132,6339,1.053,6344,1.152,6347,2.132,6348,6.232,6349,4.537,6351,2.132,6352,8.888,6353,1.152,6355,2.098,6357,2.066,6366,2.098,6367,2.132,6370,1.982,6372,3.872,6373,2.066,6375,3.872,6376,2.132,6377,2.132,6378,2.132,6380,2.498,6405,1.912,6412,2.304,6413,1.706,6467,2.21,6512,2.498,6547,2.498,6548,2.588,6550,6.725,6551,3.939,6552,2.498,6553,6.455,6554,7.718,6556,5.176,6557,5.176,6558,2.85,6559,2.7,6560,2.7,6565,2.7,7764,2.85,7938,2.7,7963,2.85,7964,2.85,7965,2.85,7966,2.85,7968,7.109,7969,2.85,7971,5.176,7972,2.85,7973,2.85,7974,2.85,7975,2.85,7976,2.85,7977,2.588,7980,2.85,8038,14.749,8039,3.078,8040,3.078,8041,3.078,8042,3.078,8043,3.078,8044,3.078,8045,3.078,8046,3.078,8047,3.078,8048,3.078,8049,5.589,8050,3.078,8051,3.078,8052,3.078,8053,5.589,8054,5.589,8055,3.078,8056,9.441,8057,3.078,8058,5.589,8059,3.078,8060,3.078,8061,2.588,8062,3.078,8063,3.078,8064,3.078,8065,3.078,8066,10.139,8067,3.078,8068,3.078,8069,5.589,8070,3.078,8071,3.078]],["keywords/1439",[]],["title/1440",[8072,1555.113]],["content/1440",[8,2.577,9,1.97,14,3.176,15,1.425,16,1.723,26,2.724,30,2.682,31,1.396,48,1.509,50,3.16,59,2.252,61,3.261,76,2.484,79,2.457,97,4.017,120,2.42,122,2.473,141,6.806,144,2.822,146,1.533,193,0.77,204,4.024,222,2.016,236,1.485,237,2.788,248,2.923,251,2.745,255,1.497,258,2.202,259,1.795,264,4.531,273,1.951,287,2.734,309,2.555,310,1.25,323,3.634,343,1.195,345,2.727,357,1.425,362,0.804,363,2.5,390,3.238,393,2.243,404,1.272,409,2.163,413,1.962,429,4.82,443,2.387,455,1.889,467,2.6,475,1.747,486,1.239,489,2.923,501,2.338,524,0.947,533,1.698,545,1.964,548,5.007,554,1.326,556,2.577,558,4.934,581,3.562,587,1.45,600,4.053,603,1.481,609,2.002,614,2.451,620,1.45,624,1.791,630,5.491,648,4.302,661,2.844,693,3.949,719,1.63,804,5.493,807,4.268,812,1.29,820,1.14,828,2.074,832,0.457,838,0.894,842,2.172,847,0.521,866,1.609,885,5.466,886,1.623,889,3.388,924,7.624,925,7.127,928,2.002,944,1.054,993,2.077,1011,2.077,1014,4.65,1036,1.805,1057,2.594,1110,1.155,1170,3.004,1189,2.391,1200,2.919,1201,6.04,1205,2.492,1215,2.412,1227,1.637,1373,1.9,1385,1.334,1473,1.856,1558,2.391,1573,1.856,1613,2,1630,2.307,1644,2.7,1683,1.445,1898,2.484,1941,2.243,2006,1.364,2014,5.187,2163,1.74,2294,2.28,2380,2.997,2394,2.266,2808,2.733,3126,2.484,3303,3.2,3543,2.287,3699,12.343,3812,2.42,4063,2.683,4381,9.423,4633,3.105,5037,2.594,5062,2.307,5064,2.307,5543,2.997,5584,3.339,5992,5.934,6000,2.849,6325,1.302,6327,1.302,6329,2.594,6332,2.42,6333,2.637,6334,2.733,6335,3.09,6336,2.637,6337,2.637,6338,2.637,6339,1.302,6344,1.425,6347,2.637,6348,3.09,6349,3.09,6351,2.637,6352,3.09,6353,1.425,6355,2.594,6357,2.555,6366,2.594,6367,2.637,6370,2.451,6372,2.637,6373,2.555,6375,2.637,6376,2.637,6377,2.637,6378,2.637,6380,3.09,6405,2.364,6413,2.11,6519,2.637,6520,3.2,6531,4.686,6541,2.997,6544,2.919,6548,3.2,6550,2.338,6551,2.683,6553,7.676,6554,2.683,6967,2.788,7033,2.451,7306,2.788,7308,2.733,7309,2.788,7809,3.09,7810,2.997,7811,5.491,7812,5.491,7813,7.411,7814,3.09,7815,3.09,7816,3.09,7817,5.327,7984,3.339,7985,3.339,7986,3.339,7987,3.525,7988,6.264,7989,8.454,7990,3.525,7991,3.525,7992,3.525,7993,3.525,7994,3.525,7995,3.525,7996,3.525,7997,3.525,7998,3.525,8000,3.525,8001,3.525,8038,8.009,8066,6.264,8072,6.264,8073,3.806]],["keywords/1440",[]],["title/1441",[8074,1555.113]],["content/1441",[9,1.663,122,3.811,141,4.742,193,2.399,236,2.601,255,2.623,258,5.551,343,3.723,345,5.966,362,2.505,363,3.47,390,5.131,467,2.544,545,2.104,556,4.651,581,6.428,600,4.261,624,3.139,661,6.221,804,4.4,807,3.993,828,3.634,832,1.423,838,2.784,847,1.621,889,3.168,924,8.06,925,7.04,1014,3.625,1110,3.597,1205,4.653,1215,4.505,1613,5.042,1630,4.043,1644,5.905,2006,4.249,2294,3.995,3543,4.007,4633,6.791,5062,4.043,5064,4.043,6325,4.055,6327,4.055,6339,4.055,6344,4.437,6353,4.437,6382,4.58,6383,4.58,6384,4.58,6385,4.58,6386,4.58,6387,4.58,6388,4.58,6389,4.58,8074,10.976,8075,11.854]],["keywords/1441",[]],["title/1442",[8076,1555.113]],["content/1442",[2,3.826,9,2.335,14,4.14,41,3.362,50,2.858,59,3.989,79,6.044,90,2.454,122,2.562,140,3.081,141,4.629,144,2.184,174,2.138,193,1.43,205,2.711,221,6.92,236,1.551,255,1.563,258,3.732,273,5.651,286,2.493,319,2.294,323,5.758,343,2.219,344,5.795,345,4.321,357,2.645,358,6.643,359,5.908,362,1.493,363,3.266,364,3.55,390,4.396,404,2.361,417,2.417,429,3.407,443,4.044,467,2.522,475,2.961,500,2.856,518,14.6,524,1.758,525,5.61,545,1.254,556,4.261,558,5.63,581,5.358,597,5.268,600,4.572,613,2.09,617,4.248,620,4.367,624,3.036,632,8.921,661,4.506,688,5.759,784,4.293,804,3.187,807,3.421,812,2.396,828,2.166,832,0.848,838,1.659,847,0.966,876,2.914,882,3.618,898,3.332,924,6.923,925,6.291,944,4.004,949,4.414,1014,2.161,1018,3.722,1103,3.486,1110,2.144,1205,3.947,1215,3.822,1269,3.743,1279,4.051,1294,3.199,1489,4.895,1557,6.116,1610,3.109,1613,4.278,1630,3.91,1644,4.278,2047,4.493,2146,3.314,2248,4.016,2294,3.864,2640,3.109,2657,4.165,3516,4.98,3543,3.875,3553,4.743,4633,4.919,4697,5.735,4881,4.674,5062,3.91,5064,3.91,5446,3.04,5852,5.418,6325,2.417,6327,2.417,6328,4.087,6339,2.417,6401,4.895,6561,5.941,6784,4.493,6814,7.941,6815,7.203,6816,5.073,6817,4.98,7033,9.315,7150,6.198,7151,12.689,7152,6.198,7153,6.198,7154,6.198,7155,6.198,7156,6.198,7157,6.198,7158,6.198,7159,6.198,7311,6.543,7312,6.543,8076,13.394,8077,16.644,8078,7.066,8079,7.066]],["keywords/1442",[]],["title/1443",[8080,1473.221]],["content/1443",[9,1.985,14,4.367,63,3.501,79,3.35,122,3.162,140,1.964,141,3.935,155,5.154,193,1.867,236,2.024,255,2.041,258,4.606,273,4.081,343,2.897,345,5.142,352,5.112,362,1.949,363,3.198,390,4.679,413,4.754,418,4.497,467,2.596,545,1.637,556,4.849,558,3.59,562,4.754,581,5.541,600,3.536,661,5.362,804,5.04,807,4.094,828,2.828,832,1.107,838,2.166,847,1.261,889,2.465,924,7.828,925,7.008,1014,2.821,1018,2.994,1110,2.799,1205,3.861,1215,4.548,1433,5.197,1613,4.184,1630,3.146,1644,5.09,2006,3.306,2279,5.154,2294,3.109,2481,5.288,3543,3.118,4039,7.487,4633,5.853,5062,3.146,5064,3.146,6325,3.156,6327,3.156,6339,3.156,6344,3.453,6353,3.453,6382,3.564,6383,3.564,6384,3.564,6385,3.564,6386,3.564,6387,3.564,6388,3.564,6389,3.564,6577,6.623,6711,4.921,6750,5.437,7237,8.091,7250,14.473,7539,11.485,8080,15.099,8081,9.224,8082,8.091,8083,9.224,8084,9.224,8085,13.102,8086,13.102,8087,9.224]],["keywords/1443",[]],["title/1444",[7250,1412.056]],["content/1444",[7,4.068,9,2.308,14,5.215,30,2.08,50,2.14,51,4.394,59,3.781,63,6.242,68,3.377,79,6.746,97,5.887,122,2.991,139,3.983,140,1.828,141,3.721,144,5.083,155,4.795,193,1.737,236,1.883,255,1.898,258,4.356,273,2.475,286,3.027,343,2.695,345,4.913,362,1.813,363,3.115,390,4.909,413,6.896,418,4.184,464,5.227,467,2.562,545,1.523,554,2.99,556,4.69,558,7.23,568,4.578,581,5.294,600,4.11,661,5.124,677,3.553,804,4.093,807,3.693,808,4.004,828,2.631,832,1.03,838,2.015,847,1.174,848,3.51,889,2.293,924,7.807,925,6.812,1014,4.092,1018,2.786,1110,2.604,1204,5.944,1205,3.652,1215,3.535,1613,3.957,1630,2.927,1644,4.864,2006,3.076,2236,5.329,2279,7.477,2294,2.892,2481,4.919,3543,2.901,3599,6.58,4633,5.593,5062,2.927,5064,2.927,6325,2.936,6327,2.936,6339,2.936,6344,3.212,6353,3.212,6382,3.316,6383,3.316,6384,3.316,6385,3.316,6386,3.316,6387,3.316,6388,3.316,6389,3.316,6711,4.578,6750,5.058,7212,6.965,7236,6.758,7237,11.737,7238,7.215,7239,7.946,7250,16.932,7977,7.215,8080,7.527,8088,8.581,8089,8.581,8090,7.215,8091,8.581,8092,8.581]],["keywords/1444",[]],["title/1445",[8093,1555.113]],["content/1445",[9,1.768,122,3.98,141,4.953,193,2.55,236,2.765,255,2.788,258,5.798,343,3.957,345,6.171,362,2.662,363,3.533,390,5.236,467,2.501,521,6.772,545,2.236,556,4.811,581,6.65,600,4.45,624,3.337,661,6.435,804,3.924,807,4.075,828,3.863,832,1.512,838,2.959,847,1.723,924,7.659,925,6.89,1014,3.853,1110,3.823,1205,4.86,1215,4.705,1613,5.267,1630,4.298,1644,6.108,2294,4.247,3543,4.259,4633,7.024,5062,4.298,5064,4.298,6325,4.311,6327,4.311,6339,4.311,6382,4.869,6383,4.869,6384,4.869,6385,4.869,6386,4.869,6387,4.869,6388,4.869,6389,4.869,8093,11.667,8094,12.6]],["keywords/1445",[]],["title/1446",[8095,1555.113]],["content/1446",[5,3.677,9,2.456,14,1.745,30,2.982,40,4.241,41,5.162,50,4.365,58,2.792,59,3.894,83,5.437,90,2.679,91,3.526,122,2.749,138,6.074,139,5.71,140,1.643,141,3.421,144,2.384,174,2.334,188,3.739,193,2.489,204,2.449,221,3.207,229,8.741,236,1.693,255,3.395,258,4.005,273,2.224,294,8.521,323,3.07,329,2.504,343,2.422,345,4.584,357,2.887,359,3.975,362,1.63,363,3.105,390,4.555,393,4.546,404,2.577,410,5.774,417,2.639,464,4.805,467,2.429,478,3.58,481,4.275,505,5.136,520,3.599,524,1.919,525,2.991,532,5.914,545,1.369,554,2.687,556,4.455,558,3.002,581,4.939,600,3.074,612,6.99,618,4.967,624,2.042,632,9.326,641,4.503,661,4.78,764,5.201,804,3.381,807,3.17,808,3.599,828,2.365,832,0.926,838,1.811,842,2.476,847,1.055,860,4.029,885,2.269,889,2.061,900,3.106,924,7.599,925,6.683,944,2.135,1008,3.58,1014,2.359,1018,2.504,1110,3.732,1205,3.357,1215,3.25,1434,6.874,1470,4.002,1613,3.638,1630,2.631,1644,4.537,1838,3.261,1954,4.002,2006,2.765,2022,6.766,2294,2.599,2671,5.436,2682,5.436,3131,6.766,3387,4.591,3391,8.832,3392,5.257,3525,5.914,3543,2.607,3701,5.343,4078,6.074,4217,5.102,4633,5.218,4743,6.074,4881,8.138,5062,2.631,5064,2.631,5492,6.766,5766,3.394,6325,2.639,6327,2.639,6339,2.639,6344,2.887,6353,2.887,6382,2.98,6383,2.98,6384,2.98,6385,2.98,6386,2.98,6387,2.98,6388,2.98,6389,2.98,6577,5.538,6784,4.905,7167,7.142,8095,11.39,8096,7.142,8097,7.713,8098,7.713,8099,7.713,8100,16.212,8101,7.713,8102,7.713,8103,7.713,8104,11.39,8105,7.142,8106,7.713,8107,7.713,8108,7.713,8109,7.713,8110,7.713]],["keywords/1446",[]],["title/1447",[8111,1555.113]],["content/1447",[9,1.559,122,3.636,141,4.525,193,2.249,236,2.439,255,2.459,258,5.297,343,3.49,345,5.75,362,2.348,363,3.402,390,5.018,467,2.567,545,1.973,556,4.483,581,6.196,600,4.066,624,2.943,661,5.996,804,5.192,807,4.22,828,3.407,832,1.334,838,2.61,847,1.52,889,2.97,924,8.062,925,7.054,1014,3.398,1110,3.372,1205,4.44,1215,4.299,1613,4.812,1630,3.79,1644,5.692,2006,3.984,2294,3.745,3543,3.757,4633,6.546,5062,3.79,5064,3.79,6325,3.802,6327,3.802,6339,3.802,6344,4.16,6353,4.16,6382,4.294,6383,4.294,6384,4.294,6385,4.294,6386,4.294,6387,4.294,6388,4.294,6389,4.294,6988,8.521,6998,9.748,8111,10.29,8112,11.113,8113,11.113,8114,11.113]],["keywords/1447",[]],["title/1448",[8115,1555.113]],["content/1448",[9,0.96,14,3.2,15,4.179,28,4.155,30,1.658,41,1.59,50,4.07,59,2.879,62,10.156,79,4.054,122,4.313,140,3.477,141,5.367,144,2.114,147,6,174,3.378,193,1.384,202,2.844,204,2.172,221,5.882,236,2.45,255,1.513,258,3.634,260,3.191,273,5.188,310,2.246,319,4.592,322,2.534,323,5.631,340,2.856,343,2.148,345,4.226,357,2.56,362,1.445,363,2.846,390,4.522,417,2.34,467,2.561,469,4.155,525,2.652,545,1.214,556,3.802,558,7.002,581,4.554,600,4.079,603,2.662,661,4.407,668,4.662,804,4.486,807,3.744,828,2.097,829,4.248,832,0.821,838,1.606,842,2.196,847,0.935,885,2.012,889,1.828,924,7.867,925,6.895,976,2.587,1014,3.414,1018,2.22,1092,3.436,1110,2.075,1205,3.047,1215,5.099,1253,2.643,1294,3.096,1366,4.7,1385,2.398,1434,3.822,1613,3.301,1630,2.333,1644,4.183,1777,5.754,1817,3.623,2006,2.452,2146,5.237,2294,2.305,2617,4.591,2637,3.703,3395,7.386,3543,2.312,4633,4.81,5062,2.333,5064,2.333,5364,5.12,6325,2.34,6327,2.34,6328,3.956,6339,2.34,6344,2.56,6353,2.56,6382,2.643,6383,2.643,6384,2.643,6385,2.643,6386,2.643,6387,2.643,6388,2.643,6389,2.643,6700,3.921,6711,7.547,6746,3.822,6749,4.591,6750,4.031,6751,4.404,6811,4.349,6812,4.349,6813,4.297,7123,5.552,7425,7.869,7427,5.386,7429,5.386,7856,5.751,8115,13.098,8116,5.751,8117,5.552,8118,5.751,8119,5.751,8120,6.333,8121,6.333,8122,12.408,8123,6.333,8124,6.333,8125,10.338,8126,6.333,8127,6.333,8128,6.333,8129,6.839,8130,6.839,8131,6.839,8132,6.839,8133,6.839,8134,6.333,8135,6.839,8136,6.839,8137,6.839]],["keywords/1448",[]],["title/1449",[8122,1473.221]],["content/1449",[9,1.04,14,3.38,15,4.459,28,4.502,30,1.796,41,1.722,50,4.266,59,3.041,62,10.725,79,4.326,122,4.475,139,3.439,140,3.644,141,5.569,144,2.29,147,6.5,174,3.605,193,1.499,202,3.081,204,2.352,221,4.953,236,1.626,255,1.639,258,3.878,273,4.935,310,2.433,319,4.849,322,2.745,323,5.946,340,3.093,343,2.327,345,4.463,357,2.773,362,1.566,363,2.942,390,4.661,417,2.535,467,2.535,469,4.502,525,2.873,545,1.315,556,3.985,558,4.636,581,4.809,600,4.276,603,2.884,661,4.653,668,5.05,804,4.131,807,3.743,828,2.272,829,4.601,832,0.889,838,1.74,842,2.379,847,1.013,885,3.505,889,1.98,924,7.924,925,6.945,976,2.802,1014,3.643,1018,2.405,1092,3.722,1110,2.248,1205,3.251,1215,4.953,1253,2.863,1294,3.354,1366,5.015,1385,2.598,1434,4.14,1613,3.523,1630,2.527,1644,4.417,1777,6.139,1817,3.925,2006,2.656,2146,5.588,2294,2.497,2617,4.973,2637,4.012,3395,4.902,3543,2.505,4633,5.08,5062,2.527,5064,2.527,5364,5.547,6325,2.535,6327,2.535,6328,4.286,6339,2.535,6344,2.773,6353,2.773,6382,2.863,6383,2.863,6384,2.863,6385,2.863,6386,2.863,6387,2.863,6388,2.863,6389,2.863,6700,4.248,6711,6.355,6746,4.14,6749,4.973,6750,4.367,6811,4.712,6812,4.712,6813,4.655,7123,6.014,7425,5.222,7856,6.23,8116,6.23,8117,6.014,8118,6.23,8119,6.23,8120,6.861,8121,6.861,8122,15.01,8123,6.861,8124,6.861,8125,11.03,8126,6.861,8127,6.861,8128,6.861,8134,6.861,8138,7.409]],["keywords/1449",[]],["title/1450",[8139,1555.113]],["content/1450",[9,1.373,122,3.309,141,4.117,193,1.981,236,2.148,255,2.166,258,4.819,273,2.823,343,3.074,345,5.334,362,2.068,363,3.264,390,4.789,467,2.597,545,1.737,556,4.158,558,3.81,581,5.747,600,3.699,624,2.592,661,5.562,804,5.145,807,4.158,828,3.001,832,1.175,838,2.299,847,1.339,885,2.88,889,2.616,924,8.36,925,7.191,1014,4.527,1110,2.97,1205,4.04,1215,4.717,1613,4.378,1630,3.338,1644,5.279,2006,3.509,2294,3.299,3543,3.309,4633,6.071,5062,3.338,5064,3.338,6325,3.348,6327,3.348,6328,5.662,6339,3.348,6344,3.664,6353,3.664,6382,3.782,6383,3.782,6384,3.782,6385,3.782,6386,3.782,6387,3.782,6388,3.782,6389,3.782,6700,5.611,6711,7.898,6746,5.469,6750,5.769,6751,6.303,8116,8.23,8117,7.945,8118,8.23,8119,8.23,8139,9.063]],["keywords/1450",[]],["title/1451",[8140,1555.113]],["content/1451",[9,1.373,122,3.309,141,4.117,193,1.981,236,2.148,255,2.166,258,4.819,273,2.823,343,3.074,345,5.334,362,2.068,363,3.264,390,4.789,467,2.597,545,1.737,556,4.158,558,3.81,581,5.747,600,3.699,624,2.592,661,5.562,804,5.145,807,4.158,828,3.001,832,1.175,838,2.299,847,1.339,885,2.88,889,2.616,924,8.36,925,7.191,1014,4.527,1110,2.97,1205,4.04,1215,4.717,1613,4.378,1630,3.338,1644,5.279,2006,3.509,2294,3.299,3543,3.309,4633,6.071,5062,3.338,5064,3.338,6325,3.348,6327,3.348,6328,5.662,6339,3.348,6344,3.664,6353,3.664,6382,3.782,6383,3.782,6384,3.782,6385,3.782,6386,3.782,6387,3.782,6388,3.782,6389,3.782,6700,5.611,6711,7.898,6746,5.469,6750,5.769,6751,6.303,8116,8.23,8117,7.945,8118,8.23,8119,8.23,8140,9.063]],["keywords/1451",[]],["title/1452",[1215,443.721]],["content/1452",[9,1.754,122,3.958,141,4.926,193,2.53,236,2.744,255,2.766,258,5.766,273,3.606,343,3.926,345,6.144,362,2.641,363,3.525,390,5.223,467,2.513,545,2.219,556,4.79,581,6.621,600,4.426,624,3.311,661,6.407,804,3.903,807,3.708,828,3.833,832,1.5,838,2.936,847,1.71,924,8.025,925,6.946,1014,3.823,1110,3.793,1205,4.833,1215,5.434,1613,5.237,1630,4.264,1644,6.082,1929,9.158,2294,4.214,3543,4.226,4633,6.994,5062,4.264,5064,4.264,6325,4.277,6327,4.277,6339,4.277,6382,4.831,6383,4.831,6384,4.831,6385,4.831,6386,4.831,6387,4.831,6388,4.831,6389,4.831]],["keywords/1452",[]],["title/1453",[8141,1555.113]],["content/1453",[9,1.279,14,3.173,50,2.274,59,1.856,79,3.312,122,3.135,139,4.233,140,1.942,141,3.901,193,1.845,236,2.001,255,2.017,258,4.566,273,2.63,343,2.864,345,5.106,362,1.927,363,3.185,390,4.658,467,2.601,545,1.619,556,4.469,581,6.177,600,3.505,624,2.415,627,6.033,632,4.446,634,5.014,661,5.324,727,5.228,804,4.819,807,4.081,828,2.796,832,1.094,838,2.142,847,1.247,885,4.127,887,4.108,889,2.437,924,8.109,925,7.134,1014,2.789,1018,2.96,1110,2.767,1205,3.827,1215,3.706,1613,4.148,1630,3.11,1644,5.054,1941,10.073,1951,6.68,2006,3.269,2294,3.073,3543,3.082,3691,6.992,4633,5.812,5062,3.11,5064,3.11,6325,3.12,6327,3.12,6339,3.12,6344,3.413,6353,3.413,6382,3.523,6383,3.523,6384,3.523,6385,3.523,6386,3.523,6387,3.523,6388,3.523,6389,3.523,6689,6.992,6690,6.68,6695,7.999,6711,4.865,6713,6.827,6716,6.992,6758,9.885,6771,6.547,6784,5.799,7775,7.667,8141,15.825,8142,9.119,8143,9.119]],["keywords/1453",[]],["title/1454",[7775,1412.056]],["content/1454",[4,8.24,8,1.071,9,2.151,13,1.098,14,3.916,15,1.926,19,2.032,27,2.017,30,0.681,41,1.653,46,0.787,50,2.194,59,3.268,74,1.57,79,2.584,122,4.304,139,9.882,140,0.599,141,1.431,144,3.563,146,2.072,174,4.129,193,1.44,194,2.779,202,4.793,204,0.892,215,3.776,218,10.124,229,5.12,230,2.243,236,1.129,255,1.138,258,1.675,273,0.811,310,3.785,319,4.429,322,4.271,326,2.48,329,0.912,343,0.883,345,2.125,362,1.503,363,2.632,364,1.412,390,4.01,417,0.961,418,1.37,449,1.558,454,1.673,464,1.098,467,2.561,469,6.231,475,1.329,478,1.305,486,2.316,489,1.214,500,2.08,501,3.16,505,1.173,524,2.551,525,3.977,545,0.913,554,0.979,556,4.385,560,1.708,581,2.29,587,1.071,600,4.012,606,2.281,620,1.96,624,1.884,661,2.216,699,1.074,713,2.233,727,5.879,728,1.106,743,3.351,764,1.188,804,4.75,807,3.978,812,2.412,828,0.862,832,0.337,838,0.66,847,0.384,860,1.468,882,1.439,885,4.917,886,2.194,887,1.266,889,0.751,892,1.098,897,1.597,900,2.072,924,7.477,925,6.864,947,1.26,960,1.159,976,1.063,982,0.753,1014,3.868,1018,0.912,1048,1.114,1061,1.478,1068,2.553,1074,1.708,1110,0.853,1111,1.745,1134,1.947,1181,1.859,1205,1.404,1215,5.292,1237,1.458,1253,4.454,1256,1.641,1366,6.455,1434,2.875,1557,1.499,1572,3.232,1613,1.521,1630,0.959,1644,2.104,1777,7.902,1817,6.106,1916,2.949,1941,1.657,2006,1.007,2146,7.839,2248,2.924,2294,0.947,2481,1.611,2637,6.849,2701,3.453,2740,1.386,3375,3.564,3387,8.121,3460,1.57,3520,3.851,3543,0.95,3568,1.947,3637,3.032,3789,1.173,3810,2.281,4123,3.404,4326,4.051,4580,4.764,4581,4.764,4633,2.419,4816,4.051,4881,1.859,5062,0.959,5064,0.959,5828,4.928,6325,0.961,6327,0.961,6328,1.626,6339,0.961,6344,1.052,6353,1.052,6382,1.086,6383,1.086,6384,1.086,6385,1.086,6386,1.086,6387,1.086,6388,1.086,6389,1.086,6487,4.764,6550,4.369,6620,5.326,6699,2.213,6709,2.213,6710,2.213,6711,9.235,6712,2.213,6713,2.104,6714,2.155,6715,2.213,6716,2.155,6717,2.213,6718,2.155,6719,2.213,6720,3.626,6725,2.213,6726,5.906,6744,1.981,6746,1.57,6754,1.886,6758,1.981,6762,2.018,6763,2.213,6764,1.886,6765,2.155,6769,5.326,6771,2.018,6772,2.213,6784,1.787,6788,8.147,6791,1.981,6811,8.043,6812,8.043,6813,7.947,6814,1.947,7043,2.465,7050,2.104,7051,2.104,7063,2.104,7081,2.059,7196,2.363,7197,2.465,7198,2.465,7204,2.602,7775,8.623,7777,4.764,7779,5.982,7876,6.241,8144,2.81,8145,5.145,8146,2.602,8147,2.81,8148,2.81,8149,2.81,8150,5.145,8151,5.145,8152,2.81,8153,6.588,8154,2.602,8155,2.81,8156,13.449,8157,2.81,8158,2.81,8159,2.81,8160,2.81,8161,2.81,8162,2.81,8163,2.81,8164,2.81,8165,2.81,8166,2.81,8167,2.81,8168,2.81,8169,2.81,8170,2.81,8171,2.81,8172,2.81,8173,2.81,8174,2.81,8175,2.81,8176,2.81,8177,2.81,8178,2.81,8179,2.81,8180,2.81,8181,2.81,8182,2.81,8183,2.81,8184,2.81,8185,7.114,8186,2.81,8187,2.81,8188,5.145,8189,2.81,8190,2.81,8191,2.81,8192,2.81,8193,2.81,8194,2.81]],["keywords/1454",[]],["title/1455",[8195,1555.113]],["content/1455",[4,11.973,5,4.089,8,3.267,9,3.43,14,3.72,31,4.135,73,2.725,74,2.79,122,4.5,139,10.698,140,1.064,141,2.385,144,1.543,155,4.793,174,1.511,193,1.736,202,2.076,204,1.586,215,4.87,218,2.524,229,8.209,236,1.096,255,1.105,258,2.792,273,1.44,287,3.376,310,1.64,319,1.621,322,1.85,325,4.053,332,2.524,343,1.568,344,6.761,345,3.368,362,1.055,363,2.459,390,4.423,467,2.55,469,6.849,545,0.886,556,4.52,581,3.629,600,3.342,624,2.271,661,3.512,677,2.068,700,2.838,716,5.561,727,7.668,728,3.376,764,2.111,804,2.947,807,3.337,812,2.908,828,3.456,832,0.599,838,1.173,847,0.683,848,4.612,860,2.609,885,2.524,887,2.25,889,1.335,892,1.951,924,7.463,925,6.678,957,6.521,971,3.326,973,2.8,976,1.889,992,8.042,1014,4.09,1018,1.621,1048,1.98,1110,5.634,1205,2.341,1215,3.979,1253,1.93,1256,2.916,1294,6.055,1344,2.591,1366,3.611,1434,2.79,1613,2.536,1630,1.703,1644,3.334,1777,4.42,1817,2.645,2006,1.79,2146,4.023,2179,3.459,2248,4.874,2294,1.683,2481,11.126,2637,2.704,3431,3.176,3520,6.421,3543,1.688,4326,3.933,4633,3.833,4832,3.829,4881,14.738,4988,13.902,5062,1.703,5064,1.703,6325,1.708,6327,1.708,6328,2.889,6339,1.708,6344,1.869,6353,1.869,6382,1.93,6383,1.93,6384,1.93,6385,1.93,6386,1.93,6387,1.93,6388,1.93,6389,1.93,6550,6.923,6620,3.738,6711,2.664,6714,3.829,6720,3.52,6765,3.829,6771,3.586,6811,3.176,6812,3.176,6813,3.138,7196,4.199,7779,9.478,7876,11.733,8146,4.624,8153,7.942,8154,4.624,8195,10.438,8196,4.624,8197,8.577,8198,13.375,8199,11.273,8200,11.273,8201,4.994,8202,4.994,8203,4.994,8204,4.994,8205,4.994,8206,4.994,8207,4.994,8208,4.994,8209,4.994,8210,4.994,8211,4.994,8212,13.375,8213,4.994,8214,4.994,8215,4.994,8216,4.994,8217,8.577,8218,8.577,8219,4.994,8220,4.994]],["keywords/1455",[]],["title/1456",[7125,1473.221]],["content/1456",[9,2.162,14,3.486,122,3.444,140,3.282,141,4.285,144,3.191,149,4.481,193,3.118,215,2.858,236,2.266,255,2.284,258,5.016,273,2.978,343,3.243,345,5.508,362,2.181,363,3.323,390,4.886,467,2.586,545,1.833,556,5.094,558,4.019,581,5.935,600,3.85,661,5.743,804,4.062,807,3.802,828,3.166,832,1.239,838,2.425,847,1.412,889,2.759,924,7.781,925,6.827,1014,3.157,1018,3.352,1110,3.133,1205,4.205,1215,4.071,1613,4.557,1630,3.521,1644,5.452,2006,3.701,2294,3.48,3543,3.49,4633,6.269,5062,3.521,5064,3.521,6325,3.532,6327,3.532,6339,3.532,6344,3.865,6353,3.865,6382,3.989,6383,3.989,6384,3.989,6385,3.989,6386,3.989,6387,3.989,6388,3.989,6389,3.989,6620,7.729,6815,11.583,7117,9.057,7120,9.56,7121,14.268,7125,16.172,7127,9.057,7135,9.56,7136,9.56,7138,9.56,8221,10.325,8222,15.409,8223,10.325]],["keywords/1456",[]],["title/1457",[8224,1555.113]],["content/1457",[9,1.333,14,3.966,15,3.555,28,5.77,30,2.302,50,3.608,59,1.933,63,5.492,122,3.917,139,8.136,140,3.081,141,4.874,174,2.874,193,2.928,215,4.005,236,2.084,243,5.104,255,3.878,258,4.71,273,4.173,286,3.351,323,3.781,340,3.965,343,2.983,345,5.236,362,2.007,363,3.231,390,4.733,467,2.522,505,3.965,545,1.686,556,4.564,565,4.801,581,5.642,587,3.618,600,4.38,603,3.697,620,3.618,661,5.46,804,4.318,807,3.83,828,2.912,829,5.898,832,1.14,838,2.231,847,1.299,889,2.538,924,7.884,925,6.883,968,5.494,1014,2.904,1018,3.083,1110,2.882,1149,5.898,1205,3.949,1215,3.823,1385,3.33,1434,5.307,1613,4.279,1630,3.239,1644,5.183,2006,3.405,2070,3.795,2214,6.579,2294,3.201,3543,3.211,4633,5.96,5062,3.239,5064,3.239,6325,3.249,6327,3.249,6339,3.249,6344,3.555,6353,3.555,6382,3.67,6383,3.67,6384,3.67,6385,3.67,6386,3.67,6387,3.67,6388,3.67,6389,3.67,6550,5.833,6577,6.819,7056,7.985,7254,8.331,7425,6.694,7729,7.479,7795,8.794,8224,16.23,8225,9.498,8226,9.498,8227,9.498,8228,9.498]],["keywords/1457",[]],["title/1458",[3688,1287.729]],["content/1458",[9,2.44,14,3.934,30,1.848,41,1.771,59,3.87,79,2.768,122,3.402,140,1.623,141,4.233,187,2.913,193,2.466,199,4.733,215,3.372,223,4.294,236,1.673,255,1.686,258,3.966,269,2.945,273,3.514,340,3.182,343,2.393,345,4.547,362,1.61,363,2.976,390,4.318,418,3.716,432,5.705,433,5.843,449,4.224,467,2.585,486,2.481,489,7.514,520,3.556,540,2.723,545,1.353,548,3.011,556,4.428,558,2.966,581,4.9,600,3.044,608,6.002,624,2.018,661,4.742,693,4.449,703,5.705,804,4.691,807,4.03,828,2.337,832,0.915,838,1.79,847,1.042,885,5.116,889,2.037,924,7.44,925,6.999,1014,2.33,1018,2.474,1105,5.371,1110,2.312,1205,3.325,1215,3.219,1294,3.45,1613,3.603,1630,2.599,1644,4.501,1954,3.954,2006,2.732,2294,2.569,3039,8.06,3414,12.486,3543,2.576,3688,11.671,3689,14.115,3699,14.115,4381,8.178,4633,5.176,5062,2.599,5064,2.599,5543,9.595,6325,2.607,6327,2.607,6339,2.607,6344,2.853,6353,2.853,6357,5.115,6366,5.194,6373,5.115,6382,2.945,6383,2.945,6384,2.945,6385,2.945,6386,2.945,6387,2.945,6388,2.945,6389,2.945,6405,4.733,6412,5.705,6413,4.224,6547,6.186,6610,7.057,6612,11.282,6613,10.244,6617,6.685,6628,6.408,7254,6.685,8229,7.621,8230,7.621,8231,7.621,8232,7.621,8233,7.057,8234,7.621,8235,7.621,8236,7.621,8237,7.621,8238,7.621,8239,7.621]],["keywords/1458",[]],["title/1459",[8240,1555.113]],["content/1459",[5,4.037,9,2.587,14,2.996,34,3.891,50,4.066,59,1.724,91,3.871,122,2.96,139,8.561,140,1.803,141,3.683,144,4.092,193,1.714,205,3.248,229,6.611,236,1.858,251,3.437,255,1.873,258,4.311,273,3.819,328,3.743,343,2.659,345,4.872,362,1.789,363,3.099,390,4.519,464,5.173,467,2.534,478,3.931,486,2.757,505,3.535,545,1.503,556,4.942,558,3.296,581,5.25,600,3.309,612,9.267,618,5.453,624,2.242,632,7.95,641,4.944,661,5.08,764,3.58,804,3.593,807,3.516,808,3.951,828,2.596,832,1.016,838,1.989,847,1.158,885,3.896,889,2.263,900,5.332,924,7.515,925,6.747,960,3.492,1014,2.589,1018,2.749,1110,4.948,1205,3.614,1215,3.499,1237,4.393,1256,4.944,1434,10.305,1613,3.916,1630,2.888,1641,5.453,1644,4.822,1910,10.428,2006,3.035,2294,2.854,3040,7.428,3387,7.882,3391,11.708,3543,2.862,3701,5.866,3806,7.119,4078,6.668,4633,5.545,4881,8.76,4975,5.259,5062,2.888,5064,2.888,6310,7.119,6325,2.897,6327,2.897,6339,2.897,6344,3.17,6353,3.17,6382,3.272,6383,3.272,6384,3.272,6385,3.272,6386,3.272,6387,3.272,6388,3.272,6389,3.272,6401,9.173,6623,7.428,7211,7.841,8096,12.262,8104,7.841,8105,7.841,8240,17.076,8241,13.242,8242,17.076,8243,8.468,8244,8.468,8245,8.468]],["keywords/1459",[]],["title/1460",[8246,1555.113]],["content/1460",[9,1.417,122,3.387,141,4.214,193,2.043,236,2.216,255,2.234,258,4.933,273,2.912,343,3.171,345,5.435,362,2.133,363,3.299,390,4.845,467,2.59,545,1.792,556,4.237,581,5.856,600,3.787,624,2.674,661,5.667,804,5.013,807,4.191,828,3.096,832,1.212,838,2.371,847,1.381,885,2.971,889,2.698,924,8.273,925,7.195,1014,3.088,1110,3.063,1205,4.135,1215,4.004,1613,4.481,1630,3.444,1644,5.379,2006,3.619,2294,3.403,3543,3.413,4633,6.186,5062,3.444,5064,3.444,6325,3.454,6327,3.454,6339,3.454,6344,3.779,6353,3.779,6382,3.901,6383,3.901,6384,3.901,6385,3.901,6386,3.901,6387,3.901,6388,3.901,6389,3.901,6711,5.387,6750,5.951,8117,8.196,8196,9.349,8242,9.349,8246,9.349,8247,10.097,8248,10.097,8249,10.097,8250,10.097,8251,10.097,8252,10.097]],["keywords/1460",[]],["title/1461",[8253,1555.113]],["content/1461",[4,6.929,6,2.308,9,2.539,14,3.789,19,2.368,25,5.69,30,2.427,41,1.393,50,1.495,51,3.069,59,2.038,63,5.715,74,3.35,79,3.636,90,2.082,120,3.812,122,4.293,133,3.296,139,8.916,140,2.132,141,3.585,144,1.852,146,2.414,174,1.814,188,2.906,193,1.213,215,1.659,236,1.316,255,1.326,258,3.259,273,4.343,323,2.386,343,1.883,345,3.851,358,2.032,359,6.644,362,1.267,363,2.924,390,3.855,413,5.16,417,3.425,418,2.922,429,1.782,438,2.975,467,2.546,475,2.586,487,2.714,506,3.5,524,1.491,540,2.142,545,1.064,556,4.689,581,4.848,584,3.812,587,2.283,600,2.502,603,2.333,609,3.153,615,3.966,624,2.651,627,3.966,661,4.016,710,4.225,729,3.604,733,4.866,743,2.283,804,3.988,807,3.578,812,2.032,828,1.838,832,0.719,838,1.408,847,0.82,866,2.534,876,2.472,885,4.927,889,2.676,924,6.906,925,6.686,944,1.659,951,3.296,960,2.472,1008,2.783,1014,1.833,1018,1.946,1025,6.533,1045,5.266,1048,3.97,1105,4.225,1107,4.152,1110,1.819,1120,4.001,1205,3.518,1215,3.406,1434,7.204,1611,3.966,1613,2.961,1630,3.415,1644,3.812,1940,4.72,1951,4.391,2006,2.149,2163,2.741,2179,4.152,2198,3.436,2279,5.595,2294,3.374,2394,3.568,2771,4.72,2799,3.681,3126,3.911,3543,3.384,4123,8.529,4193,5.258,4486,5.55,4633,4.384,4661,4.596,4865,2.975,5062,3.415,5064,3.415,5895,3.11,6185,4.596,6325,2.051,6327,2.051,6339,2.051,6344,2.244,6353,2.244,6620,11.273,7291,4.866,7870,5.55,8061,8.418,8253,17.785,8254,5.04,8255,5.55,8256,5.994,8257,16.746,8258,8.783,8259,5.55,8260,5.994,8261,10.012,8262,5.258,8263,15.058,8264,15.058,8265,5.994,8266,5.994,8267,5.994,8268,5.994,8269,5.994,8270,5.994,8271,5.994,8272,10.012,8273,10.012,8274,5.994,8275,10.012,8276,10.012,8277,10.012,8278,5.994,8279,5.994,8280,5.994,8281,5.994,8282,5.994,8283,5.994,8284,10.012,8285,10.012,8286,10.012,8287,10.012,8288,5.994,8289,5.994,8290,5.994,8291,5.994]],["keywords/1461",[]],["title/1462",[4661,1287.729]],["content/1462",[4,7.717,7,1.305,8,1.923,9,1.594,13,1.075,14,2.824,15,1.03,21,1.483,25,8.614,26,1.108,30,2.449,41,2.347,46,0.771,50,1.258,58,0.996,59,1.027,63,3.285,68,1.083,73,1.502,77,1.655,79,1,91,1.258,97,2.221,117,2.568,122,3.388,133,2.775,139,5.275,140,0.586,141,1.404,144,2.16,146,2.815,149,1.195,174,0.833,187,1.929,193,0.557,194,1.972,204,0.874,205,1.056,218,1.391,229,1.374,230,2.201,236,2.739,255,1.915,257,0.881,258,1.643,259,2.38,269,1.064,273,1.456,277,1.94,286,0.971,310,1.657,323,1.096,326,1.327,329,0.894,340,2.107,343,0.864,345,2.586,352,5.598,357,1.889,358,0.933,359,1.419,362,0.582,363,2.22,364,1.383,379,1.551,390,3.382,393,1.622,404,0.92,413,2.601,417,1.727,418,6.568,424,1.672,438,1.366,464,1.972,467,2.61,475,1.304,486,1.643,498,1.876,505,1.149,506,1.607,516,1.24,520,1.284,521,7.717,524,0.685,525,1.957,545,0.489,548,1.087,554,1.759,556,3.852,558,1.071,560,1.672,562,3.603,568,1.469,581,2.25,582,1.94,584,1.75,587,3.297,600,2.524,603,1.071,613,1.493,623,1.312,624,1.337,661,2.178,699,1.052,718,2.061,719,2.162,743,1.923,804,5.425,807,4.279,808,1.284,820,0.824,823,2.419,828,1.548,832,0.33,838,1.642,842,0.884,847,0.69,848,2.065,860,2.637,882,1.409,885,6.046,886,2.981,889,1.349,892,1.075,898,1.298,907,1.796,924,7.824,925,7.154,944,2.796,982,0.737,1014,5.241,1018,0.894,1025,1.796,1033,2.82,1078,1.564,1110,0.835,1111,1.709,1146,1.391,1181,1.821,1204,1.907,1205,1.377,1215,2.668,1227,1.184,1234,2.314,1237,1.428,1261,2.296,1333,1.592,1373,1.374,1385,0.965,1433,7.591,1434,1.538,1437,1.737,1558,1.729,1563,1.69,1564,1.796,1613,2.067,1630,0.939,1644,2.067,1817,1.458,1916,2.894,1941,1.622,2006,0.987,2236,1.709,2279,2.82,2294,0.928,2394,1.638,2481,1.578,2623,2.061,2640,1.211,2799,1.69,3027,1.672,3126,1.796,3397,1.848,3429,1.976,3543,0.93,3599,2.111,3637,2.975,3789,1.149,3810,4.097,4039,4.097,4123,4.624,4276,1.796,4633,2.377,4661,5.36,4717,2.415,4988,2.061,5062,0.939,5064,0.939,5068,2.234,6007,2.415,6185,5.36,6325,0.942,6327,0.942,6328,1.592,6339,0.942,6344,1.03,6353,1.03,6382,1.064,6383,1.064,6384,1.064,6385,1.064,6386,1.064,6387,1.064,6388,1.064,6389,1.064,6413,1.526,6425,2.234,6697,2.234,6700,1.578,6701,1.907,6702,1.773,6703,1.94,6705,2.061,6708,1.876,6711,8.473,6723,1.94,6724,1.94,6726,1.848,6728,1.876,6730,1.876,6733,1.907,6734,1.907,6735,1.907,6736,1.907,6737,2.061,6738,1.876,6739,1.848,6740,1.848,6741,1.848,6742,2.168,6743,1.976,6744,1.94,6745,1.907,6746,1.538,6749,1.848,6750,1.622,6751,1.773,6752,1.907,6753,1.876,6754,1.848,6755,1.907,6756,1.876,6757,2.061,6759,1.907,6760,1.876,6764,1.848,6778,1.94,6784,1.75,6809,2.168,7033,1.773,7038,2.061,7040,1.848,7041,2.061,7043,2.415,7081,2.016,7140,2.168,7141,2.168,7142,2.016,7143,2.314,7144,2.314,7145,2.168,7146,2.314,7147,2.168,7148,4.097,7149,2.168,7236,3.975,7291,2.234,7539,5.674,7852,2.549,7862,2.415,7863,2.415,8082,2.415,8085,4.674,8086,4.674,8090,2.314,8254,2.314,8292,2.753,8293,2.549,8294,2.549,8295,2.415,8296,2.549,8297,2.549,8298,2.549,8299,2.549,8300,2.549,8301,2.549,8302,2.549,8303,2.549,8304,2.549,8305,2.549,8306,2.549,8307,2.415,8308,2.549,8309,2.549,8310,2.549,8311,2.549,8312,2.549,8313,2.549,8314,2.549,8315,2.549,8316,2.549,8317,2.415,8318,2.753,8319,2.753,8320,2.549,8321,2.753,8322,2.753,8323,2.753,8324,2.753,8325,2.753,8326,2.549,8327,2.549,8328,2.753,8329,2.753,8330,2.753,8331,2.549,8332,2.753,8333,2.549,8334,2.753,8335,2.549,8336,2.549,8337,2.549,8338,2.753,8339,2.415,8340,2.753,8341,2.753,8342,2.753,8343,2.753]],["keywords/1462",[]],["title/1463",[8344,1555.113]],["content/1463",[9,1.676,122,3.831,141,4.767,193,2.417,236,2.621,255,2.642,258,5.581,273,3.444,343,3.751,345,5.991,362,2.523,363,3.478,390,5.144,467,2.536,521,6.418,545,2.12,556,4.67,581,6.455,600,4.283,624,3.162,661,6.247,804,4.418,807,4.219,828,3.661,832,1.433,838,2.805,847,1.633,924,7.751,925,7.001,1014,3.652,1110,3.623,1205,4.678,1215,4.529,1613,5.069,1630,4.073,1644,5.93,2294,4.025,3543,4.037,4633,6.819,5062,4.073,5064,4.073,6325,4.085,6327,4.085,6339,4.085,6382,4.614,6383,4.614,6384,4.614,6385,4.614,6386,4.614,6387,4.614,6388,4.614,6389,4.614,6413,6.619,8344,11.058,8345,11.942,8346,11.942]],["keywords/1463",[]],["title/1464",[8347,1555.113]],["content/1464",[9,1.768,122,3.98,141,4.953,193,2.55,236,2.765,255,2.788,258,5.798,273,3.634,343,3.957,345,6.171,362,2.662,363,3.533,390,5.236,467,2.501,545,2.236,556,4.811,558,4.904,581,6.65,600,4.45,624,3.337,661,6.435,804,3.924,807,3.721,828,3.863,832,1.512,838,2.959,847,1.723,924,8.042,925,6.89,1014,3.853,1110,3.823,1205,4.86,1215,4.705,1613,5.267,1630,4.298,1644,6.108,2294,4.247,3543,4.259,4633,7.024,5062,4.298,5064,4.298,6325,4.311,6327,4.311,6339,4.311,6382,4.869,6383,4.869,6384,4.869,6385,4.869,6386,4.869,6387,4.869,6388,4.869,6389,4.869,8347,11.667]],["keywords/1464",[]],["title/1465",[6185,1287.729]],["content/1465",[4,6.037,7,2.357,9,2.6,14,4.382,21,2.383,25,11.42,26,2.002,30,3.232,41,1.155,50,2.13,51,2.545,59,4.437,63,3.242,68,1.956,79,6.374,97,8.153,122,2.511,133,2.733,139,5.215,140,1.059,141,2.376,144,4.121,146,2.002,155,4.773,188,2.41,193,1.006,194,3.337,202,3.552,236,1.091,255,1.89,258,2.781,273,3.846,286,1.754,310,3.688,322,3.165,340,3.567,343,1.561,345,3.356,358,1.685,359,2.562,362,1.05,363,2.59,364,2.497,390,4.416,393,2.93,413,4.403,418,4.165,443,3.014,464,3.337,467,2.57,482,4.591,486,1.618,506,2.902,545,0.882,554,3.914,556,4.511,558,5.19,568,2.652,581,3.616,584,3.161,587,1.893,600,4.098,661,3.5,677,2.058,712,4.36,743,1.893,804,4.569,807,4.117,808,2.319,820,1.489,828,1.524,832,0.597,838,1.167,842,1.596,847,0.68,848,2.033,885,3.923,886,2.12,889,1.328,892,1.942,924,7.368,925,6.807,944,1.376,1014,5.666,1018,1.614,1025,3.243,1048,3.387,1110,1.508,1204,3.443,1205,2.331,1215,5.478,1253,5.152,1366,3.597,1434,4.773,1613,2.526,1630,1.695,1644,3.322,1777,6.872,1817,4.525,2006,1.782,2146,6.254,2179,3.443,2236,3.087,2279,4.773,2294,1.675,2394,2.958,2481,2.85,2623,6.395,2637,4.625,2799,3.053,3126,3.243,3543,1.68,3599,3.811,4123,5.651,4633,3.82,5062,1.695,5064,1.695,5068,4.035,6185,11.515,6325,1.7,6327,1.7,6328,2.875,6339,1.7,6344,1.861,6353,1.861,6382,1.921,6383,1.921,6384,1.921,6385,1.921,6386,1.921,6387,1.921,6388,1.921,6389,1.921,6620,3.721,6711,5.993,6750,2.93,6753,3.388,6811,5.432,6812,5.432,6813,5.367,7040,3.336,7212,4.035,7236,3.914,7238,4.179,7291,4.035,7296,4.603,7977,4.179,8090,4.179,8156,7.494,8233,4.603,8254,4.179,8255,4.603,8258,4.36,8259,4.603,8295,4.36,8307,4.36,8317,4.36,8339,4.36,8348,7.91,8349,4.603,8350,4.603,8351,4.97,8352,4.97,8353,7.91,8354,4.97,8355,4.97,8356,4.97,8357,4.97,8358,4.97,8359,4.97,8360,4.97,8361,4.97,8362,4.603]],["keywords/1465",[]],["title/1466",[8363,1555.113]],["content/1466",[9,1.468,122,3.477,141,5.167,193,2.117,236,2.295,255,2.314,258,5.065,343,3.285,345,5.55,362,2.21,363,3.337,390,4.909,467,2.589,545,1.857,548,4.132,556,4.327,581,5.981,600,3.888,624,2.77,661,5.788,804,5.079,807,4.465,828,3.207,832,1.255,838,2.456,847,1.43,885,3.077,889,2.795,924,7.641,925,7.03,1014,6.292,1110,3.174,1170,4.645,1189,6.572,1205,4.246,1215,4.111,1613,4.601,1630,3.567,1644,5.494,2006,3.749,2294,3.525,3137,9.175,3543,3.536,4633,6.318,5062,3.567,5064,3.567,6325,3.578,6327,3.578,6339,3.578,6382,4.042,6383,4.042,6384,4.042,6385,4.042,6386,4.042,6387,4.042,6388,4.042,6389,4.042,6519,7.246,7306,7.662,7308,7.51,7309,7.662,8363,9.685,8364,9.685]],["keywords/1466",[]],["title/1467",[8262,1473.221]],["content/1467",[4,8.345,7,1.996,8,1.604,9,2.001,14,3.513,15,0.847,19,0.894,21,1.569,25,6.76,26,0.911,30,2.398,31,0.83,41,2.025,50,2.466,51,1.158,58,0.819,59,2.756,63,2.807,68,0.89,73,1.234,77,1.36,79,2.686,91,1.034,97,4.815,117,2.142,122,2.446,133,2.315,136,2.414,139,5.922,140,0.482,141,4.474,144,1.825,146,0.911,174,0.685,187,1.61,188,1.097,193,0.852,194,2.308,202,0.941,204,0.718,208,1.144,218,1.144,229,1.13,236,1.623,248,0.978,251,0.918,255,2.188,257,0.724,258,1.371,259,1.986,264,1.123,269,0.874,273,2.133,277,1.595,286,0.798,287,0.678,297,1.024,310,1.939,322,0.838,323,0.901,326,1.091,329,1.918,340,1.758,343,0.711,344,1.144,345,2.603,352,3.274,357,1.576,358,0.767,359,2.17,362,0.89,363,2.171,364,1.136,379,1.275,390,3.307,393,1.333,398,0.881,404,0.756,413,3.812,417,0.774,418,3.606,424,1.374,429,2.59,438,1.123,443,0.798,455,2.09,464,1.645,467,2.606,475,1.088,482,1.216,486,2.408,498,1.542,505,0.945,506,1.321,516,1.019,520,1.056,521,6.393,524,0.563,525,1.633,533,1.009,545,1.048,548,2.333,554,3.036,556,3.616,558,2.879,560,1.374,562,1.166,568,1.207,581,2.381,582,1.595,584,1.439,587,4.531,600,3.188,613,1.747,615,1.497,618,1.457,623,1.078,624,1.959,661,1.84,677,0.937,718,1.694,719,1.804,727,1.297,743,0.862,764,1.78,804,5.38,807,4.325,808,2.756,810,1.542,812,1.428,820,0.678,823,2.018,828,1.811,832,0.272,838,1.387,842,0.726,847,0.576,848,1.723,860,1.182,882,1.158,885,5.613,886,1.796,889,1.579,892,0.884,898,1.986,907,1.476,924,7.663,925,7.095,944,2.737,982,0.606,988,1.225,1014,5.728,1018,0.734,1025,1.476,1033,1.264,1048,1.67,1068,1.123,1078,1.286,1110,1.792,1133,1.333,1146,2.129,1170,1.87,1189,1.421,1196,1.286,1204,1.567,1205,1.612,1215,3.578,1227,2.541,1253,1.627,1261,1.029,1279,1.297,1294,1.906,1333,1.309,1366,0.953,1373,1.13,1385,0.793,1433,5.572,1434,3.301,1437,1.449,1512,1.275,1557,1.207,1563,1.389,1564,1.476,1613,1.245,1630,1.436,1644,1.747,1777,2.17,1817,2.231,1898,1.476,1941,2.482,2006,0.811,2012,1.457,2146,1.975,2179,1.567,2236,1.405,2279,4.133,2294,1.419,2394,1.347,2411,1.694,2481,2.414,2623,3.152,2637,1.225,2640,0.995,2799,1.389,3027,1.374,3126,1.476,3137,1.985,3395,1.497,3397,1.519,3429,1.624,3448,1.264,3449,1.902,3543,1.423,3578,1.657,3599,1.735,3637,2.482,3810,3.418,4039,1.836,4063,1.595,4123,6.542,4276,1.476,4633,2.009,4988,1.694,5062,1.436,5064,1.436,5068,1.836,6000,1.694,6007,1.985,6185,1.735,6325,0.774,6327,0.774,6328,1.309,6339,0.774,6344,0.847,6353,0.847,6413,1.254,6425,1.836,6519,1.567,6531,2.917,6544,1.735,6620,1.694,6697,1.836,6700,1.297,6701,1.567,6702,1.457,6703,1.595,6705,1.694,6708,1.542,6711,7.96,6723,1.595,6724,1.595,6726,1.519,6728,1.542,6730,1.542,6733,1.567,6734,1.567,6735,1.567,6736,1.567,6737,1.694,6738,1.542,6739,1.519,6740,1.519,6741,1.519,6742,3.316,6743,1.624,6744,1.595,6745,1.567,6746,2.353,6749,1.519,6750,1.333,6751,1.457,6752,1.567,6753,1.542,6754,1.519,6755,1.567,6756,1.542,6757,1.694,6759,1.567,6760,1.542,6764,1.519,6778,1.595,6784,1.439,6809,1.782,6811,1.439,6812,1.439,6813,1.421,7033,1.457,7038,1.694,7040,1.519,7041,1.694,7081,1.657,7140,1.782,7141,1.782,7142,1.657,7143,1.902,7144,1.902,7145,1.782,7146,1.902,7147,1.782,7148,3.418,7149,1.782,7182,1.985,7212,3.418,7236,3.316,7291,1.836,7306,1.657,7307,2.095,7308,1.624,7309,1.657,7539,4.795,7862,1.985,7863,3.694,8082,3.694,8090,4.966,8156,3.694,8254,1.902,8258,3.694,8262,5.181,8293,2.095,8294,2.095,8295,1.985,8296,3.899,8297,2.095,8298,2.095,8299,2.095,8300,3.899,8301,2.095,8302,3.899,8303,2.095,8304,2.095,8305,2.095,8306,2.095,8307,3.694,8308,2.095,8309,2.095,8310,2.095,8311,2.095,8312,2.095,8313,2.095,8314,2.095,8315,2.095,8316,2.095,8317,1.985,8320,2.095,8326,2.095,8327,2.095,8331,2.095,8333,2.095,8335,2.095,8336,2.095,8337,2.095,8339,1.985,8348,5.469,8349,2.095,8350,2.095,8353,2.095,8362,2.095,8364,2.095,8365,2.262,8366,2.262,8367,2.262,8368,2.262,8369,2.262,8370,2.262,8371,2.262]],["keywords/1467",[]],["title/1468",[8372,1555.113]],["content/1468",[9,2.277,14,2.506,30,2.685,41,2.574,50,2.761,122,4.293,133,6.09,141,4.514,146,4.46,193,2.241,236,2.43,255,2.45,258,5.284,343,3.478,345,5.739,358,3.755,362,2.34,363,3.399,390,5.012,467,2.532,506,6.466,545,1.966,556,4.474,558,4.31,581,6.184,584,7.043,600,4.055,661,5.984,804,4.233,807,4.029,828,3.396,832,1.329,838,2.601,847,1.515,889,2.96,924,7.925,925,6.964,944,3.065,1014,3.387,1025,7.226,1110,3.36,1205,4.429,1215,4.288,1613,4.799,1630,3.777,1644,5.681,2006,3.97,2294,3.733,2394,6.592,2799,6.801,3126,7.226,3543,3.744,4633,6.532,5062,3.777,5064,3.777,6325,3.789,6327,3.789,6339,3.789,6344,4.145,6353,4.145,6382,4.279,6383,4.279,6384,4.279,6385,4.279,6386,4.279,6387,4.279,6388,4.279,6389,4.279,7539,8.989,8372,10.255,8373,11.075]],["keywords/1468",[]],["title/1469",[8061,1412.056]],["content/1469",[9,3.058,14,3.464,21,2.787,30,2.481,41,1.431,50,1.535,58,2.228,59,2.674,79,4.772,97,2.708,122,2.937,140,3.906,141,3.654,188,2.984,193,2.071,236,2.246,255,2.907,258,3.332,293,4.264,319,3.323,343,1.933,345,3.925,357,2.304,362,1.301,363,2.954,374,3.468,390,3.906,417,2.106,429,1.83,447,4.072,449,3.412,450,3.44,451,4.848,453,2.903,464,2.405,467,2.559,475,3.394,478,2.857,482,3.308,524,2.547,545,1.093,556,5.209,565,3.112,581,4.929,587,2.345,600,3.826,603,6.615,624,3.479,641,3.594,661,4.093,804,4.485,807,3.79,812,2.087,820,3.935,828,1.887,832,0.739,836,1.96,838,1.446,840,1.982,847,0.842,889,1.645,924,6.583,925,6.496,957,3.561,1014,1.882,1018,1.998,1045,9.647,1105,15.764,1106,8.309,1107,11.773,1108,4.264,1110,1.868,1111,3.823,1112,4.997,1205,3.586,1215,3.471,1613,3.027,1630,3.491,1644,3.885,2006,2.207,2091,3.823,2255,2.934,2294,3.45,2657,3.628,2752,5.7,3364,4.72,3387,3.664,3448,3.44,3543,3.46,3664,4.848,3688,7.849,3689,4.997,4633,4.468,4816,4.848,4892,12.873,5062,3.491,5064,3.491,5979,8.979,6032,10.665,6325,2.106,6327,2.106,6339,2.106,6344,2.304,6353,2.304,6613,5.176,6617,5.4,6628,11.047,7803,5.7,7888,5.4,7937,15.737,7938,8.979,7939,5.7,8061,18.323,8100,9.478,8374,6.156,8375,6.156,8376,6.156,8377,6.156,8378,6.156,8379,6.156,8380,10.236,8381,10.236,8382,6.156,8383,6.156,8384,6.156,8385,20.356,8386,6.156,8387,13.139,8388,6.156,8389,10.236,8390,10.236,8391,6.156,8392,6.156,8393,6.156,8394,6.156,8395,6.156,8396,6.156,8397,6.156]],["keywords/1469",[]],["title/1470",[8398,1555.113]],["content/1470",[9,1.44,14,2.322,29,3.305,30,1.07,31,1.619,50,1.101,59,1.569,61,3.716,79,1.603,97,1.943,122,1.723,141,3.42,193,0.894,236,0.969,255,0.977,258,2.51,262,2.373,273,1.273,287,1.322,329,1.433,343,1.387,345,3.066,357,1.653,362,0.933,363,2.447,390,3.515,429,2.291,464,1.725,467,2.64,481,2.447,486,2.51,545,0.784,548,5.514,554,1.538,556,2.39,558,1.719,581,3.303,597,2.029,600,2.564,630,8.329,661,3.197,693,4.501,804,5.833,807,4.483,823,2.116,828,1.354,832,0.53,838,1.037,842,1.417,847,0.604,848,1.806,885,5.997,889,1.18,924,7.991,925,7.296,993,2.409,1008,2.05,1014,5.353,1110,1.34,1111,2.742,1170,1.961,1189,2.774,1201,5.1,1205,2.104,1215,2.037,1613,2.28,1630,1.506,1644,3.034,2006,1.583,2012,2.843,2014,3.385,2163,2.019,2294,1.488,3387,2.628,3414,3.17,3431,2.808,3543,1.493,3699,3.584,3830,3.584,4633,3.489,5037,3.009,5062,1.506,5064,1.506,6325,1.51,6326,2.921,6327,1.51,6329,3.009,6332,2.808,6333,3.059,6334,3.17,6335,3.584,6336,3.059,6337,3.059,6338,3.059,6339,1.51,6344,1.653,6347,3.059,6348,3.584,6349,3.584,6351,3.059,6352,3.584,6353,1.653,6354,5.255,6355,3.009,6357,2.964,6366,3.009,6367,3.059,6370,2.843,6372,3.059,6373,2.964,6374,3.584,6375,3.059,6376,3.059,6377,3.059,6378,3.059,6380,3.584,6382,1.706,6383,1.706,6384,1.706,6385,1.706,6386,1.706,6387,1.706,6388,1.706,6389,1.706,6397,3.477,6405,2.742,6413,2.447,6442,3.873,6461,3.873,6519,3.059,6520,3.712,6531,3.059,6548,3.712,6549,4.088,6550,2.712,6551,3.112,6552,3.584,6553,6.482,6554,3.112,6555,4.088,6967,3.234,7306,3.234,7308,3.17,7309,3.234,7809,3.584,7810,3.477,7811,3.584,7812,3.584,7813,3.584,7814,3.584,7815,3.584,7816,3.584,7817,3.477,7983,3.873,7984,3.873,7985,3.873,7986,3.873,8398,7.139,8399,4.415,8400,4.415,8401,4.415,8402,7.709,8403,4.415,8404,10.261,8405,4.415,8406,4.415,8407,4.415,8408,4.415,8409,4.415,8410,4.415]],["keywords/1470",[]],["title/1471",[4922,1473.221]],["content/1471",[1,0.952,4,3.873,9,2.221,13,1.597,14,4.008,15,3.617,26,2.902,27,2.826,28,2.484,30,1.747,41,2.246,46,1.145,48,1.621,50,5.066,52,9.003,53,11.899,57,2.668,58,2.608,59,3.427,61,1.971,79,6.114,90,1.42,91,1.869,97,1.799,117,2.08,122,3.959,139,5.407,140,2.829,141,3.695,144,1.263,146,3.891,149,4.194,162,1.918,174,1.237,193,1.458,204,1.298,215,1.995,229,3.598,230,3.142,236,3.217,255,2.577,258,2.346,259,1.928,260,1.908,262,2.197,273,3.359,275,2.365,279,6.222,319,1.327,323,3.846,326,1.971,340,4.034,343,1.284,344,2.067,345,2.887,354,2.197,357,2.697,362,0.864,363,2.476,364,2.054,390,3.371,404,1.366,413,2.107,417,1.399,418,1.993,423,3.453,455,3.576,464,1.597,467,2.563,475,3.009,478,1.898,500,1.653,502,2.832,505,1.707,524,1.793,525,2.795,545,1.279,548,1.615,554,1.424,556,3.687,558,6.161,560,4.378,581,3.75,600,1.801,603,1.591,605,2.284,624,2.559,641,2.387,649,3.437,661,3.01,699,4.452,716,2.017,718,3.061,727,4.131,732,3.994,766,1.879,773,2.881,804,4.93,807,4.119,812,1.386,823,1.96,828,2.963,829,2.539,832,0.491,838,0.96,842,3.102,847,0.559,861,9.173,885,4.657,886,3.073,889,1.093,924,7.068,925,6.855,988,3.902,1014,4.483,1018,2.339,1092,2.054,1110,2.186,1111,2.539,1146,3.643,1163,2.231,1170,3.2,1181,4.767,1196,2.323,1204,2.832,1205,3.626,1215,2.553,1227,1.759,1237,2.121,1256,2.387,1279,2.344,1329,2.284,1385,2.526,1386,2.365,1393,2.705,1433,4.06,1434,2.284,1466,2.935,1470,2.121,1557,3.845,1613,2.131,1630,2.458,1644,2.857,1838,1.729,1916,4.131,2006,1.465,2020,1.851,2047,2.6,2137,2.786,2161,2.248,2279,2.284,2294,2.429,2390,2.786,2457,3.437,2591,3.135,2623,3.061,2702,3.061,3437,9.173,3543,2.436,3637,2.41,3789,1.707,4266,3.318,4526,3.437,4633,3.286,4914,7.843,4922,8.476,4988,3.061,5062,2.458,5064,2.458,5518,3.219,5950,3.135,6325,1.399,6327,1.399,6328,2.365,6339,1.399,6344,1.53,6353,1.53,6413,2.266,6702,2.633,6705,3.061,6711,5.155,6738,2.786,6739,2.744,6740,2.744,6741,2.744,6746,4.027,6784,2.6,6810,2.744,7040,2.744,7081,2.995,7141,3.219,7142,2.995,7149,3.219,7425,5.079,7427,3.219,7429,3.219,8411,3.586,8412,6.321,8413,3.586,8414,8.476,8415,3.586,8416,3.586,8417,3.586,8418,8.476,8419,8.476,8420,6.673,8421,6.321,8422,3.586,8423,3.586,8424,3.586,8425,3.586,8426,3.586,8427,3.586,8428,3.586,8429,3.586,8430,3.586,8431,3.586,8432,3.586,8433,3.586,8434,3.586,8435,3.786,8436,3.586,8437,3.586,8438,3.586,8439,3.586,8440,3.586,8441,3.786,8442,3.586,8443,3.786]],["keywords/1471",[]],["title/1472",[4914,1363.216]],["content/1472",[1,0.882,4,3.62,9,2.128,14,4.335,15,4.127,26,3.662,27,3.566,28,2.302,30,1.633,41,2.563,48,1.502,50,5.263,52,9.313,53,13.85,57,2.472,58,2.438,59,3.293,61,1.826,79,5.875,90,1.316,91,1.732,97,1.667,117,3.427,122,4.624,139,7.51,140,3.23,141,3.514,144,2.082,146,2.712,149,3.948,162,1.777,174,1.146,193,2.231,204,2.139,215,1.864,229,4.541,236,1.996,255,2.795,258,2.193,259,1.786,260,1.768,262,2.036,273,2.623,275,2.191,279,5.857,287,1.135,319,1.23,323,3.62,326,3.247,340,3.797,343,1.19,344,4.598,345,2.717,354,2.036,357,3.404,359,1.952,362,0.8,363,2.385,364,3.384,390,3.23,404,1.266,413,1.952,417,1.296,418,1.847,423,3.94,447,2.506,455,5.472,464,1.48,466,1.777,467,2.536,475,1.74,478,3.127,500,1.531,502,2.624,505,1.582,524,0.942,525,3.527,545,1.957,554,2.347,556,4.156,558,4.918,560,4.093,581,3.549,600,1.683,603,1.474,605,2.117,624,2.409,632,1.847,641,2.212,649,3.185,661,2.833,699,4.215,716,1.869,718,2.836,727,6.321,732,3.734,766,1.741,773,2.67,804,4.651,807,4.052,812,1.284,828,2.789,829,2.353,832,0.455,838,0.89,842,3.54,847,0.518,861,9.95,876,1.562,885,3.718,886,2.873,889,1.012,924,7.003,925,6.833,988,3.647,1014,4.637,1018,2.187,1092,1.903,1110,2.044,1146,5.574,1149,2.353,1163,3.675,1170,2.992,1196,2.153,1204,2.624,1205,3.448,1215,2.913,1227,1.63,1256,3.933,1279,3.862,1329,3.764,1385,3.189,1386,3.897,1393,2.506,1433,3.796,1434,2.117,1466,2.72,1470,1.965,1557,5.883,1613,1.992,1630,2.298,1644,2.69,1838,2.848,2006,1.358,2020,3.049,2047,2.409,2137,2.582,2161,2.083,2279,2.117,2294,2.27,2390,2.582,2457,3.185,2591,2.905,2623,2.836,2702,2.836,3437,8.683,3543,2.277,3637,3.97,4266,3.075,4502,2.905,4526,3.185,4633,3.093,4882,3.323,4914,10.256,4936,6.237,5062,2.298,5064,2.298,5518,2.983,5950,2.905,6001,3.075,6325,1.296,6327,1.296,6328,2.191,6339,1.296,6344,1.418,6353,1.418,6413,2.1,6702,2.44,6711,4.852,6746,3.764,6758,2.67,6769,8.254,6784,4.284,6810,4.521,7040,2.543,7081,2.775,7198,3.323,7205,3.508,7206,3.508,7207,3.508,7208,3.508,7209,3.508,7210,3.508,7425,2.67,8411,3.323,8412,5.909,8413,3.323,8414,7.978,8415,3.323,8416,3.323,8417,3.323,8418,7.978,8419,9.672,8421,5.909,8422,3.323,8423,3.323,8424,5.909,8425,3.323,8426,3.323,8427,3.323,8428,3.323,8429,3.323,8430,3.323,8431,3.323,8432,3.323,8433,5.909,8434,5.909,8436,3.323,8437,3.323,8438,3.323,8439,3.323,8440,3.323,8442,3.323,8444,3.788,8445,6.736,8446,6.736,8447,6.736,8448,6.736,8449,3.788]],["keywords/1472",[]],["title/1473",[8450,1555.113]],["content/1473",[1,0.908,4,3.714,9,2.305,14,3.717,15,3.484,26,2.783,27,2.71,28,2.369,30,0.945,41,1.606,48,1.546,50,5.212,52,9.467,53,11.564,57,2.544,58,1.411,59,3.344,61,1.879,79,5.965,90,1.354,91,1.783,97,1.716,117,1.983,122,3.869,139,3.208,140,2.743,141,5.222,144,2.136,146,1.57,149,1.692,162,1.829,174,1.18,193,1.398,204,2.955,215,1.913,229,3.45,236,3.383,255,2.491,258,2.25,260,1.819,262,2.095,263,3.585,273,3.247,274,1.252,275,2.255,279,5.993,319,1.266,323,3.705,326,1.879,340,1.628,343,1.225,344,3.493,345,3.363,354,2.095,357,2.587,362,1.46,363,2.42,364,1.959,390,3.283,404,1.303,413,2.009,417,1.334,423,1.393,429,1.159,455,5.587,464,1.523,467,2.576,475,1.785,478,1.81,500,1.576,502,2.701,505,1.628,521,2.095,524,0.97,525,2.68,545,1.652,548,2.73,554,1.359,556,3.59,558,6,560,4.199,581,3.624,600,1.727,603,1.518,605,2.179,618,2.511,624,2.465,641,2.276,649,3.278,651,2.179,661,2.899,699,3.558,716,1.923,718,2.919,727,3.962,732,3.83,764,1.649,766,1.792,804,4.995,807,4.252,812,2.343,823,1.869,828,2.853,829,2.421,832,0.468,838,0.916,842,2.988,847,0.533,861,7.329,885,4.833,886,1.663,889,1.042,892,1.523,924,6.969,925,6.89,1014,5.293,1018,2.243,1092,1.959,1103,1.923,1110,2.824,1146,5.691,1163,2.127,1170,3.069,1189,2.45,1204,2.701,1205,3.072,1215,2.459,1227,1.677,1256,2.276,1279,3.962,1329,2.179,1385,2.423,1386,2.255,1393,2.579,1433,3.894,1434,2.179,1466,2.799,1470,2.023,1557,3.687,1610,1.716,1613,2.044,1630,2.357,1644,2.752,1838,1.649,1941,6.636,2006,1.398,2020,1.765,2047,2.479,2161,2.144,2279,2.179,2294,2.329,2457,3.278,2591,2.99,2702,2.919,3437,8.866,3543,2.336,3637,2.298,4266,3.165,4526,3.278,4633,3.165,4914,7.554,4988,2.919,5062,2.357,5064,2.357,5518,3.07,5950,2.99,6325,1.334,6327,1.334,6328,2.255,6339,1.334,6344,1.459,6353,1.459,6413,2.161,6519,2.701,6702,2.511,6705,2.919,6711,4.965,6738,2.657,6739,2.617,6740,2.617,6741,2.617,6746,3.862,6784,2.479,6810,2.617,7040,2.617,7081,2.856,7141,3.07,7142,2.856,7149,3.07,7306,2.856,7308,2.799,7309,2.856,7425,4.871,7427,3.07,7429,3.07,8411,3.42,8412,6.062,8413,3.42,8414,8.164,8415,3.42,8416,3.42,8417,3.42,8418,8.164,8419,8.164,8420,6.399,8421,6.062,8422,3.42,8423,3.42,8424,3.42,8425,3.42,8426,3.42,8427,3.42,8428,3.42,8429,3.42,8430,3.42,8431,3.42,8432,3.42,8433,3.42,8434,3.42,8435,3.61,8436,3.42,8437,3.42,8438,3.42,8439,3.42,8440,3.42,8441,3.61,8442,3.42,8443,3.61,8450,8.618,8451,6.399]],["keywords/1473",[]],["title/1474",[8452,1555.113]],["content/1474",[9,1.114,79,2.884,97,3.495,122,2.814,141,3.502,193,1.607,236,1.743,255,1.757,258,4.099,273,2.291,343,2.494,345,4.673,362,1.678,363,3.137,390,4.397,467,2.625,545,1.41,556,3.643,558,3.091,581,5.036,600,3.146,624,2.103,661,4.873,804,5.631,807,4.277,828,2.435,832,0.953,838,1.865,847,1.086,885,3.705,889,2.123,924,8.463,925,7.283,993,4.333,1014,3.85,1110,2.41,1205,3.436,1215,3.327,1613,3.723,1630,2.709,1644,4.626,2006,2.847,2294,2.677,3543,2.685,4633,5.319,5037,5.413,5062,2.709,5064,2.709,6325,2.717,6327,2.717,6333,5.502,6334,5.703,6336,5.502,6337,5.502,6338,5.502,6339,2.717,6344,2.973,6347,5.502,6351,5.502,6353,2.973,6355,5.413,6357,5.331,6366,5.413,6367,5.502,6370,5.115,6372,5.502,6373,5.331,6375,5.502,6376,5.502,6377,5.502,6378,5.502,6382,3.069,6383,3.069,6384,3.069,6385,3.069,6386,3.069,6387,3.069,6388,3.069,6389,3.069,6550,4.878,6551,5.598,6554,5.598,8452,7.354]],["keywords/1474",[]],["title/1475",[8453,1555.113]],["content/1475",[9,0.932,79,2.412,97,2.922,122,2.436,141,3.031,193,1.344,236,1.457,255,1.469,258,3.548,273,1.915,343,2.086,345,4.141,362,1.403,363,2.934,390,4.053,467,2.639,545,1.179,548,6.336,556,3.228,558,2.585,581,4.462,600,2.723,624,1.759,661,4.318,804,5.823,807,4.355,828,2.036,832,0.797,838,1.56,847,0.908,885,5.211,889,1.775,924,8.316,925,7.307,993,3.623,1014,4.238,1110,2.015,1170,2.949,1205,2.974,1215,2.879,1613,3.223,1630,2.265,1644,4.099,2006,2.381,2014,5.092,2294,2.238,3543,2.245,4633,4.713,5037,4.526,5062,2.265,5064,2.265,6325,2.272,6327,2.272,6333,4.6,6334,4.768,6336,4.6,6337,4.6,6338,4.6,6339,2.272,6344,2.486,6347,4.6,6351,4.6,6353,2.486,6355,4.526,6357,4.457,6366,4.526,6367,4.6,6370,4.277,6372,4.6,6373,4.457,6375,4.6,6376,4.6,6377,4.6,6378,4.6,6382,2.566,6383,2.566,6384,2.566,6385,2.566,6386,2.566,6387,2.566,6388,2.566,6389,2.566,6531,4.6,6550,4.078,6551,4.681,6554,4.681,6967,4.864,7033,4.277,7809,5.39,7810,5.23,7811,5.39,7812,5.39,7813,5.39,7814,5.39,7815,5.39,7816,5.39,7817,5.23,8453,6.149]],["keywords/1475",[]],["title/1476",[8454,1555.113]],["content/1476",[9,1.676,122,3.831,141,4.767,193,2.417,215,3.305,236,2.621,255,2.642,258,5.581,343,3.751,345,5.991,362,2.523,363,3.478,390,5.144,467,2.536,545,2.12,556,4.67,581,6.455,600,4.283,624,3.162,661,6.247,804,4.418,807,4.003,828,3.661,832,1.433,838,2.805,847,1.633,889,3.192,924,8.075,925,7.001,1014,3.652,1110,3.623,1205,4.678,1215,4.529,1613,5.069,1630,4.073,1644,5.93,2006,4.281,2294,4.025,3543,4.037,4633,6.819,5062,4.073,5064,4.073,6325,4.085,6327,4.085,6339,4.085,6344,4.47,6353,4.47,6382,4.614,6383,4.614,6384,4.614,6385,4.614,6386,4.614,6387,4.614,6388,4.614,6389,4.614,8454,11.058]],["keywords/1476",[]],["title/1477",[7084,1363.216]],["content/1477",[6,2.611,9,1.556,14,2.508,19,2.679,30,3.938,34,10.063,41,3.775,48,4.396,50,1.691,59,3.913,68,2.669,79,2.463,97,9.312,122,2.478,140,1.444,141,3.911,187,2.592,193,2.244,197,3.592,215,1.877,236,3.565,251,2.752,255,2.453,258,3.609,273,1.956,319,2.202,329,2.202,343,2.13,345,4.852,359,5.714,362,1.433,363,3.149,364,3.407,390,4.32,429,5.323,447,7.335,453,5.228,455,3.365,464,4.331,467,2.516,475,2.864,486,3.609,487,3.07,505,2.831,506,3.959,521,7.558,532,5.2,533,3.026,535,5.702,537,5.505,540,2.423,545,1.204,556,3.783,570,4.552,581,5.229,584,7.05,600,4.059,603,6.322,620,2.583,624,3.724,625,3.012,644,4.036,661,4.381,713,2.943,732,3.759,737,3.7,804,3.099,807,3.362,808,7.579,812,2.299,828,2.079,832,0.814,838,1.593,847,1.923,848,4.535,881,5.702,885,1.995,889,1.812,892,2.649,898,5.228,924,7.187,925,6.514,930,4.591,1014,2.074,1018,2.202,1057,4.622,1069,5.2,1110,2.058,1146,5.604,1199,4.698,1205,3.838,1215,3.715,1573,3.306,1581,4.179,1613,3.279,1630,3.781,1644,4.159,2006,2.431,2047,4.312,2158,9.725,2163,3.1,2175,4.425,2294,3.737,2551,2.797,2777,3.251,3448,9.076,3543,3.748,3701,4.698,3733,5.505,4217,4.486,4336,5.34,4454,5.505,4462,12.336,4633,4.782,4844,6.279,5062,3.781,5064,3.781,5931,5.2,6325,2.32,6327,2.32,6339,2.32,6344,2.538,6353,2.538,7081,4.967,7084,14.536,7548,6.279,7898,6.279,8455,11.087,8456,6.781,8457,6.781,8458,6.781,8459,6.279,8460,6.279,8461,6.781,8462,6.781,8463,6.781,8464,10.266,8465,6.279,8466,6.781,8467,6.279,8468,6.279,8469,6.781,8470,6.781]],["keywords/1477",[]],["title/1478",[8471,1473.221]],["content/1478",[9,1.682,14,2.083,15,2.031,21,1.953,30,1.315,34,9.235,41,2.787,48,2.151,58,3.332,59,1.874,94,3.824,97,4.051,106,2.895,122,2.057,140,1.961,141,6.463,171,4.413,193,1.863,215,1.502,236,2.632,251,2.202,255,1.2,258,2.997,273,1.565,274,2.955,287,1.625,319,1.761,343,1.704,344,2.743,345,3.582,362,1.146,363,2.994,390,3.903,417,1.856,418,4.488,429,3.564,455,2.692,467,2.574,471,2.518,475,3.097,486,2.997,487,2.456,532,4.16,536,10.518,540,1.939,545,3.051,548,3.637,556,4.004,581,4.548,587,2.067,600,2.3,603,3.583,618,3.494,624,3.741,661,3.735,688,2.725,797,6.179,804,4.719,807,3.961,808,4.296,812,1.839,828,1.663,832,0.651,838,2.162,842,5.078,847,1.259,848,2.219,866,8.795,885,2.709,889,1.45,898,2.558,924,7.121,925,6.74,944,3.319,971,6.667,973,5.165,988,4.985,1014,5.257,1018,1.761,1057,3.698,1110,3.638,1146,4.654,1154,5.426,1170,4.088,1189,3.409,1205,3.272,1215,3.168,1227,2.334,1344,8.208,1366,2.284,1385,1.902,1581,2.045,1613,2.722,1630,3.14,1644,3.546,1736,7.625,1827,4.16,2006,1.945,2012,3.494,2037,2.344,2175,6.007,2294,3.103,2489,10.518,3543,3.112,3812,5.854,4454,7.472,4462,4.759,4633,4.078,5062,3.14,5064,3.14,5371,4.404,5891,4.744,6038,3.974,6325,1.856,6327,1.856,6339,1.856,6344,2.031,6353,2.031,6519,3.758,6531,3.758,6967,3.974,7306,3.974,7308,3.895,7309,3.974,8451,5.024,8459,5.024,8460,8.524,8464,13.082,8465,5.024,8467,5.024,8468,5.024,8471,16.077,8472,5.425,8473,5.425,8474,5.425,8475,5.425,8476,5.425,8477,9.206,8478,5.425,8479,5.425,8480,5.425,8481,5.425,8482,5.425,8483,5.425,8484,11.991,8485,15.82,8486,5.425,8487,5.425,8488,8.524]],["keywords/1478",[]],["title/1479",[8489,1555.113]],["content/1479",[9,1.581,122,3.674,141,4.572,193,2.281,236,2.473,255,2.493,258,5.351,273,3.25,343,3.539,345,5.797,362,2.381,363,3.417,390,5.042,467,2.564,545,2,556,4.519,581,6.246,600,4.107,603,4.386,624,2.984,661,6.045,804,4.7,807,4.152,828,3.455,832,1.352,838,2.647,847,1.541,889,3.012,924,8.088,925,7.104,1014,3.446,1110,3.419,1205,4.486,1215,4.343,1613,4.861,1630,3.844,1644,5.738,2006,4.04,2294,3.798,3543,3.809,4633,6.598,5062,3.844,5064,3.844,6325,3.855,6327,3.855,6339,3.855,6344,4.218,6353,4.218,6382,4.354,6383,4.354,6384,4.354,6385,4.354,6386,4.354,6387,4.354,6388,4.354,6389,4.354,8489,10.435,8490,11.27,8491,10.435]],["keywords/1479",[]],["title/1480",[8492,1555.113]],["content/1480",[9,1.298,26,3.725,122,3.169,139,4.294,141,3.944,193,1.872,236,2.03,255,2.047,258,4.617,273,2.668,343,2.905,345,5.152,362,1.955,363,3.201,390,4.684,467,2.608,545,1.642,556,4.016,558,3.601,581,5.551,600,3.543,624,2.45,661,5.372,804,5.337,807,4.228,828,2.836,832,1.11,838,2.173,847,1.265,885,5.688,889,2.472,924,8.21,925,7.24,1014,2.829,1110,2.807,1205,3.87,1215,3.747,1613,4.193,1630,3.155,1644,5.099,1941,5.452,2006,3.316,2294,3.118,3543,3.127,4633,5.864,5062,3.155,5064,3.155,6325,3.165,6327,3.165,6339,3.165,6344,3.463,6353,3.463,6382,3.574,6383,3.574,6384,3.574,6385,3.574,6386,3.574,6387,3.574,6388,3.574,6389,3.574,6698,7.285,6700,5.303,6704,7.778,6729,7.778,6747,7.285,6758,6.52,6767,7.093,6768,7.778,6769,6.925,6771,6.642,6777,7.285,6781,7.285,8492,8.566]],["keywords/1480",[]],["title/1481",[7005,1473.221]],["content/1481",[9,1.134,122,2.853,141,3.551,193,1.636,236,1.774,255,1.788,258,4.156,343,2.538,345,4.727,362,1.708,363,3.045,390,4.431,452,5.509,467,2.619,545,1.435,556,3.685,581,5.094,600,3.19,624,2.14,661,4.929,804,5.441,807,4.422,828,2.478,832,0.97,838,1.898,847,1.105,885,6.409,889,2.16,924,8.069,925,7.283,1014,2.472,1110,2.452,1205,3.484,1215,3.373,1613,3.775,1630,2.757,1644,4.679,2006,2.897,2294,2.724,3543,2.732,4633,5.381,5062,2.757,5064,2.757,6325,2.765,6327,2.765,6339,2.765,6344,3.025,6353,3.025,6382,3.123,6383,3.123,6384,3.123,6385,3.123,6386,3.123,6387,3.123,6388,3.123,6389,3.123,6767,6.198,6980,7.484,6981,7.484,6999,7.09,7000,7.484,7004,7.484,7005,7.09,7382,7.484,8493,8.083,8494,8.083,8495,8.083,8496,8.083,8497,8.083,8498,8.083,8499,8.083,8500,8.083,8501,8.083,8502,8.083,8503,8.083,8504,8.083,8505,8.083,8506,8.083,8507,8.083,8508,8.083,8509,8.083,8510,8.083,8511,8.083,8512,8.083,8513,8.083]],["keywords/1481",[]],["title/1482",[8514,1555.113]],["content/1482",[9,1.606,14,2.589,30,4.431,50,2.853,74,3.94,91,5.232,108,2.685,122,3.715,140,1.502,141,7.341,193,1.427,236,1.547,255,1.56,258,3.725,274,3.674,286,2.487,343,2.214,345,4.315,362,1.49,363,3.003,390,4.169,417,3.915,429,5.432,467,2.579,523,2.754,524,2.847,540,2.519,545,1.251,556,5.003,581,6.301,582,10.18,600,2.859,611,4.664,624,1.867,661,4.5,728,2.775,764,2.981,804,3.183,807,3.029,828,2.162,832,0.846,838,1.656,840,2.27,842,7.641,847,0.964,866,7.727,889,1.884,924,7.108,925,6.369,971,8.849,973,5.967,988,3.818,1014,2.156,1018,2.289,1110,2.139,1154,10.772,1205,3.123,1215,3.023,1573,3.437,1613,3.384,1630,2.405,1644,4.271,1998,5.552,2006,2.527,2012,4.54,2294,2.376,2481,4.042,3501,5.164,3543,2.383,4591,6.528,4633,4.911,5062,2.405,5064,2.405,6325,2.412,6327,2.412,6339,2.412,6344,2.639,6353,2.639,6382,2.724,6383,2.724,6384,2.724,6385,2.724,6386,2.724,6387,2.724,6388,2.724,6389,2.724,8471,12.67,8488,16.923,8514,18.126,8515,7.05,8516,11.443,8517,11.443,8518,7.05,8519,7.05,8520,7.05,8521,7.05,8522,7.05,8523,7.05,8524,7.05,8525,7.05,8526,7.05,8527,7.05,8528,7.05,8529,7.05,8530,7.05,8531,7.05,8532,7.05,8533,16.622,8534,16.622,8535,11.443]],["keywords/1482",[]],["title/1483",[8536,1555.113]],["content/1483",[9,1.657,14,4.509,122,3.801,141,4.729,193,2.39,236,2.592,255,2.613,258,5.536,287,3.537,343,3.709,345,5.953,362,2.495,363,3.466,390,5.125,467,2.456,545,2.096,556,4.641,565,5.97,571,11.631,581,6.415,600,4.249,661,6.208,716,9.83,794,6.961,804,3.747,807,3.829,828,3.621,832,1.417,838,2.774,847,1.615,924,7.496,925,6.718,1014,3.611,1018,3.834,1103,5.826,1110,3.583,1205,4.641,1215,4.493,1386,6.832,1487,7.42,1573,5.758,1613,5.029,1630,4.028,1644,5.893,2294,3.98,3543,3.992,4633,6.776,4895,9.93,5062,4.028,5064,4.028,6325,4.04,6327,4.04,6339,4.04,6382,4.563,6383,4.563,6384,4.563,6385,4.563,6386,4.563,6387,4.563,6388,4.563,6389,4.563,8536,18.452,8537,11.81,8538,11.81]],["keywords/1483",[]],["title/1484",[4961,1412.056]],["content/1484",[9,1.657,26,4.756,122,3.801,141,4.729,193,2.39,236,2.592,255,2.613,258,5.536,343,3.709,345,5.953,362,2.495,363,3.466,390,5.125,467,2.543,545,2.096,556,4.641,581,6.415,600,4.249,624,3.127,661,6.208,804,4.391,807,3.988,828,3.621,832,1.417,838,2.774,847,1.615,889,3.156,924,8.053,925,7.036,1014,5.2,1110,3.583,1205,4.641,1215,4.493,1613,5.029,1630,4.028,1644,5.893,2006,4.233,2294,3.98,3543,3.992,4633,6.776,4961,9.93,5062,4.028,5064,4.028,6325,4.04,6327,4.04,6339,4.04,6344,4.421,6353,4.421,6382,4.563,6383,4.563,6384,4.563,6385,4.563,6386,4.563,6387,4.563,6388,4.563,6389,4.563]],["keywords/1484",[]],["title/1485",[8539,1555.113]],["content/1485",[2,2.805,4,2.784,8,1.973,9,2.514,14,3.483,19,3.496,27,4.543,30,1.256,31,4.249,50,3.417,59,5.174,79,6.507,97,3.894,122,2.589,139,2.404,140,1.103,141,2.461,144,5.836,155,2.894,157,2.333,162,4.151,174,4.147,187,1.98,188,2.511,193,1.048,202,2.154,204,1.645,215,4.261,218,12.463,221,5.698,236,1.137,248,2.238,255,1.958,258,2.881,273,1.494,283,2.404,310,1.701,319,4.449,322,1.919,323,7.847,329,1.681,343,1.627,345,3.461,357,1.939,359,4.561,362,1.87,363,3.15,364,2.602,390,4.484,398,2.016,404,1.73,421,2.744,429,1.54,443,3.122,449,2.871,450,2.894,464,4.526,467,2.5,486,2.881,505,2.163,525,4.493,545,1.571,554,1.805,555,3.53,556,4.758,558,4.509,559,4.796,581,3.73,600,5.105,620,3.371,624,1.372,632,8.177,661,3.609,677,2.145,713,3.841,727,2.969,743,1.973,784,3.147,804,2.553,807,3.267,828,1.588,832,0.622,838,1.216,847,0.708,848,2.119,876,2.136,889,1.384,897,2.944,924,6.884,925,6.12,944,2.449,949,1.994,960,2.136,982,1.387,1014,3.543,1018,2.873,1048,2.054,1068,4.392,1074,3.147,1110,1.572,1158,2.996,1205,2.415,1215,4.067,1253,2.001,1269,2.744,1366,3.726,1385,1.816,1557,2.763,1572,5.56,1613,2.617,1630,1.767,1644,3.426,1777,4.561,1817,4.688,2020,2.345,2031,4.079,2146,5.435,2294,1.746,2637,2.805,2640,2.279,2657,3.053,2701,9.199,2799,7.115,3375,6.13,3395,3.427,3397,3.477,3460,2.894,3502,3.217,3516,3.651,3543,1.751,3553,3.477,3637,3.053,4633,3.94,5062,1.767,5064,1.767,5828,3.588,5834,4.544,5998,8.884,6325,1.772,6327,1.772,6328,2.996,6339,1.772,6382,2.001,6383,2.001,6384,2.001,6385,2.001,6386,2.001,6387,2.001,6388,2.001,6389,2.001,6700,2.969,6711,2.763,6720,3.651,6726,9.199,6730,6.032,6760,3.53,6762,3.719,6764,7.777,6791,3.651,6811,3.294,6812,3.294,6813,3.254,6814,6.13,6815,5.56,6816,3.719,6817,3.651,7050,3.878,7051,3.878,7066,4.204,7067,4.079,7068,4.204,7069,4.796,7242,4.544,8539,12.69,8540,5.18,8541,8.849,8542,5.18,8543,5.18,8544,5.18,8545,5.18,8546,5.18,8547,5.18,8548,5.18,8549,5.18,8550,5.18,8551,5.18]],["keywords/1485",[]],["title/1486",[8552,1555.113]],["content/1486",[8,4.688,9,2.317,13,4.013,14,3.473,21,2.611,30,5.386,38,2.074,40,11.213,41,3.839,50,1.925,59,1.571,67,4.089,74,4.313,77,6.176,82,6.771,83,1.954,85,1.964,90,1.536,108,1.684,122,1.725,133,5.648,140,1.644,141,2.147,146,1.78,148,2.412,174,1.338,187,1.69,193,0.895,194,1.727,202,1.838,204,3.261,208,2.235,236,3.066,237,3.239,246,1.59,248,1.91,250,3.175,252,3.063,255,0.978,258,2.513,263,2.294,264,6.108,270,10.531,277,3.116,283,2.052,285,1.846,286,1.56,301,2.31,319,1.435,322,3.806,326,2.131,330,3.31,343,1.389,344,2.235,345,3.069,362,1.631,363,2.449,390,3.269,404,1.477,409,8.724,417,1.513,429,1.314,443,1.56,455,2.194,467,2.543,486,1.439,487,2.002,489,1.91,513,8.968,521,2.376,524,1.92,526,1.954,532,11.77,540,1.58,545,1.37,548,3.049,556,4.079,565,3.902,570,2.968,581,3.307,600,2.567,603,3.998,609,2.326,611,6.796,624,1.171,644,2.632,659,3.239,661,3.2,677,1.831,711,2.451,739,7.572,756,2.326,794,2.606,797,2.968,804,3.64,807,3.046,828,2.367,832,0.531,838,1.038,842,2.478,847,0.605,868,7.255,885,1.301,887,3.477,889,1.182,900,1.78,924,5.961,925,6.075,928,2.326,944,1.224,957,2.558,958,4.594,971,3.984,973,5.012,982,1.184,988,4.179,1014,2.36,1018,1.435,1092,2.221,1103,2.181,1110,2.342,1141,2.074,1146,2.235,1158,2.558,1170,1.964,1199,5.347,1205,2.106,1215,2.039,1238,2.156,1272,4.459,1281,5.036,1344,5.33,1366,1.861,1573,2.156,1575,3.717,1613,2.283,1630,1.508,1644,3.038,1659,3.878,1693,3.878,1827,5.918,1838,1.869,1898,5.036,1904,6.49,1913,8.883,1914,6.771,1928,2.812,1992,2.847,2006,1.585,2177,3.878,2294,1.49,2546,3.239,2640,3.396,2749,2.581,2751,6.771,2806,3.878,2999,3.717,3089,4.094,3357,12.907,3438,7.827,3441,3.878,3543,1.495,3608,4.094,3793,3.717,3794,2.063,3812,2.812,3840,3.717,4011,14.214,4082,3.39,4228,2.968,4633,3.493,4778,9.512,5062,1.508,5064,1.508,5767,9.991,5820,3.878,5891,2.279,6078,4.094,6099,4.094,6201,4.094,6325,1.513,6327,1.513,6339,1.513,6344,1.655,6353,1.655,6382,1.708,6383,1.708,6384,1.708,6385,1.708,6386,1.708,6387,1.708,6388,1.708,6389,1.708,7083,4.094,7084,6.265,8552,11.397,8553,4.421,8554,7.719,8555,7.719,8556,4.421,8557,4.421,8558,4.421,8559,4.421,8560,4.421,8561,4.421,8562,4.421,8563,4.421,8564,4.421,8565,4.421,8566,4.421,8567,12.308,8568,7.719,8569,10.272,8570,10.272,8571,4.421,8572,4.421,8573,7.719,8574,4.421,8575,4.421,8576,4.421,8577,4.421,8578,4.421,8579,4.421,8580,7.719,8581,7.719,8582,7.719,8583,7.719,8584,7.719,8585,10.272,8586,4.421,8587,4.421,8588,4.421,8589,4.421,8590,4.421,8591,4.421,8592,4.421,8593,4.421,8594,4.421,8595,4.421,8596,4.421,8597,4.421,8598,10.272,8599,4.421,8600,7.719,8601,7.719,8602,7.719,8603,7.719,8604,4.421]],["keywords/1486",[]],["title/1487",[8605,1555.113]],["content/1487",[5,2.852,9,2.11,14,1.354,30,1.45,41,2.992,46,1.676,50,2.492,58,5.444,59,5.039,79,2.173,90,2.078,122,2.234,139,4.64,140,2.742,141,3.581,144,5.588,146,4.025,157,2.695,162,7.055,167,3.904,193,1.211,194,2.337,204,4.775,205,2.295,215,1.656,236,1.313,255,2.848,258,3.254,287,1.792,319,1.942,326,6.206,343,1.879,345,3.846,352,11.584,362,1.264,363,3.016,390,4.087,393,3.526,400,4.856,417,2.047,438,6.389,443,2.111,467,2.509,475,2.582,486,3.254,487,2.709,490,3.24,500,2.419,501,3.674,520,2.792,524,5.2,540,3.572,545,2.285,554,2.085,556,5.16,558,7.47,581,4.842,585,5.248,597,2.749,600,2.498,603,3.891,624,2.647,661,4.011,692,2.005,693,3.493,708,5.248,728,3.934,731,7.663,804,2.837,807,3.334,812,2.029,828,1.834,832,0.718,838,1.405,847,0.818,848,4.089,866,2.53,882,3.063,889,1.599,898,2.821,924,7.061,925,6.457,949,2.303,1014,1.83,1018,1.942,1110,1.815,1122,3.635,1145,4.856,1198,2.934,1205,3.514,1215,3.974,1373,2.987,1470,3.104,1557,5.333,1613,2.956,1630,3.409,1644,3.807,1777,5.152,2006,2.145,2047,3.805,2091,3.716,2199,2.987,2236,3.716,2294,3.369,2414,7.483,2597,4.217,2637,3.24,2777,2.868,3171,9.256,3364,18.779,3543,3.379,3632,5.03,3666,5.248,3796,2.837,3881,5.03,4217,3.958,4633,4.378,5062,3.409,5064,3.409,5697,9.256,6325,2.047,6327,2.047,6339,2.047,6344,2.24,6353,2.24,6813,3.759,8491,11.922,8605,13.927,8606,5.983,8607,12.875,8608,16.729,8609,5.983,8610,5.983,8611,5.983,8612,5.983,8613,5.983,8614,5.983,8615,5.983,8616,5.983,8617,5.983,8618,5.983,8619,5.983,8620,5.983,8621,5.983,8622,5.983,8623,5.983,8624,5.983,8625,5.983,8626,5.983,8627,5.983,8628,5.983,8629,5.983,8630,5.983,8631,5.983]],["keywords/1487",[]]],"invertedIndex":[["",{"_index":467,"title":{"913":{"position":[[13,1]]},"1098":{"position":[[8,1]]}},"content":{"15":{"position":[[671,1],[744,2]]},"17":{"position":[[779,5],[1186,5]]},"18":{"position":[[439,1],[478,1],[563,1],[615,1],[639,1],[664,1],[701,1],[723,1],[1074,1],[1297,1],[1327,1],[1351,1],[1393,1],[1436,1],[1460,1],[1524,1],[1571,1],[1587,1],[1603,1],[1612,1],[1625,1],[1640,1]]},"27":{"position":[[31,1]]},"30":{"position":[[31,1]]},"31":{"position":[[29,1]]},"40":{"position":[[39,2],[64,1],[70,1],[77,1]]},"41":{"position":[[34,2],[66,1],[72,1],[96,1],[124,1],[153,4],[158,1],[165,1]]},"49":{"position":[[21,1]]},"50":{"position":[[33,2],[36,2],[57,1],[65,1],[442,1]]},"55":{"position":[[31,2]]},"63":{"position":[[65,1],[77,1],[81,1],[275,1],[367,1]]},"69":{"position":[[46,1],[58,1],[74,2],[77,2],[92,1],[96,1],[319,1],[408,1],[503,1],[531,1],[533,1],[565,1],[620,1]]},"73":{"position":[[20,1]]},"76":{"position":[[37,1],[120,1],[157,4],[186,1]]},"79":{"position":[[42,2]]},"81":{"position":[[82,1]]},"82":{"position":[[85,1],[140,4],[145,1]]},"85":{"position":[[43,1],[61,1],[96,2],[99,2],[152,1],[175,1],[203,1],[211,1]]},"86":{"position":[[41,1],[59,1],[93,1],[95,1]]},"87":{"position":[[37,1],[55,1],[77,1],[79,1]]},"88":{"position":[[38,1],[56,1],[78,1],[80,1]]},"89":{"position":[[55,1],[60,2],[63,2],[76,1],[84,1],[301,1],[462,1]]},"91":{"position":[[44,1],[62,1],[79,2],[82,2],[103,1],[109,1],[128,1],[134,1],[155,1],[161,1],[189,1],[218,1],[226,1]]},"92":{"position":[[28,2],[55,1],[73,5],[102,1],[120,4],[125,1],[161,1],[186,5],[289,1]]},"93":{"position":[[63,2]]},"94":{"position":[[37,1],[49,1],[60,1],[68,1],[90,1],[108,1],[123,1],[140,1],[146,1],[168,1],[183,1],[216,1],[238,1],[257,1],[268,2],[271,2],[306,1],[312,1],[344,1],[356,1],[367,1],[375,1],[397,1],[415,1],[430,1],[447,1],[453,1],[475,1],[490,1],[523,1],[545,1],[556,1],[578,1],[606,1],[635,1],[666,1],[700,1],[721,1],[749,1],[789,1],[816,1],[840,1],[870,1],[904,1],[947,1],[991,1],[1013,1],[1029,1],[1060,1],[1100,1],[1157,1],[1159,2],[1162,1],[2899,1],[3078,1],[3237,1],[3374,1],[3428,1],[3480,1],[3499,1],[3520,1],[3577,1]]},"95":{"position":[[41,1],[59,1],[81,1],[83,1]]},"96":{"position":[[44,1],[62,1],[96,1],[98,1]]},"97":{"position":[[57,2],[66,1],[97,1],[101,1]]},"98":{"position":[[36,1],[54,1],[79,1],[91,1],[102,1],[110,1],[132,1],[150,1],[165,1],[182,1],[188,1],[210,1],[225,1],[258,1],[280,1],[299,1],[310,2],[313,2],[336,1],[362,1],[389,1],[413,1],[421,1],[438,1]]},"99":{"position":[[41,1],[59,1],[80,1],[91,1],[98,1],[110,1],[121,1],[128,1],[134,1],[142,1],[164,1],[182,1],[197,1],[206,1],[223,1],[229,1],[251,1],[266,1],[281,1],[314,1],[347,1],[369,1],[388,1],[396,1],[427,1],[440,1],[450,1],[462,2],[465,2],[486,1],[508,1],[532,1],[540,1],[557,1],[1058,1]]},"114":{"position":[[23,1]]},"118":{"position":[[125,1]]},"119":{"position":[[65,2]]},"123":{"position":[[148,1]]},"125":{"position":[[26,1],[50,1]]},"126":{"position":[[15,2],[29,1],[46,1],[60,1],[105,1],[113,1]]},"127":{"position":[[26,1],[40,1]]},"128":{"position":[[42,1]]},"129":{"position":[[26,2],[57,1],[65,1],[67,3],[79,1],[93,1],[108,1]]},"130":{"position":[[42,2],[45,2],[57,1],[72,1],[277,1]]},"131":{"position":[[15,2],[46,1],[54,1],[56,3],[92,1],[100,1],[102,3],[144,1],[163,1],[171,1],[184,1],[198,1],[213,1]]},"132":{"position":[[50,2],[66,1],[83,1],[97,1],[112,1]]},"133":{"position":[[36,1],[49,5],[55,2],[58,2],[69,1],[83,1],[98,1]]},"134":{"position":[[20,2],[51,1],[59,1],[61,3],[73,1],[87,1],[102,1]]},"135":{"position":[[25,1],[39,1]]},"136":{"position":[[27,1],[41,1]]},"137":{"position":[[34,2],[37,2],[48,1],[62,1],[77,1]]},"138":{"position":[[44,2],[47,2],[63,1],[80,1],[94,1],[109,1]]},"139":{"position":[[43,1],[57,1]]},"140":{"position":[[36,2],[39,2],[50,1],[64,1],[79,1],[297,1]]},"141":{"position":[[22,2],[39,1],[53,1],[68,1]]},"142":{"position":[[28,1]]},"143":{"position":[[27,1],[41,1]]},"144":{"position":[[38,2],[41,2],[57,1],[74,1],[88,1],[103,1]]},"145":{"position":[[18,2],[43,1],[60,1],[74,1],[89,1]]},"146":{"position":[[32,2],[63,1],[71,1],[73,3],[90,1],[104,1],[119,1]]},"147":{"position":[[18,2],[29,1],[43,1],[57,1],[72,1]]},"148":{"position":[[25,2],[56,1],[64,1],[66,3],[78,1],[92,1],[107,1]]},"149":{"position":[[26,2],[57,1],[65,1],[67,3],[84,1],[98,1],[113,1]]},"150":{"position":[[42,1],[56,1]]},"151":{"position":[[43,2],[55,1]]},"153":{"position":[[46,1]]},"159":{"position":[[33,1]]},"166":{"position":[[54,1],[66,1],[70,1],[275,1],[369,1]]},"168":{"position":[[149,1]]},"171":{"position":[[29,1]]},"173":{"position":[[39,2],[64,1],[70,1],[77,1]]},"174":{"position":[[34,2],[66,1],[72,1],[96,1],[124,1],[153,4],[158,1],[165,1]]},"179":{"position":[[31,1]]},"186":{"position":[[31,1]]},"187":{"position":[[29,1]]},"196":{"position":[[21,1]]},"197":{"position":[[33,2],[36,2],[57,1],[65,1],[442,1]]},"202":{"position":[[31,2]]},"204":{"position":[[44,1]]},"205":{"position":[[46,1]]},"213":{"position":[[82,1]]},"214":{"position":[[85,1],[140,4],[145,1]]},"217":{"position":[[43,1],[61,1],[96,2],[99,2],[152,1],[175,1],[203,1],[211,1]]},"218":{"position":[[41,1],[59,1],[93,1],[95,1]]},"219":{"position":[[37,1],[55,1],[77,1],[79,1]]},"220":{"position":[[38,1],[56,1],[78,1],[80,1]]},"221":{"position":[[55,1],[60,2],[63,2],[76,1],[84,1],[301,1],[462,1]]},"223":{"position":[[44,1],[62,1],[79,2],[82,2],[103,1],[109,1],[128,1],[134,1],[155,1],[161,1],[189,1],[218,1],[226,1]]},"224":{"position":[[28,2],[55,1],[73,5],[102,1],[120,4],[125,1],[161,1],[186,5],[289,1]]},"225":{"position":[[63,2]]},"226":{"position":[[37,1],[49,1],[60,1],[68,1],[90,1],[108,1],[123,1],[140,1],[146,1],[168,1],[183,1],[216,1],[238,1],[257,1],[268,2],[271,2],[306,1],[312,1],[344,1],[356,1],[367,1],[375,1],[397,1],[415,1],[430,1],[447,1],[453,1],[475,1],[490,1],[523,1],[545,1],[556,1],[578,1],[606,1],[635,1],[666,1],[700,1],[721,1],[749,1],[789,1],[816,1],[840,1],[870,1],[904,1],[947,1],[991,1],[1013,1],[1029,1],[1060,1],[1100,1],[1157,1],[1159,2],[1162,1],[2899,1],[3078,1],[3237,1],[3374,1],[3428,1],[3480,1],[3499,1],[3520,1],[3577,1]]},"227":{"position":[[41,1],[59,1],[81,1],[83,1]]},"228":{"position":[[44,1],[62,1],[96,1],[98,1]]},"229":{"position":[[57,2],[66,1],[97,1],[101,1]]},"230":{"position":[[36,1],[54,1],[79,1],[91,1],[102,1],[110,1],[132,1],[150,1],[165,1],[182,1],[188,1],[210,1],[225,1],[258,1],[280,1],[299,1],[310,2],[313,2],[336,1],[362,1],[389,1],[413,1],[421,1],[438,1]]},"231":{"position":[[41,1],[59,1],[80,1],[91,1],[98,1],[110,1],[121,1],[128,1],[134,1],[142,1],[164,1],[182,1],[197,1],[206,1],[223,1],[229,1],[251,1],[266,1],[281,1],[314,1],[347,1],[369,1],[388,1],[396,1],[427,1],[440,1],[450,1],[462,2],[465,2],[486,1],[508,1],[532,1],[540,1],[557,1],[1058,1]]},"233":{"position":[[444,1],[514,1]]},"234":{"position":[[223,1],[292,1],[372,1]]},"236":{"position":[[69,1],[98,1],[124,1],[132,1],[150,1],[156,1],[171,1],[184,1],[197,1],[210,1],[223,1],[250,1],[277,1],[306,1],[332,1],[340,1],[358,1],[364,1],[380,1]]},"237":{"position":[[69,1],[98,1],[124,1],[132,1],[150,1],[156,1],[171,1],[184,1],[197,1],[210,1],[223,1],[250,1],[277,1],[306,1],[332,1],[340,1],[358,1],[364,1],[380,1]]},"238":{"position":[[91,1],[120,1],[146,1],[154,1],[172,1],[178,1],[193,1],[206,1],[219,1],[232,1],[245,1],[272,1],[299,1],[328,1],[354,1],[362,1],[380,1],[386,1],[402,1]]},"239":{"position":[[63,1],[92,1],[118,1],[126,1],[144,1],[150,1],[165,1],[178,1],[191,1],[204,1],[217,1],[244,1],[271,1],[300,1],[326,1],[334,1],[352,1],[358,1],[387,1],[393,1],[414,1],[420,1],[427,1]]},"240":{"position":[[57,1],[70,1],[82,1],[89,1],[382,1]]},"242":{"position":[[57,1],[70,4],[75,1],[77,3],[81,2],[98,1],[106,1],[575,1],[602,1]]},"243":{"position":[[69,1],[75,1],[90,1],[94,1],[623,1],[648,1]]},"245":{"position":[[43,1],[184,1],[186,2]]},"246":{"position":[[42,1],[183,1],[185,2]]},"248":{"position":[[26,1],[50,1]]},"249":{"position":[[15,2],[29,1],[46,1],[60,1],[105,1],[113,1]]},"250":{"position":[[26,1],[40,1]]},"251":{"position":[[42,1]]},"252":{"position":[[26,2],[57,1],[65,1],[67,3],[79,1],[93,1],[108,1]]},"253":{"position":[[42,2],[45,2],[57,1],[72,1],[277,1]]},"254":{"position":[[15,2],[46,1],[54,1],[56,3],[92,1],[100,1],[102,3],[144,1],[163,1],[171,1],[184,1],[198,1],[213,1]]},"255":{"position":[[50,2],[66,1],[83,1],[97,1],[112,1]]},"256":{"position":[[36,1],[49,5],[55,2],[58,2],[69,1],[83,1],[98,1]]},"257":{"position":[[20,2],[51,1],[59,1],[61,3],[73,1],[87,1],[102,1]]},"258":{"position":[[25,1],[39,1]]},"259":{"position":[[27,1],[41,1]]},"260":{"position":[[34,2],[37,2],[48,1],[62,1],[77,1]]},"261":{"position":[[44,2],[47,2],[63,1],[80,1],[94,1],[109,1]]},"262":{"position":[[43,1],[57,1]]},"263":{"position":[[36,2],[39,2],[50,1],[64,1],[79,1],[297,1]]},"264":{"position":[[22,2],[39,1],[53,1],[68,1]]},"265":{"position":[[28,1]]},"266":{"position":[[27,1],[41,1]]},"267":{"position":[[38,2],[41,2],[57,1],[74,1],[88,1],[103,1]]},"268":{"position":[[18,2],[43,1],[60,1],[74,1],[89,1]]},"269":{"position":[[32,2],[63,1],[71,1],[73,3],[90,1],[104,1],[119,1]]},"270":{"position":[[18,2],[29,1],[43,1],[57,1],[72,1]]},"271":{"position":[[25,2],[56,1],[64,1],[66,3],[78,1],[92,1],[107,1]]},"272":{"position":[[26,2],[57,1],[65,1],[67,3],[84,1],[98,1],[113,1]]},"273":{"position":[[42,1],[56,1]]},"274":{"position":[[43,2],[55,1]]},"276":{"position":[[727,1],[792,1],[813,1],[850,1]]},"277":{"position":[[762,1],[827,1],[847,1]]},"278":{"position":[[160,1]]},"279":{"position":[[69,1],[82,1],[297,1],[373,1]]},"280":{"position":[[353,1]]},"281":{"position":[[837,1],[902,1],[935,1],[972,1]]},"282":{"position":[[67,1],[880,1],[945,1],[977,1]]},"283":{"position":[[278,1]]},"284":{"position":[[196,1]]},"285":{"position":[[157,1]]},"286":{"position":[[391,1],[465,1]]},"288":{"position":[[295,1],[330,1],[401,1],[429,1],[524,1],[545,1],[633,1],[685,3],[734,1]]},"289":{"position":[[315,1],[350,1],[421,1],[449,1],[544,1],[565,1],[653,1],[705,3],[754,1]]},"294":{"position":[[59,1],[88,1],[114,1],[122,1],[140,1],[146,1],[161,1],[174,1],[187,1],[219,1],[248,1],[274,1],[282,1],[300,1],[306,1],[345,1],[351,1],[366,1],[371,2],[398,1],[405,1],[418,1],[439,1]]},"295":{"position":[[46,1],[52,1],[67,1],[71,1]]},"297":{"position":[[56,1],[85,1],[111,1],[119,1],[137,1],[143,1],[158,1],[171,1],[184,1],[216,1],[245,1],[271,1],[279,1],[297,1],[303,1],[342,1],[348,1],[363,1],[368,2],[393,1],[415,1]]},"298":{"position":[[29,2],[48,1],[77,1],[95,1],[101,1],[116,1],[129,1],[163,1],[181,1],[187,1],[203,1],[228,1],[257,1],[275,1],[281,1],[296,1],[309,1],[343,1],[361,1],[367,1],[383,1],[413,1],[419,1],[434,1],[466,1],[495,1],[501,1],[516,1],[529,1],[563,1],[569,1],[585,1],[592,1],[1246,1],[1273,1],[1356,1],[2503,1],[2560,1],[2625,1],[2653,1],[2670,1],[2712,1],[2739,1],[2807,1],[2873,2],[2885,1],[2919,1],[2927,1]]},"301":{"position":[[69,1],[98,1],[124,1],[130,1],[145,1],[158,1],[171,1],[203,1],[232,1],[258,1],[264,1],[281,2],[306,1],[312,1],[327,1],[331,1],[344,1],[371,1]]},"302":{"position":[[46,1],[52,1],[67,1],[71,1]]},"306":{"position":[[284,1],[321,1],[323,1],[510,1],[520,1],[617,1],[649,1]]},"309":{"position":[[66,1],[95,1],[121,1],[127,1],[142,1],[155,1],[168,1],[200,1],[229,1],[255,1],[261,1],[300,1],[306,1],[321,1],[326,2],[346,1],[354,1]]},"310":{"position":[[77,1],[95,1],[101,1],[116,1],[129,1],[163,1],[181,1],[187,1],[203,1],[227,1]]},"311":{"position":[[73,1],[79,1],[94,1],[107,1],[141,1],[147,1],[163,1],[198,1]]},"314":{"position":[[50,1],[65,1]]},"315":{"position":[[41,1],[56,1]]},"316":{"position":[[41,1],[56,1]]},"317":{"position":[[42,1],[57,1]]},"318":{"position":[[40,1],[55,1],[62,2],[81,1],[89,1],[433,1]]},"319":{"position":[[51,1],[66,1]]},"320":{"position":[[42,1],[57,1],[82,1],[111,1],[117,1],[132,1],[145,1],[179,1],[185,1],[201,1],[208,1]]},"322":{"position":[[184,1],[249,1],[281,1]]},"324":{"position":[[63,1],[92,1],[118,1],[124,1],[139,1],[152,1],[165,1],[197,1],[226,1],[252,1],[258,1],[304,1],[333,1],[359,1],[365,1],[380,1],[393,1],[406,1],[438,1],[467,1],[493,1],[499,1],[515,1]]},"325":{"position":[[91,1],[120,1],[146,1],[152,1],[167,1],[180,1],[193,1],[225,1],[254,1],[280,1],[286,1],[302,1]]},"326":{"position":[[101,1],[130,1],[156,1],[162,1],[177,1],[190,1],[203,1],[235,1],[264,1],[290,1],[296,1],[312,1],[454,1]]},"327":{"position":[[67,1],[96,1],[122,1],[128,1],[143,1],[156,1],[169,1],[201,1],[230,1],[256,1],[262,1],[278,1],[404,1],[480,1]]},"328":{"position":[[63,1],[92,1],[118,1],[124,1],[139,1],[152,1],[165,1],[197,1],[226,1],[252,1],[258,1],[287,1],[293,1],[314,1],[320,1],[327,1],[456,1]]},"329":{"position":[[57,1],[70,1],[82,1],[112,1],[124,1],[137,4],[142,1],[149,1],[443,1],[539,1],[594,1]]},"330":{"position":[[76,1],[105,1],[131,1],[137,1],[152,1],[165,1],[178,1],[210,1],[239,1],[265,1],[271,1],[287,1],[399,1]]},"331":{"position":[[64,1],[93,1],[119,1],[125,1],[140,1],[153,1],[166,1],[198,1],[227,1],[253,1],[259,1],[275,1],[379,1]]},"332":{"position":[[74,1],[103,1],[129,1],[135,1],[150,1],[163,1],[176,1],[208,1],[237,1],[263,1],[269,1],[285,1],[396,1]]},"333":{"position":[[92,1],[121,1],[147,1],[153,1],[168,1],[181,1],[194,1],[226,1],[255,1],[281,1],[287,1],[303,1]]},"334":{"position":[[45,1],[51,1],[63,1],[76,5],[97,1],[124,1],[153,1],[179,1],[185,1],[200,1],[213,1],[226,1],[258,1],[287,1],[313,1],[319,1],[335,1],[342,1],[744,1]]},"335":{"position":[[64,1],[93,1],[119,1],[125,1],[140,1],[153,1],[166,1],[198,1],[227,1],[253,1],[259,1],[307,1],[336,1],[362,1],[368,1],[383,1],[396,1],[409,1],[441,1],[470,1],[496,1],[502,1],[530,1],[534,1],[673,1]]},"336":{"position":[[63,1],[92,1],[118,1],[124,1],[139,1],[152,1],[165,1],[197,1],[226,1],[252,1],[258,1],[304,1],[333,1],[359,1],[365,1],[380,1],[393,1],[406,1],[438,1],[467,1],[493,1],[499,1],[515,1]]},"337":{"position":[[65,1],[94,1],[120,1],[126,1],[141,1],[154,1],[167,1],[199,1],[228,1],[254,1],[260,1],[276,1]]},"338":{"position":[[94,1],[123,1],[149,1],[155,1],[170,1],[183,1],[196,1],[228,1],[257,1],[283,1],[289,1],[305,1]]},"340":{"position":[[67,1],[73,1],[88,1],[101,1],[135,1],[141,1],[157,1]]},"344":{"position":[[457,1],[492,1],[563,1]]},"345":{"position":[[54,1],[65,1],[83,1],[114,1],[126,1],[137,1],[145,1],[167,1],[185,1],[200,1],[217,1],[223,1],[245,1],[260,1],[293,1],[315,1],[332,1],[368,1],[378,1],[960,1],[962,2]]},"346":{"position":[[43,1]]},"347":{"position":[[39,2],[55,1],[500,1],[502,2]]},"362":{"position":[[27,2],[100,1],[107,1],[151,1],[188,1],[224,1],[281,1],[287,1],[341,1],[347,1],[381,1],[414,1],[460,1],[509,1],[552,1],[590,1],[625,1],[667,1],[673,1],[716,1],[751,1],[757,1],[803,1],[809,1],[869,1],[871,2],[874,1],[1051,1]]},"363":{"position":[[23,2],[103,1]]},"367":{"position":[[25,2],[80,1]]},"368":{"position":[[38,1],[49,1],[79,1],[96,1],[133,1],[145,1],[156,1],[164,1],[186,1],[204,1],[219,1],[236,1],[242,1],[264,1],[279,1],[312,1],[334,1],[345,1],[385,1],[389,1],[673,1],[790,1],[1016,2],[1026,1],[1053,1],[1055,1],[1079,1],[1109,1],[1156,2],[1159,2],[1177,1],[1194,1],[1207,1],[1565,1],[1620,1],[1633,1],[1644,1],[1661,1],[1668,1],[1704,1],[1711,1],[1738,1],[1740,1],[1837,1],[1862,5],[1881,1],[1906,1],[2004,1],[2028,1],[2056,1],[2084,1],[2148,1],[2174,1],[2259,1],[2319,1],[3097,1],[3109,1],[3120,1],[3128,1],[3150,1],[3168,1],[3183,1],[3200,1],[3206,1],[3228,1],[3243,1],[3276,1],[3298,1]]},"372":{"position":[[27,2],[126,1]]},"373":{"position":[[39,2],[91,1],[98,1]]},"374":{"position":[[42,1],[54,1],[69,1],[86,1],[121,1],[151,1],[176,1],[203,1],[227,1],[242,1],[249,1],[1663,1]]},"377":{"position":[[23,2],[42,1],[54,1],[65,1],[73,1],[95,1],[113,1],[128,1],[145,1],[151,1],[173,1],[188,1],[221,1],[243,1],[262,1],[336,1],[344,1],[350,1],[357,1],[792,1],[838,1],[937,1],[939,1],[1690,1],[1698,1]]},"379":{"position":[[18,2],[66,1]]},"386":{"position":[[28,1],[40,1],[51,1],[59,1],[81,1],[99,1],[114,1],[131,1],[137,1],[159,1],[174,1],[207,1],[229,1],[248,1],[258,1],[262,1]]},"389":{"position":[[47,1],[49,3],[69,1],[71,2],[74,1]]},"397":{"position":[[20,2],[78,1],[86,1]]},"398":{"position":[[19,1],[21,3],[25,2],[46,1],[52,1],[277,1]]},"399":{"position":[[45,1],[47,3]]},"400":{"position":[[15,2],[111,1],[213,1]]},"402":{"position":[[28,1],[44,1],[67,1],[89,1],[110,1],[130,1],[146,1],[175,1],[203,1],[219,1],[241,1],[265,1],[282,1],[301,1],[327,1],[348,1],[371,1],[402,1],[432,1],[454,1],[471,1],[485,1],[514,1],[544,1],[572,1],[601,1],[630,1],[661,1],[692,1],[727,1],[767,1],[803,1],[840,1],[877,1],[920,1],[953,1],[1010,1],[1068,1],[1096,1],[1132,1]]},"403":{"position":[[14,2],[83,1],[98,1]]},"404":{"position":[[22,1],[51,1],[81,1],[109,1],[138,1],[167,1],[198,1],[229,1],[264,1],[304,1],[340,1],[377,1]]},"405":{"position":[[30,1],[42,1],[53,1],[61,1],[83,1],[101,1],[116,1],[133,1],[139,1],[161,1],[176,1],[209,1],[231,1],[250,1],[278,1],[290,1],[301,1],[309,1],[331,1],[349,1],[364,1],[381,1],[387,1],[409,1],[424,1],[457,1],[479,1],[498,1],[508,1],[528,1],[545,1],[563,1],[579,1],[607,1],[637,1],[663,1],[680,1],[707,1],[719,1],[734,1],[746,1],[758,1],[779,1],[816,1],[829,1],[843,1],[855,1],[859,1],[2250,1],[2304,1]]},"406":{"position":[[334,1],[367,1]]},"408":{"position":[[290,1],[345,1],[381,1],[407,1],[1050,1],[1078,1],[1080,1],[1103,1],[1142,1]]},"409":{"position":[[54,1],[181,1]]},"410":{"position":[[16,2]]},"411":{"position":[[21,2],[177,1]]},"413":{"position":[[124,1]]},"416":{"position":[[72,2],[75,2],[88,1],[96,1],[778,1],[843,1],[932,1],[1033,1]]},"417":{"position":[[58,1],[70,1],[81,1],[89,1],[111,1],[129,1],[144,1],[161,1],[167,1],[189,1],[204,1],[237,1],[259,1],[288,2],[291,2],[304,1],[312,1],[1008,1],[1077,1],[1115,1],[1181,1]]},"418":{"position":[[29,1],[42,5],[48,2],[70,1],[83,4],[88,1],[90,2],[93,1],[461,1]]},"419":{"position":[[302,2],[578,2],[581,1]]},"420":{"position":[[47,1]]},"422":{"position":[[118,1],[133,1],[160,1],[205,1]]},"423":{"position":[[22,2]]},"424":{"position":[[13,2],[30,1],[61,1],[74,4],[79,1],[81,3],[108,1],[121,4],[126,1],[128,2],[131,1]]},"427":{"position":[[14,2],[26,1],[60,1],[73,4],[78,1],[102,1],[344,1],[346,1],[369,1],[412,1],[451,2]]},"428":{"position":[[24,2],[27,2],[38,1],[42,1]]},"429":{"position":[[48,1],[240,1],[358,2],[445,2],[537,2]]},"430":{"position":[[29,1]]},"431":{"position":[[33,2]]},"432":{"position":[[40,2]]},"433":{"position":[[60,1],[66,1],[74,1],[76,1],[89,1]]},"434":{"position":[[23,2],[26,2],[41,1],[49,1]]},"435":{"position":[[38,2],[214,2],[274,2]]},"436":{"position":[[77,1],[177,2]]},"437":{"position":[[10,2],[101,1],[115,1],[159,1],[192,1],[232,1],[240,1],[242,2],[245,1],[375,1],[449,1],[494,1],[514,1],[526,1],[544,1],[546,1],[638,1],[648,2]]},"439":{"position":[[14,2]]},"440":{"position":[[39,2]]},"441":{"position":[[24,2],[252,1],[286,1],[335,2],[345,1]]},"442":{"position":[[25,2],[184,1],[241,2],[269,1],[326,2],[350,1],[410,2]]},"443":{"position":[[25,2],[62,1],[69,1]]},"444":{"position":[[55,2]]},"445":{"position":[[21,2],[171,2]]},"446":{"position":[[45,2],[48,2],[63,1],[80,1],[84,1],[584,1],[603,1]]},"447":{"position":[[16,2],[81,1],[94,4],[99,1],[116,1],[124,1]]},"448":{"position":[[20,2],[63,1],[108,1],[147,1],[151,1]]},"449":{"position":[[56,1],[185,1]]},"450":{"position":[[20,2]]},"451":{"position":[[42,2],[45,2],[64,1],[72,1],[253,1]]},"457":{"position":[[46,1],[58,1],[74,2],[77,2],[92,1],[96,1],[319,1],[408,1],[503,1],[531,1],[533,1],[565,1],[620,1]]},"459":{"position":[[180,1]]},"460":{"position":[[164,1]]},"461":{"position":[[146,1]]},"462":{"position":[[287,1]]},"463":{"position":[[223,1]]},"465":{"position":[[65,1],[71,1],[86,1],[99,1],[133,1],[139,1],[187,1],[193,1],[208,1],[221,1],[255,1],[261,1],[277,1]]},"466":{"position":[[93,1],[99,1],[114,1],[127,1],[161,1],[167,1],[183,1]]},"467":{"position":[[103,1],[109,1],[124,1],[137,1],[171,1],[177,1],[193,1],[335,1]]},"468":{"position":[[69,1],[75,1],[90,1],[103,1],[137,1],[143,1],[159,1],[285,1],[361,1]]},"469":{"position":[[65,1],[71,1],[86,1],[99,1],[133,1],[139,1],[168,1],[174,1],[195,1],[201,1],[208,1],[337,1]]},"470":{"position":[[57,1],[70,1],[82,1],[89,1],[383,1],[484,1],[539,1]]},"471":{"position":[[78,1],[84,1],[99,1],[112,1],[146,1],[152,1],[168,1],[280,1]]},"472":{"position":[[66,1],[72,1],[87,1],[100,1],[134,1],[140,1],[156,1],[260,1]]},"473":{"position":[[76,1],[82,1],[97,1],[110,1],[144,1],[150,1],[166,1],[277,1]]},"474":{"position":[[45,1],[51,1],[63,1],[76,4],[81,1],[483,1]]},"475":{"position":[[66,1],[72,1],[87,1],[100,1],[134,1],[140,1],[190,1],[196,1],[211,1],[224,1],[258,1],[264,1],[292,1],[296,1],[435,1]]},"476":{"position":[[65,1],[71,1],[86,1],[99,1],[133,1],[139,1],[187,1],[193,1],[208,1],[221,1],[255,1],[261,1],[277,1]]},"477":{"position":[[60,1],[66,1],[78,1],[91,4],[96,1],[239,1]]},"478":{"position":[[67,1],[73,1],[88,1],[101,1],[135,1],[141,1],[157,1],[288,1]]},"480":{"position":[[103,1]]},"481":{"position":[[187,1]]},"483":{"position":[[106,1],[161,1]]},"484":{"position":[[159,1],[214,1]]},"492":{"position":[[65,1],[77,1],[81,1],[275,1],[367,1]]},"496":{"position":[[20,1]]},"505":{"position":[[37,1],[120,1],[157,4],[186,1]]},"508":{"position":[[42,2]]},"510":{"position":[[319,1],[361,1],[432,1],[490,1],[590,1],[611,1],[704,1],[753,3],[802,1]]},"511":{"position":[[339,1],[381,1],[452,1],[510,1],[610,1],[631,1],[719,1],[768,3],[817,1]]},"513":{"position":[[125,1],[140,1],[163,1],[208,1]]},"514":{"position":[[119,1],[134,1],[155,1],[200,1]]},"526":{"position":[[23,1]]},"528":{"position":[[41,1],[156,1],[221,1],[241,1]]},"532":{"position":[[148,1]]},"534":{"position":[[125,1]]},"535":{"position":[[65,2]]},"537":{"position":[[46,1]]},"543":{"position":[[33,1]]},"548":{"position":[[54,1],[66,1],[70,1],[275,1],[369,1]]},"551":{"position":[[29,1]]},"553":{"position":[[201,1],[256,2],[259,2]]},"554":{"position":[[26,1],[31,2],[319,1],[385,2],[415,2],[451,2]]},"555":{"position":[[241,1],[294,2]]},"556":{"position":[[217,1],[269,2]]},"557":{"position":[[26,1],[31,2],[428,1],[494,2],[501,2],[553,2],[589,2],[630,1]]},"558":{"position":[[283,1],[338,2],[374,2],[400,2],[403,2],[429,1]]},"559":{"position":[[33,1],[38,2],[511,1],[584,2],[624,2],[631,2],[728,2],[738,2]]},"560":{"position":[[22,1],[27,2],[130,5],[747,1],[749,2],[853,2]]},"561":{"position":[[244,1],[298,2]]},"563":{"position":[[20,2],[194,1],[196,2],[237,2]]},"564":{"position":[[188,1],[212,2],[215,2]]},"565":{"position":[[40,2],[300,1],[302,2],[355,2]]},"566":{"position":[[36,1],[42,1],[60,1],[66,1],[74,1],[76,1],[633,1],[749,2],[754,1],[789,2],[794,1],[830,2],[835,1]]},"567":{"position":[[32,2],[473,1],[578,2]]},"568":{"position":[[24,1],[29,2],[340,1],[360,2],[373,2],[380,2]]},"569":{"position":[[24,2],[253,1],[282,2],[309,2],[412,1],[463,1]]},"570":{"position":[[422,1]]},"575":{"position":[[47,3]]},"576":{"position":[[205,2],[314,2],[367,4],[426,8]]},"577":{"position":[[386,1],[672,1],[745,2]]},"578":{"position":[[252,1]]},"579":{"position":[[29,4],[61,4]]},"581":{"position":[[439,1],[861,1]]},"582":{"position":[[266,1],[519,3]]},"583":{"position":[[401,1]]},"584":{"position":[[1095,4],[1567,1],[1569,1],[1583,1],[1757,1],[1759,1],[1788,1]]},"586":{"position":[[70,1],[97,1],[172,1],[190,1]]},"587":{"position":[[191,1],[193,1],[208,1],[573,1],[575,1]]},"589":{"position":[[232,2],[300,2],[355,2]]},"590":{"position":[[569,2]]},"591":{"position":[[43,1],[49,1],[67,1],[73,1],[81,1],[83,1],[805,2],[853,2],[912,2],[917,1]]},"592":{"position":[[327,2]]},"593":{"position":[[32,1],[45,5],[51,2],[257,2]]},"594":{"position":[[42,1],[48,1],[66,1],[72,1],[80,1],[82,1],[510,2],[558,2],[609,2]]},"595":{"position":[[173,5],[270,2],[276,2],[382,2],[588,4],[628,4],[1416,2],[1437,2],[1502,2],[1557,2],[1643,2],[1732,2]]},"596":{"position":[[43,1],[49,1],[67,1],[73,1],[81,1],[83,1],[388,2],[437,2],[489,1]]},"597":{"position":[[235,2],[274,2]]},"598":{"position":[[213,2],[252,2],[284,2]]},"599":{"position":[[211,2],[250,2],[282,2]]},"600":{"position":[[252,2],[291,2],[326,2]]},"601":{"position":[[216,2],[253,2],[284,2]]},"602":{"position":[[263,2],[302,2],[341,2],[376,2]]},"603":{"position":[[248,2],[287,2],[322,2]]},"604":{"position":[[47,2],[338,2],[390,2],[393,2],[485,2],[562,2]]},"605":{"position":[[191,2]]},"606":{"position":[[29,1],[34,2],[267,2],[334,2]]},"607":{"position":[[34,2],[127,1],[487,2],[587,2]]},"608":{"position":[[37,2],[315,2],[399,2],[478,2]]},"609":{"position":[[37,2],[316,2],[397,2],[476,2]]},"610":{"position":[[51,1],[56,1],[58,1],[423,2],[505,2],[584,2],[662,2],[750,2],[824,2],[902,1]]},"611":{"position":[[43,1],[49,1],[67,1],[73,1],[81,1],[83,1],[349,2],[404,2],[456,2]]},"612":{"position":[[44,1],[50,1],[68,1],[74,1],[82,1],[84,1],[377,2],[433,2],[438,1],[509,1]]},"613":{"position":[[35,2],[130,1],[132,1],[134,3],[251,2],[352,2]]},"614":{"position":[[29,1],[35,1],[58,1],[64,1],[72,1],[74,1],[349,2],[443,2],[522,2]]},"615":{"position":[[29,1],[34,2],[268,2],[335,2]]},"616":{"position":[[28,1],[34,1],[57,1],[63,1],[71,1],[73,1],[149,2],[362,3],[433,5],[911,2],[1015,2],[1127,2],[1211,2],[1304,2]]},"617":{"position":[[37,1],[46,2],[523,2],[615,2],[701,2]]},"618":{"position":[[34,1],[47,5],[53,2],[271,2],[332,2],[370,2],[407,2],[444,2]]},"619":{"position":[[28,1],[33,2],[215,2],[280,2]]},"620":{"position":[[267,2]]},"621":{"position":[[191,2]]},"622":{"position":[[1429,1],[1447,1],[1472,1],[1589,1],[1610,1],[1646,1],[1965,1],[1986,1],[2040,1]]},"627":{"position":[[17,1],[24,2],[39,1],[88,2],[102,2],[116,2],[132,2],[152,2]]},"628":{"position":[[28,2],[141,2],[161,2],[187,2],[217,2],[237,2],[262,2],[286,2],[311,2]]},"629":{"position":[[28,2],[140,2],[160,2],[186,2],[206,2],[231,2]]},"630":{"position":[[11,1],[16,2],[143,2],[161,2],[180,2],[199,2],[219,2],[239,2],[259,2],[275,2],[291,2],[309,2],[330,2],[347,2],[367,2],[394,2],[423,2]]},"632":{"position":[[36,1]]},"633":{"position":[[29,2],[43,1]]},"634":{"position":[[16,2],[203,1],[207,1],[227,2],[244,2],[247,3],[264,2],[267,4]]},"635":{"position":[[15,2]]},"636":{"position":[[508,2],[511,2],[531,2],[558,2],[593,2],[636,2],[675,2],[719,2],[759,2],[773,1],[786,1],[812,2],[830,2]]},"637":{"position":[[11,2]]},"638":{"position":[[106,1],[633,1],[698,2],[761,2],[835,2],[953,2],[969,2],[1051,2]]},"639":{"position":[[35,2],[49,1],[459,2],[579,2]]},"640":{"position":[[24,2]]},"641":{"position":[[96,1],[154,1]]},"642":{"position":[[15,2],[26,1],[121,1],[198,1],[255,2],[270,2]]},"643":{"position":[[23,1],[64,1],[66,1],[281,2],[335,2],[379,2]]},"644":{"position":[[18,1],[26,1],[32,1],[38,1],[43,2],[395,2],[411,2],[429,2],[449,2],[469,2],[490,2],[512,2],[531,2],[563,1],[601,1]]},"645":{"position":[[35,1],[40,1],[42,1],[451,2],[514,1]]},"646":{"position":[[26,2]]},"647":{"position":[[17,2],[129,2],[149,2],[259,2]]},"648":{"position":[[16,1],[24,1],[30,1],[36,1],[41,2],[54,1],[876,2],[888,2],[904,2],[919,2],[933,2],[948,2],[968,2],[987,2],[1007,2],[1022,2],[1037,2],[1059,2],[1078,2],[1115,1],[1165,1],[1241,1]]},"649":{"position":[[32,2]]},"650":{"position":[[20,1],[51,1]]},"651":{"position":[[11,2],[179,2],[192,2],[205,2],[219,2],[235,2],[256,2],[271,1]]},"652":{"position":[[28,1],[33,2],[273,2],[276,2],[293,2],[349,1]]},"653":{"position":[[53,2],[175,2],[204,1],[223,2]]},"654":{"position":[[19,1],[354,2],[417,2],[436,1],[536,2],[557,1]]},"655":{"position":[[19,1],[246,2],[309,2],[329,1],[426,2],[445,1]]},"656":{"position":[[16,2],[360,2],[385,2],[413,2]]},"657":{"position":[[19,2],[38,1]]},"659":{"position":[[13,2]]},"661":{"position":[[12,2]]},"662":{"position":[[28,1],[43,1],[48,1],[50,1],[244,1],[294,1],[813,2],[866,2],[913,2],[952,2]]},"663":{"position":[[133,1],[696,1],[764,2],[800,2],[825,2],[975,1],[1139,2]]},"664":{"position":[[12,2],[119,2],[146,2],[202,2],[270,2],[349,2]]},"665":{"position":[[33,2],[215,2],[253,2],[311,2],[493,2]]},"666":{"position":[[15,2],[18,2],[25,1],[44,1],[52,1],[519,2],[582,2],[676,2],[734,1],[842,2],[900,1]]},"667":{"position":[[49,1]]},"668":{"position":[[11,2],[257,2],[283,2],[314,2]]},"670":{"position":[[29,1],[34,2],[229,2],[232,2],[250,2]]},"671":{"position":[[12,2],[148,2],[180,2],[207,2],[235,2],[280,2]]},"672":{"position":[[19,1],[42,1],[70,1],[95,1]]},"673":{"position":[[469,2],[472,2],[489,2],[562,2]]},"675":{"position":[[461,2],[981,1]]},"676":{"position":[[343,5]]},"688":{"position":[[868,1]]},"690":{"position":[[746,1],[801,1],[994,1],[1015,2],[1036,1],[1281,1],[1346,1],[1369,3],[1409,1],[1462,1],[1464,1],[1466,2],[1469,1],[1534,1],[1557,3],[1595,1],[1640,1],[1642,1],[1644,2],[1647,2],[1650,1],[1652,1],[1723,1],[1823,1],[2200,1],[2221,2],[2242,1],[2800,1],[2802,1]]},"702":{"position":[[506,1],[543,1]]},"708":{"position":[[96,1],[118,1],[151,1],[164,1],[282,1],[298,1],[315,1],[343,1],[374,1],[534,1],[550,1],[567,1],[595,1],[624,1],[931,1],[953,1],[984,1],[1006,1],[1117,1],[1141,1],[1168,1],[1200,1]]},"711":{"position":[[1342,1],[1362,1],[1443,1],[1474,1],[1539,1],[1623,1],[1658,1],[1689,1],[1710,3]]},"712":{"position":[[0,2],[22,12],[35,1],[74,1],[92,1],[124,1],[291,1],[426,1],[462,1],[491,1],[503,1],[525,1],[527,1],[713,2],[716,1],[783,1],[801,1],[828,2],[845,12],[1015,1],[1043,1],[1065,1],[1178,1],[1180,1],[1373,1],[1375,1],[1516,1],[1633,1],[1941,1],[1982,1],[2064,1],[2097,1],[2137,1],[2257,1],[2377,1],[2466,1],[2539,1],[2658,1],[2731,1],[2771,1],[2829,1],[2986,1],[3113,2],[3139,2],[3142,2],[3188,1],[3205,1],[3238,1],[3240,1],[3242,2],[3245,1]]},"713":{"position":[[21,2]]},"741":{"position":[[27,2],[100,1],[107,1],[151,1],[188,1],[224,1],[281,1],[287,1],[341,1],[347,1],[381,1],[414,1],[460,1],[509,1],[552,1],[590,1],[625,1],[667,1],[673,1],[716,1],[751,1],[757,1],[803,1],[809,1],[869,1],[871,2],[874,1],[1051,1]]},"742":{"position":[[23,2],[103,1]]},"746":{"position":[[25,2],[80,1]]},"747":{"position":[[38,1],[49,1],[79,1],[96,1],[133,1],[145,1],[156,1],[164,1],[186,1],[204,1],[219,1],[236,1],[242,1],[264,1],[279,1],[312,1],[334,1],[345,1],[385,1],[389,1],[673,1],[790,1],[1016,2],[1026,1],[1053,1],[1055,1],[1079,1],[1109,1],[1156,2],[1159,2],[1177,1],[1194,1],[1207,1],[1565,1],[1620,1],[1633,1],[1644,1],[1661,1],[1668,1],[1704,1],[1711,1],[1738,1],[1740,1],[1837,1],[1862,5],[1881,1],[1906,1],[2004,1],[2028,1],[2056,1],[2084,1],[2148,1],[2174,1],[2259,1],[2319,1],[3097,1],[3109,1],[3120,1],[3128,1],[3150,1],[3168,1],[3183,1],[3200,1],[3206,1],[3228,1],[3243,1],[3276,1],[3298,1]]},"751":{"position":[[27,2],[126,1]]},"752":{"position":[[39,2],[91,1],[98,1]]},"753":{"position":[[42,1],[54,1],[69,1],[86,1],[121,1],[151,1],[176,1],[203,1],[227,1],[242,1],[249,1],[1663,1]]},"756":{"position":[[23,2],[42,1],[54,1],[65,1],[73,1],[95,1],[113,1],[128,1],[145,1],[151,1],[173,1],[188,1],[221,1],[243,1],[262,1],[336,1],[344,1],[350,1],[357,1],[792,1],[838,1],[937,1],[939,1],[1690,1],[1698,1]]},"758":{"position":[[18,2],[66,1]]},"765":{"position":[[28,1],[40,1],[51,1],[59,1],[81,1],[99,1],[114,1],[131,1],[137,1],[159,1],[174,1],[207,1],[229,1],[248,1],[258,1],[262,1]]},"768":{"position":[[47,1],[49,3],[69,1],[71,2],[74,1]]},"776":{"position":[[20,2],[78,1],[86,1]]},"777":{"position":[[19,1],[21,3],[25,2],[46,1],[52,1],[277,1]]},"778":{"position":[[45,1],[47,3]]},"779":{"position":[[15,2],[111,1],[213,1]]},"781":{"position":[[28,1],[44,1],[67,1],[89,1],[110,1],[130,1],[146,1],[175,1],[203,1],[219,1],[241,1],[265,1],[282,1],[301,1],[327,1],[348,1],[371,1],[402,1],[432,1],[454,1],[471,1],[485,1],[514,1],[544,1],[572,1],[601,1],[630,1],[661,1],[692,1],[727,1],[767,1],[803,1],[840,1],[877,1],[920,1],[953,1],[1010,1],[1068,1],[1096,1],[1132,1]]},"782":{"position":[[14,2],[83,1],[98,1]]},"783":{"position":[[22,1],[51,1],[81,1],[109,1],[138,1],[167,1],[198,1],[229,1],[264,1],[304,1],[340,1],[377,1]]},"784":{"position":[[30,1],[42,1],[53,1],[61,1],[83,1],[101,1],[116,1],[133,1],[139,1],[161,1],[176,1],[209,1],[231,1],[250,1],[278,1],[290,1],[301,1],[309,1],[331,1],[349,1],[364,1],[381,1],[387,1],[409,1],[424,1],[457,1],[479,1],[498,1],[508,1],[528,1],[545,1],[563,1],[579,1],[607,1],[637,1],[663,1],[680,1],[707,1],[719,1],[734,1],[746,1],[758,1],[779,1],[816,1],[829,1],[843,1],[855,1],[859,1],[2250,1],[2304,1]]},"785":{"position":[[334,1],[367,1]]},"787":{"position":[[290,1],[345,1],[381,1],[407,1],[1050,1],[1078,1],[1080,1],[1103,1],[1142,1]]},"788":{"position":[[54,1],[181,1]]},"789":{"position":[[16,2]]},"790":{"position":[[21,2],[177,1]]},"792":{"position":[[124,1]]},"795":{"position":[[72,2],[75,2],[88,1],[96,1],[778,1],[843,1],[932,1],[1033,1]]},"796":{"position":[[58,1],[70,1],[81,1],[89,1],[111,1],[129,1],[144,1],[161,1],[167,1],[189,1],[204,1],[237,1],[259,1],[288,2],[291,2],[304,1],[312,1],[1008,1],[1077,1],[1115,1],[1181,1]]},"797":{"position":[[29,1],[42,5],[48,2],[70,1],[83,4],[88,1],[90,2],[93,1],[461,1]]},"798":{"position":[[302,2],[578,2],[581,1]]},"799":{"position":[[47,1]]},"801":{"position":[[118,1],[133,1],[160,1],[205,1]]},"802":{"position":[[22,2]]},"803":{"position":[[13,2],[30,1],[61,1],[74,4],[79,1],[81,3],[108,1],[121,4],[126,1],[128,2],[131,1]]},"806":{"position":[[14,2],[26,1],[60,1],[73,4],[78,1],[102,1],[344,1],[346,1],[369,1],[412,1],[451,2]]},"807":{"position":[[24,2],[27,2],[38,1],[42,1]]},"808":{"position":[[48,1],[240,1],[358,2],[445,2],[537,2]]},"809":{"position":[[29,1]]},"810":{"position":[[33,2]]},"811":{"position":[[40,2]]},"812":{"position":[[60,1],[66,1],[74,1],[76,1],[89,1]]},"813":{"position":[[23,2],[26,2],[41,1],[49,1]]},"814":{"position":[[38,2],[214,2],[274,2]]},"815":{"position":[[77,1],[177,2]]},"816":{"position":[[10,2],[101,1],[115,1],[159,1],[192,1],[232,1],[240,1],[242,2],[245,1],[375,1],[449,1],[494,1],[514,1],[526,1],[544,1],[546,1],[638,1],[648,2]]},"818":{"position":[[14,2]]},"819":{"position":[[39,2]]},"820":{"position":[[24,2],[252,1],[286,1],[335,2],[345,1]]},"821":{"position":[[25,2],[184,1],[241,2],[269,1],[326,2],[350,1],[410,2]]},"822":{"position":[[25,2],[62,1],[69,1]]},"823":{"position":[[55,2]]},"824":{"position":[[21,2],[171,2]]},"825":{"position":[[45,2],[48,2],[63,1],[80,1],[84,1],[584,1],[603,1]]},"826":{"position":[[16,2],[81,1],[94,4],[99,1],[116,1],[124,1]]},"827":{"position":[[20,2],[63,1],[108,1],[147,1],[151,1]]},"828":{"position":[[56,1],[185,1]]},"829":{"position":[[20,2]]},"830":{"position":[[42,2],[45,2],[64,1],[72,1],[253,1]]},"840":{"position":[[255,1],[257,3],[285,1],[302,1],[335,1],[337,1],[339,1],[593,2],[596,1],[957,1],[959,3],[987,1],[1004,1],[1037,1],[1039,1],[1120,1],[1136,2],[1139,1]]},"850":{"position":[[183,1],[185,3],[202,1],[219,1],[245,1],[247,1],[249,1],[503,2],[506,1],[834,1]]},"851":{"position":[[141,1],[169,1],[211,1],[1829,1],[1886,1],[1951,1],[1979,1],[1996,1],[2038,1],[2065,1],[2133,1],[2199,2],[2211,1],[2245,1],[2253,1]]},"852":{"position":[[117,1]]},"853":{"position":[[168,1]]},"854":{"position":[[193,1]]},"856":{"position":[[539,1],[582,1],[648,1],[683,1],[750,1],[784,1],[868,1],[915,1],[1000,1]]},"858":{"position":[[150,1]]},"859":{"position":[[84,1],[185,1]]},"860":{"position":[[218,1],[226,1],[270,1],[310,1],[335,1],[380,1]]},"864":{"position":[[450,1],[478,1],[526,1],[543,1],[561,1],[563,3],[567,1],[1021,1],[1029,1],[1063,1],[1111,1],[1139,1],[1170,1],[1209,1],[1257,1],[1285,1],[1326,1],[1343,1],[1361,1],[1363,3],[1367,1]]},"867":{"position":[[285,1],[318,1],[375,1],[502,1],[548,2],[575,1],[610,1],[612,2],[615,2],[654,1],[683,1],[699,1],[735,1],[774,1],[828,1],[830,1],[962,1],[1034,1],[1062,2],[1097,1],[1199,1],[1293,1],[1400,1],[1500,1],[1577,2],[1616,1],[1645,1],[2199,1],[2238,1],[2272,1],[2308,2],[2347,1],[2376,1]]},"878":{"position":[[283,1],[311,1],[376,1],[533,1],[583,1],[636,1],[737,1],[791,1],[836,1],[925,1],[976,1],[1009,1],[1406,1],[1431,1],[1433,3],[1445,1],[1447,1],[1465,2],[1470,1],[1485,1],[1573,1],[1590,1],[1623,1],[1625,1],[1627,2],[1630,1]]},"888":{"position":[[263,1],[290,1],[327,1],[343,1],[367,1]]},"889":{"position":[[317,1],[325,1],[344,1],[390,1],[408,1],[464,1]]},"890":{"position":[[227,3],[373,1],[375,2],[391,1],[411,1],[1187,1],[1462,1],[1496,1],[1615,1],[2484,1],[2571,1],[3245,1],[3254,2],[4133,1],[4218,1],[5105,1],[5146,1],[5493,1],[5546,1],[5548,2]]},"892":{"position":[[42,2],[71,2],[106,2],[982,2],[1011,2],[1027,2],[1059,2],[1458,2],[1474,2],[1490,2],[1522,2],[1537,2],[1685,2],[1701,2],[1717,2],[1749,2],[1784,2],[1922,2],[1957,2]]},"898":{"position":[[234,3],[2135,1],[2210,1],[2223,1],[2327,1],[2342,1],[2425,1]]},"900":{"position":[[987,4],[1082,1]]},"901":{"position":[[96,1],[652,1],[720,2],[755,2],[780,2],[929,1],[1093,2]]},"902":{"position":[[84,1],[622,1],[687,2],[749,2],[822,2],[940,2],[955,2],[1036,2]]},"904":{"position":[[968,1],[1015,1],[1057,1],[1104,1],[1144,1],[1185,1]]},"905":{"position":[[755,1],[841,1],[903,1],[961,1]]},"906":{"position":[[167,1],[224,1],[287,1],[494,1],[550,1],[586,1],[933,1],[982,1],[1052,1],[1093,1],[1151,1]]},"907":{"position":[[501,1]]},"910":{"position":[[91,1]]},"912":{"position":[[13,3]]},"916":{"position":[[467,1]]},"917":{"position":[[188,1],[218,1],[220,1],[259,2],[262,1]]},"919":{"position":[[2762,2]]},"924":{"position":[[222,1],[803,5],[1011,1],[1127,3],[1363,3],[1624,1],[1669,1],[1733,1],[1765,1],[1816,1],[1868,1],[2214,1]]},"927":{"position":[[39,1],[83,1],[112,1],[159,1]]},"930":{"position":[[126,1],[139,1],[171,1],[173,1],[219,1],[221,1]]},"931":{"position":[[81,1]]},"934":{"position":[[55,1],[71,1]]},"938":{"position":[[786,1],[876,3],[880,2]]},"939":{"position":[[1202,2],[1520,1],[1715,2]]},"940":{"position":[[637,1],[684,1],[686,1],[846,3],[850,2],[1043,1],[1061,1],[1083,1],[1107,1],[1134,1],[1158,1],[1185,1],[1268,1],[1315,1],[1317,1],[1435,3],[1439,2]]},"941":{"position":[[133,1],[169,1],[188,1],[190,3],[203,1],[238,1],[269,1],[328,3],[332,1]]},"942":{"position":[[661,2],[1236,1],[1641,2],[1830,1]]},"943":{"position":[[403,1],[450,1],[452,1],[612,3],[616,2],[619,1],[670,1],[701,1],[737,1],[756,1],[758,3],[771,1],[838,1]]},"944":{"position":[[1126,1],[1141,1],[1193,1],[1263,1],[1295,1],[1363,1],[1428,1],[1477,1],[1479,1],[1808,3],[1812,3],[1816,2]]},"945":{"position":[[16,1]]},"950":{"position":[[936,1],[973,1],[1040,1],[1236,1]]},"961":{"position":[[458,1],[477,1],[494,1],[511,1],[513,1],[554,1],[556,1],[564,1],[576,3],[580,1],[787,1]]},"962":{"position":[[240,1],[259,1],[307,1],[336,1],[410,1],[427,1],[495,1],[557,1]]},"963":{"position":[[86,1],[150,1]]},"964":{"position":[[522,1],[596,1],[622,1],[685,1],[977,1],[1035,1]]},"966":{"position":[[292,1],[319,1],[336,1],[353,1],[355,1],[396,1],[398,1],[415,1],[417,1],[482,1],[536,1],[553,1],[565,3],[569,1],[595,1],[625,1],[651,1],[721,1],[723,1]]},"981":{"position":[[186,1],[240,1],[242,3]]},"984":{"position":[[10,2]]},"988":{"position":[[319,1]]},"989":{"position":[[62,1]]},"990":{"position":[[149,1],[953,1],[1158,1]]},"991":{"position":[[14,1],[59,1],[72,1],[99,1],[101,1],[145,1],[163,2],[166,1],[181,1],[194,1],[216,1],[245,1],[247,1],[292,1],[302,1],[383,1],[404,1],[557,1],[578,2],[594,1],[612,1],[626,1],[639,1],[661,1],[690,1],[692,1],[747,1],[825,1],[846,2],[862,1],[880,1],[917,1],[947,1],[949,4],[954,1],[1037,1],[1123,1],[1209,1],[1252,1],[1254,1],[1344,1],[1437,1],[1525,1],[1625,1],[1627,3],[1639,1],[1678,1],[1712,1],[1720,1],[1722,1],[1776,1],[1801,1],[1825,1],[1827,1],[1866,1],[1900,1],[1908,1],[1910,1],[1964,1],[1989,1],[2013,1],[2034,1],[2056,1],[2086,1],[2107,1],[2127,1],[2149,1],[2169,1]]},"993":{"position":[[253,1],[277,1],[302,1],[316,1],[348,1],[368,1]]},"994":{"position":[[443,1],[471,1],[473,1],[475,1],[612,2],[626,1],[628,1],[650,2],[653,1]]},"995":{"position":[[1083,1],[1402,1],[1443,1],[1477,1],[1527,1],[1551,1]]},"1001":{"position":[[129,1],[138,2],[141,3],[1211,2],[1214,3]]},"1004":{"position":[[1031,1],[1073,1],[1106,1],[1142,1],[1178,1],[1248,1],[1250,1],[1319,2],[1331,1],[1333,1],[1400,1],[1410,1],[1455,1],[1476,1],[1511,1],[1526,1],[1564,1],[1597,1],[1599,1],[1631,1],[1720,1],[1722,3],[1763,1],[1822,1],[1833,1],[1862,1],[1887,1],[1889,1],[1993,2],[2191,2]]},"1005":{"position":[[423,1],[435,1],[465,3],[469,1]]},"1006":{"position":[[456,1],[464,3],[474,1],[476,1],[538,1],[571,1],[573,4],[578,2],[581,1],[643,1],[694,1],[782,1],[784,1],[786,1],[788,1],[1021,2],[1024,1],[1182,2],[1185,1],[1187,1]]},"1007":{"position":[[282,1],[305,1],[348,3],[352,1]]},"1009":{"position":[[485,1],[557,1],[620,1],[685,1],[687,2],[708,1],[732,1],[734,3],[744,1],[746,1],[795,2],[798,1],[808,1],[837,4],[860,1],[878,1]]},"1021":{"position":[[96,3]]},"1024":{"position":[[940,1],[967,1],[997,1],[1016,1],[1031,1],[1053,1],[1078,1],[1096,1]]},"1026":{"position":[[1284,1],[1392,1],[1496,1]]},"1031":{"position":[[199,1],[233,1],[262,1],[327,1],[387,1],[464,1],[522,1],[568,1],[643,1],[681,1],[713,1],[785,1],[994,5],[1010,1],[1012,1],[1047,1],[1049,1]]},"1040":{"position":[[104,2],[2130,1],[2132,2],[2168,1],[2199,1],[2313,1],[2344,1],[2374,1],[2447,1],[2594,1],[2639,1],[2690,1]]},"1042":{"position":[[76,1],[89,1],[109,1],[111,3],[115,1],[117,1],[136,1],[154,1],[174,1],[176,3],[206,1],[208,2],[211,1],[242,1]]},"1043":{"position":[[248,1],[266,1],[286,1],[288,3],[318,1],[320,2],[323,1],[339,1],[357,1],[377,1],[379,3],[409,1],[411,2],[414,1],[416,1],[448,1],[489,3],[506,1],[550,4],[571,5]]},"1044":{"position":[[969,1],[987,1],[1024,1],[1042,1],[1062,1],[1064,3],[1094,1],[1096,1],[1148,1],[1150,1],[1152,1],[1184,1],[1224,3],[1237,1],[1298,1],[1452,1],[1470,1],[1506,1],[1524,1],[1562,1],[1580,1],[1600,1],[1602,3],[1632,1],[1634,1],[1686,1],[1688,1],[1704,1],[1722,1],[1742,1],[1744,3],[1774,1],[1776,1],[1832,1],[1834,1],[1836,1],[1868,1],[1912,4],[1933,5],[1945,1],[2011,1],[2705,1],[2819,1],[2837,1],[2860,1],[2862,1],[2954,1],[3094,2],[3123,1],[3125,2],[3128,1],[3199,1],[3241,1],[3295,1],[3344,1],[3374,1]]},"1046":{"position":[[0,1],[42,1],[55,1],[73,1],[75,1],[77,1],[148,1],[208,2],[211,1],[213,1],[286,1],[288,1],[358,1],[461,2],[464,1]]},"1047":{"position":[[0,1],[37,1],[55,1],[128,1],[163,1],[177,1],[223,1],[237,1],[239,1],[334,1],[441,1],[510,2]]},"1048":{"position":[[252,2],[260,14],[350,1],[376,1],[426,1],[428,2],[441,12],[472,1],[490,1],[554,1],[709,2],[762,1],[789,1],[802,1],[835,1],[837,1],[905,2],[908,1],[957,1],[998,1],[1053,1],[1206,2],[1216,1],[1245,1],[1266,1],[1274,1],[1276,1],[1373,1],[1447,2],[1499,1],[1512,1],[1540,1],[1542,1],[1632,1],[1667,2],[1670,1]]},"1049":{"position":[[677,1],[695,1],[810,1],[878,1],[979,1],[994,1],[1010,1],[1028,1],[1048,1],[1050,3],[1080,1],[1082,1],[1182,1],[1184,1],[1257,1],[1290,3],[1309,1],[1359,1],[1398,1],[1534,2],[1546,1],[1604,1],[1633,1],[1645,1],[1664,1],[1666,1],[1708,2]]},"1050":{"position":[[1637,1],[1684,1],[1686,1],[1881,2],[1884,3],[1888,1],[1890,1],[2569,1],[2626,1],[2742,1],[2786,1],[2831,1],[2886,1],[2894,1],[3485,1],[3771,1],[3826,1],[3899,1],[4067,1],[4111,1],[4156,1],[4211,1],[4219,1]]},"1052":{"position":[[217,1],[452,1],[674,1],[720,1],[819,1],[821,1],[839,1],[1143,1]]},"1054":{"position":[[70,1],[104,1],[127,1],[304,1],[346,1],[405,1],[407,1],[463,2],[466,1],[468,1],[536,1],[582,1],[681,1],[683,1],[1378,1],[1391,1],[1416,1],[1418,1],[1420,3],[1489,1],[1527,1],[1552,3],[1556,2],[1559,1],[1743,3],[1754,1],[1756,3],[1784,3],[1804,1],[1806,1],[1861,2],[1864,3]]},"1057":{"position":[[435,3]]},"1058":{"position":[[364,3],[540,2],[585,1]]},"1060":{"position":[[75,3]]},"1064":{"position":[[94,1],[103,2],[106,3],[1203,2],[1206,3],[1583,1],[1614,1],[1627,4],[1632,1],[1634,3],[1661,1],[1674,4],[1679,1],[1681,2],[1684,1]]},"1065":{"position":[[55,2],[58,3]]},"1071":{"position":[[273,1],[308,1],[341,1],[376,4],[993,1]]},"1072":{"position":[[601,1],[603,1],[669,1],[693,1],[729,1],[731,1],[898,2],[927,1],[954,2],[1021,1],[1044,1],[1054,2],[1057,3],[1061,1],[1160,1],[1199,1],[1223,1],[1259,1],[1261,1],[1428,2],[1457,1],[1484,2],[1487,3],[1491,1]]},"1073":{"position":[[70,1]]},"1076":{"position":[[89,1]]},"1077":{"position":[[333,1]]},"1078":{"position":[[184,1]]},"1079":{"position":[[490,1],[569,1],[611,1],[616,1],[645,1],[681,1]]},"1081":{"position":[[86,1],[111,1],[130,1],[164,1],[196,1],[220,1],[252,1],[280,1]]},"1082":{"position":[[687,1],[777,1],[797,1],[834,1],[868,1],[870,1],[910,2],[913,1],[933,1],[965,1],[989,1],[1021,1],[1049,1],[1059,1],[1082,1],[1158,1]]},"1083":{"position":[[523,1],[599,1],[624,1],[633,1],[670,1],[704,1],[706,1],[744,2],[747,1],[767,1],[799,1],[823,1],[855,1],[883,1],[893,1],[916,1],[995,1]]},"1084":{"position":[[365,1],[397,1],[421,1],[453,1],[481,1],[496,1],[528,1],[556,1],[577,1]]},"1086":{"position":[[512,1],[536,1],[603,1],[636,1],[665,1],[667,1],[735,2],[738,1]]},"1087":{"position":[[469,1],[501,1],[525,1],[557,1],[585,1],[600,1],[632,1],[660,1],[683,1]]},"1088":{"position":[[816,1],[848,1],[872,1],[904,1],[932,1],[947,1],[979,1],[1007,1],[1030,1],[1060,1],[1088,1],[1127,1],[1180,1]]},"1093":{"position":[[163,1],[686,1]]},"1096":{"position":[[192,1],[194,1],[203,1],[236,1],[276,1],[322,1]]},"1100":{"position":[[303,1]]},"1103":{"position":[[198,3],[209,1],[351,1],[380,1],[391,1],[407,1],[419,1],[447,1],[449,1],[484,3],[488,2]]},"1104":{"position":[[632,1],[1735,1],[1773,1],[1818,1],[1868,1],[1870,1],[1943,1],[2324,1],[2363,1],[2393,1],[2407,1],[2421,1],[2478,1],[2558,1],[2584,1]]},"1105":{"position":[[467,1],[577,1],[601,1],[1307,1],[1686,1],[1764,1]]},"1108":{"position":[[433,1],[446,1],[474,1],[476,1],[554,1],[556,1]]},"1110":{"position":[[58,1]]},"1112":{"position":[[12,1],[14,1],[88,1],[136,1],[202,1],[262,1],[371,1],[447,1],[521,1],[598,1],[663,1],[688,1],[690,1],[769,1],[771,1],[846,1],[891,1],[910,1],[912,1],[1038,1],[1087,1],[1089,1],[1160,1],[1232,1],[1301,1],[1370,1],[1405,1],[1430,1],[1432,1],[1508,1],[1585,1],[1639,1],[1688,1],[1762,1],[1865,1],[1894,1],[1896,1],[1967,1],[1984,1],[2058,1],[2088,1],[2090,1],[2148,4],[2166,1],[2243,1],[2364,1],[2439,1],[2441,1],[2468,1],[2518,1],[2590,1],[2598,1],[2600,1],[2694,1],[2801,1],[2920,1],[2996,1],[3070,1],[3125,1],[3139,1],[3141,1],[3174,1],[3210,1],[3246,1],[3306,1],[3366,1],[3466,1],[3553,1],[3690,1],[3702,1],[3704,1],[3793,1],[3806,1],[3808,1],[3852,1],[3919,1],[3949,1],[3951,1],[4041,1],[4147,1],[4164,1],[4166,1],[4253,1],[4339,1],[4424,1],[4511,1],[4598,1],[4639,1],[4751,1],[4833,1],[4855,1],[4857,1],[4955,1],[4998,1]]},"1120":{"position":[[121,1]]},"1124":{"position":[[76,1],[78,1],[148,1],[235,1],[323,1],[366,1]]},"1125":{"position":[[50,1],[52,1],[145,1],[162,1],[176,1],[178,4],[183,1]]},"1126":{"position":[[162,1],[164,1],[238,1],[302,1],[380,1],[446,1],[513,1],[587,1],[618,1],[672,1],[682,1],[693,1],[778,1],[780,1],[870,1],[893,1],[895,4],[900,1],[983,1],[985,1],[1026,1],[1075,1],[1161,1],[1182,1],[1184,4],[1189,1],[1191,1],[1232,1],[1282,1],[1366,1],[1368,1],[1457,1],[1471,1],[1473,4],[1478,1]]},"1127":{"position":[[744,1],[752,1],[820,1],[831,2],[840,1],[842,1]]},"1131":{"position":[[591,4],[774,1],[806,1],[808,1],[852,1],[897,1],[929,1],[931,1],[974,1]]},"1136":{"position":[[1075,3],[1697,1],[1849,1],[2434,1],[3137,1],[3278,1],[6123,1],[6147,1],[6173,1],[6201,1],[6233,1],[6262,1]]},"1138":{"position":[[1281,2],[1284,1],[1503,1],[1520,1],[1560,1],[2285,1],[4761,1],[5049,1],[5360,6],[5370,3],[5533,1],[5784,1],[5810,1],[6799,1],[6940,1],[9785,1],[9809,1],[9835,1],[9863,1],[9895,1],[9924,1]]},"1140":{"position":[[69,1],[992,1],[1009,1],[1049,1],[1774,1],[4250,1],[4538,1],[4849,6],[4859,3],[5022,1],[5725,1],[5866,1],[8711,1],[8735,1],[8761,1],[8789,1],[8821,1],[8850,1]]},"1142":{"position":[[726,1],[1169,1],[1310,1],[4155,1],[4179,1],[4205,1],[4233,1],[4265,1],[4294,1]]},"1144":{"position":[[374,1],[483,1],[507,1],[533,1],[561,1],[593,1],[622,1]]},"1146":{"position":[[406,1],[1109,1],[1250,1],[4095,1],[4119,1],[4145,1],[4173,1],[4205,1],[4234,1]]},"1148":{"position":[[388,1],[1431,3],[2053,1],[2205,1],[2883,1],[3134,1],[3160,1],[4149,1],[4290,1],[7686,1],[7710,1],[7736,1],[7764,1],[7796,1],[7825,1]]},"1150":{"position":[[609,1],[718,1],[742,1],[768,1],[796,1],[828,1],[857,1]]},"1152":{"position":[[307,1],[416,1],[440,1],[466,1],[494,1],[526,1],[555,1]]},"1154":{"position":[[462,1],[571,1],[595,1],[621,1],[649,1],[681,1],[710,1]]},"1155":{"position":[[762,1],[1205,1],[1346,1],[4191,1],[4215,1],[4241,1],[4269,1],[4301,1],[4330,1]]},"1156":{"position":[[340,1],[783,1],[924,1],[3769,1],[3793,1],[3819,1],[3847,1],[3879,1],[3908,1]]},"1157":{"position":[[245,1],[354,1],[378,1],[404,1],[432,1],[464,1],[493,1]]},"1158":{"position":[[239,1],[348,1],[372,1],[398,1],[426,1],[458,1],[487,1]]},"1159":{"position":[[239,1],[348,1],[372,1],[398,1],[426,1],[458,1],[487,1]]},"1161":{"position":[[171,2],[503,1],[1343,1],[1367,1],[1393,1],[1421,1],[1453,1],[1482,1]]},"1163":{"position":[[301,1],[729,1],[753,1],[779,1],[807,1],[839,1],[868,1]]},"1165":{"position":[[130,1],[558,1],[582,1],[608,1],[636,1],[668,1],[697,1]]},"1167":{"position":[[84,1],[1996,1],[2013,1],[2053,1],[2778,1],[5254,1],[5542,1],[5853,6],[5863,3],[6026,1],[6729,1],[6870,1],[9715,1],[9739,1],[9765,1],[9793,1],[9825,1],[9854,1]]},"1169":{"position":[[125,1],[568,1],[709,1],[2823,1],[2847,1],[2873,1],[2901,1],[2933,1],[2962,1]]},"1171":{"position":[[955,1],[1064,1],[1088,1],[1114,1],[1142,1],[1174,1],[1203,1]]},"1172":{"position":[[2340,1],[2449,1],[2473,1],[2499,1],[2527,1],[2559,1],[2588,1]]},"1173":{"position":[[1027,1],[1136,1],[1160,1],[1186,1],[1214,1],[1246,1],[1275,1]]},"1174":{"position":[[455,1],[564,1],[588,1],[614,1],[642,1],[674,1],[703,1]]},"1175":{"position":[[451,1],[560,1],[584,1],[610,1],[638,1],[670,1],[699,1]]},"1176":{"position":[[507,1],[620,1],[729,1],[753,1],[779,1],[807,1],[839,1],[868,1]]},"1177":{"position":[[541,1],[650,1],[674,1],[700,1],[728,1],[760,1],[789,1]]},"1178":{"position":[[858,1],[967,1],[991,1],[1017,1],[1045,1],[1077,1],[1106,1]]},"1179":{"position":[[655,1],[764,1],[788,1],[814,1],[842,1],[874,1],[903,1]]},"1180":{"position":[[926,1],[1035,1],[1059,1],[1085,1],[1113,1],[1145,1],[1174,1]]},"1181":{"position":[[715,1],[1555,1],[1579,1],[1605,1],[1633,1],[1665,1],[1694,1]]},"1182":{"position":[[489,1],[598,1],[622,1],[648,1],[676,1],[708,1],[737,1]]},"1183":{"position":[[444,1],[553,1],[577,1],[603,1],[631,1],[663,1],[692,1]]},"1185":{"position":[[289,1],[398,1],[422,1],[448,1],[476,1],[508,1],[537,1]]},"1186":{"position":[[504,1],[520,1],[533,1],[612,1],[799,1],[1107,1],[1358,1],[1384,1],[2373,1],[2514,1],[5359,1],[5383,1],[5409,1],[5437,1],[5469,1],[5498,1]]},"1187":{"position":[[517,1],[533,1],[546,1],[625,1],[812,1],[1120,1],[1371,1],[1397,1],[2386,1],[2527,1],[5372,1],[5396,1],[5422,1],[5450,1],[5482,1],[5511,1]]},"1188":{"position":[[122,1],[1045,1],[1062,1],[1102,1],[1827,1],[4303,1],[4591,1],[4902,6],[4912,3],[5243,1],[5259,1],[5272,1],[5351,1],[5538,1],[5846,1],[6097,1],[6123,1],[7112,1],[7253,1],[10098,1],[10122,1],[10148,1],[10176,1],[10208,1],[10237,1]]},"1190":{"position":[[1620,1],[1729,1],[1753,1],[1779,1],[1807,1],[1839,1],[1868,1]]},"1191":{"position":[[530,1],[973,1],[1114,1],[3959,1],[3983,1],[4009,1],[4037,1],[4069,1],[4098,1]]},"1192":{"position":[[445,1],[1148,1],[1289,1],[4134,1],[4158,1],[4184,1],[4212,1],[4244,1],[4273,1]]},"1193":{"position":[[757,1],[1200,1],[1341,1],[4186,1],[4210,1],[4236,1],[4264,1],[4296,1],[4325,1]]},"1194":{"position":[[397,1],[840,1],[981,1],[3826,1],[3850,1],[3876,1],[3904,1],[3936,1],[3965,1]]},"1195":{"position":[[375,1],[818,1],[959,1],[3804,1],[3828,1],[3854,1],[3882,1],[3914,1],[3943,1]]},"1196":{"position":[[185,1],[628,1],[769,1],[3614,1],[3638,1],[3664,1],[3692,1],[3724,1],[3753,1]]},"1197":{"position":[[345,1],[596,1],[622,1],[1611,1],[1752,1],[4597,1],[4621,1],[4647,1],[4675,1],[4707,1],[4736,1]]},"1198":{"position":[[355,1],[606,1],[632,1],[1621,1],[1762,1],[4607,1],[4631,1],[4657,1],[4685,1],[4717,1],[4746,1]]},"1199":{"position":[[383,1],[634,1],[660,1],[1649,1],[1790,1],[4635,1],[4659,1],[4685,1],[4713,1],[4745,1],[4774,1]]},"1200":{"position":[[250,1],[501,1],[527,1],[1516,1],[1657,1],[4502,1],[4526,1],[4552,1],[4580,1],[4612,1],[4641,1]]},"1201":{"position":[[333,1],[776,1],[917,1],[3762,1],[3786,1],[3812,1],[3840,1],[3872,1],[3901,1]]},"1202":{"position":[[397,1],[506,1],[530,1],[556,1],[584,1],[616,1],[645,1],[1475,1],[1918,1],[2059,1],[4904,1],[4928,1],[4954,1],[4982,1],[5014,1],[5043,1],[5872,1],[6315,1],[6456,1],[9301,1],[9325,1],[9351,1],[9379,1],[9411,1],[9440,1]]},"1203":{"position":[[307,1],[1010,1],[1151,1],[3996,1],[4020,1],[4046,1],[4074,1],[4106,1],[4135,1]]},"1204":{"position":[[411,1],[854,1],[995,1],[3840,1],[3864,1],[3890,1],[3918,1],[3950,1],[3979,1],[4633,1],[4742,1],[4766,1],[4792,1],[4820,1],[4852,1],[4881,1],[5563,1],[5672,1],[5696,1],[5722,1],[5750,1],[5782,1],[5811,1],[6465,1],[6574,1],[6598,1],[6624,1],[6652,1],[6684,1],[6713,1],[7451,1],[7560,1],[7584,1],[7610,1],[7638,1],[7670,1],[7699,1],[8405,1],[8514,1],[8538,1],[8564,1],[8592,1],[8624,1],[8653,1],[9352,1],[9461,1],[9485,1],[9511,1],[9539,1],[9571,1],[9600,1],[10282,1],[10391,1],[10415,1],[10441,1],[10469,1],[10501,1],[10530,1]]},"1205":{"position":[[555,3],[1177,1],[1329,1],[1480,1],[2183,1],[2324,1],[5169,1],[5193,1],[5219,1],[5247,1],[5279,1],[5308,1]]},"1206":{"position":[[211,1],[654,1],[795,1],[3868,1],[3892,1],[3918,1],[3946,1],[3978,1],[4007,1]]},"1207":{"position":[[368,1],[811,1],[952,1],[3797,1],[3821,1],[3847,1],[3875,1],[3907,1],[3936,1]]},"1209":{"position":[[308,3],[930,1],[1082,1],[1716,1],[2159,1],[2300,1],[5145,1],[5169,1],[5195,1],[5223,1],[5255,1],[5284,1]]},"1211":{"position":[[360,1],[469,1],[493,1],[519,1],[547,1],[579,1],[608,1]]},"1213":{"position":[[131,1],[240,1],[264,1],[290,1],[318,1],[350,1],[379,1]]},"1215":{"position":[[215,1],[324,1],[348,1],[374,1],[402,1],[434,1],[463,1]]},"1217":{"position":[[683,4],[737,1],[754,1],[794,1],[1519,1],[3995,1],[4283,1],[4594,6],[4604,3],[4767,1],[5470,1],[5611,1],[8456,1],[8480,1],[8506,1],[8534,1],[8566,1],[8595,1]]},"1219":{"position":[[1013,1],[1456,1],[1597,1],[3711,1],[3735,1],[3761,1],[3789,1],[3821,1],[3850,1]]},"1221":{"position":[[334,1],[443,1],[467,1],[493,1],[521,1],[553,1],[582,1]]},"1222":{"position":[[137,1],[580,1],[721,1],[3582,1],[3606,1],[3632,1],[3660,1],[3692,1],[3721,1]]},"1223":{"position":[[147,1],[590,1],[731,1],[3592,1],[3616,1],[3642,1],[3670,1],[3702,1],[3731,1]]},"1224":{"position":[[327,1],[770,1],[911,1],[3025,1],[3049,1],[3075,1],[3103,1],[3135,1],[3164,1]]},"1226":{"position":[[2248,3],[2870,1],[3022,1],[5184,1],[5235,1],[5938,1],[6079,1],[8924,1],[8948,1],[8974,1],[9002,1],[9034,1],[9063,1]]},"1228":{"position":[[94,1],[286,1],[562,3],[1261,1],[2818,1],[2835,1],[2875,1],[3600,1],[6076,1],[6364,1],[6675,6],[6685,3],[6848,1],[7551,1],[7692,1],[10537,1],[10561,1],[10587,1],[10615,1],[10647,1],[10676,1]]},"1231":{"position":[[632,1]]},"1232":{"position":[[489,2],[497,3],[909,2],[917,3],[1011,2],[1019,3],[1284,2],[1292,3],[1759,1],[1833,1],[1951,2],[1959,3],[2221,2],[2229,3],[2855,2],[2863,3],[3122,2],[3133,3]]},"1235":{"position":[[1022,1],[1568,3],[2190,1],[2342,1],[2976,1],[3419,1],[3560,1],[6405,1],[6429,1],[6455,1],[6483,1],[6515,1],[6544,1]]},"1237":{"position":[[2418,3],[3040,1],[3192,1],[5354,1],[5405,1],[6108,1],[6249,1],[9094,1],[9118,1],[9144,1],[9172,1],[9204,1],[9233,1]]},"1247":{"position":[[435,1]]},"1251":{"position":[[232,3],[432,3]]},"1252":{"position":[[202,1],[251,1],[266,1]]},"1253":{"position":[[217,1],[499,1]]},"1254":{"position":[[203,1],[226,4],[424,1],[483,1],[506,4]]},"1258":{"position":[[516,5]]},"1260":{"position":[[559,9],[825,1],[938,1]]},"1282":{"position":[[77,1],[499,1]]},"1284":{"position":[[70,1],[492,1]]},"1289":{"position":[[516,5]]},"1291":{"position":[[559,9],[825,1],[938,1]]},"1313":{"position":[[77,1],[499,1]]},"1315":{"position":[[70,1],[492,1]]},"1317":{"position":[[516,5]]},"1319":{"position":[[559,9],[825,1],[938,1]]},"1341":{"position":[[77,1],[499,1]]},"1343":{"position":[[70,1],[492,1]]},"1345":{"position":[[1358,1],[1410,1]]},"1348":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[312,1],[350,1],[375,1],[414,1],[446,1],[486,1],[512,1],[566,1],[597,1],[603,1],[641,1],[647,1],[689,1],[733,1],[771,1],[801,1],[837,1],[873,1],[879,1],[915,1],[940,1],[968,1],[1001,1],[1007,1],[1028,1],[1055,1],[1090,1],[1122,1],[1162,1],[1191,1],[1229,1],[1253,1],[1259,1],[1276,1],[1282,1],[1338,1],[1361,1],[1381,1],[1387,1],[1412,1],[1432,1],[1438,1],[1463,1],[1469,1],[1517,1],[1523,1],[1550,1],[1556,1],[1603,1],[1609,1],[1646,1],[1652,1],[1696,1],[1719,1],[1769,1],[1781,1],[1817,1],[1840,1],[1881,1],[1900,1],[1951,1],[1963,1],[2006,1],[2013,1],[2047,1],[2053,1],[2088,1],[2117,1],[2141,1],[2168,1],[2174,1],[2209,1],[2240,1],[2280,1],[2314,1],[2320,1],[2346,1],[2372,1],[2378,1],[2407,1],[2425,1],[2431,1],[2471,1],[2477,1],[2514,1],[2535,1],[2562,1],[2580,1],[2586,1],[2613,1],[2620,1],[2624,1],[4239,1],[4546,1],[4559,1],[4575,1],[4595,1],[4612,1],[4636,1],[4650,1],[4673,1],[4693,1],[4720,1],[4758,1],[4760,1],[4778,2],[4781,1]]},"1349":{"position":[[28,2],[72,1],[78,1],[117,1],[149,1],[186,1],[213,1],[241,1],[272,1],[294,1],[323,1],[361,1],[396,1],[436,1],[448,1],[502,1],[545,1],[568,1],[598,1],[623,1],[656,1],[662,1],[683,1],[706,1],[731,1],[753,1],[787,1],[823,1],[827,1]]},"1350":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[315,1],[353,1],[378,1],[403,1],[427,1],[466,1],[498,1],[538,1],[564,1],[597,1],[631,1],[666,1],[672,1],[692,1],[731,1],[776,1],[825,1],[864,1],[870,1],[910,1],[922,1],[976,1],[1019,1],[1042,1],[1081,1],[1087,1],[1135,1],[1165,1],[1201,1],[1237,1],[1243,1],[1278,1],[1314,1],[1351,1],[1376,1],[1404,1],[1437,1],[1443,1],[1464,1],[1491,1],[1497,1],[1527,1],[1546,1],[1573,1],[1611,1],[1651,1],[1657,1],[1684,1],[1717,1],[1758,1],[1809,1],[1848,1],[1887,1],[1924,1],[1948,1],[1992,1],[2030,1],[2055,1],[2089,1],[2113,1],[2133,1],[2139,1],[2184,1],[2213,1],[2219,1],[2259,1],[2286,1],[2292,1],[2329,1],[2365,1],[2371,1],[2418,1],[2424,1],[2461,1],[2467,1],[2511,1],[2534,1],[2584,1],[2596,1],[2632,1],[2655,1],[2696,1],[2715,1],[2766,1],[2778,1],[2819,1],[2856,1],[2878,1],[2922,1],[2952,1],[2987,1],[3010,1],[3043,1],[3088,1],[3125,1],[3131,1],[3171,1],[3177,1],[3216,1],[3222,1],[3267,1],[3304,1],[3331,1],[3337,1],[3371,1],[3406,1],[3437,1],[3469,1],[3500,1],[3506,1],[3540,1],[3546,1],[3584,1],[3590,1],[3618,1],[3625,1],[3650,1],[3677,1],[3706,1],[3731,1],[3763,1],[3794,1],[3798,1]]},"1351":{"position":[[26,2],[70,1],[76,1],[115,1],[147,1],[184,1],[211,1],[239,1],[270,1],[292,1],[321,1],[359,1],[394,1],[433,1],[459,1],[489,1],[514,1],[547,1],[553,1],[576,1],[601,1],[619,1],[642,1],[665,1],[671,1],[675,1],[3880,1],[3906,1],[3934,1],[3936,1],[3956,1],[4013,2],[4016,1],[4018,1],[4090,1],[4164,1],[4235,1],[4251,1],[4283,1],[4285,1],[4304,2],[4307,1],[4330,1],[4354,1],[4374,1],[4406,1],[4438,1],[4475,1],[4477,1],[4489,2],[4492,1],[4494,1],[4554,1],[4556,1],[4575,1],[4630,1],[4632,1],[4711,1],[4789,1],[4866,1],[4944,1],[5022,1],[5092,1],[5094,1],[5096,1],[5118,1],[5120,1],[5156,1],[5158,1],[5180,1],[5182,1],[5255,1],[5330,1],[5365,1],[5403,1],[5405,1],[5466,2],[5474,1],[5521,1],[5558,1],[5581,1],[5607,1],[5629,1],[5663,1],[5695,1],[5752,1],[5791,1],[5793,1],[5805,2],[5808,1]]},"1352":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[315,1],[353,1],[378,1],[403,1],[427,1],[466,1],[498,1],[538,1],[564,1],[597,1],[631,1],[666,1],[672,1],[692,1],[731,1],[776,1],[825,1],[864,1],[870,1],[910,1],[922,1],[976,1],[1019,1],[1042,1],[1081,1],[1087,1],[1135,1],[1165,1],[1201,1],[1237,1],[1243,1],[1278,1],[1308,1],[1314,1],[1350,1],[1375,1],[1403,1],[1436,1],[1442,1],[1463,1],[1490,1],[1496,1],[1526,1],[1545,1],[1572,1],[1610,1],[1650,1],[1656,1],[1683,1],[1716,1],[1757,1],[1808,1],[1847,1],[1886,1],[1923,1],[1947,1],[1991,1],[2029,1],[2054,1],[2088,1],[2112,1],[2132,1],[2138,1],[2183,1],[2212,1],[2218,1],[2258,1],[2285,1],[2291,1],[2328,1],[2364,1],[2370,1],[2417,1],[2423,1],[2460,1],[2466,1],[2510,1],[2533,1],[2583,1],[2595,1],[2631,1],[2654,1],[2695,1],[2714,1],[2765,1],[2777,1],[2818,1],[2855,1],[2877,1],[2921,1],[2951,1],[2986,1],[3009,1],[3042,1],[3087,1],[3124,1],[3130,1],[3170,1],[3176,1],[3215,1],[3221,1],[3266,1],[3303,1],[3330,1],[3336,1],[3370,1],[3405,1],[3436,1],[3468,1],[3499,1],[3505,1],[3539,1],[3545,1],[3583,1],[3589,1],[3617,1],[3624,1],[3649,1],[3678,1],[3705,1],[3730,1],[3762,1],[3793,1],[3797,1]]},"1353":{"position":[[33,2],[77,1],[83,1],[122,1],[154,1],[191,1],[218,1],[246,1],[277,1],[299,1],[328,1],[366,1],[391,1],[415,1],[454,1],[486,1],[526,1],[552,1],[572,1],[612,1],[637,1],[665,1],[698,1],[704,1],[725,1],[744,1],[771,1],[808,1],[841,1],[864,1],[889,1],[909,1],[915,1],[944,1],[950,1],[977,1],[983,1],[1019,1],[1042,1],[1083,1],[1102,1],[1142,1],[1148,1],[1187,1],[1193,1],[1238,1],[1275,1],[1300,1],[1307,1],[1311,1],[3012,1],[3027,1],[3055,1],[3078,1],[3102,1],[3136,1],[3171,1],[3200,1],[3223,1],[3225,1],[3227,3],[3231,2],[3234,1],[3236,1],[3336,1],[3365,1],[3409,1],[3430,1],[3432,1],[3443,2],[3446,1]]},"1354":{"position":[[34,2],[78,1],[84,1],[123,1],[155,1],[192,1],[219,1],[247,1],[278,1],[300,1],[329,1],[367,1],[391,1],[418,1],[449,1],[475,1],[515,1],[545,1],[575,1],[600,1],[633,1],[639,1],[669,1],[694,1],[732,1],[749,1],[790,1],[796,1],[843,1],[849,1],[882,1],[905,1],[930,1],[966,1],[985,1],[1013,1],[1036,1],[1053,1],[1077,1],[1109,1],[1115,1],[1119,1],[3082,1],[3217,1],[3241,1],[3275,1],[3310,1],[3339,1],[3362,1],[3364,1],[3366,3],[3370,2],[3373,1],[3409,1],[3438,1],[3482,1],[3503,1],[3505,1],[3507,3],[3511,2],[3514,1],[3551,1],[3591,1],[3612,1]]},"1355":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[316,1],[354,1],[389,1],[421,1],[427,1],[452,1],[476,1],[515,1],[541,1],[569,1],[623,1],[654,1],[660,1],[693,1],[705,1],[743,1],[749,1],[791,1],[835,1],[873,1],[903,1],[928,1],[961,1],[967,1],[988,1],[1018,1],[1057,1],[1089,1],[1129,1],[1158,1],[1181,1],[1210,1],[1216,1],[1240,1],[1246,1],[1263,1],[1269,1],[1283,1],[1339,1],[1362,1],[1382,1],[1388,1],[1413,1],[1433,1],[1439,1],[1464,1],[1470,1],[1494,1],[1500,1],[1543,1],[1550,1],[1584,1],[1590,1],[1614,1],[1641,1],[1647,1],[1677,1],[1708,1],[1714,1],[1745,1],[1785,1],[1819,1],[1825,1],[1851,1],[1877,1],[1883,1],[1912,1],[1930,1],[1936,1],[1976,1],[1982,1],[2019,1],[2040,1],[2058,1],[2064,1],[2091,1],[2098,1],[2130,1],[2134,1],[5249,1],[7847,1],[7860,1],[7877,1],[7894,1],[7918,1],[7939,1],[7971,1],[7973,1],[7983,2],[7986,1]]},"1356":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[317,1],[355,1],[385,1],[410,1],[443,1],[449,1],[470,1],[493,1],[518,1],[537,1],[2054,1],[2080,1],[2113,1]]},"1357":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[376,1],[414,1],[418,1]]},"1358":{"position":[[26,2],[70,1],[76,1],[115,1],[147,1],[184,1],[211,1],[239,1],[270,1],[292,1],[321,1],[359,1],[394,1],[426,1],[432,1],[457,1],[481,1],[507,1],[547,1],[572,1],[605,1],[611,1],[632,1],[661,1],[688,1],[711,1],[717,1],[740,1],[765,1],[789,1],[795,1],[835,1],[857,1],[863,1],[900,1],[904,1],[2930,1],[2953,1],[2994,1],[3044,1],[3123,1],[3147,1],[3156,1],[3241,1],[3266,1],[3268,1],[3287,2],[3290,1]]},"1359":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[317,1],[355,1],[390,1],[421,1],[433,1],[451,1],[457,1],[474,1],[504,1],[529,1],[562,1],[568,1],[589,1],[624,1],[647,1],[672,1],[692,1],[698,1],[717,1],[723,1],[749,1],[755,1],[778,1],[784,1],[799,1],[805,1],[822,1],[848,1],[852,1],[2435,1],[2448,1],[2471,8],[2488,1],[2505,1]]},"1360":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[312,1],[350,1],[385,1],[409,1],[438,1],[464,1],[479,1],[485,1],[516,1],[531,1],[537,1],[553,1],[559,1],[589,1],[610,1],[617,1],[632,1],[638,1],[657,1],[663,1],[688,1],[721,1],[727,1],[751,1],[763,1],[789,1],[796,1],[839,1],[845,1],[869,1],[889,1],[895,1],[918,1],[943,1],[971,1],[977,1],[1002,1],[1008,1],[1038,1],[1068,1],[1083,1],[1089,1],[1105,1],[1128,1],[1146,1],[1153,1],[1210,1],[1231,1],[1248,1],[1263,1],[1290,1],[1308,1],[1314,1],[1318,1],[5872,1],[5955,1],[5979,1],[6011,1],[6052,1],[6087,1],[6116,1],[6139,1],[6141,1],[6159,2],[6162,1],[6182,1],[6220,1],[6241,1],[6324,1],[6405,1],[6443,1],[6463,1],[6493,1],[6533,1],[6590,1],[6646,1],[6676,1]]},"1361":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[349,1],[355,1],[385,1],[410,1],[443,1],[449,1],[470,1],[493,1],[517,1],[523,1],[548,1],[590,1],[594,1],[2383,1],[2408,1],[2410,1],[2436,2],[2439,1],[2441,1],[2518,1],[2541,1],[2543,1],[2569,2],[2581,1],[2604,1],[2621,1]]},"1362":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[349,1],[372,1],[401,1],[440,1],[511,1],[540,1],[570,1],[577,1],[628,1],[664,1],[691,1],[697,1],[727,1],[751,1],[758,1],[789,1],[814,1],[842,1],[848,1],[881,1],[887,1],[915,1],[921,1],[951,1],[972,1],[998,1],[1031,1],[1061,1],[1099,1],[1135,1],[1142,1],[1171,1],[1177,1],[1204,1],[1210,1],[1240,1],[1272,1],[1305,1],[1322,1],[1404,1],[1464,1],[1502,1],[1554,1],[1607,1],[1626,1],[1686,1],[1752,1],[1795,1],[1860,1],[1904,1],[1938,1],[1974,1],[1993,1],[2024,1],[2030,1],[2054,1],[2061,1],[2088,1],[2116,1],[2122,1],[2152,1],[2158,1],[2182,1],[2199,1],[2238,1],[2244,1],[2289,1],[2325,1],[2347,1],[2353,1],[2399,1],[2422,1],[2469,1],[2538,1],[2611,1],[2662,1],[2688,1],[2713,1],[2750,1],[2756,1],[2778,1],[2784,1],[2810,1],[2816,1],[2840,1],[2846,1],[2858,1],[2876,1],[2882,1],[2900,1],[2914,1],[2940,1],[2980,1],[2986,1],[3011,1],[3017,1],[3039,1],[3045,1],[3067,1],[3074,1],[3111,1],[3140,1],[3159,1],[3182,1],[3188,1],[3219,1],[3272,1],[3315,1],[3359,1],[3378,1],[3429,1],[3486,1],[3526,1],[3548,1],[3582,1],[3638,1],[3668,1],[3674,1],[3709,1],[3737,1],[3762,1],[3768,1],[3803,1],[3844,1],[3850,1],[3893,1],[3943,1],[3971,1],[4015,1],[4022,1],[4059,1],[4066,1],[4094,1],[4133,1],[4151,1],[4157,1],[4177,1],[4197,1],[4232,1],[4238,1],[4258,1],[4265,1],[4302,1],[4308,1],[4343,1],[4350,1],[4383,1],[4420,1],[4450,1],[4456,1],[4481,1],[4487,1],[4517,1],[4523,1],[4543,1],[4569,1],[4606,1],[4639,1],[4663,1],[4695,1],[4699,1],[7007,4],[8475,1],[8506,1],[8555,1],[8574,1],[8769,4],[9095,4],[9782,1],[9896,1],[10120,1],[10209,1],[10308,1],[10895,4],[12963,3],[13053,4],[13058,2],[13068,1],[13080,2],[13784,1],[13803,1],[13805,1],[13851,2],[13873,1],[13875,2],[13899,1],[13901,1],[13917,2],[13925,1],[13927,1],[13943,2],[13957,1],[13959,1],[14074,2],[14077,1]]},"1363":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[349,1],[372,1],[401,1],[440,1],[474,1],[480,1],[518,1],[554,1],[560,1],[599,1],[605,1],[639,1],[645,1],[694,1],[700,1],[726,1],[732,1],[779,1],[786,1],[883,1],[890,1],[937,1],[991,1],[1032,1],[1085,1],[1122,1],[1155,1],[1183,1],[1189,1],[1244,1],[1297,1],[1304,1],[1367,1],[1385,1],[1391,1],[1421,1],[1444,1],[1450,1],[1481,1],[1510,1],[1516,1],[1541,1],[1547,1],[1572,1],[1613,1],[1620,1],[1653,1],[1659,1],[1687,1],[1693,1],[1714,1],[1776,1],[1830,1],[1837,1],[1861,1],[1873,1],[1903,1],[1910,1],[1950,1],[1957,1],[2018,1],[2025,1],[2071,1],[2094,1],[2119,1],[2141,1],[2147,1],[2174,1],[2193,1],[2221,1],[2227,1],[2251,1],[2257,1],[2298,1],[2304,1],[2343,1],[2349,1],[2375,1],[2381,1],[2411,1],[2417,1],[2448,1],[2454,1],[2491,1],[2498,1],[2525,1],[2571,1],[2578,1],[2611,1],[2618,1],[2639,1],[2646,1],[2698,1],[2730,1],[2764,1],[2794,1],[2800,1],[2804,1],[4284,3],[6927,1],[6949,1],[6974,1],[6994,1],[7010,1],[7014,1],[7083,1],[7117,1],[7161,1],[7183,1],[7224,1],[7245,1],[7270,1],[7300,1],[7366,1],[7386,1],[7419,1],[7440,1],[7460,1],[7485,1],[7522,1],[7542,1],[7558,1],[7562,1],[7634,1],[7656,1],[7683,1],[7720,1],[7742,1],[7815,1],[7831,1]]},"1364":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[350,1],[373,1],[402,1],[441,1],[486,1],[493,1],[564,1],[593,1],[623,1],[630,1],[681,1],[708,1],[714,1],[744,1],[768,1],[775,1],[806,1],[831,1],[859,1],[865,1],[898,1],[904,1],[932,1],[938,1],[968,1],[989,1],[1015,1],[1048,1],[1078,1],[1116,1],[1152,1],[1159,1],[1186,1],[1192,1],[1222,1],[1254,1],[1287,1],[1304,1],[1386,1],[1446,1],[1484,1],[1536,1],[1589,1],[1608,1],[1668,1],[1734,1],[1777,1],[1842,1],[1886,1],[1920,1],[1956,1],[1975,1],[2006,1],[2012,1],[2036,1],[2043,1],[2070,1],[2093,1],[2099,1],[2127,1],[2133,1],[2163,1],[2169,1],[2193,1],[2210,1],[2249,1],[2255,1],[2300,1],[2336,1],[2358,1],[2364,1],[2410,1],[2433,1],[2480,1],[2549,1],[2622,1],[2673,1],[2699,1],[2724,1],[2761,1],[2767,1],[2789,1],[2795,1],[2821,1],[2827,1],[2851,1],[2857,1],[2869,1],[2887,1],[2893,1],[2911,1],[2925,1],[2951,1],[2976,1],[2982,1],[3004,1],[3010,1],[3032,1],[3039,1],[3076,1],[3105,1],[3124,1],[3147,1],[3153,1],[3184,1],[3237,1],[3280,1],[3324,1],[3343,1],[3394,1],[3451,1],[3491,1],[3513,1],[3547,1],[3603,1],[3633,1],[3639,1],[3667,1],[3692,1],[3698,1],[3733,1],[3774,1],[3780,1],[3821,1],[3838,1],[3881,1],[3931,1],[3959,1],[4003,1],[4010,1],[4038,1],[4077,1],[4118,1],[4136,1],[4142,1],[4162,1],[4182,1],[4217,1],[4223,1],[4243,1],[4250,1],[4287,1],[4293,1],[4338,1],[4373,1],[4380,1],[4417,1],[4450,1],[4487,1],[4517,1],[4523,1],[4548,1],[4554,1],[4584,1],[4590,1],[4610,1],[4633,1],[4640,1],[4666,1],[4703,1],[4736,1],[4760,1],[4792,1],[4796,1],[6848,1],[7246,4],[9380,4],[9589,1],[9620,1],[9669,1],[9688,1],[9883,4],[10209,4],[10896,1],[11010,1],[11234,1],[11323,1],[11422,1],[11862,4],[13663,3],[13753,4],[13758,2],[13768,1],[13780,2],[14485,1],[14505,1],[14507,1],[14559,2],[14581,1],[14583,2],[14607,1],[14609,1],[14625,2],[14633,1],[14635,1],[14669,2],[14683,1],[14685,1],[14800,2],[14803,1]]},"1365":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[346,1],[424,1],[462,1],[495,1],[501,1],[529,1],[535,1],[549,1],[572,1],[597,1],[627,1],[651,1],[657,1],[677,1],[683,1],[713,1],[751,1],[771,1],[775,1],[1883,1],[1906,1],[1922,1]]},"1366":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[354,1],[387,1],[393,1],[428,1],[440,1],[468,1],[493,1],[522,1],[555,1],[561,1],[584,1],[590,1],[611,1],[633,1],[656,1],[681,1],[723,1],[759,1],[801,1],[826,1],[830,1],[3298,1],[3316,1],[3334,3],[3343,1],[3345,1],[3363,2],[3366,1]]},"1367":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[347,1],[370,1],[399,1],[438,1],[472,1],[478,1],[516,1],[552,1],[558,1],[597,1],[603,1],[652,1],[658,1],[684,1],[690,1],[737,1],[744,1],[841,1],[848,1],[885,1],[932,1],[986,1],[1027,1],[1080,1],[1107,1],[1139,1],[1173,1],[1204,1],[1241,1],[1274,1],[1302,1],[1308,1],[1363,1],[1416,1],[1423,1],[1453,1],[1460,1],[1523,1],[1574,1],[1592,1],[1598,1],[1625,1],[1631,1],[1661,1],[1685,1],[1692,1],[1723,1],[1752,1],[1758,1],[1783,1],[1789,1],[1820,1],[1845,1],[1873,1],[1879,1],[1912,1],[1918,1],[1946,1],[1952,1],[1982,1],[2003,1],[2046,1],[2072,1],[2105,1],[2167,1],[2197,1],[2233,1],[2240,1],[2269,1],[2275,1],[2290,1],[2307,1],[2334,1],[2340,1],[2370,1],[2402,1],[2435,1],[2452,1],[2534,1],[2594,1],[2632,1],[2684,1],[2737,1],[2756,1],[2816,1],[2882,1],[2925,1],[2990,1],[3034,1],[3084,1],[3120,1],[3158,1],[3165,1],[3184,1],[3215,1],[3221,1],[3245,1],[3252,1],[3279,1],[3307,1],[3313,1],[3343,1],[3349,1],[3373,1],[3390,1],[3429,1],[3435,1],[3480,1],[3516,1],[3556,1],[3563,1],[3624,1],[3631,1],[3677,1],[3699,1],[3722,1],[3769,1],[3838,1],[3911,1],[3962,1],[3988,1],[4013,1],[4050,1],[4056,1],[4078,1],[4084,1],[4110,1],[4116,1],[4140,1],[4146,1],[4158,1],[4176,1],[4182,1],[4200,1],[4214,1],[4240,1],[4265,1],[4271,1],[4292,1],[4314,1],[4321,1],[4358,1],[4387,1],[4406,1],[4429,1],[4435,1],[4466,1],[4519,1],[4562,1],[4606,1],[4625,1],[4676,1],[4733,1],[4773,1],[4795,1],[4829,1],[4885,1],[4915,1],[4921,1],[4949,1],[4974,1],[4980,1],[5015,1],[5056,1],[5062,1],[5101,1],[5107,1],[5150,1],[5200,1],[5228,1],[5272,1],[5279,1],[5305,1],[5311,1],[5341,1],[5347,1],[5378,1],[5396,1],[5402,1],[5439,1],[5446,1],[5474,1],[5513,1],[5550,1],[5557,1],[5599,1],[5605,1],[5623,1],[5629,1],[5646,1],[5652,1],[5672,1],[5692,1],[5727,1],[5733,1],[5779,1],[5786,1],[5806,1],[5843,1],[5849,1],[5884,1],[5891,1],[5924,1],[5961,1],[5991,1],[5997,1],[6022,1],[6028,1],[6058,1],[6064,1],[6089,1],[6095,1],[6127,1],[6144,1],[6172,1],[6178,1],[6210,1],[6216,1],[6236,1],[6269,1],[6276,1],[6306,1],[6312,1],[6364,1],[6390,1],[6427,1],[6460,1],[6484,1],[6516,1],[6550,1],[6580,1],[6586,1],[6590,1],[8563,1],[8594,1],[8643,1],[8662,1],[8857,4],[9183,4],[10699,1],[10813,1],[11037,1],[11126,1],[11225,1],[12871,3],[12961,4],[12966,2],[12976,1],[12988,2],[13883,2],[14392,1],[14415,1],[14457,1],[14459,2],[14480,1],[14482,1],[14496,2],[14504,1],[14506,1],[14522,2],[14536,1],[14538,1],[14716,2],[14719,1]]},"1368":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[360,1],[366,1],[396,1],[402,1],[438,1],[468,1],[493,1],[499,1],[577,1],[583,1],[620,1],[645,1],[726,1],[732,1],[758,1],[764,1],[800,1],[806,1],[843,1],[876,1],[899,1],[938,1],[965,1],[971,1],[993,1],[1023,1],[1029,1],[1057,1],[1063,1],[1088,1],[1094,1],[1134,1],[1161,1],[1167,1],[1186,1],[1206,1],[1212,1],[1239,1],[1245,1],[1264,1],[1270,1],[1303,1],[1309,1],[1364,1],[1371,1],[1402,1],[1408,1],[1433,1],[1439,1],[1456,1]]},"1369":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[362,1],[392,1],[417,1],[450,1],[456,1],[479,1],[504,1],[508,1]]},"1370":{"position":[[32,2],[76,1],[82,1],[121,1],[153,1],[190,1],[217,1],[245,1],[276,1],[298,1],[336,1],[363,1],[386,1],[450,1],[494,1],[500,1],[523,1],[550,1],[571,1],[578,1],[582,1],[1989,1],[2876,1]]},"1371":{"position":[[23,2],[67,1],[73,1],[112,1],[144,1],[181,1],[208,1],[236,1],[267,1],[289,1],[327,1],[350,1],[380,1],[384,1]]},"1372":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[351,1],[374,1],[403,1],[442,1],[476,1],[482,1],[520,1],[556,1],[562,1],[601,1],[607,1],[656,1],[662,1],[688,1],[694,1],[741,1],[748,1],[811,1],[818,1],[855,1],[902,1],[956,1],[997,1],[1050,1],[1087,1],[1120,1],[1148,1],[1154,1],[1209,1],[1262,1],[1269,1],[1287,1],[1293,1],[1323,1],[1352,1],[1358,1],[1383,1],[1389,1],[1451,1],[1487,1],[1494,1],[1523,1],[1529,1],[1549,1],[1587,1],[1594,1],[1634,1],[1695,1],[1702,1],[1748,1],[1787,1],[1793,1],[1839,1],[1846,1],[1876,1],[1882,1],[1952,1],[1984,1],[2018,1],[2022,1]]},"1373":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[338,1],[365,1],[391,1],[397,1],[422,1],[446,1],[467,1],[491,1],[508,1],[530,1],[560,1],[567,1],[597,1],[632,1],[663,1],[688,1],[716,1],[722,1],[755,1],[761,1],[789,1],[795,1],[825,1],[846,1],[868,1],[874,1],[900,1],[920,1],[926,1],[953,1],[959,1],[989,1],[1008,1],[1039,1],[1045,1],[1072,1],[1107,1],[1141,1],[1165,1],[1193,1],[1199,1],[1223,1],[1240,1],[1279,1],[1285,1],[1321,1],[1344,1],[1391,1],[1460,1],[1533,1],[1584,1],[1610,1],[1635,1],[1668,1],[1690,1],[1696,1],[1722,1],[1728,1],[1752,1],[1758,1],[1770,1],[1788,1],[1794,1],[1812,1],[1826,1],[1852,1],[1874,1],[1880,1],[1917,1],[1946,1],[1970,1],[1976,1],[2000,1],[2006,1],[2059,1],[2102,1],[2146,1],[2165,1],[2216,1],[2273,1],[2313,1],[2335,1],[2369,1],[2425,1],[2455,1],[2461,1],[2496,1],[2521,1],[2527,1],[2562,1],[2590,1],[2610,1],[2630,1],[2650,1],[2678,1],[2684,1],[2721,1],[2725,1],[4794,4],[4935,1],[5411,4],[6177,1],[6218,1],[8594,1],[8671,1],[8709,1],[8733,1],[8763,1],[8784,1],[8804,1],[8828,1],[8864,1],[8887,1],[8907,1],[8932,1],[8964,1],[8988,1]]},"1374":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[347,1],[373,1],[394,1],[424,1],[449,1],[482,1],[488,1],[513,1],[528,1],[534,1],[557,1],[582,1],[616,1],[642,1],[646,1],[1816,1],[1838,4],[1853,4],[2584,1],[2911,1],[2968,1],[2996,1],[2998,1],[3000,1],[3002,3],[3006,2],[3017,1],[3019,1],[3021,1],[3023,3],[3027,2],[3030,1],[3050,1],[3072,1],[3094,1],[3120,1],[3149,1],[3151,1],[3203,2],[3206,1],[3210,1],[3252,1],[3276,1],[3299,1],[3321,1],[3344,1],[3370,1],[3391,1],[3413,1],[3440,1],[3466,1],[3491,1],[3513,1],[3536,1],[3562,1],[3583,1],[3587,1],[3634,1],[3666,1],[3698,1],[3718,1],[3748,1],[3774,1],[3794,1],[3824,1],[3850,1],[3872,1],[3905,1],[3907,1],[4045,2],[4048,1]]},"1375":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[354,1],[388,1],[416,1],[420,1]]},"1376":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[372,1],[376,1]]},"1377":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[369,1],[398,1],[411,1],[436,1],[469,1],[475,1],[502,1],[508,1],[531,1],[556,1],[576,1],[582,1],[611,1],[615,1]]},"1378":{"position":[[24,2],[68,1],[74,1],[113,1],[145,1],[182,1],[209,1],[237,1],[268,1],[290,1],[328,1],[358,1],[362,1]]},"1379":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[356,1],[385,1]]},"1380":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[355,1],[380,1],[413,1],[419,1],[442,1],[467,1],[485,1],[491,1],[506,1],[1760,1],[1786,1],[1820,1]]},"1381":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[352,1],[382,1],[413,1],[438,1],[471,1],[477,1],[498,1],[517,1],[560,1],[585,1],[616,1],[637,1],[641,1],[2558,1],[2579,1],[2607,1],[2623,1],[2625,1],[2639,2],[2652,1],[2654,1],[2689,2],[2723,2],[2726,1],[2758,1],[2778,1],[2797,1]]},"1382":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[341,1],[366,1],[396,1],[403,1],[436,1],[464,1],[500,1],[527,1],[551,1],[557,1],[587,1],[618,1],[655,1],[680,1],[736,1],[764,1],[770,1],[803,1],[809,1],[837,1],[843,1],[873,1],[894,1],[916,1],[922,1],[948,1],[999,1],[1037,1],[1064,1],[1070,1],[1121,1],[1140,1],[1171,1],[1177,1],[1204,1],[1232,1],[1238,1],[1262,1],[1279,1],[1318,1],[1324,1],[1360,1],[1383,1],[1430,1],[1499,1],[1572,1],[1623,1],[1649,1],[1674,1],[1707,1],[1744,1],[1750,1],[1772,1],[1778,1],[1810,1],[1836,1],[1842,1],[1866,1],[1872,1],[1884,1],[1902,1],[1908,1],[1926,1],[1940,1],[1966,1],[2010,1],[2016,1],[2056,1],[2062,1],[2087,1],[2093,1],[2115,1],[2121,1],[2143,1],[2180,1],[2209,1],[2262,1],[2305,1],[2349,1],[2368,1],[2419,1],[2476,1],[2516,1],[2538,1],[2572,1],[2628,1],[2658,1],[2664,1],[2699,1],[2724,1],[2730,1],[2765,1],[2793,1],[2819,1],[2836,1],[2856,1],[2876,1],[2896,1],[2924,1],[2930,1],[2967,1],[2971,1],[4917,1],[4931,1],[4959,1],[4979,1],[5539,4],[5864,4],[6005,1],[6508,1],[6622,1],[6846,1],[6935,1],[7034,1],[7764,4],[11325,3],[11415,4],[11420,2],[11430,1],[11442,2],[11615,1],[11686,1],[11763,1],[11778,1],[11780,1],[11794,2],[11805,1],[11807,1],[11819,2],[11827,1],[11829,1],[11840,2],[11843,1],[11863,1],[11878,1],[11880,1],[11894,2],[11905,1],[11907,1],[11919,2],[11922,1],[11924,1],[11971,1]]},"1383":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[381,1],[405,1],[434,1],[465,1],[481,1],[487,1],[517,1],[538,1],[545,1],[560,1],[566,1],[585,1],[591,1],[616,1],[649,1],[655,1],[679,1],[691,1],[717,1],[724,1],[767,1],[773,1],[796,1],[821,1],[849,1],[855,1],[880,1],[886,1],[916,1],[946,1],[961,1],[967,1],[983,1],[1006,1],[1024,1],[1031,1],[1088,1],[1109,1],[1126,1],[1142,1],[1148,1],[1166,1],[1172,1],[1176,1],[7945,1],[7963,1],[7979,1],[8025,1],[8040,1],[8125,7]]},"1384":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[342,1],[367,1],[406,1],[436,1],[443,1],[471,1],[498,1],[504,1],[534,1],[558,1],[565,1],[596,1],[621,1],[677,1],[705,1],[711,1],[744,1],[750,1],[778,1],[784,1],[814,1],[835,1],[857,1],[863,1],[889,1],[922,1],[949,1],[955,1],[985,1],[1017,1],[1050,1],[1067,1],[1149,1],[1209,1],[1247,1],[1298,1],[1350,1],[1403,1],[1422,1],[1482,1],[1548,1],[1591,1],[1656,1],[1700,1],[1734,1],[1770,1],[1789,1],[1820,1],[1826,1],[1850,1],[1857,1],[1884,1],[1907,1],[1913,1],[1941,1],[1947,1],[1971,1],[1988,1],[2027,1],[2033,1],[2069,1],[2116,1],[2139,1],[2186,1],[2255,1],[2328,1],[2379,1],[2405,1],[2430,1],[2463,1],[2500,1],[2506,1],[2528,1],[2534,1],[2560,1],[2566,1],[2590,1],[2596,1],[2608,1],[2626,1],[2632,1],[2650,1],[2664,1],[2690,1],[2715,1],[2721,1],[2743,1],[2749,1],[2771,1],[2778,1],[2815,1],[2844,1],[2879,1],[2902,1],[2908,1],[2961,1],[3004,1],[3048,1],[3067,1],[3118,1],[3175,1],[3215,1],[3237,1],[3271,1],[3327,1],[3357,1],[3363,1],[3398,1],[3426,1],[3451,1],[3457,1],[3492,1],[3535,1],[3585,1],[3613,1],[3657,1],[3664,1],[3690,1],[3707,1],[3735,1],[3753,1],[3759,1],[3779,1],[3799,1],[3834,1],[3840,1],[3877,1],[3883,1],[3928,1],[3963,1],[3970,1],[4004,1],[4011,1],[4048,1],[4068,1],[4091,1],[4098,1],[4129,1],[4166,1],[4199,1],[4227,1],[4233,1],[4270,1],[4274,1],[5893,1],[6751,4],[10486,4],[10811,4],[10952,1],[11824,1],[12757,1],[12862,1],[12976,1],[13200,1],[13289,1],[13388,1],[13828,4],[18529,1],[18979,3],[19069,4],[19074,2],[19084,1],[19096,2],[21206,1],[21281,1],[21351,1],[21370,1],[21372,1],[21390,2],[21410,1],[21412,1],[21428,2],[21446,1],[21448,1],[21450,1],[21477,2],[21480,1],[21482,1],[21553,1],[21585,1],[21600,1],[21602,1],[21644,2],[21664,1],[21666,1],[21668,1],[21816,2],[21834,1],[21836,1],[21838,1],[21865,2],[21868,1],[21870,1],[21950,1],[21962,1],[22036,1],[22084,1],[22116,1],[22118,1],[22172,2],[22192,1],[22194,1],[22208,2],[22228,1],[22230,1],[22232,1],[22246,1],[22278,1],[22280,2],[22283,1],[22298,1],[22331,1],[22333,2],[22336,2],[22339,1]]},"1385":{"position":[[23,2],[67,1],[73,1],[112,1],[144,1],[181,1],[208,1],[236,1],[267,1],[289,1],[327,1],[350,1],[356,1],[386,1],[417,1],[442,1],[470,1],[476,1],[509,1],[515,1],[543,1],[549,1],[579,1],[600,1],[627,1],[633,1],[660,1],[688,1],[694,1],[718,1],[735,1],[774,1],[780,1],[816,1],[839,1],[886,1],[955,1],[1028,1],[1079,1],[1105,1],[1130,1],[1167,1],[1196,1],[1249,1],[1292,1],[1336,1],[1355,1],[1406,1],[1463,1],[1503,1],[1525,1],[1559,1],[1615,1],[1645,1],[1651,1],[1676,1],[1682,1],[1717,1],[1745,1],[1765,1],[1785,1],[1813,1],[1819,1],[1823,1],[3453,4],[3777,4],[3918,1],[6903,3],[6993,4],[6998,2],[7008,1],[7020,2],[7193,1],[7279,1],[7305,1],[7323,1],[7325,1],[7343,2],[7361,1],[7363,1],[7365,1],[7392,2],[7395,1],[7397,1],[7489,1],[7505,1],[7507,1],[7522,2],[7530,1],[7532,1],[7547,2],[7550,1],[7696,3]]},"1386":{"position":[[28,2],[72,1],[78,1],[117,1],[149,1],[186,1],[213,1],[241,1],[272,1],[294,1],[332,1],[362,1],[387,1],[420,1],[426,1],[447,1],[470,1],[495,1],[533,1],[539,1],[543,1],[3213,2],[3242,2],[3364,2],[3420,2],[3562,1],[3582,1],[3601,1],[3603,1],[3605,1],[3669,1],[3745,2],[3748,1],[3767,1],[3782,1],[3817,1],[3839,1],[3841,1],[3843,3],[3847,2],[3865,1],[3867,2],[3874,1],[3881,1],[3891,1]]},"1387":{"position":[[26,2],[70,1],[76,1],[115,1],[147,1],[184,1],[211,1],[239,1],[270,1],[292,1],[330,1],[351,1],[376,1],[404,1],[430,1],[460,1],[467,1],[494,1],[521,1],[549,1],[572,1],[578,1],[605,1],[611,1],[641,1],[665,1],[672,1],[703,1],[728,1],[784,1],[812,1],[818,1],[851,1],[857,1],[885,1],[891,1],[921,1],[942,1],[968,1],[1001,1],[1028,1],[1034,1],[1064,1],[1096,1],[1129,1],[1146,1],[1228,1],[1288,1],[1326,1],[1377,1],[1429,1],[1482,1],[1501,1],[1561,1],[1627,1],[1670,1],[1735,1],[1779,1],[1813,1],[1849,1],[1868,1],[1899,1],[1905,1],[1929,1],[1936,1],[1963,1],[1991,1],[1997,1],[2021,1],[2038,1],[2077,1],[2083,1],[2119,1],[2166,1],[2189,1],[2236,1],[2305,1],[2378,1],[2429,1],[2455,1],[2480,1],[2502,1],[2508,1],[2534,1],[2540,1],[2564,1],[2570,1],[2582,1],[2600,1],[2606,1],[2624,1],[2638,1],[2664,1],[2689,1],[2695,1],[2717,1],[2723,1],[2745,1],[2782,1],[2811,1],[2846,1],[2869,1],[2875,1],[2928,1],[2971,1],[3015,1],[3034,1],[3085,1],[3142,1],[3182,1],[3204,1],[3238,1],[3294,1],[3324,1],[3330,1],[3358,1],[3383,1],[3389,1],[3424,1],[3467,1],[3517,1],[3545,1],[3589,1],[3596,1],[3622,1],[3639,1],[3667,1],[3685,1],[3691,1],[3711,1],[3731,1],[3766,1],[3772,1],[3794,1],[3830,1],[3867,1],[3873,1],[3908,1],[3915,1],[3935,1],[3956,1],[3962,1],[3985,1],[3992,1],[4023,1],[4060,1],[4093,1],[4121,1],[4127,1],[4164,1],[4168,1],[5786,4],[6110,4],[6251,1],[7089,4],[10276,3],[10366,4],[10371,2],[10381,1],[10393,2],[10566,1],[10658,1],[10684,1],[10702,1],[10704,1],[10722,2],[10725,1],[10727,1],[10822,1],[10838,1],[10840,1],[10854,2],[10862,1],[10864,1],[10879,2],[10882,1],[10886,2],[10947,2],[11019,3]]},"1388":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[318,1],[339,1],[364,1],[391,1],[434,1],[478,1],[508,1],[515,1],[548,1],[569,1],[597,1],[633,1],[660,1],[684,1],[690,1],[720,1],[751,1],[788,1],[813,1],[869,1],[897,1],[903,1],[936,1],[942,1],[970,1],[976,1],[1006,1],[1027,1],[1049,1],[1055,1],[1081,1],[1132,1],[1170,1],[1195,1],[1222,1],[1228,1],[1279,1],[1298,1],[1329,1],[1335,1],[1356,1],[1362,1],[1389,1],[1417,1],[1423,1],[1447,1],[1464,1],[1503,1],[1509,1],[1545,1],[1568,1],[1615,1],[1684,1],[1757,1],[1808,1],[1834,1],[1859,1],[1892,1],[1929,1],[1935,1],[1957,1],[1963,1],[1995,1],[2021,1],[2027,1],[2051,1],[2057,1],[2069,1],[2087,1],[2093,1],[2111,1],[2125,1],[2151,1],[2195,1],[2201,1],[2241,1],[2247,1],[2272,1],[2278,1],[2300,1],[2306,1],[2328,1],[2365,1],[2394,1],[2447,1],[2490,1],[2534,1],[2553,1],[2604,1],[2661,1],[2701,1],[2723,1],[2757,1],[2813,1],[2843,1],[2849,1],[2884,1],[2909,1],[2915,1],[2950,1],[2978,1],[3006,1],[3012,1],[3029,1],[3036,1],[3042,1],[3048,1],[3071,1],[3089,1],[3138,1],[3144,1],[3170,1],[3187,1],[3218,1],[3225,1],[3245,1],[3265,1],[3297,1],[3303,1],[3323,1],[3356,1],[3363,1],[3391,1],[3397,1],[3434,1],[3438,1],[5611,1],[5625,1],[5653,1],[5673,1],[6733,4],[6874,1],[7377,1],[7491,1],[7715,1],[7804,1],[7903,1],[9818,3],[9908,4],[9913,2],[9923,1],[9935,2],[10309,1],[10331,1],[10400,1],[10420,1],[10422,1],[10441,2],[10444,1]]},"1389":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[354,1],[389,1],[395,1],[417,1],[436,1],[466,1],[492,1],[519,1],[565,1],[603,1],[647,1],[653,1],[688,1],[717,1],[723,1],[751,1],[757,1],[796,1],[829,1],[835,1],[883,1],[917,1],[923,1],[968,1],[1007,1],[1013,1],[1039,1],[1045,1],[1073,1],[1079,1],[1103,1],[1133,1],[1191,1],[1198,1],[1231,1],[1258,1],[1264,1],[1301,1],[1324,1],[1349,1],[1355,1],[1378,1],[1385,1],[1410,1],[1416,1],[1471,1],[1496,1],[1528,1],[1553,1],[1559,1],[1595,1],[1625,1],[1631,1],[1664,1],[1704,1],[1731,1],[1737,1],[1775,1],[1807,1],[1813,1],[1855,1],[1917,1],[1924,1],[1959,1],[1988,1],[1994,1],[2033,1],[2083,1],[2089,1],[2122,1],[2128,1],[2174,1],[2199,1],[2243,1],[2278,1],[2300,1],[2332,1],[2371,1],[2377,1],[2411,1],[2435,1],[2441,1],[2476,1],[2505,1],[2511,1],[2550,1],[2573,1],[2598,1],[2622,1],[2670,1],[2691,1],[2713,1],[2755,1],[2794,1],[2800,1],[2819,1],[2846,1],[2852,1],[2943,1],[2962,1],[2968,1],[3000,1],[3024,1],[3047,1],[3085,1],[3113,1],[3119,1],[3144,1],[3150,1],[3184,1],[3228,1],[3271,1],[3289,1],[3295,1],[3324,1],[3347,1],[3353,1],[3387,1],[3415,1],[3421,1],[3459,1],[3480,1],[3509,1],[3537,1],[3574,1],[3614,1],[3658,1],[3693,1],[3740,1],[3780,1],[3825,1],[3831,1],[3919,1],[3946,1],[3990,1],[4025,1],[4073,1],[4112,1],[4124,1],[4153,1],[4165,1],[4199,1],[4211,1],[4251,1],[4281,1],[4287,1],[4317,1],[4341,1],[4366,1],[4373,1],[4399,1],[4403,1]]},"1390":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[318,1],[348,1],[373,1],[406,1],[412,1],[433,1],[456,1],[481,1],[510,1],[531,1],[548,1],[552,1],[1790,1],[1963,1],[2028,1],[2098,2],[2121,2],[2124,1],[2175,2],[2194,2],[2197,1],[2240,2],[2243,1]]},"1391":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[349,1],[374,1],[407,1],[413,1],[434,1],[457,1],[482,1],[511,1],[532,1],[549,1],[553,1],[1778,1],[1897,2],[1916,2],[1919,1],[1962,2],[1965,1]]},"1392":{"position":[[12,2],[56,1],[62,1],[101,1],[133,1],[170,1],[197,1],[225,1],[256,1],[278,1],[316,1],[346,1],[371,1],[404,1],[410,1],[431,1],[454,1],[479,1],[508,1],[529,1],[546,1],[578,1],[584,1],[588,1],[2433,1],[2455,1],[2532,1],[2547,1],[2549,1],[2561,2],[2564,1]]},"1393":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[341,1],[360,1],[366,1],[395,1],[425,1],[454,1],[479,1],[494,1],[511,1],[531,1],[543,1],[574,1],[602,1],[618,1],[631,1],[654,1],[692,1],[717,1],[740,1],[755,1],[774,1],[792,1],[809,1],[842,1],[868,1],[898,1],[925,1],[946,1],[985,1],[1003,1],[1030,1],[1036,1],[1063,1],[1069,1],[1073,1],[9894,1],[9917,1],[9967,1],[9993,1],[9995,1],[10024,2],[10036,1],[10038,3],[10055,1],[10057,1],[10079,2],[10090,1],[10133,1],[10135,1],[10158,2],[10161,1],[10181,1],[10207,1],[10232,1],[10298,1],[10324,1],[10326,1],[10382,2],[10394,1],[10396,3],[10413,1],[10415,1],[10477,2],[10484,1],[10506,1],[10600,3],[10604,1],[10653,1],[10683,1],[10685,1],[10749,2],[10752,1]]},"1394":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[350,1],[403,1],[428,1],[453,1],[476,1],[494,1],[511,1],[515,1]]},"1395":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[345,1],[375,1],[394,1],[418,1],[443,1],[485,1],[509,1],[532,1],[555,1],[561,1],[579,1],[596,1],[622,1],[645,1],[651,1],[655,1],[3638,1],[3672,1],[3711,1],[3742,1],[3744,1],[3772,2],[3784,1],[3824,1],[3851,1],[3883,1],[3933,1],[3935,1],[3977,2],[3980,1]]},"1396":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[359,1],[384,1],[442,1],[460,1],[477,1],[481,1],[1717,1],[1742,1],[1772,1],[1806,1],[1835,1]]},"1397":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[345,1],[373,1],[413,1],[438,1],[462,1],[485,1],[512,1],[524,1],[542,1],[559,1],[595,1],[619,1],[625,1],[643,1],[647,1],[3518,1],[3547,1],[3581,1],[3583,1],[3651,2],[3663,1],[3665,1],[3695,1],[3726,2],[3746,1],[3771,2],[3774,2],[3777,1],[3797,1],[3831,1],[3857,1],[3877,1],[3905,1],[3929,1]]},"1398":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[375,1],[394,1],[415,1],[438,1],[465,1],[486,1],[509,1],[515,1],[539,1],[551,1],[581,1],[617,1],[646,1],[671,1],[692,1],[717,1],[748,1],[780,1],[803,1],[821,1],[838,1],[857,1],[888,1],[916,1],[922,1],[939,1],[946,1],[952,1],[958,1],[981,1],[999,1],[1025,1],[1055,1],[1082,1],[1098,1],[6851,1],[6888,1],[6928,1],[6968,1],[7002,1],[7025,1],[7096,1],[7130,1],[7164,1]]},"1399":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[351,1],[376,1],[409,1],[415,1],[438,1],[463,1],[479,1],[485,1],[500,1],[506,1],[521,1],[527,1],[531,1],[2144,1],[2162,1],[2164,1],[2206,1],[2228,1],[2250,1],[2268,1],[2379,1],[2396,1],[2414,1],[2416,1],[2458,1],[2475,1],[2497,1],[2515,1],[2670,1],[2686,1],[2709,1],[2729,1],[2749,1],[2776,1],[2798,1],[2865,1],[2882,1],[2900,1],[2916,1],[2930,1],[2951,1],[2985,1]]},"1400":{"position":[[26,2],[70,1],[76,1],[115,1],[147,1],[184,1],[211,1],[239,1],[270,1],[292,1],[330,1],[373,1],[398,1],[431,1],[437,1],[460,1],[485,1],[489,1]]},"1401":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[349,1],[374,1],[390,1],[423,1],[429,1],[452,1],[477,1],[498,1],[515,1],[519,1],[1783,1],[1801,1],[1833,1],[1849,1],[1870,1],[1893,1],[1974,1]]},"1402":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[309,1],[347,1],[371,1],[397,1],[434,1],[464,1],[489,1],[522,1],[528,1],[549,1],[571,1],[600,1],[623,1],[648,1],[652,1],[2155,1],[2169,1],[2191,1],[2213,1],[2249,1],[2251,1],[2277,2],[2291,1],[2293,1],[2304,2],[2307,1],[2324,1],[2339,1],[2390,1],[2401,1]]},"1403":{"position":[[13,2],[57,1],[63,1],[102,1],[134,1],[171,1],[198,1],[226,1],[257,1],[279,1],[317,1],[352,1],[376,1],[405,1],[436,1],[452,1],[458,1],[488,1],[509,1],[516,1],[531,1],[537,1],[556,1],[562,1],[587,1],[620,1],[626,1],[650,1],[662,1],[688,1],[695,1],[720,1],[763,1],[769,1],[791,1],[798,1],[821,1],[846,1],[874,1],[880,1],[905,1],[911,1],[941,1],[971,1],[986,1],[992,1],[1008,1],[1031,1],[1049,1],[1056,1],[1113,1],[1134,1],[1151,1],[1167,1],[1173,1],[1191,1],[1197,1],[1201,1],[4603,1],[4605,1],[4631,1],[4664,1],[4666,1],[4716,1],[5139,4],[5533,1],[5567,1],[5569,1],[5592,1],[5616,2],[5640,1],[5664,2],[5667,2],[5683,1],[5685,1],[5708,2],[5715,1],[5805,1],[5898,1],[5900,1],[5923,1],[5947,2],[5950,2],[5976,1],[5978,1],[6001,1],[6047,2],[6050,2],[7045,1],[7063,1],[7079,1],[7125,1],[7140,1],[7225,7],[7629,1],[7657,1],[7659,1],[7684,2],[7692,1],[7733,1],[7784,1],[7825,1],[7874,1],[7899,1],[7917,1],[7964,1],[7966,1],[7991,2],[7999,1],[8040,1],[8111,1],[8152,1],[8222,1],[8224,1],[8248,1],[8282,2],[8285,2],[8301,1],[8303,1],[8337,2],[8340,1],[8552,1],[8578,1],[8635,1],[8690,1],[8712,1],[8738,1],[8805,1],[8860,1]]},"1404":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[345,1],[375,1],[400,1],[433,1],[439,1],[462,1],[487,1],[512,1],[1527,1],[1557,1],[1610,1],[1666,1]]},"1405":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[336,1],[360,1],[381,1],[405,1],[422,1],[444,1],[460,1],[492,1],[522,1],[545,1],[552,1],[583,1],[608,1],[641,1],[647,1],[668,1],[688,1],[694,1],[732,1],[755,1],[780,1],[801,1],[807,1],[829,1],[835,1],[864,1],[888,1],[894,1],[914,1],[920,1],[980,1],[996,1],[1022,1],[1043,1],[1064,1],[1068,1],[3501,1],[3542,1],[4015,2],[4038,2],[4041,1],[4094,2],[4113,2],[4116,1],[4161,2],[4164,1]]},"1406":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[353,1],[377,1],[407,1],[435,1],[456,1],[460,1]]},"1407":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[346,1],[370,1],[391,1],[415,1],[432,1],[454,1],[470,1],[502,1],[532,1],[572,1],[579,1],[610,1],[635,1],[668,1],[674,1],[695,1],[715,1],[721,1],[759,1],[782,1],[807,1],[828,1],[834,1],[856,1],[862,1],[891,1],[915,1],[921,1],[941,1],[947,1],[1007,1],[1023,1],[1049,1],[1070,1],[1091,1],[1095,1],[3922,1],[3963,1],[4617,1],[4644,1],[4680,1],[4719,1],[4749,1],[4775,1],[4795,1],[4831,1],[4855,1],[4857,1],[4887,1],[4920,2],[4942,1],[4944,3],[4963,1],[4965,3],[4977,1],[4979,3],[4983,1],[5003,1],[5043,1],[5071,1],[5073,1],[5113,1],[5198,2],[5201,1],[5230,1],[5276,1],[5326,1],[5349,1]]},"1408":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[337,1],[361,1],[368,1],[395,1],[421,1],[427,1],[448,1],[472,1],[489,1],[511,1],[543,1],[573,1],[604,1],[629,1],[662,1],[668,1],[689,1],[709,1],[715,1],[745,1],[768,1],[793,1],[817,1],[823,1],[847,1],[853,1],[874,1],[878,1],[2541,1],[2582,1],[2959,2],[2978,2],[2981,1]]},"1409":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[336,1],[360,1],[367,1],[394,1],[418,1],[442,1],[459,1],[481,1],[511,1],[515,1]]},"1410":{"position":[[13,2],[57,1],[63,1],[102,1],[134,1],[171,1],[198,1],[226,1],[257,1],[279,1],[317,1],[334,1],[360,1],[366,1],[390,1],[411,1],[435,1],[462,1],[479,1],[522,1],[544,1],[567,1],[583,1],[615,1],[645,1],[668,1],[675,1],[706,1],[731,1],[756,1],[762,1],[795,1],[801,1],[822,1],[842,1],[848,1],[873,1],[911,1],[934,1],[953,1],[959,1],[984,1],[1005,1],[1011,1],[1033,1],[1039,1],[1068,1],[1092,1],[1098,1],[1122,1],[1128,1],[1148,1],[1154,1],[1170,1],[1198,1],[1204,1],[1221,1],[1228,1],[1234,1],[1240,1],[1263,1],[1281,1],[1330,1],[1336,1],[1362,1],[1393,1],[1411,1],[1417,1],[1434,1],[1440,1],[1461,1],[1482,1],[1514,1],[1520,1],[1524,1],[4909,1],[4950,1],[5532,1],[5824,2],[5843,2],[5846,1],[5910,2],[5932,2],[5935,1],[6044,2],[6063,2],[6066,1],[6068,1],[6168,1]]},"1411":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[354,1],[379,1],[412,1],[418,1],[441,1],[466,1],[498,1]]},"1412":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[378,1],[420,1],[464,1],[502,1],[532,1],[557,1],[590,1],[596,1],[617,1],[647,1],[686,1],[718,1],[758,1],[782,1],[788,1],[805,1],[811,1],[834,1],[859,1],[884,1],[890,1],[914,1],[920,1],[963,1],[970,1],[1004,1],[1010,1],[1034,1],[1061,1],[1067,1],[1097,1],[1128,1],[1168,1],[1194,1],[1220,1],[1226,1],[1255,1],[1273,1],[1279,1],[1319,1],[1325,1],[1362,1],[1383,1],[1401,1],[1407,1],[1411,1],[3684,1],[3751,1],[3769,1],[3796,1],[3800,1],[3871,1],[3933,1],[3955,1],[3980,1],[3984,1],[4054,1],[4125,1],[4191,1],[4219,1],[4270,1],[4291,1],[4293,1],[4295,1],[4306,2],[4309,1]]},"1413":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[375,1],[417,1],[461,1],[499,1],[529,1],[554,1],[592,1],[624,1],[630,1],[663,1],[669,1],[690,1],[712,1],[718,1],[743,1],[773,1],[812,1],[844,1],[884,1],[904,1],[928,1],[934,1],[951,1],[957,1],[980,1],[1005,1],[1030,1],[1036,1],[1060,1],[1066,1],[1109,1],[1116,1],[1150,1],[1156,1],[1180,1],[1207,1],[1213,1],[1243,1],[1274,1],[1314,1],[1340,1],[1366,1],[1372,1],[1403,1],[1432,1],[1450,1],[1456,1],[1496,1],[1502,1],[1539,1],[1560,1],[1589,1],[1595,1],[1601,1],[1630,1],[1636,1],[1642,1],[1660,1],[1666,1],[1698,1],[1704,1],[1736,1],[1742,1],[1763,1],[1769,1],[1798,1],[1805,1],[1847,1],[1854,1],[1878,1],[1882,1]]},"1414":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[344,1],[370,1],[400,1],[425,1],[458,1],[464,1],[485,1],[510,1],[544,1],[567,1],[592,1],[616,1],[644,1],[668,1],[687,1],[705,1],[721,1],[745,1],[749,1]]},"1415":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[354,1],[384,1],[415,1],[457,1],[497,1],[522,1],[550,1],[556,1],[589,1],[595,1],[623,1],[629,1],[659,1],[680,1],[702,1],[708,1],[734,1],[761,1],[767,1],[786,1],[817,1],[823,1],[850,1],[875,1],[881,1],[909,1],[915,1],[939,1],[956,1],[995,1],[1001,1],[1037,1],[1060,1],[1107,1],[1176,1],[1249,1],[1300,1],[1326,1],[1351,1],[1384,1],[1406,1],[1412,1],[1438,1],[1444,1],[1468,1],[1474,1],[1486,1],[1504,1],[1510,1],[1528,1],[1542,1],[1568,1],[1590,1],[1596,1],[1633,1],[1662,1],[1715,1],[1758,1],[1802,1],[1821,1],[1872,1],[1929,1],[1969,1],[1991,1],[2025,1],[2081,1],[2111,1],[2117,1],[2152,1],[2177,1],[2183,1],[2218,1],[2246,1],[2266,1],[2286,1],[2323,1],[2329,1],[2349,1],[2377,1],[2383,1],[2420,1],[2424,1],[5455,1],[5481,1],[5495,1],[5511,1],[5536,1],[5559,1],[5630,1],[5713,1],[5715,1],[5717,1],[5790,1],[5869,2],[5872,1],[5946,1],[6015,1],[6017,1],[6019,1],[6021,3],[6025,2],[6028,1]]},"1416":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[349,1],[378,1],[406,1],[436,1],[467,1],[492,1],[525,1],[531,1],[552,1],[574,1],[580,1],[608,1],[664,1],[698,1],[721,1],[746,1],[779,1],[811,1],[837,1],[843,1],[867,1],[873,1],[885,1],[903,1],[909,1],[927,1],[941,1],[967,1],[1007,1],[1013,1],[1035,1],[1041,1],[1070,1],[1086,1],[1092,1],[1112,1],[1118,1],[1161,1],[1212,1],[1233,1],[1250,1],[1280,1],[1284,1],[3572,1],[3586,1],[3588,1],[3600,2],[3603,1]]},"1417":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[347,1],[376,1],[406,1],[437,1],[462,1],[495,1],[501,1],[522,1],[544,1],[550,1],[578,1],[617,1],[641,1],[647,1],[668,1],[674,1],[697,1],[722,1],[751,1],[771,1],[777,1],[820,1],[871,1],[900,1],[921,1],[938,1],[968,1],[972,1]]},"1418":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[350,1],[379,1],[409,1],[434,1],[467,1],[473,1],[494,1],[516,1],[522,1],[552,1],[575,1],[600,1],[620,1],[626,1],[669,1],[673,1]]},"1419":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[350,1],[380,1],[411,1],[436,1],[469,1],[475,1],[496,1],[518,1],[524,1],[563,1],[596,1],[619,1],[644,1],[690,1],[710,1],[716,1],[759,1],[780,1],[797,1],[801,1]]},"1420":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[350,1],[379,1],[409,1],[440,1],[465,1],[498,1],[504,1],[525,1],[553,1],[609,1],[643,1],[673,1],[696,1],[721,1],[743,1],[772,1],[792,1],[798,1],[841,1],[892,1],[920,1],[941,1],[958,1],[988,1],[992,1],[2710,1],[2729,1],[2731,1],[2748,2],[2751,1]]},"1421":{"position":[[30,2],[74,1],[80,1],[119,1],[151,1],[188,1],[215,1],[243,1],[274,1],[296,1],[334,1],[364,1],[389,1],[421,1],[463,1],[469,1],[490,1],[518,1],[558,1],[596,1],[639,1],[652,1],[680,1],[703,1],[728,1],[769,1],[801,1],[838,1],[871,1],[899,1],[917,1],[921,1],[2437,1],[2465,1],[2467,1],[2483,2],[2504,1],[2506,1],[2526,2],[2541,1],[2543,1],[2562,2],[2577,1],[2579,1],[2617,2],[2620,1]]},"1422":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[352,1],[377,1],[410,1],[416,1],[441,1],[461,1],[484,1],[509,1],[524,1],[530,1],[546,1],[552,1],[570,1],[576,1],[600,1],[606,1],[634,1],[650,1],[656,1],[677,1],[706,1],[710,1],[3110,1],[3148,1],[4012,1],[4037,1],[4039,1],[4124,2],[4134,1],[4254,1],[4270,1],[4299,1],[4315,1],[4378,1],[4386,1],[4551,1]]},"1423":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[349,1],[374,1],[407,1],[413,1],[435,1],[442,1],[465,1],[490,1],[505,1],[511,1],[527,1],[533,1],[551,1],[557,1],[578,1],[607,1],[611,1],[1927,1],[2771,1],[2794,1],[2796,1],[2891,2],[2901,1],[2971,1],[2989,1],[3016,1],[3018,1],[3121,2],[3131,1],[3201,1],[3231,1],[3256,1],[3286,1],[3308,1],[3545,1],[3563,1],[3592,1],[3660,1],[3741,1],[3749,1],[3851,1],[3874,1],[3876,1],[3917,2],[3927,1],[3997,1]]},"1424":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[385,1],[411,1],[442,1],[458,1],[464,1],[494,1],[515,1],[522,1],[537,1],[543,1],[562,1],[568,1],[593,1],[626,1],[632,1],[658,1],[665,1],[708,1],[714,1],[737,1],[762,1],[790,1],[796,1],[821,1],[827,1],[857,1],[887,1],[905,1],[912,1],[969,1],[990,1],[1007,1],[1023,1],[1029,1],[1047,1],[1053,1],[1057,1]]},"1425":{"position":[[31,2],[75,1],[81,1],[120,1],[152,1],[189,1],[216,1],[244,1],[275,1],[297,1],[335,1],[370,1],[400,1],[425,1],[458,1],[464,1],[485,1],[516,1],[548,1],[571,1],[596,1],[622,1],[669,1],[673,1]]},"1426":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[380,1],[419,1],[445,1],[471,1],[501,1],[526,1],[558,1],[564,1],[597,1],[603,1],[624,1],[659,1],[687,1],[726,1],[749,1],[774,1],[796,1],[802,1],[827,1],[833,1],[863,1],[869,1],[873,1],[2008,1],[2031,1],[2033,1],[2035,1],[2087,1],[2165,1],[2196,1],[2251,2],[2259,1],[2261,1],[2298,2],[2301,1]]},"1427":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[357,1],[389,1],[395,1],[420,1],[444,1],[483,1],[509,1],[563,1],[594,1],[600,1],[642,1],[686,1],[724,1],[754,1],[779,1],[812,1],[818,1],[839,1],[869,1],[908,1],[940,1],[969,1],[975,1],[999,1],[1005,1],[1022,1],[1028,1],[1051,1],[1076,1],[1101,1],[1107,1],[1131,1],[1137,1],[1180,1],[1187,1],[1221,1],[1227,1],[1251,1],[1278,1],[1284,1],[1314,1],[1345,1],[1385,1],[1411,1],[1437,1],[1443,1],[1472,1],[1490,1],[1496,1],[1536,1],[1542,1],[1579,1],[1600,1],[1618,1],[1624,1],[1656,1],[1660,1],[4335,1],[4563,1],[7099,1],[7162,1],[7181,1],[7207,1],[7209,1],[7273,2],[7276,1],[7278,1],[7347,1],[7409,1],[7475,1],[7525,1],[7545,1],[7576,1],[7610,1],[7612,1],[7675,2],[7678,1],[7699,1],[7725,1],[7758,1],[7760,1],[7890,2],[7893,1],[7895,1],[7949,1],[7992,1],[8011,1],[8048,1],[8079,1],[8081,1],[8129,2],[8132,1]]},"1428":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[386,1],[411,1],[444,1],[450,1],[471,1],[502,1],[534,1],[557,1],[582,1],[604,1],[651,1],[655,1]]},"1429":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[354,1],[378,1],[405,1],[444,1],[475,1],[501,1],[544,1],[598,1],[629,1],[635,1],[677,1],[721,1],[759,1],[789,1],[814,1],[852,1],[884,1],[890,1],[923,1],[929,1],[950,1],[972,1],[978,1],[1003,1],[1033,1],[1072,1],[1104,1],[1124,1],[1153,1],[1159,1],[1175,1],[1181,1],[1209,1],[1233,1],[1239,1],[1256,1],[1262,1],[1285,1],[1310,1],[1335,1],[1341,1],[1365,1],[1371,1],[1414,1],[1421,1],[1455,1],[1461,1],[1485,1],[1512,1],[1518,1],[1548,1],[1576,1],[1582,1],[1599,1],[1606,1],[1612,1],[1618,1],[1641,1],[1659,1],[1708,1],[1714,1],[1745,1],[1785,1],[1811,1],[1837,1],[1843,1],[1874,1],[1892,1],[1898,1],[1927,1],[1945,1],[1951,1],[1991,1],[1997,1],[2034,1],[2051,1],[2057,1],[2078,1],[2107,1],[2113,1],[2119,1],[2148,1],[2154,1],[2160,1],[2178,1],[2184,1],[2216,1],[2222,1],[2255,1],[2261,1],[2293,1],[2299,1],[2320,1],[2326,1],[2362,1],[2368,1],[2397,1],[2404,1],[2446,1],[2453,1],[2477,1],[2481,1],[3673,2],[6029,1]]},"1430":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[380,1],[411,1],[417,1],[459,1],[503,1],[541,1],[571,1],[596,1],[629,1],[635,1],[656,1],[686,1],[725,1],[757,1],[781,1],[787,1],[804,1],[810,1],[833,1],[858,1],[879,1],[904,1],[910,1],[934,1],[940,1],[983,1],[990,1],[1024,1],[1030,1],[1054,1],[1081,1],[1087,1],[1117,1],[1148,1],[1188,1],[1214,1],[1240,1],[1246,1],[1275,1],[1293,1],[1299,1],[1339,1],[1345,1],[1382,1],[1403,1],[1421,1],[1427,1],[1431,1]]},"1431":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[310,1],[348,1],[371,1],[391,1],[418,1],[424,1],[454,1],[477,1],[483,1],[529,1],[554,1],[587,1],[593,1],[614,1],[630,1],[660,1],[666,1],[704,1],[710,1],[733,1],[758,1],[775,1]]},"1432":{"position":[[23,2],[67,1],[73,1],[112,1],[144,1],[181,1],[208,1],[236,1],[267,1],[289,1],[327,1],[362,1],[386,1],[415,1],[438,1],[458,1],[489,1],[505,1],[511,1],[541,1],[564,1],[570,1],[616,1],[637,1],[644,1],[659,1],[665,1],[684,1],[690,1],[715,1],[748,1],[754,1],[780,1],[787,1],[830,1],[836,1],[875,1],[900,1],[928,1],[934,1],[959,1],[965,1],[995,1],[1025,1],[1043,1],[1050,1],[1107,1],[1136,1],[1160,1],[1189,1],[1215,1],[1236,1],[1253,1],[1268,1],[1286,1],[1292,1],[1296,1]]},"1433":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[357,1],[363,1],[398,1],[421,1],[441,1],[469,1],[481,1],[508,1],[520,1],[541,1],[547,1],[577,1],[602,1],[635,1],[641,1],[662,1],[684,1],[690,1],[712,1],[718,1],[741,1],[766,1],[786,1],[800,1],[817,1]]},"1434":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[349,1],[379,1],[400,1],[427,1],[455,1],[487,1],[491,1]]},"1435":{"position":[[23,2],[67,1],[73,1],[112,1],[144,1],[181,1],[208,1],[236,1],[267,1],[289,1],[327,1],[354,1],[384,1],[427,1],[455,1]]},"1436":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[350,1],[380,1],[401,1],[446,1],[467,1],[471,1]]},"1437":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[347,1],[374,1],[404,1],[429,1],[450,1],[477,1],[505,1],[537,1],[541,1]]},"1438":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[318,1],[348,1],[373,1],[406,1],[412,1],[433,1],[456,1],[481,1],[514,1],[1625,1],[1679,1],[1722,1],[1766,1],[1851,1],[1895,1]]},"1439":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[359,1],[391,1],[397,1],[422,1],[446,1],[485,1],[511,1],[539,1],[593,1],[624,1],[630,1],[668,1],[674,1],[716,1],[760,1],[798,1],[828,1],[853,1],[886,1],[892,1],[913,1],[943,1],[982,1],[1014,1],[1054,1],[1083,1],[1106,1],[1135,1],[1141,1],[1165,1],[1171,1],[1188,1],[1194,1],[1208,1],[1264,1],[1287,1],[1312,1],[1337,1],[1343,1],[1367,1],[1373,1],[1416,1],[1423,1],[1457,1],[1463,1],[1487,1],[1514,1],[1520,1],[1550,1],[1581,1],[1621,1],[1647,1],[1673,1],[1679,1],[1708,1],[1726,1],[1732,1],[1772,1],[1778,1],[1815,1],[1836,1],[1854,1],[1860,1],[1887,1],[1894,1],[1926,1],[1930,1],[5162,1],[5164,1],[5200,1],[5382,2],[5385,2],[5841,1],[5869,1],[5902,1],[5904,1],[5950,2],[5977,1],[5979,1],[5981,1],[6086,3],[6090,2],[6093,1],[6114,1],[6170,1],[6223,1],[6225,1],[6257,1],[6324,1],[6384,1],[6415,1],[6471,1],[6531,1],[6618,1],[6673,1],[6834,1],[7062,1],[7929,1],[7992,1],[8011,1],[8035,1],[8037,1],[8101,2],[8104,1],[8106,1],[8173,1],[8235,1],[8301,1],[8353,1],[8373,1],[8402,1],[8434,1],[8436,1],[8499,2],[8502,1],[8525,1],[8551,1],[8582,1],[8584,1],[8714,2],[8717,1],[8719,1],[8773,1],[8818,1],[8837,1],[8872,1],[8901,1],[8903,1],[8951,2],[8954,1]]},"1440":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[380,1],[407,1],[446,1],[477,1],[503,1],[531,1],[574,1],[628,1],[659,1],[665,1],[703,1],[709,1],[751,1],[795,1],[833,1],[863,1],[888,1],[926,1],[958,1],[964,1],[997,1],[1003,1],[1024,1],[1046,1],[1052,1],[1077,1],[1107,1],[1146,1],[1178,1],[1218,1],[1238,1],[1267,1],[1290,1],[1306,1],[1312,1],[1340,1],[1364,1],[1370,1],[1387,1],[1393,1],[1407,1],[1463,1],[1486,1],[1511,1],[1536,1],[1542,1],[1566,1],[1572,1],[1615,1],[1622,1],[1656,1],[1662,1],[1686,1],[1713,1],[1719,1],[1749,1],[1777,1],[1783,1],[1800,1],[1807,1],[1813,1],[1819,1],[1842,1],[1860,1],[1909,1],[1915,1],[1946,1],[1986,1],[2012,1],[2038,1],[2044,1],[2075,1],[2104,1],[2122,1],[2128,1],[2168,1],[2174,1],[2211,1],[2232,1],[2261,1],[2267,1],[2273,1],[2302,1],[2308,1],[2314,1],[2332,1],[2338,1],[2370,1],[2376,1],[2409,1],[2415,1],[2447,1],[2453,1],[2474,1],[2480,1],[2516,1],[2522,1],[2551,1],[2558,1],[2600,1],[2607,1],[2634,1],[2641,1],[2665,1],[2669,1],[3666,2],[5929,1]]},"1441":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[356,1],[381,1],[414,1],[420,1],[443,1],[468,1],[493,1],[497,1]]},"1442":{"position":[[23,2],[67,1],[73,1],[112,1],[144,1],[181,1],[208,1],[236,1],[267,1],[289,1],[327,1],[352,1],[382,1],[403,1],[425,1],[431,1],[451,1],[471,1],[475,1],[1907,1],[1921,1],[1949,1],[1969,1],[2698,3],[2788,4],[2793,2],[2803,1],[2815,2],[2988,1],[3066,1],[3086,1],[3088,1],[3105,2],[3161,2],[3205,2],[3208,1]]},"1443":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[350,1],[375,1],[408,1],[414,1],[435,1],[458,1],[483,1],[505,1],[539,1],[545,1],[570,1],[576,1],[596,1],[602,1],[645,1],[672,1],[678,1],[682,1],[1814,1],[1838,1],[1855,1],[1857,1],[1875,2],[1878,1],[1898,1],[1920,1],[1939,1]]},"1444":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[344,1],[350,1],[380,1],[405,1],[438,1],[444,1],[465,1],[488,1],[513,1],[556,1],[577,1],[594,1],[598,1],[1943,1],[2003,1],[2022,1],[2042,1],[2044,1],[2120,1],[2193,1],[2239,1],[2258,1],[2288,1]]},"1445":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[352,1],[382,1],[397,1]]},"1446":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[351,1],[376,1],[409,1],[415,1],[436,1],[458,1],[478,1],[501,1],[526,1],[547,1],[551,1]]},"1447":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[353,1],[378,1],[401,1],[407,1],[460,1],[466,1],[489,1],[514,1],[559,1],[565,1],[597,1],[609,1],[613,1]]},"1448":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[347,1],[374,1],[404,1],[429,1],[436,1],[467,1],[492,1],[525,1],[531,1],[552,1],[575,1],[600,1],[629,1],[660,1],[680,1],[686,1],[739,1],[782,1],[833,1],[849,1],[861,1],[878,1],[904,1],[910,1],[914,1],[2924,2],[2958,2],[2961,1],[3017,2],[3036,2],[3039,1],[3087,2],[3090,1],[3139,2],[3142,1]]},"1449":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[348,1],[375,1],[405,1],[430,1],[461,1],[486,1],[519,1],[525,1],[546,1],[569,1],[594,1],[623,1],[648,1],[679,1],[732,1],[775,1],[791,1],[803,1],[820,1],[846,1],[852,1],[856,1],[2826,2],[2845,2],[2848,1]]},"1450":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[347,1],[374,1],[404,1],[429,1],[436,1],[467,1],[492,1],[525,1],[531,1],[552,1],[575,1],[600,1],[629,1],[660,1],[680,1],[686,1],[729,1],[780,1],[796,1],[808,1],[825,1],[851,1],[857,1],[861,1]]},"1451":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[347,1],[374,1],[404,1],[429,1],[436,1],[467,1],[492,1],[525,1],[531,1],[552,1],[575,1],[600,1],[629,1],[660,1],[680,1],[686,1],[729,1],[780,1],[796,1],[808,1],[825,1],[851,1],[857,1],[861,1]]},"1452":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[318,1],[348,1],[382,1],[403,1],[407,1]]},"1453":{"position":[[30,2],[74,1],[80,1],[119,1],[151,1],[188,1],[215,1],[243,1],[274,1],[296,1],[334,1],[361,1],[384,1],[413,1],[443,1],[468,1],[501,1],[507,1],[528,1],[566,1],[626,1],[647,1],[653,1],[680,1],[703,1],[729,1],[754,1],[782,1],[802,1],[809,1],[846,1],[852,1],[856,1],[1906,1],[1941,1],[1994,1],[2017,1],[2019,1],[2030,1],[2032,1]]},"1454":{"position":[[26,2],[70,1],[76,1],[115,1],[147,1],[184,1],[211,1],[239,1],[270,1],[292,1],[330,1],[355,1],[381,1],[411,1],[418,1],[448,1],[472,1],[497,1],[530,1],[536,1],[557,1],[587,1],[619,1],[652,1],[669,1],[751,1],[811,1],[849,1],[901,1],[954,1],[973,1],[1033,1],[1099,1],[1142,1],[1207,1],[1251,1],[1277,1],[1301,1],[1328,1],[1351,1],[1363,1],[1391,1],[1397,1],[1420,1],[1442,1],[1448,1],[1495,1],[1518,1],[1544,1],[1569,1],[1591,1],[1622,1],[1651,1],[1686,1],[1718,1],[1743,1],[1774,1],[1793,1],[1824,1],[1843,1],[1874,1],[1893,1],[1928,1],[1947,1],[1981,1],[2009,1],[2029,1],[2072,1],[2122,1],[2150,1],[2172,1],[2178,1],[2196,1],[2202,1],[2224,1],[2230,1],[2256,1],[2262,1],[2299,1],[2305,1],[2340,1],[2347,1],[2381,1],[2426,1],[2542,1],[2636,1],[2736,1],[2814,1],[2847,1],[2883,1],[2915,1],[2945,1],[2977,1],[3007,1],[3035,1],[3065,1],[3097,1],[3127,1],[3163,1],[3193,1],[3197,1],[4741,1],[5455,4],[7390,4],[9755,1],[9780,1],[9800,1],[9802,1],[9815,2],[9818,1],[9897,1],[9915,1],[9943,1],[9974,1],[10005,1],[10039,1],[10041,1],[10054,2],[10057,1],[10152,1],[10170,1],[10207,1],[10209,1],[10365,2],[10388,1],[10390,1],[10543,2],[10563,1],[10565,1],[10578,2],[10581,1]]},"1455":{"position":[[32,2],[76,1],[82,1],[121,1],[153,1],[190,1],[217,1],[245,1],[276,1],[298,1],[336,1],[361,1],[391,1],[416,1],[449,1],[455,1],[476,1],[506,1],[558,1],[602,1],[635,1],[664,1],[711,1],[734,1],[759,1],[801,1],[834,1],[862,1],[890,1],[918,1],[950,1],[982,1],[1019,1],[1025,1],[1070,1],[1074,1],[2389,1],[4585,1],[4607,1],[4609,1],[4611,1],[4656,1],[4675,2],[4690,1],[4692,1],[4722,2],[4741,1],[4743,1],[4745,1],[4790,1],[4809,2],[4824,1],[4826,1],[4864,2],[4879,1],[4881,1],[4927,2],[4942,1],[4944,1],[4972,2],[4996,1],[4998,1],[5026,2],[5029,1]]},"1456":{"position":[[29,2],[73,1],[79,1],[118,1],[150,1],[187,1],[214,1],[242,1],[273,1],[295,1],[333,1],[378,1],[403,1],[436,1],[442,1],[465,1],[490,1],[494,1],[1557,1],[1579,1],[1596,1],[1619,1],[1637,1],[1639,1],[1653,2],[1670,1],[1686,1],[1688,1],[1716,2],[1719,1]]},"1457":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[359,1],[384,1],[417,1],[423,1],[444,1],[474,1],[497,1],[536,1],[560,1],[566,1],[570,1],[2048,2],[2051,1]]},"1458":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[357,1],[389,1],[395,1],[420,1],[444,1],[478,1],[525,1],[550,1],[583,1],[589,1],[610,1],[639,1],[663,1],[686,1],[692,1],[715,1],[740,1],[764,1],[770,1],[813,1],[853,1],[875,1],[881,1],[885,1],[2500,1],[2522,1],[2554,1],[2595,1],[2646,1],[2667,1],[2683,1],[2721,1],[2723,1],[2735,2],[2738,1]]},"1459":{"position":[[29,2],[73,1],[79,1],[118,1],[150,1],[187,1],[214,1],[242,1],[273,1],[295,1],[333,1],[363,1],[388,1],[421,1],[427,1],[448,1],[475,1],[495,1],[518,1],[543,1],[565,1],[2374,1],[2403,1],[2413,1],[2437,1],[2454,1],[2479,1],[2481,1],[2499,2],[2502,1]]},"1460":{"position":[[28,2],[72,1],[78,1],[117,1],[149,1],[186,1],[213,1],[241,1],[272,1],[294,1],[332,1],[362,1],[394,1],[418,1],[424,1],[449,1],[472,1],[497,1],[530,1],[536,1],[557,1],[580,1],[586,1],[609,1],[627,1],[646,1],[671,1],[701,1],[723,1],[729,1],[772,1],[776,1]]},"1461":{"position":[[29,2],[73,1],[79,1],[118,1],[150,1],[187,1],[214,1],[242,1],[273,1],[295,1],[333,1],[375,1],[416,1],[435,1],[463,1],[510,1],[529,1],[554,1],[581,1],[593,1],[626,1],[632,1],[653,1],[697,1],[730,1],[763,1],[786,1],[811,1],[839,1],[843,1],[2649,1],[3307,1],[3391,1],[3428,1],[3592,1],[3652,1],[3704,1],[3736,1],[3771,1],[3805,1],[3807,1],[3871,1],[3906,1],[3966,1],[3998,1],[4031,1],[4094,1],[4096,1],[4121,2],[4124,1]]},"1462":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[365,1],[386,1],[411,1],[435,1],[464,1],[492,1],[518,1],[548,1],[555,1],[588,1],[616,1],[639,1],[645,1],[681,1],[708,1],[732,1],[738,1],[768,1],[795,1],[814,1],[821,1],[852,1],[889,1],[914,1],[970,1],[989,1],[1013,1],[1019,1],[1047,1],[1053,1],[1094,1],[1101,1],[1134,1],[1140,1],[1168,1],[1174,1],[1204,1],[1225,1],[1247,1],[1253,1],[1279,1],[1330,1],[1355,1],[1361,1],[1399,1],[1431,1],[1458,1],[1464,1],[1515,1],[1536,1],[1542,1],[1561,1],[1592,1],[1598,1],[1625,1],[1653,1],[1659,1],[1683,1],[1700,1],[1739,1],[1745,1],[1781,1],[1816,1],[1839,1],[1886,1],[1955,1],[2028,1],[2079,1],[2105,1],[2130,1],[2163,1],[2200,1],[2206,1],[2228,1],[2234,1],[2266,1],[2292,1],[2298,1],[2322,1],[2328,1],[2340,1],[2358,1],[2364,1],[2382,1],[2396,1],[2422,1],[2466,1],[2472,1],[2512,1],[2518,1],[2543,1],[2549,1],[2570,1],[2592,1],[2629,1],[2658,1],[2674,1],[2680,1],[2705,1],[2711,1],[2734,1],[2740,1],[2767,1],[2773,1],[2808,1],[2830,1],[2855,1],[2887,1],[2893,1],[2928,1],[2953,1],[2959,1],[2980,1],[2986,1],[3006,1],[3012,1],[3065,1],[3108,1],[3152,1],[3171,1],[3222,1],[3273,1],[3330,1],[3370,1],[3392,1],[3426,1],[3482,1],[3512,1],[3518,1],[3560,1],[3595,1],[3620,1],[3626,1],[3655,1],[3690,1],[3730,1],[3736,1],[3764,1],[3785,1],[3791,1],[3822,1],[3848,1],[3865,1],[3893,1],[3916,1],[3933,1],[3971,1],[4005,1],[4038,1],[4061,1],[4086,1],[4106,1],[4124,1],[4152,1],[4158,1],[4195,1],[4215,1],[4222,1],[4226,1],[5922,1],[7147,1],[8958,1],[8985,1],[9009,1],[9026,1],[9028,1],[9046,2],[9049,1],[9072,1],[9089,1],[9138,1],[9196,1],[9227,1]]},"1463":{"position":[[29,2],[73,1],[79,1],[118,1],[150,1],[187,1],[214,1],[242,1],[273,1],[295,1],[333,1],[357,1],[395,1],[426,1],[432,1],[462,1],[483,1],[498,1]]},"1464":{"position":[[30,2],[74,1],[80,1],[119,1],[151,1],[188,1],[215,1],[243,1],[274,1],[296,1],[334,1],[364,1],[385,1],[406,1]]},"1465":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[366,1],[407,1],[432,1],[460,1],[483,1],[489,1],[519,1],[544,1],[568,1],[574,1],[607,1],[613,1],[634,1],[678,1],[711,1],[734,1],[759,1],[779,1],[785,1],[828,1],[874,1],[893,1],[934,1],[953,1],[993,1],[999,1],[1025,1],[1042,1],[1063,1],[1080,1],[1107,1],[1124,1],[1142,1],[1170,1],[1176,1],[1207,1],[1241,1],[1260,1],[1286,1],[1320,1],[1339,1],[1359,1],[1366,1],[1370,1],[4295,1],[4302,1],[4368,1],[4387,1],[4411,1],[4413,1],[4458,2],[4461,1],[4463,1],[4531,1],[4599,1],[4677,1],[4696,1],[4736,1],[4738,1],[4756,2],[4759,1]]},"1466":{"position":[[33,2],[77,1],[83,1],[122,1],[154,1],[191,1],[218,1],[246,1],[277,1],[299,1],[337,1],[364,1],[407,1],[437,1],[462,1],[487,1],[510,1],[553,1],[561,1],[589,1],[595,1],[612,1],[619,1],[625,1],[631,1],[654,1],[672,1],[721,1],[727,1],[742,1]]},"1467":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[363,1],[384,1],[409,1],[433,1],[460,1],[488,1],[531,1],[557,1],[578,1],[622,1],[655,1],[683,1],[706,1],[712,1],[748,1],[775,1],[799,1],[805,1],[835,1],[862,1],[881,1],[888,1],[919,1],[956,1],[981,1],[1037,1],[1056,1],[1080,1],[1086,1],[1114,1],[1120,1],[1161,1],[1168,1],[1201,1],[1207,1],[1235,1],[1241,1],[1271,1],[1292,1],[1314,1],[1320,1],[1346,1],[1397,1],[1422,1],[1428,1],[1466,1],[1491,1],[1535,1],[1567,1],[1594,1],[1600,1],[1651,1],[1672,1],[1678,1],[1697,1],[1728,1],[1734,1],[1761,1],[1789,1],[1795,1],[1819,1],[1836,1],[1875,1],[1881,1],[1914,1],[1920,1],[1956,1],[1991,1],[2014,1],[2061,1],[2130,1],[2203,1],[2254,1],[2280,1],[2305,1],[2338,1],[2375,1],[2381,1],[2403,1],[2409,1],[2441,1],[2467,1],[2473,1],[2497,1],[2503,1],[2515,1],[2533,1],[2539,1],[2557,1],[2571,1],[2597,1],[2641,1],[2647,1],[2687,1],[2693,1],[2718,1],[2724,1],[2745,1],[2767,1],[2804,1],[2833,1],[2858,1],[2864,1],[2887,1],[2893,1],[2920,1],[2926,1],[2961,1],[2983,1],[3008,1],[3040,1],[3046,1],[3089,1],[3097,1],[3132,1],[3157,1],[3163,1],[3184,1],[3190,1],[3210,1],[3216,1],[3269,1],[3312,1],[3356,1],[3375,1],[3426,1],[3477,1],[3534,1],[3580,1],[3599,1],[3639,1],[3661,1],[3695,1],[3751,1],[3781,1],[3787,1],[3829,1],[3864,1],[3889,1],[3895,1],[3924,1],[3959,1],[3999,1],[4005,1],[4033,1],[4061,1],[4067,1],[4084,1],[4091,1],[4097,1],[4103,1],[4126,1],[4144,1],[4193,1],[4199,1],[4220,1],[4226,1],[4257,1],[4283,1],[4300,1],[4328,1],[4346,1],[4352,1],[4375,1],[4392,1],[4409,1],[4415,1],[4436,1],[4453,1],[4491,1],[4525,1],[4558,1],[4581,1],[4606,1],[4638,1],[4644,1],[4664,1],[4682,1],[4710,1],[4716,1],[4747,1],[4781,1],[4800,1],[4826,1],[4860,1],[4879,1],[4916,1],[4936,1],[4943,1],[4947,1],[7248,1],[8116,1],[9239,2],[10551,1],[10854,1],[10931,1],[10955,1],[10985,1],[10987,1],[11002,2],[11005,1],[11007,1],[11083,1],[11156,1],[11205,1],[11224,1],[11264,1],[11266,1],[11284,2],[11287,1]]},"1468":{"position":[[24,2],[68,1],[74,1],[113,1],[145,1],[182,1],[209,1],[237,1],[268,1],[290,1],[328,1],[358,1],[383,1],[416,1],[422,1],[445,1],[470,1],[492,1],[506,1],[1526,1]]},"1469":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[343,1],[373,1],[398,1],[431,1],[437,1],[460,1],[485,1],[500,1],[506,1],[522,1],[528,1],[546,1],[552,1],[568,1],[574,1],[607,1],[613,1],[617,1],[2537,1],[2577,1],[2656,1],[2702,1],[2816,1],[2842,1],[2889,1],[2908,1],[2928,1],[2950,1],[2998,1],[3071,1],[3117,1],[3240,1],[3262,1],[3310,1],[3406,1],[3452,1],[3558,1],[3588,1],[3636,1],[3701,1],[3747,1]]},"1470":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[317,1],[355,1],[390,1],[414,1],[441,1],[480,1],[511,1],[537,1],[565,1],[608,1],[662,1],[693,1],[699,1],[732,1],[744,1],[782,1],[788,1],[830,1],[874,1],[912,1],[942,1],[967,1],[1005,1],[1037,1],[1043,1],[1076,1],[1082,1],[1103,1],[1128,1],[1158,1],[1197,1],[1229,1],[1269,1],[1289,1],[1318,1],[1341,1],[1370,1],[1376,1],[1392,1],[1398,1],[1426,1],[1450,1],[1456,1],[1473,1],[1479,1],[1493,1],[1549,1],[1572,1],[1592,1],[1598,1],[1623,1],[1668,1],[1688,1],[1694,1],[1739,1],[1764,1],[1770,1],[1794,1],[1800,1],[1843,1],[1850,1],[1884,1],[1890,1],[1914,1],[1964,1],[1970,1],[1997,1],[2003,1],[2033,1],[2064,1],[2070,1],[2098,1],[2104,1],[2121,1],[2128,1],[2134,1],[2140,1],[2163,1],[2181,1],[2230,1],[2236,1],[2267,1],[2307,1],[2338,1],[2344,1],[2378,1],[2384,1],[2410,1],[2436,1],[2442,1],[2518,1],[2560,1],[2566,1],[2597,1],[2626,1],[2644,1],[2650,1],[2690,1],[2696,1],[2733,1],[2754,1],[2783,1],[2789,1],[2795,1],[2824,1],[2830,1],[2836,1],[2854,1],[2860,1],[2892,1],[2898,1],[2931,1],[2937,1],[2969,1],[2975,1],[2996,1],[3002,1],[3038,1],[3044,1],[3073,1],[3080,1],[3122,1],[3129,1],[3156,1],[3163,1],[3215,1],[3239,1],[3243,1]]},"1471":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[346,1],[370,1],[396,1],[422,1],[450,1],[480,1],[487,1],[520,1],[548,1],[578,1],[610,1],[616,1],[641,1],[661,1],[678,1],[684,1],[706,1],[712,1],[745,1],[751,1],[779,1],[785,1],[806,1],[825,1],[831,1],[869,1],[894,1],[919,1],[961,1],[995,1],[1001,1],[1032,1],[1055,1],[1080,1],[1102,1],[1108,1],[1134,1],[1140,1],[1164,1],[1170,1],[1182,1],[1200,1],[1206,1],[1224,1],[1238,1],[1264,1],[1308,1],[1314,1],[1336,1],[1342,1],[1371,1],[1404,1],[1438,1],[1455,1],[1481,1],[1498,1],[1515,1],[1543,1],[1573,1],[1594,1],[1622,1],[1628,1],[1632,1],[3745,1],[4368,1],[4430,2],[4705,1],[4761,2],[5808,2],[5831,2],[5834,1],[5889,2],[5908,2],[5911,1],[5958,2],[5961,1]]},"1472":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[347,1],[371,1],[397,1],[423,1],[451,1],[481,1],[513,1],[519,1],[544,1],[564,1],[581,1],[587,1],[612,1],[618,1],[640,1],[646,1],[679,1],[685,1],[713,1],[719,1],[740,1],[765,1],[794,1],[820,1],[826,1],[859,1],[897,1],[914,1],[934,1],[941,1],[960,1],[966,1],[991,1],[1016,1],[1058,1],[1092,1],[1098,1],[1129,1],[1152,1],[1177,1],[1199,1],[1205,1],[1234,1],[1267,1],[1301,1],[1318,1],[1346,1],[1368,1],[1394,1],[1411,1],[1439,1],[1469,1],[1487,1],[1493,1],[1514,1],[1548,1],[1555,1],[1583,1],[1589,1],[1593,1],[3656,1],[3712,2],[4329,1],[4952,1],[5014,2],[5289,1],[5345,2],[5845,1],[6701,2],[6720,2],[6723,1]]},"1473":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[344,1],[368,1],[395,1],[438,1],[464,1],[490,1],[518,1],[551,1],[579,1],[609,1],[641,1],[647,1],[672,1],[692,1],[709,1],[715,1],[737,1],[743,1],[776,1],[782,1],[810,1],[816,1],[837,1],[856,1],[862,1],[900,1],[925,1],[950,1],[992,1],[1013,1],[1047,1],[1053,1],[1084,1],[1107,1],[1132,1],[1154,1],[1160,1],[1186,1],[1192,1],[1216,1],[1222,1],[1234,1],[1252,1],[1258,1],[1276,1],[1290,1],[1316,1],[1360,1],[1366,1],[1388,1],[1394,1],[1423,1],[1456,1],[1490,1],[1507,1],[1535,1],[1541,1],[1558,1],[1565,1],[1571,1],[1577,1],[1600,1],[1618,1],[1667,1],[1673,1],[1699,1],[1716,1],[1733,1],[1762,1],[1790,1],[1820,1],[1841,1],[1869,1],[1875,1],[1879,1],[3813,1],[4689,1],[4751,2],[5026,1],[5082,2],[5977,2],[6000,2],[6003,1],[6058,2],[6077,2],[6080,1],[6127,2],[6130,1]]},"1474":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[377,1],[408,1],[414,1],[456,1],[500,1],[538,1],[568,1],[593,1],[626,1],[632,1],[653,1],[683,1],[722,1],[754,1],[778,1],[784,1],[801,1],[807,1],[830,1],[855,1],[880,1],[886,1],[910,1],[916,1],[959,1],[966,1],[1000,1],[1006,1],[1030,1],[1057,1],[1063,1],[1093,1],[1124,1],[1164,1],[1190,1],[1216,1],[1222,1],[1251,1],[1269,1],[1275,1],[1315,1],[1321,1],[1358,1],[1379,1],[1397,1],[1403,1],[1407,1]]},"1475":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[374,1],[405,1],[411,1],[453,1],[497,1],[535,1],[565,1],[590,1],[628,1],[660,1],[666,1],[699,1],[705,1],[726,1],[748,1],[754,1],[779,1],[809,1],[848,1],[880,1],[900,1],[924,1],[930,1],[947,1],[953,1],[976,1],[1001,1],[1026,1],[1032,1],[1056,1],[1062,1],[1105,1],[1112,1],[1146,1],[1152,1],[1176,1],[1203,1],[1209,1],[1239,1],[1270,1],[1310,1],[1336,1],[1362,1],[1368,1],[1399,1],[1428,1],[1446,1],[1452,1],[1492,1],[1498,1],[1535,1],[1556,1],[1585,1],[1591,1],[1597,1],[1626,1],[1632,1],[1638,1],[1656,1],[1662,1],[1694,1],[1700,1],[1732,1],[1738,1],[1759,1],[1765,1],[1794,1],[1801,1],[1843,1],[1850,1],[1874,1],[1878,1]]},"1476":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[356,1],[381,1],[414,1],[420,1],[443,1],[468,1],[483,1]]},"1477":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[345,1],[380,1],[410,1],[435,1],[468,1],[474,1],[495,1],[518,1],[543,1],[580,1],[584,1],[2673,1],[2702,1],[2729,1],[2764,1],[2766,1],[2790,2],[2793,1],[2797,1],[2845,1],[2893,1],[2947,1],[3023,1],[3060,1],[3082,1],[3152,1]]},"1478":{"position":[[13,2],[57,1],[63,1],[102,1],[134,1],[171,1],[198,1],[226,1],[257,1],[279,1],[317,1],[344,1],[387,1],[408,1],[438,1],[463,1],[496,1],[502,1],[523,1],[548,1],[571,1],[596,1],[617,1],[629,1],[649,1],[666,1],[694,1],[700,1],[717,1],[724,1],[730,1],[736,1],[759,1],[777,1],[826,1],[832,1],[858,1],[883,1],[912,1],[943,1],[959,1],[965,1],[997,1],[1003,1],[1019,1],[1025,1],[1029,1],[2824,1],[2851,1],[2883,1],[2913,1],[2937,1],[2953,1],[2985,1],[3015,1],[3039,1],[3043,1],[3097,1],[3139,3],[3149,1],[3168,2],[3190,2],[3269,1],[3306,1],[3328,1],[3386,1]]},"1479":{"position":[[30,2],[74,1],[80,1],[119,1],[151,1],[188,1],[215,1],[243,1],[274,1],[296,1],[334,1],[364,1],[389,1],[422,1],[428,1],[449,1],[474,1],[480,1],[503,1],[528,1],[557,1],[571,1],[575,1]]},"1480":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[350,1],[356,1],[386,1],[417,1],[442,1],[475,1],[481,1],[502,1],[532,1],[559,1],[604,1],[627,1],[653,1],[678,1],[701,1],[707,1],[735,1],[763,1],[802,1],[820,1],[826,1],[847,1],[884,1],[890,1],[920,1],[926,1],[959,1],[978,1],[984,1],[988,1]]},"1481":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[360,1],[366,1],[396,1],[402,1],[428,1],[452,1],[458,1],[488,1],[541,1],[566,1],[599,1],[605,1],[647,1],[670,1],[695,1],[724,1],[755,1],[779,1],[807,1],[813,1],[838,1],[844,1],[884,1],[908,1],[914,1],[957,1],[999,1],[1033,1],[1066,1],[1072,1],[1100,1],[1120,1],[1126,1],[1163,1],[1217,1],[1259,1],[1311,1],[1374,1],[1405,1],[1411,1],[1475,1],[1517,1],[1521,1]]},"1482":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[350,1],[375,1],[408,1],[414,1],[437,1],[462,1],[488,1],[492,1],[1914,1],[1958,1],[2000,1],[2051,1],[2075,1],[2077,1],[2117,1],[2155,1],[2202,1],[2226,1],[2228,1],[2261,1],[2292,1],[2332,1],[2356,1],[2358,1],[2383,1],[2415,1],[2417,1],[2529,2],[2532,1],[2551,1],[2582,1],[2584,1],[2648,2],[2651,1],[2689,1],[2715,3],[2998,3],[3002,1]]},"1483":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[368,1],[372,1]]},"1484":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[355,1],[380,1],[413,1],[419,1],[442,1],[467,1],[497,1],[501,1]]},"1485":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[351,1],[381,1],[409,1],[415,1],[439,1],[456,1],[492,1],[515,1],[559,1],[578,1],[606,1],[626,1],[646,1],[650,1],[1821,4],[2145,4],[2286,1],[4189,3],[4279,4],[4284,2],[4294,1],[4306,2],[4780,1],[4881,1],[4911,1],[4913,1],[4941,2],[4944,1],[4946,1],[5024,1],[5048,1],[5050,1],[5074,2],[5082,1],[5084,1],[5109,2],[5112,1]]},"1486":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[351,1],[366,1],[378,1],[408,1],[433,1],[466,1],[472,1],[497,1],[512,1],[518,1],[541,1],[566,1],[589,1],[595,1],[637,1],[643,1],[665,1],[672,1],[676,1],[3150,1],[3152,1],[3159,1],[3179,1],[3207,1],[3231,1],[3233,1],[3249,1],[3267,1],[3290,1],[3312,1],[3328,1],[3348,1],[3369,1],[3406,1],[3422,1],[3442,1],[3463,1],[3500,1],[3516,1],[3536,1],[3557,1],[3594,1],[3835,1],[3837,1],[3970,2],[3973,1],[4026,1],[4028,1],[4161,2],[4164,1],[4229,2],[4435,1],[4702,2],[4787,1],[4997,1],[5075,1],[5593,1],[5687,1],[5838,1],[5932,1]]},"1487":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[318,1],[348,1],[378,1],[403,1],[436,1],[442,1],[477,1],[500,1],[525,1],[554,1],[568,1],[589,1],[614,1],[618,1],[3062,1],[3112,1],[3130,1],[3132,1],[3213,1],[3215,1],[3217,1],[3253,1],[3312,1],[3382,2],[3394,1],[3396,1],[3398,1],[3496,2],[3518,1],[3520,1],[3575,2],[3578,1]]}},"keywords":{}}],["0",{"_index":971,"title":{"717":{"position":[[6,1]]}},"content":{"69":{"position":[[321,3]]},"405":{"position":[[682,2]]},"408":{"position":[[860,3]]},"457":{"position":[[321,3]]},"554":{"position":[[448,2],[454,1]]},"557":{"position":[[550,2],[556,1]]},"559":{"position":[[621,2],[627,1],[694,2],[801,2]]},"595":{"position":[[911,2]]},"627":{"position":[[91,1]]},"628":{"position":[[233,3],[282,3]]},"629":{"position":[[202,3]]},"632":{"position":[[38,2]]},"634":{"position":[[201,1]]},"639":{"position":[[51,2],[462,4]]},"643":{"position":[[260,3]]},"648":{"position":[[411,1],[521,3],[867,2],[879,1],[907,1],[1025,1]]},"651":{"position":[[182,1],[195,1],[208,1]]},"662":{"position":[[816,3]]},"665":{"position":[[269,2]]},"673":{"position":[[492,6],[565,4]]},"712":{"position":[[2686,2]]},"784":{"position":[[682,2]]},"787":{"position":[[860,3]]},"867":{"position":[[1094,2],[1290,2],[2269,2]]},"1026":{"position":[[1254,2]]},"1057":{"position":[[373,1],[406,1],[433,1]]},"1071":{"position":[[995,3]]},"1136":{"position":[[6121,1]]},"1138":{"position":[[9783,1]]},"1140":{"position":[[8709,1]]},"1142":{"position":[[4153,1]]},"1144":{"position":[[481,1]]},"1146":{"position":[[4093,1]]},"1148":{"position":[[7684,1]]},"1150":{"position":[[716,1]]},"1152":{"position":[[414,1]]},"1154":{"position":[[569,1]]},"1155":{"position":[[4189,1]]},"1156":{"position":[[3767,1]]},"1157":{"position":[[352,1]]},"1158":{"position":[[346,1]]},"1159":{"position":[[346,1]]},"1161":{"position":[[1341,1]]},"1163":{"position":[[727,1]]},"1165":{"position":[[556,1]]},"1167":{"position":[[9713,1]]},"1169":{"position":[[2821,1]]},"1171":{"position":[[1062,1]]},"1172":{"position":[[2447,1]]},"1173":{"position":[[1134,1]]},"1174":{"position":[[562,1]]},"1175":{"position":[[558,1]]},"1176":{"position":[[727,1]]},"1177":{"position":[[648,1]]},"1178":{"position":[[965,1]]},"1179":{"position":[[762,1]]},"1180":{"position":[[1033,1]]},"1181":{"position":[[1553,1]]},"1182":{"position":[[596,1]]},"1183":{"position":[[551,1]]},"1185":{"position":[[396,1]]},"1186":{"position":[[5357,1]]},"1187":{"position":[[5370,1]]},"1188":{"position":[[10096,1]]},"1190":{"position":[[1727,1]]},"1191":{"position":[[3957,1]]},"1192":{"position":[[4132,1]]},"1193":{"position":[[4184,1]]},"1194":{"position":[[3824,1]]},"1195":{"position":[[3802,1]]},"1196":{"position":[[3612,1]]},"1197":{"position":[[4595,1]]},"1198":{"position":[[4605,1]]},"1199":{"position":[[4633,1]]},"1200":{"position":[[4500,1]]},"1201":{"position":[[3760,1]]},"1202":{"position":[[504,1],[4902,1],[9299,1]]},"1203":{"position":[[3994,1]]},"1204":{"position":[[3838,1],[4740,1],[5670,1],[6572,1],[7558,1],[8512,1],[9459,1],[10389,1]]},"1205":{"position":[[5167,1]]},"1206":{"position":[[3866,1]]},"1207":{"position":[[3795,1]]},"1209":{"position":[[5143,1]]},"1211":{"position":[[467,1]]},"1213":{"position":[[238,1]]},"1215":{"position":[[322,1]]},"1217":{"position":[[8454,1]]},"1219":{"position":[[3709,1]]},"1221":{"position":[[441,1]]},"1222":{"position":[[3580,1]]},"1223":{"position":[[3590,1]]},"1224":{"position":[[3023,1]]},"1226":{"position":[[8922,1]]},"1228":{"position":[[10535,1]]},"1233":{"position":[[77,4]]},"1235":{"position":[[6403,1]]},"1237":{"position":[[9092,1]]},"1455":{"position":[[4639,4],[4773,4]]},"1478":{"position":[[3227,2],[3501,1],[3633,1],[3642,1],[3754,1],[3764,1]]},"1482":{"position":[[2839,1],[2849,1],[2928,1],[2938,1],[3171,1],[3181,1],[3260,1],[3270,1],[3341,1],[3351,1]]},"1486":{"position":[[3855,2],[4046,2],[4785,1]]}},"keywords":{}}],["0!r",{"_index":2836,"title":{},"content":{"595":{"position":[[1679,5]]}},"keywords":{}}],["0!s}?".format("heterological"",{"_index":2837,"title":{},"content":{"595":{"position":[[1685,46]]}},"keywords":{}}],["0.0",{"_index":536,"title":{},"content":{"17":{"position":[[1433,5]]},"644":{"position":[[382,4],[398,3],[515,3]]},"1478":{"position":[[3476,3],[3523,3],[3552,3]]}},"keywords":{}}],["0.07",{"_index":5424,"title":{},"content":{"1058":{"position":[[354,4]]}},"keywords":{}}],["0.08",{"_index":5419,"title":{},"content":{"1058":{"position":[[320,4]]}},"keywords":{}}],["0.1",{"_index":206,"title":{},"content":{"9":{"position":[[739,3]]},"1422":{"position":[[4249,4]]}},"keywords":{}}],["0.1.2",{"_index":7897,"title":{},"content":{"1422":{"position":[[2863,5]]}},"keywords":{}}],["0.1.2/data.dat",{"_index":7893,"title":{},"content":{"1422":{"position":[[2816,14]]}},"keywords":{}}],["0.1.tar.gz.badextens",{"_index":7912,"title":{},"content":{"1422":{"position":[[4098,25]]}},"keywords":{}}],["0.10.0"",{"_index":8058,"title":{},"content":{"1439":{"position":[[6209,13],[6453,13]]}},"keywords":{}}],["0.10.0.jar"",{"_index":8062,"title":{},"content":{"1439":{"position":[[6509,17]]}},"keywords":{}}],["0.17",{"_index":5414,"title":{},"content":{"1058":{"position":[[280,4]]}},"keywords":{}}],["0.2",{"_index":8469,"title":{},"content":{"1477":{"position":[[3206,5]]}},"keywords":{}}],["0.2.3",{"_index":7895,"title":{},"content":{"1422":{"position":[[2843,5]]}},"keywords":{}}],["0.25",{"_index":3175,"title":{},"content":{"644":{"position":[[472,4]]}},"keywords":{}}],["0.27",{"_index":5409,"title":{},"content":{"1058":{"position":[[243,4],[670,6]]}},"keywords":{}}],["0.4.7",{"_index":8283,"title":{},"content":{"1461":{"position":[[3923,5]]}},"keywords":{}}],["0.435",{"_index":5387,"title":{},"content":{"1057":{"position":[[413,5],[419,5]]}},"keywords":{}}],["0.5",{"_index":6006,"title":{},"content":{"1181":{"position":[[580,4]]}},"keywords":{}}],["0.725",{"_index":5385,"title":{},"content":{"1057":{"position":[[389,5],[395,5]]}},"keywords":{}}],["0.726",{"_index":5381,"title":{},"content":{"1057":{"position":[[353,5]]}},"keywords":{}}],["01",{"_index":6102,"title":{},"content":{"1232":{"position":[[70,3]]}},"keywords":{}}],["02",{"_index":6109,"title":{},"content":{"1232":{"position":[[501,3]]}},"keywords":{}}],["03",{"_index":6112,"title":{},"content":{"1232":{"position":[[921,3]]}},"keywords":{}}],["04",{"_index":6115,"title":{},"content":{"1232":{"position":[[1023,3]]}},"keywords":{}}],["05",{"_index":6120,"title":{},"content":{"1232":{"position":[[1296,3]]}},"keywords":{}}],["06",{"_index":460,"title":{},"content":{"15":{"position":[[448,2],[474,2]]},"1232":{"position":[[1963,3]]}},"keywords":{}}],["07",{"_index":6133,"title":{},"content":{"1232":{"position":[[2233,3]]}},"keywords":{}}],["08",{"_index":461,"title":{},"content":{"15":{"position":[[451,2],[477,2]]},"1232":{"position":[[2867,3]]}},"keywords":{}}],["0:len(l",{"_index":2582,"title":{},"content":{"566":{"position":[[470,11]]},"567":{"position":[[370,10]]}},"keywords":{}}],["0b",{"_index":3206,"title":{},"content":{"648":{"position":[[525,3],[529,3]]}},"keywords":{}}],["0e890477",{"_index":527,"title":{},"content":{"17":{"position":[[1363,8]]}},"keywords":{}}],["0x",{"_index":3207,"title":{},"content":{"648":{"position":[[533,3],[537,3]]}},"keywords":{}}],["0x0000000005370df8",{"_index":6134,"title":{},"content":{"1232":{"position":[[2237,18]]}},"keywords":{}}],["0x00000000054c58a3",{"_index":6121,"title":{},"content":{"1232":{"position":[[1300,18]]}},"keywords":{}}],["0x00000000054c7ae3",{"_index":6131,"title":{},"content":{"1232":{"position":[[1967,18]]}},"keywords":{}}],["0x00000000054f7288",{"_index":6142,"title":{},"content":{"1232":{"position":[[2871,18]]}},"keywords":{}}],["0x00000000059dbb2c",{"_index":6113,"title":{},"content":{"1232":{"position":[[925,18]]}},"keywords":{}}],["0x0000000005b1ec26",{"_index":6103,"title":{},"content":{"1232":{"position":[[74,18]]}},"keywords":{}}],["0x0000000005b23998",{"_index":6110,"title":{},"content":{"1232":{"position":[[505,18]]}},"keywords":{}}],["0x0000000005c3c677",{"_index":6116,"title":{},"content":{"1232":{"position":[[1027,18]]}},"keywords":{}}],["0x10ffff",{"_index":3092,"title":{},"content":{"634":{"position":[[209,9]]}},"keywords":{}}],["0x1f63f",{"_index":3275,"title":{},"content":{"656":{"position":[[416,7]]}},"keywords":{}}],["0x20",{"_index":2638,"title":{},"content":{"577":{"position":[[210,6]]}},"keywords":{}}],["0})".format("zero"",{"_index":2832,"title":{},"content":{"595":{"position":[[1590,35]]}},"keywords":{}}],["1",{"_index":973,"title":{"719":{"position":[[6,1]]}},"content":{"69":{"position":[[410,1]]},"328":{"position":[[510,2]]},"405":{"position":[[2252,1]]},"408":{"position":[[957,1]]},"441":{"position":[[254,1]]},"442":{"position":[[209,6],[238,2],[294,6],[323,2],[375,3],[407,2]]},"457":{"position":[[410,1]]},"469":{"position":[[391,2]]},"553":{"position":[[221,2]]},"554":{"position":[[339,2],[388,1]]},"555":{"position":[[261,2],[316,3]]},"556":{"position":[[237,2]]},"557":{"position":[[448,2],[497,1]]},"558":{"position":[[303,2],[359,2]]},"559":{"position":[[531,2],[587,1],[652,2],[759,2]]},"560":{"position":[[778,3],[872,2]]},"561":{"position":[[264,2],[301,3]]},"563":{"position":[[240,3]]},"564":{"position":[[190,3]]},"565":{"position":[[358,3]]},"566":{"position":[[752,1]]},"567":{"position":[[558,2]]},"568":{"position":[[342,3],[383,3]]},"569":{"position":[[255,3],[285,3],[312,3],[414,3]]},"591":{"position":[[915,1]]},"594":{"position":[[467,2],[513,1],[613,1]]},"595":{"position":[[914,2]]},"596":{"position":[[391,1]]},"611":{"position":[[407,1],[460,1]]},"612":{"position":[[436,1]]},"614":{"position":[[440,2],[519,2]]},"616":{"position":[[1124,2],[1301,2]]},"628":{"position":[[157,3],[177,2],[207,2]]},"629":{"position":[[156,3],[176,2]]},"636":{"position":[[527,3],[540,2],[554,3],[567,2],[596,3],[639,3],[686,2],[722,3],[781,2],[821,2],[847,2]]},"639":{"position":[[486,3],[576,2],[582,4]]},"641":{"position":[[144,2],[167,1]]},"643":{"position":[[264,2],[284,3],[321,3]]},"648":{"position":[[426,1],[891,1],[922,1],[936,1]]},"651":{"position":[[222,1],[259,1]]},"652":{"position":[[296,3]]},"653":{"position":[[209,3]]},"654":{"position":[[338,2],[344,2]]},"655":{"position":[[230,2],[236,2],[249,1]]},"662":{"position":[[45,2],[329,2],[820,2]]},"664":{"position":[[122,3]]},"665":{"position":[[266,2],[462,2]]},"666":{"position":[[503,2],[509,2],[522,3],[526,2],[552,2],[558,2],[598,2],[601,2]]},"668":{"position":[[260,3]]},"670":{"position":[[253,3]]},"673":{"position":[[499,5],[586,3]]},"712":{"position":[[2714,1]]},"784":{"position":[[2252,1]]},"787":{"position":[[957,1]]},"820":{"position":[[254,1]]},"821":{"position":[[209,6],[238,2],[294,6],[323,2],[375,3],[407,2]]},"840":{"position":[[805,1]]},"850":{"position":[[635,1]]},"890":{"position":[[413,1],[430,2],[910,2],[1189,1],[1464,1],[2014,2],[3247,1]]},"892":{"position":[[1376,2]]},"1048":{"position":[[1283,2]]},"1050":{"position":[[1660,2]]},"1057":{"position":[[935,1]]},"1133":{"position":[[105,2],[524,2]]},"1136":{"position":[[6145,1],[6475,2]]},"1138":{"position":[[9807,1],[10137,2]]},"1140":{"position":[[8733,1],[9063,2]]},"1142":{"position":[[264,1],[4177,1],[4507,2]]},"1144":{"position":[[505,1],[835,2]]},"1146":{"position":[[4117,1],[4447,2]]},"1148":{"position":[[7708,1],[8038,2]]},"1150":{"position":[[740,1],[1070,2]]},"1152":{"position":[[438,1],[768,2]]},"1154":{"position":[[593,1],[923,2]]},"1155":{"position":[[4213,1],[4543,2]]},"1156":{"position":[[3791,1],[4121,2]]},"1157":{"position":[[376,1],[706,2]]},"1158":{"position":[[370,1],[700,2]]},"1159":{"position":[[370,1],[700,2]]},"1161":{"position":[[1365,1],[1695,2]]},"1163":{"position":[[751,1],[1081,2]]},"1165":{"position":[[580,1],[910,2]]},"1167":{"position":[[9737,1],[10067,2]]},"1169":{"position":[[2845,1],[3175,2]]},"1171":{"position":[[1086,1],[1416,2]]},"1172":{"position":[[2471,1],[2801,2]]},"1173":{"position":[[1158,1],[1488,2]]},"1174":{"position":[[586,1],[916,2]]},"1175":{"position":[[582,1],[912,2]]},"1176":{"position":[[751,1],[1081,2]]},"1177":{"position":[[672,1],[1002,2]]},"1178":{"position":[[989,1],[1319,2]]},"1179":{"position":[[786,1],[1116,2]]},"1180":{"position":[[1057,1],[1387,2]]},"1181":{"position":[[1577,1],[1907,2]]},"1182":{"position":[[620,1],[950,2]]},"1183":{"position":[[575,1],[905,2]]},"1185":{"position":[[420,1],[750,2]]},"1186":{"position":[[5381,1],[5711,2]]},"1187":{"position":[[5394,1],[5724,2]]},"1188":{"position":[[10120,1],[10450,2]]},"1190":{"position":[[1751,1],[2081,2]]},"1191":{"position":[[3981,1],[4311,2]]},"1192":{"position":[[4156,1],[4486,2]]},"1193":{"position":[[4208,1],[4538,2]]},"1194":{"position":[[3848,1],[4178,2]]},"1195":{"position":[[3826,1],[4156,2]]},"1196":{"position":[[3636,1],[3966,2]]},"1197":{"position":[[4619,1],[4949,2]]},"1198":{"position":[[4629,1],[4959,2]]},"1199":{"position":[[4657,1],[4987,2]]},"1200":{"position":[[4524,1],[4854,2]]},"1201":{"position":[[3784,1],[4114,2]]},"1202":{"position":[[528,1],[858,2],[4926,1],[5256,2],[9323,1],[9653,2]]},"1203":{"position":[[4018,1],[4348,2]]},"1204":{"position":[[3862,1],[4192,2],[4764,1],[5094,2],[5694,1],[6024,2],[6596,1],[6926,2],[7582,1],[7912,2],[8536,1],[8866,2],[9307,2],[9483,1],[9813,2],[10413,1],[10743,2]]},"1205":{"position":[[5191,1],[5521,2]]},"1206":{"position":[[3890,1],[4220,2]]},"1207":{"position":[[3819,1],[4149,2]]},"1209":{"position":[[5167,1],[5497,2]]},"1211":{"position":[[491,1],[821,2]]},"1213":{"position":[[262,1],[592,2]]},"1215":{"position":[[346,1],[676,2]]},"1217":{"position":[[8478,1],[8808,2]]},"1219":{"position":[[3733,1],[4063,2]]},"1221":{"position":[[465,1],[795,2]]},"1222":{"position":[[3604,1],[3934,2]]},"1223":{"position":[[3614,1],[3944,2]]},"1224":{"position":[[3047,1],[3377,2]]},"1226":{"position":[[8946,1],[9276,2]]},"1228":{"position":[[10559,1],[10889,2]]},"1235":{"position":[[1019,2],[1050,2],[1160,3],[1247,2],[6427,1],[6757,2]]},"1237":{"position":[[9116,1],[9446,2]]},"1243":{"position":[[67,2]]},"1252":{"position":[[169,1],[204,2],[268,2]]},"1277":{"position":[[218,3],[267,2]]},"1278":{"position":[[338,2]]},"1279":{"position":[[262,2]]},"1280":{"position":[[237,2]]},"1281":{"position":[[194,2]]},"1308":{"position":[[218,3],[267,2]]},"1309":{"position":[[338,2]]},"1310":{"position":[[262,2]]},"1311":{"position":[[237,2]]},"1312":{"position":[[194,2]]},"1336":{"position":[[218,3],[267,2]]},"1337":{"position":[[338,2]]},"1338":{"position":[[262,2]]},"1339":{"position":[[237,2]]},"1340":{"position":[[194,2]]},"1404":{"position":[[1471,1]]},"1455":{"position":[[4651,4],[4785,4]]},"1478":{"position":[[3267,1],[3560,2],[3652,1],[3745,1],[3802,1]]},"1482":{"position":[[2830,1],[2919,1],[3162,1],[3251,1],[3332,1]]},"1486":{"position":[[2275,1],[2477,2],[2519,1],[4248,2],[4721,2],[5685,1]]}},"keywords":{}}],["1)"",{"_index":5852,"title":{},"content":{"1133":{"position":[[1039,8]]},"1277":{"position":[[352,9]]},"1308":{"position":[[352,9]]},"1336":{"position":[[352,9]]},"1382":{"position":[[5260,8]]},"1388":{"position":[[5954,8]]},"1442":{"position":[[2250,8]]}},"keywords":{}}],["1).for",{"_index":4231,"title":{},"content":{"890":{"position":[[3257,6]]}},"keywords":{}}],["1,2,3",{"_index":4252,"title":{},"content":{"890":{"position":[[5645,8]]},"898":{"position":[[1282,9],[1337,8]]}},"keywords":{}}],["1.0",{"_index":3171,"title":{},"content":{"644":{"position":[[414,3],[432,3],[452,3],[534,3]]},"1487":{"position":[[3478,3],[3829,3]]}},"keywords":{}}],["1.0"",{"_index":5036,"title":{},"content":{"1007":{"position":[[337,10]]}},"keywords":{}}],["1.0.2",{"_index":8290,"title":{},"content":{"1461":{"position":[[4046,5]]}},"keywords":{}}],["1.0.dll",{"_index":7139,"title":{},"content":{"1381":{"position":[[2787,9]]}},"keywords":{}}],["1.028",{"_index":5382,"title":{},"content":{"1057":{"position":[[359,5],[684,6]]}},"keywords":{}}],["1.163",{"_index":5376,"title":{},"content":{"1057":{"position":[[319,5]]}},"keywords":{}}],["1.32.0",{"_index":8440,"title":{},"content":{"1471":{"position":[[5683,6]]},"1472":{"position":[[6569,6]]},"1473":{"position":[[5854,6]]}},"keywords":{}}],["1.5gb",{"_index":6193,"title":{},"content":{"1248":{"position":[[195,6]]}},"keywords":{}}],["1.5m",{"_index":5393,"title":{},"content":{"1057":{"position":[[669,4]]}},"keywords":{}}],["1.get",{"_index":3130,"title":{},"content":{"638":{"position":[[764,5]]},"902":{"position":[[752,5]]}},"keywords":{}}],["10",{"_index":3051,"title":{},"content":{"627":{"position":[[98,3],[105,2],[119,2]]},"648":{"position":[[964,3]]},"651":{"position":[[251,4]]},"662":{"position":[[861,4],[905,3],[955,4]]},"867":{"position":[[1195,3]]},"1228":{"position":[[1912,5]]},"1252":{"position":[[280,3]]}},"keywords":{}}],["10,000",{"_index":4590,"title":{},"content":{"937":{"position":[[967,8]]}},"keywords":{}}],["10.0",{"_index":3054,"title":{},"content":{"627":{"position":[[135,4]]}},"keywords":{}}],["10.10",{"_index":8286,"title":{},"content":{"1461":{"position":[[3942,5],[4065,5]]}},"keywords":{}}],["10.455",{"_index":5372,"title":{},"content":{"1057":{"position":[[273,6],[280,6],[488,8]]}},"keywords":{}}],["100",{"_index":1827,"title":{},"content":{"335":{"position":[[753,4]]},"446":{"position":[[559,3]]},"475":{"position":[[515,4]]},"689":{"position":[[305,4]]},"825":{"position":[[559,3]]},"1478":{"position":[[3484,6]]},"1486":{"position":[[2480,5],[2547,4]]}},"keywords":{}}],["100.0",{"_index":3177,"title":{},"content":{"644":{"position":[[493,5]]}},"keywords":{}}],["1004",{"_index":5425,"title":{},"content":{"1058":{"position":[[359,4]]}},"keywords":{}}],["101",{"_index":2756,"title":{},"content":{"590":{"position":[[577,4]]}},"keywords":{}}],["1049",{"_index":3273,"title":{},"content":{"656":{"position":[[388,4]]}},"keywords":{}}],["105fe3389fc7e436",{"_index":6017,"title":{},"content":{"1194":{"position":[[204,19]]}},"keywords":{}}],["108",{"_index":2757,"title":{},"content":{"590":{"position":[[582,4],[587,4]]}},"keywords":{}}],["111",{"_index":2758,"title":{},"content":{"590":{"position":[[592,4]]}},"keywords":{}}],["11328",{"_index":5378,"title":{},"content":{"1057":{"position":[[331,5]]}},"keywords":{}}],["117736",{"_index":5415,"title":{},"content":{"1058":{"position":[[285,6]]}},"keywords":{}}],["12",{"_index":2780,"title":{},"content":{"591":{"position":[[908,3]]},"1079":{"position":[[683,2]]}},"keywords":{}}],["12.34",{"_index":3055,"title":{},"content":{"627":{"position":[[145,6],[155,5]]}},"keywords":{}}],["123",{"_index":4017,"title":{},"content":{"867":{"position":[[473,4]]}},"keywords":{}}],["12345",{"_index":3223,"title":{},"content":{"648":{"position":[[1063,5]]},"1009":{"position":[[690,7],[862,7]]}},"keywords":{}}],["12345.6789",{"_index":3222,"title":{},"content":{"648":{"position":[[1047,11]]}},"keywords":{}}],["123456789",{"_index":4021,"title":{},"content":{"867":{"position":[[644,9],[1606,9],[2337,9]]}},"keywords":{}}],["13:5",{"_index":5412,"title":{},"content":{"1058":{"position":[[269,4]]}},"keywords":{}}],["13:60",{"_index":5413,"title":{},"content":{"1058":{"position":[[274,5]]}},"keywords":{}}],["14",{"_index":3218,"title":{},"content":{"648":{"position":[[990,2]]}},"keywords":{}}],["14.0.1.jar",{"_index":3690,"title":{},"content":{"708":{"position":[[127,12]]}},"keywords":{}}],["14.1",{"_index":5889,"title":{},"content":{"1136":{"position":[[3089,4]]},"1138":{"position":[[6751,4]]},"1140":{"position":[[5677,4]]},"1142":{"position":[[1121,4]]},"1146":{"position":[[1061,4]]},"1148":{"position":[[4101,4]]},"1155":{"position":[[1157,4]]},"1156":{"position":[[735,4]]},"1167":{"position":[[6681,4]]},"1169":{"position":[[520,4]]},"1186":{"position":[[2325,4]]},"1187":{"position":[[2338,4]]},"1188":{"position":[[7064,4]]},"1191":{"position":[[925,4]]},"1192":{"position":[[1100,4]]},"1193":{"position":[[1152,4]]},"1194":{"position":[[792,4]]},"1195":{"position":[[770,4]]},"1196":{"position":[[580,4]]},"1197":{"position":[[1563,4]]},"1198":{"position":[[1573,4]]},"1199":{"position":[[1601,4]]},"1200":{"position":[[1468,4]]},"1201":{"position":[[728,4]]},"1202":{"position":[[1870,4],[6267,4]]},"1203":{"position":[[962,4]]},"1204":{"position":[[806,4]]},"1205":{"position":[[2135,4]]},"1206":{"position":[[606,4]]},"1207":{"position":[[763,4]]},"1209":{"position":[[2111,4]]},"1217":{"position":[[5422,4]]},"1219":{"position":[[1408,4]]},"1222":{"position":[[532,4]]},"1223":{"position":[[542,4]]},"1224":{"position":[[722,4]]},"1226":{"position":[[5890,4]]},"1228":{"position":[[7503,4]]},"1235":{"position":[[3371,4]]},"1237":{"position":[[6060,4]]}},"keywords":{}}],["14.3.0",{"_index":5887,"title":{},"content":{"1136":{"position":[[3073,6]]},"1138":{"position":[[6735,6]]},"1140":{"position":[[5661,6]]},"1142":{"position":[[1105,6]]},"1146":{"position":[[1045,6]]},"1148":{"position":[[4085,6]]},"1155":{"position":[[1141,6]]},"1156":{"position":[[719,6]]},"1167":{"position":[[6665,6]]},"1169":{"position":[[504,6]]},"1186":{"position":[[2309,6]]},"1187":{"position":[[2322,6]]},"1188":{"position":[[7048,6]]},"1191":{"position":[[909,6]]},"1192":{"position":[[1084,6]]},"1193":{"position":[[1136,6]]},"1194":{"position":[[776,6]]},"1195":{"position":[[754,6]]},"1196":{"position":[[564,6]]},"1197":{"position":[[1547,6]]},"1198":{"position":[[1557,6]]},"1199":{"position":[[1585,6]]},"1200":{"position":[[1452,6]]},"1201":{"position":[[712,6]]},"1202":{"position":[[1854,6],[6251,6]]},"1203":{"position":[[946,6]]},"1204":{"position":[[790,6]]},"1205":{"position":[[2119,6]]},"1206":{"position":[[590,6]]},"1207":{"position":[[747,6]]},"1209":{"position":[[2095,6]]},"1217":{"position":[[5406,6]]},"1219":{"position":[[1392,6]]},"1222":{"position":[[516,6]]},"1223":{"position":[[526,6]]},"1224":{"position":[[706,6]]},"1226":{"position":[[5874,6]]},"1228":{"position":[[7487,6]]},"1235":{"position":[[3355,6]]},"1237":{"position":[[6044,6]]}},"keywords":{}}],["143",{"_index":5435,"title":{},"content":{"1058":{"position":[[872,3]]}},"keywords":{}}],["14b47b",{"_index":5890,"title":{},"content":{"1136":{"position":[[3094,7]]},"1138":{"position":[[6756,7]]},"1140":{"position":[[5682,7]]},"1142":{"position":[[1126,7]]},"1146":{"position":[[1066,7]]},"1148":{"position":[[4106,7]]},"1155":{"position":[[1162,7]]},"1156":{"position":[[740,7]]},"1167":{"position":[[6686,7]]},"1169":{"position":[[525,7]]},"1186":{"position":[[2330,7]]},"1187":{"position":[[2343,7]]},"1188":{"position":[[7069,7]]},"1191":{"position":[[930,7]]},"1192":{"position":[[1105,7]]},"1193":{"position":[[1157,7]]},"1194":{"position":[[797,7]]},"1195":{"position":[[775,7]]},"1196":{"position":[[585,7]]},"1197":{"position":[[1568,7]]},"1198":{"position":[[1578,7]]},"1199":{"position":[[1606,7]]},"1200":{"position":[[1473,7]]},"1201":{"position":[[733,7]]},"1202":{"position":[[1875,7],[6272,7]]},"1203":{"position":[[967,7]]},"1204":{"position":[[811,7]]},"1205":{"position":[[2140,7]]},"1206":{"position":[[611,7]]},"1207":{"position":[[768,7]]},"1209":{"position":[[2116,7]]},"1217":{"position":[[5427,7]]},"1219":{"position":[[1413,7]]},"1222":{"position":[[537,7]]},"1223":{"position":[[547,7]]},"1224":{"position":[[727,7]]},"1226":{"position":[[5895,7]]},"1228":{"position":[[7508,7]]},"1235":{"position":[[3376,7]]},"1237":{"position":[[6065,7]]}},"keywords":{}}],["14c18",{"_index":5888,"title":{},"content":{"1136":{"position":[[3080,5]]},"1138":{"position":[[6742,5]]},"1140":{"position":[[5668,5]]},"1142":{"position":[[1112,5]]},"1146":{"position":[[1052,5]]},"1148":{"position":[[4092,5]]},"1155":{"position":[[1148,5]]},"1156":{"position":[[726,5]]},"1167":{"position":[[6672,5]]},"1169":{"position":[[511,5]]},"1186":{"position":[[2316,5]]},"1187":{"position":[[2329,5]]},"1188":{"position":[[7055,5]]},"1191":{"position":[[916,5]]},"1192":{"position":[[1091,5]]},"1193":{"position":[[1143,5]]},"1194":{"position":[[783,5]]},"1195":{"position":[[761,5]]},"1196":{"position":[[571,5]]},"1197":{"position":[[1554,5]]},"1198":{"position":[[1564,5]]},"1199":{"position":[[1592,5]]},"1200":{"position":[[1459,5]]},"1201":{"position":[[719,5]]},"1202":{"position":[[1861,5],[6258,5]]},"1203":{"position":[[953,5]]},"1204":{"position":[[797,5]]},"1205":{"position":[[2126,5]]},"1206":{"position":[[597,5]]},"1207":{"position":[[754,5]]},"1209":{"position":[[2102,5]]},"1217":{"position":[[5413,5]]},"1219":{"position":[[1399,5]]},"1222":{"position":[[523,5]]},"1223":{"position":[[533,5]]},"1224":{"position":[[713,5]]},"1226":{"position":[[5881,5]]},"1228":{"position":[[7494,5]]},"1235":{"position":[[3362,5]]},"1237":{"position":[[6051,5]]}},"keywords":{}}],["15",{"_index":4981,"title":{},"content":{"997":{"position":[[167,2]]}},"keywords":{}}],["15.0"",{"_index":5509,"title":{},"content":{"1072":{"position":[[834,11],[1364,11]]}},"keywords":{}}],["15.28",{"_index":6477,"title":{},"content":{"1351":{"position":[[3082,7]]}},"keywords":{}}],["1514985",{"_index":5383,"title":{},"content":{"1057":{"position":[[365,7]]}},"keywords":{}}],["16",{"_index":3216,"title":{},"content":{"648":{"position":[[951,2],[971,2],[1003,3]]}},"keywords":{}}],["1600fde728c885cc9506cb102deb1b494bd7c130",{"_index":8397,"title":{},"content":{"1469":{"position":[[3703,43]]}},"keywords":{}}],["18",{"_index":4595,"title":{},"content":{"937":{"position":[[1927,2]]}},"keywords":{}}],["1887",{"_index":5386,"title":{},"content":{"1057":{"position":[[401,4]]}},"keywords":{}}],["19990",{"_index":2761,"title":{},"content":{"590":{"position":[[605,6]]}},"keywords":{}}],["1}.pop('four",{"_index":2525,"title":{},"content":{"557":{"position":[[615,14]]}},"keywords":{}}],["2",{"_index":246,"title":{"721":{"position":[[6,1]]},"879":{"position":[[5,1]]}},"content":{"9":{"position":[[1525,1]]},"405":{"position":[[2306,1]]},"441":{"position":[[283,2],[311,6],[338,3]]},"442":{"position":[[266,2],[379,5]]},"553":{"position":[[241,2]]},"554":{"position":[[359,2]]},"555":{"position":[[281,2],[338,3]]},"556":{"position":[[257,2]]},"557":{"position":[[468,2],[522,2]]},"558":{"position":[[323,2],[395,2]]},"559":{"position":[[551,2],[672,2],[779,2]]},"560":{"position":[[472,3],[798,4],[890,2]]},"561":{"position":[[284,2],[305,2]]},"563":{"position":[[244,2]]},"564":{"position":[[194,2]]},"565":{"position":[[318,2],[362,2]]},"566":{"position":[[786,2],[827,2]]},"568":{"position":[[346,2],[376,1]]},"569":{"position":[[259,2],[265,2],[292,2],[418,2],[424,2]]},"591":{"position":[[657,1],[808,1],[856,1]]},"594":{"position":[[555,2],[603,2]]},"595":{"position":[[917,2],[1554,2]]},"596":{"position":[[434,2],[483,2]]},"610":{"position":[[502,2],[747,2],[899,2]]},"611":{"position":[[450,2]]},"612":{"position":[[503,2]]},"636":{"position":[[580,3],[600,2],[619,3],[643,2],[696,2],[709,4],[726,2],[749,4],[800,4],[839,2]]},"639":{"position":[[508,3],[605,3]]},"643":{"position":[[318,2],[325,2]]},"651":{"position":[[238,1]]},"652":{"position":[[300,2]]},"653":{"position":[[206,2],[213,2],[226,3]]},"662":{"position":[[823,2],[909,3],[948,3]]},"663":{"position":[[215,1]]},"665":{"position":[[263,2]]},"670":{"position":[[257,2]]},"673":{"position":[[505,5],[606,3]]},"784":{"position":[[2306,1]]},"820":{"position":[[283,2],[311,6],[338,3]]},"821":{"position":[[266,2],[379,5]]},"840":{"position":[[819,1]]},"850":{"position":[[649,1]]},"879":{"position":[[5,1],[29,1]]},"890":{"position":[[1498,1],[1617,1]]},"901":{"position":[[178,1]]},"919":{"position":[[1985,1]]},"926":{"position":[[16,1]]},"937":{"position":[[235,1],[1841,1]]},"1048":{"position":[[964,2]]},"1057":{"position":[[947,1]]},"1126":{"position":[[209,1]]},"1136":{"position":[[6171,1]]},"1138":{"position":[[9833,1]]},"1140":{"position":[[8759,1]]},"1142":{"position":[[4203,1]]},"1144":{"position":[[531,1]]},"1146":{"position":[[4143,1]]},"1148":{"position":[[7734,1]]},"1150":{"position":[[766,1]]},"1152":{"position":[[464,1]]},"1154":{"position":[[619,1]]},"1155":{"position":[[4239,1]]},"1156":{"position":[[3817,1]]},"1157":{"position":[[402,1]]},"1158":{"position":[[396,1]]},"1159":{"position":[[396,1]]},"1161":{"position":[[1391,1]]},"1163":{"position":[[777,1]]},"1165":{"position":[[606,1]]},"1167":{"position":[[9763,1]]},"1169":{"position":[[2871,1]]},"1171":{"position":[[1112,1]]},"1172":{"position":[[2497,1]]},"1173":{"position":[[1184,1]]},"1174":{"position":[[612,1]]},"1175":{"position":[[608,1]]},"1176":{"position":[[777,1]]},"1177":{"position":[[698,1]]},"1178":{"position":[[1015,1]]},"1179":{"position":[[812,1]]},"1180":{"position":[[1083,1]]},"1181":{"position":[[585,2],[1603,1]]},"1182":{"position":[[646,1]]},"1183":{"position":[[601,1]]},"1185":{"position":[[446,1]]},"1186":{"position":[[5407,1]]},"1187":{"position":[[5420,1]]},"1188":{"position":[[10146,1]]},"1190":{"position":[[1777,1]]},"1191":{"position":[[4007,1]]},"1192":{"position":[[4182,1]]},"1193":{"position":[[4234,1]]},"1194":{"position":[[3874,1]]},"1195":{"position":[[3852,1]]},"1196":{"position":[[3662,1]]},"1197":{"position":[[4645,1]]},"1198":{"position":[[4655,1]]},"1199":{"position":[[4683,1]]},"1200":{"position":[[4550,1]]},"1201":{"position":[[3810,1]]},"1202":{"position":[[554,1],[4952,1],[9349,1]]},"1203":{"position":[[4044,1]]},"1204":{"position":[[3888,1],[4790,1],[5720,1],[6622,1],[7608,1],[8562,1],[9509,1],[10439,1]]},"1205":{"position":[[5217,1]]},"1206":{"position":[[3916,1]]},"1207":{"position":[[3845,1]]},"1209":{"position":[[5193,1]]},"1211":{"position":[[517,1]]},"1213":{"position":[[288,1]]},"1215":{"position":[[372,1]]},"1217":{"position":[[8504,1]]},"1219":{"position":[[3759,1]]},"1221":{"position":[[491,1]]},"1222":{"position":[[3630,1]]},"1223":{"position":[[3640,1]]},"1224":{"position":[[3073,1]]},"1226":{"position":[[8972,1]]},"1228":{"position":[[10585,1]]},"1235":{"position":[[1074,4],[1271,6],[6453,1]]},"1237":{"position":[[9142,1]]},"1243":{"position":[[35,1],[96,2]]},"1486":{"position":[[5930,1]]}},"keywords":{}}],["2.0",{"_index":6903,"title":{},"content":{"1363":{"position":[[7046,3]]}},"keywords":{}}],["2.22.0",{"_index":8275,"title":{},"content":{"1461":{"position":[[3552,6],[3669,6]]}},"keywords":{}}],["2.3",{"_index":7208,"title":{},"content":{"1384":{"position":[[18545,5]]},"1472":{"position":[[5861,5]]}},"keywords":{}}],["2.514",{"_index":5377,"title":{},"content":{"1057":{"position":[[325,5],[608,6]]}},"keywords":{}}],["2/2",{"_index":8486,"title":{},"content":{"1478":{"position":[[3491,3]]}},"keywords":{}}],["20",{"_index":6210,"title":{},"content":{"1252":{"position":[[233,4]]}},"keywords":{}}],["2000000000",{"_index":3225,"title":{},"content":{"648":{"position":[[1081,10]]}},"keywords":{}}],["2013",{"_index":646,"title":{},"content":{"22":{"position":[[625,6]]}},"keywords":{}}],["2015",{"_index":649,"title":{},"content":{"22":{"position":[[675,6]]},"1471":{"position":[[3423,7]]},"1472":{"position":[[4007,7]]},"1473":{"position":[[3457,7]]}},"keywords":{}}],["2018",{"_index":8425,"title":{},"content":{"1471":{"position":[[3365,5]]},"1472":{"position":[[3949,5]]},"1473":{"position":[[3399,5]]}},"keywords":{}}],["2023",{"_index":788,"title":{},"content":{"24":{"position":[[263,5]]},"832":{"position":[[880,5]]}},"keywords":{}}],["2024",{"_index":459,"title":{},"content":{"15":{"position":[[443,4],[469,4]]}},"keywords":{}}],["2053296",{"_index":5388,"title":{},"content":{"1057":{"position":[[425,7]]}},"keywords":{}}],["20gb",{"_index":372,"title":{},"content":{"11":{"position":[[443,5]]}},"keywords":{}}],["22",{"_index":3219,"title":{},"content":{"648":{"position":[[1010,2]]}},"keywords":{}}],["22".isalnum",{"_index":2850,"title":{},"content":{"597":{"position":[[255,18]]}},"keywords":{}}],["22".isalpha",{"_index":2854,"title":{},"content":{"598":{"position":[[233,18]]}},"keywords":{}}],["22".isdigit",{"_index":2859,"title":{},"content":{"599":{"position":[[231,18]]}},"keywords":{}}],["22".islow",{"_index":2864,"title":{},"content":{"600":{"position":[[272,18]]}},"keywords":{}}],["22".istitl",{"_index":2877,"title":{},"content":{"602":{"position":[[283,18]]}},"keywords":{}}],["22".isupp",{"_index":2884,"title":{},"content":{"603":{"position":[[268,18]]}},"keywords":{}}],["23",{"_index":201,"title":{},"content":{"9":{"position":[[668,3]]},"1423":{"position":[[2780,2],[2998,2],[3240,4],[3266,2],[3296,2],[3860,2]]}},"keywords":{}}],["23.0",{"_index":7933,"title":{},"content":{"1423":{"position":[[3102,4]]}},"keywords":{}}],["23.0.jar",{"_index":7932,"title":{},"content":{"1423":{"position":[[2880,10]]}},"keywords":{}}],["24",{"_index":5539,"title":{},"content":{"1079":{"position":[[613,2],[647,2]]}},"keywords":{}}],["25",{"_index":367,"title":{},"content":{"11":{"position":[[361,3],[414,3]]}},"keywords":{}}],["255",{"_index":3162,"title":{},"content":{"642":{"position":[[273,3]]}},"keywords":{}}],["256",{"_index":7889,"title":{},"content":{"1422":{"position":[[2442,3]]},"1423":{"position":[[2111,3]]}},"keywords":{}}],["28:9",{"_index":5422,"title":{},"content":{"1058":{"position":[[343,4]]}},"keywords":{}}],["29:20",{"_index":5423,"title":{},"content":{"1058":{"position":[[348,5]]}},"keywords":{}}],["2gbmemori",{"_index":6191,"title":{},"content":{"1247":{"position":[[511,9]]}},"keywords":{}}],["2x",{"_index":780,"title":{},"content":{"23":{"position":[[3447,2]]}},"keywords":{}}],["2}.key",{"_index":3338,"title":{},"content":{"665":{"position":[[482,10]]}},"keywords":{}}],["3",{"_index":534,"title":{"723":{"position":[[6,1]]}},"content":{"17":{"position":[[1416,2]]},"92":{"position":[[899,1]]},"224":{"position":[[899,1]]},"441":{"position":[[342,2],[370,5]]},"560":{"position":[[908,2]]},"563":{"position":[[247,2]]},"564":{"position":[[197,2]]},"565":{"position":[[321,3],[365,2]]},"566":{"position":[[792,1]]},"568":{"position":[[349,2],[363,1]]},"569":{"position":[[262,2],[289,2],[316,2],[421,2]]},"595":{"position":[[1448,1]]},"607":{"position":[[100,1]]},"613":{"position":[[102,1]]},"636":{"position":[[584,3],[603,2],[734,2],[768,2]]},"638":{"position":[[956,2]]},"643":{"position":[[328,2],[338,3]]},"648":{"position":[[1040,1]]},"652":{"position":[[303,2]]},"653":{"position":[[216,2]]},"662":{"position":[[826,2],[869,3],[916,3],[944,2]]},"665":{"position":[[260,2]]},"666":{"position":[[529,2],[595,2]]},"670":{"position":[[260,2]]},"673":{"position":[[511,5]]},"820":{"position":[[342,2],[370,5]]},"900":{"position":[[95,1],[268,1],[925,1]]},"937":{"position":[[1833,1],[1862,1]]},"944":{"position":[[15,1]]},"980":{"position":[[302,1]]},"1040":{"position":[[1001,1]]},"1136":{"position":[[6199,1]]},"1138":{"position":[[9861,1]]},"1140":{"position":[[8787,1]]},"1142":{"position":[[4231,1]]},"1144":{"position":[[559,1]]},"1146":{"position":[[4171,1]]},"1148":{"position":[[7762,1]]},"1150":{"position":[[794,1]]},"1152":{"position":[[492,1]]},"1154":{"position":[[647,1]]},"1155":{"position":[[4267,1]]},"1156":{"position":[[3845,1]]},"1157":{"position":[[430,1]]},"1158":{"position":[[424,1]]},"1159":{"position":[[424,1]]},"1161":{"position":[[1419,1]]},"1163":{"position":[[805,1]]},"1165":{"position":[[634,1]]},"1167":{"position":[[9791,1]]},"1169":{"position":[[2899,1]]},"1171":{"position":[[1140,1]]},"1172":{"position":[[2525,1]]},"1173":{"position":[[1212,1]]},"1174":{"position":[[640,1]]},"1175":{"position":[[636,1]]},"1176":{"position":[[805,1]]},"1177":{"position":[[726,1]]},"1178":{"position":[[1043,1]]},"1179":{"position":[[840,1]]},"1180":{"position":[[1111,1]]},"1181":{"position":[[1631,1]]},"1182":{"position":[[674,1]]},"1183":{"position":[[629,1]]},"1185":{"position":[[474,1]]},"1186":{"position":[[5435,1]]},"1187":{"position":[[5448,1]]},"1188":{"position":[[10174,1]]},"1190":{"position":[[1805,1]]},"1191":{"position":[[4035,1]]},"1192":{"position":[[4210,1]]},"1193":{"position":[[4262,1]]},"1194":{"position":[[3902,1]]},"1195":{"position":[[3880,1]]},"1196":{"position":[[3690,1]]},"1197":{"position":[[4673,1]]},"1198":{"position":[[4683,1]]},"1199":{"position":[[4711,1]]},"1200":{"position":[[4578,1]]},"1201":{"position":[[3838,1]]},"1202":{"position":[[582,1],[4980,1],[9377,1]]},"1203":{"position":[[4072,1]]},"1204":{"position":[[3916,1],[4818,1],[5748,1],[6650,1],[7636,1],[8590,1],[9537,1],[10467,1]]},"1205":{"position":[[5245,1]]},"1206":{"position":[[3944,1]]},"1207":{"position":[[3873,1]]},"1209":{"position":[[5221,1]]},"1211":{"position":[[545,1]]},"1213":{"position":[[316,1]]},"1215":{"position":[[400,1]]},"1217":{"position":[[8532,1]]},"1219":{"position":[[3787,1]]},"1221":{"position":[[519,1]]},"1222":{"position":[[3658,1]]},"1223":{"position":[[3668,1]]},"1224":{"position":[[3101,1]]},"1226":{"position":[[9000,1]]},"1228":{"position":[[10613,1]]},"1235":{"position":[[6481,1]]},"1237":{"position":[[9170,1]]}},"keywords":{}}],["3,myenum[1",{"_index":4396,"title":{},"content":{"902":{"position":[[943,11]]}},"keywords":{}}],["30028",{"_index":2762,"title":{},"content":{"590":{"position":[[612,6]]}},"keywords":{}}],["311da310416d2feb3de227081d7c3f48742d7075",{"_index":8390,"title":{},"content":{"1469":{"position":[[3073,43],[3408,43]]}},"keywords":{}}],["3188",{"_index":5433,"title":{},"content":{"1058":{"position":[[837,4]]}},"keywords":{}}],["32",{"_index":2760,"title":{},"content":{"590":{"position":[[601,3]]}},"keywords":{}}],["330",{"_index":7976,"title":{},"content":{"1427":{"position":[[7884,5]]},"1439":{"position":[[8708,5]]}},"keywords":{}}],["330:jsr",{"_index":7975,"title":{},"content":{"1427":{"position":[[7876,7]]},"1439":{"position":[[8700,7]]}},"keywords":{}}],["33984",{"_index":5379,"title":{},"content":{"1057":{"position":[[337,5]]}},"keywords":{}}],["3477203",{"_index":5374,"title":{},"content":{"1057":{"position":[[295,7]]}},"keywords":{}}],["37fe8ba804fb3898c3c8f0cbac319cc9daa58400e5f0226a380ac94fb2c3ca14",{"_index":7934,"title":{},"content":{"1423":{"position":[[3133,67]]}},"keywords":{}}],["4",{"_index":2551,"title":{"725":{"position":[[6,1]]}},"content":{"560":{"position":[[833,3],[926,2]]},"594":{"position":[[561,1]]},"596":{"position":[[440,1]]},"611":{"position":[[352,1]]},"612":{"position":[[380,1]]},"636":{"position":[[588,4],[606,2]]},"643":{"position":[[331,3],[342,2]]},"653":{"position":[[219,3],[230,2]]},"654":{"position":[[341,2]]},"655":{"position":[[233,2]]},"662":{"position":[[829,2],[873,2],[966,2]]},"665":{"position":[[256,3]]},"666":{"position":[[506,2],[532,2],[555,2],[592,2]]},"673":{"position":[[517,5]]},"1136":{"position":[[6231,1]]},"1138":{"position":[[9893,1]]},"1140":{"position":[[8819,1]]},"1142":{"position":[[4263,1]]},"1144":{"position":[[591,1]]},"1146":{"position":[[4203,1]]},"1148":{"position":[[7794,1]]},"1150":{"position":[[826,1]]},"1152":{"position":[[524,1]]},"1154":{"position":[[679,1]]},"1155":{"position":[[4299,1]]},"1156":{"position":[[3877,1]]},"1157":{"position":[[462,1]]},"1158":{"position":[[456,1]]},"1159":{"position":[[456,1]]},"1161":{"position":[[1451,1]]},"1163":{"position":[[837,1]]},"1165":{"position":[[666,1]]},"1167":{"position":[[9823,1]]},"1169":{"position":[[2931,1]]},"1171":{"position":[[1172,1]]},"1172":{"position":[[2557,1]]},"1173":{"position":[[1244,1]]},"1174":{"position":[[672,1]]},"1175":{"position":[[668,1]]},"1176":{"position":[[837,1]]},"1177":{"position":[[758,1]]},"1178":{"position":[[1075,1]]},"1179":{"position":[[872,1]]},"1180":{"position":[[1143,1]]},"1181":{"position":[[1663,1]]},"1182":{"position":[[706,1]]},"1183":{"position":[[661,1]]},"1185":{"position":[[506,1]]},"1186":{"position":[[5467,1]]},"1187":{"position":[[5480,1]]},"1188":{"position":[[10206,1]]},"1190":{"position":[[1837,1]]},"1191":{"position":[[4067,1]]},"1192":{"position":[[4242,1]]},"1193":{"position":[[4294,1]]},"1194":{"position":[[3934,1]]},"1195":{"position":[[3912,1]]},"1196":{"position":[[3722,1]]},"1197":{"position":[[4705,1]]},"1198":{"position":[[4715,1]]},"1199":{"position":[[4743,1]]},"1200":{"position":[[4610,1]]},"1201":{"position":[[3870,1]]},"1202":{"position":[[614,1],[5012,1],[9409,1]]},"1203":{"position":[[4104,1]]},"1204":{"position":[[3948,1],[4850,1],[5780,1],[6682,1],[7668,1],[8622,1],[9569,1],[10499,1]]},"1205":{"position":[[5277,1]]},"1206":{"position":[[3976,1]]},"1207":{"position":[[3905,1]]},"1209":{"position":[[5253,1]]},"1211":{"position":[[577,1]]},"1213":{"position":[[348,1]]},"1215":{"position":[[432,1]]},"1217":{"position":[[8564,1]]},"1219":{"position":[[3819,1]]},"1221":{"position":[[551,1]]},"1222":{"position":[[3690,1]]},"1223":{"position":[[3700,1]]},"1224":{"position":[[3133,1]]},"1226":{"position":[[9032,1]]},"1228":{"position":[[10645,1]]},"1235":{"position":[[6513,1]]},"1237":{"position":[[9202,1]]},"1360":{"position":[[6568,1],[6626,1]]},"1477":{"position":[[3189,2]]}},"keywords":{}}],["4.0.30",{"_index":6627,"title":{},"content":{"1358":{"position":[[3011,6]]}},"keywords":{}}],["4.0.30.aar",{"_index":6626,"title":{},"content":{"1358":{"position":[[2970,12]]}},"keywords":{}}],["4.03",{"_index":5404,"title":{},"content":{"1058":{"position":[[194,4]]}},"keywords":{}}],["4.11.jar",{"_index":3700,"title":{},"content":{"708":{"position":[[962,10]]}},"keywords":{}}],["4.7",{"_index":7988,"title":{},"content":{"1429":{"position":[[3725,4],[3758,3]]},"1440":{"position":[[3718,4],[3751,3]]}},"keywords":{}}],["4.8.2",{"_index":8237,"title":{},"content":{"1458":{"position":[[2563,5]]}},"keywords":{}}],["4.8.2.jar",{"_index":8236,"title":{},"content":{"1458":{"position":[[2531,11]]}},"keywords":{}}],["4.x",{"_index":8128,"title":{},"content":{"1448":{"position":[[2757,3]]},"1449":{"position":[[2691,3]]}},"keywords":{}}],["40",{"_index":370,"title":{},"content":{"11":{"position":[[390,3]]},"1404":{"position":[[1454,2]]}},"keywords":{}}],["42",{"_index":1701,"title":{},"content":{"306":{"position":[[368,3]]},"377":{"position":[[811,3]]},"712":{"position":[[1225,3],[1781,3]]},"756":{"position":[[811,3]]},"1052":{"position":[[693,3]]},"1054":{"position":[[555,3]]}},"keywords":{}}],["42%/145",{"_index":225,"title":{},"content":{"9":{"position":[[1140,8]]}},"keywords":{}}],["420:9",{"_index":5407,"title":{},"content":{"1058":{"position":[[231,5],[648,5]]}},"keywords":{}}],["423:1",{"_index":5408,"title":{},"content":{"1058":{"position":[[237,5],[654,5]]}},"keywords":{}}],["42}"",{"_index":7527,"title":{},"content":{"1393":{"position":[[10589,10]]}},"keywords":{}}],["44",{"_index":2759,"title":{},"content":{"590":{"position":[[597,3]]}},"keywords":{}}],["455884",{"_index":5410,"title":{},"content":{"1058":{"position":[[248,6]]}},"keywords":{}}],["456k",{"_index":5432,"title":{},"content":{"1058":{"position":[[712,4]]}},"keywords":{}}],["46:5",{"_index":5417,"title":{},"content":{"1058":{"position":[[309,4]]}},"keywords":{}}],["46:55",{"_index":5418,"title":{},"content":{"1058":{"position":[[314,5]]}},"keywords":{}}],["46b26edb4b80a905",{"_index":1292,"title":{},"content":{"106":{"position":[[99,17]]},"109":{"position":[[99,17]]},"110":{"position":[[102,17]]},"111":{"position":[[115,17]]},"113":{"position":[[125,17]]},"518":{"position":[[99,17]]},"521":{"position":[[99,17]]},"522":{"position":[[102,17]]},"523":{"position":[[115,17]]},"525":{"position":[[125,17]]}},"keywords":{}}],["4829",{"_index":529,"title":{},"content":{"17":{"position":[[1377,4]]}},"keywords":{}}],["4gib",{"_index":7016,"title":{},"content":{"1370":{"position":[[2315,5]]}},"keywords":{}}],["4x",{"_index":247,"title":{},"content":{"9":{"position":[[1527,2]]}},"keywords":{}}],["5",{"_index":2555,"title":{},"content":{"560":{"position":[[944,2]]},"566":{"position":[[833,1]]},"594":{"position":[[606,2]]},"596":{"position":[[486,2]]},"611":{"position":[[401,2],[453,2]]},"612":{"position":[[430,2],[506,2]]},"653":{"position":[[167,2],[182,2]]},"654":{"position":[[347,2]]},"655":{"position":[[239,2]]},"662":{"position":[[832,2],[876,2],[920,2]]},"666":{"position":[[512,2],[535,2],[561,2],[589,2]]},"716":{"position":[[67,1]]}},"keywords":{}}],["5%/10",{"_index":217,"title":{},"content":{"9":{"position":[[1017,6]]}},"keywords":{}}],["500",{"_index":6083,"title":{},"content":{"1228":{"position":[[1918,7]]}},"keywords":{}}],["5b7f",{"_index":528,"title":{},"content":{"17":{"position":[[1372,4]]}},"keywords":{}}],["5m",{"_index":6082,"title":{},"content":{"1228":{"position":[[1908,3]]}},"keywords":{}}],["6",{"_index":3245,"title":{},"content":{"653":{"position":[[171,3],[185,2],[233,2]]},"662":{"position":[[835,2],[879,2],[963,2]]}},"keywords":{}}],["6.2",{"_index":7990,"title":{},"content":{"1429":{"position":[[3834,3]]},"1440":{"position":[[3827,3]]}},"keywords":{}}],["64",{"_index":3209,"title":{},"content":{"648":{"position":[[672,2]]},"1126":{"position":[[397,2],[530,2]]},"1247":{"position":[[347,2]]}},"keywords":{}}],["64gb",{"_index":375,"title":{},"content":{"11":{"position":[[472,4]]}},"keywords":{}}],["65",{"_index":3271,"title":{},"content":{"656":{"position":[[363,2]]}},"keywords":{}}],["65042",{"_index":5420,"title":{},"content":{"1058":{"position":[[325,5]]}},"keywords":{}}],["662e572320a0",{"_index":531,"title":{},"content":{"17":{"position":[[1387,12]]}},"keywords":{}}],["67890",{"_index":5043,"title":{},"content":{"1009":{"position":[[698,6],[870,7]]}},"keywords":{}}],["7",{"_index":2779,"title":{},"content":{"591":{"position":[[905,2]]},"653":{"position":[[162,3],[178,3]]},"662":{"position":[[838,2],[882,2],[923,2]]},"1079":{"position":[[618,1]]}},"keywords":{}}],["7187761",{"_index":5405,"title":{},"content":{"1058":{"position":[[199,7]]}},"keywords":{}}],["72",{"_index":2755,"title":{},"content":{"590":{"position":[[572,4]]}},"keywords":{}}],["7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596",{"_index":7913,"title":{},"content":{"1422":{"position":[[4136,67]]},"1423":{"position":[[2903,67],[3929,67]]}},"keywords":{}}],["8",{"_index":3217,"title":{},"content":{"648":{"position":[[984,2]]},"653":{"position":[[236,2]]},"662":{"position":[[841,2],[885,2],[960,2]]},"1412":{"position":[[4272,2]]}},"keywords":{}}],["8"?>",{"_index":6582,"title":{},"content":{"1356":{"position":[[2222,12]]}},"keywords":{}}],["8.io",{"_index":5508,"title":{},"content":{"1072":{"position":[[828,5],[1358,5]]}},"keywords":{}}],["80",{"_index":3160,"title":{},"content":{"642":{"position":[[258,2]]},"663":{"position":[[803,3],[1010,4],[1065,2],[1142,4]]},"901":{"position":[[758,3],[964,4],[1019,2],[1096,4]]}},"keywords":{}}],["9",{"_index":3254,"title":{},"content":{"654":{"position":[[350,3],[357,1]]},"655":{"position":[[242,3]]},"662":{"position":[[844,2],[888,2],[926,2]]},"666":{"position":[[515,3],[538,2],[564,3],[585,3]]}},"keywords":{}}],["9.2.10.v20150310",{"_index":8387,"title":{},"content":{"1469":{"position":[[2963,16],[3275,16],[3601,16]]}},"keywords":{}}],["9.2.10.v20150310.jar",{"_index":8386,"title":{},"content":{"1469":{"position":[[2855,22]]}},"keywords":{}}],["9.x",{"_index":6917,"title":{},"content":{"1363":{"position":[[7611,3]]}},"keywords":{}}],["9000".istitl",{"_index":2879,"title":{},"content":{"602":{"position":[[320,20]]}},"keywords":{}}],["9000".isupp",{"_index":2883,"title":{},"content":{"603":{"position":[[227,20]]}},"keywords":{}}],["9712799",{"_index":5373,"title":{},"content":{"1057":{"position":[[287,7]]}},"keywords":{}}],["97feca9d014155a80ec55fe27e6bb17f9d2f8574:94",{"_index":4327,"title":{},"content":{"896":{"position":[[956,43]]}},"keywords":{}}],["9ffe",{"_index":530,"title":{},"content":{"17":{"position":[[1382,4]]}},"keywords":{}}],["_",{"_index":925,"title":{},"content":{"63":{"position":[[79,1]]},"69":{"position":[[94,1]]},"89":{"position":[[57,2]]},"92":{"position":[[127,2]]},"94":{"position":[[558,2],[723,2],[751,2],[791,2],[818,2],[842,2],[1031,2],[1102,2]]},"97":{"position":[[68,2],[99,1]]},"125":{"position":[[52,2]]},"126":{"position":[[48,2]]},"127":{"position":[[28,2]]},"129":{"position":[[81,2]]},"131":{"position":[[173,2],[186,2]]},"132":{"position":[[85,2]]},"133":{"position":[[71,2]]},"134":{"position":[[75,2]]},"135":{"position":[[27,2]]},"136":{"position":[[29,2]]},"137":{"position":[[50,2]]},"138":{"position":[[82,2]]},"139":{"position":[[45,2]]},"140":{"position":[[52,2]]},"141":{"position":[[41,2]]},"143":{"position":[[29,2]]},"144":{"position":[[76,2]]},"145":{"position":[[62,2]]},"146":{"position":[[92,2]]},"147":{"position":[[31,2],[45,2]]},"148":{"position":[[80,2]]},"149":{"position":[[86,2]]},"150":{"position":[[44,2]]},"166":{"position":[[68,1]]},"221":{"position":[[57,2]]},"224":{"position":[[127,2]]},"226":{"position":[[558,2],[723,2],[751,2],[791,2],[818,2],[842,2],[1031,2],[1102,2]]},"229":{"position":[[68,2],[99,1]]},"243":{"position":[[92,1]]},"248":{"position":[[52,2]]},"249":{"position":[[48,2]]},"250":{"position":[[28,2]]},"252":{"position":[[81,2]]},"254":{"position":[[173,2],[186,2]]},"255":{"position":[[85,2]]},"256":{"position":[[71,2]]},"257":{"position":[[75,2]]},"258":{"position":[[27,2]]},"259":{"position":[[29,2]]},"260":{"position":[[50,2]]},"261":{"position":[[82,2]]},"262":{"position":[[45,2]]},"263":{"position":[[52,2]]},"264":{"position":[[41,2]]},"266":{"position":[[29,2]]},"267":{"position":[[76,2]]},"268":{"position":[[62,2]]},"269":{"position":[[92,2]]},"270":{"position":[[31,2],[45,2]]},"271":{"position":[[80,2]]},"272":{"position":[[86,2]]},"273":{"position":[[44,2]]},"294":{"position":[[368,2]]},"295":{"position":[[69,1]]},"297":{"position":[[365,2]]},"298":{"position":[[436,2]]},"301":{"position":[[329,1]]},"302":{"position":[[69,1]]},"309":{"position":[[323,2]]},"335":{"position":[[532,1]]},"368":{"position":[[347,2],[387,1]]},"386":{"position":[[260,1]]},"405":{"position":[[510,2],[530,2],[547,2],[565,2],[581,2],[639,2],[665,2],[781,2],[857,1]]},"409":{"position":[[56,2]]},"420":{"position":[[49,2]]},"428":{"position":[[40,1]]},"429":{"position":[[50,2]]},"437":{"position":[[103,2]]},"446":{"position":[[65,2],[82,1]]},"447":{"position":[[101,2]]},"448":{"position":[[65,2],[110,2],[149,1]]},"449":{"position":[[58,2]]},"457":{"position":[[94,1]]},"475":{"position":[[294,1]]},"492":{"position":[[79,1]]},"548":{"position":[[68,1]]},"554":{"position":[[28,2]]},"557":{"position":[[28,2]]},"559":{"position":[[35,2]]},"560":{"position":[[24,2]]},"568":{"position":[[26,2]]},"606":{"position":[[31,2]]},"610":{"position":[[53,2]]},"615":{"position":[[31,2]]},"619":{"position":[[30,2]]},"630":{"position":[[13,2]]},"642":{"position":[[28,2]]},"644":{"position":[[40,2]]},"645":{"position":[[37,2]]},"648":{"position":[[38,2],[56,2]]},"652":{"position":[[30,2]]},"654":{"position":[[21,2]]},"655":{"position":[[21,2]]},"662":{"position":[[30,2]]},"666":{"position":[[27,2]]},"670":{"position":[[31,2]]},"747":{"position":[[347,2],[387,1]]},"765":{"position":[[260,1]]},"784":{"position":[[510,2],[530,2],[547,2],[565,2],[581,2],[639,2],[665,2],[781,2],[857,1]]},"788":{"position":[[56,2]]},"799":{"position":[[49,2]]},"807":{"position":[[40,1]]},"808":{"position":[[50,2]]},"816":{"position":[[103,2]]},"825":{"position":[[65,2],[82,1]]},"826":{"position":[[101,2]]},"827":{"position":[[65,2],[110,2],[149,1]]},"828":{"position":[[58,2]]},"1348":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[314,2],[352,2],[377,2],[416,2],[448,2],[488,2],[514,2],[568,2],[605,2],[649,2],[691,2],[735,2],[773,2],[803,2],[839,2],[881,2],[917,2],[942,2],[970,2],[1009,2],[1030,2],[1057,2],[1092,2],[1124,2],[1164,2],[1193,2],[1231,2],[1261,2],[1284,2],[1340,2],[1363,2],[1389,2],[1414,2],[1440,2],[1471,2],[1525,2],[1558,2],[1611,2],[1654,2],[1721,2],[1783,2],[1842,2],[1902,2],[1965,2],[2015,2],[2055,2],[2090,2],[2119,2],[2143,2],[2176,2],[2211,2],[2242,2],[2282,2],[2322,2],[2348,2],[2380,2],[2409,2],[2433,2],[2479,2],[2516,2],[2537,2],[2564,2],[2588,2],[2622,1]]},"1349":{"position":[[80,2],[119,2],[151,2],[188,2],[215,2],[243,2],[274,2],[296,2],[325,2],[363,2],[398,2],[450,2],[504,2],[570,2],[600,2],[625,2],[664,2],[685,2],[708,2],[733,2],[755,2],[789,2],[825,1]]},"1350":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[317,2],[355,2],[380,2],[405,2],[429,2],[468,2],[500,2],[540,2],[566,2],[599,2],[633,2],[674,2],[694,2],[733,2],[778,2],[827,2],[872,2],[924,2],[978,2],[1044,2],[1089,2],[1137,2],[1167,2],[1203,2],[1245,2],[1280,2],[1316,2],[1353,2],[1378,2],[1406,2],[1445,2],[1466,2],[1499,2],[1529,2],[1548,2],[1575,2],[1613,2],[1659,2],[1686,2],[1719,2],[1760,2],[1811,2],[1850,2],[1889,2],[1926,2],[1950,2],[1994,2],[2032,2],[2057,2],[2091,2],[2115,2],[2141,2],[2186,2],[2221,2],[2261,2],[2294,2],[2331,2],[2373,2],[2426,2],[2469,2],[2536,2],[2598,2],[2657,2],[2717,2],[2780,2],[2821,2],[2858,2],[2880,2],[2924,2],[2954,2],[2989,2],[3012,2],[3045,2],[3090,2],[3133,2],[3179,2],[3224,2],[3269,2],[3306,2],[3339,2],[3373,2],[3408,2],[3439,2],[3471,2],[3508,2],[3548,2],[3592,2],[3627,2],[3652,2],[3679,2],[3708,2],[3733,2],[3765,2],[3796,1]]},"1351":{"position":[[78,2],[117,2],[149,2],[186,2],[213,2],[241,2],[272,2],[294,2],[323,2],[361,2],[396,2],[435,2],[461,2],[491,2],[516,2],[555,2],[578,2],[603,2],[621,2],[644,2],[673,1]]},"1352":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[317,2],[355,2],[380,2],[405,2],[429,2],[468,2],[500,2],[540,2],[566,2],[599,2],[633,2],[674,2],[694,2],[733,2],[778,2],[827,2],[872,2],[924,2],[978,2],[1044,2],[1089,2],[1137,2],[1167,2],[1203,2],[1245,2],[1280,2],[1316,2],[1352,2],[1377,2],[1405,2],[1444,2],[1465,2],[1498,2],[1528,2],[1547,2],[1574,2],[1612,2],[1658,2],[1685,2],[1718,2],[1759,2],[1810,2],[1849,2],[1888,2],[1925,2],[1949,2],[1993,2],[2031,2],[2056,2],[2090,2],[2114,2],[2140,2],[2185,2],[2220,2],[2260,2],[2293,2],[2330,2],[2372,2],[2425,2],[2468,2],[2535,2],[2597,2],[2656,2],[2716,2],[2779,2],[2820,2],[2857,2],[2879,2],[2923,2],[2953,2],[2988,2],[3011,2],[3044,2],[3089,2],[3132,2],[3178,2],[3223,2],[3268,2],[3305,2],[3338,2],[3372,2],[3407,2],[3438,2],[3470,2],[3507,2],[3547,2],[3591,2],[3626,2],[3651,2],[3680,2],[3707,2],[3732,2],[3764,2],[3795,1]]},"1353":{"position":[[85,2],[124,2],[156,2],[193,2],[220,2],[248,2],[279,2],[301,2],[330,2],[368,2],[393,2],[417,2],[456,2],[488,2],[528,2],[554,2],[574,2],[614,2],[639,2],[667,2],[706,2],[727,2],[746,2],[773,2],[810,2],[843,2],[866,2],[891,2],[917,2],[952,2],[985,2],[1044,2],[1104,2],[1150,2],[1195,2],[1240,2],[1277,2],[1309,1]]},"1354":{"position":[[86,2],[125,2],[157,2],[194,2],[221,2],[249,2],[280,2],[302,2],[331,2],[369,2],[393,2],[420,2],[451,2],[477,2],[517,2],[547,2],[577,2],[602,2],[641,2],[671,2],[696,2],[751,2],[798,2],[851,2],[884,2],[907,2],[932,2],[968,2],[1015,2],[1055,2],[1079,2],[1117,1]]},"1355":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[318,2],[356,2],[391,2],[429,2],[454,2],[478,2],[517,2],[543,2],[571,2],[625,2],[662,2],[707,2],[751,2],[793,2],[837,2],[875,2],[905,2],[930,2],[969,2],[990,2],[1020,2],[1059,2],[1091,2],[1131,2],[1160,2],[1183,2],[1218,2],[1248,2],[1271,2],[1285,2],[1341,2],[1364,2],[1390,2],[1415,2],[1441,2],[1472,2],[1502,2],[1552,2],[1592,2],[1616,2],[1649,2],[1679,2],[1716,2],[1747,2],[1787,2],[1827,2],[1853,2],[1885,2],[1914,2],[1938,2],[1984,2],[2021,2],[2042,2],[2066,2],[2100,2],[2132,1]]},"1356":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[319,2],[357,2],[387,2],[412,2],[451,2],[472,2],[495,2],[520,2]]},"1357":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[378,2],[416,1]]},"1358":{"position":[[78,2],[117,2],[149,2],[186,2],[213,2],[241,2],[272,2],[294,2],[323,2],[361,2],[396,2],[434,2],[459,2],[483,2],[509,2],[549,2],[574,2],[613,2],[634,2],[663,2],[690,2],[719,2],[742,2],[767,2],[797,2],[837,2],[865,2],[902,1]]},"1359":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[319,2],[357,2],[392,2],[435,2],[476,2],[506,2],[531,2],[570,2],[591,2],[626,2],[649,2],[674,2],[700,2],[725,2],[757,2],[786,2],[824,2],[850,1]]},"1360":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[314,2],[352,2],[387,2],[411,2],[440,2],[466,2],[487,2],[518,2],[539,2],[561,2],[591,2],[619,2],[640,2],[665,2],[690,2],[729,2],[765,2],[798,2],[847,2],[871,2],[897,2],[920,2],[945,2],[979,2],[1010,2],[1040,2],[1070,2],[1091,2],[1130,2],[1155,2],[1212,2],[1250,2],[1265,2],[1292,2],[1316,1]]},"1361":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[357,2],[387,2],[412,2],[451,2],[472,2],[495,2],[525,2],[550,2],[592,1]]},"1362":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[351,2],[374,2],[403,2],[442,2],[513,2],[542,2],[579,2],[630,2],[666,2],[699,2],[729,2],[760,2],[791,2],[816,2],[850,2],[889,2],[923,2],[953,2],[974,2],[1000,2],[1033,2],[1063,2],[1101,2],[1144,2],[1179,2],[1212,2],[1242,2],[1274,2],[1324,2],[1406,2],[1466,2],[1504,2],[1556,2],[1628,2],[1688,2],[1754,2],[1797,2],[1862,2],[1906,2],[1940,2],[1976,2],[1995,2],[2032,2],[2063,2],[2090,2],[2124,2],[2160,2],[2201,2],[2246,2],[2291,2],[2327,2],[2355,2],[2401,2],[2424,2],[2471,2],[2540,2],[2613,2],[2664,2],[2690,2],[2715,2],[2758,2],[2786,2],[2942,2],[2988,2],[3019,2],[3047,2],[3076,2],[3113,2],[3142,2],[3161,2],[3190,2],[3221,2],[3274,2],[3317,2],[3380,2],[3431,2],[3488,2],[3550,2],[3584,2],[3640,2],[3676,2],[3711,2],[3739,2],[3770,2],[3805,2],[3852,2],[3895,2],[3945,2],[3973,2],[4024,2],[4068,2],[4096,2],[4135,2],[4159,2],[4199,2],[4240,2],[4267,2],[4310,2],[4352,2],[4385,2],[4422,2],[4458,2],[4489,2],[4525,2],[4545,2],[4571,2],[4608,2],[4641,2],[4665,2],[4697,1]]},"1363":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[351,2],[374,2],[403,2],[442,2],[482,2],[520,2],[562,2],[607,2],[647,2],[702,2],[734,2],[788,2],[892,2],[939,2],[993,2],[1034,2],[1087,2],[1124,2],[1157,2],[1191,2],[1246,2],[1306,2],[1369,2],[1393,2],[1423,2],[1452,2],[1483,2],[1518,2],[1549,2],[1574,2],[1622,2],[1661,2],[1695,2],[1716,2],[1778,2],[1839,2],[1875,2],[1912,2],[1959,2],[2027,2],[2073,2],[2096,2],[2121,2],[2149,2],[2195,2],[2229,2],[2259,2],[2306,2],[2351,2],[2383,2],[2419,2],[2456,2],[2500,2],[2527,2],[2580,2],[2620,2],[2648,2],[2700,2],[2732,2],[2766,2],[2802,1]]},"1364":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[352,2],[375,2],[404,2],[443,2],[495,2],[566,2],[595,2],[632,2],[683,2],[716,2],[746,2],[777,2],[808,2],[833,2],[867,2],[906,2],[940,2],[970,2],[991,2],[1017,2],[1050,2],[1080,2],[1118,2],[1161,2],[1194,2],[1224,2],[1256,2],[1306,2],[1388,2],[1448,2],[1486,2],[1538,2],[1610,2],[1670,2],[1736,2],[1779,2],[1844,2],[1888,2],[1922,2],[1958,2],[1977,2],[2014,2],[2045,2],[2072,2],[2101,2],[2135,2],[2171,2],[2212,2],[2257,2],[2302,2],[2338,2],[2366,2],[2412,2],[2435,2],[2482,2],[2551,2],[2624,2],[2675,2],[2701,2],[2726,2],[2769,2],[2797,2],[2953,2],[2984,2],[3012,2],[3041,2],[3078,2],[3107,2],[3126,2],[3155,2],[3186,2],[3239,2],[3282,2],[3345,2],[3396,2],[3453,2],[3515,2],[3549,2],[3605,2],[3641,2],[3669,2],[3700,2],[3735,2],[3782,2],[3840,2],[3883,2],[3933,2],[3961,2],[4012,2],[4040,2],[4079,2],[4120,2],[4144,2],[4184,2],[4225,2],[4252,2],[4295,2],[4340,2],[4382,2],[4419,2],[4452,2],[4489,2],[4525,2],[4556,2],[4592,2],[4612,2],[4642,2],[4668,2],[4705,2],[4738,2],[4762,2],[4794,1]]},"1365":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[348,2],[426,2],[464,2],[503,2],[537,2],[551,2],[574,2],[599,2],[629,2],[659,2],[685,2],[715,2],[773,1]]},"1366":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[356,2],[395,2],[442,2],[470,2],[495,2],[524,2],[563,2],[592,2],[613,2],[635,2],[658,2],[683,2],[725,2],[761,2],[803,2],[828,1]]},"1367":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[349,2],[372,2],[401,2],[440,2],[480,2],[518,2],[560,2],[605,2],[660,2],[692,2],[746,2],[850,2],[887,2],[934,2],[988,2],[1029,2],[1082,2],[1109,2],[1141,2],[1175,2],[1206,2],[1243,2],[1276,2],[1310,2],[1365,2],[1425,2],[1462,2],[1525,2],[1576,2],[1600,2],[1633,2],[1663,2],[1694,2],[1725,2],[1760,2],[1791,2],[1822,2],[1847,2],[1881,2],[1920,2],[1954,2],[1984,2],[2005,2],[2048,2],[2074,2],[2107,2],[2169,2],[2199,2],[2242,2],[2277,2],[2309,2],[2342,2],[2372,2],[2404,2],[2454,2],[2536,2],[2596,2],[2634,2],[2686,2],[2758,2],[2818,2],[2884,2],[2927,2],[2992,2],[3036,2],[3086,2],[3122,2],[3167,2],[3186,2],[3223,2],[3254,2],[3281,2],[3315,2],[3351,2],[3392,2],[3437,2],[3482,2],[3518,2],[3565,2],[3633,2],[3679,2],[3701,2],[3724,2],[3771,2],[3840,2],[3913,2],[3964,2],[3990,2],[4015,2],[4058,2],[4086,2],[4242,2],[4273,2],[4294,2],[4323,2],[4360,2],[4389,2],[4408,2],[4437,2],[4468,2],[4521,2],[4564,2],[4627,2],[4678,2],[4735,2],[4797,2],[4831,2],[4887,2],[4923,2],[4951,2],[4982,2],[5017,2],[5064,2],[5109,2],[5152,2],[5202,2],[5230,2],[5281,2],[5313,2],[5349,2],[5380,2],[5404,2],[5448,2],[5476,2],[5515,2],[5559,2],[5607,2],[5631,2],[5654,2],[5694,2],[5735,2],[5788,2],[5808,2],[5851,2],[5893,2],[5926,2],[5963,2],[5999,2],[6030,2],[6066,2],[6097,2],[6146,2],[6180,2],[6218,2],[6238,2],[6278,2],[6314,2],[6366,2],[6392,2],[6429,2],[6462,2],[6486,2],[6518,2],[6552,2],[6588,1]]},"1368":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[368,2],[404,2],[440,2],[470,2],[501,2],[585,2],[622,2],[647,2],[734,2],[766,2],[808,2],[845,2],[878,2],[901,2],[940,2],[973,2],[995,2],[1031,2],[1065,2],[1096,2],[1136,2],[1169,2],[1188,2],[1214,2],[1247,2],[1272,2],[1311,2],[1373,2],[1410,2],[1441,2]]},"1369":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[364,2],[394,2],[419,2],[458,2],[481,2],[506,1]]},"1370":{"position":[[84,2],[123,2],[155,2],[192,2],[219,2],[247,2],[278,2],[300,2],[338,2],[365,2],[388,2],[452,2],[502,2],[525,2],[552,2],[580,1]]},"1371":{"position":[[75,2],[114,2],[146,2],[183,2],[210,2],[238,2],[269,2],[291,2],[329,2],[352,2],[382,1]]},"1372":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[353,2],[376,2],[405,2],[444,2],[484,2],[522,2],[564,2],[609,2],[664,2],[696,2],[750,2],[820,2],[857,2],[904,2],[958,2],[999,2],[1052,2],[1089,2],[1122,2],[1156,2],[1211,2],[1271,2],[1295,2],[1325,2],[1360,2],[1391,2],[1453,2],[1496,2],[1531,2],[1551,2],[1596,2],[1636,2],[1704,2],[1750,2],[1795,2],[1848,2],[1884,2],[1954,2],[1986,2],[2020,1]]},"1373":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[340,2],[367,2],[399,2],[424,2],[448,2],[469,2],[493,2],[510,2],[532,2],[569,2],[599,2],[634,2],[665,2],[690,2],[724,2],[763,2],[797,2],[827,2],[848,2],[876,2],[902,2],[928,2],[961,2],[991,2],[1010,2],[1047,2],[1074,2],[1109,2],[1143,2],[1167,2],[1201,2],[1242,2],[1287,2],[1323,2],[1346,2],[1393,2],[1462,2],[1535,2],[1586,2],[1612,2],[1637,2],[1670,2],[1698,2],[1854,2],[1882,2],[1919,2],[1948,2],[1978,2],[2008,2],[2061,2],[2104,2],[2167,2],[2218,2],[2275,2],[2337,2],[2371,2],[2427,2],[2463,2],[2498,2],[2529,2],[2564,2],[2592,2],[2632,2],[2652,2],[2686,2],[2723,1]]},"1374":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[349,2],[375,2],[396,2],[426,2],[451,2],[490,2],[515,2],[536,2],[559,2],[584,2],[618,2],[644,1]]},"1375":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[356,2],[390,2],[418,1]]},"1376":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[374,1]]},"1377":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[371,2],[413,2],[438,2],[477,2],[510,2],[533,2],[558,2],[584,2],[613,1]]},"1378":{"position":[[76,2],[115,2],[147,2],[184,2],[211,2],[239,2],[270,2],[292,2],[330,2],[360,1]]},"1379":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[358,2]]},"1380":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[357,2],[382,2],[421,2],[444,2],[469,2],[493,2]]},"1381":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[354,2],[384,2],[415,2],[440,2],[479,2],[500,2],[519,2],[562,2],[587,2],[618,2],[639,1]]},"1382":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[343,2],[368,2],[405,2],[438,2],[466,2],[502,2],[529,2],[559,2],[589,2],[620,2],[657,2],[682,2],[738,2],[772,2],[811,2],[845,2],[875,2],[896,2],[924,2],[950,2],[1001,2],[1039,2],[1072,2],[1123,2],[1142,2],[1179,2],[1206,2],[1240,2],[1281,2],[1326,2],[1362,2],[1385,2],[1432,2],[1501,2],[1574,2],[1625,2],[1651,2],[1676,2],[1709,2],[1752,2],[1780,2],[1812,2],[1968,2],[2018,2],[2064,2],[2095,2],[2123,2],[2145,2],[2182,2],[2211,2],[2264,2],[2307,2],[2370,2],[2421,2],[2478,2],[2540,2],[2574,2],[2630,2],[2666,2],[2701,2],[2732,2],[2767,2],[2795,2],[2838,2],[2878,2],[2898,2],[2932,2],[2969,1]]},"1383":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[383,2],[407,2],[436,2],[467,2],[489,2],[519,2],[547,2],[568,2],[593,2],[618,2],[657,2],[693,2],[726,2],[775,2],[798,2],[823,2],[857,2],[888,2],[918,2],[948,2],[969,2],[1008,2],[1033,2],[1090,2],[1128,2],[1150,2],[1174,1]]},"1384":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[344,2],[369,2],[408,2],[445,2],[473,2],[506,2],[536,2],[567,2],[598,2],[623,2],[679,2],[713,2],[752,2],[786,2],[816,2],[837,2],[865,2],[891,2],[924,2],[957,2],[987,2],[1019,2],[1069,2],[1151,2],[1211,2],[1249,2],[1300,2],[1352,2],[1424,2],[1484,2],[1550,2],[1593,2],[1658,2],[1702,2],[1736,2],[1772,2],[1791,2],[1828,2],[1859,2],[1886,2],[1915,2],[1949,2],[1990,2],[2035,2],[2071,2],[2118,2],[2141,2],[2188,2],[2257,2],[2330,2],[2381,2],[2407,2],[2432,2],[2465,2],[2508,2],[2536,2],[2692,2],[2723,2],[2751,2],[2780,2],[2817,2],[2846,2],[2881,2],[2910,2],[2963,2],[3006,2],[3069,2],[3120,2],[3177,2],[3239,2],[3273,2],[3329,2],[3365,2],[3400,2],[3428,2],[3459,2],[3494,2],[3537,2],[3587,2],[3615,2],[3666,2],[3709,2],[3737,2],[3761,2],[3801,2],[3842,2],[3885,2],[3930,2],[3972,2],[4013,2],[4050,2],[4070,2],[4100,2],[4131,2],[4168,2],[4201,2],[4235,2],[4272,1]]},"1385":{"position":[[75,2],[114,2],[146,2],[183,2],[210,2],[238,2],[269,2],[291,2],[329,2],[358,2],[388,2],[419,2],[444,2],[478,2],[517,2],[551,2],[581,2],[602,2],[635,2],[662,2],[696,2],[737,2],[782,2],[818,2],[841,2],[888,2],[957,2],[1030,2],[1081,2],[1107,2],[1132,2],[1169,2],[1198,2],[1251,2],[1294,2],[1357,2],[1408,2],[1465,2],[1527,2],[1561,2],[1617,2],[1653,2],[1684,2],[1719,2],[1747,2],[1787,2],[1821,1]]},"1386":{"position":[[80,2],[119,2],[151,2],[188,2],[215,2],[243,2],[274,2],[296,2],[334,2],[364,2],[389,2],[428,2],[449,2],[472,2],[497,2],[541,1]]},"1387":{"position":[[78,2],[117,2],[149,2],[186,2],[213,2],[241,2],[272,2],[294,2],[332,2],[353,2],[378,2],[406,2],[432,2],[469,2],[496,2],[523,2],[551,2],[580,2],[613,2],[643,2],[674,2],[705,2],[730,2],[786,2],[820,2],[859,2],[893,2],[923,2],[944,2],[970,2],[1003,2],[1036,2],[1066,2],[1098,2],[1148,2],[1230,2],[1290,2],[1328,2],[1379,2],[1431,2],[1503,2],[1563,2],[1629,2],[1672,2],[1737,2],[1781,2],[1815,2],[1851,2],[1870,2],[1907,2],[1938,2],[1965,2],[1999,2],[2040,2],[2085,2],[2121,2],[2168,2],[2191,2],[2238,2],[2307,2],[2380,2],[2431,2],[2457,2],[2482,2],[2510,2],[2666,2],[2697,2],[2725,2],[2747,2],[2784,2],[2813,2],[2848,2],[2877,2],[2930,2],[2973,2],[3036,2],[3087,2],[3144,2],[3206,2],[3240,2],[3296,2],[3332,2],[3360,2],[3391,2],[3426,2],[3469,2],[3519,2],[3547,2],[3598,2],[3641,2],[3669,2],[3693,2],[3733,2],[3774,2],[3796,2],[3832,2],[3875,2],[3917,2],[3937,2],[3964,2],[3994,2],[4025,2],[4062,2],[4095,2],[4129,2],[4166,1]]},"1388":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[320,2],[341,2],[366,2],[393,2],[436,2],[480,2],[517,2],[550,2],[571,2],[599,2],[635,2],[662,2],[692,2],[722,2],[753,2],[790,2],[815,2],[871,2],[905,2],[944,2],[978,2],[1008,2],[1029,2],[1057,2],[1083,2],[1134,2],[1172,2],[1197,2],[1230,2],[1281,2],[1300,2],[1337,2],[1364,2],[1391,2],[1425,2],[1466,2],[1511,2],[1547,2],[1570,2],[1617,2],[1686,2],[1759,2],[1810,2],[1836,2],[1861,2],[1894,2],[1937,2],[1965,2],[1997,2],[2153,2],[2203,2],[2249,2],[2280,2],[2308,2],[2330,2],[2367,2],[2396,2],[2449,2],[2492,2],[2555,2],[2606,2],[2663,2],[2725,2],[2759,2],[2815,2],[2851,2],[2886,2],[2917,2],[2952,2],[2980,2],[3091,2],[3146,2],[3189,2],[3227,2],[3267,2],[3305,2],[3325,2],[3365,2],[3399,2],[3436,1]]},"1389":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[356,2],[397,2],[419,2],[438,2],[468,2],[494,2],[521,2],[567,2],[605,2],[655,2],[690,2],[725,2],[759,2],[798,2],[837,2],[885,2],[925,2],[970,2],[1015,2],[1047,2],[1081,2],[1105,2],[1135,2],[1200,2],[1233,2],[1266,2],[1303,2],[1326,2],[1357,2],[1387,2],[1418,2],[1473,2],[1498,2],[1530,2],[1561,2],[1597,2],[1633,2],[1666,2],[1706,2],[1739,2],[1777,2],[1815,2],[1857,2],[1926,2],[1961,2],[1996,2],[2035,2],[2091,2],[2130,2],[2176,2],[2201,2],[2245,2],[2280,2],[2302,2],[2334,2],[2379,2],[2413,2],[2443,2],[2478,2],[2513,2],[2552,2],[2575,2],[2600,2],[2624,2],[2672,2],[2693,2],[2715,2],[2757,2],[2802,2],[2821,2],[2854,2],[2945,2],[2970,2],[3002,2],[3026,2],[3049,2],[3087,2],[3121,2],[3152,2],[3186,2],[3230,2],[3273,2],[3297,2],[3326,2],[3355,2],[3389,2],[3423,2],[3461,2],[3482,2],[3511,2],[3539,2],[3576,2],[3616,2],[3660,2],[3695,2],[3742,2],[3782,2],[3833,2],[3921,2],[3948,2],[3992,2],[4027,2],[4075,2],[4126,2],[4167,2],[4213,2],[4253,2],[4289,2],[4319,2],[4343,2],[4375,2],[4401,1]]},"1390":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[320,2],[350,2],[375,2],[414,2],[435,2],[458,2],[483,2],[512,2],[550,1]]},"1391":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[351,2],[376,2],[415,2],[436,2],[459,2],[484,2],[513,2],[551,1]]},"1392":{"position":[[64,2],[103,2],[135,2],[172,2],[199,2],[227,2],[258,2],[280,2],[318,2],[348,2],[373,2],[412,2],[433,2],[456,2],[481,2],[510,2],[548,2],[586,1]]},"1393":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[343,2],[368,2],[397,2],[427,2],[456,2],[481,2],[513,2],[545,2],[576,2],[633,2],[656,2],[694,2],[719,2],[742,2],[776,2],[811,2],[844,2],[870,2],[900,2],[927,2],[948,2],[987,2],[1005,2],[1038,2],[1071,1]]},"1394":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[352,2],[405,2],[430,2],[455,2],[478,2],[513,1]]},"1395":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[347,2],[377,2],[396,2],[420,2],[445,2],[487,2],[511,2],[534,2],[563,2],[598,2],[624,2],[653,1]]},"1396":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[361,2],[386,2],[444,2],[479,1]]},"1397":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[347,2],[415,2],[440,2],[464,2],[487,2],[526,2],[561,2],[597,2],[627,2],[645,1]]},"1398":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[377,2],[396,2],[417,2],[440,2],[467,2],[488,2],[517,2],[553,2],[583,2],[619,2],[648,2],[673,2],[694,2],[719,2],[750,2],[782,2],[805,2],[840,2],[859,2],[890,2],[1001,2],[1027,2],[1057,2],[1084,2]]},"1399":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[353,2],[378,2],[417,2],[440,2],[465,2],[487,2],[508,2],[529,1]]},"1400":{"position":[[78,2],[117,2],[149,2],[186,2],[213,2],[241,2],[272,2],[294,2],[332,2],[375,2],[400,2],[439,2],[462,2],[487,1]]},"1401":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[351,2],[376,2],[392,2],[431,2],[454,2],[479,2],[517,1]]},"1402":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[311,2],[349,2],[373,2],[399,2],[436,2],[466,2],[491,2],[530,2],[551,2],[573,2],[602,2],[625,2],[650,1]]},"1403":{"position":[[65,2],[104,2],[136,2],[173,2],[200,2],[228,2],[259,2],[281,2],[319,2],[354,2],[378,2],[407,2],[438,2],[460,2],[490,2],[518,2],[539,2],[564,2],[589,2],[628,2],[664,2],[697,2],[722,2],[771,2],[800,2],[823,2],[848,2],[882,2],[913,2],[943,2],[973,2],[994,2],[1033,2],[1058,2],[1115,2],[1153,2],[1175,2],[1199,1]]},"1404":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[347,2],[377,2],[402,2],[441,2],[464,2],[489,2]]},"1405":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[338,2],[362,2],[383,2],[407,2],[424,2],[446,2],[462,2],[494,2],[524,2],[554,2],[585,2],[610,2],[649,2],[670,2],[696,2],[734,2],[757,2],[782,2],[809,2],[837,2],[866,2],[896,2],[922,2],[982,2],[998,2],[1024,2],[1045,2],[1066,1]]},"1406":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[355,2],[379,2],[409,2],[437,2],[458,1]]},"1407":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[348,2],[372,2],[393,2],[417,2],[434,2],[456,2],[472,2],[504,2],[534,2],[581,2],[612,2],[637,2],[676,2],[697,2],[723,2],[761,2],[784,2],[809,2],[836,2],[864,2],[893,2],[923,2],[949,2],[1009,2],[1025,2],[1051,2],[1072,2],[1093,1]]},"1408":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[339,2],[370,2],[397,2],[429,2],[450,2],[474,2],[491,2],[513,2],[545,2],[575,2],[606,2],[631,2],[670,2],[691,2],[717,2],[747,2],[770,2],[795,2],[825,2],[855,2],[876,1]]},"1409":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[338,2],[369,2],[396,2],[420,2],[444,2],[461,2],[483,2],[513,1]]},"1410":{"position":[[65,2],[104,2],[136,2],[173,2],[200,2],[228,2],[259,2],[281,2],[319,2],[336,2],[368,2],[392,2],[413,2],[437,2],[464,2],[481,2],[524,2],[546,2],[569,2],[585,2],[617,2],[647,2],[677,2],[708,2],[733,2],[764,2],[803,2],[824,2],[850,2],[875,2],[913,2],[936,2],[961,2],[986,2],[1013,2],[1041,2],[1070,2],[1100,2],[1130,2],[1156,2],[1172,2],[1283,2],[1338,2],[1364,2],[1395,2],[1419,2],[1442,2],[1463,2],[1484,2],[1522,1]]},"1411":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[356,2],[381,2],[420,2],[443,2],[468,2]]},"1412":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[380,2],[422,2],[466,2],[504,2],[534,2],[559,2],[598,2],[619,2],[649,2],[688,2],[720,2],[760,2],[790,2],[813,2],[836,2],[861,2],[892,2],[922,2],[972,2],[1012,2],[1036,2],[1069,2],[1099,2],[1130,2],[1170,2],[1196,2],[1228,2],[1257,2],[1281,2],[1327,2],[1364,2],[1385,2],[1409,1]]},"1413":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[377,2],[419,2],[463,2],[501,2],[531,2],[556,2],[594,2],[632,2],[671,2],[692,2],[720,2],[745,2],[775,2],[814,2],[846,2],[886,2],[906,2],[936,2],[959,2],[982,2],[1007,2],[1038,2],[1068,2],[1118,2],[1158,2],[1182,2],[1215,2],[1245,2],[1276,2],[1316,2],[1342,2],[1374,2],[1405,2],[1434,2],[1458,2],[1504,2],[1541,2],[1562,2],[1603,2],[1644,2],[1668,2],[1706,2],[1744,2],[1771,2],[1807,2],[1856,2],[1880,1]]},"1414":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[346,2],[372,2],[402,2],[427,2],[466,2],[487,2],[512,2],[546,2],[569,2],[594,2],[618,2],[646,2],[670,2],[689,2],[707,2],[723,2],[747,1]]},"1415":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[356,2],[386,2],[417,2],[459,2],[499,2],[524,2],[558,2],[597,2],[631,2],[661,2],[682,2],[710,2],[736,2],[769,2],[788,2],[825,2],[852,2],[883,2],[917,2],[958,2],[1003,2],[1039,2],[1062,2],[1109,2],[1178,2],[1251,2],[1302,2],[1328,2],[1353,2],[1386,2],[1414,2],[1570,2],[1598,2],[1635,2],[1664,2],[1717,2],[1760,2],[1823,2],[1874,2],[1931,2],[1993,2],[2027,2],[2083,2],[2119,2],[2154,2],[2185,2],[2220,2],[2248,2],[2288,2],[2331,2],[2351,2],[2385,2],[2422,1]]},"1416":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[351,2],[380,2],[408,2],[438,2],[469,2],[494,2],[533,2],[554,2],[582,2],[610,2],[666,2],[700,2],[723,2],[748,2],[781,2],[813,2],[969,2],[1015,2],[1043,2],[1072,2],[1094,2],[1120,2],[1163,2],[1214,2],[1252,2],[1282,1]]},"1417":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[349,2],[378,2],[408,2],[439,2],[464,2],[503,2],[524,2],[552,2],[580,2],[619,2],[649,2],[676,2],[699,2],[724,2],[753,2],[779,2],[822,2],[873,2],[902,2],[940,2],[970,1]]},"1418":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[352,2],[381,2],[411,2],[436,2],[475,2],[496,2],[524,2],[554,2],[577,2],[602,2],[628,2],[671,1]]},"1419":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[352,2],[382,2],[413,2],[438,2],[477,2],[498,2],[526,2],[565,2],[598,2],[621,2],[646,2],[692,2],[718,2],[761,2],[799,1]]},"1420":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[352,2],[381,2],[411,2],[442,2],[467,2],[506,2],[527,2],[555,2],[611,2],[645,2],[675,2],[698,2],[723,2],[745,2],[774,2],[800,2],[843,2],[894,2],[922,2],[960,2],[990,1]]},"1421":{"position":[[82,2],[121,2],[153,2],[190,2],[217,2],[245,2],[276,2],[298,2],[336,2],[366,2],[391,2],[423,2],[471,2],[492,2],[520,2],[560,2],[598,2],[641,2],[654,2],[682,2],[705,2],[730,2],[771,2],[803,2],[840,2],[873,2],[901,2],[919,1]]},"1422":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[354,2],[379,2],[418,2],[443,2],[463,2],[486,2],[511,2],[532,2],[554,2],[578,2],[608,2],[636,2],[658,2],[679,2],[708,1]]},"1423":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[351,2],[376,2],[415,2],[444,2],[467,2],[492,2],[513,2],[535,2],[559,2],[580,2],[609,1]]},"1424":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[387,2],[413,2],[444,2],[466,2],[496,2],[524,2],[545,2],[570,2],[595,2],[634,2],[667,2],[716,2],[739,2],[764,2],[798,2],[829,2],[859,2],[889,2],[914,2],[971,2],[1009,2],[1031,2],[1055,1]]},"1425":{"position":[[83,2],[122,2],[154,2],[191,2],[218,2],[246,2],[277,2],[299,2],[337,2],[372,2],[402,2],[427,2],[466,2],[487,2],[518,2],[550,2],[573,2],[598,2],[624,2],[671,1]]},"1426":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[382,2],[421,2],[447,2],[473,2],[503,2],[528,2],[566,2],[605,2],[626,2],[661,2],[689,2],[728,2],[751,2],[776,2],[804,2],[835,2],[871,1]]},"1427":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[359,2],[397,2],[422,2],[446,2],[485,2],[511,2],[565,2],[602,2],[644,2],[688,2],[726,2],[756,2],[781,2],[820,2],[841,2],[871,2],[910,2],[942,2],[977,2],[1007,2],[1030,2],[1053,2],[1078,2],[1109,2],[1139,2],[1189,2],[1229,2],[1253,2],[1286,2],[1316,2],[1347,2],[1387,2],[1413,2],[1445,2],[1474,2],[1498,2],[1544,2],[1581,2],[1602,2],[1626,2],[1658,1]]},"1428":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[388,2],[413,2],[452,2],[473,2],[504,2],[536,2],[559,2],[584,2],[606,2],[653,1]]},"1429":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[356,2],[380,2],[407,2],[446,2],[477,2],[503,2],[546,2],[600,2],[637,2],[679,2],[723,2],[761,2],[791,2],[816,2],[854,2],[892,2],[931,2],[952,2],[980,2],[1005,2],[1035,2],[1074,2],[1106,2],[1126,2],[1161,2],[1183,2],[1211,2],[1241,2],[1264,2],[1287,2],[1312,2],[1343,2],[1373,2],[1423,2],[1463,2],[1487,2],[1520,2],[1550,2],[1661,2],[1716,2],[1747,2],[1787,2],[1813,2],[1845,2],[1876,2],[1900,2],[1929,2],[1953,2],[1999,2],[2036,2],[2059,2],[2080,2],[2121,2],[2162,2],[2186,2],[2224,2],[2263,2],[2301,2],[2328,2],[2370,2],[2406,2],[2455,2],[2479,1]]},"1430":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[382,2],[419,2],[461,2],[505,2],[543,2],[573,2],[598,2],[637,2],[658,2],[688,2],[727,2],[759,2],[789,2],[812,2],[835,2],[860,2],[881,2],[912,2],[942,2],[992,2],[1032,2],[1056,2],[1089,2],[1119,2],[1150,2],[1190,2],[1216,2],[1248,2],[1277,2],[1301,2],[1347,2],[1384,2],[1405,2],[1429,1]]},"1431":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[312,2],[350,2],[373,2],[393,2],[426,2],[456,2],[485,2],[531,2],[556,2],[595,2],[616,2],[668,2],[712,2],[735,2],[760,2]]},"1432":{"position":[[75,2],[114,2],[146,2],[183,2],[210,2],[238,2],[269,2],[291,2],[329,2],[364,2],[388,2],[417,2],[440,2],[460,2],[491,2],[513,2],[543,2],[572,2],[618,2],[646,2],[667,2],[692,2],[717,2],[756,2],[789,2],[838,2],[877,2],[902,2],[936,2],[967,2],[997,2],[1027,2],[1052,2],[1109,2],[1138,2],[1162,2],[1191,2],[1217,2],[1255,2],[1270,2],[1294,1]]},"1433":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[365,2],[400,2],[423,2],[443,2],[483,2],[522,2],[549,2],[579,2],[604,2],[643,2],[664,2],[692,2],[720,2],[743,2],[768,2],[802,2]]},"1434":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[351,2],[381,2],[402,2],[429,2],[457,2],[489,1]]},"1435":{"position":[[75,2],[114,2],[146,2],[183,2],[210,2],[238,2],[269,2],[291,2],[329,2],[356,2],[386,2]]},"1436":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[352,2],[382,2],[403,2],[448,2],[469,1]]},"1437":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[349,2],[376,2],[406,2],[431,2],[452,2],[479,2],[507,2],[539,1]]},"1438":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[320,2],[350,2],[375,2],[414,2],[435,2],[458,2],[483,2]]},"1439":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[361,2],[399,2],[424,2],[448,2],[487,2],[513,2],[541,2],[595,2],[632,2],[676,2],[718,2],[762,2],[800,2],[830,2],[855,2],[894,2],[915,2],[945,2],[984,2],[1016,2],[1056,2],[1085,2],[1108,2],[1143,2],[1173,2],[1196,2],[1210,2],[1266,2],[1289,2],[1314,2],[1345,2],[1375,2],[1425,2],[1465,2],[1489,2],[1522,2],[1552,2],[1583,2],[1623,2],[1649,2],[1681,2],[1710,2],[1734,2],[1780,2],[1817,2],[1838,2],[1862,2],[1896,2],[1928,1]]},"1440":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[382,2],[409,2],[448,2],[479,2],[505,2],[533,2],[576,2],[630,2],[667,2],[711,2],[753,2],[797,2],[835,2],[865,2],[890,2],[928,2],[966,2],[1005,2],[1026,2],[1054,2],[1079,2],[1109,2],[1148,2],[1180,2],[1220,2],[1240,2],[1269,2],[1292,2],[1314,2],[1342,2],[1372,2],[1395,2],[1409,2],[1465,2],[1488,2],[1513,2],[1544,2],[1574,2],[1624,2],[1664,2],[1688,2],[1721,2],[1751,2],[1862,2],[1917,2],[1948,2],[1988,2],[2014,2],[2046,2],[2077,2],[2106,2],[2130,2],[2176,2],[2213,2],[2234,2],[2275,2],[2316,2],[2340,2],[2378,2],[2417,2],[2455,2],[2482,2],[2524,2],[2560,2],[2609,2],[2643,2],[2667,1]]},"1441":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[358,2],[383,2],[422,2],[445,2],[470,2],[495,1]]},"1442":{"position":[[75,2],[114,2],[146,2],[183,2],[210,2],[238,2],[269,2],[291,2],[329,2],[354,2],[384,2],[405,2],[433,2],[473,1]]},"1443":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[352,2],[377,2],[416,2],[437,2],[460,2],[485,2],[507,2],[547,2],[578,2],[604,2],[647,2],[680,1]]},"1444":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[352,2],[382,2],[407,2],[446,2],[467,2],[490,2],[515,2],[558,2],[596,1]]},"1445":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[354,2],[384,2]]},"1446":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[353,2],[378,2],[417,2],[438,2],[460,2],[480,2],[503,2],[528,2],[549,1]]},"1447":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[355,2],[380,2],[409,2],[468,2],[491,2],[516,2],[567,2],[611,1]]},"1448":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[349,2],[376,2],[406,2],[438,2],[469,2],[494,2],[533,2],[554,2],[577,2],[602,2],[631,2],[662,2],[688,2],[741,2],[784,2],[835,2],[880,2],[912,1]]},"1449":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[350,2],[377,2],[407,2],[432,2],[463,2],[488,2],[527,2],[548,2],[571,2],[596,2],[625,2],[650,2],[681,2],[734,2],[777,2],[822,2],[854,1]]},"1450":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[349,2],[376,2],[406,2],[438,2],[469,2],[494,2],[533,2],[554,2],[577,2],[602,2],[631,2],[662,2],[688,2],[731,2],[782,2],[827,2],[859,1]]},"1451":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[349,2],[376,2],[406,2],[438,2],[469,2],[494,2],[533,2],[554,2],[577,2],[602,2],[631,2],[662,2],[688,2],[731,2],[782,2],[827,2],[859,1]]},"1452":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[320,2],[350,2],[384,2],[405,1]]},"1453":{"position":[[82,2],[121,2],[153,2],[190,2],[217,2],[245,2],[276,2],[298,2],[336,2],[363,2],[386,2],[415,2],[445,2],[470,2],[509,2],[530,2],[568,2],[628,2],[655,2],[682,2],[705,2],[731,2],[756,2],[784,2],[811,2],[854,1]]},"1454":{"position":[[78,2],[117,2],[149,2],[186,2],[213,2],[241,2],[272,2],[294,2],[332,2],[357,2],[383,2],[420,2],[450,2],[474,2],[499,2],[538,2],[559,2],[589,2],[621,2],[671,2],[753,2],[813,2],[851,2],[903,2],[975,2],[1035,2],[1101,2],[1144,2],[1209,2],[1253,2],[1279,2],[1303,2],[1330,2],[1365,2],[1399,2],[1422,2],[1450,2],[1497,2],[1520,2],[1546,2],[1571,2],[1593,2],[1624,2],[1653,2],[1688,2],[1745,2],[1795,2],[1845,2],[1895,2],[1949,2],[1983,2],[2011,2],[2031,2],[2074,2],[2124,2],[2152,2],[2180,2],[2204,2],[2232,2],[2264,2],[2307,2],[2349,2],[2383,2],[2428,2],[2544,2],[2638,2],[2738,2],[2816,2],[2885,2],[2947,2],[3009,2],[3067,2],[3129,2],[3195,1]]},"1455":{"position":[[84,2],[123,2],[155,2],[192,2],[219,2],[247,2],[278,2],[300,2],[338,2],[363,2],[393,2],[418,2],[457,2],[478,2],[508,2],[560,2],[604,2],[637,2],[666,2],[713,2],[736,2],[761,2],[803,2],[836,2],[864,2],[892,2],[920,2],[952,2],[984,2],[1027,2],[1072,1]]},"1456":{"position":[[81,2],[120,2],[152,2],[189,2],[216,2],[244,2],[275,2],[297,2],[335,2],[380,2],[405,2],[444,2],[467,2],[492,1]]},"1457":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[361,2],[386,2],[425,2],[446,2],[476,2],[499,2],[538,2],[568,1]]},"1458":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[359,2],[397,2],[422,2],[446,2],[480,2],[527,2],[552,2],[591,2],[612,2],[641,2],[665,2],[694,2],[717,2],[742,2],[772,2],[815,2],[855,2],[883,1]]},"1459":{"position":[[81,2],[120,2],[152,2],[189,2],[216,2],[244,2],[275,2],[297,2],[335,2],[365,2],[390,2],[429,2],[450,2],[477,2],[497,2],[520,2],[545,2]]},"1460":{"position":[[80,2],[119,2],[151,2],[188,2],[215,2],[243,2],[274,2],[296,2],[334,2],[364,2],[396,2],[426,2],[451,2],[474,2],[499,2],[538,2],[559,2],[588,2],[611,2],[629,2],[648,2],[673,2],[703,2],[731,2],[774,1]]},"1461":{"position":[[81,2],[120,2],[152,2],[189,2],[216,2],[244,2],[275,2],[297,2],[335,2],[377,2],[418,2],[437,2],[465,2],[512,2],[531,2],[556,2],[595,2],[634,2],[655,2],[699,2],[732,2],[765,2],[788,2],[813,2],[841,1]]},"1462":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[367,2],[388,2],[413,2],[437,2],[466,2],[494,2],[520,2],[557,2],[590,2],[618,2],[647,2],[683,2],[710,2],[740,2],[770,2],[797,2],[823,2],[854,2],[891,2],[916,2],[972,2],[991,2],[1021,2],[1055,2],[1103,2],[1142,2],[1176,2],[1206,2],[1227,2],[1255,2],[1281,2],[1332,2],[1363,2],[1401,2],[1433,2],[1466,2],[1517,2],[1544,2],[1563,2],[1600,2],[1627,2],[1661,2],[1702,2],[1747,2],[1783,2],[1818,2],[1841,2],[1888,2],[1957,2],[2030,2],[2081,2],[2107,2],[2132,2],[2165,2],[2208,2],[2236,2],[2268,2],[2424,2],[2474,2],[2520,2],[2551,2],[2572,2],[2594,2],[2631,2],[2660,2],[2682,2],[2713,2],[2742,2],[2775,2],[2857,2],[2895,2],[2930,2],[2961,2],[2988,2],[3014,2],[3067,2],[3110,2],[3173,2],[3224,2],[3275,2],[3332,2],[3394,2],[3428,2],[3484,2],[3520,2],[3562,2],[3597,2],[3628,2],[3657,2],[3692,2],[3738,2],[3766,2],[3793,2],[3824,2],[3867,2],[3895,2],[3935,2],[3973,2],[4007,2],[4040,2],[4063,2],[4088,2],[4108,2],[4126,2],[4160,2],[4197,2],[4224,1]]},"1463":{"position":[[81,2],[120,2],[152,2],[189,2],[216,2],[244,2],[275,2],[297,2],[335,2],[359,2],[397,2],[434,2],[464,2],[485,2]]},"1464":{"position":[[82,2],[121,2],[153,2],[190,2],[217,2],[245,2],[276,2],[298,2],[336,2],[366,2],[387,2]]},"1465":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[368,2],[409,2],[434,2],[462,2],[491,2],[521,2],[546,2],[576,2],[615,2],[636,2],[680,2],[713,2],[736,2],[761,2],[787,2],[830,2],[895,2],[955,2],[1001,2],[1044,2],[1082,2],[1126,2],[1144,2],[1178,2],[1262,2],[1341,2],[1368,1]]},"1466":{"position":[[85,2],[124,2],[156,2],[193,2],[220,2],[248,2],[279,2],[301,2],[339,2],[366,2],[409,2],[439,2],[464,2],[489,2],[512,2],[563,2],[674,2],[729,2]]},"1467":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[365,2],[386,2],[411,2],[435,2],[462,2],[490,2],[533,2],[559,2],[580,2],[624,2],[657,2],[685,2],[714,2],[750,2],[777,2],[807,2],[837,2],[864,2],[890,2],[921,2],[958,2],[983,2],[1039,2],[1058,2],[1088,2],[1122,2],[1170,2],[1209,2],[1243,2],[1273,2],[1294,2],[1322,2],[1348,2],[1399,2],[1430,2],[1468,2],[1493,2],[1537,2],[1569,2],[1602,2],[1653,2],[1680,2],[1699,2],[1736,2],[1763,2],[1797,2],[1838,2],[1883,2],[1922,2],[1958,2],[1993,2],[2016,2],[2063,2],[2132,2],[2205,2],[2256,2],[2282,2],[2307,2],[2340,2],[2383,2],[2411,2],[2443,2],[2599,2],[2649,2],[2695,2],[2726,2],[2747,2],[2769,2],[2806,2],[2835,2],[2866,2],[2895,2],[2928,2],[3010,2],[3048,2],[3099,2],[3134,2],[3165,2],[3192,2],[3218,2],[3271,2],[3314,2],[3377,2],[3428,2],[3479,2],[3536,2],[3601,2],[3663,2],[3697,2],[3753,2],[3789,2],[3831,2],[3866,2],[3897,2],[3926,2],[3961,2],[4007,2],[4035,2],[4146,2],[4201,2],[4228,2],[4259,2],[4302,2],[4330,2],[4354,2],[4394,2],[4417,2],[4455,2],[4493,2],[4527,2],[4560,2],[4583,2],[4608,2],[4646,2],[4666,2],[4684,2],[4718,2],[4802,2],[4881,2],[4918,2],[4945,1]]},"1468":{"position":[[76,2],[115,2],[147,2],[184,2],[211,2],[239,2],[270,2],[292,2],[330,2],[360,2],[385,2],[424,2],[447,2],[472,2],[494,2]]},"1469":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[345,2],[375,2],[400,2],[439,2],[462,2],[487,2],[508,2],[530,2],[554,2],[576,2],[615,1]]},"1470":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[319,2],[357,2],[392,2],[416,2],[443,2],[482,2],[513,2],[539,2],[567,2],[610,2],[664,2],[701,2],[746,2],[790,2],[832,2],[876,2],[914,2],[944,2],[969,2],[1007,2],[1045,2],[1084,2],[1105,2],[1130,2],[1160,2],[1199,2],[1231,2],[1271,2],[1291,2],[1320,2],[1343,2],[1378,2],[1400,2],[1428,2],[1458,2],[1481,2],[1495,2],[1551,2],[1574,2],[1600,2],[1625,2],[1670,2],[1696,2],[1741,2],[1772,2],[1802,2],[1852,2],[1892,2],[1916,2],[1972,2],[2005,2],[2035,2],[2072,2],[2183,2],[2238,2],[2269,2],[2309,2],[2346,2],[2386,2],[2412,2],[2444,2],[2520,2],[2568,2],[2599,2],[2628,2],[2652,2],[2698,2],[2735,2],[2756,2],[2797,2],[2838,2],[2862,2],[2900,2],[2939,2],[2977,2],[3004,2],[3046,2],[3082,2],[3131,2],[3165,2],[3217,2],[3241,1]]},"1471":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[348,2],[372,2],[398,2],[424,2],[452,2],[489,2],[522,2],[550,2],[580,2],[618,2],[643,2],[663,2],[686,2],[714,2],[753,2],[787,2],[808,2],[833,2],[871,2],[896,2],[921,2],[963,2],[1003,2],[1034,2],[1057,2],[1082,2],[1110,2],[1266,2],[1316,2],[1344,2],[1373,2],[1406,2],[1457,2],[1500,2],[1517,2],[1545,2],[1575,2],[1596,2],[1630,1]]},"1472":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[349,2],[373,2],[399,2],[425,2],[453,2],[483,2],[521,2],[546,2],[566,2],[589,2],[620,2],[648,2],[687,2],[721,2],[742,2],[767,2],[796,2],[828,2],[861,2],[916,2],[943,2],[968,2],[993,2],[1018,2],[1060,2],[1100,2],[1131,2],[1154,2],[1179,2],[1207,2],[1236,2],[1269,2],[1320,2],[1348,2],[1370,2],[1413,2],[1441,2],[1471,2],[1495,2],[1516,2],[1557,2],[1591,1]]},"1473":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[346,2],[370,2],[397,2],[440,2],[466,2],[492,2],[520,2],[553,2],[581,2],[611,2],[649,2],[674,2],[694,2],[717,2],[745,2],[784,2],[818,2],[839,2],[864,2],[902,2],[927,2],[952,2],[994,2],[1015,2],[1055,2],[1086,2],[1109,2],[1134,2],[1162,2],[1318,2],[1368,2],[1396,2],[1425,2],[1458,2],[1509,2],[1620,2],[1675,2],[1718,2],[1735,2],[1764,2],[1792,2],[1822,2],[1843,2],[1877,1]]},"1474":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[379,2],[416,2],[458,2],[502,2],[540,2],[570,2],[595,2],[634,2],[655,2],[685,2],[724,2],[756,2],[786,2],[809,2],[832,2],[857,2],[888,2],[918,2],[968,2],[1008,2],[1032,2],[1065,2],[1095,2],[1126,2],[1166,2],[1192,2],[1224,2],[1253,2],[1277,2],[1323,2],[1360,2],[1381,2],[1405,1]]},"1475":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[376,2],[413,2],[455,2],[499,2],[537,2],[567,2],[592,2],[630,2],[668,2],[707,2],[728,2],[756,2],[781,2],[811,2],[850,2],[882,2],[902,2],[932,2],[955,2],[978,2],[1003,2],[1034,2],[1064,2],[1114,2],[1154,2],[1178,2],[1211,2],[1241,2],[1272,2],[1312,2],[1338,2],[1370,2],[1401,2],[1430,2],[1454,2],[1500,2],[1537,2],[1558,2],[1599,2],[1640,2],[1664,2],[1702,2],[1740,2],[1767,2],[1803,2],[1852,2],[1876,1]]},"1476":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[358,2],[383,2],[422,2],[445,2],[470,2]]},"1477":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[347,2],[382,2],[412,2],[437,2],[476,2],[497,2],[520,2],[545,2],[582,1]]},"1478":{"position":[[65,2],[104,2],[136,2],[173,2],[200,2],[228,2],[259,2],[281,2],[319,2],[346,2],[389,2],[410,2],[440,2],[465,2],[504,2],[525,2],[550,2],[573,2],[598,2],[631,2],[668,2],[779,2],[834,2],[860,2],[885,2],[914,2],[945,2],[967,2],[1005,2],[1027,1]]},"1479":{"position":[[82,2],[121,2],[153,2],[190,2],[217,2],[245,2],[276,2],[298,2],[336,2],[366,2],[391,2],[430,2],[451,2],[482,2],[505,2],[530,2],[559,2],[573,1]]},"1480":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[358,2],[388,2],[419,2],[444,2],[483,2],[504,2],[534,2],[561,2],[606,2],[629,2],[655,2],[680,2],[709,2],[737,2],[765,2],[804,2],[828,2],[849,2],[892,2],[928,2],[961,2],[986,1]]},"1481":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[368,2],[404,2],[430,2],[460,2],[490,2],[543,2],[568,2],[607,2],[649,2],[672,2],[697,2],[726,2],[757,2],[781,2],[815,2],[846,2],[886,2],[916,2],[959,2],[1001,2],[1035,2],[1074,2],[1102,2],[1128,2],[1165,2],[1219,2],[1261,2],[1313,2],[1376,2],[1413,2],[1477,2],[1519,1]]},"1482":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[352,2],[377,2],[416,2],[439,2],[464,2],[490,1]]},"1483":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[370,1]]},"1484":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[357,2],[382,2],[421,2],[444,2],[469,2],[499,1]]},"1485":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[353,2],[383,2],[417,2],[458,2],[494,2],[517,2],[580,2],[608,2],[648,1]]},"1486":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[353,2],[380,2],[410,2],[435,2],[474,2],[499,2],[520,2],[543,2],[568,2],[597,2],[645,2],[674,1]]},"1487":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[320,2],[350,2],[380,2],[405,2],[444,2],[479,2],[502,2],[527,2],[556,2],[570,2],[591,2],[616,1]]}},"keywords":{}}],["__gener",{"_index":4306,"title":{},"content":{"896":{"position":[[80,11],[131,11],[311,11],[350,11],[455,11],[675,11],[714,11],[819,11]]}},"keywords":{}}],["__manifest__",{"_index":8331,"title":{},"content":{"1462":{"position":[[7868,12]]},"1467":{"position":[[8928,12]]}},"keywords":{}}],["__test_main__",{"_index":8367,"title":{},"content":{"1467":{"position":[[8733,14]]}},"keywords":{}}],["__test_main__.main(sys.argv",{"_index":8368,"title":{},"content":{"1467":{"position":[[8792,29]]}},"keywords":{}}],["_add_code_coverage_config",{"_index":5398,"title":{},"content":{"1057":{"position":[[1025,27]]}},"keywords":{}}],["_android_toolchain",{"_index":6326,"title":{},"content":{"1348":{"position":[[288,19]]},"1349":{"position":[[299,19]]},"1350":{"position":[[291,19]]},"1351":{"position":[[297,19]]},"1352":{"position":[[291,19]]},"1353":{"position":[[304,19]]},"1354":{"position":[[305,19]]},"1355":{"position":[[292,19]]},"1356":{"position":[[293,19]]},"1358":{"position":[[297,19]]},"1359":{"position":[[293,19]]},"1360":{"position":[[288,19]]},"1402":{"position":[[285,19]]},"1431":{"position":[[286,19]]},"1470":{"position":[[293,19]]}},"keywords":{}}],["_anon",{"_index":5269,"title":{},"content":{"1049":{"position":[[1004,5]]}},"keywords":{}}],["_anon_impl",{"_index":5166,"title":{},"content":{"1042":{"position":[[91,11],[156,11]]},"1043":{"position":[[268,11],[359,11]]},"1044":{"position":[[1044,11],[1582,11],[1724,11]]},"1049":{"position":[[1030,11]]}},"keywords":{}}],["_anon_impl(ctx",{"_index":5265,"title":{},"content":{"1049":{"position":[[741,15]]}},"keywords":{}}],["_anon_target_exampl",{"_index":3776,"title":{},"content":{"712":{"position":[[3207,21]]}},"keywords":{}}],["_anon_target_example(ctx",{"_index":3750,"title":{},"content":{"712":{"position":[[976,26]]}},"keywords":{}}],["_apple_platform",{"_index":6327,"title":{},"content":{"1348":{"position":[[317,17]]},"1349":{"position":[[328,17]]},"1350":{"position":[[320,17]]},"1351":{"position":[[326,17]]},"1352":{"position":[[320,17]]},"1353":{"position":[[333,17]]},"1354":{"position":[[334,17]]},"1355":{"position":[[321,17]]},"1356":{"position":[[322,17]]},"1357":{"position":[[293,17]]},"1358":{"position":[[326,17]]},"1359":{"position":[[322,17]]},"1360":{"position":[[317,17]]},"1361":{"position":[[296,17]]},"1362":{"position":[[289,17]]},"1363":{"position":[[289,17]]},"1364":{"position":[[290,17]]},"1365":{"position":[[290,17]]},"1366":{"position":[[291,17]]},"1367":{"position":[[287,17]]},"1368":{"position":[[292,17]]},"1369":{"position":[[296,17]]},"1370":{"position":[[303,17]]},"1371":{"position":[[294,17]]},"1372":{"position":[[291,17]]},"1373":{"position":[[288,17]]},"1374":{"position":[[290,17]]},"1375":{"position":[[291,17]]},"1376":{"position":[[296,17]]},"1377":{"position":[[293,17]]},"1378":{"position":[[295,17]]},"1379":{"position":[[293,17]]},"1380":{"position":[[292,17]]},"1381":{"position":[[291,17]]},"1382":{"position":[[287,17]]},"1383":{"position":[[288,17]]},"1384":{"position":[[288,17]]},"1385":{"position":[[294,17]]},"1386":{"position":[[299,17]]},"1387":{"position":[[297,17]]},"1388":{"position":[[285,17]]},"1389":{"position":[[290,17]]},"1390":{"position":[[285,17]]},"1391":{"position":[[286,17]]},"1392":{"position":[[283,17]]},"1393":{"position":[[287,17]]},"1394":{"position":[[296,17]]},"1395":{"position":[[291,17]]},"1396":{"position":[[296,17]]},"1397":{"position":[[291,17]]},"1398":{"position":[[288,17]]},"1399":{"position":[[288,17]]},"1400":{"position":[[297,17]]},"1401":{"position":[[286,17]]},"1402":{"position":[[314,17]]},"1403":{"position":[[284,17]]},"1404":{"position":[[286,17]]},"1405":{"position":[[286,17]]},"1406":{"position":[[296,17]]},"1407":{"position":[[296,17]]},"1408":{"position":[[287,17]]},"1409":{"position":[[286,17]]},"1410":{"position":[[284,17]]},"1411":{"position":[[291,17]]},"1412":{"position":[[291,17]]},"1413":{"position":[[288,17]]},"1414":{"position":[[287,17]]},"1415":{"position":[[291,17]]},"1416":{"position":[[291,17]]},"1417":{"position":[[289,17]]},"1418":{"position":[[292,17]]},"1419":{"position":[[288,17]]},"1420":{"position":[[292,17]]},"1421":{"position":[[301,17]]},"1422":{"position":[[289,17]]},"1423":{"position":[[286,17]]},"1424":{"position":[[288,17]]},"1425":{"position":[[302,17]]},"1426":{"position":[[288,17]]},"1427":{"position":[[289,17]]},"1428":{"position":[[288,17]]},"1429":{"position":[[286,17]]},"1430":{"position":[[293,17]]},"1431":{"position":[[315,17]]},"1432":{"position":[[294,17]]},"1433":{"position":[[287,17]]},"1434":{"position":[[289,17]]},"1435":{"position":[[294,17]]},"1436":{"position":[[290,17]]},"1437":{"position":[[287,17]]},"1438":{"position":[[285,17]]},"1439":{"position":[[291,17]]},"1440":{"position":[[288,17]]},"1441":{"position":[[293,17]]},"1442":{"position":[[294,17]]},"1443":{"position":[[287,17]]},"1444":{"position":[[288,17]]},"1445":{"position":[[291,17]]},"1446":{"position":[[288,17]]},"1447":{"position":[[290,17]]},"1448":{"position":[[289,17]]},"1449":{"position":[[290,17]]},"1450":{"position":[[289,17]]},"1451":{"position":[[289,17]]},"1452":{"position":[[285,17]]},"1453":{"position":[[301,17]]},"1454":{"position":[[297,17]]},"1455":{"position":[[303,17]]},"1456":{"position":[[300,17]]},"1457":{"position":[[296,17]]},"1458":{"position":[[289,17]]},"1459":{"position":[[300,17]]},"1460":{"position":[[299,17]]},"1461":{"position":[[300,17]]},"1462":{"position":[[290,17]]},"1463":{"position":[[300,17]]},"1464":{"position":[[301,17]]},"1465":{"position":[[291,17]]},"1466":{"position":[[304,17]]},"1467":{"position":[[288,17]]},"1468":{"position":[[295,17]]},"1469":{"position":[[288,17]]},"1470":{"position":[[322,17]]},"1471":{"position":[[288,17]]},"1472":{"position":[[289,17]]},"1473":{"position":[[286,17]]},"1474":{"position":[[290,17]]},"1475":{"position":[[287,17]]},"1476":{"position":[[293,17]]},"1477":{"position":[[286,17]]},"1478":{"position":[[284,17]]},"1479":{"position":[[301,17]]},"1480":{"position":[[290,17]]},"1481":{"position":[[292,17]]},"1482":{"position":[[287,17]]},"1483":{"position":[[292,17]]},"1484":{"position":[[292,17]]},"1485":{"position":[[293,17]]},"1486":{"position":[[288,17]]},"1487":{"position":[[285,17]]}},"keywords":{}}],["_apple_tool",{"_index":6690,"title":{},"content":{"1362":{"position":[[354,13]]},"1363":{"position":[[354,13]]},"1364":{"position":[[355,13]]},"1365":{"position":[[328,13]]},"1367":{"position":[[352,13]]},"1370":{"position":[[368,13]]},"1371":{"position":[[332,13]]},"1372":{"position":[[356,13]]},"1453":{"position":[[366,13]]}},"keywords":{}}],["_apple_toolchain",{"_index":6689,"title":{},"content":{"1362":{"position":[[327,17]]},"1363":{"position":[[327,17]]},"1364":{"position":[[328,17]]},"1367":{"position":[[325,17]]},"1370":{"position":[[341,17]]},"1372":{"position":[[329,17]]},"1453":{"position":[[339,17]]}},"keywords":{}}],["_apple_xctoolchain",{"_index":6691,"title":{},"content":{"1362":{"position":[[377,19]]},"1363":{"position":[[377,19]]},"1364":{"position":[[378,19]]},"1367":{"position":[[375,19]]},"1372":{"position":[[379,19]]}},"keywords":{}}],["_apple_xctoolchain_bundle_id",{"_index":6692,"title":{},"content":{"1362":{"position":[[406,29]]},"1363":{"position":[[406,29]]},"1364":{"position":[[407,29]]},"1367":{"position":[[404,29]]},"1372":{"position":[[408,29]]}},"keywords":{}}],["_archive_objects_locally_overrid",{"_index":6923,"title":{},"content":{"1364":{"position":[[446,34]]}},"keywords":{}}],["_artifact_annotation_mfa",{"_index":7599,"title":{},"content":{"1398":{"position":[[326,25]]}},"keywords":{}}],["_asan",{"_index":7025,"title":{},"content":{"1373":{"position":[[326,6]]},"1405":{"position":[[324,6]]},"1407":{"position":[[334,6]]},"1408":{"position":[[325,6]]},"1409":{"position":[[324,6]]},"1410":{"position":[[322,6]]}},"keywords":{}}],["_asset_dest_path_resolv",{"_index":8017,"title":{},"content":{"1433":{"position":[[325,26]]}},"keywords":{}}],["_build_only_native_cod",{"_index":6405,"title":{},"content":{"1349":{"position":[[366,24]]},"1351":{"position":[[364,24]]},"1355":{"position":[[359,24]]},"1358":{"position":[[364,24]]},"1359":{"position":[[360,24]]},"1360":{"position":[[355,24]]},"1383":{"position":[[326,24]]},"1403":{"position":[[322,24]]},"1424":{"position":[[326,24]]},"1425":{"position":[[340,24]]},"1426":{"position":[[326,24]]},"1427":{"position":[[327,24]]},"1428":{"position":[[326,24]]},"1429":{"position":[[324,24]]},"1432":{"position":[[332,24]]},"1433":{"position":[[368,24]]},"1439":{"position":[[329,24]]},"1440":{"position":[[326,24]]},"1458":{"position":[[327,24]]},"1470":{"position":[[360,24]]}},"keywords":{}}],["_buildfile_impl(ctx",{"_index":1786,"title":{},"content":{"327":{"position":[[376,21]]},"468":{"position":[[257,21]]}},"keywords":{}}],["_bundling_cache_bust",{"_index":6829,"title":{},"content":{"1363":{"position":[[445,23]]},"1367":{"position":[[443,23]]},"1372":{"position":[[447,23]]}},"keywords":{}}],["_bundling_log_file_en",{"_index":6830,"title":{},"content":{"1363":{"position":[[485,27]]},"1367":{"position":[[483,27]]},"1372":{"position":[[487,27]]}},"keywords":{}}],["_bundling_log_file_level",{"_index":6831,"title":{},"content":{"1363":{"position":[[523,25]]},"1367":{"position":[[521,25]]},"1372":{"position":[[525,25]]}},"keywords":{}}],["_cgo_en",{"_index":7781,"title":{},"content":{"1408":{"position":[[342,13]]},"1409":{"position":[[341,13]]}},"keywords":{}}],["_cli_lib",{"_index":7600,"title":{},"content":{"1398":{"position":[[361,9]]}},"keywords":{}}],["_code_signing_configur",{"_index":6832,"title":{},"content":{"1363":{"position":[[565,28]]},"1367":{"position":[[563,28]]},"1372":{"position":[[567,28]]}},"keywords":{}}],["_codesign_entitl",{"_index":6833,"title":{},"content":{"1363":{"position":[[610,23]]}},"keywords":{}}],["_codesign_identities_command_overrid",{"_index":6834,"title":{},"content":{"1363":{"position":[[650,38]]},"1367":{"position":[[608,38]]},"1372":{"position":[[612,38]]}},"keywords":{}}],["_codesign_typ",{"_index":6835,"title":{},"content":{"1363":{"position":[[705,15]]},"1367":{"position":[[663,15]]},"1372":{"position":[[667,15]]}},"keywords":{}}],["_compile_resources_locally_overrid",{"_index":6836,"title":{},"content":{"1363":{"position":[[737,36]]},"1367":{"position":[[695,36]]},"1372":{"position":[[699,36]]}},"keywords":{}}],["_compile_shar",{"_index":7026,"title":{},"content":{"1373":{"position":[[343,16]]},"1408":{"position":[[373,16]]},"1409":{"position":[[372,16]]}},"keywords":{}}],["_configured_alias_impl",{"_index":4570,"title":{},"content":{"930":{"position":[[141,23]]}},"keywords":{}}],["_configured_alias_impl(ctx",{"_index":4568,"title":{},"content":{"930":{"position":[[41,28]]}},"keywords":{}}],["_coverage_mod",{"_index":7027,"title":{},"content":{"1373":{"position":[[370,15]]},"1408":{"position":[[400,15]]},"1410":{"position":[[339,15]]}},"keywords":{}}],["_create_manifest_for_source_dir",{"_index":8254,"title":{},"content":{"1461":{"position":[[338,32]]},"1462":{"position":[[328,32]]},"1465":{"position":[[329,32]]},"1467":{"position":[[326,32]]}},"keywords":{}}],["_create_third_party_build_root",{"_index":8255,"title":{},"content":{"1461":{"position":[[380,31]]},"1465":{"position":[[371,31]]}},"keywords":{}}],["_csharp_toolchain",{"_index":7118,"title":{},"content":{"1381":{"position":[[329,18]]}},"keywords":{}}],["_ct_opt",{"_index":7601,"title":{},"content":{"1398":{"position":[[380,9]]}},"keywords":{}}],["_cxx_hack",{"_index":7140,"title":{},"content":{"1382":{"position":[[325,11]]},"1384":{"position":[[326,11]]},"1387":{"position":[[335,11]]},"1388":{"position":[[323,11]]},"1462":{"position":[[370,11]]},"1467":{"position":[[368,11]]}},"keywords":{}}],["_cxx_toolchain",{"_index":6328,"title":{},"content":{"1348":{"position":[[355,15]]},"1350":{"position":[[358,15]]},"1352":{"position":[[358,15]]},"1373":{"position":[[402,15]]},"1382":{"position":[[346,15]]},"1383":{"position":[[361,15]]},"1384":{"position":[[347,15]]},"1387":{"position":[[356,15]]},"1388":{"position":[[344,15]]},"1416":{"position":[[329,15]]},"1417":{"position":[[327,15]]},"1418":{"position":[[330,15]]},"1420":{"position":[[330,15]]},"1442":{"position":[[332,15]]},"1448":{"position":[[327,15]]},"1449":{"position":[[328,15]]},"1450":{"position":[[327,15]]},"1451":{"position":[[327,15]]},"1454":{"position":[[335,15]]},"1455":{"position":[[341,15]]},"1462":{"position":[[391,15]]},"1465":{"position":[[412,15]]},"1467":{"position":[[389,15]]},"1471":{"position":[[326,15]]},"1472":{"position":[[327,15]]},"1473":{"position":[[324,15]]},"1485":{"position":[[331,15]]}},"keywords":{}}],["_dep_files_processor",{"_index":7314,"title":{},"content":{"1389":{"position":[[328,21]]}},"keywords":{}}],["_dex_min_sdk_vers",{"_index":6547,"title":{},"content":{"1355":{"position":[[394,21]]},"1358":{"position":[[399,21]]},"1427":{"position":[[362,21]]},"1439":{"position":[[364,21]]},"1458":{"position":[[362,21]]}},"keywords":{}}],["_dex_toolchain",{"_index":6412,"title":{},"content":{"1350":{"position":[[383,15]]},"1352":{"position":[[383,15]]},"1353":{"position":[[371,15]]},"1355":{"position":[[432,15]]},"1358":{"position":[[437,15]]},"1427":{"position":[[400,15]]},"1439":{"position":[[402,15]]},"1458":{"position":[[400,15]]}},"keywords":{}}],["_dsymutil_extra_flag",{"_index":6693,"title":{},"content":{"1362":{"position":[[445,22]]},"1363":{"position":[[791,22]]},"1364":{"position":[[498,22]]},"1367":{"position":[[749,22]]},"1370":{"position":[[391,22]]}},"keywords":{}}],["_dumpbin_toolchain_path",{"_index":7315,"title":{},"content":{"1389":{"position":[[359,24]]}},"keywords":{}}],["_embed_provisioning_profile_when_adhoc_code_sign",{"_index":6837,"title":{},"content":{"1363":{"position":[[825,52]]},"1367":{"position":[[783,52]]},"1372":{"position":[[753,52]]}},"keywords":{}}],["_enable_library_evolut",{"_index":6694,"title":{},"content":{"1362":{"position":[[479,26]]},"1364":{"position":[[532,26]]},"1367":{"position":[[853,26]]},"1372":{"position":[[823,26]]}},"keywords":{}}],["_exec_os_typ",{"_index":6413,"title":{},"content":{"1350":{"position":[[408,14]]},"1352":{"position":[[408,14]]},"1353":{"position":[[396,14]]},"1354":{"position":[[372,14]]},"1355":{"position":[[457,14]]},"1358":{"position":[[462,14]]},"1360":{"position":[[390,14]]},"1373":{"position":[[427,14]]},"1374":{"position":[[328,14]]},"1383":{"position":[[386,14]]},"1402":{"position":[[352,14]]},"1403":{"position":[[357,14]]},"1405":{"position":[[341,14]]},"1406":{"position":[[334,14]]},"1407":{"position":[[351,14]]},"1409":{"position":[[399,14]]},"1410":{"position":[[371,14]]},"1414":{"position":[[325,14]]},"1426":{"position":[[361,14]]},"1427":{"position":[[425,14]]},"1429":{"position":[[359,14]]},"1432":{"position":[[367,14]]},"1439":{"position":[[427,14]]},"1440":{"position":[[361,14]]},"1458":{"position":[[425,14]]},"1462":{"position":[[416,14]]},"1463":{"position":[[338,14]]},"1467":{"position":[[414,14]]},"1470":{"position":[[395,14]]},"1471":{"position":[[351,14]]},"1472":{"position":[[352,14]]},"1473":{"position":[[349,14]]}},"keywords":{}}],["_extract",{"_index":8256,"title":{},"content":{"1461":{"position":[[421,9]]}},"keywords":{}}],["_fast_adhoc_signing_enabled_default",{"_index":6838,"title":{},"content":{"1363":{"position":[[895,36]]},"1367":{"position":[[890,36]]},"1372":{"position":[[860,36]]}},"keywords":{}}],["_fast_provisioning_profile_parsing_en",{"_index":6839,"title":{},"content":{"1363":{"position":[[942,43]]},"1367":{"position":[[937,43]]},"1372":{"position":[[907,43]]}},"keywords":{}}],["_genrule_toolchain",{"_index":6642,"title":{},"content":{"1360":{"position":[[414,19]]},"1383":{"position":[[410,19]]},"1403":{"position":[[381,19]]},"1424":{"position":[[361,19]]},"1432":{"position":[[391,19]]}},"keywords":{}}],["_git_fetch_tool",{"_index":7710,"title":{},"content":{"1404":{"position":[[324,16]]}},"keywords":{}}],["_go_stdlib",{"_index":7028,"title":{},"content":{"1373":{"position":[[451,11]]},"1405":{"position":[[365,11]]},"1407":{"position":[[375,11]]},"1408":{"position":[[432,11]]},"1410":{"position":[[395,11]]}},"keywords":{}}],["_go_toolchain",{"_index":7029,"title":{},"content":{"1373":{"position":[[472,14]]},"1405":{"position":[[386,14]]},"1406":{"position":[[358,14]]},"1407":{"position":[[396,14]]},"1408":{"position":[[453,14]]},"1409":{"position":[[423,14]]},"1410":{"position":[[416,14]]}},"keywords":{}}],["_haskell_toolchain",{"_index":7842,"title":{},"content":{"1416":{"position":[[354,19]]},"1417":{"position":[[352,19]]},"1418":{"position":[[355,19]]},"1419":{"position":[[326,19]]},"1420":{"position":[[355,19]]}},"keywords":{}}],["_impl",{"_index":3988,"title":{},"content":{"864":{"position":[[545,6],[1345,6]]},"905":{"position":[[730,8]]},"906":{"position":[[138,8],[469,8],[908,8]]}},"keywords":{}}],["_impl(ctx",{"_index":1502,"title":{},"content":{"245":{"position":[[164,11]]},"246":{"position":[[163,11]]},"864":{"position":[[417,11],[1001,11]]},"1054":{"position":[[239,10]]}},"keywords":{}}],["_impl(platform",{"_index":4996,"title":{},"content":{"1004":{"position":[[952,15]]}},"keywords":{}}],["_impl_abs_path(ctx",{"_index":1586,"title":{},"content":{"288":{"position":[[266,20]]},"510":{"position":[[298,20]]}},"keywords":{}}],["_impl_abs_path_unsafe(ctx",{"_index":1738,"title":{},"content":{"314":{"position":[[437,27]]}},"keywords":{}}],["_impl_action(ctx",{"_index":1424,"title":{},"content":{"168":{"position":[[123,18]]}},"keywords":{}}],["_impl_attributes(ctx",{"_index":2418,"title":{},"content":{"459":{"position":[[145,22]]}},"keywords":{}}],["_impl_attrregexfilter(ctx",{"_index":1778,"title":{},"content":{"326":{"position":[[417,27]]},"467":{"position":[[298,27]]}},"keywords":{}}],["_impl_attrs_eager(ctx",{"_index":1514,"title":{},"content":{"276":{"position":[[698,23]]}},"keywords":{}}],["_impl_attrs_lazy(ctx",{"_index":1523,"title":{},"content":{"277":{"position":[[734,22]]},"528":{"position":[[128,22]]}},"keywords":{}}],["_impl_audit_cell(ctx",{"_index":1490,"title":{},"content":{"242":{"position":[[545,22]]}},"keywords":{}}],["_impl_audit_output(ctx",{"_index":1496,"title":{},"content":{"243":{"position":[[582,24]]}},"keywords":{}}],["_impl_ctarget_set(ctx",{"_index":2191,"title":{},"content":{"409":{"position":[[149,23]]},"788":{"position":[[149,23]]}},"keywords":{}}],["_impl_dependency(ctx",{"_index":1452,"title":{},"content":{"233":{"position":[[416,22]]}},"keywords":{}}],["_impl_deps(ctx",{"_index":1791,"title":{},"content":{"328":{"position":[[432,16]]},"469":{"position":[[313,16]]}},"keywords":{}}],["_impl_dynamic_output",{"_index":4120,"title":{},"content":{"878":{"position":[[1592,21]]}},"keywords":{}}],["_impl_dynamic_output(ctx",{"_index":4097,"title":{},"content":{"878":{"position":[[248,26]]}},"keywords":{}}],["_impl_elapsed_millis(ctx",{"_index":2286,"title":{},"content":{"422":{"position":[[83,26]]},"513":{"position":[[94,26]]},"801":{"position":[[83,26]]}},"keywords":{}}],["_impl_elapsed_secs(ctx",{"_index":2490,"title":{},"content":{"514":{"position":[[90,24]]}},"keywords":{}}],["_impl_ensure(ctx",{"_index":1841,"title":{},"content":{"344":{"position":[[430,18]]}},"keywords":{}}],["_impl_ensure_multiple(ctx",{"_index":1850,"title":{},"content":{"345":{"position":[[924,27]]}},"keywords":{}}],["_impl_eval(ctx",{"_index":1481,"title":{},"content":{"240":{"position":[[358,16]]},"329":{"position":[[418,16]]},"470":{"position":[[358,16]]}},"keywords":{}}],["_impl_exampl",{"_index":3908,"title":{},"content":{"850":{"position":[[221,14]]}},"keywords":{}}],["_impl_example(_ctx",{"_index":3967,"title":{},"content":{"860":{"position":[[191,20]]}},"keywords":{}}],["_impl_example(ctx",{"_index":3907,"title":{},"content":{"850":{"position":[[163,19],[802,19]]},"851":{"position":[[113,19],[1797,19]]},"852":{"position":[[84,19]]},"853":{"position":[[135,19]]},"854":{"position":[[163,19]]},"856":{"position":[[500,19]]}},"keywords":{}}],["_impl_exists(ctx",{"_index":1743,"title":{},"content":{"315":{"position":[[241,18]]}},"keywords":{}}],["_impl_file_set(ctx",{"_index":2207,"title":{},"content":{"413":{"position":[[97,20]]},"792":{"position":[[97,20]]}},"keywords":{}}],["_impl_filter(ctx",{"_index":1802,"title":{},"content":{"330":{"position":[[373,18]]},"471":{"position":[[254,18]]}},"keywords":{}}],["_impl_get_path_without_materialization(ctx",{"_index":2225,"title":{},"content":{"416":{"position":[[727,44]]},"795":{"position":[[727,44]]}},"keywords":{}}],["_impl_get_paths_without_materialization(ctx",{"_index":2232,"title":{},"content":{"417":{"position":[[957,45]]},"796":{"position":[[957,45]]}},"keywords":{}}],["_impl_get_source(ctx",{"_index":1536,"title":{},"content":{"279":{"position":[[268,22]]}},"keywords":{}}],["_impl_inputs(ctx",{"_index":1806,"title":{},"content":{"331":{"position":[[353,18]]},"472":{"position":[[234,18]]}},"keywords":{}}],["_impl_is_dir(ctx",{"_index":1747,"title":{},"content":{"316":{"position":[[261,18]]}},"keywords":{}}],["_impl_is_file(ctx",{"_index":1751,"title":{},"content":{"317":{"position":[[264,19]]}},"keywords":{}}],["_impl_kind(ctx",{"_index":1809,"title":{},"content":{"332":{"position":[[374,16]]},"473":{"position":[[255,16]]}},"keywords":{}}],["_impl_label(ctx",{"_index":1530,"title":{},"content":{"278":{"position":[[130,17]]},"280":{"position":[[330,17]]},"460":{"position":[[134,17]]},"461":{"position":[[116,17]]}},"keywords":{}}],["_impl_list(ctx",{"_index":1756,"title":{},"content":{"318":{"position":[[403,16]]}},"keywords":{}}],["_impl_print(ctx",{"_index":1857,"title":{},"content":{"346":{"position":[[573,17]]}},"keywords":{}}],["_impl_print_json(ctx",{"_index":1862,"title":{},"content":{"347":{"position":[[469,22]]}},"keywords":{}}],["_impl_providers(ctx",{"_index":1456,"title":{},"content":{"234":{"position":[[196,21]]}},"keywords":{}}],["_impl_rdeps(ctx",{"_index":1824,"title":{},"content":{"335":{"position":[[648,17]]},"475":{"position":[[410,17]]}},"keywords":{}}],["_impl_rel_path(ctx",{"_index":1598,"title":{},"content":{"289":{"position":[[286,20]]},"511":{"position":[[318,20]]}},"keywords":{}}],["_impl_resolved_attrs_eager(ctx",{"_index":1547,"title":{},"content":{"281":{"position":[[799,32]]}},"keywords":{}}],["_impl_resolved_attrs_lazy(ctx",{"_index":1554,"title":{},"content":{"282":{"position":[[843,31]]},"322":{"position":[[147,31]]}},"keywords":{}}],["_impl_rule_kind(ctx",{"_index":1560,"title":{},"content":{"283":{"position":[[251,21]]},"462":{"position":[[253,21]]}},"keywords":{}}],["_impl_rule_type(ctx",{"_index":1565,"title":{},"content":{"284":{"position":[[169,21]]},"463":{"position":[[189,21]]}},"keywords":{}}],["_impl_run_action(ctx",{"_index":1650,"title":{},"content":{"298":{"position":[[2468,22]]}},"keywords":{}}],["_impl_sources(ctx",{"_index":1568,"title":{},"content":{"285":{"position":[[132,19]]}},"keywords":{}}],["_impl_sub_target(ctx",{"_index":932,"title":{},"content":{"63":{"position":[[245,22]]},"166":{"position":[[245,22]]},"492":{"position":[[245,22]]},"548":{"position":[[245,22]]}},"keywords":{}}],["_impl_type(ctx",{"_index":2464,"title":{},"content":{"480":{"position":[[81,16]]},"483":{"position":[[84,16]]}},"keywords":{}}],["_impl_unwrap_forward(ctx",{"_index":1576,"title":{},"content":{"286":{"position":[[359,26]]}},"keywords":{}}],["_impl_upp",{"_index":5228,"title":{},"content":{"1047":{"position":[[225,11]]}},"keywords":{}}],["_impl_upper(ctx",{"_index":5224,"title":{},"content":{"1047":{"position":[[84,17]]}},"keywords":{}}],["_impl_utarget_set(ctx",{"_index":2404,"title":{},"content":{"449":{"position":[[153,23]]},"828":{"position":[[153,23]]}},"keywords":{}}],["_impl_value(ctx",{"_index":2469,"title":{},"content":{"481":{"position":[[164,17]]},"484":{"position":[[136,17]]}},"keywords":{}}],["_impl_write_action(ctx",{"_index":1634,"title":{},"content":{"298":{"position":[[1209,24]]}},"keywords":{}}],["_incremental_bundling_en",{"_index":6840,"title":{},"content":{"1363":{"position":[[996,30]]},"1367":{"position":[[991,30]]},"1372":{"position":[[961,30]]}},"keywords":{}}],["_info_plist_identify_build_system_default",{"_index":6841,"title":{},"content":{"1363":{"position":[[1037,42]]},"1367":{"position":[[1032,42]]},"1372":{"position":[[1002,42]]}},"keywords":{}}],["_inject_test_env",{"_index":6519,"title":{},"content":{"1354":{"position":[[396,17]]},"1367":{"position":[[1085,17]]},"1388":{"position":[[369,17]]},"1410":{"position":[[440,17]]},"1429":{"position":[[383,17]]},"1437":{"position":[[325,17]]},"1440":{"position":[[385,17]]},"1466":{"position":[[342,17]]},"1467":{"position":[[438,17]]},"1470":{"position":[[419,17]]},"1473":{"position":[[373,17]]},"1478":{"position":[[322,17]]}},"keywords":{}}],["_internal_platform_path",{"_index":6980,"title":{},"content":{"1368":{"position":[[330,24]]},"1481":{"position":[[330,24]]}},"keywords":{}}],["_internal_sdk_path",{"_index":6981,"title":{},"content":{"1368":{"position":[[371,19]]},"1481":{"position":[[371,19]]}},"keywords":{}}],["_ios_booted_simul",{"_index":6962,"title":{},"content":{"1367":{"position":[[1112,22]]}},"keywords":{}}],["_ios_unbooted_simul",{"_index":6963,"title":{},"content":{"1367":{"position":[[1144,24]]}},"keywords":{}}],["_ipa_compression_level",{"_index":6936,"title":{},"content":{"1365":{"position":[[351,23]]}},"keywords":{}}],["_ipa_packag",{"_index":6937,"title":{},"content":{"1365":{"position":[[380,13]]}},"keywords":{}}],["_is_building_android_binari",{"_index":6329,"title":{},"content":{"1348":{"position":[[380,28]]},"1350":{"position":[[432,28]]},"1351":{"position":[[399,28]]},"1352":{"position":[[432,28]]},"1353":{"position":[[420,28]]},"1355":{"position":[[481,28]]},"1384":{"position":[[372,28]]},"1426":{"position":[[385,28]]},"1427":{"position":[[449,28]]},"1429":{"position":[[410,28]]},"1439":{"position":[[451,28]]},"1440":{"position":[[412,28]]},"1470":{"position":[[446,28]]}},"keywords":{}}],["_is_force_single_cpu",{"_index":6330,"title":{},"content":{"1348":{"position":[[419,21]]},"1350":{"position":[[471,21]]},"1352":{"position":[[471,21]]},"1353":{"position":[[459,21]]}},"keywords":{}}],["_is_force_single_default_cpu",{"_index":6331,"title":{},"content":{"1348":{"position":[[451,29]]},"1350":{"position":[[503,29]]},"1352":{"position":[[503,29]]},"1353":{"position":[[491,29]]}},"keywords":{}}],["_is_releas",{"_index":8004,"title":{},"content":{"1431":{"position":[[353,12]]},"1432":{"position":[[420,12]]},"1433":{"position":[[403,12]]}},"keywords":{}}],["_java_test_toolchain",{"_index":6520,"title":{},"content":{"1354":{"position":[[423,21]]},"1429":{"position":[[449,21]]},"1440":{"position":[[451,21]]},"1470":{"position":[[485,21]]}},"keywords":{}}],["_java_toolchain",{"_index":6332,"title":{},"content":{"1348":{"position":[[491,16]]},"1350":{"position":[[543,16]]},"1351":{"position":[[438,16]]},"1352":{"position":[[543,16]]},"1353":{"position":[[531,16]]},"1354":{"position":[[454,16]]},"1355":{"position":[[520,16]]},"1358":{"position":[[486,16]]},"1360":{"position":[[443,16]]},"1402":{"position":[[376,16]]},"1414":{"position":[[349,16]]},"1424":{"position":[[390,16]]},"1426":{"position":[[424,16]]},"1427":{"position":[[488,16]]},"1429":{"position":[[480,16]]},"1439":{"position":[[490,16]]},"1440":{"position":[[482,16]]},"1470":{"position":[[516,16]]}},"keywords":{}}],["_julia_toolchain",{"_index":8021,"title":{},"content":{"1434":{"position":[[327,17]]},"1435":{"position":[[332,17]]},"1436":{"position":[[328,17]]},"1437":{"position":[[352,17]]}},"keywords":{}}],["_kotlin_toolchain",{"_index":6548,"title":{},"content":{"1355":{"position":[[546,18]]},"1439":{"position":[[516,18]]},"1440":{"position":[[508,18]]},"1470":{"position":[[542,18]]}},"keywords":{}}],["_macos_idb_companion",{"_index":6964,"title":{},"content":{"1367":{"position":[[1178,21]]}},"keywords":{}}],["_matlab_toolchain",{"_index":8094,"title":{},"content":{"1445":{"position":[[329,18]]}},"keywords":{}}],["_mirror_impl",{"_index":3741,"title":{},"content":{"712":{"position":[[505,13]]}},"keywords":{}}],["_mirror_impl(ctx",{"_index":3734,"title":{},"content":{"712":{"position":[[218,17]]}},"keywords":{}}],["_mk_comp_db",{"_index":7316,"title":{},"content":{"1389":{"position":[[400,12]]}},"keywords":{}}],["_mk_hmap",{"_index":7317,"title":{},"content":{"1389":{"position":[[422,9]]}},"keywords":{}}],["_msvc_hermetic_exec",{"_index":7318,"title":{},"content":{"1389":{"position":[[441,20]]}},"keywords":{}}],["_my_anon_impl",{"_index":5200,"title":{},"content":{"1044":{"position":[[2839,14]]}},"keywords":{}}],["_my_anon_impl(ctx",{"_index":5208,"title":{},"content":{"1044":{"position":[[3134,18]]}},"keywords":{}}],["_my_impl",{"_index":5219,"title":{},"content":{"1046":{"position":[[57,9]]}},"keywords":{}}],["_my_impl(ctx",{"_index":3719,"title":{},"content":{"711":{"position":[[1315,14]]}},"keywords":{}}],["_my_rul",{"_index":2351,"title":{},"content":{"437":{"position":[[528,9]]},"816":{"position":[[528,9]]}},"keywords":{}}],["_my_rule(ctx",{"_index":2343,"title":{},"content":{"437":{"position":[[315,13]]},"816":{"position":[[315,13]]}},"keywords":{}}],["_ocaml_toolchain",{"_index":8116,"title":{},"content":{"1448":{"position":[[352,17]]},"1449":{"position":[[353,17]]},"1450":{"position":[[352,17]]},"1451":{"position":[[352,17]]}},"keywords":{}}],["_owner_impl(ctx",{"_index":1818,"title":{},"content":{"334":{"position":[[720,17]]},"474":{"position":[[459,17]]}},"keywords":{}}],["_packag",{"_index":5427,"title":{},"content":{"1058":{"position":[[493,8],[543,8],[1025,9]]}},"keywords":{}}],["_package_remot",{"_index":8292,"title":{},"content":{"1462":{"position":[[440,18]]}},"keywords":{}}],["_platform",{"_index":8005,"title":{},"content":{"1431":{"position":[[376,10]]},"1432":{"position":[[443,10]]},"1433":{"position":[[426,10]]}},"keywords":{}}],["_prebuilt_jar_toolchain",{"_index":8229,"title":{},"content":{"1458":{"position":[[449,24]]}},"keywords":{}}],["_profile_bundling_en",{"_index":6842,"title":{},"content":{"1363":{"position":[[1090,26]]},"1367":{"position":[[1209,26]]},"1372":{"position":[[1055,26]]}},"keywords":{}}],["_propagation_impl",{"_index":4912,"title":{},"content":{"991":{"position":[[74,18]]}},"keywords":{}}],["_propagation_impl(ctx",{"_index":4923,"title":{},"content":{"991":{"position":[[886,23]]}},"keywords":{}}],["_provid",{"_index":7602,"title":{},"content":{"1398":{"position":[[399,11]]}},"keywords":{}}],["_provisioning_profil",{"_index":6843,"title":{},"content":{"1363":{"position":[[1127,23]]},"1367":{"position":[[1246,23]]},"1372":{"position":[[1092,23]]}},"keywords":{}}],["_python_bootstrap_toolchain",{"_index":8345,"title":{},"content":{"1463":{"position":[[362,28]]}},"keywords":{}}],["_python_toolchain",{"_index":7291,"title":{},"content":{"1387":{"position":[[381,18]]},"1461":{"position":[[440,18]]},"1462":{"position":[[469,18]]},"1465":{"position":[[437,18]]},"1467":{"position":[[465,18]]}},"keywords":{}}],["_race",{"_index":7030,"title":{},"content":{"1373":{"position":[[496,6]]},"1405":{"position":[[410,6]]},"1407":{"position":[[420,6]]},"1408":{"position":[[477,6]]},"1409":{"position":[[447,6]]},"1410":{"position":[[467,6]]}},"keywords":{}}],["_recursive_allowlist",{"_index":5428,"title":{},"content":{"1058":{"position":[[505,21]]}},"keywords":{}}],["_remap_cwd_tool",{"_index":7319,"title":{},"content":{"1389":{"position":[[471,16]]}},"keywords":{}}],["_remote_test_execution_toolchain",{"_index":7306,"title":{},"content":{"1388":{"position":[[396,33]]},"1410":{"position":[[484,33]]},"1429":{"position":[[506,33]]},"1440":{"position":[[536,33]]},"1466":{"position":[[369,33]]},"1467":{"position":[[493,33]]},"1470":{"position":[[570,33]]},"1473":{"position":[[400,33]]},"1478":{"position":[[349,33]]}},"keywords":{}}],["_resolve_impl(ctx",{"_index":1697,"title":{},"content":{"306":{"position":[[256,19]]}},"keywords":{}}],["_resource_bundl",{"_index":6844,"title":{},"content":{"1363":{"position":[[1160,17]]},"1367":{"position":[[1279,17]]},"1372":{"position":[[1125,17]]}},"keywords":{}}],["_rust_toolchain",{"_index":8411,"title":{},"content":{"1471":{"position":[[375,16]]},"1472":{"position":[[376,16]]},"1473":{"position":[[443,16]]}},"keywords":{}}],["_silly_binary_impl",{"_index":5259,"title":{},"content":{"1048":{"position":[[1514,19]]}},"keywords":{}}],["_silly_binary_impl(ctx",{"_index":5252,"title":{},"content":{"1048":{"position":[[914,24]]}},"keywords":{}}],["_silly_compil",{"_index":5247,"title":{},"content":{"1048":{"position":[[770,18],[1351,21]]}},"keywords":{}}],["_silly_compilation_impl",{"_index":5248,"title":{},"content":{"1048":{"position":[[804,24]]}},"keywords":{}}],["_silly_compilation_impl(ctx",{"_index":5243,"title":{},"content":{"1048":{"position":[[520,29]]}},"keywords":{}}],["_sillycompil",{"_index":5241,"title":{},"content":{"1048":{"position":[[454,17]]}},"keywords":{}}],["_sillycompilation(compil",{"_index":5246,"title":{},"content":{"1048":{"position":[[735,26]]}},"keywords":{}}],["_similar_to_befor",{"_index":4915,"title":{},"content":{"991":{"position":[[196,19],[641,19]]}},"keywords":{}}],["_strict_provisioning_profile_search_default",{"_index":6845,"title":{},"content":{"1363":{"position":[[1194,44]]},"1367":{"position":[[1313,44]]},"1372":{"position":[[1159,44]]}},"keywords":{}}],["_stripped_default",{"_index":6695,"title":{},"content":{"1362":{"position":[[516,18]]},"1364":{"position":[[569,18]]},"1453":{"position":[[389,18]]}},"keywords":{}}],["_sum",{"_index":4876,"title":{},"content":{"984":{"position":[[108,7]]}},"keywords":{}}],["_swiftc_wrapp",{"_index":8493,"title":{},"content":{"1481":{"position":[[407,16]]}},"keywords":{}}],["_tag",{"_index":7031,"title":{},"content":{"1373":{"position":[[513,6]]},"1405":{"position":[[427,6]]},"1407":{"position":[[437,6]]},"1408":{"position":[[494,6]]},"1409":{"position":[[464,6]]},"1410":{"position":[[527,6]]}},"keywords":{}}],["_target_os_typ",{"_index":7081,"title":{},"content":{"1374":{"position":[[352,16]]},"1387":{"position":[[409,16]]},"1454":{"position":[[360,16]]},"1462":{"position":[[497,16]]},"1467":{"position":[[536,16]]},"1471":{"position":[[401,16]]},"1472":{"position":[[402,16]]},"1473":{"position":[[469,16]]},"1477":{"position":[[324,16]]}},"keywords":{}}],["_targets_in_buildfile_impl(ctx",{"_index":2453,"title":{},"content":{"477":{"position":[[198,32]]}},"keywords":{}}],["_test_binari",{"_index":7603,"title":{},"content":{"1398":{"position":[[420,13]]}},"keywords":{}}],["_test_binary_lib",{"_index":7604,"title":{},"content":{"1398":{"position":[[443,17]]}},"keywords":{}}],["_test_main",{"_index":8365,"title":{},"content":{"1467":{"position":[[562,11]]}},"keywords":{}}],["_testmaingen",{"_index":7788,"title":{},"content":{"1410":{"position":[[549,13]]}},"keywords":{}}],["_testsof_impl(ctx",{"_index":2460,"title":{},"content":{"478":{"position":[[261,19]]}},"keywords":{}}],["_toolchain",{"_index":7440,"title":{},"content":{"1393":{"position":[[325,11]]},"1394":{"position":[[334,11]]},"1395":{"position":[[329,11]]},"1397":{"position":[[329,11]]},"1398":{"position":[[470,11]]}},"keywords":{}}],["_tr",{"_index":5045,"title":{},"content":{"1009":{"position":[[722,4]]}},"keywords":{}}],["_tr(platform",{"_index":5039,"title":{},"content":{"1009":{"position":[[457,13]]}},"keywords":{}}],["_trampolin",{"_index":7605,"title":{},"content":{"1398":{"position":[[491,12],[520,13],[2306,12],[2335,12]]}},"keywords":{}}],["_unzip_tool",{"_index":8374,"title":{},"content":{"1469":{"position":[[326,12]]}},"keywords":{}}],["_use_entitlements_when_adhoc_code_sign",{"_index":6846,"title":{},"content":{"1363":{"position":[[1249,42]]},"1367":{"position":[[1368,42]]},"1372":{"position":[[1214,42]]}},"keywords":{}}],["_use_impl",{"_index":5282,"title":{},"content":{"1049":{"position":[[1647,10]]}},"keywords":{}}],["_use_impl(ctx",{"_index":5272,"title":{},"content":{"1049":{"position":[[1190,14]]}},"keywords":{}}],["_win_python_wrapp",{"_index":8346,"title":{},"content":{"1463":{"position":[[400,20]]}},"keywords":{}}],["_wip_java_plugin_argu",{"_index":6333,"title":{},"content":{"1348":{"position":[[517,27]]},"1355":{"position":[[574,27]]},"1412":{"position":[[329,27]]},"1413":{"position":[[326,27]]},"1427":{"position":[[514,27]]},"1429":{"position":[[549,27]]},"1430":{"position":[[331,27]]},"1439":{"position":[[544,27]]},"1440":{"position":[[579,27]]},"1470":{"position":[[613,27]]},"1474":{"position":[[328,27]]},"1475":{"position":[[325,27]]}},"keywords":{}}],["_worker_tool_runn",{"_index":8553,"title":{},"content":{"1486":{"position":[[326,20]]}},"keywords":{}}],["_workspac",{"_index":8412,"title":{},"content":{"1471":{"position":[[427,12],[2611,12]]},"1472":{"position":[[428,12],[2570,12]]},"1473":{"position":[[495,12],[2885,12]]}},"keywords":{}}],["_your_implement",{"_index":3848,"title":{},"content":{"840":{"position":[[304,21],[1006,21]]}},"keywords":{}}],["_your_implementation(ctx",{"_index":3846,"title":{},"content":{"840":{"position":[[228,26],[930,26]]}},"keywords":{}}],["_zip_file_toolchain",{"_index":8606,"title":{},"content":{"1487":{"position":[[323,20]]}},"keywords":{}}],["a'",{"_index":3541,"title":{},"content":{"693":{"position":[[3004,3]]},"947":{"position":[[355,3],[922,3]]}},"keywords":{}}],["a'hello_world",{"_index":484,"title":{},"content":{"17":{"position":[[36,14]]}},"keywords":{}}],["a.b",{"_index":4338,"title":{},"content":{"898":{"position":[[1926,6]]}},"keywords":{}}],["a.buckconfig",{"_index":3531,"title":{},"content":{"693":{"position":[[2271,13]]}},"keywords":{}}],["a.buckconfig.d(buckconfig.d",{"_index":2670,"title":{},"content":{"581":{"position":[[571,28]]}},"keywords":{}}],["a/b",{"_index":5450,"title":{},"content":{"1061":{"position":[[48,3]]}},"keywords":{}}],["a/b/buck",{"_index":7056,"title":{},"content":{"1373":{"position":[[5876,10]]},"1408":{"position":[[2240,10]]},"1410":{"position":[[4437,10]]},"1457":{"position":[[1827,10]]}},"keywords":{}}],["a1",{"_index":3286,"title":{},"content":{"662":{"position":[[11,3]]}},"keywords":{}}],["a2",{"_index":3287,"title":{},"content":{"662":{"position":[[20,3]]}},"keywords":{}}],["aab",{"_index":6643,"title":{},"content":{"1360":{"position":[[469,4],[2476,4],[2530,3],[2559,4],[2599,3],[2743,3],[5271,6]]}},"keywords":{}}],["aapt",{"_index":2065,"title":{},"content":{"389":{"position":[[368,7]]},"768":{"position":[[368,7]]},"1359":{"position":[[2239,4]]}},"keywords":{}}],["aapt.manifest",{"_index":6637,"title":{},"content":{"1359":{"position":[[1903,14]]}},"keywords":{}}],["aapt2_keep_raw_valu",{"_index":6414,"title":{},"content":{"1350":{"position":[[569,22]]},"1352":{"position":[[569,22]]}},"keywords":{}}],["aapt2_locale_filt",{"_index":6415,"title":{},"content":{"1350":{"position":[[602,23]]},"1352":{"position":[[602,23]]}},"keywords":{}}],["aapt2_preferred_dens",{"_index":6416,"title":{},"content":{"1350":{"position":[[636,24]]},"1352":{"position":[[636,24]]}},"keywords":{}}],["aapt_mod",{"_index":6417,"title":{},"content":{"1350":{"position":[[677,10]]},"1352":{"position":[[677,10]]},"1353":{"position":[[557,10]]}},"keywords":{}}],["aar",{"_index":6381,"title":{},"content":{"1348":{"position":[[2691,4],[3724,4],[3870,4],[3929,3],[4136,4],[4352,4],[4499,4]]},"1358":{"position":[[512,4],[958,4],[2017,4],[2111,4],[2274,4],[2365,4],[2731,4],[2879,4],[2949,3]]}},"keywords":{}}],["aar.source_jar",{"_index":6618,"title":{},"content":{"1358":{"position":[[2181,15]]}},"keywords":{}}],["aarch64",{"_index":5883,"title":{},"content":{"1136":{"position":[[2965,8]]},"1138":{"position":[[6627,8]]},"1140":{"position":[[5553,8]]},"1142":{"position":[[997,8]]},"1146":{"position":[[937,8]]},"1148":{"position":[[3977,8]]},"1155":{"position":[[1033,8]]},"1156":{"position":[[611,8]]},"1167":{"position":[[6557,8]]},"1169":{"position":[[396,8]]},"1186":{"position":[[2201,8]]},"1187":{"position":[[2214,8]]},"1188":{"position":[[6940,8]]},"1191":{"position":[[801,8]]},"1192":{"position":[[976,8]]},"1193":{"position":[[1028,8]]},"1194":{"position":[[668,8]]},"1195":{"position":[[646,8]]},"1196":{"position":[[456,8]]},"1197":{"position":[[1439,8]]},"1198":{"position":[[1449,8]]},"1199":{"position":[[1477,8]]},"1200":{"position":[[1344,8]]},"1201":{"position":[[604,8]]},"1202":{"position":[[1746,8],[6143,8]]},"1203":{"position":[[838,8]]},"1204":{"position":[[682,8]]},"1205":{"position":[[2011,8]]},"1206":{"position":[[482,8]]},"1207":{"position":[[639,8]]},"1209":{"position":[[1987,8]]},"1217":{"position":[[5298,8]]},"1219":{"position":[[1284,8]]},"1222":{"position":[[408,8]]},"1223":{"position":[[418,8]]},"1224":{"position":[[598,8]]},"1226":{"position":[[5766,8]]},"1228":{"position":[[7379,8]]},"1235":{"position":[[3247,8]]},"1237":{"position":[[5936,8]]}},"keywords":{}}],["ab",{"_index":2219,"title":{"627":{"position":[[0,4]]}},"content":{"416":{"position":[[78,4]]},"417":{"position":[[294,4]]},"627":{"position":[[93,4],[140,4]]},"795":{"position":[[78,4]]},"796":{"position":[[294,4]]}},"keywords":{}}],["ab[aba]ba(thi",{"_index":2776,"title":{},"content":{"591":{"position":[[712,14]]}},"keywords":{}}],["aba]a[aba",{"_index":2774,"title":{},"content":{"591":{"position":[[663,12]]}},"keywords":{}}],["abc'.startswith(('a",{"_index":3010,"title":{},"content":{"618":{"position":[[341,22],[378,22]]}},"keywords":{}}],["abi",{"_index":6562,"title":{},"content":{"1355":{"position":[[5837,3],[6031,3],[6155,3],[6836,3],[6955,3],[7168,3],[7343,3]]},"1386":{"position":[[6360,3]]},"1427":{"position":[[5010,3],[5204,3],[5328,3],[6035,3],[6154,3],[6367,3],[6542,3]]}},"keywords":{}}],["abi_generation_mod",{"_index":6334,"title":{},"content":{"1348":{"position":[[571,20]]},"1355":{"position":[[628,20]]},"1427":{"position":[[568,20]]},"1429":{"position":[[603,20]]},"1430":{"position":[[385,20]]},"1439":{"position":[[598,20]]},"1440":{"position":[[633,20]]},"1470":{"position":[[667,20]]},"1474":{"position":[[382,20]]},"1475":{"position":[[379,20]]}},"keywords":{}}],["abil",{"_index":714,"title":{},"content":{"23":{"position":[[1099,7],[1243,7]]},"676":{"position":[[19,7]]},"693":{"position":[[1952,7]]},"700":{"position":[[18,7]]},"937":{"position":[[2955,7]]},"964":{"position":[[336,7]]}},"keywords":{}}],["abort",{"_index":5942,"title":{},"content":{"1142":{"position":[[478,7]]}},"keywords":{}}],["aboutsourc",{"_index":6570,"title":{},"content":{"1355":{"position":[[7326,11]]},"1427":{"position":[[6525,11]]}},"keywords":{}}],["abov",{"_index":283,"title":{},"content":{"9":{"position":[[2330,5]]},"11":{"position":[[85,5]]},"15":{"position":[[543,5]]},"91":{"position":[[662,6]]},"94":{"position":[[3683,5]]},"223":{"position":[[662,6]]},"226":{"position":[[3683,5]]},"294":{"position":[[1141,6]]},"297":{"position":[[969,6]]},"301":{"position":[[856,6]]},"309":{"position":[[713,6]]},"310":{"position":[[561,6]]},"311":{"position":[[409,6]]},"418":{"position":[[686,5]]},"582":{"position":[[19,5]]},"663":{"position":[[168,5]]},"675":{"position":[[504,5]]},"706":{"position":[[1381,7]]},"712":{"position":[[2651,6],[2954,5]]},"797":{"position":[[686,5]]},"888":{"position":[[431,5]]},"890":{"position":[[437,5],[672,5],[1507,5],[2661,5],[3116,6],[5152,5],[5661,5]]},"892":{"position":[[370,5],[1991,5]]},"898":{"position":[[1300,5],[2068,5],[2434,5]]},"901":{"position":[[131,5]]},"906":{"position":[[625,5],[897,6]]},"924":{"position":[[2498,5]]},"951":{"position":[[1370,5]]},"959":{"position":[[9,5]]},"961":{"position":[[868,5]]},"969":{"position":[[197,5]]},"1006":{"position":[[593,5]]},"1024":{"position":[[1103,5]]},"1026":{"position":[[1073,6]]},"1040":{"position":[[2714,5]]},"1050":{"position":[[729,5]]},"1071":{"position":[[9,6],[966,5]]},"1082":{"position":[[1124,5]]},"1083":{"position":[[961,5]]},"1103":{"position":[[499,5],[1161,5]]},"1105":{"position":[[1529,6]]},"1113":{"position":[[191,5]]},"1131":{"position":[[696,5]]},"1133":{"position":[[551,6]]},"1255":{"position":[[194,5]]},"1346":{"position":[[739,6]]},"1362":{"position":[[6494,5],[12550,5]]},"1364":{"position":[[6523,5],[13055,5]]},"1366":{"position":[[2849,5]]},"1367":{"position":[[7921,5],[12458,5]]},"1373":{"position":[[4129,5],[7491,5]]},"1382":{"position":[[4406,5],[10266,5]]},"1384":{"position":[[5568,5],[16797,5]]},"1385":{"position":[[3212,5],[6491,5],[7454,5],[7609,6],[7652,6]]},"1386":{"position":[[4383,6]]},"1387":{"position":[[5483,5],[9864,5],[10784,5],[10940,6],[10983,6]]},"1388":{"position":[[5100,5],[8759,5]]},"1415":{"position":[[3811,5]]},"1485":{"position":[[4978,5]]},"1486":{"position":[[3641,5]]}},"keywords":{}}],["abs(0",{"_index":3050,"title":{},"content":{"627":{"position":[[81,6]]}},"keywords":{}}],["abs(10",{"_index":3052,"title":{},"content":{"627":{"position":[[108,7]]}},"keywords":{}}],["abs(10.0",{"_index":3053,"title":{},"content":{"627":{"position":[[122,9]]}},"keywords":{}}],["abs(x",{"_index":3049,"title":{},"content":{"627":{"position":[[4,6]]}},"keywords":{}}],["abs=tru",{"_index":2234,"title":{},"content":{"417":{"position":[[1171,9]]},"796":{"position":[[1171,9]]}},"keywords":{}}],["abs_path",{"_index":3826,"title":{},"content":{"834":{"position":[[112,10]]}},"keywords":{}}],["absenc",{"_index":695,"title":{},"content":{"23":{"position":[[272,7]]},"1138":{"position":[[5981,7]]},"1148":{"position":[[3331,7]]},"1186":{"position":[[1555,7]]},"1187":{"position":[[1568,7]]},"1188":{"position":[[6294,7]]},"1197":{"position":[[793,7]]},"1198":{"position":[[803,7]]},"1199":{"position":[[831,7]]},"1200":{"position":[[698,7]]}},"keywords":{}}],["absent",{"_index":1001,"title":{},"content":{"76":{"position":[[196,7]]},"505":{"position":[[196,7]]},"1000":{"position":[[117,6]]}},"keywords":{}}],["absh",{"_index":5454,"title":{},"content":{"1061":{"position":[[92,4]]}},"keywords":{}}],["absolut",{"_index":849,"title":{},"content":{"40":{"position":[[249,8]]},"98":{"position":[[398,9],[945,8],[999,8]]},"99":{"position":[[517,9],[1407,8]]},"131":{"position":[[346,8]]},"173":{"position":[[249,8]]},"230":{"position":[[398,9],[945,8],[999,8]]},"231":{"position":[[517,9],[1407,8]]},"242":{"position":[[503,8]]},"254":{"position":[[346,8]]},"279":{"position":[[235,8]]},"288":{"position":[[80,8],[134,8],[581,8],[754,8]]},"299":{"position":[[51,8]]},"304":{"position":[[457,8]]},"307":{"position":[[46,8]]},"314":{"position":[[95,8],[269,8],[364,8]]},"320":{"position":[[486,8]]},"408":{"position":[[154,9]]},"416":{"position":[[211,8]]},"417":{"position":[[440,8]]},"510":{"position":[[106,8],[160,8],[652,8],[822,8]]},"584":{"position":[[941,8]]},"627":{"position":[[55,8]]},"680":{"position":[[1185,8]]},"787":{"position":[[154,9]]},"795":{"position":[[211,8]]},"796":{"position":[[440,8]]},"834":{"position":[[47,8],[628,8]]},"861":{"position":[[215,8],[303,8]]},"991":{"position":[[2976,10]]},"1070":{"position":[[269,8]]},"1112":{"position":[[208,8],[4934,9]]},"1124":{"position":[[237,8]]},"1138":{"position":[[268,8],[465,8],[643,8]]},"1226":{"position":[[3447,8],[3644,8],[3822,8]]},"1231":{"position":[[161,8]]},"1237":{"position":[[3617,8],[3814,8],[3992,8]]},"1383":{"position":[[4677,8],[6163,8],[6191,8]]}},"keywords":{}}],["absolute_prefix",{"_index":2132,"title":{"408":{"position":[[0,15]]},"787":{"position":[[0,15]]}},"content":{"405":{"position":[[616,16]]},"408":{"position":[[274,15],[329,15]]},"784":{"position":[[616,16]]},"787":{"position":[[274,15],[329,15]]}},"keywords":{}}],["absolute_prefixto",{"_index":2178,"title":{},"content":{"408":{"position":[[205,17]]},"787":{"position":[[205,17]]}},"keywords":{}}],["absolute_suffix",{"_index":2133,"title":{"408":{"position":[[20,16]]},"787":{"position":[[20,16]]}},"content":{"405":{"position":[[642,16],[2115,15]]},"408":{"position":[[365,15]]},"784":{"position":[[642,16],[2115,15]]},"787":{"position":[[365,15]]}},"keywords":{}}],["abstract",{"_index":3621,"title":{},"content":{"702":{"position":[[310,10]]},"937":{"position":[[2966,8]]},"1393":{"position":[[6766,12]]}},"keywords":{}}],["abuck",{"_index":3569,"title":{},"content":{"693":{"position":[[5846,5]]}},"keywords":{}}],["abuck2",{"_index":5703,"title":{},"content":{"1106":{"position":[[71,6]]}},"keywords":{}}],["abuild",{"_index":3383,"title":{},"content":{"676":{"position":[[233,6]]},"1129":{"position":[[143,6]]}},"keywords":{}}],["abxl.aquerycontext",{"_index":3885,"title":{},"content":{"846":{"position":[[315,18]]}},"keywords":{}}],["abxl.buildresult",{"_index":3876,"title":{},"content":{"844":{"position":[[64,17]]}},"keywords":{}}],["abxl.cquerycontextctx.aqueri",{"_index":3884,"title":{},"content":{"846":{"position":[[276,30]]}},"keywords":{}}],["abxl.uquerycontextctx.cqueri",{"_index":3883,"title":{},"content":{"846":{"position":[[237,30]]}},"keywords":{}}],["academicresearch",{"_index":664,"title":{},"content":{"22":{"position":[[943,16]]}},"keywords":{}}],["acceler",{"_index":111,"title":{},"content":{"6":{"position":[[0,12]]}},"keywords":{}}],["accept",{"_index":1610,"title":{"882":{"position":[[0,9]]},"935":{"position":[[0,6]]}},"content":{"294":{"position":[[509,9]]},"297":{"position":[[487,9]]},"301":{"position":[[423,9],[897,6]]},"346":{"position":[[254,7]]},"636":{"position":[[172,7],[353,7]]},"841":{"position":[[263,7]]},"850":{"position":[[19,6]]},"851":{"position":[[648,7],[804,7],[948,7],[1168,7]]},"861":{"position":[[656,7],[714,6]]},"869":{"position":[[461,6]]},"872":{"position":[[551,6]]},"873":{"position":[[403,6]]},"904":{"position":[[193,7]]},"905":{"position":[[33,6]]},"924":{"position":[[136,7],[224,10],[2521,6]]},"929":{"position":[[222,7]]},"944":{"position":[[119,7]]},"954":{"position":[[157,7]]},"981":{"position":[[100,6]]},"1044":{"position":[[2543,7]]},"1096":{"position":[[97,7]]},"1129":{"position":[[136,6]]},"1136":{"position":[[5234,7]]},"1138":{"position":[[8896,7]]},"1140":{"position":[[7822,7]]},"1142":{"position":[[3266,7]]},"1146":{"position":[[3206,7]]},"1148":{"position":[[6246,7]]},"1155":{"position":[[3302,7]]},"1156":{"position":[[2880,7]]},"1161":{"position":[[773,7]]},"1167":{"position":[[8826,7]]},"1181":{"position":[[985,7]]},"1186":{"position":[[4470,7]]},"1187":{"position":[[4483,7]]},"1188":{"position":[[9209,7]]},"1191":{"position":[[3070,7]]},"1192":{"position":[[3245,7]]},"1193":{"position":[[3297,7]]},"1194":{"position":[[2937,7]]},"1195":{"position":[[2915,7]]},"1196":{"position":[[2725,7]]},"1197":{"position":[[3708,7]]},"1198":{"position":[[3718,7]]},"1199":{"position":[[3746,7]]},"1200":{"position":[[3613,7]]},"1201":{"position":[[2873,7]]},"1202":{"position":[[4015,7],[8412,7]]},"1203":{"position":[[3107,7]]},"1204":{"position":[[2951,7]]},"1205":{"position":[[4280,7]]},"1206":{"position":[[2751,7]]},"1207":{"position":[[2908,7]]},"1209":{"position":[[4256,7]]},"1217":{"position":[[7567,7]]},"1222":{"position":[[2677,7]]},"1223":{"position":[[2687,7]]},"1226":{"position":[[8035,7]]},"1228":{"position":[[9648,7]]},"1235":{"position":[[5516,7]]},"1237":{"position":[[8205,7]]},"1258":{"position":[[1162,6]]},"1289":{"position":[[1162,6]]},"1317":{"position":[[1162,6]]},"1345":{"position":[[1360,7]]},"1382":{"position":[[4533,7]]},"1388":{"position":[[5227,7]]},"1442":{"position":[[1523,7]]},"1473":{"position":[[4002,6]]}},"keywords":{}}],["acces",{"_index":3590,"title":{},"content":{"693":{"position":[[8199,7]]}},"keywords":{}}],["access",{"_index":355,"title":{"680":{"position":[[23,6]]},"962":{"position":[[0,9]]},"1009":{"position":[[0,6]]}},"content":{"10":{"position":[[1197,10]]},"11":{"position":[[681,10]]},"23":{"position":[[976,6]]},"37":{"position":[[186,11]]},"81":{"position":[[225,6]]},"84":{"position":[[131,10],[370,6]]},"94":{"position":[[4049,6],[4110,6]]},"182":{"position":[[186,11]]},"213":{"position":[[225,6]]},"216":{"position":[[131,10],[370,6]]},"226":{"position":[[4049,6],[4110,6]]},"234":{"position":[[36,6],[112,9]]},"276":{"position":[[209,6],[348,9],[662,6]]},"277":{"position":[[163,6],[295,9]]},"281":{"position":[[267,6],[419,9]]},"282":{"position":[[218,6],[368,9]]},"298":{"position":[[832,6],[1503,6],[2014,6],[2809,6]]},"300":{"position":[[253,8],[369,9]]},"344":{"position":[[243,10]]},"363":{"position":[[496,9]]},"366":{"position":[[326,9]]},"367":{"position":[[352,9]]},"368":{"position":[[2396,9],[2585,6],[2837,8]]},"372":{"position":[[267,9]]},"373":{"position":[[263,9]]},"374":{"position":[[509,9]]},"375":{"position":[[136,9],[205,9]]},"377":{"position":[[439,9],[573,9]]},"379":{"position":[[143,9],[272,9]]},"386":{"position":[[420,9]]},"389":{"position":[[1678,9]]},"396":{"position":[[357,9]]},"398":{"position":[[227,9]]},"399":{"position":[[230,9]]},"406":{"position":[[242,8]]},"422":{"position":[[305,10]]},"451":{"position":[[106,10]]},"587":{"position":[[134,6]]},"622":{"position":[[1017,10]]},"680":{"position":[[1012,6]]},"693":{"position":[[8283,8]]},"742":{"position":[[496,9]]},"745":{"position":[[326,9]]},"746":{"position":[[352,9]]},"747":{"position":[[2396,9],[2585,6],[2837,8]]},"751":{"position":[[267,9]]},"752":{"position":[[263,9]]},"753":{"position":[[509,9]]},"754":{"position":[[136,9],[205,9]]},"756":{"position":[[439,9],[573,9]]},"758":{"position":[[143,9],[272,9]]},"765":{"position":[[420,9]]},"768":{"position":[[1678,9]]},"775":{"position":[[357,9]]},"777":{"position":[[227,9]]},"778":{"position":[[230,9]]},"785":{"position":[[242,8]]},"801":{"position":[[305,10]]},"830":{"position":[[106,10]]},"840":{"position":[[1275,6]]},"851":{"position":[[521,6],[1275,6],[2135,6]]},"861":{"position":[[122,6]]},"877":{"position":[[587,11]]},"878":{"position":[[1236,6]]},"879":{"position":[[86,8]]},"888":{"position":[[1181,6]]},"890":{"position":[[647,6],[782,6],[865,8],[1728,9],[1907,8],[2248,8],[2882,8],[4894,6],[6690,6]]},"923":{"position":[[183,6]]},"924":{"position":[[1880,6]]},"950":{"position":[[585,6]]},"955":{"position":[[545,9],[604,6],[943,6]]},"958":{"position":[[227,6]]},"963":{"position":[[152,6]]},"983":{"position":[[24,9]]},"989":{"position":[[340,6]]},"997":{"position":[[65,10]]},"998":{"position":[[139,8]]},"1001":{"position":[[917,8],[1528,10]]},"1009":{"position":[[256,6],[337,8],[545,11]]},"1046":{"position":[[470,6]]},"1050":{"position":[[993,11]]},"1064":{"position":[[1017,8]]},"1071":{"position":[[178,7],[1311,6]]},"1079":{"position":[[111,9]]},"1095":{"position":[[72,6]]},"1097":{"position":[[57,6]]},"1098":{"position":[[401,6]]},"1103":{"position":[[855,8]]},"1105":{"position":[[2047,8]]},"1127":{"position":[[18,8]]},"1190":{"position":[[1055,6]]},"1204":{"position":[[0,6],[235,6],[10139,6],[10208,6]]},"1355":{"position":[[3586,6]]},"1360":{"position":[[2541,8],[2685,8],[3004,6],[3285,8],[4746,6]]},"1367":{"position":[[13792,10]]},"1383":{"position":[[2589,6],[2778,6],[2964,8],[5882,8],[6778,6]]},"1393":{"position":[[4179,8],[5198,10],[5853,8],[6107,10],[7916,8]]},"1395":{"position":[[2431,8],[2894,6],[3029,8]]},"1398":{"position":[[2962,6],[3254,6],[6533,6]]},"1401":{"position":[[552,6],[1492,10]]},"1403":{"position":[[2419,6],[2700,8],[4161,6]]},"1407":{"position":[[4110,6]]},"1422":{"position":[[3034,10]]},"1439":{"position":[[3407,6],[4562,6]]}},"keywords":{}}],["access.main_modul",{"_index":8084,"title":{},"content":{"1443":{"position":[[1699,19]]}},"keywords":{}}],["accessible.an",{"_index":5284,"title":{},"content":{"1050":{"position":[[449,13]]}},"keywords":{}}],["accessor",{"_index":3890,"title":{},"content":{"846":{"position":[[1030,9]]}},"keywords":{}}],["accident",{"_index":2221,"title":{},"content":{"416":{"position":[[435,12]]},"417":{"position":[[665,12]]},"795":{"position":[[435,12]]},"796":{"position":[[665,12]]}},"keywords":{}}],["accommod",{"_index":6785,"title":{},"content":{"1362":{"position":[[5226,11]]},"1364":{"position":[[5255,11]]}},"keywords":{}}],["accomplish",{"_index":1155,"title":{},"content":{"92":{"position":[[2326,12]]},"224":{"position":[[2326,12]]}},"keywords":{}}],["accord",{"_index":1631,"title":{},"content":{"298":{"position":[[738,9]]},"583":{"position":[[871,9]]},"591":{"position":[[387,9]]},"594":{"position":[[380,9]]}},"keywords":{}}],["accordingli",{"_index":5293,"title":{},"content":{"1050":{"position":[[2203,11]]}},"keywords":{}}],["accordingly.calcul",{"_index":5315,"title":{},"content":{"1050":{"position":[[4683,21]]}},"keywords":{}}],["account",{"_index":4717,"title":{},"content":{"945":{"position":[[314,7]]},"1071":{"position":[[496,7]]},"1462":{"position":[[7653,8]]}},"keywords":{}}],["accumul",{"_index":2302,"title":{},"content":{"427":{"position":[[615,10]]},"806":{"position":[[615,10]]},"990":{"position":[[28,12]]},"1079":{"position":[[1264,12]]},"1247":{"position":[[397,11]]},"1251":{"position":[[39,10]]}},"keywords":{}}],["accur",{"_index":3455,"title":{},"content":{"689":{"position":[[310,8]]}},"keywords":{}}],["acel",{"_index":3596,"title":{},"content":{"693":{"position":[[8724,5]]}},"keywords":{}}],["achiev",{"_index":799,"title":{},"content":{"24":{"position":[[1010,8]]},"956":{"position":[[164,8]]}},"keywords":{}}],["aconfiguredlabel",{"_index":4738,"title":{},"content":{"951":{"position":[[370,17]]}},"keywords":{}}],["aconfiguredstarlarktargetlabel",{"_index":4540,"title":{},"content":{"924":{"position":[[1318,30]]}},"keywords":{}}],["acquir",{"_index":5330,"title":{},"content":{"1053":{"position":[[1318,8]]}},"keywords":{}}],["act",{"_index":4895,"title":{},"content":{"988":{"position":[[343,3]]},"1370":{"position":[[2756,4]]},"1398":{"position":[[5086,3]]},"1483":{"position":[[402,4]]}},"keywords":{}}],["action",{"_index":46,"title":{"80":{"position":[[0,7]]},"167":{"position":[[0,6]]},"212":{"position":[[0,7]]},"723":{"position":[[10,6]]},"847":{"position":[[0,8]]},"851":{"position":[[8,8]]},"948":{"position":[[4,7]]},"949":{"position":[[0,7]]},"950":{"position":[[26,8]]},"964":{"position":[[0,8]]},"1050":{"position":[[12,7]]},"1078":{"position":[[16,8]]},"1105":{"position":[[0,8]]}},"content":{"4":{"position":[[199,7]]},"9":{"position":[[726,6],[752,7]]},"18":{"position":[[1688,7]]},"22":{"position":[[1400,7]]},"23":{"position":[[1229,7],[1263,6],[1662,8]]},"26":{"position":[[87,6]]},"27":{"position":[[94,6]]},"29":{"position":[[100,6]]},"30":{"position":[[139,6]]},"31":{"position":[[122,6]]},"42":{"position":[[53,7]]},"43":{"position":[[53,7]]},"49":{"position":[[178,7],[196,6]]},"71":{"position":[[17,7],[37,7],[89,7],[119,7]]},"89":{"position":[[680,7],[784,8]]},"92":{"position":[[513,7],[2155,6],[2496,7]]},"94":{"position":[[1420,6],[1903,6],[2160,6],[2324,6],[2658,7],[2728,8],[2818,6],[2953,6],[3945,7],[4026,7],[4083,7],[4352,6],[4374,7]]},"98":{"position":[[979,6],[1116,6],[1358,7]]},"99":{"position":[[1251,6],[1387,6],[1524,6]]},"168":{"position":[[97,7],[142,6]]},"175":{"position":[[53,7]]},"176":{"position":[[53,7]]},"178":{"position":[[87,6]]},"179":{"position":[[94,6]]},"185":{"position":[[100,6]]},"186":{"position":[[139,6]]},"187":{"position":[[122,6]]},"196":{"position":[[178,7],[196,6]]},"204":{"position":[[46,6],[68,6],[84,6]]},"205":{"position":[[100,6]]},"206":{"position":[[68,6]]},"207":{"position":[[53,6],[91,6]]},"209":{"position":[[21,7],[48,6],[86,7]]},"221":{"position":[[680,7],[784,8]]},"224":{"position":[[513,7],[2155,6],[2496,7]]},"226":{"position":[[1420,6],[1903,6],[2160,6],[2324,6],[2658,7],[2728,8],[2818,6],[2953,6],[3945,7],[4026,7],[4083,7],[4352,6],[4374,7]]},"230":{"position":[[979,6],[1116,6],[1358,7]]},"231":{"position":[[1251,6],[1387,6],[1524,6]]},"236":{"position":[[415,7],[566,8]]},"237":{"position":[[411,7]]},"243":{"position":[[119,6],[422,6]]},"288":{"position":[[287,7]]},"289":{"position":[[307,7]]},"298":{"position":[[629,7],[660,7],[852,6],[986,7],[1542,7],[1679,7],[1877,7],[2606,6]]},"306":{"position":[[40,8],[276,7]]},"314":{"position":[[288,7]]},"344":{"position":[[449,7]]},"362":{"position":[[939,7],[1456,6],[1525,6],[1596,6],[2504,7]]},"402":{"position":[[36,7]]},"406":{"position":[[812,7]]},"411":{"position":[[61,8],[227,6]]},"416":{"position":[[478,7],[684,8]]},"417":{"position":[[708,7],[914,8]]},"494":{"position":[[17,7],[37,7],[89,7],[119,7]]},"693":{"position":[[220,7],[534,6],[557,6],[647,6],[689,6],[731,7],[840,7],[1652,7],[2041,6],[6806,7],[6914,8],[6938,6],[7258,7]]},"704":{"position":[[1382,6],[1589,6],[1638,7],[1658,7],[1837,6],[1858,6],[2009,6],[2095,6],[2204,6],[2355,6],[2422,7]]},"705":{"position":[[12,6],[81,6],[179,7],[287,6],[345,7],[537,6]]},"706":{"position":[[723,6],[935,6],[1228,7],[1332,6],[2433,7],[2538,6]]},"710":{"position":[[273,8]]},"711":{"position":[[4,7],[990,7],[1007,8],[1435,7]]},"712":{"position":[[1035,7]]},"715":{"position":[[1395,6]]},"721":{"position":[[95,6]]},"722":{"position":[[514,8],[538,8],[815,8],[1089,7],[1116,6]]},"723":{"position":[[19,6]]},"724":{"position":[[118,8],[273,8],[363,7],[513,6],[613,7],[656,6],[776,6],[820,6],[899,6],[1052,6],[1186,7],[1329,6],[1490,6],[1606,6],[1737,6],[1865,7]]},"741":{"position":[[939,7],[1456,6],[1525,6],[1596,6],[2504,7]]},"781":{"position":[[36,7]]},"785":{"position":[[812,7]]},"790":{"position":[[61,8],[227,6]]},"795":{"position":[[478,7],[684,8]]},"796":{"position":[[708,7],[914,8]]},"832":{"position":[[699,6]]},"834":{"position":[[438,7],[561,6],[696,6],[759,7]]},"840":{"position":[[1371,7]]},"845":{"position":[[322,7]]},"846":{"position":[[139,6],[557,6],[1833,6],[1948,7]]},"847":{"position":[[15,7],[66,6],[118,7],[177,7],[480,8]]},"848":{"position":[[597,9],[683,7]]},"851":{"position":[[15,7],[133,7],[560,7],[774,7],[1084,7],[1932,6]]},"858":{"position":[[20,7]]},"861":{"position":[[291,7]]},"864":{"position":[[857,7],[1389,7],[1477,7],[1620,6]]},"867":{"position":[[207,6],[686,6],[784,7],[844,7],[981,6],[1055,6],[1115,6],[1345,6],[1410,6],[1515,6],[1680,6],[1715,6],[1769,6],[1794,6],[1831,6],[1914,6],[1954,6],[2021,6],[2097,6],[2143,6]]},"869":{"position":[[402,6]]},"872":{"position":[[876,7]]},"878":{"position":[[275,7]]},"881":{"position":[[25,7]]},"895":{"position":[[654,6],[687,7]]},"897":{"position":[[17,6],[264,8]]},"923":{"position":[[93,7]]},"949":{"position":[[4,7],[45,7],[142,8],[159,7]]},"950":{"position":[[38,8],[70,8],[402,6]]},"951":{"position":[[13,7],[44,7],[159,7],[283,6],[472,7],[933,7],[1021,7],[1198,7],[1285,8],[1304,6],[1401,7]]},"954":{"position":[[859,7]]},"955":{"position":[[639,6],[1113,8],[1320,7],[1422,7]]},"959":{"position":[[159,7]]},"964":{"position":[[113,8],[200,8],[354,7],[385,6],[488,7],[628,6],[687,7],[847,7],[861,6],[1065,6]]},"965":{"position":[[515,7]]},"1018":{"position":[[145,7]]},"1027":{"position":[[174,6]]},"1031":{"position":[[705,7]]},"1036":{"position":[[70,7]]},"1040":{"position":[[675,7]]},"1050":{"position":[[12,7],[56,7],[245,7],[386,6],[933,7],[1325,6],[1565,6],[1934,6],[3164,6],[4603,6]]},"1072":{"position":[[149,7]]},"1075":{"position":[[141,6]]},"1079":{"position":[[417,8]]},"1103":{"position":[[47,8],[992,7],[1227,7],[1688,7],[1740,7],[1897,7]]},"1104":{"position":[[1266,7]]},"1105":{"position":[[18,7],[78,7],[101,8],[118,6],[704,6],[1049,6],[1249,6],[2190,8]]},"1112":{"position":[[2814,6],[2870,6],[3147,6],[3180,6],[3226,6],[3286,6],[3346,6],[3447,6],[3580,7],[3774,6],[3830,6],[3885,6]]},"1114":{"position":[[88,6]]},"1120":{"position":[[755,6]]},"1136":{"position":[[23,6],[55,6],[97,7],[145,6],[184,7],[360,6],[479,7],[6355,8]]},"1138":{"position":[[2348,7],[2467,7],[2566,7],[2680,7],[2971,8],[3127,6],[3624,7],[3646,6],[3698,6],[3788,7],[3844,6],[3876,6],[3933,6],[4013,8],[5467,7],[10017,8]]},"1140":{"position":[[1837,7],[1956,7],[2055,7],[2169,7],[2460,8],[2616,6],[3113,7],[3135,6],[3187,6],[3277,7],[3333,6],[3365,6],[3422,6],[3502,8],[4956,7],[8943,8]]},"1142":{"position":[[486,7],[4387,8]]},"1144":{"position":[[715,8]]},"1146":{"position":[[4327,8]]},"1148":{"position":[[7918,8]]},"1150":{"position":[[950,8]]},"1152":{"position":[[648,8]]},"1154":{"position":[[803,8]]},"1155":{"position":[[4423,8]]},"1156":{"position":[[4001,8]]},"1157":{"position":[[586,8]]},"1158":{"position":[[580,8]]},"1159":{"position":[[580,8]]},"1161":{"position":[[1575,8]]},"1163":{"position":[[961,8]]},"1165":{"position":[[790,8]]},"1167":{"position":[[2841,7],[2960,7],[3059,7],[3173,7],[3464,8],[3620,6],[4117,7],[4139,6],[4191,6],[4281,7],[4337,6],[4369,6],[4426,6],[4506,8],[5960,7],[9947,8]]},"1169":{"position":[[3055,8]]},"1171":{"position":[[1296,8]]},"1172":{"position":[[411,6],[466,6],[604,6],[634,6],[1491,6],[1524,7],[2681,8]]},"1173":{"position":[[791,6],[824,7],[1368,8]]},"1174":{"position":[[796,8]]},"1175":{"position":[[792,8]]},"1176":{"position":[[961,8]]},"1177":{"position":[[438,7],[882,8]]},"1178":{"position":[[1199,8]]},"1179":{"position":[[996,8]]},"1180":{"position":[[1267,8]]},"1181":{"position":[[1787,8]]},"1182":{"position":[[830,8]]},"1183":{"position":[[785,8]]},"1185":{"position":[[630,8]]},"1186":{"position":[[5591,8]]},"1187":{"position":[[5604,8]]},"1188":{"position":[[1890,7],[2009,7],[2108,7],[2222,7],[2513,8],[2669,6],[3166,7],[3188,6],[3240,6],[3330,7],[3386,6],[3418,6],[3475,6],[3555,8],[5009,7],[10330,8]]},"1190":{"position":[[1123,6],[1961,8]]},"1191":{"position":[[4191,8]]},"1192":{"position":[[4366,8]]},"1193":{"position":[[4418,8]]},"1194":{"position":[[4058,8]]},"1195":{"position":[[4036,8]]},"1196":{"position":[[3846,8]]},"1197":{"position":[[4829,8]]},"1198":{"position":[[4839,8]]},"1199":{"position":[[4867,8]]},"1200":{"position":[[4734,8]]},"1201":{"position":[[3994,8]]},"1202":{"position":[[738,8],[5136,8],[9533,8]]},"1203":{"position":[[209,6],[238,6],[4228,8]]},"1204":{"position":[[4072,8],[4974,8],[5904,8],[6806,8],[7392,7],[7792,8],[8746,8],[9693,8],[10623,8]]},"1205":{"position":[[10,6],[5401,8]]},"1206":{"position":[[4100,8]]},"1207":{"position":[[4029,8]]},"1209":{"position":[[5377,8]]},"1211":{"position":[[701,8]]},"1213":{"position":[[472,8]]},"1215":{"position":[[556,8]]},"1217":{"position":[[1582,7],[1701,7],[1800,7],[1914,7],[2205,8],[2361,6],[2858,7],[2880,6],[2932,6],[3022,7],[3078,6],[3110,6],[3167,6],[3247,8],[4701,7],[8688,8]]},"1219":{"position":[[3943,8]]},"1221":{"position":[[675,8]]},"1222":{"position":[[3814,8]]},"1223":{"position":[[3824,8]]},"1224":{"position":[[3257,8]]},"1226":{"position":[[9156,8]]},"1228":{"position":[[3663,7],[3782,7],[3881,7],[3995,7],[4286,8],[4442,6],[4939,7],[4961,6],[5013,6],[5103,7],[5159,6],[5191,6],[5248,6],[5328,8],[6782,7],[10769,8]]},"1235":{"position":[[6637,8]]},"1237":{"position":[[9326,8]]},"1244":{"position":[[43,7],[184,7]]},"1285":{"position":[[52,7],[187,7]]},"1286":{"position":[[11,7]]},"1287":{"position":[[15,7],[166,8]]},"1345":{"position":[[195,6],[1175,6]]},"1346":{"position":[[76,7],[441,7]]},"1362":{"position":[[6303,6],[9819,6],[9907,6],[10131,6],[10220,6],[10319,6]]},"1364":{"position":[[6332,6],[10933,6],[11021,6],[11245,6],[11334,6],[11433,6]]},"1367":{"position":[[7730,6],[10736,6],[10824,6],[11048,6],[11137,6],[11236,6]]},"1373":{"position":[[3859,6]]},"1382":{"position":[[4215,6],[6545,6],[6633,6],[6857,6],[6946,6],[7045,6]]},"1384":{"position":[[5377,6],[12899,6],[12987,6],[13211,6],[13300,6],[13399,6]]},"1388":{"position":[[4515,6],[7414,6],[7502,6],[7726,6],[7815,6],[7914,6]]},"1389":{"position":[[5364,6],[5611,6]]},"1427":{"position":[[3982,6]]},"1454":{"position":[[4324,6]]},"1462":{"position":[[5337,6]]},"1471":{"position":[[2883,6]]},"1487":{"position":[[1775,6]]}},"keywords":{}}],["action'",{"_index":1444,"title":{},"content":{"209":{"position":[[146,8]]},"724":{"position":[[413,8],[948,8],[1130,8]]},"847":{"position":[[422,8]]},"867":{"position":[[1222,8]]}},"keywords":{}}],["action.identifi",{"_index":4289,"title":{},"content":{"894":{"position":[[392,17]]}},"keywords":{}}],["action.output",{"_index":4800,"title":{},"content":{"964":{"position":[[1121,14]]}},"keywords":{}}],["action.own",{"_index":1422,"title":{"168":{"position":[[0,13]]}},"content":{"168":{"position":[[4,14]]}},"keywords":{}}],["action_attr",{"_index":1409,"title":{"160":{"position":[[0,11]]}},"content":{},"keywords":{}}],["action_attr.valu",{"_index":1410,"title":{"161":{"position":[[0,18]]}},"content":{"161":{"position":[[4,19]]}},"keywords":{}}],["action_ctx",{"_index":4794,"title":{},"content":{"964":{"position":[[585,10],[876,11],[1024,10]]}},"keywords":{}}],["action_ctx.it",{"_index":4798,"title":{},"content":{"964":{"position":[[1075,18]]}},"keywords":{}}],["action_ctx.registry.write(some_output",{"_index":4796,"title":{},"content":{"964":{"position":[[750,38]]}},"keywords":{}}],["action_error",{"_index":5733,"title":{},"content":{"1112":{"position":[[2883,13]]}},"keywords":{}}],["action_metadata",{"_index":5304,"title":{},"content":{"1050":{"position":[[3094,15]]}},"keywords":{}}],["action_metadata=project/relative/path/to/target/action_metadata.json",{"_index":5302,"title":{},"content":{"1050":{"position":[[2935,68]]}},"keywords":{}}],["actionerror",{"_index":5737,"title":{},"content":{"1112":{"position":[[3127,11]]},"1126":{"position":[[1459,11]]}},"keywords":{}}],["actionerrorctx",{"_index":845,"title":{"39":{"position":[[0,14]]},"172":{"position":[[0,14]]},"349":{"position":[[0,15]]},"728":{"position":[[0,15]]}},"content":{"349":{"position":[[0,15]]},"728":{"position":[[0,15]]}},"keywords":{}}],["actionerrorctx.new_error_loc",{"_index":846,"title":{"40":{"position":[[0,34]]},"173":{"position":[[0,34]]}},"content":{"40":{"position":[[4,34]]},"173":{"position":[[4,34]]}},"keywords":{}}],["actionerrorctx.new_sub_error",{"_index":850,"title":{"41":{"position":[[0,29]]},"174":{"position":[[0,29]]}},"content":{"41":{"position":[[4,29]]},"174":{"position":[[4,29]]}},"keywords":{}}],["actionerrorctx.stderr",{"_index":865,"title":{"42":{"position":[[0,22]]},"175":{"position":[[0,22]]}},"content":{"42":{"position":[[0,22]]},"175":{"position":[[0,22]]}},"keywords":{}}],["actionerrorctx.stdout",{"_index":867,"title":{"43":{"position":[[0,22]]},"176":{"position":[[0,22]]}},"content":{"43":{"position":[[0,22]]},"176":{"position":[[0,22]]}},"keywords":{}}],["actionerrordiagnost",{"_index":5742,"title":{},"content":{"1112":{"position":[[3926,22]]}},"keywords":{}}],["actionerrorloc",{"_index":805,"title":{"25":{"position":[[0,19]]},"177":{"position":[[0,19]]},"350":{"position":[[0,20]]},"729":{"position":[[0,20]]}},"content":{"40":{"position":[[85,19]]},"173":{"position":[[85,19]]},"350":{"position":[[0,20]]},"729":{"position":[[0,20]]},"1112":{"position":[[4835,19]]}},"keywords":{}}],["actionerrorlocation.fil",{"_index":806,"title":{"26":{"position":[[0,25]]},"178":{"position":[[0,25]]}},"content":{"26":{"position":[[0,25]]},"178":{"position":[[0,25]]}},"keywords":{}}],["actionerrorlocation.lin",{"_index":811,"title":{"27":{"position":[[0,25]]},"179":{"position":[[0,25]]}},"content":{"27":{"position":[[0,25]]},"179":{"position":[[0,25]]}},"keywords":{}}],["actionexecutionend",{"_index":5808,"title":{},"content":{"1126":{"position":[[1163,18]]}},"keywords":{}}],["actionexecutionstart",{"_index":5803,"title":{},"content":{"1126":{"position":[[872,20]]}},"keywords":{}}],["actionkey",{"_index":5738,"title":{},"content":{"1112":{"position":[[3163,10],[3692,9]]}},"keywords":{}}],["actionnam",{"_index":5739,"title":{},"content":{"1112":{"position":[[3198,11],[3795,10]]}},"keywords":{}}],["actionregistri",{"_index":4742,"title":{},"content":{"951":{"position":[[1072,14]]}},"keywords":{}}],["actionremote_execution_use_cas",{"_index":1903,"title":{},"content":{"362":{"position":[[1917,32]]},"741":{"position":[[1917,32]]}},"keywords":{}}],["actions,dynam",{"_index":4053,"title":{},"content":{"869":{"position":[[623,15]]}},"keywords":{}}],["actions.anon_target",{"_index":1012,"title":{"81":{"position":[[0,20]]},"82":{"position":[[0,21]]},"213":{"position":[[0,20]]},"214":{"position":[[0,21]]}},"content":{"81":{"position":[[4,20]]},"82":{"position":[[4,21]]},"213":{"position":[[4,20]]},"214":{"position":[[4,21]]}},"keywords":{}}],["actions.anon_target(my_anon_rule1",{"_index":3722,"title":{},"content":{"711":{"position":[[1476,34]]}},"keywords":{}}],["actions.anon_target(my_anon_rule2",{"_index":3725,"title":{},"content":{"711":{"position":[[1541,34]]}},"keywords":{}}],["actions.anon_target(my_anon_targets_rul",{"_index":1710,"title":{},"content":{"306":{"position":[[522,41]]}},"keywords":{}}],["actions.anon_target(my_mirror_rul",{"_index":3766,"title":{},"content":{"712":{"position":[[2468,35]]}},"keywords":{}}],["actions.artifact_tag",{"_index":1022,"title":{"83":{"position":[[0,21]]},"215":{"position":[[0,21]]}},"content":{"83":{"position":[[4,22]]},"215":{"position":[[4,22]]}},"keywords":{}}],["actions.assert_short_path",{"_index":1027,"title":{"84":{"position":[[0,26]]},"216":{"position":[[0,26]]}},"content":{},"keywords":{}}],["actions.assert_short_path(artifact",{"_index":1028,"title":{},"content":{"84":{"position":[[4,35]]},"216":{"position":[[4,35]]}},"keywords":{}}],["actions.cas_artifact",{"_index":1038,"title":{"85":{"position":[[0,21]]},"217":{"position":[[0,21]]}},"content":{"85":{"position":[[4,21]]},"217":{"position":[[4,21]]}},"keywords":{}}],["actions.copied_dir",{"_index":1067,"title":{"86":{"position":[[0,19]]},"218":{"position":[[0,19]]}},"content":{"86":{"position":[[4,19]]},"218":{"position":[[4,19]]}},"keywords":{}}],["actions.copy_dir",{"_index":1070,"title":{"87":{"position":[[0,17]]},"219":{"position":[[0,17]]}},"content":{"87":{"position":[[4,17]]},"219":{"position":[[4,17]]}},"keywords":{}}],["actions.copy_fil",{"_index":1072,"title":{"88":{"position":[[0,18]]},"220":{"position":[[0,18]]}},"content":{"88":{"position":[[4,18]]},"220":{"position":[[4,18]]}},"keywords":{}}],["actions.declare_output",{"_index":1075,"title":{"89":{"position":[[0,23]]},"221":{"position":[[0,23]]}},"content":{"89":{"position":[[4,23]]},"221":{"position":[[4,23]]}},"keywords":{}}],["actions.declare_output("resolved_attrs"",{"_index":4106,"title":{},"content":{"878":{"position":[[585,50]]}},"keywords":{}}],["actions.digest_config",{"_index":1096,"title":{"90":{"position":[[0,22]]},"222":{"position":[[0,22]]}},"content":{"90":{"position":[[4,23]]},"222":{"position":[[4,23]]}},"keywords":{}}],["actions.download_fil",{"_index":1104,"title":{"91":{"position":[[0,22]]},"223":{"position":[[0,22]]}},"content":{"91":{"position":[[4,22]]},"223":{"position":[[4,22]]}},"keywords":{}}],["actions.dynamic_output",{"_index":1113,"title":{"92":{"position":[[0,23]]},"224":{"position":[[0,23]]}},"content":{"92":{"position":[[4,23]]},"224":{"position":[[4,23]]},"878":{"position":[[1374,23]]}},"keywords":{}}],["actions.dynamic_output_new",{"_index":1159,"title":{"93":{"position":[[0,27]]},"225":{"position":[[0,27]]}},"content":{},"keywords":{}}],["actions.dynamic_output_new(dynamic_act",{"_index":1160,"title":{},"content":{"93":{"position":[[4,43]]},"225":{"position":[[4,43]]}},"keywords":{}}],["actions.run",{"_index":1164,"title":{"94":{"position":[[0,12]]},"226":{"position":[[0,12]]}},"content":{"94":{"position":[[4,12]]},"226":{"position":[[4,12]]}},"keywords":{}}],["actions.symlink_fil",{"_index":1241,"title":{"95":{"position":[[0,21]]},"227":{"position":[[0,21]]}},"content":{"95":{"position":[[4,21]]},"227":{"position":[[4,21]]}},"keywords":{}}],["actions.symlinked_dir",{"_index":1242,"title":{"96":{"position":[[0,22]]},"228":{"position":[[0,22]]}},"content":{"96":{"position":[[4,22]]},"228":{"position":[[4,22]]}},"keywords":{}}],["actions.tset",{"_index":1243,"title":{"97":{"position":[[0,13]]},"229":{"position":[[0,13]]}},"content":{"97":{"position":[[4,13]]},"229":{"position":[[4,13]]}},"keywords":{}}],["actions.writ",{"_index":1249,"title":{"98":{"position":[[0,14]]},"230":{"position":[[0,14]]}},"content":{"98":{"position":[[4,14]]},"230":{"position":[[4,14]]}},"keywords":{}}],["actions.write("my_output"",{"_index":1588,"title":{},"content":{"288":{"position":[[332,36]]},"289":{"position":[[352,36]]},"344":{"position":[[494,36]]},"851":{"position":[[213,36]]}},"keywords":{}}],["actions.write_json",{"_index":1264,"title":{"99":{"position":[[0,19]]},"231":{"position":[[0,19]]}},"content":{"99":{"position":[[4,19]]},"231":{"position":[[4,19]]}},"keywords":{}}],["actions.write_json("query_params"",{"_index":4099,"title":{},"content":{"878":{"position":[[378,44]]}},"keywords":{}}],["actions_factori",{"_index":3913,"title":{},"content":{"851":{"position":[[42,16]]},"950":{"position":[[920,15]]}},"keywords":{}}],["actions_factory.write("file.txt"",{"_index":4732,"title":{},"content":{"950":{"position":[[975,43]]}},"keywords":{}}],["actionsbelow",{"_index":3880,"title":{},"content":{"845":{"position":[[372,14]]}},"keywords":{}}],["actionsuberror",{"_index":813,"title":{"28":{"position":[[0,14]]},"184":{"position":[[0,14]]},"351":{"position":[[0,15]]},"730":{"position":[[0,15]]}},"content":{"41":{"position":[[173,14]]},"174":{"position":[[173,14]]},"351":{"position":[[0,15]]},"730":{"position":[[0,15]]},"1112":{"position":[[4149,14]]}},"keywords":{}}],["actionsuberror.categori",{"_index":814,"title":{"29":{"position":[[0,24]]},"185":{"position":[[0,24]]}},"content":{"29":{"position":[[0,24]]},"185":{"position":[[0,24]]}},"keywords":{}}],["actionsuberror.loc",{"_index":817,"title":{"30":{"position":[[0,25]]},"186":{"position":[[0,25]]}},"content":{"30":{"position":[[0,25]]},"186":{"position":[[0,25]]}},"keywords":{}}],["actionsuberror.messag",{"_index":819,"title":{"31":{"position":[[0,23]]},"187":{"position":[[0,23]]}},"content":{"31":{"position":[[0,23]]},"187":{"position":[[0,23]]}},"keywords":{}}],["activ",{"_index":292,"title":{},"content":{"9":{"position":[[2534,8]]},"12":{"position":[[126,6]]},"553":{"position":[[181,6]]},"557":{"position":[[408,6]]},"558":{"position":[[263,6]]},"563":{"position":[[174,6]]},"564":{"position":[[168,6]]},"565":{"position":[[280,6]]},"567":{"position":[[453,6]]},"568":{"position":[[320,6]]},"569":{"position":[[233,6]]},"869":{"position":[[844,6]]},"888":{"position":[[993,7]]},"889":{"position":[[1023,6]]},"890":{"position":[[301,6]]},"1136":{"position":[[5534,7]]},"1138":{"position":[[9196,7]]},"1140":{"position":[[8122,7]]},"1142":{"position":[[3566,7]]},"1146":{"position":[[3506,7]]},"1148":{"position":[[6546,7]]},"1155":{"position":[[3602,7]]},"1156":{"position":[[3180,7]]},"1161":{"position":[[1073,7]]},"1167":{"position":[[356,9],[1105,8],[1139,8],[9126,7]]},"1181":{"position":[[1285,7]]},"1186":{"position":[[4770,7]]},"1187":{"position":[[4783,7]]},"1188":{"position":[[9509,7]]},"1191":{"position":[[3370,7]]},"1192":{"position":[[3545,7]]},"1193":{"position":[[3597,7]]},"1194":{"position":[[3237,7]]},"1195":{"position":[[3215,7]]},"1196":{"position":[[3025,7]]},"1197":{"position":[[4008,7]]},"1198":{"position":[[4018,7]]},"1199":{"position":[[4046,7]]},"1200":{"position":[[3913,7]]},"1201":{"position":[[3173,7]]},"1202":{"position":[[4315,7],[8712,7]]},"1203":{"position":[[3407,7]]},"1204":{"position":[[3251,7]]},"1205":{"position":[[4580,7]]},"1206":{"position":[[3051,7]]},"1207":{"position":[[3208,7]]},"1209":{"position":[[4556,7]]},"1217":{"position":[[7867,7]]},"1219":{"position":[[794,6]]},"1222":{"position":[[2977,7]]},"1223":{"position":[[2987,7]]},"1226":{"position":[[8335,7]]},"1228":{"position":[[9948,7]]},"1235":{"position":[[5816,7]]},"1237":{"position":[[8505,7]]},"1366":{"position":[[3242,6]]}},"keywords":{}}],["actool",{"_index":6875,"title":{},"content":{"1363":{"position":[[4035,9]]},"1368":{"position":[[407,7]]}},"keywords":{}}],["actual",{"_index":716,"title":{},"content":{"23":{"position":[[1153,8]]},"71":{"position":[[82,6]]},"92":{"position":[[2286,8],[2518,8]]},"224":{"position":[[2286,8],[2518,8]]},"344":{"position":[[391,6]]},"406":{"position":[[691,8]]},"416":{"position":[[353,8]]},"417":{"position":[[583,8]]},"494":{"position":[[82,6]]},"581":{"position":[[174,8]]},"590":{"position":[[445,8]]},"682":{"position":[[269,8]]},"688":{"position":[[1104,8]]},"704":{"position":[[1236,8]]},"705":{"position":[[325,6]]},"724":{"position":[[711,6],[1340,6],[1814,8]]},"725":{"position":[[157,6]]},"785":{"position":[[691,8]]},"795":{"position":[[353,8]]},"796":{"position":[[583,8]]},"834":{"position":[[661,8]]},"860":{"position":[[628,8]]},"904":{"position":[[1244,8]]},"927":{"position":[[76,6]]},"931":{"position":[[27,7],[74,6],[83,8]]},"951":{"position":[[670,6]]},"954":{"position":[[931,6]]},"955":{"position":[[1228,6]]},"980":{"position":[[1474,8],[1595,8]]},"991":{"position":[[1794,6],[1982,6]]},"993":{"position":[[341,6]]},"995":{"position":[[494,6],[1436,6]]},"1017":{"position":[[117,8]]},"1050":{"position":[[1220,8]]},"1054":{"position":[[173,6],[1562,8]]},"1071":{"position":[[393,8],[1322,6]]},"1072":{"position":[[227,8]]},"1093":{"position":[[208,8]]},"1102":{"position":[[901,6]]},"1103":{"position":[[1699,8]]},"1112":{"position":[[2858,8]]},"1247":{"position":[[632,6]]},"1376":{"position":[[334,7]]},"1377":{"position":[[331,7]]},"1455":{"position":[[3409,6],[3907,6],[4314,6]]},"1471":{"position":[[4286,6]]},"1472":{"position":[[4870,6]]},"1473":{"position":[[4607,6]]},"1483":{"position":[[330,7],[1302,6],[1439,6]]}},"keywords":{}}],["actual'",{"_index":4955,"title":{},"content":{"993":{"position":[[81,8]]},"994":{"position":[[91,8]]},"995":{"position":[[92,8]]}},"keywords":{}}],["actual_nod",{"_index":1577,"title":{},"content":{"286":{"position":[[453,11]]}},"keywords":{}}],["actx.actions.run",{"_index":5690,"title":{},"content":{"1105":{"position":[[1159,16]]}},"keywords":{}}],["acxx_librari",{"_index":3393,"title":{},"content":{"679":{"position":[[62,12]]}},"keywords":{}}],["acycl",{"_index":3427,"title":{},"content":{"684":{"position":[[53,7],[106,7]]},"695":{"position":[[355,8]]}},"keywords":{}}],["ad",{"_index":162,"title":{},"content":{"7":{"position":[[387,6]]},"23":{"position":[[501,5]]},"65":{"position":[[66,5]]},"99":{"position":[[1239,5]]},"231":{"position":[[1239,5]]},"377":{"position":[[1449,5]]},"405":{"position":[[1104,5],[1352,5],[1582,5],[1765,5],[2073,5],[2133,5]]},"406":{"position":[[599,5]]},"407":{"position":[[63,5]]},"453":{"position":[[66,5]]},"566":{"position":[[418,5]]},"567":{"position":[[303,6]]},"662":{"position":[[686,6]]},"681":{"position":[[495,5],[943,5]]},"708":{"position":[[476,5]]},"756":{"position":[[1449,5]]},"784":{"position":[[1104,5],[1352,5],[1582,5],[1765,5],[2073,5],[2133,5]]},"785":{"position":[[599,5]]},"786":{"position":[[63,5]]},"864":{"position":[[1744,5]]},"888":{"position":[[147,5],[1070,5],[1134,5],[1258,5],[1424,6]]},"889":{"position":[[712,5],[1184,6]]},"890":{"position":[[3162,5],[6110,6],[6171,5],[6221,5]]},"920":{"position":[[201,6]]},"929":{"position":[[138,6]]},"937":{"position":[[785,6],[2283,5]]},"954":{"position":[[902,6]]},"957":{"position":[[25,6]]},"990":{"position":[[608,5]]},"994":{"position":[[383,5]]},"1016":{"position":[[43,6]]},"1052":{"position":[[1471,5]]},"1079":{"position":[[430,6]]},"1105":{"position":[[315,6],[818,6]]},"1113":{"position":[[89,5]]},"1355":{"position":[[4408,5],[6884,5]]},"1362":{"position":[[7962,5],[8005,5],[11941,5]]},"1364":{"position":[[8563,5],[8811,5],[8854,5]]},"1367":{"position":[[8050,5],[8093,5],[13928,5]]},"1373":{"position":[[6962,5],[7902,5]]},"1382":{"position":[[6304,5],[9282,5],[10678,5]]},"1384":{"position":[[8749,5],[10190,5],[10233,5],[11251,5],[15627,5],[16925,5],[17173,5],[17752,5]]},"1385":{"position":[[5510,5]]},"1386":{"position":[[1961,5]]},"1387":{"position":[[8883,5]]},"1388":{"position":[[7173,5],[9171,5]]},"1393":{"position":[[5489,5]]},"1395":{"position":[[2361,5]]},"1398":{"position":[[3623,5]]},"1407":{"position":[[2513,5]]},"1415":{"position":[[4921,5]]},"1427":{"position":[[3553,5],[6083,5]]},"1439":{"position":[[4227,5]]},"1471":{"position":[[4443,5]]},"1472":{"position":[[5027,5]]},"1473":{"position":[[4764,5]]},"1485":{"position":[[2584,5],[3543,5]]},"1487":{"position":[[2009,5],[2360,5],[2958,5],[3433,5]]}},"keywords":{}}],["adapt",{"_index":6048,"title":{},"content":{"1221":{"position":[[196,7]]},"1224":{"position":[[23,7]]}},"keywords":{}}],["add",{"_index":27,"title":{},"content":{"3":{"position":[[225,4]]},"15":{"position":[[646,3]]},"18":{"position":[[410,3]]},"405":{"position":[[1255,3]]},"407":{"position":[[10,3],[145,4]]},"408":{"position":[[0,4]]},"639":{"position":[[376,3]]},"687":{"position":[[184,3]]},"784":{"position":[[1255,3]]},"786":{"position":[[10,3],[145,4]]},"787":{"position":[[0,4]]},"832":{"position":[[905,3]]},"840":{"position":[[855,3]]},"869":{"position":[[733,3]]},"872":{"position":[[516,3]]},"873":{"position":[[372,3]]},"908":{"position":[[80,3]]},"917":{"position":[[0,3]]},"937":{"position":[[1104,4]]},"938":{"position":[[746,4]]},"942":{"position":[[1039,3]]},"945":{"position":[[789,3]]},"947":{"position":[[1278,3]]},"961":{"position":[[316,3]]},"990":{"position":[[685,3],[1172,3]]},"1004":{"position":[[1335,3]]},"1054":{"position":[[873,3]]},"1076":{"position":[[36,3]]},"1077":{"position":[[270,3]]},"1078":{"position":[[127,3]]},"1082":{"position":[[799,3]]},"1083":{"position":[[635,3]]},"1093":{"position":[[80,3],[445,3]]},"1100":{"position":[[248,3]]},"1102":{"position":[[80,3]]},"1110":{"position":[[11,3]]},"1131":{"position":[[0,3]]},"1136":{"position":[[5295,4]]},"1138":{"position":[[8957,4]]},"1140":{"position":[[7883,4]]},"1142":{"position":[[3327,4]]},"1146":{"position":[[3267,4]]},"1148":{"position":[[6307,4]]},"1155":{"position":[[3363,4]]},"1156":{"position":[[2941,4]]},"1161":{"position":[[834,4]]},"1167":{"position":[[8887,4]]},"1181":{"position":[[1046,4]]},"1186":{"position":[[4531,4]]},"1187":{"position":[[4544,4]]},"1188":{"position":[[9270,4]]},"1191":{"position":[[3131,4]]},"1192":{"position":[[3306,4]]},"1193":{"position":[[3358,4]]},"1194":{"position":[[2998,4]]},"1195":{"position":[[2976,4]]},"1196":{"position":[[2786,4]]},"1197":{"position":[[3769,4]]},"1198":{"position":[[3779,4]]},"1199":{"position":[[3807,4]]},"1200":{"position":[[3674,4]]},"1201":{"position":[[2934,4]]},"1202":{"position":[[4076,4],[8473,4]]},"1203":{"position":[[3168,4]]},"1204":{"position":[[3012,4]]},"1205":{"position":[[4341,4]]},"1206":{"position":[[2812,4]]},"1207":{"position":[[2969,4]]},"1209":{"position":[[4317,4]]},"1217":{"position":[[7628,4]]},"1222":{"position":[[2738,4]]},"1223":{"position":[[2748,4]]},"1226":{"position":[[8096,4]]},"1228":{"position":[[9709,4]]},"1235":{"position":[[5577,4]]},"1237":{"position":[[8266,4]]},"1355":{"position":[[4031,3]]},"1362":{"position":[[7716,3],[11063,3],[13393,3]]},"1364":{"position":[[7955,3],[12030,3],[14093,3]]},"1367":{"position":[[11433,3],[13301,3]]},"1373":{"position":[[5578,3],[7698,3],[7853,3],[8004,3]]},"1382":{"position":[[7932,3],[10474,3],[10629,3],[10780,3]]},"1383":{"position":[[5792,4]]},"1384":{"position":[[7133,3],[9441,3],[13996,3],[14175,3],[17548,3],[17703,3],[17854,3]]},"1385":{"position":[[4163,3]]},"1387":{"position":[[7256,3],[7434,3]]},"1388":{"position":[[8546,3],[8967,3],[9122,3],[9273,3]]},"1393":{"position":[[5427,3],[5619,3]]},"1395":{"position":[[2835,4]]},"1397":{"position":[[2403,3]]},"1398":{"position":[[3325,3],[5417,4],[5614,3],[6557,3]]},"1415":{"position":[[4045,3]]},"1427":{"position":[[3176,3]]},"1439":{"position":[[3850,3]]},"1454":{"position":[[5534,3],[7648,3]]},"1471":{"position":[[3995,3],[4522,3]]},"1472":{"position":[[3473,3],[4579,3],[5106,3]]},"1473":{"position":[[4316,3],[4843,3]]},"1485":{"position":[[3339,3],[3494,3],[3645,3]]}},"keywords":{}}],["add_refer",{"_index":4169,"title":{},"content":{"888":{"position":[[733,14]]}},"keywords":{}}],["added.not",{"_index":4262,"title":{},"content":{"890":{"position":[[6657,11]]}},"keywords":{}}],["addit",{"_index":357,"title":{},"content":{"11":{"position":[[61,8]]},"52":{"position":[[184,10]]},"199":{"position":[[184,10]]},"314":{"position":[[247,9]]},"441":{"position":[[101,8]]},"579":{"position":[[3,8]]},"581":{"position":[[3,8],[134,10]]},"582":{"position":[[3,8],[72,10]]},"584":{"position":[[446,10]]},"679":{"position":[[314,8]]},"681":{"position":[[731,9]]},"690":{"position":[[2826,10]]},"708":{"position":[[449,10]]},"717":{"position":[[650,10]]},"820":{"position":[[101,8]]},"834":{"position":[[427,10],[734,9]]},"858":{"position":[[123,8]]},"865":{"position":[[625,9]]},"869":{"position":[[673,9]]},"890":{"position":[[3528,9],[4779,10],[6117,10]]},"900":{"position":[[2040,8]]},"959":{"position":[[297,10]]},"1000":{"position":[[374,10]]},"1019":{"position":[[77,9]]},"1024":{"position":[[3,8]]},"1093":{"position":[[758,10]]},"1096":{"position":[[109,10]]},"1098":{"position":[[192,10]]},"1112":{"position":[[1214,10]]},"1114":{"position":[[428,10]]},"1136":{"position":[[5195,10]]},"1138":{"position":[[8857,10]]},"1140":{"position":[[7783,10]]},"1142":{"position":[[3227,10]]},"1146":{"position":[[3167,10]]},"1148":{"position":[[6207,10]]},"1155":{"position":[[3263,10]]},"1156":{"position":[[2841,10]]},"1161":{"position":[[734,10]]},"1167":{"position":[[182,10],[8787,10]]},"1181":{"position":[[946,10]]},"1186":{"position":[[4431,10]]},"1187":{"position":[[4444,10]]},"1188":{"position":[[9170,10]]},"1191":{"position":[[3031,10]]},"1192":{"position":[[3206,10]]},"1193":{"position":[[3258,10]]},"1194":{"position":[[2898,10]]},"1195":{"position":[[2876,10]]},"1196":{"position":[[2686,10]]},"1197":{"position":[[3669,10]]},"1198":{"position":[[3679,10]]},"1199":{"position":[[3707,10]]},"1200":{"position":[[3574,10]]},"1201":{"position":[[2834,10]]},"1202":{"position":[[3976,10],[8373,10]]},"1203":{"position":[[3068,10]]},"1204":{"position":[[2912,10]]},"1205":{"position":[[4241,10]]},"1206":{"position":[[2712,10]]},"1207":{"position":[[2869,10]]},"1209":{"position":[[4217,10]]},"1217":{"position":[[298,10],[7528,10]]},"1222":{"position":[[2638,10]]},"1223":{"position":[[2648,10]]},"1226":{"position":[[4231,10],[4449,10],[4639,10],[7996,10]]},"1228":{"position":[[202,10],[9609,10]]},"1235":{"position":[[5477,10]]},"1237":{"position":[[4401,10],[4619,10],[4809,10],[8166,10]]},"1346":{"position":[[585,10]]},"1351":{"position":[[2154,10],[2536,10]]},"1355":{"position":[[4565,10],[4709,10]]},"1362":{"position":[[4943,8],[5006,10],[13138,8]]},"1364":{"position":[[4969,8],[5033,10],[13838,8]]},"1367":{"position":[[13046,8]]},"1373":{"position":[[4025,10],[4202,10],[4282,10]]},"1381":{"position":[[1650,10]]},"1382":{"position":[[7236,10],[11500,8]]},"1384":{"position":[[9609,10],[19154,8],[21300,10]]},"1385":{"position":[[7078,8]]},"1387":{"position":[[10451,8]]},"1388":{"position":[[4667,10],[8105,10],[9993,8]]},"1393":{"position":[[6499,10],[7469,10],[8539,8]]},"1394":{"position":[[1676,10]]},"1395":{"position":[[2723,10]]},"1396":{"position":[[1576,10]]},"1397":{"position":[[2274,10]]},"1398":{"position":[[3432,10],[3532,10],[3701,10],[4415,10]]},"1405":{"position":[[2160,10],[2409,10]]},"1407":{"position":[[2201,10],[2463,8],[2830,10]]},"1408":{"position":[[1870,10],[1947,10]]},"1410":{"position":[[2602,10],[2853,10]]},"1412":{"position":[[3061,10]]},"1416":{"position":[[2534,10]]},"1422":{"position":[[3768,10]]},"1423":{"position":[[2538,10]]},"1427":{"position":[[3710,10],[7441,10]]},"1429":{"position":[[5099,9]]},"1439":{"position":[[4392,10],[8267,10]]},"1440":{"position":[[5093,9]]},"1442":{"position":[[2873,8]]},"1446":{"position":[[2441,10]]},"1448":{"position":[[1936,10]]},"1449":{"position":[[1870,10]]},"1462":{"position":[[6154,10],[6439,10]]},"1467":{"position":[[7267,10],[7554,10]]},"1469":{"position":[[2350,10]]},"1470":{"position":[[4302,10]]},"1471":{"position":[[3942,10],[4997,10]]},"1472":{"position":[[3417,10],[4526,10],[5498,10]]},"1473":{"position":[[4263,10],[5447,10]]},"1485":{"position":[[4364,8]]}},"keywords":{}}],["addition",{"_index":442,"title":{},"content":{"15":{"position":[[79,13]]},"18":{"position":[[319,13]]},"297":{"position":[[684,12]]},"559":{"position":[[369,12]]},"587":{"position":[[674,12]]},"969":{"position":[[255,13]]},"1113":{"position":[[491,12]]},"1138":{"position":[[4881,12],[5770,13]]},"1140":{"position":[[612,12],[4370,12]]},"1148":{"position":[[3120,13]]},"1150":{"position":[[146,12]]},"1167":{"position":[[5374,12]]},"1186":{"position":[[1344,13]]},"1187":{"position":[[1357,13]]},"1188":{"position":[[665,12],[4423,12],[6083,13]]},"1197":{"position":[[582,13]]},"1198":{"position":[[592,13]]},"1199":{"position":[[620,13]]},"1200":{"position":[[487,13]]},"1217":{"position":[[4115,12]]},"1228":{"position":[[6196,12]]},"1360":{"position":[[1542,13]]},"1383":{"position":[[4944,13]]},"1398":{"position":[[3957,13]]}},"keywords":{}}],["addition/subtract",{"_index":2477,"title":{"858":{"position":[[4,20]]}},"content":{"498":{"position":[[71,21]]}},"keywords":{}}],["additional_aapt_param",{"_index":6418,"title":{},"content":{"1350":{"position":[[697,23]]},"1352":{"position":[[697,23]]}},"keywords":{}}],["additional_coverage_target",{"_index":7307,"title":{},"content":{"1388":{"position":[[439,28]]},"1467":{"position":[[583,28]]}},"keywords":{}}],["address",{"_index":3433,"title":{},"content":{"685":{"position":[[93,7]]},"724":{"position":[[1003,11],[1225,11]]},"1345":{"position":[[128,7],[179,7],[231,7],[255,11]]}},"keywords":{}}],["adef",{"_index":4234,"title":{},"content":{"890":{"position":[[3446,4]]}},"keywords":{}}],["adepend",{"_index":3603,"title":{},"content":{"693":{"position":[[9919,11]]}},"keywords":{}}],["adher",{"_index":2672,"title":{},"content":{"581":{"position":[[700,7]]}},"keywords":{}}],["adjac",{"_index":5708,"title":{},"content":{"1108":{"position":[[314,8]]}},"keywords":{}}],["adjust",{"_index":4281,"title":{},"content":{"892":{"position":[[1811,6]]}},"keywords":{}}],["admin",{"_index":479,"title":{},"content":{"16":{"position":[[70,5]]}},"keywords":{}}],["adotslash",{"_index":446,"title":{},"content":{"15":{"position":[[130,9]]}},"keywords":{}}],["advanc",{"_index":121,"title":{},"content":{"6":{"position":[[172,8]]},"22":{"position":[[2169,8]]},"890":{"position":[[3653,8]]}},"keywords":{}}],["advantag",{"_index":694,"title":{},"content":{"23":{"position":[[240,10],[317,11]]},"315":{"position":[[114,9]]},"687":{"position":[[144,9]]},"955":{"position":[[262,9],[1298,9],[1397,9]]},"961":{"position":[[144,10]]},"1105":{"position":[[2528,9]]},"1108":{"position":[[149,9]]}},"keywords":{}}],["advis",{"_index":7482,"title":{},"content":{"1393":{"position":[[6799,9]]}},"keywords":{}}],["affect",{"_index":3652,"title":{},"content":{"706":{"position":[[44,7]]},"937":{"position":[[1196,6],[1692,6]]},"1001":{"position":[[980,8]]},"1019":{"position":[[154,6]]},"1064":{"position":[[1080,8]]},"1370":{"position":[[2931,6]]},"1386":{"position":[[2377,6]]}},"keywords":{}}],["aforward(a",{"_index":4272,"title":{},"content":{"892":{"position":[[754,11]]}},"keywords":{}}],["afrozenheap",{"_index":4142,"title":{},"content":{"887":{"position":[[105,11]]},"889":{"position":[[669,11]]}},"keywords":{}}],["afrozenheapref",{"_index":4140,"title":{},"content":{"886":{"position":[[449,14]]}},"keywords":{}}],["afrozenheapref.a",{"_index":4147,"title":{},"content":{"887":{"position":[[394,16]]}},"keywords":{}}],["afterward",{"_index":2169,"title":{},"content":{"406":{"position":[[605,11]]},"785":{"position":[[605,11]]},"1386":{"position":[[2154,10]]}},"keywords":{}}],["ag",{"_index":6149,"title":{},"content":{"1232":{"position":[[3369,4]]}},"keywords":{}}],["again",{"_index":723,"title":{},"content":{"23":{"position":[[1315,6]]},"374":{"position":[[833,6]]},"704":{"position":[[2452,7]]},"753":{"position":[[833,6]]},"1037":{"position":[[387,6]]},"1046":{"position":[[178,5]]},"1079":{"position":[[1150,5]]},"1167":{"position":[[1710,6]]},"1360":{"position":[[5864,6]]}},"keywords":{}}],["against",{"_index":1817,"title":{},"content":{"334":{"position":[[539,7]]},"418":{"position":[[585,7]]},"474":{"position":[[278,7]]},"678":{"position":[[121,7]]},"797":{"position":[[585,7]]},"905":{"position":[[553,7]]},"937":{"position":[[3101,7]]},"944":{"position":[[487,7]]},"1024":{"position":[[1211,7]]},"1269":{"position":[[53,7],[107,7]]},"1300":{"position":[[53,7],[107,7]]},"1328":{"position":[[53,7],[107,7]]},"1351":{"position":[[843,8]]},"1353":{"position":[[2571,7]]},"1355":{"position":[[2242,7],[3443,7],[3538,7]]},"1358":{"position":[[3185,7]]},"1362":{"position":[[11401,7],[11734,7],[12210,7]]},"1364":{"position":[[8356,7],[12368,7],[12715,7]]},"1367":{"position":[[11771,7],[12118,7]]},"1373":{"position":[[6423,7],[6755,7],[7250,7]]},"1382":{"position":[[3190,7],[8270,7],[8620,7],[9075,7],[9571,7],[9926,7]]},"1384":{"position":[[7547,7],[7961,7],[8542,7],[9125,7],[14615,7],[14965,7],[15420,7],[15916,7],[16271,7]]},"1385":{"position":[[4500,7],[4849,7],[5303,7],[5798,7],[6152,7]]},"1387":{"position":[[7873,7],[8222,7],[8676,7],[9171,7],[9525,7]]},"1388":{"position":[[3492,7]]},"1415":{"position":[[4382,7],[4714,7]]},"1416":{"position":[[3238,7]]},"1420":{"position":[[2375,7]]},"1429":{"position":[[6191,7]]},"1439":{"position":[[3264,7],[3359,7]]},"1448":{"position":[[2321,7]]},"1449":{"position":[[2255,7]]},"1454":{"position":[[5947,7],[6360,7],[6913,7],[8083,7],[8395,7],[8715,7]]},"1455":{"position":[[2718,7]]},"1462":{"position":[[8238,7]]},"1465":{"position":[[3276,7],[3687,7]]},"1467":{"position":[[9300,7],[9545,7]]},"1485":{"position":[[2884,7],[4966,7]]}},"keywords":{}}],["aggreg",{"_index":2682,"title":{},"content":{"582":{"position":[[303,9]]},"937":{"position":[[371,10]]},"956":{"position":[[67,10]]},"1086":{"position":[[8,9]]},"1112":{"position":[[1536,11]]},"1178":{"position":[[630,9],[647,10]]},"1179":{"position":[[556,9],[573,10]]},"1284":{"position":[[533,11]]},"1315":{"position":[[533,11]]},"1343":{"position":[[533,11]]},"1446":{"position":[[2511,9]]}},"keywords":{}}],["agnost",{"_index":708,"title":{},"content":{"23":{"position":[[835,8]]},"715":{"position":[[192,9]]},"1487":{"position":[[699,8]]}},"keywords":{}}],["ahead",{"_index":300,"title":{},"content":{"9":{"position":[[2681,5]]}},"keywords":{}}],["aidl",{"_index":7663,"title":{},"content":{"1402":{"position":[[402,5],[721,5],[1602,5],[1659,5],[1682,4],[1817,4],[1870,4],[1946,4],[2057,4],[2193,10],[2326,7],[2334,4]]}},"keywords":{}}],["aidl_src",{"_index":7664,"title":{},"content":{"1402":{"position":[[413,10]]}},"keywords":{}}],["aim",{"_index":655,"title":{},"content":{"22":{"position":[[834,4]]},"977":{"position":[[595,6]]}},"keywords":{}}],["ajava_binari",{"_index":3417,"title":{},"content":{"681":{"position":[[570,12]]}},"keywords":{}}],["ajava_librari",{"_index":3413,"title":{},"content":{"681":{"position":[[339,13],[376,13],[598,13]]}},"keywords":{}}],["aka",{"_index":724,"title":{},"content":{"23":{"position":[[1343,4]]}},"keywords":{}}],["al",{"_index":4464,"title":{},"content":{"911":{"position":[[131,3]]}},"keywords":{}}],["albeit",{"_index":6100,"title":{},"content":{"1231":{"position":[[771,6]]}},"keywords":{}}],["algorithm",{"_index":2985,"title":{"1253":{"position":[[0,15]]}},"content":{"616":{"position":[[539,10]]},"666":{"position":[[209,9]]},"975":{"position":[[296,9]]},"977":{"position":[[212,9]]},"1226":{"position":[[1588,10],[1622,9]]},"1237":{"position":[[1758,10],[1792,9]]}},"keywords":{}}],["alia",{"_index":1386,"title":{"586":{"position":[[0,8]]},"992":{"position":[[0,5]]},"993":{"position":[[0,6]]}},"content":{"143":{"position":[[87,5]]},"266":{"position":[[87,5]]},"587":{"position":[[305,5]]},"676":{"position":[[179,7]]},"693":{"position":[[8927,7]]},"700":{"position":[[198,6]]},"940":{"position":[[1032,7]]},"969":{"position":[[106,6],[140,5]]},"991":{"position":[[3167,6],[3232,5],[3532,5]]},"993":{"position":[[4,5],[304,6]]},"995":{"position":[[773,5],[1046,5],[1295,5]]},"1052":{"position":[[1207,5],[1409,5]]},"1054":{"position":[[1016,5]]},"1093":{"position":[[567,6]]},"1209":{"position":[[0,5]]},"1226":{"position":[[0,5],[284,5]]},"1237":{"position":[[454,5]]},"1370":{"position":[[2770,8]]},"1384":{"position":[[20394,5]]},"1438":{"position":[[1673,5]]},"1471":{"position":[[4811,5]]},"1472":{"position":[[3762,5],[5395,5]]},"1473":{"position":[[5132,5]]},"1483":{"position":[[412,5]]}},"keywords":{}}],["alias",{"_index":1487,"title":{"700":{"position":[[7,8]]}},"content":{"242":{"position":[[84,8],[253,7],[277,7],[346,7],[389,7],[428,7]]},"443":{"position":[[54,7]]},"580":{"position":[[437,8]]},"586":{"position":[[50,8],[124,7]]},"676":{"position":[[37,7],[70,7]]},"700":{"position":[[36,7],[69,7],[160,7]]},"822":{"position":[[54,7]]},"940":{"position":[[906,7],[953,8],[997,7]]},"941":{"position":[[301,7]]},"942":{"position":[[311,7]]},"991":{"position":[[3299,8]]},"993":{"position":[[106,7],[213,7]]},"994":{"position":[[116,7]]},"995":{"position":[[117,7],[464,7]]},"1191":{"position":[[151,7],[175,7],[326,7],[361,7],[400,7]]},"1226":{"position":[[347,7]]},"1237":{"position":[[517,7]]},"1483":{"position":[[1333,8]]}},"keywords":{}}],["alias]app",{"_index":2725,"title":{},"content":{"586":{"position":[[59,10]]}},"keywords":{}}],["aliases_to_resolv",{"_index":1486,"title":{},"content":{"242":{"position":[[27,19],[219,18]]}},"keywords":{}}],["align",{"_index":2821,"title":{},"content":{"595":{"position":[[1302,10]]}},"keywords":{}}],["aliv",{"_index":4138,"title":{},"content":{"886":{"position":[[335,6],[560,6]]},"889":{"position":[[166,6]]}},"keywords":{}}],["all([0",{"_index":3059,"title":{},"content":{"628":{"position":[[169,7],[225,7],[246,7]]}},"keywords":{}}],["all([1",{"_index":3058,"title":{},"content":{"628":{"position":[[126,7],[149,7],[295,7]]}},"keywords":{}}],["all([tru",{"_index":3060,"title":{},"content":{"628":{"position":[[196,10],[271,10]]}},"keywords":{}}],["all(x",{"_index":3056,"title":{},"content":{"628":{"position":[[4,6]]}},"keywords":{}}],["all:src:9.2.10.v20150310",{"_index":8389,"title":{},"content":{"1469":{"position":[[3039,26],[3374,26]]}},"keywords":{}}],["all_actions(target",{"_index":6301,"title":{"1287":{"position":[[0,20]]}},"content":{"1285":{"position":[[131,20]]}},"keywords":{}}],["all_outputs(target",{"_index":6300,"title":{"1286":{"position":[[0,20]]}},"content":{"1285":{"position":[[0,20]]}},"keywords":{}}],["all_plugin",{"_index":1321,"title":{},"content":{"121":{"position":[[13,11]]},"131":{"position":[[132,11]]},"254":{"position":[[132,11]]},"530":{"position":[[13,11]]}},"keywords":{}}],["all_target",{"_index":5190,"title":{},"content":{"1044":{"position":[[1856,11]]}},"keywords":{}}],["all_targets.anon_targets[0].artifact("hello"",{"_index":5191,"title":{},"content":{"1044":{"position":[[1947,55]]}},"keywords":{}}],["all_targets.anon_targets[1].artifact("goodbye"",{"_index":5193,"title":{},"content":{"1044":{"position":[[2013,57]]}},"keywords":{}}],["all_test",{"_index":8516,"title":{},"content":{"1482":{"position":[[1848,9],[3014,12]]}},"keywords":{}}],["allbuildfiles(univers",{"_index":6243,"title":{"1267":{"position":[[0,23]]},"1298":{"position":[[0,23]]},"1326":{"position":[[0,23]]}},"content":{"1259":{"position":[[657,23]]},"1290":{"position":[[657,23]]},"1318":{"position":[[657,23]]}},"keywords":{}}],["alldef",{"_index":4042,"title":{},"content":{"867":{"position":[[1941,12]]}},"keywords":{}}],["alloc",{"_index":1024,"title":{"1251":{"position":[[11,10]]},"1252":{"position":[[7,10]]},"1255":{"position":[[0,10]]}},"content":{"83":{"position":[[47,8]]},"215":{"position":[[47,8]]},"444":{"position":[[83,9]]},"823":{"position":[[83,9]]},"886":{"position":[[93,9],[171,9]]},"887":{"position":[[90,10],[188,9]]},"888":{"position":[[499,8],[563,9],[698,10],[895,9]]},"892":{"position":[[629,8]]},"1056":{"position":[[275,9],[364,9],[482,10],[578,11],[903,10]]},"1057":{"position":[[39,10],[100,11],[259,6],[820,9],[925,9],[1320,10]]},"1059":{"position":[[82,12]]},"1148":{"position":[[7376,10],[7421,10]]},"1186":{"position":[[506,10],[801,10],[818,9],[928,10],[973,10]]},"1187":{"position":[[519,10],[814,10],[831,9],[941,10],[986,10]]},"1188":{"position":[[5245,10],[5540,10],[5557,9],[5667,10],[5712,10]]},"1251":{"position":[[64,10]]},"1252":{"position":[[88,9],[148,8]]},"1253":{"position":[[98,10]]},"1254":{"position":[[70,8],[241,10]]},"1255":{"position":[[28,10],[426,10]]}},"keywords":{}}],["allocated.a",{"_index":4152,"title":{},"content":{"887":{"position":[[510,11]]}},"keywords":{}}],["allow",{"_index":146,"title":{"699":{"position":[[30,7]]}},"content":{"7":{"position":[[198,6]]},"90":{"position":[[97,6]]},"92":{"position":[[318,6],[1872,5]]},"94":{"position":[[2792,5],[3225,5]]},"222":{"position":[[97,6]]},"224":{"position":[[318,6],[1872,5]]},"226":{"position":[[2792,5],[3225,5]]},"362":{"position":[[2101,5],[2162,5]]},"389":{"position":[[274,5]]},"406":{"position":[[71,6]]},"580":{"position":[[379,5]]},"693":{"position":[[3141,5],[4079,5],[4646,6],[4729,6],[9877,6]]},"710":{"position":[[91,5]]},"711":{"position":[[1228,5]]},"715":{"position":[[1445,5]]},"741":{"position":[[2101,5],[2162,5]]},"768":{"position":[[274,5]]},"785":{"position":[[71,6]]},"869":{"position":[[448,5],[717,6]]},"900":{"position":[[1770,6],[1823,6]]},"919":{"position":[[54,6],[912,5],[1165,7],[1716,5]]},"924":{"position":[[640,6]]},"937":{"position":[[3375,8]]},"944":{"position":[[53,5],[553,8]]},"945":{"position":[[358,6]]},"949":{"position":[[100,6]]},"950":{"position":[[4,6]]},"951":{"position":[[451,5],[1153,5]]},"955":{"position":[[319,8],[493,8]]},"958":{"position":[[265,5]]},"959":{"position":[[70,6],[276,5]]},"961":{"position":[[158,8],[245,8]]},"962":{"position":[[53,8],[152,5]]},"970":{"position":[[174,7]]},"990":{"position":[[1339,5]]},"991":{"position":[[1289,5],[3423,5]]},"1027":{"position":[[48,5]]},"1040":{"position":[[809,8],[1974,5]]},"1070":{"position":[[524,5],[686,5],[725,5]]},"1071":{"position":[[1193,6]]},"1072":{"position":[[353,6]]},"1077":{"position":[[77,6],[151,5]]},"1097":{"position":[[292,6]]},"1120":{"position":[[263,5]]},"1161":{"position":[[267,5]]},"1172":{"position":[[1062,5],[1119,5]]},"1173":{"position":[[362,5],[419,5]]},"1174":{"position":[[266,5],[323,5]]},"1175":{"position":[[286,5],[343,5]]},"1176":{"position":[[370,5],[427,5]]},"1177":{"position":[[282,5],[339,5]]},"1178":{"position":[[436,5],[493,5]]},"1179":{"position":[[302,5],[359,5]]},"1180":{"position":[[632,5],[689,5]]},"1181":{"position":[[34,6],[387,5],[444,5]]},"1182":{"position":[[324,5],[381,5]]},"1183":{"position":[[279,5],[336,5]]},"1219":{"position":[[54,6],[682,5]]},"1228":{"position":[[992,5],[1026,5],[1149,5],[1548,7]]},"1355":{"position":[[3401,6]]},"1362":{"position":[[6230,5],[6351,6],[13455,5]]},"1364":{"position":[[6259,5],[6380,6],[14155,5]]},"1366":{"position":[[2794,6]]},"1367":{"position":[[7657,5],[7778,6],[13363,5]]},"1373":{"position":[[3786,5],[3907,6]]},"1381":{"position":[[1905,6],[2368,6]]},"1382":{"position":[[4142,5],[4263,6]]},"1384":{"position":[[5304,5],[5425,6]]},"1387":{"position":[[6512,5]]},"1388":{"position":[[4442,5],[4563,6]]},"1389":{"position":[[5306,5],[5413,6],[5553,5],[5660,6]]},"1393":{"position":[[2226,6],[4050,6],[4386,6],[6485,6],[6633,6],[7312,6],[7452,6]]},"1394":{"position":[[1662,6]]},"1395":{"position":[[1792,6],[2709,6]]},"1396":{"position":[[1562,6]]},"1397":{"position":[[2260,6]]},"1398":{"position":[[1263,6],[3238,6],[3687,6],[4258,6],[4398,6],[5581,6]]},"1429":{"position":[[4180,6]]},"1439":{"position":[[3222,6],[6714,5]]},"1440":{"position":[[4173,6]]},"1454":{"position":[[4251,5],[4372,6]]},"1461":{"position":[[2529,5]]},"1462":{"position":[[5264,5],[5385,6],[6016,5]]},"1465":{"position":[[2988,5]]},"1467":{"position":[[7128,5]]},"1468":{"position":[[1406,5]]},"1471":{"position":[[2810,5],[2931,6],[4610,6]]},"1472":{"position":[[3561,6],[5194,6]]},"1473":{"position":[[4931,6]]},"1486":{"position":[[2280,5]]},"1487":{"position":[[645,6],[2152,6]]}},"keywords":{}}],["allow_arg",{"_index":1250,"title":{},"content":{"98":{"position":[[345,11]]},"230":{"position":[[345,11]]}},"keywords":{}}],["allow_cache_upload",{"_index":1181,"title":{},"content":{"94":{"position":[[879,19]]},"226":{"position":[[879,19]]},"362":{"position":[[599,20]]},"741":{"position":[[599,20]]},"1362":{"position":[[545,19],[6199,19]]},"1364":{"position":[[598,19],[6228,19]]},"1367":{"position":[[1428,19],[7626,19]]},"1373":{"position":[[535,19]]},"1382":{"position":[[371,19],[4111,19]]},"1384":{"position":[[411,19],[5273,19]]},"1387":{"position":[[435,19]]},"1388":{"position":[[483,19],[4411,19]]},"1454":{"position":[[386,19]]},"1462":{"position":[[523,19]]},"1471":{"position":[[455,19],[2779,19]]}},"keywords":{}}],["allow_dep_file_cache_upload",{"_index":1182,"title":{},"content":{"94":{"position":[[913,28]]},"226":{"position":[[913,28]]}},"keywords":{}}],["allow_directori",{"_index":1389,"title":{},"content":{"145":{"position":[[21,16]]},"268":{"position":[[21,16]]}},"keywords":{}}],["allow_embed",{"_index":7292,"title":{},"content":{"1387":{"position":[[472,16]]}},"keywords":{}}],["allow_hybrid_fallbacks_on_failur",{"_index":1882,"title":{},"content":{"362":{"position":[[469,34]]},"741":{"position":[[469,34]]}},"keywords":{}}],["allow_limited_hybrid_fallback",{"_index":1881,"title":{},"content":{"362":{"position":[[423,31]]},"741":{"position":[[423,31]]}},"keywords":{}}],["allow_r_dot_java_in_secondary_dex",{"_index":6419,"title":{},"content":{"1350":{"position":[[736,34]]},"1352":{"position":[[736,34]]}},"keywords":{}}],["allow_suffix",{"_index":7293,"title":{},"content":{"1387":{"position":[[499,16]]}},"keywords":{}}],["allowed_duplicate_resource_typ",{"_index":6420,"title":{},"content":{"1350":{"position":[[781,33]]},"1352":{"position":[[781,33]]}},"keywords":{}}],["allowlist",{"_index":4479,"title":{},"content":{"919":{"position":[[189,9],[273,9]]}},"keywords":{}}],["allowlisted_local",{"_index":6631,"title":{},"content":{"1359":{"position":[[395,20]]}},"keywords":{}}],["allpath",{"_index":1773,"title":{},"content":{"324":{"position":[[539,8]]},"465":{"position":[[301,8]]},"1260":{"position":[[447,10],[695,10]]},"1291":{"position":[[447,10],[695,10]]},"1319":{"position":[[447,10],[695,10]]}},"keywords":{}}],["allpaths(from",{"_index":6234,"title":{"1260":{"position":[[0,14]]},"1291":{"position":[[0,14]]},"1319":{"position":[[0,14]]}},"content":{"1259":{"position":[[0,14]]},"1260":{"position":[[35,14]]},"1290":{"position":[[0,14]]},"1291":{"position":[[35,14]]},"1318":{"position":[[0,14]]},"1319":{"position":[[35,14]]}},"keywords":{}}],["along",{"_index":2591,"title":{},"content":{"567":{"position":[[182,5]]},"1025":{"position":[[286,5]]},"1398":{"position":[[4018,5],[5334,5]]},"1415":{"position":[[2498,5]]},"1471":{"position":[[4012,5]]},"1472":{"position":[[4596,5]]},"1473":{"position":[[4333,5]]}},"keywords":{}}],["alreadi",{"_index":223,"title":{},"content":{"9":{"position":[[1100,7],[2673,7]]},"11":{"position":[[507,7]]},"99":{"position":[[1263,7]]},"231":{"position":[[1263,7]]},"438":{"position":[[73,7]]},"444":{"position":[[145,7]]},"451":{"position":[[178,7]]},"706":{"position":[[1941,7]]},"817":{"position":[[73,7]]},"823":{"position":[[145,7]]},"830":{"position":[[178,7]]},"861":{"position":[[418,7]]},"919":{"position":[[1510,7]]},"938":{"position":[[30,7]]},"955":{"position":[[763,7]]},"977":{"position":[[278,7]]},"991":{"position":[[3180,7]]},"1044":{"position":[[2254,7]]},"1046":{"position":[[89,7]]},"1070":{"position":[[742,7]]},"1077":{"position":[[242,7]]},"1078":{"position":[[325,7]]},"1083":{"position":[[1239,7]]},"1084":{"position":[[168,7]]},"1088":{"position":[[107,7]]},"1108":{"position":[[20,7]]},"1113":{"position":[[331,8]]},"1172":{"position":[[806,7]]},"1399":{"position":[[1947,7]]},"1458":{"position":[[2164,7]]}},"keywords":{}}],["alter",{"_index":5059,"title":{},"content":{"1015":{"position":[[140,7]]},"1386":{"position":[[5658,5]]}},"keywords":{}}],["altern",{"_index":1379,"title":{"932":{"position":[[0,13]]}},"content":{"139":{"position":[[106,11]]},"262":{"position":[[106,11]]},"587":{"position":[[713,11]]},"724":{"position":[[1768,14]]},"990":{"position":[[1101,14]]},"1095":{"position":[[188,11]]},"1113":{"position":[[288,12]]},"1120":{"position":[[269,9]]},"1136":{"position":[[2218,11]]},"1148":{"position":[[2574,11]]},"1209":{"position":[[1451,11]]},"1235":{"position":[[2711,11]]},"1362":{"position":[[13612,9]]},"1364":{"position":[[14312,9]]}},"keywords":{}}],["although",{"_index":653,"title":{},"content":{"22":{"position":[[773,9]]},"276":{"position":[[376,8]]},"277":{"position":[[324,8]]},"281":{"position":[[456,8]]},"282":{"position":[[406,8]]},"577":{"position":[[0,8]]},"675":{"position":[[294,8]]},"680":{"position":[[1245,8]]},"685":{"position":[[0,8]]},"693":{"position":[[2285,8]]},"889":{"position":[[980,8]]},"919":{"position":[[988,8]]},"924":{"position":[[2394,8]]},"942":{"position":[[438,8]]},"1017":{"position":[[939,9]]},"1398":{"position":[[2903,8],[5049,8]]}},"keywords":{}}],["altogeth",{"_index":3785,"title":{},"content":{"715":{"position":[[1172,11]]}},"keywords":{}}],["alway",{"_index":789,"title":{"682":{"position":[[26,6]]}},"content":{"24":{"position":[[408,6]]},"123":{"position":[[89,6]]},"133":{"position":[[243,6]]},"256":{"position":[[243,6]]},"300":{"position":[[307,6]]},"418":{"position":[[1044,6]]},"433":{"position":[[149,6]]},"446":{"position":[[280,6]]},"532":{"position":[[89,6]]},"675":{"position":[[312,6]]},"690":{"position":[[86,6]]},"693":{"position":[[2255,6]]},"705":{"position":[[731,6]]},"706":{"position":[[476,6],[916,6],[974,6],[1725,6],[1934,6],[2289,6]]},"715":{"position":[[2006,6]]},"722":{"position":[[891,6]]},"797":{"position":[[1044,6]]},"812":{"position":[[149,6]]},"825":{"position":[[280,6]]},"836":{"position":[[45,6]]},"865":{"position":[[376,6],[708,6]]},"867":{"position":[[38,6]]},"877":{"position":[[326,6]]},"890":{"position":[[1810,6],[6795,6],[6854,6]]},"905":{"position":[[540,6]]},"919":{"position":[[1245,6],[2518,6]]},"937":{"position":[[1641,6],[3820,6]]},"943":{"position":[[2038,6]]},"944":{"position":[[1365,6]]},"947":{"position":[[1048,6]]},"950":{"position":[[805,6]]},"1069":{"position":[[260,6]]},"1075":{"position":[[195,6]]},"1112":{"position":[[702,6]]},"1114":{"position":[[579,6],[1076,6]]},"1124":{"position":[[35,6]]},"1125":{"position":[[17,6]]},"1126":{"position":[[200,6]]},"1136":{"position":[[4239,7]]},"1138":{"position":[[7901,7]]},"1140":{"position":[[6827,7]]},"1142":{"position":[[2271,7]]},"1146":{"position":[[2211,7]]},"1148":{"position":[[5251,7]]},"1155":{"position":[[2307,7]]},"1156":{"position":[[1885,7]]},"1167":{"position":[[7831,7]]},"1169":{"position":[[1670,7]]},"1186":{"position":[[3475,7]]},"1187":{"position":[[3488,7]]},"1188":{"position":[[8214,7]]},"1191":{"position":[[2075,7]]},"1192":{"position":[[2250,7]]},"1193":{"position":[[2302,7]]},"1194":{"position":[[1942,7]]},"1195":{"position":[[1920,7]]},"1196":{"position":[[1730,7]]},"1197":{"position":[[2713,7]]},"1198":{"position":[[2723,7]]},"1199":{"position":[[2751,7]]},"1200":{"position":[[2618,7]]},"1201":{"position":[[1878,7]]},"1202":{"position":[[3020,7],[7417,7]]},"1203":{"position":[[2112,7]]},"1204":{"position":[[1956,7]]},"1205":{"position":[[3285,7]]},"1206":{"position":[[1756,7]]},"1207":{"position":[[1913,7]]},"1209":{"position":[[3261,7]]},"1217":{"position":[[6572,7]]},"1219":{"position":[[2558,7]]},"1222":{"position":[[1682,7]]},"1223":{"position":[[1692,7]]},"1224":{"position":[[1872,7]]},"1226":{"position":[[7040,7]]},"1228":{"position":[[622,7],[801,6],[827,6],[8653,7]]},"1232":{"position":[[3632,6]]},"1235":{"position":[[4521,7]]},"1237":{"position":[[7210,7]]},"1358":{"position":[[2761,6]]},"1360":{"position":[[4319,6]]},"1383":{"position":[[6352,6]]},"1386":{"position":[[5417,6]]},"1393":{"position":[[1266,6]]},"1394":{"position":[[715,6]]},"1395":{"position":[[3213,6]]},"1403":{"position":[[3734,6]]},"1422":{"position":[[2232,6]]}},"keywords":{}}],["always_print_stderr",{"_index":1175,"title":{},"content":{"94":{"position":[[674,20]]},"226":{"position":[[674,20]]},"1360":{"position":[[490,20]]},"1383":{"position":[[439,20]]},"1403":{"position":[[410,20]]},"1424":{"position":[[416,20]]},"1432":{"position":[[463,20]]}},"keywords":{}}],["amawher",{"_index":81,"title":{},"content":{"5":{"position":[[79,8]]}},"keywords":{}}],["amaz",{"_index":8619,"title":{},"content":{"1487":{"position":[[3461,8]]}},"keywords":{}}],["ambigu",{"_index":7484,"title":{},"content":{"1393":{"position":[[6897,10]]}},"keywords":{}}],["amend",{"_index":5311,"title":{},"content":{"1050":{"position":[[4311,8],[4674,5]]}},"keywords":{}}],["amongst",{"_index":6175,"title":{},"content":{"1243":{"position":[[323,7]]}},"keywords":{}}],["amort",{"_index":8556,"title":{},"content":{"1486":{"position":[[738,8]]}},"keywords":{}}],["amount",{"_index":4063,"title":{},"content":{"870":{"position":[[807,6]]},"981":{"position":[[696,6]]},"1177":{"position":[[476,6]]},"1247":{"position":[[27,6]]},"1354":{"position":[[2912,6]]},"1388":{"position":[[10139,6]]},"1392":{"position":[[2263,6]]},"1410":{"position":[[5362,6]]},"1429":{"position":[[5859,6]]},"1440":{"position":[[5759,6]]},"1467":{"position":[[10381,6]]}},"keywords":{}}],["amp",{"_index":116,"title":{},"content":{"6":{"position":[[86,5]]}},"keywords":{}}],["amp;&",{"_index":7684,"title":{},"content":{"1403":{"position":[[5756,10]]},"1407":{"position":[[5095,10]]}},"keywords":{}}],["amp;'v",{"_index":4181,"title":{},"content":{"889":{"position":[[301,7]]}},"keywords":{}}],["amp;frozenmodul",{"_index":4180,"title":{},"content":{"889":{"position":[[278,18]]}},"keywords":{}}],["amp;ltn>",{"_index":8602,"title":{},"content":{"1486":{"position":[[5611,13],[5856,13]]}},"keywords":{}}],["analog",{"_index":4530,"title":{},"content":{"924":{"position":[[670,9]]},"1405":{"position":[[2237,6]]},"1407":{"position":[[2658,6]]},"1410":{"position":[[2680,6]]}},"keywords":{}}],["analys",{"_index":3841,"title":{},"content":{"837":{"position":[[148,9]]}},"keywords":{}}],["analysi",{"_index":380,"title":{"722":{"position":[[9,9]]},"845":{"position":[[0,9]]},"852":{"position":[[26,9]]},"853":{"position":[[32,9]]},"854":{"position":[[33,9]]},"874":{"position":[[14,9]]},"922":{"position":[[27,8]]},"1017":{"position":[[30,9]]},"1186":{"position":[[13,9]]},"1199":{"position":[[11,8]]}},"content":{"11":{"position":[[571,8]]},"81":{"position":[[194,9]]},"84":{"position":[[202,8]]},"89":{"position":[[193,8]]},"92":{"position":[[405,8],[2131,8],[2354,8]]},"205":{"position":[[82,8]]},"207":{"position":[[79,8]]},"209":{"position":[[39,8]]},"213":{"position":[[194,9]]},"216":{"position":[[202,8]]},"221":{"position":[[193,8]]},"224":{"position":[[405,8],[2131,8],[2354,8]]},"233":{"position":[[70,8],[238,8]]},"236":{"position":[[443,8]]},"294":{"position":[[479,8],[728,8],[1288,8]]},"298":{"position":[[843,8]]},"710":{"position":[[375,8]]},"711":{"position":[[981,8]]},"715":{"position":[[1802,9]]},"721":{"position":[[64,8]]},"722":{"position":[[7,8]]},"835":{"position":[[247,8]]},"840":{"position":[[1328,9]]},"845":{"position":[[12,8],[62,8]]},"846":{"position":[[1885,8]]},"847":{"position":[[279,8],[344,8]]},"848":{"position":[[779,9]]},"852":{"position":[[14,11]]},"853":{"position":[[14,11]]},"872":{"position":[[609,8]]},"873":{"position":[[481,8]]},"874":{"position":[[19,8],[61,8]]},"876":{"position":[[146,8]]},"882":{"position":[[72,8]]},"924":{"position":[[276,8],[410,8],[474,8],[1207,8],[1887,8],[2384,9]]},"929":{"position":[[282,9]]},"963":{"position":[[58,8]]},"988":{"position":[[190,8]]},"989":{"position":[[310,8]]},"990":{"position":[[514,9]]},"991":{"position":[[963,8],[1180,8],[1439,8],[2172,8],[2465,8]]},"1017":{"position":[[138,8],[835,8],[889,10]]},"1021":{"position":[[631,8],[718,8]]},"1026":{"position":[[7,9],[740,8]]},"1046":{"position":[[504,8]]},"1049":{"position":[[388,9]]},"1056":{"position":[[87,8],[335,8]]},"1185":{"position":[[87,8],[104,8]]},"1186":{"position":[[8,8],[46,8],[188,8],[593,8],[789,9]]},"1187":{"position":[[201,8],[606,8],[802,9]]},"1188":{"position":[[5332,8],[5528,9]]},"1190":{"position":[[684,8],[712,8]]},"1199":{"position":[[11,8],[69,8]]},"1285":{"position":[[215,8]]},"1287":{"position":[[43,8]]}},"keywords":{}}],["analysis.artifact",{"_index":1128,"title":{},"content":{"92":{"position":[[981,18]]},"224":{"position":[[981,18]]}},"keywords":{}}],["analysis.output",{"_index":5137,"title":{},"content":{"1040":{"position":[[1083,16]]}},"keywords":{}}],["analysis_result",{"_index":1614,"title":{},"content":{"294":{"position":[[1178,15]]}},"keywords":{}}],["analysisact",{"_index":1865,"title":{"352":{"position":[[0,16]]},"731":{"position":[[0,16]]}},"content":{"352":{"position":[[0,16]]},"731":{"position":[[0,16]]}},"keywords":{}}],["analysisbuck2",{"_index":5353,"title":{},"content":{"1056":{"position":[[194,13]]}},"keywords":{}}],["analysiscontext",{"_index":1037,"title":{"353":{"position":[[0,16]]},"732":{"position":[[0,16]]}},"content":{"84":{"position":[[384,15]]},"216":{"position":[[384,15]]},"353":{"position":[[0,16]]},"437":{"position":[[329,16]]},"732":{"position":[[0,16]]},"816":{"position":[[329,16]]},"924":{"position":[[1936,15],[1958,15]]},"1044":{"position":[[3153,16]]},"1049":{"position":[[757,16],[1205,16]]},"1054":{"position":[[250,16],[1696,16]]},"1102":{"position":[[517,16]]},"1103":{"position":[[159,16]]}},"keywords":{}}],["analysisend",{"_index":5807,"title":{},"content":{"1126":{"position":[[1149,11]]}},"keywords":{}}],["analysisplugin",{"_index":991,"title":{},"content":{"74":{"position":[[17,15]]},"497":{"position":[[17,15]]}},"keywords":{}}],["analysisresult",{"_index":2105,"title":{},"content":{"402":{"position":[[52,14]]},"781":{"position":[[52,14]]},"923":{"position":[[193,14]]}},"keywords":{}}],["analysisstart",{"_index":5802,"title":{},"content":{"1126":{"position":[[856,13]]}},"keywords":{}}],["analyz",{"_index":2376,"title":{},"content":{"443":{"position":[[286,9],[382,9]]},"822":{"position":[[286,9],[382,9]]},"869":{"position":[[161,9]]},"870":{"position":[[440,9]]},"924":{"position":[[1372,9],[1605,11]]},"955":{"position":[[578,7]]},"964":{"position":[[918,9]]},"1017":{"position":[[323,8],[423,8]]},"1197":{"position":[[170,7]]},"1198":{"position":[[146,7]]},"1200":{"position":[[191,7]]},"1201":{"position":[[224,8]]}},"keywords":{}}],["anandroid_resourc",{"_index":6573,"title":{},"content":{"1355":{"position":[[7654,20]]}},"keywords":{}}],["anandroidmanifest.xml",{"_index":7688,"title":{},"content":{"1403":{"position":[[7434,21]]}},"keywords":{}}],["anartifact_promise_map",{"_index":5169,"title":{},"content":{"1042":{"position":[[489,27]]}},"keywords":{}}],["anatomi",{"_index":5470,"title":{"1067":{"position":[[0,7]]}},"content":{},"keywords":{}}],["ancestor",{"_index":972,"title":{},"content":{"69":{"position":[[369,8]]},"408":{"position":[[908,8]]},"457":{"position":[[369,8]]},"622":{"position":[[356,8],[468,10]]},"787":{"position":[[908,8]]}},"keywords":{}}],["anchor",{"_index":6812,"title":{},"content":{"1362":{"position":[[11350,8],[11719,8],[12159,8]]},"1364":{"position":[[8341,8],[12317,8],[12664,8]]},"1367":{"position":[[11720,8],[12067,8]]},"1373":{"position":[[6372,8],[6740,8],[7199,8]]},"1382":{"position":[[8219,8],[8569,8],[9060,8],[9520,8],[9875,8]]},"1384":{"position":[[7496,8],[7910,8],[8527,8],[9074,8],[14564,8],[14914,8],[15405,8],[15865,8],[16220,8],[19294,8]]},"1385":{"position":[[4449,8],[4798,8],[5288,8],[5747,8],[6101,8]]},"1387":{"position":[[7822,8],[8171,8],[8661,8],[9120,8],[9474,8]]},"1415":{"position":[[4331,8],[4699,8],[5271,8]]},"1416":{"position":[[3187,8]]},"1420":{"position":[[2324,8]]},"1448":{"position":[[2270,8]]},"1449":{"position":[[2204,8]]},"1454":{"position":[[5896,8],[6309,8],[6862,8],[8032,8],[8344,8],[8664,8],[9307,8]]},"1455":{"position":[[2667,8]]},"1465":{"position":[[3261,8],[3672,8]]},"1467":{"position":[[9530,8]]},"1485":{"position":[[2833,8]]}},"keywords":{}}],["and"socket_address"",{"_index":2046,"title":{},"content":{"377":{"position":[[1406,30]]},"756":{"position":[[1406,30]]}},"keywords":{}}],["and/or",{"_index":4008,"title":{},"content":{"867":{"position":[[200,6]]},"1167":{"position":[[977,6]]},"1245":{"position":[[235,6]]},"1415":{"position":[[5966,6]]}},"keywords":{}}],["and:p2_real",{"_index":4942,"title":{},"content":{"991":{"position":[[2397,12]]}},"keywords":{}}],["andanonym",{"_index":4054,"title":{},"content":{"869":{"position":[[648,12]]}},"keywords":{}}],["andapk_genrul",{"_index":5840,"title":{},"content":{"1132":{"position":[[365,15]]}},"keywords":{}}],["andattrs.exec_dep",{"_index":5069,"title":{},"content":{"1024":{"position":[[408,20]]}},"keywords":{}}],["andbuck",{"_index":3584,"title":{},"content":{"693":{"position":[[7923,7]]}},"keywords":{}}],["andbuck.execution_platform",{"_index":3500,"title":{},"content":{"690":{"position":[[2863,26]]}},"keywords":{}}],["andcqueri",{"_index":361,"title":{},"content":{"11":{"position":[[214,10]]},"690":{"position":[[629,9]]}},"keywords":{}}],["anddef",{"_index":5535,"title":{},"content":{"1079":{"position":[[399,11]]}},"keywords":{}}],["anddeps(//example:bar",{"_index":4405,"title":{},"content":{"904":{"position":[[660,22]]}},"keywords":{}}],["andfailur",{"_index":3877,"title":{},"content":{"844":{"position":[[104,13]]}},"keywords":{}}],["andfoo/bar/buck",{"_index":2244,"title":{},"content":{"418":{"position":[[715,15]]},"797":{"position":[[715,15]]}},"keywords":{}}],["andnix",{"_index":154,"title":{},"content":{"7":{"position":[[328,6]]}},"keywords":{}}],["andpackag",{"_index":4481,"title":{},"content":{"919":{"position":[[401,10]]}},"keywords":{}}],["andpulls_and_pushes_plugin",{"_index":4954,"title":{},"content":{"991":{"position":[[3477,28]]}},"keywords":{}}],["android",{"_index":3387,"title":{"955":{"position":[[0,7]]}},"content":{"678":{"position":[[133,7],[265,7]]},"693":{"position":[[7721,7]]},"708":{"position":[[210,7]]},"944":{"position":[[1330,7]]},"951":{"position":[[790,7]]},"955":{"position":[[0,7],[234,7],[1000,7]]},"980":{"position":[[1120,7]]},"1167":{"position":[[348,7],[505,8],[654,8],[778,7],[961,7],[1131,7],[1323,7],[1508,7]]},"1348":{"position":[[2683,7],[4455,7]]},"1351":{"position":[[994,7]]},"1353":{"position":[[1386,7]]},"1354":{"position":[[1222,7]]},"1355":{"position":[[2254,7],[4875,7],[7731,7]]},"1356":{"position":[[601,7]]},"1358":{"position":[[997,7],[2835,7]]},"1359":{"position":[[911,7],[1930,7]]},"1384":{"position":[[19488,8],[20605,7]]},"1429":{"position":[[3589,7]]},"1446":{"position":[[2194,7]]},"1454":{"position":[[10211,9],[10227,8],[10255,9],[10271,8],[10392,9],[10408,8],[10435,9],[10451,8]]},"1459":{"position":[[669,8],[2167,7]]},"1469":{"position":[[2539,8]]},"1470":{"position":[[4468,7]]}},"keywords":{}}],["android'",{"_index":6505,"title":{},"content":{"1353":{"position":[[2272,9]]}},"keywords":{}}],["android.mk",{"_index":8097,"title":{},"content":{"1446":{"position":[[625,10]]}},"keywords":{}}],["android:icon="@drawable/ic_launcher">",{"_index":6592,"title":{},"content":{"1356":{"position":[[2561,50]]}},"keywords":{}}],["android:label="@string/app_name"",{"_index":6591,"title":{},"content":{"1356":{"position":[[2518,42]]}},"keywords":{}}],["android:label="@string/app_name">",{"_index":6595,"title":{},"content":{"1356":{"position":[[2661,46]]}},"keywords":{}}],["android:name="android.intent.action.main"/>",{"_index":6599,"title":{},"content":{"1356":{"position":[[2741,56]]}},"keywords":{}}],["android:name="android.intent.category.launcher"/>",{"_index":6601,"title":{},"content":{"1356":{"position":[[2811,62]]}},"keywords":{}}],["android:name="myactivity"",{"_index":6594,"title":{},"content":{"1356":{"position":[[2625,35]]}},"keywords":{}}],["android:versioncode="1"",{"_index":6585,"title":{},"content":{"1356":{"position":[[2349,33]]}},"keywords":{}}],["android:versionname="1.0">",{"_index":6586,"title":{},"content":{"1356":{"position":[[2383,39]]}},"keywords":{}}],["android_aar",{"_index":6324,"title":{"1348":{"position":[[0,12]]}},"content":{"1348":{"position":[[4,12],[2641,13],[4675,12]]},"1356":{"position":[[653,13]]}},"keywords":{}}],["android_app_modular",{"_index":6404,"title":{"1349":{"position":[[0,23]]}},"content":{"1349":{"position":[[4,23]]}},"keywords":{}}],["android_binari",{"_index":3392,"title":{"1350":{"position":[[0,15]]}},"content":{"678":{"position":[[326,14]]},"1006":{"position":[[441,14],[622,15]]},"1350":{"position":[[4,15]]},"1351":{"position":[[2468,17],[2850,17],[3351,16],[3678,16],[4309,15],[5560,15]]},"1353":{"position":[[2940,17],[3057,15]]},"1354":{"position":[[2145,17],[3177,17],[3196,15]]},"1356":{"position":[[632,16]]},"1358":{"position":[[1033,16]]},"1360":{"position":[[2491,16],[2635,16],[5934,15]]},"1384":{"position":[[20010,17],[20617,16]]},"1438":{"position":[[665,16]]},"1446":{"position":[[2462,16]]}},"keywords":{}}],["android_build_config",{"_index":6469,"title":{"1351":{"position":[[0,21]]}},"content":{"1351":{"position":[[4,21],[692,22],[3579,22],[3853,21]]}},"keywords":{}}],["android_build_config().include_build_config_class",{"_index":6391,"title":{},"content":{"1348":{"position":[[3613,50]]}},"keywords":{}}],["android_bundl",{"_index":6500,"title":{"1352":{"position":[[0,15]]}},"content":{"1352":{"position":[[4,15]]}},"keywords":{}}],["android_home%\\tools\\zipalign",{"_index":6670,"title":{},"content":{"1360":{"position":[[6592,30]]}},"keywords":{}}],["android_home/tools/zipalign",{"_index":6669,"title":{},"content":{"1360":{"position":[[6535,29]]}},"keywords":{}}],["android_instrumentation_apk",{"_index":6503,"title":{"1353":{"position":[[0,28]]}},"content":{"1353":{"position":[[4,28],[1328,29],[2891,29],[3302,28]]},"1354":{"position":[[3375,28]]}},"keywords":{}}],["android_instrumentation_apk().clear_package_data",{"_index":6534,"title":{},"content":{"1354":{"position":[[2186,49]]}},"keywords":{}}],["android_instrumentation_test",{"_index":6518,"title":{"1354":{"position":[[0,29]]}},"content":{"1354":{"position":[[4,29],[1136,30],[3516,29]]}},"keywords":{}}],["android_instrumentation_test()rul",{"_index":6545,"title":{},"content":{"1354":{"position":[[3128,34]]}},"keywords":{}}],["android_librari",{"_index":6401,"title":{"1355":{"position":[[0,16]]}},"content":{"1348":{"position":[[4614,16]]},"1351":{"position":[[807,17],[4213,16]]},"1353":{"position":[[2990,16]]},"1355":{"position":[[4,16],[2151,17],[2289,17],[3658,15],[3746,16],[7612,15],[7896,16]]},"1356":{"position":[[1655,15],[1704,17]]},"1358":{"position":[[3125,16]]},"1382":{"position":[[4895,16]]},"1388":{"position":[[5589,16]]},"1402":{"position":[[2133,16]]},"1442":{"position":[[1885,16]]},"1459":{"position":[[2311,17],[2415,16]]}},"keywords":{}}],["android_manifest",{"_index":6397,"title":{"1356":{"position":[[0,17]]}},"content":{"1348":{"position":[[4268,18]]},"1355":{"position":[[4996,18]]},"1356":{"position":[[4,17],[554,18],[1993,18],[2031,17]]},"1359":{"position":[[2051,18]]},"1470":{"position":[[4594,18]]}},"keywords":{}}],["android_optional_jar",{"_index":6549,"title":{},"content":{"1355":{"position":[[665,22]]},"1470":{"position":[[704,22]]}},"keywords":{}}],["android_packag",{"_index":8006,"title":{},"content":{"1431":{"position":[[396,16]]}},"keywords":{}}],["android_platform",{"_index":6606,"title":{"1357":{"position":[[0,17]]}},"content":{"1357":{"position":[[4,17]]}},"keywords":{}}],["android_prebuilt_aar",{"_index":6609,"title":{"1358":{"position":[[0,21]]}},"content":{"1358":{"position":[[4,21],[921,22],[1082,22],[2903,21]]}},"keywords":{}}],["android_resourc",{"_index":3692,"title":{"1359":{"position":[[0,17]]}},"content":{"708":{"position":[[259,17],[511,17]]},"1348":{"position":[[4523,17]]},"1355":{"position":[[7824,17]]},"1359":{"position":[[4,17],[869,18],[1849,16],[2189,18],[2298,16],[2412,17]]}},"keywords":{}}],["android_sdk_proguard_config",{"_index":6421,"title":{},"content":{"1350":{"position":[[830,28]]},"1352":{"position":[[830,28]]}},"keywords":{}}],["androidinstrumentationmanifest.xml",{"_index":6517,"title":{},"content":{"1353":{"position":[[3367,37]]},"1354":{"position":[[3440,37]]}},"keywords":{}}],["androidmanifest.xml",{"_index":6396,"title":{},"content":{"1348":{"position":[[4219,19]]},"1351":{"position":[[4408,22],[5665,22]]},"1353":{"position":[[3104,22]]},"1354":{"position":[[3243,22]]},"1360":{"position":[[5981,22]]},"1403":{"position":[[7661,22],[7876,22],[7968,22]]}},"keywords":{}}],["androidmanifestskeleton.xml",{"_index":6403,"title":{},"content":{"1348":{"position":[[4722,30]]},"1356":{"position":[[2082,30],[2129,27]]}},"keywords":{}}],["andtoolchain",{"_index":4094,"title":{},"content":{"877":{"position":[[532,13]]}},"keywords":{}}],["andtyp",{"_index":4214,"title":{},"content":{"890":{"position":[[1850,7]]}},"keywords":{}}],["andunconfigur",{"_index":3528,"title":{},"content":{"693":{"position":[[2072,15]]}},"keywords":{}}],["andz.from",{"_index":4207,"title":{},"content":{"890":{"position":[[808,9]]}},"keywords":{}}],["anexecut",{"_index":6314,"title":{},"content":{"1346":{"position":[[27,11]]}},"keywords":{}}],["angl",{"_index":6792,"title":{},"content":{"1362":{"position":[[7668,5],[9684,5]]},"1364":{"position":[[7907,5],[10798,5]]},"1367":{"position":[[9772,5]]}},"keywords":{}}],["anim",{"_index":6539,"title":{},"content":{"1354":{"position":[[2458,10]]}},"keywords":{}}],["annot",{"_index":3126,"title":{},"content":{"638":{"position":[[568,10]]},"663":{"position":[[621,10]]},"901":{"position":[[583,10]]},"902":{"position":[[557,10]]},"1355":{"position":[[3305,10],[3421,10],[5928,12],[6229,12]]},"1387":{"position":[[6525,8]]},"1407":{"position":[[1274,11],[4908,11]]},"1427":{"position":[[5101,12],[5402,12]]},"1429":{"position":[[5312,9]]},"1439":{"position":[[3126,10],[3242,10],[6727,8]]},"1440":{"position":[[5306,9]]},"1461":{"position":[[2542,8]]},"1462":{"position":[[6029,8]]},"1465":{"position":[[3001,8]]},"1467":{"position":[[7141,8]]},"1468":{"position":[[1419,8]]}},"keywords":{}}],["annotation_processing_tool",{"_index":6335,"title":{},"content":{"1348":{"position":[[608,27]]},"1355":{"position":[[710,27],[3247,27]]},"1439":{"position":[[635,27],[3068,27]]},"1440":{"position":[[670,27]]},"1470":{"position":[[749,27]]}},"keywords":{}}],["annotation_processor",{"_index":6338,"title":{},"content":{"1348":{"position":[[738,22]]},"1355":{"position":[[840,22]]},"1412":{"position":[[469,22]]},"1413":{"position":[[466,22]]},"1427":{"position":[[691,22]]},"1429":{"position":[[726,22]]},"1430":{"position":[[508,22]]},"1439":{"position":[[765,22]]},"1440":{"position":[[800,22]]},"1470":{"position":[[879,22]]},"1474":{"position":[[505,22]]},"1475":{"position":[[502,22]]}},"keywords":{}}],["annotation_processor_dep",{"_index":6336,"title":{},"content":{"1348":{"position":[[652,26]]},"1355":{"position":[[754,26]]},"1412":{"position":[[383,26]]},"1413":{"position":[[380,26]]},"1427":{"position":[[605,26]]},"1429":{"position":[[640,26]]},"1430":{"position":[[422,26]]},"1439":{"position":[[679,26]]},"1440":{"position":[[714,26]]},"1470":{"position":[[793,26]]},"1474":{"position":[[419,26]]},"1475":{"position":[[416,26]]}},"keywords":{}}],["annotation_processor_param",{"_index":6337,"title":{},"content":{"1348":{"position":[[694,28]]},"1355":{"position":[[796,28]]},"1412":{"position":[[425,28]]},"1413":{"position":[[422,28]]},"1427":{"position":[[647,28]]},"1429":{"position":[[682,28]]},"1430":{"position":[[464,28]]},"1439":{"position":[[721,28]]},"1440":{"position":[[756,28]]},"1470":{"position":[[835,28]]},"1474":{"position":[[461,28]]},"1475":{"position":[[458,28]]}},"keywords":{}}],["annoying.refactor",{"_index":4841,"title":{},"content":{"977":{"position":[[333,17]]}},"keywords":{}}],["anon",{"_index":830,"title":{"835":{"position":[[51,4]]},"1042":{"position":[[0,4]]},"1043":{"position":[[0,4]]}},"content":{"34":{"position":[[89,4]]},"36":{"position":[[173,4]]},"38":{"position":[[81,4]]},"126":{"position":[[492,4]]},"181":{"position":[[173,4]]},"183":{"position":[[81,4]]},"190":{"position":[[89,4]]},"233":{"position":[[384,4]]},"249":{"position":[[492,4]]},"400":{"position":[[253,4],[533,4]]},"710":{"position":[[318,4]]},"712":{"position":[[1428,4]]},"779":{"position":[[253,4],[533,4]]},"835":{"position":[[151,4],[265,4]]},"837":{"position":[[324,4]]},"867":{"position":[[1547,4]]},"1042":{"position":[[629,4]]},"1044":{"position":[[190,4],[2083,4],[2515,4]]},"1045":{"position":[[222,4],[278,4]]},"1046":{"position":[[22,4],[215,4]]},"1049":{"position":[[221,4],[1252,4]]},"1112":{"position":[[3729,4]]},"1190":{"position":[[1205,4]]},"1205":{"position":[[92,4]]},"1422":{"position":[[1994,4],[2029,4],[2131,4],[2198,4]]}},"keywords":{}}],["anon.artifact("hello"",{"_index":5275,"title":{},"content":{"1049":{"position":[[1311,32]]}},"keywords":{}}],["anon.artifact("world"",{"_index":5277,"title":{},"content":{"1049":{"position":[[1361,32]]}},"keywords":{}}],["anon_bxl_rules.bzl",{"_index":3728,"title":{},"content":{"712":{"position":[[3,18],[2935,18]]}},"keywords":{}}],["anon_rul",{"_index":2099,"title":{"400":{"position":[[0,10]]},"779":{"position":[[0,10]]}},"content":{"400":{"position":[[4,10]]},"779":{"position":[[4,10]]},"1042":{"position":[[43,10],[138,10],[232,9],[422,10]]},"1043":{"position":[[250,10],[341,10]]},"1044":{"position":[[591,10],[1026,10],[1564,10],[1706,10],[2821,10]]},"1049":{"position":[[1012,10]]}},"keywords":{}}],["anon_target",{"_index":821,"title":{"32":{"position":[[0,12]]},"35":{"position":[[0,11]]},"180":{"position":[[0,11]]},"188":{"position":[[0,12]]}},"content":{"81":{"position":[[90,11]]},"82":{"position":[[153,12]]},"213":{"position":[[90,11]]},"214":{"position":[[153,12]]},"1043":{"position":[[436,11],[493,12]]},"1044":{"position":[[117,12],[1172,11],[1365,12]]},"1049":{"position":[[55,11],[169,12]]}},"keywords":{}}],["anon_target(rul",{"_index":3706,"title":{},"content":{"711":{"position":[[153,17]]}},"keywords":{}}],["anon_target.artifact",{"_index":831,"title":{"36":{"position":[[0,21]]},"37":{"position":[[0,22]]},"181":{"position":[[0,21]]},"182":{"position":[[0,22]]}},"content":{"37":{"position":[[4,23]]},"182":{"position":[[4,23]]}},"keywords":{}}],["anon_target.artifact("hello"",{"_index":5183,"title":{},"content":{"1044":{"position":[[1239,39]]}},"keywords":{}}],["anon_target.artifact(nam",{"_index":833,"title":{},"content":{"36":{"position":[[4,26]]},"181":{"position":[[4,26]]}},"keywords":{}}],["anon_target.artifacts()["hello"",{"_index":5185,"title":{},"content":{"1044":{"position":[[1300,42]]}},"keywords":{}}],["anon_target.promis",{"_index":844,"title":{"38":{"position":[[0,20]]},"183":{"position":[[0,20]]}},"content":{"38":{"position":[[0,20]]},"183":{"position":[[0,20]]}},"keywords":{}}],["anon_target_compat",{"_index":1342,"title":{},"content":{"126":{"position":[[76,23],[411,22]]},"249":{"position":[[76,23],[411,22]]},"1044":{"position":[[2612,22]]}},"keywords":{}}],["anon_target_exampl",{"_index":3775,"title":{},"content":{"712":{"position":[[3168,19]]}},"keywords":{}}],["anon_targets.anon_target",{"_index":822,"title":{"33":{"position":[[0,26]]},"189":{"position":[[0,26]]}},"content":{"33":{"position":[[0,26]]},"189":{"position":[[0,26]]}},"keywords":{}}],["anon_targets.promis",{"_index":826,"title":{"34":{"position":[[0,21]]},"190":{"position":[[0,21]]}},"content":{"34":{"position":[[0,21]]},"190":{"position":[[0,21]]}},"keywords":{}}],["anontarget",{"_index":1866,"title":{"354":{"position":[[0,11]]},"355":{"position":[[0,12]]},"733":{"position":[[0,11]]},"734":{"position":[[0,12]]},"1044":{"position":[[0,10],[15,12]]}},"content":{"354":{"position":[[0,11]]},"355":{"position":[[0,12]]},"733":{"position":[[0,11]]},"734":{"position":[[0,12]]},"1043":{"position":[[178,10],[193,11]]},"1044":{"position":[[0,10],[77,11],[507,11],[1348,12]]}},"keywords":{}}],["anonym",{"_index":1015,"title":{"709":{"position":[[8,9]]},"710":{"position":[[0,9]]},"1041":{"position":[[0,9]]}},"content":{"81":{"position":[[106,9],[249,9],[347,9]]},"82":{"position":[[188,9]]},"213":{"position":[[106,9],[249,9],[347,9]]},"214":{"position":[[188,9]]},"710":{"position":[[0,9],[40,9],[161,9]]},"711":{"position":[[134,9],[258,9],[418,9],[499,9]]},"712":{"position":[[47,9],[126,9],[1090,9],[1111,9],[2149,9]]},"1042":{"position":[[3,9]]},"1043":{"position":[[3,9]]},"1044":{"position":[[281,9]]},"1047":{"position":[[12,9],[248,9]]}},"keywords":{}}],["anonymous_link_group",{"_index":7141,"title":{},"content":{"1382":{"position":[[408,22]]},"1388":{"position":[[520,22]]},"1462":{"position":[[560,22]]},"1467":{"position":[[627,22]]},"1471":{"position":[[492,22]]},"1473":{"position":[[523,22]]}},"keywords":{}}],["anoth",{"_index":500,"title":{"578":{"position":[[39,8]]},"681":{"position":[[47,7]]},"934":{"position":[[31,7]]}},"content":{"17":{"position":[[570,7]]},"92":{"position":[[505,7]]},"98":{"position":[[1350,7],[1419,7]]},"224":{"position":[[505,7]]},"230":{"position":[[1350,7],[1419,7]]},"408":{"position":[[530,8]]},"560":{"position":[[277,7],[324,7]]},"565":{"position":[[87,7]]},"591":{"position":[[157,7]]},"680":{"position":[[992,7]]},"681":{"position":[[37,7],[405,7]]},"683":{"position":[[50,7]]},"693":{"position":[[4380,7],[10285,7]]},"704":{"position":[[1248,7]]},"706":{"position":[[2122,7]]},"724":{"position":[[1857,7]]},"787":{"position":[[530,8]]},"888":{"position":[[804,7]]},"890":{"position":[[996,7],[2723,7]]},"919":{"position":[[2181,8]]},"929":{"position":[[145,7]]},"947":{"position":[[813,7]]},"987":{"position":[[143,7]]},"995":{"position":[[666,7],[1155,7]]},"1013":{"position":[[444,7]]},"1050":{"position":[[3378,7]]},"1105":{"position":[[999,7],[1241,7],[1286,7]]},"1136":{"position":[[176,7],[3692,7],[4152,7],[4252,7],[4462,7]]},"1138":{"position":[[7354,7],[7814,7],[7914,7],[8124,7]]},"1140":{"position":[[6280,7],[6740,7],[6840,7],[7050,7]]},"1142":{"position":[[1724,7],[2184,7],[2284,7],[2494,7]]},"1146":{"position":[[1664,7],[2124,7],[2224,7],[2434,7]]},"1148":{"position":[[4704,7],[5164,7],[5264,7],[5474,7]]},"1155":{"position":[[1760,7],[2220,7],[2320,7],[2530,7]]},"1156":{"position":[[1338,7],[1798,7],[1898,7],[2108,7]]},"1167":{"position":[[7284,7],[7744,7],[7844,7],[8054,7]]},"1169":{"position":[[1123,7],[1583,7],[1683,7],[1893,7]]},"1186":{"position":[[2928,7],[3388,7],[3488,7],[3698,7]]},"1187":{"position":[[2941,7],[3401,7],[3501,7],[3711,7]]},"1188":{"position":[[7667,7],[8127,7],[8227,7],[8437,7]]},"1191":{"position":[[1528,7],[1988,7],[2088,7],[2298,7]]},"1192":{"position":[[1703,7],[2163,7],[2263,7],[2473,7]]},"1193":{"position":[[1755,7],[2215,7],[2315,7],[2525,7]]},"1194":{"position":[[1395,7],[1855,7],[1955,7],[2165,7]]},"1195":{"position":[[1373,7],[1833,7],[1933,7],[2143,7]]},"1196":{"position":[[1183,7],[1643,7],[1743,7],[1953,7]]},"1197":{"position":[[2166,7],[2626,7],[2726,7],[2936,7]]},"1198":{"position":[[2176,7],[2636,7],[2736,7],[2946,7]]},"1199":{"position":[[2204,7],[2664,7],[2764,7],[2974,7]]},"1200":{"position":[[2071,7],[2531,7],[2631,7],[2841,7]]},"1201":{"position":[[1331,7],[1791,7],[1891,7],[2101,7]]},"1202":{"position":[[2473,7],[2933,7],[3033,7],[3243,7],[6870,7],[7330,7],[7430,7],[7640,7]]},"1203":{"position":[[1565,7],[2025,7],[2125,7],[2335,7]]},"1204":{"position":[[1409,7],[1869,7],[1969,7],[2179,7]]},"1205":{"position":[[2738,7],[3198,7],[3298,7],[3508,7]]},"1206":{"position":[[1209,7],[1669,7],[1769,7],[1979,7]]},"1207":{"position":[[1366,7],[1826,7],[1926,7],[2136,7]]},"1209":{"position":[[2714,7],[3174,7],[3274,7],[3484,7]]},"1217":{"position":[[6025,7],[6485,7],[6585,7],[6795,7]]},"1219":{"position":[[2011,7],[2471,7],[2571,7],[2781,7]]},"1222":{"position":[[1135,7],[1595,7],[1695,7],[1905,7]]},"1223":{"position":[[1145,7],[1605,7],[1705,7],[1915,7]]},"1224":{"position":[[1325,7],[1785,7],[1885,7],[2095,7]]},"1226":{"position":[[6493,7],[6953,7],[7053,7],[7263,7]]},"1228":{"position":[[8106,7],[8566,7],[8666,7],[8876,7]]},"1235":{"position":[[3974,7],[4434,7],[4534,7],[4744,7]]},"1237":{"position":[[6663,7],[7123,7],[7223,7],[7433,7]]},"1243":{"position":[[636,7]]},"1252":{"position":[[0,7]]},"1253":{"position":[[0,7]]},"1255":{"position":[[9,7]]},"1258":{"position":[[344,7],[1108,7]]},"1289":{"position":[[344,7],[1108,7]]},"1317":{"position":[[344,7],[1108,7]]},"1355":{"position":[[3976,7]]},"1383":{"position":[[8711,7]]},"1384":{"position":[[14393,7],[16634,7]]},"1386":{"position":[[1906,7],[4104,7],[4248,7],[5477,7],[6112,7]]},"1387":{"position":[[7652,7]]},"1399":{"position":[[1897,7]]},"1427":{"position":[[3121,7]]},"1439":{"position":[[3795,7]]},"1442":{"position":[[3176,7]]},"1454":{"position":[[7866,7],[8933,7]]},"1471":{"position":[[4224,7]]},"1472":{"position":[[4808,7]]},"1473":{"position":[[4545,7]]},"1487":{"position":[[2417,7]]}},"keywords":{}}],["another>",{"_index":7685,"title":{},"content":{"1403":{"position":[[5772,11]]}},"keywords":{}}],["answer",{"_index":82,"title":{},"content":{"5":{"position":[[103,8]]},"9":{"position":[[2147,6]]},"1486":{"position":[[5579,6],[5824,6]]}},"keywords":{}}],["ant",{"_index":7994,"title":{},"content":{"1429":{"position":[[4170,3]]},"1440":{"position":[[4163,3]]}},"keywords":{}}],["antithet",{"_index":4602,"title":{},"content":{"937":{"position":[[2892,12]]}},"keywords":{}}],["any([0",{"_index":3062,"title":{},"content":{"629":{"position":[[125,7],[148,7],[168,7],[194,7],[215,7]]}},"keywords":{}}],["any(children",{"_index":5590,"title":{},"content":{"1086":{"position":[[589,13]]}},"keywords":{}}],["any(x",{"_index":3061,"title":{},"content":{"629":{"position":[[4,6]]}},"keywords":{}}],["any.whl"",{"_index":8277,"title":{},"content":{"1461":{"position":[[3572,14],[3689,14]]}},"keywords":{}}],["anyhow::error>",{"_index":6136,"title":{},"content":{"1232":{"position":[[2392,18]]}},"keywords":{}}],["anyhow::error>>",{"_index":6128,"title":{},"content":{"1232":{"position":[[1811,21]]}},"keywords":{}}],["anyhow::error>>::{closure#0}::{closure#0}::{closure#0}>",{"_index":6141,"title":{},"content":{"1232":{"position":[[2790,64]]}},"keywords":{}}],["anymor",{"_index":4170,"title":{},"content":{"888":{"position":[[908,8]]}},"keywords":{}}],["anyon",{"_index":4273,"title":{},"content":{"892":{"position":[[786,6]]},"898":{"position":[[1563,6]]}},"keywords":{}}],["anyselect()",{"_index":5070,"title":{},"content":{"1024":{"position":[[478,12],[1165,12]]}},"keywords":{}}],["anyth",{"_index":1135,"title":{},"content":{"92":{"position":[[1231,8]]},"98":{"position":[[1140,8]]},"99":{"position":[[1548,8]]},"224":{"position":[[1231,8]]},"230":{"position":[[1140,8]]},"231":{"position":[[1548,8]]},"407":{"position":[[104,8]]},"705":{"position":[[241,8]]},"786":{"position":[[104,8]]},"833":{"position":[[301,8]]},"892":{"position":[[1319,9]]},"1035":{"position":[[588,9]]},"1040":{"position":[[1657,8]]},"1105":{"position":[[771,9]]},"1120":{"position":[[228,8]]},"1386":{"position":[[4198,8]]}},"keywords":{}}],["anyway",{"_index":4556,"title":{},"content":{"924":{"position":[[2536,7]]},"1138":{"position":[[3092,6]]},"1140":{"position":[[2581,6]]},"1167":{"position":[[3585,6]]},"1188":{"position":[[2634,6]]},"1217":{"position":[[2326,6]]},"1228":{"position":[[4407,6]]}},"keywords":{}}],["anywher",{"_index":4697,"title":{},"content":{"944":{"position":[[820,8]]},"970":{"position":[[182,8]]},"1382":{"position":[[4715,8]]},"1388":{"position":[[5409,8]]},"1442":{"position":[[1705,8]]}},"keywords":{}}],["apach",{"_index":7993,"title":{},"content":{"1429":{"position":[[4163,6]]},"1440":{"position":[[4156,6]]}},"keywords":{}}],["apart",{"_index":5132,"title":{},"content":{"1040":{"position":[[427,5]]},"1247":{"position":[[687,5]]},"1393":{"position":[[3091,5],[3911,5]]}},"keywords":{}}],["api",{"_index":18,"title":{"20":{"position":[[0,4]]},"711":{"position":[[0,5]]},"836":{"position":[[35,6]]},"939":{"position":[[0,4]]},"948":{"position":[[22,3]]},"949":{"position":[[8,4]]},"960":{"position":[[0,4]]},"999":{"position":[[0,4]]},"1001":{"position":[[0,4]]},"1063":{"position":[[0,5]]},"1064":{"position":[[8,5]]},"1065":{"position":[[14,4]]},"1081":{"position":[[5,4]]},"1085":{"position":[[6,5]]}},"content":{"3":{"position":[[66,4],[95,4]]},"10":{"position":[[563,3],[617,4]]},"20":{"position":[[0,4],[42,5]]},"84":{"position":[[244,3]]},"216":{"position":[[244,3]]},"374":{"position":[[384,3]]},"693":{"position":[[993,4]]},"753":{"position":[[384,3]]},"836":{"position":[[31,3]]},"837":{"position":[[59,4],[181,3]]},"839":{"position":[[8,4],[140,4],[169,4],[245,5]]},"846":{"position":[[388,3]]},"847":{"position":[[47,4],[73,4]]},"848":{"position":[[158,4]]},"855":{"position":[[259,4]]},"859":{"position":[[22,4]]},"869":{"position":[[432,4]]},"888":{"position":[[763,3]]},"924":{"position":[[2290,3]]},"935":{"position":[[230,3]]},"937":{"position":[[3138,3]]},"949":{"position":[[12,3],[53,4],[180,4]]},"950":{"position":[[483,4]]},"951":{"position":[[1465,4]]},"954":{"position":[[894,3]]},"955":{"position":[[1430,3]]},"959":{"position":[[61,3],[251,3]]},"961":{"position":[[756,3]]},"962":{"position":[[236,3]]},"964":{"position":[[184,3]]},"975":{"position":[[334,3]]},"978":{"position":[[180,3]]},"1001":{"position":[[51,4],[1095,4]]},"1007":{"position":[[196,4]]},"1011":{"position":[[31,3]]},"1053":{"position":[[274,3]]},"1064":{"position":[[123,3],[1223,3],[1710,3]]},"1065":{"position":[[75,3]]},"1219":{"position":[[646,5],[657,3]]},"1355":{"position":[[3903,3],[5211,5]]},"1362":{"position":[[13480,4]]},"1364":{"position":[[14180,4]]},"1367":{"position":[[13388,4]]},"1427":{"position":[[3048,3],[4525,5]]},"1439":{"position":[[3722,3],[7024,5]]}},"keywords":{}}],["api'",{"_index":4729,"title":{},"content":{"950":{"position":[[537,5]]}},"keywords":{}}],["api.easi",{"_index":338,"title":{},"content":{"10":{"position":[[748,10]]}},"keywords":{}}],["api/cli",{"_index":4057,"title":{"870":{"position":[[33,9]]}},"content":{},"keywords":{}}],["apidigest",{"_index":4129,"title":{},"content":{"881":{"position":[[43,9]]}},"keywords":{}}],["apis:16",{"_index":6664,"title":{},"content":{"1360":{"position":[[6033,9]]}},"keywords":{}}],["apis:19",{"_index":6491,"title":{},"content":{"1351":{"position":[[4460,9],[5717,9]]}},"keywords":{}}],["apk",{"_index":3391,"title":{},"content":{"678":{"position":[[291,4],[354,4]]},"693":{"position":[[7729,3]]},"1351":{"position":[[2404,4],[2786,4],[3134,4],[3774,3]]},"1353":{"position":[[577,4],[1410,4],[3405,3]]},"1354":{"position":[[480,4],[1190,4],[2109,3],[3478,3],[3587,3]]},"1358":{"position":[[1148,4],[2803,5]]},"1360":{"position":[[521,4],[1381,4],[1476,5],[2592,3],[2620,4],[2674,3],[2703,4],[2736,3],[5261,6],[5809,4],[5860,3],[6216,3],[6295,4],[6378,5],[6489,3],[6570,4],[6628,5]]},"1384":{"position":[[19575,3],[19750,4],[20613,3]]},"1446":{"position":[[2039,3],[2590,3]]},"1459":{"position":[[1663,3],[1847,3],[2012,3]]}},"keywords":{}}],["apk_genrul",{"_index":6533,"title":{"1360":{"position":[[0,12]]}},"content":{"1354":{"position":[[2166,13]]},"1360":{"position":[[4,12],[1335,13],[1404,11],[1434,12],[1556,13],[1599,13],[5226,11],[5784,13],[6164,12],[6445,12]]}},"keywords":{}}],["aplatform",{"_index":5060,"title":{},"content":{"1017":{"position":[[71,9]]}},"keywords":{}}],["app",{"_index":2729,"title":{},"content":{"586":{"position":[[186,3]]},"919":{"position":[[572,3],[668,3]]},"995":{"position":[[1065,3],[1259,4]]},"1050":{"position":[[286,3]]},"1167":{"position":[[1688,3]]},"1348":{"position":[[4695,6]]},"1354":{"position":[[2257,3]]},"1361":{"position":[[2466,3]]},"1362":{"position":[[4787,3]]},"1363":{"position":[[4454,4],[4698,5],[6976,6],[7020,3],[7368,6],[7524,6],[7568,3],[7722,6]]},"1365":{"position":[[889,3]]},"1393":{"position":[[2346,5],[3237,5],[3334,5],[3510,5],[4153,4],[5832,4],[6267,5],[8442,5]]},"1402":{"position":[[1907,4]]}},"keywords":{}}],["app.src",{"_index":7457,"title":{},"content":{"1393":{"position":[[2259,9],[3224,9],[3321,9],[9287,9]]}},"keywords":{}}],["app/extens",{"_index":6904,"title":{},"content":{"1363":{"position":[[7050,13]]}},"keywords":{}}],["app/src/main/aidl",{"_index":7670,"title":{},"content":{"1402":{"position":[[2000,20]]}},"keywords":{}}],["app_a",{"_index":7472,"title":{},"content":{"1393":{"position":[[4733,5],[4881,5],[4989,5],[5057,5]]}},"keywords":{}}],["app_b",{"_index":7473,"title":{},"content":{"1393":{"position":[[4820,5],[4847,5],[4998,5],[5048,5]]}},"keywords":{}}],["app_icon",{"_index":6673,"title":{},"content":{"1361":{"position":[[334,9],[2572,8]]}},"keywords":{}}],["app_src",{"_index":7441,"title":{},"content":{"1393":{"position":[[346,8],[2199,8],[2212,7],[2845,7],[3665,7],[8473,7],[8646,7],[10082,7]]}},"keywords":{}}],["appar",{"_index":5667,"title":{},"content":{"1104":{"position":[[2019,8]]}},"keywords":{}}],["appbundl",{"_index":6902,"title":{},"content":{"1363":{"position":[[6929,12]]},"1365":{"position":[[1908,13]]}},"keywords":{}}],["appear",{"_index":2248,"title":{},"content":{"418":{"position":[[886,6]]},"693":{"position":[[3647,6]]},"797":{"position":[[886,6]]},"905":{"position":[[403,6]]},"987":{"position":[[424,6]]},"988":{"position":[[654,6]]},"989":{"position":[[157,6]]},"990":{"position":[[488,6],[579,7],[1033,6],[1361,6]]},"991":{"position":[[1027,6]]},"1018":{"position":[[19,6]]},"1083":{"position":[[315,6]]},"1105":{"position":[[1969,8]]},"1112":{"position":[[470,6],[4885,9]]},"1148":{"position":[[253,6]]},"1228":{"position":[[855,7],[897,7]]},"1235":{"position":[[170,7],[432,9]]},"1280":{"position":[[156,6]]},"1282":{"position":[[553,6]]},"1311":{"position":[[156,6]]},"1313":{"position":[[553,6]]},"1339":{"position":[[156,6]]},"1341":{"position":[[553,6]]},"1364":{"position":[[6609,6]]},"1382":{"position":[[4821,6]]},"1384":{"position":[[5654,6],[7363,6]]},"1388":{"position":[[5515,6]]},"1442":{"position":[[1811,6]]},"1454":{"position":[[4502,6],[5763,6]]},"1455":{"position":[[2150,6],[2534,6]]}},"keywords":{}}],["append",{"_index":2047,"title":{},"content":{"377":{"position":[[1547,9]]},"563":{"position":[[48,6],[89,7],[132,6]]},"565":{"position":[[127,7]]},"756":{"position":[[1547,9]]},"865":{"position":[[715,8]]},"1052":{"position":[[509,9]]},"1355":{"position":[[5538,8]]},"1363":{"position":[[4459,6]]},"1382":{"position":[[4576,7]]},"1388":{"position":[[5270,7]]},"1410":{"position":[[4388,9]]},"1439":{"position":[[5514,8]]},"1442":{"position":[[1566,7]]},"1471":{"position":[[5257,9]]},"1472":{"position":[[6143,9]]},"1473":{"position":[[5707,9]]},"1477":{"position":[[1624,9]]},"1487":{"position":[[2283,7]]}},"keywords":{}}],["append_script_extens",{"_index":8455,"title":{},"content":{"1477":{"position":[[350,24],[1504,24]]}},"keywords":{}}],["appex",{"_index":6887,"title":{},"content":{"1363":{"position":[[4733,7],[7163,8]]}},"keywords":{}}],["appfil",{"_index":7503,"title":{},"content":{"1393":{"position":[[9311,11]]}},"keywords":{}}],["appiconset",{"_index":6679,"title":{},"content":{"1361":{"position":[[1864,11]]}},"keywords":{}}],["appl",{"_index":4701,"title":{},"content":{"944":{"position":[[1321,5]]},"1050":{"position":[[280,5]]},"1102":{"position":[[733,5]]},"1361":{"position":[[667,5]]},"1362":{"position":[[5089,5],[13591,5]]},"1363":{"position":[[2850,5]]},"1364":{"position":[[5116,5],[14291,5]]}},"keywords":{}}],["apple'",{"_index":7114,"title":{},"content":{"1380":{"position":[[566,7]]}},"keywords":{}}],["apple.provisioning_profile_search_path",{"_index":6901,"title":{},"content":{"1363":{"position":[[6367,39],[6781,39]]}},"keywords":{}}],["apple/android",{"_index":4702,"title":{},"content":{"944":{"position":[[1388,13]]}},"keywords":{}}],["apple_asset_catalog",{"_index":6672,"title":{"1361":{"position":[[0,20]]}},"content":{"1361":{"position":[[4,20],[611,21],[859,21],[2357,20],[2492,20]]}},"keywords":{}}],["apple_binari",{"_index":6688,"title":{"1362":{"position":[[0,13]]}},"content":{"1362":{"position":[[4,13],[4716,14],[4980,14],[5126,14],[13765,13]]},"1363":{"position":[[5941,13]]},"1370":{"position":[[1840,14]]}},"keywords":{}}],["apple_bundl",{"_index":6677,"title":{"1363":{"position":[[0,13]]}},"content":{"1361":{"position":[[820,14]]},"1363":{"position":[[4,13],[2821,14],[6908,13],[7064,13],[7226,13],[7421,13],[7615,13]]},"1365":{"position":[[836,14]]},"1366":{"position":[[1098,14],[2684,12]]},"1367":{"position":[[13488,14]]},"1370":{"position":[[2950,14],[3116,14]]},"1380":{"position":[[715,14]]}},"keywords":{}}],["apple_bundle'",{"_index":6681,"title":{},"content":{"1361":{"position":[[2036,14],[2297,14]]}},"keywords":{}}],["apple_librari",{"_index":5384,"title":{"1364":{"position":[[0,14]]}},"content":{"1057":{"position":[[375,13]]},"1362":{"position":[[8455,14]]},"1364":{"position":[[4,14],[4813,15],[5006,15],[5153,15],[9569,14],[14465,14]]},"1366":{"position":[[2762,13]]},"1367":{"position":[[8543,14]]},"1370":{"position":[[1893,15]]}},"keywords":{}}],["apple_packag",{"_index":6935,"title":{"1365":{"position":[[0,14]]}},"content":{"1365":{"position":[[4,14],[792,15],[1863,14]]}},"keywords":{}}],["apple_resourc",{"_index":6942,"title":{"1366":{"position":[[0,15]]}},"content":{"1366":{"position":[[4,15],[847,16],[2564,15],[2710,14],[3277,15]]}},"keywords":{}}],["apple_test",{"_index":5346,"title":{"1367":{"position":[[0,11]]}},"content":{"1054":{"position":[[1350,10],[1367,10]]},"1367":{"position":[[4,11],[6607,12],[14375,11]]}},"keywords":{}}],["apple_test_impl",{"_index":5347,"title":{},"content":{"1054":{"position":[[1393,16]]}},"keywords":{}}],["apple_test_impl(ctx",{"_index":5350,"title":{},"content":{"1054":{"position":[[1675,20]]}},"keywords":{}}],["apple_toolchain",{"_index":6979,"title":{"1368":{"position":[[0,16]]}},"content":{"1368":{"position":[[4,16]]},"1369":{"position":[[334,17]]}},"keywords":{}}],["apple_toolchain_set",{"_index":7011,"title":{"1369":{"position":[[0,20]]}},"content":{"1369":{"position":[[4,20]]}},"keywords":{}}],["apple_universal_execut",{"_index":7012,"title":{"1370":{"position":[[0,27]]}},"content":{"1370":{"position":[[4,27],[599,28]]}},"keywords":{}}],["apple_xcframework",{"_index":7021,"title":{"1371":{"position":[[0,18]]}},"content":{"1371":{"position":[[4,18]]}},"keywords":{}}],["apple_xcuitest",{"_index":7022,"title":{"1372":{"position":[[0,15]]}},"content":{"1372":{"position":[[4,15]]}},"keywords":{}}],["appli",{"_index":259,"title":{},"content":{"9":{"position":[[1733,5]]},"11":{"position":[[100,6]]},"119":{"position":[[100,5]]},"286":{"position":[[168,8]]},"405":{"position":[[1415,5],[1858,7]]},"535":{"position":[[100,5]]},"590":{"position":[[462,5]]},"592":{"position":[[260,5]]},"643":{"position":[[92,5]]},"653":{"position":[[80,5]]},"654":{"position":[[285,7]]},"666":{"position":[[407,5]]},"690":{"position":[[501,8],[538,5]]},"693":{"position":[[3506,8],[10191,8]]},"711":{"position":[[797,7]]},"712":{"position":[[1394,7]]},"720":{"position":[[87,8],[392,8]]},"784":{"position":[[1415,5],[1858,7]]},"846":{"position":[[1356,7],[1641,7]]},"939":{"position":[[73,5],[375,8],[801,7]]},"940":{"position":[[89,5],[193,5],[275,5]]},"942":{"position":[[172,7],[279,5]]},"943":{"position":[[209,7],[1072,5],[1430,5],[1929,5]]},"946":{"position":[[70,7]]},"947":{"position":[[569,7]]},"970":{"position":[[24,7]]},"1004":{"position":[[2019,7],[2110,8]]},"1015":{"position":[[208,7]]},"1035":{"position":[[467,7]]},"1042":{"position":[[469,6],[614,7]]},"1044":{"position":[[395,7]]},"1064":{"position":[[1836,5],[2072,7]]},"1138":{"position":[[5314,5]]},"1140":{"position":[[4803,5]]},"1167":{"position":[[5807,5]]},"1188":{"position":[[4856,5]]},"1217":{"position":[[4548,5]]},"1228":{"position":[[6629,5]]},"1231":{"position":[[351,5]]},"1351":{"position":[[3442,7]]},"1354":{"position":[[2531,7]]},"1367":{"position":[[10346,7]]},"1374":{"position":[[747,5]]},"1384":{"position":[[6905,5],[7047,5]]},"1386":{"position":[[2191,7],[2802,7],[5810,8]]},"1392":{"position":[[1801,7]]},"1393":{"position":[[8165,7]]},"1403":{"position":[[4327,6]]},"1405":{"position":[[3857,5]]},"1407":{"position":[[4476,5]]},"1410":{"position":[[3285,7],[5268,5]]},"1429":{"position":[[4577,7]]},"1440":{"position":[[4659,7]]},"1462":{"position":[[6478,7],[6651,7]]},"1467":{"position":[[7593,7],[7766,7]]},"1471":{"position":[[5506,7]]},"1472":{"position":[[6392,7]]}},"keywords":{}}],["applic",{"_index":2657,"title":{},"content":{"580":{"position":[[286,10]]},"657":{"position":[[76,12]]},"935":{"position":[[155,12]]},"1167":{"position":[[21,11]]},"1351":{"position":[[2000,11],[3454,12]]},"1353":{"position":[[2582,11],[2661,11]]},"1361":{"position":[[1915,11],[2168,11]]},"1362":{"position":[[13220,12]]},"1363":{"position":[[4364,11],[4711,11],[4748,11]]},"1364":{"position":[[13920,12]]},"1366":{"position":[[958,11],[2027,11],[2320,11],[2997,11]]},"1367":{"position":[[13128,12],[13523,11],[13696,11]]},"1382":{"position":[[11582,12]]},"1384":{"position":[[19236,12]]},"1385":{"position":[[7160,12]]},"1387":{"position":[[10533,12]]},"1388":{"position":[[10075,12]]},"1393":{"position":[[371,13],[1125,13],[2371,12],[2878,11],[3115,13],[3161,12],[3265,11],[3390,11],[3529,12],[3546,12],[3698,11],[4068,11],[4428,13],[4468,12],[4545,12],[4721,11],[4759,12],[4808,11],[5014,12],[5216,11],[5289,11],[5435,12],[5819,12],[5931,11],[6059,13],[6735,13],[6996,12],[7871,11],[7951,11],[8181,11],[8315,13],[8370,12],[8960,12],[9160,12],[9561,11],[9640,12],[9753,11],[9786,11],[9856,12],[10042,12],[10245,12],[10400,12]]},"1394":{"position":[[574,13]]},"1395":{"position":[[1928,12],[2300,12],[3920,12]]},"1397":{"position":[[350,13],[1673,12],[1777,12],[1893,12],[2970,12],[3568,12]]},"1398":{"position":[[2373,11],[2422,12],[3091,12],[3295,12],[6066,12],[6098,11]]},"1442":{"position":[[2955,12]]},"1469":{"position":[[2049,11]]},"1485":{"position":[[4446,12]]}},"keywords":{}}],["application'",{"_index":7469,"title":{},"content":{"1393":{"position":[[4139,13],[6679,13],[7773,13]]}},"keywords":{}}],["application.mk",{"_index":8098,"title":{},"content":{"1446":{"position":[[643,14]]}},"keywords":{}}],["application:get_env/2",{"_index":7470,"title":{},"content":{"1393":{"position":[[4191,22]]}},"keywords":{}}],["application_module_blacklist",{"_index":6406,"title":{},"content":{"1349":{"position":[[401,29]]},"1350":{"position":[[875,29]]},"1352":{"position":[[875,29]]}},"keywords":{}}],["application_module_config",{"_index":6407,"title":{},"content":{"1349":{"position":[[453,27]]},"1350":{"position":[[927,27]]},"1352":{"position":[[927,27]]}},"keywords":{}}],["application_module_depend",{"_index":6408,"title":{},"content":{"1349":{"position":[[507,32]]},"1350":{"position":[[981,32]]},"1352":{"position":[[981,32]]}},"keywords":{}}],["application_nam",{"_index":7534,"title":{},"content":{"1394":{"position":[[355,17]]}},"keywords":{}}],["application_opt",{"_index":7479,"title":{},"content":{"1393":{"position":[[5759,18]]}},"keywords":{}}],["applicationsor",{"_index":7460,"title":{},"content":{"1393":{"position":[[2923,14]]}},"keywords":{}}],["apppackag",{"_index":6941,"title":{},"content":{"1365":{"position":[[1885,13]]}},"keywords":{}}],["appreci",{"_index":7257,"title":{},"content":{"1386":{"position":[[2248,11]]}},"keywords":{}}],["approach",{"_index":4553,"title":{},"content":{"924":{"position":[[2083,8]]}},"keywords":{}}],["appropri",{"_index":447,"title":{},"content":{"15":{"position":[[153,11]]},"74":{"position":[[167,11]]},"497":{"position":[[167,11]]},"584":{"position":[[387,11]]},"690":{"position":[[389,11]]},"990":{"position":[[313,11],[970,11]]},"1053":{"position":[[478,11]]},"1161":{"position":[[431,11]]},"1353":{"position":[[2745,11]]},"1363":{"position":[[4552,11]]},"1384":{"position":[[18430,11]]},"1386":{"position":[[5386,11]]},"1469":{"position":[[2022,11]]},"1472":{"position":[[5746,11]]},"1477":{"position":[[1582,11],[1762,11]]}},"keywords":{}}],["approxim",{"_index":24,"title":{},"content":{"3":{"position":[[186,13]]},"900":{"position":[[2022,14]]},"1058":{"position":[[698,13]]}},"keywords":{}}],["apps/myapp:app",{"_index":2726,"title":{},"content":{"586":{"position":[[72,16]]}},"keywords":{}}],["apps/myapp:test",{"_index":2728,"title":{},"content":{"586":{"position":[[99,17]]}},"keywords":{}}],["apptest",{"_index":2727,"title":{},"content":{"586":{"position":[[89,7],[203,7]]}},"keywords":{}}],["apt",{"_index":514,"title":{},"content":{"17":{"position":[[951,3]]}},"keywords":{}}],["aqueri",{"_index":1619,"title":{"1135":{"position":[[0,6]]},"1136":{"position":[[5,7]]},"1159":{"position":[[10,7]]},"1257":{"position":[[0,6]]}},"content":{"295":{"position":[[139,6]]},"693":{"position":[[791,7]]},"846":{"position":[[159,8],[465,7],[488,6],[992,7],[1749,7],[1757,6]]},"1040":{"position":[[550,6]]},"1136":{"position":[[208,7],[320,6],[410,6],[516,6],[673,6],[806,6]]},"1154":{"position":[[310,6],[341,6]]},"1159":{"position":[[24,6],[57,6]]},"1282":{"position":[[383,6],[468,6]]},"1283":{"position":[[400,6],[482,6]]},"1284":{"position":[[380,6],[461,6]]},"1313":{"position":[[383,6],[468,6]]},"1314":{"position":[[400,6],[482,6]]},"1315":{"position":[[380,6],[461,6]]},"1341":{"position":[[383,6],[468,6]]},"1342":{"position":[[400,6],[482,6]]},"1343":{"position":[[380,6],[461,6]]}},"keywords":{}}],["aquerycontext",{"_index":2106,"title":{},"content":{"402":{"position":[[75,13]]},"781":{"position":[[75,13]]}},"keywords":{}}],["aqueryctx",{"_index":1617,"title":{},"content":{"295":{"position":[[110,9]]}},"keywords":{}}],["ar",{"_index":4314,"title":{},"content":{"896":{"position":[[221,2],[585,2]]}},"keywords":{}}],["arbitrari",{"_index":2394,"title":{},"content":{"446":{"position":[[420,9]]},"476":{"position":[[359,9]]},"685":{"position":[[250,9]]},"686":{"position":[[132,9]]},"825":{"position":[[420,9]]},"915":{"position":[[116,9]]},"917":{"position":[[119,9]]},"1000":{"position":[[593,9]]},"1001":{"position":[[247,9]]},"1064":{"position":[[303,9]]},"1354":{"position":[[2572,9]]},"1367":{"position":[[10387,9]]},"1387":{"position":[[6488,9]]},"1392":{"position":[[1842,9]]},"1403":{"position":[[6354,9]]},"1410":{"position":[[3326,9]]},"1429":{"position":[[4618,9]]},"1439":{"position":[[6690,9]]},"1440":{"position":[[4700,9]]},"1461":{"position":[[2505,9]]},"1462":{"position":[[5992,9]]},"1465":{"position":[[2964,9]]},"1467":{"position":[[7104,9]]},"1468":{"position":[[1382,9]]}},"keywords":{}}],["arbitrarili",{"_index":3208,"title":{},"content":{"648":{"position":[[597,11]]}},"keywords":{}}],["arc",{"_index":4245,"title":{},"content":{"890":{"position":[[4628,3]]},"1362":{"position":[[13884,6]]},"1364":{"position":[[14592,6]]},"1367":{"position":[[14468,6]]}},"keywords":{}}],["arch",{"_index":3457,"title":{},"content":{"690":{"position":[[222,5]]},"1136":{"position":[[2920,4]]},"1138":{"position":[[6582,4]]},"1140":{"position":[[5508,4]]},"1142":{"position":[[952,4]]},"1146":{"position":[[892,4]]},"1148":{"position":[[3932,4]]},"1155":{"position":[[988,4]]},"1156":{"position":[[566,4]]},"1167":{"position":[[6512,4]]},"1169":{"position":[[351,4]]},"1186":{"position":[[2156,4]]},"1187":{"position":[[2169,4]]},"1188":{"position":[[6895,4]]},"1191":{"position":[[756,4]]},"1192":{"position":[[931,4]]},"1193":{"position":[[983,4]]},"1194":{"position":[[623,4]]},"1195":{"position":[[601,4]]},"1196":{"position":[[411,4]]},"1197":{"position":[[1394,4]]},"1198":{"position":[[1404,4]]},"1199":{"position":[[1432,4]]},"1200":{"position":[[1299,4]]},"1201":{"position":[[559,4]]},"1202":{"position":[[1701,4],[6098,4]]},"1203":{"position":[[793,4]]},"1204":{"position":[[637,4]]},"1205":{"position":[[1966,4]]},"1206":{"position":[[437,4]]},"1207":{"position":[[594,4]]},"1209":{"position":[[1942,4]]},"1217":{"position":[[5253,4]]},"1219":{"position":[[1239,4]]},"1222":{"position":[[363,4]]},"1223":{"position":[[373,4]]},"1224":{"position":[[553,4]]},"1226":{"position":[[5721,4]]},"1228":{"position":[[7334,4]]},"1235":{"position":[[3202,4]]},"1237":{"position":[[5891,4]]}},"keywords":{}}],["arch=struct",{"_index":2263,"title":{},"content":{"419":{"position":[[305,12]]},"798":{"position":[[305,12]]}},"keywords":{}}],["architectur",{"_index":452,"title":{"714":{"position":[[0,13]]}},"content":{"15":{"position":[[248,12]]},"419":{"position":[[103,12]]},"693":{"position":[[3315,15],[3878,13]]},"798":{"position":[[103,12]]},"937":{"position":[[129,13],[1843,14],[4146,12]]},"980":{"position":[[1138,12],[1302,13]]},"1368":{"position":[[420,13]]},"1370":{"position":[[697,13],[1707,14],[1799,14],[2221,12]]},"1384":{"position":[[22050,12]]},"1386":{"position":[[2527,13]]},"1415":{"position":[[2731,13],[5124,13]]},"1481":{"position":[[433,13]]}},"keywords":{}}],["archiv",{"_index":3664,"title":{},"content":{"706":{"position":[[453,10]]},"1382":{"position":[[3211,8]]},"1389":{"position":[[524,9]]},"1395":{"position":[[1759,8],[2882,8],[3050,7]]},"1422":{"position":[[779,8],[1890,7],[3015,7],[3284,7],[4022,9]]},"1469":{"position":[[2078,7]]}},"keywords":{}}],["archive)/bin/thrift",{"_index":7916,"title":{},"content":{"1422":{"position":[[4340,19]]}},"keywords":{}}],["archive_cont",{"_index":7320,"title":{},"content":{"1389":{"position":[[497,17]]}},"keywords":{}}],["archive_thin",{"_index":4308,"title":{},"content":{"896":{"position":[[98,13]]}},"keywords":{}}],["archiver_flag",{"_index":7321,"title":{},"content":{"1389":{"position":[[539,15]]}},"keywords":{}}],["archiver_supports_argfil",{"_index":7322,"title":{},"content":{"1389":{"position":[[570,27]]}},"keywords":{}}],["archiver_typ",{"_index":7323,"title":{},"content":{"1389":{"position":[[608,14]]}},"keywords":{}}],["aren't",{"_index":795,"title":{},"content":{"24":{"position":[[913,6]]},"1029":{"position":[[236,6]]},"1037":{"position":[[10,6],[100,6]]},"1082":{"position":[[5,6]]},"1226":{"position":[[3232,6]]},"1237":{"position":[[3402,6]]}},"keywords":{}}],["areplac",{"_index":4484,"title":{},"content":{"919":{"position":[[616,12]]}},"keywords":{}}],["arg",{"_index":1344,"title":{"850":{"position":[[25,5]]}},"content":{"126":{"position":[[468,4]]},"249":{"position":[[468,4]]},"300":{"position":[[63,4],[240,4],[249,3],[364,4]]},"386":{"position":[[13,5],[430,5]]},"389":{"position":[[906,3],[926,3],[961,3],[1401,3],[1518,3],[1561,3]]},"405":{"position":[[14,6],[1227,5],[1509,5]]},"411":{"position":[[148,4]]},"595":{"position":[[210,4]]},"657":{"position":[[22,6]]},"715":{"position":[[1276,5]]},"724":{"position":[[80,4]]},"765":{"position":[[13,5],[430,5]]},"768":{"position":[[906,3],[926,3],[961,3],[1401,3],[1518,3],[1561,3]]},"784":{"position":[[14,6],[1227,5],[1509,5]]},"790":{"position":[[148,4]]},"840":{"position":[[345,4],[879,4]]},"850":{"position":[[53,4],[255,4]]},"867":{"position":[[118,4]]},"921":{"position":[[94,4],[135,5]]},"961":{"position":[[506,4],[782,4],[812,4]]},"966":{"position":[[348,4]]},"1031":{"position":[[483,3],[774,3]]},"1044":{"position":[[2588,3]]},"1071":{"position":[[472,6]]},"1082":{"position":[[1153,4],[1215,4]]},"1083":{"position":[[131,3],[990,4]]},"1084":{"position":[[572,4]]},"1088":{"position":[[1122,4]]},"1124":{"position":[[84,4],[163,5]]},"1140":{"position":[[247,8]]},"1188":{"position":[[300,8]]},"1217":{"position":[[375,4]]},"1363":{"position":[[5921,3]]},"1374":{"position":[[378,5],[1659,5],[3144,4],[3365,4],[3461,4],[3557,4]]},"1388":{"position":[[553,5],[4651,5]]},"1403":{"position":[[4292,3]]},"1410":{"position":[[3924,5]]},"1455":{"position":[[4448,5]]},"1478":{"position":[[392,5],[1995,5],[2908,4],[3010,4],[3132,3]]},"1486":{"position":[[356,5],[1884,4],[3226,4]]}},"keywords":{}}],["arg"",{"_index":5685,"title":{},"content":{"1105":{"position":[[543,10]]}},"keywords":{}}],["arg.list(arg.str",{"_index":4775,"title":{},"content":{"961":{"position":[[533,20]]},"966":{"position":[[375,20]]}},"keywords":{}}],["arg1",{"_index":4778,"title":{},"content":{"961":{"position":[[687,4]]},"1486":{"position":[[3236,4],[3730,4],[5146,4]]}},"keywords":{}}],["arg2",{"_index":8569,"title":{},"content":{"1486":{"position":[[3243,5],[3737,4],[5153,4]]}},"keywords":{}}],["arga",{"_index":8573,"title":{},"content":{"1486":{"position":[[3399,6],[4468,5]]}},"keywords":{}}],["argb",{"_index":8576,"title":{},"content":{"1486":{"position":[[3493,6]]}},"keywords":{}}],["argc",{"_index":8579,"title":{},"content":{"1486":{"position":[[3587,6]]}},"keywords":{}}],["arghandle(index",{"_index":5498,"title":{},"content":{"1071":{"position":[[976,16]]}},"keywords":{}}],["arghandleand",{"_index":5500,"title":{},"content":{"1071":{"position":[[1096,12]]}},"keywords":{}}],["arglik",{"_index":1258,"title":{},"content":{"98":{"position":[[1264,7]]},"230":{"position":[[1264,7]]},"374":{"position":[[918,9]]},"753":{"position":[[918,9]]}},"keywords":{}}],["args>",{"_index":3871,"title":{},"content":{"841":{"position":[[96,8],[218,8]]},"1140":{"position":[[87,12]]},"1188":{"position":[[140,12]]}},"keywords":{}}],["args.link_styl",{"_index":7733,"title":{},"content":{"1405":{"position":[[2923,16]]},"1407":{"position":[[3344,16]]}},"keywords":{}}],["args.static_lib",{"_index":8208,"title":{},"content":{"1455":{"position":[[3646,17]]}},"keywords":{}}],["args.static_pic_lib",{"_index":8210,"title":{},"content":{"1455":{"position":[[4037,21]]}},"keywords":{}}],["args=",x",{"_index":2149,"title":{},"content":{"405":{"position":[[1660,15]]},"784":{"position":[[1660,15]]}},"keywords":{}}],["args={}"",{"_index":2144,"title":{},"content":{"405":{"position":[[1478,14]]},"784":{"position":[[1478,14]]}},"keywords":{}}],["args_project",{"_index":2401,"title":{},"content":{"448":{"position":[[23,17]]},"827":{"position":[[23,17]]},"1082":{"position":[[1133,19]]}},"keywords":{}}],["argset",{"_index":6242,"title":{"1266":{"position":[[39,7]]},"1297":{"position":[[39,7]]},"1325":{"position":[[39,7]]}},"content":{"1259":{"position":[[632,7]]},"1290":{"position":[[632,7]]},"1318":{"position":[[632,7]]}},"keywords":{}}],["argsfil",{"_index":5781,"title":{},"content":{"1124":{"position":[[186,9]]}},"keywords":{}}],["arguabl",{"_index":4741,"title":{},"content":{"951":{"position":[[691,8]]}},"keywords":{}}],["argument",{"_index":287,"title":{"699":{"position":[[50,9]]},"1071":{"position":[[9,9]]}},"content":{"9":{"position":[[2402,9]]},"65":{"position":[[50,9]]},"72":{"position":[[184,8]]},"83":{"position":[[97,8]]},"89":{"position":[[1152,8]]},"92":{"position":[[592,9],[881,8],[901,10],[1495,8],[1525,8]]},"94":{"position":[[17,10],[1191,10],[1817,9],[2517,10]]},"98":{"position":[[696,9]]},"126":{"position":[[153,8],[234,8]]},"130":{"position":[[145,9]]},"131":{"position":[[473,8]]},"215":{"position":[[97,8]]},"221":{"position":[[1152,8]]},"224":{"position":[[592,9],[881,8],[901,10],[1495,8],[1525,8]]},"226":{"position":[[17,10],[1191,10],[1817,9],[2517,10]]},"230":{"position":[[696,9]]},"249":{"position":[[153,8],[234,8]]},"253":{"position":[[145,9]]},"254":{"position":[[473,8]]},"294":{"position":[[1214,8],[1317,8]]},"297":{"position":[[1072,8]]},"310":{"position":[[634,8],[757,8]]},"405":{"position":[[1212,9],[1428,9],[1596,9],[1723,8],[1785,8],[1874,9],[2435,9]]},"408":{"position":[[1247,8]]},"453":{"position":[[50,9]]},"495":{"position":[[184,8]]},"560":{"position":[[233,8],[564,8]]},"595":{"position":[[195,9],[463,8],[799,9],[852,9],[1087,8]]},"604":{"position":[[186,9],[257,8]]},"606":{"position":[[200,8]]},"610":{"position":[[254,8],[911,8]]},"615":{"position":[[201,8]]},"617":{"position":[[309,9]]},"636":{"position":[[201,9],[383,10]]},"638":{"position":[[458,8]]},"642":{"position":[[79,8]]},"644":{"position":[[81,8],[355,10]]},"648":{"position":[[184,8],[700,8],[803,8],[849,9]]},"651":{"position":[[104,9],[143,8]]},"652":{"position":[[223,9]]},"662":{"position":[[403,10],[423,9],[526,10],[610,10]]},"663":{"position":[[492,9],[554,9]]},"664":{"position":[[44,8]]},"666":{"position":[[395,8]]},"668":{"position":[[42,8]]},"670":{"position":[[177,10]]},"673":{"position":[[212,9]]},"675":{"position":[[98,9]]},"679":{"position":[[187,9],[301,9],[381,10],[441,9]]},"680":{"position":[[516,9]]},"681":{"position":[[291,10]]},"683":{"position":[[201,8]]},"693":{"position":[[9049,9],[9149,8]]},"695":{"position":[[117,8]]},"699":{"position":[[51,8]]},"784":{"position":[[1212,9],[1428,9],[1596,9],[1723,8],[1785,8],[1874,9],[2435,9]]},"787":{"position":[[1247,8]]},"840":{"position":[[660,9]]},"841":{"position":[[235,9]]},"850":{"position":[[549,9],[702,10]]},"869":{"position":[[488,9]]},"872":{"position":[[538,9]]},"873":{"position":[[391,8]]},"901":{"position":[[454,9],[516,9]]},"902":{"position":[[447,8]]},"906":{"position":[[783,9]]},"924":{"position":[[517,8]]},"927":{"position":[[338,9]]},"959":{"position":[[502,9]]},"961":{"position":[[447,10],[735,10]]},"970":{"position":[[48,9]]},"995":{"position":[[748,9]]},"1004":{"position":[[230,8],[441,10],[751,10]]},"1040":{"position":[[112,9],[417,9],[983,8],[1003,10],[1267,8],[1297,8]]},"1069":{"position":[[236,10],[325,9]]},"1071":{"position":[[64,9],[519,9],[701,9],[855,9],[1356,10]]},"1082":{"position":[[206,10]]},"1084":{"position":[[219,9]]},"1105":{"position":[[237,9]]},"1133":{"position":[[289,8],[430,8],[623,9]]},"1136":{"position":[[853,10]]},"1138":{"position":[[86,10],[5907,8],[5997,9],[6090,9]]},"1140":{"position":[[100,10],[256,9]]},"1144":{"position":[[223,10]]},"1146":{"position":[[107,10]]},"1148":{"position":[[1209,10],[3257,8],[3347,9],[3440,9]]},"1150":{"position":[[534,10]]},"1155":{"position":[[119,10]]},"1161":{"position":[[70,10]]},"1167":{"position":[[113,10],[193,9]]},"1171":{"position":[[366,9]]},"1172":{"position":[[879,10]]},"1173":{"position":[[179,10]]},"1174":{"position":[[83,10]]},"1175":{"position":[[103,10]]},"1176":{"position":[[23,9],[187,10],[531,9]]},"1177":{"position":[[99,10]]},"1178":{"position":[[253,10]]},"1179":{"position":[[119,10]]},"1180":{"position":[[449,10]]},"1181":{"position":[[162,10],[253,9]]},"1182":{"position":[[141,10]]},"1183":{"position":[[96,10]]},"1186":{"position":[[128,10],[1481,8],[1571,9],[1664,9]]},"1187":{"position":[[141,10],[1494,8],[1584,9],[1677,9]]},"1188":{"position":[[153,10],[309,9],[6220,8],[6310,9],[6403,9]]},"1191":{"position":[[117,10]]},"1192":{"position":[[308,10]]},"1193":{"position":[[73,10]]},"1194":{"position":[[117,10]]},"1195":{"position":[[114,10]]},"1197":{"position":[[120,10],[719,8],[809,9],[902,9]]},"1198":{"position":[[96,10],[729,8],[819,9],[912,9]]},"1199":{"position":[[117,10],[757,8],[847,9],[940,9]]},"1200":{"position":[[147,10],[624,8],[714,9],[807,9]]},"1201":{"position":[[171,10]]},"1202":{"position":[[1325,10],[5737,10]]},"1203":{"position":[[135,10]]},"1204":{"position":[[7338,10]]},"1205":{"position":[[316,10]]},"1207":{"position":[[180,10]]},"1209":{"position":[[86,10]]},"1217":{"position":[[231,10],[309,9]]},"1226":{"position":[[81,10]]},"1228":{"position":[[129,10],[213,9]]},"1235":{"position":[[1346,10]]},"1237":{"position":[[251,10]]},"1251":{"position":[[262,9]]},"1259":{"position":[[2126,10],[2193,9],[2215,8],[2237,8],[2329,10]]},"1260":{"position":[[434,9]]},"1262":{"position":[[247,8],[880,8]]},"1282":{"position":[[45,10]]},"1283":{"position":[[13,9],[35,8],[57,8]]},"1284":{"position":[[38,10]]},"1290":{"position":[[2126,10],[2193,9],[2215,8],[2237,8],[2329,10]]},"1291":{"position":[[434,9]]},"1293":{"position":[[247,8],[880,8]]},"1313":{"position":[[45,10]]},"1314":{"position":[[13,9],[35,8],[57,8]]},"1315":{"position":[[38,10]]},"1318":{"position":[[2126,10],[2193,9],[2215,8],[2237,8],[2329,10]]},"1319":{"position":[[434,9]]},"1321":{"position":[[247,8],[880,8]]},"1341":{"position":[[45,10]]},"1342":{"position":[[13,9],[35,8],[57,8]]},"1343":{"position":[[38,10]]},"1348":{"position":[[3600,8]]},"1351":{"position":[[3335,8]]},"1355":{"position":[[4576,9],[4624,9],[4720,9]]},"1356":{"position":[[3062,9]]},"1360":{"position":[[2954,8],[3062,9],[3171,10],[3388,8],[3446,8],[3742,8],[4699,8],[4804,9],[5099,8]]},"1362":{"position":[[11632,8]]},"1363":{"position":[[5278,8]]},"1364":{"position":[[8254,8]]},"1366":{"position":[[3170,8]]},"1367":{"position":[[10194,8]]},"1373":{"position":[[4471,9],[6653,8]]},"1374":{"position":[[766,9],[1677,9],[1755,9],[2044,10]]},"1382":{"position":[[8973,8]]},"1383":{"position":[[2539,8],[2647,9],[5117,8],[6042,8],[6100,8],[6731,8],[6836,9],[7207,8],[8653,9]]},"1384":{"position":[[8440,8],[10030,8],[10094,9],[15318,8],[18456,8]]},"1385":{"position":[[5201,8]]},"1387":{"position":[[8574,8]]},"1388":{"position":[[4678,9],[4792,10]]},"1393":{"position":[[6371,9]]},"1398":{"position":[[3556,9],[3609,9],[3649,8]]},"1402":{"position":[[1847,8]]},"1403":{"position":[[2369,8],[2477,9],[2586,10],[2803,8],[2861,8],[3157,8],[4114,8],[4219,9],[5256,8]]},"1405":{"position":[[2633,9],[2646,8],[3100,8]]},"1407":{"position":[[2379,8],[3054,9],[3067,8],[3521,8]]},"1410":{"position":[[3156,9],[3169,8],[4102,8],[4190,9],[5620,9]]},"1412":{"position":[[3072,9]]},"1415":{"position":[[4612,8]]},"1426":{"position":[[2761,10]]},"1427":{"position":[[1916,9],[3721,9],[3769,9]]},"1429":{"position":[[4953,8],[5045,8],[5193,9],[5788,8],[6257,9]]},"1438":{"position":[[1660,8],[2096,8]]},"1439":{"position":[[2202,9],[4403,9],[5464,9]]},"1440":{"position":[[5039,8],[5187,9],[6056,9]]},"1455":{"position":[[3327,9],[3825,9],[4228,9]]},"1467":{"position":[[10752,10]]},"1470":{"position":[[4313,9]]},"1472":{"position":[[5772,8]]},"1478":{"position":[[2013,9]]},"1483":{"position":[[1446,8]]},"1487":{"position":[[2830,8]]}},"keywords":{}}],["argument.linker_flag",{"_index":7734,"title":{},"content":{"1405":{"position":[[3188,22]]},"1407":{"position":[[3609,22]]}},"keywords":{}}],["argument.quot",{"_index":2152,"title":{},"content":{"405":{"position":[[1806,14]]},"784":{"position":[[1806,14]]}},"keywords":{}}],["argumentsuse_persist",{"_index":1912,"title":{},"content":{"362":{"position":[[2351,23]]},"741":{"position":[[2351,23]]}},"keywords":{}}],["aris",{"_index":5607,"title":{},"content":{"1090":{"position":[[34,5]]}},"keywords":{}}],["aritfact",{"_index":3978,"title":{},"content":{"861":{"position":[[691,10]]}},"keywords":{}}],["ariti",{"_index":4373,"title":{},"content":{"900":{"position":[[919,5],[1022,5]]}},"keywords":{}}],["arm",{"_index":4581,"title":{},"content":{"937":{"position":[[153,5]]},"1454":{"position":[[10221,5],[10402,5]]}},"keywords":{}}],["arm).unblock",{"_index":4611,"title":{},"content":{"937":{"position":[[4169,12]]}},"keywords":{}}],["arm/libmylib.a",{"_index":8192,"title":{},"content":{"1454":{"position":[[10417,17]]}},"keywords":{}}],["arm/libmylib.so",{"_index":8189,"title":{},"content":{"1454":{"position":[[10236,18]]}},"keywords":{}}],["arm64"",{"_index":5029,"title":{},"content":{"1006":{"position":[[931,12],[1091,12]]}},"keywords":{}}],["armv7",{"_index":7229,"title":{},"content":{"1384":{"position":[[22120,12],[22234,11]]}},"keywords":{}}],["armv7"",{"_index":5031,"title":{},"content":{"1006":{"position":[[1008,12],[1169,12]]}},"keywords":{}}],["armv7.",{"_index":7230,"title":{},"content":{"1384":{"position":[[22133,11]]}},"keywords":{}}],["armv7.h",{"_index":7233,"title":{},"content":{"1384":{"position":[[22268,9]]}},"keywords":{}}],["around",{"_index":105,"title":{},"content":{"5":{"position":[[414,6]]},"9":{"position":[[863,6]]},"616":{"position":[[654,6]]},"715":{"position":[[485,6]]},"864":{"position":[[1675,6]]},"890":{"position":[[5058,6]]},"924":{"position":[[907,6],[1146,6],[1474,6]]},"937":{"position":[[1353,6]]},"1049":{"position":[[30,6]]},"1104":{"position":[[1489,6]]},"1232":{"position":[[3210,6]]}},"keywords":{}}],["arrang",{"_index":6574,"title":{},"content":{"1355":{"position":[[7704,11]]}},"keywords":{}}],["array",{"_index":3131,"title":{},"content":{"638":{"position":[[808,5],[929,6]]},"902":{"position":[[796,5],[916,6]]},"1446":{"position":[[1653,5]]}},"keywords":{}}],["articl",{"_index":75,"title":{"5":{"position":[[9,8]]}},"content":{},"keywords":{}}],["artifact",{"_index":836,"title":{"44":{"position":[[0,8]]},"191":{"position":[[0,8]]},"356":{"position":[[0,9]]},"735":{"position":[[0,9]]},"834":{"position":[[37,10]]},"861":{"position":[[23,8]]},"1049":{"position":[[19,9]]}},"content":{"36":{"position":[[155,9]]},"37":{"position":[[153,8],[254,8]]},"45":{"position":[[107,8],[129,9],[153,8]]},"46":{"position":[[46,9],[68,8]]},"47":{"position":[[52,9],[74,8]]},"48":{"position":[[38,8]]},"49":{"position":[[81,9],[147,8]]},"50":{"position":[[73,8],[93,8],[140,9],[166,8],[300,9],[378,8]]},"51":{"position":[[114,8]]},"52":{"position":[[72,8],[153,9],[195,10],[210,9]]},"53":{"position":[[50,8],[131,9],[167,9]]},"65":{"position":[[123,10]]},"69":{"position":[[37,8],[123,8],[277,9],[472,9]]},"84":{"position":[[40,9],[73,8],[102,8]]},"85":{"position":[[34,8],[219,8],[245,8]]},"86":{"position":[[32,8],[82,10],[103,8],[124,8],[276,9]]},"87":{"position":[[28,8],[67,9],[87,8]]},"88":{"position":[[29,8],[68,9],[88,8],[116,8],[204,9],[237,9]]},"89":{"position":[[92,8],[121,9],[242,8],[645,8],[706,8],[825,9],[913,8],[1052,8]]},"91":{"position":[[35,8],[234,8],[303,10]]},"92":{"position":[[271,11],[627,9],[790,9],[1019,9],[1100,8],[1346,9],[1472,9],[1549,10],[1580,9],[2108,9],[2180,8],[2304,9],[2372,8]]},"94":{"position":[[28,8],[335,8],[1289,10]]},"95":{"position":[[32,8],[71,9],[91,8],[133,8],[221,9],[254,9]]},"96":{"position":[[35,8],[85,10],[106,8],[127,8],[270,9]]},"98":{"position":[[27,8],[70,8],[429,8],[440,10],[479,8],[809,8],[851,8],[1043,8]]},"99":{"position":[[32,8],[82,8],[548,8],[591,8],[692,8],[833,9],[864,8],[1451,8]]},"107":{"position":[[115,8]]},"112":{"position":[[110,8]]},"145":{"position":[[155,8]]},"181":{"position":[[155,9]]},"182":{"position":[[153,8],[254,8]]},"192":{"position":[[107,8],[129,9],[153,8]]},"193":{"position":[[46,9],[68,8]]},"194":{"position":[[52,9],[74,8]]},"195":{"position":[[38,8]]},"196":{"position":[[81,9],[147,8]]},"197":{"position":[[73,8],[93,8],[140,9],[166,8],[300,9],[378,8]]},"198":{"position":[[114,8]]},"199":{"position":[[72,8],[153,9],[195,10],[210,9]]},"200":{"position":[[50,8],[131,9],[167,9]]},"216":{"position":[[40,9],[73,8],[102,8]]},"217":{"position":[[34,8],[219,8],[245,8]]},"218":{"position":[[32,8],[82,10],[103,8],[124,8],[276,9]]},"219":{"position":[[28,8],[67,9],[87,8]]},"220":{"position":[[29,8],[68,9],[88,8],[116,8],[204,9],[237,9]]},"221":{"position":[[92,8],[121,9],[242,8],[645,8],[706,8],[825,9],[913,8],[1052,8]]},"223":{"position":[[35,8],[234,8],[303,10]]},"224":{"position":[[271,11],[627,9],[790,9],[1019,9],[1100,8],[1346,9],[1472,9],[1549,10],[1580,9],[2108,9],[2180,8],[2304,9],[2372,8]]},"226":{"position":[[28,8],[335,8],[1289,10]]},"227":{"position":[[32,8],[71,9],[91,8],[133,8],[221,9],[254,9]]},"228":{"position":[[35,8],[85,10],[106,8],[127,8],[270,9]]},"230":{"position":[[27,8],[70,8],[429,8],[440,10],[479,8],[809,8],[851,8],[1043,8]]},"231":{"position":[[32,8],[82,8],[548,8],[591,8],[692,8],[833,9],[864,8],[1451,8]]},"245":{"position":[[107,9]]},"246":{"position":[[110,9]]},"268":{"position":[[155,8]]},"279":{"position":[[84,8],[110,8],[364,8]]},"288":{"position":[[50,8],[238,9],[676,8],[775,8]]},"289":{"position":[[50,8],[258,9],[696,8],[795,8]]},"297":{"position":[[638,9]]},"298":{"position":[[1149,9]]},"304":{"position":[[355,8]]},"314":{"position":[[41,8]]},"315":{"position":[[32,8],[182,8],[196,10]]},"316":{"position":[[32,8],[202,8],[216,10]]},"317":{"position":[[33,8],[205,8],[219,10]]},"318":{"position":[[31,8],[344,8],[358,10]]},"319":{"position":[[42,8]]},"320":{"position":[[33,8],[216,8],[245,8],[447,9]]},"344":{"position":[[38,9],[85,8],[100,8],[185,9]]},"345":{"position":[[38,10],[56,8],[414,10],[860,9]]},"356":{"position":[[0,9]]},"368":{"position":[[40,8],[2951,9],[3357,9],[3519,8]]},"375":{"position":[[51,10],[257,9]]},"377":{"position":[[33,8]]},"386":{"position":[[19,8]]},"397":{"position":[[53,9]]},"400":{"position":[[416,9],[485,9]]},"405":{"position":[[21,8],[269,8],[698,8],[736,9],[1007,8],[1051,10],[1962,9],[1992,9],[2026,9],[2198,9],[2276,8],[2366,8]]},"406":{"position":[[110,8],[530,9]]},"408":{"position":[[43,9],[228,9],[421,9],[653,8],[807,9],[1019,9]]},"411":{"position":[[70,10],[137,10]]},"416":{"position":[[44,9],[131,8],[271,8],[308,8],[502,8],[834,8],[1045,8]]},"417":{"position":[[49,8],[500,8],[537,8],[732,8],[1193,8]]},"427":{"position":[[381,9]]},"453":{"position":[[123,10]]},"457":{"position":[[37,8],[123,8],[277,9],[472,9]]},"510":{"position":[[53,8],[70,8],[264,8],[843,8]]},"511":{"position":[[53,8],[70,8],[284,8],[858,8]]},"519":{"position":[[115,8]]},"524":{"position":[[110,8]]},"570":{"position":[[28,9],[164,9],[358,8]]},"572":{"position":[[175,9],[240,10]]},"680":{"position":[[833,9]]},"693":{"position":[[316,9],[355,9],[441,8],[490,8],[799,9],[7270,9]]},"711":{"position":[[643,9]]},"715":{"position":[[1508,10]]},"722":{"position":[[737,8],[1206,11]]},"724":{"position":[[725,9]]},"735":{"position":[[0,9]]},"747":{"position":[[40,8],[2951,9],[3357,9],[3519,8]]},"754":{"position":[[51,10],[257,9]]},"756":{"position":[[33,8]]},"765":{"position":[[19,8]]},"776":{"position":[[53,9]]},"779":{"position":[[416,9],[485,9]]},"784":{"position":[[21,8],[269,8],[698,8],[736,9],[1007,8],[1051,10],[1962,9],[1992,9],[2026,9],[2198,9],[2276,8],[2366,8]]},"785":{"position":[[110,8],[530,9]]},"787":{"position":[[43,9],[228,9],[421,9],[653,8],[807,9],[1019,9]]},"790":{"position":[[70,10],[137,10]]},"795":{"position":[[44,9],[131,8],[271,8],[308,8],[502,8],[834,8],[1045,8]]},"796":{"position":[[49,8],[500,8],[537,8],[732,8],[1193,8]]},"806":{"position":[[381,9]]},"832":{"position":[[627,9],[661,9],[756,9]]},"834":{"position":[[169,8],[267,8],[524,8],[580,8]]},"837":{"position":[[296,10]]},"840":{"position":[[1399,9],[1525,8],[1721,9]]},"844":{"position":[[92,11],[158,9]]},"848":{"position":[[12,8],[45,8],[314,9],[364,8],[386,8],[526,8],[641,8],[732,9],[834,10]]},"861":{"position":[[13,8],[47,10],[67,10],[88,10],[406,8],[588,10],[729,9],[785,11]]},"864":{"position":[[1410,9],[1496,9],[1695,9]]},"867":{"position":[[2184,8],[2299,8]]},"869":{"position":[[505,10]]},"872":{"position":[[930,9]]},"877":{"position":[[79,9]]},"878":{"position":[[559,8],[716,10]]},"949":{"position":[[122,10]]},"950":{"position":[[223,9],[314,9],[964,8],[1061,9],[1225,10],[1259,8]]},"955":{"position":[[625,9]]},"959":{"position":[[333,10]]},"964":{"position":[[287,9]]},"966":{"position":[[586,8],[636,8],[696,8]]},"1031":{"position":[[79,10],[730,9]]},"1040":{"position":[[147,9],[276,9],[305,10],[892,9],[1119,9],[1244,9],[1321,10],[1352,9],[1444,9],[1525,8],[2397,10]]},"1042":{"position":[[555,8]]},"1044":{"position":[[40,10],[523,10],[538,11],[602,10],[625,8],[717,8],[735,11],[779,8],[801,8],[889,8],[931,8],[1228,8],[2557,9],[2578,9]]},"1049":{"position":[[128,8],[150,10],[194,10],[260,9],[275,8],[325,10],[425,8],[555,8],[619,8],[647,10]]},"1067":{"position":[[133,9]]},"1071":{"position":[[199,10]]},"1075":{"position":[[232,9],[270,9],[418,9],[612,9],[631,9],[722,10]]},"1079":{"position":[[73,10],[134,10],[942,9],[1097,10],[1280,10]]},"1082":{"position":[[373,9]]},"1083":{"position":[[1099,10],[1207,9]]},"1103":{"position":[[1200,8],[1260,8],[1312,8],[1470,10]]},"1104":{"position":[[1103,9],[1627,8],[1823,9]]},"1105":{"position":[[261,9],[322,9],[588,8],[740,8],[893,8],[1084,9],[1458,9],[1540,9],[1939,9]]},"1138":{"position":[[754,10],[1429,9]]},"1140":{"position":[[380,10]]},"1142":{"position":[[229,9],[374,9],[430,9]]},"1188":{"position":[[433,10]]},"1190":{"position":[[1155,9],[1210,10],[1457,10]]},"1205":{"position":[[42,9],[97,10],[378,9]]},"1206":{"position":[[86,10],[3688,9]]},"1245":{"position":[[176,10],[476,9]]},"1393":{"position":[[9501,9]]},"1422":{"position":[[2309,8],[2469,9]]},"1423":{"position":[[1997,9],[2138,9]]},"1469":{"position":[[1793,9]]}},"keywords":{}}],["artifact'",{"_index":839,"title":{},"content":{"37":{"position":[[73,10]]},"182":{"position":[[73,10]]},"304":{"position":[[434,10]]}},"keywords":{}}],["artifact.as_output",{"_index":869,"title":{"45":{"position":[[0,19]]},"192":{"position":[[0,19]]}},"content":{"45":{"position":[[4,20]]},"192":{"position":[[4,20]]}},"keywords":{}}],["artifact.basenam",{"_index":875,"title":{"46":{"position":[[0,18]]},"193":{"position":[[0,18]]}},"content":{"46":{"position":[[0,18]]},"193":{"position":[[0,18]]}},"keywords":{}}],["artifact.extens",{"_index":879,"title":{"47":{"position":[[0,19]]},"194":{"position":[[0,19]]}},"content":{"47":{"position":[[0,19]]},"194":{"position":[[0,19]]}},"keywords":{}}],["artifact.is_sourc",{"_index":884,"title":{"48":{"position":[[0,19]]},"195":{"position":[[0,19]]}},"content":{"48":{"position":[[0,19]]},"195":{"position":[[0,19]]}},"keywords":{}}],["artifact.own",{"_index":888,"title":{"49":{"position":[[0,15]]},"196":{"position":[[0,15]]}},"content":{"49":{"position":[[0,15]]},"196":{"position":[[0,15]]}},"keywords":{}}],["artifact.par",{"_index":2156,"title":{},"content":{"405":{"position":[[2168,15]]},"784":{"position":[[2168,15]]}},"keywords":{}}],["artifact.project",{"_index":890,"title":{"50":{"position":[[0,17]]},"197":{"position":[[0,17]]}},"content":{"50":{"position":[[4,17]]},"197":{"position":[[4,17]]}},"keywords":{}}],["artifact.short_path",{"_index":901,"title":{"51":{"position":[[0,20]]},"198":{"position":[[0,20]]}},"content":{"51":{"position":[[0,20]]},"198":{"position":[[0,20]]}},"keywords":{}}],["artifact.with_associated_artifact",{"_index":903,"title":{"52":{"position":[[0,35]]},"199":{"position":[[0,35]]}},"content":{},"keywords":{}}],["artifact.with_associated_artifacts(artifact",{"_index":904,"title":{},"content":{"52":{"position":[[4,45]]},"199":{"position":[[4,45]]}},"keywords":{}}],["artifact.without_associated_artifact",{"_index":908,"title":{"53":{"position":[[0,38]]},"200":{"position":[[0,38]]}},"content":{"53":{"position":[[4,39]]},"200":{"position":[[4,39]]}},"keywords":{}}],["artifact/act",{"_index":4727,"title":{},"content":{"950":{"position":[[118,15]]}},"keywords":{}}],["artifact_from_dict",{"_index":5184,"title":{},"content":{"1044":{"position":[[1279,18]]}},"keywords":{}}],["artifact_promise_map",{"_index":2101,"title":{},"content":{"400":{"position":[[127,26],[326,25]]},"779":{"position":[[127,26],[326,25]]},"1042":{"position":[[180,25]]},"1043":{"position":[[292,25],[383,25]]},"1044":{"position":[[669,25],[840,26],[1068,25],[1606,25],[1748,25],[3097,25]]},"1049":{"position":[[1054,25]]}},"keywords":{}}],["artifact_tag",{"_index":1023,"title":{},"content":{"83":{"position":[[33,12]]},"94":{"position":[[775,13]]},"215":{"position":[[33,12]]},"226":{"position":[[775,13]]}},"keywords":{}}],["artifact_valu",{"_index":1119,"title":{},"content":{"92":{"position":[[239,16]]},"224":{"position":[[239,16]]},"411":{"position":[[96,16]]},"790":{"position":[[96,16]]}},"keywords":{}}],["artifactcategori",{"_index":1190,"title":{},"content":{"94":{"position":[[1343,17]]},"226":{"position":[[1343,17]]}},"keywords":{}}],["artifactfor",{"_index":3714,"title":{},"content":{"711":{"position":[[675,11]]}},"keywords":{}}],["artifacts()funct",{"_index":5177,"title":{},"content":{"1044":{"position":[[55,21]]}},"keywords":{}}],["artifacts[dep_file].read_lin",{"_index":5156,"title":{},"content":{"1040":{"position":[[2449,32]]}},"keywords":{}}],["artifacts[query_params].read_json",{"_index":4108,"title":{},"content":{"878":{"position":[[793,35]]}},"keywords":{}}],["artifacttag",{"_index":1867,"title":{"357":{"position":[[0,12]]},"736":{"position":[[0,12]]}},"content":{"357":{"position":[[0,12]]},"736":{"position":[[0,12]]}},"keywords":{}}],["artifacttravers",{"_index":1997,"title":{},"content":{"368":{"position":[[3321,20],[3489,19]]},"747":{"position":[[3321,20],[3489,19]]}},"keywords":{}}],["artifactvalu",{"_index":1868,"title":{"358":{"position":[[0,14]]},"737":{"position":[[0,14]]}},"content":{"358":{"position":[[0,14]]},"737":{"position":[[0,14]]}},"keywords":{}}],["as$home/.cargo/bin",{"_index":465,"title":{},"content":{"15":{"position":[[604,19]]}},"keywords":{}}],["as.actu",{"_index":4956,"title":{},"content":{"993":{"position":[[114,9]]}},"keywords":{}}],["as.configured_actu",{"_index":4969,"title":{},"content":{"995":{"position":[[125,20]]}},"keywords":{}}],["as.vers",{"_index":4962,"title":{},"content":{"994":{"position":[[124,11]]}},"keywords":{}}],["as_output",{"_index":1090,"title":{},"content":{"89":{"position":[[623,9]]},"94":{"position":[[1330,12]]},"221":{"position":[[623,9]]},"226":{"position":[[1330,12]]},"1105":{"position":[[794,12],[1186,13]]}},"keywords":{}}],["asan",{"_index":4582,"title":{},"content":{"937":{"position":[[179,5],[2099,4],[2171,4],[2278,4]]},"942":{"position":[[180,4],[295,4]]},"1405":{"position":[[449,5]]},"1407":{"position":[[459,5]]},"1410":{"position":[[572,5],[2546,5],[2568,5]]}},"keywords":{}}],["asan.assembler_flag",{"_index":7725,"title":{},"content":{"1405":{"position":[[2127,21]]},"1407":{"position":[[2168,21]]}},"keywords":{}}],["asapple_bundle—wher",{"_index":3424,"title":{},"content":{"682":{"position":[[212,20]]}},"keywords":{}}],["asbuck2",{"_index":4663,"title":{},"content":{"942":{"position":[[45,7]]},"1282":{"position":[[460,7]]},"1283":{"position":[[474,7]]},"1284":{"position":[[453,7]]},"1313":{"position":[[460,7]]},"1314":{"position":[[474,7]]},"1315":{"position":[[453,7]]},"1341":{"position":[[460,7]]},"1342":{"position":[[474,7]]},"1343":{"position":[[453,7]]}},"keywords":{}}],["ascell_alias//path/to/package:target",{"_index":3594,"title":{},"content":{"693":{"position":[[8659,37]]}},"keywords":{}}],["ascend",{"_index":3295,"title":{},"content":{"662":{"position":[[457,9]]},"1178":{"position":[[612,9]]}},"keywords":{}}],["asconstraintsettinginfo",{"_index":5061,"title":{},"content":{"1017":{"position":[[713,24]]}},"keywords":{}}],["ashould_propag",{"_index":4896,"title":{},"content":{"988":{"position":[[594,17]]}},"keywords":{}}],["asimpl",{"_index":509,"title":{},"content":{"17":{"position":[[806,7]]}},"keywords":{}}],["asingl",{"_index":753,"title":{},"content":{"23":{"position":[[2480,7]]}},"keywords":{}}],["ask",{"_index":1017,"title":{},"content":{"81":{"position":[[330,3]]},"213":{"position":[[330,3]]},"416":{"position":[[293,6]]},"417":{"position":[[522,6]]},"704":{"position":[[1527,3]]},"705":{"position":[[446,3],[525,3],[1054,5]]},"795":{"position":[[293,6]]},"796":{"position":[[522,6]]},"1393":{"position":[[4587,3]]}},"keywords":{}}],["asm",{"_index":7203,"title":{},"content":{"1384":{"position":[[11826,3],[11834,3],[12759,3],[12776,3]]},"1410":{"position":[[2648,4]]}},"keywords":{}}],["asm.build_mod",{"_index":7750,"title":{},"content":{"1407":{"position":[[2247,15]]}},"keywords":{}}],["asm.cgo_en",{"_index":7726,"title":{},"content":{"1405":{"position":[[2206,16]]}},"keywords":{}}],["asm.compiler_flag",{"_index":7783,"title":{},"content":{"1408":{"position":[[1916,19]]}},"keywords":{}}],["asm.go_compiler_flag",{"_index":7047,"title":{},"content":{"1373":{"position":[[4248,22]]}},"keywords":{}}],["asm_compil",{"_index":7324,"title":{},"content":{"1389":{"position":[[628,13]]}},"keywords":{}}],["asm_compiler_flag",{"_index":7325,"title":{},"content":{"1389":{"position":[[658,19]]}},"keywords":{}}],["asm_compiler_typ",{"_index":7326,"title":{},"content":{"1389":{"position":[[693,18]]}},"keywords":{}}],["asm_preprocessor",{"_index":7327,"title":{},"content":{"1389":{"position":[[728,17]]}},"keywords":{}}],["asm_preprocessor_flag",{"_index":7328,"title":{},"content":{"1389":{"position":[[762,23]]}},"keywords":{}}],["asm_preprocessor_typ",{"_index":7329,"title":{},"content":{"1389":{"position":[[801,22]]}},"keywords":{}}],["aspect",{"_index":302,"title":{},"content":{"9":{"position":[[2714,8]]},"22":{"position":[[1038,7]]}},"keywords":{}}],["asplatform_src",{"_index":3396,"title":{},"content":{"679":{"position":[[397,15]]}},"keywords":{}}],["assembl",{"_index":6815,"title":{},"content":{"1362":{"position":[[12411,9],[12651,8],[12707,9]]},"1364":{"position":[[12916,9],[13351,8],[13407,9]]},"1367":{"position":[[12319,9],[12559,8],[12615,9]]},"1373":{"position":[[4213,9]]},"1381":{"position":[[1744,10],[2769,8]]},"1382":{"position":[[10127,9],[11013,8],[11069,9]]},"1384":{"position":[[11608,10],[11801,9],[11815,8],[12585,10],[12725,9],[12748,8],[16472,9],[18667,8],[18723,9]]},"1385":{"position":[[6353,9],[6591,8],[6647,9]]},"1387":{"position":[[9726,9],[9964,8],[10020,9]]},"1388":{"position":[[9506,8],[9562,9]]},"1389":{"position":[[840,10]]},"1405":{"position":[[2171,9],[3744,10]]},"1406":{"position":[[1503,10],[1586,10]]},"1407":{"position":[[2212,9],[4363,10]]},"1408":{"position":[[1881,9],[2742,10],[2825,10]]},"1410":{"position":[[2613,9],[5154,10],[5237,10]]},"1442":{"position":[[2386,8],[2442,9]]},"1456":{"position":[[338,9],[574,9],[1570,8]]},"1485":{"position":[[3877,8],[3933,9]]}},"keywords":{}}],["assembler.tag",{"_index":7738,"title":{},"content":{"1405":{"position":[[3827,15]]},"1407":{"position":[[4446,15]]}},"keywords":{}}],["assembler_flag",{"_index":7330,"title":{},"content":{"1389":{"position":[[856,16]]},"1405":{"position":[[465,16]]},"1407":{"position":[[475,16]]},"1408":{"position":[[516,16]]},"1410":{"position":[[588,16],[2574,16]]}},"keywords":{}}],["assembler_preprocessor",{"_index":7331,"title":{},"content":{"1389":{"position":[[888,23]]}},"keywords":{}}],["assembler_preprocessor_flag",{"_index":7332,"title":{},"content":{"1389":{"position":[[928,29]]}},"keywords":{}}],["assembler_preprocessor_typ",{"_index":7333,"title":{},"content":{"1389":{"position":[[973,28]]}},"keywords":{}}],["assembler_typ",{"_index":7334,"title":{},"content":{"1389":{"position":[[1018,15]]}},"keywords":{}}],["assert",{"_index":1031,"title":{},"content":{"84":{"position":[[186,8]]},"216":{"position":[[186,8]]},"1004":{"position":[[2136,6]]},"1107":{"position":[[79,6]]}},"keywords":{}}],["assert_eq(a",{"_index":3772,"title":{},"content":{"712":{"position":[[3091,12]]}},"keywords":{}}],["assert_eq(mirrored_fields.fals",{"_index":3756,"title":{},"content":{"712":{"position":[[1710,32]]}},"keywords":{}}],["assert_eq(mirrored_fields.int",{"_index":3757,"title":{},"content":{"712":{"position":[[1750,30]]}},"keywords":{}}],["assert_eq(mirrored_fields.list_str",{"_index":3759,"title":{},"content":{"712":{"position":[[1847,38]]}},"keywords":{}}],["assert_eq(mirrored_fields.str",{"_index":3758,"title":{},"content":{"712":{"position":[[1785,33]]}},"keywords":{}}],["assert_eq(mirrored_fields.tru",{"_index":3755,"title":{},"content":{"712":{"position":[[1672,31]]}},"keywords":{}}],["asset",{"_index":6400,"title":{},"content":{"1348":{"position":[[4568,6],[4577,9]]},"1358":{"position":[[2549,5]]},"1359":{"position":[[438,7],[970,6]]},"1361":{"position":[[673,5],[2445,5]]},"1363":{"position":[[2892,5],[4011,5]]}},"keywords":{}}],["asset_catalogs_compilation_opt",{"_index":6847,"title":{},"content":{"1363":{"position":[[1309,35],[3945,35]]},"1367":{"position":[[1465,35]]}},"keywords":{}}],["asset_compression_algorithm",{"_index":6422,"title":{},"content":{"1350":{"position":[[1047,28]]},"1352":{"position":[[1047,28]]}},"keywords":{}}],["asset_extens",{"_index":8018,"title":{},"content":{"1433":{"position":[[446,17]]}},"keywords":{}}],["asset_platform",{"_index":8019,"title":{},"content":{"1433":{"position":[[486,16]]}},"keywords":{}}],["assetcatalog",{"_index":6686,"title":{},"content":{"1361":{"position":[[2520,15]]}},"keywords":{}}],["assetcatalog.xcasset",{"_index":6687,"title":{},"content":{"1361":{"position":[[2545,23]]}},"keywords":{}}],["assets/lib",{"_index":8104,"title":{},"content":{"1446":{"position":[[2122,12],[2608,12]]},"1459":{"position":[[2095,12]]}},"keywords":{}}],["assign",{"_index":4205,"title":{},"content":{"890":{"position":[[713,6],[1297,6],[1354,10],[1583,11],[1602,10],[2952,8],[3004,12],[3212,10],[4371,8],[4736,12],[5808,8],[5939,10],[6743,6]]},"1004":{"position":[[318,8]]},"1363":{"position":[[5131,7]]},"1367":{"position":[[10047,7]]}},"keywords":{}}],["associ",{"_index":343,"title":{"1031":{"position":[[28,11]]}},"content":{"10":{"position":[[856,10]]},"30":{"position":[[74,10]]},"31":{"position":[[57,10]]},"53":{"position":[[156,10]]},"186":{"position":[[74,10]]},"187":{"position":[[57,10]]},"200":{"position":[[156,10]]},"692":{"position":[[118,10]]},"890":{"position":[[4467,10]]},"939":{"position":[[426,10]]},"951":{"position":[[651,10]]},"989":{"position":[[454,10]]},"1030":{"position":[[86,9]]},"1031":{"position":[[26,9]]},"1049":{"position":[[636,10]]},"1072":{"position":[[67,10]]},"1112":{"position":[[1253,10]]},"1134":{"position":[[32,10]]},"1228":{"position":[[2351,10]]},"1282":{"position":[[157,11]]},"1283":{"position":[[174,11]]},"1284":{"position":[[154,11]]},"1313":{"position":[[157,11]]},"1314":{"position":[[174,11]]},"1315":{"position":[[154,11]]},"1341":{"position":[[157,11]]},"1342":{"position":[[174,11]]},"1343":{"position":[[154,11]]},"1345":{"position":[[636,10]]},"1348":{"position":[[3460,10]]},"1349":{"position":[[1605,10]]},"1350":{"position":[[4576,10]]},"1351":{"position":[[1802,10]]},"1352":{"position":[[4575,10]]},"1353":{"position":[[2179,10]]},"1354":{"position":[[2017,10]]},"1355":{"position":[[3162,10]]},"1356":{"position":[[1523,10],[1916,10]]},"1357":{"position":[[1196,10]]},"1358":{"position":[[1917,10]]},"1359":{"position":[[1754,10]]},"1360":{"position":[[2391,10]]},"1361":{"position":[[1744,10]]},"1362":{"position":[[6114,10]]},"1363":{"position":[[3860,10]]},"1364":{"position":[[6143,10]]},"1365":{"position":[[1678,10]]},"1366":{"position":[[1890,10]]},"1367":{"position":[[7541,10]]},"1368":{"position":[[2234,10]]},"1369":{"position":[[1286,10]]},"1370":{"position":[[1539,10]]},"1371":{"position":[[1162,10]]},"1372":{"position":[[2800,10]]},"1373":{"position":[[3672,10]]},"1374":{"position":[[1574,10]]},"1375":{"position":[[1198,10]]},"1376":{"position":[[1154,10]]},"1377":{"position":[[1393,10]]},"1378":{"position":[[1140,10]]},"1379":{"position":[[1163,10]]},"1380":{"position":[[1634,10]]},"1381":{"position":[[1540,10]]},"1382":{"position":[[4026,10]]},"1383":{"position":[[2264,10]]},"1384":{"position":[[5188,10]]},"1385":{"position":[[2859,10]]},"1386":{"position":[[1497,10]]},"1387":{"position":[[5128,10]]},"1388":{"position":[[4326,10]]},"1389":{"position":[[5181,10]]},"1390":{"position":[[1433,10]]},"1391":{"position":[[1386,10]]},"1392":{"position":[[1536,10]]},"1393":{"position":[[2114,10]]},"1394":{"position":[[1556,10]]},"1395":{"position":[[1571,10]]},"1396":{"position":[[1362,10]]},"1397":{"position":[[1543,10]]},"1398":{"position":[[2221,10]]},"1399":{"position":[[1398,10]]},"1400":{"position":[[1267,10]]},"1401":{"position":[[1342,10]]},"1402":{"position":[[1498,10]]},"1403":{"position":[[2094,10]]},"1404":{"position":[[1331,10]]},"1405":{"position":[[2022,10]]},"1406":{"position":[[1238,10]]},"1407":{"position":[[2063,10]]},"1408":{"position":[[1759,10]]},"1409":{"position":[[1293,10]]},"1410":{"position":[[2461,10]]},"1411":{"position":[[1276,10]]},"1412":{"position":[[2482,10]]},"1413":{"position":[[2660,10]]},"1414":{"position":[[1527,10]]},"1415":{"position":[[3509,10]]},"1416":{"position":[[2161,10]]},"1417":{"position":[[1750,10]]},"1418":{"position":[[1451,10]]},"1419":{"position":[[1579,10]]},"1420":{"position":[[1843,10]]},"1421":{"position":[[1026,10],[1818,10]]},"1422":{"position":[[1727,10]]},"1423":{"position":[[1710,10]]},"1424":{"position":[[1835,10]]},"1425":{"position":[[1451,10]]},"1426":{"position":[[1800,10]]},"1427":{"position":[[2697,10]]},"1428":{"position":[[1433,10]]},"1429":{"position":[[3361,10]]},"1430":{"position":[[2209,10]]},"1431":{"position":[[1553,10]]},"1432":{"position":[[2074,10]]},"1433":{"position":[[1595,10]]},"1434":{"position":[[1269,10]]},"1435":{"position":[[1233,10]]},"1436":{"position":[[1249,10]]},"1437":{"position":[[1319,10]]},"1438":{"position":[[1459,10]]},"1439":{"position":[[2983,10]]},"1440":{"position":[[3549,10]]},"1441":{"position":[[1275,10]]},"1442":{"position":[[1354,10]]},"1443":{"position":[[1570,10]]},"1444":{"position":[[1486,10]]},"1445":{"position":[[1175,10]]},"1446":{"position":[[1509,10]]},"1447":{"position":[[1391,10]]},"1448":{"position":[[1826,10]]},"1449":{"position":[[1760,10]]},"1450":{"position":[[1639,10]]},"1451":{"position":[[1639,10]]},"1452":{"position":[[1185,10]]},"1453":{"position":[[1771,10]]},"1454":{"position":[[4137,10]]},"1455":{"position":[[2024,10]]},"1456":{"position":[[1369,10]]},"1457":{"position":[[1428,10]]},"1458":{"position":[[1963,10]]},"1459":{"position":[[1442,10]]},"1460":{"position":[[1554,10]]},"1461":{"position":[[1775,10]]},"1462":{"position":[[5150,10]]},"1463":{"position":[[1276,10]]},"1464":{"position":[[1184,10]]},"1465":{"position":[[2282,10]]},"1466":{"position":[[1520,10]]},"1467":{"position":[[5845,10]]},"1468":{"position":[[1284,10]]},"1469":{"position":[[1663,10]]},"1470":{"position":[[4186,10]]},"1471":{"position":[[2526,10]]},"1472":{"position":[[2485,10]]},"1473":{"position":[[2800,10]]},"1474":{"position":[[2185,10]]},"1475":{"position":[[2656,10]]},"1476":{"position":[[1261,10]]},"1477":{"position":[[1419,10]]},"1478":{"position":[[1910,10]]},"1479":{"position":[[1353,10]]},"1480":{"position":[[1766,10]]},"1481":{"position":[[2299,10]]},"1482":{"position":[[1373,10]]},"1483":{"position":[[1207,10]]},"1484":{"position":[[1279,10]]},"1485":{"position":[[1539,10]]},"1486":{"position":[[1783,10]]},"1487":{"position":[[1484,10]]}},"keywords":{}}],["assum",{"_index":4217,"title":{},"content":{"890":{"position":[[2034,8]]},"892":{"position":[[353,9]]},"898":{"position":[[826,9]]},"944":{"position":[[915,6]]},"1054":{"position":[[1203,6]]},"1351":{"position":[[4713,8]]},"1405":{"position":[[3778,7]]},"1406":{"position":[[1537,7]]},"1407":{"position":[[4397,7]]},"1408":{"position":[[2776,7]]},"1410":{"position":[[5188,7]]},"1415":{"position":[[5778,6]]},"1446":{"position":[[2327,7]]},"1477":{"position":[[2264,6]]},"1487":{"position":[[3662,9]]}},"keywords":{}}],["assumpt",{"_index":2606,"title":{},"content":{"570":{"position":[[116,11]]},"861":{"position":[[547,11]]},"1075":{"position":[[39,11]]}},"keywords":{}}],["ast",{"_index":4263,"title":{},"content":{"890":{"position":[[6885,3]]}},"keywords":{}}],["astarlark",{"_index":607,"title":{},"content":{"20":{"position":[[63,9]]},"693":{"position":[[7048,9]]}},"keywords":{}}],["astarlarkstr",{"_index":3799,"title":{},"content":{"722":{"position":[[389,16]]}},"keywords":{}}],["astoolchain_deps.buck2",{"_index":778,"title":{},"content":{"23":{"position":[[3351,22]]}},"keywords":{}}],["asynchron",{"_index":3836,"title":{"837":{"position":[[29,16]]}},"content":{"835":{"position":[[106,14]]},"837":{"position":[[78,15]]},"864":{"position":[[1536,14]]},"876":{"position":[[353,14]]}},"keywords":{}}],["as~/repo_root",{"_index":6170,"title":{},"content":{"1240":{"position":[[364,19]]}},"keywords":{}}],["as~/repo_root/cel",{"_index":6171,"title":{},"content":{"1240":{"position":[[519,24]]}},"keywords":{}}],["atarget",{"_index":3554,"title":{},"content":{"693":{"position":[[4531,7]]},"846":{"position":[[1708,7]]},"1107":{"position":[[151,8]]}},"keywords":{}}],["athttps://github.com/facebook/buck2/tree/main/prelud",{"_index":3571,"title":{},"content":{"693":{"position":[[6078,54]]}},"keywords":{}}],["atom",{"_index":341,"title":{},"content":{"10":{"position":[[833,6]]},"696":{"position":[[421,6]]},"898":{"position":[[865,10],[1050,10],[1981,10]]}},"keywords":{}}],["atprelude/declsto",{"_index":5631,"title":{},"content":{"1102":{"position":[[124,17]]}},"keywords":{}}],["attach",{"_index":4524,"title":{"1224":{"position":[[20,7]]}},"content":{"924":{"position":[[265,6]]},"951":{"position":[[31,8],[917,9],[1029,8],[1095,8]]},"964":{"position":[[721,8]]},"1060":{"position":[[293,6]]},"1221":{"position":[[166,6]]},"1224":{"position":[[259,6]]}},"keywords":{}}],["attempt",{"_index":4865,"title":{},"content":{"981":{"position":[[501,7]]},"1000":{"position":[[410,7]]},"1001":{"position":[[376,7],[1366,7]]},"1064":{"position":[[474,7],[1462,7]]},"1065":{"position":[[299,7]]},"1136":{"position":[[3817,7]]},"1138":{"position":[[4894,7],[7479,7]]},"1140":{"position":[[4383,7],[6405,7]]},"1142":{"position":[[1849,7]]},"1146":{"position":[[1789,7]]},"1148":{"position":[[4829,7]]},"1155":{"position":[[1885,7]]},"1156":{"position":[[1463,7]]},"1167":{"position":[[5387,7],[7409,7]]},"1169":{"position":[[1248,7]]},"1186":{"position":[[3053,7]]},"1187":{"position":[[3066,7]]},"1188":{"position":[[4436,7],[7792,7]]},"1191":{"position":[[1653,7]]},"1192":{"position":[[1828,7]]},"1193":{"position":[[1880,7]]},"1194":{"position":[[1520,7]]},"1195":{"position":[[1498,7]]},"1196":{"position":[[1308,7]]},"1197":{"position":[[2291,7]]},"1198":{"position":[[2301,7]]},"1199":{"position":[[2329,7]]},"1200":{"position":[[2196,7]]},"1201":{"position":[[1456,7]]},"1202":{"position":[[2598,7],[6995,7]]},"1203":{"position":[[1690,7]]},"1204":{"position":[[1534,7]]},"1205":{"position":[[2863,7]]},"1206":{"position":[[1334,7]]},"1207":{"position":[[1491,7]]},"1209":{"position":[[2839,7]]},"1217":{"position":[[4128,7],[6150,7]]},"1219":{"position":[[2136,7]]},"1222":{"position":[[1260,7]]},"1223":{"position":[[1270,7]]},"1224":{"position":[[1450,7]]},"1226":{"position":[[6618,7]]},"1228":{"position":[[6209,7],[8231,7]]},"1235":{"position":[[4099,7]]},"1237":{"position":[[6788,7]]},"1422":{"position":[[3519,7]]},"1423":{"position":[[2290,7]]},"1461":{"position":[[3090,7]]}},"keywords":{}}],["attent",{"_index":407,"title":{},"content":{"12":{"position":[[427,9]]},"1250":{"position":[[189,9]]}},"keywords":{}}],["attr",{"_index":984,"title":{"124":{"position":[[0,5]]},"247":{"position":[[0,5]]},"359":{"position":[[0,5]]},"401":{"position":[[0,6]]},"738":{"position":[[0,5]]},"780":{"position":[[0,6]]}},"content":{"72":{"position":[[178,5]]},"81":{"position":[[53,6]]},"213":{"position":[[53,6]]},"238":{"position":[[34,5]]},"276":{"position":[[228,5],[369,6],[421,5],[673,6],[786,5],[871,5]]},"277":{"position":[[128,4],[179,5],[317,6],[369,5],[821,5]]},"281":{"position":[[295,5],[449,6],[510,5],[774,6],[896,5],[993,5]]},"282":{"position":[[183,4],[243,5],[399,6],[460,5],[939,5]]},"322":{"position":[[243,5]]},"325":{"position":[[34,5]]},"333":{"position":[[35,5]]},"359":{"position":[[0,5]]},"368":{"position":[[1226,7]]},"400":{"position":[[73,6]]},"401":{"position":[[0,6],[7,5]]},"437":{"position":[[68,6],[538,5]]},"447":{"position":[[64,6]]},"466":{"position":[[34,5]]},"483":{"position":[[155,5]]},"484":{"position":[[208,5]]},"495":{"position":[[178,5]]},"528":{"position":[[215,5]]},"645":{"position":[[16,5]]},"646":{"position":[[15,5]]},"711":{"position":[[189,6]]},"712":{"position":[[519,5],[1067,5],[1540,6],[1591,5]]},"738":{"position":[[0,5]]},"747":{"position":[[1226,7]]},"779":{"position":[[73,6]]},"780":{"position":[[0,6],[7,5]]},"816":{"position":[[68,6],[538,5]]},"826":{"position":[[64,6]]},"856":{"position":[[138,6],[264,5],[482,5],[636,5],[739,5],[847,5],[980,5]]},"870":{"position":[[482,4]]},"929":{"position":[[303,4]]},"930":{"position":[[165,5]]},"961":{"position":[[768,5],[830,5]]},"991":{"position":[[93,5],[239,5],[684,5]]},"1006":{"position":[[4,5],[468,5]]},"1009":{"position":[[477,7],[527,5],[738,5]]},"1042":{"position":[[103,5],[168,5]]},"1043":{"position":[[280,5],[371,5]]},"1044":{"position":[[1056,5],[1594,5],[1736,5],[2854,5]]},"1046":{"position":[[67,5],[390,7]]},"1047":{"position":[[171,5]]},"1048":{"position":[[829,5],[1534,5]]},"1049":{"position":[[1042,5],[1658,5]]},"1054":{"position":[[1410,5]]},"1103":{"position":[[441,5]]},"1108":{"position":[[468,5]]},"1190":{"position":[[737,5]]},"1199":{"position":[[36,5]]}},"keywords":{}}],["attr.arg()attribut",{"_index":5553,"title":{},"content":{"1082":{"position":[[351,21]]}},"keywords":{}}],["attr.dep",{"_index":1323,"title":{},"content":{"121":{"position":[[141,10]]},"530":{"position":[[141,10]]},"1044":{"position":[[2361,9]]}},"keywords":{}}],["attr.dep(default",{"_index":5262,"title":{},"content":{"1048":{"position":[[1615,16]]}},"keywords":{}}],["attr.exec_dep",{"_index":3918,"title":{},"content":{"851":{"position":[[633,14]]},"1049":{"position":[[1691,16]]}},"keywords":{}}],["attr.exec_dep.toolchain",{"_index":1640,"title":{},"content":{"298":{"position":[[1615,24]]}},"keywords":{}}],["attr.list",{"_index":5047,"title":{},"content":{"1009":{"position":[[779,15]]}},"keywords":{}}],["attr.list(attr.src",{"_index":5260,"title":{},"content":{"1048":{"position":[[1562,22]]}},"keywords":{}}],["attr1",{"_index":5871,"title":{},"content":{"1136":{"position":[[1945,5]]},"1148":{"position":[[2301,5]]},"1205":{"position":[[1425,5]]},"1209":{"position":[[1178,5]]},"1226":{"position":[[3118,5]]},"1235":{"position":[[2438,5]]},"1237":{"position":[[3288,5]]}},"keywords":{}}],["attr2",{"_index":5872,"title":{},"content":{"1136":{"position":[[1951,6]]},"1148":{"position":[[2307,6]]},"1205":{"position":[[1431,6]]},"1209":{"position":[[1184,6]]},"1226":{"position":[[3124,6]]},"1235":{"position":[[2444,6]]},"1237":{"position":[[3294,6]]}},"keywords":{}}],["attrfilt",{"_index":1472,"title":{},"content":{"238":{"position":[[426,10]]},"325":{"position":[[326,10]]},"333":{"position":[[397,11]]},"466":{"position":[[207,10]]}},"keywords":{}}],["attrfilter(attr",{"_index":6236,"title":{"1262":{"position":[[0,16]]},"1293":{"position":[[0,16]]},"1321":{"position":[[0,16]]}},"content":{"1259":{"position":[[146,16]]},"1290":{"position":[[146,16]]},"1318":{"position":[[146,16]]}},"keywords":{}}],["attrfilter(attribut",{"_index":6237,"title":{},"content":{"1259":{"position":[[219,21]]},"1262":{"position":[[4,21]]},"1290":{"position":[[219,21]]},"1293":{"position":[[4,21]]},"1318":{"position":[[219,21]]},"1321":{"position":[[4,21]]}},"keywords":{}}],["attrfilterdepsexceptintersectfilterkindsetunion",{"_index":7150,"title":{},"content":{"1382":{"position":[[4630,47]]},"1388":{"position":[[5324,47]]},"1442":{"position":[[1620,47]]}},"keywords":{}}],["attribut",{"_index":982,"title":{"856":{"position":[[8,10],[31,10]]},"913":{"position":[[24,9]]},"917":{"position":[[19,10]]},"929":{"position":[[9,9]]},"935":{"position":[[38,10]]},"1006":{"position":[[4,9]]},"1009":{"position":[[12,10]]},"1012":{"position":[[11,11]]},"1045":{"position":[[0,9]]},"1046":{"position":[[5,9]]},"1131":{"position":[[17,9]]}},"content":{"72":{"position":[[39,10],[107,10]]},"81":{"position":[[153,11]]},"125":{"position":[[61,9]]},"126":{"position":[[121,9]]},"127":{"position":[[62,9]]},"128":{"position":[[64,9]]},"129":{"position":[[116,9]]},"130":{"position":[[31,10],[80,9]]},"131":{"position":[[221,9]]},"132":{"position":[[21,10],[39,10],[120,9]]},"133":{"position":[[106,9]]},"134":{"position":[[110,9]]},"135":{"position":[[61,9]]},"136":{"position":[[63,9]]},"137":{"position":[[23,10],[85,9]]},"138":{"position":[[33,10],[117,9]]},"139":{"position":[[24,10],[79,9],[118,11]]},"140":{"position":[[25,10],[87,9]]},"141":{"position":[[76,9]]},"142":{"position":[[50,9]]},"143":{"position":[[63,9]]},"144":{"position":[[27,10],[111,9]]},"145":{"position":[[97,9]]},"146":{"position":[[127,9]]},"147":{"position":[[80,9]]},"148":{"position":[[115,9]]},"149":{"position":[[121,9]]},"150":{"position":[[23,10],[78,9]]},"151":{"position":[[32,10],[77,9]]},"161":{"position":[[61,10]]},"206":{"position":[[48,10]]},"213":{"position":[[153,11]]},"238":{"position":[[452,9]]},"248":{"position":[[61,9]]},"249":{"position":[[121,9]]},"250":{"position":[[62,9]]},"251":{"position":[[64,9]]},"252":{"position":[[116,9]]},"253":{"position":[[31,10],[80,9]]},"254":{"position":[[221,9]]},"255":{"position":[[21,10],[39,10],[120,9]]},"256":{"position":[[106,9]]},"257":{"position":[[110,9]]},"258":{"position":[[61,9]]},"259":{"position":[[63,9]]},"260":{"position":[[23,10],[85,9]]},"261":{"position":[[33,10],[117,9]]},"262":{"position":[[24,10],[79,9],[118,11]]},"263":{"position":[[25,10],[87,9]]},"264":{"position":[[76,9]]},"265":{"position":[[50,9]]},"266":{"position":[[63,9]]},"267":{"position":[[27,10],[111,9]]},"268":{"position":[[97,9]]},"269":{"position":[[127,9]]},"270":{"position":[[80,9]]},"271":{"position":[[115,9]]},"272":{"position":[[121,9]]},"273":{"position":[[23,10],[78,9]]},"274":{"position":[[32,10],[77,9]]},"276":{"position":[[72,10],[131,10]]},"281":{"position":[[106,10],[165,10],[240,11]]},"298":{"position":[[1941,9],[2081,10]]},"300":{"position":[[435,9]]},"322":{"position":[[65,10],[107,10],[132,10]]},"325":{"position":[[352,9]]},"326":{"position":[[39,10],[367,9]]},"333":{"position":[[354,9],[436,9]]},"362":{"position":[[972,10]]},"363":{"position":[[397,10]]},"366":{"position":[[223,10]]},"367":{"position":[[251,10]]},"368":{"position":[[471,10]]},"374":{"position":[[405,10]]},"377":{"position":[[474,10]]},"379":{"position":[[178,10]]},"386":{"position":[[331,10]]},"389":{"position":[[156,9],[182,10],[254,9]]},"396":{"position":[[261,10]]},"397":{"position":[[116,10]]},"398":{"position":[[135,10]]},"399":{"position":[[135,10]]},"400":{"position":[[90,11]]},"405":{"position":[[1158,10]]},"434":{"position":[[75,10]]},"437":{"position":[[85,11]]},"459":{"position":[[63,10]]},"466":{"position":[[233,9]]},"467":{"position":[[39,10],[248,9]]},"480":{"position":[[53,9]]},"481":{"position":[[52,10]]},"483":{"position":[[56,9]]},"484":{"position":[[55,10]]},"495":{"position":[[39,10],[107,10]]},"528":{"position":[[74,10]]},"630":{"position":[[90,10]]},"636":{"position":[[96,10]]},"637":{"position":[[41,10],[106,10],[158,10]]},"644":{"position":[[124,10]]},"645":{"position":[[78,9],[130,9],[214,10]]},"646":{"position":[[75,9],[127,9]]},"648":{"position":[[109,10]]},"652":{"position":[[90,10]]},"662":{"position":[[105,10]]},"668":{"position":[[70,10]]},"669":{"position":[[52,10]]},"670":{"position":[[122,10]]},"671":{"position":[[91,10]]},"690":{"position":[[467,10],[2890,10]]},"693":{"position":[[998,10],[1263,10],[2602,10],[2658,9],[3050,9],[4329,9],[7001,9],[7072,9],[7101,10],[7178,10],[7443,11],[8528,11]]},"710":{"position":[[75,11]]},"712":{"position":[[194,10],[1158,10]]},"715":{"position":[[370,11],[758,10],[880,11]]},"717":{"position":[[570,11],[661,10]]},"718":{"position":[[272,10],[548,10]]},"722":{"position":[[108,10],[362,10],[841,11]]},"741":{"position":[[972,10]]},"742":{"position":[[397,10]]},"745":{"position":[[223,10]]},"746":{"position":[[251,10]]},"747":{"position":[[471,10]]},"753":{"position":[[405,10]]},"756":{"position":[[474,10]]},"758":{"position":[[178,10]]},"765":{"position":[[331,10]]},"768":{"position":[[156,9],[182,10],[254,9]]},"775":{"position":[[261,10]]},"776":{"position":[[116,10]]},"777":{"position":[[135,10]]},"778":{"position":[[135,10]]},"779":{"position":[[90,11]]},"784":{"position":[[1158,10]]},"813":{"position":[[75,10]]},"816":{"position":[[85,11]]},"846":{"position":[[1049,11],[1165,11],[1191,10]]},"850":{"position":[[37,9],[725,10],[753,9]]},"851":{"position":[[1145,9],[1398,11]]},"856":{"position":[[449,11]]},"857":{"position":[[123,11]]},"870":{"position":[[297,10]]},"872":{"position":[[750,10]]},"874":{"position":[[345,10]]},"878":{"position":[[165,10],[214,10],[1283,10]]},"881":{"position":[[80,9]]},"914":{"position":[[37,10],[100,9]]},"916":{"position":[[287,9]]},"917":{"position":[[21,9],[274,9]]},"919":{"position":[[376,10],[1759,12]]},"921":{"position":[[1060,10]]},"929":{"position":[[38,11],[153,10],[206,9]]},"935":{"position":[[4,9]]},"937":{"position":[[494,9]]},"941":{"position":[[56,10],[403,10]]},"955":{"position":[[564,10]]},"970":{"position":[[222,11]]},"983":{"position":[[162,9]]},"990":{"position":[[174,9]]},"993":{"position":[[42,11]]},"994":{"position":[[52,11]]},"995":{"position":[[53,11]]},"1004":{"position":[[259,9],[689,9]]},"1005":{"position":[[38,10]]},"1006":{"position":[[25,9],[112,10],[146,10]]},"1009":{"position":[[72,10],[173,11],[268,11],[350,10],[419,10],[642,10]]},"1012":{"position":[[16,10],[67,9],[100,11],[183,10],[227,10],[284,10],[393,10]]},"1013":{"position":[[21,10]]},"1014":{"position":[[457,10],[682,9]]},"1017":{"position":[[601,10]]},"1019":{"position":[[63,10],[203,9]]},"1043":{"position":[[110,10]]},"1044":{"position":[[25,10],[103,9],[130,10],[153,9],[1378,9],[2072,10],[2121,10],[2169,11],[2204,10],[2763,10],[3398,13]]},"1045":{"position":[[0,9],[100,10],[131,9],[155,10],[184,9]]},"1046":{"position":[[122,10],[330,10],[486,9]]},"1052":{"position":[[853,9]]},"1088":{"position":[[242,10]]},"1102":{"position":[[150,10],[269,10]]},"1103":{"position":[[25,10],[1612,10]]},"1108":{"position":[[278,10]]},"1131":{"position":[[17,9],[61,10],[151,10],[225,9],[275,9],[321,10],[484,10],[529,10],[608,11]]},"1136":{"position":[[1008,10],[1030,11],[1065,9],[1162,11],[1225,10],[1265,10],[1289,11],[1380,9],[1437,11],[1546,10],[1575,11],[1664,9],[1707,9],[1771,10],[1801,10],[1859,10],[1903,10],[1934,10]]},"1148":{"position":[[897,10],[978,11],[1364,10],[1386,11],[1421,9],[1518,11],[1581,10],[1621,10],[1645,11],[1736,9],[1793,11],[1902,10],[1931,11],[2020,9],[2063,9],[2127,10],[2157,10],[2215,10],[2259,10],[2290,10],[2819,10]]},"1199":{"position":[[181,10]]},"1205":{"position":[[488,10],[510,11],[545,9],[642,11],[705,10],[745,10],[769,11],[860,9],[917,11],[1026,10],[1055,11],[1144,9],[1187,9],[1251,10],[1281,10],[1339,10],[1383,10],[1414,10]]},"1206":{"position":[[3602,9]]},"1209":{"position":[[241,10],[263,11],[298,9],[395,11],[458,10],[498,10],[522,11],[613,9],[670,11],[779,10],[808,11],[897,9],[940,9],[1004,10],[1034,10],[1092,10],[1136,10],[1167,10]]},"1226":{"position":[[2181,10],[2203,11],[2238,9],[2335,11],[2398,10],[2438,10],[2462,11],[2553,9],[2610,11],[2719,10],[2748,11],[2837,9],[2880,9],[2944,10],[2974,10],[3032,10],[3076,10],[3107,10],[3178,11],[3204,10],[4460,9],[4650,9]]},"1228":{"position":[[2260,9],[2311,9]]},"1235":{"position":[[690,10],[771,10],[1501,10],[1523,11],[1558,9],[1655,11],[1718,10],[1758,10],[1782,11],[1873,9],[1930,11],[2039,10],[2068,11],[2157,9],[2200,9],[2264,10],[2294,10],[2352,10],[2396,10],[2427,10]]},"1237":{"position":[[2351,10],[2373,11],[2408,9],[2505,11],[2568,10],[2608,10],[2632,11],[2723,9],[2780,11],[2889,10],[2918,11],[3007,9],[3050,9],[3114,10],[3144,10],[3202,10],[3246,10],[3277,10],[3348,11],[3374,10],[4630,9],[4820,9]]},"1259":{"position":[[373,9]]},"1262":{"position":[[158,9],[224,9],[318,9],[444,9],[537,9]]},"1272":{"position":[[209,9]]},"1290":{"position":[[373,9]]},"1293":{"position":[[158,9],[224,9],[318,9],[444,9],[537,9]]},"1303":{"position":[[209,9]]},"1318":{"position":[[373,9]]},"1321":{"position":[[158,9],[224,9],[318,9],[444,9],[537,9]]},"1331":{"position":[[209,9]]},"1362":{"position":[[4928,11],[4968,11],[5017,10],[5314,10],[7321,10],[7577,9],[9337,10],[9593,9]]},"1364":{"position":[[4954,11],[4994,11],[5044,10],[5343,10],[7560,10],[7816,9],[10451,10],[10707,9]]},"1367":{"position":[[9425,10],[9681,9]]},"1370":{"position":[[663,10],[1998,9],[2131,10],[2681,9],[2793,10]]},"1373":{"position":[[5007,10]]},"1382":{"position":[[6077,10]]},"1384":{"position":[[6589,10],[11024,10]]},"1385":{"position":[[3990,10]]},"1387":{"position":[[6323,10]]},"1388":{"position":[[6946,10]]},"1389":{"position":[[5804,9]]},"1393":{"position":[[1210,10],[1230,10],[3959,9],[6475,9],[6623,9],[6821,9],[7302,9],[7442,9],[9190,10]]},"1394":{"position":[[659,10],[679,10],[1652,9]]},"1395":{"position":[[1782,9],[2699,9],[3533,9]]},"1396":{"position":[[1552,9]]},"1397":{"position":[[2250,9],[3415,9]]},"1398":{"position":[[3677,9],[4248,9],[4388,9],[4723,9],[4753,9],[5864,10],[5911,10]]},"1401":{"position":[[1644,10]]},"1422":{"position":[[2062,9],[2085,11]]},"1426":{"position":[[2530,9]]},"1454":{"position":[[5293,10]]},"1462":{"position":[[7325,9]]},"1467":{"position":[[8294,9]]},"1485":{"position":[[2358,10]]},"1486":{"position":[[5758,10]]}},"keywords":{}}],["attribute=cmd",{"_index":5862,"title":{},"content":{"1136":{"position":[[599,14]]}},"keywords":{}}],["attributesrun",{"_index":4088,"title":{},"content":{"874":{"position":[[235,13]]}},"keywords":{}}],["attrregexfilt",{"_index":1776,"title":{},"content":{"326":{"position":[[336,15]]},"467":{"position":[[217,15]]}},"keywords":{}}],["attrregexfilter(attr",{"_index":6239,"title":{"1264":{"position":[[0,21]]},"1295":{"position":[[0,21]]},"1323":{"position":[[0,21]]}},"content":{"1259":{"position":[[482,21]]},"1290":{"position":[[482,21]]},"1318":{"position":[[482,21]]}},"keywords":{}}],["attrs).in",{"_index":622,"title":{},"content":{"20":{"position":[[590,9]]}},"keywords":{}}],["attrs).promise.map(my_map_funct",{"_index":1711,"title":{},"content":{"306":{"position":[[564,35]]}},"keywords":{}}],["attrs.ani",{"_index":1335,"title":{"125":{"position":[[0,10]]},"248":{"position":[[0,10]]}},"content":{"125":{"position":[[4,12]]},"248":{"position":[[4,12]]}},"keywords":{}}],["attrs.arg",{"_index":1341,"title":{"126":{"position":[[0,10]]},"249":{"position":[[0,10]]}},"content":{"126":{"position":[[4,10]]},"249":{"position":[[4,10]]}},"keywords":{}}],["attrs.arg(anon_target_compat",{"_index":5198,"title":{},"content":{"1044":{"position":[[2672,32]]}},"keywords":{}}],["attrs.bool",{"_index":1346,"title":{"127":{"position":[[0,11]]},"250":{"position":[[0,11]]}},"content":{"127":{"position":[[4,13]]},"250":{"position":[[4,13]]},"712":{"position":[[548,13],[699,13]]}},"keywords":{}}],["attrs.bool(default",{"_index":4917,"title":{},"content":{"991":{"position":[[273,18]]}},"keywords":{}}],["attrs.configuration_label",{"_index":1347,"title":{"128":{"position":[[0,26]]},"251":{"position":[[0,26]]}},"content":{"128":{"position":[[4,28]]},"251":{"position":[[4,28]]}},"keywords":{}}],["attrs.configured_dep",{"_index":1348,"title":{"129":{"position":[[0,21]]},"252":{"position":[[0,21]]}},"content":{"129":{"position":[[4,21]]},"252":{"position":[[4,21]]},"929":{"position":[[164,20]]},"930":{"position":[[195,23]]}},"keywords":{}}],["attrs.default_onli",{"_index":1349,"title":{"130":{"position":[[0,19]]},"253":{"position":[[0,19]]}},"content":{"130":{"position":[[4,19]]},"253":{"position":[[4,19]]}},"keywords":{}}],["attrs.default_only(attrs.dep(default",{"_index":1353,"title":{},"content":{"130":{"position":[[240,36]]},"253":{"position":[[240,36]]},"1054":{"position":[[1452,36]]}},"keywords":{}}],["attrs.dep",{"_index":1355,"title":{"131":{"position":[[0,10]]},"254":{"position":[[0,10]]}},"content":{"131":{"position":[[4,10]]},"254":{"position":[[4,10]]},"990":{"position":[[982,11]]},"1024":{"position":[[396,11],[462,11]]},"1048":{"position":[[892,12]]}},"keywords":{}}],["attrs.dep(default="//tools:cc"",{"_index":1968,"title":{},"content":{"368":{"position":[[1408,41]]},"747":{"position":[[1408,41]]}},"keywords":{}}],["attrs.dep(default="//tools:strip"",{"_index":1971,"title":{},"content":{"368":{"position":[[1499,44]]},"747":{"position":[[1499,44]]}},"keywords":{}}],["attrs.depattrs.exec_depattrs.transition_depattrs.split_transition_dep",{"_index":4566,"title":{},"content":{"929":{"position":[[50,69]]}},"keywords":{}}],["attrs.dict",{"_index":1361,"title":{"132":{"position":[[0,11]]},"255":{"position":[[0,11]]}},"content":{"132":{"position":[[4,11]]},"255":{"position":[[4,11]]}},"keywords":{}}],["attrs.enum",{"_index":1363,"title":{"133":{"position":[[0,11]]},"256":{"position":[[0,11]]}},"content":{"133":{"position":[[4,11]]},"256":{"position":[[4,11]]}},"keywords":{}}],["attrs.exec_dep",{"_index":1369,"title":{"134":{"position":[[0,15]]},"257":{"position":[[0,15]]}},"content":{"134":{"position":[[4,15]]},"257":{"position":[[4,15]]},"1023":{"position":[[280,16]]},"1024":{"position":[[15,17],[731,17]]}},"keywords":{}}],["attrs.exec_dep()",{"_index":5071,"title":{},"content":{"1024":{"position":[[671,17]]}},"keywords":{}}],["attrs.exec_dep(default",{"_index":5075,"title":{},"content":{"1024":{"position":[[1055,22]]}},"keywords":{}}],["attrs.int",{"_index":1371,"title":{"135":{"position":[[0,10]]},"258":{"position":[[0,10]]}},"content":{"135":{"position":[[4,12]]},"258":{"position":[[4,12]]},"712":{"position":[[579,12]]},"1044":{"position":[[2884,12]]}},"keywords":{}}],["attrs.label",{"_index":1372,"title":{"136":{"position":[[0,12]]},"259":{"position":[[0,12]]}},"content":{"136":{"position":[[4,14]]},"259":{"position":[[4,14]]}},"keywords":{}}],["attrs.list",{"_index":1374,"title":{"137":{"position":[[0,11]]},"260":{"position":[[0,11]]}},"content":{"137":{"position":[[4,11]]},"260":{"position":[[4,11]]}},"keywords":{}}],["attrs.list(attrs.dep",{"_index":5709,"title":{},"content":{"1108":{"position":[[496,24]]}},"keywords":{}}],["attrs.list(attrs.dep(pulls_and_pushes_plugin",{"_index":4918,"title":{},"content":{"991":{"position":[[337,45]]}},"keywords":{}}],["attrs.list(attrs.dep(pulls_plugin",{"_index":4921,"title":{},"content":{"991":{"position":[[522,34],[712,34],[790,34]]}},"keywords":{}}],["attrs.list(attrs.label",{"_index":5207,"title":{},"content":{"1044":{"position":[[3067,26]]}},"keywords":{}}],["attrs.list(attrs.sourc",{"_index":1963,"title":{},"content":{"368":{"position":[[1252,27]]},"747":{"position":[[1252,27]]}},"keywords":{}}],["attrs.list(attrs.split_transition_dep(cfg",{"_index":5023,"title":{},"content":{"1006":{"position":[[496,41]]}},"keywords":{}}],["attrs.list(attrs.str",{"_index":3742,"title":{},"content":{"712":{"position":[[617,27]]}},"keywords":{}}],["attrs.my_list_attribut",{"_index":5042,"title":{},"content":{"1009":{"position":[[661,23]]}},"keywords":{}}],["attrs.named_set",{"_index":1375,"title":{"138":{"position":[[0,16]]},"261":{"position":[[0,16]]}},"content":{"138":{"position":[[4,16]]},"261":{"position":[[4,16]]}},"keywords":{}}],["attrs.one_of",{"_index":1377,"title":{"139":{"position":[[0,13]]},"262":{"position":[[0,13]]}},"content":{},"keywords":{}}],["attrs.one_of(*arg",{"_index":1378,"title":{},"content":{"139":{"position":[[4,19]]},"262":{"position":[[4,19]]}},"keywords":{}}],["attrs.opt",{"_index":1380,"title":{"140":{"position":[[0,13]]},"263":{"position":[[0,13]]}},"content":{"140":{"position":[[4,13]]},"263":{"position":[[4,13]]}},"keywords":{}}],["attrs.option(attr.str",{"_index":1381,"title":{},"content":{"140":{"position":[[261,27]]},"263":{"position":[[261,27]]}},"keywords":{}}],["attrs.option(attrs.bool",{"_index":2354,"title":{},"content":{"437":{"position":[[603,26]]},"816":{"position":[[603,26]]}},"keywords":{}}],["attrs.option(attrs.sourc",{"_index":5205,"title":{},"content":{"1044":{"position":[[3006,29]]}},"keywords":{}}],["attrs.output",{"_index":1965,"title":{},"content":{"368":{"position":[[1297,15],[1335,15],[1375,15]]},"747":{"position":[[1297,15],[1335,15],[1375,15]]}},"keywords":{}}],["attrs.plugin_dep",{"_index":1382,"title":{"141":{"position":[[0,17]]},"264":{"position":[[0,17]]}},"content":{"141":{"position":[[4,17]]},"264":{"position":[[4,17]]}},"keywords":{}}],["attrs.plugin_dep(kind",{"_index":4913,"title":{},"content":{"991":{"position":[[123,21]]}},"keywords":{}}],["attrs.queri",{"_index":1383,"title":{"142":{"position":[[0,12]]},"265":{"position":[[0,12]]}},"content":{"142":{"position":[[4,14]]},"265":{"position":[[4,14]]}},"keywords":{}}],["attrs.regex",{"_index":1384,"title":{"143":{"position":[[0,12]]},"266":{"position":[[0,12]]}},"content":{"143":{"position":[[4,14]]},"266":{"position":[[4,14]]}},"keywords":{}}],["attrs.set",{"_index":1387,"title":{"144":{"position":[[0,10]]},"267":{"position":[[0,10]]}},"content":{"144":{"position":[[4,10]]},"267":{"position":[[4,10]]}},"keywords":{}}],["attrs.sourc",{"_index":1388,"title":{"145":{"position":[[0,13]]},"268":{"position":[[0,13]]}},"content":{"145":{"position":[[4,13]]},"268":{"position":[[4,13]]},"1108":{"position":[[538,15]]}},"keywords":{}}],["attrs.split_transition_dep",{"_index":1392,"title":{"146":{"position":[[0,27]]},"269":{"position":[[0,27]]}},"content":{"146":{"position":[[4,27]]},"269":{"position":[[4,27]]},"1006":{"position":[[1298,27]]}},"keywords":{}}],["attrs.src",{"_index":5250,"title":{},"content":{"1048":{"position":[[856,12]]}},"keywords":{}}],["attrs.str",{"_index":986,"title":{"147":{"position":[[0,13]]},"270":{"position":[[0,13]]}},"content":{"72":{"position":[[214,16]]},"143":{"position":[[97,13]]},"147":{"position":[[4,13]]},"266":{"position":[[97,13]]},"270":{"position":[[4,13]]},"437":{"position":[[570,15]]},"495":{"position":[[214,16]]},"712":{"position":[[665,15]]},"816":{"position":[[570,15]]},"1047":{"position":[[201,16]]},"1103":{"position":[[468,15]]}},"keywords":{}}],["attrs.string(default",{"_index":5203,"title":{},"content":{"1044":{"position":[[2933,20]]}},"keywords":{}}],["attrs.toolchain_dep",{"_index":1394,"title":{"148":{"position":[[0,20]]},"271":{"position":[[0,20]]}},"content":{"148":{"position":[[4,20]]},"271":{"position":[[4,20]]},"1024":{"position":[[43,22],[357,21],[512,21],[593,21],[780,21]]}},"keywords":{}}],["attrs.toolchain_dep()",{"_index":5077,"title":{},"content":{"1024":{"position":[[1288,24]]}},"keywords":{}}],["attrs.toolchain_dep(default",{"_index":5073,"title":{},"content":{"1024":{"position":[[969,27]]}},"keywords":{}}],["attrs.transition_dep",{"_index":1395,"title":{"149":{"position":[[0,21]]},"272":{"position":[[0,21]]}},"content":{"149":{"position":[[4,21]]},"272":{"position":[[4,21]]},"1006":{"position":[[1247,20]]}},"keywords":{}}],["attrs.transition_dep(cfg)attrs.split_transition_dep(cfg",{"_index":5022,"title":{},"content":{"1006":{"position":[[49,56]]}},"keywords":{}}],["attrs.tupl",{"_index":1396,"title":{"150":{"position":[[0,12]]},"273":{"position":[[0,12]]}},"content":{},"keywords":{}}],["attrs.tuple(*arg",{"_index":1397,"title":{},"content":{"150":{"position":[[4,18]]},"273":{"position":[[4,18]]}},"keywords":{}}],["attrs.vers",{"_index":1398,"title":{"151":{"position":[[0,16]]},"274":{"position":[[0,16]]}},"content":{},"keywords":{}}],["attrs.versioned(value_typ",{"_index":1399,"title":{},"content":{"151":{"position":[[4,27]]},"274":{"position":[[4,27]]}},"keywords":{}}],["attrs/resolved_attr",{"_index":3938,"title":{},"content":{"856":{"position":[[30,21]]}},"keywords":{}}],["attrs_eag",{"_index":1521,"title":{},"content":{"277":{"position":[[252,13]]}},"keywords":{}}],["attrs_lazi",{"_index":1510,"title":{},"content":{"276":{"position":[[301,12]]}},"keywords":{}}],["attrs_valid",{"_index":6696,"title":{},"content":{"1362":{"position":[[582,17]]},"1364":{"position":[[635,17]]},"1367":{"position":[[1528,17]]}},"keywords":{}}],["atxplat/buck2/tests/appl",{"_index":5638,"title":{},"content":{"1102":{"position":[[767,30]]}},"keywords":{}}],["audit",{"_index":1622,"title":{"918":{"position":[[6,5]]},"920":{"position":[[19,5]]},"1189":{"position":[[0,5]]},"1190":{"position":[[5,6]]},"1191":{"position":[[5,5]]},"1192":{"position":[[5,5]]},"1193":{"position":[[5,5]]},"1194":{"position":[[5,5]]},"1195":{"position":[[5,5]]},"1196":{"position":[[5,5]]},"1197":{"position":[[5,5]]},"1198":{"position":[[5,5]]},"1199":{"position":[[5,5]]},"1200":{"position":[[5,5]]},"1201":{"position":[[5,5]]},"1202":{"position":[[5,5]]},"1203":{"position":[[5,5]]},"1204":{"position":[[5,5]]},"1205":{"position":[[5,5]]},"1206":{"position":[[5,5]]},"1207":{"position":[[5,5]]}},"content":{"296":{"position":[[89,5]]},"587":{"position":[[636,5]]},"700":{"position":[[185,5]]},"920":{"position":[[243,5],[552,5]]},"921":{"position":[[6,5],[572,5],[764,5]]},"946":{"position":[[262,5],[309,5]]},"1033":{"position":[[180,5]]},"1190":{"position":[[49,5],[345,5],[415,5],[706,5]]},"1191":{"position":[[78,5]]},"1192":{"position":[[182,5],[261,5],[359,5]]},"1193":{"position":[[5,5],[39,5]]},"1194":{"position":[[66,5],[166,5]]},"1195":{"position":[[72,5],[157,6]]},"1196":{"position":[[61,5]]},"1197":{"position":[[67,5]]},"1198":{"position":[[42,5]]},"1199":{"position":[[5,5],[63,5]]},"1200":{"position":[[80,5]]},"1201":{"position":[[123,5]]},"1202":{"position":[[48,5],[1150,5],[1273,5],[5548,5],[5683,5]]},"1203":{"position":[[63,5]]},"1204":{"position":[[72,5],[4484,5],[4539,5],[5386,5],[5455,5],[6316,5],[6371,5],[7218,5],[7276,5],[8204,5],[8300,5],[9158,5],[9218,5],[10105,5],[10174,5]]},"1205":{"position":[[273,5]]},"1206":{"position":[[118,5]]},"1207":{"position":[[135,5]]}},"keywords":{}}],["audit_ctx",{"_index":1621,"title":{},"content":{"296":{"position":[[60,9]]}},"keywords":{}}],["auditcontext",{"_index":2107,"title":{},"content":{"402":{"position":[[97,12]]},"781":{"position":[[97,12]]}},"keywords":{}}],["augment",{"_index":4260,"title":{},"content":{"890":{"position":[[6541,10]]}},"keywords":{}}],["augmentedcmd_arg",{"_index":3898,"title":{},"content":{"847":{"position":[[376,17]]}},"keywords":{}}],["author",{"_index":309,"title":{"10":{"position":[[18,8]]}},"content":{"10":{"position":[[255,8]]},"23":{"position":[[1520,8]]},"41":{"position":[[385,8]]},"174":{"position":[[385,8]]},"690":{"position":[[24,7]]},"961":{"position":[[349,7],[392,6]]},"1112":{"position":[[4276,8]]},"1354":{"position":[[2685,6]]},"1367":{"position":[[10500,6]]},"1392":{"position":[[1955,6]]},"1410":{"position":[[3439,6]]},"1429":{"position":[[4731,6]]},"1440":{"position":[[4813,6]]}},"keywords":{}}],["auto",{"_index":4083,"title":{},"content":{"873":{"position":[[227,4]]},"1136":{"position":[[5091,5],[5154,5]]},"1138":{"position":[[8753,5],[8816,5]]},"1140":{"position":[[7679,5],[7742,5]]},"1142":{"position":[[3123,5],[3186,5]]},"1146":{"position":[[3063,5],[3126,5]]},"1148":{"position":[[6103,5],[6166,5]]},"1155":{"position":[[3159,5],[3222,5]]},"1156":{"position":[[2737,5],[2800,5]]},"1161":{"position":[[630,5],[693,5]]},"1167":{"position":[[8683,5],[8746,5]]},"1181":{"position":[[842,5],[905,5]]},"1186":{"position":[[4327,5],[4390,5]]},"1187":{"position":[[4340,5],[4403,5]]},"1188":{"position":[[9066,5],[9129,5]]},"1191":{"position":[[2927,5],[2990,5]]},"1192":{"position":[[3102,5],[3165,5]]},"1193":{"position":[[3154,5],[3217,5]]},"1194":{"position":[[2794,5],[2857,5]]},"1195":{"position":[[2772,5],[2835,5]]},"1196":{"position":[[2582,5],[2645,5]]},"1197":{"position":[[3565,5],[3628,5]]},"1198":{"position":[[3575,5],[3638,5]]},"1199":{"position":[[3603,5],[3666,5]]},"1200":{"position":[[3470,5],[3533,5]]},"1201":{"position":[[2730,5],[2793,5]]},"1202":{"position":[[3872,5],[3935,5],[8269,5],[8332,5]]},"1203":{"position":[[2964,5],[3027,5]]},"1204":{"position":[[2808,5],[2871,5]]},"1205":{"position":[[4137,5],[4200,5]]},"1206":{"position":[[2608,5],[2671,5]]},"1207":{"position":[[2765,5],[2828,5]]},"1209":{"position":[[4113,5],[4176,5]]},"1217":{"position":[[7424,5],[7487,5]]},"1222":{"position":[[2534,5],[2597,5]]},"1223":{"position":[[2544,5],[2607,5]]},"1226":{"position":[[7892,5],[7955,5]]},"1228":{"position":[[9505,5],[9568,5]]},"1235":{"position":[[5373,5],[5436,5]]},"1237":{"position":[[8062,5],[8125,5]]},"1427":{"position":[[6807,4]]}},"keywords":{}}],["auto_link_group",{"_index":7142,"title":{},"content":{"1382":{"position":[[441,17]]},"1384":{"position":[[448,17]]},"1387":{"position":[[526,17]]},"1388":{"position":[[574,17]]},"1416":{"position":[[383,17]]},"1462":{"position":[[593,17]]},"1467":{"position":[[660,17]]},"1471":{"position":[[525,17]]},"1473":{"position":[[556,17]]}},"keywords":{}}],["autodetect",{"_index":7902,"title":{},"content":{"1422":{"position":[[3357,13]]}},"keywords":{}}],["autom",{"_index":5868,"title":{},"content":{"1136":{"position":[[1104,10],[1601,11]]},"1148":{"position":[[1460,10],[1957,11]]},"1205":{"position":[[584,10],[1081,11]]},"1209":{"position":[[337,10],[834,11]]},"1226":{"position":[[2277,10],[2774,11]]},"1235":{"position":[[1597,10],[2094,11]]},"1237":{"position":[[2447,10],[2944,11]]}},"keywords":{}}],["automat",{"_index":450,"title":{},"content":{"15":{"position":[[204,13]]},"41":{"position":[[626,14]]},"174":{"position":[[626,14]]},"688":{"position":[[155,13]]},"864":{"position":[[1653,14]]},"865":{"position":[[274,13]]},"907":{"position":[[94,15]]},"950":{"position":[[361,13]]},"955":{"position":[[368,13]]},"956":{"position":[[332,13]]},"1045":{"position":[[457,14]]},"1112":{"position":[[4523,14]]},"1167":{"position":[[408,13],[556,13],[705,13],[884,13],[1058,13],[1246,13],[1425,13],[1589,13],[1759,13],[1906,13]]},"1360":{"position":[[4113,13]]},"1362":{"position":[[13379,13]]},"1363":{"position":[[4523,13]]},"1364":{"position":[[13145,13],[14079,13]]},"1367":{"position":[[13287,13]]},"1373":{"position":[[6051,14],[7760,14]]},"1382":{"position":[[10536,14]]},"1383":{"position":[[4566,13]]},"1384":{"position":[[17610,14],[18076,13]]},"1388":{"position":[[9029,14]]},"1398":{"position":[[3176,13],[4059,13],[5403,13],[6145,13]]},"1403":{"position":[[3528,13]]},"1405":{"position":[[2886,13],[3375,14]]},"1407":{"position":[[3307,13],[3796,14]]},"1408":{"position":[[2415,14]]},"1410":{"position":[[3887,13],[4783,14]]},"1469":{"position":[[2100,13]]},"1485":{"position":[[3401,14]]}},"keywords":{}}],["avail",{"_index":19,"title":{"1068":{"position":[[12,9]]}},"content":{"3":{"position":[[100,9]]},"17":{"position":[[1141,9]]},"23":{"position":[[1048,9]]},"24":{"position":[[233,9]]},"71":{"position":[[160,10]]},"74":{"position":[[110,9]]},"92":{"position":[[364,9],[658,9]]},"224":{"position":[[364,9],[658,9]]},"297":{"position":[[1116,9]]},"299":{"position":[[116,9]]},"300":{"position":[[452,9]]},"305":{"position":[[368,9]]},"307":{"position":[[111,9]]},"344":{"position":[[124,9]]},"373":{"position":[[197,9]]},"418":{"position":[[178,9],[785,9]]},"494":{"position":[[160,10]]},"497":{"position":[[110,9]]},"581":{"position":[[380,9]]},"631":{"position":[[48,10]]},"680":{"position":[[811,9]]},"681":{"position":[[680,9],[842,9]]},"693":{"position":[[1253,9],[6555,9],[6891,9]]},"719":{"position":[[48,9]]},"721":{"position":[[46,9]]},"722":{"position":[[200,9]]},"723":{"position":[[50,9]]},"752":{"position":[[197,9]]},"797":{"position":[[178,9],[785,9]]},"839":{"position":[[99,9]]},"840":{"position":[[1587,9]]},"846":{"position":[[190,9]]},"847":{"position":[[56,9]]},"857":{"position":[[187,9]]},"877":{"position":[[18,9],[263,9]]},"890":{"position":[[2067,9],[6000,9]]},"955":{"position":[[308,10]]},"972":{"position":[[77,9]]},"981":{"position":[[273,9]]},"987":{"position":[[363,9]]},"990":{"position":[[849,9]]},"991":{"position":[[481,9]]},"995":{"position":[[510,9]]},"1000":{"position":[[684,10]]},"1001":{"position":[[1338,9]]},"1013":{"position":[[159,9]]},"1040":{"position":[[178,9]]},"1042":{"position":[[218,9]]},"1044":{"position":[[2294,9]]},"1064":{"position":[[135,9],[1235,9],[1430,9],[1722,9]]},"1065":{"position":[[87,9],[271,9]]},"1068":{"position":[[111,9]]},"1069":{"position":[[33,9]]},"1071":{"position":[[544,9]]},"1103":{"position":[[1843,9]]},"1104":{"position":[[100,9]]},"1105":{"position":[[1482,9]]},"1113":{"position":[[301,9]]},"1114":{"position":[[496,9],[526,9]]},"1120":{"position":[[97,9],[892,9]]},"1127":{"position":[[155,9]]},"1136":{"position":[[307,9]]},"1148":{"position":[[840,9]]},"1190":{"position":[[252,9]]},"1192":{"position":[[89,9]]},"1197":{"position":[[215,9]]},"1217":{"position":[[91,9]]},"1219":{"position":[[636,9]]},"1226":{"position":[[3976,10]]},"1232":{"position":[[3677,10]]},"1235":{"position":[[633,9]]},"1237":{"position":[[4146,10]]},"1358":{"position":[[981,9]]},"1360":{"position":[[3244,9],[5350,9],[5544,9]]},"1362":{"position":[[6741,9],[8882,9],[13514,12]]},"1364":{"position":[[6980,9],[9996,9],[14214,12]]},"1367":{"position":[[8970,9],[13422,12]]},"1373":{"position":[[4582,9]]},"1382":{"position":[[5652,9],[8786,9]]},"1383":{"position":[[2925,9],[7353,9],[7547,9],[8544,9],[8634,9]]},"1384":{"position":[[6168,9],[8127,9],[10599,9],[15131,9]]},"1385":{"position":[[3565,9],[5015,9]]},"1386":{"position":[[651,9],[4792,9]]},"1387":{"position":[[5898,9],[8388,9]]},"1388":{"position":[[6521,9]]},"1393":{"position":[[5305,9]]},"1398":{"position":[[3209,9],[6669,9]]},"1403":{"position":[[2659,9],[6453,9],[6647,9]]},"1405":{"position":[[2329,9]]},"1407":{"position":[[2750,9]]},"1410":{"position":[[2772,9],[5679,9]]},"1454":{"position":[[4872,9],[6526,9]]},"1461":{"position":[[2982,9]]},"1467":{"position":[[10812,9]]},"1477":{"position":[[2325,9]]},"1485":{"position":[[1933,9],[3050,9]]}},"keywords":{}}],["availablea",{"_index":767,"title":{},"content":{"23":{"position":[[2905,11]]}},"keywords":{}}],["availableallow_cache_upload",{"_index":1915,"title":{},"content":{"362":{"position":[[2450,29]]},"741":{"position":[[2450,29]]}},"keywords":{}}],["averag",{"_index":5434,"title":{},"content":{"1058":{"position":[[861,7]]}},"keywords":{}}],["avoid",{"_index":3893,"title":{},"content":{"846":{"position":[[1514,5]]},"900":{"position":[[1570,8]]},"919":{"position":[[1658,5]]},"920":{"position":[[447,5]]},"937":{"position":[[3342,6],[3521,6]]},"955":{"position":[[1437,5]]},"991":{"position":[[414,5]]},"1029":{"position":[[125,8]]},"1077":{"position":[[166,5]]},"1113":{"position":[[702,5]]},"1136":{"position":[[1079,5]]},"1138":{"position":[[2729,5]]},"1140":{"position":[[2218,5]]},"1148":{"position":[[1435,5]]},"1167":{"position":[[3222,5]]},"1188":{"position":[[2271,5]]},"1205":{"position":[[559,5]]},"1209":{"position":[[312,5]]},"1217":{"position":[[1963,5]]},"1226":{"position":[[2252,5]]},"1228":{"position":[[4044,5]]},"1235":{"position":[[1572,5]]},"1237":{"position":[[2422,5]]},"1355":{"position":[[7199,7],[7266,5]]},"1386":{"position":[[6195,8]]},"1393":{"position":[[2461,5]]},"1427":{"position":[[6398,7],[6465,5]]}},"keywords":{}}],["await",{"_index":1693,"title":{},"content":{"306":{"position":[[68,6]]},"835":{"position":[[282,5]]},"1486":{"position":[[4901,6]]}},"keywords":{}}],["awar",{"_index":2411,"title":{},"content":{"450":{"position":[[236,5]]},"688":{"position":[[1404,5]]},"829":{"position":[[236,5]]},"865":{"position":[[162,5]]},"879":{"position":[[180,5]]},"1383":{"position":[[5710,5]]},"1388":{"position":[[4988,5],[6398,5]]},"1467":{"position":[[6751,5]]}},"keywords":{}}],["away",{"_index":4283,"title":{},"content":{"892":{"position":[[1866,4]]},"937":{"position":[[2975,4]]},"1100":{"position":[[142,4]]}},"keywords":{}}],["awkward",{"_index":4526,"title":{},"content":{"924":{"position":[[441,7]]},"1471":{"position":[[4167,7]]},"1472":{"position":[[4751,7]]},"1473":{"position":[[4488,7]]}},"keywords":{}}],["ax",{"_index":5078,"title":{},"content":{"1025":{"position":[[296,5]]}},"keywords":{}}],["b",{"_index":3103,"title":{"720":{"position":[[6,2]]}},"content":{"636":{"position":[[629,6],[651,4]]},"665":{"position":[[204,4],[224,4]]},"693":{"position":[[2990,2],[2993,1],[4302,2],[9986,2],[10032,1],[10115,1]]},"704":{"position":[[60,1],[87,1],[154,1],[389,2],[632,1],[892,1],[1137,1],[1607,1],[2551,1]]},"712":{"position":[[3104,3],[3116,2],[3164,3]]},"892":{"position":[[1407,3],[1535,1],[1776,2],[1782,1],[1949,2],[1955,1]]},"947":{"position":[[318,1],[435,2],[446,1],[835,2],[883,2]]},"991":{"position":[[2478,2],[2748,2]]},"1024":{"position":[[1189,2]]},"1061":{"position":[[79,1]]},"1136":{"position":[[1247,2]]},"1148":{"position":[[1603,2]]},"1205":{"position":[[727,2]]},"1209":{"position":[[480,2]]},"1226":{"position":[[2420,2]]},"1235":{"position":[[1740,2]]},"1237":{"position":[[2590,2]]},"1259":{"position":[[2246,2]]},"1283":{"position":[[66,2]]},"1290":{"position":[[2246,2]]},"1314":{"position":[[66,2]]},"1318":{"position":[[2246,2]]},"1342":{"position":[[66,2]]}},"keywords":{}}],["b).if",{"_index":3640,"title":{},"content":{"704":{"position":[[1972,5]]}},"keywords":{}}],["b.librari",{"_index":4725,"title":{},"content":{"947":{"position":[[961,9]]}},"keywords":{}}],["b57c2b9213251180dcab794352bfc9a241bf2557",{"_index":8384,"title":{},"content":{"1469":{"position":[[2658,43]]}},"keywords":{}}],["back",{"_index":644,"title":{},"content":{"22":{"position":[[610,5]]},"23":{"position":[[2758,6]]},"99":{"position":[[1077,4]]},"106":{"position":[[128,4]]},"109":{"position":[[128,4]]},"110":{"position":[[131,4]]},"111":{"position":[[144,4]]},"231":{"position":[[1077,4]]},"518":{"position":[[128,4]]},"521":{"position":[[128,4]]},"522":{"position":[[131,4]]},"523":{"position":[[144,4]]},"622":{"position":[[1194,4]]},"715":{"position":[[2087,4]]},"722":{"position":[[425,6]]},"892":{"position":[[1628,4]]},"1053":{"position":[[1413,4]]},"1071":{"position":[[1128,4]]},"1083":{"position":[[1174,4]]},"1363":{"position":[[6080,4]]},"1386":{"position":[[2882,4]]},"1393":{"position":[[5038,4]]},"1477":{"position":[[2654,4]]},"1486":{"position":[[4806,4]]}},"keywords":{}}],["backcompat",{"_index":5716,"title":{},"content":{"1112":{"position":[[671,10],[1413,10]]},"1114":{"position":[[622,10]]}},"keywords":{}}],["backend",{"_index":5521,"title":{},"content":{"1075":{"position":[[79,8],[187,7],[334,8],[688,8]]},"1077":{"position":[[222,7]]},"1136":{"position":[[6744,7]]},"1138":{"position":[[10406,7]]},"1140":{"position":[[9332,7]]},"1142":{"position":[[4776,7]]},"1144":{"position":[[1104,7]]},"1146":{"position":[[4716,7]]},"1148":{"position":[[8307,7]]},"1150":{"position":[[1339,7]]},"1152":{"position":[[1037,7]]},"1154":{"position":[[1192,7]]},"1155":{"position":[[4812,7]]},"1156":{"position":[[4390,7]]},"1157":{"position":[[975,7]]},"1158":{"position":[[969,7]]},"1159":{"position":[[969,7]]},"1161":{"position":[[1964,7]]},"1163":{"position":[[1350,7]]},"1165":{"position":[[1179,7]]},"1167":{"position":[[10336,7]]},"1169":{"position":[[3444,7]]},"1171":{"position":[[1685,7]]},"1172":{"position":[[3070,7]]},"1173":{"position":[[1757,7]]},"1174":{"position":[[1185,7]]},"1175":{"position":[[1181,7]]},"1176":{"position":[[1350,7]]},"1177":{"position":[[1271,7]]},"1178":{"position":[[1588,7]]},"1179":{"position":[[1385,7]]},"1180":{"position":[[1656,7]]},"1181":{"position":[[2176,7]]},"1182":{"position":[[1219,7]]},"1183":{"position":[[1174,7]]},"1185":{"position":[[1019,7]]},"1186":{"position":[[5980,7]]},"1187":{"position":[[5993,7]]},"1188":{"position":[[10719,7]]},"1190":{"position":[[2350,7]]},"1191":{"position":[[4580,7]]},"1192":{"position":[[4755,7]]},"1193":{"position":[[4807,7]]},"1194":{"position":[[4447,7]]},"1195":{"position":[[4425,7]]},"1196":{"position":[[4235,7]]},"1197":{"position":[[5218,7]]},"1198":{"position":[[5228,7]]},"1199":{"position":[[5256,7]]},"1200":{"position":[[5123,7]]},"1201":{"position":[[4383,7]]},"1202":{"position":[[1127,7],[5525,7],[9922,7]]},"1203":{"position":[[4617,7]]},"1204":{"position":[[4461,7],[5363,7],[6293,7],[7195,7],[8181,7],[9135,7],[10082,7],[11012,7]]},"1205":{"position":[[5790,7]]},"1206":{"position":[[4489,7]]},"1207":{"position":[[4418,7]]},"1209":{"position":[[5766,7]]},"1211":{"position":[[1090,7]]},"1213":{"position":[[861,7]]},"1215":{"position":[[945,7]]},"1217":{"position":[[9077,7]]},"1219":{"position":[[4332,7]]},"1221":{"position":[[1064,7]]},"1222":{"position":[[4203,7]]},"1223":{"position":[[4213,7]]},"1224":{"position":[[3646,7]]},"1226":{"position":[[9545,7]]},"1228":{"position":[[11158,7]]},"1235":{"position":[[7026,7]]},"1237":{"position":[[9715,7]]}},"keywords":{}}],["backend'",{"_index":1102,"title":{},"content":{"90":{"position":[[212,9]]},"222":{"position":[[212,9]]}},"keywords":{}}],["background",{"_index":4621,"title":{"938":{"position":[[14,11]]},"987":{"position":[[0,10]]}},"content":{"1079":{"position":[[1034,10]]}},"keywords":{}}],["backport",{"_index":6558,"title":{},"content":{"1355":{"position":[[3472,11]]},"1439":{"position":[[3293,11]]}},"keywords":{}}],["backslash\\"",{"_index":2628,"title":{},"content":{"576":{"position":[[208,16]]}},"keywords":{}}],["backward",{"_index":4716,"title":{},"content":{"945":{"position":[[203,9]]},"1050":{"position":[[2047,9]]},"1112":{"position":[[1478,9]]},"1113":{"position":[[227,9],[637,9]]}},"keywords":{}}],["bad",{"_index":3655,"title":{},"content":{"706":{"position":[[155,3],[511,4]]},"919":{"position":[[2328,3]]},"937":{"position":[[2729,3]]},"1253":{"position":[[66,4]]},"1386":{"position":[[5330,3]]}},"keywords":{}}],["bake",{"_index":2164,"title":{},"content":{"406":{"position":[[286,5]]},"785":{"position":[[286,5]]}},"keywords":{}}],["banana",{"_index":2586,"title":{},"content":{"566":{"position":[[756,6],[796,6],[837,6]]}},"keywords":{}}],["banned.th",{"_index":5217,"title":{},"content":{"1045":{"position":[[115,10]]}},"keywords":{}}],["banned_duplicate_resource_typ",{"_index":6423,"title":{},"content":{"1350":{"position":[[1092,32]]},"1352":{"position":[[1092,32]]}},"keywords":{}}],["bar",{"_index":878,"title":{},"content":{"46":{"position":[[97,3]]},"50":{"position":[[212,4],[266,4]]},"193":{"position":[[97,3]]},"197":{"position":[[212,4],[266,4]]},"347":{"position":[[538,5]]},"414":{"position":[[259,4]]},"425":{"position":[[257,4]]},"577":{"position":[[394,3],[686,3],[741,3],[776,3]]},"712":{"position":[[1331,3],[1829,3]]},"793":{"position":[[259,4]]},"804":{"position":[[257,4]]},"890":{"position":[[402,6],[618,3],[769,4],[825,4],[1176,3],[1239,4]]},"961":{"position":[[696,3]]},"983":{"position":[[172,5]]},"1084":{"position":[[330,3],[356,3]]},"1088":{"position":[[1331,3],[1357,3]]},"1138":{"position":[[4225,6],[4335,7],[4416,6],[4575,7],[4637,6],[4825,6]]},"1140":{"position":[[3714,6],[3824,7],[3905,6],[4064,7],[4126,6],[4314,6]]},"1167":{"position":[[4718,6],[4828,7],[4909,6],[5068,7],[5130,6],[5318,6]]},"1188":{"position":[[3767,6],[3877,7],[3958,6],[4117,7],[4179,6],[4367,6]]},"1217":{"position":[[3459,6],[3569,7],[3650,6],[3809,7],[3871,6],[4059,6]]},"1228":{"position":[[5540,6],[5650,7],[5731,6],[5890,7],[5952,6],[6140,6]]}},"keywords":{}}],["bar((bar",{"_index":5578,"title":{},"content":{"1084":{"position":[[293,10]]},"1088":{"position":[[1294,10]]}},"keywords":{}}],["bar.baz",{"_index":8327,"title":{},"content":{"1462":{"position":[[7154,9]]},"1467":{"position":[[8123,9]]}},"keywords":{}}],["bar/baz",{"_index":2212,"title":{},"content":{"414":{"position":[[202,8]]},"425":{"position":[[200,8]]},"793":{"position":[[202,8]]},"804":{"position":[[200,8]]}},"keywords":{}}],["bar:baz",{"_index":1359,"title":{},"content":{"131":{"position":[[398,11]]},"254":{"position":[[398,11]]}},"keywords":{}}],["bare",{"_index":4855,"title":{},"content":{"980":{"position":[[1005,6]]}},"keywords":{}}],["barinfo",{"_index":4873,"title":{},"content":{"983":{"position":[[307,10]]}},"keywords":{}}],["barrier",{"_index":351,"title":{},"content":{"10":{"position":[[1044,7]]}},"keywords":{}}],["base",{"_index":876,"title":{},"content":{"46":{"position":[[28,4]]},"94":{"position":[[1961,5]]},"193":{"position":[[28,4]]},"226":{"position":[[1961,5]]},"389":{"position":[[510,5]]},"648":{"position":[[44,5],[162,6],[509,4],[558,4],[695,4],[756,4],[768,4],[798,4]]},"704":{"position":[[1320,5]]},"768":{"position":[[510,5]]},"869":{"position":[[18,5]]},"872":{"position":[[884,5]]},"879":{"position":[[160,4]]},"921":{"position":[[189,5]]},"937":{"position":[[1824,5]]},"939":{"position":[[891,5],[1003,5]]},"943":{"position":[[2192,5]]},"944":{"position":[[297,5],[400,5],[597,5],[661,5]]},"951":{"position":[[76,5],[252,4]]},"955":{"position":[[227,6],[1274,6]]},"962":{"position":[[227,5]]},"977":{"position":[[222,5]]},"980":{"position":[[715,5]]},"981":{"position":[[534,5]]},"994":{"position":[[330,5]]},"1011":{"position":[[230,4],[434,5]]},"1018":{"position":[[110,5]]},"1050":{"position":[[139,5]]},"1054":{"position":[[1067,5]]},"1136":{"position":[[3883,5]]},"1138":{"position":[[7545,5]]},"1140":{"position":[[6471,5]]},"1142":{"position":[[1915,5]]},"1146":{"position":[[1855,5]]},"1148":{"position":[[4895,5]]},"1155":{"position":[[1951,5]]},"1156":{"position":[[1529,5]]},"1167":{"position":[[7475,5]]},"1169":{"position":[[1314,5]]},"1186":{"position":[[3119,5]]},"1187":{"position":[[3132,5]]},"1188":{"position":[[7858,5]]},"1191":{"position":[[1719,5]]},"1192":{"position":[[1894,5]]},"1193":{"position":[[1946,5]]},"1194":{"position":[[1586,5]]},"1195":{"position":[[1564,5]]},"1196":{"position":[[1374,5]]},"1197":{"position":[[2357,5]]},"1198":{"position":[[2367,5]]},"1199":{"position":[[2395,5]]},"1200":{"position":[[2262,5]]},"1201":{"position":[[1522,5]]},"1202":{"position":[[2664,5],[7061,5]]},"1203":{"position":[[1756,5]]},"1204":{"position":[[1600,5]]},"1205":{"position":[[2929,5]]},"1206":{"position":[[1400,5]]},"1207":{"position":[[1557,5]]},"1209":{"position":[[2905,5]]},"1217":{"position":[[6216,5]]},"1219":{"position":[[2202,5]]},"1222":{"position":[[1326,5]]},"1223":{"position":[[1336,5]]},"1224":{"position":[[1516,5]]},"1226":{"position":[[6684,5]]},"1228":{"position":[[8297,5]]},"1235":{"position":[[4165,5]]},"1237":{"position":[[6854,5]]},"1351":{"position":[[1014,5]]},"1362":{"position":[[9844,5],[12785,5]]},"1363":{"position":[[4615,5],[6236,5],[6407,5],[6650,5],[6821,5]]},"1364":{"position":[[10958,5],[13485,5]]},"1366":{"position":[[3154,5],[3229,5]]},"1367":{"position":[[10761,5],[12693,5]]},"1373":{"position":[[8662,5]]},"1382":{"position":[[6570,5],[11147,5]]},"1384":{"position":[[12924,5],[18351,5],[18801,5]]},"1385":{"position":[[6725,5]]},"1387":{"position":[[10098,5]]},"1388":{"position":[[7439,5],[9640,5]]},"1402":{"position":[[1927,4]]},"1427":{"position":[[4737,5]]},"1439":{"position":[[7236,5]]},"1442":{"position":[[2520,5]]},"1461":{"position":[[2182,5]]},"1472":{"position":[[5667,5]]},"1485":{"position":[[4011,5]]}},"keywords":{}}],["base.lproj",{"_index":6954,"title":{},"content":{"1366":{"position":[[2482,11]]}},"keywords":{}}],["base_modul",{"_index":7236,"title":{},"content":{"1385":{"position":[[332,12],[1972,11],[7293,11]]},"1387":{"position":[[554,12],[4323,11],[10672,11]]},"1444":{"position":[[326,12]]},"1462":{"position":[[621,12],[7621,11]]},"1465":{"position":[[465,12]]},"1467":{"position":[[688,12],[5930,12]]}},"keywords":{}}],["base_path",{"_index":5429,"title":{},"content":{"1058":{"position":[[530,9]]},"1433":{"position":[[525,10]]}},"keywords":{}}],["base_path.startswith(_packag",{"_index":5430,"title":{},"content":{"1058":{"position":[[555,29]]}},"keywords":{}}],["base_platform",{"_index":6607,"title":{},"content":{"1357":{"position":[[331,14]]}},"keywords":{}}],["basekey",{"_index":4736,"title":{},"content":{"951":{"position":[[327,7]]}},"keywords":{}}],["basenam",{"_index":4294,"title":{},"content":{"895":{"position":[[234,8]]},"1395":{"position":[[3281,8]]}},"keywords":{}}],["basename.release_nam",{"_index":7577,"title":{},"content":{"1397":{"position":[[2581,22]]}},"keywords":{}}],["bash",{"_index":4445,"title":{"910":{"position":[[17,4]]}},"content":{"910":{"position":[[0,4]]},"1144":{"position":[[127,5],[312,5]]},"1351":{"position":[[5469,4]]},"1360":{"position":[[542,5],[2764,5],[2891,4],[2949,4],[2988,4],[3154,4],[6236,4],[6528,4]]},"1383":{"position":[[470,5],[2349,5],[2476,4],[2534,4],[2573,4],[2738,4]]},"1403":{"position":[[441,5],[2179,5],[2306,4],[2364,4],[2403,4],[2569,4],[7687,4],[7994,4]]},"1424":{"position":[[447,5]]},"1432":{"position":[[494,5]]}},"keywords":{}}],["basi",{"_index":69,"title":{},"content":{"4":{"position":[[536,6]]},"9":{"position":[[376,5]]}},"keywords":{}}],["basic",{"_index":167,"title":{"842":{"position":[[4,6]]}},"content":{"9":{"position":[[56,9]]},"18":{"position":[[2161,5]]},"99":{"position":[[761,5]]},"231":{"position":[[761,5]]},"303":{"position":[[76,5]]},"870":{"position":[[1312,9]]},"1136":{"position":[[1259,5],[1283,5]]},"1148":{"position":[[1615,5],[1639,5]]},"1205":{"position":[[739,5],[763,5]]},"1209":{"position":[[492,5],[516,5]]},"1226":{"position":[[2432,5],[2456,5]]},"1235":{"position":[[1752,5],[1776,5]]},"1237":{"position":[[2602,5],[2626,5]]},"1393":{"position":[[8981,5]]},"1487":{"position":[[669,5]]}},"keywords":{}}],["bat",{"_index":8456,"title":{},"content":{"1477":{"position":[[1617,6]]}},"keywords":{}}],["batch",{"_index":7181,"title":{},"content":{"1383":{"position":[[4802,5]]}},"keywords":{}}],["battl",{"_index":405,"title":{},"content":{"12":{"position":[[373,6]]}},"keywords":{}}],["baz",{"_index":1360,"title":{},"content":{"131":{"position":[[439,7]]},"254":{"position":[[439,7]]},"577":{"position":[[399,3]]},"961":{"position":[[700,3]]},"1155":{"position":[[288,5]]}},"keywords":{}}],["baz:lib",{"_index":6299,"title":{},"content":{"1282":{"position":[[603,10]]},"1283":{"position":[[597,9]]},"1284":{"position":[[579,9]]},"1313":{"position":[[603,10]]},"1314":{"position":[[597,9]]},"1315":{"position":[[579,9]]},"1341":{"position":[[603,10]]},"1342":{"position":[[597,9]]},"1343":{"position":[[579,9]]}},"keywords":{}}],["baz=1",{"_index":2622,"title":{},"content":{"575":{"position":[[205,5]]}},"keywords":{}}],["bazel",{"_index":109,"title":{"984":{"position":[[0,6]]}},"content":{"5":{"position":[[478,6]]},"22":{"position":[[498,6],[535,5],[644,5],[989,6],[1092,7]]},"23":{"position":[[167,7],[3280,6]]},"984":{"position":[[3,6]]}},"keywords":{}}],["bazel'",{"_index":744,"title":{},"content":{"23":{"position":[[2212,7]]}},"keywords":{}}],["bazel_skylib",{"_index":2732,"title":{},"content":{"587":{"position":[[195,12]]}},"keywords":{}}],["bdist_egg",{"_index":8271,"title":{},"content":{"1461":{"position":[[3250,9]]}},"keywords":{}}],["be",{"_index":565,"title":{"1239":{"position":[[13,5]]}},"content":{"18":{"position":[[804,5]]},"23":{"position":[[2244,5]]},"24":{"position":[[192,5]]},"73":{"position":[[81,5]]},"89":{"position":[[657,5]]},"221":{"position":[[657,5]]},"496":{"position":[[81,5]]},"560":{"position":[[690,5]]},"690":{"position":[[2935,5],[2965,5]]},"704":{"position":[[452,5]]},"888":{"position":[[203,5],[692,5],[1291,5]]},"892":{"position":[[1127,5]]},"900":{"position":[[943,5]]},"904":{"position":[[1372,5]]},"911":{"position":[[107,5]]},"912":{"position":[[87,5]]},"924":{"position":[[526,5]]},"937":{"position":[[3575,5]]},"956":{"position":[[17,5],[210,5]]},"1001":{"position":[[1061,5]]},"1017":{"position":[[758,5]]},"1067":{"position":[[685,5]]},"1103":{"position":[[1940,5]]},"1108":{"position":[[109,5]]},"1113":{"position":[[211,5],[627,5]]},"1142":{"position":[[612,5]]},"1180":{"position":[[330,5]]},"1217":{"position":[[538,5]]},"1244":{"position":[[197,5]]},"1355":{"position":[[6975,5],[7016,5]]},"1362":{"position":[[7192,5]]},"1364":{"position":[[7431,5]]},"1373":{"position":[[5775,5],[6036,5],[8567,5]]},"1381":{"position":[[2321,5]]},"1386":{"position":[[4207,5],[4464,5]]},"1405":{"position":[[3360,5]]},"1407":{"position":[[3781,5]]},"1408":{"position":[[2139,5],[2400,5]]},"1410":{"position":[[4304,5],[4768,5]]},"1427":{"position":[[6174,5],[6215,5]]},"1457":{"position":[[1726,5]]},"1469":{"position":[[2758,5]]},"1483":{"position":[[1327,5]]},"1486":{"position":[[2786,5],[2828,5]]}},"keywords":{}}],["be.remot",{"_index":672,"title":{},"content":{"22":{"position":[[1359,9]]}},"keywords":{}}],["beam",{"_index":5141,"title":{},"content":{"1040":{"position":[[2088,4],[2124,5]]},"1393":{"position":[[8065,6]]},"1398":{"position":[[2491,4]]}},"keywords":{}}],["beam_fil",{"_index":5150,"title":{},"content":{"1040":{"position":[[2303,9],[2376,9],[2647,12],[2753,9]]}},"keywords":{}}],["beams.valu",{"_index":5163,"title":{},"content":{"1040":{"position":[[2692,16]]}},"keywords":{}}],["beams[d",{"_index":5159,"title":{},"content":{"1040":{"position":[[2538,9]]}},"keywords":{}}],["beams[x",{"_index":5152,"title":{},"content":{"1040":{"position":[[2365,8]]}},"keywords":{}}],["bebuilt",{"_index":150,"title":{},"content":{"7":{"position":[[254,7]]}},"keywords":{}}],["becausejava/com/facebook/common/collect",{"_index":3044,"title":{},"content":{"622":{"position":[[1769,40]]}},"keywords":{}}],["becom",{"_index":2388,"title":{},"content":{"446":{"position":[[125,6]]},"706":{"position":[[1112,6]]},"825":{"position":[[125,6]]},"890":{"position":[[1031,6]]},"937":{"position":[[538,6]]},"980":{"position":[[418,7]]},"1024":{"position":[[724,6]]},"1104":{"position":[[2011,7]]},"1356":{"position":[[1752,6]]}},"keywords":{}}],["befor",{"_index":520,"title":{},"content":{"17":{"position":[[1097,6]]},"23":{"position":[[1607,6]]},"81":{"position":[[267,6]]},"89":{"position":[[186,6]]},"92":{"position":[[705,6]]},"94":{"position":[[2205,6]]},"213":{"position":[[267,6]]},"221":{"position":[[186,6]]},"224":{"position":[[705,6]]},"226":{"position":[[2205,6]]},"405":{"position":[[1515,6],[1545,6],[1794,6]]},"423":{"position":[[155,6]]},"443":{"position":[[255,6]]},"607":{"position":[[218,6]]},"675":{"position":[[597,6]]},"682":{"position":[[126,6],[295,6]]},"693":{"position":[[108,6],[10165,6]]},"784":{"position":[[1515,6],[1545,6],[1794,6]]},"802":{"position":[[155,6]]},"822":{"position":[[255,6]]},"870":{"position":[[487,6]]},"874":{"position":[[356,6]]},"888":{"position":[[1089,6]]},"890":{"position":[[962,6],[1576,6],[2997,6]]},"919":{"position":[[2483,6]]},"937":{"position":[[1981,6],[2314,6]]},"938":{"position":[[884,6]]},"942":{"position":[[684,6]]},"943":{"position":[[217,6],[970,6],[2508,6]]},"946":{"position":[[78,6]]},"950":{"position":[[725,6]]},"991":{"position":[[312,6]]},"1000":{"position":[[0,6]]},"1040":{"position":[[225,6]]},"1050":{"position":[[1213,6]]},"1053":{"position":[[973,6]]},"1079":{"position":[[764,6],[979,6]]},"1088":{"position":[[770,6]]},"1102":{"position":[[983,6]]},"1112":{"position":[[1343,6]]},"1138":{"position":[[3351,6],[4132,6],[5029,6]]},"1140":{"position":[[2840,6],[3621,6],[4518,6]]},"1167":{"position":[[1692,6],[3844,6],[4625,6],[5522,6]]},"1172":{"position":[[1981,6]]},"1180":{"position":[[307,6]]},"1188":{"position":[[2893,6],[3674,6],[4571,6]]},"1217":{"position":[[2585,6],[3366,6],[4263,6]]},"1228":{"position":[[4666,6],[5447,6],[6344,6]]},"1345":{"position":[[524,6],[801,6],[1096,6]]},"1351":{"position":[[3423,6],[4966,6],[5248,6],[5332,6]]},"1354":{"position":[[2279,6]]},"1383":{"position":[[4745,6]]},"1393":{"position":[[8024,6]]},"1402":{"position":[[1741,6]]},"1446":{"position":[[1629,6]]},"1458":{"position":[[2120,6]]},"1462":{"position":[[8389,6]]},"1467":{"position":[[9871,6]]},"1487":{"position":[[2964,6]]}},"keywords":{}}],["before_stmt",{"_index":5438,"title":{},"content":{"1058":{"position":[[1071,11]]}},"keywords":{}}],["beforehand",{"_index":5696,"title":{},"content":{"1105":{"position":[[1919,11]]},"1240":{"position":[[232,11]]}},"keywords":{}}],["begin",{"_index":2875,"title":{},"content":{"602":{"position":[[195,5]]},"943":{"position":[[848,10]]},"1079":{"position":[[1075,6]]},"1126":{"position":[[462,6]]}},"keywords":{}}],["behalf",{"_index":7256,"title":{},"content":{"1386":{"position":[[2049,6]]}},"keywords":{}}],["behav",{"_index":1210,"title":{},"content":{"94":{"position":[[2666,6],[3442,6]]},"226":{"position":[[2666,6],[3442,6]]},"939":{"position":[[1325,7]]},"1050":{"position":[[64,6]]},"1136":{"position":[[764,6],[3456,7]]},"1138":{"position":[[7118,7]]},"1140":{"position":[[6044,7]]},"1142":{"position":[[1488,7]]},"1146":{"position":[[1428,7]]},"1148":{"position":[[4468,7]]},"1155":{"position":[[1524,7]]},"1156":{"position":[[1102,7]]},"1167":{"position":[[7048,7]]},"1169":{"position":[[887,7]]},"1186":{"position":[[2692,7]]},"1187":{"position":[[2705,7]]},"1188":{"position":[[7431,7]]},"1191":{"position":[[1292,7]]},"1192":{"position":[[1467,7]]},"1193":{"position":[[1519,7]]},"1194":{"position":[[1159,7]]},"1195":{"position":[[1137,7]]},"1196":{"position":[[947,7]]},"1197":{"position":[[1930,7]]},"1198":{"position":[[1940,7]]},"1199":{"position":[[1968,7]]},"1200":{"position":[[1835,7]]},"1201":{"position":[[1095,7]]},"1202":{"position":[[2237,7],[6634,7]]},"1203":{"position":[[1329,7]]},"1204":{"position":[[1173,7]]},"1205":{"position":[[2502,7]]},"1206":{"position":[[973,7]]},"1207":{"position":[[1130,7]]},"1209":{"position":[[2478,7]]},"1217":{"position":[[5789,7]]},"1219":{"position":[[1775,7]]},"1222":{"position":[[899,7]]},"1223":{"position":[[909,7]]},"1224":{"position":[[1089,7]]},"1226":{"position":[[6257,7]]},"1228":{"position":[[7870,7]]},"1235":{"position":[[3738,7]]},"1237":{"position":[[6427,7]]},"1363":{"position":[[5552,7]]}},"keywords":{}}],["behavior",{"_index":2777,"title":{},"content":{"591":{"position":[[747,10]]},"666":{"position":[[457,8]]},"680":{"position":[[1332,8]]},"865":{"position":[[773,8]]},"921":{"position":[[320,8]]},"938":{"position":[[709,9]]},"944":{"position":[[2065,9]]},"990":{"position":[[1406,9]]},"1020":{"position":[[91,9]]},"1021":{"position":[[403,8]]},"1044":{"position":[[334,10]]},"1114":{"position":[[141,8]]},"1136":{"position":[[4031,8]]},"1138":{"position":[[4244,8],[4605,8],[4788,8],[7693,8]]},"1140":{"position":[[3733,8],[4094,8],[4277,8],[6619,8]]},"1142":{"position":[[2063,8]]},"1146":{"position":[[2003,8]]},"1148":{"position":[[5043,8]]},"1155":{"position":[[2099,8]]},"1156":{"position":[[1677,8]]},"1167":{"position":[[4737,8],[5098,8],[5281,8],[7623,8]]},"1169":{"position":[[1462,8]]},"1186":{"position":[[3267,8]]},"1187":{"position":[[3280,8]]},"1188":{"position":[[3786,8],[4147,8],[4330,8],[8006,8]]},"1191":{"position":[[1867,8]]},"1192":{"position":[[2042,8]]},"1193":{"position":[[2094,8]]},"1194":{"position":[[1734,8]]},"1195":{"position":[[1712,8]]},"1196":{"position":[[1522,8]]},"1197":{"position":[[2505,8]]},"1198":{"position":[[2515,8]]},"1199":{"position":[[2543,8]]},"1200":{"position":[[2410,8]]},"1201":{"position":[[1670,8]]},"1202":{"position":[[2812,8],[7209,8]]},"1203":{"position":[[1904,8]]},"1204":{"position":[[1748,8]]},"1205":{"position":[[3077,8]]},"1206":{"position":[[1548,8]]},"1207":{"position":[[1705,8]]},"1209":{"position":[[3053,8]]},"1217":{"position":[[3478,8],[3839,8],[4022,8],[6364,8]]},"1219":{"position":[[2350,8]]},"1222":{"position":[[1474,8]]},"1223":{"position":[[1484,8]]},"1224":{"position":[[1664,8]]},"1226":{"position":[[6832,8]]},"1228":{"position":[[5559,8],[5920,8],[6103,8],[8445,8]]},"1235":{"position":[[4313,8]]},"1237":{"position":[[7002,8]]},"1477":{"position":[[1695,8]]},"1487":{"position":[[2867,8]]}},"keywords":{}}],["behaviour",{"_index":2283,"title":{},"content":{"421":{"position":[[259,9]]},"800":{"position":[[259,9]]},"959":{"position":[[198,9],[308,9]]},"966":{"position":[[127,9]]},"1138":{"position":[[1845,9]]},"1140":{"position":[[1334,9]]},"1167":{"position":[[2338,9]]},"1188":{"position":[[1387,9]]},"1217":{"position":[[1079,9]]},"1228":{"position":[[3160,9]]}},"keywords":{}}],["behind",{"_index":296,"title":{},"content":{"9":{"position":[[2602,6]]},"92":{"position":[[2381,6]]},"224":{"position":[[2381,6]]},"890":{"position":[[128,6],[2816,7],[4618,6],[4647,6]]},"898":{"position":[[132,6]]},"924":{"position":[[1481,6]]}},"keywords":{}}],["behindarc",{"_index":4225,"title":{},"content":{"890":{"position":[[2738,9]]}},"keywords":{}}],["belong",{"_index":3520,"title":{},"content":{"693":{"position":[[739,9],[5567,9],[8796,7]]},"1126":{"position":[[483,7]]},"1362":{"position":[[7164,7]]},"1364":{"position":[[6619,6],[7403,7]]},"1384":{"position":[[5664,6],[7373,6]]},"1386":{"position":[[1856,6]]},"1454":{"position":[[4512,6],[5773,6]]},"1455":{"position":[[2160,6],[2544,6]]}},"keywords":{}}],["below",{"_index":374,"title":{},"content":{"11":{"position":[[462,5]]},"573":{"position":[[255,6]]},"585":{"position":[[0,5]]},"675":{"position":[[756,5]]},"693":{"position":[[3118,7]]},"712":{"position":[[766,5]]},"715":{"position":[[1865,7]]},"847":{"position":[[443,5]]},"864":{"position":[[871,5]]},"946":{"position":[[6,5]]},"947":{"position":[[607,5]]},"962":{"position":[[458,5]]},"965":{"position":[[579,6]]},"966":{"position":[[664,5]]},"991":{"position":[[233,5],[678,5]]},"1012":{"position":[[466,7]]},"1026":{"position":[[143,7]]},"1044":{"position":[[898,5]]},"1052":{"position":[[1590,7]]},"1093":{"position":[[432,6]]},"1104":{"position":[[1274,6]]},"1108":{"position":[[363,5]]},"1112":{"position":[[1449,5]]},"1126":{"position":[[633,5]]},"1250":{"position":[[122,5]]},"1251":{"position":[[107,5]]},"1252":{"position":[[139,5]]},"1351":{"position":[[2978,6]]},"1398":{"position":[[2735,6]]},"1469":{"position":[[2318,6]]}},"keywords":{}}],["below).label",{"_index":5480,"title":{},"content":{"1069":{"position":[[348,13]]}},"keywords":{}}],["benchmark",{"_index":203,"title":{"1061":{"position":[[0,13]]}},"content":{"9":{"position":[[688,12],[995,10]]},"276":{"position":[[444,12]]},"277":{"position":[[392,12]]},"281":{"position":[[533,12]]},"282":{"position":[[483,12]]},"1138":{"position":[[2992,13]]},"1140":{"position":[[2481,13]]},"1167":{"position":[[3485,13]]},"1181":{"position":[[660,12]]},"1188":{"position":[[2534,13]]},"1217":{"position":[[2226,13]]},"1228":{"position":[[4307,13]]}},"keywords":{}}],["beneath",{"_index":2700,"title":{},"content":{"584":{"position":[[375,7]]}},"keywords":{}}],["beneathbuck",{"_index":2607,"title":{},"content":{"570":{"position":[[205,11]]}},"keywords":{}}],["benefit",{"_index":11,"title":{"8":{"position":[[0,8]]},"9":{"position":[[0,8]]},"10":{"position":[[0,8]]},"11":{"position":[[0,8]]}},"content":{"2":{"position":[[69,8]]},"9":{"position":[[492,9]]},"11":{"position":[[91,8],[136,9]]},"12":{"position":[[21,9]]},"23":{"position":[[3496,9]]},"1087":{"position":[[441,9]]},"1090":{"position":[[16,8]]},"1386":{"position":[[2294,7]]}},"keywords":{}}],["benefits.al",{"_index":704,"title":{},"content":{"23":{"position":[[635,12]]}},"keywords":{}}],["besid",{"_index":1151,"title":{},"content":{"92":{"position":[[2001,7]]},"224":{"position":[[2001,7]]}},"keywords":{}}],["best",{"_index":657,"title":{},"content":{"22":{"position":[[851,4]]},"23":{"position":[[1822,4]]},"276":{"position":[[487,4]]},"277":{"position":[[435,4]]},"281":{"position":[[576,4]]},"282":{"position":[[526,4]]},"445":{"position":[[146,4]]},"587":{"position":[[544,4]]},"824":{"position":[[146,4]]},"856":{"position":[[102,5],[337,4]]},"920":{"position":[[170,4]]},"944":{"position":[[907,4]]},"1386":{"position":[[3056,4]]},"1399":{"position":[[2033,4]]}},"keywords":{}}],["better",{"_index":195,"title":{},"content":{"9":{"position":[[544,6],[2834,6]]},"23":{"position":[[337,6],[3100,6]]},"276":{"position":[[325,6]]},"277":{"position":[[277,6]]},"281":{"position":[[401,6]]},"282":{"position":[[350,6]]},"706":{"position":[[1618,6]]},"832":{"position":[[944,6]]},"856":{"position":[[183,7]]},"919":{"position":[[2584,6]]},"935":{"position":[[218,6]]},"983":{"position":[[0,6]]},"1105":{"position":[[2374,6]]},"1362":{"position":[[5219,6]]},"1364":{"position":[[5248,6]]},"1410":{"position":[[6097,6]]}},"keywords":{}}],["between",{"_index":148,"title":{"703":{"position":[[93,7]]},"833":{"position":[[22,7]]},"835":{"position":[[23,7]]}},"content":{"7":{"position":[[217,7]]},"10":{"position":[[462,7]]},"24":{"position":[[299,7],[576,7]]},"405":{"position":[[1588,7]]},"577":{"position":[[768,7]]},"581":{"position":[[914,7]]},"595":{"position":[[403,7]]},"604":{"position":[[224,7]]},"662":{"position":[[373,7]]},"689":{"position":[[82,7]]},"693":{"position":[[4040,7],[4101,7],[4238,7]]},"784":{"position":[[1588,7]]},"846":{"position":[[437,7]]},"870":{"position":[[24,7]]},"947":{"position":[[76,7]]},"955":{"position":[[110,7]]},"966":{"position":[[31,7]]},"987":{"position":[[578,7]]},"991":{"position":[[1223,7]]},"1098":{"position":[[587,7]]},"1127":{"position":[[642,7]]},"1247":{"position":[[222,7]]},"1260":{"position":[[102,7],[173,7],[607,7]]},"1291":{"position":[[102,7],[173,7],[607,7]]},"1319":{"position":[[102,7],[173,7],[607,7]]},"1353":{"position":[[2364,7]]},"1360":{"position":[[4861,7]]},"1383":{"position":[[6969,7]]},"1386":{"position":[[6009,7],[6258,7]]},"1403":{"position":[[4849,7]]},"1486":{"position":[[5408,7]]}},"keywords":{}}],["betwen",{"_index":3837,"title":{},"content":{"835":{"position":[[191,6]]}},"keywords":{}}],["beyond",{"_index":284,"title":{},"content":{"9":{"position":[[2340,6]]},"22":{"position":[[295,6]]},"951":{"position":[[363,6]]},"980":{"position":[[1287,6]]},"1105":{"position":[[2230,6]]}},"keywords":{}}],["bf",{"_index":5601,"title":{},"content":{"1088":{"position":[[698,3],[723,5],[1563,3]]}},"keywords":{}}],["bi",{"_index":444,"title":{},"content":{"15":{"position":[[102,2]]}},"keywords":{}}],["big",{"_index":4504,"title":{"1252":{"position":[[23,3]]}},"content":{"919":{"position":[[2655,3]]},"1252":{"position":[[105,3]]},"1253":{"position":[[298,3]]}},"keywords":{}}],["billion",{"_index":6207,"title":{},"content":{"1252":{"position":[[171,7]]}},"keywords":{}}],["billion_list",{"_index":6211,"title":{},"content":{"1252":{"position":[[238,12]]}},"keywords":{}}],["bin",{"_index":4887,"title":{},"content":{"987":{"position":[[922,4]]},"1422":{"position":[[4289,5],[4467,4]]},"1423":{"position":[[2783,5],[3269,5],[3461,4],[3582,5],[3863,5]]}},"keywords":{}}],["bin/sh",{"_index":8465,"title":{},"content":{"1477":{"position":[[2968,9]]},"1478":{"position":[[3118,9]]}},"keywords":{}}],["binari",{"_index":418,"title":{},"content":{"13":{"position":[[109,6],[208,6]]},"17":{"position":[[93,7],[1213,7],[1261,6]]},"23":{"position":[[746,7],[807,6],[903,7],[2004,8]]},"368":{"position":[[2104,7],[2193,7],[2279,6]]},"406":{"position":[[301,7]]},"693":{"position":[[525,8],[3248,6],[7663,7]]},"706":{"position":[[206,7],[254,8],[767,8],[1041,6]]},"747":{"position":[[2104,7],[2193,7],[2279,6]]},"785":{"position":[[301,7]]},"947":{"position":[[1099,6]]},"987":{"position":[[392,7]]},"1025":{"position":[[14,6],[103,10],[132,11],[167,6]]},"1071":{"position":[[266,6],[343,8],[421,6]]},"1095":{"position":[[141,7]]},"1103":{"position":[[202,6],[382,8],[1146,7]]},"1104":{"position":[[808,7],[1366,7]]},"1106":{"position":[[223,6]]},"1107":{"position":[[61,6]]},"1232":{"position":[[3817,6]]},"1355":{"position":[[4497,6],[4507,6]]},"1362":{"position":[[5049,8],[6611,7]]},"1363":{"position":[[1372,7],[2856,6],[5532,7],[6942,6],[7110,6],[7263,6],[7453,6],[7649,6]]},"1364":{"position":[[5076,8]]},"1367":{"position":[[1579,7],[13762,7]]},"1370":{"position":[[656,6],[749,6],[1667,6],[2101,6],[2117,6],[2252,7],[2300,6],[2373,7],[2577,7],[3074,6]]},"1372":{"position":[[1274,7]]},"1374":{"position":[[727,8],[2765,7]]},"1383":{"position":[[3349,8],[3468,8]]},"1384":{"position":[[20521,6]]},"1385":{"position":[[3074,7]]},"1386":{"position":[[4408,6],[4846,6]]},"1387":{"position":[[5341,7]]},"1388":{"position":[[3485,6]]},"1400":{"position":[[335,7]]},"1403":{"position":[[7583,8]]},"1410":{"position":[[1571,6]]},"1415":{"position":[[5156,6]]},"1416":{"position":[[3007,7]]},"1427":{"position":[[3642,6],[3652,6]]},"1439":{"position":[[4316,6],[4326,6]]},"1443":{"position":[[1687,6]]},"1444":{"position":[[1701,7]]},"1454":{"position":[[9577,8]]},"1458":{"position":[[1005,6]]},"1461":{"position":[[2270,6]]},"1462":{"position":[[5565,7],[5715,8],[5915,6],[6887,7],[6938,6],[7060,7],[7503,7],[7574,6]]},"1465":{"position":[[2495,7],[2730,6]]},"1467":{"position":[[6060,7],[6211,8],[6869,6],[8029,7]]},"1471":{"position":[[5517,8]]},"1472":{"position":[[6403,8]]},"1478":{"position":[[2205,6],[2453,6]]}},"keywords":{}}],["binaries,apple_universal_execut",{"_index":7020,"title":{},"content":{"1370":{"position":[[2996,37]]}},"keywords":{}}],["binary"",{"_index":1949,"title":{},"content":{"368":{"position":[[860,13]]},"747":{"position":[[860,13]]}},"keywords":{}}],["binary.as_output",{"_index":5646,"title":{},"content":{"1103":{"position":[[323,20]]}},"keywords":{}}],["binary_extens",{"_index":7335,"title":{},"content":{"1389":{"position":[[1050,17]]}},"keywords":{}}],["binary_jar",{"_index":3689,"title":{},"content":{"708":{"position":[[107,10],[942,10]]},"1423":{"position":[[3245,10]]},"1439":{"position":[[6159,10]]},"1458":{"position":[[483,11],[2150,10],[2397,11],[2511,10]]},"1469":{"position":[[2831,10]]}},"keywords":{}}],["binary_jar.source_jar",{"_index":8235,"title":{},"content":{"1458":{"position":[[2297,22]]}},"keywords":{}}],["binary_linker_flag",{"_index":6697,"title":{},"content":{"1362":{"position":[[633,20]]},"1382":{"position":[[469,20]]},"1388":{"position":[[602,20]]},"1462":{"position":[[650,20]]},"1467":{"position":[[717,20]]}},"keywords":{}}],["binary_src",{"_index":8257,"title":{},"content":{"1461":{"position":[[468,11],[1860,11],[3760,10],[3895,10],[4020,10]]}},"keywords":{}}],["binaryerlc",{"_index":7559,"title":{},"content":{"1396":{"position":[[1467,11]]}},"keywords":{}}],["binaryescript",{"_index":7560,"title":{},"content":{"1396":{"position":[[1497,14]]}},"keywords":{}}],["binaryos_env",{"_index":7561,"title":{},"content":{"1396":{"position":[[1533,13]]}},"keywords":{}}],["bind",{"_index":771,"title":{},"content":{"23":{"position":[[3005,10]]},"24":{"position":[[462,8]]},"45":{"position":[[174,4]]},"89":{"position":[[231,7],[694,7],[1190,7]]},"92":{"position":[[1537,4],[1709,4]]},"192":{"position":[[174,4]]},"221":{"position":[[231,7],[694,7],[1190,7]]},"224":{"position":[[1537,4],[1709,4]]},"421":{"position":[[160,7]]},"800":{"position":[[160,7]]},"890":{"position":[[3641,8],[3707,8],[3815,8]]},"1040":{"position":[[1309,4],[1811,4],[2768,5]]}},"keywords":{}}],["bisect",{"_index":6157,"title":{},"content":{"1232":{"position":[[3799,7]]}},"keywords":{}}],["bit",{"_index":658,"title":{},"content":{"22":{"position":[[856,4]]},"638":{"position":[[917,3]]},"648":{"position":[[675,5]]},"847":{"position":[[326,4]]},"869":{"position":[[835,3]]},"902":{"position":[[904,3]]},"924":{"position":[[822,3]]},"977":{"position":[[329,3]]},"991":{"position":[[3083,3]]},"1057":{"position":[[513,3]]},"1071":{"position":[[1442,3]]},"1126":{"position":[[400,3],[533,3]]},"1353":{"position":[[2757,4]]}},"keywords":{}}],["bitcod",{"_index":8077,"title":{},"content":{"1442":{"position":[[530,7],[567,7],[3129,7],[3189,7]]}},"keywords":{}}],["blackhol",{"_index":4271,"title":{},"content":{"892":{"position":[[724,11],[1062,9],[1525,9]]}},"keywords":{}}],["blacklist",{"_index":7947,"title":{},"content":{"1426":{"position":[[450,10],[1885,10],[2021,9]]}},"keywords":{}}],["blake3",{"_index":4829,"title":{},"content":{"972":{"position":[[165,7],[241,6]]},"977":{"position":[[529,6]]},"1226":{"position":[[1679,7]]},"1237":{"position":[[1849,7]]},"1345":{"position":[[1368,7],[1412,6]]}},"keywords":{}}],["blame",{"_index":5440,"title":{},"content":{"1058":{"position":[[1167,6],[1335,8]]}},"keywords":{}}],["blaze",{"_index":643,"title":{},"content":{"22":{"position":[[574,7]]}},"keywords":{}}],["blob",{"_index":1064,"title":{},"content":{"85":{"position":[[651,4],[707,4]]},"217":{"position":[[651,4],[707,4]]},"973":{"position":[[369,5]]}},"keywords":{}}],["block",{"_index":3842,"title":{"855":{"position":[[36,9]]}},"content":{"837":{"position":[[199,9]]},"855":{"position":[[147,8]]},"892":{"position":[[480,6]]},"1136":{"position":[[4059,5],[4218,5]]},"1138":{"position":[[7721,5],[7880,5]]},"1140":{"position":[[6647,5],[6806,5]]},"1142":{"position":[[2091,5],[2250,5]]},"1146":{"position":[[2031,5],[2190,5]]},"1148":{"position":[[5071,5],[5230,5]]},"1155":{"position":[[2127,5],[2286,5]]},"1156":{"position":[[1705,5],[1864,5]]},"1167":{"position":[[7651,5],[7810,5]]},"1169":{"position":[[1490,5],[1649,5]]},"1186":{"position":[[3295,5],[3454,5]]},"1187":{"position":[[3308,5],[3467,5]]},"1188":{"position":[[8034,5],[8193,5]]},"1191":{"position":[[1895,5],[2054,5]]},"1192":{"position":[[2070,5],[2229,5]]},"1193":{"position":[[2122,5],[2281,5]]},"1194":{"position":[[1762,5],[1921,5]]},"1195":{"position":[[1740,5],[1899,5]]},"1196":{"position":[[1550,5],[1709,5]]},"1197":{"position":[[2533,5],[2692,5]]},"1198":{"position":[[2543,5],[2702,5]]},"1199":{"position":[[2571,5],[2730,5]]},"1200":{"position":[[2438,5],[2597,5]]},"1201":{"position":[[1698,5],[1857,5]]},"1202":{"position":[[2840,5],[2999,5],[7237,5],[7396,5]]},"1203":{"position":[[1932,5],[2091,5]]},"1204":{"position":[[1776,5],[1935,5]]},"1205":{"position":[[3105,5],[3264,5]]},"1206":{"position":[[1576,5],[1735,5]]},"1207":{"position":[[1733,5],[1892,5]]},"1209":{"position":[[3081,5],[3240,5]]},"1217":{"position":[[6392,5],[6551,5]]},"1219":{"position":[[2378,5],[2537,5]]},"1222":{"position":[[1502,5],[1661,5]]},"1223":{"position":[[1512,5],[1671,5]]},"1224":{"position":[[1692,5],[1851,5]]},"1226":{"position":[[6860,5],[7019,5]]},"1228":{"position":[[8473,5],[8632,5]]},"1235":{"position":[[4341,5],[4500,5]]},"1237":{"position":[[7030,5],[7189,5]]},"1243":{"position":[[361,5]]},"1393":{"position":[[8996,5]]}},"keywords":{}}],["blocker",{"_index":4614,"title":{},"content":{"937":{"position":[[4310,7]]}},"keywords":{}}],["bob",{"_index":4517,"title":{},"content":{"923":{"position":[[3,3]]}},"keywords":{}}],["bob’",{"_index":4762,"title":{},"content":{"957":{"position":[[40,5]]}},"keywords":{}}],["bodi",{"_index":5131,"title":{},"content":{"1040":{"position":[[396,4]]}},"keywords":{}}],["boilerpl",{"_index":3783,"title":{},"content":{"715":{"position":[[696,11]]}},"keywords":{}}],["bolt_en",{"_index":7336,"title":{},"content":{"1389":{"position":[[1084,13]]}},"keywords":{}}],["bolt_flag",{"_index":7143,"title":{},"content":{"1382":{"position":[[505,11]]},"1388":{"position":[[638,11]]},"1462":{"position":[[686,11]]},"1467":{"position":[[753,11]]}},"keywords":{}}],["bolt_profil",{"_index":7144,"title":{},"content":{"1382":{"position":[[532,13]]},"1388":{"position":[[665,13]]},"1462":{"position":[[713,13]]},"1467":{"position":[[780,13]]}},"keywords":{}}],["bool",{"_index":885,"title":{"630":{"position":[[0,5]]}},"content":{"48":{"position":[[20,4]]},"50":{"position":[[52,4]]},"55":{"position":[[40,4]]},"85":{"position":[[147,4],[170,4],[198,4]]},"89":{"position":[[71,4]]},"91":{"position":[[184,4],[213,4]]},"94":{"position":[[573,4],[601,4],[630,4],[661,4],[695,4],[865,4],[899,4],[942,4],[986,4],[1055,4]]},"98":{"position":[[331,4],[357,4],[384,4],[408,4]]},"99":{"position":[[93,4],[481,4],[503,4],[527,4]]},"101":{"position":[[40,4]]},"102":{"position":[[46,4]]},"103":{"position":[[38,4]]},"104":{"position":[[40,4]]},"126":{"position":[[24,4],[100,4]]},"132":{"position":[[61,4]]},"138":{"position":[[58,4]]},"144":{"position":[[52,4]]},"145":{"position":[[38,4]]},"195":{"position":[[20,4]]},"197":{"position":[[52,4]]},"202":{"position":[[40,4]]},"217":{"position":[[147,4],[170,4],[198,4]]},"221":{"position":[[71,4]]},"223":{"position":[[184,4],[213,4]]},"226":{"position":[[573,4],[601,4],[630,4],[661,4],[695,4],[865,4],[899,4],[942,4],[986,4],[1055,4]]},"230":{"position":[[331,4],[357,4],[384,4],[408,4]]},"231":{"position":[[93,4],[481,4],[503,4],[527,4]]},"242":{"position":[[93,4]]},"249":{"position":[[24,4],[100,4]]},"255":{"position":[[61,4]]},"261":{"position":[[58,4]]},"267":{"position":[[52,4]]},"268":{"position":[[38,4]]},"294":{"position":[[393,4]]},"304":{"position":[[216,6]]},"308":{"position":[[48,4]]},"309":{"position":[[341,4]]},"315":{"position":[[69,4]]},"316":{"position":[[69,4]]},"317":{"position":[[70,4]]},"318":{"position":[[76,4]]},"347":{"position":[[50,4]]},"362":{"position":[[45,5],[67,5],[102,4],[146,4],[409,4],[455,4],[504,4],[547,4],[585,4],[620,4],[711,4]]},"374":{"position":[[1192,4],[1266,4]]},"397":{"position":[[73,4]]},"405":{"position":[[602,4]]},"416":{"position":[[83,4]]},"417":{"position":[[299,4]]},"424":{"position":[[25,4]]},"434":{"position":[[36,4]]},"435":{"position":[[47,4]]},"437":{"position":[[154,4],[187,4]]},"438":{"position":[[33,4]]},"440":{"position":[[48,4]]},"442":{"position":[[34,4]]},"446":{"position":[[58,4],[75,4]]},"447":{"position":[[111,4]]},"451":{"position":[[59,4]]},"500":{"position":[[40,4]]},"501":{"position":[[46,4]]},"502":{"position":[[38,4]]},"503":{"position":[[40,4]]},"593":{"position":[[60,4]]},"597":{"position":[[27,4]]},"598":{"position":[[27,4]]},"599":{"position":[[27,4]]},"600":{"position":[[27,4]]},"601":{"position":[[27,4]]},"602":{"position":[[27,4]]},"603":{"position":[[27,4]]},"617":{"position":[[32,4]]},"618":{"position":[[62,4]]},"624":{"position":[[7,4]]},"626":{"position":[[6,4]]},"628":{"position":[[37,4]]},"629":{"position":[[37,4]]},"630":{"position":[[25,4],[31,5],[136,6],[152,8],[300,8],[338,8]]},"644":{"position":[[13,4]]},"646":{"position":[[35,4]]},"648":{"position":[[11,4],[391,5]]},"649":{"position":[[41,4]]},"666":{"position":[[39,4]]},"741":{"position":[[45,5],[67,5],[102,4],[146,4],[409,4],[455,4],[504,4],[547,4],[585,4],[620,4],[711,4]]},"753":{"position":[[1192,4],[1266,4]]},"776":{"position":[[73,4]]},"784":{"position":[[602,4]]},"795":{"position":[[83,4]]},"796":{"position":[[299,4]]},"803":{"position":[[25,4]]},"813":{"position":[[36,4]]},"814":{"position":[[47,4]]},"816":{"position":[[154,4],[187,4]]},"817":{"position":[[33,4]]},"819":{"position":[[48,4]]},"821":{"position":[[34,4]]},"825":{"position":[[58,4],[75,4]]},"826":{"position":[[111,4]]},"830":{"position":[[59,4]]},"864":{"position":[[312,6]]},"900":{"position":[[565,5],[807,5],[886,5],[954,4],[1084,4]]},"988":{"position":[[612,5]]},"989":{"position":[[441,4]]},"1001":{"position":[[124,4]]},"1004":{"position":[[597,4]]},"1064":{"position":[[89,4],[1578,4]]},"1112":{"position":[[196,5]]},"1348":{"position":[[409,4],[441,4],[481,4],[910,4],[1050,4],[1224,4],[2008,4],[2083,4],[2112,4],[2275,4],[2557,4],[2615,4]]},"1349":{"position":[[391,4],[782,4],[818,4]]},"1350":{"position":[[461,4],[493,4],[533,4],[592,4],[626,4],[771,4],[1273,4],[1309,4],[1568,4],[1679,4],[1882,4],[1919,4],[1943,4],[1987,4],[2324,4],[2814,4],[2851,4],[2917,4],[2982,4],[3620,4],[3645,4],[3672,4],[3701,4],[3726,4]]},"1351":{"position":[[389,4],[428,4]]},"1352":{"position":[[461,4],[493,4],[533,4],[592,4],[626,4],[771,4],[1273,4],[1345,4],[1567,4],[1678,4],[1881,4],[1918,4],[1942,4],[1986,4],[2323,4],[2813,4],[2850,4],[2916,4],[2981,4],[3619,4],[3644,4],[3673,4],[3700,4],[3725,4]]},"1353":{"position":[[449,4],[481,4],[521,4],[766,4],[803,4],[836,4],[1302,4]]},"1354":{"position":[[540,4],[570,4],[664,4],[877,4],[1072,4]]},"1355":{"position":[[384,4],[510,4],[1176,4],[1278,4],[1545,4],[1780,4],[2093,4]]},"1358":{"position":[[389,4],[683,4],[830,4],[895,4]]},"1359":{"position":[[385,4],[619,4],[843,4]]},"1360":{"position":[[380,4],[511,4],[612,4],[791,4],[864,4],[1033,4],[1063,4],[1148,4],[1285,4]]},"1361":{"position":[[585,4]]},"1362":{"position":[[506,4],[535,4],[572,4],[753,4],[993,4],[1056,4],[1094,4],[1137,4],[1988,4],[2056,4],[2284,4],[3069,4],[3154,4],[3214,4],[3704,4],[4017,4],[4061,4],[4128,4],[4260,4],[4345,4],[4538,4],[4564,4],[4601,4],[4634,4],[4658,4]]},"1363":{"position":[[513,4],[781,4],[885,4],[932,4],[986,4],[1027,4],[1080,4],[1117,4],[1239,4],[1299,4],[1615,4],[1771,4],[1832,4],[1905,4],[1952,4],[2020,4],[2493,4],[2520,4],[2573,4],[2613,4],[2641,4],[2693,4],[2759,4]]},"1364":{"position":[[488,4],[559,4],[588,4],[625,4],[770,4],[1010,4],[1073,4],[1111,4],[1154,4],[1970,4],[2038,4],[2295,4],[3034,4],[3119,4],[3179,4],[4005,4],[4072,4],[4245,4],[4333,4],[4375,4],[4412,4],[4605,4],[4635,4],[4661,4],[4698,4],[4731,4],[4755,4]]},"1365":{"position":[[622,4]]},"1366":{"position":[[463,4],[796,4]]},"1367":{"position":[[511,4],[739,4],[843,4],[880,4],[927,4],[981,4],[1022,4],[1075,4],[1236,4],[1358,4],[1418,4],[1455,4],[1687,4],[2067,4],[2162,4],[2192,4],[2235,4],[3160,4],[3179,4],[3247,4],[3475,4],[3558,4],[3626,4],[3694,4],[4316,4],[4401,4],[4461,4],[5274,4],[5373,4],[5441,4],[5508,4],[5552,4],[5781,4],[5801,4],[5886,4],[6231,4],[6271,4],[6359,4],[6385,4],[6422,4],[6455,4],[6479,4],[6545,4]]},"1368":{"position":[[615,4],[1129,4],[1366,4]]},"1370":{"position":[[545,4],[573,4]]},"1372":{"position":[[515,4],[743,4],[813,4],[850,4],[897,4],[951,4],[992,4],[1045,4],[1082,4],[1204,4],[1264,4],[1446,4],[1489,4],[1589,4],[1629,4],[1697,4],[1841,4],[1947,4],[2013,4]]},"1373":{"position":[[333,4],[360,4],[503,4],[562,4],[895,4],[1003,4],[1663,4],[2491,4],[2645,4]]},"1377":{"position":[[606,4]]},"1382":{"position":[[398,4],[431,4],[459,4],[943,4],[994,4],[1032,4],[1116,4],[1135,4],[1702,4],[2138,4],[2694,4],[2891,4]]},"1383":{"position":[[351,4],[460,4],[540,4],[719,4],[911,4],[941,4],[1026,4]]},"1384":{"position":[[401,4],[438,4],[466,4],[560,4],[884,4],[1293,4],[1784,4],[1852,4],[2111,4],[2458,4],[2773,4],[3393,4],[3659,4],[3923,4],[3965,4],[4006,4],[4043,4],[4063,4],[4093,4],[4124,4],[4161,4],[4194,4]]},"1387":{"position":[[462,4],[489,4],[516,4],[544,4],[667,4],[963,4],[1372,4],[1863,4],[1931,4],[2161,4],[2740,4],[3591,4],[3789,4],[3825,4],[3910,4],[3930,4],[3987,4],[4018,4],[4055,4],[4088,4]]},"1388":{"position":[[510,4],[543,4],[592,4],[1076,4],[1127,4],[1165,4],[1274,4],[1293,4],[1887,4],[2323,4],[2879,4],[3031,4],[3220,4],[3318,4],[3358,4]]},"1389":{"position":[[598,4],[1098,4],[1193,4],[1319,4],[1380,4],[1919,4],[2169,4],[2273,4],[2295,4],[2327,4],[2665,4],[2938,4],[3223,4],[3266,4],[3475,4],[3504,4],[3532,4],[3569,4],[4246,4],[4312,4],[4336,4],[4368,4],[4394,4]]},"1393":{"position":[[449,4],[649,4],[837,4],[980,4]]},"1395":{"position":[[389,4],[504,4]]},"1397":{"position":[[457,4]]},"1398":{"position":[[941,4]]},"1401":{"position":[[385,4]]},"1403":{"position":[[347,4],[431,4],[511,4],[690,4],[793,4],[936,4],[966,4],[1051,4]]},"1405":{"position":[[331,4],[417,4],[455,4],[547,4],[991,4]]},"1407":{"position":[[341,4],[427,4],[465,4],[574,4],[1018,4]]},"1408":{"position":[[332,4],[363,4],[390,4],[484,4]]},"1409":{"position":[[331,4],[362,4],[389,4],[454,4]]},"1410":{"position":[[329,4],[474,4],[578,4],[670,4],[1165,4],[1223,4],[1388,4]]},"1412":{"position":[[965,4],[1163,4]]},"1413":{"position":[[1111,4],[1309,4],[1398,4],[1800,4],[1849,4]]},"1414":{"position":[[505,4],[700,4]]},"1415":{"position":[[729,4],[781,4],[1379,4],[2147,4],[2344,4]]},"1416":{"position":[[401,4],[603,4],[774,4]]},"1417":{"position":[[573,4]]},"1420":{"position":[[548,4],[738,4]]},"1421":{"position":[[513,4]]},"1423":{"position":[[437,4]]},"1424":{"position":[[351,4],[437,4],[517,4],[660,4],[852,4],[882,4],[907,4]]},"1425":{"position":[[365,4],[511,4],[543,4],[664,4]]},"1426":{"position":[[351,4],[414,4],[654,4],[682,4]]},"1427":{"position":[[352,4],[478,4],[1182,4],[1380,4]]},"1428":{"position":[[351,4],[497,4],[529,4],[646,4]]},"1429":{"position":[[349,4],[439,4],[1416,4],[1601,4],[1780,4],[1869,4],[2399,4],[2448,4]]},"1430":{"position":[[985,4],[1183,4]]},"1431":{"position":[[366,4]]},"1432":{"position":[[357,4],[433,4],[484,4],[639,4],[782,4],[990,4],[1020,4],[1045,4],[1131,4],[1155,4],[1184,4],[1210,4]]},"1433":{"position":[[393,4],[416,4]]},"1439":{"position":[[354,4],[480,4],[1101,4],[1203,4],[1418,4],[1616,4],[1889,4]]},"1440":{"position":[[351,4],[441,4],[1285,4],[1402,4],[1617,4],[1802,4],[1981,4],[2070,4],[2553,4],[2602,4],[2636,4]]},"1446":{"position":[[473,4]]},"1448":{"position":[[431,4]]},"1449":{"position":[[425,4],[643,4]]},"1450":{"position":[[431,4]]},"1451":{"position":[[431,4]]},"1453":{"position":[[408,4],[804,4]]},"1454":{"position":[[413,4],[467,4],[1272,4],[1296,4],[1415,4],[1490,4],[1586,4],[1617,4],[2024,4],[2342,4],[2376,4],[2421,4]]},"1455":{"position":[[706,4],[1065,4]]},"1458":{"position":[[352,4],[658,4],[808,4],[848,4]]},"1459":{"position":[[470,4],[490,4]]},"1460":{"position":[[444,4]]},"1461":{"position":[[524,4],[692,4],[725,4],[758,4],[834,4]]},"1462":{"position":[[459,4],[550,4],[583,4],[611,4],[816,4],[1096,4],[1274,4],[1325,4],[1394,4],[1510,4],[1556,4],[2158,4],[2587,4],[2923,4],[3555,4],[3590,4],[3888,4],[4081,4],[4101,4],[4119,4],[4217,4]]},"1465":{"position":[[673,4],[706,4],[1137,4],[1361,4]]},"1466":{"position":[[614,4]]},"1467":{"position":[[650,4],[678,4],[883,4],[1163,4],[1341,4],[1392,4],[1461,4],[1530,4],[1646,4],[1692,4],[2333,4],[2762,4],[3127,4],[3824,4],[3859,4],[4086,4],[4323,4],[4601,4],[4659,4],[4677,4],[4938,4]]},"1470":{"position":[[385,4],[475,4],[1336,4],[1488,4],[1845,4],[2123,4],[2302,4],[2592,4],[3075,4],[3124,4],[3158,4],[3210,4]]},"1471":{"position":[[482,4],[515,4],[543,4],[656,4],[864,4],[1027,4],[1510,4]]},"1472":{"position":[[559,4],[936,4],[1124,4],[1363,4],[1550,4]]},"1473":{"position":[[546,4],[574,4],[687,4],[895,4],[1008,4],[1079,4],[1560,4],[1728,4]]},"1474":{"position":[[961,4],[1159,4]]},"1475":{"position":[[1107,4],[1305,4],[1394,4],[1796,4],[1845,4]]},"1477":{"position":[[375,4]]},"1478":{"position":[[719,4],[938,4]]},"1480":{"position":[[527,4],[599,4],[797,4],[954,4]]},"1481":{"position":[[536,4],[642,4],[879,4],[1212,4],[1254,4],[1306,4],[1369,4]]},"1486":{"position":[[667,4]]}},"keywords":{}}],["bool>>",{"_index":4899,"title":{},"content":{"988":{"position":[[741,13]]}},"keywords":{}}],["bool(""",{"_index":3074,"title":{},"content":{"630":{"position":[[375,18]]}},"keywords":{}}],["bool("1"",{"_index":3075,"title":{},"content":{"630":{"position":[[403,19]]}},"keywords":{}}],["bool((1",{"_index":3073,"title":{},"content":{"630":{"position":[[356,10]]}},"keywords":{}}],["bool(0",{"_index":3071,"title":{},"content":{"630":{"position":[[283,7]]}},"keywords":{}}],["bool(1",{"_index":3070,"title":{},"content":{"630":{"position":[[267,7]]}},"keywords":{}}],["bool([1",{"_index":3065,"title":{},"content":{"630":{"position":[[170,9]]}},"keywords":{}}],["bool(bool",{"_index":3069,"title":{},"content":{"630":{"position":[[248,10]]},"898":{"position":[[2153,11]]}},"keywords":{}}],["bool(fals",{"_index":3067,"title":{},"content":{"630":{"position":[[207,11]]}},"keywords":{}}],["bool(non",{"_index":3068,"title":{},"content":{"630":{"position":[[228,10]]}},"keywords":{}}],["bool(tru",{"_index":3066,"title":{},"content":{"630":{"position":[[188,10]]}},"keywords":{}}],["bool(x",{"_index":3063,"title":{},"content":{"630":{"position":[[4,6]]}},"keywords":{}}],["bool({1:2",{"_index":3072,"title":{},"content":{"630":{"position":[[318,11]]}},"keywords":{}}],["bool.th",{"_index":4376,"title":{},"content":{"900":{"position":[[1135,8]]}},"keywords":{}}],["bool_arg",{"_index":3858,"title":{},"content":{"840":{"position":[[779,8]]},"850":{"position":[[609,8]]}},"keywords":{}}],["boolean",{"_index":1274,"title":{},"content":{"99":{"position":[[778,9]]},"127":{"position":[[81,7],[120,8]]},"231":{"position":[[778,9]]},"250":{"position":[[81,7],[120,8]]},"294":{"position":[[689,7]]},"318":{"position":[[237,7]]},"416":{"position":[[190,7]]},"417":{"position":[[419,7]]},"617":{"position":[[349,8]]},"795":{"position":[[190,7]]},"796":{"position":[[419,7]]},"1086":{"position":[[112,7]]},"1351":{"position":[[916,7],[3259,7],[4082,7]]}},"keywords":{}}],["boolintstrenumdep",{"_index":5194,"title":{},"content":{"1044":{"position":[[2181,17]]}},"keywords":{}}],["boolvalues.th",{"_index":4371,"title":{},"content":{"900":{"position":[[855,14]]}},"keywords":{}}],["boost",{"_index":5126,"title":{},"content":{"1037":{"position":[[269,5]]}},"keywords":{}}],["boot",{"_index":7579,"title":{},"content":{"1397":{"position":[[2877,4],[3119,4]]}},"keywords":{}}],["bootstrap",{"_index":415,"title":{"13":{"position":[[0,13]]}},"content":{"13":{"position":[[0,13]]}},"keywords":{}}],["borrow",{"_index":662,"title":{},"content":{"22":{"position":[[924,7]]},"1373":{"position":[[8517,7]]}},"keywords":{}}],["both",{"_index":260,"title":{},"content":{"9":{"position":[[1742,4]]},"11":{"position":[[554,4]]},"23":{"position":[[2987,5]]},"94":{"position":[[2058,4],[2070,4]]},"226":{"position":[[2058,4],[2070,4]]},"237":{"position":[[514,4]]},"298":{"position":[[2118,4]]},"362":{"position":[[1116,4]]},"363":{"position":[[206,4]]},"368":{"position":[[2261,4]]},"389":{"position":[[689,4]]},"594":{"position":[[252,4]]},"704":{"position":[[55,4]]},"715":{"position":[[819,4]]},"741":{"position":[[1116,4]]},"742":{"position":[[206,4]]},"747":{"position":[[2261,4]]},"768":{"position":[[689,4]]},"870":{"position":[[60,4],[84,4],[161,4]]},"892":{"position":[[203,4]]},"898":{"position":[[2446,4]]},"919":{"position":[[2450,4]]},"920":{"position":[[178,4]]},"939":{"position":[[1566,4]]},"942":{"position":[[1211,4]]},"972":{"position":[[236,4]]},"1009":{"position":[[185,4]]},"1044":{"position":[[167,4]]},"1048":{"position":[[173,4]]},"1050":{"position":[[717,4]]},"1070":{"position":[[754,4]]},"1105":{"position":[[215,4],[1404,4]]},"1107":{"position":[[186,5]]},"1112":{"position":[[1519,4]]},"1114":{"position":[[777,4]]},"1140":{"position":[[508,4]]},"1188":{"position":[[561,4]]},"1193":{"position":[[660,5]]},"1226":{"position":[[1757,4]]},"1237":{"position":[[1927,4]]},"1272":{"position":[[100,4]]},"1286":{"position":[[114,4]]},"1303":{"position":[[100,4]]},"1331":{"position":[[100,4]]},"1351":{"position":[[3640,4],[3795,4]]},"1362":{"position":[[9927,4],[13406,4]]},"1364":{"position":[[11041,4],[14106,4]]},"1367":{"position":[[10844,4],[13314,4]]},"1382":{"position":[[6653,4]]},"1384":{"position":[[13007,4]]},"1388":{"position":[[7522,4]]},"1393":{"position":[[2673,5]]},"1395":{"position":[[3408,4]]},"1427":{"position":[[3857,4],[3938,6],[7931,4]]},"1439":{"position":[[8755,4]]},"1448":{"position":[[957,4]]},"1471":{"position":[[4504,5]]},"1472":{"position":[[5088,5]]},"1473":{"position":[[4825,5]]}},"keywords":{}}],["bottom",{"_index":3623,"title":{"703":{"position":[[12,6]]}},"content":{"703":{"position":[[59,7]]}},"keywords":{}}],["bound",{"_index":873,"title":{},"content":{"45":{"position":[[147,5]]},"52":{"position":[[228,6]]},"86":{"position":[[270,5]]},"89":{"position":[[180,5]]},"92":{"position":[[846,5]]},"96":{"position":[[264,5]]},"123":{"position":[[111,5]]},"192":{"position":[[147,5]]},"199":{"position":[[228,6]]},"218":{"position":[[270,5]]},"221":{"position":[[180,5]]},"224":{"position":[[846,5]]},"228":{"position":[[264,5]]},"532":{"position":[[111,5]]},"722":{"position":[[1199,6]]},"724":{"position":[[209,5]]},"834":{"position":[[178,5]]},"1040":{"position":[[948,5]]},"1044":{"position":[[2551,5]]},"1105":{"position":[[762,5],[1150,5]]}},"keywords":{}}],["bound/build",{"_index":4726,"title":{},"content":{"950":{"position":[[92,15]]}},"keywords":{}}],["boundari",{"_index":3398,"title":{"680":{"position":[[8,10]]}},"content":{"919":{"position":[[889,11],[1070,11]]},"1093":{"position":[[366,11]]}},"keywords":{}}],["box",{"_index":4607,"title":{},"content":{"937":{"position":[[3843,3],[4637,4]]}},"keywords":{}}],["brace",{"_index":2805,"title":{},"content":{"595":{"position":[[263,6],[317,6],[343,5],[376,5],[440,6]]},"1383":{"position":[[5935,6]]}},"keywords":{}}],["bracket",{"_index":2804,"title":{},"content":{"595":{"position":[[154,9]]},"1362":{"position":[[7674,9],[9690,9]]},"1364":{"position":[[7913,9],[10804,9]]},"1367":{"position":[[9778,9]]}},"keywords":{}}],["brainer",{"_index":3682,"title":{},"content":{"706":{"position":[[2267,8]]}},"keywords":{}}],["branch",{"_index":3536,"title":{},"content":{"693":{"position":[[2697,6]]},"890":{"position":[[1408,9]]},"1096":{"position":[[397,6]]},"1235":{"position":[[449,8]]}},"keywords":{}}],["breadth",{"_index":5602,"title":{},"content":{"1088":{"position":[[702,7]]}},"keywords":{}}],["break",{"_index":1055,"title":{},"content":{"85":{"position":[[438,5]]},"217":{"position":[[438,5]]},"631":{"position":[[59,6]]},"688":{"position":[[652,7],[1050,7]]},"1026":{"position":[[1399,5]]},"1167":{"position":[[312,5]]},"1393":{"position":[[5086,5]]}},"keywords":{}}],["breakag",{"_index":4468,"title":{},"content":{"912":{"position":[[143,10]]},"1232":{"position":[[3961,9]]}},"keywords":{}}],["breakage/perf",{"_index":6158,"title":{},"content":{"1232":{"position":[[3885,13]]}},"keywords":{}}],["breakdown",{"_index":384,"title":{},"content":{"11":{"position":[[605,10]]},"1249":{"position":[[33,9]]}},"keywords":{}}],["breakpoint",{"_index":3076,"title":{"631":{"position":[[0,11]]}},"content":{"631":{"position":[[4,12]]}},"keywords":{}}],["breviti",{"_index":3382,"title":{},"content":{"676":{"position":[[90,7]]},"700":{"position":[[89,7]]}},"keywords":{}}],["bridg",{"_index":8133,"title":{},"content":{"1448":{"position":[[2947,10]]}},"keywords":{}}],["bridge.c",{"_index":8137,"title":{},"content":{"1448":{"position":[[3127,11]]}},"keywords":{}}],["bridging_head",{"_index":6698,"title":{},"content":{"1362":{"position":[[669,16]]},"1364":{"position":[[686,16]]},"1367":{"position":[[1603,16]]},"1384":{"position":[[476,16]]},"1387":{"position":[[583,16]]},"1480":{"position":[[328,16]]}},"keywords":{}}],["briefli",{"_index":3780,"title":{},"content":{"715":{"position":[[455,8]]}},"keywords":{}}],["brighter",{"_index":7834,"title":{},"content":{"1415":{"position":[[5483,11]]}},"keywords":{}}],["bring",{"_index":412,"title":{},"content":{"12":{"position":[[544,5]]},"977":{"position":[[569,5]]}},"keywords":{}}],["broken",{"_index":3891,"title":{},"content":{"846":{"position":[[1463,6]]},"904":{"position":[[1308,6]]},"907":{"position":[[28,6]]},"1114":{"position":[[941,8]]}},"keywords":{}}],["broker",{"_index":5334,"title":{},"content":{"1054":{"position":[[97,6],[136,6],[481,7],[1618,7]]}},"keywords":{}}],["bt",{"_index":6097,"title":{},"content":{"1231":{"position":[[361,3]]}},"keywords":{}}],["buck",{"_index":30,"title":{"570":{"position":[[0,4]]},"692":{"position":[[25,4]]},"879":{"position":[[0,4]]},"925":{"position":[[0,4]]},"928":{"position":[[23,4]]},"952":{"position":[[0,4]]},"1020":{"position":[[0,4]]},"1065":{"position":[[0,4]]},"1126":{"position":[[0,4]]},"1136":{"position":[[0,4]]},"1138":{"position":[[0,4]]},"1140":{"position":[[0,4]]},"1142":{"position":[[0,4]]},"1144":{"position":[[0,4]]},"1146":{"position":[[0,4]]},"1148":{"position":[[0,4]]},"1150":{"position":[[0,4]]},"1152":{"position":[[0,4]]},"1154":{"position":[[0,4]]},"1155":{"position":[[0,4]]},"1156":{"position":[[0,4]]},"1157":{"position":[[0,4]]},"1158":{"position":[[0,4]]},"1159":{"position":[[0,4]]},"1161":{"position":[[0,4]]},"1163":{"position":[[0,4]]},"1165":{"position":[[0,4]]},"1167":{"position":[[0,4]]},"1169":{"position":[[0,4]]},"1171":{"position":[[0,4]]},"1172":{"position":[[0,4]]},"1173":{"position":[[0,4]]},"1174":{"position":[[0,4]]},"1175":{"position":[[0,4]]},"1176":{"position":[[0,4]]},"1177":{"position":[[0,4]]},"1178":{"position":[[0,4]]},"1179":{"position":[[0,4]]},"1180":{"position":[[0,4]]},"1181":{"position":[[0,4]]},"1182":{"position":[[0,4]]},"1183":{"position":[[0,4]]},"1185":{"position":[[0,4]]},"1186":{"position":[[0,4]]},"1187":{"position":[[0,4]]},"1188":{"position":[[0,4]]},"1190":{"position":[[0,4]]},"1191":{"position":[[0,4]]},"1192":{"position":[[0,4]]},"1193":{"position":[[0,4]]},"1194":{"position":[[0,4]]},"1195":{"position":[[0,4]]},"1196":{"position":[[0,4]]},"1197":{"position":[[0,4]]},"1198":{"position":[[0,4]]},"1199":{"position":[[0,4]]},"1200":{"position":[[0,4]]},"1201":{"position":[[0,4]]},"1202":{"position":[[0,4]]},"1203":{"position":[[0,4]]},"1204":{"position":[[0,4]]},"1205":{"position":[[0,4]]},"1206":{"position":[[0,4]]},"1207":{"position":[[0,4]]},"1209":{"position":[[0,4]]},"1211":{"position":[[0,4]]},"1213":{"position":[[0,4]]},"1215":{"position":[[0,4]]},"1217":{"position":[[0,4]]},"1219":{"position":[[0,4]]},"1221":{"position":[[0,4]]},"1222":{"position":[[0,4]]},"1223":{"position":[[0,4]]},"1224":{"position":[[0,4]]},"1226":{"position":[[0,4]]},"1228":{"position":[[0,4]]},"1235":{"position":[[0,4]]},"1237":{"position":[[0,4]]}},"content":{"4":{"position":[[10,4],[361,4],[424,4]]},"5":{"position":[[140,4]]},"9":{"position":[[360,4],[397,4],[612,4],[822,4]]},"10":{"position":[[975,4],[1238,4]]},"11":{"position":[[202,4]]},"13":{"position":[[32,4]]},"17":{"position":[[1467,4]]},"18":{"position":[[604,4],[617,4],[1607,4],[1644,4]]},"20":{"position":[[211,4]]},"22":{"position":[[489,4],[582,4],[1188,4],[1828,4]]},"243":{"position":[[144,4],[223,4],[321,4],[463,4]]},"368":{"position":[[2150,4],[2321,4]]},"414":{"position":[[86,4]]},"415":{"position":[[75,4],[144,4],[253,4]]},"418":{"position":[[193,4],[625,4],[665,4]]},"423":{"position":[[49,4]]},"425":{"position":[[84,4]]},"429":{"position":[[121,4]]},"430":{"position":[[48,4]]},"433":{"position":[[209,4]]},"570":{"position":[[0,4],[59,4]]},"584":{"position":[[572,4]]},"587":{"position":[[186,4],[568,4]]},"622":{"position":[[51,5],[526,4],[957,4]]},"680":{"position":[[12,4],[102,4],[168,4],[236,4],[322,4],[663,4],[742,4],[872,4]]},"688":{"position":[[1417,4]]},"690":{"position":[[81,4]]},"692":{"position":[[4,4]]},"693":{"position":[[1312,4],[1325,4],[1518,4],[1735,4],[1804,4],[1837,5],[5536,4],[5606,4],[5668,4],[7399,4],[8392,4],[8867,4]]},"699":{"position":[[77,4]]},"700":{"position":[[0,4],[128,4]]},"715":{"position":[[266,4]]},"717":{"position":[[37,4]]},"724":{"position":[[1110,4],[1693,4]]},"747":{"position":[[2150,4],[2321,4]]},"793":{"position":[[86,4]]},"794":{"position":[[75,4],[144,4],[253,4]]},"797":{"position":[[193,4],[625,4],[665,4]]},"802":{"position":[[49,4]]},"804":{"position":[[84,4]]},"808":{"position":[[121,4]]},"809":{"position":[[48,4]]},"812":{"position":[[209,4]]},"840":{"position":[[1758,4]]},"879":{"position":[[0,4],[24,4]]},"896":{"position":[[230,4],[374,4],[594,4],[738,4]]},"916":{"position":[[445,4]]},"919":{"position":[[0,4],[597,4],[843,4],[1702,4]]},"926":{"position":[[11,4],[93,4],[165,4],[192,4]]},"937":{"position":[[226,4],[1121,4],[1404,4],[1468,4],[3276,4],[3638,4],[3802,4],[4444,4],[4609,4],[4877,5]]},"938":{"position":[[49,4],[962,4]]},"939":{"position":[[63,4]]},"943":{"position":[[281,4],[918,4],[2473,4]]},"944":{"position":[[804,4]]},"945":{"position":[[551,4],[665,4]]},"954":{"position":[[29,4],[373,4]]},"955":{"position":[[1068,4],[1209,4],[1265,4]]},"958":{"position":[[39,4],[200,4],[254,4]]},"1000":{"position":[[18,4],[614,4],[846,4]]},"1001":{"position":[[705,4],[771,4],[818,4],[854,4],[946,4],[1085,4],[1100,4],[1140,4],[1560,4]]},"1011":{"position":[[0,4]]},"1012":{"position":[[300,4]]},"1013":{"position":[[172,4]]},"1018":{"position":[[344,4]]},"1019":{"position":[[506,5]]},"1020":{"position":[[24,4]]},"1021":{"position":[[85,4],[103,4]]},"1048":{"position":[[255,4]]},"1056":{"position":[[55,4]]},"1057":{"position":[[168,4]]},"1058":{"position":[[115,4]]},"1064":{"position":[[803,4],[869,4],[918,4],[1046,4]]},"1065":{"position":[[100,4]]},"1078":{"position":[[272,4]]},"1079":{"position":[[159,4],[246,4],[970,4]]},"1103":{"position":[[1782,4],[2056,4]]},"1112":{"position":[[45,4]]},"1136":{"position":[[6083,4]]},"1138":{"position":[[4082,4],[4256,4],[4372,4],[4617,4],[4800,4],[4969,4],[9745,4]]},"1140":{"position":[[3571,4],[3745,4],[3861,4],[4106,4],[4289,4],[4458,4],[8671,4]]},"1142":{"position":[[244,4],[397,5],[593,5],[630,4],[4115,4]]},"1144":{"position":[[443,4]]},"1146":{"position":[[219,6],[341,6],[4055,4]]},"1148":{"position":[[7149,4],[7173,6],[7300,6],[7646,4]]},"1150":{"position":[[678,4]]},"1152":{"position":[[376,4]]},"1154":{"position":[[531,4]]},"1155":{"position":[[4151,4]]},"1156":{"position":[[3729,4]]},"1157":{"position":[[314,4]]},"1158":{"position":[[308,4]]},"1159":{"position":[[308,4]]},"1161":{"position":[[1303,4]]},"1163":{"position":[[9,4],[689,4]]},"1165":{"position":[[518,4]]},"1167":{"position":[[4575,4],[4749,4],[4865,4],[5110,4],[5293,4],[5462,4],[9675,4]]},"1169":{"position":[[2783,4]]},"1171":{"position":[[348,4],[1024,4]]},"1172":{"position":[[2409,4]]},"1173":{"position":[[1096,4]]},"1174":{"position":[[524,4]]},"1175":{"position":[[520,4]]},"1176":{"position":[[5,4],[689,4]]},"1177":{"position":[[610,4]]},"1178":{"position":[[927,4]]},"1179":{"position":[[724,4]]},"1180":{"position":[[995,4]]},"1181":{"position":[[1515,4]]},"1182":{"position":[[558,4]]},"1183":{"position":[[513,4]]},"1185":{"position":[[129,6],[358,4]]},"1186":{"position":[[5319,4]]},"1187":{"position":[[8,6],[5332,4]]},"1188":{"position":[[3624,4],[3798,4],[3914,4],[4159,4],[4342,4],[4511,4],[10058,4]]},"1190":{"position":[[410,4],[701,4],[1382,4],[1689,4]]},"1191":{"position":[[3919,4]]},"1192":{"position":[[4094,4]]},"1193":{"position":[[0,4],[4146,4]]},"1194":{"position":[[3786,4]]},"1195":{"position":[[3764,4]]},"1196":{"position":[[3574,4]]},"1197":{"position":[[4557,4]]},"1198":{"position":[[4567,4]]},"1199":{"position":[[0,4],[4595,4]]},"1200":{"position":[[4462,4]]},"1201":{"position":[[3722,4]]},"1202":{"position":[[466,4],[1145,4],[4864,4],[5543,4],[9261,4]]},"1203":{"position":[[3956,4]]},"1204":{"position":[[3800,4],[4479,4],[4702,4],[5381,4],[5632,4],[6311,4],[6534,4],[7213,4],[7520,4],[8199,4],[8474,4],[9153,4],[9421,4],[10100,4],[10351,4]]},"1205":{"position":[[351,4],[402,5],[5129,4]]},"1206":{"position":[[11,4],[3661,4],[3712,5],[3828,4]]},"1207":{"position":[[3757,4]]},"1209":{"position":[[5105,4]]},"1211":{"position":[[5,4],[429,4]]},"1213":{"position":[[200,4]]},"1215":{"position":[[284,4]]},"1217":{"position":[[3316,4],[3490,4],[3606,4],[3851,4],[4034,4],[4203,4],[8416,4]]},"1219":{"position":[[3671,4]]},"1221":{"position":[[403,4]]},"1222":{"position":[[3542,4]]},"1223":{"position":[[3552,4]]},"1224":{"position":[[121,4],[2985,4]]},"1226":{"position":[[8884,4]]},"1228":{"position":[[5397,4],[5571,4],[5687,4],[5932,4],[6115,4],[6284,4],[10497,4]]},"1235":{"position":[[6365,4]]},"1237":{"position":[[9054,4]]},"1247":{"position":[[258,4]]},"1260":{"position":[[827,4]]},"1291":{"position":[[827,4]]},"1319":{"position":[[827,4]]},"1351":{"position":[[4705,5],[4856,7],[5098,4],[5160,4]]},"1354":{"position":[[2622,4],[2792,4]]},"1355":{"position":[[6055,4],[6445,4],[7068,4]]},"1360":{"position":[[1460,4],[1499,4],[1515,4],[3235,4],[5339,4]]},"1362":{"position":[[13369,4],[13544,4]]},"1363":{"position":[[4513,4],[5697,4],[6024,5]]},"1364":{"position":[[14069,4],[14244,4]]},"1367":{"position":[[6759,4],[10437,4],[10607,4],[13277,4]]},"1373":{"position":[[5826,4],[5977,4],[6117,4],[7685,4],[8445,4]]},"1382":{"position":[[10461,4],[11954,4],[12017,4]]},"1383":{"position":[[1255,4],[1424,4],[2807,4],[5723,4],[5787,4],[7342,4],[7914,4],[8061,4],[8080,4],[8803,4],[8865,4],[8982,4]]},"1384":{"position":[[17535,4],[19894,4],[20110,4],[20123,5],[20136,4],[20208,4],[20428,4],[20809,4],[20914,4]]},"1385":{"position":[[3139,4]]},"1387":{"position":[[5359,4],[5418,4],[6619,4]]},"1388":{"position":[[5001,4],[6411,4],[8954,4]]},"1392":{"position":[[1892,4],[2066,4]]},"1399":{"position":[[1526,5],[1605,4]]},"1403":{"position":[[2650,4],[5120,4],[6442,4],[7014,4],[7161,4],[7180,4],[7538,4],[8396,4],[8449,4]]},"1405":{"position":[[3170,4],[3301,4],[3441,4]]},"1407":{"position":[[3591,4],[3722,4],[3862,4]]},"1408":{"position":[[2190,4],[2341,4],[2481,4]]},"1410":{"position":[[3376,4],[3546,4],[4172,4],[4355,4],[4709,4],[4849,4]]},"1422":{"position":[[2337,4],[2479,4]]},"1423":{"position":[[2007,4],[2148,4]]},"1427":{"position":[[4004,4],[5228,4],[5646,4],[6267,4]]},"1429":{"position":[[4153,4],[4668,4],[4838,4],[5634,4]]},"1439":{"position":[[5058,4],[6821,4],[7555,4]]},"1440":{"position":[[4146,4],[4750,4],[4920,4],[5626,4]]},"1444":{"position":[[1766,4]]},"1446":{"position":[[2322,4],[2744,4]]},"1448":{"position":[[2727,4]]},"1449":{"position":[[2661,4]]},"1454":{"position":[[7551,4]]},"1457":{"position":[[1777,4]]},"1458":{"position":[[1057,5]]},"1461":{"position":[[2636,4],[3076,4]]},"1462":{"position":[[5583,4],[5642,4],[6123,4],[8941,4],[8960,4]]},"1465":{"position":[[2513,4],[2572,4],[3095,4],[4297,4]]},"1467":{"position":[[6078,4],[6137,4],[6764,4],[7235,4],[8498,4],[8715,4]]},"1468":{"position":[[1513,4]]},"1469":{"position":[[1803,4],[1989,4]]},"1470":{"position":[[4695,5]]},"1471":{"position":[[5385,4],[5620,4]]},"1472":{"position":[[6271,4],[6506,4]]},"1473":{"position":[[5791,4]]},"1477":{"position":[[2236,5],[2402,4],[2570,4],[3154,4]]},"1478":{"position":[[3388,4]]},"1482":{"position":[[1497,4],[1628,4],[2360,5],[2691,4],[3004,4]]},"1485":{"position":[[3326,4]]},"1486":{"position":[[888,4],[2150,4],[2257,4],[2410,4],[2656,4],[2764,4],[3154,4],[3610,4],[3657,4],[3743,4],[3976,4],[4206,4],[4680,4],[4795,4],[4954,4],[5095,4]]},"1487":{"position":[[1797,4]]}},"keywords":{}}],["buck'",{"_index":1742,"title":{},"content":{"315":{"position":[[127,6]]},"572":{"position":[[122,6],[188,6]]},"574":{"position":[[207,6]]},"937":{"position":[[1009,6],[2908,6],[2927,6]]},"940":{"position":[[939,6]]},"944":{"position":[[1842,6]]},"1374":{"position":[[1785,6]]},"1383":{"position":[[8338,6]]}},"keywords":{}}],["buck'sselect",{"_index":4640,"title":{},"content":{"939":{"position":[[1346,14]]}},"keywords":{}}],["buck.error",{"_index":6064,"title":{},"content":{"1226":{"position":[[3889,10]]},"1237":{"position":[[4059,10]]}},"keywords":{}}],["buck.target_configur",{"_index":3499,"title":{},"content":{"690":{"position":[[2837,25]]}},"keywords":{}}],["buck/platform010/build/llvm",{"_index":4312,"title":{},"content":{"896":{"position":[[181,27],[545,27]]}},"keywords":{}}],["buck1",{"_index":164,"title":{"8":{"position":[[26,5]]},"701":{"position":[[0,5]]},"703":{"position":[[101,5]]}},"content":{"9":{"position":[[210,6],[591,6],[1094,5],[1244,6],[1937,5],[2000,5],[2356,6],[2651,6],[2690,5],[2909,6]]},"10":{"position":[[77,6],[292,6],[393,6],[670,6],[895,6],[1108,6]]},"12":{"position":[[358,5]]},"22":{"position":[[706,5],[864,5],[1056,5]]},"23":{"position":[[38,6],[202,5],[482,5],[698,6],[3461,6],[3530,6]]},"374":{"position":[[367,5]]},"436":{"position":[[102,6]]},"702":{"position":[[58,5],[75,5]]},"703":{"position":[[22,5],[155,5]]},"704":{"position":[[296,6],[356,5],[514,5],[689,5],[764,5],[843,5],[973,5],[1107,5],[1146,5],[1226,5]]},"705":{"position":[[431,6],[638,5],[840,5]]},"706":{"position":[[62,5],[119,5],[519,6],[1656,5],[1887,5],[2188,6]]},"753":{"position":[[367,5]]},"815":{"position":[[102,6]]},"914":{"position":[[3,5]]},"995":{"position":[[620,5]]},"1102":{"position":[[183,5]]},"1107":{"position":[[130,5],[228,5],[342,6]]},"1108":{"position":[[31,6]]},"1112":{"position":[[665,5],[1407,5],[1472,5]]},"1113":{"position":[[221,5]]},"1138":{"position":[[2074,5]]},"1140":{"position":[[1563,5]]},"1167":{"position":[[394,5],[542,5],[691,5],[870,5],[1044,5],[1232,5],[1411,5],[1575,5],[1745,5],[1892,5],[2567,5]]},"1188":{"position":[[1616,5]]},"1190":{"position":[[285,6]]},"1192":{"position":[[122,6]]},"1217":{"position":[[1308,5]]},"1228":{"position":[[3389,5]]},"1233":{"position":[[294,6]]},"1240":{"position":[[463,6]]},"1241":{"position":[[242,6]]},"1272":{"position":[[150,5]]},"1303":{"position":[[150,5]]},"1331":{"position":[[150,5]]}},"keywords":{}}],["buck1."",{"_index":315,"title":{},"content":{"10":{"position":[[157,12]]}},"keywords":{}}],["buck1’",{"_index":3643,"title":{},"content":{"705":{"position":[[49,7]]},"706":{"position":[[1545,7]]}},"keywords":{}}],["buck2",{"_index":1,"title":{"1":{"position":[[0,5]]},"4":{"position":[[28,6]]},"5":{"position":[[24,6]]},"6":{"position":[[22,6]]},"7":{"position":[[24,6]]},"13":{"position":[[14,5]]},"15":{"position":[[11,6]]},"21":{"position":[[4,5]]},"22":{"position":[[9,5]]},"23":{"position":[[23,7]]},"24":{"position":[[8,7]]},"572":{"position":[[22,5]]},"583":{"position":[[14,5]]},"696":{"position":[[9,5]]},"701":{"position":[[9,5]]},"703":{"position":[[111,6]]},"713":{"position":[[0,5]]},"869":{"position":[[0,5]]},"870":{"position":[[27,5]]},"893":{"position":[[22,5]]},"918":{"position":[[0,5]]},"1079":{"position":[[0,5]]},"1115":{"position":[[0,5]]},"1128":{"position":[[0,5]]},"1130":{"position":[[41,5]]},"1229":{"position":[[7,5]]},"1241":{"position":[[7,5]]},"1242":{"position":[[26,5]]}},"content":{"2":{"position":[[87,6]]},"4":{"position":[[249,5],[513,5]]},"5":{"position":[[12,5],[92,5],[298,5],[383,5],[421,5],[448,5]]},"6":{"position":[[51,5],[142,5],[367,6]]},"7":{"position":[[50,6],[313,6]]},"9":{"position":[[259,5],[463,5],[535,5],[704,6],[943,5],[1313,5],[1643,6],[1833,6],[2125,5],[2227,6],[2609,6],[2664,5],[2883,5]]},"10":{"position":[[43,5],[114,5],[233,5],[489,6],[569,5],[776,6],[1080,5]]},"11":{"position":[[31,5],[107,5],[228,6],[352,5],[501,5],[641,6]]},"12":{"position":[[111,5],[550,5]]},"13":{"position":[[14,5],[411,6],[481,5],[492,6],[499,5],[511,8]]},"15":{"position":[[18,5],[532,5],[566,5],[783,5],[828,6]]},"17":{"position":[[280,5],[415,5],[513,5],[545,5],[606,5],[674,5],[767,5],[1086,5],[1172,5],[1226,5],[1310,5]]},"18":{"position":[[187,5],[386,5],[522,5],[1731,5],[1785,5],[1818,5],[2072,5],[2247,5]]},"19":{"position":[[35,5]]},"20":{"position":[[14,5],[201,6]]},"22":{"position":[[810,5],[1066,5]]},"23":{"position":[[0,5],[175,5],[648,5],[801,5],[1322,5],[2561,5],[2872,5],[3084,5],[3424,5]]},"24":{"position":[[40,6],[183,5],[482,5],[1168,5]]},"41":{"position":[[578,5]]},"94":{"position":[[1706,5],[2279,5],[2450,5]]},"174":{"position":[[578,5]]},"226":{"position":[[1706,5],[2279,5],[2450,5]]},"305":{"position":[[210,5]]},"346":{"position":[[216,5]]},"347":{"position":[[314,5]]},"368":{"position":[[2642,5],[2870,5]]},"446":{"position":[[260,5]]},"570":{"position":[[9,5],[140,5],[447,5],[580,5],[602,5],[624,5],[667,5]]},"572":{"position":[[77,5],[219,5]]},"574":{"position":[[67,5]]},"575":{"position":[[75,5],[154,5],[470,5]]},"577":{"position":[[88,5]]},"581":{"position":[[80,5],[525,5],[657,5],[888,5],[990,5]]},"582":{"position":[[46,5],[112,5],[228,5]]},"583":{"position":[[57,5]]},"584":{"position":[[624,5],[677,5],[1220,5]]},"586":{"position":[[174,5],[192,5]]},"587":{"position":[[36,5],[51,5],[630,5]]},"622":{"position":[[133,5]]},"675":{"position":[[115,5],[130,5],[249,5],[303,5],[369,5],[520,5],[664,5],[838,5],[1035,5]]},"676":{"position":[[0,5],[129,5]]},"678":{"position":[[0,5],[171,5]]},"680":{"position":[[3,6]]},"682":{"position":[[0,5],[133,5]]},"683":{"position":[[364,6]]},"684":{"position":[[74,5]]},"685":{"position":[[9,5],[153,5],[318,5]]},"689":{"position":[[102,5],[171,5],[217,5]]},"690":{"position":[[682,5],[1659,5]]},"692":{"position":[[37,5],[52,5],[206,6]]},"693":{"position":[[126,5],[785,5],[1431,5],[1504,5],[2002,5],[2183,5],[2201,5],[2424,5],[4109,5],[4736,5],[5057,5],[5202,6],[5530,5],[5766,5],[5952,5],[5972,5],[6050,5],[6296,5],[6960,5],[7359,5],[7494,5],[7871,5],[8075,5],[8316,5],[9079,5],[9095,5],[9314,5],[9532,5],[9662,5],[10219,5]]},"695":{"position":[[324,5],[673,5],[760,5]]},"696":{"position":[[0,5]]},"697":{"position":[[58,5]]},"700":{"position":[[179,5]]},"702":{"position":[[68,6]]},"703":{"position":[[48,5],[182,6]]},"704":{"position":[[1500,6],[1531,5],[1571,5],[1819,5],[1896,5],[1994,5],[2117,5],[2153,5],[2435,5],[2561,5]]},"705":{"position":[[68,5],[479,6],[570,5],[606,5],[1010,5]]},"706":{"position":[[52,5],[162,5],[686,6],[1187,6],[1748,5],[1962,5],[2488,6]]},"713":{"position":[[0,5]]},"715":{"position":[[0,5],[142,5],[171,5],[1266,5],[1606,5],[1670,5]]},"717":{"position":[[91,5],[507,5]]},"718":{"position":[[7,5],[87,5],[670,5]]},"720":{"position":[[490,5]]},"722":{"position":[[23,5],[501,5],[1135,5]]},"724":{"position":[[19,5],[282,5],[450,5],[566,5],[874,5],[1027,5],[1310,5],[1358,5]]},"725":{"position":[[52,5],[105,5]]},"747":{"position":[[2642,5],[2870,5]]},"825":{"position":[[260,5]]},"832":{"position":[[303,5]]},"833":{"position":[[45,5],[205,5]]},"834":{"position":[[402,5]]},"840":{"position":[[730,5]]},"841":{"position":[[34,5],[49,5],[356,5],[432,5],[483,5]]},"846":{"position":[[0,5],[79,6],[116,6],[152,6],[754,5],[1874,5]]},"850":{"position":[[571,5]]},"860":{"position":[[12,5]]},"864":{"position":[[1642,5]]},"865":{"position":[[117,5],[153,5],[434,5],[785,5],[849,5]]},"866":{"position":[[0,5],[127,5],[314,5],[332,5]]},"867":{"position":[[1875,5]]},"869":{"position":[[89,5],[189,5],[234,5],[332,5],[559,5]]},"870":{"position":[[40,5],[174,6],[269,6],[360,5],[617,5],[978,5],[1030,5],[1101,5]]},"900":{"position":[[1817,5]]},"904":{"position":[[366,5]]},"914":{"position":[[79,5]]},"916":{"position":[[71,5]]},"919":{"position":[[1231,5],[1532,5]]},"920":{"position":[[102,5],[119,5],[230,6],[237,5]]},"921":{"position":[[0,5],[566,5]]},"937":{"position":[[4321,5]]},"942":{"position":[[126,5],[571,5],[705,5]]},"946":{"position":[[256,5],[303,5]]},"950":{"position":[[350,5]]},"955":{"position":[[993,6],[1107,5]]},"956":{"position":[[322,5]]},"959":{"position":[[103,5]]},"961":{"position":[[593,5],[654,5]]},"965":{"position":[[165,5]]},"968":{"position":[[8,5],[101,5]]},"969":{"position":[[224,5],[346,5]]},"972":{"position":[[0,5]]},"973":{"position":[[27,5]]},"975":{"position":[[129,5]]},"981":{"position":[[382,5]]},"987":{"position":[[499,6]]},"990":{"position":[[458,5]]},"991":{"position":[[2956,5],[3053,5]]},"1000":{"position":[[29,5]]},"1007":{"position":[[4,5]]},"1020":{"position":[[0,5]]},"1025":{"position":[[194,5]]},"1030":{"position":[[255,5]]},"1032":{"position":[[50,5],[164,5],[380,5]]},"1035":{"position":[[77,5],[280,5],[501,5]]},"1037":{"position":[[27,5],[336,5],[409,5],[619,5],[634,5]]},"1038":{"position":[[50,5]]},"1040":{"position":[[0,5],[544,5]]},"1045":{"position":[[415,5]]},"1050":{"position":[[50,5],[686,5],[877,5],[1173,5],[1381,5]]},"1052":{"position":[[141,5]]},"1053":{"position":[[211,5],[1466,5]]},"1054":{"position":[[691,5]]},"1056":{"position":[[0,5],[133,5],[159,5],[233,5],[321,5]]},"1060":{"position":[[126,5],[228,5],[276,5]]},"1067":{"position":[[17,5],[38,5],[426,5],[496,6]]},"1070":{"position":[[212,5],[549,5]]},"1071":{"position":[[215,5],[387,5],[479,5],[605,5],[1061,6],[1109,5]]},"1072":{"position":[[519,6]]},"1075":{"position":[[569,5]]},"1076":{"position":[[64,7]]},"1077":{"position":[[0,5],[84,5],[157,5],[299,7]]},"1078":{"position":[[27,5],[156,7]]},"1079":{"position":[[209,5],[462,7],[561,7],[1347,5]]},"1093":{"position":[[585,5]]},"1094":{"position":[[0,5]]},"1095":{"position":[[135,5]]},"1097":{"position":[[78,5]]},"1098":{"position":[[655,5]]},"1100":{"position":[[88,5],[277,7]]},"1102":{"position":[[13,5],[65,5],[211,6],[818,5],[1089,5]]},"1103":{"position":[[1047,5]]},"1104":{"position":[[483,5]]},"1105":{"position":[[2616,6]]},"1107":{"position":[[140,6],[308,5]]},"1110":{"position":[[40,7]]},"1112":{"position":[[4473,5]]},"1114":{"position":[[372,5]]},"1118":{"position":[[124,6]]},"1120":{"position":[[66,5],[242,6]]},"1121":{"position":[[39,5]]},"1124":{"position":[[291,5],[337,5]]},"1126":{"position":[[316,5]]},"1127":{"position":[[48,5],[122,5],[230,5],[245,5],[290,5],[331,5],[398,5],[413,5],[729,5]]},"1129":{"position":[[75,5],[111,5],[220,5]]},"1130":{"position":[[8,5],[125,5],[220,5]]},"1131":{"position":[[175,5],[332,5],[432,5]]},"1132":{"position":[[0,5]]},"1133":{"position":[[25,5],[68,5],[134,5],[811,5],[984,5]]},"1134":{"position":[[118,5]]},"1136":{"position":[[196,6],[403,6],[509,6],[792,5],[3806,5],[3984,5]]},"1138":{"position":[[35,5],[1384,5],[6007,5],[7468,5],[7646,5]]},"1140":{"position":[[23,5],[921,6],[6394,5],[6572,5]]},"1142":{"position":[[62,5],[83,5],[1838,5],[2016,5]]},"1144":{"position":[[174,5]]},"1146":{"position":[[53,5],[1778,5],[1956,5]]},"1148":{"position":[[729,6],[920,6],[1070,6],[1148,5],[3357,5],[4818,5],[4996,5]]},"1150":{"position":[[476,5]]},"1152":{"position":[[45,5],[58,5],[177,5]]},"1154":{"position":[[48,5]]},"1155":{"position":[[60,5],[1874,5],[2052,5]]},"1156":{"position":[[145,5],[1452,5],[1630,5]]},"1157":{"position":[[44,5]]},"1158":{"position":[[38,5]]},"1159":{"position":[[38,5]]},"1161":{"position":[[13,5],[34,5]]},"1163":{"position":[[40,6],[60,6],[75,6],[105,5],[137,6],[161,5],[195,5],[221,5]]},"1165":{"position":[[9,5],[47,5]]},"1167":{"position":[[40,5],[7398,5],[7576,5]]},"1169":{"position":[[46,5],[1237,5],[1415,5]]},"1171":{"position":[[30,5],[48,5],[129,5]]},"1172":{"position":[[18,5],[728,6],[835,5],[1814,5],[1872,5]]},"1173":{"position":[[132,5]]},"1174":{"position":[[43,5]]},"1175":{"position":[[63,5]]},"1176":{"position":[[123,6],[148,5]]},"1177":{"position":[[56,5]]},"1178":{"position":[[200,5]]},"1179":{"position":[[70,5]]},"1180":{"position":[[400,5]]},"1181":{"position":[[101,5]]},"1182":{"position":[[96,5]]},"1183":{"position":[[53,5]]},"1185":{"position":[[29,5]]},"1186":{"position":[[24,5],[1581,5],[3042,5],[3220,5]]},"1187":{"position":[[38,5],[1594,5],[3055,5],[3233,5]]},"1188":{"position":[[26,5],[974,6],[6320,5],[7781,5],[7959,5]]},"1190":{"position":[[35,5]]},"1191":{"position":[[64,5],[1642,5],[1820,5]]},"1192":{"position":[[247,5],[1817,5],[1995,5]]},"1193":{"position":[[25,5],[392,5],[1869,5],[2047,5]]},"1194":{"position":[[52,5],[1509,5],[1687,5]]},"1195":{"position":[[58,5],[1487,5],[1665,5]]},"1196":{"position":[[47,5],[1297,5],[1475,5]]},"1197":{"position":[[53,5],[819,5],[2280,5],[2458,5]]},"1198":{"position":[[28,5],[829,5],[2290,5],[2468,5]]},"1199":{"position":[[49,5],[857,5],[2318,5],[2496,5]]},"1200":{"position":[[66,5],[724,5],[2185,5],[2363,5]]},"1201":{"position":[[109,5],[1445,5],[1623,5]]},"1202":{"position":[[34,5],[1259,5],[2587,5],[2765,5],[5669,5],[6984,5],[7162,5]]},"1203":{"position":[[49,5],[1679,5],[1857,5]]},"1204":{"position":[[58,5],[1523,5],[1701,5],[4525,5],[5441,5],[6357,5],[7262,5],[8286,5],[9204,5],[10160,5]]},"1205":{"position":[[259,5],[2852,5],[3030,5]]},"1206":{"position":[[104,5],[1323,5],[1501,5]]},"1207":{"position":[[121,5],[1480,5],[1658,5]]},"1209":{"position":[[26,5],[2828,5],[3006,5]]},"1211":{"position":[[47,5]]},"1213":{"position":[[49,5]]},"1215":{"position":[[20,5]]},"1217":{"position":[[171,5],[658,7],[6139,5],[6317,5]]},"1219":{"position":[[35,5],[86,5],[749,5],[2125,5],[2303,5]]},"1221":{"position":[[31,5]]},"1222":{"position":[[32,5],[1249,5],[1427,5]]},"1223":{"position":[[37,5],[1259,5],[1437,5]]},"1224":{"position":[[230,5],[1439,5],[1617,5]]},"1226":{"position":[[28,5],[6607,5],[6785,5]]},"1228":{"position":[[44,5],[353,5],[1417,5],[8220,5],[8398,5]]},"1232":{"position":[[3340,5]]},"1233":{"position":[[26,5],[156,5],[170,6]]},"1235":{"position":[[522,6],[713,6],[862,6],[1285,5],[4088,5],[4266,5]]},"1237":{"position":[[197,5],[6777,5],[6955,5]]},"1239":{"position":[[0,5]]},"1241":{"position":[[3,5],[104,5],[118,6]]},"1242":{"position":[[42,5]]},"1243":{"position":[[350,5],[606,5],[644,5],[809,5],[854,5],[926,5],[963,5],[1009,5],[1154,5],[1231,5]]},"1248":{"position":[[154,5]]},"1258":{"position":[[429,5]]},"1259":{"position":[[1222,5]]},"1272":{"position":[[56,5]]},"1273":{"position":[[256,5]]},"1277":{"position":[[315,5]]},"1278":{"position":[[300,6]]},"1279":{"position":[[224,6]]},"1280":{"position":[[199,6]]},"1281":{"position":[[156,6]]},"1289":{"position":[[429,5]]},"1290":{"position":[[1222,5]]},"1303":{"position":[[56,5]]},"1304":{"position":[[256,5]]},"1308":{"position":[[315,5]]},"1309":{"position":[[300,6]]},"1310":{"position":[[224,6]]},"1311":{"position":[[199,6]]},"1312":{"position":[[156,6]]},"1317":{"position":[[429,5]]},"1318":{"position":[[1222,5]]},"1331":{"position":[[56,5]]},"1332":{"position":[[256,5]]},"1336":{"position":[[315,5]]},"1337":{"position":[[300,6]]},"1338":{"position":[[224,6]]},"1339":{"position":[[199,6]]},"1340":{"position":[[156,6]]},"1345":{"position":[[1207,5],[1350,7]]},"1393":{"position":[[2324,5],[2452,5],[2508,5],[2679,5],[2960,5],[3780,5],[7662,5],[9009,5]]},"1398":{"position":[[4608,5],[6231,5],[6480,5],[6595,5]]},"1471":{"position":[[2772,6]]},"1472":{"position":[[2731,6]]},"1473":{"position":[[3046,6]]}},"keywords":{}}],["buck2'",{"_index":36,"title":{"678":{"position":[[0,7]]},"695":{"position":[[0,7]]}},"content":{"4":{"position":[[72,7]]},"13":{"position":[[47,7]]},"94":{"position":[[1430,7]]},"226":{"position":[[1430,7]]},"570":{"position":[[250,7]]},"687":{"position":[[212,7]]},"696":{"position":[[176,7]]},"1075":{"position":[[0,7]]},"1136":{"position":[[6618,7]]},"1138":{"position":[[10280,7]]},"1140":{"position":[[9206,7]]},"1142":{"position":[[4650,7]]},"1144":{"position":[[978,7]]},"1146":{"position":[[4590,7]]},"1148":{"position":[[8181,7]]},"1150":{"position":[[1213,7]]},"1152":{"position":[[911,7]]},"1154":{"position":[[1066,7]]},"1155":{"position":[[4686,7]]},"1156":{"position":[[82,7],[4264,7]]},"1157":{"position":[[849,7]]},"1158":{"position":[[843,7]]},"1159":{"position":[[843,7]]},"1161":{"position":[[1838,7]]},"1163":{"position":[[1224,7]]},"1165":{"position":[[1053,7]]},"1167":{"position":[[10210,7]]},"1169":{"position":[[3318,7]]},"1171":{"position":[[1559,7]]},"1172":{"position":[[2944,7]]},"1173":{"position":[[1631,7]]},"1174":{"position":[[1059,7]]},"1175":{"position":[[1055,7]]},"1176":{"position":[[1224,7]]},"1177":{"position":[[1145,7]]},"1178":{"position":[[1462,7]]},"1179":{"position":[[1259,7]]},"1180":{"position":[[1530,7]]},"1181":{"position":[[2050,7]]},"1182":{"position":[[1093,7]]},"1183":{"position":[[1048,7]]},"1185":{"position":[[893,7]]},"1186":{"position":[[5854,7]]},"1187":{"position":[[5867,7]]},"1188":{"position":[[10593,7]]},"1190":{"position":[[2224,7]]},"1191":{"position":[[4454,7]]},"1192":{"position":[[4629,7]]},"1193":{"position":[[4681,7]]},"1194":{"position":[[4321,7]]},"1195":{"position":[[4299,7]]},"1196":{"position":[[4109,7]]},"1197":{"position":[[5092,7]]},"1198":{"position":[[5102,7]]},"1199":{"position":[[5130,7]]},"1200":{"position":[[4997,7]]},"1201":{"position":[[4257,7]]},"1202":{"position":[[1001,7],[5399,7],[9796,7]]},"1203":{"position":[[4491,7]]},"1204":{"position":[[4335,7],[5237,7],[6167,7],[7069,7],[8055,7],[9009,7],[9956,7],[10886,7]]},"1205":{"position":[[5664,7]]},"1206":{"position":[[4363,7]]},"1207":{"position":[[4292,7]]},"1209":{"position":[[5640,7]]},"1211":{"position":[[964,7]]},"1213":{"position":[[735,7]]},"1215":{"position":[[819,7]]},"1217":{"position":[[8951,7]]},"1219":{"position":[[4206,7]]},"1221":{"position":[[938,7]]},"1222":{"position":[[4077,7]]},"1223":{"position":[[4087,7]]},"1224":{"position":[[3520,7]]},"1226":{"position":[[9419,7]]},"1228":{"position":[[11032,7]]},"1235":{"position":[[6900,7]]},"1237":{"position":[[9589,7]]},"1362":{"position":[[9853,7],[9968,7]]},"1364":{"position":[[10967,7],[11082,7]]},"1367":{"position":[[10770,7],[10885,7]]},"1382":{"position":[[6579,7],[6694,7]]},"1384":{"position":[[12933,7],[13048,7]]},"1388":{"position":[[7448,7],[7563,7]]}},"keywords":{}}],["buck2.antlir2",{"_index":127,"title":{},"content":{"6":{"position":[[270,14]]}},"keywords":{}}],["buck2.awesom",{"_index":95,"title":{},"content":{"5":{"position":[[284,13]]}},"keywords":{}}],["buck2.benefit",{"_index":10,"title":{},"content":{"2":{"position":[[48,14]]}},"keywords":{}}],["buck2.buck2",{"_index":98,"title":{},"content":{"5":{"position":[[339,11]]},"7":{"position":[[267,11]]}},"keywords":{}}],["buck2.local_resourc",{"_index":5482,"title":{},"content":{"1069":{"position":[[604,21]]}},"keywords":{}}],["buck2.log_configured_graph_size=tru",{"_index":5728,"title":{},"content":{"1112":{"position":[[2472,37]]}},"keywords":{}}],["buck2.ocamlrep",{"_index":145,"title":{},"content":{"7":{"position":[[175,14]]}},"keywords":{}}],["buck2.reddit",{"_index":80,"title":{},"content":{"5":{"position":[[66,12]]}},"keywords":{}}],["buck2.th",{"_index":5754,"title":{},"content":{"1114":{"position":[[539,9]]}},"keywords":{}}],["buck2/app/buck2_core:buck2_cor",{"_index":3461,"title":{},"content":{"690":{"position":[[642,34]]}},"keywords":{}}],["buck2/examples/hello_world",{"_index":494,"title":{},"content":{"17":{"position":[[387,26]]}},"keywords":{}}],["buck2/hello",{"_index":1302,"title":{},"content":{"110":{"position":[[136,11]]},"522":{"position":[[136,11]]}},"keywords":{}}],["buck2_build_api::actions::artifact::artifact",{"_index":6105,"title":{},"content":{"1232":{"position":[[260,46],[691,46]]}},"keywords":{}}],["buck2_build_api::artifact_groups::artifact_group_values::artifactvalueidentity>",{"_index":6107,"title":{},"content":{"1232":{"position":[[354,82],[785,82]]}},"keywords":{}}],["buck2_compat",{"_index":6339,"title":{},"content":{"1348":{"position":[[776,20]]},"1349":{"position":[[573,20]]},"1350":{"position":[[1140,20]]},"1351":{"position":[[464,20]]},"1352":{"position":[[1140,20]]},"1353":{"position":[[587,20]]},"1354":{"position":[[490,20]]},"1355":{"position":[[878,20]]},"1356":{"position":[[360,20]]},"1357":{"position":[[351,20]]},"1358":{"position":[[522,20]]},"1359":{"position":[[479,20]]},"1360":{"position":[[564,20]]},"1361":{"position":[[360,20]]},"1362":{"position":[[702,20]]},"1363":{"position":[[1396,20]]},"1364":{"position":[[719,20]]},"1365":{"position":[[399,20]]},"1366":{"position":[[329,20]]},"1367":{"position":[[1636,20]]},"1368":{"position":[[443,20]]},"1369":{"position":[[367,20]]},"1370":{"position":[[425,20]]},"1371":{"position":[[355,20]]},"1372":{"position":[[1298,20]]},"1373":{"position":[[572,20]]},"1374":{"position":[[399,20]]},"1375":{"position":[[329,20]]},"1376":{"position":[[347,20]]},"1377":{"position":[[344,20]]},"1378":{"position":[[333,20]]},"1379":{"position":[[331,20]]},"1380":{"position":[[330,20]]},"1381":{"position":[[357,20]]},"1382":{"position":[[562,20]]},"1383":{"position":[[492,20]]},"1384":{"position":[[509,20]]},"1385":{"position":[[361,20]]},"1386":{"position":[[337,20]]},"1387":{"position":[[616,20]]},"1388":{"position":[[695,20]]},"1389":{"position":[[1108,20]]},"1390":{"position":[[323,20]]},"1391":{"position":[[324,20]]},"1392":{"position":[[321,20]]},"1393":{"position":[[400,20]]},"1394":{"position":[[378,20]]},"1395":{"position":[[350,20]]},"1396":{"position":[[334,20]]},"1397":{"position":[[388,20]]},"1398":{"position":[[556,20]]},"1399":{"position":[[326,20]]},"1400":{"position":[[348,20]]},"1401":{"position":[[324,20]]},"1402":{"position":[[439,20]]},"1403":{"position":[[463,20]]},"1404":{"position":[[350,20]]},"1405":{"position":[[497,20]]},"1406":{"position":[[382,20]]},"1407":{"position":[[507,20]]},"1408":{"position":[[548,20]]},"1409":{"position":[[486,20]]},"1410":{"position":[[620,20]]},"1411":{"position":[[329,20]]},"1412":{"position":[[507,20]]},"1413":{"position":[[504,20]]},"1414":{"position":[[375,20]]},"1415":{"position":[[329,20]]},"1416":{"position":[[411,20]]},"1417":{"position":[[381,20]]},"1418":{"position":[[384,20]]},"1419":{"position":[[355,20]]},"1420":{"position":[[384,20]]},"1421":{"position":[[339,20]]},"1422":{"position":[[327,20]]},"1423":{"position":[[324,20]]},"1424":{"position":[[469,20]]},"1425":{"position":[[375,20]]},"1426":{"position":[[476,20]]},"1427":{"position":[[729,20]]},"1428":{"position":[[361,20]]},"1429":{"position":[[764,20]]},"1430":{"position":[[546,20]]},"1431":{"position":[[429,20]]},"1432":{"position":[[516,20]]},"1433":{"position":[[552,20]]},"1434":{"position":[[354,20]]},"1435":{"position":[[359,20]]},"1436":{"position":[[355,20]]},"1437":{"position":[[379,20]]},"1438":{"position":[[323,20]]},"1439":{"position":[[803,20]]},"1440":{"position":[[838,20]]},"1441":{"position":[[331,20]]},"1442":{"position":[[357,20]]},"1443":{"position":[[325,20]]},"1444":{"position":[[355,20]]},"1445":{"position":[[357,20]]},"1446":{"position":[[326,20]]},"1447":{"position":[[328,20]]},"1448":{"position":[[379,20]]},"1449":{"position":[[380,20]]},"1450":{"position":[[379,20]]},"1451":{"position":[[379,20]]},"1452":{"position":[[323,20]]},"1453":{"position":[[418,20]]},"1454":{"position":[[423,20]]},"1455":{"position":[[366,20]]},"1456":{"position":[[353,20]]},"1457":{"position":[[334,20]]},"1458":{"position":[[500,20]]},"1459":{"position":[[338,20]]},"1460":{"position":[[337,20]]},"1461":{"position":[[485,20]]},"1462":{"position":[[743,20]]},"1463":{"position":[[437,20]]},"1464":{"position":[[339,20]]},"1465":{"position":[[494,20]]},"1466":{"position":[[412,20]]},"1467":{"position":[[810,20]]},"1468":{"position":[[333,20]]},"1469":{"position":[[348,20]]},"1470":{"position":[[917,20]]},"1471":{"position":[[553,20]]},"1472":{"position":[[456,20]]},"1473":{"position":[[584,20]]},"1474":{"position":[[543,20]]},"1475":{"position":[[540,20]]},"1476":{"position":[[331,20]]},"1477":{"position":[[385,20]]},"1478":{"position":[[413,20]]},"1479":{"position":[[339,20]]},"1480":{"position":[[361,20]]},"1481":{"position":[[463,20]]},"1482":{"position":[[325,20]]},"1483":{"position":[[343,20]]},"1484":{"position":[[330,20]]},"1485":{"position":[[356,20]]},"1486":{"position":[[383,20]]},"1487":{"position":[[353,20]]}},"keywords":{}}],["buck2_data::commandend",{"_index":6139,"title":{},"content":{"1232":{"position":[[2529,23]]}},"keywords":{}}],["buck2_data::commandend)>",{"_index":6137,"title":{},"content":{"1232":{"position":[[2411,28]]}},"keywords":{}}],["buck2_execute::artifact_value::artifactvalu",{"_index":6106,"title":{},"content":{"1232":{"position":[[307,46],[738,46]]}},"keywords":{}}],["buck2_re_cli",{"_index":6302,"title":{},"content":{"1345":{"position":[[54,17]]}},"keywords":{}}],["buck2_server::daemon::server::buckdserverdependencies>::build::{closure#0}>",{"_index":6144,"title":{},"content":{"1232":{"position":[[2998,81]]}},"keywords":{}}],["buck2_server_commands::commands::build::create_unhashed_output",{"_index":6114,"title":{},"content":{"1232":{"position":[[947,63]]}},"keywords":{}}],["buck2_server_ctx::ctx::servercommandcontexttrait>",{"_index":6123,"title":{},"content":{"1232":{"position":[[1398,52]]}},"keywords":{}}],["buck2_server_ctx::ctx::servercommanddicecontext>::with_dice_ctx<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::buildservercommand>::{closure#0}::{closure#0}::{closure#0",{"_index":6124,"title":{},"content":{"1232":{"position":[[1454,222]]}},"keywords":{}}],["buck2_server_ctx::template::servercommandtemplate>::command::{closure#0}>",{"_index":6118,"title":{},"content":{"1232":{"position":[[1162,79]]}},"keywords":{}}],["buck2_subscription_proto/subscription.proto",{"_index":6042,"title":{},"content":{"1219":{"position":[[457,46]]}},"keywords":{}}],["buck2andrea",{"_index":125,"title":{},"content":{"6":{"position":[[222,12]]}},"keywords":{}}],["buck2build",{"_index":3618,"title":{},"content":{"702":{"position":[[81,10]]}},"keywords":{}}],["buck2neil",{"_index":112,"title":{},"content":{"6":{"position":[[25,9]]}},"keywords":{}}],["buck2not",{"_index":564,"title":{},"content":{"18":{"position":[[795,8]]}},"keywords":{}}],["buck2talk",{"_index":131,"title":{},"content":{"6":{"position":[[317,10]]}},"keywords":{}}],["buck2’",{"_index":3678,"title":{},"content":{"706":{"position":[[1601,7]]},"718":{"position":[[436,7]]},"720":{"position":[[551,7]]},"722":{"position":[[435,7]]},"832":{"position":[[72,8]]},"870":{"position":[[1516,7]]},"955":{"position":[[750,7]]}},"keywords":{}}],["buck_consol",{"_index":5900,"title":{},"content":{"1136":{"position":[[5066,14]]},"1138":{"position":[[8728,14]]},"1140":{"position":[[7654,14]]},"1142":{"position":[[3098,14]]},"1146":{"position":[[3038,14]]},"1148":{"position":[[6078,14]]},"1155":{"position":[[3134,14]]},"1156":{"position":[[2712,14]]},"1161":{"position":[[605,14]]},"1167":{"position":[[8658,14]]},"1181":{"position":[[817,14]]},"1186":{"position":[[4302,14]]},"1187":{"position":[[4315,14]]},"1188":{"position":[[9041,14]]},"1191":{"position":[[2902,14]]},"1192":{"position":[[3077,14]]},"1193":{"position":[[3129,14]]},"1194":{"position":[[2769,14]]},"1195":{"position":[[2747,14]]},"1196":{"position":[[2557,14]]},"1197":{"position":[[3540,14]]},"1198":{"position":[[3550,14]]},"1199":{"position":[[3578,14]]},"1200":{"position":[[3445,14]]},"1201":{"position":[[2705,14]]},"1202":{"position":[[3847,14],[8244,14]]},"1203":{"position":[[2939,14]]},"1204":{"position":[[2783,14]]},"1205":{"position":[[4112,14]]},"1206":{"position":[[2583,14]]},"1207":{"position":[[2740,14]]},"1209":{"position":[[4088,14]]},"1217":{"position":[[7399,14]]},"1222":{"position":[[2509,14]]},"1223":{"position":[[2519,14]]},"1226":{"position":[[7867,14]]},"1228":{"position":[[9480,14]]},"1235":{"position":[[5348,14]]},"1237":{"position":[[8037,14]]}},"keywords":{}}],["buck_default_runtime_resources/data.dat",{"_index":8466,"title":{},"content":{"1477":{"position":[[2982,40]]}},"keywords":{}}],["buck_default_runtime_resourcesenviron",{"_index":8457,"title":{},"content":{"1477":{"position":[[2077,42]]}},"keywords":{}}],["buck_no_interactive_consol",{"_index":5909,"title":{},"content":{"1136":{"position":[[5671,29]]},"1138":{"position":[[9333,29]]},"1140":{"position":[[8259,29]]},"1142":{"position":[[3703,29]]},"1146":{"position":[[3643,29]]},"1148":{"position":[[6683,29]]},"1155":{"position":[[3739,29]]},"1156":{"position":[[3317,29]]},"1161":{"position":[[1210,29]]},"1167":{"position":[[9263,29]]},"1181":{"position":[[1422,29]]},"1186":{"position":[[4907,29]]},"1187":{"position":[[4920,29]]},"1188":{"position":[[9646,29]]},"1191":{"position":[[3507,29]]},"1192":{"position":[[3682,29]]},"1193":{"position":[[3734,29]]},"1194":{"position":[[3374,29]]},"1195":{"position":[[3352,29]]},"1196":{"position":[[3162,29]]},"1197":{"position":[[4145,29]]},"1198":{"position":[[4155,29]]},"1199":{"position":[[4183,29]]},"1200":{"position":[[4050,29]]},"1201":{"position":[[3310,29]]},"1202":{"position":[[4452,29],[8849,29]]},"1203":{"position":[[3544,29]]},"1204":{"position":[[3388,29]]},"1205":{"position":[[4717,29]]},"1206":{"position":[[3188,29]]},"1207":{"position":[[3345,29]]},"1209":{"position":[[4693,29]]},"1217":{"position":[[8004,29]]},"1222":{"position":[[3114,29]]},"1223":{"position":[[3124,29]]},"1226":{"position":[[8472,29]]},"1228":{"position":[[10085,29]]},"1235":{"position":[[5953,29]]},"1237":{"position":[[8642,29]]},"1239":{"position":[[82,27]]}},"keywords":{}}],["buck_offline_build",{"_index":5930,"title":{},"content":{"1138":{"position":[[2390,20],[3054,20]]},"1140":{"position":[[1879,20],[2543,20]]},"1167":{"position":[[2883,20],[3547,20]]},"1188":{"position":[[1932,20],[2596,20]]},"1217":{"position":[[1624,20],[2288,20]]},"1228":{"position":[[3705,20],[4369,20]]}},"keywords":{}}],["buck_project_root",{"_index":8458,"title":{},"content":{"1477":{"position":[[2443,18]]}},"keywords":{}}],["buck_regex",{"_index":910,"title":{"54":{"position":[[0,10]]},"201":{"position":[[0,10]]}},"content":{"405":{"position":[[831,11]]},"434":{"position":[[57,10]]},"784":{"position":[[831,11]]},"813":{"position":[[57,10]]}},"keywords":{}}],["buck_regex.match",{"_index":911,"title":{"55":{"position":[[0,17]]},"202":{"position":[[0,17]]}},"content":{},"keywords":{}}],["buck_regex.match(str",{"_index":912,"title":{},"content":{"55":{"position":[[4,21]]},"202":{"position":[[4,21]]}},"keywords":{}}],["buck_run_build_id",{"_index":6033,"title":{},"content":{"1217":{"position":[[122,19]]}},"keywords":{}}],["buck_scratch_path",{"_index":1236,"title":{},"content":{"94":{"position":[[4192,18]]},"226":{"position":[[4192,18]]}},"keywords":{}}],["buckconfig",{"_index":587,"title":{"571":{"position":[[0,11]]},"573":{"position":[[4,11]]},"1345":{"position":[[20,12]]}},"content":{"18":{"position":[[1575,11],[1844,11]]},"242":{"position":[[174,12]]},"429":{"position":[[102,11],[198,11],[585,11]]},"433":{"position":[[134,11]]},"573":{"position":[[4,11],[156,11]]},"576":{"position":[[49,11]]},"579":{"position":[[92,12]]},"580":{"position":[[213,11]]},"581":{"position":[[19,11],[263,11],[453,10]]},"583":{"position":[[255,11]]},"584":{"position":[[183,11],[1327,11],[1444,11],[1571,11]]},"585":{"position":[[41,12]]},"587":{"position":[[440,11]]},"622":{"position":[[191,12]]},"676":{"position":[[220,12]]},"693":{"position":[[18,12],[193,11],[2312,11],[2468,11],[6183,12],[6229,11],[6383,12],[8759,12]]},"717":{"position":[[406,11]]},"720":{"position":[[320,11]]},"808":{"position":[[102,11],[198,11],[585,11]]},"812":{"position":[[134,11]]},"937":{"position":[[283,11],[985,11],[1032,11],[1060,11],[1244,11],[2708,11]]},"976":{"position":[[35,11]]},"998":{"position":[[299,11]]},"1001":{"position":[[1021,12]]},"1011":{"position":[[191,12]]},"1064":{"position":[[1121,13],[2297,12]]},"1077":{"position":[[287,11]]},"1078":{"position":[[144,11]]},"1079":{"position":[[450,11]]},"1093":{"position":[[122,11],[480,10]]},"1097":{"position":[[269,10]]},"1098":{"position":[[60,12],[293,10]]},"1100":{"position":[[265,11]]},"1110":{"position":[[28,11]]},"1136":{"position":[[2700,10]]},"1138":{"position":[[775,11],[6362,10]]},"1140":{"position":[[401,11],[5288,10]]},"1142":{"position":[[732,10]]},"1146":{"position":[[672,10]]},"1148":{"position":[[3712,10]]},"1150":{"position":[[127,11],[218,11]]},"1155":{"position":[[768,10]]},"1156":{"position":[[346,10]]},"1167":{"position":[[6292,10]]},"1169":{"position":[[131,10]]},"1186":{"position":[[1936,10]]},"1187":{"position":[[1949,10]]},"1188":{"position":[[454,11],[6675,10]]},"1190":{"position":[[140,12]]},"1191":{"position":[[44,12],[536,10]]},"1192":{"position":[[711,10]]},"1193":{"position":[[763,10]]},"1194":{"position":[[403,10]]},"1195":{"position":[[381,10]]},"1196":{"position":[[191,10]]},"1197":{"position":[[1174,10]]},"1198":{"position":[[1184,10]]},"1199":{"position":[[1212,10]]},"1200":{"position":[[1079,10]]},"1201":{"position":[[339,10]]},"1202":{"position":[[1481,10],[5878,10]]},"1203":{"position":[[573,10]]},"1204":{"position":[[417,10]]},"1205":{"position":[[1746,10]]},"1206":{"position":[[217,10]]},"1207":{"position":[[374,10]]},"1209":{"position":[[1722,10]]},"1217":{"position":[[5033,10]]},"1219":{"position":[[1019,10]]},"1222":{"position":[[143,10]]},"1223":{"position":[[153,10]]},"1224":{"position":[[333,10]]},"1226":{"position":[[5501,10]]},"1228":{"position":[[7114,10]]},"1235":{"position":[[2982,10]]},"1237":{"position":[[5671,10]]},"1345":{"position":[[1326,11]]},"1354":{"position":[[3070,11]]},"1355":{"position":[[4663,12],[6738,12],[7577,12]]},"1362":{"position":[[13346,12]]},"1364":{"position":[[14046,12]]},"1365":{"position":[[1839,12]]},"1367":{"position":[[13254,12]]},"1373":{"position":[[5851,14]]},"1384":{"position":[[20383,10],[20411,12]]},"1385":{"position":[[2072,11]]},"1388":{"position":[[10297,11]]},"1392":{"position":[[2421,11]]},"1408":{"position":[[2215,14]]},"1410":{"position":[[4412,14],[5520,11]]},"1422":{"position":[[944,11]]},"1423":{"position":[[934,11]]},"1427":{"position":[[3808,12],[5683,11],[5937,12],[7066,12]]},"1429":{"position":[[6017,11]]},"1439":{"position":[[6306,11],[7592,11]]},"1440":{"position":[[5917,11]]},"1454":{"position":[[9603,11]]},"1457":{"position":[[1802,14]]},"1461":{"position":[[2291,12]]},"1462":{"position":[[5740,12],[6625,11],[6678,12],[8165,12]]},"1465":{"position":[[2751,12]]},"1467":{"position":[[6236,12],[6890,12],[7740,11],[7793,12],[9226,12],[9365,12],[9784,12],[10539,11]]},"1469":{"position":[[853,11]]},"1478":{"position":[[2680,11]]}},"keywords":{}}],["buckconfig#python",{"_index":8353,"title":{},"content":{"1465":{"position":[[3486,17],[3895,17]]},"1467":{"position":[[9755,17]]}},"keywords":{}}],["buckconfig#pythonsect",{"_index":8333,"title":{},"content":{"1462":{"position":[[8275,24]]},"1467":{"position":[[9337,24]]}},"keywords":{}}],["buckconfig.d",{"_index":2661,"title":{},"content":{"581":{"position":[[206,13],[289,13],[478,12],[742,13]]},"583":{"position":[[593,13],[680,13],[816,13],[830,14]]}},"keywords":{}}],["buckconfig.loc",{"_index":2653,"title":{"580":{"position":[[0,18]]}},"content":{"580":{"position":[[71,18],[152,17]]},"581":{"position":[[35,17]]},"1383":{"position":[[8395,18]]}},"keywords":{}}],["buckconfig.platform_src",{"_index":8354,"title":{},"content":{"1465":{"position":[[3515,26]]}},"keywords":{}}],["buckconfig.preload_dep",{"_index":8334,"title":{},"content":{"1462":{"position":[[8303,25]]}},"keywords":{}}],["buckconfig.py_version_for_type_check",{"_index":8355,"title":{},"content":{"1465":{"position":[[3924,41]]}},"keywords":{}}],["buckconfigand",{"_index":6819,"title":{},"content":{"1362":{"position":[[13706,14]]},"1364":{"position":[[14406,14]]},"1365":{"position":[[1824,14]]},"1383":{"position":[[8380,14]]}},"keywords":{}}],["buckconfigfil",{"_index":2686,"title":{},"content":{"583":{"position":[[296,15]]}},"keywords":{}}],["buckconfigfor",{"_index":6820,"title":{},"content":{"1362":{"position":[[13721,14]]},"1364":{"position":[[14421,14]]}},"keywords":{}}],["buckconfigproperti",{"_index":7963,"title":{},"content":{"1427":{"position":[[5660,19]]},"1439":{"position":[[7569,19]]}},"keywords":{}}],["buckconfig—can",{"_index":2731,"title":{},"content":{"587":{"position":[[118,15]]}},"keywords":{}}],["buckd",{"_index":2675,"title":{"691":{"position":[[7,7]]}},"content":{"581":{"position":[[803,6],[853,7]]},"693":{"position":[[4201,8]]},"1136":{"position":[[5435,5]]},"1138":{"position":[[9097,5]]},"1140":{"position":[[8023,5]]},"1142":{"position":[[3467,5]]},"1146":{"position":[[3407,5]]},"1148":{"position":[[6447,5]]},"1155":{"position":[[3503,5]]},"1156":{"position":[[3081,5]]},"1161":{"position":[[974,5]]},"1167":{"position":[[9027,5]]},"1181":{"position":[[1186,5]]},"1186":{"position":[[4671,5]]},"1187":{"position":[[4684,5]]},"1188":{"position":[[9410,5]]},"1191":{"position":[[3271,5]]},"1192":{"position":[[3446,5]]},"1193":{"position":[[3498,5]]},"1194":{"position":[[3138,5]]},"1195":{"position":[[3116,5]]},"1196":{"position":[[2926,5]]},"1197":{"position":[[3909,5]]},"1198":{"position":[[3919,5]]},"1199":{"position":[[3947,5]]},"1200":{"position":[[3814,5]]},"1201":{"position":[[3074,5]]},"1202":{"position":[[4216,5],[8613,5]]},"1203":{"position":[[3308,5]]},"1204":{"position":[[3152,5]]},"1205":{"position":[[4481,5]]},"1206":{"position":[[2952,5]]},"1207":{"position":[[3109,5]]},"1209":{"position":[[4457,5]]},"1215":{"position":[[0,5],[167,5]]},"1217":{"position":[[7768,5]]},"1222":{"position":[[2878,5]]},"1223":{"position":[[2888,5]]},"1226":{"position":[[8236,5]]},"1228":{"position":[[9849,5]]},"1235":{"position":[[5717,5]]},"1237":{"position":[[8406,5]]}},"keywords":{}}],["buckev",{"_index":5789,"title":{},"content":{"1126":{"position":[[34,11],[116,9]]}},"keywords":{}}],["buckfil",{"_index":5468,"title":{},"content":{"1064":{"position":[[955,8]]}},"keywords":{}}],["buckifi",{"_index":430,"title":{},"content":{"13":{"position":[[386,7],[467,7]]}},"keywords":{}}],["buckproject",{"_index":3533,"title":{},"content":{"693":{"position":[[2488,12]]}},"keywords":{}}],["buckvers",{"_index":5943,"title":{},"content":{"1142":{"position":[[529,11]]}},"keywords":{}}],["buck—in",{"_index":8594,"title":{},"content":{"1486":{"position":[[4587,7]]}},"keywords":{}}],["bug",{"_index":4065,"title":{},"content":{"870":{"position":[[1150,4]]},"1232":{"position":[[3346,3]]}},"keywords":{}}],["bug.it",{"_index":5752,"title":{},"content":{"1114":{"position":[[226,6],[337,6]]}},"keywords":{}}],["build",{"_index":41,"title":{"622":{"position":[[0,5]]},"674":{"position":[[0,5]]},"677":{"position":[[0,5]]},"678":{"position":[[22,5]]},"679":{"position":[[26,5]]},"699":{"position":[[0,5]]},"717":{"position":[[10,5]]},"725":{"position":[[10,5]]},"844":{"position":[[0,6]]},"855":{"position":[[0,8]]},"873":{"position":[[0,5]]},"908":{"position":[[4,5]]},"948":{"position":[[16,5]]},"950":{"position":[[13,8]]},"1111":{"position":[[0,5]]},"1137":{"position":[[0,5]]},"1138":{"position":[[5,6]]},"1244":{"position":[[11,5]]},"1248":{"position":[[16,5]]}},"content":{"4":{"position":[[121,8],[602,5]]},"5":{"position":[[148,5]]},"6":{"position":[[13,6],[247,8]]},"7":{"position":[[18,5],[150,5]]},"9":{"position":[[12,5],[402,5],[617,5],[720,5],[874,5],[1267,6],[1453,6],[2564,5]]},"11":{"position":[[713,5]]},"13":{"position":[[475,5],[505,5]]},"15":{"position":[[301,5],[808,5]]},"17":{"position":[[24,8],[467,9],[689,5],[773,5],[1114,6],[1316,5],[1353,5],[1439,5]]},"18":{"position":[[740,5],[1679,5],[1699,5],[1737,5]]},"20":{"position":[[426,5],[560,5]]},"22":{"position":[[334,5],[375,5],[461,5],[726,5],[964,5],[1134,5],[1385,5],[1576,6]]},"23":{"position":[[1568,5],[3242,7],[3440,6]]},"24":{"position":[[401,6],[972,5],[1059,6]]},"41":{"position":[[760,5]]},"85":{"position":[[427,5]]},"92":{"position":[[530,6],[2267,6],[2552,6]]},"94":{"position":[[1750,5]]},"174":{"position":[[760,5]]},"217":{"position":[[427,5]]},"224":{"position":[[530,6],[2267,6],[2552,6]]},"226":{"position":[[1750,5]]},"297":{"position":[[460,5],[615,7]]},"327":{"position":[[305,5]]},"362":{"position":[[1571,5]]},"368":{"position":[[2086,6],[2155,5],[2176,6],[2326,5],[2648,5],[2876,5]]},"373":{"position":[[216,6]]},"416":{"position":[[154,6]]},"444":{"position":[[120,5]]},"445":{"position":[[151,5]]},"468":{"position":[[186,5]]},"570":{"position":[[22,5],[158,5],[352,5],[453,5],[586,5],[673,5]]},"572":{"position":[[273,5]]},"586":{"position":[[37,5],[180,5]]},"587":{"position":[[57,6]]},"622":{"position":[[0,5],[13,5],[152,5],[293,5],[418,5],[644,5],[1033,5],[1065,5],[1112,5],[1140,5],[1393,5],[1822,5]]},"675":{"position":[[68,5],[121,5],[202,5],[234,5],[255,5],[339,5],[356,5],[400,5],[526,5],[670,5],[844,5],[1041,5],[1089,5],[1164,5],[1210,5]]},"676":{"position":[[49,5],[303,5],[360,5],[415,5]]},"678":{"position":[[42,5],[70,5],[190,5],[315,5]]},"679":{"position":[[5,5],[522,8]]},"680":{"position":[[1232,5]]},"681":{"position":[[2,5],[45,5],[131,5],[182,5],[268,5]]},"682":{"position":[[87,5],[139,6]]},"683":{"position":[[15,5],[58,5],[74,5],[141,5],[177,5]]},"684":{"position":[[0,5],[137,5]]},"685":{"position":[[47,5],[190,5]]},"686":{"position":[[17,5]]},"687":{"position":[[58,5]]},"688":{"position":[[115,5],[321,6],[495,5],[646,5],[694,5],[957,5],[1044,5],[1326,5],[1454,6]]},"690":{"position":[[62,8],[93,6],[3147,8]]},"693":{"position":[[907,5],[940,5],[1445,6],[1492,5],[1686,5],[2135,7],[2207,5],[2394,5],[3234,5],[3609,8],[3850,5],[4160,7],[5014,5],[5356,5],[6849,6],[7819,5],[7877,5],[8322,5],[8446,5],[9085,5],[9519,5]]},"695":{"position":[[6,5],[133,5],[232,5],[369,8],[394,5],[538,5],[798,5]]},"696":{"position":[[21,5]]},"699":{"position":[[0,5],[65,5],[174,5]]},"700":{"position":[[48,5]]},"702":{"position":[[110,5]]},"703":{"position":[[71,9]]},"704":{"position":[[26,8],[280,8],[1438,5],[1484,8],[1540,5]]},"705":{"position":[[377,5],[508,5],[949,5]]},"706":{"position":[[38,5],[881,5],[1002,6],[1100,5],[1211,5],[1553,5],[1662,6],[1754,6],[1893,6],[1968,6]]},"708":{"position":[[65,5],[460,5],[862,5]]},"715":{"position":[[11,5],[148,5],[252,5],[1969,5]]},"717":{"position":[[0,5],[132,5],[216,5],[268,5],[433,5]]},"718":{"position":[[25,5],[162,5],[632,5]]},"724":{"position":[[237,6]]},"725":{"position":[[19,5]]},"741":{"position":[[1571,5]]},"747":{"position":[[2086,6],[2155,5],[2176,6],[2326,5],[2648,5],[2876,5]]},"752":{"position":[[216,6]]},"795":{"position":[[154,6]]},"823":{"position":[[120,5]]},"824":{"position":[[151,5]]},"832":{"position":[[293,6],[371,5],[477,6]]},"837":{"position":[[128,7]]},"839":{"position":[[134,5]]},"840":{"position":[[1338,7],[1393,5],[1514,5]]},"844":{"position":[[8,5],[248,6]]},"846":{"position":[[1966,5]]},"848":{"position":[[495,8]]},"855":{"position":[[72,5],[132,6]]},"861":{"position":[[82,5],[685,5]]},"869":{"position":[[175,6]]},"870":{"position":[[93,5],[901,5],[1036,5]]},"872":{"position":[[924,5]]},"873":{"position":[[100,5],[343,8]]},"874":{"position":[[136,5]]},"876":{"position":[[181,5]]},"881":{"position":[[37,5]]},"894":{"position":[[279,5],[290,8],[362,5]]},"896":{"position":[[27,5],[893,5]]},"897":{"position":[[240,5]]},"908":{"position":[[14,6]]},"912":{"position":[[137,5]]},"919":{"position":[[766,5],[1826,5]]},"921":{"position":[[88,5]]},"923":{"position":[[25,5]]},"927":{"position":[[244,6]]},"937":{"position":[[47,5],[1156,5],[1279,6],[1329,6],[1409,5],[1541,5],[1772,5],[2461,5],[2687,5],[2820,6],[2980,6],[3178,5],[3331,7],[3421,5],[3643,5],[3711,8],[3807,5],[4013,5],[4188,8],[4333,8],[4347,8],[4449,5],[4577,8],[4586,5],[4614,5],[4674,5]]},"938":{"position":[[184,5],[891,8]]},"942":{"position":[[53,5],[132,5],[220,5],[361,5],[542,5],[577,5],[711,5],[874,5],[941,5],[1070,5],[1148,5],[1451,5],[1505,5]]},"944":{"position":[[809,5],[1199,5],[1229,5],[1269,5],[1375,8]]},"947":{"position":[[338,5]]},"950":{"position":[[20,5],[217,5],[375,5]]},"951":{"position":[[1185,5]]},"954":{"position":[[399,5]]},"956":{"position":[[126,6]]},"964":{"position":[[281,5]]},"965":{"position":[[155,6],[233,5]]},"968":{"position":[[14,5],[107,5]]},"969":{"position":[[230,5],[352,5]]},"988":{"position":[[141,5]]},"991":{"position":[[2962,5],[3059,5],[3112,8]]},"995":{"position":[[454,5],[854,6],[911,5]]},"997":{"position":[[147,8]]},"1004":{"position":[[899,5],[940,7]]},"1011":{"position":[[464,5]]},"1017":{"position":[[933,5]]},"1018":{"position":[[35,5]]},"1021":{"position":[[5,5],[90,5],[108,5],[333,8],[471,5],[768,5]]},"1022":{"position":[[77,5],[367,5]]},"1023":{"position":[[162,5]]},"1025":{"position":[[58,5],[200,6]]},"1033":{"position":[[147,5]]},"1035":{"position":[[255,5],[411,5]]},"1040":{"position":[[601,9]]},"1049":{"position":[[600,5]]},"1050":{"position":[[4555,6]]},"1058":{"position":[[1050,6]]},"1067":{"position":[[118,6],[210,5],[703,8]]},"1070":{"position":[[442,5]]},"1075":{"position":[[362,6],[490,7]]},"1078":{"position":[[19,7],[109,6]]},"1079":{"position":[[291,5],[320,8],[1069,5]]},"1098":{"position":[[483,8]]},"1102":{"position":[[824,5]]},"1103":{"position":[[602,5],[1132,5],[1181,5],[1288,5],[2061,6]]},"1104":{"position":[[489,5],[706,5]]},"1106":{"position":[[78,5],[126,6]]},"1112":{"position":[[283,6],[495,5],[592,5],[807,5],[929,8],[1065,8],[1914,5]]},"1113":{"position":[[18,5],[318,5],[478,5]]},"1114":{"position":[[4,5]]},"1121":{"position":[[68,5],[105,5]]},"1129":{"position":[[10,5],[198,5],[267,5]]},"1130":{"position":[[95,5],[168,5]]},"1134":{"position":[[21,5],[252,5]]},"1136":{"position":[[111,6],[491,8],[3060,5],[5783,5]]},"1138":{"position":[[0,5],[49,5],[130,5],[818,5],[837,5],[905,5],[952,5],[967,5],[1039,5],[1094,5],[1110,5],[1172,5],[1456,5],[1490,5],[1506,5],[1537,5],[1563,5],[1609,5],[1889,5],[1963,5],[3759,6],[4213,6],[4306,6],[4407,5],[4433,5],[4723,6],[4905,5],[5136,8],[5264,8],[6722,5],[9445,5]]},"1140":{"position":[[945,5],[979,5],[995,5],[1026,5],[1052,5],[1098,5],[1378,5],[1452,5],[3248,6],[3702,6],[3795,6],[3896,5],[3922,5],[4212,6],[4394,5],[4625,8],[4753,8],[5648,5],[8371,5]]},"1142":{"position":[[1092,5],[3815,5]]},"1146":{"position":[[1032,5],[3755,5]]},"1148":{"position":[[160,8],[4072,5],[6795,5]]},"1150":{"position":[[312,6]]},"1155":{"position":[[1128,5],[3851,5]]},"1156":{"position":[[706,5],[3429,5]]},"1163":{"position":[[389,5]]},"1165":{"position":[[218,5]]},"1167":{"position":[[0,5],[146,5],[1949,5],[1983,5],[1999,5],[2030,5],[2056,5],[2102,5],[2382,5],[2456,5],[4252,6],[4706,6],[4799,6],[4900,5],[4926,5],[5216,6],[5398,5],[5629,8],[5757,8],[6652,5],[9375,5]]},"1169":{"position":[[491,5],[2483,5]]},"1171":{"position":[[655,5],[835,5]]},"1172":{"position":[[204,5],[1889,5]]},"1180":{"position":[[38,6]]},"1183":{"position":[[40,5]]},"1186":{"position":[[2296,5],[5019,5]]},"1187":{"position":[[2309,5],[5032,5]]},"1188":{"position":[[998,5],[1032,5],[1048,5],[1079,5],[1105,5],[1151,5],[1431,5],[1505,5],[3301,6],[3755,6],[3848,6],[3949,5],[3975,5],[4265,6],[4447,5],[4678,8],[4806,8],[7035,5],[9758,5]]},"1190":{"position":[[502,5]]},"1191":{"position":[[896,5],[3619,5]]},"1192":{"position":[[1071,5],[3794,5]]},"1193":{"position":[[1123,5],[3846,5]]},"1194":{"position":[[763,5],[3486,5]]},"1195":{"position":[[5,5],[142,5],[741,5],[3464,5]]},"1196":{"position":[[551,5],[3274,5]]},"1197":{"position":[[1534,5],[4257,5]]},"1198":{"position":[[1544,5],[4267,5]]},"1199":{"position":[[1572,5],[4295,5]]},"1200":{"position":[[1439,5],[4162,5]]},"1201":{"position":[[699,5],[3422,5]]},"1202":{"position":[[1841,5],[4564,5],[6238,5],[8961,5]]},"1203":{"position":[[933,5],[3656,5]]},"1204":{"position":[[777,5],[3500,5]]},"1205":{"position":[[372,5],[2106,5],[4829,5]]},"1206":{"position":[[577,5],[3300,5],[3682,5]]},"1207":{"position":[[734,5],[3457,5]]},"1209":{"position":[[2082,5],[4805,5]]},"1217":{"position":[[0,5],[39,5],[67,5],[267,5],[690,5],[724,5],[740,5],[771,5],[797,5],[843,5],[1123,5],[1197,5],[2993,6],[3447,6],[3540,6],[3641,5],[3667,5],[3957,6],[4139,5],[4370,8],[4498,8],[5393,5],[8116,5]]},"1219":{"position":[[1379,5],[3371,5]]},"1222":{"position":[[503,5],[3226,5]]},"1223":{"position":[[513,5],[3236,5]]},"1224":{"position":[[693,5],[2685,5]]},"1226":{"position":[[316,5],[4159,5],[5861,5],[8584,5]]},"1228":{"position":[[0,5],[913,5],[939,5],[2771,5],[2805,5],[2821,5],[2852,5],[2878,5],[2924,5],[3204,5],[3278,5],[5074,6],[5528,6],[5621,6],[5722,5],[5748,5],[6038,6],[6220,5],[6451,8],[6579,8],[7474,5],[10197,5]]},"1235":{"position":[[130,5],[3342,5],[6065,5]]},"1237":{"position":[[486,5],[4329,5],[6031,5],[8754,5]]},"1240":{"position":[[54,5],[265,5]]},"1243":{"position":[[831,5],[860,6],[932,5],[1015,6],[1160,5]]},"1244":{"position":[[8,5],[374,6]]},"1245":{"position":[[21,5],[356,8],[533,5]]},"1247":{"position":[[556,5]]},"1248":{"position":[[43,5],[94,5]]},"1249":{"position":[[113,5]]},"1250":{"position":[[57,5]]},"1252":{"position":[[77,5]]},"1256":{"position":[[80,5]]},"1258":{"position":[[205,5]]},"1259":{"position":[[330,5]]},"1262":{"position":[[115,5],[261,5],[746,5],[829,5]]},"1278":{"position":[[222,6],[284,6]]},"1279":{"position":[[146,6],[208,6]]},"1289":{"position":[[205,5]]},"1290":{"position":[[330,5]]},"1293":{"position":[[115,5],[261,5],[746,5],[829,5]]},"1309":{"position":[[222,6],[284,6]]},"1310":{"position":[[146,6],[208,6]]},"1317":{"position":[[205,5]]},"1318":{"position":[[330,5]]},"1321":{"position":[[115,5],[261,5],[746,5],[829,5]]},"1337":{"position":[[222,6],[284,6]]},"1338":{"position":[[146,6],[208,6]]},"1346":{"position":[[11,5]]},"1348":{"position":[[3837,5],[4109,5]]},"1351":{"position":[[1002,5],[5103,5],[5165,5],[5318,5]]},"1353":{"position":[[3238,8]]},"1355":{"position":[[6091,5],[7104,5]]},"1356":{"position":[[1818,5]]},"1358":{"position":[[2047,5]]},"1360":{"position":[[4431,5],[5874,8]]},"1362":{"position":[[4736,6],[8018,5],[8286,5],[10674,5]]},"1363":{"position":[[4335,5],[5584,5],[6010,8]]},"1364":{"position":[[8867,5],[9135,5],[11641,5]]},"1366":{"position":[[2533,5]]},"1367":{"position":[[8106,5],[8374,5],[13460,5],[13513,6]]},"1370":{"position":[[674,6],[1638,5],[2974,8]]},"1373":{"position":[[2760,6],[5191,5],[8361,6],[8608,6]]},"1374":{"position":[[703,5],[2062,5],[2210,5],[2446,5]]},"1381":{"position":[[679,6]]},"1382":{"position":[[3005,6],[4875,5],[7272,8],[7543,5],[11629,6],[11929,5],[11959,5],[11976,5],[12022,5]]},"1383":{"position":[[1260,5],[2812,5],[3594,5],[3938,5],[4226,5],[4526,5],[4853,6],[5329,5],[5464,5],[5551,5],[5637,5],[5760,6],[6464,5],[8808,6],[8870,5],[8987,5]]},"1384":{"position":[[10246,5],[13607,5],[19836,8],[19907,6],[20129,6],[20216,5],[20307,5],[20433,6],[20572,5],[20669,6],[20817,5],[21013,5],[21088,5],[21129,5]]},"1385":{"position":[[7207,6],[7646,5]]},"1386":{"position":[[678,5],[2273,5],[2353,5],[2610,5],[2700,8],[2781,8],[4112,5],[4361,6],[4394,5],[4853,6],[5456,5],[5556,5],[5803,6],[5945,5],[6042,7]]},"1387":{"position":[[6536,5],[6667,5],[10580,6],[10977,5]]},"1388":{"position":[[3470,6],[4915,5],[5038,6],[5569,5],[6325,5],[6448,6],[8141,8],[8412,5],[10345,6]]},"1390":{"position":[[584,6],[1977,6]]},"1392":{"position":[[2469,6]]},"1393":{"position":[[3999,6],[5242,5],[8987,8],[9150,5],[9460,7],[9481,5]]},"1395":{"position":[[695,6]]},"1397":{"position":[[687,6]]},"1398":{"position":[[6237,5]]},"1399":{"position":[[1681,5]]},"1403":{"position":[[3846,5],[8362,5],[8401,5],[8454,5]]},"1405":{"position":[[1101,6],[2962,5],[3843,5]]},"1407":{"position":[[1138,6],[2278,5],[3383,5],[4462,5]]},"1408":{"position":[[912,6]]},"1410":{"position":[[1555,6],[3964,5],[5254,5]]},"1416":{"position":[[1376,5],[2570,8],[2839,5]]},"1421":{"position":[[2253,8],[2339,8]]},"1422":{"position":[[927,5],[2590,7]]},"1423":{"position":[[917,5]]},"1427":{"position":[[4896,6],[5264,5],[6303,5],[7909,6]]},"1429":{"position":[[3508,6],[3612,5],[6176,5]]},"1439":{"position":[[6738,5],[7395,6],[8733,6]]},"1442":{"position":[[516,6],[1865,5],[3002,6]]},"1446":{"position":[[694,5],[1606,5],[1623,5],[1693,6],[1816,5],[1905,5],[2396,6],[2705,5]]},"1448":{"position":[[950,6]]},"1449":{"position":[[893,6]]},"1454":{"position":[[9506,8],[9553,8],[10093,6]]},"1458":{"position":[[2206,6]]},"1461":{"position":[[2553,5]]},"1462":{"position":[[4274,5],[6040,5],[6190,8],[8232,5],[8892,5]]},"1465":{"position":[[3012,5]]},"1467":{"position":[[6678,5],[6801,6],[7152,5],[7303,8],[9294,5]]},"1468":{"position":[[1430,5]]},"1469":{"position":[[817,6]]},"1471":{"position":[[1667,6],[3806,5],[5351,5]]},"1472":{"position":[[1629,6],[3277,5],[4390,5],[6237,5]]},"1473":{"position":[[1912,6],[4127,5]]},"1477":{"position":[[1838,5],[1856,5],[1949,5],[3212,5]]},"1478":{"position":[[2544,5],[2562,5],[3454,9]]},"1486":{"position":[[774,5],[2074,5],[3136,5],[3615,5],[4178,8],[4931,5],[5180,6]]},"1487":{"position":[[652,6],[2049,5],[2159,6]]}},"keywords":{}}],["build>",{"_index":5886,"title":{},"content":{"1136":{"position":[[3014,9]]},"1138":{"position":[[6676,9]]},"1140":{"position":[[5602,9]]},"1142":{"position":[[1046,9]]},"1146":{"position":[[986,9]]},"1148":{"position":[[4026,9]]},"1155":{"position":[[1082,9]]},"1156":{"position":[[660,9]]},"1167":{"position":[[6606,9]]},"1169":{"position":[[445,9]]},"1186":{"position":[[2250,9]]},"1187":{"position":[[2263,9]]},"1188":{"position":[[6989,9]]},"1191":{"position":[[850,9]]},"1192":{"position":[[1025,9]]},"1193":{"position":[[1077,9]]},"1194":{"position":[[717,9]]},"1195":{"position":[[695,9]]},"1196":{"position":[[505,9]]},"1197":{"position":[[1488,9]]},"1198":{"position":[[1498,9]]},"1199":{"position":[[1526,9]]},"1200":{"position":[[1393,9]]},"1201":{"position":[[653,9]]},"1202":{"position":[[1795,9],[6192,9]]},"1203":{"position":[[887,9]]},"1204":{"position":[[731,9]]},"1205":{"position":[[2060,9]]},"1206":{"position":[[531,9]]},"1207":{"position":[[688,9]]},"1209":{"position":[[2036,9]]},"1217":{"position":[[5347,9]]},"1219":{"position":[[1333,9]]},"1222":{"position":[[457,9]]},"1223":{"position":[[467,9]]},"1224":{"position":[[647,9]]},"1226":{"position":[[5815,9]]},"1228":{"position":[[7428,9]]},"1235":{"position":[[3296,9]]},"1237":{"position":[[5985,9]]}},"keywords":{}}],["build)metadata_env_var",{"_index":1202,"title":{},"content":{"94":{"position":[[1993,22]]},"226":{"position":[[1993,22]]}},"keywords":{}}],["build,buck",{"_index":8109,"title":{},"content":{"1446":{"position":[[2658,10]]}},"keywords":{}}],["build.max_work",{"_index":8560,"title":{},"content":{"1486":{"position":[[2190,18]]}},"keywords":{}}],["build/targets/run/test",{"_index":4825,"title":{},"content":{"970":{"position":[[61,22]]}},"keywords":{}}],["build_arg",{"_index":8293,"title":{},"content":{"1462":{"position":[[773,11]]},"1467":{"position":[[840,11]]}},"keywords":{}}],["build_config",{"_index":6482,"title":{},"content":{"1351":{"position":[[3832,13],[3882,15],[4134,13],[4287,16]]}},"keywords":{}}],["build_config_release_valu",{"_index":6493,"title":{},"content":{"1351":{"position":[[4658,28],[4911,28],[5024,28],[5367,30],[5754,31]]}},"keywords":{}}],["build_config_release_values.txt",{"_index":6498,"title":{},"content":{"1351":{"position":[[5523,34]]}},"keywords":{}}],["build_config_valu",{"_index":6340,"title":{},"content":{"1348":{"position":[[806,20],[3766,19]]},"1350":{"position":[[1170,20]]},"1351":{"position":[[2417,19],[2799,19]]},"1352":{"position":[[1170,20]]}},"keywords":{}}],["build_config_values_fil",{"_index":6341,"title":{},"content":{"1348":{"position":[[842,25]]},"1350":{"position":[[1206,25]]},"1351":{"position":[[2440,24],[2822,24],[2922,24],[5727,24]]},"1352":{"position":[[1206,25]]}},"keywords":{}}],["build_edoc_chunk",{"_index":7442,"title":{},"content":{"1393":{"position":[[430,18],[3935,18]]}},"keywords":{}}],["build_fil",{"_index":6018,"title":{},"content":{"1195":{"position":[[97,16],[125,16]]}},"keywords":{}}],["build_mod",{"_index":7747,"title":{},"content":{"1407":{"position":[[537,11],[4669,10]]}},"keywords":{}}],["build_mode.bzl",{"_index":4986,"title":{},"content":{"998":{"position":[[246,14]]}},"keywords":{}}],["build_string_source_map",{"_index":6424,"title":{},"content":{"1350":{"position":[[1248,24]]},"1352":{"position":[[1248,24]]}},"keywords":{}}],["build_vers",{"_index":6982,"title":{},"content":{"1368":{"position":[[473,14]]}},"keywords":{}}],["buildabl",{"_index":3591,"title":{},"content":{"693":{"position":[[8425,9]]}},"keywords":{}}],["buildconfig",{"_index":6392,"title":{},"content":{"1348":{"position":[[3687,11],[3898,11],[4019,11]]},"1351":{"position":[[742,11],[892,11],[3022,11],[3102,11],[3507,11]]}},"keywords":{}}],["buildconfig.commit_id",{"_index":6486,"title":{},"content":{"1351":{"position":[[4190,22]]}},"keywords":{}}],["buildconfig.debug",{"_index":6479,"title":{},"content":{"1351":{"position":[[3267,17]]}},"keywords":{}}],["buildconfig.java",{"_index":6471,"title":{},"content":{"1351":{"position":[[951,16],[1945,16],[2226,16],[2608,16]]}},"keywords":{}}],["builder",{"_index":6889,"title":{},"content":{"1363":{"position":[[4846,7]]}},"keywords":{}}],["builderror",{"_index":5753,"title":{},"content":{"1114":{"position":[[397,11]]}},"keywords":{}}],["buildfil",{"_index":1529,"title":{"1134":{"position":[[18,9]]}},"content":{"278":{"position":[[64,9]]},"414":{"position":[[69,10]]},"425":{"position":[[67,10]]},"460":{"position":[[66,9]]},"477":{"position":[[131,11],[175,11]]},"622":{"position":[[170,9]]},"793":{"position":[[69,10]]},"804":{"position":[[67,10]]},"919":{"position":[[390,10]]},"1134":{"position":[[94,10]]},"1258":{"position":[[710,11]]},"1289":{"position":[[710,11]]},"1317":{"position":[[710,11]]}},"keywords":{}}],["buildfile(target",{"_index":6240,"title":{"1265":{"position":[[0,18]]},"1296":{"position":[[0,18]]},"1324":{"position":[[0,18]]}},"content":{"1259":{"position":[[555,18]]},"1290":{"position":[[555,18]]},"1318":{"position":[[555,18]]}},"keywords":{}}],["buildmod",{"_index":7748,"title":{},"content":{"1407":{"position":[[1234,9],[2305,11]]}},"keywords":{}}],["buildreport",{"_index":5711,"title":{},"content":{"1112":{"position":[[0,11],[2765,13]]}},"keywords":{}}],["buildreportentri",{"_index":5715,"title":{},"content":{"1112":{"position":[[352,18],[893,16]]}},"keywords":{}}],["buildrespons",{"_index":5786,"title":{},"content":{"1125":{"position":[[131,13]]}},"keywords":{}}],["buildresult",{"_index":2108,"title":{},"content":{"402":{"position":[[118,11]]},"781":{"position":[[118,11]]}},"keywords":{}}],["builds.url",{"_index":7929,"title":{},"content":{"1423":{"position":[[2259,12]]}},"keywords":{}}],["builds/test",{"_index":43,"title":{},"content":{"4":{"position":[[145,12]]}},"keywords":{}}],["built",{"_index":489,"title":{"682":{"position":[[33,5]]}},"content":{"17":{"position":[[160,6],[1255,5]]},"92":{"position":[[699,5]]},"224":{"position":[[699,5]]},"245":{"position":[[139,6]]},"246":{"position":[[138,6]]},"298":{"position":[[1021,5],[1070,5],[1184,6]]},"368":{"position":[[2312,6],[2970,5],[3387,5]]},"572":{"position":[[169,5]]},"675":{"position":[[1290,5]]},"678":{"position":[[33,5]]},"682":{"position":[[107,5],[289,5]]},"685":{"position":[[38,5]]},"688":{"position":[[1116,5]]},"690":{"position":[[2941,5],[2971,5]]},"693":{"position":[[7557,6],[9277,5]]},"695":{"position":[[452,5],[494,5],[725,5]]},"704":{"position":[[1476,7]]},"706":{"position":[[2045,5]]},"722":{"position":[[984,5]]},"747":{"position":[[2312,6],[2970,5],[3387,5]]},"900":{"position":[[2058,5]]},"912":{"position":[[93,5]]},"927":{"position":[[180,6]]},"937":{"position":[[29,5]]},"938":{"position":[[605,5]]},"950":{"position":[[1112,5]]},"1004":{"position":[[64,5]]},"1011":{"position":[[102,6]]},"1014":{"position":[[132,5]]},"1023":{"position":[[95,5]]},"1025":{"position":[[231,5]]},"1026":{"position":[[240,5]]},"1035":{"position":[[494,6]]},"1040":{"position":[[219,5]]},"1067":{"position":[[691,6]]},"1102":{"position":[[4,5]]},"1103":{"position":[[2030,5]]},"1104":{"position":[[453,5]]},"1112":{"position":[[168,5],[2016,5],[2052,5],[2225,5]]},"1138":{"position":[[1255,5],[2190,6]]},"1140":{"position":[[1679,6]]},"1155":{"position":[[679,5]]},"1167":{"position":[[2683,6]]},"1188":{"position":[[1732,6]]},"1217":{"position":[[1424,6]]},"1228":{"position":[[3505,6]]},"1240":{"position":[[134,5]]},"1351":{"position":[[4985,5]]},"1361":{"position":[[757,5]]},"1362":{"position":[[5073,5]]},"1364":{"position":[[5100,5]]},"1366":{"position":[[1035,5]]},"1367":{"position":[[6668,5]]},"1370":{"position":[[1688,5]]},"1380":{"position":[[652,5]]},"1381":{"position":[[2220,5]]},"1382":{"position":[[3237,5]]},"1383":{"position":[[8345,5]]},"1384":{"position":[[4410,6],[19415,5],[21188,6]]},"1385":{"position":[[1905,5]]},"1386":{"position":[[2323,5],[4213,6],[4941,5]]},"1387":{"position":[[4253,5]]},"1393":{"position":[[7206,5]]},"1397":{"position":[[2108,5]]},"1398":{"position":[[4149,5]]},"1402":{"position":[[1735,5]]},"1415":{"position":[[5392,5]]},"1416":{"position":[[3474,5]]},"1420":{"position":[[2611,5]]},"1429":{"position":[[5089,6],[5156,5]]},"1440":{"position":[[5083,6],[5150,5]]},"1454":{"position":[[9428,5]]},"1458":{"position":[[1036,5],[2074,5],[2114,5],[2172,6]]},"1486":{"position":[[2834,5]]}},"keywords":{}}],["builtin",{"_index":615,"title":{"1156":{"position":[[19,9]]}},"content":{"20":{"position":[[339,7]]},"125":{"position":[[83,7]]},"248":{"position":[[83,7]]},"688":{"position":[[78,7]]},"914":{"position":[[24,7]]},"917":{"position":[[4,7]]},"926":{"position":[[77,7]]},"1154":{"position":[[174,8],[219,8]]},"1155":{"position":[[648,8]]},"1156":{"position":[[36,9],[173,8]]},"1383":{"position":[[4479,7]]},"1388":{"position":[[4809,7],[6219,7]]},"1461":{"position":[[2789,7]]},"1467":{"position":[[6572,7]]}},"keywords":{}}],["bulid",{"_index":130,"title":{},"content":{"6":{"position":[[305,6]]}},"keywords":{}}],["bump",{"_index":347,"title":{},"content":{"10":{"position":[[988,4]]},"1050":{"position":[[2014,6]]}},"keywords":{}}],["bunch",{"_index":365,"title":{},"content":{"11":{"position":[[325,5]]},"1253":{"position":[[177,5]]}},"keywords":{}}],["bundl",{"_index":4975,"title":{"1095":{"position":[[4,7]]}},"content":{"995":{"position":[[970,7]]},"1004":{"position":[[915,6]]},"1050":{"position":[[290,8]]},"1093":{"position":[[688,7],[705,7]]},"1094":{"position":[[52,7]]},"1095":{"position":[[4,7],[112,7]]},"1345":{"position":[[331,7],[391,6]]},"1359":{"position":[[904,6]]},"1360":{"position":[[4534,7]]},"1361":{"position":[[896,6],[963,6]]},"1363":{"position":[[2961,6],[3024,6],[4325,6],[4417,6],[4678,7],[4723,6],[4770,7],[4940,7],[5473,7],[5521,6],[5726,7],[5792,6],[6455,6],[6869,6]]},"1365":{"position":[[429,7],[1899,6]]},"1366":{"position":[[944,7],[970,7],[2039,6],[2332,7],[2663,8],[2912,7],[3009,7]]},"1367":{"position":[[9856,7],[13535,7]]},"1380":{"position":[[786,6],[853,6]]},"1383":{"position":[[6566,7]]},"1395":{"position":[[380,8],[711,7],[1656,8],[1673,7],[1950,7]]},"1403":{"position":[[3949,7]]},"1459":{"position":[[623,6]]}},"keywords":{}}],["bundle'",{"_index":6898,"title":{},"content":{"1363":{"position":[[5932,8]]}},"keywords":{}}],["bundle_config_fil",{"_index":6501,"title":{},"content":{"1352":{"position":[[1283,19]]}},"keywords":{}}],["bundle_nam",{"_index":8007,"title":{},"content":{"1431":{"position":[[459,12]]},"1432":{"position":[[546,12]]}},"keywords":{}}],["bundle_name_for_flavor",{"_index":8008,"title":{},"content":{"1431":{"position":[[488,23]]},"1432":{"position":[[575,23]]}},"keywords":{}}],["bundle_typ",{"_index":6848,"title":{},"content":{"1363":{"position":[[1426,12]]}},"keywords":{}}],["busi",{"_index":6091,"title":{"1230":{"position":[[15,6]]}},"content":{"1231":{"position":[[17,4]]}},"keywords":{}}],["butandroid_binari",{"_index":3581,"title":{},"content":{"693":{"position":[[7671,17]]}},"keywords":{}}],["bxl",{"_index":32,"title":{"402":{"position":[[0,4]]},"709":{"position":[[0,3]]},"781":{"position":[[0,4]]},"832":{"position":[[11,3]]},"836":{"position":[[31,3]]},"840":{"position":[[10,4]]},"841":{"position":[[10,4]]},"842":{"position":[[0,3]]},"843":{"position":[[7,3]]},"860":{"position":[[36,3]]},"862":{"position":[[0,3]]},"864":{"position":[[26,3]]},"868":{"position":[[4,3]]},"869":{"position":[[25,6]]},"870":{"position":[[18,3]]},"875":{"position":[[0,3]]},"903":{"position":[[19,3]]},"904":{"position":[[0,3]]},"905":{"position":[[30,3]]},"908":{"position":[[0,3]]},"922":{"position":[[0,3]]},"948":{"position":[[0,3]]},"952":{"position":[[24,5]]},"961":{"position":[[11,3]]},"966":{"position":[[6,3]]},"1139":{"position":[[0,3]]},"1140":{"position":[[5,4]]},"1188":{"position":[[13,4]]}},"content":{"4":{"position":[[19,3]]},"20":{"position":[[600,4]]},"73":{"position":[[120,4]]},"209":{"position":[[142,3]]},"242":{"position":[[326,3],[460,3]]},"298":{"position":[[625,3],[677,3],[1005,3],[3089,4]]},"300":{"position":[[191,3],[271,3],[389,3],[469,3]]},"303":{"position":[[118,3]]},"305":{"position":[[161,3],[282,3]]},"334":{"position":[[565,3]]},"344":{"position":[[165,3],[277,3]]},"346":{"position":[[167,3],[350,3]]},"347":{"position":[[265,3],[386,3]]},"402":{"position":[[0,4]]},"416":{"position":[[474,3],[552,3]]},"417":{"position":[[704,3],[782,3]]},"422":{"position":[[324,4]]},"474":{"position":[[304,3]]},"496":{"position":[[120,4]]},"693":{"position":[[1828,4],[1833,3],[2015,3]]},"710":{"position":[[35,4],[344,3]]},"711":{"position":[[923,4]]},"781":{"position":[[0,4]]},"795":{"position":[[474,3],[552,3]]},"796":{"position":[[704,3],[782,3]]},"801":{"position":[[324,4]]},"832":{"position":[[11,3],[219,3],[402,3],[594,4],[608,3],[721,3],[778,3],[813,3],[868,4]]},"833":{"position":[[156,3],[367,3]]},"834":{"position":[[294,4],[367,3],[456,3],[797,3]]},"835":{"position":[[136,3],[207,5],[308,3]]},"836":{"position":[[27,3]]},"837":{"position":[[55,3]]},"839":{"position":[[4,3],[109,3],[165,3]]},"840":{"position":[[12,4],[118,3],[144,4],[199,3],[736,3],[1386,3],[1422,3],[1482,3],[1785,3]]},"841":{"position":[[9,3],[55,3],[318,3],[362,3],[438,3]]},"844":{"position":[[29,3]]},"845":{"position":[[39,3]]},"846":{"position":[[203,3],[767,3],[1103,4],[1236,4]]},"847":{"position":[[43,3]]},"848":{"position":[[129,3],[517,5]]},"850":{"position":[[2,3],[577,3],[675,3],[770,3]]},"851":{"position":[[30,3]]},"855":{"position":[[106,3]]},"856":{"position":[[321,3],[378,3]]},"858":{"position":[[16,3]]},"860":{"position":[[18,3],[440,3],[527,3],[611,3]]},"861":{"position":[[159,3],[460,3]]},"864":{"position":[[3,4],[237,3],[621,3],[1566,3],[1592,3]]},"865":{"position":[[44,4],[66,3],[440,3],[680,3]]},"867":{"position":[[240,3],[1566,3]]},"869":{"position":[[0,3],[454,3],[545,3],[683,3],[776,3],[789,3]]},"870":{"position":[[32,3],[166,3],[252,3],[722,4],[749,3],[959,3],[984,3],[1357,3]]},"872":{"position":[[464,3],[807,3]]},"873":{"position":[[330,3],[437,3],[545,3]]},"874":{"position":[[73,3]]},"876":{"position":[[40,3],[282,3],[378,3]]},"877":{"position":[[395,4],[645,3],[687,3]]},"878":{"position":[[100,3],[768,3],[1019,3],[1151,4]]},"904":{"position":[[0,3],[69,3],[1337,4]]},"905":{"position":[[0,3],[132,3],[1307,3]]},"907":{"position":[[77,4]]},"908":{"position":[[10,3]]},"923":{"position":[[35,3]]},"924":{"position":[[301,3]]},"950":{"position":[[0,3],[206,3],[274,4],[436,3],[551,3],[604,3],[716,3],[853,3]]},"951":{"position":[[155,3],[716,3],[960,3],[1132,4],[1159,3],[1256,3],[1356,4]]},"954":{"position":[[147,4],[712,3],[855,3]]},"955":{"position":[[439,4],[819,3],[935,3]]},"956":{"position":[[176,4]]},"958":{"position":[[355,4]]},"959":{"position":[[26,3],[215,3],[282,3],[470,3]]},"961":{"position":[[69,4],[109,3],[191,5],[222,4],[374,3],[442,4],[608,4],[660,3],[709,3],[855,3]]},"962":{"position":[[48,4]]},"963":{"position":[[34,3]]},"964":{"position":[[88,3],[151,3],[263,3],[310,3],[324,3],[709,3],[735,3],[807,3]]},"965":{"position":[[32,3],[80,3],[259,3],[429,3],[539,3],[557,3]]},"966":{"position":[[10,3],[142,3]]},"1056":{"position":[[216,3]]},"1112":{"position":[[3745,3]]},"1140":{"position":[[4,3],[37,3],[133,3],[236,4],[280,3]]},"1185":{"position":[[152,3],[164,3]]},"1188":{"position":[[8,3],[48,3],[186,3],[289,4],[333,3]]},"1190":{"position":[[1182,4]]},"1205":{"position":[[69,4]]}},"keywords":{}}],["bxl'",{"_index":4113,"title":{},"content":{"878":{"position":[[1168,5]]},"904":{"position":[[810,5]]}},"keywords":{}}],["bxl)bxl",{"_index":4132,"title":{},"content":{"882":{"position":[[40,8]]}},"keywords":{}}],["bxl.action",{"_index":1442,"title":{"208":{"position":[[0,11]]}},"content":{"298":{"position":[[600,11]]}},"keywords":{}}],["bxl.actionquerynod",{"_index":1435,"title":{"203":{"position":[[0,19]]}},"content":{"846":{"position":[[967,20]]}},"keywords":{}}],["bxl.actionquerynode.act",{"_index":1436,"title":{"204":{"position":[[0,27]]}},"content":{"204":{"position":[[4,28]]}},"keywords":{}}],["bxl.actionquerynode.analysi",{"_index":1438,"title":{"205":{"position":[[0,29]]}},"content":{"205":{"position":[[4,30]]}},"keywords":{}}],["bxl.actionquerynode.attr",{"_index":1440,"title":{"206":{"position":[[0,26]]}},"content":{"206":{"position":[[0,26]]}},"keywords":{}}],["bxl.actionquerynode.rule_typ",{"_index":1441,"title":{"207":{"position":[[0,30]]}},"content":{"207":{"position":[[0,30]]}},"keywords":{}}],["bxl.actions.act",{"_index":1443,"title":{"209":{"position":[[0,20]]}},"content":{"209":{"position":[[0,20]]}},"keywords":{}}],["bxl.actions.exec_dep",{"_index":1445,"title":{"210":{"position":[[0,22]]}},"content":{"210":{"position":[[0,22]]}},"keywords":{}}],["bxl.actions.toolchain",{"_index":1448,"title":{"211":{"position":[[0,23]]}},"content":{"211":{"position":[[0,23]]}},"keywords":{}}],["bxl.analysisresult",{"_index":1439,"title":{"232":{"position":[[0,18]]}},"content":{"205":{"position":[[48,18]]},"294":{"position":[[420,18],[453,19]]}},"keywords":{}}],["bxl.analysisresult.as_depend",{"_index":1449,"title":{"233":{"position":[[0,33]]}},"content":{"233":{"position":[[4,34]]}},"keywords":{}}],["bxl.analysisresult.provid",{"_index":1455,"title":{"234":{"position":[[0,29]]}},"content":{"234":{"position":[[4,30]]}},"keywords":{}}],["bxl.analyze(bxl.cquery.deps("foo"",{"_index":4536,"title":{},"content":{"924":{"position":[[1013,45]]}},"keywords":{}}],["bxl.aquerycontext",{"_index":1460,"title":{"235":{"position":[[0,17]]}},"content":{"295":{"position":[[79,17]]}},"keywords":{}}],["bxl.aquerycontext.all_act",{"_index":1461,"title":{"236":{"position":[[0,30]]}},"content":{"236":{"position":[[4,30]]}},"keywords":{}}],["bxl.aquerycontext.all_output",{"_index":1468,"title":{"237":{"position":[[0,30]]}},"content":{"237":{"position":[[4,30]]}},"keywords":{}}],["bxl.aquerycontext.attrfilt",{"_index":1471,"title":{"238":{"position":[[0,29]]}},"content":{"238":{"position":[[4,29]]}},"keywords":{}}],["bxl.aquerycontext.dep",{"_index":1474,"title":{"239":{"position":[[0,23]]}},"content":{"239":{"position":[[4,23]]}},"keywords":{}}],["bxl.aquerycontext.ev",{"_index":1478,"title":{"240":{"position":[[0,23]]}},"content":{"240":{"position":[[4,23]]}},"keywords":{}}],["bxl.auditcontext",{"_index":1484,"title":{"241":{"position":[[0,16]]}},"content":{"296":{"position":[[30,16]]}},"keywords":{}}],["bxl.auditcontext.cel",{"_index":1485,"title":{"242":{"position":[[0,22]]}},"content":{"242":{"position":[[4,22]]}},"keywords":{}}],["bxl.auditcontext.output",{"_index":1492,"title":{"243":{"position":[[0,24]]}},"content":{"243":{"position":[[4,24]]}},"keywords":{}}],["bxl.buildresult",{"_index":1498,"title":{"244":{"position":[[0,15]]}},"content":{"297":{"position":[[435,16]]},"345":{"position":[[67,15],[351,16]]}},"keywords":{}}],["bxl.buildresult.artifact",{"_index":1499,"title":{"245":{"position":[[0,26]]}},"content":{"245":{"position":[[4,27]]}},"keywords":{}}],["bxl.buildresult.failur",{"_index":1505,"title":{"246":{"position":[[0,25]]}},"content":{"246":{"position":[[4,26]]}},"keywords":{}}],["bxl.cliarg",{"_index":2129,"title":{},"content":{"403":{"position":[[60,13]]},"782":{"position":[[60,13]]}},"keywords":{}}],["bxl.configuredtargetnod",{"_index":1462,"title":{"275":{"position":[[0,24]]}},"content":{"236":{"position":[[44,24],[252,24]]},"237":{"position":[[44,24],[252,24]]},"238":{"position":[[66,24],[274,24]]},"239":{"position":[[38,24],[246,24]]},"286":{"position":[[52,24]]},"294":{"position":[[34,24]]},"297":{"position":[[31,24]]},"301":{"position":[[44,24],[346,24]]},"309":{"position":[[41,24]]},"324":{"position":[[38,24],[279,24]]},"325":{"position":[[66,24]]},"326":{"position":[[76,24]]},"327":{"position":[[42,24]]},"328":{"position":[[38,24]]},"330":{"position":[[51,24]]},"331":{"position":[[39,24]]},"332":{"position":[[49,24]]},"333":{"position":[[67,24]]},"334":{"position":[[99,24]]},"335":{"position":[[39,24],[282,24]]},"336":{"position":[[38,24],[279,24]]},"337":{"position":[[40,24]]},"338":{"position":[[69,24]]}},"keywords":{}}],["bxl.configuredtargetnode.attrs_eag",{"_index":1508,"title":{"276":{"position":[[0,37]]}},"content":{"276":{"position":[[4,38]]}},"keywords":{}}],["bxl.configuredtargetnode.attrs_lazi",{"_index":1519,"title":{"277":{"position":[[0,36]]}},"content":{"277":{"position":[[4,37]]}},"keywords":{}}],["bxl.configuredtargetnode.buildfile_path",{"_index":1527,"title":{"278":{"position":[[0,40]]}},"content":{"278":{"position":[[0,40]]}},"keywords":{}}],["bxl.configuredtargetnode.get_sourc",{"_index":1534,"title":{"279":{"position":[[0,36]]}},"content":{"279":{"position":[[4,36]]}},"keywords":{}}],["bxl.configuredtargetnode.label",{"_index":1540,"title":{"280":{"position":[[0,31]]}},"content":{"280":{"position":[[0,31]]}},"keywords":{}}],["bxl.configuredtargetnode.resolved_attrs_eag",{"_index":1543,"title":{"281":{"position":[[0,46]]}},"content":{},"keywords":{}}],["bxl.configuredtargetnode.resolved_attrs_eager(ctx",{"_index":1544,"title":{},"content":{"281":{"position":[[4,50]]}},"keywords":{}}],["bxl.configuredtargetnode.resolved_attrs_lazi",{"_index":1549,"title":{"282":{"position":[[0,45]]}},"content":{"282":{"position":[[4,45]]}},"keywords":{}}],["bxl.configuredtargetnode.rule_kind",{"_index":1556,"title":{"283":{"position":[[0,35]]}},"content":{"283":{"position":[[0,35]]}},"keywords":{}}],["bxl.configuredtargetnode.rule_typ",{"_index":1562,"title":{"284":{"position":[[0,35]]}},"content":{"284":{"position":[[0,35]]}},"keywords":{}}],["bxl.configuredtargetnode.sourc",{"_index":1567,"title":{"285":{"position":[[0,33]]}},"content":{"285":{"position":[[4,34]]}},"keywords":{}}],["bxl.configuredtargetnode.unwrap_forward",{"_index":1570,"title":{"286":{"position":[[0,40]]}},"content":{"286":{"position":[[4,41]]}},"keywords":{}}],["bxl.configuredtargetnodesfor",{"_index":3889,"title":{},"content":{"846":{"position":[[926,28]]}},"keywords":{}}],["bxl.configuredtargetset",{"_index":3963,"title":{},"content":{"859":{"position":[[225,23]]}},"keywords":{}}],["bxl.context",{"_index":1535,"title":{"293":{"position":[[0,11]]}},"content":{"279":{"position":[[57,11]]},"281":{"position":[[55,12]]},"282":{"position":[[55,11]]},"416":{"position":[[59,12]]},"417":{"position":[[275,12]]},"795":{"position":[[59,12]]},"796":{"position":[[275,12]]},"839":{"position":[[67,12]]},"840":{"position":[[1233,13]]}},"keywords":{}}],["bxl.context.analysi",{"_index":1606,"title":{"294":{"position":[[0,21]]}},"content":{"294":{"position":[[4,21]]}},"keywords":{}}],["bxl.context.aqueri",{"_index":1616,"title":{"295":{"position":[[0,19]]}},"content":{"295":{"position":[[4,19]]}},"keywords":{}}],["bxl.context.audit",{"_index":1620,"title":{"296":{"position":[[0,18]]}},"content":{"296":{"position":[[4,19]]}},"keywords":{}}],["bxl.context.build",{"_index":1623,"title":{"297":{"position":[[0,18]]}},"content":{"297":{"position":[[4,18]]}},"keywords":{}}],["bxl.context.bxl_act",{"_index":1628,"title":{"298":{"position":[[0,24]]}},"content":{"298":{"position":[[4,24]]}},"keywords":{}}],["bxl.context.cell_root",{"_index":1660,"title":{"299":{"position":[[0,22]]}},"content":{"299":{"position":[[4,23]]}},"keywords":{}}],["bxl.context.cli_arg",{"_index":1661,"title":{"300":{"position":[[0,21]]}},"content":{"300":{"position":[[0,21]]}},"keywords":{}}],["bxl.context.configured_target",{"_index":1668,"title":{"301":{"position":[[0,31]]}},"content":{"301":{"position":[[4,31]]}},"keywords":{}}],["bxl.context.cqueri",{"_index":1674,"title":{"302":{"position":[[0,19]]}},"content":{"302":{"position":[[4,19]]}},"keywords":{}}],["bxl.context.f",{"_index":1678,"title":{"303":{"position":[[0,15]]}},"content":{"303":{"position":[[0,15]]}},"keywords":{}}],["bxl.context.instant_ev",{"_index":1681,"title":{"304":{"position":[[0,26]]}},"content":{"304":{"position":[[4,28]]}},"keywords":{}}],["bxl.context.output",{"_index":1684,"title":{"305":{"position":[[0,19]]}},"content":{"305":{"position":[[0,19]]}},"keywords":{}}],["bxl.context.resolv",{"_index":1691,"title":{"306":{"position":[[0,20]]}},"content":{},"keywords":{}}],["bxl.context.resolve(action_factori",{"_index":1692,"title":{},"content":{"306":{"position":[[4,35]]}},"keywords":{}}],["bxl.context.root",{"_index":1716,"title":{"307":{"position":[[0,17]]}},"content":{"307":{"position":[[4,18]]}},"keywords":{}}],["bxl.context.target_exist",{"_index":1717,"title":{"308":{"position":[[0,26]]}},"content":{},"keywords":{}}],["bxl.context.target_exists(label",{"_index":1718,"title":{},"content":{"308":{"position":[[4,32]]}},"keywords":{}}],["bxl.context.target_univers",{"_index":1720,"title":{"309":{"position":[[0,28]]}},"content":{"309":{"position":[[4,28]]}},"keywords":{}}],["bxl.context.unconfigured_sub_target",{"_index":1726,"title":{"310":{"position":[[0,37]]}},"content":{"310":{"position":[[4,37]]}},"keywords":{}}],["bxl.context.unconfigured_target",{"_index":1729,"title":{"311":{"position":[[0,33]]}},"content":{"311":{"position":[[4,33]]}},"keywords":{}}],["bxl.context.uqueri",{"_index":1731,"title":{"312":{"position":[[0,19]]}},"content":{"312":{"position":[[4,20]]}},"keywords":{}}],["bxl.cquerycontext",{"_index":1675,"title":{"323":{"position":[[0,17]]}},"content":{"302":{"position":[[79,17]]}},"keywords":{}}],["bxl.cquerycontext.allpath",{"_index":1772,"title":{"324":{"position":[[0,27]]}},"content":{"324":{"position":[[4,27]]}},"keywords":{}}],["bxl.cquerycontext.attrfilt",{"_index":1774,"title":{"325":{"position":[[0,29]]}},"content":{"325":{"position":[[4,29]]}},"keywords":{}}],["bxl.cquerycontext.attrregexfilt",{"_index":1775,"title":{"326":{"position":[[0,34]]}},"content":{"326":{"position":[[4,34]]}},"keywords":{}}],["bxl.cquerycontext.buildfil",{"_index":1783,"title":{"327":{"position":[[0,28]]}},"content":{"327":{"position":[[4,28]]}},"keywords":{}}],["bxl.cquerycontext.dep",{"_index":1790,"title":{"328":{"position":[[0,23]]}},"content":{"328":{"position":[[4,23]]}},"keywords":{}}],["bxl.cquerycontext.ev",{"_index":1793,"title":{"329":{"position":[[0,23]]}},"content":{"329":{"position":[[4,23]]}},"keywords":{}}],["bxl.cquerycontext.filt",{"_index":1801,"title":{"330":{"position":[[0,25]]}},"content":{"330":{"position":[[4,25]]}},"keywords":{}}],["bxl.cquerycontext.input",{"_index":1805,"title":{"331":{"position":[[0,25]]}},"content":{"331":{"position":[[4,25]]}},"keywords":{}}],["bxl.cquerycontext.kind",{"_index":1808,"title":{"332":{"position":[[0,23]]}},"content":{"332":{"position":[[4,23]]}},"keywords":{}}],["bxl.cquerycontext.nattrfilt",{"_index":1812,"title":{"333":{"position":[[0,30]]}},"content":{"333":{"position":[[4,30]]}},"keywords":{}}],["bxl.cquerycontext.own",{"_index":1815,"title":{"334":{"position":[[0,24]]}},"content":{"334":{"position":[[4,24]]}},"keywords":{}}],["bxl.cquerycontext.rdep",{"_index":1821,"title":{"335":{"position":[[0,24]]}},"content":{"335":{"position":[[4,24]]}},"keywords":{}}],["bxl.cquerycontext.somepath",{"_index":1828,"title":{"336":{"position":[[0,27]]}},"content":{"336":{"position":[[4,27]]}},"keywords":{}}],["bxl.cquerycontext.testsof",{"_index":1829,"title":{"337":{"position":[[0,26]]}},"content":{"337":{"position":[[4,26]]}},"keywords":{}}],["bxl.cquerycontext.testsof_with_default_target_platform",{"_index":1831,"title":{"338":{"position":[[0,55]]}},"content":{"338":{"position":[[4,55]]}},"keywords":{}}],["bxl.ctarget_set([cnode_a",{"_index":2192,"title":{},"content":{"409":{"position":[[183,25]]},"788":{"position":[[183,25]]}},"keywords":{}}],["bxl.ctarget_set(nod",{"_index":3962,"title":{},"content":{"859":{"position":[[157,22]]}},"keywords":{}}],["bxl.ensuredartifact",{"_index":1579,"title":{"287":{"position":[[0,19]]}},"content":{"344":{"position":[[54,19]]}},"keywords":{}}],["bxl.ensuredartifact.abs_path",{"_index":1580,"title":{"288":{"position":[[0,29]]}},"content":{"288":{"position":[[4,30]]}},"keywords":{}}],["bxl.ensuredartifact.rel_path",{"_index":1597,"title":{"289":{"position":[[0,29]]}},"content":{"289":{"position":[[4,30]]}},"keywords":{}}],["bxl.filenod",{"_index":1528,"title":{"290":{"position":[[0,12]]}},"content":{"278":{"position":[[41,12]]},"314":{"position":[[52,12]]},"315":{"position":[[43,12]]},"316":{"position":[[43,12]]},"317":{"position":[[44,12]]},"318":{"position":[[42,12]]},"319":{"position":[[53,12]]},"320":{"position":[[44,12]]},"460":{"position":[[43,12]]}},"keywords":{}}],["bxl.filenode.cel",{"_index":1603,"title":{"291":{"position":[[0,18]]}},"content":{"291":{"position":[[0,18]]}},"keywords":{}}],["bxl.filenode.path",{"_index":1605,"title":{"292":{"position":[[0,18]]}},"content":{"292":{"position":[[0,18]]}},"keywords":{}}],["bxl.filesystem",{"_index":1679,"title":{"313":{"position":[[0,14]]}},"content":{"303":{"position":[[16,14],[44,14]]}},"keywords":{}}],["bxl.filesystem.abs_path_unsaf",{"_index":1734,"title":{"314":{"position":[[0,31]]}},"content":{},"keywords":{}}],["bxl.filesystem.abs_path_unsafe(expr",{"_index":1735,"title":{},"content":{"314":{"position":[[4,36]]}},"keywords":{}}],["bxl.filesystem.exist",{"_index":1740,"title":{"315":{"position":[[0,22]]}},"content":{},"keywords":{}}],["bxl.filesystem.exists(expr",{"_index":1741,"title":{},"content":{"315":{"position":[[4,27]]}},"keywords":{}}],["bxl.filesystem.is_dir",{"_index":1745,"title":{"316":{"position":[[0,22]]}},"content":{},"keywords":{}}],["bxl.filesystem.is_dir(expr",{"_index":1746,"title":{},"content":{"316":{"position":[[4,27]]}},"keywords":{}}],["bxl.filesystem.is_fil",{"_index":1749,"title":{"317":{"position":[[0,23]]}},"content":{},"keywords":{}}],["bxl.filesystem.is_file(expr",{"_index":1750,"title":{},"content":{"317":{"position":[[4,28]]}},"keywords":{}}],["bxl.filesystem.list",{"_index":1752,"title":{"318":{"position":[[0,20]]}},"content":{"318":{"position":[[4,20]]}},"keywords":{}}],["bxl.filesystem.project_rel_path",{"_index":1759,"title":{"319":{"position":[[0,32]]}},"content":{},"keywords":{}}],["bxl.filesystem.project_rel_path(expr",{"_index":1760,"title":{},"content":{"319":{"position":[[4,37]]}},"keywords":{}}],["bxl.filesystem.sourc",{"_index":1763,"title":{"320":{"position":[[0,22]]}},"content":{"320":{"position":[[4,22]]}},"keywords":{}}],["bxl.lazyresolvedattr",{"_index":1550,"title":{"321":{"position":[[0,21]]}},"content":{"282":{"position":[[75,21]]}},"keywords":{}}],["bxl.lazyresolvedattrs.get",{"_index":1769,"title":{"322":{"position":[[0,26]]}},"content":{},"keywords":{}}],["bxl.lazyresolvedattrs.get(attr",{"_index":1770,"title":{},"content":{"322":{"position":[[4,31]]}},"keywords":{}}],["bxl.outputstream",{"_index":1685,"title":{"343":{"position":[[0,16]]}},"content":{"305":{"position":[[20,16]]},"848":{"position":[[234,18]]}},"keywords":{}}],["bxl.outputstream.ensur",{"_index":1836,"title":{"344":{"position":[[0,24]]}},"content":{},"keywords":{}}],["bxl.outputstream.ensure(artifact",{"_index":1837,"title":{},"content":{"344":{"position":[[4,33]]}},"keywords":{}}],["bxl.outputstream.ensure_multipl",{"_index":1842,"title":{"345":{"position":[[0,33]]}},"content":{"345":{"position":[[4,33]]}},"keywords":{}}],["bxl.outputstream.print",{"_index":1854,"title":{"346":{"position":[[0,23]]}},"content":{},"keywords":{}}],["bxl.outputstream.print(*arg",{"_index":1855,"title":{},"content":{"346":{"position":[[4,29]]}},"keywords":{}}],["bxl.outputstream.print_json",{"_index":1859,"title":{"347":{"position":[[0,28]]}},"content":{},"keywords":{}}],["bxl.outputstream.print_json(valu",{"_index":1860,"title":{},"content":{"347":{"position":[[4,34]]}},"keywords":{}}],["bxl.targetunivers",{"_index":1722,"title":{"339":{"position":[[0,18]]}},"content":{"309":{"position":[[362,18]]}},"keywords":{}}],["bxl.targetuniverse.lookup",{"_index":1833,"title":{"340":{"position":[[0,26]]}},"content":{"340":{"position":[[4,26]]}},"keywords":{}}],["bxl.targetuniverse.target_set",{"_index":1834,"title":{"341":{"position":[[0,30]]}},"content":{"341":{"position":[[4,31]]}},"keywords":{}}],["bxl.targetuniverse.universe_target_set",{"_index":1835,"title":{"342":{"position":[[0,39]]}},"content":{"342":{"position":[[4,40]]}},"keywords":{}}],["bxl.unconfiguredtargetnod",{"_index":1463,"title":{"458":{"position":[[0,26]]}},"content":{"236":{"position":[[71,26],[279,26]]},"237":{"position":[[71,26],[279,26]]},"238":{"position":[[93,26],[301,26]]},"239":{"position":[[65,26],[273,26]]},"294":{"position":[[61,26],[221,26]]},"297":{"position":[[58,26],[218,26]]},"298":{"position":[[50,26],[230,26],[468,26]]},"301":{"position":[[71,26],[205,26]]},"309":{"position":[[68,26],[202,26]]},"310":{"position":[[50,26]]},"311":{"position":[[46,26],[171,26]]},"320":{"position":[[84,26]]},"324":{"position":[[65,26],[199,26],[306,26],[440,26]]},"325":{"position":[[93,26],[227,26]]},"326":{"position":[[103,26],[237,26]]},"327":{"position":[[69,26],[203,26]]},"328":{"position":[[65,26],[199,26]]},"330":{"position":[[78,26],[212,26]]},"331":{"position":[[66,26],[200,26]]},"332":{"position":[[76,26],[210,26]]},"333":{"position":[[94,26],[228,26]]},"334":{"position":[[126,26],[260,26]]},"335":{"position":[[66,26],[200,26],[309,26],[443,26]]},"336":{"position":[[65,26],[199,26],[306,26],[440,26]]},"337":{"position":[[67,26],[201,26]]},"338":{"position":[[96,26],[230,26]]},"340":{"position":[[40,26]]},"465":{"position":[[38,26],[160,26]]},"466":{"position":[[66,26]]},"467":{"position":[[76,26]]},"468":{"position":[[42,26]]},"469":{"position":[[38,26]]},"471":{"position":[[51,26]]},"472":{"position":[[39,26]]},"473":{"position":[[49,26]]},"475":{"position":[[39,26],[163,26]]},"476":{"position":[[38,26],[160,26]]},"478":{"position":[[40,26]]}},"keywords":{}}],["bxl.unconfiguredtargetnode.attr",{"_index":2416,"title":{"459":{"position":[[0,33]]}},"content":{"459":{"position":[[0,33]]}},"keywords":{}}],["bxl.unconfiguredtargetnode.buildfile_path",{"_index":2421,"title":{"460":{"position":[[0,42]]}},"content":{"460":{"position":[[0,42]]}},"keywords":{}}],["bxl.unconfiguredtargetnode.label",{"_index":2422,"title":{"461":{"position":[[0,33]]}},"content":{"461":{"position":[[0,33]]}},"keywords":{}}],["bxl.unconfiguredtargetnode.rule_kind",{"_index":2424,"title":{"462":{"position":[[0,37]]}},"content":{"462":{"position":[[0,37]]}},"keywords":{}}],["bxl.unconfiguredtargetnode.rule_typ",{"_index":2427,"title":{"463":{"position":[[0,37]]}},"content":{"463":{"position":[[0,37]]}},"keywords":{}}],["bxl.unconfiguredtargetset",{"_index":3961,"title":{},"content":{"859":{"position":[[126,25]]}},"keywords":{}}],["bxl.uquerycontext",{"_index":1732,"title":{"464":{"position":[[0,17]]}},"content":{"312":{"position":[[31,17]]}},"keywords":{}}],["bxl.uquerycontext.allpath",{"_index":2429,"title":{"465":{"position":[[0,27]]}},"content":{"465":{"position":[[4,27]]}},"keywords":{}}],["bxl.uquerycontext.attrfilt",{"_index":2430,"title":{"466":{"position":[[0,29]]}},"content":{"466":{"position":[[4,29]]}},"keywords":{}}],["bxl.uquerycontext.attrregexfilt",{"_index":2431,"title":{"467":{"position":[[0,34]]}},"content":{"467":{"position":[[4,34]]}},"keywords":{}}],["bxl.uquerycontext.buildfil",{"_index":2433,"title":{"468":{"position":[[0,28]]}},"content":{"468":{"position":[[4,28]]}},"keywords":{}}],["bxl.uquerycontext.dep",{"_index":2436,"title":{"469":{"position":[[0,23]]}},"content":{"469":{"position":[[4,23]]}},"keywords":{}}],["bxl.uquerycontext.ev",{"_index":2438,"title":{"470":{"position":[[0,23]]}},"content":{"470":{"position":[[4,23]]}},"keywords":{}}],["bxl.uquerycontext.filt",{"_index":2441,"title":{"471":{"position":[[0,25]]}},"content":{"471":{"position":[[4,25]]}},"keywords":{}}],["bxl.uquerycontext.input",{"_index":2443,"title":{"472":{"position":[[0,25]]}},"content":{"472":{"position":[[4,25]]}},"keywords":{}}],["bxl.uquerycontext.kind",{"_index":2445,"title":{"473":{"position":[[0,23]]}},"content":{"473":{"position":[[4,23]]}},"keywords":{}}],["bxl.uquerycontext.own",{"_index":2447,"title":{"474":{"position":[[0,24]]}},"content":{"474":{"position":[[4,24]]}},"keywords":{}}],["bxl.uquerycontext.rdep",{"_index":2448,"title":{"475":{"position":[[0,24]]}},"content":{"475":{"position":[[4,24]]}},"keywords":{}}],["bxl.uquerycontext.somepath",{"_index":2450,"title":{"476":{"position":[[0,27]]}},"content":{"476":{"position":[[4,27]]}},"keywords":{}}],["bxl.uquerycontext.targets_in_buildfil",{"_index":2452,"title":{"477":{"position":[[0,39]]}},"content":{"477":{"position":[[4,39]]}},"keywords":{}}],["bxl.uquerycontext.testsof",{"_index":2459,"title":{"478":{"position":[[0,26]]}},"content":{"478":{"position":[[4,26]]}},"keywords":{}}],["bxl.utarget_set([unode_a",{"_index":2405,"title":{},"content":{"449":{"position":[[187,25]]},"828":{"position":[[187,25]]}},"keywords":{}}],["bxl.utarget_set(nod",{"_index":3960,"title":{},"content":{"859":{"position":[[56,22]]}},"keywords":{}}],["bxl_action",{"_index":1635,"title":{},"content":{"298":{"position":[[1234,11],[2099,12],[2613,11],[2842,13],[2991,13]]},"711":{"position":[[1330,11]]},"712":{"position":[[1003,11]]},"851":{"position":[[1320,11],[1344,11],[1939,11],[2168,13]]},"877":{"position":[[422,11]]},"878":{"position":[[1033,13],[1174,13]]}},"keywords":{}}],["bxl_actions.act",{"_index":3720,"title":{},"content":{"711":{"position":[[1445,19]]},"712":{"position":[[1045,19]]}},"keywords":{}}],["bxl_actions.actions.run",{"_index":1655,"title":{},"content":{"298":{"position":[[2714,24]]},"851":{"position":[[2040,24]]}},"keywords":{}}],["bxl_actions.actions.write("my_output"",{"_index":1637,"title":{},"content":{"298":{"position":[[1275,48]]}},"keywords":{}}],["bxl_actions.exec_deps[my_exec_dep][runinfo",{"_index":1657,"title":{},"content":{"298":{"position":[[2762,44]]},"851":{"position":[[2088,44]]}},"keywords":{}}],["bxl_build_result",{"_index":1626,"title":{},"content":{"297":{"position":[[1034,17]]}},"keywords":{}}],["bxl_built_artifacts_iter",{"_index":1500,"title":{},"content":{"245":{"position":[[45,28]]},"345":{"position":[[85,28]]}},"keywords":{}}],["bxl_ctx",{"_index":1627,"title":{},"content":{"297":{"position":[[1133,7]]},"298":{"position":[[1135,8]]},"299":{"position":[[133,7]]},"305":{"position":[[385,7]]},"307":{"position":[[128,7]]},"711":{"position":[[928,7]]},"835":{"position":[[73,8]]},"876":{"position":[[93,8]]}},"keywords":{}}],["bxl_failed_artifacts_iter",{"_index":1506,"title":{},"content":{"246":{"position":[[44,29]]}},"keywords":{}}],["bxl_main",{"_index":2128,"title":{"403":{"position":[[0,9]]},"782":{"position":[[0,9]]}},"content":{"403":{"position":[[4,9]]},"712":{"position":[[3190,9]]},"782":{"position":[[4,9]]},"840":{"position":[[287,9],[989,9]]},"850":{"position":[[204,9]]},"864":{"position":[[528,9],[1328,9]]},"878":{"position":[[1575,9]]},"961":{"position":[[479,9],[566,9]]},"966":{"position":[[321,9],[538,9]]}},"keywords":{}}],["bxlcontext",{"_index":4539,"title":{},"content":{"924":{"position":[[1157,10]]}},"keywords":{}}],["bxlcontext::analysi",{"_index":4551,"title":{},"content":{"924":{"position":[[1912,23]]}},"keywords":{}}],["bxlcontext::analyze(targetlabel",{"_index":4520,"title":{},"content":{"924":{"position":[[44,32]]}},"keywords":{}}],["bxlfunctionlabel",{"_index":4739,"title":{},"content":{"951":{"position":[[409,16],[562,16]]}},"keywords":{}}],["bxlrespons",{"_index":5788,"title":{},"content":{"1125":{"position":[[164,11]]}},"keywords":{}}],["bxl’",{"_index":3966,"title":{},"content":{"860":{"position":[[162,5]]}},"keywords":{}}],["bybuild",{"_index":92,"title":{},"content":{"5":{"position":[[246,10]]}},"keywords":{}}],["byenabl",{"_index":480,"title":{},"content":{"16":{"position":[[108,10]]}},"keywords":{}}],["byhttp://developer.android.com/tools/projects/index.html",{"_index":6575,"title":{},"content":{"1355":{"position":[[7766,56]]}},"keywords":{}}],["bypass",{"_index":5921,"title":{},"content":{"1138":{"position":[[765,9]]},"1140":{"position":[[391,9]]},"1188":{"position":[[444,9]]}},"keywords":{}}],["bystev",{"_index":88,"title":{},"content":{"5":{"position":[[217,7]]}},"keywords":{}}],["byte",{"_index":1899,"title":{},"content":{"362":{"position":[[1727,6]]},"444":{"position":[[93,5]]},"592":{"position":[[88,5],[185,5],[253,6]]},"741":{"position":[[1727,6]]},"823":{"position":[[93,5]]},"867":{"position":[[1209,5]]},"1178":{"position":[[603,5]]}},"keywords":{}}],["bytecod",{"_index":5364,"title":{},"content":{"1056":{"position":[[1187,8],[1236,8],[1283,8],[1332,8]]},"1148":{"position":[[7466,9],[7476,8]]},"1186":{"position":[[1018,9],[1028,8]]},"1187":{"position":[[1031,9],[1041,8]]},"1188":{"position":[[5757,9],[5767,8]]},"1429":{"position":[[5724,8]]},"1448":{"position":[[973,8]]},"1449":{"position":[[915,8]]}},"keywords":{}}],["bytecode_c_lib",{"_index":8247,"title":{},"content":{"1460":{"position":[[367,16]]}},"keywords":{}}],["bytecode_lib",{"_index":8248,"title":{},"content":{"1460":{"position":[[399,13]]}},"keywords":{}}],["bytecode_onli",{"_index":8117,"title":{},"content":{"1448":{"position":[[409,14]]},"1449":{"position":[[410,14]]},"1450":{"position":[[409,14]]},"1451":{"position":[[409,14]]},"1460":{"position":[[429,14]]}},"keywords":{}}],["bzl",{"_index":2216,"title":{},"content":{"415":{"position":[[90,4],[352,4]]},"421":{"position":[[71,4]]},"423":{"position":[[218,4]]},"693":{"position":[[5723,4],[7918,4]]},"794":{"position":[[90,4],[352,4]]},"800":{"position":[[71,4]]},"802":{"position":[[218,4]]},"1000":{"position":[[559,3],[603,3],[648,3],[758,3]]},"1001":{"position":[[567,3],[606,3],[1116,3],[1351,3]]},"1004":{"position":[[32,4]]},"1064":{"position":[[166,3],[665,3],[704,3],[1266,3],[1506,3],[1753,3]]},"1065":{"position":[[115,3],[284,3]]},"1202":{"position":[[232,3],[5611,3]]}},"keywords":{}}],["c",{"_index":221,"title":{"722":{"position":[[6,2]]}},"content":{"9":{"position":[[1076,3],[2483,4]]},"17":{"position":[[89,3],[231,4],[814,3],[1209,3]]},"18":{"position":[[49,3],[518,3],[1714,3],[1768,3]]},"22":{"position":[[96,4],[140,2],[1718,1]]},"23":{"position":[[959,5]]},"407":{"position":[[295,1]]},"575":{"position":[[316,3]]},"582":{"position":[[268,2]]},"583":{"position":[[403,3]]},"665":{"position":[[209,5],[218,5]]},"679":{"position":[[221,4]]},"693":{"position":[[7659,3]]},"704":{"position":[[66,2],[93,1],[160,1],[166,3],[443,3],[483,3],[638,2],[898,2],[1143,2],[1742,3],[2557,3]]},"786":{"position":[[295,1]]},"873":{"position":[[354,3]]},"895":{"position":[[196,3]]},"937":{"position":[[326,1]]},"947":{"position":[[1022,3],[1095,3],[1148,3]]},"1024":{"position":[[1120,2]]},"1029":{"position":[[218,3],[337,3]]},"1112":{"position":[[2470,1]]},"1120":{"position":[[488,1]]},"1136":{"position":[[2721,2]]},"1138":{"position":[[6383,2]]},"1140":{"position":[[5309,2]]},"1142":{"position":[[753,2]]},"1146":{"position":[[693,2]]},"1148":{"position":[[3733,2]]},"1155":{"position":[[789,2]]},"1156":{"position":[[367,2]]},"1167":{"position":[[6313,2]]},"1169":{"position":[[152,2]]},"1172":{"position":[[1607,3]]},"1173":{"position":[[907,3]]},"1186":{"position":[[1957,2]]},"1187":{"position":[[1970,2]]},"1188":{"position":[[6696,2]]},"1191":{"position":[[557,2]]},"1192":{"position":[[732,2]]},"1193":{"position":[[784,2]]},"1194":{"position":[[424,2]]},"1195":{"position":[[402,2]]},"1196":{"position":[[212,2]]},"1197":{"position":[[1195,2]]},"1198":{"position":[[1205,2]]},"1199":{"position":[[1233,2]]},"1200":{"position":[[1100,2]]},"1201":{"position":[[360,2]]},"1202":{"position":[[1502,2],[5899,2]]},"1203":{"position":[[594,2]]},"1204":{"position":[[438,2]]},"1205":{"position":[[1767,2]]},"1206":{"position":[[238,2]]},"1207":{"position":[[395,2]]},"1209":{"position":[[1743,2]]},"1217":{"position":[[5054,2]]},"1219":{"position":[[1040,2]]},"1222":{"position":[[164,2]]},"1223":{"position":[[174,2]]},"1224":{"position":[[354,2]]},"1226":{"position":[[5522,2]]},"1228":{"position":[[7135,2]]},"1235":{"position":[[3003,2]]},"1237":{"position":[[5692,2]]},"1360":{"position":[[2994,2],[4735,3]]},"1362":{"position":[[12612,2],[12615,4],[12630,2],[12643,4],[13421,1]]},"1364":{"position":[[13312,2],[13315,4],[13330,2],[13343,4],[14121,1]]},"1367":{"position":[[12520,2],[12523,4],[12538,2],[12551,4],[13329,1]]},"1381":{"position":[[726,2]]},"1382":{"position":[[10974,2],[10977,4],[10992,2],[11005,4]]},"1383":{"position":[[2579,2],[3050,1],[3080,3],[3123,1],[3166,1],[3213,3],[3261,3],[5347,3],[6767,3]]},"1384":{"position":[[11466,1],[11590,1],[11599,3],[11603,4],[11669,1],[11671,3],[11690,3],[11704,1],[11731,1],[11743,3],[11772,3],[11954,1],[12206,1],[12443,1],[12567,1],[12576,3],[12580,4],[12631,1],[12637,1],[12639,3],[12647,3],[12661,1],[12677,1],[12689,3],[12707,3],[18628,2],[18631,4],[18646,2],[18659,4]]},"1385":{"position":[[2042,1],[6552,2],[6555,4],[6570,2],[6583,4]]},"1386":{"position":[[2063,2],[2066,4],[2081,2],[2097,3],[3231,3],[3627,3]]},"1387":{"position":[[9925,2],[9928,4],[9943,2],[9956,4]]},"1388":{"position":[[9467,2],[9470,4],[9485,2],[9498,4]]},"1403":{"position":[[2409,2],[4150,3]]},"1407":{"position":[[1147,1]]},"1442":{"position":[[2347,2],[2350,4],[2365,2],[2378,4]]},"1446":{"position":[[2403,2]]},"1448":{"position":[[1029,1],[2621,3],[2650,1]]},"1449":{"position":[[2555,3],[2584,1]]},"1485":{"position":[[3838,2],[3841,4],[3856,2],[3869,4]]}},"keywords":{}}],["c"",{"_index":1083,"title":{},"content":{"89":{"position":[[393,8]]},"221":{"position":[[393,8]]},"406":{"position":[[459,8]]},"595":{"position":[[1450,7]]},"785":{"position":[[459,8]]}},"keywords":{}}],["c".format(3",{"_index":2824,"title":{},"content":{"595":{"position":[[1419,17]]}},"keywords":{}}],["c.buck1",{"_index":3636,"title":{},"content":{"704":{"position":[[543,7]]}},"keywords":{}}],["c.buck2",{"_index":3641,"title":{},"content":{"704":{"position":[[2183,7]]}},"keywords":{}}],["c.go"",{"_index":7767,"title":{},"content":{"1407":{"position":[[4875,11]]}},"keywords":{}}],["c/c",{"_index":6784,"title":{},"content":{"1362":{"position":[[4828,5]]},"1367":{"position":[[6644,5]]},"1373":{"position":[[8549,5],[8673,5]]},"1382":{"position":[[3057,5],[3097,5],[11638,5],[11720,5]]},"1383":{"position":[[1476,5]]},"1384":{"position":[[4328,5],[20515,5]]},"1385":{"position":[[1882,5],[7630,5]]},"1387":{"position":[[4230,5],[10961,5]]},"1388":{"position":[[3479,5],[3502,5],[10361,5]]},"1442":{"position":[[3018,5]]},"1446":{"position":[[609,5]]},"1453":{"position":[[934,5]]},"1454":{"position":[[3282,5]]},"1462":{"position":[[8339,5]]},"1467":{"position":[[9821,5]]},"1471":{"position":[[4875,5]]},"1472":{"position":[[3826,5],[5459,5]]},"1473":{"position":[[5196,5]]}},"keywords":{}}],["c/c++/swift",{"_index":6930,"title":{},"content":{"1364":{"position":[[4864,11]]}},"keywords":{}}],["c24932ccabb66fffb2d7122298f7f1f91e0b1f14e05168e3036333f84bdf58dc",{"_index":7936,"title":{},"content":{"1423":{"position":[[3662,67]]}},"keywords":{}}],["c=3",{"_index":2549,"title":{},"content":{"560":{"position":[[803,4]]}},"keywords":{}}],["c_archiv",{"_index":7751,"title":{},"content":{"1407":{"position":[[2353,10]]}},"keywords":{}}],["c_compil",{"_index":7337,"title":{},"content":{"1389":{"position":[[1138,11]]}},"keywords":{}}],["c_compiler_allow_cache_upload",{"_index":7338,"title":{},"content":{"1389":{"position":[[1155,30]]}},"keywords":{}}],["c_compiler_flag",{"_index":7339,"title":{},"content":{"1389":{"position":[[1203,17]]}},"keywords":{}}],["c_compiler_typ",{"_index":7340,"title":{},"content":{"1389":{"position":[[1236,16]]}},"keywords":{}}],["c_lib",{"_index":8249,"title":{},"content":{"1460":{"position":[[454,7]]}},"keywords":{}}],["c_preprocessor_flag",{"_index":7341,"title":{},"content":{"1389":{"position":[[1269,21]]}},"keywords":{}}],["c_share",{"_index":7752,"title":{},"content":{"1407":{"position":[[2364,9]]}},"keywords":{}}],["ca",{"_index":1046,"title":{},"content":{"85":{"position":[[241,3]]},"217":{"position":[[241,3]]},"895":{"position":[[641,3]]},"1172":{"position":[[591,3]]},"1345":{"position":[[275,5],[315,2],[1193,3]]}},"keywords":{}}],["cach",{"_index":230,"title":{"832":{"position":[[22,8]]},"965":{"position":[[8,8]]},"966":{"position":[[10,9]]},"1099":{"position":[[10,5]]},"1100":{"position":[[23,6]]}},"content":{"9":{"position":[[1231,5],[1295,6],[1342,5],[1413,5]]},"10":{"position":[[426,5]]},"98":{"position":[[1209,8]]},"99":{"position":[[1617,8]]},"230":{"position":[[1209,8]]},"231":{"position":[[1617,8]]},"276":{"position":[[815,5]]},"277":{"position":[[849,5]]},"281":{"position":[[937,5]]},"282":{"position":[[979,5]]},"305":{"position":[[240,7]]},"315":{"position":[[134,6]]},"322":{"position":[[283,5]]},"346":{"position":[[246,7]]},"347":{"position":[[344,7]]},"362":{"position":[[2581,5]]},"528":{"position":[[243,5]]},"572":{"position":[[61,5],[95,7],[195,7]]},"693":{"position":[[678,5],[4089,5],[4625,5],[4666,5],[4828,5],[4868,7],[6930,7]]},"704":{"position":[[734,6],[821,5],[866,5],[1256,5],[1844,5],[2388,5]]},"705":{"position":[[266,7],[630,7],[710,5],[799,5],[853,5]]},"706":{"position":[[576,5],[730,5],[790,6],[942,5],[1132,5],[1307,6],[1455,5],[1698,5],[1790,5]]},"710":{"position":[[235,7],[261,5]]},"724":{"position":[[489,6],[555,5],[783,6],[804,5]]},"741":{"position":[[2581,5]]},"832":{"position":[[675,6],[786,6]]},"833":{"position":[[75,7],[479,7]]},"856":{"position":[[472,5]]},"867":{"position":[[1801,5],[2061,5]]},"877":{"position":[[98,6],[228,6]]},"894":{"position":[[520,6]]},"895":{"position":[[573,6]]},"897":{"position":[[30,5],[157,5]]},"920":{"position":[[530,7]]},"951":{"position":[[1475,7]]},"955":{"position":[[784,6],[959,6]]},"965":{"position":[[338,6],[561,7]]},"966":{"position":[[176,7]]},"1035":{"position":[[435,5]]},"1075":{"position":[[148,5]]},"1090":{"position":[[48,8]]},"1112":{"position":[[375,5],[2752,5]]},"1120":{"position":[[762,5]]},"1138":{"position":[[2841,5],[2869,5],[2886,5],[3086,5],[3134,5],[3861,6]]},"1140":{"position":[[2330,5],[2358,5],[2375,5],[2575,5],[2623,5],[3350,6]]},"1142":{"position":[[27,7]]},"1148":{"position":[[7277,6]]},"1167":{"position":[[3334,5],[3362,5],[3379,5],[3579,5],[3627,5],[4354,6]]},"1172":{"position":[[1321,5],[1342,5]]},"1173":{"position":[[621,5],[642,5]]},"1188":{"position":[[2383,5],[2411,5],[2428,5],[2628,5],[2676,5],[3403,6]]},"1217":{"position":[[2075,5],[2103,5],[2120,5],[2320,5],[2368,5],[3095,6]]},"1226":{"position":[[4111,5],[4123,5]]},"1228":{"position":[[4156,5],[4184,5],[4201,5],[4401,5],[4449,5],[5176,6]]},"1237":{"position":[[4281,5],[4293,5]]},"1345":{"position":[[202,5],[1182,6]]},"1351":{"position":[[4695,6],[5072,6],[5324,5]]},"1362":{"position":[[6288,5],[6375,5]]},"1364":{"position":[[6317,5],[6404,5]]},"1367":{"position":[[7715,5],[7802,5]]},"1373":{"position":[[3844,5],[3931,5]]},"1382":{"position":[[4200,5],[4287,5]]},"1384":{"position":[[5362,5],[5449,5]]},"1388":{"position":[[4500,5],[4587,5]]},"1389":{"position":[[5341,5],[5446,5],[5588,5],[5693,5]]},"1454":{"position":[[4309,5],[4396,5]]},"1462":{"position":[[5322,5],[5409,5]]},"1471":{"position":[[2868,5],[2955,5]]}},"keywords":{}}],["cache_link",{"_index":7342,"title":{},"content":{"1389":{"position":[[1306,12]]}},"keywords":{}}],["cacheabl",{"_index":3513,"title":{},"content":{"693":{"position":[[243,10]]},"834":{"position":[[778,9]]},"956":{"position":[[216,9]]},"966":{"position":[[21,9]]},"1360":{"position":[[594,10]]},"1383":{"position":[[522,10]]},"1403":{"position":[[493,10]]},"1424":{"position":[[499,10]]},"1432":{"position":[[621,10]]}},"keywords":{}}],["cached.lazi",{"_index":5608,"title":{},"content":{"1090":{"position":[[88,11]]}},"keywords":{}}],["cached.print",{"_index":3822,"title":{},"content":{"833":{"position":[[235,14]]}},"keywords":{}}],["cached.therefor",{"_index":3671,"title":{},"content":{"706":{"position":[[848,17]]}},"keywords":{}}],["cachemax_cache_upload_mebibyt",{"_index":1917,"title":{},"content":{"362":{"position":[[2522,32]]},"741":{"position":[[2522,32]]}},"keywords":{}}],["cachesremote_execution_properti",{"_index":1893,"title":{},"content":{"362":{"position":[[1312,34]]},"741":{"position":[[1312,34]]}},"keywords":{}}],["caching_sample.bxl",{"_index":4809,"title":{},"content":{"966":{"position":[[294,18]]}},"keywords":{}}],["cake.dl",{"_index":7134,"title":{},"content":{"1381":{"position":[[2581,11]]}},"keywords":{}}],["calcul",{"_index":4529,"title":{},"content":{"924":{"position":[[603,12]]}},"keywords":{}}],["call",{"_index":840,"title":{"1254":{"position":[[29,6]]}},"content":{"37":{"position":[[198,4]]},"92":{"position":[[1662,4]]},"94":{"position":[[3891,4]]},"170":{"position":[[64,4]]},"171":{"position":[[90,7]]},"182":{"position":[[198,4]]},"224":{"position":[[1662,4]]},"226":{"position":[[3891,4]]},"276":{"position":[[572,4]]},"277":{"position":[[101,4],[520,4],[676,6]]},"281":{"position":[[661,4]]},"282":{"position":[[148,4],[611,4],[785,6]]},"297":{"position":[[626,7],[697,4],[1146,6]]},"298":{"position":[[2672,4],[2961,6]]},"299":{"position":[[146,6]]},"305":{"position":[[398,6]]},"307":{"position":[[141,6]]},"314":{"position":[[236,7]]},"344":{"position":[[231,4]]},"345":{"position":[[713,4]]},"389":{"position":[[839,5]]},"408":{"position":[[250,6]]},"411":{"position":[[296,7]]},"414":{"position":[[59,6]]},"415":{"position":[[54,6],[171,4]]},"416":{"position":[[414,4]]},"417":{"position":[[644,4]]},"418":{"position":[[220,4],[274,4],[496,4],[567,4]]},"423":{"position":[[37,6],[134,6],[204,6]]},"425":{"position":[[57,6]]},"430":{"position":[[36,6],[145,4],[163,7]]},"432":{"position":[[125,6]]},"436":{"position":[[120,4]]},"443":{"position":[[142,6]]},"446":{"position":[[308,6]]},"550":{"position":[[64,4]]},"551":{"position":[[90,7]]},"569":{"position":[[333,4]]},"632":{"position":[[88,4],[268,4],[374,4]]},"633":{"position":[[101,4]]},"662":{"position":[[747,4]]},"685":{"position":[[202,6]]},"688":{"position":[[832,4]]},"693":{"position":[[499,6],[7482,6]]},"695":{"position":[[300,6]]},"704":{"position":[[1304,6]]},"705":{"position":[[964,6]]},"711":{"position":[[1290,5]]},"768":{"position":[[839,5]]},"787":{"position":[[250,6]]},"790":{"position":[[296,7]]},"793":{"position":[[59,6]]},"794":{"position":[[54,6],[171,4]]},"795":{"position":[[414,4]]},"796":{"position":[[644,4]]},"797":{"position":[[220,4],[274,4],[496,4],[567,4]]},"802":{"position":[[37,6],[134,6],[204,6]]},"804":{"position":[[57,6]]},"809":{"position":[[36,6],[145,4],[163,7]]},"811":{"position":[[125,6]]},"815":{"position":[[120,4]]},"822":{"position":[[142,6]]},"825":{"position":[[308,6]]},"832":{"position":[[232,5],[342,5]]},"834":{"position":[[100,6]]},"836":{"position":[[35,5]]},"837":{"position":[[185,5]]},"846":{"position":[[589,4]]},"851":{"position":[[67,6],[171,4],[1998,4]]},"852":{"position":[[6,7]]},"853":{"position":[[6,7]]},"856":{"position":[[584,4],[685,4],[786,4],[917,4]]},"860":{"position":[[228,4]]},"870":{"position":[[623,5],[690,4],[740,4],[885,4],[1457,4]]},"878":{"position":[[89,5]]},"887":{"position":[[266,4]]},"888":{"position":[[728,4]]},"890":{"position":[[1115,6],[6594,7]]},"892":{"position":[[715,6]]},"900":{"position":[[77,7],[1198,6]]},"905":{"position":[[1311,6]]},"923":{"position":[[237,4]]},"924":{"position":[[1367,4],[2178,4],[2376,7]]},"954":{"position":[[378,5]]},"965":{"position":[[93,5],[204,5]]},"1000":{"position":[[497,4],[638,6],[699,7]]},"1001":{"position":[[594,6],[1377,4]]},"1002":{"position":[[18,4]]},"1004":{"position":[[305,4]]},"1005":{"position":[[172,7]]},"1017":{"position":[[547,6]]},"1026":{"position":[[1512,4]]},"1040":{"position":[[1764,4]]},"1049":{"position":[[529,7]]},"1057":{"position":[[253,5],[674,5],[958,5],[1015,6],[1306,4]]},"1058":{"position":[[830,6],[891,5],[1289,6],[1323,4]]},"1060":{"position":[[52,4],[97,4]]},"1064":{"position":[[692,6],[1473,4],[2272,4]]},"1065":{"position":[[310,4]]},"1079":{"position":[[1339,7]]},"1082":{"position":[[104,6],[470,4],[1061,4]]},"1083":{"position":[[895,4]]},"1103":{"position":[[746,6]]},"1105":{"position":[[789,4],[1176,4]]},"1136":{"position":[[4780,4],[4802,4],[4923,4]]},"1138":{"position":[[8442,4],[8464,4],[8585,4]]},"1140":{"position":[[7368,4],[7390,4],[7511,4]]},"1142":{"position":[[2812,4],[2834,4],[2955,4]]},"1146":{"position":[[2752,4],[2774,4],[2895,4]]},"1148":{"position":[[5792,4],[5814,4],[5935,4]]},"1155":{"position":[[2848,4],[2870,4],[2991,4]]},"1156":{"position":[[2426,4],[2448,4],[2569,4]]},"1167":{"position":[[8372,4],[8394,4],[8515,4]]},"1169":{"position":[[2211,4],[2233,4],[2354,4]]},"1186":{"position":[[4016,4],[4038,4],[4159,4]]},"1187":{"position":[[4029,4],[4051,4],[4172,4]]},"1188":{"position":[[8755,4],[8777,4],[8898,4]]},"1191":{"position":[[2616,4],[2638,4],[2759,4]]},"1192":{"position":[[2791,4],[2813,4],[2934,4]]},"1193":{"position":[[2843,4],[2865,4],[2986,4]]},"1194":{"position":[[2483,4],[2505,4],[2626,4]]},"1195":{"position":[[2461,4],[2483,4],[2604,4]]},"1196":{"position":[[2271,4],[2293,4],[2414,4]]},"1197":{"position":[[3254,4],[3276,4],[3397,4]]},"1198":{"position":[[3264,4],[3286,4],[3407,4]]},"1199":{"position":[[3292,4],[3314,4],[3435,4]]},"1200":{"position":[[3159,4],[3181,4],[3302,4]]},"1201":{"position":[[2419,4],[2441,4],[2562,4]]},"1202":{"position":[[3561,4],[3583,4],[3704,4],[7958,4],[7980,4],[8101,4]]},"1203":{"position":[[2653,4],[2675,4],[2796,4]]},"1204":{"position":[[2497,4],[2519,4],[2640,4]]},"1205":{"position":[[3826,4],[3848,4],[3969,4]]},"1206":{"position":[[2297,4],[2319,4],[2440,4]]},"1207":{"position":[[2454,4],[2476,4],[2597,4]]},"1209":{"position":[[3802,4],[3824,4],[3945,4]]},"1217":{"position":[[7113,4],[7135,4],[7256,4]]},"1219":{"position":[[3099,4],[3121,4],[3242,4]]},"1222":{"position":[[2223,4],[2245,4],[2366,4]]},"1223":{"position":[[2233,4],[2255,4],[2376,4]]},"1224":{"position":[[2413,4],[2435,4],[2556,4]]},"1226":{"position":[[7581,4],[7603,4],[7724,4]]},"1228":{"position":[[9194,4],[9216,4],[9337,4]]},"1231":{"position":[[518,4]]},"1235":{"position":[[5062,4],[5084,4],[5205,4]]},"1237":{"position":[[7751,4],[7773,4],[7894,4]]},"1243":{"position":[[628,7]]},"1251":{"position":[[116,4],[313,4]]},"1254":{"position":[[59,5],[98,7],[152,5],[261,4],[402,4]]},"1358":{"position":[[2459,4]]},"1386":{"position":[[3158,6]]},"1395":{"position":[[2663,6],[3329,6],[3388,4]]},"1398":{"position":[[6226,4]]},"1399":{"position":[[1887,6]]},"1415":{"position":[[3961,5]]},"1416":{"position":[[2507,4]]},"1420":{"position":[[2189,4]]},"1422":{"position":[[2270,4]]},"1423":{"position":[[1977,4]]},"1469":{"position":[[1773,4]]},"1482":{"position":[[1676,5]]}},"keywords":{}}],["call_stack",{"_index":3078,"title":{"632":{"position":[[0,11]]}},"content":{"632":{"position":[[4,13],[398,12]]}},"keywords":{}}],["call_stack_fram",{"_index":3085,"title":{"633":{"position":[[0,17]]}},"content":{"633":{"position":[[136,16]]}},"keywords":{}}],["call_stack_frame(n",{"_index":3086,"title":{},"content":{"633":{"position":[[4,19]]}},"keywords":{}}],["callabl",{"_index":2103,"title":{},"content":{"400":{"position":[[449,8]]},"411":{"position":[[234,9],[268,9]]},"672":{"position":[[33,8]]},"779":{"position":[[449,8]]},"790":{"position":[[234,9],[268,9]]},"981":{"position":[[871,8]]}},"keywords":{}}],["calledmod",{"_index":2684,"title":{},"content":{"582":{"position":[[496,10]]}},"keywords":{}}],["caller",{"_index":4336,"title":{},"content":{"898":{"position":[[1406,7]]},"1044":{"position":[[2495,7],[2529,6]]},"1355":{"position":[[4020,7],[4149,7]]},"1427":{"position":[[3165,7],[3294,7]]},"1439":{"position":[[3839,7],[3968,7]]},"1477":{"position":[[1718,6]]}},"keywords":{}}],["callingattrs_eag",{"_index":1513,"title":{},"content":{"276":{"position":[[619,20]]}},"keywords":{}}],["callingattrs_lazi",{"_index":1522,"title":{},"content":{"277":{"position":[[567,19]]}},"keywords":{}}],["callingresolved_attrs_eag",{"_index":1546,"title":{},"content":{"281":{"position":[[708,29]]}},"keywords":{}}],["callingresolved_attrs_lazi",{"_index":1553,"title":{},"content":{"282":{"position":[[658,28]]}},"keywords":{}}],["callingwrite_package_fil",{"_index":4989,"title":{},"content":{"1001":{"position":[[653,25]]},"1064":{"position":[[751,25]]}},"keywords":{}}],["callproject_as_json",{"_index":5567,"title":{},"content":{"1083":{"position":[[228,19]]}},"keywords":{}}],["calls.a",{"_index":5391,"title":{},"content":{"1057":{"position":[[650,7]]}},"keywords":{}}],["calls.happili",{"_index":5396,"title":{},"content":{"1057":{"position":[[787,14]]}},"keywords":{}}],["calls/macro",{"_index":6188,"title":{},"content":{"1247":{"position":[[311,13]]}},"keywords":{}}],["callsi",{"_index":5776,"title":{},"content":{"1120":{"position":[[768,6]]}},"keywords":{}}],["came",{"_index":4224,"title":{},"content":{"890":{"position":[[2713,4]]}},"keywords":{}}],["can't",{"_index":1351,"title":{},"content":{"130":{"position":[[207,5]]},"253":{"position":[[207,5]]},"890":{"position":[[1154,5],[2386,5]]},"898":{"position":[[2008,5]]},"991":{"position":[[3211,5]]},"1044":{"position":[[2430,5]]},"1049":{"position":[[401,5]]}},"keywords":{}}],["can_be_asset",{"_index":6699,"title":{},"content":{"1362":{"position":[[732,13]]},"1364":{"position":[[749,13]]},"1367":{"position":[[1666,13]]},"1384":{"position":[[539,13],[19767,12]]},"1387":{"position":[[646,13]]},"1454":{"position":[[453,13]]}},"keywords":{}}],["can_toolchain_emit_obj_c_header_textu",{"_index":8494,"title":{},"content":{"1481":{"position":[[493,42]]}},"keywords":{}}],["cancel",{"_index":5933,"title":{},"content":{"1138":{"position":[[4539,9]]},"1140":{"position":[[4028,9]]},"1167":{"position":[[5032,9]]},"1188":{"position":[[4081,9]]},"1217":{"position":[[3773,9]]},"1228":{"position":[[1507,10],[5854,9]]}},"keywords":{}}],["can’t",{"_index":4089,"title":{},"content":{"877":{"position":[[66,5]]}},"keywords":{}}],["capabl",{"_index":637,"title":{},"content":{"22":{"position":[[306,12],[718,7]]},"900":{"position":[[1948,7]]},"944":{"position":[[264,7],[379,7]]},"1068":{"position":[[42,12]]},"1071":{"position":[[626,10]]},"1362":{"position":[[10019,7]]},"1364":{"position":[[11133,7]]},"1367":{"position":[[10936,7],[14158,12]]},"1382":{"position":[[6745,7]]},"1384":{"position":[[13099,7]]},"1388":{"position":[[7614,7]]}},"keywords":{}}],["capac",{"_index":241,"title":{},"content":{"9":{"position":[[1432,8],[1599,8]]},"693":{"position":[[4990,8]]}},"keywords":{}}],["captur",{"_index":4248,"title":{},"content":{"890":{"position":[[5424,8]]},"1186":{"position":[[208,7]]},"1187":{"position":[[221,7]]},"1228":{"position":[[2236,8],[2760,8]]},"1258":{"position":[[1067,7]]},"1289":{"position":[[1067,7]]},"1317":{"position":[[1067,7]]}},"keywords":{}}],["captured_expr",{"_index":6245,"title":{"1268":{"position":[[50,14]]},"1299":{"position":[[50,14]]},"1327":{"position":[[50,14]]}},"content":{"1259":{"position":[[750,14]]},"1290":{"position":[[750,14]]},"1318":{"position":[[750,14]]}},"keywords":{}}],["care",{"_index":1575,"title":{},"content":{"286":{"position":[[313,4]]},"575":{"position":[[382,7]]},"889":{"position":[[948,7],[1210,7]]},"1486":{"position":[[2859,7]]}},"keywords":{}}],["cargo",{"_index":422,"title":{},"content":{"13":{"position":[[193,5],[268,6],[275,5]]},"15":{"position":[[454,5]]}},"keywords":{}}],["carri",{"_index":1280,"title":{},"content":{"99":{"position":[[1127,7]]},"231":{"position":[[1127,7]]},"924":{"position":[[1140,5]]}},"keywords":{}}],["carriag",{"_index":2632,"title":{},"content":{"576":{"position":[[252,8]]}},"keywords":{}}],["cascad",{"_index":3422,"title":{},"content":{"681":{"position":[[974,7]]}},"keywords":{}}],["case",{"_index":404,"title":{"685":{"position":[[22,6]]},"871":{"position":[[12,6]]},"953":{"position":[[4,6]]},"972":{"position":[[4,7]]},"1029":{"position":[[4,6]]},"1255":{"position":[[20,6]]}},"content":{"12":{"position":[[350,5],[489,6]]},"22":{"position":[[1085,6]]},"23":{"position":[[441,4]]},"49":{"position":[[115,4]]},"79":{"position":[[119,5]]},"92":{"position":[[2053,4]]},"94":{"position":[[1798,5]]},"99":{"position":[[1009,4]]},"133":{"position":[[219,4]]},"196":{"position":[[115,4]]},"224":{"position":[[2053,4]]},"226":{"position":[[1798,5]]},"231":{"position":[[1009,4]]},"256":{"position":[[219,4]]},"300":{"position":[[234,5]]},"362":{"position":[[1958,4]]},"368":{"position":[[539,6]]},"389":{"position":[[694,5]]},"407":{"position":[[285,4]]},"410":{"position":[[116,5]]},"418":{"position":[[1110,4],[1182,4]]},"421":{"position":[[114,5]]},"451":{"position":[[270,4]]},"508":{"position":[[119,5]]},"584":{"position":[[310,5]]},"600":{"position":[[159,5]]},"602":{"position":[[77,6],[147,5],[221,5]]},"603":{"position":[[159,5]]},"606":{"position":[[172,5]]},"615":{"position":[[173,5]]},"616":{"position":[[614,4]]},"620":{"position":[[70,5]]},"643":{"position":[[184,4]]},"657":{"position":[[103,5]]},"681":{"position":[[748,4]]},"686":{"position":[[8,6]]},"693":{"position":[[5471,5]]},"703":{"position":[[97,5]]},"706":{"position":[[2109,6],[2522,5]]},"708":{"position":[[444,4]]},"741":{"position":[[1958,4]]},"747":{"position":[[539,6]]},"768":{"position":[[694,5]]},"786":{"position":[[285,4]]},"789":{"position":[[116,5]]},"797":{"position":[[1110,4],[1182,4]]},"800":{"position":[[114,5]]},"830":{"position":[[270,4]]},"870":{"position":[[136,4]]},"904":{"position":[[61,7],[319,6]]},"905":{"position":[[1139,4],[1327,6]]},"906":{"position":[[863,7]]},"933":{"position":[[14,4]]},"937":{"position":[[4538,5]]},"945":{"position":[[163,5]]},"950":{"position":[[686,5]]},"959":{"position":[[19,6],[372,5]]},"987":{"position":[[944,5]]},"991":{"position":[[3161,5],[3192,4]]},"1004":{"position":[[1673,4]]},"1026":{"position":[[815,5]]},"1082":{"position":[[454,5]]},"1104":{"position":[[2001,6],[2148,5]]},"1105":{"position":[[1524,4]]},"1136":{"position":[[4048,4]]},"1138":{"position":[[3911,5],[7710,4]]},"1140":{"position":[[3400,5],[6636,4]]},"1142":{"position":[[2080,4]]},"1146":{"position":[[2020,4]]},"1148":{"position":[[5060,4]]},"1155":{"position":[[2116,4]]},"1156":{"position":[[1694,4]]},"1167":{"position":[[4404,5],[7640,4]]},"1169":{"position":[[1479,4]]},"1186":{"position":[[3284,4]]},"1187":{"position":[[3297,4]]},"1188":{"position":[[3453,5],[8023,4]]},"1191":{"position":[[1884,4]]},"1192":{"position":[[2059,4]]},"1193":{"position":[[2111,4]]},"1194":{"position":[[1751,4]]},"1195":{"position":[[1729,4]]},"1196":{"position":[[1539,4]]},"1197":{"position":[[2522,4]]},"1198":{"position":[[2532,4]]},"1199":{"position":[[2560,4]]},"1200":{"position":[[2427,4]]},"1201":{"position":[[1687,4]]},"1202":{"position":[[2829,4],[7226,4]]},"1203":{"position":[[1921,4]]},"1204":{"position":[[1765,4]]},"1205":{"position":[[3094,4]]},"1206":{"position":[[1565,4]]},"1207":{"position":[[1722,4]]},"1209":{"position":[[3070,4]]},"1217":{"position":[[3145,5],[6381,4]]},"1219":{"position":[[2367,4]]},"1222":{"position":[[1491,4]]},"1223":{"position":[[1501,4]]},"1224":{"position":[[1681,4]]},"1226":{"position":[[6849,4]]},"1228":{"position":[[5226,5],[8462,4]]},"1235":{"position":[[4330,4]]},"1237":{"position":[[7019,4]]},"1240":{"position":[[156,4]]},"1250":{"position":[[116,5],[152,6]]},"1251":{"position":[[9,4]]},"1254":{"position":[[119,4],[646,4]]},"1255":{"position":[[59,6],[404,5]]},"1273":{"position":[[478,5]]},"1304":{"position":[[478,5]]},"1332":{"position":[[478,5]]},"1360":{"position":[[4212,4]]},"1361":{"position":[[850,4]]},"1362":{"position":[[7548,5],[7609,5],[9564,5],[9625,5],[13097,4]]},"1364":{"position":[[7787,5],[7848,5],[10678,5],[10739,5],[13797,4]]},"1367":{"position":[[9652,5],[9713,5],[13005,4],[14285,4]]},"1374":{"position":[[2436,5]]},"1380":{"position":[[744,4]]},"1382":{"position":[[11459,4]]},"1384":{"position":[[19113,4]]},"1385":{"position":[[7037,4]]},"1386":{"position":[[1929,5],[5009,5]]},"1387":{"position":[[10410,4]]},"1388":{"position":[[9952,4]]},"1393":{"position":[[4455,4],[4677,5]]},"1397":{"position":[[2177,5]]},"1398":{"position":[[1188,5],[6781,5]]},"1399":{"position":[[2116,4]]},"1403":{"position":[[3627,4],[9111,5]]},"1429":{"position":[[5390,4]]},"1439":{"position":[[5053,4]]},"1440":{"position":[[5384,4]]},"1442":{"position":[[2832,4]]},"1446":{"position":[[1741,5]]},"1462":{"position":[[7173,4]]},"1467":{"position":[[8142,4]]},"1471":{"position":[[4246,5]]},"1472":{"position":[[4830,5]]},"1473":{"position":[[4567,5]]},"1485":{"position":[[4323,4]]},"1486":{"position":[[4600,5]]}},"keywords":{}}],["caseexpires_after_timestamp",{"_index":1049,"title":{},"content":{"85":{"position":[[321,28]]},"217":{"position":[[321,28]]}},"keywords":{}}],["cases—such",{"_index":3423,"title":{},"content":{"682":{"position":[[201,10]]}},"keywords":{}}],["cat",{"_index":4462,"title":{},"content":{"910":{"position":[[481,3],[485,3]]},"1477":{"position":[[2630,4],[2949,3],[2978,3]]},"1478":{"position":[[3099,3]]}},"keywords":{}}],["catalog",{"_index":6676,"title":{},"content":{"1361":{"position":[[679,7],[2451,7]]},"1363":{"position":[[2898,8],[4017,8]]}},"keywords":{}}],["catastroph",{"_index":3654,"title":{},"content":{"706":{"position":[[138,16]]},"1386":{"position":[[6391,13]]}},"keywords":{}}],["categor",{"_index":854,"title":{},"content":{"41":{"position":[[348,15],[593,10]]},"174":{"position":[[348,15],[593,10]]},"1112":{"position":[[290,11],[3491,15],[4237,15],[4488,10]]}},"keywords":{}}],["categori",{"_index":815,"title":{},"content":{"29":{"position":[[34,8]]},"41":{"position":[[37,9],[233,8],[311,8],[675,8]]},"89":{"position":[[453,8]]},"94":{"position":[[274,9],[1361,8]]},"174":{"position":[[37,9],[233,8],[311,8],[675,8]]},"185":{"position":[[34,8]]},"221":{"position":[[453,8]]},"226":{"position":[[274,9],[1361,8]]},"298":{"position":[[2876,8]]},"446":{"position":[[16,9]]},"685":{"position":[[170,8]]},"825":{"position":[[16,9]]},"851":{"position":[[2202,8]]},"867":{"position":[[964,8]]},"898":{"position":[[1948,9]]},"1033":{"position":[[203,8]]},"1049":{"position":[[1537,8]]},"1050":{"position":[[2733,8],[4058,8]]},"1112":{"position":[[3814,8],[3837,9],[4186,9],[4200,8],[4572,8],[4624,9],[4719,9]]},"1172":{"position":[[1411,8],[1498,8],[1627,8]]},"1173":{"position":[[711,8],[798,8],[927,8]]},"1180":{"position":[[161,8]]},"1203":{"position":[[216,8]]}},"keywords":{}}],["caus",{"_index":2412,"title":{},"content":{"450":{"position":[[296,5]]},"666":{"position":[[277,6]]},"706":{"position":[[2138,6]]},"829":{"position":[[296,5]]},"912":{"position":[[131,5]]},"937":{"position":[[818,7]]},"991":{"position":[[3337,6]]},"1037":{"position":[[164,5]]},"1040":{"position":[[583,5]]},"1107":{"position":[[42,5],[324,5]]},"1112":{"position":[[512,5],[3003,5],[3029,6]]},"1113":{"position":[[144,5]]},"1114":{"position":[[855,5],[905,6],[1032,5]]},"1232":{"position":[[3781,5],[3954,6],[3988,6]]},"1233":{"position":[[150,5]]},"1241":{"position":[[48,6],[98,5]]},"1243":{"position":[[465,6]]},"1247":{"position":[[409,7]]},"1254":{"position":[[347,5]]},"1358":{"position":[[2644,6]]},"1387":{"position":[[6932,5]]}},"keywords":{}}],["cause_index",{"_index":5735,"title":{},"content":{"1112":{"position":[[3106,12]]}},"keywords":{}}],["caution",{"_index":3407,"title":{},"content":{"680":{"position":[[1117,7]]},"1058":{"position":[[1422,8]]}},"keywords":{}}],["caveat",{"_index":3894,"title":{},"content":{"847":{"position":[[158,6]]}},"keywords":{}}],["cc",{"_index":7167,"title":{},"content":{"1383":{"position":[[3027,5]]},"1446":{"position":[[2411,3]]}},"keywords":{}}],["cc)path",{"_index":7168,"title":{},"content":{"1383":{"position":[[3033,9]]}},"keywords":{}}],["cd",{"_index":431,"title":{},"content":{"13":{"position":[[408,2]]},"17":{"position":[[301,2],[384,2]]},"18":{"position":[[131,2],[161,2]]},"910":{"position":[[38,2],[41,2]]}},"keywords":{}}],["cell",{"_index":592,"title":{"587":{"position":[[0,8]]},"1092":{"position":[[9,5]]},"1093":{"position":[[23,5]]},"1097":{"position":[[19,6]]},"1149":{"position":[[16,4]]},"1150":{"position":[[21,5]]},"1191":{"position":[[11,5]]}},"content":{"18":{"position":[[1885,7]]},"107":{"position":[[70,4]]},"131":{"position":[[393,4]]},"242":{"position":[[158,7],[248,4],[314,4],[448,4],[490,4]]},"254":{"position":[[393,4]]},"291":{"position":[[28,4]]},"292":{"position":[[28,4]]},"299":{"position":[[72,4]]},"334":{"position":[[458,4],[551,4],[648,5],[691,4]]},"374":{"position":[[1343,4]]},"415":{"position":[[129,4]]},"433":{"position":[[185,4]]},"474":{"position":[[197,4],[290,4],[387,5],[430,4]]},"519":{"position":[[70,4]]},"587":{"position":[[10,5],[145,5],[178,7],[319,5],[397,4],[501,4],[642,4]]},"693":{"position":[[2143,5],[2234,6],[2245,4],[2356,5],[2374,5],[6219,5],[6331,5],[6358,9],[8779,4],[8922,4]]},"696":{"position":[[196,5]]},"753":{"position":[[1343,4]]},"794":{"position":[[129,4]]},"812":{"position":[[185,4]]},"879":{"position":[[107,5]]},"1070":{"position":[[484,4]]},"1073":{"position":[[26,4],[113,4]]},"1093":{"position":[[24,4],[67,5],[88,4],[100,5],[147,7],[361,4],[412,6],[553,4],[617,4]]},"1094":{"position":[[38,4]]},"1095":{"position":[[53,5]]},"1096":{"position":[[179,7]]},"1097":{"position":[[17,5],[112,4],[172,4],[226,5]]},"1098":{"position":[[9,5],[150,6],[172,4],[212,5],[239,5],[264,5],[287,5],[324,5],[393,4],[621,6],[677,4],[708,4],[764,5],[832,6]]},"1150":{"position":[[35,4],[114,4],[449,4],[506,4]]},"1190":{"position":[[91,4],[124,7]]},"1191":{"position":[[28,7],[84,4],[146,4],[225,5],[300,4],[433,5]]},"1193":{"position":[[323,4],[347,5],[381,5]]},"1195":{"position":[[225,5]]},"1211":{"position":[[10,5],[139,5],[172,5]]},"1240":{"position":[[508,4]]}},"keywords":{}}],["cell'",{"_index":5057,"title":{},"content":{"1014":{"position":[[491,6]]},"1093":{"position":[[189,6]]},"1096":{"position":[[42,6]]},"1097":{"position":[[331,6]]}},"keywords":{}}],["cell//foo:bar[baz",{"_index":1993,"title":{},"content":{"368":{"position":[[2654,19]]},"747":{"position":[[2654,19]]}},"keywords":{}}],["cell//foo:bar[baz][qux",{"_index":1995,"title":{},"content":{"368":{"position":[[2882,24]]},"693":{"position":[[8328,24]]},"747":{"position":[[2882,24]]}},"keywords":{}}],["cell//package:target",{"_index":6016,"title":{},"content":{"1194":{"position":[[182,21]]}},"keywords":{}}],["cell/packag",{"_index":5218,"title":{},"content":{"1045":{"position":[[365,12]]}},"keywords":{}}],["cell_alia",{"_index":3595,"title":{},"content":{"693":{"position":[[8703,12]]}},"keywords":{}}],["cell_alias",{"_index":5626,"title":{},"content":{"1098":{"position":[[785,12]]},"1191":{"position":[[99,17],[128,17]]}},"keywords":{}}],["cell_defs.bzl",{"_index":5411,"title":{},"content":{"1058":{"position":[[255,13]]}},"keywords":{}}],["cell_root",{"_index":965,"title":{},"content":{"69":{"position":[[48,9]]},"94":{"position":[[39,9],[346,9]]},"98":{"position":[[81,9]]},"99":{"position":[[100,9]]},"107":{"position":[[17,9]]},"226":{"position":[[39,9],[346,9]]},"230":{"position":[[81,9]]},"231":{"position":[[100,9]]},"345":{"position":[[116,9]]},"368":{"position":[[135,9],[3099,9]]},"377":{"position":[[44,9]]},"386":{"position":[[30,9]]},"405":{"position":[[32,9],[280,9],[709,9],[748,9]]},"417":{"position":[[60,9]]},"457":{"position":[[48,9]]},"519":{"position":[[17,9]]},"747":{"position":[[135,9],[3099,9]]},"756":{"position":[[44,9]]},"765":{"position":[[30,9]]},"784":{"position":[[32,9],[280,9],[709,9],[748,9]]},"796":{"position":[[60,9]]}},"keywords":{}}],["cellpath",{"_index":1869,"title":{"360":{"position":[[0,9]]},"739":{"position":[[0,9]]}},"content":{"360":{"position":[[0,9]]},"739":{"position":[[0,9]]}},"keywords":{}}],["cellroot",{"_index":1870,"title":{"361":{"position":[[0,9]]},"740":{"position":[[0,9]]}},"content":{"361":{"position":[[0,9]]},"740":{"position":[[0,9]]}},"keywords":{}}],["certain",{"_index":3657,"title":{},"content":{"706":{"position":[[217,7],[800,7]]},"837":{"position":[[47,7]]},"919":{"position":[[1145,7]]},"939":{"position":[[816,7]]},"1004":{"position":[[2259,7]]},"1050":{"position":[[42,7]]},"1053":{"position":[[87,7],[326,7]]},"1132":{"position":[[15,7]]},"1136":{"position":[[1154,7]]},"1148":{"position":[[1510,7]]},"1177":{"position":[[468,7]]},"1205":{"position":[[634,7]]},"1209":{"position":[[387,7]]},"1226":{"position":[[2327,7]]},"1235":{"position":[[1647,7]]},"1237":{"position":[[134,7],[2497,7]]},"1244":{"position":[[345,7]]}},"keywords":{}}],["certainli",{"_index":5394,"title":{},"content":{"1057":{"position":[[747,9]]}},"keywords":{}}],["certif",{"_index":6307,"title":{},"content":{"1345":{"position":[[318,12],[583,11]]}},"keywords":{}}],["cfg",{"_index":1393,"title":{},"content":{"146":{"position":[[77,4]]},"149":{"position":[[71,4]]},"269":{"position":[[77,4]]},"272":{"position":[[71,4]]},"437":{"position":[[97,3]]},"443":{"position":[[99,3],[218,3],[315,3],[409,3]]},"816":{"position":[[97,3]]},"822":{"position":[[99,3],[218,3],[315,3],[409,3]]},"980":{"position":[[564,3]]},"1005":{"position":[[34,3],[431,3]]},"1007":{"position":[[301,3]]},"1026":{"position":[[1115,5],[1199,5],[1359,5]]},"1471":{"position":[[3663,3]]},"1472":{"position":[[4247,3]]},"1473":{"position":[[3731,3]]}},"keywords":{}}],["cfg(featur",{"_index":8428,"title":{},"content":{"1471":{"position":[[3731,13]]},"1472":{"position":[[4315,13]]},"1473":{"position":[[3799,13]]}},"keywords":{}}],["cfg//compiler:_",{"_index":4652,"title":{},"content":{"940":{"position":[[1136,15]]},"943":{"position":[[1005,16]]}},"keywords":{}}],["cfg//compiler:clang",{"_index":4653,"title":{},"content":{"940":{"position":[[1160,19]]},"943":{"position":[[1821,20]]}},"keywords":{}}],["cfg//compiler:msvc",{"_index":4654,"title":{},"content":{"940":{"position":[[1187,18]]}},"keywords":{}}],["cfg//os:_",{"_index":4623,"title":{},"content":{"938":{"position":[[376,9]]},"939":{"position":[[724,9]]},"940":{"position":[[1045,9]]},"943":{"position":[[960,9],[1246,9]]}},"keywords":{}}],["cfg//os:linux",{"_index":4627,"title":{},"content":{"938":{"position":[[523,14]]},"939":{"position":[[598,13]]},"940":{"position":[[1063,13]]}},"keywords":{}}],["cfg//os:maco",{"_index":4625,"title":{},"content":{"938":{"position":[[447,14],[538,14]]},"940":{"position":[[1085,13]]}},"keywords":{}}],["cfg//os:window",{"_index":4626,"title":{},"content":{"938":{"position":[[466,16],[556,15]]},"940":{"position":[[1109,15]]}},"keywords":{}}],["cfg//sanitizer:asan",{"_index":4721,"title":{},"content":{"945":{"position":[[915,20]]}},"keywords":{}}],["cfg=tr",{"_index":5049,"title":{},"content":{"1009":{"position":[[820,7]]}},"keywords":{}}],["cfg_modifi",{"_index":4641,"title":{},"content":{"940":{"position":[[56,13],[388,13]]},"941":{"position":[[389,13]]}},"keywords":{}}],["cflags)flag",{"_index":7170,"title":{},"content":{"1383":{"position":[[3094,14]]}},"keywords":{}}],["cgo",{"_index":7070,"title":{},"content":{"1373":{"position":[[8275,3],[8394,3],[8650,3]]},"1405":{"position":[[3133,3]]},"1407":{"position":[[3554,3]]},"1410":{"position":[[4135,3]]}},"keywords":{}}],["cgo.compiler_flag",{"_index":7045,"title":{},"content":{"1373":{"position":[[4070,19]]}},"keywords":{}}],["cgo_compiler_flag",{"_index":7032,"title":{},"content":{"1373":{"position":[[602,19]]},"1407":{"position":[[4923,18]]}},"keywords":{}}],["cgo_en",{"_index":7720,"title":{},"content":{"1405":{"position":[[527,12],[2247,11]]},"1407":{"position":[[554,12],[2668,11]]},"1410":{"position":[[650,12],[2653,12],[2690,11]]}},"keywords":{}}],["cgo_librari",{"_index":7024,"title":{"1373":{"position":[[0,12]]}},"content":{"1373":{"position":[[4,12],[2741,13],[8486,11],[8786,12]]},"1405":{"position":[[2671,11]]},"1407":{"position":[[2430,11],[3092,11],[4777,12]]},"1410":{"position":[[3194,11]]}},"keywords":{}}],["chain",{"_index":1994,"title":{},"content":{"368":{"position":[[2849,8]]},"693":{"position":[[8295,8]]},"706":{"position":[[1219,5]]},"747":{"position":[[2849,8]]},"987":{"position":[[293,5]]},"1345":{"position":[[613,7]]}},"keywords":{}}],["challeng",{"_index":4883,"title":{},"content":{"987":{"position":[[486,9]]},"1049":{"position":[[10,11]]}},"keywords":{}}],["chanc",{"_index":238,"title":{},"content":{"9":{"position":[[1403,6]]},"1037":{"position":[[238,6]]}},"keywords":{}}],["chang",{"_index":38,"title":{"572":{"position":[[42,8]]}},"content":{"4":{"position":[[93,6],[167,7]]},"9":{"position":[[1035,8],[1156,9]]},"10":{"position":[[313,8],[847,8],[1006,8]]},"17":{"position":[[1062,8]]},"22":{"position":[[1346,6],[1786,7],[1889,7]]},"23":{"position":[[1197,7],[2620,7]]},"24":{"position":[[641,7]]},"69":{"position":[[216,7]]},"314":{"position":[[206,7]]},"408":{"position":[[746,7]]},"418":{"position":[[1172,6]]},"457":{"position":[[216,7]]},"570":{"position":[[295,6]]},"572":{"position":[[111,7]]},"622":{"position":[[112,6]]},"693":{"position":[[9905,6]]},"787":{"position":[[746,7]]},"797":{"position":[[1172,6]]},"832":{"position":[[133,8],[377,8]]},"879":{"position":[[257,7]]},"910":{"position":[[44,6]]},"937":{"position":[[976,8],[1023,8],[1167,7]]},"939":{"position":[[965,7]]},"946":{"position":[[429,7]]},"947":{"position":[[133,6],[210,6],[915,6],[1200,7]]},"951":{"position":[[1376,8],[1433,7]]},"965":{"position":[[239,8]]},"966":{"position":[[447,6],[492,6],[713,7]]},"1011":{"position":[[315,6]]},"1016":{"position":[[53,8]]},"1029":{"position":[[363,8],[441,8]]},"1035":{"position":[[219,6],[480,6]]},"1036":{"position":[[252,7]]},"1050":{"position":[[632,8],[2068,6],[4476,8]]},"1067":{"position":[[189,6]]},"1079":{"position":[[530,8]]},"1105":{"position":[[1629,7]]},"1112":{"position":[[99,6]]},"1114":{"position":[[606,7]]},"1123":{"position":[[40,7]]},"1138":{"position":[[4593,7],[4776,7]]},"1140":{"position":[[4082,7],[4265,7]]},"1142":{"position":[[546,7]]},"1150":{"position":[[420,6]]},"1161":{"position":[[351,7]]},"1167":{"position":[[5086,7],[5269,7]]},"1188":{"position":[[4135,7],[4318,7]]},"1217":{"position":[[3827,7],[4010,7]]},"1228":{"position":[[5908,7],[6091,7]]},"1243":{"position":[[487,7],[505,7]]},"1251":{"position":[[286,7]]},"1351":{"position":[[4946,7]]},"1355":{"position":[[7246,6],[7312,8]]},"1386":{"position":[[5573,7]]},"1403":{"position":[[6364,7]]},"1427":{"position":[[6445,6],[6511,8]]},"1486":{"position":[[2710,8]]}},"keywords":{}}],["changed).in",{"_index":3669,"title":{},"content":{"706":{"position":[[674,11]]}},"keywords":{}}],["changed.unfrozen",{"_index":4332,"title":{},"content":{"898":{"position":[[930,16]]}},"keywords":{}}],["channel",{"_index":6039,"title":{},"content":{"1219":{"position":[[20,7]]}},"keywords":{}}],["charact",{"_index":2397,"title":{"575":{"position":[[4,9]]},"576":{"position":[[0,9]]}},"content":{"446":{"position":[[563,10]]},"575":{"position":[[37,9],[415,9],[489,9]]},"576":{"position":[[19,9],[111,10],[288,9],[341,9],[400,9]]},"577":{"position":[[217,10],[486,9],[758,9]]},"579":{"position":[[79,9]]},"589":{"position":[[98,9],[154,10]]},"590":{"position":[[338,10]]},"601":{"position":[[61,10]]},"616":{"position":[[720,11]]},"656":{"position":[[62,9],[313,10]]},"825":{"position":[[563,10]]},"1148":{"position":[[1025,10]]},"1235":{"position":[[817,10]]}},"keywords":{}}],["chdir",{"_index":6036,"title":{},"content":{"1217":{"position":[[466,5]]}},"keywords":{}}],["cheap",{"_index":5565,"title":{},"content":{"1082":{"position":[[1309,6]]}},"keywords":{}}],["cheaper",{"_index":4505,"title":{},"content":{"919":{"position":[[2853,7]]},"1351":{"position":[[5291,7]]}},"keywords":{}}],["cheat",{"_index":4443,"title":{"909":{"position":[[8,5]]},"1128":{"position":[[6,5]]}},"content":{},"keywords":{}}],["check",{"_index":340,"title":{},"content":{"10":{"position":[[802,8]]},"308":{"position":[[54,6]]},"310":{"position":[[813,5]]},"315":{"position":[[75,5]]},"438":{"position":[[39,5],[143,6]]},"640":{"position":[[89,5]]},"649":{"position":[[47,5]]},"693":{"position":[[668,5]]},"706":{"position":[[713,5]]},"724":{"position":[[461,6]]},"817":{"position":[[39,5],[143,6]]},"889":{"position":[[871,8]]},"900":{"position":[[234,5],[420,5]]},"919":{"position":[[300,9],[1368,8],[1538,6],[1664,8],[1922,7],[2015,7],[2119,8],[2169,8],[2232,8],[2286,8],[2795,5]]},"920":{"position":[[33,5],[271,5],[333,8],[410,5],[512,8],[591,8]]},"921":{"position":[[239,5],[283,8],[343,8],[506,5],[632,5],[837,5],[976,5]]},"1021":{"position":[[590,6]]},"1033":{"position":[[83,5]]},"1136":{"position":[[4615,8]]},"1138":{"position":[[8277,8]]},"1140":{"position":[[7203,8]]},"1142":{"position":[[2647,8]]},"1146":{"position":[[2587,8]]},"1148":{"position":[[5627,8]]},"1155":{"position":[[2683,8]]},"1156":{"position":[[2261,8]]},"1167":{"position":[[8207,8]]},"1169":{"position":[[2046,8]]},"1186":{"position":[[3851,8]]},"1187":{"position":[[3864,8]]},"1188":{"position":[[8590,8]]},"1191":{"position":[[2451,8]]},"1192":{"position":[[2626,8]]},"1193":{"position":[[2678,8]]},"1194":{"position":[[2318,8]]},"1195":{"position":[[2296,8]]},"1196":{"position":[[2106,8]]},"1197":{"position":[[3089,8]]},"1198":{"position":[[3099,8]]},"1199":{"position":[[3127,8]]},"1200":{"position":[[2994,8]]},"1201":{"position":[[2254,8]]},"1202":{"position":[[3396,8],[7793,8]]},"1203":{"position":[[2488,8]]},"1204":{"position":[[2332,8]]},"1205":{"position":[[3661,8]]},"1206":{"position":[[2132,8]]},"1207":{"position":[[2289,8]]},"1209":{"position":[[3637,8]]},"1217":{"position":[[6948,8]]},"1219":{"position":[[2934,8]]},"1222":{"position":[[2058,8]]},"1223":{"position":[[2068,8]]},"1224":{"position":[[2248,8]]},"1226":{"position":[[7416,8]]},"1228":{"position":[[9029,8]]},"1235":{"position":[[4897,8]]},"1237":{"position":[[7586,8]]},"1244":{"position":[[28,5]]},"1354":{"position":[[2334,6]]},"1355":{"position":[[3937,7]]},"1362":{"position":[[13527,7]]},"1363":{"position":[[6164,7]]},"1364":{"position":[[14227,7]]},"1367":{"position":[[13435,7]]},"1381":{"position":[[2503,5]]},"1393":{"position":[[2526,5],[2690,5],[2966,6],[3786,6],[6031,5]]},"1405":{"position":[[3938,5]]},"1407":{"position":[[4557,5]]},"1408":{"position":[[2874,5]]},"1410":{"position":[[5739,5]]},"1427":{"position":[[3082,7]]},"1439":{"position":[[3756,7]]},"1448":{"position":[[2804,5]]},"1449":{"position":[[2738,5]]},"1457":{"position":[[1913,5]]},"1458":{"position":[[960,7]]},"1462":{"position":[[8726,8],[8825,8]]},"1465":{"position":[[4017,8],[4179,8]]},"1467":{"position":[[10209,8],[10596,8]]},"1471":{"position":[[5366,5],[5411,5],[5728,5]]},"1472":{"position":[[6252,5],[6297,5],[6614,5]]},"1473":{"position":[[5899,5]]}},"keywords":{}}],["checker",{"_index":8339,"title":{},"content":{"1462":{"position":[[8707,7]]},"1465":{"position":[[3998,7]]},"1467":{"position":[[10190,7]]}},"keywords":{}}],["checkin",{"_index":448,"title":{},"content":{"15":{"position":[[169,7]]}},"keywords":{}}],["checking).and",{"_index":4385,"title":{},"content":{"900":{"position":[[1877,13]]}},"keywords":{}}],["checkout",{"_index":7712,"title":{},"content":{"1404":{"position":[[526,8]]}},"keywords":{}}],["chef",{"_index":3600,"title":{},"content":{"693":{"position":[[9325,5]]}},"keywords":{}}],["child",{"_index":4685,"title":{},"content":{"943":{"position":[[224,5]]}},"keywords":{}}],["children",{"_index":1245,"title":{},"content":{"97":{"position":[[71,9]]},"229":{"position":[[71,9]]},"1081":{"position":[[271,8],[323,9],[394,9]]},"1082":{"position":[[1040,8]]},"1083":{"position":[[874,8]]},"1084":{"position":[[472,8],[547,8]]},"1086":{"position":[[244,9]]},"1087":{"position":[[576,8],[651,8]]},"1088":{"position":[[380,8],[788,9],[923,8],[998,8]]},"1258":{"position":[[1208,8]]},"1289":{"position":[[1208,8]]},"1317":{"position":[[1208,8]]}},"keywords":{}}],["chmod",{"_index":8467,"title":{},"content":{"1477":{"position":[[3062,5]]},"1478":{"position":[[3308,5]]}},"keywords":{}}],["choco",{"_index":517,"title":{},"content":{"17":{"position":[[1002,5]]}},"keywords":{}}],["choic",{"_index":2304,"title":{},"content":{"427":{"position":[[667,7]]},"806":{"position":[[667,7]]},"973":{"position":[[436,6]]}},"keywords":{}}],["choice.buck2",{"_index":595,"title":{},"content":{"18":{"position":[[1982,12]]}},"keywords":{}}],["choos",{"_index":2965,"title":{},"content":{"614":{"position":[[278,7]]},"866":{"position":[[151,6]]},"976":{"position":[[119,6]]}},"keywords":{}}],["chosen",{"_index":3585,"title":{},"content":{"693":{"position":[[8006,6]]}},"keywords":{}}],["chr",{"_index":3090,"title":{"634":{"position":[[0,4]]}},"content":{"634":{"position":[[30,4],[184,3]]}},"keywords":{}}],["chr(0x1f63f",{"_index":3095,"title":{},"content":{"634":{"position":[[251,12]]}},"keywords":{}}],["chr(1049",{"_index":3094,"title":{},"content":{"634":{"position":[[234,9]]}},"keywords":{}}],["chr(65",{"_index":3093,"title":{},"content":{"634":{"position":[[219,7]]}},"keywords":{}}],["chr(i",{"_index":3091,"title":{},"content":{"634":{"position":[[4,6],[74,6]]}},"keywords":{}}],["chri",{"_index":119,"title":{},"content":{"6":{"position":[[121,5]]}},"keywords":{}}],["chrome",{"_index":5443,"title":{},"content":{"1059":{"position":[[121,6]]}},"keywords":{}}],["chunk",{"_index":7467,"title":{},"content":{"1393":{"position":[[4023,7]]}},"keywords":{}}],["ci",{"_index":42,"title":{},"content":{"4":{"position":[[132,2],[241,2]]},"9":{"position":[[1264,2],[1580,2]]},"11":{"position":[[298,2]]},"916":{"position":[[365,2]]},"1102":{"position":[[1129,4]]}},"keywords":{}}],["circuit",{"_index":722,"title":{},"content":{"23":{"position":[[1276,7]]}},"keywords":{}}],["circular",{"_index":7475,"title":{},"content":{"1393":{"position":[[4964,8]]}},"keywords":{}}],["circumv",{"_index":7477,"title":{},"content":{"1393":{"position":[[5498,10]]}},"keywords":{}}],["clamp",{"_index":2592,"title":{},"content":{"567":{"position":[[328,7]]}},"keywords":{}}],["clang",{"_index":507,"title":{},"content":{"17":{"position":[[735,5],[861,5]]},"18":{"position":[[1028,9]]},"715":{"position":[[650,5],[1095,5]]},"873":{"position":[[530,5],[562,5]]},"916":{"position":[[144,5]]},"939":{"position":[[1277,5]]},"940":{"position":[[1152,5]]},"943":{"position":[[1849,5]]},"954":{"position":[[267,5]]},"1386":{"position":[[5637,7]]}},"keywords":{}}],["clang,xcod",{"_index":515,"title":{},"content":{"17":{"position":[[963,11]]}},"keywords":{}}],["clang_remark",{"_index":7343,"title":{},"content":{"1389":{"position":[[1329,14]]}},"keywords":{}}],["clang_trac",{"_index":7344,"title":{},"content":{"1389":{"position":[[1360,12]]}},"keywords":{}}],["clariti",{"_index":8342,"title":{},"content":{"1462":{"position":[[9181,9]]}},"keywords":{}}],["clash",{"_index":7286,"title":{},"content":{"1386":{"position":[[6180,6]]}},"keywords":{}}],["class",{"_index":4381,"title":{},"content":{"900":{"position":[[1599,5]]},"1029":{"position":[[435,5]]},"1348":{"position":[[3699,5],[3910,8],[4031,6],[4318,7],[4368,7]]},"1351":{"position":[[754,5],[3034,5]]},"1353":{"position":[[2646,7],[2698,5]]},"1355":{"position":[[2364,5],[3606,7],[5602,7],[5657,7],[6374,6]]},"1358":{"position":[[2161,6],[2260,6]]},"1412":{"position":[[1684,5]]},"1426":{"position":[[953,6],[2112,7],[2132,5],[2381,6],[2524,5],[2691,5],[3060,5]]},"1427":{"position":[[1848,5],[4691,7],[4762,6],[4806,5],[4840,5],[5546,6]]},"1429":{"position":[[4096,6],[4492,5],[4530,5],[5134,6],[5245,6],[5395,7]]},"1439":{"position":[[2134,5],[3427,7],[7190,7],[7261,6],[7305,5],[7339,5],[7455,6]]},"1440":{"position":[[4089,6],[4485,5],[4523,5],[5128,6],[5239,6],[5389,7]]},"1458":{"position":[[2277,6],[2383,6]]}},"keywords":{}}],["class.getresourc",{"_index":6565,"title":{},"content":{"1355":{"position":[[6418,20]]},"1427":{"position":[[5590,20]]},"1439":{"position":[[7499,20]]}},"keywords":{}}],["classifi",{"_index":7939,"title":{},"content":{"1423":{"position":[[3822,11]]},"1469":{"position":[[3527,11]]}},"keywords":{}}],["classpath",{"_index":3415,"title":{"1192":{"position":[[11,10]]}},"content":{"681":{"position":[[508,9],[697,9]]},"688":{"position":[[412,11],[468,9],[541,10],[599,10]]},"1190":{"position":[[153,9],[185,10]]},"1192":{"position":[[22,10],[267,9]]},"1355":{"position":[[3711,9],[3860,11],[4417,9],[5808,9],[6002,9]]},"1412":{"position":[[2664,9],[2885,11]]},"1427":{"position":[[2859,9],[3005,11],[3562,9],[4981,9],[5175,9]]},"1439":{"position":[[3531,9],[3679,11],[4236,9]]}},"keywords":{}}],["clean",{"_index":1197,"title":{"1079":{"position":[[6,5]]},"1141":{"position":[[0,5]]},"1142":{"position":[[5,6]]}},"content":{"94":{"position":[[1718,5]]},"226":{"position":[[1718,5]]},"692":{"position":[[43,5]]},"865":{"position":[[596,5]]},"1052":{"position":[[46,5]]},"1079":{"position":[[215,5],[781,5],[878,5],[986,8],[1004,5],[1112,5],[1304,5],[1353,5]]},"1142":{"position":[[97,5]]},"1163":{"position":[[67,7],[144,6]]}},"keywords":{}}],["clean_stale_artifact_ttl_hour",{"_index":5538,"title":{},"content":{"1079":{"position":[[580,30]]}},"keywords":{}}],["clean_stale_en",{"_index":5536,"title":{},"content":{"1079":{"position":[[470,19]]}},"keywords":{}}],["clean_stale_period_hour",{"_index":5540,"title":{},"content":{"1079":{"position":[[620,24]]}},"keywords":{}}],["clean_stale_start_offset_hour",{"_index":5541,"title":{},"content":{"1079":{"position":[[650,30],[687,30]]}},"keywords":{}}],["cleanup",{"_index":1200,"title":{},"content":{"94":{"position":[[1857,7]]},"226":{"position":[[1857,7]]},"1050":{"position":[[1096,8]]},"1053":{"position":[[1498,7]]},"1142":{"position":[[388,8]]},"1429":{"position":[[4308,7]]},"1440":{"position":[[4301,7]]}},"keywords":{}}],["clear",{"_index":2495,"title":{},"content":{"553":{"position":[[41,5]]},"564":{"position":[[41,5]]},"920":{"position":[[5,5]]},"1232":{"position":[[3761,5]]},"1354":{"position":[[2244,5]]}},"keywords":{}}],["clear_package_data",{"_index":6521,"title":{},"content":{"1354":{"position":[[520,19]]}},"keywords":{}}],["clever",{"_index":5437,"title":{},"content":{"1058":{"position":[[953,6]]}},"keywords":{}}],["cli",{"_index":1225,"title":{"850":{"position":[[21,3]]},"942":{"position":[[0,3]]}},"content":{"94":{"position":[[3535,3],[3550,3]]},"226":{"position":[[3535,3],[3550,3]]},"300":{"position":[[169,3]]},"693":{"position":[[9538,4],[9668,3]]},"715":{"position":[[1272,3],[1612,3]]},"720":{"position":[[381,4]]},"840":{"position":[[341,3],[875,3],[911,3]]},"846":{"position":[[760,3]]},"850":{"position":[[251,3]]},"904":{"position":[[48,3],[230,4],[300,4],[931,3]]},"939":{"position":[[1886,3]]},"943":{"position":[[1655,3]]},"1060":{"position":[[192,4]]},"1112":{"position":[[2238,4]]},"1124":{"position":[[80,3],[159,3]]},"1258":{"position":[[410,3]]},"1289":{"position":[[410,3]]},"1317":{"position":[[410,3]]},"1370":{"position":[[3142,3]]}},"keywords":{}}],["cli_arg",{"_index":1662,"title":{"404":{"position":[[0,9]]},"783":{"position":[[0,9]]}},"content":{"300":{"position":[[90,10]]},"402":{"position":[[462,8]]},"403":{"position":[[40,9]]},"404":{"position":[[0,9]]},"712":{"position":[[3229,8]]},"781":{"position":[[462,8]]},"782":{"position":[[40,9]]},"783":{"position":[[0,9]]},"840":{"position":[[326,8],[1028,8]]},"850":{"position":[[28,8],[236,8]]},"864":{"position":[[552,8],[1352,8]]},"878":{"position":[[1614,8]]}},"keywords":{}}],["cli_args.bool",{"_index":3850,"title":{},"content":{"840":{"position":[[419,16]]},"850":{"position":[[329,16]]}},"keywords":{}}],["cli_args.bool(tru",{"_index":3863,"title":{},"content":{"840":{"position":[[1062,19]]}},"keywords":{}}],["cli_args.list(cli_args.int",{"_index":3852,"title":{},"content":{"840":{"position":[[459,30]]},"850":{"position":[[369,30]]}},"keywords":{}}],["cli_args.option(cli_args.str",{"_index":3854,"title":{},"content":{"840":{"position":[[512,35]]},"850":{"position":[[422,35]]}},"keywords":{}}],["cli_args.target_label",{"_index":3856,"title":{},"content":{"840":{"position":[[568,24]]},"850":{"position":[[478,24]]}},"keywords":{}}],["cli_argsattrbut",{"_index":1665,"title":{},"content":{"300":{"position":[[285,16]]}},"keywords":{}}],["cli_proto::buildresponse>::{closure#0}>",{"_index":6130,"title":{},"content":{"1232":{"position":[[1863,45]]}},"keywords":{}}],["cliarg",{"_index":2109,"title":{},"content":{"402":{"position":[[138,7]]},"781":{"position":[[138,7]]}},"keywords":{}}],["client",{"_index":3789,"title":{},"content":{"715":{"position":[[1626,6],[1767,7],[2099,6]]},"1127":{"position":[[709,6]]},"1136":{"position":[[6538,6],[6635,6]]},"1138":{"position":[[10200,6],[10297,6]]},"1140":{"position":[[9126,6],[9223,6]]},"1142":{"position":[[4570,6],[4667,6]]},"1144":{"position":[[898,6],[995,6]]},"1146":{"position":[[4510,6],[4607,6]]},"1148":{"position":[[8101,6],[8198,6]]},"1150":{"position":[[1133,6],[1230,6]]},"1152":{"position":[[831,6],[928,6]]},"1154":{"position":[[986,6],[1083,6]]},"1155":{"position":[[4606,6],[4703,6]]},"1156":{"position":[[4184,6],[4281,6]]},"1157":{"position":[[769,6],[866,6]]},"1158":{"position":[[763,6],[860,6]]},"1159":{"position":[[763,6],[860,6]]},"1161":{"position":[[1758,6],[1855,6]]},"1163":{"position":[[1144,6],[1241,6]]},"1165":{"position":[[973,6],[1070,6]]},"1167":{"position":[[10130,6],[10227,6]]},"1169":{"position":[[3238,6],[3335,6]]},"1171":{"position":[[1479,6],[1576,6]]},"1172":{"position":[[2864,6],[2961,6]]},"1173":{"position":[[1551,6],[1648,6]]},"1174":{"position":[[979,6],[1076,6]]},"1175":{"position":[[975,6],[1072,6]]},"1176":{"position":[[1144,6],[1241,6]]},"1177":{"position":[[1065,6],[1162,6]]},"1178":{"position":[[1382,6],[1479,6]]},"1179":{"position":[[1179,6],[1276,6]]},"1180":{"position":[[1450,6],[1547,6]]},"1181":{"position":[[1970,6],[2067,6]]},"1182":{"position":[[1013,6],[1110,6]]},"1183":{"position":[[968,6],[1065,6]]},"1185":{"position":[[813,6],[910,6]]},"1186":{"position":[[5774,6],[5871,6]]},"1187":{"position":[[5787,6],[5884,6]]},"1188":{"position":[[10513,6],[10610,6]]},"1190":{"position":[[2144,6],[2241,6]]},"1191":{"position":[[4374,6],[4471,6]]},"1192":{"position":[[4549,6],[4646,6]]},"1193":{"position":[[4601,6],[4698,6]]},"1194":{"position":[[4241,6],[4338,6]]},"1195":{"position":[[4219,6],[4316,6]]},"1196":{"position":[[4029,6],[4126,6]]},"1197":{"position":[[5012,6],[5109,6]]},"1198":{"position":[[5022,6],[5119,6]]},"1199":{"position":[[5050,6],[5147,6]]},"1200":{"position":[[4917,6],[5014,6]]},"1201":{"position":[[4177,6],[4274,6]]},"1202":{"position":[[921,6],[1018,6],[5319,6],[5416,6],[9716,6],[9813,6]]},"1203":{"position":[[4411,6],[4508,6]]},"1204":{"position":[[4255,6],[4352,6],[5157,6],[5254,6],[6087,6],[6184,6],[6989,6],[7086,6],[7975,6],[8072,6],[8929,6],[9026,6],[9876,6],[9973,6],[10806,6],[10903,6]]},"1205":{"position":[[5584,6],[5681,6]]},"1206":{"position":[[4283,6],[4380,6]]},"1207":{"position":[[4212,6],[4309,6]]},"1209":{"position":[[5560,6],[5657,6]]},"1211":{"position":[[884,6],[981,6]]},"1213":{"position":[[655,6],[752,6]]},"1215":{"position":[[739,6],[836,6]]},"1217":{"position":[[8871,6],[8968,6]]},"1219":{"position":[[508,6],[4126,6],[4223,6]]},"1221":{"position":[[858,6],[955,6]]},"1222":{"position":[[3997,6],[4094,6]]},"1223":{"position":[[4007,6],[4104,6]]},"1224":{"position":[[3440,6],[3537,6]]},"1226":{"position":[[9339,6],[9436,6]]},"1228":{"position":[[10952,6],[11049,6]]},"1235":{"position":[[6820,6],[6917,6]]},"1237":{"position":[[9509,6],[9606,6]]},"1345":{"position":[[576,6]]},"1362":{"position":[[6400,6]]},"1364":{"position":[[6429,6]]},"1367":{"position":[[7827,6]]},"1373":{"position":[[3956,6]]},"1382":{"position":[[4312,6]]},"1384":{"position":[[5474,6]]},"1388":{"position":[[4612,6]]},"1389":{"position":[[5471,6],[5718,6]]},"1454":{"position":[[4421,6]]},"1462":{"position":[[5434,6]]},"1471":{"position":[[2980,6]]}},"keywords":{}}],["clippy_configur",{"_index":8413,"title":{},"content":{"1471":{"position":[[583,21]]},"1472":{"position":[[486,21]]},"1473":{"position":[[614,21]]}},"keywords":{}}],["clone",{"_index":492,"title":{},"content":{"17":{"position":[[270,5],[340,5]]},"886":{"position":[[123,6],[201,6],[287,6]]}},"keywords":{}}],["close",{"_index":2806,"title":{},"content":{"595":{"position":[[311,5],[370,5],[434,5]]},"1439":{"position":[[6389,7]]},"1486":{"position":[[4959,6]]}},"keywords":{}}],["closer",{"_index":213,"title":{},"content":{"9":{"position":[[966,6]]},"583":{"position":[[142,6]]},"1113":{"position":[[676,6]]}},"keywords":{}}],["closest",{"_index":2242,"title":{},"content":{"418":{"position":[[678,7]]},"622":{"position":[[341,7]]},"705":{"position":[[32,7]]},"797":{"position":[[678,7]]}},"keywords":{}}],["closur",{"_index":1477,"title":{},"content":{"239":{"position":[[489,7]]},"328":{"position":[[389,7]]},"335":{"position":[[597,7]]},"469":{"position":[[270,7]]},"475":{"position":[[359,7]]},"681":{"position":[[1038,8]]},"921":{"position":[[541,7],[725,7]]},"1104":{"position":[[2052,7]]},"1133":{"position":[[925,7]]},"1226":{"position":[[4386,8]]},"1237":{"position":[[4556,8]]},"1282":{"position":[[578,7]]},"1313":{"position":[[578,7]]},"1341":{"position":[[578,7]]}},"keywords":{}}],["cmd",{"_index":3438,"title":{"910":{"position":[[0,4]]},"1176":{"position":[[9,4]]}},"content":{"688":{"position":[[67,4]]},"910":{"position":[[16,3]]},"1105":{"position":[[463,3],[1303,3],[1760,3]]},"1171":{"position":[[339,3]]},"1176":{"position":[[166,3]]},"1360":{"position":[[622,4],[2829,4],[2940,4],[3058,3],[3072,4],[4627,4],[4682,4],[4800,3]]},"1374":{"position":[[2821,3]]},"1383":{"position":[[550,4],[2414,4],[2525,4],[2643,3],[2657,4],[6659,4],[6714,4],[6832,3],[7975,3]]},"1399":{"position":[[2947,3]]},"1401":{"position":[[1889,3]]},"1403":{"position":[[521,4],[2244,4],[2355,4],[2473,3],[2487,4],[4042,4],[4097,4],[4215,3],[5711,3],[7075,3]]},"1407":{"position":[[5067,3]]},"1422":{"position":[[4311,3]]},"1424":{"position":[[527,4]]},"1432":{"position":[[649,4]]},"1486":{"position":[[3030,3],[3365,3],[3459,3],[3553,3]]}},"keywords":{}}],["cmd.add("anoth",{"_index":5684,"title":{},"content":{"1105":{"position":[[521,21]]}},"keywords":{}}],["cmd.add(ctx.attrs.src",{"_index":5686,"title":{},"content":{"1105":{"position":[[554,22]]}},"keywords":{}}],["cmd.add(out.as_output",{"_index":5688,"title":{},"content":{"1105":{"position":[[653,24]]}},"keywords":{}}],["cmd.add.format",{"_index":2141,"title":{},"content":{"405":{"position":[[1363,14]]},"784":{"position":[[1363,14]]}},"keywords":{}}],["cmd.ex",{"_index":6660,"title":{},"content":{"1360":{"position":[[4720,7]]},"1383":{"position":[[6752,7]]},"1403":{"position":[[4135,7]]}},"keywords":{}}],["cmd="$(ex",{"_index":7919,"title":{},"content":{"1422":{"position":[[4434,15]]},"1423":{"position":[[3428,15]]}},"keywords":{}}],["cmd_arg",{"_index":941,"title":{"64":{"position":[[0,8]]},"405":{"position":[[0,9]]},"452":{"position":[[0,8]]},"784":{"position":[[0,9]]}},"content":{"65":{"position":[[30,8],[113,9],[212,9]]},"66":{"position":[[26,8],[58,8],[208,8]]},"69":{"position":[[104,8],[489,9]]},"94":{"position":[[51,8],[358,8],[1218,9]]},"98":{"position":[[93,8],[1366,8]]},"99":{"position":[[112,8],[1084,8]]},"126":{"position":[[191,8]]},"226":{"position":[[51,8],[358,8],[1218,9]]},"230":{"position":[[93,8],[1366,8]]},"231":{"position":[[112,8],[1084,8]]},"249":{"position":[[191,8]]},"345":{"position":[[128,8]]},"368":{"position":[[147,8],[3111,8],[3554,9]]},"377":{"position":[[56,8],[590,8]]},"386":{"position":[[42,8],[436,8]]},"398":{"position":[[242,8]]},"399":{"position":[[272,8]]},"405":{"position":[[4,9],[44,8],[292,8],[867,8],[881,8],[1136,8]]},"406":{"position":[[28,8],[559,8],[647,8]]},"408":{"position":[[1036,9]]},"417":{"position":[[72,8],[337,10]]},"453":{"position":[[30,8],[113,9],[212,9]]},"454":{"position":[[26,8],[58,8],[208,8]]},"457":{"position":[[104,8],[489,9]]},"747":{"position":[[147,8],[3111,8],[3554,9]]},"756":{"position":[[56,8],[590,8]]},"765":{"position":[[42,8],[436,8]]},"777":{"position":[[242,8]]},"778":{"position":[[272,8]]},"784":{"position":[[4,9],[44,8],[292,8],[867,8],[881,8],[1136,8]]},"785":{"position":[[28,8],[559,8],[647,8]]},"787":{"position":[[1036,9]]},"796":{"position":[[72,8],[337,10]]},"861":{"position":[[818,10]]},"1040":{"position":[[286,10]]},"1052":{"position":[[242,8]]},"1071":{"position":[[766,8]]},"1073":{"position":[[180,9]]},"1082":{"position":[[332,10]]},"1083":{"position":[[1181,8]]}},"keywords":{}}],["cmd_args().relative_to",{"_index":1296,"title":{},"content":{"107":{"position":[[159,23]]},"112":{"position":[[154,23]]},"519":{"position":[[159,23]]},"524":{"position":[[154,23]]}},"keywords":{}}],["cmd_args(["",{"_index":2148,"title":{},"content":{"405":{"position":[[1642,16]]},"784":{"position":[[1642,16]]}},"keywords":{}}],["cmd_args(["cp"",{"_index":5691,"title":{},"content":{"1105":{"position":[[1309,25]]}},"keywords":{}}],["cmd_args(["my_script.py"",{"_index":5296,"title":{},"content":{"1050":{"position":[[2628,35],[3901,35]]}},"keywords":{}}],["cmd_args(["sh",sh],hidden=[input",{"_index":5695,"title":{},"content":{"1105":{"position":[[1766,43]]}},"keywords":{}}],["cmd_args(["some"",{"_index":5682,"title":{},"content":{"1105":{"position":[[469,27]]}},"keywords":{}}],["cmd_args([ctx.attrs.broker[runinfo",{"_index":5336,"title":{},"content":{"1054":{"position":[[348,38]]}},"keywords":{}}],["cmd_args(artifact",{"_index":2184,"title":{},"content":{"408":{"position":[[544,18]]},"787":{"position":[[544,18]]}},"keywords":{}}],["cmd_args(cmd_args(dir",{"_index":975,"title":{},"content":{"69":{"position":[[535,22]]},"457":{"position":[[535,22]]}},"keywords":{}}],["cmd_args(dir",{"_index":2189,"title":{},"content":{"408":{"position":[[1082,13]]},"787":{"position":[[1082,13]]}},"keywords":{}}],["cmd_args(resource_fil",{"_index":2165,"title":{},"content":{"406":{"position":[[336,23]]},"785":{"position":[[336,23]]}},"keywords":{}}],["cmd_args(script",{"_index":2180,"title":{},"content":{"408":{"position":[[257,16],[312,16]]},"787":{"position":[[257,16],[312,16]]}},"keywords":{}}],["cmd_args(valu",{"_index":5557,"title":{},"content":{"1082":{"position":[[754,15]]}},"keywords":{}}],["cmd_args(x",{"_index":2142,"title":{},"content":{"405":{"position":[[1451,11]]},"784":{"position":[[1451,11]]}},"keywords":{}}],["cmd_args.add",{"_index":942,"title":{"65":{"position":[[0,13]]},"453":{"position":[[0,13]]}},"content":{},"keywords":{}}],["cmd_args.add(*arg",{"_index":943,"title":{},"content":{"65":{"position":[[4,19]]},"453":{"position":[[4,19]]}},"keywords":{}}],["cmd_args.copi",{"_index":950,"title":{"66":{"position":[[0,14]]},"454":{"position":[[0,14]]}},"content":{"66":{"position":[[4,15]]},"454":{"position":[[4,15]]}},"keywords":{}}],["cmd_args.input",{"_index":954,"title":{"67":{"position":[[0,16]]},"455":{"position":[[0,16]]}},"content":{"67":{"position":[[0,16]]},"455":{"position":[[0,16]]}},"keywords":{}}],["cmd_args.output",{"_index":962,"title":{"68":{"position":[[0,17]]},"456":{"position":[[0,17]]}},"content":{"68":{"position":[[0,17]]},"456":{"position":[[0,17]]}},"keywords":{}}],["cmd_args.relative_to",{"_index":964,"title":{"69":{"position":[[0,21]]},"457":{"position":[[0,21]]}},"content":{"69":{"position":[[4,21]]},"457":{"position":[[4,21]]}},"keywords":{}}],["cmd_ex",{"_index":6644,"title":{},"content":{"1360":{"position":[[643,8],[3163,7],[4559,8],[4691,7],[6316,7],[6582,7]]},"1383":{"position":[[571,8],[2747,8],[6591,8],[6723,7]]},"1403":{"position":[[542,8],[2578,7],[3974,8],[4106,7],[7776,7],[8103,7]]},"1424":{"position":[[548,8]]},"1432":{"position":[[670,8]]}},"keywords":{}}],["cmd_line",{"_index":2231,"title":{},"content":{"417":{"position":[[39,9]]},"796":{"position":[[39,9]]}},"keywords":{}}],["cnode_b",{"_index":2193,"title":{},"content":{"409":{"position":[[209,9]]},"788":{"position":[[209,9]]}},"keywords":{}}],["coalesc",{"_index":8320,"title":{},"content":{"1462":{"position":[[5753,8]]},"1467":{"position":[[6249,8]]}},"keywords":{}}],["code",{"_index":149,"title":{"1253":{"position":[[28,5]]}},"content":{"7":{"position":[[240,5]]},"18":{"position":[[425,4]]},"23":{"position":[[2032,4],[2067,4]]},"24":{"position":[[1101,4]]},"41":{"position":[[701,4]]},"174":{"position":[[701,4]]},"276":{"position":[[602,4]]},"277":{"position":[[550,4]]},"281":{"position":[[691,4]]},"282":{"position":[[641,4]]},"429":{"position":[[163,5]]},"576":{"position":[[303,4],[356,4],[415,4]]},"590":{"position":[[213,4],[263,4]]},"622":{"position":[[1100,4],[1182,5],[1232,4],[1296,4]]},"634":{"position":[[130,4]]},"656":{"position":[[125,4],[202,4],[238,4]]},"678":{"position":[[116,4]]},"687":{"position":[[247,5]]},"696":{"position":[[379,4]]},"708":{"position":[[240,4],[655,4]]},"715":{"position":[[708,4]]},"808":{"position":[[163,5]]},"869":{"position":[[142,4]]},"870":{"position":[[817,4]]},"888":{"position":[[250,5],[437,5]]},"889":{"position":[[240,4]]},"890":{"position":[[1513,5],[2667,5],[5158,4],[5667,5]]},"898":{"position":[[1306,4],[2440,5]]},"916":{"position":[[132,4]]},"954":{"position":[[511,4]]},"978":{"position":[[139,4]]},"981":{"position":[[706,4]]},"1001":{"position":[[222,4]]},"1026":{"position":[[1027,4]]},"1031":{"position":[[193,5]]},"1040":{"position":[[2720,4]]},"1045":{"position":[[56,5]]},"1048":{"position":[[14,4]]},"1050":{"position":[[2556,5]]},"1064":{"position":[[278,4]]},"1072":{"position":[[552,5]]},"1102":{"position":[[808,4]]},"1112":{"position":[[1789,4],[4600,4]]},"1113":{"position":[[374,4]]},"1136":{"position":[[2310,4]]},"1148":{"position":[[2666,4]]},"1209":{"position":[[1543,4]]},"1228":{"position":[[1590,4]]},"1232":{"position":[[3173,5]]},"1235":{"position":[[2803,4]]},"1253":{"position":[[58,4]]},"1254":{"position":[[318,4],[630,5]]},"1351":{"position":[[3538,5]]},"1355":{"position":[[5144,4],[6916,4],[7241,4],[7307,4],[7488,5]]},"1358":{"position":[[2427,4],[3168,4]]},"1362":{"position":[[8108,4],[13502,4]]},"1363":{"position":[[5848,4],[6483,4]]},"1364":{"position":[[8957,4],[14202,4]]},"1367":{"position":[[6650,4],[6691,4],[8196,4],[13410,4]]},"1383":{"position":[[3388,4],[3507,4]]},"1384":{"position":[[20713,6]]},"1386":{"position":[[4782,4],[5168,4]]},"1392":{"position":[[723,4]]},"1393":{"position":[[5995,4],[6845,5]]},"1407":{"position":[[1293,5]]},"1415":{"position":[[2534,4],[2693,4],[3909,5],[5197,4]]},"1427":{"position":[[4458,4],[6115,4],[6440,4],[6506,4],[6838,4],[6897,5],[6977,5]]},"1439":{"position":[[6957,4]]},"1456":{"position":[[599,5]]},"1462":{"position":[[6954,4]]},"1471":{"position":[[3721,4],[5421,4],[5495,5]]},"1472":{"position":[[4305,4],[6307,4],[6381,5]]},"1473":{"position":[[3789,4]]}},"keywords":{}}],["code_sign_entitl",{"_index":6899,"title":{},"content":{"1363":{"position":[[6092,22],[6538,22]]}},"keywords":{}}],["codebas",{"_index":4482,"title":{},"content":{"919":{"position":[[454,8]]}},"keywords":{}}],["codegen",{"_index":3656,"title":{},"content":{"706":{"position":[[173,7],[593,7],[744,7],[956,7],[1075,8],[1241,7],[1288,7],[1404,7]]},"1439":{"position":[[5086,7]]}},"keywords":{}}],["codepoint",{"_index":2747,"title":{},"content":{"590":{"position":[[106,9]]},"634":{"position":[[63,10]]},"656":{"position":[[47,9]]}},"keywords":{}}],["codesign",{"_index":6983,"title":{},"content":{"1368":{"position":[[504,9]]}},"keywords":{}}],["codesign_alloc",{"_index":6984,"title":{},"content":{"1368":{"position":[[519,18]]}},"keywords":{}}],["codesign_entitl",{"_index":6943,"title":{},"content":{"1366":{"position":[[359,22]]}},"keywords":{}}],["codesign_flag",{"_index":6849,"title":{},"content":{"1363":{"position":[[1455,15]]},"1367":{"position":[[1697,15]]}},"keywords":{}}],["codesign_flags_overrid",{"_index":6944,"title":{},"content":{"1366":{"position":[[398,24]]}},"keywords":{}}],["codesign_ident",{"_index":6850,"title":{},"content":{"1363":{"position":[[1486,18]]},"1367":{"position":[[1728,18]]},"1372":{"position":[[1328,18]]}},"keywords":{}}],["codesign_identities_command",{"_index":6985,"title":{},"content":{"1368":{"position":[[543,28]]}},"keywords":{}}],["codesign_on_copi",{"_index":6945,"title":{},"content":{"1366":{"position":[[445,17]]}},"keywords":{}}],["codesign_typ",{"_index":6851,"title":{},"content":{"1363":{"position":[[1521,14]]},"1367":{"position":[[1763,14]]},"1372":{"position":[[1363,14]]}},"keywords":{}}],["coerc",{"_index":2417,"title":{},"content":{"459":{"position":[[55,7]]},"870":{"position":[[504,8]]},"874":{"position":[[227,7]]}},"keywords":{}}],["coerced_attr",{"_index":2462,"title":{"479":{"position":[[0,12]]}},"content":{},"keywords":{}}],["coerced_attr.typ",{"_index":2463,"title":{"480":{"position":[[0,18]]}},"content":{"480":{"position":[[0,18]]}},"keywords":{}}],["coerced_attr.valu",{"_index":2467,"title":{"481":{"position":[[0,19]]}},"content":{"481":{"position":[[4,20]]}},"keywords":{}}],["coercibl",{"_index":2140,"title":{},"content":{"405":{"position":[[1302,9]]},"784":{"position":[[1302,9]]}},"keywords":{}}],["collect",{"_index":96,"title":{"678":{"position":[[8,10]]}},"content":{"5":{"position":[[309,10]]},"18":{"position":[[1955,10]]},"67":{"position":[[38,7]]},"68":{"position":[[41,7]]},"306":{"position":[[700,10]]},"368":{"position":[[2713,10]]},"405":{"position":[[981,10]]},"455":{"position":[[38,7]]},"456":{"position":[[41,7]]},"573":{"position":[[113,10]]},"622":{"position":[[974,7],[1431,10]]},"678":{"position":[[19,10]]},"693":{"position":[[8163,10]]},"747":{"position":[[2713,10]]},"784":{"position":[[981,10]]},"852":{"position":[[52,10]]},"853":{"position":[[57,10]]},"854":{"position":[[146,12]]},"887":{"position":[[234,10]]},"892":{"position":[[1205,10],[2029,8]]},"898":{"position":[[196,9]]},"938":{"position":[[91,10]]},"942":{"position":[[1597,10]]},"983":{"position":[[231,10]]},"1056":{"position":[[678,11]]},"1057":{"position":[[1111,11]]},"1186":{"position":[[876,10]]},"1187":{"position":[[889,10]]},"1188":{"position":[[5615,10]]},"1247":{"position":[[209,9],[285,9]]},"1354":{"position":[[2844,7]]},"1355":{"position":[[4093,10]]},"1356":{"position":[[1614,10]]},"1366":{"position":[[2638,10],[2697,8]]},"1373":{"position":[[8382,7]]},"1381":{"position":[[2426,10]]},"1427":{"position":[[3238,10]]},"1439":{"position":[[3912,10]]}},"keywords":{}}],["collect_tombston",{"_index":6522,"title":{},"content":{"1354":{"position":[[550,19]]}},"keywords":{}}],["collecti",{"_index":4274,"title":{},"content":{"892":{"position":[[821,8]]}},"keywords":{}}],["collection.get(fooinfo",{"_index":1000,"title":{},"content":{"76":{"position":[[162,23]]},"505":{"position":[[162,23]]}},"keywords":{}}],["collector",{"_index":4265,"title":{"891":{"position":[[17,9]]}},"content":{"892":{"position":[[607,10]]}},"keywords":{}}],["collis",{"_index":2677,"title":{},"content":{"581":{"position":[[903,10]]}},"keywords":{}}],["colon",{"_index":2819,"title":{},"content":{"595":{"position":[[1272,6]]},"675":{"position":[[608,6],[955,6]]},"1207":{"position":[[261,6]]}},"keywords":{}}],["color",{"_index":2410,"title":{},"content":{"450":{"position":[[141,9]]},"829":{"position":[[141,9]]}},"keywords":{}}],["com.exampl",{"_index":3694,"title":{},"content":{"708":{"position":[[317,14],[569,14]]},"1348":{"position":[[4597,14]]},"1355":{"position":[[7879,14]]},"1359":{"position":[[2490,14]]}},"keywords":{}}],["com.example.a",{"_index":7953,"title":{},"content":{"1426":{"position":[[2046,13],[2179,16]]}},"keywords":{}}],["com.example.allig",{"_index":7954,"title":{},"content":{"1426":{"position":[[2064,22]]}},"keywords":{}}],["com.example.pkg",{"_index":6483,"title":{},"content":{"1351":{"position":[[3908,18]]}},"keywords":{}}],["com.example.pkg.buildconfig.debug",{"_index":6481,"title":{},"content":{"1351":{"position":[[3714,33],[4092,33]]}},"keywords":{}}],["com.facebook.orca",{"_index":6475,"title":{},"content":{"1351":{"position":[[2098,18]]}},"keywords":{}}],["com.facebook/.loginact",{"_index":5978,"title":{},"content":{"1167":{"position":[[1163,28]]}},"keywords":{}}],["com.foo.processor",{"_index":7157,"title":{},"content":{"1382":{"position":[[5195,18]]},"1388":{"position":[[5889,18]]},"1442":{"position":[[2185,18]]}},"keywords":{}}],["com/example/amazinglibrary/source2.java",{"_index":8631,"title":{},"content":{"1487":{"position":[[3931,39]]}},"keywords":{}}],["combin",{"_index":5853,"title":{},"content":{"1134":{"position":[[63,7]]},"1136":{"position":[[6282,8]]},"1138":{"position":[[9944,8]]},"1140":{"position":[[8870,8]]},"1142":{"position":[[4314,8]]},"1144":{"position":[[642,8]]},"1146":{"position":[[4254,8]]},"1148":{"position":[[7845,8]]},"1150":{"position":[[877,8]]},"1152":{"position":[[575,8]]},"1154":{"position":[[730,8]]},"1155":{"position":[[4350,8]]},"1156":{"position":[[3928,8]]},"1157":{"position":[[513,8]]},"1158":{"position":[[507,8]]},"1159":{"position":[[507,8]]},"1161":{"position":[[1502,8]]},"1163":{"position":[[888,8]]},"1165":{"position":[[717,8]]},"1167":{"position":[[9874,8]]},"1169":{"position":[[2982,8]]},"1171":{"position":[[1223,8]]},"1172":{"position":[[2608,8]]},"1173":{"position":[[1295,8]]},"1174":{"position":[[723,8]]},"1175":{"position":[[719,8]]},"1176":{"position":[[888,8]]},"1177":{"position":[[809,8]]},"1178":{"position":[[1126,8]]},"1179":{"position":[[923,8]]},"1180":{"position":[[1194,8]]},"1181":{"position":[[1714,8]]},"1182":{"position":[[757,8]]},"1183":{"position":[[712,8]]},"1185":{"position":[[557,8]]},"1186":{"position":[[5518,8]]},"1187":{"position":[[5531,8]]},"1188":{"position":[[10257,8]]},"1190":{"position":[[1888,8]]},"1191":{"position":[[4118,8]]},"1192":{"position":[[4293,8]]},"1193":{"position":[[4345,8]]},"1194":{"position":[[3985,8]]},"1195":{"position":[[3963,8]]},"1196":{"position":[[3773,8]]},"1197":{"position":[[4756,8]]},"1198":{"position":[[4766,8]]},"1199":{"position":[[4794,8]]},"1200":{"position":[[4661,8]]},"1201":{"position":[[3921,8]]},"1202":{"position":[[665,8],[5063,8],[9460,8]]},"1203":{"position":[[4155,8]]},"1204":{"position":[[3999,8],[4901,8],[5831,8],[6733,8],[7719,8],[8673,8],[9620,8],[10550,8]]},"1205":{"position":[[5328,8]]},"1206":{"position":[[4027,8]]},"1207":{"position":[[3956,8]]},"1209":{"position":[[5304,8]]},"1211":{"position":[[628,8]]},"1213":{"position":[[399,8]]},"1215":{"position":[[483,8]]},"1217":{"position":[[8615,8]]},"1219":{"position":[[3870,8]]},"1221":{"position":[[602,8]]},"1222":{"position":[[3741,8]]},"1223":{"position":[[3751,8]]},"1224":{"position":[[3184,8]]},"1226":{"position":[[9083,8]]},"1228":{"position":[[10696,8]]},"1235":{"position":[[6564,8]]},"1237":{"position":[[9253,8]]},"1355":{"position":[[4321,11]]},"1370":{"position":[[715,8],[2276,8]]},"1374":{"position":[[2913,9]]},"1386":{"position":[[2338,11],[2474,11]]},"1393":{"position":[[7068,8]]},"1426":{"position":[[2951,8]]},"1427":{"position":[[3466,11]]},"1439":{"position":[[4140,11]]}},"keywords":{}}],["come",{"_index":3385,"title":{},"content":{"678":{"position":[[6,5]]},"870":{"position":[[1164,4],[1242,5]]},"988":{"position":[[253,4]]},"1398":{"position":[[2682,6]]},"1438":{"position":[[613,5]]}},"keywords":{}}],["comma",{"_index":5905,"title":{},"content":{"1136":{"position":[[5244,5]]},"1138":{"position":[[1689,5],[1939,5],[5615,5],[8906,5]]},"1140":{"position":[[1178,5],[1428,5],[7832,5]]},"1142":{"position":[[3276,5]]},"1146":{"position":[[3216,5]]},"1148":{"position":[[2965,5],[6256,5]]},"1155":{"position":[[3312,5]]},"1156":{"position":[[2890,5]]},"1161":{"position":[[783,5]]},"1167":{"position":[[2182,5],[2432,5],[8836,5]]},"1181":{"position":[[995,5]]},"1186":{"position":[[1189,5],[4480,5]]},"1187":{"position":[[1202,5],[4493,5]]},"1188":{"position":[[1231,5],[1481,5],[5928,5],[9219,5]]},"1191":{"position":[[3080,5]]},"1192":{"position":[[3255,5]]},"1193":{"position":[[3307,5]]},"1194":{"position":[[2947,5]]},"1195":{"position":[[2925,5]]},"1196":{"position":[[2735,5]]},"1197":{"position":[[427,5],[3718,5]]},"1198":{"position":[[437,5],[3728,5]]},"1199":{"position":[[465,5],[3756,5]]},"1200":{"position":[[332,5],[3623,5]]},"1201":{"position":[[2883,5]]},"1202":{"position":[[4025,5],[8422,5]]},"1203":{"position":[[3117,5]]},"1204":{"position":[[2961,5]]},"1205":{"position":[[4290,5]]},"1206":{"position":[[2761,5]]},"1207":{"position":[[2918,5]]},"1209":{"position":[[4266,5]]},"1217":{"position":[[923,5],[1173,5],[7577,5]]},"1222":{"position":[[2687,5]]},"1223":{"position":[[2697,5]]},"1226":{"position":[[8045,5]]},"1228":{"position":[[3004,5],[3254,5],[9658,5]]},"1235":{"position":[[5526,5]]},"1237":{"position":[[8215,5]]},"1345":{"position":[[896,5]]}},"keywords":{}}],["command",{"_index":362,"title":{"582":{"position":[[0,7]]},"675":{"position":[[0,7]]},"893":{"position":[[8,8]]},"910":{"position":[[22,7]]},"918":{"position":[[23,7]]},"920":{"position":[[36,8]]},"1008":{"position":[[22,7]]},"1082":{"position":[[38,7]]},"1125":{"position":[[0,7]]},"1242":{"position":[[17,8]]},"1243":{"position":[[24,8]]}},"content":{"11":{"position":[[241,8]]},"15":{"position":[[549,8]]},"18":{"position":[[236,7]]},"65":{"position":[[79,7]]},"67":{"position":[[99,7]]},"68":{"position":[[103,7]]},"69":{"position":[[192,7]]},"91":{"position":[[366,7]]},"94":{"position":[[1183,7],[1524,7],[1606,8],[1804,7],[2216,7],[2504,7]]},"99":{"position":[[847,7],[922,7]]},"126":{"position":[[140,7]]},"223":{"position":[[366,7]]},"226":{"position":[[1183,7],[1524,7],[1606,8],[1804,7],[2216,7],[2504,7]]},"231":{"position":[[847,7],[922,7]]},"249":{"position":[[140,7]]},"300":{"position":[[50,7],[115,7]]},"362":{"position":[[2215,7],[2338,7]]},"368":{"position":[[2122,7],[2237,8]]},"374":{"position":[[34,7],[589,8],[651,7],[729,8],[2073,7]]},"377":{"position":[[601,7],[661,7],[1210,8],[1468,8],[1573,7],[1641,7],[1735,8]]},"386":{"position":[[451,7]]},"405":{"position":[[1036,7],[1266,7],[1317,7],[2055,7]]},"406":{"position":[[737,8]]},"407":{"position":[[21,7],[172,7],[251,7]]},"408":{"position":[[722,7]]},"453":{"position":[[79,7]]},"455":{"position":[[99,7]]},"456":{"position":[[103,7]]},"457":{"position":[[192,7]]},"570":{"position":[[475,9]]},"575":{"position":[[577,7]]},"577":{"position":[[269,7]]},"582":{"position":[[118,7],[234,7]]},"583":{"position":[[373,7],[473,7]]},"586":{"position":[[158,7]]},"587":{"position":[[647,8]]},"675":{"position":[[85,7],[140,9],[240,8],[421,7],[483,7],[1305,7]]},"676":{"position":[[135,7]]},"688":{"position":[[143,7],[742,8]]},"690":{"position":[[343,9],[364,7],[521,7]]},"692":{"position":[[63,8]]},"693":{"position":[[271,7],[388,7],[3083,7],[5396,7],[6400,7],[9062,8]]},"700":{"position":[[133,7]]},"704":{"position":[[988,8],[1076,8],[1166,7],[1768,7],[2328,7]]},"705":{"position":[[1121,7]]},"706":{"position":[[2130,7]]},"715":{"position":[[521,8],[656,10],[1654,8]]},"724":{"position":[[94,7],[422,7],[597,7]]},"725":{"position":[[126,7]]},"741":{"position":[[2215,7],[2338,7]]},"747":{"position":[[2122,7],[2237,8]]},"753":{"position":[[34,7],[589,8],[651,7],[729,8],[2073,7]]},"756":{"position":[[601,7],[661,7],[1210,8],[1468,8],[1573,7],[1641,7],[1735,8]]},"765":{"position":[[451,7]]},"784":{"position":[[1036,7],[1266,7],[1317,7],[2055,7]]},"785":{"position":[[737,8]]},"786":{"position":[[21,7],[172,7],[251,7]]},"787":{"position":[[722,7]]},"840":{"position":[[384,7],[701,7]]},"841":{"position":[[40,8],[280,7],[489,7]]},"850":{"position":[[294,7],[516,7]]},"865":{"position":[[70,7]]},"867":{"position":[[105,7]]},"869":{"position":[[475,7]]},"872":{"position":[[525,7]]},"873":{"position":[[378,7]]},"879":{"position":[[407,7]]},"894":{"position":[[41,8]]},"895":{"position":[[50,7],[388,7]]},"896":{"position":[[1018,7]]},"911":{"position":[[156,7]]},"919":{"position":[[1801,8],[1863,8]]},"920":{"position":[[219,7],[397,7]]},"921":{"position":[[23,7]]},"937":{"position":[[421,7],[2063,7],[2214,7],[2552,7],[3219,7],[3504,7]]},"938":{"position":[[916,7]]},"939":{"position":[[1789,7]]},"942":{"position":[[7,7],[201,7],[339,7],[396,7],[803,7],[1537,7]]},"943":{"position":[[161,7],[1589,7],[1901,7],[2020,7]]},"946":{"position":[[278,8]]},"947":{"position":[[1242,7]]},"954":{"position":[[34,7],[132,8],[793,7]]},"959":{"position":[[432,7],[489,7]]},"961":{"position":[[629,7]]},"968":{"position":[[0,7]]},"969":{"position":[[189,7]]},"970":{"position":[[35,7]]},"1014":{"position":[[46,7],[372,7]]},"1021":{"position":[[16,7]]},"1030":{"position":[[214,7]]},"1031":{"position":[[49,8],[313,7],[470,7],[761,7]]},"1032":{"position":[[5,7],[334,7]]},"1033":{"position":[[15,7],[267,7]]},"1035":{"position":[[52,7],[318,7],[452,9]]},"1036":{"position":[[218,7]]},"1037":{"position":[[44,7],[76,7],[374,7]]},"1050":{"position":[[674,8],[1243,8],[1317,7],[2618,7],[2724,8],[3891,7],[4049,8]]},"1052":{"position":[[219,7],[321,7],[535,7],[627,8],[665,8],[1482,7]]},"1053":{"position":[[1002,7],[1477,7]]},"1054":{"position":[[499,7],[938,7]]},"1056":{"position":[[149,9]]},"1061":{"position":[[278,7]]},"1067":{"position":[[403,7],[475,7]]},"1069":{"position":[[170,7]]},"1070":{"position":[[448,10]]},"1071":{"position":[[412,8],[564,7],[722,7],[948,7],[1254,7]]},"1082":{"position":[[72,7],[193,7],[307,7],[546,7],[1225,7]]},"1083":{"position":[[8,7]]},"1097":{"position":[[117,8],[131,7]]},"1103":{"position":[[964,7]]},"1104":{"position":[[1171,7],[1243,7]]},"1105":{"position":[[183,7],[199,7],[335,7],[435,7],[833,7],[863,7],[1007,7],[1387,7],[1591,7],[1650,7],[1857,7],[1961,7],[1985,7],[2092,8],[2129,7],[2255,8],[2568,8]]},"1114":{"position":[[308,7],[378,7]]},"1120":{"position":[[317,8],[499,8]]},"1124":{"position":[[297,7],[343,7]]},"1126":{"position":[[322,8]]},"1127":{"position":[[33,8],[186,9],[236,8],[296,8],[404,8]]},"1129":{"position":[[124,7]]},"1130":{"position":[[51,7]]},"1131":{"position":[[86,7]]},"1136":{"position":[[462,8],[2647,7],[3203,8],[3266,7],[3388,7],[3448,7],[3557,7],[3662,7],[3700,7],[3763,8],[3870,8],[4076,7],[4160,7],[4229,7],[4260,7],[4291,8],[4470,7],[4543,7],[4864,7],[4904,9],[5052,7],[5811,7],[6345,9],[6528,7]]},"1138":{"position":[[3280,7],[3371,7],[3440,8],[3483,8],[3580,7],[5720,7],[5885,7],[6309,7],[6865,8],[6928,7],[7050,7],[7110,7],[7219,7],[7324,7],[7362,7],[7425,8],[7532,8],[7738,7],[7822,7],[7891,7],[7922,7],[7953,8],[8132,7],[8205,7],[8526,7],[8566,9],[8714,7],[9473,7],[10007,9],[10190,7]]},"1140":{"position":[[2769,7],[2860,7],[2929,8],[2972,8],[3069,7],[5235,7],[5791,8],[5854,7],[5976,7],[6036,7],[6145,7],[6250,7],[6288,7],[6351,8],[6458,8],[6664,7],[6748,7],[6817,7],[6848,7],[6879,8],[7058,7],[7131,7],[7452,7],[7492,9],[7640,7],[8399,7],[8933,9],[9116,7]]},"1142":{"position":[[39,7],[1235,8],[1298,7],[1420,7],[1480,7],[1589,7],[1694,7],[1732,7],[1795,8],[1902,8],[2108,7],[2192,7],[2261,7],[2292,7],[2323,8],[2502,7],[2575,7],[2896,7],[2936,9],[3084,7],[3843,7],[4377,9],[4560,7]]},"1144":{"position":[[88,9],[705,9],[888,7]]},"1146":{"position":[[619,7],[1175,8],[1238,7],[1360,7],[1420,7],[1529,7],[1634,7],[1672,7],[1735,8],[1842,8],[2048,7],[2132,7],[2201,7],[2232,7],[2263,8],[2442,7],[2515,7],[2836,7],[2876,9],[3024,7],[3783,7],[4317,9],[4500,7]]},"1148":{"position":[[3070,7],[3235,7],[3659,7],[4215,8],[4278,7],[4400,7],[4460,7],[4569,7],[4674,7],[4712,7],[4775,8],[4882,8],[5088,7],[5172,7],[5241,7],[5272,7],[5303,8],[5482,7],[5555,7],[5876,7],[5916,9],[6064,7],[6823,7],[7258,7],[7908,9],[8091,7]]},"1150":{"position":[[940,9],[1123,7]]},"1152":{"position":[[638,9],[821,7]]},"1154":{"position":[[93,9],[793,9],[976,7]]},"1155":{"position":[[1271,8],[1334,7],[1456,7],[1516,7],[1625,7],[1730,7],[1768,7],[1831,8],[1938,8],[2144,7],[2228,7],[2297,7],[2328,7],[2359,8],[2538,7],[2611,7],[2932,7],[2972,9],[3120,7],[3879,7],[4413,9],[4596,7]]},"1156":{"position":[[51,7],[849,8],[912,7],[1034,7],[1094,7],[1203,7],[1308,7],[1346,7],[1409,8],[1516,8],[1722,7],[1806,7],[1875,7],[1906,7],[1937,8],[2116,7],[2189,7],[2510,7],[2550,9],[2698,7],[3457,7],[3991,9],[4174,7]]},"1157":{"position":[[576,9],[759,7]]},"1158":{"position":[[570,9],[753,7]]},"1159":{"position":[[570,9],[753,7]]},"1161":{"position":[[591,7],[1565,9],[1748,7]]},"1163":{"position":[[417,7],[951,9],[1134,7]]},"1165":{"position":[[246,7],[780,9],[963,7]]},"1167":{"position":[[3773,7],[3864,7],[3933,8],[3976,8],[4073,7],[6239,7],[6795,8],[6858,7],[6980,7],[7040,7],[7149,7],[7254,7],[7292,7],[7355,8],[7462,8],[7668,7],[7752,7],[7821,7],[7852,7],[7883,8],[8062,7],[8135,7],[8456,7],[8496,9],[8644,7],[9403,7],[9937,9],[10120,7]]},"1169":{"position":[[634,8],[697,7],[819,7],[879,7],[988,7],[1093,7],[1131,7],[1194,8],[1301,8],[1507,7],[1591,7],[1660,7],[1691,7],[1722,8],[1901,7],[1974,7],[2295,7],[2335,9],[2511,7],[3045,9],[3228,7]]},"1171":{"position":[[0,8],[92,9],[190,7],[353,7],[1286,9],[1469,7]]},"1172":{"position":[[178,8],[243,8],[325,8],[441,8],[507,7],[782,8],[795,7],[1009,7],[1245,7],[1473,8],[1704,8],[1748,8],[1790,7],[1843,7],[1937,8],[1967,7],[2263,8],[2671,9],[2854,7]]},"1173":{"position":[[14,7],[309,7],[545,7],[773,8],[1358,9],[1541,7]]},"1174":{"position":[[213,7],[786,9],[969,7]]},"1175":{"position":[[233,7],[782,9],[965,7]]},"1176":{"position":[[10,7],[64,7],[317,7],[518,7],[565,7],[951,9],[1134,7]]},"1177":{"position":[[229,7],[872,9],[1055,7]]},"1178":{"position":[[383,7],[747,7],[1189,9],[1372,7]]},"1179":{"position":[[249,7],[485,7],[986,9],[1169,7]]},"1180":{"position":[[579,7],[815,7],[1257,9],[1440,7]]},"1181":{"position":[[26,7],[334,7],[803,7],[1777,9],[1960,7]]},"1182":{"position":[[271,7],[820,9],[1003,7]]},"1183":{"position":[[226,7],[775,9],[958,7]]},"1185":{"position":[[77,9],[620,9],[803,7]]},"1186":{"position":[[1294,7],[1459,7],[1883,7],[2439,8],[2502,7],[2624,7],[2684,7],[2793,7],[2898,7],[2936,7],[2999,8],[3106,8],[3312,7],[3396,7],[3465,7],[3496,7],[3527,8],[3706,7],[3779,7],[4100,7],[4140,9],[4288,7],[5047,7],[5581,9],[5764,7]]},"1187":{"position":[[1307,7],[1472,7],[1896,7],[2452,8],[2515,7],[2637,7],[2697,7],[2806,7],[2911,7],[2949,7],[3012,8],[3119,8],[3325,7],[3409,7],[3478,7],[3509,7],[3540,8],[3719,7],[3792,7],[4113,7],[4153,9],[4301,7],[5060,7],[5594,9],[5777,7]]},"1188":{"position":[[2822,7],[2913,7],[2982,8],[3025,8],[3122,7],[6033,7],[6198,7],[6622,7],[7178,8],[7241,7],[7363,7],[7423,7],[7532,7],[7637,7],[7675,7],[7738,8],[7845,8],[8051,7],[8135,7],[8204,7],[8235,7],[8266,8],[8445,7],[8518,7],[8839,7],[8879,9],[9027,7],[9786,7],[10320,9],[10503,7]]},"1190":{"position":[[81,9],[216,7],[313,7],[1025,7],[1951,9],[2134,7]]},"1191":{"position":[[1039,8],[1102,7],[1224,7],[1284,7],[1393,7],[1498,7],[1536,7],[1599,8],[1706,8],[1912,7],[1996,7],[2065,7],[2096,7],[2127,8],[2306,7],[2379,7],[2700,7],[2740,9],[2888,7],[3647,7],[4181,9],[4364,7]]},"1192":{"position":[[53,7],[150,7],[658,7],[1214,8],[1277,7],[1399,7],[1459,7],[1568,7],[1673,7],[1711,7],[1774,8],[1881,8],[2087,7],[2171,7],[2240,7],[2271,7],[2302,8],[2481,7],[2554,7],[2875,7],[2915,9],[3063,7],[3822,7],[4356,9],[4539,7]]},"1193":{"position":[[1266,8],[1329,7],[1451,7],[1511,7],[1620,7],[1725,7],[1763,7],[1826,8],[1933,8],[2139,7],[2223,7],[2292,7],[2323,7],[2354,8],[2533,7],[2606,7],[2927,7],[2967,9],[3115,7],[3874,7],[4408,9],[4591,7]]},"1194":{"position":[[906,8],[969,7],[1091,7],[1151,7],[1260,7],[1365,7],[1403,7],[1466,8],[1573,8],[1779,7],[1863,7],[1932,7],[1963,7],[1994,8],[2173,7],[2246,7],[2567,7],[2607,9],[2755,7],[3514,7],[4048,9],[4231,7]]},"1195":{"position":[[884,8],[947,7],[1069,7],[1129,7],[1238,7],[1343,7],[1381,7],[1444,8],[1551,8],[1757,7],[1841,7],[1910,7],[1941,7],[1972,8],[2151,7],[2224,7],[2545,7],[2585,9],[2733,7],[3492,7],[4026,9],[4209,7]]},"1196":{"position":[[694,8],[757,7],[879,7],[939,7],[1048,7],[1153,7],[1191,7],[1254,8],[1361,8],[1567,7],[1651,7],[1720,7],[1751,7],[1782,8],[1961,7],[2034,7],[2355,7],[2395,9],[2543,7],[3302,7],[3836,9],[4019,7]]},"1197":{"position":[[532,7],[697,7],[1121,7],[1677,8],[1740,7],[1862,7],[1922,7],[2031,7],[2136,7],[2174,7],[2237,8],[2344,8],[2550,7],[2634,7],[2703,7],[2734,7],[2765,8],[2944,7],[3017,7],[3338,7],[3378,9],[3526,7],[4285,7],[4819,9],[5002,7]]},"1198":{"position":[[542,7],[707,7],[1131,7],[1687,8],[1750,7],[1872,7],[1932,7],[2041,7],[2146,7],[2184,7],[2247,8],[2354,8],[2560,7],[2644,7],[2713,7],[2744,7],[2775,8],[2954,7],[3027,7],[3348,7],[3388,9],[3536,7],[4295,7],[4829,9],[5012,7]]},"1199":{"position":[[570,7],[735,7],[1159,7],[1715,8],[1778,7],[1900,7],[1960,7],[2069,7],[2174,7],[2212,7],[2275,8],[2382,8],[2588,7],[2672,7],[2741,7],[2772,7],[2803,8],[2982,7],[3055,7],[3376,7],[3416,9],[3564,7],[4323,7],[4857,9],[5040,7]]},"1200":{"position":[[437,7],[602,7],[1026,7],[1582,8],[1645,7],[1767,7],[1827,7],[1936,7],[2041,7],[2079,7],[2142,8],[2249,8],[2455,7],[2539,7],[2608,7],[2639,7],[2670,8],[2849,7],[2922,7],[3243,7],[3283,9],[3431,7],[4190,7],[4724,9],[4907,7]]},"1201":{"position":[[842,8],[905,7],[1027,7],[1087,7],[1196,7],[1301,7],[1339,7],[1402,8],[1509,8],[1715,7],[1799,7],[1868,7],[1899,7],[1930,8],[2109,7],[2182,7],[2503,7],[2543,9],[2691,7],[3450,7],[3984,9],[4167,7]]},"1202":{"position":[[89,9],[728,9],[911,7],[1984,8],[2047,7],[2169,7],[2229,7],[2338,7],[2443,7],[2481,7],[2544,8],[2651,8],[2857,7],[2941,7],[3010,7],[3041,7],[3072,8],[3251,7],[3324,7],[3645,7],[3685,9],[3833,7],[4592,7],[5126,9],[5309,7],[6381,8],[6444,7],[6566,7],[6626,7],[6735,7],[6840,7],[6878,7],[6941,8],[7048,8],[7254,7],[7338,7],[7407,7],[7438,7],[7469,8],[7648,7],[7721,7],[8042,7],[8082,9],[8230,7],[8989,7],[9523,9],[9706,7]]},"1203":{"position":[[34,7],[520,7],[1076,8],[1139,7],[1261,7],[1321,7],[1430,7],[1535,7],[1573,7],[1636,8],[1743,8],[1949,7],[2033,7],[2102,7],[2133,7],[2164,8],[2343,7],[2416,7],[2737,7],[2777,9],[2925,7],[3684,7],[4218,9],[4401,7]]},"1204":{"position":[[126,9],[920,8],[983,7],[1105,7],[1165,7],[1274,7],[1379,7],[1417,7],[1480,8],[1587,8],[1793,7],[1877,7],[1946,7],[1977,7],[2008,8],[2187,7],[2260,7],[2581,7],[2621,9],[2769,7],[3528,7],[4062,9],[4245,7],[4964,9],[5147,7],[5894,9],[6077,7],[6796,9],[6979,7],[7782,9],[7965,7],[8736,9],[8919,7],[9683,9],[9866,7],[10613,9],[10796,7]]},"1205":{"position":[[1693,7],[2249,8],[2312,7],[2434,7],[2494,7],[2603,7],[2708,7],[2746,7],[2809,8],[2916,8],[3122,7],[3206,7],[3275,7],[3306,7],[3337,8],[3516,7],[3589,7],[3910,7],[3950,9],[4098,7],[4857,7],[5391,9],[5574,7]]},"1206":{"position":[[720,8],[783,7],[905,7],[965,7],[1074,7],[1179,7],[1217,7],[1280,8],[1387,8],[1593,7],[1677,7],[1746,7],[1777,7],[1808,8],[1987,7],[2060,7],[2381,7],[2421,9],[2569,7],[3328,7],[4090,9],[4273,7]]},"1207":{"position":[[877,8],[940,7],[1062,7],[1122,7],[1231,7],[1336,7],[1374,7],[1437,8],[1544,8],[1750,7],[1834,7],[1903,7],[1934,7],[1965,8],[2144,7],[2217,7],[2538,7],[2578,9],[2726,7],[3485,7],[4019,9],[4202,7]]},"1209":{"position":[[2225,8],[2288,7],[2410,7],[2470,7],[2579,7],[2684,7],[2722,7],[2785,8],[2892,8],[3098,7],[3182,7],[3251,7],[3282,7],[3313,8],[3492,7],[3565,7],[3886,7],[3926,9],[4074,7],[4833,7],[5367,9],[5550,7]]},"1211":{"position":[[691,9],[874,7]]},"1213":{"position":[[462,9],[645,7]]},"1215":{"position":[[546,9],[729,7]]},"1217":{"position":[[367,7],[421,7],[584,8],[607,7],[2514,7],[2605,7],[2674,8],[2717,8],[2814,7],[4980,7],[5536,8],[5599,7],[5721,7],[5781,7],[5890,7],[5995,7],[6033,7],[6096,8],[6203,8],[6409,7],[6493,7],[6562,7],[6593,7],[6624,8],[6803,7],[6876,7],[7197,7],[7237,9],[7385,7],[8144,7],[8678,9],[8861,7]]},"1219":{"position":[[136,8],[262,7],[801,8],[829,7],[1522,8],[1585,7],[1707,7],[1767,7],[1876,7],[1981,7],[2019,7],[2082,8],[2189,8],[2395,7],[2479,7],[2548,7],[2579,7],[2610,8],[2789,7],[2862,7],[3183,7],[3223,9],[3399,7],[3933,9],[4116,7]]},"1221":{"position":[[80,9],[665,9],[848,7]]},"1222":{"position":[[646,8],[709,7],[831,7],[891,7],[1000,7],[1105,7],[1143,7],[1206,8],[1313,8],[1519,7],[1603,7],[1672,7],[1703,7],[1734,8],[1913,7],[1986,7],[2307,7],[2347,9],[2495,7],[3254,7],[3804,9],[3987,7]]},"1223":{"position":[[656,8],[719,7],[841,7],[901,7],[1010,7],[1115,7],[1153,7],[1216,8],[1323,8],[1529,7],[1613,7],[1682,7],[1713,7],[1744,8],[1923,7],[1996,7],[2317,7],[2357,9],[2505,7],[3264,7],[3814,9],[3997,7]]},"1224":{"position":[[836,8],[899,7],[1021,7],[1081,7],[1190,7],[1295,7],[1333,7],[1396,8],[1503,8],[1709,7],[1793,7],[1862,7],[1893,7],[1924,8],[2103,7],[2176,7],[2497,7],[2537,9],[2713,7],[3247,9],[3430,7]]},"1226":{"position":[[5448,7],[6004,8],[6067,7],[6189,7],[6249,7],[6358,7],[6463,7],[6501,7],[6564,8],[6671,8],[6877,7],[6961,7],[7030,7],[7061,7],[7092,8],[7271,7],[7344,7],[7665,7],[7705,9],[7853,7],[8612,7],[9146,9],[9329,7]]},"1228":{"position":[[4595,7],[4686,7],[4755,8],[4798,8],[4895,7],[7061,7],[7617,8],[7680,7],[7802,7],[7862,7],[7971,7],[8076,7],[8114,7],[8177,8],[8284,8],[8490,7],[8574,7],[8643,7],[8674,7],[8705,8],[8884,7],[8957,7],[9278,7],[9318,9],[9466,7],[10225,7],[10759,9],[10942,7]]},"1235":{"position":[[3485,8],[3548,7],[3670,7],[3730,7],[3839,7],[3944,7],[3982,7],[4045,8],[4152,8],[4358,7],[4442,7],[4511,7],[4542,7],[4573,8],[4752,7],[4825,7],[5146,7],[5186,9],[5334,7],[6093,7],[6627,9],[6810,7]]},"1237":{"position":[[47,7],[5618,7],[6174,8],[6237,7],[6359,7],[6419,7],[6528,7],[6633,7],[6671,7],[6734,8],[6841,8],[7047,7],[7131,7],[7200,7],[7231,7],[7262,8],[7441,7],[7514,7],[7835,7],[7875,9],[8023,7],[8782,7],[9316,9],[9499,7]]},"1242":{"position":[[28,8]]},"1243":{"position":[[57,9],[168,8],[335,9],[371,8],[612,7],[650,7],[790,7],[915,7],[952,7],[1108,7],[1143,7]]},"1245":{"position":[[309,7]]},"1258":{"position":[[414,8]]},"1289":{"position":[[414,8]]},"1317":{"position":[[414,8]]},"1348":{"position":[[2840,7]]},"1349":{"position":[[985,7]]},"1350":{"position":[[3956,7]]},"1351":{"position":[[1176,7]]},"1352":{"position":[[3955,7]]},"1353":{"position":[[1559,7]]},"1354":{"position":[[1397,7]]},"1355":{"position":[[2536,7]]},"1356":{"position":[[903,7]]},"1357":{"position":[[576,7]]},"1358":{"position":[[1297,7]]},"1359":{"position":[[1134,7]]},"1360":{"position":[[1485,8],[1765,7],[2811,7],[3087,7],[3267,8],[3615,8],[3912,7],[4036,7],[4345,8],[4609,7],[5133,7],[5373,7]]},"1361":{"position":[[1124,7]]},"1362":{"position":[[5488,7],[7734,7],[10970,7],[11081,7],[11961,7]]},"1363":{"position":[[3234,7]]},"1364":{"position":[[5517,7],[7973,7],[8583,7],[11937,7],[12048,7]]},"1365":{"position":[[1058,7]]},"1366":{"position":[[1264,7]]},"1367":{"position":[[6915,7],[11451,7]]},"1368":{"position":[[1614,7]]},"1369":{"position":[[666,7]]},"1370":{"position":[[913,7]]},"1371":{"position":[[542,7]]},"1372":{"position":[[2180,7]]},"1373":{"position":[[3052,7],[5486,7],[5596,7],[6982,7],[8368,7]]},"1374":{"position":[[753,7],[948,7],[2469,7],[2651,7],[2751,8],[3225,8],[3607,8]]},"1375":{"position":[[578,7]]},"1376":{"position":[[534,7]]},"1377":{"position":[[773,7]]},"1378":{"position":[[520,7]]},"1379":{"position":[[543,7]]},"1380":{"position":[[1014,7]]},"1381":{"position":[[920,7]]},"1382":{"position":[[3400,7],[6325,7],[7839,7],[7950,7],[9302,7]]},"1383":{"position":[[1231,8],[1638,7],[2396,7],[2672,7],[2766,7],[2948,7],[4436,8],[4554,7],[5261,8],[5859,7],[6261,8],[6378,8],[6641,7],[7241,7],[7376,7],[8072,7],[8440,7],[8503,7],[8572,8],[8780,7]]},"1384":{"position":[[4562,7],[7151,7],[8769,7],[9459,7],[9724,7],[9964,7],[11272,7],[13903,7],[14014,7],[14193,7],[15647,7],[16946,7],[17194,7],[19899,7],[20115,7],[20919,7]]},"1385":{"position":[[2239,7],[4181,7],[5530,7]]},"1386":{"position":[[877,7]]},"1387":{"position":[[4508,7],[7164,7],[7274,7],[7452,7],[8903,7]]},"1388":{"position":[[3700,7],[7194,7],[8564,7]]},"1389":{"position":[[4561,7]]},"1390":{"position":[[813,7]]},"1391":{"position":[[766,7]]},"1392":{"position":[[916,7]]},"1393":{"position":[[1488,7]]},"1394":{"position":[[936,7]]},"1395":{"position":[[945,7]]},"1396":{"position":[[742,7]]},"1397":{"position":[[923,7]]},"1398":{"position":[[1595,7],[3543,7],[3583,7],[6547,9],[6679,7]]},"1399":{"position":[[778,7]]},"1400":{"position":[[647,7]]},"1401":{"position":[[722,7]]},"1402":{"position":[[878,7],[1822,8],[1884,7]]},"1403":{"position":[[1266,8],[1468,7],[2226,7],[2502,7],[2682,8],[3030,8],[3327,7],[3451,7],[3760,8],[4024,7],[5290,7],[6476,7],[7172,7],[7517,8],[7605,8]]},"1404":{"position":[[711,7]]},"1405":{"position":[[1402,7]]},"1406":{"position":[[618,7]]},"1407":{"position":[[1443,7]]},"1408":{"position":[[1139,7]]},"1409":{"position":[[673,7]]},"1410":{"position":[[1681,8],[1835,7]]},"1411":{"position":[[656,7]]},"1412":{"position":[[1856,7]]},"1413":{"position":[[2040,7]]},"1414":{"position":[[907,7]]},"1415":{"position":[[2889,7],[4063,7],[4941,7]]},"1416":{"position":[[1541,7]]},"1417":{"position":[[1130,7]]},"1418":{"position":[[831,7]]},"1419":{"position":[[959,7]]},"1420":{"position":[[1223,7]]},"1421":{"position":[[1198,7]]},"1422":{"position":[[1101,7],[2529,7]]},"1423":{"position":[[1090,7],[2198,7]]},"1424":{"position":[[1215,7]]},"1425":{"position":[[831,7]]},"1426":{"position":[[1174,7],[2748,7]]},"1427":{"position":[[2071,7]]},"1428":{"position":[[813,7]]},"1429":{"position":[[2735,7]]},"1430":{"position":[[1589,7]]},"1431":{"position":[[933,7]]},"1432":{"position":[[1454,7]]},"1433":{"position":[[975,7]]},"1434":{"position":[[649,7]]},"1435":{"position":[[613,7]]},"1436":{"position":[[629,7]]},"1437":{"position":[[699,7]]},"1438":{"position":[[833,7]]},"1439":{"position":[[2357,7]]},"1440":{"position":[[2923,7]]},"1441":{"position":[[655,7]]},"1442":{"position":[[728,7]]},"1443":{"position":[[950,7]]},"1444":{"position":[[866,7]]},"1445":{"position":[[555,7]]},"1446":{"position":[[889,7]]},"1447":{"position":[[771,7]]},"1448":{"position":[[1206,7]]},"1449":{"position":[[1140,7]]},"1450":{"position":[[1019,7]]},"1451":{"position":[[1019,7]]},"1452":{"position":[[565,7]]},"1453":{"position":[[1151,7]]},"1454":{"position":[[3517,7],[5552,7],[7666,7]]},"1455":{"position":[[1404,7]]},"1456":{"position":[[749,7]]},"1457":{"position":[[808,7]]},"1458":{"position":[[1343,7]]},"1459":{"position":[[822,7]]},"1460":{"position":[[934,7]]},"1461":{"position":[[1149,7]]},"1462":{"position":[[4530,7]]},"1463":{"position":[[656,7]]},"1464":{"position":[[564,7]]},"1465":{"position":[[1662,7]]},"1466":{"position":[[900,7]]},"1467":{"position":[[5219,7],[8647,7]]},"1468":{"position":[[664,7]]},"1469":{"position":[[1037,7]]},"1470":{"position":[[3566,7]]},"1471":{"position":[[1900,7]]},"1472":{"position":[[1859,7]]},"1473":{"position":[[2174,7],[4018,7]]},"1474":{"position":[[1565,7]]},"1475":{"position":[[2036,7]]},"1476":{"position":[[641,7]]},"1477":{"position":[[793,7]]},"1478":{"position":[[1284,7]]},"1479":{"position":[[733,7]]},"1480":{"position":[[1146,7]]},"1481":{"position":[[1679,7]]},"1482":{"position":[[753,7]]},"1483":{"position":[[587,7]]},"1484":{"position":[[659,7]]},"1485":{"position":[[919,7],[2605,7]]},"1486":{"position":[[1163,7],[2769,8]]},"1487":{"position":[[858,7]]}},"keywords":{}}],["command>",{"_index":4003,"title":{},"content":{"865":{"position":[[799,11]]}},"keywords":{}}],["command'",{"_index":5815,"title":{},"content":{"1127":{"position":[[315,9]]},"1224":{"position":[[205,9]]}},"keywords":{}}],["command.declar",{"_index":5101,"title":{},"content":{"1030":{"position":[[109,15]]}},"keywords":{}}],["command:buck",{"_index":6269,"title":{},"content":{"1260":{"position":[[506,12]]},"1291":{"position":[[506,12]]},"1319":{"position":[[506,12]]}},"keywords":{}}],["command_alia",{"_index":7080,"title":{"1374":{"position":[[0,14]]}},"content":{"1374":{"position":[[4,14],[664,13],[2793,13],[3074,14],[3301,14],[3393,14],[3493,14],[3852,14]]}},"keywords":{}}],["command_executor_config",{"_index":1889,"title":{},"content":{"362":{"position":[[882,23]]},"372":{"position":[[102,23],[452,23]]},"374":{"position":[[1388,23],[1543,24]]},"741":{"position":[[882,23]]},"751":{"position":[[102,23],[452,23]]},"753":{"position":[[1388,23],[1543,24]]}},"keywords":{}}],["command_line_arg",{"_index":5780,"title":{},"content":{"1124":{"position":[[118,18]]}},"keywords":{}}],["command_line_input",{"_index":955,"title":{},"content":{"67":{"position":[[17,19]]},"455":{"position":[[17,19]]}},"keywords":{}}],["commandexecutorconfig",{"_index":1871,"title":{"362":{"position":[[0,22]]},"741":{"position":[[0,22]]}},"content":{"362":{"position":[[4,22]]},"741":{"position":[[4,22]]},"975":{"position":[[78,23]]},"1072":{"position":[[632,22],[1162,22]]}},"keywords":{}}],["commandexecutorconfig(local_en",{"_index":5517,"title":{},"content":{"1072":{"position":[[985,35]]}},"keywords":{}}],["commandlin",{"_index":2055,"title":{},"content":{"386":{"position":[[477,11]]},"765":{"position":[[477,11]]}},"keywords":{}}],["commandresult",{"_index":5785,"title":{},"content":{"1125":{"position":[[28,14],[81,13]]}},"keywords":{}}],["commandsprob",{"_index":4826,"title":{},"content":{"970":{"position":[[84,16]]}},"keywords":{}}],["commas>",{"_index":4665,"title":{},"content":{"942":{"position":[[101,11]]}},"keywords":{}}],["comment",{"_index":2649,"title":{"579":{"position":[[0,9]]},"880":{"position":[[12,8]]}},"content":{"579":{"position":[[71,7]]},"1097":{"position":[[235,10]]}},"keywords":{}}],["commit",{"_index":342,"title":{},"content":{"10":{"position":[[840,6]]},"15":{"position":[[328,6]]},"696":{"position":[[428,8]]},"1096":{"position":[[160,7]]},"1150":{"position":[[435,6]]},"1232":{"position":[[3838,7],[3854,6],[3942,6]]},"1404":{"position":[[537,6],[1484,7]]}},"keywords":{}}],["commit_hash",{"_index":5622,"title":{},"content":{"1096":{"position":[[310,11],[345,11]]}},"keywords":{}}],["commit_id",{"_index":6484,"title":{},"content":{"1351":{"position":[[3946,9],[4565,9]]}},"keywords":{}}],["common",{"_index":667,"title":{"843":{"position":[[0,6]]},"849":{"position":[[0,6]]},"1238":{"position":[[0,6]]},"1259":{"position":[[0,6]]},"1290":{"position":[[0,6]]},"1318":{"position":[[0,6]]}},"content":{"22":{"position":[[1046,6]]},"23":{"position":[[1671,6],[2095,12]]},"678":{"position":[[63,6],[150,6]]},"708":{"position":[[2,6],[173,6],[639,6]]},"722":{"position":[[977,6]]},"845":{"position":[[216,6]]},"846":{"position":[[430,6],[698,6],[1063,6]]},"847":{"position":[[247,6]]},"848":{"position":[[609,6]]},"860":{"position":[[418,6]]},"921":{"position":[[81,6]]},"937":{"position":[[3034,6],[3976,6],[4061,6]]},"1011":{"position":[[332,6]]},"1107":{"position":[[2,6]]},"1250":{"position":[[109,6]]},"1251":{"position":[[2,6]]},"1255":{"position":[[385,6]]},"1355":{"position":[[7697,6]]},"1362":{"position":[[4961,6]]},"1364":{"position":[[4987,6]]},"1386":{"position":[[3224,6]]},"1398":{"position":[[2415,6],[2969,6],[2987,6],[3443,6],[5001,6]]},"1399":{"position":[[2109,6]]},"1427":{"position":[[6774,6]]}},"keywords":{}}],["common.h",{"_index":7262,"title":{},"content":{"1386":{"position":[[3165,8],[3584,11],[4061,8]]}},"keywords":{}}],["common_app_env",{"_index":7606,"title":{},"content":{"1398":{"position":[[586,15],[2357,15]]}},"keywords":{}}],["common_paramet",{"_index":7193,"title":{},"content":{"1383":{"position":[[8485,17]]}},"keywords":{}}],["common_pch",{"_index":7272,"title":{},"content":{"1386":{"position":[[3564,13],[3819,14]]}},"keywords":{}}],["commonli",{"_index":281,"title":{},"content":{"9":{"position":[[2254,8]]},"570":{"position":[[490,8]]},"680":{"position":[[628,8]]},"717":{"position":[[12,9]]},"937":{"position":[[616,8]]},"938":{"position":[[130,9]]},"1243":{"position":[[706,8]]}},"keywords":{}}],["commun",{"_index":1904,"title":{},"content":{"362":{"position":[[1975,13]]},"741":{"position":[[1975,13]]},"1068":{"position":[[16,11]]},"1486":{"position":[[945,13],[3753,12]]}},"keywords":{}}],["commut",{"_index":6296,"title":{},"content":{"1282":{"position":[[104,12]]},"1283":{"position":[[121,12]]},"1284":{"position":[[97,12]]},"1313":{"position":[[104,12]]},"1314":{"position":[[121,12]]},"1315":{"position":[[97,12]]},"1341":{"position":[[104,12]]},"1342":{"position":[[121,12]]},"1343":{"position":[[97,12]]}},"keywords":{}}],["comp",{"_index":4744,"title":{},"content":{"954":{"position":[[310,4],[683,4],[938,4]]}},"keywords":{}}],["comp"",{"_index":5158,"title":{},"content":{"1040":{"position":[[2523,11]]}},"keywords":{}}],["compact",{"_index":5874,"title":{},"content":{"1136":{"position":[[2029,7],[2054,7],[2210,7]]},"1148":{"position":[[2385,7],[2410,7],[2566,7]]},"1209":{"position":[[1262,7],[1287,7],[1443,7]]},"1235":{"position":[[2522,7],[2547,7],[2703,7]]}},"keywords":{}}],["compar",{"_index":163,"title":{"8":{"position":[[14,8]]}},"content":{"23":{"position":[[3518,8]]},"67":{"position":[[131,8]]},"440":{"position":[[134,7]]},"455":{"position":[[131,8]]},"819":{"position":[[134,7]]},"1050":{"position":[[547,7]]},"1056":{"position":[[951,10]]},"1262":{"position":[[363,8]]},"1293":{"position":[[363,8]]},"1321":{"position":[[363,8]]}},"keywords":{}}],["comparison",{"_index":3251,"title":{"910":{"position":[[30,11]]}},"content":{"654":{"position":[[184,11],[318,11]]},"655":{"position":[[181,11]]},"702":{"position":[[44,10]]}},"keywords":{}}],["compat",{"_index":661,"title":{"1019":{"position":[[16,14]]},"1020":{"position":[[8,14]]},"1113":{"position":[[3,14]]}},"content":{"22":{"position":[[900,14]]},"126":{"position":[[200,10]]},"249":{"position":[[200,10]]},"298":{"position":[[1889,10]]},"374":{"position":[[373,10]]},"436":{"position":[[83,13]]},"753":{"position":[[373,10]]},"815":{"position":[[83,13]]},"851":{"position":[[1096,10]]},"900":{"position":[[1737,13]]},"907":{"position":[[368,10]]},"919":{"position":[[1563,14]]},"945":{"position":[[213,13]]},"995":{"position":[[584,13]]},"1019":{"position":[[292,13],[406,10],[491,11]]},"1020":{"position":[[313,11]]},"1021":{"position":[[597,13]]},"1026":{"position":[[983,14]]},"1050":{"position":[[2057,10]]},"1056":{"position":[[863,10]]},"1070":{"position":[[4,13],[692,10]]},"1105":{"position":[[2396,13]]},"1112":{"position":[[1488,13]]},"1113":{"position":[[237,13],[647,13]]},"1140":{"position":[[905,10]]},"1167":{"position":[[375,13],[523,13],[672,13],[851,13],[1025,13],[1213,13],[1392,13],[1556,13],[1726,13],[1873,13]]},"1188":{"position":[[958,10]]},"1190":{"position":[[266,13]]},"1192":{"position":[[103,13]]},"1228":{"position":[[998,10],[1047,10]]},"1348":{"position":[[2954,10],[3080,10],[3211,10]]},"1349":{"position":[[1099,10],[1225,10],[1356,10]]},"1350":{"position":[[4070,10],[4196,10],[4327,10]]},"1351":{"position":[[1291,10],[1418,10],[1550,10]]},"1352":{"position":[[4069,10],[4195,10],[4326,10]]},"1353":{"position":[[1673,10],[1799,10],[1930,10]]},"1354":{"position":[[1511,10],[1637,10],[1768,10]]},"1355":{"position":[[2651,10],[2778,10],[2910,10]]},"1356":{"position":[[1017,10],[1143,10],[1274,10]]},"1357":{"position":[[690,10],[816,10],[947,10]]},"1358":{"position":[[1411,10],[1537,10],[1668,10],[2576,10]]},"1359":{"position":[[1248,10],[1374,10],[1505,10]]},"1360":{"position":[[1880,10],[2007,10],[2139,10]]},"1361":{"position":[[1238,10],[1364,10],[1495,10]]},"1362":{"position":[[5603,10],[5730,10],[5862,10],[10162,10],[10353,10]]},"1363":{"position":[[3349,10],[3476,10],[3608,10]]},"1364":{"position":[[5632,10],[5759,10],[5891,10],[11276,10],[11467,10]]},"1365":{"position":[[1172,10],[1298,10],[1429,10]]},"1366":{"position":[[1379,10],[1506,10],[1638,10]]},"1367":{"position":[[7030,10],[7157,10],[7289,10],[11079,10],[11270,10]]},"1368":{"position":[[1728,10],[1854,10],[1985,10]]},"1369":{"position":[[780,10],[906,10],[1037,10]]},"1370":{"position":[[1028,10],[1155,10],[1287,10]]},"1371":{"position":[[656,10],[782,10],[913,10]]},"1372":{"position":[[2294,10],[2420,10],[2551,10]]},"1373":{"position":[[3166,10],[3292,10],[3423,10]]},"1374":{"position":[[1063,10],[1190,10],[1322,10]]},"1375":{"position":[[692,10],[818,10],[949,10]]},"1376":{"position":[[648,10],[774,10],[905,10]]},"1377":{"position":[[887,10],[1013,10],[1144,10]]},"1378":{"position":[[634,10],[760,10],[891,10]]},"1379":{"position":[[657,10],[783,10],[914,10]]},"1380":{"position":[[1128,10],[1254,10],[1385,10]]},"1381":{"position":[[1034,10],[1160,10],[1291,10]]},"1382":{"position":[[3515,10],[3642,10],[3774,10],[6888,10],[7079,10]]},"1383":{"position":[[1753,10],[1880,10],[2012,10]]},"1384":{"position":[[4677,10],[4804,10],[4936,10],[13242,10],[13433,10]]},"1385":{"position":[[2353,10],[2479,10],[2610,10]]},"1386":{"position":[[991,10],[1117,10],[1248,10],[2394,14],[5995,13]]},"1387":{"position":[[4622,10],[4748,10],[4879,10]]},"1388":{"position":[[3815,10],[3942,10],[4074,10],[7757,10],[7948,10]]},"1389":{"position":[[4675,10],[4801,10],[4932,10]]},"1390":{"position":[[927,10],[1053,10],[1184,10]]},"1391":{"position":[[880,10],[1006,10],[1137,10]]},"1392":{"position":[[1030,10],[1156,10],[1287,10]]},"1393":{"position":[[1603,10],[1730,10],[1862,10]]},"1394":{"position":[[1050,10],[1176,10],[1307,10]]},"1395":{"position":[[1060,10],[1187,10],[1319,10]]},"1396":{"position":[[856,10],[982,10],[1113,10]]},"1397":{"position":[[1037,10],[1163,10],[1294,10]]},"1398":{"position":[[1710,10],[1837,10],[1969,10]]},"1399":{"position":[[892,10],[1018,10],[1149,10]]},"1400":{"position":[[761,10],[887,10],[1018,10]]},"1401":{"position":[[836,10],[962,10],[1093,10]]},"1402":{"position":[[992,10],[1118,10],[1249,10]]},"1403":{"position":[[1583,10],[1710,10],[1842,10]]},"1404":{"position":[[825,10],[951,10],[1082,10]]},"1405":{"position":[[1516,10],[1642,10],[1773,10]]},"1406":{"position":[[732,10],[858,10],[989,10]]},"1407":{"position":[[1557,10],[1683,10],[1814,10]]},"1408":{"position":[[1253,10],[1379,10],[1510,10]]},"1409":{"position":[[787,10],[913,10],[1044,10]]},"1410":{"position":[[1950,10],[2077,10],[2209,10]]},"1411":{"position":[[770,10],[896,10],[1027,10]]},"1412":{"position":[[1971,10],[2098,10],[2230,10]]},"1413":{"position":[[2154,10],[2280,10],[2411,10]]},"1414":{"position":[[1021,10],[1147,10],[1278,10]]},"1415":{"position":[[3003,10],[3129,10],[3260,10]]},"1416":{"position":[[1655,10],[1781,10],[1912,10]]},"1417":{"position":[[1244,10],[1370,10],[1501,10]]},"1418":{"position":[[945,10],[1071,10],[1202,10]]},"1419":{"position":[[1073,10],[1199,10],[1330,10]]},"1420":{"position":[[1337,10],[1463,10],[1594,10]]},"1421":{"position":[[1312,10],[1438,10],[1569,10]]},"1422":{"position":[[1216,10],[1343,10],[1475,10]]},"1423":{"position":[[1204,10],[1330,10],[1461,10]]},"1424":{"position":[[1329,10],[1455,10],[1586,10]]},"1425":{"position":[[945,10],[1071,10],[1202,10]]},"1426":{"position":[[1289,10],[1416,10],[1548,10]]},"1427":{"position":[[2186,10],[2313,10],[2445,10]]},"1428":{"position":[[927,10],[1053,10],[1184,10]]},"1429":{"position":[[2850,10],[2977,10],[3109,10]]},"1430":{"position":[[1703,10],[1829,10],[1960,10]]},"1431":{"position":[[1047,10],[1173,10],[1304,10]]},"1432":{"position":[[1568,10],[1694,10],[1825,10]]},"1433":{"position":[[1089,10],[1215,10],[1346,10]]},"1434":{"position":[[763,10],[889,10],[1020,10]]},"1435":{"position":[[727,10],[853,10],[984,10]]},"1436":{"position":[[743,10],[869,10],[1000,10]]},"1437":{"position":[[813,10],[939,10],[1070,10]]},"1438":{"position":[[948,10],[1075,10],[1207,10]]},"1439":{"position":[[2472,10],[2599,10],[2731,10]]},"1440":{"position":[[3038,10],[3165,10],[3297,10]]},"1441":{"position":[[769,10],[895,10],[1026,10]]},"1442":{"position":[[843,10],[970,10],[1102,10]]},"1443":{"position":[[1064,10],[1190,10],[1321,10]]},"1444":{"position":[[980,10],[1106,10],[1237,10]]},"1445":{"position":[[669,10],[795,10],[926,10]]},"1446":{"position":[[1003,10],[1129,10],[1260,10]]},"1447":{"position":[[885,10],[1011,10],[1142,10]]},"1448":{"position":[[1320,10],[1446,10],[1577,10]]},"1449":{"position":[[1254,10],[1380,10],[1511,10]]},"1450":{"position":[[1133,10],[1259,10],[1390,10]]},"1451":{"position":[[1133,10],[1259,10],[1390,10]]},"1452":{"position":[[679,10],[805,10],[936,10]]},"1453":{"position":[[1265,10],[1391,10],[1522,10]]},"1454":{"position":[[3631,10],[3757,10],[3888,10]]},"1455":{"position":[[1518,10],[1644,10],[1775,10]]},"1456":{"position":[[863,10],[989,10],[1120,10]]},"1457":{"position":[[922,10],[1048,10],[1179,10]]},"1458":{"position":[[1457,10],[1583,10],[1714,10]]},"1459":{"position":[[936,10],[1062,10],[1193,10]]},"1460":{"position":[[1048,10],[1174,10],[1305,10]]},"1461":{"position":[[1264,10],[1391,10],[1523,10]]},"1462":{"position":[[4644,10],[4770,10],[4901,10]]},"1463":{"position":[[770,10],[896,10],[1027,10]]},"1464":{"position":[[678,10],[804,10],[935,10]]},"1465":{"position":[[1776,10],[1902,10],[2033,10]]},"1466":{"position":[[1014,10],[1140,10],[1271,10]]},"1467":{"position":[[5334,10],[5461,10],[5593,10]]},"1468":{"position":[[778,10],[904,10],[1035,10]]},"1469":{"position":[[1152,10],[1279,10],[1411,10]]},"1470":{"position":[[3680,10],[3806,10],[3937,10]]},"1471":{"position":[[2015,10],[2142,10],[2274,10]]},"1472":{"position":[[1974,10],[2101,10],[2233,10]]},"1473":{"position":[[2289,10],[2416,10],[2548,10]]},"1474":{"position":[[1679,10],[1805,10],[1936,10]]},"1475":{"position":[[2150,10],[2276,10],[2407,10]]},"1476":{"position":[[755,10],[881,10],[1012,10]]},"1477":{"position":[[908,10],[1035,10],[1167,10]]},"1478":{"position":[[1399,10],[1526,10],[1658,10]]},"1479":{"position":[[847,10],[973,10],[1104,10]]},"1480":{"position":[[1260,10],[1386,10],[1517,10]]},"1481":{"position":[[1793,10],[1919,10],[2050,10]]},"1482":{"position":[[867,10],[993,10],[1124,10]]},"1483":{"position":[[701,10],[827,10],[958,10]]},"1484":{"position":[[773,10],[899,10],[1030,10]]},"1485":{"position":[[1033,10],[1159,10],[1290,10]]},"1486":{"position":[[1277,10],[1403,10],[1534,10]]},"1487":{"position":[[973,10],[1100,10],[1232,10]]}},"keywords":{}}],["compatible.remot",{"_index":6808,"title":{},"content":{"1362":{"position":[[10290,17]]},"1364":{"position":[[11404,17]]},"1367":{"position":[[11207,17]]},"1382":{"position":[[7016,17]]},"1384":{"position":[[13370,17]]},"1388":{"position":[[7885,17]]}},"keywords":{}}],["compatible.target_compatible_with",{"_index":5065,"title":{},"content":{"1020":{"position":[[204,34]]}},"keywords":{}}],["compatible_with",{"_index":5064,"title":{},"content":{"1020":{"position":[[39,15],[113,16]]},"1348":{"position":[[111,16]]},"1349":{"position":[[122,16]]},"1350":{"position":[[114,16]]},"1351":{"position":[[120,16],[1323,16]]},"1352":{"position":[[114,16]]},"1353":{"position":[[127,16]]},"1354":{"position":[[128,16]]},"1355":{"position":[[115,16],[2683,16]]},"1356":{"position":[[116,16]]},"1357":{"position":[[116,16]]},"1358":{"position":[[120,16]]},"1359":{"position":[[116,16]]},"1360":{"position":[[111,16],[1912,16]]},"1361":{"position":[[119,16]]},"1362":{"position":[[112,16],[5635,16]]},"1363":{"position":[[112,16],[3381,16]]},"1364":{"position":[[113,16],[5664,16]]},"1365":{"position":[[113,16]]},"1366":{"position":[[114,16],[1411,16]]},"1367":{"position":[[110,16],[7062,16]]},"1368":{"position":[[115,16]]},"1369":{"position":[[119,16]]},"1370":{"position":[[126,16],[1060,16]]},"1371":{"position":[[117,16]]},"1372":{"position":[[114,16]]},"1373":{"position":[[111,16]]},"1374":{"position":[[113,16],[1095,16]]},"1375":{"position":[[114,16]]},"1376":{"position":[[119,16]]},"1377":{"position":[[116,16]]},"1378":{"position":[[118,16]]},"1379":{"position":[[116,16]]},"1380":{"position":[[115,16]]},"1381":{"position":[[114,16]]},"1382":{"position":[[110,16],[3547,16]]},"1383":{"position":[[111,16],[1785,16]]},"1384":{"position":[[111,16],[4709,16]]},"1385":{"position":[[117,16]]},"1386":{"position":[[122,16]]},"1387":{"position":[[120,16]]},"1388":{"position":[[108,16],[3847,16]]},"1389":{"position":[[113,16]]},"1390":{"position":[[108,16]]},"1391":{"position":[[109,16]]},"1392":{"position":[[106,16]]},"1393":{"position":[[110,16],[1635,16]]},"1394":{"position":[[119,16]]},"1395":{"position":[[114,16],[1092,16]]},"1396":{"position":[[119,16]]},"1397":{"position":[[114,16]]},"1398":{"position":[[111,16],[1742,16]]},"1399":{"position":[[111,16]]},"1400":{"position":[[120,16]]},"1401":{"position":[[109,16]]},"1402":{"position":[[108,16]]},"1403":{"position":[[107,16],[1615,16]]},"1404":{"position":[[109,16]]},"1405":{"position":[[109,16]]},"1406":{"position":[[119,16]]},"1407":{"position":[[119,16]]},"1408":{"position":[[110,16]]},"1409":{"position":[[109,16]]},"1410":{"position":[[107,16],[1982,16]]},"1411":{"position":[[114,16]]},"1412":{"position":[[114,16],[2003,16]]},"1413":{"position":[[111,16]]},"1414":{"position":[[110,16]]},"1415":{"position":[[114,16]]},"1416":{"position":[[114,16]]},"1417":{"position":[[112,16]]},"1418":{"position":[[115,16]]},"1419":{"position":[[111,16]]},"1420":{"position":[[115,16]]},"1421":{"position":[[124,16]]},"1422":{"position":[[112,16],[1248,16]]},"1423":{"position":[[109,16]]},"1424":{"position":[[111,16]]},"1425":{"position":[[125,16]]},"1426":{"position":[[111,16],[1321,16]]},"1427":{"position":[[112,16],[2218,16]]},"1428":{"position":[[111,16]]},"1429":{"position":[[109,16],[2882,16]]},"1430":{"position":[[116,16]]},"1431":{"position":[[109,16]]},"1432":{"position":[[117,16]]},"1433":{"position":[[110,16]]},"1434":{"position":[[112,16]]},"1435":{"position":[[117,16]]},"1436":{"position":[[113,16]]},"1437":{"position":[[110,16]]},"1438":{"position":[[108,16],[980,16]]},"1439":{"position":[[114,16],[2504,16]]},"1440":{"position":[[111,16],[3070,16]]},"1441":{"position":[[116,16]]},"1442":{"position":[[117,16],[875,16]]},"1443":{"position":[[110,16]]},"1444":{"position":[[111,16]]},"1445":{"position":[[114,16]]},"1446":{"position":[[111,16]]},"1447":{"position":[[113,16]]},"1448":{"position":[[112,16]]},"1449":{"position":[[113,16]]},"1450":{"position":[[112,16]]},"1451":{"position":[[112,16]]},"1452":{"position":[[108,16]]},"1453":{"position":[[124,16]]},"1454":{"position":[[120,16]]},"1455":{"position":[[126,16]]},"1456":{"position":[[123,16]]},"1457":{"position":[[119,16]]},"1458":{"position":[[112,16]]},"1459":{"position":[[123,16]]},"1460":{"position":[[122,16]]},"1461":{"position":[[123,16],[1296,16]]},"1462":{"position":[[113,16]]},"1463":{"position":[[123,16]]},"1464":{"position":[[124,16]]},"1465":{"position":[[114,16]]},"1466":{"position":[[127,16]]},"1467":{"position":[[111,16],[5366,16]]},"1468":{"position":[[118,16]]},"1469":{"position":[[111,16],[1184,16]]},"1470":{"position":[[116,16]]},"1471":{"position":[[111,16],[2047,16]]},"1472":{"position":[[112,16],[2006,16]]},"1473":{"position":[[109,16],[2321,16]]},"1474":{"position":[[113,16]]},"1475":{"position":[[110,16]]},"1476":{"position":[[116,16]]},"1477":{"position":[[109,16],[940,16]]},"1478":{"position":[[107,16],[1431,16]]},"1479":{"position":[[124,16]]},"1480":{"position":[[113,16]]},"1481":{"position":[[115,16]]},"1482":{"position":[[110,16]]},"1483":{"position":[[115,16]]},"1484":{"position":[[115,16]]},"1485":{"position":[[116,16]]},"1486":{"position":[[111,16]]},"1487":{"position":[[108,16],[1005,16]]}},"keywords":{}}],["compil",{"_index":323,"title":{"17":{"position":[[0,9]]}},"content":{"10":{"position":[[385,7]]},"13":{"position":[[124,8]]},"15":{"position":[[391,7]]},"23":{"position":[[2017,7]]},"134":{"position":[[340,12]]},"257":{"position":[[340,12]]},"407":{"position":[[297,12]]},"427":{"position":[[434,8]]},"429":{"position":[[232,7]]},"577":{"position":[[306,8]]},"678":{"position":[[101,9]]},"693":{"position":[[516,8],[1217,8],[3926,9]]},"704":{"position":[[170,12],[458,9],[487,8],[1599,7],[1802,8]]},"706":{"position":[[1255,7],[1471,7]]},"715":{"position":[[1050,12]]},"786":{"position":[[297,12]]},"806":{"position":[[434,8]]},"808":{"position":[[232,7]]},"872":{"position":[[254,8]]},"873":{"position":[[2,11],[72,7],[172,11],[589,11]]},"887":{"position":[[166,11]]},"890":{"position":[[2357,12],[4860,7]]},"895":{"position":[[200,12]]},"898":{"position":[[1491,9]]},"937":{"position":[[1864,10],[3441,8]]},"939":{"position":[[1571,8]]},"940":{"position":[[563,8],[1125,8]]},"943":{"position":[[1295,8],[1766,8],[2428,8],[2525,8],[2615,8],[2693,9]]},"954":{"position":[[87,11],[434,11],[781,11]]},"964":{"position":[[22,11]]},"987":{"position":[[21,8],[80,8],[129,8],[378,9]]},"1023":{"position":[[144,8]]},"1048":{"position":[[47,7],[102,9],[232,8],[1286,7]]},"1072":{"position":[[286,9]]},"1172":{"position":[[1611,8]]},"1173":{"position":[[911,8]]},"1278":{"position":[[253,8]]},"1279":{"position":[[177,8]]},"1309":{"position":[[253,8]]},"1310":{"position":[[177,8]]},"1337":{"position":[[253,8]]},"1338":{"position":[[177,8]]},"1351":{"position":[[835,7],[2357,11],[2739,11]]},"1353":{"position":[[2562,8]]},"1355":{"position":[[2224,8],[2355,8],[3617,7],[3733,7],[4608,9],[4754,9],[4804,12],[4843,9],[5152,8],[6365,8],[7391,7]]},"1358":{"position":[[3177,7]]},"1362":{"position":[[6473,9],[6523,13],[11256,8],[11499,9],[12360,11],[12398,8],[12693,9],[13029,11],[13196,9],[13433,11]]},"1363":{"position":[[4026,8],[4859,12]]},"1364":{"position":[[6502,9],[6552,13],[12223,8],[12466,9],[12865,11],[12903,8],[13393,9],[13729,11],[13896,9],[14133,11]]},"1367":{"position":[[7900,9],[7950,13],[11626,8],[11869,9],[12268,11],[12306,8],[12601,9],[12937,11],[13104,9],[13341,11],[14018,12]]},"1373":{"position":[[2897,10],[4036,8],[4108,9],[4293,8],[4374,8],[4416,8],[4437,9],[5781,9],[6278,8],[6521,9],[8216,8],[8257,8],[8279,9],[8573,9]]},"1381":{"position":[[1661,8],[2456,8]]},"1382":{"position":[[4385,9],[4435,13],[6317,7],[6337,9],[8125,8],[8368,9],[10076,11],[10114,8],[11055,9],[11391,11],[11558,9]]},"1383":{"position":[[3052,9],[3084,9],[3125,9],[3217,9]]},"1384":{"position":[[5547,9],[5597,13],[9683,8],[9923,8],[11264,7],[11284,9],[11412,8],[11900,8],[14470,8],[14713,9],[16421,11],[16459,8],[16938,7],[16958,9],[17186,7],[17206,9],[17285,8],[18709,9],[19045,11],[19212,9],[21320,12]]},"1385":{"position":[[3191,9],[4355,8],[4598,9],[6302,11],[6340,8],[6633,9],[6969,11],[7136,9]]},"1386":{"position":[[2221,11],[2437,11],[4511,9],[4576,12],[5038,8],[5285,8]]},"1387":{"position":[[5462,9],[7728,8],[7971,9],[9675,11],[9713,8],[10006,9],[10342,11],[10509,9]]},"1388":{"position":[[5079,9],[5129,13],[7186,7],[7206,9],[9548,9],[9884,11],[10051,9]]},"1389":{"position":[[5356,7],[5603,7]]},"1390":{"position":[[1843,8]]},"1391":{"position":[[1658,8]]},"1392":{"position":[[2113,8]]},"1393":{"position":[[4234,7],[4350,7],[7640,8],[8051,8]]},"1398":{"position":[[2820,7],[4586,8],[5202,8],[6266,7]]},"1405":{"position":[[2420,8],[3637,8],[3678,8],[3699,9],[3726,8]]},"1406":{"position":[[1396,8],[1437,8],[1458,9],[1485,8]]},"1407":{"position":[[2567,8],[2841,8],[4256,8],[4297,8],[4318,9],[4345,8]]},"1408":{"position":[[1958,8],[2145,9],[2635,8],[2676,8],[2697,9],[2724,8]]},"1410":{"position":[[2864,8],[2898,8],[4310,9],[5047,8],[5088,8],[5109,9],[5136,8]]},"1412":{"position":[[1501,8],[1549,7],[1675,8],[2686,7],[2976,12],[3106,9],[3153,12],[3340,12],[3418,7],[3524,11],[3612,12],[3698,8],[3814,8],[4004,8],[4111,9],[4152,8],[4200,13]]},"1415":{"position":[[2549,7],[2648,11],[3638,8],[3790,9],[4237,8],[4480,9],[5048,7],[5091,8],[5513,8],[5587,9]]},"1416":{"position":[[2289,8],[2303,9],[3037,8]]},"1420":{"position":[[1971,8],[1985,9]]},"1421":{"position":[[2011,8],[2055,9]]},"1422":{"position":[[4089,8],[4240,8],[4280,8],[4458,8]]},"1423":{"position":[[3452,8],[3573,8],[3642,10]]},"1426":{"position":[[944,8],[2362,8]]},"1427":{"position":[[1736,8],[1839,8],[2881,7],[3753,9],[4065,12],[4277,12],[4466,8],[5537,8],[6590,7],[6753,12],[6860,8],[7113,8],[7292,8],[7477,8]]},"1429":{"position":[[4915,10],[5062,8],[5750,10]]},"1439":{"position":[[2020,8],[2125,8],[3438,7],[3553,7],[4437,9],[4506,8],[4630,12],[4669,9],[4731,8],[4760,9],[5481,9],[5677,8],[6059,8],[6965,8],[7446,8],[7726,7],[7896,12],[7943,8],[8120,8],[8303,8]]},"1440":{"position":[[4579,12],[4618,9],[5056,8]]},"1442":{"position":[[2428,9],[2764,11],[2931,9]]},"1446":{"position":[[2282,7]]},"1448":{"position":[[1947,8],[1979,9],[2555,8]]},"1449":{"position":[[1881,8],[1913,9],[2489,8]]},"1457":{"position":[[1732,9]]},"1461":{"position":[[515,8]]},"1462":{"position":[[800,8]]},"1467":{"position":[[867,8]]},"1471":{"position":[[3347,8],[5008,8],[5082,8]]},"1472":{"position":[[3931,8],[5509,8],[5968,8]]},"1473":{"position":[[3381,8],[5458,8],[5532,8]]},"1485":{"position":[[747,8],[2597,7],[2617,9],[3919,9],[4255,11],[4422,9],[4482,8],[4529,8],[4825,8]]}},"keywords":{}}],["compilation).dep",{"_index":7298,"title":{},"content":{"1387":{"position":[[5512,18]]},"1415":{"position":[[3840,18]]}},"keywords":{}}],["compilation).go_assembler_flag",{"_index":7046,"title":{},"content":{"1373":{"position":[[4158,32]]}},"keywords":{}}],["compilation).header_namespac",{"_index":7241,"title":{},"content":{"1385":{"position":[[3241,30]]}},"keywords":{}}],["compilation.k2",{"_index":8407,"title":{},"content":{"1470":{"position":[[4396,15]]}},"keywords":{}}],["compile.dep",{"_index":7728,"title":{},"content":{"1405":{"position":[[2454,13]]},"1407":{"position":[[2875,13]]},"1408":{"position":[[1992,13]]}},"keywords":{}}],["compile.go_src",{"_index":7048,"title":{},"content":{"1373":{"position":[[4327,16]]}},"keywords":{}}],["compile_resources_loc",{"_index":6986,"title":{},"content":{"1368":{"position":[[588,26]]}},"keywords":{}}],["compiler'",{"_index":8426,"title":{},"content":{"1471":{"position":[[3404,10]]},"1472":{"position":[[3988,10]]},"1473":{"position":[[3438,10]]}},"keywords":{}}],["compiler.dep",{"_index":7124,"title":{},"content":{"1381":{"position":[[1691,14]]}},"keywords":{}}],["compiler.increment",{"_index":8406,"title":{},"content":{"1470":{"position":[[4347,21]]}},"keywords":{}}],["compiler.robolectric_manifest",{"_index":8408,"title":{},"content":{"1470":{"position":[[4434,30]]}},"keywords":{}}],["compiler/preprocessor",{"_index":7066,"title":{},"content":{"1373":{"position":[[7738,21]]},"1382":{"position":[[10514,21]]},"1384":{"position":[[17588,21]]},"1388":{"position":[[9007,21]]},"1485":{"position":[[3379,21]]}},"keywords":{}}],["compiler_dep",{"_index":7824,"title":{},"content":{"1415":{"position":[[359,14],[5699,13]]}},"keywords":{}}],["compiler_flag",{"_index":6700,"title":{},"content":{"1362":{"position":[[763,15],[6439,15],[11535,14]]},"1364":{"position":[[780,15],[6468,15],[12502,14]]},"1367":{"position":[[1794,15],[7866,15],[11905,14]]},"1373":{"position":[[637,15],[6557,14],[7917,15]]},"1381":{"position":[[387,15]]},"1382":{"position":[[592,15],[4351,15],[8404,14],[10693,15]]},"1384":{"position":[[570,15],[5513,15],[14749,14],[17767,15],[21431,14],[21819,14]]},"1385":{"position":[[391,15],[4634,14],[7346,14]]},"1386":{"position":[[3850,14]]},"1387":{"position":[[677,15],[8007,14]]},"1388":{"position":[[725,15],[5045,15],[9186,15]]},"1405":{"position":[[557,15]]},"1407":{"position":[[584,15],[4704,14],[4948,14]]},"1408":{"position":[[578,15]]},"1410":{"position":[[680,15],[2826,15]]},"1415":{"position":[[389,15],[4516,14]]},"1416":{"position":[[441,15]]},"1417":{"position":[[411,15]]},"1419":{"position":[[385,15]]},"1420":{"position":[[414,15]]},"1448":{"position":[[441,15]]},"1449":{"position":[[435,15]]},"1450":{"position":[[441,15]]},"1451":{"position":[[441,15]]},"1462":{"position":[[826,15]]},"1467":{"position":[[893,15]]},"1480":{"position":[[391,15]]},"1485":{"position":[[3558,15]]}},"keywords":{}}],["compiler_invocation_flag",{"_index":7825,"title":{},"content":{"1415":{"position":[[420,26]]}},"keywords":{}}],["compiler_typ",{"_index":7345,"title":{},"content":{"1389":{"position":[[1390,14]]}},"keywords":{}}],["complain",{"_index":4212,"title":{},"content":{"890":{"position":[[1546,8]]}},"keywords":{}}],["complet",{"_index":533,"title":{"712":{"position":[[0,8]]},"1143":{"position":[[0,10]]},"1144":{"position":[[5,11]]}},"content":{"17":{"position":[[1405,10]]},"23":{"position":[[3430,9]]},"584":{"position":[[174,8],[523,8]]},"675":{"position":[[772,11],[1121,9]]},"689":{"position":[[323,9]]},"693":{"position":[[1673,9]]},"725":{"position":[[28,9]]},"873":{"position":[[232,9]]},"900":{"position":[[1927,8]]},"1133":{"position":[[651,8]]},"1136":{"position":[[4100,10]]},"1138":{"position":[[4394,8],[4647,8],[7762,10]]},"1140":{"position":[[3883,8],[4136,8],[6688,10]]},"1142":{"position":[[2132,10]]},"1144":{"position":[[6,10],[116,10],[151,10],[188,10],[276,10]]},"1146":{"position":[[2072,10]]},"1148":{"position":[[5112,10]]},"1155":{"position":[[2168,10]]},"1156":{"position":[[1746,10]]},"1167":{"position":[[4887,8],[5140,8],[7692,10]]},"1169":{"position":[[1531,10]]},"1172":{"position":[[1771,10],[1988,11],[2226,10]]},"1186":{"position":[[602,9],[3336,10]]},"1187":{"position":[[615,9],[3349,10]]},"1188":{"position":[[3936,8],[4189,8],[5341,9],[8075,10]]},"1191":{"position":[[1936,10]]},"1192":{"position":[[2111,10]]},"1193":{"position":[[2163,10]]},"1194":{"position":[[1803,10]]},"1195":{"position":[[1781,10]]},"1196":{"position":[[1591,10]]},"1197":{"position":[[2574,10]]},"1198":{"position":[[2584,10]]},"1199":{"position":[[2612,10]]},"1200":{"position":[[2479,10]]},"1201":{"position":[[1739,10]]},"1202":{"position":[[2881,10],[7278,10]]},"1203":{"position":[[1973,10]]},"1204":{"position":[[1817,10]]},"1205":{"position":[[3146,10]]},"1206":{"position":[[1617,10]]},"1207":{"position":[[1774,10]]},"1209":{"position":[[3122,10]]},"1217":{"position":[[3628,8],[3881,8],[6433,10]]},"1219":{"position":[[2419,10]]},"1222":{"position":[[1543,10]]},"1223":{"position":[[1553,10]]},"1224":{"position":[[1733,10]]},"1226":{"position":[[6901,10]]},"1228":{"position":[[5709,8],[5962,8],[8514,10]]},"1235":{"position":[[4382,10]]},"1237":{"position":[[7071,10]]},"1354":{"position":[[2991,9]]},"1355":{"position":[[6065,10],[7078,10]]},"1360":{"position":[[5077,8]]},"1383":{"position":[[7185,8]]},"1388":{"position":[[10218,9]]},"1392":{"position":[[2342,9]]},"1403":{"position":[[5234,8],[6176,10],[6200,10]]},"1410":{"position":[[5441,9]]},"1427":{"position":[[5238,10],[6277,10]]},"1429":{"position":[[5938,9]]},"1440":{"position":[[5838,9]]},"1467":{"position":[[10460,9]]},"1477":{"position":[[3178,10]]}},"keywords":{}}],["complex",{"_index":710,"title":{},"content":{"23":{"position":[[934,7]]},"92":{"position":[[1244,7]]},"224":{"position":[[1244,7]]},"346":{"position":[[485,7]]},"584":{"position":[[457,11]]},"846":{"position":[[735,7]]},"961":{"position":[[330,10]]},"981":{"position":[[711,10]]},"1040":{"position":[[1670,7]]},"1045":{"position":[[83,7]]},"1461":{"position":[[3825,7]]}},"keywords":{}}],["complexvalue>",{"_index":4346,"title":{},"content":{"898":{"position":[[2266,17],[2363,18]]}},"keywords":{}}],["complexvalueen",{"_index":4353,"title":{},"content":{"898":{"position":[[2489,18]]}},"keywords":{}}],["complic",{"_index":4467,"title":{},"content":{"912":{"position":[[44,12]]},"1105":{"position":[[2178,11]]}},"keywords":{}}],["compon",{"_index":1895,"title":{},"content":{"362":{"position":[[1427,9]]},"595":{"position":[[523,11]]},"607":{"position":[[102,10]]},"741":{"position":[[1427,9]]},"900":{"position":[[932,10],[1042,10]]},"1058":{"position":[[1011,10]]},"1136":{"position":[[5222,11],[5281,10],[5447,10]]},"1138":{"position":[[8884,11],[8943,10],[9109,10]]},"1140":{"position":[[7810,11],[7869,10],[8035,10]]},"1142":{"position":[[3254,11],[3313,10],[3479,10]]},"1146":{"position":[[3194,11],[3253,10],[3419,10]]},"1148":{"position":[[6234,11],[6293,10],[6459,10]]},"1155":{"position":[[3290,11],[3349,10],[3515,10]]},"1156":{"position":[[2868,11],[2927,10],[3093,10]]},"1161":{"position":[[761,11],[820,10],[986,10]]},"1167":{"position":[[8814,11],[8873,10],[9039,10]]},"1181":{"position":[[973,11],[1032,10],[1198,10]]},"1186":{"position":[[4458,11],[4517,10],[4683,10]]},"1187":{"position":[[4471,11],[4530,10],[4696,10]]},"1188":{"position":[[9197,11],[9256,10],[9422,10]]},"1191":{"position":[[3058,11],[3117,10],[3283,10]]},"1192":{"position":[[3233,11],[3292,10],[3458,10]]},"1193":{"position":[[3285,11],[3344,10],[3510,10]]},"1194":{"position":[[2925,11],[2984,10],[3150,10]]},"1195":{"position":[[2903,11],[2962,10],[3128,10]]},"1196":{"position":[[2713,11],[2772,10],[2938,10]]},"1197":{"position":[[3696,11],[3755,10],[3921,10]]},"1198":{"position":[[3706,11],[3765,10],[3931,10]]},"1199":{"position":[[3734,11],[3793,10],[3959,10]]},"1200":{"position":[[3601,11],[3660,10],[3826,10]]},"1201":{"position":[[2861,11],[2920,10],[3086,10]]},"1202":{"position":[[4003,11],[4062,10],[4228,10],[8400,11],[8459,10],[8625,10]]},"1203":{"position":[[3095,11],[3154,10],[3320,10]]},"1204":{"position":[[2939,11],[2998,10],[3164,10]]},"1205":{"position":[[4268,11],[4327,10],[4493,10]]},"1206":{"position":[[2739,11],[2798,10],[2964,10]]},"1207":{"position":[[2896,11],[2955,10],[3121,10]]},"1209":{"position":[[4244,11],[4303,10],[4469,10]]},"1217":{"position":[[7555,11],[7614,10],[7780,10]]},"1222":{"position":[[2665,11],[2724,10],[2890,10]]},"1223":{"position":[[2675,11],[2734,10],[2900,10]]},"1226":{"position":[[8023,11],[8082,10],[8248,10]]},"1228":{"position":[[9636,11],[9695,10],[9861,10]]},"1235":{"position":[[5504,11],[5563,10],[5729,10]]},"1237":{"position":[[8193,11],[8252,10],[8418,10]]},"1362":{"position":[[13573,10]]},"1364":{"position":[[14273,10]]}},"keywords":{}}],["compos",{"_index":676,"title":{},"content":{"22":{"position":[[1507,13]]},"99":{"position":[[745,8]]},"231":{"position":[[745,8]]},"438":{"position":[[285,8]]},"597":{"position":[[69,8]]},"598":{"position":[[69,8]]},"599":{"position":[[69,8]]},"817":{"position":[[285,8]]},"937":{"position":[[2047,7]]}},"keywords":{}}],["composit",{"_index":4605,"title":{},"content":{"937":{"position":[[3581,11]]},"939":{"position":[[879,11]]},"944":{"position":[[72,13]]}},"keywords":{}}],["comprehens",{"_index":781,"title":{},"content":{"23":{"position":[[3474,13]]},"890":{"position":[[5556,13],[5590,13],[5844,14],[5887,13],[5909,13],[6076,14]]}},"keywords":{}}],["compress",{"_index":3997,"title":{},"content":{"865":{"position":[[255,8],[869,10]]},"1140":{"position":[[757,11],[828,11],[872,12]]},"1188":{"position":[[810,11],[881,11],[925,12]]},"1226":{"position":[[4997,11],[5024,8]]},"1237":{"position":[[5167,11],[5194,8]]},"1358":{"position":[[2533,12]]},"1365":{"position":[[860,10]]}},"keywords":{}}],["compress_asset_librari",{"_index":6342,"title":{},"content":{"1348":{"position":[[884,25]]},"1350":{"position":[[1283,25]]},"1352":{"position":[[1319,25]]}},"keywords":{}}],["comput",{"_index":222,"title":{},"content":{"9":{"position":[[1080,13]]},"23":{"position":[[573,8],[1381,11]]},"324":{"position":[[558,9]]},"445":{"position":[[35,8]]},"465":{"position":[[320,9]]},"690":{"position":[[377,7]]},"704":{"position":[[362,8],[556,8],[1613,8]]},"705":{"position":[[216,8]]},"722":{"position":[[464,11]]},"724":{"position":[[148,8]]},"824":{"position":[[35,8]]},"832":{"position":[[432,12],[562,11],[846,12]]},"846":{"position":[[1220,12]]},"861":{"position":[[163,13],[464,13]]},"965":{"position":[[4,12],[304,12]]},"973":{"position":[[207,7]]},"1050":{"position":[[4625,7]]},"1112":{"position":[[1524,8]]},"1226":{"position":[[596,11],[742,7],[1073,11],[1530,9]]},"1237":{"position":[[766,11],[912,7],[1243,11],[1700,9]]},"1250":{"position":[[255,13]]},"1259":{"position":[[58,8],[2081,8],[2180,8],[2291,8]]},"1260":{"position":[[0,8]]},"1282":{"position":[[0,8]]},"1283":{"position":[[0,8]]},"1284":{"position":[[0,8]]},"1290":{"position":[[58,8],[2081,8],[2180,8],[2291,8]]},"1291":{"position":[[0,8]]},"1313":{"position":[[0,8]]},"1314":{"position":[[0,8]]},"1315":{"position":[[0,8]]},"1318":{"position":[[58,8],[2081,8],[2180,8],[2291,8]]},"1319":{"position":[[0,8]]},"1341":{"position":[[0,8]]},"1342":{"position":[[0,8]]},"1343":{"position":[[0,8]]},"1429":{"position":[[4358,13]]},"1440":{"position":[[4351,13]]}},"keywords":{}}],["computation",{"_index":4803,"title":{},"content":{"965":{"position":[[445,15]]}},"keywords":{}}],["concat",{"_index":2468,"title":{},"content":{"481":{"position":[[91,8]]}},"keywords":{}}],["concaten",{"_index":2889,"title":{},"content":{"604":{"position":[[152,13]]},"1228":{"position":[[1696,13]]}},"keywords":{}}],["concept",{"_index":857,"title":{"689":{"position":[[0,7]]},"694":{"position":[[4,8]]},"1103":{"position":[[0,8]]}},"content":{"41":{"position":[[467,8]]},"174":{"position":[[467,8]]},"680":{"position":[[207,8]]},"683":{"position":[[339,7]]},"689":{"position":[[0,7],[16,7],[108,9],[245,7]]},"697":{"position":[[19,7],[64,8]]},"898":{"position":[[2074,8]]},"900":{"position":[[2123,9]]},"919":{"position":[[11,7]]},"980":{"position":[[272,8]]},"988":{"position":[[32,7]]},"1082":{"position":[[96,7]]},"1112":{"position":[[4360,8]]},"1114":{"position":[[697,7]]}},"keywords":{}}],["conceptu",{"_index":3627,"title":{},"content":{"703":{"position":[[131,12]]},"1017":{"position":[[998,12]]}},"keywords":{}}],["concert",{"_index":6572,"title":{},"content":{"1355":{"position":[[7641,7]]}},"keywords":{}}],["concret",{"_index":4154,"title":{},"content":{"888":{"position":[[223,8]]}},"keywords":{}}],["concur",{"_index":3718,"title":{},"content":{"711":{"position":[[1254,11]]}},"keywords":{}}],["concurr",{"_index":1214,"title":{"1243":{"position":[[13,10]]}},"content":{"94":{"position":[[2927,10],[3001,11]]},"226":{"position":[[2927,10],[3001,11]]},"398":{"position":[[28,12],[259,12]]},"622":{"position":[[1591,13],[1967,13]]},"777":{"position":[[28,12],[259,12]]},"1052":{"position":[[1287,12]]},"1067":{"position":[[739,13]]},"1136":{"position":[[3546,10]]},"1138":{"position":[[7208,10]]},"1140":{"position":[[6134,10]]},"1142":{"position":[[1578,10]]},"1146":{"position":[[1518,10]]},"1148":{"position":[[4558,10]]},"1155":{"position":[[1614,10]]},"1156":{"position":[[1192,10]]},"1167":{"position":[[7138,10]]},"1169":{"position":[[977,10]]},"1186":{"position":[[2782,10]]},"1187":{"position":[[2795,10]]},"1188":{"position":[[7521,10]]},"1191":{"position":[[1382,10]]},"1192":{"position":[[1557,10]]},"1193":{"position":[[1609,10]]},"1194":{"position":[[1249,10]]},"1195":{"position":[[1227,10]]},"1196":{"position":[[1037,10]]},"1197":{"position":[[2020,10]]},"1198":{"position":[[2030,10]]},"1199":{"position":[[2058,10]]},"1200":{"position":[[1925,10]]},"1201":{"position":[[1185,10]]},"1202":{"position":[[2327,10],[6724,10]]},"1203":{"position":[[1419,10]]},"1204":{"position":[[1263,10]]},"1205":{"position":[[2592,10]]},"1206":{"position":[[1063,10]]},"1207":{"position":[[1220,10]]},"1209":{"position":[[2568,10]]},"1217":{"position":[[5879,10]]},"1219":{"position":[[1865,10]]},"1222":{"position":[[989,10]]},"1223":{"position":[[999,10]]},"1224":{"position":[[1179,10]]},"1226":{"position":[[6347,10]]},"1228":{"position":[[7960,10]]},"1235":{"position":[[3828,10]]},"1237":{"position":[[6517,10]]},"1243":{"position":[[46,10]]}},"keywords":{}}],["concurrent/*.java",{"_index":3048,"title":{},"content":{"622":{"position":[[2012,22]]}},"keywords":{}}],["condit",{"_index":336,"title":{"944":{"position":[[0,11]]}},"content":{"10":{"position":[[718,10]]},"584":{"position":[[1182,9]]},"890":{"position":[[1396,11]]},"939":{"position":[[280,11],[756,11],[824,9],[939,11]]},"944":{"position":[[26,11],[163,12],[2110,9]]},"1013":{"position":[[259,10],[355,10],[541,9],[610,9]]},"1280":{"position":[[166,10]]},"1311":{"position":[[166,10]]},"1339":{"position":[[166,10]]},"1370":{"position":[[2722,10]]}},"keywords":{}}],["conf",{"_index":4305,"title":{},"content":{"896":{"position":[[75,4],[126,4],[306,4],[345,4],[450,4],[670,4],[709,4],[814,4]]}},"keywords":{}}],["conf.c.pic",{"_index":4322,"title":{},"content":{"896":{"position":[[855,11]]}},"keywords":{}}],["conf.c.pic.o",{"_index":4319,"title":{},"content":{"896":{"position":[[491,12]]}},"keywords":{}}],["config",{"_index":2002,"title":{"1193":{"position":[[11,7]]}},"content":{"372":{"position":[[491,6]]},"575":{"position":[[570,6]]},"578":{"position":[[120,8],[254,8]]},"582":{"position":[[142,6],[259,6]]},"583":{"position":[[394,6],[408,6]]},"700":{"position":[[191,6]]},"751":{"position":[[491,6]]},"921":{"position":[[104,6]]},"937":{"position":[[315,6]]},"976":{"position":[[109,6]]},"1004":{"position":[[1542,6]]},"1011":{"position":[[162,6]]},"1016":{"position":[[84,6]]},"1136":{"position":[[2726,6],[2770,6],[2787,6],[2820,6],[3118,6],[3140,7],[3295,7],[3324,6],[3944,7]]},"1138":{"position":[[6388,6],[6432,6],[6449,6],[6482,6],[6780,6],[6802,7],[6957,7],[6986,6],[7606,7]]},"1140":{"position":[[5314,6],[5358,6],[5375,6],[5408,6],[5706,6],[5728,7],[5883,7],[5912,6],[6532,7]]},"1142":{"position":[[758,6],[802,6],[819,6],[852,6],[1150,6],[1172,7],[1327,7],[1356,6],[1976,7]]},"1146":{"position":[[698,6],[742,6],[759,6],[792,6],[1090,6],[1112,7],[1267,7],[1296,6],[1916,7]]},"1148":{"position":[[3738,6],[3782,6],[3799,6],[3832,6],[4130,6],[4152,7],[4307,7],[4336,6],[4956,7]]},"1155":{"position":[[794,6],[838,6],[855,6],[888,6],[1186,6],[1208,7],[1363,7],[1392,6],[2012,7]]},"1156":{"position":[[372,6],[416,6],[433,6],[466,6],[764,6],[786,7],[941,7],[970,6],[1590,7]]},"1167":{"position":[[6318,6],[6362,6],[6379,6],[6412,6],[6710,6],[6732,7],[6887,7],[6916,6],[7536,7]]},"1169":{"position":[[157,6],[201,6],[218,6],[251,6],[549,6],[571,7],[726,7],[755,6],[1375,7]]},"1186":{"position":[[1962,6],[2006,6],[2023,6],[2056,6],[2354,6],[2376,7],[2531,7],[2560,6],[3180,7]]},"1187":{"position":[[1975,6],[2019,6],[2036,6],[2069,6],[2367,6],[2389,7],[2544,7],[2573,6],[3193,7]]},"1188":{"position":[[6701,6],[6745,6],[6762,6],[6795,6],[7093,6],[7115,7],[7270,7],[7299,6],[7919,7]]},"1190":{"position":[[403,6],[421,6],[1431,6]]},"1191":{"position":[[562,6],[606,6],[623,6],[656,6],[954,6],[976,7],[1131,7],[1160,6],[1780,7]]},"1192":{"position":[[737,6],[781,6],[798,6],[831,6],[1129,6],[1151,7],[1306,7],[1335,6],[1955,7]]},"1193":{"position":[[11,6],[45,6],[95,6],[789,6],[833,6],[850,6],[883,6],[1181,6],[1203,7],[1358,7],[1387,6],[2007,7]]},"1194":{"position":[[429,6],[473,6],[490,6],[523,6],[821,6],[843,7],[998,7],[1027,6],[1647,7]]},"1195":{"position":[[407,6],[451,6],[468,6],[501,6],[799,6],[821,7],[976,7],[1005,6],[1625,7]]},"1196":{"position":[[217,6],[261,6],[278,6],[311,6],[609,6],[631,7],[786,7],[815,6],[1435,7]]},"1197":{"position":[[1200,6],[1244,6],[1261,6],[1294,6],[1592,6],[1614,7],[1769,7],[1798,6],[2418,7]]},"1198":{"position":[[1210,6],[1254,6],[1271,6],[1304,6],[1602,6],[1624,7],[1779,7],[1808,6],[2428,7]]},"1199":{"position":[[1238,6],[1282,6],[1299,6],[1332,6],[1630,6],[1652,7],[1807,7],[1836,6],[2456,7]]},"1200":{"position":[[1105,6],[1149,6],[1166,6],[1199,6],[1497,6],[1519,7],[1674,7],[1703,6],[2323,7]]},"1201":{"position":[[365,6],[409,6],[426,6],[459,6],[757,6],[779,7],[934,7],[963,6],[1583,7]]},"1202":{"position":[[1507,6],[1551,6],[1568,6],[1601,6],[1899,6],[1921,7],[2076,7],[2105,6],[2725,7],[5904,6],[5948,6],[5965,6],[5998,6],[6296,6],[6318,7],[6473,7],[6502,6],[7122,7]]},"1203":{"position":[[599,6],[643,6],[660,6],[693,6],[991,6],[1013,7],[1168,7],[1197,6],[1817,7]]},"1204":{"position":[[443,6],[487,6],[504,6],[537,6],[835,6],[857,7],[1012,7],[1041,6],[1661,7]]},"1205":{"position":[[1772,6],[1816,6],[1833,6],[1866,6],[2164,6],[2186,7],[2341,7],[2370,6],[2990,7]]},"1206":{"position":[[60,6],[243,6],[287,6],[304,6],[337,6],[635,6],[657,7],[812,7],[841,6],[1461,7]]},"1207":{"position":[[400,6],[444,6],[461,6],[494,6],[792,6],[814,7],[969,7],[998,6],[1618,7]]},"1209":{"position":[[1748,6],[1792,6],[1809,6],[1842,6],[2140,6],[2162,7],[2317,7],[2346,6],[2966,7]]},"1217":{"position":[[5059,6],[5103,6],[5120,6],[5153,6],[5451,6],[5473,7],[5628,7],[5657,6],[6277,7]]},"1219":{"position":[[1045,6],[1089,6],[1106,6],[1139,6],[1437,6],[1459,7],[1614,7],[1643,6],[2263,7]]},"1222":{"position":[[169,6],[213,6],[230,6],[263,6],[561,6],[583,7],[738,7],[767,6],[1387,7]]},"1223":{"position":[[179,6],[223,6],[240,6],[273,6],[571,6],[593,7],[748,7],[777,6],[1397,7]]},"1224":{"position":[[359,6],[403,6],[420,6],[453,6],[751,6],[773,7],[928,7],[957,6],[1577,7]]},"1226":{"position":[[5527,6],[5571,6],[5588,6],[5621,6],[5919,6],[5941,7],[6096,7],[6125,6],[6745,7]]},"1228":{"position":[[7140,6],[7184,6],[7201,6],[7234,6],[7532,6],[7554,7],[7709,7],[7738,6],[8358,7]]},"1235":{"position":[[3008,6],[3052,6],[3069,6],[3102,6],[3400,6],[3422,7],[3577,7],[3606,6],[4226,7]]},"1237":{"position":[[5697,6],[5741,6],[5758,6],[5791,6],[6089,6],[6111,7],[6266,7],[6295,6],[6915,7]]},"1243":{"position":[[271,7],[498,6]]},"1365":{"position":[[1809,6]]},"1384":{"position":[[22260,7],[22312,7]]},"1393":{"position":[[4272,6],[7326,6]]},"1395":{"position":[[399,8],[1768,8],[1806,6]]},"1398":{"position":[[2467,6],[4272,6]]},"1415":{"position":[[462,8]]}},"keywords":{}}],["config.h",{"_index":2240,"title":{},"content":{"418":{"position":[[517,8]]},"797":{"position":[[517,8]]},"1384":{"position":[[22248,11],[22300,11]]}},"keywords":{}}],["config//cpu/constraints:univers",{"_index":7017,"title":{},"content":{"1370":{"position":[[2421,33],[2588,33]]}},"keywords":{}}],["config_fil",{"_index":7607,"title":{},"content":{"1398":{"position":[[622,13],[2435,13]]}},"keywords":{}}],["config_set",{"_index":1931,"title":{"1375":{"position":[[0,15]]}},"content":{"363":{"position":[[352,18]]},"742":{"position":[[352,18]]},"942":{"position":[[1553,14],[1709,14]]},"1013":{"position":[[408,15]]},"1017":{"position":[[475,17]]},"1375":{"position":[[4,15]]}},"keywords":{}}],["configur",{"_index":475,"title":{"16":{"position":[[8,14]]},"572":{"position":[[28,13]]},"582":{"position":[[24,14]]},"583":{"position":[[20,13]]},"584":{"position":[[0,13]]},"690":{"position":[[0,14]]},"720":{"position":[[9,14]]},"721":{"position":[[10,10]]},"856":{"position":[[59,10]]},"934":{"position":[[4,14]]},"936":{"position":[[6,13]]},"937":{"position":[[19,13]]},"938":{"position":[[0,13]]},"947":{"position":[[4,13]]},"967":{"position":[[0,14]]},"979":{"position":[[10,13]]},"1003":{"position":[[0,13]]},"1010":{"position":[[0,14]]},"1015":{"position":[[0,13]]},"1018":{"position":[[0,14]]},"1072":{"position":[[10,15]]},"1194":{"position":[[11,15]]},"1345":{"position":[[3,13]]},"1346":{"position":[[12,14]]}},"content":{"23":{"position":[[3169,14]]},"24":{"position":[[550,13]]},"58":{"position":[[43,13]]},"90":{"position":[[77,14]]},"108":{"position":[[84,10]]},"168":{"position":[[66,10]]},"210":{"position":[[102,10]]},"211":{"position":[[89,10]]},"222":{"position":[[77,14]]},"243":{"position":[[245,13],[295,13],[400,14]]},"278":{"position":[[88,10]]},"280":{"position":[[66,10],[142,10],[166,10],[201,10],[257,10],[287,10]]},"283":{"position":[[141,10],[165,13]]},"286":{"position":[[186,13]]},"294":{"position":[[576,13],[606,14],[1030,10],[1086,10]]},"295":{"position":[[245,13],[267,10]]},"297":{"position":[[554,13],[584,15],[860,10],[914,10]]},"298":{"position":[[954,13],[1814,13],[3015,10]]},"301":{"position":[[490,13],[520,14],[801,10],[922,10],[1017,10]]},"302":{"position":[[245,13],[267,10]]},"309":{"position":[[432,10],[603,10],[658,10],[772,9],[845,13]]},"310":{"position":[[451,10],[506,10]]},"322":{"position":[[96,10]]},"340":{"position":[[192,10]]},"362":{"position":[[916,14]]},"363":{"position":[[173,13],[231,14],[331,13]]},"372":{"position":[[51,14],[356,14],[395,13]]},"374":{"position":[[1984,13]]},"379":{"position":[[33,14],[301,14]]},"409":{"position":[[113,10]]},"413":{"position":[[61,10]]},"429":{"position":[[61,13]]},"443":{"position":[[262,13],[358,13]]},"462":{"position":[[143,10],[167,13]]},"481":{"position":[[113,13]]},"487":{"position":[[43,13]]},"520":{"position":[[84,10]]},"572":{"position":[[8,13],[129,13]]},"574":{"position":[[87,13],[214,13]]},"575":{"position":[[81,13]]},"580":{"position":[[46,13]]},"581":{"position":[[92,13],[663,13],[940,13],[996,13]]},"582":{"position":[[25,13],[83,13],[186,13],[423,13]]},"583":{"position":[[78,13],[342,13],[436,13],[496,13]]},"584":{"position":[[11,13],[114,13],[683,13],[1277,13]]},"690":{"position":[[0,14],[42,14],[150,13],[296,13],[401,13],[487,13],[546,14],[3294,10]]},"693":{"position":[[71,13],[1348,13],[1401,13],[2501,14],[2516,14],[2734,14],[2749,14],[2867,13],[3126,14],[3200,10],[3331,10],[3353,10],[3393,11],[3491,14],[3519,10],[3567,14],[3676,14],[3710,13],[5303,14],[7841,13],[9444,10],[9888,13],[10001,13],[10037,10],[10105,9],[10172,14]]},"711":{"position":[[1391,9]]},"715":{"position":[[382,15],[1343,10],[1787,14]]},"719":{"position":[[108,9]]},"720":{"position":[[55,11],[67,13],[286,10],[401,15],[455,10],[496,10]]},"721":{"position":[[19,10]]},"722":{"position":[[135,13]]},"724":{"position":[[1891,14]]},"741":{"position":[[916,14]]},"742":{"position":[[173,13],[231,14],[331,13]]},"751":{"position":[[51,14],[356,14],[395,13]]},"753":{"position":[[1984,13]]},"758":{"position":[[33,14],[301,14]]},"788":{"position":[[113,10]]},"792":{"position":[[61,10]]},"808":{"position":[[61,13]]},"822":{"position":[[262,13],[358,13]]},"846":{"position":[[99,10],[533,10],[1295,14],[1485,15],[1588,10],[1616,14]]},"851":{"position":[[1021,13]]},"869":{"position":[[375,11]]},"872":{"position":[[656,13]]},"874":{"position":[[297,14]]},"881":{"position":[[0,14]]},"905":{"position":[[40,10],[255,10],[701,15],[1048,13],[1083,14],[1200,14],[1262,10],[1351,10]]},"907":{"position":[[4,10]]},"914":{"position":[[119,10]]},"917":{"position":[[291,12]]},"919":{"position":[[1332,10],[1472,10],[1942,10],[2026,10],[2135,13],[2252,13],[2302,13],[2469,13],[2629,10],[2744,15],[2878,10]]},"924":{"position":[[2507,10]]},"927":{"position":[[225,14],[290,13]]},"929":{"position":[[260,14],[292,10],[360,14]]},"937":{"position":[[1315,13],[3281,14],[3317,13],[4844,11]]},"938":{"position":[[54,15],[72,13],[340,14],[490,13],[985,13],[1074,13]]},"939":{"position":[[44,14],[123,14],[201,13],[231,14],[463,13],[660,14],[1025,14],[1243,13]]},"943":{"position":[[863,13],[1263,14],[1401,13],[1469,13],[1878,14]]},"944":{"position":[[334,14],[615,14],[681,14],[706,13],[874,9],[1430,14]]},"945":{"position":[[117,13],[531,14],[594,14],[645,14],[771,13],[806,14],[983,13]]},"946":{"position":[[103,14],[415,13]]},"947":{"position":[[34,13],[144,13],[221,13],[366,13],[1067,13],[1186,13]]},"959":{"position":[[132,11]]},"962":{"position":[[208,10]]},"963":{"position":[[15,10],[97,10]]},"964":{"position":[[663,10]]},"969":{"position":[[77,13]]},"973":{"position":[[56,12],[269,13],[385,12]]},"975":{"position":[[43,14]]},"980":{"position":[[10,13],[87,14],[202,13],[330,14],[373,14],[478,13],[615,13],[721,13],[808,13],[985,13],[1053,14],[1182,14],[1273,13],[1377,13],[1460,13],[1519,13]]},"981":{"position":[[50,13],[566,14],[630,13],[743,14]]},"987":{"position":[[851,10],[889,13]]},"988":{"position":[[156,13],[449,10]]},"989":{"position":[[184,10]]},"990":{"position":[[351,10],[887,10],[1294,10]]},"991":{"position":[[2420,10],[2612,10]]},"995":{"position":[[150,10],[180,10],[819,13],[1181,14],[1324,13]]},"997":{"position":[[44,13]]},"1004":{"position":[[108,13],[501,13],[775,13],[1422,13],[1616,14],[1656,13],[1736,13],[1808,13],[2050,13],[2081,13]]},"1005":{"position":[[223,14],[261,13]]},"1006":{"position":[[261,14],[289,13],[916,10],[993,10],[1076,10],[1154,10]]},"1009":{"position":[[132,14]]},"1011":{"position":[[5,14],[111,13],[369,14],[447,14],[487,15],[580,10],[612,15]]},"1012":{"position":[[153,14]]},"1013":{"position":[[92,11],[142,13]]},"1014":{"position":[[99,13],[142,14],[626,14],[754,13]]},"1015":{"position":[[35,10],[86,13]]},"1016":{"position":[[26,13],[180,13]]},"1017":{"position":[[100,13],[350,14],[448,13],[554,14],[647,14],[814,14],[869,15]]},"1018":{"position":[[63,15],[221,13],[270,13]]},"1019":{"position":[[9,14],[541,13],[574,10]]},"1020":{"position":[[184,13],[293,13]]},"1021":{"position":[[652,10]]},"1022":{"position":[[373,10]]},"1024":{"position":[[263,10]]},"1025":{"position":[[382,13],[436,13],[619,13]]},"1026":{"position":[[58,10],[601,13],[722,10],[834,10]]},"1042":{"position":[[322,14],[369,13],[437,13]]},"1053":{"position":[[1166,10]]},"1069":{"position":[[529,14]]},"1072":{"position":[[46,13],[108,13]]},"1079":{"position":[[33,10],[516,10]]},"1093":{"position":[[0,11],[45,11],[769,14]]},"1096":{"position":[[120,13]]},"1098":{"position":[[27,10],[545,14]]},"1112":{"position":[[962,14],[977,11],[1280,13],[1372,11],[1563,10],[2395,10],[3710,10]]},"1120":{"position":[[815,15]]},"1136":{"position":[[2447,13],[2506,13],[2543,9],[2592,13],[2618,9],[3642,9],[5185,9]]},"1138":{"position":[[5244,14],[5546,13],[5662,10],[5845,9],[6168,13],[6205,9],[6254,13],[6280,9],[7304,9],[8847,9]]},"1140":{"position":[[4733,14],[5035,13],[5094,13],[5131,9],[5180,13],[5206,9],[6230,9],[7773,9]]},"1142":{"position":[[1674,9],[3217,9]]},"1144":{"position":[[17,13]]},"1146":{"position":[[27,10],[419,13],[478,13],[515,9],[564,13],[590,9],[1614,9],[3157,9]]},"1148":{"position":[[23,10],[51,10],[106,13],[185,10],[282,14],[316,13],[2896,13],[3012,10],[3195,9],[3518,13],[3555,9],[3604,13],[3630,9],[4654,9],[6197,9]]},"1155":{"position":[[1710,9],[3253,9]]},"1156":{"position":[[1288,9],[2831,9]]},"1161":{"position":[[724,9]]},"1167":{"position":[[5737,14],[6039,13],[6098,13],[6135,9],[6184,13],[6210,9],[7234,9],[8777,9]]},"1169":{"position":[[1073,9]]},"1181":{"position":[[936,9]]},"1186":{"position":[[1120,13],[1236,10],[1419,9],[1742,13],[1779,9],[1828,13],[1854,9],[2878,9],[4421,9]]},"1187":{"position":[[1133,13],[1249,10],[1432,9],[1755,13],[1792,9],[1841,13],[1867,9],[2891,9],[4434,9]]},"1188":{"position":[[4786,14],[5859,13],[5975,10],[6158,9],[6481,13],[6518,9],[6567,13],[6593,9],[7617,9],[9160,9]]},"1190":{"position":[[428,14],[470,13],[1228,13],[1302,14]]},"1191":{"position":[[1478,9],[3021,9]]},"1192":{"position":[[458,13],[517,13],[554,9],[603,13],[629,9],[1653,9],[3196,9]]},"1193":{"position":[[1705,9],[3248,9]]},"1194":{"position":[[27,13],[72,14],[97,19],[128,19],[148,14],[281,15],[1345,9],[2888,9]]},"1195":{"position":[[1323,9],[2866,9]]},"1196":{"position":[[1133,9],[2676,9]]},"1197":{"position":[[358,13],[474,10],[657,9],[980,13],[1017,9],[1066,13],[1092,9],[2116,9],[3659,9]]},"1198":{"position":[[368,13],[484,10],[667,9],[990,13],[1027,9],[1076,13],[1102,9],[2126,9],[3669,9]]},"1199":{"position":[[396,13],[512,10],[695,9],[1018,13],[1055,9],[1104,13],[1130,9],[2154,9],[3697,9]]},"1200":{"position":[[263,13],[379,10],[562,9],[885,13],[922,9],[971,13],[997,9],[2021,9],[3564,9]]},"1201":{"position":[[1281,9],[2824,9]]},"1202":{"position":[[2423,9],[3966,9],[6820,9],[8363,9]]},"1203":{"position":[[320,13],[379,13],[416,9],[465,13],[491,9],[1515,9],[3058,9]]},"1204":{"position":[[1359,9],[2902,9]]},"1205":{"position":[[115,13],[189,14],[431,13],[1493,13],[1552,13],[1589,9],[1638,13],[1664,9],[2688,9],[4231,9]]},"1206":{"position":[[1159,9],[2702,9],[3741,13]]},"1207":{"position":[[1316,9],[2859,9]]},"1209":{"position":[[2664,9],[4207,9]]},"1217":{"position":[[4478,14],[4780,13],[4839,13],[4876,9],[4925,13],[4951,9],[5975,9],[7518,9]]},"1219":{"position":[[1961,9]]},"1222":{"position":[[1085,9],[2628,9]]},"1223":{"position":[[1095,9],[2638,9]]},"1224":{"position":[[1275,9]]},"1226":{"position":[[5248,13],[5307,13],[5344,9],[5393,13],[5419,9],[6443,9],[7986,9]]},"1228":{"position":[[6559,14],[6861,13],[6920,13],[6957,9],[7006,13],[7032,9],[8056,9],[9599,9]]},"1235":{"position":[[306,10],[3924,9],[5467,9]]},"1237":{"position":[[170,10],[5418,13],[5477,13],[5514,9],[5563,13],[5589,9],[6613,9],[8156,9]]},"1278":{"position":[[170,14]]},"1280":{"position":[[123,13]]},"1309":{"position":[[170,14]]},"1311":{"position":[[123,13]]},"1337":{"position":[[170,14]]},"1339":{"position":[[123,13]]},"1345":{"position":[[0,13],[1312,10]]},"1346":{"position":[[294,9]]},"1351":{"position":[[772,13],[1309,13],[1436,13]]},"1355":{"position":[[2669,13],[2796,13]]},"1360":{"position":[[1898,13],[2025,13]]},"1362":{"position":[[5621,13],[5748,13],[6337,13],[6381,10],[9985,13]]},"1363":{"position":[[3367,13],[3494,13]]},"1364":{"position":[[5650,13],[5777,13],[6366,13],[6410,10],[11099,13]]},"1366":{"position":[[1397,13],[1524,13]]},"1367":{"position":[[7048,13],[7175,13],[7764,13],[7808,10],[10902,13]]},"1370":{"position":[[1046,13],[1173,13],[1769,15]]},"1373":{"position":[[3893,13],[3937,10]]},"1374":{"position":[[1081,13],[1208,13]]},"1382":{"position":[[3533,13],[3660,13],[4249,13],[4293,10],[6711,13]]},"1383":{"position":[[1390,13],[1771,13],[1898,13],[8296,13]]},"1384":{"position":[[4695,13],[4822,13],[5411,13],[5455,10],[13065,13]]},"1385":{"position":[[2052,11]]},"1388":{"position":[[3833,13],[3960,13],[4549,13],[4593,10],[7580,13]]},"1389":{"position":[[5399,13],[5452,10],[5646,13],[5699,10]]},"1393":{"position":[[1621,13],[1748,13]]},"1395":{"position":[[1078,13],[1205,13]]},"1398":{"position":[[1728,13],[1855,13],[5625,13]]},"1403":{"position":[[1601,13],[1728,13]]},"1405":{"position":[[2351,14]]},"1407":{"position":[[2772,14]]},"1410":{"position":[[1968,13],[2095,13],[2794,14]]},"1412":{"position":[[1989,13],[2116,13]]},"1422":{"position":[[1234,13],[1361,13]]},"1426":{"position":[[1307,13],[1434,13]]},"1427":{"position":[[2204,13],[2331,13]]},"1429":{"position":[[2868,13],[2995,13]]},"1438":{"position":[[966,13],[1093,13]]},"1439":{"position":[[2490,13],[2617,13]]},"1440":{"position":[[3056,13],[3183,13]]},"1442":{"position":[[861,13],[988,13]]},"1454":{"position":[[4358,13],[4402,10]]},"1461":{"position":[[1282,13],[1409,13]]},"1462":{"position":[[5371,13],[5415,10]]},"1467":{"position":[[5352,13],[5479,13]]},"1469":{"position":[[876,9],[1170,13],[1297,13]]},"1471":{"position":[[2033,13],[2160,13],[2917,13],[2961,10]]},"1472":{"position":[[1992,13],[2119,13]]},"1473":{"position":[[2307,13],[2434,13]]},"1477":{"position":[[926,13],[1053,13]]},"1478":{"position":[[1417,13],[1544,13],[2669,10]]},"1487":{"position":[[991,13],[1118,13]]}},"keywords":{}}],["configuraiton",{"_index":4691,"title":{},"content":{"943":{"position":[[1726,14]]}},"keywords":{}}],["configuration$ex",{"_index":5080,"title":{},"content":{"1025":{"position":[[509,18]]}},"keywords":{}}],["configuration$exe_target",{"_index":5081,"title":{},"content":{"1025":{"position":[[563,25]]}},"keywords":{}}],["configuration.for",{"_index":4069,"title":{},"content":{"872":{"position":[[174,17]]}},"keywords":{}}],["configuration.full_hybrid",{"_index":6805,"title":{},"content":{"1362":{"position":[[9870,25]]},"1364":{"position":[[10984,25]]},"1367":{"position":[[10787,25]]},"1382":{"position":[[6596,25]]},"1384":{"position":[[12950,25]]},"1388":{"position":[[7465,25]]}},"keywords":{}}],["configuration.th",{"_index":3542,"title":{},"content":{"693":{"position":[[3008,17]]}},"keywords":{}}],["configuration.when",{"_index":4852,"title":{},"content":{"980":{"position":[[521,18]]}},"keywords":{}}],["configuration_alia",{"_index":7110,"title":{"1376":{"position":[[0,20]]}},"content":{"1376":{"position":[[4,20]]}},"keywords":{}}],["configuration_dep",{"_index":6258,"title":{"1280":{"position":[[0,21]]},"1311":{"position":[[0,21]]},"1339":{"position":[[0,21]]}},"content":{"1259":{"position":[[1829,21]]},"1290":{"position":[[1829,21]]},"1318":{"position":[[1829,21]]}},"keywords":{}}],["configuration_deps())"",{"_index":6294,"title":{},"content":{"1280":{"position":[[240,29]]},"1311":{"position":[[240,29]]},"1339":{"position":[[240,29]]}},"keywords":{}}],["configurationcompatible_with",{"_index":6384,"title":{},"content":{"1348":{"position":[[2972,29]]},"1349":{"position":[[1117,29]]},"1350":{"position":[[4088,29]]},"1352":{"position":[[4087,29]]},"1353":{"position":[[1691,29]]},"1354":{"position":[[1529,29]]},"1356":{"position":[[1035,29]]},"1357":{"position":[[708,29]]},"1358":{"position":[[1429,29]]},"1359":{"position":[[1266,29]]},"1361":{"position":[[1256,29]]},"1365":{"position":[[1190,29]]},"1368":{"position":[[1746,29]]},"1369":{"position":[[798,29]]},"1371":{"position":[[674,29]]},"1372":{"position":[[2312,29]]},"1373":{"position":[[3184,29]]},"1375":{"position":[[710,29]]},"1376":{"position":[[666,29]]},"1377":{"position":[[905,29]]},"1378":{"position":[[652,29]]},"1379":{"position":[[675,29]]},"1380":{"position":[[1146,29]]},"1381":{"position":[[1052,29]]},"1385":{"position":[[2371,29]]},"1386":{"position":[[1009,29]]},"1387":{"position":[[4640,29]]},"1389":{"position":[[4693,29]]},"1390":{"position":[[945,29]]},"1391":{"position":[[898,29]]},"1392":{"position":[[1048,29]]},"1394":{"position":[[1068,29]]},"1396":{"position":[[874,29]]},"1397":{"position":[[1055,29]]},"1399":{"position":[[910,29]]},"1400":{"position":[[779,29]]},"1401":{"position":[[854,29]]},"1402":{"position":[[1010,29]]},"1404":{"position":[[843,29]]},"1405":{"position":[[1534,29]]},"1406":{"position":[[750,29]]},"1407":{"position":[[1575,29]]},"1408":{"position":[[1271,29]]},"1409":{"position":[[805,29]]},"1411":{"position":[[788,29]]},"1413":{"position":[[2172,29]]},"1414":{"position":[[1039,29]]},"1415":{"position":[[3021,29]]},"1416":{"position":[[1673,29]]},"1417":{"position":[[1262,29]]},"1418":{"position":[[963,29]]},"1419":{"position":[[1091,29]]},"1420":{"position":[[1355,29]]},"1421":{"position":[[1330,29]]},"1423":{"position":[[1222,29]]},"1424":{"position":[[1347,29]]},"1425":{"position":[[963,29]]},"1428":{"position":[[945,29]]},"1430":{"position":[[1721,29]]},"1431":{"position":[[1065,29]]},"1432":{"position":[[1586,29]]},"1433":{"position":[[1107,29]]},"1434":{"position":[[781,29]]},"1435":{"position":[[745,29]]},"1436":{"position":[[761,29]]},"1437":{"position":[[831,29]]},"1441":{"position":[[787,29]]},"1443":{"position":[[1082,29]]},"1444":{"position":[[998,29]]},"1445":{"position":[[687,29]]},"1446":{"position":[[1021,29]]},"1447":{"position":[[903,29]]},"1448":{"position":[[1338,29]]},"1449":{"position":[[1272,29]]},"1450":{"position":[[1151,29]]},"1451":{"position":[[1151,29]]},"1452":{"position":[[697,29]]},"1453":{"position":[[1283,29]]},"1454":{"position":[[3649,29]]},"1455":{"position":[[1536,29]]},"1456":{"position":[[881,29]]},"1457":{"position":[[940,29]]},"1458":{"position":[[1475,29]]},"1459":{"position":[[954,29]]},"1460":{"position":[[1066,29]]},"1462":{"position":[[4662,29]]},"1463":{"position":[[788,29]]},"1464":{"position":[[696,29]]},"1465":{"position":[[1794,29]]},"1466":{"position":[[1032,29]]},"1468":{"position":[[796,29]]},"1470":{"position":[[3698,29]]},"1474":{"position":[[1697,29]]},"1475":{"position":[[2168,29]]},"1476":{"position":[[773,29]]},"1479":{"position":[[865,29]]},"1480":{"position":[[1278,29]]},"1481":{"position":[[1811,29]]},"1482":{"position":[[885,29]]},"1483":{"position":[[719,29]]},"1484":{"position":[[791,29]]},"1485":{"position":[[1051,29]]},"1486":{"position":[[1295,29]]}},"keywords":{}}],["configurationexec_compatible_with",{"_index":6385,"title":{},"content":{"1348":{"position":[[3098,34]]},"1349":{"position":[[1243,34]]},"1350":{"position":[[4214,34]]},"1352":{"position":[[4213,34]]},"1353":{"position":[[1817,34]]},"1354":{"position":[[1655,34]]},"1356":{"position":[[1161,34]]},"1357":{"position":[[834,34]]},"1358":{"position":[[1555,34]]},"1359":{"position":[[1392,34]]},"1361":{"position":[[1382,34]]},"1365":{"position":[[1316,34]]},"1368":{"position":[[1872,34]]},"1369":{"position":[[924,34]]},"1371":{"position":[[800,34]]},"1372":{"position":[[2438,34]]},"1373":{"position":[[3310,34]]},"1375":{"position":[[836,34]]},"1376":{"position":[[792,34]]},"1377":{"position":[[1031,34]]},"1378":{"position":[[778,34]]},"1379":{"position":[[801,34]]},"1380":{"position":[[1272,34]]},"1381":{"position":[[1178,34]]},"1385":{"position":[[2497,34]]},"1386":{"position":[[1135,34]]},"1387":{"position":[[4766,34]]},"1389":{"position":[[4819,34]]},"1390":{"position":[[1071,34]]},"1391":{"position":[[1024,34]]},"1392":{"position":[[1174,34]]},"1394":{"position":[[1194,34]]},"1396":{"position":[[1000,34]]},"1397":{"position":[[1181,34]]},"1399":{"position":[[1036,34]]},"1400":{"position":[[905,34]]},"1401":{"position":[[980,34]]},"1402":{"position":[[1136,34]]},"1404":{"position":[[969,34]]},"1405":{"position":[[1660,34]]},"1406":{"position":[[876,34]]},"1407":{"position":[[1701,34]]},"1408":{"position":[[1397,34]]},"1409":{"position":[[931,34]]},"1411":{"position":[[914,34]]},"1413":{"position":[[2298,34]]},"1414":{"position":[[1165,34]]},"1415":{"position":[[3147,34]]},"1416":{"position":[[1799,34]]},"1417":{"position":[[1388,34]]},"1418":{"position":[[1089,34]]},"1419":{"position":[[1217,34]]},"1420":{"position":[[1481,34]]},"1421":{"position":[[1456,34]]},"1423":{"position":[[1348,34]]},"1424":{"position":[[1473,34]]},"1425":{"position":[[1089,34]]},"1428":{"position":[[1071,34]]},"1430":{"position":[[1847,34]]},"1431":{"position":[[1191,34]]},"1432":{"position":[[1712,34]]},"1433":{"position":[[1233,34]]},"1434":{"position":[[907,34]]},"1435":{"position":[[871,34]]},"1436":{"position":[[887,34]]},"1437":{"position":[[957,34]]},"1441":{"position":[[913,34]]},"1443":{"position":[[1208,34]]},"1444":{"position":[[1124,34]]},"1445":{"position":[[813,34]]},"1446":{"position":[[1147,34]]},"1447":{"position":[[1029,34]]},"1448":{"position":[[1464,34]]},"1449":{"position":[[1398,34]]},"1450":{"position":[[1277,34]]},"1451":{"position":[[1277,34]]},"1452":{"position":[[823,34]]},"1453":{"position":[[1409,34]]},"1454":{"position":[[3775,34]]},"1455":{"position":[[1662,34]]},"1456":{"position":[[1007,34]]},"1457":{"position":[[1066,34]]},"1458":{"position":[[1601,34]]},"1459":{"position":[[1080,34]]},"1460":{"position":[[1192,34]]},"1462":{"position":[[4788,34]]},"1463":{"position":[[914,34]]},"1464":{"position":[[822,34]]},"1465":{"position":[[1920,34]]},"1466":{"position":[[1158,34]]},"1468":{"position":[[922,34]]},"1470":{"position":[[3824,34]]},"1474":{"position":[[1823,34]]},"1475":{"position":[[2294,34]]},"1476":{"position":[[899,34]]},"1479":{"position":[[991,34]]},"1480":{"position":[[1404,34]]},"1481":{"position":[[1937,34]]},"1482":{"position":[[1011,34]]},"1483":{"position":[[845,34]]},"1484":{"position":[[917,34]]},"1485":{"position":[[1177,34]]},"1486":{"position":[[1421,34]]}},"keywords":{}}],["configurationexec_dep",{"_index":5195,"title":{},"content":{"1044":{"position":[[2267,22]]}},"keywords":{}}],["configurationinfo",{"_index":1925,"title":{"363":{"position":[[0,18]]},"742":{"position":[[0,18]]},"1017":{"position":[[0,18]]}},"content":{"363":{"position":[[4,18],[111,17]]},"372":{"position":[[66,18],[371,17]]},"379":{"position":[[48,17],[316,17]]},"742":{"position":[[4,18],[111,17]]},"751":{"position":[[66,18],[371,17]]},"758":{"position":[[48,17],[316,17]]},"981":{"position":[[109,17],[167,18],[210,18],[355,17],[444,17]]},"1004":{"position":[[1457,18]]},"1017":{"position":[[182,17]]}},"keywords":{}}],["configurations/mod",{"_index":3658,"title":{},"content":{"706":{"position":[[225,21],[808,21]]}},"keywords":{}}],["configured/resolv",{"_index":1646,"title":{},"content":{"298":{"position":[[2180,19]]},"851":{"position":[[1503,19]]}},"keywords":{}}],["configured/unconfigur",{"_index":3959,"title":{"859":{"position":[[13,23]]}},"content":{},"keywords":{}}],["configured_actu",{"_index":4971,"title":{},"content":{"995":{"position":[[273,17],[365,17]]},"1377":{"position":[[374,18]]}},"keywords":{}}],["configured_alia",{"_index":4557,"title":{"925":{"position":[[26,16]]},"927":{"position":[[8,18]]},"931":{"position":[[9,16]]},"933":{"position":[[3,17]]},"995":{"position":[[0,17]]},"1377":{"position":[[0,17]]}},"content":{"926":{"position":[[24,16],[55,16],[214,17]]},"927":{"position":[[16,17]]},"933":{"position":[[25,16],[144,16]]},"995":{"position":[[4,16],[524,16],[1379,17]]},"1377":{"position":[[4,17]]}},"keywords":{}}],["configured_alias(nam",{"_index":4571,"title":{},"content":{"931":{"position":[[4,22]]}},"keywords":{}}],["configured_alias_impl",{"_index":4567,"title":{"930":{"position":[[0,21]]}},"content":{"930":{"position":[[104,21]]}},"keywords":{}}],["configured_alias_impl(nam",{"_index":4572,"title":{},"content":{"931":{"position":[[46,27]]}},"keywords":{}}],["configured_aliasbuck",{"_index":4131,"title":{},"content":{"882":{"position":[[0,20]]}},"keywords":{}}],["configured_attr",{"_index":2471,"title":{"482":{"position":[[0,15]]}},"content":{"528":{"position":[[43,15],[105,18]]}},"keywords":{}}],["configured_attr.typ",{"_index":2472,"title":{"483":{"position":[[0,21]]}},"content":{"483":{"position":[[0,21]]}},"keywords":{}}],["configured_attr.valu",{"_index":2475,"title":{"484":{"position":[[0,22]]}},"content":{"484":{"position":[[4,23]]}},"keywords":{}}],["configured_dep",{"_index":4565,"title":{"929":{"position":[[25,15]]}},"content":{"929":{"position":[[185,14]]}},"keywords":{}}],["configured_graph_s",{"_index":5729,"title":{},"content":{"1112":{"position":[[2551,22]]}},"keywords":{}}],["configured_label",{"_index":935,"title":{},"content":{"63":{"position":[[350,16]]},"492":{"position":[[350,16]]}},"keywords":{}}],["configured_target",{"_index":1671,"title":{},"content":{"301":{"position":[[1059,20]]}},"keywords":{}}],["configured_target_label",{"_index":913,"title":{"56":{"position":[[0,23]]},"485":{"position":[[0,23]]},"935":{"position":[[7,23]]}},"content":{"108":{"position":[[36,23]]},"168":{"position":[[25,23]]},"236":{"position":[[100,23],[308,23]]},"237":{"position":[[100,23],[308,23]]},"238":{"position":[[122,23],[330,23]]},"239":{"position":[[94,23],[302,23]]},"280":{"position":[[32,23]]},"294":{"position":[[90,23],[250,23]]},"297":{"position":[[87,23],[247,23]]},"301":{"position":[[100,23],[234,23]]},"309":{"position":[[97,23],[231,23]]},"324":{"position":[[94,23],[228,23],[335,23],[469,23]]},"325":{"position":[[122,23],[256,23]]},"326":{"position":[[132,23],[266,23]]},"327":{"position":[[98,23],[232,23]]},"328":{"position":[[94,23],[228,23]]},"330":{"position":[[107,23],[241,23]]},"331":{"position":[[95,23],[229,23]]},"332":{"position":[[105,23],[239,23]]},"333":{"position":[[123,23],[257,23]]},"334":{"position":[[155,23],[289,23]]},"335":{"position":[[95,23],[229,23],[338,23],[472,23]]},"336":{"position":[[94,23],[228,23],[335,23],[469,23]]},"337":{"position":[[96,23],[230,23]]},"338":{"position":[[125,23],[259,23]]},"520":{"position":[[36,23]]},"935":{"position":[[101,23]]}},"keywords":{}}],["configured_target_label.cel",{"_index":914,"title":{"57":{"position":[[0,29]]},"486":{"position":[[0,29]]}},"content":{"57":{"position":[[0,29]]},"486":{"position":[[0,29]]}},"keywords":{}}],["configured_target_label.config",{"_index":915,"title":{"58":{"position":[[0,31]]},"487":{"position":[[0,31]]}},"content":{"58":{"position":[[4,32]]},"487":{"position":[[4,32]]}},"keywords":{}}],["configured_target_label.nam",{"_index":916,"title":{"59":{"position":[[0,29]]},"488":{"position":[[0,29]]}},"content":{"59":{"position":[[0,29]]},"488":{"position":[[0,29]]}},"keywords":{}}],["configured_target_label.packag",{"_index":917,"title":{"60":{"position":[[0,32]]},"489":{"position":[[0,32]]}},"content":{"60":{"position":[[0,32]]},"489":{"position":[[0,32]]}},"keywords":{}}],["configured_target_label.path",{"_index":918,"title":{"61":{"position":[[0,29]]},"490":{"position":[[0,29]]}},"content":{"61":{"position":[[0,29]]},"490":{"position":[[0,29]]}},"keywords":{}}],["configured_target_label.raw_target",{"_index":919,"title":{"62":{"position":[[0,35]]},"491":{"position":[[0,35]]}},"content":{"62":{"position":[[4,36]]},"491":{"position":[[4,36]]}},"keywords":{}}],["configured_target_label.with_sub_target",{"_index":922,"title":{"63":{"position":[[0,40]]},"492":{"position":[[0,40]]}},"content":{"63":{"position":[[4,40]]},"492":{"position":[[4,40]]}},"keywords":{}}],["configuredbuildreportentri",{"_index":5718,"title":{},"content":{"1112":{"position":[[1009,28],[1867,26]]}},"keywords":{}}],["configuredbuildreportentry`",{"_index":5719,"title":{},"content":{"1112":{"position":[[1162,30]]}},"keywords":{}}],["configuredlabel",{"_index":4735,"title":{},"content":{"951":{"position":[[88,16]]}},"keywords":{}}],["configuredproviderslabel",{"_index":1933,"title":{"364":{"position":[[0,25]]},"743":{"position":[[0,25]]}},"content":{"364":{"position":[[0,25]]},"743":{"position":[[0,25]]}},"keywords":{}}],["configuredtarget",{"_index":4532,"title":{},"content":{"924":{"position":[[743,16]]}},"keywords":{}}],["configuredtargetlabel",{"_index":927,"title":{"365":{"position":[[0,22]]},"744":{"position":[[0,22]]}},"content":{"63":{"position":[[107,21]]},"365":{"position":[[0,22]]},"492":{"position":[[107,21]]},"744":{"position":[[0,22]]}},"keywords":{}}],["configuredtargetlabel,configuredtargetnod",{"_index":4523,"title":{},"content":{"924":{"position":[[144,43]]}},"keywords":{}}],["configuredtargetlabel::analyz",{"_index":4537,"title":{},"content":{"924":{"position":[[1060,33]]}},"keywords":{}}],["configuredtargetlabellik",{"_index":4521,"title":{},"content":{"924":{"position":[[77,27],[2019,27]]}},"keywords":{}}],["configuredtargetnod",{"_index":2110,"title":{},"content":{"402":{"position":[[154,20]]},"781":{"position":[[154,20]]},"924":{"position":[[2346,20]]}},"keywords":{}}],["configuredtargetnode::analyz",{"_index":4538,"title":{},"content":{"924":{"position":[[1094,32]]}},"keywords":{}}],["configuredtargetset",{"_index":2111,"title":{},"content":{"402":{"position":[[183,19]]},"781":{"position":[[183,19]]}},"keywords":{}}],["confirm",{"_index":4753,"title":{},"content":{"955":{"position":[[809,9]]},"1233":{"position":[[270,7]]},"1241":{"position":[[218,7]]}},"keywords":{}}],["confiured_target_label(x",{"_index":4576,"title":{},"content":{"934":{"position":[[19,25]]}},"keywords":{}}],["conflicting_header_basename_exempt",{"_index":7346,"title":{},"content":{"1389":{"position":[[1421,39]]}},"keywords":{}}],["conform",{"_index":1101,"title":{},"content":{"90":{"position":[[194,7]]},"222":{"position":[[194,7]]},"890":{"position":[[3195,10],[3556,10],[3921,10]]},"951":{"position":[[905,7]]}},"keywords":{}}],["confus",{"_index":7289,"title":{},"content":{"1386":{"position":[[6328,8]]}},"keywords":{}}],["conjunct",{"_index":2177,"title":{},"content":{"408":{"position":[[188,11]]},"787":{"position":[[188,11]]},"1486":{"position":[[860,11]]}},"keywords":{}}],["connect",{"_index":3686,"title":{},"content":{"706":{"position":[[2652,11]]},"1167":{"position":[[951,9]]}},"keywords":{}}],["consdier",{"_index":6222,"title":{},"content":{"1255":{"position":[[80,8]]}},"keywords":{}}],["consecut",{"_index":2983,"title":{},"content":{"616":{"position":[[255,11],[666,11]]}},"keywords":{}}],["consequ",{"_index":709,"title":{},"content":{"23":{"position":[[851,11]]},"418":{"position":[[982,11]]},"797":{"position":[[982,11]]},"890":{"position":[[1273,12]]},"892":{"position":[[487,13]]},"900":{"position":[[1626,12]]}},"keywords":{}}],["consid",{"_index":609,"title":{},"content":{"20":{"position":[[116,10]]},"23":{"position":[[420,10]]},"305":{"position":[[127,10]]},"346":{"position":[[133,10]]},"347":{"position":[[231,10]]},"406":{"position":[[199,8]]},"587":{"position":[[530,8]]},"616":{"position":[[290,10]]},"632":{"position":[[185,10]]},"675":{"position":[[150,8]]},"688":{"position":[[169,10]]},"785":{"position":[[199,8]]},"833":{"position":[[122,10]]},"869":{"position":[[796,10]]},"1007":{"position":[[18,11]]},"1022":{"position":[[210,8]]},"1071":{"position":[[234,8]]},"1108":{"position":[[249,10]]},"1114":{"position":[[1004,10]]},"1138":{"position":[[4187,8]]},"1140":{"position":[[3676,8]]},"1142":{"position":[[356,9]]},"1167":{"position":[[4680,8]]},"1188":{"position":[[3729,8]]},"1217":{"position":[[3421,8]]},"1228":{"position":[[5502,8]]},"1232":{"position":[[6,8]]},"1273":{"position":[[173,8]]},"1304":{"position":[[173,8]]},"1332":{"position":[[173,8]]},"1360":{"position":[[4397,10]]},"1366":{"position":[[2590,10],[2880,10]]},"1383":{"position":[[4580,10],[6430,10]]},"1393":{"position":[[7860,10]]},"1403":{"position":[[3812,10]]},"1429":{"position":[[5337,10]]},"1440":{"position":[[5331,10]]},"1461":{"position":[[2756,10]]},"1486":{"position":[[3113,8]]}},"keywords":{}}],["consider",{"_index":3549,"title":{},"content":{"693":{"position":[[4138,12]]}},"keywords":{}}],["consist",{"_index":454,"title":{},"content":{"15":{"position":[[290,10]]},"22":{"position":[[36,10]]},"446":{"position":[[391,10]]},"595":{"position":[[505,8]]},"597":{"position":[[164,8]]},"598":{"position":[[153,8]]},"599":{"position":[[152,8]]},"601":{"position":[[159,8]]},"616":{"position":[[737,8]]},"638":{"position":[[227,8]]},"693":{"position":[[2531,7],[6986,8]]},"704":{"position":[[397,8],[589,7],[1681,8],[2227,8]]},"716":{"position":[[55,8]]},"718":{"position":[[485,8]]},"825":{"position":[[391,10]]},"890":{"position":[[1828,8]]},"902":{"position":[[205,8]]},"980":{"position":[[29,8]]},"1011":{"position":[[125,8]]},"1136":{"position":[[68,8]]},"1235":{"position":[[79,8]]},"1398":{"position":[[2594,7],[5184,10]]},"1426":{"position":[[2780,10]]},"1454":{"position":[[7499,8]]}},"keywords":{}}],["consol",{"_index":1686,"title":{"1115":{"position":[[6,8]]},"1121":{"position":[[3,8]]}},"content":{"305":{"position":[[68,7]]},"346":{"position":[[95,7]]},"347":{"position":[[98,7]]},"450":{"position":[[158,7]]},"829":{"position":[[158,7]]},"877":{"position":[[211,8]]},"910":{"position":[[516,7]]},"1112":{"position":[[2696,8]]},"1118":{"position":[[72,7]]},"1120":{"position":[[445,8]]},"1121":{"position":[[25,7]]},"1136":{"position":[[4970,7],[4989,7],[5028,7],[5628,7],[5644,7]]},"1138":{"position":[[8632,7],[8651,7],[8690,7],[9290,7],[9306,7]]},"1140":{"position":[[7558,7],[7577,7],[7616,7],[8216,7],[8232,7]]},"1142":{"position":[[3002,7],[3021,7],[3060,7],[3660,7],[3676,7]]},"1146":{"position":[[2942,7],[2961,7],[3000,7],[3600,7],[3616,7]]},"1148":{"position":[[5982,7],[6001,7],[6040,7],[6640,7],[6656,7]]},"1155":{"position":[[3038,7],[3057,7],[3096,7],[3696,7],[3712,7]]},"1156":{"position":[[2616,7],[2635,7],[2674,7],[3274,7],[3290,7]]},"1161":{"position":[[509,7],[528,7],[567,7],[1167,7],[1183,7]]},"1167":{"position":[[8562,7],[8581,7],[8620,7],[9220,7],[9236,7]]},"1181":{"position":[[721,7],[740,7],[779,7],[1379,7],[1395,7]]},"1186":{"position":[[4206,7],[4225,7],[4264,7],[4864,7],[4880,7]]},"1187":{"position":[[4219,7],[4238,7],[4277,7],[4877,7],[4893,7]]},"1188":{"position":[[8945,7],[8964,7],[9003,7],[9603,7],[9619,7]]},"1191":{"position":[[2806,7],[2825,7],[2864,7],[3464,7],[3480,7]]},"1192":{"position":[[2981,7],[3000,7],[3039,7],[3639,7],[3655,7]]},"1193":{"position":[[3033,7],[3052,7],[3091,7],[3691,7],[3707,7]]},"1194":{"position":[[2673,7],[2692,7],[2731,7],[3331,7],[3347,7]]},"1195":{"position":[[2651,7],[2670,7],[2709,7],[3309,7],[3325,7]]},"1196":{"position":[[2461,7],[2480,7],[2519,7],[3119,7],[3135,7]]},"1197":{"position":[[3444,7],[3463,7],[3502,7],[4102,7],[4118,7]]},"1198":{"position":[[3454,7],[3473,7],[3512,7],[4112,7],[4128,7]]},"1199":{"position":[[3482,7],[3501,7],[3540,7],[4140,7],[4156,7]]},"1200":{"position":[[3349,7],[3368,7],[3407,7],[4007,7],[4023,7]]},"1201":{"position":[[2609,7],[2628,7],[2667,7],[3267,7],[3283,7]]},"1202":{"position":[[3751,7],[3770,7],[3809,7],[4409,7],[4425,7],[8148,7],[8167,7],[8206,7],[8806,7],[8822,7]]},"1203":{"position":[[2843,7],[2862,7],[2901,7],[3501,7],[3517,7]]},"1204":{"position":[[2687,7],[2706,7],[2745,7],[3345,7],[3361,7]]},"1205":{"position":[[4016,7],[4035,7],[4074,7],[4674,7],[4690,7]]},"1206":{"position":[[2487,7],[2506,7],[2545,7],[3145,7],[3161,7]]},"1207":{"position":[[2644,7],[2663,7],[2702,7],[3302,7],[3318,7]]},"1209":{"position":[[3992,7],[4011,7],[4050,7],[4650,7],[4666,7]]},"1217":{"position":[[7303,7],[7322,7],[7361,7],[7961,7],[7977,7]]},"1222":{"position":[[2413,7],[2432,7],[2471,7],[3071,7],[3087,7]]},"1223":{"position":[[2423,7],[2442,7],[2481,7],[3081,7],[3097,7]]},"1226":{"position":[[7771,7],[7790,7],[7829,7],[8429,7],[8445,7]]},"1228":{"position":[[9384,7],[9403,7],[9442,7],[10042,7],[10058,7]]},"1232":{"position":[[3446,7],[3468,7]]},"1235":{"position":[[5252,7],[5271,7],[5310,7],[5910,7],[5926,7]]},"1237":{"position":[[7941,7],[7960,7],[7999,7],[8599,7],[8615,7]]},"1239":{"position":[[28,7],[137,7]]},"1245":{"position":[[46,7]]}},"keywords":{}}],["console,fail",{"_index":7962,"title":{},"content":{"1427":{"position":[[4254,13]]}},"keywords":{}}],["consolemessag",{"_index":5811,"title":{},"content":{"1126":{"position":[[1442,14]]}},"keywords":{}}],["constant",{"_index":4143,"title":{},"content":{"887":{"position":[[178,9]]},"1351":{"position":[[2284,8],[2666,8],[3052,8],[3233,8],[3492,9]]},"1355":{"position":[[5948,10],[6242,10]]},"1427":{"position":[[5121,10],[5415,10]]}},"keywords":{}}],["constitut",{"_index":2699,"title":{},"content":{"584":{"position":[[261,10]]},"587":{"position":[[21,10]]},"693":{"position":[[6281,10]]}},"keywords":{}}],["constrain",{"_index":4609,"title":{},"content":{"937":{"position":[[3957,11]]}},"keywords":{}}],["constraint",{"_index":1644,"title":{},"content":{"298":{"position":[[1853,12]]},"363":{"position":[[26,12],[506,12]]},"366":{"position":[[132,10]]},"367":{"position":[[162,10]]},"575":{"position":[[448,10]]},"622":{"position":[[681,12]]},"693":{"position":[[2551,11],[3761,11],[3775,10],[5245,10],[6676,12]]},"720":{"position":[[106,11]]},"742":{"position":[[26,12],[506,12]]},"745":{"position":[[132,10]]},"746":{"position":[[162,10]]},"851":{"position":[[1060,12]]},"938":{"position":[[155,13],[219,10],[391,10],[415,10],[618,10],[641,11]]},"939":{"position":[[172,10],[357,10],[437,10],[496,10],[539,10],[699,10],[734,10],[977,10],[1223,10],[1283,10],[1461,10]]},"940":{"position":[[442,10],[862,11]]},"942":{"position":[[1353,10],[1687,10]]},"943":{"position":[[35,10],[68,10],[310,10],[1689,10],[2080,10],[2138,10],[2221,11],[2326,12],[2359,11],[2460,12],[2598,11]]},"944":{"position":[[285,11],[306,11]]},"945":{"position":[[683,10],[734,10],[946,10],[1037,10]]},"964":{"position":[[372,12]]},"980":{"position":[[1574,10]]},"981":{"position":[[547,11]]},"994":{"position":[[363,10]]},"1004":{"position":[[1050,10],[1116,10],[1204,10],[1236,11],[1347,10],[1486,12],[1499,11],[1513,12]]},"1011":{"position":[[146,11]]},"1013":{"position":[[201,10],[387,11],[488,12]]},"1016":{"position":[[62,10]]},"1019":{"position":[[137,11]]},"1020":{"position":[[138,12],[247,12]]},"1026":{"position":[[1125,10],[1296,10]]},"1136":{"position":[[2675,10]]},"1138":{"position":[[6337,10]]},"1140":{"position":[[5263,10]]},"1146":{"position":[[647,10]]},"1148":{"position":[[3687,10]]},"1167":{"position":[[6267,10]]},"1186":{"position":[[1911,10]]},"1187":{"position":[[1924,10]]},"1188":{"position":[[6650,10]]},"1190":{"position":[[454,11]]},"1192":{"position":[[686,10]]},"1194":{"position":[[11,11]]},"1197":{"position":[[1149,10]]},"1198":{"position":[[1159,10]]},"1199":{"position":[[1187,10]]},"1200":{"position":[[1054,10]]},"1203":{"position":[[548,10]]},"1205":{"position":[[1721,10]]},"1217":{"position":[[5008,10]]},"1226":{"position":[[5476,10]]},"1228":{"position":[[7089,10]]},"1237":{"position":[[5646,10]]},"1254":{"position":[[412,11],[470,12]]},"1348":{"position":[[2886,11],[3012,11],[3143,11]]},"1349":{"position":[[1031,11],[1157,11],[1288,11]]},"1350":{"position":[[4002,11],[4128,11],[4259,11]]},"1351":{"position":[[1223,11],[1350,11],[1482,11]]},"1352":{"position":[[4001,11],[4127,11],[4258,11]]},"1353":{"position":[[1605,11],[1731,11],[1862,11]]},"1354":{"position":[[1443,11],[1569,11],[1700,11]]},"1355":{"position":[[2583,11],[2710,11],[2842,11]]},"1356":{"position":[[949,11],[1075,11],[1206,11]]},"1357":{"position":[[622,11],[748,11],[879,11]]},"1358":{"position":[[1343,11],[1469,11],[1600,11]]},"1359":{"position":[[1180,11],[1306,11],[1437,11]]},"1360":{"position":[[1812,11],[1939,11],[2071,11]]},"1361":{"position":[[1170,11],[1296,11],[1427,11]]},"1362":{"position":[[5535,11],[5662,11],[5794,11]]},"1363":{"position":[[3281,11],[3408,11],[3540,11]]},"1364":{"position":[[5564,11],[5691,11],[5823,11]]},"1365":{"position":[[1104,11],[1230,11],[1361,11]]},"1366":{"position":[[1311,11],[1438,11],[1570,11]]},"1367":{"position":[[6962,11],[7089,11],[7221,11]]},"1368":{"position":[[1660,11],[1786,11],[1917,11]]},"1369":{"position":[[712,11],[838,11],[969,11]]},"1370":{"position":[[960,11],[1087,11],[1219,11],[2463,11],[2838,11],[2910,10]]},"1371":{"position":[[588,11],[714,11],[845,11]]},"1372":{"position":[[2226,11],[2352,11],[2483,11]]},"1373":{"position":[[3098,11],[3224,11],[3355,11]]},"1374":{"position":[[995,11],[1122,11],[1254,11]]},"1375":{"position":[[624,11],[750,11],[881,11]]},"1376":{"position":[[580,11],[706,11],[837,11]]},"1377":{"position":[[819,11],[945,11],[1076,11]]},"1378":{"position":[[566,11],[692,11],[823,11]]},"1379":{"position":[[589,11],[715,11],[846,11]]},"1380":{"position":[[1060,11],[1186,11],[1317,11]]},"1381":{"position":[[966,11],[1092,11],[1223,11]]},"1382":{"position":[[3447,11],[3574,11],[3706,11]]},"1383":{"position":[[1685,11],[1812,11],[1944,11]]},"1384":{"position":[[4609,11],[4736,11],[4868,11]]},"1385":{"position":[[2285,11],[2411,11],[2542,11]]},"1386":{"position":[[923,11],[1049,11],[1180,11]]},"1387":{"position":[[4554,11],[4680,11],[4811,11]]},"1388":{"position":[[3747,11],[3874,11],[4006,11]]},"1389":{"position":[[4607,11],[4733,11],[4864,11]]},"1390":{"position":[[859,11],[985,11],[1116,11]]},"1391":{"position":[[812,11],[938,11],[1069,11]]},"1392":{"position":[[962,11],[1088,11],[1219,11]]},"1393":{"position":[[1535,11],[1662,11],[1794,11]]},"1394":{"position":[[982,11],[1108,11],[1239,11]]},"1395":{"position":[[992,11],[1119,11],[1251,11]]},"1396":{"position":[[788,11],[914,11],[1045,11]]},"1397":{"position":[[969,11],[1095,11],[1226,11]]},"1398":{"position":[[1642,11],[1769,11],[1901,11]]},"1399":{"position":[[824,11],[950,11],[1081,11]]},"1400":{"position":[[693,11],[819,11],[950,11]]},"1401":{"position":[[768,11],[894,11],[1025,11]]},"1402":{"position":[[924,11],[1050,11],[1181,11]]},"1403":{"position":[[1515,11],[1642,11],[1774,11]]},"1404":{"position":[[757,11],[883,11],[1014,11]]},"1405":{"position":[[1448,11],[1574,11],[1705,11]]},"1406":{"position":[[664,11],[790,11],[921,11]]},"1407":{"position":[[1489,11],[1615,11],[1746,11]]},"1408":{"position":[[1185,11],[1311,11],[1442,11]]},"1409":{"position":[[719,11],[845,11],[976,11]]},"1410":{"position":[[1882,11],[2009,11],[2141,11]]},"1411":{"position":[[702,11],[828,11],[959,11]]},"1412":{"position":[[1903,11],[2030,11],[2162,11]]},"1413":{"position":[[2086,11],[2212,11],[2343,11]]},"1414":{"position":[[953,11],[1079,11],[1210,11]]},"1415":{"position":[[2935,11],[3061,11],[3192,11]]},"1416":{"position":[[1587,11],[1713,11],[1844,11]]},"1417":{"position":[[1176,11],[1302,11],[1433,11]]},"1418":{"position":[[877,11],[1003,11],[1134,11]]},"1419":{"position":[[1005,11],[1131,11],[1262,11]]},"1420":{"position":[[1269,11],[1395,11],[1526,11]]},"1421":{"position":[[1244,11],[1370,11],[1501,11]]},"1422":{"position":[[1148,11],[1275,11],[1407,11]]},"1423":{"position":[[1136,11],[1262,11],[1393,11]]},"1424":{"position":[[1261,11],[1387,11],[1518,11]]},"1425":{"position":[[877,11],[1003,11],[1134,11]]},"1426":{"position":[[1221,11],[1348,11],[1480,11]]},"1427":{"position":[[2118,11],[2245,11],[2377,11]]},"1428":{"position":[[859,11],[985,11],[1116,11]]},"1429":{"position":[[2782,11],[2909,11],[3041,11]]},"1430":{"position":[[1635,11],[1761,11],[1892,11]]},"1431":{"position":[[979,11],[1105,11],[1236,11]]},"1432":{"position":[[1500,11],[1626,11],[1757,11]]},"1433":{"position":[[1021,11],[1147,11],[1278,11]]},"1434":{"position":[[695,11],[821,11],[952,11]]},"1435":{"position":[[659,11],[785,11],[916,11]]},"1436":{"position":[[675,11],[801,11],[932,11]]},"1437":{"position":[[745,11],[871,11],[1002,11]]},"1438":{"position":[[880,11],[1007,11],[1139,11]]},"1439":{"position":[[2404,11],[2531,11],[2663,11]]},"1440":{"position":[[2970,11],[3097,11],[3229,11]]},"1441":{"position":[[701,11],[827,11],[958,11]]},"1442":{"position":[[775,11],[902,11],[1034,11]]},"1443":{"position":[[996,11],[1122,11],[1253,11]]},"1444":{"position":[[912,11],[1038,11],[1169,11]]},"1445":{"position":[[601,11],[727,11],[858,11]]},"1446":{"position":[[935,11],[1061,11],[1192,11]]},"1447":{"position":[[817,11],[943,11],[1074,11]]},"1448":{"position":[[1252,11],[1378,11],[1509,11]]},"1449":{"position":[[1186,11],[1312,11],[1443,11]]},"1450":{"position":[[1065,11],[1191,11],[1322,11]]},"1451":{"position":[[1065,11],[1191,11],[1322,11]]},"1452":{"position":[[611,11],[737,11],[868,11]]},"1453":{"position":[[1197,11],[1323,11],[1454,11]]},"1454":{"position":[[3563,11],[3689,11],[3820,11]]},"1455":{"position":[[1450,11],[1576,11],[1707,11]]},"1456":{"position":[[795,11],[921,11],[1052,11]]},"1457":{"position":[[854,11],[980,11],[1111,11]]},"1458":{"position":[[1389,11],[1515,11],[1646,11]]},"1459":{"position":[[868,11],[994,11],[1125,11]]},"1460":{"position":[[980,11],[1106,11],[1237,11]]},"1461":{"position":[[1196,11],[1323,11],[1455,11]]},"1462":{"position":[[4576,11],[4702,11],[4833,11]]},"1463":{"position":[[702,11],[828,11],[959,11]]},"1464":{"position":[[610,11],[736,11],[867,11]]},"1465":{"position":[[1708,11],[1834,11],[1965,11]]},"1466":{"position":[[946,11],[1072,11],[1203,11]]},"1467":{"position":[[5266,11],[5393,11],[5525,11]]},"1468":{"position":[[710,11],[836,11],[967,11]]},"1469":{"position":[[1084,11],[1211,11],[1343,11]]},"1470":{"position":[[3612,11],[3738,11],[3869,11]]},"1471":{"position":[[1947,11],[2074,11],[2206,11]]},"1472":{"position":[[1906,11],[2033,11],[2165,11]]},"1473":{"position":[[2221,11],[2348,11],[2480,11]]},"1474":{"position":[[1611,11],[1737,11],[1868,11]]},"1475":{"position":[[2082,11],[2208,11],[2339,11]]},"1476":{"position":[[687,11],[813,11],[944,11]]},"1477":{"position":[[840,11],[967,11],[1099,11]]},"1478":{"position":[[1331,11],[1458,11],[1590,11]]},"1479":{"position":[[779,11],[905,11],[1036,11]]},"1480":{"position":[[1192,11],[1318,11],[1449,11]]},"1481":{"position":[[1725,11],[1851,11],[1982,11]]},"1482":{"position":[[799,11],[925,11],[1056,11]]},"1483":{"position":[[633,11],[759,11],[890,11]]},"1484":{"position":[[705,11],[831,11],[962,11]]},"1485":{"position":[[965,11],[1091,11],[1222,11]]},"1486":{"position":[[1209,11],[1335,11],[1466,11]]},"1487":{"position":[[905,11],[1032,11],[1164,11]]}},"keywords":{}}],["constraint_overrid",{"_index":6425,"title":{},"content":{"1350":{"position":[[1319,21]]},"1382":{"position":[[623,21]]},"1388":{"position":[[756,21]]},"1462":{"position":[[857,21]]},"1467":{"position":[[924,21]]}},"keywords":{}}],["constraint_set",{"_index":1935,"title":{"1378":{"position":[[0,19]]}},"content":{"366":{"position":[[188,20]]},"745":{"position":[[188,20]]},"938":{"position":[[250,19],[316,18]]},"1017":{"position":[[493,21]]},"1378":{"position":[[4,19]]},"1379":{"position":[[361,19]]}},"keywords":{}}],["constraint_valu",{"_index":1929,"title":{"1379":{"position":[[0,17]]}},"content":{"363":{"position":[[259,19],[371,19]]},"367":{"position":[[218,18]]},"742":{"position":[[259,19],[371,19]]},"746":{"position":[[218,18]]},"938":{"position":[[105,16]]},"1375":{"position":[[359,18]]},"1379":{"position":[[4,17]]},"1452":{"position":[[353,18]]}},"keywords":{}}],["constraints.item",{"_index":6219,"title":{},"content":{"1254":{"position":[[182,20],[269,20],[426,19]]}},"keywords":{}}],["constraints/config",{"_index":5063,"title":{},"content":{"1019":{"position":[[226,18]]}},"keywords":{}}],["constraints[watchos.setting.label",{"_index":5003,"title":{},"content":{"1004":{"position":[[1365,34]]}},"keywords":{}}],["constraintsettinginfo",{"_index":1934,"title":{"366":{"position":[[0,22]]},"745":{"position":[[0,22]]}},"content":{"366":{"position":[[4,24],[56,21]]},"367":{"position":[[37,22],[371,21]]},"745":{"position":[[4,24],[56,21]]},"746":{"position":[[37,22],[371,21]]}},"keywords":{}}],["constraintvalueinfo",{"_index":1927,"title":{"367":{"position":[[0,20]]},"746":{"position":[[0,20]]}},"content":{"363":{"position":[[58,21],[538,20]]},"367":{"position":[[4,20],[88,19]]},"742":{"position":[[58,21],[538,20]]},"746":{"position":[[4,20],[88,19]]}},"keywords":{}}],["construct",{"_index":332,"title":{},"content":{"10":{"position":[[653,13]]},"243":{"position":[[202,11]]},"341":{"position":[[90,9]]},"375":{"position":[[104,11]]},"377":{"position":[[407,11]]},"379":{"position":[[111,11]]},"405":{"position":[[1124,9]]},"652":{"position":[[66,9]]},"657":{"position":[[56,9]]},"693":{"position":[[9747,12]]},"713":{"position":[[43,12]]},"718":{"position":[[46,10],[331,9]]},"722":{"position":[[29,10]]},"725":{"position":[[114,9]]},"754":{"position":[[104,11]]},"756":{"position":[[407,11]]},"758":{"position":[[111,11]]},"784":{"position":[[1124,9]]},"846":{"position":[[1856,11]]},"847":{"position":[[363,9]]},"888":{"position":[[594,12]]},"898":{"position":[[1462,9]]},"904":{"position":[[474,11],[901,9]]},"905":{"position":[[176,9]]},"906":{"position":[[39,11],[397,11]]},"907":{"position":[[228,11]]},"919":{"position":[[1312,12],[1459,12],[1583,12]]},"920":{"position":[[345,12],[422,13]]},"921":{"position":[[149,9]]},"924":{"position":[[397,9],[653,9]]},"937":{"position":[[3265,10]]},"944":{"position":[[723,11]]},"1004":{"position":[[1412,9]]},"1013":{"position":[[75,12]]},"1138":{"position":[[5650,9]]},"1148":{"position":[[3000,9]]},"1186":{"position":[[1224,9]]},"1187":{"position":[[1237,9]]},"1188":{"position":[[5963,9]]},"1197":{"position":[[462,9]]},"1198":{"position":[[472,9]]},"1199":{"position":[[500,9]]},"1200":{"position":[[367,9]]},"1393":{"position":[[3462,9]]},"1455":{"position":[[1246,13]]}},"keywords":{}}],["constructor",{"_index":2308,"title":{},"content":{"428":{"position":[[135,12]]},"443":{"position":[[103,12],[222,11],[319,11]]},"807":{"position":[[135,12]]},"822":{"position":[[103,12],[222,11],[319,11]]},"980":{"position":[[568,11]]},"1004":{"position":[[269,12]]},"1006":{"position":[[35,13]]}},"keywords":{}}],["consult",{"_index":2327,"title":{},"content":{"433":{"position":[[156,10]]},"695":{"position":[[197,7]]},"812":{"position":[[156,10]]},"1393":{"position":[[4566,13],[9389,10]]}},"keywords":{}}],["consum",{"_index":2137,"title":{},"content":{"405":{"position":[[930,8]]},"704":{"position":[[234,8]]},"784":{"position":[[930,8]]},"890":{"position":[[6624,9]]},"1057":{"position":[[1376,7]]},"1103":{"position":[[1876,7],[1946,8]]},"1104":{"position":[[2455,9]]},"1136":{"position":[[152,8]]},"1244":{"position":[[212,9]]},"1348":{"position":[[3856,9],[4122,9]]},"1403":{"position":[[4357,8],[8511,7],[8880,8],[8951,8]]},"1471":{"position":[[5588,9]]},"1472":{"position":[[6474,9]]}},"keywords":{}}],["contact",{"_index":2006,"title":{},"content":{"374":{"position":[[77,8],[1004,9],[1060,8]]},"423":{"position":[[81,7]]},"753":{"position":[[77,8],[1004,9],[1060,8]]},"802":{"position":[[81,7]]},"1069":{"position":[[415,8],[436,8]]},"1348":{"position":[[920,9]]},"1349":{"position":[[603,9]]},"1350":{"position":[[1356,9]]},"1351":{"position":[[494,9]]},"1352":{"position":[[1355,9]]},"1353":{"position":[[617,9]]},"1354":{"position":[[580,9]]},"1355":{"position":[[908,9]]},"1356":{"position":[[390,9]]},"1358":{"position":[[552,9]]},"1359":{"position":[[509,9]]},"1360":{"position":[[668,9]]},"1361":{"position":[[390,9]]},"1362":{"position":[[794,9]]},"1363":{"position":[[1552,9]]},"1364":{"position":[[811,9]]},"1365":{"position":[[442,9]]},"1366":{"position":[[473,9]]},"1367":{"position":[[1825,9]]},"1368":{"position":[[625,9]]},"1369":{"position":[[397,9]]},"1373":{"position":[[668,9]]},"1374":{"position":[[429,9]]},"1377":{"position":[[416,9]]},"1380":{"position":[[360,9]]},"1381":{"position":[[418,9]]},"1382":{"position":[[660,9]]},"1383":{"position":[[596,9]]},"1384":{"position":[[601,9]]},"1385":{"position":[[422,9]]},"1386":{"position":[[367,9]]},"1387":{"position":[[708,9]]},"1388":{"position":[[793,9]]},"1389":{"position":[[1476,9]]},"1390":{"position":[[353,9]]},"1391":{"position":[[354,9]]},"1392":{"position":[[351,9]]},"1393":{"position":[[459,9]]},"1394":{"position":[[408,9]]},"1395":{"position":[[423,9]]},"1396":{"position":[[364,9]]},"1397":{"position":[[418,9]]},"1398":{"position":[[651,9],[6959,8],[7121,8]]},"1399":{"position":[[356,9]]},"1400":{"position":[[378,9]]},"1401":{"position":[[354,9]]},"1402":{"position":[[469,9]]},"1403":{"position":[[567,9]]},"1404":{"position":[[380,9]]},"1405":{"position":[[588,9]]},"1407":{"position":[[615,9]]},"1408":{"position":[[609,9]]},"1410":{"position":[[711,9]]},"1411":{"position":[[359,9]]},"1412":{"position":[[537,9]]},"1413":{"position":[[534,9]]},"1414":{"position":[[405,9]]},"1415":{"position":[[502,9]]},"1416":{"position":[[472,9]]},"1417":{"position":[[442,9]]},"1418":{"position":[[414,9]]},"1419":{"position":[[416,9]]},"1420":{"position":[[445,9]]},"1421":{"position":[[369,9]]},"1422":{"position":[[357,9]]},"1423":{"position":[[354,9]]},"1424":{"position":[[573,9]]},"1425":{"position":[[405,9]]},"1426":{"position":[[506,9]]},"1427":{"position":[[759,9]]},"1428":{"position":[[391,9]]},"1429":{"position":[[794,9]]},"1430":{"position":[[576,9]]},"1431":{"position":[[534,9]]},"1432":{"position":[[695,9]]},"1433":{"position":[[582,9]]},"1437":{"position":[[409,9]]},"1438":{"position":[[353,9]]},"1439":{"position":[[833,9]]},"1440":{"position":[[868,9]]},"1441":{"position":[[361,9]]},"1443":{"position":[[355,9]]},"1444":{"position":[[385,9]]},"1446":{"position":[[356,9]]},"1447":{"position":[[358,9]]},"1448":{"position":[[472,9]]},"1449":{"position":[[466,9]]},"1450":{"position":[[472,9]]},"1451":{"position":[[472,9]]},"1453":{"position":[[448,9]]},"1454":{"position":[[477,9]]},"1455":{"position":[[396,9]]},"1456":{"position":[[383,9]]},"1457":{"position":[[364,9]]},"1458":{"position":[[530,9]]},"1459":{"position":[[368,9]]},"1460":{"position":[[477,9]]},"1461":{"position":[[534,9]]},"1462":{"position":[[894,9]]},"1465":{"position":[[524,9]]},"1466":{"position":[[442,9]]},"1467":{"position":[[961,9]]},"1468":{"position":[[363,9]]},"1469":{"position":[[378,9]]},"1470":{"position":[[947,9]]},"1471":{"position":[[621,9]]},"1472":{"position":[[524,9]]},"1473":{"position":[[652,9]]},"1474":{"position":[[573,9]]},"1475":{"position":[[570,9]]},"1476":{"position":[[361,9]]},"1477":{"position":[[415,9]]},"1478":{"position":[[443,9]]},"1479":{"position":[[369,9]]},"1480":{"position":[[422,9]]},"1481":{"position":[[546,9]]},"1482":{"position":[[355,9]]},"1484":{"position":[[360,9]]},"1486":{"position":[[413,9]]},"1487":{"position":[[383,9]]}},"keywords":{}}],["contain",{"_index":486,"title":{"887":{"position":[[5,11]]},"1134":{"position":[[33,8]]}},"content":{"17":{"position":[[71,8],[216,8]]},"18":{"position":[[1944,8]]},"24":{"position":[[723,11]]},"50":{"position":[[194,10],[392,7]]},"69":{"position":[[449,10]]},"71":{"position":[[51,10]]},"72":{"position":[[259,10]]},"86":{"position":[[154,10]]},"92":{"position":[[1115,10]]},"94":{"position":[[1309,7],[2245,8]]},"96":{"position":[[156,10]]},"98":{"position":[[818,10]]},"99":{"position":[[901,10]]},"118":{"position":[[218,10]]},"119":{"position":[[133,9]]},"126":{"position":[[247,7]]},"197":{"position":[[194,10],[392,7]]},"218":{"position":[[154,10]]},"224":{"position":[[1115,10]]},"226":{"position":[[1309,7],[2245,8]]},"228":{"position":[[156,10]]},"230":{"position":[[818,10]]},"231":{"position":[[901,10]]},"249":{"position":[[247,7]]},"362":{"position":[[907,8]]},"363":{"position":[[164,8]]},"408":{"position":[[996,10]]},"427":{"position":[[423,10]]},"457":{"position":[[449,10]]},"494":{"position":[[51,10]]},"495":{"position":[[259,10]]},"534":{"position":[[218,10]]},"535":{"position":[[133,9]]},"554":{"position":[[185,8]]},"556":{"position":[[119,10]]},"557":{"position":[[226,8]]},"559":{"position":[[240,8]]},"561":{"position":[[127,10]]},"569":{"position":[[204,7]]},"573":{"position":[[102,8]]},"580":{"position":[[29,7],[259,8]]},"584":{"position":[[106,7],[166,7],[216,7],[515,7]]},"586":{"position":[[13,8]]},"587":{"position":[[426,8]]},"590":{"position":[[170,10]]},"592":{"position":[[150,10]]},"600":{"position":[[137,8]]},"602":{"position":[[125,8]]},"603":{"position":[[137,8]]},"607":{"position":[[312,7]]},"639":{"position":[[206,10]]},"652":{"position":[[163,10]]},"665":{"position":[[120,10]]},"666":{"position":[[131,10]]},"670":{"position":[[73,10]]},"673":{"position":[[254,8],[326,8]]},"680":{"position":[[89,8],[160,7],[440,8],[673,8]]},"693":{"position":[[61,7],[1791,10],[2262,8],[5519,8],[5658,7],[5998,7],[8854,8]]},"706":{"position":[[418,9]]},"712":{"position":[[2878,8]]},"715":{"position":[[277,10],[1330,8]]},"722":{"position":[[69,8]]},"741":{"position":[[907,8]]},"742":{"position":[[164,8]]},"787":{"position":[[996,10]]},"806":{"position":[[423,10]]},"839":{"position":[[86,8]]},"846":{"position":[[873,10]]},"861":{"position":[[933,7]]},"867":{"position":[[77,8]]},"872":{"position":[[991,10]]},"873":{"position":[[37,10]]},"886":{"position":[[488,8]]},"887":{"position":[[49,8],[424,8],[466,8],[530,8]]},"890":{"position":[[5163,8]]},"898":{"position":[[1698,10],[1817,7],[2639,10]]},"900":{"position":[[767,10]]},"912":{"position":[[99,7]]},"938":{"position":[[508,7]]},"978":{"position":[[117,8]]},"980":{"position":[[1012,7]]},"983":{"position":[[251,7]]},"984":{"position":[[124,7]]},"991":{"position":[[2209,8],[2276,8],[2362,8],[2502,7],[2562,7]]},"995":{"position":[[728,8]]},"1001":{"position":[[174,7]]},"1024":{"position":[[578,10]]},"1040":{"position":[[263,9],[1540,10]]},"1050":{"position":[[1266,7],[3600,7]]},"1064":{"position":[[230,7],[1857,9],[2018,9]]},"1102":{"position":[[377,7]]},"1103":{"position":[[1462,7]]},"1112":{"position":[[1714,10],[2260,7]]},"1114":{"position":[[416,7]]},"1126":{"position":[[26,7]]},"1136":{"position":[[956,10]]},"1142":{"position":[[412,7]]},"1148":{"position":[[1312,10]]},"1178":{"position":[[86,10]]},"1209":{"position":[[189,10]]},"1226":{"position":[[4522,10],[4704,10]]},"1235":{"position":[[1449,10]]},"1237":{"position":[[4692,10],[4874,10]]},"1243":{"position":[[798,8],[1000,8]]},"1254":{"position":[[705,10]]},"1259":{"position":[[383,8]]},"1262":{"position":[[168,8],[501,8]]},"1290":{"position":[[383,8]]},"1293":{"position":[[168,8],[501,8]]},"1318":{"position":[[383,8]]},"1321":{"position":[[168,8],[501,8]]},"1345":{"position":[[422,8],[700,7],[1000,7]]},"1346":{"position":[[636,9]]},"1351":{"position":[[4056,7]]},"1354":{"position":[[2113,10]]},"1355":{"position":[[2333,10],[5919,8],[6218,10]]},"1358":{"position":[[2221,8],[2375,8]]},"1360":{"position":[[4924,7],[5010,7]]},"1361":{"position":[[638,8],[1876,10],[2129,10]]},"1362":{"position":[[6983,7],[8745,7],[9071,7]]},"1363":{"position":[[2968,10]]},"1364":{"position":[[7222,7],[9356,7],[9859,7],[10185,7]]},"1366":{"position":[[869,8]]},"1367":{"position":[[6625,8],[6696,9],[8833,7],[9159,7]]},"1373":{"position":[[4770,7]]},"1380":{"position":[[546,8]]},"1382":{"position":[[5515,7],[5840,7]]},"1383":{"position":[[7032,7],[7118,7]]},"1384":{"position":[[6727,7],[10462,7],[10787,7]]},"1385":{"position":[[3429,7],[3753,7]]},"1386":{"position":[[3977,10]]},"1387":{"position":[[5405,8],[5762,7],[6086,7]]},"1388":{"position":[[6709,7]]},"1392":{"position":[[665,7]]},"1393":{"position":[[5953,8]]},"1397":{"position":[[2862,10],[3190,8]]},"1403":{"position":[[4912,7],[4998,7]]},"1412":{"position":[[1653,10]]},"1427":{"position":[[1817,10],[5092,8],[5391,10]]},"1429":{"position":[[2558,7]]},"1438":{"position":[[541,8],[1594,8],[2028,8]]},"1439":{"position":[[2103,10]]},"1440":{"position":[[2746,7]]},"1454":{"position":[[5431,7],[7366,7],[9672,10]]},"1458":{"position":[[2344,8]]},"1459":{"position":[[1782,8]]},"1462":{"position":[[5629,8],[7208,10]]},"1465":{"position":[[2559,8]]},"1467":{"position":[[5014,7],[6124,8],[8177,10],[10895,10]]},"1470":{"position":[[3327,7],[4732,10]]},"1477":{"position":[[2158,8],[2489,8]]},"1478":{"position":[[2123,7],[2386,7]]},"1485":{"position":[[1797,7],[2121,7]]},"1486":{"position":[[4459,8]]},"1487":{"position":[[1830,8],[3851,9]]}},"keywords":{}}],["containinglocalresourceinfo",{"_index":5329,"title":{},"content":{"1053":{"position":[[1190,27]]},"1054":{"position":[[1633,27]]}},"keywords":{}}],["content",{"_index":731,"title":{},"content":{"23":{"position":[[1598,8]]},"98":{"position":[[61,8],[494,8],[507,7],[829,7],[1222,7],[1382,7]]},"99":{"position":[[66,8],[606,8],[619,7]]},"230":{"position":[[61,8],[494,8],[507,7],[829,7],[1222,7],[1382,7]]},"231":{"position":[[66,8],[606,8],[619,7]]},"318":{"position":[[127,8]]},"565":{"position":[[106,8]]},"587":{"position":[[595,8]]},"724":{"position":[[995,7],[1217,7]]},"865":{"position":[[745,9]]},"867":{"position":[[253,9]]},"910":{"position":[[130,8],[505,7]]},"966":{"position":[[705,7]]},"977":{"position":[[235,8]]},"1078":{"position":[[314,7]]},"1082":{"position":[[44,9]]},"1096":{"position":[[49,7]]},"1150":{"position":[[11,8],[59,8]]},"1226":{"position":[[676,8]]},"1237":{"position":[[846,8]]},"1345":{"position":[[247,7]]},"1351":{"position":[[4500,8]]},"1358":{"position":[[1122,8]]},"1487":{"position":[[2647,7],[3404,8],[3627,8]]}},"keywords":{}}],["content_dir",{"_index":6946,"title":{},"content":{"1366":{"position":[[498,13]]}},"keywords":{}}],["contents—twic",{"_index":8566,"title":{},"content":{"1486":{"position":[[2961,15]]}},"keywords":{}}],["context",{"_index":623,"title":{"70":{"position":[[0,7]]},"493":{"position":[[0,7]]},"914":{"position":[[0,8]]},"915":{"position":[[0,8]]},"916":{"position":[[0,8]]},"919":{"position":[[0,8]]},"980":{"position":[[0,8]]},"1011":{"position":[[0,8]]}},"content":{"20":{"position":[[615,7]]},"92":{"position":[[916,9]]},"209":{"position":[[55,7]]},"224":{"position":[[916,9]]},"279":{"position":[[162,8]]},"283":{"position":[[179,8]]},"298":{"position":[[977,8]]},"300":{"position":[[473,7]]},"402":{"position":[[211,7]]},"432":{"position":[[145,8]]},"462":{"position":[[181,8]]},"575":{"position":[[547,8]]},"680":{"position":[[1277,7]]},"693":{"position":[[3856,9],[9497,7]]},"710":{"position":[[292,7],[348,8],[384,8]]},"722":{"position":[[42,7]]},"781":{"position":[[211,7]]},"811":{"position":[[145,8]]},"835":{"position":[[55,7],[217,7],[256,8]]},"840":{"position":[[1185,7]]},"877":{"position":[[691,7]]},"890":{"position":[[5069,8],[5097,7]]},"924":{"position":[[305,7],[565,7],[899,7],[1466,7]]},"939":{"position":[[1396,8]]},"950":{"position":[[857,7]]},"964":{"position":[[635,7]]},"1001":{"position":[[618,7],[694,7],[1399,7]]},"1017":{"position":[[790,7]]},"1021":{"position":[[494,8]]},"1040":{"position":[[1018,9]]},"1046":{"position":[[513,8]]},"1053":{"position":[[14,7]]},"1064":{"position":[[716,7],[792,7],[1495,7]]},"1065":{"position":[[332,7]]},"1069":{"position":[[852,7]]},"1103":{"position":[[1539,8]]},"1258":{"position":[[1027,7],[1116,8]]},"1262":{"position":[[206,8]]},"1273":{"position":[[92,8]]},"1289":{"position":[[1027,7],[1116,8]]},"1293":{"position":[[206,8]]},"1304":{"position":[[92,8]]},"1317":{"position":[[1027,7],[1116,8]]},"1321":{"position":[[206,8]]},"1332":{"position":[[92,8]]},"1462":{"position":[[6767,7]]},"1467":{"position":[[7882,7]]}},"keywords":{}}],["context'",{"_index":1664,"title":{},"content":{"300":{"position":[[275,9]]},"878":{"position":[[1023,9]]}},"keywords":{}}],["context.act",{"_index":979,"title":{"71":{"position":[[0,16]]},"494":{"position":[[0,16]]}},"content":{"71":{"position":[[0,16]]},"494":{"position":[[0,16]]}},"keywords":{}}],["context.attr",{"_index":980,"title":{"72":{"position":[[0,14]]},"495":{"position":[[0,14]]}},"content":{"72":{"position":[[0,14]]},"495":{"position":[[0,14]]}},"keywords":{}}],["context.label",{"_index":987,"title":{"73":{"position":[[0,14]]},"496":{"position":[[0,14]]}},"content":{"73":{"position":[[0,14]]},"496":{"position":[[0,14]]}},"keywords":{}}],["context.plugin",{"_index":990,"title":{"74":{"position":[[0,16]]},"497":{"position":[[0,16]]}},"content":{"74":{"position":[[0,16]]},"497":{"position":[[0,16]]}},"keywords":{}}],["continu",{"_index":2709,"title":{},"content":{"584":{"position":[[1240,9]]},"704":{"position":[[833,9]]},"923":{"position":[[13,8]]},"937":{"position":[[828,9]]},"1026":{"position":[[476,8]]},"1079":{"position":[[47,12]]},"1138":{"position":[[4382,8],[4989,8]]},"1140":{"position":[[3871,8],[4478,8]]},"1167":{"position":[[4875,8],[5482,8]]},"1188":{"position":[[3924,8],[4531,8]]},"1217":{"position":[[3616,8],[4223,8]]},"1226":{"position":[[3925,8]]},"1228":{"position":[[5697,8],[6304,8]]},"1237":{"position":[[4095,8]]}},"keywords":{}}],["contract",{"_index":3651,"title":{},"content":{"705":{"position":[[900,9]]}},"keywords":{}}],["contrari",{"_index":7462,"title":{},"content":{"1393":{"position":[[3291,8]]}},"keywords":{}}],["contrast",{"_index":701,"title":{},"content":{"23":{"position":[[470,8]]},"704":{"position":[[1510,9]]},"1035":{"position":[[386,9]]},"1070":{"position":[[657,9]]},"1373":{"position":[[4450,8]]}},"keywords":{}}],["contribut",{"_index":228,"title":{},"content":{"9":{"position":[[1206,10]]},"688":{"position":[[582,10]]},"1226":{"position":[[809,10]]},"1237":{"position":[[979,10]]}},"keywords":{}}],["control",{"_index":501,"title":{"582":{"position":[[13,7]]}},"content":{"17":{"position":[[586,7]]},"23":{"position":[[2775,7]]},"580":{"position":[[238,10],[368,7]]},"724":{"position":[[1929,7]]},"869":{"position":[[292,10]]},"1061":{"position":[[443,7]]},"1068":{"position":[[149,7]]},"1148":{"position":[[416,7]]},"1181":{"position":[[533,7]]},"1213":{"position":[[18,7]]},"1228":{"position":[[1598,10]]},"1370":{"position":[[2332,8]]},"1384":{"position":[[16653,7]]},"1393":{"position":[[3969,8],[5905,8]]},"1397":{"position":[[1872,8],[2069,8]]},"1398":{"position":[[5927,7]]},"1429":{"position":[[3981,8]]},"1440":{"position":[[3974,8]]},"1454":{"position":[[3331,7],[8952,7]]},"1487":{"position":[[2855,7]]}},"keywords":{}}],["conveni",{"_index":4573,"title":{},"content":{"933":{"position":[[166,10]]},"969":{"position":[[9,10]]},"1017":{"position":[[228,10]]}},"keywords":{}}],["convent",{"_index":2771,"title":{},"content":{"591":{"position":[[419,12]]},"594":{"position":[[412,12]]},"1359":{"position":[[2360,11]]},"1362":{"position":[[5247,12]]},"1364":{"position":[[5276,12]]},"1461":{"position":[[1956,10]]}},"keywords":{}}],["convers",{"_index":2809,"title":{},"content":{"595":{"position":[[565,10],[1048,10]]}},"keywords":{}}],["convert",{"_index":926,"title":{"1049":{"position":[[0,7]]}},"content":{"63":{"position":[[96,8]]},"94":{"position":[[1238,11]]},"166":{"position":[[95,8]]},"226":{"position":[[1238,11]]},"233":{"position":[[57,8]]},"288":{"position":[[36,8]]},"289":{"position":[[36,8]]},"345":{"position":[[595,9]]},"492":{"position":[[96,8]]},"510":{"position":[[39,8]]},"511":{"position":[[39,8]]},"548":{"position":[[95,8]]},"560":{"position":[[594,9]]},"589":{"position":[[120,9],[169,9]]},"595":{"position":[[1076,7],[1144,8],[1190,8]]},"605":{"position":[[44,7],[133,9]]},"620":{"position":[[44,7],[130,9],[166,9]]},"621":{"position":[[44,7],[133,9]]},"648":{"position":[[75,7]]},"718":{"position":[[287,7]]},"722":{"position":[[161,9],[317,9]]},"866":{"position":[[35,7]]},"890":{"position":[[2320,9]]},"898":{"position":[[2515,7]]},"955":{"position":[[94,10]]},"958":{"position":[[30,8]]},"1049":{"position":[[236,7]]},"1171":{"position":[[698,8]]},"1182":{"position":[[0,8]]},"1383":{"position":[[4704,7]]},"1402":{"position":[[1616,7]]},"1405":{"position":[[2294,9]]},"1407":{"position":[[2715,9]]},"1410":{"position":[[2737,9]]}},"keywords":{}}],["copi",{"_index":951,"title":{},"content":{"66":{"position":[[46,4],[189,5]]},"86":{"position":[[165,6]]},"87":{"position":[[104,4]]},"88":{"position":[[98,6],[251,4]]},"218":{"position":[[165,6]]},"219":{"position":[[104,4]]},"220":{"position":[[98,6],[251,4]]},"454":{"position":[[46,4],[189,5]]},"589":{"position":[[64,4]]},"604":{"position":[[203,4]]},"605":{"position":[[99,4]]},"606":{"position":[[110,4]]},"608":{"position":[[228,4]]},"609":{"position":[[228,4]]},"610":{"position":[[166,4]]},"615":{"position":[[110,4]]},"619":{"position":[[120,4]]},"620":{"position":[[96,4]]},"621":{"position":[[99,4]]},"892":{"position":[[524,7],[621,4],[1236,4],[1332,4]]},"898":{"position":[[654,8],[1624,7]]},"1095":{"position":[[84,4]]},"1097":{"position":[[151,4]]},"1138":{"position":[[1232,4]]},"1360":{"position":[[3587,6]]},"1366":{"position":[[2069,7]]},"1383":{"position":[[6233,6]]},"1399":{"position":[[1542,7],[1562,4],[2606,4]]},"1401":{"position":[[379,5]]},"1403":{"position":[[3002,6]]},"1410":{"position":[[3631,4]]},"1439":{"position":[[5990,6]]},"1461":{"position":[[2188,4]]}},"keywords":{}}],["copt",{"_index":3523,"title":{},"content":{"693":{"position":[[1146,6]]}},"keywords":{}}],["copy_public_framework_head",{"_index":6852,"title":{},"content":{"1363":{"position":[[1577,30]]}},"keywords":{}}],["copy_scene_kit_asset",{"_index":6987,"title":{},"content":{"1368":{"position":[[650,22]]}},"keywords":{}}],["core",{"_index":3620,"title":{},"content":{"702":{"position":[[292,4],[331,4],[359,4],[372,4]]},"715":{"position":[[30,4],[1216,5],[1523,4]]},"834":{"position":[[408,4]]},"864":{"position":[[1648,4]]},"919":{"position":[[576,4]]},"926":{"position":[[197,4]]},"1138":{"position":[[2287,6]]},"1140":{"position":[[1776,6]]},"1167":{"position":[[2780,6]]},"1188":{"position":[[1829,6]]},"1217":{"position":[[1521,6]]},"1226":{"position":[[5186,6]]},"1228":{"position":[[3602,6]]},"1237":{"position":[[5356,6]]},"1259":{"position":[[1234,4]]},"1272":{"position":[[68,4]]},"1290":{"position":[[1234,4]]},"1303":{"position":[[68,4]]},"1318":{"position":[[1234,4]]},"1331":{"position":[[68,4]]},"1380":{"position":[[574,4]]}},"keywords":{}}],["core'",{"_index":4050,"title":{},"content":{"869":{"position":[[565,6]]}},"keywords":{}}],["core::future::from_generator::genfuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::buildservercommand>::{closure#0}::{closure#0}>",{"_index":6140,"title":{},"content":{"1232":{"position":[[2553,186]]}},"keywords":{}}],["core::future::future::future>::pol",{"_index":6119,"title":{},"content":{"1232":{"position":[[1245,38],[1912,38],[2182,38],[3083,38]]}},"keywords":{}}],["core::future::future::future<output",{"_index":6126,"title":{},"content":{"1232":{"position":[[1720,38]]}},"keywords":{}}],["core::iter::traits::iterator::iterator>::next",{"_index":6108,"title":{},"content":{"1232":{"position":[[440,48]]}},"keywords":{}}],["core::marker::send>>",{"_index":6129,"title":{},"content":{"1232":{"position":[[1835,27]]}},"keywords":{}}],["core::pin::pin<alloc::boxed::box<dyn",{"_index":6125,"title":{},"content":{"1232":{"position":[[1677,42]]}},"keywords":{}}],["core::result::result<cli_proto::buildrespons",{"_index":6127,"title":{},"content":{"1232":{"position":[[1761,49],[2740,49]]}},"keywords":{}}],["core_data_model",{"_index":7113,"title":{"1380":{"position":[[0,16]]}},"content":{"1380":{"position":[[4,16],[523,17],[753,17],[1738,16]]}},"keywords":{}}],["cores).is_asset",{"_index":8103,"title":{},"content":{"1446":{"position":[[1950,16]]}},"keywords":{}}],["corner",{"_index":411,"title":{},"content":{"12":{"position":[[482,6]]},"1057":{"position":[[214,6]]},"1105":{"position":[[2427,7]]}},"keywords":{}}],["correct",{"_index":253,"title":{},"content":{"9":{"position":[[1626,11]]},"10":{"position":[[642,7]]},"15":{"position":[[228,7]]},"84":{"position":[[166,11]]},"216":{"position":[[166,11]]},"298":{"position":[[874,7]]},"696":{"position":[[356,7]]},"724":{"position":[[1673,7]]},"951":{"position":[[496,7],[705,7]]},"1105":{"position":[[400,8]]},"1355":{"position":[[6981,7]]},"1422":{"position":[[2501,7]]},"1423":{"position":[[2170,7]]},"1427":{"position":[[6180,7]]}},"keywords":{}}],["correctli",{"_index":1447,"title":{},"content":{"210":{"position":[[92,9]]},"987":{"position":[[841,9]]},"991":{"position":[[2410,9],[2602,9]]},"1403":{"position":[[6215,9]]}},"keywords":{}}],["correspond",{"_index":928,"title":{},"content":{"63":{"position":[[138,13]]},"140":{"position":[[185,13]]},"166":{"position":[[127,13]]},"209":{"position":[[120,13]]},"263":{"position":[[185,13]]},"279":{"position":[[124,11]]},"283":{"position":[[59,13]]},"284":{"position":[[59,13]]},"298":{"position":[[940,13]]},"374":{"position":[[1728,13],[1815,13]]},"462":{"position":[[61,13]]},"492":{"position":[[138,13]]},"548":{"position":[[127,13]]},"554":{"position":[[135,13]]},"557":{"position":[[136,13]]},"559":{"position":[[190,13]]},"560":{"position":[[670,13]]},"595":{"position":[[411,13]]},"673":{"position":[[141,13]]},"680":{"position":[[47,11]]},"753":{"position":[[1728,13],[1815,13]]},"951":{"position":[[116,11]]},"954":{"position":[[73,13]]},"1105":{"position":[[1564,10]]},"1108":{"position":[[210,13]]},"1240":{"position":[[112,13]]},"1351":{"position":[[3296,10]]},"1353":{"position":[[2469,11]]},"1362":{"position":[[7512,13],[9528,13]]},"1364":{"position":[[7751,13],[10642,13]]},"1366":{"position":[[2405,13]]},"1367":{"position":[[9616,13]]},"1382":{"position":[[11692,13]]},"1384":{"position":[[21256,13]]},"1393":{"position":[[3147,13],[6434,13]]},"1398":{"position":[[5426,13]]},"1429":{"position":[[4926,11],[5120,13],[5761,11]]},"1440":{"position":[[5114,13]]},"1486":{"position":[[5202,13]]}},"keywords":{}}],["correspondingli",{"_index":396,"title":{},"content":{"12":{"position":[[184,15]]}},"keywords":{}}],["correspondingslot",{"_index":4242,"title":{},"content":{"890":{"position":[[4418,18]]}},"keywords":{}}],["corrupt",{"_index":5313,"title":{},"content":{"1050":{"position":[[4504,9]]}},"keywords":{}}],["cost",{"_index":2751,"title":{},"content":{"590":{"position":[[399,4]]},"919":{"position":[[1502,4]]},"1486":{"position":[[728,6],[753,5]]}},"keywords":{}}],["costli",{"_index":4501,"title":{},"content":{"919":{"position":[[1644,7]]}},"keywords":{}}],["count",{"_index":2764,"title":{},"content":{"591":{"position":[[110,5],[461,5],[680,8]]},"610":{"position":[[40,6],[148,7],[263,6]]},"898":{"position":[[857,7],[1065,7],[1996,7]]},"1058":{"position":[[182,5]]},"1178":{"position":[[144,6]]},"1204":{"position":[[9277,5]]}},"keywords":{}}],["counter",{"_index":179,"title":{},"content":{"9":{"position":[[237,7]]}},"keywords":{}}],["countersp",{"_index":5777,"title":{},"content":{"1120":{"position":[[788,9]]}},"keywords":{}}],["counts2",{"_index":5774,"title":{},"content":{"1120":{"position":[[629,7]]}},"keywords":{}}],["coupl",{"_index":3881,"title":{},"content":{"846":{"position":[[17,6]]},"864":{"position":[[910,6]]},"1360":{"position":[[5777,6]]},"1487":{"position":[[2198,7]]}},"keywords":{}}],["cours",{"_index":6153,"title":{},"content":{"1232":{"position":[[3613,7]]},"1386":{"position":[[1767,6]]}},"keywords":{}}],["cousin",{"_index":7890,"title":{},"content":{"1422":{"position":[[2709,7]]}},"keywords":{}}],["cover",{"_index":483,"title":{"1036":{"position":[[27,9]]}},"content":{"17":{"position":[[13,6]]},"940":{"position":[[110,7]]},"945":{"position":[[721,7],[1015,7]]},"1030":{"position":[[142,7]]},"1031":{"position":[[159,7]]},"1036":{"position":[[33,5]]},"1038":{"position":[[91,7]]},"1226":{"position":[[4063,5]]},"1237":{"position":[[4233,5]]}},"keywords":{}}],["coverag",{"_index":5950,"title":{},"content":{"1148":{"position":[[7503,9]]},"1186":{"position":[[1055,9]]},"1187":{"position":[[1068,9]]},"1188":{"position":[[5794,9]]},"1471":{"position":[[646,9]]},"1472":{"position":[[549,9]]},"1473":{"position":[[677,9]]}},"keywords":{}}],["coverage_instrumentation_compiler_flag",{"_index":7145,"title":{},"content":{"1382":{"position":[[685,40]]},"1384":{"position":[[626,40]]},"1387":{"position":[[733,40]]},"1388":{"position":[[818,40]]},"1462":{"position":[[919,40]]},"1467":{"position":[[986,40]]}},"keywords":{}}],["coverage_mod",{"_index":7789,"title":{},"content":{"1410":{"position":[[736,14]]}},"keywords":{}}],["cp",{"_index":7191,"title":{},"content":{"1383":{"position":[[8000,2]]},"1399":{"position":[[2953,3]]},"1403":{"position":[[7100,2]]},"1422":{"position":[[4317,3]]}},"keywords":{}}],["cpp",{"_index":4743,"title":{"954":{"position":[[0,3]]}},"content":{"1382":{"position":[[11676,4]]},"1384":{"position":[[11654,3],[11675,3],[11706,3],[11747,3],[11781,3],[12740,3],[12768,3],[21238,4]]},"1385":{"position":[[7244,4]]},"1387":{"position":[[10620,4]]},"1446":{"position":[[2406,4]]}},"keywords":{}}],["cpp2",{"_index":7921,"title":{},"content":{"1422":{"position":[[4478,4]]},"1423":{"position":[[3472,4]]}},"keywords":{}}],["cpp2"",{"_index":7918,"title":{},"content":{"1422":{"position":[[4422,11],[4539,11]]},"1423":{"position":[[3416,11],[3533,11]]}},"keywords":{}}],["cpp_dep_tracking_mod",{"_index":7347,"title":{},"content":{"1389":{"position":[[1501,22]]}},"keywords":{}}],["cppfile",{"_index":3394,"title":{},"content":{"679":{"position":[[94,9]]}},"keywords":{}}],["cppflags)flag",{"_index":7171,"title":{},"content":{"1383":{"position":[[3135,16]]}},"keywords":{}}],["cpu",{"_index":1153,"title":{},"content":{"92":{"position":[[2221,3]]},"224":{"position":[[2221,3]]},"693":{"position":[[3311,3],[3874,3]]},"720":{"position":[[166,4]]},"980":{"position":[[1134,3],[1298,3]]},"1126":{"position":[[1028,3],[1193,3],[1610,4]]},"1233":{"position":[[64,3]]},"1386":{"position":[[5261,4]]}},"keywords":{}}],["cpu=x86_64",{"_index":3576,"title":{},"content":{"693":{"position":[[6735,11]]}},"keywords":{}}],["cpu_filt",{"_index":6343,"title":{},"content":{"1348":{"position":[[945,12]]},"1350":{"position":[[1381,12]]},"1352":{"position":[[1380,12]]},"1353":{"position":[[642,12]]}},"keywords":{}}],["cpu_split_transit",{"_index":5024,"title":{},"content":{"1006":{"position":[[540,22]]}},"keywords":{}}],["cqueri",{"_index":1677,"title":{"904":{"position":[[4,6]]},"905":{"position":[[34,7]]},"1130":{"position":[[47,8]]},"1147":{"position":[[0,6]]},"1148":{"position":[[5,7]]},"1158":{"position":[[10,7]]},"1288":{"position":[[0,6]]}},"content":{"302":{"position":[[139,6]]},"690":{"position":[[325,6],[357,6],[1665,6],[2808,6],[3223,6]]},"693":{"position":[[9508,6],[9857,7]]},"832":{"position":[[275,6],[359,7],[465,7]]},"846":{"position":[[123,8],[453,7],[477,6],[955,7],[1534,6],[1567,7],[1674,7],[1801,7]]},"870":{"position":[[73,6],[695,6],[890,6],[1019,6]]},"873":{"position":[[427,6]]},"874":{"position":[[251,6]]},"904":{"position":[[83,6],[372,6],[827,6]]},"905":{"position":[[4,6],[1384,6]]},"907":{"position":[[312,6]]},"919":{"position":[[1815,6],[2608,6],[2710,6]]},"921":{"position":[[355,7]]},"924":{"position":[[2133,6],[2183,6],[2327,6]]},"954":{"position":[[387,7]]},"962":{"position":[[559,6]]},"965":{"position":[[136,7],[221,7]]},"970":{"position":[[101,6]]},"990":{"position":[[464,6]]},"1129":{"position":[[81,6],[117,6]]},"1130":{"position":[[14,6],[226,6]]},"1131":{"position":[[181,6],[633,6]]},"1133":{"position":[[31,6],[74,6],[140,6],[817,6],[990,6]]},"1134":{"position":[[124,6]]},"1138":{"position":[[5964,9],[6050,6]]},"1148":{"position":[[715,9],[741,7],[853,6],[927,6],[1077,6],[1162,6],[3314,9],[3400,6]]},"1154":{"position":[[272,6],[303,6]]},"1158":{"position":[[24,6],[57,6]]},"1186":{"position":[[1538,9],[1624,6]]},"1187":{"position":[[1551,9],[1637,6]]},"1188":{"position":[[6277,9],[6363,6]]},"1197":{"position":[[776,9],[862,6]]},"1198":{"position":[[786,9],[872,6]]},"1199":{"position":[[814,9],[900,6]]},"1200":{"position":[[681,9],[767,6]]},"1243":{"position":[[815,7]]},"1277":{"position":[[236,6],[321,6]]},"1278":{"position":[[307,6]]},"1279":{"position":[[231,6]]},"1280":{"position":[[206,6]]},"1281":{"position":[[163,6]]},"1308":{"position":[[236,6],[321,6]]},"1309":{"position":[[307,6]]},"1310":{"position":[[231,6]]},"1311":{"position":[[206,6]]},"1312":{"position":[[163,6]]},"1336":{"position":[[236,6],[321,6]]},"1337":{"position":[[307,6]]},"1338":{"position":[[231,6]]},"1339":{"position":[[206,6]]},"1340":{"position":[[163,6]]}},"keywords":{}}],["cquerycontext",{"_index":2112,"title":{},"content":{"402":{"position":[[227,13]]},"781":{"position":[[227,13]]}},"keywords":{}}],["cqueryctx",{"_index":1676,"title":{},"content":{"302":{"position":[[110,9]]},"924":{"position":[[2158,9]]}},"keywords":{}}],["cqueryev",{"_index":3957,"title":{},"content":{"858":{"position":[[64,14]]}},"keywords":{}}],["cqueryif",{"_index":6177,"title":{},"content":{"1243":{"position":[[969,8]]}},"keywords":{}}],["cqueryrespons",{"_index":5787,"title":{},"content":{"1125":{"position":[[147,14]]}},"keywords":{}}],["crash",{"_index":6975,"title":{},"content":{"1367":{"position":[[14091,9]]}},"keywords":{}}],["crate",{"_index":53,"title":{},"content":{"4":{"position":[[307,6]]},"987":{"position":[[66,5],[151,5],[207,7],[609,6]]},"1471":{"position":[[666,6],[3081,6],[4526,5],[4619,5],[4669,5],[5155,6]]},"1472":{"position":[[569,6],[2800,6],[3477,5],[3570,5],[3620,5],[5110,5],[5203,5],[5253,5],[6041,6]]},"1473":{"position":[[697,6],[3115,6],[4847,5],[4940,5],[4990,5],[5605,6]]}},"keywords":{}}],["crate'",{"_index":8438,"title":{},"content":{"1471":{"position":[[5235,7]]},"1472":{"position":[[6121,7]]},"1473":{"position":[[5685,7]]}},"keywords":{}}],["crate_dynam",{"_index":8444,"title":{},"content":{"1472":{"position":[[592,14]]}},"keywords":{}}],["crate_root",{"_index":8414,"title":{},"content":{"1471":{"position":[[689,11],[3019,11],[5299,10]]},"1472":{"position":[[623,11],[2738,11],[6185,10]]},"1473":{"position":[[720,11],[3053,11],[5749,10]]}},"keywords":{}}],["crates.io",{"_index":54,"title":{},"content":{"4":{"position":[[319,10]]}},"keywords":{}}],["crates.ioand",{"_index":93,"title":{},"content":{"5":{"position":[[262,12]]}},"keywords":{}}],["creat",{"_index":540,"title":{"18":{"position":[[0,8]]},"950":{"position":[[0,8]]},"990":{"position":[[0,8]]}},"content":{"18":{"position":[[33,6]]},"23":{"position":[[1910,6]]},"40":{"position":[[106,6]]},"41":{"position":[[189,6]]},"49":{"position":[[68,7],[211,7]]},"50":{"position":[[83,6]]},"92":{"position":[[494,7],[565,7],[800,8]]},"94":{"position":[[2191,7]]},"95":{"position":[[101,7]]},"97":{"position":[[125,7]]},"99":{"position":[[701,7]]},"123":{"position":[[37,6]]},"173":{"position":[[106,6]]},"174":{"position":[[189,6]]},"196":{"position":[[68,7],[211,7]]},"197":{"position":[[83,6]]},"209":{"position":[[66,6]]},"224":{"position":[[494,7],[565,7],[800,8]]},"226":{"position":[[2191,7]]},"227":{"position":[[101,7]]},"229":{"position":[[125,7]]},"231":{"position":[[701,7]]},"233":{"position":[[198,6]]},"243":{"position":[[132,7]]},"286":{"position":[[157,7]]},"288":{"position":[[453,8],[547,6]]},"289":{"position":[[473,8],[567,6]]},"298":{"position":[[640,6],[994,7],[1529,8],[2446,6]]},"405":{"position":[[898,7]]},"406":{"position":[[630,6]]},"409":{"position":[[77,7]]},"411":{"position":[[208,6]]},"413":{"position":[[31,7]]},"422":{"position":[[25,7]]},"427":{"position":[[129,6]]},"428":{"position":[[65,6]]},"449":{"position":[[79,7]]},"510":{"position":[[514,8],[613,6]]},"511":{"position":[[534,8],[633,6]]},"532":{"position":[[37,6]]},"622":{"position":[[1133,6]]},"636":{"position":[[68,7],[147,7]]},"638":{"position":[[368,6]]},"640":{"position":[[39,6]]},"642":{"position":[[44,7]]},"663":{"position":[[384,6]]},"678":{"position":[[344,6]]},"693":{"position":[[1101,6],[1603,6],[2832,8],[5943,6],[7650,6],[7711,6]]},"711":{"position":[[1157,6]]},"712":{"position":[[2139,6]]},"715":{"position":[[241,8]]},"722":{"position":[[523,6],[550,6]]},"724":{"position":[[383,7]]},"784":{"position":[[898,7]]},"785":{"position":[[630,6]]},"788":{"position":[[77,7]]},"790":{"position":[[208,6]]},"792":{"position":[[31,7]]},"801":{"position":[[25,7]]},"806":{"position":[[129,6]]},"807":{"position":[[65,6]]},"828":{"position":[[79,7]]},"832":{"position":[[619,7]]},"834":{"position":[[279,7]]},"840":{"position":[[3,6],[24,6],[1355,6]]},"847":{"position":[[8,6]]},"848":{"position":[[579,8],[659,7]]},"851":{"position":[[8,6],[547,8],[796,7],[1775,6]]},"864":{"position":[[606,7]]},"876":{"position":[[78,7]]},"878":{"position":[[27,8],[1193,7]]},"888":{"position":[[209,8],[474,6]]},"901":{"position":[[346,6]]},"902":{"position":[[357,6]]},"910":{"position":[[96,6]]},"911":{"position":[[113,7]]},"937":{"position":[[2244,6]]},"949":{"position":[[133,8]]},"950":{"position":[[61,8]]},"951":{"position":[[725,7],[1005,6]]},"955":{"position":[[1311,8]]},"964":{"position":[[104,8],[347,6]]},"980":{"position":[[312,6]]},"988":{"position":[[300,7],[821,6]]},"990":{"position":[[17,7]]},"1004":{"position":[[98,7]]},"1005":{"position":[[98,8]]},"1031":{"position":[[208,6]]},"1040":{"position":[[902,8]]},"1045":{"position":[[266,8]]},"1050":{"position":[[1184,6]]},"1053":{"position":[[1071,6]]},"1082":{"position":[[915,6],[1280,8]]},"1083":{"position":[[749,6]]},"1086":{"position":[[330,6]]},"1087":{"position":[[178,8]]},"1091":{"position":[[160,8]]},"1102":{"position":[[342,6],[579,6]]},"1103":{"position":[[1677,6]]},"1105":{"position":[[41,6],[726,7]]},"1150":{"position":[[334,7]]},"1186":{"position":[[368,7],[734,8]]},"1187":{"position":[[381,7],[747,8]]},"1188":{"position":[[5107,7],[5473,8]]},"1226":{"position":[[4937,7]]},"1232":{"position":[[3374,8]]},"1237":{"position":[[5107,7]]},"1358":{"position":[[2249,6]]},"1360":{"position":[[4053,6],[4127,8]]},"1374":{"position":[[720,6]]},"1386":{"position":[[4895,7]]},"1393":{"position":[[4011,6],[4956,7],[6752,6]]},"1398":{"position":[[3016,7],[6162,8]]},"1403":{"position":[[3468,6],[3542,8]]},"1426":{"position":[[919,6]]},"1438":{"position":[[574,7]]},"1458":{"position":[[2372,6]]},"1461":{"position":[[3201,6]]},"1477":{"position":[[2895,6]]},"1478":{"position":[[3045,6]]},"1482":{"position":[[532,6]]},"1486":{"position":[[3668,7]]},"1487":{"position":[[662,6],[3025,6]]}},"keywords":{}}],["create.target_platform",{"_index":1642,"title":{},"content":{"298":{"position":[[1701,22]]}},"keywords":{}}],["create_unhashed_output",{"_index":6145,"title":{},"content":{"1232":{"position":[[3254,26]]}},"keywords":{}}],["createact",{"_index":3529,"title":{},"content":{"693":{"position":[[2109,13]]}},"keywords":{}}],["creation",{"_index":5820,"title":{},"content":{"1127":{"position":[[667,8]]},"1232":{"position":[[3236,8]]},"1486":{"position":[[2290,8]]}},"keywords":{}}],["creator",{"_index":4740,"title":{},"content":{"951":{"position":[[504,8]]}},"keywords":{}}],["creep",{"_index":3702,"title":{},"content":{"708":{"position":[[1091,6]]}},"keywords":{}}],["criteria",{"_index":4634,"title":{},"content":{"939":{"position":[[906,9]]}},"keywords":{}}],["critic",{"_index":214,"title":{"1180":{"position":[[9,8]]}},"content":{"9":{"position":[[980,8],[1122,8]]},"724":{"position":[[170,8]]},"1078":{"position":[[89,8]]},"1104":{"position":[[1512,8]]},"1171":{"position":[[603,8],[626,8]]},"1180":{"position":[[9,8],[106,8],[343,8],[418,8]]}},"keywords":{}}],["crop",{"_index":4951,"title":{},"content":{"991":{"position":[[3278,5]]}},"keywords":{}}],["cross",{"_index":373,"title":{},"content":{"11":{"position":[[453,8]]},"937":{"position":[[4182,5],[4327,5]]},"1072":{"position":[[280,5]]},"1093":{"position":[[355,5]]},"1105":{"position":[[2381,5]]},"1412":{"position":[[1543,5],[2970,5],[3147,5],[3334,5],[3518,5],[3606,5],[3998,5],[4193,6]]}},"keywords":{}}],["crypto",{"_index":6058,"title":{},"content":{"1226":{"position":[[1744,6]]},"1237":{"position":[[1914,6]]}},"keywords":{}}],["cryptograph",{"_index":6057,"title":{},"content":{"1226":{"position":[[1655,13]]},"1237":{"position":[[1825,13]]}},"keywords":{}}],["csc",{"_index":7122,"title":{},"content":{"1381":{"position":[[771,4]]}},"keywords":{}}],["csharp_librari",{"_index":7117,"title":{"1381":{"position":[[0,15]]}},"content":{"1381":{"position":[[4,15],[657,16],[1810,14],[2537,15]]},"1456":{"position":[[1598,15]]}},"keywords":{}}],["csv",{"_index":5368,"title":{},"content":{"1057":{"position":[[190,3],[892,3]]},"1058":{"position":[[136,3]]},"1172":{"position":[[1309,4]]},"1173":{"position":[[609,4]]},"1178":{"position":[[811,4]]},"1179":{"position":[[549,4]]},"1180":{"position":[[879,4]]}},"keywords":{}}],["ct",{"_index":7624,"title":{},"content":{"1398":{"position":[[5390,4]]}},"keywords":{}}],["ctarget",{"_index":5947,"title":{"1145":{"position":[[0,8]]},"1146":{"position":[[5,9]]}},"content":{"1146":{"position":[[67,8]]}},"keywords":{}}],["ctarget_set",{"_index":2123,"title":{"409":{"position":[[0,12]]},"788":{"position":[[0,12]]}},"content":{"402":{"position":[[865,11]]},"781":{"position":[[865,11]]}},"keywords":{}}],["ctarget_set(nod",{"_index":2190,"title":{},"content":{"409":{"position":[[4,18]]},"788":{"position":[[4,18]]}},"keywords":{}}],["ctx",{"_index":1127,"title":{},"content":{"92":{"position":[[912,3]]},"224":{"position":[[912,3]]},"279":{"position":[[52,4]]},"282":{"position":[[50,4]]},"416":{"position":[[54,4],[894,4],[977,4]]},"417":{"position":[[270,4]]},"444":{"position":[[126,4]]},"722":{"position":[[57,5],[411,3]]},"795":{"position":[[54,4],[894,4],[977,4]]},"796":{"position":[[270,4]]},"823":{"position":[[126,4]]},"850":{"position":[[774,3]]},"950":{"position":[[824,3]]},"1040":{"position":[[99,4],[1014,3]]},"1103":{"position":[[1516,4]]}},"keywords":{}}],["ctx.action",{"_index":1143,"title":{},"content":{"92":{"position":[[1667,11]]},"224":{"position":[[1667,11]]},"949":{"position":[[83,11]]},"1040":{"position":[[1769,11]]},"1103":{"position":[[1649,12]]}},"keywords":{}}],["ctx.action.anon_target",{"_index":1010,"title":{},"content":{"79":{"position":[[287,23]]},"508":{"position":[[287,23]]}},"keywords":{}}],["ctx.action.run",{"_index":1947,"title":{},"content":{"368":{"position":[[808,16]]},"747":{"position":[[808,16]]}},"keywords":{}}],["ctx.action.run([ctx.attrs._cc[runinfo",{"_index":1944,"title":{},"content":{"368":{"position":[[707,39]]},"747":{"position":[[707,39]]}},"keywords":{}}],["ctx.actions.anon_target",{"_index":5170,"title":{},"content":{"1043":{"position":[[30,23]]},"1046":{"position":[[252,24]]},"1048":{"position":[[1325,25]]}},"keywords":{}}],["ctx.actions.anon_target(_anon",{"_index":5273,"title":{},"content":{"1049":{"position":[[1259,30]]}},"keywords":{}}],["ctx.actions.anon_target(my_anon_rul",{"_index":5182,"title":{},"content":{"1044":{"position":[[1186,37]]}},"keywords":{}}],["ctx.actions.anon_target(my_anon_rule1",{"_index":5175,"title":{},"content":{"1043":{"position":[[450,38]]}},"keywords":{}}],["ctx.actions.anon_target(upp",{"_index":5231,"title":{},"content":{"1047":{"position":[[410,30]]}},"keywords":{}}],["ctx.actions.anon_target(xxx).artifact("foo"",{"_index":1034,"title":{},"content":{"84":{"position":[[254,54]]},"216":{"position":[[254,54]]}},"keywords":{}}],["ctx.actions.anon_targets([(my_anon_rule1",{"_index":5176,"title":{},"content":{"1043":{"position":[[508,41]]},"1044":{"position":[[1870,41]]}},"keywords":{}}],["ctx.actions.artifact_tag",{"_index":5105,"title":{},"content":{"1031":{"position":[[235,26]]}},"keywords":{}}],["ctx.actions.assert_short_path",{"_index":841,"title":{},"content":{"37":{"position":[[203,34]]},"182":{"position":[[203,34]]},"1049":{"position":[[493,31]]}},"keywords":{}}],["ctx.actions.build(ctx.analysis(ctx.target("foo")).providers[defaultinfo].default_output",{"_index":4734,"title":{},"content":{"950":{"position":[[1118,99]]}},"keywords":{}}],["ctx.actions.declare_output("an",{"_index":5687,"title":{},"content":{"1105":{"position":[[603,35]]}},"keywords":{}}],["ctx.actions.declare_output("deps").as_output",{"_index":5109,"title":{},"content":{"1031":{"position":[[570,56]]}},"keywords":{}}],["ctx.actions.declare_output("incremental_state.json"",{"_index":5307,"title":{},"content":{"1050":{"position":[[3828,62]]}},"keywords":{}}],["ctx.actions.declare_output("my_output"",{"_index":3736,"title":{},"content":{"712":{"position":[[293,49]]}},"keywords":{}}],["ctx.actions.declare_output("out.exe"",{"_index":5253,"title":{},"content":{"1048":{"position":[[1000,47]]}},"keywords":{}}],["ctx.actions.declare_output("output"",{"_index":5278,"title":{},"content":{"1049":{"position":[[1400,46]]}},"keywords":{}}],["ctx.actions.declare_output("output.o"",{"_index":1081,"title":{},"content":{"89":{"position":[[303,48]]},"221":{"position":[[303,48]]},"1048":{"position":[[556,48]]}},"keywords":{}}],["ctx.actions.declare_output("result"",{"_index":5295,"title":{},"content":{"1050":{"position":[[2571,46],[3773,46]]}},"keywords":{}}],["ctx.actions.declare_output(ctx.attrs.out",{"_index":5644,"title":{},"content":{"1103":{"position":[[211,41]]}},"keywords":{}}],["ctx.actions.declare_output(x",{"_index":5144,"title":{},"content":{"1040":{"position":[[2170,28],[2315,28]]}},"keywords":{}}],["ctx.actions.dynamic_output",{"_index":5863,"title":{},"content":{"1136":{"position":[[630,31]]}},"keywords":{}}],["ctx.actions.dynamic_output([dep_fil",{"_index":5161,"title":{},"content":{"1040":{"position":[[2596,38]]}},"keywords":{}}],["ctx.actions.dynamic_output(dynam",{"_index":5130,"title":{},"content":{"1040":{"position":[[39,35]]}},"keywords":{}}],["ctx.actions.dynamic_output_new",{"_index":2205,"title":{},"content":{"411":{"position":[[324,31]]},"790":{"position":[[324,31]]}},"keywords":{}}],["ctx.actions.label",{"_index":5167,"title":{},"content":{"1042":{"position":[[340,17]]}},"keywords":{}}],["ctx.actions.run",{"_index":1079,"title":{},"content":{"89":{"position":[[259,16]]},"92":{"position":[[1689,16]]},"221":{"position":[[259,16]]},"224":{"position":[[1689,16]]},"405":{"position":[[942,16]]},"784":{"position":[[942,16]]},"1031":{"position":[[859,16]]},"1040":{"position":[[1791,16],[2482,16]]},"1049":{"position":[[1447,17]]},"1050":{"position":[[700,16],[2707,16],[4032,16]]},"1072":{"position":[[157,17]]},"1103":{"position":[[933,16]]}},"keywords":{}}],["ctx.actions.run("erl"",{"_index":5146,"title":{},"content":{"1040":{"position":[[2219,32]]}},"keywords":{}}],["ctx.actions.run(["gcc"",{"_index":1082,"title":{},"content":{"89":{"position":[[352,33]]},"221":{"position":[[352,33]]}},"keywords":{}}],["ctx.actions.run(["pascalc"",{"_index":5645,"title":{},"content":{"1103":{"position":[[253,37]]}},"keywords":{}}],["ctx.actions.run(cmd",{"_index":5689,"title":{},"content":{"1105":{"position":[[678,20],[1363,20],[1831,20]]}},"keywords":{}}],["ctx.actions.run(cmd_arg",{"_index":5244,"title":{},"content":{"1048":{"position":[[605,25],[1106,25]]}},"keywords":{}}],["ctx.actions.run(cmd_args("gcc"",{"_index":2167,"title":{},"content":{"406":{"position":[[410,41]]},"785":{"position":[[410,41]]}},"keywords":{}}],["ctx.actions.tset",{"_index":5611,"title":{},"content":{"1091":{"position":[[179,17]]}},"keywords":{}}],["ctx.actions.tset(myset",{"_index":5551,"title":{},"content":{"1081":{"position":[[166,23],[222,23]]},"1082":{"position":[[935,23],[991,23]]},"1083":{"position":[[769,23],[825,23]]},"1084":{"position":[[367,23],[423,23],[498,23]]},"1087":{"position":[[471,23],[527,23],[602,23]]},"1088":{"position":[[818,23],[874,23],[949,23]]}},"keywords":{}}],["ctx.actions.write("hello.out"",{"_index":5266,"title":{},"content":{"1049":{"position":[[812,40]]}},"keywords":{}}],["ctx.actions.write("hello.txt"",{"_index":2345,"title":{},"content":{"437":{"position":[[377,40]]},"816":{"position":[[377,40]]}},"keywords":{}}],["ctx.actions.write("test.sh"",{"_index":5693,"title":{},"content":{"1105":{"position":[[1688,38]]}},"keywords":{}}],["ctx.actions.write("world.out"",{"_index":5267,"title":{},"content":{"1049":{"position":[[880,40]]}},"keywords":{}}],["ctx.actions.write(out",{"_index":3737,"title":{},"content":{"712":{"position":[[343,22]]}},"keywords":{}}],["ctx.analysi",{"_index":1451,"title":{},"content":{"233":{"position":[[364,14]]}},"keywords":{}}],["ctx.analysis("//:bin").provid",{"_index":1459,"title":{},"content":{"234":{"position":[[374,44]]}},"keywords":{}}],["ctx.analysis("root//bin/kind:target_with_outputs"",{"_index":2482,"title":{},"content":{"510":{"position":[[363,60]]},"511":{"position":[[383,60]]}},"keywords":{}}],["ctx.analysis().analyze("//lib:file1"",{"_index":4554,"title":{},"content":{"924":{"position":[[2216,47]]}},"keywords":{}}],["ctx.analysis(my_target).provid",{"_index":3927,"title":{},"content":{"852":{"position":[[119,35]]}},"keywords":{}}],["ctx.analysis(my_target).providers()[defaultinfo",{"_index":3930,"title":{},"content":{"853":{"position":[[170,48]]}},"keywords":{}}],["ctx.analysis(my_target).providers()[defaultinfo].sub_targets["my_subtarget"",{"_index":3933,"title":{},"content":{"854":{"position":[[195,86]]}},"keywords":{}}],["ctx.analysis(node).as_depend",{"_index":1454,"title":{},"content":{"233":{"position":[[516,34]]}},"keywords":{}}],["ctx.analysis(node).provid",{"_index":1457,"title":{},"content":{"234":{"position":[[294,30]]},"417":{"position":[[1079,30]]},"796":{"position":[[1079,30]]}},"keywords":{}}],["ctx.analysis(t).act",{"_index":4795,"title":{},"content":{"964":{"position":[[598,23],[1037,23]]}},"keywords":{}}],["ctx.analysis(target).provid",{"_index":4789,"title":{},"content":{"963":{"position":[[119,30]]}},"keywords":{}}],["ctx.aquery().eval(":foo"",{"_index":1482,"title":{},"content":{"240":{"position":[[384,35]]}},"keywords":{}}],["ctx.args.args_for_bxl",{"_index":4779,"title":{},"content":{"961":{"position":[[789,21]]}},"keywords":{}}],["ctx.attr",{"_index":3739,"title":{},"content":{"712":{"position":[[464,11]]},"1103":{"position":[[1582,10]]}},"keywords":{}}],["ctx.attr.src",{"_index":5143,"title":{},"content":{"1040":{"position":[[2144,14]]}},"keywords":{}}],["ctx.attrs._ios_simul",{"_index":5351,"title":{},"content":{"1054":{"position":[[1835,25]]}},"keywords":{}}],["ctx.attrs._silly_toolchain",{"_index":5258,"title":{},"content":{"1048":{"position":[[1420,26]]}},"keywords":{}}],["ctx.attrs._silly_toolchain.link",{"_index":5256,"title":{},"content":{"1048":{"position":[[1132,34]]}},"keywords":{}}],["ctx.attrs._strip[runinfo",{"_index":1948,"title":{},"content":{"368":{"position":[[825,26]]},"747":{"position":[[825,26]]}},"keywords":{}}],["ctx.attrs.actual.provid",{"_index":4569,"title":{},"content":{"930":{"position":[[77,26]]}},"keywords":{}}],["ctx.attrs.cont",{"_index":2346,"title":{},"content":{"437":{"position":[[418,19]]},"816":{"position":[[418,19]]}},"keywords":{}}],["ctx.attrs.debug_info",{"_index":1959,"title":{},"content":{"368":{"position":[[1132,23]]},"747":{"position":[[1132,23]]}},"keywords":{}}],["ctx.attrs.debug_info.as_output",{"_index":1955,"title":{},"content":{"368":{"position":[[982,33]]},"747":{"position":[[982,33]]}},"keywords":{}}],["ctx.attrs.dep",{"_index":5666,"title":{},"content":{"1104":{"position":[[1976,15],[2532,17]]}},"keywords":{}}],["ctx.attrs.dep[runinfo",{"_index":5493,"title":{},"content":{"1071":{"position":[[275,22]]}},"keywords":{}}],["ctx.attrs.ex",{"_index":2347,"title":{},"content":{"437":{"position":[[451,14]]},"816":{"position":[[451,14]]}},"keywords":{}}],["ctx.attrs.foo[unknowninfo].bar",{"_index":4870,"title":{},"content":{"983":{"position":[[72,30]]}},"keywords":{}}],["ctx.attrs.message.upp",{"_index":5226,"title":{},"content":{"1047":{"position":[[130,26]]}},"keywords":{}}],["ctx.attrs.my_int",{"_index":5210,"title":{},"content":{"1044":{"position":[[3201,16]]}},"keywords":{}}],["ctx.attrs.my_list_of_label",{"_index":5216,"title":{},"content":{"1044":{"position":[[3346,27]]}},"keywords":{}}],["ctx.attrs.my_optional_sourc",{"_index":5214,"title":{},"content":{"1044":{"position":[[3297,28]]}},"keywords":{}}],["ctx.attrs.my_string_with_default",{"_index":5212,"title":{},"content":{"1044":{"position":[[3243,32]]}},"keywords":{}}],["ctx.attrs.out",{"_index":1950,"title":{},"content":{"368":{"position":[[874,14],[1179,14]]},"747":{"position":[[874,14],[1179,14]]}},"keywords":{}}],["ctx.attrs.out).act",{"_index":5653,"title":{},"content":{"1103":{"position":[[868,22]]}},"keywords":{}}],["ctx.attrs.out.as_output",{"_index":1945,"title":{},"content":{"368":{"position":[[763,26]]},"747":{"position":[[763,26]]}},"keywords":{}}],["ctx.attrs.some_tool",{"_index":5279,"title":{},"content":{"1049":{"position":[[1465,20]]}},"keywords":{}}],["ctx.attrs.src",{"_index":1946,"title":{},"content":{"368":{"position":[[792,15]]},"747":{"position":[[792,15]]},"1048":{"position":[[661,14],[1461,15]]},"1103":{"position":[[291,15]]}},"keywords":{}}],["ctx.attrs.strip",{"_index":1958,"title":{},"content":{"368":{"position":[[1111,20]]},"747":{"position":[[1111,20]]}},"keywords":{}}],["ctx.attrs.stripped.as_output",{"_index":1953,"title":{},"content":{"368":{"position":[[917,31]]},"747":{"position":[[917,31]]}},"keywords":{}}],["ctx.attrs.toolchain.compil",{"_index":5245,"title":{},"content":{"1048":{"position":[[631,29]]}},"keywords":{}}],["ctx.audit().cell(alias",{"_index":1491,"title":{},"content":{"242":{"position":[[577,24]]}},"keywords":{}}],["ctx.audit().output("buck",{"_index":1425,"title":{},"content":{"168":{"position":[[151,29]]},"243":{"position":[[650,29]]}},"keywords":{}}],["ctx.build",{"_index":1845,"title":{},"content":{"345":{"position":[[496,11]]},"855":{"position":[[0,9]]}},"keywords":{}}],["ctx.build(act",{"_index":4801,"title":{},"content":{"964":{"position":[[1136,17]]}},"keywords":{}}],["ctx.build(ctx.cli_args.target).item",{"_index":1503,"title":{},"content":{"245":{"position":[[210,39]]},"246":{"position":[[209,39]]},"345":{"position":[[986,39]]}},"keywords":{}}],["ctx.bxl(":func1"",{"_index":4814,"title":{},"content":{"966":{"position":[[597,27]]}},"keywords":{}}],["ctx.bxl_action",{"_index":1636,"title":{},"content":{"298":{"position":[[1248,17]]},"711":{"position":[[1344,17]]},"712":{"position":[[1017,17]]}},"keywords":{}}],["ctx.bxl_actions().act",{"_index":1587,"title":{},"content":{"288":{"position":[[297,25]]},"289":{"position":[[317,25]]},"306":{"position":[[286,25]]},"344":{"position":[[459,25]]},"711":{"position":[[33,25]]},"851":{"position":[[143,25]]},"878":{"position":[[285,25]]}},"keywords":{}}],["ctx.bxl_actions().actions.write(outputs[resolved_attr",{"_index":4115,"title":{},"content":{"878":{"position":[[1299,56]]}},"keywords":{}}],["ctx.bxl_actions(exec_dep",{"_index":1653,"title":{},"content":{"298":{"position":[[2627,25]]},"851":{"position":[[1953,25]]}},"keywords":{}}],["ctx.bxl_actions.factori",{"_index":4731,"title":{},"content":{"950":{"position":[[938,25]]}},"keywords":{}}],["ctx.cli_args.bool_arg",{"_index":3912,"title":{},"content":{"850":{"position":[[836,21]]}},"keywords":{}}],["ctx.cli_args.my_arg",{"_index":1667,"title":{},"content":{"300":{"position":[[409,20]]}},"keywords":{}}],["ctx.configured_targets(":foo"",{"_index":3943,"title":{},"content":{"856":{"position":[[541,40]]}},"keywords":{}}],["ctx.configured_targets("my_cell//bin:the_binary"",{"_index":1541,"title":{},"content":{"280":{"position":[[355,59]]},"283":{"position":[[280,59]]},"284":{"position":[[198,59]]},"285":{"position":[[159,59]]},"286":{"position":[[393,59]]}},"keywords":{}}],["ctx.configured_targets("root//bin:the_binary"",{"_index":1453,"title":{},"content":{"233":{"position":[[446,56]]},"234":{"position":[[225,56]]},"417":{"position":[[1010,56]]},"796":{"position":[[1010,56]]}},"keywords":{}}],["ctx.configured_targets(target.label",{"_index":4111,"title":{},"content":{"878":{"position":[[927,36]]}},"keywords":{}}],["ctx.cquery("//foo"",{"_index":4786,"title":{},"content":{"962":{"position":[[497,29]]}},"keywords":{}}],["ctx.cquery().attrregexfilter("foo"",{"_index":1779,"title":{},"content":{"326":{"position":[[456,45]]}},"keywords":{}}],["ctx.cquery().buildfile(own",{"_index":1789,"title":{},"content":{"327":{"position":[[482,29]]}},"keywords":{}}],["ctx.cquery().deps("//example:bar"",{"_index":4411,"title":{},"content":{"904":{"position":[[1059,44]]}},"keywords":{}}],["ctx.cquery().deps("//example:foo"",{"_index":4408,"title":{},"content":{"904":{"position":[[970,44]]}},"keywords":{}}],["ctx.cquery().deps("root//bin:the_binary"",{"_index":1792,"title":{},"content":{"328":{"position":[[458,51]]}},"keywords":{}}],["ctx.cquery().deps(input",{"_index":4432,"title":{},"content":{"906":{"position":[[588,25]]}},"keywords":{}}],["ctx.cquery().eval("inputs(%s)"",{"_index":1798,"title":{},"content":{"329":{"position":[[541,41]]}},"keywords":{}}],["ctx.cquery().eval("inputs(root//bin:the_binary)"",{"_index":1795,"title":{},"content":{"329":{"position":[[445,59]]}},"keywords":{}}],["ctx.cquery().eval("owner('path/to/file')")[0",{"_index":1532,"title":{},"content":{"278":{"position":[[162,55]]}},"keywords":{}}],["ctx.cquery().filter(".*the_binary"",{"_index":1803,"title":{},"content":{"330":{"position":[[401,45]]}},"keywords":{}}],["ctx.cquery().inputs("root//bin:the_binary"",{"_index":1807,"title":{},"content":{"331":{"position":[[381,53]]}},"keywords":{}}],["ctx.cquery().kind",{"_index":4399,"title":{},"content":{"904":{"position":[[118,24]]}},"keywords":{}}],["ctx.cquery().kind(".*1"",{"_index":1810,"title":{},"content":{"332":{"position":[[398,34]]}},"keywords":{}}],["ctx.cquery().owner("bin/targets")[0",{"_index":2473,"title":{},"content":{"483":{"position":[[108,46]]},"484":{"position":[[161,46]]}},"keywords":{}}],["ctx.cquery().owner("bin/targets.fixture"",{"_index":934,"title":{},"content":{"63":{"position":[[277,51]]},"334":{"position":[[746,51]]},"492":{"position":[[277,51]]}},"keywords":{}}],["ctx.cquery().owner("cell//path/to/file")[0",{"_index":2226,"title":{},"content":{"416":{"position":[[780,53]]},"795":{"position":[[780,53]]}},"keywords":{}}],["ctx.cquery().owner("cell//path/to/targets")[0",{"_index":1515,"title":{},"content":{"276":{"position":[[729,56]]},"277":{"position":[[764,56]]},"281":{"position":[[839,56]]},"282":{"position":[[882,56]]},"322":{"position":[[186,56]]},"528":{"position":[[158,56]]}},"keywords":{}}],["ctx.cquery().owner("foobar"",{"_index":4428,"title":{},"content":{"906":{"position":[[289,38]]}},"keywords":{}}],["ctx.cquery().owner("project/relative/path/to/file")[0",{"_index":1537,"title":{},"content":{"279":{"position":[[299,64]]}},"keywords":{}}],["ctx.cquery().owner(["bin/target"",{"_index":1787,"title":{},"content":{"327":{"position":[[406,43]]}},"keywords":{}}],["ctx.cquery().rdeps("root//bin:the_binary"",{"_index":1825,"title":{},"content":{"335":{"position":[[675,52]]}},"keywords":{}}],["ctx.cquery().rdeps(from_nod",{"_index":4412,"title":{},"content":{"904":{"position":[[1146,29]]}},"keywords":{}}],["ctx.cquery().rdeps(to_nod",{"_index":4422,"title":{},"content":{"905":{"position":[[963,27]]}},"keywords":{}}],["ctx.cquery().rdeps(universe_nod",{"_index":4439,"title":{},"content":{"906":{"position":[[1153,33]]}},"keywords":{}}],["ctx.cquery(‘deps("//foo:rule"",{"_index":4793,"title":{},"content":{"964":{"position":[[524,42]]}},"keywords":{}}],["ctx.cquery.deps("foo"",{"_index":4547,"title":{},"content":{"924":{"position":[[1767,32]]}},"keywords":{}}],["ctx.cquery.ev",{"_index":4400,"title":{},"content":{"904":{"position":[[165,21]]}},"keywords":{}}],["ctx.fs.list("bin"",{"_index":1758,"title":{},"content":{"318":{"position":[[435,28]]}},"keywords":{}}],["ctx.instant_ev",{"_index":3981,"title":{},"content":{"864":{"position":[[39,20]]}},"keywords":{}}],["ctx.instant_event(id",{"_index":3984,"title":{},"content":{"864":{"position":[[429,20],[1090,20],[1236,20]]}},"keywords":{}}],["ctx.output",{"_index":3866,"title":{},"content":{"840":{"position":[[1608,12]]},"877":{"position":[[0,10]]}},"keywords":{}}],["ctx.output.ensur",{"_index":3900,"title":{},"content":{"848":{"position":[[177,19]]}},"keywords":{}}],["ctx.output.ensure(artifact",{"_index":1633,"title":{},"content":{"298":{"position":[[1079,27]]},"840":{"position":[[1687,27]]}},"keywords":{}}],["ctx.output.ensure(output",{"_index":1590,"title":{},"content":{"288":{"position":[[403,25]]},"289":{"position":[[423,25]]},"298":{"position":[[1358,25],[2929,25]]},"344":{"position":[[565,25]]},"851":{"position":[[2255,25]]}},"keywords":{}}],["ctx.output.ensure(promise_result[0].default_outputs[0",{"_index":3770,"title":{},"content":{"712":{"position":[[2773,55]]}},"keywords":{}}],["ctx.output.ensure_multiple()(se",{"_index":3901,"title":{},"content":{"848":{"position":[[201,32]]}},"keywords":{}}],["ctx.output.ensure_multiple(ctx.analysis(label).providers()[defaultinfo",{"_index":3937,"title":{},"content":{"855":{"position":[[273,72]]}},"keywords":{}}],["ctx.output.ensure_multiple(result.providers()[runinfo",{"_index":2483,"title":{},"content":{"510":{"position":[[434,55]]},"511":{"position":[[454,55]]}},"keywords":{}}],["ctx.output.ensure_multiple(value.artifact",{"_index":1852,"title":{},"content":{"345":{"position":[[1063,47]]}},"keywords":{}}],["ctx.output.print",{"_index":1582,"title":{"833":{"position":[[30,18]]}},"content":{"288":{"position":[[152,19]]},"289":{"position":[[172,19]]},"346":{"position":[[425,18]]},"510":{"position":[[178,19]]},"511":{"position":[[198,19]]},"833":{"position":[[0,18]]},"840":{"position":[[1636,20]]},"860":{"position":[[499,20]]}},"keywords":{}}],["ctx.output.print("test"",{"_index":1858,"title":{},"content":{"346":{"position":[[591,34]]}},"keywords":{}}],["ctx.output.print()to",{"_index":1840,"title":{},"content":{"344":{"position":[[360,20]]}},"keywords":{}}],["ctx.output.print(action.own",{"_index":1428,"title":{},"content":{"168":{"position":[[254,32]]}},"keywords":{}}],["ctx.output.print(artifact",{"_index":1539,"title":{},"content":{"279":{"position":[[394,26]]}},"keywords":{}}],["ctx.output.print(attr",{"_index":1517,"title":{},"content":{"276":{"position":[[826,23]]},"281":{"position":[[948,23]]}},"keywords":{}}],["ctx.output.print(attrs.get("some_attribute").label",{"_index":1526,"title":{},"content":{"277":{"position":[[925,61]]},"282":{"position":[[1055,61]]},"322":{"position":[[358,61]]},"528":{"position":[[319,61]]}},"keywords":{}}],["ctx.output.print(attrs.get("some_attribute").valu",{"_index":1771,"title":{},"content":{"322":{"position":[[294,63]]}},"keywords":{}}],["ctx.output.print(attrs.get("some_attributes").valu",{"_index":1525,"title":{},"content":{"277":{"position":[[860,64]]},"282":{"position":[[990,64]]},"528":{"position":[[254,64]]}},"keywords":{}}],["ctx.output.print(attrs.name.typ",{"_index":2474,"title":{},"content":{"483":{"position":[[182,33]]}},"keywords":{}}],["ctx.output.print(attrs.name.valu",{"_index":2476,"title":{},"content":{"484":{"position":[[235,36]]}},"keywords":{}}],["ctx.output.print(configured_label.with_sub_target",{"_index":937,"title":{},"content":{"63":{"position":[[381,52]]},"492":{"position":[[381,52]]}},"keywords":{}}],["ctx.output.print(configured_label.with_sub_target("subtarget1"",{"_index":938,"title":{},"content":{"63":{"position":[[434,74]]},"492":{"position":[[434,74]]}},"keywords":{}}],["ctx.output.print(configured_label.with_sub_target(["subtarget1"",{"_index":939,"title":{},"content":{"63":{"position":[[509,74]]},"492":{"position":[[509,74]]}},"keywords":{}}],["ctx.output.print(ctx.fs.abs_path_unsafe("bin"",{"_index":1739,"title":{},"content":{"314":{"position":[[465,57]]}},"keywords":{}}],["ctx.output.print(ctx.fs.exists("bin"",{"_index":1744,"title":{},"content":{"315":{"position":[[260,48]]}},"keywords":{}}],["ctx.output.print(ctx.fs.is_dir("bin"",{"_index":1748,"title":{},"content":{"316":{"position":[[280,48]]},"317":{"position":[[284,48]]}},"keywords":{}}],["ctx.output.print(ctx.fs.project_rel_path("bin"",{"_index":1762,"title":{},"content":{"319":{"position":[[199,58]]}},"keywords":{}}],["ctx.output.print(ctx.output.ensure(resolved_attrs).abs_path",{"_index":4118,"title":{},"content":{"878":{"position":[[1487,62]]}},"keywords":{}}],["ctx.output.print(default_info",{"_index":3931,"title":{},"content":{"853":{"position":[[219,30]]}},"keywords":{}}],["ctx.output.print(ensur",{"_index":1638,"title":{},"content":{"298":{"position":[[1384,25]]},"344":{"position":[[591,25]]},"712":{"position":[[2960,25]]},"840":{"position":[[1859,26]]}},"keywords":{}}],["ctx.output.print(ensured_with_abs_path",{"_index":1596,"title":{},"content":{"288":{"position":[[694,39]]},"510":{"position":[[762,39]]}},"keywords":{}}],["ctx.output.print(ensured_with_rel_path",{"_index":1602,"title":{},"content":{"289":{"position":[[714,39]]},"511":{"position":[[777,39]]}},"keywords":{}}],["ctx.output.print(filt",{"_index":1782,"title":{},"content":{"326":{"position":[[547,26]]},"467":{"position":[[428,26]]}},"keywords":{}}],["ctx.output.print(kind",{"_index":1811,"title":{},"content":{"332":{"position":[[459,22]]},"473":{"position":[[340,22]]}},"keywords":{}}],["ctx.output.print(len(fil",{"_index":2209,"title":{},"content":{"413":{"position":[[167,28]]},"792":{"position":[[167,28]]}},"keywords":{}}],["ctx.output.print(len(target",{"_index":2195,"title":{},"content":{"409":{"position":[[251,30]]},"449":{"position":[[255,30]]},"788":{"position":[[251,30]]},"828":{"position":[[255,30]]}},"keywords":{}}],["ctx.output.print(node.attrs.name.typ",{"_index":2466,"title":{},"content":{"480":{"position":[[152,38]]}},"keywords":{}}],["ctx.output.print(node.attrs.name.valu",{"_index":2470,"title":{},"content":{"481":{"position":[[236,41]]}},"keywords":{}}],["ctx.output.print(node.label",{"_index":1542,"title":{},"content":{"280":{"position":[[415,28]]}},"keywords":{}}],["ctx.output.print(node.rule_kind",{"_index":1561,"title":{},"content":{"283":{"position":[[340,32]]}},"keywords":{}}],["ctx.output.print(node.rule_typ",{"_index":1566,"title":{},"content":{"284":{"position":[[258,32]]}},"keywords":{}}],["ctx.output.print(node.sourc",{"_index":1569,"title":{},"content":{"285":{"position":[[219,32]]}},"keywords":{}}],["ctx.output.print(own",{"_index":1820,"title":{},"content":{"334":{"position":[[836,23]]},"474":{"position":[[537,23]]}},"keywords":{}}],["ctx.output.print(path",{"_index":2235,"title":{},"content":{"417":{"position":[[1233,22]]},"796":{"position":[[1233,22]]}},"keywords":{}}],["ctx.output.print(promise_result[1].my_str",{"_index":3771,"title":{},"content":{"712":{"position":[[3041,45]]}},"keywords":{}}],["ctx.output.print(providers[fooinfo",{"_index":1458,"title":{},"content":{"234":{"position":[[325,36],[419,36]]}},"keywords":{}}],["ctx.output.print(providers_result[0].my_field",{"_index":1715,"title":{},"content":{"306":{"position":[[726,46]]}},"keywords":{}}],["ctx.output.print(result",{"_index":1483,"title":{},"content":{"240":{"position":[[420,24]]},"242":{"position":[[610,24]]},"243":{"position":[[764,24]]},"318":{"position":[[492,24]]},"327":{"position":[[512,24]]},"328":{"position":[[513,24]]},"330":{"position":[[470,24]]},"331":{"position":[[435,24]]},"335":{"position":[[758,24]]},"468":{"position":[[393,24]]},"469":{"position":[[394,24]]},"471":{"position":[[351,24]]},"472":{"position":[[316,24]]},"475":{"position":[[520,24]]},"478":{"position":[[335,24]]}},"keywords":{}}],["ctx.output.print(result1",{"_index":1796,"title":{},"content":{"329":{"position":[[505,25]]},"470":{"position":[[450,25]]}},"keywords":{}}],["ctx.output.print(result2",{"_index":1800,"title":{},"content":{"329":{"position":[[637,25]]},"470":{"position":[[582,25]]}},"keywords":{}}],["ctx.output.print(source_artifact_project_rel_path",{"_index":2230,"title":{},"content":{"416":{"position":[[982,50]]},"795":{"position":[[982,50]]}},"keywords":{}}],["ctx.output.print(subtarget",{"_index":3934,"title":{},"content":{"854":{"position":[[282,27]]}},"keywords":{}}],["ctx.output.print(target",{"_index":2455,"title":{},"content":{"477":{"position":[[308,25]]}},"keywords":{}}],["ctx.output.print(target_node.attrs.my_attr",{"_index":2420,"title":{},"content":{"459":{"position":[[238,43]]}},"keywords":{}}],["ctx.output.print(target_node.buildfile_path",{"_index":1533,"title":{},"content":{"278":{"position":[[218,44]]},"460":{"position":[[222,44]]}},"keywords":{}}],["ctx.output.print(target_node.label",{"_index":2423,"title":{},"content":{"461":{"position":[[204,35]]}},"keywords":{}}],["ctx.output.print(target_node.rule_kind",{"_index":2426,"title":{},"content":{"462":{"position":[[327,39]]}},"keywords":{}}],["ctx.output.print(target_node.rule_typ",{"_index":2428,"title":{},"content":{"463":{"position":[[263,39]]}},"keywords":{}}],["ctx.output.print(time_a",{"_index":2290,"title":{},"content":{"422":{"position":[[232,24]]},"513":{"position":[[231,24]]},"514":{"position":[[221,24]]},"801":{"position":[[232,24]]}},"keywords":{}}],["ctx.output.print(time_b",{"_index":2291,"title":{},"content":{"422":{"position":[[257,24]]},"513":{"position":[[256,24]]},"514":{"position":[[246,24]]},"801":{"position":[[257,24]]}},"keywords":{}}],["ctx.output.print(type(fil",{"_index":2208,"title":{},"content":{"413":{"position":[[137,29]]},"792":{"position":[[137,29]]}},"keywords":{}}],["ctx.output.print(type(target",{"_index":2194,"title":{},"content":{"409":{"position":[[219,31]]},"449":{"position":[[223,31]]},"788":{"position":[[219,31]]},"828":{"position":[[223,31]]}},"keywords":{}}],["ctx.output.print(unconfigured_label.with_sub_target",{"_index":1419,"title":{},"content":{"166":{"position":[[383,54]]},"548":{"position":[[383,54]]}},"keywords":{}}],["ctx.output.print(unconfigured_label.with_sub_target("subtarget1"",{"_index":1420,"title":{},"content":{"166":{"position":[[438,76]]},"548":{"position":[[438,76]]}},"keywords":{}}],["ctx.output.print(unconfigured_label.with_sub_target(["subtarget1"",{"_index":1421,"title":{},"content":{"166":{"position":[[515,76]]},"548":{"position":[[515,76]]}},"keywords":{}}],["ctx.output.print(value.artifact",{"_index":1504,"title":{},"content":{"245":{"position":[[250,35]]}},"keywords":{}}],["ctx.output.print(value.failur",{"_index":1507,"title":{},"content":{"246":{"position":[[249,34]]}},"keywords":{}}],["ctx.output.print_json("test"",{"_index":1864,"title":{},"content":{"347":{"position":[[544,39]]}},"keywords":{}}],["ctx.output.print_json(output",{"_index":1853,"title":{},"content":{"345":{"position":[[1111,30]]}},"keywords":{}}],["ctx.plugin",{"_index":4924,"title":{},"content":{"991":{"position":[[1039,14]]}},"keywords":{}}],["ctx.plugins[mykind",{"_index":4901,"title":{},"content":{"989":{"position":[[399,20]]}},"keywords":{}}],["ctx.plugins[rustprocmacro",{"_index":4943,"title":{},"content":{"991":{"position":[[2529,26]]}},"keywords":{}}],["ctx.print(target.attribut",{"_index":4784,"title":{},"content":{"962":{"position":[[381,28]]}},"keywords":{}}],["ctx.print(target.label",{"_index":4785,"title":{},"content":{"962":{"position":[[464,23]]}},"keywords":{}}],["ctx.resolve(act",{"_index":1713,"title":{},"content":{"306":{"position":[[619,20]]},"711":{"position":[[1660,20]]},"712":{"position":[[2733,20]]}},"keywords":{}}],["ctx.return(some_artifact",{"_index":4811,"title":{},"content":{"966":{"position":[[504,25]]}},"keywords":{}}],["ctx.target_univers",{"_index":4416,"title":{},"content":{"905":{"position":[[142,21]]}},"keywords":{}}],["ctx.target_universe("//example:foo"",{"_index":4430,"title":{},"content":{"906":{"position":[[496,46],[935,46]]}},"keywords":{}}],["ctx.target_universe("//foo/..."",{"_index":4442,"title":{},"content":{"907":{"position":[[447,42]]}},"keywords":{}}],["ctx.target_universe(["//example:foo"",{"_index":4418,"title":{},"content":{"905":{"position":[[757,47]]}},"keywords":{}}],["ctx.target_universe(unconfigured_owners).target_set",{"_index":4427,"title":{},"content":{"906":{"position":[[226,53]]}},"keywords":{}}],["ctx.unconfigured_sub_target",{"_index":1647,"title":{},"content":{"298":{"position":[[2373,33]]},"851":{"position":[[1702,33]]}},"keywords":{}}],["ctx.unconfigured_sub_targets("foo//bar:baz"",{"_index":1652,"title":{},"content":{"298":{"position":[[2505,54]]},"851":{"position":[[1831,54]]}},"keywords":{}}],["ctx.uqueri",{"_index":3882,"title":{},"content":{"846":{"position":[[216,12]]}},"keywords":{}}],["ctx.uquery().attrregexfilter("foo"",{"_index":2432,"title":{},"content":{"467":{"position":[[337,45]]}},"keywords":{}}],["ctx.uquery().buildfile(own",{"_index":2435,"title":{},"content":{"468":{"position":[[363,29]]}},"keywords":{}}],["ctx.uquery().deps("root//bin:the_binary"",{"_index":2437,"title":{},"content":{"469":{"position":[[339,51]]}},"keywords":{}}],["ctx.uquery().eval("inputs(%s)"",{"_index":2440,"title":{},"content":{"470":{"position":[[486,41]]}},"keywords":{}}],["ctx.uquery().eval("inputs(cell//path/to/file:target)"",{"_index":2439,"title":{},"content":{"470":{"position":[[385,64]]}},"keywords":{}}],["ctx.uquery().eval("owner('path/to/file')")[0",{"_index":2419,"title":{},"content":{"459":{"position":[[182,55]]},"460":{"position":[[166,55]]},"461":{"position":[[148,55]]}},"keywords":{}}],["ctx.uquery().filter(".*the_binary"",{"_index":2442,"title":{},"content":{"471":{"position":[[282,45]]}},"keywords":{}}],["ctx.uquery().inputs("root//bin:the_binary"",{"_index":2444,"title":{},"content":{"472":{"position":[[262,53]]}},"keywords":{}}],["ctx.uquery().kind(".*1"",{"_index":2446,"title":{},"content":{"473":{"position":[[279,34]]}},"keywords":{}}],["ctx.uquery().kind(params["rule_type"",{"_index":4109,"title":{},"content":{"878":{"position":[[838,48]]}},"keywords":{}}],["ctx.uquery().own",{"_index":4424,"title":{},"content":{"906":{"position":[[100,24]]}},"keywords":{}}],["ctx.uquery().owner("bin/targets")[0",{"_index":2465,"title":{},"content":{"480":{"position":[[105,46]]},"481":{"position":[[189,46]]}},"keywords":{}}],["ctx.uquery().owner("bin/targets.fixture"",{"_index":1417,"title":{},"content":{"166":{"position":[[277,51]]},"474":{"position":[[485,51]]},"548":{"position":[[277,51]]}},"keywords":{}}],["ctx.uquery().owner("foobar"",{"_index":4426,"title":{},"content":{"906":{"position":[[169,38]]}},"keywords":{}}],["ctx.uquery().owner('path/to/file')[0",{"_index":2425,"title":{},"content":{"462":{"position":[[289,37]]},"463":{"position":[[225,37]]}},"keywords":{}}],["ctx.uquery().owner(["bin/target"",{"_index":2434,"title":{},"content":{"468":{"position":[[287,43]]}},"keywords":{}}],["ctx.uquery().rdeps("root//bin:the_binary"",{"_index":2449,"title":{},"content":{"475":{"position":[[437,52]]}},"keywords":{}}],["ctx.uquery().targets_in_buildfile("bin/targets.fixture"",{"_index":2454,"title":{},"content":{"477":{"position":[[241,66]]}},"keywords":{}}],["ctx.uquery().testsof("//:foo_lib"",{"_index":2461,"title":{},"content":{"478":{"position":[[290,44]]}},"keywords":{}}],["ctx.uquery(‘deps("//foo"",{"_index":4781,"title":{},"content":{"962":{"position":[[261,37]]}},"keywords":{}}],["cuda",{"_index":7202,"title":{},"content":{"1384":{"position":[[11776,4],[11796,4],[12711,4],[12720,4]]}},"keywords":{}}],["cuda_compil",{"_index":7348,"title":{},"content":{"1389":{"position":[[1533,14]]}},"keywords":{}}],["cuda_compiler_flag",{"_index":7349,"title":{},"content":{"1389":{"position":[[1564,20]]}},"keywords":{}}],["cuda_compiler_typ",{"_index":7350,"title":{},"content":{"1389":{"position":[[1600,19]]}},"keywords":{}}],["cuda_dep_tracking_mod",{"_index":7351,"title":{},"content":{"1389":{"position":[[1636,23]]}},"keywords":{}}],["cuda_preprocessor_flag",{"_index":7352,"title":{},"content":{"1389":{"position":[[1669,24]]}},"keywords":{}}],["culprit",{"_index":6098,"title":{},"content":{"1231":{"position":[[530,8]]},"1232":{"position":[[3313,8]]}},"keywords":{}}],["current",{"_index":1385,"title":{},"content":{"143":{"position":[[74,9]]},"210":{"position":[[121,7]]},"211":{"position":[[108,7]]},"233":{"position":[[105,10]]},"266":{"position":[[74,9]]},"288":{"position":[[431,9]]},"289":{"position":[[451,9]]},"309":{"position":[[889,9]]},"314":{"position":[[166,7]]},"405":{"position":[[1893,7]]},"418":{"position":[[1082,9]]},"419":{"position":[[78,7]]},"422":{"position":[[51,7]]},"510":{"position":[[492,9]]},"511":{"position":[[512,9]]},"578":{"position":[[51,7],[101,7]]},"581":{"position":[[318,7]]},"587":{"position":[[493,7]]},"595":{"position":[[1345,9]]},"784":{"position":[[1893,7]]},"797":{"position":[[1082,9]]},"798":{"position":[[78,7]]},"801":{"position":[[51,7]]},"864":{"position":[[1721,10]]},"890":{"position":[[2802,7]]},"892":{"position":[[1114,7],[1169,7]]},"908":{"position":[[21,9]]},"910":{"position":[[55,7]]},"919":{"position":[[632,7],[1015,7]]},"926":{"position":[[0,10],[119,9]]},"929":{"position":[[0,10]]},"937":{"position":[[941,9]]},"942":{"position":[[1778,9],[1807,9]]},"944":{"position":[[1021,9],[1856,9]]},"955":{"position":[[1027,9]]},"956":{"position":[[7,9]]},"964":{"position":[[255,7]]},"968":{"position":[[85,7]]},"977":{"position":[[47,9]]},"980":{"position":[[281,10],[652,9]]},"983":{"position":[[104,10]]},"991":{"position":[[1401,9]]},"998":{"position":[[0,10]]},"1000":{"position":[[250,7]]},"1018":{"position":[[287,9]]},"1021":{"position":[[486,7]]},"1029":{"position":[[291,9]]},"1049":{"position":[[380,7]]},"1050":{"position":[[120,7],[603,7],[2224,7],[3239,7]]},"1067":{"position":[[304,10]]},"1086":{"position":[[284,7]]},"1088":{"position":[[424,7]]},"1094":{"position":[[6,9]]},"1102":{"position":[[749,9]]},"1104":{"position":[[665,7]]},"1112":{"position":[[62,9],[692,9]]},"1114":{"position":[[17,9],[236,9]]},"1124":{"position":[[258,7]]},"1136":{"position":[[662,10],[3110,7],[3287,7]]},"1138":{"position":[[6772,7],[6949,7]]},"1140":{"position":[[5698,7],[5875,7]]},"1142":{"position":[[1142,7],[1319,7]]},"1146":{"position":[[1082,7],[1259,7]]},"1148":{"position":[[4122,7],[4299,7]]},"1155":{"position":[[1178,7],[1355,7]]},"1156":{"position":[[756,7],[933,7]]},"1167":{"position":[[6702,7],[6879,7]]},"1169":{"position":[[541,7],[718,7]]},"1172":{"position":[[1851,9]]},"1186":{"position":[[2346,7],[2523,7]]},"1187":{"position":[[2359,7],[2536,7]]},"1188":{"position":[[7085,7],[7262,7]]},"1190":{"position":[[242,9],[1285,7]]},"1191":{"position":[[946,7],[1123,7]]},"1192":{"position":[[79,9],[1121,7],[1298,7]]},"1193":{"position":[[1173,7],[1350,7]]},"1194":{"position":[[813,7],[990,7]]},"1195":{"position":[[791,7],[968,7]]},"1196":{"position":[[601,7],[778,7]]},"1197":{"position":[[1584,7],[1761,7]]},"1198":{"position":[[1594,7],[1771,7]]},"1199":{"position":[[1622,7],[1799,7]]},"1200":{"position":[[1489,7],[1666,7]]},"1201":{"position":[[749,7],[926,7]]},"1202":{"position":[[1891,7],[2068,7],[6288,7],[6465,7]]},"1203":{"position":[[983,7],[1160,7]]},"1204":{"position":[[827,7],[1004,7]]},"1205":{"position":[[172,7],[2156,7],[2333,7]]},"1206":{"position":[[627,7],[804,7]]},"1207":{"position":[[784,7],[961,7]]},"1209":{"position":[[2132,7],[2309,7]]},"1211":{"position":[[299,7]]},"1217":{"position":[[494,7],[5443,7],[5620,7]]},"1219":{"position":[[670,11],[1429,7],[1606,7]]},"1222":{"position":[[553,7],[730,7]]},"1223":{"position":[[563,7],[740,7]]},"1224":{"position":[[743,7],[920,7]]},"1226":{"position":[[5911,7],[6088,7]]},"1228":{"position":[[2162,7],[2690,7],[7524,7],[7701,7]]},"1235":{"position":[[3392,7],[3569,7]]},"1237":{"position":[[6081,7],[6258,7]]},"1258":{"position":[[475,7]]},"1289":{"position":[[475,7]]},"1317":{"position":[[475,7]]},"1351":{"position":[[852,10]]},"1360":{"position":[[4251,7]]},"1362":{"position":[[10176,7],[10266,7]]},"1364":{"position":[[11290,7],[11380,7]]},"1366":{"position":[[2616,7]]},"1367":{"position":[[11093,7],[11183,7]]},"1374":{"position":[[1879,10]]},"1382":{"position":[[6409,7],[6902,7],[6992,7]]},"1384":{"position":[[11356,7],[13256,7],[13346,7],[17066,7],[17368,7]]},"1388":{"position":[[7278,7],[7771,7],[7861,7]]},"1393":{"position":[[9260,9]]},"1403":{"position":[[3666,7]]},"1405":{"position":[[2343,7],[2506,10]]},"1407":{"position":[[2764,7],[2927,10]]},"1408":{"position":[[2044,10]]},"1410":{"position":[[2786,7],[2951,10]]},"1429":{"position":[[6085,9]]},"1440":{"position":[[5985,9]]},"1448":{"position":[[2735,9]]},"1449":{"position":[[2669,9]]},"1457":{"position":[[1555,10]]},"1462":{"position":[[6641,9]]},"1467":{"position":[[7756,9]]},"1471":{"position":[[3186,10],[5628,9]]},"1472":{"position":[[2905,10],[3024,10],[6514,9]]},"1473":{"position":[[3220,10],[5799,9]]},"1478":{"position":[[2724,9]]},"1485":{"position":[[2689,7]]}},"keywords":{}}],["custom",{"_index":136,"title":{},"content":{"7":{"position":[[72,6]]},"24":{"position":[[841,6]]},"575":{"position":[[266,6]]},"578":{"position":[[207,6]]},"692":{"position":[[134,6]]},"693":{"position":[[173,15],[1210,6]]},"848":{"position":[[676,6]]},"864":{"position":[[21,6]]},"865":{"position":[[559,6]]},"869":{"position":[[468,6]]},"933":{"position":[[80,6],[109,6]]},"937":{"position":[[261,14],[756,14],[856,6],[1806,9],[3083,6]]},"938":{"position":[[688,9]]},"939":{"position":[[1843,9]]},"958":{"position":[[115,6]]},"1104":{"position":[[275,6]]},"1105":{"position":[[2289,6]]},"1258":{"position":[[1230,9]]},"1289":{"position":[[1230,9]]},"1317":{"position":[[1230,9]]},"1362":{"position":[[10995,6]]},"1364":{"position":[[11962,6]]},"1365":{"position":[[1788,10]]},"1373":{"position":[[5511,6]]},"1382":{"position":[[7864,6]]},"1384":{"position":[[13928,6]]},"1387":{"position":[[7189,6]]},"1467":{"position":[[8622,6],[8677,6]]}},"keywords":{}}],["custom_section]custom_valu",{"_index":2647,"title":{},"content":{"578":{"position":[[223,28]]}},"keywords":{}}],["customis",{"_index":7498,"title":{},"content":{"1393":{"position":[[8757,10],[8859,10]]}},"keywords":{}}],["cut",{"_index":276,"title":{},"content":{"9":{"position":[[2166,7]]}},"keywords":{}}],["cutoff",{"_index":4802,"title":{},"content":{"965":{"position":[[292,7]]}},"keywords":{}}],["cvtres.ex",{"_index":8547,"title":{},"content":{"1485":{"position":[[4562,11]]}},"keywords":{}}],["cvtres_compil",{"_index":7353,"title":{},"content":{"1389":{"position":[[1709,16]]}},"keywords":{}}],["cvtres_compiler_flag",{"_index":7354,"title":{},"content":{"1389":{"position":[[1742,22]]}},"keywords":{}}],["cvtres_compiler_typ",{"_index":7355,"title":{},"content":{"1389":{"position":[[1780,21]]}},"keywords":{}}],["cvtres_preprocessor_flag",{"_index":7356,"title":{},"content":{"1389":{"position":[[1818,26]]}},"keywords":{}}],["cwd",{"_index":5488,"title":{},"content":{"1070":{"position":[[385,5]]}},"keywords":{}}],["cxx",{"_index":138,"title":{},"content":{"7":{"position":[[92,3]]},"389":{"position":[[358,6],[1251,6]]},"584":{"position":[[1585,5],[1761,3]]},"768":{"position":[[358,6],[1251,6]]},"905":{"position":[[481,3],[565,3],[668,3]]},"1446":{"position":[[2415,4]]}},"keywords":{}}],["cxx#other_platform",{"_index":2722,"title":{},"content":{"584":{"position":[[1790,20]]}},"keywords":{}}],["cxx)path",{"_index":7169,"title":{},"content":{"1383":{"position":[[3062,10]]}},"keywords":{}}],["cxx_binari",{"_index":555,"title":{"1382":{"position":[[0,11]]}},"content":{"18":{"position":[[581,10],[622,11]]},"680":{"position":[[1043,10]]},"693":{"position":[[7617,10]]},"715":{"position":[[589,10],[1017,10]]},"1007":{"position":[[265,11]]},"1362":{"position":[[4884,12],[5145,12]]},"1373":{"position":[[8530,12]]},"1374":{"position":[[2951,11]]},"1382":{"position":[[4,11],[2987,12],[11746,11]]},"1384":{"position":[[19994,12],[20528,12],[21021,10]]},"1386":{"position":[[719,13],[3750,11]]},"1485":{"position":[[5007,11]]}},"keywords":{}}],["cxx_binary()[shar",{"_index":7013,"title":{},"content":{"1370":{"position":[[1859,20]]}},"keywords":{}}],["cxx_binarymight",{"_index":3405,"title":{},"content":{"680":{"position":[[918,15]]}},"keywords":{}}],["cxx_compil",{"_index":4324,"title":{},"content":{"896":{"position":[[924,12]]},"1172":{"position":[[1645,16]]},"1173":{"position":[[945,16]]},"1389":{"position":[[1860,13]]}},"keywords":{}}],["cxx_compiler_allow_cache_upload",{"_index":7357,"title":{},"content":{"1389":{"position":[[1879,32]]}},"keywords":{}}],["cxx_compiler_flag",{"_index":7358,"title":{},"content":{"1389":{"position":[[1929,19]]}},"keywords":{}}],["cxx_compiler_typ",{"_index":7359,"title":{},"content":{"1389":{"position":[[1964,18]]}},"keywords":{}}],["cxx_gen",{"_index":7187,"title":{},"content":{"1383":{"position":[[7947,10],[8149,10]]},"1403":{"position":[[7047,10],[7249,10]]}},"keywords":{}}],["cxx_genrul",{"_index":7165,"title":{"1383":{"position":[[0,12]]}},"content":{"1383":{"position":[[4,12],[1192,13],[1277,13],[4314,11],[7864,11],[7927,12],[8598,12],[8678,13],[8719,14],[8763,11]]},"1384":{"position":[[20875,14]]},"1403":{"position":[[6964,11],[7027,12]]},"1407":{"position":[[4985,12]]}},"keywords":{}}],["cxx_gr_name#default",{"_index":7195,"title":{},"content":{"1383":{"position":[[8993,20]]}},"keywords":{}}],["cxx_gr_name#iphonesimul",{"_index":7194,"title":{},"content":{"1383":{"position":[[8876,28]]}},"keywords":{}}],["cxx_header_dir",{"_index":7870,"title":{},"content":{"1421":{"position":[[394,16]]},"1461":{"position":[[559,16]]}},"keywords":{}}],["cxx_librari",{"_index":3395,"title":{"1384":{"position":[[0,12]]}},"content":{"679":{"position":[[152,11],[270,11]]},"680":{"position":[[961,11]]},"917":{"position":[[170,12]]},"1364":{"position":[[4909,13],[5173,13]]},"1370":{"position":[[1946,13]]},"1373":{"position":[[8889,12]]},"1382":{"position":[[11845,12]]},"1384":{"position":[[4,12],[4290,13],[19918,11],[20061,12],[20226,12],[20740,11],[20841,11],[20966,12],[21052,12],[21105,11],[21152,11],[21333,12],[21535,12],[21932,12]]},"1386":{"position":[[700,13]]},"1429":{"position":[[3491,13],[6199,13]]},"1448":{"position":[[2127,11],[3092,12]]},"1449":{"position":[[2061,11]]},"1467":{"position":[[7926,14]]},"1485":{"position":[[4595,11]]}},"keywords":{}}],["cxx_library().main",{"_index":8324,"title":{},"content":{"1462":{"position":[[6811,19]]}},"keywords":{}}],["cxx_library()apple_librari",{"_index":7014,"title":{},"content":{"1370":{"position":[[1913,28]]}},"keywords":{}}],["cxx_library_whitelist",{"_index":7809,"title":{},"content":{"1413":{"position":[[559,22]]},"1429":{"position":[[819,22],[3446,22]]},"1440":{"position":[[893,22]]},"1470":{"position":[[972,22]]},"1475":{"position":[[595,22]]}},"keywords":{}}],["cxx_lua_extens",{"_index":7235,"title":{"1385":{"position":[[0,18]]}},"content":{"1385":{"position":[[4,18],[1839,19],[7255,18]]}},"keywords":{}}],["cxx_main",{"_index":8294,"title":{},"content":{"1462":{"position":[[975,9]]},"1467":{"position":[[1042,9]]}},"keywords":{}}],["cxx_platform",{"_index":8295,"title":{},"content":{"1462":{"position":[[994,13]]},"1465":{"position":[[549,13]]},"1467":{"position":[[1061,13]]}},"keywords":{}}],["cxx_precompiled_head",{"_index":7253,"title":{"1386":{"position":[[0,23]]}},"content":{"1386":{"position":[[4,23],[559,22],[3080,24],[3533,23],[3898,22],[4151,22]]}},"keywords":{}}],["cxx_preprocessor_flag",{"_index":7360,"title":{},"content":{"1389":{"position":[[1999,23]]}},"keywords":{}}],["cxx_python_extens",{"_index":7290,"title":{"1387":{"position":[[0,21]]}},"content":{"1387":{"position":[[4,21],[4184,22],[10631,21]]}},"keywords":{}}],["cxx_runtim",{"_index":8112,"title":{},"content":{"1447":{"position":[[383,12]]}},"keywords":{}}],["cxx_runtime_typ",{"_index":6701,"title":{},"content":{"1362":{"position":[[819,17]]},"1364":{"position":[[836,17]]},"1367":{"position":[[1850,17]]},"1373":{"position":[[693,17]]},"1382":{"position":[[741,17]]},"1384":{"position":[[682,17]]},"1385":{"position":[[447,17]]},"1387":{"position":[[789,17]]},"1388":{"position":[[874,17]]},"1415":{"position":[[527,17]]},"1462":{"position":[[1024,17]]},"1467":{"position":[[1091,17]]}},"keywords":{}}],["cxx_test",{"_index":7305,"title":{"1388":{"position":[[0,9]]}},"content":{"1388":{"position":[[4,9],[3454,10],[10385,9]]}},"keywords":{}}],["cxx_toolchain",{"_index":6988,"title":{"1389":{"position":[[0,14]]}},"content":{"1368":{"position":[[678,14]]},"1389":{"position":[[4,14]]},"1405":{"position":[[2315,13]]},"1407":{"position":[[2736,13]]},"1410":{"position":[[2758,13]]},"1447":{"position":[[412,14]]}},"keywords":{}}],["cxxflags)flag",{"_index":7172,"title":{},"content":{"1383":{"position":[[3182,16]]}},"keywords":{}}],["cxxppflags)flag",{"_index":7173,"title":{},"content":{"1383":{"position":[[3227,18]]}},"keywords":{}}],["cxxppflags="",{"_index":2715,"title":{},"content":{"584":{"position":[[1591,17],[1811,17]]}},"keywords":{}}],["cycl",{"_index":318,"title":{},"content":{"10":{"position":[[281,5]]},"892":{"position":[[806,5],[2084,6]]},"943":{"position":[[2581,5]]},"1040":{"position":[[644,5]]},"1233":{"position":[[0,5],[112,5],[202,5],[319,6]]},"1241":{"position":[[60,5],[150,5],[267,6]]}},"keywords":{}}],["cyclic",{"_index":4284,"title":{},"content":{"892":{"position":[[2040,6]]}},"keywords":{}}],["d",{"_index":2497,"title":{"724":{"position":[[6,2]]}},"content":{"553":{"position":[[108,1]]},"555":{"position":[[178,2]]},"556":{"position":[[153,2]]},"560":{"position":[[193,2],[381,2],[541,2],[658,2]]},"584":{"position":[[1609,1],[1829,1]]},"616":{"position":[[366,5]]},"645":{"position":[[299,2]]},"1040":{"position":[[2552,1]]},"1167":{"position":[[598,2]]},"1390":{"position":[[636,1],[1822,1],[1986,1],[2020,2]]},"1391":{"position":[[606,1],[1637,1]]},"1392":{"position":[[645,1],[2092,1],[2485,1]]}},"keywords":{}}],["d'",{"_index":7433,"title":{},"content":{"1392":{"position":[[690,3]]}},"keywords":{}}],["d.clear",{"_index":2496,"title":{},"content":{"553":{"position":[[60,9]]}},"keywords":{}}],["d.get(key",{"_index":2504,"title":{},"content":{"554":{"position":[[84,11]]}},"keywords":{}}],["d.item",{"_index":2511,"title":{},"content":{"555":{"position":[[99,9]]}},"keywords":{}}],["d.key",{"_index":2516,"title":{},"content":{"556":{"position":[[91,8]]}},"keywords":{}}],["d.pop(key",{"_index":2520,"title":{},"content":{"557":{"position":[[96,11]]}},"keywords":{}}],["d.popitem",{"_index":2527,"title":{},"content":{"558":{"position":[[127,11]]}},"keywords":{}}],["d.setdefault(key",{"_index":2532,"title":{},"content":{"559":{"position":[[132,18]]}},"keywords":{}}],["d.update([pair",{"_index":2543,"title":{},"content":{"560":{"position":[[98,18]]}},"keywords":{}}],["d.valu",{"_index":2557,"title":{},"content":{"561":{"position":[[97,10]]}},"keywords":{}}],["d36339960",{"_index":4845,"title":{},"content":{"978":{"position":[[107,9]]}},"keywords":{}}],["d_binari",{"_index":7420,"title":{"1390":{"position":[[0,9]]}},"content":{"1390":{"position":[[4,9],[568,10],[2056,9]]}},"keywords":{}}],["d_librari",{"_index":7421,"title":{"1391":{"position":[[0,10]]}},"content":{"1390":{"position":[[1605,9],[2126,10],[2199,10]]},"1391":{"position":[[4,10],[569,11],[1558,9],[1848,10],[1921,10]]},"1392":{"position":[[1708,9]]}},"keywords":{}}],["d_test",{"_index":7432,"title":{"1392":{"position":[[0,7]]}},"content":{"1392":{"position":[[4,7],[604,8],[2037,8],[2519,7]]}},"keywords":{}}],["daemon",{"_index":1099,"title":{"691":{"position":[[0,6]]},"692":{"position":[[30,7]]}},"content":{"90":{"position":[[139,6]]},"222":{"position":[[139,6]]},"581":{"position":[[846,6]]},"692":{"position":[[9,6],[111,6]]},"693":{"position":[[4007,7],[4019,6],[4194,6],[5071,6]]},"715":{"position":[[1676,6],[1697,6],[2057,6]]},"879":{"position":[[229,6]]},"1035":{"position":[[83,7],[122,6],[272,7]]},"1060":{"position":[[234,6]]},"1075":{"position":[[575,6]]},"1079":{"position":[[748,6]]},"1127":{"position":[[683,6]]},"1138":{"position":[[1390,6]]},"1142":{"position":[[68,7],[329,6]]},"1163":{"position":[[14,7],[167,6]]},"1211":{"position":[[187,7]]},"1219":{"position":[[41,7],[92,6],[170,6]]},"1224":{"position":[[126,7],[181,6]]}},"keywords":{}}],["daemon'",{"_index":1098,"title":{},"content":{"90":{"position":[[61,8]]},"222":{"position":[[61,8]]}},"keywords":{}}],["daemon.simpl",{"_index":331,"title":{},"content":{"10":{"position":[[549,13]]}},"keywords":{}}],["dag",{"_index":3428,"title":{},"content":{"684":{"position":[[67,6]]},"1084":{"position":[[21,5],[717,4]]}},"keywords":{}}],["daili",{"_index":186,"title":{},"content":{"9":{"position":[[370,5]]}},"keywords":{}}],["dand",{"_index":3185,"title":{},"content":{"645":{"position":[[357,4]]}},"keywords":{}}],["danger",{"_index":3976,"title":{},"content":{"861":{"position":[[109,9]]}},"keywords":{}}],["dap",{"_index":770,"title":{},"content":{"23":{"position":[[3001,3]]},"1224":{"position":[[134,3]]}},"keywords":{}}],["darwin",{"_index":8381,"title":{},"content":{"1469":{"position":[[2557,6],[2631,6]]}},"keywords":{}}],["data",{"_index":3448,"title":{"1252":{"position":[[27,4]]}},"content":{"688":{"position":[[1433,4]]},"693":{"position":[[6466,4],[7330,4]]},"722":{"position":[[619,4]]},"836":{"position":[[4,4]]},"887":{"position":[[28,4]]},"890":{"position":[[2448,4],[4437,4],[6150,4]]},"892":{"position":[[213,4],[505,4],[892,4],[2047,4],[2121,5]]},"898":{"position":[[1720,5],[1741,4],[1833,5]]},"950":{"position":[[720,4]]},"954":{"position":[[578,5]]},"1050":{"position":[[2150,4]]},"1104":{"position":[[18,4]]},"1126":{"position":[[656,5],[793,4],[850,5],[1088,4],[1143,5],[1381,4],[1436,5]]},"1148":{"position":[[7292,4]]},"1167":{"position":[[1840,4]]},"1186":{"position":[[349,5]]},"1187":{"position":[[362,5]]},"1188":{"position":[[5088,5]]},"1252":{"position":[[109,4]]},"1380":{"position":[[579,4]]},"1383":{"position":[[5739,4]]},"1388":{"position":[[5017,4],[6427,4]]},"1398":{"position":[[3974,4],[5230,4],[5531,4]]},"1405":{"position":[[3581,4]]},"1407":{"position":[[4002,4]]},"1410":{"position":[[4990,4]]},"1438":{"position":[[554,4]]},"1467":{"position":[[6780,4]]},"1469":{"position":[[1951,4]]},"1477":{"position":[[2039,4],[2644,4],[2806,4],[2821,4]]}},"keywords":{}}],["data("hello"",{"_index":4268,"title":{},"content":{"892":{"position":[[74,23],[1077,23],[1752,23],[1925,23]]}},"keywords":{}}],["data("universe"",{"_index":4269,"title":{},"content":{"892":{"position":[[109,26],[1030,26],[1493,26],[1720,26]]}},"keywords":{}}],["data("world"",{"_index":4267,"title":{},"content":{"892":{"position":[[45,23],[985,23],[1540,23],[1787,23],[1960,23]]}},"keywords":{}}],["data.dat",{"_index":7898,"title":{},"content":{"1422":{"position":[[2874,8]]},"1477":{"position":[[2884,8]]}},"keywords":{}}],["data.proto",{"_index":5779,"title":{},"content":{"1123":{"position":[[134,11]]},"1125":{"position":[[112,10]]},"1126":{"position":[[839,10],[1132,10],[1425,10]]}},"keywords":{}}],["data_dir",{"_index":7618,"title":{},"content":{"1398":{"position":[[3890,8],[4170,8],[5290,8],[5363,8]]}},"keywords":{}}],["data_dir)of",{"_index":7625,"title":{},"content":{"1398":{"position":[[5546,12]]}},"keywords":{}}],["databas",{"_index":4081,"title":{},"content":{"873":{"position":[[14,8],[28,8],[184,8],[601,8]]},"954":{"position":[[99,9],[446,8]]},"964":{"position":[[34,10]]},"1077":{"position":[[62,9]]}},"keywords":{}}],["datafil",{"_index":8470,"title":{},"content":{"1477":{"position":[[3234,8]]}},"keywords":{}}],["datafile"",{"_index":8463,"title":{},"content":{"1477":{"position":[[2864,14]]}},"keywords":{}}],["dataregular",{"_index":8375,"title":{},"content":{"1469":{"position":[[1939,11]]}},"keywords":{}}],["dataset",{"_index":5918,"title":{},"content":{"1136":{"position":[[6752,8]]},"1138":{"position":[[10414,8]]},"1140":{"position":[[9340,8]]},"1142":{"position":[[4784,8]]},"1144":{"position":[[1112,8]]},"1146":{"position":[[4724,8]]},"1148":{"position":[[8315,8]]},"1150":{"position":[[1347,8]]},"1152":{"position":[[1045,8]]},"1154":{"position":[[1200,8]]},"1155":{"position":[[4820,8]]},"1156":{"position":[[4398,8]]},"1157":{"position":[[983,8]]},"1158":{"position":[[977,8]]},"1159":{"position":[[977,8]]},"1161":{"position":[[1972,8]]},"1163":{"position":[[1358,8]]},"1165":{"position":[[1187,8]]},"1167":{"position":[[10344,8]]},"1169":{"position":[[3452,8]]},"1171":{"position":[[1693,8]]},"1172":{"position":[[3078,8]]},"1173":{"position":[[1765,8]]},"1174":{"position":[[1193,8]]},"1175":{"position":[[1189,8]]},"1176":{"position":[[1358,8]]},"1177":{"position":[[1279,8]]},"1178":{"position":[[1596,8]]},"1179":{"position":[[1393,8]]},"1180":{"position":[[1664,8]]},"1181":{"position":[[2184,8]]},"1182":{"position":[[1227,8]]},"1183":{"position":[[1182,8]]},"1185":{"position":[[1027,8]]},"1186":{"position":[[5988,8]]},"1187":{"position":[[6001,8]]},"1188":{"position":[[10727,8]]},"1190":{"position":[[2358,8]]},"1191":{"position":[[4588,8]]},"1192":{"position":[[4763,8]]},"1193":{"position":[[4815,8]]},"1194":{"position":[[4455,8]]},"1195":{"position":[[4433,8]]},"1196":{"position":[[4243,8]]},"1197":{"position":[[5226,8]]},"1198":{"position":[[5236,8]]},"1199":{"position":[[5264,8]]},"1200":{"position":[[5131,8]]},"1201":{"position":[[4391,8]]},"1202":{"position":[[1135,8],[5533,8],[9930,8]]},"1203":{"position":[[4625,8]]},"1204":{"position":[[4469,8],[5371,8],[6301,8],[7203,8],[8189,8],[9143,8],[10090,8],[11020,8]]},"1205":{"position":[[5798,8]]},"1206":{"position":[[4497,8]]},"1207":{"position":[[4426,8]]},"1209":{"position":[[5774,8]]},"1211":{"position":[[1098,8]]},"1213":{"position":[[869,8]]},"1215":{"position":[[953,8]]},"1217":{"position":[[9085,8]]},"1219":{"position":[[4340,8]]},"1221":{"position":[[1072,8]]},"1222":{"position":[[4211,8]]},"1223":{"position":[[4221,8]]},"1224":{"position":[[3654,8]]},"1226":{"position":[[9553,8]]},"1228":{"position":[[11166,8]]},"1235":{"position":[[7034,8]]},"1237":{"position":[[9723,8]]}},"keywords":{}}],["date",{"_index":4750,"title":{},"content":{"955":{"position":[[363,4]]}},"keywords":{}}],["day",{"_index":245,"title":{},"content":{"9":{"position":[[1491,3],[1498,4]]},"10":{"position":[[1029,4]]},"941":{"position":[[344,3]]},"1113":{"position":[[469,4]]}},"keywords":{}}],["db",{"_index":4745,"title":{},"content":{"954":{"position":[[315,2],[688,2],[943,2]]},"1421":{"position":[[426,3]]}},"keywords":{}}],["db]?asan",{"_index":4674,"title":{},"content":{"942":{"position":[[736,9]]}},"keywords":{}}],["dbar",{"_index":5563,"title":{},"content":{"1082":{"position":[[1258,4]]},"1084":{"position":[[654,5]]}},"keywords":{}}],["dbarski",{"_index":4760,"title":{},"content":{"957":{"position":[[11,9]]}},"keywords":{}}],["dead",{"_index":6156,"title":{},"content":{"1232":{"position":[[3701,4]]},"1351":{"position":[[3533,4]]}},"keywords":{}}],["deal",{"_index":4840,"title":{},"content":{"977":{"position":[[293,7]]}},"keywords":{}}],["debug",{"_index":1954,"title":{"635":{"position":[[0,6]]},"860":{"position":[[24,9]]},"946":{"position":[[0,9]]},"1106":{"position":[[0,10]]},"1224":{"position":[[14,5]]},"1230":{"position":[[7,5]]},"1233":{"position":[[7,5]]},"1246":{"position":[[0,9]]}},"content":{"368":{"position":[[957,5],[2294,5]]},"446":{"position":[[448,11]]},"632":{"position":[[126,9]]},"635":{"position":[[55,5],[126,9]]},"715":{"position":[[1063,5]]},"747":{"position":[[957,5],[2294,5]]},"825":{"position":[[448,11]]},"860":{"position":[[406,5],[432,5]]},"946":{"position":[[170,5],[667,5],[737,5]]},"973":{"position":[[169,9]]},"1035":{"position":[[159,5]]},"1037":{"position":[[521,5]]},"1058":{"position":[[1105,10]]},"1120":{"position":[[579,9]]},"1138":{"position":[[3430,9],[3749,9]]},"1140":{"position":[[2919,9],[3238,9]]},"1167":{"position":[[262,5],[3923,9],[4242,9]]},"1188":{"position":[[2972,9],[3291,9]]},"1190":{"position":[[954,5]]},"1197":{"position":[[243,5],[275,5]]},"1202":{"position":[[0,5]]},"1217":{"position":[[2664,9],[2983,9]]},"1219":{"position":[[961,9]]},"1221":{"position":[[160,5],[190,5]]},"1224":{"position":[[17,5],[93,5],[253,5]]},"1228":{"position":[[4745,9],[5064,9]]},"1231":{"position":[[5,9]]},"1351":{"position":[[930,6],[2254,6],[2636,6],[3645,5],[4332,8],[4356,8]]},"1358":{"position":[[2311,9]]},"1382":{"position":[[11997,5],[12040,5]]},"1386":{"position":[[2520,6],[5240,6]]},"1446":{"position":[[1839,5]]},"1458":{"position":[[2441,9]]}},"keywords":{}}],["debug(v",{"_index":3096,"title":{},"content":{"635":{"position":[[4,10]]}},"keywords":{}}],["debug_info",{"_index":1974,"title":{},"content":{"368":{"position":[[1693,10]]},"747":{"position":[[1693,10]]}},"keywords":{}}],["debug_path_prefix_map_sanitizer_format",{"_index":7361,"title":{},"content":{"1389":{"position":[[2038,39]]}},"keywords":{}}],["debugev",{"_index":5906,"title":{},"content":{"1136":{"position":[[5373,11],[5568,11]]},"1138":{"position":[[9035,11],[9230,11]]},"1140":{"position":[[7961,11],[8156,11]]},"1142":{"position":[[3405,11],[3600,11]]},"1146":{"position":[[3345,11],[3540,11]]},"1148":{"position":[[6385,11],[6580,11]]},"1155":{"position":[[3441,11],[3636,11]]},"1156":{"position":[[3019,11],[3214,11]]},"1161":{"position":[[912,11],[1107,11]]},"1167":{"position":[[8965,11],[9160,11]]},"1181":{"position":[[1124,11],[1319,11]]},"1186":{"position":[[4609,11],[4804,11]]},"1187":{"position":[[4622,11],[4817,11]]},"1188":{"position":[[9348,11],[9543,11]]},"1191":{"position":[[3209,11],[3404,11]]},"1192":{"position":[[3384,11],[3579,11]]},"1193":{"position":[[3436,11],[3631,11]]},"1194":{"position":[[3076,11],[3271,11]]},"1195":{"position":[[3054,11],[3249,11]]},"1196":{"position":[[2864,11],[3059,11]]},"1197":{"position":[[3847,11],[4042,11]]},"1198":{"position":[[3857,11],[4052,11]]},"1199":{"position":[[3885,11],[4080,11]]},"1200":{"position":[[3752,11],[3947,11]]},"1201":{"position":[[3012,11],[3207,11]]},"1202":{"position":[[4154,11],[4349,11],[8551,11],[8746,11]]},"1203":{"position":[[3246,11],[3441,11]]},"1204":{"position":[[3090,11],[3285,11]]},"1205":{"position":[[4419,11],[4614,11]]},"1206":{"position":[[2890,11],[3085,11]]},"1207":{"position":[[3047,11],[3242,11]]},"1209":{"position":[[4395,11],[4590,11]]},"1217":{"position":[[7706,11],[7901,11]]},"1222":{"position":[[2816,11],[3011,11]]},"1223":{"position":[[2826,11],[3021,11]]},"1226":{"position":[[8174,11],[8369,11]]},"1228":{"position":[[9787,11],[9982,11]]},"1235":{"position":[[5655,11],[5850,11]]},"1237":{"position":[[8344,11],[8539,11]]}},"keywords":{}}],["debugg",{"_index":3077,"title":{},"content":{"631":{"position":[[36,8],[75,9]]},"946":{"position":[[525,9],[714,8]]},"1167":{"position":[[1481,8],[1537,9]]}},"keywords":{}}],["decad",{"_index":406,"title":{},"content":{"12":{"position":[[400,7]]}},"keywords":{}}],["decid",{"_index":3804,"title":{},"content":{"724":{"position":[[880,7],[1033,7],[1373,6]]},"870":{"position":[[233,6]]},"990":{"position":[[1315,6]]},"1104":{"position":[[1579,6]]}},"keywords":{}}],["decim",{"_index":2813,"title":{},"content":{"595":{"position":[[717,7]]}},"keywords":{}}],["decis",{"_index":4509,"title":{},"content":{"921":{"position":[[387,8]]},"1053":{"position":[[70,8]]}},"keywords":{}}],["declar",{"_index":597,"title":{"1031":{"position":[[0,9]]}},"content":{"18":{"position":[[2115,8]]},"23":{"position":[[1110,7]]},"51":{"position":[[123,8]]},"74":{"position":[[208,12]]},"89":{"position":[[499,8]]},"198":{"position":[[123,8]]},"221":{"position":[[499,8]]},"236":{"position":[[423,8]]},"300":{"position":[[71,8]]},"406":{"position":[[48,8]]},"416":{"position":[[161,10]]},"423":{"position":[[62,7],[184,9]]},"497":{"position":[[208,12]]},"693":{"position":[[1009,8],[1159,7],[1563,7],[7087,8],[7246,7],[7413,7],[8490,8],[8877,9]]},"785":{"position":[[48,8]]},"795":{"position":[[161,10]]},"802":{"position":[[62,7],[184,9]]},"861":{"position":[[58,8],[672,9]]},"876":{"position":[[5,9],[233,7],[297,7]]},"878":{"position":[[313,7]]},"894":{"position":[[380,8]]},"916":{"position":[[357,7]]},"950":{"position":[[254,8],[1081,8],[1250,8]]},"951":{"position":[[1213,9]]},"961":{"position":[[92,7],[167,11],[422,11],[841,9]]},"984":{"position":[[132,8]]},"989":{"position":[[78,9]]},"990":{"position":[[240,9]]},"1004":{"position":[[390,14]]},"1007":{"position":[[156,11]]},"1030":{"position":[[48,7]]},"1031":{"position":[[3,7],[692,7]]},"1036":{"position":[[125,7]]},"1046":{"position":[[196,11]]},"1072":{"position":[[175,8]]},"1081":{"position":[[19,7]]},"1082":{"position":[[689,7]]},"1083":{"position":[[525,7]]},"1103":{"position":[[39,7],[895,8],[1029,9],[1623,8]]},"1105":{"position":[[1123,8],[2145,7]]},"1136":{"position":[[88,8]]},"1226":{"position":[[3312,11]]},"1237":{"position":[[3482,11]]},"1245":{"position":[[156,7],[206,8]]},"1285":{"position":[[195,8]]},"1287":{"position":[[23,8]]},"1351":{"position":[[2015,8],[2200,8],[2582,8]]},"1355":{"position":[[4903,7],[5458,9],[5554,8]]},"1359":{"position":[[1958,7]]},"1362":{"position":[[10807,8]]},"1364":{"position":[[11774,8]]},"1373":{"position":[[5323,8],[8334,9]]},"1382":{"position":[[4615,8],[4886,8],[7676,8]]},"1384":{"position":[[13740,8]]},"1386":{"position":[[3926,8]]},"1387":{"position":[[7001,8]]},"1388":{"position":[[5309,8],[5580,8]]},"1407":{"position":[[2442,8]]},"1442":{"position":[[1605,8],[1876,8]]},"1470":{"position":[[4501,7]]},"1487":{"position":[[2537,12]]}},"keywords":{}}],["declare_artifact",{"_index":1125,"title":{},"content":{"92":{"position":[[814,17]]},"224":{"position":[[814,17]]},"1040":{"position":[[916,17]]}},"keywords":{}}],["declare_output",{"_index":5164,"title":{},"content":{"1040":{"position":[[2730,14]]},"1105":{"position":[[711,14],[1132,17]]}},"keywords":{}}],["declare_outputcont",{"_index":1273,"title":{},"content":{"99":{"position":[[714,22]]},"231":{"position":[[714,22]]}},"keywords":{}}],["declared.head",{"_index":7049,"title":{},"content":{"1373":{"position":[[4526,17]]}},"keywords":{}}],["declared_dep",{"_index":7151,"title":{},"content":{"1382":{"position":[[4688,14],[4961,17],[4996,14]]},"1388":{"position":[[5382,14],[5655,17],[5690,14]]},"1442":{"position":[[1678,14],[1951,17],[1986,14]]}},"keywords":{}}],["declared_deps)"",{"_index":7158,"title":{},"content":{"1382":{"position":[[5214,21]]},"1388":{"position":[[5908,21]]},"1442":{"position":[[2204,21]]}},"keywords":{}}],["declared_deps)".format(name_regex",{"_index":7155,"title":{},"content":{"1382":{"position":[[5107,47]]},"1388":{"position":[[5801,47]]},"1442":{"position":[[2097,47]]}},"keywords":{}}],["declaringattrs.arg",{"_index":5197,"title":{},"content":{"1044":{"position":[[2648,18]]}},"keywords":{}}],["decod",{"_index":2752,"title":{},"content":{"590":{"position":[[407,8]]},"1469":{"position":[[2237,7]]}},"keywords":{}}],["decompress",{"_index":4005,"title":{},"content":{"865":{"position":[[910,13]]},"1178":{"position":[[177,15]]}},"keywords":{}}],["decor",{"_index":2408,"title":{},"content":{"450":{"position":[[69,9]]},"829":{"position":[[69,9]]}},"keywords":{}}],["decoupl",{"_index":5628,"title":{},"content":{"1100":{"position":[[155,8]]}},"keywords":{}}],["dedup",{"_index":2196,"title":{"410":{"position":[[0,7]]},"789":{"position":[[0,7]]}},"content":{},"keywords":{}}],["dedupe(flatten([x[pascallibraryinfo].link",{"_index":5675,"title":{},"content":{"1104":{"position":[[2480,42]]}},"keywords":{}}],["dedupe(v",{"_index":2197,"title":{},"content":{"410":{"position":[[4,11]]},"789":{"position":[[4,11]]}},"keywords":{}}],["dedupl",{"_index":3315,"title":{},"content":{"663":{"position":[[1166,13]]},"901":{"position":[[1120,13]]},"1112":{"position":[[425,13]]},"1114":{"position":[[714,13]]},"1138":{"position":[[2959,11]]},"1140":{"position":[[2448,11]]},"1167":{"position":[[3452,11]]},"1188":{"position":[[2501,11]]},"1217":{"position":[[2193,11]]},"1228":{"position":[[4274,11]]}},"keywords":{}}],["deduplicate_merged_link_root",{"_index":8296,"title":{},"content":{"1462":{"position":[[1058,30]]},"1467":{"position":[[1125,30],[6148,30]]}},"keywords":{}}],["deem",{"_index":6046,"title":{},"content":{"1219":{"position":[[913,6]]}},"keywords":{}}],["deep",{"_index":5679,"title":{},"content":{"1104":{"position":[[2678,4]]}},"keywords":{}}],["def",{"_index":832,"title":{},"content":{"36":{"position":[[0,3]]},"37":{"position":[[0,3]]},"40":{"position":[[0,3]]},"41":{"position":[[0,3]]},"45":{"position":[[0,3]]},"50":{"position":[[0,3]]},"52":{"position":[[0,3]]},"53":{"position":[[0,3]]},"55":{"position":[[0,3]]},"58":{"position":[[0,3]]},"62":{"position":[[0,3]]},"63":{"position":[[0,3],[241,3]]},"65":{"position":[[0,3]]},"66":{"position":[[0,3]]},"69":{"position":[[0,3]]},"76":{"position":[[0,3]]},"79":{"position":[[0,3]]},"81":{"position":[[0,3]]},"82":{"position":[[0,3]]},"83":{"position":[[0,3]]},"84":{"position":[[0,3]]},"85":{"position":[[0,3]]},"86":{"position":[[0,3]]},"87":{"position":[[0,3]]},"88":{"position":[[0,3]]},"89":{"position":[[0,3]]},"90":{"position":[[0,3]]},"91":{"position":[[0,3]]},"92":{"position":[[0,3],[1836,4]]},"93":{"position":[[0,3]]},"94":{"position":[[0,3]]},"95":{"position":[[0,3]]},"96":{"position":[[0,3]]},"97":{"position":[[0,3]]},"98":{"position":[[0,3]]},"99":{"position":[[0,3]]},"101":{"position":[[0,3]]},"102":{"position":[[0,3]]},"103":{"position":[[0,3]]},"104":{"position":[[0,3]]},"108":{"position":[[0,3]]},"113":{"position":[[0,3]]},"116":{"position":[[0,3]]},"118":{"position":[[0,3]]},"119":{"position":[[0,3]]},"123":{"position":[[0,3]]},"125":{"position":[[0,3]]},"126":{"position":[[0,3]]},"127":{"position":[[0,3]]},"128":{"position":[[0,3]]},"129":{"position":[[0,3]]},"130":{"position":[[0,3]]},"131":{"position":[[0,3]]},"132":{"position":[[0,3]]},"133":{"position":[[0,3]]},"134":{"position":[[0,3]]},"135":{"position":[[0,3]]},"136":{"position":[[0,3]]},"137":{"position":[[0,3]]},"138":{"position":[[0,3]]},"139":{"position":[[0,3]]},"140":{"position":[[0,3]]},"141":{"position":[[0,3]]},"142":{"position":[[0,3]]},"143":{"position":[[0,3]]},"144":{"position":[[0,3]]},"145":{"position":[[0,3]]},"146":{"position":[[0,3]]},"147":{"position":[[0,3]]},"148":{"position":[[0,3]]},"149":{"position":[[0,3]]},"150":{"position":[[0,3]]},"151":{"position":[[0,3]]},"153":{"position":[[0,3]]},"158":{"position":[[0,3]]},"161":{"position":[[0,3]]},"166":{"position":[[0,3],[241,3]]},"168":{"position":[[0,3],[119,3]]},"173":{"position":[[0,3]]},"174":{"position":[[0,3]]},"181":{"position":[[0,3]]},"182":{"position":[[0,3]]},"192":{"position":[[0,3]]},"197":{"position":[[0,3]]},"199":{"position":[[0,3]]},"200":{"position":[[0,3]]},"202":{"position":[[0,3]]},"204":{"position":[[0,3]]},"205":{"position":[[0,3]]},"213":{"position":[[0,3]]},"214":{"position":[[0,3]]},"215":{"position":[[0,3]]},"216":{"position":[[0,3]]},"217":{"position":[[0,3]]},"218":{"position":[[0,3]]},"219":{"position":[[0,3]]},"220":{"position":[[0,3]]},"221":{"position":[[0,3]]},"222":{"position":[[0,3]]},"223":{"position":[[0,3]]},"224":{"position":[[0,3],[1836,4]]},"225":{"position":[[0,3]]},"226":{"position":[[0,3]]},"227":{"position":[[0,3]]},"228":{"position":[[0,3]]},"229":{"position":[[0,3]]},"230":{"position":[[0,3]]},"231":{"position":[[0,3]]},"233":{"position":[[0,3],[412,3]]},"234":{"position":[[0,3],[192,3]]},"236":{"position":[[0,3]]},"237":{"position":[[0,3]]},"238":{"position":[[0,3]]},"239":{"position":[[0,3]]},"240":{"position":[[0,3],[354,3]]},"242":{"position":[[0,3],[541,3]]},"243":{"position":[[0,3],[578,3]]},"245":{"position":[[0,3],[160,3]]},"246":{"position":[[0,3],[159,3]]},"248":{"position":[[0,3]]},"249":{"position":[[0,3]]},"250":{"position":[[0,3]]},"251":{"position":[[0,3]]},"252":{"position":[[0,3]]},"253":{"position":[[0,3]]},"254":{"position":[[0,3]]},"255":{"position":[[0,3]]},"256":{"position":[[0,3]]},"257":{"position":[[0,3]]},"258":{"position":[[0,3]]},"259":{"position":[[0,3]]},"260":{"position":[[0,3]]},"261":{"position":[[0,3]]},"262":{"position":[[0,3]]},"263":{"position":[[0,3]]},"264":{"position":[[0,3]]},"265":{"position":[[0,3]]},"266":{"position":[[0,3]]},"267":{"position":[[0,3]]},"268":{"position":[[0,3]]},"269":{"position":[[0,3]]},"270":{"position":[[0,3]]},"271":{"position":[[0,3]]},"272":{"position":[[0,3]]},"273":{"position":[[0,3]]},"274":{"position":[[0,3]]},"276":{"position":[[0,3],[694,3]]},"277":{"position":[[0,3],[730,3]]},"278":{"position":[[126,3]]},"279":{"position":[[0,3],[264,3]]},"280":{"position":[[326,3]]},"281":{"position":[[0,3],[795,3]]},"282":{"position":[[0,3],[839,3]]},"283":{"position":[[247,3]]},"284":{"position":[[165,3]]},"285":{"position":[[0,3],[128,3]]},"286":{"position":[[0,3],[355,3]]},"288":{"position":[[0,3],[262,3]]},"289":{"position":[[0,3],[282,3]]},"294":{"position":[[0,3]]},"295":{"position":[[0,3]]},"296":{"position":[[0,3]]},"297":{"position":[[0,3]]},"298":{"position":[[0,3],[1205,3],[2464,3]]},"299":{"position":[[0,3]]},"301":{"position":[[0,3]]},"302":{"position":[[0,3]]},"304":{"position":[[0,3]]},"306":{"position":[[0,3],[252,3]]},"307":{"position":[[0,3]]},"308":{"position":[[0,3]]},"309":{"position":[[0,3]]},"310":{"position":[[0,3]]},"311":{"position":[[0,3]]},"312":{"position":[[0,3]]},"314":{"position":[[0,3],[433,3]]},"315":{"position":[[0,3],[237,3]]},"316":{"position":[[0,3],[257,3]]},"317":{"position":[[0,3],[260,3]]},"318":{"position":[[0,3],[399,3]]},"319":{"position":[[0,3],[172,3]]},"320":{"position":[[0,3]]},"322":{"position":[[0,3],[143,3]]},"324":{"position":[[0,3]]},"325":{"position":[[0,3]]},"326":{"position":[[0,3],[413,3]]},"327":{"position":[[0,3],[372,3]]},"328":{"position":[[0,3],[428,3]]},"329":{"position":[[0,3],[414,3]]},"330":{"position":[[0,3],[369,3]]},"331":{"position":[[0,3],[349,3]]},"332":{"position":[[0,3],[370,3]]},"333":{"position":[[0,3]]},"334":{"position":[[0,3],[716,3]]},"335":{"position":[[0,3],[644,3]]},"336":{"position":[[0,3]]},"337":{"position":[[0,3]]},"338":{"position":[[0,3]]},"340":{"position":[[0,3]]},"341":{"position":[[0,3]]},"342":{"position":[[0,3]]},"344":{"position":[[0,3],[426,3]]},"345":{"position":[[0,3],[920,3]]},"346":{"position":[[0,3],[569,3]]},"347":{"position":[[0,3],[465,3]]},"362":{"position":[[0,3]]},"363":{"position":[[0,3]]},"366":{"position":[[0,3]]},"367":{"position":[[0,3]]},"368":{"position":[[0,3],[692,3],[1567,3]]},"372":{"position":[[0,3]]},"373":{"position":[[0,3]]},"374":{"position":[[0,3]]},"375":{"position":[[0,3]]},"377":{"position":[[0,3]]},"379":{"position":[[0,3]]},"386":{"position":[[0,3]]},"389":{"position":[[0,3]]},"396":{"position":[[0,3]]},"397":{"position":[[0,3]]},"398":{"position":[[0,3]]},"399":{"position":[[0,3]]},"400":{"position":[[0,3]]},"403":{"position":[[0,3]]},"405":{"position":[[0,3]]},"409":{"position":[[0,3],[145,3]]},"410":{"position":[[0,3]]},"411":{"position":[[0,3]]},"412":{"position":[[0,3]]},"413":{"position":[[0,3],[93,3]]},"414":{"position":[[0,3]]},"415":{"position":[[0,3]]},"416":{"position":[[0,3],[723,3]]},"417":{"position":[[0,3],[953,3]]},"418":{"position":[[0,3]]},"419":{"position":[[0,3]]},"420":{"position":[[0,3]]},"421":{"position":[[0,3]]},"422":{"position":[[0,3],[79,3]]},"423":{"position":[[0,3]]},"424":{"position":[[0,3]]},"425":{"position":[[0,3]]},"427":{"position":[[0,3]]},"428":{"position":[[0,3]]},"429":{"position":[[0,3]]},"430":{"position":[[0,3]]},"431":{"position":[[0,3]]},"432":{"position":[[0,3]]},"433":{"position":[[0,3]]},"434":{"position":[[0,3]]},"435":{"position":[[0,3]]},"436":{"position":[[0,3]]},"437":{"position":[[0,3],[311,3]]},"438":{"position":[[0,3]]},"439":{"position":[[0,3]]},"440":{"position":[[0,3]]},"441":{"position":[[0,3],[218,3]]},"442":{"position":[[0,3]]},"443":{"position":[[0,3]]},"444":{"position":[[0,3]]},"445":{"position":[[0,3]]},"446":{"position":[[0,3]]},"447":{"position":[[0,3]]},"448":{"position":[[0,3]]},"449":{"position":[[0,3],[149,3]]},"450":{"position":[[0,3]]},"451":{"position":[[0,3]]},"453":{"position":[[0,3]]},"454":{"position":[[0,3]]},"457":{"position":[[0,3]]},"459":{"position":[[141,3]]},"460":{"position":[[130,3]]},"461":{"position":[[112,3]]},"462":{"position":[[249,3]]},"463":{"position":[[185,3]]},"465":{"position":[[0,3]]},"466":{"position":[[0,3]]},"467":{"position":[[0,3],[294,3]]},"468":{"position":[[0,3],[253,3]]},"469":{"position":[[0,3],[309,3]]},"470":{"position":[[0,3],[354,3]]},"471":{"position":[[0,3],[250,3]]},"472":{"position":[[0,3],[230,3]]},"473":{"position":[[0,3],[251,3]]},"474":{"position":[[0,3],[455,3]]},"475":{"position":[[0,3],[406,3]]},"476":{"position":[[0,3]]},"477":{"position":[[0,3],[194,3]]},"478":{"position":[[0,3],[257,3]]},"480":{"position":[[77,3]]},"481":{"position":[[0,3],[160,3]]},"483":{"position":[[80,3]]},"484":{"position":[[0,3],[132,3]]},"487":{"position":[[0,3]]},"491":{"position":[[0,3]]},"492":{"position":[[0,3],[241,3]]},"500":{"position":[[0,3]]},"501":{"position":[[0,3]]},"502":{"position":[[0,3]]},"503":{"position":[[0,3]]},"505":{"position":[[0,3]]},"508":{"position":[[0,3]]},"510":{"position":[[0,3],[294,3]]},"511":{"position":[[0,3],[314,3]]},"513":{"position":[[0,3],[90,3]]},"514":{"position":[[0,3],[86,3]]},"516":{"position":[[0,3]]},"520":{"position":[[0,3]]},"525":{"position":[[0,3]]},"528":{"position":[[0,3],[124,3]]},"532":{"position":[[0,3]]},"534":{"position":[[0,3]]},"535":{"position":[[0,3]]},"537":{"position":[[0,3]]},"542":{"position":[[0,3]]},"548":{"position":[[0,3],[241,3]]},"553":{"position":[[0,3]]},"554":{"position":[[0,3]]},"555":{"position":[[0,3]]},"556":{"position":[[0,3]]},"557":{"position":[[0,3]]},"558":{"position":[[0,3]]},"559":{"position":[[0,3]]},"560":{"position":[[0,3]]},"561":{"position":[[0,3]]},"563":{"position":[[0,3]]},"564":{"position":[[0,3]]},"565":{"position":[[0,3]]},"566":{"position":[[0,3]]},"567":{"position":[[0,3]]},"568":{"position":[[0,3]]},"569":{"position":[[0,3]]},"589":{"position":[[0,3]]},"590":{"position":[[0,3]]},"591":{"position":[[0,3]]},"592":{"position":[[0,3]]},"593":{"position":[[0,3]]},"594":{"position":[[0,3]]},"595":{"position":[[0,3]]},"596":{"position":[[0,3]]},"597":{"position":[[0,3]]},"598":{"position":[[0,3]]},"599":{"position":[[0,3]]},"600":{"position":[[0,3]]},"601":{"position":[[0,3]]},"602":{"position":[[0,3]]},"603":{"position":[[0,3]]},"604":{"position":[[0,3]]},"605":{"position":[[0,3]]},"606":{"position":[[0,3]]},"607":{"position":[[0,3]]},"608":{"position":[[0,3]]},"609":{"position":[[0,3]]},"610":{"position":[[0,3]]},"611":{"position":[[0,3]]},"612":{"position":[[0,3]]},"613":{"position":[[0,3]]},"614":{"position":[[0,3]]},"615":{"position":[[0,3]]},"616":{"position":[[0,3]]},"617":{"position":[[0,3]]},"618":{"position":[[0,3]]},"619":{"position":[[0,3]]},"620":{"position":[[0,3]]},"621":{"position":[[0,3]]},"627":{"position":[[0,3]]},"628":{"position":[[0,3]]},"629":{"position":[[0,3]]},"630":{"position":[[0,3]]},"631":{"position":[[0,3]]},"632":{"position":[[0,3]]},"633":{"position":[[0,3]]},"634":{"position":[[0,3]]},"635":{"position":[[0,3]]},"636":{"position":[[0,3]]},"637":{"position":[[0,3]]},"638":{"position":[[0,3]]},"639":{"position":[[0,3]]},"640":{"position":[[0,3]]},"641":{"position":[[0,3]]},"642":{"position":[[0,3]]},"643":{"position":[[0,3]]},"644":{"position":[[0,3]]},"645":{"position":[[0,3]]},"646":{"position":[[0,3]]},"647":{"position":[[0,3]]},"648":{"position":[[0,3]]},"649":{"position":[[0,3]]},"651":{"position":[[0,3]]},"652":{"position":[[0,3]]},"653":{"position":[[0,3]]},"654":{"position":[[0,3]]},"655":{"position":[[0,3]]},"656":{"position":[[0,3]]},"657":{"position":[[0,3]]},"658":{"position":[[0,3]]},"659":{"position":[[0,3]]},"660":{"position":[[0,3]]},"661":{"position":[[0,3]]},"662":{"position":[[0,3]]},"663":{"position":[[0,3]]},"664":{"position":[[0,3]]},"665":{"position":[[0,3]]},"666":{"position":[[0,3]]},"668":{"position":[[0,3]]},"669":{"position":[[0,3]]},"670":{"position":[[0,3]]},"671":{"position":[[0,3]]},"673":{"position":[[0,3]]},"711":{"position":[[1311,3]]},"712":{"position":[[214,3],[972,3],[1488,3],[3087,3]]},"741":{"position":[[0,3]]},"742":{"position":[[0,3]]},"745":{"position":[[0,3]]},"746":{"position":[[0,3]]},"747":{"position":[[0,3],[692,3],[1567,3]]},"751":{"position":[[0,3]]},"752":{"position":[[0,3]]},"753":{"position":[[0,3]]},"754":{"position":[[0,3]]},"756":{"position":[[0,3]]},"758":{"position":[[0,3]]},"765":{"position":[[0,3]]},"768":{"position":[[0,3]]},"775":{"position":[[0,3]]},"776":{"position":[[0,3]]},"777":{"position":[[0,3]]},"778":{"position":[[0,3]]},"779":{"position":[[0,3]]},"782":{"position":[[0,3]]},"784":{"position":[[0,3]]},"788":{"position":[[0,3],[145,3]]},"789":{"position":[[0,3]]},"790":{"position":[[0,3]]},"791":{"position":[[0,3]]},"792":{"position":[[0,3],[93,3]]},"793":{"position":[[0,3]]},"794":{"position":[[0,3]]},"795":{"position":[[0,3],[723,3]]},"796":{"position":[[0,3],[953,3]]},"797":{"position":[[0,3]]},"798":{"position":[[0,3]]},"799":{"position":[[0,3]]},"800":{"position":[[0,3]]},"801":{"position":[[0,3],[79,3]]},"802":{"position":[[0,3]]},"803":{"position":[[0,3]]},"804":{"position":[[0,3]]},"806":{"position":[[0,3]]},"807":{"position":[[0,3]]},"808":{"position":[[0,3]]},"809":{"position":[[0,3]]},"810":{"position":[[0,3]]},"811":{"position":[[0,3]]},"812":{"position":[[0,3]]},"813":{"position":[[0,3]]},"814":{"position":[[0,3]]},"815":{"position":[[0,3]]},"816":{"position":[[0,3],[311,3]]},"817":{"position":[[0,3]]},"818":{"position":[[0,3]]},"819":{"position":[[0,3]]},"820":{"position":[[0,3],[218,3]]},"821":{"position":[[0,3]]},"822":{"position":[[0,3]]},"823":{"position":[[0,3]]},"824":{"position":[[0,3]]},"825":{"position":[[0,3]]},"826":{"position":[[0,3]]},"827":{"position":[[0,3]]},"828":{"position":[[0,3],[149,3]]},"829":{"position":[[0,3]]},"830":{"position":[[0,3]]},"840":{"position":[[224,3],[926,3]]},"850":{"position":[[159,3],[798,3]]},"851":{"position":[[109,3],[1793,3]]},"852":{"position":[[80,3]]},"853":{"position":[[131,3]]},"854":{"position":[[159,3]]},"856":{"position":[[496,3]]},"859":{"position":[[52,3],[153,3]]},"860":{"position":[[187,3]]},"864":{"position":[[413,3],[997,3]]},"878":{"position":[[244,3],[695,3]]},"890":{"position":[[255,4],[378,3],[398,3],[1466,3],[3381,3]]},"898":{"position":[[1259,3],[1917,4]]},"905":{"position":[[726,3]]},"906":{"position":[[134,3],[465,3],[904,3]]},"930":{"position":[[37,3]]},"931":{"position":[[0,3]]},"950":{"position":[[903,3]]},"981":{"position":[[196,3]]},"991":{"position":[[882,3]]},"1001":{"position":[[56,3],[1176,3]]},"1004":{"position":[[948,3]]},"1009":{"position":[[453,3]]},"1026":{"position":[[1080,3]]},"1040":{"position":[[1938,4],[2107,3],[2386,3]]},"1044":{"position":[[3130,3]]},"1047":{"position":[[80,3],[265,3],[280,3]]},"1048":{"position":[[516,3],[910,3],[939,3]]},"1049":{"position":[[737,3],[1186,3]]},"1054":{"position":[[235,3],[1671,3]]},"1064":{"position":[[21,3],[1162,3],[1556,3]]},"1065":{"position":[[20,3]]},"1082":{"position":[[712,3]]},"1083":{"position":[[548,3]]},"1086":{"position":[[438,3]]},"1102":{"position":[[488,3]]},"1103":{"position":[[131,3]]},"1348":{"position":[[0,3]]},"1349":{"position":[[0,3]]},"1350":{"position":[[0,3]]},"1351":{"position":[[0,3]]},"1352":{"position":[[0,3]]},"1353":{"position":[[0,3]]},"1354":{"position":[[0,3]]},"1355":{"position":[[0,3]]},"1356":{"position":[[0,3]]},"1357":{"position":[[0,3]]},"1358":{"position":[[0,3]]},"1359":{"position":[[0,3]]},"1360":{"position":[[0,3]]},"1361":{"position":[[0,3]]},"1362":{"position":[[0,3]]},"1363":{"position":[[0,3]]},"1364":{"position":[[0,3]]},"1365":{"position":[[0,3]]},"1366":{"position":[[0,3]]},"1367":{"position":[[0,3]]},"1368":{"position":[[0,3]]},"1369":{"position":[[0,3]]},"1370":{"position":[[0,3]]},"1371":{"position":[[0,3]]},"1372":{"position":[[0,3]]},"1373":{"position":[[0,3]]},"1374":{"position":[[0,3]]},"1375":{"position":[[0,3]]},"1376":{"position":[[0,3]]},"1377":{"position":[[0,3]]},"1378":{"position":[[0,3]]},"1379":{"position":[[0,3]]},"1380":{"position":[[0,3]]},"1381":{"position":[[0,3]]},"1382":{"position":[[0,3]]},"1383":{"position":[[0,3]]},"1384":{"position":[[0,3]]},"1385":{"position":[[0,3]]},"1386":{"position":[[0,3]]},"1387":{"position":[[0,3]]},"1388":{"position":[[0,3]]},"1389":{"position":[[0,3]]},"1390":{"position":[[0,3]]},"1391":{"position":[[0,3]]},"1392":{"position":[[0,3]]},"1393":{"position":[[0,3]]},"1394":{"position":[[0,3]]},"1395":{"position":[[0,3]]},"1396":{"position":[[0,3]]},"1397":{"position":[[0,3]]},"1398":{"position":[[0,3]]},"1399":{"position":[[0,3]]},"1400":{"position":[[0,3]]},"1401":{"position":[[0,3]]},"1402":{"position":[[0,3]]},"1403":{"position":[[0,3]]},"1404":{"position":[[0,3]]},"1405":{"position":[[0,3]]},"1406":{"position":[[0,3]]},"1407":{"position":[[0,3]]},"1408":{"position":[[0,3]]},"1409":{"position":[[0,3]]},"1410":{"position":[[0,3]]},"1411":{"position":[[0,3]]},"1412":{"position":[[0,3]]},"1413":{"position":[[0,3]]},"1414":{"position":[[0,3]]},"1415":{"position":[[0,3]]},"1416":{"position":[[0,3]]},"1417":{"position":[[0,3]]},"1418":{"position":[[0,3]]},"1419":{"position":[[0,3]]},"1420":{"position":[[0,3]]},"1421":{"position":[[0,3]]},"1422":{"position":[[0,3]]},"1423":{"position":[[0,3]]},"1424":{"position":[[0,3]]},"1425":{"position":[[0,3]]},"1426":{"position":[[0,3]]},"1427":{"position":[[0,3]]},"1428":{"position":[[0,3]]},"1429":{"position":[[0,3]]},"1430":{"position":[[0,3]]},"1431":{"position":[[0,3]]},"1432":{"position":[[0,3]]},"1433":{"position":[[0,3]]},"1434":{"position":[[0,3]]},"1435":{"position":[[0,3]]},"1436":{"position":[[0,3]]},"1437":{"position":[[0,3]]},"1438":{"position":[[0,3]]},"1439":{"position":[[0,3]]},"1440":{"position":[[0,3]]},"1441":{"position":[[0,3]]},"1442":{"position":[[0,3]]},"1443":{"position":[[0,3]]},"1444":{"position":[[0,3]]},"1445":{"position":[[0,3]]},"1446":{"position":[[0,3]]},"1447":{"position":[[0,3]]},"1448":{"position":[[0,3]]},"1449":{"position":[[0,3]]},"1450":{"position":[[0,3]]},"1451":{"position":[[0,3]]},"1452":{"position":[[0,3]]},"1453":{"position":[[0,3]]},"1454":{"position":[[0,3]]},"1455":{"position":[[0,3]]},"1456":{"position":[[0,3]]},"1457":{"position":[[0,3]]},"1458":{"position":[[0,3]]},"1459":{"position":[[0,3]]},"1460":{"position":[[0,3]]},"1461":{"position":[[0,3]]},"1462":{"position":[[0,3]]},"1463":{"position":[[0,3]]},"1464":{"position":[[0,3]]},"1465":{"position":[[0,3]]},"1466":{"position":[[0,3]]},"1467":{"position":[[0,3]]},"1468":{"position":[[0,3]]},"1469":{"position":[[0,3]]},"1470":{"position":[[0,3]]},"1471":{"position":[[0,3]]},"1472":{"position":[[0,3]]},"1473":{"position":[[0,3]]},"1474":{"position":[[0,3]]},"1475":{"position":[[0,3]]},"1476":{"position":[[0,3]]},"1477":{"position":[[0,3]]},"1478":{"position":[[0,3]]},"1479":{"position":[[0,3]]},"1480":{"position":[[0,3]]},"1481":{"position":[[0,3]]},"1482":{"position":[[0,3]]},"1483":{"position":[[0,3]]},"1484":{"position":[[0,3]]},"1485":{"position":[[0,3]]},"1486":{"position":[[0,3]]},"1487":{"position":[[0,3]]}},"keywords":{}}],["def'.startswith(('a",{"_index":3011,"title":{},"content":{"618":{"position":[[415,22]]}},"keywords":{}}],["default",{"_index":255,"title":{},"content":{"9":{"position":[[1672,8]]},"16":{"position":[[54,7]]},"18":{"position":[[370,7],[2307,7]]},"22":{"position":[[1968,8]]},"24":{"position":[[649,7]]},"69":{"position":[[238,8]]},"99":{"position":[[1334,9],[1626,9]]},"125":{"position":[[42,7]]},"126":{"position":[[38,7]]},"127":{"position":[[18,7]]},"129":{"position":[[71,7]]},"130":{"position":[[123,7]]},"131":{"position":[[176,7]]},"132":{"position":[[75,7]]},"133":{"position":[[61,7]]},"134":{"position":[[65,7]]},"135":{"position":[[17,7]]},"136":{"position":[[19,7]]},"137":{"position":[[40,7]]},"138":{"position":[[72,7]]},"139":{"position":[[35,7]]},"140":{"position":[[42,7],[289,7]]},"141":{"position":[[31,7]]},"143":{"position":[[19,7]]},"144":{"position":[[66,7]]},"145":{"position":[[52,7]]},"146":{"position":[[82,7]]},"147":{"position":[[21,7]]},"148":{"position":[[70,7]]},"149":{"position":[[76,7]]},"150":{"position":[[34,7]]},"231":{"position":[[1334,9],[1626,9]]},"243":{"position":[[385,7],[539,7]]},"248":{"position":[[42,7]]},"249":{"position":[[38,7]]},"250":{"position":[[18,7]]},"252":{"position":[[71,7]]},"253":{"position":[[123,7]]},"254":{"position":[[176,7]]},"255":{"position":[[75,7]]},"256":{"position":[[61,7]]},"257":{"position":[[65,7]]},"258":{"position":[[17,7]]},"259":{"position":[[19,7]]},"260":{"position":[[40,7]]},"261":{"position":[[72,7]]},"262":{"position":[[35,7]]},"263":{"position":[[42,7],[289,7]]},"264":{"position":[[31,7]]},"266":{"position":[[19,7]]},"267":{"position":[[66,7]]},"268":{"position":[[52,7]]},"269":{"position":[[82,7]]},"270":{"position":[[21,7]]},"271":{"position":[[70,7]]},"272":{"position":[[76,7]]},"273":{"position":[[34,7]]},"288":{"position":[[441,8]]},"289":{"position":[[461,8]]},"298":{"position":[[1030,8]]},"318":{"position":[[283,8]]},"338":{"position":[[400,7]]},"346":{"position":[[289,8]]},"368":{"position":[[2979,7],[3396,7]]},"374":{"position":[[1414,7],[1478,7],[1613,7]]},"408":{"position":[[768,8]]},"420":{"position":[[39,7]]},"428":{"position":[[30,7]]},"429":{"position":[[40,7]]},"433":{"position":[[46,8]]},"437":{"position":[[630,7]]},"457":{"position":[[238,8]]},"510":{"position":[[502,8]]},"511":{"position":[[522,8]]},"554":{"position":[[18,7],[96,9],[255,7]]},"557":{"position":[[18,7],[108,9],[267,7]]},"559":{"position":[[25,7],[151,9],[328,7]]},"595":{"position":[[1233,8]]},"642":{"position":[[18,7]]},"645":{"position":[[27,7]]},"663":{"position":[[897,7],[1051,10]]},"666":{"position":[[449,7]]},"693":{"position":[[2940,8]]},"702":{"position":[[464,7]]},"705":{"position":[[191,9]]},"717":{"position":[[55,7]]},"722":{"position":[[945,7]]},"747":{"position":[[2979,7],[3396,7]]},"753":{"position":[[1414,7],[1478,7],[1613,7]]},"787":{"position":[[768,8]]},"799":{"position":[[39,7]]},"807":{"position":[[30,7]]},"808":{"position":[[40,7]]},"812":{"position":[[46,8]]},"816":{"position":[[630,7]]},"901":{"position":[[852,7],[1005,10]]},"944":{"position":[[1184,8]]},"993":{"position":[[176,7]]},"997":{"position":[[173,8]]},"1001":{"position":[[365,10]]},"1004":{"position":[[607,8]]},"1006":{"position":[[563,7]]},"1014":{"position":[[498,7]]},"1021":{"position":[[748,7]]},"1044":{"position":[[2422,7]]},"1064":{"position":[[463,10]]},"1070":{"position":[[192,7],[321,7]]},"1072":{"position":[[3,8],[214,7],[1068,7]]},"1079":{"position":[[545,7]]},"1088":{"position":[[70,8],[282,9]]},"1103":{"position":[[1971,8]]},"1104":{"position":[[954,10]]},"1136":{"position":[[388,7],[2155,9],[2881,8],[2956,8],[4023,7],[4137,9],[5081,9],[6162,8],[6465,9]]},"1138":{"position":[[824,7],[843,7],[869,8],[885,7],[911,7],[941,8],[1007,8],[1083,8],[1139,8],[1197,8],[1766,8],[2273,8],[4236,7],[6543,8],[6618,8],[7685,7],[7799,9],[8743,9],[9824,8],[10127,9]]},"1140":{"position":[[1255,8],[1762,8],[3725,7],[5469,8],[5544,8],[6611,7],[6725,9],[7669,9],[8750,8],[9053,9]]},"1142":{"position":[[913,8],[988,8],[2055,7],[2169,9],[3113,9],[4194,8],[4497,9]]},"1144":{"position":[[522,8],[825,9]]},"1146":{"position":[[853,8],[928,8],[1995,7],[2109,9],[3053,9],[4134,8],[4437,9]]},"1148":{"position":[[2511,9],[3893,8],[3968,8],[5035,7],[5149,9],[6093,9],[7725,8],[8028,9]]},"1150":{"position":[[757,8],[1060,9]]},"1152":{"position":[[455,8],[758,9]]},"1154":{"position":[[610,8],[913,9]]},"1155":{"position":[[430,9],[505,9],[590,9],[949,8],[1024,8],[2091,7],[2205,9],[3149,9],[4230,8],[4533,9]]},"1156":{"position":[[527,8],[602,8],[1669,7],[1783,9],[2727,9],[3808,8],[4111,9]]},"1157":{"position":[[145,9],[393,8],[696,9]]},"1158":{"position":[[139,9],[387,8],[690,9]]},"1159":{"position":[[139,9],[387,8],[690,9]]},"1161":{"position":[[161,9],[620,9],[1382,8],[1685,9]]},"1163":{"position":[[768,8],[1071,9]]},"1165":{"position":[[597,8],[900,9]]},"1167":{"position":[[2259,8],[2766,8],[4729,7],[6473,8],[6548,8],[7615,7],[7729,9],[8673,9],[9754,8],[10057,9]]},"1169":{"position":[[312,8],[387,8],[1454,7],[1568,9],[2862,8],[3165,9]]},"1171":{"position":[[1103,8],[1406,9]]},"1172":{"position":[[1253,9],[2488,8],[2791,9]]},"1173":{"position":[[553,9],[1175,8],[1478,9]]},"1174":{"position":[[603,8],[906,9]]},"1175":{"position":[[599,8],[902,9]]},"1176":{"position":[[768,8],[1071,9]]},"1177":{"position":[[689,8],[992,9]]},"1178":{"position":[[755,9],[1006,8],[1309,9]]},"1179":{"position":[[493,9],[803,8],[1106,9]]},"1180":{"position":[[823,9],[1074,8],[1377,9]]},"1181":{"position":[[832,9],[1594,8],[1897,9]]},"1182":{"position":[[637,8],[940,9]]},"1183":{"position":[[592,8],[895,9]]},"1185":{"position":[[437,8],[740,9]]},"1186":{"position":[[2117,8],[2192,8],[3259,7],[3373,9],[4317,9],[5398,8],[5701,9]]},"1187":{"position":[[2130,8],[2205,8],[3272,7],[3386,9],[4330,9],[5411,8],[5714,9]]},"1188":{"position":[[1308,8],[1815,8],[3778,7],[6856,8],[6931,8],[7998,7],[8112,9],[9056,9],[10137,8],[10440,9]]},"1190":{"position":[[1768,8],[2071,9]]},"1191":{"position":[[717,8],[792,8],[1859,7],[1973,9],[2917,9],[3998,8],[4301,9]]},"1192":{"position":[[892,8],[967,8],[2034,7],[2148,9],[3092,9],[4173,8],[4476,9]]},"1193":{"position":[[521,9],[607,9],[944,8],[1019,8],[2086,7],[2200,9],[3144,9],[4225,8],[4528,9]]},"1194":{"position":[[584,8],[659,8],[1726,7],[1840,9],[2784,9],[3865,8],[4168,9]]},"1195":{"position":[[562,8],[637,8],[1704,7],[1818,9],[2762,9],[3843,8],[4146,9]]},"1196":{"position":[[372,8],[447,8],[1514,7],[1628,9],[2572,9],[3653,8],[3956,9]]},"1197":{"position":[[1355,8],[1430,8],[2497,7],[2611,9],[3555,9],[4636,8],[4939,9]]},"1198":{"position":[[273,7],[1365,8],[1440,8],[2507,7],[2621,9],[3565,9],[4646,8],[4949,9]]},"1199":{"position":[[1393,8],[1468,8],[2535,7],[2649,9],[3593,9],[4674,8],[4977,9]]},"1200":{"position":[[1260,8],[1335,8],[2402,7],[2516,9],[3460,9],[4541,8],[4844,9]]},"1201":{"position":[[520,8],[595,8],[1662,7],[1776,9],[2720,9],[3801,8],[4104,9]]},"1202":{"position":[[545,8],[848,9],[1662,8],[1737,8],[2804,7],[2918,9],[3862,9],[4943,8],[5246,9],[6059,8],[6134,8],[7201,7],[7315,9],[8259,9],[9340,8],[9643,9]]},"1203":{"position":[[754,8],[829,8],[1896,7],[2010,9],[2954,9],[4035,8],[4338,9]]},"1204":{"position":[[598,8],[673,8],[1740,7],[1854,9],[2798,9],[3879,8],[4182,9],[4781,8],[5084,9],[5711,8],[6014,9],[6613,8],[6916,9],[7599,8],[7902,9],[8553,8],[8856,9],[9297,9],[9500,8],[9803,9],[10430,8],[10733,9]]},"1205":{"position":[[1927,8],[2002,8],[3069,7],[3183,9],[4127,9],[5208,8],[5511,9]]},"1206":{"position":[[398,8],[473,8],[1540,7],[1654,9],[2598,9],[3907,8],[4210,9]]},"1207":{"position":[[555,8],[630,8],[1697,7],[1811,9],[2755,9],[3836,8],[4139,9]]},"1209":{"position":[[1388,9],[1903,8],[1978,8],[3045,7],[3159,9],[4103,9],[5184,8],[5487,9]]},"1211":{"position":[[129,9],[508,8],[811,9]]},"1213":{"position":[[279,8],[582,9]]},"1215":{"position":[[363,8],[666,9]]},"1217":{"position":[[1000,8],[1507,8],[3470,7],[5214,8],[5289,8],[6356,7],[6470,9],[7414,9],[8495,8],[8798,9]]},"1219":{"position":[[1200,8],[1275,8],[2342,7],[2456,9],[3750,8],[4053,9]]},"1221":{"position":[[482,8],[785,9]]},"1222":{"position":[[324,8],[399,8],[1466,7],[1580,9],[2524,9],[3621,8],[3924,9]]},"1223":{"position":[[334,8],[409,8],[1476,7],[1590,9],[2534,9],[3631,8],[3934,9]]},"1224":{"position":[[514,8],[589,8],[1656,7],[1770,9],[3064,8],[3367,9]]},"1226":{"position":[[662,9],[911,9],[1875,9],[2117,9],[3141,8],[3170,7],[3288,7],[5044,9],[5172,8],[5682,8],[5757,8],[6824,7],[6938,9],[7882,9],[8963,8],[9266,9]]},"1228":{"position":[[754,7],[2191,7],[2719,7],[3081,8],[3588,8],[5551,7],[7295,8],[7370,8],[8437,7],[8551,9],[9495,9],[10576,8],[10879,9]]},"1235":{"position":[[2648,9],[3163,8],[3238,8],[4305,7],[4419,9],[5363,9],[6444,8],[6747,9]]},"1237":{"position":[[832,9],[1081,9],[2045,9],[2287,9],[3311,8],[3340,7],[3458,7],[5214,9],[5342,8],[5852,8],[5927,8],[6994,7],[7108,9],[8052,9],[9133,8],[9436,9]]},"1239":{"position":[[39,8]]},"1345":{"position":[[383,7],[1248,8]]},"1348":{"position":[[2771,7],[3971,8]]},"1349":{"position":[[916,7]]},"1350":{"position":[[3887,7]]},"1351":{"position":[[1107,7]]},"1352":{"position":[[3886,7]]},"1353":{"position":[[1490,7]]},"1354":{"position":[[1328,7],[3020,7]]},"1355":{"position":[[2467,7]]},"1356":{"position":[[834,7]]},"1357":{"position":[[507,7]]},"1358":{"position":[[1228,7]]},"1359":{"position":[[1065,7]]},"1360":{"position":[[1696,7]]},"1361":{"position":[[1055,7]]},"1362":{"position":[[926,9],[5419,7],[8699,8],[10411,7]]},"1363":{"position":[[3165,7],[4074,9],[4101,9],[4126,9],[4158,9],[4189,9],[4224,9],[4271,9],[5689,7]]},"1364":{"position":[[943,9],[5448,7],[9252,8],[9813,8],[11525,7]]},"1365":{"position":[[989,7]]},"1366":{"position":[[1195,7]]},"1367":{"position":[[1957,9],[6846,7],[8787,8],[11328,7],[14207,7],[14326,7]]},"1368":{"position":[[1545,7]]},"1369":{"position":[[597,7]]},"1370":{"position":[[844,7],[2028,8],[2178,8]]},"1371":{"position":[[473,7]]},"1372":{"position":[[2111,7]]},"1373":{"position":[[800,9],[2983,7],[5796,8],[5887,8],[5992,7]]},"1374":{"position":[[879,7]]},"1375":{"position":[[509,7]]},"1376":{"position":[[465,7]]},"1377":{"position":[[704,7]]},"1378":{"position":[[451,7]]},"1379":{"position":[[474,7]]},"1380":{"position":[[945,7]]},"1381":{"position":[[851,7]]},"1382":{"position":[[848,9],[3331,7],[5411,8],[7137,7]]},"1383":{"position":[[1569,7],[8945,7]]},"1384":{"position":[[789,9],[4493,7],[10358,8],[13491,7],[18334,7]]},"1385":{"position":[[554,9],[2170,7],[3325,8]]},"1386":{"position":[[808,7]]},"1387":{"position":[[896,9],[4439,7],[5658,8]]},"1388":{"position":[[981,9],[3631,7],[8006,7],[10247,7]]},"1389":{"position":[[4492,7],[5772,7]]},"1390":{"position":[[744,7]]},"1391":{"position":[[697,7]]},"1392":{"position":[[847,7],[2371,7]]},"1393":{"position":[[1419,7],[6963,7],[7511,7],[8797,8],[8899,8],[9718,7]]},"1394":{"position":[[867,7]]},"1395":{"position":[[876,7],[2494,7],[2852,7],[3205,7],[3492,7]]},"1396":{"position":[[673,7]]},"1397":{"position":[[854,7],[2678,7],[2934,7],[3373,7]]},"1398":{"position":[[1526,7],[3852,7],[4457,7],[5126,7],[5656,7]]},"1399":{"position":[[709,7]]},"1400":{"position":[[578,7]]},"1401":{"position":[[653,7]]},"1402":{"position":[[809,7]]},"1403":{"position":[[1399,7],[4243,7],[4395,7],[4427,7],[6253,8],[6326,7],[8928,7],[9088,7]]},"1404":{"position":[[642,7]]},"1405":{"position":[[1333,7],[3316,7]]},"1406":{"position":[[549,7]]},"1407":{"position":[[1374,7],[3737,7]]},"1408":{"position":[[1070,7],[2160,8],[2251,8],[2356,7]]},"1409":{"position":[[604,7]]},"1410":{"position":[[1766,7],[4325,8],[4448,8],[4724,7],[5470,7]]},"1411":{"position":[[587,7]]},"1412":{"position":[[1787,7]]},"1413":{"position":[[1971,7]]},"1414":{"position":[[838,7]]},"1415":{"position":[[634,9],[2820,7]]},"1416":{"position":[[1472,7],[3046,7]]},"1417":{"position":[[1061,7]]},"1418":{"position":[[762,7]]},"1419":{"position":[[890,7]]},"1420":{"position":[[1154,7]]},"1421":{"position":[[1129,7]]},"1422":{"position":[[1032,7],[2215,7],[2358,7]]},"1423":{"position":[[1021,7],[2028,7]]},"1424":{"position":[[1146,7]]},"1425":{"position":[[762,7]]},"1426":{"position":[[1105,7]]},"1427":{"position":[[2002,7],[4188,10],[4316,7]]},"1428":{"position":[[744,7]]},"1429":{"position":[[2666,7],[3625,7],[5967,7]]},"1430":{"position":[[1520,7]]},"1431":{"position":[[864,7]]},"1432":{"position":[[1385,7]]},"1433":{"position":[[906,7]]},"1434":{"position":[[580,7]]},"1435":{"position":[[544,7]]},"1436":{"position":[[560,7]]},"1437":{"position":[[630,7]]},"1438":{"position":[[764,7]]},"1439":{"position":[[2288,7],[5078,7]]},"1440":{"position":[[2854,7],[5867,7]]},"1441":{"position":[[586,7]]},"1442":{"position":[[659,7]]},"1443":{"position":[[881,7]]},"1444":{"position":[[797,7]]},"1445":{"position":[[486,7]]},"1446":{"position":[[820,7],[1915,8],[2632,7]]},"1447":{"position":[[702,7]]},"1448":{"position":[[1137,7]]},"1449":{"position":[[1071,7]]},"1450":{"position":[[950,7]]},"1451":{"position":[[950,7]]},"1452":{"position":[[496,7]]},"1453":{"position":[[1082,7]]},"1454":{"position":[[3448,7],[7262,8]]},"1455":{"position":[[1335,7]]},"1456":{"position":[[680,7]]},"1457":{"position":[[739,7],[1747,8],[1838,8]]},"1458":{"position":[[1274,7]]},"1459":{"position":[[753,7]]},"1460":{"position":[[865,7]]},"1461":{"position":[[1080,7]]},"1462":{"position":[[1179,9],[4461,7],[8249,7],[8855,7]]},"1463":{"position":[[587,7]]},"1464":{"position":[[495,7]]},"1465":{"position":[[1593,7],[4209,7]]},"1466":{"position":[[831,7]]},"1467":{"position":[[1246,9],[5150,7],[8518,7],[9311,7],[10489,7],[10626,7]]},"1468":{"position":[[595,7]]},"1469":{"position":[[968,7],[1824,7],[3190,7]]},"1470":{"position":[[3497,7]]},"1471":{"position":[[1831,7],[3122,7],[3415,7],[5165,7]]},"1472":{"position":[[1790,7],[2841,7],[3999,7],[5650,7],[6051,7]]},"1473":{"position":[[2105,7],[3156,7],[3449,7],[5615,7]]},"1474":{"position":[[1496,7]]},"1475":{"position":[[1967,7]]},"1476":{"position":[[572,7]]},"1477":{"position":[[724,7],[1532,8]]},"1478":{"position":[[1215,7]]},"1479":{"position":[[664,7]]},"1480":{"position":[[1077,7]]},"1481":{"position":[[1610,7]]},"1482":{"position":[[684,7]]},"1483":{"position":[[518,7]]},"1484":{"position":[[590,7]]},"1485":{"position":[[850,7],[1693,8]]},"1486":{"position":[[1094,7]]},"1487":{"position":[[789,7],[1908,10],[2243,7]]}},"keywords":{}}],["default"",{"_index":5514,"title":{},"content":{"1072":{"position":[[939,14],[1469,14]]}},"keywords":{}}],["default)d",{"_index":5772,"title":{},"content":{"1120":{"position":[[534,9]]}},"keywords":{}}],["default=255",{"_index":3155,"title":{},"content":{"642":{"position":[[180,13]]}},"keywords":{}}],["default_cxx_platform",{"_index":7810,"title":{},"content":{"1413":{"position":[[597,21]]},"1426":{"position":[[531,21]]},"1429":{"position":[[857,21]]},"1440":{"position":[[931,21]]},"1470":{"position":[[1010,21]]},"1475":{"position":[[633,21]]}},"keywords":{}}],["default_executor",{"_index":2009,"title":{},"content":{"374":{"position":[[159,16],[1370,17]]},"753":{"position":[[159,16],[1370,17]]},"1072":{"position":[[1143,16]]}},"keywords":{}}],["default_host_platform",{"_index":6344,"title":{},"content":{"1348":{"position":[[973,22]]},"1349":{"position":[[628,22]]},"1350":{"position":[[1409,22]]},"1351":{"position":[[519,22]]},"1352":{"position":[[1408,22]]},"1353":{"position":[[670,22]]},"1354":{"position":[[605,22]]},"1355":{"position":[[933,22]]},"1356":{"position":[[415,22]]},"1358":{"position":[[577,22]]},"1359":{"position":[[534,22]]},"1360":{"position":[[693,22]]},"1361":{"position":[[415,22]]},"1362":{"position":[[853,22]]},"1363":{"position":[[1625,22]]},"1364":{"position":[[870,22]]},"1365":{"position":[[467,22]]},"1366":{"position":[[527,22]]},"1367":{"position":[[1884,22]]},"1368":{"position":[[698,22]]},"1369":{"position":[[422,22]]},"1373":{"position":[[727,22]]},"1374":{"position":[[454,22]]},"1377":{"position":[[441,22]]},"1380":{"position":[[385,22]]},"1381":{"position":[[443,22]]},"1382":{"position":[[775,22]]},"1383":{"position":[[621,22]]},"1384":{"position":[[716,22]]},"1385":{"position":[[481,22]]},"1386":{"position":[[392,22]]},"1387":{"position":[[823,22]]},"1388":{"position":[[908,22]]},"1389":{"position":[[2094,22]]},"1390":{"position":[[378,22]]},"1391":{"position":[[379,22]]},"1392":{"position":[[376,22]]},"1399":{"position":[[381,22]]},"1400":{"position":[[403,22]]},"1401":{"position":[[395,22]]},"1402":{"position":[[494,22]]},"1403":{"position":[[592,22]]},"1404":{"position":[[405,22]]},"1405":{"position":[[613,22]]},"1407":{"position":[[640,22]]},"1408":{"position":[[634,22]]},"1410":{"position":[[767,22]]},"1411":{"position":[[384,22]]},"1412":{"position":[[562,22]]},"1413":{"position":[[635,22]]},"1414":{"position":[[430,22]]},"1415":{"position":[[561,22]]},"1416":{"position":[[497,22]]},"1417":{"position":[[467,22]]},"1418":{"position":[[439,22]]},"1419":{"position":[[441,22]]},"1420":{"position":[[470,22]]},"1421":{"position":[[435,22]]},"1422":{"position":[[382,22]]},"1423":{"position":[[379,22]]},"1424":{"position":[[598,22]]},"1425":{"position":[[430,22]]},"1426":{"position":[[569,22]]},"1427":{"position":[[784,22]]},"1428":{"position":[[416,22]]},"1429":{"position":[[895,22]]},"1430":{"position":[[601,22]]},"1431":{"position":[[559,22]]},"1432":{"position":[[720,22]]},"1433":{"position":[[607,22]]},"1438":{"position":[[378,22]]},"1439":{"position":[[858,22]]},"1440":{"position":[[969,22]]},"1441":{"position":[[386,22]]},"1443":{"position":[[380,22]]},"1444":{"position":[[410,22]]},"1446":{"position":[[381,22]]},"1447":{"position":[[432,22]]},"1448":{"position":[[497,22]]},"1449":{"position":[[491,22]]},"1450":{"position":[[497,22]]},"1451":{"position":[[497,22]]},"1453":{"position":[[473,22]]},"1454":{"position":[[502,22]]},"1455":{"position":[[421,22]]},"1456":{"position":[[408,22]]},"1457":{"position":[[389,22]]},"1458":{"position":[[555,22]]},"1459":{"position":[[393,22]]},"1460":{"position":[[502,22]]},"1461":{"position":[[598,22]]},"1462":{"position":[[1106,22]]},"1465":{"position":[[579,22]]},"1467":{"position":[[1173,22]]},"1468":{"position":[[388,22]]},"1469":{"position":[[403,22]]},"1470":{"position":[[1048,22]]},"1471":{"position":[[717,22]]},"1472":{"position":[[651,22]]},"1473":{"position":[[748,22]]},"1474":{"position":[[598,22]]},"1475":{"position":[[671,22]]},"1476":{"position":[[386,22]]},"1477":{"position":[[440,22]]},"1478":{"position":[[468,22]]},"1479":{"position":[[394,22]]},"1480":{"position":[[447,22]]},"1481":{"position":[[571,22]]},"1482":{"position":[[380,22]]},"1484":{"position":[[385,22]]},"1486":{"position":[[438,22]]},"1487":{"position":[[408,22]]}},"keywords":{}}],["default_info",{"_index":3929,"title":{},"content":{"853":{"position":[[155,12]]}},"keywords":{}}],["default_out",{"_index":1981,"title":{},"content":{"368":{"position":[[1868,12]]},"747":{"position":[[1868,12]]},"1360":{"position":[[732,13]]},"1383":{"position":[[660,13]]},"1403":{"position":[[631,13],[4229,13],[4590,12],[4651,12],[5670,12],[8288,12]]}},"keywords":{}}],["default_output",{"_index":1391,"title":{},"content":{"145":{"position":[[325,15]]},"237":{"position":[[523,15]]},"268":{"position":[[325,15]]},"368":{"position":[[17,15],[57,16],[1162,14],[1941,15],[2907,16]]},"747":{"position":[[17,15],[57,16],[1162,14],[1941,15],[2907,16]]},"1103":{"position":[[1984,14]]},"1104":{"position":[[406,15],[716,15]]},"1245":{"position":[[219,15]]},"1286":{"position":[[123,15]]},"1398":{"position":[[2605,14]]}},"keywords":{}}],["default_platform",{"_index":6702,"title":{},"content":{"1362":{"position":[[892,17]]},"1363":{"position":[[1664,17]]},"1364":{"position":[[909,17]]},"1365":{"position":[[506,17]]},"1367":{"position":[[1923,17]]},"1373":{"position":[[766,17]]},"1382":{"position":[[814,17]]},"1384":{"position":[[755,17]]},"1385":{"position":[[520,17]]},"1387":{"position":[[862,17]]},"1388":{"position":[[947,17]]},"1415":{"position":[[600,17]]},"1462":{"position":[[1145,17]]},"1467":{"position":[[1212,17]]},"1471":{"position":[[756,17]]},"1472":{"position":[[690,17]]},"1473":{"position":[[787,17]]}},"keywords":{}}],["default_target_platform",{"_index":3543,"title":{},"content":{"693":{"position":[[3026,23]]},"937":{"position":[[470,23]]},"1012":{"position":[[364,24]]},"1014":{"position":[[433,23]]},"1348":{"position":[[31,24]]},"1349":{"position":[[42,24]]},"1350":{"position":[[34,24]]},"1351":{"position":[[40,24],[1068,24]]},"1352":{"position":[[34,24]]},"1353":{"position":[[47,24]]},"1354":{"position":[[48,24]]},"1355":{"position":[[35,24],[2428,24]]},"1356":{"position":[[36,24]]},"1357":{"position":[[36,24]]},"1358":{"position":[[40,24]]},"1359":{"position":[[36,24]]},"1360":{"position":[[31,24],[1657,24]]},"1361":{"position":[[39,24]]},"1362":{"position":[[32,24],[5380,24]]},"1363":{"position":[[32,24],[3126,24]]},"1364":{"position":[[33,24],[5409,24]]},"1365":{"position":[[33,24]]},"1366":{"position":[[34,24],[1156,24]]},"1367":{"position":[[30,24],[6807,24]]},"1368":{"position":[[35,24]]},"1369":{"position":[[39,24]]},"1370":{"position":[[46,24],[805,24]]},"1371":{"position":[[37,24]]},"1372":{"position":[[34,24]]},"1373":{"position":[[31,24]]},"1374":{"position":[[33,24],[840,24]]},"1375":{"position":[[34,24]]},"1376":{"position":[[39,24]]},"1377":{"position":[[36,24]]},"1378":{"position":[[38,24]]},"1379":{"position":[[36,24]]},"1380":{"position":[[35,24]]},"1381":{"position":[[34,24]]},"1382":{"position":[[30,24],[3292,24]]},"1383":{"position":[[31,24],[1530,24]]},"1384":{"position":[[31,24],[4454,24]]},"1385":{"position":[[37,24]]},"1386":{"position":[[42,24]]},"1387":{"position":[[40,24]]},"1388":{"position":[[28,24],[3592,24]]},"1389":{"position":[[33,24]]},"1390":{"position":[[28,24]]},"1391":{"position":[[29,24]]},"1392":{"position":[[26,24]]},"1393":{"position":[[30,24],[1380,24]]},"1394":{"position":[[39,24]]},"1395":{"position":[[34,24],[837,24]]},"1396":{"position":[[39,24]]},"1397":{"position":[[34,24]]},"1398":{"position":[[31,24],[1487,24]]},"1399":{"position":[[31,24]]},"1400":{"position":[[40,24]]},"1401":{"position":[[29,24]]},"1402":{"position":[[28,24]]},"1403":{"position":[[27,24],[1360,24]]},"1404":{"position":[[29,24]]},"1405":{"position":[[29,24]]},"1406":{"position":[[39,24]]},"1407":{"position":[[39,24]]},"1408":{"position":[[30,24]]},"1409":{"position":[[29,24]]},"1410":{"position":[[27,24],[1727,24]]},"1411":{"position":[[34,24]]},"1412":{"position":[[34,24],[1748,24]]},"1413":{"position":[[31,24]]},"1414":{"position":[[30,24]]},"1415":{"position":[[34,24]]},"1416":{"position":[[34,24]]},"1417":{"position":[[32,24]]},"1418":{"position":[[35,24]]},"1419":{"position":[[31,24]]},"1420":{"position":[[35,24]]},"1421":{"position":[[44,24]]},"1422":{"position":[[32,24],[993,24]]},"1423":{"position":[[29,24]]},"1424":{"position":[[31,24]]},"1425":{"position":[[45,24]]},"1426":{"position":[[31,24],[1066,24]]},"1427":{"position":[[32,24],[1963,24]]},"1428":{"position":[[31,24]]},"1429":{"position":[[29,24],[2627,24]]},"1430":{"position":[[36,24]]},"1431":{"position":[[29,24]]},"1432":{"position":[[37,24]]},"1433":{"position":[[30,24]]},"1434":{"position":[[32,24]]},"1435":{"position":[[37,24]]},"1436":{"position":[[33,24]]},"1437":{"position":[[30,24]]},"1438":{"position":[[28,24],[725,24]]},"1439":{"position":[[34,24],[2249,24]]},"1440":{"position":[[31,24],[2815,24]]},"1441":{"position":[[36,24]]},"1442":{"position":[[37,24],[620,24]]},"1443":{"position":[[30,24]]},"1444":{"position":[[31,24]]},"1445":{"position":[[34,24]]},"1446":{"position":[[31,24]]},"1447":{"position":[[33,24]]},"1448":{"position":[[32,24]]},"1449":{"position":[[33,24]]},"1450":{"position":[[32,24]]},"1451":{"position":[[32,24]]},"1452":{"position":[[28,24]]},"1453":{"position":[[44,24]]},"1454":{"position":[[40,24]]},"1455":{"position":[[46,24]]},"1456":{"position":[[43,24]]},"1457":{"position":[[39,24]]},"1458":{"position":[[32,24]]},"1459":{"position":[[43,24]]},"1460":{"position":[[42,24]]},"1461":{"position":[[43,24],[1041,24]]},"1462":{"position":[[33,24]]},"1463":{"position":[[43,24]]},"1464":{"position":[[44,24]]},"1465":{"position":[[34,24]]},"1466":{"position":[[47,24]]},"1467":{"position":[[31,24],[5111,24]]},"1468":{"position":[[38,24]]},"1469":{"position":[[31,24],[929,24]]},"1470":{"position":[[36,24]]},"1471":{"position":[[31,24],[1792,24]]},"1472":{"position":[[32,24],[1751,24]]},"1473":{"position":[[29,24],[2066,24]]},"1474":{"position":[[33,24]]},"1475":{"position":[[30,24]]},"1476":{"position":[[36,24]]},"1477":{"position":[[29,24],[685,24]]},"1478":{"position":[[27,24],[1176,24]]},"1479":{"position":[[44,24]]},"1480":{"position":[[33,24]]},"1481":{"position":[[35,24]]},"1482":{"position":[[30,24]]},"1483":{"position":[[35,24]]},"1484":{"position":[[35,24]]},"1485":{"position":[[36,24]]},"1486":{"position":[[31,24]]},"1487":{"position":[[28,24],[750,24]]}},"keywords":{}}],["default_target_platformattribut",{"_index":4715,"title":{},"content":{"945":{"position":[[44,33]]}},"keywords":{}}],["defaultif",{"_index":596,"title":{},"content":{"18":{"position":[[2052,9]]}},"keywords":{}}],["defaultinfo",{"_index":1390,"title":{"368":{"position":[[0,12]]},"747":{"position":[[0,12]]}},"content":{"145":{"position":[[306,11]]},"237":{"position":[[455,11]]},"268":{"position":[[306,11]]},"368":{"position":[[4,12],[397,11],[1028,12],[2748,11]]},"712":{"position":[[2660,13]]},"722":{"position":[[879,11]]},"747":{"position":[[4,12],[397,11],[1028,12],[2748,11]]},"855":{"position":[[181,11]]},"1025":{"position":[[322,11],[475,11]]},"1044":{"position":[[3419,15]]},"1047":{"position":[[387,15]]},"1048":{"position":[[719,15]]},"1049":{"position":[[947,15]]},"1054":{"position":[[306,14]]},"1102":{"position":[[563,15]]},"1103":{"position":[[2006,11]]},"1104":{"position":[[174,11],[373,11],[1075,11],[1142,12]]},"1105":{"position":[[1027,12]]},"1285":{"position":[[96,11]]},"1286":{"position":[[55,11]]}},"keywords":{}}],["defaultinfo(default_output",{"_index":1957,"title":{},"content":{"368":{"position":[[1081,27]]},"712":{"position":[[397,28],[2035,28]]},"747":{"position":[[1081,27]]},"991":{"position":[[919,27]]},"1048":{"position":[[1218,26]]},"1049":{"position":[[1576,27]]},"1103":{"position":[[353,26]]}},"keywords":{}}],["defaultinfo(output",{"_index":2348,"title":{},"content":{"437":{"position":[[473,20]]},"816":{"position":[[473,20]]}},"keywords":{}}],["defaultinfocmd_arg",{"_index":6183,"title":{},"content":{"1245":{"position":[[259,19]]}},"keywords":{}}],["defer",{"_index":1100,"title":{"951":{"position":[[24,9]]},"1074":{"position":[[0,8]]},"1076":{"position":[[9,8]]},"1078":{"position":[[0,9]]},"1204":{"position":[[11,8]]}},"content":{"90":{"position":[[166,5]]},"222":{"position":[[166,5]]},"590":{"position":[[430,8]]},"705":{"position":[[971,9]]},"724":{"position":[[1793,8]]},"951":{"position":[[57,9],[257,8]]},"1075":{"position":[[8,8],[375,8]]},"1076":{"position":[[10,8],[91,8]]},"1079":{"position":[[4,8]]},"1100":{"position":[[200,8]]},"1190":{"position":[[1033,8],[1084,8]]},"1204":{"position":[[29,8],[78,8],[4490,8],[4545,8],[5392,8],[5461,8],[6322,8],[6377,8],[7224,8],[7282,8],[8210,8],[8306,8],[9164,8],[9224,8],[10111,8],[10180,8]]},"1395":{"position":[[2526,9]]}},"keywords":{}}],["defer_write_act",{"_index":5529,"title":{},"content":{"1078":{"position":[[164,19]]}},"keywords":{}}],["deferredkey",{"_index":4737,"title":{},"content":{"951":{"position":[[340,11]]}},"keywords":{}}],["defin",{"_index":554,"title":{"684":{"position":[[13,6]]},"930":{"position":[[27,7]]},"961":{"position":[[0,8]]}},"content":{"18":{"position":[[572,6],[862,6]]},"20":{"position":[[237,6]]},"22":{"position":[[1143,7]]},"71":{"position":[[75,6]]},"81":{"position":[[126,7],[214,6]]},"94":{"position":[[2096,7]]},"213":{"position":[[126,7],[214,6]]},"226":{"position":[[2096,7]]},"304":{"position":[[77,7]]},"327":{"position":[[324,7]]},"363":{"position":[[222,8],[283,8]]},"368":{"position":[[3372,6]]},"372":{"position":[[312,8]]},"389":{"position":[[298,7]]},"400":{"position":[[243,6],[296,8]]},"421":{"position":[[125,8]]},"423":{"position":[[117,8]]},"432":{"position":[[65,7]]},"437":{"position":[[275,6]]},"438":{"position":[[86,8]]},"468":{"position":[[205,7]]},"494":{"position":[[75,6]]},"575":{"position":[[250,6]]},"580":{"position":[[394,6]]},"622":{"position":[[62,7]]},"638":{"position":[[192,7],[324,8]]},"662":{"position":[[186,7]]},"663":{"position":[[184,7],[340,8]]},"676":{"position":[[30,6]]},"680":{"position":[[22,7],[726,7],[981,7]]},"684":{"position":[[35,6]]},"687":{"position":[[27,6]]},"693":{"position":[[2347,6],[2404,7],[5805,7],[5866,7],[6689,8],[7940,6],[8379,7],[8744,7]]},"700":{"position":[[29,6]]},"708":{"position":[[708,6],[816,6]]},"712":{"position":[[37,6],[1131,7],[2339,7],[2616,7],[2924,7]]},"742":{"position":[[222,8],[283,8]]},"747":{"position":[[3372,6]]},"751":{"position":[[312,8]]},"768":{"position":[[298,7]]},"779":{"position":[[243,6],[296,8]]},"800":{"position":[[125,8]]},"802":{"position":[[117,8]]},"811":{"position":[[65,7]]},"816":{"position":[[275,6]]},"817":{"position":[[86,8]]},"840":{"position":[[102,6],[190,6],[674,7]]},"845":{"position":[[190,7]]},"848":{"position":[[691,7]]},"879":{"position":[[142,7],[312,7]]},"890":{"position":[[509,8],[562,8],[593,8],[624,8],[664,7],[1196,7],[1317,7],[2461,7],[3108,7],[3399,7],[3575,8],[5078,7],[5611,7],[5687,7],[6038,7],[6825,6]]},"898":{"position":[[476,7],[2827,7]]},"901":{"position":[[147,7],[302,8]]},"902":{"position":[[170,7],[313,8]]},"919":{"position":[[70,7],[738,6]]},"926":{"position":[[149,7]]},"933":{"position":[[71,8]]},"938":{"position":[[172,7]]},"951":{"position":[[870,7]]},"961":{"position":[[817,7]]},"964":{"position":[[496,7]]},"969":{"position":[[26,6]]},"980":{"position":[[363,7],[466,7],[603,7]]},"981":{"position":[[39,6],[465,6]]},"983":{"position":[[274,7]]},"990":{"position":[[110,7]]},"1001":{"position":[[415,7]]},"1004":{"position":[[21,7],[373,7]]},"1017":{"position":[[396,8]]},"1019":{"position":[[107,6]]},"1022":{"position":[[112,7]]},"1024":{"position":[[1178,7]]},"1042":{"position":[[21,7]]},"1044":{"position":[[829,7]]},"1045":{"position":[[199,8]]},"1046":{"position":[[108,7],[168,6],[375,7]]},"1047":{"position":[[2,6]]},"1050":{"position":[[666,7]]},"1054":{"position":[[0,6]]},"1064":{"position":[[513,7],[1342,7],[1907,7]]},"1069":{"position":[[136,7]]},"1082":{"position":[[133,7],[220,6]]},"1083":{"position":[[101,7]]},"1086":{"position":[[179,8]]},"1103":{"position":[[1810,7]]},"1104":{"position":[[1686,6],[2290,8]]},"1108":{"position":[[51,6]]},"1132":{"position":[[63,8]]},"1134":{"position":[[292,6]]},"1140":{"position":[[160,7]]},"1154":{"position":[[140,7]]},"1155":{"position":[[28,7]]},"1188":{"position":[[213,7]]},"1235":{"position":[[115,7]]},"1245":{"position":[[187,7]]},"1351":{"position":[[2146,7],[2528,7]]},"1354":{"position":[[1183,6]]},"1355":{"position":[[2185,6],[3965,7],[7758,7]]},"1359":{"position":[[2320,7]]},"1362":{"position":[[8441,7]]},"1364":{"position":[[9343,8],[9555,7]]},"1367":{"position":[[8529,7],[13671,7]]},"1382":{"position":[[5502,8]]},"1383":{"position":[[7876,7]]},"1384":{"position":[[10449,8],[20400,7],[21496,7]]},"1385":{"position":[[3416,8]]},"1387":{"position":[[5749,8]]},"1390":{"position":[[1620,7]]},"1391":{"position":[[1573,7]]},"1392":{"position":[[629,6],[1723,7]]},"1393":{"position":[[4342,7],[5748,7],[7462,6]]},"1396":{"position":[[507,7],[577,7]]},"1398":{"position":[[1133,7],[1206,6],[4408,6],[5898,7]]},"1403":{"position":[[4498,7],[5390,8],[6976,7]]},"1412":{"position":[[1460,6],[3891,7],[4091,8]]},"1427":{"position":[[1696,7],[3110,7],[7367,7]]},"1429":{"position":[[2525,6]]},"1439":{"position":[[1979,6],[3784,7],[8193,7]]},"1440":{"position":[[2715,6]]},"1444":{"position":[[2130,8]]},"1446":{"position":[[593,6]]},"1454":{"position":[[7353,8]]},"1462":{"position":[[7265,7],[8260,7]]},"1465":{"position":[[3471,7],[3880,7],[4564,8]]},"1467":{"position":[[4982,7],[8234,7],[9322,7],[9740,7],[11093,8]]},"1470":{"position":[[3294,6]]},"1471":{"position":[[4549,6]]},"1472":{"position":[[3500,6],[5133,6]]},"1473":{"position":[[4870,6]]},"1485":{"position":[[1784,8]]},"1487":{"position":[[1709,7]]}},"keywords":{}}],["definit",{"_index":617,"title":{},"content":{"20":{"position":[[461,12]]},"22":{"position":[[2126,10]]},"97":{"position":[[18,11]]},"229":{"position":[[18,11]]},"421":{"position":[[380,12]]},"428":{"position":[[80,10]]},"438":{"position":[[260,11]]},"586":{"position":[[22,11]]},"800":{"position":[[380,12]]},"807":{"position":[[80,10]]},"817":{"position":[[260,11]]},"873":{"position":[[248,11]]},"1017":{"position":[[4,10]]},"1046":{"position":[[7,10]]},"1082":{"position":[[817,10]]},"1083":{"position":[[653,10]]},"1161":{"position":[[253,11]]},"1346":{"position":[[126,10]]},"1382":{"position":[[4842,11]]},"1386":{"position":[[6347,12]]},"1388":{"position":[[5536,11]]},"1393":{"position":[[2989,11],[3065,11],[3809,11],[3885,11]]},"1442":{"position":[[1832,11]]}},"keywords":{}}],["degrad",{"_index":6159,"title":{},"content":{"1232":{"position":[[3899,12]]}},"keywords":{}}],["degre",{"_index":660,"title":{},"content":{"22":{"position":[[883,6]]},"702":{"position":[[480,7]]},"900":{"position":[[1727,6]]}},"keywords":{}}],["del",{"_index":4458,"title":{},"content":{"910":{"position":[[425,3]]}},"keywords":{}}],["delay",{"_index":5819,"title":{},"content":{"1127":{"position":[[636,5]]}},"keywords":{}}],["delet",{"_index":4459,"title":{},"content":{"910":{"position":[[429,6],[462,6]]},"1050":{"position":[[901,8],[1067,7],[3454,7],[4282,6],[4293,8]]},"1079":{"position":[[60,6]]},"1098":{"position":[[753,6]]},"1142":{"position":[[0,6],[222,6],[510,7]]},"1163":{"position":[[183,7]]},"1351":{"position":[[5304,8]]},"1427":{"position":[[4815,6]]},"1439":{"position":[[7314,6]]}},"keywords":{}}],["deliber",{"_index":4171,"title":{},"content":{"888":{"position":[[940,10]]}},"keywords":{}}],["delight",{"_index":170,"title":{},"content":{"9":{"position":[[95,10]]},"24":{"position":[[12,10]]}},"keywords":{}}],["delimit",{"_index":1262,"title":{},"content":{"98":{"position":[[1427,9]]},"230":{"position":[[1427,9]]},"405":{"position":[[513,10]]},"575":{"position":[[502,7]]},"616":{"position":[[233,9],[304,7]]},"784":{"position":[[513,10]]},"1172":{"position":[[97,9]]},"1180":{"position":[[63,9]]},"1360":{"position":[[3397,9],[4851,9]]},"1383":{"position":[[6051,9],[6959,9]]},"1403":{"position":[[2812,9],[4839,9]]}},"keywords":{}}],["delimiter=""",{"_index":2150,"title":{},"content":{"405":{"position":[[1676,23]]},"784":{"position":[[1676,23]]}},"keywords":{}}],["deliv",{"_index":6916,"title":{},"content":{"1363":{"position":[[7593,10]]}},"keywords":{}}],["deliver",{"_index":3381,"title":{},"content":{"675":{"position":[[1193,11]]},"696":{"position":[[36,12]]}},"keywords":{}}],["demand",{"_index":3914,"title":{},"content":{"851":{"position":[[101,7]]}},"keywords":{}}],["demo",{"_index":5760,"title":{"1117":{"position":[[0,5]]},"1119":{"position":[[0,5]]}},"content":{"1399":{"position":[[2918,7]]}},"keywords":{}}],["demoapp",{"_index":6912,"title":{},"content":{"1363":{"position":[[7442,10]]}},"keywords":{}}],["demoappbinari",{"_index":6913,"title":{},"content":{"1363":{"position":[[7462,17]]}},"keywords":{}}],["demoibapp",{"_index":6918,"title":{},"content":{"1363":{"position":[[7636,12]]}},"keywords":{}}],["demoibappbinari",{"_index":6919,"title":{},"content":{"1363":{"position":[[7658,19]]}},"keywords":{}}],["demoibappresourc",{"_index":6920,"title":{},"content":{"1363":{"position":[[7685,24]]}},"keywords":{}}],["demonstr",{"_index":541,"title":{},"content":{"18":{"position":[[13,12]]},"1351":{"position":[[2950,12]]}},"keywords":{}}],["demowatchapp",{"_index":6908,"title":{},"content":{"1363":{"position":[[7247,15]]}},"keywords":{}}],["demowatchapp#watch",{"_index":6914,"title":{},"content":{"1363":{"position":[[7487,24]]}},"keywords":{}}],["demowatchappbinari",{"_index":6909,"title":{},"content":{"1363":{"position":[[7272,22]]}},"keywords":{}}],["demowatchappextens",{"_index":6905,"title":{},"content":{"1363":{"position":[[7085,24],[7329,26]]}},"keywords":{}}],["demowatchappextensionbinari",{"_index":6906,"title":{},"content":{"1363":{"position":[[7119,31]]}},"keywords":{}}],["demowatchappresourc",{"_index":6910,"title":{},"content":{"1363":{"position":[[7302,26]]}},"keywords":{}}],["denot",{"_index":6797,"title":{},"content":{"1362":{"position":[[8205,6]]},"1364":{"position":[[9054,6]]},"1367":{"position":[[8293,6]]}},"keywords":{}}],["dep",{"_index":273,"title":{"699":{"position":[[45,4]]},"935":{"position":[[34,3]]},"985":{"position":[[7,4]]},"986":{"position":[[7,5]]},"988":{"position":[[8,5]]},"1023":{"position":[[10,5]]},"1024":{"position":[[10,5]]},"1025":{"position":[[22,5]]},"1028":{"position":[[0,3]]},"1030":{"position":[[6,3]]},"1031":{"position":[[14,3]]},"1032":{"position":[[14,3]]},"1033":{"position":[[8,3]]},"1036":{"position":[[0,3]]},"1037":{"position":[[0,3]]},"1038":{"position":[[0,3]]},"1203":{"position":[[11,3]]}},"content":{"9":{"position":[[2095,6]]},"23":{"position":[[1083,3]]},"74":{"position":[[127,4]]},"121":{"position":[[195,3]]},"136":{"position":[[97,5]]},"210":{"position":[[77,4]]},"233":{"position":[[213,3]]},"239":{"position":[[451,4]]},"259":{"position":[[97,5]]},"283":{"position":[[228,4]]},"298":{"position":[[765,4],[928,4]]},"328":{"position":[[351,4]]},"389":{"position":[[1231,4]]},"462":{"position":[[230,4]]},"469":{"position":[[232,4]]},"481":{"position":[[127,4]]},"497":{"position":[[127,4]]},"530":{"position":[[195,3]]},"622":{"position":[[1160,4],[1467,4],[1641,4],[2035,4]]},"690":{"position":[[3026,4]]},"693":{"position":[[1137,4],[4325,3],[9484,5],[9823,5]]},"695":{"position":[[112,4]]},"699":{"position":[[46,4]]},"768":{"position":[[1231,4]]},"867":{"position":[[2052,3]]},"904":{"position":[[540,5]]},"905":{"position":[[632,4],[655,6]]},"906":{"position":[[581,4]]},"919":{"position":[[1435,4],[2037,4]]},"921":{"position":[[213,4],[303,4],[740,5],[863,4]]},"929":{"position":[[308,4]]},"935":{"position":[[0,3]]},"938":{"position":[[764,3],[781,4]]},"947":{"position":[[442,3],[1127,4]]},"970":{"position":[[217,4]]},"987":{"position":[[873,3]]},"988":{"position":[[97,4],[106,4],[248,4],[413,4]]},"989":{"position":[[172,4],[269,3],[304,5]]},"990":{"position":[[95,5],[196,6],[738,5],[1384,5]]},"991":{"position":[[476,4],[1114,5],[1174,5],[2051,4],[2144,4],[2198,4],[2491,4],[2742,5],[2884,4],[2909,6]]},"995":{"position":[[191,3],[357,4]]},"1006":{"position":[[142,3],[638,4]]},"1023":{"position":[[12,4],[32,6],[195,4],[228,4],[297,5]]},"1024":{"position":[[826,3]]},"1026":{"position":[[401,3],[629,4],[714,4],[1457,5]]},"1029":{"position":[[0,3],[277,3]]},"1030":{"position":[[7,3],[73,3],[157,3],[234,3],[322,3]]},"1031":{"position":[[13,3],[131,3],[289,3]]},"1032":{"position":[[26,3]]},"1033":{"position":[[39,3],[186,3]]},"1035":{"position":[[0,3],[91,3],[171,3],[521,3]]},"1036":{"position":[[16,3],[111,3]]},"1037":{"position":[[0,3],[148,3],[326,3],[436,3],[533,3],[606,3],[654,3]]},"1038":{"position":[[8,3],[107,3]]},"1040":{"position":[[2442,4],[2557,6],[2641,5]]},"1044":{"position":[[2199,4]]},"1064":{"position":[[2095,5],[2120,5]]},"1133":{"position":[[8,6],[216,4]]},"1138":{"position":[[3206,3],[3224,3],[3302,3],[3404,3],[3462,3],[3517,3],[3549,3]]},"1140":{"position":[[2695,3],[2713,3],[2791,3],[2893,3],[2951,3],[3006,3],[3038,3]]},"1148":{"position":[[606,4],[999,4]]},"1167":{"position":[[3699,3],[3717,3],[3795,3],[3897,3],[3955,3],[4010,3],[4042,3]]},"1188":{"position":[[2748,3],[2766,3],[2844,3],[2946,3],[3004,3],[3059,3],[3091,3]]},"1190":{"position":[[880,4],[981,3]]},"1201":{"position":[[37,4]]},"1202":{"position":[[193,4],[5571,5],[5706,4]]},"1203":{"position":[[69,3],[178,3]]},"1217":{"position":[[2440,3],[2458,3],[2536,3],[2638,3],[2696,3],[2751,3],[2783,3]]},"1228":{"position":[[4521,3],[4539,3],[4617,3],[4719,3],[4777,3],[4832,3],[4864,3]]},"1235":{"position":[[791,4]]},"1258":{"position":[[1142,6],[1244,4]]},"1259":{"position":[[1614,4],[1712,4],[1808,4],[1913,4],[2014,4]]},"1262":{"position":[[305,5],[875,4]]},"1277":{"position":[[62,4],[105,4]]},"1278":{"position":[[62,4]]},"1279":{"position":[[62,4],[105,4]]},"1280":{"position":[[62,4],[105,4]]},"1281":{"position":[[62,4],[105,4]]},"1289":{"position":[[1142,6],[1244,4]]},"1290":{"position":[[1614,4],[1712,4],[1808,4],[1913,4],[2014,4]]},"1293":{"position":[[305,5],[875,4]]},"1308":{"position":[[62,4],[105,4]]},"1309":{"position":[[62,4]]},"1310":{"position":[[62,4],[105,4]]},"1311":{"position":[[62,4],[105,4]]},"1312":{"position":[[62,4],[105,4]]},"1317":{"position":[[1142,6],[1244,4]]},"1318":{"position":[[1614,4],[1712,4],[1808,4],[1913,4],[2014,4]]},"1321":{"position":[[305,5],[875,4]]},"1336":{"position":[[62,4],[105,4]]},"1337":{"position":[[62,4]]},"1338":{"position":[[62,4],[105,4]]},"1339":{"position":[[62,4],[105,4]]},"1340":{"position":[[62,4],[105,4]]},"1348":{"position":[[1012,5],[4753,4]]},"1349":{"position":[[667,5]]},"1350":{"position":[[1448,5]]},"1351":{"position":[[4158,5],[4278,4],[4470,4],[4808,4],[5786,4]]},"1352":{"position":[[1447,5]]},"1353":{"position":[[709,5],[3218,4],[3425,4]]},"1354":{"position":[[3357,4],[3498,4]]},"1355":{"position":[[972,5],[3631,5],[4227,4],[5372,4],[5416,4],[5447,4],[5485,4],[5572,5],[7966,4]]},"1356":{"position":[[454,5],[753,5],[1944,5],[2024,5]]},"1358":{"position":[[616,5],[3261,4]]},"1359":{"position":[[573,5]]},"1360":{"position":[[6134,4]]},"1362":{"position":[[956,5],[13798,4]]},"1363":{"position":[[1698,5],[4288,5],[7295,4],[7480,4],[7678,4]]},"1364":{"position":[[973,5],[14500,4]]},"1367":{"position":[[1987,5],[14499,4]]},"1373":{"position":[[830,5],[8758,4],[8859,4]]},"1381":{"position":[[482,5],[2692,6]]},"1382":{"position":[[878,5],[4496,4],[4624,5],[4795,4],[4926,4],[5334,5],[11822,4]]},"1384":{"position":[[819,5]]},"1385":{"position":[[584,5],[7525,4]]},"1386":{"position":[[431,5],[1970,4],[2846,4],[3596,4],[3834,4],[4650,4]]},"1387":{"position":[[926,5],[10857,4]]},"1388":{"position":[[1011,5],[5190,4],[5318,5],[5489,4],[5620,4],[6028,5]]},"1390":{"position":[[417,5],[2101,6],[2178,6]]},"1391":{"position":[[418,5],[1900,6]]},"1392":{"position":[[415,5]]},"1395":{"position":[[448,5],[1907,5],[3737,4]]},"1398":{"position":[[676,5],[2742,5],[6923,4],[7091,4]]},"1402":{"position":[[533,5],[2244,4]]},"1405":{"position":[[652,5],[4018,6],[4097,6]]},"1407":{"position":[[679,5],[2454,5],[4744,4]]},"1408":{"position":[[673,5],[2962,6]]},"1410":{"position":[[806,5],[2907,5],[3663,4],[5827,6],[5913,6],[6047,6]]},"1412":{"position":[[601,5],[2567,5]]},"1413":{"position":[[674,5]]},"1414":{"position":[[469,5]]},"1415":{"position":[[664,5],[6010,4]]},"1416":{"position":[[536,5],[1365,4],[3347,5],[3410,4]]},"1417":{"position":[[506,5]]},"1418":{"position":[[478,5]]},"1419":{"position":[[480,5]]},"1420":{"position":[[509,5],[2484,5],[2547,4]]},"1421":{"position":[[474,5]]},"1425":{"position":[[469,5]]},"1426":{"position":[[608,5],[2254,4],[2303,5]]},"1427":{"position":[[823,5],[2782,5],[3372,4],[7202,4],[7605,4],[7753,4],[7967,5],[8074,4]]},"1428":{"position":[[455,5]]},"1429":{"position":[[934,5],[3643,5]]},"1430":{"position":[[640,5]]},"1431":{"position":[[598,5]]},"1433":{"position":[[646,5]]},"1434":{"position":[[384,5]]},"1436":{"position":[[385,5]]},"1437":{"position":[[434,5]]},"1438":{"position":[[417,5]]},"1439":{"position":[[897,5],[3452,5],[4046,4],[5814,5],[5897,4],[8030,4],[8429,4],[8577,4],[8791,5],[8896,4]]},"1440":{"position":[[1008,5],[3634,5]]},"1442":{"position":[[387,5],[1486,4],[1614,5],[1785,4],[1916,4],[2324,5]]},"1443":{"position":[[419,5],[1850,4]]},"1444":{"position":[[449,5]]},"1446":{"position":[[420,5]]},"1448":{"position":[[536,5],[2430,5],[2493,4],[2927,6],[3020,6]]},"1449":{"position":[[530,5],[2364,5],[2427,4],[2829,6]]},"1450":{"position":[[536,5]]},"1451":{"position":[[536,5]]},"1452":{"position":[[387,5]]},"1453":{"position":[[512,5]]},"1454":{"position":[[541,5]]},"1455":{"position":[[460,5]]},"1456":{"position":[[1681,4]]},"1457":{"position":[[428,5],[2032,6]]},"1458":{"position":[[594,5],[2716,4]]},"1459":{"position":[[432,5],[2474,4]]},"1460":{"position":[[541,5]]},"1461":{"position":[[637,5],[2034,5],[2350,4],[4089,4]]},"1462":{"position":[[1209,5],[9021,4]]},"1463":{"position":[[467,5]]},"1464":{"position":[[369,5]]},"1465":{"position":[[618,5],[1498,3],[2810,4],[4406,4]]},"1467":{"position":[[1276,5],[6327,5],[6949,4],[10980,4]]},"1470":{"position":[[1087,5]]},"1471":{"position":[[790,5],[3142,5],[5811,6],[5892,6]]},"1472":{"position":[[724,5],[2861,5],[6704,6]]},"1473":{"position":[[821,5],[3176,5],[5980,6],[6061,6]]},"1474":{"position":[[637,5]]},"1475":{"position":[[710,5]]},"1477":{"position":[[479,5]]},"1478":{"position":[[507,5]]},"1479":{"position":[[433,5]]},"1480":{"position":[[486,5]]},"1485":{"position":[[5077,4]]}},"keywords":{}}],["dep'",{"_index":2079,"title":{},"content":{"389":{"position":[[1307,5]]},"768":{"position":[[1307,5]]},"1044":{"position":[[2321,5]]}},"keywords":{}}],["dep_cfg",{"_index":5096,"title":{},"content":{"1026":{"position":[[1463,8],[1552,9]]}},"keywords":{}}],["dep_fil",{"_index":1026,"title":{},"content":{"83":{"position":[[87,9]]},"94":{"position":[[754,10]]},"215":{"position":[[87,9]]},"226":{"position":[[754,10]]},"1031":{"position":[[559,8],[803,11],[1000,9]]},"1040":{"position":[[2159,8],[2822,8]]}},"keywords":{}}],["dep_file.as_output",{"_index":5149,"title":{},"content":{"1040":{"position":[[2281,21]]}},"keywords":{}}],["dep_file=dep_fil",{"_index":5155,"title":{},"content":{"1040":{"position":[[2422,19]]}},"keywords":{}}],["depend",{"_index":122,"title":{"75":{"position":[[0,10]]},"369":{"position":[[0,11]]},"504":{"position":[[0,10]]},"681":{"position":[[0,13]]},"682":{"position":[[9,12]]},"684":{"position":[[0,12]]},"695":{"position":[[8,10]]},"748":{"position":[[0,11]]},"1039":{"position":[[8,12]]},"1133":{"position":[[18,12]]}},"content":{"6":{"position":[[181,10]]},"9":{"position":[[1689,12],[1865,12],[2049,13],[2373,12]]},"10":{"position":[[415,10],[631,10]]},"13":{"position":[[55,13],[394,13]]},"22":{"position":[[1205,6],[1663,7],[1705,7]]},"23":{"position":[[1413,12],[1537,12],[1629,12],[1707,10],[2302,10],[2361,10],[2464,12]]},"79":{"position":[[51,10],[74,10],[252,10]]},"92":{"position":[[548,12],[1782,7],[2017,13]]},"94":{"position":[[3752,12],[3807,10],[3928,11]]},"99":{"position":[[1164,12]]},"130":{"position":[[177,13]]},"131":{"position":[[290,10],[355,10],[537,11]]},"134":{"position":[[179,10],[207,10],[314,10]]},"136":{"position":[[194,10]]},"148":{"position":[[184,10],[212,10],[243,11],[291,12]]},"210":{"position":[[45,11]]},"211":{"position":[[46,11]]},"224":{"position":[[548,12],[1782,7],[2017,13]]},"226":{"position":[[3752,12],[3807,10],[3928,11]]},"231":{"position":[[1164,12]]},"233":{"position":[[45,10],[93,11],[135,10],[276,10],[503,10]]},"234":{"position":[[135,12]]},"239":{"position":[[500,13]]},"253":{"position":[[177,13]]},"254":{"position":[[290,10],[355,10],[537,11]]},"257":{"position":[[179,10],[207,10],[314,10]]},"259":{"position":[[194,10]]},"271":{"position":[[184,10],[212,10],[243,11],[291,12]]},"276":{"position":[[397,7]]},"277":{"position":[[345,7]]},"281":{"position":[[477,7]]},"282":{"position":[[427,7]]},"298":{"position":[[1478,12],[2034,12],[2200,10]]},"324":{"position":[[572,10]]},"328":{"position":[[400,13]]},"335":{"position":[[616,13]]},"362":{"position":[[2841,12]]},"368":{"position":[[3028,8],[3449,8]]},"369":{"position":[[0,11]]},"377":{"position":[[1590,9]]},"396":{"position":[[221,10]]},"406":{"position":[[57,13],[139,12],[218,10],[787,12],[848,12]]},"407":{"position":[[72,13],[207,7]]},"427":{"position":[[268,6],[463,10]]},"465":{"position":[[334,10]]},"469":{"position":[[281,13]]},"475":{"position":[[378,13]]},"508":{"position":[[51,10],[74,10],[252,10]]},"570":{"position":[[240,6]]},"622":{"position":[[1286,6]]},"647":{"position":[[211,8]]},"680":{"position":[[1086,11]]},"681":{"position":[[106,11],[156,12],[436,11],[543,7],[622,11],[791,12],[889,12],[907,12],[985,12]]},"682":{"position":[[26,12],[249,12]]},"683":{"position":[[36,10],[98,10],[163,11],[296,11]]},"684":{"position":[[22,12]]},"688":{"position":[[186,12],[1086,10]]},"690":{"position":[[3107,10],[3183,10],[3324,10],[3405,10]]},"693":{"position":[[707,10],[1192,13],[1287,6],[1463,12],[1621,12],[2966,10],[4210,11],[4281,10],[4366,10],[6585,6],[7225,13],[7342,10],[7583,10],[9968,7],[10307,11]]},"695":{"position":[[39,13],[75,12],[183,13],[264,12],[435,12],[575,7],[603,6]]},"696":{"position":[[265,12]]},"699":{"position":[[112,12]]},"704":{"position":[[44,7],[104,13]]},"705":{"position":[[391,12],[684,10],[755,13]]},"706":{"position":[[2441,9]]},"708":{"position":[[895,6],[1080,10]]},"715":{"position":[[402,14],[1306,10]]},"717":{"position":[[672,6]]},"718":{"position":[[451,10]]},"720":{"position":[[348,13],[566,10]]},"722":{"position":[[249,12],[443,10],[661,10],[703,10]]},"741":{"position":[[2841,12]]},"747":{"position":[[3028,8],[3449,8]]},"748":{"position":[[0,11]]},"756":{"position":[[1590,9]]},"775":{"position":[[221,10]]},"785":{"position":[[57,13],[139,12],[218,10],[787,12],[848,12]]},"786":{"position":[[72,13],[207,7]]},"806":{"position":[[268,6],[463,10]]},"832":{"position":[[90,10]]},"834":{"position":[[84,9]]},"835":{"position":[[37,13]]},"851":{"position":[[496,12],[1523,10]]},"856":{"position":[[226,7]]},"865":{"position":[[296,9]]},"867":{"position":[[222,9]]},"872":{"position":[[150,7]]},"894":{"position":[[412,7]]},"896":{"position":[[1031,6]]},"919":{"position":[[114,6],[145,6],[540,13],[1176,6],[2341,11]]},"921":{"position":[[462,13],[1004,6]]},"929":{"position":[[27,10]]},"943":{"position":[[2201,10]]},"947":{"position":[[300,7],[946,8]]},"954":{"position":[[809,12]]},"955":{"position":[[147,9],[586,13]]},"987":{"position":[[157,7],[282,10],[447,13],[638,13]]},"991":{"position":[[1562,10]]},"995":{"position":[[919,10],[1029,10]]},"1005":{"position":[[377,7]]},"1006":{"position":[[162,12],[369,10]]},"1009":{"position":[[147,9],[228,11],[384,12],[433,10]]},"1012":{"position":[[139,6],[448,12]]},"1015":{"position":[[117,12]]},"1019":{"position":[[325,10],[474,12]]},"1023":{"position":[[53,12]]},"1024":{"position":[[756,9],[1144,10]]},"1029":{"position":[[27,12],[141,13],[265,11]]},"1040":{"position":[[850,13],[1884,7],[2093,13]]},"1044":{"position":[[2240,13],[2446,11]]},"1052":{"position":[[561,9]]},"1054":{"position":[[1334,10]]},"1064":{"position":[[2061,6]]},"1098":{"position":[[413,10]]},"1103":{"position":[[1857,9]]},"1104":{"position":[[124,6],[856,7],[1400,10],[1897,12],[2125,6],[2683,10]]},"1105":{"position":[[276,6],[375,12],[977,10],[2157,11]]},"1112":{"position":[[2406,10]]},"1114":{"position":[[813,11],[866,10]]},"1133":{"position":[[240,12],[470,12],[582,13],[678,13],[718,12],[771,7],[841,13],[950,6]]},"1136":{"position":[[123,12]]},"1138":{"position":[[981,12],[1053,12],[4479,10],[4518,12],[4841,10],[4917,12]]},"1140":{"position":[[3968,10],[4007,12],[4330,10],[4406,12]]},"1167":{"position":[[4972,10],[5011,12],[5334,10],[5410,12]]},"1186":{"position":[[250,13]]},"1187":{"position":[[263,13]]},"1188":{"position":[[4021,10],[4060,12],[4383,10],[4459,12]]},"1202":{"position":[[236,12],[5615,12]]},"1217":{"position":[[3713,10],[3752,12],[4075,10],[4151,12]]},"1226":{"position":[[1190,12],[2053,12],[4305,12],[4353,12]]},"1228":{"position":[[5794,10],[5833,12],[6156,10],[6232,12]]},"1233":{"position":[[9,13],[126,13]]},"1235":{"position":[[419,12],[504,13]]},"1237":{"position":[[1360,12],[2223,12],[4475,12],[4523,12]]},"1241":{"position":[[74,13]]},"1259":{"position":[[71,10]]},"1260":{"position":[[13,10],[160,12],[285,10],[382,6]]},"1262":{"position":[[783,6]]},"1271":{"position":[[384,12]]},"1277":{"position":[[137,12]]},"1278":{"position":[[102,12],[123,10],[209,12],[234,13]]},"1279":{"position":[[133,12],[158,14]]},"1280":{"position":[[137,12]]},"1281":{"position":[[133,13]]},"1283":{"position":[[577,7],[616,6]]},"1284":{"position":[[589,6]]},"1290":{"position":[[71,10]]},"1291":{"position":[[13,10],[160,12],[285,10],[382,6]]},"1293":{"position":[[783,6]]},"1302":{"position":[[384,12]]},"1308":{"position":[[137,12]]},"1309":{"position":[[102,12],[123,10],[209,12],[234,13]]},"1310":{"position":[[133,12],[158,14]]},"1311":{"position":[[137,12]]},"1312":{"position":[[133,13]]},"1314":{"position":[[577,7],[616,6]]},"1315":{"position":[[589,6]]},"1318":{"position":[[71,10]]},"1319":{"position":[[13,10],[160,12],[285,10],[382,6]]},"1321":{"position":[[783,6]]},"1330":{"position":[[384,12]]},"1336":{"position":[[137,12]]},"1337":{"position":[[102,12],[123,10],[209,12],[234,13]]},"1338":{"position":[[133,12],[158,14]]},"1339":{"position":[[137,12]]},"1340":{"position":[[133,13]]},"1342":{"position":[[577,7],[616,6]]},"1343":{"position":[[589,6]]},"1348":{"position":[[3319,6],[3413,6],[4415,13]]},"1349":{"position":[[1464,6],[1558,6]]},"1350":{"position":[[4435,6],[4529,6]]},"1351":{"position":[[1659,6],[1754,6],[3813,6],[4760,7]]},"1352":{"position":[[4434,6],[4528,6]]},"1353":{"position":[[2038,6],[2132,6],[2962,7]]},"1354":{"position":[[1876,6],[1970,6]]},"1355":{"position":[[3019,6],[3114,6],[3795,6],[4044,11],[4160,6],[4441,6],[4514,7],[5054,12],[5716,13],[5869,7],[6293,12],[6783,12],[6867,12],[7003,12]]},"1356":{"position":[[1382,6],[1476,6],[1628,12],[1759,9]]},"1357":{"position":[[1055,6],[1149,6]]},"1358":{"position":[[1005,11],[1068,7],[1776,6],[1870,6]]},"1359":{"position":[[1613,6],[1707,6]]},"1360":{"position":[[2248,6],[2343,6]]},"1361":{"position":[[773,10],[908,7],[1603,6],[1697,6],[2323,13]]},"1362":{"position":[[4851,13],[5971,6],[6066,6],[6834,6],[7825,7],[10701,12]]},"1363":{"position":[[2932,12],[3717,6],[3812,6],[4304,12]]},"1364":{"position":[[6000,6],[6095,6],[6581,12],[6644,6],[6695,12],[6750,10],[6787,12],[7073,6],[8064,7],[8228,6],[8674,7],[11668,12],[13197,13]]},"1365":{"position":[[1537,6],[1631,6]]},"1366":{"position":[[1051,10],[1747,6],[1842,6]]},"1367":{"position":[[7398,6],[7493,6],[13716,12],[13853,10]]},"1368":{"position":[[2093,6],[2187,6]]},"1369":{"position":[[1145,6],[1239,6]]},"1370":{"position":[[1396,6],[1491,6]]},"1371":{"position":[[1021,6],[1115,6]]},"1372":{"position":[[2659,6],[2753,6]]},"1373":{"position":[[2824,13],[3531,6],[3625,6],[5218,12],[7671,6]]},"1374":{"position":[[1431,6],[1526,6]]},"1375":{"position":[[1057,6],[1151,6]]},"1376":{"position":[[1013,6],[1107,6]]},"1377":{"position":[[1252,6],[1346,6]]},"1378":{"position":[[999,6],[1093,6]]},"1379":{"position":[[1022,6],[1116,6]]},"1380":{"position":[[668,10],[798,7],[1493,6],[1587,6]]},"1381":{"position":[[746,12],[1399,6],[1493,6]]},"1382":{"position":[[3080,13],[3111,12],[3883,6],[3978,6],[7325,12],[7570,12],[10447,6],[11734,11]]},"1383":{"position":[[2121,6],[2216,6],[4597,12]]},"1384":{"position":[[5045,6],[5140,6],[5626,12],[5689,6],[5740,12],[5795,10],[5832,12],[5996,10],[6260,6],[6938,6],[7080,6],[7242,7],[7335,12],[7398,6],[7636,12],[8219,6],[8414,6],[8860,7],[9302,6],[9550,7],[9856,6],[13634,12],[16619,8],[16669,12],[17002,7],[17250,7],[17521,6],[18128,13],[20046,7],[20457,7],[20720,12],[20853,7],[20951,7],[21037,7],[21164,7]]},"1385":{"position":[[2027,7],[2718,6],[2812,6]]},"1386":{"position":[[1356,6],[1450,6],[1586,10],[2623,9],[2817,9],[2894,9],[3026,9],[4014,13],[4443,6],[4593,12],[4985,9],[6297,9]]},"1387":{"position":[[4987,6],[5081,6],[6597,10],[6694,12],[6821,13],[6835,9],[6915,12]]},"1388":{"position":[[4183,6],[4278,6],[8194,12],[8439,12],[8940,6]]},"1389":{"position":[[5040,6],[5134,6]]},"1390":{"position":[[655,13],[1292,6],[1386,6],[1533,12],[2044,11]]},"1391":{"position":[[1245,6],[1339,6],[1486,12],[1836,11]]},"1392":{"position":[[1395,6],[1489,6],[1636,12]]},"1393":{"position":[[1971,6],[2066,6],[3277,13],[3410,10],[4739,7],[4973,10],[5096,10],[5339,12],[5517,10],[6693,13],[7358,12],[7480,12],[8239,12],[9656,12],[9817,13]]},"1394":{"position":[[1415,6],[1509,6]]},"1395":{"position":[[1428,6],[1523,6],[1840,12],[2003,12]]},"1396":{"position":[[1221,6],[1315,6]]},"1397":{"position":[[1402,6],[1496,6]]},"1398":{"position":[[2078,6],[2173,6],[2759,12],[3120,12],[4304,12],[4426,12],[5093,12],[5664,12],[6018,6],[6191,12]]},"1399":{"position":[[1257,6],[1351,6],[1910,7]]},"1400":{"position":[[1126,6],[1220,6]]},"1401":{"position":[[1201,6],[1295,6]]},"1402":{"position":[[1357,6],[1451,6]]},"1403":{"position":[[1951,6],[2046,6],[6239,13]]},"1404":{"position":[[1190,6],[1284,6]]},"1405":{"position":[[1173,13],[1881,6],[1975,6],[2479,12],[2900,9],[2989,12],[3886,13]]},"1406":{"position":[[1097,6],[1191,6]]},"1407":{"position":[[1202,13],[1922,6],[2016,6],[2900,12],[3321,9],[3410,12],[4505,13]]},"1408":{"position":[[981,13],[1618,6],[1712,6],[2017,12]]},"1409":{"position":[[1152,6],[1246,6]]},"1410":{"position":[[2318,6],[2413,6],[2924,12],[3901,9],[3991,12],[5297,13]]},"1411":{"position":[[1135,6],[1229,6]]},"1412":{"position":[[2339,6],[2434,6],[2820,6]]},"1413":{"position":[[2519,6],[2613,6]]},"1414":{"position":[[1386,6],[1480,6]]},"1415":{"position":[[3368,6],[3462,6],[3611,12],[3668,6],[3863,12],[5565,12],[5620,6],[5878,12],[5931,6]]},"1416":{"position":[[2020,6],[2114,6],[2623,12],[2866,12],[3095,13],[3318,12]]},"1417":{"position":[[1609,6],[1703,6]]},"1418":{"position":[[1310,6],[1404,6]]},"1419":{"position":[[1438,6],[1532,6]]},"1420":{"position":[[1702,6],[1796,6],[2232,13],[2455,12]]},"1421":{"position":[[1677,6],[1771,6],[2034,9],[2127,9]]},"1422":{"position":[[820,12],[1584,6],[1679,6]]},"1423":{"position":[[703,12],[1569,6],[1663,6]]},"1424":{"position":[[1694,6],[1788,6]]},"1425":{"position":[[1310,6],[1404,6]]},"1426":{"position":[[1020,8],[1657,6],[1752,6]]},"1427":{"position":[[2554,6],[2649,6],[2940,6],[3189,11],[3305,6],[3586,6],[3659,7],[4027,12],[4145,13],[4368,12],[5042,7],[5466,12],[5982,12],[6066,12],[6202,12],[7452,13]]},"1428":{"position":[[1292,6],[1386,6]]},"1429":{"position":[[3218,6],[3313,6],[3572,12],[3777,10],[3866,12],[6213,12]]},"1430":{"position":[[2068,6],[2162,6]]},"1431":{"position":[[1412,6],[1506,6]]},"1432":{"position":[[1933,6],[2027,6]]},"1433":{"position":[[1454,6],[1548,6]]},"1434":{"position":[[1128,6],[1222,6]]},"1435":{"position":[[1092,6],[1186,6]]},"1436":{"position":[[1108,6],[1202,6]]},"1437":{"position":[[1178,6],[1272,6]]},"1438":{"position":[[1316,6],[1411,6]]},"1439":{"position":[[2840,6],[2935,6],[3614,6],[3863,11],[3979,6],[4260,6],[4333,7],[6799,10],[6867,12],[8278,13]]},"1440":{"position":[[3406,6],[3501,6],[3770,10],[3859,12]]},"1441":{"position":[[1134,6],[1228,6]]},"1442":{"position":[[1211,6],[1306,6]]},"1443":{"position":[[1429,6],[1523,6]]},"1444":{"position":[[1345,6],[1439,6]]},"1445":{"position":[[1034,6],[1128,6]]},"1446":{"position":[[1368,6],[1462,6]]},"1447":{"position":[[1250,6],[1344,6]]},"1448":{"position":[[1048,13],[1685,6],[1779,6],[2051,12],[2178,13],[2401,12]]},"1449":{"position":[[982,13],[1619,6],[1713,6],[1985,12],[2112,13],[2335,12]]},"1450":{"position":[[1498,6],[1592,6]]},"1451":{"position":[[1498,6],[1592,6]]},"1452":{"position":[[1044,6],[1138,6]]},"1453":{"position":[[1630,6],[1724,6]]},"1454":{"position":[[3996,6],[4090,6],[4474,12],[4537,6],[4588,12],[4643,10],[4680,12],[4964,6],[5643,7],[5735,12],[5798,6],[6036,12],[6618,6],[7090,6],[7605,7],[8918,8],[8968,12]]},"1455":{"position":[[1883,6],[1977,6],[2122,12],[2185,6],[2236,12],[2291,10],[2328,12],[2506,12],[2569,6],[2807,12]]},"1456":{"position":[[1228,6],[1322,6]]},"1457":{"position":[[1287,6],[1381,6],[1528,12]]},"1458":{"position":[[1161,12],[1822,6],[1916,6]]},"1459":{"position":[[1301,6],[1395,6]]},"1460":{"position":[[1413,6],[1507,6]]},"1461":{"position":[[1632,6],[1727,6],[2097,7],[2163,6],[2614,10],[3107,10],[3359,13]]},"1462":{"position":[[4372,13],[5009,6],[5103,6],[5949,12],[6101,10],[6243,12],[6575,9],[7291,12],[7581,7],[8353,12]]},"1463":{"position":[[1135,6],[1229,6]]},"1464":{"position":[[1043,6],[1137,6]]},"1465":{"position":[[2141,6],[2235,6],[3073,10]]},"1466":{"position":[[1379,6],[1473,6]]},"1467":{"position":[[5702,6],[5797,6],[7213,10],[7356,12],[7690,9],[8260,12],[9835,12]]},"1468":{"position":[[1143,6],[1237,6],[1491,10]]},"1469":{"position":[[710,12],[1520,6],[1615,6]]},"1470":{"position":[[4045,6],[4139,6]]},"1471":{"position":[[1741,13],[2383,6],[2478,6],[3159,12],[3833,12],[4532,12],[4590,10],[4642,12],[4768,12]]},"1472":{"position":[[1700,13],[2342,6],[2437,6],[2878,12],[2997,12],[3304,12],[3483,12],[3541,10],[3593,12],[3719,12],[4417,12],[5116,12],[5174,10],[5226,12],[5352,12]]},"1473":{"position":[[1996,12],[2657,6],[2752,6],[3193,12],[4154,12],[4853,12],[4911,10],[4963,12],[5089,12]]},"1474":{"position":[[2044,6],[2138,6]]},"1475":{"position":[[2515,6],[2609,6]]},"1476":{"position":[[1120,6],[1214,6]]},"1477":{"position":[[1276,6],[1371,6]]},"1478":{"position":[[1767,6],[1862,6]]},"1479":{"position":[[1212,6],[1306,6]]},"1480":{"position":[[1625,6],[1719,6]]},"1481":{"position":[[2158,6],[2252,6]]},"1482":{"position":[[1232,6],[1326,6],[1530,7],[1862,6]]},"1483":{"position":[[1066,6],[1160,6]]},"1484":{"position":[[1138,6],[1232,6]]},"1485":{"position":[[1398,6],[1492,6],[3312,6]]},"1486":{"position":[[1642,6],[1736,6]]},"1487":{"position":[[1341,6],[1436,6]]}},"keywords":{}}],["dependencies,warn",{"_index":7961,"title":{},"content":{"1427":{"position":[[4213,18]]}},"keywords":{}}],["dependencies.absolute_prefix",{"_index":2155,"title":{},"content":{"405":{"position":[[2082,28]]},"784":{"position":[[2082,28]]}},"keywords":{}}],["dependencies.buck2",{"_index":7632,"title":{},"content":{"1398":{"position":[[6307,18]]}},"keywords":{}}],["dependencies.launch_imag",{"_index":6682,"title":{},"content":{"1361":{"position":[[2062,26]]}},"keywords":{}}],["dependenciesdupl",{"_index":7507,"title":{},"content":{"1393":{"position":[[9586,22]]}},"keywords":{}}],["dependenciesneil",{"_index":118,"title":{},"content":{"6":{"position":[[100,16]]}},"keywords":{}}],["dependencies—a",{"_index":3411,"title":{},"content":{"681":{"position":[[252,15]]}},"keywords":{}}],["dependency.get",{"_index":995,"title":{"76":{"position":[[0,15]]},"505":{"position":[[0,15]]}},"content":{},"keywords":{}}],["dependency.get(index",{"_index":996,"title":{},"content":{"76":{"position":[[4,21]]},"505":{"position":[[4,21]]}},"keywords":{}}],["dependency.label",{"_index":1002,"title":{"77":{"position":[[0,17]]},"506":{"position":[[0,17]]}},"content":{"77":{"position":[[0,17]]},"506":{"position":[[0,17]]}},"keywords":{}}],["dependency.provid",{"_index":1003,"title":{"78":{"position":[[0,21]]},"507":{"position":[[0,21]]}},"content":{"78":{"position":[[0,21]]},"507":{"position":[[0,21]]}},"keywords":{}}],["dependency.sub_target",{"_index":1005,"title":{"79":{"position":[[0,22]]},"508":{"position":[[0,22]]}},"content":{},"keywords":{}}],["dependency.sub_target(subtarget",{"_index":1006,"title":{},"content":{"79":{"position":[[4,32]]},"508":{"position":[[4,32]]}},"keywords":{}}],["deploy",{"_index":339,"title":{},"content":{"10":{"position":[[759,10],[783,10]]},"1363":{"position":[[7761,10]]}},"keywords":{}}],["deprec",{"_index":2738,"title":{},"content":{"587":{"position":[[702,10]]},"945":{"position":[[88,10]]},"1136":{"position":[[1833,11]]},"1148":{"position":[[2189,11]]},"1190":{"position":[[227,10]]},"1192":{"position":[[64,10]]},"1205":{"position":[[1313,11]]},"1209":{"position":[[1066,11]]},"1226":{"position":[[3006,11]]},"1235":{"position":[[2326,11]]},"1237":{"position":[[3176,11]]},"1398":{"position":[[2319,11]]},"1416":{"position":[[3519,11]]},"1420":{"position":[[2656,11]]}},"keywords":{}}],["deprecated.manifest_module_entri",{"_index":8330,"title":{},"content":{"1462":{"position":[[7751,35]]}},"keywords":{}}],["deps"",{"_index":4890,"title":{},"content":{"988":{"position":[[56,10]]}},"keywords":{}}],["deps(<targets>",{"_index":6291,"title":{},"content":{"1277":{"position":[[196,21]]},"1308":{"position":[[196,21]]},"1336":{"position":[[196,21]]}},"keywords":{}}],["deps("//java/com/example/app:amazing+more"",{"_index":5861,"title":{},"content":{"1136":{"position":[[534,55]]},"1148":{"position":[[1084,56]]},"1235":{"position":[[876,56]]}},"keywords":{}}],["deps("foo:rule"",{"_index":4797,"title":{},"content":{"964":{"position":[[979,26]]}},"keywords":{}}],["deps('//baz:lib')"",{"_index":6297,"title":{},"content":{"1282":{"position":[[424,23]]},"1283":{"position":[[438,23]]},"1284":{"position":[[417,23]]},"1313":{"position":[[424,23]]},"1314":{"position":[[438,23]]},"1315":{"position":[[417,23]]},"1341":{"position":[[424,23]]},"1342":{"position":[[438,23]]},"1343":{"position":[[417,23]]}},"keywords":{}}],["deps('//baz:lib')"both",{"_index":6298,"title":{},"content":{"1282":{"position":[[501,27]]},"1283":{"position":[[515,27]]},"1284":{"position":[[494,27]]},"1313":{"position":[[501,27]]},"1314":{"position":[[515,27]]},"1315":{"position":[[494,27]]},"1341":{"position":[[501,27]]},"1342":{"position":[[515,27]]},"1343":{"position":[[494,27]]}},"keywords":{}}],["deps('//foo:bar'))"",{"_index":6284,"title":{},"content":{"1271":{"position":[[255,24]]},"1302":{"position":[[255,24]]},"1330":{"position":[[255,24]]}},"keywords":{}}],["deps(//example:bar))"",{"_index":4402,"title":{},"content":{"904":{"position":[[412,26]]}},"keywords":{}}],["deps(//example:foo",{"_index":4403,"title":{},"content":{"904":{"position":[[562,19],[640,19],[756,19],[1391,19],[1452,20]]}},"keywords":{}}],["deps(target",{"_index":6244,"title":{"1268":{"position":[[0,13]]},"1299":{"position":[[0,13]]},"1327":{"position":[[0,13]]}},"content":{"1259":{"position":[[700,13]]},"1290":{"position":[[700,13]]},"1318":{"position":[[700,13]]}},"keywords":{}}],["deps.dur",{"_index":4905,"title":{},"content":{"990":{"position":[[502,11]]}},"keywords":{}}],["deps/toolchain",{"_index":4114,"title":{},"content":{"878":{"position":[[1211,16]]}},"keywords":{}}],["deps_queri",{"_index":7033,"title":{},"content":{"1373":{"position":[[851,11]]},"1382":{"position":[[899,11],[4449,11],[4948,10]]},"1384":{"position":[[840,11]]},"1388":{"position":[[1032,11],[5143,11],[5642,10]]},"1413":{"position":[[695,11]]},"1415":{"position":[[685,11]]},"1416":{"position":[[557,11]]},"1417":{"position":[[527,11]]},"1418":{"position":[[499,11]]},"1419":{"position":[[501,11]]},"1429":{"position":[[955,11]]},"1433":{"position":[[667,11]]},"1440":{"position":[[1029,11]]},"1442":{"position":[[408,11],[1439,11],[1938,10]]},"1462":{"position":[[1230,11]]},"1467":{"position":[[1297,11]]},"1475":{"position":[[731,11]]}},"keywords":{}}],["depsargu",{"_index":3410,"title":{},"content":{"681":{"position":[[203,13]]}},"keywords":{}}],["depsattribut",{"_index":5027,"title":{},"content":{"1006":{"position":[[767,14]]}},"keywords":{}}],["depset",{"_index":745,"title":{},"content":{"23":{"position":[[2220,7]]}},"keywords":{}}],["depth",{"_index":1476,"title":{"1084":{"position":[[14,6]]},"1268":{"position":[[33,6]]},"1275":{"position":[[63,6]]},"1299":{"position":[[33,6]]},"1306":{"position":[[63,6]]},"1327":{"position":[[33,6]]},"1334":{"position":[[63,6]]}},"content":{"239":{"position":[[375,6]]},"328":{"position":[[275,6]]},"335":{"position":[[519,6]]},"469":{"position":[[156,6]]},"475":{"position":[[281,6]]},"1088":{"position":[[310,5]]},"1133":{"position":[[446,5]]},"1259":{"position":[[733,6],[1479,6]]},"1290":{"position":[[733,6],[1479,6]]},"1318":{"position":[[733,6],[1479,6]]}},"keywords":{}}],["deriv",{"_index":3524,"title":{},"content":{"693":{"position":[[1641,6]]},"704":{"position":[[1351,7]]},"1018":{"position":[[102,7]]},"1127":{"position":[[472,7]]},"1363":{"position":[[6228,7],[6642,7]]},"1403":{"position":[[7397,6]]}},"keywords":{}}],["descend",{"_index":3647,"title":{},"content":{"705":{"position":[[653,7]]},"1088":{"position":[[531,12]]}},"keywords":{}}],["describ",{"_index":2091,"title":{},"content":{"396":{"position":[[88,10]]},"671":{"position":[[49,10]]},"676":{"position":[[272,9]]},"717":{"position":[[472,8]]},"775":{"position":[[88,10]]},"943":{"position":[[268,8]]},"965":{"position":[[569,9]]},"980":{"position":[[258,8]]},"988":{"position":[[766,8]]},"1052":{"position":[[14,9]]},"1071":{"position":[[956,9]]},"1112":{"position":[[831,10]]},"1219":{"position":[[444,9]]},"1260":{"position":[[1071,8]]},"1291":{"position":[[1071,8]]},"1319":{"position":[[1071,8]]},"1384":{"position":[[11988,9],[12044,9],[12240,9],[12300,9]]},"1403":{"position":[[6225,9]]},"1469":{"position":[[2248,9]]},"1487":{"position":[[1620,8]]}},"keywords":{}}],["descript",{"_index":2676,"title":{},"content":{"581":{"position":[[869,11]]},"680":{"position":[[552,11]]}},"keywords":{}}],["descriptionpreord",{"_index":5598,"title":{},"content":{"1088":{"position":[[262,19]]}},"keywords":{}}],["design",{"_index":2769,"title":{"1103":{"position":[[13,7]]}},"content":{"591":{"position":[[339,10]]},"693":{"position":[[4067,8]]},"696":{"position":[[9,8],[159,6]]},"898":{"position":[[564,6]]},"1104":{"position":[[1452,9],[1524,9]]},"1156":{"position":[[62,8]]}},"keywords":{}}],["desir",{"_index":1768,"title":{},"content":{"320":{"position":[[439,7]]},"722":{"position":[[1173,7]]},"873":{"position":[[522,7]]},"954":{"position":[[243,7]]},"959":{"position":[[387,6]]},"1054":{"position":[[1161,7]]},"1393":{"position":[[3424,8],[4311,9],[5415,8]]},"1395":{"position":[[2123,9]]}},"keywords":{}}],["despit",{"_index":740,"title":{},"content":{"23":{"position":[[2048,7]]}},"keywords":{}}],["dest",{"_index":1071,"title":{},"content":{"87":{"position":[[22,5]]},"88":{"position":[[23,5]]},"95":{"position":[[26,5]]},"219":{"position":[[22,5]]},"220":{"position":[[23,5]]},"227":{"position":[[26,5]]}},"keywords":{}}],["destin",{"_index":1073,"title":{},"content":{"88":{"position":[[132,11]]},"95":{"position":[[149,11]]},"220":{"position":[[132,11]]},"227":{"position":[[149,11]]},"476":{"position":[[390,11]]},"1050":{"position":[[1536,11]]},"1155":{"position":[[337,11]]},"1366":{"position":[[566,12],[1975,12],[2002,11]]}},"keywords":{}}],["destination_specifi",{"_index":6965,"title":{},"content":{"1367":{"position":[[2008,22]]}},"keywords":{}}],["destroy",{"_index":1340,"title":{},"content":{"125":{"position":[[192,8]]},"248":{"position":[[192,8]]}},"keywords":{}}],["desugar_dep",{"_index":6610,"title":{},"content":{"1358":{"position":[[637,13]]},"1458":{"position":[[615,13]]}},"keywords":{}}],["detail",{"_index":1018,"title":{"1089":{"position":[[15,8]]},"1098":{"position":[[0,7]]}},"content":{"81":{"position":[[404,7]]},"92":{"position":[[1929,7]]},"94":{"position":[[2703,8]]},"97":{"position":[[159,8]]},"213":{"position":[[404,7]]},"224":{"position":[[1929,7]]},"226":{"position":[[2703,8]]},"229":{"position":[[159,8]]},"362":{"position":[[1028,8]]},"363":{"position":[[447,8]]},"366":{"position":[[277,8]]},"367":{"position":[[303,8]]},"368":{"position":[[515,8]]},"374":{"position":[[460,8]]},"377":{"position":[[524,8]]},"379":{"position":[[223,8]]},"386":{"position":[[371,8]]},"389":{"position":[[238,8]]},"396":{"position":[[308,8]]},"398":{"position":[[178,8]]},"399":{"position":[[181,8]]},"405":{"position":[[1199,8]]},"423":{"position":[[89,7]]},"450":{"position":[[108,8]]},"630":{"position":[[127,8]]},"636":{"position":[[133,8]]},"644":{"position":[[162,8]]},"648":{"position":[[145,8]]},"652":{"position":[[127,8]]},"662":{"position":[[143,8]]},"668":{"position":[[109,8]]},"670":{"position":[[160,8]]},"671":{"position":[[128,8]]},"680":{"position":[[535,8]]},"693":{"position":[[8026,8]]},"715":{"position":[[989,7]]},"716":{"position":[[153,8]]},"726":{"position":[[9,6]]},"741":{"position":[[1028,8]]},"742":{"position":[[447,8]]},"745":{"position":[[277,8]]},"746":{"position":[[303,8]]},"747":{"position":[[515,8]]},"753":{"position":[[460,8]]},"756":{"position":[[524,8]]},"758":{"position":[[223,8]]},"765":{"position":[[371,8]]},"768":{"position":[[238,8]]},"775":{"position":[[308,8]]},"777":{"position":[[178,8]]},"778":{"position":[[181,8]]},"784":{"position":[[1199,8]]},"802":{"position":[[89,7]]},"829":{"position":[[108,8]]},"840":{"position":[[1539,8]]},"898":{"position":[[338,8]]},"1016":{"position":[[167,8]]},"1050":{"position":[[3541,6]]},"1068":{"position":[[190,8]]},"1069":{"position":[[304,8]]},"1102":{"position":[[416,7]]},"1114":{"position":[[973,7]]},"1120":{"position":[[691,8]]},"1126":{"position":[[648,7],[1592,7]]},"1131":{"position":[[654,8]]},"1138":{"position":[[5072,8]]},"1140":{"position":[[4561,8]]},"1167":{"position":[[5565,8]]},"1172":{"position":[[367,7]]},"1188":{"position":[[4614,8]]},"1217":{"position":[[4306,8]]},"1228":{"position":[[6387,8]]},"1237":{"position":[[5,7]]},"1249":{"position":[[24,8],[143,7]]},"1348":{"position":[[4429,8],[4481,7]]},"1351":{"position":[[2985,8]]},"1353":{"position":[[2263,8]]},"1354":{"position":[[3084,8]]},"1355":{"position":[[7590,8]]},"1356":{"position":[[1950,8]]},"1358":{"position":[[2809,8],[2861,7]]},"1359":{"position":[[2163,8]]},"1360":{"position":[[5734,8]]},"1361":{"position":[[2337,8]]},"1362":{"position":[[5334,8],[12849,6],[13535,8]]},"1363":{"position":[[5839,8]]},"1364":{"position":[[5363,8],[13549,6],[14235,8]]},"1365":{"position":[[1762,8]]},"1366":{"position":[[3257,8]]},"1367":{"position":[[12757,6],[14355,8]]},"1370":{"position":[[2530,8]]},"1373":{"position":[[8344,8]]},"1374":{"position":[[2611,8]]},"1380":{"position":[[1718,8]]},"1381":{"position":[[2465,8]]},"1382":{"position":[[11211,6],[11595,8]]},"1383":{"position":[[8239,8]]},"1384":{"position":[[18865,6],[19827,8]]},"1385":{"position":[[6789,6],[7173,8]]},"1386":{"position":[[1985,8]]},"1387":{"position":[[10162,6],[10546,8]]},"1388":{"position":[[9704,6],[10311,8]]},"1390":{"position":[[1943,8]]},"1391":{"position":[[1758,8]]},"1392":{"position":[[2435,8]]},"1393":{"position":[[8833,8],[8935,8],[8944,8]]},"1395":{"position":[[776,7],[2241,8],[3114,8],[3184,8]]},"1396":{"position":[[1672,8]]},"1397":{"position":[[755,7],[2891,8]]},"1398":{"position":[[4941,8]]},"1399":{"position":[[2010,8]]},"1401":{"position":[[1473,8]]},"1402":{"position":[[2113,8]]},"1403":{"position":[[7339,8]]},"1404":{"position":[[1492,8]]},"1405":{"position":[[3900,8]]},"1407":{"position":[[4519,8]]},"1408":{"position":[[2836,8]]},"1410":{"position":[[5534,8]]},"1412":{"position":[[3664,8]]},"1415":{"position":[[5419,8]]},"1416":{"position":[[3531,8]]},"1420":{"position":[[2668,8]]},"1421":{"position":[[2386,8]]},"1422":{"position":[[3861,8]]},"1423":{"position":[[2631,8]]},"1427":{"position":[[7079,8]]},"1439":{"position":[[7909,8]]},"1442":{"position":[[2584,6],[2968,8]]},"1443":{"position":[[1777,8]]},"1444":{"position":[[1923,8]]},"1446":{"position":[[2432,8]]},"1448":{"position":[[2712,8]]},"1449":{"position":[[2646,8]]},"1453":{"position":[[1855,8]]},"1454":{"position":[[9634,8]]},"1455":{"position":[[4454,8]]},"1456":{"position":[[1507,8]]},"1457":{"position":[[1875,8]]},"1458":{"position":[[2461,8]]},"1459":{"position":[[2230,8]]},"1461":{"position":[[2889,8]]},"1462":{"position":[[8873,8]]},"1465":{"position":[[4227,8]]},"1467":{"position":[[10644,8]]},"1469":{"position":[[2442,8]]},"1471":{"position":[[2648,6],[5326,8]]},"1472":{"position":[[2607,6],[6212,8]]},"1473":{"position":[[2922,6],[5776,8]]},"1477":{"position":[[2589,8]]},"1478":{"position":[[2692,8]]},"1482":{"position":[[1457,8]]},"1483":{"position":[[1375,8]]},"1485":{"position":[[4075,6],[4459,8]]},"1486":{"position":[[2977,8]]},"1487":{"position":[[2988,8]]}},"keywords":{}}],["detailed_untracked_header_messag",{"_index":7362,"title":{},"content":{"1389":{"position":[[2133,35]]}},"keywords":{}}],["detect",{"_index":3796,"title":{},"content":{"718":{"position":[[210,8]]},"832":{"position":[[309,7]]},"890":{"position":[[2969,6]]},"965":{"position":[[171,7]]},"1050":{"position":[[619,6],[1032,6]]},"1112":{"position":[[2951,6]]},"1136":{"position":[[3591,8]]},"1138":{"position":[[7253,8]]},"1140":{"position":[[713,9],[6179,8]]},"1142":{"position":[[1623,8]]},"1146":{"position":[[1563,8]]},"1148":{"position":[[4603,8]]},"1155":{"position":[[1659,8]]},"1156":{"position":[[1237,8]]},"1167":{"position":[[7183,8]]},"1169":{"position":[[1022,8]]},"1186":{"position":[[2827,8]]},"1187":{"position":[[2840,8]]},"1188":{"position":[[766,9],[7566,8]]},"1191":{"position":[[1427,8]]},"1192":{"position":[[1602,8]]},"1193":{"position":[[1654,8]]},"1194":{"position":[[1294,8]]},"1195":{"position":[[1272,8]]},"1196":{"position":[[1082,8]]},"1197":{"position":[[2065,8]]},"1198":{"position":[[2075,8]]},"1199":{"position":[[2103,8]]},"1200":{"position":[[1970,8]]},"1201":{"position":[[1230,8]]},"1202":{"position":[[2372,8],[6769,8]]},"1203":{"position":[[1464,8]]},"1204":{"position":[[1308,8]]},"1205":{"position":[[2637,8]]},"1206":{"position":[[1108,8]]},"1207":{"position":[[1265,8]]},"1209":{"position":[[2613,8]]},"1217":{"position":[[5924,8]]},"1219":{"position":[[1910,8]]},"1222":{"position":[[1034,8]]},"1223":{"position":[[1044,8]]},"1224":{"position":[[1224,8]]},"1226":{"position":[[6392,8]]},"1228":{"position":[[8005,8]]},"1233":{"position":[[208,10]]},"1235":{"position":[[3873,8]]},"1237":{"position":[[6562,8]]},"1241":{"position":[[156,10]]},"1373":{"position":[[6042,8]]},"1393":{"position":[[9540,9]]},"1405":{"position":[[3366,8]]},"1407":{"position":[[3787,8]]},"1408":{"position":[[2406,8]]},"1410":{"position":[[4774,8],[5000,10]]},"1427":{"position":[[4009,7]]},"1487":{"position":[[1802,7]]}},"keywords":{}}],["detection.resourc",{"_index":7758,"title":{},"content":{"1407":{"position":[[4012,20]]}},"keywords":{}}],["detection.src",{"_index":7737,"title":{},"content":{"1405":{"position":[[3591,15]]}},"keywords":{}}],["detector",{"_index":39,"title":{},"content":{"4":{"position":[[100,8]]}},"keywords":{}}],["determin",{"_index":364,"title":{},"content":{"11":{"position":[[308,13]]},"593":{"position":[[83,9]]},"648":{"position":[[541,10]]},"693":{"position":[[4398,10],[10245,10]]},"695":{"position":[[769,9]]},"706":{"position":[[4,12],[21,11]]},"856":{"position":[[349,9]]},"860":{"position":[[62,9]]},"919":{"position":[[925,13]]},"943":{"position":[[286,10],[2181,10]]},"951":{"position":[[538,10]]},"964":{"position":[[446,10]]},"1011":{"position":[[214,10]]},"1014":{"position":[[161,10]]},"1040":{"position":[[2071,9]]},"1079":{"position":[[718,10],[830,10],[922,10]]},"1211":{"position":[[214,9]]},"1355":{"position":[[6499,9]]},"1360":{"position":[[3920,9]]},"1362":{"position":[[10652,10],[12734,9]]},"1364":{"position":[[11619,10],[13434,9]]},"1367":{"position":[[12642,9]]},"1373":{"position":[[5169,10]]},"1382":{"position":[[7521,10],[11096,9]]},"1384":{"position":[[13585,10],[16567,10],[18750,9],[19933,10]]},"1385":{"position":[[6674,9]]},"1387":{"position":[[6645,10],[10047,9]]},"1388":{"position":[[8390,10],[9589,9]]},"1403":{"position":[[3335,9]]},"1405":{"position":[[2741,10],[2940,10]]},"1407":{"position":[[2263,10],[3162,10],[3361,10]]},"1410":{"position":[[3742,10],[3942,10]]},"1416":{"position":[[2817,10]]},"1422":{"position":[[3300,10]]},"1427":{"position":[[5698,9]]},"1439":{"position":[[7607,9]]},"1442":{"position":[[2469,9]]},"1454":{"position":[[8866,10]]},"1462":{"position":[[8790,10]]},"1465":{"position":[[4144,10]]},"1467":{"position":[[10561,10]]},"1471":{"position":[[3784,10]]},"1472":{"position":[[3255,10],[4368,10]]},"1473":{"position":[[4105,10]]},"1477":{"position":[[2213,10]]},"1485":{"position":[[3960,9]]}},"keywords":{}}],["determinist",{"_index":128,"title":{},"content":{"6":{"position":[[285,13]]},"22":{"position":[[2049,13]]},"706":{"position":[[271,14],[487,14],[894,14],[1061,13],[1354,13],[1422,14]]},"715":{"position":[[76,14]]},"870":{"position":[[1324,14]]},"1226":{"position":[[1793,13],[4024,13]]},"1237":{"position":[[1963,13],[4194,13]]}},"keywords":{}}],["dev",{"_index":4593,"title":{},"content":{"937":{"position":[[1580,3],[4091,4]]},"1393":{"position":[[4607,3]]}},"keywords":{}}],["develop",{"_index":189,"title":{},"content":{"9":{"position":[[425,11],[804,10],[2543,9],[2638,7]]},"10":{"position":[[271,9],[1144,9]]},"12":{"position":[[133,12]]},"13":{"position":[[226,12]]},"16":{"position":[[119,9]]},"22":{"position":[[441,9]]},"23":{"position":[[3107,9]]},"678":{"position":[[273,11]]},"685":{"position":[[63,11]]},"693":{"position":[[7786,9]]},"696":{"position":[[336,10]]},"869":{"position":[[851,11]]},"955":{"position":[[328,10]]},"1037":{"position":[[572,12]]},"1102":{"position":[[1105,12]]},"1351":{"position":[[1973,10]]},"1393":{"position":[[4393,10],[5107,10],[5559,10]]}},"keywords":{}}],["developer_path",{"_index":6989,"title":{},"content":{"1368":{"position":[[737,15]]}},"keywords":{}}],["devic",{"_index":5973,"title":{},"content":{"1167":{"position":[[603,6],[638,7],[786,6],[935,7],[969,7]]}},"keywords":{}}],["device'",{"_index":8105,"title":{},"content":{"1446":{"position":[[2230,8]]},"1459":{"position":[[2203,8]]}},"keywords":{}}],["devirt_en",{"_index":6703,"title":{},"content":{"1362":{"position":[[977,15]]},"1364":{"position":[[994,15]]},"1367":{"position":[[2051,15]]},"1373":{"position":[[879,15]]},"1382":{"position":[[927,15]]},"1384":{"position":[[868,15]]},"1387":{"position":[[947,15]]},"1388":{"position":[[1060,15]]},"1415":{"position":[[713,15]]},"1462":{"position":[[1258,15]]},"1467":{"position":[[1325,15]]}},"keywords":{}}],["devop",{"_index":134,"title":{},"content":{"7":{"position":[[30,6]]}},"keywords":{}}],["devx",{"_index":4490,"title":{},"content":{"919":{"position":[[823,4]]},"997":{"position":[[0,4],[253,4]]}},"keywords":{}}],["dex_compress",{"_index":6426,"title":{},"content":{"1350":{"position":[[1469,16]]},"1352":{"position":[[1468,16]]}},"keywords":{}}],["dex_group_lib_limit",{"_index":6427,"title":{},"content":{"1350":{"position":[[1502,20]]},"1352":{"position":[[1501,20]]}},"keywords":{}}],["dex_tool",{"_index":6428,"title":{},"content":{"1350":{"position":[[1532,9]]},"1352":{"position":[[1531,9]]},"1353":{"position":[[730,9]]}},"keywords":{}}],["dfoo",{"_index":5564,"title":{},"content":{"1082":{"position":[[1264,5]]},"1084":{"position":[[648,4]]}},"keywords":{}}],["dfoo={}").ignore_artifact",{"_index":2166,"title":{},"content":{"406":{"position":[[376,33]]},"785":{"position":[[376,33]]}},"keywords":{}}],["diagnos",{"_index":5898,"title":{},"content":{"1136":{"position":[[4708,8]]},"1138":{"position":[[8370,8]]},"1140":{"position":[[7296,8]]},"1142":{"position":[[2740,8]]},"1146":{"position":[[2680,8]]},"1148":{"position":[[5720,8]]},"1155":{"position":[[2776,8]]},"1156":{"position":[[2354,8]]},"1167":{"position":[[8300,8]]},"1169":{"position":[[2139,8]]},"1186":{"position":[[3944,8]]},"1187":{"position":[[3957,8]]},"1188":{"position":[[8683,8]]},"1191":{"position":[[2544,8]]},"1192":{"position":[[2719,8]]},"1193":{"position":[[2771,8]]},"1194":{"position":[[2411,8]]},"1195":{"position":[[2389,8]]},"1196":{"position":[[2199,8]]},"1197":{"position":[[3182,8]]},"1198":{"position":[[3192,8]]},"1199":{"position":[[3220,8]]},"1200":{"position":[[3087,8]]},"1201":{"position":[[2347,8]]},"1202":{"position":[[3489,8],[7886,8]]},"1203":{"position":[[2581,8]]},"1204":{"position":[[2425,8]]},"1205":{"position":[[3754,8]]},"1206":{"position":[[2225,8]]},"1207":{"position":[[2382,8]]},"1209":{"position":[[3730,8]]},"1217":{"position":[[7041,8]]},"1219":{"position":[[3027,8]]},"1222":{"position":[[2151,8]]},"1223":{"position":[[2161,8]]},"1224":{"position":[[2341,8]]},"1226":{"position":[[7509,8]]},"1228":{"position":[[9122,8]]},"1235":{"position":[[4990,8]]},"1237":{"position":[[7679,8]]}},"keywords":{}}],["diagnost",{"_index":864,"title":{},"content":{"41":{"position":[[805,11]]},"174":{"position":[[805,11]]},"983":{"position":[[7,11]]},"1362":{"position":[[1003,12]]},"1364":{"position":[[1020,12]]},"1367":{"position":[[2077,12]]},"1384":{"position":[[894,12]]},"1387":{"position":[[973,12]]}},"keywords":{}}],["diagram",{"_index":3788,"title":{},"content":{"715":{"position":[[1562,7]]},"716":{"position":[[14,7]]},"1353":{"position":[[2328,7]]}},"keywords":{}}],["dialect",{"_index":3582,"title":{},"content":{"693":{"position":[[7757,7]]}},"keywords":{}}],["dice",{"_index":3816,"title":{},"content":{"832":{"position":[[61,4],[526,5]]},"951":{"position":[[1470,4]]},"955":{"position":[[758,4],[927,4]]},"965":{"position":[[349,5]]},"966":{"position":[[281,5]]},"1120":{"position":[[553,4]]},"1126":{"position":[[1642,4]]},"1136":{"position":[[5321,4],[5362,4],[5561,4]]},"1138":{"position":[[8983,4],[9024,4],[9223,4]]},"1140":{"position":[[7909,4],[7950,4],[8149,4]]},"1142":{"position":[[3353,4],[3394,4],[3593,4]]},"1146":{"position":[[3293,4],[3334,4],[3533,4]]},"1148":{"position":[[6333,4],[6374,4],[6573,4]]},"1155":{"position":[[3389,4],[3430,4],[3629,4]]},"1156":{"position":[[2967,4],[3008,4],[3207,4]]},"1161":{"position":[[860,4],[901,4],[1100,4]]},"1167":{"position":[[8913,4],[8954,4],[9153,4]]},"1181":{"position":[[1072,4],[1113,4],[1312,4]]},"1186":{"position":[[4557,4],[4598,4],[4797,4]]},"1187":{"position":[[4570,4],[4611,4],[4810,4]]},"1188":{"position":[[9296,4],[9337,4],[9536,4]]},"1191":{"position":[[3157,4],[3198,4],[3397,4]]},"1192":{"position":[[3332,4],[3373,4],[3572,4]]},"1193":{"position":[[3384,4],[3425,4],[3624,4]]},"1194":{"position":[[3024,4],[3065,4],[3264,4]]},"1195":{"position":[[3002,4],[3043,4],[3242,4]]},"1196":{"position":[[2812,4],[2853,4],[3052,4]]},"1197":{"position":[[3795,4],[3836,4],[4035,4]]},"1198":{"position":[[3805,4],[3846,4],[4045,4]]},"1199":{"position":[[3833,4],[3874,4],[4073,4]]},"1200":{"position":[[3700,4],[3741,4],[3940,4]]},"1201":{"position":[[2960,4],[3001,4],[3200,4]]},"1202":{"position":[[4102,4],[4143,4],[4342,4],[8499,4],[8540,4],[8739,4]]},"1203":{"position":[[3194,4],[3235,4],[3434,4]]},"1204":{"position":[[3038,4],[3079,4],[3278,4]]},"1205":{"position":[[4367,4],[4408,4],[4607,4]]},"1206":{"position":[[2838,4],[2879,4],[3078,4]]},"1207":{"position":[[2995,4],[3036,4],[3235,4]]},"1209":{"position":[[4343,4],[4384,4],[4583,4]]},"1217":{"position":[[7654,4],[7695,4],[7894,4]]},"1222":{"position":[[2764,4],[2805,4],[3004,4]]},"1223":{"position":[[2774,4],[2815,4],[3014,4]]},"1226":{"position":[[8122,4],[8163,4],[8362,4]]},"1228":{"position":[[9735,4],[9776,4],[9975,4]]},"1235":{"position":[[5603,4],[5644,4],[5843,4]]},"1237":{"position":[[8292,4],[8333,4],[8532,4]]}},"keywords":{}}],["dicethat",{"_index":754,"title":{},"content":{"23":{"position":[[2497,8]]}},"keywords":{}}],["dice’",{"_index":3821,"title":{},"content":{"832":{"position":[[958,6]]}},"keywords":{}}],["dict",{"_index":837,"title":{"552":{"position":[[0,4]]},"636":{"position":[[0,5]]}},"content":{"37":{"position":[[39,4],[283,5]]},"132":{"position":[[139,4],[170,4]]},"182":{"position":[[39,4],[283,5]]},"240":{"position":[[215,4]]},"242":{"position":[[482,4]]},"255":{"position":[[139,4],[170,4]]},"294":{"position":[[1253,4]]},"297":{"position":[[992,4]]},"298":{"position":[[2132,4]]},"301":{"position":[[1203,4]]},"310":{"position":[[671,4]]},"311":{"position":[[513,4]]},"329":{"position":[[275,4]]},"345":{"position":[[486,4],[543,4]]},"400":{"position":[[369,4]]},"470":{"position":[[215,4]]},"558":{"position":[[444,4]]},"560":{"position":[[285,5],[332,5]]},"636":{"position":[[62,5],[142,4],[343,4],[501,6]]},"779":{"position":[[369,4]]},"851":{"position":[[1420,5]]},"854":{"position":[[110,4]]},"864":{"position":[[258,5]]},"1004":{"position":[[1638,4]]},"1006":{"position":[[399,4],[802,4]]},"1042":{"position":[[547,4]]},"1044":{"position":[[695,5],[759,4]]},"1057":{"position":[[949,4]]},"1363":{"position":[[3983,4]]}},"keywords":{}}],["dict(**{'a",{"_index":3100,"title":{},"content":{"636":{"position":[[514,12]]}},"keywords":{}}],["dict(*arg",{"_index":3098,"title":{},"content":{"636":{"position":[[4,11]]}},"keywords":{}}],["dict([('x",{"_index":3107,"title":{},"content":{"636":{"position":[[737,11],[788,11]]}},"keywords":{}}],["dict([(1",{"_index":3102,"title":{},"content":{"636":{"position":[[570,9],[609,9],[699,9]]}},"keywords":{}}],["dict(one=1",{"_index":3104,"title":{},"content":{"636":{"position":[[656,11]]}},"keywords":{}}],["dict({'a",{"_index":3101,"title":{},"content":{"636":{"position":[[543,10]]}},"keywords":{}}],["dict.clear",{"_index":2494,"title":{"553":{"position":[[0,11]]}},"content":{"553":{"position":[[4,12],[29,11]]}},"keywords":{}}],["dict.get",{"_index":2502,"title":{"554":{"position":[[0,9]]}},"content":{"554":{"position":[[35,9]]}},"keywords":{}}],["dict.get(key",{"_index":2503,"title":{},"content":{"554":{"position":[[4,13]]}},"keywords":{}}],["dict.item",{"_index":2509,"title":{"555":{"position":[[0,11]]}},"content":{"555":{"position":[[4,12],[55,11]]},"1254":{"position":[[139,12]]}},"keywords":{}}],["dict.key",{"_index":2515,"title":{"556":{"position":[[0,10]]}},"content":{"556":{"position":[[4,11],[40,10]]}},"keywords":{}}],["dict.pop",{"_index":2518,"title":{"557":{"position":[[0,9]]}},"content":{"557":{"position":[[35,9]]}},"keywords":{}}],["dict.pop(key",{"_index":2519,"title":{},"content":{"557":{"position":[[4,13]]}},"keywords":{}}],["dict.popitem",{"_index":2526,"title":{"558":{"position":[[0,13]]}},"content":{"558":{"position":[[4,14],[51,13]]}},"keywords":{}}],["dict.setdefault",{"_index":2530,"title":{"559":{"position":[[0,16]]}},"content":{"559":{"position":[[42,16]]}},"keywords":{}}],["dict.setdefault(key",{"_index":2531,"title":{},"content":{"559":{"position":[[4,20]]}},"keywords":{}}],["dict.upd",{"_index":2540,"title":{"560":{"position":[[0,12]]}},"content":{"560":{"position":[[52,12]]}},"keywords":{}}],["dict.update(pair",{"_index":2541,"title":{},"content":{"560":{"position":[[4,17]]}},"keywords":{}}],["dict.valu",{"_index":2556,"title":{"561":{"position":[[0,12]]}},"content":{"561":{"position":[[4,13],[42,12]]}},"keywords":{}}],["dict[artifact",{"_index":1118,"title":{},"content":{"92":{"position":[[224,14],[256,14]]},"224":{"position":[[224,14],[256,14]]},"411":{"position":[[81,14],[122,14]]},"790":{"position":[[81,14],[122,14]]}},"keywords":{}}],["dict[configur",{"_index":5717,"title":{},"content":{"1112":{"position":[[989,19]]}},"keywords":{}}],["dict[int",{"_index":4370,"title":{},"content":{"900":{"position":[[797,9]]}},"keywords":{}}],["dict[label",{"_index":1609,"title":{},"content":{"294":{"position":[[441,11]]},"297":{"position":[[423,11]]}},"keywords":{}}],["dict[providers_label",{"_index":1446,"title":{},"content":{"210":{"position":[[23,21]]},"211":{"position":[[24,21]]}},"keywords":{}}],["dict[str",{"_index":1014,"title":{},"content":{"81":{"position":[[60,9]]},"82":{"position":[[61,9],[116,9]]},"86":{"position":[[72,9]]},"94":{"position":[[325,9],[765,9]]},"96":{"position":[[75,9]]},"213":{"position":[[60,9]]},"214":{"position":[[61,9],[116,9]]},"218":{"position":[[72,9]]},"226":{"position":[[325,9],[765,9]]},"228":{"position":[[75,9]]},"242":{"position":[[114,9]]},"310":{"position":[[229,9]]},"363":{"position":[[88,9],[575,9]]},"368":{"position":[[363,9],[2419,9]]},"374":{"position":[[743,9],[908,9],[1533,9],[1648,9]]},"375":{"position":[[41,9],[247,9]]},"377":{"position":[[292,9],[1496,9]]},"389":{"position":[[1707,9],[1754,9]]},"400":{"position":[[80,9],[154,9]]},"403":{"position":[[50,9]]},"421":{"position":[[26,9]]},"427":{"position":[[80,9]]},"437":{"position":[[75,9]]},"447":{"position":[[48,9]]},"448":{"position":[[41,9],[86,9],[125,9]]},"711":{"position":[[196,9],[353,9]]},"742":{"position":[[88,9],[575,9]]},"747":{"position":[[363,9],[2419,9]]},"753":{"position":[[743,9],[908,9],[1533,9],[1648,9]]},"754":{"position":[[41,9],[247,9]]},"756":{"position":[[292,9],[1496,9]]},"768":{"position":[[1707,9],[1754,9]]},"779":{"position":[[80,9],[154,9]]},"782":{"position":[[50,9]]},"800":{"position":[[26,9]]},"806":{"position":[[80,9]]},"816":{"position":[[75,9]]},"826":{"position":[[48,9]]},"827":{"position":[[41,9],[86,9],[125,9]]},"1112":{"position":[[647,9],[1665,9],[2341,9]]},"1348":{"position":[[335,9],[545,9],[1312,9],[1322,9],[1698,9],[1819,9]]},"1349":{"position":[[346,9],[481,9],[547,9]]},"1350":{"position":[[338,9],[955,9],[1021,9],[2162,9],[2513,9],[2634,9],[3067,9]]},"1351":{"position":[[344,9]]},"1352":{"position":[[338,9],[955,9],[1021,9],[2161,9],[2512,9],[2633,9],[3066,9]]},"1353":{"position":[[351,9],[1021,9]]},"1354":{"position":[[352,9],[679,9],[734,9],[951,9],[987,9],[997,9],[1038,9]]},"1355":{"position":[[339,9],[602,9],[1313,9],[1323,9]]},"1356":{"position":[[340,9]]},"1357":{"position":[[311,9],[399,9]]},"1358":{"position":[[344,9]]},"1359":{"position":[[340,9],[459,9],[807,9]]},"1360":{"position":[[335,9],[1107,9],[1233,9]]},"1361":{"position":[[314,9]]},"1362":{"position":[[307,9],[600,9],[936,9],[1016,9],[1307,9],[1370,9],[1443,9],[1609,9],[2184,9],[2384,9],[2448,9],[2504,9],[2577,9],[2641,9],[2916,9],[3361,9]]},"1363":{"position":[[307,9],[1345,9],[2056,9]]},"1364":{"position":[[308,9],[653,9],[953,9],[1033,9],[1289,9],[1352,9],[1425,9],[1591,9],[2195,9],[2395,9],[2459,9],[2515,9],[2588,9],[2652,9],[2927,9],[3326,9],[3823,9]]},"1365":{"position":[[308,9]]},"1366":{"position":[[309,9],[702,9]]},"1367":{"position":[[305,9],[1501,9],[1546,9],[1967,9],[2031,9],[2090,9],[2292,9],[2437,9],[2500,9],[2573,9],[2739,9],[3375,9],[3662,9],[3748,9],[3804,9],[3877,9],[3941,9],[4216,9],[4608,9],[6129,9]]},"1368":{"position":[[310,9]]},"1369":{"position":[[314,9]]},"1370":{"position":[[321,9]]},"1371":{"position":[[312,9]]},"1372":{"position":[[309,9],[1733,9]]},"1373":{"position":[[306,9],[810,9],[1225,9],[1370,9],[1426,9],[1499,9],[1563,9],[1828,9],[2148,9]]},"1374":{"position":[[308,9],[498,9],[601,9]]},"1375":{"position":[[309,9],[401,9]]},"1376":{"position":[[314,9]]},"1377":{"position":[[311,9]]},"1378":{"position":[[313,9]]},"1379":{"position":[[311,9]]},"1380":{"position":[[310,9]]},"1381":{"position":[[309,9],[601,9]]},"1382":{"position":[[305,9],[858,9],[1264,9],[1409,9],[1465,9],[1538,9],[1602,9],[1942,9],[2351,9],[2821,9]]},"1383":{"position":[[306,9],[985,9],[1111,9]]},"1384":{"position":[[306,9],[799,9],[907,9],[1052,9],[1115,9],[1188,9],[1405,9],[1973,9],[2165,9],[2221,9],[2294,9],[2358,9],[2666,9],[3050,9],[3692,9]]},"1385":{"position":[[312,9],[564,9],[720,9],[865,9],[921,9],[994,9],[1058,9],[1338,9]]},"1386":{"position":[[317,9]]},"1387":{"position":[[315,9],[906,9],[986,9],[1131,9],[1194,9],[1267,9],[1484,9],[2023,9],[2215,9],[2271,9],[2344,9],[2408,9],[2640,9],[3017,9],[3624,9]]},"1388":{"position":[[303,9],[991,9],[1180,9],[1449,9],[1594,9],[1650,9],[1723,9],[1787,9],[2127,9],[2536,9],[3014,9],[3073,9],[3172,9]]},"1389":{"position":[[308,9]]},"1390":{"position":[[303,9],[533,9]]},"1391":{"position":[[304,9],[534,9]]},"1392":{"position":[[301,9],[531,9]]},"1393":{"position":[[305,9],[496,9],[604,9],[794,9]]},"1394":{"position":[[314,9],[496,9]]},"1395":{"position":[[309,9],[581,9]]},"1396":{"position":[[314,9],[462,9]]},"1397":{"position":[[309,9],[544,9],[574,9]]},"1398":{"position":[[306,9],[602,9],[702,9],[823,9],[924,9],[983,9]]},"1399":{"position":[[306,9]]},"1400":{"position":[[315,9]]},"1401":{"position":[[304,9],[500,9]]},"1402":{"position":[[332,9]]},"1403":{"position":[[302,9],[705,9],[1010,9],[1136,9]]},"1404":{"position":[[304,9]]},"1405":{"position":[[304,9]]},"1406":{"position":[[314,9]]},"1407":{"position":[[314,9]]},"1408":{"position":[[305,9]]},"1409":{"position":[[304,9]]},"1410":{"position":[[302,9],[858,9],[1206,9],[1265,9]]},"1411":{"position":[[309,9]]},"1412":{"position":[[309,9],[357,9]]},"1413":{"position":[[306,9],[354,9],[728,9]]},"1414":{"position":[[305,9]]},"1415":{"position":[[309,9],[471,9],[481,9],[644,9],[941,9],[1086,9],[1142,9],[1215,9],[1279,9],[1544,9],[1804,9]]},"1416":{"position":[[309,9],[943,9],[1235,9]]},"1417":{"position":[[307,9],[923,9]]},"1418":{"position":[[310,9]]},"1419":{"position":[[306,9],[782,9]]},"1420":{"position":[[310,9],[943,9]]},"1421":{"position":[[319,9],[856,9]]},"1422":{"position":[[307,9]]},"1423":{"position":[[304,9]]},"1424":{"position":[[306,9],[992,9]]},"1425":{"position":[[320,9]]},"1426":{"position":[[306,9]]},"1427":{"position":[[307,9],[542,9]]},"1428":{"position":[[306,9]]},"1429":{"position":[[304,9],[577,9],[988,9],[1584,9],[1643,9]]},"1430":{"position":[[311,9],[359,9]]},"1431":{"position":[[333,9]]},"1432":{"position":[[312,9],[1238,9]]},"1433":{"position":[[305,9]]},"1434":{"position":[[307,9]]},"1435":{"position":[[312,9],[429,9]]},"1436":{"position":[[308,9]]},"1437":{"position":[[305,9]]},"1438":{"position":[[303,9]]},"1439":{"position":[[309,9],[572,9],[1238,9],[1248,9]]},"1440":{"position":[[306,9],[607,9],[1062,9],[1437,9],[1447,9],[1785,9],[1844,9]]},"1441":{"position":[[311,9]]},"1442":{"position":[[312,9]]},"1443":{"position":[[305,9]]},"1444":{"position":[[306,9],[579,9]]},"1445":{"position":[[309,9]]},"1446":{"position":[[306,9]]},"1447":{"position":[[308,9]]},"1448":{"position":[[307,9],[863,9]]},"1449":{"position":[[308,9],[805,9]]},"1450":{"position":[[307,9],[810,9]]},"1451":{"position":[[307,9],[810,9]]},"1452":{"position":[[303,9]]},"1453":{"position":[[319,9]]},"1454":{"position":[[315,9],[654,9],[717,9],[790,9],[956,9],[2506,9],[2613,9]]},"1455":{"position":[[321,9],[620,9],[786,9],[819,9]]},"1456":{"position":[[318,9]]},"1457":{"position":[[314,9]]},"1458":{"position":[[307,9]]},"1459":{"position":[[318,9]]},"1460":{"position":[[317,9]]},"1461":{"position":[[318,9]]},"1462":{"position":[[308,9],[1189,9],[1685,9],[1865,9],[1921,9],[1994,9],[2058,9],[2398,9],[2810,9],[2832,9],[3154,9],[3850,9],[3918,9]]},"1463":{"position":[[318,9]]},"1464":{"position":[[319,9]]},"1465":{"position":[[309,9],[876,9],[936,9],[1027,9],[1065,9],[1109,9],[1243,9],[1322,9]]},"1466":{"position":[[322,9],[472,9],[597,9],[656,9]]},"1467":{"position":[[306,9],[1256,9],[1476,9],[1821,9],[2040,9],[2096,9],[2169,9],[2233,9],[2573,9],[2963,9],[2985,9],[3358,9],[3582,9],[4069,9],[4128,9],[4285,9],[4377,9],[4438,9],[4783,9],[4862,9]]},"1468":{"position":[[313,9]]},"1469":{"position":[[306,9]]},"1470":{"position":[[340,9],[641,9],[1113,9],[1523,9],[1533,9],[1717,9],[2106,9],[2165,9]]},"1471":{"position":[[306,9],[879,9],[1240,9],[1389,9],[1440,9],[1483,9]]},"1472":{"position":[[307,9],[779,9],[899,9],[976,9],[1252,9],[1303,9],[1396,9]]},"1473":{"position":[[304,9],[910,9],[1292,9],[1441,9],[1492,9],[1543,9],[1602,9],[1701,9],[1747,9]]},"1474":{"position":[[308,9],[356,9]]},"1475":{"position":[[305,9],[353,9],[764,9]]},"1476":{"position":[[311,9]]},"1477":{"position":[[304,9]]},"1478":{"position":[[302,9],[533,9],[651,9],[702,9],[761,9],[897,9]]},"1479":{"position":[[319,9]]},"1480":{"position":[[308,9]]},"1481":{"position":[[310,9]]},"1482":{"position":[[305,9]]},"1483":{"position":[[310,9]]},"1484":{"position":[[310,9],[482,9]]},"1485":{"position":[[311,9],[441,9],[561,9]]},"1486":{"position":[[306,9],[482,9]]},"1487":{"position":[[303,9]]}},"keywords":{}}],["dict[target_label",{"_index":1926,"title":{},"content":{"363":{"position":[[39,18],[519,18]]},"742":{"position":[[39,18],[519,18]]}},"keywords":{}}],["dict[targetlabel",{"_index":5714,"title":{},"content":{"1112":{"position":[[334,17],[867,17]]}},"keywords":{}}],["dict[typing.ani",{"_index":1270,"title":{},"content":{"99":{"position":[[398,16]]},"231":{"position":[[398,16]]},"345":{"position":[[334,16]]},"636":{"position":[[32,16]]}},"keywords":{}}],["dictionari",{"_index":1068,"title":{},"content":{"86":{"position":[[198,10]]},"94":{"position":[[3821,10]]},"96":{"position":[[196,10]]},"99":{"position":[[816,11]]},"218":{"position":[[198,10]]},"226":{"position":[[3821,10]]},"228":{"position":[[196,10]]},"231":{"position":[[816,11]]},"304":{"position":[[146,10]]},"389":{"position":[[980,10],[1058,10],[1111,10],[1537,10]]},"553":{"position":[[49,10],[97,10],[144,10]]},"554":{"position":[[72,11],[118,10],[174,10]]},"555":{"position":[[167,10]]},"556":{"position":[[79,11],[142,10]]},"557":{"position":[[84,11],[196,11],[215,10],[380,10]]},"558":{"position":[[115,11],[194,11],[227,10]]},"559":{"position":[[78,11],[173,10],[229,10],[423,11],[487,10]]},"560":{"position":[[86,11],[182,10],[723,10]]},"561":{"position":[[85,11],[230,11]]},"636":{"position":[[78,11],[157,11],[331,11],[452,11]]},"663":{"position":[[1238,13]]},"768":{"position":[[980,10],[1058,10],[1111,10],[1537,10]]},"890":{"position":[[3801,10]]},"900":{"position":[[826,10]]},"901":{"position":[[1192,13]]},"940":{"position":[[428,10]]},"944":{"position":[[129,10],[1899,10],[2149,11]]},"1058":{"position":[[960,10]]},"1235":{"position":[[472,12]]},"1254":{"position":[[549,10]]},"1262":{"position":[[552,11],[647,11]]},"1293":{"position":[[552,11],[647,11]]},"1321":{"position":[[552,11],[647,11]]},"1362":{"position":[[6918,10],[7390,10],[9006,10],[9406,10]]},"1363":{"position":[[5115,10]]},"1364":{"position":[[7157,10],[7629,10],[10120,10],[10520,10]]},"1367":{"position":[[9094,10],[9494,10],[10031,10],[14135,10]]},"1373":{"position":[[4706,10]]},"1382":{"position":[[5776,10],[8725,10]]},"1384":{"position":[[6338,10],[8066,10],[10723,10],[15070,10]]},"1385":{"position":[[3689,10],[4954,10]]},"1387":{"position":[[6022,10],[8327,10]]},"1388":{"position":[[6645,10]]},"1416":{"position":[[3498,10]]},"1420":{"position":[[2635,10]]},"1454":{"position":[[5042,10],[6465,10]]},"1467":{"position":[[9140,11]]},"1485":{"position":[[2057,10],[2989,10]]}},"keywords":{}}],["dictionary'",{"_index":2558,"title":{},"content":{"561":{"position":[[142,12]]}},"keywords":{}}],["dictionary.package_styl",{"_index":8332,"title":{},"content":{"1462":{"position":[[8080,25]]}},"keywords":{}}],["didn't",{"_index":4043,"title":{},"content":{"867":{"position":[[1985,6]]}},"keywords":{}}],["diff",{"_index":5641,"title":{},"content":{"1102":{"position":[[1000,5]]}},"keywords":{}}],["diff/pr.buck2",{"_index":44,"title":{},"content":{"4":{"position":[[178,13]]}},"keywords":{}}],["differ",{"_index":108,"title":{"23":{"position":[[7,9]]},"703":{"position":[[62,10]]},"704":{"position":[[13,13]]},"833":{"position":[[11,10]]},"835":{"position":[[12,10]]},"947":{"position":[[28,6]]}},"content":{"5":{"position":[[465,7]]},"9":{"position":[[2727,10]]},"10":{"position":[[57,9]]},"22":{"position":[[186,9],[1544,9]]},"23":{"position":[[21,11],[152,9],[2593,9],[3333,12]]},"24":{"position":[[287,11],[564,11]]},"298":{"position":[[3033,9]]},"314":{"position":[[390,7]]},"334":{"position":[[638,9]]},"362":{"position":[[1549,9]]},"474":{"position":[[377,9]]},"582":{"position":[[453,9]]},"616":{"position":[[529,9]]},"688":{"position":[[380,9]]},"693":{"position":[[3258,9],[3301,9],[3666,9],[3817,6]]},"704":{"position":[[1276,9]]},"705":{"position":[[114,10]]},"706":{"position":[[68,12]]},"741":{"position":[[1549,9]]},"841":{"position":[[417,9]]},"846":{"position":[[24,9],[1775,9]]},"890":{"position":[[210,9],[1129,9]]},"900":{"position":[[1845,9],[1867,9]]},"904":{"position":[[1561,9]]},"924":{"position":[[733,9]]},"937":{"position":[[89,9],[1221,9],[1430,9],[1559,9],[2875,9],[2990,9]]},"947":{"position":[[65,10]]},"966":{"position":[[0,9]]},"987":{"position":[[769,9]]},"991":{"position":[[2668,9]]},"1009":{"position":[[122,9]]},"1011":{"position":[[50,9],[602,9]]},"1018":{"position":[[53,9]]},"1020":{"position":[[81,9]]},"1022":{"position":[[219,9],[279,9]]},"1024":{"position":[[88,6]]},"1026":{"position":[[204,9],[249,9]]},"1042":{"position":[[288,10]]},"1045":{"position":[[32,11]]},"1088":{"position":[[183,9],[1240,9]]},"1097":{"position":[[40,9]]},"1098":{"position":[[576,10]]},"1114":{"position":[[895,9]]},"1136":{"position":[[3511,9],[3572,9],[3779,9],[3892,9],[3934,9],[3955,9]]},"1138":{"position":[[7173,9],[7234,9],[7441,9],[7554,9],[7596,9],[7617,9]]},"1140":{"position":[[6099,9],[6160,9],[6367,9],[6480,9],[6522,9],[6543,9]]},"1142":{"position":[[444,9],[1543,9],[1604,9],[1811,9],[1924,9],[1966,9],[1987,9]]},"1146":{"position":[[1483,9],[1544,9],[1751,9],[1864,9],[1906,9],[1927,9]]},"1148":{"position":[[272,9],[4523,9],[4584,9],[4791,9],[4904,9],[4946,9],[4967,9]]},"1155":{"position":[[1579,9],[1640,9],[1847,9],[1960,9],[2002,9],[2023,9]]},"1156":{"position":[[1157,9],[1218,9],[1425,9],[1538,9],[1580,9],[1601,9]]},"1167":{"position":[[7103,9],[7164,9],[7371,9],[7484,9],[7526,9],[7547,9]]},"1169":{"position":[[942,9],[1003,9],[1210,9],[1323,9],[1365,9],[1386,9]]},"1172":{"position":[[1564,9]]},"1173":{"position":[[864,9]]},"1186":{"position":[[2747,9],[2808,9],[3015,9],[3128,9],[3170,9],[3191,9]]},"1187":{"position":[[2760,9],[2821,9],[3028,9],[3141,9],[3183,9],[3204,9]]},"1188":{"position":[[7486,9],[7547,9],[7754,9],[7867,9],[7909,9],[7930,9]]},"1191":{"position":[[1347,9],[1408,9],[1615,9],[1728,9],[1770,9],[1791,9]]},"1192":{"position":[[1522,9],[1583,9],[1790,9],[1903,9],[1945,9],[1966,9]]},"1193":{"position":[[1574,9],[1635,9],[1842,9],[1955,9],[1997,9],[2018,9]]},"1194":{"position":[[1214,9],[1275,9],[1482,9],[1595,9],[1637,9],[1658,9]]},"1195":{"position":[[1192,9],[1253,9],[1460,9],[1573,9],[1615,9],[1636,9]]},"1196":{"position":[[1002,9],[1063,9],[1270,9],[1383,9],[1425,9],[1446,9]]},"1197":{"position":[[1985,9],[2046,9],[2253,9],[2366,9],[2408,9],[2429,9]]},"1198":{"position":[[1995,9],[2056,9],[2263,9],[2376,9],[2418,9],[2439,9]]},"1199":{"position":[[2023,9],[2084,9],[2291,9],[2404,9],[2446,9],[2467,9]]},"1200":{"position":[[1890,9],[1951,9],[2158,9],[2271,9],[2313,9],[2334,9]]},"1201":{"position":[[1150,9],[1211,9],[1418,9],[1531,9],[1573,9],[1594,9]]},"1202":{"position":[[2292,9],[2353,9],[2560,9],[2673,9],[2715,9],[2736,9],[6689,9],[6750,9],[6957,9],[7070,9],[7112,9],[7133,9]]},"1203":{"position":[[1384,9],[1445,9],[1652,9],[1765,9],[1807,9],[1828,9]]},"1204":{"position":[[1228,9],[1289,9],[1496,9],[1609,9],[1651,9],[1672,9]]},"1205":{"position":[[2557,9],[2618,9],[2825,9],[2938,9],[2980,9],[3001,9]]},"1206":{"position":[[1028,9],[1089,9],[1296,9],[1409,9],[1451,9],[1472,9]]},"1207":{"position":[[1185,9],[1246,9],[1453,9],[1566,9],[1608,9],[1629,9]]},"1209":{"position":[[2533,9],[2594,9],[2801,9],[2914,9],[2956,9],[2977,9]]},"1217":{"position":[[5844,9],[5905,9],[6112,9],[6225,9],[6267,9],[6288,9]]},"1219":{"position":[[1830,9],[1891,9],[2098,9],[2211,9],[2253,9],[2274,9]]},"1222":{"position":[[954,9],[1015,9],[1222,9],[1335,9],[1377,9],[1398,9]]},"1223":{"position":[[964,9],[1025,9],[1232,9],[1345,9],[1387,9],[1408,9]]},"1224":{"position":[[1144,9],[1205,9],[1412,9],[1525,9],[1567,9],[1588,9]]},"1226":{"position":[[1261,9],[1841,9],[6312,9],[6373,9],[6580,9],[6693,9],[6735,9],[6756,9]]},"1228":{"position":[[7925,9],[7986,9],[8193,9],[8306,9],[8348,9],[8369,9]]},"1235":{"position":[[3793,9],[3854,9],[4061,9],[4174,9],[4216,9],[4237,9]]},"1237":{"position":[[1431,9],[2011,9],[6482,9],[6543,9],[6750,9],[6863,9],[6905,9],[6926,9]]},"1243":{"position":[[313,9],[444,9],[526,9]]},"1247":{"position":[[613,9]]},"1254":{"position":[[620,9]]},"1351":{"position":[[3756,9]]},"1362":{"position":[[5158,6]]},"1364":{"position":[[5187,6]]},"1366":{"position":[[3204,9]]},"1370":{"position":[[1759,9]]},"1383":{"position":[[4912,9]]},"1384":{"position":[[21889,9]]},"1386":{"position":[[6131,9],[6162,11],[6204,9]]},"1393":{"position":[[6312,11]]},"1399":{"position":[[2619,9]]},"1403":{"position":[[7564,9]]},"1482":{"position":[[1776,9]]},"1486":{"position":[[2951,9]]}},"keywords":{}}],["differenttarget",{"_index":3548,"title":{},"content":{"693":{"position":[[3831,15]]}},"keywords":{}}],["difficult",{"_index":4503,"title":{},"content":{"919":{"position":[[2392,9]]}},"keywords":{}}],["difficulti",{"_index":308,"title":{},"content":{"9":{"position":[[2865,12]]}},"keywords":{}}],["digest",{"_index":1039,"title":{"897":{"position":[[8,8]]},"971":{"position":[[0,6]]}},"content":{"85":{"position":[[68,7],[267,7],[453,6],[628,6],[684,6]]},"90":{"position":[[70,6],[127,7],[231,6]]},"94":{"position":[[2307,6]]},"217":{"position":[[68,7],[267,7],[453,6],[628,6],[684,6]]},"222":{"position":[[70,6],[127,7],[231,6]]},"226":{"position":[[2307,6]]},"445":{"position":[[53,6],[112,7]]},"693":{"position":[[541,7]]},"704":{"position":[[1666,8],[1865,6],[2362,7]]},"705":{"position":[[19,8],[88,7],[294,6],[544,7]]},"724":{"position":[[373,6],[533,7],[663,7],[676,6]]},"824":{"position":[[53,6],[112,7]]},"895":{"position":[[601,6]]},"973":{"position":[[41,7],[99,6],[152,6],[229,7],[291,7],[353,6]]},"975":{"position":[[228,7],[381,7]]},"1050":{"position":[[1299,7],[1553,6],[3673,7]]},"1112":{"position":[[3212,6],[3233,7]]},"1172":{"position":[[418,7],[549,6],[611,6]]}},"keywords":{}}],["digest'",{"_index":1052,"title":{},"content":{"85":{"position":[[381,8]]},"217":{"position":[[381,8]]}},"keywords":{}}],["digest_algorithm",{"_index":6313,"title":{},"content":{"1345":{"position":[[1392,17]]}},"keywords":{}}],["digest_config",{"_index":1097,"title":{"100":{"position":[[0,13]]},"499":{"position":[[0,13]]}},"content":{"90":{"position":[[34,13]]},"222":{"position":[[34,13]]}},"keywords":{}}],["digest_config.allows_blake3",{"_index":1284,"title":{"101":{"position":[[0,28]]},"500":{"position":[[0,28]]}},"content":{"101":{"position":[[4,29]]},"500":{"position":[[4,29]]}},"keywords":{}}],["digest_config.allows_blake3_key",{"_index":1285,"title":{"102":{"position":[[0,34]]},"501":{"position":[[0,34]]}},"content":{"102":{"position":[[4,35]]},"501":{"position":[[4,35]]}},"keywords":{}}],["digest_config.allows_sha1",{"_index":1286,"title":{"103":{"position":[[0,26]]},"502":{"position":[[0,26]]}},"content":{"103":{"position":[[4,27]]},"502":{"position":[[4,27]]}},"keywords":{}}],["digest_config.allows_sha256",{"_index":1287,"title":{"104":{"position":[[0,28]]},"503":{"position":[[0,28]]}},"content":{"104":{"position":[[4,29]]},"503":{"position":[[4,29]]}},"keywords":{}}],["digit",{"_index":2846,"title":{},"content":{"597":{"position":[[98,7],[198,7]]},"599":{"position":[[86,7],[177,7]]},"1404":{"position":[[1457,5]]}},"keywords":{}}],["dir",{"_index":434,"title":{"637":{"position":[[0,4]]}},"content":{"13":{"position":[[441,3]]},"69":{"position":[[460,4],[499,3]]},"89":{"position":[[66,4],[1148,3]]},"221":{"position":[[66,4],[1148,3]]},"316":{"position":[[114,4],[140,3]]},"408":{"position":[[1007,4],[1046,3]]},"457":{"position":[[460,4],[499,3]]},"637":{"position":[[31,4]]},"692":{"position":[[151,5],[195,3],[225,3]]},"693":{"position":[[5039,4]]},"787":{"position":[[1007,4],[1046,3]]},"910":{"position":[[121,3]]},"1136":{"position":[[3731,4]]},"1138":{"position":[[3031,3],[7393,4]]},"1140":{"position":[[2520,3],[6319,4]]},"1142":{"position":[[1763,4]]},"1146":{"position":[[1703,4]]},"1148":{"position":[[4743,4]]},"1155":{"position":[[349,3],[1799,4]]},"1156":{"position":[[201,3],[242,3],[1377,4]]},"1167":{"position":[[3524,3],[7323,4]]},"1169":{"position":[[1162,4]]},"1186":{"position":[[2967,4]]},"1187":{"position":[[2980,4]]},"1188":{"position":[[2573,3],[7706,4]]},"1191":{"position":[[1567,4]]},"1192":{"position":[[1742,4]]},"1193":{"position":[[1794,4]]},"1194":{"position":[[1434,4]]},"1195":{"position":[[221,3],[1412,4]]},"1196":{"position":[[1222,4]]},"1197":{"position":[[2205,4]]},"1198":{"position":[[2215,4]]},"1199":{"position":[[2243,4]]},"1200":{"position":[[2110,4]]},"1201":{"position":[[1370,4]]},"1202":{"position":[[2512,4],[6909,4]]},"1203":{"position":[[1604,4]]},"1204":{"position":[[1448,4]]},"1205":{"position":[[2777,4]]},"1206":{"position":[[1248,4]]},"1207":{"position":[[1405,4]]},"1209":{"position":[[2753,4]]},"1211":{"position":[[197,3]]},"1217":{"position":[[2265,3],[6064,4]]},"1219":{"position":[[2050,4]]},"1222":{"position":[[1174,4]]},"1223":{"position":[[1184,4]]},"1224":{"position":[[1364,4]]},"1226":{"position":[[6532,4]]},"1228":{"position":[[4346,3],[8145,4]]},"1235":{"position":[[4013,4]]},"1237":{"position":[[6702,4]]},"1243":{"position":[[1218,4]]},"1258":{"position":[[491,3]]},"1289":{"position":[[491,3]]},"1317":{"position":[[491,3]]},"1361":{"position":[[454,5],[2403,4],[2536,4]]},"1366":{"position":[[595,5],[3338,4]]},"1402":{"position":[[1932,3]]}},"keywords":{}}],["dir("abc"",{"_index":3114,"title":{},"content":{"637":{"position":[[260,20]]}},"keywords":{}}],["dir(list",{"_index":4219,"title":{},"content":{"890":{"position":[[2125,11]]}},"keywords":{}}],["dir(my_struct",{"_index":3952,"title":{},"content":{"857":{"position":[[12,14]]}},"keywords":{}}],["dir(v",{"_index":3311,"title":{},"content":{"663":{"position":[[818,6]]},"901":{"position":[[773,6]]}},"keywords":{}}],["dir(x",{"_index":3109,"title":{},"content":{"637":{"position":[[4,6],[64,6]]}},"keywords":{}}],["dir/file1.txt",{"_index":8628,"title":{},"content":{"1487":{"position":[[3886,13]]}},"keywords":{}}],["dir/subdir/file2.txt",{"_index":8629,"title":{},"content":{"1487":{"position":[[3900,20]]}},"keywords":{}}],["direactori",{"_index":7058,"title":{},"content":{"1373":{"position":[[5953,10]]},"1405":{"position":[[3277,10]]},"1407":{"position":[[3698,10]]},"1408":{"position":[[2317,10]]},"1410":{"position":[[4685,10]]}},"keywords":{}}],["direct",{"_index":3027,"title":{},"content":{"622":{"position":[[349,6]]},"684":{"position":[[44,8]]},"693":{"position":[[4224,8]]},"695":{"position":[[284,8]]},"958":{"position":[[220,6]]},"990":{"position":[[81,6]]},"991":{"position":[[1096,6],[1152,6]]},"1097":{"position":[[311,6]]},"1133":{"position":[[575,6]]},"1193":{"position":[[561,7]]},"1226":{"position":[[4346,6]]},"1237":{"position":[[4516,6]]},"1361":{"position":[[792,6]]},"1366":{"position":[[1070,6]]},"1373":{"position":[[8398,10]]},"1380":{"position":[[687,6]]},"1382":{"position":[[7318,6]]},"1386":{"position":[[5890,9]]},"1388":{"position":[[8187,6]]},"1416":{"position":[[2616,6]]},"1462":{"position":[[6236,6]]},"1467":{"position":[[7349,6]]}},"keywords":{}}],["direct_deps(target",{"_index":5097,"title":{},"content":{"1026":{"position":[[1475,20]]}},"keywords":{}}],["directli",{"_index":1142,"title":{},"content":{"92":{"position":[[1634,9]]},"224":{"position":[[1634,9]]},"693":{"position":[[1984,8]]},"846":{"position":[[807,8]]},"847":{"position":[[23,8]]},"858":{"position":[[152,8]]},"870":{"position":[[1372,8]]},"889":{"position":[[548,8]]},"905":{"position":[[1370,8]]},"955":{"position":[[1328,8]]},"958":{"position":[[341,8]]},"987":{"position":[[431,8]]},"991":{"position":[[3103,8]]},"1060":{"position":[[140,8]]},"1133":{"position":[[957,8]]},"1150":{"position":[[253,8]]},"1228":{"position":[[2428,8]]},"1358":{"position":[[2780,8]]},"1393":{"position":[[1333,9]]},"1394":{"position":[[782,9]]}},"keywords":{}}],["directly.artifact",{"_index":5139,"title":{},"content":{"1040":{"position":[[1406,18]]}},"keywords":{}}],["directori",{"_index":464,"title":{"977":{"position":[[10,12]]},"1073":{"position":[[8,10]]}},"content":{"15":{"position":[[588,10]]},"18":{"position":[[1927,10],[2100,9]]},"23":{"position":[[545,9]]},"50":{"position":[[184,9]]},"51":{"position":[[96,10]]},"69":{"position":[[26,10],[224,10],[378,10]]},"86":{"position":[[144,9],[252,10],[316,10]]},"87":{"position":[[114,10]]},"88":{"position":[[275,12]]},"89":{"position":[[579,9],[1208,10]]},"94":{"position":[[2134,9],[4072,10],[4268,9]]},"95":{"position":[[295,12]]},"96":{"position":[[146,9],[250,10],[310,10]]},"197":{"position":[[184,9]]},"198":{"position":[[96,10]]},"218":{"position":[[144,9],[252,10],[316,10]]},"219":{"position":[[114,10]]},"220":{"position":[[275,12]]},"221":{"position":[[579,9],[1208,10]]},"226":{"position":[[2134,9],[4072,10],[4268,9]]},"227":{"position":[[295,12]]},"228":{"position":[[146,9],[250,10],[310,10]]},"314":{"position":[[182,9]]},"318":{"position":[[172,10],[270,12]]},"405":{"position":[[2227,9],[2262,9]]},"408":{"position":[[448,10],[520,9],[754,10],[917,10]]},"418":{"position":[[318,10]]},"457":{"position":[[26,10],[224,10],[378,10]]},"570":{"position":[[43,9],[185,9]]},"581":{"position":[[183,12],[196,9],[279,9],[338,9],[468,9],[600,9],[756,9],[810,9]]},"583":{"position":[[331,10],[777,9],[845,9]]},"584":{"position":[[1512,9]]},"587":{"position":[[411,9]]},"622":{"position":[[853,10],[982,10]]},"675":{"position":[[1259,10]]},"680":{"position":[[74,9]]},"686":{"position":[[112,9],[156,10]]},"693":{"position":[[1753,9],[1775,11],[2153,9],[5109,9],[5147,9],[5504,9],[5589,9],[6156,9]]},"708":{"position":[[431,9]]},"717":{"position":[[173,9],[292,10],[386,9]]},"718":{"position":[[102,9]]},"784":{"position":[[2227,9],[2262,9]]},"787":{"position":[[448,10],[520,9],[754,10],[917,10]]},"797":{"position":[[318,10]]},"867":{"position":[[137,10]]},"910":{"position":[[63,9],[105,9],[144,9],[471,9]]},"911":{"position":[[54,10],[216,10],[251,9]]},"951":{"position":[[825,9]]},"955":{"position":[[217,9],[726,9]]},"977":{"position":[[35,11],[121,9],[251,9],[312,11],[355,9],[389,11]]},"997":{"position":[[34,9]]},"1000":{"position":[[79,9],[104,12],[233,9],[258,9]]},"1050":{"position":[[2468,9]]},"1064":{"position":[[887,10],[1878,10],[2047,9]]},"1102":{"position":[[588,9]]},"1124":{"position":[[274,9]]},"1156":{"position":[[269,9]]},"1172":{"position":[[682,9]]},"1191":{"position":[[215,9],[423,9]]},"1211":{"position":[[248,9],[307,10]]},"1217":{"position":[[510,9]]},"1359":{"position":[[977,12]]},"1360":{"position":[[3556,9],[3650,9],[3836,10],[3978,10],[4010,10],[4148,12],[4220,12],[4277,9],[4465,9],[5062,10]]},"1361":{"position":[[687,12]]},"1362":{"position":[[8321,10],[13672,11]]},"1364":{"position":[[9170,10],[9312,9],[14372,11]]},"1366":{"position":[[895,12],[2372,9],[3064,9]]},"1367":{"position":[[8409,10]]},"1382":{"position":[[5471,9],[6267,11],[6380,9]]},"1383":{"position":[[6497,9],[7170,10],[7896,9]]},"1384":{"position":[[10418,9],[11214,11],[11327,9],[16888,11],[17037,9],[17136,11],[17339,9]]},"1385":{"position":[[3113,9],[3385,9]]},"1387":{"position":[[5390,9],[5718,9]]},"1388":{"position":[[7136,11],[7249,9]]},"1393":{"position":[[2390,10],[5943,9],[5969,9],[7015,10],[7233,10],[9931,10]]},"1395":{"position":[[2318,9]]},"1398":{"position":[[3899,9],[3979,9],[4008,9],[4179,10],[5235,10],[5536,9]]},"1403":{"position":[[2971,9],[3065,9],[3251,10],[3393,10],[3425,10],[3563,12],[3635,12],[3692,9],[3880,9],[5219,10],[5459,10],[6996,9]]},"1407":{"position":[[4079,9]]},"1412":{"position":[[3858,9],[4060,9]]},"1415":{"position":[[5828,10]]},"1422":{"position":[[2279,9],[2686,10],[2943,9]]},"1427":{"position":[[7334,9]]},"1439":{"position":[[6020,10],[8160,9]]},"1444":{"position":[[1740,9],[2100,9]]},"1446":{"position":[[2010,9],[2561,9]]},"1454":{"position":[[7322,9]]},"1459":{"position":[[1767,9],[1983,9]]},"1462":{"position":[[5614,9],[8946,10]]},"1465":{"position":[[2544,9],[4533,9]]},"1467":{"position":[[6109,9],[11063,9]]},"1469":{"position":[[2138,10]]},"1470":{"position":[[4722,9]]},"1471":{"position":[[4101,9]]},"1472":{"position":[[4685,9]]},"1473":{"position":[[4422,9]]},"1477":{"position":[[2143,9],[2474,9]]},"1485":{"position":[[1753,9],[2547,11],[2660,9]]}},"keywords":{}}],["directories).accept",{"_index":4833,"title":{},"content":{"975":{"position":[[170,21]]}},"keywords":{}}],["directory'",{"_index":2158,"title":{},"content":{"405":{"position":[[2317,11]]},"784":{"position":[[2317,11]]},"1477":{"position":[[2189,11],[2275,11]]}},"keywords":{}}],["directory.fil",{"_index":2662,"title":{},"content":{"581":{"position":[[248,14]]},"583":{"position":[[659,15]]}},"keywords":{}}],["directory.th",{"_index":2691,"title":{},"content":{"583":{"position":[[716,13]]}},"keywords":{}}],["directory/etc",{"_index":2667,"title":{},"content":{"581":{"position":[[509,15]]}},"keywords":{}}],["directory/output.o",{"_index":1095,"title":{},"content":{"89":{"position":[[1124,19]]},"221":{"position":[[1124,19]]}},"keywords":{}}],["dirnam",{"_index":7772,"title":{},"content":{"1407":{"position":[[5125,8]]}},"keywords":{}}],["dirs_onli",{"_index":1754,"title":{},"content":{"318":{"position":[[65,10],[245,9]]}},"keywords":{}}],["dirti",{"_index":5966,"title":{},"content":{"1161":{"position":[[273,5]]}},"keywords":{}}],["disabl",{"_index":477,"title":{"692":{"position":[[11,9]]}},"content":{"16":{"position":[[42,8]]},"94":{"position":[[2919,7]]},"226":{"position":[[2919,7]]},"942":{"position":[[1817,8]]},"1056":{"position":[[660,9]]},"1120":{"position":[[252,7]]},"1136":{"position":[[4571,7],[4594,7],[5636,7]]},"1138":{"position":[[2807,7],[8233,7],[8256,7],[9298,7]]},"1140":{"position":[[2296,7],[7159,7],[7182,7],[8224,7]]},"1142":{"position":[[2603,7],[2626,7],[3668,7]]},"1146":{"position":[[2543,7],[2566,7],[3608,7]]},"1148":{"position":[[5583,7],[5606,7],[6648,7]]},"1155":{"position":[[2639,7],[2662,7],[3704,7]]},"1156":{"position":[[2217,7],[2240,7],[3282,7]]},"1161":{"position":[[1175,7]]},"1167":{"position":[[3300,7],[8163,7],[8186,7],[9228,7]]},"1169":{"position":[[2002,7],[2025,7]]},"1181":{"position":[[1387,7]]},"1186":{"position":[[3807,7],[3830,7],[4872,7]]},"1187":{"position":[[3820,7],[3843,7],[4885,7]]},"1188":{"position":[[2349,7],[8546,7],[8569,7],[9611,7]]},"1191":{"position":[[2407,7],[2430,7],[3472,7]]},"1192":{"position":[[2582,7],[2605,7],[3647,7]]},"1193":{"position":[[2634,7],[2657,7],[3699,7]]},"1194":{"position":[[2274,7],[2297,7],[3339,7]]},"1195":{"position":[[2252,7],[2275,7],[3317,7]]},"1196":{"position":[[2062,7],[2085,7],[3127,7]]},"1197":{"position":[[3045,7],[3068,7],[4110,7]]},"1198":{"position":[[3055,7],[3078,7],[4120,7]]},"1199":{"position":[[3083,7],[3106,7],[4148,7]]},"1200":{"position":[[2950,7],[2973,7],[4015,7]]},"1201":{"position":[[2210,7],[2233,7],[3275,7]]},"1202":{"position":[[3352,7],[3375,7],[4417,7],[7749,7],[7772,7],[8814,7]]},"1203":{"position":[[2444,7],[2467,7],[3509,7]]},"1204":{"position":[[2288,7],[2311,7],[3353,7]]},"1205":{"position":[[3617,7],[3640,7],[4682,7]]},"1206":{"position":[[2088,7],[2111,7],[3153,7]]},"1207":{"position":[[2245,7],[2268,7],[3310,7]]},"1209":{"position":[[3593,7],[3616,7],[4658,7]]},"1217":{"position":[[2041,7],[6904,7],[6927,7],[7969,7]]},"1219":{"position":[[2890,7],[2913,7]]},"1222":{"position":[[2014,7],[2037,7],[3079,7]]},"1223":{"position":[[2024,7],[2047,7],[3089,7]]},"1224":{"position":[[2204,7],[2227,7]]},"1226":{"position":[[7372,7],[7395,7],[8437,7]]},"1228":{"position":[[2397,7],[4122,7],[8985,7],[9008,7],[10050,7]]},"1235":{"position":[[4853,7],[4876,7],[5918,7]]},"1237":{"position":[[7542,7],[7565,7],[8607,7]]},"1239":{"position":[[51,7]]},"1354":{"position":[[2449,8]]}},"keywords":{}}],["disable_anim",{"_index":6523,"title":{},"content":{"1354":{"position":[[644,19]]}},"keywords":{}}],["disable_pre_dex",{"_index":6429,"title":{},"content":{"1350":{"position":[[1551,16]]},"1352":{"position":[[1550,16]]},"1353":{"position":[[749,16]]}},"keywords":{}}],["disappear",{"_index":4168,"title":{},"content":{"888":{"position":[[670,9]]}},"keywords":{}}],["discourag",{"_index":1337,"title":{},"content":{"125":{"position":[[141,12]]},"248":{"position":[[141,12]]},"429":{"position":[[600,11]]},"438":{"position":[[235,12]]},"808":{"position":[[600,11]]},"817":{"position":[[235,12]]},"1398":{"position":[[2926,12]]}},"keywords":{}}],["discov",{"_index":684,"title":{},"content":{"22":{"position":[[1863,8]]},"90":{"position":[[113,8]]},"222":{"position":[[113,8]]},"718":{"position":[[124,8]]},"890":{"position":[[4807,10]]},"1219":{"position":[[627,8]]}},"keywords":{}}],["discoveri",{"_index":4819,"title":{},"content":{"969":{"position":[[91,9]]}},"keywords":{}}],["discuss",{"_index":2616,"title":{},"content":{"573":{"position":[[245,9]]},"584":{"position":[[42,9]]},"1272":{"position":[[246,10]]},"1303":{"position":[[246,10]]},"1331":{"position":[[246,10]]}},"keywords":{}}],["disk",{"_index":1133,"title":{"1077":{"position":[[3,4]]}},"content":{"92":{"position":[[1206,4]]},"94":{"position":[[1783,5]]},"224":{"position":[[1206,4]]},"226":{"position":[[1783,5]]},"315":{"position":[[101,5]]},"344":{"position":[[406,5]]},"416":{"position":[[375,4]]},"417":{"position":[[605,4]]},"688":{"position":[[1445,4]]},"795":{"position":[[375,4]]},"796":{"position":[[605,4]]},"873":{"position":[[581,4]]},"954":{"position":[[302,4]]},"1040":{"position":[[1632,4]]},"1050":{"position":[[1208,4]]},"1077":{"position":[[45,4],[120,4],[253,5]]},"1078":{"position":[[245,4],[336,5]]},"1079":{"position":[[388,4]]},"1100":{"position":[[110,5],[191,4]]},"1103":{"position":[[1101,5]]},"1142":{"position":[[561,4]]},"1383":{"position":[[5751,4]]},"1388":{"position":[[5029,4],[6439,4]]},"1467":{"position":[[6792,4]]}},"keywords":{}}],["display",{"_index":1584,"title":{},"content":{"288":{"position":[[210,7]]},"289":{"position":[[230,7]]},"305":{"position":[[187,9]]},"346":{"position":[[193,9]]},"347":{"position":[[291,9]]},"510":{"position":[[236,7]]},"511":{"position":[[256,7]]},"632":{"position":[[148,7]]},"635":{"position":[[208,8]]},"690":{"position":[[432,7]]},"833":{"position":[[182,9]]},"867":{"position":[[861,8]]},"990":{"position":[[445,9]]},"1120":{"position":[[800,7]]},"1172":{"position":[[2003,7],[2106,7]]}},"keywords":{}}],["dist_lto_tool",{"_index":7363,"title":{},"content":{"1389":{"position":[[2179,15]]}},"keywords":{}}],["dist_thin_lto_codegen_flag",{"_index":7364,"title":{},"content":{"1389":{"position":[[2204,28]]}},"keywords":{}}],["distinct",{"_index":1016,"title":{},"content":{"81":{"position":[[309,8]]},"213":{"position":[[309,8]]},"581":{"position":[[769,8]]},"690":{"position":[[3235,11]]},"995":{"position":[[799,8]]},"1017":{"position":[[908,8],[964,8]]},"1370":{"position":[[1790,8]]},"1386":{"position":[[2424,8]]}},"keywords":{}}],["distinguish",{"_index":4884,"title":{},"content":{"987":{"position":[[566,11]]},"991":{"position":[[1211,11]]}},"keywords":{}}],["distribut",{"_index":733,"title":{},"content":{"23":{"position":[[1791,11]]},"92":{"position":[[449,11]]},"224":{"position":[[449,11]]},"693":{"position":[[6781,11]]},"1461":{"position":[[3282,13]]}},"keywords":{}}],["distributed_thinlto_partial_split_dwarf",{"_index":7146,"title":{},"content":{"1382":{"position":[[953,40]]},"1388":{"position":[[1086,40]]},"1462":{"position":[[1284,40]]},"1467":{"position":[[1351,40]]}},"keywords":{}}],["disturb",{"_index":5392,"title":{},"content":{"1057":{"position":[[658,10]]}},"keywords":{}}],["diverg",{"_index":4710,"title":{},"content":{"944":{"position":[[2007,7]]}},"keywords":{}}],["divid",{"_index":2614,"title":{},"content":{"573":{"position":[[61,7]]},"988":{"position":[[382,6]]}},"keywords":{}}],["dll",{"_index":7127,"title":{},"content":{"1381":{"position":[[1895,4],[1943,3],[1982,3],[2226,4],[2291,3]]},"1383":{"position":[[3727,7],[3855,7]]},"1456":{"position":[[1478,3]]}},"keywords":{}}],["dll_name",{"_index":7119,"title":{},"content":{"1381":{"position":[[503,9],[2570,8]]}},"keywords":{}}],["do",{"_index":1992,"title":{"1233":{"position":[[15,6]]}},"content":{"368":{"position":[[2636,5]]},"706":{"position":[[2076,5]]},"747":{"position":[[2636,5]]},"919":{"position":[[2866,5]]},"975":{"position":[[138,5]]},"1087":{"position":[[395,5]]},"1138":{"position":[[4998,5]]},"1140":{"position":[[4487,5]]},"1167":{"position":[[5491,5]]},"1188":{"position":[[4540,5]]},"1217":{"position":[[4232,5]]},"1228":{"position":[[6313,5]]},"1231":{"position":[[85,6],[446,5]]},"1233":{"position":[[44,5]]},"1241":{"position":[[21,5]]},"1486":{"position":[[3602,5]]}},"keywords":{}}],["do_not_create_inner_jar",{"_index":7948,"title":{},"content":{"1426":{"position":[[629,24]]}},"keywords":{}}],["doc",{"_index":1336,"title":{"839":{"position":[[15,5]]},"1153":{"position":[[0,4]]},"1154":{"position":[[5,5]]},"1155":{"position":[[5,4]]},"1156":{"position":[[5,4]]},"1157":{"position":[[5,4]]},"1158":{"position":[[5,4]]},"1159":{"position":[[5,4]]}},"content":{"125":{"position":[[17,4]]},"126":{"position":[[51,4]]},"127":{"position":[[31,4]]},"128":{"position":[[33,4]]},"129":{"position":[[84,4]]},"130":{"position":[[48,4]]},"131":{"position":[[189,4]]},"132":{"position":[[88,4]]},"133":{"position":[[74,4]]},"134":{"position":[[78,4]]},"135":{"position":[[30,4]]},"136":{"position":[[32,4]]},"137":{"position":[[53,4]]},"138":{"position":[[85,4]]},"139":{"position":[[48,4]]},"140":{"position":[[55,4]]},"141":{"position":[[44,4]]},"142":{"position":[[19,4]]},"143":{"position":[[32,4]]},"144":{"position":[[79,4]]},"145":{"position":[[65,4]]},"146":{"position":[[95,4]]},"147":{"position":[[48,4]]},"148":{"position":[[83,4]]},"149":{"position":[[89,4]]},"150":{"position":[[47,4]]},"151":{"position":[[46,4]]},"248":{"position":[[17,4]]},"249":{"position":[[51,4]]},"250":{"position":[[31,4]]},"251":{"position":[[33,4]]},"252":{"position":[[84,4]]},"253":{"position":[[48,4]]},"254":{"position":[[189,4]]},"255":{"position":[[88,4]]},"256":{"position":[[74,4]]},"257":{"position":[[78,4]]},"258":{"position":[[30,4]]},"259":{"position":[[32,4]]},"260":{"position":[[53,4]]},"261":{"position":[[85,4]]},"262":{"position":[[48,4]]},"263":{"position":[[55,4]]},"264":{"position":[[44,4]]},"265":{"position":[[19,4]]},"266":{"position":[[32,4]]},"267":{"position":[[79,4]]},"268":{"position":[[65,4]]},"269":{"position":[[95,4]]},"270":{"position":[[48,4]]},"271":{"position":[[83,4]]},"272":{"position":[[89,4]]},"273":{"position":[[47,4]]},"274":{"position":[[46,4]]},"400":{"position":[[102,4]]},"403":{"position":[[74,4]]},"427":{"position":[[17,4]]},"437":{"position":[[106,4]]},"779":{"position":[[102,4]]},"782":{"position":[[74,4]]},"806":{"position":[[17,4]]},"816":{"position":[[106,4]]},"846":{"position":[[392,5]]},"980":{"position":[[193,3]]},"991":{"position":[[1170,3],[2738,3]]},"1131":{"position":[[640,4]]},"1136":{"position":[[203,4]]},"1148":{"position":[[736,4]]},"1154":{"position":[[62,4]]},"1155":{"position":[[74,4]]},"1156":{"position":[[90,3],[159,4]]},"1157":{"position":[[58,4]]},"1158":{"position":[[52,4]]},"1159":{"position":[[52,4]]},"1235":{"position":[[529,4]]},"1370":{"position":[[2489,4]]}},"keywords":{}}],["doc_dep",{"_index":4936,"title":{},"content":{"991":{"position":[[2077,8]]},"1472":{"position":[[745,9],[2976,9]]}},"keywords":{}}],["doc_env",{"_index":8445,"title":{},"content":{"1472":{"position":[[770,8],[3095,8]]}},"keywords":{}}],["doc_link_styl",{"_index":8446,"title":{},"content":{"1472":{"position":[[799,15],[3239,15]]}},"keywords":{}}],["doc_linker_flag",{"_index":8447,"title":{},"content":{"1472":{"position":[[831,17],[3388,17]]}},"keywords":{}}],["doc_named_dep",{"_index":8448,"title":{},"content":{"1472":{"position":[[864,15],[3457,15]]}},"keywords":{}}],["docd",{"_index":4446,"title":{},"content":{"910":{"position":[[33,4]]}},"keywords":{}}],["doctest",{"_index":8449,"title":{},"content":{"1472":{"position":[[919,9]]}},"keywords":{}}],["document",{"_index":2,"title":{"1":{"position":[[6,13]]}},"content":{"3":{"position":[[73,13]]},"10":{"position":[[597,10]]},"676":{"position":[[202,13]]},"840":{"position":[[1215,13],[1572,14]]},"841":{"position":[[298,13]]},"890":{"position":[[1662,8]]},"1113":{"position":[[552,10],[613,10]]},"1136":{"position":[[273,13]]},"1148":{"position":[[806,13]]},"1154":{"position":[[6,13],[118,13],[192,13],[241,13],[285,13],[323,13]]},"1155":{"position":[[6,13],[259,13],[576,13],[661,13]]},"1156":{"position":[[9,13]]},"1157":{"position":[[6,13],[131,13]]},"1158":{"position":[[6,13],[125,13]]},"1159":{"position":[[6,13],[125,13]]},"1219":{"position":[[586,13]]},"1235":{"position":[[599,13]]},"1348":{"position":[[3572,13],[4463,13]]},"1353":{"position":[[2303,13]]},"1358":{"position":[[2843,13]]},"1362":{"position":[[12826,13]]},"1364":{"position":[[13526,13]]},"1367":{"position":[[12734,13]]},"1382":{"position":[[11188,13]]},"1384":{"position":[[18842,13]]},"1385":{"position":[[6766,13]]},"1387":{"position":[[10139,13]]},"1388":{"position":[[9681,13]]},"1393":{"position":[[6041,13],[9407,14]]},"1395":{"position":[[753,13],[2223,13]]},"1397":{"position":[[732,13]]},"1398":{"position":[[2561,14],[5024,14]]},"1442":{"position":[[2561,13]]},"1485":{"position":[[4052,13]]}},"keywords":{}}],["does_not_affect_abi",{"_index":7943,"title":{},"content":{"1425":{"position":[[490,20]]},"1428":{"position":[[476,20]]}},"keywords":{}}],["doesn't",{"_index":3502,"title":{},"content":{"690":{"position":[[3002,7]]},"693":{"position":[[2329,7]]},"900":{"position":[[320,7]]},"919":{"position":[[1237,7]]},"951":{"position":[[746,7]]},"984":{"position":[[116,7]]},"1050":{"position":[[4350,7]]},"1057":{"position":[[812,7]]},"1071":{"position":[[163,7],[1295,7]]},"1083":{"position":[[356,7]]},"1105":{"position":[[876,7]]},"1114":{"position":[[877,7]]},"1373":{"position":[[7690,7]]},"1382":{"position":[[10466,7]]},"1384":{"position":[[17540,7]]},"1388":{"position":[[8959,7]]},"1393":{"position":[[2788,7]]},"1422":{"position":[[2543,7]]},"1423":{"position":[[2212,7]]},"1485":{"position":[[3331,7]]}},"keywords":{}}],["doesn’t",{"_index":3665,"title":{},"content":{"706":{"position":[[531,7]]},"955":{"position":[[1037,7]]},"961":{"position":[[296,7]]},"966":{"position":[[484,7]]}},"keywords":{}}],["don't",{"_index":711,"title":{"1036":{"position":[[10,5]]}},"content":{"23":{"position":[[965,5]]},"99":{"position":[[1185,5]]},"231":{"position":[[1185,5]]},"286":{"position":[[307,5]]},"833":{"position":[[442,5]]},"879":{"position":[[60,5]]},"920":{"position":[[91,5]]},"924":{"position":[[876,5],[1678,5],[2406,5],[2435,5]]},"935":{"position":[[134,5]]},"937":{"position":[[2493,5]]},"977":{"position":[[549,5]]},"990":{"position":[[1418,5]]},"1024":{"position":[[128,5]]},"1037":{"position":[[158,5]]},"1060":{"position":[[108,5]]},"1086":{"position":[[351,5]]},"1087":{"position":[[339,5]]},"1102":{"position":[[1068,5]]},"1105":{"position":[[2008,6]]},"1161":{"position":[[196,5]]},"1191":{"position":[[282,5]]},"1226":{"position":[[1564,5],[4117,5]]},"1237":{"position":[[1734,5],[4287,5]]},"1251":{"position":[[280,5]]},"1255":{"position":[[413,5]]},"1355":{"position":[[4254,5]]},"1403":{"position":[[7485,5]]},"1410":{"position":[[3701,5]]},"1427":{"position":[[3399,5]]},"1439":{"position":[[4073,5]]},"1486":{"position":[[2907,5]]}},"keywords":{}}],["done",{"_index":3812,"title":{},"content":{"724":{"position":[[1710,4]]},"933":{"position":[[61,4]]},"1014":{"position":[[611,4]]},"1017":{"position":[[61,4]]},"1052":{"position":[[133,4]]},"1060":{"position":[[26,4],[342,4]]},"1098":{"position":[[350,4]]},"1100":{"position":[[231,5]]},"1345":{"position":[[980,4]]},"1346":{"position":[[665,4],[719,4]]},"1351":{"position":[[3418,4]]},"1355":{"position":[[5902,4]]},"1407":{"position":[[1224,4]]},"1427":{"position":[[5075,4]]},"1429":{"position":[[5445,4]]},"1440":{"position":[[5439,4]]},"1478":{"position":[[2107,5],[3233,4]]},"1486":{"position":[[4649,5]]}},"keywords":{}}],["done.if",{"_index":3638,"title":{},"content":{"704":{"position":[[803,7]]}},"keywords":{}}],["don’t",{"_index":271,"title":{},"content":{"9":{"position":[[2079,5]]},"10":{"position":[[518,5]]},"416":{"position":[[644,5]]},"417":{"position":[[874,5]]},"706":{"position":[[1145,5]]},"795":{"position":[[644,5]]},"796":{"position":[[874,5]]},"1231":{"position":[[475,5]]}},"keywords":{}}],["dot",{"_index":2619,"title":{"575":{"position":[[0,3]]}},"content":{"575":{"position":[[33,3],[411,3],[485,3]]},"915":{"position":[[86,3]]},"917":{"position":[[107,3]]},"1001":{"position":[[194,3]]},"1064":{"position":[[250,3]]},"1136":{"position":[[1989,3],[2012,3],[2025,3],[2083,3],[2172,3],[2178,3],[2233,3],[2358,4]]},"1148":{"position":[[2345,3],[2368,3],[2381,3],[2439,3],[2528,3],[2534,3],[2589,3],[2714,4]]},"1209":{"position":[[1222,3],[1245,3],[1258,3],[1316,3],[1405,3],[1411,3],[1466,3],[1591,4]]},"1235":{"position":[[2482,3],[2505,3],[2518,3],[2576,3],[2665,3],[2671,3],[2726,3],[2851,4]]},"1260":{"position":[[940,3],[1055,3]]},"1291":{"position":[[940,3],[1055,3]]},"1319":{"position":[[940,3],[1055,3]]}},"keywords":{}}],["dot_compact",{"_index":5876,"title":{},"content":{"1136":{"position":[[2196,11],[2369,12]]},"1148":{"position":[[2552,11],[2725,12]]},"1209":{"position":[[1429,11],[1602,12]]},"1235":{"position":[[2689,11],[2862,12]]}},"keywords":{}}],["doubl",{"_index":2629,"title":{},"content":{"576":{"position":[[225,6]]},"577":{"position":[[557,6]]},"664":{"position":[[96,6]]},"668":{"position":[[235,6]]},"1395":{"position":[[3477,7]]},"1397":{"position":[[3358,7]]}},"keywords":{}}],["down",{"_index":277,"title":{"703":{"position":[[4,4]]}},"content":{"9":{"position":[[2174,4]]},"703":{"position":[[38,5]]},"705":{"position":[[669,4]]},"906":{"position":[[721,4],[993,4]]},"947":{"position":[[427,4]]},"955":{"position":[[529,4]]},"1228":{"position":[[1564,4]]},"1462":{"position":[[8600,4]]},"1467":{"position":[[10082,4]]},"1486":{"position":[[2797,4]]}},"keywords":{}}],["download",{"_index":1045,"title":{},"content":{"85":{"position":[[229,9]]},"90":{"position":[[172,8]]},"91":{"position":[[244,9],[604,10]]},"217":{"position":[[229,9]]},"222":{"position":[[172,8]]},"223":{"position":[[244,9],[604,10]]},"704":{"position":[[770,9],[1113,9],[2132,8],[2567,9]]},"705":{"position":[[868,9],[919,8],[1021,8]]},"706":{"position":[[1823,11],[2016,11],[2156,11],[2342,8],[2566,8]]},"724":{"position":[[698,8],[1082,8],[1637,11]]},"848":{"position":[[83,10]]},"895":{"position":[[645,8]]},"897":{"position":[[75,11]]},"1037":{"position":[[112,10]]},"1077":{"position":[[175,11]]},"1120":{"position":[[740,10]]},"1138":{"position":[[3917,11]]},"1140":{"position":[[3406,11]]},"1167":{"position":[[4410,11]]},"1172":{"position":[[595,8],[1125,11]]},"1173":{"position":[[425,11]]},"1174":{"position":[[329,11]]},"1175":{"position":[[349,11]]},"1176":{"position":[[433,11]]},"1177":{"position":[[345,11]]},"1178":{"position":[[499,11]]},"1179":{"position":[[365,11]]},"1180":{"position":[[695,11]]},"1181":{"position":[[450,11]]},"1182":{"position":[[387,11]]},"1183":{"position":[[342,11]]},"1188":{"position":[[3459,11]]},"1217":{"position":[[3151,11]]},"1228":{"position":[[5232,11]]},"1354":{"position":[[2388,9]]},"1422":{"position":[[758,8],[866,10],[905,10],[2298,10],[2458,10],[3530,8],[3612,8],[3816,10],[3930,10]]},"1423":{"position":[[656,8],[748,9],[856,10],[895,10],[1861,12],[1986,10],[2127,10],[2301,8],[2383,8],[2586,10],[2697,10]]},"1461":{"position":[[2996,8],[3036,10]]},"1469":{"position":[[663,8],[756,10],[795,10],[1782,10],[1922,10],[2397,10]]}},"keywords":{}}],["download"",{"_index":8273,"title":{},"content":{"1461":{"position":[[3408,15],[3789,15]]}},"keywords":{}}],["downloadbuck2",{"_index":503,"title":{},"content":{"17":{"position":[[630,13]]}},"keywords":{}}],["downloaded.if",{"_index":3639,"title":{},"content":{"704":{"position":[[938,13]]}},"keywords":{}}],["downloaded.when",{"_index":3679,"title":{},"content":{"706":{"position":[[1732,15]]}},"keywords":{}}],["downsid",{"_index":388,"title":{"12":{"position":[[4,9]]}},"content":{"924":{"position":[[1422,9]]},"977":{"position":[[494,8]]},"991":{"position":[[2929,8]]}},"keywords":{}}],["dqux",{"_index":5583,"title":{},"content":{"1084":{"position":[[642,4]]}},"keywords":{}}],["draft",{"_index":4127,"title":{"881":{"position":[[0,7]]}},"content":{},"keywords":{}}],["draft_compil",{"_index":7819,"title":{},"content":{"1414":{"position":[[490,14]]}},"keywords":{}}],["dramat",{"_index":3379,"title":{},"content":{"675":{"position":[[790,12]]}},"keywords":{}}],["dri",{"_index":5939,"title":{},"content":{"1142":{"position":[[124,3],[143,3]]}},"keywords":{}}],["drift",{"_index":7461,"title":{},"content":{"1393":{"position":[[3082,8],[3902,8]]}},"keywords":{}}],["driven",{"_index":606,"title":{},"content":{"20":{"position":[[23,6]]},"706":{"position":[[187,6]]},"1384":{"position":[[14269,6]]},"1387":{"position":[[7528,6]]},"1454":{"position":[[7742,6]]}},"keywords":{}}],["drop",{"_index":1298,"title":{},"content":{"108":{"position":[[109,8]]},"520":{"position":[[109,8]]},"846":{"position":[[774,8]]},"892":{"position":[[545,8]]},"1035":{"position":[[105,7]]}},"keywords":{}}],["dsym",{"_index":7015,"title":{},"content":{"1370":{"position":[[2247,4],[2295,4]]}},"keywords":{}}],["dsymutil",{"_index":6990,"title":{},"content":{"1368":{"position":[[769,9]]}},"keywords":{}}],["due",{"_index":1221,"title":{},"content":{"94":{"position":[[3159,3]]},"226":{"position":[[3159,3]]},"406":{"position":[[772,3]]},"785":{"position":[[772,3]]},"846":{"position":[[1470,3]]},"1058":{"position":[[1255,3]]},"1090":{"position":[[40,3]]}},"keywords":{}}],["dummi",{"_index":4925,"title":{},"content":{"991":{"position":[[1261,5]]},"1102":{"position":[[451,5]]}},"keywords":{}}],["dummy_omnibu",{"_index":8297,"title":{},"content":{"1462":{"position":[[1335,14]]},"1467":{"position":[[1402,14]]}},"keywords":{}}],["dummy_state_file.txt",{"_index":6497,"title":{},"content":{"1351":{"position":[[5135,20],[5443,22]]}},"keywords":{}}],["dump",{"_index":5147,"title":{},"content":{"1040":{"position":[[2259,4]]},"1231":{"position":[[254,4]]}},"keywords":{}}],["duplic",{"_index":2199,"title":{},"content":{"410":{"position":[[27,10]]},"789":{"position":[[27,10]]},"890":{"position":[[6422,9]]},"1112":{"position":[[2958,9]]},"1136":{"position":[[4834,9]]},"1138":{"position":[[8496,9]]},"1140":{"position":[[7422,9]]},"1142":{"position":[[2866,9]]},"1146":{"position":[[2806,9]]},"1148":{"position":[[5846,9]]},"1155":{"position":[[2902,9]]},"1156":{"position":[[2480,9]]},"1167":{"position":[[8426,9]]},"1169":{"position":[[2265,9]]},"1186":{"position":[[4070,9]]},"1187":{"position":[[4083,9]]},"1188":{"position":[[8809,9]]},"1191":{"position":[[2670,9]]},"1192":{"position":[[2845,9]]},"1193":{"position":[[2897,9]]},"1194":{"position":[[2537,9]]},"1195":{"position":[[2515,9]]},"1196":{"position":[[2325,9]]},"1197":{"position":[[3308,9]]},"1198":{"position":[[3318,9]]},"1199":{"position":[[3346,9]]},"1200":{"position":[[3213,9]]},"1201":{"position":[[2473,9]]},"1202":{"position":[[3615,9],[8012,9]]},"1203":{"position":[[2707,9]]},"1204":{"position":[[2551,9]]},"1205":{"position":[[3880,9]]},"1206":{"position":[[2351,9]]},"1207":{"position":[[2508,9]]},"1209":{"position":[[3856,9]]},"1217":{"position":[[7167,9]]},"1219":{"position":[[3153,9]]},"1222":{"position":[[2277,9]]},"1223":{"position":[[2287,9]]},"1224":{"position":[[2467,9]]},"1226":{"position":[[4095,10],[7635,9]]},"1228":{"position":[[9248,9]]},"1235":{"position":[[5116,9]]},"1237":{"position":[[4265,10],[7805,9]]},"1393":{"position":[[2467,10],[9490,10],[9550,10]]},"1410":{"position":[[3715,9]]},"1487":{"position":[[2060,9]]}},"keywords":{}}],["duplicate_resource_behavior",{"_index":6430,"title":{},"content":{"1350":{"position":[[1578,28]]},"1352":{"position":[[1577,28]]}},"keywords":{}}],["duplicate_resource_whitelist",{"_index":6431,"title":{},"content":{"1350":{"position":[[1616,29]]},"1352":{"position":[[1615,29]]}},"keywords":{}}],["durat",{"_index":3802,"title":{},"content":{"724":{"position":[[223,8]]},"864":{"position":[[813,8],[978,8]]},"867":{"position":[[1099,8],[2274,8]]},"1126":{"position":[[987,8]]},"1142":{"position":[[299,9]]},"1180":{"position":[[202,8],[240,8],[249,9],[362,9]]}},"keywords":{}}],["duration(",{"_index":5403,"title":{},"content":{"1058":{"position":[[170,11]]}},"keywords":{}}],["duration_u",{"_index":5804,"title":{},"content":{"1126":{"position":[[1008,12]]}},"keywords":{}}],["dure",{"_index":263,"title":{},"content":{"9":{"position":[[1798,6],[1904,6]]},"81":{"position":[[187,6]]},"84":{"position":[[195,6]]},"213":{"position":[[187,6]]},"216":{"position":[[195,6]]},"444":{"position":[[99,6]]},"693":{"position":[[290,6]]},"823":{"position":[[99,6]]},"832":{"position":[[873,6]]},"855":{"position":[[95,6]]},"890":{"position":[[308,6],[2350,6]]},"929":{"position":[[275,6]]},"945":{"position":[[249,6]]},"950":{"position":[[511,6]]},"991":{"position":[[956,6]]},"995":{"position":[[843,6]]},"1026":{"position":[[0,6]]},"1037":{"position":[[565,6]]},"1042":{"position":[[651,6]]},"1046":{"position":[[184,6]]},"1103":{"position":[[2047,6]]},"1138":{"position":[[2256,6],[3568,6]]},"1140":{"position":[[1745,6],[3057,6]]},"1148":{"position":[[7192,6]]},"1167":{"position":[[2749,6],[4061,6]]},"1188":{"position":[[1798,6],[3110,6]]},"1217":{"position":[[1490,6],[2802,6]]},"1226":{"position":[[5155,6]]},"1228":{"position":[[3571,6],[4883,6]]},"1237":{"position":[[5325,6]]},"1247":{"position":[[49,6]]},"1355":{"position":[[5818,6],[6012,6],[6817,6]]},"1363":{"position":[[4829,6]]},"1367":{"position":[[14011,6]]},"1386":{"position":[[2199,6],[2599,6],[4724,6],[5788,6]]},"1393":{"position":[[2416,6],[3097,6],[3917,6],[5235,6],[9453,6]]},"1412":{"position":[[2963,6],[3140,6],[3327,6],[3599,6]]},"1427":{"position":[[4053,6],[4868,6],[4991,6],[5185,6],[6016,6]]},"1439":{"position":[[7367,6]]},"1473":{"position":[[3537,6],[5329,6]]},"1486":{"position":[[5169,6]]}},"keywords":{}}],["dwarfdump",{"_index":6991,"title":{},"content":{"1368":{"position":[[784,10]]}},"keywords":{}}],["dylib",{"_index":4878,"title":{},"content":{"987":{"position":[[94,6]]}},"keywords":{}}],["dyn",{"_index":4351,"title":{},"content":{"898":{"position":[[2465,3],[2485,3]]}},"keywords":{}}],["dynam",{"_index":117,"title":{"835":{"position":[[31,7]]},"875":{"position":[[8,7]]},"876":{"position":[[0,7]]},"1039":{"position":[[0,7]]}},"content":{"6":{"position":[[92,7]]},"23":{"position":[[1335,7],[1498,7],[1529,7]]},"92":{"position":[[31,8],[607,7],[1034,7],[1760,7],[2009,7],[2418,7]]},"224":{"position":[[31,8],[607,7],[1034,7],[1760,7],[2009,7],[2418,7]]},"300":{"position":[[494,7]]},"411":{"position":[[219,7]]},"645":{"position":[[183,7]]},"651":{"position":[[122,7]]},"722":{"position":[[530,7]]},"790":{"position":[[219,7]]},"835":{"position":[[0,7],[82,7]]},"837":{"position":[[307,7]]},"876":{"position":[[15,7],[56,7],[209,7],[250,7],[312,7],[329,7]]},"877":{"position":[[35,7],[122,7],[280,7],[311,7],[448,7],[679,7]]},"878":{"position":[[38,7],[535,7],[638,7],[1011,7],[1398,7]]},"949":{"position":[[151,7]]},"950":{"position":[[422,7],[468,7],[522,7],[736,7],[779,7],[835,7]]},"964":{"position":[[219,7]]},"1040":{"position":[[127,7],[454,7],[842,7],[1459,7],[1862,7]]},"1104":{"position":[[931,7],[1029,7]]},"1136":{"position":[[614,7],[702,7]]},"1362":{"position":[[10728,12]]},"1364":{"position":[[11695,12]]},"1373":{"position":[[5245,12]]},"1382":{"position":[[7597,12]]},"1383":{"position":[[3704,7],[3832,7]]},"1384":{"position":[[13661,12]]},"1386":{"position":[[4883,11]]},"1387":{"position":[[6721,12]]},"1388":{"position":[[8466,12]]},"1405":{"position":[[3016,12]]},"1407":{"position":[[3437,12]]},"1410":{"position":[[4018,12]]},"1416":{"position":[[2893,12]]},"1421":{"position":[[2264,11]]},"1462":{"position":[[8454,7],[8612,7]]},"1467":{"position":[[9936,7],[10094,7]]},"1471":{"position":[[3860,12]]},"1472":{"position":[[3331,12],[4444,12]]},"1473":{"position":[[4181,12]]}},"keywords":{}}],["dynamic_act",{"_index":2201,"title":{"411":{"position":[[0,16]]},"790":{"position":[[0,16]]}},"content":{"411":{"position":[[4,16]]},"790":{"position":[[4,16]]}},"keywords":{}}],["dynamic_lookup",{"_index":6973,"title":{},"content":{"1367":{"position":[[13898,17]]}},"keywords":{}}],["dynamic_output",{"_index":989,"title":{},"content":{"73":{"position":[[102,14]]},"92":{"position":[[303,14],[1619,14],[2062,15]]},"93":{"position":[[93,15],[171,15]]},"224":{"position":[[303,14],[1619,14],[2062,15]]},"225":{"position":[[93,15],[171,15]]},"297":{"position":[[1158,15]]},"298":{"position":[[2975,15]]},"299":{"position":[[158,15]]},"305":{"position":[[410,15]]},"307":{"position":[[153,15]]},"496":{"position":[[102,14]]},"878":{"position":[[680,14]]},"1040":{"position":[[1391,14]]}},"keywords":{}}],["dynamic_output'",{"_index":1139,"title":{},"content":{"92":{"position":[[1365,16],[2436,16]]},"224":{"position":[[1365,16],[2436,16]]},"1040":{"position":[[1138,16]]}},"keywords":{}}],["dynamic_output_exampl",{"_index":4119,"title":{},"content":{"878":{"position":[[1550,22]]}},"keywords":{}}],["dynamic_outputwith",{"_index":1156,"title":{},"content":{"92":{"position":[[2390,18]]},"224":{"position":[[2390,18]]}},"keywords":{}}],["dynamicact",{"_index":1161,"title":{"370":{"position":[[0,15]]},"749":{"position":[[0,15]]}},"content":{"93":{"position":[[48,14]]},"225":{"position":[[48,14]]},"370":{"position":[[0,15]]},"749":{"position":[[0,15]]}},"keywords":{}}],["dynamicactioncal",{"_index":2204,"title":{},"content":{"411":{"position":[[185,21]]},"790":{"position":[[185,21]]}},"keywords":{}}],["dynamicactionscal",{"_index":1999,"title":{"371":{"position":[[0,23]]},"750":{"position":[[0,23]]}},"content":{"371":{"position":[[0,23]]},"750":{"position":[[0,23]]}},"keywords":{}}],["d{}"",{"_index":5558,"title":{},"content":{"1082":{"position":[[786,10]]}},"keywords":{}}],["e",{"_index":3813,"title":{"726":{"position":[[6,2]]}},"content":{"983":{"position":[[52,2]]},"1167":{"position":[[450,2]]}},"keywords":{}}],["e.g",{"_index":620,"title":{},"content":{"20":{"position":[[576,5]]},"23":{"position":[[1765,5]]},"46":{"position":[[56,4]]},"47":{"position":[[62,4]]},"76":{"position":[[107,4]]},"79":{"position":[[268,5]]},"90":{"position":[[161,4]]},"193":{"position":[[56,4]]},"194":{"position":[[62,4]]},"222":{"position":[[161,4]]},"362":{"position":[[1566,4]]},"368":{"position":[[2864,5]]},"405":{"position":[[2237,5]]},"407":{"position":[[265,4]]},"408":{"position":[[539,4]]},"414":{"position":[[80,5],[153,4],[211,4]]},"425":{"position":[[78,5],[151,4],[209,4]]},"505":{"position":[[107,4]]},"508":{"position":[[268,5]]},"693":{"position":[[6730,4],[8310,5]]},"741":{"position":[[1566,4]]},"747":{"position":[[2864,5]]},"784":{"position":[[2237,5]]},"786":{"position":[[265,4]]},"787":{"position":[[539,4]]},"793":{"position":[[80,5],[153,4],[211,4]]},"804":{"position":[[78,5],[151,4],[209,4]]},"900":{"position":[[728,4],[1352,4]]},"970":{"position":[[208,5]]},"975":{"position":[[156,5]]},"976":{"position":[[194,5]]},"1052":{"position":[[1213,5]]},"1054":{"position":[[946,5]]},"1136":{"position":[[3066,6]]},"1138":{"position":[[2987,4],[6728,6]]},"1140":{"position":[[2476,4],[5654,6]]},"1142":{"position":[[518,6],[1098,6]]},"1146":{"position":[[1038,6]]},"1148":{"position":[[4078,6]]},"1155":{"position":[[1134,6]]},"1156":{"position":[[712,6]]},"1167":{"position":[[1158,4],[1352,4],[3480,4],[6658,6]]},"1169":{"position":[[497,6]]},"1186":{"position":[[2302,6]]},"1187":{"position":[[2315,6]]},"1188":{"position":[[2529,4],[7041,6]]},"1191":{"position":[[902,6]]},"1192":{"position":[[1077,6]]},"1193":{"position":[[1129,6]]},"1194":{"position":[[769,6]]},"1195":{"position":[[747,6]]},"1196":{"position":[[557,6]]},"1197":{"position":[[1540,6]]},"1198":{"position":[[1550,6]]},"1199":{"position":[[1578,6]]},"1200":{"position":[[1445,6]]},"1201":{"position":[[705,6]]},"1202":{"position":[[1847,6],[6244,6]]},"1203":{"position":[[939,6]]},"1204":{"position":[[783,6]]},"1205":{"position":[[2112,6]]},"1206":{"position":[[583,6]]},"1207":{"position":[[740,6]]},"1209":{"position":[[2088,6]]},"1217":{"position":[[2221,4],[5399,6]]},"1219":{"position":[[1385,6]]},"1222":{"position":[[509,6]]},"1223":{"position":[[519,6]]},"1224":{"position":[[699,6]]},"1226":{"position":[[4318,5],[5867,6]]},"1228":{"position":[[4302,4],[7480,6]]},"1233":{"position":[[58,5]]},"1235":{"position":[[3348,6]]},"1237":{"position":[[4488,5],[6037,6]]},"1354":{"position":[[2692,6]]},"1355":{"position":[[4086,4]]},"1362":{"position":[[12957,5],[13047,5]]},"1364":{"position":[[13657,5],[13747,5]]},"1366":{"position":[[2476,5],[3148,5]]},"1367":{"position":[[10507,6],[12865,5],[12955,5]]},"1373":{"position":[[5837,5]]},"1382":{"position":[[11319,5],[11409,5]]},"1384":{"position":[[6075,5],[6095,5],[14289,5],[18973,5],[19063,5]]},"1385":{"position":[[6897,5],[6987,5]]},"1386":{"position":[[2944,5],[5609,4]]},"1387":{"position":[[7548,5],[10270,5],[10360,5]]},"1388":{"position":[[9812,5],[9902,5]]},"1390":{"position":[[1638,5],[1784,5],[1923,5]]},"1391":{"position":[[1591,5],[1738,5]]},"1392":{"position":[[1741,5],[1962,6],[2193,5]]},"1393":{"position":[[2490,4],[2637,4],[4887,5],[5004,5],[7178,4],[9066,4]]},"1395":{"position":[[3306,4]]},"1397":{"position":[[3256,4]]},"1398":{"position":[[4121,4],[5677,4]]},"1402":{"position":[[1995,4]]},"1407":{"position":[[4171,4]]},"1408":{"position":[[2201,5]]},"1410":{"position":[[3446,6],[4398,5]]},"1427":{"position":[[3231,4]]},"1429":{"position":[[4738,6]]},"1439":{"position":[[3905,4],[5133,4]]},"1440":{"position":[[4820,6]]},"1442":{"position":[[2692,5],[2782,5]]},"1454":{"position":[[7762,5],[9586,5]]},"1457":{"position":[[1788,5]]},"1477":{"position":[[1604,5]]},"1485":{"position":[[4183,5],[4273,5]]}},"keywords":{}}],["e.g.ctx.actions.declare_output("directory"",{"_index":1093,"title":{},"content":{"89":{"position":[[971,53]]},"221":{"position":[[971,53]]}},"keywords":{}}],["e.g.glob).in",{"_index":616,"title":{},"content":{"20":{"position":[[442,13]]}},"keywords":{}}],["e.g.{"socket_address"",{"_index":5338,"title":{},"content":{"1054":{"position":[[815,33]]}},"keywords":{}}],["each",{"_index":443,"title":{},"content":{"15":{"position":[[97,4],[265,4],[323,4]]},"22":{"position":[[1300,4]]},"63":{"position":[[203,4]]},"66":{"position":[[149,4]]},"72":{"position":[[102,4]]},"94":{"position":[[3802,4]]},"166":{"position":[[203,4]]},"226":{"position":[[3802,4]]},"276":{"position":[[640,4]]},"277":{"position":[[587,4]]},"281":{"position":[[738,4]]},"282":{"position":[[687,4]]},"389":{"position":[[487,4]]},"396":{"position":[[433,4]]},"405":{"position":[[1280,4],[1552,4],[1801,4],[1869,4],[2163,4]]},"408":{"position":[[1242,4]]},"440":{"position":[[90,4]]},"441":{"position":[[45,4],[85,4]]},"454":{"position":[[149,4]]},"492":{"position":[[203,4]]},"495":{"position":[[102,4]]},"510":{"position":[[48,4]]},"511":{"position":[[48,4]]},"548":{"position":[[203,4]]},"560":{"position":[[476,4],[548,4]]},"573":{"position":[[89,4]]},"590":{"position":[[250,4]]},"595":{"position":[[324,4]]},"604":{"position":[[166,4]]},"616":{"position":[[661,4]]},"636":{"position":[[281,4],[394,4],[464,4]]},"638":{"position":[[1143,4]]},"639":{"position":[[201,4],[383,4]]},"643":{"position":[[113,4]]},"653":{"position":[[100,4]]},"654":{"position":[[296,4]]},"656":{"position":[[225,4]]},"663":{"position":[[85,4]]},"673":{"position":[[167,4],[284,4],[357,4]]},"697":{"position":[[87,4]]},"716":{"position":[[89,4]]},"717":{"position":[[127,4],[428,4],[528,4]]},"724":{"position":[[358,4]]},"768":{"position":[[487,4]]},"775":{"position":[[433,4]]},"784":{"position":[[1280,4],[1552,4],[1801,4],[1869,4],[2163,4]]},"787":{"position":[[1242,4]]},"819":{"position":[[90,4]]},"820":{"position":[[45,4],[85,4]]},"846":{"position":[[1000,4]]},"872":{"position":[[192,4],[327,4],[701,4]]},"890":{"position":[[4281,4],[5241,4]]},"892":{"position":[[1219,4]]},"901":{"position":[[48,4]]},"902":{"position":[[1128,4]]},"919":{"position":[[82,4],[1443,4]]},"920":{"position":[[603,4]]},"921":{"position":[[952,4]]},"924":{"position":[[1219,4]]},"933":{"position":[[0,4]]},"942":{"position":[[1682,4]]},"943":{"position":[[63,4]]},"944":{"position":[[86,4]]},"955":{"position":[[1471,4]]},"961":{"position":[[48,4],[82,4],[281,4]]},"966":{"position":[[39,4]]},"973":{"position":[[364,4]]},"981":{"position":[[414,4]]},"988":{"position":[[444,4],[507,4]]},"989":{"position":[[375,4],[470,4]]},"1000":{"position":[[509,4]]},"1006":{"position":[[364,4]]},"1013":{"position":[[196,4]]},"1027":{"position":[[169,4]]},"1052":{"position":[[1175,4]]},"1053":{"position":[[1543,4]]},"1056":{"position":[[560,4],[603,4],[1158,4]]},"1058":{"position":[[414,4],[1136,4]]},"1087":{"position":[[55,4]]},"1091":{"position":[[53,4]]},"1114":{"position":[[912,5]]},"1138":{"position":[[192,4],[300,4],[377,4],[497,4],[4316,4]]},"1140":{"position":[[3805,4]]},"1167":{"position":[[4809,4]]},"1188":{"position":[[3858,4]]},"1217":{"position":[[3550,4]]},"1226":{"position":[[397,4],[499,4],[3371,4],[3479,4],[3556,4],[3676,4],[4201,4]]},"1228":{"position":[[1747,4],[5631,4]]},"1235":{"position":[[158,4]]},"1237":{"position":[[567,4],[669,4],[3541,4],[3649,4],[3726,4],[3846,4],[4371,4]]},"1240":{"position":[[129,4]]},"1243":{"position":[[432,4]]},"1253":{"position":[[306,4],[441,4],[554,4]]},"1254":{"position":[[79,4],[213,4],[493,4]]},"1273":{"position":[[235,4]]},"1278":{"position":[[118,4]]},"1304":{"position":[[235,4]]},"1309":{"position":[[118,4]]},"1332":{"position":[[235,4]]},"1337":{"position":[[118,4]]},"1351":{"position":[[3769,4]]},"1360":{"position":[[3461,4]]},"1362":{"position":[[7415,4],[8134,4],[9431,4],[11700,4],[11853,4],[12767,4],[12896,4]]},"1363":{"position":[[5322,4]]},"1364":{"position":[[7654,4],[8322,4],[8475,4],[8983,4],[10545,4],[13467,4],[13596,4]]},"1367":{"position":[[8222,4],[9519,4],[10238,4],[12675,4],[12804,4]]},"1370":{"position":[[2216,4]]},"1373":{"position":[[6721,4],[6874,4],[8289,4]]},"1382":{"position":[[9041,4],[9194,4],[11129,4],[11258,4]]},"1383":{"position":[[6115,4]]},"1384":{"position":[[8508,4],[8661,4],[15386,4],[15539,4],[18783,4],[18912,4]]},"1385":{"position":[[5269,4],[5422,4],[6707,4],[6836,4]]},"1387":{"position":[[8642,4],[8795,4],[10080,4],[10209,4]]},"1388":{"position":[[9622,4],[9751,4]]},"1390":{"position":[[1560,4],[1727,4],[1866,4]]},"1391":{"position":[[1513,4],[1681,4]]},"1392":{"position":[[1663,4],[2136,4]]},"1398":{"position":[[1334,4],[4824,4],[4950,4],[5250,4],[5559,4]]},"1399":{"position":[[2638,4]]},"1403":{"position":[[2876,4]]},"1415":{"position":[[4680,4],[4833,4]]},"1429":{"position":[[4073,4],[4482,4]]},"1439":{"position":[[4807,4],[5388,4]]},"1440":{"position":[[4066,4],[4475,4]]},"1442":{"position":[[2502,4],[2631,4]]},"1465":{"position":[[3242,4],[3653,4]]},"1467":{"position":[[9511,4]]},"1485":{"position":[[3993,4],[4122,4]]},"1486":{"position":[[808,4]]},"1487":{"position":[[2343,4]]}},"keywords":{}}],["eager",{"_index":3939,"title":{},"content":{"856":{"position":[[74,5],[415,5],[642,5]]},"1037":{"position":[[600,5]]},"1138":{"position":[[3200,5]]},"1140":{"position":[[2689,5]]},"1167":{"position":[[3693,5]]},"1188":{"position":[[2742,5]]},"1217":{"position":[[2434,5]]},"1228":{"position":[[4515,5]]}},"keywords":{}}],["eager_attr",{"_index":4112,"title":{},"content":{"878":{"position":[[964,11]]}},"keywords":{}}],["eagerli",{"_index":5610,"title":{},"content":{"1091":{"position":[[41,7]]},"1138":{"position":[[3596,7]]},"1140":{"position":[[3085,7]]},"1167":{"position":[[4089,7]]},"1188":{"position":[[3138,7]]},"1217":{"position":[[2830,7]]},"1228":{"position":[[4911,7]]}},"keywords":{}}],["earli",{"_index":783,"title":{},"content":{"24":{"position":[[57,5]]},"965":{"position":[[286,5]]}},"keywords":{}}],["earlier",{"_index":2695,"title":{},"content":{"583":{"position":[[999,7]]},"704":{"position":[[2311,8]]},"942":{"position":[[1420,7]]}},"keywords":{}}],["earlier..buckconfig.loc",{"_index":2687,"title":{},"content":{"583":{"position":[[520,25]]}},"keywords":{}}],["eas",{"_index":4849,"title":{},"content":{"980":{"position":[[171,4]]}},"keywords":{}}],["easi",{"_index":4718,"title":{},"content":{"945":{"position":[[372,4]]},"946":{"position":[[162,4]]},"959":{"position":[[77,4]]},"997":{"position":[[214,4]]},"1050":{"position":[[539,4]]},"1232":{"position":[[3506,4],[3562,4],[3656,4]]}},"keywords":{}}],["easier",{"_index":299,"title":{},"content":{"9":{"position":[[2628,6]]},"10":{"position":[[1096,6]]},"675":{"position":[[1107,6]]},"695":{"position":[[638,6]]},"696":{"position":[[310,6]]},"940":{"position":[[874,6]]},"977":{"position":[[475,6]]},"1095":{"position":[[170,6]]},"1136":{"position":[[1741,6]]},"1148":{"position":[[2097,6]]},"1205":{"position":[[1221,6]]},"1209":{"position":[[974,6]]},"1226":{"position":[[2914,6]]},"1235":{"position":[[2234,6]]},"1237":{"position":[[3084,6]]}},"keywords":{}}],["easier.reind",{"_index":49,"title":{},"content":{"4":{"position":[[255,15]]}},"keywords":{}}],["easili",{"_index":386,"title":{},"content":{"11":{"position":[[674,6]]},"304":{"position":[[320,7]]},"937":{"position":[[3393,6]]},"987":{"position":[[673,6]]}},"keywords":{}}],["eat",{"_index":3602,"title":{},"content":{"693":{"position":[[9404,3]]}},"keywords":{}}],["ebin",{"_index":7458,"title":{},"content":{"1393":{"position":[[2384,5]]}},"keywords":{}}],["echo",{"_index":4454,"title":{},"content":{"910":{"position":[[311,4],[340,4],[369,4]]},"1382":{"position":[[11765,7],[11965,5]]},"1403":{"position":[[5767,4]]},"1477":{"position":[[2847,4]]},"1478":{"position":[[3198,4],[3238,4]]}},"keywords":{}}],["echo#strip",{"_index":7164,"title":{},"content":{"1382":{"position":[[12028,11]]}},"keywords":{}}],["echo.cpp",{"_index":7160,"title":{},"content":{"1382":{"position":[[11782,11]]}},"keywords":{}}],["echo.h",{"_index":7161,"title":{},"content":{"1382":{"position":[[11809,9]]}},"keywords":{}}],["echo_other.o",{"_index":8079,"title":{},"content":{"1442":{"position":[[3145,15]]}},"keywords":{}}],["echo_test",{"_index":7312,"title":{},"content":{"1388":{"position":[[10402,12]]},"1442":{"position":[[3068,12]]}},"keywords":{}}],["echo_test.cpp",{"_index":7313,"title":{},"content":{"1388":{"position":[[10424,16]]}},"keywords":{}}],["echo_test.o",{"_index":8078,"title":{},"content":{"1442":{"position":[[3090,14]]}},"keywords":{}}],["ed",{"_index":3838,"title":{},"content":{"835":{"position":[[288,2]]}},"keywords":{}}],["eden",{"_index":763,"title":{},"content":{"23":{"position":[[2801,4]]},"919":{"position":[[982,5]]},"976":{"position":[[219,4]]}},"keywords":{}}],["edg",{"_index":3540,"title":{},"content":{"693":{"position":[[2977,4],[4233,4],[9931,5]]},"987":{"position":[[722,4]]}},"keywords":{}}],["edit",{"_index":3437,"title":{},"content":{"687":{"position":[[228,7]]},"1097":{"position":[[318,5]]},"1150":{"position":[[238,4],[288,5]]},"1471":{"position":[[811,8],[3257,8],[3283,7],[3335,7]]},"1472":{"position":[[946,8],[3841,8],[3867,7],[3919,7]]},"1473":{"position":[[842,8],[3291,8],[3317,7],[3369,7]]}},"keywords":{}}],["edoc",{"_index":7466,"title":{},"content":{"1393":{"position":[[4018,4]]}},"keywords":{}}],["effect",{"_index":1256,"title":{},"content":{"98":{"position":[[1169,11]]},"99":{"position":[[1577,11]]},"230":{"position":[[1169,11]]},"231":{"position":[[1577,11]]},"566":{"position":[[406,11]]},"567":{"position":[[394,9]]},"690":{"position":[[282,6]]},"710":{"position":[[126,12]]},"1056":{"position":[[650,6]]},"1138":{"position":[[4166,6],[4713,6]]},"1140":{"position":[[3655,6],[4202,6]]},"1167":{"position":[[4659,6],[5206,6]]},"1188":{"position":[[3708,6],[4255,6]]},"1217":{"position":[[3400,6],[3947,6]]},"1226":{"position":[[1108,9]]},"1228":{"position":[[5481,6],[6028,6]]},"1237":{"position":[[1278,9]]},"1364":{"position":[[6677,8]]},"1384":{"position":[[5722,8]]},"1386":{"position":[[2687,6],[5485,6]]},"1454":{"position":[[4570,8]]},"1455":{"position":[[2218,8]]},"1459":{"position":[[1859,7]]},"1471":{"position":[[4839,6]]},"1472":{"position":[[3790,6],[5423,6]]},"1473":{"position":[[5160,6]]}},"keywords":{}}],["effici",{"_index":176,"title":{"856":{"position":[[42,11]]}},"content":{"9":{"position":[[195,9]]},"22":{"position":[[1897,12]]},"23":{"position":[[82,10],[624,10]]},"638":{"position":[[1175,11]]},"663":{"position":[[1223,9]]},"706":{"position":[[380,9]]},"860":{"position":[[98,10]]},"901":{"position":[[1177,9]]},"902":{"position":[[1160,11]]},"1235":{"position":[[352,11]]},"1253":{"position":[[39,10],[403,9]]}},"keywords":{}}],["effort",{"_index":295,"title":{},"content":{"9":{"position":[[2594,7]]}},"keywords":{}}],["eg",{"_index":1922,"title":{},"content":{"362":{"position":[[2772,4]]},"741":{"position":[[2772,4]]},"1096":{"position":[[392,2]]},"1150":{"position":[[417,2]]}},"keywords":{}}],["egg",{"_index":8264,"title":{},"content":{"1461":{"position":[[1896,4],[1915,4],[2950,4],[3211,3]]}},"keywords":{}}],["eitherlist.append(x",{"_index":4215,"title":{},"content":{"890":{"position":[[1992,21]]}},"keywords":{}}],["eitherspanstartev",{"_index":5790,"title":{},"content":{"1126":{"position":[[56,22]]}},"keywords":{}}],["el",{"_index":2589,"title":{},"content":{"567":{"position":[[28,3]]}},"keywords":{}}],["elaps",{"_index":535,"title":{},"content":{"17":{"position":[[1424,8]]},"513":{"position":[[42,7]]},"514":{"position":[[40,7]]},"1477":{"position":[[3197,8]]}},"keywords":{}}],["element",{"_index":2146,"title":{},"content":{"405":{"position":[[1557,7]]},"554":{"position":[[55,7]]},"555":{"position":[[156,7]]},"557":{"position":[[55,7]]},"563":{"position":[[58,7]]},"564":{"position":[[80,8]]},"565":{"position":[[139,8]]},"566":{"position":[[121,7]]},"567":{"position":[[70,7],[173,8]]},"568":{"position":[[72,7],[135,7]]},"569":{"position":[[386,7]]},"604":{"position":[[79,8],[171,7],[243,9],[292,8]]},"613":{"position":[[104,9]]},"617":{"position":[[169,8],[430,7]]},"636":{"position":[[254,7]]},"639":{"position":[[121,8]]},"643":{"position":[[118,7]]},"651":{"position":[[88,8]]},"652":{"position":[[178,8]]},"653":{"position":[[105,7]]},"654":{"position":[[93,7],[151,7],[301,7]]},"655":{"position":[[90,7],[148,7]]},"665":{"position":[[135,8]]},"666":{"position":[[146,8]]},"668":{"position":[[200,8]]},"670":{"position":[[88,8]]},"673":{"position":[[155,8],[273,7],[318,7],[346,7]]},"675":{"position":[[909,7]]},"784":{"position":[[1557,7]]},"988":{"position":[[529,8]]},"989":{"position":[[110,8],[475,7]]},"990":{"position":[[767,8]]},"1360":{"position":[[3466,7]]},"1362":{"position":[[11333,7],[11460,7],[11689,7],[11842,7],[12142,7],[12269,7],[12901,7]]},"1364":{"position":[[8311,7],[8464,7],[12300,7],[12427,7],[12647,7],[12774,7],[13601,7]]},"1367":{"position":[[11703,7],[11830,7],[12050,7],[12177,7],[12809,7]]},"1373":{"position":[[6355,7],[6482,7],[6710,7],[6863,7],[7182,7],[7309,7]]},"1382":{"position":[[8202,7],[8329,7],[8552,7],[8679,7],[9030,7],[9183,7],[9503,7],[9630,7],[9858,7],[9985,7],[11263,7]]},"1383":{"position":[[6120,7]]},"1384":{"position":[[7479,7],[7606,7],[7893,7],[8020,7],[8497,7],[8650,7],[9057,7],[9184,7],[14547,7],[14674,7],[14897,7],[15024,7],[15375,7],[15528,7],[15848,7],[15975,7],[16203,7],[16330,7],[18917,7]]},"1385":{"position":[[4432,7],[4559,7],[4781,7],[4908,7],[5258,7],[5411,7],[5730,7],[5857,7],[6084,7],[6211,7],[6841,7]]},"1387":{"position":[[7805,7],[7932,7],[8154,7],[8281,7],[8631,7],[8784,7],[9103,7],[9230,7],[9457,7],[9584,7],[10214,7]]},"1388":{"position":[[9756,7]]},"1390":{"position":[[1565,7],[1732,7],[1871,7]]},"1391":{"position":[[1518,7],[1686,7]]},"1392":{"position":[[1668,7],[2141,7]]},"1403":{"position":[[2881,7]]},"1415":{"position":[[4314,7],[4441,7],[4669,7],[4822,7]]},"1416":{"position":[[3170,7],[3297,7]]},"1420":{"position":[[2307,7],[2434,7]]},"1442":{"position":[[2636,7]]},"1448":{"position":[[2253,7],[2380,7]]},"1449":{"position":[[2187,7],[2314,7]]},"1454":{"position":[[5879,7],[6006,7],[6292,7],[6419,7],[6845,7],[6972,7],[8015,7],[8142,7],[8327,7],[8454,7],[8647,7],[8774,7]]},"1455":{"position":[[2650,7],[2777,7]]},"1465":{"position":[[3231,7],[3335,7],[3642,7],[3746,7]]},"1467":{"position":[[9500,7],[9604,7]]},"1485":{"position":[[2816,7],[2943,7],[4127,7]]}},"keywords":{}}],["elimin",{"_index":3559,"title":{},"content":{"693":{"position":[[4916,11]]},"1351":{"position":[[3523,9]]}},"keywords":{}}],["elsewher",{"_index":3020,"title":{},"content":{"620":{"position":[[222,10]]},"1046":{"position":[[242,9]]},"1390":{"position":[[1628,9]]},"1391":{"position":[[1581,9]]},"1392":{"position":[[1731,9]]}},"keywords":{}}],["emb",{"_index":6883,"title":{},"content":{"1363":{"position":[[4358,5],[5866,5],[6501,5]]},"1383":{"position":[[4965,5]]}},"keywords":{}}],["embed",{"_index":6787,"title":{},"content":{"1362":{"position":[[6595,8]]},"1363":{"position":[[7029,8]]},"1370":{"position":[[3101,8]]},"1381":{"position":[[2200,8]]},"1383":{"position":[[4752,9]]}},"keywords":{}}],["embed_provisioning_profile_when_adhoc_code_sign",{"_index":6853,"title":{},"content":{"1363":{"position":[[1719,51]]},"1367":{"position":[[2110,51]]},"1372":{"position":[[1394,51]]}},"keywords":{}}],["embedcfg",{"_index":7034,"title":{},"content":{"1373":{"position":[[905,9]]},"1405":{"position":[[673,9]]},"1407":{"position":[[700,9]]},"1408":{"position":[[694,9]]},"1410":{"position":[[827,9]]}},"keywords":{}}],["emit",{"_index":862,"title":{"864":{"position":[[0,8]]}},"content":{"41":{"position":[[745,7]]},"174":{"position":[[745,7]]},"304":{"position":[[64,5]]},"864":{"position":[[16,4],[1615,4],[1713,7]]},"867":{"position":[[675,7],[1637,7],[2368,7]]},"877":{"position":[[196,7]]},"1084":{"position":[[242,7]]},"1116":{"position":[[120,8]]},"1138":{"position":[[2121,4]]},"1140":{"position":[[1610,4]]},"1167":{"position":[[2614,4]]},"1172":{"position":[[1316,4]]},"1173":{"position":[[616,4]]},"1188":{"position":[[1663,4]]},"1217":{"position":[[550,4],[672,4],[1355,4]]},"1226":{"position":[[2016,4]]},"1228":{"position":[[3436,4]]},"1237":{"position":[[2186,4]]},"1362":{"position":[[10846,6],[11015,4]]},"1364":{"position":[[11813,6],[11982,4]]},"1373":{"position":[[5362,6],[5531,4]]},"1382":{"position":[[7715,6],[7884,4]]},"1384":{"position":[[13779,6],[13948,4]]},"1387":{"position":[[7040,6],[7209,4]]},"1427":{"position":[[4232,4]]}},"keywords":{}}],["employ",{"_index":626,"title":{},"content":{"22":{"position":[[5,7],[176,7]]},"1386":{"position":[[2572,6],[5593,6]]}},"keywords":{}}],["empti",{"_index":1157,"title":{},"content":{"92":{"position":[[2412,5]]},"224":{"position":[[2412,5]]},"413":{"position":[[42,5]]},"418":{"position":[[1061,5]]},"558":{"position":[[241,6],[438,5]]},"595":{"position":[[1366,6]]},"597":{"position":[[154,5]]},"598":{"position":[[143,5]]},"599":{"position":[[142,5]]},"601":{"position":[[149,5]]},"607":{"position":[[422,5]]},"616":{"position":[[312,5],[385,5],[453,5],[682,5],[785,5]]},"652":{"position":[[254,5]]},"654":{"position":[[218,6]]},"655":{"position":[[215,6]]},"670":{"position":[[208,5]]},"792":{"position":[[42,5]]},"797":{"position":[[1061,5]]},"939":{"position":[[38,5]]},"943":{"position":[[885,6]]},"945":{"position":[[525,5],[639,5]]},"977":{"position":[[306,5]]},"1000":{"position":[[153,5]]},"1112":{"position":[[709,6]]},"1114":{"position":[[586,6]]},"1136":{"position":[[1521,5]]},"1148":{"position":[[1877,5]]},"1172":{"position":[[2244,5],[2292,5]]},"1205":{"position":[[1001,5]]},"1209":{"position":[[754,5]]},"1226":{"position":[[2694,5],[4800,5]]},"1235":{"position":[[2014,5]]},"1237":{"position":[[2864,5],[4970,5]]},"1373":{"position":[[6066,5]]},"1405":{"position":[[2662,5],[3390,5]]},"1407":{"position":[[3083,5],[3811,5]]},"1408":{"position":[[2430,5]]},"1410":{"position":[[3185,5],[4798,5]]}},"keywords":{}}],["empty>"",{"_index":5997,"title":{},"content":{"1172":{"position":[[2134,16]]}},"keywords":{}}],["empty.javadoc_url",{"_index":8234,"title":{},"content":{"1458":{"position":[[2231,18]]}},"keywords":{}}],["emu_arg",{"_index":7537,"title":{},"content":{"1395":{"position":[[465,9],[2025,9],[3775,8]]}},"keywords":{}}],["emul",{"_index":5972,"title":{},"content":{"1167":{"position":[[455,8],[487,9],[796,8],[984,9]]},"1354":{"position":[[2412,8],[2476,8]]},"1395":{"position":[[2060,8]]}},"keywords":{}}],["en",{"_index":6959,"title":{},"content":{"1366":{"position":[[3160,4]]}},"keywords":{}}],["en.lproj",{"_index":6955,"title":{},"content":{"1366":{"position":[[2494,10]]}},"keywords":{}}],["enabl",{"_index":61,"title":{"1076":{"position":[[0,8]]},"1100":{"position":[[0,8]]},"1110":{"position":[[0,8]]}},"content":{"4":{"position":[[434,8],[543,7]]},"9":{"position":[[796,7],[2446,7]]},"12":{"position":[[529,6]]},"22":{"position":[[2113,8]]},"23":{"position":[[1552,6],[1894,6]]},"242":{"position":[[364,8]]},"675":{"position":[[714,7]]},"695":{"position":[[665,7],[752,7]]},"715":{"position":[[162,8]]},"840":{"position":[[1297,6]]},"869":{"position":[[36,7]]},"962":{"position":[[37,7]]},"990":{"position":[[1248,7]]},"1056":{"position":[[618,8]]},"1076":{"position":[[3,6]]},"1077":{"position":[[262,7]]},"1078":{"position":[[119,7]]},"1079":{"position":[[353,8],[376,8]]},"1100":{"position":[[240,7]]},"1110":{"position":[[3,7]]},"1131":{"position":[[292,7]]},"1138":{"position":[[1636,6],[2307,6],[2425,6],[2519,6],[2633,6],[2923,8],[3116,6],[3959,8]]},"1140":{"position":[[1125,6],[1796,6],[1914,6],[2008,6],[2122,6],[2412,8],[2605,6],[3448,8]]},"1148":{"position":[[7140,8]]},"1167":{"position":[[2129,6],[2800,6],[2918,6],[3012,6],[3126,6],[3416,8],[3609,6],[4452,8]]},"1188":{"position":[[1178,6],[1849,6],[1967,6],[2061,6],[2175,6],[2465,8],[2658,6],[3501,8]]},"1191":{"position":[[337,7]]},"1199":{"position":[[273,6]]},"1215":{"position":[[128,6]]},"1217":{"position":[[870,6],[1541,6],[1659,6],[1753,6],[1867,6],[2157,8],[2350,6],[3193,8]]},"1226":{"position":[[3150,7]]},"1228":{"position":[[2951,6],[3622,6],[3740,6],[3834,6],[3948,6],[4238,8],[4431,6],[5274,8]]},"1237":{"position":[[3320,7]]},"1346":{"position":[[269,6]]},"1355":{"position":[[4777,7],[4821,7]]},"1362":{"position":[[13549,7]]},"1364":{"position":[[14249,7]]},"1370":{"position":[[2207,8],[2455,7],[2622,7]]},"1374":{"position":[[683,7],[2224,7]]},"1383":{"position":[[1206,7]]},"1384":{"position":[[20661,7]]},"1405":{"position":[[2120,6],[3150,8],[3574,6]]},"1407":{"position":[[2161,6],[3571,8],[3995,6]]},"1410":{"position":[[2561,6],[4152,8],[4983,6]]},"1439":{"position":[[4603,7],[4647,7]]},"1440":{"position":[[4552,7],[4596,7]]},"1470":{"position":[[4369,7],[4412,7]]},"1471":{"position":[[3607,7]]},"1472":{"position":[[4191,7]]},"1473":{"position":[[3675,7]]}},"keywords":{}}],["enable_cxx_interop",{"_index":6704,"title":{},"content":{"1362":{"position":[[1036,19]]},"1364":{"position":[[1053,19]]},"1367":{"position":[[2172,19]]},"1480":{"position":[[507,19]]}},"keywords":{}}],["enable_distributed_thinlto",{"_index":6705,"title":{},"content":{"1362":{"position":[[1066,27]]},"1364":{"position":[[1083,27]]},"1382":{"position":[[1004,27]]},"1388":{"position":[[1137,27]]},"1462":{"position":[[1366,27]]},"1467":{"position":[[1433,27]]},"1471":{"position":[[836,27]]},"1473":{"position":[[867,27]]}},"keywords":{}}],["enable_library_evolut",{"_index":6706,"title":{},"content":{"1362":{"position":[[1104,25]]},"1364":{"position":[[1121,25]]},"1367":{"position":[[2202,25]]},"1372":{"position":[[1456,25]]}},"keywords":{}}],["enable_profil",{"_index":7843,"title":{},"content":{"1416":{"position":[[585,17]]},"1417":{"position":[[555,17]]},"1420":{"position":[[530,17]]},"1421":{"position":[[495,17]]}},"keywords":{}}],["enable_relink",{"_index":6345,"title":{},"content":{"1348":{"position":[[1033,16]]},"1350":{"position":[[1662,16]]},"1352":{"position":[[1661,16]]}},"keywords":{}}],["enable_sandbox",{"_index":6645,"title":{},"content":{"1360":{"position":[[768,15]]},"1383":{"position":[[696,15],[6846,15]]},"1403":{"position":[[667,15],[4726,15]]},"1424":{"position":[[637,15]]},"1432":{"position":[[759,15]]}},"keywords":{}}],["enabledef",{"_index":5103,"title":{},"content":{"1030":{"position":[[284,14]]}},"keywords":{}}],["enablingdef",{"_index":5627,"title":{},"content":{"1100":{"position":[[22,16]]}},"keywords":{}}],["encapsul",{"_index":3975,"title":{},"content":{"861":{"position":[[27,12]]}},"keywords":{}}],["enclos",{"_index":2312,"title":{},"content":{"429":{"position":[[92,9]]},"808":{"position":[[92,9]]},"1240":{"position":[[498,9]]},"1282":{"position":[[359,9]]},"1283":{"position":[[376,9]]},"1284":{"position":[[356,9]]},"1313":{"position":[[359,9]]},"1314":{"position":[[376,9]]},"1315":{"position":[[356,9]]},"1341":{"position":[[359,9]]},"1342":{"position":[[376,9]]},"1343":{"position":[[356,9]]}},"keywords":{}}],["encod",{"_index":2625,"title":{"576":{"position":[[10,9]]}},"content":{"576":{"position":[[36,7],[104,6]]},"590":{"position":[[225,7],[306,7]]},"634":{"position":[[52,8],[103,7]]},"650":{"position":[[44,6]]},"656":{"position":[[136,7],[175,6],[281,7]]},"693":{"position":[[549,7]]},"1018":{"position":[[239,7]]},"1026":{"position":[[941,7]]},"1235":{"position":[[942,9],[1009,9],[1087,7]]},"1345":{"position":[[356,8],[677,8]]}},"keywords":{}}],["encoding/compress",{"_index":4006,"title":{},"content":{"866":{"position":[[77,21]]}},"keywords":{}}],["encoding="utf",{"_index":6581,"title":{},"content":{"1356":{"position":[[2203,18]]}},"keywords":{}}],["encompass",{"_index":3990,"title":{},"content":{"864":{"position":[[768,9]]}},"keywords":{}}],["encount",{"_index":786,"title":{},"content":{"24":{"position":[[127,9]]},"981":{"position":[[427,10]]},"1075":{"position":[[590,10]]},"1112":{"position":[[1047,11]]}},"keywords":{}}],["encourag",{"_index":7996,"title":{},"content":{"1429":{"position":[[4284,10]]},"1440":{"position":[[4277,10]]}},"keywords":{}}],["end",{"_index":5,"title":{"2":{"position":[[4,3]]},"9":{"position":[[13,3]]}},"content":{"9":{"position":[[129,3],[2106,3]]},"344":{"position":[[154,3],[270,3]]},"405":{"position":[[2156,3]]},"408":{"position":[[30,3]]},"566":{"position":[[50,4],[162,6],[241,3]]},"591":{"position":[[57,4],[195,6],[310,3]]},"593":{"position":[[105,4]]},"594":{"position":[[56,4],[159,6],[269,3]]},"596":{"position":[[57,4],[190,6]]},"611":{"position":[[57,4],[168,6]]},"612":{"position":[[58,4],[193,6]]},"617":{"position":[[459,3]]},"693":{"position":[[8480,3]]},"720":{"position":[[7,3]]},"722":{"position":[[1051,3]]},"784":{"position":[[2156,3]]},"787":{"position":[[30,3]]},"833":{"position":[[358,3]]},"840":{"position":[[68,6],[1774,3]]},"848":{"position":[[118,3]]},"861":{"position":[[248,3]]},"864":{"position":[[751,3],[1059,3],[1164,5],[1205,3],[1310,5]]},"887":{"position":[[252,4]]},"890":{"position":[[5300,3]]},"892":{"position":[[1396,4]]},"900":{"position":[[397,3]]},"937":{"position":[[777,4]]},"943":{"position":[[243,3],[1215,3],[1501,4],[1942,4],[2566,4]]},"951":{"position":[[1245,3]]},"987":{"position":[[757,3]]},"997":{"position":[[182,3]]},"1011":{"position":[[542,3]]},"1017":{"position":[[751,3]]},"1048":{"position":[[95,3]]},"1049":{"position":[[369,3]]},"1067":{"position":[[548,3]]},"1071":{"position":[[680,4]]},"1126":{"position":[[908,5]]},"1171":{"position":[[452,5]]},"1177":{"position":[[43,5]]},"1232":{"position":[[3706,4]]},"1243":{"position":[[620,4]]},"1244":{"position":[[152,6]]},"1255":{"position":[[419,3]]},"1366":{"position":[[2452,3]]},"1386":{"position":[[2748,4]]},"1412":{"position":[[3464,3],[3504,3]]},"1427":{"position":[[6646,3],[6701,3]]},"1439":{"position":[[7782,3],[7837,3]]},"1446":{"position":[[1998,3]]},"1455":{"position":[[4663,3],[4797,3]]},"1459":{"position":[[1971,3]]},"1487":{"position":[[3740,5]]}},"keywords":{}}],["end1",{"_index":3969,"title":{},"content":{"860":{"position":[[305,4]]}},"keywords":{}}],["end2",{"_index":3971,"title":{},"content":{"860":{"position":[[375,4]]}},"keywords":{}}],["endi",{"_index":2583,"title":{},"content":{"566":{"position":[[592,5]]}},"keywords":{}}],["endpoint.cas_address",{"_index":6305,"title":{},"content":{"1345":{"position":[[208,20]]}},"keywords":{}}],["endpoint.tls_ca_cert",{"_index":6306,"title":{},"content":{"1345":{"position":[[281,21]]}},"keywords":{}}],["enforc",{"_index":4495,"title":{},"content":{"919":{"position":[[1050,9],[1252,7],[1289,8],[1836,7],[2375,11]]},"1001":{"position":[[214,7]]},"1004":{"position":[[2342,9]]},"1064":{"position":[[270,7]]},"1393":{"position":[[9433,8]]}},"keywords":{}}],["enforcerequir",{"_index":4496,"title":{},"content":{"919":{"position":[[1115,19]]}},"keywords":{}}],["engin",{"_index":184,"title":{},"content":{"9":{"position":[[323,8]]},"10":{"position":[[181,8]]},"23":{"position":[[1393,6]]},"1345":{"position":[[1268,6]]},"1346":{"position":[[618,6]]}},"keywords":{}}],["engine.action_cache_address",{"_index":6304,"title":{},"content":{"1345":{"position":[[149,27]]}},"keywords":{}}],["engine/opencvengineinterface.aidl",{"_index":7673,"title":{},"content":{"1402":{"position":[[2341,36]]}},"keywords":{}}],["engine_address",{"_index":6303,"title":{},"content":{"1345":{"position":[[111,14]]}},"keywords":{}}],["enough",{"_index":681,"title":{},"content":{"22":{"position":[[1753,6]]},"85":{"position":[[501,6]]},"217":{"position":[[501,6]]},"693":{"position":[[4983,6]]},"1104":{"position":[[987,6]]},"1138":{"position":[[4270,6]]},"1140":{"position":[[3759,6]]},"1167":{"position":[[4763,6]]},"1188":{"position":[[3812,6]]},"1217":{"position":[[3504,6]]},"1228":{"position":[[5585,6]]},"1386":{"position":[[5311,6]]}},"keywords":{}}],["ensur",{"_index":453,"title":{"834":{"position":[[29,7]]},"848":{"position":[[0,7]]}},"content":{"15":{"position":[[280,7]]},"131":{"position":[[482,7]]},"254":{"position":[[482,7]]},"288":{"position":[[230,7],[393,7]]},"289":{"position":[[250,7],[413,7]]},"297":{"position":[[702,8]]},"298":{"position":[[1169,6],[1348,7]]},"304":{"position":[[347,7],[426,7]]},"344":{"position":[[555,7]]},"345":{"position":[[389,7],[676,6],[834,8]]},"368":{"position":[[2246,7]]},"416":{"position":[[1061,7]]},"417":{"position":[[1209,7]]},"510":{"position":[[256,7],[424,7]]},"511":{"position":[[276,7],[444,7]]},"576":{"position":[[3,6]]},"584":{"position":[[331,6]]},"688":{"position":[[303,7]]},"696":{"position":[[320,6]]},"708":{"position":[[845,6]]},"712":{"position":[[2763,7]]},"747":{"position":[[2246,7]]},"795":{"position":[[1061,7]]},"796":{"position":[[1209,7]]},"832":{"position":[[641,7]]},"834":{"position":[[259,7]]},"837":{"position":[[287,8]]},"845":{"position":[[283,6]]},"847":{"position":[[411,6],[453,10]]},"848":{"position":[[0,8],[167,9],[296,8],[346,8],[631,6],[718,8],[826,7]]},"861":{"position":[[721,7],[777,7]]},"864":{"position":[[1401,8],[1489,6],[1682,8]]},"867":{"position":[[2177,6],[2286,8]]},"877":{"position":[[72,6]]},"991":{"position":[[1424,7]]},"1037":{"position":[[140,7]]},"1098":{"position":[[358,6]]},"1104":{"position":[[1002,6]]},"1105":{"position":[[363,7]]},"1113":{"position":[[123,6]]},"1254":{"position":[[533,6]]},"1282":{"position":[[250,6]]},"1283":{"position":[[267,6]]},"1284":{"position":[[247,6]]},"1313":{"position":[[250,6]]},"1314":{"position":[[267,6]]},"1315":{"position":[[247,6]]},"1341":{"position":[[250,6]]},"1342":{"position":[[267,6]]},"1343":{"position":[[247,6]]},"1351":{"position":[[4885,6],[4994,6]]},"1383":{"position":[[4835,7]]},"1386":{"position":[[5367,6],[5407,6],[5866,6],[5983,6]]},"1469":{"position":[[1999,6]]},"1477":{"position":[[1551,7],[1741,8]]}},"keywords":{}}],["ensure_multiple()on",{"_index":1847,"title":{},"content":{"345":{"position":[[718,19]]}},"keywords":{}}],["ensured.abs_path",{"_index":1593,"title":{},"content":{"288":{"position":[[526,18]]},"510":{"position":[[592,18]]}},"keywords":{}}],["ensured.rel_path",{"_index":1600,"title":{},"content":{"289":{"position":[[546,18]]},"511":{"position":[[612,18]]}},"keywords":{}}],["ensured_artifact",{"_index":1839,"title":{},"content":{"344":{"position":[[314,16]]},"345":{"position":[[608,19]]},"834":{"position":[[3,16]]}},"keywords":{}}],["ensured_artifact_group",{"_index":2479,"title":{"509":{"position":[[0,22]]}},"content":{},"keywords":{}}],["ensured_artifact_group.abs_path",{"_index":2480,"title":{"510":{"position":[[0,32]]}},"content":{"510":{"position":[[4,33]]}},"keywords":{}}],["ensured_artifact_group.rel_path",{"_index":2485,"title":{"511":{"position":[[0,32]]}},"content":{"511":{"position":[[4,33]]}},"keywords":{}}],["ensured_with_abs_path",{"_index":1592,"title":{},"content":{"288":{"position":[[502,21]]},"510":{"position":[[568,21]]}},"keywords":{}}],["ensured_with_rel_path",{"_index":1599,"title":{},"content":{"289":{"position":[[522,21]]},"511":{"position":[[588,21]]}},"keywords":{}}],["ensuredartifact",{"_index":1591,"title":{},"content":{"288":{"position":[[465,15],[560,15]]},"289":{"position":[[485,15],[580,15]]},"402":{"position":[[249,15]]},"511":{"position":[[646,15]]},"781":{"position":[[249,15]]}},"keywords":{}}],["ensuredartifactgroup",{"_index":2484,"title":{},"content":{"510":{"position":[[526,20],[626,20]]},"511":{"position":[[546,20]]}},"keywords":{}}],["entail",{"_index":4790,"title":{},"content":{"964":{"position":[[97,6]]}},"keywords":{}}],["enter",{"_index":5439,"title":{},"content":{"1058":{"position":[[1154,7]]},"1438":{"position":[[1743,7],[1872,7]]}},"keywords":{}}],["entir",{"_index":506,"title":{},"content":{"17":{"position":[[699,6]]},"23":{"position":[[817,8]]},"342":{"position":[[85,6]]},"590":{"position":[[511,6]]},"592":{"position":[[234,6]]},"676":{"position":[[369,6]]},"706":{"position":[[1093,6]]},"708":{"position":[[424,6]]},"832":{"position":[[4,6],[146,6],[395,6],[574,8]]},"846":{"position":[[662,6],[787,6]]},"955":{"position":[[1455,6]]},"956":{"position":[[194,6]]},"965":{"position":[[252,6]]},"1016":{"position":[[117,8]]},"1078":{"position":[[293,8]]},"1190":{"position":[[355,6]]},"1192":{"position":[[192,6]]},"1387":{"position":[[6590,6]]},"1395":{"position":[[2972,6]]},"1439":{"position":[[6792,6]]},"1461":{"position":[[2607,6]]},"1462":{"position":[[6094,6]]},"1465":{"position":[[3066,6]]},"1467":{"position":[[7206,6]]},"1468":{"position":[[1484,6]]},"1477":{"position":[[2224,8]]}},"keywords":{}}],["entiti",{"_index":2041,"title":{},"content":{"377":{"position":[[1226,6]]},"756":{"position":[[1226,6]]}},"keywords":{}}],["entitl",{"_index":6897,"title":{},"content":{"1363":{"position":[[5872,12],[5992,12],[6037,12],[6175,12],[6249,12],[6469,13],[6507,12],[6601,12],[6663,12],[6883,13]]}},"keywords":{}}],["entitlements_fil",{"_index":6707,"title":{},"content":{"1362":{"position":[[1147,18],[6537,18]]},"1363":{"position":[[5903,17]]},"1367":{"position":[[2245,18]]},"1372":{"position":[[1499,18]]}},"keywords":{}}],["entri",{"_index":352,"title":{},"content":{"10":{"position":[[1055,5]]},"170":{"position":[[51,5]]},"171":{"position":[[80,5]]},"550":{"position":[[51,5]]},"551":{"position":[[80,5]]},"553":{"position":[[86,7]]},"559":{"position":[[408,5]]},"890":{"position":[[4303,5],[6128,7]]},"897":{"position":[[163,5]]},"1057":{"position":[[1187,7]]},"1075":{"position":[[154,7]]},"1093":{"position":[[452,5]]},"1097":{"position":[[280,6]]},"1112":{"position":[[2272,5]]},"1150":{"position":[[170,5]]},"1226":{"position":[[251,7]]},"1237":{"position":[[421,7]]},"1248":{"position":[[125,5]]},"1362":{"position":[[8139,5]]},"1363":{"position":[[6115,5],[6561,5]]},"1364":{"position":[[8988,5]]},"1367":{"position":[[8227,5]]},"1393":{"position":[[2478,8]]},"1395":{"position":[[2673,5],[3293,5]]},"1416":{"position":[[2986,5]]},"1427":{"position":[[6672,7]]},"1431":{"position":[[619,6]]},"1439":{"position":[[4812,5],[7808,7]]},"1443":{"position":[[1750,5]]},"1462":{"position":[[6867,5],[7041,5],[7484,5],[7827,5],[8022,5]]},"1467":{"position":[[8010,5],[8887,5],[9082,5]]},"1487":{"position":[[1629,7],[1848,7],[1928,5],[1958,7],[1997,7],[2070,7],[2760,5],[2900,7],[2932,7]]}},"keywords":{}}],["entries_to_exclud",{"_index":8607,"title":{},"content":{"1487":{"position":[[447,19],[1569,19],[3499,18]]}},"keywords":{}}],["entry'",{"_index":8039,"title":{},"content":{"1439":{"position":[[4838,7]]}},"keywords":{}}],["entry/exit",{"_index":5399,"title":{},"content":{"1057":{"position":[[1176,10]]}},"keywords":{}}],["entrypoint",{"_index":7743,"title":{},"content":{"1406":{"position":[[412,12]]}},"keywords":{}}],["enum",{"_index":1265,"title":{"638":{"position":[[0,5]]},"902":{"position":[[0,4]]}},"content":{"99":{"position":[[123,4]]},"231":{"position":[[123,4]]},"402":{"position":[[509,4]]},"404":{"position":[[46,4]]},"638":{"position":[[26,4],[543,4],[612,4],[1019,5]]},"781":{"position":[[509,4]]},"783":{"position":[[46,4]]},"890":{"position":[[2473,4],[4122,4]]},"898":{"position":[[2118,4],[2212,4],[2329,4]]},"902":{"position":[[4,4],[532,4],[601,4]]},"1112":{"position":[[3921,4]]},"1355":{"position":[[5941,6],[6253,6]]},"1374":{"position":[[2579,4]]},"1427":{"position":[[5114,6],[5426,6]]}},"keywords":{}}],["enum("option1"",{"_index":3117,"title":{},"content":{"638":{"position":[[108,25]]},"902":{"position":[[86,25]]}},"keywords":{}}],["enum(*arg",{"_index":3115,"title":{},"content":{"638":{"position":[[4,11]]}},"keywords":{}}],["enumer",{"_index":3120,"title":{"639":{"position":[[0,10]]}},"content":{"638":{"position":[[203,11],[741,11],[1119,11],[1201,11]]},"639":{"position":[[85,10]]},"900":{"position":[[2086,12]]},"902":{"position":[[181,11],[1104,11],[1186,11]]}},"keywords":{}}],["enumerate(["one"",{"_index":3141,"title":{},"content":{"639":{"position":[[530,27]]}},"keywords":{}}],["enumerate(["zero"",{"_index":3139,"title":{},"content":{"639":{"position":[[395,28]]}},"keywords":{}}],["enumerate(it",{"_index":3136,"title":{},"content":{"639":{"position":[[4,13]]}},"keywords":{}}],["enumerate(x",{"_index":3138,"title":{},"content":{"639":{"position":[[148,12]]}},"keywords":{}}],["enumeration.get",{"_index":3125,"title":{},"content":{"638":{"position":[[511,15]]},"902":{"position":[[500,15]]}},"keywords":{}}],["enumerationv.index",{"_index":4394,"title":{},"content":{"902":{"position":[[730,18]]}},"keywords":{}}],["enums[x.valu",{"_index":4397,"title":{},"content":{"902":{"position":[[1005,13]]}},"keywords":{}}],["env",{"_index":1170,"title":{"1151":{"position":[[5,3]]},"1152":{"position":[[10,4]]}},"content":{"94":{"position":[[320,4]]},"226":{"position":[[320,4]]},"374":{"position":[[50,3],[738,4]]},"753":{"position":[[50,3],[738,4]]},"1069":{"position":[[182,3]]},"1071":{"position":[[752,5]]},"1136":{"position":[[5060,5],[5665,5]]},"1138":{"position":[[2384,5],[3048,5],[8722,5],[9327,5]]},"1140":{"position":[[1873,5],[2537,5],[7648,5],[8253,5]]},"1142":{"position":[[3092,5],[3697,5]]},"1146":{"position":[[3032,5],[3637,5]]},"1148":{"position":[[6072,5],[6677,5]]},"1152":{"position":[[77,3]]},"1155":{"position":[[3128,5],[3733,5]]},"1156":{"position":[[2706,5],[3311,5]]},"1161":{"position":[[599,5],[1204,5]]},"1167":{"position":[[2877,5],[3541,5],[8652,5],[9257,5]]},"1181":{"position":[[811,5],[1416,5]]},"1186":{"position":[[4296,5],[4901,5]]},"1187":{"position":[[4309,5],[4914,5]]},"1188":{"position":[[1926,5],[2590,5],[9035,5],[9640,5]]},"1191":{"position":[[2896,5],[3501,5]]},"1192":{"position":[[3071,5],[3676,5]]},"1193":{"position":[[3123,5],[3728,5]]},"1194":{"position":[[2763,5],[3368,5]]},"1195":{"position":[[2741,5],[3346,5]]},"1196":{"position":[[2551,5],[3156,5]]},"1197":{"position":[[3534,5],[4139,5]]},"1198":{"position":[[3544,5],[4149,5]]},"1199":{"position":[[3572,5],[4177,5]]},"1200":{"position":[[3439,5],[4044,5]]},"1201":{"position":[[2699,5],[3304,5]]},"1202":{"position":[[3841,5],[4446,5],[8238,5],[8843,5]]},"1203":{"position":[[2933,5],[3538,5]]},"1204":{"position":[[2777,5],[3382,5]]},"1205":{"position":[[4106,5],[4711,5]]},"1206":{"position":[[2577,5],[3182,5]]},"1207":{"position":[[2734,5],[3339,5]]},"1209":{"position":[[4082,5],[4687,5]]},"1217":{"position":[[1618,5],[2282,5],[7393,5],[7998,5]]},"1222":{"position":[[2503,5],[3108,5]]},"1223":{"position":[[2513,5],[3118,5]]},"1226":{"position":[[7861,5],[8466,5]]},"1228":{"position":[[289,4],[379,3],[3699,5],[4363,5],[9474,5],[10079,5]]},"1235":{"position":[[5342,5],[5947,5]]},"1237":{"position":[[8031,5],[8636,5]]},"1239":{"position":[[73,3]]},"1354":{"position":[[674,4]]},"1367":{"position":[[2280,4]]},"1374":{"position":[[493,4],[1890,4]]},"1388":{"position":[[1175,4],[6034,4]]},"1393":{"position":[[484,4],[4031,4],[4040,3],[4080,3]]},"1398":{"position":[[697,4],[3320,4]]},"1403":{"position":[[700,4]]},"1410":{"position":[[853,4],[2999,4]]},"1413":{"position":[[723,4]]},"1429":{"position":[[983,4],[3897,4]]},"1440":{"position":[[1057,4],[3890,4]]},"1466":{"position":[[467,4]]},"1467":{"position":[[1471,4],[6387,4]]},"1470":{"position":[[1108,4]]},"1471":{"position":[[874,4],[3431,4]]},"1472":{"position":[[971,4],[4015,4]]},"1473":{"position":[[905,4],[3465,4]]},"1475":{"position":[[759,4]]},"1478":{"position":[[528,4],[2232,4]]},"1486":{"position":[[477,4]]}},"keywords":{}}],["env:env_var",{"_index":4453,"title":{},"content":{"910":{"position":[[262,12]]}},"keywords":{}}],["env:path",{"_index":473,"title":{},"content":{"15":{"position":[[734,9]]}},"keywords":{}}],["env:var="value"",{"_index":4450,"title":{},"content":{"910":{"position":[[183,26]]}},"keywords":{}}],["env_var",{"_index":4452,"title":{},"content":{"910":{"position":[[253,8],[275,9]]}},"keywords":{}}],["environ",{"_index":455,"title":{"890":{"position":[[0,12]]},"1257":{"position":[[7,11]]},"1288":{"position":[[7,11]]},"1316":{"position":[[7,11]]}},"content":{"15":{"position":[[307,11]]},"94":{"position":[[2536,11],[4171,11]]},"226":{"position":[[2536,11],[4171,11]]},"374":{"position":[[801,11]]},"377":{"position":[[1327,11],[1526,11]]},"581":{"position":[[403,11]]},"688":{"position":[[398,13]]},"689":{"position":[[223,12]]},"693":{"position":[[6717,12]]},"753":{"position":[[801,11]]},"756":{"position":[[1327,11],[1526,11]]},"890":{"position":[[0,12],[276,12],[474,13],[495,11],[548,11],[1701,13],[1771,12],[1795,11],[1891,11],[3024,12],[3048,11],[3134,11],[3425,12],[3840,12],[4678,12],[5570,12]]},"910":{"position":[[231,11],[290,11]]},"1050":{"position":[[2337,11],[3110,11]]},"1052":{"position":[[488,11],[1431,11]]},"1054":{"position":[[877,11]]},"1120":{"position":[[391,11]]},"1152":{"position":[[15,11],[132,11]]},"1217":{"position":[[142,11]]},"1228":{"position":[[307,11]]},"1345":{"position":[[431,11],[708,11],[1008,11]]},"1360":{"position":[[3196,11],[4878,11],[5157,11],[5407,11]]},"1374":{"position":[[780,11],[1904,11],[1995,11]]},"1383":{"position":[[1429,12],[2818,11],[4930,13],[5828,11],[6986,11],[7265,11],[7410,11]]},"1388":{"position":[[6048,11],[6190,11]]},"1393":{"position":[[6542,11]]},"1394":{"position":[[1719,11]]},"1395":{"position":[[2766,11]]},"1396":{"position":[[1619,11]]},"1397":{"position":[[2317,11]]},"1398":{"position":[[2385,11],[3353,11],[3744,11]]},"1403":{"position":[[2611,11],[4866,11],[5314,11],[6510,11]]},"1405":{"position":[[2259,11]]},"1407":{"position":[[2680,11]]},"1410":{"position":[[2702,11],[3013,11]]},"1429":{"position":[[3911,11]]},"1440":{"position":[[3904,11]]},"1467":{"position":[[6401,11],[6543,11]]},"1471":{"position":[[3440,11],[3504,11]]},"1472":{"position":[[3108,11],[3172,11],[4024,11],[4088,11]]},"1473":{"position":[[3474,11],[3572,11],[5307,11],[5356,11]]},"1477":{"position":[[2422,11]]},"1478":{"position":[[2237,11]]},"1486":{"position":[[1974,11]]}},"keywords":{}}],["environment_expansion_separ",{"_index":6646,"title":{},"content":{"1360":{"position":[[801,32],[3414,31],[4814,32]]},"1383":{"position":[[729,32],[6068,31],[6922,32]]},"1403":{"position":[[725,32],[2829,31],[4802,32]]},"1424":{"position":[[670,32]]},"1432":{"position":[[792,32]]}},"keywords":{}}],["epilog",{"_index":7188,"title":{},"content":{"1383":{"position":[[7965,9],[8115,9]]},"1403":{"position":[[7065,9],[7215,9]]}},"keywords":{}}],["equal",{"_index":958,"title":{},"content":{"67":{"position":[[144,8]]},"408":{"position":[[850,6],[947,6]]},"410":{"position":[[98,9]]},"440":{"position":[[81,5]]},"455":{"position":[[144,8]]},"498":{"position":[[112,8]]},"587":{"position":[[286,6],[366,6]]},"633":{"position":[[198,5]]},"787":{"position":[[850,6],[947,6]]},"789":{"position":[[98,9]]},"819":{"position":[[81,5]]},"1050":{"position":[[2369,5]]},"1282":{"position":[[176,5]]},"1283":{"position":[[193,5]]},"1284":{"position":[[173,5]]},"1313":{"position":[[176,5]]},"1314":{"position":[[193,5]]},"1315":{"position":[[173,5]]},"1341":{"position":[[176,5]]},"1342":{"position":[[193,5]]},"1343":{"position":[[173,5]]},"1366":{"position":[[2392,5]]},"1393":{"position":[[3472,7]]},"1486":{"position":[[2510,5],[2538,5]]}},"keywords":{}}],["equival",{"_index":969,"title":{},"content":{"69":{"position":[[298,11]]},"94":{"position":[[3469,10]]},"226":{"position":[[3469,10]]},"408":{"position":[[828,11]]},"457":{"position":[[298,11]]},"645":{"position":[[254,10],[305,10],[516,10]]},"662":{"position":[[246,10],[296,10]]},"711":{"position":[[59,11]]},"787":{"position":[[828,11]]},"847":{"position":[[82,10]]},"857":{"position":[[144,10]]},"942":{"position":[[922,10],[1129,10],[1486,10],[1657,10]]},"968":{"position":[[71,10]]},"994":{"position":[[336,12]]},"1136":{"position":[[1042,10]]},"1148":{"position":[[1398,10]]},"1205":{"position":[[522,10]]},"1209":{"position":[[275,10]]},"1226":{"position":[[2215,10]]},"1235":{"position":[[1535,10]]},"1237":{"position":[[2385,10]]},"1277":{"position":[[182,10],[301,10]]},"1308":{"position":[[182,10],[301,10]]},"1336":{"position":[[182,10],[301,10]]},"1393":{"position":[[3037,10],[3129,10],[3857,10],[6233,10],[9220,10]]},"1399":{"position":[[2174,10],[2426,10]]},"1405":{"position":[[2766,11]]},"1407":{"position":[[2289,11],[3187,11]]},"1410":{"position":[[3767,11]]},"1427":{"position":[[3835,10]]}},"keywords":{}}],["eras",{"_index":4246,"title":{},"content":{"890":{"position":[[4850,6]]}},"keywords":{}}],["erl",{"_index":7490,"title":{},"content":{"1393":{"position":[[7696,6],[7932,5],[8012,5],[8035,5]]},"1396":{"position":[[389,4],[1463,3],[1738,3]]},"1398":{"position":[[3579,3]]}},"keywords":{}}],["erl_opt",{"_index":7443,"title":{},"content":{"1393":{"position":[[516,9],[4214,9],[4371,8]]}},"keywords":{}}],["erlang",{"_index":124,"title":{},"content":{"6":{"position":[[210,6]]},"1040":{"position":[[2081,6]]},"1393":{"position":[[1118,6],[5988,6],[6186,6],[6448,6],[6577,6],[8953,6],[9050,6],[9849,6]]},"1394":{"position":[[567,6],[1754,6]]},"1395":{"position":[[1921,6],[2801,6]]},"1396":{"position":[[539,6],[1654,6]]},"1397":{"position":[[1914,6],[2352,6]]},"1398":{"position":[[2484,6],[3493,6],[3779,6]]}},"keywords":{}}],["erlang(ctx",{"_index":5142,"title":{},"content":{"1040":{"position":[[2111,12]]}},"keywords":{}}],["erlang.erlang_tests_default_app",{"_index":7628,"title":{},"content":{"1398":{"position":[[5743,32]]}},"keywords":{}}],["erlang.erlang_tests_default_configrespect",{"_index":7629,"title":{},"content":{"1398":{"position":[[5780,47]]}},"keywords":{}}],["erlang_app",{"_index":7439,"title":{"1393":{"position":[[0,11]]}},"content":{"1393":{"position":[[4,11]]}},"keywords":{}}],["erlang_app(l",{"_index":7616,"title":{},"content":{"1398":{"position":[[2858,20]]}},"keywords":{}}],["erlang_app_includ",{"_index":7533,"title":{"1394":{"position":[[0,20]]}},"content":{"1394":{"position":[[4,20]]}},"keywords":{}}],["erlang_appl",{"_index":7456,"title":{},"content":{"1393":{"position":[[1170,18],[1281,18],[9123,18],[9869,19],[9942,19],[10273,19],[10628,19]]},"1394":{"position":[[619,18],[730,18]]},"1395":{"position":[[3826,19]]}},"keywords":{}}],["erlang_escript",{"_index":7487,"title":{"1395":{"position":[[0,15]]}},"content":{"1393":{"position":[[7259,14],[9071,15]]},"1395":{"position":[[4,15],[673,14],[3617,15]]},"1398":{"position":[[4205,14]]}},"keywords":{}}],["erlang_otp_binari",{"_index":7556,"title":{"1396":{"position":[[0,20]]}},"content":{"1396":{"position":[[4,20],[1691,20]]}},"keywords":{}}],["erlang_releas",{"_index":7502,"title":{"1397":{"position":[[0,15]]}},"content":{"1393":{"position":[[9103,15]]},"1397":{"position":[[4,15],[665,14],[2904,14],[3497,15]]}},"keywords":{}}],["erlang_test",{"_index":7501,"title":{"1398":{"position":[[0,12]]}},"content":{"1393":{"position":[[9087,12]]},"1398":{"position":[[4,12],[1116,11],[1244,12],[1288,11],[1397,11],[2882,11],[3062,12],[4779,11],[4889,13],[4955,11],[5832,12],[5882,12],[6833,12],[7004,13]]}},"keywords":{}}],["erlanginfo(object",{"_index":5162,"title":{},"content":{"1040":{"position":[[2670,19]]}},"keywords":{}}],["erlc",{"_index":7557,"title":{},"content":{"1396":{"position":[[399,5],[1492,4],[1767,4]]}},"keywords":{}}],["err",{"_index":2380,"title":{},"content":{"444":{"position":[[131,3]]},"823":{"position":[[131,3]]},"1026":{"position":[[513,3]]},"1172":{"position":[[1910,3],[2254,3]]},"1429":{"position":[[5555,4]]},"1440":{"position":[[5547,4]]}},"keywords":{}}],["error",{"_index":257,"title":{"982":{"position":[[7,5]]}},"content":{"9":{"position":[[1706,7]]},"12":{"position":[[455,5]]},"18":{"position":[[783,5]]},"26":{"position":[[47,5],[94,5]]},"27":{"position":[[54,5],[101,5]]},"29":{"position":[[60,6],[107,5]]},"30":{"position":[[99,6],[146,5]]},"31":{"position":[[82,6],[129,5]]},"36":{"position":[[97,5]]},"40":{"position":[[119,5]]},"41":{"position":[[206,6],[227,5],[290,5],[342,5],[486,6],[550,6],[619,6],[669,5],[695,5],[799,5]]},"94":{"position":[[3178,6],[3326,6],[3366,7],[3421,6]]},"173":{"position":[[119,5]]},"174":{"position":[[206,6],[227,5],[290,5],[342,5],[486,6],[550,6],[619,6],[669,5],[695,5],[799,5]]},"178":{"position":[[47,5],[94,5]]},"179":{"position":[[54,5],[101,5]]},"181":{"position":[[97,5]]},"185":{"position":[[60,6],[107,5]]},"186":{"position":[[99,6],[146,5]]},"187":{"position":[[82,6],[129,5]]},"226":{"position":[[3178,6],[3326,6],[3366,7],[3421,6]]},"277":{"position":[[709,6]]},"282":{"position":[[818,6]]},"309":{"position":[[859,7]]},"318":{"position":[[183,6]]},"406":{"position":[[762,5]]},"416":{"position":[[568,5]]},"417":{"position":[[798,5]]},"423":{"position":[[194,6]]},"430":{"position":[[136,5]]},"446":{"position":[[109,5],[139,5],[301,6]]},"451":{"position":[[221,5]]},"557":{"position":[[632,6]]},"558":{"position":[[431,6]]},"569":{"position":[[368,5],[465,6]]},"575":{"position":[[188,6]]},"584":{"position":[[1176,5]]},"596":{"position":[[491,6]]},"610":{"position":[[904,6]]},"612":{"position":[[511,6]]},"638":{"position":[[445,5]]},"641":{"position":[[115,5]]},"644":{"position":[[565,6],[603,5]]},"645":{"position":[[191,5],[382,6]]},"648":{"position":[[338,5],[1117,6],[1167,6],[1243,6]]},"651":{"position":[[130,5],[273,6]]},"652":{"position":[[351,6]]},"654":{"position":[[138,5]]},"655":{"position":[[135,5]]},"663":{"position":[[479,5]]},"680":{"position":[[1345,7]]},"785":{"position":[[762,5]]},"795":{"position":[[568,5]]},"796":{"position":[[798,5]]},"802":{"position":[[194,6]]},"809":{"position":[[136,5]]},"825":{"position":[[109,5],[139,5],[301,6]]},"830":{"position":[[221,5]]},"851":{"position":[[358,6]]},"861":{"position":[[504,7]]},"897":{"position":[[64,5]]},"900":{"position":[[351,6]]},"901":{"position":[[441,5]]},"902":{"position":[[434,5]]},"907":{"position":[[295,7],[328,5]]},"943":{"position":[[2714,6]]},"983":{"position":[[119,5],[192,5]]},"984":{"position":[[39,6],[57,6]]},"1000":{"position":[[741,6]]},"1001":{"position":[[685,5],[1448,6]]},"1006":{"position":[[1204,5]]},"1013":{"position":[[651,6]]},"1021":{"position":[[564,6]]},"1046":{"position":[[142,5]]},"1064":{"position":[[783,5],[1540,6]]},"1065":{"position":[[381,6]]},"1091":{"position":[[132,6]]},"1105":{"position":[[2450,5]]},"1107":{"position":[[330,6]]},"1112":{"position":[[385,5],[816,5],[1040,6],[1127,6],[1225,6],[1384,7],[2592,5],[2647,5],[2821,6],[2848,5],[2877,5],[2968,7],[2980,6],[3091,5],[3409,5],[3454,6],[3485,5],[3522,5],[3594,5],[3615,5],[3969,6],[3983,5],[4071,5],[4092,5],[4180,5],[4231,5],[4379,6],[4445,6],[4516,6],[4566,5],[4592,5],[4713,5],[4761,5],[4879,5]]},"1114":{"position":[[95,5],[463,5],[708,5],[834,6],[993,6]]},"1121":{"position":[[92,5]]},"1136":{"position":[[4852,6],[6132,6],[6191,7]]},"1138":{"position":[[4095,6],[4982,6],[5165,5],[5293,6],[8514,6],[9794,6],[9853,7]]},"1140":{"position":[[3584,6],[4471,6],[4654,5],[4782,6],[7440,6],[8720,6],[8779,7]]},"1142":{"position":[[2884,6],[4164,6],[4223,7]]},"1144":{"position":[[492,6],[551,7]]},"1146":{"position":[[331,6],[2824,6],[4104,6],[4163,7]]},"1148":{"position":[[5864,6],[7695,6],[7754,7]]},"1150":{"position":[[727,6],[786,7]]},"1152":{"position":[[425,6],[484,7]]},"1154":{"position":[[580,6],[639,7]]},"1155":{"position":[[2920,6],[4200,6],[4259,7]]},"1156":{"position":[[2498,6],[3778,6],[3837,7]]},"1157":{"position":[[363,6],[422,7]]},"1158":{"position":[[357,6],[416,7]]},"1159":{"position":[[357,6],[416,7]]},"1161":{"position":[[1352,6],[1411,7]]},"1163":{"position":[[738,6],[797,7]]},"1165":{"position":[[567,6],[626,7]]},"1167":{"position":[[4588,6],[5475,6],[5658,5],[5786,6],[8444,6],[9724,6],[9783,7]]},"1169":{"position":[[2283,6],[2832,6],[2891,7]]},"1171":{"position":[[1073,6],[1132,7]]},"1172":{"position":[[2096,6],[2458,6],[2517,7]]},"1173":{"position":[[1145,6],[1204,7]]},"1174":{"position":[[573,6],[632,7]]},"1175":{"position":[[569,6],[628,7]]},"1176":{"position":[[738,6],[797,7]]},"1177":{"position":[[659,6],[718,7]]},"1178":{"position":[[976,6],[1035,7]]},"1179":{"position":[[773,6],[832,7]]},"1180":{"position":[[1044,6],[1103,7]]},"1181":{"position":[[1564,6],[1623,7]]},"1182":{"position":[[607,6],[666,7]]},"1183":{"position":[[562,6],[621,7]]},"1185":{"position":[[407,6],[466,7]]},"1186":{"position":[[4088,6],[5368,6],[5427,7]]},"1187":{"position":[[4101,6],[5381,6],[5440,7]]},"1188":{"position":[[3637,6],[4524,6],[4707,5],[4835,6],[8827,6],[10107,6],[10166,7]]},"1190":{"position":[[1738,6],[1797,7]]},"1191":{"position":[[2688,6],[3968,6],[4027,7]]},"1192":{"position":[[2863,6],[4143,6],[4202,7]]},"1193":{"position":[[2915,6],[4195,6],[4254,7]]},"1194":{"position":[[2555,6],[3835,6],[3894,7]]},"1195":{"position":[[2533,6],[3813,6],[3872,7]]},"1196":{"position":[[2343,6],[3623,6],[3682,7]]},"1197":{"position":[[3326,6],[4606,6],[4665,7]]},"1198":{"position":[[3336,6],[4616,6],[4675,7]]},"1199":{"position":[[3364,6],[4644,6],[4703,7]]},"1200":{"position":[[3231,6],[4511,6],[4570,7]]},"1201":{"position":[[2491,6],[3771,6],[3830,7]]},"1202":{"position":[[515,6],[574,7],[3633,6],[4913,6],[4972,7],[8030,6],[9310,6],[9369,7]]},"1203":{"position":[[2725,6],[4005,6],[4064,7]]},"1204":{"position":[[2569,6],[3849,6],[3908,7],[4751,6],[4810,7],[5681,6],[5740,7],[6583,6],[6642,7],[7569,6],[7628,7],[8523,6],[8582,7],[9470,6],[9529,7],[10400,6],[10459,7]]},"1205":{"position":[[3898,6],[5178,6],[5237,7]]},"1206":{"position":[[2369,6],[3877,6],[3936,7]]},"1207":{"position":[[2526,6],[3806,6],[3865,7]]},"1209":{"position":[[3874,6],[5154,6],[5213,7]]},"1211":{"position":[[478,6],[537,7]]},"1213":{"position":[[249,6],[308,7]]},"1215":{"position":[[333,6],[392,7]]},"1217":{"position":[[3329,6],[4216,6],[4399,5],[4527,6],[7185,6],[8465,6],[8524,7]]},"1219":{"position":[[714,5],[3171,6],[3720,6],[3779,7]]},"1221":{"position":[[452,6],[511,7]]},"1222":{"position":[[2295,6],[3591,6],[3650,7]]},"1223":{"position":[[2305,6],[3601,6],[3660,7]]},"1224":{"position":[[2485,6],[3034,6],[3093,7]]},"1226":{"position":[[3877,7],[7653,6],[8933,6],[8992,7]]},"1228":{"position":[[5410,6],[6297,6],[6480,5],[6608,6],[9266,6],[10546,6],[10605,7]]},"1235":{"position":[[5134,6],[6414,6],[6473,7]]},"1237":{"position":[[4047,7],[7823,6],[9103,6],[9162,7]]},"1243":{"position":[[1252,6]]},"1353":{"position":[[2826,6]]},"1362":{"position":[[10253,5]]},"1364":{"position":[[11367,5]]},"1367":{"position":[[11170,5],[14004,6]]},"1382":{"position":[[6979,5]]},"1384":{"position":[[13333,5]]},"1388":{"position":[[7848,5]]},"1427":{"position":[[3951,6]]},"1462":{"position":[[7394,5]]},"1467":{"position":[[8363,5]]}},"keywords":{}}],["error"",{"_index":3147,"title":{},"content":{"641":{"position":[[83,12]]}},"keywords":{}}],["error_diagnost",{"_index":5740,"title":{},"content":{"1112":{"position":[[3637,18]]}},"keywords":{}}],["error_handl",{"_index":1186,"title":{},"content":{"94":{"position":[[1069,14]]},"226":{"position":[[1069,14]]}},"keywords":{}}],["errorarg",{"_index":2077,"title":{},"content":{"389":{"position":[[1087,8]]},"768":{"position":[[1087,8]]}},"keywords":{}}],["ert",{"_index":7572,"title":{},"content":{"1397":{"position":[[2015,4],[3226,4]]}},"keywords":{}}],["erts/.multi_toolchain",{"_index":7573,"title":{},"content":{"1397":{"position":[[2035,22]]}},"keywords":{}}],["erts_vsn="12.1.2"",{"_index":7587,"title":{},"content":{"1397":{"position":[[3261,27]]}},"keywords":{}}],["es",{"_index":5035,"title":{},"content":{"1007":{"position":[[334,2]]}},"keywords":{}}],["escap",{"_index":2626,"title":{},"content":{"576":{"position":[[84,6],[173,6]]},"912":{"position":[[0,8]]},"1087":{"position":[[263,6]]}},"keywords":{}}],["escript",{"_index":7486,"title":{},"content":{"1393":{"position":[[7212,7]]},"1395":{"position":[[719,9],[790,9],[1726,7],[1827,8],[1965,8],[2084,7],[2185,7],[2335,8],[2874,7],[2979,7],[3175,8],[3193,8],[3272,8],[3318,7],[3368,7],[3500,7],[3560,7]]},"1396":{"position":[[410,8],[1525,7],[1798,7]]},"1398":{"position":[[4155,7]]}},"keywords":{}}],["escript"extract/2",{"_index":7542,"title":{},"content":{"1395":{"position":[[2443,23]]}},"keywords":{}}],["escript:extract/2",{"_index":7544,"title":{},"content":{"1395":{"position":[[2930,18],[3087,17]]}},"keywords":{}}],["especi",{"_index":280,"title":{},"content":{"9":{"position":[[2234,10]]},"1104":{"position":[[2651,10]]},"1105":{"position":[[2435,11]]},"1254":{"position":[[290,10]]}},"keywords":{}}],["essenti",{"_index":4806,"title":{},"content":{"966":{"position":[[106,11]]},"1050":{"position":[[352,9]]}},"keywords":{}}],["etc",{"_index":57,"title":{},"content":{"4":{"position":[[340,3]]},"11":{"position":[[630,5]]},"690":{"position":[[251,4]]},"693":{"position":[[4002,4]]},"867":{"position":[[148,4]]},"907":{"position":[[150,4]]},"950":{"position":[[631,4]]},"1181":{"position":[[588,4]]},"1271":{"position":[[360,5]]},"1302":{"position":[[360,5]]},"1330":{"position":[[360,5]]},"1384":{"position":[[11619,6],[12596,6],[20146,4]]},"1386":{"position":[[5266,4]]},"1471":{"position":[[5456,5]]},"1472":{"position":[[6342,5]]},"1473":{"position":[[3973,4]]}},"keywords":{}}],["etc.).relative_to",{"_index":2159,"title":{},"content":{"405":{"position":[[2337,17]]},"784":{"position":[[2337,17]]}},"keywords":{}}],["etc..short_path",{"_index":5264,"title":{},"content":{"1049":{"position":[[461,15]]}},"keywords":{}}],["etc/buckconfig.d",{"_index":2693,"title":{},"content":{"583":{"position":[[787,17]]}},"keywords":{}}],["etc/buckconfigfil",{"_index":2692,"title":{},"content":{"583":{"position":[[742,20]]}},"keywords":{}}],["eval",{"_index":3886,"title":{},"content":{"846":{"position":[[605,6],[821,7]]},"904":{"position":[[243,4]]},"905":{"position":[[92,4]]},"924":{"position":[[992,4],[1175,4]]}},"keywords":{}}],["eval_typ",{"_index":3142,"title":{"640":{"position":[[0,10]]}},"content":{},"keywords":{}}],["eval_type(ti",{"_index":3143,"title":{},"content":{"640":{"position":[[4,13]]}},"keywords":{}}],["evalu",{"_index":1480,"title":{"718":{"position":[[9,11]]},"1091":{"position":[[0,11]]}},"content":{"240":{"position":[[92,9]]},"329":{"position":[[152,9]]},"334":{"position":[[601,8]]},"418":{"position":[[575,9],[1100,9]]},"429":{"position":[[144,10]]},"444":{"position":[[106,10]]},"470":{"position":[[92,9]]},"474":{"position":[[340,8]]},"693":{"position":[[1541,9],[2622,10]]},"710":{"position":[[211,10]]},"715":{"position":[[1775,11]]},"718":{"position":[[13,9],[148,9],[586,10]]},"720":{"position":[[14,11]]},"797":{"position":[[575,9],[1100,9]]},"808":{"position":[[144,10]]},"823":{"position":[[106,10]]},"832":{"position":[[512,9]]},"837":{"position":[[68,9],[243,9]]},"845":{"position":[[80,8]]},"876":{"position":[[382,11]]},"888":{"position":[[1096,10],[1214,10]]},"890":{"position":[[318,11],[2218,11]]},"900":{"position":[[189,9]]},"904":{"position":[[626,10],[1253,9],[1378,9],[1432,9]]},"951":{"position":[[1111,10]]},"959":{"position":[[219,10]]},"1000":{"position":[[7,10],[40,8],[327,10],[530,9],[772,9]]},"1001":{"position":[[501,10],[637,11],[710,11],[864,10],[1423,10]]},"1024":{"position":[[539,8],[1201,9]]},"1044":{"position":[[242,9]]},"1056":{"position":[[32,10]]},"1064":{"position":[[599,10],[735,11],[808,11],[964,10],[1515,10]]},"1065":{"position":[[356,10]]},"1088":{"position":[[1260,9]]},"1090":{"position":[[100,11],[138,9]]},"1091":{"position":[[31,9]]},"1129":{"position":[[226,9]]},"1136":{"position":[[891,8],[4717,10],[5352,9]]},"1138":{"position":[[8379,10],[9014,9]]},"1140":{"position":[[7305,10],[7940,9]]},"1142":{"position":[[2749,10],[3384,9]]},"1146":{"position":[[353,10],[2689,10],[3324,9]]},"1148":{"position":[[1247,8],[5729,10],[6364,9]]},"1155":{"position":[[2785,10],[3420,9]]},"1156":{"position":[[2363,10],[2998,9]]},"1161":{"position":[[891,9]]},"1167":{"position":[[8309,10],[8944,9]]},"1169":{"position":[[2148,10]]},"1181":{"position":[[1103,9]]},"1185":{"position":[[141,10]]},"1186":{"position":[[3953,10],[4588,9]]},"1187":{"position":[[20,10],[3966,10],[4601,9]]},"1188":{"position":[[8692,10],[9327,9]]},"1191":{"position":[[2553,10],[3188,9]]},"1192":{"position":[[2728,10],[3363,9]]},"1193":{"position":[[2780,10],[3415,9]]},"1194":{"position":[[2420,10],[3055,9]]},"1195":{"position":[[2398,10],[3033,9]]},"1196":{"position":[[2208,10],[2843,9]]},"1197":{"position":[[3191,10],[3826,9]]},"1198":{"position":[[3201,10],[3836,9]]},"1199":{"position":[[161,9],[236,9],[3229,10],[3864,9]]},"1200":{"position":[[3096,10],[3731,9]]},"1201":{"position":[[2356,10],[2991,9]]},"1202":{"position":[[3498,10],[4133,9],[7895,10],[8530,9]]},"1203":{"position":[[2590,10],[3225,9]]},"1204":{"position":[[2434,10],[3069,9]]},"1205":{"position":[[3763,10],[4398,9]]},"1206":{"position":[[2234,10],[2869,9]]},"1207":{"position":[[2391,10],[3026,9]]},"1209":{"position":[[124,8],[3739,10],[4374,9]]},"1217":{"position":[[7050,10],[7685,9]]},"1219":{"position":[[3036,10]]},"1222":{"position":[[2160,10],[2795,9]]},"1223":{"position":[[2170,10],[2805,9]]},"1224":{"position":[[2350,10]]},"1226":{"position":[[7518,10],[8153,9]]},"1228":{"position":[[9131,10],[9766,9]]},"1235":{"position":[[1384,8],[4999,10],[5634,9]]},"1237":{"position":[[7688,10],[8323,9]]},"1247":{"position":[[56,10],[152,10],[542,10],[709,11]]},"1249":{"position":[[99,10]]},"1250":{"position":[[38,10]]},"1258":{"position":[[994,9],[1093,8]]},"1259":{"position":[[266,9],[991,9]]},"1260":{"position":[[63,9]]},"1262":{"position":[[51,9]]},"1271":{"position":[[34,9]]},"1282":{"position":[[277,11]]},"1283":{"position":[[294,11]]},"1284":{"position":[[274,11]]},"1289":{"position":[[994,9],[1093,8]]},"1290":{"position":[[266,9],[991,9]]},"1291":{"position":[[63,9]]},"1293":{"position":[[51,9]]},"1302":{"position":[[34,9]]},"1313":{"position":[[277,11]]},"1314":{"position":[[294,11]]},"1315":{"position":[[274,11]]},"1317":{"position":[[994,9],[1093,8]]},"1318":{"position":[[266,9],[991,9]]},"1319":{"position":[[63,9]]},"1321":{"position":[[51,9]]},"1330":{"position":[[34,9]]},"1341":{"position":[[277,11]]},"1342":{"position":[[294,11]]},"1343":{"position":[[274,11]]},"1351":{"position":[[2310,8],[2692,8]]}},"keywords":{}}],["evalut",{"_index":4713,"title":{},"content":{"944":{"position":[[2125,8]]}},"keywords":{}}],["even",{"_index":328,"title":{},"content":{"10":{"position":[[524,4]]},"23":{"position":[[2729,4]]},"305":{"position":[[216,4]]},"346":{"position":[[222,4]]},"347":{"position":[[320,4]]},"374":{"position":[[1908,4]]},"418":{"position":[[925,4]]},"675":{"position":[[1102,4]]},"706":{"position":[[1275,4]]},"753":{"position":[[1908,4]]},"797":{"position":[[925,4]]},"833":{"position":[[51,4],[211,4]]},"840":{"position":[[1350,4]]},"890":{"position":[[1375,4],[6028,4],[6161,4]]},"956":{"position":[[281,4]]},"958":{"position":[[312,4]]},"961":{"position":[[360,4]]},"987":{"position":[[400,4],[811,4]]},"1026":{"position":[[167,4]]},"1037":{"position":[[107,4]]},"1046":{"position":[[341,4]]},"1053":{"position":[[936,4]]},"1069":{"position":[[811,4]]},"1084":{"position":[[660,4]]},"1113":{"position":[[586,4],[671,4]]},"1136":{"position":[[4300,5]]},"1138":{"position":[[7962,5]]},"1140":{"position":[[6888,5]]},"1142":{"position":[[2332,5]]},"1146":{"position":[[2272,5]]},"1148":{"position":[[5312,5]]},"1155":{"position":[[2368,5]]},"1156":{"position":[[1946,5]]},"1161":{"position":[[302,4]]},"1167":{"position":[[7892,5]]},"1169":{"position":[[1731,5]]},"1186":{"position":[[729,4],[3536,5]]},"1187":{"position":[[742,4],[3549,5]]},"1188":{"position":[[5468,4],[8275,5]]},"1191":{"position":[[2136,5]]},"1192":{"position":[[2311,5]]},"1193":{"position":[[2363,5]]},"1194":{"position":[[2003,5]]},"1195":{"position":[[1981,5]]},"1196":{"position":[[1791,5]]},"1197":{"position":[[2774,5]]},"1198":{"position":[[2784,5]]},"1199":{"position":[[2812,5]]},"1200":{"position":[[2679,5]]},"1201":{"position":[[1939,5]]},"1202":{"position":[[3081,5],[7478,5]]},"1203":{"position":[[2173,5]]},"1204":{"position":[[2017,5]]},"1205":{"position":[[3346,5]]},"1206":{"position":[[1817,5]]},"1207":{"position":[[1974,5]]},"1209":{"position":[[3322,5]]},"1217":{"position":[[6633,5]]},"1219":{"position":[[2619,5]]},"1222":{"position":[[1743,5]]},"1223":{"position":[[1753,5]]},"1224":{"position":[[1933,5]]},"1226":{"position":[[7101,5]]},"1228":{"position":[[1195,4],[8714,5]]},"1235":{"position":[[4582,5]]},"1237":{"position":[[7271,5]]},"1351":{"position":[[3778,4]]},"1384":{"position":[[19579,4]]},"1393":{"position":[[5410,4]]},"1459":{"position":[[1667,4]]}},"keywords":{}}],["event",{"_index":408,"title":{"864":{"position":[[9,6]]},"865":{"position":[[5,5]]},"866":{"position":[[15,5],[39,5]]},"867":{"position":[[0,5]]},"1123":{"position":[[0,5]]},"1126":{"position":[[5,7]]},"1127":{"position":[[12,5]]}},"content":{"12":{"position":[[440,6]]},"94":{"position":[[1438,5]]},"226":{"position":[[1438,5]]},"304":{"position":[[93,6],[290,6],[304,5]]},"864":{"position":[[28,6],[125,6],[157,5],[184,5],[583,6],[660,5],[755,6],[925,6],[1627,6],[1668,6]]},"865":{"position":[[21,5],[94,5],[142,6],[491,5],[566,5],[697,6],[813,5]]},"866":{"position":[[52,5],[109,6],[246,5],[272,5]]},"867":{"position":[[23,5],[193,6],[214,7],[271,5],[665,5],[693,5],[1627,5],[2193,5],[2358,5]]},"965":{"position":[[416,5]]},"1014":{"position":[[7,5]]},"1067":{"position":[[532,6]]},"1112":{"position":[[3562,5]]},"1116":{"position":[[56,5]]},"1118":{"position":[[96,5]]},"1120":{"position":[[589,7],[623,5]]},"1124":{"position":[[22,5]]},"1126":{"position":[[16,5],[156,5],[175,5],[456,5],[568,5],[1293,7],[1502,5],[1553,6]]},"1127":{"position":[[0,5],[82,5],[630,5],[661,5]]},"1136":{"position":[[5423,6],[5701,5],[5722,5],[5751,6]]},"1138":{"position":[[9085,6],[9363,5],[9384,5],[9413,6]]},"1140":{"position":[[449,5],[483,6],[531,6],[558,5],[601,6],[641,5],[8011,6],[8289,5],[8310,5],[8339,6]]},"1142":{"position":[[3455,6],[3733,5],[3754,5],[3783,6]]},"1146":{"position":[[3395,6],[3673,5],[3694,5],[3723,6]]},"1148":{"position":[[6435,6],[6713,5],[6734,5],[6763,6]]},"1155":{"position":[[3491,6],[3769,5],[3790,5],[3819,6]]},"1156":{"position":[[3069,6],[3347,5],[3368,5],[3397,6]]},"1161":{"position":[[962,6]]},"1163":{"position":[[307,5],[328,5],[357,6]]},"1165":{"position":[[136,5],[157,5],[186,6]]},"1167":{"position":[[9015,6],[9293,5],[9314,5],[9343,6]]},"1169":{"position":[[2401,5],[2422,5],[2451,6]]},"1171":{"position":[[678,5],[711,5],[760,5]]},"1172":{"position":[[910,5],[980,5]]},"1173":{"position":[[210,5],[280,5]]},"1174":{"position":[[114,5],[184,5]]},"1175":{"position":[[134,5],[204,5]]},"1176":{"position":[[218,5],[288,5]]},"1177":{"position":[[130,5],[200,5]]},"1178":{"position":[[284,5],[354,5]]},"1179":{"position":[[150,5],[220,5]]},"1180":{"position":[[480,5],[550,5]]},"1181":{"position":[[10,5],[65,5],[193,5],[305,5],[615,5],[1174,6]]},"1182":{"position":[[13,5],[62,5],[172,5],[242,5]]},"1183":{"position":[[127,5],[197,5]]},"1186":{"position":[[4659,6],[4937,5],[4958,5],[4987,6]]},"1187":{"position":[[4672,6],[4950,5],[4971,5],[5000,6]]},"1188":{"position":[[502,5],[536,6],[584,6],[611,5],[654,6],[694,5],[9398,6],[9676,5],[9697,5],[9726,6]]},"1191":{"position":[[3259,6],[3537,5],[3558,5],[3587,6]]},"1192":{"position":[[3434,6],[3712,5],[3733,5],[3762,6]]},"1193":{"position":[[3486,6],[3764,5],[3785,5],[3814,6]]},"1194":{"position":[[3126,6],[3404,5],[3425,5],[3454,6]]},"1195":{"position":[[3104,6],[3382,5],[3403,5],[3432,6]]},"1196":{"position":[[2914,6],[3192,5],[3213,5],[3242,6]]},"1197":{"position":[[3897,6],[4175,5],[4196,5],[4225,6]]},"1198":{"position":[[3907,6],[4185,5],[4206,5],[4235,6]]},"1199":{"position":[[3935,6],[4213,5],[4234,5],[4263,6]]},"1200":{"position":[[3802,6],[4080,5],[4101,5],[4130,6]]},"1201":{"position":[[3062,6],[3340,5],[3361,5],[3390,6]]},"1202":{"position":[[4204,6],[4482,5],[4503,5],[4532,6],[8601,6],[8879,5],[8900,5],[8929,6]]},"1203":{"position":[[3296,6],[3574,5],[3595,5],[3624,6]]},"1204":{"position":[[3140,6],[3418,5],[3439,5],[3468,6]]},"1205":{"position":[[4469,6],[4747,5],[4768,5],[4797,6]]},"1206":{"position":[[2940,6],[3218,5],[3239,5],[3268,6]]},"1207":{"position":[[3097,6],[3375,5],[3396,5],[3425,6]]},"1209":{"position":[[4445,6],[4723,5],[4744,5],[4773,6]]},"1217":{"position":[[7756,6],[8034,5],[8055,5],[8084,6]]},"1219":{"position":[[3289,5],[3310,5],[3339,6]]},"1222":{"position":[[2866,6],[3144,5],[3165,5],[3194,6]]},"1223":{"position":[[2876,6],[3154,5],[3175,5],[3204,6]]},"1224":{"position":[[138,6],[2603,5],[2624,5],[2653,6]]},"1226":{"position":[[8224,6],[8502,5],[8523,5],[8552,6]]},"1228":{"position":[[9837,6],[10115,5],[10136,5],[10165,6]]},"1235":{"position":[[5705,6],[5983,5],[6004,5],[6033,6]]},"1237":{"position":[[8394,6],[8672,5],[8693,5],[8722,6]]},"1244":{"position":[[142,5]]},"1248":{"position":[[75,5],[140,5]]}},"keywords":{}}],["event'",{"_index":5795,"title":{},"content":{"1126":{"position":[[429,7]]}},"keywords":{}}],["event.data.instant.data.snapshot.this_event_client_delay_m",{"_index":5821,"title":{},"content":{"1127":{"position":[[759,60]]}},"keywords":{}}],["events.clean_stale_artifact_ttl_hour",{"_index":5545,"title":{},"content":{"1079":{"position":[[884,37]]}},"keywords":{}}],["eventsr",{"_index":5775,"title":{},"content":{"1120":{"position":[[674,7]]}},"keywords":{}}],["eventu",{"_index":1162,"title":{},"content":{"93":{"position":[[144,10]]},"225":{"position":[[144,10]]},"1044":{"position":[[461,10]]},"1067":{"position":[[196,10]]},"1075":{"position":[[289,10]]},"1393":{"position":[[5319,8]]}},"keywords":{}}],["everyapple_test",{"_index":5344,"title":{},"content":{"1054":{"position":[[1282,15]]}},"keywords":{}}],["everyon",{"_index":233,"title":{},"content":{"9":{"position":[[1319,8]]}},"keywords":{}}],["everyth",{"_index":4429,"title":{},"content":{"906":{"position":[[350,10]]},"924":{"position":[[1557,10]]},"966":{"position":[[653,10]]},"1057":{"position":[[1143,11]]},"1104":{"position":[[2109,10]]},"1106":{"position":[[133,10]]},"1136":{"position":[[6219,11],[6251,10]]},"1138":{"position":[[9881,11],[9913,10]]},"1140":{"position":[[8807,11],[8839,10]]},"1142":{"position":[[4251,11],[4283,10]]},"1144":{"position":[[579,11],[611,10]]},"1146":{"position":[[4191,11],[4223,10]]},"1148":{"position":[[7782,11],[7814,10]]},"1150":{"position":[[814,11],[846,10]]},"1152":{"position":[[512,11],[544,10]]},"1154":{"position":[[667,11],[699,10]]},"1155":{"position":[[4287,11],[4319,10]]},"1156":{"position":[[3865,11],[3897,10]]},"1157":{"position":[[450,11],[482,10]]},"1158":{"position":[[444,11],[476,10]]},"1159":{"position":[[444,11],[476,10]]},"1161":{"position":[[1439,11],[1471,10]]},"1163":{"position":[[825,11],[857,10]]},"1165":{"position":[[654,11],[686,10]]},"1167":{"position":[[9811,11],[9843,10]]},"1169":{"position":[[2919,11],[2951,10]]},"1171":{"position":[[118,10],[1160,11],[1192,10]]},"1172":{"position":[[7,10],[2545,11],[2577,10]]},"1173":{"position":[[1232,11],[1264,10]]},"1174":{"position":[[660,11],[692,10]]},"1175":{"position":[[656,11],[688,10]]},"1176":{"position":[[825,11],[857,10]]},"1177":{"position":[[746,11],[778,10]]},"1178":{"position":[[1063,11],[1095,10]]},"1179":{"position":[[860,11],[892,10]]},"1180":{"position":[[1131,11],[1163,10]]},"1181":{"position":[[1651,11],[1683,10]]},"1182":{"position":[[694,11],[726,10]]},"1183":{"position":[[649,11],[681,10]]},"1185":{"position":[[494,11],[526,10]]},"1186":{"position":[[5455,11],[5487,10]]},"1187":{"position":[[5468,11],[5500,10]]},"1188":{"position":[[10194,11],[10226,10]]},"1190":{"position":[[1825,11],[1857,10]]},"1191":{"position":[[4055,11],[4087,10]]},"1192":{"position":[[4230,11],[4262,10]]},"1193":{"position":[[4282,11],[4314,10]]},"1194":{"position":[[3922,11],[3954,10]]},"1195":{"position":[[3900,11],[3932,10]]},"1196":{"position":[[3710,11],[3742,10]]},"1197":{"position":[[4693,11],[4725,10]]},"1198":{"position":[[4703,11],[4735,10]]},"1199":{"position":[[4731,11],[4763,10]]},"1200":{"position":[[4598,11],[4630,10]]},"1201":{"position":[[3858,11],[3890,10]]},"1202":{"position":[[602,11],[634,10],[5000,11],[5032,10],[9397,11],[9429,10]]},"1203":{"position":[[4092,11],[4124,10]]},"1204":{"position":[[3936,11],[3968,10],[4838,11],[4870,10],[5768,11],[5800,10],[6670,11],[6702,10],[7656,11],[7688,10],[8610,11],[8642,10],[9557,11],[9589,10],[10487,11],[10519,10]]},"1205":{"position":[[5265,11],[5297,10]]},"1206":{"position":[[3964,11],[3996,10]]},"1207":{"position":[[3893,11],[3925,10]]},"1209":{"position":[[5241,11],[5273,10]]},"1211":{"position":[[565,11],[597,10]]},"1213":{"position":[[336,11],[368,10]]},"1215":{"position":[[420,11],[452,10]]},"1217":{"position":[[8552,11],[8584,10]]},"1219":{"position":[[3807,11],[3839,10]]},"1221":{"position":[[539,11],[571,10]]},"1222":{"position":[[3678,11],[3710,10]]},"1223":{"position":[[3688,11],[3720,10]]},"1224":{"position":[[3121,11],[3153,10]]},"1226":{"position":[[9020,11],[9052,10]]},"1228":{"position":[[10633,11],[10665,10]]},"1235":{"position":[[6501,11],[6533,10]]},"1237":{"position":[[9190,11],[9222,10]]},"1405":{"position":[[3759,10]]},"1406":{"position":[[1518,10]]},"1407":{"position":[[4378,10]]},"1408":{"position":[[2757,10]]},"1410":{"position":[[5169,10]]}},"keywords":{}}],["everywher",{"_index":4535,"title":{},"content":{"924":{"position":[[914,11]]},"937":{"position":[[4400,11]]},"991":{"position":[[1346,10]]}},"keywords":{}}],["evolving).buck2",{"_index":774,"title":{},"content":{"23":{"position":[[3144,15]]}},"keywords":{}}],["ex",{"_index":513,"title":{},"content":{"17":{"position":[[946,4]]},"94":{"position":[[1000,4]]},"126":{"position":[[304,5]]},"226":{"position":[[1000,4]]},"249":{"position":[[304,5]]},"301":{"position":[[1080,4]]},"398":{"position":[[237,4]]},"399":{"position":[[41,3],[267,4]]},"441":{"position":[[214,3]]},"442":{"position":[[164,3]]},"688":{"position":[[660,5],[1065,5]]},"777":{"position":[[237,4]]},"778":{"position":[[41,3],[267,4]]},"820":{"position":[[214,3]]},"821":{"position":[[164,3]]},"867":{"position":[[1881,4]]},"904":{"position":[[113,4]]},"937":{"position":[[102,4],[143,4],[174,4],[1575,4],[4086,4],[4114,4],[4159,4],[4342,4]]},"942":{"position":[[701,3]]},"943":{"position":[[2610,4]]},"944":{"position":[[1195,3]]},"946":{"position":[[682,4]]},"1023":{"position":[[218,3],[247,5]]},"1025":{"position":[[126,5]]},"1044":{"position":[[2667,4]]},"1104":{"position":[[1188,6]]},"1140":{"position":[[792,4]]},"1188":{"position":[[845,4]]},"1190":{"position":[[1426,4]]},"1206":{"position":[[55,4]]},"1226":{"position":[[1674,4]]},"1237":{"position":[[1844,4]]},"1243":{"position":[[513,4]]},"1279":{"position":[[173,3]]},"1310":{"position":[[173,3]]},"1338":{"position":[[173,3]]},"1360":{"position":[[6243,6],[6326,6]]},"1374":{"position":[[518,4],[1733,3],[1847,5],[1979,3],[2055,4],[2248,3],[2283,3],[2395,3],[2863,3],[2875,5],[3116,3],[3340,3],[3436,3],[3532,3]]},"1383":{"position":[[5223,5]]},"1401":{"position":[[1895,6]]},"1403":{"position":[[5133,5],[7598,6],[7694,6],[7786,6],[8001,6],[8113,6]]},"1423":{"position":[[1921,5]]},"1486":{"position":[[502,4],[1937,3],[2044,3],[3078,5],[3203,3],[3371,6],[3465,6],[3559,6]]}},"keywords":{}}],["exact",{"_index":1719,"title":{},"content":{"308":{"position":[[133,5]]},"648":{"position":[[1199,5],[1275,5]]},"1114":{"position":[[967,5]]},"1226":{"position":[[1582,5]]},"1237":{"position":[[1752,5]]}},"keywords":{}}],["exactli",{"_index":3269,"title":{},"content":{"656":{"position":[[182,7]]},"686":{"position":[[37,7]]},"904":{"position":[[210,7],[283,7]]},"1001":{"position":[[182,7]]},"1064":{"position":[[238,7]]},"1231":{"position":[[732,7]]},"1235":{"position":[[178,7]]},"1381":{"position":[[1947,8]]},"1386":{"position":[[5916,7]]}},"keywords":{}}],["examin",{"_index":1145,"title":{},"content":{"92":{"position":[[1734,7]]},"224":{"position":[[1734,7]]},"951":{"position":[[978,7]]},"1040":{"position":[[1836,7]]},"1487":{"position":[[3596,7]]}},"keywords":{}}],["exampl",{"_index":140,"title":{"708":{"position":[[0,9]]},"712":{"position":[[9,8]]},"871":{"position":[[0,7]]},"878":{"position":[[6,8]]},"892":{"position":[[9,8]]},"896":{"position":[[0,9]]},"991":{"position":[[0,8]]},"1046":{"position":[[15,8]]},"1047":{"position":[[7,8]]},"1048":{"position":[[7,8]]},"1054":{"position":[[0,7]]},"1102":{"position":[[12,8]]}},"content":{"7":{"position":[[108,8]]},"9":{"position":[[245,9],[2363,9]]},"11":{"position":[[286,8]]},"17":{"position":[[51,7],[193,7]]},"22":{"position":[[1617,8]]},"24":{"position":[[627,8]]},"41":{"position":[[522,8],[644,7]]},"50":{"position":[[154,8]]},"69":{"position":[[393,7]]},"72":{"position":[[147,8]]},"89":{"position":[[282,8]]},"92":{"position":[[420,8],[1042,8],[1390,8]]},"94":{"position":[[1886,8]]},"99":{"position":[[1208,8]]},"174":{"position":[[522,8],[644,7]]},"197":{"position":[[154,8]]},"221":{"position":[[282,8]]},"224":{"position":[[420,8],[1042,8],[1390,8]]},"226":{"position":[[1886,8]]},"231":{"position":[[1208,8]]},"286":{"position":[[340,7]]},"300":{"position":[[335,8]]},"368":{"position":[[581,7]]},"377":{"position":[[769,7]]},"405":{"position":[[1442,8],[1633,8]]},"406":{"position":[[165,7],[315,8]]},"408":{"position":[[932,7]]},"415":{"position":[[187,8]]},"429":{"position":[[175,8]]},"435":{"position":[[152,8]]},"437":{"position":[[302,8]]},"446":{"position":[[466,8]]},"457":{"position":[[393,7]]},"495":{"position":[[147,8]]},"575":{"position":[[106,8],[351,8]]},"577":{"position":[[232,8],[576,8]]},"578":{"position":[[165,8]]},"583":{"position":[[242,8]]},"584":{"position":[[1314,8]]},"622":{"position":[[483,8],[1215,8]]},"632":{"position":[[336,8]]},"638":{"position":[[90,8],[622,8]]},"656":{"position":[[332,8]]},"663":{"position":[[115,8],[685,8],[957,8],[1088,8]]},"675":{"position":[[173,7]]},"676":{"position":[[322,8]]},"678":{"position":[[92,8]]},"679":{"position":[[53,8]]},"680":{"position":[[592,8],[907,8]]},"681":{"position":[[316,8],[558,8]]},"688":{"position":[[789,8]]},"693":{"position":[[380,7],[1122,8],[3222,8],[4309,8],[7604,8]]},"695":{"position":[[99,8]]},"704":{"position":[[680,8]]},"708":{"position":[[1119,10]]},"711":{"position":[[1302,8]]},"712":{"position":[[1555,8]]},"715":{"position":[[574,8],[1002,8]]},"722":{"position":[[227,8]]},"747":{"position":[[581,7]]},"756":{"position":[[769,7]]},"784":{"position":[[1442,8],[1633,8]]},"785":{"position":[[165,7],[315,8]]},"787":{"position":[[932,7]]},"794":{"position":[[187,8]]},"808":{"position":[[175,8]]},"814":{"position":[[152,8]]},"816":{"position":[[302,8]]},"825":{"position":[[466,8]]},"832":{"position":[[205,8]]},"850":{"position":[[141,8],[150,8],[194,7]]},"855":{"position":[[264,8]]},"861":{"position":[[181,8]]},"864":{"position":[[404,8]]},"865":{"position":[[425,8]]},"870":{"position":[[51,8],[861,8]]},"872":{"position":[[456,7]]},"873":{"position":[[322,7]]},"874":{"position":[[5,7]]},"878":{"position":[[16,7]]},"888":{"position":[[86,8],[232,7]]},"890":{"position":[[362,8],[443,7],[1451,8],[2116,8]]},"892":{"position":[[376,8]]},"895":{"position":[[171,8],[261,8]]},"898":{"position":[[1250,8],[1900,8]]},"900":{"position":[[471,8]]},"901":{"position":[[78,8],[911,8],[1042,8]]},"902":{"position":[[68,8],[611,8]]},"904":{"position":[[357,8]]},"905":{"position":[[455,8],[717,8]]},"906":{"position":[[125,8],[456,8],[884,7]]},"917":{"position":[[161,8]]},"919":{"position":[[562,9],[2194,8]]},"921":{"position":[[480,8]]},"937":{"position":[[67,8]]},"938":{"position":[[359,8],[723,8]]},"939":{"position":[[578,8],[1044,8],[1498,7]]},"940":{"position":[[142,8],[495,8],[524,7],[966,8]]},"941":{"position":[[71,8]]},"942":{"position":[[117,8]]},"943":{"position":[[2411,8]]},"944":{"position":[[850,8],[1051,7]]},"945":{"position":[[825,8],[858,8]]},"947":{"position":[[622,8]]},"969":{"position":[[117,8]]},"980":{"position":[[1107,8]]},"981":{"position":[[188,7]]},"993":{"position":[[229,7]]},"994":{"position":[[413,7]]},"995":{"position":[[865,8],[1200,8],[1371,7]]},"997":{"position":[[102,8]]},"1000":{"position":[[401,8]]},"1001":{"position":[[277,8]]},"1004":{"position":[[843,7],[887,8]]},"1005":{"position":[[321,8]]},"1006":{"position":[[432,8]]},"1009":{"position":[[88,8]]},"1012":{"position":[[267,8]]},"1021":{"position":[[76,8]]},"1022":{"position":[[246,8]]},"1023":{"position":[[133,8],[238,8]]},"1024":{"position":[[918,8]]},"1035":{"position":[[203,8]]},"1040":{"position":[[1467,8],[2038,7]]},"1042":{"position":[[54,8]]},"1043":{"position":[[225,8]]},"1044":{"position":[[950,8],[1433,8]]},"1046":{"position":[[549,8]]},"1048":{"position":[[131,8]]},"1049":{"position":[[658,8]]},"1050":{"position":[[1628,8],[2501,8]]},"1052":{"position":[[636,7],[1582,7]]},"1056":{"position":[[224,8]]},"1057":{"position":[[138,8]]},"1064":{"position":[[333,8]]},"1071":{"position":[[190,8],[257,8]]},"1082":{"position":[[678,8]]},"1083":{"position":[[514,8]]},"1084":{"position":[[260,8]]},"1086":{"position":[[165,8]]},"1087":{"position":[[455,8]]},"1088":{"position":[[802,8],[1225,7]]},"1103":{"position":[[115,8],[814,8],[1167,9]]},"1104":{"position":[[793,8],[2082,8]]},"1105":{"position":[[423,8],[1294,8],[2470,7]]},"1108":{"position":[[349,8]]},"1112":{"position":[[2157,8],[4415,8],[4541,7]]},"1127":{"position":[[592,8]]},"1131":{"position":[[582,8],[682,7]]},"1133":{"position":[[515,8],[543,7],[879,8]]},"1134":{"position":[[109,8]]},"1136":{"position":[[340,9],[1513,7],[1689,7],[6427,7]]},"1138":{"position":[[10089,7]]},"1140":{"position":[[9015,7]]},"1142":{"position":[[4459,7]]},"1144":{"position":[[787,7]]},"1146":{"position":[[4399,7]]},"1148":{"position":[[873,9],[1869,7],[2045,7],[7990,7]]},"1150":{"position":[[1022,7]]},"1152":{"position":[[720,7]]},"1154":{"position":[[875,7]]},"1155":{"position":[[4495,7]]},"1156":{"position":[[4073,7]]},"1157":{"position":[[658,7]]},"1158":{"position":[[652,7]]},"1159":{"position":[[652,7]]},"1161":{"position":[[1647,7]]},"1163":{"position":[[1033,7]]},"1165":{"position":[[862,7]]},"1167":{"position":[[10019,7]]},"1169":{"position":[[3127,7]]},"1171":{"position":[[1368,7]]},"1172":{"position":[[2753,7]]},"1173":{"position":[[1440,7]]},"1174":{"position":[[868,7]]},"1175":{"position":[[864,7]]},"1176":{"position":[[1033,7]]},"1177":{"position":[[954,7]]},"1178":{"position":[[1271,7]]},"1179":{"position":[[1068,7]]},"1180":{"position":[[1339,7]]},"1181":{"position":[[1859,7]]},"1182":{"position":[[902,7]]},"1183":{"position":[[857,7]]},"1185":{"position":[[702,7]]},"1186":{"position":[[5663,7]]},"1187":{"position":[[5676,7]]},"1188":{"position":[[10402,7]]},"1190":{"position":[[2033,7]]},"1191":{"position":[[4263,7]]},"1192":{"position":[[4438,7]]},"1193":{"position":[[4490,7]]},"1194":{"position":[[172,9],[4130,7]]},"1195":{"position":[[4108,7]]},"1196":{"position":[[3918,7]]},"1197":{"position":[[4901,7]]},"1198":{"position":[[4911,7]]},"1199":{"position":[[4939,7]]},"1200":{"position":[[4806,7]]},"1201":{"position":[[4066,7]]},"1202":{"position":[[810,7],[5208,7],[9605,7]]},"1203":{"position":[[4300,7]]},"1204":{"position":[[4144,7],[5046,7],[5976,7],[6878,7],[7864,7],[8818,7],[9765,7],[10695,7]]},"1205":{"position":[[993,7],[1169,7],[5473,7]]},"1206":{"position":[[4172,7]]},"1207":{"position":[[4101,7]]},"1209":{"position":[[746,7],[922,7],[5449,7]]},"1211":{"position":[[773,7]]},"1213":{"position":[[544,7]]},"1215":{"position":[[628,7]]},"1217":{"position":[[8760,7]]},"1219":{"position":[[4015,7]]},"1221":{"position":[[747,7]]},"1222":{"position":[[3886,7]]},"1223":{"position":[[3896,7]]},"1224":{"position":[[3329,7]]},"1226":{"position":[[2686,7],[2862,7],[4791,8],[9228,7]]},"1228":{"position":[[1899,8],[10841,7]]},"1232":{"position":[[18,7]]},"1235":{"position":[[666,9],[2006,7],[2182,7],[6709,7]]},"1237":{"position":[[2856,7],[3032,7],[4961,8],[9398,7]]},"1243":{"position":[[749,8]]},"1245":{"position":[[347,8]]},"1248":{"position":[[117,7]]},"1253":{"position":[[143,7]]},"1255":{"position":[[103,7]]},"1258":{"position":[[12,8],[697,8],[1129,8]]},"1260":{"position":[[192,8],[493,8],[816,8]]},"1273":{"position":[[247,8]]},"1278":{"position":[[291,8]]},"1279":{"position":[[215,8]]},"1280":{"position":[[190,8]]},"1281":{"position":[[147,8]]},"1289":{"position":[[12,8],[697,8],[1129,8]]},"1291":{"position":[[192,8],[493,8],[816,8]]},"1304":{"position":[[247,8]]},"1309":{"position":[[291,8]]},"1310":{"position":[[215,8]]},"1311":{"position":[[190,8]]},"1312":{"position":[[147,8]]},"1317":{"position":[[12,8],[697,8],[1129,8]]},"1319":{"position":[[192,8],[493,8],[816,8]]},"1332":{"position":[[247,8]]},"1337":{"position":[[291,8]]},"1338":{"position":[[215,8]]},"1339":{"position":[[190,8]]},"1340":{"position":[[147,8]]},"1346":{"position":[[231,8],[257,8],[731,7]]},"1348":{"position":[[4512,9]]},"1351":{"position":[[2089,8],[2970,7],[3544,9],[3565,7],[5083,8]]},"1353":{"position":[[2856,9],[2877,7]]},"1354":{"position":[[3093,9],[3114,7]]},"1355":{"position":[[5161,8],[7599,9]]},"1356":{"position":[[1959,9],[1979,7]]},"1358":{"position":[[2892,9]]},"1359":{"position":[[2267,9]]},"1360":{"position":[[3332,8],[5743,9],[5764,7]]},"1361":{"position":[[2346,9]]},"1362":{"position":[[8409,8],[13754,9]]},"1363":{"position":[[4690,7],[5262,7],[5603,8],[6897,9]]},"1364":{"position":[[9523,8],[14454,9]]},"1365":{"position":[[1852,9]]},"1366":{"position":[[3266,9]]},"1367":{"position":[[8497,8],[10178,7],[14364,9]]},"1370":{"position":[[2854,8]]},"1373":{"position":[[6160,7],[8583,9]]},"1374":{"position":[[2620,7],[2900,9]]},"1380":{"position":[[1727,9]]},"1381":{"position":[[2474,9],[2493,9]]},"1382":{"position":[[4858,8],[5063,7],[11604,9]]},"1383":{"position":[[3018,8],[4775,8],[5987,8],[7829,8],[8855,8]]},"1384":{"position":[[18514,7],[20504,8],[20983,8],[21195,9]]},"1385":{"position":[[7182,9]]},"1386":{"position":[[2413,8],[2837,8],[3042,9],[3127,8],[4036,7],[4375,7],[6054,8]]},"1387":{"position":[[10555,9]]},"1388":{"position":[[5552,8],[5757,7],[10320,9]]},"1390":{"position":[[1952,9]]},"1391":{"position":[[1767,9]]},"1392":{"position":[[2444,9]]},"1393":{"position":[[9831,9]]},"1395":{"position":[[3607,9]]},"1396":{"position":[[1681,9]]},"1397":{"position":[[3487,9]]},"1398":{"position":[[2727,7],[6586,8],[6823,9]]},"1399":{"position":[[2019,9],[2095,9],[2381,10],[2460,10],[2867,10],[2968,9]]},"1401":{"position":[[1674,9],[1692,7],[1785,10]]},"1402":{"position":[[2122,9]]},"1403":{"position":[[2747,8],[4581,8],[5510,8],[5884,8],[6929,8],[7348,9]]},"1404":{"position":[[1501,9]]},"1405":{"position":[[3484,7],[3909,9],[3928,9]]},"1407":{"position":[[3905,7],[4528,9],[4547,9]]},"1408":{"position":[[2524,7],[2845,9],[2864,9]]},"1410":{"position":[[4892,7],[5710,9],[5729,9]]},"1412":{"position":[[3673,9],[3753,10]]},"1415":{"position":[[3938,8],[5428,9],[5766,8]]},"1416":{"position":[[3540,9]]},"1420":{"position":[[2677,9]]},"1421":{"position":[[2395,9]]},"1422":{"position":[[2766,8],[3065,7],[3870,9]]},"1423":{"position":[[2640,9],[3762,7]]},"1426":{"position":[[1981,8],[2010,10]]},"1427":{"position":[[4475,8],[7088,9]]},"1439":{"position":[[5560,7],[6974,8],[7918,9]]},"1442":{"position":[[1848,8],[2053,7],[2977,9]]},"1443":{"position":[[1786,9]]},"1444":{"position":[[1932,9]]},"1446":{"position":[[1787,8]]},"1448":{"position":[[2660,7],[2702,9],[2775,9],[2794,9]]},"1449":{"position":[[2594,7],[2636,9],[2709,9],[2728,9]]},"1453":{"position":[[1864,9]]},"1454":{"position":[[9643,9]]},"1455":{"position":[[4463,9]]},"1456":{"position":[[1516,9],[1621,10]]},"1457":{"position":[[1884,9],[1903,9]]},"1458":{"position":[[2470,9]]},"1459":{"position":[[2239,9]]},"1461":{"position":[[3296,9],[3833,7]]},"1462":{"position":[[8882,9]]},"1465":{"position":[[4236,9]]},"1467":{"position":[[10843,9]]},"1469":{"position":[[2302,7],[2451,9],[2471,7],[2715,7],[3130,7],[3465,7]]},"1471":{"position":[[4202,8],[4348,7],[4685,8],[5699,9],[5718,9]]},"1472":{"position":[[3636,8],[4786,8],[4932,7],[5269,8],[5830,7],[6585,9],[6604,9]]},"1473":{"position":[[4523,8],[4669,7],[5006,8],[5870,9],[5889,9]]},"1477":{"position":[[2598,9]]},"1478":{"position":[[2160,8],[2756,9]]},"1482":{"position":[[1736,9]]},"1485":{"position":[[4769,9]]},"1486":{"position":[[3103,9],[5086,8]]},"1487":{"position":[[2997,9],[3012,7],[3114,10]]}},"keywords":{}}],["example).dep",{"_index":8121,"title":{},"content":{"1448":{"position":[[2025,14]]},"1449":{"position":[[1959,14]]}},"keywords":{}}],["example)/resources/file.xml",{"_index":7661,"title":{},"content":{"1401":{"position":[[1933,28]]}},"keywords":{}}],["example)testinfra",{"_index":4472,"title":{},"content":{"916":{"position":[[150,18]]}},"keywords":{}}],["example,buck2",{"_index":4512,"title":{},"content":{"921":{"position":[[750,13]]},"942":{"position":[[860,13],[1437,13]]},"1271":{"position":[[214,13]]},"1302":{"position":[[214,13]]},"1330":{"position":[[214,13]]}},"keywords":{}}],["example,buildbarn",{"_index":6317,"title":{},"content":{"1346":{"position":[[213,17]]}},"keywords":{}}],["example,v",{"_index":4390,"title":{},"content":{"901":{"position":[[642,9]]}},"keywords":{}}],["example.html",{"_index":7647,"title":{},"content":{"1399":{"position":[[2146,15],[2208,15],[2230,15],[2252,15],[2398,15],[2477,15],[2499,15],[2884,15]]}},"keywords":{}}],["example1",{"_index":7957,"title":{},"content":{"1426":{"position":[[2263,12]]}},"keywords":{}}],["example:bar",{"_index":4404,"title":{},"content":{"904":{"position":[[582,15],[776,15],[1124,13],[1411,15]]}},"keywords":{}}],["example:baz",{"_index":5850,"title":{},"content":{"1133":{"position":[[969,14],[1022,16]]}},"keywords":{}}],["example:buck2",{"_index":6280,"title":{},"content":{"1262":{"position":[[663,13]]},"1277":{"position":[[222,13]]},"1282":{"position":[[369,13]]},"1283":{"position":[[386,13]]},"1284":{"position":[[366,13]]},"1293":{"position":[[663,13]]},"1308":{"position":[[222,13]]},"1313":{"position":[[369,13]]},"1314":{"position":[[386,13]]},"1315":{"position":[[366,13]]},"1321":{"position":[[663,13]]},"1336":{"position":[[222,13]]},"1341":{"position":[[369,13]]},"1342":{"position":[[386,13]]},"1343":{"position":[[366,13]]}},"keywords":{}}],["example:foo",{"_index":4409,"title":{},"content":{"904":{"position":[[1035,13]]}},"keywords":{}}],["example:tool",{"_index":7660,"title":{},"content":{"1401":{"position":[[1902,15]]}},"keywords":{}}],["examples"socket_address"",{"_index":5340,"title":{},"content":{"1054":{"position":[[981,34]]}},"keywords":{}}],["examples/1.txt",{"_index":6288,"title":{},"content":{"1273":{"position":[[343,15]]},"1304":{"position":[[343,15]]},"1332":{"position":[[343,15]]}},"keywords":{}}],["examples:on",{"_index":6289,"title":{},"content":{"1273":{"position":[[390,15]]},"1304":{"position":[[390,15]]},"1332":{"position":[[390,15]]}},"keywords":{}}],["examplesfold",{"_index":602,"title":{},"content":{"19":{"position":[[91,15]]}},"keywords":{}}],["example{"socket_address"",{"_index":2043,"title":{},"content":{"377":{"position":[[1269,35]]},"756":{"position":[[1269,35]]}},"keywords":{}}],["exce",{"_index":1054,"title":{},"content":{"85":{"position":[[399,6]]},"217":{"position":[[399,6]]},"446":{"position":[[551,7]]},"825":{"position":[[551,7]]},"1075":{"position":[[202,7]]},"1253":{"position":[[369,6]]},"1370":{"position":[[2307,7]]}},"keywords":{}}],["exceed",{"_index":6076,"title":{},"content":{"1228":{"position":[[1407,9]]}},"keywords":{}}],["excel",{"_index":317,"title":{},"content":{"10":{"position":[[239,6]]}},"keywords":{}}],["except",{"_index":909,"title":{},"content":{"53":{"position":[[141,6]]},"94":{"position":[[3185,6]]},"200":{"position":[[141,6]]},"226":{"position":[[3185,6]]},"400":{"position":[[305,6]]},"596":{"position":[[283,6]]},"611":{"position":[[236,6]]},"612":{"position":[[262,6]]},"614":{"position":[[214,6]]},"622":{"position":[[864,6]]},"680":{"position":[[346,9]]},"688":{"position":[[618,9],[1016,9]]},"779":{"position":[[305,6]]},"904":{"position":[[152,9]]},"905":{"position":[[79,9]]},"924":{"position":[[2092,6]]},"1026":{"position":[[133,9]]},"1088":{"position":[[586,6]]},"1283":{"position":[[431,6]]},"1314":{"position":[[431,6]]},"1342":{"position":[[431,6]]},"1355":{"position":[[3945,10]]},"1383":{"position":[[5518,9]]},"1427":{"position":[[3090,10]]},"1439":{"position":[[3764,10]]}},"keywords":{}}],["except(left",{"_index":6262,"title":{"1283":{"position":[[0,12]]},"1314":{"position":[[0,12]]},"1342":{"position":[[0,12]]}},"content":{"1259":{"position":[[2137,12]]},"1290":{"position":[[2137,12]]},"1318":{"position":[[2137,12]]}},"keywords":{}}],["excess",{"_index":6186,"title":{"1246":{"position":[[10,6]]}},"content":{"1255":{"position":[[437,9]]}},"keywords":{}}],["exclud",{"_index":1207,"title":{},"content":{"94":{"position":[[2343,8]]},"226":{"position":[[2343,8]]},"333":{"position":[[450,8]]},"418":{"position":[[51,8],[368,7],[453,7]]},"580":{"position":[[346,8]]},"581":{"position":[[610,10]]},"797":{"position":[[51,8],[368,7],[453,7]]},"864":{"position":[[846,10]]},"867":{"position":[[1133,9]]},"1228":{"position":[[410,7],[458,7],[575,8],[630,8],[700,7],[762,8],[808,7],[834,7],[866,10],[960,8]]},"1278":{"position":[[156,9]]},"1309":{"position":[[156,9]]},"1337":{"position":[[156,9]]},"1353":{"position":[[2766,9]]},"1422":{"position":[[421,9],[1812,9]]},"1426":{"position":[[1938,7],[2037,8],[2198,8]]},"1427":{"position":[[4683,7],[4789,7],[7397,8],[7567,8],[8039,8]]},"1439":{"position":[[7182,7],[7288,7],[8223,8],[8393,8],[8863,8]]}},"keywords":{}}],["exclude_deps_from_merged_link",{"_index":8258,"title":{},"content":{"1461":{"position":[[658,33],[2209,33]]},"1465":{"position":[[639,33]]},"1467":{"position":[[1496,33],[6808,33]]}},"keywords":{}}],["excluded_java_dep",{"_index":6346,"title":{},"content":{"1348":{"position":[[1060,19]]}},"keywords":{}}],["exclus",{"_index":1234,"title":{},"content":{"94":{"position":[[4039,9],[4100,9]]},"226":{"position":[[4039,9],[4100,9]]},"1346":{"position":[[510,11]]},"1462":{"position":[[7688,9]]}},"keywords":{}}],["exe_target",{"_index":3446,"title":{},"content":{"688":{"position":[[1152,12]]},"1025":{"position":[[90,12]]}},"keywords":{}}],["exec",{"_index":1450,"title":{},"content":{"233":{"position":[[208,4]]},"878":{"position":[[1105,4],[1206,4]]},"905":{"position":[[650,4]]},"987":{"position":[[779,4],[868,4]]},"989":{"position":[[167,4],[264,4],[299,4]]},"1024":{"position":[[854,4]]},"1025":{"position":[[549,4]]}},"keywords":{}}],["exec_compatible_with",{"_index":1630,"title":{},"content":{"298":{"position":[[439,21],[1918,22]]},"1348":{"position":[[143,21]]},"1349":{"position":[[154,21]]},"1350":{"position":[[146,21]]},"1351":{"position":[[152,21],[1450,21]]},"1352":{"position":[[146,21]]},"1353":{"position":[[159,21]]},"1354":{"position":[[160,21]]},"1355":{"position":[[147,21],[2810,21]]},"1356":{"position":[[148,21]]},"1357":{"position":[[148,21]]},"1358":{"position":[[152,21]]},"1359":{"position":[[148,21]]},"1360":{"position":[[143,21],[2039,21]]},"1361":{"position":[[151,21]]},"1362":{"position":[[144,21],[5762,21]]},"1363":{"position":[[144,21],[3508,21]]},"1364":{"position":[[145,21],[5791,21]]},"1365":{"position":[[145,21]]},"1366":{"position":[[146,21],[1538,21]]},"1367":{"position":[[142,21],[7189,21]]},"1368":{"position":[[147,21]]},"1369":{"position":[[151,21]]},"1370":{"position":[[158,21],[1187,21]]},"1371":{"position":[[149,21]]},"1372":{"position":[[146,21]]},"1373":{"position":[[143,21]]},"1374":{"position":[[145,21],[1222,21]]},"1375":{"position":[[146,21]]},"1376":{"position":[[151,21]]},"1377":{"position":[[148,21]]},"1378":{"position":[[150,21]]},"1379":{"position":[[148,21]]},"1380":{"position":[[147,21]]},"1381":{"position":[[146,21]]},"1382":{"position":[[142,21],[3674,21]]},"1383":{"position":[[143,21],[1912,21]]},"1384":{"position":[[143,21],[4836,21]]},"1385":{"position":[[149,21]]},"1386":{"position":[[154,21]]},"1387":{"position":[[152,21]]},"1388":{"position":[[140,21],[3974,21]]},"1389":{"position":[[145,21]]},"1390":{"position":[[140,21]]},"1391":{"position":[[141,21]]},"1392":{"position":[[138,21]]},"1393":{"position":[[142,21],[1762,21]]},"1394":{"position":[[151,21]]},"1395":{"position":[[146,21],[1219,21]]},"1396":{"position":[[151,21]]},"1397":{"position":[[146,21]]},"1398":{"position":[[143,21],[1869,21]]},"1399":{"position":[[143,21]]},"1400":{"position":[[152,21]]},"1401":{"position":[[141,21]]},"1402":{"position":[[140,21]]},"1403":{"position":[[139,21],[1742,21]]},"1404":{"position":[[141,21]]},"1405":{"position":[[141,21]]},"1406":{"position":[[151,21]]},"1407":{"position":[[151,21]]},"1408":{"position":[[142,21]]},"1409":{"position":[[141,21]]},"1410":{"position":[[139,21],[2109,21]]},"1411":{"position":[[146,21]]},"1412":{"position":[[146,21],[2130,21]]},"1413":{"position":[[143,21]]},"1414":{"position":[[142,21]]},"1415":{"position":[[146,21]]},"1416":{"position":[[146,21]]},"1417":{"position":[[144,21]]},"1418":{"position":[[147,21]]},"1419":{"position":[[143,21]]},"1420":{"position":[[147,21]]},"1421":{"position":[[156,21]]},"1422":{"position":[[144,21],[1375,21]]},"1423":{"position":[[141,21]]},"1424":{"position":[[143,21]]},"1425":{"position":[[157,21]]},"1426":{"position":[[143,21],[1448,21]]},"1427":{"position":[[144,21],[2345,21]]},"1428":{"position":[[143,21]]},"1429":{"position":[[141,21],[3009,21]]},"1430":{"position":[[148,21]]},"1431":{"position":[[141,21]]},"1432":{"position":[[149,21]]},"1433":{"position":[[142,21]]},"1434":{"position":[[144,21]]},"1435":{"position":[[149,21]]},"1436":{"position":[[145,21]]},"1437":{"position":[[142,21]]},"1438":{"position":[[140,21],[1107,21]]},"1439":{"position":[[146,21],[2631,21]]},"1440":{"position":[[143,21],[3197,21]]},"1441":{"position":[[148,21]]},"1442":{"position":[[149,21],[1002,21]]},"1443":{"position":[[142,21]]},"1444":{"position":[[143,21]]},"1445":{"position":[[146,21]]},"1446":{"position":[[143,21]]},"1447":{"position":[[145,21]]},"1448":{"position":[[144,21]]},"1449":{"position":[[145,21]]},"1450":{"position":[[144,21]]},"1451":{"position":[[144,21]]},"1452":{"position":[[140,21]]},"1453":{"position":[[156,21]]},"1454":{"position":[[152,21]]},"1455":{"position":[[158,21]]},"1456":{"position":[[155,21]]},"1457":{"position":[[151,21]]},"1458":{"position":[[144,21]]},"1459":{"position":[[155,21]]},"1460":{"position":[[154,21]]},"1461":{"position":[[155,21],[1423,21]]},"1462":{"position":[[145,21]]},"1463":{"position":[[155,21]]},"1464":{"position":[[156,21]]},"1465":{"position":[[146,21]]},"1466":{"position":[[159,21]]},"1467":{"position":[[143,21],[5493,21]]},"1468":{"position":[[150,21]]},"1469":{"position":[[143,21],[1311,21]]},"1470":{"position":[[148,21]]},"1471":{"position":[[143,21],[2174,21]]},"1472":{"position":[[144,21],[2133,21]]},"1473":{"position":[[141,21],[2448,21]]},"1474":{"position":[[145,21]]},"1475":{"position":[[142,21]]},"1476":{"position":[[148,21]]},"1477":{"position":[[141,21],[1067,21]]},"1478":{"position":[[139,21],[1558,21]]},"1479":{"position":[[156,21]]},"1480":{"position":[[145,21]]},"1481":{"position":[[147,21]]},"1482":{"position":[[142,21]]},"1483":{"position":[[147,21]]},"1484":{"position":[[147,21]]},"1485":{"position":[[148,21]]},"1486":{"position":[[143,21]]},"1487":{"position":[[140,21],[1132,21]]}},"keywords":{}}],["exec_compatible_with(target",{"_index":5084,"title":{},"content":{"1026":{"position":[[357,28]]}},"keywords":{}}],["exec_dep",{"_index":1370,"title":{"1279":{"position":[[0,12]]},"1310":{"position":[[0,12]]},"1338":{"position":[[0,12]]}},"content":{"134":{"position":[[265,8]]},"257":{"position":[[265,8]]},"298":{"position":[[32,10],[1456,9],[1981,9],[2242,9],[2825,9]]},"851":{"position":[[474,9],[1242,9],[1373,9],[1565,9],[2151,9]]},"877":{"position":[[522,9]]},"878":{"position":[[1254,11]]},"1259":{"position":[[1733,12]]},"1290":{"position":[[1733,12]]},"1318":{"position":[[1733,12]]},"1422":{"position":[[446,10],[1953,10]]}},"keywords":{}}],["exec_dep.bin",{"_index":4885,"title":{},"content":{"987":{"position":[[730,12]]}},"keywords":{}}],["exec_deps())"",{"_index":6293,"title":{},"content":{"1279":{"position":[[265,20]]},"1310":{"position":[[265,20]]},"1338":{"position":[[265,20]]}},"keywords":{}}],["exec_depsand",{"_index":1645,"title":{},"content":{"298":{"position":[[2057,12]]}},"keywords":{}}],["execut",{"_index":236,"title":{"703":{"position":[[76,9]]},"716":{"position":[[0,9]]},"724":{"position":[[9,8]]},"726":{"position":[[9,7]]},"1022":{"position":[[0,9]]},"1023":{"position":[[0,9]]},"1025":{"position":[[12,9]]},"1026":{"position":[[0,9]]},"1027":{"position":[[0,9]]},"1051":{"position":[[26,9]]},"1053":{"position":[[5,10]]},"1066":{"position":[[5,9]]},"1070":{"position":[[28,10]]},"1072":{"position":[[0,9]]},"1200":{"position":[[11,9]]},"1242":{"position":[[32,8]]},"1344":{"position":[[7,9]]}},"content":{"9":{"position":[[1373,10]]},"15":{"position":[[24,11],[408,11]]},"22":{"position":[[1369,9],[1441,9]]},"23":{"position":[[383,9],[407,9],[456,10],[606,10]]},"24":{"position":[[386,9],[435,10],[503,10]]},"85":{"position":[[597,10]]},"91":{"position":[[481,10]]},"94":{"position":[[2938,10],[3013,9],[3080,9],[3791,10],[3953,8],[4017,8],[4359,9]]},"98":{"position":[[600,10]]},"134":{"position":[[241,9],[289,7]]},"148":{"position":[[272,9],[331,9]]},"209":{"position":[[101,9],[155,9]]},"210":{"position":[[67,9],[129,9]]},"211":{"position":[[116,9]]},"217":{"position":[[597,10]]},"223":{"position":[[481,10]]},"226":{"position":[[2938,10],[3013,9],[3080,9],[3791,10],[3953,8],[4017,8],[4359,9]]},"230":{"position":[[600,10]]},"257":{"position":[[241,9],[289,7]]},"271":{"position":[[272,9],[331,9]]},"298":{"position":[[710,9],[755,9],[882,9],[918,9],[1513,11],[3043,9]]},"362":{"position":[[957,8],[1074,9],[1093,9],[1233,9],[1252,9],[1369,9],[1746,9],[1886,9],[2428,9],[2865,9]]},"372":{"position":[[207,9],[416,9]]},"373":{"position":[[177,9]]},"374":{"position":[[1493,9],[1892,9],[2097,10]]},"377":{"position":[[1200,9],[1458,9],[1563,9]]},"437":{"position":[[438,10]]},"641":{"position":[[51,9]]},"688":{"position":[[724,10],[773,11],[885,10],[989,10]]},"693":{"position":[[115,10],[600,10],[4441,9],[4515,9],[4588,10],[4693,8],[4718,10],[4767,9],[4959,9],[6424,8],[6765,9],[6793,9],[9300,10]]},"702":{"position":[[392,9],[451,9]]},"704":{"position":[[1400,10]]},"706":{"position":[[1502,10]]},"711":{"position":[[1405,9]]},"715":{"position":[[1256,9],[1474,11],[1812,10],[1848,9]]},"716":{"position":[[32,9],[132,9]]},"722":{"position":[[1150,7]]},"723":{"position":[[83,9]]},"724":{"position":[[0,9],[320,10],[1347,10],[1404,9],[1757,10],[1844,9]]},"725":{"position":[[145,7]]},"726":{"position":[[39,10]]},"741":{"position":[[957,8],[1074,9],[1093,9],[1233,9],[1252,9],[1369,9],[1746,9],[1886,9],[2428,9],[2865,9]]},"751":{"position":[[207,9],[416,9]]},"752":{"position":[[177,9]]},"753":{"position":[[1493,9],[1892,9],[2097,10]]},"756":{"position":[[1200,9],[1458,9],[1563,9]]},"816":{"position":[[438,10]]},"832":{"position":[[725,10]]},"834":{"position":[[387,10],[801,10]]},"835":{"position":[[140,10]]},"837":{"position":[[162,9],[276,10],[402,9]]},"848":{"position":[[133,10]]},"851":{"position":[[385,9],[531,11]]},"855":{"position":[[110,10],[124,7]]},"861":{"position":[[282,8]]},"864":{"position":[[1577,10]]},"867":{"position":[[888,9],[1421,8],[1522,9],[1691,8],[1726,8],[1852,8],[1929,8],[1971,9],[2108,8],[2150,9]]},"877":{"position":[[346,9],[553,9]]},"879":{"position":[[415,9]]},"890":{"position":[[1387,8],[1522,9],[3080,9],[3479,9],[3945,9],[5261,9]]},"894":{"position":[[60,9],[88,9]]},"898":{"position":[[1014,7],[1113,10]]},"900":{"position":[[138,9]]},"964":{"position":[[126,9]]},"991":{"position":[[2439,9],[2635,9]]},"1000":{"position":[[197,8],[304,8]]},"1017":{"position":[[37,9]]},"1022":{"position":[[0,9],[83,9],[289,9],[318,7],[412,9]]},"1023":{"position":[[21,10],[109,9],[185,9]]},"1024":{"position":[[147,9],[292,9],[1134,9]]},"1025":{"position":[[245,9],[417,9]]},"1026":{"position":[[84,9],[259,9],[560,9],[619,9],[659,9],[704,9],[866,9],[915,9]]},"1027":{"position":[[0,9],[72,9]]},"1035":{"position":[[305,7],[544,10],[580,7]]},"1044":{"position":[[2327,9]]},"1050":{"position":[[1229,9],[1941,9],[2922,8]]},"1052":{"position":[[162,8],[267,8],[525,9]]},"1053":{"position":[[39,9],[57,10],[339,9],[379,8],[1036,8],[1388,8],[1449,10]]},"1054":{"position":[[705,8],[928,9]]},"1057":{"position":[[474,9],[1243,10]]},"1058":{"position":[[68,10],[1369,9]]},"1067":{"position":[[411,9],[444,7],[630,11],[716,9]]},"1069":{"position":[[589,9],[889,10]]},"1070":{"position":[[30,9],[783,7],[893,9]]},"1071":{"position":[[575,9],[1046,9]]},"1072":{"position":[[18,7],[36,9],[98,9],[443,9],[497,9],[1076,9]]},"1075":{"position":[[69,9],[177,9],[324,9]]},"1077":{"position":[[212,9]]},"1078":{"position":[[63,7]]},"1104":{"position":[[255,11],[356,12],[472,8],[820,10]]},"1120":{"position":[[707,9]]},"1126":{"position":[[1627,10]]},"1136":{"position":[[6513,9]]},"1138":{"position":[[1859,8],[2263,9],[2325,10],[2368,7],[2444,10],[2487,7],[2533,10],[2556,9],[2583,7],[2647,10],[2670,9],[2697,7],[2759,9],[2783,9],[2819,9],[2910,9],[3714,7],[3802,8],[10175,9]]},"1140":{"position":[[149,7],[1348,8],[1752,9],[1814,10],[1857,7],[1933,10],[1976,7],[2022,10],[2045,9],[2072,7],[2136,10],[2159,9],[2186,7],[2248,9],[2272,9],[2308,9],[2399,9],[3203,7],[3291,8],[9101,9]]},"1142":{"position":[[4545,9]]},"1144":{"position":[[873,9]]},"1146":{"position":[[4485,9]]},"1148":{"position":[[8076,9]]},"1150":{"position":[[1108,9]]},"1152":{"position":[[806,9]]},"1154":{"position":[[961,9]]},"1155":{"position":[[4581,9]]},"1156":{"position":[[4159,9]]},"1157":{"position":[[744,9]]},"1158":{"position":[[738,9]]},"1159":{"position":[[738,9]]},"1161":{"position":[[1733,9]]},"1163":{"position":[[1119,9]]},"1165":{"position":[[948,9]]},"1167":{"position":[[2352,8],[2756,9],[2818,10],[2861,7],[2937,10],[2980,7],[3026,10],[3049,9],[3076,7],[3140,10],[3163,9],[3190,7],[3252,9],[3276,9],[3312,9],[3403,9],[4207,7],[4295,8],[10105,9]]},"1169":{"position":[[3213,9]]},"1171":{"position":[[1454,9]]},"1172":{"position":[[160,9],[1367,10],[1391,10],[2839,9]]},"1173":{"position":[[667,10],[691,10],[1526,9]]},"1174":{"position":[[954,9]]},"1175":{"position":[[950,9]]},"1176":{"position":[[1119,9]]},"1177":{"position":[[1040,9]]},"1178":{"position":[[1357,9]]},"1179":{"position":[[1154,9]]},"1180":{"position":[[1425,9]]},"1181":{"position":[[1945,9]]},"1182":{"position":[[988,9]]},"1183":{"position":[[943,9]]},"1185":{"position":[[788,9]]},"1186":{"position":[[5749,9]]},"1187":{"position":[[5762,9]]},"1188":{"position":[[202,7],[1401,8],[1805,9],[1867,10],[1910,7],[1986,10],[2029,7],[2075,10],[2098,9],[2125,7],[2189,10],[2212,9],[2239,7],[2301,9],[2325,9],[2361,9],[2452,9],[3256,7],[3344,8],[10488,9]]},"1190":{"position":[[743,9],[802,9],[2119,9]]},"1191":{"position":[[4349,9]]},"1192":{"position":[[4524,9]]},"1193":{"position":[[4576,9]]},"1194":{"position":[[4216,9]]},"1195":{"position":[[4194,9]]},"1196":{"position":[[4004,9]]},"1197":{"position":[[4987,9]]},"1198":{"position":[[4997,9]]},"1199":{"position":[[5025,9]]},"1200":{"position":[[29,9],[86,9],[4892,9]]},"1201":{"position":[[4152,9]]},"1202":{"position":[[896,9],[5294,9],[9691,9]]},"1203":{"position":[[4386,9]]},"1204":{"position":[[4230,9],[5132,9],[6062,9],[6964,9],[7950,9],[8904,9],[9851,9],[10781,9]]},"1205":{"position":[[5559,9]]},"1206":{"position":[[4258,9]]},"1207":{"position":[[4187,9]]},"1209":{"position":[[5535,9]]},"1211":{"position":[[859,9]]},"1213":{"position":[[630,9]]},"1215":{"position":[[714,9]]},"1217":{"position":[[73,9],[450,9],[527,10],[1093,8],[1497,9],[1559,10],[1602,7],[1678,10],[1721,7],[1767,10],[1790,9],[1817,7],[1881,10],[1904,9],[1931,7],[1993,9],[2017,9],[2053,9],[2144,9],[2948,7],[3036,8],[8846,9]]},"1219":{"position":[[4101,9]]},"1221":{"position":[[833,9]]},"1222":{"position":[[3972,9]]},"1223":{"position":[[3982,9]]},"1224":{"position":[[3415,9]]},"1226":{"position":[[5162,9],[9314,9]]},"1228":{"position":[[1370,7],[3174,8],[3578,9],[3640,10],[3683,7],[3759,10],[3802,7],[3848,10],[3871,9],[3898,7],[3962,10],[3985,9],[4012,7],[4074,9],[4098,9],[4134,9],[4225,9],[5029,7],[5117,8],[10927,9]]},"1235":{"position":[[6795,9]]},"1237":{"position":[[5332,9],[9484,9]]},"1245":{"position":[[503,11]]},"1278":{"position":[[199,9]]},"1279":{"position":[[123,9]]},"1309":{"position":[[199,9]]},"1310":{"position":[[123,9]]},"1337":{"position":[[199,9]]},"1338":{"position":[[123,9]]},"1345":{"position":[[25,9],[1164,10]]},"1346":{"position":[[94,9],[153,9],[283,10]]},"1348":{"position":[[3230,9]]},"1349":{"position":[[1375,9]]},"1350":{"position":[[4346,9]]},"1351":{"position":[[1569,9]]},"1352":{"position":[[4345,9]]},"1353":{"position":[[1949,9]]},"1354":{"position":[[1787,9],[2782,9]]},"1355":{"position":[[2929,9]]},"1356":{"position":[[1293,9]]},"1357":{"position":[[966,9]]},"1358":{"position":[[1687,9]]},"1359":{"position":[[1524,9]]},"1360":{"position":[[2158,9],[4233,10],[4366,9],[5715,9]]},"1361":{"position":[[1514,9]]},"1362":{"position":[[4752,10],[5881,9],[6313,8],[9731,9],[9919,7],[10037,11],[10143,7],[10232,7],[10331,7],[10593,10],[11181,10]]},"1363":{"position":[[3627,9]]},"1364":{"position":[[5910,9],[6342,8],[10845,9],[11033,7],[11151,11],[11257,7],[11346,7],[11445,7],[12148,10]]},"1365":{"position":[[1448,9]]},"1366":{"position":[[1657,9]]},"1367":{"position":[[6739,8],[7308,9],[7740,8],[10597,9],[10648,9],[10836,7],[10954,11],[11060,7],[11149,7],[11248,7],[11551,10],[14184,10],[14303,10]]},"1368":{"position":[[2004,9]]},"1369":{"position":[[1056,9]]},"1370":{"position":[[455,11],[1306,9],[1624,11],[2063,10]]},"1371":{"position":[[932,9]]},"1372":{"position":[[2570,9]]},"1373":{"position":[[2869,10],[3442,9],[3869,8],[5696,10],[8627,10]]},"1374":{"position":[[1341,9],[1709,10],[1953,10],[2102,11],[2144,10]]},"1375":{"position":[[968,9]]},"1376":{"position":[[924,9]]},"1377":{"position":[[1163,9]]},"1378":{"position":[[910,9]]},"1379":{"position":[[933,9]]},"1380":{"position":[[1404,9]]},"1381":{"position":[[1310,9]]},"1382":{"position":[[3021,10],[3157,10],[3793,9],[4225,8],[6457,9],[6645,7],[6763,11],[6869,7],[6958,7],[7057,7],[7350,11],[7462,10],[8050,10],[11651,10]]},"1383":{"position":[[2031,9],[5013,7],[5291,10],[5351,11],[5414,10],[5496,10],[6399,9],[6892,8],[8220,9]]},"1384":{"position":[[4955,9],[5387,8],[12811,9],[12999,7],[13117,11],[13223,7],[13312,7],[13411,7],[14114,10]]},"1385":{"position":[[2629,9],[4281,10]]},"1386":{"position":[[1267,9]]},"1387":{"position":[[4898,9],[7374,10]]},"1388":{"position":[[4093,9],[4525,8],[7326,9],[7514,7],[7632,11],[7738,7],[7827,7],[7926,7],[8219,11],[8331,10],[8664,10]]},"1389":{"position":[[4951,9],[5374,8],[5621,8]]},"1390":{"position":[[600,10],[1203,9],[1995,10]]},"1391":{"position":[[1156,9]]},"1392":{"position":[[1306,9],[2056,9]]},"1393":{"position":[[1881,9]]},"1394":{"position":[[1326,9]]},"1395":{"position":[[1338,9],[2100,10]]},"1396":{"position":[[519,11],[1132,9]]},"1397":{"position":[[1313,9]]},"1398":{"position":[[1988,9],[3398,9]]},"1399":{"position":[[1168,9]]},"1400":{"position":[[1037,9]]},"1401":{"position":[[1112,9]]},"1402":{"position":[[1268,9]]},"1403":{"position":[[774,11],[1861,9],[3648,10],[3781,9],[4772,8],[5014,11],[5070,11],[5103,10],[6100,10],[6140,7],[7320,9],[7507,9],[7556,7]]},"1404":{"position":[[1101,9]]},"1405":{"position":[[1117,10],[1792,9]]},"1406":{"position":[[1008,9]]},"1407":{"position":[[1833,9]]},"1408":{"position":[[1529,9]]},"1409":{"position":[[1063,9]]},"1410":{"position":[[2228,9],[3536,9]]},"1411":{"position":[[1046,9]]},"1412":{"position":[[2249,9]]},"1413":{"position":[[2430,9]]},"1414":{"position":[[1297,9]]},"1415":{"position":[[3279,9],[4163,10]]},"1416":{"position":[[1385,11],[1931,9],[2759,10]]},"1417":{"position":[[1520,9]]},"1418":{"position":[[1221,9]]},"1419":{"position":[[1349,9]]},"1420":{"position":[[1613,9]]},"1421":{"position":[[1588,9]]},"1422":{"position":[[1494,9],[4367,10]]},"1423":{"position":[[418,11],[801,10],[1480,9],[1844,10],[3730,10]]},"1424":{"position":[[1605,9]]},"1425":{"position":[[1221,9]]},"1426":{"position":[[1567,9],[2635,10]]},"1427":{"position":[[2464,9]]},"1428":{"position":[[1203,9]]},"1429":{"position":[[3128,9],[4828,9]]},"1430":{"position":[[1979,9]]},"1431":{"position":[[1323,9]]},"1432":{"position":[[1844,9]]},"1433":{"position":[[1365,9]]},"1434":{"position":[[1039,9]]},"1435":{"position":[[1003,9]]},"1436":{"position":[[1019,9]]},"1437":{"position":[[1089,9]]},"1438":{"position":[[597,10],[1226,9]]},"1439":{"position":[[2750,9]]},"1440":{"position":[[3316,9],[4910,9]]},"1441":{"position":[[1045,9]]},"1442":{"position":[[1121,9]]},"1443":{"position":[[1340,9]]},"1444":{"position":[[1256,9]]},"1445":{"position":[[945,9]]},"1446":{"position":[[1279,9]]},"1447":{"position":[[1161,9]]},"1448":{"position":[[982,11],[1596,9]]},"1449":{"position":[[1530,9]]},"1450":{"position":[[1409,9]]},"1451":{"position":[[1409,9]]},"1452":{"position":[[955,9]]},"1453":{"position":[[1541,9]]},"1454":{"position":[[3907,9],[4334,8]]},"1455":{"position":[[1794,9]]},"1456":{"position":[[1139,9]]},"1457":{"position":[[1198,9]]},"1458":{"position":[[1733,9]]},"1459":{"position":[[1212,9]]},"1460":{"position":[[1324,9]]},"1461":{"position":[[1542,9]]},"1462":{"position":[[4283,10],[4920,9],[5347,8],[6379,10],[6921,9],[7895,11],[8901,10]]},"1463":{"position":[[1046,9]]},"1464":{"position":[[954,9]]},"1465":{"position":[[2052,9]]},"1466":{"position":[[1290,9]]},"1467":{"position":[[5612,9],[7381,11],[7493,10],[8955,11]]},"1468":{"position":[[1054,9]]},"1469":{"position":[[1430,9],[1972,10]]},"1470":{"position":[[3956,9]]},"1471":{"position":[[1683,10],[2293,9],[2893,8],[4930,10],[5215,12],[5484,10]]},"1472":{"position":[[2252,9],[6101,12],[6370,10]]},"1473":{"position":[[1938,10],[2567,9],[3544,9],[3937,10],[5251,10],[5341,10],[5665,12]]},"1474":{"position":[[1955,9]]},"1475":{"position":[[2426,9]]},"1476":{"position":[[1031,9]]},"1477":{"position":[[624,7],[1186,9],[1888,10],[3049,10]]},"1478":{"position":[[1677,9],[2594,10],[3295,10]]},"1479":{"position":[[1123,9]]},"1480":{"position":[[1536,9]]},"1481":{"position":[[2069,9]]},"1482":{"position":[[1143,9]]},"1483":{"position":[[977,9]]},"1484":{"position":[[1049,9]]},"1485":{"position":[[1309,9]]},"1486":{"position":[[1553,9],[1911,10],[2018,10],[2114,11],[2165,10]]},"1487":{"position":[[1251,9]]}},"keywords":{}}],["executable.link_group_public_deps_label",{"_index":7852,"title":{},"content":{"1416":{"position":[[2648,40]]},"1462":{"position":[[6268,40]]}},"keywords":{}}],["executable_dep",{"_index":8298,"title":{},"content":{"1462":{"position":[[1404,16]]},"1467":{"position":[[1540,16]]}},"keywords":{}}],["executable_nam",{"_index":6708,"title":{},"content":{"1362":{"position":[[1182,16]]},"1364":{"position":[[1164,16]]},"1367":{"position":[[2312,16]]},"1370":{"position":[[472,16],[2008,16],[2146,15]]},"1373":{"position":[[931,16]]},"1382":{"position":[[1042,16]]},"1384":{"position":[[927,16]]},"1385":{"position":[[605,16]]},"1387":{"position":[[1006,16]]},"1388":{"position":[[1200,16]]},"1415":{"position":[[739,16]]},"1462":{"position":[[1436,16]]},"1467":{"position":[[1572,16]]}},"keywords":{}}],["executables/](execut",{"_index":3663,"title":{},"content":{"706":{"position":[[428,24]]}},"keywords":{}}],["executed.localwork",{"_index":4045,"title":{},"content":{"867":{"position":[[2075,21]]}},"keywords":{}}],["executedsimpl",{"_index":4040,"title":{},"content":{"867":{"position":[[1815,15]]}},"keywords":{}}],["executerequest2",{"_index":5322,"title":{},"content":{"1053":{"position":[[253,15]]}},"keywords":{}}],["executing>"",{"_index":5995,"title":{},"content":{"1172":{"position":[[2044,20]]}},"keywords":{}}],["execution."",{"_index":3811,"title":{},"content":{"724":{"position":[[1570,16]]}},"keywords":{}}],["execution_kind",{"_index":4036,"title":{},"content":{"867":{"position":[[1648,14]]}},"keywords":{}}],["execution_platform",{"_index":5083,"title":{},"content":{"1026":{"position":[[333,20]]}},"keywords":{}}],["executionplatforminfo",{"_index":2000,"title":{"372":{"position":[[0,22]]},"751":{"position":[[0,22]]}},"content":{"372":{"position":[[4,22],[134,21]]},"751":{"position":[[4,22],[134,21]]}},"keywords":{}}],["executionplatformregistrationinfo",{"_index":2003,"title":{"373":{"position":[[0,34]]},"752":{"position":[[0,34]]}},"content":{"373":{"position":[[4,34],[106,33]]},"752":{"position":[[4,34],[106,33]]}},"keywords":{}}],["executionremote_execution_depend",{"_index":1924,"title":{},"content":{"362":{"position":[[2801,39]]},"741":{"position":[[2801,39]]}},"keywords":{}}],["executor",{"_index":1212,"title":{},"content":{"94":{"position":[[2843,8],[2889,9],[3067,10],[3246,8],[3281,8]]},"226":{"position":[[2843,8],[2889,9],[3067,10],[3246,8],[3281,8]]},"372":{"position":[[482,8]]},"374":{"position":[[1422,8],[1570,9],[1621,9]]},"751":{"position":[[482,8]]},"753":{"position":[[1422,8],[1570,9],[1621,9]]},"879":{"position":[[354,8]]},"894":{"position":[[188,8]]},"895":{"position":[[364,8],[554,8]]},"1069":{"position":[[520,8]]},"1070":{"position":[[852,8],[1005,8]]},"1172":{"position":[[307,8]]},"1228":{"position":[[242,9],[257,8],[1933,8],[1994,8],[2038,8],[2084,8],[2461,8],[2522,8],[2566,8],[2612,8]]},"1362":{"position":[[9861,8],[9976,8],[10007,8],[10094,8]]},"1364":{"position":[[10975,8],[11090,8],[11121,8],[11208,8]]},"1367":{"position":[[10778,8],[10893,8],[10924,8],[11011,8]]},"1382":{"position":[[6587,8],[6702,8],[6733,8],[6820,8]]},"1384":{"position":[[12941,8],[13056,8],[13087,8],[13174,8]]},"1388":{"position":[[7456,8],[7571,8],[7602,8],[7689,8]]}},"keywords":{}}],["executor'",{"_index":6087,"title":{},"content":{"1228":{"position":[[2208,10],[2732,10]]}},"keywords":{}}],["executor_config",{"_index":2001,"title":{},"content":{"372":{"position":[[85,16],[435,16]]},"751":{"position":[[85,16],[435,16]]}},"keywords":{}}],["executor_overrid",{"_index":2010,"title":{},"content":{"374":{"position":[[184,18],[1513,19]]},"753":{"position":[[184,18],[1513,19]]},"1070":{"position":[[818,18]]},"1072":{"position":[[582,18]]}},"keywords":{}}],["executoractioncach",{"_index":4038,"title":{},"content":{"867":{"position":[[1748,20]]}},"keywords":{}}],["executorallow_limited_hybrid_fallback",{"_index":1907,"title":{},"content":{"362":{"position":[[2050,39]]},"741":{"position":[[2050,39]]}},"keywords":{}}],["executorremote_en",{"_index":1891,"title":{},"content":{"362":{"position":[[1187,23]]},"741":{"position":[[1187,23]]}},"keywords":{}}],["exhaust",{"_index":3421,"title":{},"content":{"681":{"position":[[963,10]]}},"keywords":{}}],["exist",{"_index":625,"title":{"22":{"position":[[15,7]]}},"content":{"94":{"position":[[4337,5]]},"99":{"position":[[683,8]]},"136":{"position":[[161,7]]},"226":{"position":[[4337,5]]},"231":{"position":[[683,8]]},"243":{"position":[[162,7]]},"259":{"position":[[161,7]]},"308":{"position":[[79,7]]},"310":{"position":[[839,6]]},"315":{"position":[[91,6]]},"316":{"position":[[153,6]]},"317":{"position":[[156,6]]},"416":{"position":[[362,5]]},"417":{"position":[[592,5]]},"421":{"position":[[371,8]]},"438":{"position":[[158,9]]},"584":{"position":[[1054,6],[1213,6],[1394,6],[1559,7]]},"680":{"position":[[376,6]]},"693":{"position":[[3166,5]]},"700":{"position":[[168,6]]},"795":{"position":[[362,5]]},"796":{"position":[[592,5]]},"800":{"position":[[371,8]]},"817":{"position":[[158,9]]},"832":{"position":[[965,8]]},"861":{"position":[[325,5],[569,9]]},"865":{"position":[[731,8]]},"879":{"position":[[66,5]]},"900":{"position":[[1518,8]]},"937":{"position":[[2119,8],[2189,8],[2296,8]]},"939":{"position":[[192,8],[530,8],[690,8],[1016,8]]},"940":{"position":[[1005,5]]},"943":{"position":[[1392,8],[1677,8]]},"944":{"position":[[325,8]]},"946":{"position":[[651,8]]},"950":{"position":[[1052,8]]},"951":{"position":[[4,8],[944,8]]},"964":{"position":[[838,8]]},"1001":{"position":[[557,6],[1314,6]]},"1007":{"position":[[201,6]]},"1029":{"position":[[64,6]]},"1045":{"position":[[392,6]]},"1064":{"position":[[655,6],[1406,6]]},"1065":{"position":[[247,6]]},"1067":{"position":[[297,6]]},"1079":{"position":[[150,5]]},"1084":{"position":[[68,5]]},"1102":{"position":[[235,8]]},"1103":{"position":[[1243,9]]},"1114":{"position":[[271,8],[804,8],[885,6]]},"1161":{"position":[[155,5]]},"1181":{"position":[[56,8]]},"1186":{"position":[[391,6]]},"1187":{"position":[[404,6]]},"1188":{"position":[[5130,6]]},"1226":{"position":[[4960,6]]},"1228":{"position":[[2181,6],[2709,6]]},"1237":{"position":[[5130,6]]},"1262":{"position":[[600,6]]},"1293":{"position":[[600,6]]},"1321":{"position":[[600,6]]},"1362":{"position":[[5238,8],[10380,7]]},"1364":{"position":[[5267,8],[11494,7]]},"1367":{"position":[[11297,7],[14057,6]]},"1382":{"position":[[7106,7]]},"1384":{"position":[[13460,7]]},"1388":{"position":[[7975,7]]},"1477":{"position":[[1753,8]]}},"keywords":{}}],["existingconfigur",{"_index":3563,"title":{},"content":{"693":{"position":[[5265,21]]}},"keywords":{}}],["exit",{"_index":5891,"title":{},"content":{"1136":{"position":[[3501,4],[3536,7]]},"1138":{"position":[[4139,8],[5036,8],[7163,4],[7198,7]]},"1140":{"position":[[3628,8],[4525,8],[6089,4],[6124,7]]},"1142":{"position":[[1533,4],[1568,7]]},"1146":{"position":[[1473,4],[1508,7]]},"1148":{"position":[[4513,4],[4548,7]]},"1155":{"position":[[1569,4],[1604,7]]},"1156":{"position":[[1147,4],[1182,7]]},"1167":{"position":[[4632,8],[5529,8],[7093,4],[7128,7]]},"1169":{"position":[[932,4],[967,7]]},"1186":{"position":[[2737,4],[2772,7]]},"1187":{"position":[[2750,4],[2785,7]]},"1188":{"position":[[3681,8],[4578,8],[7476,4],[7511,7]]},"1191":{"position":[[1337,4],[1372,7]]},"1192":{"position":[[1512,4],[1547,7]]},"1193":{"position":[[1564,4],[1599,7]]},"1194":{"position":[[1204,4],[1239,7]]},"1195":{"position":[[1182,4],[1217,7]]},"1196":{"position":[[992,4],[1027,7]]},"1197":{"position":[[1975,4],[2010,7]]},"1198":{"position":[[1985,4],[2020,7]]},"1199":{"position":[[2013,4],[2048,7]]},"1200":{"position":[[1880,4],[1915,7]]},"1201":{"position":[[1140,4],[1175,7]]},"1202":{"position":[[2282,4],[2317,7],[6679,4],[6714,7]]},"1203":{"position":[[1374,4],[1409,7]]},"1204":{"position":[[1218,4],[1253,7]]},"1205":{"position":[[2547,4],[2582,7]]},"1206":{"position":[[1018,4],[1053,7]]},"1207":{"position":[[1175,4],[1210,7]]},"1209":{"position":[[2523,4],[2558,7]]},"1217":{"position":[[3373,8],[4270,8],[5834,4],[5869,7]]},"1219":{"position":[[1820,4],[1855,7]]},"1222":{"position":[[944,4],[979,7]]},"1223":{"position":[[954,4],[989,7]]},"1224":{"position":[[1134,4],[1169,7]]},"1226":{"position":[[6302,4],[6337,7]]},"1228":{"position":[[1428,4],[1585,4],[5454,8],[6351,8],[7915,4],[7950,7]]},"1235":{"position":[[3783,4],[3818,7]]},"1237":{"position":[[6472,4],[6507,7]]},"1478":{"position":[[3222,4],[3262,4]]},"1486":{"position":[[5038,4]]}},"keywords":{}}],["exopackag",{"_index":6623,"title":{},"content":{"1358":{"position":[[2521,11]]},"1384":{"position":[[19477,10]]},"1459":{"position":[[1556,11]]}},"keywords":{}}],["exopackage_mod",{"_index":6432,"title":{},"content":{"1350":{"position":[[1689,17]]},"1352":{"position":[[1688,17]]}},"keywords":{}}],["expand",{"_index":1279,"title":{"1097":{"position":[[0,9]]},"1149":{"position":[[0,6]]},"1150":{"position":[[5,6]]}},"content":{"99":{"position":[[1098,7]]},"231":{"position":[[1098,7]]},"368":{"position":[[3570,6]]},"688":{"position":[[23,6],[127,8],[442,7],[684,7],[820,6],[940,9],[1271,7]]},"718":{"position":[[191,7]]},"747":{"position":[[3570,6]]},"861":{"position":[[960,9]]},"991":{"position":[[1641,8],[1724,8],[1829,8],[1912,8]]},"1071":{"position":[[431,8]]},"1082":{"position":[[565,9],[596,6],[1247,6]]},"1083":{"position":[[402,9],[432,6]]},"1084":{"position":[[631,6]]},"1097":{"position":[[96,6]]},"1098":{"position":[[661,6]]},"1124":{"position":[[150,8],[175,6]]},"1150":{"position":[[0,6],[490,6]]},"1176":{"position":[[495,6],[509,8]]},"1382":{"position":[[5020,8]]},"1383":{"position":[[4386,6],[4538,8]]},"1388":{"position":[[4746,6],[5714,8],[6130,6]]},"1442":{"position":[[2010,8]]},"1467":{"position":[[6483,6]]},"1471":{"position":[[3561,9]]},"1472":{"position":[[3229,9],[4145,9]]},"1473":{"position":[[3629,9],[5413,9]]}},"keywords":{}}],["expanded_command_line_arg",{"_index":5782,"title":{},"content":{"1124":{"position":[[196,27]]}},"keywords":{}}],["expans",{"_index":2059,"title":{},"content":{"389":{"position":[[135,10],[474,9],[1627,10]]},"768":{"position":[[135,10],[474,9],[1627,10]]},"1360":{"position":[[3366,9]]},"1383":{"position":[[6020,9]]},"1403":{"position":[[2781,9],[5150,9]]}},"keywords":{}}],["expansion.keyed_vari",{"_index":2082,"title":{},"content":{"389":{"position":[[1469,26]]},"768":{"position":[[1469,26]]}},"keywords":{}}],["expect",{"_index":1103,"title":{},"content":{"90":{"position":[[222,8]]},"107":{"position":[[139,6]]},"112":{"position":[[134,6]]},"222":{"position":[[222,8]]},"362":{"position":[[1623,8]]},"374":{"position":[[1100,8]]},"389":{"position":[[716,6]]},"416":{"position":[[491,6]]},"417":{"position":[[721,6]]},"418":{"position":[[1157,6]]},"519":{"position":[[139,6]]},"524":{"position":[[134,6]]},"693":{"position":[[7121,7]]},"712":{"position":[[1609,7]]},"741":{"position":[[1623,8]]},"753":{"position":[[1100,8]]},"768":{"position":[[716,6]]},"795":{"position":[[491,6]]},"796":{"position":[[721,6]]},"797":{"position":[[1157,6]]},"861":{"position":[[392,9]]},"877":{"position":[[404,8]]},"895":{"position":[[435,8]]},"904":{"position":[[1551,7]]},"924":{"position":[[1403,6]]},"965":{"position":[[390,9]]},"970":{"position":[[140,6]]},"973":{"position":[[111,7]]},"987":{"position":[[544,6]]},"991":{"position":[[3032,10]]},"1021":{"position":[[380,6]]},"1032":{"position":[[56,8],[386,8]]},"1033":{"position":[[109,6]]},"1049":{"position":[[318,6]]},"1075":{"position":[[106,7]]},"1112":{"position":[[1605,7]]},"1114":{"position":[[132,8],[1095,7]]},"1142":{"position":[[618,8]]},"1195":{"position":[[174,8]]},"1228":{"position":[[269,8]]},"1358":{"position":[[1020,9]]},"1382":{"position":[[4752,8]]},"1388":{"position":[[5446,8]]},"1405":{"position":[[1210,8]]},"1426":{"position":[[2800,8]]},"1442":{"position":[[1742,8]]},"1473":{"position":[[3990,8]]},"1483":{"position":[[1458,8]]},"1486":{"position":[[2913,6]]}},"keywords":{}}],["expens",{"_index":200,"title":{},"content":{"9":{"position":[[658,9]]},"22":{"position":[[1817,10]]},"92":{"position":[[2192,10]]},"224":{"position":[[2192,10]]},"898":{"position":[[644,9]]},"919":{"position":[[1380,9]]},"966":{"position":[[733,9]]},"1104":{"position":[[2640,10]]},"1136":{"position":[[1133,9]]},"1148":{"position":[[1489,9]]},"1205":{"position":[[613,9]]},"1209":{"position":[[366,9]]},"1226":{"position":[[2306,9]]},"1235":{"position":[[1626,9]]},"1237":{"position":[[2476,9]]}},"keywords":{}}],["experi",{"_index":152,"title":{},"content":{"7":{"position":[[289,10]]},"9":{"position":[[106,11],[138,10]]},"23":{"position":[[3117,10]]},"696":{"position":[[233,10]]},"937":{"position":[[2345,11]]},"978":{"position":[[184,11]]}},"keywords":{}}],["experiment",{"_index":290,"title":{},"content":{"9":{"position":[[2501,12]]},"362":{"position":[[2643,12]]},"741":{"position":[[2643,12]]},"995":{"position":[[1232,12],[1309,14]]},"1136":{"position":[[36,14]]},"1138":{"position":[[1345,13],[2793,13]]},"1140":{"position":[[2282,13]]},"1167":{"position":[[3286,13]]},"1188":{"position":[[2335,13]]},"1217":{"position":[[2027,13]]},"1228":{"position":[[4108,13]]},"1405":{"position":[[2223,13]]},"1407":{"position":[[2644,13]]},"1410":{"position":[[2666,13]]},"1427":{"position":[[4104,12]]},"1429":{"position":[[3469,13]]}},"keywords":{}}],["experimental/unst",{"_index":6561,"title":{},"content":{"1355":{"position":[[5336,22]]},"1382":{"position":[[4469,22]]},"1388":{"position":[[5163,22]]},"1442":{"position":[[1459,22]]}},"keywords":{}}],["experimental_arg",{"_index":7820,"title":{},"content":{"1414":{"position":[[515,18]]}},"keywords":{}}],["experimental_low_pass_filt",{"_index":1886,"title":{},"content":{"362":{"position":[[681,29]]},"741":{"position":[[681,29]]}},"keywords":{}}],["expert",{"_index":356,"title":{},"content":{"10":{"position":[[1220,8],[1243,8]]}},"keywords":{}}],["expir",{"_index":1056,"title":{"897":{"position":[[0,7]]}},"content":{"85":{"position":[[460,8]]},"217":{"position":[[460,8]]},"897":{"position":[[198,8]]},"1075":{"position":[[300,6],[604,7]]},"1138":{"position":[[3894,8],[4048,10]]},"1140":{"position":[[3383,8],[3537,10]]},"1167":{"position":[[4387,8],[4541,10]]},"1188":{"position":[[3436,8],[3590,10]]},"1217":{"position":[[3128,8],[3282,10]]},"1228":{"position":[[5209,8],[5363,10]]},"1363":{"position":[[6422,7],[6836,7]]}},"keywords":{}}],["expires_after_timestamp",{"_index":1041,"title":{},"content":{"85":{"position":[[102,24]]},"217":{"position":[[102,24]]}},"keywords":{}}],["expiri",{"_index":1058,"title":{},"content":{"85":{"position":[[486,6]]},"217":{"position":[[486,6]]}},"keywords":{}}],["explain",{"_index":4328,"title":{},"content":{"898":{"position":[[248,8]]},"1102":{"position":[[428,9]]}},"keywords":{}}],["explan",{"_index":4197,"title":{},"content":{"890":{"position":[[80,11]]},"898":{"position":[[84,11]]}},"keywords":{}}],["explicit",{"_index":1489,"title":{},"content":{"242":{"position":[[380,8]]},"298":{"position":[[1797,8]]},"481":{"position":[[104,8]]},"595":{"position":[[998,8]]},"851":{"position":[[1004,8]]},"935":{"position":[[245,9]]},"973":{"position":[[72,8]]},"1191":{"position":[[352,8]]},"1382":{"position":[[4786,8]]},"1384":{"position":[[21504,8]]},"1388":{"position":[[5480,8]]},"1442":{"position":[[1776,8]]}},"keywords":{}}],["explicit_modules_uses_gmodul",{"_index":8495,"title":{},"content":{"1481":{"position":[[610,31]]}},"keywords":{}}],["explicitli",{"_index":1263,"title":{},"content":{"98":{"position":[[1440,10]]},"230":{"position":[[1440,10]]},"368":{"position":[[3013,11]]},"693":{"position":[[9644,10]]},"699":{"position":[[125,10]]},"747":{"position":[[3013,11]]},"898":{"position":[[1601,10]]},"951":{"position":[[1166,10]]},"1000":{"position":[[449,10]]},"1021":{"position":[[426,10],[509,10]]},"1046":{"position":[[364,10]]},"1140":{"position":[[734,10]]},"1188":{"position":[[787,10]]},"1226":{"position":[[3239,10]]},"1228":{"position":[[778,10]]},"1237":{"position":[[3409,10]]},"1383":{"position":[[8969,11]]},"1397":{"position":[[2625,10]]}},"keywords":{}}],["exploded_zip",{"_index":8377,"title":{},"content":{"1469":{"position":[[2061,12]]}},"keywords":{}}],["explor",{"_index":601,"title":{},"content":{"19":{"position":[[27,7],[79,7]]},"954":{"position":[[748,7]]}},"keywords":{}}],["exponenti",{"_index":4594,"title":{},"content":{"937":{"position":[[1747,11]]}},"keywords":{}}],["export",{"_index":469,"title":{},"content":{"15":{"position":[[679,6]]},"421":{"position":[[88,8],[307,8]]},"680":{"position":[[465,7]]},"800":{"position":[[88,8],[307,8]]},"890":{"position":[[1023,7]]},"910":{"position":[[154,6]]},"987":{"position":[[242,9]]},"1029":{"position":[[189,6]]},"1364":{"position":[[6686,8],[6862,8],[6914,9],[13162,6],[13173,8],[13243,8],[13285,9]]},"1384":{"position":[[5731,8],[5907,8],[5959,9],[6022,8],[7689,8],[8967,8],[18093,6],[18104,8],[18174,8],[18216,9]]},"1386":{"position":[[1609,6]]},"1387":{"position":[[6810,6]]},"1395":{"position":[[2630,6]]},"1399":{"position":[[2000,9],[2565,6]]},"1401":{"position":[[1709,7]]},"1407":{"position":[[4899,8]]},"1416":{"position":[[2470,9],[3362,8]]},"1420":{"position":[[2152,9],[2499,8]]},"1448":{"position":[[2445,8]]},"1449":{"position":[[2379,8]]},"1454":{"position":[[3363,9],[4579,8],[4755,8],[6089,8],[6755,8]]},"1455":{"position":[[2227,8],[2403,8],[2860,8]]}},"keywords":{}}],["export_fil",{"_index":7089,"title":{"1399":{"position":[[0,12]]}},"content":{"1374":{"position":[[3032,12],[3234,12],[3616,12],[3700,12],[3776,12]]},"1393":{"position":[[7082,12],[7404,11],[10163,12]]},"1395":{"position":[[1886,11]]},"1397":{"position":[[3779,12],[3859,12]]},"1398":{"position":[[2699,11],[4350,11]]},"1399":{"position":[[4,12],[548,13],[2057,13],[2126,12],[2188,12],[2361,12],[2440,12],[2652,12],[2711,12],[2811,13],[2847,12]]},"1403":{"position":[[8534,12],[8694,12]]}},"keywords":{}}],["export_file'd",{"_index":5234,"title":{},"content":{"1048":{"position":[[198,15]]}},"keywords":{}}],["exported.exported_head",{"_index":8167,"title":{},"content":{"1454":{"position":[[4807,26]]}},"keywords":{}}],["exported.exported_platform_dep",{"_index":8202,"title":{},"content":{"1455":{"position":[[2455,32]]}},"keywords":{}}],["exported_compiler_flag",{"_index":7871,"title":{},"content":{"1421":{"position":[[523,24]]}},"keywords":{}}],["exported_dep",{"_index":6550,"title":{},"content":{"1355":{"position":[[993,14],[3763,14],[3837,13],[4182,13],[4354,14]]},"1362":{"position":[[1215,14]]},"1364":{"position":[[1197,14],[6566,14]]},"1367":{"position":[[2345,14]]},"1373":{"position":[[964,14]]},"1384":{"position":[[960,14],[5611,14],[7665,14],[7737,13]]},"1387":{"position":[[1039,14]]},"1408":{"position":[[720,14]]},"1412":{"position":[[622,14],[2754,14],[2862,13]]},"1413":{"position":[[748,14]]},"1427":{"position":[[844,14],[2908,14],[2982,13],[3327,13],[3499,14]]},"1429":{"position":[[1008,14]]},"1430":{"position":[[661,14]]},"1439":{"position":[[918,14],[3582,14],[3656,13],[4001,13],[4173,14]]},"1440":{"position":[[1082,14]]},"1454":{"position":[[562,14],[6065,14],[6137,13]]},"1455":{"position":[[481,14],[2836,14],[2908,13]]},"1457":{"position":[[449,14]]},"1470":{"position":[[1133,14]]},"1474":{"position":[[658,14]]},"1475":{"position":[[784,14]]}},"keywords":{}}],["exported_head",{"_index":5828,"title":{},"content":{"1131":{"position":[[242,18]]},"1362":{"position":[[1277,17],[5297,16],[6685,17]]},"1364":{"position":[[1259,17],[5326,16],[6924,17]]},"1367":{"position":[[2407,17]]},"1373":{"position":[[8144,16]]},"1382":{"position":[[10920,16]]},"1384":{"position":[[1022,17],[6112,17],[17994,16],[21393,16],[21647,16],[22175,16]]},"1386":{"position":[[1881,16]]},"1387":{"position":[[1101,17]]},"1388":{"position":[[9413,16]]},"1454":{"position":[[624,17],[10022,16],[10546,16]]},"1485":{"position":[[3785,16]]}},"keywords":{}}],["exported_header_styl",{"_index":6709,"title":{},"content":{"1362":{"position":[[1245,22]]},"1364":{"position":[[1227,22]]},"1367":{"position":[[2375,22]]},"1384":{"position":[[990,22],[5969,22]]},"1387":{"position":[[1069,22]]},"1454":{"position":[[592,22]]}},"keywords":{}}],["exported_lang_platform_preprocessor_flag",{"_index":6710,"title":{},"content":{"1362":{"position":[[1327,42]]},"1364":{"position":[[1309,42]]},"1367":{"position":[[2457,42]]},"1384":{"position":[[1072,42],[6799,42]]},"1387":{"position":[[1151,42]]},"1454":{"position":[[674,42]]}},"keywords":{}}],["exported_lang_preprocessor_flag",{"_index":6712,"title":{},"content":{"1362":{"position":[[1409,33]]},"1364":{"position":[[1391,33]]},"1367":{"position":[[2539,33]]},"1384":{"position":[[1154,33],[6959,33]]},"1387":{"position":[[1233,33]]},"1454":{"position":[[756,33]]}},"keywords":{}}],["exported_linker_flag",{"_index":6713,"title":{},"content":{"1362":{"position":[[1469,22],[7684,22]]},"1364":{"position":[[1451,22],[7923,22]]},"1367":{"position":[[2599,22]]},"1384":{"position":[[1214,22],[7101,22]]},"1387":{"position":[[1293,22]]},"1421":{"position":[[563,22]]},"1453":{"position":[[533,22]]},"1454":{"position":[[816,22]]}},"keywords":{}}],["exported_needs_coverage_instrument",{"_index":7147,"title":{},"content":{"1382":{"position":[[1075,40]]},"1384":{"position":[[1252,40]]},"1387":{"position":[[1331,40]]},"1388":{"position":[[1233,40]]},"1462":{"position":[[1469,40]]},"1467":{"position":[[1605,40]]}},"keywords":{}}],["exported_platform_dep",{"_index":6714,"title":{},"content":{"1362":{"position":[[1507,23]]},"1364":{"position":[[1489,23]]},"1367":{"position":[[2637,23]]},"1384":{"position":[[1303,23],[7293,23]]},"1387":{"position":[[1382,23]]},"1454":{"position":[[854,23]]},"1455":{"position":[[511,23]]}},"keywords":{}}],["exported_platform_head",{"_index":6715,"title":{},"content":{"1362":{"position":[[1559,26]]},"1364":{"position":[[1541,26]]},"1367":{"position":[[2689,26]]},"1384":{"position":[[1355,26],[7773,26]]},"1387":{"position":[[1434,26]]},"1454":{"position":[[906,26]]}},"keywords":{}}],["exported_platform_linker_flag",{"_index":6716,"title":{},"content":{"1362":{"position":[[1631,31]]},"1364":{"position":[[1613,31],[8115,31]]},"1367":{"position":[[2761,31]]},"1384":{"position":[[1427,31],[8301,31],[10063,30]]},"1387":{"position":[[1506,31]]},"1453":{"position":[[571,31]]},"1454":{"position":[[978,31]]}},"keywords":{}}],["exported_platform_preprocessor_flag",{"_index":6717,"title":{},"content":{"1362":{"position":[[1691,37]]},"1364":{"position":[[1673,37]]},"1367":{"position":[[2821,37]]},"1384":{"position":[[1487,37],[8911,37]]},"1387":{"position":[[1566,37]]},"1454":{"position":[[1038,37]]}},"keywords":{}}],["exported_post_linker_flag",{"_index":6718,"title":{},"content":{"1362":{"position":[[1757,27]]},"1364":{"position":[[1739,27]]},"1367":{"position":[[2887,27]]},"1384":{"position":[[1553,27],[9404,27]]},"1387":{"position":[[1632,27]]},"1421":{"position":[[601,27]]},"1454":{"position":[[1104,27]]}},"keywords":{}}],["exported_post_platform_linker_flag",{"_index":6719,"title":{},"content":{"1362":{"position":[[1800,36]]},"1364":{"position":[[1782,36]]},"1367":{"position":[[2930,36]]},"1384":{"position":[[1596,36],[9738,36]]},"1387":{"position":[[1675,36]]},"1454":{"position":[[1147,36]]}},"keywords":{}}],["exported_preprocessor_flag",{"_index":6720,"title":{},"content":{"1362":{"position":[[1865,28]]},"1364":{"position":[[1847,28]]},"1367":{"position":[[2995,28]]},"1373":{"position":[[7956,27]]},"1382":{"position":[[10732,27]]},"1384":{"position":[[1661,28],[9354,27],[17806,27]]},"1387":{"position":[[1740,28]]},"1388":{"position":[[9225,27]]},"1454":{"position":[[1212,28],[7142,27]]},"1455":{"position":[[563,28]]},"1485":{"position":[[3597,27]]}},"keywords":{}}],["exported_provided_dep",{"_index":6551,"title":{},"content":{"1355":{"position":[[1023,23],[4287,23]]},"1412":{"position":[[652,23]]},"1413":{"position":[[778,23]]},"1427":{"position":[[874,23],[3432,23]]},"1429":{"position":[[1038,23]]},"1430":{"position":[[691,23]]},"1439":{"position":[[948,23],[4106,23]]},"1440":{"position":[[1112,23]]},"1470":{"position":[[1163,23]]},"1474":{"position":[[688,23]]},"1475":{"position":[[814,23]]}},"keywords":{}}],["expos",{"_index":730,"title":{"1069":{"position":[[7,7]]}},"content":{"23":{"position":[[1491,6]]},"94":{"position":[[4155,7]]},"226":{"position":[[4155,7]]},"722":{"position":[[647,6]]},"840":{"position":[[604,7]]},"950":{"position":[[327,6],[1238,7]]},"955":{"position":[[869,6]]},"973":{"position":[[262,6]]},"975":{"position":[[32,6]]},"976":{"position":[[6,6]]},"1011":{"position":[[358,7]]},"1053":{"position":[[746,8]]},"1071":{"position":[[791,7]]},"1075":{"position":[[704,6]]},"1351":{"position":[[881,7]]},"1355":{"position":[[4077,8]]},"1374":{"position":[[3212,8]]},"1383":{"position":[[1291,7],[8264,7]]},"1399":{"position":[[596,7]]},"1427":{"position":[[3222,8]]},"1439":{"position":[[3896,8]]}},"keywords":{}}],["exposed/access",{"_index":4059,"title":{},"content":{"870":{"position":[[321,18]]}},"keywords":{}}],["exposesanalysiscontext::analyze(targetlabel",{"_index":4552,"title":{},"content":{"924":{"position":[[1974,44]]}},"keywords":{}}],["expr",{"_index":1753,"title":{},"content":{"318":{"position":[[25,5]]},"320":{"position":[[27,5]]}},"keywords":{}}],["express",{"_index":692,"title":{"1260":{"position":[[22,11],[45,12]]},"1261":{"position":[[22,11],[45,12]]},"1262":{"position":[[56,12]]},"1263":{"position":[[57,12]]},"1264":{"position":[[61,12]]},"1265":{"position":[[26,12]]},"1266":{"position":[[27,11],[52,12]]},"1267":{"position":[[31,12]]},"1268":{"position":[[21,11],[72,12]]},"1269":{"position":[[42,12]]},"1270":{"position":[[23,12]]},"1271":{"position":[[36,12]]},"1272":{"position":[[37,12]]},"1273":{"position":[[18,12]]},"1274":{"position":[[33,12]]},"1275":{"position":[[23,11],[51,11]]},"1276":{"position":[[24,12]]},"1286":{"position":[[28,12]]},"1287":{"position":[[28,12]]},"1291":{"position":[[22,11],[45,12]]},"1292":{"position":[[22,11],[45,12]]},"1293":{"position":[[56,12]]},"1294":{"position":[[57,12]]},"1295":{"position":[[61,12]]},"1296":{"position":[[26,12]]},"1297":{"position":[[27,11],[52,12]]},"1298":{"position":[[31,12]]},"1299":{"position":[[21,11],[72,12]]},"1300":{"position":[[42,12]]},"1301":{"position":[[23,12]]},"1302":{"position":[[36,12]]},"1303":{"position":[[37,12]]},"1304":{"position":[[18,12]]},"1305":{"position":[[33,12]]},"1306":{"position":[[23,11],[51,11]]},"1307":{"position":[[24,12]]},"1319":{"position":[[22,11],[45,12]]},"1320":{"position":[[22,11],[45,12]]},"1321":{"position":[[56,12]]},"1322":{"position":[[57,12]]},"1323":{"position":[[61,12]]},"1324":{"position":[[26,12]]},"1325":{"position":[[27,11],[52,12]]},"1326":{"position":[[31,12]]},"1327":{"position":[[21,11],[72,12]]},"1328":{"position":[[42,12]]},"1329":{"position":[[23,12]]},"1330":{"position":[[36,12]]},"1331":{"position":[[37,12]]},"1332":{"position":[[18,12]]},"1333":{"position":[[33,12]]},"1334":{"position":[[23,11],[51,11]]},"1335":{"position":[[24,12]]}},"content":{"23":{"position":[[96,14]]},"94":{"position":[[4224,9]]},"226":{"position":[[4224,9]]},"294":{"position":[[922,11]]},"297":{"position":[[752,11]]},"309":{"position":[[495,11]]},"310":{"position":[[343,11]]},"314":{"position":[[125,11]]},"319":{"position":[[146,11]]},"362":{"position":[[2699,7]]},"405":{"position":[[2460,11]]},"408":{"position":[[1203,10],[1226,12]]},"435":{"position":[[71,10],[121,10]]},"442":{"position":[[66,10]]},"637":{"position":[[222,11]]},"693":{"position":[[1040,7]]},"741":{"position":[[2699,7]]},"784":{"position":[[2460,11]]},"787":{"position":[[1203,10],[1226,12]]},"814":{"position":[[71,10],[121,10]]},"821":{"position":[[66,10]]},"890":{"position":[[5967,13]]},"900":{"position":[[21,10],[171,10],[1786,11]]},"939":{"position":[[862,7]]},"969":{"position":[[210,9],[293,10]]},"1011":{"position":[[38,7]]},"1044":{"position":[[2436,7]]},"1131":{"position":[[120,11],[420,11],[565,12]]},"1136":{"position":[[327,12],[1416,11],[1457,11],[1640,10]]},"1138":{"position":[[6057,10]]},"1148":{"position":[[860,12],[1772,11],[1813,11],[1996,10],[3407,10]]},"1172":{"position":[[1452,10]]},"1173":{"position":[[752,10]]},"1186":{"position":[[1631,10]]},"1187":{"position":[[1644,10]]},"1188":{"position":[[6370,10]]},"1197":{"position":[[869,10]]},"1198":{"position":[[879,10]]},"1199":{"position":[[907,10]]},"1200":{"position":[[774,10]]},"1205":{"position":[[896,11],[937,11],[1120,10]]},"1209":{"position":[[649,11],[690,11],[873,10]]},"1226":{"position":[[2589,11],[2630,11],[2813,10],[4590,11],[4735,11]]},"1235":{"position":[[653,12],[1909,11],[1950,11],[2133,10]]},"1237":{"position":[[2759,11],[2800,11],[2983,10],[4760,11],[4905,11]]},"1258":{"position":[[118,11],[383,11],[527,11],[748,11],[774,10],[795,11],[956,11],[982,11],[1078,10],[1172,10]]},"1259":{"position":[[22,11],[45,12],[111,11],[134,11],[202,12],[293,10],[470,11],[543,11],[581,11],[620,11],[645,11],[688,11],[721,11],[772,11],[826,12],[896,11],[944,12],[1022,11],[1153,12],[1274,12],[1404,11],[1439,11],[1467,11],[1520,11],[1600,10],[1698,10],[1794,10],[1899,10],[2000,10]]},"1260":{"position":[[121,11],[476,12]]},"1262":{"position":[[78,10]]},"1271":{"position":[[65,11],[198,11]]},"1277":{"position":[[48,10]]},"1278":{"position":[[48,10]]},"1279":{"position":[[48,10]]},"1280":{"position":[[48,10]]},"1281":{"position":[[48,10]]},"1282":{"position":[[305,10],[345,10]]},"1283":{"position":[[322,10],[362,10]]},"1284":{"position":[[302,10],[342,10]]},"1285":{"position":[[28,12],[159,12]]},"1289":{"position":[[118,11],[383,11],[527,11],[748,11],[774,10],[795,11],[956,11],[982,11],[1078,10],[1172,10]]},"1290":{"position":[[22,11],[45,12],[111,11],[134,11],[202,12],[293,10],[470,11],[543,11],[581,11],[620,11],[645,11],[688,11],[721,11],[772,11],[826,12],[896,11],[944,12],[1022,11],[1153,12],[1274,12],[1404,11],[1439,11],[1467,11],[1520,11],[1600,10],[1698,10],[1794,10],[1899,10],[2000,10]]},"1291":{"position":[[121,11],[476,12]]},"1293":{"position":[[78,10]]},"1302":{"position":[[65,11],[198,11]]},"1308":{"position":[[48,10]]},"1309":{"position":[[48,10]]},"1310":{"position":[[48,10]]},"1311":{"position":[[48,10]]},"1312":{"position":[[48,10]]},"1313":{"position":[[305,10],[345,10]]},"1314":{"position":[[322,10],[362,10]]},"1315":{"position":[[302,10],[342,10]]},"1317":{"position":[[118,11],[383,11],[527,11],[748,11],[774,10],[795,11],[956,11],[982,11],[1078,10],[1172,10]]},"1318":{"position":[[22,11],[45,12],[111,11],[134,11],[202,12],[293,10],[470,11],[543,11],[581,11],[620,11],[645,11],[688,11],[721,11],[772,11],[826,12],[896,11],[944,12],[1022,11],[1153,12],[1274,12],[1404,11],[1439,11],[1467,11],[1520,11],[1600,10],[1698,10],[1794,10],[1899,10],[2000,10]]},"1319":{"position":[[121,11],[476,12]]},"1321":{"position":[[78,10]]},"1330":{"position":[[65,11],[198,11]]},"1336":{"position":[[48,10]]},"1337":{"position":[[48,10]]},"1338":{"position":[[48,10]]},"1339":{"position":[[48,10]]},"1340":{"position":[[48,10]]},"1341":{"position":[[305,10],[345,10]]},"1342":{"position":[[322,10],[362,10]]},"1343":{"position":[[302,10],[342,10]]},"1351":{"position":[[2293,11],[2675,11],[3061,11],[4791,9]]},"1362":{"position":[[10428,10]]},"1364":{"position":[[11542,10]]},"1367":{"position":[[11345,10]]},"1382":{"position":[[7154,10]]},"1383":{"position":[[3566,10],[3910,10],[4198,10]]},"1384":{"position":[[13508,10]]},"1388":{"position":[[8023,10]]},"1487":{"position":[[1603,11]]}},"keywords":{}}],["expressions).th",{"_index":6478,"title":{},"content":{"1351":{"position":[[3242,16]]}},"keywords":{}}],["ext",{"_index":6001,"title":{},"content":{"1178":{"position":[[643,3]]},"1179":{"position":[[569,3]]},"1365":{"position":[[540,4]]},"1384":{"position":[[18390,6]]},"1472":{"position":[[5706,6]]}},"keywords":{}}],["extend",{"_index":29,"title":{},"content":{"4":{"position":[[0,9]]},"565":{"position":[[68,6],[211,6]]},"574":{"position":[[33,8]]},"715":{"position":[[131,6]]},"890":{"position":[[4526,8]]},"951":{"position":[[316,6]]},"1193":{"position":[[569,9]]},"1470":{"position":[[3391,7]]}},"keywords":{}}],["extens",{"_index":359,"title":{"869":{"position":[[6,9]]},"952":{"position":[[5,9]]},"970":{"position":[[16,11]]}},"content":{"11":{"position":[[185,9]]},"47":{"position":[[34,9],[117,9]]},"194":{"position":[[34,9],[117,9]]},"584":{"position":[[586,9]]},"693":{"position":[[1843,9]]},"865":{"position":[[190,11],[313,10],[331,9]]},"882":{"position":[[21,9]]},"937":{"position":[[4418,9]]},"1049":{"position":[[449,11]]},"1140":{"position":[[698,10],[782,9]]},"1178":{"position":[[677,9]]},"1179":{"position":[[603,9]]},"1188":{"position":[[751,10],[835,9]]},"1190":{"position":[[513,10]]},"1195":{"position":[[16,10]]},"1361":{"position":[[1938,9],[2199,9]]},"1362":{"position":[[12803,10],[12868,10]]},"1363":{"position":[[1781,10],[4376,10],[4636,10],[4651,9],[4760,9],[5656,9],[6964,9],[7151,9],[7356,9],[7512,9],[7710,9]]},"1364":{"position":[[13503,10],[13568,10]]},"1367":{"position":[[3039,10],[12711,10],[12776,10]]},"1372":{"position":[[1534,10]]},"1382":{"position":[[11165,10],[11230,10]]},"1384":{"position":[[18442,10],[18819,10],[18884,10]]},"1385":{"position":[[6743,10],[6808,10],[7220,9],[7460,10],[7636,9]]},"1387":{"position":[[10116,10],[10181,10],[10596,9],[10790,10],[10967,9]]},"1388":{"position":[[9658,10],[9723,10]]},"1405":{"position":[[3137,9]]},"1407":{"position":[[3558,9]]},"1410":{"position":[[4139,9]]},"1422":{"position":[[3325,10]]},"1442":{"position":[[2538,10],[2603,10]]},"1446":{"position":[[2369,10]]},"1461":{"position":[[2425,10],[2695,10],[2866,9]]},"1462":{"position":[[1520,10]]},"1465":{"position":[[2885,10]]},"1467":{"position":[[1656,10],[7024,10]]},"1472":{"position":[[5758,10]]},"1477":{"position":[[1594,9],[1774,10]]},"1485":{"position":[[4029,10],[4094,10]]}},"keywords":{}}],["extension'",{"_index":6884,"title":{},"content":{"1363":{"position":[[4405,11]]}},"keywords":{}}],["extern",{"_index":74,"title":{"5":{"position":[[0,8]]},"6":{"position":[[0,8]]},"7":{"position":[[0,8]]},"1092":{"position":[[0,8]]},"1093":{"position":[[14,8]]},"1097":{"position":[[10,8]]},"1149":{"position":[[7,8]]},"1150":{"position":[[12,8]]}},"content":{"17":{"position":[[1044,8]]},"23":{"position":[[887,8]]},"374":{"position":[[338,8],[678,8],[844,8]]},"753":{"position":[[338,8],[678,8],[844,8]]},"955":{"position":[[1149,8]]},"956":{"position":[[84,8]]},"1067":{"position":[[602,11]]},"1093":{"position":[[15,8],[180,8],[403,8],[544,8]]},"1094":{"position":[[29,8]]},"1096":{"position":[[33,8]]},"1097":{"position":[[8,8],[103,8],[163,8]]},"1098":{"position":[[0,8],[141,8],[163,8],[203,8],[230,8],[315,8],[384,8],[595,8],[612,8],[668,8]]},"1150":{"position":[[26,8],[497,8]]},"1384":{"position":[[7627,8]]},"1405":{"position":[[2582,8],[2835,9]]},"1407":{"position":[[3003,8],[3256,9]]},"1410":{"position":[[3105,8],[3244,9],[3836,9]]},"1415":{"position":[[3970,8]]},"1454":{"position":[[6027,8]]},"1455":{"position":[[2798,8]]},"1461":{"position":[[3350,8]]},"1482":{"position":[[1689,8]]},"1486":{"position":[[695,8],[909,8]]}},"keywords":{}}],["external.link_mod",{"_index":7732,"title":{},"content":{"1405":{"position":[[2721,19]]},"1407":{"position":[[3142,19]]}},"keywords":{}}],["external/libcxx:head",{"_index":7273,"title":{},"content":{"1386":{"position":[[3640,28]]}},"keywords":{}}],["external_cel",{"_index":5614,"title":{},"content":{"1093":{"position":[[465,14],[661,16]]},"1096":{"position":[[212,16]]},"1097":{"position":[[254,14]]},"1150":{"position":[[185,16]]}},"keywords":{}}],["external_cell_libfoo",{"_index":5619,"title":{},"content":{"1096":{"position":[[242,22]]}},"keywords":{}}],["external_linker_flag",{"_index":7721,"title":{},"content":{"1405":{"position":[[699,22]]},"1407":{"position":[[726,22]]},"1410":{"position":[[878,22],[3076,22]]}},"keywords":{}}],["external_test_runn",{"_index":7653,"title":{"1400":{"position":[[0,21]]}},"content":{"1400":{"position":[[4,21]]}},"keywords":{}}],["external_tool.sh",{"_index":8570,"title":{},"content":{"1486":{"position":[[3292,19],[3709,18],[5125,18]]}},"keywords":{}}],["externalrunnertestinfo",{"_index":2005,"title":{"374":{"position":[[0,23]]},"753":{"position":[[0,23]]},"1068":{"position":[[25,23]]}},"content":{"374":{"position":[[4,23],[257,22]]},"753":{"position":[[4,23],[257,22]]},"1054":{"position":[[1760,23]]},"1069":{"position":[[46,23]]},"1070":{"position":[[98,22]]},"1071":{"position":[[95,23]]},"1072":{"position":[[330,22],[558,23],[1119,23]]},"1245":{"position":[[320,22]]}},"keywords":{}}],["externalrunnertestinfo(command",{"_index":5495,"title":{},"content":{"1071":{"position":[[310,30]]}},"keywords":{}}],["externalrunnertestinfo.buck2",{"_index":5471,"title":{},"content":{"1067":{"position":[[89,28]]}},"keywords":{}}],["externalrunnertestinfo.local_resourc",{"_index":5326,"title":{},"content":{"1053":{"position":[[518,38]]}},"keywords":{}}],["externalrunnertestinfo.th",{"_index":5474,"title":{},"content":{"1067":{"position":[[352,26]]}},"keywords":{}}],["externalrunnertestinfoprovid",{"_index":5325,"title":{},"content":{"1053":{"position":[[429,30]]}},"keywords":{}}],["externaltool",{"_index":8568,"title":{},"content":{"1486":{"position":[[3209,16],[3269,15]]}},"keywords":{}}],["externaltoolwork",{"_index":8567,"title":{},"content":{"1486":{"position":[[3181,21],[3378,20],[3472,20],[3566,20]]}},"keywords":{}}],["extld",{"_index":7731,"title":{},"content":{"1405":{"position":[[2627,5]]},"1407":{"position":[[3048,5]]},"1410":{"position":[[3150,5]]}},"keywords":{}}],["extra",{"_index":2102,"title":{"1034":{"position":[[0,5]]}},"content":{"400":{"position":[[320,5]]},"779":{"position":[[320,5]]},"846":{"position":[[505,5]]},"1040":{"position":[[475,5]]},"1112":{"position":[[4669,5]]},"1355":{"position":[[4038,5]]},"1362":{"position":[[10816,5],[11020,5]]},"1364":{"position":[[11783,5],[11987,5]]},"1373":{"position":[[5332,5],[5536,5]]},"1382":{"position":[[7685,5],[7889,5]]},"1384":{"position":[[13749,5],[13953,5]]},"1387":{"position":[[7010,5],[7214,5]]},"1393":{"position":[[5709,5]]},"1405":{"position":[[2576,5],[3211,5]]},"1407":{"position":[[2997,5],[3632,5]]},"1410":{"position":[[3099,5],[4214,5]]},"1427":{"position":[[3183,5]]},"1439":{"position":[[3857,5],[5458,5]]}},"keywords":{}}],["extra_argu",{"_index":6347,"title":{},"content":{"1348":{"position":[[1095,16]]},"1355":{"position":[[1062,16],[4540,16]]},"1412":{"position":[[691,16],[2936,16],[4275,15]]},"1413":{"position":[[817,16]]},"1427":{"position":[[913,16],[3685,16]]},"1429":{"position":[[1077,16]]},"1430":{"position":[[730,16]]},"1439":{"position":[[987,16]]},"1440":{"position":[[1151,16]]},"1470":{"position":[[1202,16]]},"1474":{"position":[[727,16]]},"1475":{"position":[[853,16]]}},"keywords":{}}],["extra_ct_hook",{"_index":7608,"title":{},"content":{"1398":{"position":[[722,15],[3408,15]]}},"keywords":{}}],["extra_erl_flag",{"_index":7609,"title":{},"content":{"1398":{"position":[[753,16],[3507,16]]}},"keywords":{}}],["extra_filtered_resourc",{"_index":6433,"title":{},"content":{"1350":{"position":[[1722,25]]},"1352":{"position":[[1721,25]]}},"keywords":{}}],["extra_groovyc_argu",{"_index":7802,"title":{},"content":{"1412":{"position":[[723,24],[3028,24]]},"1413":{"position":[[849,24]]}},"keywords":{}}],["extra_includ",{"_index":7444,"title":{},"content":{"1393":{"position":[[548,15],[4653,15],[5145,14]]}},"keywords":{}}],["extra_instrumentation_arg",{"_index":6524,"title":{},"content":{"1354":{"position":[[699,27]]}},"keywords":{}}],["extra_json",{"_index":8009,"title":{},"content":{"1431":{"position":[[643,11]]},"1433":{"position":[[695,11]]}},"keywords":{}}],["extra_kotlinc_argu",{"_index":6348,"title":{},"content":{"1348":{"position":[[1127,24]]},"1355":{"position":[[1094,24],[4676,24]]},"1439":{"position":[[1019,24],[4359,24],[4932,24]]},"1440":{"position":[[1183,24]]},"1470":{"position":[[1234,24]]}},"keywords":{}}],["extra_linker_output",{"_index":6992,"title":{},"content":{"1368":{"position":[[811,21]]}},"keywords":{}}],["extra_no_compress_asset_extens",{"_index":6434,"title":{},"content":{"1350":{"position":[[1763,35]]},"1352":{"position":[[1762,35]]}},"keywords":{}}],["extra_properti",{"_index":7445,"title":{},"content":{"1393":{"position":[[579,17],[5641,17],[5663,16]]}},"keywords":{}}],["extra_script_templ",{"_index":7859,"title":{},"content":{"1417":{"position":[[583,23]]},"1419":{"position":[[529,23]]}},"keywords":{}}],["extra_xcode_fil",{"_index":6721,"title":{},"content":{"1362":{"position":[[1909,18],[7876,18]]},"1364":{"position":[[1891,18],[8725,18]]},"1367":{"position":[[3055,18],[7964,18]]},"1384":{"position":[[1705,18],[10104,18]]},"1387":{"position":[[1784,18]]}},"keywords":{}}],["extra_xcode_sourc",{"_index":6722,"title":{},"content":{"1362":{"position":[[1943,20]]},"1364":{"position":[[1925,20]]},"1367":{"position":[[3089,20]]},"1384":{"position":[[1739,20]]},"1387":{"position":[[1818,20]]}},"keywords":{}}],["extract",{"_index":4078,"title":{},"content":{"872":{"position":[[764,7]]},"889":{"position":[[1073,7]]},"1395":{"position":[[2960,7]]},"1422":{"position":[[771,7],[1880,9],[2321,9],[2650,9],[2744,9],[2891,10],[2917,9]]},"1446":{"position":[[2207,10]]},"1459":{"position":[[2180,10]]}},"keywords":{}}],["extract_sonam",{"_index":8144,"title":{},"content":{"1454":{"position":[[1256,15]]}},"keywords":{}}],["f",{"_index":1116,"title":{},"content":{"92":{"position":[[192,2]]},"224":{"position":[[192,2]]},"616":{"position":[[356,5]]},"878":{"position":[[1468,1]]},"890":{"position":[[1470,4],[1532,4]]},"1040":{"position":[[2660,2],[2797,2]]},"1360":{"position":[[6566,1],[6624,1]]}},"keywords":{}}],["f(ctx",{"_index":5153,"title":{},"content":{"1040":{"position":[[2390,6]]}},"keywords":{}}],["facebook",{"_index":639,"title":{},"content":{"22":{"position":[[421,8]]}},"keywords":{}}],["facebook'",{"_index":3614,"title":{},"content":{"696":{"position":[[222,10]]}},"keywords":{}}],["fact",{"_index":5121,"title":{},"content":{"1035":{"position":[[370,4]]},"1040":{"position":[[614,5]]}},"keywords":{}}],["factori",{"_index":1632,"title":{},"content":{"298":{"position":[[859,7]]},"916":{"position":[[328,7]]},"950":{"position":[[134,9],[409,8]]}},"keywords":{}}],["fail",{"_index":866,"title":{"641":{"position":[[0,5]]},"1173":{"position":[[14,7]]}},"content":{"42":{"position":[[46,6]]},"43":{"position":[[46,6]]},"45":{"position":[[94,5]]},"91":{"position":[[379,5]]},"94":{"position":[[3153,5]]},"175":{"position":[[46,6]]},"176":{"position":[[46,6]]},"192":{"position":[[94,5]]},"223":{"position":[[379,5]]},"226":{"position":[[3153,5]]},"246":{"position":[[125,6]]},"362":{"position":[[2223,6]]},"406":{"position":[[871,4]]},"435":{"position":[[100,5]]},"553":{"position":[[131,5]]},"554":{"position":[[289,5]]},"557":{"position":[[334,6],[345,5]]},"558":{"position":[[214,5]]},"559":{"position":[[446,5]]},"560":{"position":[[710,5]]},"563":{"position":[[139,5]]},"564":{"position":[[124,5]]},"565":{"position":[[218,5]]},"566":{"position":[[547,5]]},"567":{"position":[[418,5]]},"568":{"position":[[216,5]]},"569":{"position":[[177,5]]},"596":{"position":[[146,7],[340,6]]},"607":{"position":[[384,5]]},"612":{"position":[[148,7]]},"616":{"position":[[473,6]]},"634":{"position":[[188,5]]},"641":{"position":[[36,5],[42,4],[98,5],[156,5]]},"647":{"position":[[166,5]]},"656":{"position":[[218,6]]},"662":{"position":[[761,5]]},"741":{"position":[[2223,6]]},"785":{"position":[[871,4]]},"814":{"position":[[100,5]]},"900":{"position":[[1371,4],[1415,4]]},"919":{"position":[[283,5],[2153,4],[2270,4]]},"939":{"position":[[1527,5]]},"976":{"position":[[144,4]]},"1000":{"position":[[478,4]]},"1001":{"position":[[451,5]]},"1036":{"position":[[171,4]]},"1050":{"position":[[4464,5]]},"1064":{"position":[[549,5]]},"1075":{"position":[[404,4]]},"1106":{"position":[[14,5]]},"1112":{"position":[[797,6],[3573,6],[3629,7],[4106,6]]},"1113":{"position":[[166,5]]},"1114":{"position":[[105,6]]},"1121":{"position":[[111,7]]},"1138":{"position":[[3953,5],[4069,4],[4453,7],[4504,7],[4672,7],[4866,7],[5052,4],[5422,6],[5460,6]]},"1140":{"position":[[3442,5],[3558,4],[3942,7],[3993,7],[4161,7],[4355,7],[4541,4],[4911,6],[4949,6]]},"1167":{"position":[[4446,5],[4562,4],[4946,7],[4997,7],[5165,7],[5359,7],[5545,4],[5915,6],[5953,6]]},"1171":{"position":[[169,6],[203,6]]},"1172":{"position":[[1687,6],[1718,6],[1975,5]]},"1173":{"position":[[27,6],[155,6]]},"1188":{"position":[[3495,5],[3611,4],[3995,7],[4046,7],[4214,7],[4408,7],[4594,4],[4964,6],[5002,6]]},"1217":{"position":[[3187,5],[3303,4],[3687,7],[3738,7],[3906,7],[4100,7],[4286,4],[4656,6],[4694,6]]},"1228":{"position":[[5268,5],[5384,4],[5768,7],[5819,7],[5987,7],[6181,7],[6367,4],[6737,6],[6775,6]]},"1255":{"position":[[183,9],[359,9]]},"1353":{"position":[[2776,7]]},"1374":{"position":[[2457,4]]},"1383":{"position":[[5562,5]]},"1393":{"position":[[9472,5]]},"1412":{"position":[[4100,7]]},"1422":{"position":[[2513,5],[3621,6],[3642,6]]},"1423":{"position":[[2182,5],[2392,6],[2413,6]]},"1427":{"position":[[4268,4]]},"1429":{"position":[[5348,6]]},"1440":{"position":[[5342,6]]},"1461":{"position":[[2814,4]]},"1478":{"position":[[2781,5],[3380,5],[3570,5],[3618,4],[3654,6],[3723,6],[3766,6],[3794,7],[3812,6],[3842,4]]},"1482":{"position":[[2851,6],[2940,6],[3183,6],[3272,6],[3353,6]]},"1487":{"position":[[2040,4]]}},"keywords":{}}],["fail"",{"_index":8479,"title":{},"content":{"1478":{"position":[[3026,12]]}},"keywords":{}}],["fail("expect",{"_index":3773,"title":{},"content":{"712":{"position":[[3119,19]]}},"keywords":{}}],["fail("oops"",{"_index":3148,"title":{},"content":{"641":{"position":[[121,22]]}},"keywords":{}}],["fail("thi",{"_index":3146,"title":{},"content":{"641":{"position":[[61,15]]}},"keywords":{}}],["fail(*arg",{"_index":3144,"title":{},"content":{"641":{"position":[[4,11]]}},"keywords":{}}],["fail_no_stacktrac",{"_index":2124,"title":{"412":{"position":[[0,19]]},"791":{"position":[[0,19]]}},"content":{"402":{"position":[[901,18]]},"781":{"position":[[901,18]]}},"keywords":{}}],["fail_no_stacktrace(*arg",{"_index":2206,"title":{},"content":{"412":{"position":[[4,25]]},"791":{"position":[[4,25]]}},"keywords":{}}],["failur",{"_index":1736,"title":{},"content":{"314":{"position":[[345,8]]},"362":{"position":[[2197,7]]},"557":{"position":[[598,8]]},"558":{"position":[[407,8]]},"741":{"position":[[2197,7]]},"844":{"position":[[171,9]]},"1112":{"position":[[848,8],[857,9]]},"1138":{"position":[[2032,10],[2052,8]]},"1140":{"position":[[1521,10],[1541,8]]},"1167":{"position":[[2525,10],[2545,8]]},"1188":{"position":[[1574,10],[1594,8]]},"1217":{"position":[[1266,10],[1286,8]]},"1228":{"position":[[3347,10],[3367,8]]},"1255":{"position":[[396,7]]},"1360":{"position":[[4410,8]]},"1383":{"position":[[6443,8]]},"1403":{"position":[[3825,8]]},"1478":{"position":[[3428,7],[3676,7],[3804,7]]}},"keywords":{}}],["fake",{"_index":5880,"title":{},"content":{"1136":{"position":[[2840,4],[2915,4],[2983,4]]},"1138":{"position":[[6502,4],[6577,4],[6645,4]]},"1140":{"position":[[5428,4],[5503,4],[5571,4]]},"1142":{"position":[[872,4],[947,4],[1015,4]]},"1146":{"position":[[812,4],[887,4],[955,4]]},"1148":{"position":[[3852,4],[3927,4],[3995,4]]},"1155":{"position":[[908,4],[983,4],[1051,4]]},"1156":{"position":[[486,4],[561,4],[629,4]]},"1167":{"position":[[6432,4],[6507,4],[6575,4]]},"1169":{"position":[[271,4],[346,4],[414,4]]},"1186":{"position":[[2076,4],[2151,4],[2219,4]]},"1187":{"position":[[2089,4],[2164,4],[2232,4]]},"1188":{"position":[[6815,4],[6890,4],[6958,4]]},"1191":{"position":[[676,4],[751,4],[819,4]]},"1192":{"position":[[851,4],[926,4],[994,4]]},"1193":{"position":[[903,4],[978,4],[1046,4]]},"1194":{"position":[[543,4],[618,4],[686,4]]},"1195":{"position":[[521,4],[596,4],[664,4]]},"1196":{"position":[[331,4],[406,4],[474,4]]},"1197":{"position":[[1314,4],[1389,4],[1457,4]]},"1198":{"position":[[1324,4],[1399,4],[1467,4]]},"1199":{"position":[[1352,4],[1427,4],[1495,4]]},"1200":{"position":[[1219,4],[1294,4],[1362,4]]},"1201":{"position":[[479,4],[554,4],[622,4]]},"1202":{"position":[[1621,4],[1696,4],[1764,4],[6018,4],[6093,4],[6161,4]]},"1203":{"position":[[713,4],[788,4],[856,4]]},"1204":{"position":[[557,4],[632,4],[700,4]]},"1205":{"position":[[1886,4],[1961,4],[2029,4]]},"1206":{"position":[[357,4],[432,4],[500,4]]},"1207":{"position":[[514,4],[589,4],[657,4]]},"1209":{"position":[[1862,4],[1937,4],[2005,4]]},"1217":{"position":[[5173,4],[5248,4],[5316,4]]},"1219":{"position":[[1159,4],[1234,4],[1302,4]]},"1222":{"position":[[283,4],[358,4],[426,4]]},"1223":{"position":[[293,4],[368,4],[436,4]]},"1224":{"position":[[473,4],[548,4],[616,4]]},"1226":{"position":[[5641,4],[5716,4],[5784,4]]},"1228":{"position":[[7254,4],[7329,4],[7397,4]]},"1235":{"position":[[3122,4],[3197,4],[3265,4]]},"1237":{"position":[[5811,4],[5886,4],[5954,4]]}},"keywords":{}}],["fall",{"_index":4339,"title":{},"content":{"898":{"position":[[1933,4]]},"919":{"position":[[252,5]]},"1363":{"position":[[6074,5]]}},"keywords":{}}],["fallback",{"_index":1909,"title":{},"content":{"362":{"position":[[2168,9]]},"373":{"position":[[82,8],[320,9]]},"741":{"position":[[2168,9]]},"752":{"position":[[82,8],[320,9]]},"995":{"position":[[308,8]]},"1360":{"position":[[3141,8]]},"1374":{"position":[[2305,8]]},"1383":{"position":[[2726,8]]},"1393":{"position":[[8687,8]]},"1403":{"position":[[2556,8]]}},"keywords":{}}],["fallback_actu",{"_index":7111,"title":{},"content":{"1377":{"position":[[480,16]]}},"keywords":{}}],["fallback_transform_profil",{"_index":8010,"title":{},"content":{"1431":{"position":[[671,27]]}},"keywords":{}}],["fallbacksallow_hybrid_fallbacks_on_failur",{"_index":1908,"title":{},"content":{"362":{"position":[[2107,43]]},"741":{"position":[[2107,43]]}},"keywords":{}}],["fals",{"_index":892,"title":{"624":{"position":[[0,6]]}},"content":{"50":{"position":[[59,5]]},"85":{"position":[[154,6],[177,6],[205,5]]},"89":{"position":[[78,5]]},"91":{"position":[[191,6],[220,5]]},"94":{"position":[[580,6],[608,6],[637,6],[702,6],[872,6],[906,6],[949,6],[993,6],[1062,6]]},"98":{"position":[[338,6],[364,6],[391,6],[415,5]]},"99":{"position":[[488,6],[510,6],[534,5],[1639,6]]},"126":{"position":[[31,6],[107,5]]},"132":{"position":[[68,6]]},"138":{"position":[[65,6]]},"144":{"position":[[59,6]]},"145":{"position":[[45,6]]},"197":{"position":[[59,5]]},"217":{"position":[[154,6],[177,6],[205,5]]},"221":{"position":[[78,5]]},"223":{"position":[[191,6],[220,5]]},"226":{"position":[[580,6],[608,6],[637,6],[702,6],[872,6],[906,6],[949,6],[993,6],[1062,6]]},"230":{"position":[[338,6],[364,6],[391,6],[415,5]]},"231":{"position":[[488,6],[510,6],[534,5],[1639,6]]},"242":{"position":[[100,5]]},"249":{"position":[[31,6],[107,5]]},"255":{"position":[[68,6]]},"261":{"position":[[65,6]]},"267":{"position":[[59,6]]},"268":{"position":[[45,6]]},"306":{"position":[[344,6]]},"309":{"position":[[348,5]]},"316":{"position":[[127,5]]},"317":{"position":[[129,5]]},"318":{"position":[[83,5],[295,6]]},"362":{"position":[[153,6],[416,6],[462,6],[511,6],[554,6],[592,6],[627,6],[718,6]]},"397":{"position":[[80,5]]},"405":{"position":[[609,6]]},"416":{"position":[[90,5]]},"417":{"position":[[306,5]]},"424":{"position":[[32,6]]},"434":{"position":[[43,5]]},"435":{"position":[[277,5]]},"437":{"position":[[161,6],[194,6],[640,7]]},"442":{"position":[[157,6],[244,5]]},"447":{"position":[[118,5]]},"451":{"position":[[66,5]]},"597":{"position":[[277,5]]},"598":{"position":[[255,5],[287,5]]},"599":{"position":[[253,5],[285,5]]},"600":{"position":[[294,5],[329,5]]},"601":{"position":[[287,5]]},"602":{"position":[[344,5],[379,5]]},"603":{"position":[[290,5],[325,5]]},"617":{"position":[[39,6]]},"618":{"position":[[335,5],[447,5]]},"624":{"position":[[0,6]]},"628":{"position":[[190,5],[240,5],[254,7],[265,5],[289,5],[303,7],[314,5]]},"629":{"position":[[209,5],[223,7],[234,5]]},"630":{"position":[[146,5],[164,5],[222,5],[242,5],[294,5],[312,5],[350,5],[397,5]]},"641":{"position":[[147,6],[169,5]]},"643":{"position":[[267,6],[371,7],[389,6]]},"648":{"position":[[417,5]]},"666":{"position":[[46,5]]},"712":{"position":[[1201,6],[1743,6]]},"741":{"position":[[153,6],[416,6],[462,6],[511,6],[554,6],[592,6],[627,6],[718,6]]},"776":{"position":[[80,5]]},"784":{"position":[[609,6]]},"795":{"position":[[90,5]]},"796":{"position":[[306,5]]},"803":{"position":[[32,6]]},"813":{"position":[[43,5]]},"814":{"position":[[277,5]]},"816":{"position":[[161,6],[194,6],[640,7]]},"821":{"position":[[157,6],[244,5]]},"826":{"position":[[118,5]]},"830":{"position":[[66,5]]},"890":{"position":[[1487,6]]},"991":{"position":[[294,7]]},"1001":{"position":[[131,6],[359,5]]},"1004":{"position":[[616,6]]},"1026":{"position":[[1212,5],[1286,5],[1447,5],[1569,5]]},"1064":{"position":[[96,6],[457,5],[1585,6]]},"1070":{"position":[[462,8]]},"1072":{"position":[[671,6],[1046,7],[1201,6]]},"1073":{"position":[[72,7]]},"1198":{"position":[[264,5]]},"1226":{"position":[[2084,6],[2157,6]]},"1233":{"position":[[244,5]]},"1237":{"position":[[2254,6],[2327,6]]},"1241":{"position":[[192,5]]},"1346":{"position":[[485,5]]},"1364":{"position":[[6850,6],[13231,6]]},"1370":{"position":[[2878,6]]},"1384":{"position":[[5895,6],[18162,6]]},"1403":{"position":[[6265,6]]},"1410":{"position":[[2819,6]]},"1454":{"position":[[4743,6]]},"1455":{"position":[[2391,6]]},"1462":{"position":[[8866,6]]},"1465":{"position":[[4220,6]]},"1467":{"position":[[10637,6]]},"1473":{"position":[[3902,6]]},"1477":{"position":[[1675,5]]}},"keywords":{}}],["false)absolut",{"_index":1283,"title":{},"content":{"99":{"position":[[1347,14]]},"231":{"position":[[1347,14]]}},"keywords":{}}],["false.compiler_flag",{"_index":7727,"title":{},"content":{"1405":{"position":[[2376,21]]},"1407":{"position":[[2797,21]]}},"keywords":{}}],["famili",{"_index":7201,"title":{},"content":{"1384":{"position":[[11468,6],[11592,6],[11956,6],[12208,6],[12445,6],[12569,6]]}},"keywords":{}}],["familiar",{"_index":7504,"title":{},"content":{"1393":{"position":[[9330,11]]}},"keywords":{}}],["fanci",{"_index":2329,"title":{},"content":{"434":{"position":[[29,6]]},"813":{"position":[[29,6]]}},"keywords":{}}],["faq",{"_index":3815,"title":{"831":{"position":[[0,4]]}},"content":{},"keywords":{}}],["far",{"_index":2697,"title":{},"content":{"584":{"position":[[55,3]]},"1105":{"position":[[131,3]]}},"keywords":{}}],["fashion",{"_index":3608,"title":{},"content":{"695":{"position":[[527,8]]},"1486":{"position":[[4889,7]]}},"keywords":{}}],["fast",{"_index":120,"title":{},"content":{"6":{"position":[[151,4]]},"9":{"position":[[565,4],[581,4],[775,4],[784,5]]},"23":{"position":[[3377,4],[3453,4]]},"1138":{"position":[[4074,4],[5057,5]]},"1140":{"position":[[3563,4],[4546,5]]},"1167":{"position":[[4567,4],[5550,5]]},"1188":{"position":[[3616,4],[4599,5]]},"1217":{"position":[[3308,4],[4291,5]]},"1226":{"position":[[1885,5],[1937,5]]},"1228":{"position":[[5389,4],[6372,5]]},"1237":{"position":[[2055,5],[2107,5]]},"1354":{"position":[[2708,6]]},"1367":{"position":[[10523,6]]},"1392":{"position":[[1978,6]]},"1410":{"position":[[3462,6]]},"1429":{"position":[[4754,6]]},"1440":{"position":[[4836,6]]},"1461":{"position":[[2819,4]]}},"keywords":{}}],["fast.buck2",{"_index":114,"title":{},"content":{"6":{"position":[[60,11]]}},"keywords":{}}],["fast_adhoc_signing_en",{"_index":6854,"title":{},"content":{"1363":{"position":[[1797,27]]},"1367":{"position":[[3125,27]]},"1372":{"position":[[1554,27]]}},"keywords":{}}],["faster",{"_index":173,"title":{},"content":{"9":{"position":[[172,6],[903,6],[1024,6],[1149,6],[1463,6],[1530,7]]},"10":{"position":[[264,6]]},"11":{"position":[[146,6],[254,6],[365,6],[394,6]]}},"keywords":{}}],["faster.th",{"_index":707,"title":{},"content":{"23":{"position":[[790,10]]}},"keywords":{}}],["fat_lto",{"_index":6723,"title":{},"content":{"1362":{"position":[[1979,8]]},"1364":{"position":[[1961,8]]},"1367":{"position":[[3170,8]]},"1373":{"position":[[994,8]]},"1382":{"position":[[1126,8]]},"1384":{"position":[[1775,8]]},"1387":{"position":[[1854,8]]},"1388":{"position":[[1284,8]]},"1415":{"position":[[772,8]]},"1462":{"position":[[1547,8]]},"1467":{"position":[[1683,8]]}},"keywords":{}}],["favor",{"_index":2457,"title":{},"content":{"477":{"position":[[378,5]]},"1471":{"position":[[2731,5]]},"1472":{"position":[[2690,5]]},"1473":{"position":[[3005,5]]}},"keywords":{}}],["favour",{"_index":2319,"title":{},"content":{"429":{"position":[[615,6]]},"808":{"position":[[615,6]]}},"keywords":{}}],["fb/bin/llvm",{"_index":4313,"title":{},"content":{"896":{"position":[[209,11],[573,11]]}},"keywords":{}}],["fb4a",{"_index":7980,"title":{},"content":{"1427":{"position":[[8089,6]]},"1439":{"position":[[8911,6]]}},"keywords":{}}],["fb://profil",{"_index":5981,"title":{},"content":{"1167":{"position":[[1357,13]]}},"keywords":{}}],["fbchain_config",{"_index":5375,"title":{},"content":{"1057":{"position":[[303,15],[581,15],[834,15],[989,15]]}},"keywords":{}}],["fbcode",{"_index":1291,"title":{},"content":{"106":{"position":[[92,6],[133,6]]},"109":{"position":[[92,6]]},"110":{"position":[[95,6]]},"111":{"position":[[108,6]]},"113":{"position":[[118,6]]},"518":{"position":[[92,6],[133,6]]},"521":{"position":[[92,6]]},"522":{"position":[[95,6]]},"523":{"position":[[108,6]]},"525":{"position":[[118,6]]},"916":{"position":[[91,6]]},"998":{"position":[[14,7]]}},"keywords":{}}],["fbcode//buck2/hello:world",{"_index":1289,"title":{},"content":{"106":{"position":[[31,25]]},"109":{"position":[[31,25]]},"110":{"position":[[34,25]]},"111":{"position":[[47,25]]},"113":{"position":[[57,25],[197,27]]},"518":{"position":[[31,25]]},"521":{"position":[[31,25]]},"522":{"position":[[34,25]]},"523":{"position":[[47,25]]},"525":{"position":[[57,25],[197,27]]}},"keywords":{}}],["fbcode//buck2/starlark",{"_index":4513,"title":{},"content":{"921":{"position":[[781,22]]}},"keywords":{}}],["fbcode//buck2/tests/targets/rules/pasc",{"_index":5639,"title":{},"content":{"1102":{"position":[[830,42]]},"1106":{"position":[[84,41]]}},"keywords":{}}],["fbcode//buck2/tests/targets/rules/pascal:my_binari",{"_index":5704,"title":{},"content":{"1106":{"position":[[156,50]]}},"keywords":{}}],["fbcode//common/init:kil",{"_index":4323,"title":{},"content":{"896":{"position":[[899,24]]}},"keywords":{}}],["fbcode//scripts/torozco/getenv:getenv",{"_index":4303,"title":{},"content":{"896":{"position":[[33,37]]}},"keywords":{}}],["fbcode/buck2/hello",{"_index":1304,"title":{},"content":{"111":{"position":[[149,18]]},"523":{"position":[[149,18]]}},"keywords":{}}],["fbcode/buck2/prelud",{"_index":5706,"title":{},"content":{"1108":{"position":[[118,21]]}},"keywords":{}}],["fbcode/buck2/tests/targets/rules/pasc",{"_index":5636,"title":{},"content":{"1102":{"position":[[601,39]]}},"keywords":{}}],["fbcode/my/stuff.cpp",{"_index":4295,"title":{},"content":{"895":{"position":[[274,20]]}},"keywords":{}}],["fbcode/script",{"_index":4497,"title":{},"content":{"919":{"position":[[1197,15]]}},"keywords":{}}],["fbcode/third",{"_index":4311,"title":{},"content":{"896":{"position":[[162,12],[526,12]]}},"keywords":{}}],["fbcode_allowed_list.bzl",{"_index":5406,"title":{},"content":{"1058":{"position":[[207,23]]}},"keywords":{}}],["fbobjc",{"_index":4510,"title":{},"content":{"921":{"position":[[552,6]]}},"keywords":{}}],["fbode_allowed_list.bzl",{"_index":5426,"title":{},"content":{"1058":{"position":[[465,23]]}},"keywords":{}}],["fbsource//fbobjc",{"_index":4511,"title":{},"content":{"921":{"position":[[589,20]]}},"keywords":{}}],["featur",{"_index":279,"title":{},"content":{"9":{"position":[[2203,8],[2321,8]]},"23":{"position":[[1001,9],[1024,8],[1477,8],[2113,7],[2152,7],[2954,8],[3055,8]]},"584":{"position":[[663,8]]},"873":{"position":[[213,8]]},"890":{"position":[[451,8],[2645,8]]},"945":{"position":[[452,7]]},"954":{"position":[[358,8],[657,8]]},"987":{"position":[[959,7]]},"995":{"position":[[715,7]]},"1027":{"position":[[30,7]]},"1075":{"position":[[741,7]]},"1100":{"position":[[5,7]]},"1384":{"position":[[9620,7]]},"1427":{"position":[[4093,7]]},"1471":{"position":[[899,9],[3571,9],[3592,8]]},"1472":{"position":[[996,9],[4155,9],[4176,8]]},"1473":{"position":[[930,9],[3639,9],[3660,8]]}},"keywords":{}}],["feature="{feature}"",{"_index":8427,"title":{},"content":{"1471":{"position":[[3667,30]]},"1472":{"position":[[4251,30]]},"1473":{"position":[[3735,30]]}},"keywords":{}}],["features.build",{"_index":123,"title":{},"content":{"6":{"position":[[192,17]]}},"keywords":{}}],["feedback",{"_index":185,"title":{},"content":{"9":{"position":[[332,8]]},"10":{"position":[[190,8]]},"12":{"position":[[515,8],[597,9]]},"1232":{"position":[[3454,9]]}},"keywords":{}}],["feel",{"_index":158,"title":{},"content":{"7":{"position":[[365,4]]},"938":{"position":[[0,4]]}},"keywords":{}}],["fetch",{"_index":451,"title":{},"content":{"15":{"position":[[218,5]]},"23":{"position":[[2783,8]]},"1422":{"position":[[888,6],[2523,5]]},"1423":{"position":[[878,6],[2192,5],[3331,7]]},"1439":{"position":[[5788,5]]},"1469":{"position":[[778,6]]}},"keywords":{}}],["few",{"_index":349,"title":{},"content":{"10":{"position":[[1025,3]]},"20":{"position":[[415,3]]},"22":{"position":[[652,3]]},"276":{"position":[[365,3]]},"277":{"position":[[175,3]]},"281":{"position":[[436,3]]},"282":{"position":[[230,3]]},"345":{"position":[[845,3]]},"856":{"position":[[127,3],[735,3],[967,3]]},"858":{"position":[[12,3]]},"1017":{"position":[[679,3]]},"1044":{"position":[[322,3]]},"1088":{"position":[[179,3]]},"1113":{"position":[[514,3]]},"1231":{"position":[[675,3]]},"1250":{"position":[[105,3]]}},"keywords":{}}],["fewer",{"_index":5699,"title":{},"content":{"1105":{"position":[[2414,5]]},"1120":{"position":[[857,5]]}},"keywords":{}}],["fi",{"_index":8482,"title":{},"content":{"1478":{"position":[[3230,2]]}},"keywords":{}}],["fib",{"_index":4359,"title":{},"content":{"900":{"position":[[110,3],[151,3]]}},"keywords":{}}],["fib(3",{"_index":4358,"title":{},"content":{"900":{"position":[[67,6]]}},"keywords":{}}],["field",{"_index":983,"title":{"642":{"position":[[0,6]]},"1069":{"position":[[0,6]]},"1070":{"position":[[0,6]]}},"content":{"72":{"position":[[92,5],[236,5],[272,5]]},"98":{"position":[[927,6]]},"230":{"position":[[927,6]]},"276":{"position":[[116,6]]},"281":{"position":[[150,6]]},"363":{"position":[[477,6],[561,5],[592,5]]},"366":{"position":[[307,6],[358,5]]},"367":{"position":[[333,6],[395,5],[423,5]]},"368":{"position":[[639,6],[2377,6]]},"372":{"position":[[248,6]]},"373":{"position":[[244,6],[314,5],[343,5]]},"374":{"position":[[490,6]]},"375":{"position":[[129,6],[186,6],[234,5],[269,5]]},"377":{"position":[[432,6],[554,6]]},"379":{"position":[[136,6],[253,6],[295,5],[336,5]]},"386":{"position":[[401,6]]},"389":{"position":[[1352,7],[1659,6],[1731,5],[1778,5]]},"396":{"position":[[338,6]]},"398":{"position":[[208,6],[253,5],[285,5]]},"399":{"position":[[211,6],[261,5],[283,5]]},"400":{"position":[[352,6]]},"427":{"position":[[42,7]]},"428":{"position":[[74,5]]},"495":{"position":[[92,5],[236,5],[272,5]]},"595":{"position":[[551,5],[633,7],[690,5],[881,5],[1289,5]]},"637":{"position":[[117,7]]},"642":{"position":[[37,5],[54,5]]},"645":{"position":[[140,6]]},"646":{"position":[[137,6]]},"663":{"position":[[217,7],[659,6],[937,5],[1029,5],[1186,5]]},"742":{"position":[[477,6],[561,5],[592,5]]},"745":{"position":[[307,6],[358,5]]},"746":{"position":[[333,6],[395,5],[423,5]]},"747":{"position":[[639,6],[2377,6]]},"751":{"position":[[248,6]]},"752":{"position":[[244,6],[314,5],[343,5]]},"753":{"position":[[490,6]]},"754":{"position":[[129,6],[186,6],[234,5],[269,5]]},"756":{"position":[[432,6],[554,6]]},"758":{"position":[[136,6],[253,6],[295,5],[336,5]]},"765":{"position":[[401,6]]},"768":{"position":[[1352,7],[1659,6],[1731,5],[1778,5]]},"775":{"position":[[338,6]]},"777":{"position":[[208,6],[253,5],[285,5]]},"778":{"position":[[211,6],[261,5],[283,5]]},"779":{"position":[[352,6]]},"806":{"position":[[42,7]]},"807":{"position":[[74,5]]},"901":{"position":[[180,7],[616,6],[983,5],[1140,5]]},"924":{"position":[[997,6],[1187,5]]},"995":{"position":[[501,5]]},"1020":{"position":[[55,5]]},"1042":{"position":[[517,5]]},"1046":{"position":[[398,5]]},"1050":{"position":[[2005,5]]},"1052":{"position":[[203,7],[1541,5]]},"1053":{"position":[[244,5],[413,5]]},"1054":{"position":[[1111,6]]},"1068":{"position":[[104,6]]},"1070":{"position":[[60,6],[580,6],[765,6],[987,6]]},"1103":{"position":[[788,6],[1571,6]]},"1104":{"position":[[400,5]]},"1105":{"position":[[2116,5]]},"1112":{"position":[[578,6],[1442,6]]},"1113":{"position":[[75,6],[184,6],[263,6],[518,6],[575,6]]},"1114":{"position":[[570,5]]},"1346":{"position":[[318,6]]},"1351":{"position":[[2165,6],[2547,6],[2998,6],[3189,6],[3285,5]]},"1366":{"position":[[2788,5]]},"1393":{"position":[[2220,5],[2536,6],[2585,6],[2853,5],[3200,6],[3307,6],[3439,6],[3486,6],[3673,5],[4044,5],[4380,5],[4798,6],[5027,6],[5160,6],[5458,6],[5605,6],[5680,5],[5899,5],[6213,5],[6244,5],[6933,5],[7049,5],[7850,5],[8113,5],[8350,5],[8419,5],[8481,5],[8563,6],[8678,6],[9246,6],[9379,6],[10266,6]]},"1395":{"position":[[2040,5],[2389,6]]},"1397":{"position":[[1645,5],[1866,5],[2063,5],[2651,6],[2728,5]]},"1398":{"position":[[2654,5],[3049,5],[3822,5]]}},"keywords":{}}],["field!conv",{"_index":2811,"title":{},"content":{"595":{"position":[[654,12]]}},"keywords":{}}],["field!conv:spec",{"_index":2812,"title":{},"content":{"595":{"position":[[667,17]]}},"keywords":{}}],["field(typ",{"_index":3150,"title":{},"content":{"642":{"position":[[4,10]]}},"keywords":{}}],["field:spec",{"_index":2810,"title":{},"content":{"595":{"position":[[641,12]]}},"keywords":{}}],["field_ref_count_buffer_spac",{"_index":6435,"title":{},"content":{"1350":{"position":[[1814,29]]},"1352":{"position":[[1813,29]]}},"keywords":{}}],["fieldfunct",{"_index":4392,"title":{},"content":{"901":{"position":[[892,14]]}},"keywords":{}}],["figur",{"_index":6225,"title":{},"content":{"1256":{"position":[[21,6]]}},"keywords":{}}],["file",{"_index":59,"title":{"573":{"position":[[16,4],[34,4]]},"574":{"position":[[10,4]]},"581":{"position":[[21,6]]},"584":{"position":[[14,5],[38,6]]},"622":{"position":[[6,4]]},"679":{"position":[[7,5]]},"680":{"position":[[40,6]]},"686":{"position":[[16,5]]},"717":{"position":[[16,6]]},"976":{"position":[[10,6]]},"1000":{"position":[[8,6]]},"1028":{"position":[[4,5]]},"1030":{"position":[[10,6]]},"1031":{"position":[[18,5]]},"1032":{"position":[[18,5]]},"1033":{"position":[[12,6]]},"1036":{"position":[[4,5]]},"1037":{"position":[[4,5]]},"1038":{"position":[[4,5]]},"1062":{"position":[[8,5]]},"1134":{"position":[[72,6]]},"1203":{"position":[[15,6]]},"1240":{"position":[[19,6]]},"1266":{"position":[[22,4],[47,4]]},"1269":{"position":[[37,4]]},"1273":{"position":[[13,4]]},"1274":{"position":[[28,4]]},"1297":{"position":[[22,4],[47,4]]},"1300":{"position":[[37,4]]},"1304":{"position":[[13,4]]},"1305":{"position":[[28,4]]},"1325":{"position":[[22,4],[47,4]]},"1328":{"position":[[37,4]]},"1332":{"position":[[13,4]]},"1333":{"position":[[28,4]]}},"content":{"4":{"position":[[366,4],[429,4]]},"9":{"position":[[1053,4],[1175,4],[1768,5]]},"13":{"position":[[37,5]]},"15":{"position":[[140,4]]},"18":{"position":[[359,5],[609,5],[1517,6],[1856,4],[2203,5]]},"20":{"position":[[216,6]]},"22":{"position":[[1193,6],[1794,5],[1878,5]]},"23":{"position":[[1087,5],[1139,5],[1576,4],[2743,4],[2836,4]]},"24":{"position":[[636,4]]},"26":{"position":[[35,4]]},"40":{"position":[[42,5],[148,4],[191,4]]},"47":{"position":[[29,4]]},"48":{"position":[[67,4]]},"49":{"position":[[130,6]]},"50":{"position":[[207,4],[261,4]]},"85":{"position":[[570,4]]},"86":{"position":[[172,6]]},"88":{"position":[[266,5]]},"89":{"position":[[152,4]]},"91":{"position":[[318,4],[454,4]]},"92":{"position":[[486,4]]},"94":{"position":[[2150,4],[2481,4]]},"95":{"position":[[286,5]]},"98":{"position":[[573,4],[713,4],[755,5]]},"99":{"position":[[1118,4]]},"145":{"position":[[123,4],[188,4]]},"173":{"position":[[42,5],[148,4],[191,4]]},"178":{"position":[[35,4]]},"194":{"position":[[29,4]]},"195":{"position":[[67,4]]},"196":{"position":[[130,6]]},"197":{"position":[[207,4],[261,4]]},"217":{"position":[[570,4]]},"218":{"position":[[172,6]]},"220":{"position":[[266,5]]},"221":{"position":[[152,4]]},"223":{"position":[[318,4],[454,4]]},"224":{"position":[[486,4]]},"226":{"position":[[2150,4],[2481,4]]},"227":{"position":[[286,5]]},"230":{"position":[[573,4],[713,4],[755,5]]},"231":{"position":[[1118,4]]},"268":{"position":[[123,4],[188,4]]},"279":{"position":[[223,5]]},"314":{"position":[[120,4]]},"317":{"position":[[115,5],[142,4]]},"318":{"position":[[213,5]]},"319":{"position":[[141,4]]},"331":{"position":[[328,6]]},"334":{"position":[[29,6],[417,6],[612,4]]},"346":{"position":[[549,5]]},"362":{"position":[[1713,4]]},"375":{"position":[[34,6],[240,6]]},"407":{"position":[[218,5]]},"408":{"position":[[148,5],[483,4]]},"413":{"position":[[48,4],[118,5]]},"414":{"position":[[91,6],[109,6]]},"415":{"position":[[80,4],[95,5],[149,4],[258,4],[357,4]]},"418":{"position":[[151,5],[198,6],[301,5],[396,5],[526,5],[605,5],[630,5],[638,4],[670,4],[735,4],[826,4],[1075,6],[1136,4]]},"421":{"position":[[76,4]]},"423":{"position":[[54,4],[223,5]]},"425":{"position":[[89,6],[107,6]]},"429":{"position":[[126,4]]},"430":{"position":[[53,4]]},"431":{"position":[[73,5]]},"432":{"position":[[93,5]]},"433":{"position":[[214,5]]},"443":{"position":[[182,5]]},"451":{"position":[[139,6]]},"472":{"position":[[209,6]]},"474":{"position":[[29,6],[156,6],[351,4]]},"477":{"position":[[44,6]]},"573":{"position":[[16,4],[33,4],[222,4]]},"574":{"position":[[50,4],[101,6],[125,4],[228,5]]},"575":{"position":[[95,6]]},"580":{"position":[[60,4],[249,4]]},"581":{"position":[[53,5],[621,5],[677,5],[954,6]]},"582":{"position":[[39,6],[97,5],[149,4],[338,5],[382,4],[437,4],[476,5],[507,5],[523,6]]},"583":{"position":[[267,4],[415,4],[737,4],[805,5],[919,4],[931,5],[993,5]]},"584":{"position":[[25,5],[95,5],[156,5],[356,4],[424,5],[504,5],[561,5],[607,4],[697,5],[759,4],[797,4],[866,4],[916,4],[976,4],[1019,4],[1199,4],[1291,5],[1339,4],[1456,4],[1554,4]]},"587":{"position":[[452,5]]},"622":{"position":[[6,4],[19,4],[29,5],[158,4],[213,4],[299,5],[383,4],[407,4],[424,4],[531,6],[749,4],[836,5],[962,4],[1011,5],[1039,4],[1828,5]]},"675":{"position":[[362,6],[1216,4]]},"679":{"position":[[32,5],[143,6],[237,5],[476,5]]},"680":{"position":[[17,4],[107,4],[173,6],[241,4],[270,4],[306,4],[394,6],[460,4],[485,4],[668,4],[697,5],[747,5],[777,5],[877,5],[1223,5]]},"681":{"position":[[367,5],[456,4],[642,4],[777,5]]},"686":{"position":[[56,5],[142,5]]},"688":{"position":[[870,5]]},"693":{"position":[[85,4],[143,4],[467,5],[858,5],[931,5],[1185,6],[1317,5],[1330,4],[1415,4],[1523,4],[1555,4],[1740,4],[1809,4],[2324,4],[5541,4],[5561,5],[5611,5],[5673,4],[5728,4],[5852,5],[7404,5],[7931,5],[8397,5],[8872,4]]},"702":{"position":[[92,5],[116,5]]},"704":{"position":[[204,7],[447,4],[1026,4],[1746,6],[1943,4],[2082,5],[2283,5]]},"706":{"position":[[660,5]]},"715":{"position":[[258,4],[271,5]]},"717":{"position":[[6,5],[42,6],[138,4],[222,5],[274,5],[418,4],[439,4]]},"718":{"position":[[31,5],[168,5],[638,4]]},"722":{"position":[[307,5],[561,6],[767,4],[782,4],[831,6]]},"724":{"position":[[56,5]]},"741":{"position":[[1713,4]]},"754":{"position":[[34,6],[240,6]]},"786":{"position":[[218,5]]},"787":{"position":[[148,5],[483,4]]},"792":{"position":[[48,4],[118,5]]},"793":{"position":[[91,6],[109,6]]},"794":{"position":[[80,4],[95,5],[149,4],[258,4],[357,4]]},"797":{"position":[[151,5],[198,6],[301,5],[396,5],[526,5],[605,5],[630,5],[638,4],[670,4],[735,4],[826,4],[1075,6],[1136,4]]},"800":{"position":[[76,4]]},"802":{"position":[[54,4],[223,5]]},"804":{"position":[[89,6],[107,6]]},"808":{"position":[[126,4]]},"809":{"position":[[53,4]]},"810":{"position":[[73,5]]},"811":{"position":[[93,5]]},"812":{"position":[[214,5]]},"822":{"position":[[182,5]]},"830":{"position":[[139,6]]},"840":{"position":[[126,5],[153,4]]},"865":{"position":[[185,4],[268,5],[615,6],[740,4],[880,5]]},"867":{"position":[[2056,4]]},"872":{"position":[[386,4],[986,4]]},"873":{"position":[[110,5]]},"878":{"position":[[238,5]]},"894":{"position":[[471,4]]},"895":{"position":[[251,4]]},"910":{"position":[[438,4],[500,4]]},"911":{"position":[[45,4],[291,4]]},"915":{"position":[[8,5]]},"916":{"position":[[461,5]]},"919":{"position":[[412,6]]},"921":{"position":[[126,5]]},"939":{"position":[[1760,5]]},"940":{"position":[[13,5],[607,4]]},"954":{"position":[[55,5],[167,4],[251,4],[459,5],[839,4],[946,5]]},"955":{"position":[[687,5],[966,4],[1059,5],[1243,6]]},"956":{"position":[[301,5]]},"961":{"position":[[53,4],[87,4],[239,5],[382,5]]},"964":{"position":[[65,6]]},"976":{"position":[[81,5]]},"981":{"position":[[898,4]]},"997":{"position":[[58,6]]},"998":{"position":[[261,5]]},"1000":{"position":[[23,5],[61,5],[132,5],[159,6],[187,5],[291,5],[346,5],[522,4],[563,6],[578,5],[607,6],[652,5],[729,5],[762,5],[851,5]]},"1001":{"position":[[8,5],[46,4],[441,4],[496,4],[610,4],[740,4],[776,4],[823,5],[859,4],[951,5],[1090,4],[1105,5],[1120,5],[1145,6],[1355,6],[1418,4],[1565,6]]},"1002":{"position":[[8,5]]},"1004":{"position":[[37,5]]},"1029":{"position":[[4,5],[281,5]]},"1030":{"position":[[11,6],[77,4],[161,4],[238,4],[326,6]]},"1031":{"position":[[17,4],[135,5],[293,4]]},"1032":{"position":[[30,5]]},"1033":{"position":[[43,5],[190,5]]},"1035":{"position":[[4,5],[95,5],[175,6],[525,4]]},"1036":{"position":[[20,4],[115,4]]},"1037":{"position":[[4,5],[152,5],[330,5],[440,4],[537,7],[610,5],[658,5]]},"1038":{"position":[[12,4],[111,5]]},"1048":{"position":[[121,4],[224,4],[1312,5]]},"1050":{"position":[[1198,4],[1256,4],[1356,4],[1987,5],[2096,5],[2294,4],[3150,4],[3515,4],[4407,4],[4619,5]]},"1056":{"position":[[60,5]]},"1057":{"position":[[173,5],[194,4],[896,4]]},"1058":{"position":[[120,4],[140,4],[160,4]]},"1061":{"position":[[405,4]]},"1064":{"position":[[156,6],[170,5],[195,6],[539,4],[594,4],[708,4],[838,4],[874,4],[923,5],[1051,5],[1256,6],[1270,5],[1295,6],[1370,5],[1451,6],[1510,4],[1743,6],[1757,5],[1782,6],[2254,5]]},"1065":{"position":[[105,6],[119,5],[141,6],[288,6],[351,4]]},"1077":{"position":[[107,5]]},"1093":{"position":[[196,5],[336,6],[635,5]]},"1097":{"position":[[71,6],[338,5]]},"1102":{"position":[[351,4],[673,5]]},"1103":{"position":[[1092,5]]},"1104":{"position":[[435,4],[530,4],[613,4],[1660,5],[1841,4]]},"1107":{"position":[[160,4]]},"1112":{"position":[[4859,4],[4944,5]]},"1130":{"position":[[101,4],[174,4]]},"1134":{"position":[[27,4],[57,5],[258,6]]},"1136":{"position":[[2794,4],[2827,4],[5770,4],[5843,4]]},"1138":{"position":[[1313,4],[1369,4],[1629,4],[3210,5],[3228,5],[3306,7],[3408,7],[3466,6],[3521,5],[3553,5],[6456,4],[6489,4],[9432,4],[9505,4]]},"1140":{"position":[[502,5],[777,4],[1118,4],[2699,5],[2717,5],[2795,7],[2897,7],[2955,6],[3010,5],[3042,5],[5382,4],[5415,4],[8358,4],[8431,4]]},"1142":{"position":[[17,5],[826,4],[859,4],[3802,4],[3875,4]]},"1146":{"position":[[226,5],[348,4],[766,4],[799,4],[3742,4],[3815,4]]},"1148":{"position":[[3806,4],[3839,4],[6782,4],[6855,4],[7180,4],[7307,5]]},"1150":{"position":[[247,5],[372,5]]},"1155":{"position":[[331,5],[388,5],[459,5],[862,4],[895,4],[3838,4],[3911,4]]},"1156":{"position":[[289,5],[440,4],[473,4],[3416,4],[3489,4]]},"1161":{"position":[[456,4]]},"1163":{"position":[[207,6],[376,4],[449,4]]},"1165":{"position":[[205,4],[278,4]]},"1167":{"position":[[2122,4],[3703,5],[3721,5],[3799,7],[3901,7],[3959,6],[4014,5],[4046,5],[6386,4],[6419,4],[9362,4],[9435,4]]},"1169":{"position":[[33,5],[225,4],[258,4],[2470,4],[2543,4]]},"1172":{"position":[[920,4],[990,4]]},"1173":{"position":[[220,4],[290,4]]},"1174":{"position":[[124,4],[194,4]]},"1175":{"position":[[144,4],[214,4]]},"1176":{"position":[[228,4],[298,4]]},"1177":{"position":[[140,4],[210,4]]},"1178":{"position":[[139,4],[294,4],[364,4],[672,4]]},"1179":{"position":[[160,4],[230,4],[598,4]]},"1180":{"position":[[490,4],[560,4]]},"1181":{"position":[[203,4],[315,4]]},"1182":{"position":[[182,4],[252,4]]},"1183":{"position":[[137,4],[207,4]]},"1185":{"position":[[136,4]]},"1186":{"position":[[327,4],[355,4],[2030,4],[2063,4],[5006,4],[5079,4]]},"1187":{"position":[[15,4],[340,4],[368,4],[2043,4],[2076,4],[5019,4],[5092,4]]},"1188":{"position":[[555,5],[830,4],[1171,4],[2752,5],[2770,5],[2848,7],[2950,7],[3008,6],[3063,5],[3095,5],[5066,4],[5094,4],[6769,4],[6802,4],[9745,4],[9818,4]]},"1190":{"position":[[508,4],[985,5],[1013,5],[1444,4]]},"1191":{"position":[[630,4],[663,4],[3606,4],[3679,4]]},"1192":{"position":[[805,4],[838,4],[3781,4],[3854,4]]},"1193":{"position":[[857,4],[890,4],[3833,4],[3906,4]]},"1194":{"position":[[497,4],[530,4],[3473,4],[3546,4]]},"1195":{"position":[[11,4],[148,5],[475,4],[508,4],[3451,4],[3524,4]]},"1196":{"position":[[285,4],[318,4],[3261,4],[3334,4]]},"1197":{"position":[[1268,4],[1301,4],[4244,4],[4317,4]]},"1198":{"position":[[1278,4],[1311,4],[4254,4],[4327,4]]},"1199":{"position":[[1306,4],[1339,4],[4282,4],[4355,4]]},"1200":{"position":[[1173,4],[1206,4],[4149,4],[4222,4]]},"1201":{"position":[[433,4],[466,4],[3409,4],[3482,4]]},"1202":{"position":[[223,4],[1575,4],[1608,4],[4551,4],[4624,4],[5602,4],[5972,4],[6005,4],[8948,4],[9021,4]]},"1203":{"position":[[22,5],[73,5],[182,5],[667,4],[700,4],[3643,4],[3716,4]]},"1204":{"position":[[511,4],[544,4],[3487,4],[3560,4]]},"1205":{"position":[[1840,4],[1873,4],[4816,4],[4889,4]]},"1206":{"position":[[73,4],[311,4],[344,4],[3287,4],[3360,4]]},"1207":{"position":[[107,6],[468,4],[501,4],[3444,4],[3517,4]]},"1209":{"position":[[1816,4],[1849,4],[4792,4],[4865,4]]},"1217":{"position":[[380,4],[434,4],[863,4],[2444,5],[2462,5],[2540,7],[2642,7],[2700,6],[2755,5],[2787,5],[5127,4],[5160,4],[8103,4],[8176,4]]},"1219":{"position":[[1113,4],[1146,4],[3358,4],[3431,4]]},"1222":{"position":[[237,4],[270,4],[3213,4],[3286,4]]},"1223":{"position":[[247,4],[280,4],[3223,4],[3296,4]]},"1224":{"position":[[427,4],[460,4],[2672,4],[2745,4]]},"1226":{"position":[[547,4],[692,5],[796,6],[853,5],[1137,4],[1215,4],[4866,4],[4924,4],[5595,4],[5628,4],[8571,4],[8644,4]]},"1228":{"position":[[2170,4],[2698,4],[2944,4],[4525,5],[4543,5],[4621,7],[4723,7],[4781,6],[4836,5],[4868,5],[7208,4],[7241,4],[10184,4],[10257,4]]},"1235":{"position":[[136,6],[3076,4],[3109,4],[6052,4],[6125,4]]},"1237":{"position":[[717,4],[862,5],[966,6],[1023,5],[1307,4],[1385,4],[5036,4],[5094,4],[5765,4],[5798,4],[8741,4],[8814,4]]},"1243":{"position":[[290,6],[482,4]]},"1245":{"position":[[428,5]]},"1247":{"position":[[95,5],[170,5],[263,5],[562,6],[583,4]]},"1248":{"position":[[49,5],[100,5]]},"1249":{"position":[[119,6]]},"1250":{"position":[[63,4]]},"1252":{"position":[[83,4]]},"1256":{"position":[[86,6]]},"1258":{"position":[[522,4],[606,4],[686,5],[743,4],[769,4],[932,5]]},"1259":{"position":[[615,4],[640,4],[821,4],[1269,4],[1399,4]]},"1260":{"position":[[768,4]]},"1269":{"position":[[89,5]]},"1272":{"position":[[105,5],[179,5]]},"1273":{"position":[[145,4],[338,4],[439,4],[538,4]]},"1289":{"position":[[522,4],[606,4],[686,5],[743,4],[769,4],[932,5]]},"1290":{"position":[[615,4],[640,4],[821,4],[1269,4],[1399,4]]},"1291":{"position":[[768,4]]},"1300":{"position":[[89,5]]},"1303":{"position":[[105,5],[179,5]]},"1304":{"position":[[145,4],[338,4],[439,4],[538,4]]},"1317":{"position":[[522,4],[606,4],[686,5],[743,4],[769,4],[932,5]]},"1318":{"position":[[615,4],[640,4],[821,4],[1269,4],[1399,4]]},"1319":{"position":[[768,4]]},"1328":{"position":[[89,5]]},"1331":{"position":[[105,5],[179,5]]},"1332":{"position":[[145,4],[338,4],[439,4],[538,4]]},"1348":{"position":[[3705,5],[3729,5],[3875,4],[4187,4],[4257,4]]},"1351":{"position":[[1962,5],[2243,5],[2349,4],[2518,4],[2625,5],[2731,4],[2909,5],[4030,5],[4516,4]]},"1353":{"position":[[3272,4]]},"1355":{"position":[[2206,5],[2328,4],[2370,5],[4985,4],[6338,5],[6381,6],[6394,5],[6567,5],[6645,5],[7382,5]]},"1356":{"position":[[1691,5],[1776,5],[1846,4],[3011,4]]},"1358":{"position":[[963,4],[2022,5],[2168,5],[2211,4],[2240,5],[2370,4],[2703,5],[2736,5],[2750,5]]},"1359":{"position":[[2040,4],[2114,4],[2220,4]]},"1360":{"position":[[3125,5],[3642,4],[3968,4],[4165,6],[4269,4],[5054,4],[5278,5],[5327,5],[5463,5],[5529,5],[5643,4],[5908,4]]},"1362":{"position":[[4841,5],[5200,6],[6584,4],[6721,5],[6779,5],[6907,5],[6955,6],[7032,5],[7154,4],[7379,5],[7534,5],[7946,5],[7990,5],[8862,5],[8920,5],[8995,5],[9043,6],[9120,5],[9395,5],[9550,5],[11033,6],[12074,6],[12304,5],[12340,5],[12667,5],[12798,4],[12863,4],[12952,4],[13010,4],[13211,4]]},"1363":{"position":[[2992,6],[4854,4],[4908,4],[4962,4],[5228,4],[5365,4],[5441,4],[6050,4],[6188,4],[6614,4]]},"1364":{"position":[[4883,5],[5229,6],[6960,5],[7018,5],[7146,5],[7194,6],[7271,5],[7393,4],[7618,5],[7773,5],[8795,5],[8839,5],[9976,5],[10034,5],[10109,5],[10157,6],[10234,5],[10509,5],[10664,5],[12000,6],[12579,6],[12809,5],[12845,5],[13367,5],[13498,4],[13563,4],[13652,4],[13710,4],[13911,4]]},"1365":{"position":[[908,5]]},"1366":{"position":[[616,6],[908,5],[918,4],[2280,4],[2346,5],[2955,4],[3021,5],[3223,5],[3310,5]]},"1367":{"position":[[8034,5],[8078,5],[8950,5],[9008,5],[9083,5],[9131,6],[9208,5],[9483,5],[9638,5],[9824,4],[9878,4],[10144,4],[10281,4],[11982,6],[12212,5],[12248,5],[12575,5],[12706,4],[12771,4],[12860,4],[12918,4],[13119,4]]},"1373":{"position":[[2814,5],[4362,5],[4406,5],[4487,5],[4562,5],[4620,5],[4695,5],[4743,6],[5099,4],[5982,6],[6122,4],[7566,5],[7617,5],[8204,5],[8243,5],[8294,4],[8425,6]]},"1374":{"position":[[2162,5]]},"1381":{"position":[[736,5],[2447,5]]},"1382":{"position":[[3070,5],[5632,5],[5690,5],[5765,5],[5813,6],[6169,4],[7902,6],[8484,6],[8714,5],[8762,5],[8824,5],[9790,6],[10020,5],[10056,5],[10342,5],[10393,5],[11029,5],[11160,4],[11225,4],[11314,4],[11372,4],[11573,4],[11681,4]]},"1383":{"position":[[2710,5],[4808,5],[6287,4],[6315,4],[7162,4],[7330,5],[7466,5],[7532,5],[7646,4]]},"1384":{"position":[[4341,5],[4394,5],[6148,5],[6206,5],[6327,5],[6375,6],[6681,4],[7825,6],[8055,5],[8103,5],[8165,5],[9248,5],[9704,5],[9944,5],[10174,5],[10218,5],[10579,5],[10637,5],[10712,5],[10760,6],[11116,4],[11553,5],[12530,5],[13966,6],[14829,6],[15059,5],[15107,5],[15169,5],[16135,6],[16365,5],[16401,5],[17416,5],[17467,5],[18683,5],[18814,4],[18879,4],[18968,4],[19026,4],[19227,4],[21243,4],[21998,4]]},"1385":{"position":[[3144,4],[3545,5],[3603,5],[3678,5],[3726,6],[4082,4],[4713,6],[4943,5],[4991,5],[5053,5],[6016,6],[6246,5],[6282,5],[6607,5],[6738,4],[6803,4],[6892,4],[6950,4],[7151,4],[7249,5]]},"1386":{"position":[[613,4],[1688,4],[1737,4],[2006,4],[3235,6],[3999,4]]},"1387":{"position":[[5266,5],[5878,5],[5936,5],[6011,5],[6059,6],[6415,4],[8086,6],[8316,5],[8364,5],[8426,5],[9389,6],[9619,5],[9655,5],[9980,5],[10111,4],[10176,4],[10265,4],[10323,4],[10524,4],[10625,5]]},"1388":{"position":[[6501,5],[6559,5],[6634,5],[6682,6],[7038,4],[8835,5],[8886,5],[9522,5],[9653,4],[9718,4],[9807,4],[9865,4],[10066,4]]},"1389":{"position":[[5332,5],[5579,5]]},"1390":{"position":[[645,5],[1831,5],[1918,4],[2023,4]]},"1391":{"position":[[615,6],[1646,5],[1733,4],[1818,4]]},"1392":{"position":[[654,5],[2101,5],[2188,4],[2513,5]]},"1393":{"position":[[2278,5],[2298,4],[2359,4],[2899,4],[3243,5],[3340,6],[3516,4],[3719,4],[4158,4],[4279,6],[4839,4],[4871,4],[5188,5],[5837,4],[6101,5],[6193,6],[6273,6],[7038,5],[7333,5],[7807,5],[7825,6],[7938,5],[7987,5],[8018,5],[8041,5],[8072,6],[8448,5],[8777,4],[8879,4],[9297,5],[9708,5]]},"1395":{"position":[[1813,5],[2355,5],[2413,5],[2907,6],[3011,5]]},"1397":{"position":[[2407,5],[2525,5],[2817,5],[3038,4],[3185,4]]},"1398":{"position":[[2474,5],[3001,4],[3280,5],[4279,5],[4644,4],[5639,5],[5990,5],[6123,5],[6283,5]]},"1399":{"position":[[577,4],[1491,5],[1651,4],[1874,4],[1980,4],[2310,4],[2574,4]]},"1401":{"position":[[571,6],[1442,5],[1482,5],[1722,5]]},"1402":{"position":[[710,5],[727,6],[1608,4],[1665,5],[1687,4],[1951,5],[2062,4]]},"1403":{"position":[[1247,5],[1307,4],[2540,5],[3057,4],[3383,4],[3580,6],[3684,4],[5211,4],[6430,5],[6566,5],[6632,5],[6746,4]]},"1405":{"position":[[1163,5],[1191,5],[3306,6],[3446,4],[3625,5],[3664,5],[3712,5],[3792,5]]},"1406":{"position":[[1350,4],[1384,5],[1423,5],[1471,5],[1551,5]]},"1407":{"position":[[1192,5],[3727,6],[3867,4],[4040,5],[4146,5],[4244,5],[4283,5],[4331,5],[4411,5],[4889,4]]},"1408":{"position":[[971,5],[2346,6],[2486,4],[2623,5],[2662,5],[2710,5],[2790,5]]},"1410":{"position":[[1647,5],[4648,6],[4714,6],[4854,4],[5035,5],[5074,5],[5122,5],[5202,5],[5572,5],[5658,6]]},"1412":{"position":[[1483,5],[1582,6],[1648,4],[1690,5],[3409,5],[3498,5],[3724,5],[3842,5],[4042,5],[4132,5]]},"1421":{"position":[[1047,6],[2439,7]]},"1422":{"position":[[1862,4],[2620,5],[3226,4]]},"1423":{"position":[[665,5],[765,6],[1824,4]]},"1426":{"position":[[932,4],[960,5],[1929,5],[1975,5],[2138,5],[2211,5],[2388,5],[2448,5],[2568,4],[2594,5],[2942,5],[3000,4]]},"1427":{"position":[[1718,5],[1812,4],[1854,6],[1883,5],[5511,5],[5553,6],[5566,5],[5766,5],[5844,5],[6581,5],[6627,5],[6691,4],[7137,5],[7318,5],[7422,4]]},"1429":{"position":[[2547,5],[5017,5],[5141,5],[5252,5]]},"1438":{"position":[[1584,4],[2018,4]]},"1439":{"position":[[2002,5],[2098,4],[2140,6],[2169,5],[7420,5],[7462,6],[7475,5],[7675,5],[7717,5],[7763,5],[7827,4],[7965,5],[8144,5],[8248,4]]},"1440":{"position":[[2735,5],[5011,5],[5135,5],[5246,5]]},"1442":{"position":[[2402,5],[2533,4],[2598,4],[2687,4],[2745,4],[2946,4]]},"1444":{"position":[[1771,4],[1891,5],[1979,5],[2164,4]]},"1446":{"position":[[615,6],[658,4],[2273,5],[2344,5],[2695,5]]},"1448":{"position":[[1038,5],[2543,5],[2625,6]]},"1449":{"position":[[972,5],[2477,5],[2559,6]]},"1453":{"position":[[947,5]]},"1454":{"position":[[3295,5],[4852,5],[4910,5],[5031,5],[5079,6],[5385,4],[6224,6],[6454,5],[6502,5],[6564,5],[7036,5]]},"1457":{"position":[[658,5]]},"1458":{"position":[[947,4],[1119,5],[2284,5],[2334,4],[2363,5]]},"1459":{"position":[[658,6]]},"1461":{"position":[[1920,5],[2941,5]]},"1462":{"position":[[6842,4],[8928,5]]},"1465":{"position":[[1448,5],[2420,5],[3163,6],[3365,6],[3574,6],[3774,6],[4103,5],[4268,5],[4287,6],[4341,5],[4518,5],[4610,4],[4650,5]]},"1467":{"position":[[5003,5],[5985,5],[6142,5],[9432,6],[9634,6],[10296,5],[10682,5],[10791,6],[10890,4],[11127,4]]},"1469":{"position":[[672,5],[1933,5],[1983,5]]},"1470":{"position":[[3316,5],[4583,4]]},"1471":{"position":[[1731,5],[3068,4],[4006,5],[4087,6],[4189,4],[4475,4],[5070,5],[5123,5]]},"1472":{"position":[[1690,5],[2787,4],[4590,5],[4671,6],[4773,4],[5059,4],[5956,5],[6009,5]]},"1473":{"position":[[1986,5],[3102,4],[4327,5],[4408,6],[4510,4],[4796,4],[5520,5],[5573,5]]},"1477":{"position":[[1844,6],[1875,4],[1940,5],[2044,6],[2649,4],[2811,4]]},"1478":{"position":[[2550,6],[2581,4]]},"1485":{"position":[[727,4],[768,6],[1913,5],[1971,5],[2046,5],[2094,6],[2450,4],[2748,6],[2978,5],[3026,5],[3088,5],[3207,5],[3258,5],[3893,5],[4024,4],[4089,4],[4178,4],[4236,4],[4437,4],[4472,5],[4501,5],[4550,5],[4695,5],[4816,4],[4852,5]]},"1486":{"position":[[4442,4],[4569,5]]},"1487":{"position":[[679,5],[1683,5],[2116,4],[2228,4],[2314,5],[2483,4],[2509,4],[2599,4],[2635,5],[2684,5],[2713,5],[2796,6],[2971,5],[3045,5],[3140,5],[3724,4],[3796,6],[3877,7]]}},"keywords":{}}],["file'",{"_index":3401,"title":{"1248":{"position":[[22,6]]}},"content":{"680":{"position":[[327,6]]},"1422":{"position":[[3318,6]]}},"keywords":{}}],["file(",{"_index":1785,"title":{},"content":{"327":{"position":[[311,7]]},"468":{"position":[[192,7]]}},"keywords":{}}],["file)"",{"_index":7922,"title":{},"content":{"1422":{"position":[[4512,12]]},"1423":{"position":[[3506,12]]}},"keywords":{}}],["file)pretti",{"_index":1282,"title":{},"content":{"99":{"position":[[1289,11]]},"231":{"position":[[1289,11]]}},"keywords":{}}],["file*>",{"_index":2705,"title":{},"content":{"584":{"position":[[832,9],[1128,9]]}},"keywords":{}}],["file.aidl_src",{"_index":7667,"title":{},"content":{"1402":{"position":[[1635,15]]}},"keywords":{}}],["file.compiler_flag",{"_index":7297,"title":{},"content":{"1387":{"position":[[5423,20]]}},"keywords":{}}],["file.deduplicate_merged_link_root",{"_index":8319,"title":{},"content":{"1462":{"position":[[5647,35]]}},"keywords":{}}],["file.dep",{"_index":8233,"title":{},"content":{"1458":{"position":[[2084,10]]},"1465":{"position":[[2577,10]]}},"keywords":{}}],["file.execut",{"_index":8376,"title":{},"content":{"1469":{"position":[[1956,15]]}},"keywords":{}}],["file.fail",{"_index":8610,"title":{},"content":{"1487":{"position":[[2029,10]]}},"keywords":{}}],["file.http_head",{"_index":6311,"title":{},"content":{"1345":{"position":[[820,17]]}},"keywords":{}}],["file.instance_nam",{"_index":6312,"title":{},"content":{"1345":{"position":[[1115,18]]}},"keywords":{}}],["file.javadoc_url",{"_index":6616,"title":{},"content":{"1358":{"position":[[2116,17]]}},"keywords":{}}],["file.main_funct",{"_index":8325,"title":{},"content":{"1462":{"position":[[6967,19]]}},"keywords":{}}],["file.manifest_skeleton",{"_index":6394,"title":{},"content":{"1348":{"position":[[4141,23]]}},"keywords":{}}],["file.tls_client_cert",{"_index":6309,"title":{},"content":{"1345":{"position":[[543,20]]}},"keywords":{}}],["file:///opt/android",{"_index":6629,"title":{},"content":{"1358":{"position":[[3046,20]]}},"keywords":{}}],["file:consult/1",{"_index":7480,"title":{},"content":{"1393":{"position":[[5865,15]]}},"keywords":{}}],["file=result.dot",{"_index":6274,"title":{},"content":{"1260":{"position":[[922,15]]},"1291":{"position":[[922,15]]},"1319":{"position":[[922,15]]}},"keywords":{}}],["file_nod",{"_index":1604,"title":{},"content":{"291":{"position":[[46,10]]},"315":{"position":[[212,10]]},"316":{"position":[[232,10]]},"317":{"position":[[235,10]]},"318":{"position":[[374,10]]},"498":{"position":[[23,11]]}},"keywords":{}}],["file_set",{"_index":1784,"title":{"413":{"position":[[0,9]]},"498":{"position":[[0,8]]},"792":{"position":[[0,9]]}},"content":{"327":{"position":[[286,8]]},"331":{"position":[[283,8]]},"334":{"position":[[36,8]]},"402":{"position":[[944,8]]},"413":{"position":[[4,10],[21,8],[126,10]]},"468":{"position":[[167,8]]},"472":{"position":[[164,8]]},"474":{"position":[[36,8]]},"477":{"position":[[51,8]]},"498":{"position":[[0,8]]},"781":{"position":[[944,8]]},"792":{"position":[[4,10],[21,8],[126,10]]}},"keywords":{}}],["filecxx",{"_index":2711,"title":{},"content":{"584":{"position":[[1357,7]]}},"keywords":{}}],["filefutur",{"_index":2714,"title":{},"content":{"584":{"position":[[1483,10]]}},"keywords":{}}],["filegroup",{"_index":4958,"title":{"1401":{"position":[[0,10]]}},"content":{"993":{"position":[[237,10]]},"1393":{"position":[[7095,10]]},"1401":{"position":[[4,10],[1613,11],[1767,10]]}},"keywords":{}}],["filenam",{"_index":1074,"title":{},"content":{"88":{"position":[[182,8]]},"89":{"position":[[41,9],[527,8]]},"91":{"position":[[273,9]]},"95":{"position":[[199,8]]},"220":{"position":[[182,8]]},"221":{"position":[[41,9],[527,8]]},"223":{"position":[[273,9]]},"227":{"position":[[199,8]]},"865":{"position":[[647,8]]},"1061":{"position":[[462,10]]},"1362":{"position":[[7356,8],[9372,8]]},"1364":{"position":[[7595,8],[10486,8]]},"1367":{"position":[[9460,8]]},"1373":{"position":[[5076,8]]},"1382":{"position":[[6146,8]]},"1384":{"position":[[6658,8],[11093,8]]},"1385":{"position":[[4059,8]]},"1387":{"position":[[6392,8]]},"1388":{"position":[[7015,8]]},"1395":{"position":[[2569,9],[3150,8],[3568,8]]},"1454":{"position":[[5362,8]]},"1485":{"position":[[2427,8]]}},"keywords":{}}],["filenod",{"_index":2113,"title":{},"content":{"402":{"position":[[273,8]]},"781":{"position":[[273,8]]}},"keywords":{}}],["filepath",{"_index":6086,"title":{},"content":{"1228":{"position":[[2136,9],[2664,9]]},"1360":{"position":[[3875,9],[3943,8],[3996,8]]},"1403":{"position":[[3290,9],[3358,8],[3411,8]]},"1422":{"position":[[2994,9]]}},"keywords":{}}],["filepath_length_limit",{"_index":7365,"title":{},"content":{"1389":{"position":[[2248,24]]}},"keywords":{}}],["filerun",{"_index":4085,"title":{},"content":{"873":{"position":[[412,7],[473,7]]}},"keywords":{}}],["files.linker_flag",{"_index":7054,"title":{},"content":{"1373":{"position":[[5549,19]]},"1387":{"position":[[7227,19]]}},"keywords":{}}],["filesinput",{"_index":4072,"title":{},"content":{"872":{"position":[[299,11]]}},"keywords":{}}],["filestoenforc",{"_index":4492,"title":{},"content":{"919":{"position":[[869,14]]}},"keywords":{}}],["filesystem",{"_index":1680,"title":{},"content":{"303":{"position":[[89,10]]},"315":{"position":[[141,11]]},"402":{"position":[[290,10]]},"781":{"position":[[290,10]]},"872":{"position":[[816,10]]},"1136":{"position":[[3965,10]]},"1138":{"position":[[7627,10]]},"1140":{"position":[[6553,10]]},"1142":{"position":[[1997,10]]},"1146":{"position":[[1937,10]]},"1148":{"position":[[4977,10]]},"1155":{"position":[[2033,10]]},"1156":{"position":[[1611,10]]},"1167":{"position":[[7557,10]]},"1169":{"position":[[1396,10]]},"1186":{"position":[[3201,10]]},"1187":{"position":[[3214,10]]},"1188":{"position":[[7940,10]]},"1191":{"position":[[1801,10]]},"1192":{"position":[[1976,10]]},"1193":{"position":[[2028,10]]},"1194":{"position":[[1668,10]]},"1195":{"position":[[1646,10]]},"1196":{"position":[[1456,10]]},"1197":{"position":[[2439,10]]},"1198":{"position":[[2449,10]]},"1199":{"position":[[2477,10]]},"1200":{"position":[[2344,10]]},"1201":{"position":[[1604,10]]},"1202":{"position":[[2746,10],[7143,10]]},"1203":{"position":[[1838,10]]},"1204":{"position":[[1682,10]]},"1205":{"position":[[3011,10]]},"1206":{"position":[[1482,10]]},"1207":{"position":[[1639,10]]},"1209":{"position":[[2987,10]]},"1217":{"position":[[6298,10]]},"1219":{"position":[[2284,10]]},"1222":{"position":[[1408,10]]},"1223":{"position":[[1418,10]]},"1224":{"position":[[1598,10]]},"1226":{"position":[[6766,10]]},"1228":{"position":[[8379,10]]},"1235":{"position":[[4247,10]]},"1237":{"position":[[6936,10]]}},"keywords":{}}],["filesystemeden",{"_index":761,"title":{},"content":{"23":{"position":[[2680,14]]}},"keywords":{}}],["files—and",{"_index":7790,"title":{},"content":{"1410":{"position":[[1620,9]]}},"keywords":{}}],["fileutil",{"_index":7212,"title":{},"content":{"1384":{"position":[[21353,11]]},"1420":{"position":[[2712,11]]},"1444":{"position":[[2005,11]]},"1465":{"position":[[4370,11]]},"1467":{"position":[[10989,12],[11207,11]]}},"keywords":{}}],["fileutil.cpp",{"_index":7213,"title":{},"content":{"1384":{"position":[[21374,15]]}},"keywords":{}}],["fileutil.h",{"_index":7214,"title":{},"content":{"1384":{"position":[[21414,13]]},"1420":{"position":[[2733,14]]}},"keywords":{}}],["fileutil.lua",{"_index":8091,"title":{},"content":{"1444":{"position":[[2024,17]]}},"keywords":{}}],["fileutil.pi",{"_index":8358,"title":{},"content":{"1465":{"position":[[4389,16]]}},"keywords":{}}],["fileutil_test",{"_index":8369,"title":{},"content":{"1467":{"position":[[10933,16]]}},"keywords":{}}],["fileutil_tests.pi",{"_index":8370,"title":{},"content":{"1467":{"position":[[10957,22]]}},"keywords":{}}],["file—irrespect",{"_index":2668,"title":{},"content":{"581":{"position":[[542,17]]}},"keywords":{}}],["fill",{"_index":3784,"title":{},"content":{"715":{"position":[[976,4]]},"1112":{"position":[[724,6]]},"1138":{"position":[[2022,5],[2043,4]]},"1140":{"position":[[1511,5],[1532,4]]},"1167":{"position":[[2515,5],[2536,4]]},"1188":{"position":[[1564,5],[1585,4]]},"1217":{"position":[[1256,5],[1277,4]]},"1228":{"position":[[3337,5],[3358,4]]},"1393":{"position":[[2572,4]]},"1398":{"position":[[2663,6]]}},"keywords":{}}],["filter",{"_index":1473,"title":{"643":{"position":[[0,7]]}},"content":{"238":{"position":[[462,10]]},"239":{"position":[[401,7]]},"325":{"position":[[362,10]]},"326":{"position":[[377,9],[445,8]]},"328":{"position":[[301,7]]},"330":{"position":[[311,6],[328,9]]},"332":{"position":[[324,9]]},"333":{"position":[[364,10],[417,7]]},"466":{"position":[[243,10]]},"467":{"position":[[258,9],[326,8]]},"469":{"position":[[182,7]]},"471":{"position":[[192,6],[209,9]]},"473":{"position":[[205,9]]},"643":{"position":[[4,7]]},"872":{"position":[[103,9],[673,6]]},"1172":{"position":[[1404,6],[1466,6]]},"1173":{"position":[[704,6],[766,6]]},"1228":{"position":[[919,8]]},"1259":{"position":[[308,7],[839,6],[1554,6],[1652,6],[1748,6],[1853,6],[1954,6]]},"1262":{"position":[[93,7]]},"1269":{"position":[[0,6]]},"1277":{"position":[[2,6]]},"1278":{"position":[[2,6]]},"1279":{"position":[[2,6]]},"1280":{"position":[[2,6]]},"1281":{"position":[[2,6]]},"1290":{"position":[[308,7],[839,6],[1554,6],[1652,6],[1748,6],[1853,6],[1954,6]]},"1293":{"position":[[93,7]]},"1300":{"position":[[0,6]]},"1308":{"position":[[2,6]]},"1309":{"position":[[2,6]]},"1310":{"position":[[2,6]]},"1311":{"position":[[2,6]]},"1312":{"position":[[2,6]]},"1318":{"position":[[308,7],[839,6],[1554,6],[1652,6],[1748,6],[1853,6],[1954,6]]},"1321":{"position":[[93,7]]},"1328":{"position":[[0,6]]},"1336":{"position":[[2,6]]},"1337":{"position":[[2,6]]},"1338":{"position":[[2,6]]},"1339":{"position":[[2,6]]},"1340":{"position":[[2,6]]},"1354":{"position":[[2738,6]]},"1356":{"position":[[1736,8]]},"1367":{"position":[[10553,6]]},"1383":{"position":[[3414,6],[3752,6],[4068,6]]},"1392":{"position":[[2008,6]]},"1410":{"position":[[3492,6]]},"1429":{"position":[[4784,6]]},"1440":{"position":[[4866,6]]}},"keywords":{}}],["filter>",{"_index":6597,"title":{},"content":{"1356":{"position":[[2719,10],[2886,10]]}},"keywords":{}}],["filter(bool",{"_index":3165,"title":{},"content":{"643":{"position":[[247,12]]}},"keywords":{}}],["filter(lambda",{"_index":3166,"title":{},"content":{"643":{"position":[[294,13]]}},"keywords":{}}],["filter(non",{"_index":3167,"title":{},"content":{"643":{"position":[[345,12]]}},"keywords":{}}],["filter(regex",{"_index":6246,"title":{"1269":{"position":[[0,13]]},"1300":{"position":[[0,13]]},"1328":{"position":[[0,13]]}},"content":{"1259":{"position":[[784,13]]},"1290":{"position":[[784,13]]},"1318":{"position":[[784,13]]}},"keywords":{}}],["filter(target",{"_index":4782,"title":{},"content":{"962":{"position":[[309,15]]}},"keywords":{}}],["filterremote_output_path",{"_index":1920,"title":{},"content":{"362":{"position":[[2665,26]]},"741":{"position":[[2665,26]]}},"keywords":{}}],["final",{"_index":568,"title":{"931":{"position":[[0,8]]}},"content":{"18":{"position":[[845,5]]},"617":{"position":[[424,5]]},"675":{"position":[[882,8],[898,5]]},"678":{"position":[[243,5]]},"687":{"position":[[0,8]]},"693":{"position":[[1709,5],[9261,5]]},"708":{"position":[[1009,8]]},"715":{"position":[[1906,5]]},"725":{"position":[[80,5]]},"900":{"position":[[1891,8]]},"943":{"position":[[1872,5]]},"946":{"position":[[97,5]]},"950":{"position":[[148,10],[387,10]]},"951":{"position":[[1272,8]]},"966":{"position":[[469,5]]},"1012":{"position":[[112,5]]},"1031":{"position":[[683,8]]},"1114":{"position":[[660,8]]},"1138":{"position":[[748,5]]},"1140":{"position":[[374,5]]},"1188":{"position":[[427,5]]},"1255":{"position":[[0,8]]},"1348":{"position":[[3718,5],[4013,5],[4213,5]]},"1361":{"position":[[950,5]]},"1366":{"position":[[2021,5]]},"1380":{"position":[[840,5]]},"1383":{"position":[[5778,8]]},"1385":{"position":[[3042,5]]},"1386":{"position":[[4840,5]]},"1387":{"position":[[5309,5]]},"1399":{"position":[[2518,8]]},"1426":{"position":[[1955,5]]},"1444":{"position":[[1669,5]]},"1462":{"position":[[5543,5]]},"1465":{"position":[[2463,5]]},"1467":{"position":[[6028,5]]}},"keywords":{}}],["find",{"_index":566,"title":{"893":{"position":[[0,7]]},"1129":{"position":[[9,4]]},"1133":{"position":[[9,4]]},"1134":{"position":[[9,4]]}},"content":{"18":{"position":[[818,4]]},"239":{"position":[[466,7]]},"327":{"position":[[296,4]]},"328":{"position":[[366,7]]},"331":{"position":[[314,7]]},"334":{"position":[[382,7]]},"335":{"position":[[574,7]]},"468":{"position":[[177,4]]},"469":{"position":[[247,7]]},"472":{"position":[[195,7]]},"474":{"position":[[121,7]]},"475":{"position":[[336,7]]},"566":{"position":[[169,5]]},"594":{"position":[[108,4]]},"611":{"position":[[110,4]]},"612":{"position":[[112,4]]},"873":{"position":[[264,4]]},"895":{"position":[[527,4]]},"911":{"position":[[73,4]]},"955":{"position":[[56,4]]},"1060":{"position":[[258,4]]},"1091":{"position":[[146,4]]},"1127":{"position":[[566,4]]},"1133":{"position":[[230,5],[701,4]]},"1134":{"position":[[12,4],[187,5]]},"1172":{"position":[[759,4]]},"1211":{"position":[[0,4],[276,5]]},"1228":{"position":[[2340,4]]},"1240":{"position":[[3,4]]},"1258":{"position":[[1199,4]]},"1289":{"position":[[1199,4]]},"1317":{"position":[[1199,4]]},"1393":{"position":[[3216,4]]}},"keywords":{}}],["fine",{"_index":3653,"title":{},"content":{"706":{"position":[[111,4]]},"1136":{"position":[[6391,4]]},"1138":{"position":[[10053,4]]},"1140":{"position":[[8979,4]]},"1142":{"position":[[4423,4]]},"1144":{"position":[[751,4]]},"1146":{"position":[[4363,4]]},"1148":{"position":[[7954,4]]},"1150":{"position":[[986,4]]},"1152":{"position":[[684,4]]},"1154":{"position":[[839,4]]},"1155":{"position":[[4459,4]]},"1156":{"position":[[4037,4]]},"1157":{"position":[[622,4]]},"1158":{"position":[[616,4]]},"1159":{"position":[[616,4]]},"1161":{"position":[[1611,4]]},"1163":{"position":[[997,4]]},"1165":{"position":[[826,4]]},"1167":{"position":[[9983,4]]},"1169":{"position":[[3091,4]]},"1171":{"position":[[1332,4]]},"1172":{"position":[[2717,4]]},"1173":{"position":[[1404,4]]},"1174":{"position":[[832,4]]},"1175":{"position":[[828,4]]},"1176":{"position":[[997,4]]},"1177":{"position":[[918,4]]},"1178":{"position":[[1235,4]]},"1179":{"position":[[1032,4]]},"1180":{"position":[[1303,4]]},"1181":{"position":[[1823,4]]},"1182":{"position":[[866,4]]},"1183":{"position":[[821,4]]},"1185":{"position":[[666,4]]},"1186":{"position":[[5627,4]]},"1187":{"position":[[5640,4]]},"1188":{"position":[[10366,4]]},"1190":{"position":[[1997,4]]},"1191":{"position":[[4227,4]]},"1192":{"position":[[4402,4]]},"1193":{"position":[[4454,4]]},"1194":{"position":[[4094,4]]},"1195":{"position":[[4072,4]]},"1196":{"position":[[3882,4]]},"1197":{"position":[[4865,4]]},"1198":{"position":[[4875,4]]},"1199":{"position":[[4903,4]]},"1200":{"position":[[4770,4]]},"1201":{"position":[[4030,4]]},"1202":{"position":[[774,4],[5172,4],[9569,4]]},"1203":{"position":[[4264,4]]},"1204":{"position":[[4108,4],[5010,4],[5940,4],[6842,4],[7828,4],[8782,4],[9729,4],[10659,4]]},"1205":{"position":[[5437,4]]},"1206":{"position":[[4136,4]]},"1207":{"position":[[4065,4]]},"1209":{"position":[[5413,4]]},"1211":{"position":[[737,4]]},"1213":{"position":[[508,4]]},"1215":{"position":[[592,4]]},"1217":{"position":[[8724,4]]},"1219":{"position":[[3979,4]]},"1221":{"position":[[711,4]]},"1222":{"position":[[3850,4]]},"1223":{"position":[[3860,4]]},"1224":{"position":[[3293,4]]},"1226":{"position":[[9192,4]]},"1228":{"position":[[10805,4]]},"1235":{"position":[[6673,4]]},"1237":{"position":[[9362,4]]},"1422":{"position":[[2239,5]]}},"keywords":{}}],["finer",{"_index":852,"title":{},"content":{"41":{"position":[[330,5],[657,5]]},"174":{"position":[[330,5],[657,5]]},"832":{"position":[[909,5]]},"1029":{"position":[[40,5]]},"1112":{"position":[[4219,5],[4554,5]]}},"keywords":{}}],["fingerprint",{"_index":4838,"title":{},"content":{"977":{"position":[[83,14],[426,13]]}},"keywords":{}}],["finish",{"_index":797,"title":{},"content":{"24":{"position":[[930,9]]},"693":{"position":[[4795,8]]},"715":{"position":[[2031,9]]},"724":{"position":[[1497,8],[1748,8]]},"834":{"position":[[378,8]]},"898":{"position":[[1104,8]]},"1001":{"position":[[515,9]]},"1053":{"position":[[1440,8],[1488,9]]},"1064":{"position":[[613,9]]},"1126":{"position":[[965,9]]},"1172":{"position":[[2037,6],[2071,8]]},"1247":{"position":[[141,6]]},"1478":{"position":[[3464,8],[3540,8]]},"1486":{"position":[[4944,9]]}},"keywords":{}}],["finish.txt",{"_index":7190,"title":{},"content":{"1383":{"position":[[7988,11],[8003,10],[8027,12]]},"1403":{"position":[[7088,11],[7103,10],[7127,12]]}},"keywords":{}}],["finit",{"_index":3203,"title":{},"content":{"648":{"position":[[356,6]]}},"keywords":{}}],["fire",{"_index":5476,"title":{},"content":{"1067":{"position":[[523,4]]},"1126":{"position":[[185,6]]}},"keywords":{}}],["first",{"_index":322,"title":{"17":{"position":[[15,5]]},"18":{"position":[[14,5]]},"682":{"position":[[39,6]]}},"content":{"10":{"position":[[371,5]]},"13":{"position":[[239,6]]},"15":{"position":[[364,5]]},"17":{"position":[[263,6]]},"22":{"position":[[553,5],[604,5]]},"23":{"position":[[393,5]]},"92":{"position":[[392,5]]},"94":{"position":[[2995,5]]},"139":{"position":[[142,5]]},"224":{"position":[[392,5]]},"226":{"position":[[2995,5]]},"262":{"position":[[142,5]]},"443":{"position":[[212,5]]},"558":{"position":[[89,5],[151,5]]},"569":{"position":[[103,5]]},"589":{"position":[[92,5]]},"594":{"position":[[191,5]]},"596":{"position":[[222,5]]},"607":{"position":[[229,5]]},"663":{"position":[[229,5]]},"673":{"position":[[242,5],[267,5]]},"693":{"position":[[2691,5],[4804,5]]},"695":{"position":[[458,6]]},"705":{"position":[[404,6],[514,5]]},"706":{"position":[[1585,7],[1643,7]]},"718":{"position":[[0,6]]},"724":{"position":[[924,5],[1076,5],[1506,5]]},"822":{"position":[[212,5]]},"840":{"position":[[17,6]]},"867":{"position":[[4,5]]},"901":{"position":[[192,5]]},"937":{"position":[[1908,5],[3593,6]]},"943":{"position":[[928,5],[1078,6],[2388,6]]},"944":{"position":[[2104,5]]},"977":{"position":[[462,5]]},"988":{"position":[[234,6]]},"990":{"position":[[63,5]]},"1031":{"position":[[201,6]]},"1057":{"position":[[4,5]]},"1064":{"position":[[2083,5]]},"1079":{"position":[[775,5]]},"1081":{"position":[[0,6]]},"1088":{"position":[[316,5],[710,5]]},"1093":{"position":[[73,6]]},"1098":{"position":[[778,6]]},"1100":{"position":[[55,6]]},"1105":{"position":[[1676,6]]},"1124":{"position":[[4,5]]},"1126":{"position":[[232,5]]},"1133":{"position":[[283,5]]},"1134":{"position":[[181,5]]},"1136":{"position":[[4094,5]]},"1138":{"position":[[7756,5]]},"1140":{"position":[[6682,5]]},"1142":{"position":[[2126,5]]},"1146":{"position":[[2066,5]]},"1148":{"position":[[5106,5]]},"1155":{"position":[[2162,5]]},"1156":{"position":[[1740,5]]},"1167":{"position":[[7686,5]]},"1169":{"position":[[1525,5]]},"1186":{"position":[[3330,5]]},"1187":{"position":[[3343,5]]},"1188":{"position":[[8069,5]]},"1191":{"position":[[1930,5]]},"1192":{"position":[[2105,5]]},"1193":{"position":[[2157,5]]},"1194":{"position":[[1797,5]]},"1195":{"position":[[1775,5]]},"1196":{"position":[[1585,5]]},"1197":{"position":[[2568,5]]},"1198":{"position":[[236,5],[2578,5]]},"1199":{"position":[[2606,5]]},"1200":{"position":[[2473,5]]},"1201":{"position":[[1733,5]]},"1202":{"position":[[2875,5],[7272,5]]},"1203":{"position":[[1967,5]]},"1204":{"position":[[1811,5]]},"1205":{"position":[[3140,5]]},"1206":{"position":[[1611,5]]},"1207":{"position":[[1768,5]]},"1209":{"position":[[3116,5]]},"1217":{"position":[[6427,5]]},"1219":{"position":[[2413,5]]},"1222":{"position":[[1537,5]]},"1223":{"position":[[1547,5]]},"1224":{"position":[[1727,5]]},"1226":{"position":[[6895,5]]},"1228":{"position":[[584,5],[905,5],[8508,5]]},"1231":{"position":[[32,5]]},"1235":{"position":[[4376,5]]},"1237":{"position":[[7065,5]]},"1362":{"position":[[11327,5],[11683,5],[12136,5]]},"1364":{"position":[[8305,5],[12294,5],[12641,5]]},"1367":{"position":[[11697,5],[12044,5]]},"1373":{"position":[[6349,5],[6704,5],[7176,5]]},"1382":{"position":[[8196,5],[8546,5],[9024,5],[9497,5],[9852,5]]},"1384":{"position":[[7473,5],[7887,5],[8491,5],[9051,5],[14541,5],[14891,5],[15369,5],[15842,5],[16197,5]]},"1385":{"position":[[4426,5],[4775,5],[5252,5],[5724,5],[6078,5]]},"1386":{"position":[[5824,5]]},"1387":{"position":[[7799,5],[8148,5],[8625,5],[9097,5],[9451,5]]},"1415":{"position":[[4308,5],[4663,5]]},"1416":{"position":[[3164,5]]},"1420":{"position":[[2301,5]]},"1448":{"position":[[2247,5]]},"1449":{"position":[[2181,5]]},"1454":{"position":[[5873,5],[6286,5],[6839,5],[8009,5],[8321,5],[8641,5]]},"1455":{"position":[[2644,5]]},"1465":{"position":[[3225,5],[3636,5]]},"1467":{"position":[[9494,5]]},"1485":{"position":[[2810,5]]},"1486":{"position":[[3662,5],[4191,5],[4820,5]]}},"keywords":{}}],["first_order_dep",{"_index":6256,"title":{"1277":{"position":[[0,19]]},"1308":{"position":[[0,19]]},"1336":{"position":[[0,19]]}},"content":{"1259":{"position":[[1532,19]]},"1290":{"position":[[1532,19]]},"1318":{"position":[[1532,19]]}},"keywords":{}}],["first_order_deps())"",{"_index":5843,"title":{},"content":{"1133":{"position":[[108,25]]},"1277":{"position":[[270,27]]},"1308":{"position":[[270,27]]},"1336":{"position":[[270,27]]}},"keywords":{}}],["fit",{"_index":4494,"title":{},"content":{"919":{"position":[[1042,3]]},"950":{"position":[[890,4]]},"951":{"position":[[754,3]]},"1258":{"position":[[99,3]]},"1289":{"position":[[99,3]]},"1317":{"position":[[99,3]]}},"keywords":{}}],["five",{"_index":378,"title":{},"content":{"11":{"position":[[526,4]]}},"keywords":{}}],["fix",{"_index":181,"title":{},"content":{"9":{"position":[[292,5],[1888,6],[1991,5]]},"12":{"position":[[246,5]]},"16":{"position":[[99,3]]},"890":{"position":[[3878,5]]},"1022":{"position":[[386,5]]},"1104":{"position":[[2704,3]]},"1232":{"position":[[3511,4],[3661,3],[3743,4]]},"1254":{"position":[[382,3]]}},"keywords":{}}],["fixm",{"_index":4888,"title":{},"content":{"987":{"position":[[927,6]]}},"keywords":{}}],["flag",{"_index":525,"title":{},"content":{"17":{"position":[[1304,5]]},"94":{"position":[[1689,4],[3436,5],[3539,6],[3554,5]]},"126":{"position":[[434,5],[561,5]]},"226":{"position":[[1689,4],[3436,5],[3539,6],[3554,5]]},"242":{"position":[[354,4]]},"249":{"position":[[434,5],[561,5]]},"309":{"position":[[817,4]]},"577":{"position":[[282,5],[353,5],[380,5],[588,5],[666,5]]},"582":{"position":[[333,4],[377,4],[471,4]]},"704":{"position":[[496,6],[659,5],[1811,7]]},"715":{"position":[[1069,5]]},"865":{"position":[[104,4],[540,4]]},"872":{"position":[[913,6]]},"873":{"position":[[568,5]]},"907":{"position":[[260,4]]},"921":{"position":[[111,5]]},"937":{"position":[[328,6],[351,5],[525,6],[601,5],[2565,6],[3090,5],[3697,6]]},"942":{"position":[[850,5],[999,4],[1227,4],[1770,4]]},"945":{"position":[[36,4]]},"954":{"position":[[273,6]]},"1004":{"position":[[602,4]]},"1014":{"position":[[405,5]]},"1050":{"position":[[858,4]]},"1086":{"position":[[120,5]]},"1112":{"position":[[739,4]]},"1114":{"position":[[640,4]]},"1120":{"position":[[424,4]]},"1136":{"position":[[1096,4],[3226,4],[3404,4],[3427,4],[3474,4]]},"1138":{"position":[[4181,5],[4588,4],[4696,4],[5824,5],[6888,4],[7066,4],[7089,4],[7136,4]]},"1140":{"position":[[577,4],[3670,5],[4077,4],[4185,4],[5814,4],[5992,4],[6015,4],[6062,4]]},"1142":{"position":[[1258,4],[1436,4],[1459,4],[1506,4]]},"1146":{"position":[[1198,4],[1376,4],[1399,4],[1446,4]]},"1148":{"position":[[408,4],[1452,4],[3174,5],[4238,4],[4416,4],[4439,4],[4486,4]]},"1155":{"position":[[1294,4],[1472,4],[1495,4],[1542,4]]},"1156":{"position":[[872,4],[1050,4],[1073,4],[1120,4]]},"1167":{"position":[[4674,5],[5081,4],[5189,4],[6818,4],[6996,4],[7019,4],[7066,4]]},"1169":{"position":[[657,4],[835,4],[858,4],[905,4]]},"1186":{"position":[[1398,5],[2462,4],[2640,4],[2663,4],[2710,4]]},"1187":{"position":[[1411,5],[2475,4],[2653,4],[2676,4],[2723,4]]},"1188":{"position":[[630,4],[3723,5],[4130,4],[4238,4],[6137,5],[7201,4],[7379,4],[7402,4],[7449,4]]},"1191":{"position":[[1062,4],[1240,4],[1263,4],[1310,4]]},"1192":{"position":[[1237,4],[1415,4],[1438,4],[1485,4]]},"1193":{"position":[[1289,4],[1467,4],[1490,4],[1537,4]]},"1194":{"position":[[929,4],[1107,4],[1130,4],[1177,4]]},"1195":{"position":[[907,4],[1085,4],[1108,4],[1155,4]]},"1196":{"position":[[717,4],[895,4],[918,4],[965,4]]},"1197":{"position":[[636,5],[1700,4],[1878,4],[1901,4],[1948,4]]},"1198":{"position":[[646,5],[1710,4],[1888,4],[1911,4],[1958,4]]},"1199":{"position":[[674,5],[1738,4],[1916,4],[1939,4],[1986,4]]},"1200":{"position":[[541,5],[1605,4],[1783,4],[1806,4],[1853,4]]},"1201":{"position":[[865,4],[1043,4],[1066,4],[1113,4]]},"1202":{"position":[[2007,4],[2185,4],[2208,4],[2255,4],[6404,4],[6582,4],[6605,4],[6652,4]]},"1203":{"position":[[1099,4],[1277,4],[1300,4],[1347,4]]},"1204":{"position":[[943,4],[1121,4],[1144,4],[1191,4]]},"1205":{"position":[[576,4],[2272,4],[2450,4],[2473,4],[2520,4]]},"1206":{"position":[[743,4],[921,4],[944,4],[991,4]]},"1207":{"position":[[900,4],[1078,4],[1101,4],[1148,4]]},"1209":{"position":[[329,4],[2248,4],[2426,4],[2449,4],[2496,4]]},"1217":{"position":[[3415,5],[3822,4],[3930,4],[5559,4],[5737,4],[5760,4],[5807,4]]},"1219":{"position":[[1545,4],[1723,4],[1746,4],[1793,4]]},"1222":{"position":[[669,4],[847,4],[870,4],[917,4]]},"1223":{"position":[[679,4],[857,4],[880,4],[927,4]]},"1224":{"position":[[859,4],[1037,4],[1060,4],[1107,4]]},"1226":{"position":[[2269,4],[6027,4],[6205,4],[6228,4],[6275,4]]},"1228":{"position":[[294,4],[639,5],[2387,4],[5496,5],[5903,4],[6011,4],[7640,4],[7818,4],[7841,4],[7888,4]]},"1235":{"position":[[1589,4],[3508,4],[3686,4],[3709,4],[3756,4]]},"1237":{"position":[[142,5],[2439,4],[6197,4],[6375,4],[6398,4],[6445,4]]},"1239":{"position":[[115,5]]},"1362":{"position":[[6455,5],[7707,5],[11054,5],[11265,6],[11481,5],[11620,6],[11883,6],[11931,5],[12372,5],[12507,5],[13041,5],[13116,5],[13167,5],[13397,5]]},"1363":{"position":[[4800,5]]},"1364":{"position":[[6484,5],[7946,5],[8172,5],[8505,6],[8553,5],[12021,5],[12232,6],[12448,5],[12877,5],[13012,5],[13741,5],[13816,5],[13867,5],[14097,5]]},"1367":{"position":[[7882,5],[11424,5],[11635,6],[11851,5],[12280,5],[12415,5],[12949,5],[13024,5],[13075,5],[13305,5]]},"1373":{"position":[[4045,5],[4090,5],[4223,5],[4302,5],[5569,5],[6287,6],[6503,5],[6641,6],[6904,6],[6952,5],[7114,6],[7330,5],[7448,5],[8454,5]]},"1381":{"position":[[1670,5]]},"1382":{"position":[[4367,5],[7923,5],[8134,6],[8350,5],[8961,6],[9224,6],[9272,5],[9435,6],[9651,5],[10088,5],[10223,5],[11403,5],[11478,5],[11529,5]]},"1383":{"position":[[3623,6],[3967,6],[4255,6]]},"1384":{"position":[[4365,5],[5529,5],[6894,5],[7036,5],[7124,5],[8358,5],[8691,6],[8739,5],[8989,6],[9205,5],[9432,5],[9639,5],[9800,5],[11421,6],[11508,5],[11536,5],[11909,6],[12161,6],[12398,6],[12485,5],[12513,5],[13987,5],[14166,5],[14479,6],[14695,5],[15306,6],[15569,6],[15617,5],[15780,6],[15996,5],[16433,5],[16754,5],[19057,5],[19132,5],[19183,5],[21311,4]]},"1385":{"position":[[3173,5],[4154,5],[4364,6],[4580,5],[5189,6],[5452,6],[5500,5],[5662,6],[5878,5],[6314,5],[6448,5],[6981,5],[7056,5],[7107,5]]},"1386":{"position":[[2359,5],[2489,5],[2588,5],[4952,5],[5047,5],[5134,6],[5562,5]]},"1387":{"position":[[5444,5],[7247,5],[7425,5],[7737,6],[7953,5],[8562,6],[8825,6],[8873,5],[9035,6],[9251,5],[9687,5],[9821,5],[10354,5],[10429,5],[10480,5]]},"1388":{"position":[[5061,5],[8537,5],[8716,5],[9896,5],[9971,5],[10022,5]]},"1390":{"position":[[1693,5],[1779,4]]},"1395":{"position":[[2069,5],[2277,5]]},"1405":{"position":[[2181,5],[2429,5],[2598,5],[3224,5]]},"1407":{"position":[[1244,4],[2222,5],[2586,4],[2850,5],[3019,5],[3645,5]]},"1408":{"position":[[1891,5],[1967,5]]},"1410":{"position":[[2623,5],[2873,5],[3121,5],[4227,5]]},"1415":{"position":[[3772,5],[4036,5],[4246,6],[4462,5],[4600,6],[4863,6],[4911,5]]},"1416":{"position":[[2260,5]]},"1420":{"position":[[1942,5]]},"1421":{"position":[[2020,5],[2113,5]]},"1442":{"position":[[2776,5],[2851,5],[2902,5]]},"1446":{"position":[[441,6]]},"1448":{"position":[[1956,5]]},"1449":{"position":[[1890,5]]},"1454":{"position":[[3322,5],[5525,5],[6777,6],[6993,5],[7639,5]]},"1462":{"position":[[6457,5],[6557,5]]},"1467":{"position":[[7572,5],[7672,5]]},"1471":{"position":[[3953,5],[5017,5]]},"1472":{"position":[[3428,5],[4537,5],[5518,5]]},"1473":{"position":[[4274,5],[5467,5]]},"1485":{"position":[[4267,5],[4342,5],[4393,5]]}},"keywords":{}}],["flag.transit",{"_index":3544,"title":{},"content":{"693":{"position":[[3096,16]]}},"keywords":{}}],["flagfil",{"_index":2683,"title":{},"content":{"582":{"position":[[355,8]]},"583":{"position":[[426,9]]}},"keywords":{}}],["flagged_dep",{"_index":8415,"title":{},"content":{"1471":{"position":[[924,13]]},"1472":{"position":[[1021,13]]},"1473":{"position":[[955,13]]}},"keywords":{}}],["flags.delet",{"_index":4619,"title":{},"content":{"937":{"position":[[4742,12]]}},"keywords":{}}],["flagslink",{"_index":4070,"title":{},"content":{"872":{"position":[[263,11]]}},"keywords":{}}],["flagspath",{"_index":4071,"title":{},"content":{"872":{"position":[[275,10]]}},"keywords":{}}],["flagsus",{"_index":4086,"title":{},"content":{"873":{"position":[[536,8]]}},"keywords":{}}],["flame",{"_index":381,"title":{"1059":{"position":[[0,5]]}},"content":{"11":{"position":[[580,6]]},"1056":{"position":[[841,6],[897,5],[985,5],[1011,6]]},"1059":{"position":[[4,5],[154,5]]},"1148":{"position":[[7358,6],[7370,5],[7392,5]]},"1186":{"position":[[910,6],[922,5],[944,5]]},"1187":{"position":[[923,6],[935,5],[957,5]]},"1188":{"position":[[5649,6],[5661,5],[5683,5]]}},"keywords":{}}],["flamegraph",{"_index":5442,"title":{},"content":{"1059":{"position":[[42,10]]}},"keywords":{}}],["flat",{"_index":7576,"title":{},"content":{"1397":{"position":[[2542,4]]}},"keywords":{}}],["flatten",{"_index":6564,"title":{},"content":{"1355":{"position":[[6076,10],[7089,10]]},"1427":{"position":[[5249,10],[6288,10]]}},"keywords":{}}],["flatten/dedup",{"_index":5669,"title":{},"content":{"1104":{"position":[[2264,14]]}},"keywords":{}}],["flatten/dup",{"_index":5678,"title":{},"content":{"1104":{"position":[[2611,12]]}},"keywords":{}}],["flavor",{"_index":2623,"title":{},"content":{"575":{"position":[[304,7]]},"1363":{"position":[[4470,6],[4573,6]]},"1383":{"position":[[4291,6],[8843,7],[8962,6]]},"1462":{"position":[[8222,6]]},"1465":{"position":[[3464,6],[3873,6]]},"1467":{"position":[[9284,6],[9733,6]]},"1471":{"position":[[5372,7]]},"1472":{"position":[[6258,7]]}},"keywords":{}}],["flexibl",{"_index":3374,"title":{},"content":{"675":{"position":[[378,8]]},"939":{"position":[[1821,11]]}},"keywords":{}}],["flight",{"_index":6077,"title":{},"content":{"1228":{"position":[[1486,6]]}},"keywords":{}}],["flip",{"_index":3683,"title":{},"content":{"706":{"position":[[2472,4]]}},"keywords":{}}],["float",{"_index":2028,"title":{"644":{"position":[[0,6]]}},"content":{"377":{"position":[[338,5],[1692,5]]},"402":{"position":[[538,5]]},"404":{"position":[[75,5]]},"513":{"position":[[35,5],[70,5]]},"514":{"position":[[33,5],[66,5]]},"627":{"position":[[11,5],[33,5]]},"644":{"position":[[20,5],[52,5],[59,6],[95,8],[181,6],[247,8],[323,8],[366,7],[387,7],[591,9]]},"648":{"position":[[18,5],[251,6]]},"756":{"position":[[338,5],[1692,5]]},"781":{"position":[[538,5]]},"783":{"position":[[75,5]]},"1181":{"position":[[568,5]]}},"keywords":{}}],["float("hello"",{"_index":3180,"title":{},"content":{"644":{"position":[[538,24]]}},"keywords":{}}],["float('.25",{"_index":3174,"title":{},"content":{"644":{"position":[[456,12]]}},"keywords":{}}],["float('1",{"_index":3172,"title":{},"content":{"644":{"position":[[418,10]]}},"keywords":{}}],["float('1.0",{"_index":3173,"title":{},"content":{"644":{"position":[[436,12]]}},"keywords":{}}],["float('1e2",{"_index":3176,"title":{},"content":{"644":{"position":[[477,12]]}},"keywords":{}}],["float(1",{"_index":3170,"title":{},"content":{"644":{"position":[[402,8]]}},"keywords":{}}],["float(a",{"_index":3168,"title":{},"content":{"644":{"position":[[4,8]]}},"keywords":{}}],["float(fals",{"_index":3178,"title":{},"content":{"644":{"position":[[499,12]]}},"keywords":{}}],["float(tru",{"_index":3179,"title":{},"content":{"644":{"position":[[519,11]]}},"keywords":{}}],["flow",{"_index":3779,"title":{},"content":{"715":{"position":[[217,4]]},"722":{"position":[[686,4]]},"872":{"position":[[468,4]]},"873":{"position":[[334,4]]},"924":{"position":[[2124,4]]},"1021":{"position":[[699,5]]},"1104":{"position":[[1483,5]]},"1136":{"position":[[5415,4]]},"1138":{"position":[[9077,4]]},"1140":{"position":[[8003,4]]},"1142":{"position":[[3447,4]]},"1146":{"position":[[3387,4]]},"1148":{"position":[[6427,4]]},"1155":{"position":[[3483,4]]},"1156":{"position":[[3061,4]]},"1161":{"position":[[954,4]]},"1167":{"position":[[9007,4]]},"1181":{"position":[[1166,4]]},"1186":{"position":[[4651,4]]},"1187":{"position":[[4664,4]]},"1188":{"position":[[9390,4]]},"1191":{"position":[[3251,4]]},"1192":{"position":[[3426,4]]},"1193":{"position":[[3478,4]]},"1194":{"position":[[3118,4]]},"1195":{"position":[[3096,4]]},"1196":{"position":[[2906,4]]},"1197":{"position":[[3889,4]]},"1198":{"position":[[3899,4]]},"1199":{"position":[[3927,4]]},"1200":{"position":[[3794,4]]},"1201":{"position":[[3054,4]]},"1202":{"position":[[4196,4],[8593,4]]},"1203":{"position":[[3288,4]]},"1204":{"position":[[3132,4]]},"1205":{"position":[[4461,4]]},"1206":{"position":[[2932,4]]},"1207":{"position":[[3089,4]]},"1209":{"position":[[4437,4]]},"1217":{"position":[[7748,4]]},"1222":{"position":[[2858,4]]},"1223":{"position":[[2868,4]]},"1226":{"position":[[8216,4]]},"1228":{"position":[[9829,4]]},"1235":{"position":[[5697,4]]},"1237":{"position":[[8386,4]]}},"keywords":{}}],["flowchart",{"_index":5575,"title":{},"content":{"1084":{"position":[[269,9]]},"1088":{"position":[[1270,9]]}},"keywords":{}}],["flush",{"_index":5119,"title":{},"content":{"1035":{"position":[[165,5]]},"1037":{"position":[[527,5],[548,5]]},"1204":{"position":[[229,5],[10133,5],[10202,5]]}},"keywords":{}}],["fn",{"_index":4178,"title":{},"content":{"889":{"position":[[254,2]]}},"keywords":{}}],["fno",{"_index":7215,"title":{},"content":{"1384":{"position":[[21452,3],[21840,3]]},"1385":{"position":[[7367,3]]}},"keywords":{}}],["fobjc",{"_index":6824,"title":{},"content":{"1362":{"position":[[13878,5]]},"1364":{"position":[[14586,5]]},"1367":{"position":[[14462,5]]}},"keywords":{}}],["focused_list_target",{"_index":6724,"title":{},"content":{"1362":{"position":[[1998,20]]},"1364":{"position":[[1980,20]]},"1367":{"position":[[3189,20]]},"1373":{"position":[[1013,20]]},"1382":{"position":[[1145,20]]},"1384":{"position":[[1794,20]]},"1387":{"position":[[1873,20]]},"1388":{"position":[[1303,20]]},"1415":{"position":[[791,20]]},"1462":{"position":[[1566,20]]},"1467":{"position":[[1702,20]]}},"keywords":{}}],["folder",{"_index":542,"title":{},"content":{"18":{"position":[[103,6]]},"583":{"position":[[607,6],[694,6]]},"708":{"position":[[748,6]]},"916":{"position":[[214,7]]},"1102":{"position":[[51,6]]},"1161":{"position":[[131,6]]},"1393":{"position":[[7792,7],[9765,6]]},"1395":{"position":[[1705,6],[2405,7]]},"1397":{"position":[[2020,6],[2855,6]]},"1399":{"position":[[585,6]]},"1403":{"position":[[1315,7]]}},"keywords":{}}],["folder'",{"_index":8041,"title":{},"content":{"1439":{"position":[[5094,8]]}},"keywords":{}}],["folli",{"_index":5367,"title":{},"content":{"1057":{"position":[[162,5]]},"1386":{"position":[[3405,5],[3686,5]]}},"keywords":{}}],["follow",{"_index":90,"title":{},"content":{"5":{"position":[[234,8]]},"9":{"position":[[482,9]]},"11":{"position":[[126,9]]},"13":{"position":[[373,9]]},"18":{"position":[[1507,9]]},"22":{"position":[[632,8],[1024,9]]},"23":{"position":[[1750,6]]},"94":{"position":[[3841,9]]},"226":{"position":[[3841,9]]},"242":{"position":[[197,9]]},"429":{"position":[[277,9]]},"575":{"position":[[119,9]]},"576":{"position":[[163,9]]},"578":{"position":[[73,9]]},"581":{"position":[[124,9]]},"583":{"position":[[4,9]]},"584":{"position":[[1304,9]]},"591":{"position":[[730,9]]},"607":{"position":[[284,9]]},"622":{"position":[[516,9],[671,9],[1742,9]]},"638":{"position":[[357,10]]},"663":{"position":[[373,10]]},"675":{"position":[[163,9]]},"693":{"position":[[2954,9]]},"702":{"position":[[4,9]]},"704":{"position":[[303,9]]},"708":{"position":[[827,9]]},"711":{"position":[[110,9]]},"715":{"position":[[1552,9]]},"716":{"position":[[4,9],[169,9]]},"808":{"position":[[277,9]]},"840":{"position":[[215,8]]},"850":{"position":[[131,9],[562,8],[789,8]]},"859":{"position":[[12,9]]},"865":{"position":[[175,9]]},"870":{"position":[[181,9]]},"872":{"position":[[37,8]]},"888":{"position":[[447,9],[1018,9]]},"890":{"position":[[352,9],[464,9],[3175,9]]},"892":{"position":[[22,9],[554,9],[969,10],[1340,6],[1445,10],[1672,10],[1909,10]]},"894":{"position":[[118,8],[245,8]]},"895":{"position":[[16,8],[348,8],[700,6]]},"896":{"position":[[4,9],[872,9]]},"898":{"position":[[2107,10]]},"901":{"position":[[335,10]]},"902":{"position":[[346,10]]},"904":{"position":[[335,9]]},"924":{"position":[[35,8]]},"937":{"position":[[688,9]]},"938":{"position":[[736,9]]},"939":{"position":[[1488,9]]},"940":{"position":[[508,9],[987,9],[1259,8]]},"941":{"position":[[84,9]]},"943":{"position":[[394,8],[1085,8]]},"944":{"position":[[1117,8]]},"951":{"position":[[217,6],[817,7]]},"961":{"position":[[645,8]]},"973":{"position":[[240,7]]},"980":{"position":[[59,8]]},"990":{"position":[[270,8],[758,8]]},"993":{"position":[[23,9]]},"994":{"position":[[33,9]]},"995":{"position":[[34,9]]},"1006":{"position":[[613,8],[750,9]]},"1007":{"position":[[254,10]]},"1014":{"position":[[310,8]]},"1024":{"position":[[908,9]]},"1026":{"position":[[302,8],[1010,9]]},"1030":{"position":[[37,10]]},"1031":{"position":[[183,9]]},"1040":{"position":[[19,9],[2022,9]]},"1048":{"position":[[4,9]]},"1050":{"position":[[1613,9],[2546,9],[3753,10]]},"1054":{"position":[[520,9]]},"1056":{"position":[[460,8]]},"1057":{"position":[[457,10]]},"1068":{"position":[[206,9]]},"1069":{"position":[[4,9]]},"1071":{"position":[[247,9]]},"1072":{"position":[[542,9]]},"1079":{"position":[[738,9]]},"1081":{"position":[[77,8]]},"1082":{"position":[[662,9]]},"1083":{"position":[[498,9]]},"1086":{"position":[[139,9]]},"1088":{"position":[[1209,9]]},"1102":{"position":[[477,10]]},"1104":{"position":[[1697,9]]},"1105":{"position":[[409,9]]},"1114":{"position":[[44,9]]},"1120":{"position":[[300,6],[469,9]]},"1126":{"position":[[147,8]]},"1130":{"position":[[41,9]]},"1131":{"position":[[100,8],[732,10]]},"1133":{"position":[[869,9]]},"1138":{"position":[[1989,9]]},"1140":{"position":[[1478,9]]},"1144":{"position":[[78,9]]},"1167":{"position":[[2482,9]]},"1172":{"position":[[124,9],[497,9],[520,6]]},"1188":{"position":[[1531,9]]},"1217":{"position":[[1223,9]]},"1219":{"position":[[344,8]]},"1228":{"position":[[2292,6],[3304,9]]},"1232":{"position":[[47,9]]},"1251":{"position":[[365,8]]},"1255":{"position":[[93,9],[230,8]]},"1260":{"position":[[146,9]]},"1291":{"position":[[146,9]]},"1319":{"position":[[146,9]]},"1345":{"position":[[1341,8]]},"1346":{"position":[[308,9],[351,8]]},"1355":{"position":[[4634,6]]},"1360":{"position":[[3186,9]]},"1362":{"position":[[8598,9]]},"1364":{"position":[[9712,9]]},"1367":{"position":[[8686,9]]},"1382":{"position":[[4545,9]]},"1383":{"position":[[2904,9],[2983,9],[4455,9],[5801,9],[5901,9],[7854,9],[8051,9]]},"1386":{"position":[[3188,10]]},"1388":{"position":[[5239,9]]},"1403":{"position":[[2601,9],[6954,9],[7151,9],[8384,10]]},"1405":{"position":[[2807,9],[3047,9]]},"1407":{"position":[[2335,9],[3228,9],[3468,9]]},"1410":{"position":[[3808,9],[4049,9]]},"1427":{"position":[[3779,6]]},"1438":{"position":[[1607,9]]},"1442":{"position":[[1535,9]]},"1446":{"position":[[2359,9]]},"1461":{"position":[[1980,8]]},"1471":{"position":[[4121,7]]},"1472":{"position":[[4705,7]]},"1473":{"position":[[4442,7]]},"1486":{"position":[[3126,9]]},"1487":{"position":[[2380,8]]}},"keywords":{}}],["folly/io/async:async",{"_index":7275,"title":{},"content":{"1386":{"position":[[3719,25]]}},"keywords":{}}],["folly:folli",{"_index":7274,"title":{},"content":{"1386":{"position":[[3702,16]]}},"keywords":{}}],["foo",{"_index":894,"title":{},"content":{"50":{"position":[[175,3]]},"72":{"position":[[278,3]]},"197":{"position":[[175,3]]},"368":{"position":[[2098,5],[2187,5]]},"415":{"position":[[240,4],[375,4]]},"418":{"position":[[314,3]]},"495":{"position":[[278,3]]},"577":{"position":[[389,3],[675,3],[732,3]]},"747":{"position":[[2098,5],[2187,5]]},"794":{"position":[[240,4],[375,4]]},"797":{"position":[[314,3]]},"890":{"position":[[382,6],[587,3],[1108,3],[3366,3],[3385,7],[3407,3],[3677,3],[3719,3]]},"961":{"position":[[692,3]]},"994":{"position":[[495,3]]},"1011":{"position":[[529,8]]},"1014":{"position":[[294,6]]},"1021":{"position":[[114,11]]},"1061":{"position":[[219,3],[355,4]]},"1084":{"position":[[326,3],[341,3]]},"1088":{"position":[[1327,3],[1342,3]]},"1138":{"position":[[4220,4],[4324,6],[4442,6],[4493,6],[4661,6],[4855,6],[4933,6]]},"1140":{"position":[[3709,4],[3813,6],[3931,6],[3982,6],[4150,6],[4344,6],[4422,6]]},"1167":{"position":[[4713,4],[4817,6],[4935,6],[4986,6],[5154,6],[5348,6],[5426,6]]},"1188":{"position":[[3762,4],[3866,6],[3984,6],[4035,6],[4203,6],[4397,6],[4475,6]]},"1217":{"position":[[3454,4],[3558,6],[3676,6],[3727,6],[3895,6],[4089,6],[4167,6]]},"1228":{"position":[[5535,4],[5639,6],[5757,6],[5808,6],[5976,6],[6170,6],[6248,6]]},"1390":{"position":[[1644,6]]},"1391":{"position":[[1597,6]]},"1392":{"position":[[1747,6]]},"1416":{"position":[[3574,6]]}},"keywords":{}}],["foo((foo",{"_index":5577,"title":{},"content":{"1084":{"position":[[282,10]]},"1088":{"position":[[1283,10]]}},"keywords":{}}],["foo.a'.package_nam",{"_index":8226,"title":{},"content":{"1457":{"position":[[1670,21]]}},"keywords":{}}],["foo.bar",{"_index":2621,"title":{},"content":{"575":{"position":[[195,9]]},"1385":{"position":[[7307,10]]},"1387":{"position":[[10686,10],[10995,7]]}},"keywords":{}}],["foo.bar.baz",{"_index":8326,"title":{},"content":{"1462":{"position":[[7115,11]]},"1467":{"position":[[8084,11]]}},"keywords":{}}],["foo.h",{"_index":7857,"title":{},"content":{"1416":{"position":[[3590,9]]}},"keywords":{}}],["foo.if",{"_index":5054,"title":{},"content":{"1014":{"position":[[358,9]]}},"keywords":{}}],["foo.project("bar")yield",{"_index":895,"title":{},"content":{"50":{"position":[[222,34]]},"197":{"position":[[222,34]]}},"keywords":{}}],["foo.trac",{"_index":5464,"title":{},"content":{"1061":{"position":[[369,9]]}},"keywords":{}}],["foo//bar/baz",{"_index":6022,"title":{},"content":{"1202":{"position":[[270,12],[5649,12]]}},"keywords":{}}],["foo//bar/baz/buck",{"_index":2211,"title":{},"content":{"414":{"position":[[165,17]]},"415":{"position":[[203,17]]},"425":{"position":[[163,17]]},"793":{"position":[[165,17]]},"794":{"position":[[203,17]]},"804":{"position":[[163,17]]}},"keywords":{}}],["foo//bar/packag",{"_index":2213,"title":{},"content":{"414":{"position":[[223,16]]},"425":{"position":[[221,16]]},"793":{"position":[[223,16]]},"804":{"position":[[221,16]]}},"keywords":{}}],["foo//bar:baz",{"_index":1357,"title":{},"content":{"131":{"position":[[366,13]]},"254":{"position":[[366,13]]}},"keywords":{}}],["foo//bar:baz.bzl",{"_index":6021,"title":{},"content":{"1202":{"position":[[168,16],[1235,16]]}},"keywords":{}}],["foo/bar",{"_index":877,"title":{},"content":{"46":{"position":[[80,8]]},"51":{"position":[[135,8],[152,8]]},"193":{"position":[[80,8]]},"198":{"position":[[135,8],[152,8]]},"1207":{"position":[[236,12]]}},"keywords":{}}],["foo/bar.d",{"_index":7424,"title":{},"content":{"1390":{"position":[[1929,13]]},"1391":{"position":[[1744,13]]}},"keywords":{}}],["foo/bar.d').test_rule_timeout_m",{"_index":7437,"title":{},"content":{"1392":{"position":[[2199,34]]}},"keywords":{}}],["foo/bar.sh",{"_index":880,"title":{},"content":{"47":{"position":[[86,11]]},"194":{"position":[[86,11]]}},"keywords":{}}],["foo/bar/bar",{"_index":7892,"title":{},"content":{"1422":{"position":[[2804,11]]}},"keywords":{}}],["foo/bar/buck",{"_index":5857,"title":{},"content":{"1134":{"position":[[273,13]]}},"keywords":{}}],["foo/bar/buckand",{"_index":2247,"title":{},"content":{"418":{"position":[[866,15]]},"797":{"position":[[866,15]]}},"keywords":{}}],["foo/bar/file.txt",{"_index":2246,"title":{},"content":{"418":{"position":[[831,16]]},"797":{"position":[[831,16]]}},"keywords":{}}],["foo/bar/lib:baz",{"_index":6268,"title":{},"content":{"1260":{"position":[[407,18]]},"1291":{"position":[[407,18]]},"1319":{"position":[[407,18]]}},"keywords":{}}],["foo/bar/lib:baz')"",{"_index":6273,"title":{},"content":{"1260":{"position":[[866,26]]},"1291":{"position":[[866,26]]},"1319":{"position":[[866,26]]}},"keywords":{}}],["foo/bar/lib:baz')"i",{"_index":6267,"title":{},"content":{"1260":{"position":[[252,28]]},"1291":{"position":[[252,28]]},"1319":{"position":[[252,28]]}},"keywords":{}}],["foo/bar/main.cpp",{"_index":5856,"title":{},"content":{"1134":{"position":[[214,16]]}},"keywords":{}}],["foo/baz/baz",{"_index":7894,"title":{},"content":{"1422":{"position":[[2831,11]]}},"keywords":{}}],["foo/baz:util'))"",{"_index":5846,"title":{},"content":{"1133":{"position":[[186,24]]}},"keywords":{}}],["foo/buck",{"_index":2243,"title":{},"content":{"418":{"position":[[706,8],[771,8],[915,9]]},"797":{"position":[[706,8],[771,8],[915,9]]}},"keywords":{}}],["foo/file.txt",{"_index":2245,"title":{},"content":{"418":{"position":[[740,12]]},"797":{"position":[[740,12]]}},"keywords":{}}],["foo:bar",{"_index":3860,"title":{},"content":{"840":{"position":[[830,10]]},"850":{"position":[[660,9]]},"945":{"position":[[898,7]]},"968":{"position":[[113,9]]},"1006":{"position":[[906,9],[983,9]]},"1228":{"position":[[364,9]]},"1240":{"position":[[60,9],[161,9],[271,9]]},"1260":{"position":[[335,10],[665,10]]},"1262":{"position":[[706,12],[793,10],[856,9]]},"1271":{"position":[[400,10]]},"1282":{"position":[[589,9]]},"1283":{"position":[[567,9]]},"1284":{"position":[[565,9]]},"1291":{"position":[[335,10],[665,10]]},"1293":{"position":[[706,12],[793,10],[856,9]]},"1302":{"position":[[400,10]]},"1313":{"position":[[589,9]]},"1314":{"position":[[567,9]]},"1315":{"position":[[565,9]]},"1319":{"position":[[335,10],[665,10]]},"1321":{"position":[[706,12],[793,10],[856,9]]},"1330":{"position":[[400,10]]},"1341":{"position":[[589,9]]},"1342":{"position":[[567,9]]},"1343":{"position":[[565,9]]}},"keywords":{}}],["foo:bar')"show",{"_index":6271,"title":{},"content":{"1260":{"position":[[569,23]]},"1291":{"position":[[569,23]]},"1319":{"position":[[569,23]]}},"keywords":{}}],["foo:bar').label",{"_index":7435,"title":{},"content":{"1392":{"position":[[1757,20]]}},"keywords":{}}],["foo:bar').linker_flag",{"_index":7422,"title":{},"content":{"1390":{"position":[[1654,26]]}},"keywords":{}}],["foo:bar').src",{"_index":7431,"title":{},"content":{"1391":{"position":[[1607,18]]}},"keywords":{}}],["foo:bar','//hello:world",{"_index":3703,"title":{},"content":{"708":{"position":[[1170,29]]}},"keywords":{}}],["foo:bar.bzl",{"_index":5956,"title":{},"content":{"1155":{"position":[[174,13],[208,15],[297,13]]}},"keywords":{}}],["foo:bar.bzl:baz",{"_index":5957,"title":{},"content":{"1155":{"position":[[224,17]]}},"keywords":{}}],["foo:bar@config//platform:linux",{"_index":4815,"title":{},"content":{"968":{"position":[[20,32]]}},"keywords":{}}],["foo:bar@releas",{"_index":4821,"title":{},"content":{"969":{"position":[[236,17]]}},"keywords":{}}],["foo:bar@release+gcc",{"_index":4824,"title":{},"content":{"969":{"position":[[358,21]]}},"keywords":{}}],["foo:baz?releas",{"_index":4679,"title":{},"content":{"942":{"position":[[969,18]]}},"keywords":{}}],["foo:foo",{"_index":7152,"title":{},"content":{"1382":{"position":[[4933,14]]},"1388":{"position":[[5627,14]]},"1442":{"position":[[1923,14]]}},"keywords":{}}],["foo:lib",{"_index":5845,"title":{},"content":{"1133":{"position":[[174,11]]}},"keywords":{}}],["foo_binari",{"_index":1960,"title":{},"content":{"368":{"position":[[1196,10],[1603,11]]},"747":{"position":[[1196,10],[1603,11]]}},"keywords":{}}],["foo_binary.bzl",{"_index":1942,"title":{},"content":{"368":{"position":[[675,16]]},"747":{"position":[[675,16]]}},"keywords":{}}],["foo_binary_wrapper(nam",{"_index":1972,"title":{},"content":{"368":{"position":[[1571,24],[1980,23]]},"747":{"position":[[1571,24],[1980,23]]}},"keywords":{}}],["foo_prime/bar",{"_index":7896,"title":{},"content":{"1422":{"position":[[2849,13]]}},"keywords":{}}],["food'.split('o",{"_index":2984,"title":{},"content":{"616":{"position":[[330,17]]}},"keywords":{}}],["fooinfo",{"_index":998,"title":{},"content":{"76":{"position":[[112,7],[206,7]]},"505":{"position":[[112,7],[206,7]]},"983":{"position":[[296,10]]}},"keywords":{}}],["fooon",{"_index":5457,"title":{},"content":{"1061":{"position":[[186,5]]}},"keywords":{}}],["footer",{"_index":5784,"title":{"1125":{"position":[[15,7]]}},"content":{},"keywords":{}}],["footprint",{"_index":6199,"title":{"1250":{"position":[[23,11]]}},"content":{"1256":{"position":[[62,9]]}},"keywords":{}}],["for_primary_apk",{"_index":6611,"title":{},"content":{"1358":{"position":[[666,16]]}},"keywords":{}}],["forc",{"_index":5068,"title":{},"content":{"1024":{"position":[[187,6]]},"1037":{"position":[[628,5]]},"1462":{"position":[[8692,5]]},"1465":{"position":[[3983,5]]},"1467":{"position":[[10175,5]]}},"keywords":{}}],["force_full_hybrid_if_cap",{"_index":1183,"title":{},"content":{"94":{"position":[[956,29],[3583,30]]},"226":{"position":[[956,29],[3583,30]]}},"keywords":{}}],["force_stat",{"_index":6725,"title":{},"content":{"1362":{"position":[[2035,13]]},"1364":{"position":[[2017,13]]},"1367":{"position":[[3226,13]]},"1384":{"position":[[1831,13]]},"1387":{"position":[[1910,13]]},"1454":{"position":[[1282,13]]}},"keywords":{}}],["fordict.key",{"_index":6221,"title":{},"content":{"1254":{"position":[[658,14]]}},"keywords":{}}],["fordynam",{"_index":3835,"title":{},"content":{"835":{"position":[[26,10]]}},"keywords":{}}],["forev",{"_index":3887,"title":{},"content":{"846":{"position":[[709,9]]}},"keywords":{}}],["forexpand",{"_index":5613,"title":{},"content":{"1093":{"position":[[393,9]]}},"keywords":{}}],["forexported_head",{"_index":3403,"title":{},"content":{"680":{"position":[[564,19]]}},"keywords":{}}],["forgenrul",{"_index":5839,"title":{},"content":{"1132":{"position":[[354,10]]}},"keywords":{}}],["fork",{"_index":4768,"title":{},"content":{"958":{"position":[[122,4]]}},"keywords":{}}],["fork="yes"",{"_index":7995,"title":{},"content":{"1429":{"position":[[4208,20]]},"1440":{"position":[[4201,20]]}},"keywords":{}}],["fork_mod",{"_index":7811,"title":{},"content":{"1413":{"position":[[889,10]]},"1429":{"position":[[1109,10],[3970,10]]},"1440":{"position":[[1223,10],[3963,10]]},"1470":{"position":[[1274,10]]},"1475":{"position":[[885,10]]}},"keywords":{}}],["forloop",{"_index":2513,"title":{},"content":{"555":{"position":[[230,8]]}},"keywords":{}}],["form",{"_index":2070,"title":{},"content":{"389":{"position":[[605,4]]},"595":{"position":[[893,4],[1020,5]]},"604":{"position":[[142,6]]},"617":{"position":[[230,6]]},"662":{"position":[[663,6]]},"673":{"position":[[129,6]]},"695":{"position":[[277,4]]},"768":{"position":[[605,4]]},"841":{"position":[[143,4]]},"872":{"position":[[46,4]]},"919":{"position":[[1023,4]]},"1014":{"position":[[737,4]]},"1040":{"position":[[637,4],[834,4]]},"1045":{"position":[[91,5]]},"1050":{"position":[[3648,4]]},"1083":{"position":[[32,4]]},"1084":{"position":[[16,4]]},"1136":{"position":[[6666,4]]},"1138":{"position":[[10328,4]]},"1140":{"position":[[184,4],[9254,4]]},"1142":{"position":[[4698,4]]},"1144":{"position":[[1026,4]]},"1146":{"position":[[4638,4]]},"1148":{"position":[[8229,4]]},"1150":{"position":[[1261,4]]},"1152":{"position":[[959,4]]},"1154":{"position":[[1114,4]]},"1155":{"position":[[4734,4]]},"1156":{"position":[[4312,4]]},"1157":{"position":[[897,4]]},"1158":{"position":[[891,4]]},"1159":{"position":[[891,4]]},"1161":{"position":[[1886,4]]},"1163":{"position":[[1272,4]]},"1165":{"position":[[1101,4]]},"1167":{"position":[[10258,4]]},"1169":{"position":[[3366,4]]},"1171":{"position":[[1607,4]]},"1172":{"position":[[566,4],[2992,4]]},"1173":{"position":[[1679,4]]},"1174":{"position":[[1107,4]]},"1175":{"position":[[1103,4]]},"1176":{"position":[[1272,4]]},"1177":{"position":[[1193,4]]},"1178":{"position":[[1510,4]]},"1179":{"position":[[1307,4]]},"1180":{"position":[[1578,4]]},"1181":{"position":[[2098,4]]},"1182":{"position":[[1141,4]]},"1183":{"position":[[1096,4]]},"1185":{"position":[[941,4]]},"1186":{"position":[[5902,4]]},"1187":{"position":[[5915,4]]},"1188":{"position":[[237,4],[10641,4]]},"1190":{"position":[[2272,4]]},"1191":{"position":[[4502,4]]},"1192":{"position":[[4677,4]]},"1193":{"position":[[127,4],[4729,4]]},"1194":{"position":[[4369,4]]},"1195":{"position":[[4347,4]]},"1196":{"position":[[4157,4]]},"1197":{"position":[[5140,4]]},"1198":{"position":[[5150,4]]},"1199":{"position":[[5178,4]]},"1200":{"position":[[5045,4]]},"1201":{"position":[[4305,4]]},"1202":{"position":[[1049,4],[5447,4],[9844,4]]},"1203":{"position":[[4539,4]]},"1204":{"position":[[4383,4],[5285,4],[6215,4],[7117,4],[8103,4],[9057,4],[10004,4],[10934,4]]},"1205":{"position":[[5712,4]]},"1206":{"position":[[4411,4]]},"1207":{"position":[[4340,4]]},"1209":{"position":[[5688,4]]},"1211":{"position":[[1012,4]]},"1213":{"position":[[783,4]]},"1215":{"position":[[867,4]]},"1217":{"position":[[8999,4]]},"1219":{"position":[[4254,4]]},"1221":{"position":[[986,4]]},"1222":{"position":[[4125,4]]},"1223":{"position":[[4135,4]]},"1224":{"position":[[3568,4]]},"1226":{"position":[[9467,4]]},"1228":{"position":[[11080,4]]},"1233":{"position":[[194,4]]},"1235":{"position":[[229,5],[6948,4]]},"1237":{"position":[[9637,4]]},"1241":{"position":[[142,4]]},"1260":{"position":[[86,6]]},"1291":{"position":[[86,6]]},"1319":{"position":[[86,6]]},"1385":{"position":[[1958,6]]},"1387":{"position":[[4309,6]]},"1457":{"position":[[1665,4]]}},"keywords":{}}],["format",{"_index":976,"title":{"573":{"position":[[39,7]]},"894":{"position":[[16,7]]},"1123":{"position":[[10,7]]}},"content":{"69":{"position":[[558,6]]},"90":{"position":[[238,7]]},"92":{"position":[[1222,8]]},"99":{"position":[[1319,9]]},"222":{"position":[[238,7]]},"224":{"position":[[1222,8]]},"231":{"position":[[1319,9]]},"334":{"position":[[479,6]]},"405":{"position":[[533,7],[1405,6]]},"406":{"position":[[360,6]]},"408":{"position":[[1096,6]]},"457":{"position":[[558,6]]},"474":{"position":[[218,6]]},"573":{"position":[[38,7],[227,7]]},"577":{"position":[[26,6]]},"580":{"position":[[94,6]]},"595":{"position":[[61,6],[129,6],[238,6],[490,6],[599,6],[1246,6]]},"635":{"position":[[61,11]]},"664":{"position":[[32,7]]},"668":{"position":[[30,7]]},"784":{"position":[[533,7],[1405,6]]},"785":{"position":[[360,6]]},"787":{"position":[[1096,6]]},"865":{"position":[[403,7]]},"870":{"position":[[1114,6]]},"872":{"position":[[424,6]]},"873":{"position":[[610,6]]},"954":{"position":[[318,7]]},"975":{"position":[[214,6],[369,6]]},"976":{"position":[[187,6]]},"995":{"position":[[608,6]]},"1030":{"position":[[248,6]]},"1032":{"position":[[43,6],[264,6],[373,6]]},"1040":{"position":[[1648,8]]},"1050":{"position":[[2082,6],[3498,6]]},"1082":{"position":[[770,6]]},"1113":{"position":[[4,6]]},"1123":{"position":[[86,7]]},"1126":{"position":[[126,6]]},"1127":{"position":[[102,7]]},"1131":{"position":[[521,7]]},"1136":{"position":[[1980,6],[2016,6],[2062,6],[2096,6],[2148,6],[2188,7],[2237,7],[2257,7],[3038,9],[6013,6]]},"1138":{"position":[[595,6],[667,6],[1447,6],[6700,9],[9675,6]]},"1140":{"position":[[656,6],[5626,9],[8601,6]]},"1142":{"position":[[572,7],[1070,9],[4045,6]]},"1146":{"position":[[1010,9],[3985,6]]},"1148":{"position":[[2336,6],[2372,6],[2418,6],[2452,6],[2504,6],[2544,7],[2593,7],[2613,7],[4050,9],[7025,6]]},"1155":{"position":[[527,6],[556,6],[1106,9],[4081,6]]},"1156":{"position":[[684,9],[3659,6]]},"1157":{"position":[[91,6],[120,6]]},"1158":{"position":[[85,6],[114,6]]},"1159":{"position":[[85,6],[114,6]]},"1163":{"position":[[619,6]]},"1165":{"position":[[448,6]]},"1167":{"position":[[6630,9],[9605,6]]},"1169":{"position":[[469,9],[2713,6]]},"1171":{"position":[[307,6],[780,6]]},"1172":{"position":[[1187,6],[1222,6]]},"1173":{"position":[[117,7],[487,6],[522,6]]},"1175":{"position":[[24,6]]},"1178":{"position":[[689,6],[724,6]]},"1179":{"position":[[427,6],[462,6]]},"1180":{"position":[[757,6],[792,6]]},"1182":{"position":[[82,6]]},"1186":{"position":[[2274,9],[5249,6]]},"1187":{"position":[[2287,9],[5262,6]]},"1188":{"position":[[709,6],[7013,9],[9988,6]]},"1191":{"position":[[262,6],[874,9],[3849,6]]},"1192":{"position":[[396,6],[1049,9],[4024,6]]},"1193":{"position":[[419,6],[1101,9],[4076,6]]},"1194":{"position":[[741,9],[3716,6]]},"1195":{"position":[[719,9],[3694,6]]},"1196":{"position":[[529,9],[3504,6]]},"1197":{"position":[[281,6],[1512,9],[4487,6]]},"1198":{"position":[[1522,9],[4497,6]]},"1199":{"position":[[1550,9],[4525,6]]},"1200":{"position":[[1417,9],[4392,6]]},"1201":{"position":[[677,9],[3652,6]]},"1202":{"position":[[1819,9],[4794,6],[6216,9],[9191,6]]},"1203":{"position":[[911,9],[3886,6]]},"1204":{"position":[[755,9],[3730,6]]},"1205":{"position":[[2084,9],[5059,6]]},"1206":{"position":[[555,9],[3530,6]]},"1207":{"position":[[712,9],[3687,6]]},"1209":{"position":[[1213,6],[1249,6],[1295,6],[1329,6],[1381,6],[1421,7],[1470,7],[1490,7],[2060,9],[5035,6]]},"1217":{"position":[[615,9],[5371,9],[8346,6]]},"1219":{"position":[[304,6],[903,6],[1357,9],[3601,6]]},"1222":{"position":[[481,9],[3456,6]]},"1223":{"position":[[491,9],[3466,6]]},"1224":{"position":[[671,9],[2915,6]]},"1226":{"position":[[3774,6],[3846,6],[5839,9],[8814,6]]},"1228":{"position":[[1684,6],[7452,9],[10427,6]]},"1235":{"position":[[2473,6],[2509,6],[2555,6],[2589,6],[2641,6],[2681,7],[2730,7],[2750,7],[3320,9],[6295,6]]},"1237":{"position":[[3944,6],[4016,6],[6009,9],[8984,6]]},"1348":{"position":[[3933,6],[4504,7]]},"1358":{"position":[[2884,7]]},"1381":{"position":[[2235,6]]},"1384":{"position":[[7655,6]]},"1393":{"position":[[6284,6]]},"1415":{"position":[[2574,6]]},"1416":{"position":[[3337,6]]},"1420":{"position":[[2474,6]]},"1448":{"position":[[2420,6]]},"1449":{"position":[[2354,6]]},"1454":{"position":[[6055,6]]},"1455":{"position":[[2826,6]]}},"keywords":{}}],["format="",{"_index":2143,"title":{},"content":{"405":{"position":[[1463,13]]},"408":{"position":[[563,13]]},"784":{"position":[[1463,13]]},"787":{"position":[[563,13]]}},"keywords":{}}],["format=dot",{"_index":6272,"title":{},"content":{"1260":{"position":[[724,10],[902,10]]},"1291":{"position":[[724,10],[902,10]]},"1319":{"position":[[724,10],[902,10]]}},"keywords":{}}],["former",{"_index":3902,"title":{},"content":{"848":{"position":[[282,6]]}},"keywords":{}}],["formhash:s",{"_index":4299,"title":{},"content":{"895":{"position":[[615,14]]}},"keywords":{}}],["forrun",{"_index":4052,"title":{},"content":{"869":{"position":[[612,10]]}},"keywords":{}}],["fortun",{"_index":7283,"title":{},"content":{"1386":{"position":[[5339,12]]}},"keywords":{}}],["forward",{"_index":1572,"title":{},"content":{"286":{"position":[[103,7],[134,7],[324,9]]},"675":{"position":[[583,7]]},"892":{"position":[[1598,9]]},"1044":{"position":[[2478,7]]},"1167":{"position":[[422,9],[570,9],[719,9],[898,9],[1072,9],[1260,9],[1439,9],[1603,9],[1773,9],[1920,9]]},"1224":{"position":[[52,8]]},"1362":{"position":[[6991,7],[8753,7],[9079,7]]},"1364":{"position":[[7230,7],[9364,7],[9867,7],[10193,7]]},"1367":{"position":[[8841,7],[9167,7]]},"1373":{"position":[[4778,7]]},"1382":{"position":[[5523,7],[5848,7]]},"1384":{"position":[[6735,7],[10470,7],[10795,7]]},"1385":{"position":[[3437,7],[3761,7]]},"1387":{"position":[[5770,7],[6094,7]]},"1388":{"position":[[6717,7]]},"1398":{"position":[[5851,8]]},"1422":{"position":[[2101,7]]},"1454":{"position":[[5439,7],[7374,7]]},"1485":{"position":[[1805,7],[2129,7]]}},"keywords":{}}],["forward(a",{"_index":4277,"title":{},"content":{"892":{"position":[[1014,10],[1477,10],[1704,10]]}},"keywords":{}}],["forward(a)nod",{"_index":4278,"title":{},"content":{"892":{"position":[[1278,15]]}},"keywords":{}}],["forward(b",{"_index":4279,"title":{},"content":{"892":{"position":[[1461,10],[1688,10]]}},"keywords":{}}],["forwarded).fallback_actu",{"_index":4970,"title":{},"content":{"995":{"position":[[241,26]]}},"keywords":{}}],["found",{"_index":438,"title":{},"content":{"15":{"position":[[43,5]]},"17":{"position":[[1275,5]]},"36":{"position":[[123,5]]},"181":{"position":[[123,5]]},"243":{"position":[[438,5]]},"338":{"position":[[464,6]]},"557":{"position":[[643,5]]},"566":{"position":[[565,5]]},"569":{"position":[[403,6],[476,5]]},"581":{"position":[[627,5]]},"594":{"position":[[445,6],[452,5]]},"596":{"position":[[161,6],[319,6],[502,5]]},"612":{"position":[[163,6],[522,5]]},"718":{"position":[[184,6]]},"839":{"position":[[20,5]]},"847":{"position":[[105,5],[331,5]]},"848":{"position":[[431,5],[543,5],[742,5]]},"884":{"position":[[66,5]]},"895":{"position":[[325,5]]},"897":{"position":[[116,6]]},"905":{"position":[[1098,5]]},"906":{"position":[[435,5]]},"1044":{"position":[[656,5]]},"1082":{"position":[[171,5]]},"1112":{"position":[[1143,5]]},"1172":{"position":[[1171,5]]},"1173":{"position":[[471,5]]},"1174":{"position":[[375,5]]},"1175":{"position":[[395,5]]},"1176":{"position":[[479,5]]},"1177":{"position":[[391,5]]},"1178":{"position":[[545,5]]},"1179":{"position":[[411,5]]},"1180":{"position":[[741,5]]},"1181":{"position":[[496,5]]},"1182":{"position":[[433,5]]},"1183":{"position":[[388,5]]},"1232":{"position":[[3302,5]]},"1273":{"position":[[546,6],[595,5]]},"1304":{"position":[[546,6],[595,5]]},"1332":{"position":[[546,6],[595,5]]},"1345":{"position":[[42,5]]},"1356":{"position":[[740,5]]},"1412":{"position":[[3550,5]]},"1461":{"position":[[2016,5]]},"1462":{"position":[[8498,5]]},"1467":{"position":[[9980,5]]},"1487":{"position":[[3154,5],[3317,5],[3786,5]]}},"keywords":{}}],["found_satisfied_constraint",{"_index":5094,"title":{},"content":{"1026":{"position":[[1257,26],[1365,26],[1412,27]]}},"keywords":{}}],["four",{"_index":196,"title":{},"content":{"9":{"position":[[554,4]]},"389":{"position":[[877,4]]},"768":{"position":[[877,4]]},"892":{"position":[[1997,4]]},"898":{"position":[[2590,4]]}},"keywords":{}}],["fpic",{"_index":7277,"title":{},"content":{"1386":{"position":[[3883,7],[5061,4]]}},"keywords":{}}],["frame",{"_index":3083,"title":{},"content":{"632":{"position":[[241,6]]},"633":{"position":[[112,6]]},"1231":{"position":[[508,5]]},"1384":{"position":[[21461,5],[21849,5]]},"1385":{"position":[[7376,5]]}},"keywords":{}}],["framework",{"_index":1941,"title":{"951":{"position":[[34,11]]}},"content":{"368":{"position":[[662,10]]},"747":{"position":[[662,10]]},"860":{"position":[[562,9]]},"951":{"position":[[21,9],[1409,9]]},"1362":{"position":[[2066,11],[8059,11],[8088,10],[13946,10]]},"1364":{"position":[[2048,11],[8908,11],[8937,10],[14672,10]]},"1367":{"position":[[3257,11],[8147,11],[8176,10],[14525,10]]},"1373":{"position":[[1050,11]]},"1380":{"position":[[584,10]]},"1381":{"position":[[2074,9]]},"1382":{"position":[[1182,11]]},"1384":{"position":[[1862,11]]},"1385":{"position":[[638,11]]},"1387":{"position":[[1941,11]]},"1388":{"position":[[1340,10],[1367,11],[3516,9],[6455,10]]},"1415":{"position":[[828,11]]},"1429":{"position":[[6063,9]]},"1440":{"position":[[5963,9]]},"1453":{"position":[[631,10],[658,11],[1931,9]]},"1454":{"position":[[1306,11]]},"1462":{"position":[[1603,11]]},"1467":{"position":[[1739,11],[5063,10]]},"1473":{"position":[[997,10],[3840,10],[3873,10],[4082,10]]},"1480":{"position":[[537,11]]}},"keywords":{}}],["framework_v",{"_index":7120,"title":{},"content":{"1381":{"position":[[522,14],[2593,13]]},"1456":{"position":[[1656,13]]}},"keywords":{}}],["frecli",{"_index":4300,"title":{},"content":{"895":{"position":[[634,6]]},"1172":{"position":[[584,6]]}},"keywords":{}}],["free",{"_index":159,"title":{},"content":{"7":{"position":[[370,4]]},"938":{"position":[[5,4]]},"1102":{"position":[[1055,4]]}},"keywords":{}}],["freebsdlinuxmacoswindow",{"_index":7085,"title":{},"content":{"1374":{"position":[[2586,24]]}},"keywords":{}}],["freeli",{"_index":207,"title":{},"content":{"9":{"position":[[832,7]]},"898":{"position":[[1165,7]]}},"keywords":{}}],["freez",{"_index":4145,"title":{},"content":{"887":{"position":[[271,7]]},"888":{"position":[[1309,8]]},"890":{"position":[[6313,8],[6373,6],[6584,6],[6717,7]]}},"keywords":{}}],["frequenc",{"_index":6101,"title":{},"content":{"1231":{"position":[[790,10]]}},"keywords":{}}],["frequent",{"_index":5543,"title":{},"content":{"1079":{"position":[[845,10]]},"1358":{"position":[[2287,10]]},"1386":{"position":[[3372,10]]},"1429":{"position":[[5434,10]]},"1440":{"position":[[5428,10]]},"1458":{"position":[[1063,11],[2417,10]]}},"keywords":{}}],["fresh",{"_index":5120,"title":{},"content":{"1035":{"position":[[266,5]]}},"keywords":{}}],["friend",{"_index":5702,"title":{},"content":{"1106":{"position":[[46,8]]},"1439":{"position":[[4518,6]]}},"keywords":{}}],["friend_path",{"_index":6349,"title":{},"content":{"1348":{"position":[[1167,13]]},"1355":{"position":[[1134,13]]},"1439":{"position":[[1059,13],[4447,13]]},"1440":{"position":[[1243,13]]},"1470":{"position":[[1294,13]]}},"keywords":{}}],["from.get("value").unwrap",{"_index":4182,"title":{},"content":{"889":{"position":[[346,37]]}},"keywords":{}}],["from_nod",{"_index":4407,"title":{},"content":{"904":{"position":[[958,9],[1225,9]]},"905":{"position":[[893,9],[991,10]]},"906":{"position":[[1083,9],[1187,10]]}},"keywords":{}}],["fromctx.bxl_actions().act",{"_index":3716,"title":{},"content":{"711":{"position":[[1032,30]]}},"keywords":{}}],["fromexported_dep",{"_index":6931,"title":{},"content":{"1364":{"position":[[13260,17]]},"1384":{"position":[[18191,17]]}},"keywords":{}}],["frompackag",{"_index":4987,"title":{},"content":{"1000":{"position":[[717,11]]}},"keywords":{}}],["fromprovid",{"_index":3925,"title":{},"content":{"852":{"position":[[63,16]]},"853":{"position":[[68,15]]}},"keywords":{}}],["fromrepo//foo:bar'",{"_index":4687,"title":{},"content":{"943":{"position":[[1155,19]]}},"keywords":{}}],["fromruninfo",{"_index":5660,"title":{},"content":{"1104":{"position":[[1203,12]]}},"keywords":{}}],["front",{"_index":7617,"title":{},"content":{"1398":{"position":[[3636,5]]}},"keywords":{}}],["frozen",{"_index":2498,"title":{},"content":{"553":{"position":[[158,6]]},"557":{"position":[[394,6]]},"558":{"position":[[248,7]]},"559":{"position":[[501,7]]},"560":{"position":[[737,7]]},"563":{"position":[[160,6]]},"564":{"position":[[145,6]]},"565":{"position":[[266,6]]},"567":{"position":[[439,6]]},"568":{"position":[[306,6]]},"569":{"position":[[218,7]]},"887":{"position":[[145,6]]},"890":{"position":[[1038,7],[1817,6],[2699,7],[3454,6],[3517,7],[5329,7],[5438,6]]},"898":{"position":[[422,9],[696,6],[739,6],[786,6],[1140,6],[1474,6]]},"1001":{"position":[[476,6]]},"1064":{"position":[[574,6]]},"1186":{"position":[[566,6],[710,6]]},"1187":{"position":[[579,6],[723,6]]},"1188":{"position":[[5305,6],[5449,6]]}},"keywords":{}}],["frozen(frozennam",{"_index":4236,"title":{},"content":{"890":{"position":[[4135,20]]}},"keywords":{}}],["frozen(frozenslot",{"_index":4221,"title":{},"content":{"890":{"position":[[2486,20]]}},"keywords":{}}],["frozen.stat",{"_index":5362,"title":{},"content":{"1056":{"position":[[1072,17]]}},"keywords":{}}],["frozen.th",{"_index":4235,"title":{},"content":{"890":{"position":[[3758,10]]}},"keywords":{}}],["frozen.tim",{"_index":5360,"title":{},"content":{"1056":{"position":[[829,11]]}},"keywords":{}}],["frozen.via",{"_index":4233,"title":{},"content":{"890":{"position":[[3370,10]]}},"keywords":{}}],["frozencontext",{"_index":4249,"title":{},"content":{"890":{"position":[[5457,14],[5479,13]]}},"keywords":{}}],["frozenheap",{"_index":4135,"title":{},"content":{"886":{"position":[[142,10],[239,10],[413,10],[473,10],[534,11]]},"887":{"position":[[337,10],[362,10],[477,10]]},"888":{"position":[[483,10],[1332,11]]},"889":{"position":[[786,10]]}},"keywords":{}}],["frozenheap::new",{"_index":4157,"title":{},"content":{"888":{"position":[[265,18]]}},"keywords":{}}],["frozenheapref",{"_index":4137,"title":{},"content":{"886":{"position":[[220,13],[308,13]]},"887":{"position":[[541,14]]},"888":{"position":[[329,13]]},"889":{"position":[[103,13]]}},"keywords":{}}],["frozenheapref'",{"_index":4141,"title":{},"content":{"886":{"position":[[506,15]]}},"keywords":{}}],["frozenheapref.a",{"_index":4149,"title":{},"content":{"887":{"position":[[435,15]]}},"keywords":{}}],["frozenmodul",{"_index":4148,"title":{},"content":{"887":{"position":[[411,12]]},"889":{"position":[[28,13]]}},"keywords":{}}],["frozenmodulethat",{"_index":4174,"title":{},"content":{"888":{"position":[[1271,16]]}},"keywords":{}}],["frozennam",{"_index":4250,"title":{},"content":{"890":{"position":[[5502,12]]}},"keywords":{}}],["frozennames(arc<hashmap<str",{"_index":4239,"title":{},"content":{"890":{"position":[[4227,37]]}},"keywords":{}}],["frozenslots(arc<vec<option<frozenvalue>>>",{"_index":4223,"title":{},"content":{"890":{"position":[[2580,61]]}},"keywords":{}}],["frozenvalu",{"_index":4139,"title":{},"content":{"886":{"position":[[359,12]]},"888":{"position":[[28,11],[787,11]]},"889":{"position":[[123,12],[822,12],[920,12],[1164,11],[1258,11]]},"898":{"position":[[2123,11],[2796,11]]}},"keywords":{}}],["frozenvalue'",{"_index":4136,"title":{},"content":{"886":{"position":[[157,13]]}},"keywords":{}}],["fsck",{"_index":6027,"title":{},"content":{"1204":{"position":[[160,4],[6344,5],[6399,4]]}},"keywords":{}}],["full",{"_index":1149,"title":{},"content":{"92":{"position":[[1924,4]]},"224":{"position":[[1924,4]]},"570":{"position":[[521,4]]},"635":{"position":[[50,4]]},"1013":{"position":[[137,4]]},"1057":{"position":[[887,4]]},"1138":{"position":[[246,4],[431,4],[609,4]]},"1172":{"position":[[1673,4]]},"1173":{"position":[[973,4]]},"1226":{"position":[[3425,4],[3610,4],[3788,4]]},"1237":{"position":[[3595,4],[3780,4],[3958,4]]},"1240":{"position":[[392,4],[413,4],[434,4]]},"1373":{"position":[[5750,4]]},"1384":{"position":[[18364,4]]},"1386":{"position":[[5990,4]]},"1399":{"position":[[1557,4]]},"1408":{"position":[[2114,4]]},"1410":{"position":[[4274,4]]},"1457":{"position":[[1701,4]]},"1472":{"position":[[5680,4]]}},"keywords":{}}],["full_failed_command",{"_index":5912,"title":{},"content":{"1136":{"position":[[6324,20]]},"1138":{"position":[[9986,20]]},"1140":{"position":[[8912,20]]},"1142":{"position":[[4356,20]]},"1144":{"position":[[684,20]]},"1146":{"position":[[4296,20]]},"1148":{"position":[[7887,20]]},"1150":{"position":[[919,20]]},"1152":{"position":[[617,20]]},"1154":{"position":[[772,20]]},"1155":{"position":[[4392,20]]},"1156":{"position":[[3970,20]]},"1157":{"position":[[555,20]]},"1158":{"position":[[549,20]]},"1159":{"position":[[549,20]]},"1161":{"position":[[1544,20]]},"1163":{"position":[[930,20]]},"1165":{"position":[[759,20]]},"1167":{"position":[[9916,20]]},"1169":{"position":[[3024,20]]},"1171":{"position":[[1265,20]]},"1172":{"position":[[2650,20]]},"1173":{"position":[[1337,20]]},"1174":{"position":[[765,20]]},"1175":{"position":[[761,20]]},"1176":{"position":[[930,20]]},"1177":{"position":[[851,20]]},"1178":{"position":[[1168,20]]},"1179":{"position":[[965,20]]},"1180":{"position":[[1236,20]]},"1181":{"position":[[1756,20]]},"1182":{"position":[[799,20]]},"1183":{"position":[[754,20]]},"1185":{"position":[[599,20]]},"1186":{"position":[[5560,20]]},"1187":{"position":[[5573,20]]},"1188":{"position":[[10299,20]]},"1190":{"position":[[1930,20]]},"1191":{"position":[[4160,20]]},"1192":{"position":[[4335,20]]},"1193":{"position":[[4387,20]]},"1194":{"position":[[4027,20]]},"1195":{"position":[[4005,20]]},"1196":{"position":[[3815,20]]},"1197":{"position":[[4798,20]]},"1198":{"position":[[4808,20]]},"1199":{"position":[[4836,20]]},"1200":{"position":[[4703,20]]},"1201":{"position":[[3963,20]]},"1202":{"position":[[707,20],[5105,20],[9502,20]]},"1203":{"position":[[4197,20]]},"1204":{"position":[[4041,20],[4943,20],[5873,20],[6775,20],[7761,20],[8715,20],[9662,20],[10592,20]]},"1205":{"position":[[5370,20]]},"1206":{"position":[[4069,20]]},"1207":{"position":[[3998,20]]},"1209":{"position":[[5346,20]]},"1211":{"position":[[670,20]]},"1213":{"position":[[441,20]]},"1215":{"position":[[525,20]]},"1217":{"position":[[8657,20]]},"1219":{"position":[[3912,20]]},"1221":{"position":[[644,20]]},"1222":{"position":[[3783,20]]},"1223":{"position":[[3793,20]]},"1224":{"position":[[3226,20]]},"1226":{"position":[[9125,20]]},"1228":{"position":[[10738,20]]},"1235":{"position":[[6606,20]]},"1237":{"position":[[9295,20]]}},"keywords":{}}],["fulli",{"_index":1563,"title":{},"content":{"284":{"position":[[98,5]]},"334":{"position":[[675,5]]},"463":{"position":[[52,5]]},"474":{"position":[[414,5]]},"484":{"position":[[88,5]]},"675":{"position":[[186,5]]},"693":{"position":[[3472,5]]},"699":{"position":[[146,5]]},"1079":{"position":[[235,5]]},"1148":{"position":[[217,5]]},"1202":{"position":[[133,5],[1200,5]]},"1226":{"position":[[300,5]]},"1237":{"position":[[470,5]]},"1269":{"position":[[67,5]]},"1300":{"position":[[67,5]]},"1328":{"position":[[67,5]]},"1386":{"position":[[5173,5]]},"1427":{"position":[[7951,5]]},"1439":{"position":[[8775,5]]},"1462":{"position":[[7089,5]]},"1467":{"position":[[8058,5]]}},"keywords":{}}],["fun",{"_index":313,"title":{},"content":{"10":{"position":[[109,4]]}},"keywords":{}}],["func",{"_index":2363,"title":{},"content":{"441":{"position":[[18,5]]},"442":{"position":[[19,5]]},"643":{"position":[[12,5]]},"657":{"position":[[13,5]]},"820":{"position":[[18,5]]},"821":{"position":[[19,5]]}},"keywords":{}}],["func1",{"_index":4772,"title":{},"content":{"961":{"position":[[471,5]]},"966":{"position":[[313,5]]}},"keywords":{}}],["func2",{"_index":4776,"title":{},"content":{"961":{"position":[[558,5]]},"966":{"position":[[530,5]]}},"keywords":{}}],["function",{"_index":613,"title":{"843":{"position":[[11,16]]},"961":{"position":[[15,9]]},"979":{"position":[[31,8]]},"1009":{"position":[[37,8]]},"1259":{"position":[[13,10]]},"1285":{"position":[[6,10]]},"1290":{"position":[[13,10]]},"1318":{"position":[[13,10]]}},"content":{"20":{"position":[[276,9],[356,9],[432,9],[519,10],[566,9]]},"22":{"position":[[200,12]]},"29":{"position":[[72,8]]},"30":{"position":[[111,8]]},"31":{"position":[[94,8]]},"71":{"position":[[62,9]]},"92":{"position":[[675,9],[716,8],[872,8],[1486,8],[1648,8],[1809,8],[2453,8]]},"119":{"position":[[108,8]]},"171":{"position":[[124,10]]},"185":{"position":[[72,8]]},"186":{"position":[[111,8]]},"187":{"position":[[94,8]]},"224":{"position":[[675,9],[716,8],[872,8],[1486,8],[1648,8],[1809,8],[2453,8]]},"243":{"position":[[368,9]]},"276":{"position":[[563,8]]},"277":{"position":[[511,8]]},"281":{"position":[[652,8]]},"282":{"position":[[602,8]]},"295":{"position":[[146,10],[162,8]]},"296":{"position":[[95,10]]},"297":{"position":[[1100,8]]},"298":{"position":[[681,9],[804,9]]},"299":{"position":[[100,8]]},"301":{"position":[[879,8]]},"302":{"position":[[146,10],[162,8]]},"305":{"position":[[352,8]]},"307":{"position":[[95,8]]},"310":{"position":[[795,8]]},"312":{"position":[[94,10]]},"314":{"position":[[224,8]]},"344":{"position":[[294,8]]},"368":{"position":[[616,8]]},"400":{"position":[[458,9]]},"405":{"position":[[914,8]]},"408":{"position":[[241,8]]},"414":{"position":[[269,8]]},"416":{"position":[[402,8]]},"417":{"position":[[632,8]]},"418":{"position":[[123,8]]},"419":{"position":[[50,8]]},"421":{"position":[[398,8]]},"422":{"position":[[288,8]]},"430":{"position":[[176,9]]},"432":{"position":[[104,8]]},"438":{"position":[[134,8],[223,8]]},"441":{"position":[[140,9]]},"442":{"position":[[93,9]]},"443":{"position":[[121,8]]},"446":{"position":[[271,8]]},"494":{"position":[[62,9]]},"535":{"position":[[108,8]]},"551":{"position":[[124,10]]},"582":{"position":[[404,13]]},"642":{"position":[[102,9]]},"643":{"position":[[196,8]]},"653":{"position":[[88,8]]},"654":{"position":[[270,8]]},"657":{"position":[[46,8]]},"663":{"position":[[27,8],[943,9]]},"666":{"position":[[379,8],[482,9]]},"680":{"position":[[753,13],[942,13],[1024,14]]},"687":{"position":[[34,9],[195,13]]},"693":{"position":[[6492,9],[7058,9]]},"711":{"position":[[120,9],[780,10],[807,8],[952,9]]},"712":{"position":[[740,8],[1379,8],[2109,8],[3015,8]]},"715":{"position":[[915,9]]},"747":{"position":[[616,8]]},"779":{"position":[[458,9]]},"784":{"position":[[914,8]]},"787":{"position":[[241,8]]},"793":{"position":[[269,8]]},"795":{"position":[[402,8]]},"796":{"position":[[632,8]]},"797":{"position":[[123,8]]},"798":{"position":[[50,8]]},"800":{"position":[[398,8]]},"801":{"position":[[288,8]]},"809":{"position":[[176,9]]},"811":{"position":[[104,8]]},"817":{"position":[[134,8],[223,8]]},"820":{"position":[[140,9]]},"821":{"position":[[93,9]]},"822":{"position":[[121,8]]},"825":{"position":[[271,8]]},"832":{"position":[[223,8]]},"835":{"position":[[312,9]]},"839":{"position":[[113,16]]},"840":{"position":[[203,8],[636,9],[1161,8],[1282,9],[1426,9],[1789,9]]},"841":{"position":[[13,9],[254,8],[322,8],[512,9]]},"844":{"position":[[118,9]]},"847":{"position":[[227,17]]},"850":{"position":[[6,8],[679,10]]},"864":{"position":[[954,8]]},"874":{"position":[[28,15]]},"878":{"position":[[104,9],[653,8]]},"890":{"position":[[1230,8],[1840,9],[2159,10],[3769,8],[4669,8],[4693,8],[4876,8],[4920,9],[5246,9],[5406,8]]},"898":{"position":[[1235,10],[1761,9],[1885,9]]},"900":{"position":[[408,9]]},"904":{"position":[[90,9],[104,8],[834,10]]},"905":{"position":[[11,9],[164,8],[232,8],[341,13],[1391,10]]},"915":{"position":[[21,9]]},"940":{"position":[[70,8],[402,8]]},"944":{"position":[[105,8]]},"950":{"position":[[555,9],[608,9]]},"951":{"position":[[964,9],[1052,8],[1260,8]]},"961":{"position":[[713,9],[859,8]]},"962":{"position":[[19,9]]},"964":{"position":[[314,9]]},"965":{"position":[[36,8],[84,8],[433,8]]},"980":{"position":[[457,8],[580,8],[678,8],[1340,8]]},"981":{"position":[[27,8],[85,8],[405,8],[487,8],[727,8],[775,9],[790,8],[849,8]]},"998":{"position":[[189,9],[209,9]]},"1000":{"position":[[628,9],[669,10],[707,9]]},"1001":{"position":[[28,9],[331,9],[1166,9],[1224,8],[1326,8],[1387,8]]},"1002":{"position":[[35,9]]},"1004":{"position":[[89,8],[247,8],[296,8],[420,8],[732,8],[2010,8]]},"1005":{"position":[[9,8],[127,9]]},"1006":{"position":[[857,9]]},"1009":{"position":[[38,8]]},"1026":{"position":[[1064,8]]},"1040":{"position":[[29,9],[195,9],[236,8],[408,8],[557,14],[974,8],[1258,8],[1750,8],[1911,8],[2059,8],[2788,8]]},"1042":{"position":[[589,9]]},"1043":{"position":[[162,9]]},"1044":{"position":[[358,9],[382,8],[550,9]]},"1049":{"position":[[81,9],[205,8],[434,9]]},"1056":{"position":[[565,8],[608,9]]},"1057":{"position":[[83,8],[225,8],[623,8],[1167,8]]},"1058":{"position":[[1280,8],[1314,8]]},"1064":{"position":[[387,9],[1307,8],[1418,8],[1483,8]]},"1065":{"position":[[153,8],[259,8],[320,8]]},"1082":{"position":[[253,8]]},"1083":{"position":[[151,8]]},"1104":{"position":[[2279,10]]},"1106":{"position":[[4,9]]},"1108":{"position":[[392,9]]},"1112":{"position":[[3749,8]]},"1136":{"position":[[297,9]]},"1140":{"position":[[137,8]]},"1148":{"position":[[830,9]]},"1155":{"position":[[688,10]]},"1188":{"position":[[190,8]]},"1207":{"position":[[83,8]]},"1226":{"position":[[1394,8],[1506,8],[1714,8],[1762,9]]},"1232":{"position":[[3245,8]]},"1235":{"position":[[623,9]]},"1237":{"position":[[1564,8],[1676,8],[1884,8],[1932,9]]},"1247":{"position":[[302,8]]},"1251":{"position":[[140,8]]},"1254":{"position":[[607,12]]},"1258":{"position":[[172,8],[352,8],[581,8],[664,8],[722,10],[910,8],[1009,8],[1052,9],[1149,8]]},"1259":{"position":[[1171,8],[1561,8],[1625,9],[1659,8],[1723,9],[1755,8],[1819,9],[1860,8],[1924,9],[1961,8],[2025,9]]},"1260":{"position":[[54,8]]},"1272":{"position":[[5,8],[137,9]]},"1277":{"position":[[9,8],[73,9],[110,8]]},"1278":{"position":[[9,8],[73,9]]},"1279":{"position":[[9,8],[73,9],[110,8]]},"1280":{"position":[[9,8],[73,9],[110,8]]},"1281":{"position":[[9,8],[73,9],[110,8]]},"1289":{"position":[[172,8],[352,8],[581,8],[664,8],[722,10],[910,8],[1009,8],[1052,9],[1149,8]]},"1290":{"position":[[1171,8],[1561,8],[1625,9],[1659,8],[1723,9],[1755,8],[1819,9],[1860,8],[1924,9],[1961,8],[2025,9]]},"1291":{"position":[[54,8]]},"1303":{"position":[[5,8],[137,9]]},"1308":{"position":[[9,8],[73,9],[110,8]]},"1309":{"position":[[9,8],[73,9]]},"1310":{"position":[[9,8],[73,9],[110,8]]},"1311":{"position":[[9,8],[73,9],[110,8]]},"1312":{"position":[[9,8],[73,9],[110,8]]},"1317":{"position":[[172,8],[352,8],[581,8],[664,8],[722,10],[910,8],[1009,8],[1052,9],[1149,8]]},"1318":{"position":[[1171,8],[1561,8],[1625,9],[1659,8],[1723,9],[1755,8],[1819,9],[1860,8],[1924,9],[1961,8],[2025,9]]},"1319":{"position":[[54,8]]},"1331":{"position":[[5,8],[137,9]]},"1336":{"position":[[9,8],[73,9],[110,8]]},"1337":{"position":[[9,8],[73,9]]},"1338":{"position":[[9,8],[73,9],[110,8]]},"1339":{"position":[[9,8],[73,9],[110,8]]},"1340":{"position":[[9,8],[73,9],[110,8]]},"1355":{"position":[[5383,9]]},"1382":{"position":[[4561,10]]},"1388":{"position":[[5255,10]]},"1392":{"position":[[762,9]]},"1395":{"position":[[2646,8]]},"1415":{"position":[[3979,8]]},"1442":{"position":[[1551,10]]},"1462":{"position":[[7004,8],[7256,8]]},"1467":{"position":[[7973,8],[8225,8],[8780,8]]}},"keywords":{}}],["function>",{"_index":3869,"title":{},"content":{"841":{"position":[[67,12],[120,12],[374,12]]}},"keywords":{}}],["function>:<funct",{"_index":3873,"title":{},"content":{"841":{"position":[[165,25]]}},"keywords":{}}],["function.a",{"_index":4361,"title":{},"content":{"900":{"position":[[223,10]]}},"keywords":{}}],["function.ref",{"_index":4993,"title":{},"content":{"1004":{"position":[[471,13]]}},"keywords":{}}],["function.split",{"_index":4994,"title":{},"content":{"1004":{"position":[[569,14]]}},"keywords":{}}],["function.td",{"_index":4475,"title":{},"content":{"916":{"position":[[336,11]]}},"keywords":{}}],["function.th",{"_index":1126,"title":{},"content":{"92":{"position":[[859,12]]},"224":{"position":[[859,12]]},"900":{"position":[[1210,12]]},"1040":{"position":[[961,12]]}},"keywords":{}}],["function_nam",{"_index":7826,"title":{},"content":{"1415":{"position":[[855,14]]}},"keywords":{}}],["functionality.us",{"_index":687,"title":{},"content":{"22":{"position":[[2005,18]]}},"keywords":{}}],["functions.th",{"_index":4365,"title":{},"content":{"900":{"position":[[627,13]]}},"keywords":{}}],["functions.when",{"_index":4173,"title":{},"content":{"888":{"position":[[1199,14]]}},"keywords":{}}],["fundament",{"_index":5757,"title":{},"content":{"1114":{"position":[[737,11]]},"1351":{"position":[[4831,11]]},"1353":{"position":[[2290,12]]}},"keywords":{}}],["further",{"_index":424,"title":{},"content":{"13":{"position":[[218,7]]},"276":{"position":[[581,7]]},"277":{"position":[[529,7]]},"281":{"position":[[670,7]]},"282":{"position":[[620,7]]},"405":{"position":[[1331,7]]},"416":{"position":[[466,7],[676,7]]},"417":{"position":[[696,7],[906,7]]},"705":{"position":[[661,7]]},"784":{"position":[[1331,7]]},"795":{"position":[[466,7],[676,7]]},"796":{"position":[[696,7],[906,7]]},"846":{"position":[[1212,7]]},"861":{"position":[[151,7],[452,7]]},"990":{"position":[[1279,7]]},"1067":{"position":[[622,7]]},"1078":{"position":[[3,7]]},"1079":{"position":[[508,7]]},"1105":{"position":[[2520,7]]},"1228":{"position":[[1468,7]]},"1462":{"position":[[8059,7]]},"1467":{"position":[[9119,7]]}},"keywords":{}}],["furthermor",{"_index":2681,"title":{},"content":{"582":{"position":[[282,12]]},"954":{"position":[[728,12]]}},"keywords":{}}],["futur",{"_index":605,"title":{"970":{"position":[[9,6]]}},"content":{"19":{"position":[[142,7]]},"23":{"position":[[1655,6]]},"233":{"position":[[311,7]]},"418":{"position":[[1209,7]]},"446":{"position":[[166,7]]},"477":{"position":[[368,6]]},"584":{"position":[[1522,6]]},"595":{"position":[[1396,6]]},"797":{"position":[[1209,7]]},"825":{"position":[[166,7]]},"921":{"position":[[403,6]]},"942":{"position":[[1295,6]]},"947":{"position":[[1263,7]]},"950":{"position":[[872,7]]},"955":{"position":[[296,6]]},"980":{"position":[[797,6]]},"1001":{"position":[[1493,7],[1600,7]]},"1027":{"position":[[23,6]]},"1040":{"position":[[716,7]]},"1044":{"position":[[413,7]]},"1065":{"position":[[426,7]]},"1112":{"position":[[113,7],[761,7]]},"1114":{"position":[[652,7]]},"1150":{"position":[[461,7]]},"1190":{"position":[[395,7]]},"1192":{"position":[[232,7]]},"1403":{"position":[[6379,7]]},"1471":{"position":[[2754,6]]},"1472":{"position":[[2713,6]]},"1473":{"position":[[3028,6]]}},"keywords":{}}],["futureal",{"_index":5178,"title":{},"content":{"1044":{"position":[[437,9]]}},"keywords":{}}],["g",{"_index":4869,"title":{},"content":{"983":{"position":[[55,2]]},"1060":{"position":[[48,1]]},"1386":{"position":[[3870,3],[5054,1]]}},"keywords":{}}],["gain",{"_index":3454,"title":{},"content":{"689":{"position":[[188,4]]}},"keywords":{}}],["garbag",{"_index":4144,"title":{"891":{"position":[[9,7]]}},"content":{"887":{"position":[[226,7]]},"892":{"position":[[599,7],[1197,7],[2021,7]]},"898":{"position":[[188,7]]},"1056":{"position":[[670,7]]},"1057":{"position":[[1103,7]]},"1186":{"position":[[868,7]]},"1187":{"position":[[881,7]]},"1188":{"position":[[5607,7]]},"1247":{"position":[[201,7],[277,7]]}},"keywords":{}}],["gc",{"_index":696,"title":{},"content":{"23":{"position":[[283,2]]},"898":{"position":[[839,3]]},"1247":{"position":[[473,2]]}},"keywords":{}}],["gcc",{"_index":3516,"title":{},"content":{"693":{"position":[[405,3]]},"1362":{"position":[[12822,3]]},"1364":{"position":[[13522,3]]},"1367":{"position":[[12730,3]]},"1382":{"position":[[11184,3]]},"1384":{"position":[[18838,3]]},"1385":{"position":[[6762,3]]},"1387":{"position":[[10135,3]]},"1388":{"position":[[9677,3]]},"1442":{"position":[[2557,3]]},"1485":{"position":[[4048,3]]}},"keywords":{}}],["gcno_fil",{"_index":7366,"title":{},"content":{"1389":{"position":[[2283,11]]}},"keywords":{}}],["gdb",{"_index":6096,"title":{},"content":{"1231":{"position":[[326,3]]}},"keywords":{}}],["gen",{"_index":7920,"title":{},"content":{"1422":{"position":[[4474,3]]},"1423":{"position":[[3468,3]]}},"keywords":{}}],["gen_aidl",{"_index":7662,"title":{"1402":{"position":[[0,9]]}},"content":{"1402":{"position":[[4,9],[668,10],[2309,9]]}},"keywords":{}}],["gener",{"_index":58,"title":{"719":{"position":[[39,10]]},"721":{"position":[[37,10]]},"723":{"position":[[41,10]]},"725":{"position":[[28,10]]},"872":{"position":[[0,8]]}},"content":{"4":{"position":[[348,10],[413,8]]},"5":{"position":[[365,7]]},"13":{"position":[[23,8]]},"18":{"position":[[341,8],[2269,8]]},"22":{"position":[[285,9]]},"23":{"position":[[1848,9]]},"82":{"position":[[167,8]]},"84":{"position":[[83,8]]},"98":{"position":[[1063,9],[1311,10]]},"99":{"position":[[1471,9]]},"214":{"position":[[167,8]]},"216":{"position":[[83,8]]},"230":{"position":[[1063,9],[1311,10]]},"231":{"position":[[1471,9]]},"240":{"position":[[107,7]]},"243":{"position":[[449,9]]},"329":{"position":[[167,7]]},"405":{"position":[[1027,8]]},"406":{"position":[[620,9]]},"421":{"position":[[232,10]]},"429":{"position":[[566,7]]},"438":{"position":[[203,7]]},"470":{"position":[[107,7]]},"477":{"position":[[394,7]]},"584":{"position":[[747,7]]},"685":{"position":[[182,7]]},"687":{"position":[[49,8],[74,8]]},"688":{"position":[[905,9],[977,8]]},"693":{"position":[[3380,9]]},"711":{"position":[[239,9],[398,9]]},"715":{"position":[[533,8],[608,8]]},"721":{"position":[[82,8]]},"784":{"position":[[1027,8]]},"785":{"position":[[620,9]]},"800":{"position":[[232,10]]},"808":{"position":[[566,7]]},"817":{"position":[[203,7]]},"839":{"position":[[228,7]]},"841":{"position":[[456,9]]},"846":{"position":[[1501,9]]},"872":{"position":[[12,10],[205,8],[289,9],[477,10],[585,8],[953,8]]},"889":{"position":[[470,8]]},"898":{"position":[[2552,7]]},"937":{"position":[[1733,10],[1914,8],[3561,10]]},"951":{"position":[[806,10]]},"954":{"position":[[425,8]]},"955":{"position":[[701,10],[1016,10]]},"956":{"position":[[291,9]]},"958":{"position":[[156,8],[330,10]]},"964":{"position":[[13,8],[48,8]]},"980":{"position":[[496,9],[692,9],[836,10],[873,9],[1172,9]]},"987":{"position":[[534,9]]},"991":{"position":[[1315,10]]},"1021":{"position":[[370,9]]},"1045":{"position":[[426,8]]},"1053":{"position":[[6,7]]},"1087":{"position":[[138,9]]},"1093":{"position":[[220,9]]},"1108":{"position":[[239,9]]},"1112":{"position":[[2105,9]]},"1113":{"position":[[34,9]]},"1114":{"position":[[250,9],[1046,9]]},"1138":{"position":[[3248,9],[4680,10]]},"1140":{"position":[[2737,9],[4169,10]]},"1142":{"position":[[7,9]]},"1144":{"position":[[267,8]]},"1154":{"position":[[183,8]]},"1156":{"position":[[0,8],[94,10]]},"1161":{"position":[[234,8]]},"1167":{"position":[[3741,9],[5173,10]]},"1188":{"position":[[2790,9],[4222,10]]},"1217":{"position":[[2482,9],[3914,10]]},"1228":{"position":[[4563,9],[5995,10]]},"1245":{"position":[[456,8]]},"1253":{"position":[[460,8],[588,9]]},"1260":{"position":[[748,8]]},"1291":{"position":[[748,8]]},"1319":{"position":[[748,8]]},"1348":{"position":[[2671,8],[3889,8],[4200,8]]},"1351":{"position":[[731,8],[968,9],[1935,9],[2216,9],[2598,9],[2899,9],[3012,9],[4521,9]]},"1353":{"position":[[1374,8],[2798,8]]},"1354":{"position":[[2358,9]]},"1355":{"position":[[3596,9],[3698,8],[5841,10],[6035,10],[6159,11],[6553,9],[6840,11],[6959,10],[7172,11],[7347,11],[7479,8]]},"1356":{"position":[[589,8],[2989,8]]},"1358":{"position":[[1138,9]]},"1359":{"position":[[2132,9],[2225,9]]},"1360":{"position":[[3105,8]]},"1362":{"position":[[7915,10]]},"1363":{"position":[[2949,9],[3014,9],[4668,9],[5707,8]]},"1364":{"position":[[8764,10]]},"1367":{"position":[[8003,10]]},"1382":{"position":[[3140,9]]},"1383":{"position":[[2690,8],[5302,9],[5484,8]]},"1384":{"position":[[10143,10]]},"1393":{"position":[[1147,9],[2333,8],[3500,9],[5921,9],[6257,9],[7141,8],[8432,9]]},"1394":{"position":[[596,9]]},"1395":{"position":[[1694,8]]},"1398":{"position":[[1279,8],[1380,9],[2640,8],[4809,10],[4930,10],[5463,9],[5955,10]]},"1402":{"position":[[695,8]]},"1403":{"position":[[1238,8],[2520,8]]},"1410":{"position":[[1632,9]]},"1412":{"position":[[2651,8],[4138,9]]},"1415":{"position":[[2706,9],[3883,9],[5900,9]]},"1422":{"position":[[2347,8]]},"1423":{"position":[[2017,8]]},"1426":{"position":[[1961,9],[2434,9],[2580,9],[2923,10]]},"1427":{"position":[[2846,8],[5014,10],[5208,10],[5332,11],[5752,9],[6039,11],[6158,10],[6371,11],[6546,11],[6812,8],[6968,8]]},"1439":{"position":[[3417,9],[3518,8],[7661,9]]},"1446":{"position":[[708,8]]},"1462":{"position":[[7851,9]]},"1467":{"position":[[8911,9]]},"1469":{"position":[[1813,8]]},"1471":{"position":[[4211,9],[5472,8]]},"1472":{"position":[[4795,9],[6358,8]]},"1473":{"position":[[4532,9]]},"1478":{"position":[[2195,9],[2443,9]]},"1487":{"position":[[2136,10],[3232,9],[3446,9],[3608,9]]}},"keywords":{}}],["generate_abi",{"_index":8230,"title":{},"content":{"1458":{"position":[[644,13]]}},"keywords":{}}],["generate_linker_map",{"_index":7367,"title":{},"content":{"1389":{"position":[[2305,21]]}},"keywords":{}}],["generate_manifest",{"_index":7690,"title":{},"content":{"1403":{"position":[[7631,20]]}},"keywords":{}}],["generate_manifest_with_named_output",{"_index":7694,"title":{},"content":{"1403":{"position":[[7919,39],[8407,39]]}},"keywords":{}}],["generate_manifest_with_named_outputs'",{"_index":7706,"title":{},"content":{"1403":{"position":[[8889,38],[8960,38]]}},"keywords":{}}],["generate_manifest_with_named_outputs[manifest",{"_index":7699,"title":{},"content":{"1403":{"position":[[8460,49]]}},"keywords":{}}],["generate_release_build_config.pi",{"_index":6494,"title":{},"content":{"1351":{"position":[[4727,32],[5205,32],[5407,35],[5476,33]]}},"keywords":{}}],["generate_target(i",{"_index":6217,"title":{},"content":{"1253":{"position":[[501,18]]}},"keywords":{}}],["generate_targets(n",{"_index":6214,"title":{},"content":{"1253":{"position":[[219,19]]}},"keywords":{}}],["generate_wrapp",{"_index":7949,"title":{},"content":{"1426":{"position":[[664,17]]}},"keywords":{}}],["generating/upd",{"_index":3787,"title":{},"content":{"715":{"position":[[1282,19]]}},"keywords":{}}],["genrul",{"_index":270,"title":{"685":{"position":[[29,8]]},"686":{"position":[[27,9]]},"1403":{"position":[[0,8]]}},"content":{"9":{"position":[[2032,8]]},"685":{"position":[[209,9],[224,9],[296,8]]},"686":{"position":[[76,9]]},"688":{"position":[[206,10],[920,10]]},"1107":{"position":[[31,7]]},"1243":{"position":[[725,8],[772,7],[841,7]]},"1351":{"position":[[5351,8]]},"1356":{"position":[[2976,9]]},"1358":{"position":[[2081,10]]},"1360":{"position":[[1423,7],[3668,10],[5690,7]]},"1374":{"position":[[2840,9]]},"1383":{"position":[[4617,10],[6300,10],[7691,8],[7765,8],[8195,7]]},"1399":{"position":[[2902,8]]},"1401":{"position":[[1835,8]]},"1403":{"position":[[4,8],[1217,9],[3083,10],[5052,7],[5519,8],[6079,7],[6150,7],[6791,8],[6865,8],[7295,7],[7363,9],[7615,8],[7903,8]]},"1422":{"position":[[4256,8],[4388,8]]},"1423":{"position":[[3370,10],[3382,8]]},"1426":{"position":[[2651,10]]},"1427":{"position":[[6794,9]]},"1486":{"position":[[877,10],[3049,7],[3314,8],[3408,8],[3502,8],[3647,9],[4197,8],[5229,8]]}},"keywords":{}}],["genrule'",{"_index":8600,"title":{},"content":{"1486":{"position":[[4826,9],[4863,9]]}},"keywords":{}}],["genrule()",{"_index":7655,"title":{},"content":{"1401":{"position":[[1506,10]]}},"keywords":{}}],["genrule(nam",{"_index":1979,"title":{},"content":{"368":{"position":[[1824,12]]},"747":{"position":[[1824,12]]}},"keywords":{}}],["genruleapk_genrulecxx_genrul",{"_index":3436,"title":{},"content":{"685":{"position":[[329,29]]}},"keywords":{}}],["get",{"_index":7,"title":{"14":{"position":[[0,7]]},"838":{"position":[[0,7]]},"852":{"position":[[0,7]]},"856":{"position":[[0,7]]},"861":{"position":[[0,7]]},"866":{"position":[[0,7]]},"1231":{"position":[[0,7]]}},"content":{"2":{"position":[[0,7]]},"36":{"position":[[37,4]]},"76":{"position":[[49,4]]},"168":{"position":[[50,4]]},"181":{"position":[[37,4]]},"204":{"position":[[54,4]]},"205":{"position":[[68,4]]},"206":{"position":[[39,4]]},"207":{"position":[[36,4]]},"209":{"position":[[30,4]]},"210":{"position":[[58,4]]},"211":{"position":[[59,4]]},"277":{"position":[[120,4]]},"278":{"position":[[55,4]]},"279":{"position":[[94,4]]},"280":{"position":[[57,4]]},"282":{"position":[[167,4]]},"283":{"position":[[41,4]]},"284":{"position":[[41,4]]},"301":{"position":[[385,4]]},"305":{"position":[[38,4]]},"310":{"position":[[257,4]]},"311":{"position":[[212,4]]},"322":{"position":[[42,4],[118,4]]},"459":{"position":[[46,4]]},"460":{"position":[[57,4]]},"461":{"position":[[48,4]]},"462":{"position":[[43,4]]},"463":{"position":[[43,4]]},"505":{"position":[[49,4]]},"528":{"position":[[60,4]]},"705":{"position":[[703,4],[846,4]]},"706":{"position":[[1691,4],[1783,4]]},"856":{"position":[[441,7]]},"861":{"position":[[801,7]]},"892":{"position":[[2095,7]]},"937":{"position":[[1485,7]]},"977":{"position":[[9,4]]},"1006":{"position":[[726,4]]},"1024":{"position":[[637,4],[1270,4]]},"1048":{"position":[[193,4]]},"1142":{"position":[[502,7]]},"1370":{"position":[[2234,4]]},"1393":{"position":[[1142,4]]},"1394":{"position":[[591,4]]},"1444":{"position":[[2174,4]]},"1462":{"position":[[7846,4]]},"1465":{"position":[[4620,4]]},"1467":{"position":[[8906,4],[11137,4]]}},"keywords":{}}],["get_analysis_result",{"_index":4555,"title":{},"content":{"924":{"position":[[2461,19]]}},"keywords":{}}],["get_base_path",{"_index":2210,"title":{"414":{"position":[[0,14]]},"793":{"position":[[0,14]]}},"content":{"414":{"position":[[4,15],[31,15]]},"793":{"position":[[4,15],[31,15]]}},"keywords":{}}],["get_cell_nam",{"_index":2215,"title":{"415":{"position":[[0,14]]},"794":{"position":[[0,14]]}},"content":{"415":{"position":[[4,15],[31,15]]},"436":{"position":[[38,15],[125,15]]},"794":{"position":[[4,15],[31,15]]},"815":{"position":[[38,15],[125,15]]}},"keywords":{}}],["get_mod",{"_index":4983,"title":{},"content":{"998":{"position":[[30,9],[51,9],[199,9],[375,9]]}},"keywords":{}}],["get_path_without_materi",{"_index":2125,"title":{"416":{"position":[[0,33]]},"795":{"position":[[0,33]]}},"content":{"402":{"position":[[977,32]]},"416":{"position":[[4,33]]},"781":{"position":[[977,32]]},"795":{"position":[[4,33]]}},"keywords":{}}],["get_path_without_materialization(artifact",{"_index":2229,"title":{},"content":{"416":{"position":[[934,42]]},"795":{"position":[[934,42]]}},"keywords":{}}],["get_paths_without_materi",{"_index":2126,"title":{"417":{"position":[[0,34]]},"796":{"position":[[0,34]]}},"content":{"402":{"position":[[1034,33]]},"417":{"position":[[4,34]]},"781":{"position":[[1034,33]]},"796":{"position":[[4,34]]}},"keywords":{}}],["get_paths_without_materialization(providers[runinfo",{"_index":2233,"title":{},"content":{"417":{"position":[[1117,53]]},"796":{"position":[[1117,53]]}},"keywords":{}}],["getattr",{"_index":3181,"title":{"645":{"position":[[0,8]]}},"content":{"645":{"position":[[4,8],[45,8]]}},"keywords":{}}],["getattr("banana"",{"_index":3186,"title":{},"content":{"645":{"position":[[389,27]]}},"keywords":{}}],["getattr(x",{"_index":3182,"title":{},"content":{"645":{"position":[[88,10],[225,10],[273,10]]}},"keywords":{}}],["getreturn",{"_index":2505,"title":{},"content":{"554":{"position":[[209,10]]}},"keywords":{}}],["ghci_bin_dep",{"_index":7860,"title":{},"content":{"1417":{"position":[[622,13]]}},"keywords":{}}],["ghci_init",{"_index":7861,"title":{},"content":{"1417":{"position":[[652,10]]}},"keywords":{}}],["ghci_platform_preload_dep",{"_index":7844,"title":{},"content":{"1416":{"position":[[613,27]]},"1420":{"position":[[558,27]]}},"keywords":{}}],["ghci_preload_dep",{"_index":7845,"title":{},"content":{"1416":{"position":[[669,18]]},"1420":{"position":[[614,18]]}},"keywords":{}}],["git",{"_index":55,"title":{"1096":{"position":[[4,3]]}},"content":{"4":{"position":[[330,3]]},"13":{"position":[[300,3]]},"15":{"position":[[490,3]]},"17":{"position":[[336,3],[428,3],[491,3],[558,3]]},"18":{"position":[[200,3],[274,3],[399,3],[2035,3],[2260,3]]},"693":{"position":[[5985,4]]},"1094":{"position":[[64,4]]},"1096":{"position":[[4,3],[84,3],[238,3]]},"1098":{"position":[[429,3],[444,3]]},"1150":{"position":[[431,3]]},"1161":{"position":[[314,3],[361,3],[383,3]]},"1404":{"position":[[551,3],[1438,3],[1480,3]]}},"keywords":{}}],["git_fetch",{"_index":7709,"title":{"1404":{"position":[[0,10]]}},"content":{"1404":{"position":[[4,10],[1511,10]]}},"keywords":{}}],["git_origin",{"_index":5620,"title":{},"content":{"1096":{"position":[[265,10]]}},"keywords":{}}],["git_originand",{"_index":5617,"title":{},"content":{"1096":{"position":[[146,13]]}},"keywords":{}}],["github",{"_index":45,"title":{},"content":{"4":{"position":[[192,6],[234,6]]},"24":{"position":[[168,6]]},"884":{"position":[[84,6]]},"1061":{"position":[[104,6]]},"1104":{"position":[[2248,7]]},"1256":{"position":[[114,6]]}},"keywords":{}}],["gitignor",{"_index":5968,"title":{},"content":{"1161":{"position":[[443,12]]}},"keywords":{}}],["gitmodul",{"_index":588,"title":{},"content":{"18":{"position":[[1591,11]]}},"keywords":{}}],["give",{"_index":106,"title":{},"content":{"5":{"position":[[427,5]]},"9":{"position":[[2131,5]]},"23":{"position":[[73,4],[617,6],[3093,4]]},"24":{"position":[[1163,4]]},"92":{"position":[[1091,5],[1453,5]]},"106":{"position":[[122,5]]},"109":{"position":[[122,5]]},"110":{"position":[[125,5]]},"111":{"position":[[138,5]]},"133":{"position":[[168,5]]},"139":{"position":[[165,5]]},"150":{"position":[[117,5]]},"224":{"position":[[1091,5],[1453,5]]},"256":{"position":[[168,5]]},"262":{"position":[[165,5]]},"273":{"position":[[117,5]]},"276":{"position":[[474,4]]},"277":{"position":[[422,4]]},"281":{"position":[[563,4]]},"282":{"position":[[513,4]]},"373":{"position":[[155,5]]},"374":{"position":[[707,5]]},"518":{"position":[[122,5]]},"521":{"position":[[122,5]]},"522":{"position":[[125,5]]},"523":{"position":[[138,5]]},"693":{"position":[[1931,4]]},"752":{"position":[[155,5]]},"753":{"position":[[707,5]]},"889":{"position":[[1139,5]]},"892":{"position":[[1662,5]]},"943":{"position":[[1842,6]]},"1031":{"position":[[819,4]]},"1037":{"position":[[248,6]]},"1040":{"position":[[1225,5],[1516,5]]},"1058":{"position":[[125,5]]},"1478":{"position":[[2172,4]]}},"keywords":{}}],["given",{"_index":286,"title":{},"content":{"9":{"position":[[2393,5]]},"63":{"position":[[158,5]]},"69":{"position":[[152,5]]},"72":{"position":[[156,5]]},"91":{"position":[[348,5]]},"92":{"position":[[893,5]]},"94":{"position":[[1477,5]]},"118":{"position":[[94,5]]},"119":{"position":[[83,5]]},"133":{"position":[[157,6]]},"139":{"position":[[90,5]]},"166":{"position":[[156,5]]},"223":{"position":[[348,5]]},"224":{"position":[[893,5]]},"226":{"position":[[1477,5]]},"236":{"position":[[457,5]]},"256":{"position":[[157,6]]},"262":{"position":[[90,5]]},"279":{"position":[[143,5],[154,5]]},"294":{"position":[[495,5],[894,5],[1201,5],[1304,5]]},"297":{"position":[[473,5],[724,5],[1059,5]]},"301":{"position":[[669,5],[1164,5],[1253,5]]},"309":{"position":[[470,5]]},"310":{"position":[[298,5],[315,5],[621,5],[744,5]]},"311":{"position":[[266,5],[474,5],[572,5]]},"314":{"position":[[110,5]]},"318":{"position":[[143,5],[197,5]]},"319":{"position":[[131,5]]},"320":{"position":[[386,6]]},"396":{"position":[[105,5]]},"405":{"position":[[2395,5]]},"408":{"position":[[682,5]]},"418":{"position":[[700,5]]},"427":{"position":[[455,5]]},"442":{"position":[[87,5]]},"457":{"position":[[152,5]]},"477":{"position":[[116,5]]},"492":{"position":[[158,5]]},"495":{"position":[[156,5]]},"534":{"position":[[94,5]]},"535":{"position":[[83,5]]},"548":{"position":[[156,5]]},"554":{"position":[[156,5]]},"559":{"position":[[211,5]]},"593":{"position":[[117,5]]},"616":{"position":[[812,5]]},"618":{"position":[[123,5]]},"640":{"position":[[118,5]]},"649":{"position":[[76,5]]},"693":{"position":[[3242,5]]},"724":{"position":[[527,5]]},"775":{"position":[[105,5]]},"784":{"position":[[2395,5]]},"787":{"position":[[682,5]]},"797":{"position":[[700,5]]},"806":{"position":[[455,5]]},"821":{"position":[[87,5]]},"889":{"position":[[989,5]]},"890":{"position":[[3662,5],[4294,5]]},"892":{"position":[[0,5]]},"895":{"position":[[108,5]]},"900":{"position":[[1443,5]]},"923":{"position":[[107,5]]},"929":{"position":[[354,5]]},"954":{"position":[[47,5]]},"958":{"position":[[194,5]]},"964":{"position":[[168,5]]},"989":{"position":[[146,5]]},"1005":{"position":[[294,5]]},"1006":{"position":[[324,5]]},"1040":{"position":[[995,5]]},"1068":{"position":[[163,5]]},"1072":{"position":[[401,5]]},"1084":{"position":[[94,5]]},"1093":{"position":[[558,5]]},"1103":{"position":[[124,6]]},"1112":{"position":[[956,5]]},"1127":{"position":[[305,5]]},"1154":{"position":[[391,5]]},"1161":{"position":[[405,5]]},"1171":{"position":[[884,5]]},"1172":{"position":[[172,5],[1485,5]]},"1173":{"position":[[785,5]]},"1185":{"position":[[218,5]]},"1190":{"position":[[1549,5]]},"1202":{"position":[[326,5]]},"1204":{"position":[[291,5]]},"1221":{"position":[[263,5]]},"1232":{"position":[[3879,5]]},"1259":{"position":[[280,5],[2120,5],[2323,5]]},"1262":{"position":[[65,5]]},"1272":{"position":[[203,5],[226,5]]},"1277":{"position":[[157,5]]},"1278":{"position":[[141,5]]},"1282":{"position":[[39,5]]},"1284":{"position":[[32,5]]},"1285":{"position":[[229,5]]},"1287":{"position":[[57,5]]},"1290":{"position":[[280,5],[2120,5],[2323,5]]},"1293":{"position":[[65,5]]},"1303":{"position":[[203,5],[226,5]]},"1308":{"position":[[157,5]]},"1309":{"position":[[141,5]]},"1313":{"position":[[39,5]]},"1315":{"position":[[32,5]]},"1318":{"position":[[280,5],[2120,5],[2323,5]]},"1321":{"position":[[65,5]]},"1331":{"position":[[203,5],[226,5]]},"1336":{"position":[[157,5]]},"1337":{"position":[[141,5]]},"1341":{"position":[[39,5]]},"1343":{"position":[[32,5]]},"1361":{"position":[[2030,5],[2291,5]]},"1373":{"position":[[5843,5]]},"1385":{"position":[[2981,5]]},"1393":{"position":[[6392,5]]},"1397":{"position":[[1723,5],[1798,5]]},"1398":{"position":[[3333,5],[3566,5]]},"1408":{"position":[[2207,5]]},"1410":{"position":[[4404,5]]},"1422":{"position":[[1921,5]]},"1427":{"position":[[3887,5]]},"1442":{"position":[[552,5]]},"1444":{"position":[[1608,5]]},"1457":{"position":[[1794,5]]},"1462":{"position":[[8841,5]]},"1465":{"position":[[4195,5]]},"1467":{"position":[[10612,5]]},"1482":{"position":[[1488,5]]},"1486":{"position":[[5466,5]]}},"keywords":{}}],["given.get",{"_index":3306,"title":{},"content":{"663":{"position":[[568,9]]},"901":{"position":[[530,9]]}},"keywords":{}}],["glanc",{"_index":3450,"title":{"702":{"position":[[5,7]]}},"content":{"689":{"position":[[45,6]]},"702":{"position":[[37,6]]}},"keywords":{}}],["glob",{"_index":2236,"title":{"418":{"position":[[0,5]]},"797":{"position":[[0,5]]}},"content":{"418":{"position":[[4,5],[116,6],[215,4],[560,6],[804,4],[900,4],[1092,4]]},"797":{"position":[[4,5],[116,6],[215,4],[560,6],[804,4],[900,4],[1092,4]]},"1138":{"position":[[5346,4]]},"1140":{"position":[[4835,4]]},"1146":{"position":[[241,4]]},"1167":{"position":[[5839,4]]},"1188":{"position":[[4888,4]]},"1217":{"position":[[4580,4]]},"1228":{"position":[[6661,4]]},"1366":{"position":[[3318,6]]},"1412":{"position":[[3905,6]]},"1427":{"position":[[7381,7]]},"1439":{"position":[[8207,7]]},"1444":{"position":[[2063,6]]},"1462":{"position":[[9164,4]]},"1465":{"position":[[4482,6]]},"1467":{"position":[[11026,6]]},"1487":{"position":[[3781,4]]}},"keywords":{}}],["glob(["**/*.h"",{"_index":6799,"title":{},"content":{"1362":{"position":[[8508,27]]},"1364":{"position":[[9622,27]]},"1367":{"position":[[8596,27]]}},"keywords":{}}],["glob(["*.cpp"",{"_index":1985,"title":{},"content":{"368":{"position":[[2030,25]]},"747":{"position":[[2030,25]]}},"keywords":{}}],["glob(["*.kt"",{"_index":8052,"title":{},"content":{"1439":{"position":[[5871,25]]}},"keywords":{}}],["glob(["../foo.txt"",{"_index":2250,"title":{},"content":{"418":{"position":[[1008,30]]},"797":{"position":[[1008,30]]}},"keywords":{}}],["glob(["bar/file.txt"",{"_index":2249,"title":{},"content":{"418":{"position":[[943,33]]},"797":{"position":[[943,33]]}},"keywords":{}}],["glob(["foo/**/*.h"",{"_index":2237,"title":{},"content":{"418":{"position":[[237,30],[422,30]]},"797":{"position":[[237,30],[422,30]]}},"keywords":{}}],["glob(['**/*.groovi",{"_index":7807,"title":{},"content":{"1412":{"position":[[3957,22],[4221,20]]}},"keywords":{}}],["glob(['**/*.java",{"_index":6402,"title":{},"content":{"1348":{"position":[[4652,20]]},"1402":{"position":[[2171,19]]},"1427":{"position":[[7547,19]]}},"keywords":{}}],["glob(['**/*.kt",{"_index":8068,"title":{},"content":{"1439":{"position":[[8375,17]]}},"keywords":{}}],["glob(['**/*test.java",{"_index":7999,"title":{},"content":{"1429":{"position":[[5472,24]]}},"keywords":{}}],["glob(['**/*test.kt",{"_index":8073,"title":{},"content":{"1440":{"position":[[5466,22]]}},"keywords":{}}],["glob(['*.java",{"_index":3040,"title":{},"content":{"622":{"position":[[1449,17]]},"1358":{"position":[[3243,17]]},"1459":{"position":[[2456,17]]}},"keywords":{}}],["glob(['*.lua",{"_index":8087,"title":{},"content":{"1443":{"position":[[1922,16]]}},"keywords":{}}],["glob(['collect/*.java",{"_index":3047,"title":{},"content":{"622":{"position":[[1988,23]]}},"keywords":{}}],["glob(['concurrent/*.java",{"_index":3042,"title":{},"content":{"622":{"position":[[1612,28]]}},"keywords":{}}],["glob(['dir",{"_index":8615,"title":{},"content":{"1487":{"position":[[3194,18]]}},"keywords":{}}],["glob(['fileutil/**/*.pi",{"_index":8371,"title":{},"content":{"1467":{"position":[[11226,27]]}},"keywords":{}}],["glob(['resources/**/*.xml",{"_index":7657,"title":{},"content":{"1401":{"position":[[1803,29]]}},"keywords":{}}],["glob(['src/**/*.java",{"_index":6488,"title":{},"content":{"1351":{"position":[[4253,24]]},"1355":{"position":[[7941,24]]}},"keywords":{}}],["glob(['tailer.pi",{"_index":8343,"title":{},"content":{"1462":{"position":[[9198,18]]}},"keywords":{}}],["glob(['test/**/*.java",{"_index":6511,"title":{},"content":{"1353":{"position":[[3029,25]]}},"keywords":{}}],["glob(['tests/**/*.java",{"_index":7978,"title":{},"content":{"1427":{"position":[[8013,25]]}},"keywords":{}}],["glob(['tests/**/*.kt",{"_index":8070,"title":{},"content":{"1439":{"position":[[8839,23]]}},"keywords":{}}],["glob(['tests/**/*test.java",{"_index":8239,"title":{},"content":{"1458":{"position":[[2685,30]]}},"keywords":{}}],["glob(['testutil/**/*.lua",{"_index":8092,"title":{},"content":{"1444":{"position":[[2260,27]]}},"keywords":{}}],["glob(['testutil/**/*.pi",{"_index":8361,"title":{},"content":{"1465":{"position":[[4698,27]]}},"keywords":{}}],["global",{"_index":1333,"title":{"348":{"position":[[0,7]]},"623":{"position":[[0,7]]},"727":{"position":[[0,7]]}},"content":{"123":{"position":[[122,7]]},"443":{"position":[[92,6]]},"532":{"position":[[122,7]]},"583":{"position":[[730,6],[770,6]]},"822":{"position":[[92,6]]},"851":{"position":[[79,8]]},"864":{"position":[[941,6]]},"887":{"position":[[522,7]]},"888":{"position":[[1147,7],[1192,6]]},"890":{"position":[[488,6],[1088,6],[1258,6],[1764,6],[1788,6],[1884,6],[2152,6]]},"924":{"position":[[985,6],[1180,6]]},"937":{"position":[[344,6],[1084,6]]},"969":{"position":[[33,6]]},"998":{"position":[[292,6]]},"1001":{"position":[[21,6],[571,8],[1159,6],[1542,6]]},"1004":{"position":[[332,6]]},"1064":{"position":[[116,6],[669,8],[1216,6],[1703,6]]},"1065":{"position":[[68,6]]},"1351":{"position":[[765,6],[909,6]]},"1387":{"position":[[6966,6]]},"1393":{"position":[[4265,6],[8132,6],[8275,6],[9518,6]]},"1398":{"position":[[5618,6],[5649,6],[5726,6]]},"1462":{"position":[[8127,6]]},"1467":{"position":[[9188,6]]}},"keywords":{}}],["globalsbuild",{"_index":4150,"title":{},"content":{"887":{"position":[[451,14]]}},"keywords":{}}],["glossari",{"_index":3509,"title":{"693":{"position":[[0,8]]}},"content":{"693":{"position":[[0,8]]},"697":{"position":[[112,9]]}},"keywords":{}}],["go",{"_index":243,"title":{"907":{"position":[[5,6]]}},"content":{"9":{"position":[[1460,2],[1979,5],[2746,5]]},"24":{"position":[[1176,3]]},"41":{"position":[[568,2]]},"89":{"position":[[162,3]]},"174":{"position":[[568,2]]},"221":{"position":[[162,3]]},"622":{"position":[[1188,5]]},"693":{"position":[[4944,5]]},"706":{"position":[[2305,3]]},"873":{"position":[[242,2]]},"904":{"position":[[1510,5]]},"905":{"position":[[1413,5]]},"924":{"position":[[2316,2]]},"942":{"position":[[681,2]]},"1021":{"position":[[220,2]]},"1100":{"position":[[139,2]]},"1112":{"position":[[4463,2]]},"1114":{"position":[[162,5],[199,5]]},"1118":{"position":[[108,5]]},"1138":{"position":[[4769,6],[4960,5]]},"1140":{"position":[[4258,6],[4449,5]]},"1167":{"position":[[5262,6],[5453,5]]},"1188":{"position":[[4311,6],[4502,5]]},"1217":{"position":[[4003,6],[4194,5]]},"1226":{"position":[[3860,5]]},"1228":{"position":[[6084,6],[6275,5]]},"1237":{"position":[[4030,5]]},"1373":{"position":[[2866,2],[4062,2],[4240,2],[4319,2],[4397,2],[4400,5],[4434,2],[5942,2],[6082,2],[8239,3],[8357,3],[8617,2]]},"1398":{"position":[[1236,3]]},"1405":{"position":[[1153,2],[2198,2],[2446,2],[2614,2],[3240,2],[3266,2],[3406,2],[3660,3],[3696,2]]},"1406":{"position":[[1419,3],[1455,2]]},"1407":{"position":[[1182,2],[2239,2],[2539,2],[2867,2],[3035,2],[3661,2],[3687,2],[3827,2],[4279,3],[4315,2]]},"1408":{"position":[[961,2],[1908,2],[1984,2],[2306,2],[2446,2],[2658,3],[2694,2]]},"1410":{"position":[[1597,2],[1673,2],[2640,2],[2890,2],[3137,2],[4243,2],[4674,2],[4814,2],[5070,3],[5106,2]]},"1457":{"position":[[1635,2]]}},"keywords":{}}],["go.vendor_path",{"_index":2648,"title":{},"content":{"578":{"position":[[263,15]]}},"keywords":{}}],["go/c",{"_index":7042,"title":{},"content":{"1373":{"position":[[2802,4]]}},"keywords":{}}],["go].vendor_path",{"_index":2646,"title":{},"content":{"578":{"position":[[185,16]]}},"keywords":{}}],["go_assembler_flag",{"_index":7035,"title":{},"content":{"1373":{"position":[[1077,19]]}},"keywords":{}}],["go_binari",{"_index":7071,"title":{"1405":{"position":[[0,10]]}},"content":{"1373":{"position":[[8693,10]]},"1405":{"position":[[4,10],[1084,11],[3972,10]]}},"keywords":{}}],["go_bootstrap_binari",{"_index":7742,"title":{"1406":{"position":[[0,20]]}},"content":{"1406":{"position":[[4,20]]}},"keywords":{}}],["go_compiler_flag",{"_index":7036,"title":{},"content":{"1373":{"position":[[1112,18]]}},"keywords":{}}],["go_exported_librari",{"_index":7746,"title":{"1407":{"position":[[0,20]]}},"content":{"1407":{"position":[[4,20],[1111,21],[4591,20]]}},"keywords":{}}],["go_librari",{"_index":7729,"title":{"1408":{"position":[[0,11]]}},"content":{"1405":{"position":[[2536,10],[4043,11],[4118,11]]},"1407":{"position":[[2957,10]]},"1408":{"position":[[4,11],[894,12],[2074,10],[2908,11]]},"1410":{"position":[[2981,10],[5773,11]]},"1457":{"position":[[1585,10]]}},"keywords":{}}],["go_src",{"_index":7037,"title":{},"content":{"1373":{"position":[[1146,8]]}},"keywords":{}}],["go_stdlib",{"_index":7786,"title":{"1409":{"position":[[0,10]]}},"content":{"1409":{"position":[[4,10]]}},"keywords":{}}],["go_test",{"_index":7787,"title":{"1410":{"position":[[0,8]]}},"content":{"1410":{"position":[[4,8],[1540,9],[5848,8],[5937,8],[6073,8]]}},"keywords":{}}],["go_test_runn",{"_index":7799,"title":{"1411":{"position":[[0,15]]}},"content":{"1411":{"position":[[4,15]]}},"keywords":{}}],["goal",{"_index":4378,"title":{"959":{"position":[[0,6]]}},"content":{"900":{"position":[[1477,5],[1906,4]]},"937":{"position":[[3604,5]]},"1393":{"position":[[5550,4]]}},"keywords":{}}],["goe",{"_index":3791,"title":{},"content":{"715":{"position":[[1704,4],[1975,4]]},"937":{"position":[[3096,4]]},"947":{"position":[[514,4]]}},"keywords":{}}],["gone",{"_index":3505,"title":{},"content":{"690":{"position":[[3419,5]]}},"keywords":{}}],["good",{"_index":762,"title":{},"content":{"23":{"position":[[2711,4]]},"427":{"position":[[662,4]]},"806":{"position":[[662,4]]},"839":{"position":[[34,4],[210,4]]},"889":{"position":[[1242,4]]},"980":{"position":[[934,5]]},"1070":{"position":[[964,4]]},"1104":{"position":[[1534,4]]},"1136":{"position":[[4350,4]]},"1138":{"position":[[8012,4]]},"1140":{"position":[[6938,4]]},"1142":{"position":[[2382,4]]},"1146":{"position":[[2322,4]]},"1148":{"position":[[5362,4]]},"1155":{"position":[[2418,4]]},"1156":{"position":[[1996,4]]},"1167":{"position":[[7942,4]]},"1169":{"position":[[1781,4]]},"1186":{"position":[[3586,4]]},"1187":{"position":[[3599,4]]},"1188":{"position":[[8325,4]]},"1191":{"position":[[2186,4]]},"1192":{"position":[[2361,4]]},"1193":{"position":[[2413,4]]},"1194":{"position":[[2053,4]]},"1195":{"position":[[2031,4]]},"1196":{"position":[[1841,4]]},"1197":{"position":[[2824,4]]},"1198":{"position":[[2834,4]]},"1199":{"position":[[2862,4]]},"1200":{"position":[[2729,4]]},"1201":{"position":[[1989,4]]},"1202":{"position":[[3131,4],[7528,4]]},"1203":{"position":[[2223,4]]},"1204":{"position":[[2067,4]]},"1205":{"position":[[3396,4]]},"1206":{"position":[[1867,4]]},"1207":{"position":[[2024,4]]},"1209":{"position":[[3372,4]]},"1217":{"position":[[6683,4]]},"1219":{"position":[[2669,4]]},"1222":{"position":[[1793,4]]},"1223":{"position":[[1803,4]]},"1224":{"position":[[1983,4]]},"1226":{"position":[[7151,4]]},"1228":{"position":[[8764,4]]},"1235":{"position":[[4632,4]]},"1237":{"position":[[7321,4]]}},"keywords":{}}],["goodby",{"_index":5192,"title":{},"content":{"1044":{"position":[[2003,7]]}},"keywords":{}}],["goodbyeinfo",{"_index":5187,"title":{},"content":{"1044":{"position":[[1494,11]]}},"keywords":{}}],["googl",{"_index":633,"title":{},"content":{"22":{"position":[[169,6],[434,6]]},"693":{"position":[[7799,6]]},"1059":{"position":[[114,6]]},"1351":{"position":[[4440,7],[5697,7]]},"1360":{"position":[[6013,7]]}},"keywords":{}}],["gpu",{"_index":1923,"title":{},"content":{"362":{"position":[[2777,5]]},"741":{"position":[[2777,5]]}},"keywords":{}}],["grab",{"_index":3928,"title":{},"content":{"853":{"position":[[89,4]]},"857":{"position":[[107,4]]},"892":{"position":[[907,7]]},"1104":{"position":[[1887,4]]},"1231":{"position":[[652,4]]}},"keywords":{}}],["gracefulli",{"_index":6079,"title":{},"content":{"1228":{"position":[[1569,11]]}},"keywords":{}}],["gradl",{"_index":6472,"title":{},"content":{"1351":{"position":[[1023,7]]}},"keywords":{}}],["gradual",{"_index":5548,"title":{},"content":{"1079":{"position":[[1225,7]]}},"keywords":{}}],["grain",{"_index":853,"title":{},"content":{"41":{"position":[[336,5],[663,5]]},"174":{"position":[[336,5],[663,5]]},"832":{"position":[[915,5]]},"1029":{"position":[[46,7]]},"1112":{"position":[[4225,5],[4560,5]]}},"keywords":{}}],["graph",{"_index":382,"title":{"684":{"position":[[22,6]]},"695":{"position":[[19,6]]},"719":{"position":[[30,5]]},"721":{"position":[[28,5]]},"723":{"position":[[17,5]]},"874":{"position":[[8,5]]}},"content":{"11":{"position":[[587,7]]},"22":{"position":[[1235,5]]},"23":{"position":[[1357,5],[1919,5],[1970,6],[2313,6],[2433,5],[2488,5]]},"476":{"position":[[336,5]]},"684":{"position":[[61,5],[94,5]]},"693":{"position":[[696,6],[718,5],[1612,5],[2008,6],[2065,6],[2088,6],[3211,5],[3342,6],[3371,5],[3444,6],[3530,5],[10139,6],[10148,5]]},"695":{"position":[[293,6],[317,6],[343,5],[485,5],[632,5]]},"715":{"position":[[1317,5]]},"718":{"position":[[80,6],[399,6],[462,6],[696,6]]},"719":{"position":[[39,5],[146,6]]},"720":{"position":[[514,6],[577,6]]},"721":{"position":[[37,5],[102,6]]},"722":{"position":[[454,5],[714,7],[1123,6]]},"723":{"position":[[26,5]]},"832":{"position":[[66,5],[101,7]]},"846":{"position":[[73,5],[110,5],[146,5],[544,5],[564,6],[1275,5],[1378,5],[1454,5],[1599,5],[1663,6],[1840,6]]},"869":{"position":[[95,6],[240,5],[338,5]]},"872":{"position":[[62,5],[120,5],[684,5]]},"874":{"position":[[13,5]]},"876":{"position":[[187,5]]},"907":{"position":[[15,5]]},"916":{"position":[[84,6]]},"919":{"position":[[1350,6],[1490,6],[1620,6],[1960,5],[2441,5],[2573,6],[2647,7],[2835,5],[2896,6]]},"920":{"position":[[77,6],[315,6],[385,6]]},"921":{"position":[[183,5],[255,5]]},"947":{"position":[[179,6]]},"951":{"position":[[769,5]]},"955":{"position":[[47,5],[208,5],[448,5],[538,6],[1180,5],[1347,5],[1462,5]]},"956":{"position":[[260,5]]},"959":{"position":[[109,5]]},"988":{"position":[[147,5]]},"990":{"position":[[299,6],[362,6],[1305,6]]},"1004":{"position":[[2318,7]]},"1011":{"position":[[591,5]]},"1015":{"position":[[236,6]]},"1019":{"position":[[535,5]]},"1026":{"position":[[227,5]]},"1029":{"position":[[85,6]]},"1059":{"position":[[160,6]]},"1060":{"position":[[102,5]]},"1104":{"position":[[2694,6]]},"1112":{"position":[[2417,5]]},"1136":{"position":[[30,5],[62,5],[2182,5]]},"1148":{"position":[[41,5],[69,5],[196,6],[2538,5]]},"1190":{"position":[[939,5]]},"1201":{"position":[[96,5]]},"1209":{"position":[[1415,5]]},"1226":{"position":[[4165,5]]},"1235":{"position":[[43,5],[73,5],[151,6],[271,5],[317,5],[412,6],[2675,5]]},"1237":{"position":[[4335,5]]},"1260":{"position":[[80,5],[296,5],[1002,5],[1080,7]]},"1291":{"position":[[80,5],[296,5],[1002,5],[1080,7]]},"1319":{"position":[[80,5],[296,5],[1002,5],[1080,7]]},"1355":{"position":[[6097,6],[7110,6]]},"1427":{"position":[[5270,6],[6309,6]]}},"keywords":{}}],["graph,configur",{"_index":3527,"title":{},"content":{"693":{"position":[[2048,16]]}},"keywords":{}}],["graph."",{"_index":4927,"title":{},"content":{"991":{"position":[[1573,12]]}},"keywords":{}}],["graph.buck2",{"_index":750,"title":{},"content":{"23":{"position":[[2372,11]]}},"keywords":{}}],["graph.introspect",{"_index":4048,"title":{},"content":{"869":{"position":[[195,16]]}},"keywords":{}}],["graph/act",{"_index":752,"title":{},"content":{"23":{"position":[[2420,12]]}},"keywords":{}}],["graph=dwarf,20000",{"_index":5445,"title":{},"content":{"1060":{"position":[[57,17]]}},"keywords":{}}],["graphs.buck2",{"_index":37,"title":{},"content":{"4":{"position":[[80,12]]}},"keywords":{}}],["graphviz",{"_index":5873,"title":{},"content":{"1136":{"position":[[2003,8],[2074,8]]},"1148":{"position":[[2359,8],[2430,8]]},"1209":{"position":[[1236,8],[1307,8]]},"1235":{"position":[[2496,8],[2567,8]]},"1260":{"position":[[759,8],[975,8],[1037,8]]},"1291":{"position":[[759,8],[975,8],[1037,8]]},"1319":{"position":[[759,8],[975,8],[1037,8]]}},"keywords":{}}],["great",{"_index":6197,"title":{},"content":{"1249":{"position":[[196,5]]}},"keywords":{}}],["greater",{"_index":3089,"title":{},"content":{"633":{"position":[[182,7]]},"1486":{"position":[[2494,7]]}},"keywords":{}}],["greatest",{"_index":3250,"title":{},"content":{"654":{"position":[[84,8],[460,8]]}},"keywords":{}}],["greet",{"_index":7427,"title":{},"content":{"1390":{"position":[[2108,12]]},"1405":{"position":[[4025,12]]},"1410":{"position":[[5920,11]]},"1448":{"position":[[2934,12]]},"1471":{"position":[[5818,12]]},"1473":{"position":[[5987,12]]}},"keywords":{}}],["greet.d",{"_index":7426,"title":{},"content":{"1390":{"position":[[2087,10]]}},"keywords":{}}],["greet.r",{"_index":8441,"title":{},"content":{"1471":{"position":[[5796,11]]},"1473":{"position":[[5965,11]]}},"keywords":{}}],["greeting.d",{"_index":7428,"title":{},"content":{"1390":{"position":[[2161,13]]},"1391":{"position":[[1883,13]]}},"keywords":{}}],["greeting.go",{"_index":7740,"title":{},"content":{"1405":{"position":[[4079,14]]},"1408":{"position":[[2944,14]]},"1410":{"position":[[5809,14],[6009,14]]}},"keywords":{}}],["greeting.ml",{"_index":8134,"title":{},"content":{"1448":{"position":[[3002,14]]},"1449":{"position":[[2811,14]]}},"keywords":{}}],["greeting.r",{"_index":8442,"title":{},"content":{"1471":{"position":[[5874,14]]},"1472":{"position":[[6686,14]]},"1473":{"position":[[6043,14]]}},"keywords":{}}],["greeting.txt",{"_index":7137,"title":{},"content":{"1381":{"position":[[2656,15]]}},"keywords":{}}],["greeting_ext_test.go",{"_index":7794,"title":{},"content":{"1410":{"position":[[5886,23]]}},"keywords":{}}],["greeting_test.go",{"_index":7796,"title":{},"content":{"1410":{"position":[[6024,19]]}},"keywords":{}}],["grep",{"_index":4292,"title":{},"content":{"895":{"position":[[86,4],[134,4],[217,8],[295,4]]}},"keywords":{}}],["groovi",{"_index":7803,"title":{},"content":{"1412":{"position":[[1476,6],[1566,6],[3099,6],[3471,8],[3716,7],[3834,7],[3935,7],[4024,7]]},"1469":{"position":[[3560,7]]}},"keywords":{}}],["groovy_librari",{"_index":7801,"title":{"1412":{"position":[[0,15]]}},"content":{"1412":{"position":[[4,15],[1427,16],[1610,16],[2594,14],[2699,15],[2775,14],[3730,15],[3912,15],[4170,15]]}},"keywords":{}}],["groovy_test",{"_index":7808,"title":{"1413":{"position":[[0,12]]}},"content":{"1413":{"position":[[4,12]]}},"keywords":{}}],["groovylibraryinfo",{"_index":2301,"title":{},"content":{"427":{"position":[[577,18]]},"806":{"position":[[577,18]]}},"keywords":{}}],["groovylibraryinfo(field",{"_index":2297,"title":{},"content":{"427":{"position":[[319,24]]},"806":{"position":[[319,24]]}},"keywords":{}}],["groovysh",{"_index":8393,"title":{},"content":{"1469":{"position":[[3568,8]]}},"keywords":{}}],["groovysh:jar:indy:2.4.1",{"_index":8396,"title":{},"content":{"1469":{"position":[[3670,25]]}},"keywords":{}}],["group",{"_index":2481,"title":{"1027":{"position":[[10,7]]}},"content":{"510":{"position":[[79,5],[273,6],[747,5]]},"511":{"position":[[79,5],[293,6],[762,5]]},"584":{"position":[[226,5]]},"679":{"position":[[459,6]]},"919":{"position":[[750,6]]},"955":{"position":[[81,8]]},"961":{"position":[[205,8]]},"1027":{"position":[[10,6]]},"1245":{"position":[[414,6]]},"1362":{"position":[[10632,7]]},"1382":{"position":[[7286,7],[7501,7]]},"1383":{"position":[[7756,8]]},"1384":{"position":[[14413,5]]},"1387":{"position":[[7672,5]]},"1388":{"position":[[8155,7],[8370,7]]},"1393":{"position":[[4634,5]]},"1403":{"position":[[6856,8]]},"1416":{"position":[[1335,6],[2584,7]]},"1420":{"position":[[1053,5]]},"1443":{"position":[[728,5]]},"1444":{"position":[[644,5]]},"1454":{"position":[[7886,5]]},"1455":{"position":[[1137,5],[3370,5],[3868,5],[4271,5],[4492,5],[4624,7],[4667,7],[4758,7],[4801,7]]},"1462":{"position":[[6204,7]]},"1465":{"position":[[1419,5]]},"1467":{"position":[[7317,7],[7532,7]]},"1482":{"position":[[541,8]]}},"keywords":{}}],["group.mycas",{"_index":7636,"title":{},"content":{"1398":{"position":[[6743,12],[6810,12]]}},"keywords":{}}],["groups.link_styl",{"_index":7853,"title":{},"content":{"1416":{"position":[[2798,18]]}},"keywords":{}}],["groups.linker_flag",{"_index":8323,"title":{},"content":{"1462":{"position":[[6418,20]]}},"keywords":{}}],["grow",{"_index":303,"title":{},"content":{"9":{"position":[[2755,4]]}},"keywords":{}}],["grpc",{"_index":3790,"title":{},"content":{"715":{"position":[[1687,5],[2110,5]]}},"keywords":{}}],["gt",{"_index":847,"title":{},"content":{"40":{"position":[[80,4]]},"41":{"position":[[168,4]]},"45":{"position":[[26,4]]},"50":{"position":[[68,4]]},"52":{"position":[[67,4]]},"53":{"position":[[45,4]]},"55":{"position":[[35,4]]},"58":{"position":[[38,4]]},"62":{"position":[[42,4]]},"63":{"position":[[84,4]]},"65":{"position":[[25,4]]},"66":{"position":[[21,4]]},"69":{"position":[[99,4]]},"76":{"position":[[27,4]]},"79":{"position":[[46,4]]},"81":{"position":[[85,4]]},"82":{"position":[[148,4]]},"83":{"position":[[28,4]]},"84":{"position":[[68,4]]},"85":{"position":[[214,4]]},"86":{"position":[[98,4]]},"87":{"position":[[82,4]]},"88":{"position":[[83,4]]},"89":{"position":[[87,4]]},"90":{"position":[[29,4]]},"91":{"position":[[229,4]]},"92":{"position":[[292,4]]},"93":{"position":[[67,4]]},"94":{"position":[[1165,4]]},"95":{"position":[[86,4]]},"96":{"position":[[101,4]]},"97":{"position":[[104,4]]},"98":{"position":[[424,4]]},"99":{"position":[[543,4]]},"101":{"position":[[35,4]]},"102":{"position":[[41,4]]},"103":{"position":[[33,4]]},"104":{"position":[[35,4]]},"108":{"position":[[31,4]]},"113":{"position":[[24,4]]},"116":{"position":[[39,4]]},"118":{"position":[[25,4]]},"119":{"position":[[69,4]]},"123":{"position":[[20,4]]},"125":{"position":[[56,4]]},"126":{"position":[[116,4]]},"127":{"position":[[57,4]]},"128":{"position":[[59,4]]},"129":{"position":[[111,4]]},"130":{"position":[[75,4]]},"131":{"position":[[216,4]]},"132":{"position":[[115,4]]},"133":{"position":[[101,4]]},"134":{"position":[[105,4]]},"135":{"position":[[56,4]]},"136":{"position":[[58,4]]},"137":{"position":[[80,4]]},"138":{"position":[[112,4]]},"139":{"position":[[74,4]]},"140":{"position":[[82,4]]},"141":{"position":[[71,4]]},"142":{"position":[[45,4]]},"143":{"position":[[58,4]]},"144":{"position":[[106,4]]},"145":{"position":[[92,4]]},"146":{"position":[[122,4]]},"147":{"position":[[75,4]]},"148":{"position":[[110,4]]},"149":{"position":[[116,4]]},"150":{"position":[[73,4]]},"151":{"position":[[72,4]]},"153":{"position":[[36,4]]},"158":{"position":[[34,4]]},"161":{"position":[[25,4]]},"166":{"position":[[73,4]]},"168":{"position":[[20,4]]},"173":{"position":[[80,4]]},"174":{"position":[[168,4]]},"192":{"position":[[26,4]]},"197":{"position":[[68,4]]},"199":{"position":[[67,4]]},"200":{"position":[[45,4]]},"202":{"position":[[35,4]]},"204":{"position":[[34,4]]},"205":{"position":[[36,4]]},"213":{"position":[[85,4]]},"214":{"position":[[148,4]]},"215":{"position":[[28,4]]},"216":{"position":[[68,4]]},"217":{"position":[[214,4]]},"218":{"position":[[98,4]]},"219":{"position":[[82,4]]},"220":{"position":[[83,4]]},"221":{"position":[[87,4]]},"222":{"position":[[29,4]]},"223":{"position":[[229,4]]},"224":{"position":[[292,4]]},"225":{"position":[[67,4]]},"226":{"position":[[1165,4]]},"227":{"position":[[86,4]]},"228":{"position":[[101,4]]},"229":{"position":[[104,4]]},"230":{"position":[[424,4]]},"231":{"position":[[543,4]]},"233":{"position":[[40,4]]},"236":{"position":[[383,4]]},"237":{"position":[[383,4]]},"238":{"position":[[405,4]]},"239":{"position":[[430,4]]},"242":{"position":[[109,4]]},"245":{"position":[[33,4]]},"246":{"position":[[32,4]]},"248":{"position":[[56,4]]},"249":{"position":[[116,4]]},"250":{"position":[[57,4]]},"251":{"position":[[59,4]]},"252":{"position":[[111,4]]},"253":{"position":[[75,4]]},"254":{"position":[[216,4]]},"255":{"position":[[115,4]]},"256":{"position":[[101,4]]},"257":{"position":[[105,4]]},"258":{"position":[[56,4]]},"259":{"position":[[58,4]]},"260":{"position":[[80,4]]},"261":{"position":[[112,4]]},"262":{"position":[[74,4]]},"263":{"position":[[82,4]]},"264":{"position":[[71,4]]},"265":{"position":[[45,4]]},"266":{"position":[[58,4]]},"267":{"position":[[106,4]]},"268":{"position":[[92,4]]},"269":{"position":[[122,4]]},"270":{"position":[[75,4]]},"271":{"position":[[110,4]]},"272":{"position":[[116,4]]},"273":{"position":[[73,4]]},"274":{"position":[[72,4]]},"277":{"position":[[43,4]]},"279":{"position":[[72,4]]},"282":{"position":[[70,4]]},"285":{"position":[[40,4]]},"286":{"position":[[47,4]]},"288":{"position":[[689,4]]},"289":{"position":[[709,4]]},"294":{"position":[[408,4]]},"295":{"position":[[74,4]]},"296":{"position":[[25,4]]},"297":{"position":[[418,4]]},"298":{"position":[[595,4]]},"299":{"position":[[29,4]]},"301":{"position":[[334,4]]},"302":{"position":[[74,4]]},"304":{"position":[[53,4]]},"307":{"position":[[24,4]]},"308":{"position":[[43,4]]},"309":{"position":[[357,4]]},"310":{"position":[[206,4]]},"311":{"position":[[166,4]]},"312":{"position":[[26,4]]},"314":{"position":[[73,4]]},"315":{"position":[[64,4]]},"316":{"position":[[64,4]]},"317":{"position":[[65,4]]},"318":{"position":[[92,4]]},"319":{"position":[[74,4]]},"320":{"position":[[211,4]]},"324":{"position":[[518,4]]},"325":{"position":[[305,4]]},"326":{"position":[[315,4]]},"327":{"position":[[281,4]]},"328":{"position":[[330,4]]},"330":{"position":[[290,4]]},"331":{"position":[[278,4]]},"332":{"position":[[288,4]]},"333":{"position":[[306,4]]},"334":{"position":[[345,4]]},"335":{"position":[[537,4]]},"336":{"position":[[518,4]]},"337":{"position":[[279,4]]},"338":{"position":[[308,4]]},"340":{"position":[[160,4]]},"341":{"position":[[37,4]]},"342":{"position":[[46,4]]},"344":{"position":[[49,4]]},"346":{"position":[[61,4]]},"347":{"position":[[64,4]]},"362":{"position":[[877,4]]},"363":{"position":[[106,4]]},"366":{"position":[[51,4]]},"367":{"position":[[83,4]]},"368":{"position":[[392,4]]},"372":{"position":[[129,4]]},"373":{"position":[[101,4]]},"374":{"position":[[252,4]]},"375":{"position":[[63,4]]},"377":{"position":[[360,4]]},"379":{"position":[[69,4]]},"386":{"position":[[265,4]]},"389":{"position":[[77,4]]},"396":{"position":[[58,4]]},"397":{"position":[[89,4]]},"398":{"position":[[61,4]]},"399":{"position":[[52,4]]},"400":{"position":[[216,4]]},"405":{"position":[[862,4]]},"409":{"position":[[60,4]]},"411":{"position":[[180,4]]},"412":{"position":[[31,4]]},"413":{"position":[[16,4]]},"414":{"position":[[21,4]]},"415":{"position":[[21,4]]},"416":{"position":[[99,4]]},"418":{"position":[[96,4]]},"419":{"position":[[17,4]]},"421":{"position":[[50,4]]},"422":{"position":[[11,4]]},"423":{"position":[[26,4]]},"424":{"position":[[134,4]]},"425":{"position":[[20,4]]},"427":{"position":[[105,4]]},"428":{"position":[[45,4]]},"430":{"position":[[19,4]]},"433":{"position":[[79,4]]},"434":{"position":[[52,4]]},"435":{"position":[[42,4]]},"436":{"position":[[23,4]]},"437":{"position":[[248,4],[347,4]]},"438":{"position":[[28,4]]},"439":{"position":[[18,4]]},"440":{"position":[[43,4]]},"442":{"position":[[29,4],[233,4],[318,4],[402,4]]},"443":{"position":[[72,4]]},"444":{"position":[[59,4]]},"445":{"position":[[25,4]]},"446":{"position":[[87,4]]},"447":{"position":[[127,4]]},"448":{"position":[[154,4]]},"449":{"position":[[62,4]]},"450":{"position":[[24,4]]},"451":{"position":[[75,4]]},"453":{"position":[[25,4]]},"454":{"position":[[21,4]]},"457":{"position":[[99,4]]},"465":{"position":[[280,4]]},"466":{"position":[[186,4]]},"467":{"position":[[196,4]]},"468":{"position":[[162,4]]},"469":{"position":[[211,4]]},"471":{"position":[[171,4]]},"472":{"position":[[159,4]]},"473":{"position":[[169,4]]},"474":{"position":[[84,4]]},"475":{"position":[[299,4]]},"476":{"position":[[280,4]]},"477":{"position":[[99,4]]},"478":{"position":[[160,4]]},"487":{"position":[[38,4]]},"491":{"position":[[42,4]]},"492":{"position":[[84,4]]},"500":{"position":[[35,4]]},"501":{"position":[[41,4]]},"502":{"position":[[33,4]]},"503":{"position":[[35,4]]},"505":{"position":[[27,4]]},"508":{"position":[[46,4]]},"510":{"position":[[757,4]]},"511":{"position":[[772,4]]},"513":{"position":[[30,4]]},"514":{"position":[[28,4]]},"516":{"position":[[39,4]]},"520":{"position":[[31,4]]},"525":{"position":[[24,4]]},"528":{"position":[[31,4]]},"532":{"position":[[20,4]]},"534":{"position":[[25,4]]},"535":{"position":[[69,4]]},"537":{"position":[[36,4]]},"542":{"position":[[34,4]]},"548":{"position":[[73,4]]},"553":{"position":[[18,4]]},"555":{"position":[[18,4]]},"556":{"position":[[17,4]]},"558":{"position":[[20,4]]},"560":{"position":[[41,4]]},"561":{"position":[[19,4]]},"563":{"position":[[24,4]]},"564":{"position":[[18,4]]},"565":{"position":[[44,4]]},"566":{"position":[[79,4]]},"567":{"position":[[36,4]]},"569":{"position":[[28,4]]},"589":{"position":[[25,4]]},"590":{"position":[[25,4]]},"591":{"position":[[86,4]]},"592":{"position":[[20,4]]},"593":{"position":[[55,4]]},"594":{"position":[[85,4]]},"595":{"position":[[36,4]]},"596":{"position":[[86,4]]},"597":{"position":[[22,4]]},"598":{"position":[[22,4]]},"599":{"position":[[22,4]]},"600":{"position":[[22,4]]},"601":{"position":[[22,4]]},"602":{"position":[[22,4]]},"603":{"position":[[22,4]]},"604":{"position":[[51,4]]},"605":{"position":[[20,4]]},"606":{"position":[[38,4]]},"607":{"position":[[38,4]]},"608":{"position":[[41,4]]},"609":{"position":[[41,4]]},"610":{"position":[[61,4]]},"611":{"position":[[86,4]]},"612":{"position":[[87,4]]},"613":{"position":[[39,4]]},"614":{"position":[[77,4]]},"615":{"position":[[38,4]]},"616":{"position":[[76,4]]},"617":{"position":[[50,4]]},"618":{"position":[[57,4]]},"619":{"position":[[37,4]]},"620":{"position":[[20,4]]},"621":{"position":[[20,4]]},"627":{"position":[[28,4]]},"628":{"position":[[32,4]]},"629":{"position":[[32,4]]},"630":{"position":[[20,4]]},"631":{"position":[[18,4]]},"632":{"position":[[42,4]]},"633":{"position":[[33,4]]},"634":{"position":[[20,4]]},"635":{"position":[[19,4]]},"636":{"position":[[27,4]]},"637":{"position":[[15,4]]},"639":{"position":[[55,4]]},"640":{"position":[[28,4]]},"641":{"position":[[17,4]]},"642":{"position":[[32,4]]},"643":{"position":[[69,4],[313,4]]},"644":{"position":[[47,4]]},"646":{"position":[[30,4]]},"647":{"position":[[21,4]]},"648":{"position":[[60,4]]},"649":{"position":[[36,4]]},"651":{"position":[[15,4]]},"652":{"position":[[37,4]]},"653":{"position":[[57,4]]},"656":{"position":[[20,4]]},"657":{"position":[[41,4]]},"658":{"position":[[19,4]]},"659":{"position":[[17,4]]},"660":{"position":[[18,4]]},"661":{"position":[[16,4]]},"662":{"position":[[53,4]]},"663":{"position":[[22,4]]},"664":{"position":[[16,4]]},"665":{"position":[[37,4]]},"666":{"position":[[55,4]]},"668":{"position":[[15,4]]},"669":{"position":[[29,4]]},"670":{"position":[[38,4]]},"671":{"position":[[16,4]]},"673":{"position":[[33,4]]},"690":{"position":[[677,4],[1654,4]]},"693":{"position":[[2985,4]]},"706":{"position":[[1250,4],[1264,4]]},"711":{"position":[[213,4],[372,4],[565,4]]},"712":{"position":[[258,4]]},"741":{"position":[[877,4]]},"742":{"position":[[106,4]]},"745":{"position":[[51,4]]},"746":{"position":[[83,4]]},"747":{"position":[[392,4]]},"751":{"position":[[129,4]]},"752":{"position":[[101,4]]},"753":{"position":[[252,4]]},"754":{"position":[[63,4]]},"756":{"position":[[360,4]]},"758":{"position":[[69,4]]},"765":{"position":[[265,4]]},"768":{"position":[[77,4]]},"775":{"position":[[58,4]]},"776":{"position":[[89,4]]},"777":{"position":[[61,4]]},"778":{"position":[[52,4]]},"779":{"position":[[216,4]]},"784":{"position":[[862,4]]},"788":{"position":[[60,4]]},"790":{"position":[[180,4]]},"791":{"position":[[31,4]]},"792":{"position":[[16,4]]},"793":{"position":[[21,4]]},"794":{"position":[[21,4]]},"795":{"position":[[99,4]]},"797":{"position":[[96,4]]},"798":{"position":[[17,4]]},"800":{"position":[[50,4]]},"801":{"position":[[11,4]]},"802":{"position":[[26,4]]},"803":{"position":[[134,4]]},"804":{"position":[[20,4]]},"806":{"position":[[105,4]]},"807":{"position":[[45,4]]},"809":{"position":[[19,4]]},"812":{"position":[[79,4]]},"813":{"position":[[52,4]]},"814":{"position":[[42,4]]},"815":{"position":[[23,4]]},"816":{"position":[[248,4],[347,4]]},"817":{"position":[[28,4]]},"818":{"position":[[18,4]]},"819":{"position":[[43,4]]},"821":{"position":[[29,4],[233,4],[318,4],[402,4]]},"822":{"position":[[72,4]]},"823":{"position":[[59,4]]},"824":{"position":[[25,4]]},"825":{"position":[[87,4]]},"826":{"position":[[127,4]]},"827":{"position":[[154,4]]},"828":{"position":[[62,4]]},"829":{"position":[[24,4]]},"830":{"position":[[75,4]]},"859":{"position":[[121,4],[220,4]]},"881":{"position":[[66,4]]},"981":{"position":[[230,4]]},"987":{"position":[[308,4],[318,4],[706,4]]},"1004":{"position":[[1007,4]]},"1026":{"position":[[1249,4]]},"1044":{"position":[[3171,4]]},"1049":{"position":[[775,4],[1223,4]]},"1054":{"position":[[268,4],[1714,4]]},"1064":{"position":[[1687,4]]},"1084":{"position":[[321,4],[336,4],[351,4]]},"1088":{"position":[[1322,4],[1337,4],[1352,4]]},"1102":{"position":[[535,4]]},"1103":{"position":[[177,4]]},"1348":{"position":[[2627,4]]},"1349":{"position":[[830,4]]},"1350":{"position":[[3801,4]]},"1351":{"position":[[678,4],[5130,4]]},"1352":{"position":[[3800,4]]},"1353":{"position":[[1314,4]]},"1354":{"position":[[1122,4]]},"1355":{"position":[[2137,4]]},"1356":{"position":[[540,4]]},"1357":{"position":[[421,4]]},"1358":{"position":[[907,4]]},"1359":{"position":[[855,4]]},"1360":{"position":[[1321,4]]},"1361":{"position":[[597,4]]},"1362":{"position":[[4702,4],[8642,4],[8680,4]]},"1363":{"position":[[2807,4]]},"1364":{"position":[[4799,4],[9756,4],[9794,4]]},"1365":{"position":[[778,4]]},"1366":{"position":[[833,4]]},"1367":{"position":[[6593,4],[8730,4],[8768,4]]},"1368":{"position":[[1459,4]]},"1369":{"position":[[511,4]]},"1370":{"position":[[585,4]]},"1371":{"position":[[387,4]]},"1372":{"position":[[2025,4]]},"1373":{"position":[[2728,4]]},"1374":{"position":[[649,4]]},"1375":{"position":[[423,4]]},"1376":{"position":[[379,4]]},"1377":{"position":[[618,4]]},"1378":{"position":[[365,4]]},"1379":{"position":[[388,4]]},"1380":{"position":[[509,4]]},"1381":{"position":[[644,4]]},"1382":{"position":[[2974,4]]},"1383":{"position":[[1179,4]]},"1384":{"position":[[4277,4]]},"1385":{"position":[[1826,4]]},"1386":{"position":[[546,4]]},"1387":{"position":[[4171,4]]},"1388":{"position":[[3441,4]]},"1389":{"position":[[4406,4]]},"1390":{"position":[[555,4]]},"1391":{"position":[[556,4]]},"1392":{"position":[[591,4]]},"1393":{"position":[[1076,4]]},"1394":{"position":[[518,4]]},"1395":{"position":[[658,4]]},"1396":{"position":[[484,4]]},"1397":{"position":[[650,4]]},"1398":{"position":[[1101,4]]},"1399":{"position":[[534,4]]},"1400":{"position":[[492,4]]},"1401":{"position":[[522,4],[1962,4]]},"1402":{"position":[[655,4]]},"1403":{"position":[[1204,4],[7764,4],[7857,4],[8071,4],[8184,4]]},"1404":{"position":[[515,4]]},"1405":{"position":[[1071,4]]},"1406":{"position":[[463,4]]},"1407":{"position":[[1098,4],[5168,4]]},"1408":{"position":[[881,4]]},"1409":{"position":[[518,4]]},"1410":{"position":[[1527,4]]},"1411":{"position":[[501,4]]},"1412":{"position":[[1414,4]]},"1413":{"position":[[1885,4]]},"1414":{"position":[[752,4]]},"1415":{"position":[[2427,4]]},"1416":{"position":[[1287,4]]},"1417":{"position":[[975,4]]},"1418":{"position":[[676,4]]},"1419":{"position":[[804,4]]},"1420":{"position":[[995,4]]},"1421":{"position":[[924,4]]},"1422":{"position":[[713,4]]},"1423":{"position":[[614,4]]},"1424":{"position":[[1060,4]]},"1425":{"position":[[676,4]]},"1426":{"position":[[876,4]]},"1427":{"position":[[1663,4]]},"1428":{"position":[[658,4]]},"1429":{"position":[[2484,4]]},"1430":{"position":[[1434,4]]},"1431":{"position":[[778,4]]},"1432":{"position":[[1299,4]]},"1433":{"position":[[820,4]]},"1434":{"position":[[494,4]]},"1435":{"position":[[458,4]]},"1436":{"position":[[474,4]]},"1437":{"position":[[544,4]]},"1438":{"position":[[517,4]]},"1439":{"position":[[1933,4]]},"1440":{"position":[[2672,4]]},"1441":{"position":[[500,4]]},"1442":{"position":[[478,4]]},"1443":{"position":[[685,4]]},"1444":{"position":[[601,4]]},"1445":{"position":[[400,4]]},"1446":{"position":[[554,4]]},"1447":{"position":[[616,4]]},"1448":{"position":[[917,4]]},"1449":{"position":[[859,4]]},"1450":{"position":[[864,4]]},"1451":{"position":[[864,4]]},"1452":{"position":[[410,4]]},"1453":{"position":[[859,4]]},"1454":{"position":[[3200,4]]},"1455":{"position":[[1077,4]]},"1456":{"position":[[497,4]]},"1457":{"position":[[573,4]]},"1458":{"position":[[888,4]]},"1459":{"position":[[568,4]]},"1460":{"position":[[779,4]]},"1461":{"position":[[846,4]]},"1462":{"position":[[4229,4],[7822,4]]},"1463":{"position":[[501,4]]},"1464":{"position":[[409,4]]},"1465":{"position":[[1373,4]]},"1466":{"position":[[745,4]]},"1467":{"position":[[4950,4],[8882,4]]},"1468":{"position":[[509,4]]},"1469":{"position":[[620,4]]},"1470":{"position":[[3246,4]]},"1471":{"position":[[1635,4]]},"1472":{"position":[[1596,4]]},"1473":{"position":[[1882,4]]},"1474":{"position":[[1410,4]]},"1475":{"position":[[1881,4]]},"1476":{"position":[[486,4]]},"1477":{"position":[[587,4],[2879,4],[2953,4]]},"1478":{"position":[[1032,4],[3103,4]]},"1479":{"position":[[578,4]]},"1480":{"position":[[991,4]]},"1481":{"position":[[1524,4]]},"1482":{"position":[[495,4]]},"1483":{"position":[[375,4]]},"1484":{"position":[[504,4]]},"1485":{"position":[[653,4]]},"1486":{"position":[[679,4]]},"1487":{"position":[[621,4]]}},"keywords":{}}],["gtest",{"_index":7311,"title":{},"content":{"1388":{"position":[[10378,6]]},"1442":{"position":[[3035,6]]}},"keywords":{}}],["guarante",{"_index":1238,"title":{},"content":{"94":{"position":[[4323,10]]},"226":{"position":[[4323,10]]},"635":{"position":[[149,10]]},"682":{"position":[[6,10]]},"1000":{"position":[[385,11]]},"1136":{"position":[[5951,10]]},"1138":{"position":[[9613,10]]},"1140":{"position":[[8539,10]]},"1142":{"position":[[3983,10]]},"1146":{"position":[[3923,10]]},"1148":{"position":[[6963,10]]},"1155":{"position":[[4019,10]]},"1156":{"position":[[3597,10]]},"1163":{"position":[[557,10]]},"1165":{"position":[[386,10]]},"1167":{"position":[[9543,10]]},"1169":{"position":[[2651,10]]},"1186":{"position":[[5187,10]]},"1187":{"position":[[5200,10]]},"1188":{"position":[[9926,10]]},"1191":{"position":[[3787,10]]},"1192":{"position":[[3962,10]]},"1193":{"position":[[4014,10]]},"1194":{"position":[[3654,10]]},"1195":{"position":[[3632,10]]},"1196":{"position":[[3442,10]]},"1197":{"position":[[4425,10]]},"1198":{"position":[[4435,10]]},"1199":{"position":[[4463,10]]},"1200":{"position":[[4330,10]]},"1201":{"position":[[3590,10]]},"1202":{"position":[[4732,10],[9129,10]]},"1203":{"position":[[3824,10]]},"1204":{"position":[[3668,10]]},"1205":{"position":[[4997,10]]},"1206":{"position":[[3468,10]]},"1207":{"position":[[3625,10]]},"1209":{"position":[[4973,10]]},"1217":{"position":[[8284,10]]},"1219":{"position":[[3539,10]]},"1222":{"position":[[3394,10]]},"1223":{"position":[[3404,10]]},"1224":{"position":[[2853,10]]},"1226":{"position":[[1776,10],[8752,10]]},"1228":{"position":[[10365,10]]},"1235":{"position":[[6233,10]]},"1237":{"position":[[1946,10],[8922,10]]},"1384":{"position":[[9649,10],[9889,10]]},"1422":{"position":[[2569,9]]},"1423":{"position":[[2238,9]]},"1486":{"position":[[5103,10]]}},"keywords":{}}],["guard",{"_index":6818,"title":{},"content":{"1362":{"position":[[13493,8]]},"1364":{"position":[[14193,8]]},"1367":{"position":[[13401,8]]}},"keywords":{}}],["guava",{"_index":3687,"title":{},"content":{"708":{"position":[[22,5],[98,8],[120,6]]},"1423":{"position":[[2773,6],[2991,6],[3233,6],[3258,7],[3288,7],[3853,6]]}},"keywords":{}}],["guess",{"_index":1767,"title":{},"content":{"320":{"position":[[429,5]]}},"keywords":{}}],["guidanc",{"_index":6200,"title":{},"content":{"1250":{"position":[[170,8]]}},"keywords":{}}],["guidelin",{"_index":4433,"title":{},"content":{"906":{"position":[[631,9]]}},"keywords":{}}],["gwt_binari",{"_index":7818,"title":{"1414":{"position":[[0,11]]}},"content":{"1414":{"position":[[4,11]]}},"keywords":{}}],["gyp",{"_index":4769,"title":{},"content":{"958":{"position":[[127,3]]}},"keywords":{}}],["gzip",{"_index":5937,"title":{},"content":{"1140":{"position":[[823,4]]},"1188":{"position":[[876,4]]},"1226":{"position":[[5084,5]]},"1237":{"position":[[5254,5]]}},"keywords":{}}],["h",{"_index":5766,"title":{},"content":{"1120":{"position":[[126,2]]},"1136":{"position":[[2393,2],[2436,3],[5500,3]]},"1138":{"position":[[5492,2],[5535,3],[9162,3]]},"1140":{"position":[[4981,2],[5024,3],[8088,3]]},"1142":{"position":[[685,2],[728,3],[3532,3]]},"1144":{"position":[[333,2],[376,3]]},"1146":{"position":[[365,2],[408,3],[3472,3]]},"1148":{"position":[[2842,2],[2885,3],[6512,3]]},"1150":{"position":[[568,2],[611,3]]},"1152":{"position":[[266,2],[309,3]]},"1154":{"position":[[421,2],[464,3]]},"1155":{"position":[[721,2],[764,3],[3568,3]]},"1156":{"position":[[299,2],[342,3],[3146,3]]},"1157":{"position":[[204,2],[247,3]]},"1158":{"position":[[198,2],[241,3]]},"1159":{"position":[[198,2],[241,3]]},"1161":{"position":[[462,2],[505,3],[1039,3]]},"1163":{"position":[[260,2],[303,3]]},"1165":{"position":[[89,2],[132,3]]},"1167":{"position":[[5985,2],[6028,3],[9092,3]]},"1169":{"position":[[84,2],[127,3]]},"1171":{"position":[[914,2],[957,3]]},"1172":{"position":[[2299,2],[2342,3]]},"1173":{"position":[[986,2],[1029,3]]},"1174":{"position":[[414,2],[457,3]]},"1175":{"position":[[410,2],[453,3]]},"1176":{"position":[[579,2],[622,3]]},"1177":{"position":[[500,2],[543,3]]},"1178":{"position":[[817,2],[860,3]]},"1179":{"position":[[614,2],[657,3]]},"1180":{"position":[[885,2],[928,3]]},"1181":{"position":[[674,2],[717,3],[1251,3]]},"1182":{"position":[[448,2],[491,3]]},"1183":{"position":[[403,2],[446,3]]},"1185":{"position":[[248,2],[291,3]]},"1186":{"position":[[1066,2],[1109,3],[4736,3]]},"1187":{"position":[[1079,2],[1122,3],[4749,3]]},"1188":{"position":[[5805,2],[5848,3],[9475,3]]},"1190":{"position":[[1579,2],[1622,3]]},"1191":{"position":[[489,2],[532,3],[3336,3]]},"1192":{"position":[[404,2],[447,3],[3511,3]]},"1193":{"position":[[716,2],[759,3],[3563,3]]},"1194":{"position":[[356,2],[399,3],[3203,3]]},"1195":{"position":[[334,2],[377,3],[3181,3]]},"1196":{"position":[[144,2],[187,3],[2991,3]]},"1197":{"position":[[304,2],[347,3],[3974,3]]},"1198":{"position":[[314,2],[357,3],[3984,3]]},"1199":{"position":[[342,2],[385,3],[4012,3]]},"1200":{"position":[[209,2],[252,3],[3879,3]]},"1201":{"position":[[292,2],[335,3],[3139,3]]},"1202":{"position":[[356,2],[399,3],[1434,2],[1477,3],[4281,3],[5831,2],[5874,3],[8678,3]]},"1203":{"position":[[266,2],[309,3],[3373,3]]},"1204":{"position":[[370,2],[413,3],[3217,3],[4592,2],[4635,3],[5522,2],[5565,3],[6424,2],[6467,3],[7410,2],[7453,3],[8364,2],[8407,3],[9311,2],[9354,3],[10241,2],[10284,3]]},"1205":{"position":[[1439,2],[1482,3],[4546,3]]},"1206":{"position":[[170,2],[213,3],[3017,3]]},"1207":{"position":[[327,2],[370,3],[3174,3]]},"1209":{"position":[[1675,2],[1718,3],[4522,3]]},"1211":{"position":[[319,2],[362,3]]},"1213":{"position":[[90,2],[133,3]]},"1215":{"position":[[174,2],[217,3]]},"1217":{"position":[[4726,2],[4769,3],[7833,3]]},"1219":{"position":[[972,2],[1015,3]]},"1221":{"position":[[293,2],[336,3]]},"1222":{"position":[[96,2],[139,3],[2943,3]]},"1223":{"position":[[106,2],[149,3],[2953,3]]},"1224":{"position":[[286,2],[329,3]]},"1226":{"position":[[5194,2],[5237,3],[8301,3]]},"1228":{"position":[[1893,1],[6807,2],[6850,3],[9914,3]]},"1235":{"position":[[2935,2],[2978,3],[5782,3]]},"1237":{"position":[[5364,2],[5407,3],[8471,3]]},"1446":{"position":[[2420,2]]}},"keywords":{}}],["h1",{"_index":4156,"title":{},"content":{"888":{"position":[[260,2],[324,2],[586,2],[660,2]]}},"keywords":{}}],["h1.into_ref",{"_index":4159,"title":{},"content":{"888":{"position":[[345,14]]}},"keywords":{}}],["h2",{"_index":4160,"title":{},"content":{"888":{"position":[[364,2]]}},"keywords":{}}],["h2.add_reference(h1",{"_index":4162,"title":{},"content":{"888":{"position":[[382,21]]}},"keywords":{}}],["h2.for",{"_index":4166,"title":{},"content":{"888":{"position":[[618,6]]}},"keywords":{}}],["hack",{"_index":4613,"title":{},"content":{"937":{"position":[[4243,4]]}},"keywords":{}}],["hackabl",{"_index":314,"title":{},"content":{"10":{"position":[[143,8]]}},"keywords":{}}],["haddock_flag",{"_index":7865,"title":{},"content":{"1418":{"position":[[527,14]]},"1420":{"position":[[648,14]]}},"keywords":{}}],["hadn't",{"_index":6154,"title":{},"content":{"1232":{"position":[[3665,6]]}},"keywords":{}}],["half",{"_index":5395,"title":{},"content":{"1057":{"position":[[773,4]]}},"keywords":{}}],["halid",{"_index":7827,"title":{},"content":{"1415":{"position":[[2482,6],[2590,6],[2624,6],[2663,6],[3631,6],[3893,6],[5030,6],[5210,6]]}},"keywords":{}}],["halide/main.cpp",{"_index":7835,"title":{},"content":{"1415":{"position":[[5538,20]]}},"keywords":{}}],["halide::func::define_extern.linker_flag",{"_index":7831,"title":{},"content":{"1415":{"position":[[3994,41]]}},"keywords":{}}],["halide_librari",{"_index":7823,"title":{"1415":{"position":[[0,15]]}},"content":{"1415":{"position":[[4,15],[2440,16],[3682,14],[5439,15]]}},"keywords":{}}],["halt",{"_index":6658,"title":{},"content":{"1360":{"position":[[4419,7]]},"1383":{"position":[[6452,7]]},"1403":{"position":[[3834,7]]}},"keywords":{}}],["hamcrest",{"_index":7991,"title":{},"content":{"1429":{"position":[[3852,8]]},"1440":{"position":[[3845,8]]}},"keywords":{}}],["hand",{"_index":2736,"title":{},"content":{"587":{"position":[[269,4],[349,4]]},"924":{"position":[[629,5]]},"1427":{"position":[[6879,4]]}},"keywords":{}}],["handl",{"_index":3431,"title":{"685":{"position":[[7,6]]},"1071":{"position":[[23,8]]}},"content":{"724":{"position":[[1965,8]]},"870":{"position":[[150,7]]},"872":{"position":[[841,6]]},"1045":{"position":[[24,7]]},"1052":{"position":[[1066,7]]},"1054":{"position":[[164,8]]},"1069":{"position":[[339,8]]},"1071":{"position":[[828,8]]},"1093":{"position":[[319,8]]},"1237":{"position":[[72,6]]},"1355":{"position":[[4961,7]]},"1359":{"position":[[2016,7]]},"1401":{"position":[[1606,6]]},"1427":{"position":[[4130,6]]},"1455":{"position":[[1179,7]]},"1470":{"position":[[4559,7]]}},"keywords":{}}],["handler",{"_index":809,"title":{},"content":{"26":{"position":[[100,7]]},"27":{"position":[[107,7]]},"29":{"position":[[113,7]]},"30":{"position":[[152,7]]},"31":{"position":[[135,7]]},"178":{"position":[[100,7]]},"179":{"position":[[107,7]]},"185":{"position":[[113,7]]},"186":{"position":[[152,7]]},"187":{"position":[[135,7]]},"1112":{"position":[[3528,7],[3621,7],[3989,7],[4098,7]]}},"keywords":{}}],["handler_invocation_error",{"_index":5745,"title":{},"content":{"1112":{"position":[[4113,25]]}},"keywords":{}}],["handshak",{"_index":8580,"title":{},"content":{"1486":{"position":[[3823,10],[5502,10]]}},"keywords":{}}],["hang",{"_index":6090,"title":{"1229":{"position":[[13,8]]},"1230":{"position":[[22,5]]},"1233":{"position":[[31,5]]},"1241":{"position":[[13,9]]}},"content":{"1231":{"position":[[22,5]]},"1233":{"position":[[165,4]]},"1241":{"position":[[113,4]]}},"keywords":{}}],["happen",{"_index":1216,"title":{},"content":{"94":{"position":[[3028,7]]},"226":{"position":[[3028,7]]},"416":{"position":[[539,8]]},"417":{"position":[[769,8]]},"591":{"position":[[546,6]]},"693":{"position":[[7531,6]]},"704":{"position":[[347,8],[1562,8]]},"795":{"position":[[539,8]]},"796":{"position":[[769,8]]},"837":{"position":[[366,6]]},"897":{"position":[[131,8],[215,7]]},"904":{"position":[[714,6]]},"980":{"position":[[1073,7],[1504,6]]},"1013":{"position":[[62,7]]},"1022":{"position":[[93,8]]},"1057":{"position":[[1229,7]]},"1070":{"position":[[916,6]]},"1075":{"position":[[353,8]]},"1232":{"position":[[3492,10]]},"1403":{"position":[[9040,6]]},"1426":{"position":[[2149,6]]}},"keywords":{}}],["hard",{"_index":2389,"title":{},"content":{"446":{"position":[[134,4]]},"703":{"position":[[165,4]]},"825":{"position":[[134,4]]},"856":{"position":[[212,4]]},"1247":{"position":[[506,4]]}},"keywords":{}}],["harder",{"_index":5869,"title":{},"content":{"1136":{"position":[[1195,6]]},"1148":{"position":[[1551,6]]},"1205":{"position":[[675,6]]},"1209":{"position":[[428,6]]},"1226":{"position":[[2368,6]]},"1232":{"position":[[3736,6]]},"1235":{"position":[[1688,6]]},"1237":{"position":[[2538,6]]}},"keywords":{}}],["hardwar",{"_index":6189,"title":{},"content":{"1247":{"position":[[350,8]]}},"keywords":{}}],["harmoni",{"_index":156,"title":{},"content":{"7":{"position":[[349,10]]}},"keywords":{}}],["has.src",{"_index":7646,"title":{},"content":{"1399":{"position":[[1955,8]]}},"keywords":{}}],["has_whitelisted_str",{"_index":6632,"title":{},"content":{"1359":{"position":[[594,24]]}},"keywords":{}}],["has_wrap_script",{"_index":8241,"title":{},"content":{"1459":{"position":[[453,16],[1892,15]]}},"keywords":{}}],["hasattr",{"_index":3189,"title":{"646":{"position":[[0,8]]}},"content":{"646":{"position":[[41,8]]}},"keywords":{}}],["hasattr(a",{"_index":3190,"title":{},"content":{"646":{"position":[[4,10]]}},"keywords":{}}],["hasattr(x",{"_index":3184,"title":{},"content":{"645":{"position":[[326,10]]},"646":{"position":[[85,10]]}},"keywords":{}}],["hasdepend",{"_index":3593,"title":{},"content":{"693":{"position":[[8549,16]]}},"keywords":{}}],["hash",{"_index":702,"title":{"647":{"position":[[0,5]]},"975":{"position":[[0,6]]},"976":{"position":[[0,6]]},"977":{"position":[[0,6]]}},"content":{"23":{"position":[[555,6]]},"81":{"position":[[141,4]]},"94":{"position":[[2302,4]]},"213":{"position":[[141,4]]},"226":{"position":[[2302,4]]},"243":{"position":[[259,6],[309,4]]},"647":{"position":[[31,5],[49,4],[100,4],[161,4],[206,4]]},"704":{"position":[[429,6],[1626,4],[1704,6],[1872,5],[1914,4],[2063,4],[2263,6]]},"712":{"position":[[1146,4]]},"722":{"position":[[787,8]]},"724":{"position":[[402,4]]},"966":{"position":[[207,6]]},"973":{"position":[[453,4]]},"975":{"position":[[112,4],[148,7],[162,7],[192,7]]},"976":{"position":[[17,4],[71,6],[135,5],[182,4]]},"977":{"position":[[204,7]]},"980":{"position":[[75,4]]},"1018":{"position":[[314,4],[336,7]]},"1050":{"position":[[1294,4],[1548,4],[3668,4]]},"1112":{"position":[[2618,4],[2709,4],[3260,4],[3320,4],[3380,4],[4059,4],[4657,4]]},"1138":{"position":[[1306,6]]},"1190":{"position":[[1242,4],[1438,5]]},"1205":{"position":[[129,4]]},"1206":{"position":[[67,5]]},"1226":{"position":[[369,4],[389,4],[458,4],[491,4],[542,4],[618,7],[761,5],[827,5],[891,4],[1006,4],[1095,7],[1132,4],[1248,4],[1328,4],[1389,4],[1501,4],[1547,7],[1669,4],[1751,5],[1960,4],[2025,4],[2091,4]]},"1237":{"position":[[539,4],[559,4],[628,4],[661,4],[712,4],[788,7],[931,5],[997,5],[1061,4],[1176,4],[1265,7],[1302,4],[1418,4],[1498,4],[1559,4],[1671,4],[1717,7],[1839,4],[1921,5],[2130,4],[2195,4],[2261,4]]},"1345":{"position":[[1237,7]]},"1422":{"position":[[2446,4]]},"1423":{"position":[[2115,4]]}},"keywords":{}}],["hash("hello"",{"_index":3196,"title":{},"content":{"647":{"position":[[235,23]]}},"keywords":{}}],["hash("world"",{"_index":3197,"title":{},"content":{"647":{"position":[[262,23]]}},"keywords":{}}],["hash(a",{"_index":3191,"title":{},"content":{"647":{"position":[[4,7]]}},"keywords":{}}],["hash(i",{"_index":3194,"title":{},"content":{"647":{"position":[[152,8]]}},"keywords":{}}],["hash(x",{"_index":3192,"title":{},"content":{"647":{"position":[[73,7],[141,7]]}},"keywords":{}}],["hash3",{"_index":6061,"title":{},"content":{"1226":{"position":[[1930,6]]},"1237":{"position":[[2100,6]]}},"keywords":{}}],["hash:siz",{"_index":4301,"title":{},"content":{"895":{"position":[[661,9]]},"1172":{"position":[[571,12]]}},"keywords":{}}],["hash_all_command",{"_index":5629,"title":{},"content":{"1100":{"position":[[285,17]]}},"keywords":{}}],["hasher",{"_index":4843,"title":{},"content":{"977":{"position":[[450,7]]}},"keywords":{}}],["hashmap<str",{"_index":4897,"title":{},"content":{"988":{"position":[[703,18]]}},"keywords":{}}],["hashmap<target",{"_index":4898,"title":{},"content":{"988":{"position":[[722,18]]}},"keywords":{}}],["hashtable.c",{"_index":8132,"title":{},"content":{"1448":{"position":[[2909,14]]}},"keywords":{}}],["haskel",{"_index":282,"title":{},"content":{"9":{"position":[[2287,8],[2438,7]]},"22":{"position":[[143,8]]},"23":{"position":[[1771,8]]},"1416":{"position":[[1345,7],[2281,7],[3452,7]]},"1420":{"position":[[1062,7],[1963,7],[2589,7]]},"1421":{"position":[[989,7]]}},"keywords":{}}],["haskell_binari",{"_index":7841,"title":{"1416":{"position":[[0,15]]}},"content":{"1416":{"position":[[4,15],[1300,16],[3551,15]]}},"keywords":{}}],["haskell_ghci",{"_index":7858,"title":{"1417":{"position":[[0,13]]}},"content":{"1417":{"position":[[4,13]]}},"keywords":{}}],["haskell_haddock",{"_index":7864,"title":{"1418":{"position":[[0,16]]}},"content":{"1418":{"position":[[4,16]]}},"keywords":{}}],["haskell_id",{"_index":7866,"title":{"1419":{"position":[[0,12]]}},"content":{"1419":{"position":[[4,12]]}},"keywords":{}}],["haskell_librari",{"_index":7848,"title":{"1420":{"position":[[0,16]]}},"content":{"1416":{"position":[[2346,17]]},"1420":{"position":[[4,16],[1008,17],[2028,17],[2688,16]]}},"keywords":{}}],["haskell_prebuilt_librari",{"_index":7869,"title":{"1421":{"position":[[0,25]]}},"content":{"1421":{"position":[[4,25]]}},"keywords":{}}],["hasprofilingcap",{"_index":4055,"title":{},"content":{"869":{"position":[[687,25]]}},"keywords":{}}],["hatch",{"_index":5595,"title":{},"content":{"1087":{"position":[[270,5]]}},"keywords":{}}],["hatch,"",{"_index":3435,"title":{},"content":{"685":{"position":[[140,12]]}},"keywords":{}}],["have",{"_index":307,"title":{},"content":{"9":{"position":[[2858,6]]},"23":{"position":[[866,6]]},"89":{"position":[[1079,6]]},"221":{"position":[[1079,6]]},"706":{"position":[[2332,6]]},"834":{"position":[[589,6]]},"919":{"position":[[1904,6],[2779,6]]},"933":{"position":[[137,6]]},"951":{"position":[[243,6]]},"958":{"position":[[213,6]]},"995":{"position":[[1020,6]]},"1040":{"position":[[2806,6]]},"1355":{"position":[[5974,6],[7031,6]]},"1398":{"position":[[6110,6]]},"1427":{"position":[[5147,6],[6230,6]]}},"keywords":{}}],["haveconfigur",{"_index":4822,"title":{},"content":{"969":{"position":[[275,17]]}},"keywords":{}}],["haveexecut",{"_index":3915,"title":{},"content":{"851":{"position":[[285,13]]}},"keywords":{}}],["haven't",{"_index":5530,"title":{},"content":{"1079":{"position":[[89,7]]}},"keywords":{}}],["haven’t",{"_index":3668,"title":{},"content":{"706":{"position":[[666,7]]}},"keywords":{}}],["haveout",{"_index":5652,"title":{},"content":{"1103":{"position":[[833,8]]}},"keywords":{}}],["header",{"_index":218,"title":{"1124":{"position":[[11,7]]}},"content":{"9":{"position":[[1046,6],[2023,8],[2470,7]]},"407":{"position":[[270,7]]},"418":{"position":[[294,6]]},"679":{"position":[[230,6],[293,7],[335,8]]},"680":{"position":[[387,6],[453,6],[478,6]]},"715":{"position":[[621,6]]},"786":{"position":[[270,7]]},"797":{"position":[[294,6]]},"1029":{"position":[[222,8],[356,6]]},"1035":{"position":[[236,7],[356,6]]},"1124":{"position":[[57,7]]},"1126":{"position":[[358,6]]},"1136":{"position":[[1717,12]]},"1148":{"position":[[2073,12]]},"1193":{"position":[[240,7]]},"1205":{"position":[[1197,12]]},"1209":{"position":[[950,12]]},"1226":{"position":[[2890,12]]},"1235":{"position":[[2210,12]]},"1237":{"position":[[3060,12]]},"1262":{"position":[[287,8]]},"1293":{"position":[[287,8]]},"1321":{"position":[[287,8]]},"1345":{"position":[[845,7],[920,7],[969,7]]},"1362":{"position":[[2163,8],[5193,6],[5285,7],[6714,6],[6900,6],[6932,6],[6948,6],[6966,6],[7025,6],[7056,7],[7147,6],[7372,6],[7420,6],[8381,7],[8418,7],[8498,7],[8805,7],[8835,8],[8855,6],[8988,6],[9020,6],[9036,6],[9054,6],[9113,6],[9144,7],[9388,6],[9436,6],[13891,7]]},"1364":{"position":[[2174,8],[5222,6],[5314,7],[6871,7],[6953,6],[7139,6],[7171,6],[7187,6],[7205,6],[7264,6],[7295,7],[7386,6],[7611,6],[7659,6],[9228,7],[9416,7],[9495,7],[9532,7],[9612,7],[9919,7],[9949,8],[9969,6],[10102,6],[10134,6],[10150,6],[10168,6],[10227,6],[10258,7],[10502,6],[10550,6],[13182,7],[13252,7],[14599,7]]},"1367":{"position":[[3354,8],[8469,7],[8506,7],[8586,7],[8893,7],[8923,8],[8943,6],[9076,6],[9108,6],[9124,6],[9142,6],[9201,6],[9232,7],[9476,6],[9524,6]]},"1373":{"position":[[1204,8],[4555,6],[4688,6],[4720,6],[4736,6],[4754,6],[4803,7],[5042,6],[5092,6],[7559,6],[7706,7],[7861,7],[8017,7],[8133,7],[8956,7]]},"1374":{"position":[[3009,7]]},"1382":{"position":[[1243,8],[5387,7],[5575,7],[5605,8],[5625,6],[5758,6],[5790,6],[5806,6],[5824,6],[5873,7],[6112,6],[6162,6],[8477,6],[8707,6],[8739,6],[8755,6],[8883,7],[10335,6],[10482,7],[10637,7],[10793,7],[10909,7],[11706,7],[11797,7],[11897,7]]},"1384":{"position":[[1952,8],[5916,7],[6031,7],[6141,6],[6320,6],[6352,6],[6368,6],[6386,7],[6624,6],[6674,6],[6711,6],[7818,6],[8048,6],[8080,6],[8096,6],[8271,7],[10334,7],[10522,7],[10552,8],[10572,6],[10705,6],[10737,6],[10753,6],[10771,6],[10820,7],[11059,6],[11109,6],[14822,6],[15052,6],[15084,6],[15100,6],[15228,7],[17409,6],[17556,7],[17711,7],[17867,7],[17983,7],[18113,7],[18183,7],[21270,6],[21527,7],[21899,7],[22072,6]]},"1385":{"position":[[699,8],[3301,7],[3489,7],[3538,6],[3671,6],[3703,6],[3719,6],[3737,6],[3786,7],[4025,6],[4075,6],[4706,6],[4936,6],[4968,6],[4984,6],[5112,7]]},"1386":{"position":[[606,6],[1616,7],[1636,6],[1681,6],[1730,6],[1779,6],[1820,8],[1842,7],[1999,6],[2181,6],[2456,6],[2924,6],[3151,6],[3388,7],[3631,8],[3949,6],[3992,6],[4313,6],[4457,6],[4636,6],[4809,6],[4876,6],[5113,6],[5522,6],[5680,6],[5732,6],[6246,6],[6282,6]]},"1387":{"position":[[2002,8],[5634,7],[5822,7],[5871,6],[6004,6],[6036,6],[6052,6],[6070,6],[6119,7],[6358,6],[6408,6],[8079,6],[8309,6],[8341,6],[8357,6],[8485,7]]},"1388":{"position":[[1428,8],[6474,8],[6494,6],[6627,6],[6659,6],[6675,6],[6693,6],[6742,7],[6981,6],[7031,6],[8828,6],[8975,7],[9130,7],[9286,7],[9402,7]]},"1393":{"position":[[4864,6],[6094,6],[7800,6],[7891,8],[9701,6]]},"1398":{"position":[[3273,6]]},"1407":{"position":[[4969,7]]},"1415":{"position":[[920,8]]},"1454":{"position":[[3288,6],[4764,7],[4845,6],[5024,6],[5056,6],[5072,6],[5090,7],[5328,6],[5378,6],[5415,6],[6217,6],[6447,6],[6479,6],[6495,6],[6670,7],[7238,7],[7426,7],[7511,7],[9688,7]]},"1455":{"position":[[2412,7]]},"1462":{"position":[[1664,8]]},"1467":{"position":[[1800,8]]},"1485":{"position":[[420,8],[1669,7],[1857,7],[1906,6],[2039,6],[2071,6],[2087,6],[2105,6],[2154,7],[2393,6],[2443,6],[2741,6],[2971,6],[3003,6],[3019,6],[3147,7],[3200,6],[3347,7],[3502,7],[3658,7],[3774,7]]}},"keywords":{}}],["header_dir",{"_index":7777,"title":{},"content":{"1407":{"position":[[5264,11]]},"1454":{"position":[[1333,12],[9788,11]]}},"keywords":{}}],["header_mod",{"_index":6924,"title":{},"content":{"1364":{"position":[[2075,12]]},"1384":{"position":[[1889,12]]}},"keywords":{}}],["header_nam",{"_index":6791,"title":{},"content":{"1362":{"position":[[7336,12],[7488,12],[9352,12],[9504,12]]},"1364":{"position":[[7575,12],[7727,12],[10466,12],[10618,12]]},"1367":{"position":[[9440,12],[9592,12]]},"1373":{"position":[[5022,12]]},"1382":{"position":[[6092,12]]},"1384":{"position":[[6604,12],[11039,12]]},"1385":{"position":[[4005,12]]},"1387":{"position":[[6338,12]]},"1388":{"position":[[6961,12]]},"1454":{"position":[[5308,12]]},"1485":{"position":[[2373,12]]}},"keywords":{}}],["header_namespac",{"_index":6726,"title":{},"content":{"1362":{"position":[[2093,17]]},"1364":{"position":[[2104,17],[9181,17]]},"1367":{"position":[[3284,17]]},"1373":{"position":[[1170,17],[4943,17],[4990,16],[5119,16]]},"1382":{"position":[[1209,17],[5340,17],[6013,17],[6060,16],[6189,16]]},"1384":{"position":[[1918,17],[6525,17],[6572,16],[6760,16],[10287,17],[10960,17],[11007,16],[11136,16],[21568,16]]},"1385":{"position":[[665,17],[3926,17],[3973,16],[4102,16]]},"1387":{"position":[[1968,17],[6259,17],[6306,16],[6435,16]]},"1388":{"position":[[1394,17],[6882,17],[6929,16],[7058,16]]},"1415":{"position":[[886,17]]},"1454":{"position":[[1368,17],[5229,17],[5276,16],[5464,16]]},"1462":{"position":[[1630,17]]},"1467":{"position":[[1766,17]]},"1485":{"position":[[386,17],[2294,17],[2341,16],[2470,16]]}},"keywords":{}}],["header_onli",{"_index":8145,"title":{},"content":{"1454":{"position":[[1402,12],[9768,11]]}},"keywords":{}}],["header_path_prefix",{"_index":6727,"title":{},"content":{"1362":{"position":[[2127,19],[7253,19],[7302,18],[7558,18],[8332,19],[8536,18],[9269,19],[9318,18],[9574,18]]},"1364":{"position":[[2138,19],[7492,19],[7541,18],[7797,18],[9446,19],[9650,18],[10383,19],[10432,18],[10688,18]]},"1367":{"position":[[3318,19],[8420,19],[8624,18],[9357,19],[9406,18],[9662,18]]}},"keywords":{}}],["headers_as_raw_headers_mod",{"_index":6728,"title":{},"content":{"1362":{"position":[[2204,28]]},"1364":{"position":[[2215,28]]},"1367":{"position":[[3395,28]]},"1373":{"position":[[1245,28]]},"1382":{"position":[[1284,28]]},"1384":{"position":[[1993,28]]},"1385":{"position":[[740,28]]},"1387":{"position":[[2043,28]]},"1388":{"position":[[1469,28]]},"1389":{"position":[[2337,28]]},"1415":{"position":[[961,28]]},"1462":{"position":[[1705,28]]},"1467":{"position":[[1841,28]]}},"keywords":{}}],["headers_tag",{"_index":5104,"title":{},"content":{"1031":{"position":[[221,11],[1035,11]]}},"keywords":{}}],["headers_tag.tag_artifacts(dep_fil",{"_index":5111,"title":{},"content":{"1031":{"position":[[645,35]]}},"keywords":{}}],["headers_tag.tag_artifacts(head",{"_index":5108,"title":{},"content":{"1031":{"position":[[524,34]]}},"keywords":{}}],["headers_whitelist",{"_index":7368,"title":{},"content":{"1389":{"position":[[2382,18]]}},"keywords":{}}],["heap",{"_index":385,"title":{"885":{"position":[[0,5],[10,4]]},"886":{"position":[[0,6]]},"887":{"position":[[0,4]]},"888":{"position":[[0,4]]}},"content":{"11":{"position":[[616,4]]},"886":{"position":[[41,4],[76,4],[330,4]]},"887":{"position":[[0,5],[60,4],[152,5],[210,4]]},"888":{"position":[[120,4],[175,4],[533,4],[655,4],[812,5],[838,4],[1001,5],[1050,4]]},"889":{"position":[[694,4],[895,4],[974,5],[1030,4]]},"892":{"position":[[8,4],[314,4],[328,4],[657,4],[1884,5]]},"898":{"position":[[206,4]]},"1056":{"position":[[288,4],[377,4],[469,4],[497,4],[761,4],[919,4],[1006,4]]},"1057":{"position":[[25,5],[1130,4],[1205,4],[1258,4]]},"1148":{"position":[[7365,4],[7387,4],[7408,4],[7432,4]]},"1186":{"position":[[582,4],[717,4],[917,4],[939,4],[960,4],[984,4]]},"1187":{"position":[[595,4],[730,4],[930,4],[952,4],[973,4],[997,4]]},"1188":{"position":[[5321,4],[5456,4],[5656,4],[5678,4],[5699,4],[5723,4]]}},"keywords":{}}],["heap::new",{"_index":4161,"title":{},"content":{"888":{"position":[[369,12]]}},"keywords":{}}],["hear",{"_index":8599,"title":{},"content":{"1486":{"position":[[4800,5]]}},"keywords":{}}],["heavi",{"_index":1194,"title":{},"content":{"94":{"position":[[1514,5]]},"226":{"position":[[1514,5]]},"710":{"position":[[196,5]]},"965":{"position":[[461,6]]}},"keywords":{}}],["heavili",{"_index":619,"title":{},"content":{"20":{"position":[[539,7]]},"23":{"position":[[3260,7]]},"690":{"position":[[571,7]]}},"keywords":{}}],["held",{"_index":5018,"title":{},"content":{"1004":{"position":[[2253,5]]}},"keywords":{}}],["hello",{"_index":2907,"title":{},"content":{"606":{"position":[[245,5]]},"615":{"position":[[246,5]]},"619":{"position":[[194,5]]},"910":{"position":[[374,5]]},"1044":{"position":[[1939,5]]},"1049":{"position":[[804,5],[981,6]]}},"keywords":{}}],["hello!x".rstrip("",{"_index":2979,"title":{},"content":{"615":{"position":[[297,27]]}},"keywords":{}}],["hello"",{"_index":2978,"title":{},"content":{"615":{"position":[[278,11],[345,11]]}},"keywords":{}}],["hello.c",{"_index":7136,"title":{},"content":{"1381":{"position":[[2627,11]]},"1456":{"position":[[1641,11]]}},"keywords":{}}],["hello.txt",{"_index":8630,"title":{},"content":{"1487":{"position":[[3921,9]]}},"keywords":{}}],["hello_artifact",{"_index":5274,"title":{},"content":{"1049":{"position":[[1294,14],[1486,15]]}},"keywords":{}}],["hello_world",{"_index":493,"title":{"18":{"position":[[20,11]]}},"content":{"17":{"position":[[313,13]]},"18":{"position":[[53,13],[149,11],[164,11]]}},"keywords":{}}],["helloinfo",{"_index":5179,"title":{},"content":{"1044":{"position":[[959,9],[1442,9]]},"1049":{"position":[[667,9]]}},"keywords":{}}],["helloinfo(hello",{"_index":5268,"title":{},"content":{"1049":{"position":[[963,15]]}},"keywords":{}}],["help",{"_index":2610,"title":{"1151":{"position":[[0,4]]},"1152":{"position":[[5,4]]},"1256":{"position":[[18,6]]}},"content":{"570":{"position":[[594,4],[618,5]]},"687":{"position":[[175,4]]},"689":{"position":[[146,4]]},"840":{"position":[[920,5]]},"841":{"position":[[392,5],[444,5],[470,4]]},"864":{"position":[[132,7]]},"870":{"position":[[228,4]]},"1086":{"position":[[74,7]]},"1120":{"position":[[877,4]]},"1127":{"position":[[139,4]]},"1136":{"position":[[2398,4],[2409,4],[5508,4]]},"1138":{"position":[[5497,4],[5508,4],[9170,4]]},"1140":{"position":[[4986,4],[4997,4],[8096,4]]},"1142":{"position":[[690,4],[701,4],[3540,4]]},"1144":{"position":[[338,4],[349,4]]},"1146":{"position":[[370,4],[381,4],[3480,4]]},"1148":{"position":[[2847,4],[2858,4],[6520,4]]},"1150":{"position":[[573,4],[584,4]]},"1152":{"position":[[6,4],[72,4],[271,4],[282,4]]},"1154":{"position":[[348,4],[379,4],[426,4],[437,4]]},"1155":{"position":[[726,4],[737,4],[3576,4]]},"1156":{"position":[[304,4],[315,4],[3154,4]]},"1157":{"position":[[209,4],[220,4]]},"1158":{"position":[[203,4],[214,4]]},"1159":{"position":[[203,4],[214,4]]},"1161":{"position":[[467,4],[478,4],[1047,4]]},"1163":{"position":[[265,4],[276,4]]},"1165":{"position":[[94,4],[105,4]]},"1167":{"position":[[5990,4],[6001,4],[9100,4]]},"1169":{"position":[[89,4],[100,4]]},"1171":{"position":[[841,4],[872,4],[919,4],[930,4]]},"1172":{"position":[[2304,4],[2315,4]]},"1173":{"position":[[74,4],[991,4],[1002,4]]},"1174":{"position":[[419,4],[430,4]]},"1175":{"position":[[415,4],[426,4]]},"1176":{"position":[[584,4],[595,4]]},"1177":{"position":[[505,4],[516,4]]},"1178":{"position":[[822,4],[833,4]]},"1179":{"position":[[619,4],[630,4]]},"1180":{"position":[[890,4],[901,4]]},"1181":{"position":[[679,4],[690,4],[1259,4]]},"1182":{"position":[[453,4],[464,4]]},"1183":{"position":[[408,4],[419,4]]},"1185":{"position":[[175,4],[206,4],[253,4],[264,4]]},"1186":{"position":[[1071,4],[1082,4],[4744,4]]},"1187":{"position":[[1084,4],[1095,4],[4757,4]]},"1188":{"position":[[5810,4],[5821,4],[9483,4]]},"1190":{"position":[[1506,4],[1537,4],[1584,4],[1595,4]]},"1191":{"position":[[494,4],[505,4],[3344,4]]},"1192":{"position":[[409,4],[420,4],[3519,4]]},"1193":{"position":[[721,4],[732,4],[3571,4]]},"1194":{"position":[[361,4],[372,4],[3211,4]]},"1195":{"position":[[339,4],[350,4],[3189,4]]},"1196":{"position":[[149,4],[160,4],[2999,4]]},"1197":{"position":[[309,4],[320,4],[3982,4]]},"1198":{"position":[[319,4],[330,4],[3992,4]]},"1199":{"position":[[347,4],[358,4],[4020,4]]},"1200":{"position":[[214,4],[225,4],[3887,4]]},"1201":{"position":[[297,4],[308,4],[3147,4]]},"1202":{"position":[[283,4],[314,4],[361,4],[372,4],[1439,4],[1450,4],[4289,4],[5836,4],[5847,4],[8686,4]]},"1203":{"position":[[271,4],[282,4],[3381,4]]},"1204":{"position":[[248,4],[279,4],[375,4],[386,4],[3225,4],[4597,4],[4608,4],[5527,4],[5538,4],[6429,4],[6440,4],[7415,4],[7426,4],[8369,4],[8380,4],[9316,4],[9327,4],[10246,4],[10257,4]]},"1205":{"position":[[1444,4],[1455,4],[4554,4]]},"1206":{"position":[[175,4],[186,4],[3025,4]]},"1207":{"position":[[332,4],[343,4],[3182,4]]},"1209":{"position":[[1680,4],[1691,4],[4530,4]]},"1211":{"position":[[324,4],[335,4]]},"1213":{"position":[[95,4],[106,4]]},"1215":{"position":[[179,4],[190,4]]},"1217":{"position":[[4731,4],[4742,4],[7841,4]]},"1219":{"position":[[977,4],[988,4]]},"1221":{"position":[[220,4],[251,4],[298,4],[309,4]]},"1222":{"position":[[101,4],[112,4],[2951,4]]},"1223":{"position":[[111,4],[122,4],[2961,4]]},"1224":{"position":[[291,4],[302,4]]},"1226":{"position":[[5199,4],[5210,4],[8309,4]]},"1228":{"position":[[6812,4],[6823,4],[9922,4]]},"1235":{"position":[[2940,4],[2951,4],[5790,4]]},"1237":{"position":[[5369,4],[5380,4],[8479,4]]},"1355":{"position":[[6494,4]]},"1398":{"position":[[6637,4]]}},"keywords":{}}],["help`"",{"_index":3864,"title":{},"content":{"840":{"position":[[1123,12]]}},"keywords":{}}],["helpdoc",{"_index":3861,"title":{},"content":{"840":{"position":[[859,8]]}},"keywords":{}}],["helper",{"_index":5700,"title":{},"content":{"1105":{"position":[[2490,7]]},"1398":{"position":[[2994,6]]}},"keywords":{}}],["henc",{"_index":1326,"title":{},"content":{"121":{"position":[[326,5]]},"530":{"position":[[326,5]]},"1024":{"position":[[229,6]]}},"keywords":{}}],["here",{"_index":860,"title":{},"content":{"41":{"position":[[571,4]]},"174":{"position":[[571,4]]},"374":{"position":[[828,4]]},"421":{"position":[[316,4]]},"484":{"position":[[76,4]]},"675":{"position":[[0,4]]},"690":{"position":[[561,4]]},"704":{"position":[[1549,4]]},"753":{"position":[[828,4]]},"800":{"position":[[316,4]]},"839":{"position":[[26,5]]},"860":{"position":[[300,4],[370,4]]},"864":{"position":[[398,5]]},"869":{"position":[[863,4]]},"878":{"position":[[332,4],[779,4],[1294,4]]},"904":{"position":[[459,4],[1208,5],[1215,5]]},"946":{"position":[[192,4]]},"964":{"position":[[643,4]]},"991":{"position":[[406,4],[3287,5]]},"1026":{"position":[[537,4]]},"1112":{"position":[[4466,4]]},"1113":{"position":[[563,5]]},"1167":{"position":[[366,4],[514,4],[663,4],[842,4],[1016,4],[1204,4],[1383,4],[1547,4],[1717,4],[1864,4]]},"1248":{"position":[[106,4]]},"1345":{"position":[[985,5]]},"1351":{"position":[[3554,4]]},"1353":{"position":[[2866,4]]},"1354":{"position":[[3103,4]]},"1360":{"position":[[5753,4]]},"1364":{"position":[[6902,4]]},"1366":{"position":[[3037,4]]},"1384":{"position":[[5947,4]]},"1393":{"position":[[7395,4]]},"1395":{"position":[[1877,4]]},"1398":{"position":[[4341,4]]},"1446":{"position":[[1777,5]]},"1454":{"position":[[4795,4]]},"1455":{"position":[[2443,4]]},"1462":{"position":[[8584,4],[9132,5]]},"1467":{"position":[[10066,4]]}},"keywords":{}}],["here'",{"_index":4892,"title":{},"content":{"988":{"position":[[205,6]]},"1356":{"position":[[1969,6]]},"1423":{"position":[[3752,6]]},"1469":{"position":[[2461,6],[2705,6],[3120,6],[3455,6]]}},"keywords":{}}],["hermet",{"_index":254,"title":{},"content":{"9":{"position":[[1660,8]]},"688":{"position":[[332,9]]},"693":{"position":[[262,8]]},"1383":{"position":[[4864,9]]},"1403":{"position":[[6187,8]]}},"keywords":{}}],["heterological?"",{"_index":2839,"title":{},"content":{"595":{"position":[[1772,20]]}},"keywords":{}}],["heurist",{"_index":4767,"title":{},"content":{"958":{"position":[[87,10],[288,10]]}},"keywords":{}}],["hex",{"_index":2382,"title":{},"content":{"445":{"position":[[86,3]]},"576":{"position":[[321,4],[376,4],[439,4]]},"824":{"position":[[86,3]]},"1404":{"position":[[1463,3]]}},"keywords":{}}],["hidden",{"_index":956,"title":{"407":{"position":[[0,7]]},"786":{"position":[[0,7]]}},"content":{"67":{"position":[[72,7]]},"68":{"position":[[76,7]]},"98":{"position":[[920,6]]},"99":{"position":[[1217,6]]},"230":{"position":[[920,6]]},"231":{"position":[[1217,6]]},"405":{"position":[[261,7]]},"455":{"position":[[72,7]]},"456":{"position":[[76,7]]},"784":{"position":[[261,7]]},"1071":{"position":[[512,6]]},"1083":{"position":[[1254,8]]},"1105":{"position":[[2109,6],[2420,6]]},"1398":{"position":[[1390,6]]}},"keywords":{}}],["hide",{"_index":896,"title":{},"content":{"50":{"position":[[313,4]]},"197":{"position":[[313,4]]},"632":{"position":[[303,4],[365,4]]}},"keywords":{}}],["hide_prefix",{"_index":891,"title":{},"content":{"50":{"position":[[39,12]]},"197":{"position":[[39,12]]}},"keywords":{}}],["high",{"_index":659,"title":{"715":{"position":[[0,4]]}},"content":{"22":{"position":[[878,4]]},"715":{"position":[[206,4],[1580,4]]},"840":{"position":[[1624,4]]},"981":{"position":[[691,4]]},"1171":{"position":[[803,4]]},"1183":{"position":[[8,4]]},"1250":{"position":[[159,4]]},"1486":{"position":[[715,4]]}},"keywords":{}}],["higher",{"_index":397,"title":{},"content":{"12":{"position":[[200,7]]},"94":{"position":[[1566,6]]},"226":{"position":[[1566,6]]},"567":{"position":[[157,6]]},"583":{"position":[[177,6]]},"1231":{"position":[[783,6]]},"1360":{"position":[[2919,6],[4661,6]]},"1383":{"position":[[2504,6],[6693,6]]},"1403":{"position":[[2334,6],[4076,6]]}},"keywords":{}}],["hint",{"_index":1765,"title":{},"content":{"320":{"position":[[288,4],[378,4]]}},"keywords":{}}],["hip_compil",{"_index":7369,"title":{},"content":{"1389":{"position":[[2416,13]]}},"keywords":{}}],["hip_compiler_flag",{"_index":7370,"title":{},"content":{"1389":{"position":[[2446,19]]}},"keywords":{}}],["hip_compiler_typ",{"_index":7371,"title":{},"content":{"1389":{"position":[[2481,18]]}},"keywords":{}}],["hip_preprocessor_flag",{"_index":7372,"title":{},"content":{"1389":{"position":[[2516,23]]}},"keywords":{}}],["histor",{"_index":6168,"title":{},"content":{"1237":{"position":[[109,10]]}},"keywords":{}}],["hit",{"_index":239,"title":{},"content":{"9":{"position":[[1419,5]]},"126":{"position":[[541,3]]},"249":{"position":[[541,3]]},"693":{"position":[[684,4],[4672,4],[4834,4]]},"704":{"position":[[754,4],[914,4],[1891,4]]},"705":{"position":[[805,4]]},"706":{"position":[[582,3],[1461,4],[1704,4],[1796,4]]},"724":{"position":[[561,4]]},"897":{"position":[[36,3]]},"1035":{"position":[[441,3]]},"1037":{"position":[[184,3]]},"1138":{"position":[[4040,3],[4087,4],[4974,4]]},"1140":{"position":[[3529,3],[3576,4],[4463,4]]},"1167":{"position":[[4533,3],[4580,4],[5467,4]]},"1172":{"position":[[1348,4]]},"1173":{"position":[[648,4]]},"1188":{"position":[[3582,3],[3629,4],[4516,4]]},"1217":{"position":[[3274,3],[3321,4],[4208,4]]},"1228":{"position":[[5355,3],[5402,4],[6289,4]]}},"keywords":{}}],["hit.buck2",{"_index":3648,"title":{},"content":{"705":{"position":[[716,9]]}},"keywords":{}}],["hoist",{"_index":6205,"title":{},"content":{"1251":{"position":[[303,5]]},"1254":{"position":[[392,5]]}},"keywords":{}}],["hold",{"_index":1618,"title":{},"content":{"295":{"position":[[125,5]]},"296":{"position":[[75,5]]},"302":{"position":[[125,5]]},"312":{"position":[[77,5]]},"1052":{"position":[[901,5]]},"1053":{"position":[[1556,7]]},"1363":{"position":[[3988,7]]}},"keywords":{}}],["home",{"_index":2664,"title":{},"content":{"581":{"position":[[333,4]]},"583":{"position":[[326,4],[654,4],[711,4]]}},"keywords":{}}],["homogen",{"_index":5316,"title":{},"content":{"1052":{"position":[[65,11]]}},"keywords":{}}],["hood",{"_index":1832,"title":{},"content":{"338":{"position":[[445,4]]},"994":{"position":[[222,5]]},"995":{"position":[[205,4],[570,4]]}},"keywords":{}}],["hook",{"_index":790,"title":{},"content":{"24":{"position":[[415,6]]},"877":{"position":[[666,6]]},"1058":{"position":[[1083,4]]},"1398":{"position":[[3455,6]]}},"keywords":{}}],["host",{"_index":2255,"title":{},"content":{"419":{"position":[[123,5]]},"663":{"position":[[241,4]]},"798":{"position":[[123,5]]},"937":{"position":[[4280,4]]},"944":{"position":[[610,4],[701,4],[971,4],[1168,4],[1423,4]]},"993":{"position":[[184,4]]},"1136":{"position":[[2845,4]]},"1138":{"position":[[2612,4],[6507,4]]},"1140":{"position":[[2101,4],[5433,4]]},"1142":{"position":[[877,4]]},"1146":{"position":[[817,4]]},"1148":{"position":[[3857,4]]},"1155":{"position":[[913,4]]},"1156":{"position":[[491,4]]},"1167":{"position":[[3105,4],[6437,4]]},"1169":{"position":[[276,4]]},"1186":{"position":[[2081,4]]},"1187":{"position":[[2094,4]]},"1188":{"position":[[2154,4],[6820,4]]},"1191":{"position":[[681,4]]},"1192":{"position":[[856,4]]},"1193":{"position":[[908,4]]},"1194":{"position":[[548,4]]},"1195":{"position":[[526,4]]},"1196":{"position":[[336,4]]},"1197":{"position":[[1319,4]]},"1198":{"position":[[1329,4]]},"1199":{"position":[[1357,4]]},"1200":{"position":[[1224,4]]},"1201":{"position":[[484,4]]},"1202":{"position":[[1626,4],[6023,4]]},"1203":{"position":[[718,4]]},"1204":{"position":[[562,4]]},"1205":{"position":[[1891,4]]},"1206":{"position":[[362,4]]},"1207":{"position":[[519,4]]},"1209":{"position":[[1867,4]]},"1217":{"position":[[1846,4],[5178,4]]},"1219":{"position":[[1164,4]]},"1222":{"position":[[288,4]]},"1223":{"position":[[298,4]]},"1224":{"position":[[478,4]]},"1226":{"position":[[5646,4]]},"1228":{"position":[[3927,4],[7259,4]]},"1235":{"position":[[3127,4]]},"1237":{"position":[[5816,4]]},"1362":{"position":[[10184,4]]},"1364":{"position":[[11298,4]]},"1367":{"position":[[11101,4],[13595,4],[13691,4]]},"1374":{"position":[[2256,4],[2317,4]]},"1382":{"position":[[6910,4]]},"1384":{"position":[[13264,4]]},"1388":{"position":[[7779,4]]},"1415":{"position":[[5119,4]]},"1469":{"position":[[3215,5]]}},"keywords":{}}],["host_info",{"_index":2252,"title":{"419":{"position":[[0,10]]},"798":{"position":[[0,10]]}},"content":{"419":{"position":[[4,11],[38,11]]},"798":{"position":[[4,11],[38,11]]},"937":{"position":[[4226,11]]}},"keywords":{}}],["host_select",{"_index":4707,"title":{},"content":{"944":{"position":[[1628,13]]}},"keywords":{}}],["hot",{"_index":6220,"title":{},"content":{"1254":{"position":[[314,3]]}},"keywords":{}}],["hour",{"_index":6080,"title":{},"content":{"1228":{"position":[[1876,6],[1883,5]]}},"keywords":{}}],["hous",{"_index":7239,"title":{},"content":{"1385":{"position":[[3128,6]]},"1444":{"position":[[1755,6]]}},"keywords":{}}],["hpp",{"_index":8107,"title":{},"content":{"1446":{"position":[[2423,4]]}},"keywords":{}}],["hr",{"_index":6081,"title":{},"content":{"1228":{"position":[[1889,3]]}},"keywords":{}}],["hrl",{"_index":7491,"title":{},"content":{"1393":{"position":[[7703,6],[7819,5]]}},"keywords":{}}],["http",{"_index":6032,"title":{},"content":{"1213":{"position":[[30,4]]},"1345":{"position":[[840,4]]},"1422":{"position":[[3949,5]]},"1423":{"position":[[2716,5]]},"1469":{"position":[[2173,5],[2179,6],[2507,5]]}},"keywords":{}}],["http://kentbeck.github.com/junit/javadoc/4.8",{"_index":8238,"title":{},"content":{"1458":{"position":[[2597,48]]}},"keywords":{}}],["http://search.maven.org/remotecontent?filepath=com/google/guava/guava/23.0/guava",{"_index":7931,"title":{},"content":{"1423":{"position":[[2798,81],[3020,81]]}},"keywords":{}}],["http_archiv",{"_index":7886,"title":{"1422":{"position":[[0,13]]}},"content":{"1422":{"position":[[4,13],[727,14],[1975,12],[2166,12],[3087,12],[3886,15],[3993,13]]}},"keywords":{}}],["http_file",{"_index":7924,"title":{"1423":{"position":[[0,10]]}},"content":{"1423":{"position":[[4,10],[628,11],[2656,12],[2755,10],[2973,10],[3344,11],[3547,10],[3775,11],[3835,10]]}},"keywords":{}}],["http_file()execut",{"_index":7925,"title":{},"content":{"1423":{"position":[[817,22]]}},"keywords":{}}],["https://buck2.build/docs/rule_authors/anon_target",{"_index":1019,"title":{},"content":{"81":{"position":[[416,51]]},"213":{"position":[[416,51]]}},"keywords":{}}],["https://buck2.build/docs/rule_authors/transitive_set",{"_index":1248,"title":{},"content":{"97":{"position":[[172,55]]},"229":{"position":[[172,55]]}},"keywords":{}}],["https://buck2.build/docs/users/query/aqueri",{"_index":5858,"title":{},"content":{"1136":{"position":[[219,44]]}},"keywords":{}}],["https://buck2.build/docs/users/query/cqueri",{"_index":5948,"title":{},"content":{"1148":{"position":[[752,44]]}},"keywords":{}}],["https://buck2.build/docs/users/query/uqueri",{"_index":6163,"title":{},"content":{"1235":{"position":[[545,44]]}},"keywords":{}}],["https://dl.google.com/android/ndk/android",{"_index":8382,"title":{},"content":{"1469":{"position":[[2579,42]]}},"keywords":{}}],["https://engineering.fb.com/2018/07/13/data",{"_index":3660,"title":{},"content":{"706":{"position":[[308,44]]}},"keywords":{}}],["https://github.com/facebook/buck2.git",{"_index":462,"title":{},"content":{"15":{"position":[[494,37]]},"17":{"position":[[346,37]]}},"keywords":{}}],["https://github.com/facebook/foo",{"_index":5621,"title":{},"content":{"1096":{"position":[[278,31]]}},"keywords":{}}],["https://github.com/facebookincubator/reind",{"_index":427,"title":{},"content":{"13":{"position":[[304,45]]}},"keywords":{}}],["https://github.com/kotlin/kotlinx.serialization/issues/64",{"_index":8060,"title":{},"content":{"1439":{"position":[[6326,57]]}},"keywords":{}}],["https://intern",{"_index":7910,"title":{},"content":{"1422":{"position":[[4041,17]]},"1423":{"position":[[3594,17]]}},"keywords":{}}],["huge",{"_index":266,"title":{},"content":{"9":{"position":[[1842,4]]},"924":{"position":[[939,4]]}},"keywords":{}}],["huge_target_list",{"_index":6203,"title":{},"content":{"1251":{"position":[[188,17],[414,17]]},"1255":{"position":[[125,17],[301,17]]}},"keywords":{}}],["human",{"_index":3081,"title":{},"content":{"632":{"position":[[161,5]]},"1363":{"position":[[4237,6]]}},"keywords":{}}],["hybrid",{"_index":1213,"title":{},"content":{"94":{"position":[[2882,6],[3060,6],[3656,7]]},"226":{"position":[[2882,6],[3060,6],[3656,7]]},"362":{"position":[[1180,6],[2043,6]]},"693":{"position":[[4581,6],[4711,6]]},"706":{"position":[[1495,6]]},"724":{"position":[[339,6],[1563,6]]},"741":{"position":[[1180,6],[2043,6]]},"1138":{"position":[[2526,6],[2640,6]]},"1140":{"position":[[2015,6],[2129,6]]},"1167":{"position":[[3019,6],[3133,6]]},"1188":{"position":[[2068,6],[2182,6]]},"1217":{"position":[[1760,6],[1874,6]]},"1228":{"position":[[3841,6],[3955,6]]},"1362":{"position":[[10030,6],[10087,6]]},"1364":{"position":[[11144,6],[11201,6]]},"1367":{"position":[[10947,6],[11004,6]]},"1382":{"position":[[6756,6],[6813,6]]},"1384":{"position":[[13110,6],[13167,6]]},"1388":{"position":[[7625,6],[7682,6]]}},"keywords":{}}],["hypothet",{"_index":5661,"title":{},"content":{"1104":{"position":[[1552,12]]}},"keywords":{}}],["i"",{"_index":5114,"title":{},"content":{"1031":{"position":[[902,8]]}},"keywords":{}}],["i'm",{"_index":4844,"title":{},"content":{"977":{"position":[[591,3]]},"1477":{"position":[[3228,3]]}},"keywords":{}}],["i'v",{"_index":4854,"title":{},"content":{"980":{"position":[[954,4],[1489,4]]}},"keywords":{}}],["i.",{"_index":1237,"title":{},"content":{"94":{"position":[[4278,5]]},"226":{"position":[[4278,5]]},"333":{"position":[[409,4]]},"345":{"position":[[463,5]]},"362":{"position":[[2205,5]]},"416":{"position":[[336,5]]},"417":{"position":[[566,5]]},"741":{"position":[[2205,5]]},"795":{"position":[[336,5]]},"796":{"position":[[566,5]]},"951":{"position":[[785,4]]},"954":{"position":[[141,3]]},"966":{"position":[[287,4]]},"1138":{"position":[[3258,5],[3345,5]]},"1140":{"position":[[2747,5],[2834,5]]},"1167":{"position":[[3751,5],[3838,5]]},"1172":{"position":[[1507,5]]},"1173":{"position":[[807,5]]},"1181":{"position":[[574,5]]},"1188":{"position":[[2800,5],[2887,5]]},"1217":{"position":[[2492,5],[2579,5]]},"1228":{"position":[[4573,5],[4660,5]]},"1232":{"position":[[3807,4]]},"1253":{"position":[[71,4]]},"1345":{"position":[[486,5],[763,5]]},"1351":{"position":[[3226,6]]},"1362":{"position":[[6358,5]]},"1364":{"position":[[6387,5]]},"1367":{"position":[[7785,5]]},"1373":{"position":[[3914,5]]},"1382":{"position":[[4270,5]]},"1384":{"position":[[5432,5]]},"1386":{"position":[[5211,4]]},"1388":{"position":[[4570,5]]},"1389":{"position":[[5428,6],[5675,6]]},"1393":{"position":[[7813,5]]},"1410":{"position":[[4536,5]]},"1454":{"position":[[4379,5]]},"1459":{"position":[[647,6]]},"1462":{"position":[[5392,5]]},"1471":{"position":[[2938,5]]}},"keywords":{}}],["i.when",{"_index":4360,"title":{},"content":{"900":{"position":[[127,6]]}},"keywords":{}}],["i/o",{"_index":4836,"title":{},"content":{"976":{"position":[[224,5]]},"1120":{"position":[[784,3]]},"1126":{"position":[[1615,4]]},"1136":{"position":[[5586,3]]},"1138":{"position":[[9248,3]]},"1140":{"position":[[8174,3]]},"1142":{"position":[[3618,3]]},"1146":{"position":[[3558,3]]},"1148":{"position":[[6598,3]]},"1155":{"position":[[3654,3]]},"1156":{"position":[[3232,3]]},"1161":{"position":[[1125,3]]},"1167":{"position":[[9178,3]]},"1181":{"position":[[1337,3]]},"1186":{"position":[[4822,3]]},"1187":{"position":[[4835,3]]},"1188":{"position":[[9561,3]]},"1191":{"position":[[3422,3]]},"1192":{"position":[[3597,3]]},"1193":{"position":[[3649,3]]},"1194":{"position":[[3289,3]]},"1195":{"position":[[3267,3]]},"1196":{"position":[[3077,3]]},"1197":{"position":[[4060,3]]},"1198":{"position":[[4070,3]]},"1199":{"position":[[4098,3]]},"1200":{"position":[[3965,3]]},"1201":{"position":[[3225,3]]},"1202":{"position":[[4367,3],[8764,3]]},"1203":{"position":[[3459,3]]},"1204":{"position":[[3303,3]]},"1205":{"position":[[4632,3]]},"1206":{"position":[[3103,3]]},"1207":{"position":[[3260,3]]},"1209":{"position":[[4608,3]]},"1217":{"position":[[7919,3]]},"1222":{"position":[[3029,3]]},"1223":{"position":[[3039,3]]},"1226":{"position":[[8387,3]]},"1228":{"position":[[10000,3]]},"1235":{"position":[[5868,3]]},"1237":{"position":[[8557,3]]}},"keywords":{}}],["ibtool",{"_index":6888,"title":{},"content":{"1363":{"position":[[4822,6]]},"1368":{"position":[[848,7]]}},"keywords":{}}],["ibtool_flag",{"_index":6855,"title":{},"content":{"1363":{"position":[[1842,13],[4778,13],[7729,12]]}},"keywords":{}}],["ibtool_module_flag",{"_index":6856,"title":{},"content":{"1363":{"position":[[1878,19]]}},"keywords":{}}],["icon",{"_index":6680,"title":{},"content":{"1361":{"position":[[1927,5],[2470,4],[2583,7]]}},"keywords":{}}],["id",{"_index":526,"title":{"872":{"position":[[23,4]]}},"content":{"17":{"position":[[1359,3]]},"23":{"position":[[2971,3]]},"304":{"position":[[33,3],[128,2],[236,2]]},"864":{"position":[[97,3],[196,3]]},"872":{"position":[[0,3],[449,3],[502,3]]},"955":{"position":[[353,3]]},"964":{"position":[[4,5]]},"1112":{"position":[[25,2]]},"1126":{"position":[[442,3]]},"1127":{"position":[[354,2]]},"1136":{"position":[[5789,2],[5830,2]]},"1138":{"position":[[9451,2],[9492,2]]},"1140":{"position":[[8377,2],[8418,2]]},"1142":{"position":[[3821,2],[3862,2]]},"1146":{"position":[[3761,2],[3802,2]]},"1148":{"position":[[6801,2],[6842,2]]},"1155":{"position":[[3857,2],[3898,2]]},"1156":{"position":[[3435,2],[3476,2]]},"1163":{"position":[[395,2],[436,2]]},"1165":{"position":[[224,2],[265,2]]},"1167":{"position":[[9381,2],[9422,2]]},"1169":{"position":[[2489,2],[2530,2]]},"1172":{"position":[[1025,2],[1057,2]]},"1173":{"position":[[325,2],[357,2]]},"1174":{"position":[[229,2],[261,2]]},"1175":{"position":[[249,2],[281,2]]},"1176":{"position":[[333,2],[365,2]]},"1177":{"position":[[245,2],[277,2]]},"1178":{"position":[[399,2],[431,2]]},"1179":{"position":[[265,2],[297,2]]},"1180":{"position":[[595,2],[627,2]]},"1181":{"position":[[350,2],[382,2]]},"1182":{"position":[[287,2],[319,2]]},"1183":{"position":[[242,2],[274,2]]},"1186":{"position":[[5025,2],[5066,2]]},"1187":{"position":[[5038,2],[5079,2]]},"1188":{"position":[[9764,2],[9805,2]]},"1190":{"position":[[484,3]]},"1191":{"position":[[3625,2],[3666,2]]},"1192":{"position":[[3800,2],[3841,2]]},"1193":{"position":[[3852,2],[3893,2]]},"1194":{"position":[[41,3],[3492,2],[3533,2]]},"1195":{"position":[[3470,2],[3511,2]]},"1196":{"position":[[3280,2],[3321,2]]},"1197":{"position":[[4263,2],[4304,2]]},"1198":{"position":[[4273,2],[4314,2]]},"1199":{"position":[[4301,2],[4342,2]]},"1200":{"position":[[4168,2],[4209,2]]},"1201":{"position":[[3428,2],[3469,2]]},"1202":{"position":[[4570,2],[4611,2],[8967,2],[9008,2]]},"1203":{"position":[[3662,2],[3703,2]]},"1204":{"position":[[3506,2],[3547,2]]},"1205":{"position":[[4835,2],[4876,2]]},"1206":{"position":[[3306,2],[3347,2]]},"1207":{"position":[[3463,2],[3504,2]]},"1209":{"position":[[4811,2],[4852,2]]},"1217":{"position":[[45,2],[8122,2],[8163,2]]},"1219":{"position":[[3377,2],[3418,2]]},"1222":{"position":[[3232,2],[3273,2]]},"1223":{"position":[[3242,2],[3283,2]]},"1224":{"position":[[2691,2],[2732,2]]},"1226":{"position":[[8590,2],[8631,2]]},"1228":{"position":[[10203,2],[10244,2]]},"1235":{"position":[[6071,2],[6112,2]]},"1237":{"position":[[8760,2],[8801,2]]},"1351":{"position":[[2012,2]]},"1363":{"position":[[6462,2],[6876,2]]},"1421":{"position":[[644,3]]},"1486":{"position":[[5310,2]]}},"keywords":{}}],["idb_companion=bar:2",{"_index":5339,"title":{},"content":{"1054":{"position":[[952,21]]}},"keywords":{}}],["ide/editor",{"_index":4084,"title":{},"content":{"873":{"position":[[307,11]]}},"keywords":{}}],["idea",{"_index":663,"title":{},"content":{"22":{"position":[[932,5]]},"954":{"position":[[760,4]]},"1070":{"position":[[969,4]]}},"keywords":{}}],["ideal",{"_index":3514,"title":{},"content":{"693":{"position":[[254,7]]},"856":{"position":[[605,7],[706,7],[807,7],[938,7]]},"998":{"position":[[324,6]]},"1355":{"position":[[6204,8]]},"1427":{"position":[[5377,8]]}},"keywords":{}}],["ident",{"_index":907,"title":{},"content":{"52":{"position":[[127,9]]},"53":{"position":[[105,9]]},"199":{"position":[[127,9]]},"200":{"position":[[105,9]]},"410":{"position":[[54,8]]},"414":{"position":[[281,9]]},"666":{"position":[[473,8]]},"693":{"position":[[5122,10]]},"789":{"position":[[54,8]]},"793":{"position":[[281,9]]},"1004":{"position":[[2064,9]]},"1172":{"position":[[226,8]]},"1393":{"position":[[2710,10],[8594,10]]},"1420":{"position":[[1042,8]]},"1462":{"position":[[5788,9]]},"1467":{"position":[[6284,9]]}},"keywords":{}}],["identfi",{"_index":6002,"title":{},"content":{"1180":{"position":[[174,10]]}},"keywords":{}}],["identifi",{"_index":269,"title":{},"content":{"9":{"position":[[1955,10]]},"94":{"position":[[289,11],[1374,10],[1407,8]]},"226":{"position":[[289,11],[1374,10],[1407,8]]},"280":{"position":[[240,10]]},"304":{"position":[[269,8]]},"693":{"position":[[8623,10]]},"695":{"position":[[682,8]]},"717":{"position":[[155,10],[634,11]]},"864":{"position":[[109,10],[143,8]]},"867":{"position":[[1036,10]]},"894":{"position":[[165,10]]},"895":{"position":[[34,11],[142,10]]},"898":{"position":[[377,11]]},"988":{"position":[[350,11]]},"1033":{"position":[[212,11]]},"1035":{"position":[[338,8]]},"1067":{"position":[[44,10]]},"1112":{"position":[[28,11],[3867,10],[3892,11]]},"1126":{"position":[[412,11],[537,11]]},"1136":{"position":[[6712,11]]},"1138":{"position":[[10374,11]]},"1140":{"position":[[9300,11]]},"1142":{"position":[[4744,11]]},"1144":{"position":[[1072,11]]},"1146":{"position":[[4684,11]]},"1148":{"position":[[8275,11]]},"1150":{"position":[[1307,11]]},"1152":{"position":[[1005,11]]},"1154":{"position":[[1160,11]]},"1155":{"position":[[4780,11]]},"1156":{"position":[[4358,11]]},"1157":{"position":[[943,11]]},"1158":{"position":[[937,11]]},"1159":{"position":[[937,11]]},"1161":{"position":[[1932,11]]},"1163":{"position":[[1318,11]]},"1165":{"position":[[1147,11]]},"1167":{"position":[[10304,11]]},"1169":{"position":[[3412,11]]},"1171":{"position":[[1653,11]]},"1172":{"position":[[3038,11]]},"1173":{"position":[[1725,11]]},"1174":{"position":[[1153,11]]},"1175":{"position":[[1149,11]]},"1176":{"position":[[1318,11]]},"1177":{"position":[[1239,11]]},"1178":{"position":[[1556,11]]},"1179":{"position":[[1353,11]]},"1180":{"position":[[1624,11]]},"1181":{"position":[[2144,11]]},"1182":{"position":[[1187,11]]},"1183":{"position":[[1142,11]]},"1185":{"position":[[987,11]]},"1186":{"position":[[5948,11]]},"1187":{"position":[[5961,11]]},"1188":{"position":[[10687,11]]},"1190":{"position":[[2318,11]]},"1191":{"position":[[4548,11]]},"1192":{"position":[[4723,11]]},"1193":{"position":[[4775,11]]},"1194":{"position":[[4415,11]]},"1195":{"position":[[4393,11]]},"1196":{"position":[[4203,11]]},"1197":{"position":[[5186,11]]},"1198":{"position":[[5196,11]]},"1199":{"position":[[5224,11]]},"1200":{"position":[[5091,11]]},"1201":{"position":[[4351,11]]},"1202":{"position":[[1095,11],[5493,11],[9890,11]]},"1203":{"position":[[122,12],[225,12],[245,10],[4585,11]]},"1204":{"position":[[4429,11],[5331,11],[6261,11],[7163,11],[8149,11],[9103,11],[10050,11],[10980,11]]},"1205":{"position":[[5758,11]]},"1206":{"position":[[4457,11]]},"1207":{"position":[[4386,11]]},"1209":{"position":[[5734,11]]},"1211":{"position":[[1058,11]]},"1213":{"position":[[829,11]]},"1215":{"position":[[913,11]]},"1217":{"position":[[9045,11]]},"1219":{"position":[[4300,11]]},"1221":{"position":[[1032,11]]},"1222":{"position":[[4171,11]]},"1223":{"position":[[4181,11]]},"1224":{"position":[[3614,11]]},"1226":{"position":[[9513,11]]},"1228":{"position":[[11126,11]]},"1232":{"position":[[3927,8]]},"1235":{"position":[[6994,11]]},"1237":{"position":[[9683,11]]},"1362":{"position":[[10859,11]]},"1364":{"position":[[11826,11]]},"1367":{"position":[[13473,11]]},"1370":{"position":[[1651,11]]},"1373":{"position":[[5375,11]]},"1381":{"position":[[2397,10]]},"1382":{"position":[[7728,11]]},"1384":{"position":[[13792,11]]},"1387":{"position":[[7053,11]]},"1421":{"position":[[980,8]]},"1426":{"position":[[1920,8]]},"1458":{"position":[[932,8]]},"1462":{"position":[[8005,13]]},"1467":{"position":[[9065,13]]}},"keywords":{}}],["ie",{"_index":1152,"title":{},"content":{"92":{"position":[[2203,2]]},"224":{"position":[[2203,2]]},"1098":{"position":[[157,2]]}},"keywords":{}}],["ifstat",{"_index":5431,"title":{},"content":{"1058":{"position":[[681,11]]}},"keywords":{}}],["ignor",{"_index":2020,"title":{},"content":{"374":{"position":[[1879,7]]},"406":{"position":[[574,8]]},"450":{"position":[[324,7]]},"675":{"position":[[621,8]]},"753":{"position":[[1879,7]]},"785":{"position":[[574,8]]},"829":{"position":[[324,7]]},"898":{"position":[[313,8]]},"927":{"position":[[190,7]]},"989":{"position":[[498,7]]},"1021":{"position":[[691,7]]},"1069":{"position":[[803,7]]},"1088":{"position":[[83,7]]},"1098":{"position":[[333,8]]},"1136":{"position":[[3234,8],[3340,8],[3435,8]]},"1138":{"position":[[6896,8],[7002,8],[7097,8]]},"1140":{"position":[[5822,8],[5928,8],[6023,8]]},"1142":{"position":[[1266,8],[1372,8],[1467,8]]},"1146":{"position":[[324,6],[1206,8],[1312,8],[1407,8]]},"1148":{"position":[[4246,8],[4352,8],[4447,8]]},"1155":{"position":[[1302,8],[1408,8],[1503,8]]},"1156":{"position":[[880,8],[986,8],[1081,8]]},"1167":{"position":[[6826,8],[6932,8],[7027,8]]},"1169":{"position":[[665,8],[771,8],[866,8]]},"1186":{"position":[[2470,8],[2576,8],[2671,8]]},"1187":{"position":[[2483,8],[2589,8],[2684,8]]},"1188":{"position":[[7209,8],[7315,8],[7410,8]]},"1191":{"position":[[1070,8],[1176,8],[1271,8]]},"1192":{"position":[[1245,8],[1351,8],[1446,8]]},"1193":{"position":[[1297,8],[1403,8],[1498,8]]},"1194":{"position":[[937,8],[1043,8],[1138,8]]},"1195":{"position":[[915,8],[1021,8],[1116,8]]},"1196":{"position":[[725,8],[831,8],[926,8]]},"1197":{"position":[[1708,8],[1814,8],[1909,8]]},"1198":{"position":[[1718,8],[1824,8],[1919,8]]},"1199":{"position":[[1746,8],[1852,8],[1947,8]]},"1200":{"position":[[1613,8],[1719,8],[1814,8]]},"1201":{"position":[[873,8],[979,8],[1074,8]]},"1202":{"position":[[2015,8],[2121,8],[2216,8],[6412,8],[6518,8],[6613,8]]},"1203":{"position":[[1107,8],[1213,8],[1308,8]]},"1204":{"position":[[951,8],[1057,8],[1152,8]]},"1205":{"position":[[2280,8],[2386,8],[2481,8]]},"1206":{"position":[[751,8],[857,8],[952,8]]},"1207":{"position":[[908,8],[1014,8],[1109,8]]},"1209":{"position":[[2256,8],[2362,8],[2457,8]]},"1217":{"position":[[5567,8],[5673,8],[5768,8]]},"1219":{"position":[[1553,8],[1659,8],[1754,8]]},"1222":{"position":[[677,8],[783,8],[878,8]]},"1223":{"position":[[687,8],[793,8],[888,8]]},"1224":{"position":[[867,8],[973,8],[1068,8]]},"1226":{"position":[[6035,8],[6141,8],[6236,8]]},"1228":{"position":[[2247,6],[7648,8],[7754,8],[7849,8]]},"1235":{"position":[[3516,8],[3622,8],[3717,8]]},"1237":{"position":[[6205,8],[6311,8],[6406,8]]},"1362":{"position":[[7590,8],[9606,8]]},"1364":{"position":[[7829,8],[10720,8]]},"1367":{"position":[[9694,8]]},"1405":{"position":[[3175,7]]},"1407":{"position":[[3596,7]]},"1410":{"position":[[4177,7]]},"1427":{"position":[[4181,6],[4199,6]]},"1471":{"position":[[4820,8]]},"1472":{"position":[[3771,8],[5404,8]]},"1473":{"position":[[5141,8]]},"1485":{"position":[[4634,7]]}},"keywords":{}}],["ignore_aapt_proguard_config",{"_index":6436,"title":{},"content":{"1350":{"position":[[1853,28]]},"1352":{"position":[[1852,28]]}},"keywords":{}}],["ignore_artifact",{"_index":2131,"title":{"406":{"position":[[0,17]]},"785":{"position":[[0,17]]}},"content":{"405":{"position":[[584,17]]},"406":{"position":[[504,16]]},"784":{"position":[[584,17]]},"785":{"position":[[504,16]]}},"keywords":{}}],["ignore_artifacts=tru",{"_index":2162,"title":{},"content":{"406":{"position":[[0,21]]},"785":{"position":[[0,21]]}},"keywords":{}}],["ignore_compile_error",{"_index":8259,"title":{},"content":{"1461":{"position":[[702,22]]},"1465":{"position":[[683,22]]}},"keywords":{}}],["ignored.loc",{"_index":6806,"title":{},"content":{"1362":{"position":[[10106,13]]},"1364":{"position":[[11220,13]]},"1367":{"position":[[11023,13]]},"1382":{"position":[[6832,13]]},"1384":{"position":[[13186,13]]},"1388":{"position":[[7701,13]]}},"keywords":{}}],["ignored.output",{"_index":1124,"title":{},"content":{"92":{"position":[[754,15]]},"224":{"position":[[754,15]]}},"keywords":{}}],["illustr",{"_index":4199,"title":{},"content":{"890":{"position":[[333,11]]},"1024":{"position":[[889,11]]},"1138":{"position":[[4151,10]]},"1140":{"position":[[3640,10]]},"1167":{"position":[[4644,10]]},"1188":{"position":[[3693,10]]},"1217":{"position":[[3385,10]]},"1228":{"position":[[5466,10]]}},"keywords":{}}],["imag",{"_index":129,"title":{},"content":{"6":{"position":[[299,5]]},"1260":{"position":[[805,6]]},"1291":{"position":[[805,6]]},"1319":{"position":[[805,6]]},"1346":{"position":[[646,6],[690,5],[702,5]]},"1361":{"position":[[1889,5],[2142,5],[2187,6],[2486,5]]},"1366":{"position":[[3300,9]]}},"keywords":{}}],["image.png",{"_index":6277,"title":{},"content":{"1260":{"position":[[964,9]]},"1291":{"position":[[964,9]]},"1319":{"position":[[964,9]]}},"keywords":{}}],["imagin",{"_index":3632,"title":{},"content":{"704":{"position":[[10,7],[146,7]]},"1026":{"position":[[998,7]]},"1105":{"position":[[1609,7]]},"1487":{"position":[[3219,7]]}},"keywords":{}}],["immedi",{"_index":1332,"title":{},"content":{"123":{"position":[[99,11]]},"532":{"position":[[99,11]]},"724":{"position":[[1715,11]]},"890":{"position":[[5716,11]]},"892":{"position":[[835,11]]},"921":{"position":[[452,9]]},"990":{"position":[[866,9]]},"1098":{"position":[[713,12]]},"1277":{"position":[[127,9]]},"1308":{"position":[[127,9]]},"1336":{"position":[[127,9]]}},"keywords":{}}],["immut",{"_index":3778,"title":{},"content":{"715":{"position":[[91,9]]},"836":{"position":[[52,10]]},"870":{"position":[[1339,9]]},"898":{"position":[[548,10],[1688,9],[1803,9],[2629,9],[2705,9]]}},"keywords":{}}],["immutable(frozenvalu",{"_index":4344,"title":{},"content":{"898":{"position":[[2225,23]]}},"keywords":{}}],["immutablepseudo",{"_index":4354,"title":{},"content":{"898":{"position":[[2611,15]]}},"keywords":{}}],["impact",{"_index":320,"title":{"572":{"position":[[12,6]]}},"content":{"10":{"position":[[343,6]]},"22":{"position":[[1334,6]]},"66":{"position":[[142,6]]},"454":{"position":[[142,6]]},"572":{"position":[[261,6]]},"1079":{"position":[[284,6]]}},"keywords":{}}],["impart",{"_index":8269,"title":{},"content":{"1461":{"position":[[3176,8]]}},"keywords":{}}],["impl",{"_index":2100,"title":{},"content":{"400":{"position":[[18,5]]},"403":{"position":[[17,5]]},"411":{"position":[[24,5]]},"437":{"position":[[13,5]]},"447":{"position":[[19,5]]},"712":{"position":[[3200,4]]},"779":{"position":[[18,5]]},"782":{"position":[[17,5]]},"790":{"position":[[24,5]]},"816":{"position":[[13,5]]},"826":{"position":[[19,5]]},"840":{"position":[[297,4],[999,4]]},"850":{"position":[[214,4]]},"864":{"position":[[538,4],[1338,4]]},"878":{"position":[[1585,4]]},"930":{"position":[[134,4]]},"961":{"position":[[489,4]]},"966":{"position":[[331,4],[548,4]]},"991":{"position":[[67,4],[189,4],[634,4]]},"1006":{"position":[[852,4]]},"1042":{"position":[[84,4],[149,4]]},"1043":{"position":[[261,4],[352,4]]},"1044":{"position":[[1037,4],[1575,4],[1717,4],[2832,4]]},"1046":{"position":[[50,4]]},"1047":{"position":[[218,4]]},"1048":{"position":[[797,4],[1507,4]]},"1049":{"position":[[1023,4]]},"1054":{"position":[[1386,4]]},"1108":{"position":[[441,4]]}},"keywords":{}}],["impl(ctx",{"_index":1943,"title":{},"content":{"368":{"position":[[696,10]]},"747":{"position":[[696,10]]},"1047":{"position":[[269,10]]}},"keywords":{}}],["impl=impl",{"_index":1961,"title":{},"content":{"368":{"position":[[1215,10]]},"747":{"position":[[1215,10]]}},"keywords":{}}],["implement",{"_index":766,"title":{"883":{"position":[[0,12]]},"924":{"position":[[7,9]]},"925":{"position":[[16,9]]},"928":{"position":[[7,9]]},"974":{"position":[[0,15]]},"1009":{"position":[[46,15]]},"1034":{"position":[[19,12]]},"1040":{"position":[[0,15]]},"1089":{"position":[[0,14]]}},"content":{"23":{"position":[[2887,14]]},"234":{"position":[[162,15]]},"368":{"position":[[437,15],[601,14]]},"427":{"position":[[195,16]]},"570":{"position":[[258,14]]},"573":{"position":[[168,14]]},"591":{"position":[[437,14]]},"693":{"position":[[7023,15],[7150,14],[7464,14]]},"715":{"position":[[900,14]]},"718":{"position":[[517,15]]},"747":{"position":[[437,15],[601,14]]},"806":{"position":[[195,16]]},"840":{"position":[[1146,14]]},"845":{"position":[[109,14]]},"890":{"position":[[192,11],[6095,11]]},"896":{"position":[[1059,14]]},"898":{"position":[[2026,14]]},"924":{"position":[[839,16],[1197,9],[1529,14]]},"926":{"position":[[129,11]]},"930":{"position":[[9,14]]},"942":{"position":[[1788,12],[1839,12]]},"944":{"position":[[1035,12],[2029,9]]},"946":{"position":[[571,11]]},"951":{"position":[[290,15]]},"956":{"position":[[23,11]]},"977":{"position":[[65,14],[365,14],[617,14]]},"991":{"position":[[2791,14]]},"1004":{"position":[[452,14],[554,14],[717,14]]},"1006":{"position":[[711,14]]},"1007":{"position":[[34,14]]},"1009":{"position":[[322,14]]},"1017":{"position":[[247,14]]},"1019":{"position":[[520,11]]},"1021":{"position":[[575,14]]},"1050":{"position":[[2523,14],[3526,14],[3708,14]]},"1054":{"position":[[192,14]]},"1057":{"position":[[1076,11]]},"1087":{"position":[[303,9]]},"1102":{"position":[[395,16],[929,9]]},"1103":{"position":[[546,11],[1490,14]]},"1233":{"position":[[182,9]]},"1241":{"position":[[130,9]]},"1247":{"position":[[479,12]]},"1259":{"position":[[1187,12]]},"1272":{"position":[[21,12]]},"1290":{"position":[[1187,12]]},"1303":{"position":[[21,12]]},"1318":{"position":[[1187,12]]},"1331":{"position":[[21,12]]},"1398":{"position":[[4974,10]]},"1471":{"position":[[2633,14]]},"1472":{"position":[[2592,14]]},"1473":{"position":[[2907,14]]}},"keywords":{}}],["implementationpascal_binary_impl",{"_index":5650,"title":{},"content":{"1103":{"position":[[705,32]]}},"keywords":{}}],["impli",{"_index":2814,"title":{},"content":{"595":{"position":[[976,8]]},"1058":{"position":[[849,8]]},"1103":{"position":[[1278,5]]},"1167":{"position":[[1192,7],[1371,7]]},"1367":{"position":[[13619,7]]}},"keywords":{}}],["implic",{"_index":3624,"title":{"703":{"position":[[42,12]]},"705":{"position":[[5,13]]},"706":{"position":[[13,13]]}},"content":{"706":{"position":[[1868,13]]}},"keywords":{}}],["implicit",{"_index":2815,"title":{},"content":{"595":{"position":[[1011,8]]},"998":{"position":[[97,8]]},"1045":{"position":[[175,8]]},"1226":{"position":[[4296,8]]},"1237":{"position":[[4466,8]]},"1398":{"position":[[4880,8]]}},"keywords":{}}],["implicit_package_symbol",{"_index":2275,"title":{"420":{"position":[[0,24]]},"799":{"position":[[0,24]]}},"content":{},"keywords":{}}],["implicit_package_symbol(nam",{"_index":2276,"title":{},"content":{"420":{"position":[[4,29]]},"799":{"position":[[4,29]]}},"keywords":{}}],["implicit_test_librari",{"_index":8366,"title":{},"content":{"1467":{"position":[[1886,22]]}},"keywords":{}}],["implicitli",{"_index":2174,"title":{},"content":{"407":{"position":[[196,10]]},"693":{"position":[[5772,10]]},"704":{"position":[[1786,11]]},"786":{"position":[[196,10]]},"1046":{"position":[[97,10]]},"1148":{"position":[[643,10]]},"1355":{"position":[[4200,10]]},"1384":{"position":[[20288,10]]},"1385":{"position":[[2016,10]]},"1405":{"position":[[1246,11]]},"1427":{"position":[[3345,10]]},"1439":{"position":[[4019,10]]}},"keywords":{}}],["import",{"_index":51,"title":{},"content":{"4":{"position":[[292,9]]},"9":{"position":[[2704,9]]},"20":{"position":[[647,9]]},"23":{"position":[[920,9],[1757,7]]},"284":{"position":[[138,6]]},"463":{"position":[[150,6]]},"693":{"position":[[5901,8]]},"706":{"position":[[1858,9]]},"886":{"position":[[378,9]]},"888":{"position":[[6,9],[715,9]]},"890":{"position":[[984,8],[3358,7],[6355,9],[6934,9]]},"898":{"position":[[411,6],[511,8],[603,7],[675,7],[814,7]]},"919":{"position":[[433,9]]},"944":{"position":[[784,9]]},"946":{"position":[[124,9]]},"950":{"position":[[664,9]]},"991":{"position":[[3145,9]]},"1024":{"position":[[101,9]]},"1026":{"position":[[522,9]]},"1050":{"position":[[4334,9]]},"1071":{"position":[[591,9]]},"1102":{"position":[[1011,9]]},"1103":{"position":[[1561,9]]},"1105":{"position":[[144,10]]},"1190":{"position":[[524,8]]},"1195":{"position":[[27,8]]},"1202":{"position":[[149,6],[1216,6],[1363,6]]},"1226":{"position":[[4173,7],[4190,7]]},"1237":{"position":[[4343,7],[4360,7]]},"1362":{"position":[[5186,6],[7071,8],[7085,7],[7198,9],[7213,7],[7434,8],[7448,7],[7629,6],[8583,8],[9159,8],[9173,7],[9229,7],[9450,8],[9464,7],[9645,6]]},"1364":{"position":[[5215,6],[7310,8],[7324,7],[7437,9],[7452,7],[7673,8],[7687,7],[7868,6],[9697,8],[10273,8],[10287,7],[10343,7],[10564,8],[10578,7],[10759,6]]},"1367":{"position":[[8671,8],[9247,8],[9261,7],[9317,7],[9538,8],[9552,7],[9733,6]]},"1373":{"position":[[4505,6],[8313,6]]},"1385":{"position":[[7440,9],[7619,6]]},"1387":{"position":[[10770,9],[10950,6],[11003,6]]},"1402":{"position":[[1791,6]]},"1416":{"position":[[2430,6]]},"1420":{"position":[[2112,6]]},"1421":{"position":[[1970,7]]},"1444":{"position":[[1853,7]]},"1461":{"position":[[2879,9]]},"1465":{"position":[[2653,7]]},"1467":{"position":[[8695,6]]}},"keywords":{}}],["import_dir",{"_index":7872,"title":{},"content":{"1421":{"position":[[657,12]]}},"keywords":{}}],["import_lib",{"_index":8146,"title":{},"content":{"1454":{"position":[[1425,11]]},"1455":{"position":[[607,12]]}},"keywords":{}}],["import_obj_c_forward_declar",{"_index":6729,"title":{},"content":{"1362":{"position":[[2249,34]]},"1364":{"position":[[2260,34]]},"1367":{"position":[[3440,34]]},"1480":{"position":[[564,34]]}},"keywords":{}}],["import_path",{"_index":7665,"title":{},"content":{"1402":{"position":[[554,12],[576,13],[2378,11]]}},"keywords":{}}],["importantli",{"_index":4243,"title":{},"content":{"890":{"position":[[4496,12]]},"898":{"position":[[347,12],[1839,12]]}},"keywords":{}}],["imported.valu",{"_index":4357,"title":{},"content":{"898":{"position":[[2810,14]]}},"keywords":{}}],["imports.dep",{"_index":7668,"title":{},"content":{"1402":{"position":[[1692,13]]}},"keywords":{}}],["imports.header_namespac",{"_index":7299,"title":{},"content":{"1387":{"position":[[5579,25]]}},"keywords":{}}],["imposs",{"_index":4414,"title":{},"content":{"904":{"position":[[1478,10]]},"937":{"position":[[2794,10]]}},"keywords":{}}],["improv",{"_index":304,"title":{},"content":{"9":{"position":[[2773,12]]},"676":{"position":[[82,7]]},"700":{"position":[[81,7]]},"1050":{"position":[[217,7]]},"1180":{"position":[[272,8],[295,11]]}},"keywords":{}}],["in.buckconfig",{"_index":2655,"title":{},"content":{"580":{"position":[[185,14]]},"1345":{"position":[[72,14]]}},"keywords":{}}],["in.buckconfigto",{"_index":6567,"title":{},"content":{"1355":{"position":[[6478,15]]}},"keywords":{}}],["in.bxl",{"_index":3845,"title":{},"content":{"840":{"position":[[75,7]]}},"keywords":{}}],["in:gcflag",{"_index":7756,"title":{},"content":{"1407":{"position":[[2599,11]]}},"keywords":{}}],["inbuck",{"_index":4126,"title":{},"content":{"879":{"position":[[363,6]]},"1065":{"position":[[134,6]]}},"keywords":{}}],["inbuck2",{"_index":544,"title":{},"content":{"18":{"position":[[287,7]]}},"keywords":{}}],["inc.:googl",{"_index":6490,"title":{},"content":{"1351":{"position":[[4448,11],[5705,11]]},"1360":{"position":[[6021,11]]}},"keywords":{}}],["incident",{"_index":4329,"title":{},"content":{"898":{"position":[[327,10]]}},"keywords":{}}],["includ",{"_index":144,"title":{"584":{"position":[[24,7]]},"1195":{"position":[[11,9]]}},"content":{"7":{"position":[[165,9]]},"12":{"position":[[57,7],[418,8]]},"18":{"position":[[441,8]]},"22":{"position":[[86,9],[979,9]]},"23":{"position":[[1072,10]]},"65":{"position":[[103,9]]},"67":{"position":[[61,10]]},"68":{"position":[[65,10]]},"92":{"position":[[429,7]]},"224":{"position":[[429,7]]},"237":{"position":[[505,8]]},"284":{"position":[[124,9]]},"368":{"position":[[2729,7]]},"374":{"position":[[2108,9]]},"389":{"position":[[416,7]]},"406":{"position":[[583,9]]},"418":{"position":[[10,8]]},"450":{"position":[[117,9]]},"453":{"position":[[103,9]]},"455":{"position":[[61,10]]},"456":{"position":[[65,10]]},"463":{"position":[[137,8]]},"572":{"position":[[45,8]]},"584":{"position":[[68,7],[147,8],[347,8],[414,9],[491,7],[787,7],[823,8],[857,8],[906,9],[1034,8],[1119,8],[1344,8],[1471,7]]},"587":{"position":[[481,7]]},"690":{"position":[[174,8],[3133,8]]},"693":{"position":[[3536,8],[4481,8],[10277,7]]},"708":{"position":[[49,8]]},"717":{"position":[[582,9]]},"722":{"position":[[1003,7]]},"747":{"position":[[2729,7]]},"753":{"position":[[2108,9]]},"768":{"position":[[416,7]]},"785":{"position":[[583,9]]},"797":{"position":[[10,8]]},"829":{"position":[[117,9]]},"867":{"position":[[1663,9]]},"870":{"position":[[383,8]]},"872":{"position":[[243,10]]},"887":{"position":[[10,8]]},"888":{"position":[[95,8]]},"921":{"position":[[887,10]]},"937":{"position":[[4053,7]]},"945":{"position":[[906,8]]},"964":{"position":[[209,9]]},"980":{"position":[[976,8]]},"991":{"position":[[1068,8]]},"995":{"position":[[952,7]]},"1001":{"position":[[1126,8]]},"1012":{"position":[[276,7]]},"1023":{"position":[[205,8],[267,8]]},"1024":{"position":[[214,8]]},"1040":{"position":[[346,7]]},"1050":{"position":[[1418,8]]},"1064":{"position":[[176,8],[1276,8],[1763,8]]},"1065":{"position":[[125,8]]},"1083":{"position":[[1074,7],[1090,8]]},"1103":{"position":[[88,8]]},"1112":{"position":[[1115,7],[1205,8],[1459,8],[2456,8]]},"1114":{"position":[[70,8]]},"1126":{"position":[[1566,8]]},"1136":{"position":[[1557,9],[4822,8]]},"1138":{"position":[[8484,8]]},"1140":{"position":[[7410,8]]},"1142":{"position":[[2854,8]]},"1146":{"position":[[2794,8]]},"1148":{"position":[[75,8],[543,8],[1913,9],[5834,8]]},"1155":{"position":[[2890,8]]},"1156":{"position":[[2468,8]]},"1161":{"position":[[202,7]]},"1167":{"position":[[8414,8]]},"1169":{"position":[[2253,8]]},"1172":{"position":[[262,7]]},"1180":{"position":[[124,8]]},"1186":{"position":[[836,9],[4058,8]]},"1187":{"position":[[849,9],[4071,8]]},"1188":{"position":[[5575,9],[8797,8]]},"1190":{"position":[[488,8]]},"1191":{"position":[[288,7],[2658,8]]},"1192":{"position":[[2833,8]]},"1193":{"position":[[2885,8]]},"1194":{"position":[[2525,8]]},"1195":{"position":[[78,8],[2503,8]]},"1196":{"position":[[2313,8]]},"1197":{"position":[[3296,8]]},"1198":{"position":[[3306,8]]},"1199":{"position":[[257,7],[3334,8]]},"1200":{"position":[[3201,8]]},"1201":{"position":[[2461,8]]},"1202":{"position":[[3603,8],[8000,8]]},"1203":{"position":[[2695,8]]},"1204":{"position":[[2539,8]]},"1205":{"position":[[417,9],[1037,9],[3868,8]]},"1206":{"position":[[2339,8],[3727,9]]},"1207":{"position":[[2496,8]]},"1209":{"position":[[790,9],[3844,8]]},"1215":{"position":[[82,7]]},"1217":{"position":[[7155,8]]},"1219":{"position":[[3141,8]]},"1222":{"position":[[2265,8]]},"1223":{"position":[[2275,8]]},"1224":{"position":[[2455,8]]},"1226":{"position":[[2730,9],[3133,7],[4286,9],[7623,8]]},"1228":{"position":[[479,7],[527,7],[648,7],[789,9],[9236,8]]},"1235":{"position":[[2050,9],[5104,8]]},"1237":{"position":[[2900,9],[3303,7],[4456,9],[7793,8]]},"1247":{"position":[[666,7]]},"1260":{"position":[[351,8]]},"1262":{"position":[[848,7]]},"1286":{"position":[[105,8]]},"1291":{"position":[[351,8]]},"1293":{"position":[[848,7]]},"1319":{"position":[[351,8]]},"1321":{"position":[[848,7]]},"1345":{"position":[[102,8]]},"1348":{"position":[[3675,7]]},"1351":{"position":[[3628,8]]},"1353":{"position":[[2317,8],[2616,7]]},"1354":{"position":[[2748,7]]},"1355":{"position":[[3825,7],[4211,8],[4483,8],[5187,7],[5235,8],[6347,7]]},"1356":{"position":[[1646,8]]},"1358":{"position":[[1110,7]]},"1359":{"position":[[1875,7]]},"1361":{"position":[[1969,10],[2230,10]]},"1362":{"position":[[8371,9]]},"1363":{"position":[[4057,8],[4435,7]]},"1364":{"position":[[6721,8],[9218,9],[9485,9]]},"1367":{"position":[[8459,9],[10563,7]]},"1373":{"position":[[4818,8],[4832,8],[4887,8]]},"1374":{"position":[[2633,7]]},"1382":{"position":[[5287,8],[5377,9],[5888,8],[5902,8],[5957,8],[6259,7],[6372,7]]},"1383":{"position":[[5064,7],[8824,7]]},"1384":{"position":[[5766,8],[6014,7],[6401,8],[6415,8],[6470,8],[10324,9],[10835,8],[10849,8],[10904,8],[11206,7],[11319,7],[16880,7],[17029,7],[17128,7],[17331,7],[19551,8],[20156,7],[21220,8],[21680,8],[22007,7]]},"1385":{"position":[[3291,9],[3801,8],[3815,8],[3870,8]]},"1386":{"position":[[1792,7],[1833,8],[2757,7],[3004,7],[3216,7],[3245,8],[3269,8],[3290,8],[3311,8],[3340,8],[3423,8],[3453,8],[3487,8],[3692,9],[4824,8],[5615,7],[5881,8]]},"1387":{"position":[[5624,9],[6134,8],[6148,8],[6203,8]]},"1388":{"position":[[5981,8],[6757,8],[6771,8],[6826,8],[7128,7],[7241,7]]},"1392":{"position":[[2018,7]]},"1393":{"position":[[697,9],[4853,8],[5180,7],[5263,8],[6073,9],[6663,8],[6863,8],[7594,8],[10027,8],[10385,8]]},"1394":{"position":[[433,9]]},"1395":{"position":[[1979,8]]},"1397":{"position":[[1946,8]]},"1398":{"position":[[2794,8],[3028,8],[3108,8],[3163,7],[4540,8],[6175,8]]},"1401":{"position":[[1451,7]]},"1405":{"position":[[3810,9]]},"1406":{"position":[[1569,9]]},"1407":{"position":[[4429,9]]},"1408":{"position":[[2808,9]]},"1410":{"position":[[3502,7],[4622,7],[5220,9]]},"1412":{"position":[[2850,7]]},"1415":{"position":[[3711,7],[5651,7],[5958,7]]},"1426":{"position":[[2418,8]]},"1427":{"position":[[2970,7],[3356,8],[3628,8],[4501,7],[4549,8],[5520,7],[6722,8]]},"1429":{"position":[[3735,7],[3810,7],[4794,7]]},"1439":{"position":[[3644,7],[4030,8],[4302,8],[7000,7],[7048,8],[7429,7],[7865,8]]},"1440":{"position":[[3728,7],[3803,7],[4876,7]]},"1442":{"position":[[2277,8]]},"1444":{"position":[[1897,8],[1957,8],[2073,7]]},"1446":{"position":[[2484,8]]},"1448":{"position":[[2087,7]]},"1449":{"position":[[2021,7]]},"1454":{"position":[[4614,8],[5105,8],[5119,8],[5174,8],[7228,9],[9804,10]]},"1455":{"position":[[2262,8]]},"1456":{"position":[[552,7]]},"1459":{"position":[[1639,8],[1823,8]]},"1461":{"position":[[901,7]]},"1462":{"position":[[4314,8],[5900,7],[5924,9]]},"1465":{"position":[[4112,7],[4246,7],[4316,8],[4492,7]]},"1467":{"position":[[10305,7],[10868,8],[11036,7]]},"1471":{"position":[[3536,7]]},"1472":{"position":[[3204,7],[4120,7]]},"1473":{"position":[[3604,7],[5388,7]]},"1485":{"position":[[1659,9],[2169,8],[2183,8],[2238,8],[2539,7],[2652,7],[4709,9],[4794,8]]},"1487":{"position":[[1656,8],[2323,7],[2450,8],[2561,8],[2658,7],[2773,8]]}},"keywords":{}}],["include_build_config_class",{"_index":6350,"title":{},"content":{"1348":{"position":[[1196,27]]}},"keywords":{}}],["include_dir",{"_index":8196,"title":{},"content":{"1455":{"position":[[640,13]]},"1460":{"position":[[562,12]]}},"keywords":{}}],["include_directori",{"_index":6730,"title":{},"content":{"1362":{"position":[[2294,20]]},"1364":{"position":[[2305,20]]},"1367":{"position":[[3485,20]]},"1373":{"position":[[1290,20],[7775,19]]},"1382":{"position":[[1329,20],[6228,20],[10551,19]]},"1384":{"position":[[2038,20],[11175,20],[17625,19]]},"1385":{"position":[[785,20]]},"1387":{"position":[[2088,20]]},"1388":{"position":[[1514,20],[7097,20],[9044,19]]},"1415":{"position":[[1006,20]]},"1462":{"position":[[1750,20]]},"1467":{"position":[[1925,20]]},"1485":{"position":[[461,20],[3416,19]]}},"keywords":{}}],["include_ert",{"_index":7566,"title":{},"content":{"1397":{"position":[[443,13]]}},"keywords":{}}],["include_in_android_merge_map_output",{"_index":7196,"title":{},"content":{"1384":{"position":[[2074,36]]},"1387":{"position":[[2124,36]]},"1454":{"position":[[1453,36]]},"1455":{"position":[[669,36]]}},"keywords":{}}],["include_lib",{"_index":7476,"title":{},"content":{"1393":{"position":[[5069,13]]}},"keywords":{}}],["include_lib("app_a/include/header.hrl",{"_index":7474,"title":{},"content":{"1393":{"position":[[4894,44]]}},"keywords":{}}],["include_lib("appname/include/header.hrl"",{"_index":7481,"title":{},"content":{"1393":{"position":[[6123,51]]}},"keywords":{}}],["include_priv",{"_index":7538,"title":{},"content":{"1395":{"position":[[490,13],[2250,13]]}},"keywords":{}}],["include_project",{"_index":7867,"title":{},"content":{"1419":{"position":[[568,17]]}},"keywords":{}}],["include_src",{"_index":7446,"title":{},"content":{"1393":{"position":[[636,12],[5881,12]]}},"keywords":{}}],["includecmd_arg",{"_index":3903,"title":{},"content":{"848":{"position":[[407,15]]}},"keywords":{}}],["included_appl",{"_index":7447,"title":{},"content":{"1393":{"position":[[659,22],[2938,21],[3178,21],[3758,21],[4776,21],[6008,22]]}},"keywords":{}}],["includefil",{"_index":7500,"title":{},"content":{"1393":{"position":[[8810,11],[8912,11]]}},"keywords":{}}],["includes_vector_draw",{"_index":6437,"title":{},"content":{"1350":{"position":[[1892,26]]},"1352":{"position":[[1891,26]]},"1353":{"position":[[776,26]]}},"keywords":{}}],["inclus",{"_index":2701,"title":{},"content":{"584":{"position":[[548,9]]},"1082":{"position":[[531,9]]},"1362":{"position":[[6755,9],[8896,9]]},"1364":{"position":[[6994,9],[10010,9]]},"1366":{"position":[[2895,9]]},"1367":{"position":[[8984,9]]},"1373":{"position":[[4596,9],[7593,9],[8047,9]]},"1382":{"position":[[5666,9],[8800,9],[10369,9],[10823,9]]},"1384":{"position":[[6182,9],[8141,9],[10613,9],[15145,9],[17443,9],[17897,9],[19951,9]]},"1385":{"position":[[3579,9],[5029,9]]},"1387":{"position":[[5912,9],[8402,9]]},"1388":{"position":[[6535,9],[8862,9],[9316,9]]},"1454":{"position":[[4886,9],[6540,9]]},"1485":{"position":[[1947,9],[3064,9],[3234,9],[3688,9]]}},"keywords":{}}],["incom",{"_index":1571,"title":{},"content":{"286":{"position":[[83,8],[177,8]]},"1009":{"position":[[190,8]]}},"keywords":{}}],["incommandexecutorconfiga",{"_index":6319,"title":{},"content":{"1346":{"position":[[325,25]]}},"keywords":{}}],["incompat",{"_index":1611,"title":{"1021":{"position":[[0,12]]}},"content":{"294":{"position":[[755,12]]},"877":{"position":[[166,12]]},"907":{"position":[[56,12],[179,12]]},"1019":{"position":[[342,12],[366,13],[630,12]]},"1021":{"position":[[319,13],[541,13]]},"1107":{"position":[[210,12]]},"1138":{"position":[[5178,12],[5212,12]]},"1140":{"position":[[4667,12],[4701,12]]},"1167":{"position":[[5671,12],[5705,12]]},"1188":{"position":[[4720,12],[4754,12]]},"1217":{"position":[[4412,12],[4446,12]]},"1228":{"position":[[6493,12],[6527,12]]},"1386":{"position":[[6364,16]]},"1461":{"position":[[2846,12]]}},"keywords":{}}],["incomplet",{"_index":2724,"title":{},"content":{"585":{"position":[[12,10]]},"1172":{"position":[[1727,10]]}},"keywords":{}}],["inconfigur",{"_index":4474,"title":{},"content":{"916":{"position":[[312,15]]}},"keywords":{}}],["inconsist",{"_index":8604,"title":{},"content":{"1486":{"position":[[5794,12]]}},"keywords":{}}],["incorpor",{"_index":3512,"title":{},"content":{"693":{"position":[[151,11]]},"1104":{"position":[[309,12]]}},"keywords":{}}],["incorrect",{"_index":5019,"title":{},"content":{"1004":{"position":[[2286,9]]},"1050":{"position":[[4545,9]]},"1136":{"position":[[733,9]]}},"keywords":{}}],["incorrectli",{"_index":4859,"title":{},"content":{"980":{"position":[[1349,11]]}},"keywords":{}}],["increas",{"_index":237,"title":{},"content":{"9":{"position":[[1389,9]]},"10":{"position":[[1129,10]]},"22":{"position":[[1451,10]]},"890":{"position":[[4328,10]]},"1112":{"position":[[540,9]]},"1113":{"position":[[415,9]]},"1429":{"position":[[4337,9]]},"1440":{"position":[[4330,9]]},"1486":{"position":[[5356,10]]}},"keywords":{}}],["increment",{"_index":1201,"title":{"1050":{"position":[[0,11]]}},"content":{"94":{"position":[[1924,11],[2679,11],[2716,11]]},"226":{"position":[[1924,11],[2679,11],[2716,11]]},"702":{"position":[[491,14],[528,14]]},"715":{"position":[[1455,14]]},"832":{"position":[[498,13],[921,14],[974,14]]},"937":{"position":[[1144,11]]},"954":{"position":[[618,14]]},"955":{"position":[[1410,11]]},"959":{"position":[[186,11]]},"1050":{"position":[[0,11],[71,14],[182,14],[316,11],[393,12],[3987,11],[4389,11]]},"1355":{"position":[[1163,12],[4764,12],[4792,11]]},"1439":{"position":[[1088,12],[4590,12],[4618,11]]},"1440":{"position":[[1272,12],[4539,12],[4567,11]]},"1470":{"position":[[1323,12],[4384,11]]}},"keywords":{}}],["increment_item",{"_index":2368,"title":{},"content":{"441":{"position":[[318,16]]},"820":{"position":[[318,16]]}},"keywords":{}}],["increment_items(a",{"_index":2364,"title":{},"content":{"441":{"position":[[222,19]]},"820":{"position":[[222,19]]}},"keywords":{}}],["incremental_build_mod",{"_index":8416,"title":{},"content":{"1471":{"position":[[966,23]]},"1472":{"position":[[1063,23]]},"1473":{"position":[[1018,23]]}},"keywords":{}}],["incremental_bundling_en",{"_index":6857,"title":{},"content":{"1363":{"position":[[1915,29]]},"1367":{"position":[[3521,29]]},"1372":{"position":[[1599,29]]}},"keywords":{}}],["incremental_en",{"_index":8417,"title":{},"content":{"1471":{"position":[[1006,20]]},"1472":{"position":[[1103,20]]},"1473":{"position":[[1058,20]]}},"keywords":{}}],["incremental_state.json",{"_index":5310,"title":{},"content":{"1050":{"position":[[4255,22],[4745,23]]}},"keywords":{}}],["incrementalcach",{"_index":4051,"title":{},"content":{"869":{"position":[[572,19]]}},"keywords":{}}],["inde",{"_index":6147,"title":{},"content":{"1232":{"position":[[3331,6]]}},"keywords":{}}],["independ",{"_index":3429,"title":{},"content":{"684":{"position":[[143,11]]},"695":{"position":[[691,11]]},"1014":{"position":[[534,13]]},"1026":{"position":[[114,13]]},"1082":{"position":[[1331,11]]},"1098":{"position":[[469,13]]},"1383":{"position":[[3376,11],[3495,11]]},"1384":{"position":[[20701,11]]},"1462":{"position":[[5805,11]]},"1467":{"position":[[6301,11]]}},"keywords":{}}],["index",{"_index":992,"title":{},"content":{"74":{"position":[[62,7]]},"76":{"position":[[68,8]]},"92":{"position":[[480,5]]},"224":{"position":[[480,5]]},"497":{"position":[[62,7]]},"498":{"position":[[125,9]]},"505":{"position":[[68,8]]},"566":{"position":[[109,5],[211,6],[377,5],[443,5],[531,9],[541,5],[610,5]]},"567":{"position":[[141,5],[227,5],[404,6]]},"568":{"position":[[178,5],[205,6],[229,5]]},"591":{"position":[[410,8]]},"594":{"position":[[178,5],[403,8]]},"595":{"position":[[777,5]]},"596":{"position":[[209,5]]},"611":{"position":[[124,5],[187,5],[266,5]]},"612":{"position":[[126,5],[212,5],[293,5]]},"638":{"position":[[728,5]]},"639":{"position":[[113,7],[179,7],[268,5],[388,6]]},"712":{"position":[[2680,5],[2708,5]]},"890":{"position":[[4092,5],[4344,6]]},"902":{"position":[[717,5]]},"1112":{"position":[[2925,5],[3009,5]]},"1455":{"position":[[3795,5],[4013,8],[4194,5],[4424,8]]}},"keywords":{}}],["index.opt",{"_index":4230,"title":{},"content":{"890":{"position":[[2903,12]]}},"keywords":{}}],["indi",{"_index":8394,"title":{},"content":{"1469":{"position":[[3577,6]]}},"keywords":{}}],["indic",{"_index":1061,"title":{},"content":{"85":{"position":[[546,9]]},"91":{"position":[[422,9],[556,9]]},"94":{"position":[[1582,8]]},"98":{"position":[[541,9]]},"121":{"position":[[155,8]]},"126":{"position":[[446,9]]},"217":{"position":[[546,9]]},"223":{"position":[[422,9],[556,9]]},"226":{"position":[[1582,8]]},"230":{"position":[[541,9]]},"249":{"position":[[446,9]]},"276":{"position":[[492,10]]},"277":{"position":[[440,10]]},"281":{"position":[[581,10]]},"282":{"position":[[531,10]]},"294":{"position":[[702,9]]},"405":{"position":[[1823,9]]},"530":{"position":[[155,8]]},"566":{"position":[[350,7]]},"690":{"position":[[3078,8]]},"722":{"position":[[926,9]]},"784":{"position":[[1823,9]]},"848":{"position":[[267,10]]},"897":{"position":[[91,10]]},"938":{"position":[[575,8]]},"1004":{"position":[[626,8]]},"1014":{"position":[[80,10]]},"1019":{"position":[[603,9]]},"1053":{"position":[[875,9]]},"1096":{"position":[[15,9]]},"1126":{"position":[[728,9],[931,9]]},"1219":{"position":[[379,9]]},"1244":{"position":[[170,8]]},"1355":{"position":[[5760,9]]},"1386":{"position":[[4047,8]]},"1393":{"position":[[8119,9]]},"1426":{"position":[[2678,8]]},"1427":{"position":[[4933,9]]},"1454":{"position":[[7468,9]]}},"keywords":{}}],["indicesstart",{"_index":2768,"title":{},"content":{"591":{"position":[[293,12]]}},"keywords":{}}],["indistinguish",{"_index":3504,"title":{},"content":{"690":{"position":[[3350,17]]}},"keywords":{}}],["individu",{"_index":1849,"title":{},"content":{"345":{"position":[[849,10]]},"693":{"position":[[231,11]]},"846":{"position":[[362,10]]},"857":{"position":[[112,10]]},"860":{"position":[[117,10]]},"904":{"position":[[816,10]]},"1001":{"position":[[1039,10]]},"1048":{"position":[[1301,10]]},"1082":{"position":[[153,10],[633,10]]},"1083":{"position":[[469,10]]},"1084":{"position":[[47,10]]},"1114":{"position":[[928,12]]},"1393":{"position":[[4417,10],[6354,10]]},"1427":{"position":[[7411,10]]},"1439":{"position":[[8237,10]]}},"keywords":{}}],["ineffici",{"_index":6213,"title":{"1253":{"position":[[16,11]]},"1254":{"position":[[9,11]]}},"content":{"1253":{"position":[[194,14]]}},"keywords":{}}],["inf",{"_index":3205,"title":{},"content":{"648":{"position":[[375,5]]}},"keywords":{}}],["inf/manifest.mf",{"_index":7958,"title":{},"content":{"1426":{"position":[[2552,15]]}},"keywords":{}}],["infer",{"_index":1940,"title":{},"content":{"368":{"position":[[558,8]]},"693":{"position":[[9735,8]]},"747":{"position":[[558,8]]},"904":{"position":[[11,5],[274,8],[942,9]]},"975":{"position":[[285,5]]},"1461":{"position":[[3101,5]]}},"keywords":{}}],["infer_cxx_header_dir",{"_index":8260,"title":{},"content":{"1461":{"position":[[735,22]]}},"keywords":{}}],["infinit",{"_index":5020,"title":{},"content":{"1004":{"position":[[2309,8]]}},"keywords":{}}],["influenc",{"_index":3562,"title":{},"content":{"693":{"position":[[5162,10]]},"1093":{"position":[[304,10]]}},"keywords":{}}],["info",{"_index":1585,"title":{},"content":{"288":{"position":[[218,4]]},"289":{"position":[[238,4]]},"363":{"position":[[187,5]]},"427":{"position":[[306,4]]},"510":{"position":[[244,4]]},"511":{"position":[[264,4]]},"693":{"position":[[214,5]]},"711":{"position":[[692,4]]},"742":{"position":[[187,5]]},"806":{"position":[[306,4]]},"1086":{"position":[[495,6],[524,6],[531,4]]},"1120":{"position":[[717,5]]},"1136":{"position":[[6180,4],[6208,4],[6240,4]]},"1138":{"position":[[832,4],[851,4],[893,4],[919,4],[962,4],[1027,4],[1105,4],[1160,4],[9842,4],[9870,4],[9902,4]]},"1140":{"position":[[8768,4],[8796,4],[8828,4]]},"1142":{"position":[[4212,4],[4240,4],[4272,4]]},"1144":{"position":[[540,4],[568,4],[600,4]]},"1146":{"position":[[4152,4],[4180,4],[4212,4]]},"1148":{"position":[[7743,4],[7771,4],[7803,4]]},"1150":{"position":[[775,4],[803,4],[835,4]]},"1152":{"position":[[473,4],[501,4],[533,4]]},"1154":{"position":[[628,4],[656,4],[688,4]]},"1155":{"position":[[4248,4],[4276,4],[4308,4]]},"1156":{"position":[[3826,4],[3854,4],[3886,4]]},"1157":{"position":[[411,4],[439,4],[471,4]]},"1158":{"position":[[405,4],[433,4],[465,4]]},"1159":{"position":[[405,4],[433,4],[465,4]]},"1161":{"position":[[1400,4],[1428,4],[1460,4]]},"1163":{"position":[[786,4],[814,4],[846,4]]},"1165":{"position":[[615,4],[643,4],[675,4]]},"1167":{"position":[[9772,4],[9800,4],[9832,4]]},"1169":{"position":[[2880,4],[2908,4],[2940,4]]},"1171":{"position":[[1121,4],[1149,4],[1181,4]]},"1172":{"position":[[2506,4],[2534,4],[2566,4]]},"1173":{"position":[[1193,4],[1221,4],[1253,4]]},"1174":{"position":[[621,4],[649,4],[681,4]]},"1175":{"position":[[617,4],[645,4],[677,4]]},"1176":{"position":[[786,4],[814,4],[846,4]]},"1177":{"position":[[707,4],[735,4],[767,4]]},"1178":{"position":[[1024,4],[1052,4],[1084,4]]},"1179":{"position":[[821,4],[849,4],[881,4]]},"1180":{"position":[[1092,4],[1120,4],[1152,4]]},"1181":{"position":[[1612,4],[1640,4],[1672,4]]},"1182":{"position":[[655,4],[683,4],[715,4]]},"1183":{"position":[[610,4],[638,4],[670,4]]},"1185":{"position":[[455,4],[483,4],[515,4]]},"1186":{"position":[[5416,4],[5444,4],[5476,4]]},"1187":{"position":[[5429,4],[5457,4],[5489,4]]},"1188":{"position":[[10155,4],[10183,4],[10215,4]]},"1190":{"position":[[1786,4],[1814,4],[1846,4]]},"1191":{"position":[[4016,4],[4044,4],[4076,4]]},"1192":{"position":[[4191,4],[4219,4],[4251,4]]},"1193":{"position":[[4243,4],[4271,4],[4303,4]]},"1194":{"position":[[3883,4],[3911,4],[3943,4]]},"1195":{"position":[[3861,4],[3889,4],[3921,4]]},"1196":{"position":[[3671,4],[3699,4],[3731,4]]},"1197":{"position":[[4654,4],[4682,4],[4714,4]]},"1198":{"position":[[4664,4],[4692,4],[4724,4]]},"1199":{"position":[[4692,4],[4720,4],[4752,4]]},"1200":{"position":[[4559,4],[4587,4],[4619,4]]},"1201":{"position":[[3819,4],[3847,4],[3879,4]]},"1202":{"position":[[563,4],[591,4],[623,4],[4961,4],[4989,4],[5021,4],[9358,4],[9386,4],[9418,4]]},"1203":{"position":[[4053,4],[4081,4],[4113,4]]},"1204":{"position":[[3897,4],[3925,4],[3957,4],[4799,4],[4827,4],[4859,4],[5729,4],[5757,4],[5789,4],[6631,4],[6659,4],[6691,4],[7617,4],[7645,4],[7677,4],[8571,4],[8599,4],[8631,4],[9518,4],[9546,4],[9578,4],[10448,4],[10476,4],[10508,4]]},"1205":{"position":[[5226,4],[5254,4],[5286,4]]},"1206":{"position":[[3925,4],[3953,4],[3985,4]]},"1207":{"position":[[3854,4],[3882,4],[3914,4]]},"1209":{"position":[[5202,4],[5230,4],[5262,4]]},"1211":{"position":[[526,4],[554,4],[586,4]]},"1213":{"position":[[297,4],[325,4],[357,4]]},"1215":{"position":[[381,4],[409,4],[441,4]]},"1217":{"position":[[8513,4],[8541,4],[8573,4]]},"1219":{"position":[[3768,4],[3796,4],[3828,4]]},"1221":{"position":[[500,4],[528,4],[560,4]]},"1222":{"position":[[3639,4],[3667,4],[3699,4]]},"1223":{"position":[[3649,4],[3677,4],[3709,4]]},"1224":{"position":[[3082,4],[3110,4],[3142,4]]},"1226":{"position":[[8981,4],[9009,4],[9041,4]]},"1228":{"position":[[10594,4],[10622,4],[10654,4]]},"1235":{"position":[[6462,4],[6490,4],[6522,4]]},"1237":{"position":[[9151,4],[9179,4],[9211,4]]}},"keywords":{}}],["info.filelist",{"_index":5589,"title":{},"content":{"1086":{"position":[[555,14]]}},"keywords":{}}],["info.plist",{"_index":6890,"title":{},"content":{"1363":{"position":[[4897,10],[6996,13],[7544,13],[7817,13]]},"1367":{"position":[[9813,10],[14425,12]]}},"keywords":{}}],["info_plist",{"_index":6731,"title":{},"content":{"1362":{"position":[[2330,11]]},"1363":{"position":[[1962,11],[4872,11],[5246,11],[6983,10],[7172,10],[7375,10],[7531,10],[7804,10]]},"1364":{"position":[[2341,11]]},"1367":{"position":[[3568,11],[9788,11],[10162,11],[14404,10]]},"1372":{"position":[[1639,11]]}},"keywords":{}}],["info_plist_identify_build_system",{"_index":6858,"title":{},"content":{"1363":{"position":[[1979,33]]},"1367":{"position":[[3585,33]]},"1372":{"position":[[1656,33]]}},"keywords":{}}],["info_plist_substitut",{"_index":6732,"title":{},"content":{"1362":{"position":[[2358,25]]},"1363":{"position":[[2030,25],[5039,24],[5087,25]]},"1364":{"position":[[2369,25]]},"1367":{"position":[[3636,25],[9955,24],[10003,25]]},"1372":{"position":[[1707,25]]}},"keywords":{}}],["inform",{"_index":1120,"title":{"1068":{"position":[[0,11]]}},"content":{"92":{"position":[[339,11]]},"224":{"position":[[339,11]]},"242":{"position":[[136,11]]},"372":{"position":[[335,11]]},"427":{"position":[[225,11]]},"450":{"position":[[306,11]]},"584":{"position":[[128,12]]},"676":{"position":[[158,12],[394,12]]},"683":{"position":[[317,11]]},"690":{"position":[[183,11]]},"693":{"position":[[964,12],[3545,11],[4177,12],[4490,11],[6525,11],[6624,12],[9178,12],[10328,12]]},"695":{"position":[[154,11]]},"722":{"position":[[87,11],[746,11]]},"751":{"position":[[335,11]]},"806":{"position":[[225,11]]},"829":{"position":[[306,11]]},"840":{"position":[[1465,11]]},"845":{"position":[[336,11]]},"846":{"position":[[1205,6]]},"864":{"position":[[886,13]]},"872":{"position":[[794,12]]},"873":{"position":[[48,11]]},"890":{"position":[[25,11]]},"898":{"position":[[33,11]]},"937":{"position":[[4258,11]]},"955":{"position":[[517,11],[646,11],[1186,11],[1353,11]]},"959":{"position":[[412,11]]},"980":{"position":[[1031,11]]},"991":{"position":[[1497,11]]},"1008":{"position":[[4,12]]},"1042":{"position":[[383,12]]},"1044":{"position":[[913,11]]},"1050":{"position":[[3206,11],[3299,11],[3352,11]]},"1056":{"position":[[524,11],[779,11],[1022,11],[1126,11],[1218,11],[1314,11]]},"1103":{"position":[[1404,11]]},"1104":{"position":[[70,11],[1225,11],[1326,11],[1383,11],[1466,11]]},"1105":{"position":[[2077,6]]},"1136":{"position":[[5334,11],[5393,11]]},"1138":{"position":[[8996,11],[9055,11]]},"1140":{"position":[[7922,11],[7981,11]]},"1142":{"position":[[3366,11],[3425,11]]},"1146":{"position":[[3306,11],[3365,11]]},"1148":{"position":[[84,11],[6346,11],[6405,11]]},"1155":{"position":[[3402,11],[3461,11]]},"1156":{"position":[[2980,11],[3039,11]]},"1161":{"position":[[873,11],[932,11]]},"1167":{"position":[[8926,11],[8985,11]]},"1181":{"position":[[1085,11],[1144,11]]},"1186":{"position":[[4570,11],[4629,11]]},"1187":{"position":[[4583,11],[4642,11]]},"1188":{"position":[[9309,11],[9368,11]]},"1190":{"position":[[102,11],[784,11]]},"1191":{"position":[[6,11],[3170,11],[3229,11]]},"1192":{"position":[[3345,11],[3404,11]]},"1193":{"position":[[361,11],[3397,11],[3456,11]]},"1194":{"position":[[253,11],[3037,11],[3096,11]]},"1195":{"position":[[3015,11],[3074,11]]},"1196":{"position":[[2825,11],[2884,11]]},"1197":{"position":[[3808,11],[3867,11]]},"1198":{"position":[[3818,11],[3877,11]]},"1199":{"position":[[3846,11],[3905,11]]},"1200":{"position":[[11,11],[3713,11],[3772,11]]},"1201":{"position":[[2973,11],[3032,11]]},"1202":{"position":[[4115,11],[4174,11],[8512,11],[8571,11]]},"1203":{"position":[[3207,11],[3266,11]]},"1204":{"position":[[3051,11],[3110,11]]},"1205":{"position":[[4380,11],[4439,11]]},"1206":{"position":[[2851,11],[2910,11]]},"1207":{"position":[[3008,11],[3067,11]]},"1209":{"position":[[4356,11],[4415,11]]},"1217":{"position":[[7667,11],[7726,11]]},"1222":{"position":[[2777,11],[2836,11]]},"1223":{"position":[[2787,11],[2846,11]]},"1226":{"position":[[4140,11],[8135,11],[8194,11]]},"1228":{"position":[[9748,11],[9807,11]]},"1235":{"position":[[5616,11],[5675,11]]},"1237":{"position":[[4310,11],[8305,11],[8364,11]]},"1242":{"position":[[4,12]]},"1348":{"position":[[4053,11]]},"1355":{"position":[[7287,11]]},"1362":{"position":[[8822,12],[11559,12],[12474,12],[13741,12]]},"1363":{"position":[[5073,13]]},"1364":{"position":[[9433,12],[9936,12],[12526,12],[12979,12],[14441,12]]},"1367":{"position":[[8910,12],[9989,13],[11929,12],[12382,12]]},"1370":{"position":[[2503,11]]},"1382":{"position":[[5592,12],[6215,12],[8428,12],[8900,12],[9737,12],[10190,12]]},"1383":{"position":[[1358,11],[2785,11],[8252,11],[8529,11],[8615,11]]},"1384":{"position":[[6786,12],[7760,12],[8288,12],[9391,12],[10539,12],[11162,12],[14773,12],[15245,12],[16082,12],[16535,12]]},"1388":{"position":[[7084,12]]},"1393":{"position":[[2601,11],[2744,11],[3005,11],[3825,11]]},"1415":{"position":[[2606,11]]},"1427":{"position":[[6486,11]]},"1461":{"position":[[3118,11],[3148,11]]}},"keywords":{}}],["information.exported_linker_flag",{"_index":8168,"title":{},"content":{"1454":{"position":[[5490,34]]}},"keywords":{}}],["information.exported_platform_head",{"_index":8170,"title":{},"content":{"1454":{"position":[[6160,38]]}},"keywords":{}}],["information.exported_platform_preprocessor_flag",{"_index":8171,"title":{},"content":{"1454":{"position":[[6687,49]]}},"keywords":{}}],["information.head",{"_index":7242,"title":{},"content":{"1385":{"position":[[3506,20]]},"1387":{"position":[[5839,20]]},"1485":{"position":[[1874,20]]}},"keywords":{}}],["information.header_namespac",{"_index":8172,"title":{},"content":{"1454":{"position":[[7179,29]]}},"keywords":{}}],["information.header_onli",{"_index":8173,"title":{},"content":{"1454":{"position":[[7443,24]]}},"keywords":{}}],["information.include_directori",{"_index":8543,"title":{},"content":{"1485":{"position":[[2496,32]]}},"keywords":{}}],["information.label",{"_index":7300,"title":{},"content":{"1387":{"position":[[6461,19]]}},"keywords":{}}],["information.link_styl",{"_index":7052,"title":{},"content":{"1373":{"position":[[5145,23]]}},"keywords":{}}],["information.linker_flag",{"_index":7243,"title":{},"content":{"1385":{"position":[[4128,25]]}},"keywords":{}}],["information.platform_head",{"_index":7245,"title":{},"content":{"1385":{"position":[[4658,29]]},"1387":{"position":[[8031,29]]}},"keywords":{}}],["information.platform_linker_flag",{"_index":7061,"title":{},"content":{"1373":{"position":[[6581,34]]},"1385":{"position":[[5129,34]]},"1387":{"position":[[8502,34]]},"1415":{"position":[[4540,34]]}},"keywords":{}}],["information.platform_src",{"_index":7246,"title":{},"content":{"1385":{"position":[[5964,26]]},"1387":{"position":[[9337,26]]}},"keywords":{}}],["information.platform_static_lib",{"_index":8176,"title":{},"content":{"1454":{"position":[[8199,32]]}},"keywords":{}}],["information.platform_static_pic_lib",{"_index":8177,"title":{},"content":{"1454":{"position":[[8511,36]]}},"keywords":{}}],["information.preferred_linkag",{"_index":8178,"title":{},"content":{"1454":{"position":[[8835,30]]}},"keywords":{}}],["information.preprocessor_flag",{"_index":7064,"title":{},"content":{"1373":{"position":[[7416,31]]},"1385":{"position":[[6416,31]]},"1387":{"position":[[9789,31]]}},"keywords":{}}],["information.provided_shared_lib",{"_index":8203,"title":{},"content":{"1455":{"position":[[2931,33]]}},"keywords":{}}],["information.raw_head",{"_index":8545,"title":{},"content":{"1485":{"position":[[3164,24]]}},"keywords":{}}],["information.src",{"_index":7856,"title":{},"content":{"1416":{"position":[[3424,17]]},"1420":{"position":[[2561,17]]},"1448":{"position":[[2507,17]]},"1449":{"position":[[2441,17]]}},"keywords":{}}],["infos.default",{"_index":5588,"title":{},"content":{"1086":{"position":[[538,13]]}},"keywords":{}}],["infra",{"_index":387,"title":{},"content":{"11":{"position":[[719,5]]},"41":{"position":[[544,5]]},"174":{"position":[[544,5]]},"362":{"position":[[2254,5]]},"741":{"position":[[2254,5]]},"1112":{"position":[[4439,5]]},"1393":{"position":[[4611,5]]}},"keywords":{}}],["infrastructur",{"_index":4982,"title":{},"content":{"997":{"position":[[291,14]]}},"keywords":{}}],["infrastructure/xar",{"_index":3661,"title":{},"content":{"706":{"position":[[353,19]]}},"keywords":{}}],["ingest",{"_index":4831,"title":{},"content":{"973":{"position":[[33,7]]}},"keywords":{}}],["inherit",{"_index":2293,"title":{},"content":{"424":{"position":[[16,8]]},"693":{"position":[[2923,11],[2995,8]]},"803":{"position":[[16,8]]},"877":{"position":[[333,8]]},"878":{"position":[[1092,8]]},"947":{"position":[[851,7],[1055,7]]},"990":{"position":[[714,10]]},"1024":{"position":[[432,8],[642,9],[1275,9]]},"1025":{"position":[[369,8],[500,8],[610,8]]},"1064":{"position":[[1569,8],[2129,7],[2190,9]]}},"keywords":{}}],["ini",{"_index":2612,"title":{"573":{"position":[[30,3]]},"574":{"position":[[6,3]]}},"content":{"573":{"position":[[218,3]]},"574":{"position":[[46,3],[121,3]]},"577":{"position":[[22,3]]},"584":{"position":[[603,3],[755,3]]}},"keywords":{}}],["ininfo_plist_substitut",{"_index":6900,"title":{},"content":{"1363":{"position":[[6121,27],[6567,27]]}},"keywords":{}}],["init",{"_index":495,"title":{"1160":{"position":[[0,4]]},"1161":{"position":[[5,5]]}},"content":{"17":{"position":[[421,4],[551,4],[612,4],[680,4]]},"18":{"position":[[193,4],[392,4],[1995,4],[2253,4]]},"693":{"position":[[5978,4]]},"1161":{"position":[[48,4]]},"1387":{"position":[[6955,4]]}},"keywords":{}}],["initi",{"_index":77,"title":{"581":{"position":[[6,14]]},"859":{"position":[[0,12]]}},"content":{"5":{"position":[[24,7],[189,7]]},"7":{"position":[[7,10]]},"18":{"position":[[207,10]]},"92":{"position":[[968,7]]},"224":{"position":[[968,7]]},"377":{"position":[[619,10]]},"418":{"position":[[541,7]]},"756":{"position":[[619,10]]},"797":{"position":[[541,7]]},"856":{"position":[[57,12],[150,12]]},"859":{"position":[[30,10]]},"1011":{"position":[[258,7]]},"1014":{"position":[[746,7]]},"1040":{"position":[[1070,7]]},"1052":{"position":[[31,10],[108,11],[279,10],[907,11]]},"1053":{"position":[[805,14]]},"1069":{"position":[[727,14]]},"1161":{"position":[[0,10],[100,10],[279,10],[370,10]]},"1462":{"position":[[6911,9]]},"1467":{"position":[[8629,14]]},"1486":{"position":[[1944,7],[2051,7],[5494,7]]}},"keywords":{}}],["initialis",{"_index":4253,"title":{},"content":{"890":{"position":[[5728,11]]}},"keywords":{}}],["inject",{"_index":1896,"title":{},"content":{"362":{"position":[[1440,6],[1497,6]]},"741":{"position":[[1440,6],[1497,6]]},"890":{"position":[[3629,8],[3689,9],[3791,7],[3969,11]]},"1136":{"position":[[6606,6]]},"1138":{"position":[[10268,6]]},"1140":{"position":[[9194,6]]},"1142":{"position":[[4638,6]]},"1144":{"position":[[966,6]]},"1146":{"position":[[4578,6]]},"1148":{"position":[[8169,6]]},"1150":{"position":[[1201,6]]},"1152":{"position":[[899,6]]},"1154":{"position":[[1054,6]]},"1155":{"position":[[4674,6]]},"1156":{"position":[[4252,6]]},"1157":{"position":[[837,6]]},"1158":{"position":[[831,6]]},"1159":{"position":[[831,6]]},"1161":{"position":[[1826,6]]},"1163":{"position":[[1212,6]]},"1165":{"position":[[1041,6]]},"1167":{"position":[[10198,6]]},"1169":{"position":[[3306,6]]},"1171":{"position":[[1547,6]]},"1172":{"position":[[2932,6]]},"1173":{"position":[[1619,6]]},"1174":{"position":[[1047,6]]},"1175":{"position":[[1043,6]]},"1176":{"position":[[1212,6]]},"1177":{"position":[[1133,6]]},"1178":{"position":[[1450,6]]},"1179":{"position":[[1247,6]]},"1180":{"position":[[1518,6]]},"1181":{"position":[[2038,6]]},"1182":{"position":[[1081,6]]},"1183":{"position":[[1036,6]]},"1185":{"position":[[881,6]]},"1186":{"position":[[5842,6]]},"1187":{"position":[[5855,6]]},"1188":{"position":[[10581,6]]},"1190":{"position":[[2212,6]]},"1191":{"position":[[4442,6]]},"1192":{"position":[[4617,6]]},"1193":{"position":[[4669,6]]},"1194":{"position":[[4309,6]]},"1195":{"position":[[4287,6]]},"1196":{"position":[[4097,6]]},"1197":{"position":[[5080,6]]},"1198":{"position":[[5090,6]]},"1199":{"position":[[5118,6]]},"1200":{"position":[[4985,6]]},"1201":{"position":[[4245,6]]},"1202":{"position":[[989,6],[5387,6],[9784,6]]},"1203":{"position":[[4479,6]]},"1204":{"position":[[4323,6],[5225,6],[6155,6],[7057,6],[8043,6],[8997,6],[9944,6],[10874,6]]},"1205":{"position":[[5652,6]]},"1206":{"position":[[4351,6]]},"1207":{"position":[[4280,6]]},"1209":{"position":[[5628,6]]},"1211":{"position":[[952,6]]},"1213":{"position":[[723,6]]},"1215":{"position":[[807,6]]},"1217":{"position":[[8939,6]]},"1219":{"position":[[4194,6]]},"1221":{"position":[[926,6]]},"1222":{"position":[[4065,6]]},"1223":{"position":[[4075,6]]},"1224":{"position":[[3508,6]]},"1226":{"position":[[9407,6]]},"1228":{"position":[[11020,6]]},"1235":{"position":[[6888,6]]},"1237":{"position":[[9577,6]]},"1345":{"position":[[856,6]]},"1348":{"position":[[3995,8]]}},"keywords":{}}],["inlin",{"_index":3839,"title":{},"content":{"835":{"position":[[291,6]]},"855":{"position":[[88,6]]},"867":{"position":[[1861,6]]},"1136":{"position":[[3155,7]]},"1138":{"position":[[6817,7]]},"1140":{"position":[[5743,7]]},"1142":{"position":[[1187,7]]},"1146":{"position":[[1127,7]]},"1148":{"position":[[4167,7]]},"1155":{"position":[[1223,7]]},"1156":{"position":[[801,7]]},"1167":{"position":[[6747,7]]},"1169":{"position":[[586,7]]},"1186":{"position":[[2391,7]]},"1187":{"position":[[2404,7]]},"1188":{"position":[[7130,7]]},"1191":{"position":[[991,7]]},"1192":{"position":[[1166,7]]},"1193":{"position":[[1218,7]]},"1194":{"position":[[858,7]]},"1195":{"position":[[836,7]]},"1196":{"position":[[646,7]]},"1197":{"position":[[1629,7]]},"1198":{"position":[[1639,7]]},"1199":{"position":[[1667,7]]},"1200":{"position":[[1534,7]]},"1201":{"position":[[794,7]]},"1202":{"position":[[1936,7],[6333,7]]},"1203":{"position":[[1028,7]]},"1204":{"position":[[872,7]]},"1205":{"position":[[2201,7]]},"1206":{"position":[[672,7]]},"1207":{"position":[[829,7]]},"1209":{"position":[[2177,7]]},"1217":{"position":[[5488,7]]},"1219":{"position":[[1474,7]]},"1222":{"position":[[598,7]]},"1223":{"position":[[608,7]]},"1224":{"position":[[788,7]]},"1226":{"position":[[5956,7]]},"1228":{"position":[[7569,7]]},"1235":{"position":[[3437,7]]},"1237":{"position":[[6126,7]]}},"keywords":{}}],["inner",{"_index":190,"title":{},"content":{"9":{"position":[[437,5]]},"66":{"position":[[202,5]]},"130":{"position":[[24,6],[139,5]]},"137":{"position":[[16,6]]},"140":{"position":[[18,6],[137,5],[206,5]]},"253":{"position":[[24,6],[139,5]]},"260":{"position":[[16,6]]},"263":{"position":[[18,6],[137,5],[206,5]]},"454":{"position":[[202,5]]},"890":{"position":[[5275,5],[6757,5]]},"1243":{"position":[[946,5],[1137,5]]},"1426":{"position":[[2106,5]]}},"keywords":{}}],["inotifi",{"_index":686,"title":{},"content":{"22":{"position":[[1986,7]]},"24":{"position":[[660,7]]}},"keywords":{}}],["inpackag",{"_index":5467,"title":{},"content":{"1064":{"position":[[185,9],[1285,9],[1772,9]]}},"keywords":{}}],["inplace_build_arg",{"_index":8299,"title":{},"content":{"1462":{"position":[[1786,19]]},"1467":{"position":[[1961,19]]}},"keywords":{}}],["inprelude/toolchainsbuck",{"_index":599,"title":{},"content":{"18":{"position":[[2178,24]]}},"keywords":{}}],["input",{"_index":949,"title":{"679":{"position":[[16,6]]},"681":{"position":[[38,5]]},"1031":{"position":[[40,7]]}},"content":{"65":{"position":[[206,5]]},"67":{"position":[[54,6],[209,7]]},"83":{"position":[[62,5]]},"89":{"position":[[763,5]]},"92":{"position":[[79,7],[1797,7]]},"94":{"position":[[2331,5]]},"98":{"position":[[1130,5]]},"99":{"position":[[1154,6],[1538,5]]},"215":{"position":[[62,5]]},"221":{"position":[[763,5]]},"224":{"position":[[79,7],[1797,7]]},"226":{"position":[[2331,5]]},"230":{"position":[[1130,5]]},"231":{"position":[[1154,6],[1538,5]]},"237":{"position":[[493,6]]},"300":{"position":[[156,5]]},"309":{"position":[[923,5]]},"316":{"position":[[164,5]]},"317":{"position":[[167,5]]},"318":{"position":[[149,5],[306,5]]},"331":{"position":[[297,6],[322,5]]},"345":{"position":[[456,6]]},"362":{"position":[[1707,5]]},"368":{"position":[[3590,7]]},"406":{"position":[[711,6]]},"417":{"position":[[348,7]]},"453":{"position":[[206,5]]},"455":{"position":[[54,6],[209,7]]},"472":{"position":[[178,6],[203,5]]},"673":{"position":[[446,5]]},"679":{"position":[[41,7],[107,7],[505,6]]},"680":{"position":[[281,5],[1217,5]]},"681":{"position":[[70,6]]},"693":{"position":[[329,6],[654,6],[818,5],[884,6],[1531,5]]},"704":{"position":[[1314,5],[1368,6],[1722,6],[2277,5]]},"705":{"position":[[166,6],[332,6]]},"706":{"position":[[654,5],[1339,6],[1923,6],[1998,6],[2575,6]]},"715":{"position":[[353,6],[865,5]]},"717":{"position":[[82,5]]},"724":{"position":[[49,6],[442,7],[957,6],[1139,7],[1153,6]]},"741":{"position":[[1707,5]]},"747":{"position":[[3590,7]]},"785":{"position":[[711,6]]},"796":{"position":[[348,7]]},"832":{"position":[[127,5]]},"837":{"position":[[118,6],[217,6]]},"845":{"position":[[132,8]]},"846":{"position":[[1741,7]]},"848":{"position":[[378,7],[400,6]]},"860":{"position":[[661,6]]},"861":{"position":[[829,7],[920,6]]},"867":{"position":[[1143,5],[1331,6]]},"878":{"position":[[82,6],[326,5],[748,6],[1424,6]]},"897":{"position":[[186,6]]},"905":{"position":[[62,7]]},"906":{"position":[[543,6]]},"940":{"position":[[420,5]]},"954":{"position":[[175,6]]},"958":{"position":[[103,6]]},"959":{"position":[[515,7]]},"965":{"position":[[64,7]]},"977":{"position":[[134,6]]},"1004":{"position":[[1220,5]]},"1030":{"position":[[131,6]]},"1031":{"position":[[149,6],[274,6],[421,6]]},"1032":{"position":[[99,6],[189,7]]},"1033":{"position":[[98,6],[255,6]]},"1036":{"position":[[55,6],[141,6],[191,6]]},"1040":{"position":[[75,7],[334,6],[362,6],[481,6],[524,6],[626,6],[763,6],[1899,7]]},"1050":{"position":[[555,6],[587,6],[1332,6],[3224,6],[3317,6]]},"1105":{"position":[[582,5],[908,5],[1232,5],[1335,6],[1744,6],[2056,5]]},"1138":{"position":[[5429,6],[5449,6]]},"1140":{"position":[[81,5],[241,5],[4918,6],[4938,6]]},"1167":{"position":[[5922,6],[5942,6]]},"1172":{"position":[[1574,7]]},"1173":{"position":[[874,7]]},"1188":{"position":[[134,5],[294,5],[4971,6],[4991,6]]},"1217":{"position":[[4663,6],[4683,6]]},"1228":{"position":[[6744,6],[6764,6]]},"1273":{"position":[[156,6],[198,8]]},"1286":{"position":[[93,6]]},"1304":{"position":[[156,6],[198,8]]},"1332":{"position":[[156,6],[198,8]]},"1351":{"position":[[4901,6]]},"1360":{"position":[[1583,6],[2485,5],[2629,5],[6289,5],[6372,5]]},"1362":{"position":[[12772,5]]},"1364":{"position":[[13472,5]]},"1367":{"position":[[12680,5]]},"1382":{"position":[[11134,5]]},"1383":{"position":[[8702,5]]},"1384":{"position":[[18788,5]]},"1385":{"position":[[6712,5]]},"1387":{"position":[[10085,5]]},"1388":{"position":[[9627,5]]},"1393":{"position":[[7733,6]]},"1427":{"position":[[6743,6]]},"1438":{"position":[[652,5]]},"1439":{"position":[[7886,6]]},"1442":{"position":[[575,7],[2507,5]]},"1485":{"position":[[3998,5]]},"1487":{"position":[[1824,5]]}},"keywords":{}}],["inputfil",{"_index":6252,"title":{},"content":{"1259":{"position":[[1360,10]]},"1273":{"position":[[73,10]]},"1290":{"position":[[1360,10]]},"1304":{"position":[[73,10]]},"1318":{"position":[[1360,10]]},"1332":{"position":[[73,10]]}},"keywords":{}}],["inputs(target",{"_index":6247,"title":{"1270":{"position":[[0,15]]},"1301":{"position":[[0,15]]},"1329":{"position":[[0,15]]}},"content":{"1259":{"position":[[873,15]]},"1290":{"position":[[873,15]]},"1318":{"position":[[873,15]]}},"keywords":{}}],["inputs).hav",{"_index":5102,"title":{},"content":{"1030":{"position":[[196,12]]}},"keywords":{}}],["input—with",{"_index":8565,"title":{},"content":{"1486":{"position":[[2940,10]]}},"keywords":{}}],["inrequired_local_resourc",{"_index":5321,"title":{},"content":{"1053":{"position":[[217,26]]}},"keywords":{}}],["inresource_env_varsfield",{"_index":2045,"title":{},"content":{"377":{"position":[[1381,24]]},"756":{"position":[[1381,24]]}},"keywords":{}}],["insensit",{"_index":1367,"title":{},"content":{"133":{"position":[[224,14]]},"256":{"position":[[224,14]]},"418":{"position":[[1115,13]]},"797":{"position":[[1115,13]]}},"keywords":{}}],["insert",{"_index":2534,"title":{},"content":{"559":{"position":[[382,7]]},"560":{"position":[[166,10],[367,8],[527,8],[643,9]]},"567":{"position":[[60,6],[104,7],[411,6]]},"718":{"position":[[360,6]]},"722":{"position":[[1097,9]]},"890":{"position":[[3731,8]]},"898":{"position":[[1513,6]]},"939":{"position":[[415,6],[994,8],[1211,6]]},"943":{"position":[[1704,6]]},"944":{"position":[[275,9]]},"945":{"position":[[965,8]]}},"keywords":{}}],["insertcfg//os:linux",{"_index":4632,"title":{},"content":{"939":{"position":[[631,19]]}},"keywords":{}}],["insid",{"_index":1352,"title":{"1132":{"position":[[25,8]]}},"content":{"130":{"position":[[225,6]]},"253":{"position":[[225,6]]},"414":{"position":[[158,6],[216,6]]},"415":{"position":[[196,6]]},"425":{"position":[[156,6],[214,6]]},"578":{"position":[[90,6]]},"596":{"position":[[129,6]]},"793":{"position":[[158,6],[216,6]]},"794":{"position":[[196,6]]},"804":{"position":[[156,6],[214,6]]},"890":{"position":[[762,6],[818,6],[5876,6]]},"904":{"position":[[721,6]]},"942":{"position":[[1698,6]]},"1098":{"position":[[270,6]]},"1245":{"position":[[298,6]]},"1247":{"position":[[295,6]]},"1254":{"position":[[575,7]]},"1362":{"position":[[13507,6]]},"1364":{"position":[[14207,6]]},"1367":{"position":[[13415,6]]}},"keywords":{}}],["inspect",{"_index":2578,"title":{"857":{"position":[[0,10]]},"963":{"position":[[0,7]]}},"content":{"566":{"position":[[295,10]]},"693":{"position":[[1963,7]]},"845":{"position":[[238,7]]},"846":{"position":[[1151,7]]},"848":{"position":[[442,10],[554,10]]},"857":{"position":[[30,7]]},"869":{"position":[[59,7]]},"872":{"position":[[724,7]]},"874":{"position":[[107,7],[198,7],[316,7]]},"876":{"position":[[169,7]]},"923":{"position":[[67,7]]},"962":{"position":[[434,7]]},"1049":{"position":[[410,9]]},"1059":{"position":[[132,7]]},"1120":{"position":[[50,7]]},"1138":{"position":[[3780,7]]},"1140":{"position":[[3269,7]]},"1167":{"position":[[4273,7]]},"1188":{"position":[[3322,7]]},"1190":{"position":[[1483,7]]},"1202":{"position":[[106,7],[198,7],[1173,7],[5577,7]]},"1207":{"position":[[0,7],[222,7]]},"1217":{"position":[[3014,7]]},"1228":{"position":[[5095,7]]},"1248":{"position":[[63,7]]}},"keywords":{}}],["inspir",{"_index":776,"title":{},"content":{"23":{"position":[[3268,8]]},"947":{"position":[[22,8]]}},"keywords":{}}],["instagram'",{"_index":4488,"title":{},"content":{"919":{"position":[[684,11]]}},"keywords":{}}],["instal",{"_index":47,"title":{"15":{"position":[[0,10]]},"1166":{"position":[[0,7]]},"1167":{"position":[[5,8]]}},"content":{"4":{"position":[[207,9]]},"13":{"position":[[246,7],[281,7]]},"15":{"position":[[370,7],[427,7],[480,7],[558,7],[789,10]]},"17":{"position":[[873,9],[911,9],[955,7],[984,7],[1008,7],[1029,10]]},"375":{"position":[[215,10]]},"693":{"position":[[3916,9]]},"754":{"position":[[215,10]]},"1095":{"position":[[180,7]]},"1167":{"position":[[10,7],[54,7],[156,7],[217,7],[252,9],[275,9],[439,9],[587,9],[736,9],[915,9],[1001,7],[1089,9],[1277,9],[1456,9],[1620,9],[1678,9],[1699,10],[1790,9],[1937,9]]},"1360":{"position":[[1504,7],[2899,10]]},"1368":{"position":[[861,10]]},"1383":{"position":[[2484,10]]},"1403":{"position":[[2314,10]]}},"keywords":{}}],["install_arg",{"_index":5971,"title":{},"content":{"1167":{"position":[[164,17]]}},"keywords":{}}],["installinfo",{"_index":2023,"title":{"375":{"position":[[0,12]]},"754":{"position":[[0,12]]}},"content":{"375":{"position":[[68,11]]},"722":{"position":[[1034,12]]},"754":{"position":[[68,11]]}},"keywords":{}}],["installinfo(instal",{"_index":2024,"title":{},"content":{"375":{"position":[[4,22]]},"754":{"position":[[4,22]]}},"keywords":{}}],["instanc",{"_index":872,"title":{},"content":{"45":{"position":[[81,9]]},"52":{"position":[[109,8]]},"53":{"position":[[87,8]]},"76":{"position":[[214,8]]},"192":{"position":[[81,9]]},"199":{"position":[[109,8]]},"200":{"position":[[87,8]]},"505":{"position":[[214,8]]},"591":{"position":[[596,9]]},"693":{"position":[[1079,8],[5044,9]]},"711":{"position":[[998,8]]},"1006":{"position":[[201,9],[252,8]]},"1011":{"position":[[563,9]]},"1017":{"position":[[86,9],[209,10],[698,9]]},"1019":{"position":[[165,10]]},"1052":{"position":[[1164,10],[1377,9]]},"1053":{"position":[[1097,10]]},"1232":{"position":[[3535,9]]},"1251":{"position":[[97,9]]},"1252":{"position":[[129,9]]},"1255":{"position":[[70,9]]},"1345":{"position":[[1139,8]]}},"keywords":{}}],["instances.dll_nam",{"_index":7126,"title":{},"content":{"1381":{"position":[[1852,19]]}},"keywords":{}}],["instant",{"_index":1682,"title":{"512":{"position":[[0,7]]}},"content":{"304":{"position":[[85,7],[282,7]]},"422":{"position":[[16,7],[36,7],[110,7]]},"801":{"position":[[16,7],[36,7],[110,7]]},"864":{"position":[[575,7],[917,7],[1013,7]]},"867":{"position":[[185,7],[263,7]]},"1120":{"position":[[615,7]]},"1126":{"position":[[684,8],[1285,7],[1494,7]]}},"keywords":{}}],["instant.elapsed_milli",{"_index":2288,"title":{"513":{"position":[[0,23]]}},"content":{"422":{"position":[[135,24],[207,24]]},"513":{"position":[[4,24]]},"801":{"position":[[135,24],[207,24]]},"864":{"position":[[1065,24],[1211,24]]}},"keywords":{}}],["instant.elapsed_sec",{"_index":2488,"title":{"514":{"position":[[0,21]]}},"content":{"514":{"position":[[4,22]]}},"keywords":{}}],["instantan",{"_index":168,"title":{},"content":{"9":{"position":[[66,13]]}},"keywords":{}}],["instantev",{"_index":5792,"title":{},"content":{"1126":{"position":[[97,14],[1305,12],[1353,12],[1395,12]]}},"keywords":{}}],["instanti",{"_index":3538,"title":{},"content":{"693":{"position":[[2768,12],[7383,12],[7951,11],[8502,13]]},"877":{"position":[[469,11]]},"1005":{"position":[[186,13]]},"1007":{"position":[[118,13]]},"1046":{"position":[[227,14]]}},"keywords":{}}],["instantiatingbxl_act",{"_index":3917,"title":{},"content":{"851":{"position":[[448,25]]}},"keywords":{}}],["instead",{"_index":746,"title":{},"content":{"23":{"position":[[2233,7]]},"298":{"position":[[1039,8]]},"410":{"position":[[154,8]]},"436":{"position":[[141,8]]},"450":{"position":[[224,8]]},"570":{"position":[[313,8]]},"577":{"position":[[446,7]]},"606":{"position":[[178,7]]},"615":{"position":[[179,7]]},"688":{"position":[[1180,8]]},"693":{"position":[[10117,8]]},"724":{"position":[[621,8]]},"789":{"position":[[154,8]]},"815":{"position":[[141,8]]},"829":{"position":[[224,8]]},"841":{"position":[[497,7]]},"846":{"position":[[1558,8]]},"870":{"position":[[1487,7]]},"904":{"position":[[1342,7]]},"905":{"position":[[1062,7],[1402,7]]},"919":{"position":[[1272,8]]},"920":{"position":[[322,7]]},"924":{"position":[[1735,7]]},"934":{"position":[[0,7]]},"937":{"position":[[2228,8],[3793,8]]},"950":{"position":[[279,8]]},"981":{"position":[[373,8]]},"983":{"position":[[179,8]]},"988":{"position":[[176,7]]},"1024":{"position":[[171,7]]},"1037":{"position":[[275,8]]},"1098":{"position":[[730,7]]},"1105":{"position":[[2336,7]]},"1112":{"position":[[1193,8]]},"1131":{"position":[[353,7]]},"1136":{"position":[[1870,8]]},"1138":{"position":[[5145,7],[5273,7]]},"1140":{"position":[[4634,7],[4762,7]]},"1148":{"position":[[2226,8],[2804,7]]},"1167":{"position":[[5638,7],[5766,7]]},"1176":{"position":[[541,7]]},"1188":{"position":[[4687,7],[4815,7]]},"1205":{"position":[[1350,8]]},"1209":{"position":[[1103,8]]},"1217":{"position":[[439,7],[561,7],[4379,7],[4507,7]]},"1226":{"position":[[3043,8],[3272,7]]},"1228":{"position":[[6460,7],[6588,7]]},"1231":{"position":[[539,8]]},"1235":{"position":[[2363,8]]},"1237":{"position":[[3213,8],[3442,7]]},"1251":{"position":[[237,8]]},"1253":{"position":[[387,8]]},"1254":{"position":[[361,8]]},"1384":{"position":[[16725,8]]},"1393":{"position":[[1306,7]]},"1394":{"position":[[755,7]]},"1395":{"position":[[1745,7],[2515,7]]},"1397":{"position":[[3478,8]]},"1398":{"position":[[2348,8],[4733,8]]},"1399":{"position":[[1924,7]]},"1410":{"position":[[4587,7]]},"1422":{"position":[[3417,8]]},"1439":{"position":[[5124,8]]}},"keywords":{}}],["instead.shared_lib",{"_index":8179,"title":{},"content":{"1454":{"position":[[9024,19]]}},"keywords":{}}],["instruct",{"_index":4302,"title":{},"content":{"895":{"position":[[711,12]]},"997":{"position":[[219,11],[274,12]]},"1056":{"position":[[1245,11],[1341,11]]},"1061":{"position":[[148,13]]},"1078":{"position":[[45,10]]},"1172":{"position":[[531,13]]}},"keywords":{}}],["instrument",{"_index":5447,"title":{},"content":{"1060":{"position":[[352,12]]},"1353":{"position":[[1394,15]]},"1354":{"position":[[1230,15]]}},"keywords":{}}],["instrumentation_test_listen",{"_index":6525,"title":{},"content":{"1354":{"position":[[754,30]]}},"keywords":{}}],["instrumentation_test_listener_class",{"_index":6526,"title":{},"content":{"1354":{"position":[[801,36]]}},"keywords":{}}],["instrumentation_tests/buck",{"_index":8518,"title":{},"content":{"1482":{"position":[[1916,27]]}},"keywords":{}}],["instrumentation_tests:instrumentation_test",{"_index":8533,"title":{},"content":{"1482":{"position":[[2731,45],[2858,45],[3039,45],[3190,45]]}},"keywords":{}}],["int",{"_index":548,"title":{"648":{"position":[[0,4]]}},"content":{"18":{"position":[[467,3]]},"27":{"position":[[33,3]]},"40":{"position":[[66,3]]},"69":{"position":[[88,3]]},"85":{"position":[[127,4]]},"94":{"position":[[717,3],[745,3]]},"99":{"position":[[130,3]]},"135":{"position":[[81,3],[112,3]]},"173":{"position":[[66,3]]},"179":{"position":[[33,3]]},"217":{"position":[[127,4]]},"226":{"position":[[717,3],[745,3]]},"231":{"position":[[130,3]]},"239":{"position":[[389,3]]},"258":{"position":[[81,3],[112,3]]},"304":{"position":[[226,5]]},"328":{"position":[[289,3]]},"335":{"position":[[526,3]]},"362":{"position":[[283,3],[343,3],[669,3],[805,3]]},"377":{"position":[[346,3],[1700,3]]},"398":{"position":[[48,3],[279,3]]},"402":{"position":[[568,3]]},"404":{"position":[[105,3]]},"405":{"position":[[676,3],[774,4]]},"444":{"position":[[50,4]]},"457":{"position":[[88,3]]},"469":{"position":[[170,3]]},"475":{"position":[[288,3]]},"566":{"position":[[38,3],[62,3],[84,3],[366,4],[616,4]]},"567":{"position":[[23,4],[246,4]]},"568":{"position":[[20,3]]},"591":{"position":[[45,3],[69,3],[91,3]]},"594":{"position":[[44,3],[68,3],[90,3]]},"596":{"position":[[45,3],[69,3],[91,3]]},"610":{"position":[[47,3],[287,4]]},"611":{"position":[[45,3],[69,3],[91,3]]},"612":{"position":[[46,3],[70,3],[92,3]]},"614":{"position":[[60,3]]},"616":{"position":[[59,3]]},"627":{"position":[[19,4],[41,3],[76,4]]},"632":{"position":[[32,3]]},"633":{"position":[[24,4]]},"634":{"position":[[11,4]]},"639":{"position":[[45,3]]},"644":{"position":[[28,3],[216,4]]},"647":{"position":[[26,3]]},"648":{"position":[[26,3],[50,3],[65,3],[70,4],[219,4],[835,5],[870,5],[1042,4]]},"651":{"position":[[20,3]]},"656":{"position":[[25,3]]},"662":{"position":[[15,4],[24,3],[39,3]]},"663":{"position":[[319,4]]},"741":{"position":[[283,3],[343,3],[669,3],[805,3]]},"756":{"position":[[346,3],[1700,3]]},"777":{"position":[[48,3],[279,3]]},"781":{"position":[[568,3]]},"783":{"position":[[105,3]]},"784":{"position":[[676,3],[774,4]]},"823":{"position":[[50,4]]},"864":{"position":[[319,5]]},"900":{"position":[[182,3],[219,3],[302,4],[560,4],[717,3],[842,3],[949,4],[1078,3],[1126,3]]},"901":{"position":[[281,4]]},"1348":{"position":[[1552,3]]},"1350":{"position":[[1523,3],[1844,3],[2085,3],[2255,3],[2288,3],[2948,3],[3586,3],[3790,3]]},"1352":{"position":[[1522,3],[1843,3],[2084,3],[2254,3],[2287,3],[2947,3],[3585,3],[3789,3]]},"1353":{"position":[[979,3]]},"1354":{"position":[[1111,3]]},"1355":{"position":[[423,3]]},"1358":{"position":[[428,3]]},"1360":{"position":[[1310,3]]},"1367":{"position":[[6212,3]]},"1382":{"position":[[2012,3]]},"1383":{"position":[[1168,3]]},"1388":{"position":[[2197,3],[3038,3],[3299,3]]},"1389":{"position":[[2709,3]]},"1392":{"position":[[580,3]]},"1398":{"position":[[948,3]]},"1403":{"position":[[1193,3]]},"1410":{"position":[[1230,3],[1516,3]]},"1413":{"position":[[1591,3],[1632,3],[1700,3],[1738,3]]},"1414":{"position":[[612,3],[683,3]]},"1424":{"position":[[1049,3]]},"1427":{"position":[[391,3]]},"1429":{"position":[[1608,3],[2109,3],[2150,3],[2218,3],[2295,3]]},"1432":{"position":[[1288,3]]},"1439":{"position":[[393,3]]},"1440":{"position":[[1809,3],[2263,3],[2304,3],[2372,3],[2449,3]]},"1458":{"position":[[391,3]]},"1462":{"position":[[2468,3]]},"1466":{"position":[[621,3]]},"1467":{"position":[[2643,3],[4093,3],[4640,3]]},"1470":{"position":[[2130,3],[2785,3],[2826,3],[2894,3],[2971,3]]},"1471":{"position":[[1310,3]]},"1473":{"position":[[1362,3],[1567,3]]},"1475":{"position":[[1587,3],[1628,3],[1696,3],[1734,3]]},"1478":{"position":[[726,3],[999,3]]},"1486":{"position":[[591,3],[639,3]]}},"keywords":{}}],["int("hello"",{"_index":3226,"title":{},"content":{"648":{"position":[[1092,22]]}},"keywords":{}}],["int('1",{"_index":3214,"title":{},"content":{"648":{"position":[[924,8]]}},"keywords":{}}],["int('16",{"_index":3215,"title":{},"content":{"648":{"position":[[938,9],[954,9],[974,9],[993,9]]}},"keywords":{}}],["int(0.0",{"_index":3220,"title":{},"content":{"648":{"position":[[1013,8]]}},"keywords":{}}],["int(1",{"_index":3211,"title":{},"content":{"648":{"position":[[881,6]]}},"keywords":{}}],["int(2e9",{"_index":3224,"title":{},"content":{"648":{"position":[[1069,8]]}},"keywords":{}}],["int(3.14",{"_index":3221,"title":{},"content":{"648":{"position":[[1027,9]]}},"keywords":{}}],["int(a",{"_index":3198,"title":{},"content":{"648":{"position":[[4,6]]}},"keywords":{}}],["int(fals",{"_index":3212,"title":{},"content":{"648":{"position":[[893,10]]}},"keywords":{}}],["int(float("inf"",{"_index":3228,"title":{},"content":{"648":{"position":[[1213,27]]}},"keywords":{}}],["int(float("nan"",{"_index":3227,"title":{},"content":{"648":{"position":[[1137,27]]}},"keywords":{}}],["int(i64",{"_index":4341,"title":{},"content":{"898":{"position":[[2165,9]]}},"keywords":{}}],["int(tru",{"_index":3213,"title":{},"content":{"648":{"position":[[909,9]]}},"keywords":{}}],["int(x",{"_index":3199,"title":{},"content":{"648":{"position":[[154,7]]}},"keywords":{}}],["int.th",{"_index":4375,"title":{},"content":{"900":{"position":[[1065,7]]}},"keywords":{}}],["intarget",{"_index":4818,"title":{},"content":{"969":{"position":[[68,8]]}},"keywords":{}}],["integ",{"_index":2749,"title":{"1268":{"position":[[40,9]]},"1275":{"position":[[70,10]]},"1299":{"position":[[40,9]]},"1306":{"position":[[70,10]]},"1327":{"position":[[40,9]]},"1334":{"position":[[70,10]]}},"content":{"590":{"position":[[197,7]]},"634":{"position":[[173,7]]},"639":{"position":[[359,7]]},"647":{"position":[[92,7]]},"648":{"position":[[94,8],[199,8],[276,7],[615,8],[637,7],[1205,7],[1281,7]]},"656":{"position":[[91,7]]},"662":{"position":[[90,8],[177,8],[395,7],[492,8],[569,8],[654,8]]},"890":{"position":[[2260,9]]},"1001":{"position":[[289,8],[308,8]]},"1064":{"position":[[345,8],[364,8]]},"1126":{"position":[[404,7]]},"1228":{"position":[[1768,7]]},"1252":{"position":[[179,9]]},"1258":{"position":[[69,8]]},"1259":{"position":[[740,9],[1486,9]]},"1289":{"position":[[69,8]]},"1290":{"position":[[740,9],[1486,9]]},"1317":{"position":[[69,8]]},"1318":{"position":[[740,9],[1486,9]]},"1486":{"position":[[2458,7]]}},"keywords":{}}],["integr",{"_index":28,"title":{"4":{"position":[[11,11]]},"11":{"position":[[13,12]]}},"content":{"7":{"position":[[303,9]]},"11":{"position":[[21,9],[168,11]]},"22":{"position":[[1837,9]]},"23":{"position":[[2653,9],[2975,11],[3068,10]]},"693":{"position":[[1936,11]]},"869":{"position":[[44,11],[102,11]]},"937":{"position":[[2585,12]]},"1152":{"position":[[183,11]]},"1381":{"position":[[2517,11]]},"1393":{"position":[[9015,11]]},"1405":{"position":[[3952,11]]},"1407":{"position":[[4571,11]]},"1408":{"position":[[2888,11]]},"1410":{"position":[[5753,11]]},"1448":{"position":[[2818,11]]},"1449":{"position":[[2752,11]]},"1457":{"position":[[1927,11]]},"1471":{"position":[[5742,11]]},"1472":{"position":[[6628,11]]},"1473":{"position":[[5913,11]]}},"keywords":{}}],["integration_tests/buck",{"_index":8521,"title":{},"content":{"1482":{"position":[[2079,23]]}},"keywords":{}}],["integration_tests:integration_test",{"_index":8534,"title":{},"content":{"1482":{"position":[[2777,37],[2947,37],[3085,37],[3279,37]]}},"keywords":{}}],["intend",{"_index":1641,"title":{},"content":{"298":{"position":[[1691,6],[1730,8]]},"346":{"position":[[447,8]]},"400":{"position":[[508,8]]},"632":{"position":[[108,8]]},"635":{"position":[[113,8]]},"689":{"position":[[290,8]]},"693":{"position":[[5422,8]]},"711":{"position":[[1147,6]]},"779":{"position":[[508,8]]},"851":{"position":[[786,6],[902,8]]},"900":{"position":[[1999,8]]},"908":{"position":[[70,6]]},"980":{"position":[[756,8]]},"1362":{"position":[[5058,8]]},"1364":{"position":[[5085,8]]},"1384":{"position":[[19649,8]]},"1459":{"position":[[1737,8]]}},"keywords":{}}],["intens",{"_index":3968,"title":{},"content":{"860":{"position":[[290,9],[360,9]]},"864":{"position":[[1049,9],[1195,9]]},"1251":{"position":[[130,9]]}},"keywords":{}}],["intent",{"_index":3830,"title":{},"content":{"834":{"position":[[230,11]]},"1167":{"position":[[1293,6],[1331,6]]},"1355":{"position":[[4930,7]]},"1359":{"position":[[1985,7]]},"1470":{"position":[[4528,7]]}},"keywords":{}}],["intention",{"_index":5751,"title":{},"content":{"1113":{"position":[[534,13]]}},"keywords":{}}],["inter",{"_index":4804,"title":{"966":{"position":[[0,5]]}},"content":{"965":{"position":[[551,5]]}},"keywords":{}}],["interact",{"_index":3526,"title":{},"content":{"693":{"position":[[1975,8]]},"697":{"position":[[73,8]]},"869":{"position":[[71,8],[216,8]]},"962":{"position":[[123,11]]},"964":{"position":[[820,8]]},"975":{"position":[[4,12]]},"1069":{"position":[[101,9]]},"1071":{"position":[[37,9]]},"1118":{"position":[[60,11]]},"1120":{"position":[[433,11]]},"1136":{"position":[[680,9],[5479,14],[5616,11],[5652,12]]},"1138":{"position":[[9141,14],[9278,11],[9314,12]]},"1140":{"position":[[8067,14],[8204,11],[8240,12]]},"1142":{"position":[[3511,14],[3648,11],[3684,12]]},"1146":{"position":[[3451,14],[3588,11],[3624,12]]},"1148":{"position":[[6491,14],[6628,11],[6664,12]]},"1155":{"position":[[3547,14],[3684,11],[3720,12]]},"1156":{"position":[[3125,14],[3262,11],[3298,12]]},"1161":{"position":[[1018,14],[1155,11],[1191,12]]},"1167":{"position":[[9071,14],[9208,11],[9244,12]]},"1171":{"position":[[13,11]]},"1181":{"position":[[1230,14],[1367,11],[1403,12]]},"1186":{"position":[[4715,14],[4852,11],[4888,12]]},"1187":{"position":[[4728,14],[4865,11],[4901,12]]},"1188":{"position":[[9454,14],[9591,11],[9627,12]]},"1190":{"position":[[1066,8]]},"1191":{"position":[[3315,14],[3452,11],[3488,12]]},"1192":{"position":[[3490,14],[3627,11],[3663,12]]},"1193":{"position":[[3542,14],[3679,11],[3715,12]]},"1194":{"position":[[3182,14],[3319,11],[3355,12]]},"1195":{"position":[[3160,14],[3297,11],[3333,12]]},"1196":{"position":[[2970,14],[3107,11],[3143,12]]},"1197":{"position":[[3953,14],[4090,11],[4126,12]]},"1198":{"position":[[3963,14],[4100,11],[4136,12]]},"1199":{"position":[[3991,14],[4128,11],[4164,12]]},"1200":{"position":[[3858,14],[3995,11],[4031,12]]},"1201":{"position":[[3118,14],[3255,11],[3291,12]]},"1202":{"position":[[4260,14],[4397,11],[4433,12],[8657,14],[8794,11],[8830,12]]},"1203":{"position":[[3352,14],[3489,11],[3525,12]]},"1204":{"position":[[11,8],[3196,14],[3333,11],[3369,12]]},"1205":{"position":[[4525,14],[4662,11],[4698,12]]},"1206":{"position":[[2996,14],[3133,11],[3169,12]]},"1207":{"position":[[3153,14],[3290,11],[3326,12]]},"1209":{"position":[[4501,14],[4638,11],[4674,12]]},"1217":{"position":[[7812,14],[7949,11],[7985,12]]},"1219":{"position":[[68,8]]},"1222":{"position":[[2922,14],[3059,11],[3095,12]]},"1223":{"position":[[2932,14],[3069,11],[3105,12]]},"1226":{"position":[[8280,14],[8417,11],[8453,12]]},"1228":{"position":[[9893,14],[10030,11],[10066,12]]},"1235":{"position":[[5761,14],[5898,11],[5934,12]]},"1237":{"position":[[8450,14],[8587,11],[8623,12]]},"1239":{"position":[[16,11],[125,11]]},"1398":{"position":[[6420,11]]}},"keywords":{}}],["interchang",{"_index":4850,"title":{},"content":{"980":{"position":[[239,15]]}},"keywords":{}}],["interest",{"_index":488,"title":{},"content":{"17":{"position":[[112,10]]},"20":{"position":[[264,11]]},"51":{"position":[[30,11]]},"198":{"position":[[30,11]]},"632":{"position":[[312,11]]},"847":{"position":[[314,11]]},"886":{"position":[[29,11],[64,9]]},"919":{"position":[[801,8]]},"955":{"position":[[833,11]]},"1060":{"position":[[164,10]]},"1126":{"position":[[1528,8],[1580,11]]},"1131":{"position":[[165,9]]},"1133":{"position":[[324,9]]},"1353":{"position":[[2532,11]]}},"keywords":{}}],["interfac",{"_index":6563,"title":{},"content":{"1355":{"position":[[5962,11],[6264,11]]},"1363":{"position":[[4836,9]]},"1421":{"position":[[1037,9],[2469,13]]},"1427":{"position":[[5135,11],[5437,11]]}},"keywords":{}}],["interfaces_dyn",{"_index":7883,"title":{},"content":{"1421":{"position":[[2508,17]]}},"keywords":{}}],["interfer",{"_index":6176,"title":{},"content":{"1243":{"position":[[417,9]]}},"keywords":{}}],["intermedi",{"_index":3525,"title":{},"content":{"693":{"position":[[1692,12]]},"870":{"position":[[547,12]]},"1345":{"position":[[600,12]]},"1360":{"position":[[4497,12]]},"1383":{"position":[[6529,12]]},"1403":{"position":[[3912,12]]},"1446":{"position":[[2682,12]]}},"keywords":{}}],["intermediari",{"_index":3642,"title":{},"content":{"704":{"position":[[2530,12]]}},"keywords":{}}],["intern",{"_index":641,"title":{"951":{"position":[[0,8]]}},"content":{"22":{"position":[[515,8]]},"23":{"position":[[992,8],[3391,8]]},"24":{"position":[[203,10],[311,8],[359,8],[604,8],[781,9]]},"91":{"position":[[511,9]]},"223":{"position":[[511,9]]},"693":{"position":[[6028,10]]},"832":{"position":[[81,8]]},"937":{"position":[[886,11]]},"958":{"position":[[241,9]]},"973":{"position":[[119,11]]},"1140":{"position":[[522,8]]},"1188":{"position":[[575,8]]},"1399":{"position":[[1512,10],[1672,8]]},"1405":{"position":[[2825,9]]},"1407":{"position":[[3246,9]]},"1410":{"position":[[3595,8],[3826,9],[4525,10],[5961,8],[6104,8]]},"1422":{"position":[[3846,8]]},"1423":{"position":[[2616,8]]},"1439":{"position":[[4572,8]]},"1446":{"position":[[2239,8]]},"1459":{"position":[[2212,8]]},"1469":{"position":[[2427,8]]},"1471":{"position":[[2624,8]]},"1472":{"position":[[2583,8]]},"1473":{"position":[[2898,8]]}},"keywords":{}}],["internally.th",{"_index":793,"title":{},"content":{"24":{"position":[[700,14]]}},"keywords":{}}],["internet",{"_index":7888,"title":{},"content":{"1422":{"position":[[797,8]]},"1423":{"position":[[680,8]]},"1469":{"position":[[687,8]]}},"keywords":{}}],["interop",{"_index":147,"title":{},"content":{"7":{"position":[[209,7]]},"1448":{"position":[[2652,7]]},"1449":{"position":[[2586,7]]}},"keywords":{}}],["interpol",{"_index":6038,"title":{},"content":{"1217":{"position":[[635,14]]},"1345":{"position":[[465,13],[742,13],[1042,13]]},"1362":{"position":[[10926,11]]},"1364":{"position":[[11893,11]]},"1373":{"position":[[5442,11]]},"1382":{"position":[[7795,11]]},"1384":{"position":[[13859,11]]},"1387":{"position":[[7120,11]]},"1478":{"position":[[2090,13]]}},"keywords":{}}],["interpret",{"_index":2640,"title":{"1232":{"position":[[0,12]]}},"content":{"577":{"position":[[499,11],[609,11],[798,11]]},"583":{"position":[[63,10]]},"591":{"position":[[375,11]]},"594":{"position":[[368,11]]},"595":{"position":[[758,11]]},"617":{"position":[[332,11]]},"636":{"position":[[220,11]]},"644":{"position":[[66,10],[306,11]]},"648":{"position":[[169,10],[462,11],[736,11]]},"693":{"position":[[8131,11]]},"898":{"position":[[300,12]]},"946":{"position":[[243,12]]},"1136":{"position":[[4636,12]]},"1138":{"position":[[8298,12]]},"1140":{"position":[[7224,12]]},"1142":{"position":[[2668,12]]},"1146":{"position":[[151,9],[2608,12]]},"1148":{"position":[[5648,12]]},"1155":{"position":[[163,10],[2704,12]]},"1156":{"position":[[2282,12]]},"1167":{"position":[[8228,12]]},"1169":{"position":[[2067,12]]},"1186":{"position":[[3872,12]]},"1187":{"position":[[3885,12]]},"1188":{"position":[[8611,12]]},"1190":{"position":[[566,11],[969,11]]},"1191":{"position":[[2472,12]]},"1192":{"position":[[2647,12]]},"1193":{"position":[[2699,12]]},"1194":{"position":[[2339,12]]},"1195":{"position":[[2317,12]]},"1196":{"position":[[10,11],[2127,12]]},"1197":{"position":[[3110,12]]},"1198":{"position":[[3120,12]]},"1199":{"position":[[3148,12]]},"1200":{"position":[[3015,12]]},"1201":{"position":[[2275,12]]},"1202":{"position":[[15,11],[3417,12],[7814,12]]},"1203":{"position":[[2509,12]]},"1204":{"position":[[2353,12]]},"1205":{"position":[[3682,12]]},"1206":{"position":[[2153,12]]},"1207":{"position":[[2310,12]]},"1209":{"position":[[3658,12]]},"1217":{"position":[[6969,12]]},"1219":{"position":[[2955,12]]},"1222":{"position":[[2079,12]]},"1223":{"position":[[2089,12]]},"1224":{"position":[[2269,12]]},"1226":{"position":[[125,9],[7437,12]]},"1228":{"position":[[9050,12]]},"1235":{"position":[[4918,12]]},"1237":{"position":[[295,9],[7607,12]]},"1355":{"position":[[6628,9]]},"1362":{"position":[[12883,12]]},"1364":{"position":[[13583,12]]},"1367":{"position":[[12791,12]]},"1374":{"position":[[2707,12],[2926,11]]},"1382":{"position":[[11245,12]]},"1384":{"position":[[18899,12]]},"1385":{"position":[[6823,12]]},"1387":{"position":[[10196,12]]},"1388":{"position":[[9738,12]]},"1398":{"position":[[3478,11]]},"1427":{"position":[[5827,9]]},"1442":{"position":[[2618,12]]},"1462":{"position":[[6899,11]]},"1467":{"position":[[10253,12]]},"1485":{"position":[[4109,12]]},"1486":{"position":[[5559,9],[5733,10]]}},"keywords":{}}],["interpreter.src",{"_index":8356,"title":{},"content":{"1465":{"position":[[4061,17]]}},"keywords":{}}],["interpreter.typ",{"_index":8340,"title":{},"content":{"1462":{"position":[[8770,19]]}},"keywords":{}}],["interrupt",{"_index":5547,"title":{},"content":{"1079":{"position":[[1126,11]]},"1136":{"position":[[4276,9],[4528,9]]},"1138":{"position":[[7938,9],[8190,9]]},"1140":{"position":[[6864,9],[7116,9]]},"1142":{"position":[[2308,9],[2560,9]]},"1146":{"position":[[2248,9],[2500,9]]},"1148":{"position":[[5288,9],[5540,9]]},"1155":{"position":[[2344,9],[2596,9]]},"1156":{"position":[[1922,9],[2174,9]]},"1167":{"position":[[7868,9],[8120,9]]},"1169":{"position":[[1707,9],[1959,9]]},"1186":{"position":[[3512,9],[3764,9]]},"1187":{"position":[[3525,9],[3777,9]]},"1188":{"position":[[8251,9],[8503,9]]},"1191":{"position":[[2112,9],[2364,9]]},"1192":{"position":[[2287,9],[2539,9]]},"1193":{"position":[[2339,9],[2591,9]]},"1194":{"position":[[1979,9],[2231,9]]},"1195":{"position":[[1957,9],[2209,9]]},"1196":{"position":[[1767,9],[2019,9]]},"1197":{"position":[[2750,9],[3002,9]]},"1198":{"position":[[2760,9],[3012,9]]},"1199":{"position":[[2788,9],[3040,9]]},"1200":{"position":[[2655,9],[2907,9]]},"1201":{"position":[[1915,9],[2167,9]]},"1202":{"position":[[3057,9],[3309,9],[7454,9],[7706,9]]},"1203":{"position":[[2149,9],[2401,9]]},"1204":{"position":[[1993,9],[2245,9]]},"1205":{"position":[[3322,9],[3574,9]]},"1206":{"position":[[1793,9],[2045,9]]},"1207":{"position":[[1950,9],[2202,9]]},"1209":{"position":[[3298,9],[3550,9]]},"1217":{"position":[[6609,9],[6861,9]]},"1219":{"position":[[2595,9],[2847,9]]},"1222":{"position":[[1719,9],[1971,9]]},"1223":{"position":[[1729,9],[1981,9]]},"1224":{"position":[[1909,9],[2161,9]]},"1226":{"position":[[7077,9],[7329,9]]},"1228":{"position":[[8690,9],[8942,9]]},"1235":{"position":[[4558,9],[4810,9]]},"1237":{"position":[[7247,9],[7499,9]]}},"keywords":{}}],["intersect",{"_index":6261,"title":{},"content":{"1259":{"position":[[2098,12]]},"1282":{"position":[[17,12],[414,9]]},"1290":{"position":[[2098,12]]},"1313":{"position":[[17,12],[414,9]]},"1318":{"position":[[2098,12]]},"1341":{"position":[[17,12],[414,9]]}},"keywords":{}}],["intersect(left",{"_index":6260,"title":{"1282":{"position":[[0,15]]},"1313":{"position":[[0,15]]},"1341":{"position":[[0,15]]}},"content":{"1259":{"position":[[2035,15]]},"1290":{"position":[[2035,15]]},"1318":{"position":[[2035,15]]}},"keywords":{}}],["interv",{"_index":3289,"title":{},"content":{"662":{"position":[[211,8]]}},"keywords":{}}],["inth",{"_index":3586,"title":{},"content":{"693":{"position":[[8035,5]]}},"keywords":{}}],["into.link_group_dep",{"_index":7851,"title":{},"content":{"1416":{"position":[[2512,21]]}},"keywords":{}}],["into.platform_dep",{"_index":7868,"title":{},"content":{"1420":{"position":[[2194,19]]}},"keywords":{}}],["intro",{"_index":4516,"title":{"923":{"position":[[0,6]]},"926":{"position":[[0,6]]}},"content":{},"keywords":{}}],["introduc",{"_index":76,"title":{},"content":{"5":{"position":[[0,11]]},"136":{"position":[[182,9]]},"259":{"position":[[182,9]]},"406":{"position":[[127,11]]},"575":{"position":[[397,9]]},"785":{"position":[[127,11]]},"879":{"position":[[31,10]]},"890":{"position":[[1418,10],[4721,10]]},"937":{"position":[[3142,10]]},"944":{"position":[[219,10]]},"945":{"position":[[410,10]]},"950":{"position":[[176,9]]},"988":{"position":[[18,11]]},"1232":{"position":[[3866,10]]},"1429":{"position":[[3708,10]]},"1440":{"position":[[3701,10]]}},"keywords":{}}],["introduct",{"_index":0,"title":{"0":{"position":[[0,12]]}},"content":{"5":{"position":[[32,12]]}},"keywords":{}}],["introspect",{"_index":35,"title":{},"content":{"4":{"position":[[55,13]]},"869":{"position":[[311,13]]},"870":{"position":[[392,13],[533,13],[1381,10]]},"959":{"position":[[82,13]]},"962":{"position":[[158,13],[338,10]]},"1071":{"position":[[1219,10]]}},"keywords":{}}],["invalid",{"_index":324,"title":{},"content":{"10":{"position":[[400,10]]},"572":{"position":[[147,10]]},"590":{"position":[[255,7]]},"622":{"position":[[1761,7]]},"656":{"position":[[230,7]]},"832":{"position":[[161,11]]},"937":{"position":[[997,11],[1072,11],[1504,12]]},"1001":{"position":[[755,11],[935,10]]},"1037":{"position":[[318,7],[448,7]]},"1064":{"position":[[853,11],[1035,10]]},"1148":{"position":[[7322,12]]},"1219":{"position":[[688,7]]}},"keywords":{}}],["invari",{"_index":4386,"title":{},"content":{"900":{"position":[[1983,10]]},"1004":{"position":[[2236,9]]},"1351":{"position":[[4843,9]]}},"keywords":{}}],["invent",{"_index":4380,"title":{},"content":{"900":{"position":[[1579,9]]}},"keywords":{}}],["invers",{"_index":6286,"title":{},"content":{"1273":{"position":[[223,8]]},"1304":{"position":[[223,8]]},"1332":{"position":[[223,8]]}},"keywords":{}}],["investig",{"_index":6160,"title":{},"content":{"1232":{"position":[[3971,11]]}},"keywords":{}}],["invoc",{"_index":1838,"title":{"921":{"position":[[10,11]]},"1124":{"position":[[0,10]]}},"content":{"344":{"position":[[169,11]]},"693":{"position":[[4048,11],[4115,12],[6408,11]]},"865":{"position":[[684,12]]},"866":{"position":[[174,11],[197,11]]},"867":{"position":[[52,10]]},"920":{"position":[[608,11]]},"921":{"position":[[492,10]]},"937":{"position":[[1415,11]]},"964":{"position":[[267,10]]},"990":{"position":[[994,11]]},"1035":{"position":[[34,10]]},"1050":{"position":[[128,10]]},"1112":{"position":[[50,11]]},"1124":{"position":[[46,10],[65,10]]},"1126":{"position":[[347,10]]},"1136":{"position":[[5819,10],[5865,10],[5906,10]]},"1138":{"position":[[4199,10],[9481,10],[9527,10],[9568,10]]},"1140":{"position":[[3688,10],[8407,10],[8453,10],[8494,10]]},"1142":{"position":[[3851,10],[3897,10],[3938,10]]},"1146":{"position":[[3791,10],[3837,10],[3878,10]]},"1148":{"position":[[6831,10],[6877,10],[6918,10]]},"1155":{"position":[[3887,10],[3933,10],[3974,10]]},"1156":{"position":[[3465,10],[3511,10],[3552,10]]},"1163":{"position":[[425,10],[471,10],[512,10]]},"1165":{"position":[[254,10],[300,10],[341,10]]},"1167":{"position":[[4692,10],[9411,10],[9457,10],[9498,10]]},"1169":{"position":[[2519,10],[2565,10],[2606,10]]},"1171":{"position":[[153,10],[226,10],[328,10],[390,10],[515,10],[592,10],[737,10]]},"1172":{"position":[[42,11],[1590,11]]},"1173":{"position":[[50,11],[890,11]]},"1175":{"position":[[45,10]]},"1176":{"position":[[47,11]]},"1178":{"position":[[39,11]]},"1179":{"position":[[52,10]]},"1182":{"position":[[39,10]]},"1186":{"position":[[5055,10],[5101,10],[5142,10]]},"1187":{"position":[[5068,10],[5114,10],[5155,10]]},"1188":{"position":[[3741,10],[9794,10],[9840,10],[9881,10]]},"1191":{"position":[[3655,10],[3701,10],[3742,10]]},"1192":{"position":[[3830,10],[3876,10],[3917,10]]},"1193":{"position":[[3882,10],[3928,10],[3969,10]]},"1194":{"position":[[3522,10],[3568,10],[3609,10]]},"1195":{"position":[[3500,10],[3546,10],[3587,10]]},"1196":{"position":[[3310,10],[3356,10],[3397,10]]},"1197":{"position":[[4293,10],[4339,10],[4380,10]]},"1198":{"position":[[4303,10],[4349,10],[4390,10]]},"1199":{"position":[[4331,10],[4377,10],[4418,10]]},"1200":{"position":[[4198,10],[4244,10],[4285,10]]},"1201":{"position":[[3458,10],[3504,10],[3545,10]]},"1202":{"position":[[4600,10],[4646,10],[4687,10],[8997,10],[9043,10],[9084,10]]},"1203":{"position":[[3692,10],[3738,10],[3779,10]]},"1204":{"position":[[3536,10],[3582,10],[3623,10]]},"1205":{"position":[[4865,10],[4911,10],[4952,10]]},"1206":{"position":[[3336,10],[3382,10],[3423,10]]},"1207":{"position":[[3493,10],[3539,10],[3580,10]]},"1209":{"position":[[4841,10],[4887,10],[4928,10]]},"1217":{"position":[[3433,10],[8152,10],[8198,10],[8239,10]]},"1219":{"position":[[3407,10],[3453,10],[3494,10]]},"1222":{"position":[[3262,10],[3308,10],[3349,10]]},"1223":{"position":[[3272,10],[3318,10],[3359,10]]},"1224":{"position":[[2721,10],[2767,10],[2808,10]]},"1226":{"position":[[8620,10],[8666,10],[8707,10]]},"1228":{"position":[[5514,10],[10233,10],[10279,10],[10320,10]]},"1235":{"position":[[6101,10],[6147,10],[6188,10]]},"1237":{"position":[[8790,10],[8836,10],[8877,10]]},"1243":{"position":[[79,12],[109,12],[131,12],[553,12],[578,10],[685,11],[888,10],[1081,10],[1176,11]]},"1393":{"position":[[6558,11]]},"1394":{"position":[[1735,11]]},"1395":{"position":[[2782,11]]},"1396":{"position":[[1635,11]]},"1397":{"position":[[2333,11]]},"1398":{"position":[[3591,11],[3760,11]]},"1422":{"position":[[2143,11]]},"1446":{"position":[[2640,10]]},"1471":{"position":[[3478,11]]},"1472":{"position":[[3146,11],[4062,11]]},"1473":{"position":[[3512,11]]},"1486":{"position":[[818,11]]}},"keywords":{}}],["invok",{"_index":988,"title":{},"content":{"73":{"position":[[87,7]]},"300":{"position":[[178,8]]},"368":{"position":[[2139,8]]},"443":{"position":[[247,7],[344,7]]},"496":{"position":[[87,7]]},"690":{"position":[[613,8]]},"693":{"position":[[2433,8]]},"747":{"position":[[2139,8]]},"822":{"position":[[247,7],[344,7]]},"840":{"position":[[722,7]]},"841":{"position":[[23,6]]},"850":{"position":[[538,6]]},"860":{"position":[[637,6]]},"879":{"position":[[335,6]]},"898":{"position":[[1874,7]]},"943":{"position":[[1554,7]]},"956":{"position":[[118,7]]},"958":{"position":[[145,7]]},"961":{"position":[[586,6]]},"981":{"position":[[393,6]]},"1006":{"position":[[602,7]]},"1105":{"position":[[173,7],[2237,8]]},"1112":{"position":[[3545,7]]},"1254":{"position":[[42,8]]},"1374":{"position":[[2480,7]]},"1381":{"position":[[762,8]]},"1402":{"position":[[1861,8]]},"1422":{"position":[[2016,8]]},"1426":{"position":[[2725,7]]},"1467":{"position":[[8756,6]]},"1471":{"position":[[5342,6],[5395,6]]},"1472":{"position":[[6228,6],[6281,6]]},"1478":{"position":[[1114,8],[2026,6]]},"1482":{"position":[[1549,8]]},"1486":{"position":[[3698,9],[5117,6]]}},"keywords":{}}],["involv",{"_index":2222,"title":{},"content":{"416":{"position":[[650,7]]},"417":{"position":[[880,7]]},"693":{"position":[[2217,7],[2380,8]]},"724":{"position":[[1628,8]]},"795":{"position":[[650,7]]},"796":{"position":[[880,7]]},"1011":{"position":[[474,7]]},"1017":{"position":[[384,8]]},"1148":{"position":[[148,8]]}},"keywords":{}}],["io",{"_index":4755,"title":{"956":{"position":[[0,3]]}},"content":{"955":{"position":[[893,2]]},"956":{"position":[[0,3]]},"995":{"position":[[886,3],[1009,3]]},"1004":{"position":[[867,3],[936,3]]},"1005":{"position":[[366,3]]},"1136":{"position":[[5582,3]]},"1138":{"position":[[9244,3]]},"1140":{"position":[[8170,3]]},"1142":{"position":[[3614,3]]},"1146":{"position":[[3554,3]]},"1148":{"position":[[6594,3]]},"1155":{"position":[[3650,3]]},"1156":{"position":[[3228,3]]},"1161":{"position":[[1121,3]]},"1167":{"position":[[9174,3]]},"1181":{"position":[[1333,3]]},"1186":{"position":[[4818,3]]},"1187":{"position":[[4831,3]]},"1188":{"position":[[9557,3]]},"1191":{"position":[[3418,3]]},"1192":{"position":[[3593,3]]},"1193":{"position":[[3645,3]]},"1194":{"position":[[3285,3]]},"1195":{"position":[[3263,3]]},"1196":{"position":[[3073,3]]},"1197":{"position":[[4056,3]]},"1198":{"position":[[4066,3]]},"1199":{"position":[[4094,3]]},"1200":{"position":[[3961,3]]},"1201":{"position":[[3221,3]]},"1202":{"position":[[4363,3],[8760,3]]},"1203":{"position":[[3455,3]]},"1204":{"position":[[3299,3]]},"1205":{"position":[[4628,3]]},"1206":{"position":[[3099,3]]},"1207":{"position":[[3256,3]]},"1209":{"position":[[4604,3]]},"1217":{"position":[[7915,3]]},"1222":{"position":[[3025,3]]},"1223":{"position":[[3035,3]]},"1226":{"position":[[8383,3]]},"1228":{"position":[[9996,3]]},"1235":{"position":[[5864,3]]},"1237":{"position":[[8553,3]]},"1362":{"position":[[4776,3]]},"1363":{"position":[[7016,3],[7564,3],[7607,3]]},"1365":{"position":[[884,4]]}},"keywords":{}}],["ioutil.readfile("testdata/input").src",{"_index":7759,"title":{},"content":{"1407":{"position":[[4176,49]]}},"keywords":{}}],["ipa",{"_index":6940,"title":{},"content":{"1365":{"position":[[880,3]]}},"keywords":{}}],["iphone_to_watch_transit",{"_index":5009,"title":{},"content":{"1004":{"position":[[1835,26]]},"1005":{"position":[[437,27]]}},"keywords":{}}],["iphoneo",{"_index":4610,"title":{},"content":{"937":{"position":[[4131,10]]}},"keywords":{}}],["iphonesimul",{"_index":6788,"title":{},"content":{"1362":{"position":[[6639,15]]},"1454":{"position":[[10299,17],[10326,16],[10478,17],[10505,16]]}},"keywords":{}}],["iquot",{"_index":7068,"title":{},"content":{"1373":{"position":[[8074,6]]},"1382":{"position":[[10850,6]]},"1384":{"position":[[17924,6]]},"1388":{"position":[[9343,6]]},"1485":{"position":[[3715,6]]}},"keywords":{}}],["is).if",{"_index":4298,"title":{},"content":{"895":{"position":[[543,6]]}},"keywords":{}}],["is__codegen_dir__",{"_index":8040,"title":{},"content":{"1439":{"position":[[5025,18]]}},"keywords":{}}],["is_aarch64=true|fals",{"_index":2264,"title":{},"content":{"419":{"position":[[318,22]]},"798":{"position":[[318,22]]}},"keywords":{}}],["is_arm=true|fals",{"_index":2265,"title":{},"content":{"419":{"position":[[341,18]]},"798":{"position":[[341,18]]}},"keywords":{}}],["is_armeb=true|fals",{"_index":2266,"title":{},"content":{"419":{"position":[[360,20]]},"798":{"position":[[360,20]]}},"keywords":{}}],["is_asset",{"_index":8096,"title":{},"content":{"1446":{"position":[[463,9]]},"1459":{"position":[[480,9],[1879,8]]}},"keywords":{}}],["is_cach",{"_index":6438,"title":{},"content":{"1350":{"position":[[1929,13]]},"1352":{"position":[[1928,13]]},"1360":{"position":[[850,13]]}},"keywords":{}}],["is_configuration_rul",{"_index":2341,"title":{},"content":{"437":{"position":[[131,22]]},"816":{"position":[[131,22]]}},"keywords":{}}],["is_deferr",{"_index":1109,"title":{},"content":{"91":{"position":[[198,14]]},"223":{"position":[[198,14]]}},"keywords":{}}],["is_directori",{"_index":1044,"title":{},"content":{"85":{"position":[[184,13]]},"217":{"position":[[184,13]]}},"keywords":{}}],["is_execut",{"_index":1042,"title":{},"content":{"85":{"position":[[132,14]]},"91":{"position":[[169,14],[408,13]]},"98":{"position":[[316,14],[515,13]]},"217":{"position":[[132,14]]},"223":{"position":[[169,14],[408,13]]},"230":{"position":[[316,14],[515,13]]}},"keywords":{}}],["is_freebsd=true|fals",{"_index":2261,"title":{},"content":{"419":{"position":[[256,22]]},"798":{"position":[[256,22]]}},"keywords":{}}],["is_i386=true|fals",{"_index":2267,"title":{},"content":{"419":{"position":[[381,19]]},"798":{"position":[[381,19]]}},"keywords":{}}],["is_linux=true|fals",{"_index":2258,"title":{},"content":{"419":{"position":[[191,20]]},"798":{"position":[[191,20]]}},"keywords":{}}],["is_macos=true|fals",{"_index":2259,"title":{},"content":{"419":{"position":[[212,20]]},"798":{"position":[[212,20]]}},"keywords":{}}],["is_mips64=true|fals",{"_index":2269,"title":{},"content":{"419":{"position":[[421,21]]},"798":{"position":[[421,21]]}},"keywords":{}}],["is_mips=true|fals",{"_index":2268,"title":{},"content":{"419":{"position":[[401,19]]},"798":{"position":[[401,19]]}},"keywords":{}}],["is_mipsel64=true|fals",{"_index":2271,"title":{},"content":{"419":{"position":[[465,23]]},"798":{"position":[[465,23]]}},"keywords":{}}],["is_mipsel=true|fals",{"_index":2270,"title":{},"content":{"419":{"position":[[443,21]]},"798":{"position":[[443,21]]}},"keywords":{}}],["is_powerpc=true|fals",{"_index":2272,"title":{},"content":{"419":{"position":[[489,22]]},"798":{"position":[[489,22]]}},"keywords":{}}],["is_ppc64=true|fals",{"_index":2273,"title":{},"content":{"419":{"position":[[512,20]]},"798":{"position":[[512,20]]}},"keywords":{}}],["is_self_instru",{"_index":6504,"title":{},"content":{"1353":{"position":[[813,22]]},"1354":{"position":[[854,22]]}},"keywords":{}}],["is_str",{"_index":5380,"title":{},"content":{"1057":{"position":[[343,9],[802,9]]}},"keywords":{}}],["is_toolchain_rul",{"_index":2342,"title":{},"content":{"437":{"position":[[168,18]]},"816":{"position":[[168,18]]}},"keywords":{}}],["is_tre",{"_index":1043,"title":{},"content":{"85":{"position":[[161,8]]},"217":{"position":[[161,8]]}},"keywords":{}}],["is_ui_test",{"_index":6966,"title":{},"content":{"1367":{"position":[[3682,11]]}},"keywords":{}}],["is_unknown=true|fals",{"_index":2262,"title":{},"content":{"419":{"position":[[279,22],[555,22]]},"798":{"position":[[279,22],[555,22]]}},"keywords":{}}],["is_voltron_language_pack_en",{"_index":6439,"title":{},"content":{"1350":{"position":[[1953,33]]},"1352":{"position":[[1952,33]]}},"keywords":{}}],["is_windows=true|fals",{"_index":2260,"title":{},"content":{"419":{"position":[[233,22]]},"798":{"position":[[233,22]]}},"keywords":{}}],["is_x86_64=true|fals",{"_index":2274,"title":{},"content":{"419":{"position":[[533,21]]},"798":{"position":[[533,21]]}},"keywords":{}}],["isbuck2",{"_index":6179,"title":{},"content":{"1243":{"position":[[1116,7]]}},"keywords":{}}],["ish",{"_index":4525,"title":{},"content":{"924":{"position":[[369,3]]}},"keywords":{}}],["isinst",{"_index":3229,"title":{"649":{"position":[[0,11]]}},"content":{},"keywords":{}}],["isinstance(valu",{"_index":3230,"title":{},"content":{"649":{"position":[[4,17]]}},"keywords":{}}],["isn't",{"_index":4208,"title":{},"content":{"890":{"position":[[1061,5]]},"924":{"position":[[931,5]]},"1025":{"position":[[50,5]]},"1427":{"position":[[5635,5]]},"1439":{"position":[[7544,5]]}},"keywords":{}}],["isn't.b",{"_index":4192,"title":{},"content":{"889":{"position":[[939,8]]}},"keywords":{}}],["isn’t",{"_index":3670,"title":{},"content":{"706":{"position":[[842,5],[1301,5]]}},"keywords":{}}],["isol",{"_index":3506,"title":{"1242":{"position":[[68,11]]}},"content":{"692":{"position":[[141,9],[185,9],[215,9]]},"693":{"position":[[5029,9],[5099,9],[5137,9]]},"1105":{"position":[[2594,10]]},"1136":{"position":[[3721,9]]},"1138":{"position":[[3021,9],[7383,9]]},"1140":{"position":[[2510,9],[6309,9]]},"1142":{"position":[[1753,9]]},"1146":{"position":[[1693,9]]},"1148":{"position":[[4733,9]]},"1155":{"position":[[1789,9]]},"1156":{"position":[[1367,9]]},"1167":{"position":[[3514,9],[7313,9]]},"1169":{"position":[[1152,9]]},"1186":{"position":[[2957,9]]},"1187":{"position":[[2970,9]]},"1188":{"position":[[2563,9],[7696,9]]},"1191":{"position":[[1557,9]]},"1192":{"position":[[1732,9]]},"1193":{"position":[[1784,9]]},"1194":{"position":[[1424,9]]},"1195":{"position":[[1402,9]]},"1196":{"position":[[1212,9]]},"1197":{"position":[[2195,9]]},"1198":{"position":[[2205,9]]},"1199":{"position":[[2233,9]]},"1200":{"position":[[2100,9]]},"1201":{"position":[[1360,9]]},"1202":{"position":[[2502,9],[6899,9]]},"1203":{"position":[[1594,9]]},"1204":{"position":[[1438,9]]},"1205":{"position":[[2767,9]]},"1206":{"position":[[1238,9]]},"1207":{"position":[[1395,9]]},"1209":{"position":[[2743,9]]},"1217":{"position":[[2255,9],[6054,9]]},"1219":{"position":[[2040,9]]},"1222":{"position":[[1164,9]]},"1223":{"position":[[1174,9]]},"1224":{"position":[[1354,9]]},"1226":{"position":[[6522,9]]},"1228":{"position":[[4336,9],[8135,9]]},"1235":{"position":[[4003,9]]},"1237":{"position":[[6692,9]]},"1243":{"position":[[1208,9]]}},"keywords":{}}],["isolate_class_load",{"_index":7944,"title":{},"content":{"1425":{"position":[[521,21]]},"1428":{"position":[[507,21]]}},"keywords":{}}],["issu",{"_index":268,"title":{"1238":{"position":[[7,6]]}},"content":{"9":{"position":[[1943,6]]},"12":{"position":[[91,7],[221,7]]},"24":{"position":[[112,7],[140,6],[175,7]]},"575":{"position":[[169,5]]},"907":{"position":[[121,7],[159,6]]},"950":{"position":[[500,5]]},"965":{"position":[[379,6]]},"981":{"position":[[601,5]]},"1037":{"position":[[558,6]]},"1075":{"position":[[549,5]]},"1138":{"position":[[4059,7]]},"1140":{"position":[[3548,7]]},"1167":{"position":[[4552,7]]},"1188":{"position":[[3601,7]]},"1217":{"position":[[3293,7]]},"1228":{"position":[[5374,7]]},"1232":{"position":[[3598,6],[3999,6]]},"1247":{"position":[[453,6]]},"1256":{"position":[[101,5]]}},"keywords":{}}],["isystem",{"_index":7067,"title":{},"content":{"1373":{"position":[[8062,7]]},"1382":{"position":[[10838,7]]},"1384":{"position":[[6102,9],[17270,7],[17912,7]]},"1386":{"position":[[2957,7]]},"1388":{"position":[[9331,7]]},"1485":{"position":[[3703,7]]}},"keywords":{}}],["it'",{"_index":297,"title":{},"content":{"9":{"position":[[2616,4]]},"362":{"position":[[1544,4]]},"368":{"position":[[3444,4]]},"374":{"position":[[1133,4]]},"638":{"position":[[333,4]]},"663":{"position":[[349,4]]},"690":{"position":[[2960,4]]},"693":{"position":[[5220,4],[6502,4]]},"717":{"position":[[192,4]]},"741":{"position":[[1544,4]]},"747":{"position":[[3444,4]]},"753":{"position":[[1133,4]]},"846":{"position":[[1405,4]]},"890":{"position":[[3474,4],[6350,4]]},"895":{"position":[[430,4]]},"897":{"position":[[107,4],[140,4]]},"898":{"position":[[1124,4],[1188,4],[1596,4]]},"900":{"position":[[1994,4]]},"901":{"position":[[311,4]]},"902":{"position":[[322,4]]},"919":{"position":[[2073,4]]},"920":{"position":[[0,4]]},"924":{"position":[[427,4],[1284,4],[2104,4]]},"937":{"position":[[2138,4],[2404,4],[2615,4],[2789,4]]},"944":{"position":[[902,4]]},"975":{"position":[[389,4]]},"1036":{"position":[[0,4]]},"1046":{"position":[[353,4]]},"1050":{"position":[[20,4],[1584,4]]},"1058":{"position":[[897,4]]},"1064":{"position":[[1915,4]]},"1070":{"position":[[957,4]]},"1093":{"position":[[378,4]]},"1098":{"position":[[628,4]]},"1102":{"position":[[1006,4]]},"1104":{"position":[[2713,4]]},"1105":{"position":[[155,4]]},"1114":{"position":[[669,4]]},"1138":{"position":[[3821,4]]},"1140":{"position":[[3310,4]]},"1167":{"position":[[4314,4]]},"1172":{"position":[[1162,4]]},"1173":{"position":[[462,4]]},"1174":{"position":[[366,4]]},"1175":{"position":[[386,4]]},"1176":{"position":[[470,4]]},"1177":{"position":[[382,4]]},"1178":{"position":[[536,4]]},"1179":{"position":[[402,4]]},"1180":{"position":[[732,4]]},"1181":{"position":[[487,4]]},"1182":{"position":[[424,4]]},"1183":{"position":[[379,4]]},"1188":{"position":[[3363,4]]},"1217":{"position":[[3055,4]]},"1228":{"position":[[5136,4]]},"1243":{"position":[[661,4]]},"1355":{"position":[[4056,4]]},"1388":{"position":[[4713,4]]},"1393":{"position":[[6790,4]]},"1410":{"position":[[1653,4]]},"1415":{"position":[[5785,4]]},"1427":{"position":[[3201,4]]},"1439":{"position":[[3875,4]]},"1467":{"position":[[8763,4]]}},"keywords":{}}],["it'll",{"_index":5486,"title":{},"content":{"1070":{"position":[[255,5],[471,5],[910,5]]}},"keywords":{}}],["it).base_modul",{"_index":8318,"title":{},"content":{"1462":{"position":[[5468,16]]}},"keywords":{}}],["it).cgo_compiler_flag",{"_index":7044,"title":{},"content":{"1373":{"position":[[3990,23]]}},"keywords":{}}],["it).cxx_compiler_allow_cache_upload",{"_index":7418,"title":{},"content":{"1389":{"position":[[5505,36]]}},"keywords":{}}],["it).exported_dep",{"_index":8166,"title":{},"content":{"1454":{"position":[[4455,18]]}},"keywords":{}}],["it).link_styl",{"_index":7419,"title":{},"content":{"1389":{"position":[[5752,15]]}},"keywords":{}}],["it.local_linker_flag",{"_index":8174,"title":{},"content":{"1454":{"position":[[7616,22]]}},"keywords":{}}],["it.turn",{"_index":4164,"title":{},"content":{"888":{"position":[[521,7]]}},"keywords":{}}],["item",{"_index":1687,"title":{},"content":{"305":{"position":[[88,5]]},"405":{"position":[[1339,5]]},"577":{"position":[[82,5],[139,6],[176,5],[466,5],[634,5]]},"784":{"position":[[1339,5]]},"833":{"position":[[26,5],[83,5]]},"892":{"position":[[1122,4]]},"1126":{"position":[[211,4]]},"1136":{"position":[[6309,5]]},"1138":{"position":[[9971,5]]},"1140":{"position":[[8897,5]]},"1142":{"position":[[4341,5]]},"1144":{"position":[[669,5]]},"1146":{"position":[[4281,5]]},"1148":{"position":[[7872,5]]},"1150":{"position":[[904,5]]},"1152":{"position":[[602,5]]},"1154":{"position":[[757,5]]},"1155":{"position":[[4377,5]]},"1156":{"position":[[3955,5]]},"1157":{"position":[[540,5]]},"1158":{"position":[[534,5]]},"1159":{"position":[[534,5]]},"1161":{"position":[[1529,5]]},"1163":{"position":[[915,5]]},"1165":{"position":[[744,5]]},"1167":{"position":[[9901,5]]},"1169":{"position":[[3009,5]]},"1171":{"position":[[1250,5]]},"1172":{"position":[[2635,5]]},"1173":{"position":[[1322,5]]},"1174":{"position":[[750,5]]},"1175":{"position":[[746,5]]},"1176":{"position":[[915,5]]},"1177":{"position":[[836,5]]},"1178":{"position":[[1153,5]]},"1179":{"position":[[950,5]]},"1180":{"position":[[1221,5]]},"1181":{"position":[[1741,5]]},"1182":{"position":[[784,5]]},"1183":{"position":[[739,5]]},"1185":{"position":[[584,5]]},"1186":{"position":[[5545,5]]},"1187":{"position":[[5558,5]]},"1188":{"position":[[10284,5]]},"1190":{"position":[[1915,5]]},"1191":{"position":[[4145,5]]},"1192":{"position":[[4320,5]]},"1193":{"position":[[4372,5]]},"1194":{"position":[[4012,5]]},"1195":{"position":[[3990,5]]},"1196":{"position":[[3800,5]]},"1197":{"position":[[4783,5]]},"1198":{"position":[[4793,5]]},"1199":{"position":[[4821,5]]},"1200":{"position":[[4688,5]]},"1201":{"position":[[3948,5]]},"1202":{"position":[[692,5],[5090,5],[9487,5]]},"1203":{"position":[[4182,5]]},"1204":{"position":[[4026,5],[4928,5],[5858,5],[6760,5],[7746,5],[8700,5],[9647,5],[10577,5]]},"1205":{"position":[[5355,5]]},"1206":{"position":[[4054,5]]},"1207":{"position":[[3983,5]]},"1209":{"position":[[5331,5]]},"1211":{"position":[[655,5]]},"1213":{"position":[[426,5]]},"1215":{"position":[[510,5]]},"1217":{"position":[[8642,5]]},"1219":{"position":[[3897,5]]},"1221":{"position":[[629,5]]},"1222":{"position":[[3768,5]]},"1223":{"position":[[3778,5]]},"1224":{"position":[[3211,5]]},"1226":{"position":[[4011,5],[9110,5]]},"1228":{"position":[[10723,5]]},"1235":{"position":[[6591,5]]},"1237":{"position":[[4181,5],[9280,5]]}},"keywords":{}}],["iter",{"_index":706,"title":{"1087":{"position":[[15,10]]}},"content":{"23":{"position":[[766,9]]},"245":{"position":[[95,8]]},"246":{"position":[[98,8]]},"345":{"position":[[896,9]]},"498":{"position":[[101,10]]},"553":{"position":[[188,10]]},"557":{"position":[[415,10]]},"558":{"position":[[270,10]]},"560":{"position":[[305,9],[396,9],[452,9]]},"563":{"position":[[181,10]]},"564":{"position":[[175,10]]},"565":{"position":[[168,9],[236,9],[287,10]]},"567":{"position":[[460,10]]},"568":{"position":[[327,10]]},"569":{"position":[[240,10]]},"590":{"position":[[82,8],[155,8],[373,9]]},"592":{"position":[[72,8],[135,8]]},"604":{"position":[[277,8]]},"628":{"position":[[82,8]]},"629":{"position":[[81,8]]},"636":{"position":[[238,8]]},"638":{"position":[[1004,9]]},"639":{"position":[[138,9],[242,8]]},"643":{"position":[[133,9]]},"652":{"position":[[194,8]]},"653":{"position":[[120,9]]},"654":{"position":[[108,8]]},"655":{"position":[[105,8]]},"665":{"position":[[151,8]]},"666":{"position":[[162,8]]},"670":{"position":[[104,8]]},"672":{"position":[[61,8]]},"673":{"position":[[73,9],[181,8]]},"844":{"position":[[141,9]]},"846":{"position":[[863,9],[1112,7]]},"900":{"position":[[1277,8]]},"902":{"position":[[990,9]]},"964":{"position":[[896,9]]},"1058":{"position":[[876,10],[987,9]]},"1087":{"position":[[8,7],[85,7]]},"1088":{"position":[[15,9]]},"1204":{"position":[[224,4],[9191,5],[9251,4]]},"1398":{"position":[[6467,12]]}},"keywords":{}}],["iterable"",{"_index":3242,"title":{},"content":{"652":{"position":[[333,15]]}},"keywords":{}}],["iterable'",{"_index":2571,"title":{},"content":{"565":{"position":[[95,10]]}},"keywords":{}}],["itertools::itertools>::exactly_on",{"_index":6111,"title":{},"content":{"1232":{"position":[[871,37]]}},"keywords":{}}],["itself",{"_index":1573,"title":{},"content":{"286":{"position":[[259,7]]},"368":{"position":[[3542,8]]},"607":{"position":[[260,7]]},"632":{"position":[[411,7]]},"633":{"position":[[153,7]]},"682":{"position":[[155,7]]},"693":{"position":[[2340,6],[7365,7]]},"747":{"position":[[3542,8]]},"832":{"position":[[824,7]]},"837":{"position":[[9,6]]},"886":{"position":[[424,7]]},"892":{"position":[[275,8]]},"924":{"position":[[313,7]]},"951":{"position":[[1206,6]]},"956":{"position":[[403,6]]},"959":{"position":[[230,7]]},"965":{"position":[[317,6]]},"1019":{"position":[[96,6],[441,6]]},"1031":{"position":[[298,6]]},"1044":{"position":[[818,7]]},"1052":{"position":[[147,6]]},"1057":{"position":[[597,6]]},"1108":{"position":[[335,7]]},"1127":{"position":[[517,6]]},"1138":{"position":[[3883,6],[3940,6]]},"1140":{"position":[[3372,6],[3429,6]]},"1167":{"position":[[4376,6],[4433,6]]},"1188":{"position":[[3425,6],[3482,6]]},"1217":{"position":[[3117,6],[3174,6]]},"1228":{"position":[[5198,6],[5255,6]]},"1354":{"position":[[2627,7]]},"1361":{"position":[[1948,6],[2209,6]]},"1362":{"position":[[10485,7]]},"1364":{"position":[[11599,7]]},"1367":{"position":[[10442,7],[11402,7]]},"1382":{"position":[[7211,7]]},"1383":{"position":[[5425,7]]},"1384":{"position":[[13565,7],[21117,7]]},"1386":{"position":[[2717,7],[4138,7]]},"1388":{"position":[[8080,7]]},"1392":{"position":[[1897,7]]},"1393":{"position":[[7963,7]]},"1403":{"position":[[5063,6]]},"1410":{"position":[[3381,7]]},"1415":{"position":[[3647,7]]},"1429":{"position":[[4673,7]]},"1440":{"position":[[4755,7]]},"1477":{"position":[[1638,6]]},"1482":{"position":[[1606,7]]},"1483":{"position":[[1404,6]]},"1486":{"position":[[2703,6]]}},"keywords":{}}],["it’",{"_index":2223,"title":{},"content":{"416":{"position":[[698,4]]},"417":{"position":[[928,4]]},"705":{"position":[[131,4]]},"706":{"position":[[2284,4]]},"795":{"position":[[698,4]]},"796":{"position":[[928,4]]},"870":{"position":[[109,4]]},"904":{"position":[[1427,4],[1473,4]]},"954":{"position":[[326,4]]}},"keywords":{}}],["it’ll",{"_index":6094,"title":{},"content":{"1231":{"position":[[231,5]]}},"keywords":{}}],["i’m",{"_index":4761,"title":{},"content":{"957":{"position":[[21,3]]}},"keywords":{}}],["i’v",{"_index":177,"title":{},"content":{"9":{"position":[[227,4]]}},"keywords":{}}],["j",{"_index":5927,"title":{},"content":{"1138":{"position":[[2198,2]]},"1140":{"position":[[1687,2]]},"1167":{"position":[[2691,2]]},"1188":{"position":[[1740,2]]},"1217":{"position":[[1432,2]]},"1226":{"position":[[5097,2]]},"1228":{"position":[[3513,2]]},"1237":{"position":[[5267,2]]}},"keywords":{}}],["jar",{"_index":3414,"title":{},"content":{"681":{"position":[[363,3],[452,3],[638,3],[773,3]]},"688":{"position":[[845,3]]},"1355":{"position":[[2324,3],[5636,4],[6563,3]]},"1358":{"position":[[2207,3]]},"1412":{"position":[[1644,3]]},"1426":{"position":[[928,3],[1971,3],[2444,3],[2590,3],[2824,3],[2938,3]]},"1427":{"position":[[1808,3],[4708,4],[5762,3]]},"1439":{"position":[[2094,3],[7207,4],[7671,3]]},"1458":{"position":[[943,3],[1115,3],[2080,3],[2330,3]]},"1470":{"position":[[4751,4]]}},"keywords":{}}],["jar_genrul",{"_index":7941,"title":{"1424":{"position":[[0,12]]}},"content":{"1424":{"position":[[4,12]]}},"keywords":{}}],["jar_postprocessor",{"_index":6552,"title":{},"content":{"1355":{"position":[[1186,18]]},"1427":{"position":[[945,18]]},"1429":{"position":[[1129,18]]},"1439":{"position":[[1111,18]]},"1470":{"position":[[1346,18]]}},"keywords":{}}],["java",{"_index":693,"title":{},"content":{"23":{"position":[[223,5],[303,4],[726,4]]},"678":{"position":[[111,4]]},"688":{"position":[[536,4]]},"702":{"position":[[181,4],[367,4]]},"708":{"position":[[235,4],[727,4]]},"955":{"position":[[65,4]]},"1029":{"position":[[393,4]]},"1271":{"position":[[325,6]]},"1302":{"position":[[325,6]]},"1330":{"position":[[325,6]]},"1351":{"position":[[1908,4],[4024,5]]},"1353":{"position":[[2641,4]]},"1355":{"position":[[2201,4],[3416,4],[3491,4],[3546,4],[4603,4],[6606,4],[7376,5],[7447,4]]},"1358":{"position":[[2234,5],[2422,4],[3163,4]]},"1359":{"position":[[2086,4]]},"1402":{"position":[[704,5],[1629,5],[2392,8]]},"1412":{"position":[[1577,4],[3511,6],[4036,5],[4127,4],[4242,14]]},"1423":{"position":[[2738,4]]},"1426":{"position":[[2818,4]]},"1427":{"position":[[1713,4],[3748,4],[4060,4],[5805,4],[6575,5],[6708,5],[6826,4],[6892,4],[6936,4],[7131,5],[7312,5]]},"1429":{"position":[[1164,5],[2541,5],[4139,4],[4891,4],[5011,5]]},"1439":{"position":[[3237,4],[3312,4],[3367,4],[7703,5],[7844,5]]},"1440":{"position":[[1295,5],[4132,4]]},"1458":{"position":[[2357,5]]},"1470":{"position":[[1381,5],[3310,5]]},"1487":{"position":[[3865,4]]}},"keywords":{}}],["java.util.logging.level",{"_index":8000,"title":{},"content":{"1429":{"position":[[5685,23]]},"1440":{"position":[[5677,23]]}},"keywords":{}}],["java.util.regex.pattern",{"_index":6813,"title":{},"content":{"1362":{"position":[[11369,23],[11799,23],[12178,23]]},"1364":{"position":[[8421,23],[12336,23],[12683,23]]},"1367":{"position":[[11739,23],[12086,23]]},"1373":{"position":[[6391,23],[6820,23],[7218,23]]},"1382":{"position":[[8238,23],[8588,23],[9140,23],[9539,23],[9894,23]]},"1384":{"position":[[7515,23],[7929,23],[8607,23],[9093,23],[14583,23],[14933,23],[15485,23],[15884,23],[16239,23],[19313,23]]},"1385":{"position":[[4468,23],[4817,23],[5368,23],[5766,23],[6120,23]]},"1387":{"position":[[7841,23],[8190,23],[8741,23],[9139,23],[9493,23]]},"1415":{"position":[[4350,23],[4779,23],[5290,23]]},"1416":{"position":[[3206,23]]},"1420":{"position":[[2343,23]]},"1448":{"position":[[2289,23]]},"1449":{"position":[[2223,23]]},"1454":{"position":[[5915,23],[6328,23],[6881,23],[8051,23],[8363,23],[8683,23],[9326,23]]},"1455":{"position":[[2686,23]]},"1465":{"position":[[3393,23],[3802,23]]},"1467":{"position":[[9662,23]]},"1485":{"position":[[2852,23]]},"1487":{"position":[[1723,23]]}},"keywords":{}}],["java/com/example/app:amaz",{"_index":5859,"title":{},"content":{"1136":{"position":[[417,31]]},"1148":{"position":[[934,30]]},"1235":{"position":[[727,30]]}},"keywords":{}}],["java/com/example/ui",{"_index":3697,"title":{},"content":{"708":{"position":[[597,26]]}},"keywords":{}}],["java/com/example/ui/buck",{"_index":3696,"title":{},"content":{"708":{"position":[[485,25]]}},"keywords":{}}],["java/com/example/ui:ui",{"_index":3695,"title":{},"content":{"708":{"position":[[345,28]]}},"keywords":{}}],["java/com/facebook/base/buck",{"_index":3029,"title":{},"content":{"622":{"position":[[538,27],[703,27]]}},"keywords":{}}],["java/com/facebook/base:bas",{"_index":3041,"title":{},"content":{"622":{"position":[[1474,36],[2042,36]]},"1427":{"position":[[8096,32]]},"1439":{"position":[[8918,32]]}},"keywords":{}}],["java/com/facebook/base:base','//java/com/facebook/common/collect:collect",{"_index":3043,"title":{},"content":{"622":{"position":[[1648,81]]}},"keywords":{}}],["java/com/facebook/common",{"_index":3033,"title":{},"content":{"622":{"position":[[792,25]]}},"keywords":{}}],["java/com/facebook/common/buck",{"_index":3030,"title":{},"content":{"622":{"position":[[566,29],[1516,29]]}},"keywords":{}}],["java/com/facebook/common/collect",{"_index":3034,"title":{},"content":{"622":{"position":[[887,34],[1304,34]]}},"keywords":{}}],["java/com/facebook/common/collect/buck",{"_index":3031,"title":{},"content":{"622":{"position":[[596,37]]}},"keywords":{}}],["java/com/facebook/common/concurr",{"_index":3037,"title":{},"content":{"622":{"position":[[1240,36]]}},"keywords":{}}],["java/com/facebook/shar",{"_index":3380,"title":{},"content":{"675":{"position":[[1047,24]]}},"keywords":{}}],["java/com/facebook/share/:shar",{"_index":3376,"title":{},"content":{"675":{"position":[[676,30],[850,30]]}},"keywords":{}}],["java/com/facebook/share:shar",{"_index":3372,"title":{},"content":{"675":{"position":[[261,31],[532,29],[1002,32]]}},"keywords":{}}],["java/com/facebook/sign:super_sign",{"_index":6666,"title":{},"content":{"1360":{"position":[[6250,36],[6333,36]]}},"keywords":{}}],["java_ag",{"_index":7984,"title":{},"content":{"1429":{"position":[[1186,12]]},"1440":{"position":[[1317,12]]},"1470":{"position":[[1403,12]]}},"keywords":{}}],["java_annotation_processor",{"_index":7942,"title":{"1425":{"position":[[0,26]]}},"content":{"1425":{"position":[[4,26]]}},"keywords":{}}],["java_args_for_run_info",{"_index":7950,"title":{},"content":{"1426":{"position":[[692,23]]}},"keywords":{}}],["java_binari",{"_index":3419,"title":{"1426":{"position":[[0,12]]}},"content":{"681":{"position":[[715,12],[756,12],[859,11]]},"688":{"position":[[800,13]]},"1271":{"position":[[347,12]]},"1302":{"position":[[347,12]]},"1330":{"position":[[347,12]]},"1426":{"position":[[4,12],[889,13],[1990,12]]}},"keywords":{}}],["java_hom",{"_index":7805,"title":{},"content":{"1412":{"position":[[3559,9]]}},"keywords":{}}],["java_librari",{"_index":3039,"title":{"1427":{"position":[[0,13]]}},"content":{"622":{"position":[[1410,13],[1570,13],[1946,13]]},"681":{"position":[[413,12]]},"708":{"position":[[1098,13]]},"1260":{"position":[[619,12]]},"1271":{"position":[[332,14]]},"1291":{"position":[[619,12]]},"1302":{"position":[[332,14]]},"1319":{"position":[[619,12]]},"1330":{"position":[[332,14]]},"1412":{"position":[[2612,14],[2738,15],[2794,14],[2920,15],[3012,15],[3189,15],[3243,15],[3293,15],[3376,15],[3648,15]]},"1426":{"position":[[987,14],[2333,13]]},"1427":{"position":[[4,13],[1676,14],[1776,14],[2809,12],[2894,13],[7143,13],[7506,13],[7680,13],[7973,13]]},"1429":{"position":[[3657,15],[4867,15],[4984,15]]},"1458":{"position":[[1177,14],[2648,13]]}},"keywords":{}}],["java_plugin",{"_index":7981,"title":{"1428":{"position":[[0,12]]}},"content":{"1428":{"position":[[4,12]]}},"keywords":{}}],["java_test",{"_index":7983,"title":{"1429":{"position":[[0,10]]}},"content":{"1429":{"position":[[4,10],[2497,11]]},"1470":{"position":[[3404,11]]}},"keywords":{}}],["java_test_runn",{"_index":8002,"title":{"1430":{"position":[[0,17]]}},"content":{"1430":{"position":[[4,17]]}},"keywords":{}}],["java_vers",{"_index":5037,"title":{},"content":{"1009":{"position":[[160,12]]},"1348":{"position":[[1234,13]]},"1355":{"position":[[1221,13]]},"1412":{"position":[[763,13],[3116,13],[4257,12]]},"1413":{"position":[[909,13]]},"1427":{"position":[[980,13],[3821,13]]},"1429":{"position":[[1214,13]]},"1430":{"position":[[762,13]]},"1439":{"position":[[1146,13]]},"1440":{"position":[[1345,13]]},"1470":{"position":[[1431,13]]},"1474":{"position":[[759,13]]},"1475":{"position":[[905,13]]}},"keywords":{}}],["javac",{"_index":6351,"title":{},"content":{"1348":{"position":[[1264,6]]},"1355":{"position":[[1251,6]]},"1412":{"position":[[793,6]]},"1413":{"position":[[939,6]]},"1427":{"position":[[1010,6]]},"1429":{"position":[[1244,6],[4966,6],[5801,6]]},"1430":{"position":[[792,6]]},"1439":{"position":[[1176,6]]},"1440":{"position":[[1375,6]]},"1470":{"position":[[1461,6]]},"1474":{"position":[[789,6]]},"1475":{"position":[[935,6]]}},"keywords":{}}],["javadoc",{"_index":6617,"title":{},"content":{"1358":{"position":[[2145,7]]},"1458":{"position":[[2261,7]]},"1469":{"position":[[2265,8]]}},"keywords":{}}],["javadoc_url",{"_index":6612,"title":{},"content":{"1358":{"position":[[693,12],[3032,11]]},"1458":{"position":[[668,12],[2583,11]]}},"keywords":{}}],["javatest",{"_index":3698,"title":{},"content":{"708":{"position":[[761,10],[880,10],[986,19]]}},"keywords":{}}],["jdk",{"_index":7804,"title":{},"content":{"1412":{"position":[[3546,3]]},"1438":{"position":[[628,4]]}},"keywords":{}}],["jee",{"_index":6559,"title":{},"content":{"1355":{"position":[[5199,3]]},"1427":{"position":[[4513,3]]},"1439":{"position":[[7012,3]]}},"keywords":{}}],["jetti",{"_index":8385,"title":{},"content":{"1469":{"position":[[2818,6],[2844,6],[2891,7],[2930,6],[2952,6],[3242,6],[3264,6],[3590,6]]}},"keywords":{}}],["jive",{"_index":7281,"title":{},"content":{"1386":{"position":[[5179,5]]}},"keywords":{}}],["jl",{"_index":6476,"title":{},"content":{"1351":{"position":[[3078,3]]}},"keywords":{}}],["jll_name",{"_index":8025,"title":{},"content":{"1435":{"position":[[389,9]]}},"keywords":{}}],["job",{"_index":532,"title":{},"content":{"17":{"position":[[1400,4]]},"704":{"position":[[799,3]]},"916":{"position":[[376,4]]},"1446":{"position":[[1885,4]]},"1477":{"position":[[3173,4]]},"1478":{"position":[[3495,5]]},"1486":{"position":[[4526,3],[4642,3],[4836,4],[4873,3],[5197,4],[5472,3]]}},"keywords":{}}],["job'",{"_index":8593,"title":{},"content":{"1486":{"position":[[4549,5]]}},"keywords":{}}],["join",{"_index":829,"title":{},"content":{"34":{"position":[[82,6]]},"118":{"position":[[39,4]]},"190":{"position":[[82,6]]},"405":{"position":[[1609,4]]},"534":{"position":[[39,4]]},"604":{"position":[[74,4]]},"711":{"position":[[773,6],[846,6],[1616,6],[1681,7]]},"784":{"position":[[1609,4]]},"1112":{"position":[[2118,7]]},"1390":{"position":[[2185,8]]},"1391":{"position":[[1907,8]]},"1405":{"position":[[4104,8]]},"1408":{"position":[[2969,8]]},"1410":{"position":[[5834,8],[6054,8]]},"1448":{"position":[[3027,8]]},"1449":{"position":[[2836,8]]},"1457":{"position":[[2039,8]]},"1471":{"position":[[5899,8]]},"1472":{"position":[[6711,8]]},"1473":{"position":[[6068,8]]}},"keywords":{}}],["join.d",{"_index":7430,"title":{},"content":{"1390":{"position":[[2230,9]]},"1391":{"position":[[1952,9]]}},"keywords":{}}],["join.go",{"_index":7741,"title":{},"content":{"1405":{"position":[[4150,10]]}},"keywords":{}}],["join.ml",{"_index":8135,"title":{},"content":{"1448":{"position":[[3076,10]]}},"keywords":{}}],["join.r",{"_index":8443,"title":{},"content":{"1471":{"position":[[5947,10]]},"1473":{"position":[[6116,10]]}},"keywords":{}}],["joined=tru",{"_index":1278,"title":{},"content":{"99":{"position":[[980,11]]},"231":{"position":[[980,11]]}},"keywords":{}}],["jq",{"_index":5818,"title":{},"content":{"1127":{"position":[[546,2],[606,2],[746,2]]}},"keywords":{}}],["js"",{"_index":7088,"title":{},"content":{"1374":{"position":[[2981,9],[3134,9]]}},"keywords":{}}],["js_bundl",{"_index":8003,"title":{"1431":{"position":[[0,10]]}},"content":{"1431":{"position":[[4,10]]},"1432":{"position":[[841,10]]}},"keywords":{}}],["js_bundle_genrul",{"_index":8011,"title":{"1432":{"position":[[0,18]]}},"content":{"1432":{"position":[[4,18]]}},"keywords":{}}],["js_librari",{"_index":8016,"title":{"1433":{"position":[[0,11]]}},"content":{"1433":{"position":[[4,11]]}},"keywords":{}}],["json",{"_index":1272,"title":{"650":{"position":[[0,5]]}},"content":{"99":{"position":[[640,4],[767,4],[1113,4],[1284,4],[1329,4]]},"126":{"position":[[18,5]]},"231":{"position":[[640,4],[767,4],[1113,4],[1284,4],[1329,4]]},"249":{"position":[[18,5]]},"347":{"position":[[135,5]]},"377":{"position":[[678,4],[699,4],[777,4],[1649,4]]},"402":{"position":[[596,4]]},"404":{"position":[[133,4]]},"650":{"position":[[0,5]]},"756":{"position":[[678,4],[699,4],[777,4],[1649,4]]},"781":{"position":[[596,4]]},"783":{"position":[[133,4]]},"865":{"position":[[202,5],[230,5]]},"915":{"position":[[173,5]]},"917":{"position":[[151,5]]},"1040":{"position":[[1740,5]]},"1050":{"position":[[1193,4],[1623,4],[1982,4],[2289,4],[3145,4]]},"1052":{"position":[[344,4],[365,4],[606,4],[644,4],[824,4]]},"1054":{"position":[[530,5]]},"1064":{"position":[[433,5]]},"1083":{"position":[[37,4],[82,4],[1224,4]]},"1127":{"position":[[457,4]]},"1131":{"position":[[516,4]]},"1136":{"position":[[1960,4],[1975,4],[2245,4],[2252,4],[2363,5],[5928,5]]},"1138":{"position":[[522,4],[590,4],[614,4],[662,4],[1442,4],[9590,5]]},"1140":{"position":[[797,6],[840,6],[8516,5]]},"1142":{"position":[[3960,5]]},"1146":{"position":[[3900,5]]},"1148":{"position":[[2316,4],[2331,4],[2601,4],[2608,4],[2719,5],[6940,5]]},"1155":{"position":[[600,5],[624,5],[3996,5]]},"1156":{"position":[[3574,5]]},"1163":{"position":[[534,5]]},"1165":{"position":[[363,5]]},"1167":{"position":[[9520,5]]},"1169":{"position":[[2628,5]]},"1171":{"position":[[302,4]]},"1172":{"position":[[1303,5],[2184,5]]},"1173":{"position":[[603,5]]},"1175":{"position":[[19,4]]},"1178":{"position":[[805,5]]},"1179":{"position":[[543,5]]},"1180":{"position":[[873,5]]},"1186":{"position":[[5164,5]]},"1187":{"position":[[5177,5]]},"1188":{"position":[[850,6],[893,6],[9903,5]]},"1191":{"position":[[242,4],[257,4],[3764,5]]},"1192":{"position":[[376,4],[391,4],[3939,5]]},"1193":{"position":[[474,5],[482,4],[3991,5]]},"1194":{"position":[[3631,5]]},"1195":{"position":[[242,4],[253,4],[3609,5]]},"1196":{"position":[[3419,5]]},"1197":{"position":[[4402,5]]},"1198":{"position":[[283,4],[308,4],[4412,5]]},"1199":{"position":[[4440,5]]},"1200":{"position":[[4307,5]]},"1201":{"position":[[3567,5]]},"1202":{"position":[[4709,5],[9106,5]]},"1203":{"position":[[3801,5]]},"1204":{"position":[[3645,5]]},"1205":{"position":[[466,4],[4974,5]]},"1206":{"position":[[3445,5],[3588,4]]},"1207":{"position":[[3602,5]]},"1209":{"position":[[1193,4],[1208,4],[1478,4],[1485,4],[1596,5],[4950,5]]},"1217":{"position":[[8261,5]]},"1219":{"position":[[858,4],[888,5],[898,4],[3516,5]]},"1222":{"position":[[3371,5]]},"1223":{"position":[[3381,5]]},"1224":{"position":[[2830,5]]},"1226":{"position":[[146,4],[168,4],[175,4],[203,4],[3701,4],[3769,4],[3793,4],[3841,4],[8729,5]]},"1228":{"position":[[10342,5]]},"1235":{"position":[[1004,4],[2453,4],[2468,4],[2738,4],[2745,4],[2856,5],[6210,5]]},"1237":{"position":[[316,4],[338,4],[345,4],[373,4],[3871,4],[3939,4],[3963,4],[4011,4],[8899,5]]},"1486":{"position":[[1004,4],[3790,4],[4970,4]]}},"keywords":{}}],["json.output",{"_index":1138,"title":{},"content":{"92":{"position":[[1314,12]]},"224":{"position":[[1314,12]]}},"keywords":{}}],["json_project",{"_index":2402,"title":{},"content":{"448":{"position":[[68,17]]},"827":{"position":[[68,17]]},"1083":{"position":[[970,19]]}},"keywords":{}}],["jsonl",{"_index":3998,"title":{},"content":{"865":{"position":[[397,5]]},"1127":{"position":[[96,5]]},"1140":{"position":[[666,6]]},"1171":{"position":[[774,5]]},"1182":{"position":[[76,5]]},"1188":{"position":[[719,6]]}},"keywords":{}}],["jsonutil",{"_index":7966,"title":{},"content":{"1427":{"position":[[7164,11]]},"1439":{"position":[[7994,11]]}},"keywords":{}}],["jsonutil.java",{"_index":7967,"title":{},"content":{"1427":{"position":[[7183,18]]}},"keywords":{}}],["jsonutil.kt",{"_index":8067,"title":{},"content":{"1439":{"position":[[8013,16]]}},"keywords":{}}],["julia_arg",{"_index":8022,"title":{},"content":{"1434":{"position":[[405,11]]},"1437":{"position":[[455,11]]}},"keywords":{}}],["julia_binari",{"_index":8020,"title":{"1434":{"position":[[0,13]]}},"content":{"1434":{"position":[[4,13]]}},"keywords":{}}],["julia_flag",{"_index":8023,"title":{},"content":{"1434":{"position":[[432,12]]},"1437":{"position":[[482,12]]}},"keywords":{}}],["julia_jll_librari",{"_index":8024,"title":{"1435":{"position":[[0,18]]}},"content":{"1435":{"position":[[4,18]]}},"keywords":{}}],["julia_librari",{"_index":8027,"title":{"1436":{"position":[[0,14]]}},"content":{"1436":{"position":[[4,14]]}},"keywords":{}}],["julia_test",{"_index":8029,"title":{"1437":{"position":[[0,11]]}},"content":{"1437":{"position":[[4,11]]}},"keywords":{}}],["junit",{"_index":3699,"title":{},"content":{"708":{"position":[[905,6],[933,8],[955,6]]},"1429":{"position":[[2583,6],[3743,5],[3792,5],[4187,5],[5206,5],[5277,5],[6117,7]]},"1440":{"position":[[2771,6],[3736,5],[3785,5],[4180,5],[5200,5],[5271,5],[6017,7]]},"1458":{"position":[[2502,8],[2524,6],[2556,6],[2725,9]]},"1470":{"position":[[3352,5]]}},"keywords":{}}],["junit.jar",{"_index":8231,"title":{},"content":{"1458":{"position":[[1134,10]]}},"keywords":{}}],["jvm",{"_index":8001,"title":{},"content":{"1429":{"position":[[6274,3]]},"1440":{"position":[[6073,3]]}},"keywords":{}}],["k",{"_index":5984,"title":{},"content":{"1167":{"position":[[1801,2]]},"1211":{"position":[[86,2]]}},"keywords":{}}],["k(provid",{"_index":5229,"title":{},"content":{"1047":{"position":[[284,13]]},"1048":{"position":[[943,13]]}},"keywords":{}}],["k2",{"_index":6553,"title":{},"content":{"1355":{"position":[[1274,3],[4817,3],[4840,2]]},"1439":{"position":[[1199,3],[4643,3],[4666,2]]},"1440":{"position":[[1398,3],[4592,3],[4615,2]]},"1470":{"position":[[1484,3],[4431,2]]}},"keywords":{}}],["kebab",{"_index":1663,"title":{},"content":{"300":{"position":[[228,5]]}},"keywords":{}}],["keep",{"_index":656,"title":{"907":{"position":[[0,4]]}},"content":{"22":{"position":[[842,4]]},"886":{"position":[[322,5],[525,4]]},"889":{"position":[[150,5]]},"919":{"position":[[501,4]]},"935":{"position":[[225,4]]},"937":{"position":[[1479,5],[2648,4]]},"955":{"position":[[342,4]]},"973":{"position":[[138,4]]},"995":{"position":[[579,4]]},"1004":{"position":[[1528,4]]},"1100":{"position":[[164,7]]},"1114":{"position":[[157,4],[194,4]]},"1138":{"position":[[4764,4],[4955,4]]},"1140":{"position":[[4253,4],[4444,4]]},"1167":{"position":[[1806,4],[1830,4],[5257,4],[5448,4]]},"1188":{"position":[[4306,4],[4497,4]]},"1217":{"position":[[3998,4],[4189,4]]},"1226":{"position":[[3855,4]]},"1228":{"position":[[6079,4],[6270,4]]},"1237":{"position":[[4025,4]]}},"keywords":{}}],["keep_go",{"_index":1721,"title":{},"content":{"309":{"position":[[329,11],[804,12],[877,11]]},"907":{"position":[[249,10],[349,10],[490,10]]}},"keywords":{}}],["keepend",{"_index":2998,"title":{},"content":{"617":{"position":[[319,9]]}},"keywords":{}}],["kept",{"_index":5546,"title":{},"content":{"1079":{"position":[[962,4]]},"1186":{"position":[[558,4]]},"1187":{"position":[[571,4]]},"1188":{"position":[[5297,4]]},"1355":{"position":[[6193,4]]},"1427":{"position":[[5366,4]]}},"keywords":{}}],["key",{"_index":838,"title":{"577":{"position":[[0,3]]},"578":{"position":[[32,3]]},"694":{"position":[[0,3]]}},"content":{"37":{"position":[[54,3]]},"94":{"position":[[3851,5]]},"132":{"position":[[16,4]]},"182":{"position":[[54,3]]},"226":{"position":[[3851,5]]},"255":{"position":[[16,4]]},"294":{"position":[[1258,5]]},"297":{"position":[[997,5]]},"298":{"position":[[2234,4]]},"301":{"position":[[1208,5]]},"304":{"position":[[167,4]]},"311":{"position":[[518,5]]},"345":{"position":[[558,3]]},"362":{"position":[[1463,3],[1532,3],[1603,3]]},"366":{"position":[[143,4]]},"367":{"position":[[173,4]]},"368":{"position":[[2499,4]]},"377":{"position":[[1437,3],[1627,4]]},"389":{"position":[[433,3]]},"400":{"position":[[384,4]]},"429":{"position":[[30,4]]},"433":{"position":[[36,4]]},"443":{"position":[[44,4],[392,4],[401,3]]},"446":{"position":[[332,3]]},"451":{"position":[[25,4],[199,4]]},"554":{"position":[[162,4],[298,3]]},"555":{"position":[[79,5]]},"556":{"position":[[67,4],[134,4]]},"557":{"position":[[167,4],[354,3]]},"559":{"position":[[217,4],[459,3]]},"560":{"position":[[632,3]]},"572":{"position":[[67,4]]},"573":{"position":[[127,3]]},"575":{"position":[[528,3]]},"576":{"position":[[61,3]]},"577":{"position":[[47,3],[103,3],[243,3],[416,3],[599,3]]},"578":{"position":[[18,4],[59,3],[109,3]]},"584":{"position":[[235,3]]},"654":{"position":[[15,3],[254,3]]},"655":{"position":[[15,3]]},"666":{"position":[[21,3],[363,3],[440,4]]},"710":{"position":[[62,5]]},"741":{"position":[[1463,3],[1532,3],[1603,3]]},"745":{"position":[[143,4]]},"746":{"position":[[173,4]]},"747":{"position":[[2499,4]]},"756":{"position":[[1437,3],[1627,4]]},"768":{"position":[[433,3]]},"779":{"position":[[384,4]]},"808":{"position":[[30,4]]},"812":{"position":[[36,4]]},"822":{"position":[[44,4],[392,4],[401,3]]},"825":{"position":[[332,3]]},"830":{"position":[[25,4],[199,4]]},"851":{"position":[[1436,4],[1557,4]]},"856":{"position":[[309,3]]},"864":{"position":[[270,4]]},"900":{"position":[[846,4]]},"915":{"position":[[72,3]]},"938":{"position":[[239,5]]},"943":{"position":[[2250,4]]},"944":{"position":[[150,4],[454,4],[1887,4],[1930,3]]},"951":{"position":[[266,3]]},"964":{"position":[[746,3]]},"972":{"position":[[158,6]]},"977":{"position":[[523,5],[582,5]]},"1001":{"position":[[1078,6]]},"1006":{"position":[[790,3]]},"1050":{"position":[[2365,3]]},"1052":{"position":[[454,3],[598,4],[829,5],[1452,3]]},"1053":{"position":[[562,3],[613,4]]},"1064":{"position":[[1193,4]]},"1069":{"position":[[127,3],[215,3],[499,3],[630,3]]},"1082":{"position":[[1115,3]]},"1083":{"position":[[949,3]]},"1112":{"position":[[555,4],[2096,4],[2731,3],[3154,3],[3158,4]]},"1120":{"position":[[558,3]]},"1136":{"position":[[6587,3],[6690,5]]},"1138":{"position":[[10249,3],[10352,5]]},"1140":{"position":[[9175,3],[9278,5]]},"1142":{"position":[[4619,3],[4722,5]]},"1144":{"position":[[947,3],[1050,5]]},"1146":{"position":[[4559,3],[4662,5]]},"1148":{"position":[[8150,3],[8253,5]]},"1150":{"position":[[1182,3],[1285,5]]},"1152":{"position":[[880,3],[983,5]]},"1154":{"position":[[1035,3],[1138,5]]},"1155":{"position":[[4655,3],[4758,5]]},"1156":{"position":[[4233,3],[4336,5]]},"1157":{"position":[[818,3],[921,5]]},"1158":{"position":[[812,3],[915,5]]},"1159":{"position":[[812,3],[915,5]]},"1161":{"position":[[1807,3],[1910,5]]},"1163":{"position":[[1193,3],[1296,5]]},"1165":{"position":[[1022,3],[1125,5]]},"1167":{"position":[[10179,3],[10282,5]]},"1169":{"position":[[3287,3],[3390,5]]},"1171":{"position":[[1528,3],[1631,5]]},"1172":{"position":[[2913,3],[3016,5]]},"1173":{"position":[[1600,3],[1703,5]]},"1174":{"position":[[1028,3],[1131,5]]},"1175":{"position":[[1024,3],[1127,5]]},"1176":{"position":[[1193,3],[1296,5]]},"1177":{"position":[[1114,3],[1217,5]]},"1178":{"position":[[1431,3],[1534,5]]},"1179":{"position":[[1228,3],[1331,5]]},"1180":{"position":[[1499,3],[1602,5]]},"1181":{"position":[[2019,3],[2122,5]]},"1182":{"position":[[1062,3],[1165,5]]},"1183":{"position":[[1017,3],[1120,5]]},"1185":{"position":[[862,3],[965,5]]},"1186":{"position":[[5823,3],[5926,5]]},"1187":{"position":[[5836,3],[5939,5]]},"1188":{"position":[[10562,3],[10665,5]]},"1190":{"position":[[2193,3],[2296,5]]},"1191":{"position":[[4423,3],[4526,5]]},"1192":{"position":[[4598,3],[4701,5]]},"1193":{"position":[[289,3],[4650,3],[4753,5]]},"1194":{"position":[[4290,3],[4393,5]]},"1195":{"position":[[4268,3],[4371,5]]},"1196":{"position":[[4078,3],[4181,5]]},"1197":{"position":[[5061,3],[5164,5]]},"1198":{"position":[[5071,3],[5174,5]]},"1199":{"position":[[5099,3],[5202,5]]},"1200":{"position":[[4966,3],[5069,5]]},"1201":{"position":[[4226,3],[4329,5]]},"1202":{"position":[[970,3],[1073,5],[5368,3],[5471,5],[9765,3],[9868,5]]},"1203":{"position":[[4460,3],[4563,5]]},"1204":{"position":[[4304,3],[4407,5],[5206,3],[5309,5],[6136,3],[6239,5],[7038,3],[7141,5],[8024,3],[8127,5],[8978,3],[9081,5],[9925,3],[10028,5],[10855,3],[10958,5]]},"1205":{"position":[[5633,3],[5736,5]]},"1206":{"position":[[4332,3],[4435,5]]},"1207":{"position":[[4261,3],[4364,5]]},"1209":{"position":[[5609,3],[5712,5]]},"1211":{"position":[[933,3],[1036,5]]},"1213":{"position":[[704,3],[807,5]]},"1215":{"position":[[788,3],[891,5]]},"1217":{"position":[[8920,3],[9023,5]]},"1219":{"position":[[4175,3],[4278,5]]},"1221":{"position":[[907,3],[1010,5]]},"1222":{"position":[[4046,3],[4149,5]]},"1223":{"position":[[4056,3],[4159,5]]},"1224":{"position":[[3489,3],[3592,5]]},"1226":{"position":[[9388,3],[9491,5]]},"1228":{"position":[[11001,3],[11104,5]]},"1235":{"position":[[6869,3],[6972,5]]},"1237":{"position":[[9558,3],[9661,5]]},"1254":{"position":[[720,5]]},"1262":{"position":[[621,4]]},"1293":{"position":[[621,4]]},"1321":{"position":[[621,4]]},"1345":{"position":[[87,4],[655,4]]},"1348":{"position":[[3434,3]]},"1349":{"position":[[1579,3]]},"1350":{"position":[[4550,3]]},"1351":{"position":[[1776,3]]},"1352":{"position":[[4549,3]]},"1353":{"position":[[2153,3]]},"1354":{"position":[[1991,3]]},"1355":{"position":[[3136,3]]},"1356":{"position":[[1497,3]]},"1357":{"position":[[1170,3]]},"1358":{"position":[[1891,3]]},"1359":{"position":[[1728,3]]},"1360":{"position":[[2365,3],[5574,4]]},"1361":{"position":[[1718,3]]},"1362":{"position":[[6088,3],[7508,3],[9524,3]]},"1363":{"position":[[3834,3]]},"1364":{"position":[[6117,3],[7747,3],[10638,3]]},"1365":{"position":[[1652,3]]},"1366":{"position":[[1864,3],[2419,3],[2440,4]]},"1367":{"position":[[7515,3],[9612,3]]},"1368":{"position":[[2208,3]]},"1369":{"position":[[1260,3]]},"1370":{"position":[[1513,3]]},"1371":{"position":[[1136,3]]},"1372":{"position":[[2774,3]]},"1373":{"position":[[3646,3]]},"1374":{"position":[[1548,3]]},"1375":{"position":[[1172,3]]},"1376":{"position":[[1128,3]]},"1377":{"position":[[1367,3]]},"1378":{"position":[[1114,3]]},"1379":{"position":[[1137,3]]},"1380":{"position":[[1608,3]]},"1381":{"position":[[1514,3],[2302,4],[2386,4]]},"1382":{"position":[[4000,3]]},"1383":{"position":[[2238,3],[7577,4]]},"1384":{"position":[[5162,3],[11630,4],[12607,4]]},"1385":{"position":[[2833,3]]},"1386":{"position":[[1471,3]]},"1387":{"position":[[5102,3]]},"1388":{"position":[[4300,3]]},"1389":{"position":[[5155,3]]},"1390":{"position":[[1407,3]]},"1391":{"position":[[1360,3]]},"1392":{"position":[[1510,3]]},"1393":{"position":[[2088,3],[4099,3],[5715,3],[5782,3]]},"1394":{"position":[[1530,3]]},"1395":{"position":[[1545,3]]},"1396":{"position":[[1336,3]]},"1397":{"position":[[1517,3]]},"1398":{"position":[[2195,3]]},"1399":{"position":[[1372,3]]},"1400":{"position":[[1241,3]]},"1401":{"position":[[1316,3]]},"1402":{"position":[[1472,3]]},"1403":{"position":[[2068,3],[6677,4]]},"1404":{"position":[[1305,3]]},"1405":{"position":[[1996,3]]},"1406":{"position":[[1212,3]]},"1407":{"position":[[2037,3]]},"1408":{"position":[[1733,3]]},"1409":{"position":[[1267,3]]},"1410":{"position":[[2435,3]]},"1411":{"position":[[1250,3]]},"1412":{"position":[[2456,3]]},"1413":{"position":[[2634,3]]},"1414":{"position":[[1501,3]]},"1415":{"position":[[3483,3]]},"1416":{"position":[[2135,3]]},"1417":{"position":[[1724,3]]},"1418":{"position":[[1425,3]]},"1419":{"position":[[1553,3]]},"1420":{"position":[[1817,3]]},"1421":{"position":[[1792,3]]},"1422":{"position":[[1701,3]]},"1423":{"position":[[1684,3]]},"1424":{"position":[[1809,3]]},"1425":{"position":[[1425,3]]},"1426":{"position":[[1774,3]]},"1427":{"position":[[2671,3]]},"1428":{"position":[[1407,3]]},"1429":{"position":[[3335,3]]},"1430":{"position":[[2183,3]]},"1431":{"position":[[1527,3]]},"1432":{"position":[[2048,3]]},"1433":{"position":[[1569,3]]},"1434":{"position":[[1243,3]]},"1435":{"position":[[1207,3]]},"1436":{"position":[[1223,3]]},"1437":{"position":[[1293,3]]},"1438":{"position":[[565,3],[1433,3],[1913,3],[2041,4]]},"1439":{"position":[[2957,3],[4846,3],[4909,3]]},"1440":{"position":[[3523,3]]},"1441":{"position":[[1249,3]]},"1442":{"position":[[1328,3]]},"1443":{"position":[[1544,3]]},"1444":{"position":[[1460,3]]},"1445":{"position":[[1149,3]]},"1446":{"position":[[1483,3]]},"1447":{"position":[[1365,3]]},"1448":{"position":[[1800,3]]},"1449":{"position":[[1734,3]]},"1450":{"position":[[1613,3]]},"1451":{"position":[[1613,3]]},"1452":{"position":[[1159,3]]},"1453":{"position":[[1745,3]]},"1454":{"position":[[4111,3]]},"1455":{"position":[[1998,3]]},"1456":{"position":[[1343,3]]},"1457":{"position":[[1402,3]]},"1458":{"position":[[1937,3]]},"1459":{"position":[[1416,3]]},"1460":{"position":[[1528,3]]},"1461":{"position":[[1749,3]]},"1462":{"position":[[5124,3],[7924,4],[8074,5]]},"1463":{"position":[[1250,3]]},"1464":{"position":[[1158,3]]},"1465":{"position":[[2256,3]]},"1466":{"position":[[1494,3]]},"1467":{"position":[[5819,3],[8984,4],[9134,5]]},"1468":{"position":[[1258,3]]},"1469":{"position":[[1637,3]]},"1470":{"position":[[4160,3]]},"1471":{"position":[[2500,3]]},"1472":{"position":[[2459,3]]},"1473":{"position":[[2774,3]]},"1474":{"position":[[2159,3]]},"1475":{"position":[[2630,3]]},"1476":{"position":[[1235,3]]},"1477":{"position":[[1393,3]]},"1478":{"position":[[1884,3],[2317,3]]},"1479":{"position":[[1327,3]]},"1480":{"position":[[1740,3]]},"1481":{"position":[[2273,3]]},"1482":{"position":[[1347,3]]},"1483":{"position":[[1181,3]]},"1484":{"position":[[1253,3]]},"1485":{"position":[[1513,3]]},"1486":{"position":[[1757,3]]},"1487":{"position":[[1458,3]]}},"keywords":{}}],["key.alias.password=alias_password",{"_index":8037,"title":{},"content":{"1438":{"position":[[1961,33]]}},"keywords":{}}],["key.alias=my_alia",{"_index":8031,"title":{},"content":{"1438":{"position":[[1703,18]]}},"keywords":{}}],["key.store.password=store_password",{"_index":8034,"title":{},"content":{"1438":{"position":[[1817,33]]}},"keywords":{}}],["key/valu",{"_index":2512,"title":{},"content":{"555":{"position":[[131,9]]},"558":{"position":[[95,9],[157,9]]},"559":{"position":[[398,9]]},"560":{"position":[[156,9],[347,9],[506,9]]},"636":{"position":[[299,9],[420,9]]}},"keywords":{}}],["key=len",{"_index":3256,"title":{},"content":{"654":{"position":[[527,8]]},"655":{"position":[[417,8]]},"666":{"position":[[667,8],[819,8]]}},"keywords":{}}],["key=valu",{"_index":5917,"title":{},"content":{"1136":{"position":[[6671,12]]},"1138":{"position":[[10333,12]]},"1140":{"position":[[9259,12]]},"1142":{"position":[[4703,12]]},"1144":{"position":[[1031,12]]},"1146":{"position":[[4643,12]]},"1148":{"position":[[8234,12]]},"1150":{"position":[[1266,12]]},"1152":{"position":[[964,12]]},"1154":{"position":[[1119,12]]},"1155":{"position":[[4739,12]]},"1156":{"position":[[4317,12]]},"1157":{"position":[[902,12]]},"1158":{"position":[[896,12]]},"1159":{"position":[[896,12]]},"1161":{"position":[[1891,12]]},"1163":{"position":[[1277,12]]},"1165":{"position":[[1106,12]]},"1167":{"position":[[10263,12]]},"1169":{"position":[[3371,12]]},"1171":{"position":[[1612,12]]},"1172":{"position":[[2997,12]]},"1173":{"position":[[1684,12]]},"1174":{"position":[[1112,12]]},"1175":{"position":[[1108,12]]},"1176":{"position":[[1277,12]]},"1177":{"position":[[1198,12]]},"1178":{"position":[[1515,12]]},"1179":{"position":[[1312,12]]},"1180":{"position":[[1583,12]]},"1181":{"position":[[2103,12]]},"1182":{"position":[[1146,12]]},"1183":{"position":[[1101,12]]},"1185":{"position":[[946,12]]},"1186":{"position":[[5907,12]]},"1187":{"position":[[5920,12]]},"1188":{"position":[[10646,12]]},"1190":{"position":[[2277,12]]},"1191":{"position":[[4507,12]]},"1192":{"position":[[4682,12]]},"1193":{"position":[[4734,12]]},"1194":{"position":[[4374,12]]},"1195":{"position":[[4352,12]]},"1196":{"position":[[4162,12]]},"1197":{"position":[[5145,12]]},"1198":{"position":[[5155,12]]},"1199":{"position":[[5183,12]]},"1200":{"position":[[5050,12]]},"1201":{"position":[[4310,12]]},"1202":{"position":[[1054,12],[5452,12],[9849,12]]},"1203":{"position":[[4544,12]]},"1204":{"position":[[4388,12],[5290,12],[6220,12],[7122,12],[8108,12],[9062,12],[10009,12],[10939,12]]},"1205":{"position":[[5717,12]]},"1206":{"position":[[4416,12]]},"1207":{"position":[[4345,12]]},"1209":{"position":[[5693,12]]},"1211":{"position":[[1017,12]]},"1213":{"position":[[788,12]]},"1215":{"position":[[872,12]]},"1217":{"position":[[9004,12]]},"1219":{"position":[[4259,12]]},"1221":{"position":[[991,12]]},"1222":{"position":[[4130,12]]},"1223":{"position":[[4140,12]]},"1224":{"position":[[3573,12]]},"1226":{"position":[[9472,12]]},"1228":{"position":[[11085,12]]},"1235":{"position":[[6953,12]]},"1237":{"position":[[9642,12]]}},"keywords":{}}],["keyed_vari",{"_index":2058,"title":{},"content":{"389":{"position":[[53,15],[823,15],[1737,16]]},"768":{"position":[[53,15],[823,15],[1737,16]]}},"keywords":{}}],["keystor",{"_index":6440,"title":{"1438":{"position":[[0,9]]}},"content":{"1350":{"position":[[1997,9]]},"1351":{"position":[[4365,8],[5620,8]]},"1352":{"position":[[1996,9]]},"1353":{"position":[[3127,8]]},"1354":{"position":[[3266,8]]},"1360":{"position":[[874,9],[6043,8]]},"1438":{"position":[[4,9],[530,10],[1784,8],[2087,8]]}},"keywords":{}}],["keystores:debug",{"_index":6489,"title":{},"content":{"1351":{"position":[[4376,20]]}},"keywords":{}}],["keystores:prod",{"_index":6513,"title":{},"content":{"1353":{"position":[[3138,19]]},"1354":{"position":[[3277,19]]},"1360":{"position":[[6054,19]]}},"keywords":{}}],["keystores:releas",{"_index":6499,"title":{},"content":{"1351":{"position":[[5631,22]]}},"keywords":{}}],["keytool",{"_index":8030,"title":{},"content":{"1438":{"position":[[589,7],[1694,8],[2118,8]]}},"keywords":{}}],["keyvalu",{"_index":2615,"title":{},"content":{"573":{"position":[[141,10]]}},"keywords":{}}],["keyword",{"_index":1861,"title":{},"content":{"347":{"position":[[189,7]]},"595":{"position":[[737,8],[811,7],[844,7]]},"636":{"position":[[375,7],[469,7]]}},"keywords":{}}],["kill",{"_index":519,"title":{"692":{"position":[[0,7]]},"1162":{"position":[[0,4]]},"1163":{"position":[[5,5]]}},"content":{"17":{"position":[[1092,4]]},"692":{"position":[[27,6],[58,4],[102,4]]},"937":{"position":[[4520,4]]},"945":{"position":[[143,6]]},"1075":{"position":[[450,4]]},"1142":{"position":[[52,5],[317,7]]},"1163":{"position":[[0,4],[91,5],[151,5],[235,4]]},"1165":{"position":[[0,4]]},"1172":{"position":[[1832,7]]}},"keywords":{}}],["kill.cpp",{"_index":4325,"title":{},"content":{"896":{"position":[[937,8]]}},"keywords":{}}],["killal",{"_index":5969,"title":{"1164":{"position":[[0,7]]},"1165":{"position":[[5,8]]}},"content":{"1163":{"position":[[47,8],[82,8]]},"1165":{"position":[[61,7]]}},"keywords":{}}],["kind",{"_index":856,"title":{"971":{"position":[[7,5]]}},"content":{"41":{"position":[[452,4]]},"74":{"position":[[84,4],[140,5]]},"121":{"position":[[180,5]]},"123":{"position":[[57,5]]},"141":{"position":[[25,5]]},"174":{"position":[[452,4]]},"207":{"position":[[45,4],[98,5]]},"264":{"position":[[25,5]]},"276":{"position":[[413,4]]},"277":{"position":[[361,4]]},"281":{"position":[[493,4]]},"282":{"position":[[443,4]]},"283":{"position":[[80,4]]},"332":{"position":[[309,4],[391,4]]},"462":{"position":[[82,4]]},"473":{"position":[[190,4],[272,4]]},"497":{"position":[[84,4],[140,5]]},"530":{"position":[[180,5]]},"532":{"position":[[57,5]]},"711":{"position":[[635,4]]},"867":{"position":[[776,4],[2160,4]]},"895":{"position":[[511,4]]},"987":{"position":[[58,4]]},"988":{"position":[[287,5],[519,5]]},"989":{"position":[[152,4]]},"1112":{"position":[[4345,4]]},"1172":{"position":[[742,4]]},"1180":{"position":[[137,4]]},"1211":{"position":[[91,4]]},"1403":{"position":[[7574,5]]}},"keywords":{}}],["kind(regex",{"_index":6248,"title":{"1271":{"position":[[0,11]]},"1302":{"position":[[0,11]]},"1330":{"position":[[0,11]]}},"content":{"1259":{"position":[[908,11],[961,11]]},"1271":{"position":[[4,11]]},"1290":{"position":[[908,11],[961,11]]},"1302":{"position":[[4,11]]},"1318":{"position":[[908,11],[961,11]]},"1330":{"position":[[4,11]]}},"keywords":{}}],["kind(run",{"_index":5860,"title":{},"content":{"1136":{"position":[[523,10]]}},"keywords":{}}],["kindslabel",{"_index":4130,"title":{},"content":{"881":{"position":[[53,11]]}},"keywords":{}}],["klabnik",{"_index":89,"title":{},"content":{"5":{"position":[[225,8]]}},"keywords":{}}],["know",{"_index":741,"title":{"834":{"position":[[18,4]]}},"content":{"23":{"position":[[2076,7]]},"695":{"position":[[549,5]]},"717":{"position":[[516,4]]},"848":{"position":[[815,4]]},"861":{"position":[[766,4]]},"904":{"position":[[1492,4]]},"919":{"position":[[2494,4]]},"935":{"position":[[140,4]]},"938":{"position":[[976,4]]},"975":{"position":[[357,7]]},"1071":{"position":[[221,5]]},"1100":{"position":[[94,5]]},"1193":{"position":[[398,5]]},"1251":{"position":[[252,4]]},"1403":{"position":[[7543,5]]}},"keywords":{}}],["known",{"_index":642,"title":{},"content":{"22":{"position":[[565,5]]},"622":{"position":[[1052,5]]},"693":{"position":[[6201,5]]},"704":{"position":[[1448,5]]},"717":{"position":[[614,5]]},"720":{"position":[[238,5]]},"722":{"position":[[1190,5]]},"724":{"position":[[760,5],[1440,5],[1554,5]]},"890":{"position":[[2280,5]]},"892":{"position":[[337,5]]},"898":{"position":[[1658,6]]},"938":{"position":[[929,6]]},"943":{"position":[[1961,5]]},"944":{"position":[[429,5]]},"1026":{"position":[[641,6]]},"1035":{"position":[[63,5]]},"1140":{"position":[[692,5]]},"1188":{"position":[[745,5]]},"1194":{"position":[[275,5]]},"1254":{"position":[[113,5]]},"1355":{"position":[[5076,5]]},"1360":{"position":[[1451,5]]},"1427":{"position":[[4390,5]]},"1439":{"position":[[6889,5]]}},"keywords":{}}],["kotlin",{"_index":630,"title":{},"content":{"22":{"position":[[115,7]]},"1355":{"position":[[3451,6],[3560,6],[4747,6],[4785,6],[4833,6]]},"1439":{"position":[[1995,6],[3272,6],[3381,6],[4430,6],[4499,6],[4611,6],[4659,6],[4724,6]]},"1440":{"position":[[4560,6],[4608,6]]},"1470":{"position":[[4340,6],[4377,6],[4424,6]]}},"keywords":{}}],["kotlin_compiler_plugin",{"_index":6352,"title":{},"content":{"1348":{"position":[[1287,24]]},"1355":{"position":[[1288,24]]},"1439":{"position":[[1213,24],[4679,24],[5138,23],[5703,23],[5953,23]]},"1440":{"position":[[1412,24]]},"1470":{"position":[[1498,24]]}},"keywords":{}}],["kotlin_hom",{"_index":8055,"title":{},"content":{"1439":{"position":[[6007,12]]}},"keywords":{}}],["kotlin_librari",{"_index":8038,"title":{"1439":{"position":[[0,15]]}},"content":{"1439":{"position":[[4,15],[1946,16],[2060,16],[3479,14],[3566,15],[5617,17],[5820,15],[7971,15],[8332,15],[8504,15],[8797,15]]},"1440":{"position":[[3648,17],[4949,17],[4978,17]]}},"keywords":{}}],["kotlin_test",{"_index":8072,"title":{"1440":{"position":[[0,12]]}},"content":{"1440":{"position":[[4,12],[2685,13]]}},"keywords":{}}],["kotlinx",{"_index":8049,"title":{},"content":{"1439":{"position":[[5655,7],[5731,7]]}},"keywords":{}}],["kotlinx.serializationwith",{"_index":8048,"title":{},"content":{"1439":{"position":[[5591,25]]}},"keywords":{}}],["kt",{"_index":8066,"title":{},"content":{"1439":{"position":[[7698,4],[7712,4],[7853,3],[7961,3],[8140,3]]},"1440":{"position":[[2731,3],[5007,3]]}},"keywords":{}}],["kwarg",{"_index":2542,"title":{},"content":{"560":{"position":[[30,9]]},"595":{"position":[[25,9],[94,9],[219,7]]},"636":{"position":[[16,9]]},"657":{"position":[[29,8]]},"669":{"position":[[18,9]]}},"keywords":{}}],["l",{"_index":2563,"title":{},"content":{"563":{"position":[[111,2]]},"564":{"position":[[101,1]]},"565":{"position":[[190,2],[261,1]]},"566":{"position":[[193,1],[285,1],[574,2]]},"567":{"position":[[136,1]]},"568":{"position":[[155,2]]},"569":{"position":[[149,2]]},"991":{"position":[[2185,2],[2461,3],[2527,1]]},"1197":{"position":[[196,2]]}},"keywords":{}}],["l'",{"_index":4944,"title":{},"content":{"991":{"position":[[2683,6]]}},"keywords":{}}],["l.append(x",{"_index":2562,"title":{},"content":{"563":{"position":[[77,11]]}},"keywords":{}}],["l.clear",{"_index":2568,"title":{},"content":{"564":{"position":[[54,9]]}},"keywords":{}}],["l.extend(x",{"_index":2572,"title":{},"content":{"565":{"position":[[115,11]]}},"keywords":{}}],["l.index(x",{"_index":2577,"title":{},"content":{"566":{"position":[[142,11]]}},"keywords":{}}],["l.insert(i",{"_index":2590,"title":{},"content":{"567":{"position":[[89,11]]}},"keywords":{}}],["l.pop([index",{"_index":2598,"title":{},"content":{"568":{"position":[[91,14]]}},"keywords":{}}],["l.remove(x",{"_index":2602,"title":{},"content":{"569":{"position":[[79,11]]}},"keywords":{}}],["l[dir",{"_index":8206,"title":{},"content":{"1455":{"position":[[3614,6]]}},"keywords":{}}],["l[name",{"_index":8207,"title":{},"content":{"1455":{"position":[[3622,7]]}},"keywords":{}}],["label",{"_index":889,"title":{"105":{"position":[[0,5]]},"376":{"position":[[0,6]]},"517":{"position":[[0,5]]},"755":{"position":[[0,6]]},"913":{"position":[[5,6]]},"914":{"position":[[9,7]]}},"content":{"49":{"position":[[23,5],[34,5]]},"62":{"position":[[104,6]]},"63":{"position":[[89,5],[152,5]]},"73":{"position":[[22,5],[39,5]]},"77":{"position":[[18,5]]},"94":{"position":[[62,5],[369,5]]},"98":{"position":[[104,5]]},"99":{"position":[[136,5]]},"106":{"position":[[25,5]]},"108":{"position":[[102,6]]},"109":{"position":[[25,5]]},"110":{"position":[[28,5]]},"111":{"position":[[41,5]]},"113":{"position":[[51,5],[191,5]]},"136":{"position":[[116,5]]},"158":{"position":[[96,6]]},"168":{"position":[[84,5]]},"196":{"position":[[23,5],[34,5]]},"226":{"position":[[62,5],[369,5]]},"230":{"position":[[104,5]]},"231":{"position":[[136,5]]},"236":{"position":[[126,5],[334,5]]},"237":{"position":[[126,5],[334,5]]},"238":{"position":[[148,5],[356,5]]},"239":{"position":[[120,5],[328,5]]},"240":{"position":[[230,6]]},"259":{"position":[[116,5]]},"280":{"position":[[84,5],[153,5],[268,6],[305,6]]},"294":{"position":[[26,7],[116,5],[276,5],[501,7],[864,6],[883,6],[900,6],[1023,6],[1079,6],[1207,6],[1278,6],[1310,6]]},"295":{"position":[[341,6],[377,6]]},"297":{"position":[[23,7],[113,5],[273,5],[479,7],[730,6],[853,6],[907,6],[1017,6],[1065,6]]},"298":{"position":[[2163,6],[2298,6],[2353,7],[2457,6]]},"301":{"position":[[36,7],[415,7],[639,6],[658,6],[675,6],[794,6],[904,5],[942,7],[968,5],[1035,5],[1224,6],[1259,6]]},"302":{"position":[[341,6],[377,6]]},"308":{"position":[[73,5],[94,5]]},"309":{"position":[[33,7],[476,6],[596,6],[651,6],[929,6]]},"310":{"position":[[42,7],[304,6],[321,6],[444,6],[499,6],[627,6],[750,6]]},"311":{"position":[[38,7],[255,6],[272,6],[375,5],[534,6],[578,6]]},"320":{"position":[[314,5]]},"329":{"position":[[290,6]]},"340":{"position":[[337,7]]},"345":{"position":[[139,5]]},"366":{"position":[[29,6],[336,6]]},"367":{"position":[[60,6],[401,6]]},"368":{"position":[[158,5],[3122,5]]},"372":{"position":[[30,6],[277,6],[299,5]]},"374":{"position":[[62,6],[928,7],[982,6],[1665,6]]},"375":{"position":[[27,6],[226,5]]},"376":{"position":[[0,6]]},"377":{"position":[[67,5]]},"379":{"position":[[21,6],[282,6]]},"386":{"position":[[53,5]]},"405":{"position":[[55,5],[303,5]]},"417":{"position":[[83,5]]},"461":{"position":[[57,5]]},"470":{"position":[[230,6]]},"491":{"position":[[104,6]]},"492":{"position":[[89,5],[152,5]]},"496":{"position":[[22,5],[39,5]]},"506":{"position":[[18,5]]},"518":{"position":[[25,5]]},"520":{"position":[[102,6]]},"521":{"position":[[25,5]]},"522":{"position":[[28,5]]},"523":{"position":[[41,5]]},"525":{"position":[[51,5],[191,5]]},"542":{"position":[[96,6]]},"693":{"position":[[8612,6]]},"715":{"position":[[342,6]]},"717":{"position":[[627,6]]},"745":{"position":[[29,6],[336,6]]},"746":{"position":[[60,6],[401,6]]},"747":{"position":[[158,5],[3122,5]]},"751":{"position":[[30,6],[277,6],[299,5]]},"753":{"position":[[62,6],[928,7],[982,6],[1665,6]]},"754":{"position":[[27,6],[226,5]]},"755":{"position":[[0,6]]},"756":{"position":[[67,5]]},"758":{"position":[[21,6],[282,6]]},"765":{"position":[[53,5]]},"784":{"position":[[55,5],[303,5]]},"796":{"position":[[83,5]]},"851":{"position":[[685,7],[700,7],[841,7],[856,7],[1202,7],[1472,7],[1621,6],[1682,7],[1786,6]]},"854":{"position":[[127,6]]},"867":{"position":[[1540,6],[1559,6],[1570,6]]},"905":{"position":[[525,6]]},"914":{"position":[[17,6],[93,6]]},"923":{"position":[[120,6]]},"924":{"position":[[363,5],[789,7],[1244,5],[2530,5]]},"935":{"position":[[51,5],[84,5]]},"951":{"position":[[602,6],[1061,6]]},"980":{"position":[[412,5]]},"990":{"position":[[215,5],[376,5],[556,6]]},"993":{"position":[[90,5]]},"994":{"position":[[100,5],[204,7],[484,6]]},"995":{"position":[[101,5],[161,5]]},"1004":{"position":[[1750,6],[1757,5]]},"1011":{"position":[[523,5]]},"1014":{"position":[[242,7]]},"1024":{"position":[[281,6]]},"1053":{"position":[[709,6],[1184,5]]},"1069":{"position":[[380,6]]},"1140":{"position":[[175,5]]},"1148":{"position":[[2834,6]]},"1188":{"position":[[228,5]]},"1190":{"position":[[1341,5]]},"1205":{"position":[[228,5]]},"1228":{"position":[[437,6],[506,6],[849,5],[973,7]]},"1348":{"position":[[1343,7]]},"1349":{"position":[[688,7]]},"1350":{"position":[[2012,7]]},"1351":{"position":[[558,7]]},"1352":{"position":[[2011,7]]},"1353":{"position":[[846,7]]},"1354":{"position":[[887,7],[2518,6],[2561,6],[2717,5]]},"1355":{"position":[[1344,7]]},"1356":{"position":[[475,7]]},"1358":{"position":[[722,7]]},"1359":{"position":[[629,7]]},"1360":{"position":[[900,7]]},"1361":{"position":[[475,7]]},"1362":{"position":[[2404,7],[10547,5]]},"1363":{"position":[[2076,7]]},"1364":{"position":[[2415,7]]},"1365":{"position":[[554,7]]},"1366":{"position":[[638,7]]},"1367":{"position":[[3704,7],[10315,7],[10333,6],[10376,6],[10532,5]]},"1368":{"position":[[881,7]]},"1369":{"position":[[461,7]]},"1370":{"position":[[505,7]]},"1373":{"position":[[1326,7]]},"1374":{"position":[[539,7]]},"1377":{"position":[[513,7]]},"1380":{"position":[[424,7]]},"1381":{"position":[[542,7]]},"1382":{"position":[[1365,7],[7416,5]]},"1383":{"position":[[778,7]]},"1384":{"position":[[2121,7]]},"1385":{"position":[[821,7]]},"1386":{"position":[[452,7]]},"1387":{"position":[[2171,7]]},"1388":{"position":[[1550,7],[8285,5]]},"1389":{"position":[[2555,7]]},"1390":{"position":[[438,7]]},"1391":{"position":[[439,7]]},"1392":{"position":[[436,7],[1788,6],[1831,6],[1987,5]]},"1393":{"position":[[722,7]]},"1394":{"position":[[458,7]]},"1395":{"position":[[514,7]]},"1396":{"position":[[424,7]]},"1397":{"position":[[467,7]]},"1398":{"position":[[785,7]]},"1399":{"position":[[420,7]]},"1400":{"position":[[442,7]]},"1401":{"position":[[434,7]]},"1402":{"position":[[605,7]]},"1403":{"position":[[803,7],[4384,6]]},"1404":{"position":[[444,7]]},"1405":{"position":[[737,7]]},"1407":{"position":[[764,7]]},"1408":{"position":[[750,7]]},"1410":{"position":[[916,7],[3254,7],[3272,6],[3315,6],[3471,5]]},"1411":{"position":[[423,7]]},"1412":{"position":[[816,7]]},"1413":{"position":[[962,7]]},"1414":{"position":[[549,7]]},"1415":{"position":[[1042,7]]},"1416":{"position":[[703,7],[2713,5]]},"1417":{"position":[[679,7]]},"1418":{"position":[[557,7]]},"1419":{"position":[[601,7]]},"1420":{"position":[[678,7]]},"1421":{"position":[[685,7]]},"1422":{"position":[[466,7]]},"1423":{"position":[[447,7]]},"1424":{"position":[[719,7]]},"1425":{"position":[[553,7]]},"1426":{"position":[[731,7]]},"1427":{"position":[[1033,7]]},"1428":{"position":[[539,7]]},"1429":{"position":[[1267,7],[4546,7],[4564,6],[4607,6],[4763,5]]},"1430":{"position":[[815,7]]},"1431":{"position":[[715,7]]},"1432":{"position":[[857,7]]},"1433":{"position":[[723,7]]},"1438":{"position":[[438,7]]},"1439":{"position":[[1269,7],[6675,7]]},"1440":{"position":[[1468,7],[4628,7],[4646,6],[4689,6],[4845,5]]},"1441":{"position":[[425,7]]},"1443":{"position":[[440,7]]},"1444":{"position":[[470,7]]},"1446":{"position":[[483,7]]},"1447":{"position":[[471,7]]},"1448":{"position":[[557,7]]},"1449":{"position":[[551,7]]},"1450":{"position":[[557,7]]},"1451":{"position":[[557,7]]},"1453":{"position":[[685,7]]},"1454":{"position":[[1500,7]]},"1455":{"position":[[716,7]]},"1456":{"position":[[447,7]]},"1457":{"position":[[479,7]]},"1458":{"position":[[697,7]]},"1459":{"position":[[500,7]]},"1460":{"position":[[591,7]]},"1461":{"position":[[768,7],[2490,7]]},"1462":{"position":[[1821,7],[6333,5]]},"1465":{"position":[[716,7]]},"1466":{"position":[[492,7]]},"1467":{"position":[[1996,7],[7089,7],[7447,5]]},"1468":{"position":[[427,7]]},"1469":{"position":[[442,7]]},"1470":{"position":[[1554,7]]},"1471":{"position":[[1037,7]]},"1472":{"position":[[1134,7]]},"1473":{"position":[[1089,7]]},"1474":{"position":[[812,7]]},"1475":{"position":[[958,7]]},"1476":{"position":[[425,7]]},"1477":{"position":[[500,7]]},"1478":{"position":[[553,7]]},"1479":{"position":[[485,7]]},"1480":{"position":[[609,7]]},"1481":{"position":[[652,7]]},"1482":{"position":[[419,7]]},"1484":{"position":[[424,7]]},"1485":{"position":[[497,7]]},"1486":{"position":[[523,7]]},"1487":{"position":[[482,7]]}},"keywords":{}}],["label>",{"_index":5935,"title":{},"content":{"1140":{"position":[[59,9],[119,9]]},"1188":{"position":[[112,9],[172,9]]}},"keywords":{}}],["label'",{"_index":1295,"title":{},"content":{"107":{"position":[[62,7]]},"519":{"position":[[62,7]]}},"keywords":{}}],["label.cel",{"_index":1288,"title":{"106":{"position":[[0,11]]},"518":{"position":[[0,11]]}},"content":{"106":{"position":[[0,11]]},"518":{"position":[[0,11]]}},"keywords":{}}],["label.cell_root",{"_index":1293,"title":{"107":{"position":[[0,16]]},"519":{"position":[[0,16]]}},"content":{"107":{"position":[[0,16]]},"519":{"position":[[0,16]]}},"keywords":{}}],["label.configured_target",{"_index":1297,"title":{"108":{"position":[[0,24]]},"520":{"position":[[0,24]]}},"content":{"108":{"position":[[4,25]]},"520":{"position":[[4,25]]}},"keywords":{}}],["label.default_host_platform",{"_index":4957,"title":{},"content":{"993":{"position":[[146,27]]}},"keywords":{}}],["label.exec_compatible_with",{"_index":3921,"title":{},"content":{"851":{"position":[[975,26]]}},"keywords":{}}],["label.nam",{"_index":1299,"title":{"109":{"position":[[0,11]]},"521":{"position":[[0,11]]}},"content":{"109":{"position":[[0,11]]},"521":{"position":[[0,11]]}},"keywords":{}}],["label.packag",{"_index":1301,"title":{"110":{"position":[[0,14]]},"522":{"position":[[0,14]]}},"content":{"110":{"position":[[0,14]]},"522":{"position":[[0,14]]}},"keywords":{}}],["label.path",{"_index":1303,"title":{"111":{"position":[[0,11]]},"523":{"position":[[0,11]]}},"content":{"111":{"position":[[0,11]]},"523":{"position":[[0,11]]}},"keywords":{}}],["label.project_root",{"_index":1305,"title":{"112":{"position":[[0,19]]},"524":{"position":[[0,19]]}},"content":{"112":{"position":[[0,19]]},"524":{"position":[[0,19]]}},"keywords":{}}],["label.raw_target",{"_index":1307,"title":{"113":{"position":[[0,17]]},"525":{"position":[[0,17]]}},"content":{"113":{"position":[[4,18]]},"525":{"position":[[4,18]]}},"keywords":{}}],["label.sub_target",{"_index":1308,"title":{"114":{"position":[[0,17]]},"526":{"position":[[0,17]]}},"content":{"114":{"position":[[0,17]]},"526":{"position":[[0,17]]}},"keywords":{}}],["label_pattern",{"_index":8490,"title":{},"content":{"1479":{"position":[[454,14]]}},"keywords":{}}],["label_relative_path",{"_index":1165,"title":{"115":{"position":[[0,19]]},"515":{"position":[[0,19]]}},"content":{"94":{"position":[[70,19],[377,19]]},"98":{"position":[[112,19]]},"99":{"position":[[144,19]]},"111":{"position":[[12,19]]},"116":{"position":[[44,19]]},"226":{"position":[[70,19],[377,19]]},"230":{"position":[[112,19]]},"231":{"position":[[144,19]]},"345":{"position":[[147,19]]},"368":{"position":[[166,19],[3130,19]]},"377":{"position":[[75,19]]},"386":{"position":[[61,19]]},"405":{"position":[[63,19],[311,19]]},"417":{"position":[[91,19]]},"516":{"position":[[44,19]]},"523":{"position":[[12,19]]},"747":{"position":[[166,19],[3130,19]]},"756":{"position":[[75,19]]},"765":{"position":[[61,19]]},"784":{"position":[[63,19],[311,19]]},"796":{"position":[[91,19]]}},"keywords":{}}],["label_relative_path.add",{"_index":1309,"title":{"116":{"position":[[0,24]]},"516":{"position":[[0,24]]}},"content":{},"keywords":{}}],["label_relative_path.add(arg",{"_index":1310,"title":{},"content":{"116":{"position":[[4,28]]},"516":{"position":[[4,28]]}},"keywords":{}}],["labellisttupledictone_ofopt",{"_index":5199,"title":{},"content":{"1044":{"position":[[2714,30]]}},"keywords":{}}],["labels(attr",{"_index":6249,"title":{"1272":{"position":[[0,12]]},"1303":{"position":[[0,12]]},"1331":{"position":[[0,12]]}},"content":{"1259":{"position":[[1116,12]]},"1290":{"position":[[1116,12]]},"1318":{"position":[[1116,12]]}},"keywords":{}}],["labelsi",{"_index":1673,"title":{},"content":{"301":{"position":[[1170,8]]},"311":{"position":[[480,8]]}},"keywords":{}}],["labelus",{"_index":1670,"title":{},"content":{"301":{"position":[[1048,10]]}},"keywords":{}}],["lack",{"_index":3892,"title":{},"content":{"846":{"position":[[1477,4]]},"926":{"position":[[18,5]]}},"keywords":{}}],["laid",{"_index":1069,"title":{},"content":{"86":{"position":[[300,4]]},"96":{"position":[[294,4]]},"218":{"position":[[300,4]]},"228":{"position":[[294,4]]},"419":{"position":[[155,4]]},"798":{"position":[[155,4]]},"1477":{"position":[[2517,4]]}},"keywords":{}}],["lambda",{"_index":1147,"title":{},"content":{"92":{"position":[[1844,6]]},"224":{"position":[[1844,6]]},"300":{"position":[[502,7]]},"442":{"position":[[216,6],[301,6],[385,6]]},"821":{"position":[[216,6],[301,6],[385,6]]},"876":{"position":[[64,6],[217,7]]},"877":{"position":[[43,7],[319,6],[456,6]]},"878":{"position":[[356,6],[646,6]]},"898":{"position":[[1909,7]]},"950":{"position":[[543,7]]},"1040":{"position":[[92,6],[1946,6]]},"1044":{"position":[[1117,6],[1655,6],[1799,6]]},"1049":{"position":[[1103,6],[1152,6]]}},"keywords":{}}],["lambda'",{"_index":4104,"title":{},"content":{"878":{"position":[[543,8]]}},"keywords":{}}],["lambda.error",{"_index":4090,"title":{},"content":{"877":{"position":[[130,12]]}},"keywords":{}}],["lambdabxl_act",{"_index":4092,"title":{},"content":{"877":{"position":[[288,17]]}},"keywords":{}}],["lamdba",{"_index":3278,"title":{},"content":{"657":{"position":[[132,7]]}},"keywords":{}}],["lang_compiler_flag",{"_index":6733,"title":{},"content":{"1362":{"position":[[2427,20]]},"1364":{"position":[[2438,20]]},"1367":{"position":[[3727,20]]},"1373":{"position":[[1349,20]]},"1382":{"position":[[1388,20]]},"1384":{"position":[[2144,20],[11373,20],[12001,20]]},"1385":{"position":[[844,20]]},"1387":{"position":[[2194,20]]},"1388":{"position":[[1573,20]]},"1415":{"position":[[1065,20]]},"1462":{"position":[[1844,20]]},"1467":{"position":[[2019,20]]}},"keywords":{}}],["lang_platform_compiler_flag",{"_index":6734,"title":{},"content":{"1362":{"position":[[2474,29]]},"1364":{"position":[[2485,29]]},"1367":{"position":[[3774,29]]},"1373":{"position":[[1396,29]]},"1382":{"position":[[1435,29]]},"1384":{"position":[[2191,29],[11838,29]]},"1385":{"position":[[891,29]]},"1387":{"position":[[2241,29]]},"1388":{"position":[[1620,29]]},"1415":{"position":[[1112,29]]},"1462":{"position":[[1891,29]]},"1467":{"position":[[2066,29]]}},"keywords":{}}],["lang_platform_preprocessor_flag",{"_index":6735,"title":{},"content":{"1362":{"position":[[2543,33]]},"1364":{"position":[[2554,33]]},"1367":{"position":[[3843,33]]},"1373":{"position":[[1465,33]]},"1382":{"position":[[1504,33]]},"1384":{"position":[[2260,33],[6850,33],[12082,33]]},"1385":{"position":[[960,33]]},"1387":{"position":[[2310,33]]},"1388":{"position":[[1689,33]]},"1415":{"position":[[1181,33]]},"1462":{"position":[[1960,33]]},"1467":{"position":[[2135,33]]}},"keywords":{}}],["lang_preprocessor_flag",{"_index":6736,"title":{},"content":{"1362":{"position":[[2616,24]]},"1364":{"position":[[2627,24]]},"1367":{"position":[[3916,24]]},"1373":{"position":[[1538,24]]},"1382":{"position":[[1577,24]]},"1384":{"position":[[2333,24],[7001,24],[12253,24],[12342,24]]},"1385":{"position":[[1033,24]]},"1387":{"position":[[2383,24]]},"1388":{"position":[[1762,24]]},"1415":{"position":[[1254,24]]},"1462":{"position":[[2033,24]]},"1467":{"position":[[2208,24]]}},"keywords":{}}],["languag",{"_index":262,"title":{"869":{"position":[[16,8]]},"884":{"position":[[9,8]]},"952":{"position":[[15,8]]}},"content":{"9":{"position":[[1782,8],[2268,9]]},"10":{"position":[[13,8],[1211,8]]},"17":{"position":[[143,9]]},"22":{"position":[[75,10],[259,8],[1498,8],[1554,9],[2075,8]]},"23":{"position":[[826,8],[1687,9]]},"41":{"position":[[409,8]]},"174":{"position":[[409,8]]},"574":{"position":[[156,9]]},"679":{"position":[[202,10]]},"693":{"position":[[1853,9],[7855,8],[7898,8]]},"715":{"position":[[183,8]]},"857":{"position":[[220,8]]},"870":{"position":[[1195,9]]},"873":{"position":[[130,8],[204,8]]},"882":{"position":[[31,8]]},"884":{"position":[[9,8],[45,8]]},"937":{"position":[[2764,8],[3000,9],[4653,8]]},"954":{"position":[[541,10]]},"1048":{"position":[[64,8]]},"1102":{"position":[[97,9]]},"1112":{"position":[[4300,8]]},"1260":{"position":[[1059,8]]},"1291":{"position":[[1059,8]]},"1319":{"position":[[1059,8]]},"1348":{"position":[[1366,9]]},"1355":{"position":[[1367,9]]},"1374":{"position":[[2682,8]]},"1384":{"position":[[11394,8],[11475,8],[11574,8],[11868,8],[11963,8],[12116,8],[12215,8],[12367,8],[12452,8],[12551,8]]},"1429":{"position":[[4896,8]]},"1470":{"position":[[1577,9]]},"1471":{"position":[[3274,8]]},"1472":{"position":[[3858,8]]},"1473":{"position":[[3308,8]]}},"keywords":{}}],["languages.build",{"_index":17,"title":{},"content":{"3":{"position":[[50,15]]}},"keywords":{}}],["languages/rul",{"_index":858,"title":{},"content":{"41":{"position":[[501,16]]},"174":{"position":[[501,16]]},"1112":{"position":[[4394,16]]}},"keywords":{}}],["larg",{"_index":172,"title":{},"content":{"9":{"position":[[164,7],[1185,5]]},"22":{"position":[[20,5],[237,5],[406,5],[1747,5]]},"374":{"position":[[1092,7]]},"648":{"position":[[609,5]]},"753":{"position":[[1092,7]]},"861":{"position":[[984,6]]},"947":{"position":[[14,7]]},"1127":{"position":[[539,6]]},"1235":{"position":[[239,5]]},"1247":{"position":[[328,5]]}},"keywords":{}}],["larger",{"_index":337,"title":{},"content":{"10":{"position":[[741,6]]},"11":{"position":[[42,6]]},"718":{"position":[[444,6]]},"720":{"position":[[559,6]]},"916":{"position":[[235,6]]}},"keywords":{}}],["last",{"_index":2597,"title":{},"content":{"568":{"position":[[67,4],[130,4]]},"611":{"position":[[119,4],[291,4]]},"612":{"position":[[121,4],[318,4]]},"613":{"position":[[177,4]]},"1054":{"position":[[1122,4]]},"1088":{"position":[[681,4]]},"1125":{"position":[[4,4]]},"1231":{"position":[[503,4]]},"1244":{"position":[[38,4]]},"1373":{"position":[[2887,4]]},"1487":{"position":[[1923,4]]}},"keywords":{}}],["later",{"_index":648,"title":{},"content":{"22":{"position":[[662,5]]},"421":{"position":[[321,5]]},"583":{"position":[[460,5],[937,5]]},"706":{"position":[[2457,7]]},"724":{"position":[[740,5]]},"800":{"position":[[321,5]]},"879":{"position":[[265,5]]},"904":{"position":[[1537,5]]},"942":{"position":[[1396,5]]},"990":{"position":[[1322,6]]},"1102":{"position":[[438,6]]},"1186":{"position":[[862,5]]},"1187":{"position":[[875,5]]},"1188":{"position":[[5601,5]]},"1427":{"position":[[4877,5]]},"1429":{"position":[[3765,6],[3841,6]]},"1439":{"position":[[7376,5]]},"1440":{"position":[[3758,6],[3834,6]]}},"keywords":{}}],["later.artifact",{"_index":5654,"title":{},"content":{"1103":{"position":[[1066,15]]}},"keywords":{}}],["later.low",{"_index":350,"title":{},"content":{"10":{"position":[[1034,9]]}},"keywords":{}}],["latest",{"_index":437,"title":{},"content":{"15":{"position":[[4,6]]}},"keywords":{}}],["latter",{"_index":3553,"title":{},"content":{"693":{"position":[[4433,7]]},"848":{"position":[[332,6]]},"1362":{"position":[[13090,6]]},"1364":{"position":[[13790,6]]},"1367":{"position":[[12998,6]]},"1382":{"position":[[11452,6]]},"1384":{"position":[[19106,6]]},"1385":{"position":[[7030,6]]},"1387":{"position":[[10403,6]]},"1388":{"position":[[9945,6]]},"1397":{"position":[[2170,6]]},"1398":{"position":[[2916,6]]},"1442":{"position":[[2825,6]]},"1485":{"position":[[4316,6]]}},"keywords":{}}],["launch",{"_index":5462,"title":{},"content":{"1061":{"position":[[345,6]]},"1167":{"position":[[1151,6],[1345,6],[1499,8]]},"1361":{"position":[[2180,6],[2479,6]]}},"keywords":{}}],["launch_imag",{"_index":6674,"title":{},"content":{"1361":{"position":[[498,13],[2591,12]]}},"keywords":{}}],["launcher",{"_index":66,"title":{},"content":{"4":{"position":[[500,8]]}},"keywords":{}}],["launchimag",{"_index":6683,"title":{},"content":{"1361":{"position":[[2116,12],[2606,14]]}},"keywords":{}}],["layer",{"_index":132,"title":{},"content":{"6":{"position":[[334,8]]},"63":{"position":[[208,5]]},"166":{"position":[[208,5]]},"492":{"position":[[208,5]]},"548":{"position":[[208,5]]},"715":{"position":[[1155,5]]},"946":{"position":[[43,6]]}},"keywords":{}}],["layout",{"_index":4266,"title":{},"content":{"892":{"position":[[32,7]]},"1422":{"position":[[2796,7]]},"1471":{"position":[[4070,6]]},"1472":{"position":[[4654,6]]},"1473":{"position":[[4391,6]]}},"keywords":{}}],["lazi",{"_index":3940,"title":{"1037":{"position":[[14,5]]}},"content":{"856":{"position":[[167,4],[424,4],[745,4]]}},"keywords":{}}],["lazili",{"_index":5609,"title":{},"content":{"1090":{"position":[[148,7]]}},"keywords":{}}],["lazy_attr",{"_index":1520,"title":{"527":{"position":[[0,10]]}},"content":{"277":{"position":[[48,10],[70,10],[608,10]]}},"keywords":{}}],["lazy_attrs.get",{"_index":2492,"title":{"528":{"position":[[0,15]]}},"content":{},"keywords":{}}],["lazy_attrs.get(attr",{"_index":2493,"title":{},"content":{"528":{"position":[[4,20]]}},"keywords":{}}],["lazy_resolved_attr",{"_index":1551,"title":{},"content":{"282":{"position":[[108,19],[708,19]]}},"keywords":{}}],["lazyresolvedattr",{"_index":2114,"title":{},"content":{"402":{"position":[[309,17]]},"781":{"position":[[309,17]]}},"keywords":{}}],["ld)path",{"_index":7174,"title":{},"content":{"1383":{"position":[[3279,9]]}},"keywords":{}}],["ld_preload",{"_index":8337,"title":{},"content":{"1462":{"position":[[8486,11]]},"1467":{"position":[[9968,11]]}},"keywords":{}}],["ldflag",{"_index":7175,"title":{},"content":{"1383":{"position":[[3304,9],[3400,9],[3630,9],[3735,9],[3974,9],[4051,9]]}},"keywords":{}}],["ldflagsandasmflags``cgo_en",{"_index":7757,"title":{},"content":{"1407":{"position":[[2611,32]]}},"keywords":{}}],["lead",{"_index":2339,"title":{},"content":{"436":{"position":[[69,7]]},"606":{"position":[[68,7],[136,7]]},"616":{"position":[[565,7]]},"619":{"position":[[66,7],[146,7]]},"675":{"position":[[453,7]]},"680":{"position":[[1313,4]]},"815":{"position":[[69,7]]},"892":{"position":[[1432,5]]},"1017":{"position":[[281,5]]},"1050":{"position":[[4526,4]]}},"keywords":{}}],["leagu",{"_index":311,"title":{},"content":{"10":{"position":[[67,6]]}},"keywords":{}}],["learn",{"_index":400,"title":{"19":{"position":[[0,8]]}},"content":{"12":{"position":[[288,8]]},"680":{"position":[[184,5]]},"978":{"position":[[61,7]]},"1487":{"position":[[2842,5]]}},"keywords":{}}],["leex",{"_index":7529,"title":{},"content":{"1393":{"position":[[10622,5]]}},"keywords":{}}],["left",{"_index":2735,"title":{},"content":{"587":{"position":[[264,4]]},"1057":{"position":[[209,4]]},"1088":{"position":[[32,4],[345,4],[389,4],[756,4]]},"1112":{"position":[[2537,4]]},"1282":{"position":[[152,4]]},"1283":{"position":[[169,4]]},"1284":{"position":[[149,4]]},"1313":{"position":[[152,4]]},"1314":{"position":[[169,4]]},"1315":{"position":[[149,4]]},"1341":{"position":[[152,4]]},"1342":{"position":[[169,4]]},"1343":{"position":[[149,4]]}},"keywords":{}}],["legaci",{"_index":4714,"title":{"945":{"position":[[0,6]]}},"content":{"1020":{"position":[[32,6]]}},"keywords":{}}],["legacy_toolchain",{"_index":8074,"title":{"1441":{"position":[[0,17]]}},"content":{"1441":{"position":[[4,17]]}},"keywords":{}}],["legal",{"_index":4167,"title":{},"content":{"888":{"position":[[636,6]]}},"keywords":{}}],["len",{"_index":959,"title":{"651":{"position":[[0,4]]}},"content":{"67":{"position":[[166,3]]},"455":{"position":[[166,3]]},"651":{"position":[[25,4],[171,7],[184,7],[197,7]]},"890":{"position":[[2178,4]]}},"keywords":{}}],["len([1",{"_index":3233,"title":{},"content":{"651":{"position":[[210,8]]}},"keywords":{}}],["len([1,2",{"_index":3234,"title":{},"content":{"651":{"position":[[224,10]]}},"keywords":{}}],["len(a",{"_index":2372,"title":{},"content":{"442":{"position":[[226,6],[311,6],[395,6]]},"651":{"position":[[4,6]]},"821":{"position":[[226,6],[311,6],[395,6]]}},"keywords":{}}],["len(l",{"_index":2580,"title":{},"content":{"566":{"position":[[396,6]]}},"keywords":{}}],["len(myenum",{"_index":3134,"title":{},"content":{"638":{"position":[[941,11]]},"902":{"position":[[928,11]]}},"keywords":{}}],["len(target.compatible_with",{"_index":5093,"title":{},"content":{"1026":{"position":[[1221,27]]}},"keywords":{}}],["len(tru",{"_index":3236,"title":{},"content":{"651":{"position":[[261,9]]}},"keywords":{}}],["len(x",{"_index":3232,"title":{},"content":{"651":{"position":[[59,6]]}},"keywords":{}}],["len({'16",{"_index":3235,"title":{},"content":{"651":{"position":[[240,10]]}},"keywords":{}}],["length",{"_index":2478,"title":{},"content":{"498":{"position":[[93,7]]},"560":{"position":[[465,6]]},"567":{"position":[[281,6]]},"568":{"position":[[268,6]]},"651":{"position":[[38,6]]},"1219":{"position":[[273,6],[372,6]]}},"keywords":{}}],["less",{"_index":250,"title":{},"content":{"9":{"position":[[1558,4],[2249,4]]},"11":{"position":[[269,4],[418,4]]},"24":{"position":[[521,4]]},"94":{"position":[[1596,4]]},"226":{"position":[[1596,4]]},"568":{"position":[[254,4]]},"662":{"position":[[501,4],[582,4]]},"675":{"position":[[1323,4]]},"1113":{"position":[[591,4]]},"1486":{"position":[[2525,4]]}},"keywords":{}}],["lesson",{"_index":399,"title":{},"content":{"12":{"position":[[280,7]]},"978":{"position":[[53,7]]}},"keywords":{}}],["let",{"_index":3867,"title":{},"content":{"840":{"position":[[1824,4]]},"939":{"position":[[853,4]]},"1103":{"position":[[1668,4]]}},"keywords":{}}],["let'",{"_index":5342,"title":{},"content":{"1054":{"position":[[1197,5]]},"1232":{"position":[[0,5]]},"1253":{"position":[[126,5]]}},"keywords":{}}],["letter",{"_index":2845,"title":{},"content":{"597":{"position":[[86,7],[186,7]]},"598":{"position":[[86,8],[178,8]]},"600":{"position":[[61,7],[173,7],[194,7]]},"602":{"position":[[161,7],[182,7]]},"603":{"position":[[61,7],[173,7],[194,7]]},"605":{"position":[[125,7]]},"620":{"position":[[122,7],[154,7]]},"621":{"position":[[125,7]]}},"keywords":{}}],["let’",{"_index":4406,"title":{},"content":{"904":{"position":[[849,5]]}},"keywords":{}}],["level",{"_index":413,"title":{"715":{"position":[[5,5]]}},"content":{"12":{"position":[[568,6]]},"421":{"position":[[154,5]]},"690":{"position":[[244,6]]},"693":{"position":[[3281,6],[3949,6],[5409,6]]},"715":{"position":[[211,5],[1585,5]]},"800":{"position":[[154,5]]},"840":{"position":[[1629,6]]},"890":{"position":[[6021,6]]},"937":{"position":[[3232,6],[4860,5]]},"938":{"position":[[947,5],[1102,5]]},"939":{"position":[[10,5],[1890,6]]},"947":{"position":[[244,5],[501,5],[1142,5]]},"1015":{"position":[[13,5]]},"1083":{"position":[[383,5]]},"1171":{"position":[[808,5]]},"1183":{"position":[[13,5]]},"1190":{"position":[[14,5]]},"1198":{"position":[[242,6]]},"1247":{"position":[[234,5]]},"1250":{"position":[[164,5]]},"1373":{"position":[[6108,5]]},"1384":{"position":[[19870,5],[19970,5],[20181,5],[20275,5],[20362,5],[20486,5],[20771,5],[20933,5]]},"1385":{"position":[[3068,5]]},"1387":{"position":[[5335,5]]},"1397":{"position":[[1771,5]]},"1405":{"position":[[3432,5]]},"1407":{"position":[[3853,5]]},"1408":{"position":[[2472,5]]},"1410":{"position":[[4840,5]]},"1421":{"position":[[2287,5],[2372,5]]},"1429":{"position":[[4905,5],[5583,5],[5740,5]]},"1440":{"position":[[5575,5]]},"1443":{"position":[[781,5]]},"1444":{"position":[[697,5],[1695,5]]},"1461":{"position":[[959,5],[2264,5]]},"1462":{"position":[[5709,5],[7911,5]]},"1465":{"position":[[2489,5],[2724,5]]},"1467":{"position":[[6054,5],[6205,5],[6863,5],[8971,5]]},"1471":{"position":[[3055,5]]},"1472":{"position":[[2774,5]]},"1473":{"position":[[3089,5]]}},"keywords":{}}],["leverag",{"_index":4049,"title":{},"content":{"869":{"position":[[549,9]]}},"keywords":{}}],["lex.mll",{"_index":8130,"title":{},"content":{"1448":{"position":[[2884,10]]}},"keywords":{}}],["lexer",{"_index":8127,"title":{},"content":{"1448":{"position":[[2696,5]]},"1449":{"position":[[2630,5]]}},"keywords":{}}],["lexicograph",{"_index":2694,"title":{},"content":{"583":{"position":[[888,15],[950,15]]},"654":{"position":[[442,17]]},"655":{"position":[[335,17]]}},"keywords":{}}],["lib",{"_index":4881,"title":{},"content":{"987":{"position":[[313,3],[701,3],[747,3]]},"1348":{"position":[[4638,6],[4770,7]]},"1358":{"position":[[2607,5],[3149,6]]},"1382":{"position":[[4919,6]]},"1388":{"position":[[5613,6]]},"1402":{"position":[[2157,6]]},"1422":{"position":[[4418,3]]},"1423":{"position":[[3412,3]]},"1427":{"position":[[8083,5]]},"1439":{"position":[[8905,5]]},"1442":{"position":[[1909,6]]},"1446":{"position":[[2049,5],[2600,4]]},"1454":{"position":[[9863,5]]},"1455":{"position":[[3109,4],[3280,4],[3509,5],[3543,3],[3778,4],[4007,5],[4177,4],[4418,5],[4632,6],[4644,6],[4766,6],[4778,6],[4890,3],[4912,3]]},"1459":{"position":[[2022,5],[2405,7]]}},"keywords":{}}],["lib.r",{"_index":8436,"title":{},"content":{"1471":{"position":[[5181,6]]},"1472":{"position":[[6067,6]]},"1473":{"position":[[5631,6]]}},"keywords":{}}],["lib/header1.h",{"_index":6802,"title":{},"content":{"1362":{"position":[[8647,13]]},"1364":{"position":[[9761,13]]},"1367":{"position":[[8735,13]]}},"keywords":{}}],["lib/header2.h",{"_index":6804,"title":{},"content":{"1362":{"position":[[8685,13]]},"1364":{"position":[[9799,13]]},"1367":{"position":[[8773,13]]}},"keywords":{}}],["lib/liba.a",{"_index":8213,"title":{},"content":{"1455":{"position":[[4694,13]]}},"keywords":{}}],["lib/liba.so",{"_index":8219,"title":{},"content":{"1455":{"position":[[4957,14]]}},"keywords":{}}],["lib/liba_pic.a",{"_index":8215,"title":{},"content":{"1455":{"position":[[4828,17]]}},"keywords":{}}],["lib/libb.a",{"_index":8214,"title":{},"content":{"1455":{"position":[[4708,13]]}},"keywords":{}}],["lib/libb.so",{"_index":8220,"title":{},"content":{"1455":{"position":[[5011,14]]}},"keywords":{}}],["lib/libb_pic.a",{"_index":8216,"title":{},"content":{"1455":{"position":[[4846,17]]}},"keywords":{}}],["lib__",{"_index":4307,"title":{},"content":{"896":{"position":[[92,5]]}},"keywords":{}}],["lib__.pic.a",{"_index":4310,"title":{},"content":{"896":{"position":[[143,12],[362,11],[726,11]]}},"keywords":{}}],["lib____/__objects__/san",{"_index":4318,"title":{},"content":{"896":{"position":[[467,23],[831,23]]}},"keywords":{}}],["lib____/libgetenv",{"_index":4317,"title":{},"content":{"896":{"position":[[323,17],[687,17]]}},"keywords":{}}],["lib_dir",{"_index":8250,"title":{},"content":{"1460":{"position":[[614,8]]}},"keywords":{}}],["lib_map",{"_index":8026,"title":{},"content":{"1435":{"position":[[404,12]]}},"keywords":{}}],["lib_nam",{"_index":8251,"title":{},"content":{"1460":{"position":[[632,9]]}},"keywords":{}}],["liba.so",{"_index":8217,"title":{},"content":{"1455":{"position":[[4894,10],[4946,10]]}},"keywords":{}}],["libb.so",{"_index":8218,"title":{},"content":{"1455":{"position":[[4916,10],[5000,10]]}},"keywords":{}}],["libfileutil.a",{"_index":7884,"title":{},"content":{"1421":{"position":[[2545,16]]}},"keywords":{}}],["libfileutil.so",{"_index":7885,"title":{},"content":{"1421":{"position":[[2581,17],[2599,17]]}},"keywords":{}}],["libfoo",{"_index":5618,"title":{},"content":{"1096":{"position":[[196,6],[205,6],[229,6]]}},"keywords":{}}],["libfoo.$(ext",{"_index":7207,"title":{},"content":{"1384":{"position":[[18531,13]]},"1472":{"position":[[5847,13]]}},"keywords":{}}],["libfoo.2.3.dylib",{"_index":7209,"title":{},"content":{"1384":{"position":[[18559,16]]},"1472":{"position":[[5875,16]]}},"keywords":{}}],["libfoo.so.2.3",{"_index":7210,"title":{},"content":{"1384":{"position":[[18587,13]]},"1472":{"position":[[5903,13]]}},"keywords":{}}],["libgetenv",{"_index":4309,"title":{},"content":{"896":{"position":[[112,9]]}},"keywords":{}}],["libhalid",{"_index":7837,"title":{},"content":{"1415":{"position":[[5731,9]]}},"keywords":{}}],["libmylib.a",{"_index":8186,"title":{},"content":{"1454":{"position":[[9945,13]]}},"keywords":{}}],["libmylib.so",{"_index":8185,"title":{},"content":{"1454":{"position":[[9917,14],[10007,14],[10172,14]]}},"keywords":{}}],["libmylib_pic.a",{"_index":8187,"title":{},"content":{"1454":{"position":[[9976,17]]}},"keywords":{}}],["librari",{"_index":139,"title":{"1254":{"position":[[21,7]]}},"content":{"7":{"position":[[96,7],[190,7]]},"22":{"position":[[1650,7],[1681,8]]},"23":{"position":[[2930,7]]},"574":{"position":[[169,9]]},"693":{"position":[[3986,7]]},"704":{"position":[[270,9],[1202,8]]},"708":{"position":[[9,7]]},"937":{"position":[[3014,9]]},"947":{"position":[[1026,7],[1152,7]]},"955":{"position":[[70,10],[137,9]]},"991":{"position":[[981,10]]},"1104":{"position":[[843,9],[892,8],[939,7],[1037,7],[1285,10],[1348,7],[1418,7],[1611,7],[1791,7],[2067,9],[2095,9]]},"1118":{"position":[[38,7]]},"1245":{"position":[[571,7]]},"1254":{"position":[[51,7]]},"1351":{"position":[[4044,7]]},"1355":{"position":[[7739,7]]},"1358":{"position":[[2404,9],[2443,9]]},"1362":{"position":[[2667,10],[8433,7],[11204,8],[13285,7]]},"1364":{"position":[[2678,10],[9547,7],[12171,8],[13985,7]]},"1367":{"position":[[3967,10],[8521,7],[11574,8],[13193,7]]},"1373":{"position":[[1589,10],[8654,7],[8684,8]]},"1381":{"position":[[693,7],[2094,7]]},"1382":{"position":[[1628,10],[3103,7],[8073,8],[11726,7]]},"1383":{"position":[[3685,10],[3717,9],[3813,10],[3845,9],[4040,10],[4140,10]]},"1384":{"position":[[2384,10],[14137,8],[14325,8],[14382,7],[16608,7],[16690,7],[18297,7],[18493,7],[19382,7],[19540,7],[19594,9],[19669,9],[20444,7],[20585,8]]},"1385":{"position":[[1084,10],[1888,7],[2044,7],[7401,7]]},"1386":{"position":[[4746,9]]},"1387":{"position":[[2434,10],[4236,7],[6797,9],[6864,9],[7584,8],[7641,7],[10731,7]]},"1388":{"position":[[1813,10],[8687,8]]},"1390":{"position":[[2036,7]]},"1391":{"position":[[1789,7]]},"1407":{"position":[[1149,7]]},"1408":{"position":[[928,7]]},"1410":{"position":[[939,8],[3556,8],[3577,7]]},"1415":{"position":[[1305,10],[5359,7],[5462,7]]},"1421":{"position":[[1006,9],[1962,7],[2203,7],[2227,7],[2317,9]]},"1422":{"position":[[3977,7]]},"1423":{"position":[[2743,10]]},"1427":{"position":[[7918,7]]},"1439":{"position":[[4775,8],[8742,7]]},"1444":{"position":[[1914,8]]},"1446":{"position":[[1826,9],[2498,7]]},"1449":{"position":[[924,9]]},"1453":{"position":[[708,10]]},"1454":{"position":[[1523,10],[3268,9],[7486,7],[7575,7],[7592,7],[7798,8],[7855,7],[7945,8],[8166,8],[8257,8],[8478,8],[8577,8],[8798,8],[8907,7],[8989,7],[9060,7],[9134,7],[9212,7],[9395,7],[9664,7],[9707,9],[9832,7],[10071,7]]},"1455":{"position":[[1153,9],[2999,7],[3126,7],[3170,7],[3297,7],[3362,7],[3425,9],[3578,7],[3681,9],[3860,7],[3923,9],[4076,9],[4263,7],[4330,9],[4484,7],[4511,9]]},"1457":{"position":[[502,8],[631,7],[1638,7]]},"1459":{"position":[[637,9],[1611,9],[1682,9],[1759,7]]},"1461":{"position":[[2089,7],[2200,8],[2363,8],[2395,7],[2473,7],[2722,8],[2913,9]]},"1462":{"position":[[2084,10],[6734,9],[7640,7],[8345,7],[8406,9],[8567,9]]},"1465":{"position":[[2823,8],[2855,7],[2933,7]]},"1467":{"position":[[2259,10],[6962,8],[6994,7],[7072,7],[7849,9],[9827,7],[9888,9],[10049,9],[10321,8]]},"1471":{"position":[[4881,8],[5192,10],[5553,9],[5605,8]]},"1472":{"position":[[1645,7],[3832,8],[5465,8],[5613,7],[5809,7],[6078,10],[6439,9],[6491,8]]},"1473":{"position":[[5202,8],[5642,10]]},"1480":{"position":[[632,10]]},"1485":{"position":[[4745,7]]},"1487":{"position":[[3470,7],[3821,7]]}},"keywords":{}}],["libraries:anotherlibrari",{"_index":6823,"title":{},"content":{"1362":{"position":[[13821,29]]}},"keywords":{}}],["libraries:yetanotherlibrari",{"_index":6933,"title":{},"content":{"1364":{"position":[[14526,32]]}},"keywords":{}}],["library.exported_linker_flag",{"_index":7878,"title":{},"content":{"1421":{"position":[[2075,30]]}},"keywords":{}}],["library.fil",{"_index":679,"title":{},"content":{"22":{"position":[[1720,12]]}},"keywords":{}}],["library.local_linker_flag",{"_index":7302,"title":{},"content":{"1387":{"position":[[7397,27]]}},"keywords":{}}],["library.package_nam",{"_index":7055,"title":{},"content":{"1373":{"position":[[5719,21]]}},"keywords":{}}],["library.platform_compiler_flag",{"_index":7244,"title":{},"content":{"1385":{"position":[[4304,32]]},"1415":{"position":[[4186,32]]}},"keywords":{}}],["library.shared_lib",{"_index":7879,"title":{},"content":{"1421":{"position":[[2166,20]]}},"keywords":{}}],["library.typ",{"_index":8357,"title":{},"content":{"1465":{"position":[[4128,15]]}},"keywords":{}}],["library/header2.h",{"_index":6803,"title":{},"content":{"1362":{"position":[[8661,17]]},"1364":{"position":[[9775,17]]},"1367":{"position":[[8749,17]]}},"keywords":{}}],["library/subdir/header1.h",{"_index":6801,"title":{},"content":{"1362":{"position":[[8616,24]]},"1364":{"position":[[9730,24]]},"1367":{"position":[[8704,24]]}},"keywords":{}}],["library=':greet",{"_index":7798,"title":{},"content":{"1410":{"position":[[6147,20]]}},"keywords":{}}],["library='greeting.a",{"_index":8228,"title":{},"content":{"1457":{"position":[[2010,21]]}},"keywords":{}}],["libraryarticl",{"_index":3587,"title":{},"content":{"693":{"position":[[8055,15]]}},"keywords":{}}],["libraryotp",{"_index":7621,"title":{},"content":{"1398":{"position":[[5013,10]]}},"keywords":{}}],["libraryparamet",{"_index":7793,"title":{},"content":{"1410":{"position":[[4570,16]]}},"keywords":{}}],["libtool",{"_index":6993,"title":{},"content":{"1368":{"position":[[904,8]]}},"keywords":{}}],["licens",{"_index":6353,"title":{},"content":{"1348":{"position":[[1392,9]]},"1349":{"position":[[711,9]]},"1350":{"position":[[2035,9]]},"1351":{"position":[[581,9]]},"1352":{"position":[[2034,9]]},"1353":{"position":[[869,9]]},"1354":{"position":[[910,9]]},"1355":{"position":[[1393,9]]},"1356":{"position":[[498,9]]},"1358":{"position":[[745,9]]},"1359":{"position":[[652,9]]},"1360":{"position":[[923,9]]},"1361":{"position":[[528,9]]},"1362":{"position":[[2693,9]]},"1363":{"position":[[2099,9]]},"1364":{"position":[[2704,9]]},"1365":{"position":[[577,9]]},"1366":{"position":[[661,9]]},"1367":{"position":[[3993,9]]},"1368":{"position":[[918,9]]},"1369":{"position":[[484,9]]},"1373":{"position":[[1615,9]]},"1374":{"position":[[562,9]]},"1377":{"position":[[536,9]]},"1380":{"position":[[447,9]]},"1381":{"position":[[565,9]]},"1382":{"position":[[1654,9]]},"1383":{"position":[[801,9]]},"1384":{"position":[[2410,9]]},"1385":{"position":[[1110,9]]},"1386":{"position":[[475,9]]},"1387":{"position":[[2460,9]]},"1388":{"position":[[1839,9]]},"1389":{"position":[[2578,9]]},"1390":{"position":[[461,9]]},"1391":{"position":[[462,9]]},"1392":{"position":[[459,9]]},"1399":{"position":[[443,9]]},"1400":{"position":[[465,9]]},"1401":{"position":[[457,9]]},"1402":{"position":[[628,9]]},"1403":{"position":[[826,9]]},"1404":{"position":[[467,9]]},"1405":{"position":[[760,9]]},"1407":{"position":[[787,9]]},"1408":{"position":[[773,9]]},"1410":{"position":[[964,9]]},"1411":{"position":[[446,9]]},"1412":{"position":[[839,9]]},"1413":{"position":[[985,9]]},"1414":{"position":[[572,9]]},"1415":{"position":[[1331,9]]},"1416":{"position":[[726,9]]},"1417":{"position":[[702,9]]},"1418":{"position":[[580,9]]},"1419":{"position":[[624,9]]},"1420":{"position":[[701,9]]},"1421":{"position":[[708,9]]},"1422":{"position":[[489,9]]},"1423":{"position":[[470,9]]},"1424":{"position":[[742,9]]},"1425":{"position":[[576,9]]},"1426":{"position":[[754,9]]},"1427":{"position":[[1056,9]]},"1428":{"position":[[562,9]]},"1429":{"position":[[1290,9]]},"1430":{"position":[[838,9]]},"1431":{"position":[[738,9]]},"1432":{"position":[[880,9]]},"1433":{"position":[[746,9]]},"1438":{"position":[[461,9]]},"1439":{"position":[[1292,9]]},"1440":{"position":[[1491,9]]},"1441":{"position":[[448,9]]},"1443":{"position":[[463,9]]},"1444":{"position":[[493,9]]},"1446":{"position":[[506,9]]},"1447":{"position":[[494,9]]},"1448":{"position":[[580,9]]},"1449":{"position":[[574,9]]},"1450":{"position":[[580,9]]},"1451":{"position":[[580,9]]},"1453":{"position":[[734,9]]},"1454":{"position":[[1549,9]]},"1455":{"position":[[739,9]]},"1456":{"position":[[470,9]]},"1457":{"position":[[516,9]]},"1458":{"position":[[720,9]]},"1459":{"position":[[523,9]]},"1460":{"position":[[651,9]]},"1461":{"position":[[791,9]]},"1462":{"position":[[2110,9]]},"1465":{"position":[[739,9]]},"1467":{"position":[[2285,9]]},"1468":{"position":[[450,9]]},"1469":{"position":[[465,9]]},"1470":{"position":[[1603,9]]},"1471":{"position":[[1060,9]]},"1472":{"position":[[1157,9]]},"1473":{"position":[[1112,9]]},"1474":{"position":[[835,9]]},"1475":{"position":[[981,9]]},"1476":{"position":[[448,9]]},"1477":{"position":[[523,9]]},"1478":{"position":[[576,9]]},"1479":{"position":[[508,9]]},"1480":{"position":[[658,9]]},"1481":{"position":[[675,9]]},"1482":{"position":[[442,9]]},"1484":{"position":[[447,9]]},"1486":{"position":[[546,9]]},"1487":{"position":[[505,9]]}},"keywords":{}}],["lifetim",{"_index":4191,"title":{},"content":{"889":{"position":[[862,8]]}},"keywords":{}}],["lift",{"_index":4683,"title":{},"content":{"942":{"position":[[1281,6]]},"1001":{"position":[[1479,6]]},"1065":{"position":[[412,6]]}},"keywords":{}}],["like",{"_index":5112,"title":{},"content":{"1031":{"position":[[778,6]]}},"keywords":{}}],["like$(cxxppflag",{"_index":2067,"title":{},"content":{"389":{"position":[[437,16]]},"768":{"position":[[437,16]]}},"keywords":{}}],["likealia",{"_index":1325,"title":{},"content":{"121":{"position":[[253,10]]},"530":{"position":[[253,10]]}},"keywords":{}}],["likebin",{"_index":4880,"title":{},"content":{"987":{"position":[[299,7]]}},"keywords":{}}],["likefbcode//buck2/tests/targets/rules/pascal:my_binari",{"_index":5649,"title":{},"content":{"1103":{"position":[[640,55]]}},"keywords":{}}],["likelyhood",{"_index":5750,"title":{},"content":{"1113":{"position":[[429,10]]}},"keywords":{}}],["likemykind",{"_index":4894,"title":{},"content":{"988":{"position":[[308,10]]}},"keywords":{}}],["likes.split",{"_index":2963,"title":{},"content":{"614":{"position":[[201,12]]}},"keywords":{}}],["likewis",{"_index":4606,"title":{},"content":{"937":{"position":[[3771,8]]}},"keywords":{}}],["limit",{"_index":1906,"title":{"877":{"position":[[0,12]]},"1035":{"position":[[0,12]]},"1098":{"position":[[10,12]]},"1114":{"position":[[0,12]]}},"content":{"362":{"position":[[2035,7]]},"481":{"position":[[63,7]]},"708":{"position":[[649,5]]},"741":{"position":[[2035,7]]},"950":{"position":[[190,10],[762,7]]},"955":{"position":[[878,7]]},"1052":{"position":[[1357,7]]},"1114":{"position":[[54,12],[749,12]]},"1247":{"position":[[521,5],[588,6]]},"1253":{"position":[[380,6]]}},"keywords":{}}],["line",{"_index":812,"title":{"582":{"position":[[8,4]]},"675":{"position":[[8,4]]},"1008":{"position":[[30,5]]},"1082":{"position":[[46,6]]}},"content":{"27":{"position":[[42,4]]},"40":{"position":[[53,5],[174,4]]},"65":{"position":[[87,5]]},"67":{"position":[[107,5]]},"68":{"position":[[111,5]]},"99":{"position":[[855,5],[930,4]]},"126":{"position":[[148,4]]},"173":{"position":[[53,5],[174,4]]},"179":{"position":[[42,4]]},"231":{"position":[[855,5],[930,4]]},"249":{"position":[[148,4]]},"300":{"position":[[58,4],[123,5]]},"362":{"position":[[2346,4]]},"405":{"position":[[1044,6],[1274,5],[1325,5],[2063,5]]},"407":{"position":[[29,4],[259,5]]},"450":{"position":[[56,4]]},"453":{"position":[[87,5]]},"455":{"position":[[107,5]]},"456":{"position":[[111,5]]},"575":{"position":[[585,4]]},"577":{"position":[[277,4]]},"582":{"position":[[126,4],[242,4]]},"583":{"position":[[381,4],[481,4]]},"586":{"position":[[166,5]]},"617":{"position":[[104,5],[197,5],[255,4],[367,4],[470,4]]},"632":{"position":[[324,5]]},"675":{"position":[[93,4],[429,5],[491,5],[1313,4]]},"676":{"position":[[143,5]]},"693":{"position":[[3091,4],[5404,4]]},"700":{"position":[[141,5]]},"704":{"position":[[1776,4],[2336,4]]},"705":{"position":[[1129,6]]},"724":{"position":[[102,6]]},"741":{"position":[[2346,4]]},"784":{"position":[[1044,6],[1274,5],[1325,5],[2063,5]]},"786":{"position":[[29,4],[259,5]]},"829":{"position":[[56,4]]},"840":{"position":[[392,4],[709,4]]},"841":{"position":[[288,5]]},"850":{"position":[[302,4],[524,5]]},"856":{"position":[[217,5]]},"867":{"position":[[10,4],[113,4],[168,5]]},"869":{"position":[[483,4]]},"872":{"position":[[533,4]]},"873":{"position":[[386,4]]},"937":{"position":[[2071,5],[2222,5],[2560,4],[3227,4],[3512,5]]},"938":{"position":[[924,4]]},"939":{"position":[[1797,5]]},"942":{"position":[[15,5],[347,5],[404,4],[811,5],[1545,5]]},"943":{"position":[[169,5],[1597,5],[1909,4],[2028,4]]},"947":{"position":[[1250,5]]},"959":{"position":[[440,4],[497,4]]},"961":{"position":[[637,4]]},"970":{"position":[[43,4]]},"1014":{"position":[[54,5]]},"1031":{"position":[[321,5],[478,4],[769,4]]},"1032":{"position":[[130,5]]},"1058":{"position":[[1035,4]]},"1061":{"position":[[286,5]]},"1071":{"position":[[1262,5]]},"1082":{"position":[[80,5],[201,4],[315,4],[554,5],[1233,5]]},"1083":{"position":[[16,6]]},"1103":{"position":[[972,5]]},"1104":{"position":[[1179,4],[1251,6]]},"1105":{"position":[[191,5],[207,4],[343,5],[443,4],[841,4],[871,4],[1015,5],[1599,5],[1993,5],[2137,4]]},"1112":{"position":[[4966,4],[4978,5]]},"1114":{"position":[[316,5]]},"1116":{"position":[[69,4],[77,5]]},"1120":{"position":[[650,5],[843,5]]},"1124":{"position":[[10,4]]},"1125":{"position":[[9,4]]},"1130":{"position":[[59,4]]},"1131":{"position":[[94,5]]},"1136":{"position":[[2655,5]]},"1138":{"position":[[6317,5]]},"1140":{"position":[[5243,5]]},"1146":{"position":[[627,5]]},"1148":{"position":[[3667,5]]},"1167":{"position":[[6247,5]]},"1171":{"position":[[361,4]]},"1176":{"position":[[18,4],[526,4],[573,4]]},"1186":{"position":[[1891,5]]},"1187":{"position":[[1904,5]]},"1188":{"position":[[6630,5]]},"1192":{"position":[[666,5]]},"1197":{"position":[[1129,5]]},"1198":{"position":[[1139,5]]},"1199":{"position":[[1167,5]]},"1200":{"position":[[1034,5]]},"1203":{"position":[[528,5]]},"1205":{"position":[[1701,5]]},"1217":{"position":[[4988,5]]},"1226":{"position":[[180,5],[208,5],[5456,5]]},"1228":{"position":[[7069,5]]},"1237":{"position":[[350,5],[378,5],[5626,5]]},"1351":{"position":[[1184,4]]},"1355":{"position":[[2544,4]]},"1360":{"position":[[1773,4]]},"1362":{"position":[[5496,4],[7742,4],[10978,5],[11089,4],[11969,4]]},"1363":{"position":[[3242,4]]},"1364":{"position":[[5525,4],[6742,4],[7981,4],[8591,4],[11945,5],[12056,4]]},"1366":{"position":[[1272,4]]},"1367":{"position":[[6923,4],[11459,4]]},"1370":{"position":[[921,4]]},"1373":{"position":[[5494,5],[5604,4],[6990,4]]},"1374":{"position":[[761,4],[956,4]]},"1382":{"position":[[3408,4],[7847,5],[7958,4],[9310,4]]},"1383":{"position":[[1646,4],[8448,4],[8511,4],[8788,4]]},"1384":{"position":[[4570,4],[5787,4],[7159,4],[8777,4],[9467,4],[9732,5],[9972,5],[13911,5],[14022,4],[14201,4],[15655,4]]},"1385":{"position":[[4189,4],[5538,4]]},"1387":{"position":[[7172,5],[7282,4],[7460,4],[8911,4]]},"1388":{"position":[[3708,4],[8572,4]]},"1393":{"position":[[1496,4]]},"1395":{"position":[[953,4]]},"1398":{"position":[[1603,4],[3551,4],[6687,4]]},"1402":{"position":[[1892,5]]},"1403":{"position":[[1476,4]]},"1410":{"position":[[1843,4]]},"1412":{"position":[[1864,4]]},"1415":{"position":[[4071,4],[4949,4]]},"1422":{"position":[[1109,4]]},"1426":{"position":[[1182,4],[2756,4]]},"1427":{"position":[[2079,4]]},"1429":{"position":[[2743,4]]},"1438":{"position":[[841,4]]},"1439":{"position":[[2365,4]]},"1440":{"position":[[2931,4]]},"1442":{"position":[[736,4]]},"1454":{"position":[[4635,4],[5560,4],[7674,4]]},"1455":{"position":[[1241,4],[2283,4]]},"1461":{"position":[[1157,4]]},"1467":{"position":[[5227,4],[8655,4]]},"1469":{"position":[[1045,4]]},"1471":{"position":[[1908,4]]},"1472":{"position":[[1867,4]]},"1473":{"position":[[2182,4],[4026,4]]},"1477":{"position":[[801,4]]},"1478":{"position":[[1292,4]]},"1487":{"position":[[866,4]]}},"keywords":{}}],["line).target",{"_index":4587,"title":{},"content":{"937":{"position":[[429,12]]}},"keywords":{}}],["line.buck2",{"_index":4667,"title":{},"content":{"942":{"position":[[209,10]]}},"keywords":{}}],["linear_alloc_hard_limit",{"_index":6441,"title":{},"content":{"1350":{"position":[[2060,24]]},"1352":{"position":[[2059,24]]}},"keywords":{}}],["lines,json",{"_index":3994,"title":{},"content":{"865":{"position":[[208,10]]}},"keywords":{}}],["lines.gz",{"_index":3996,"title":{},"content":{"865":{"position":[[236,9],[514,8]]},"1140":{"position":[[804,9]]},"1188":{"position":[[857,9]]}},"keywords":{}}],["lines.zst",{"_index":3995,"title":{},"content":{"865":{"position":[[219,10]]},"1140":{"position":[[847,10]]},"1188":{"position":[[900,10]]}},"keywords":{}}],["linesh",{"_index":5778,"title":{},"content":{"1120":{"position":[[863,6]]}},"keywords":{}}],["linetarget_compatible_with",{"_index":6383,"title":{},"content":{"1348":{"position":[[2848,27]]},"1349":{"position":[[993,27]]},"1350":{"position":[[3964,27]]},"1352":{"position":[[3963,27]]},"1353":{"position":[[1567,27]]},"1354":{"position":[[1405,27]]},"1356":{"position":[[911,27]]},"1357":{"position":[[584,27]]},"1358":{"position":[[1305,27]]},"1359":{"position":[[1142,27]]},"1361":{"position":[[1132,27]]},"1365":{"position":[[1066,27]]},"1368":{"position":[[1622,27]]},"1369":{"position":[[674,27]]},"1371":{"position":[[550,27]]},"1372":{"position":[[2188,27]]},"1373":{"position":[[3060,27]]},"1375":{"position":[[586,27]]},"1376":{"position":[[542,27]]},"1377":{"position":[[781,27]]},"1378":{"position":[[528,27]]},"1379":{"position":[[551,27]]},"1380":{"position":[[1022,27]]},"1381":{"position":[[928,27]]},"1385":{"position":[[2247,27]]},"1386":{"position":[[885,27]]},"1387":{"position":[[4516,27]]},"1389":{"position":[[4569,27]]},"1390":{"position":[[821,27]]},"1391":{"position":[[774,27]]},"1392":{"position":[[924,27]]},"1394":{"position":[[944,27]]},"1396":{"position":[[750,27]]},"1397":{"position":[[931,27]]},"1399":{"position":[[786,27]]},"1400":{"position":[[655,27]]},"1401":{"position":[[730,27]]},"1402":{"position":[[886,27]]},"1404":{"position":[[719,27]]},"1405":{"position":[[1410,27]]},"1406":{"position":[[626,27]]},"1407":{"position":[[1451,27]]},"1408":{"position":[[1147,27]]},"1409":{"position":[[681,27]]},"1411":{"position":[[664,27]]},"1413":{"position":[[2048,27]]},"1414":{"position":[[915,27]]},"1415":{"position":[[2897,27]]},"1416":{"position":[[1549,27]]},"1417":{"position":[[1138,27]]},"1418":{"position":[[839,27]]},"1419":{"position":[[967,27]]},"1420":{"position":[[1231,27]]},"1421":{"position":[[1206,27]]},"1423":{"position":[[1098,27]]},"1424":{"position":[[1223,27]]},"1425":{"position":[[839,27]]},"1428":{"position":[[821,27]]},"1430":{"position":[[1597,27]]},"1431":{"position":[[941,27]]},"1432":{"position":[[1462,27]]},"1433":{"position":[[983,27]]},"1434":{"position":[[657,27]]},"1435":{"position":[[621,27]]},"1436":{"position":[[637,27]]},"1437":{"position":[[707,27]]},"1441":{"position":[[663,27]]},"1443":{"position":[[958,27]]},"1444":{"position":[[874,27]]},"1445":{"position":[[563,27]]},"1446":{"position":[[897,27]]},"1447":{"position":[[779,27]]},"1448":{"position":[[1214,27]]},"1449":{"position":[[1148,27]]},"1450":{"position":[[1027,27]]},"1451":{"position":[[1027,27]]},"1452":{"position":[[573,27]]},"1453":{"position":[[1159,27]]},"1454":{"position":[[3525,27]]},"1455":{"position":[[1412,27]]},"1456":{"position":[[757,27]]},"1457":{"position":[[816,27]]},"1458":{"position":[[1351,27]]},"1459":{"position":[[830,27]]},"1460":{"position":[[942,27]]},"1462":{"position":[[4538,27]]},"1463":{"position":[[664,27]]},"1464":{"position":[[572,27]]},"1465":{"position":[[1670,27]]},"1466":{"position":[[908,27]]},"1468":{"position":[[672,27]]},"1470":{"position":[[3574,27]]},"1474":{"position":[[1573,27]]},"1475":{"position":[[2044,27]]},"1476":{"position":[[649,27]]},"1479":{"position":[[741,27]]},"1480":{"position":[[1154,27]]},"1481":{"position":[[1687,27]]},"1482":{"position":[[761,27]]},"1483":{"position":[[595,27]]},"1484":{"position":[[667,27]]},"1485":{"position":[[927,27]]},"1486":{"position":[[1171,27]]}},"keywords":{}}],["link",{"_index":4,"title":{"1":{"position":[[28,6]]}},"content":{"704":{"position":[[223,4],[2214,4]]},"706":{"position":[[1269,5],[1483,4]]},"911":{"position":[[190,5]]},"919":{"position":[[745,4]]},"1048":{"position":[[59,4],[971,4]]},"1050":{"position":[[302,7],[328,9]]},"1104":{"position":[[1857,7]]},"1362":{"position":[[7860,4],[9756,8],[9814,4],[9902,4],[10126,4],[10215,4],[10314,4],[10609,7],[10627,4],[10684,4],[11142,4],[11166,6],[12018,4]]},"1364":{"position":[[6737,4],[8099,4],[8709,4],[10870,8],[10928,4],[11016,4],[11240,4],[11329,4],[11428,4],[11651,4],[12109,4],[12133,6]]},"1367":{"position":[[10673,8],[10731,4],[10819,4],[11043,4],[11132,4],[11231,4],[11512,4],[11536,6],[13741,6]]},"1373":{"position":[[2854,6],[5201,4],[5657,4],[5681,6],[7039,4],[8643,6]]},"1382":{"position":[[3185,4],[6482,8],[6540,4],[6628,4],[6852,4],[6941,4],[7040,4],[7281,4],[7478,7],[7496,4],[7553,4],[8011,4],[8035,6],[9359,4]]},"1383":{"position":[[3712,4],[3840,4],[4033,6],[4133,6]]},"1384":{"position":[[5782,4],[7277,4],[8895,4],[9585,4],[12836,8],[12894,4],[12982,4],[13206,4],[13295,4],[13394,4],[13617,4],[14075,4],[14099,6],[14254,4],[14310,5],[14361,6],[14408,4],[14419,7],[15704,4],[16702,7]]},"1385":{"position":[[4242,4],[4266,6],[5587,4]]},"1386":{"position":[[4731,4]]},"1387":{"position":[[6677,4],[7335,4],[7359,6],[7513,4],[7569,5],[7620,6],[7667,4],[8960,4]]},"1388":{"position":[[7351,8],[7409,4],[7497,4],[7721,4],[7810,4],[7909,4],[8150,4],[8347,7],[8365,4],[8422,4],[8625,4],[8649,6]]},"1405":{"position":[[2617,4],[2696,4],[2756,4],[2972,4]]},"1407":{"position":[[3038,4],[3117,4],[3177,4],[3393,4]]},"1410":{"position":[[3140,4],[3219,4],[3757,4],[3974,4],[4246,4]]},"1415":{"position":[[3722,4],[4124,4],[4148,6],[4998,4],[5104,6],[5662,4],[5973,4]]},"1416":{"position":[[2579,4],[2775,7],[2793,4],[2849,4]]},"1421":{"position":[[2148,7],[2276,6],[2361,6]]},"1429":{"position":[[6186,4]]},"1454":{"position":[[3352,6],[4630,4],[5678,4],[7565,4],[7727,4],[7783,5],[7834,6],[7881,4],[9001,7],[9531,7]]},"1455":{"position":[[1236,4],[2278,4],[3049,4],[3220,4],[3349,7],[3393,4],[3596,6],[3718,4],[3847,7],[3891,4],[4113,4],[4250,7],[4298,4],[4534,6]]},"1461":{"position":[[2248,7],[2323,4],[2455,6]]},"1462":{"position":[[5688,7],[5767,4],[6199,4],[6395,7],[6413,4],[6493,7],[6599,4],[6704,4],[6753,6]]},"1465":{"position":[[2708,7],[2783,4],[2915,6]]},"1467":{"position":[[6184,7],[6263,4],[6320,6],[6847,7],[6922,4],[7054,6],[7312,4],[7509,7],[7527,4],[7608,7],[7714,4],[7819,4],[7868,6]]},"1471":{"position":[[3816,4],[4961,4]]},"1472":{"position":[[3287,4],[4400,4]]},"1473":{"position":[[4137,4],[5282,4]]},"1485":{"position":[[4960,5]]}},"keywords":{}}],["link_deps_query_whol",{"_index":7038,"title":{},"content":{"1373":{"position":[[1640,22]]},"1382":{"position":[[1679,22]]},"1384":{"position":[[2435,22]]},"1388":{"position":[[1864,22]]},"1415":{"position":[[1356,22]]},"1416":{"position":[[751,22]]},"1462":{"position":[[2135,22]]},"1467":{"position":[[2310,22]]}},"keywords":{}}],["link_execution_prefer",{"_index":6737,"title":{},"content":{"1362":{"position":[[2718,26],[9700,26]]},"1364":{"position":[[2729,26],[10814,26]]},"1367":{"position":[[4018,26],[10617,26]]},"1382":{"position":[[1712,26],[6426,26]]},"1384":{"position":[[2468,26],[12780,26]]},"1388":{"position":[[1897,26],[7295,26]]},"1462":{"position":[[2168,26]]},"1467":{"position":[[2343,26]]}},"keywords":{}}],["link_group",{"_index":6738,"title":{},"content":{"1362":{"position":[[2761,11]]},"1364":{"position":[[2772,11]]},"1367":{"position":[[4061,11]]},"1373":{"position":[[1673,11]]},"1382":{"position":[[1755,11]]},"1384":{"position":[[2511,11]]},"1387":{"position":[[2485,11]]},"1388":{"position":[[1940,11]]},"1415":{"position":[[1389,11]]},"1462":{"position":[[2211,11]]},"1467":{"position":[[2386,11]]},"1471":{"position":[[1085,11]]},"1473":{"position":[[1137,11]]}},"keywords":{}}],["link_group_dep",{"_index":7148,"title":{},"content":{"1382":{"position":[[1783,16],[7219,16]]},"1388":{"position":[[1968,16],[8088,16]]},"1416":{"position":[[784,16]]},"1462":{"position":[[2239,16],[6136,17]]},"1467":{"position":[[2414,16],[7250,16]]}},"keywords":{}}],["link_group_map",{"_index":6739,"title":{},"content":{"1362":{"position":[[2789,15]]},"1364":{"position":[[2800,15]]},"1367":{"position":[[4089,15]]},"1373":{"position":[[1701,15]]},"1382":{"position":[[1815,15]]},"1384":{"position":[[2539,15]]},"1387":{"position":[[2513,15]]},"1388":{"position":[[2000,15]]},"1415":{"position":[[1417,15]]},"1416":{"position":[[816,15]]},"1462":{"position":[[2271,15]]},"1467":{"position":[[2446,15]]},"1471":{"position":[[1113,15]]},"1473":{"position":[[1165,15]]}},"keywords":{}}],["link_group_min_binary_node_count",{"_index":7149,"title":{},"content":{"1382":{"position":[[1971,33]]},"1388":{"position":[[2156,33]]},"1462":{"position":[[2427,33]]},"1467":{"position":[[2602,33]]},"1471":{"position":[[1269,33]]},"1473":{"position":[[1321,33]]}},"keywords":{}}],["link_group_public_deps_label",{"_index":6742,"title":{},"content":{"1362":{"position":[[2945,29],[10493,29]]},"1382":{"position":[[2021,29],[7362,29]]},"1388":{"position":[[2206,29],[8231,29]]},"1416":{"position":[[972,29]]},"1462":{"position":[[2477,29]]},"1467":{"position":[[2652,29],[7393,29]]}},"keywords":{}}],["link_info_has_default_filelist",{"_index":5593,"title":{},"content":{"1086":{"position":[[703,31]]}},"keywords":{}}],["link_info_has_default_filelist(children",{"_index":5585,"title":{},"content":{"1086":{"position":[[442,40]]}},"keywords":{}}],["link_mod",{"_index":7722,"title":{},"content":{"1405":{"position":[[785,10]]},"1407":{"position":[[812,10]]},"1410":{"position":[[989,10],[3731,10]]}},"keywords":{}}],["link_ord",{"_index":6743,"title":{},"content":{"1362":{"position":[[2991,14]]},"1364":{"position":[[2956,14]]},"1367":{"position":[[4245,14]]},"1382":{"position":[[2067,14]]},"1384":{"position":[[2695,14]]},"1387":{"position":[[2669,14]]},"1388":{"position":[[2252,14]]},"1389":{"position":[[2603,14]]},"1462":{"position":[[2523,14]]},"1467":{"position":[[2698,14]]}},"keywords":{}}],["link_path_normalization_args_en",{"_index":7373,"title":{},"content":{"1389":{"position":[[2627,37]]}},"keywords":{}}],["link_styl",{"_index":560,"title":{},"content":{"18":{"position":[[690,10]]},"1362":{"position":[[3022,11],[10640,11]]},"1364":{"position":[[2987,11],[11607,11]]},"1367":{"position":[[4276,11]]},"1373":{"position":[[1857,11]]},"1382":{"position":[[2098,11],[7509,11]]},"1384":{"position":[[2726,11],[13573,11],[16714,10]]},"1387":{"position":[[2700,11],[6632,12]]},"1388":{"position":[[2283,11],[8378,11]]},"1389":{"position":[[2675,11],[5793,10]]},"1405":{"position":[[812,11]]},"1407":{"position":[[839,11]]},"1410":{"position":[[1016,11],[3930,11]]},"1415":{"position":[[1573,11]]},"1416":{"position":[[1018,11]]},"1419":{"position":[[649,11]]},"1454":{"position":[[9013,10]]},"1462":{"position":[[2554,11]]},"1467":{"position":[[2729,11]]},"1471":{"position":[[1319,11],[3772,11]]},"1472":{"position":[[1182,11],[4356,11]]},"1473":{"position":[[1371,11],[4093,11]]}},"keywords":{}}],["link_weight",{"_index":7374,"title":{},"content":{"1389":{"position":[[2696,12]]}},"keywords":{}}],["link_whol",{"_index":6744,"title":{},"content":{"1362":{"position":[[3050,11]]},"1364":{"position":[[3015,11]]},"1367":{"position":[[4297,11]]},"1382":{"position":[[2126,11]]},"1384":{"position":[[2754,11]]},"1387":{"position":[[2728,11]]},"1388":{"position":[[2311,11]]},"1420":{"position":[[726,11]]},"1454":{"position":[[1574,11]]},"1462":{"position":[[2575,11]]},"1467":{"position":[[2750,11]]}},"keywords":{}}],["link_without_sonam",{"_index":8147,"title":{},"content":{"1454":{"position":[[1596,20]]}},"keywords":{}}],["linkabl",{"_index":7850,"title":{},"content":{"1416":{"position":[[2455,8]]},"1420":{"position":[[2137,8]]}},"keywords":{}}],["linkag",{"_index":7204,"title":{},"content":{"1384":{"position":[[16583,7]]},"1454":{"position":[[8882,7]]}},"keywords":{}}],["linkdata",{"_index":5671,"title":{},"content":{"1104":{"position":[[2375,8],[2384,8]]}},"keywords":{}}],["linker",{"_index":3637,"title":{},"content":{"704":{"position":[[652,6]]},"1362":{"position":[[7727,6],[10839,6],[10963,6],[11002,7],[11074,6],[11613,6],[11876,6],[11954,6]]},"1364":{"position":[[7966,6],[8165,6],[8498,6],[8576,6],[11806,6],[11930,6],[11969,7],[12041,6]]},"1367":{"position":[[11444,6]]},"1373":{"position":[[5355,6],[5479,6],[5518,7],[5589,6],[6634,6],[6897,6],[6975,6]]},"1382":{"position":[[7708,6],[7832,6],[7871,7],[7943,6],[8954,6],[9217,6],[9295,6]]},"1383":{"position":[[3296,7],[3338,6],[3457,6],[3667,6],[3795,6],[4011,6],[4111,6]]},"1384":{"position":[[7144,6],[8351,6],[8684,6],[8762,6],[9452,6],[9717,6],[9793,6],[9957,6],[13772,6],[13896,6],[13935,7],[14007,6],[14186,6],[15299,6],[15562,6],[15640,6]]},"1385":{"position":[[4174,6],[5182,6],[5445,6],[5523,6]]},"1387":{"position":[[7033,6],[7157,6],[7196,7],[7267,6],[7445,6],[8555,6],[8818,6],[8896,6]]},"1388":{"position":[[8557,6]]},"1389":{"position":[[2718,7]]},"1390":{"position":[[1719,7],[1772,6]]},"1405":{"position":[[2591,6],[3217,6]]},"1407":{"position":[[3012,6],[3638,6]]},"1410":{"position":[[3114,6],[4220,6]]},"1415":{"position":[[4056,6],[4593,6],[4856,6],[4934,6]]},"1421":{"position":[[2106,6]]},"1454":{"position":[[5545,6],[7659,6]]},"1462":{"position":[[6450,6],[8620,6]]},"1467":{"position":[[7565,6],[10102,6]]},"1471":{"position":[[3974,7]]},"1472":{"position":[[3449,7],[4558,7]]},"1473":{"position":[[4295,7]]},"1485":{"position":[[4627,6]]}},"keywords":{}}],["linker/compil",{"_index":4079,"title":{},"content":{"872":{"position":[[897,15]]}},"keywords":{}}],["linker_extra_output",{"_index":6745,"title":{},"content":{"1362":{"position":[[3079,21],[10785,21]]},"1364":{"position":[[3044,21],[11752,21]]},"1367":{"position":[[4326,21]]},"1373":{"position":[[1885,21]]},"1382":{"position":[[2148,21],[7654,21]]},"1384":{"position":[[2783,21],[13718,21]]},"1385":{"position":[[1135,21]]},"1387":{"position":[[2750,21]]},"1388":{"position":[[2333,21]]},"1415":{"position":[[1601,21]]},"1462":{"position":[[2597,21]]},"1467":{"position":[[2772,21]]}},"keywords":{}}],["linker_flag",{"_index":6746,"title":{},"content":{"1362":{"position":[[3116,13],[10910,12],[11040,13]]},"1364":{"position":[[3081,13],[11877,12],[12007,13]]},"1367":{"position":[[4363,13],[11410,13],[13951,12]]},"1373":{"position":[[1922,13],[5426,12]]},"1382":{"position":[[2185,13],[7779,12],[7909,13]]},"1384":{"position":[[2820,13],[13843,12],[13973,13]]},"1385":{"position":[[1172,13]]},"1387":{"position":[[2787,13],[7104,12]]},"1388":{"position":[[2370,13],[8523,13]]},"1389":{"position":[[2731,13]]},"1390":{"position":[[486,13]]},"1391":{"position":[[487,13]]},"1392":{"position":[[484,13]]},"1405":{"position":[[840,13]]},"1407":{"position":[[867,13]]},"1410":{"position":[[1044,13],[4200,13]]},"1415":{"position":[[1638,13]]},"1416":{"position":[[1046,13]]},"1417":{"position":[[727,13]]},"1419":{"position":[[666,13]]},"1420":{"position":[[748,13]]},"1448":{"position":[[605,13]]},"1449":{"position":[[599,13]]},"1450":{"position":[[605,13]]},"1451":{"position":[[605,13]]},"1454":{"position":[[1627,13]]},"1462":{"position":[[2634,13]]},"1467":{"position":[[2809,13],[7540,13]]},"1471":{"position":[[1347,13],[3917,13]]},"1472":{"position":[[1210,13],[4501,13]]},"1473":{"position":[[1399,13],[4238,13]]}},"keywords":{}}],["linker_typ",{"_index":7375,"title":{},"content":{"1389":{"position":[[2760,12]]}},"keywords":{}}],["linkinfo",{"_index":5587,"title":{},"content":{"1086":{"position":[[502,9],[612,9]]}},"keywords":{}}],["linkinfostset",{"_index":5591,"title":{},"content":{"1086":{"position":[[622,13]]}},"keywords":{}}],["linking.static_lib",{"_index":8180,"title":{},"content":{"1454":{"position":[[9098,19]]}},"keywords":{}}],["linking.static_pic_lib",{"_index":8181,"title":{},"content":{"1454":{"position":[[9172,23]]}},"keywords":{}}],["linking.supported_platforms_regex",{"_index":8182,"title":{},"content":{"1454":{"position":[[9254,34]]}},"keywords":{}}],["linkpackage_root",{"_index":7735,"title":{},"content":{"1405":{"position":[[3243,17]]},"1407":{"position":[[3664,17]]}},"keywords":{}}],["links).platform_compiler_flag",{"_index":7303,"title":{},"content":{"1387":{"position":[[7678,31]]}},"keywords":{}}],["links).platform_shared_lib",{"_index":8175,"title":{},"content":{"1454":{"position":[[7892,27]]}},"keywords":{}}],["links.dep",{"_index":8321,"title":{},"content":{"1462":{"position":[[5824,11]]}},"keywords":{}}],["lint",{"_index":6047,"title":{"1222":{"position":[[14,5]]}},"content":{"1221":{"position":[[90,4]]},"1222":{"position":[[55,4]]}},"keywords":{}}],["linter",{"_index":772,"title":{},"content":{"23":{"position":[[3016,8]]},"1221":{"position":[[112,7]]},"1222":{"position":[[17,7]]}},"keywords":{}}],["linux",{"_index":466,"title":{},"content":{"15":{"position":[[665,5]]},"24":{"position":[[1126,6]]},"690":{"position":[[3213,6],[3309,6]]},"919":{"position":[[2246,5],[2455,5]]},"927":{"position":[[55,5]]},"937":{"position":[[107,6],[4119,6],[4385,6]]},"938":{"position":[[753,5]]},"940":{"position":[[1055,5]]},"942":{"position":[[285,5]]},"943":{"position":[[1034,5],[1635,5],[1711,5],[1859,5]]},"944":{"position":[[1205,5],[1214,5]]},"1060":{"position":[[13,5]]},"1061":{"position":[[165,6]]},"1136":{"position":[[2890,6]]},"1138":{"position":[[6552,6]]},"1140":{"position":[[5478,6]]},"1142":{"position":[[922,6]]},"1146":{"position":[[862,6]]},"1148":{"position":[[3902,6]]},"1155":{"position":[[958,6]]},"1156":{"position":[[536,6]]},"1167":{"position":[[6482,6]]},"1169":{"position":[[321,6]]},"1186":{"position":[[2126,6]]},"1187":{"position":[[2139,6]]},"1188":{"position":[[6865,6]]},"1191":{"position":[[726,6]]},"1192":{"position":[[901,6]]},"1193":{"position":[[953,6]]},"1194":{"position":[[593,6]]},"1195":{"position":[[571,6]]},"1196":{"position":[[381,6]]},"1197":{"position":[[1364,6]]},"1198":{"position":[[1374,6]]},"1199":{"position":[[1402,6]]},"1200":{"position":[[1269,6]]},"1201":{"position":[[529,6]]},"1202":{"position":[[1671,6],[6068,6]]},"1203":{"position":[[763,6]]},"1204":{"position":[[607,6]]},"1205":{"position":[[1936,6]]},"1206":{"position":[[407,6]]},"1207":{"position":[[564,6]]},"1209":{"position":[[1912,6]]},"1217":{"position":[[5223,6]]},"1219":{"position":[[1209,6]]},"1222":{"position":[[333,6]]},"1223":{"position":[[343,6]]},"1224":{"position":[[523,6]]},"1226":{"position":[[5691,6]]},"1228":{"position":[[7304,6]]},"1235":{"position":[[3172,6]]},"1237":{"position":[[5861,6]]},"1360":{"position":[[2845,5]]},"1383":{"position":[[2430,5]]},"1384":{"position":[[18604,6]]},"1403":{"position":[[2260,5]]},"1472":{"position":[[5920,6]]}},"keywords":{}}],["linux"",{"_index":7104,"title":{},"content":{"1374":{"position":[[3731,12],[3988,12]]}},"keywords":{}}],["lipo",{"_index":6994,"title":{},"content":{"1368":{"position":[[943,5]]},"1370":{"position":[[762,5]]}},"keywords":{}}],["list",{"_index":390,"title":{"562":{"position":[[0,4]]},"577":{"position":[[14,6]]},"652":{"position":[[0,5]]},"989":{"position":[[24,6]]},"990":{"position":[[27,6]]}},"content":{"12":{"position":[[73,4]]},"17":{"position":[[1124,4]]},"18":{"position":[[1901,7]]},"23":{"position":[[3488,4]]},"33":{"position":[[49,4]]},"41":{"position":[[282,4]]},"63":{"position":[[194,4]]},"65":{"position":[[42,4],[154,5]]},"74":{"position":[[98,4]]},"92":{"position":[[619,4],[774,4],[2426,5]]},"94":{"position":[[1269,4],[3676,6],[3744,4]]},"98":{"position":[[843,4]]},"99":{"position":[[956,4]]},"137":{"position":[[104,4],[135,4]]},"139":{"position":[[98,4]]},"166":{"position":[[194,4]]},"174":{"position":[[282,4]]},"189":{"position":[[49,4]]},"224":{"position":[[619,4],[774,4],[2426,5]]},"226":{"position":[[1269,4],[3676,6],[3744,4]]},"230":{"position":[[843,4]]},"231":{"position":[[956,4]]},"240":{"position":[[188,4]]},"242":{"position":[[166,4],[240,4]]},"260":{"position":[[104,4],[135,4]]},"262":{"position":[[98,4]]},"285":{"position":[[71,4]]},"294":{"position":[[1117,4],[1329,4]]},"297":{"position":[[945,4],[1084,4]]},"298":{"position":[[1806,4]]},"301":{"position":[[832,4],[1269,4]]},"309":{"position":[[689,4]]},"310":{"position":[[537,4],[769,4]]},"311":{"position":[[385,4],[588,4]]},"329":{"position":[[248,4]]},"337":{"position":[[318,7]]},"338":{"position":[[347,7]]},"368":{"position":[[2943,4],[3313,4]]},"373":{"position":[[165,4]]},"374":{"position":[[2118,8]]},"396":{"position":[[403,4]]},"402":{"position":[[625,4]]},"404":{"position":[[162,4]]},"405":{"position":[[1083,5],[1237,4],[1539,5]]},"409":{"position":[[105,4]]},"410":{"position":[[43,5]]},"417":{"position":[[395,5]]},"418":{"position":[[597,4],[1067,4]]},"427":{"position":[[373,4]]},"449":{"position":[[107,4]]},"453":{"position":[[42,4],[154,5]]},"470":{"position":[[188,4]]},"478":{"position":[[199,7]]},"492":{"position":[[194,4]]},"497":{"position":[[98,4]]},"548":{"position":[[194,4]]},"555":{"position":[[71,4],[123,4]]},"556":{"position":[[59,4],[114,4]]},"561":{"position":[[63,4],[122,4]]},"563":{"position":[[71,5],[106,4],[152,4]]},"564":{"position":[[49,4],[96,4],[137,4]]},"565":{"position":[[77,4],[185,4],[256,4]]},"566":{"position":[[136,5],[188,4],[280,4],[345,4]]},"567":{"position":[[83,5],[131,4],[295,4],[431,4]]},"568":{"position":[[85,5],[150,4],[282,5],[298,4]]},"569":{"position":[[74,4],[144,4],[190,4]]},"570":{"position":[[526,4]]},"577":{"position":[[131,4],[189,4],[261,4],[341,4],[441,4],[626,4]]},"583":{"position":[[14,4],[167,4],[232,5]]},"585":{"position":[[23,4]]},"587":{"position":[[0,5]]},"590":{"position":[[389,5],[468,9]]},"592":{"position":[[266,9]]},"616":{"position":[[176,4],[791,5]]},"617":{"position":[[96,4],[158,4]]},"637":{"position":[[36,4],[81,4]]},"638":{"position":[[772,4]]},"639":{"position":[[105,4],[171,4]]},"652":{"position":[[60,5],[78,5],[158,4],[233,6],[260,5],[266,6]]},"665":{"position":[[115,4]]},"666":{"position":[[126,4]]},"668":{"position":[[214,4]]},"673":{"position":[[112,4],[402,4]]},"681":{"position":[[174,4]]},"682":{"position":[[51,5],[242,6]]},"683":{"position":[[215,4]]},"711":{"position":[[410,4],[491,4]]},"718":{"position":[[112,8],[602,4]]},"720":{"position":[[98,4]]},"722":{"position":[[591,4],[873,5],[1067,4]]},"747":{"position":[[2943,4],[3313,4]]},"752":{"position":[[165,4]]},"753":{"position":[[2118,8]]},"775":{"position":[[403,4]]},"781":{"position":[[625,4]]},"783":{"position":[[162,4]]},"784":{"position":[[1083,5],[1237,4],[1539,5]]},"788":{"position":[[105,4]]},"789":{"position":[[43,5]]},"796":{"position":[[395,5]]},"797":{"position":[[597,4],[1067,4]]},"806":{"position":[[373,4]]},"828":{"position":[[107,4]]},"846":{"position":[[1926,4]]},"851":{"position":[[658,4],[814,4],[1013,4],[1178,4]]},"888":{"position":[[109,6]]},"890":{"position":[[1095,5],[2057,5],[5551,4],[5585,4],[5839,4],[6071,4]]},"898":{"position":[[486,5],[536,4],[1216,4],[1332,4],[1360,4],[1481,4],[1590,5]]},"900":{"position":[[709,4],[762,4]]},"902":{"position":[[760,4]]},"910":{"position":[[125,4]]},"911":{"position":[[164,5]]},"914":{"position":[[59,4]]},"921":{"position":[[46,4]]},"924":{"position":[[200,5]]},"939":{"position":[[81,4]]},"942":{"position":[[772,4]]},"955":{"position":[[736,8]]},"988":{"position":[[478,6],[498,4],[547,4],[804,5]]},"989":{"position":[[13,5],[133,4],[349,4],[490,4]]},"990":{"position":[[7,5],[635,4],[703,4],[790,5],[1054,4],[1202,5]]},"1001":{"position":[[300,4]]},"1019":{"position":[[218,4]]},"1020":{"position":[[130,4],[239,4]]},"1022":{"position":[[392,4]]},"1032":{"position":[[83,4]]},"1040":{"position":[[139,4],[297,4],[444,6],[876,4]]},"1044":{"position":[[485,4],[1398,4]]},"1048":{"position":[[178,4]]},"1050":{"position":[[1276,4],[3610,4]]},"1052":{"position":[[1147,4],[1396,5]]},"1053":{"position":[[166,4]]},"1064":{"position":[[356,4],[1805,4],[1962,4]]},"1067":{"position":[[435,4]]},"1069":{"position":[[14,4],[204,4],[428,4]]},"1082":{"position":[[399,4],[610,4]]},"1083":{"position":[[446,4]]},"1088":{"position":[[490,6]]},"1104":{"position":[[1095,4],[2205,4],[2367,4]]},"1105":{"position":[[222,4],[253,4],[1450,4]]},"1112":{"position":[[2027,4],[2250,4],[3477,4],[3957,4],[4753,4]]},"1124":{"position":[[102,4]]},"1126":{"position":[[216,5]]},"1136":{"position":[[449,4],[916,4],[1879,4],[2165,6],[2762,4],[2812,4],[5260,4]]},"1138":{"position":[[1412,4],[1705,4],[1955,4],[5631,4],[6424,4],[6474,4],[8922,4]]},"1140":{"position":[[1194,4],[1444,4],[5350,4],[5400,4],[7848,4]]},"1142":{"position":[[794,4],[844,4],[3292,4]]},"1146":{"position":[[734,4],[784,4],[3232,4]]},"1148":{"position":[[990,4],[1272,4],[2235,4],[2521,6],[2981,4],[3774,4],[3824,4],[6272,4]]},"1155":{"position":[[830,4],[880,4],[3328,4]]},"1156":{"position":[[408,4],[458,4],[2906,4]]},"1161":{"position":[[799,4]]},"1167":{"position":[[2198,4],[2448,4],[6354,4],[6404,4],[8852,4]]},"1169":{"position":[[193,4],[243,4]]},"1174":{"position":[[395,4]]},"1178":{"position":[[81,4]]},"1180":{"position":[[80,7]]},"1181":{"position":[[1011,4]]},"1186":{"position":[[1205,4],[1998,4],[2048,4],[4496,4]]},"1187":{"position":[[1218,4],[2011,4],[2061,4],[4509,4]]},"1188":{"position":[[1247,4],[1497,4],[5944,4],[6737,4],[6787,4],[9235,4]]},"1190":{"position":[[132,4],[497,4]]},"1191":{"position":[[36,4],[598,4],[648,4],[3096,4]]},"1192":{"position":[[773,4],[823,4],[3271,4]]},"1193":{"position":[[825,4],[875,4],[3323,4]]},"1194":{"position":[[465,4],[515,4],[2963,4]]},"1195":{"position":[[0,4],[443,4],[493,4],[2941,4]]},"1196":{"position":[[253,4],[303,4],[2751,4]]},"1197":{"position":[[201,4],[206,4],[443,4],[1236,4],[1286,4],[3734,4]]},"1198":{"position":[[453,4],[1246,4],[1296,4],[3744,4]]},"1199":{"position":[[481,4],[1274,4],[1324,4],[3772,4]]},"1200":{"position":[[348,4],[1141,4],[1191,4],[3639,4]]},"1201":{"position":[[401,4],[451,4],[2899,4]]},"1202":{"position":[[1543,4],[1593,4],[4041,4],[5940,4],[5990,4],[8438,4]]},"1203":{"position":[[635,4],[685,4],[3133,4]]},"1204":{"position":[[136,4],[141,4],[479,4],[529,4],[2977,4],[4512,5],[4567,4],[5414,4],[5483,4]]},"1205":{"position":[[1359,4],[1808,4],[1858,4],[4306,4]]},"1206":{"position":[[279,4],[329,4],[2777,4]]},"1207":{"position":[[436,4],[486,4],[2934,4]]},"1209":{"position":[[149,4],[1112,4],[1398,6],[1784,4],[1834,4],[4282,4]]},"1217":{"position":[[939,4],[1189,4],[5095,4],[5145,4],[7593,4]]},"1219":{"position":[[1081,4],[1131,4]]},"1222":{"position":[[205,4],[255,4],[2703,4]]},"1223":{"position":[[215,4],[265,4],[2713,4]]},"1224":{"position":[[395,4],[445,4]]},"1226":{"position":[[3052,4],[5563,4],[5613,4],[8061,4]]},"1228":{"position":[[3020,4],[3270,4],[7176,4],[7226,4],[9674,4]]},"1235":{"position":[[782,4],[1409,4],[2372,4],[2658,6],[3044,4],[3094,4],[5542,4]]},"1237":{"position":[[3222,4],[5733,4],[5783,4],[8231,4]]},"1250":{"position":[[98,4]]},"1252":{"position":[[159,4],[335,5]]},"1253":{"position":[[290,4]]},"1254":{"position":[[696,4]]},"1262":{"position":[[459,5],[496,4],[889,5]]},"1293":{"position":[[459,5],[496,4],[889,5]]},"1321":{"position":[[459,5],[496,4],[889,5]]},"1345":{"position":[[912,4]]},"1348":{"position":[[2878,4],[3004,4],[3135,4],[3262,4],[3352,4],[3496,4],[4310,4]]},"1349":{"position":[[1023,4],[1149,4],[1280,4],[1407,4],[1497,4],[1641,4]]},"1350":{"position":[[3994,4],[4120,4],[4251,4],[4378,4],[4468,4],[4612,4]]},"1351":{"position":[[1215,4],[1342,4],[1474,4],[1602,4],[1693,4],[1839,4],[2125,4]]},"1352":{"position":[[3993,4],[4119,4],[4250,4],[4377,4],[4467,4],[4611,4]]},"1353":{"position":[[1597,4],[1723,4],[1854,4],[1981,4],[2071,4],[2215,4]]},"1354":{"position":[[1435,4],[1561,4],[1692,4],[1819,4],[1909,4],[2053,4],[2510,4]]},"1355":{"position":[[2575,4],[2702,4],[2834,4],[2962,4],[3053,4],[3199,4],[4375,6],[4557,4],[4701,4],[5594,4]]},"1356":{"position":[[941,4],[1067,4],[1198,4],[1325,4],[1415,4],[1559,4]]},"1357":{"position":[[614,4],[740,4],[871,4],[998,4],[1088,4],[1232,4]]},"1358":{"position":[[1335,4],[1461,4],[1592,4],[1719,4],[1809,4],[1953,4]]},"1359":{"position":[[1172,4],[1298,4],[1429,4],[1556,4],[1646,4],[1790,4]]},"1360":{"position":[[1804,4],[1931,4],[2063,4],[2191,4],[2282,4],[2428,4],[5299,4],[5446,5],[5490,5]]},"1361":{"position":[[1162,4],[1288,4],[1419,4],[1546,4],[1636,4],[1780,4]]},"1362":{"position":[[5527,4],[5654,4],[5786,4],[5914,4],[6005,4],[6151,4],[6892,4],[7017,4],[7938,4],[8073,4],[8980,4],[9105,4],[11303,4],[11473,4],[11659,4],[11868,4],[12112,4],[12289,4],[12315,4],[12352,4],[13021,4]]},"1363":{"position":[[3273,4],[3400,4],[3532,4],[3660,4],[3751,4],[3897,4],[4296,4],[4792,4]]},"1364":{"position":[[5556,4],[5683,4],[5815,4],[5943,4],[6034,4],[6180,4],[7131,4],[7256,4],[8281,4],[8490,4],[8787,4],[8922,4],[10094,4],[10219,4],[12270,4],[12440,4],[12617,4],[12794,4],[12820,4],[12857,4],[13721,4]]},"1365":{"position":[[1096,4],[1222,4],[1353,4],[1480,4],[1570,4],[1714,4]]},"1366":{"position":[[1303,4],[1430,4],[1562,4],[1690,4],[1781,4],[1927,4],[2263,4]]},"1367":{"position":[[6954,4],[7081,4],[7213,4],[7341,4],[7432,4],[7578,4],[8026,4],[8161,4],[9068,4],[9193,4],[10325,4],[11673,4],[11843,4],[12020,4],[12197,4],[12223,4],[12260,4],[12929,4]]},"1368":{"position":[[1652,4],[1778,4],[1909,4],[2036,4],[2126,4],[2270,4]]},"1369":{"position":[[704,4],[830,4],[961,4],[1088,4],[1178,4],[1322,4]]},"1370":{"position":[[952,4],[1079,4],[1211,4],[1339,4],[1430,4],[1576,4]]},"1371":{"position":[[580,4],[706,4],[837,4],[964,4],[1054,4],[1198,4]]},"1372":{"position":[[2218,4],[2344,4],[2475,4],[2602,4],[2692,4],[2836,4]]},"1373":{"position":[[3090,4],[3216,4],[3347,4],[3474,4],[3564,4],[3708,4],[4680,4],[6325,4],[6495,4],[6680,4],[6889,4],[7152,4],[7322,4]]},"1374":{"position":[[987,4],[1114,4],[1246,4],[1374,4],[1465,4],[1611,4]]},"1375":{"position":[[616,4],[742,4],[873,4],[1000,4],[1090,4],[1234,4]]},"1376":{"position":[[572,4],[698,4],[829,4],[956,4],[1046,4],[1190,4]]},"1377":{"position":[[811,4],[937,4],[1068,4],[1195,4],[1285,4],[1429,4]]},"1378":{"position":[[558,4],[684,4],[815,4],[942,4],[1032,4],[1176,4]]},"1379":{"position":[[581,4],[707,4],[838,4],[965,4],[1055,4],[1199,4]]},"1380":{"position":[[1052,4],[1178,4],[1309,4],[1436,4],[1526,4],[1670,4]]},"1381":{"position":[[958,4],[1084,4],[1215,4],[1342,4],[1432,4],[1576,4]]},"1382":{"position":[[3128,7],[3439,4],[3566,4],[3698,4],[3826,4],[3917,4],[4063,4],[5750,4],[6251,4],[8172,4],[8342,4],[8522,4],[8699,4],[9000,4],[9209,4],[9473,4],[9643,4],[9828,4],[10005,4],[10031,4],[10068,4],[11383,4]]},"1383":{"position":[[1677,4],[1804,4],[1936,4],[2064,4],[2155,4],[2301,4],[7302,4],[7449,5],[7493,5]]},"1384":{"position":[[4601,4],[4728,4],[4860,4],[4988,4],[5079,4],[5225,4],[6312,4],[7449,4],[7619,4],[7863,4],[8040,4],[8467,4],[8676,4],[9027,4],[9197,4],[10166,4],[10697,4],[11198,4],[11499,5],[12025,5],[12281,5],[12476,5],[14517,4],[14687,4],[14867,4],[15044,4],[15345,4],[15554,4],[15818,4],[15988,4],[16173,4],[16350,4],[16376,4],[16413,4],[16872,4],[17120,4],[19037,4]]},"1385":{"position":[[2277,4],[2403,4],[2534,4],[2661,4],[2751,4],[2895,4],[3663,4],[4402,4],[4572,4],[4751,4],[4928,4],[5228,4],[5437,4],[5700,4],[5870,4],[6054,4],[6231,4],[6257,4],[6294,4],[6961,4]]},"1386":{"position":[[915,4],[1041,4],[1172,4],[1299,4],[1389,4],[1533,4],[2996,4],[5548,4],[5768,5]]},"1387":{"position":[[4546,4],[4672,4],[4803,4],[4930,4],[5020,4],[5164,4],[5548,4],[5996,4],[7775,4],[7945,4],[8124,4],[8301,4],[8601,4],[8810,4],[9073,4],[9243,4],[9427,4],[9604,4],[9630,4],[9667,4],[10334,4]]},"1388":{"position":[[3739,4],[3866,4],[3998,4],[4126,4],[4217,4],[4363,4],[4659,4],[6619,4],[7120,4],[9876,4]]},"1389":{"position":[[4599,4],[4725,4],[4856,4],[4983,4],[5073,4],[5217,4]]},"1390":{"position":[[851,4],[977,4],[1108,4],[1235,4],[1325,4],[1469,4],[1685,4]]},"1391":{"position":[[804,4],[930,4],[1061,4],[1188,4],[1278,4],[1422,4]]},"1392":{"position":[[954,4],[1080,4],[1211,4],[1338,4],[1428,4],[1572,4],[1780,4]]},"1393":{"position":[[1527,4],[1654,4],[1786,4],[1914,4],[2005,4],[2151,4],[4481,6],[7688,4]]},"1394":{"position":[[974,4],[1100,4],[1231,4],[1358,4],[1448,4],[1592,4]]},"1395":{"position":[[984,4],[1111,4],[1243,4],[1371,4],[1462,4],[1608,4],[1913,4]]},"1396":{"position":[[780,4],[906,4],[1037,4],[1164,4],[1254,4],[1398,4]]},"1397":{"position":[[961,4],[1087,4],[1218,4],[1345,4],[1435,4],[1579,4],[1665,4],[2496,4]]},"1398":{"position":[[1634,4],[1761,4],[1893,4],[2021,4],[2112,4],[2258,4],[3424,4],[3524,4],[3658,5],[6657,4]]},"1399":{"position":[[816,4],[942,4],[1073,4],[1200,4],[1290,4],[1434,4]]},"1400":{"position":[[685,4],[811,4],[942,4],[1069,4],[1159,4],[1303,4]]},"1401":{"position":[[760,4],[886,4],[1017,4],[1144,4],[1234,4],[1378,4]]},"1402":{"position":[[916,4],[1042,4],[1173,4],[1300,4],[1390,4],[1534,4],[1708,4]]},"1403":{"position":[[1507,4],[1634,4],[1766,4],[1894,4],[1985,4],[2131,4],[4571,5],[5862,4],[6402,4],[6549,5],[6593,5]]},"1404":{"position":[[749,4],[875,4],[1006,4],[1133,4],[1223,4],[1367,4]]},"1405":{"position":[[1440,4],[1566,4],[1697,4],[1824,4],[1914,4],[2058,4]]},"1406":{"position":[[656,4],[782,4],[913,4],[1040,4],[1130,4],[1274,4]]},"1407":{"position":[[1481,4],[1607,4],[1738,4],[1865,4],[1955,4],[2099,4]]},"1408":{"position":[[1177,4],[1303,4],[1434,4],[1561,4],[1651,4],[1795,4]]},"1409":{"position":[[711,4],[837,4],[968,4],[1095,4],[1185,4],[1329,4]]},"1410":{"position":[[1874,4],[2001,4],[2133,4],[2261,4],[2352,4],[2498,4],[3264,4]]},"1411":{"position":[[694,4],[820,4],[951,4],[1078,4],[1168,4],[1312,4]]},"1412":{"position":[[1895,4],[2022,4],[2154,4],[2282,4],[2373,4],[2519,4],[3053,4]]},"1413":{"position":[[2078,4],[2204,4],[2335,4],[2462,4],[2552,4],[2696,4]]},"1414":{"position":[[945,4],[1071,4],[1202,4],[1329,4],[1419,4],[1563,4]]},"1415":{"position":[[2927,4],[3053,4],[3184,4],[3311,4],[3401,4],[3545,4],[4284,4],[4454,4],[4639,4],[4848,4]]},"1416":{"position":[[1579,4],[1705,4],[1836,4],[1963,4],[2053,4],[2197,4],[3140,4],[3310,4],[3444,4]]},"1417":{"position":[[1168,4],[1294,4],[1425,4],[1552,4],[1642,4],[1786,4]]},"1418":{"position":[[869,4],[995,4],[1126,4],[1253,4],[1343,4],[1487,4]]},"1419":{"position":[[997,4],[1123,4],[1254,4],[1381,4],[1471,4],[1615,4]]},"1420":{"position":[[1261,4],[1387,4],[1518,4],[1645,4],[1735,4],[1879,4],[2277,4],[2447,4],[2581,4]]},"1421":{"position":[[1236,4],[1362,4],[1493,4],[1620,4],[1710,4],[1854,4]]},"1422":{"position":[[1140,4],[1267,4],[1399,4],[1527,4],[1618,4],[1764,4],[1834,4],[2986,4],[3503,4]]},"1423":{"position":[[1128,4],[1254,4],[1385,4],[1512,4],[1602,4],[1746,4],[2274,4]]},"1424":{"position":[[1253,4],[1379,4],[1510,4],[1637,4],[1727,4],[1871,4]]},"1425":{"position":[[869,4],[995,4],[1126,4],[1253,4],[1343,4],[1487,4]]},"1426":{"position":[[1213,4],[1340,4],[1472,4],[1600,4],[1691,4],[1837,4],[1898,4]]},"1427":{"position":[[2110,4],[2237,4],[2369,4],[2497,4],[2588,4],[2734,4],[3520,6],[3702,4],[4649,4],[6641,4]]},"1428":{"position":[[851,4],[977,4],[1108,4],[1235,4],[1325,4],[1469,4]]},"1429":{"position":[[2774,4],[2901,4],[3033,4],[3161,4],[3252,4],[3398,4],[3483,4],[4556,4]]},"1430":{"position":[[1627,4],[1753,4],[1884,4],[2011,4],[2101,4],[2245,4]]},"1431":{"position":[[971,4],[1097,4],[1228,4],[1355,4],[1445,4],[1589,4]]},"1432":{"position":[[1492,4],[1618,4],[1749,4],[1876,4],[1966,4],[2110,4]]},"1433":{"position":[[1013,4],[1139,4],[1270,4],[1397,4],[1487,4],[1631,4]]},"1434":{"position":[[687,4],[813,4],[944,4],[1071,4],[1161,4],[1305,4]]},"1435":{"position":[[651,4],[777,4],[908,4],[1035,4],[1125,4],[1269,4]]},"1436":{"position":[[667,4],[793,4],[924,4],[1051,4],[1141,4],[1285,4]]},"1437":{"position":[[737,4],[863,4],[994,4],[1121,4],[1211,4],[1355,4]]},"1438":{"position":[[872,4],[999,4],[1131,4],[1259,4],[1350,4],[1496,4]]},"1439":{"position":[[2396,4],[2523,4],[2655,4],[2783,4],[2874,4],[3020,4],[4194,6],[4384,4],[4461,4],[7148,4],[7777,4]]},"1440":{"position":[[2962,4],[3089,4],[3221,4],[3349,4],[3440,4],[3586,4],[4638,4]]},"1441":{"position":[[693,4],[819,4],[950,4],[1077,4],[1167,4],[1311,4]]},"1442":{"position":[[767,4],[894,4],[1026,4],[1154,4],[1245,4],[1391,4],[2756,4]]},"1443":{"position":[[988,4],[1114,4],[1245,4],[1372,4],[1462,4],[1606,4]]},"1444":{"position":[[904,4],[1030,4],[1161,4],[1288,4],[1378,4],[1522,4],[1822,4],[2147,5]]},"1445":{"position":[[593,4],[719,4],[850,4],[977,4],[1067,4],[1211,4]]},"1446":{"position":[[927,4],[1053,4],[1184,4],[1311,4],[1401,4],[1545,4],[1598,4]]},"1447":{"position":[[809,4],[935,4],[1066,4],[1193,4],[1283,4],[1427,4]]},"1448":{"position":[[1244,4],[1370,4],[1501,4],[1628,4],[1718,4],[1862,4],[2223,4],[2393,4]]},"1449":{"position":[[1178,4],[1304,4],[1435,4],[1562,4],[1652,4],[1796,4],[2157,4],[2327,4]]},"1450":{"position":[[1057,4],[1183,4],[1314,4],[1441,4],[1531,4],[1675,4]]},"1451":{"position":[[1057,4],[1183,4],[1314,4],[1441,4],[1531,4],[1675,4]]},"1452":{"position":[[603,4],[729,4],[860,4],[987,4],[1077,4],[1221,4]]},"1453":{"position":[[1189,4],[1315,4],[1446,4],[1573,4],[1663,4],[1807,4]]},"1454":{"position":[[3555,4],[3681,4],[3812,4],[3939,4],[4029,4],[4173,4],[5016,4],[5849,4],[6019,4],[6262,4],[6439,4],[6815,4],[6985,4],[7985,4],[8297,4],[8617,4]]},"1455":{"position":[[1442,4],[1568,4],[1699,4],[1826,4],[1916,4],[2060,4],[2620,4],[2790,4],[3445,6],[3943,6],[4350,6]]},"1456":{"position":[[787,4],[913,4],[1044,4],[1171,4],[1261,4],[1405,4]]},"1457":{"position":[[846,4],[972,4],[1103,4],[1230,4],[1320,4],[1464,4]]},"1458":{"position":[[1381,4],[1507,4],[1638,4],[1765,4],[1855,4],[1999,4]]},"1459":{"position":[[860,4],[986,4],[1117,4],[1244,4],[1334,4],[1478,4]]},"1460":{"position":[[972,4],[1098,4],[1229,4],[1356,4],[1446,4],[1590,4]]},"1461":{"position":[[1188,4],[1315,4],[1447,4],[1575,4],[1666,4],[1812,4]]},"1462":{"position":[[4568,4],[4694,4],[4825,4],[4952,4],[5042,4],[5186,4],[5838,4],[8037,4],[8331,4],[8526,4],[8577,6]]},"1463":{"position":[[694,4],[820,4],[951,4],[1078,4],[1168,4],[1312,4]]},"1464":{"position":[[602,4],[728,4],[859,4],[986,4],[1076,4],[1220,4]]},"1465":{"position":[[1700,4],[1826,4],[1957,4],[2084,4],[2174,4],[2318,4],[2622,4],[3201,4],[3348,4],[3612,4],[3759,4]]},"1466":{"position":[[938,4],[1064,4],[1195,4],[1322,4],[1412,4],[1556,4]]},"1467":{"position":[[5258,4],[5385,4],[5517,4],[5645,4],[5736,4],[5882,4],[9097,4],[9470,4],[9617,4],[9813,4],[10008,4],[10059,6],[11110,5]]},"1468":{"position":[[702,4],[828,4],[959,4],[1086,4],[1176,4],[1320,4]]},"1469":{"position":[[1076,4],[1203,4],[1335,4],[1463,4],[1554,4],[1700,4]]},"1470":{"position":[[3604,4],[3730,4],[3861,4],[3988,4],[4078,4],[4222,4],[4294,4]]},"1471":{"position":[[1939,4],[2066,4],[2198,4],[2326,4],[2417,4],[2563,4],[4494,6]]},"1472":{"position":[[1898,4],[2025,4],[2157,4],[2285,4],[2376,4],[2522,4],[5078,6]]},"1473":{"position":[[2213,4],[2340,4],[2472,4],[2600,4],[2691,4],[2837,4],[4815,6]]},"1474":{"position":[[1603,4],[1729,4],[1860,4],[1987,4],[2077,4],[2221,4]]},"1475":{"position":[[2074,4],[2200,4],[2331,4],[2458,4],[2548,4],[2692,4]]},"1476":{"position":[[679,4],[805,4],[936,4],[1063,4],[1153,4],[1297,4]]},"1477":{"position":[[832,4],[959,4],[1091,4],[1219,4],[1310,4],[1456,4],[1932,4]]},"1478":{"position":[[1323,4],[1450,4],[1582,4],[1710,4],[1801,4],[1947,4],[2005,4]]},"1479":{"position":[[771,4],[897,4],[1028,4],[1155,4],[1245,4],[1389,4]]},"1480":{"position":[[1184,4],[1310,4],[1441,4],[1568,4],[1658,4],[1802,4]]},"1481":{"position":[[1717,4],[1843,4],[1974,4],[2101,4],[2191,4],[2335,4]]},"1482":{"position":[[791,4],[917,4],[1048,4],[1175,4],[1265,4],[1409,4]]},"1483":{"position":[[625,4],[751,4],[882,4],[1009,4],[1099,4],[1243,4]]},"1484":{"position":[[697,4],[823,4],[954,4],[1081,4],[1171,4],[1315,4]]},"1485":{"position":[[957,4],[1083,4],[1214,4],[1341,4],[1431,4],[1575,4],[2031,4],[2531,4],[2786,4],[2963,4],[4247,4]]},"1486":{"position":[[1201,4],[1327,4],[1458,4],[1585,4],[1675,4],[1819,4]]},"1487":{"position":[[897,4],[1024,4],[1156,4],[1284,4],[1375,4],[1521,4],[1589,4]]}},"keywords":{}}],["list("hello",{"_index":2753,"title":{},"content":{"590":{"position":[[528,17]]},"592":{"position":[[291,17]]}},"keywords":{}}],["list("str",{"_index":3241,"title":{},"content":{"652":{"position":[[306,18]]}},"keywords":{}}],["list((1,2,3",{"_index":3240,"title":{},"content":{"652":{"position":[[279,13]]}},"keywords":{}}],["list(a",{"_index":3237,"title":{},"content":{"652":{"position":[[4,7]]}},"keywords":{}}],["list(range(10",{"_index":3297,"title":{},"content":{"662":{"position":[[797,15],[929,14]]}},"keywords":{}}],["list(range(3",{"_index":3298,"title":{},"content":{"662":{"position":[[847,13],[891,13]]}},"keywords":{}}],["list(set3.travers",{"_index":5596,"title":{},"content":{"1087":{"position":[[685,21]]}},"keywords":{}}],["list(set3.traverse(ord",{"_index":5603,"title":{},"content":{"1088":{"position":[[1032,27]]}},"keywords":{}}],["list(x",{"_index":3239,"title":{},"content":{"652":{"position":[[136,7]]}},"keywords":{}}],["list.append",{"_index":2560,"title":{"563":{"position":[[0,12]]}},"content":{"563":{"position":[[35,12]]},"890":{"position":[[789,12],[1953,12]]}},"keywords":{}}],["list.append(el",{"_index":2561,"title":{},"content":{"563":{"position":[[4,15]]}},"keywords":{}}],["list.append(x",{"_index":4201,"title":{},"content":{"890":{"position":[[415,14],[895,14]]}},"keywords":{}}],["list.appendmodul",{"_index":4202,"title":{},"content":{"890":{"position":[[530,17]]}},"keywords":{}}],["list.clear",{"_index":2567,"title":{"564":{"position":[[0,11]]}},"content":{"564":{"position":[[4,12],[29,11]]}},"keywords":{}}],["list.extend",{"_index":2569,"title":{"565":{"position":[[0,12]]}},"content":{"565":{"position":[[55,12]]}},"keywords":{}}],["list.extend(oth",{"_index":2570,"title":{},"content":{"565":{"position":[[4,18]]}},"keywords":{}}],["list.index",{"_index":2575,"title":{"566":{"position":[[0,11]]}},"content":{"566":{"position":[[4,11],[89,11]]}},"keywords":{}}],["list.insert",{"_index":2587,"title":{"567":{"position":[[0,12]]}},"content":{"567":{"position":[[47,12]]}},"keywords":{}}],["list.insert(index",{"_index":2588,"title":{},"content":{"567":{"position":[[4,18]]}},"keywords":{}}],["list.pop",{"_index":2595,"title":{"568":{"position":[[0,9]]}},"content":{"568":{"position":[[33,9]]}},"keywords":{}}],["list.pop(index",{"_index":2596,"title":{},"content":{"568":{"position":[[4,15]]}},"keywords":{}}],["list.remov",{"_index":2600,"title":{"569":{"position":[[0,12]]}},"content":{"569":{"position":[[39,12]]}},"keywords":{}}],["list.remove(needl",{"_index":2601,"title":{},"content":{"569":{"position":[[4,19]]}},"keywords":{}}],["list/tupl",{"_index":1275,"title":{},"content":{"99":{"position":[[804,11]]},"231":{"position":[[804,11]]}},"keywords":{}}],["list[("function"",{"_index":1020,"title":{},"content":{"82":{"position":[[33,27]]},"214":{"position":[[33,27]]}},"keywords":{}}],["list[(buck_regex",{"_index":2136,"title":{},"content":{"405":{"position":[[799,16]]},"784":{"position":[[799,16]]}},"keywords":{}}],["list[(dict[str",{"_index":8156,"title":{},"content":{"1454":{"position":[[2484,15],[2591,15],[2689,15],[2780,15],[2849,15],[2917,15],[2979,15],[3037,15],[3099,15],[3165,15]]},"1465":{"position":[[1209,15],[1288,15]]},"1467":{"position":[[4749,15],[4828,15]]}},"keywords":{}}],["list[(int",{"_index":3137,"title":{},"content":{"639":{"position":[[60,10]]},"1466":{"position":[[532,10]]},"1467":{"position":[[3068,10]]}},"keywords":{}}],["list[(non",{"_index":6740,"title":{},"content":{"1362":{"position":[[2829,10]]},"1364":{"position":[[2840,10]]},"1367":{"position":[[4129,10]]},"1373":{"position":[[1741,10]]},"1382":{"position":[[1855,10]]},"1384":{"position":[[2579,10]]},"1387":{"position":[[2553,10]]},"1388":{"position":[[2040,10]]},"1415":{"position":[[1457,10]]},"1416":{"position":[[856,10]]},"1462":{"position":[[2311,10]]},"1467":{"position":[[2486,10]]},"1471":{"position":[[1153,10]]},"1473":{"position":[[1205,10]]}},"keywords":{}}],["list[(str",{"_index":6711,"title":{},"content":{"1362":{"position":[[1380,10],[1531,10],[1586,10],[1663,10],[1729,10],[1837,10],[2514,10],[2587,10],[2818,10],[3249,10],[3292,10],[3338,10],[3406,10],[3463,10],[3506,10],[3615,10]]},"1363":{"position":[[2176,10]]},"1364":{"position":[[1362,10],[1513,10],[1568,10],[1645,10],[1711,10],[1819,10],[2525,10],[2598,10],[2829,10],[3214,10],[3257,10],[3303,10],[3371,10],[3428,10],[3471,10],[3580,10]]},"1367":{"position":[[2510,10],[2661,10],[2716,10],[2793,10],[2859,10],[2967,10],[3814,10],[3887,10],[4118,10],[4496,10],[4539,10],[4585,10],[4653,10],[4710,10],[4753,10],[4862,10]]},"1373":{"position":[[1436,10],[1509,10],[1730,10],[2036,10],[2079,10],[2125,10],[2193,10],[2250,10],[2293,10],[2402,10]]},"1382":{"position":[[1475,10],[1548,10],[1844,10],[2239,10],[2282,10],[2328,10],[2396,10],[2453,10],[2496,10],[2605,10]]},"1384":{"position":[[1125,10],[1327,10],[1382,10],[1459,10],[1525,10],[1633,10],[2231,10],[2304,10],[2568,10],[2938,10],[2981,10],[3027,10],[3095,10],[3152,10],[3195,10],[3304,10]]},"1385":{"position":[[931,10],[1004,10],[1226,10],[1269,10],[1315,10],[1383,10],[1440,10],[1483,10],[1592,10]]},"1387":{"position":[[1204,10],[1406,10],[1461,10],[1538,10],[1604,10],[1712,10],[2281,10],[2354,10],[2542,10],[2905,10],[2948,10],[2994,10],[3062,10],[3119,10],[3162,10],[3271,10]]},"1388":{"position":[[1660,10],[1733,10],[2029,10],[2424,10],[2467,10],[2513,10],[2581,10],[2638,10],[2681,10],[2790,10]]},"1405":{"position":[[957,10]]},"1407":{"position":[[984,10]]},"1415":{"position":[[1152,10],[1225,10],[1446,10],[1692,10],[1735,10],[1781,10],[1849,10],[1906,10],[1949,10],[2058,10]]},"1416":{"position":[[641,10],[845,10],[1138,10],[1189,10]]},"1417":{"position":[[797,10],[848,10]]},"1418":{"position":[[646,10]]},"1419":{"position":[[736,10]]},"1420":{"position":[[586,10],[818,10],[869,10]]},"1431":{"position":[[512,10]]},"1432":{"position":[[599,10]]},"1443":{"position":[[622,10]]},"1444":{"position":[[533,10]]},"1448":{"position":[[716,10],[759,10],[810,10]]},"1449":{"position":[[709,10],[752,10]]},"1450":{"position":[[706,10],[757,10]]},"1451":{"position":[[706,10],[757,10]]},"1453":{"position":[[603,10]]},"1454":{"position":[[727,10],[878,10],[933,10],[1010,10],[1076,10],[1184,10],[1720,10],[1776,10],[1826,10],[1876,10],[1930,10],[2516,10],[2711,10]]},"1455":{"position":[[535,10]]},"1460":{"position":[[749,10]]},"1462":{"position":[[1931,10],[2004,10],[2300,10],[3042,10],[3085,10],[3131,10],[3199,10],[3250,10],[3307,10],[3350,10],[3459,10]]},"1465":{"position":[[805,10],[853,10],[913,10]]},"1467":{"position":[[2106,10],[2179,10],[2475,10],[3246,10],[3289,10],[3335,10],[3403,10],[3454,10],[3511,10],[3559,10],[3619,10],[3728,10]]},"1471":{"position":[[938,10],[1142,10],[1421,10]]},"1472":{"position":[[880,10],[1035,10],[1284,10]]},"1473":{"position":[[969,10],[1194,10],[1473,10]]},"1485":{"position":[[538,10]]}},"keywords":{}}],["list[(typing.ani",{"_index":2510,"title":{},"content":{"555":{"position":[[23,17]]}},"keywords":{}}],["list[actionerrorloc",{"_index":818,"title":{},"content":{"30":{"position":[[33,25]]},"41":{"position":[[98,25]]},"174":{"position":[[98,25]]},"186":{"position":[[33,25]]}},"keywords":{}}],["list[actionsuberror",{"_index":5744,"title":{},"content":{"1112":{"position":[[4019,21]]}},"keywords":{}}],["list[artifact",{"_index":905,"title":{},"content":{"52":{"position":[[50,15]]},"92":{"position":[[40,14],[87,14]]},"98":{"position":[[451,15]]},"199":{"position":[[50,15]]},"224":{"position":[[40,14],[87,14]]},"230":{"position":[[451,15]]},"285":{"position":[[45,14]]},"345":{"position":[[317,14]]},"368":{"position":[[81,14],[119,13],[2924,14],[3083,13]]},"747":{"position":[[81,14],[119,13],[2924,14],[3083,13]]}},"keywords":{}}],["list[bool",{"_index":5586,"title":{},"content":{"1086":{"position":[[483,11]]}},"keywords":{}}],["list[bxl.actionquerynod",{"_index":1465,"title":{},"content":{"236":{"position":[[225,24]]},"237":{"position":[[225,24]]},"238":{"position":[[247,24]]},"239":{"position":[[219,24]]}},"keywords":{}}],["list[bxl.configuredtargetnod",{"_index":1607,"title":{},"content":{"294":{"position":[[189,29]]},"297":{"position":[[186,29]]},"301":{"position":[[173,29]]},"309":{"position":[[170,29]]},"324":{"position":[[167,29],[408,29]]},"325":{"position":[[195,29]]},"326":{"position":[[205,29]]},"327":{"position":[[171,29]]},"328":{"position":[[167,29]]},"330":{"position":[[180,29]]},"331":{"position":[[168,29]]},"332":{"position":[[178,29]]},"333":{"position":[[196,29]]},"334":{"position":[[228,29]]},"335":{"position":[[168,29],[411,29]]},"336":{"position":[[167,29],[408,29]]},"337":{"position":[[169,29]]},"338":{"position":[[198,29]]},"409":{"position":[[23,30]]},"788":{"position":[[23,30]]},"859":{"position":[[187,31]]}},"keywords":{}}],["list[bxl.unconfiguredtargetnod",{"_index":1629,"title":{},"content":{"298":{"position":[[131,31],[311,31],[531,31]]},"310":{"position":[[131,31]]},"311":{"position":[[109,31]]},"320":{"position":[[147,31]]},"340":{"position":[[103,31]]},"449":{"position":[[23,32]]},"465":{"position":[[101,31],[223,31]]},"466":{"position":[[129,31]]},"467":{"position":[[139,31]]},"468":{"position":[[105,31]]},"469":{"position":[[101,31]]},"471":{"position":[[114,31]]},"472":{"position":[[102,31]]},"473":{"position":[[112,31]]},"475":{"position":[[102,31],[226,31]]},"476":{"position":[[101,31],[223,31]]},"478":{"position":[[103,31]]},"828":{"position":[[23,32]]},"859":{"position":[[86,33]]}},"keywords":{}}],["list[dict[str",{"_index":1189,"title":{},"content":{"94":{"position":[[1136,14]]},"226":{"position":[[1136,14]]},"362":{"position":[[848,14]]},"741":{"position":[[848,14]]},"1360":{"position":[[1189,14]]},"1383":{"position":[[1067,14]]},"1388":{"position":[[3050,14]]},"1398":{"position":[[960,14]]},"1403":{"position":[[1092,14]]},"1410":{"position":[[1242,14]]},"1424":{"position":[[948,14]]},"1429":{"position":[[1620,14]]},"1432":{"position":[[1086,14]]},"1440":{"position":[[1821,14]]},"1466":{"position":[[633,14]]},"1467":{"position":[[4105,14]]},"1470":{"position":[[2142,14]]},"1473":{"position":[[1579,14]]},"1478":{"position":[[738,14]]}},"keywords":{}}],["list[error",{"_index":5720,"title":{},"content":{"1112":{"position":[[1392,12]]}},"keywords":{}}],["list[executionplatforminfo",{"_index":2004,"title":{},"content":{"373":{"position":[[53,28],[284,27]]},"752":{"position":[[53,28],[284,27]]}},"keywords":{}}],["list[int",{"_index":4367,"title":{},"content":{"900":{"position":[[686,9]]}},"keywords":{}}],["list[non",{"_index":6741,"title":{},"content":{"1362":{"position":[[2848,9]]},"1364":{"position":[[2859,9]]},"1367":{"position":[[4148,9]]},"1373":{"position":[[1760,9]]},"1382":{"position":[[1874,9]]},"1384":{"position":[[2598,9]]},"1387":{"position":[[2572,9]]},"1388":{"position":[[2059,9]]},"1415":{"position":[[1476,9]]},"1416":{"position":[[875,9]]},"1462":{"position":[[2330,9]]},"1467":{"position":[[2505,9]]},"1471":{"position":[[1172,9]]},"1473":{"position":[[1224,9]]}},"keywords":{}}],["list[output_artifact",{"_index":963,"title":{},"content":{"68":{"position":[[18,21]]},"92":{"position":[[139,21]]},"224":{"position":[[139,21]]},"456":{"position":[[18,21]]}},"keywords":{}}],["list[path",{"_index":5723,"title":{},"content":{"1112":{"position":[[1675,12],[2351,12]]}},"keywords":{}}],["list[provid",{"_index":2344,"title":{},"content":{"437":{"position":[[352,15]]},"816":{"position":[[352,15]]},"1044":{"position":[[3176,15]]},"1102":{"position":[[540,15]]},"1103":{"position":[[182,15]]}},"keywords":{}}],["list[str",{"_index":924,"title":{},"content":{"63":{"position":[[67,9]]},"114":{"position":[[25,9]]},"133":{"position":[[26,9]]},"159":{"position":[[35,9]]},"166":{"position":[[56,9]]},"240":{"position":[[72,9]]},"242":{"position":[[47,9]]},"256":{"position":[[26,9]]},"329":{"position":[[72,9],[114,9]]},"334":{"position":[[53,9]]},"374":{"position":[[936,9],[1014,9]]},"418":{"position":[[19,9],[60,9],[101,9]]},"424":{"position":[[51,9],[98,9]]},"427":{"position":[[50,9]]},"447":{"position":[[71,9]]},"470":{"position":[[72,9]]},"474":{"position":[[53,9]]},"477":{"position":[[68,9]]},"492":{"position":[[67,9]]},"526":{"position":[[25,9]]},"543":{"position":[[35,9]]},"548":{"position":[[56,9]]},"614":{"position":[[82,9]]},"616":{"position":[[81,9]]},"617":{"position":[[55,9]]},"637":{"position":[[20,9]]},"753":{"position":[[936,9],[1014,9]]},"797":{"position":[[19,9],[60,9],[101,9]]},"803":{"position":[[51,9],[98,9]]},"806":{"position":[[50,9]]},"826":{"position":[[71,9]]},"1064":{"position":[[1604,9],[1651,9]]},"1124":{"position":[[137,10],[224,10]]},"1348":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[555,10],[679,9],[723,9],[761,9],[827,9],[930,9],[958,9],[1018,9],[1080,9],[1112,9],[1152,9],[1181,9],[1351,9],[1402,9],[1708,10],[1771,9],[1829,10],[1953,9],[2131,9],[2199,9],[2230,9],[2336,9],[2397,9],[2504,9],[2525,9]]},"1349":{"position":[[107,9],[139,9],[176,9],[203,9],[231,9],[284,9],[438,9],[491,10],[557,10],[613,9],[673,9],[696,9],[721,9],[743,9]]},"1350":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[721,9],[815,9],[912,9],[965,10],[1031,10],[1125,9],[1191,9],[1341,9],[1366,9],[1394,9],[1454,9],[1707,9],[1748,9],[1799,9],[2020,9],[2045,9],[2103,9],[2523,10],[2586,9],[2644,10],[2768,9],[2868,9],[3033,9],[3077,10],[3257,9],[3294,9],[3361,9],[3396,9],[3459,9],[3753,9]]},"1351":{"position":[[105,9],[137,9],[174,9],[201,9],[229,9],[282,9],[504,9],[566,9],[591,9],[632,9]]},"1352":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[721,9],[815,9],[912,9],[965,10],[1031,10],[1125,9],[1191,9],[1365,9],[1393,9],[1453,9],[1706,9],[1747,9],[1798,9],[2019,9],[2044,9],[2102,9],[2522,10],[2585,9],[2643,10],[2767,9],[2867,9],[3032,9],[3076,10],[3256,9],[3293,9],[3360,9],[3395,9],[3458,9],[3752,9]]},"1353":{"position":[[112,9],[144,9],[181,9],[208,9],[236,9],[289,9],[627,9],[655,9],[715,9],[854,9],[879,9],[1031,10],[1228,9],[1265,9]]},"1354":{"position":[[113,9],[145,9],[182,9],[209,9],[237,9],[290,9],[590,9],[895,9],[920,9]]},"1355":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[612,10],[695,9],[781,9],[825,9],[863,9],[918,9],[978,9],[1008,9],[1047,9],[1079,9],[1119,9],[1148,9],[1352,9],[1403,9],[1604,9],[1667,9],[1735,9],[1841,9],[1902,9],[2009,9],[2030,9],[2120,9]]},"1356":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[400,9],[460,9],[483,9],[508,9]]},"1357":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9]]},"1358":{"position":[[105,9],[137,9],[174,9],[201,9],[229,9],[282,9],[562,9],[622,9],[651,9],[730,9],[755,9]]},"1359":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[423,9],[519,9],[579,9],[637,9],[662,9]]},"1360":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[678,9],[753,9],[908,9],[933,9],[1117,10],[1221,9]]},"1361":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[400,9],[460,9],[483,9],[538,9]]},"1362":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[468,10],[610,11],[654,9],[779,9],[804,9],[962,9],[1230,9],[1295,9],[1391,12],[1453,10],[1492,9],[1542,11],[1597,9],[1674,11],[1740,11],[1785,9],[1848,11],[1894,9],[1928,9],[1964,9],[2078,9],[2172,9],[2315,9],[2412,9],[2458,10],[2525,12],[2598,12],[2651,10],[2678,9],[2703,9],[2884,10],[3101,9],[3130,9],[3260,11],[3303,11],[3349,9],[3417,11],[3474,11],[3517,8],[3534,13],[3572,9],[3626,11],[3793,9],[3883,9],[3933,9],[3961,9],[4084,9],[4168,8],[4185,11],[4410,9],[4685,9]]},"1363":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[814,10],[1471,9],[1562,9],[1704,9],[1863,9],[2084,9],[2109,9],[2720,9]]},"1364":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[521,10],[663,11],[796,9],[821,9],[979,9],[1212,9],[1277,9],[1373,12],[1435,10],[1474,9],[1524,11],[1579,9],[1656,11],[1722,11],[1767,9],[1830,11],[1876,9],[1910,9],[1946,9],[2060,9],[2183,9],[2326,9],[2423,9],[2469,10],[2536,12],[2609,12],[2662,10],[2689,9],[2714,9],[2895,10],[3066,9],[3095,9],[3225,11],[3268,11],[3314,9],[3382,11],[3439,11],[3482,8],[3499,13],[3537,9],[3591,11],[3723,9],[3811,9],[3871,9],[3921,9],[3949,9],[4028,9],[4153,8],[4170,11],[4477,9],[4782,9]]},"1365":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[452,9],[562,9],[587,9],[703,9],[742,8],[759,11]]},"1366":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[430,9],[483,9],[512,9],[601,9],[623,9],[646,9],[671,9],[712,10],[749,9],[816,9]]},"1367":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[772,10],[1556,11],[1713,9],[1810,9],[1835,9],[1993,9],[2360,9],[2425,9],[2521,12],[2583,10],[2622,9],[2672,11],[2727,9],[2804,11],[2870,11],[2915,9],[2978,11],[3024,9],[3074,9],[3110,9],[3269,9],[3363,9],[3506,9],[3712,9],[3758,10],[3825,12],[3898,12],[3951,10],[3978,9],[4003,9],[4184,10],[4348,9],[4377,9],[4507,11],[4550,11],[4596,9],[4664,11],[4721,11],[4764,8],[4781,13],[4819,9],[4873,11],[5005,9],[5140,9],[5190,9],[5218,9],[5464,9],[5663,8],[5680,11],[5951,9],[6506,9]]},"1368":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[635,9],[833,9],[889,9],[928,9]]},"1369":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[352,9],[407,9],[469,9],[494,9]]},"1370":{"position":[[111,9],[143,9],[180,9],[207,9],[235,9],[288,9],[414,10],[513,9]]},"1371":{"position":[[102,9],[134,9],[171,9],[198,9],[226,9],[279,9]]},"1372":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[1974,9]]},"1373":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[520,9],[622,9],[653,9],[678,9],[836,9],[979,9],[1062,9],[1097,9],[1131,9],[1155,9],[1213,9],[1311,9],[1334,9],[1380,10],[1447,12],[1520,12],[1573,10],[1600,9],[1625,9],[1796,10],[1907,9],[1936,9],[2047,11],[2090,11],[2136,9],[2204,11],[2261,11],[2304,8],[2321,13],[2359,9],[2413,11],[2552,9],[2580,9],[2601,8],[2618,11],[2711,9]]},"1374":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[384,9],[439,9],[547,9],[572,9],[632,9]]},"1375":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[378,9]]},"1376":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9]]},"1377":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[426,9],[521,9],[546,9]]},"1378":{"position":[[103,9],[135,9],[172,9],[199,9],[227,9],[280,9]]},"1379":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9]]},"1380":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[370,9],[432,9],[457,9]]},"1381":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[403,9],[428,9],[488,9],[550,9],[575,9],[627,9]]},"1382":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[490,9],[517,9],[608,9],[645,9],[670,9],[726,9],[884,9],[1194,9],[1252,9],[1350,9],[1373,9],[1419,10],[1486,12],[1559,12],[1612,10],[1639,9],[1664,9],[1800,9],[1910,10],[2170,9],[2199,9],[2250,11],[2293,11],[2339,9],[2407,11],[2464,11],[2507,8],[2524,13],[2562,9],[2616,11],[2755,9],[2783,9],[2809,9],[2847,8],[2864,11],[2957,9]]},"1383":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[606,9],[681,9],[786,9],[811,9],[995,10],[1099,9]]},"1384":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[586,9],[611,9],[667,9],[825,9],[975,9],[1040,9],[1136,12],[1198,10],[1237,9],[1338,11],[1393,9],[1470,11],[1536,11],[1581,9],[1644,11],[1690,9],[1724,9],[1760,9],[1874,9],[1961,9],[2059,9],[2129,9],[2175,10],[2242,12],[2315,12],[2368,10],[2395,9],[2420,9],[2634,10],[2805,9],[2834,9],[2869,9],[2949,11],[2992,11],[3038,9],[3106,11],[3163,11],[3206,8],[3223,13],[3261,9],[3315,11],[3482,9],[3525,9],[3575,9],[3603,9],[3680,9],[3725,9],[3770,8],[3787,11],[4260,9]]},"1385":{"position":[[102,9],[134,9],[171,9],[198,9],[226,9],[279,9],[407,9],[432,9],[590,9],[650,9],[708,9],[806,9],[829,9],[875,10],[942,12],[1015,12],[1068,10],[1095,9],[1120,9],[1157,9],[1186,9],[1237,11],[1280,11],[1326,9],[1394,11],[1451,11],[1494,8],[1511,13],[1549,9],[1603,11],[1707,9],[1735,9],[1756,8],[1773,11]]},"1386":{"position":[[107,9],[139,9],[176,9],[203,9],[231,9],[284,9],[377,9],[437,9],[460,9],[485,9]]},"1387":{"position":[[105,9],[137,9],[174,9],[201,9],[229,9],[282,9],[693,9],[718,9],[774,9],[932,9],[1054,9],[1119,9],[1215,12],[1277,10],[1316,9],[1417,11],[1472,9],[1549,11],[1615,11],[1660,9],[1723,11],[1769,9],[1803,9],[1839,9],[1953,9],[2011,9],[2109,9],[2179,9],[2225,10],[2292,12],[2365,12],[2418,10],[2445,9],[2470,9],[2608,10],[2772,9],[2801,9],[2836,9],[2916,11],[2959,11],[3005,9],[3073,11],[3130,11],[3173,8],[3190,13],[3228,9],[3282,11],[3414,9],[3457,9],[3507,9],[3535,9],[3612,9],[3657,9],[3702,8],[3719,11],[4154,9]]},"1388":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[468,9],[559,9],[623,9],[650,9],[741,9],[778,9],[803,9],[859,9],[1017,9],[1379,9],[1437,9],[1535,9],[1558,9],[1604,10],[1671,12],[1744,12],[1797,10],[1824,9],[1849,9],[1985,9],[2095,10],[2355,9],[2384,9],[2435,11],[2478,11],[2524,9],[2592,11],[2649,11],[2692,8],[2709,13],[2747,9],[2801,11],[2940,9],[2968,9],[3160,9],[3236,8],[3253,11],[3424,9]]},"1389":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[555,9],[678,9],[786,9],[873,9],[958,9],[1221,9],[1291,9],[1461,9],[1486,9],[1585,9],[1694,9],[1765,9],[1845,9],[1949,9],[2023,9],[2233,9],[2401,9],[2466,9],[2540,9],[2563,9],[2588,9],[2745,9],[3174,9],[3314,9],[3377,9],[3449,9],[3604,9],[3648,9],[3730,9],[3980,9],[4063,9],[4114,9],[4155,9],[4201,9]]},"1390":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[363,9],[423,9],[446,9],[471,9],[500,9],[521,9]]},"1391":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[364,9],[424,9],[447,9],[472,9],[501,9],[522,9]]},"1392":{"position":[[91,9],[123,9],[160,9],[187,9],[215,9],[268,9],[361,9],[421,9],[444,9],[469,9],[498,9],[519,9]]},"1393":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[385,9],[469,9],[533,9],[564,9],[620,10],[682,9],[707,9],[730,9],[763,10],[858,9],[888,9],[915,9],[936,9]]},"1394":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[418,9],[443,9],[466,9]]},"1395":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[408,9],[433,9],[454,10],[475,9],[522,9],[612,9]]},"1396":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[374,9],[432,9]]},"1397":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[364,8],[428,9],[475,9],[514,9],[584,10]]},"1398":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[541,9],[636,9],[661,9],[682,9],[738,9],[770,9],[793,9],[878,9],[1015,9],[1045,9],[1072,9]]},"1399":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[366,9],[428,9],[453,9]]},"1400":{"position":[[105,9],[137,9],[174,9],[201,9],[229,9],[282,9],[388,9],[450,9],[475,9]]},"1401":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[364,9],[442,9],[467,9],[488,9]]},"1402":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[424,9],[479,9],[539,9],[590,9],[613,9],[638,9]]},"1403":{"position":[[92,9],[124,9],[161,9],[188,9],[216,9],[269,9],[577,9],[652,9],[811,9],[836,9],[1020,10],[1124,9]]},"1404":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[390,9],[452,9],[477,9]]},"1405":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[434,9],[482,9],[573,9],[598,9],[658,9],[722,9],[745,9],[770,9],[854,9],[968,11],[1012,9],[1033,9],[1054,9]]},"1406":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[425,9],[446,9]]},"1407":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[444,9],[492,9],[600,9],[625,9],[685,9],[749,9],[772,9],[797,9],[881,9],[995,11],[1039,9],[1060,9],[1081,9]]},"1408":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[501,9],[533,9],[594,9],[619,9],[679,9],[735,9],[758,9],[783,9],[864,9]]},"1409":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[471,9]]},"1410":{"position":[[92,9],[124,9],[161,9],[188,9],[216,9],[269,9],[534,9],[605,9],[696,9],[721,9],[812,9],[901,9],[924,9],[974,9],[1058,9],[1352,9],[1451,9],[1472,9]]},"1411":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[369,9],[431,9],[456,9]]},"1412":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[367,10],[410,9],[454,9],[492,9],[547,9],[607,9],[637,9],[676,9],[708,9],[748,9],[824,9],[849,9],[1024,9],[1087,9],[1118,9],[1184,9],[1245,9],[1352,9],[1373,9]]},"1413":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[364,10],[407,9],[451,9],[489,9],[544,9],[582,9],[680,9],[763,9],[802,9],[834,9],[874,9],[970,9],[995,9],[1170,9],[1233,9],[1264,9],[1330,9],[1422,9],[1529,9],[1550,9],[1868,9]]},"1414":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[415,9],[475,9],[534,9],[557,9],[582,9],[634,9],[658,9],[735,9]]},"1415":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[374,9],[405,9],[447,9],[512,9],[670,9],[840,9],[929,9],[1027,9],[1050,9],[1096,10],[1163,12],[1236,12],[1289,10],[1316,9],[1341,9],[1512,10],[1623,9],[1652,9],[1703,11],[1746,11],[1792,9],[1860,11],[1917,11],[1960,8],[1977,13],[2015,9],[2069,11],[2208,9],[2236,9],[2257,8],[2274,11],[2410,9]]},"1416":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[457,9],[482,9],[542,9],[652,11],[688,9],[711,9],[736,9],[801,9],[911,10],[1060,9],[1149,11],[1200,11],[1223,9],[1270,9]]},"1417":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[427,9],[452,9],[512,9],[607,9],[687,9],[712,9],[741,9],[808,11],[859,11],[890,9],[911,9],[958,9]]},"1418":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[424,9],[484,9],[542,9],[565,9],[590,9],[657,11]]},"1419":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[401,9],[426,9],[486,9],[553,9],[586,9],[609,9],[634,9],[680,9],[747,11],[770,9]]},"1420":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[430,9],[455,9],[515,9],[597,11],[633,9],[663,9],[686,9],[711,9],[762,9],[829,11],[880,11],[931,9],[978,9]]},"1421":{"position":[[109,9],[141,9],[178,9],[205,9],[233,9],[286,9],[379,9],[411,9],[480,9],[548,9],[586,9],[629,9],[670,9],[693,9],[718,9],[759,9],[791,9],[828,9],[889,9]]},"1422":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[367,9],[431,9],[474,9],[499,9],[624,9],[667,9],[696,9]]},"1423":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[364,9],[455,9],[480,9],[568,9],[597,9]]},"1424":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[583,9],[727,9],[752,9],[980,9]]},"1425":{"position":[[110,9],[142,9],[179,9],[206,9],[234,9],[287,9],[415,9],[475,9],[561,9],[586,9]]},"1426":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[461,9],[516,9],[614,9],[716,9],[739,9],[764,9]]},"1427":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[552,10],[632,9],[676,9],[714,9],[769,9],[829,9],[859,9],[898,9],[930,9],[1041,9],[1066,9],[1241,9],[1304,9],[1335,9],[1401,9],[1462,9],[1569,9],[1590,9],[1646,9]]},"1428":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[401,9],[461,9],[547,9],[572,9]]},"1429":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[587,10],[667,9],[711,9],[749,9],[804,9],[842,9],[940,9],[1023,9],[1062,9],[1094,9],[1199,9],[1275,9],[1300,9],[1475,9],[1538,9],[1735,9],[1801,9],[1917,9],[2024,9],[2068,9],[2467,9]]},"1430":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[369,10],[449,9],[493,9],[531,9],[586,9],[646,9],[676,9],[715,9],[747,9],[823,9],[848,9],[1044,9],[1107,9],[1138,9],[1204,9],[1265,9],[1372,9],[1393,9]]},"1431":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[544,9],[604,9],[632,10],[723,9],[748,9]]},"1432":{"position":[[102,9],[134,9],[171,9],[198,9],[226,9],[279,9],[705,9],[865,9],[890,9],[1226,9]]},"1433":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[471,9],[510,9],[592,9],[652,9],[731,9],[756,9],[777,8]]},"1434":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[390,9],[417,9],[445,9],[477,9]]},"1435":{"position":[[102,9],[134,9],[171,9],[198,9],[226,9],[279,9],[417,9]]},"1436":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[391,9],[436,9],[457,9]]},"1437":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[419,9],[440,9],[467,9],[495,9],[527,9]]},"1438":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[363,9],[423,9],[446,9],[471,9]]},"1439":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[582,10],[706,9],[750,9],[788,9],[843,9],[903,9],[933,9],[972,9],[1004,9],[1044,9],[1073,9],[1277,9],[1302,9],[1477,9],[1540,9],[1571,9],[1637,9],[1698,9],[1805,9],[1826,9],[1916,9]]},"1440":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[617,10],[741,9],[785,9],[823,9],[878,9],[916,9],[1014,9],[1097,9],[1136,9],[1168,9],[1208,9],[1257,9],[1330,9],[1476,9],[1501,9],[1676,9],[1739,9],[1936,9],[2002,9],[2094,9],[2201,9],[2222,9],[2655,9]]},"1441":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[371,9],[433,9],[458,9]]},"1442":{"position":[[102,9],[134,9],[171,9],[198,9],[226,9],[279,9],[393,9],[442,8],[459,11]]},"1443":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[365,9],[425,9],[448,9],[473,9],[633,11]]},"1444":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[395,9],[455,9],[478,9],[503,9],[544,11],[567,9]]},"1445":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9]]},"1446":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[366,9],[426,9],[448,9],[491,9],[516,9],[537,9]]},"1447":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[368,9],[479,9],[504,9],[599,9]]},"1448":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[457,9],[482,9],[542,9],[565,9],[590,9],[619,9],[650,9],[727,11],[770,11],[821,11],[851,9]]},"1449":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[451,9],[476,9],[536,9],[559,9],[584,9],[613,9],[669,9],[720,11],[763,11],[793,9]]},"1450":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[457,9],[482,9],[542,9],[565,9],[590,9],[619,9],[650,9],[717,11],[768,11],[798,9]]},"1451":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[457,9],[482,9],[542,9],[565,9],[590,9],[619,9],[650,9],[717,11],[768,11],[798,9]]},"1452":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[372,9],[393,9]]},"1453":{"position":[[109,9],[141,9],[178,9],[205,9],[233,9],[286,9],[458,9],[518,9],[556,9],[614,11],[670,9],[693,9],[719,9],[744,9]]},"1454":{"position":[[105,9],[137,9],[174,9],[201,9],[229,9],[282,9],[487,9],[547,9],[577,9],[642,9],[738,12],[800,10],[839,9],[889,11],[944,9],[1021,11],[1087,11],[1132,9],[1195,11],[1241,9],[1318,9],[1353,9],[1508,9],[1534,9],[1559,9],[1641,9],[1676,9],[1731,11],[1971,9],[2062,9],[2112,9],[2140,9],[2527,14],[2623,12],[2722,13],[2802,11],[2871,11]]},"1455":{"position":[[111,9],[143,9],[180,9],[207,9],[235,9],[288,9],[406,9],[466,9],[496,9],[546,11],[592,9],[654,9],[724,9],[749,9],[852,9],[880,9],[908,9],[940,9],[972,9]]},"1456":{"position":[[108,9],[140,9],[177,9],[204,9],[232,9],[285,9],[393,9],[455,9],[480,9]]},"1457":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[374,9],[434,9],[464,9],[487,9],[526,9]]},"1458":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[540,9],[600,9],[629,9],[705,9],[730,9]]},"1459":{"position":[[108,9],[140,9],[177,9],[204,9],[232,9],[285,9],[378,9],[438,9],[508,9],[533,9]]},"1460":{"position":[[107,9],[139,9],[176,9],[203,9],[231,9],[284,9],[384,9],[462,9],[487,9],[547,9],[599,9],[661,9],[691,9],[760,11]]},"1461":{"position":[[108,9],[140,9],[177,9],[204,9],[232,9],[285,9],[544,9],[583,9],[643,9],[776,9],[801,9]]},"1462":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[671,9],[698,9],[785,9],[842,9],[879,9],[904,9],[960,9],[1215,9],[1421,9],[1615,9],[1673,9],[1771,9],[1806,9],[1829,9],[1875,10],[1942,12],[2015,12],[2068,10],[2095,9],[2120,9],[2256,9],[2366,10],[2619,9],[2648,9],[2820,9],[3053,11],[3096,11],[3142,9],[3210,11],[3261,11],[3318,11],[3361,8],[3378,13],[3416,9],[3470,11],[3645,9],[3680,9],[3754,9],[3812,9],[3838,9],[3961,9],[4185,9]]},"1463":{"position":[[108,9],[140,9],[177,9],[204,9],[232,9],[285,9],[473,9]]},"1464":{"position":[[109,9],[141,9],[178,9],[205,9],[233,9],[286,9],[375,9],[396,9]]},"1465":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[534,9],[624,9],[724,9],[749,9],[816,11],[864,9],[924,9],[1015,9],[1053,9],[1097,9],[1231,9],[1310,9]]},"1466":{"position":[[112,9],[144,9],[181,9],[208,9],[236,9],[289,9],[452,9],[500,9]]},"1467":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[612,9],[738,9],[765,9],[852,9],[909,9],[946,9],[971,9],[1027,9],[1282,9],[1557,9],[1751,9],[1809,9],[1946,9],[1981,9],[2004,9],[2050,10],[2117,12],[2190,12],[2243,10],[2270,9],[2295,9],[2431,9],[2541,10],[2794,9],[2823,9],[2973,9],[3257,11],[3300,11],[3346,9],[3414,11],[3465,11],[3522,11],[3570,9],[3630,8],[3647,13],[3685,9],[3739,11],[3914,9],[3949,9],[4023,9],[4247,9],[4273,9],[4426,9],[4481,9],[4771,9],[4850,9],[4906,9]]},"1468":{"position":[[103,9],[135,9],[172,9],[199,9],[227,9],[280,9],[373,9],[435,9],[460,9]]},"1469":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[388,9],[450,9],[475,9]]},"1470":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[651,10],[734,9],[820,9],[864,9],[902,9],[957,9],[995,9],[1093,9],[1148,9],[1187,9],[1219,9],[1259,9],[1308,9],[1416,9],[1562,9],[1613,9],[1658,9],[1904,9],[2023,9],[2257,9],[2400,9],[2508,9],[2616,9],[2723,9],[2744,9],[3229,9]]},"1471":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[440,9],[631,9],[796,9],[909,9],[949,11],[1045,9],[1070,9],[1208,10],[1361,9],[1471,9],[1533,9],[1563,9],[1584,9]]},"1472":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[441,9],[534,9],[730,9],[755,9],[849,9],[1006,9],[1046,11],[1142,9],[1167,9],[1224,9],[1384,9],[1429,9],[1459,9],[1504,9]]},"1473":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[508,9],[662,9],[827,9],[940,9],[980,11],[1097,9],[1122,9],[1260,10],[1413,9],[1689,9],[1780,9],[1810,9],[1831,9]]},"1474":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[366,10],[446,9],[490,9],[528,9],[583,9],[643,9],[673,9],[712,9],[744,9],[820,9],[845,9],[1020,9],[1083,9],[1114,9],[1180,9],[1241,9],[1348,9],[1369,9]]},"1475":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[363,10],[443,9],[487,9],[525,9],[580,9],[618,9],[716,9],[799,9],[838,9],[870,9],[966,9],[991,9],[1166,9],[1229,9],[1260,9],[1326,9],[1418,9],[1525,9],[1546,9],[1864,9]]},"1476":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[371,9],[433,9],[458,9]]},"1477":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[425,9],[485,9],[508,9],[533,9],[570,9]]},"1478":{"position":[[92,9],[124,9],[161,9],[188,9],[216,9],[269,9],[398,9],[453,9],[513,9],[561,9],[586,9],[619,9],[848,9],[873,9]]},"1479":{"position":[[109,9],[141,9],[178,9],[205,9],[233,9],[286,9],[379,9],[439,9],[493,9],[518,9]]},"1480":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[407,9],[432,9],[492,9],[549,9],[617,9],[643,9],[668,9],[753,9],[837,9]]},"1481":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[556,9],[660,9],[685,9],[947,9],[989,9],[1023,9],[1090,9],[1153,9],[1465,9],[1507,9]]},"1482":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[365,9],[427,9],[452,9],[478,9]]},"1483":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9]]},"1484":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[370,9],[432,9],[457,9]]},"1485":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[429,9],[482,9],[505,9],[549,9],[596,9],[617,8],[634,11]]},"1486":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[368,9],[423,9],[531,9],[556,9]]},"1487":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[393,9],[467,9],[490,9],[515,9],[579,9],[604,9]]}},"keywords":{}}],["list[typing.ani",{"_index":1004,"title":{},"content":{"78":{"position":[[22,16]]},"94":{"position":[[240,16]]},"98":{"position":[[282,16]]},"99":{"position":[[371,16]]},"129":{"position":[[40,16]]},"131":{"position":[[29,16],[75,16],[146,16]]},"134":{"position":[[34,16]]},"146":{"position":[[46,16]]},"148":{"position":[[39,16]]},"149":{"position":[[40,16]]},"226":{"position":[[240,16]]},"230":{"position":[[282,16]]},"231":{"position":[[371,16]]},"252":{"position":[[40,16]]},"254":{"position":[[29,16],[75,16],[146,16]]},"257":{"position":[[34,16]]},"269":{"position":[[46,16]]},"271":{"position":[[39,16]]},"272":{"position":[[40,16]]},"374":{"position":[[598,16]]},"377":{"position":[[245,16]]},"386":{"position":[[231,16]]},"400":{"position":[[54,18],[194,18]]},"405":{"position":[[233,16],[481,16]]},"437":{"position":[[49,18],[215,16]]},"507":{"position":[[22,16]]},"556":{"position":[[22,16]]},"561":{"position":[[24,16]]},"643":{"position":[[74,16]]},"652":{"position":[[42,16]]},"653":{"position":[[62,16]]},"665":{"position":[[42,16]]},"666":{"position":[[60,16]]},"673":{"position":[[38,16]]},"753":{"position":[[598,16]]},"756":{"position":[[245,16]]},"765":{"position":[[231,16]]},"779":{"position":[[54,18],[194,18]]},"784":{"position":[[233,16],[481,16]]},"816":{"position":[[49,18],[215,16]]},"1348":{"position":[[1883,16]]},"1350":{"position":[[2698,16]]},"1352":{"position":[[2697,16]]},"1353":{"position":[[1085,16]]}},"keywords":{}}],["list[typing.any]repres",{"_index":4368,"title":{},"content":{"900":{"position":[[733,26]]}},"keywords":{}}],["list[u64",{"_index":5794,"title":{},"content":{"1126":{"position":[[291,10]]}},"keywords":{}}],["list[validationspec",{"_index":2090,"title":{},"content":{"396":{"position":[[35,21],[380,20]]},"775":{"position":[[35,21],[380,20]]}},"keywords":{}}],["list_arg",{"_index":8472,"title":{},"content":{"1478":{"position":[[601,10]]}},"keywords":{}}],["list_env",{"_index":8473,"title":{},"content":{"1478":{"position":[[634,9]]}},"keywords":{}}],["list_result",{"_index":1757,"title":{},"content":{"318":{"position":[[420,12],[478,13]]}},"keywords":{}}],["list_typ",{"_index":3859,"title":{},"content":{"840":{"position":[[795,9],[809,9]]},"850":{"position":[[625,9],[639,9]]}},"keywords":{}}],["listing"",{"_index":5516,"title":{},"content":{"1072":{"position":[[970,14]]}},"keywords":{}}],["listjava/com/facebook/common/collect/*.java",{"_index":3046,"title":{},"content":{"622":{"position":[[1889,43]]}},"keywords":{}}],["lists/dict",{"_index":3983,"title":{},"content":{"864":{"position":[[328,11]]}},"keywords":{}}],["liter",{"_index":688,"title":{},"content":{"22":{"position":[[2151,8]]},"125":{"position":[[91,8]]},"145":{"position":[[215,7]]},"236":{"position":[[515,7]]},"237":{"position":[[602,7]]},"248":{"position":[[91,8]]},"268":{"position":[[215,7]]},"308":{"position":[[117,8]]},"309":{"position":[[975,8]]},"315":{"position":[[164,8]]},"316":{"position":[[184,8]]},"317":{"position":[[187,8]]},"318":{"position":[[326,8]]},"340":{"position":[[277,9]]},"595":{"position":[[295,7]]},"644":{"position":[[338,8]]},"648":{"position":[[488,8],[645,8]]},"693":{"position":[[9547,8],[9792,8]]},"846":{"position":[[687,8]]},"898":{"position":[[1221,8]]},"904":{"position":[[201,8],[510,8],[889,8]]},"906":{"position":[[426,8],[1020,8]]},"907":{"position":[[399,7]]},"1021":{"position":[[36,7],[530,7]]},"1136":{"position":[[924,8]]},"1138":{"position":[[6033,8]]},"1148":{"position":[[428,8],[470,8],[700,7],[1280,8],[3383,8]]},"1186":{"position":[[1607,8]]},"1187":{"position":[[1620,8]]},"1188":{"position":[[6346,8]]},"1197":{"position":[[845,8]]},"1198":{"position":[[855,8]]},"1199":{"position":[[883,8]]},"1200":{"position":[[750,8]]},"1209":{"position":[[157,8]]},"1235":{"position":[[1417,8]]},"1258":{"position":[[139,7],[197,7],[443,8],[548,7],[611,7],[823,7]]},"1286":{"position":[[202,7]]},"1287":{"position":[[115,7]]},"1289":{"position":[[139,7],[197,7],[443,8],[548,7],[611,7],[823,7]]},"1317":{"position":[[139,7],[197,7],[443,8],[548,7],[611,7],[823,7]]},"1351":{"position":[[3211,7]]},"1382":{"position":[[4733,7],[5034,7]]},"1388":{"position":[[5427,7],[5728,7]]},"1442":{"position":[[1723,7],[2024,7]]},"1478":{"position":[[2061,7]]}},"keywords":{}}],["littl",{"_index":1338,"title":{},"content":{"125":{"position":[[169,6]]},"248":{"position":[[169,6]]},"924":{"position":[[434,6]]},"977":{"position":[[16,6]]},"980":{"position":[[1256,6]]},"1072":{"position":[[242,6]]},"1138":{"position":[[4108,6]]},"1140":{"position":[[3597,6]]},"1167":{"position":[[4601,6]]},"1188":{"position":[[3650,6]]},"1217":{"position":[[3342,6]]},"1228":{"position":[[5423,6]]}},"keywords":{}}],["live",{"_index":893,"title":{},"content":{"50":{"position":[[107,5]]},"197":{"position":[[107,5]]},"334":{"position":[[576,5],[627,5]]},"415":{"position":[[176,6]]},"474":{"position":[[315,5],[366,5]]},"693":{"position":[[4034,5]]},"794":{"position":[[176,6]]},"890":{"position":[[5870,5]]}},"keywords":{}}],["lld",{"_index":508,"title":{},"content":{"17":{"position":[[745,3]]}},"keywords":{}}],["llvm",{"_index":518,"title":{},"content":{"17":{"position":[[1016,6]]},"997":{"position":[[162,4]]},"1442":{"position":[[525,4],[562,4],[3124,4],[3184,4]]}},"keywords":{}}],["llvm_link",{"_index":7376,"title":{},"content":{"1389":{"position":[[2778,10]]}},"keywords":{}}],["llvm_link_bitcod",{"_index":8076,"title":{"1442":{"position":[[0,18]]}},"content":{"1442":{"position":[[4,18],[491,19],[3042,18]]}},"keywords":{}}],["load",{"_index":379,"title":{"1187":{"position":[[13,8]]}},"content":{"11":{"position":[[559,7]]},"309":{"position":[[834,7]]},"693":{"position":[[5783,5],[5840,5],[5916,6]]},"888":{"position":[[1227,4]]},"987":{"position":[[115,6]]},"1000":{"position":[[588,4],[823,6]]},"1056":{"position":[[247,7]]},"1096":{"position":[[67,6]]},"1108":{"position":[[224,5]]},"1138":{"position":[[3604,6]]},"1140":{"position":[[3093,6]]},"1148":{"position":[[7111,8],[7185,6]]},"1167":{"position":[[4097,6]]},"1185":{"position":[[113,7]]},"1186":{"position":[[653,8],[698,7]]},"1187":{"position":[[60,7],[666,8],[711,7]]},"1188":{"position":[[3146,6],[5392,8],[5437,7]]},"1217":{"position":[[2838,6]]},"1226":{"position":[[3869,7]]},"1228":{"position":[[4919,6]]},"1237":{"position":[[4039,7]]},"1249":{"position":[[171,7]]},"1355":{"position":[[6407,6]]},"1393":{"position":[[7630,5]]},"1398":{"position":[[2529,5],[4576,5]]},"1427":{"position":[[5579,6]]},"1439":{"position":[[7488,6]]},"1462":{"position":[[8382,6]]},"1467":{"position":[[9864,6]]}},"keywords":{}}],["load("//:foo_binary.bzl"",{"_index":1977,"title":{},"content":{"368":{"position":[[1756,35]]},"747":{"position":[[1756,35]]}},"keywords":{}}],["load("//path/to/rules:rules.bzl"",{"_index":1694,"title":{},"content":{"306":{"position":[[145,43]]}},"keywords":{}}],["load(":anon_bxl_rules.bzl"",{"_index":3746,"title":{},"content":{"712":{"position":[[858,37]]}},"keywords":{}}],["load(":silly.bzl"",{"_index":5235,"title":{},"content":{"1048":{"position":[[275,29]]}},"keywords":{}}],["load("@prelude//toolchains:cxx.bzl"",{"_index":576,"title":{},"content":{"18":{"position":[[1092,46]]}},"keywords":{}}],["load("@prelude//toolchains:python.bzl"",{"_index":578,"title":{},"content":{"18":{"position":[[1173,49]]}},"keywords":{}}],["load("a.bzl"",{"_index":4232,"title":{},"content":{"890":{"position":[[3310,23]]}},"keywords":{}}],["load("hello//world.bzl"",{"_index":2217,"title":{},"content":{"415":{"position":[[270,34]]},"794":{"position":[[270,34]]}},"keywords":{}}],["load_symbol",{"_index":2277,"title":{"421":{"position":[[0,13]]},"800":{"position":[[0,13]]}},"content":{"890":{"position":[[3778,12],[4020,14]]}},"keywords":{}}],["load_symbols(symbol",{"_index":2278,"title":{},"content":{"421":{"position":[[4,21]]},"800":{"position":[[4,21]]}},"keywords":{}}],["load_symbolsfunct",{"_index":4244,"title":{},"content":{"890":{"position":[[4553,21]]}},"keywords":{}}],["loaded.when",{"_index":4175,"title":{},"content":{"888":{"position":[[1297,11]]}},"keywords":{}}],["loader",{"_index":8336,"title":{},"content":{"1462":{"position":[[8462,6]]},"1467":{"position":[[9944,6]]}},"keywords":{}}],["loadingbuck2",{"_index":5352,"title":{},"content":{"1056":{"position":[[173,12]]}},"keywords":{}}],["local",{"_index":699,"title":{"996":{"position":[[8,5]]},"1051":{"position":[[0,5]]}},"content":{"23":{"position":[[401,5]]},"94":{"position":[[3509,6],[3523,5],[4386,8]]},"226":{"position":[[3509,6],[3523,5],[4386,8]]},"314":{"position":[[398,7]]},"362":{"position":[[1068,5],[2422,5],[2498,5]]},"374":{"position":[[1689,5],[1854,5]]},"377":{"position":[[632,5],[725,5],[1142,5],[1608,5]]},"693":{"position":[[4570,6],[4702,8],[4750,5],[5020,8]]},"704":{"position":[[1089,7],[2038,8]]},"706":{"position":[[1578,6],[1910,8],[1985,8],[2051,7],[2213,7],[2545,8]]},"710":{"position":[[267,5]]},"724":{"position":[[299,7],[862,8],[1059,8],[1268,5],[1387,5],[1838,5]]},"741":{"position":[[1068,5],[2422,5],[2498,5]]},"753":{"position":[[1689,5],[1854,5]]},"756":{"position":[[632,5],[725,5],[1142,5],[1608,5]]},"867":{"position":[[1673,6],[2046,5],[2123,5]]},"882":{"position":[[99,5]]},"890":{"position":[[1206,5],[1431,5],[1629,5],[3493,5],[5360,5],[6834,5],[6962,5]]},"895":{"position":[[377,6]]},"896":{"position":[[18,8],[156,5]]},"898":{"position":[[974,5],[2835,8]]},"998":{"position":[[231,6]]},"1001":{"position":[[899,5]]},"1022":{"position":[[350,5]]},"1052":{"position":[[77,5],[292,5],[391,5],[579,5],[919,5],[1117,5]]},"1053":{"position":[[95,5],[388,8]]},"1054":{"position":[[697,7],[760,5]]},"1064":{"position":[[999,5]]},"1075":{"position":[[439,8]]},"1102":{"position":[[1099,5]]},"1105":{"position":[[1217,7]]},"1136":{"position":[[4697,7]]},"1138":{"position":[[2296,5],[2319,5],[2376,7],[2513,5],[2591,7],[2606,5],[2742,5],[8359,7]]},"1140":{"position":[[1785,5],[1808,5],[1865,7],[2002,5],[2080,7],[2095,5],[2231,5],[7285,7]]},"1142":{"position":[[2729,7]]},"1146":{"position":[[2669,7]]},"1148":{"position":[[5709,7]]},"1155":{"position":[[2765,7]]},"1156":{"position":[[2343,7]]},"1167":{"position":[[2789,5],[2812,5],[2869,7],[3006,5],[3084,7],[3099,5],[3235,5],[8289,7]]},"1169":{"position":[[2128,7]]},"1172":{"position":[[360,6],[430,6],[650,8],[1177,7],[1385,5]]},"1173":{"position":[[477,7],[685,5]]},"1174":{"position":[[381,7]]},"1175":{"position":[[401,7]]},"1176":{"position":[[485,7]]},"1177":{"position":[[397,7]]},"1178":{"position":[[551,7]]},"1179":{"position":[[417,7]]},"1180":{"position":[[747,7]]},"1181":{"position":[[502,7]]},"1182":{"position":[[439,7]]},"1183":{"position":[[394,7]]},"1186":{"position":[[3933,7]]},"1187":{"position":[[3946,7]]},"1188":{"position":[[1838,5],[1861,5],[1918,7],[2055,5],[2133,7],[2148,5],[2284,5],[8672,7]]},"1191":{"position":[[2533,7]]},"1192":{"position":[[2708,7]]},"1193":{"position":[[2760,7]]},"1194":{"position":[[2400,7]]},"1195":{"position":[[2378,7]]},"1196":{"position":[[2188,7]]},"1197":{"position":[[3171,7]]},"1198":{"position":[[3181,7]]},"1199":{"position":[[3209,7]]},"1200":{"position":[[3076,7]]},"1201":{"position":[[2336,7]]},"1202":{"position":[[3478,7],[7875,7]]},"1203":{"position":[[2570,7]]},"1204":{"position":[[2414,7]]},"1205":{"position":[[3743,7]]},"1206":{"position":[[2214,7]]},"1207":{"position":[[2371,7]]},"1209":{"position":[[3719,7]]},"1217":{"position":[[1530,5],[1553,5],[1610,7],[1747,5],[1825,7],[1840,5],[1976,5],[7030,7]]},"1219":{"position":[[3016,7]]},"1222":{"position":[[2140,7]]},"1223":{"position":[[2150,7]]},"1224":{"position":[[2330,7]]},"1226":{"position":[[7498,7]]},"1228":{"position":[[3611,5],[3634,5],[3691,7],[3828,5],[3906,7],[3921,5],[4057,5],[9111,7]]},"1235":{"position":[[4979,7]]},"1237":{"position":[[7668,7]]},"1350":{"position":[[2094,8]]},"1352":{"position":[[2093,8]]},"1360":{"position":[[5672,5],[5725,8]]},"1362":{"position":[[6322,7],[9932,7],[10151,7],[10240,8],[10398,8]]},"1364":{"position":[[6351,7],[11046,7],[11265,7],[11354,8],[11512,8]]},"1366":{"position":[[3249,7]]},"1367":{"position":[[7749,7],[10849,7],[11068,7],[11157,8],[11315,8]]},"1373":{"position":[[3878,7]]},"1382":{"position":[[4234,7],[6658,7],[6877,7],[6966,8],[7124,8]]},"1383":{"position":[[8177,5],[8230,8]]},"1384":{"position":[[5396,7],[6069,5],[13012,7],[13231,7],[13320,8],[13478,8]]},"1388":{"position":[[4534,7],[7527,7],[7746,7],[7835,8],[7993,8]]},"1389":{"position":[[5383,7],[5630,7]]},"1403":{"position":[[7277,5],[7330,8]]},"1427":{"position":[[4824,5]]},"1439":{"position":[[7323,5]]},"1454":{"position":[[4343,7]]},"1462":{"position":[[5356,7]]},"1471":{"position":[[2902,7],[4025,5],[4335,8],[4558,5]]},"1472":{"position":[[3509,5],[4609,5],[4919,8],[5142,5]]},"1473":{"position":[[4346,5],[4656,8],[4879,5]]}},"keywords":{}}],["local.reproduc",{"_index":4291,"title":{},"content":{"894":{"position":[[533,16]]}},"keywords":{}}],["local_en",{"_index":1872,"title":{},"content":{"362":{"position":[[30,14],[1037,13],[1140,13]]},"741":{"position":[[30,14],[1037,13],[1140,13]]},"1072":{"position":[[655,13],[1185,13]]}},"keywords":{}}],["local_linker_flag",{"_index":7197,"title":{},"content":{"1384":{"position":[[2849,19],[14146,19]]},"1387":{"position":[[2816,19]]},"1454":{"position":[[1656,19]]}},"keywords":{}}],["local_onli",{"_index":1171,"title":{},"content":{"94":{"position":[[561,11],[2773,10],[3196,13],[3302,13]]},"226":{"position":[[561,11],[2773,10],[3196,13],[3302,13]]},"298":{"position":[[2908,10]]},"851":{"position":[[2234,10]]}},"keywords":{}}],["local_resourc",{"_index":2011,"title":{},"content":{"374":{"position":[[211,15],[1631,16]]},"753":{"position":[[211,15],[1631,16]]},"1053":{"position":[[397,15]]},"1054":{"position":[[1788,15]]}},"keywords":{}}],["local_work",{"_index":7821,"title":{},"content":{"1414":{"position":[[597,14]]}},"keywords":{}}],["locales_for_binary_resourc",{"_index":8399,"title":{},"content":{"1470":{"position":[[1628,29]]}},"keywords":{}}],["locally)no_outputs_cleanup",{"_index":1195,"title":{},"content":{"94":{"position":[[1653,27]]},"226":{"position":[[1653,27]]}},"keywords":{}}],["locally.use_limited_hybrid",{"_index":6321,"title":{},"content":{"1346":{"position":[[449,26]]}},"keywords":{}}],["locallyremot",{"_index":4037,"title":{},"content":{"867":{"position":[[1700,14]]}},"keywords":{}}],["localresourceinfo",{"_index":2025,"title":{"377":{"position":[[0,18]]},"756":{"position":[[0,18]]},"1052":{"position":[[0,17]]}},"content":{"377":{"position":[[4,18],[365,17]]},"756":{"position":[[4,18],[365,17]]},"1052":{"position":[[1550,17]]},"1053":{"position":[[490,17],[759,17]]},"1054":{"position":[[26,17],[321,18],[1169,17],[1529,22]]}},"keywords":{}}],["locat",{"_index":808,"title":{},"content":{"26":{"position":[[53,9]]},"27":{"position":[[60,9]]},"30":{"position":[[64,9]]},"40":{"position":[[125,9]]},"41":{"position":[[80,10],[296,10]]},"69":{"position":[[158,9]]},"89":{"position":[[557,7],[1113,7]]},"126":{"position":[[278,10]]},"173":{"position":[[125,9]]},"174":{"position":[[80,10],[296,10]]},"178":{"position":[[53,9]]},"179":{"position":[[60,9]]},"186":{"position":[[64,9]]},"221":{"position":[[557,7],[1113,7]]},"249":{"position":[[278,10]]},"405":{"position":[[2288,8]]},"408":{"position":[[688,9]]},"457":{"position":[[158,9]]},"570":{"position":[[230,9],[336,8],[558,9]]},"581":{"position":[[145,10],[220,7],[303,7],[491,7]]},"632":{"position":[[386,8]]},"688":{"position":[[1242,10],[1286,8]]},"693":{"position":[[5733,7]]},"712":{"position":[[2848,8]]},"717":{"position":[[197,8]]},"724":{"position":[[1681,8]]},"784":{"position":[[2288,8]]},"787":{"position":[[688,9]]},"892":{"position":[[166,10],[190,8]]},"954":{"position":[[527,9]]},"964":{"position":[[434,8]]},"1025":{"position":[[464,10]]},"1058":{"position":[[639,8]]},"1102":{"position":[[759,7]]},"1104":{"position":[[571,10],[1117,11]]},"1112":{"position":[[1794,8],[4767,10],[4785,10]]},"1193":{"position":[[489,8]]},"1240":{"position":[[12,8]]},"1374":{"position":[[1827,10]]},"1383":{"position":[[5568,10]]},"1385":{"position":[[3048,8]]},"1387":{"position":[[5315,8]]},"1388":{"position":[[4842,10],[4885,8],[6252,10],[6295,8]]},"1393":{"position":[[7759,7]]},"1397":{"position":[[2561,8]]},"1399":{"position":[[1593,8],[2957,10]]},"1401":{"position":[[1554,11],[1922,10]]},"1407":{"position":[[5134,10]]},"1415":{"position":[[5792,7]]},"1422":{"position":[[4321,10],[4491,10]]},"1423":{"position":[[3485,10]]},"1444":{"position":[[1675,8]]},"1446":{"position":[[2176,8]]},"1459":{"position":[[2149,8]]},"1462":{"position":[[5549,8]]},"1465":{"position":[[2469,8]]},"1467":{"position":[[6034,8],[6605,10],[6648,8]]},"1477":{"position":[[2201,8],[2287,9],[2374,9],[2535,9]]},"1478":{"position":[[2181,8],[2429,8]]}},"keywords":{}}],["location.replace_regex",{"_index":2160,"title":{},"content":{"405":{"position":[[2401,22]]},"784":{"position":[[2401,22]]}},"keywords":{}}],["lock",{"_index":426,"title":{},"content":{"13":{"position":[[291,6]]}},"keywords":{}}],["log",{"_index":1683,"title":{"865":{"position":[[11,4]]},"866":{"position":[[21,3],[45,4]]},"867":{"position":[[6,3]]},"1122":{"position":[[0,7]]},"1123":{"position":[[6,3]]},"1127":{"position":[[18,4]]},"1170":{"position":[[0,3]]},"1171":{"position":[[5,4]]},"1172":{"position":[[5,3]]},"1173":{"position":[[5,3]]},"1174":{"position":[[5,3]]},"1175":{"position":[[5,3]]},"1176":{"position":[[5,3]]},"1177":{"position":[[5,3]]},"1178":{"position":[[5,3]]},"1179":{"position":[[5,3]]},"1180":{"position":[[5,3]]},"1181":{"position":[[5,3]]},"1182":{"position":[[5,3]]},"1183":{"position":[[5,3]]}},"content":{"304":{"position":[[310,4]]},"446":{"position":[[208,6]]},"705":{"position":[[576,3]]},"825":{"position":[[208,6]]},"864":{"position":[[190,5]]},"865":{"position":[[27,3],[100,3],[366,4],[497,3],[572,4],[611,3],[819,3]]},"866":{"position":[[6,3],[58,3],[133,3],[252,4],[278,4],[320,3],[338,3]]},"867":{"position":[[29,3]]},"1031":{"position":[[849,9]]},"1067":{"position":[[597,4]]},"1124":{"position":[[28,3]]},"1126":{"position":[[22,3]]},"1127":{"position":[[6,4],[54,3],[88,4],[128,3],[205,4],[251,3],[270,4],[337,3],[380,4],[419,3],[513,3],[735,3]]},"1136":{"position":[[5707,3],[5728,3],[5766,3],[6104,8],[6305,3],[6422,4],[6626,8]]},"1138":{"position":[[9369,3],[9390,3],[9428,3],[9766,8],[9967,3],[10084,4],[10288,8]]},"1140":{"position":[[455,3],[498,3],[564,4],[647,4],[652,3],[895,3],[928,3],[8295,3],[8316,3],[8354,3],[8692,8],[8893,3],[9010,4],[9214,8]]},"1142":{"position":[[3739,3],[3760,3],[3798,3],[4136,8],[4337,3],[4454,4],[4658,8]]},"1144":{"position":[[464,8],[665,3],[782,4],[986,8]]},"1146":{"position":[[3679,3],[3700,3],[3738,3],[4076,8],[4277,3],[4394,4],[4598,8]]},"1148":{"position":[[6719,3],[6740,3],[6778,3],[7667,8],[7868,3],[7985,4],[8189,8]]},"1150":{"position":[[699,8],[900,3],[1017,4],[1221,8]]},"1152":{"position":[[397,8],[598,3],[715,4],[919,8]]},"1154":{"position":[[552,8],[753,3],[870,4],[1074,8]]},"1155":{"position":[[3775,3],[3796,3],[3834,3],[4172,8],[4373,3],[4490,4],[4694,8]]},"1156":{"position":[[3353,3],[3374,3],[3412,3],[3750,8],[3951,3],[4068,4],[4272,8]]},"1157":{"position":[[335,8],[536,3],[653,4],[857,8]]},"1158":{"position":[[329,8],[530,3],[647,4],[851,8]]},"1159":{"position":[[329,8],[530,3],[647,4],[851,8]]},"1161":{"position":[[1324,8],[1525,3],[1642,4],[1846,8]]},"1163":{"position":[[313,3],[334,3],[372,3],[710,8],[911,3],[1028,4],[1232,8]]},"1165":{"position":[[142,3],[163,3],[201,3],[539,8],[740,3],[857,4],[1061,8]]},"1167":{"position":[[9299,3],[9320,3],[9358,3],[9696,8],[9897,3],[10014,4],[10218,8]]},"1169":{"position":[[2407,3],[2428,3],[2466,3],[2804,8],[3005,3],[3122,4],[3326,8]]},"1171":{"position":[[36,4],[62,3],[274,3],[295,3],[448,3],[684,3],[717,3],[766,4],[1045,8],[1246,3],[1363,4],[1567,8]]},"1172":{"position":[[849,3],[916,3],[986,3],[1044,3],[1141,3],[2430,8],[2631,3],[2748,4],[2952,8]]},"1173":{"position":[[146,3],[216,3],[286,3],[344,3],[441,3],[1117,8],[1318,3],[1435,4],[1639,8]]},"1174":{"position":[[32,3],[57,3],[120,3],[190,3],[248,3],[345,3],[408,4],[545,8],[746,3],[863,4],[1067,8]]},"1175":{"position":[[12,3],[77,3],[140,3],[210,3],[268,3],[365,3],[541,8],[742,3],[859,4],[1063,8]]},"1176":{"position":[[130,3],[162,3],[224,3],[294,3],[352,3],[449,3],[710,8],[911,3],[1028,4],[1232,8]]},"1177":{"position":[[39,3],[70,3],[136,3],[206,3],[264,3],[361,3],[631,8],[832,3],[949,4],[1153,8]]},"1178":{"position":[[214,3],[290,3],[360,3],[418,3],[515,3],[948,8],[1149,3],[1266,4],[1470,8]]},"1179":{"position":[[84,3],[156,3],[226,3],[284,3],[381,3],[745,8],[946,3],[1063,4],[1267,8]]},"1180":{"position":[[414,3],[486,3],[556,3],[614,3],[711,3],[1016,8],[1217,3],[1334,4],[1538,8]]},"1181":{"position":[[16,4],[71,3],[115,3],[199,3],[311,3],[369,3],[466,3],[621,4],[1536,8],[1737,3],[1854,4],[2058,8]]},"1182":{"position":[[19,3],[68,4],[110,3],[178,3],[248,3],[306,3],[403,3],[579,8],[780,3],[897,4],[1101,8]]},"1183":{"position":[[67,3],[133,3],[203,3],[261,3],[358,3],[534,8],[735,3],[852,4],[1056,8]]},"1185":{"position":[[379,8],[580,3],[697,4],[901,8]]},"1186":{"position":[[4943,3],[4964,3],[5002,3],[5340,8],[5541,3],[5658,4],[5862,8]]},"1187":{"position":[[4956,3],[4977,3],[5015,3],[5353,8],[5554,3],[5671,4],[5875,8]]},"1188":{"position":[[508,3],[551,3],[617,4],[700,4],[705,3],[948,3],[981,3],[9682,3],[9703,3],[9741,3],[10079,8],[10280,3],[10397,4],[10601,8]]},"1190":{"position":[[1710,8],[1911,3],[2028,4],[2232,8]]},"1191":{"position":[[3543,3],[3564,3],[3602,3],[3940,8],[4141,3],[4258,4],[4462,8]]},"1192":{"position":[[3718,3],[3739,3],[3777,3],[4115,8],[4316,3],[4433,4],[4637,8]]},"1193":{"position":[[3770,3],[3791,3],[3829,3],[4167,8],[4368,3],[4485,4],[4689,8]]},"1194":{"position":[[3410,3],[3431,3],[3469,3],[3807,8],[4008,3],[4125,4],[4329,8]]},"1195":{"position":[[3388,3],[3409,3],[3447,3],[3785,8],[3986,3],[4103,4],[4307,8]]},"1196":{"position":[[3198,3],[3219,3],[3257,3],[3595,8],[3796,3],[3913,4],[4117,8]]},"1197":{"position":[[4181,3],[4202,3],[4240,3],[4578,8],[4779,3],[4896,4],[5100,8]]},"1198":{"position":[[4191,3],[4212,3],[4250,3],[4588,8],[4789,3],[4906,4],[5110,8]]},"1199":{"position":[[4219,3],[4240,3],[4278,3],[4616,8],[4817,3],[4934,4],[5138,8]]},"1200":{"position":[[4086,3],[4107,3],[4145,3],[4483,8],[4684,3],[4801,4],[5005,8]]},"1201":{"position":[[3346,3],[3367,3],[3405,3],[3743,8],[3944,3],[4061,4],[4265,8]]},"1202":{"position":[[487,8],[688,3],[805,4],[1009,8],[4488,3],[4509,3],[4547,3],[4885,8],[5086,3],[5203,4],[5407,8],[8885,3],[8906,3],[8944,3],[9282,8],[9483,3],[9600,4],[9804,8]]},"1203":{"position":[[3580,3],[3601,3],[3639,3],[3977,8],[4178,3],[4295,4],[4499,8]]},"1204":{"position":[[185,3],[197,3],[3424,3],[3445,3],[3483,3],[3821,8],[4022,3],[4139,4],[4343,8],[4723,8],[4924,3],[5041,4],[5245,8],[5653,8],[5854,3],[5971,4],[6175,8],[6555,8],[6756,3],[6873,4],[7077,8],[7541,8],[7742,3],[7859,4],[8063,8],[8244,4],[8257,3],[8340,3],[8495,8],[8696,3],[8813,4],[9017,8],[9442,8],[9643,3],[9760,4],[9964,8],[10372,8],[10573,3],[10690,4],[10894,8]]},"1205":{"position":[[4753,3],[4774,3],[4812,3],[5150,8],[5351,3],[5468,4],[5672,8]]},"1206":{"position":[[3224,3],[3245,3],[3283,3],[3849,8],[4050,3],[4167,4],[4371,8]]},"1207":{"position":[[3381,3],[3402,3],[3440,3],[3778,8],[3979,3],[4096,4],[4300,8]]},"1209":{"position":[[4729,3],[4750,3],[4788,3],[5126,8],[5327,3],[5444,4],[5648,8]]},"1211":{"position":[[450,8],[651,3],[768,4],[972,8]]},"1213":{"position":[[221,8],[422,3],[539,4],[743,8]]},"1215":{"position":[[305,8],[506,3],[623,4],[827,8]]},"1217":{"position":[[8040,3],[8061,3],[8099,3],[8437,8],[8638,3],[8755,4],[8959,8]]},"1219":{"position":[[3295,3],[3316,3],[3354,3],[3692,8],[3893,3],[4010,4],[4214,8]]},"1221":{"position":[[424,8],[625,3],[742,4],[946,8]]},"1222":{"position":[[3150,3],[3171,3],[3209,3],[3563,8],[3764,3],[3881,4],[4085,8]]},"1223":{"position":[[3160,3],[3181,3],[3219,3],[3573,8],[3774,3],[3891,4],[4095,8]]},"1224":{"position":[[2609,3],[2630,3],[2668,3],[3006,8],[3207,3],[3324,4],[3528,8]]},"1226":{"position":[[8508,3],[8529,3],[8567,3],[8905,8],[9106,3],[9223,4],[9427,8]]},"1228":{"position":[[10121,3],[10142,3],[10180,3],[10518,8],[10719,3],[10836,4],[11040,8]]},"1235":{"position":[[5989,3],[6010,3],[6048,3],[6386,8],[6587,3],[6704,4],[6908,8]]},"1237":{"position":[[8678,3],[8699,3],[8737,3],[9075,8],[9276,3],[9393,4],[9597,8]]},"1244":{"position":[[73,3],[148,3]]},"1248":{"position":[[81,3],[146,3]]},"1383":{"position":[[7717,7]]},"1403":{"position":[[6817,7]]},"1429":{"position":[[5579,3]]},"1440":{"position":[[5571,3]]}},"keywords":{}}],["log4net",{"_index":8222,"title":{},"content":{"1456":{"position":[[1559,10],[1690,11]]}},"keywords":{}}],["log4net.dl",{"_index":8223,"title":{},"content":{"1456":{"position":[[1581,14]]}},"keywords":{}}],["log_extractor",{"_index":6527,"title":{},"content":{"1354":{"position":[[935,15]]}},"keywords":{}}],["logger",{"_index":5402,"title":{},"content":{"1058":{"position":[[108,6]]}},"keywords":{}}],["logic",{"_index":3619,"title":{},"content":{"702":{"position":[[225,9],[264,9]]},"867":{"position":[[1961,9]]},"916":{"position":[[227,7],[417,5]]},"1001":{"position":[[745,9]]},"1022":{"position":[[200,9]]},"1064":{"position":[[843,9]]},"1105":{"position":[[2224,5]]},"1126":{"position":[[577,9]]},"1383":{"position":[[7799,7]]},"1399":{"position":[[2346,7]]},"1403":{"position":[[6899,7]]}},"keywords":{}}],["long",{"_index":1059,"title":{},"content":{"85":{"position":[[496,4]]},"217":{"position":[[496,4]]},"422":{"position":[[188,4]]},"513":{"position":[[191,4]]},"514":{"position":[[183,4]]},"673":{"position":[[418,4]]},"706":{"position":[[642,4],[1392,4]]},"801":{"position":[[188,4]]},"867":{"position":[[1299,4]]},"1071":{"position":[[1284,4]]},"1072":{"position":[[272,4]]},"1079":{"position":[[937,4],[1254,4]]},"1120":{"position":[[147,4]]},"1228":{"position":[[1362,4]]}},"keywords":{}}],["longer",{"_index":2039,"title":{"1048":{"position":[[0,6]]}},"content":{"377":{"position":[[1069,6]]},"756":{"position":[[1069,6]]},"980":{"position":[[1407,6]]},"981":{"position":[[266,6]]},"1052":{"position":[[1034,6]]}},"keywords":{}}],["longest",{"_index":3257,"title":{},"content":{"654":{"position":[[563,7]]},"666":{"position":[[748,7],[902,7]]}},"keywords":{}}],["look",{"_index":490,"title":{},"content":{"17":{"position":[[174,4]]},"19":{"position":[[107,4]]},"22":{"position":[[1774,7]]},"23":{"position":[[1586,4]]},"85":{"position":[[280,4]]},"217":{"position":[[280,4]]},"300":{"position":[[399,4]]},"340":{"position":[[177,5]]},"418":{"position":[[225,5]]},"697":{"position":[[7,4]]},"704":{"position":[[700,5]]},"797":{"position":[[225,5]]},"856":{"position":[[278,7]]},"864":{"position":[[168,7]]},"890":{"position":[[2408,6]]},"895":{"position":[[65,7]]},"924":{"position":[[1748,5]]},"945":{"position":[[670,4]]},"988":{"position":[[222,5]]},"1014":{"position":[[319,4]]},"1021":{"position":[[616,7]]},"1050":{"position":[[3729,4]]},"1058":{"position":[[430,7],[730,7]]},"1093":{"position":[[29,5]]},"1102":{"position":[[119,4],[462,5]]},"1123":{"position":[[126,4]]},"1131":{"position":[[708,4]]},"1173":{"position":[[62,4]]},"1231":{"position":[[486,4],[548,4],[710,4]]},"1232":{"position":[[3161,4]]},"1253":{"position":[[132,4]]},"1346":{"position":[[194,4]]},"1356":{"position":[[2157,5]]},"1398":{"position":[[2549,4]]},"1487":{"position":[[3642,4]]}},"keywords":{}}],["lookup",{"_index":1724,"title":{},"content":{"309":{"position":[[419,6]]},"389":{"position":[[704,6]]},"704":{"position":[[1262,6]]},"768":{"position":[[704,6]]},"905":{"position":[[223,8],[244,6],[334,6],[1443,7]]},"951":{"position":[[1311,6]]},"1013":{"position":[[181,6]]},"1021":{"position":[[737,6]]},"1058":{"position":[[971,7]]},"1112":{"position":[[399,7]]}},"keywords":{}}],["lookup<key>",{"_index":2074,"title":{},"content":{"389":{"position":[[798,17]]},"768":{"position":[[798,17]]}},"keywords":{}}],["loop",{"_index":191,"title":{"1251":{"position":[[48,5]]}},"content":{"9":{"position":[[443,6]]},"345":{"position":[[651,4]]},"556":{"position":[[209,5]]},"561":{"position":[[216,4]]},"890":{"position":[[3264,5],[4753,6]]},"1058":{"position":[[817,4],[921,4]]},"1250":{"position":[[202,5]]},"1251":{"position":[[87,5],[154,4],[357,4]]}},"keywords":{}}],["lose",{"_index":1257,"title":{},"content":{"98":{"position":[[1191,6]]},"99":{"position":[[1599,6]]},"230":{"position":[[1191,6]]},"231":{"position":[[1599,6]]},"1087":{"position":[[411,4]]}},"keywords":{}}],["lossi",{"_index":4387,"title":{},"content":{"900":{"position":[[2016,5]]}},"keywords":{}}],["lost."",{"_index":4953,"title":{},"content":{"991":{"position":[[3369,11]]}},"keywords":{}}],["lot",{"_index":219,"title":{},"content":{"9":{"position":[[1058,5]]},"10":{"position":[[699,3]]},"20":{"position":[[7,3]]},"22":{"position":[[1536,4]]},"92":{"position":[[2214,3]]},"224":{"position":[[2214,3]]},"450":{"position":[[256,4]]},"829":{"position":[[256,4]]},"919":{"position":[[446,4]]},"966":{"position":[[456,4]]},"980":{"position":[[1083,3]]},"1087":{"position":[[418,3]]},"1250":{"position":[[80,3]]},"1252":{"position":[[35,3]]},"1253":{"position":[[111,3],[326,3]]}},"keywords":{}}],["low",{"_index":1919,"title":{},"content":{"362":{"position":[[2656,3]]},"741":{"position":[[2656,3]]}},"keywords":{}}],["low_pass_filt",{"_index":1174,"title":{},"content":{"94":{"position":[[644,16]]},"226":{"position":[[644,16]]}},"keywords":{}}],["lower",{"_index":2685,"title":{},"content":{"583":{"position":[[219,5]]},"724":{"position":[[203,5]]},"1190":{"position":[[8,5]]}},"keywords":{}}],["lowercas",{"_index":1368,"title":{},"content":{"133":{"position":[[269,10]]},"256":{"position":[[269,10]]},"589":{"position":[[182,10]]},"600":{"position":[[85,10],[206,10]]},"605":{"position":[[68,10],[146,10]]},"620":{"position":[[212,9]]}},"keywords":{}}],["lp",{"_index":5459,"title":{},"content":{"1061":{"position":[[216,2]]}},"keywords":{}}],["lproj",{"_index":6953,"title":{},"content":{"1366":{"position":[[2461,6]]}},"keywords":{}}],["ls",{"_index":4448,"title":{},"content":{"910":{"position":[[115,2],[118,2]]}},"keywords":{}}],["lsp",{"_index":769,"title":{"873":{"position":[[9,4]]},"954":{"position":[[4,4]]},"955":{"position":[[8,4]]},"957":{"position":[[5,4]]},"1168":{"position":[[0,3]]},"1169":{"position":[[5,4]]}},"content":{"23":{"position":[[2993,3]]},"873":{"position":[[156,6],[358,3]]},"954":{"position":[[0,3],[488,3]]},"955":{"position":[[242,3]]},"959":{"position":[[383,3]]},"1169":{"position":[[9,3],[60,3]]}},"keywords":{}}],["lt;$header_namespace/$header_name>",{"_index":7051,"title":{},"content":{"1373":{"position":[[4896,38]]},"1382":{"position":[[5966,38]]},"1384":{"position":[[6479,39],[10913,38]]},"1385":{"position":[[3879,38]]},"1387":{"position":[[6212,38]]},"1388":{"position":[[6835,38]]},"1454":{"position":[[5183,39]]},"1485":{"position":[[2247,38]]}},"keywords":{}}],["lt;<",{"_index":550,"title":{},"content":{"18":{"position":[[490,8],[543,8]]},"1252":{"position":[[224,8],[271,8]]}},"keywords":{}}],["lt;(buck2",{"_index":5944,"title":{},"content":{"1144":{"position":[[105,10],[140,10]]}},"keywords":{}}],["lt;/activity>",{"_index":6603,"title":{},"content":{"1356":{"position":[[2897,17]]}},"keywords":{}}],["lt;/application>",{"_index":6604,"title":{},"content":{"1356":{"position":[[2915,20]]}},"keywords":{}}],["lt;/intent",{"_index":6602,"title":{},"content":{"1356":{"position":[[2874,11]]}},"keywords":{}}],["lt;/manifest>",{"_index":6605,"title":{},"content":{"1356":{"position":[[2936,17]]}},"keywords":{}}],["lt;100m",{"_index":8488,"title":{},"content":{"1478":{"position":[[3623,9],[3735,9]]},"1482":{"position":[[2820,9],[2909,9],[3152,9],[3241,9],[3322,9]]}},"keywords":{}}],["lt;?file:*path",{"_index":2707,"title":{},"content":{"584":{"position":[[1100,15]]}},"keywords":{}}],["lt;?file:futur",{"_index":2720,"title":{},"content":{"584":{"position":[[1703,16]]}},"keywords":{}}],["lt;?xml",{"_index":6579,"title":{},"content":{"1356":{"position":[[2170,8]]}},"keywords":{}}],["lt;action",{"_index":6598,"title":{},"content":{"1356":{"position":[[2730,10]]}},"keywords":{}}],["lt;activ",{"_index":6593,"title":{},"content":{"1356":{"position":[[2612,12]]}},"keywords":{}}],["lt;activity>",{"_index":5977,"title":{},"content":{"1167":{"position":[[1114,16]]}},"keywords":{}}],["lt;ani",{"_index":4002,"title":{},"content":{"865":{"position":[[791,7]]}},"keywords":{}}],["lt;applic",{"_index":6590,"title":{},"content":{"1356":{"position":[[2502,15]]}},"keywords":{}}],["lt;arch>",{"_index":5882,"title":{},"content":{"1136":{"position":[[2925,12]]},"1138":{"position":[[6587,12]]},"1140":{"position":[[5513,12]]},"1142":{"position":[[957,12]]},"1146":{"position":[[897,12]]},"1148":{"position":[[3937,12]]},"1155":{"position":[[993,12]]},"1156":{"position":[[571,12]]},"1167":{"position":[[6517,12]]},"1169":{"position":[[356,12]]},"1186":{"position":[[2161,12]]},"1187":{"position":[[2174,12]]},"1188":{"position":[[6900,12]]},"1191":{"position":[[761,12]]},"1192":{"position":[[936,12]]},"1193":{"position":[[988,12]]},"1194":{"position":[[628,12]]},"1195":{"position":[[606,12]]},"1196":{"position":[[416,12]]},"1197":{"position":[[1399,12]]},"1198":{"position":[[1409,12]]},"1199":{"position":[[1437,12]]},"1200":{"position":[[1304,12]]},"1201":{"position":[[564,12]]},"1202":{"position":[[1706,12],[6103,12]]},"1203":{"position":[[798,12]]},"1204":{"position":[[642,12]]},"1205":{"position":[[1971,12]]},"1206":{"position":[[442,12]]},"1207":{"position":[[599,12]]},"1209":{"position":[[1947,12]]},"1217":{"position":[[5258,12]]},"1219":{"position":[[1244,12]]},"1222":{"position":[[368,12]]},"1223":{"position":[[378,12]]},"1224":{"position":[[558,12]]},"1226":{"position":[[5726,12]]},"1228":{"position":[[7339,12]]},"1235":{"position":[[3207,12]]},"1237":{"position":[[5896,12]]}},"keywords":{}}],["lt;arg>",{"_index":2073,"title":{},"content":{"389":{"position":[[672,13]]},"768":{"position":[[672,13]]}},"keywords":{}}],["lt;args>",{"_index":7960,"title":{},"content":{"1426":{"position":[[2847,15]]}},"keywords":{}}],["lt;attribute>",{"_index":5826,"title":{},"content":{"1131":{"position":[[27,17]]},"1136":{"position":[[1390,17],[1812,20]]},"1148":{"position":[[1746,17],[2168,20]]},"1205":{"position":[[870,17],[1292,20]]},"1209":{"position":[[623,17],[1045,20]]},"1226":{"position":[[2563,17],[2985,20]]},"1235":{"position":[[1883,17],[2305,20]]},"1237":{"position":[[2733,17],[3155,20]]}},"keywords":{}}],["lt;buck2_build_api::artifact_groups::artifact_group_values::transitivesetiterator<buck2_build_api::artifact_groups::artifact_group_values::artifactgroupvalu",{"_index":6104,"title":{},"content":{"1232":{"position":[[96,163],[527,163]]}},"keywords":{}}],["lt;buck2_events::dispatch::eventdispatcher>::span_async<buck2_data::commandstart",{"_index":6138,"title":{},"content":{"1232":{"position":[[2440,88]]}},"keywords":{}}],["lt;buck2_events::dispatch::span>::call_in_span::<core::task::poll::poll<(core::result::result<cli_proto::buildrespons",{"_index":6135,"title":{},"content":{"1232":{"position":[[2259,132]]}},"keywords":{}}],["lt;build_report_options>",{"_index":5926,"title":{},"content":{"1138":{"position":[[1910,28]]},"1140":{"position":[[1399,28]]},"1167":{"position":[[2403,28]]},"1188":{"position":[[1452,28]]},"1217":{"position":[[1144,28]]},"1228":{"position":[[3225,28]]}},"keywords":{}}],["lt;bxl",{"_index":3868,"title":{},"content":{"841":{"position":[[59,7],[112,7],[366,7]]},"1140":{"position":[[51,7],[73,7],[111,7]]},"1188":{"position":[[104,7],[126,7],[164,7]]}},"keywords":{}}],["lt;categori",{"_index":6600,"title":{},"content":{"1356":{"position":[[2798,12]]}},"keywords":{}}],["lt;category>",{"_index":6026,"title":{},"content":{"1203":{"position":[[105,16],[192,16]]}},"keywords":{}}],["lt;cell",{"_index":3872,"title":{},"content":{"841":{"position":[[148,8]]}},"keywords":{}}],["lt;cell>",{"_index":5952,"title":{},"content":{"1150":{"position":[[521,12],[545,12]]},"1193":{"position":[[328,12]]}},"keywords":{}}],["lt;cell>//path/file.bxl:<function>",{"_index":5936,"title":{},"content":{"1140":{"position":[[189,46]]},"1188":{"position":[[242,46]]}},"keywords":{}}],["lt;cell>//path/to/fil",{"_index":1816,"title":{},"content":{"334":{"position":[[489,28]]},"474":{"position":[[228,28]]}},"keywords":{}}],["lt;chdir>",{"_index":6037,"title":{},"content":{"1217":{"position":[[472,13]]}},"keywords":{}}],["lt;client_metadata>",{"_index":5916,"title":{},"content":{"1136":{"position":[[6554,23]]},"1138":{"position":[[10216,23]]},"1140":{"position":[[9142,23]]},"1142":{"position":[[4586,23]]},"1144":{"position":[[914,23]]},"1146":{"position":[[4526,23]]},"1148":{"position":[[8117,23]]},"1150":{"position":[[1149,23]]},"1152":{"position":[[847,23]]},"1154":{"position":[[1002,23]]},"1155":{"position":[[4622,23]]},"1156":{"position":[[4200,23]]},"1157":{"position":[[785,23]]},"1158":{"position":[[779,23]]},"1159":{"position":[[779,23]]},"1161":{"position":[[1774,23]]},"1163":{"position":[[1160,23]]},"1165":{"position":[[989,23]]},"1167":{"position":[[10146,23]]},"1169":{"position":[[3254,23]]},"1171":{"position":[[1495,23]]},"1172":{"position":[[2880,23]]},"1173":{"position":[[1567,23]]},"1174":{"position":[[995,23]]},"1175":{"position":[[991,23]]},"1176":{"position":[[1160,23]]},"1177":{"position":[[1081,23]]},"1178":{"position":[[1398,23]]},"1179":{"position":[[1195,23]]},"1180":{"position":[[1466,23]]},"1181":{"position":[[1986,23]]},"1182":{"position":[[1029,23]]},"1183":{"position":[[984,23]]},"1185":{"position":[[829,23]]},"1186":{"position":[[5790,23]]},"1187":{"position":[[5803,23]]},"1188":{"position":[[10529,23]]},"1190":{"position":[[2160,23]]},"1191":{"position":[[4390,23]]},"1192":{"position":[[4565,23]]},"1193":{"position":[[4617,23]]},"1194":{"position":[[4257,23]]},"1195":{"position":[[4235,23]]},"1196":{"position":[[4045,23]]},"1197":{"position":[[5028,23]]},"1198":{"position":[[5038,23]]},"1199":{"position":[[5066,23]]},"1200":{"position":[[4933,23]]},"1201":{"position":[[4193,23]]},"1202":{"position":[[937,23],[5335,23],[9732,23]]},"1203":{"position":[[4427,23]]},"1204":{"position":[[4271,23],[5173,23],[6103,23],[7005,23],[7991,23],[8945,23],[9892,23],[10822,23]]},"1205":{"position":[[5600,23]]},"1206":{"position":[[4299,23]]},"1207":{"position":[[4228,23]]},"1209":{"position":[[5576,23]]},"1211":{"position":[[900,23]]},"1213":{"position":[[671,23]]},"1215":{"position":[[755,23]]},"1217":{"position":[[8887,23]]},"1219":{"position":[[4142,23]]},"1221":{"position":[[874,23]]},"1222":{"position":[[4013,23]]},"1223":{"position":[[4023,23]]},"1224":{"position":[[3456,23]]},"1226":{"position":[[9355,23]]},"1228":{"position":[[10968,23]]},"1235":{"position":[[6836,23]]},"1237":{"position":[[9525,23]]}},"keywords":{}}],["lt;command>",{"_index":3508,"title":{},"content":{"692":{"position":[[241,16]]},"1154":{"position":[[77,15]]},"1171":{"position":[[76,15]]},"1185":{"position":[[61,15]]},"1190":{"position":[[65,15]]},"1202":{"position":[[73,15]]},"1204":{"position":[[110,15]]},"1221":{"position":[[64,15]]}},"keywords":{}}],["lt;command_args_file>",{"_index":6035,"title":{},"content":{"1217":{"position":[[385,25]]}},"keywords":{}}],["lt;core::future::from_generator::genfuture<<alloc::boxed::box<dyn",{"_index":6122,"title":{},"content":{"1232":{"position":[[1322,75]]}},"keywords":{}}],["lt;core::future::from_generator::genfuture<<buck2_server_commands::commands::build::buildservercommand",{"_index":6117,"title":{},"content":{"1232":{"position":[[1049,109]]}},"keywords":{}}],["lt;core::future::from_generator::genfuture<<cli::commands::daemon::buckdserverdependenciesimpl",{"_index":6143,"title":{},"content":{"1232":{"position":[[2893,101]]}},"keywords":{}}],["lt;core::future::from_generator::genfuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::buildservercommand>::{closure#0}::{closure#0}>",{"_index":6132,"title":{},"content":{"1232":{"position":[[1989,189]]}},"keywords":{}}],["lt;count>",{"_index":6029,"title":{},"content":{"1204":{"position":[[9283,13]]}},"keywords":{}}],["lt;cstring>",{"_index":7288,"title":{},"content":{"1386":{"position":[[6230,15]]}},"keywords":{}}],["lt;destination_dir>",{"_index":5959,"title":{},"content":{"1155":{"position":[[353,23]]}},"keywords":{}}],["lt;dir>",{"_index":3507,"title":{},"content":{"692":{"position":[[229,11]]}},"keywords":{}}],["lt;dot|dot_compact|json|starlark>",{"_index":5875,"title":{},"content":{"1136":{"position":[[2103,37]]},"1148":{"position":[[2459,37]]},"1209":{"position":[[1336,37]]},"1235":{"position":[[2596,37]]}},"keywords":{}}],["lt;duration>",{"_index":5940,"title":{},"content":{"1142":{"position":[[203,18]]}},"keywords":{}}],["lt;elsewhere>",{"_index":5174,"title":{},"content":{"1043":{"position":[[418,17]]},"1044":{"position":[[1154,17],[1838,17]]}},"keywords":{}}],["lt;ensur",{"_index":1595,"title":{},"content":{"288":{"position":[[664,11]]},"289":{"position":[[684,11]]},"510":{"position":[[735,11]]},"511":{"position":[[750,11]]},"834":{"position":[[157,11]]}},"keywords":{}}],["lt;exclude>",{"_index":6071,"title":{},"content":{"1228":{"position":[[418,18]]}},"keywords":{}}],["lt;file>",{"_index":6290,"title":{},"content":{"1273":{"position":[[605,12]]},"1304":{"position":[[605,12]]},"1332":{"position":[[605,12]]}},"keywords":{}}],["lt;file:*path",{"_index":2704,"title":{},"content":{"584":{"position":[[805,14]]}},"keywords":{}}],["lt;file:cxx",{"_index":2717,"title":{},"content":{"584":{"position":[[1644,12]]}},"keywords":{}}],["lt;filter_category>",{"_index":5991,"title":{},"content":{"1172":{"position":[[1420,23]]},"1173":{"position":[[720,23]]}},"keywords":{}}],["lt;folly/conv.h>",{"_index":7269,"title":{},"content":{"1386":{"position":[[3432,20]]}},"keywords":{}}],["lt;folly/executor.h>",{"_index":7270,"title":{},"content":{"1386":{"position":[[3462,24]]}},"keywords":{}}],["lt;folly/io/async/eventbase.h>",{"_index":7271,"title":{},"content":{"1386":{"position":[[3496,34]]}},"keywords":{}}],["lt;format>",{"_index":5963,"title":{},"content":{"1155":{"position":[[534,14]]},"1157":{"position":[[98,14]]},"1158":{"position":[[92,14]]},"1159":{"position":[[92,14]]},"1180":{"position":[[764,14]]}},"keywords":{}}],["lt;function",{"_index":3870,"title":{},"content":{"841":{"position":[[83,12],[205,12]]}},"keywords":{}}],["lt;host>",{"_index":5881,"title":{},"content":{"1136":{"position":[[2850,12]]},"1138":{"position":[[6512,12]]},"1140":{"position":[[5438,12]]},"1142":{"position":[[882,12]]},"1146":{"position":[[822,12]]},"1148":{"position":[[3862,12]]},"1155":{"position":[[918,12]]},"1156":{"position":[[496,12]]},"1167":{"position":[[6442,12]]},"1169":{"position":[[281,12]]},"1186":{"position":[[2086,12]]},"1187":{"position":[[2099,12]]},"1188":{"position":[[6825,12]]},"1191":{"position":[[686,12]]},"1192":{"position":[[861,12]]},"1193":{"position":[[913,12]]},"1194":{"position":[[553,12]]},"1195":{"position":[[531,12]]},"1196":{"position":[[341,12]]},"1197":{"position":[[1324,12]]},"1198":{"position":[[1334,12]]},"1199":{"position":[[1362,12]]},"1200":{"position":[[1229,12]]},"1201":{"position":[[489,12]]},"1202":{"position":[[1631,12],[6028,12]]},"1203":{"position":[[723,12]]},"1204":{"position":[[567,12]]},"1205":{"position":[[1896,12]]},"1206":{"position":[[367,12]]},"1207":{"position":[[524,12]]},"1209":{"position":[[1872,12]]},"1217":{"position":[[5183,12]]},"1219":{"position":[[1169,12]]},"1222":{"position":[[293,12]]},"1223":{"position":[[303,12]]},"1224":{"position":[[483,12]]},"1226":{"position":[[5651,12]]},"1228":{"position":[[7264,12]]},"1235":{"position":[[3132,12]]},"1237":{"position":[[5821,12]]}},"keywords":{}}],["lt;id>",{"_index":5987,"title":{},"content":{"1172":{"position":[[1028,10]]},"1173":{"position":[[328,10]]},"1174":{"position":[[232,10]]},"1175":{"position":[[252,10]]},"1176":{"position":[[336,10]]},"1177":{"position":[[248,10]]},"1178":{"position":[[402,10]]},"1179":{"position":[[268,10]]},"1180":{"position":[[598,10]]},"1181":{"position":[[353,10]]},"1182":{"position":[[290,10]]},"1183":{"position":[[245,10]]}},"keywords":{}}],["lt;import_path>",{"_index":6023,"title":{},"content":{"1202":{"position":[[1305,19],[1336,19]]}},"keywords":{}}],["lt;include>",{"_index":6072,"title":{},"content":{"1228":{"position":[[487,18]]}},"keywords":{}}],["lt;install_args>",{"_index":5970,"title":{},"content":{"1167":{"position":[[88,24]]}},"keywords":{}}],["lt;intent",{"_index":6596,"title":{},"content":{"1356":{"position":[[2708,10]]}},"keywords":{}}],["lt;intent_uri>",{"_index":5980,"title":{},"content":{"1167":{"position":[[1304,18]]}},"keywords":{}}],["lt;iostream>",{"_index":547,"title":{},"content":{"18":{"position":[[450,16]]}},"keywords":{}}],["lt;key>",{"_index":2071,"title":{},"content":{"389":{"position":[[610,13],[643,13]]},"768":{"position":[[610,13],[643,13]]}},"keywords":{}}],["lt;kind>",{"_index":6031,"title":{},"content":{"1211":{"position":[[96,12]]}},"keywords":{}}],["lt;location_style>",{"_index":6014,"title":{},"content":{"1193":{"position":[[498,22]]}},"keywords":{}}],["lt;macro>",{"_index":7166,"title":{},"content":{"1383":{"position":[[3001,16]]}},"keywords":{}}],["lt;manifest",{"_index":6473,"title":{},"content":{"1351":{"position":[[2044,12]]},"1356":{"position":[[2235,12]]}},"keywords":{}}],["lt;map>",{"_index":7265,"title":{},"content":{"1386":{"position":[[3278,11]]}},"keywords":{}}],["lt;materializations>",{"_index":5920,"title":{},"content":{"1138":{"position":[[697,24]]},"1140":{"position":[[323,24]]},"1188":{"position":[[376,24]]}},"keywords":{}}],["lt;math/trig/cos.h>",{"_index":7220,"title":{},"content":{"1384":{"position":[[21692,23]]}},"keywords":{}}],["lt;math/trig/tan.h>",{"_index":7221,"title":{},"content":{"1384":{"position":[[21720,23]]}},"keywords":{}}],["lt;millis>",{"_index":6182,"title":{},"content":{"1244":{"position":[[296,14]]}},"keywords":{}}],["lt;min_ttl>",{"_index":6028,"title":{},"content":{"1204":{"position":[[7322,15],[7349,15]]}},"keywords":{}}],["lt;mode>",{"_index":6008,"title":{},"content":{"1186":{"position":[[94,12],[433,12]]},"1187":{"position":[[107,12],[446,12]]},"1188":{"position":[[91,12],[5172,12]]}},"keywords":{}}],["lt;modefile>",{"_index":4586,"title":{},"content":{"937":{"position":[[395,18]]}},"keywords":{}}],["lt;my_alias>"",{"_index":8036,"title":{},"content":{"1438":{"position":[[1930,22]]}},"keywords":{}}],["lt;name>.escript",{"_index":7547,"title":{},"content":{"1395":{"position":[[3585,21]]}},"keywords":{}}],["lt;name>_suit",{"_index":7615,"title":{},"content":{"1398":{"position":[[1430,19]]}},"keywords":{}}],["lt;name>_suite.erl",{"_index":7614,"title":{},"content":{"1398":{"position":[[1345,22],[5261,23]]}},"keywords":{}}],["lt;name>_suite_data",{"_index":7623,"title":{},"content":{"1398":{"position":[[5299,23]]}},"keywords":{}}],["lt;name.jar>",{"_index":7959,"title":{},"content":{"1426":{"position":[[2828,18]]}},"keywords":{}}],["lt;native_subdir>",{"_index":5961,"title":{},"content":{"1155":{"position":[[408,21]]}},"keywords":{}}],["lt;number>",{"_index":5817,"title":{},"content":{"1127":{"position":[[437,14]]},"1172":{"position":[[956,14]]},"1173":{"position":[[256,14]]},"1174":{"position":[[160,14]]},"1175":{"position":[[180,14]]},"1176":{"position":[[264,14]]},"1177":{"position":[[176,14],[413,14]]},"1178":{"position":[[330,14]]},"1179":{"position":[[196,14]]},"1180":{"position":[[526,14]]},"1181":{"position":[[281,14],[518,14]]},"1182":{"position":[[218,14]]},"1183":{"position":[[173,14]]}},"keywords":{}}],["lt;oncall>",{"_index":5915,"title":{},"content":{"1136":{"position":[[6487,14]]},"1138":{"position":[[10149,14]]},"1140":{"position":[[9075,14]]},"1142":{"position":[[4519,14]]},"1144":{"position":[[847,14]]},"1146":{"position":[[4459,14]]},"1148":{"position":[[8050,14]]},"1150":{"position":[[1082,14]]},"1152":{"position":[[780,14]]},"1154":{"position":[[935,14]]},"1155":{"position":[[4555,14]]},"1156":{"position":[[4133,14]]},"1157":{"position":[[718,14]]},"1158":{"position":[[712,14]]},"1159":{"position":[[712,14]]},"1161":{"position":[[1707,14]]},"1163":{"position":[[1093,14]]},"1165":{"position":[[922,14]]},"1167":{"position":[[10079,14]]},"1169":{"position":[[3187,14]]},"1171":{"position":[[1428,14]]},"1172":{"position":[[2813,14]]},"1173":{"position":[[1500,14]]},"1174":{"position":[[928,14]]},"1175":{"position":[[924,14]]},"1176":{"position":[[1093,14]]},"1177":{"position":[[1014,14]]},"1178":{"position":[[1331,14]]},"1179":{"position":[[1128,14]]},"1180":{"position":[[1399,14]]},"1181":{"position":[[1919,14]]},"1182":{"position":[[962,14]]},"1183":{"position":[[917,14]]},"1185":{"position":[[762,14]]},"1186":{"position":[[5723,14]]},"1187":{"position":[[5736,14]]},"1188":{"position":[[10462,14]]},"1190":{"position":[[2093,14]]},"1191":{"position":[[4323,14]]},"1192":{"position":[[4498,14]]},"1193":{"position":[[4550,14]]},"1194":{"position":[[4190,14]]},"1195":{"position":[[4168,14]]},"1196":{"position":[[3978,14]]},"1197":{"position":[[4961,14]]},"1198":{"position":[[4971,14]]},"1199":{"position":[[4999,14]]},"1200":{"position":[[4866,14]]},"1201":{"position":[[4126,14]]},"1202":{"position":[[870,14],[5268,14],[9665,14]]},"1203":{"position":[[4360,14]]},"1204":{"position":[[4204,14],[5106,14],[6036,14],[6938,14],[7924,14],[8878,14],[9825,14],[10755,14]]},"1205":{"position":[[5533,14]]},"1206":{"position":[[4232,14]]},"1207":{"position":[[4161,14]]},"1209":{"position":[[5509,14]]},"1211":{"position":[[833,14]]},"1213":{"position":[[604,14]]},"1215":{"position":[[688,14]]},"1217":{"position":[[8820,14]]},"1219":{"position":[[4075,14]]},"1221":{"position":[[807,14]]},"1222":{"position":[[3946,14]]},"1223":{"position":[[3956,14]]},"1224":{"position":[[3389,14]]},"1226":{"position":[[9288,14]]},"1228":{"position":[[10901,14]]},"1235":{"position":[[6769,14]]},"1237":{"position":[[9458,14]]}},"keywords":{}}],["lt;output>",{"_index":5989,"title":{},"content":{"1172":{"position":[[1194,14]]},"1173":{"position":[[494,14]]},"1178":{"position":[[696,14]]},"1179":{"position":[[434,14]]}},"keywords":{}}],["lt;output_attribute>",{"_index":6030,"title":{},"content":{"1206":{"position":[[3612,24]]}},"keywords":{}}],["lt;output_dir>",{"_index":5965,"title":{},"content":{"1156":{"position":[[205,18],[246,18]]}},"keywords":{}}],["lt;output_format>",{"_index":6013,"title":{},"content":{"1193":{"position":[[426,21]]}},"keywords":{}}],["lt;output_hashes_file>",{"_index":5923,"title":{},"content":{"1138":{"position":[[1318,26]]}},"keywords":{}}],["lt;output_path>",{"_index":5922,"title":{},"content":{"1138":{"position":[[1212,19]]},"1205":{"position":[[296,19],[327,19]]},"1206":{"position":[[140,19],[3637,19]]}},"keywords":{}}],["lt;package>",{"_index":6024,"title":{},"content":{"1202":{"position":[[5721,15],[5748,15]]}},"keywords":{}}],["lt;path>",{"_index":4004,"title":{},"content":{"865":{"position":[[823,13]]},"911":{"position":[[138,13],[203,12]]},"1136":{"position":[[2799,12],[5732,12],[5792,12],[5883,12]]},"1138":{"position":[[1469,12],[6461,12],[9394,12],[9454,12],[9545,12]]},"1140":{"position":[[459,12],[958,12],[5387,12],[8320,12],[8380,12],[8471,12]]},"1142":{"position":[[831,12],[3764,12],[3824,12],[3915,12]]},"1146":{"position":[[771,12],[3704,12],[3764,12],[3855,12]]},"1148":{"position":[[3811,12],[6744,12],[6804,12],[6895,12]]},"1155":{"position":[[867,12],[3800,12],[3860,12],[3951,12]]},"1156":{"position":[[445,12],[3378,12],[3438,12],[3529,12]]},"1163":{"position":[[338,12],[398,12],[489,12]]},"1165":{"position":[[167,12],[227,12],[318,12]]},"1167":{"position":[[1962,12],[6391,12],[9324,12],[9384,12],[9475,12]]},"1169":{"position":[[230,12],[2432,12],[2492,12],[2583,12]]},"1186":{"position":[[74,12],[307,12],[2035,12],[4968,12],[5028,12],[5119,12]]},"1187":{"position":[[87,12],[320,12],[2048,12],[4981,12],[5041,12],[5132,12]]},"1188":{"position":[[71,12],[512,12],[1011,12],[5046,12],[6774,12],[9707,12],[9767,12],[9858,12]]},"1191":{"position":[[635,12],[3568,12],[3628,12],[3719,12]]},"1192":{"position":[[810,12],[3743,12],[3803,12],[3894,12]]},"1193":{"position":[[862,12],[3795,12],[3855,12],[3946,12]]},"1194":{"position":[[502,12],[3435,12],[3495,12],[3586,12]]},"1195":{"position":[[480,12],[3413,12],[3473,12],[3564,12]]},"1196":{"position":[[290,12],[3223,12],[3283,12],[3374,12]]},"1197":{"position":[[1273,12],[4206,12],[4266,12],[4357,12]]},"1198":{"position":[[1283,12],[4216,12],[4276,12],[4367,12]]},"1199":{"position":[[1311,12],[4244,12],[4304,12],[4395,12]]},"1200":{"position":[[1178,12],[4111,12],[4171,12],[4262,12]]},"1201":{"position":[[438,12],[3371,12],[3431,12],[3522,12]]},"1202":{"position":[[1580,12],[4513,12],[4573,12],[4664,12],[5977,12],[8910,12],[8970,12],[9061,12]]},"1203":{"position":[[672,12],[3605,12],[3665,12],[3756,12]]},"1204":{"position":[[516,12],[3449,12],[3509,12],[3600,12]]},"1205":{"position":[[1845,12],[4778,12],[4838,12],[4929,12]]},"1206":{"position":[[316,12],[3249,12],[3309,12],[3400,12]]},"1207":{"position":[[473,12],[3406,12],[3466,12],[3557,12]]},"1209":{"position":[[1821,12],[4754,12],[4814,12],[4905,12]]},"1211":{"position":[[201,12]]},"1217":{"position":[[703,12],[5132,12],[8065,12],[8125,12],[8216,12]]},"1219":{"position":[[1118,12],[3320,12],[3380,12],[3471,12]]},"1222":{"position":[[70,15],[242,12],[3175,12],[3235,12],[3326,12],[3463,15]]},"1223":{"position":[[80,15],[252,12],[3185,12],[3245,12],[3336,12],[3473,15]]},"1224":{"position":[[432,12],[2634,12],[2694,12],[2785,12]]},"1226":{"position":[[4853,12],[5600,12],[8533,12],[8593,12],[8684,12]]},"1228":{"position":[[2784,12],[7213,12],[10146,12],[10206,12],[10297,12]]},"1235":{"position":[[3081,12],[6014,12],[6074,12],[6165,12]]},"1237":{"position":[[5023,12],[5770,12],[8703,12],[8763,12],[8854,12]]}},"keywords":{}}],["lt;pattern>",{"_index":6025,"title":{},"content":{"1203":{"position":[[89,15],[146,15]]}},"keywords":{}}],["lt;pattern>)flag",{"_index":7177,"title":{},"content":{"1383":{"position":[[3421,21],[3759,21],[4075,21]]}},"keywords":{}}],["lt;platform>",{"_index":5877,"title":{},"content":{"1136":{"position":[[2489,16]]},"1138":{"position":[[6151,16]]},"1140":{"position":[[5077,16]]},"1146":{"position":[[461,16]]},"1148":{"position":[[3501,16]]},"1167":{"position":[[6081,16]]},"1186":{"position":[[1725,16]]},"1187":{"position":[[1738,16]]},"1188":{"position":[[6464,16]]},"1192":{"position":[[500,16]]},"1197":{"position":[[963,16]]},"1198":{"position":[[973,16]]},"1199":{"position":[[1001,16]]},"1200":{"position":[[868,16]]},"1203":{"position":[[362,16]]},"1205":{"position":[[1535,16]]},"1217":{"position":[[4822,16]]},"1226":{"position":[[5290,16]]},"1228":{"position":[[6903,16]]},"1237":{"position":[[5460,16]]}},"keywords":{}}],["lt;preemptible>",{"_index":5893,"title":{},"content":{"1136":{"position":[[3614,19]]},"1138":{"position":[[7276,19]]},"1140":{"position":[[6202,19]]},"1142":{"position":[[1646,19]]},"1146":{"position":[[1586,19]]},"1148":{"position":[[4626,19]]},"1155":{"position":[[1682,19]]},"1156":{"position":[[1260,19]]},"1167":{"position":[[7206,19]]},"1169":{"position":[[1045,19]]},"1186":{"position":[[2850,19]]},"1187":{"position":[[2863,19]]},"1188":{"position":[[7589,19]]},"1191":{"position":[[1450,19]]},"1192":{"position":[[1625,19]]},"1193":{"position":[[1677,19]]},"1194":{"position":[[1317,19]]},"1195":{"position":[[1295,19]]},"1196":{"position":[[1105,19]]},"1197":{"position":[[2088,19]]},"1198":{"position":[[2098,19]]},"1199":{"position":[[2126,19]]},"1200":{"position":[[1993,19]]},"1201":{"position":[[1253,19]]},"1202":{"position":[[2395,19],[6792,19]]},"1203":{"position":[[1487,19]]},"1204":{"position":[[1331,19]]},"1205":{"position":[[2660,19]]},"1206":{"position":[[1131,19]]},"1207":{"position":[[1288,19]]},"1209":{"position":[[2636,19]]},"1217":{"position":[[5947,19]]},"1219":{"position":[[1933,19]]},"1222":{"position":[[1057,19]]},"1223":{"position":[[1067,19]]},"1224":{"position":[[1247,19]]},"1226":{"position":[[6415,19]]},"1228":{"position":[[8028,19]]},"1235":{"position":[[3896,19]]},"1237":{"position":[[6585,19]]}},"keywords":{}}],["lt;profile_mode>",{"_index":5949,"title":{},"content":{"1148":{"position":[[7075,20]]}},"keywords":{}}],["lt;profile_output>",{"_index":5951,"title":{},"content":{"1148":{"position":[[7530,22]]}},"keywords":{}}],["lt;query>",{"_index":5866,"title":{},"content":{"1136":{"position":[[823,13],[864,13]]},"1148":{"position":[[1179,13],[1220,13]]},"1209":{"position":[[56,13],[97,13]]},"1235":{"position":[[1316,13],[1357,13]]}},"keywords":{}}],["lt;relname>.rel",{"_index":7581,"title":{},"content":{"1397":{"position":[[3043,19]]}},"keywords":{}}],["lt;scheme>",{"_index":6067,"title":{},"content":{"1226":{"position":[[5009,14]]},"1237":{"position":[[5179,14]]}},"keywords":{}}],["lt;section>.<field>",{"_index":2645,"title":{},"content":{"578":{"position":[[129,30]]}},"keywords":{}}],["lt;section.option=value>",{"_index":5879,"title":{},"content":{"1136":{"position":[[2733,28]]},"1138":{"position":[[6395,28]]},"1140":{"position":[[5321,28]]},"1142":{"position":[[765,28]]},"1146":{"position":[[705,28]]},"1148":{"position":[[3745,28]]},"1155":{"position":[[801,28]]},"1156":{"position":[[379,28]]},"1167":{"position":[[6325,28]]},"1169":{"position":[[164,28]]},"1186":{"position":[[1969,28]]},"1187":{"position":[[1982,28]]},"1188":{"position":[[6708,28]]},"1191":{"position":[[569,28]]},"1192":{"position":[[744,28]]},"1193":{"position":[[796,28]]},"1194":{"position":[[436,28]]},"1195":{"position":[[414,28]]},"1196":{"position":[[224,28]]},"1197":{"position":[[1207,28]]},"1198":{"position":[[1217,28]]},"1199":{"position":[[1245,28]]},"1200":{"position":[[1112,28]]},"1201":{"position":[[372,28]]},"1202":{"position":[[1514,28],[5911,28]]},"1203":{"position":[[606,28]]},"1204":{"position":[[450,28]]},"1205":{"position":[[1779,28]]},"1206":{"position":[[250,28]]},"1207":{"position":[[407,28]]},"1209":{"position":[[1755,28]]},"1217":{"position":[[5066,28]]},"1219":{"position":[[1052,28]]},"1222":{"position":[[176,28]]},"1223":{"position":[[186,28]]},"1224":{"position":[[366,28]]},"1226":{"position":[[5534,28]]},"1228":{"position":[[7147,28]]},"1235":{"position":[[3015,28]]},"1237":{"position":[[5704,28]]}},"keywords":{}}],["lt;serial>",{"_index":5975,"title":{},"content":{"1167":{"position":[[759,14]]}},"keywords":{}}],["lt;set>",{"_index":7266,"title":{},"content":{"1386":{"position":[[3299,11]]}},"keywords":{}}],["lt;sha1sum>",{"_index":5623,"title":{},"content":{"1096":{"position":[[324,15]]}},"keywords":{}}],["lt;shell>",{"_index":5946,"title":{},"content":{"1144":{"position":[[209,13],[234,13]]}},"keywords":{}}],["lt;some",{"_index":3828,"title":{},"content":{"834":{"position":[[187,8]]},"963":{"position":[[88,8]]}},"keywords":{}}],["lt;starlark_subdir>",{"_index":5962,"title":{},"content":{"1155":{"position":[[481,23]]}},"keywords":{}}],["lt;string>",{"_index":7264,"title":{},"content":{"1386":{"position":[[3254,14]]}},"keywords":{}}],["lt;super|simple|...>",{"_index":5899,"title":{},"content":{"1136":{"position":[[4997,24]]},"1138":{"position":[[8659,24]]},"1140":{"position":[[7585,24]]},"1142":{"position":[[3029,24]]},"1146":{"position":[[2969,24]]},"1148":{"position":[[6009,24]]},"1155":{"position":[[3065,24]]},"1156":{"position":[[2643,24]]},"1161":{"position":[[536,24]]},"1167":{"position":[[8589,24]]},"1181":{"position":[[748,24]]},"1186":{"position":[[4233,24]]},"1187":{"position":[[4246,24]]},"1188":{"position":[[8972,24]]},"1191":{"position":[[2833,24]]},"1192":{"position":[[3008,24]]},"1193":{"position":[[3060,24]]},"1194":{"position":[[2700,24]]},"1195":{"position":[[2678,24]]},"1196":{"position":[[2488,24]]},"1197":{"position":[[3471,24]]},"1198":{"position":[[3481,24]]},"1199":{"position":[[3509,24]]},"1200":{"position":[[3376,24]]},"1201":{"position":[[2636,24]]},"1202":{"position":[[3778,24],[8175,24]]},"1203":{"position":[[2870,24]]},"1204":{"position":[[2714,24]]},"1205":{"position":[[4043,24]]},"1206":{"position":[[2514,24]]},"1207":{"position":[[2671,24]]},"1209":{"position":[[4019,24]]},"1217":{"position":[[7330,24]]},"1222":{"position":[[2440,24]]},"1223":{"position":[[2450,24]]},"1226":{"position":[[7798,24]]},"1228":{"position":[[9411,24]]},"1235":{"position":[[5279,24]]},"1237":{"position":[[7968,24]]}},"keywords":{}}],["lt;symlinkd^>",{"_index":4465,"title":{},"content":{"911":{"position":[[227,18]]}},"keywords":{}}],["lt;tab>",{"_index":4287,"title":{},"content":{"894":{"position":[[134,11],[153,11],[176,11],[197,11]]}},"keywords":{}}],["lt;target",{"_index":4874,"title":{},"content":{"984":{"position":[[64,10]]}},"keywords":{}}],["lt;target>",{"_index":2072,"title":{},"content":{"389":{"position":[[624,15],[657,14],[769,15]]},"570":{"position":[[652,14],[693,14]]},"768":{"position":[[624,15],[657,14],[769,15]]},"1217":{"position":[[199,14],[242,14]]}},"keywords":{}}],["lt;target>?<modifi",{"_index":4664,"title":{},"content":{"942":{"position":[[59,28]]}},"keywords":{}}],["lt;target_hash_file_mode>",{"_index":6050,"title":{},"content":{"1226":{"position":[[557,29]]},"1237":{"position":[[727,29]]}},"keywords":{}}],["lt;target_hash_function>",{"_index":6054,"title":{},"content":{"1226":{"position":[[1403,28]]},"1237":{"position":[[1573,28]]}},"keywords":{}}],["lt;target_hash_modified_paths>",{"_index":6053,"title":{},"content":{"1226":{"position":[[1026,37]]},"1237":{"position":[[1196,37]]}},"keywords":{}}],["lt;target_hash_recursive>",{"_index":6063,"title":{},"content":{"1226":{"position":[[1975,29]]},"1237":{"position":[[2145,29]]}},"keywords":{}}],["lt;target_patterns>",{"_index":6019,"title":{},"content":{"1197":{"position":[[93,26],[131,26]]},"1198":{"position":[[69,26],[107,26]]}},"keywords":{}}],["lt;target_universe>",{"_index":5934,"title":{},"content":{"1138":{"position":[[5591,23]]},"1148":{"position":[[2941,23]]},"1186":{"position":[[1165,23]]},"1187":{"position":[[1178,23]]},"1188":{"position":[[5904,23]]},"1197":{"position":[[403,23]]},"1198":{"position":[[413,23]]},"1199":{"position":[[441,23]]},"1200":{"position":[[308,23]]}},"keywords":{}}],["lt;test_executor_args>",{"_index":6068,"title":{},"content":{"1228":{"position":[[98,30]]}},"keywords":{}}],["lt;test_executor_stderr>",{"_index":6088,"title":{},"content":{"1228":{"position":[[2477,28]]}},"keywords":{}}],["lt;test_executor_stdout>",{"_index":6084,"title":{},"content":{"1228":{"position":[[1949,28]]}},"keywords":{}}],["lt;threads>",{"_index":5929,"title":{},"content":{"1138":{"position":[[2215,15]]},"1140":{"position":[[1704,15]]},"1167":{"position":[[2708,15]]},"1188":{"position":[[1757,15]]},"1217":{"position":[[1449,15]]},"1226":{"position":[[5114,15]]},"1228":{"position":[[3530,15]]},"1237":{"position":[[5284,15]]}},"keywords":{}}],["lt;timeout>",{"_index":6075,"title":{},"content":{"1228":{"position":[[1342,15]]}},"keywords":{}}],["lt;type_traits>",{"_index":7267,"title":{},"content":{"1386":{"position":[[3320,19]]}},"keywords":{}}],["lt;ui>",{"_index":5904,"title":{},"content":{"1136":{"position":[[5171,13]]},"1138":{"position":[[8833,13]]},"1140":{"position":[[7759,13]]},"1142":{"position":[[3203,13]]},"1146":{"position":[[3143,13]]},"1148":{"position":[[6183,13]]},"1155":{"position":[[3239,13]]},"1156":{"position":[[2817,13]]},"1161":{"position":[[710,13]]},"1167":{"position":[[8763,13]]},"1181":{"position":[[922,13]]},"1186":{"position":[[4407,13]]},"1187":{"position":[[4420,13]]},"1188":{"position":[[9146,13]]},"1191":{"position":[[3007,13]]},"1192":{"position":[[3182,13]]},"1193":{"position":[[3234,13]]},"1194":{"position":[[2874,13]]},"1195":{"position":[[2852,13]]},"1196":{"position":[[2662,13]]},"1197":{"position":[[3645,13]]},"1198":{"position":[[3655,13]]},"1199":{"position":[[3683,13]]},"1200":{"position":[[3550,13]]},"1201":{"position":[[2810,13]]},"1202":{"position":[[3952,13],[8349,13]]},"1203":{"position":[[3044,13]]},"1204":{"position":[[2888,13]]},"1205":{"position":[[4217,13]]},"1206":{"position":[[2688,13]]},"1207":{"position":[[2845,13]]},"1209":{"position":[[4193,13]]},"1217":{"position":[[7504,13]]},"1222":{"position":[[2614,13]]},"1223":{"position":[[2624,13]]},"1226":{"position":[[7972,13]]},"1228":{"position":[[9585,13]]},"1235":{"position":[[5453,13]]},"1237":{"position":[[8142,13]]}},"keywords":{}}],["lt;use",{"_index":6587,"title":{},"content":{"1356":{"position":[[2423,8]]}},"keywords":{}}],["lt;uuid>",{"_index":5816,"title":{},"content":{"1127":{"position":[[357,12]]}},"keywords":{}}],["lt;validation_names>",{"_index":5925,"title":{},"content":{"1138":{"position":[[1664,24]]},"1140":{"position":[[1153,24]]},"1167":{"position":[[2157,24]]},"1188":{"position":[[1206,24]]},"1217":{"position":[[898,24]]},"1228":{"position":[[2979,24]]}},"keywords":{}}],["lt;value>",{"_index":5878,"title":{},"content":{"1136":{"position":[[2576,13]]},"1138":{"position":[[6238,13]]},"1140":{"position":[[5164,13]]},"1142":{"position":[[646,13]]},"1146":{"position":[[548,13]]},"1148":{"position":[[3588,13]]},"1167":{"position":[[6168,13]]},"1186":{"position":[[1812,13]]},"1187":{"position":[[1825,13]]},"1188":{"position":[[6551,13]]},"1191":{"position":[[450,13]]},"1192":{"position":[[587,13]]},"1193":{"position":[[677,13]]},"1194":{"position":[[317,13]]},"1195":{"position":[[295,13]]},"1196":{"position":[[105,13]]},"1197":{"position":[[1050,13]]},"1198":{"position":[[1060,13]]},"1199":{"position":[[1088,13]]},"1200":{"position":[[955,13]]},"1201":{"position":[[253,13]]},"1202":{"position":[[1395,13],[5792,13]]},"1203":{"position":[[449,13]]},"1204":{"position":[[331,13]]},"1205":{"position":[[1622,13]]},"1206":{"position":[[3548,13]]},"1207":{"position":[[288,13]]},"1209":{"position":[[1636,13]]},"1217":{"position":[[4909,13]]},"1226":{"position":[[5377,13]]},"1228":{"position":[[6990,13]]},"1235":{"position":[[2896,13]]},"1237":{"position":[[5547,13]]}},"keywords":{}}],["lt;value_style>",{"_index":6015,"title":{},"content":{"1193":{"position":[[587,19]]}},"keywords":{}}],["lt;values>",{"_index":6066,"title":{},"content":{"1226":{"position":[[4567,14]]},"1237":{"position":[[4737,14]]}},"keywords":{}}],["lt;variable>",{"_index":6654,"title":{},"content":{"1360":{"position":[[3312,19]]},"1383":{"position":[[5967,19]]},"1403":{"position":[[2727,19]]}},"keywords":{}}],["lt;vector>",{"_index":7268,"title":{},"content":{"1386":{"position":[[3349,14]]}},"keywords":{}}],["lt;verbosity>",{"_index":5911,"title":{},"content":{"1136":{"position":[[6053,17]]},"1138":{"position":[[9715,17]]},"1140":{"position":[[8641,17]]},"1142":{"position":[[4085,17]]},"1144":{"position":[[413,17]]},"1146":{"position":[[4025,17]]},"1148":{"position":[[7616,17]]},"1150":{"position":[[648,17]]},"1152":{"position":[[346,17]]},"1154":{"position":[[501,17]]},"1155":{"position":[[4121,17]]},"1156":{"position":[[3699,17]]},"1157":{"position":[[284,17]]},"1158":{"position":[[278,17]]},"1159":{"position":[[278,17]]},"1161":{"position":[[1273,17]]},"1163":{"position":[[659,17]]},"1165":{"position":[[488,17]]},"1167":{"position":[[9645,17]]},"1169":{"position":[[2753,17]]},"1171":{"position":[[994,17]]},"1172":{"position":[[2379,17]]},"1173":{"position":[[1066,17]]},"1174":{"position":[[494,17]]},"1175":{"position":[[490,17]]},"1176":{"position":[[659,17]]},"1177":{"position":[[580,17]]},"1178":{"position":[[897,17]]},"1179":{"position":[[694,17]]},"1180":{"position":[[965,17]]},"1181":{"position":[[1485,17]]},"1182":{"position":[[528,17]]},"1183":{"position":[[483,17]]},"1185":{"position":[[328,17]]},"1186":{"position":[[5289,17]]},"1187":{"position":[[5302,17]]},"1188":{"position":[[10028,17]]},"1190":{"position":[[1659,17]]},"1191":{"position":[[3889,17]]},"1192":{"position":[[4064,17]]},"1193":{"position":[[4116,17]]},"1194":{"position":[[3756,17]]},"1195":{"position":[[3734,17]]},"1196":{"position":[[3544,17]]},"1197":{"position":[[4527,17]]},"1198":{"position":[[4537,17]]},"1199":{"position":[[4565,17]]},"1200":{"position":[[4432,17]]},"1201":{"position":[[3692,17]]},"1202":{"position":[[436,17],[4834,17],[9231,17]]},"1203":{"position":[[3926,17]]},"1204":{"position":[[3770,17],[4672,17],[5602,17],[6504,17],[7490,17],[8444,17],[9391,17],[10321,17]]},"1205":{"position":[[5099,17]]},"1206":{"position":[[3798,17]]},"1207":{"position":[[3727,17]]},"1209":{"position":[[5075,17]]},"1211":{"position":[[399,17]]},"1213":{"position":[[170,17]]},"1215":{"position":[[254,17]]},"1217":{"position":[[8386,17]]},"1219":{"position":[[3641,17]]},"1221":{"position":[[373,17]]},"1222":{"position":[[3512,17]]},"1223":{"position":[[3522,17]]},"1224":{"position":[[2955,17]]},"1226":{"position":[[8854,17]]},"1228":{"position":[[10467,17]]},"1235":{"position":[[6335,17]]},"1237":{"position":[[9024,17]]}},"keywords":{}}],["lt;version",{"_index":5885,"title":{},"content":{"1136":{"position":[[3002,11]]},"1138":{"position":[[6664,11]]},"1140":{"position":[[5590,11]]},"1142":{"position":[[1034,11]]},"1146":{"position":[[974,11]]},"1148":{"position":[[4014,11]]},"1155":{"position":[[1070,11]]},"1156":{"position":[[648,11]]},"1167":{"position":[[6594,11]]},"1169":{"position":[[433,11]]},"1186":{"position":[[2238,11]]},"1187":{"position":[[2251,11]]},"1188":{"position":[[6977,11]]},"1191":{"position":[[838,11]]},"1192":{"position":[[1013,11]]},"1193":{"position":[[1065,11]]},"1194":{"position":[[705,11]]},"1195":{"position":[[683,11]]},"1196":{"position":[[493,11]]},"1197":{"position":[[1476,11]]},"1198":{"position":[[1486,11]]},"1199":{"position":[[1514,11]]},"1200":{"position":[[1381,11]]},"1201":{"position":[[641,11]]},"1202":{"position":[[1783,11],[6180,11]]},"1203":{"position":[[875,11]]},"1204":{"position":[[719,11]]},"1205":{"position":[[2048,11]]},"1206":{"position":[[519,11]]},"1207":{"position":[[676,11]]},"1209":{"position":[[2024,11]]},"1217":{"position":[[5335,11]]},"1219":{"position":[[1321,11]]},"1222":{"position":[[445,11]]},"1223":{"position":[[455,11]]},"1224":{"position":[[635,11]]},"1226":{"position":[[5803,11]]},"1228":{"position":[[7416,11]]},"1235":{"position":[[3284,11]]},"1237":{"position":[[5973,11]]}},"keywords":{}}],["lto_mod",{"_index":7377,"title":{},"content":{"1389":{"position":[[2805,9]]}},"keywords":{}}],["lua",{"_index":7237,"title":{},"content":{"1385":{"position":[[1916,3],[2038,3],[7216,3]]},"1443":{"position":[[743,3]]},"1444":{"position":[[659,3],[1886,4]]}},"keywords":{}}],["lua_binari",{"_index":8080,"title":{"1443":{"position":[[0,11]]}},"content":{"1443":{"position":[[4,11],[787,12],[1797,11]]},"1444":{"position":[[703,12]]}},"keywords":{}}],["lua_librari",{"_index":7250,"title":{"1444":{"position":[[0,12]]}},"content":{"1385":{"position":[[7471,12]]},"1443":{"position":[[698,13],[1659,13],[1880,12]]},"1444":{"position":[[4,12],[614,13],[1796,13],[1985,12],[2221,12]]}},"keywords":{}}],["luong",{"_index":102,"title":{},"content":{"5":{"position":[[396,5]]}},"keywords":{}}],["l{}"",{"_index":2185,"title":{},"content":{"408":{"position":[[577,10]]},"787":{"position":[[577,10]]}},"keywords":{}}],["m",{"_index":4675,"title":{},"content":{"942":{"position":[[848,1],[909,1],[1802,1]]},"1136":{"position":[[2562,2]]},"1138":{"position":[[675,2],[6224,2]]},"1140":{"position":[[301,2],[5150,2]]},"1146":{"position":[[534,2]]},"1148":{"position":[[3574,2]]},"1167":{"position":[[6154,2]]},"1186":{"position":[[1798,2]]},"1187":{"position":[[1811,2]]},"1188":{"position":[[354,2],[6537,2]]},"1192":{"position":[[573,2]]},"1197":{"position":[[1036,2]]},"1198":{"position":[[1046,2]]},"1199":{"position":[[1074,2]]},"1200":{"position":[[941,2]]},"1203":{"position":[[435,2]]},"1205":{"position":[[1608,2]]},"1217":{"position":[[4895,2]]},"1226":{"position":[[5363,2]]},"1228":{"position":[[1873,2],[6976,2]]},"1237":{"position":[[5533,2]]}},"keywords":{}}],["mac",{"_index":4502,"title":{},"content":{"919":{"position":[[2298,3],[2332,3],[2465,3]]},"937":{"position":[[114,4],[3722,3],[3736,3],[3757,3],[3898,3],[3910,4],[4126,4],[4358,3]]},"944":{"position":[[1275,3],[1282,3]]},"1060":{"position":[[331,3]]},"1061":{"position":[[192,4],[226,4]]},"1384":{"position":[[18579,3]]},"1472":{"position":[[5895,3]]}},"keywords":{}}],["machin",{"_index":3440,"title":{},"content":{"688":{"position":[[390,7]]},"848":{"position":[[102,8]]},"861":{"position":[[345,8]]},"937":{"position":[[4285,7]]},"944":{"position":[[976,8],[1173,7],[1220,8],[1254,8],[1286,8]]},"1022":{"position":[[356,8]]},"1163":{"position":[[128,8]]},"1165":{"position":[[32,7]]},"1176":{"position":[[86,7]]},"1244":{"position":[[240,7]]},"1383":{"position":[[4922,7]]},"1398":{"position":[[2496,7]]}},"keywords":{}}],["machine.onli",{"_index":3807,"title":{},"content":{"724":{"position":[[1274,12]]}},"keywords":{}}],["machineri",{"_index":4379,"title":{},"content":{"900":{"position":[[1527,9]]}},"keywords":{}}],["maco",{"_index":468,"title":{},"content":{"15":{"position":[[673,5]]},"17":{"position":[[995,6]]},"940":{"position":[[1077,5]]},"943":{"position":[[1097,5]]},"1136":{"position":[[2897,6]]},"1138":{"position":[[6559,6]]},"1140":{"position":[[5485,6]]},"1142":{"position":[[929,6]]},"1146":{"position":[[869,6]]},"1148":{"position":[[3909,6]]},"1155":{"position":[[965,6]]},"1156":{"position":[[543,6]]},"1167":{"position":[[6489,6]]},"1169":{"position":[[328,6]]},"1186":{"position":[[2133,6]]},"1187":{"position":[[2146,6]]},"1188":{"position":[[6872,6]]},"1191":{"position":[[733,6]]},"1192":{"position":[[908,6]]},"1193":{"position":[[960,6]]},"1194":{"position":[[600,6]]},"1195":{"position":[[578,6]]},"1196":{"position":[[388,6]]},"1197":{"position":[[1371,6]]},"1198":{"position":[[1381,6]]},"1199":{"position":[[1409,6]]},"1200":{"position":[[1276,6]]},"1201":{"position":[[536,6]]},"1202":{"position":[[1678,6],[6075,6]]},"1203":{"position":[[770,6]]},"1204":{"position":[[614,6]]},"1205":{"position":[[1943,6]]},"1206":{"position":[[414,6]]},"1207":{"position":[[571,6]]},"1209":{"position":[[1919,6]]},"1217":{"position":[[5230,6]]},"1219":{"position":[[1216,6]]},"1222":{"position":[[340,6]]},"1223":{"position":[[350,6]]},"1224":{"position":[[530,6]]},"1226":{"position":[[5698,6]]},"1228":{"position":[[7311,6]]},"1235":{"position":[[3179,6]]},"1237":{"position":[[5868,6]]}},"keywords":{}}],["macos"",{"_index":7106,"title":{},"content":{"1374":{"position":[[3807,12],[4032,12]]}},"keywords":{}}],["macosx",{"_index":8285,"title":{},"content":{"1461":{"position":[[3935,6],[4058,6]]}},"keywords":{}}],["macro",{"_index":344,"title":{"685":{"position":[[42,7]]},"687":{"position":[[0,7]]},"688":{"position":[[17,7]]},"931":{"position":[[26,6]]},"987":{"position":[[24,7]]},"991":{"position":[[14,7]]}},"content":{"10":{"position":[[867,6]]},"98":{"position":[[734,6],[888,7]]},"126":{"position":[[263,6]]},"230":{"position":[[734,6],[888,7]]},"249":{"position":[[263,6]]},"688":{"position":[[103,7],[255,6]]},"702":{"position":[[134,6],[153,6],[214,6],[253,6]]},"715":{"position":[[433,5],[466,5],[667,6],[798,6],[949,6],[965,5],[1149,5]]},"718":{"position":[[203,6]]},"987":{"position":[[10,6],[177,6],[220,6],[344,5],[466,6],[591,6]]},"991":{"position":[[1015,6],[1108,5],[1164,5],[1390,6],[1653,5],[1736,5],[1841,5],[1924,5],[2878,5],[3126,6]]},"997":{"position":[[90,7]]},"998":{"position":[[153,6]]},"1023":{"position":[[222,5]]},"1025":{"position":[[274,6]]},"1132":{"position":[[40,6],[104,6],[328,6]]},"1360":{"position":[[3030,6],[4772,6]]},"1362":{"position":[[10900,6]]},"1364":{"position":[[11867,6]]},"1373":{"position":[[5416,6]]},"1374":{"position":[[1809,6],[1858,6],[2034,6],[2867,6]]},"1382":{"position":[[4682,5],[4990,5],[7769,6]]},"1383":{"position":[[1335,6],[2615,6],[2847,7],[2869,7],[2892,7],[2914,6],[4355,7],[4504,7],[4666,6],[5215,7],[6804,6]]},"1384":{"position":[[13833,6],[18384,5]]},"1387":{"position":[[7094,6]]},"1388":{"position":[[4834,7],[5376,5],[5684,5],[6244,7]]},"1393":{"position":[[1189,6],[1300,5]]},"1394":{"position":[[638,6],[749,5]]},"1398":{"position":[[1257,5],[3943,5],[4690,6],[5845,5]]},"1401":{"position":[[1583,6]]},"1403":{"position":[[2445,6],[4187,6],[5144,5]]},"1442":{"position":[[1672,5],[1980,5]]},"1455":{"position":[[3523,5],[3555,6],[4022,5],[4433,5]]},"1467":{"position":[[6597,7]]},"1471":{"position":[[3544,6]]},"1472":{"position":[[3212,6],[4128,6],[5700,5]]},"1473":{"position":[[3612,6],[5396,6]]},"1478":{"position":[[2148,7]]},"1486":{"position":[[3070,6]]}},"keywords":{}}],["macrosout",{"_index":7927,"title":{},"content":{"1423":{"position":[[1946,10]]}},"keywords":{}}],["macrossuch",{"_index":8475,"title":{},"content":{"1478":{"position":[[2411,10]]}},"keywords":{}}],["made",{"_index":713,"title":{},"content":{"23":{"position":[[1043,4]]},"680":{"position":[[806,4]]},"681":{"position":[[837,4]]},"722":{"position":[[195,4]]},"890":{"position":[[6288,4]]},"900":{"position":[[248,4],[429,4]]},"987":{"position":[[358,4]]},"990":{"position":[[844,4]]},"1009":{"position":[[540,4]]},"1053":{"position":[[143,4]]},"1071":{"position":[[1419,4]]},"1114":{"position":[[491,4]]},"1136":{"position":[[5977,4]]},"1138":{"position":[[9639,4]]},"1140":{"position":[[8565,4]]},"1142":{"position":[[4009,4]]},"1146":{"position":[[3949,4]]},"1148":{"position":[[6989,4]]},"1155":{"position":[[4045,4]]},"1156":{"position":[[3623,4]]},"1163":{"position":[[583,4]]},"1165":{"position":[[412,4]]},"1167":{"position":[[9569,4]]},"1169":{"position":[[2677,4]]},"1186":{"position":[[5213,4]]},"1187":{"position":[[5226,4]]},"1188":{"position":[[9952,4]]},"1191":{"position":[[3813,4]]},"1192":{"position":[[3988,4]]},"1193":{"position":[[4040,4]]},"1194":{"position":[[3680,4]]},"1195":{"position":[[3658,4]]},"1196":{"position":[[3468,4]]},"1197":{"position":[[4451,4]]},"1198":{"position":[[4461,4]]},"1199":{"position":[[4489,4]]},"1200":{"position":[[4356,4]]},"1201":{"position":[[3616,4]]},"1202":{"position":[[4758,4],[9155,4]]},"1203":{"position":[[3850,4]]},"1204":{"position":[[3694,4]]},"1205":{"position":[[5023,4]]},"1206":{"position":[[3494,4]]},"1207":{"position":[[3651,4]]},"1209":{"position":[[4999,4]]},"1217":{"position":[[86,4],[8310,4]]},"1219":{"position":[[3565,4]]},"1222":{"position":[[3420,4]]},"1223":{"position":[[3430,4]]},"1224":{"position":[[2879,4]]},"1226":{"position":[[8778,4]]},"1228":{"position":[[10391,4]]},"1235":{"position":[[6259,4]]},"1237":{"position":[[8948,4]]},"1360":{"position":[[5539,4]]},"1362":{"position":[[6736,4],[8877,4]]},"1364":{"position":[[6975,4],[9991,4]]},"1367":{"position":[[8965,4]]},"1373":{"position":[[4577,4]]},"1382":{"position":[[5647,4],[8781,4]]},"1383":{"position":[[7542,4]]},"1384":{"position":[[6163,4],[8122,4],[10594,4],[15126,4]]},"1385":{"position":[[3560,4],[5010,4]]},"1386":{"position":[[646,4],[4787,4]]},"1387":{"position":[[5893,4],[8383,4]]},"1388":{"position":[[6516,4]]},"1398":{"position":[[3204,4]]},"1399":{"position":[[1575,4]]},"1403":{"position":[[6642,4]]},"1422":{"position":[[3029,4]]},"1423":{"position":[[1839,4]]},"1454":{"position":[[4867,4],[6521,4]]},"1477":{"position":[[2320,4]]},"1485":{"position":[[1928,4],[3045,4]]}},"keywords":{}}],["magic",{"_index":712,"title":{},"content":{"23":{"position":[[986,5]]},"935":{"position":[[177,6]]},"1465":{"position":[[4450,7]]}},"keywords":{}}],["magic1",{"_index":7705,"title":{},"content":{"1403":{"position":[[8873,6]]}},"keywords":{}}],["magic2",{"_index":7707,"title":{},"content":{"1403":{"position":[[8944,6]]}},"keywords":{}}],["magic:python",{"_index":8360,"title":{},"content":{"1465":{"position":[[4437,12]]}},"keywords":{}}],["main",{"_index":521,"title":{},"content":{"17":{"position":[[1204,4],[1236,7],[1322,7]]},"18":{"position":[[471,6],[746,7],[1709,4],[1743,7],[1763,4],[1795,7]]},"20":{"position":[[163,4]]},"693":{"position":[[412,4],[506,4],[1396,4]]},"717":{"position":[[77,4]]},"860":{"position":[[589,4]]},"937":{"position":[[237,4],[2934,4],[4305,4]]},"1130":{"position":[[83,4],[244,9]]},"1140":{"position":[[553,4]]},"1188":{"position":[[606,4]]},"1355":{"position":[[2271,4]]},"1358":{"position":[[2798,4]]},"1362":{"position":[[10588,4]]},"1382":{"position":[[7345,4],[7457,4]]},"1383":{"position":[[5441,5]]},"1386":{"position":[[2289,4],[3769,7]]},"1388":{"position":[[8214,4],[8326,4]]},"1392":{"position":[[755,6]]},"1393":{"position":[[1104,4],[4446,4]]},"1395":{"position":[[2502,4],[2540,4],[3422,4]]},"1405":{"position":[[1232,4]]},"1410":{"position":[[1642,4]]},"1412":{"position":[[1593,4]]},"1416":{"position":[[1075,5],[2643,4],[2754,4],[2959,4]]},"1426":{"position":[[2519,4],[2703,6],[3055,4]]},"1427":{"position":[[1759,4]]},"1434":{"position":[[460,5]]},"1437":{"position":[[510,5]]},"1439":{"position":[[2043,4]]},"1445":{"position":[[387,5]]},"1462":{"position":[[2663,5],[5510,4],[6263,4],[6374,4],[7036,4],[7375,5],[7703,5],[7736,5],[9095,4]]},"1463":{"position":[[488,5]]},"1467":{"position":[[7376,4],[7488,4],[8005,4],[8344,5],[8421,4],[8526,4],[8725,4],[8775,4]]},"1473":{"position":[[3965,7]]},"1477":{"position":[[548,5],[1785,5],[2724,4]]},"1486":{"position":[[3285,4]]}},"keywords":{}}],["main'",{"_index":7280,"title":{},"content":{"1386":{"position":[[4569,6],[5015,6]]}},"keywords":{}}],["main.c",{"_index":3518,"title":{},"content":{"693":{"position":[[417,7],[450,6]]}},"keywords":{}}],["main.cpp",{"_index":546,"title":{},"content":{"18":{"position":[[430,8],[1616,8]]},"1386":{"position":[[3784,13],[4521,9]]}},"keywords":{}}],["main.go",{"_index":7739,"title":{},"content":{"1405":{"position":[[4004,10]]}},"keywords":{}}],["main.ml",{"_index":8129,"title":{},"content":{"1448":{"position":[[2873,10]]}},"keywords":{}}],["main.r",{"_index":8437,"title":{},"content":{"1471":{"position":[[5203,7]]},"1472":{"position":[[6089,7]]},"1473":{"position":[[5653,7]]}},"keywords":{}}],["main/1",{"_index":7543,"title":{},"content":{"1395":{"position":[[2639,6]]}},"keywords":{}}],["main_class",{"_index":7951,"title":{},"content":{"1426":{"position":[[779,11],[2454,11],[2662,10],[2965,11],[3026,10]]},"1430":{"position":[[863,11]]}},"keywords":{}}],["main_funct",{"_index":8300,"title":{},"content":{"1462":{"position":[[2685,14]]},"1467":{"position":[[2838,14],[7941,14]]}},"keywords":{}}],["main_modul",{"_index":7539,"title":{},"content":{"1395":{"position":[[537,12],[2467,12],[3521,11],[3660,11]]},"1443":{"position":[[488,12],[1826,11]]},"1462":{"position":[[2716,12],[7360,11],[8997,11]]},"1467":{"position":[[2869,12],[8329,11],[8404,12]]},"1468":{"position":[[475,12]]}},"keywords":{}}],["mainli",{"_index":7992,"title":{},"content":{"1429":{"position":[[4112,6]]},"1440":{"position":[[4105,6]]}},"keywords":{}}],["maintain",{"_index":3588,"title":{},"content":{"693":{"position":[[8089,9]]},"696":{"position":[[249,11]]},"919":{"position":[[463,11]]},"945":{"position":[[194,8]]},"954":{"position":[[502,8]]},"959":{"position":[[174,11]]}},"keywords":{}}],["major",{"_index":4612,"title":{},"content":{"937":{"position":[[4205,8]]},"965":{"position":[[361,5]]}},"keywords":{}}],["make",{"_index":48,"title":{},"content":{"4":{"position":[[229,4]]},"10":{"position":[[914,4]]},"11":{"position":[[180,4]]},"18":{"position":[[92,4]]},"22":{"position":[[353,5]]},"23":{"position":[[760,5]]},"69":{"position":[[114,4],[339,4],[418,4]]},"85":{"position":[[472,4]]},"87":{"position":[[97,4]]},"92":{"position":[[1890,6]]},"94":{"position":[[2651,6]]},"140":{"position":[[239,4]]},"217":{"position":[[472,4]]},"219":{"position":[[97,4]]},"224":{"position":[[1890,6]]},"226":{"position":[[2651,6]]},"236":{"position":[[491,5]]},"237":{"position":[[578,5]]},"263":{"position":[[239,4]]},"405":{"position":[[2357,4]]},"406":{"position":[[22,5]]},"408":{"position":[[143,4],[644,4],[878,4],[965,4]]},"438":{"position":[[254,5]]},"457":{"position":[[114,4],[339,4],[418,4]]},"560":{"position":[[136,5]]},"570":{"position":[[111,4]]},"638":{"position":[[796,4]]},"663":{"position":[[1199,6]]},"675":{"position":[[1079,5]]},"684":{"position":[[117,4]]},"695":{"position":[[622,5]]},"696":{"position":[[301,5],[414,6]]},"708":{"position":[[401,4]]},"720":{"position":[[174,4]]},"784":{"position":[[2357,4]]},"785":{"position":[[22,5]]},"787":{"position":[[143,4],[644,4],[878,4],[965,4]]},"817":{"position":[[254,5]]},"832":{"position":[[939,4]]},"834":{"position":[[747,5]]},"861":{"position":[[536,6]]},"870":{"position":[[604,4]]},"889":{"position":[[1221,4]]},"890":{"position":[[1619,5]]},"901":{"position":[[1153,6]]},"902":{"position":[[784,4]]},"912":{"position":[[57,4]]},"919":{"position":[[2358,5]]},"937":{"position":[[3633,4],[4500,4]]},"940":{"position":[[857,4]]},"944":{"position":[[797,6]]},"956":{"position":[[414,4]]},"973":{"position":[[0,4],[375,6]]},"987":{"position":[[692,4]]},"989":{"position":[[101,4]]},"990":{"position":[[1016,4]]},"991":{"position":[[465,4]]},"995":{"position":[[763,5]]},"1029":{"position":[[22,4]]},"1040":{"position":[[1992,6]]},"1050":{"position":[[37,4],[378,4]]},"1058":{"position":[[1273,6]]},"1071":{"position":[[533,4]]},"1072":{"position":[[236,5]]},"1075":{"position":[[33,5]]},"1079":{"position":[[1220,4]]},"1082":{"position":[[429,5]]},"1097":{"position":[[144,4],[306,4]]},"1136":{"position":[[1189,5],[1733,4]]},"1148":{"position":[[1545,5],[2089,4]]},"1172":{"position":[[659,4]]},"1205":{"position":[[669,5],[1213,4]]},"1209":{"position":[[422,5],[966,4]]},"1226":{"position":[[2362,5],[2906,4]]},"1235":{"position":[[1682,5],[2226,4]]},"1237":{"position":[[2532,5],[3076,4]]},"1286":{"position":[[178,5]]},"1287":{"position":[[91,5]]},"1351":{"position":[[5189,5]]},"1353":{"position":[[2729,6]]},"1358":{"position":[[972,5]]},"1360":{"position":[[5344,5]]},"1366":{"position":[[3179,5]]},"1367":{"position":[[13773,4]]},"1383":{"position":[[7347,5]]},"1393":{"position":[[8211,5]]},"1403":{"position":[[5114,5],[6447,5]]},"1407":{"position":[[2483,4]]},"1423":{"position":[[791,4]]},"1429":{"position":[[5365,4]]},"1440":{"position":[[5359,4]]},"1471":{"position":[[4323,5]]},"1472":{"position":[[4907,5]]},"1473":{"position":[[4644,5]]},"1477":{"position":[[1708,5],[3025,4]]},"1478":{"position":[[3271,4]]}},"keywords":{}}],["make_py_packag",{"_index":8301,"title":{},"content":{"1462":{"position":[[2745,16]]},"1467":{"position":[[2898,16]]}},"keywords":{}}],["make_swift_comp_db",{"_index":8496,"title":{},"content":{"1481":{"position":[[700,19]]}},"keywords":{}}],["make_swift_interfac",{"_index":8497,"title":{},"content":{"1481":{"position":[[729,21]]}},"keywords":{}}],["malform",{"_index":2333,"title":{},"content":{"435":{"position":[[135,10]]},"814":{"position":[[135,10]]}},"keywords":{}}],["manag",{"_index":512,"title":{},"content":{"17":{"position":[[938,7]]},"1052":{"position":[[94,10]]},"1393":{"position":[[4254,7],[5363,7]]}},"keywords":{}}],["mani",{"_index":301,"title":{},"content":{"9":{"position":[[2699,4]]},"10":{"position":[[353,4]]},"11":{"position":[[73,4],[163,4]]},"12":{"position":[[16,4]]},"22":{"position":[[783,4]]},"23":{"position":[[10,4]]},"276":{"position":[[216,4]]},"277":{"position":[[305,4]]},"281":{"position":[[274,4]]},"282":{"position":[[378,4]]},"368":{"position":[[527,4]]},"410":{"position":[[111,4]]},"678":{"position":[[58,4]]},"693":{"position":[[7980,4]]},"705":{"position":[[620,4]]},"747":{"position":[[527,4]]},"789":{"position":[[111,4]]},"846":{"position":[[408,4]]},"870":{"position":[[10,4]]},"890":{"position":[[2298,4]]},"937":{"position":[[719,4]]},"946":{"position":[[38,4]]},"1011":{"position":[[482,4]]},"1029":{"position":[[196,4]]},"1052":{"position":[[1372,4]]},"1104":{"position":[[1996,4]]},"1112":{"position":[[477,4]]},"1226":{"position":[[246,4]]},"1231":{"position":[[102,4]]},"1237":{"position":[[416,4]]},"1250":{"position":[[10,4]]},"1358":{"position":[[2494,4]]},"1360":{"position":[[5667,4]]},"1362":{"position":[[4923,4]]},"1364":{"position":[[4949,4]]},"1383":{"position":[[8172,4]]},"1393":{"position":[[9039,4],[9185,4]]},"1402":{"position":[[1902,4]]},"1403":{"position":[[7272,4]]},"1486":{"position":[[2305,4]]}},"keywords":{}}],["manifest",{"_index":6354,"title":{},"content":{"1348":{"position":[[1417,9],[4178,8]]},"1350":{"position":[[2118,9]]},"1351":{"position":[[2031,8],[4397,8],[5654,8]]},"1352":{"position":[[2117,9]]},"1353":{"position":[[894,9],[3093,8],[3356,8]]},"1354":{"position":[[3232,8],[3429,8]]},"1355":{"position":[[1418,9],[4853,9],[4883,8]]},"1356":{"position":[[609,8],[701,9],[730,9],[1682,8],[1868,8],[1906,9],[2060,10],[3002,8]]},"1359":{"position":[[677,9],[1938,8]]},"1360":{"position":[[5970,8]]},"1402":{"position":[[2204,8]]},"1426":{"position":[[2896,8],[2991,8],[3073,9]]},"1470":{"position":[[1673,9],[4476,8]]}},"keywords":{}}],["manifest.skeleton",{"_index":6578,"title":{},"content":{"1356":{"position":[[1790,18]]}},"keywords":{}}],["manifest_entri",{"_index":6442,"title":{},"content":{"1350":{"position":[[2144,17]]},"1352":{"position":[[2143,17]]},"1470":{"position":[[1699,17]]}},"keywords":{}}],["manifest_fil",{"_index":6355,"title":{},"content":{"1348":{"position":[[1443,14]]},"1355":{"position":[[1444,14]]},"1412":{"position":[[864,14]]},"1413":{"position":[[1010,14]]},"1426":{"position":[[807,14],[2863,14]]},"1427":{"position":[[1081,14]]},"1429":{"position":[[1315,14]]},"1430":{"position":[[884,14]]},"1439":{"position":[[1317,14]]},"1440":{"position":[[1516,14]]},"1470":{"position":[[1744,14]]},"1474":{"position":[[860,14]]},"1475":{"position":[[1006,14]]}},"keywords":{}}],["manifest_module_entri",{"_index":8302,"title":{},"content":{"1462":{"position":[[2778,24]]},"1467":{"position":[[2931,24],[8822,24]]}},"keywords":{}}],["manifest_skeleton",{"_index":6356,"title":{},"content":{"1348":{"position":[[1474,18],[4702,17]]},"1350":{"position":[[2189,18]]},"1352":{"position":[[2188,18]]},"1353":{"position":[[920,18]]}},"keywords":{}}],["manifold",{"_index":5988,"title":{},"content":{"1172":{"position":[[1150,8]]},"1173":{"position":[[450,8]]},"1174":{"position":[[354,8]]},"1175":{"position":[[374,8]]},"1176":{"position":[[458,8]]},"1177":{"position":[[370,8]]},"1178":{"position":[[524,8]]},"1179":{"position":[[390,8]]},"1180":{"position":[[720,8]]},"1181":{"position":[[475,8]]},"1182":{"position":[[412,8]]},"1183":{"position":[[367,8]]}},"keywords":{}}],["manipul",{"_index":4226,"title":{},"content":{"890":{"position":[[2783,11]]},"1105":{"position":[[448,14]]}},"keywords":{}}],["manipulation/shar",{"_index":689,"title":{},"content":{"22":{"position":[[2178,21]]}},"keywords":{}}],["manner",{"_index":1211,"title":{},"content":{"94":{"position":[[2691,6]]},"226":{"position":[[2691,6]]},"724":{"position":[[346,7]]},"869":{"position":[[303,7]]},"1022":{"position":[[133,6]]}},"keywords":{}}],["manual",{"_index":502,"title":{},"content":{"17":{"position":[[621,8]]},"864":{"position":[[597,8]]},"870":{"position":[[1086,8],[1174,6]]},"955":{"position":[[401,8]]},"1050":{"position":[[1089,6]]},"1079":{"position":[[1317,8]]},"1348":{"position":[[4093,8]]},"1373":{"position":[[8498,8]]},"1393":{"position":[[5371,9]]},"1471":{"position":[[2698,8]]},"1472":{"position":[[2657,8]]},"1473":{"position":[[2972,8]]}},"keywords":{}}],["map",{"_index":828,"title":{"653":{"position":[[0,4]]},"689":{"position":[[8,3]]}},"content":{"34":{"position":[[56,4]]},"38":{"position":[[55,4]]},"183":{"position":[[55,4]]},"190":{"position":[[56,4]]},"240":{"position":[[237,6]]},"242":{"position":[[517,9]]},"297":{"position":[[1024,6]]},"329":{"position":[[297,6]]},"368":{"position":[[2454,7]]},"374":{"position":[[1674,7]]},"377":{"position":[[1373,7],[1513,7]]},"389":{"position":[[1381,7],[1498,7]]},"441":{"position":[[28,4],[74,3],[132,7]]},"470":{"position":[[237,6]]},"689":{"position":[[8,3],[24,3],[253,3]]},"693":{"position":[[8716,4],[8915,6]]},"697":{"position":[[27,3]]},"711":{"position":[[763,5],[791,5]]},"712":{"position":[[736,3],[2388,3]]},"715":{"position":[[628,3]]},"718":{"position":[[643,6]]},"747":{"position":[[2454,7]]},"753":{"position":[[1674,7]]},"756":{"position":[[1373,7],[1513,7]]},"768":{"position":[[1381,7],[1498,7]]},"820":{"position":[[28,4],[74,3],[132,7]]},"890":{"position":[[4066,7],[4316,3],[5176,7]]},"994":{"position":[[151,3]]},"995":{"position":[[167,7]]},"1018":{"position":[[159,3]]},"1042":{"position":[[585,3]]},"1044":{"position":[[354,3]]},"1052":{"position":[[464,7],[869,4],[1185,7],[1418,6]]},"1054":{"position":[[1138,3],[1571,3]]},"1069":{"position":[[225,7],[509,7],[640,7]]},"1112":{"position":[[775,3],[1988,3]]},"1127":{"position":[[754,4]]},"1348":{"position":[[3444,3]]},"1349":{"position":[[1589,3]]},"1350":{"position":[[4560,3]]},"1351":{"position":[[1786,3]]},"1352":{"position":[[4559,3]]},"1353":{"position":[[2163,3]]},"1354":{"position":[[2001,3]]},"1355":{"position":[[3146,3]]},"1356":{"position":[[1507,3]]},"1357":{"position":[[1180,3]]},"1358":{"position":[[1901,3]]},"1359":{"position":[[1738,3]]},"1360":{"position":[[2375,3],[5309,3],[5513,4],[5586,4],[5615,3]]},"1361":{"position":[[1728,3]]},"1362":{"position":[[6098,3],[8608,7]]},"1363":{"position":[[3844,3]]},"1364":{"position":[[6127,3],[9722,7]]},"1365":{"position":[[1662,3]]},"1366":{"position":[[1874,3],[2228,7],[2431,8]]},"1367":{"position":[[7525,3],[8696,7]]},"1368":{"position":[[2218,3]]},"1369":{"position":[[1270,3]]},"1370":{"position":[[1523,3]]},"1371":{"position":[[1146,3]]},"1372":{"position":[[2784,3]]},"1373":{"position":[[3656,3]]},"1374":{"position":[[1558,3],[1897,3],[2184,7],[2523,8]]},"1375":{"position":[[1182,3]]},"1376":{"position":[[1138,3]]},"1377":{"position":[[1377,3]]},"1378":{"position":[[1124,3]]},"1379":{"position":[[1147,3]]},"1380":{"position":[[1618,3]]},"1381":{"position":[[1524,3],[2275,6]]},"1382":{"position":[[4010,3]]},"1383":{"position":[[2248,3],[7312,3],[7516,4],[7589,4],[7618,3]]},"1384":{"position":[[5172,3],[11459,3],[11642,3],[11947,3],[12199,3],[12436,3],[12619,3]]},"1385":{"position":[[2843,3]]},"1386":{"position":[[1481,3]]},"1387":{"position":[[5112,3]]},"1388":{"position":[[4310,3],[6041,3]]},"1389":{"position":[[5165,3]]},"1390":{"position":[[1417,3]]},"1391":{"position":[[1370,3]]},"1392":{"position":[[1520,3]]},"1393":{"position":[[2098,3]]},"1394":{"position":[[1540,3]]},"1395":{"position":[[1555,3]]},"1396":{"position":[[1346,3]]},"1397":{"position":[[1527,3],[2451,7]]},"1398":{"position":[[2205,3]]},"1399":{"position":[[1382,3]]},"1400":{"position":[[1251,3]]},"1401":{"position":[[1326,3]]},"1402":{"position":[[1482,3]]},"1403":{"position":[[2078,3],[5382,7],[5875,4],[6412,3],[6616,4],[6689,4],[6718,3]]},"1404":{"position":[[1315,3]]},"1405":{"position":[[2006,3]]},"1406":{"position":[[1222,3]]},"1407":{"position":[[2047,3]]},"1408":{"position":[[1743,3]]},"1409":{"position":[[1277,3]]},"1410":{"position":[[2445,3],[3006,3]]},"1411":{"position":[[1260,3]]},"1412":{"position":[[2466,3]]},"1413":{"position":[[2644,3]]},"1414":{"position":[[1511,3]]},"1415":{"position":[[3493,3]]},"1416":{"position":[[2145,3]]},"1417":{"position":[[1734,3]]},"1418":{"position":[[1435,3]]},"1419":{"position":[[1563,3]]},"1420":{"position":[[1827,3]]},"1421":{"position":[[1802,3],[2189,3]]},"1422":{"position":[[1711,3]]},"1423":{"position":[[1694,3]]},"1424":{"position":[[1819,3]]},"1425":{"position":[[1435,3]]},"1426":{"position":[[1784,3]]},"1427":{"position":[[2681,3]]},"1428":{"position":[[1417,3]]},"1429":{"position":[[3345,3],[3904,3]]},"1430":{"position":[[2193,3]]},"1431":{"position":[[1537,3]]},"1432":{"position":[[2058,3]]},"1433":{"position":[[1579,3]]},"1434":{"position":[[1253,3]]},"1435":{"position":[[1217,3]]},"1436":{"position":[[1233,3]]},"1437":{"position":[[1303,3]]},"1438":{"position":[[1443,3]]},"1439":{"position":[[2967,3],[4797,4],[4888,3]]},"1440":{"position":[[3533,3],[3897,3]]},"1441":{"position":[[1259,3]]},"1442":{"position":[[1338,3]]},"1443":{"position":[[1554,3]]},"1444":{"position":[[1470,3]]},"1445":{"position":[[1159,3]]},"1446":{"position":[[1493,3]]},"1447":{"position":[[1375,3]]},"1448":{"position":[[1810,3]]},"1449":{"position":[[1744,3]]},"1450":{"position":[[1623,3]]},"1451":{"position":[[1623,3]]},"1452":{"position":[[1169,3]]},"1453":{"position":[[1755,3]]},"1454":{"position":[[4121,3]]},"1455":{"position":[[2008,3],[2969,3],[3156,3]]},"1456":{"position":[[1353,3]]},"1457":{"position":[[1412,3]]},"1458":{"position":[[1947,3]]},"1459":{"position":[[1426,3]]},"1460":{"position":[[1538,3]]},"1461":{"position":[[1759,3]]},"1462":{"position":[[5134,3],[7833,7]]},"1463":{"position":[[1260,3]]},"1464":{"position":[[1168,3]]},"1465":{"position":[[2266,3]]},"1466":{"position":[[1504,3]]},"1467":{"position":[[5829,3],[6394,3],[8893,7]]},"1468":{"position":[[1268,3]]},"1469":{"position":[[1647,3]]},"1470":{"position":[[4170,3]]},"1471":{"position":[[2510,3],[4036,8],[4269,7]]},"1472":{"position":[[2469,3],[4620,8],[4853,7]]},"1473":{"position":[[2784,3],[4357,8],[4590,7]]},"1474":{"position":[[2169,3]]},"1475":{"position":[[2640,3]]},"1476":{"position":[[1245,3]]},"1477":{"position":[[1403,3]]},"1478":{"position":[[1894,3]]},"1479":{"position":[[1337,3]]},"1480":{"position":[[1750,3]]},"1481":{"position":[[2283,3]]},"1482":{"position":[[1357,3]]},"1483":{"position":[[1191,3]]},"1484":{"position":[[1263,3]]},"1485":{"position":[[1523,3]]},"1486":{"position":[[1767,3],[1967,3]]},"1487":{"position":[[1468,3]]}},"keywords":{}}],["map(ab",{"_index":3244,"title":{},"content":{"653":{"position":[[153,8]]}},"keywords":{}}],["map(func",{"_index":3243,"title":{},"content":{"653":{"position":[[4,9]]}},"keywords":{}}],["map(k",{"_index":5233,"title":{},"content":{"1047":{"position":[[522,7]]},"1048":{"position":[[1477,8]]}},"keywords":{}}],["map(lambda",{"_index":3246,"title":{},"content":{"653":{"position":[[188,10]]}},"keywords":{}}],["mapc",{"_index":6995,"title":{},"content":{"1368":{"position":[[954,5]]}},"keywords":{}}],["mapped_src",{"_index":8418,"title":{},"content":{"1471":{"position":[[1376,12],[3982,12],[4356,11]]},"1472":{"position":[[1239,12],[4566,12],[4940,11]]},"1473":{"position":[[1428,12],[4303,12],[4677,11]]}},"keywords":{}}],["mapping{str",{"_index":5327,"title":{},"content":{"1053":{"position":[[572,12]]}},"keywords":{}}],["march",{"_index":645,"title":{},"content":{"22":{"position":[[619,5],[668,6]]}},"keywords":{}}],["mark",{"_index":1062,"title":{},"content":{"85":{"position":[[585,6]]},"91":{"position":[[469,6]]},"98":{"position":[[588,6]]},"217":{"position":[[585,6]]},"223":{"position":[[469,6]]},"230":{"position":[[588,6]]},"298":{"position":[[1057,6],[1159,6]]},"344":{"position":[[75,5]]},"584":{"position":[[1090,4]]},"693":{"position":[[1745,5]]},"840":{"position":[[1715,5]]},"916":{"position":[[200,4]]},"1113":{"position":[[201,6]]},"1138":{"position":[[1746,6],[1787,6]]},"1140":{"position":[[1235,6],[1276,6]]},"1167":{"position":[[2239,6],[2280,6]]},"1188":{"position":[[1288,6],[1329,6]]},"1217":{"position":[[980,6],[1021,6]]},"1228":{"position":[[3061,6],[3102,6]]},"1403":{"position":[[5082,7]]}},"keywords":{}}],["markdown",{"_index":5958,"title":{},"content":{"1155":{"position":[[322,8],[379,8],[450,8]]},"1157":{"position":[[183,9]]},"1158":{"position":[[177,9]]},"1159":{"position":[[177,9]]}},"keywords":{}}],["markdown_fil",{"_index":5964,"title":{},"content":{"1155":{"position":[[630,15]]}},"keywords":{}}],["marker",{"_index":5006,"title":{},"content":{"1004":{"position":[[1646,6]]},"1006":{"position":[[407,6],[814,6]]}},"keywords":{}}],["mask=field(int",{"_index":3154,"title":{},"content":{"642":{"position":[[164,15]]}},"keywords":{}}],["match",{"_index":1366,"title":{},"content":{"133":{"position":[[211,7]]},"139":{"position":[[153,7]]},"243":{"position":[[273,6],[335,7]]},"256":{"position":[[211,7]]},"262":{"position":[[153,7]]},"333":{"position":[[470,6]]},"389":{"position":[[1208,8]]},"408":{"position":[[1178,8]]},"418":{"position":[[284,5],[402,8],[549,6]]},"435":{"position":[[82,7]]},"595":{"position":[[357,7]]},"640":{"position":[[106,7]]},"643":{"position":[[164,6]]},"649":{"position":[[64,7]]},"675":{"position":[[917,7]]},"693":{"position":[[2722,7],[9576,8]]},"768":{"position":[[1208,8]]},"787":{"position":[[1178,8]]},"797":{"position":[[284,5],[402,8],[549,6]]},"814":{"position":[[82,7]]},"900":{"position":[[270,7],[328,6],[510,7]]},"905":{"position":[[547,5]]},"921":{"position":[[308,7]]},"943":{"position":[[2311,5],[2446,7],[2590,7],[2633,7],[2682,7]]},"944":{"position":[[481,5],[541,7],[1956,6]]},"1013":{"position":[[286,6],[371,6],[627,8]]},"1020":{"position":[[174,5],[283,5]]},"1053":{"position":[[648,5]]},"1067":{"position":[[59,8]]},"1129":{"position":[[286,5]]},"1131":{"position":[[404,5],[596,7]]},"1136":{"position":[[1431,5],[1534,7],[1654,5]]},"1148":{"position":[[499,8],[1787,5],[1890,7],[2010,5]]},"1172":{"position":[[1662,7]]},"1173":{"position":[[962,7]]},"1190":{"position":[[1275,5]]},"1193":{"position":[[199,8],[293,8]]},"1199":{"position":[[204,8]]},"1205":{"position":[[162,5],[911,5],[1014,7],[1134,5]]},"1209":{"position":[[664,5],[767,7],[887,5]]},"1226":{"position":[[2604,5],[2707,7],[2827,5],[4605,5],[4813,7]]},"1228":{"position":[[590,5]]},"1235":{"position":[[1924,5],[2027,7],[2147,5]]},"1237":{"position":[[2774,5],[2877,7],[2997,5],[4775,5],[4983,7]]},"1259":{"position":[[866,6],[1087,7]]},"1269":{"position":[[27,6],[45,7],[99,7]]},"1271":{"position":[[130,7],[305,5]]},"1290":{"position":[[866,6],[1087,7]]},"1300":{"position":[[27,6],[45,7],[99,7]]},"1302":{"position":[[130,7],[305,5]]},"1318":{"position":[[866,6],[1087,7]]},"1328":{"position":[[27,6],[45,7],[99,7]]},"1330":{"position":[[130,7],[305,5]]},"1362":{"position":[[11436,8],[11769,8],[11903,7],[12245,8],[12437,7]]},"1363":{"position":[[6443,7],[6857,7]]},"1364":{"position":[[8391,8],[8525,7],[12403,8],[12750,8],[12942,7]]},"1367":{"position":[[11806,8],[12153,8],[12345,7]]},"1373":{"position":[[6458,8],[6790,8],[6924,7],[7285,8]]},"1382":{"position":[[8305,8],[8655,8],[8860,7],[9110,8],[9244,7],[9606,8],[9961,8],[10153,7]]},"1383":{"position":[[3582,7],[3926,7],[4214,7]]},"1384":{"position":[[7582,8],[7714,7],[7996,8],[8248,7],[8577,8],[8711,7],[9160,8],[9331,7],[14650,8],[15000,8],[15205,7],[15455,8],[15589,7],[15951,8],[16306,8],[16498,7],[19350,7]]},"1385":{"position":[[4535,8],[4884,8],[5089,7],[5338,8],[5472,7],[5833,8],[6187,8],[6379,7]]},"1387":{"position":[[7908,8],[8257,8],[8462,7],[8711,8],[8845,7],[9206,8],[9560,8],[9752,7]]},"1398":{"position":[[6792,5]]},"1415":{"position":[[4417,8],[4749,8],[4883,7],[5327,7]]},"1416":{"position":[[3273,8],[3387,7]]},"1420":{"position":[[2410,8],[2524,7]]},"1422":{"position":[[1904,5],[2551,5]]},"1423":{"position":[[2220,5]]},"1426":{"position":[[2159,5]]},"1427":{"position":[[4725,8]]},"1439":{"position":[[7224,8]]},"1448":{"position":[[2356,8],[2470,7]]},"1449":{"position":[[2290,8],[2404,7]]},"1454":{"position":[[5982,8],[6114,7],[6395,8],[6647,7],[6948,8],[7119,7],[8118,8],[8430,8],[8750,8],[9363,7]]},"1455":{"position":[[2753,8],[2885,7]]},"1465":{"position":[[3311,8],[3722,8]]},"1467":{"position":[[9580,8]]},"1478":{"position":[[2808,5]]},"1485":{"position":[[2919,8],[3124,7]]},"1486":{"position":[[5402,5]]}},"keywords":{}}],["match"",{"_index":4712,"title":{},"content":{"944":{"position":[[2053,11]]}},"keywords":{}}],["match.if",{"_index":6278,"title":{},"content":{"1262":{"position":[[431,8]]},"1293":{"position":[[431,8]]},"1321":{"position":[[431,8]]}},"keywords":{}}],["match_host",{"_index":4699,"title":{},"content":{"944":{"position":[[1006,10]]}},"keywords":{}}],["match_rul",{"_index":4698,"title":{},"content":{"944":{"position":[[991,10]]}},"keywords":{}}],["matchesdefault",{"_index":5196,"title":{},"content":{"1044":{"position":[[2346,14]]}},"keywords":{}}],["matchesint",{"_index":4363,"title":{},"content":{"900":{"position":[[451,11]]}},"keywords":{}}],["mater",{"_index":5531,"title":{},"content":{"1079":{"position":[[183,11]]}},"keywords":{}}],["materi",{"_index":1624,"title":{"1074":{"position":[[9,15]]},"1076":{"position":[[18,16]]},"1178":{"position":[[14,13]]},"1204":{"position":[[20,13]]}},"content":{"297":{"position":[[371,17],[652,12]]},"416":{"position":[[323,12],[517,13],[608,15],[1072,12]]},"417":{"position":[[552,13],[747,13],[838,15],[1220,12]]},"590":{"position":[[495,11]]},"592":{"position":[[218,11]]},"705":{"position":[[818,16],[981,18]]},"715":{"position":[[1490,13],[1827,15]]},"724":{"position":[[1095,11],[1587,15],[1946,15]]},"795":{"position":[[323,12],[517,13],[608,15],[1072,12]]},"796":{"position":[[552,13],[747,13],[838,15],[1220,12]]},"834":{"position":[[315,12],[344,12],[601,12]]},"840":{"position":[[1740,12]]},"848":{"position":[[60,12]]},"861":{"position":[[436,12]]},"867":{"position":[[1149,15],[1315,11]]},"1030":{"position":[[299,15]]},"1075":{"position":[[17,15],[384,15]]},"1076":{"position":[[19,16],[72,16]]},"1079":{"position":[[13,12],[1085,11]]},"1100":{"position":[[39,15],[209,16]]},"1103":{"position":[[1766,12]]},"1138":{"position":[[680,16],[722,11],[5410,11],[5436,12]]},"1140":{"position":[[306,16],[348,11],[4899,11],[4925,12]]},"1167":{"position":[[5903,11],[5929,12]]},"1171":{"position":[[463,12],[484,16]]},"1178":{"position":[[8,16],[111,15],[223,12]]},"1188":{"position":[[359,16],[401,11],[4952,11],[4978,12]]},"1190":{"position":[[1042,12],[1093,12]]},"1204":{"position":[[38,12],[87,12],[4499,12],[4554,12],[5401,12],[5470,12],[6331,12],[6386,12],[7233,12],[7291,12],[8219,12],[8315,12],[9173,12],[9233,12],[10120,12],[10189,12]]},"1217":{"position":[[4644,11],[4670,12]]},"1228":{"position":[[6725,11],[6751,12]]},"1393":{"position":[[8399,12]]}},"keywords":{}}],["materialis",{"_index":7468,"title":{},"content":{"1393":{"position":[[4120,11]]}},"keywords":{}}],["math",{"_index":7217,"title":{},"content":{"1384":{"position":[[21587,7]]}},"keywords":{}}],["mathutil",{"_index":7216,"title":{},"content":{"1384":{"position":[[21555,12]]}},"keywords":{}}],["matlab_program",{"_index":8093,"title":{"1445":{"position":[[0,15]]}},"content":{"1445":{"position":[[4,15]]}},"keywords":{}}],["matter",{"_index":3666,"title":{},"content":{"706":{"position":[[546,7]]},"944":{"position":[[1412,6]]},"1487":{"position":[[2731,7]]}},"keywords":{}}],["maven",{"_index":7938,"title":{},"content":{"1423":{"position":[[3816,5]]},"1439":{"position":[[5799,6]]},"1469":{"position":[[3198,5],[3521,5]]}},"keywords":{}}],["maven_coord",{"_index":6357,"title":{},"content":{"1348":{"position":[[1498,13]]},"1355":{"position":[[1475,13]]},"1358":{"position":[[770,13]]},"1412":{"position":[[895,13]]},"1413":{"position":[[1041,13]]},"1427":{"position":[[1112,13]]},"1429":{"position":[[1346,13]]},"1430":{"position":[[915,13]]},"1439":{"position":[[1348,13]]},"1440":{"position":[[1547,13]]},"1458":{"position":[[745,13]]},"1470":{"position":[[1775,13]]},"1474":{"position":[[891,13]]},"1475":{"position":[[1037,13]]}},"keywords":{}}],["maven_repo=http://jcenter.bintray.com",{"_index":8059,"title":{},"content":{"1439":{"position":[[6259,38]]}},"keywords":{}}],["mavenurldecod",{"_index":8379,"title":{},"content":{"1469":{"position":[[2278,15]]}},"keywords":{}}],["max",{"_index":3247,"title":{"654":{"position":[[0,4]]}},"content":{"654":{"position":[[25,4]]},"1127":{"position":[[626,3],[844,4]]}},"keywords":{}}],["max("two"",{"_index":3255,"title":{},"content":{"654":{"position":[[359,20],[469,20]]}},"keywords":{}}],["max(*arg",{"_index":3248,"title":{},"content":{"654":{"position":[[4,10]]}},"keywords":{}}],["max([3",{"_index":3253,"title":{},"content":{"654":{"position":[[330,7]]}},"keywords":{}}],["max(x",{"_index":3249,"title":{},"content":{"654":{"position":[[65,6]]}},"keywords":{}}],["max_cache_upload_mebibyt",{"_index":1885,"title":{},"content":{"362":{"position":[[634,27]]},"741":{"position":[[634,27]]}},"keywords":{}}],["max_poll_time_u",{"_index":5809,"title":{},"content":{"1126":{"position":[[1234,17]]}},"keywords":{}}],["max_work",{"_index":8554,"title":{},"content":{"1486":{"position":[[571,12],[2564,11]]}},"keywords":{}}],["max_workers_per_thread_perc",{"_index":8555,"title":{},"content":{"1486":{"position":[[600,31],[2580,30]]}},"keywords":{}}],["maximum",{"_index":1898,"title":{},"content":{"362":{"position":[[1699,7],[1812,7],[2555,7]]},"610":{"position":[[324,7]]},"614":{"position":[[233,7]]},"616":{"position":[[851,7]]},"654":{"position":[[42,7]]},"741":{"position":[[1699,7],[1812,7],[2555,7]]},"1247":{"position":[[19,7]]},"1354":{"position":[[2904,7]]},"1388":{"position":[[10131,7]]},"1392":{"position":[[2255,7]]},"1403":{"position":[[4527,7],[5819,7]]},"1410":{"position":[[5354,7]]},"1429":{"position":[[5851,7]]},"1440":{"position":[[5751,7]]},"1467":{"position":[[10373,7]]},"1486":{"position":[[2213,7],[2367,7]]}},"keywords":{}}],["maxsplit",{"_index":2961,"title":{},"content":{"614":{"position":[[43,9],[157,11]]},"616":{"position":[[42,9],[152,11],[800,8]]}},"keywords":{}}],["md",{"_index":4447,"title":{},"content":{"910":{"position":[[93,2]]}},"keywords":{}}],["md"",{"_index":5115,"title":{},"content":{"1031":{"position":[[934,9]]}},"keywords":{}}],["meadata_path",{"_index":1203,"title":{},"content":{"94":{"position":[[2020,12]]},"226":{"position":[[2020,12]]}},"keywords":{}}],["meal",{"_index":3601,"title":{},"content":{"693":{"position":[[9353,5],[9412,5]]}},"keywords":{}}],["mean",{"_index":248,"title":{"900":{"position":[[17,6]]}},"content":{"9":{"position":[[1543,5]]},"10":{"position":[[1165,5]]},"12":{"position":[[152,5]]},"23":{"position":[[519,5],[2550,5]]},"148":{"position":[[255,7]]},"233":{"position":[[176,5]]},"271":{"position":[[255,7]]},"374":{"position":[[713,7],[883,8],[1848,5]]},"622":{"position":[[331,5]]},"688":{"position":[[1343,5]]},"695":{"position":[[470,5]]},"705":{"position":[[359,5],[416,5]]},"706":{"position":[[2173,5]]},"720":{"position":[[81,5]]},"753":{"position":[[713,7],[883,8],[1848,5]]},"832":{"position":[[741,5]]},"845":{"position":[[71,5]]},"846":{"position":[[1281,5],[1394,5],[1605,5]]},"848":{"position":[[21,5],[73,9]]},"864":{"position":[[645,5]]},"876":{"position":[[108,5]]},"877":{"position":[[56,5]]},"888":{"position":[[955,4]]},"890":{"position":[[1052,5]]},"898":{"position":[[438,5],[571,5]]},"900":{"position":[[43,7],[1855,7]]},"914":{"position":[[167,8]]},"917":{"position":[[304,6]]},"919":{"position":[[1790,5]]},"946":{"position":[[612,5]]},"951":{"position":[[620,5]]},"987":{"position":[[257,5],[657,5],[800,5]]},"989":{"position":[[226,5]]},"1014":{"position":[[644,5]]},"1017":{"position":[[582,5],[858,5]]},"1024":{"position":[[1109,5]]},"1026":{"position":[[156,5]]},"1032":{"position":[[203,5]]},"1035":{"position":[[187,5]]},"1037":{"position":[[289,5]]},"1050":{"position":[[946,5]]},"1053":{"position":[[1242,5]]},"1058":{"position":[[1233,5]]},"1071":{"position":[[907,5]]},"1078":{"position":[[266,5]]},"1081":{"position":[[338,5]]},"1084":{"position":[[41,5],[207,5]]},"1091":{"position":[[92,5]]},"1098":{"position":[[83,5]]},"1112":{"position":[[3060,4]]},"1138":{"position":[[4361,5]]},"1140":{"position":[[3850,5]]},"1167":{"position":[[4854,5]]},"1186":{"position":[[545,5],[812,5]]},"1187":{"position":[[558,5],[825,5]]},"1188":{"position":[[3903,5],[5284,5],[5551,5]]},"1217":{"position":[[3595,5]]},"1228":{"position":[[566,5],[5676,5]]},"1245":{"position":[[117,5]]},"1273":{"position":[[105,5]]},"1304":{"position":[[105,5]]},"1332":{"position":[[105,5]]},"1354":{"position":[[2607,7],[2659,7]]},"1367":{"position":[[10422,7],[10474,7]]},"1383":{"position":[[5654,5]]},"1388":{"position":[[4932,5],[6342,5]]},"1392":{"position":[[1877,7],[1929,7]]},"1393":{"position":[[9231,7]]},"1410":{"position":[[3361,7],[3413,7]]},"1429":{"position":[[4653,7],[4705,7]]},"1440":{"position":[[4735,7],[4787,7]]},"1467":{"position":[[6695,5]]},"1485":{"position":[[4701,7]]},"1486":{"position":[[2724,5]]}},"keywords":{}}],["meaning",{"_index":5697,"title":{},"content":{"1105":{"position":[[2213,10]]},"1487":{"position":[[2175,10],[2213,10]]}},"keywords":{}}],["meant",{"_index":3452,"title":{},"content":{"689":{"position":[[124,5]]},"835":{"position":[[20,5],[168,5]]},"1112":{"position":[[415,5]]},"1152":{"position":[[233,5]]},"1237":{"position":[[58,5]]}},"keywords":{}}],["measur",{"_index":3964,"title":{},"content":{"860":{"position":[[45,13]]},"864":{"position":[[799,9],[966,7],[1370,9],[1444,7]]},"1061":{"position":[[126,7]]}},"keywords":{}}],["mechan",{"_index":798,"title":{},"content":{"24":{"position":[[958,10]]},"693":{"position":[[2902,11]]},"998":{"position":[[40,10],[385,10]]},"1078":{"position":[[197,9]]},"1367":{"position":[[14225,10],[14344,10]]},"1393":{"position":[[5476,9],[7668,11]]},"1398":{"position":[[4614,11]]}},"keywords":{}}],["meck",{"_index":7627,"title":{},"content":{"1398":{"position":[[5682,6]]}},"keywords":{}}],["meet",{"_index":3296,"title":{},"content":{"662":{"position":[[723,5]]}},"keywords":{}}],["member",{"_index":2658,"title":{},"content":{"580":{"position":[[309,8]]},"1427":{"position":[[4799,6]]},"1439":{"position":[[7298,6]]}},"keywords":{}}],["memori",{"_index":175,"title":{"1099":{"position":[[3,6]]},"1100":{"position":[[16,6]]},"1246":{"position":[[31,6]]},"1247":{"position":[[4,8]]},"1248":{"position":[[34,6]]},"1250":{"position":[[16,6]]},"1251":{"position":[[22,6]]}},"content":{"9":{"position":[[188,6]]},"11":{"position":[[274,7],[423,6]]},"23":{"position":[[344,6],[2257,6]]},"126":{"position":[[534,6]]},"249":{"position":[[534,6]]},"362":{"position":[[1632,6]]},"663":{"position":[[1216,6]]},"741":{"position":[[1632,6]]},"890":{"position":[[6432,6]]},"892":{"position":[[159,6],[183,6],[473,6]]},"901":{"position":[[1170,6]]},"919":{"position":[[1390,6]]},"920":{"position":[[147,6],[457,6]]},"1056":{"position":[[806,6],[1049,6]]},"1057":{"position":[[1403,7]]},"1186":{"position":[[460,6],[551,6],[673,6],[828,7],[846,6]]},"1187":{"position":[[473,6],[564,6],[686,6],[841,7],[859,6]]},"1188":{"position":[[5199,6],[5290,6],[5412,6],[5567,7],[5585,6]]},"1244":{"position":[[222,7],[259,7]]},"1247":{"position":[[5,6],[37,6],[105,6],[378,6],[647,6]]},"1248":{"position":[[25,6]]},"1249":{"position":[[53,6]]},"1250":{"position":[[87,7]]},"1251":{"position":[[20,6],[75,6],[123,6]]},"1252":{"position":[[42,6]]},"1253":{"position":[[32,6],[118,7],[342,7],[350,6],[648,7]]},"1255":{"position":[[39,6],[447,7]]},"1256":{"position":[[55,6]]},"1395":{"position":[[2990,7]]}},"keywords":{}}],["memory_intensive_condition([target",{"_index":6223,"title":{},"content":{"1255":{"position":[[146,36],[322,36]]}},"keywords":{}}],["memory_intensive_condition(huge_target_list",{"_index":6224,"title":{},"content":{"1255":{"position":[[242,44]]}},"keywords":{}}],["memory_intensive_fun",{"_index":6206,"title":{},"content":{"1251":{"position":[[321,20]]}},"keywords":{}}],["memory_intensive_fun(x,i",{"_index":6204,"title":{},"content":{"1251":{"position":[[206,25],[374,25]]}},"keywords":{}}],["mention",{"_index":2618,"title":{},"content":{"574":{"position":[[3,9]]},"706":{"position":[[1371,9]]},"864":{"position":[[347,9]]},"924":{"position":[[2488,9]]},"1366":{"position":[[3027,9]]}},"keywords":{}}],["mentionsb",{"_index":3551,"title":{},"content":{"693":{"position":[[4344,10]]}},"keywords":{}}],["mere",{"_index":5659,"title":{},"content":{"1104":{"position":[[969,6]]},"1245":{"position":[[407,6]]}},"keywords":{}}],["merg",{"_index":4123,"title":{},"content":{"879":{"position":[[154,5]]},"1086":{"position":[[388,5]]},"1102":{"position":[[990,7]]},"1148":{"position":[[7213,5]]},"1186":{"position":[[279,6]]},"1187":{"position":[[292,6]]},"1356":{"position":[[715,6],[1890,6]]},"1361":{"position":[[923,6]]},"1380":{"position":[[813,6]]},"1381":{"position":[[2355,7]]},"1454":{"position":[[9524,6],[9617,6]]},"1461":{"position":[[2284,6],[2311,5],[2481,8]]},"1462":{"position":[[5733,6],[5817,6],[6671,6]]},"1465":{"position":[[2744,6],[2771,5]]},"1467":{"position":[[6229,6],[6313,6],[6883,6],[6910,5],[7080,8],[7786,6]]}},"keywords":{}}],["merging.label",{"_index":8352,"title":{},"content":{"1465":{"position":[[2941,15]]}},"keywords":{}}],["mess",{"_index":3833,"title":{},"content":{"834":{"position":[[670,4]]}},"keywords":{}}],["messag",{"_index":409,"title":{},"content":{"12":{"position":[[461,8]]},"31":{"position":[[49,7]]},"41":{"position":[[52,8],[257,8],[729,7]]},"174":{"position":[[52,8],[257,8],[729,7]]},"187":{"position":[[49,7]]},"372":{"position":[[347,8]]},"446":{"position":[[31,8],[430,7]]},"751":{"position":[[347,8]]},"825":{"position":[[31,8],[430,7]]},"877":{"position":[[143,8]]},"1047":{"position":[[476,8]]},"1053":{"position":[[287,8]]},"1112":{"position":[[391,7],[822,8],[2653,7],[3097,8],[3415,7],[3600,7],[4077,7],[4675,7]]},"1114":{"position":[[469,8]]},"1116":{"position":[[43,8]]},"1154":{"position":[[364,7]]},"1171":{"position":[[857,7]]},"1185":{"position":[[191,7]]},"1190":{"position":[[1522,7]]},"1202":{"position":[[299,7]]},"1204":{"position":[[264,7]]},"1221":{"position":[[236,7]]},"1245":{"position":[[54,7]]},"1273":{"position":[[573,8]]},"1304":{"position":[[573,8]]},"1332":{"position":[[573,8]]},"1429":{"position":[[5593,8]]},"1440":{"position":[[5585,8]]},"1486":{"position":[[5327,8],[5428,7],[5453,7],[5536,7],[5713,7],[5776,7]]}},"keywords":{}}],["message_cont",{"_index":5732,"title":{},"content":{"1112":{"position":[[2779,16],[4729,16]]}},"keywords":{}}],["messeng",{"_index":6512,"title":{},"content":{"1353":{"position":[[3080,12],[3411,13]]},"1354":{"position":[[3219,12],[3484,13]]},"1360":{"position":[[5957,12],[6222,13]]},"1427":{"position":[[7527,12]]},"1439":{"position":[[8355,12]]}},"keywords":{}}],["messenger.apk",{"_index":6663,"title":{},"content":{"1360":{"position":[[5919,14]]}},"keywords":{}}],["messenger_instrumentation_test",{"_index":6546,"title":{},"content":{"1354":{"position":[[3553,33]]}},"keywords":{}}],["messenger_super_sign",{"_index":6668,"title":{},"content":{"1360":{"position":[[6465,23]]}},"keywords":{}}],["messenger_super_sign.apk",{"_index":6671,"title":{},"content":{"1360":{"position":[[6648,27]]}},"keywords":{}}],["messenger_super_sign_unalign",{"_index":6665,"title":{},"content":{"1360":{"position":[[6184,31],[6495,32]]}},"keywords":{}}],["messenger_super_sign_unalign.apk",{"_index":6667,"title":{},"content":{"1360":{"position":[[6407,35]]}},"keywords":{}}],["messenger_test",{"_index":6516,"title":{},"content":{"1353":{"position":[[3338,17]]},"1354":{"position":[[3411,17],[3593,18]]}},"keywords":{}}],["messenger_test.apk",{"_index":6515,"title":{},"content":{"1353":{"position":[[3283,18]]}},"keywords":{}}],["messengermodul",{"_index":7972,"title":{},"content":{"1427":{"position":[[7701,18]]},"1439":{"position":[[8527,18]]}},"keywords":{}}],["messengermodule.java",{"_index":7970,"title":{},"content":{"1427":{"position":[[7578,26],[7727,25]]}},"keywords":{}}],["messengermodule.kt",{"_index":8069,"title":{},"content":{"1439":{"position":[[8404,24],[8553,23]]}},"keywords":{}}],["met",{"_index":5285,"title":{},"content":{"1050":{"position":[[752,3]]},"1370":{"position":[[2737,4]]}},"keywords":{}}],["meta",{"_index":293,"title":{},"content":{"9":{"position":[[2559,4],[2812,4]]},"12":{"position":[[536,4]]},"22":{"position":[[0,4],[768,4]]},"24":{"position":[[221,4],[346,4]]},"91":{"position":[[505,5]]},"223":{"position":[[505,5]]},"693":{"position":[[6042,4],[7997,4]]},"1075":{"position":[[625,5],[774,5]]},"1422":{"position":[[3841,4]]},"1423":{"position":[[2611,4]]},"1426":{"position":[[2547,4]]},"1469":{"position":[[2422,4]]}},"keywords":{}}],["meta'",{"_index":401,"title":{},"content":{"12":{"position":[[317,6]]}},"keywords":{}}],["meta_inf_directori",{"_index":7952,"title":{},"content":{"1426":{"position":[[838,19]]}},"keywords":{}}],["metadata",{"_index":1205,"title":{"913":{"position":[[15,8]]},"916":{"position":[[9,8]]},"917":{"position":[[10,8]]}},"content":{"94":{"position":[[2167,9],[2472,8]]},"226":{"position":[[2167,9],[2472,8]]},"304":{"position":[[42,9],[137,8],[382,9]]},"443":{"position":[[445,9]]},"822":{"position":[[445,9]]},"864":{"position":[[380,8],[469,8],[1130,8],[1276,8]]},"872":{"position":[[233,9],[408,8],[785,8],[1006,8]]},"881":{"position":[[71,8]]},"916":{"position":[[46,8],[278,8],[472,8]]},"917":{"position":[[12,8],[51,8],[209,8],[265,8]]},"941":{"position":[[47,8],[194,8]]},"943":{"position":[[762,8]]},"1050":{"position":[[1430,8],[1572,8],[3171,9],[3188,8],[4610,8]]},"1114":{"position":[[439,8],[514,8]]},"1136":{"position":[[6545,8],[6578,8],[6642,8]]},"1138":{"position":[[10207,8],[10240,8],[10304,8]]},"1140":{"position":[[9133,8],[9166,8],[9230,8]]},"1142":{"position":[[4577,8],[4610,8],[4674,8]]},"1144":{"position":[[905,8],[938,8],[1002,8]]},"1146":{"position":[[4517,8],[4550,8],[4614,8]]},"1148":{"position":[[8108,8],[8141,8],[8205,8]]},"1150":{"position":[[1140,8],[1173,8],[1237,8]]},"1152":{"position":[[838,8],[871,8],[935,8]]},"1154":{"position":[[993,8],[1026,8],[1090,8]]},"1155":{"position":[[4613,8],[4646,8],[4710,8]]},"1156":{"position":[[4191,8],[4224,8],[4288,8]]},"1157":{"position":[[776,8],[809,8],[873,8]]},"1158":{"position":[[770,8],[803,8],[867,8]]},"1159":{"position":[[770,8],[803,8],[867,8]]},"1161":{"position":[[1765,8],[1798,8],[1862,8]]},"1163":{"position":[[1151,8],[1184,8],[1248,8]]},"1165":{"position":[[980,8],[1013,8],[1077,8]]},"1167":{"position":[[10137,8],[10170,8],[10234,8]]},"1169":{"position":[[3245,8],[3278,8],[3342,8]]},"1171":{"position":[[1486,8],[1519,8],[1583,8]]},"1172":{"position":[[2871,8],[2904,8],[2968,8]]},"1173":{"position":[[1558,8],[1591,8],[1655,8]]},"1174":{"position":[[986,8],[1019,8],[1083,8]]},"1175":{"position":[[982,8],[1015,8],[1079,8]]},"1176":{"position":[[1151,8],[1184,8],[1248,8]]},"1177":{"position":[[1072,8],[1105,8],[1169,8]]},"1178":{"position":[[1389,8],[1422,8],[1486,8]]},"1179":{"position":[[1186,8],[1219,8],[1283,8]]},"1180":{"position":[[1457,8],[1490,8],[1554,8]]},"1181":{"position":[[1977,8],[2010,8],[2074,8]]},"1182":{"position":[[1020,8],[1053,8],[1117,8]]},"1183":{"position":[[975,8],[1008,8],[1072,8]]},"1185":{"position":[[820,8],[853,8],[917,8]]},"1186":{"position":[[5781,8],[5814,8],[5878,8]]},"1187":{"position":[[5794,8],[5827,8],[5891,8]]},"1188":{"position":[[10520,8],[10553,8],[10617,8]]},"1190":{"position":[[2151,8],[2184,8],[2248,8]]},"1191":{"position":[[4381,8],[4414,8],[4478,8]]},"1192":{"position":[[4556,8],[4589,8],[4653,8]]},"1193":{"position":[[4608,8],[4641,8],[4705,8]]},"1194":{"position":[[4248,8],[4281,8],[4345,8]]},"1195":{"position":[[4226,8],[4259,8],[4323,8]]},"1196":{"position":[[4036,8],[4069,8],[4133,8]]},"1197":{"position":[[5019,8],[5052,8],[5116,8]]},"1198":{"position":[[5029,8],[5062,8],[5126,8]]},"1199":{"position":[[5057,8],[5090,8],[5154,8]]},"1200":{"position":[[4924,8],[4957,8],[5021,8]]},"1201":{"position":[[4184,8],[4217,8],[4281,8]]},"1202":{"position":[[928,8],[961,8],[1025,8],[5326,8],[5359,8],[5423,8],[9723,8],[9756,8],[9820,8]]},"1203":{"position":[[4418,8],[4451,8],[4515,8]]},"1204":{"position":[[4262,8],[4295,8],[4359,8],[5164,8],[5197,8],[5261,8],[6094,8],[6127,8],[6191,8],[6996,8],[7029,8],[7093,8],[7982,8],[8015,8],[8079,8],[8936,8],[8969,8],[9033,8],[9883,8],[9916,8],[9980,8],[10813,8],[10846,8],[10910,8]]},"1205":{"position":[[5591,8],[5624,8],[5688,8]]},"1206":{"position":[[4290,8],[4323,8],[4387,8]]},"1207":{"position":[[4219,8],[4252,8],[4316,8]]},"1209":{"position":[[5567,8],[5600,8],[5664,8]]},"1211":{"position":[[891,8],[924,8],[988,8]]},"1213":{"position":[[662,8],[695,8],[759,8]]},"1215":{"position":[[746,8],[779,8],[843,8]]},"1217":{"position":[[8878,8],[8911,8],[8975,8]]},"1219":{"position":[[4133,8],[4166,8],[4230,8]]},"1221":{"position":[[865,8],[898,8],[962,8]]},"1222":{"position":[[4004,8],[4037,8],[4101,8]]},"1223":{"position":[[4014,8],[4047,8],[4111,8]]},"1224":{"position":[[3447,8],[3480,8],[3544,8]]},"1226":{"position":[[9346,8],[9379,8],[9443,8]]},"1228":{"position":[[10959,8],[10992,8],[11056,8]]},"1235":{"position":[[6827,8],[6860,8],[6924,8]]},"1237":{"position":[[9516,8],[9549,8],[9613,8]]},"1348":{"position":[[235,9],[3451,8]]},"1349":{"position":[[246,9],[1596,8]]},"1350":{"position":[[238,9],[4567,8]]},"1351":{"position":[[244,9],[1764,9],[1793,8]]},"1352":{"position":[[238,9],[4566,8]]},"1353":{"position":[[251,9],[2170,8]]},"1354":{"position":[[252,9],[2008,8]]},"1355":{"position":[[239,9],[3124,9],[3153,8]]},"1356":{"position":[[240,9],[1514,8]]},"1357":{"position":[[240,9],[1187,8]]},"1358":{"position":[[244,9],[1908,8]]},"1359":{"position":[[240,9],[1745,8]]},"1360":{"position":[[235,9],[2353,9],[2382,8]]},"1361":{"position":[[243,9],[1735,8]]},"1362":{"position":[[236,9],[6076,9],[6105,8]]},"1363":{"position":[[236,9],[3822,9],[3851,8]]},"1364":{"position":[[237,9],[6105,9],[6134,8]]},"1365":{"position":[[237,9],[1669,8]]},"1366":{"position":[[238,9],[1852,9],[1881,8]]},"1367":{"position":[[234,9],[7503,9],[7532,8]]},"1368":{"position":[[239,9],[2225,8]]},"1369":{"position":[[243,9],[1277,8]]},"1370":{"position":[[250,9],[1501,9],[1530,8]]},"1371":{"position":[[241,9],[1153,8]]},"1372":{"position":[[238,9],[2791,8]]},"1373":{"position":[[235,9],[3663,8]]},"1374":{"position":[[237,9],[1536,9],[1565,8]]},"1375":{"position":[[238,9],[1189,8]]},"1376":{"position":[[243,9],[1145,8]]},"1377":{"position":[[240,9],[1384,8]]},"1378":{"position":[[242,9],[1131,8]]},"1379":{"position":[[240,9],[1154,8]]},"1380":{"position":[[239,9],[1625,8]]},"1381":{"position":[[238,9],[1531,8]]},"1382":{"position":[[234,9],[3988,9],[4017,8]]},"1383":{"position":[[235,9],[2226,9],[2255,8]]},"1384":{"position":[[235,9],[5150,9],[5179,8]]},"1385":{"position":[[241,9],[2850,8]]},"1386":{"position":[[246,9],[1488,8]]},"1387":{"position":[[244,9],[5119,8]]},"1388":{"position":[[232,9],[4288,9],[4317,8]]},"1389":{"position":[[237,9],[5172,8]]},"1390":{"position":[[232,9],[1424,8]]},"1391":{"position":[[233,9],[1377,8]]},"1392":{"position":[[230,9],[1527,8]]},"1393":{"position":[[234,9],[2076,9],[2105,8]]},"1394":{"position":[[243,9],[1547,8]]},"1395":{"position":[[238,9],[1533,9],[1562,8]]},"1396":{"position":[[243,9],[1353,8]]},"1397":{"position":[[238,9],[1534,8]]},"1398":{"position":[[235,9],[2183,9],[2212,8]]},"1399":{"position":[[235,9],[1389,8]]},"1400":{"position":[[244,9],[1258,8]]},"1401":{"position":[[233,9],[1333,8]]},"1402":{"position":[[232,9],[1489,8]]},"1403":{"position":[[231,9],[2056,9],[2085,8]]},"1404":{"position":[[233,9],[1322,8]]},"1405":{"position":[[233,9],[2013,8]]},"1406":{"position":[[243,9],[1229,8]]},"1407":{"position":[[243,9],[2054,8]]},"1408":{"position":[[234,9],[1750,8]]},"1409":{"position":[[233,9],[1284,8]]},"1410":{"position":[[231,9],[2423,9],[2452,8]]},"1411":{"position":[[238,9],[1267,8]]},"1412":{"position":[[238,9],[2444,9],[2473,8]]},"1413":{"position":[[235,9],[2651,8]]},"1414":{"position":[[234,9],[1518,8]]},"1415":{"position":[[238,9],[3500,8]]},"1416":{"position":[[238,9],[2152,8]]},"1417":{"position":[[236,9],[1741,8]]},"1418":{"position":[[239,9],[1442,8]]},"1419":{"position":[[235,9],[1570,8]]},"1420":{"position":[[239,9],[1834,8]]},"1421":{"position":[[248,9],[1809,8]]},"1422":{"position":[[236,9],[1689,9],[1718,8]]},"1423":{"position":[[233,9],[1701,8]]},"1424":{"position":[[235,9],[1826,8]]},"1425":{"position":[[249,9],[1442,8]]},"1426":{"position":[[235,9],[1762,9],[1791,8]]},"1427":{"position":[[236,9],[2659,9],[2688,8]]},"1428":{"position":[[235,9],[1424,8]]},"1429":{"position":[[233,9],[3323,9],[3352,8]]},"1430":{"position":[[240,9],[2200,8]]},"1431":{"position":[[233,9],[1544,8]]},"1432":{"position":[[241,9],[2065,8]]},"1433":{"position":[[234,9],[1586,8]]},"1434":{"position":[[236,9],[1260,8]]},"1435":{"position":[[241,9],[1224,8]]},"1436":{"position":[[237,9],[1240,8]]},"1437":{"position":[[234,9],[1310,8]]},"1438":{"position":[[232,9],[1421,9],[1450,8]]},"1439":{"position":[[238,9],[2945,9],[2974,8]]},"1440":{"position":[[235,9],[3511,9],[3540,8]]},"1441":{"position":[[240,9],[1266,8]]},"1442":{"position":[[241,9],[1316,9],[1345,8]]},"1443":{"position":[[234,9],[1561,8]]},"1444":{"position":[[235,9],[1477,8]]},"1445":{"position":[[238,9],[1166,8]]},"1446":{"position":[[235,9],[1500,8]]},"1447":{"position":[[237,9],[1382,8]]},"1448":{"position":[[236,9],[1817,8]]},"1449":{"position":[[237,9],[1751,8]]},"1450":{"position":[[236,9],[1630,8]]},"1451":{"position":[[236,9],[1630,8]]},"1452":{"position":[[232,9],[1176,8]]},"1453":{"position":[[248,9],[1762,8]]},"1454":{"position":[[244,9],[4128,8]]},"1455":{"position":[[250,9],[2015,8]]},"1456":{"position":[[247,9],[1360,8]]},"1457":{"position":[[243,9],[1419,8]]},"1458":{"position":[[236,9],[1954,8]]},"1459":{"position":[[247,9],[1433,8]]},"1460":{"position":[[246,9],[1545,8]]},"1461":{"position":[[247,9],[1737,9],[1766,8]]},"1462":{"position":[[237,9],[5141,8]]},"1463":{"position":[[247,9],[1267,8]]},"1464":{"position":[[248,9],[1175,8]]},"1465":{"position":[[238,9],[2273,8]]},"1466":{"position":[[251,9],[1511,8]]},"1467":{"position":[[235,9],[5807,9],[5836,8]]},"1468":{"position":[[242,9],[1275,8]]},"1469":{"position":[[235,9],[1625,9],[1654,8]]},"1470":{"position":[[240,9],[4177,8]]},"1471":{"position":[[235,9],[2488,9],[2517,8],[2740,8],[5575,8]]},"1472":{"position":[[236,9],[2447,9],[2476,8],[2699,8],[6461,8]]},"1473":{"position":[[233,9],[2762,9],[2791,8],[3014,8]]},"1474":{"position":[[237,9],[2176,8]]},"1475":{"position":[[234,9],[2647,8]]},"1476":{"position":[[240,9],[1252,8]]},"1477":{"position":[[233,9],[1381,9],[1410,8]]},"1478":{"position":[[231,9],[1872,9],[1901,8]]},"1479":{"position":[[248,9],[1344,8]]},"1480":{"position":[[237,9],[1757,8]]},"1481":{"position":[[239,9],[2290,8]]},"1482":{"position":[[234,9],[1364,8]]},"1483":{"position":[[239,9],[1198,8]]},"1484":{"position":[[239,9],[1270,8]]},"1485":{"position":[[240,9],[1530,8]]},"1486":{"position":[[235,9],[1774,8]]},"1487":{"position":[[232,9],[1446,9],[1475,8]]}},"keywords":{}}],["metadata_env_var",{"_index":1178,"title":{},"content":{"94":{"position":[[794,17],[2600,16]]},"226":{"position":[[794,17],[2600,16]]},"1050":{"position":[[1114,16],[2378,17],[2769,16],[4094,16]]},"1360":{"position":[[948,17]]},"1383":{"position":[[826,17]]},"1403":{"position":[[851,17]]},"1424":{"position":[[767,17]]},"1432":{"position":[[905,17]]}},"keywords":{}}],["metadata_env_var,metadata_path",{"_index":5286,"title":{},"content":{"1050":{"position":[[764,30]]}},"keywords":{}}],["metadata_env_varboth",{"_index":1209,"title":{},"content":{"94":{"position":[[2579,20]]},"226":{"position":[[2579,20]]}},"keywords":{}}],["metadata_path",{"_index":1179,"title":{},"content":{"94":{"position":[[821,14],[2081,14],[2621,13]]},"226":{"position":[[821,14],[2081,14],[2621,13]]},"1050":{"position":[[1135,13],[2482,14],[2817,13],[4142,13]]},"1360":{"position":[[982,14]]},"1383":{"position":[[860,14]]},"1403":{"position":[[885,14]]},"1424":{"position":[[801,14]]},"1432":{"position":[[939,14]]}},"keywords":{}}],["method",{"_index":1011,"title":{},"content":{"79":{"position":[[325,7]]},"84":{"position":[[429,7]]},"216":{"position":[[429,7]]},"276":{"position":[[512,6]]},"277":{"position":[[460,6],[668,7]]},"281":{"position":[[601,6]]},"282":{"position":[[551,6],[777,7]]},"345":{"position":[[809,6]]},"416":{"position":[[253,6]]},"417":{"position":[[482,6]]},"508":{"position":[[325,7]]},"583":{"position":[[135,6]]},"637":{"position":[[129,8]]},"645":{"position":[[150,7]]},"646":{"position":[[147,7]]},"795":{"position":[[253,6]]},"796":{"position":[[482,6]]},"840":{"position":[[1448,6]]},"860":{"position":[[178,8],[594,6]]},"861":{"position":[[1001,7]]},"870":{"position":[[1462,7]]},"889":{"position":[[564,7],[624,7],[1101,7]]},"890":{"position":[[2077,7]]},"898":{"position":[[2571,8]]},"924":{"position":[[285,6],[503,6],[2190,7],[2481,6]]},"937":{"position":[[656,7]]},"1031":{"position":[[367,6],[394,6]]},"1040":{"position":[[1555,7]]},"1178":{"position":[[127,7]]},"1398":{"position":[[2976,8]]},"1426":{"position":[[2710,6]]},"1429":{"position":[[5304,7]]},"1439":{"position":[[4581,8]]},"1440":{"position":[[5298,7]]}},"keywords":{}}],["method_ref_count_buffer_spac",{"_index":6443,"title":{},"content":{"1350":{"position":[[2224,30]]},"1352":{"position":[[2223,30]]}},"keywords":{}}],["methodsread_str",{"_index":1130,"title":{},"content":{"92":{"position":[[1130,19]]},"224":{"position":[[1130,19]]}},"keywords":{}}],["metric",{"_index":5814,"title":{},"content":{"1126":{"position":[[1647,8]]}},"keywords":{}}],["mf"",{"_index":5116,"title":{},"content":{"1031":{"position":[[951,9]]}},"keywords":{}}],["micro",{"_index":5793,"title":{},"content":{"1126":{"position":[[273,6]]}},"keywords":{}}],["microsecond",{"_index":6003,"title":{},"content":{"1180":{"position":[[379,13]]}},"keywords":{}}],["microsoft'",{"_index":8548,"title":{},"content":{"1485":{"position":[[4615,11]]}},"keywords":{}}],["mid",{"_index":3449,"title":{},"content":{"688":{"position":[[1450,3]]},"1383":{"position":[[5756,3]]},"1388":{"position":[[5034,3],[6444,3]]},"1467":{"position":[[6797,3]]}},"keywords":{}}],["middl",{"_index":2775,"title":{},"content":{"591":{"position":[[693,6]]}},"keywords":{}}],["migrat",{"_index":265,"title":{},"content":{"9":{"position":[[1820,9]]},"22":{"position":[[799,10]]},"846":{"position":[[725,7]]},"919":{"position":[[942,7]]},"945":{"position":[[169,7],[260,9],[377,9]]},"972":{"position":[[134,7]]},"1393":{"position":[[2427,9],[3104,10],[3924,10]]}},"keywords":{}}],["milli",{"_index":2486,"title":{},"content":{"513":{"position":[[58,6]]},"867":{"position":[[1125,7]]},"1126":{"position":[[249,7]]}},"keywords":{}}],["million_list",{"_index":6208,"title":{},"content":{"1252":{"position":[[189,12],[253,12]]}},"keywords":{}}],["millisecond",{"_index":6000,"title":{},"content":{"1177":{"position":[[486,12]]},"1354":{"position":[[2931,13]]},"1388":{"position":[[10158,13]]},"1392":{"position":[[2282,13]]},"1410":{"position":[[5381,13]]},"1429":{"position":[[5878,13]]},"1440":{"position":[[5778,13]]},"1467":{"position":[[10400,13]]}},"keywords":{}}],["min",{"_index":3258,"title":{"655":{"position":[[0,4]]}},"content":{"655":{"position":[[25,4]]},"1228":{"position":[[1868,4]]}},"keywords":{}}],["min("two"",{"_index":3263,"title":{},"content":{"655":{"position":[[251,20],[359,20]]}},"keywords":{}}],["min(*arg",{"_index":3259,"title":{},"content":{"655":{"position":[[4,10]]}},"keywords":{}}],["min([3",{"_index":3262,"title":{},"content":{"655":{"position":[[222,7]]}},"keywords":{}}],["min(x",{"_index":3261,"title":{},"content":{"655":{"position":[[65,6]]}},"keywords":{}}],["min_sdk_vers",{"_index":6358,"title":{},"content":{"1348":{"position":[[1528,16]]},"1350":{"position":[[2264,16]]},"1352":{"position":[[2263,16]]},"1353":{"position":[[955,16]]},"1389":{"position":[[2824,16]]}},"keywords":{}}],["min_vers",{"_index":6996,"title":{},"content":{"1368":{"position":[[976,12]]}},"keywords":{}}],["minim",{"_index":3609,"title":{},"content":{"695":{"position":[[783,7]]},"959":{"position":[[243,7]]},"1345":{"position":[[941,7]]},"1355":{"position":[[6285,7]]},"1393":{"position":[[9841,7]]},"1427":{"position":[[5458,7]]}},"keywords":{}}],["minimize_primary_dex_s",{"_index":6444,"title":{},"content":{"1350":{"position":[[2297,26]]},"1352":{"position":[[2296,26]]}},"keywords":{}}],["minimum",{"_index":3260,"title":{},"content":{"655":{"position":[[42,7]]},"1033":{"position":[[74,8]]},"1204":{"position":[[7365,7]]},"1362":{"position":[[13257,7],[13331,7]]},"1363":{"position":[[7753,7]]},"1364":{"position":[[13957,7],[14031,7]]},"1367":{"position":[[13165,7],[13239,7]]}},"keywords":{}}],["minor",{"_index":691,"title":{},"content":{"23":{"position":[[15,5]]}},"keywords":{}}],["minsdkversion="17"/>",{"_index":6589,"title":{},"content":{"1356":{"position":[[2468,33]]}},"keywords":{}}],["minut",{"_index":321,"title":{},"content":{"10":{"position":[[358,8]]},"1228":{"position":[[1851,8],[1860,7]]}},"keywords":{}}],["mirror",{"_index":3733,"title":{},"content":{"712":{"position":[[182,7]]},"839":{"position":[[149,8]]},"1102":{"position":[[197,8]]},"1422":{"position":[[2050,6]]},"1477":{"position":[[2360,7]]}},"keywords":{}}],["mirror.example.com/bin/thrift",{"_index":7911,"title":{},"content":{"1422":{"position":[[4059,29]]},"1423":{"position":[[3612,29]]}},"keywords":{}}],["mirrored_field",{"_index":3753,"title":{},"content":{"712":{"position":[[1617,15]]}},"keywords":{}}],["mirrorinfo",{"_index":3729,"title":{},"content":{"712":{"position":[[63,10]]}},"keywords":{}}],["mirrorinfo(mirrored_attr",{"_index":3738,"title":{},"content":{"712":{"position":[[436,25]]}},"keywords":{}}],["misfeatur",{"_index":5707,"title":{},"content":{"1108":{"position":[[262,11]]}},"keywords":{}}],["mislead",{"_index":4861,"title":{},"content":{"980":{"position":[[1424,10]]},"981":{"position":[[619,10]]}},"keywords":{}}],["miss",{"_index":256,"title":{},"content":{"9":{"position":[[1681,7],[1857,7],[2015,7]]},"406":{"position":[[779,7]]},"663":{"position":[[506,7]]},"704":{"position":[[827,5],[962,5],[1040,7],[1988,5]]},"705":{"position":[[859,5]]},"706":{"position":[[923,4],[1138,6]]},"724":{"position":[[810,5],[973,7],[1253,7]]},"785":{"position":[[779,7]]},"901":{"position":[[468,7]]},"1138":{"position":[[5088,7],[5117,8]]},"1140":{"position":[[4577,7],[4606,8]]},"1146":{"position":[[177,7],[198,7],[294,7]]},"1167":{"position":[[5581,7],[5610,8]]},"1188":{"position":[[4630,7],[4659,8]]},"1217":{"position":[[4322,7],[4351,8]]},"1228":{"position":[[1212,7],[6403,7],[6432,8]]}},"keywords":{}}],["misus",{"_index":3832,"title":{},"content":{"834":{"position":[[511,8]]}},"keywords":{}}],["mitig",{"_index":4866,"title":{},"content":{"981":{"position":[[587,9]]},"1075":{"position":[[535,8]]}},"keywords":{}}],["mix",{"_index":2816,"title":{},"content":{"595":{"position":[[1037,6]]},"704":{"position":[[409,6],[600,6],[1693,6],[2239,6]]},"1024":{"position":[[389,3]]}},"keywords":{}}],["mk",{"_index":8108,"title":{},"content":{"1446":{"position":[[2428,3]]}},"keywords":{}}],["mkdir",{"_index":543,"title":{},"content":{"18":{"position":[[143,5]]},"910":{"position":[[73,5],[79,5],[85,5]]}},"keywords":{}}],["ml",{"_index":8124,"title":{},"content":{"1448":{"position":[[2590,5]]},"1449":{"position":[[2524,5]]}},"keywords":{}}],["mli",{"_index":8125,"title":{},"content":{"1448":{"position":[[2596,6],[2603,6]]},"1449":{"position":[[2530,6],[2537,6]]}},"keywords":{}}],["mll",{"_index":8126,"title":{},"content":{"1448":{"position":[[2610,6]]},"1449":{"position":[[2544,6]]}},"keywords":{}}],["mock",{"_index":3973,"title":{},"content":{"860":{"position":[[576,8]]}},"keywords":{}}],["mod",{"_index":7448,"title":{},"content":{"1393":{"position":[[745,4],[6200,4],[6209,3],[10262,3],[10480,3]]}},"keywords":{}}],["mode",{"_index":481,"title":{},"content":{"16":{"position":[[129,5]]},"24":{"position":[[989,4]]},"94":{"position":[[1936,4]]},"226":{"position":[[1936,4]]},"362":{"position":[[1577,5]]},"741":{"position":[[1577,5]]},"921":{"position":[[121,4]]},"937":{"position":[[1440,6],[1569,5],[2397,6],[2441,5],[2667,5],[2834,5],[2885,6],[3761,5],[3902,4],[3926,4],[4081,4]]},"1040":{"position":[[803,5]]},"1056":{"position":[[447,5],[510,4],[632,4],[705,4],[1112,4],[1204,4],[1300,4]]},"1057":{"position":[[20,4],[1068,4],[1367,4]]},"1058":{"position":[[21,4]]},"1059":{"position":[[20,5]]},"1120":{"position":[[656,4]]},"1136":{"position":[[1500,5]]},"1148":{"position":[[1856,5],[7070,4]]},"1167":{"position":[[1009,6]]},"1186":{"position":[[89,4],[428,4],[454,5],[477,5]]},"1187":{"position":[[102,4],[441,4],[467,5],[490,5]]},"1188":{"position":[[86,4],[5167,4],[5193,5],[5216,5]]},"1205":{"position":[[980,5]]},"1209":{"position":[[733,5]]},"1226":{"position":[[552,4],[1142,4],[2673,5],[4778,4]]},"1235":{"position":[[1993,5]]},"1237":{"position":[[722,4],[1312,4],[2843,5],[4948,4]]},"1243":{"position":[[536,6]]},"1399":{"position":[[468,5],[1717,4]]},"1405":{"position":[[2701,4],[2761,4],[2782,6],[2874,4]]},"1407":{"position":[[2284,4],[3122,4],[3182,4],[3203,6],[3295,4]]},"1410":{"position":[[3224,4],[3762,4],[3783,6],[3875,4]]},"1446":{"position":[[1845,4]]},"1470":{"position":[[4685,4]]}},"keywords":{}}],["mode=heap",{"_index":5354,"title":{},"content":{"1056":{"position":[[257,9],[346,9]]}},"keywords":{}}],["modefil",{"_index":4585,"title":{},"content":{"937":{"position":[[385,9],[639,10],[724,10],[807,10],[863,9],[912,9],[1047,9],[1231,9],[3349,8],[4729,9],[4760,9]]},"1136":{"position":[[3170,10]]},"1138":{"position":[[6832,10]]},"1140":{"position":[[5758,10]]},"1142":{"position":[[1202,10]]},"1146":{"position":[[1142,10]]},"1148":{"position":[[4182,10]]},"1155":{"position":[[1238,10]]},"1156":{"position":[[816,10]]},"1167":{"position":[[6762,10]]},"1169":{"position":[[601,10]]},"1186":{"position":[[2406,10]]},"1187":{"position":[[2419,10]]},"1188":{"position":[[7145,10]]},"1191":{"position":[[1006,10]]},"1192":{"position":[[1181,10]]},"1193":{"position":[[1233,10]]},"1194":{"position":[[873,10]]},"1195":{"position":[[851,10]]},"1196":{"position":[[661,10]]},"1197":{"position":[[1644,10]]},"1198":{"position":[[1654,10]]},"1199":{"position":[[1682,10]]},"1200":{"position":[[1549,10]]},"1201":{"position":[[809,10]]},"1202":{"position":[[1951,10],[6348,10]]},"1203":{"position":[[1043,10]]},"1204":{"position":[[887,10]]},"1205":{"position":[[2216,10]]},"1206":{"position":[[687,10]]},"1207":{"position":[[844,10]]},"1209":{"position":[[2192,10]]},"1217":{"position":[[5503,10]]},"1219":{"position":[[1489,10]]},"1222":{"position":[[613,10]]},"1223":{"position":[[623,10]]},"1224":{"position":[[803,10]]},"1226":{"position":[[5971,10]]},"1228":{"position":[[7584,10]]},"1235":{"position":[[3452,10]]},"1237":{"position":[[6141,10]]}},"keywords":{}}],["model",{"_index":3625,"title":{"703":{"position":[[86,6]]},"714":{"position":[[14,5]]},"716":{"position":[[10,6]]}},"content":{"715":{"position":[[1858,6]]},"716":{"position":[[42,6],[142,6]]},"947":{"position":[[715,7]]},"961":{"position":[[19,6]]},"1380":{"position":[[555,6]]}},"keywords":{}}],["modif",{"_index":952,"title":{},"content":{"66":{"position":[[81,13]]},"454":{"position":[[81,13]]},"573":{"position":[[197,13]]},"693":{"position":[[5227,12]]},"939":{"position":[[154,12]]}},"keywords":{}}],["modifi",{"_index":800,"title":{"936":{"position":[[20,9]]},"940":{"position":[[8,9]]},"941":{"position":[[7,9]]},"942":{"position":[[4,9]]},"943":{"position":[[0,8]]},"944":{"position":[[12,10]]},"946":{"position":[[10,10]]},"947":{"position":[[18,9]]}},"content":{"24":{"position":[[1022,9]]},"66":{"position":[[230,9]]},"443":{"position":[[413,9]]},"454":{"position":[[230,9]]},"693":{"position":[[5209,10]]},"822":{"position":[[413,9]]},"890":{"position":[[1163,9]]},"937":{"position":[[3129,8],[3983,9],[4483,9],[4815,9]]},"938":{"position":[[1028,9]]},"939":{"position":[[140,8],[269,10],[310,10],[338,8],[401,8],[617,8],[768,8],[782,8],[951,8],[1055,8],[1387,8],[1445,6],[1543,8],[1559,6],[1721,8]]},"940":{"position":[[19,9],[151,9],[229,9],[464,8],[542,9],[918,8],[1229,9]]},"941":{"position":[[13,9],[104,9],[278,9]]},"942":{"position":[[21,9],[185,8],[300,10],[409,9],[483,9],[647,8],[691,9],[757,9],[835,8],[990,8],[1052,9],[1218,8],[1331,9],[1611,9],[1629,8],[1738,9],[1761,8]]},"943":{"position":[[0,9],[88,9],[180,8],[349,9],[907,10],[946,9],[991,9],[1040,8],[1103,8],[1146,8],[1182,10],[1304,9],[1448,9],[1621,9],[1641,8],[1775,9],[1914,9],[1979,10],[1994,8],[2058,8],[2168,9],[2301,9],[2339,9],[2437,8],[2498,9],[2534,10],[2624,8],[2668,8]]},"944":{"position":[[0,9],[38,9],[191,10],[750,10],[1992,9]]},"945":{"position":[[180,10],[279,8],[393,9],[501,9],[612,9],[762,8],[1006,8]]},"946":{"position":[[53,9],[139,8],[216,8],[268,9],[374,9],[442,8],[535,8]]},"947":{"position":[[0,9],[84,8],[192,8],[402,9],[469,8],[583,9],[653,8],[747,9],[989,9],[1212,9],[1294,8],[1340,10]]},"980":{"position":[[542,8],[593,9],[706,8],[742,9]]},"1001":{"position":[[722,9]]},"1064":{"position":[[820,9]]},"1071":{"position":[[1234,6]]},"1136":{"position":[[2567,8],[2606,8]]},"1138":{"position":[[5813,10],[6229,8],[6268,8]]},"1140":{"position":[[5155,8],[5194,8]]},"1142":{"position":[[637,8]]},"1146":{"position":[[539,8],[578,8]]},"1148":{"position":[[3163,10],[3579,8],[3618,8]]},"1167":{"position":[[6159,8],[6198,8]]},"1186":{"position":[[1387,10],[1803,8],[1842,8]]},"1187":{"position":[[1400,10],[1816,8],[1855,8]]},"1188":{"position":[[6126,10],[6542,8],[6581,8]]},"1191":{"position":[[441,8]]},"1192":{"position":[[578,8],[617,8]]},"1193":{"position":[[668,8]]},"1194":{"position":[[308,8]]},"1195":{"position":[[286,8]]},"1196":{"position":[[96,8]]},"1197":{"position":[[625,10],[1041,8],[1080,8]]},"1198":{"position":[[635,10],[1051,8],[1090,8]]},"1199":{"position":[[663,10],[1079,8],[1118,8]]},"1200":{"position":[[530,10],[946,8],[985,8]]},"1201":{"position":[[244,8]]},"1202":{"position":[[1386,8],[5783,8]]},"1203":{"position":[[440,8],[479,8]]},"1204":{"position":[[322,8]]},"1205":{"position":[[1613,8],[1652,8]]},"1206":{"position":[[3539,8]]},"1207":{"position":[[279,8]]},"1209":{"position":[[1627,8]]},"1217":{"position":[[4900,8],[4939,8]]},"1226":{"position":[[587,8],[896,8],[1011,8],[1064,8],[5368,8],[5407,8]]},"1228":{"position":[[6981,8],[7020,8]]},"1235":{"position":[[2887,8]]},"1237":{"position":[[757,8],[1066,8],[1181,8],[1234,8],[5538,8],[5577,8]]}},"keywords":{}}],["modifier=linux",{"_index":4680,"title":{},"content":{"942":{"position":[[1078,14]]}},"keywords":{}}],["modifier=releas",{"_index":4681,"title":{},"content":{"942":{"position":[[1095,16]]}},"keywords":{}}],["modifiers.match",{"_index":4635,"title":{},"content":{"939":{"position":[[916,17],[1069,17],[1307,17],[1407,17],[1588,17]]},"940":{"position":[[713,17],[1338,17]]},"943":{"position":[[479,17],[1318,15],[1789,15],[2545,15]]},"944":{"position":[[202,16]]}},"keywords":{}}],["modifiers.match_host",{"_index":4694,"title":{},"content":{"944":{"position":[[562,21],[1090,20]]}},"keywords":{}}],["modifiers.match_hosti",{"_index":4696,"title":{},"content":{"944":{"position":[[761,22]]}},"keywords":{}}],["modifiers.match_rul",{"_index":4693,"title":{},"content":{"944":{"position":[[349,21],[1065,20],[1481,22]]}},"keywords":{}}],["modifiers.matchspecifi",{"_index":4692,"title":{},"content":{"943":{"position":[[2262,25]]}},"keywords":{}}],["modifierscommand",{"_index":4723,"title":{},"content":{"946":{"position":[[315,16]]}},"keywords":{}}],["modul",{"_index":1433,"title":{},"content":{"171":{"position":[[58,6]]},"298":{"position":[[1121,6]]},"300":{"position":[[101,7]]},"421":{"position":[[339,7]]},"551":{"position":[[58,6]]},"800":{"position":[[339,7]]},"887":{"position":[[42,6],[313,6]]},"888":{"position":[[1320,7],[1351,7]]},"889":{"position":[[228,6],[309,7]]},"890":{"position":[[974,6],[1004,7],[1139,7],[2731,6],[3017,6],[3041,6],[3073,6],[3127,6],[3418,6],[3614,7],[3670,6],[3748,6],[3833,6],[3865,6],[5004,7],[5201,6],[5230,6],[5445,7],[6063,7],[6194,7],[6919,8]]},"898":{"position":[[394,7],[464,6],[524,7],[987,7],[1006,7],[1093,6]]},"955":{"position":[[118,7]]},"1056":{"position":[[819,6],[1062,6]]},"1202":{"position":[[99,6],[123,6],[1165,7],[1190,6],[1288,6],[1356,6]]},"1380":{"position":[[472,7]]},"1385":{"position":[[1920,7],[1946,6]]},"1387":{"position":[[4271,7],[4297,6]]},"1393":{"position":[[6333,6],[7618,6],[7649,7],[9609,6]]},"1395":{"position":[[2507,7],[2545,6],[2593,6],[2614,6],[3235,6],[3427,6]]},"1398":{"position":[[4564,6],[4595,7]]},"1414":{"position":[[649,8]]},"1416":{"position":[[2437,7],[2964,6]]},"1420":{"position":[[2119,7]]},"1439":{"position":[[4541,7]]},"1443":{"position":[[1723,6]]},"1462":{"position":[[5515,6],[5889,7],[7458,6],[7528,6],[7603,6],[7881,6],[7968,6],[9100,7]]},"1467":{"position":[[8426,6],[8531,6],[8604,6],[8684,6],[8941,6],[9028,6]]},"1471":{"position":[[4133,6],[5141,6]]},"1472":{"position":[[4717,6],[6027,6]]},"1473":{"position":[[4454,6],[5591,6]]}},"keywords":{}}],["modular",{"_index":4487,"title":{},"content":{"919":{"position":[[672,11],[723,10]]},"1362":{"position":[[3145,8]]},"1364":{"position":[[3110,8]]},"1367":{"position":[[4392,8]]}},"keywords":{}}],["module"",{"_index":8431,"title":{},"content":{"1471":{"position":[[4387,13]]},"1472":{"position":[[4971,13]]},"1473":{"position":[[4708,13]]}},"keywords":{}}],["module.executor",{"_index":4290,"title":{},"content":{"894":{"position":[[486,15]]}},"keywords":{}}],["module_dep",{"_index":7822,"title":{},"content":{"1414":{"position":[[621,12]]}},"keywords":{}}],["module_manifest_skeleton",{"_index":6445,"title":{},"content":{"1350":{"position":[[2334,25]]},"1352":{"position":[[2333,25]]}},"keywords":{}}],["module_map",{"_index":6859,"title":{},"content":{"1363":{"position":[[2124,11]]}},"keywords":{}}],["module_nam",{"_index":6747,"title":{},"content":{"1362":{"position":[[3164,12]]},"1364":{"position":[[3129,12]]},"1367":{"position":[[4411,12]]},"1384":{"position":[[2884,12]]},"1387":{"position":[[2851,12]]},"1480":{"position":[[683,12]]}},"keywords":{}}],["module_requires_cxx",{"_index":6748,"title":{},"content":{"1362":{"position":[[3193,20]]},"1364":{"position":[[3158,20]]},"1367":{"position":[[4440,20]]}},"keywords":{}}],["modules.exclude_deps_from_merged_link",{"_index":8351,"title":{},"content":{"1465":{"position":[[2661,41]]}},"keywords":{}}],["modules.exported_compiler_flag",{"_index":7877,"title":{},"content":{"1421":{"position":[[1978,32]]}},"keywords":{}}],["modules.src",{"_index":8089,"title":{},"content":{"1444":{"position":[[1861,13]]}},"keywords":{}}],["modulesambigu",{"_index":7508,"title":{},"content":{"1393":{"position":[[9669,16]]}},"keywords":{}}],["momc",{"_index":6997,"title":{},"content":{"1368":{"position":[[998,5]]}},"keywords":{}}],["moment",{"_index":4441,"title":{},"content":{"907":{"position":[[439,7]]},"1007":{"position":[[215,7]]},"1244":{"position":[[131,6]]},"1397":{"position":[[2004,6]]}},"keywords":{}}],["monad",{"_index":725,"title":{},"content":{"23":{"position":[[1348,8]]}},"keywords":{}}],["monorepo",{"_index":628,"title":{},"content":{"22":{"position":[[26,9],[221,9]]},"696":{"position":[[150,8]]},"937":{"position":[[929,8]]}},"keywords":{}}],["monorepo—rath",{"_index":3612,"title":{},"content":{"696":{"position":[[85,15]]}},"keywords":{}}],["monthli",{"_index":445,"title":{},"content":{"15":{"position":[[105,7]]}},"keywords":{}}],["more",{"_index":174,"title":{"19":{"position":[[9,5]]},"1017":{"position":[[44,5]]},"1130":{"position":[[17,4]]},"1256":{"position":[[13,4]]}},"content":{"9":{"position":[[183,4],[827,4],[2154,4]]},"10":{"position":[[138,4]]},"11":{"position":[[669,4]]},"19":{"position":[[120,4]]},"20":{"position":[[642,4]]},"22":{"position":[[163,5],[1018,5],[2164,4]]},"23":{"position":[[1934,4],[3043,5]]},"81":{"position":[[399,4]]},"94":{"position":[[3384,4]]},"213":{"position":[[399,4]]},"226":{"position":[[3384,4]]},"276":{"position":[[855,4]]},"281":{"position":[[977,4]]},"304":{"position":[[315,4]]},"346":{"position":[[480,4]]},"477":{"position":[[389,4]]},"584":{"position":[[742,4]]},"659":{"position":[[51,4]]},"661":{"position":[[49,4]]},"663":{"position":[[1211,4]]},"676":{"position":[[153,4],[298,4],[389,4]]},"680":{"position":[[190,5],[530,4],[623,4]]},"683":{"position":[[312,4]]},"693":{"position":[[209,4],[959,4],[2178,4],[4172,4],[6619,4],[9173,4],[10323,4]]},"695":{"position":[[34,4],[149,4]]},"705":{"position":[[625,4]]},"706":{"position":[[375,4]]},"710":{"position":[[121,4]]},"711":{"position":[[687,4],[1699,4]]},"715":{"position":[[295,4]]},"726":{"position":[[4,4]]},"846":{"position":[[347,4],[575,4]]},"864":{"position":[[881,4]]},"869":{"position":[[839,4]]},"870":{"position":[[1209,4]]},"886":{"position":[[435,4]]},"890":{"position":[[3989,4]]},"901":{"position":[[1165,4]]},"919":{"position":[[2387,4]]},"924":{"position":[[486,4]]},"951":{"position":[[700,4]]},"961":{"position":[[325,4]]},"972":{"position":[[23,4]]},"973":{"position":[[215,4]]},"988":{"position":[[661,4]]},"1016":{"position":[[162,4]]},"1022":{"position":[[407,4]]},"1040":{"position":[[820,4]]},"1044":{"position":[[908,4]]},"1045":{"position":[[78,4]]},"1057":{"position":[[1398,4]]},"1067":{"position":[[661,4]]},"1069":{"position":[[299,4]]},"1071":{"position":[[467,4]]},"1084":{"position":[[74,4]]},"1088":{"position":[[625,4]]},"1093":{"position":[[419,4]]},"1104":{"position":[[1220,4]]},"1105":{"position":[[2173,4]]},"1120":{"position":[[838,4]]},"1126":{"position":[[643,4]]},"1131":{"position":[[649,4]]},"1136":{"position":[[268,4],[2049,4],[6175,4],[6203,4],[6235,4]]},"1138":{"position":[[4350,5],[5067,4],[9837,4],[9865,4],[9897,4]]},"1140":{"position":[[3839,5],[4556,4],[8763,4],[8791,4],[8823,4]]},"1142":{"position":[[4207,4],[4235,4],[4267,4]]},"1144":{"position":[[535,4],[563,4],[595,4]]},"1146":{"position":[[4147,4],[4175,4],[4207,4]]},"1148":{"position":[[801,4],[2405,4],[7738,4],[7766,4],[7798,4]]},"1150":{"position":[[770,4],[798,4],[830,4]]},"1152":{"position":[[468,4],[496,4],[528,4]]},"1154":{"position":[[623,4],[651,4],[683,4]]},"1155":{"position":[[4243,4],[4271,4],[4303,4]]},"1156":{"position":[[3821,4],[3849,4],[3881,4]]},"1157":{"position":[[406,4],[434,4],[466,4]]},"1158":{"position":[[400,4],[428,4],[460,4]]},"1159":{"position":[[400,4],[428,4],[460,4]]},"1161":{"position":[[1395,4],[1423,4],[1455,4]]},"1163":{"position":[[781,4],[809,4],[841,4]]},"1165":{"position":[[610,4],[638,4],[670,4]]},"1167":{"position":[[4843,5],[5560,4],[9767,4],[9795,4],[9827,4]]},"1169":{"position":[[2875,4],[2903,4],[2935,4]]},"1171":{"position":[[1116,4],[1144,4],[1176,4]]},"1172":{"position":[[2501,4],[2529,4],[2561,4]]},"1173":{"position":[[1188,4],[1216,4],[1248,4]]},"1174":{"position":[[616,4],[644,4],[676,4]]},"1175":{"position":[[612,4],[640,4],[672,4]]},"1176":{"position":[[781,4],[809,4],[841,4]]},"1177":{"position":[[702,4],[730,4],[762,4]]},"1178":{"position":[[1019,4],[1047,4],[1079,4]]},"1179":{"position":[[816,4],[844,4],[876,4]]},"1180":{"position":[[1087,4],[1115,4],[1147,4]]},"1181":{"position":[[1607,4],[1635,4],[1667,4]]},"1182":{"position":[[650,4],[678,4],[710,4]]},"1183":{"position":[[605,4],[633,4],[665,4]]},"1185":{"position":[[450,4],[478,4],[510,4]]},"1186":{"position":[[5411,4],[5439,4],[5471,4]]},"1187":{"position":[[5424,4],[5452,4],[5484,4]]},"1188":{"position":[[3892,5],[4609,4],[10150,4],[10178,4],[10210,4]]},"1190":{"position":[[1781,4],[1809,4],[1841,4]]},"1191":{"position":[[4011,4],[4039,4],[4071,4]]},"1192":{"position":[[4186,4],[4214,4],[4246,4]]},"1193":{"position":[[4238,4],[4266,4],[4298,4]]},"1194":{"position":[[3878,4],[3906,4],[3938,4]]},"1195":{"position":[[3856,4],[3884,4],[3916,4]]},"1196":{"position":[[3666,4],[3694,4],[3726,4]]},"1197":{"position":[[4649,4],[4677,4],[4709,4]]},"1198":{"position":[[4659,4],[4687,4],[4719,4]]},"1199":{"position":[[4687,4],[4715,4],[4747,4]]},"1200":{"position":[[4554,4],[4582,4],[4614,4]]},"1201":{"position":[[3814,4],[3842,4],[3874,4]]},"1202":{"position":[[558,4],[586,4],[618,4],[4956,4],[4984,4],[5016,4],[9353,4],[9381,4],[9413,4]]},"1203":{"position":[[4048,4],[4076,4],[4108,4]]},"1204":{"position":[[3892,4],[3920,4],[3952,4],[4794,4],[4822,4],[4854,4],[5724,4],[5752,4],[5784,4],[6626,4],[6654,4],[6686,4],[7612,4],[7640,4],[7672,4],[8566,4],[8594,4],[8626,4],[9513,4],[9541,4],[9573,4],[10443,4],[10471,4],[10503,4]]},"1205":{"position":[[5221,4],[5249,4],[5281,4]]},"1206":{"position":[[3920,4],[3948,4],[3980,4]]},"1207":{"position":[[3849,4],[3877,4],[3909,4]]},"1209":{"position":[[1282,4],[5197,4],[5225,4],[5257,4]]},"1211":{"position":[[521,4],[549,4],[581,4]]},"1213":{"position":[[292,4],[320,4],[352,4]]},"1215":{"position":[[376,4],[404,4],[436,4]]},"1217":{"position":[[3584,5],[4301,4],[8508,4],[8536,4],[8568,4]]},"1219":{"position":[[3763,4],[3791,4],[3823,4]]},"1221":{"position":[[495,4],[523,4],[555,4]]},"1222":{"position":[[3634,4],[3662,4],[3694,4]]},"1223":{"position":[[3644,4],[3672,4],[3704,4]]},"1224":{"position":[[3077,4],[3105,4],[3137,4]]},"1226":{"position":[[8976,4],[9004,4],[9036,4]]},"1228":{"position":[[5665,5],[6382,4],[10589,4],[10617,4],[10649,4]]},"1231":{"position":[[590,4]]},"1235":{"position":[[347,4],[594,4],[2542,4],[6457,4],[6485,4],[6517,4]]},"1237":{"position":[[9146,4],[9174,4],[9206,4]]},"1247":{"position":[[371,6]]},"1249":{"position":[[19,4]]},"1250":{"position":[[147,4]]},"1253":{"position":[[398,4],[624,4]]},"1254":{"position":[[2,4]]},"1262":{"position":[[807,4]]},"1293":{"position":[[807,4]]},"1321":{"position":[[807,4]]},"1355":{"position":[[7282,4]]},"1362":{"position":[[5329,4],[8817,4],[11554,4],[12469,4],[12844,4],[13736,4]]},"1363":{"position":[[5068,4]]},"1364":{"position":[[5358,4],[9428,4],[9931,4],[12521,4],[12974,4],[13544,4],[14436,4]]},"1367":{"position":[[8905,4],[9984,4],[11924,4],[12377,4],[12752,4]]},"1370":{"position":[[2498,4]]},"1373":{"position":[[5140,4],[6576,4],[7411,4]]},"1381":{"position":[[2488,4]]},"1382":{"position":[[5587,4],[6210,4],[8423,4],[8895,4],[9732,4],[10185,4],[11206,4]]},"1384":{"position":[[6781,4],[7755,4],[8283,4],[9386,4],[10534,4],[11157,4],[14768,4],[15240,4],[16077,4],[16530,4],[18860,4]]},"1385":{"position":[[3501,4],[4123,4],[4653,4],[5124,4],[5959,4],[6411,4],[6784,4]]},"1387":{"position":[[5834,4],[6456,4],[8026,4],[8497,4],[9332,4],[9784,4],[10157,4]]},"1388":{"position":[[7079,4],[9699,4]]},"1393":{"position":[[5627,4]]},"1395":{"position":[[771,4],[3109,4]]},"1397":{"position":[[750,4]]},"1399":{"position":[[1834,4],[2341,4],[2579,4]]},"1405":{"position":[[3923,4]]},"1407":{"position":[[4542,4]]},"1408":{"position":[[2859,4]]},"1410":{"position":[[5724,4]]},"1415":{"position":[[4535,4]]},"1416":{"position":[[3419,4]]},"1420":{"position":[[2556,4]]},"1427":{"position":[[6481,4]]},"1442":{"position":[[2579,4]]},"1446":{"position":[[724,4]]},"1448":{"position":[[2502,4],[2789,4]]},"1449":{"position":[[2436,4],[2723,4]]},"1454":{"position":[[5485,4],[6155,4],[6682,4],[7174,4],[7438,4],[8194,4],[8506,4],[8830,4]]},"1455":{"position":[[2926,4]]},"1457":{"position":[[1898,4]]},"1461":{"position":[[3820,4]]},"1462":{"position":[[7411,4]]},"1467":{"position":[[8380,4]]},"1471":{"position":[[5713,4]]},"1472":{"position":[[6599,4]]},"1473":{"position":[[5884,4]]},"1485":{"position":[[1869,4],[2491,4],[3159,4],[4070,4]]},"1486":{"position":[[2840,4]]}},"keywords":{}}],["morebuild",{"_index":3025,"title":{},"content":{"622":{"position":[[77,9]]}},"keywords":{}}],["most/al",{"_index":3945,"title":{},"content":{"856":{"position":[[627,8],[829,8]]}},"keywords":{}}],["mostli",{"_index":803,"title":{},"content":{"24":{"position":[[1109,6]]},"67":{"position":[[234,6]]},"455":{"position":[[234,6]]},"869":{"position":[[813,6]]},"889":{"position":[[1056,6]]},"1057":{"position":[[1008,6]]}},"keywords":{}}],["motiv",{"_index":3613,"title":{},"content":{"696":{"position":[[166,9]]}},"keywords":{}}],["move",{"_index":369,"title":{"891":{"position":[[2,6]]}},"content":{"11":{"position":[[379,7]]},"567":{"position":[[150,6]]},"887":{"position":[[324,5]]},"888":{"position":[[1362,5]]},"889":{"position":[[181,4]]},"892":{"position":[[456,5],[1427,4]]},"955":{"position":[[1256,5]]},"958":{"position":[[317,4]]},"965":{"position":[[499,4]]},"1104":{"position":[[2181,4]]}},"keywords":{}}],["move<'v>(from",{"_index":4179,"title":{},"content":{"889":{"position":[[257,20]]}},"keywords":{}}],["msvc",{"_index":4639,"title":{},"content":{"939":{"position":[[1218,4]]},"940":{"position":[[1180,4]]},"943":{"position":[[1526,5]]},"1050":{"position":[[310,5]]}},"keywords":{}}],["much",{"_index":306,"title":{},"content":{"9":{"position":[[2829,4]]},"10":{"position":[[133,4],[736,4]]},"11":{"position":[[664,4]]},"23":{"position":[[785,4]]},"675":{"position":[[815,4]]},"832":{"position":[[832,4]]},"900":{"position":[[1552,4]]},"919":{"position":[[2848,4]]},"961":{"position":[[320,4]]},"966":{"position":[[499,4]]},"1058":{"position":[[392,4]]},"1093":{"position":[[35,4]]},"1138":{"position":[[5007,4]]},"1140":{"position":[[4496,4]]},"1167":{"position":[[5500,4]]},"1188":{"position":[[4549,4]]},"1217":{"position":[[4241,4]]},"1228":{"position":[[6322,4]]},"1235":{"position":[[284,4],[342,4]]},"1351":{"position":[[937,4],[5286,4]]}},"keywords":{}}],["multi",{"_index":636,"title":{},"content":{"22":{"position":[[253,5]]},"23":{"position":[[3214,5]]},"937":{"position":[[1309,5],[3311,5]]},"1136":{"position":[[939,5]]},"1148":{"position":[[1295,5]]},"1167":{"position":[[994,6]]},"1209":{"position":[[172,5]]},"1235":{"position":[[1432,5]]}},"keywords":{}}],["multi_toolchain",{"_index":7567,"title":{},"content":{"1397":{"position":[[490,16]]}},"keywords":{}}],["multipl",{"_index":326,"title":{"686":{"position":[[0,8]]},"696":{"position":[[0,8]]},"1243":{"position":[[4,8]]}},"content":{"10":{"position":[[470,8]]},"18":{"position":[[350,8]]},"345":{"position":[[405,8]]},"693":{"position":[[2225,8],[3175,8],[3657,8]]},"696":{"position":[[27,8],[111,8]]},"711":{"position":[[859,8],[1164,8]]},"835":{"position":[[198,8]]},"837":{"position":[[109,8]]},"840":{"position":[[135,8]]},"848":{"position":[[355,8]]},"876":{"position":[[241,8]]},"898":{"position":[[616,8],[902,8]]},"905":{"position":[[410,8],[692,8]]},"937":{"position":[[38,8],[1395,8]]},"942":{"position":[[1021,8],[1043,8]]},"951":{"position":[[986,8]]},"961":{"position":[[10,8],[100,8],[135,8],[182,8]]},"1011":{"position":[[554,8]]},"1013":{"position":[[250,8]]},"1018":{"position":[[44,8],[136,8]]},"1022":{"position":[[270,8]]},"1027":{"position":[[102,8]]},"1049":{"position":[[141,8]]},"1138":{"position":[[4743,8]]},"1140":{"position":[[4232,8]]},"1148":{"position":[[263,8]]},"1167":{"position":[[5236,8]]},"1188":{"position":[[4285,8]]},"1217":{"position":[[3977,8]]},"1226":{"position":[[4045,8]]},"1228":{"position":[[6058,8]]},"1237":{"position":[[4215,8]]},"1273":{"position":[[452,8]]},"1304":{"position":[[452,8]]},"1332":{"position":[[452,8]]},"1360":{"position":[[4932,8]]},"1370":{"position":[[688,8],[1698,8]]},"1383":{"position":[[7040,8]]},"1387":{"position":[[6848,8]]},"1397":{"position":[[2142,8]]},"1398":{"position":[[1213,8],[1312,8]]},"1403":{"position":[[4920,8]]},"1454":{"position":[[10084,8],[10104,8]]},"1462":{"position":[[5696,8]]},"1467":{"position":[[6192,8]]},"1471":{"position":[[4633,8]]},"1472":{"position":[[3584,8],[5217,8]]},"1473":{"position":[[4954,8]]},"1486":{"position":[[2755,8]]},"1487":{"position":[[1839,8],[2787,8],[2891,8]]}},"keywords":{}}],["murmur",{"_index":6060,"title":{},"content":{"1226":{"position":[[1923,6]]},"1237":{"position":[[2093,6]]}},"keywords":{}}],["mutabl",{"_index":2138,"title":{},"content":{"405":{"position":[[973,7]]},"784":{"position":[[973,7]]},"890":{"position":[[6393,7],[6805,8],[6861,8],[6954,7]]},"898":{"position":[[1642,7],[1712,7],[1825,7],[2334,7],[2653,7]]}},"keywords":{}}],["mutable(box<dyn",{"_index":4348,"title":{},"content":{"898":{"position":[[2344,18]]}},"keywords":{}}],["mutable(rc<refcell<mutable>>",{"_index":4347,"title":{},"content":{"898":{"position":[[2284,42]]}},"keywords":{}}],["mutat",{"_index":948,"title":{"836":{"position":[[6,6]]}},"content":{"65":{"position":[[194,7]]},"453":{"position":[[194,7]]},"890":{"position":[[692,6],[838,6],[1079,6],[4635,6]]},"898":{"position":[[1077,8],[1391,7],[1579,6],[2017,8]]},"1031":{"position":[[410,6]]},"1254":{"position":[[567,7]]}},"keywords":{}}],["mutation).vec",{"_index":4229,"title":{},"content":{"890":{"position":[[2865,13]]}},"keywords":{}}],["mutual",{"_index":8329,"title":{},"content":{"1462":{"position":[[7679,8]]}},"keywords":{}}],["mvn",{"_index":7937,"title":{},"content":{"1423":{"position":[[3795,3]]},"1469":{"position":[[2191,3],[2217,3],[2750,3],[3165,3],[3500,3]]}},"keywords":{}}],["mvn:com.google.guava:guava:jar:23.0",{"_index":7940,"title":{},"content":{"1423":{"position":[[3878,38]]}},"keywords":{}}],["mvn:https://maven",{"_index":8391,"title":{},"content":{"1469":{"position":[[3312,18]]}},"keywords":{}}],["mvn:org.codehaus.groovy:groovi",{"_index":8395,"title":{},"content":{"1469":{"position":[[3638,31]]}},"keywords":{}}],["mvn:org.eclipse.jetty.aggregate:jetti",{"_index":8388,"title":{},"content":{"1469":{"position":[[3000,38]]}},"keywords":{}}],["my_anon_rul",{"_index":5165,"title":{},"content":{"1042":{"position":[[63,12],[123,12]]},"1044":{"position":[[1011,12],[2806,12]]}},"keywords":{}}],["my_anon_rule1",{"_index":5172,"title":{},"content":{"1043":{"position":[[234,13]]},"1044":{"position":[[1548,13]]}},"keywords":{}}],["my_anon_rule2",{"_index":5173,"title":{},"content":{"1043":{"position":[[325,13],[555,15]]},"1044":{"position":[[1690,13],[1917,15]]}},"keywords":{}}],["my_app:other_test_suit",{"_index":7633,"title":{},"content":{"1398":{"position":[[6331,25],[6383,25],[6606,25],[6714,25]]}},"keywords":{}}],["my_app:test_suit",{"_index":7631,"title":{},"content":{"1398":{"position":[[6243,19]]}},"keywords":{}}],["my_attr",{"_index":1698,"title":{},"content":{"306":{"position":[[312,8]]},"712":{"position":[[1169,8]]}},"keywords":{}}],["my_attrs).promise.map(my_funct",{"_index":3767,"title":{},"content":{"712":{"position":[[2504,34]]}},"keywords":{}}],["my_attrs1).promis",{"_index":3723,"title":{},"content":{"711":{"position":[[1511,18]]}},"keywords":{}}],["my_attrs2).promise.map(my_map_funct",{"_index":3726,"title":{},"content":{"711":{"position":[[1576,39]]}},"keywords":{}}],["my_bool_arg",{"_index":3911,"title":{},"content":{"850":{"position":[[822,11]]}},"keywords":{}}],["my_bxl(ctx",{"_index":4730,"title":{},"content":{"950":{"position":[[907,12]]}},"keywords":{}}],["my_configured_nod",{"_index":3942,"title":{},"content":{"856":{"position":[[520,18]]}},"keywords":{}}],["my_configured_node.attrs_eag",{"_index":3946,"title":{},"content":{"856":{"position":[[650,32]]}},"keywords":{}}],["my_configured_node.attrs_lazi",{"_index":3947,"title":{},"content":{"856":{"position":[[752,31]]}},"keywords":{}}],["my_configured_node.resolved_attrs_eager(ctx",{"_index":3949,"title":{},"content":{"856":{"position":[[870,44]]}},"keywords":{}}],["my_configured_node.resolved_attrs_lazy(ctx",{"_index":3951,"title":{},"content":{"856":{"position":[[1002,43]]}},"keywords":{}}],["my_def",{"_index":4117,"title":{},"content":{"878":{"position":[[1472,12]]}},"keywords":{}}],["my_deferred(ctx",{"_index":4107,"title":{},"content":{"878":{"position":[[699,16]]}},"keywords":{}}],["my_dep",{"_index":5664,"title":{},"content":{"1104":{"position":[[1935,7]]}},"keywords":{}}],["my_dep[groovylibraryinfo]which",{"_index":2300,"title":{},"content":{"427":{"position":[[507,30]]},"806":{"position":[[507,30]]}},"keywords":{}}],["my_depend",{"_index":3445,"title":{},"content":{"688":{"position":[[1071,14],[1165,14]]}},"keywords":{}}],["my_exec_dep",{"_index":1651,"title":{},"content":{"298":{"position":[[2491,11],[2655,14]]},"851":{"position":[[1817,11],[1981,14]]}},"keywords":{}}],["my_file.json",{"_index":4001,"title":{},"content":{"865":{"position":[[501,12]]}},"keywords":{}}],["my_filt",{"_index":4783,"title":{},"content":{"962":{"position":[[325,10]]}},"keywords":{}}],["my_func1",{"_index":4773,"title":{},"content":{"961":{"position":[[496,9]]},"966":{"position":[[338,9]]}},"keywords":{}}],["my_func1(ctx",{"_index":4810,"title":{},"content":{"966":{"position":[[400,14]]}},"keywords":{}}],["my_func2",{"_index":4812,"title":{},"content":{"966":{"position":[[555,9]]}},"keywords":{}}],["my_func2(ctx",{"_index":4813,"title":{},"content":{"966":{"position":[[571,14]]}},"keywords":{}}],["my_function(provid",{"_index":3752,"title":{},"content":{"712":{"position":[[1492,23]]}},"keywords":{}}],["my_info",{"_index":5676,"title":{},"content":{"1104":{"position":[[2550,7]]}},"keywords":{}}],["my_int",{"_index":5209,"title":{},"content":{"1044":{"position":[[3192,6]]}},"keywords":{}}],["my_label.configured_target",{"_index":1672,"title":{},"content":{"301":{"position":[[1085,30]]}},"keywords":{}}],["my_lib",{"_index":8245,"title":{},"content":{"1459":{"position":[[2439,9]]}},"keywords":{}}],["my_librari",{"_index":6576,"title":{},"content":{"1355":{"position":[[7920,13]]}},"keywords":{}}],["my_link",{"_index":5674,"title":{},"content":{"1104":{"position":[[2469,8],[2586,9]]}},"keywords":{}}],["my_list",{"_index":4337,"title":{},"content":{"898":{"position":[[1501,7]]}},"keywords":{}}],["my_list(x",{"_index":4335,"title":{},"content":{"898":{"position":[[1263,11]]}},"keywords":{}}],["my_list_attribut",{"_index":5050,"title":{},"content":{"1009":{"position":[[842,17]]}},"keywords":{}}],["my_list_of_label",{"_index":5215,"title":{},"content":{"1044":{"position":[[3326,17]]}},"keywords":{}}],["my_mirror_rul",{"_index":3740,"title":{},"content":{"712":{"position":[[476,14]]}},"keywords":{}}],["my_optional_sourc",{"_index":5213,"title":{},"content":{"1044":{"position":[[3276,18]]}},"keywords":{}}],["my_output",{"_index":1080,"title":{},"content":{"89":{"position":[[291,9],[740,9]]},"221":{"position":[[291,9],[740,9]]}},"keywords":{}}],["my_output.as_output",{"_index":1086,"title":{},"content":{"89":{"position":[[429,23]]},"221":{"position":[[429,23]]}},"keywords":{}}],["my_provid",{"_index":3926,"title":{},"content":{"852":{"position":[[104,12]]}},"keywords":{}}],["my_resourc",{"_index":5345,"title":{},"content":{"1054":{"position":[[1309,12]]}},"keywords":{}}],["my_rul",{"_index":5048,"title":{},"content":{"1009":{"position":[[800,7],[828,8]]},"1046":{"position":[[34,7],[277,8],[408,9]]}},"keywords":{}}],["my_script",{"_index":3987,"title":{},"content":{"864":{"position":[[516,9],[1316,9]]}},"keywords":{}}],["my_script.bxl",{"_index":3743,"title":{},"content":{"712":{"position":[[752,13],[831,13]]}},"keywords":{}}],["my_script.pi",{"_index":5301,"title":{},"content":{"1050":{"position":[[2901,12],[3004,12],[3050,12]]}},"keywords":{}}],["my_sourc",{"_index":1084,"title":{},"content":{"89":{"position":[[402,10]]},"221":{"position":[[402,10]]}},"keywords":{}}],["my_string_with_default",{"_index":5211,"title":{},"content":{"1044":{"position":[[3218,22]]}},"keywords":{}}],["my_struct.my_attr",{"_index":3955,"title":{},"content":{"857":{"position":[[158,18]]}},"keywords":{}}],["my_target",{"_index":1343,"title":{},"content":{"126":{"position":[[289,11],[310,11]]},"249":{"position":[[289,11],[310,11]]}},"keywords":{}}],["myapp.app",{"_index":6894,"title":{},"content":{"1363":{"position":[[5716,9]]}},"keywords":{}}],["myassetcatalog",{"_index":6684,"title":{},"content":{"1361":{"position":[[2385,17]]}},"keywords":{}}],["mybinari",{"_index":6821,"title":{},"content":{"1362":{"position":[[13786,11]]},"1363":{"position":[[6951,12]]}},"keywords":{}}],["myclass",{"_index":5824,"title":{},"content":{"1130":{"position":[[186,7],[254,12]]}},"keywords":{}}],["mycoredatamodel",{"_index":7115,"title":{},"content":{"1380":{"position":[[1762,18]]}},"keywords":{}}],["mycoredatamodel.xcdatamodeld",{"_index":7116,"title":{},"content":{"1380":{"position":[[1788,31]]}},"keywords":{}}],["myenum",{"_index":3116,"title":{},"content":{"638":{"position":[[99,6],[215,6],[314,6],[908,6],[1043,7]]},"902":{"position":[[77,6],[193,6],[303,6],[895,6],[1028,7]]}},"keywords":{}}],["myenum("option2"",{"_index":3123,"title":{},"content":{"638":{"position":[[400,28],[635,29],[972,27]]},"902":{"position":[[389,28],[624,29],[958,27]]}},"keywords":{}}],["myenum.given",{"_index":3127,"title":{},"content":{"638":{"position":[[584,12]]},"902":{"position":[[573,12]]}},"keywords":{}}],["myenum.valu",{"_index":3132,"title":{},"content":{"638":{"position":[[819,15]]}},"keywords":{}}],["myenum[1",{"_index":3135,"title":{},"content":{"638":{"position":[[959,9]]}},"keywords":{}}],["myheader.h",{"_index":6825,"title":{},"content":{"1362":{"position":[[13903,13]]},"1364":{"position":[[14611,13]]}},"keywords":{}}],["mykind",{"_index":4900,"title":{},"content":{"989":{"position":[[64,8]]},"990":{"position":[[621,6],[1160,8]]}},"keywords":{}}],["mykind]in",{"_index":4908,"title":{},"content":{"990":{"position":[[955,10]]}},"keywords":{}}],["mylib",{"_index":6487,"title":{},"content":{"1351":{"position":[[4237,8],[4479,9],[5795,9]]},"1454":{"position":[[9899,8],[10154,8]]}},"keywords":{}}],["mylib.h",{"_index":8188,"title":{},"content":{"1454":{"position":[[10043,10],[10567,10]]}},"keywords":{}}],["mylibrari",{"_index":6822,"title":{},"content":{"1362":{"position":[[13807,13]]},"1364":{"position":[[14487,12]]},"1367":{"position":[[14508,13]]}},"keywords":{}}],["mymacro=\\"buck\\""",{"_index":2716,"title":{},"content":{"584":{"position":[[1611,32]]}},"keywords":{}}],["mymacro=\\"watchman\\""",{"_index":2723,"title":{},"content":{"584":{"position":[[1831,36]]}},"keywords":{}}],["mymodul",{"_index":7248,"title":{},"content":{"1385":{"position":[[7281,11],[7534,12]]},"1387":{"position":[[10660,11],[10866,12],[11010,8]]}},"keywords":{}}],["mymodule.cpp",{"_index":7249,"title":{},"content":{"1385":{"position":[[7327,15]]},"1387":{"position":[[10706,15]]}},"keywords":{}}],["mypluginkind",{"_index":1334,"title":{},"content":{"123":{"position":[[135,12]]},"532":{"position":[[135,12]]}},"keywords":{}}],["myprebuiltframework",{"_index":8142,"title":{},"content":{"1453":{"position":[[1908,22]]}},"keywords":{}}],["myprebuiltframework.framework",{"_index":8143,"title":{},"content":{"1453":{"position":[[1943,32]]}},"keywords":{}}],["myrecord",{"_index":3300,"title":{},"content":{"663":{"position":[[124,8],[201,8],[328,8],[966,8]]},"901":{"position":[[87,8],[164,8],[290,8],[920,8]]}},"keywords":{}}],["myrecord(host="localhost"",{"_index":3304,"title":{},"content":{"663":{"position":[[416,36],[698,36]]},"901":{"position":[[378,36],[654,36]]}},"keywords":{}}],["myrecord(host="localhost").port",{"_index":3314,"title":{},"content":{"663":{"position":[[1097,41]]},"901":{"position":[[1051,41]]}},"keywords":{}}],["myrecord.get",{"_index":4389,"title":{},"content":{"901":{"position":[[599,12]]}},"keywords":{}}],["myrecord.type.get",{"_index":3307,"title":{},"content":{"663":{"position":[[637,17]]}},"keywords":{}}],["myresources.xcasset",{"_index":6685,"title":{},"content":{"1361":{"position":[[2412,23]]}},"keywords":{}}],["myrul",{"_index":2349,"title":{},"content":{"437":{"position":[[507,6]]},"816":{"position":[[507,6]]}},"keywords":{}}],["myscript.bxl:exampl",{"_index":3909,"title":{},"content":{"850":{"position":[[581,22]]}},"keywords":{}}],["myscript.bxl:your_function_nam",{"_index":3857,"title":{},"content":{"840":{"position":[[740,33]]}},"keywords":{}}],["myset",{"_index":5549,"title":{},"content":{"1081":{"position":[[105,5]]},"1082":{"position":[[828,5]]},"1083":{"position":[[664,5]]}},"keywords":{}}],["mysource.m",{"_index":6826,"title":{},"content":{"1362":{"position":[[13929,13]]},"1364":{"position":[[14637,13]]}},"keywords":{}}],["mysource.swift",{"_index":6934,"title":{},"content":{"1364":{"position":[[14651,17]]}},"keywords":{}}],["mysourcefile.groovi",{"_index":7806,"title":{},"content":{"1412":{"position":[[3771,24]]}},"keywords":{}}],["mysteri",{"_index":6510,"title":{},"content":{"1353":{"position":[[2807,10]]}},"keywords":{}}],["mytest",{"_index":6976,"title":{},"content":{"1367":{"position":[[14394,9],[14417,7]]}},"keywords":{}}],["mytest.m",{"_index":6977,"title":{},"content":{"1367":{"position":[[14484,11]]}},"keywords":{}}],["myvalu",{"_index":6891,"title":{},"content":{"1363":{"position":[[5305,11],[5390,8]]},"1367":{"position":[[10221,11],[10306,8]]}},"keywords":{}}],["n",{"_index":2630,"title":{},"content":{"576":{"position":[[238,2]]},"617":{"position":[[272,6]]},"632":{"position":[[239,1]]},"633":{"position":[[96,1],[177,1]]},"673":{"position":[[120,1],[179,1]]},"924":{"position":[[1804,1]]}},"keywords":{}}],["n=0",{"_index":3088,"title":{},"content":{"633":{"position":[[124,3]]}},"keywords":{}}],["nakedfrozenvalu",{"_index":4189,"title":{},"content":{"889":{"position":[[732,17]]}},"keywords":{}}],["name",{"_index":556,"title":{"575":{"position":[[39,6]]},"912":{"position":[[7,6]]},"979":{"position":[[24,6]]},"1046":{"position":[[0,4]]},"1131":{"position":[[27,5]]}},"content":{"18":{"position":[[634,4],[1292,4],[1388,4]]},"22":{"position":[[700,5]]},"29":{"position":[[43,4]]},"36":{"position":[[80,5],[110,4]]},"37":{"position":[[84,5]]},"41":{"position":[[242,5]]},"46":{"position":[[33,4]]},"50":{"position":[[356,4]]},"63":{"position":[[178,4]]},"81":{"position":[[181,5]]},"89":{"position":[[878,5],[927,5],[1086,4]]},"94":{"position":[[2567,4],[3867,4],[3916,4]]},"131":{"position":[[434,4]]},"166":{"position":[[176,6]]},"170":{"position":[[39,4]]},"174":{"position":[[242,5]]},"181":{"position":[[80,5],[110,4]]},"182":{"position":[[84,5]]},"185":{"position":[[43,4]]},"193":{"position":[[33,4]]},"197":{"position":[[356,4]]},"213":{"position":[[181,5]]},"221":{"position":[[878,5],[927,5],[1086,4]]},"226":{"position":[[2567,4],[3867,4],[3916,4]]},"242":{"position":[[495,4]]},"254":{"position":[[434,4]]},"276":{"position":[[142,6]]},"281":{"position":[[176,6]]},"284":{"position":[[80,5],[119,4]]},"291":{"position":[[33,4]]},"298":{"position":[[1438,5]]},"330":{"position":[[349,5]]},"368":{"position":[[1615,4],[1622,5],[1646,5],[1663,4],[1706,4],[2465,5]]},"377":{"position":[[1353,4]]},"389":{"position":[[1392,5],[1509,5]]},"397":{"position":[[23,5]]},"400":{"position":[[404,4]]},"408":{"position":[[488,4]]},"414":{"position":[[132,4]]},"415":{"position":[[117,4]]},"418":{"position":[[362,5]]},"421":{"position":[[201,5]]},"425":{"position":[[130,4]]},"427":{"position":[[292,5]]},"438":{"position":[[64,4]]},"463":{"position":[[68,4]]},"471":{"position":[[230,5]]},"480":{"position":[[41,4]]},"483":{"position":[[44,4]]},"492":{"position":[[178,4]]},"548":{"position":[[176,6]]},"550":{"position":[[39,4]]},"560":{"position":[[586,4]]},"570":{"position":[[53,5]]},"573":{"position":[[131,5]]},"575":{"position":[[62,5],[436,6],[518,5],[532,5]]},"580":{"position":[[65,5]]},"581":{"position":[[797,5]]},"583":{"position":[[924,6]]},"587":{"position":[[725,4]]},"595":{"position":[[557,5],[696,4],[887,5]]},"622":{"position":[[45,5],[123,4],[1424,4],[1584,4],[1960,4]]},"637":{"position":[[93,5]]},"645":{"position":[[99,5],[163,5],[169,5]]},"646":{"position":[[96,5],[155,5],[161,5]]},"648":{"position":[[829,5]]},"654":{"position":[[238,5]]},"663":{"position":[[71,5],[235,5],[287,5],[1192,6]]},"666":{"position":[[243,5],[347,5]]},"675":{"position":[[1152,4],[1230,5]]},"693":{"position":[[1340,4],[6663,5],[8210,5],[8963,5]]},"708":{"position":[[91,4],[277,4],[529,4],[755,5],[926,4],[1112,4]]},"717":{"position":[[63,5],[242,5],[564,5],[603,4]]},"747":{"position":[[1615,4],[1622,5],[1646,5],[1663,4],[1706,4],[2465,5]]},"756":{"position":[[1353,4]]},"768":{"position":[[1392,5],[1509,5]]},"776":{"position":[[23,5]]},"779":{"position":[[404,4]]},"787":{"position":[[488,4]]},"793":{"position":[[132,4]]},"794":{"position":[[117,4]]},"797":{"position":[[362,5]]},"800":{"position":[[201,5]]},"804":{"position":[[130,4]]},"806":{"position":[[292,5]]},"817":{"position":[[64,4]]},"848":{"position":[[260,6]]},"850":{"position":[[58,5]]},"851":{"position":[[426,5]]},"864":{"position":[[79,5]]},"867":{"position":[[832,4]]},"877":{"position":[[496,5]]},"878":{"position":[[1064,5]]},"887":{"position":[[301,4]]},"890":{"position":[[1919,5],[2421,4],[3090,6],[4079,4],[4127,5],[4286,4],[4353,4],[4489,6],[4837,5],[5107,6],[5114,6],[5187,5],[5495,6],[5986,5],[6207,5],[6230,6],[6324,5],[6572,6]]},"894":{"position":[[350,4],[476,4]]},"901":{"position":[[34,5],[249,5],[1146,6]]},"917":{"position":[[183,4]]},"927":{"position":[[34,4]]},"941":{"position":[[164,4]]},"943":{"position":[[732,4]]},"944":{"position":[[418,4],[504,4]]},"973":{"position":[[309,8]]},"980":{"position":[[24,4],[216,4],[234,4],[323,4],[508,4],[637,5],[671,6],[735,6],[822,5],[883,5],[999,5],[1162,5],[1391,4],[1546,4]]},"981":{"position":[[64,6],[155,4],[476,5],[529,4],[644,6],[762,5]]},"991":{"position":[[1673,4],[1771,4],[1861,4],[1959,4],[2029,4],[2122,4]]},"993":{"position":[[54,4],[248,4],[311,4]]},"994":{"position":[[64,4],[438,4]]},"995":{"position":[[65,4],[1397,4]]},"1001":{"position":[[81,5],[146,4],[1200,5]]},"1007":{"position":[[277,4]]},"1012":{"position":[[355,4]]},"1024":{"position":[[935,4],[1026,4]]},"1031":{"position":[[826,4]]},"1042":{"position":[[572,5]]},"1044":{"position":[[634,5],[788,5]]},"1045":{"position":[[126,4],[437,4]]},"1046":{"position":[[79,6],[314,6],[481,4]]},"1047":{"position":[[443,5]]},"1048":{"position":[[345,4]]},"1054":{"position":[[65,4]]},"1061":{"position":[[387,4]]},"1064":{"position":[[46,5],[202,4]]},"1065":{"position":[[44,5],[182,4]]},"1072":{"position":[[409,5],[478,4]]},"1096":{"position":[[404,5]]},"1104":{"position":[[1599,4],[1779,4]]},"1112":{"position":[[3187,4],[3192,5],[4168,4]]},"1131":{"position":[[235,6],[378,5],[450,5]]},"1136":{"position":[[1301,6],[1362,4]]},"1138":{"position":[[1724,5]]},"1140":{"position":[[1213,5]]},"1148":{"position":[[1657,6],[1718,4]]},"1167":{"position":[[2217,5]]},"1180":{"position":[[155,5]]},"1188":{"position":[[1266,5]]},"1191":{"position":[[305,4]]},"1202":{"position":[[260,4],[5639,4]]},"1205":{"position":[[781,6],[842,4]]},"1207":{"position":[[213,5]]},"1209":{"position":[[534,6],[595,4]]},"1217":{"position":[[958,5]]},"1226":{"position":[[426,4],[528,4],[2474,6],[2535,4]]},"1228":{"position":[[3039,5]]},"1235":{"position":[[1794,6],[1855,4]]},"1237":{"position":[[596,4],[698,4],[2644,6],[2705,4]]},"1262":{"position":[[281,5],[351,5]]},"1269":{"position":[[83,5]]},"1293":{"position":[[281,5],[351,5]]},"1300":{"position":[[83,5]]},"1321":{"position":[[281,5],[351,5]]},"1328":{"position":[[83,5]]},"1345":{"position":[[1148,4]]},"1348":{"position":[[20,5],[2708,5],[2714,4],[4541,4],[4631,4],[4688,4]]},"1349":{"position":[[31,5],[853,5],[859,4]]},"1350":{"position":[[23,5],[3824,5],[3830,4]]},"1351":{"position":[[29,5],[924,5],[1043,5],[1049,4],[1896,4],[3875,4],[4230,4],[4325,4],[5360,4],[5576,4]]},"1352":{"position":[[23,5],[3823,5],[3829,4]]},"1353":{"position":[[36,5],[1427,5],[1433,4],[3007,4],[3073,4],[3277,5],[3331,4]]},"1354":{"position":[[37,5],[1265,5],[1271,4],[3212,4],[3404,4],[3546,4]]},"1355":{"position":[[24,5],[2403,5],[2409,4],[7842,4],[7913,4]]},"1356":{"position":[[25,5],[771,5],[777,4],[2049,4]]},"1357":{"position":[[25,5],[444,5],[450,4]]},"1358":{"position":[[29,5],[1165,5],[1171,4],[2925,4],[3142,4]]},"1359":{"position":[[25,5],[1002,5],[1008,4],[2333,5],[2400,5],[2430,4]]},"1360":{"position":[[20,5],[1632,5],[1638,4],[3764,5],[3788,5],[4076,5],[5035,4],[5477,5],[5561,5],[5648,6],[5913,5],[5950,4],[6177,4],[6458,4]]},"1361":{"position":[[28,5],[992,5],[998,4],[2378,4],[2513,4]]},"1362":{"position":[[21,5],[5355,5],[5361,4],[6568,4],[6939,5],[6973,5],[8470,4],[8721,4],[9027,5],[9061,5],[11428,4],[11761,4],[12237,4],[13779,4]]},"1363":{"position":[[21,5],[3101,5],[3107,4],[5010,5],[5148,5],[5499,4],[5628,5],[5762,4],[5833,5],[6922,4],[7078,4],[7240,4],[7435,4],[7629,4]]},"1364":{"position":[[22,5],[5384,5],[5390,4],[7178,5],[7212,5],[8383,4],[9584,4],[9835,4],[10141,5],[10175,5],[12395,4],[12742,4],[14480,4]]},"1365":{"position":[[22,5],[926,5],[932,4],[1878,4]]},"1366":{"position":[[23,5],[1131,5],[1137,4],[2251,4],[2387,4],[3074,5],[3128,4],[3293,4]]},"1367":{"position":[[19,5],[6782,5],[6788,4],[8558,4],[8809,4],[9115,5],[9149,5],[9926,5],[10064,5],[11798,4],[12145,4],[14266,4],[14387,4]]},"1368":{"position":[[24,5],[1482,5],[1488,4]]},"1369":{"position":[[28,5],[534,5],[540,4]]},"1370":{"position":[[35,5],[780,5],[786,4],[2041,4],[2089,4]]},"1371":{"position":[[26,5],[410,5],[416,4]]},"1372":{"position":[[23,5],[2048,5],[2054,4]]},"1373":{"position":[[20,5],[2920,5],[2926,4],[4727,5],[4761,4],[5049,4],[5755,4],[6154,5],[6450,4],[6782,4],[7277,4],[8704,4],[8799,4],[8902,4]]},"1374":{"position":[[22,5],[815,5],[821,4],[2963,4],[3045,4],[3089,4],[3247,4],[3316,4],[3408,4],[3508,4],[3629,4],[3713,4],[3789,4],[3867,4]]},"1375":{"position":[[23,5],[446,5],[452,4]]},"1376":{"position":[[28,5],[402,5],[408,4]]},"1377":{"position":[[25,5],[641,5],[647,4]]},"1378":{"position":[[27,5],[388,5],[394,4]]},"1379":{"position":[[25,5],[411,5],[417,4]]},"1380":{"position":[[24,5],[882,5],[888,4],[1755,4]]},"1381":{"position":[[23,5],[788,5],[794,4],[1883,4],[1931,4],[1994,5],[2016,4],[2249,4],[2553,4],[2753,4]]},"1382":{"position":[[19,5],[3267,5],[3273,4],[4912,4],[5797,5],[5831,4],[6119,4],[8297,4],[8647,4],[8746,5],[9102,4],[9598,4],[9953,4],[11758,4],[11858,4]]},"1383":{"position":[[20,5],[1505,5],[1511,4],[5395,4],[7143,4],[7480,5],[7564,5],[7651,6],[7940,4]]},"1384":{"position":[[20,5],[4429,5],[4435,4],[6359,5],[6631,4],[6718,4],[7574,4],[7988,4],[8087,5],[8569,4],[9152,4],[10744,5],[10778,4],[11066,4],[11490,5],[11978,6],[12230,6],[12467,5],[14642,4],[14992,4],[15091,5],[15447,4],[15943,4],[16298,4],[18374,5],[21346,4],[21513,5],[21548,4],[21945,4]]},"1385":{"position":[[26,5],[1953,4],[2007,4],[2107,5],[2113,4],[3710,5],[3744,4],[4032,4],[4527,4],[4876,4],[4975,5],[5330,4],[5825,4],[6179,4],[7274,4],[7484,4]]},"1386":{"position":[[31,5],[745,5],[751,4],[3557,4],[3762,4],[4415,5]]},"1387":{"position":[[29,5],[4304,4],[4358,5],[4376,5],[4382,4],[6043,5],[6077,4],[6365,4],[7900,4],[8249,4],[8348,5],[8703,4],[9198,4],[9552,4],[10653,4],[10817,4]]},"1388":{"position":[[17,5],[3567,5],[3573,4],[5606,4],[6060,5],[6666,5],[6700,4],[6988,4],[10395,4]]},"1389":{"position":[[22,5],[4429,5],[4435,4]]},"1390":{"position":[[17,5],[681,5],[687,4]]},"1391":{"position":[[18,5],[634,5],[640,4]]},"1392":{"position":[[15,5],[784,5],[790,4],[2527,4]]},"1393":{"position":[[19,5],[1355,5],[1361,4],[3480,5],[6340,5],[9573,5],[9616,5],[9889,4],[9962,4],[10176,4],[10293,4],[10648,4]]},"1394":{"position":[[28,5],[804,5],[810,4]]},"1395":{"position":[[23,5],[812,5],[818,4],[3260,4],[3413,4],[3472,4],[3508,5],[3633,4],[3846,4]]},"1396":{"position":[[28,5],[610,5],[616,4],[1712,4]]},"1397":{"position":[[23,5],[791,5],[797,4],[2616,4],[3207,5],[3353,4],[3389,5],[3446,4],[3513,4],[3792,4],[3872,4]]},"1398":{"position":[[20,5],[1422,4],[1462,5],[1468,4],[5372,6],[6846,4]]},"1399":{"position":[[20,5],[646,5],[652,4],[1859,4],[1939,4],[2139,4],[2201,4],[2354,5],[2374,4],[2453,4],[2629,4],[2665,4],[2724,4],[2860,4],[2911,4]]},"1400":{"position":[[29,5],[515,5],[521,4]]},"1401":{"position":[[18,5],[590,5],[596,4],[1778,4],[1844,4]]},"1402":{"position":[[17,5],[746,5],[752,4],[2150,4],[2319,4]]},"1403":{"position":[[16,5],[1335,5],[1341,4],[3179,5],[3203,5],[3491,5],[4484,5],[5192,4],[5399,5],[5528,4],[6580,5],[6664,5],[6751,6],[7040,4],[7624,4],[7912,4],[8347,5],[8547,4],[8707,4],[8999,5]]},"1404":{"position":[[18,5],[579,5],[585,4],[1522,4]]},"1405":{"position":[[18,5],[1270,5],[1276,4],[3478,5]]},"1406":{"position":[[28,5],[486,5],[492,4],[1342,4]]},"1407":{"position":[[28,5],[1311,5],[1317,4],[3899,5],[4612,4],[4790,4],[4998,4],[5225,4]]},"1408":{"position":[[19,5],[1007,5],[1013,4],[2119,4],[2518,5]]},"1409":{"position":[[18,5],[541,5],[547,4]]},"1410":{"position":[[16,5],[1702,5],[1708,4],[4279,4],[4555,6],[4886,5]]},"1411":{"position":[[23,5],[524,5],[530,4]]},"1412":{"position":[[23,5],[1723,5],[1729,4],[3746,4],[3928,4],[4186,4]]},"1413":{"position":[[20,5],[1908,5],[1914,4]]},"1414":{"position":[[19,5],[775,5],[781,4]]},"1415":{"position":[[23,5],[2757,5],[2763,4],[4409,4],[4741,4],[5470,5],[5476,4]]},"1416":{"position":[[23,5],[1409,5],[1415,4],[3265,4],[3567,4]]},"1417":{"position":[[21,5],[998,5],[1004,4]]},"1418":{"position":[[24,5],[699,5],[705,4]]},"1419":{"position":[[20,5],[827,5],[833,4]]},"1420":{"position":[[24,5],[1091,5],[1097,4],[2402,4],[2705,4]]},"1421":{"position":[[33,5],[1066,5],[1072,4],[2211,5],[2432,4]]},"1422":{"position":[[21,5],[968,5],[974,4],[2262,4],[2366,4],[2408,4],[3105,4],[4007,4],[4265,4]]},"1423":{"position":[[18,5],[958,5],[964,4],[1969,4],[2036,4],[2078,4],[2766,4],[2984,4],[3226,4],[3558,4],[3846,4]]},"1424":{"position":[[20,5],[1083,5],[1089,4]]},"1425":{"position":[[34,5],[699,5],[705,4]]},"1426":{"position":[[20,5],[1041,5],[1047,4],[2003,4]]},"1427":{"position":[[21,5],[1938,5],[1944,4],[4750,4],[7157,4],[7520,4],[7694,4],[7987,4]]},"1428":{"position":[[20,5],[681,5],[687,4]]},"1429":{"position":[[18,5],[2602,5],[2608,4],[3923,5]]},"1430":{"position":[[25,5],[1457,5],[1463,4]]},"1431":{"position":[[18,5],[801,5],[807,4]]},"1432":{"position":[[26,5],[1322,5],[1328,4]]},"1433":{"position":[[19,5],[843,5],[849,4]]},"1434":{"position":[[21,5],[517,5],[523,4]]},"1435":{"position":[[26,5],[481,5],[487,4]]},"1436":{"position":[[22,5],[497,5],[503,4]]},"1437":{"position":[[19,5],[567,5],[573,4]]},"1438":{"position":[[17,5],[700,5],[706,4]]},"1439":{"position":[[23,5],[2224,5],[2230,4],[5836,4],[6109,4],[6410,4],[7249,4],[7987,4],[8348,4],[8520,4],[8813,4]]},"1440":{"position":[[20,5],[2790,5],[2796,4],[3916,5]]},"1441":{"position":[[25,5],[523,5],[529,4]]},"1442":{"position":[[26,5],[595,5],[601,4],[1902,4],[3061,4]]},"1443":{"position":[[19,5],[818,5],[824,4],[1809,4],[1893,4]]},"1444":{"position":[[20,5],[734,5],[740,4],[1998,4],[2234,4]]},"1445":{"position":[[23,5],[423,5],[429,4]]},"1446":{"position":[[20,5],[757,5],[763,4],[2043,5],[2594,5]]},"1447":{"position":[[22,5],[639,5],[645,4]]},"1448":{"position":[[21,5],[1074,5],[1080,4],[2348,4]]},"1449":{"position":[[22,5],[1008,5],[1014,4],[2282,4]]},"1450":{"position":[[21,5],[887,5],[893,4]]},"1451":{"position":[[21,5],[887,5],[893,4]]},"1452":{"position":[[17,5],[433,5],[439,4]]},"1453":{"position":[[33,5],[1019,5],[1025,4],[1901,4]]},"1454":{"position":[[29,5],[3385,5],[3391,4],[5063,5],[5335,4],[5422,4],[5974,4],[6387,4],[6486,5],[6940,4],[8110,4],[8422,4],[8742,4],[9750,4],[9892,4],[10147,4]]},"1455":{"position":[[35,5],[1272,5],[1278,4],[2745,4],[3007,5],[3178,5],[3515,7],[3547,7],[4580,4]]},"1456":{"position":[[32,5],[617,5],[623,4],[1552,4],[1614,4]]},"1457":{"position":[[28,5],[676,5],[682,4],[1706,4]]},"1458":{"position":[[21,5],[1211,5],[1217,4],[2495,4],[2662,4]]},"1459":{"position":[[32,5],[690,5],[696,4],[2016,5],[2369,4],[2432,4]]},"1460":{"position":[[31,5],[802,5],[808,4]]},"1461":{"position":[[32,5],[1016,5],[1022,4],[1949,6],[3386,4],[3731,4],[3866,4],[3993,4]]},"1462":{"position":[[22,5],[4398,5],[4404,4],[6987,4],[7072,4],[7105,4],[7535,4],[7610,5],[7941,5],[8194,4],[8980,4],[9067,4]]},"1463":{"position":[[32,5],[524,5],[530,4]]},"1464":{"position":[[33,5],[432,5],[438,4]]},"1465":{"position":[[23,5],[1530,5],[1536,4],[3303,4],[3438,4],[3714,4],[3847,4],[4363,4],[4672,4]]},"1466":{"position":[[36,5],[768,5],[774,4]]},"1467":{"position":[[20,5],[5086,5],[5092,4],[6413,5],[7956,4],[8041,4],[8074,4],[9001,5],[9256,4],[9572,4],[9707,4],[10926,4],[11200,4]]},"1468":{"position":[[27,5],[532,5],[538,4]]},"1469":{"position":[[20,5],[904,5],[910,4],[1765,4],[1832,4],[1874,4],[2532,4],[2811,4],[2923,4],[3235,4],[3553,4]]},"1470":{"position":[[25,5],[3434,5],[3440,4]]},"1471":{"position":[[20,5],[1767,5],[1773,4],[3039,4],[4564,4],[4675,5],[5243,4]]},"1472":{"position":[[21,5],[1726,5],[1732,4],[2758,4],[3515,4],[3626,5],[5148,4],[5259,5],[5690,5],[6129,4]]},"1473":{"position":[[18,5],[2041,5],[2047,4],[3073,4],[4885,4],[4996,5],[5693,4]]},"1474":{"position":[[22,5],[1433,5],[1439,4]]},"1475":{"position":[[19,5],[1904,5],[1910,4]]},"1476":{"position":[[25,5],[509,5],[515,4]]},"1477":{"position":[[18,5],[660,5],[666,4],[2697,4]]},"1478":{"position":[[16,5],[1151,5],[1157,4],[2337,5],[2846,4],[2948,4]]},"1479":{"position":[[33,5],[601,5],[607,4]]},"1480":{"position":[[22,5],[1014,5],[1020,4]]},"1481":{"position":[[24,5],[1547,5],[1553,4]]},"1482":{"position":[[19,5],[621,5],[627,4],[1953,4],[2112,4],[2256,4],[2378,4],[2546,4]]},"1483":{"position":[[24,5],[455,5],[461,4]]},"1484":{"position":[[24,5],[527,5],[533,4]]},"1485":{"position":[[25,5],[787,5],[793,4],[2078,5],[2112,4],[2400,4],[2911,4],[3010,5],[4876,4],[5019,4]]},"1486":{"position":[[20,5],[1031,5],[1037,4],[3174,4],[3262,4],[3323,4],[3417,4],[3511,4]]},"1487":{"position":[[17,5],[725,5],[731,4],[1870,5],[2100,4],[2193,4],[2233,5],[2274,4],[2604,5],[2922,5],[3107,4]]}},"keywords":{}}],["name>",{"_index":3874,"title":{},"content":{"841":{"position":[[191,9]]}},"keywords":{}}],["name"",{"_index":7206,"title":{},"content":{"1384":{"position":[[18271,11]]},"1472":{"position":[[5587,11]]}},"keywords":{}}],["name(cfg",{"_index":4864,"title":{},"content":{"981":{"position":[[200,9]]}},"keywords":{}}],["name)th",{"_index":7180,"title":{},"content":{"1383":{"position":[[4273,8]]}},"keywords":{}}],["name.a",{"_index":4851,"title":{},"content":{"980":{"position":[[439,6]]}},"keywords":{}}],["name.append",{"_index":8609,"title":{},"content":{"1487":{"position":[[1980,12]]}},"keywords":{}}],["name.if",{"_index":8612,"title":{},"content":{"1487":{"position":[[2488,7]]}},"keywords":{}}],["name.os_env",{"_index":7574,"title":{},"content":{"1397":{"position":[[2232,12]]}},"keywords":{}}],["name.shared_lib",{"_index":8204,"title":{},"content":{"1455":{"position":[[3134,17]]}},"keywords":{}}],["name.shared_link",{"_index":8205,"title":{},"content":{"1455":{"position":[[3305,17]]}},"keywords":{}}],["name.vers",{"_index":7578,"title":{},"content":{"1397":{"position":[[2702,13]]}},"keywords":{}}],["name/valu",{"_index":2698,"title":{},"content":{"584":{"position":[[239,10]]}},"keywords":{}}],["name="mi",{"_index":7917,"title":{},"content":{"1422":{"position":[[4397,13]]},"1423":{"position":[[3391,13]]}},"keywords":{}}],["name='bridg",{"_index":8136,"title":{},"content":{"1448":{"position":[[3105,14]]}},"keywords":{}}],["name='greet",{"_index":7425,"title":{},"content":{"1390":{"position":[[2066,13],[2137,16]]},"1391":{"position":[[1859,16]]},"1405":{"position":[[3983,13],[4055,16]]},"1408":{"position":[[2920,16]]},"1410":{"position":[[5785,16],[5857,14],[5946,14],[6082,14]]},"1448":{"position":[[2852,13],[2978,16]]},"1449":{"position":[[2787,16]]},"1457":{"position":[[1968,16]]},"1471":{"position":[[5775,13],[5850,16]]},"1472":{"position":[[6662,16]]},"1473":{"position":[[5944,13],[6019,16]]}},"keywords":{}}],["name='join",{"_index":7429,"title":{},"content":{"1390":{"position":[[2210,12]]},"1391":{"position":[[1932,12]]},"1405":{"position":[[4130,12]]},"1448":{"position":[[3056,12]]},"1471":{"position":[[5927,12]]},"1473":{"position":[[6096,12]]}},"keywords":{}}],["name=valu",{"_index":2544,"title":{},"content":{"560":{"position":[[117,12],[553,10]]}},"keywords":{}}],["named.buckconfig",{"_index":3511,"title":{},"content":{"693":{"position":[[90,17]]}},"keywords":{}}],["named_dep",{"_index":8419,"title":{},"content":{"1471":{"position":[[1409,11],[4510,11],[4694,10]]},"1472":{"position":[[1272,11],[3645,10],[5094,11],[5278,10]]},"1473":{"position":[[1461,11],[4831,11],[5015,10]]}},"keywords":{}}],["named_vari",{"_index":6947,"title":{},"content":{"1366":{"position":[[686,15],[2212,15]]}},"keywords":{}}],["namedhost",{"_index":4388,"title":{},"content":{"901":{"position":[[198,9]]}},"keywords":{}}],["names(rc<refcell<hashmap<str",{"_index":4237,"title":{},"content":{"890":{"position":[[4156,41]]}},"keywords":{}}],["namesf",{"_index":3111,"title":{},"content":{"637":{"position":[[190,6]]}},"keywords":{}}],["namespac",{"_index":7506,"title":{},"content":{"1393":{"position":[[9525,10]]}},"keywords":{}}],["namessrc",{"_index":7745,"title":{},"content":{"1406":{"position":[[1355,10]]}},"keywords":{}}],["name—in",{"_index":2669,"title":{},"content":{"581":{"position":[[563,7]]}},"keywords":{}}],["nan,+inf",{"_index":3204,"title":{},"content":{"648":{"position":[[363,10]]}},"keywords":{}}],["narrow",{"_index":4434,"title":{},"content":{"906":{"position":[[712,8],[984,8]]}},"keywords":{}}],["nativ",{"_index":1434,"title":{"1060":{"position":[[0,6]]}},"content":{"171":{"position":[[112,6]]},"551":{"position":[[112,6]]},"869":{"position":[[257,9]]},"1155":{"position":[[394,6],[440,7]]},"1358":{"position":[[2384,6]]},"1362":{"position":[[4745,6]]},"1373":{"position":[[8620,6]]},"1382":{"position":[[3014,6],[3150,6],[11644,6]]},"1384":{"position":[[19587,6],[19662,6]]},"1390":{"position":[[593,6],[1988,6]]},"1401":{"position":[[1631,8]]},"1405":{"position":[[1110,6]]},"1408":{"position":[[921,6]]},"1410":{"position":[[1564,6]]},"1416":{"position":[[2448,6]]},"1420":{"position":[[2130,6]]},"1446":{"position":[[1976,6],[2532,6]]},"1448":{"position":[[962,6]]},"1449":{"position":[[902,6]]},"1454":{"position":[[3261,6],[9570,6]]},"1455":{"position":[[1146,6]]},"1457":{"position":[[624,6]]},"1459":{"position":[[630,6],[1675,6],[1752,6],[1949,6]]},"1461":{"position":[[2332,6],[2418,6],[2859,6]]},"1462":{"position":[[6592,6]]},"1465":{"position":[[2792,6],[2878,6]]},"1467":{"position":[[6931,6],[7017,6],[7707,6]]},"1471":{"position":[[1676,6]]},"1472":{"position":[[1638,6]]},"1473":{"position":[[1931,6]]}},"keywords":{}}],["native_c_lib",{"_index":8252,"title":{},"content":{"1460":{"position":[[676,14]]}},"keywords":{}}],["native_lib",{"_index":8242,"title":{},"content":{"1459":{"position":[[548,12],[2376,14],[2391,11],[2483,15]]},"1460":{"position":[[706,11]]}},"keywords":{}}],["native_library_merge_code_gener",{"_index":6359,"title":{},"content":{"1348":{"position":[[1561,36]]},"1350":{"position":[[2376,36]]},"1352":{"position":[[2375,36]]}},"keywords":{}}],["native_library_merge_glu",{"_index":6360,"title":{},"content":{"1348":{"position":[[1614,26]]},"1350":{"position":[[2429,26]]},"1352":{"position":[[2428,26]]}},"keywords":{}}],["native_library_merge_linker_arg",{"_index":6361,"title":{},"content":{"1348":{"position":[[1657,33]]},"1350":{"position":[[2472,33]]},"1352":{"position":[[2471,33]]}},"keywords":{}}],["native_library_merge_localized_symbol",{"_index":6362,"title":{},"content":{"1348":{"position":[[1724,39]]},"1350":{"position":[[2539,39]]},"1352":{"position":[[2538,39]]}},"keywords":{}}],["native_library_merge_map",{"_index":6363,"title":{},"content":{"1348":{"position":[[1786,25]]},"1350":{"position":[[2601,25]]},"1352":{"position":[[2600,25]]},"1353":{"position":[[988,25]]}},"keywords":{}}],["native_library_merge_sequ",{"_index":6364,"title":{},"content":{"1348":{"position":[[1845,30]]},"1350":{"position":[[2660,30]]},"1352":{"position":[[2659,30]]},"1353":{"position":[[1047,30]]}},"keywords":{}}],["native_library_merge_sequence_blocklist",{"_index":6365,"title":{},"content":{"1348":{"position":[[1905,40]]},"1350":{"position":[[2720,40]]},"1352":{"position":[[2719,40]]}},"keywords":{}}],["native_link_strategi",{"_index":8303,"title":{},"content":{"1462":{"position":[[2860,21]]},"1467":{"position":[[3013,21]]}},"keywords":{}}],["native_platform",{"_index":6608,"title":{},"content":{"1357":{"position":[[381,17]]}},"keywords":{}}],["native_plugin",{"_index":8138,"title":{},"content":{"1449":{"position":[[628,14]]}},"keywords":{}}],["native_starter_librari",{"_index":8081,"title":{},"content":{"1443":{"position":[[510,23]]}},"keywords":{}}],["nattrfilt",{"_index":1813,"title":{},"content":{"333":{"position":[[327,11]]}},"keywords":{}}],["nattrfilter(attr",{"_index":6238,"title":{"1263":{"position":[[0,17]]},"1294":{"position":[[0,17]]},"1322":{"position":[[0,17]]}},"content":{"1259":{"position":[[413,17]]},"1290":{"position":[[413,17]]},"1318":{"position":[[413,17]]}},"keywords":{}}],["natur",{"_index":4527,"title":{},"content":{"924":{"position":[[491,9],[1295,7]]}},"keywords":{}}],["navig",{"_index":3843,"title":{"839":{"position":[[0,10]]}},"content":{},"keywords":{}}],["nb",{"_index":5040,"title":{},"content":{"1009":{"position":[[487,3]]},"1026":{"position":[[1498,3]]}},"keywords":{}}],["ndk",{"_index":8100,"title":{},"content":{"1446":{"position":[[690,3],[1689,3],[1901,3],[2654,3]]},"1469":{"position":[[2548,3],[2622,3]]}},"keywords":{}}],["ndk'",{"_index":8099,"title":{},"content":{"1446":{"position":[[684,5]]}},"keywords":{}}],["ndk_debug=1",{"_index":8102,"title":{},"content":{"1446":{"position":[[1850,13]]}},"keywords":{}}],["ndk_librari",{"_index":8095,"title":{"1446":{"position":[[0,12]]}},"content":{"1446":{"position":[[4,12],[568,13]]}},"keywords":{}}],["ndk_toolchain",{"_index":8111,"title":{"1447":{"position":[[0,14]]}},"content":{"1447":{"position":[[4,14]]}},"keywords":{}}],["near",{"_index":2251,"title":{},"content":{"418":{"position":[[1204,4]]},"797":{"position":[[1204,4]]}},"keywords":{}}],["nearest",{"_index":1766,"title":{},"content":{"320":{"position":[[397,7]]},"429":{"position":[[84,7]]},"566":{"position":[[486,7]]},"567":{"position":[[343,7]]},"622":{"position":[[460,7]]},"644":{"position":[[239,7]]},"648":{"position":[[290,7]]},"808":{"position":[[84,7]]},"1001":{"position":[[1245,7]]},"1064":{"position":[[2209,7]]},"1065":{"position":[[174,7]]}},"keywords":{}}],["nearli",{"_index":224,"title":{},"content":{"9":{"position":[[1108,6]]},"12":{"position":[[391,6]]}},"keywords":{}}],["necessari",{"_index":570,"title":{},"content":{"18":{"position":[[873,9],[1012,9]]},"587":{"position":[[468,9]]},"688":{"position":[[751,9]]},"715":{"position":[[511,9],[640,9]]},"860":{"position":[[260,9]]},"895":{"position":[[156,10]]},"942":{"position":[[472,10]]},"1075":{"position":[[458,9]]},"1100":{"position":[[70,9]]},"1103":{"position":[[1905,9]]},"1383":{"position":[[5270,9]]},"1393":{"position":[[3353,9]]},"1477":{"position":[[1648,10]]},"1486":{"position":[[4502,9]]}},"keywords":{}}],["necessarili",{"_index":2999,"title":{},"content":{"617":{"position":[[447,11]]},"706":{"position":[[1151,11],[2506,11]]},"961":{"position":[[304,11]]},"1486":{"position":[[5344,11]]}},"keywords":{}}],["necessary.max_workers_per_thread_perc",{"_index":8561,"title":{},"content":{"1486":{"position":[[2321,41]]}},"keywords":{}}],["need",{"_index":329,"title":{"834":{"position":[[10,4]]},"916":{"position":[[31,5]]},"937":{"position":[[10,4]]},"1036":{"position":[[16,4]]},"1256":{"position":[[8,4]]}},"content":{"10":{"position":[[529,4]]},"17":{"position":[[453,4]]},"18":{"position":[[924,4]]},"26":{"position":[[76,6]]},"27":{"position":[[83,6]]},"29":{"position":[[89,6]]},"30":{"position":[[128,6]]},"31":{"position":[[111,6]]},"79":{"position":[[240,4]]},"89":{"position":[[946,4]]},"94":{"position":[[2407,8]]},"178":{"position":[[76,6]]},"179":{"position":[[83,6]]},"185":{"position":[[89,6]]},"186":{"position":[[128,6]]},"187":{"position":[[111,6]]},"221":{"position":[[946,4]]},"226":{"position":[[2407,8]]},"276":{"position":[[201,4],[654,4]]},"277":{"position":[[155,4]]},"281":{"position":[[259,4],[752,4]]},"282":{"position":[[210,4]]},"297":{"position":[[673,7]]},"298":{"position":[[1664,6],[2698,6]]},"334":{"position":[[593,4]]},"368":{"position":[[2215,6]]},"374":{"position":[[1998,6]]},"377":{"position":[[1186,6]]},"474":{"position":[[332,4]]},"508":{"position":[[240,4]]},"575":{"position":[[242,4]]},"584":{"position":[[323,4]]},"590":{"position":[[454,7]]},"675":{"position":[[824,4]]},"682":{"position":[[278,4]]},"685":{"position":[[114,6]]},"687":{"position":[[121,4],[188,6]]},"688":{"position":[[1390,7]]},"690":{"position":[[3197,6]]},"693":{"position":[[7500,5]]},"695":{"position":[[817,4]]},"704":{"position":[[997,6],[1394,5]]},"705":{"position":[[369,4]]},"706":{"position":[[697,4],[2421,4],[2558,4],[2616,7]]},"715":{"position":[[549,6]]},"720":{"position":[[215,5]]},"722":{"position":[[898,5],[1141,5]]},"724":{"position":[[581,4],[827,5],[1823,6]]},"747":{"position":[[2215,6]]},"753":{"position":[[1998,6]]},"756":{"position":[[1186,6]]},"832":{"position":[[177,5]]},"846":{"position":[[1956,6]]},"848":{"position":[[807,4]]},"851":{"position":[[197,6],[277,4],[759,6],[2024,6]]},"853":{"position":[[125,5]]},"855":{"position":[[81,6]]},"856":{"position":[[7,4],[120,4],[622,4],[728,4],[824,4],[960,4]]},"861":{"position":[[758,4]]},"864":{"position":[[708,4]]},"870":{"position":[[596,4],[826,4],[877,4],[1078,4]]},"872":{"position":[[137,7],[943,6]]},"892":{"position":[[512,5],[1308,4]]},"898":{"position":[[2762,7]]},"916":{"position":[[41,4]]},"920":{"position":[[19,4]]},"921":{"position":[[424,4]]},"923":{"position":[[156,4]]},"924":{"position":[[581,6]]},"937":{"position":[[17,5],[750,5],[1297,4],[1625,4],[1900,4],[2376,5],[2451,6],[2677,6],[2869,5],[3066,4],[3882,4],[4693,4]]},"938":{"position":[[967,5]]},"939":{"position":[[1833,6]]},"942":{"position":[[1316,5]]},"947":{"position":[[905,6]]},"951":{"position":[[1428,4]]},"955":{"position":[[390,7],[658,6],[801,4]]},"956":{"position":[[307,4]]},"957":{"position":[[73,8]]},"970":{"position":[[194,4]]},"972":{"position":[[6,5],[220,4]]},"988":{"position":[[435,4],[758,4]]},"991":{"position":[[1189,5],[1514,4],[3048,4]]},"995":{"position":[[902,5]]},"998":{"position":[[267,4]]},"1012":{"position":[[305,5]]},"1014":{"position":[[569,4]]},"1021":{"position":[[415,7]]},"1030":{"position":[[22,4]]},"1031":{"position":[[62,4]]},"1035":{"position":[[297,4],[572,4]]},"1037":{"position":[[52,5]]},"1049":{"position":[[120,4]]},"1050":{"position":[[506,4],[1589,7],[3267,5],[4641,6]]},"1052":{"position":[[1041,7]]},"1071":{"position":[[1303,4]]},"1075":{"position":[[432,6]]},"1079":{"position":[[1294,7]]},"1081":{"position":[[11,4]]},"1083":{"position":[[364,4]]},"1086":{"position":[[380,4]]},"1087":{"position":[[295,4]]},"1093":{"position":[[262,4]]},"1102":{"position":[[700,4]]},"1104":{"position":[[1308,4],[1851,5],[2032,4]]},"1138":{"position":[[3705,5],[4565,6]]},"1140":{"position":[[3194,5],[4054,6]]},"1161":{"position":[[147,4]]},"1167":{"position":[[4198,5],[5058,6]]},"1188":{"position":[[3247,5],[4107,6]]},"1217":{"position":[[2939,5],[3799,6]]},"1228":{"position":[[5020,5],[5880,6]]},"1231":{"position":[[585,4]]},"1232":{"position":[[3423,4]]},"1245":{"position":[[525,4]]},"1253":{"position":[[610,4]]},"1254":{"position":[[525,4]]},"1282":{"position":[[242,4]]},"1283":{"position":[[259,4]]},"1284":{"position":[[239,4]]},"1313":{"position":[[242,4]]},"1314":{"position":[[259,4]]},"1315":{"position":[[239,4]]},"1341":{"position":[[242,4]]},"1342":{"position":[[259,4]]},"1343":{"position":[[239,4]]},"1346":{"position":[[22,4]]},"1348":{"position":[[3735,5],[3823,6],[4071,4]]},"1355":{"position":[[4260,4],[4945,4],[7256,6]]},"1359":{"position":[[2000,4]]},"1360":{"position":[[4044,5]]},"1367":{"position":[[13827,4],[13916,5]]},"1370":{"position":[[3042,6]]},"1373":{"position":[[8084,7],[8299,5],[8460,5]]},"1382":{"position":[[10860,7]]},"1383":{"position":[[5696,7]]},"1384":{"position":[[17934,7]]},"1386":{"position":[[3607,6],[3671,6]]},"1388":{"position":[[4974,7],[6384,7],[9353,7]]},"1393":{"position":[[5352,4],[6381,4],[8583,4]]},"1395":{"position":[[2621,5],[2918,4]]},"1398":{"position":[[2772,6],[2954,4]]},"1403":{"position":[[3459,5],[4451,4],[7491,4]]},"1415":{"position":[[2539,6],[5726,4]]},"1422":{"position":[[2041,5]]},"1427":{"position":[[3405,4],[6455,6],[6848,5]]},"1439":{"position":[[4079,4],[5639,4]]},"1446":{"position":[[1721,7]]},"1454":{"position":[[9721,5]]},"1462":{"position":[[8371,4]]},"1467":{"position":[[6737,7],[8487,7],[9853,4]]},"1470":{"position":[[4543,4]]},"1477":{"position":[[2829,4]]},"1485":{"position":[[3725,7]]}},"keywords":{}}],["need_android_tool",{"_index":6647,"title":{},"content":{"1360":{"position":[[1013,19]]},"1365":{"position":[[602,19]]},"1383":{"position":[[891,19]]},"1403":{"position":[[916,19]]},"1424":{"position":[[832,19]]},"1432":{"position":[[970,19]]}},"keywords":{}}],["needed').src",{"_index":7423,"title":{},"content":{"1390":{"position":[[1796,14]]}},"keywords":{}}],["needed."resources"map",{"_index":2040,"title":{},"content":{"377":{"position":[[1076,32]]},"756":{"position":[[1076,32]]}},"keywords":{}}],["needed_coverag",{"_index":8364,"title":{},"content":{"1466":{"position":[[515,16]]},"1467":{"position":[[3051,16]]}},"keywords":{}}],["needl",{"_index":2576,"title":{},"content":{"566":{"position":[[16,7]]},"591":{"position":[[18,7]]},"594":{"position":[[17,7]]},"596":{"position":[[18,7]]},"611":{"position":[[18,7]]},"612":{"position":[[19,7]]}},"keywords":{}}],["neg",{"_index":2579,"title":{},"content":{"566":{"position":[[386,9]]},"567":{"position":[[267,9]]},"568":{"position":[[238,8]]},"610":{"position":[[299,9],[924,8]]},"616":{"position":[[826,9]]},"662":{"position":[[483,8]]},"1079":{"position":[[273,10]]},"1233":{"position":[[250,11]]},"1241":{"position":[[198,11]]}},"keywords":{}}],["ness",{"_index":4728,"title":{},"content":{"950":{"position":[[430,5],[787,5]]}},"keywords":{}}],["nest",{"_index":2415,"title":{},"content":{"451":{"position":[[124,6]]},"830":{"position":[[124,6]]},"876":{"position":[[305,6]]},"890":{"position":[[248,6],[4947,6]]},"904":{"position":[[683,6]]},"947":{"position":[[789,6]]},"1098":{"position":[[257,6]]},"1198":{"position":[[202,6]]}},"keywords":{}}],["net",{"_index":7121,"title":{},"content":{"1381":{"position":[[688,4],[2069,4]]},"1456":{"position":[[569,4],[594,4]]}},"keywords":{}}],["net35",{"_index":7129,"title":{},"content":{"1381":{"position":[[2126,8]]}},"keywords":{}}],["net40",{"_index":7130,"title":{},"content":{"1381":{"position":[[2135,8]]}},"keywords":{}}],["net45",{"_index":7131,"title":{},"content":{"1381":{"position":[[2144,7]]}},"keywords":{}}],["net46",{"_index":7135,"title":{},"content":{"1381":{"position":[[2609,8]]},"1456":{"position":[[1672,8]]}},"keywords":{}}],["net46'.resourc",{"_index":7132,"title":{},"content":{"1381":{"position":[[2156,18]]}},"keywords":{}}],["network",{"_index":232,"title":{},"content":{"9":{"position":[[1287,7]]},"706":{"position":[[2644,7]]}},"keywords":{}}],["never",{"_index":1986,"title":{},"content":{"368":{"position":[[2133,5]]},"645":{"position":[[367,5]]},"672":{"position":[[89,5]]},"706":{"position":[[1817,5]]},"747":{"position":[[2133,5]]},"890":{"position":[[5320,5]]},"898":{"position":[[924,5]]},"900":{"position":[[1424,5]]},"973":{"position":[[201,5],[423,5]]},"1136":{"position":[[4130,6]]},"1138":{"position":[[7792,6]]},"1140":{"position":[[6718,6]]},"1142":{"position":[[2162,6]]},"1146":{"position":[[2102,6]]},"1148":{"position":[[5142,6]]},"1155":{"position":[[2198,6]]},"1156":{"position":[[1776,6]]},"1167":{"position":[[7722,6]]},"1169":{"position":[[1561,6]]},"1186":{"position":[[3366,6]]},"1187":{"position":[[3379,6]]},"1188":{"position":[[8105,6]]},"1191":{"position":[[1966,6]]},"1192":{"position":[[2141,6]]},"1193":{"position":[[2193,6]]},"1194":{"position":[[1833,6]]},"1195":{"position":[[1811,6]]},"1196":{"position":[[1621,6]]},"1197":{"position":[[2604,6]]},"1198":{"position":[[2614,6]]},"1199":{"position":[[2642,6]]},"1200":{"position":[[2509,6]]},"1201":{"position":[[1769,6]]},"1202":{"position":[[2911,6],[7308,6]]},"1203":{"position":[[2003,6]]},"1204":{"position":[[1847,6]]},"1205":{"position":[[3176,6]]},"1206":{"position":[[1647,6]]},"1207":{"position":[[1804,6]]},"1209":{"position":[[3152,6]]},"1217":{"position":[[6463,6]]},"1219":{"position":[[2449,6]]},"1222":{"position":[[1573,6]]},"1223":{"position":[[1583,6]]},"1224":{"position":[[1763,6]]},"1226":{"position":[[6931,6]]},"1228":{"position":[[8544,6]]},"1235":{"position":[[4412,6]]},"1237":{"position":[[7101,6]]},"1253":{"position":[[604,5]]}},"keywords":{}}],["never_mark_as_unused_depend",{"_index":6366,"title":{},"content":{"1348":{"position":[[1968,32]]},"1355":{"position":[[1505,32]]},"1412":{"position":[[925,32]]},"1413":{"position":[[1071,32]]},"1427":{"position":[[1142,32]]},"1429":{"position":[[1376,32]]},"1430":{"position":[[945,32]]},"1439":{"position":[[1378,32]]},"1440":{"position":[[1577,32]]},"1458":{"position":[[775,32]]},"1470":{"position":[[1805,32]]},"1474":{"position":[[921,32]]},"1475":{"position":[[1067,32]]}},"keywords":{}}],["new",{"_index":16,"title":{"929":{"position":[[0,3]]},"937":{"position":[[15,3]]},"1108":{"position":[[0,3]]}},"content":{"3":{"position":[[46,3]]},"10":{"position":[[950,3]]},"18":{"position":[[99,3]]},"23":{"position":[[78,3]]},"40":{"position":[[115,3]]},"41":{"position":[[198,3]]},"83":{"position":[[58,3]]},"93":{"position":[[78,3]]},"97":{"position":[[135,3]]},"123":{"position":[[46,3]]},"173":{"position":[[115,3]]},"174":{"position":[[198,3]]},"215":{"position":[[58,3]]},"225":{"position":[[78,3]]},"229":{"position":[[135,3]]},"288":{"position":[[556,3]]},"289":{"position":[[576,3]]},"374":{"position":[[2016,3]]},"411":{"position":[[215,3]]},"510":{"position":[[622,3]]},"511":{"position":[[642,3]]},"532":{"position":[[46,3]]},"555":{"position":[[119,3]]},"556":{"position":[[110,3]]},"559":{"position":[[106,3],[394,3]]},"561":{"position":[[118,3]]},"610":{"position":[[30,4],[142,5],[233,4]]},"652":{"position":[[154,3],[250,3]]},"665":{"position":[[111,3]]},"666":{"position":[[122,3]]},"673":{"position":[[108,3]]},"693":{"position":[[5299,3],[7254,3]]},"722":{"position":[[557,3]]},"753":{"position":[[2016,3]]},"790":{"position":[[215,3]]},"888":{"position":[[190,3]]},"892":{"position":[[469,3],[653,3],[874,3]]},"916":{"position":[[140,3]]},"937":{"position":[[2253,3]]},"938":{"position":[[1044,3]]},"939":{"position":[[227,3]]},"981":{"position":[[440,3]]},"1004":{"position":[[1612,3]]},"1016":{"position":[[126,3]]},"1044":{"position":[[433,3]]},"1050":{"position":[[4709,3],[4741,3]]},"1103":{"position":[[1684,3]]},"1105":{"position":[[736,3]]},"1107":{"position":[[254,3]]},"1113":{"position":[[71,3],[370,3]]},"1126":{"position":[[471,3]]},"1142":{"position":[[525,3]]},"1254":{"position":[[692,3]]},"1351":{"position":[[3166,3]]},"1362":{"position":[[13476,3]]},"1364":{"position":[[14176,3]]},"1367":{"position":[[13384,3]]},"1399":{"position":[[1589,3]]},"1422":{"position":[[3651,3]]},"1423":{"position":[[2422,3]]},"1429":{"position":[[4265,3]]},"1440":{"position":[[4258,3]]}},"keywords":{}}],["new_cfg",{"_index":5004,"title":{},"content":{"1004":{"position":[[1447,7],[1824,8]]}},"keywords":{}}],["newandroidmanifest.xml",{"_index":7687,"title":{},"content":{"1403":{"position":[[7406,22]]}},"keywords":{}}],["newattrs.plugin_dep(kind",{"_index":4903,"title":{},"content":{"990":{"position":[[124,24]]}},"keywords":{}}],["newer",{"_index":5294,"title":{},"content":{"1050":{"position":[[2243,5]]}},"keywords":{}}],["newli",{"_index":522,"title":{},"content":{"17":{"position":[[1249,5]]}},"keywords":{}}],["newlin",{"_index":1260,"title":{},"content":{"98":{"position":[[1394,7]]},"230":{"position":[[1394,7]]},"576":{"position":[[241,7]]}},"keywords":{}}],["next",{"_index":428,"title":{},"content":{"13":{"position":[[359,5]]},"18":{"position":[[177,5],[404,5]]},"719":{"position":[[66,4]]},"943":{"position":[[1278,5]]},"1026":{"position":[[311,5],[485,4]]},"1058":{"position":[[1212,4],[1354,4]]},"1079":{"position":[[1172,4]]},"1093":{"position":[[439,5]]},"1232":{"position":[[3728,5]]},"1346":{"position":[[0,5]]}},"keywords":{}}],["ngoc.a",{"_index":103,"title":{},"content":{"5":{"position":[[402,6]]}},"keywords":{}}],["nice",{"_index":4533,"title":{},"content":{"924":{"position":[[826,4],[1754,4]]}},"keywords":{}}],["nicer",{"_index":5896,"title":{},"content":{"1136":{"position":[[4411,5]]},"1138":{"position":[[8073,5]]},"1140":{"position":[[6999,5]]},"1142":{"position":[[2443,5]]},"1146":{"position":[[2383,5]]},"1148":{"position":[[5423,5]]},"1155":{"position":[[2479,5]]},"1156":{"position":[[2057,5]]},"1167":{"position":[[8003,5]]},"1169":{"position":[[1842,5]]},"1186":{"position":[[3647,5]]},"1187":{"position":[[3660,5]]},"1188":{"position":[[8386,5]]},"1191":{"position":[[2247,5]]},"1192":{"position":[[2422,5]]},"1193":{"position":[[2474,5]]},"1194":{"position":[[2114,5]]},"1195":{"position":[[2092,5]]},"1196":{"position":[[1902,5]]},"1197":{"position":[[2885,5]]},"1198":{"position":[[2895,5]]},"1199":{"position":[[2923,5]]},"1200":{"position":[[2790,5]]},"1201":{"position":[[2050,5]]},"1202":{"position":[[3192,5],[7589,5]]},"1203":{"position":[[2284,5]]},"1204":{"position":[[2128,5]]},"1205":{"position":[[3457,5]]},"1206":{"position":[[1928,5]]},"1207":{"position":[[2085,5]]},"1209":{"position":[[3433,5]]},"1217":{"position":[[6744,5]]},"1219":{"position":[[2730,5]]},"1222":{"position":[[1854,5]]},"1223":{"position":[[1864,5]]},"1224":{"position":[[2044,5]]},"1226":{"position":[[7212,5]]},"1228":{"position":[[8825,5]]},"1235":{"position":[[4693,5]]},"1237":{"position":[[7382,5]]}},"keywords":{}}],["niceti",{"_index":5681,"title":{},"content":{"1105":{"position":[[302,8]]}},"keywords":{}}],["nightli",{"_index":458,"title":{},"content":{"15":{"position":[[435,7],[460,8]]}},"keywords":{}}],["nix",{"_index":151,"title":{},"content":{"7":{"position":[[279,3]]},"690":{"position":[[3179,3],[3320,3]]}},"keywords":{}}],["nm",{"_index":7378,"title":{},"content":{"1389":{"position":[[2857,3]]}},"keywords":{}}],["nnn",{"_index":4980,"title":{},"content":{"997":{"position":[[121,3]]}},"keywords":{}}],["no_auto_add_overlay_resourc",{"_index":6446,"title":{},"content":{"1350":{"position":[[2783,30]]},"1352":{"position":[[2782,30]]}},"keywords":{}}],["no_auto_version_resourc",{"_index":6447,"title":{},"content":{"1350":{"position":[[2824,26]]},"1352":{"position":[[2823,26]]}},"keywords":{}}],["no_dx",{"_index":6409,"title":{},"content":{"1349":{"position":[[736,6]]},"1350":{"position":[[2861,6]]},"1352":{"position":[[2860,6]]}},"keywords":{}}],["no_outputs_cleanup",{"_index":1180,"title":{},"content":{"94":{"position":[[845,19]]},"226":{"position":[[845,19]]},"1050":{"position":[[799,18],[839,18],[2867,18],[4192,18]]},"1360":{"position":[[1043,19]]},"1383":{"position":[[921,19]]},"1403":{"position":[[946,19]]},"1424":{"position":[[862,19]]},"1432":{"position":[[1000,19]]}},"keywords":{}}],["no_remote_cach",{"_index":5932,"title":{},"content":{"1138":{"position":[[3169,15]]},"1140":{"position":[[2658,15]]},"1167":{"position":[[3662,15]]},"1188":{"position":[[2711,15]]},"1217":{"position":[[2403,15]]},"1228":{"position":[[4484,15]]}},"keywords":{}}],["no_version_transitions_resourc",{"_index":6448,"title":{},"content":{"1350":{"position":[[2883,33]]},"1352":{"position":[[2882,33]]}},"keywords":{}}],["node",{"_index":1437,"title":{"856":{"position":[[77,5]]},"962":{"position":[[17,6]]}},"content":{"204":{"position":[[104,5]]},"205":{"position":[[120,5]]},"206":{"position":[[81,5]]},"207":{"position":[[66,5]]},"233":{"position":[[439,4]]},"234":{"position":[[218,4]]},"240":{"position":[[176,6]]},"276":{"position":[[98,5],[246,5],[438,5],[722,4]]},"277":{"position":[[197,5],[386,5],[757,4]]},"278":{"position":[[106,5]]},"280":{"position":[[105,5],[184,4],[219,4],[348,4]]},"281":{"position":[[132,5],[313,5],[527,5],[832,4]]},"282":{"position":[[261,5],[477,5],[875,4]]},"283":{"position":[[273,4]]},"284":{"position":[[191,4]]},"285":{"position":[[108,5],[152,4]]},"286":{"position":[[111,5],[142,5],[334,5],[386,4]]},"294":{"position":[[648,6],[740,5],[1015,4]]},"295":{"position":[[302,6]]},"297":{"position":[[845,4]]},"298":{"position":[[1828,5]]},"301":{"position":[[401,5],[562,6],[786,4]]},"302":{"position":[[302,6]]},"309":{"position":[[443,5],[588,4],[786,5]]},"310":{"position":[[436,4]]},"311":{"position":[[241,5],[367,4]]},"320":{"position":[[323,5]]},"322":{"position":[[179,4]]},"329":{"position":[[236,6]]},"340":{"position":[[210,5],[307,6]]},"341":{"position":[[76,5]]},"396":{"position":[[118,4]]},"409":{"position":[[124,6]]},"413":{"position":[[72,6]]},"417":{"position":[[1003,4]]},"449":{"position":[[128,6]]},"459":{"position":[[103,5]]},"460":{"position":[[110,5]]},"461":{"position":[[92,5]]},"463":{"position":[[114,4]]},"470":{"position":[[176,6]]},"476":{"position":[[345,5]]},"480":{"position":[[98,4]]},"481":{"position":[[182,4]]},"483":{"position":[[101,4]]},"484":{"position":[[154,4]]},"528":{"position":[[151,4]]},"693":{"position":[[3412,5],[6885,5]]},"715":{"position":[[1361,6],[1388,6],[1402,6],[1430,5]]},"718":{"position":[[350,5],[480,4],[662,4]]},"719":{"position":[[129,5]]},"720":{"position":[[37,5],[428,5],[473,5]]},"775":{"position":[[118,4]]},"788":{"position":[[124,6]]},"792":{"position":[[72,6]]},"796":{"position":[[1003,4]]},"828":{"position":[[128,6]]},"832":{"position":[[49,4],[153,4]]},"846":{"position":[[1014,4],[1142,5]]},"851":{"position":[[1035,5],[1220,6]]},"856":{"position":[[248,5]]},"870":{"position":[[1435,6]]},"874":{"position":[[220,6],[338,6]]},"878":{"position":[[188,5],[920,4]]},"890":{"position":[[6889,4]]},"905":{"position":[[1280,5]]},"906":{"position":[[80,5]]},"919":{"position":[[1448,5]]},"924":{"position":[[782,6],[1759,5],[1809,6]]},"989":{"position":[[195,5]]},"1012":{"position":[[341,4]]},"1013":{"position":[[111,6]]},"1014":{"position":[[349,4],[776,5]]},"1015":{"position":[[19,5],[223,5]]},"1017":{"position":[[313,5],[979,4]]},"1019":{"position":[[398,4],[436,4],[592,4],[622,4]]},"1020":{"position":[[64,5]]},"1021":{"position":[[663,5]]},"1024":{"position":[[122,5]]},"1026":{"position":[[69,4],[214,5],[852,4]]},"1084":{"position":[[58,5],[152,5]]},"1086":{"position":[[292,4]]},"1088":{"position":[[91,5],[339,5],[432,5],[480,5],[507,5],[603,5],[750,5]]},"1091":{"position":[[58,4]]},"1136":{"position":[[5367,5]]},"1138":{"position":[[9029,5]]},"1140":{"position":[[7955,5]]},"1142":{"position":[[3399,5]]},"1146":{"position":[[3339,5]]},"1148":{"position":[[6379,5]]},"1155":{"position":[[3435,5]]},"1156":{"position":[[3013,5]]},"1161":{"position":[[906,5]]},"1167":{"position":[[8959,5]]},"1180":{"position":[[94,4],[145,5],[228,6],[319,4]]},"1181":{"position":[[1118,5]]},"1186":{"position":[[4603,5]]},"1187":{"position":[[4616,5]]},"1188":{"position":[[9342,5]]},"1191":{"position":[[3203,5]]},"1192":{"position":[[3378,5]]},"1193":{"position":[[3430,5]]},"1194":{"position":[[3070,5]]},"1195":{"position":[[3048,5]]},"1196":{"position":[[2858,5]]},"1197":{"position":[[3841,5]]},"1198":{"position":[[3851,5]]},"1199":{"position":[[3879,5]]},"1200":{"position":[[3746,5]]},"1201":{"position":[[3006,5]]},"1202":{"position":[[4148,5],[8545,5]]},"1203":{"position":[[3240,5]]},"1204":{"position":[[3084,5]]},"1205":{"position":[[4413,5]]},"1206":{"position":[[2884,5]]},"1207":{"position":[[3041,5]]},"1209":{"position":[[4389,5]]},"1217":{"position":[[7700,5]]},"1222":{"position":[[2810,5]]},"1223":{"position":[[2820,5]]},"1226":{"position":[[2040,4],[2112,4],[8168,5]]},"1228":{"position":[[9781,5]]},"1235":{"position":[[5649,5]]},"1237":{"position":[[2210,4],[2282,4],[8338,5]]},"1258":{"position":[[1222,4]]},"1260":{"position":[[181,6],[330,4],[371,5]]},"1289":{"position":[[1222,4]]},"1291":{"position":[[181,6],[330,4],[371,5]]},"1317":{"position":[[1222,4]]},"1319":{"position":[[181,6],[330,4],[371,5]]},"1362":{"position":[[10531,5],[10575,5]]},"1382":{"position":[[7400,5],[7444,5]]},"1388":{"position":[[8269,5],[8313,5]]},"1416":{"position":[[2697,5],[2741,5]]},"1462":{"position":[[6317,5],[6361,5]]},"1467":{"position":[[7431,5],[7475,5]]}},"keywords":{}}],["node'",{"_index":5555,"title":{},"content":{"1082":{"position":[[626,6]]},"1083":{"position":[[462,6]]},"1086":{"position":[[424,6]]}},"keywords":{}}],["node.attrs_eag",{"_index":1516,"title":{},"content":{"276":{"position":[[794,18]]},"483":{"position":[[163,18]]},"484":{"position":[[216,18]]}},"keywords":{}}],["node.attrs_lazi",{"_index":1524,"title":{},"content":{"277":{"position":[[829,17]]},"528":{"position":[[223,17]]}},"keywords":{}}],["node.resolved_attrs_eager(ctx",{"_index":1548,"title":{},"content":{"281":{"position":[[904,30]]},"878":{"position":[[978,30]]}},"keywords":{}}],["node.resolved_attrs_lazy(ctx",{"_index":1555,"title":{},"content":{"282":{"position":[[947,29]]},"322":{"position":[[251,29]]}},"keywords":{}}],["node.unwrap_forward",{"_index":1578,"title":{},"content":{"286":{"position":[[467,21]]}},"keywords":{}}],["nodes.analysi",{"_index":4550,"title":{},"content":{"924":{"position":[[1896,14]]}},"keywords":{}}],["nodes.attrs.field",{"_index":4549,"title":{},"content":{"924":{"position":[[1850,17]]}},"keywords":{}}],["nodes.label",{"_index":4548,"title":{},"content":{"924":{"position":[[1838,11]]}},"keywords":{}}],["nodes.target_platform",{"_index":3920,"title":{},"content":{"851":{"position":[[874,21]]}},"keywords":{}}],["nodes.toolchain",{"_index":3919,"title":{},"content":{"851":{"position":[[718,16]]}},"keywords":{}}],["non",{"_index":478,"title":{"1025":{"position":[[8,3]]}},"content":{"16":{"position":[[66,3]]},"280":{"position":[[138,3],[253,3]]},"389":{"position":[[1054,3]]},"597":{"position":[[150,3]]},"598":{"position":[[139,3]]},"599":{"position":[[138,3]]},"601":{"position":[[145,3]]},"610":{"position":[[295,3]]},"616":{"position":[[678,3],[822,3]]},"632":{"position":[[308,3]]},"648":{"position":[[686,3]]},"662":{"position":[[479,3]]},"706":{"position":[[0,3],[17,3],[267,3],[483,3],[890,3],[1057,3],[1350,3]]},"768":{"position":[[1054,3]]},"890":{"position":[[1383,3],[3542,3]]},"898":{"position":[[1046,3],[1977,3]]},"900":{"position":[[1902,3]]},"906":{"position":[[848,3]]},"937":{"position":[[1109,3]]},"945":{"position":[[635,3]]},"995":{"position":[[1168,3]]},"1006":{"position":[[1274,3]]},"1019":{"position":[[4,4]]},"1021":{"position":[[32,3],[687,3]]},"1050":{"position":[[2043,3]]},"1052":{"position":[[951,3]]},"1071":{"position":[[689,3],[1343,3]]},"1098":{"position":[[608,3]]},"1114":{"position":[[267,3],[800,3]]},"1138":{"position":[[5952,3]]},"1146":{"position":[[237,3]]},"1148":{"position":[[3302,3]]},"1172":{"position":[[2222,3]]},"1186":{"position":[[1526,3]]},"1187":{"position":[[1539,3]]},"1188":{"position":[[6265,3]]},"1197":{"position":[[764,3]]},"1198":{"position":[[774,3]]},"1199":{"position":[[802,3]]},"1200":{"position":[[669,3]]},"1226":{"position":[[1740,3],[4020,3]]},"1237":{"position":[[1910,3],[4190,3]]},"1255":{"position":[[392,3]]},"1351":{"position":[[2280,3],[2662,3],[3048,3]]},"1363":{"position":[[6418,3],[6832,3]]},"1381":{"position":[[2375,3]]},"1384":{"position":[[20564,3]]},"1393":{"position":[[6893,3]]},"1405":{"position":[[2658,3]]},"1407":{"position":[[3079,3]]},"1410":{"position":[[3181,3]]},"1426":{"position":[[2128,3]]},"1446":{"position":[[2163,3]]},"1454":{"position":[[9566,3]]},"1459":{"position":[[2136,3]]},"1469":{"position":[[3186,3]]},"1471":{"position":[[4793,3]]},"1472":{"position":[[3744,3],[5377,3]]},"1473":{"position":[[5114,3]]}},"keywords":{}}],["non_quoted_str",{"_index":6227,"title":{},"content":{"1258":{"position":[[21,17]]},"1289":{"position":[[21,17]]},"1317":{"position":[[21,17]]}},"keywords":{}}],["none",{"_index":804,"title":{"625":{"position":[[0,5]]}},"content":{"24":{"position":[[1136,4]]},"27":{"position":[[26,4]]},"30":{"position":[[26,4]]},"31":{"position":[[24,4]]},"40":{"position":[[59,4],[72,4]]},"41":{"position":[[61,4],[74,5],[91,4],[160,4]]},"49":{"position":[[16,4],[103,4]]},"73":{"position":[[15,4],[73,4]]},"76":{"position":[[32,4],[188,4]]},"91":{"position":[[98,4],[111,5],[123,4],[136,5],[150,4],[163,5]]},"92":{"position":[[283,5],[297,4]]},"93":{"position":[[72,4]]},"94":{"position":[[301,4],[314,5],[1170,4]]},"99":{"position":[[75,4]]},"114":{"position":[[18,4]]},"140":{"position":[[124,4],[167,4],[299,5]]},"153":{"position":[[41,4]]},"159":{"position":[[28,4]]},"171":{"position":[[24,4],[101,6]]},"173":{"position":[[59,4],[72,4]]},"174":{"position":[[61,4],[74,5],[91,4],[160,4]]},"179":{"position":[[26,4]]},"186":{"position":[[26,4]]},"187":{"position":[[24,4]]},"196":{"position":[[16,4],[103,4]]},"204":{"position":[[39,4]]},"205":{"position":[[41,4]]},"223":{"position":[[98,4],[111,5],[123,4],[136,5],[150,4],[163,5]]},"224":{"position":[[283,5],[297,4]]},"225":{"position":[[72,4]]},"226":{"position":[[301,4],[314,5],[1170,4]]},"231":{"position":[[75,4]]},"239":{"position":[[382,4],[395,5],[409,4],[422,4]]},"240":{"position":[[52,4],[84,4]]},"243":{"position":[[64,4],[282,5]]},"245":{"position":[[38,4]]},"246":{"position":[[37,4]]},"263":{"position":[[124,4],[167,4],[299,5]]},"277":{"position":[[653,5],[686,4]]},"279":{"position":[[77,4]]},"282":{"position":[[762,5],[795,4]]},"294":{"position":[[340,4],[413,4]]},"295":{"position":[[41,4]]},"297":{"position":[[337,4]]},"298":{"position":[[43,4],[205,5],[223,4],[385,5],[408,4],[461,4],[587,4]]},"301":{"position":[[301,4],[339,4]]},"302":{"position":[[41,4]]},"304":{"position":[[58,4]]},"309":{"position":[[295,4]]},"320":{"position":[[77,4],[203,4]]},"328":{"position":[[282,4],[295,5],[309,4],[322,4]]},"329":{"position":[[52,4],[84,5],[107,4],[144,4]]},"334":{"position":[[92,4],[337,4]]},"345":{"position":[[49,4]]},"346":{"position":[[66,4]]},"347":{"position":[[69,4]]},"362":{"position":[[95,4],[109,5],[190,5],[226,5],[276,4],[289,5],[336,4],[349,5],[383,5],[662,4],[675,5],[746,4],[759,5],[798,4],[811,5]]},"368":{"position":[[33,4],[51,5],[74,4],[98,5]]},"373":{"position":[[93,4]]},"374":{"position":[[44,5],[56,5],[71,5],[88,5],[123,5],[153,5],[178,5],[205,5],[229,5],[244,4],[1455,4],[1658,4]]},"377":{"position":[[331,4],[352,4],[1685,4]]},"398":{"position":[[41,4],[54,5],[272,4]]},"411":{"position":[[171,5]]},"412":{"position":[[36,4]]},"421":{"position":[[55,4]]},"423":{"position":[[31,4]]},"424":{"position":[[139,4]]},"427":{"position":[[553,4]]},"429":{"position":[[448,4]]},"430":{"position":[[24,4],[100,4],[108,4]]},"431":{"position":[[87,4]]},"432":{"position":[[162,4]]},"433":{"position":[[55,4],[68,5],[84,4]]},"443":{"position":[[64,4],[77,4]]},"444":{"position":[[64,4]]},"446":{"position":[[92,4]]},"450":{"position":[[29,4]]},"451":{"position":[[80,4]]},"469":{"position":[[163,4],[176,5],[190,4],[203,4]]},"470":{"position":[[52,4],[84,4]]},"496":{"position":[[15,4],[73,4]]},"505":{"position":[[32,4],[188,4]]},"526":{"position":[[18,4]]},"528":{"position":[[36,4]]},"537":{"position":[[41,4]]},"543":{"position":[[28,4]]},"551":{"position":[[24,4],[101,6]]},"553":{"position":[[23,4],[122,5]]},"554":{"position":[[220,5],[418,4]]},"557":{"position":[[583,5],[592,4]]},"559":{"position":[[294,4],[731,4],[822,5]]},"560":{"position":[[46,4],[209,5],[271,5]]},"563":{"position":[[29,4],[126,5]]},"564":{"position":[[23,4],[115,5]]},"565":{"position":[[49,4],[205,5]]},"566":{"position":[[31,4],[44,5],[55,4],[68,5],[326,5],[624,6]]},"567":{"position":[[41,4],[207,5]]},"569":{"position":[[33,4],[164,5]]},"591":{"position":[[38,4],[51,5],[62,4],[75,5]]},"594":{"position":[[37,4],[50,5],[61,4],[74,5]]},"596":{"position":[[38,4],[51,5],[62,4],[75,5]]},"611":{"position":[[38,4],[51,5],[62,4],[75,5],[395,5]]},"612":{"position":[[39,4],[52,5],[63,4],[76,5],[424,5]]},"614":{"position":[[24,4],[37,5],[53,4],[66,5]]},"616":{"position":[[23,4],[36,5],[52,4],[65,5],[510,5]]},"625":{"position":[[0,5],[6,4]]},"631":{"position":[[23,4]]},"633":{"position":[[38,4],[169,4]]},"643":{"position":[[18,4],[208,4],[234,4],[365,5]]},"658":{"position":[[24,4]]},"660":{"position":[[23,4]]},"741":{"position":[[95,4],[109,5],[190,5],[226,5],[276,4],[289,5],[336,4],[349,5],[383,5],[662,4],[675,5],[746,4],[759,5],[798,4],[811,5]]},"747":{"position":[[33,4],[51,5],[74,4],[98,5]]},"752":{"position":[[93,4]]},"753":{"position":[[44,5],[56,5],[71,5],[88,5],[123,5],[153,5],[178,5],[205,5],[229,5],[244,4],[1455,4],[1658,4]]},"756":{"position":[[331,4],[352,4],[1685,4]]},"777":{"position":[[41,4],[54,5],[272,4]]},"790":{"position":[[171,5]]},"791":{"position":[[36,4]]},"800":{"position":[[55,4]]},"802":{"position":[[31,4]]},"803":{"position":[[139,4]]},"806":{"position":[[553,4]]},"808":{"position":[[448,4]]},"809":{"position":[[24,4],[100,4],[108,4]]},"810":{"position":[[87,4]]},"811":{"position":[[162,4]]},"812":{"position":[[55,4],[68,5],[84,4]]},"822":{"position":[[64,4],[77,4]]},"823":{"position":[[64,4]]},"825":{"position":[[92,4]]},"829":{"position":[[29,4]]},"830":{"position":[[80,4]]},"859":{"position":[[79,4],[180,4]]},"900":{"position":[[646,4]]},"912":{"position":[[67,4]]},"991":{"position":[[2987,4]]},"1001":{"position":[[1286,4]]},"1053":{"position":[[605,7],[866,5]]},"1064":{"position":[[1692,4]]},"1069":{"position":[[781,4]]},"1086":{"position":[[316,4],[514,6]]},"1112":{"position":[[2545,5]]},"1121":{"position":[[20,4]]},"1136":{"position":[[5160,5]]},"1138":{"position":[[810,5],[8822,5]]},"1140":{"position":[[436,5],[7748,5]]},"1142":{"position":[[3192,5]]},"1146":{"position":[[3132,5]]},"1148":{"position":[[6172,5]]},"1155":{"position":[[3228,5]]},"1156":{"position":[[2806,5]]},"1161":{"position":[[699,5]]},"1167":{"position":[[8752,5]]},"1181":{"position":[[911,5]]},"1186":{"position":[[4396,5]]},"1187":{"position":[[4409,5]]},"1188":{"position":[[489,5],[9135,5]]},"1191":{"position":[[2996,5]]},"1192":{"position":[[3171,5]]},"1193":{"position":[[531,5],[555,5],[3223,5]]},"1194":{"position":[[227,4],[2863,5]]},"1195":{"position":[[2841,5]]},"1196":{"position":[[2651,5]]},"1197":{"position":[[3634,5]]},"1198":{"position":[[3644,5]]},"1199":{"position":[[3672,5]]},"1200":{"position":[[3539,5]]},"1201":{"position":[[2799,5]]},"1202":{"position":[[3941,5],[8338,5]]},"1203":{"position":[[3033,5]]},"1204":{"position":[[2877,5]]},"1205":{"position":[[4206,5]]},"1206":{"position":[[2677,5]]},"1207":{"position":[[2834,5]]},"1209":{"position":[[4182,5]]},"1217":{"position":[[7493,5]]},"1222":{"position":[[2603,5]]},"1223":{"position":[[2613,5]]},"1226":{"position":[[843,6],[991,5],[5054,5],[5078,5],[7961,5]]},"1228":{"position":[[9574,5]]},"1235":{"position":[[5442,5]]},"1237":{"position":[[1013,6],[1161,5],[5224,5],[5248,5],[8131,5]]},"1345":{"position":[[368,4]]},"1348":{"position":[[56,4],[592,4],[636,4],[868,4],[996,4],[1248,4],[1271,4],[1376,4],[1427,4],[1458,4],[1512,4],[1545,4],[1598,4],[1641,4],[1691,4],[1764,4],[1812,4],[1876,4],[1946,4],[2001,4],[2042,4],[2163,4],[2309,4],[2367,4],[2420,4],[2466,4],[2575,4],[2608,4],[2632,4]]},"1349":{"position":[[67,4],[431,4],[540,4],[651,4],[835,4]]},"1350":{"position":[[59,4],[661,4],[859,4],[905,4],[1014,4],[1076,4],[1232,4],[1432,4],[1486,4],[1646,4],[2128,4],[2208,4],[2281,4],[2360,4],[2413,4],[2456,4],[2506,4],[2579,4],[2627,4],[2691,4],[2761,4],[3120,4],[3166,4],[3211,4],[3326,4],[3495,4],[3535,4],[3579,4],[3613,4],[3806,4]]},"1351":{"position":[[65,4],[542,4],[660,4],[683,4]]},"1352":{"position":[[59,4],[661,4],[859,4],[905,4],[1014,4],[1076,4],[1232,4],[1303,4],[1431,4],[1485,4],[1645,4],[2127,4],[2207,4],[2280,4],[2359,4],[2412,4],[2455,4],[2505,4],[2578,4],[2626,4],[2690,4],[2760,4],[3119,4],[3165,4],[3210,4],[3325,4],[3494,4],[3534,4],[3578,4],[3612,4],[3805,4]]},"1353":{"position":[[72,4],[693,4],[904,4],[939,4],[972,4],[1014,4],[1078,4],[1137,4],[1182,4],[1295,4],[1319,4]]},"1354":{"position":[[73,4],[628,4],[727,4],[785,4],[838,4],[980,4],[1031,4],[1104,4],[1127,4]]},"1355":{"position":[[60,4],[416,4],[649,4],[688,4],[738,4],[956,4],[1205,4],[1235,4],[1258,4],[1377,4],[1428,4],[1459,4],[1489,4],[1538,4],[1579,4],[1636,4],[1703,4],[1814,4],[1872,4],[1925,4],[1971,4],[2053,4],[2086,4],[2142,4]]},"1356":{"position":[[61,4],[438,4],[545,4]]},"1357":{"position":[[61,4],[426,4]]},"1358":{"position":[[65,4],[421,4],[600,4],[706,4],[784,4],[852,4],[912,4]]},"1359":{"position":[[61,4],[416,4],[446,4],[557,4],[687,4],[712,4],[744,4],[773,4],[794,4],[860,4]]},"1360":{"position":[[56,4],[474,4],[526,4],[548,4],[605,4],[627,4],[652,4],[716,4],[746,4],[784,4],[834,4],[884,4],[966,4],[997,4],[1078,4],[1100,4],[1141,4],[1303,4],[1326,4]]},"1361":{"position":[[64,4],[344,4],[438,4],[512,4],[602,4]]},"1362":{"position":[[57,4],[565,4],[686,4],[746,4],[837,4],[876,4],[910,4],[1130,4],[1166,4],[1199,4],[2019,4],[2049,4],[2111,4],[2147,4],[2233,4],[2342,4],[2745,4],[2773,4],[2805,4],[2871,4],[2895,4],[2909,4],[2975,4],[3006,4],[3034,4],[3062,4],[3177,4],[3663,4],[3757,4],[3839,4],[4010,4],[4054,4],[4146,4],[4227,4],[4253,4],[4297,4],[4338,4],[4445,4],[4476,4],[4512,4],[4707,4],[10422,5]]},"1363":{"position":[[57,4],[469,4],[549,4],[594,4],[634,4],[689,4],[721,4],[774,4],[878,4],[1178,4],[1292,4],[1380,4],[1439,4],[1505,4],[1536,4],[1608,4],[1648,4],[1682,4],[1825,4],[1856,4],[1898,4],[1945,4],[2013,4],[2136,4],[2169,4],[2216,4],[2246,4],[2293,4],[2338,4],[2370,4],[2406,4],[2443,4],[2486,4],[2566,4],[2606,4],[2634,4],[2789,4],[2812,4]]},"1364":{"position":[[58,4],[481,4],[618,4],[703,4],[763,4],[854,4],[893,4],[927,4],[1147,4],[1181,4],[2001,4],[2031,4],[2088,4],[2122,4],[2158,4],[2244,4],[2353,4],[2756,4],[2784,4],[2816,4],[2882,4],[2906,4],[2920,4],[2971,4],[2999,4],[3027,4],[3142,4],[3628,4],[3687,4],[3769,4],[3998,4],[4131,4],[4212,4],[4238,4],[4282,4],[4368,4],[4512,4],[4543,4],[4579,4],[4628,4],[4804,4],[11536,5]]},"1365":{"position":[[58,4],[490,4],[524,4],[646,4],[672,4],[783,4]]},"1366":{"position":[[59,4],[382,4],[423,4],[550,4],[579,4],[838,4]]},"1367":{"position":[[55,4],[467,4],[547,4],[592,4],[647,4],[679,4],[732,4],[836,4],[1297,4],[1411,4],[1448,4],[1587,4],[1620,4],[1680,4],[1747,4],[1778,4],[1868,4],[1907,4],[1941,4],[2228,4],[2264,4],[2285,4],[2329,4],[3153,4],[3210,4],[3240,4],[3302,4],[3338,4],[3424,4],[3551,4],[3619,4],[4045,4],[4073,4],[4105,4],[4171,4],[4195,4],[4209,4],[4260,4],[4309,4],[4424,4],[4910,4],[4969,4],[5051,4],[5096,4],[5267,4],[5300,4],[5336,4],[5391,4],[5434,4],[5545,4],[5594,4],[5618,4],[5641,4],[5722,4],[5774,4],[5838,4],[5879,4],[5986,4],[6017,4],[6053,4],[6084,4],[6122,4],[6167,4],[6205,4],[6264,4],[6301,4],[6575,4],[6598,4],[11339,5]]},"1368":{"position":[[60,4],[355,4],[391,4],[488,4],[572,4],[721,4],[753,4],[795,4],[960,4],[1018,4],[1052,4],[1083,4],[1156,4],[1201,4],[1234,4],[1259,4],[1298,4],[1359,4],[1397,4],[1428,4],[1464,4]]},"1369":{"position":[[64,4],[445,4],[516,4]]},"1370":{"position":[[71,4],[489,4],[566,4],[590,4],[2710,4]]},"1371":{"position":[[62,4],[392,4]]},"1372":{"position":[[59,4],[471,4],[551,4],[596,4],[651,4],[683,4],[736,4],[806,4],[1143,4],[1257,4],[1282,4],[1347,4],[1378,4],[1482,4],[1518,4],[1582,4],[1690,4],[1782,4],[1834,4],[1871,4],[2030,4]]},"1373":{"position":[[56,4],[386,4],[555,4],[711,4],[750,4],[784,4],[863,4],[915,4],[948,4],[1034,4],[1188,4],[1274,4],[1685,4],[1717,4],[1783,4],[1807,4],[1821,4],[1869,4],[1965,4],[1995,4],[2450,4],[2516,4],[2673,4],[2733,4],[6007,4]]},"1374":{"position":[[58,4],[477,4],[523,4],[654,4]]},"1375":{"position":[[59,4],[428,4]]},"1376":{"position":[[64,4],[384,4]]},"1377":{"position":[[61,4],[393,4],[464,4],[497,4],[571,4],[623,4]]},"1378":{"position":[[63,4],[370,4]]},"1379":{"position":[[61,4],[393,4]]},"1380":{"position":[[60,4],[408,4],[480,4],[514,4]]},"1381":{"position":[[59,4],[466,4],[649,4]]},"1382":{"position":[[55,4],[391,4],[546,4],[759,4],[798,4],[832,4],[911,4],[1059,4],[1166,4],[1227,4],[1313,4],[1739,4],[1767,4],[1831,4],[1897,4],[1921,4],[1935,4],[2005,4],[2051,4],[2082,4],[2110,4],[2653,4],[2719,4],[2919,4],[2979,4],[7148,5]]},"1383":{"position":[[56,4],[476,4],[533,4],[555,4],[580,4],[644,4],[674,4],[712,4],[762,4],[844,4],[875,4],[956,4],[978,4],[1019,4],[1137,4],[1161,4],[1184,4]]},"1384":{"position":[[56,4],[431,4],[493,4],[553,4],[700,4],[739,4],[773,4],[852,4],[944,4],[1815,4],[1845,4],[1902,4],[1936,4],[2022,4],[2495,4],[2523,4],[2555,4],[2621,4],[2645,4],[2659,4],[2710,4],[2738,4],[2766,4],[2897,4],[3352,4],[3446,4],[3652,4],[3748,4],[3829,4],[3872,4],[3958,4],[3999,4],[4086,4],[4222,4],[4282,4],[13502,5]]},"1385":{"position":[[62,4],[345,4],[465,4],[504,4],[538,4],[622,4],[683,4],[769,4],[1640,4],[1671,4],[1808,4],[1831,4]]},"1386":{"position":[[67,4],[415,4],[528,4],[551,4]]},"1387":{"position":[[65,4],[455,4],[567,4],[600,4],[660,4],[807,4],[846,4],[880,4],[1023,4],[1894,4],[1924,4],[1986,4],[2072,4],[2497,4],[2529,4],[2595,4],[2619,4],[2633,4],[2684,4],[2712,4],[2864,4],[3319,4],[3378,4],[3584,4],[3680,4],[3761,4],[3862,4],[3903,4],[3951,4],[3980,4],[4116,4],[4176,4]]},"1388":{"position":[[53,4],[503,4],[679,4],[892,4],[931,4],[965,4],[1044,4],[1217,4],[1324,4],[1351,4],[1412,4],[1498,4],[1924,4],[1952,4],[2016,4],[2082,4],[2106,4],[2120,4],[2190,4],[2236,4],[2267,4],[2295,4],[2838,4],[2904,4],[3001,4],[3024,4],[3133,4],[3213,4],[3292,4],[3351,4],[3386,4],[3446,4],[8017,5]]},"1389":{"position":[[58,4],[384,4],[642,4],[712,4],[746,4],[824,4],[912,4],[1002,4],[1034,4],[1068,4],[1186,4],[1253,4],[1344,4],[1373,4],[1405,4],[1548,4],[1620,4],[1726,4],[1802,4],[1912,4],[1983,4],[2078,4],[2117,4],[2366,4],[2430,4],[2500,4],[2789,4],[2841,4],[2957,4],[3108,4],[3139,4],[3284,4],[3342,4],[3410,4],[3820,4],[4107,4],[4148,4],[4194,4],[4276,4],[4361,4],[4411,4]]},"1390":{"position":[[53,4],[401,4],[560,4]]},"1391":{"position":[[54,4],[402,4],[561,4]]},"1392":{"position":[[51,4],[399,4],[573,4],[596,4]]},"1393":{"position":[[55,4],[355,4],[489,4],[526,4],[597,4],[750,4],[787,4],[1025,4],[1058,4],[1081,4]]},"1394":{"position":[[64,4],[489,4],[523,4]]},"1395":{"position":[[59,4],[550,4],[574,4],[640,4],[663,4]]},"1396":{"position":[[64,4],[455,4],[489,4]]},"1397":{"position":[[59,4],[507,4],[537,4],[614,4],[655,4]]},"1398":{"position":[[56,4],[504,4],[534,4],[816,4],[911,4],[934,4],[1106,4]]},"1399":{"position":[[56,4],[404,4],[474,4],[495,4],[516,4],[539,4]]},"1400":{"position":[[65,4],[426,4],[497,4]]},"1401":{"position":[[54,4],[418,4],[527,4]]},"1402":{"position":[[53,4],[517,4],[660,4]]},"1403":{"position":[[52,4],[447,4],[504,4],[526,4],[551,4],[615,4],[645,4],[683,4],[758,4],[786,4],[869,4],[900,4],[981,4],[1003,4],[1044,4],[1162,4],[1186,4],[1209,4]]},"1404":{"position":[[54,4],[428,4],[520,4]]},"1405":{"position":[[54,4],[540,4],[636,4],[683,4],[796,4],[824,4],[883,4],[909,4],[1076,4],[2281,4],[3331,4]]},"1406":{"position":[[64,4],[468,4]]},"1407":{"position":[[64,4],[567,4],[663,4],[710,4],[823,4],[851,4],[910,4],[936,4],[1103,4],[2702,4],[3752,4]]},"1408":{"position":[[55,4],[356,4],[416,4],[657,4],[704,4],[812,4],[842,4],[886,4],[2371,4]]},"1409":{"position":[[54,4],[355,4],[523,4]]},"1410":{"position":[[52,4],[355,4],[663,4],[751,4],[790,4],[837,4],[948,4],[1000,4],[1028,4],[1087,4],[1117,4],[1143,4],[1193,4],[1216,4],[1325,4],[1406,4],[1429,4],[1509,4],[1532,4],[2724,4],[4739,4]]},"1411":{"position":[[59,4],[407,4],[506,4]]},"1412":{"position":[[59,4],[585,4],[777,4],[800,4],[879,4],[909,4],[958,4],[999,4],[1056,4],[1215,4],[1268,4],[1314,4],[1396,4],[1419,4]]},"1413":{"position":[[56,4],[619,4],[658,4],[707,4],[923,4],[946,4],[1025,4],[1055,4],[1104,4],[1145,4],[1202,4],[1361,4],[1445,4],[1491,4],[1584,4],[1625,4],[1655,4],[1693,4],[1731,4],[1758,4],[1793,4],[1842,4],[1890,4]]},"1414":{"position":[[55,4],[453,4],[757,4]]},"1415":{"position":[[59,4],[545,4],[584,4],[618,4],[697,4],[756,4],[812,4],[870,4],[904,4],[990,4],[1401,4],[1433,4],[1499,4],[1523,4],[1537,4],[1585,4],[2106,4],[2172,4],[2318,4],[2372,4],[2432,4]]},"1416":{"position":[[59,4],[520,4],[569,4],[832,4],[898,4],[922,4],[936,4],[1002,4],[1030,4],[1081,4],[1107,4],[1292,4]]},"1417":{"position":[[57,4],[490,4],[539,4],[636,4],[663,4],[766,4],[980,4]]},"1418":{"position":[[60,4],[462,4],[511,4],[615,4],[681,4]]},"1419":{"position":[[56,4],[464,4],[513,4],[705,4],[809,4]]},"1420":{"position":[[60,4],[493,4],[787,4],[1000,4]]},"1421":{"position":[[69,4],[458,4],[929,4]]},"1422":{"position":[[57,4],[405,4],[519,4],[541,4],[565,4],[595,4],[645,4],[718,4]]},"1423":{"position":[[54,4],[402,4],[430,4],[500,4],[522,4],[546,4],[619,4]]},"1424":{"position":[[56,4],[453,4],[510,4],[532,4],[557,4],[621,4],[653,4],[703,4],[785,4],[816,4],[900,4],[1018,4],[1042,4],[1065,4]]},"1425":{"position":[[70,4],[453,4],[681,4]]},"1426":{"position":[[56,4],[553,4],[592,4],[791,4],[822,4],[858,4],[881,4]]},"1427":{"position":[[57,4],[384,4],[589,4],[807,4],[964,4],[994,4],[1017,4],[1096,4],[1126,4],[1175,4],[1216,4],[1273,4],[1432,4],[1485,4],[1531,4],[1613,4],[1668,4]]},"1428":{"position":[[56,4],[439,4],[663,4]]},"1429":{"position":[[54,4],[624,4],[879,4],[918,4],[967,4],[1148,4],[1170,4],[1228,4],[1251,4],[1330,4],[1360,4],[1409,4],[1450,4],[1507,4],[1571,4],[1594,4],[1703,4],[1832,4],[1887,4],[1940,4],[1986,4],[2046,4],[2102,4],[2143,4],[2173,4],[2211,4],[2250,4],[2288,4],[2315,4],[2357,4],[2392,4],[2441,4],[2489,4]]},"1430":{"position":[[61,4],[406,4],[624,4],[776,4],[799,4],[899,4],[929,4],[978,4],[1019,4],[1076,4],[1235,4],[1288,4],[1334,4],[1416,4],[1439,4]]},"1431":{"position":[[54,4],[413,4],[472,4],[582,4],[655,4],[699,4],[783,4]]},"1432":{"position":[[62,4],[500,4],[559,4],[632,4],[654,4],[679,4],[743,4],[775,4],[825,4],[923,4],[954,4],[1038,4],[1281,4],[1304,4]]},"1433":{"position":[[55,4],[352,4],[464,4],[503,4],[536,4],[630,4],[679,4],[707,4],[825,4]]},"1434":{"position":[[57,4],[499,4]]},"1435":{"position":[[62,4],[463,4]]},"1436":{"position":[[58,4],[479,4]]},"1437":{"position":[[55,4],[549,4]]},"1438":{"position":[[53,4],[401,4],[522,4]]},"1439":{"position":[[59,4],[386,4],[619,4],[663,4],[881,4],[1130,4],[1160,4],[1183,4],[1332,4],[1362,4],[1411,4],[1452,4],[1509,4],[1668,4],[1721,4],[1767,4],[1849,4],[1882,4],[1938,4]]},"1440":{"position":[[56,4],[654,4],[698,4],[953,4],[992,4],[1041,4],[1301,4],[1359,4],[1382,4],[1531,4],[1561,4],[1610,4],[1651,4],[1708,4],[1772,4],[1795,4],[1904,4],[2033,4],[2117,4],[2163,4],[2256,4],[2297,4],[2327,4],[2365,4],[2404,4],[2442,4],[2469,4],[2511,4],[2546,4],[2595,4],[2629,4],[2677,4]]},"1441":{"position":[[61,4],[409,4],[505,4]]},"1442":{"position":[[62,4],[420,4],[483,4]]},"1443":{"position":[[55,4],[403,4],[534,4],[565,4],[591,4],[667,4],[690,4]]},"1444":{"position":[[56,4],[339,4],[433,4],[606,4]]},"1445":{"position":[[59,4],[405,4]]},"1446":{"position":[[56,4],[404,4],[559,4]]},"1447":{"position":[[58,4],[396,4],[455,4],[554,4],[592,4],[621,4]]},"1448":{"position":[[57,4],[424,4],[520,4],[675,4],[844,4],[899,4],[922,4]]},"1449":{"position":[[58,4],[514,4],[786,4],[841,4],[864,4]]},"1450":{"position":[[57,4],[424,4],[520,4],[675,4],[791,4],[846,4],[869,4]]},"1451":{"position":[[57,4],[424,4],[520,4],[675,4],[791,4],[846,4],[869,4]]},"1452":{"position":[[53,4],[415,4]]},"1453":{"position":[[69,4],[496,4],[642,4],[797,4],[841,4],[864,4]]},"1454":{"position":[[65,4],[406,4],[525,4],[1346,4],[1386,4],[1437,4],[1713,4],[1769,4],[1819,4],[1869,4],[1923,4],[2167,4],[2191,4],[2219,4],[2251,4],[2294,4],[2335,4],[2842,4],[2910,4],[2972,4],[3030,4],[3092,4],[3158,4],[3205,4]]},"1455":{"position":[[71,4],[444,4],[1014,4],[1082,4]]},"1456":{"position":[[68,4],[431,4],[502,4]]},"1457":{"position":[[64,4],[412,4],[555,4],[578,4]]},"1458":{"position":[[57,4],[384,4],[578,4],[681,4],[759,4],[870,4],[893,4]]},"1459":{"position":[[68,4],[416,4],[573,4]]},"1460":{"position":[[67,4],[413,4],[525,4],[575,4],[718,4],[784,4]]},"1461":{"position":[[68,4],[576,4],[621,4],[851,4],[3567,4],[3684,4]]},"1462":{"position":[[58,4],[543,4],[634,4],[727,4],[809,4],[1008,4],[1042,4],[1089,4],[1129,4],[1163,4],[1242,4],[1350,4],[1453,4],[1531,4],[1587,4],[1648,4],[1734,4],[2195,4],[2223,4],[2287,4],[2353,4],[2377,4],[2391,4],[2461,4],[2507,4],[2538,4],[2669,4],[2700,4],[2729,4],[2762,4],[2803,4],[2882,4],[2948,4],[2975,4],[3001,4],[3507,4],[3615,4],[3725,4],[3780,4],[3911,4],[4147,4],[4210,4],[4234,4]]},"1463":{"position":[[68,4],[421,4],[506,4]]},"1464":{"position":[[69,4],[414,4]]},"1465":{"position":[[59,4],[478,4],[563,4],[602,4],[774,4],[988,4],[1165,4],[1202,4],[1281,4],[1354,4],[1378,4]]},"1466":{"position":[[72,4],[548,4],[584,4],[607,4],[716,4],[750,4]]},"1467":{"position":[[56,4],[701,4],[794,4],[876,4],[1075,4],[1109,4],[1156,4],[1196,4],[1230,4],[1309,4],[1417,4],[1589,4],[1667,4],[1723,4],[1784,4],[1870,4],[1909,4],[2370,4],[2398,4],[2462,4],[2528,4],[2552,4],[2566,4],[2636,4],[2682,4],[2713,4],[2853,4],[2882,4],[2915,4],[2956,4],[3035,4],[3084,4],[3152,4],[3179,4],[3205,4],[3776,4],[3884,4],[3994,4],[4056,4],[4079,4],[4188,4],[4215,4],[4341,4],[4370,4],[4404,4],[4633,4],[4705,4],[4742,4],[4821,4],[4931,4],[4955,4]]},"1468":{"position":[[63,4],[411,4],[514,4]]},"1469":{"position":[[56,4],[426,4],[495,4],[517,4],[541,4],[563,4],[602,4],[625,4]]},"1470":{"position":[[61,4],[688,4],[727,4],[777,4],[1032,4],[1071,4],[1365,4],[1387,4],[1445,4],[1468,4],[1587,4],[1683,4],[1759,4],[1789,4],[1838,4],[1879,4],[1959,4],[1992,4],[2059,4],[2093,4],[2116,4],[2225,4],[2333,4],[2373,4],[2431,4],[2555,4],[2639,4],[2685,4],[2778,4],[2819,4],[2849,4],[2887,4],[2926,4],[2964,4],[2991,4],[3033,4],[3068,4],[3117,4],[3151,4],[3251,4]]},"1471":{"position":[[56,4],[475,4],[605,4],[673,4],[701,4],[740,4],[774,4],[820,4],[990,4],[1097,4],[1129,4],[1195,4],[1219,4],[1233,4],[1303,4],[1331,4],[1617,4],[1640,4]]},"1472":{"position":[[57,4],[508,4],[576,4],[607,4],[635,4],[674,4],[708,4],[815,4],[929,4],[955,4],[1087,4],[1194,4],[1482,4],[1543,4],[1578,4],[1601,4]]},"1473":{"position":[[54,4],[636,4],[704,4],[732,4],[771,4],[805,4],[851,4],[1042,4],[1149,4],[1181,4],[1247,4],[1271,4],[1285,4],[1355,4],[1383,4],[1530,4],[1553,4],[1662,4],[1864,4],[1887,4]]},"1474":{"position":[[58,4],[403,4],[621,4],[773,4],[796,4],[875,4],[905,4],[954,4],[995,4],[1052,4],[1211,4],[1264,4],[1310,4],[1392,4],[1415,4]]},"1475":{"position":[[55,4],[400,4],[655,4],[694,4],[743,4],[919,4],[942,4],[1021,4],[1051,4],[1100,4],[1141,4],[1198,4],[1357,4],[1441,4],[1487,4],[1580,4],[1621,4],[1651,4],[1689,4],[1727,4],[1754,4],[1789,4],[1838,4],[1886,4]]},"1476":{"position":[[61,4],[409,4],[491,4]]},"1477":{"position":[[54,4],[463,4],[592,4]]},"1478":{"position":[[52,4],[491,4],[612,4],[644,4],[689,4],[712,4],[821,4],[954,4],[992,4],[1014,4],[1037,4]]},"1479":{"position":[[69,4],[417,4],[469,4],[583,4]]},"1480":{"position":[[58,4],[345,4],[470,4],[696,4],[815,4],[879,4],[915,4],[973,4],[996,4]]},"1481":{"position":[[60,4],[355,4],[391,4],[447,4],[594,4],[802,4],[833,4],[903,4],[1061,4],[1115,4],[1400,4],[1529,4]]},"1482":{"position":[[55,4],[403,4],[500,4]]},"1483":{"position":[[60,4],[380,4]]},"1484":{"position":[[60,4],[408,4],[509,4]]},"1485":{"position":[[61,4],[404,4],[658,4]]},"1486":{"position":[[56,4],[461,4],[507,4],[584,4],[632,4],[660,4],[684,4]]},"1487":{"position":[[53,4],[431,4],[626,4]]}},"keywords":{}}],["none(nonetyp",{"_index":4340,"title":{},"content":{"898":{"position":[[2137,15]]}},"keywords":{}}],["none.th",{"_index":4366,"title":{},"content":{"900":{"position":[[672,8]]}},"keywords":{}}],["noneal",{"_index":7997,"title":{},"content":{"1429":{"position":[[4401,7]]},"1440":{"position":[[4394,7]]}},"keywords":{}}],["nonetheless",{"_index":5522,"title":{},"content":{"1075":{"position":[[257,12]]}},"keywords":{}}],["nonetyp",{"_index":4871,"title":{},"content":{"983":{"position":[[144,10]]}},"keywords":{}}],["nonexist",{"_index":4440,"title":{},"content":{"907":{"position":[[129,11]]}},"keywords":{}}],["nop",{"_index":7019,"title":{},"content":{"1370":{"position":[[2766,3]]}},"keywords":{}}],["norm",{"_index":5501,"title":{},"content":{"1072":{"position":[[307,5]]}},"keywords":{}}],["normal",{"_index":764,"title":{"866":{"position":[[32,6]]}},"content":{"23":{"position":[[2829,6]]},"283":{"position":[[103,6]]},"400":{"position":[[281,6]]},"407":{"position":[[113,8]]},"462":{"position":[[105,6]]},"693":{"position":[[9946,9]]},"710":{"position":[[363,6]]},"711":{"position":[[88,6]]},"779":{"position":[[281,6]]},"786":{"position":[[113,8]]},"835":{"position":[[235,6]]},"847":{"position":[[135,6]]},"866":{"position":[[45,6],[234,6]]},"870":{"position":[[353,6]]},"887":{"position":[[72,6]]},"890":{"position":[[2756,6]]},"987":{"position":[[602,6]]},"991":{"position":[[3225,6]]},"1024":{"position":[[655,7]]},"1026":{"position":[[804,6]]},"1042":{"position":[[265,6]]},"1044":{"position":[[2137,6],[2792,6]]},"1045":{"position":[[49,6]]},"1053":{"position":[[1227,9]]},"1057":{"position":[[529,7]]},"1093":{"position":[[139,7]]},"1105":{"position":[[1504,9]]},"1136":{"position":[[3736,9]]},"1138":{"position":[[7398,9]]},"1140":{"position":[[6324,9]]},"1142":{"position":[[1768,9]]},"1146":{"position":[[1708,9]]},"1148":{"position":[[4748,9]]},"1155":{"position":[[1804,9]]},"1156":{"position":[[1382,9]]},"1167":{"position":[[7328,9]]},"1169":{"position":[[1167,9]]},"1186":{"position":[[2972,9]]},"1187":{"position":[[2985,9]]},"1188":{"position":[[7711,9]]},"1191":{"position":[[1572,9]]},"1192":{"position":[[1747,9]]},"1193":{"position":[[1799,9]]},"1194":{"position":[[1439,9]]},"1195":{"position":[[1417,9]]},"1196":{"position":[[1227,9]]},"1197":{"position":[[2210,9]]},"1198":{"position":[[2220,9]]},"1199":{"position":[[2248,9]]},"1200":{"position":[[2115,9]]},"1201":{"position":[[1375,9]]},"1202":{"position":[[2517,9],[6914,9]]},"1203":{"position":[[1609,9]]},"1204":{"position":[[1453,9]]},"1205":{"position":[[2782,9]]},"1206":{"position":[[1253,9]]},"1207":{"position":[[1410,9]]},"1209":{"position":[[2758,9]]},"1217":{"position":[[6069,9]]},"1219":{"position":[[2055,9]]},"1222":{"position":[[1179,9]]},"1223":{"position":[[1189,9]]},"1224":{"position":[[1369,9]]},"1226":{"position":[[6537,9]]},"1228":{"position":[[1641,8],[2270,8],[8150,9]]},"1235":{"position":[[4018,9]]},"1237":{"position":[[6707,9]]},"1348":{"position":[[3809,8]]},"1364":{"position":[[6780,6]]},"1384":{"position":[[5825,6]]},"1422":{"position":[[2179,8],[3274,9]]},"1426":{"position":[[2315,9]]},"1446":{"position":[[1700,8],[1967,8]]},"1454":{"position":[[4673,6]]},"1455":{"position":[[2321,6]]},"1459":{"position":[[1940,8]]},"1467":{"position":[[8474,8],[8768,6]]},"1473":{"position":[[3930,6]]},"1482":{"position":[[1716,6]]}},"keywords":{}}],["notabl",{"_index":4879,"title":{},"content":{"987":{"position":[[184,8]]},"1082":{"position":[[1316,8]]},"1084":{"position":[[27,8]]}},"keywords":{}}],["note",{"_index":417,"title":{"1034":{"position":[[6,5]]}},"content":{"13":{"position":[[85,4]]},"17":{"position":[[720,5],[786,4]]},"23":{"position":[[123,4]]},"65":{"position":[[169,4]]},"66":{"position":[[161,4]]},"89":{"position":[[607,4]]},"94":{"position":[[1505,4]]},"126":{"position":[[506,4]]},"221":{"position":[[607,4]]},"226":{"position":[[1505,4]]},"249":{"position":[[506,4]]},"277":{"position":[[627,4]]},"280":{"position":[[111,4]]},"282":{"position":[[736,4]]},"288":{"position":[[95,4]]},"289":{"position":[[115,4]]},"297":{"position":[[600,4]]},"298":{"position":[[2220,4]]},"301":{"position":[[864,4]]},"309":{"position":[[867,4]]},"310":{"position":[[780,4]]},"334":{"position":[[424,4]]},"345":{"position":[[628,4]]},"346":{"position":[[415,4]]},"406":{"position":[[494,4]]},"416":{"position":[[238,4],[1035,4]]},"417":{"position":[[467,4],[1183,4]]},"438":{"position":[[119,4]]},"453":{"position":[[169,4]]},"454":{"position":[[161,4]]},"474":{"position":[[163,4]]},"510":{"position":[[121,4]]},"511":{"position":[[141,4]]},"575":{"position":[[212,4]]},"581":{"position":[[730,4]]},"584":{"position":[[542,5]]},"622":{"position":[[94,4]]},"682":{"position":[[163,4]]},"687":{"position":[[9,4]]},"688":{"position":[[217,4]]},"689":{"position":[[236,4]]},"692":{"position":[[81,4]]},"705":{"position":[[1000,4]]},"706":{"position":[[1535,4]]},"710":{"position":[[282,5]]},"713":{"position":[[16,4]]},"715":{"position":[[1931,4]]},"785":{"position":[[494,4]]},"795":{"position":[[238,4],[1035,4]]},"796":{"position":[[467,4],[1183,4]]},"817":{"position":[[119,4]]},"833":{"position":[[417,5]]},"840":{"position":[[83,5]]},"841":{"position":[[399,4]]},"851":{"position":[[1543,4]]},"861":{"position":[[889,4]]},"866":{"position":[[257,4]]},"888":{"position":[[748,4]]},"890":{"position":[[1344,4],[3853,4]]},"897":{"position":[[0,4]]},"898":{"position":[[173,4]]},"907":{"position":[[339,4]]},"908":{"position":[[0,4]]},"919":{"position":[[1691,5]]},"941":{"position":[[335,4]]},"942":{"position":[[1748,5]]},"944":{"position":[[985,5]]},"946":{"position":[[0,5]]},"950":{"position":[[1042,4]]},"957":{"position":[[0,5]]},"980":{"position":[[0,5]]},"991":{"position":[[227,5],[672,5],[2690,4]]},"995":{"position":[[485,4]]},"1001":{"position":[[525,4]]},"1006":{"position":[[1190,4]]},"1015":{"position":[[165,4]]},"1026":{"position":[[532,4]]},"1037":{"position":[[478,6]]},"1064":{"position":[[623,4]]},"1067":{"position":[[653,4]]},"1068":{"position":[[3,6]]},"1070":{"position":[[495,4],[803,4]]},"1071":{"position":[[3,5]]},"1082":{"position":[[1084,4],[1270,4]]},"1083":{"position":[[918,4],[1039,4]]},"1087":{"position":[[120,4]]},"1102":{"position":[[727,5],[978,4]]},"1103":{"position":[[978,4]]},"1112":{"position":[[1091,4],[3036,4]]},"1113":{"position":[[61,4]]},"1120":{"position":[[882,5]]},"1132":{"position":[[298,5]]},"1138":{"position":[[3473,4]]},"1140":{"position":[[2962,4]]},"1150":{"position":[[319,4]]},"1163":{"position":[[22,4]]},"1167":{"position":[[3966,4]]},"1188":{"position":[[3015,4]]},"1217":{"position":[[2707,4]]},"1228":{"position":[[4788,4]]},"1231":{"position":[[392,4]]},"1232":{"position":[[3183,4]]},"1240":{"position":[[454,5]]},"1247":{"position":[[595,4]]},"1348":{"position":[[3919,5]]},"1351":{"position":[[2868,4],[4634,4]]},"1353":{"position":[[2500,4]]},"1355":{"position":[[6439,5]]},"1362":{"position":[[5106,5]]},"1364":{"position":[[5133,5]]},"1382":{"position":[[5269,5]]},"1383":{"position":[[4512,4],[4628,4],[5919,4],[8734,4]]},"1384":{"position":[[6697,4],[20239,4]]},"1386":{"position":[[4124,4]]},"1387":{"position":[[6778,5]]},"1388":{"position":[[5963,5]]},"1393":{"position":[[2824,5],[3644,5],[5381,5],[5465,5]]},"1397":{"position":[[1986,5]]},"1403":{"position":[[4515,4],[5807,4],[6111,4],[7476,4],[8863,4]]},"1410":{"position":[[4490,5]]},"1415":{"position":[[5597,4]]},"1427":{"position":[[4078,4],[5611,5]]},"1439":{"position":[[6227,4],[7520,5]]},"1442":{"position":[[2259,5]]},"1446":{"position":[[2452,6]]},"1448":{"position":[[2721,5]]},"1449":{"position":[[2655,5]]},"1454":{"position":[[5401,4]]},"1461":{"position":[[1909,5],[2731,4]]},"1462":{"position":[[6533,4],[7593,4]]},"1467":{"position":[[7648,4]]},"1469":{"position":[[832,4]]},"1471":{"position":[[5614,5]]},"1472":{"position":[[6500,5]]},"1473":{"position":[[5785,5]]},"1478":{"position":[[2701,5]]},"1482":{"position":[[1558,4],[1838,4]]},"1486":{"position":[[5296,4]]},"1487":{"position":[[2690,4]]}},"keywords":{}}],["noth",{"_index":199,"title":{"1233":{"position":[[22,8]]}},"content":{"9":{"position":[[637,7]]},"237":{"position":[[619,7]]},"1172":{"position":[[1092,7]]},"1173":{"position":[[392,7]]},"1174":{"position":[[296,7]]},"1175":{"position":[[316,7]]},"1176":{"position":[[400,7]]},"1177":{"position":[[312,7]]},"1178":{"position":[[466,7]]},"1179":{"position":[[332,7]]},"1180":{"position":[[662,7]]},"1181":{"position":[[417,7]]},"1182":{"position":[[354,7]]},"1183":{"position":[[309,7]]},"1232":{"position":[[3481,7]]},"1233":{"position":[[50,7]]},"1241":{"position":[[27,8]]},"1286":{"position":[[219,7]]},"1458":{"position":[[2195,7]]}},"keywords":{}}],["notic",{"_index":6876,"title":{},"content":{"1363":{"position":[[4066,7]]}},"keywords":{}}],["notifi",{"_index":5473,"title":{},"content":{"1067":{"position":[[255,8]]}},"keywords":{}}],["notsupported—although",{"_index":2620,"title":{},"content":{"575":{"position":[[132,21]]}},"keywords":{}}],["now",{"_index":354,"title":{"422":{"position":[[0,4]]},"801":{"position":[[0,4]]},"998":{"position":[[13,4]]}},"content":{"10":{"position":[[1193,3]]},"18":{"position":[[1650,4]]},"19":{"position":[[11,3]]},"402":{"position":[[1092,3]]},"422":{"position":[[4,5],[120,5]]},"446":{"position":[[182,3]]},"513":{"position":[[121,3],[127,5]]},"514":{"position":[[115,3],[121,5]]},"638":{"position":[[310,3]]},"663":{"position":[[324,3],[1016,3]]},"781":{"position":[[1092,3]]},"801":{"position":[[4,5],[120,5]]},"825":{"position":[[182,3]]},"860":{"position":[[220,5]]},"864":{"position":[[948,5],[1023,5],[1435,5]]},"886":{"position":[[258,3],[280,3]]},"898":{"position":[[214,3],[544,3],[2715,3]]},"901":{"position":[[286,3],[970,3]]},"902":{"position":[[299,3]]},"919":{"position":[[2410,3]]},"924":{"position":[[1831,3]]},"966":{"position":[[627,3]]},"970":{"position":[[4,4]]},"977":{"position":[[636,4]]},"981":{"position":[[347,3]]},"1009":{"position":[[587,3],[657,3]]},"1048":{"position":[[967,3]]},"1102":{"position":[[925,3]]},"1105":{"position":[[949,3],[1910,3],[1999,3]]},"1172":{"position":[[1895,3]]},"1471":{"position":[[3377,5]]},"1472":{"position":[[3961,5]]},"1473":{"position":[[3411,5]]}},"keywords":{}}],["now.elapsed_milli",{"_index":2487,"title":{},"content":{"513":{"position":[[142,20],[210,20]]}},"keywords":{}}],["now.elapsed_sec",{"_index":2491,"title":{},"content":{"514":{"position":[[136,18],[202,18]]}},"keywords":{}}],["nth",{"_index":4007,"title":{},"content":{"866":{"position":[[193,3]]}},"keywords":{}}],["null",{"_index":5822,"title":{},"content":{"1127":{"position":[[834,5]]},"1172":{"position":[[2213,4]]}},"keywords":{}}],["num",{"_index":5928,"title":{},"content":{"1138":{"position":[[2203,3]]},"1140":{"position":[[1692,3]]},"1167":{"position":[[2696,3]]},"1188":{"position":[[1745,3]]},"1217":{"position":[[1437,3]]},"1226":{"position":[[5102,3]]},"1228":{"position":[[3518,3]]},"1237":{"position":[[5272,3]]}},"keywords":{}}],["number",{"_index":83,"title":{},"content":{"5":{"position":[[114,6]]},"9":{"position":[[1478,7],[1847,6]]},"10":{"position":[[211,6]]},"23":{"position":[[61,6],[3317,6]]},"40":{"position":[[179,7]]},"99":{"position":[[788,7]]},"173":{"position":[[179,7]]},"231":{"position":[[788,7]]},"363":{"position":[[467,6]]},"366":{"position":[[297,6]]},"367":{"position":[[323,6]]},"368":{"position":[[2367,6]]},"372":{"position":[[238,6]]},"373":{"position":[[234,6]]},"374":{"position":[[480,6]]},"375":{"position":[[176,6]]},"377":{"position":[[544,6]]},"379":{"position":[[243,6]]},"386":{"position":[[391,6]]},"389":{"position":[[1649,6]]},"396":{"position":[[328,6]]},"398":{"position":[[198,6]]},"399":{"position":[[201,6]]},"567":{"position":[[164,8]]},"591":{"position":[[120,6],[214,6]]},"595":{"position":[[725,6],[748,6]]},"610":{"position":[[332,6]]},"614":{"position":[[241,6]]},"616":{"position":[[859,6]]},"636":{"position":[[365,6]]},"644":{"position":[[110,7],[584,6]]},"647":{"position":[[54,6]]},"651":{"position":[[78,6]]},"690":{"position":[[3053,6]]},"742":{"position":[[467,6]]},"745":{"position":[[297,6]]},"746":{"position":[[323,6]]},"747":{"position":[[2367,6]]},"751":{"position":[[238,6]]},"752":{"position":[[234,6]]},"753":{"position":[[480,6]]},"754":{"position":[[176,6]]},"756":{"position":[[544,6]]},"758":{"position":[[243,6]]},"765":{"position":[[391,6]]},"768":{"position":[[1649,6]]},"775":{"position":[[328,6]]},"777":{"position":[[198,6]]},"778":{"position":[[201,6]]},"890":{"position":[[6264,6]]},"919":{"position":[[2734,6]]},"937":{"position":[[846,6],[902,6],[1762,6]]},"955":{"position":[[164,6]]},"1052":{"position":[[1277,6]]},"1061":{"position":[[138,6]]},"1068":{"position":[[94,6]]},"1112":{"position":[[2370,6],[4971,6]]},"1113":{"position":[[174,6]]},"1138":{"position":[[2231,6]]},"1140":{"position":[[1720,6]]},"1167":{"position":[[834,7],[2724,6]]},"1188":{"position":[[1773,6]]},"1217":{"position":[[1465,6]]},"1226":{"position":[[5130,6]]},"1228":{"position":[[1776,6],[3546,6]]},"1237":{"position":[[5300,6]]},"1386":{"position":[[1804,6]]},"1395":{"position":[[2148,6]]},"1446":{"position":[[1875,6],[1940,6]]},"1486":{"position":[[2221,6]]}},"keywords":{}}],["number.static_link",{"_index":8209,"title":{},"content":{"1455":{"position":[[3801,19]]}},"keywords":{}}],["number.static_pic_link",{"_index":8211,"title":{},"content":{"1455":{"position":[[4200,23]]}},"keywords":{}}],["numer",{"_index":2784,"title":{},"content":{"592":{"position":[[177,7]]},"595":{"position":[[873,7],[1326,7]]}},"keywords":{}}],["o",{"_index":3517,"title":{},"content":{"693":{"position":[[410,1]]},"919":{"position":[[2659,1],[2686,3],[2729,4]]},"1056":{"position":[[286,1],[375,1]]},"1186":{"position":[[295,2]]},"1187":{"position":[[308,2]]},"1188":{"position":[[5034,2]]},"1226":{"position":[[4841,2]]},"1237":{"position":[[5011,2]]},"1260":{"position":[[962,1]]},"1291":{"position":[[962,1]]},"1319":{"position":[[962,1]]},"1384":{"position":[[9699,4],[9939,4]]},"1422":{"position":[[4484,1]]},"1423":{"position":[[3478,1]]}},"keywords":{}}],["o"",{"_index":1085,"title":{},"content":{"89":{"position":[[420,8]]},"221":{"position":[[420,8]]},"368":{"position":[[754,8]]},"747":{"position":[[754,8]]},"1031":{"position":[[985,8]]},"1048":{"position":[[683,8],[1180,8]]},"1103":{"position":[[314,8]]}},"keywords":{}}],["o(set",{"_index":5594,"title":{},"content":{"1087":{"position":[[229,7]]}},"keywords":{}}],["o2",{"_index":7276,"title":{},"content":{"1386":{"position":[[3876,4],[5057,2]]}},"keywords":{}}],["obey",{"_index":333,"title":{},"content":{"10":{"position":[[692,4]]}},"keywords":{}}],["obj",{"_index":5254,"title":{},"content":{"1048":{"position":[[1048,4],[1167,5]]}},"keywords":{}}],["obj(arc<dyn",{"_index":4342,"title":{},"content":{"898":{"position":[[2175,14]]}},"keywords":{}}],["objcopy_for_shared_library_interfac",{"_index":7379,"title":{},"content":{"1389":{"position":[[2866,37]]}},"keywords":{}}],["objcopy_recalculates_layout",{"_index":7380,"title":{},"content":{"1389":{"position":[[2909,28]]}},"keywords":{}}],["objdump",{"_index":6998,"title":{},"content":{"1368":{"position":[[1009,8]]},"1389":{"position":[[2948,8]]},"1447":{"position":[[519,8]]}},"keywords":{}}],["object",{"_index":632,"title":{},"content":{"22":{"position":[[130,9]]},"76":{"position":[[99,7]]},"277":{"position":[[81,6],[619,7]]},"282":{"position":[[128,6],[728,7]]},"298":{"position":[[2211,8]]},"345":{"position":[[664,7],[746,7]]},"411":{"position":[[253,6]]},"428":{"position":[[91,6]]},"505":{"position":[[99,7]]},"628":{"position":[[91,6]]},"629":{"position":[[90,6]]},"640":{"position":[[61,6]]},"646":{"position":[[61,6]]},"693":{"position":[[8364,6]]},"704":{"position":[[197,6],[1019,6],[1936,6],[2075,6]]},"710":{"position":[[300,6]]},"711":{"position":[[12,6],[1016,6]]},"722":{"position":[[50,6],[415,6]]},"790":{"position":[[253,6]]},"807":{"position":[[91,6]]},"840":{"position":[[1812,6]]},"850":{"position":[[778,7]]},"851":{"position":[[1305,7],[1332,7],[1356,6],[1534,8]]},"856":{"position":[[488,7]]},"870":{"position":[[419,6],[463,6],[1401,7],[1479,7]]},"924":{"position":[[2168,6]]},"983":{"position":[[129,6]]},"1004":{"position":[[130,7],[152,6]]},"1005":{"position":[[91,6]]},"1006":{"position":[[10,6],[1237,6]]},"1052":{"position":[[251,6]]},"1082":{"position":[[325,6]]},"1104":{"position":[[2414,6]]},"1362":{"position":[[4818,9],[12620,9],[12633,9],[13411,9]]},"1364":{"position":[[4854,9],[13320,9],[13333,9],[14111,9]]},"1367":{"position":[[6634,9],[12528,9],[12541,9],[13319,9]]},"1373":{"position":[[2770,6]]},"1382":{"position":[[10982,9],[10995,9]]},"1384":{"position":[[9692,6],[9932,6],[11694,9],[11721,9],[11733,9],[11762,9],[12651,9],[12667,9],[12679,9],[12697,9],[18264,6],[18636,9],[18649,9]]},"1385":{"position":[[6560,9],[6573,9]]},"1386":{"position":[[2071,9],[2087,9]]},"1387":{"position":[[9933,9],[9946,9]]},"1388":{"position":[[9475,9],[9488,9]]},"1389":{"position":[[5325,6],[5572,6]]},"1415":{"position":[[2567,6],[2686,6],[5190,6]]},"1442":{"position":[[538,6],[2355,9],[2368,9],[3137,7],[3197,7]]},"1446":{"position":[[736,8],[1990,7],[2100,7],[2150,7],[2546,7]]},"1453":{"position":[[924,9]]},"1459":{"position":[[1963,7],[2073,7],[2123,7]]},"1472":{"position":[[5580,6]]},"1485":{"position":[[761,6],[3846,9],[3859,9],[4543,6],[4688,6],[4845,6]]}},"keywords":{}}],["object_file_extens",{"_index":7381,"title":{},"content":{"1389":{"position":[[2973,22]]}},"keywords":{}}],["object_format",{"_index":7382,"title":{},"content":{"1389":{"position":[[3005,14]]},"1481":{"position":[[760,14]]}},"keywords":{}}],["observ",{"_index":779,"title":{"1055":{"position":[[0,13]]}},"content":{"23":{"position":[[3410,8]]},"900":{"position":[[1433,9]]}},"keywords":{}}],["obtain",{"_index":1007,"title":{},"content":{"79":{"position":[[63,6]]},"90":{"position":[[49,6]]},"92":{"position":[[1179,6]]},"107":{"position":[[28,6]]},"112":{"position":[[34,6]]},"222":{"position":[[49,6]]},"224":{"position":[[1179,6]]},"236":{"position":[[400,6]]},"237":{"position":[[400,6]]},"427":{"position":[[482,6]]},"508":{"position":[[63,6]]},"519":{"position":[[28,6]]},"524":{"position":[[34,6]]},"570":{"position":[[325,6]]},"666":{"position":[[416,6]]},"693":{"position":[[5290,6]]},"704":{"position":[[1902,7],[2051,7]]},"806":{"position":[[482,6]]},"872":{"position":[[1015,8]]},"923":{"position":[[222,8]]},"924":{"position":[[2337,6]]},"937":{"position":[[4251,6]]},"939":{"position":[[114,6],[218,6]]},"946":{"position":[[85,9]]},"1040":{"position":[[1605,6]]},"1050":{"position":[[3284,6]]},"1285":{"position":[[41,6],[172,6]]},"1286":{"position":[[0,6]]},"1287":{"position":[[0,6]]}},"keywords":{}}],["ocaml",{"_index":62,"title":{},"content":{"4":{"position":[[454,5]]},"7":{"position":[[225,5]]},"9":{"position":[[2067,5],[2296,6]]},"17":{"position":[[248,5]]},"22":{"position":[[152,6]]},"23":{"position":[[1780,6]]},"92":{"position":[[524,5]]},"224":{"position":[[524,5]]},"1448":{"position":[[1019,5],[1973,5],[2761,5]]},"1449":{"position":[[959,5],[1907,5],[2695,5]]}},"keywords":{}}],["ocaml_binari",{"_index":8115,"title":{"1448":{"position":[[0,13]]}},"content":{"1448":{"position":[[4,13],[930,14],[2838,13]]}},"keywords":{}}],["ocaml_librari",{"_index":8122,"title":{"1449":{"position":[[0,14]]}},"content":{"1448":{"position":[[2109,13],[2963,14],[3041,14]]},"1449":{"position":[[4,14],[872,15],[2043,13],[2772,14]]}},"keywords":{}}],["ocaml_object",{"_index":8139,"title":{"1450":{"position":[[0,13]]}},"content":{"1450":{"position":[[4,13]]}},"keywords":{}}],["ocaml_shar",{"_index":8140,"title":{"1451":{"position":[[0,13]]}},"content":{"1451":{"position":[[4,13]]}},"keywords":{}}],["ocamldep",{"_index":1121,"title":{},"content":{"92":{"position":[[576,11]]},"224":{"position":[[576,11]]}},"keywords":{}}],["ocamldep_flag",{"_index":8118,"title":{},"content":{"1448":{"position":[[634,15]]},"1449":{"position":[[653,15]]},"1450":{"position":[[634,15]]},"1451":{"position":[[634,15]]}},"keywords":{}}],["occas",{"_index":7648,"title":{},"content":{"1399":{"position":[[2537,9]]}},"keywords":{}}],["occasion",{"_index":1259,"title":{},"content":{"98":{"position":[[1287,12]]},"230":{"position":[[1287,12]]}},"keywords":{}}],["occur",{"_index":2611,"title":{},"content":{"572":{"position":[[211,7]]},"577":{"position":[[539,6]]},"864":{"position":[[1530,5]]},"869":{"position":[[348,5]]},"1112":{"position":[[1334,8]]},"1254":{"position":[[651,6]]},"1386":{"position":[[2463,6]]},"1412":{"position":[[3574,6]]}},"keywords":{}}],["occurr",{"_index":2603,"title":{},"content":{"569":{"position":[[109,10]]},"591":{"position":[[130,11],[224,11],[467,10],[519,10],[700,11]]},"594":{"position":[[197,10],[431,10]]},"596":{"position":[[228,10]]},"607":{"position":[[235,10]]},"610":{"position":[[99,11],[192,11],[342,11]]},"611":{"position":[[296,11]]},"612":{"position":[[323,11]]},"613":{"position":[[182,10]]},"616":{"position":[[214,11],[267,11]]},"1088":{"position":[[686,11]]},"1363":{"position":[[5327,10]]},"1367":{"position":[[10243,10]]}},"keywords":{}}],["of"1.0.0"",{"_index":7497,"title":{},"content":{"1393":{"position":[[8711,19]]}},"keywords":{}}],["of.buckconfig",{"_index":2654,"title":{},"content":{"580":{"position":[[121,14]]},"693":{"position":[[5477,15]]}},"keywords":{}}],["of//foo:bar",{"_index":5849,"title":{},"content":{"1133":{"position":[[933,11]]}},"keywords":{}}],["ofanalyz",{"_index":4543,"title":{},"content":{"924":{"position":[[1544,9]]}},"keywords":{}}],["ofbuck",{"_index":6265,"title":{},"content":{"1260":{"position":[[211,6]]},"1291":{"position":[[211,6]]},"1319":{"position":[[211,6]]}},"keywords":{}}],["ofbuild",{"_index":3426,"title":{},"content":{"683":{"position":[[220,7]]}},"keywords":{}}],["ofbxl.unconfiguredtargetnod",{"_index":3888,"title":{},"content":{"846":{"position":[[884,29]]}},"keywords":{}}],["ofctx.act",{"_index":3705,"title":{},"content":{"711":{"position":[[71,13]]}},"keywords":{}}],["ofdeps(//example:foo",{"_index":4413,"title":{},"content":{"904":{"position":[[1350,21]]}},"keywords":{}}],["offer",{"_index":3823,"title":{},"content":{"833":{"position":[[253,7]]},"869":{"position":[[437,7]]},"959":{"position":[[37,5],[265,7]]},"1239":{"position":[[6,6]]}},"keywords":{}}],["offici",{"_index":6399,"title":{},"content":{"1348":{"position":[[4446,8]]},"1351":{"position":[[985,8]]},"1358":{"position":[[2826,8]]}},"keywords":{}}],["offlin",{"_index":8410,"title":{},"content":{"1470":{"position":[[4677,7]]}},"keywords":{}}],["ofhost_info",{"_index":4617,"title":{},"content":{"937":{"position":[[4544,11]]}},"keywords":{}}],["oflib",{"_index":4886,"title":{},"content":{"987":{"position":[[877,6]]}},"keywords":{}}],["ofrul",{"_index":594,"title":{},"content":{"18":{"position":[[1966,7]]}},"keywords":{}}],["ofsub",{"_index":2766,"title":{},"content":{"591":{"position":[[236,5]]}},"keywords":{}}],["ok",{"_index":5123,"title":{},"content":{"1036":{"position":[[5,2]]}},"keywords":{}}],["old",{"_index":346,"title":{},"content":{"10":{"position":[[942,3]]},"93":{"position":[[167,3]]},"225":{"position":[[167,3]]},"610":{"position":[[20,4],[217,3]]},"980":{"position":[[1373,3]]},"1050":{"position":[[913,3]]},"1136":{"position":[[3320,3]]},"1138":{"position":[[6982,3]]},"1140":{"position":[[5908,3]]},"1142":{"position":[[1352,3]]},"1146":{"position":[[1292,3]]},"1148":{"position":[[4332,3]]},"1155":{"position":[[1388,3]]},"1156":{"position":[[966,3]]},"1167":{"position":[[6912,3]]},"1169":{"position":[[751,3]]},"1186":{"position":[[2556,3]]},"1187":{"position":[[2569,3]]},"1188":{"position":[[7295,3]]},"1191":{"position":[[1156,3]]},"1192":{"position":[[1331,3]]},"1193":{"position":[[1383,3]]},"1194":{"position":[[1023,3]]},"1195":{"position":[[1001,3]]},"1196":{"position":[[811,3]]},"1197":{"position":[[1794,3]]},"1198":{"position":[[1804,3]]},"1199":{"position":[[1832,3]]},"1200":{"position":[[1699,3]]},"1201":{"position":[[959,3]]},"1202":{"position":[[2101,3],[6498,3]]},"1203":{"position":[[1193,3]]},"1204":{"position":[[1037,3]]},"1205":{"position":[[2366,3]]},"1206":{"position":[[837,3]]},"1207":{"position":[[994,3]]},"1209":{"position":[[2342,3]]},"1217":{"position":[[5653,3]]},"1219":{"position":[[1639,3]]},"1222":{"position":[[763,3]]},"1223":{"position":[[773,3]]},"1224":{"position":[[953,3]]},"1226":{"position":[[6121,3]]},"1228":{"position":[[7734,3]]},"1235":{"position":[[3602,3]]},"1237":{"position":[[6291,3]]}},"keywords":{}}],["older",{"_index":5941,"title":{},"content":{"1142":{"position":[[253,5],[274,5]]}},"keywords":{}}],["omit",{"_index":1358,"title":{},"content":{"131":{"position":[[380,8],[413,8]]},"254":{"position":[[380,8],[413,8]]},"374":{"position":[[1837,7]]},"595":{"position":[[943,7]]},"663":{"position":[[1042,8]]},"675":{"position":[[972,8]]},"693":{"position":[[9698,8]]},"753":{"position":[[1837,7]]},"901":{"position":[[996,8]]},"1078":{"position":[[281,4]]},"1172":{"position":[[2239,4],[2258,4]]},"1226":{"position":[[1295,8],[1372,7]]},"1237":{"position":[[1465,8],[1542,7]]},"1363":{"position":[[6622,8]]},"1374":{"position":[[2390,4]]},"1384":{"position":[[21456,4],[21844,4]]},"1385":{"position":[[7371,4]]},"1422":{"position":[[1944,8]]}},"keywords":{}}],["on",{"_index":624,"title":{"578":{"position":[[28,3]]},"681":{"position":[[26,3]]},"1130":{"position":[[27,3]]}},"content":{"20":{"position":[[631,3],[657,5]]},"23":{"position":[[229,3]]},"92":{"position":[[1008,3],[1335,3],[2485,3]]},"94":{"position":[[1326,3],[3394,3]]},"107":{"position":[[146,4]]},"112":{"position":[[141,4]]},"133":{"position":[[137,3]]},"224":{"position":[[1008,3],[1335,3],[2485,3]]},"226":{"position":[[1326,3],[3394,3]]},"243":{"position":[[347,3]]},"256":{"position":[[137,3]]},"277":{"position":[[133,3]]},"282":{"position":[[188,3]]},"283":{"position":[[94,3]]},"298":{"position":[[1590,3]]},"345":{"position":[[688,3],[695,3]]},"408":{"position":[[503,3]]},"441":{"position":[[209,4]]},"462":{"position":[[96,3]]},"519":{"position":[[146,4]]},"524":{"position":[[141,4]]},"555":{"position":[[148,3]]},"557":{"position":[[607,7]]},"567":{"position":[[191,4]]},"570":{"position":[[404,3]]},"600":{"position":[[155,3]]},"602":{"position":[[143,3]]},"603":{"position":[[155,3]]},"622":{"position":[[70,3]]},"636":{"position":[[186,3],[678,7]]},"638":{"position":[[47,3],[474,3]]},"656":{"position":[[190,3]]},"662":{"position":[[381,3],[419,3]]},"666":{"position":[[391,3]]},"676":{"position":[[291,3]]},"681":{"position":[[59,3]]},"686":{"position":[[45,3]]},"690":{"position":[[256,3]]},"693":{"position":[[2171,3],[7572,3]]},"706":{"position":[[81,3]]},"711":{"position":[[1135,4]]},"715":{"position":[[288,3]]},"787":{"position":[[503,3]]},"820":{"position":[[209,4]]},"846":{"position":[[571,3]]},"847":{"position":[[100,4]]},"851":{"position":[[608,3]]},"865":{"position":[[348,3]]},"870":{"position":[[128,3]]},"888":{"position":[[989,3]]},"889":{"position":[[515,3],[1019,3]]},"902":{"position":[[25,3],[463,3]]},"919":{"position":[[2131,3]]},"924":{"position":[[1272,3]]},"937":{"position":[[3030,3]]},"939":{"position":[[858,3]]},"941":{"position":[[340,3]]},"942":{"position":[[1402,3],[1428,4]]},"945":{"position":[[421,3]]},"961":{"position":[[370,3]]},"973":{"position":[[225,3],[349,3]]},"977":{"position":[[5,3],[267,3],[468,3]]},"981":{"position":[[771,3]]},"988":{"position":[[494,3]]},"991":{"position":[[2925,3]]},"995":{"position":[[698,3]]},"1001":{"position":[[190,3]]},"1013":{"position":[[636,5]]},"1022":{"position":[[190,3],[400,3]]},"1025":{"position":[[219,3]]},"1026":{"position":[[518,3]]},"1032":{"position":[[122,3]]},"1040":{"position":[[1108,3],[1433,3]]},"1050":{"position":[[2268,4]]},"1054":{"position":[[788,3]]},"1064":{"position":[[246,3]]},"1067":{"position":[[671,3]]},"1079":{"position":[[571,3]]},"1088":{"position":[[635,3]]},"1105":{"position":[[164,3]]},"1112":{"position":[[2268,3],[2301,3]]},"1113":{"position":[[465,3],[608,4]]},"1114":{"position":[[84,3]]},"1125":{"position":[[54,3]]},"1126":{"position":[[336,3],[494,4],[782,3],[1077,3],[1370,3],[1481,3]]},"1136":{"position":[[141,3],[951,4],[2527,5],[4213,4],[4523,4]]},"1138":{"position":[[4475,3],[4837,3],[6189,5],[7875,4],[8185,4]]},"1140":{"position":[[3964,3],[4326,3],[5115,5],[6801,4],[7111,4]]},"1142":{"position":[[2245,4],[2555,4]]},"1144":{"position":[[47,3],[67,3]]},"1146":{"position":[[499,5],[2185,4],[2495,4]]},"1148":{"position":[[1307,4],[3539,5],[5225,4],[5535,4]]},"1155":{"position":[[2281,4],[2591,4]]},"1156":{"position":[[1859,4],[2169,4]]},"1167":{"position":[[4968,3],[5330,3],[6119,5],[7805,4],[8115,4]]},"1169":{"position":[[1644,4],[1954,4]]},"1186":{"position":[[1763,5],[3449,4],[3759,4]]},"1187":{"position":[[1776,5],[3462,4],[3772,4]]},"1188":{"position":[[4017,3],[4379,3],[6502,5],[8188,4],[8498,4]]},"1190":{"position":[[206,4]]},"1191":{"position":[[2049,4],[2359,4]]},"1192":{"position":[[43,4],[538,5],[2224,4],[2534,4]]},"1193":{"position":[[2276,4],[2586,4]]},"1194":{"position":[[1916,4],[2226,4]]},"1195":{"position":[[1894,4],[2204,4]]},"1196":{"position":[[1704,4],[2014,4]]},"1197":{"position":[[1001,5],[2687,4],[2997,4]]},"1198":{"position":[[1011,5],[2697,4],[3007,4]]},"1199":{"position":[[1039,5],[2725,4],[3035,4]]},"1200":{"position":[[906,5],[2592,4],[2902,4]]},"1201":{"position":[[1852,4],[2162,4]]},"1202":{"position":[[2994,4],[3304,4],[7391,4],[7701,4]]},"1203":{"position":[[400,5],[2086,4],[2396,4]]},"1204":{"position":[[1930,4],[2240,4]]},"1205":{"position":[[1573,5],[3259,4],[3569,4]]},"1206":{"position":[[1730,4],[2040,4]]},"1207":{"position":[[1887,4],[2197,4]]},"1209":{"position":[[184,4],[3235,4],[3545,4]]},"1217":{"position":[[3709,3],[4071,3],[4860,5],[6546,4],[6856,4]]},"1219":{"position":[[729,3],[2532,4],[2842,4]]},"1222":{"position":[[1656,4],[1966,4]]},"1223":{"position":[[1666,4],[1976,4]]},"1224":{"position":[[1846,4],[2156,4]]},"1226":{"position":[[5328,5],[7014,4],[7324,4]]},"1228":{"position":[[5790,3],[6152,3],[6941,5],[8627,4],[8937,4]]},"1231":{"position":[[179,3]]},"1233":{"position":[[82,3]]},"1235":{"position":[[1444,4],[4495,4],[4805,4]]},"1237":{"position":[[5498,5],[7184,4],[7494,4]]},"1253":{"position":[[634,3]]},"1349":{"position":[[1685,3]]},"1350":{"position":[[4656,3]]},"1351":{"position":[[1674,3],[1883,3]]},"1352":{"position":[[4655,3]]},"1353":{"position":[[2259,3]]},"1355":{"position":[[3034,3],[3243,3],[4645,4]]},"1357":{"position":[[1276,3]]},"1360":{"position":[[2263,3],[2472,3],[2585,3],[2729,3],[5184,3]]},"1362":{"position":[[5986,3],[6195,3],[6849,4],[8796,4]]},"1363":{"position":[[3732,3],[3941,3]]},"1364":{"position":[[6015,3],[6224,3],[6659,4],[7088,4],[9407,4],[9910,4]]},"1365":{"position":[[1758,3]]},"1366":{"position":[[1762,3],[1971,3]]},"1367":{"position":[[7413,3],[7622,3],[8884,4]]},"1368":{"position":[[2314,3]]},"1369":{"position":[[1366,3]]},"1370":{"position":[[1411,3],[1620,3],[1832,3]]},"1371":{"position":[[1242,3]]},"1372":{"position":[[2880,3]]},"1374":{"position":[[1446,3],[1655,3]]},"1375":{"position":[[1278,3]]},"1376":{"position":[[1234,3]]},"1377":{"position":[[1473,3]]},"1378":{"position":[[1220,3]]},"1379":{"position":[[1243,3]]},"1380":{"position":[[1714,3]]},"1381":{"position":[[2119,3]]},"1382":{"position":[[3898,3],[4107,3],[5566,4]]},"1383":{"position":[[2136,3],[2345,3]]},"1384":{"position":[[5060,3],[5269,3],[5704,4],[7413,4],[10513,4],[19760,3],[20164,3]]},"1385":{"position":[[3480,4]]},"1386":{"position":[[1726,3],[6086,3]]},"1387":{"position":[[5813,4]]},"1388":{"position":[[4198,3],[4407,3]]},"1393":{"position":[[1986,3],[2195,3]]},"1395":{"position":[[1443,3],[1652,3]]},"1398":{"position":[[1232,3],[2093,3],[2302,3],[2582,4],[4040,3],[5695,4],[6218,3]]},"1400":{"position":[[1347,3]]},"1403":{"position":[[1966,3],[2175,3],[4538,3],[5341,3],[5475,3],[5830,3]]},"1405":{"position":[[2796,3],[3036,3]]},"1407":{"position":[[2324,3],[2426,3],[3217,3],[3457,3]]},"1409":{"position":[[1373,3]]},"1410":{"position":[[2333,3],[2542,3],[3797,3],[4038,3]]},"1411":{"position":[[1356,3]]},"1412":{"position":[[2354,3],[2563,3]]},"1413":{"position":[[2740,3]]},"1414":{"position":[[1607,3]]},"1417":{"position":[[1830,3]]},"1418":{"position":[[1531,3]]},"1419":{"position":[[1659,3]]},"1422":{"position":[[1599,3],[1808,3],[2374,3],[3585,4]]},"1423":{"position":[[2044,3],[2356,4]]},"1424":{"position":[[1915,3]]},"1425":{"position":[[1531,3]]},"1426":{"position":[[1672,3],[1881,3]]},"1427":{"position":[[2569,3],[2778,3],[3790,4]]},"1428":{"position":[[1513,3]]},"1429":{"position":[[3233,3],[3442,3]]},"1430":{"position":[[2289,3]]},"1431":{"position":[[1633,3]]},"1432":{"position":[[2154,3]]},"1433":{"position":[[1675,3]]},"1434":{"position":[[1349,3]]},"1435":{"position":[[1313,3]]},"1436":{"position":[[1329,3]]},"1437":{"position":[[1399,3]]},"1438":{"position":[[1331,3],[1540,3]]},"1439":{"position":[[2855,3],[3064,3],[4826,3]]},"1440":{"position":[[3421,3],[3630,3]]},"1441":{"position":[[1355,3]]},"1442":{"position":[[1226,3],[1435,3]]},"1445":{"position":[[1255,3]]},"1446":{"position":[[717,3]]},"1447":{"position":[[1471,3]]},"1450":{"position":[[1719,3]]},"1451":{"position":[[1719,3]]},"1452":{"position":[[1265,3]]},"1453":{"position":[[1851,3]]},"1454":{"position":[[4552,4],[5813,4],[7417,4]]},"1455":{"position":[[2200,4],[2584,4]]},"1458":{"position":[[1024,3]]},"1459":{"position":[[1872,3]]},"1460":{"position":[[1634,3]]},"1461":{"position":[[1647,3],[1856,3]]},"1462":{"position":[[7280,3],[7421,3]]},"1463":{"position":[[1356,3]]},"1464":{"position":[[1264,3]]},"1466":{"position":[[1600,3]]},"1467":{"position":[[5717,3],[5926,3],[8249,3],[8390,3]]},"1469":{"position":[[1535,3],[1744,3],[1840,3]]},"1471":{"position":[[2398,3],[2607,3],[5105,3]]},"1472":{"position":[[2357,3],[2566,3],[5991,3]]},"1473":{"position":[[2672,3],[2881,3],[5555,3]]},"1474":{"position":[[2265,3]]},"1475":{"position":[[2736,3]]},"1476":{"position":[[1341,3]]},"1477":{"position":[[1291,3],[1500,3],[1634,3]]},"1478":{"position":[[1782,3],[1991,3],[3359,3],[3376,3]]},"1479":{"position":[[1433,3]]},"1480":{"position":[[1846,3]]},"1481":{"position":[[2379,3]]},"1482":{"position":[[1453,3]]},"1484":{"position":[[1359,3]]},"1485":{"position":[[1848,4]]},"1486":{"position":[[2557,3]]},"1487":{"position":[[1356,3],[1565,3]]}},"keywords":{}}],["on.1.163",{"_index":5390,"title":{},"content":{"1057":{"position":[[558,9]]}},"keywords":{}}],["on.th",{"_index":4377,"title":{},"content":{"900":{"position":[[1286,6]]}},"keywords":{}}],["on.transit",{"_index":4858,"title":{},"content":{"980":{"position":[[1326,13]]}},"keywords":{}}],["on/off",{"_index":5907,"title":{},"content":{"1136":{"position":[[5472,6]]},"1138":{"position":[[9134,6]]},"1140":{"position":[[8060,6]]},"1142":{"position":[[3504,6]]},"1146":{"position":[[3444,6]]},"1148":{"position":[[6484,6]]},"1155":{"position":[[3540,6]]},"1156":{"position":[[3118,6]]},"1161":{"position":[[1011,6]]},"1167":{"position":[[9064,6]]},"1181":{"position":[[1223,6]]},"1186":{"position":[[4708,6]]},"1187":{"position":[[4721,6]]},"1188":{"position":[[9447,6]]},"1191":{"position":[[3308,6]]},"1192":{"position":[[3483,6]]},"1193":{"position":[[3535,6]]},"1194":{"position":[[3175,6]]},"1195":{"position":[[3153,6]]},"1196":{"position":[[2963,6]]},"1197":{"position":[[3946,6]]},"1198":{"position":[[3956,6]]},"1199":{"position":[[3984,6]]},"1200":{"position":[[3851,6]]},"1201":{"position":[[3111,6]]},"1202":{"position":[[4253,6],[8650,6]]},"1203":{"position":[[3345,6]]},"1204":{"position":[[3189,6]]},"1205":{"position":[[4518,6]]},"1206":{"position":[[2989,6]]},"1207":{"position":[[3146,6]]},"1209":{"position":[[4494,6]]},"1217":{"position":[[7805,6]]},"1222":{"position":[[2915,6]]},"1223":{"position":[[2925,6]]},"1226":{"position":[[8273,6]]},"1228":{"position":[[9886,6]]},"1235":{"position":[[5754,6]]},"1237":{"position":[[8443,6]]}},"keywords":{}}],["on_duplicate_entri",{"_index":8491,"title":{},"content":{"1479":{"position":[[533,19]]},"1487":{"position":[[530,19],[1755,19],[2811,18]]}},"keywords":{}}],["on_unused_depend",{"_index":6367,"title":{},"content":{"1348":{"position":[[2018,23]]},"1355":{"position":[[1555,23]]},"1412":{"position":[[975,23]]},"1413":{"position":[[1121,23]]},"1427":{"position":[[1192,23],[3958,23]]},"1429":{"position":[[1426,23]]},"1430":{"position":[[995,23]]},"1439":{"position":[[1428,23]]},"1440":{"position":[[1627,23]]},"1470":{"position":[[1855,23]]},"1474":{"position":[[971,23]]},"1475":{"position":[[1117,23]]}},"keywords":{}}],["onboard",{"_index":3453,"title":{},"content":{"689":{"position":[[157,10]]}},"keywords":{}}],["onc",{"_index":739,"title":{},"content":{"23":{"position":[[2042,5]]},"85":{"position":[[444,4]]},"217":{"position":[[444,4]]},"276":{"position":[[821,4]]},"277":{"position":[[855,4]]},"281":{"position":[[943,4]]},"282":{"position":[[985,4]]},"298":{"position":[[2677,5]]},"322":{"position":[[289,4]]},"345":{"position":[[757,4]]},"423":{"position":[[149,5]]},"528":{"position":[[249,4]]},"638":{"position":[[1154,5]]},"693":{"position":[[2827,4]]},"704":{"position":[[2430,4]]},"802":{"position":[[149,5]]},"851":{"position":[[74,4],[176,5],[2003,5]]},"854":{"position":[[0,4]]},"856":{"position":[[88,4],[589,4],[690,4],[791,4],[922,4]]},"860":{"position":[[233,4]]},"870":{"position":[[760,4],[988,5]]},"890":{"position":[[4387,5],[6409,5]]},"895":{"position":[[316,4]]},"898":{"position":[[497,4],[1086,4]]},"902":{"position":[[1139,5]]},"905":{"position":[[616,4],[641,4]]},"945":{"position":[[150,4]]},"988":{"position":[[671,5]]},"1000":{"position":[[548,4],[787,4]]},"1004":{"position":[[2130,5]]},"1015":{"position":[[0,4]]},"1048":{"position":[[246,5]]},"1084":{"position":[[84,4],[250,5]]},"1087":{"position":[[66,5]]},"1100":{"position":[[147,4],[226,4]]},"1103":{"position":[[753,4]]},"1138":{"position":[[4470,4],[4656,4],[4832,4]]},"1140":{"position":[[3959,4],[4145,4],[4321,4]]},"1167":{"position":[[4963,4],[5149,4],[5325,4]]},"1188":{"position":[[4012,4],[4198,4],[4374,4]]},"1217":{"position":[[3704,4],[3890,4],[4066,4]]},"1228":{"position":[[5785,4],[5971,4],[6147,4]]},"1232":{"position":[[3918,4]]},"1235":{"position":[[186,4]]},"1361":{"position":[[2020,4],[2281,4]]},"1381":{"position":[[2270,4]]},"1386":{"position":[[2329,4],[3208,4]]},"1399":{"position":[[2589,4]]},"1486":{"position":[[923,4],[2181,4],[2850,5],[4633,4],[4790,4],[5164,4]]}},"keywords":{}}],["oncal",{"_index":2015,"title":{"423":{"position":[[0,7]]},"802":{"position":[[0,7]]}},"content":{"374":{"position":[[1118,7]]},"423":{"position":[[74,6]]},"430":{"position":[[89,7],[150,6]]},"753":{"position":[[1118,7]]},"802":{"position":[[74,6]]},"809":{"position":[[89,7],[150,6]]},"1136":{"position":[[6480,6],[6506,6]]},"1138":{"position":[[10142,6],[10168,6]]},"1140":{"position":[[9068,6],[9094,6]]},"1142":{"position":[[4512,6],[4538,6]]},"1144":{"position":[[840,6],[866,6]]},"1146":{"position":[[4452,6],[4478,6]]},"1148":{"position":[[8043,6],[8069,6]]},"1150":{"position":[[1075,6],[1101,6]]},"1152":{"position":[[773,6],[799,6]]},"1154":{"position":[[928,6],[954,6]]},"1155":{"position":[[4548,6],[4574,6]]},"1156":{"position":[[4126,6],[4152,6]]},"1157":{"position":[[711,6],[737,6]]},"1158":{"position":[[705,6],[731,6]]},"1159":{"position":[[705,6],[731,6]]},"1161":{"position":[[1700,6],[1726,6]]},"1163":{"position":[[1086,6],[1112,6]]},"1165":{"position":[[915,6],[941,6]]},"1167":{"position":[[10072,6],[10098,6]]},"1169":{"position":[[3180,6],[3206,6]]},"1171":{"position":[[1421,6],[1447,6]]},"1172":{"position":[[2806,6],[2832,6]]},"1173":{"position":[[1493,6],[1519,6]]},"1174":{"position":[[921,6],[947,6]]},"1175":{"position":[[917,6],[943,6]]},"1176":{"position":[[1086,6],[1112,6]]},"1177":{"position":[[1007,6],[1033,6]]},"1178":{"position":[[1324,6],[1350,6]]},"1179":{"position":[[1121,6],[1147,6]]},"1180":{"position":[[1392,6],[1418,6]]},"1181":{"position":[[1912,6],[1938,6]]},"1182":{"position":[[955,6],[981,6]]},"1183":{"position":[[910,6],[936,6]]},"1185":{"position":[[755,6],[781,6]]},"1186":{"position":[[5716,6],[5742,6]]},"1187":{"position":[[5729,6],[5755,6]]},"1188":{"position":[[10455,6],[10481,6]]},"1190":{"position":[[2086,6],[2112,6]]},"1191":{"position":[[4316,6],[4342,6]]},"1192":{"position":[[4491,6],[4517,6]]},"1193":{"position":[[4543,6],[4569,6]]},"1194":{"position":[[4183,6],[4209,6]]},"1195":{"position":[[4161,6],[4187,6]]},"1196":{"position":[[3971,6],[3997,6]]},"1197":{"position":[[4954,6],[4980,6]]},"1198":{"position":[[4964,6],[4990,6]]},"1199":{"position":[[4992,6],[5018,6]]},"1200":{"position":[[4859,6],[4885,6]]},"1201":{"position":[[4119,6],[4145,6]]},"1202":{"position":[[863,6],[889,6],[5261,6],[5287,6],[9658,6],[9684,6]]},"1203":{"position":[[4353,6],[4379,6]]},"1204":{"position":[[4197,6],[4223,6],[5099,6],[5125,6],[6029,6],[6055,6],[6931,6],[6957,6],[7917,6],[7943,6],[8871,6],[8897,6],[9818,6],[9844,6],[10748,6],[10774,6]]},"1205":{"position":[[5526,6],[5552,6]]},"1206":{"position":[[4225,6],[4251,6]]},"1207":{"position":[[4154,6],[4180,6]]},"1209":{"position":[[5502,6],[5528,6]]},"1211":{"position":[[826,6],[852,6]]},"1213":{"position":[[597,6],[623,6]]},"1215":{"position":[[681,6],[707,6]]},"1217":{"position":[[8813,6],[8839,6]]},"1219":{"position":[[4068,6],[4094,6]]},"1221":{"position":[[800,6],[826,6]]},"1222":{"position":[[3939,6],[3965,6]]},"1223":{"position":[[3949,6],[3975,6]]},"1224":{"position":[[3382,6],[3408,6]]},"1226":{"position":[[9281,6],[9307,6]]},"1228":{"position":[[10894,6],[10920,6]]},"1235":{"position":[[6762,6],[6788,6]]},"1237":{"position":[[9451,6],[9477,6]]}},"keywords":{}}],["oncall(nam",{"_index":2292,"title":{},"content":{"423":{"position":[[4,12]]},"802":{"position":[[4,12]]}},"keywords":{}}],["oncalls.executor_overrid",{"_index":5481,"title":{},"content":{"1069":{"position":[[468,26]]}},"keywords":{}}],["ondifferentst",{"_index":5897,"title":{},"content":{"1136":{"position":[[4439,17]]},"1138":{"position":[[8101,17]]},"1140":{"position":[[7027,17]]},"1142":{"position":[[2471,17]]},"1146":{"position":[[2411,17]]},"1148":{"position":[[5451,17]]},"1155":{"position":[[2507,17]]},"1156":{"position":[[2085,17]]},"1167":{"position":[[8031,17]]},"1169":{"position":[[1870,17]]},"1186":{"position":[[3675,17]]},"1187":{"position":[[3688,17]]},"1188":{"position":[[8414,17]]},"1191":{"position":[[2275,17]]},"1192":{"position":[[2450,17]]},"1193":{"position":[[2502,17]]},"1194":{"position":[[2142,17]]},"1195":{"position":[[2120,17]]},"1196":{"position":[[1930,17]]},"1197":{"position":[[2913,17]]},"1198":{"position":[[2923,17]]},"1199":{"position":[[2951,17]]},"1200":{"position":[[2818,17]]},"1201":{"position":[[2078,17]]},"1202":{"position":[[3220,17],[7617,17]]},"1203":{"position":[[2312,17]]},"1204":{"position":[[2156,17]]},"1205":{"position":[[3485,17]]},"1206":{"position":[[1956,17]]},"1207":{"position":[[2113,17]]},"1209":{"position":[[3461,17]]},"1217":{"position":[[6772,17]]},"1219":{"position":[[2758,17]]},"1222":{"position":[[1882,17]]},"1223":{"position":[[1892,17]]},"1224":{"position":[[2072,17]]},"1226":{"position":[[7240,17]]},"1228":{"position":[[8853,17]]},"1235":{"position":[[4721,17]]},"1237":{"position":[[7410,17]]}},"keywords":{}}],["one.heap",{"_index":5359,"title":{},"content":{"1056":{"position":[[729,8]]}},"keywords":{}}],["oneaar",{"_index":6615,"title":{},"content":{"1358":{"position":[[1997,7]]}},"keywords":{}}],["oneactu",{"_index":8537,"title":{},"content":{"1483":{"position":[[1287,10]]}},"keywords":{}}],["oneaidl",{"_index":7666,"title":{},"content":{"1402":{"position":[[1578,8]]}},"keywords":{}}],["oneallow_cache_upload",{"_index":7043,"title":{},"content":{"1373":{"position":[[3752,22]]},"1454":{"position":[[4217,22]]},"1462":{"position":[[5230,22]]}},"keywords":{}}],["oneapk",{"_index":6532,"title":{},"content":{"1354":{"position":[[2097,7]]}},"keywords":{}}],["oneapp_icon",{"_index":6678,"title":{},"content":{"1361":{"position":[[1824,12]]}},"keywords":{}}],["oneappl",{"_index":7570,"title":{},"content":{"1397":{"position":[[1623,16]]}},"keywords":{}}],["onearg",{"_index":8557,"title":{},"content":{"1486":{"position":[[1863,8]]}},"keywords":{}}],["oneasan",{"_index":7724,"title":{},"content":{"1405":{"position":[[2102,8]]},"1407":{"position":[[2143,8]]}},"keywords":{}}],["oneassembl",{"_index":8221,"title":{},"content":{"1456":{"position":[[1449,12]]}},"keywords":{}}],["oneassembler_flag",{"_index":7782,"title":{},"content":{"1408":{"position":[[1839,19]]}},"keywords":{}}],["onebase_modul",{"_index":7238,"title":{},"content":{"1385":{"position":[[2939,15]]},"1387":{"position":[[5208,15]]},"1444":{"position":[[1566,15]]},"1465":{"position":[[2362,15]]}},"keywords":{}}],["onebinary_jar",{"_index":8232,"title":{},"content":{"1458":{"position":[[2043,14]]}},"keywords":{}}],["onebuild_config_valu",{"_index":6390,"title":{},"content":{"1348":{"position":[[3540,23]]}},"keywords":{}}],["onec_compiler_allow_cache_upload",{"_index":7417,"title":{},"content":{"1389":{"position":[[5261,33]]}},"keywords":{}}],["onecompiler_dep",{"_index":7829,"title":{},"content":{"1415":{"position":[[3589,17]]}},"keywords":{}}],["onecompiler_flag",{"_index":7123,"title":{},"content":{"1381":{"position":[[1620,18]]},"1416":{"position":[[2241,18]]},"1420":{"position":[[1923,18]]},"1448":{"position":[[1906,18]]},"1449":{"position":[[1840,18]]}},"keywords":{}}],["oneconstraint_valu",{"_index":4622,"title":{},"content":{"938":{"position":[[291,19]]}},"keywords":{}}],["onedep",{"_index":6577,"title":{},"content":{"1356":{"position":[[1603,8]]},"1359":{"position":[[1834,8]]},"1386":{"position":[[1577,8]]},"1390":{"position":[[1513,8]]},"1391":{"position":[[1466,8]]},"1392":{"position":[[1616,8]]},"1421":{"position":[[1898,8]]},"1443":{"position":[[1650,8]]},"1446":{"position":[[1589,8]]},"1457":{"position":[[1508,8]]}},"keywords":{}}],["oneentrypoint",{"_index":7744,"title":{},"content":{"1406":{"position":[[1318,15]]}},"keywords":{}}],["oneerl",{"_index":7558,"title":{},"content":{"1396":{"position":[[1442,7]]}},"keywords":{}}],["oneexecut",{"_index":7926,"title":{},"content":{"1423":{"position":[[1790,14]]}},"keywords":{}}],["oneexported_dep",{"_index":8201,"title":{},"content":{"1455":{"position":[[2104,17]]}},"keywords":{}}],["oneextra_kotlinc_argu",{"_index":8405,"title":{},"content":{"1470":{"position":[[4266,27]]}},"keywords":{}}],["onehas_wrap_script",{"_index":8243,"title":{},"content":{"1459":{"position":[[1522,19]]}},"keywords":{}}],["oneheader_namespac",{"_index":8542,"title":{},"content":{"1485":{"position":[[1619,20]]}},"keywords":{}}],["onelabel",{"_index":8373,"title":{},"content":{"1468":{"position":[[1364,10]]}},"keywords":{}}],["onemod",{"_index":7644,"title":{},"content":{"1399":{"position":[[1478,8]]}},"keywords":{}}],["oneos_env",{"_index":7536,"title":{},"content":{"1394":{"position":[[1636,10]]}},"keywords":{}}],["oner",{"_index":4599,"title":{},"content":{"937":{"position":[[2409,7],[2625,7]]}},"keywords":{}}],["onerepo",{"_index":7713,"title":{},"content":{"1404":{"position":[[1411,8]]}},"keywords":{}}],["onesrc",{"_index":7654,"title":{},"content":{"1401":{"position":[[1422,8]]}},"keywords":{}}],["onewithin_view",{"_index":6387,"title":{},"content":{"1348":{"position":[[3334,15]]},"1349":{"position":[[1479,15]]},"1350":{"position":[[4450,15]]},"1352":{"position":[[4449,15]]},"1353":{"position":[[2053,15]]},"1354":{"position":[[1891,15]]},"1356":{"position":[[1397,15]]},"1357":{"position":[[1070,15]]},"1358":{"position":[[1791,15]]},"1359":{"position":[[1628,15]]},"1361":{"position":[[1618,15]]},"1365":{"position":[[1552,15]]},"1368":{"position":[[2108,15]]},"1369":{"position":[[1160,15]]},"1371":{"position":[[1036,15]]},"1372":{"position":[[2674,15]]},"1373":{"position":[[3546,15]]},"1375":{"position":[[1072,15]]},"1376":{"position":[[1028,15]]},"1377":{"position":[[1267,15]]},"1378":{"position":[[1014,15]]},"1379":{"position":[[1037,15]]},"1380":{"position":[[1508,15]]},"1381":{"position":[[1414,15]]},"1385":{"position":[[2733,15]]},"1386":{"position":[[1371,15]]},"1387":{"position":[[5002,15]]},"1389":{"position":[[5055,15]]},"1390":{"position":[[1307,15]]},"1391":{"position":[[1260,15]]},"1392":{"position":[[1410,15]]},"1394":{"position":[[1430,15]]},"1396":{"position":[[1236,15]]},"1397":{"position":[[1417,15]]},"1399":{"position":[[1272,15]]},"1400":{"position":[[1141,15]]},"1401":{"position":[[1216,15]]},"1402":{"position":[[1372,15]]},"1404":{"position":[[1205,15]]},"1405":{"position":[[1896,15]]},"1406":{"position":[[1112,15]]},"1407":{"position":[[1937,15]]},"1408":{"position":[[1633,15]]},"1409":{"position":[[1167,15]]},"1411":{"position":[[1150,15]]},"1413":{"position":[[2534,15]]},"1414":{"position":[[1401,15]]},"1415":{"position":[[3383,15]]},"1416":{"position":[[2035,15]]},"1417":{"position":[[1624,15]]},"1418":{"position":[[1325,15]]},"1419":{"position":[[1453,15]]},"1420":{"position":[[1717,15]]},"1421":{"position":[[1692,15]]},"1423":{"position":[[1584,15]]},"1424":{"position":[[1709,15]]},"1425":{"position":[[1325,15]]},"1428":{"position":[[1307,15]]},"1430":{"position":[[2083,15]]},"1431":{"position":[[1427,15]]},"1432":{"position":[[1948,15]]},"1433":{"position":[[1469,15]]},"1434":{"position":[[1143,15]]},"1435":{"position":[[1107,15]]},"1436":{"position":[[1123,15]]},"1437":{"position":[[1193,15]]},"1441":{"position":[[1149,15]]},"1443":{"position":[[1444,15]]},"1444":{"position":[[1360,15]]},"1445":{"position":[[1049,15]]},"1446":{"position":[[1383,15]]},"1447":{"position":[[1265,15]]},"1448":{"position":[[1700,15]]},"1449":{"position":[[1634,15]]},"1450":{"position":[[1513,15]]},"1451":{"position":[[1513,15]]},"1452":{"position":[[1059,15]]},"1453":{"position":[[1645,15]]},"1454":{"position":[[4011,15]]},"1455":{"position":[[1898,15]]},"1456":{"position":[[1243,15]]},"1457":{"position":[[1302,15]]},"1458":{"position":[[1837,15]]},"1459":{"position":[[1316,15]]},"1460":{"position":[[1428,15]]},"1462":{"position":[[5024,15]]},"1463":{"position":[[1150,15]]},"1464":{"position":[[1058,15]]},"1465":{"position":[[2156,15]]},"1466":{"position":[[1394,15]]},"1468":{"position":[[1158,15]]},"1470":{"position":[[4060,15]]},"1474":{"position":[[2059,15]]},"1475":{"position":[[2530,15]]},"1476":{"position":[[1135,15]]},"1479":{"position":[[1227,15]]},"1480":{"position":[[1640,15]]},"1481":{"position":[[2173,15]]},"1482":{"position":[[1247,15]]},"1483":{"position":[[1081,15]]},"1484":{"position":[[1153,15]]},"1485":{"position":[[1413,15]]},"1486":{"position":[[1657,15]]}},"keywords":{}}],["onexternalrunnertestinfo",{"_index":5478,"title":{},"content":{"1068":{"position":[[121,24]]}},"keywords":{}}],["ongo",{"_index":5764,"title":{},"content":{"1120":{"position":[[58,7]]}},"keywords":{}}],["onlocalresourceinfo.resource_env_var",{"_index":5341,"title":{},"content":{"1054":{"position":[[1073,37]]}},"keywords":{}}],["onmetadata",{"_index":6388,"title":{},"content":{"1348":{"position":[[3420,11]]},"1349":{"position":[[1565,11]]},"1350":{"position":[[4536,11]]},"1352":{"position":[[4535,11]]},"1353":{"position":[[2139,11]]},"1354":{"position":[[1977,11]]},"1356":{"position":[[1483,11]]},"1357":{"position":[[1156,11]]},"1358":{"position":[[1877,11]]},"1359":{"position":[[1714,11]]},"1361":{"position":[[1704,11]]},"1365":{"position":[[1638,11]]},"1368":{"position":[[2194,11]]},"1369":{"position":[[1246,11]]},"1371":{"position":[[1122,11]]},"1372":{"position":[[2760,11]]},"1373":{"position":[[3632,11]]},"1375":{"position":[[1158,11]]},"1376":{"position":[[1114,11]]},"1377":{"position":[[1353,11]]},"1378":{"position":[[1100,11]]},"1379":{"position":[[1123,11]]},"1380":{"position":[[1594,11]]},"1381":{"position":[[1500,11]]},"1385":{"position":[[2819,11]]},"1386":{"position":[[1457,11]]},"1387":{"position":[[5088,11]]},"1389":{"position":[[5141,11]]},"1390":{"position":[[1393,11]]},"1391":{"position":[[1346,11]]},"1392":{"position":[[1496,11]]},"1394":{"position":[[1516,11]]},"1396":{"position":[[1322,11]]},"1397":{"position":[[1503,11]]},"1399":{"position":[[1358,11]]},"1400":{"position":[[1227,11]]},"1401":{"position":[[1302,11]]},"1402":{"position":[[1458,11]]},"1404":{"position":[[1291,11]]},"1405":{"position":[[1982,11]]},"1406":{"position":[[1198,11]]},"1407":{"position":[[2023,11]]},"1408":{"position":[[1719,11]]},"1409":{"position":[[1253,11]]},"1411":{"position":[[1236,11]]},"1413":{"position":[[2620,11]]},"1414":{"position":[[1487,11]]},"1415":{"position":[[3469,11]]},"1416":{"position":[[2121,11]]},"1417":{"position":[[1710,11]]},"1418":{"position":[[1411,11]]},"1419":{"position":[[1539,11]]},"1420":{"position":[[1803,11]]},"1421":{"position":[[1778,11]]},"1423":{"position":[[1670,11]]},"1424":{"position":[[1795,11]]},"1425":{"position":[[1411,11]]},"1428":{"position":[[1393,11]]},"1430":{"position":[[2169,11]]},"1431":{"position":[[1513,11]]},"1432":{"position":[[2034,11]]},"1433":{"position":[[1555,11]]},"1434":{"position":[[1229,11]]},"1435":{"position":[[1193,11]]},"1436":{"position":[[1209,11]]},"1437":{"position":[[1279,11]]},"1441":{"position":[[1235,11]]},"1443":{"position":[[1530,11]]},"1444":{"position":[[1446,11]]},"1445":{"position":[[1135,11]]},"1446":{"position":[[1469,11]]},"1447":{"position":[[1351,11]]},"1448":{"position":[[1786,11]]},"1449":{"position":[[1720,11]]},"1450":{"position":[[1599,11]]},"1451":{"position":[[1599,11]]},"1452":{"position":[[1145,11]]},"1453":{"position":[[1731,11]]},"1454":{"position":[[4097,11]]},"1455":{"position":[[1984,11]]},"1456":{"position":[[1329,11]]},"1457":{"position":[[1388,11]]},"1458":{"position":[[1923,11]]},"1459":{"position":[[1402,11]]},"1460":{"position":[[1514,11]]},"1462":{"position":[[5110,11]]},"1463":{"position":[[1236,11]]},"1464":{"position":[[1144,11]]},"1465":{"position":[[2242,11]]},"1466":{"position":[[1480,11]]},"1468":{"position":[[1244,11]]},"1470":{"position":[[4146,11]]},"1474":{"position":[[2145,11]]},"1475":{"position":[[2616,11]]},"1476":{"position":[[1221,11]]},"1479":{"position":[[1313,11]]},"1480":{"position":[[1726,11]]},"1481":{"position":[[2259,11]]},"1482":{"position":[[1333,11]]},"1483":{"position":[[1167,11]]},"1484":{"position":[[1239,11]]},"1485":{"position":[[1499,11]]},"1486":{"position":[[1743,11]]}},"keywords":{}}],["onpackag",{"_index":4491,"title":{},"content":{"919":{"position":[[859,9]]}},"keywords":{}}],["onpulls_plugin",{"_index":1327,"title":{},"content":{"121":{"position":[[349,15]]},"530":{"position":[[349,15]]}},"keywords":{}}],["ontarget_label",{"_index":1649,"title":{},"content":{"298":{"position":[[2428,14]]},"851":{"position":[[1757,14]]}},"keywords":{}}],["onto",{"_index":4151,"title":{},"content":{"887":{"position":[[488,4]]},"919":{"position":[[977,4]]},"924":{"position":[[292,4]]},"1386":{"position":[[2987,4]]}},"keywords":{}}],["oom",{"_index":6180,"title":{"1244":{"position":[[17,5]]}},"content":{"1244":{"position":[[14,5]]},"1247":{"position":[[430,4]]},"1254":{"position":[[356,4]]}},"keywords":{}}],["oop",{"_index":3149,"title":{},"content":{"641":{"position":[[162,4]]}},"keywords":{}}],["opam",{"_index":64,"title":{},"content":{"4":{"position":[[477,4]]}},"keywords":{}}],["opaqu",{"_index":961,"title":{},"content":{"67":{"position":[[241,7]]},"74":{"position":[[37,6]]},"455":{"position":[[241,7]]},"497":{"position":[[37,6]]},"1004":{"position":[[162,7]]},"1071":{"position":[[821,6]]}},"keywords":{}}],["opaque_metadata",{"_index":6325,"title":{},"content":{"1348":{"position":[[245,15]]},"1349":{"position":[[256,15]]},"1350":{"position":[[248,15]]},"1351":{"position":[[254,15]]},"1352":{"position":[[248,15]]},"1353":{"position":[[261,15]]},"1354":{"position":[[262,15]]},"1355":{"position":[[249,15]]},"1356":{"position":[[250,15]]},"1357":{"position":[[250,15]]},"1358":{"position":[[254,15]]},"1359":{"position":[[250,15]]},"1360":{"position":[[245,15]]},"1361":{"position":[[253,15]]},"1362":{"position":[[246,15]]},"1363":{"position":[[246,15]]},"1364":{"position":[[247,15]]},"1365":{"position":[[247,15]]},"1366":{"position":[[248,15]]},"1367":{"position":[[244,15]]},"1368":{"position":[[249,15]]},"1369":{"position":[[253,15]]},"1370":{"position":[[260,15]]},"1371":{"position":[[251,15]]},"1372":{"position":[[248,15]]},"1373":{"position":[[245,15]]},"1374":{"position":[[247,15]]},"1375":{"position":[[248,15]]},"1376":{"position":[[253,15]]},"1377":{"position":[[250,15]]},"1378":{"position":[[252,15]]},"1379":{"position":[[250,15]]},"1380":{"position":[[249,15]]},"1381":{"position":[[248,15]]},"1382":{"position":[[244,15]]},"1383":{"position":[[245,15]]},"1384":{"position":[[245,15]]},"1385":{"position":[[251,15]]},"1386":{"position":[[256,15]]},"1387":{"position":[[254,15]]},"1388":{"position":[[242,15]]},"1389":{"position":[[247,15]]},"1390":{"position":[[242,15]]},"1391":{"position":[[243,15]]},"1392":{"position":[[240,15]]},"1393":{"position":[[244,15]]},"1394":{"position":[[253,15]]},"1395":{"position":[[248,15]]},"1396":{"position":[[253,15]]},"1397":{"position":[[248,15]]},"1398":{"position":[[245,15]]},"1399":{"position":[[245,15]]},"1400":{"position":[[254,15]]},"1401":{"position":[[243,15]]},"1402":{"position":[[242,15]]},"1403":{"position":[[241,15]]},"1404":{"position":[[243,15]]},"1405":{"position":[[243,15]]},"1406":{"position":[[253,15]]},"1407":{"position":[[253,15]]},"1408":{"position":[[244,15]]},"1409":{"position":[[243,15]]},"1410":{"position":[[241,15]]},"1411":{"position":[[248,15]]},"1412":{"position":[[248,15]]},"1413":{"position":[[245,15]]},"1414":{"position":[[244,15]]},"1415":{"position":[[248,15]]},"1416":{"position":[[248,15]]},"1417":{"position":[[246,15]]},"1418":{"position":[[249,15]]},"1419":{"position":[[245,15]]},"1420":{"position":[[249,15]]},"1421":{"position":[[258,15]]},"1422":{"position":[[246,15]]},"1423":{"position":[[243,15]]},"1424":{"position":[[245,15]]},"1425":{"position":[[259,15]]},"1426":{"position":[[245,15]]},"1427":{"position":[[246,15]]},"1428":{"position":[[245,15]]},"1429":{"position":[[243,15]]},"1430":{"position":[[250,15]]},"1431":{"position":[[243,15]]},"1432":{"position":[[251,15]]},"1433":{"position":[[244,15]]},"1434":{"position":[[246,15]]},"1435":{"position":[[251,15]]},"1436":{"position":[[247,15]]},"1437":{"position":[[244,15]]},"1438":{"position":[[242,15]]},"1439":{"position":[[248,15]]},"1440":{"position":[[245,15]]},"1441":{"position":[[250,15]]},"1442":{"position":[[251,15]]},"1443":{"position":[[244,15]]},"1444":{"position":[[245,15]]},"1445":{"position":[[248,15]]},"1446":{"position":[[245,15]]},"1447":{"position":[[247,15]]},"1448":{"position":[[246,15]]},"1449":{"position":[[247,15]]},"1450":{"position":[[246,15]]},"1451":{"position":[[246,15]]},"1452":{"position":[[242,15]]},"1453":{"position":[[258,15]]},"1454":{"position":[[254,15]]},"1455":{"position":[[260,15]]},"1456":{"position":[[257,15]]},"1457":{"position":[[253,15]]},"1458":{"position":[[246,15]]},"1459":{"position":[[257,15]]},"1460":{"position":[[256,15]]},"1461":{"position":[[257,15]]},"1462":{"position":[[247,15]]},"1463":{"position":[[257,15]]},"1464":{"position":[[258,15]]},"1465":{"position":[[248,15]]},"1466":{"position":[[261,15]]},"1467":{"position":[[245,15]]},"1468":{"position":[[252,15]]},"1469":{"position":[[245,15]]},"1470":{"position":[[250,15]]},"1471":{"position":[[245,15]]},"1472":{"position":[[246,15]]},"1473":{"position":[[243,15]]},"1474":{"position":[[247,15]]},"1475":{"position":[[244,15]]},"1476":{"position":[[250,15]]},"1477":{"position":[[243,15]]},"1478":{"position":[[241,15]]},"1479":{"position":[[258,15]]},"1480":{"position":[[247,15]]},"1481":{"position":[[249,15]]},"1482":{"position":[[244,15]]},"1483":{"position":[[249,15]]},"1484":{"position":[[249,15]]},"1485":{"position":[[250,15]]},"1486":{"position":[[245,15]]},"1487":{"position":[[242,15]]}},"keywords":{}}],["open",{"_index":78,"title":{},"content":{"5":{"position":[[53,4]]},"22":{"position":[[591,4],[1948,4]]},"24":{"position":[[246,4],[324,4],[450,4],[588,4],[671,4],[766,4],[814,4],[1089,4]]},"446":{"position":[[237,4]]},"595":{"position":[[303,4],[338,4],[425,4]]},"693":{"position":[[8111,4]]},"706":{"position":[[390,4]]},"825":{"position":[[237,4]]},"972":{"position":[[47,4]]},"1059":{"position":[[103,4]]},"1075":{"position":[[673,4]]},"1171":{"position":[[434,4]]},"1172":{"position":[[971,4]]},"1173":{"position":[[271,4]]},"1174":{"position":[[175,4]]},"1175":{"position":[[195,4]]},"1176":{"position":[[279,4]]},"1177":{"position":[[25,4],[191,4],[457,4]]},"1178":{"position":[[345,4]]},"1179":{"position":[[211,4]]},"1180":{"position":[[541,4]]},"1181":{"position":[[296,4]]},"1182":{"position":[[233,4]]},"1183":{"position":[[188,4]]},"1219":{"position":[[0,4]]},"1244":{"position":[[329,4]]},"1260":{"position":[[990,4]]},"1291":{"position":[[990,4]]},"1319":{"position":[[990,4]]},"1360":{"position":[[5798,4]]},"1398":{"position":[[6412,4]]},"1407":{"position":[[4134,7]]}},"keywords":{}}],["oper",{"_index":947,"title":{},"content":{"65":{"position":[[184,9]]},"71":{"position":[[140,10]]},"236":{"position":[[476,9]]},"237":{"position":[[563,9]]},"303":{"position":[[100,10]]},"453":{"position":[[184,9]]},"494":{"position":[[140,10]]},"498":{"position":[[48,10]]},"596":{"position":[[330,9]]},"685":{"position":[[260,10]]},"715":{"position":[[1237,10]]},"870":{"position":[[366,11]]},"872":{"position":[[827,10]]},"889":{"position":[[534,7]]},"944":{"position":[[91,8],[1974,9]]},"955":{"position":[[896,10],[971,10]]},"959":{"position":[[455,11]]},"962":{"position":[[81,11]]},"1004":{"position":[[191,11],[1033,9],[1187,9],[2267,10]]},"1087":{"position":[[216,9]]},"1130":{"position":[[27,9]]},"1133":{"position":[[15,9],[221,8],[855,9]]},"1134":{"position":[[80,8]]},"1172":{"position":[[1553,7]]},"1173":{"position":[[853,7]]},"1221":{"position":[[13,10]]},"1259":{"position":[[257,8],[982,8],[1308,8]]},"1262":{"position":[[42,8]]},"1271":{"position":[[25,8]]},"1273":{"position":[[21,8],[207,9]]},"1282":{"position":[[92,8],[140,8]]},"1283":{"position":[[105,8],[157,8]]},"1284":{"position":[[85,8],[137,8]]},"1286":{"position":[[163,9]]},"1287":{"position":[[76,9]]},"1290":{"position":[[257,8],[982,8],[1308,8]]},"1293":{"position":[[42,8]]},"1302":{"position":[[25,8]]},"1304":{"position":[[21,8],[207,9]]},"1313":{"position":[[92,8],[140,8]]},"1314":{"position":[[105,8],[157,8]]},"1315":{"position":[[85,8],[137,8]]},"1318":{"position":[[257,8],[982,8],[1308,8]]},"1321":{"position":[[42,8]]},"1330":{"position":[[25,8]]},"1332":{"position":[[21,8],[207,9]]},"1341":{"position":[[92,8],[140,8]]},"1342":{"position":[[105,8],[157,8]]},"1343":{"position":[[85,8],[137,8]]},"1362":{"position":[[7865,10],[11147,10],[12023,10]]},"1364":{"position":[[8104,10],[8714,10],[12114,10]]},"1367":{"position":[[11517,10]]},"1373":{"position":[[5662,10]]},"1382":{"position":[[8016,10],[9364,10]]},"1384":{"position":[[7282,10],[8900,10],[14080,10],[14259,9],[15709,10]]},"1385":{"position":[[4247,10]]},"1387":{"position":[[7340,10],[7518,9]]},"1388":{"position":[[8630,10]]},"1393":{"position":[[6525,9]]},"1394":{"position":[[1702,9]]},"1395":{"position":[[2749,9]]},"1396":{"position":[[1602,9]]},"1397":{"position":[[2300,9]]},"1398":{"position":[[3727,9]]},"1399":{"position":[[1803,11]]},"1415":{"position":[[4129,10]]},"1454":{"position":[[7732,9]]}},"keywords":{}}],["operand",{"_index":3110,"title":{},"content":{"637":{"position":[[145,8]]},"671":{"position":[[76,8]]}},"keywords":{}}],["operation.exported_platform_dep",{"_index":8169,"title":{},"content":{"1454":{"position":[[5683,33]]}},"keywords":{}}],["operation.platform_preprocessor_flag",{"_index":7062,"title":{},"content":{"1373":{"position":[[7044,38]]},"1385":{"position":[[5592,38]]},"1387":{"position":[[8965,38]]}},"keywords":{}}],["operation.src",{"_index":7832,"title":{},"content":{"1415":{"position":[[5003,15]]}},"keywords":{}}],["operation—with",{"_index":7200,"title":{},"content":{"1384":{"position":[[9590,14]]}},"keywords":{}}],["oppos",{"_index":2017,"title":{},"content":{"374":{"position":[[1328,7]]},"753":{"position":[[1328,7]]},"1007":{"position":[[140,7]]}},"keywords":{}}],["opposit",{"_index":1814,"title":{},"content":{"333":{"position":[[385,8]]}},"keywords":{}}],["opt",{"_index":3459,"title":{},"content":{"690":{"position":[[240,3]]},"937":{"position":[[1588,4],[4096,4]]},"1114":{"position":[[633,3]]},"1403":{"position":[[6069,4]]}},"keywords":{}}],["optim",{"_index":115,"title":{"1055":{"position":[[18,12]]}},"content":{"6":{"position":[[72,13]]},"9":{"position":[[278,9]]},"22":{"position":[[362,8]]},"23":{"position":[[1827,12],[2264,13]]},"693":{"position":[[3268,12],[3936,12]]},"919":{"position":[[778,14]]},"1255":{"position":[[217,9]]},"1358":{"position":[[2664,13]]},"1386":{"position":[[2506,13],[5247,13]]},"1414":{"position":[[673,9]]}},"keywords":{}}],["optimis",{"_index":419,"title":{},"content":{"13":{"position":[[141,13]]},"890":{"position":[[2209,8],[6237,14],[6274,13]]},"898":{"position":[[1439,8]]},"900":{"position":[[1643,13]]}},"keywords":{}}],["optimization_pass",{"_index":6449,"title":{},"content":{"1350":{"position":[[2927,20]]},"1352":{"position":[[2926,20]]}},"keywords":{}}],["optimizations—such",{"_index":6622,"title":{},"content":{"1358":{"position":[[2499,18]]}},"keywords":{}}],["optimizationwhich",{"_index":6152,"title":{},"content":{"1232":{"position":[[3567,17]]}},"keywords":{}}],["option",{"_index":820,"title":{"879":{"position":[[16,7]]}},"content":{"31":{"position":[[40,8]]},"40":{"position":[[165,8]]},"41":{"position":[[248,8],[273,8]]},"91":{"position":[[389,8],[525,8]]},"94":{"position":[[2784,7],[2911,7],[3343,7],[3407,7],[3614,6],[3668,7]]},"98":{"position":[[529,11],[633,11],[954,11]]},"99":{"position":[[1301,11],[1362,11]]},"126":{"position":[[402,8]]},"140":{"position":[[251,9]]},"173":{"position":[[165,8]]},"174":{"position":[[248,8],[273,8]]},"187":{"position":[[40,8]]},"204":{"position":[[59,8]]},"205":{"position":[[73,8]]},"223":{"position":[[389,8],[525,8]]},"226":{"position":[[2784,7],[2911,7],[3343,7],[3407,7],[3614,6],[3668,7]]},"230":{"position":[[529,11],[633,11],[954,11]]},"231":{"position":[[1301,11],[1362,11]]},"243":{"position":[[490,8]]},"245":{"position":[[86,8]]},"246":{"position":[[86,8]]},"249":{"position":[[402,8]]},"263":{"position":[[251,9]]},"276":{"position":[[332,6]]},"277":{"position":[[284,6]]},"281":{"position":[[408,6]]},"282":{"position":[[357,6]]},"294":{"position":[[522,8],[662,8],[1133,7]]},"295":{"position":[[180,8]]},"297":{"position":[[500,8],[961,7]]},"298":{"position":[[1429,8]]},"301":{"position":[[436,8],[848,7]]},"302":{"position":[[180,8]]},"306":{"position":[[100,8]]},"309":{"position":[[705,7],[738,8]]},"310":{"position":[[553,7]]},"311":{"position":[[401,7]]},"318":{"position":[[228,8]]},"320":{"position":[[272,8]]},"322":{"position":[[87,8]]},"346":{"position":[[265,8]]},"397":{"position":[[63,9]]},"402":{"position":[[654,6]]},"404":{"position":[[191,6]]},"416":{"position":[[181,8]]},"417":{"position":[[410,8]]},"427":{"position":[[443,7]]},"528":{"position":[[96,8]]},"554":{"position":[[246,8]]},"557":{"position":[[258,8]]},"559":{"position":[[319,8]]},"566":{"position":[[222,8]]},"568":{"position":[[169,8]]},"591":{"position":[[274,8]]},"595":{"position":[[389,8],[539,9]]},"610":{"position":[[245,8]]},"617":{"position":[[300,8]]},"639":{"position":[[312,8]]},"648":{"position":[[500,8]]},"654":{"position":[[229,8]]},"666":{"position":[[234,8],[338,8]]},"675":{"position":[[467,8]]},"687":{"position":[[162,6]]},"692":{"position":[[199,6]]},"693":{"position":[[1226,8]]},"711":{"position":[[1099,8]]},"776":{"position":[[63,9]]},"781":{"position":[[654,6]]},"783":{"position":[[191,6]]},"795":{"position":[[181,8]]},"796":{"position":[[410,8]]},"806":{"position":[[443,7]]},"873":{"position":[[80,7]]},"879":{"position":[[16,7],[47,7]]},"924":{"position":[[20,7]]},"937":{"position":[[4068,7]]},"977":{"position":[[186,8]]},"1004":{"position":[[586,10]]},"1005":{"position":[[25,8]]},"1045":{"position":[[246,10]]},"1046":{"position":[[298,10]]},"1052":{"position":[[844,8]]},"1077":{"position":[[15,10]]},"1081":{"position":[[302,9]]},"1086":{"position":[[261,8]]},"1112":{"position":[[3468,8],[3858,8],[4957,8]]},"1127":{"position":[[165,8]]},"1131":{"position":[[72,6],[285,6]]},"1133":{"position":[[414,8]]},"1136":{"position":[[813,9],[982,8],[2461,8],[2711,8],[2777,7],[4560,8],[4654,6],[4978,8],[5711,8],[6030,8]]},"1138":{"position":[[55,9],[136,8],[1643,8],[1753,9],[1797,8],[1824,6],[1902,7],[1976,8],[1999,7],[3973,6],[5560,8],[5699,6],[6373,8],[6439,7],[8222,8],[8316,6],[8640,8],[9373,8],[9692,8]]},"1140":{"position":[[41,9],[291,8],[1132,8],[1242,9],[1286,8],[1313,6],[1391,7],[1465,8],[1488,7],[3462,6],[5049,8],[5299,8],[5365,7],[7148,8],[7242,6],[7566,8],[8299,8],[8618,8]]},"1142":{"position":[[103,9],[113,8],[665,6],[743,8],[809,7],[2592,8],[2686,6],[3010,8],[3743,8],[4062,8]]},"1144":{"position":[[199,9],[323,8],[390,8]]},"1146":{"position":[[76,9],[161,8],[273,6],[433,8],[683,8],[749,7],[2532,8],[2626,6],[2950,8],[3683,8],[4002,8]]},"1148":{"position":[[1169,9],[1338,8],[2910,8],[3049,6],[3723,8],[3789,7],[5572,8],[5666,6],[5990,8],[6723,8],[7051,8],[7130,6],[7593,8]]},"1150":{"position":[[511,9],[558,8],[625,8]]},"1152":{"position":[[81,9],[91,8],[323,8]]},"1154":{"position":[[67,9],[411,8],[478,8]]},"1155":{"position":[[88,9],[311,8],[779,8],[845,7],[2628,8],[2722,6],[3046,8],[3779,8],[4098,8]]},"1156":{"position":[[182,9],[224,8],[357,8],[423,7],[2206,8],[2300,6],[2624,8],[3357,8],[3676,8]]},"1157":{"position":[[70,9],[80,8],[261,8]]},"1158":{"position":[[64,9],[74,8],[255,8]]},"1159":{"position":[[64,9],[74,8],[255,8]]},"1161":{"position":[[53,9],[174,8],[517,8],[1250,8]]},"1163":{"position":[[240,9],[250,8],[317,8],[636,8]]},"1165":{"position":[[69,9],[79,8],[146,8],[465,8]]},"1167":{"position":[[62,9],[241,8],[473,6],[619,6],[1655,6],[1820,6],[2136,8],[2246,9],[2290,8],[2317,6],[2395,7],[2469,8],[2492,7],[4466,6],[6053,8],[6303,8],[6369,7],[8152,8],[8246,6],[8570,8],[9303,8],[9622,8]]},"1169":{"position":[[64,9],[74,8],[142,8],[208,7],[1991,8],[2085,6],[2411,8],[2730,8]]},"1171":{"position":[[66,9],[904,8],[971,8]]},"1172":{"position":[[862,9],[938,8],[1080,6],[2356,8]]},"1173":{"position":[[162,9],[238,8],[380,6],[1043,8]]},"1174":{"position":[[66,9],[142,8],[284,6],[471,8]]},"1175":{"position":[[86,9],[162,8],[304,6],[467,8]]},"1176":{"position":[[170,9],[246,8],[388,6],[636,8]]},"1177":{"position":[[82,9],[158,8],[300,6],[557,8]]},"1178":{"position":[[236,9],[312,8],[454,6],[874,8]]},"1179":{"position":[[102,9],[178,8],[320,6],[671,8]]},"1180":{"position":[[432,9],[508,8],[650,6],[942,8]]},"1181":{"position":[[126,9],[263,8],[405,6],[729,8],[1462,8]]},"1182":{"position":[[124,9],[200,8],[342,6],[505,8]]},"1183":{"position":[[79,9],[155,8],[297,6],[460,8]]},"1185":{"position":[[51,9],[238,8],[305,8]]},"1186":{"position":[[55,9],[160,8],[1134,8],[1273,6],[1947,8],[2013,7],[3796,8],[3890,6],[4214,8],[4947,8],[5266,8]]},"1187":{"position":[[68,9],[173,8],[1147,8],[1286,6],[1960,8],[2026,7],[3809,8],[3903,6],[4227,8],[4960,8],[5279,8]]},"1188":{"position":[[52,9],[344,8],[1185,8],[1295,9],[1339,8],[1366,6],[1444,7],[1518,8],[1541,7],[3515,6],[5873,8],[6012,6],[6686,8],[6752,7],[8535,8],[8629,6],[8953,8],[9686,8],[10005,8]]},"1190":{"position":[[55,9],[1569,8],[1636,8]]},"1191":{"position":[[89,9],[231,8],[469,6],[547,8],[613,7],[2396,8],[2490,6],[2814,8],[3547,8],[3866,8]]},"1192":{"position":[[277,9],[365,8],[472,8],[722,8],[788,7],[2571,8],[2665,6],[2989,8],[3722,8],[4041,8]]},"1193":{"position":[[52,9],[312,8],[696,6],[774,8],[840,7],[2623,8],[2717,6],[3041,8],[3774,8],[4093,8]]},"1194":{"position":[[87,9],[297,8],[336,6],[414,8],[480,7],[2263,8],[2357,6],[2681,8],[3414,8],[3733,8]]},"1195":{"position":[[87,9],[231,8],[314,6],[392,8],[458,7],[2241,8],[2335,6],[2659,8],[3392,8],[3711,8]]},"1196":{"position":[[75,9],[85,8],[124,6],[202,8],[268,7],[2051,8],[2145,6],[2469,8],[3202,8],[3521,8]]},"1197":{"position":[[83,9],[178,8],[372,8],[511,6],[1185,8],[1251,7],[3034,8],[3128,6],[3452,8],[4185,8],[4504,8]]},"1198":{"position":[[59,9],[154,8],[382,8],[521,6],[1195,8],[1261,7],[3044,8],[3138,6],[3462,8],[4195,8],[4514,8]]},"1199":{"position":[[86,9],[246,8],[410,8],[549,6],[1223,8],[1289,7],[3072,8],[3166,6],[3490,8],[4223,8],[4542,8]]},"1200":{"position":[[116,9],[199,8],[277,8],[416,6],[1090,8],[1156,7],[2939,8],[3033,6],[3357,8],[4090,8],[4409,8]]},"1201":{"position":[[140,9],[233,8],[272,6],[350,8],[416,7],[2199,8],[2293,6],[2617,8],[3350,8],[3669,8]]},"1202":{"position":[[63,9],[346,8],[413,8],[1295,9],[1375,8],[1414,6],[1492,8],[1558,7],[3341,8],[3435,6],[3759,8],[4492,8],[4811,8],[5711,9],[5772,8],[5811,6],[5889,8],[5955,7],[7738,8],[7832,6],[8156,8],[8889,8],[9208,8]]},"1203":{"position":[[79,9],[256,8],[334,8],[584,8],[650,7],[2433,8],[2527,6],[2851,8],[3584,8],[3903,8]]},"1204":{"position":[[100,9],[311,8],[350,6],[428,8],[494,7],[2277,8],[2371,6],[2695,8],[3428,8],[3747,8],[4572,9],[4582,8],[4649,8],[5502,9],[5512,8],[5579,8],[6404,9],[6414,8],[6481,8],[7312,9],[7400,8],[7467,8],[8344,9],[8354,8],[8421,8],[9256,9],[9266,8],[9368,8],[10221,9],[10231,8],[10298,8]]},"1205":{"position":[[286,9],[455,8],[1507,8],[1757,8],[1823,7],[3606,8],[3700,6],[4024,8],[4757,8],[5076,8]]},"1206":{"position":[[130,9],[160,8],[228,8],[294,7],[2077,8],[2171,6],[2495,8],[3228,8],[3567,6],[3775,8]]},"1207":{"position":[[156,9],[268,8],[307,6],[385,8],[451,7],[2234,8],[2328,6],[2652,8],[3385,8],[3704,8]]},"1209":{"position":[[46,9],[215,8],[1655,6],[1733,8],[1799,7],[3582,8],[3676,6],[4000,8],[4733,8],[5052,8]]},"1211":{"position":[[66,9],[76,8],[376,8]]},"1213":{"position":[[70,9],[80,8],[147,8]]},"1215":{"position":[[41,9],[51,8],[231,8]]},"1217":{"position":[[189,9],[356,8],[877,8],[987,9],[1031,8],[1058,6],[1136,7],[1210,8],[1233,7],[3207,6],[4794,8],[5044,8],[5110,7],[6893,8],[6987,6],[7311,8],[8044,8],[8363,8]]},"1219":{"position":[[773,9],[783,8],[1030,8],[1096,7],[2879,8],[2973,6],[3299,8],[3618,8]]},"1221":{"position":[[54,9],[283,8],[350,8]]},"1222":{"position":[[60,9],[86,8],[154,8],[220,7],[2003,8],[2097,6],[2421,8],[3154,8],[3489,8]]},"1223":{"position":[[70,9],[96,8],[164,8],[230,7],[2013,8],[2107,6],[2431,8],[3164,8],[3499,8]]},"1224":{"position":[[266,9],[276,8],[344,8],[410,7],[2193,8],[2287,6],[2613,8],[2932,8]]},"1226":{"position":[[50,9],[135,8],[1284,6],[1361,6],[5262,8],[5512,8],[5578,7],[7361,8],[7455,6],[7779,8],[8512,8],[8831,8]]},"1228":{"position":[[63,9],[399,8],[2958,8],[3068,9],[3112,8],[3139,6],[3217,7],[3291,8],[3314,7],[5288,6],[6875,8],[7125,8],[7191,7],[8974,8],[9068,6],[9392,8],[10125,8],[10444,8]]},"1235":{"position":[[1306,9],[1475,8],[2915,6],[2993,8],[3059,7],[4842,8],[4936,6],[5260,8],[5993,8],[6312,8]]},"1237":{"position":[[220,9],[305,8],[1454,6],[1531,6],[5432,8],[5682,8],[5748,7],[7531,8],[7625,6],[7949,8],[8682,8],[9001,8]]},"1244":{"position":[[311,6]]},"1351":{"position":[[2499,8]]},"1355":{"position":[[4866,8]]},"1359":{"position":[[1921,8]]},"1361":{"position":[[1840,8],[2092,8]]},"1362":{"position":[[6559,8],[9765,7]]},"1363":{"position":[[2999,10],[4049,7]]},"1364":{"position":[[10879,7]]},"1365":{"position":[[1816,7]]},"1367":{"position":[[10682,7],[14126,8],[14257,8]]},"1382":{"position":[[6491,7]]},"1383":{"position":[[1404,7],[8310,7],[8516,7]]},"1384":{"position":[[12845,7]]},"1386":{"position":[[2965,8],[5271,8]]},"1388":{"position":[[7360,7]]},"1393":{"position":[[2236,10],[4242,7],[4358,8],[4510,6],[8822,6],[8924,6]]},"1397":{"position":[[1740,10]]},"1416":{"position":[[3509,6]]},"1420":{"position":[[2646,6]]},"1422":{"position":[[1825,8],[2253,8]]},"1423":{"position":[[780,10],[1960,8]]},"1427":{"position":[[4295,6]]},"1429":{"position":[[6105,7]]},"1439":{"position":[[4902,6],[5012,6],[5111,6],[5498,7]]},"1440":{"position":[[6005,7]]},"1462":{"position":[[8680,6]]},"1465":{"position":[[3971,6]]},"1467":{"position":[[10163,6]]},"1469":{"position":[[1756,8],[1901,8],[2341,8]]}},"keywords":{}}],["option<frozenslots>)>>",{"_index":4259,"title":{},"content":{"890":{"position":[[6502,34]]}},"keywords":{}}],["option3",{"_index":3122,"title":{},"content":{"638":{"position":[[301,8]]}},"keywords":{}}],["optional[actionerror",{"_index":5734,"title":{},"content":{"1112":{"position":[[2897,22]]}},"keywords":{}}],["optional[actionerrordiagnost",{"_index":5741,"title":{},"content":{"1112":{"position":[[3656,33]]}},"keywords":{}}],["optional[list[actionerrorloc",{"_index":5746,"title":{},"content":{"1112":{"position":[[4796,36]]}},"keywords":{}}],["optional[str",{"_index":5725,"title":{},"content":{"1112":{"position":[[1851,13],[3904,14]]}},"keywords":{}}],["optional[u64",{"_index":5748,"title":{},"content":{"1112":{"position":[[4984,13]]}},"keywords":{}}],["optional[uint",{"_index":5730,"title":{},"content":{"1112":{"position":[[2574,15]]}},"keywords":{}}],["optional_provider:n2>",{"_index":4875,"title":{},"content":{"984":{"position":[[75,26]]}},"keywords":{}}],["optionallocalresourceinfo",{"_index":5483,"title":{},"content":{"1069":{"position":[[670,25]]}},"keywords":{}}],["orbuck2",{"_index":2609,"title":{},"content":{"570":{"position":[[459,7]]},"1106":{"position":[[144,7]]}},"keywords":{}}],["orbuild",{"_index":5848,"title":{},"content":{"1133":{"position":[[367,7]]}},"keywords":{}}],["orchestr",{"_index":3786,"title":{},"content":{"715":{"position":[[1196,12]]},"1228":{"position":[[1527,12],[1621,12]]}},"keywords":{}}],["orctx.actions.anon_target",{"_index":5171,"title":{},"content":{"1043":{"position":[[54,27]]}},"keywords":{}}],["ord",{"_index":3265,"title":{"656":{"position":[[0,4]]}},"content":{"656":{"position":[[30,4],[214,3]]}},"keywords":{}}],["ord(",{"_index":3267,"title":{},"content":{"656":{"position":[[72,6]]}},"keywords":{}}],["ord("a"",{"_index":3270,"title":{},"content":{"656":{"position":[[341,18]]}},"keywords":{}}],["ord("й"",{"_index":3272,"title":{},"content":{"656":{"position":[[366,18]]}},"keywords":{}}],["ord("😿"",{"_index":3274,"title":{},"content":{"656":{"position":[[393,19]]}},"keywords":{}}],["ord(a",{"_index":3266,"title":{},"content":{"656":{"position":[[4,6]]}},"keywords":{}}],["order",{"_index":898,"title":{"706":{"position":[[7,5]]},"1088":{"position":[[0,9]]}},"content":{"50":{"position":[[332,5]]},"197":{"position":[[332,5]]},"368":{"position":[[2576,5]]},"555":{"position":[[193,5]]},"556":{"position":[[168,5]]},"561":{"position":[[175,5]]},"583":{"position":[[29,5],[904,5],[966,5],[1015,6]]},"654":{"position":[[176,7]]},"655":{"position":[[173,7]]},"665":{"position":[[182,6]]},"666":{"position":[[193,6],[327,6]]},"682":{"position":[[78,5]]},"683":{"position":[[3,5]]},"747":{"position":[[2576,5]]},"923":{"position":[[130,5]]},"937":{"position":[[958,5]]},"938":{"position":[[1002,5]]},"940":{"position":[[331,6]]},"943":{"position":[[26,5],[131,5],[301,5],[2126,8],[2212,5]]},"977":{"position":[[167,6]]},"1035":{"position":[[329,5]]},"1057":{"position":[[1281,5]]},"1064":{"position":[[2089,5]]},"1088":{"position":[[51,5],[134,5],[203,6],[233,8],[253,8],[569,5],[668,5],[1171,8],[1250,9],[1361,8]]},"1134":{"position":[[3,5]]},"1178":{"position":[[622,5]]},"1226":{"position":[[3991,5]]},"1237":{"position":[[4161,5]]},"1245":{"position":[[582,5]]},"1282":{"position":[[268,5]]},"1283":{"position":[[285,5]]},"1284":{"position":[[265,5]]},"1313":{"position":[[268,5]]},"1314":{"position":[[285,5]]},"1315":{"position":[[265,5]]},"1341":{"position":[[268,5]]},"1342":{"position":[[285,5]]},"1343":{"position":[[265,5]]},"1355":{"position":[[5130,5]]},"1362":{"position":[[5210,5]]},"1364":{"position":[[5239,5]]},"1382":{"position":[[4764,5]]},"1384":{"position":[[20198,5],[20799,5]]},"1388":{"position":[[5458,5]]},"1397":{"position":[[1729,6]]},"1422":{"position":[[2560,5],[3563,6]]},"1423":{"position":[[2229,5],[2334,6]]},"1427":{"position":[[4444,5]]},"1439":{"position":[[6943,5]]},"1442":{"position":[[1754,5]]},"1462":{"position":[[8534,5]]},"1467":{"position":[[10016,5],[10121,6]]},"1477":{"position":[[1902,5],[1988,5]]},"1478":{"position":[[2608,5]]},"1487":{"position":[[2704,5]]}},"keywords":{}}],["order.py_version_for_type_check",{"_index":8338,"title":{},"content":{"1462":{"position":[[8639,35]]}},"keywords":{}}],["ordinari",{"_index":7965,"title":{},"content":{"1427":{"position":[[6734,8]]},"1439":{"position":[[7877,8]]}},"keywords":{}}],["orfrozenvalu",{"_index":4153,"title":{},"content":{"888":{"position":[[67,13]]}},"keywords":{}}],["org.junit.rules.timeout",{"_index":7987,"title":{},"content":{"1429":{"position":[[3676,23]]},"1440":{"position":[[3669,23]]}},"keywords":{}}],["org.slf4j",{"_index":7956,"title":{},"content":{"1426":{"position":[[2238,12]]}},"keywords":{}}],["org/slf4j",{"_index":7955,"title":{},"content":{"1426":{"position":[[2222,15]]}},"keywords":{}}],["origin",{"_index":737,"title":{"1094":{"position":[[0,8]]},"1095":{"position":[[12,7]]},"1096":{"position":[[8,7]]}},"content":{"23":{"position":[[1956,8]]},"49":{"position":[[57,10]]},"52":{"position":[[144,8]]},"53":{"position":[[122,8]]},"66":{"position":[[102,8]]},"196":{"position":[[57,10]]},"199":{"position":[[144,8]]},"200":{"position":[[122,8]]},"433":{"position":[[197,11]]},"454":{"position":[[102,8]]},"608":{"position":[[240,8]]},"609":{"position":[[240,8]]},"693":{"position":[[7775,10]]},"812":{"position":[[197,11]]},"888":{"position":[[133,10]]},"890":{"position":[[6606,8]]},"892":{"position":[[1875,8]]},"978":{"position":[[130,8]]},"995":{"position":[[1354,8]]},"1004":{"position":[[1533,8]]},"1093":{"position":[[713,7],[738,7]]},"1094":{"position":[[43,8]]},"1095":{"position":[[12,6]]},"1096":{"position":[[8,6]]},"1176":{"position":[[556,8]]},"1358":{"position":[[2709,11]]},"1360":{"position":[[5627,8]]},"1383":{"position":[[7630,8]]},"1399":{"position":[[1642,8]]},"1403":{"position":[[6730,8]]},"1477":{"position":[[2561,8]]}},"keywords":{}}],["original_script.relative_to(dir",{"_index":978,"title":{},"content":{"69":{"position":[[587,32]]},"457":{"position":[[587,32]]}},"keywords":{}}],["orjemalloc",{"_index":420,"title":{},"content":{"13":{"position":[[155,11]]}},"keywords":{}}],["ornon",{"_index":5469,"title":{},"content":{"1064":{"position":[[1376,6]]},"1065":{"position":[[217,6]]}},"keywords":{}}],["os",{"_index":2253,"title":{},"content":{"419":{"position":[[86,2]]},"690":{"position":[[211,3]]},"798":{"position":[[86,2]]},"937":{"position":[[99,2],[1835,5],[4111,2]]},"938":{"position":[[590,2]]},"939":{"position":[[1260,2],[1584,3]]},"940":{"position":[[556,2],[1040,2]]},"943":{"position":[[1026,3],[1618,2],[1686,2],[2457,2],[2495,2]]},"944":{"position":[[868,2],[961,2],[1151,2],[1405,3]]},"1004":{"position":[[1070,2]]},"1362":{"position":[[13265,2]]},"1364":{"position":[[13965,2]]},"1367":{"position":[[13173,2]]}},"keywords":{}}],["os.label",{"_index":5002,"title":{},"content":{"1004":{"position":[[1322,8]]}},"keywords":{}}],["os=struct",{"_index":2257,"title":{},"content":{"419":{"position":[[180,10]]},"798":{"position":[[180,10]]}},"keywords":{}}],["os=window",{"_index":3577,"title":{},"content":{"693":{"position":[[6747,10]]}},"keywords":{}}],["os_env",{"_index":7449,"title":{},"content":{"1393":{"position":[[779,7],[6462,7]]},"1394":{"position":[[481,7]]},"1395":{"position":[[566,7],[2686,7]]},"1396":{"position":[[447,7]]},"1397":{"position":[[529,7]]},"1398":{"position":[[808,7],[3664,7]]}},"keywords":{}}],["oss",{"_index":327,"title":{},"content":{"10":{"position":[[479,4]]}},"keywords":{}}],["osx",{"_index":6783,"title":{},"content":{"1362":{"position":[[4783,3]]}},"keywords":{}}],["osx—on",{"_index":6650,"title":{},"content":{"1360":{"position":[[2878,6]]},"1383":{"position":[[2463,6]]},"1403":{"position":[[2293,6]]}},"keywords":{}}],["other",{"_index":4066,"title":{},"content":{"870":{"position":[[1227,6]]},"1013":{"position":[[572,7]]}},"keywords":{}}],["other'",{"_index":5053,"title":{},"content":{"1013":{"position":[[480,7]]}},"keywords":{}}],["other_output",{"_index":1469,"title":{},"content":{"237":{"position":[[543,14]]},"368":{"position":[[104,14],[3068,14]]},"747":{"position":[[104,14],[3068,14]]},"1245":{"position":[[242,13]]},"1286":{"position":[[143,14]]}},"keywords":{}}],["otherdynamic_output",{"_index":5135,"title":{},"content":{"1040":{"position":[[655,19]]}},"keywords":{}}],["otherlibrari",{"_index":6932,"title":{},"content":{"1364":{"position":[[14509,16]]}},"keywords":{}}],["otherwis",{"_index":960,"title":{},"content":{"67":{"position":[[224,9]]},"130":{"position":[[197,9]]},"240":{"position":[[301,9]]},"243":{"position":[[516,9]]},"253":{"position":[[197,9]]},"276":{"position":[[284,10]]},"277":{"position":[[235,10]]},"281":{"position":[[351,10]]},"282":{"position":[[299,10]]},"286":{"position":[[242,9]]},"329":{"position":[[361,9]]},"455":{"position":[[224,9]]},"470":{"position":[[301,9]]},"557":{"position":[[320,10]]},"576":{"position":[[133,9]]},"608":{"position":[[208,10]]},"609":{"position":[[208,10]]},"706":{"position":[[2597,9]]},"939":{"position":[[1294,10]]},"1083":{"position":[[198,9]]},"1112":{"position":[[460,9],[2520,10]]},"1136":{"position":[[754,9],[3212,9]]},"1138":{"position":[[6874,9]]},"1140":{"position":[[5800,9]]},"1142":{"position":[[1244,9]]},"1146":{"position":[[1184,9]]},"1148":{"position":[[4224,9]]},"1155":{"position":[[1280,9]]},"1156":{"position":[[858,9]]},"1167":{"position":[[6804,9]]},"1169":{"position":[[643,9]]},"1172":{"position":[[2151,10]]},"1186":{"position":[[2448,9]]},"1187":{"position":[[2461,9]]},"1188":{"position":[[7187,9]]},"1191":{"position":[[1048,9]]},"1192":{"position":[[1223,9]]},"1193":{"position":[[1275,9]]},"1194":{"position":[[915,9]]},"1195":{"position":[[893,9]]},"1196":{"position":[[703,9]]},"1197":{"position":[[1686,9]]},"1198":{"position":[[1696,9]]},"1199":{"position":[[1724,9]]},"1200":{"position":[[1591,9]]},"1201":{"position":[[851,9]]},"1202":{"position":[[1993,9],[6390,9]]},"1203":{"position":[[1085,9]]},"1204":{"position":[[929,9]]},"1205":{"position":[[2258,9]]},"1206":{"position":[[729,9]]},"1207":{"position":[[886,9]]},"1209":{"position":[[2234,9]]},"1217":{"position":[[5545,9]]},"1219":{"position":[[1531,9]]},"1222":{"position":[[655,9]]},"1223":{"position":[[665,9]]},"1224":{"position":[[845,9]]},"1226":{"position":[[1304,10],[6013,9]]},"1228":{"position":[[7626,9]]},"1235":{"position":[[3494,9]]},"1237":{"position":[[1474,10],[6183,9]]},"1254":{"position":[[583,9]]},"1355":{"position":[[4002,9]]},"1360":{"position":[[4091,10]]},"1362":{"position":[[10388,9]]},"1364":{"position":[[11502,9]]},"1367":{"position":[[11305,9]]},"1373":{"position":[[5104,10],[6127,9]]},"1382":{"position":[[6174,10],[7114,9]]},"1384":{"position":[[6686,10],[11121,10],[13468,9],[17316,11],[19610,9]]},"1385":{"position":[[4087,10]]},"1387":{"position":[[6420,10]]},"1388":{"position":[[7043,10],[7983,9]]},"1393":{"position":[[2721,10]]},"1403":{"position":[[3506,10],[4308,9]]},"1405":{"position":[[2366,9],[3159,10],[3451,9]]},"1407":{"position":[[2787,9],[3580,10],[3872,9]]},"1408":{"position":[[2491,9]]},"1410":{"position":[[2809,9],[4161,10],[4859,9]]},"1427":{"position":[[3147,9]]},"1439":{"position":[[3821,9]]},"1454":{"position":[[5390,10]]},"1459":{"position":[[1698,9]]},"1461":{"position":[[1991,9]]},"1485":{"position":[[2455,10]]}},"keywords":{}}],["otp",{"_index":7463,"title":{},"content":{"1393":{"position":[[3542,3],[5431,3],[8311,3],[9156,3],[9307,3],[10241,3]]},"1395":{"position":[[749,3],[2219,3]]},"1397":{"position":[[694,3],[728,3],[1889,3]]},"1398":{"position":[[2557,3]]}},"keywords":{}}],["out",{"_index":603,"title":{"570":{"position":[[5,3]]}},"content":{"19":{"position":[[112,3]]},"24":{"position":[[36,3]]},"86":{"position":[[305,3]]},"96":{"position":[[299,3]]},"218":{"position":[[305,3]]},"228":{"position":[[299,3]]},"243":{"position":[[149,3],[228,3],[326,3],[468,3]]},"288":{"position":[[126,3],[202,3]]},"289":{"position":[[146,3],[222,3]]},"368":{"position":[[1640,3]]},"406":{"position":[[768,3]]},"416":{"position":[[574,4]]},"417":{"position":[[804,4]]},"419":{"position":[[160,3]]},"510":{"position":[[152,3],[228,3]]},"511":{"position":[[172,3],[248,3]]},"570":{"position":[[5,3],[64,3],[217,3]]},"712":{"position":[[287,3],[428,7],[2844,3],[3001,3]]},"724":{"position":[[1115,3],[1698,4]]},"747":{"position":[[1640,3]]},"785":{"position":[[768,3]]},"795":{"position":[[574,4]]},"796":{"position":[[804,4]]},"798":{"position":[[160,3]]},"834":{"position":[[27,3],[153,3]]},"840":{"position":[[1763,3]]},"846":{"position":[[594,3]]},"889":{"position":[[1068,4]]},"907":{"position":[[334,4]]},"911":{"position":[[78,3]]},"923":{"position":[[31,3]]},"937":{"position":[[3832,3],[4626,3]]},"947":{"position":[[1363,3]]},"955":{"position":[[1073,4],[1270,3]]},"970":{"position":[[246,3]]},"1018":{"position":[[349,6]]},"1037":{"position":[[554,3]]},"1046":{"position":[[150,3]]},"1048":{"position":[[550,3],[764,5],[994,3],[1247,5],[1268,5]]},"1049":{"position":[[1394,3],[1606,5]]},"1050":{"position":[[4415,3]]},"1061":{"position":[[419,3]]},"1071":{"position":[[1387,3]]},"1072":{"position":[[265,3]]},"1079":{"position":[[164,3],[251,3],[975,3]]},"1091":{"position":[[151,3]]},"1097":{"position":[[246,3]]},"1103":{"position":[[1787,4]]},"1105":{"position":[[597,3],[960,3]]},"1138":{"position":[[1208,3],[2028,3],[2048,3]]},"1140":{"position":[[1517,3],[1537,3]]},"1142":{"position":[[249,3],[403,4],[599,4]]},"1167":{"position":[[2521,3],[2541,3]]},"1188":{"position":[[1570,3],[1590,3]]},"1190":{"position":[[170,3],[613,3],[780,3],[998,3],[1387,3]]},"1192":{"position":[[7,3]]},"1197":{"position":[[7,3]]},"1200":{"position":[[7,3]]},"1203":{"position":[[7,3]]},"1205":{"position":[[356,3],[408,4]]},"1206":{"position":[[16,3],[3666,3],[3718,4]]},"1217":{"position":[[599,3],[1262,3],[1282,3]]},"1219":{"position":[[720,3]]},"1228":{"position":[[3343,3],[3363,3]]},"1231":{"position":[[61,3]]},"1244":{"position":[[252,3]]},"1254":{"position":[[407,4]]},"1256":{"position":[[28,3]]},"1351":{"position":[[5510,6],[5517,3]]},"1356":{"position":[[1745,3]]},"1360":{"position":[[1073,4],[1094,5],[3624,6],[3738,3],[5026,4],[5153,3],[5191,3],[5198,4],[6309,6],[6393,7],[6401,3],[6575,6],[6634,7],[6642,3]]},"1381":{"position":[[2509,3]]},"1383":{"position":[[951,4],[972,5],[7134,4],[7261,3],[8014,6],[8021,3]]},"1393":{"position":[[2577,3]]},"1399":{"position":[[490,4],[1610,4],[1766,5],[2246,3],[2493,3],[2772,3],[2926,3],[2978,6]]},"1401":{"position":[[1866,3],[1967,6]]},"1403":{"position":[[976,4],[997,5],[3039,6],[3153,3],[4287,4],[4349,4],[4509,5],[5183,4],[5310,3],[5348,3],[5355,4],[5376,5],[5482,3],[5489,4],[5562,4],[5893,4],[5971,4],[7114,6],[7121,3],[7769,6],[7862,7],[7870,3],[8217,4],[8631,3],[8801,3]]},"1405":{"position":[[3944,3]]},"1407":{"position":[[4563,3],[5039,3],[5090,4]]},"1408":{"position":[[2880,3]]},"1410":{"position":[[5745,3]]},"1422":{"position":[[514,4],[2245,4],[2966,4],[4295,3],[4360,6],[4486,4]]},"1423":{"position":[[495,4],[3480,4]]},"1429":{"position":[[5658,4]]},"1439":{"position":[[6467,3]]},"1440":{"position":[[5650,4]]},"1448":{"position":[[2810,3]]},"1449":{"position":[[2744,3]]},"1457":{"position":[[1919,3]]},"1461":{"position":[[3648,3]]},"1462":{"position":[[9151,3]]},"1469":{"position":[[490,4],[1748,4],[2946,3],[3258,3],[3584,3]]},"1471":{"position":[[5734,3]]},"1472":{"position":[[6620,3]]},"1473":{"position":[[5905,3]]},"1477":{"position":[[2407,3],[2522,3],[2930,3],[3123,3]]},"1478":{"position":[[3080,3],[3715,7]]},"1479":{"position":[[562,4]]},"1486":{"position":[[3344,3],[3438,3],[3532,3]]},"1487":{"position":[[559,4],[2091,4]]}},"keywords":{}}],["out%\\androidmanifest.xml",{"_index":7696,"title":{},"content":{"1403":{"position":[[8189,27]]}},"keywords":{}}],["out"",{"_index":1952,"title":{},"content":{"368":{"position":[[906,10],[971,10]]},"747":{"position":[[906,10],[971,10]]}},"keywords":{}}],["out.as_output",{"_index":1658,"title":{},"content":{"298":{"position":[[2856,16]]},"851":{"position":[[2182,16]]},"1048":{"position":[[692,16],[1189,16]]},"1049":{"position":[[1518,15]]}},"keywords":{}}],["out/_cgo_export.h"",{"_index":7774,"title":{},"content":{"1407":{"position":[[5173,24]]}},"keywords":{}}],["out/androidmanifest.xml",{"_index":7695,"title":{},"content":{"1403":{"position":[[8076,26]]}},"keywords":{}}],["out/gen",{"_index":8110,"title":{},"content":{"1446":{"position":[[2749,8]]}},"keywords":{}}],["out/gen/foo/hello.txt"",{"_index":8616,"title":{},"content":{"1487":{"position":[[3266,28]]}},"keywords":{}}],["out/out1.txt",{"_index":7683,"title":{},"content":{"1403":{"position":[[5742,13]]}},"keywords":{}}],["out/out2.txt"",{"_index":7686,"title":{},"content":{"1403":{"position":[[5784,20]]}},"keywords":{}}],["out/path/to/__target__/artifact"",{"_index":1426,"title":{},"content":{"168":{"position":[[181,38]]}},"keywords":{}}],["out/v2/gen/cell/configuration_hash/path/to/target/__target_name__/generated_file"",{"_index":5290,"title":{},"content":{"1050":{"position":[[1717,87]]}},"keywords":{}}],["out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv",{"_index":4316,"title":{},"content":{"896":{"position":[[235,66],[379,66],[599,66],[743,66]]}},"keywords":{}}],["out/v2/gen/fbcode/some_cfg_hash/path/to/__target__/artifact"",{"_index":1497,"title":{},"content":{"243":{"position":[[680,66]]}},"keywords":{}}],["out/v2/gen/root/9f4d83578bb24895/__main__/main",{"_index":539,"title":{},"content":{"17":{"position":[[1472,46]]}},"keywords":{}}],["out="gen",{"_index":7923,"title":{},"content":{"1422":{"position":[[4525,13]]},"1423":{"position":[[3519,13]]}},"keywords":{}}],["outcellsa",{"_index":593,"title":{},"content":{"18":{"position":[[1909,9]]}},"keywords":{}}],["outdat",{"_index":4196,"title":{},"content":{"890":{"position":[[57,9]]},"898":{"position":[[61,9]]}},"keywords":{}}],["outer",{"_index":4210,"title":{},"content":{"890":{"position":[[1331,5]]},"1058":{"position":[[745,5]]},"1243":{"position":[[600,5],[909,5],[1102,5]]}},"keywords":{}}],["outermost",{"_index":3572,"title":{},"content":{"693":{"position":[[6146,9]]}},"keywords":{}}],["outgo",{"_index":5038,"title":{},"content":{"1009":{"position":[[214,8],[284,8]]}},"keywords":{}}],["outlin",{"_index":4213,"title":{},"content":{"890":{"position":[[1671,8]]}},"keywords":{}}],["output",{"_index":524,"title":{"681":{"position":[[14,6]]},"686":{"position":[[9,6]]},"725":{"position":[[16,7]]},"835":{"position":[[39,7]]},"867":{"position":[[10,7]]},"875":{"position":[[16,7]]},"876":{"position":[[8,7]]},"894":{"position":[[9,6]]},"895":{"position":[[19,7]]},"1018":{"position":[[19,6]]},"1205":{"position":[[11,7]]},"1240":{"position":[[12,6]]},"1245":{"position":[[32,9]]}},"content":{"17":{"position":[[1297,6],[1337,6],[1345,7]]},"41":{"position":[[716,8]]},"51":{"position":[[89,6]]},"67":{"position":[[117,6]]},"68":{"position":[[57,7]]},"85":{"position":[[26,7],[260,6]]},"86":{"position":[[24,7]]},"88":{"position":[[197,6],[230,6]]},"89":{"position":[[511,6],[572,6],[666,6]]},"91":{"position":[[27,7],[266,6],[296,6]]},"92":{"position":[[130,8],[1382,7],[1517,7],[1542,6],[1599,7],[1718,8],[2101,6],[2167,7],[2507,7]]},"94":{"position":[[1728,7],[1949,7],[4065,6]]},"95":{"position":[[214,6],[247,6]]},"96":{"position":[[27,7]]},"98":{"position":[[19,7],[1021,6]]},"99":{"position":[[24,7],[652,7],[1429,6]]},"174":{"position":[[716,8]]},"198":{"position":[[89,6]]},"217":{"position":[[26,7],[260,6]]},"218":{"position":[[24,7]]},"220":{"position":[[197,6],[230,6]]},"221":{"position":[[511,6],[572,6],[666,6]]},"223":{"position":[[27,7],[266,6],[296,6]]},"224":{"position":[[130,8],[1382,7],[1517,7],[1542,6],[1599,7],[1718,8],[2101,6],[2167,7],[2507,7]]},"226":{"position":[[1728,7],[1949,7],[4065,6]]},"227":{"position":[[214,6],[247,6]]},"228":{"position":[[27,7]]},"230":{"position":[[19,7],[1021,6]]},"231":{"position":[[24,7],[652,7],[1429,6]]},"237":{"position":[[431,7]]},"245":{"position":[[176,7]]},"246":{"position":[[175,7]]},"288":{"position":[[323,6]]},"289":{"position":[[343,6]]},"298":{"position":[[1114,6],[1266,6],[2705,6]]},"304":{"position":[[406,6]]},"305":{"position":[[47,6],[109,6]]},"344":{"position":[[485,6]]},"345":{"position":[[526,6],[952,7]]},"346":{"position":[[72,7],[121,7],[467,8],[493,8]]},"347":{"position":[[75,7],[219,7],[492,7]]},"362":{"position":[[2707,6]]},"377":{"position":[[1654,7]]},"411":{"position":[[113,8]]},"414":{"position":[[187,6],[244,6]]},"415":{"position":[[225,6]]},"416":{"position":[[113,6]]},"417":{"position":[[319,6],[360,6]]},"425":{"position":[[185,6],[242,6]]},"437":{"position":[[368,6],[496,10]]},"450":{"position":[[264,6]]},"455":{"position":[[117,6]]},"456":{"position":[[57,7]]},"510":{"position":[[346,7]]},"511":{"position":[[366,7]]},"570":{"position":[[505,7],[551,6],[645,6],[686,6]]},"635":{"position":[[179,6]]},"659":{"position":[[79,6]]},"660":{"position":[[54,7]]},"661":{"position":[[77,6]]},"681":{"position":[[25,6],[329,6]]},"686":{"position":[[49,6],[105,6]]},"688":{"position":[[1000,7],[1302,6],[1375,6]]},"690":{"position":[[602,7],[2815,6]]},"693":{"position":[[368,8],[827,6],[894,7],[946,8],[1724,8],[4856,6],[5177,6],[6945,7],[9267,6],[9339,6]]},"695":{"position":[[382,6]]},"704":{"position":[[784,6],[928,6],[1127,6],[1962,6],[2145,7],[2485,6],[2543,7]]},"705":{"position":[[928,7],[1034,7]]},"706":{"position":[[601,6],[1412,6],[1713,7],[1805,7],[2355,6],[2407,6]]},"712":{"position":[[165,7],[1933,7],[2066,9],[2864,7]]},"722":{"position":[[730,6],[953,7],[1181,8]]},"724":{"position":[[136,7],[649,6],[718,6],[1169,7],[1613,7]]},"741":{"position":[[2707,6]]},"756":{"position":[[1654,7]]},"790":{"position":[[113,8]]},"793":{"position":[[187,6],[244,6]]},"794":{"position":[[225,6]]},"795":{"position":[[113,6]]},"796":{"position":[[319,6],[360,6]]},"804":{"position":[[185,6],[242,6]]},"816":{"position":[[368,6],[496,10]]},"829":{"position":[[264,6]]},"833":{"position":[[104,6]]},"835":{"position":[[8,7],[90,7]]},"837":{"position":[[315,8]]},"840":{"position":[[1843,6]]},"847":{"position":[[431,6]]},"851":{"position":[[204,6],[2031,6]]},"860":{"position":[[684,8]]},"867":{"position":[[1231,7]]},"869":{"position":[[498,6],[639,8]]},"870":{"position":[[1107,6],[1524,7]]},"872":{"position":[[315,7]]},"876":{"position":[[23,7],[258,7],[320,8],[337,7]]},"877":{"position":[[105,7]]},"878":{"position":[[46,6],[231,6],[552,6],[727,9],[1437,7]]},"894":{"position":[[10,6]]},"895":{"position":[[95,6],[406,7]]},"950":{"position":[[476,6],[530,6],[744,8]]},"951":{"position":[[135,6],[193,6],[517,6],[639,7],[733,7]]},"955":{"position":[[668,6]]},"958":{"position":[[63,6]]},"959":{"position":[[326,6]]},"964":{"position":[[227,7],[427,6],[932,8]]},"973":{"position":[[302,6]]},"995":{"position":[[601,6]]},"1018":{"position":[[79,6],[175,9],[252,6]]},"1021":{"position":[[756,7]]},"1026":{"position":[[952,6]]},"1029":{"position":[[201,7]]},"1030":{"position":[[61,6]]},"1031":{"position":[[119,6],[456,7]]},"1032":{"position":[[322,6]]},"1036":{"position":[[281,7]]},"1040":{"position":[[83,8],[466,8],[864,7],[1289,7],[1314,6],[1371,7],[1820,8],[2408,8]]},"1050":{"position":[[917,7],[3019,6],[3386,6]]},"1052":{"position":[[611,6],[649,6]]},"1053":{"position":[[1053,6]]},"1056":{"position":[[856,6],[944,6]]},"1061":{"position":[[433,6],[455,6]]},"1075":{"position":[[225,6]]},"1077":{"position":[[187,7]]},"1102":{"position":[[908,6]]},"1103":{"position":[[1138,7],[1187,8],[1726,6],[1818,7],[1932,7],[2040,6]]},"1105":{"position":[[936,7],[1111,7],[1751,8],[2066,7]]},"1112":{"position":[[1656,8],[2060,7],[2332,8],[4615,8]]},"1113":{"position":[[504,7]]},"1127":{"position":[[70,7]]},"1131":{"position":[[10,6],[50,6],[218,6],[268,6],[667,6]]},"1133":{"position":[[637,6]]},"1136":{"position":[[165,7],[396,6],[592,6],[622,7],[710,8],[997,6],[1019,6],[1058,6],[1252,6],[1276,6],[1373,6],[1700,6],[1794,6],[1852,6],[1917,7],[1927,6],[1965,6],[1993,6],[2037,6],[2089,6],[2141,6],[4430,6],[4872,7]]},"1138":{"position":[[152,6],[181,6],[251,6],[289,6],[332,6],[366,6],[443,6],[486,6],[527,6],[544,6],[619,6],[636,6],[1241,6],[1299,6],[8092,6],[8534,7]]},"1140":{"position":[[7018,6],[7460,7]]},"1142":{"position":[[465,7],[2462,6],[2904,7]]},"1146":{"position":[[2402,6],[2844,7]]},"1148":{"position":[[967,6],[1353,6],[1375,6],[1414,6],[1608,6],[1632,6],[1729,6],[2056,6],[2150,6],[2208,6],[2273,7],[2283,6],[2321,6],[2349,6],[2393,6],[2445,6],[2497,6],[5442,6],[5884,7],[7523,6],[7576,6]]},"1155":{"position":[[2498,6],[2940,7]]},"1156":{"position":[[130,7],[194,6],[235,6],[282,6],[2076,6],[2518,7]]},"1167":{"position":[[285,6],[8022,6],[8464,7]]},"1169":{"position":[[1861,6],[2303,7]]},"1171":{"position":[[111,6],[176,7],[242,6],[283,7],[476,7],[540,7],[795,7]]},"1172":{"position":[[0,6],[58,6],[1215,6]]},"1173":{"position":[[0,7],[110,6],[515,6]]},"1174":{"position":[[0,6]]},"1175":{"position":[[0,7]]},"1176":{"position":[[72,6]]},"1178":{"position":[[0,7],[55,6],[587,6],[662,6],[717,6]]},"1179":{"position":[[0,7],[455,6],[588,6]]},"1180":{"position":[[73,6],[785,6]]},"1183":{"position":[[0,7]]},"1186":{"position":[[67,6],[268,6],[300,6],[320,6],[3666,6],[4108,7]]},"1187":{"position":[[80,6],[281,6],[313,6],[333,6],[3679,6],[4121,7]]},"1188":{"position":[[64,6],[5039,6],[5059,6],[8405,6],[8847,7]]},"1190":{"position":[[1106,6],[1148,6],[1254,6]]},"1191":{"position":[[247,6],[317,6],[2266,6],[2708,7]]},"1192":{"position":[[381,6],[2441,6],[2883,7]]},"1193":{"position":[[412,6],[2493,6],[2935,7]]},"1194":{"position":[[2133,6],[2575,7]]},"1195":{"position":[[276,7],[2111,6],[2553,7]]},"1196":{"position":[[1921,6],[2363,7]]},"1197":{"position":[[2904,6],[3346,7]]},"1198":{"position":[[2914,6],[3356,7]]},"1199":{"position":[[265,7],[293,7],[2942,6],[3384,7]]},"1200":{"position":[[2809,6],[3251,7]]},"1201":{"position":[[2069,6],[2511,7]]},"1202":{"position":[[3211,6],[3653,7],[7608,6],[8050,7]]},"1203":{"position":[[2303,6],[2745,7]]},"1204":{"position":[[2147,6],[2589,7]]},"1205":{"position":[[35,6],[141,6],[279,6],[477,6],[499,6],[538,6],[732,6],[756,6],[853,6],[1180,6],[1274,6],[1332,6],[1397,7],[1407,6],[3476,6],[3918,7]]},"1206":{"position":[[1947,6],[2389,7],[3595,6]]},"1207":{"position":[[2104,6],[2546,7]]},"1209":{"position":[[230,6],[252,6],[291,6],[485,6],[509,6],[606,6],[933,6],[1027,6],[1085,6],[1150,7],[1160,6],[1198,6],[1226,6],[1270,6],[1322,6],[1374,6],[3452,6],[3894,7]]},"1215":{"position":[[114,7]]},"1217":{"position":[[6763,6],[7205,7]]},"1219":{"position":[[878,6],[2749,6],[3191,7]]},"1222":{"position":[[1873,6],[2315,7]]},"1223":{"position":[[1883,6],[2325,7]]},"1224":{"position":[[2063,6],[2505,7]]},"1226":{"position":[[2170,6],[2192,6],[2231,6],[2425,6],[2449,6],[2546,6],[2873,6],[2967,6],[3025,6],[3090,7],[3100,6],[3331,6],[3360,6],[3430,6],[3468,6],[3511,6],[3545,6],[3622,6],[3665,6],[3706,6],[3723,6],[3798,6],[3815,6],[3907,6],[3952,6],[4004,6],[4242,6],[4846,6],[4882,6],[5037,6],[7231,6],[7673,7]]},"1228":{"position":[[8844,6],[9286,7]]},"1232":{"position":[[3221,6],[3392,6]]},"1235":{"position":[[760,6],[1490,6],[1512,6],[1551,6],[1745,6],[1769,6],[1866,6],[2193,6],[2287,6],[2345,6],[2410,7],[2420,6],[2458,6],[2486,6],[2530,6],[2582,6],[2634,6],[4712,6],[5154,7]]},"1237":{"position":[[2340,6],[2362,6],[2401,6],[2595,6],[2619,6],[2716,6],[3043,6],[3137,6],[3195,6],[3260,7],[3270,6],[3501,6],[3530,6],[3600,6],[3638,6],[3681,6],[3715,6],[3792,6],[3835,6],[3876,6],[3893,6],[3968,6],[3985,6],[4077,6],[4122,6],[4174,6],[4412,6],[5016,6],[5052,6],[5207,6],[7401,6],[7843,7]]},"1240":{"position":[[24,6],[77,7],[105,6],[200,6],[295,7],[418,6],[446,7]]},"1245":{"position":[[103,8],[168,7],[198,7],[469,6],[598,7]]},"1260":{"position":[[717,6],[895,6],[915,6]]},"1273":{"position":[[561,7]]},"1277":{"position":[[95,6],[172,6]]},"1279":{"position":[[95,6]]},"1280":{"position":[[95,6]]},"1281":{"position":[[95,6]]},"1285":{"position":[[72,7]]},"1286":{"position":[[31,7]]},"1291":{"position":[[717,6],[895,6],[915,6]]},"1304":{"position":[[561,7]]},"1308":{"position":[[95,6],[172,6]]},"1310":{"position":[[95,6]]},"1311":{"position":[[95,6]]},"1312":{"position":[[95,6]]},"1319":{"position":[[717,6],[895,6],[915,6]]},"1332":{"position":[[561,7]]},"1336":{"position":[[95,6],[172,6]]},"1338":{"position":[[95,6]]},"1339":{"position":[[95,6]]},"1340":{"position":[[95,6]]},"1348":{"position":[[4345,6]]},"1351":{"position":[[4648,6],[5010,6]]},"1355":{"position":[[2276,6],[5299,7],[5629,6]]},"1358":{"position":[[2098,6]]},"1359":{"position":[[2176,6],[2246,6]]},"1360":{"position":[[3118,6],[3635,6],[3770,8],[3794,8],[3829,6],[4082,8],[4140,7],[4551,7],[5047,6],[5242,6],[6302,6],[6386,6]]},"1361":{"position":[[728,6],[956,6]]},"1362":{"position":[[6250,6],[7756,6],[7786,6],[10822,7],[10886,8],[10942,6],[11026,6],[11107,6],[11983,6]]},"1364":{"position":[[6279,6],[7995,6],[8025,6],[8605,6],[8635,6],[11789,7],[11853,8],[11909,6],[11993,6],[12074,6]]},"1365":{"position":[[823,6]]},"1366":{"position":[[1006,6]]},"1367":{"position":[[7677,6],[11477,6],[13543,6]]},"1370":{"position":[[2353,6],[2543,6],[2942,7]]},"1373":{"position":[[2842,7],[3806,6],[5338,7],[5402,8],[5458,6],[5542,6],[5622,6],[7004,6]]},"1374":{"position":[[2091,7]]},"1380":{"position":[[623,6],[846,6]]},"1381":{"position":[[1876,6]]},"1382":{"position":[[4162,6],[4588,6],[7691,7],[7755,8],[7811,6],[7895,6],[7976,6],[9324,6]]},"1383":{"position":[[2703,6],[5407,6],[5507,7],[5623,6],[6280,6],[6583,7],[7155,6]]},"1384":{"position":[[5324,6],[7173,6],[7203,6],[8791,6],[8821,6],[9481,6],[9511,6],[11658,6],[11679,6],[11710,6],[11751,6],[11785,6],[13755,7],[13819,8],[13875,6],[13959,6],[14040,6],[14219,6],[14351,6],[15669,6]]},"1385":{"position":[[4207,6],[5552,6]]},"1387":{"position":[[7016,7],[7080,8],[7136,6],[7220,6],[7300,6],[7478,6],[7610,6],[8925,6]]},"1388":{"position":[[4462,6],[4901,6],[5282,6],[6311,6],[8590,6]]},"1393":{"position":[[2352,6],[3985,6],[6971,6],[9726,6]]},"1395":{"position":[[2860,6]]},"1397":{"position":[[2187,6]]},"1398":{"position":[[3860,6],[5134,6]]},"1399":{"position":[[2643,7]]},"1403":{"position":[[1300,6],[2533,6],[3050,6],[3185,8],[3209,8],[3244,6],[3497,8],[3555,7],[3966,7],[4251,6],[4377,6],[4403,6],[4435,6],[4490,7],[5038,6],[5093,6],[5204,6],[5405,7],[5416,6],[5452,6],[8353,8],[8936,7],[9005,6],[9074,6],[9096,6],[9159,7]]},"1412":{"position":[[1598,6]]},"1415":{"position":[[3731,7],[4089,6],[4963,6]]},"1422":{"position":[[2679,6],[2936,6]]},"1427":{"position":[[1764,6],[4613,7]]},"1429":{"position":[[5644,6]]},"1439":{"position":[[2048,6],[7112,7]]},"1440":{"position":[[5636,6]]},"1442":{"position":[[1578,6]]},"1446":{"position":[[2711,6]]},"1454":{"position":[[4271,6],[5574,6],[5604,6],[7692,6],[7824,6]]},"1461":{"position":[[943,6]]},"1462":{"position":[[5284,6]]},"1467":{"position":[[6664,6]]},"1469":{"position":[[2011,6],[2131,6]]},"1471":{"position":[[2830,6],[5541,7]]},"1472":{"position":[[6427,7]]},"1473":{"position":[[4063,6]]},"1482":{"position":[[1728,7],[2661,6]]},"1486":{"position":[[2103,7],[4555,6]]},"1487":{"position":[[1672,6],[2022,6],[2407,6],[2435,6],[2673,6],[3068,6],[3246,6],[3300,6],[3676,6]]}},"keywords":{}}],["output"",{"_index":5148,"title":{},"content":{"1040":{"position":[[2264,13]]},"1050":{"position":[[2672,13],[3945,13]]},"1105":{"position":[[639,13]]}},"keywords":{}}],["output'",{"_index":8611,"title":{},"content":{"1487":{"position":[[2474,8]]}},"keywords":{}}],["output(",{"_index":7836,"title":{},"content":{"1415":{"position":[[5671,9],[5982,9]]}},"keywords":{}}],["output.as_output",{"_index":5692,"title":{},"content":{"1105":{"position":[[1342,20],[1810,20]]}},"keywords":{}}],["output.o",{"_index":1089,"title":{},"content":{"89":{"position":[[536,8],[933,8],[1091,9]]},"221":{"position":[[536,8],[933,8],[1091,9]]}},"keywords":{}}],["output_artifact",{"_index":870,"title":{},"content":{"45":{"position":[[31,15]]},"85":{"position":[[45,15]]},"86":{"position":[[43,15]]},"87":{"position":[[39,15]]},"88":{"position":[[40,15]]},"91":{"position":[[46,15]]},"94":{"position":[[92,15],[399,15]]},"95":{"position":[[43,15]]},"96":{"position":[[46,15]]},"98":{"position":[[38,15],[134,15]]},"99":{"position":[[43,15],[166,15]]},"192":{"position":[[31,15]]},"217":{"position":[[45,15]]},"218":{"position":[[43,15]]},"219":{"position":[[39,15]]},"220":{"position":[[40,15]]},"223":{"position":[[46,15]]},"226":{"position":[[92,15],[399,15]]},"227":{"position":[[43,15]]},"228":{"position":[[46,15]]},"230":{"position":[[38,15],[134,15]]},"231":{"position":[[43,15],[166,15]]},"345":{"position":[[169,15]]},"368":{"position":[[188,15],[3152,15]]},"377":{"position":[[97,15]]},"386":{"position":[[83,15]]},"405":{"position":[[85,15],[333,15]]},"417":{"position":[[113,15]]},"747":{"position":[[188,15],[3152,15]]},"756":{"position":[[97,15]]},"765":{"position":[[83,15]]},"784":{"position":[[85,15],[333,15]]},"796":{"position":[[113,15]]}},"keywords":{}}],["output_path",{"_index":1493,"title":{},"content":{"243":{"position":[[29,12]]},"1240":{"position":[[171,12]]}},"keywords":{}}],["outputa.txt",{"_index":8572,"title":{},"content":{"1486":{"position":[[3350,14]]}},"keywords":{}}],["outputartifact",{"_index":2048,"title":{"378":{"position":[[0,15]]},"757":{"position":[[0,15]]}},"content":{"378":{"position":[[0,15]]},"757":{"position":[[0,15]]}},"keywords":{}}],["outputb.txt",{"_index":8575,"title":{},"content":{"1486":{"position":[[3444,14]]}},"keywords":{}}],["outputc.txt",{"_index":8578,"title":{},"content":{"1486":{"position":[[3538,14]]}},"keywords":{}}],["outputopt",{"_index":2608,"title":{},"content":{"570":{"position":[[424,13]]}},"keywords":{}}],["outputs(exampl",{"_index":5138,"title":{},"content":{"1040":{"position":[[1155,15]]}},"keywords":{}}],["outputs.buck2",{"_index":3650,"title":{},"content":{"705":{"position":[[882,14]]}},"keywords":{}}],["outputs.update({"foo"",{"_index":1863,"title":{},"content":{"347":{"position":[[505,32]]}},"keywords":{}}],["outputs.update({target.raw_target",{"_index":1851,"title":{},"content":{"345":{"position":[[1026,36]]}},"keywords":{}}],["outputs[artifact_from_dynamic_output_output",{"_index":1140,"title":{},"content":{"92":{"position":[[1406,46]]},"224":{"position":[[1406,46]]},"1040":{"position":[[1178,46]]}},"keywords":{}}],["outputs[beams[x]].as_output",{"_index":5160,"title":{},"content":{"1040":{"position":[[2564,29]]}},"keywords":{}}],["outputstream",{"_index":2115,"title":{},"content":{"402":{"position":[[335,12]]},"781":{"position":[[335,12]]}},"keywords":{}}],["outsid",{"_index":2581,"title":{},"content":{"566":{"position":[[452,7]]},"577":{"position":[[546,7]]},"693":{"position":[[5874,7]]},"832":{"position":[[706,7]]},"835":{"position":[[121,7]]},"864":{"position":[[1551,7]]},"892":{"position":[[302,7],[437,8]]},"919":{"position":[[258,7]]},"921":{"position":[[699,7]]},"995":{"position":[[636,7]]},"1075":{"position":[[763,7]]},"1105":{"position":[[2605,7]]},"1114":{"position":[[448,7]]},"1251":{"position":[[342,7]]}},"keywords":{}}],["out|prelude|.git"",{"_index":586,"title":{},"content":{"18":{"position":[[1548,22]]}},"keywords":{}}],["out}th",{"_index":7185,"title":{},"content":{"1383":{"position":[[6270,9]]}},"keywords":{}}],["over",{"_index":133,"title":{"870":{"position":[[22,4]]}},"content":{"6":{"position":[[362,4]]},"11":{"position":[[438,4]]},"561":{"position":[[221,4]]},"570":{"position":[[302,4]]},"583":{"position":[[988,4]]},"635":{"position":[[102,4]]},"638":{"position":[[1014,4]]},"870":{"position":[[256,4],[1511,4]]},"892":{"position":[[1633,4]]},"902":{"position":[[1000,4]]},"977":{"position":[[415,4]]},"1057":{"position":[[155,4]]},"1058":{"position":[[90,4],[997,4]]},"1087":{"position":[[16,4],[93,4]]},"1259":{"position":[[2111,4],[2314,4]]},"1282":{"position":[[30,4]]},"1284":{"position":[[23,4]]},"1290":{"position":[[2111,4],[2314,4]]},"1313":{"position":[[30,4]]},"1315":{"position":[[23,4]]},"1318":{"position":[[2111,4],[2314,4]]},"1341":{"position":[[30,4]]},"1343":{"position":[[23,4]]},"1370":{"position":[[2833,4]]},"1387":{"position":[[6582,4]]},"1439":{"position":[[6784,4]]},"1461":{"position":[[2599,4]]},"1462":{"position":[[6086,4],[7355,4]]},"1465":{"position":[[3058,4]]},"1467":{"position":[[7198,4],[8324,4]]},"1468":{"position":[[1476,4]]},"1486":{"position":[[759,4],[967,4],[3795,4]]}},"keywords":{}}],["overal",{"_index":6074,"title":{},"content":{"1228":{"position":[[1326,7]]}},"keywords":{}}],["overhead",{"_index":3560,"title":{},"content":{"693":{"position":[[4932,8]]},"937":{"position":[[1126,8]]}},"keywords":{}}],["overlap",{"_index":2284,"title":{},"content":{"421":{"position":[[358,7]]},"591":{"position":[[505,7]]},"800":{"position":[[358,7]]},"870":{"position":[[15,8]]},"1387":{"position":[[6896,11]]}},"keywords":{}}],["overlay",{"_index":7568,"title":{},"content":{"1397":{"position":[[564,9],[2379,8],[2951,9],[3654,8]]}},"keywords":{}}],["overrid",{"_index":1227,"title":{},"content":{"94":{"position":[[3621,9]]},"226":{"position":[[3621,9]]},"374":{"position":[[1600,8]]},"580":{"position":[[170,8]]},"583":{"position":[[204,8],[284,9],[486,9]]},"753":{"position":[[1600,8]]},"939":{"position":[[675,10]]},"942":{"position":[[1406,9]]},"943":{"position":[[1664,8],[2045,8]]},"1000":{"position":[[421,8]]},"1070":{"position":[[565,8],[861,8],[1014,9]]},"1072":{"position":[[371,8]]},"1136":{"position":[[3353,10]]},"1138":{"position":[[1831,9],[7015,10]]},"1140":{"position":[[1320,9],[5941,10]]},"1142":{"position":[[1385,10]]},"1146":{"position":[[1325,10]]},"1148":{"position":[[4365,10]]},"1155":{"position":[[1421,10]]},"1156":{"position":[[999,10]]},"1167":{"position":[[2324,9],[6945,10]]},"1169":{"position":[[784,10]]},"1181":{"position":[[240,8]]},"1186":{"position":[[2589,10]]},"1187":{"position":[[2602,10]]},"1188":{"position":[[1373,9],[7328,10]]},"1191":{"position":[[1189,10]]},"1192":{"position":[[1364,10]]},"1193":{"position":[[1416,10]]},"1194":{"position":[[1056,10]]},"1195":{"position":[[1034,10]]},"1196":{"position":[[844,10]]},"1197":{"position":[[1827,10]]},"1198":{"position":[[1837,10]]},"1199":{"position":[[1865,10]]},"1200":{"position":[[1732,10]]},"1201":{"position":[[992,10]]},"1202":{"position":[[2134,10],[6531,10]]},"1203":{"position":[[1226,10]]},"1204":{"position":[[1070,10]]},"1205":{"position":[[2399,10]]},"1206":{"position":[[870,10]]},"1207":{"position":[[1027,10]]},"1209":{"position":[[2375,10]]},"1217":{"position":[[1065,9],[5686,10]]},"1219":{"position":[[1672,10]]},"1222":{"position":[[796,10]]},"1223":{"position":[[806,10]]},"1224":{"position":[[986,10]]},"1226":{"position":[[6154,10]]},"1228":{"position":[[3146,9],[7767,10]]},"1235":{"position":[[3635,10]]},"1237":{"position":[[6324,10]]},"1351":{"position":[[2378,8],[2760,8]]},"1354":{"position":[[3006,9]]},"1355":{"position":[[6655,9],[7494,9]]},"1362":{"position":[[13316,10],[13564,8]]},"1364":{"position":[[14016,10],[14264,8]]},"1367":{"position":[[13224,10],[14195,9],[14314,9]]},"1370":{"position":[[2165,8],[2391,9]]},"1374":{"position":[[2239,8]]},"1383":{"position":[[8453,9]]},"1388":{"position":[[10233,9]]},"1392":{"position":[[2357,9]]},"1395":{"position":[[2480,9],[3136,9]]},"1410":{"position":[[5456,9]]},"1426":{"position":[[3042,8]]},"1427":{"position":[[4302,9],[5854,9],[6983,9]]},"1429":{"position":[[5953,9]]},"1440":{"position":[[5853,9]]},"1462":{"position":[[8114,8]]},"1467":{"position":[[8576,8],[9175,8],[10475,9]]},"1471":{"position":[[3109,8]]},"1472":{"position":[[2828,8]]},"1473":{"position":[[3143,8]]},"1478":{"position":[[2258,9]]}},"keywords":{}}],["overridden",{"_index":5518,"title":{},"content":{"1072":{"position":[[1107,11]]},"1228":{"position":[[608,10],[1313,10]]},"1422":{"position":[[3374,11]]},"1471":{"position":[[5279,10]]},"1472":{"position":[[6165,10]]},"1473":{"position":[[5729,10]]}},"keywords":{}}],["override_arg",{"_index":6004,"title":{},"content":{"1181":{"position":[[143,18],[221,18]]}},"keywords":{}}],["oversimplifi",{"_index":3634,"title":{},"content":{"704":{"position":[[319,14]]}},"keywords":{}}],["overview",{"_index":107,"title":{"715":{"position":[[11,9]]}},"content":{"5":{"position":[[436,8]]},"689":{"position":[[52,8]]},"715":{"position":[[1591,9]]}},"keywords":{}}],["overwrit",{"_index":2414,"title":{},"content":{"451":{"position":[[48,10],[243,9]]},"830":{"position":[[48,10],[243,9]]},"1001":{"position":[[113,10],[346,9],[387,9]]},"1064":{"position":[[78,10],[444,9],[485,9]]},"1228":{"position":[[2146,11],[2674,11]]},"1393":{"position":[[4324,9]]},"1397":{"position":[[2663,10]]},"1487":{"position":[[1898,9],[1934,10]]}},"keywords":{}}],["overwritten",{"_index":6009,"title":{},"content":{"1186":{"position":[[402,11]]},"1187":{"position":[[415,11]]},"1188":{"position":[[5141,11]]},"1226":{"position":[[4971,11]]},"1237":{"position":[[5141,11]]},"1395":{"position":[[3441,11]]}},"keywords":{}}],["ovr_config//platform/linux:<omitted>)"",{"_index":3488,"title":{},"content":{"690":{"position":[[1771,51],[2284,51],[2378,51],[2470,51],[2567,51],[2660,51],[2749,50]]}},"keywords":{}}],["ovr_config//platform/linux:x86_64",{"_index":1290,"title":{},"content":{"106":{"position":[[57,34]]},"109":{"position":[[57,34]]},"110":{"position":[[60,34]]},"111":{"position":[[73,34]]},"113":{"position":[[83,34]]},"518":{"position":[[57,34]]},"521":{"position":[[57,34]]},"522":{"position":[[60,34]]},"523":{"position":[[73,34]]},"525":{"position":[[83,34]]}},"keywords":{}}],["own",{"_index":1423,"title":{"1134":{"position":[[58,4]]}},"content":{"168":{"position":[[59,6]]},"320":{"position":[[349,6]]},"418":{"position":[[611,5],[646,5],[762,5],[857,5]]},"797":{"position":[[611,5],[646,5],[762,5],[857,5]]},"873":{"position":[[452,6],[497,6]]},"954":{"position":[[220,6]]},"1112":{"position":[[3764,4]]},"1273":{"position":[[329,4]]},"1304":{"position":[[329,4]]},"1332":{"position":[[329,4]]}},"keywords":{}}],["owned_frozen_valu",{"_index":4188,"title":{},"content":{"889":{"position":[[637,19]]}},"keywords":{}}],["owned_valu",{"_index":4190,"title":{},"content":{"889":{"position":[[840,12]]}},"keywords":{}}],["ownedfrozenvalu",{"_index":4177,"title":{"889":{"position":[[0,17]]}},"content":{"889":{"position":[[55,17],[191,16],[327,16],[495,16]]}},"keywords":{}}],["owner",{"_index":933,"title":{},"content":{"63":{"position":[[268,6],[333,5],[342,7]]},"166":{"position":[[268,6],[333,5],[342,7]]},"279":{"position":[[291,5]]},"327":{"position":[[398,5]]},"334":{"position":[[366,5],[738,5]]},"416":{"position":[[772,5]]},"468":{"position":[[279,5]]},"474":{"position":[[105,5],[477,5]]},"492":{"position":[[268,6],[333,5],[342,7]]},"548":{"position":[[268,6],[333,5],[342,7]]},"795":{"position":[[772,5]]},"867":{"position":[[1502,5]]},"873":{"position":[[420,6]]},"906":{"position":[[4,5],[280,6]]},"951":{"position":[[457,5]]},"954":{"position":[[191,6],[492,6]]},"1112":{"position":[[3781,6]]},"1273":{"position":[[186,7],[461,7],[484,7],[524,5],[553,7],[585,5]]},"1304":{"position":[[186,7],[461,7],[484,7],[524,5],[553,7],[585,5]]},"1332":{"position":[[186,7],[461,7],[484,7],[524,5],[553,7],[585,5]]}},"keywords":{}}],["owner(fil",{"_index":6250,"title":{"1273":{"position":[[0,12]]},"1304":{"position":[[0,12]]},"1332":{"position":[[0,12]]}},"content":{"1259":{"position":[[1256,12]]},"1290":{"position":[[1256,12]]},"1318":{"position":[[1256,12]]}},"keywords":{}}],["owner(inputfil",{"_index":6251,"title":{},"content":{"1259":{"position":[[1291,16]]},"1273":{"position":[[4,16]]},"1290":{"position":[[1291,16]]},"1304":{"position":[[4,16]]},"1318":{"position":[[1291,16]]},"1332":{"position":[[4,16]]}},"keywords":{}}],["owner.get_source("cell//path/to/file"",{"_index":2227,"title":{},"content":{"416":{"position":[[845,48]]},"795":{"position":[[845,48]]}},"keywords":{}}],["owner.label",{"_index":936,"title":{},"content":{"63":{"position":[[369,11]]},"166":{"position":[[371,11]]},"492":{"position":[[369,11]]},"548":{"position":[[371,11]]}},"keywords":{}}],["owner.sources()[0",{"_index":1538,"title":{},"content":{"279":{"position":[[375,18]]}},"keywords":{}}],["ownerqueri",{"_index":4436,"title":{},"content":{"906":{"position":[[852,10]]}},"keywords":{}}],["p",{"_index":4946,"title":{},"content":{"991":{"position":[[2968,2]]},"1048":{"position":[[1090,1]]},"1231":{"position":[[219,1],[331,1]]},"1407":{"position":[[5088,1]]},"1439":{"position":[[5546,2]]}},"keywords":{}}],["p1",{"_index":1316,"title":{},"content":{"118":{"position":[[258,3]]},"534":{"position":[[258,3]]}},"keywords":{}}],["p1.join(p2",{"_index":1314,"title":{},"content":{"118":{"position":[[127,11]]},"534":{"position":[[127,11]]}},"keywords":{}}],["p1_real",{"_index":4941,"title":{},"content":{"991":{"position":[[2388,8],[2587,9]]}},"keywords":{}}],["p2",{"_index":1317,"title":{},"content":{"118":{"position":[[262,2]]},"534":{"position":[[262,2]]}},"keywords":{}}],["p2_real",{"_index":4945,"title":{},"content":{"991":{"position":[[2764,9]]}},"keywords":{}}],["p3",{"_index":1315,"title":{},"content":{"118":{"position":[[139,3],[269,2]]},"534":{"position":[[139,3],[269,2]]}},"keywords":{}}],["p4",{"_index":1313,"title":{},"content":{"118":{"position":[[122,2]]},"534":{"position":[[122,2]]}},"keywords":{}}],["p50",{"_index":368,"title":{},"content":{"11":{"position":[[375,3]]}},"keywords":{}}],["p95",{"_index":371,"title":{},"content":{"11":{"position":[[404,4]]}},"keywords":{}}],["p[_sillycompilation].compil",{"_index":5255,"title":{},"content":{"1048":{"position":[[1055,30]]}},"keywords":{}}],["p_real",{"_index":4947,"title":{},"content":{"991":{"position":[[3065,8]]}},"keywords":{}}],["packag",{"_index":63,"title":{"424":{"position":[[0,8]]},"680":{"position":[[0,7]]},"803":{"position":[[0,8]]},"915":{"position":[[9,7]]},"940":{"position":[[0,7]]},"996":{"position":[[0,7]]},"1000":{"position":[[0,7]]},"1062":{"position":[[0,7]]},"1064":{"position":[[0,7]]},"1129":{"position":[[36,9]]},"1207":{"position":[[11,7]]}},"content":{"4":{"position":[[460,8]]},"6":{"position":[[345,9]]},"17":{"position":[[930,7]]},"131":{"position":[[426,7]]},"145":{"position":[[265,9]]},"254":{"position":[[426,7]]},"268":{"position":[[265,9]]},"320":{"position":[[356,8],[405,7]]},"414":{"position":[[101,7],[144,8]]},"424":{"position":[[4,8]]},"425":{"position":[[99,7],[142,8]]},"431":{"position":[[65,7]]},"432":{"position":[[51,7],[85,7],[137,7]]},"443":{"position":[[174,7],[426,7]]},"451":{"position":[[131,7],[160,7]]},"622":{"position":[[1071,8],[1118,8]]},"680":{"position":[[32,8],[334,8],[427,7],[649,7],[794,8],[893,9],[1000,8]]},"693":{"position":[[1819,8],[2189,9],[5493,8]]},"708":{"position":[[307,7],[559,7]]},"718":{"position":[[133,9]]},"793":{"position":[[101,7],[144,8]]},"803":{"position":[[4,8]]},"804":{"position":[[99,7],[142,8]]},"810":{"position":[[65,7]]},"811":{"position":[[51,7],[85,7],[137,7]]},"822":{"position":[[174,7],[426,7]]},"830":{"position":[[131,7],[160,7]]},"915":{"position":[[0,7]]},"916":{"position":[[107,7],[182,7],[399,8],[453,7]]},"917":{"position":[[86,7]]},"939":{"position":[[1752,7]]},"940":{"position":[[5,7],[129,8],[599,7],[1221,7]]},"943":{"position":[[140,8],[201,7],[230,8]]},"946":{"position":[[344,8]]},"951":{"position":[[861,8]]},"981":{"position":[[890,7]]},"998":{"position":[[89,7],[223,7],[344,7]]},"1000":{"position":[[53,7],[124,7],[179,7],[283,7],[338,7],[514,7],[570,7],[835,7]]},"1001":{"position":[[0,7],[38,7],[401,7],[433,7],[488,7],[629,7],[732,7],[789,8],[806,7],[891,7],[1274,8],[1410,7],[1505,7]]},"1002":{"position":[[0,7]]},"1048":{"position":[[161,7]]},"1050":{"position":[[261,9]]},"1064":{"position":[[148,7],[499,7],[531,7],[586,7],[727,7],[830,7],[906,7],[936,9],[991,7],[1248,7],[1328,7],[1362,7],[1443,7],[1547,8],[1560,8],[1735,7],[2039,7],[2224,8],[2246,7]]},"1065":{"position":[[208,8],[343,7]]},"1112":{"position":[[1706,7]]},"1114":{"position":[[280,7]]},"1129":{"position":[[66,8]]},"1136":{"position":[[1354,7]]},"1138":{"position":[[2087,8],[2155,8]]},"1140":{"position":[[1576,8],[1644,8]]},"1146":{"position":[[302,8]]},"1148":{"position":[[1710,7]]},"1167":{"position":[[2580,8],[2648,8]]},"1188":{"position":[[1629,8],[1697,8]]},"1190":{"position":[[1468,7],[1491,7]]},"1202":{"position":[[185,7],[215,7],[252,7],[5563,7],[5594,7],[5631,7],[5698,7],[5764,7]]},"1205":{"position":[[834,7]]},"1207":{"position":[[8,7],[24,7],[97,9],[141,7],[166,13],[191,13],[205,7]]},"1209":{"position":[[587,7]]},"1211":{"position":[[27,7],[163,8]]},"1217":{"position":[[1321,8],[1389,8]]},"1226":{"position":[[2527,7],[4397,7],[4421,7],[4491,7],[4514,7],[4546,7],[4611,7],[4673,7],[4696,7],[4825,7]]},"1228":{"position":[[3402,8],[3470,8]]},"1235":{"position":[[1847,7]]},"1237":{"position":[[2697,7],[4567,7],[4591,7],[4661,7],[4684,7],[4716,7],[4781,7],[4843,7],[4866,7],[4995,7]]},"1348":{"position":[[4587,7]]},"1351":{"position":[[606,8],[1887,8],[1913,7],[3117,8],[3381,9],[3898,7]]},"1353":{"position":[[2491,8],[2517,7],[2594,8],[2673,8],[2980,8]]},"1354":{"position":[[2270,8]]},"1355":{"position":[[5281,8],[7869,7]]},"1358":{"position":[[2771,8]]},"1359":{"position":[[703,8],[2091,7],[2348,8],[2480,7]]},"1365":{"position":[[662,9],[899,8]]},"1373":{"position":[[5767,7],[5899,7],[5945,7],[6085,7]]},"1382":{"position":[[6417,8]]},"1384":{"position":[[11364,8],[17074,8],[17376,8]]},"1385":{"position":[[2959,7]]},"1387":{"position":[[5228,7]]},"1388":{"position":[[7286,8]]},"1395":{"position":[[2288,7]]},"1397":{"position":[[2961,8]]},"1405":{"position":[[1237,8],[3269,7],[3409,7]]},"1406":{"position":[[1334,7]]},"1407":{"position":[[3690,7],[3830,7]]},"1408":{"position":[[2131,7],[2263,7],[2309,7],[2449,7]]},"1410":{"position":[[4296,7],[4460,7],[4516,8],[4547,7],[4677,7],[4817,7]]},"1422":{"position":[[3914,8]]},"1423":{"position":[[2681,8]]},"1427":{"position":[[4595,8]]},"1439":{"position":[[7094,8]]},"1443":{"position":[[761,8]]},"1444":{"position":[[677,8],[1586,7],[2179,8]]},"1457":{"position":[[1718,7],[1850,7]]},"1461":{"position":[[925,8],[2969,8],[3221,8],[3267,7]]},"1462":{"position":[[4301,7],[5489,7],[7200,7],[8134,9]]},"1465":{"position":[[2382,7],[4625,8]]},"1467":{"position":[[5947,7],[8169,7],[9195,9],[11142,8]]}},"keywords":{}}],["package"",{"_index":6507,"title":{},"content":{"1353":{"position":[[2393,13],[2424,13]]}},"keywords":{}}],["package.platform_head",{"_index":8544,"title":{},"content":{"1485":{"position":[[2697,25]]}},"keywords":{}}],["package/import",{"_index":6065,"title":{},"content":{"1226":{"position":[[4206,15],[4253,14]]},"1237":{"position":[[4376,15],[4423,14]]}},"keywords":{}}],["package="app_id">",{"_index":6474,"title":{},"content":{"1351":{"position":[[2057,31]]}},"keywords":{}}],["package="com.example"",{"_index":6584,"title":{},"content":{"1356":{"position":[[2317,31]]}},"keywords":{}}],["package_asset_librari",{"_index":6368,"title":{},"content":{"1348":{"position":[[2058,24]]},"1350":{"position":[[2957,24]]},"1352":{"position":[[2956,24]]}},"keywords":{}}],["package_nam",{"_index":2214,"title":{"425":{"position":[[0,13]]},"804":{"position":[[0,13]]}},"content":{"414":{"position":[[294,13]]},"425":{"position":[[4,14],[30,14]]},"793":{"position":[[294,13]]},"804":{"position":[[4,14],[30,14]]},"1365":{"position":[[632,13]]},"1373":{"position":[[1951,13]]},"1407":{"position":[[4818,12]]},"1408":{"position":[[798,13]]},"1410":{"position":[[1073,13],[3646,12],[4251,13],[4606,12]]},"1457":{"position":[[541,13]]}},"keywords":{}}],["package_name='greet",{"_index":7795,"title":{},"content":{"1410":{"position":[[5977,24]]},"1457":{"position":[[1985,24]]}},"keywords":{}}],["package_opt",{"_index":2313,"title":{},"content":{"429":{"position":[[214,17]]},"808":{"position":[[214,17]]}},"keywords":{}}],["package_project_relative_path",{"_index":5724,"title":{},"content":{"1112":{"position":[[1820,30]]}},"keywords":{}}],["package_resourc",{"_index":6369,"title":{},"content":{"1348":{"position":[[2093,18]]}},"keywords":{}}],["package_root",{"_index":7039,"title":{},"content":{"1373":{"position":[[1981,13],[6020,12],[6205,12]]},"1405":{"position":[[869,13],[3344,12],[3529,12]]},"1407":{"position":[[896,13],[3765,12],[3950,12]]},"1408":{"position":[[828,13],[2384,12],[2569,12]]},"1410":{"position":[[1103,13],[4655,13],[4752,12],[4937,12]]}},"keywords":{}}],["package_split_dwarf_dwp",{"_index":8304,"title":{},"content":{"1462":{"position":[[2898,24]]},"1467":{"position":[[3102,24]]}},"keywords":{}}],["package_styl",{"_index":8082,"title":{},"content":{"1443":{"position":[[550,14]]},"1462":{"position":[[2933,14]]},"1467":{"position":[[3137,14],[9152,14]]}},"keywords":{}}],["package_typ",{"_index":6450,"title":{},"content":{"1350":{"position":[[2992,13]]},"1351":{"position":[[3322,12],[4341,12],[5594,12]]},"1352":{"position":[[2991,13]]},"1353":{"position":[[3158,12]]},"1354":{"position":[[3297,12]]},"1360":{"position":[[6074,12]]}},"keywords":{}}],["packaged_local",{"_index":6451,"title":{},"content":{"1350":{"position":[[3015,17]]},"1352":{"position":[[3014,17]]}},"keywords":{}}],["packagedirectori",{"_index":3598,"title":{},"content":{"693":{"position":[[8832,16]]}},"keywords":{}}],["packager_arg",{"_index":6938,"title":{},"content":{"1365":{"position":[[688,14]]}},"keywords":{}}],["packaging_opt",{"_index":6452,"title":{},"content":{"1350":{"position":[[3048,18]]},"1352":{"position":[[3047,18]]}},"keywords":{}}],["packaging—may",{"_index":6624,"title":{},"content":{"1358":{"position":[[2555,13]]}},"keywords":{}}],["pad",{"_index":2822,"title":{},"content":{"595":{"position":[[1313,8]]}},"keywords":{}}],["page",{"_index":441,"title":{},"content":{"15":{"position":[[73,5]]},"695":{"position":[[219,4]]},"713":{"position":[[29,4]]},"890":{"position":[[49,4]]},"898":{"position":[[53,4],[243,4]]},"1102":{"position":[[971,6]]},"1249":{"position":[[134,4]]}},"keywords":{}}],["paid",{"_index":4500,"title":{},"content":{"919":{"position":[[1518,4]]}},"keywords":{}}],["pair",{"_index":1253,"title":{},"content":{"98":{"position":[[797,4]]},"230":{"position":[[797,4]]},"555":{"position":[[92,6],[141,6]]},"558":{"position":[[105,4],[167,5]]},"560":{"position":[[242,5],[357,5],[436,5],[516,4]]},"584":{"position":[[250,5]]},"595":{"position":[[255,4]]},"636":{"position":[[272,8],[309,4],[430,4]]},"639":{"position":[[194,6]]},"889":{"position":[[93,4]]},"929":{"position":[[232,4]]},"1056":{"position":[[1272,6]]},"1136":{"position":[[6597,5]]},"1138":{"position":[[10259,5]]},"1140":{"position":[[9185,5]]},"1142":{"position":[[4629,5]]},"1144":{"position":[[957,5]]},"1146":{"position":[[4569,5]]},"1148":{"position":[[7485,6],[8160,5]]},"1150":{"position":[[1192,5]]},"1152":{"position":[[890,5]]},"1154":{"position":[[1045,5]]},"1155":{"position":[[4665,5]]},"1156":{"position":[[4243,5]]},"1157":{"position":[[828,5]]},"1158":{"position":[[822,5]]},"1159":{"position":[[822,5]]},"1161":{"position":[[1817,5]]},"1163":{"position":[[1203,5]]},"1165":{"position":[[1032,5]]},"1167":{"position":[[10189,5]]},"1169":{"position":[[3297,5]]},"1171":{"position":[[1538,5]]},"1172":{"position":[[2923,5]]},"1173":{"position":[[1610,5]]},"1174":{"position":[[1038,5]]},"1175":{"position":[[1034,5]]},"1176":{"position":[[1203,5]]},"1177":{"position":[[1124,5]]},"1178":{"position":[[1441,5]]},"1179":{"position":[[1238,5]]},"1180":{"position":[[1509,5]]},"1181":{"position":[[2029,5]]},"1182":{"position":[[1072,5]]},"1183":{"position":[[1027,5]]},"1185":{"position":[[872,5]]},"1186":{"position":[[1037,6],[5833,5]]},"1187":{"position":[[1050,6],[5846,5]]},"1188":{"position":[[5776,6],[10572,5]]},"1190":{"position":[[2203,5]]},"1191":{"position":[[4433,5]]},"1192":{"position":[[4608,5]]},"1193":{"position":[[4660,5]]},"1194":{"position":[[4300,5]]},"1195":{"position":[[4278,5]]},"1196":{"position":[[4088,5]]},"1197":{"position":[[5071,5]]},"1198":{"position":[[5081,5]]},"1199":{"position":[[5109,5]]},"1200":{"position":[[4976,5]]},"1201":{"position":[[4236,5]]},"1202":{"position":[[980,5],[5378,5],[9775,5]]},"1203":{"position":[[4470,5]]},"1204":{"position":[[4314,5],[5216,5],[6146,5],[7048,5],[8034,5],[8988,5],[9935,5],[10865,5]]},"1205":{"position":[[5643,5]]},"1206":{"position":[[4342,5]]},"1207":{"position":[[4271,5]]},"1209":{"position":[[5619,5]]},"1211":{"position":[[943,5]]},"1213":{"position":[[714,5]]},"1215":{"position":[[798,5]]},"1217":{"position":[[8930,5]]},"1219":{"position":[[4185,5]]},"1221":{"position":[[917,5]]},"1222":{"position":[[4056,5]]},"1223":{"position":[[4066,5]]},"1224":{"position":[[3499,5]]},"1226":{"position":[[9398,5]]},"1228":{"position":[[11011,5]]},"1235":{"position":[[6879,5]]},"1237":{"position":[[9568,5]]},"1345":{"position":[[934,6]]},"1362":{"position":[[11311,5],[11667,5],[11705,4],[11858,4],[12120,5]]},"1364":{"position":[[8289,5],[8327,4],[8480,4],[12278,5],[12625,5]]},"1367":{"position":[[11681,5],[12028,5]]},"1373":{"position":[[6333,5],[6688,5],[6726,4],[6879,4],[7160,5]]},"1382":{"position":[[8180,5],[8530,5],[9008,5],[9046,4],[9199,4],[9481,5],[9836,5]]},"1384":{"position":[[7457,5],[7871,5],[8475,5],[8513,4],[8666,4],[9035,5],[12034,6],[12290,6],[14525,5],[14875,5],[15353,5],[15391,4],[15544,4],[15826,5],[16181,5]]},"1385":{"position":[[4410,5],[4759,5],[5236,5],[5274,4],[5427,4],[5708,5],[6062,5]]},"1387":{"position":[[7783,5],[8132,5],[8609,5],[8647,4],[8800,4],[9081,5],[9435,5]]},"1393":{"position":[[4109,5],[5725,5],[5792,4]]},"1415":{"position":[[4292,5],[4647,5],[4685,4],[4838,4]]},"1416":{"position":[[3148,5]]},"1420":{"position":[[2285,5]]},"1438":{"position":[[569,4]]},"1439":{"position":[[4919,5]]},"1448":{"position":[[2231,5]]},"1449":{"position":[[2165,5]]},"1454":{"position":[[5857,5],[6270,5],[6823,5],[7993,5],[8305,5],[8625,5]]},"1455":{"position":[[2628,5]]},"1465":{"position":[[3209,5],[3247,4],[3620,5],[3658,4]]},"1467":{"position":[[9478,5],[9516,4]]},"1485":{"position":[[2794,5]]}},"keywords":{}}],["pairs.bytecod",{"_index":5365,"title":{},"content":{"1056":{"position":[[1257,14]]}},"keywords":{}}],["pairs.typecheck",{"_index":5366,"title":{},"content":{"1056":{"position":[[1353,16]]}},"keywords":{}}],["panel",{"_index":5908,"title":{},"content":{"1136":{"position":[[5590,5],[5605,5]]},"1138":{"position":[[9252,5],[9267,5]]},"1140":{"position":[[8178,5],[8193,5]]},"1142":{"position":[[3622,5],[3637,5]]},"1146":{"position":[[3562,5],[3577,5]]},"1148":{"position":[[6602,5],[6617,5]]},"1155":{"position":[[3658,5],[3673,5]]},"1156":{"position":[[3236,5],[3251,5]]},"1161":{"position":[[1129,5],[1144,5]]},"1167":{"position":[[9182,5],[9197,5]]},"1181":{"position":[[1341,5],[1356,5]]},"1186":{"position":[[4826,5],[4841,5]]},"1187":{"position":[[4839,5],[4854,5]]},"1188":{"position":[[9565,5],[9580,5]]},"1191":{"position":[[3426,5],[3441,5]]},"1192":{"position":[[3601,5],[3616,5]]},"1193":{"position":[[3653,5],[3668,5]]},"1194":{"position":[[3293,5],[3308,5]]},"1195":{"position":[[3271,5],[3286,5]]},"1196":{"position":[[3081,5],[3096,5]]},"1197":{"position":[[4064,5],[4079,5]]},"1198":{"position":[[4074,5],[4089,5]]},"1199":{"position":[[4102,5],[4117,5]]},"1200":{"position":[[3969,5],[3984,5]]},"1201":{"position":[[3229,5],[3244,5]]},"1202":{"position":[[4371,5],[4386,5],[8768,5],[8783,5]]},"1203":{"position":[[3463,5],[3478,5]]},"1204":{"position":[[3307,5],[3322,5]]},"1205":{"position":[[4636,5],[4651,5]]},"1206":{"position":[[3107,5],[3122,5]]},"1207":{"position":[[3264,5],[3279,5]]},"1209":{"position":[[4612,5],[4627,5]]},"1217":{"position":[[7923,5],[7938,5]]},"1222":{"position":[[3033,5],[3048,5]]},"1223":{"position":[[3043,5],[3058,5]]},"1226":{"position":[[8391,5],[8406,5]]},"1228":{"position":[[10004,5],[10019,5]]},"1235":{"position":[[5872,5],[5887,5]]},"1237":{"position":[[8561,5],[8576,5]]}},"keywords":{}}],["pants,shak",{"_index":665,"title":{},"content":{"22":{"position":[[996,12]]}},"keywords":{}}],["par_styl",{"_index":8305,"title":{},"content":{"1462":{"position":[[2964,10]]},"1467":{"position":[[3168,10]]}},"keywords":{}}],["parallel",{"_index":220,"title":{},"content":{"9":{"position":[[1067,8]]},"22":{"position":[[1466,11]]},"94":{"position":[[1632,8]]},"226":{"position":[[1632,8]]},"684":{"position":[[168,9]]},"693":{"position":[[6905,8]]},"695":{"position":[[734,9]]},"702":{"position":[[508,11],[545,11]]},"837":{"position":[[256,8]]},"898":{"position":[[686,9]]},"937":{"position":[[2843,8]]},"1000":{"position":[[316,10]]},"1136":{"position":[[3840,9],[4009,9],[4194,8],[4327,10],[4504,8]]},"1138":{"position":[[7502,9],[7671,9],[7856,8],[7989,10],[8166,8]]},"1140":{"position":[[6428,9],[6597,9],[6782,8],[6915,10],[7092,8]]},"1142":{"position":[[1872,9],[2041,9],[2226,8],[2359,10],[2536,8]]},"1146":{"position":[[1812,9],[1981,9],[2166,8],[2299,10],[2476,8]]},"1148":{"position":[[4852,9],[5021,9],[5206,8],[5339,10],[5516,8]]},"1155":{"position":[[1908,9],[2077,9],[2262,8],[2395,10],[2572,8]]},"1156":{"position":[[1486,9],[1655,9],[1840,8],[1973,10],[2150,8]]},"1167":{"position":[[7432,9],[7601,9],[7786,8],[7919,10],[8096,8]]},"1169":{"position":[[1271,9],[1440,9],[1625,8],[1758,10],[1935,8]]},"1186":{"position":[[3076,9],[3245,9],[3430,8],[3563,10],[3740,8]]},"1187":{"position":[[3089,9],[3258,9],[3443,8],[3576,10],[3753,8]]},"1188":{"position":[[7815,9],[7984,9],[8169,8],[8302,10],[8479,8]]},"1191":{"position":[[1676,9],[1845,9],[2030,8],[2163,10],[2340,8]]},"1192":{"position":[[1851,9],[2020,9],[2205,8],[2338,10],[2515,8]]},"1193":{"position":[[1903,9],[2072,9],[2257,8],[2390,10],[2567,8]]},"1194":{"position":[[1543,9],[1712,9],[1897,8],[2030,10],[2207,8]]},"1195":{"position":[[1521,9],[1690,9],[1875,8],[2008,10],[2185,8]]},"1196":{"position":[[1331,9],[1500,9],[1685,8],[1818,10],[1995,8]]},"1197":{"position":[[2314,9],[2483,9],[2668,8],[2801,10],[2978,8]]},"1198":{"position":[[2324,9],[2493,9],[2678,8],[2811,10],[2988,8]]},"1199":{"position":[[2352,9],[2521,9],[2706,8],[2839,10],[3016,8]]},"1200":{"position":[[2219,9],[2388,9],[2573,8],[2706,10],[2883,8]]},"1201":{"position":[[1479,9],[1648,9],[1833,8],[1966,10],[2143,8]]},"1202":{"position":[[2621,9],[2790,9],[2975,8],[3108,10],[3285,8],[7018,9],[7187,9],[7372,8],[7505,10],[7682,8]]},"1203":{"position":[[1713,9],[1882,9],[2067,8],[2200,10],[2377,8]]},"1204":{"position":[[1557,9],[1726,9],[1911,8],[2044,10],[2221,8]]},"1205":{"position":[[2886,9],[3055,9],[3240,8],[3373,10],[3550,8]]},"1206":{"position":[[1357,9],[1526,9],[1711,8],[1844,10],[2021,8]]},"1207":{"position":[[1514,9],[1683,9],[1868,8],[2001,10],[2178,8]]},"1209":{"position":[[2862,9],[3031,9],[3216,8],[3349,10],[3526,8]]},"1217":{"position":[[6173,9],[6342,9],[6527,8],[6660,10],[6837,8]]},"1219":{"position":[[2159,9],[2328,9],[2513,8],[2646,10],[2823,8]]},"1222":{"position":[[1283,9],[1452,9],[1637,8],[1770,10],[1947,8]]},"1223":{"position":[[1293,9],[1462,9],[1647,8],[1780,10],[1957,8]]},"1224":{"position":[[1473,9],[1642,9],[1827,8],[1960,10],[2137,8]]},"1226":{"position":[[6641,9],[6810,9],[6995,8],[7128,10],[7305,8]]},"1228":{"position":[[8254,9],[8423,9],[8608,8],[8741,10],[8918,8]]},"1235":{"position":[[4122,9],[4291,9],[4476,8],[4609,10],[4786,8]]},"1237":{"position":[[6811,9],[6980,9],[7165,8],[7298,10],[7475,8]]},"1243":{"position":[[70,8],[122,8]]}},"keywords":{}}],["parallelis",{"_index":758,"title":{},"content":{"23":{"position":[[2581,11]]}},"keywords":{}}],["param",{"_index":1725,"title":{},"content":{"309":{"position":[[763,5]]},"711":{"position":[[1381,6]]},"878":{"position":[[784,6]]}},"keywords":{}}],["paramet",{"_index":1110,"title":{"688":{"position":[[7,9]]}},"content":{"91":{"position":[[398,9],[534,9]]},"92":{"position":[[741,9]]},"98":{"position":[[686,9]]},"223":{"position":[[398,9],[534,9]]},"224":{"position":[[741,9]]},"230":{"position":[[686,9]]},"242":{"position":[[207,11]]},"295":{"position":[[189,9]]},"298":{"position":[[1444,11]]},"302":{"position":[[189,9]]},"347":{"position":[[202,10]]},"418":{"position":[[376,9]]},"443":{"position":[[188,11]]},"554":{"position":[[263,9]]},"557":{"position":[[275,9]]},"559":{"position":[[336,9]]},"566":{"position":[[245,10]]},"575":{"position":[[590,10]]},"582":{"position":[[154,10],[271,10],[364,10]]},"639":{"position":[[328,10]]},"654":{"position":[[244,9]]},"663":{"position":[[916,10]]},"666":{"position":[[249,9],[353,9]]},"688":{"position":[[93,9]]},"797":{"position":[[376,9]]},"822":{"position":[[188,11]]},"840":{"position":[[1196,9]]},"851":{"position":[[432,10]]},"864":{"position":[[85,11]]},"877":{"position":[[502,11]]},"878":{"position":[[1070,10]]},"890":{"position":[[4764,11]]},"900":{"position":[[117,9]]},"901":{"position":[[871,10]]},"994":{"position":[[242,10]]},"1050":{"position":[[818,11],[1149,10]]},"1096":{"position":[[134,11]]},"1129":{"position":[[170,10]]},"1132":{"position":[[30,9]]},"1260":{"position":[[735,9]]},"1291":{"position":[[735,9]]},"1319":{"position":[[735,9]]},"1348":{"position":[[2696,11]]},"1349":{"position":[[841,11]]},"1350":{"position":[[3812,11]]},"1351":{"position":[[1031,11]]},"1352":{"position":[[3811,11]]},"1353":{"position":[[1415,11]]},"1354":{"position":[[1253,11]]},"1355":{"position":[[2391,11],[4390,9]]},"1356":{"position":[[759,11]]},"1357":{"position":[[432,11]]},"1358":{"position":[[1153,11],[2626,9]]},"1359":{"position":[[990,11]]},"1360":{"position":[[1620,11],[2819,9],[4617,9],[4981,9]]},"1361":{"position":[[980,11],[1985,9],[2246,9]]},"1362":{"position":[[5343,11]]},"1363":{"position":[[3089,11],[3996,10]]},"1364":{"position":[[5372,11]]},"1365":{"position":[[914,11]]},"1366":{"position":[[1119,11]]},"1367":{"position":[[6770,11]]},"1368":{"position":[[1470,11]]},"1369":{"position":[[522,11]]},"1370":{"position":[[768,11]]},"1371":{"position":[[398,11]]},"1372":{"position":[[2036,11]]},"1373":{"position":[[2908,11]]},"1374":{"position":[[803,11],[1799,9],[2825,9]]},"1375":{"position":[[434,11]]},"1376":{"position":[[390,11]]},"1377":{"position":[[629,11]]},"1378":{"position":[[376,11]]},"1379":{"position":[[399,11]]},"1380":{"position":[[870,11]]},"1381":{"position":[[776,11]]},"1382":{"position":[[3255,11]]},"1383":{"position":[[1325,9],[1493,11],[2404,9],[3535,9],[3879,9],[4167,9],[4494,9],[5205,9],[6649,9],[7089,9]]},"1384":{"position":[[4417,11],[19505,9]]},"1385":{"position":[[1984,9],[2084,10],[2095,11]]},"1386":{"position":[[733,11],[2143,10]]},"1387":{"position":[[4335,9],[4364,11]]},"1388":{"position":[[3555,11],[4824,9],[6234,9]]},"1389":{"position":[[4417,11]]},"1390":{"position":[[669,11]]},"1391":{"position":[[622,11]]},"1392":{"position":[[772,11]]},"1393":{"position":[[1343,11]]},"1394":{"position":[[792,11]]},"1395":{"position":[[800,11]]},"1396":{"position":[[598,11]]},"1397":{"position":[[779,11]]},"1398":{"position":[[1450,11]]},"1399":{"position":[[634,11]]},"1400":{"position":[[503,11]]},"1401":{"position":[[578,11],[1573,9]]},"1402":{"position":[[734,11]]},"1403":{"position":[[1323,11],[2234,9],[4032,9],[4969,9],[6277,9]]},"1404":{"position":[[567,11]]},"1405":{"position":[[1258,11]]},"1406":{"position":[[474,11]]},"1407":{"position":[[1299,11]]},"1408":{"position":[[995,11]]},"1409":{"position":[[529,11]]},"1410":{"position":[[1690,11]]},"1411":{"position":[[512,11]]},"1412":{"position":[[1711,11]]},"1413":{"position":[[1896,11]]},"1414":{"position":[[763,11]]},"1415":{"position":[[2745,11]]},"1416":{"position":[[1397,11]]},"1417":{"position":[[986,11]]},"1418":{"position":[[687,11]]},"1419":{"position":[[815,11]]},"1420":{"position":[[1079,11]]},"1421":{"position":[[1054,11]]},"1422":{"position":[[956,11]]},"1423":{"position":[[946,11],[1936,9]]},"1424":{"position":[[1071,11]]},"1425":{"position":[[687,11]]},"1426":{"position":[[1029,11]]},"1427":{"position":[[1926,11],[3535,9]]},"1428":{"position":[[669,11]]},"1429":{"position":[[2590,11]]},"1430":{"position":[[1445,11]]},"1431":{"position":[[789,11]]},"1432":{"position":[[1310,11]]},"1433":{"position":[[831,11]]},"1434":{"position":[[505,11]]},"1435":{"position":[[469,11]]},"1436":{"position":[[485,11]]},"1437":{"position":[[555,11]]},"1438":{"position":[[688,11]]},"1439":{"position":[[2212,11],[4209,9]]},"1440":{"position":[[2778,11]]},"1441":{"position":[[511,11]]},"1442":{"position":[[583,11]]},"1443":{"position":[[806,11]]},"1444":{"position":[[722,11]]},"1445":{"position":[[411,11]]},"1446":{"position":[[745,11],[2063,9]]},"1447":{"position":[[627,11]]},"1448":{"position":[[1062,11]]},"1449":{"position":[[996,11]]},"1450":{"position":[[875,11]]},"1451":{"position":[[875,11]]},"1452":{"position":[[421,11]]},"1453":{"position":[[1007,11]]},"1454":{"position":[[3373,11]]},"1455":{"position":[[1260,11],[3077,9],[3248,9],[3471,10],[3746,9],[3969,10],[4145,9],[4380,10]]},"1456":{"position":[[605,11]]},"1457":{"position":[[664,11]]},"1458":{"position":[[1199,11]]},"1459":{"position":[[678,11],[1576,9],[2036,9]]},"1460":{"position":[[790,11]]},"1461":{"position":[[1004,11]]},"1462":{"position":[[4386,11]]},"1463":{"position":[[512,11]]},"1464":{"position":[[420,11]]},"1465":{"position":[[1518,11]]},"1466":{"position":[[756,11]]},"1467":{"position":[[5074,11],[6587,9],[8461,9]]},"1468":{"position":[[520,11]]},"1469":{"position":[[892,11]]},"1470":{"position":[[3422,11]]},"1471":{"position":[[1755,11],[5315,10]]},"1472":{"position":[[1714,11],[6201,10]]},"1473":{"position":[[2029,11],[4031,10],[5765,10]]},"1474":{"position":[[1421,11]]},"1475":{"position":[[1892,11]]},"1476":{"position":[[497,11]]},"1477":{"position":[[648,11]]},"1478":{"position":[[1139,11],[2138,9],[2401,9]]},"1479":{"position":[[589,11]]},"1480":{"position":[[1002,11]]},"1481":{"position":[[1535,11]]},"1482":{"position":[[609,11]]},"1483":{"position":[[443,11]]},"1484":{"position":[[515,11]]},"1485":{"position":[[775,11]]},"1486":{"position":[[1019,11],[3034,9]]},"1487":{"position":[[713,11]]}},"keywords":{}}],["parameter",{"_index":4842,"title":{},"content":{"977":{"position":[[401,13]]},"1383":{"position":[[2855,13],[4341,13]]}},"keywords":{}}],["parameters.buck2",{"_index":7635,"title":{},"content":{"1398":{"position":[[6692,16]]}},"keywords":{}}],["params["universe"])[0",{"_index":4110,"title":{},"content":{"878":{"position":[[887,32]]}},"keywords":{}}],["parent",{"_index":967,"title":{},"content":{"69":{"position":[[80,7],[329,6],[401,6]]},"298":{"position":[[3082,6]]},"405":{"position":[[668,7],[2243,6],[2297,6],[2329,7]]},"408":{"position":[[399,7],[441,6],[636,7],[843,6],[868,6],[940,6]]},"432":{"position":[[78,6]]},"451":{"position":[[153,6],[295,6]]},"457":{"position":[[80,7],[329,6],[401,6]]},"675":{"position":[[1252,6]]},"784":{"position":[[668,7],[2243,6],[2297,6],[2329,7]]},"787":{"position":[[399,7],[441,6],[636,7],[843,6],[868,6],[940,6]]},"811":{"position":[[78,6]]},"830":{"position":[[153,6],[295,6]]},"943":{"position":[[194,6]]},"947":{"position":[[1088,6]]},"1000":{"position":[[97,6]]},"1001":{"position":[[426,6]]},"1064":{"position":[[524,6],[1355,6],[2217,6]]},"1088":{"position":[[639,6]]},"1126":{"position":[[589,8]]},"1363":{"position":[[4628,7]]},"1402":{"position":[[1987,7]]}},"keywords":{}}],["parent=1",{"_index":2186,"title":{},"content":{"408":{"position":[[588,10]]},"787":{"position":[[588,10]]}},"keywords":{}}],["parent_id",{"_index":5798,"title":{},"content":{"1126":{"position":[[602,10]]}},"keywords":{}}],["parenthes",{"_index":3547,"title":{},"content":{"693":{"position":[[3747,13]]},"1148":{"position":[[353,13]]},"1282":{"position":[[223,11],[291,13]]},"1283":{"position":[[240,11],[308,13]]},"1284":{"position":[[220,11],[288,13]]},"1313":{"position":[[223,11],[291,13]]},"1314":{"position":[[240,11],[308,13]]},"1315":{"position":[[220,11],[288,13]]},"1341":{"position":[[223,11],[291,13]]},"1342":{"position":[[240,11],[308,13]]},"1343":{"position":[[220,11],[288,13]]},"1383":{"position":[[5954,12]]}},"keywords":{}}],["parentth",{"_index":2157,"title":{},"content":{"405":{"position":[[2218,8]]},"784":{"position":[[2218,8]]}},"keywords":{}}],["pariti",{"_index":4720,"title":{},"content":{"945":{"position":[[460,6]]}},"keywords":{}}],["pars",{"_index":1612,"title":{"1206":{"position":[[11,6]]}},"content":{"294":{"position":[[845,6]]},"301":{"position":[[620,6]]},"574":{"position":[[81,5],[201,5]]},"577":{"position":[[429,6]]},"648":{"position":[[1131,5]]},"675":{"position":[[331,7],[392,7]]},"870":{"position":[[1095,5],[1181,8],[1498,7]]},"924":{"position":[[704,5]]},"954":{"position":[[556,5]]},"1037":{"position":[[17,6],[643,5]]},"1050":{"position":[[1970,7],[3135,7],[3181,6],[4249,5]]},"1113":{"position":[[155,7],[395,5],[717,7]]},"1190":{"position":[[536,5],[1365,5],[1371,6]]},"1195":{"position":[[39,5]]},"1206":{"position":[[0,6],[124,5]]}},"keywords":{}}],["parsabl",{"_index":2703,"title":{},"content":{"584":{"position":[[724,8]]}},"keywords":{}}],["parse_tranform",{"_index":7494,"title":{},"content":{"1393":{"position":[[8139,15]]}},"keywords":{}}],["parse_transform",{"_index":7495,"title":{},"content":{"1393":{"position":[[8282,17]]}},"keywords":{}}],["parseabl",{"_index":3082,"title":{},"content":{"632":{"position":[[206,10]]}},"keywords":{}}],["parser",{"_index":2617,"title":{"574":{"position":[[15,8]]}},"content":{"574":{"position":[[55,6],[130,7]]},"584":{"position":[[612,6],[764,8]]},"1282":{"position":[[121,6]]},"1283":{"position":[[138,6]]},"1284":{"position":[[114,6]]},"1313":{"position":[[121,6]]},"1314":{"position":[[138,6]]},"1315":{"position":[[114,6]]},"1341":{"position":[[121,6]]},"1342":{"position":[[138,6]]},"1343":{"position":[[114,6]]},"1448":{"position":[[2685,6]]},"1449":{"position":[[2619,6]]}},"keywords":{}}],["parser.mli",{"_index":8131,"title":{},"content":{"1448":{"position":[[2895,13]]}},"keywords":{}}],["parsing.bxl",{"_index":4067,"title":{},"content":{"870":{"position":[[1258,11]]}},"keywords":{}}],["part",{"_index":188,"title":{},"content":{"9":{"position":[[411,4]]},"23":{"position":[[734,4]]},"51":{"position":[[42,4]]},"92":{"position":[[2540,4]]},"98":{"position":[[1342,4]]},"134":{"position":[[328,4]]},"198":{"position":[[42,4]]},"224":{"position":[[2540,4]]},"230":{"position":[[1342,4]]},"257":{"position":[[328,4]]},"363":{"position":[[214,4]]},"408":{"position":[[1172,5]]},"584":{"position":[[272,4]]},"587":{"position":[[73,4]]},"607":{"position":[[171,5]]},"608":{"position":[[107,4]]},"609":{"position":[[107,4]]},"705":{"position":[[939,4]]},"742":{"position":[[214,4]]},"787":{"position":[[1172,5]]},"840":{"position":[[1112,4],[1412,4],[1600,4]]},"845":{"position":[[290,5]]},"846":{"position":[[1434,5]]},"857":{"position":[[200,4]]},"964":{"position":[[300,4]]},"1004":{"position":[[925,4]]},"1017":{"position":[[126,4]]},"1050":{"position":[[486,5],[1045,5],[1923,4],[2428,4]]},"1054":{"position":[[1127,4]]},"1071":{"position":[[1241,5]]},"1095":{"position":[[123,4]]},"1190":{"position":[[1401,5]]},"1206":{"position":[[30,5]]},"1278":{"position":[[272,4]]},"1279":{"position":[[196,4]]},"1309":{"position":[[272,4]]},"1310":{"position":[[196,4]]},"1337":{"position":[[272,4]]},"1338":{"position":[[196,4]]},"1366":{"position":[[2604,4]]},"1383":{"position":[[1243,4]]},"1388":{"position":[[3541,4]]},"1397":{"position":[[1958,4],[2830,4]]},"1398":{"position":[[6045,4]]},"1422":{"position":[[919,4]]},"1423":{"position":[[909,4]]},"1446":{"position":[[2384,4]]},"1461":{"position":[[2465,4]]},"1465":{"position":[[2925,4]]},"1467":{"position":[[7064,4]]},"1469":{"position":[[809,4]]},"1485":{"position":[[4587,4]]}},"keywords":{}}],["parti",{"_index":433,"title":{},"content":{"13":{"position":[[435,5]]},"896":{"position":[[175,5],[539,5]]},"1393":{"position":[[4497,7],[8233,5]]},"1422":{"position":[[3908,5]]},"1423":{"position":[[2675,5]]},"1426":{"position":[[2284,5]]},"1458":{"position":[[1109,5]]}},"keywords":{}}],["partial",{"_index":3276,"title":{"657":{"position":[[0,8]]}},"content":{"657":{"position":[[4,8],[68,7]]},"944":{"position":[[533,7]]},"1259":{"position":[[858,7]]},"1269":{"position":[[19,7]]},"1290":{"position":[[858,7]]},"1300":{"position":[[19,7]]},"1318":{"position":[[858,7]]},"1328":{"position":[[19,7]]}},"keywords":{}}],["particip",{"_index":3521,"title":{},"content":{"693":{"position":[[869,11]]},"989":{"position":[[249,11]]},"1024":{"position":[[839,11]]}},"keywords":{}}],["particular",{"_index":729,"title":{},"content":{"23":{"position":[[1466,10]]},"98":{"position":[[722,11]]},"230":{"position":[[722,11]]},"377":{"position":[[1167,10]]},"570":{"position":[[373,10]]},"690":{"position":[[108,10]]},"693":{"position":[[1068,10],[3975,10]]},"756":{"position":[[1167,10]]},"864":{"position":[[827,10]]},"867":{"position":[[903,10]]},"890":{"position":[[6382,10]]},"896":{"position":[[1045,10]]},"898":{"position":[[162,10]]},"964":{"position":[[405,10]]},"975":{"position":[[259,10]]},"1011":{"position":[[505,10]]},"1026":{"position":[[823,10]]},"1054":{"position":[[741,10]]},"1075":{"position":[[91,11]]},"1104":{"position":[[503,10]]},"1232":{"position":[[3524,10]]},"1247":{"position":[[75,10]]},"1461":{"position":[[1938,10]]}},"keywords":{}}],["particularli",{"_index":1574,"title":{},"content":{"286":{"position":[[278,12]]},"1138":{"position":[[5919,12]]},"1148":{"position":[[3269,12]]},"1186":{"position":[[1493,12]]},"1187":{"position":[[1506,12]]},"1188":{"position":[[6232,12]]},"1197":{"position":[[731,12]]},"1198":{"position":[[741,12]]},"1199":{"position":[[769,12]]},"1200":{"position":[[636,12]]},"1383":{"position":[[7732,12]]},"1403":{"position":[[6832,12]]}},"keywords":{}}],["partit",{"_index":2913,"title":{},"content":{"607":{"position":[[78,9],[323,9],[374,9]]},"613":{"position":[[80,9],[146,10]]}},"keywords":{}}],["party/halid",{"_index":7838,"title":{},"content":{"1415":{"position":[[5814,13]]}},"keywords":{}}],["party/halide:halid",{"_index":7839,"title":{},"content":{"1415":{"position":[[5848,20]]}},"keywords":{}}],["party/rust",{"_index":436,"title":{},"content":{"13":{"position":[[456,10]]}},"keywords":{}}],["party/rust:anyhow",{"_index":3493,"title":{},"content":{"690":{"position":[[2266,17]]}},"keywords":{}}],["party/rust:anyhow"",{"_index":3473,"title":{},"content":{"690":{"position":[[1060,24]]}},"keywords":{}}],["party/rust:arc",{"_index":3474,"title":{},"content":{"690":{"position":[[1107,14],[2358,14]]}},"keywords":{}}],["party/rust:blake3",{"_index":3495,"title":{},"content":{"690":{"position":[[2452,17]]}},"keywords":{}}],["party/rust:blake3"",{"_index":3476,"title":{},"content":{"690":{"position":[[1156,24]]}},"keywords":{}}],["party/rust:common",{"_index":3483,"title":{},"content":{"690":{"position":[[1433,17]]}},"keywords":{}}],["party/rust:compact_str",{"_index":3496,"title":{},"content":{"690":{"position":[[2544,22]]}},"keywords":{}}],["party/rust:compact_str"",{"_index":3477,"title":{},"content":{"690":{"position":[[1203,29]]}},"keywords":{}}],["party/rust:dashmap",{"_index":3497,"title":{},"content":{"690":{"position":[[2641,18]]}},"keywords":{}}],["party/rust:dashmap"",{"_index":3478,"title":{},"content":{"690":{"position":[[1255,25]]}},"keywords":{}}],["party/rust:nix",{"_index":3498,"title":{},"content":{"690":{"position":[[2734,14]]}},"keywords":{}}],["party/rust:nix"",{"_index":3486,"title":{},"content":{"690":{"position":[[1619,20]]}},"keywords":{}}],["party/skylark/bazel",{"_index":2733,"title":{},"content":{"587":{"position":[[218,19]]}},"keywords":{}}],["pascal",{"_index":5630,"title":{},"content":{"1102":{"position":[[111,7],[221,6]]}},"keywords":{}}],["pascal.bzl",{"_index":5634,"title":{},"content":{"1102":{"position":[[356,10]]}},"keywords":{}}],["pascal_binari",{"_index":5633,"title":{},"content":{"1102":{"position":[[326,15]]},"1103":{"position":[[393,13],[522,14]]},"1108":{"position":[[419,13]]}},"keywords":{}}],["pascal_binary_impl",{"_index":5647,"title":{},"content":{"1103":{"position":[[421,19],[561,19]]},"1108":{"position":[[373,18],[448,19]]}},"keywords":{}}],["pascal_binary_impl(_ctx",{"_index":5635,"title":{},"content":{"1102":{"position":[[492,24]]}},"keywords":{}}],["pascal_binary_impl(ctx",{"_index":5643,"title":{},"content":{"1103":{"position":[[135,23]]}},"keywords":{}}],["pascal_librari",{"_index":5632,"title":{},"content":{"1102":{"position":[[307,14]]}},"keywords":{}}],["pascallibraryinfo",{"_index":5662,"title":{},"content":{"1104":{"position":[[1717,17],[2306,17]]}},"keywords":{}}],["pascallibraryinfo(link",{"_index":5677,"title":{},"content":{"1104":{"position":[[2560,23]]}},"keywords":{}}],["pass",{"_index":842,"title":{"850":{"position":[[0,7]]}},"content":{"37":{"position":[[242,4]]},"84":{"position":[[408,7]]},"92":{"position":[[954,6],[1607,6]]},"94":{"position":[[2494,6],[3774,6]]},"99":{"position":[[1041,4]]},"121":{"position":[[99,6]]},"125":{"position":[[104,6]]},"126":{"position":[[480,6]]},"127":{"position":[[93,6]]},"133":{"position":[[250,6]]},"136":{"position":[[107,6]]},"140":{"position":[[153,6]]},"182":{"position":[[242,4]]},"216":{"position":[[408,7]]},"224":{"position":[[954,6],[1607,6]]},"226":{"position":[[2494,6],[3774,6]]},"231":{"position":[[1041,4]]},"233":{"position":[[338,7]]},"236":{"position":[[556,6]]},"237":{"position":[[483,6],[630,6]]},"240":{"position":[[290,6]]},"242":{"position":[[401,7]]},"243":{"position":[[351,6]]},"248":{"position":[[104,6]]},"249":{"position":[[480,6]]},"250":{"position":[[93,6]]},"256":{"position":[[250,6]]},"259":{"position":[[107,6]]},"263":{"position":[[153,6]]},"298":{"position":[[789,4],[1600,4],[1971,6]]},"300":{"position":[[218,4],[351,6]]},"304":{"position":[[336,4]]},"314":{"position":[[257,7]]},"329":{"position":[[350,6]]},"334":{"position":[[448,4],[663,4]]},"340":{"position":[[249,6]]},"345":{"position":[[511,6]]},"362":{"position":[[2660,4]]},"374":{"position":[[1463,6],[1771,6],[1926,6]]},"406":{"position":[[208,7]]},"407":{"position":[[137,4],[237,6]]},"408":{"position":[[496,6]]},"411":{"position":[[314,6]]},"416":{"position":[[448,4],[658,7]]},"417":{"position":[[678,4],[888,7]]},"418":{"position":[[355,4]]},"427":{"position":[[220,4]]},"428":{"position":[[111,6]]},"441":{"position":[[118,6]]},"442":{"position":[[144,7]]},"446":{"position":[[315,7]]},"451":{"position":[[238,4]]},"470":{"position":[[290,6]]},"474":{"position":[[187,4],[402,4]]},"530":{"position":[[99,6]]},"577":{"position":[[294,6]]},"606":{"position":[[189,7]]},"615":{"position":[[190,7]]},"662":{"position":[[732,6]]},"693":{"position":[[7325,4],[9637,6]]},"711":{"position":[[1364,4]]},"712":{"position":[[1076,4],[2169,7]]},"720":{"position":[[365,6]]},"741":{"position":[[2660,4]]},"753":{"position":[[1463,6],[1771,6],[1926,6]]},"785":{"position":[[208,7]]},"786":{"position":[[137,4],[237,6]]},"787":{"position":[[496,6]]},"790":{"position":[[314,6]]},"795":{"position":[[448,4],[658,7]]},"796":{"position":[[678,4],[888,7]]},"797":{"position":[[355,4]]},"806":{"position":[[220,4]]},"807":{"position":[[111,6]]},"820":{"position":[[118,6]]},"821":{"position":[[144,7]]},"825":{"position":[[315,7]]},"830":{"position":[[238,4]]},"834":{"position":[[542,7],[617,7]]},"837":{"position":[[101,4]]},"840":{"position":[[261,4],[963,4]]},"844":{"position":[[203,4]]},"850":{"position":[[189,4]]},"851":{"position":[[618,4]]},"861":{"position":[[255,7]]},"866":{"position":[[302,6]]},"889":{"position":[[801,6],[903,7],[959,4]]},"890":{"position":[[5053,4]]},"900":{"position":[[100,6]]},"905":{"position":[[1342,4]]},"919":{"position":[[2103,4],[2216,4]]},"924":{"position":[[344,4],[532,6],[890,4]]},"934":{"position":[[11,7],[48,4]]},"991":{"position":[[1279,6],[1337,6],[1411,7]]},"1004":{"position":[[540,6]]},"1006":{"position":[[1213,4]]},"1024":{"position":[[812,6]]},"1031":{"position":[[787,4]]},"1037":{"position":[[593,4]]},"1040":{"position":[[495,6],[750,4],[1056,6],[1379,6]]},"1043":{"position":[[82,7]]},"1044":{"position":[[2311,6],[2471,6]]},"1046":{"position":[[309,4]]},"1049":{"position":[[25,4],[291,6]]},"1053":{"position":[[201,6],[665,6]]},"1054":{"position":[[1304,4]]},"1061":{"position":[[427,4]]},"1069":{"position":[[390,4]]},"1070":{"position":[[505,7],[667,7]]},"1071":{"position":[[869,6]]},"1072":{"position":[[464,7]]},"1083":{"position":[[287,6],[339,6]]},"1086":{"position":[[357,4]]},"1104":{"position":[[1316,4]]},"1112":{"position":[[747,6]]},"1114":{"position":[[175,7],[208,7]]},"1140":{"position":[[266,6]]},"1148":{"position":[[564,6]]},"1167":{"position":[[203,6]]},"1188":{"position":[[319,6]]},"1191":{"position":[[373,7]]},"1217":{"position":[[319,6]]},"1228":{"position":[[223,6],[302,4],[2374,7]]},"1285":{"position":[[124,6]]},"1286":{"position":[[83,6],[230,6]]},"1287":{"position":[[156,6]]},"1345":{"position":[[1156,4]]},"1348":{"position":[[3966,4]]},"1355":{"position":[[4589,4],[4733,4]]},"1363":{"position":[[4812,6]]},"1373":{"position":[[4054,4],[4232,4],[4311,4],[6012,7],[8472,6]]},"1374":{"position":[[1695,6],[1939,6]]},"1381":{"position":[[1679,4]]},"1383":{"position":[[3109,6],[3152,6],[3199,6],[3249,4],[3324,6],[3443,6],[3653,6],[3781,6],[3997,6],[4097,6],[5186,4]]},"1388":{"position":[[4691,4]]},"1390":{"position":[[1705,6]]},"1405":{"position":[[2190,4],[2438,4],[2604,6],[3230,6],[3336,7]]},"1407":{"position":[[2231,4],[2859,4],[3025,6],[3651,6],[3757,7]]},"1408":{"position":[[1900,4],[1976,4],[2376,7]]},"1410":{"position":[[2632,4],[2882,4],[3127,6],[4233,6],[4744,7]]},"1412":{"position":[[3085,4]]},"1416":{"position":[[2269,4]]},"1420":{"position":[[1951,4]]},"1427":{"position":[[3734,4]]},"1429":{"position":[[5183,6],[5267,6]]},"1438":{"position":[[1646,6],[2072,6]]},"1439":{"position":[[4416,4],[4485,4],[5448,6]]},"1440":{"position":[[5177,6],[5261,6]]},"1446":{"position":[[1670,6]]},"1448":{"position":[[1965,4]]},"1449":{"position":[[1899,4]]},"1462":{"position":[[8593,6]]},"1465":{"position":[[1474,6]]},"1467":{"position":[[10075,6]]},"1470":{"position":[[4326,4]]},"1471":{"position":[[3640,6],[3962,4],[5026,4]]},"1472":{"position":[[3437,4],[4224,6],[4546,4],[5527,4]]},"1473":{"position":[[3708,6],[4283,4],[5476,4]]},"1478":{"position":[[1079,4],[3368,7],[3635,6],[3730,4],[3747,6]]},"1482":{"position":[[2815,4],[2832,6],[2904,4],[2921,6],[2991,6],[3147,4],[3164,6],[3236,4],[3253,6],[3317,4],[3334,6],[3390,6]]},"1486":{"position":[[1897,6],[2004,6]]}},"keywords":{}}],["pass"",{"_index":8477,"title":{},"content":{"1478":{"position":[[2924,12],[3179,10]]}},"keywords":{}}],["pass/1",{"_index":8487,"title":{},"content":{"1478":{"position":[[3563,6]]}},"keywords":{}}],["passinghide_prefix",{"_index":899,"title":{},"content":{"50":{"position":[[423,18]]},"197":{"position":[[423,18]]}},"keywords":{}}],["passthrough",{"_index":1467,"title":{},"content":{"236":{"position":[[539,11]]},"1287":{"position":[[139,11]]}},"keywords":{}}],["password",{"_index":8035,"title":{},"content":{"1438":{"position":[[1917,8]]}},"keywords":{}}],["password:"",{"_index":8032,"title":{},"content":{"1438":{"position":[[1793,15]]}},"keywords":{}}],["past",{"_index":5769,"title":{},"content":{"1120":{"position":[[310,6]]}},"keywords":{}}],["path",{"_index":215,"title":{"861":{"position":[[12,4]]},"1018":{"position":[[26,6]]},"1174":{"position":[[9,5]]},"1180":{"position":[[18,5]]}},"content":{"9":{"position":[[989,5],[1131,5]]},"15":{"position":[[658,6]]},"17":{"position":[[762,4],[1076,5]]},"37":{"position":[[178,4]]},"40":{"position":[[153,4],[196,4],[237,5],[258,5]]},"50":{"position":[[22,5],[116,4],[414,5]]},"51":{"position":[[54,5]]},"69":{"position":[[132,5],[251,5],[348,5],[427,5]]},"84":{"position":[[126,4]]},"86":{"position":[[212,4]]},"94":{"position":[[2106,4],[2258,4],[2429,4],[4142,4],[4216,4],[4239,4],[4315,4],[4407,4]]},"96":{"position":[[210,4]]},"98":{"position":[[1008,5],[1052,6]]},"99":{"position":[[1416,5],[1460,6]]},"145":{"position":[[248,4]]},"171":{"position":[[46,4]]},"173":{"position":[[153,4],[196,4],[237,5],[258,5]]},"182":{"position":[[178,4]]},"197":{"position":[[22,5],[116,4],[414,5]]},"198":{"position":[[54,5]]},"216":{"position":[[126,4]]},"218":{"position":[[212,4]]},"226":{"position":[[2106,4],[2258,4],[2429,4],[4142,4],[4216,4],[4239,4],[4315,4],[4407,4]]},"228":{"position":[[210,4]]},"230":{"position":[[1008,5],[1052,6]]},"231":{"position":[[1416,5],[1460,6]]},"242":{"position":[[512,4]]},"243":{"position":[[153,5],[232,5],[330,4],[472,5]]},"268":{"position":[[248,4]]},"278":{"position":[[74,4]]},"279":{"position":[[41,5],[149,4],[175,4],[211,4],[244,5]]},"284":{"position":[[145,5]]},"288":{"position":[[89,5],[143,4],[497,4],[590,4],[763,4]]},"289":{"position":[[80,4],[163,4],[517,4],[610,4],[783,4]]},"292":{"position":[[42,4]]},"299":{"position":[[60,4]]},"304":{"position":[[466,4]]},"307":{"position":[[55,4]]},"314":{"position":[[104,5],[278,4],[373,4]]},"315":{"position":[[86,4]]},"316":{"position":[[104,4]]},"317":{"position":[[105,4]]},"318":{"position":[[203,4]]},"319":{"position":[[105,4]]},"320":{"position":[[260,4],[461,4],[495,5],[523,5]]},"324":{"position":[[583,6]]},"334":{"position":[[463,4],[522,4],[617,4],[696,5]]},"344":{"position":[[398,4]]},"362":{"position":[[2319,4],[2714,5]]},"374":{"position":[[1237,5]]},"405":{"position":[[1972,5],[2375,5]]},"406":{"position":[[99,4],[273,4]]},"408":{"position":[[662,5],[781,5],[887,5],[974,5]]},"416":{"position":[[120,4],[232,5],[280,4],[458,4],[595,4]]},"417":{"position":[[326,5],[367,5],[461,5],[509,4],[688,4],[825,4],[1110,4]]},"457":{"position":[[132,5],[251,5],[348,5],[427,5]]},"460":{"position":[[76,4]]},"463":{"position":[[157,4]]},"465":{"position":[[345,6]]},"474":{"position":[[202,4],[261,4],[356,4],[435,5]]},"476":{"position":[[369,4]]},"510":{"position":[[115,5],[169,4],[563,4],[661,4],[831,4]]},"511":{"position":[[106,4],[189,4],[583,4],[676,4],[846,4]]},"551":{"position":[[46,4]]},"584":{"position":[[849,4],[892,4],[950,4]]},"587":{"position":[[385,4]]},"675":{"position":[[904,4]]},"688":{"position":[[231,5],[275,6],[297,5]]},"690":{"position":[[3102,4],[3400,4]]},"693":{"position":[[5184,5],[8735,4]]},"717":{"position":[[347,4]]},"722":{"position":[[772,5]]},"724":{"position":[[179,4]]},"741":{"position":[[2319,4],[2714,5]]},"753":{"position":[[1237,5]]},"784":{"position":[[1972,5],[2375,5]]},"785":{"position":[[99,4],[273,4]]},"787":{"position":[[662,5],[781,5],[887,5],[974,5]]},"795":{"position":[[120,4],[232,5],[280,4],[458,4],[595,4]]},"796":{"position":[[326,5],[367,5],[461,5],[509,4],[688,4],[825,4],[1110,4]]},"834":{"position":[[56,4],[533,4],[637,4]]},"840":{"position":[[1850,4]]},"841":{"position":[[157,4]]},"861":{"position":[[129,5],[224,5],[312,4],[382,5],[809,5]]},"866":{"position":[[222,4]]},"872":{"position":[[343,5],[366,4],[848,5]]},"951":{"position":[[142,4],[200,4],[524,4]]},"1018":{"position":[[86,5],[259,6]]},"1025":{"position":[[269,4],[302,4],[487,4],[536,4],[597,4]]},"1026":{"position":[[959,6]]},"1032":{"position":[[140,5],[158,5],[209,5]]},"1050":{"position":[[1284,5],[1343,5],[1520,4],[2277,4],[2440,4]]},"1058":{"position":[[1006,4]]},"1070":{"position":[[240,6]]},"1071":{"position":[[445,4]]},"1073":{"position":[[91,5]]},"1078":{"position":[[98,4]]},"1093":{"position":[[280,4],[299,4]]},"1097":{"position":[[186,4]]},"1105":{"position":[[2456,7]]},"1112":{"position":[[217,4],[256,5],[1694,4],[4864,4]]},"1124":{"position":[[246,4]]},"1136":{"position":[[2832,5],[5942,5]]},"1138":{"position":[[169,4],[277,4],[354,4],[474,4],[551,5],[652,6],[1276,4],[1359,4],[2113,7],[2147,4],[6494,5],[9604,5]]},"1140":{"position":[[1602,7],[1636,4],[5420,5],[8530,5]]},"1142":{"position":[[166,5],[864,5],[3974,5]]},"1146":{"position":[[804,5],[3914,5]]},"1148":{"position":[[3844,5],[6954,5]]},"1150":{"position":[[86,4]]},"1155":{"position":[[900,5],[4010,5]]},"1156":{"position":[[478,5],[3588,5]]},"1161":{"position":[[63,6],[81,6],[92,4],[326,8],[411,5]]},"1163":{"position":[[548,5]]},"1165":{"position":[[377,5]]},"1167":{"position":[[2606,7],[2640,4],[6424,5],[9534,5]]},"1169":{"position":[[263,5],[2642,5]]},"1171":{"position":[[237,4],[253,4],[612,4],[635,4]]},"1172":{"position":[[872,6],[890,6],[899,4]]},"1173":{"position":[[172,6],[190,6],[199,4]]},"1174":{"position":[[11,4],[61,4],[76,6],[94,6],[103,4]]},"1175":{"position":[[96,6],[114,6],[123,4]]},"1176":{"position":[[180,6],[198,6],[207,4]]},"1177":{"position":[[92,6],[110,6],[119,4]]},"1178":{"position":[[101,5],[246,6],[264,6],[273,4]]},"1179":{"position":[[112,6],[130,6],[139,4]]},"1180":{"position":[[18,4],[115,5],[352,5],[427,4],[442,6],[460,6],[469,4]]},"1181":{"position":[[136,6],[173,6],[182,4]]},"1182":{"position":[[134,6],[152,6],[161,4]]},"1183":{"position":[[89,6],[107,6],[116,4]]},"1186":{"position":[[332,4],[2068,5],[5178,5]]},"1187":{"position":[[345,4],[2081,5],[5191,5]]},"1188":{"position":[[1655,7],[1689,4],[5071,4],[6807,5],[9917,5]]},"1190":{"position":[[1261,4],[1391,4],[1449,4]]},"1191":{"position":[[271,5],[668,5],[3778,5]]},"1192":{"position":[[843,5],[3953,5]]},"1193":{"position":[[895,5],[4005,5]]},"1194":{"position":[[535,5],[3645,5]]},"1195":{"position":[[198,5],[513,5],[3623,5]]},"1196":{"position":[[323,5],[3433,5]]},"1197":{"position":[[1306,5],[4416,5]]},"1198":{"position":[[1316,5],[4426,5]]},"1199":{"position":[[1344,5],[4454,5]]},"1200":{"position":[[1211,5],[4321,5]]},"1201":{"position":[[471,5],[3581,5]]},"1202":{"position":[[1370,4],[1613,5],[4723,5],[6010,5],[9120,5]]},"1203":{"position":[[705,5],[3815,5]]},"1204":{"position":[[549,5],[3659,5]]},"1205":{"position":[[148,4],[360,4],[1878,5],[4988,5]]},"1206":{"position":[[20,4],[78,4],[349,5],[3459,5],[3670,4]]},"1207":{"position":[[506,5],[3616,5]]},"1209":{"position":[[1854,5],[4964,5]]},"1217":{"position":[[1347,7],[1381,4],[5165,5],[8275,5]]},"1219":{"position":[[1151,5],[3530,5]]},"1222":{"position":[[275,5],[3385,5]]},"1223":{"position":[[285,5],[3395,5]]},"1224":{"position":[[465,5],[2844,5]]},"1226":{"position":[[803,5],[905,5],[1020,5],[3348,4],[3456,4],[3533,4],[3653,4],[3730,5],[3831,6],[5633,5],[8743,5]]},"1228":{"position":[[1116,6],[1272,7],[2026,4],[2554,4],[3428,7],[3462,4],[7246,5],[10356,5]]},"1235":{"position":[[3114,5],[6224,5]]},"1237":{"position":[[973,5],[1075,5],[1190,5],[3518,4],[3626,4],[3703,4],[3823,4],[3900,5],[4001,6],[5803,5],[8913,5]]},"1240":{"position":[[207,4],[317,4],[397,4],[474,4]]},"1259":{"position":[[82,6]]},"1260":{"position":[[24,6],[96,5],[601,5]]},"1269":{"position":[[126,4]]},"1290":{"position":[[82,6]]},"1291":{"position":[[24,6],[96,5],[601,5]]},"1300":{"position":[[126,4]]},"1318":{"position":[[82,6]]},"1319":{"position":[[24,6],[96,5],[601,5]]},"1328":{"position":[[126,4]]},"1345":{"position":[[305,4],[417,4],[566,4],[691,4]]},"1351":{"position":[[2508,4]]},"1356":{"position":[[1836,4]]},"1358":{"position":[[2005,4],[2197,4]]},"1360":{"position":[[2518,4],[2662,4],[3517,5],[3546,4],[4869,5],[4941,6],[4998,5],[5086,4],[5388,4]]},"1362":{"position":[[8157,4],[8233,4],[8354,4],[10949,4],[13658,5]]},"1363":{"position":[[4886,4],[5419,4]]},"1364":{"position":[[9006,4],[9082,4],[9201,4],[9268,4],[9468,4],[11916,4],[14358,5]]},"1366":{"position":[[2285,5],[2937,5]]},"1367":{"position":[[8245,4],[8321,4],[8442,4],[9802,4]]},"1373":{"position":[[5465,4],[5812,4],[7728,4],[7883,4],[8039,4]]},"1380":{"position":[[496,5],[1781,4]]},"1382":{"position":[[5360,4],[5427,4],[7818,4],[10504,4],[10659,4],[10815,4]]},"1383":{"position":[[4642,5],[4686,6],[4718,5],[4739,5],[4829,5],[4977,5],[5094,5],[5611,4],[6172,5],[6200,4],[6977,5],[7049,6],[7106,5],[7194,4],[7391,4]]},"1384":{"position":[[10307,4],[10374,4],[13882,4],[17578,4],[17733,4],[17889,4]]},"1385":{"position":[[3274,4],[3341,4]]},"1386":{"position":[[1669,4],[2765,5],[2938,5],[3012,5],[4004,5],[5694,6],[5777,5],[5848,6]]},"1387":{"position":[[5607,4],[5674,4],[7143,4]]},"1388":{"position":[[8997,4],[9152,4],[9308,4]]},"1393":{"position":[[3377,5],[3589,4]]},"1397":{"position":[[2194,5],[2464,4],[2842,4]]},"1399":{"position":[[1968,4],[2326,5]]},"1401":{"position":[[1541,4]]},"1402":{"position":[[1591,4],[1651,4],[1782,4],[2045,4]]},"1403":{"position":[[2932,5],[2961,4],[4857,5],[4929,6],[4986,5],[5243,4],[5423,5],[6491,4]]},"1407":{"position":[[4164,6]]},"1408":{"position":[[2176,4]]},"1410":{"position":[[4341,4]]},"1421":{"position":[[2235,5]]},"1422":{"position":[[1867,5],[2637,4]]},"1438":{"position":[[1560,4],[2006,4],[2058,4]]},"1439":{"position":[[4476,5],[4525,6],[4867,5],[4977,6],[5103,4],[5407,4]]},"1454":{"position":[[7211,4],[7278,4],[8154,4],[8466,4],[8786,4],[9048,4],[9122,4],[9200,4]]},"1455":{"position":[[3016,5],[3187,5],[3416,5],[3668,5],[3914,5],[4063,5],[4321,5]]},"1456":{"position":[[1466,4]]},"1457":{"position":[[1611,4],[1763,4]]},"1458":{"position":[[2058,4],[2320,4]]},"1461":{"position":[[1876,4]]},"1471":{"position":[[4031,4],[4300,4]]},"1472":{"position":[[4615,4],[4884,4]]},"1473":{"position":[[4352,4],[4621,4]]},"1476":{"position":[[473,5]]},"1477":{"position":[[1802,4]]},"1478":{"position":[[2508,4]]},"1485":{"position":[[1642,4],[1709,4],[3369,4],[3524,4],[3680,4]]},"1487":{"position":[[3735,4]]}},"keywords":{}}],["path>>",{"_index":3829,"title":{},"content":{"834":{"position":[[196,12]]}},"keywords":{}}],["path"",{"_index":3484,"title":{},"content":{"690":{"position":[[1451,10]]}},"keywords":{}}],["path'",{"_index":1030,"title":{},"content":{"84":{"position":[[159,6]]},"216":{"position":[[159,6]]}},"keywords":{}}],["path//to/my_script/script.bxl:my_script",{"_index":4000,"title":{},"content":{"865":{"position":[[444,39]]}},"keywords":{}}],["path/to/a.fil",{"_index":6233,"title":{},"content":{"1258":{"position":[[624,14],[836,14]]},"1289":{"position":[[624,14],[836,14]]},"1317":{"position":[[624,14],[836,14]]}},"keywords":{}}],["path/to/dir",{"_index":5823,"title":{},"content":{"1129":{"position":[[88,17]]}},"keywords":{}}],["path/to/packag",{"_index":3597,"title":{},"content":{"693":{"position":[[8809,15]]}},"keywords":{}}],["path/to/target.jar",{"_index":3444,"title":{},"content":{"688":{"position":[[849,18]]}},"keywords":{}}],["path/to:target",{"_index":3441,"title":{},"content":{"688":{"position":[[424,17],[666,17],[1253,17]]},"1374":{"position":[[2881,17]]},"1486":{"position":[[3084,17]]}},"keywords":{}}],["path/to:target)expand",{"_index":7182,"title":{},"content":{"1383":{"position":[[5229,24],[5579,24]]},"1388":{"position":[[4853,24],[6263,24]]},"1467":{"position":[[6616,24]]}},"keywords":{}}],["path=$home/.cargo/bin:$path",{"_index":470,"title":{},"content":{"15":{"position":[[686,27]]}},"keywords":{}}],["patha",{"_index":1277,"title":{},"content":{"99":{"position":[[916,5]]},"231":{"position":[[916,5]]}},"keywords":{}}],["paths.run_from_project_root",{"_index":5487,"title":{},"content":{"1070":{"position":[[278,27]]}},"keywords":{}}],["paths_and_cont",{"_index":6051,"title":{},"content":{"1226":{"position":[[636,20],[921,19],[971,19]]},"1237":{"position":[[806,20],[1091,19],[1141,19]]}},"keywords":{}}],["paths_onli",{"_index":6052,"title":{},"content":{"1226":{"position":[[777,13],[959,11],[1157,13]]},"1237":{"position":[[947,13],[1129,11],[1327,13]]}},"keywords":{}}],["pattern",{"_index":1613,"title":{"698":{"position":[[7,7]]},"699":{"position":[[13,8]]}},"content":{"294":{"position":[[987,9]]},"297":{"position":[[817,9]]},"301":{"position":[[758,9]]},"309":{"position":[[560,9],[955,7]]},"310":{"position":[[408,9]]},"311":{"position":[[326,9]]},"408":{"position":[[1187,7]]},"418":{"position":[[163,9],[413,8]]},"676":{"position":[[247,7],[335,7],[428,7]]},"683":{"position":[[235,8]]},"693":{"position":[[8976,8],[9202,8]]},"699":{"position":[[13,8]]},"787":{"position":[[1187,7]]},"797":{"position":[[163,9],[413,8]]},"844":{"position":[[237,7]]},"898":{"position":[[1453,8]]},"907":{"position":[[424,7]]},"919":{"position":[[217,9],[321,7]]},"921":{"position":[[61,8]]},"942":{"position":[[525,8],[787,8],[1248,8]]},"944":{"position":[[469,8]]},"964":{"position":[[469,7]]},"1021":{"position":[[51,7],[137,7]]},"1057":{"position":[[1331,9]]},"1064":{"position":[[1824,8],[1935,9],[1981,8]]},"1104":{"position":[[2167,7],[2624,7]]},"1129":{"position":[[23,7],[157,7],[211,8],[241,7]]},"1133":{"position":[[382,8]]},"1138":{"position":[[118,8],[5351,8]]},"1140":{"position":[[4840,8]]},"1146":{"position":[[15,8],[139,8],[246,7]]},"1155":{"position":[[151,8]]},"1167":{"position":[[5844,8]]},"1188":{"position":[[4893,8]]},"1190":{"position":[[644,7]]},"1192":{"position":[[347,8]]},"1197":{"position":[[38,7],[158,8]]},"1198":{"position":[[134,8]]},"1199":{"position":[[149,8],[219,8]]},"1200":{"position":[[179,8]]},"1217":{"position":[[4585,8]]},"1226":{"position":[[113,8],[4054,8]]},"1228":{"position":[[161,8],[656,8],[708,8],[6666,8]]},"1237":{"position":[[283,8],[4224,8]]},"1255":{"position":[[17,7]]},"1258":{"position":[[255,7]]},"1271":{"position":[[173,7]]},"1289":{"position":[[255,7]]},"1302":{"position":[[173,7]]},"1317":{"position":[[255,7]]},"1330":{"position":[[173,7]]},"1348":{"position":[[3281,8],[3371,8]]},"1349":{"position":[[1426,8],[1516,8]]},"1350":{"position":[[4397,8],[4487,8]]},"1351":{"position":[[1621,8],[1712,8]]},"1352":{"position":[[4396,8],[4486,8]]},"1353":{"position":[[2000,8],[2090,8]]},"1354":{"position":[[1838,8],[1928,8]]},"1355":{"position":[[2981,8],[3072,8]]},"1356":{"position":[[1344,8],[1434,8]]},"1357":{"position":[[1017,8],[1107,8]]},"1358":{"position":[[1738,8],[1828,8]]},"1359":{"position":[[1575,8],[1665,8]]},"1360":{"position":[[2210,8],[2301,8]]},"1361":{"position":[[1565,8],[1655,8]]},"1362":{"position":[[5933,8],[6024,8]]},"1363":{"position":[[3679,8],[3770,8]]},"1364":{"position":[[5962,8],[6053,8]]},"1365":{"position":[[1499,8],[1589,8]]},"1366":{"position":[[1709,8],[1800,8]]},"1367":{"position":[[7360,8],[7451,8]]},"1368":{"position":[[2055,8],[2145,8]]},"1369":{"position":[[1107,8],[1197,8]]},"1370":{"position":[[1358,8],[1449,8]]},"1371":{"position":[[983,8],[1073,8]]},"1372":{"position":[[2621,8],[2711,8]]},"1373":{"position":[[3493,8],[3583,8]]},"1374":{"position":[[1393,8],[1484,8]]},"1375":{"position":[[1019,8],[1109,8]]},"1376":{"position":[[975,8],[1065,8]]},"1377":{"position":[[1214,8],[1304,8]]},"1378":{"position":[[961,8],[1051,8]]},"1379":{"position":[[984,8],[1074,8]]},"1380":{"position":[[1455,8],[1545,8]]},"1381":{"position":[[1361,8],[1451,8]]},"1382":{"position":[[3845,8],[3936,8],[4741,7]]},"1383":{"position":[[2083,8],[2174,8],[3527,7],[3871,7],[4159,7]]},"1384":{"position":[[5007,8],[5098,8],[20320,7]]},"1385":{"position":[[2680,8],[2770,8]]},"1386":{"position":[[1318,8],[1408,8]]},"1387":{"position":[[4949,8],[5039,8]]},"1388":{"position":[[4145,8],[4236,8],[5435,7]]},"1389":{"position":[[5002,8],[5092,8]]},"1390":{"position":[[1254,8],[1344,8]]},"1391":{"position":[[1207,8],[1297,8]]},"1392":{"position":[[1357,8],[1447,8]]},"1393":{"position":[[1933,8],[2024,8]]},"1394":{"position":[[1377,8],[1467,8]]},"1395":{"position":[[1390,8],[1481,8]]},"1396":{"position":[[1183,8],[1273,8]]},"1397":{"position":[[1364,8],[1454,8]]},"1398":{"position":[[2040,8],[2131,8],[6802,7]]},"1399":{"position":[[1219,8],[1309,8]]},"1400":{"position":[[1088,8],[1178,8]]},"1401":{"position":[[1163,8],[1253,8]]},"1402":{"position":[[1319,8],[1409,8]]},"1403":{"position":[[1913,8],[2004,8]]},"1404":{"position":[[1152,8],[1242,8]]},"1405":{"position":[[1843,8],[1933,8]]},"1406":{"position":[[1059,8],[1149,8]]},"1407":{"position":[[1884,8],[1974,8]]},"1408":{"position":[[1580,8],[1670,8]]},"1409":{"position":[[1114,8],[1204,8]]},"1410":{"position":[[2280,8],[2371,8]]},"1411":{"position":[[1097,8],[1187,8]]},"1412":{"position":[[2301,8],[2392,8]]},"1413":{"position":[[2481,8],[2571,8]]},"1414":{"position":[[1348,8],[1438,8]]},"1415":{"position":[[3330,8],[3420,8]]},"1416":{"position":[[1982,8],[2072,8]]},"1417":{"position":[[1571,8],[1661,8]]},"1418":{"position":[[1272,8],[1362,8]]},"1419":{"position":[[1400,8],[1490,8]]},"1420":{"position":[[1664,8],[1754,8]]},"1421":{"position":[[1639,8],[1729,8]]},"1422":{"position":[[1546,8],[1637,8],[1848,9],[1927,8]]},"1423":{"position":[[1531,8],[1621,8]]},"1424":{"position":[[1656,8],[1746,8]]},"1425":{"position":[[1272,8],[1362,8]]},"1426":{"position":[[1619,8],[1710,8],[1906,8],[2171,7]]},"1427":{"position":[[2516,8],[2607,8],[4657,8],[4717,7]]},"1428":{"position":[[1254,8],[1344,8]]},"1429":{"position":[[3180,8],[3271,8]]},"1430":{"position":[[2030,8],[2120,8]]},"1431":{"position":[[1374,8],[1464,8]]},"1432":{"position":[[1895,8],[1985,8]]},"1433":{"position":[[1416,8],[1506,8]]},"1434":{"position":[[1090,8],[1180,8]]},"1435":{"position":[[1054,8],[1144,8]]},"1436":{"position":[[1070,8],[1160,8]]},"1437":{"position":[[1140,8],[1230,8]]},"1438":{"position":[[1278,8],[1369,8]]},"1439":{"position":[[2802,8],[2893,8],[7156,8],[7216,7]]},"1440":{"position":[[3368,8],[3459,8]]},"1441":{"position":[[1096,8],[1186,8]]},"1442":{"position":[[1173,8],[1264,8],[1731,7]]},"1443":{"position":[[1391,8],[1481,8]]},"1444":{"position":[[1307,8],[1397,8]]},"1445":{"position":[[996,8],[1086,8]]},"1446":{"position":[[1330,8],[1420,8]]},"1447":{"position":[[1212,8],[1302,8]]},"1448":{"position":[[1647,8],[1737,8]]},"1449":{"position":[[1581,8],[1671,8]]},"1450":{"position":[[1460,8],[1550,8]]},"1451":{"position":[[1460,8],[1550,8]]},"1452":{"position":[[1006,8],[1096,8]]},"1453":{"position":[[1592,8],[1682,8]]},"1454":{"position":[[3958,8],[4048,8]]},"1455":{"position":[[1845,8],[1935,8]]},"1456":{"position":[[1190,8],[1280,8]]},"1457":{"position":[[1249,8],[1339,8]]},"1458":{"position":[[1784,8],[1874,8]]},"1459":{"position":[[1263,8],[1353,8]]},"1460":{"position":[[1375,8],[1465,8]]},"1461":{"position":[[1594,8],[1685,8]]},"1462":{"position":[[4971,8],[5061,8],[9169,7]]},"1463":{"position":[[1097,8],[1187,8]]},"1464":{"position":[[1005,8],[1095,8]]},"1465":{"position":[[2103,8],[2193,8]]},"1466":{"position":[[1341,8],[1431,8]]},"1467":{"position":[[5664,8],[5755,8]]},"1468":{"position":[[1105,8],[1195,8]]},"1469":{"position":[[1482,8],[1573,8]]},"1470":{"position":[[4007,8],[4097,8]]},"1471":{"position":[[2345,8],[2436,8]]},"1472":{"position":[[2304,8],[2395,8]]},"1473":{"position":[[2619,8],[2710,8]]},"1474":{"position":[[2006,8],[2096,8]]},"1475":{"position":[[2477,8],[2567,8]]},"1476":{"position":[[1082,8],[1172,8]]},"1477":{"position":[[1238,8],[1329,8]]},"1478":{"position":[[1729,8],[1820,8]]},"1479":{"position":[[1174,8],[1264,8]]},"1480":{"position":[[1587,8],[1677,8]]},"1481":{"position":[[2120,8],[2210,8]]},"1482":{"position":[[1194,8],[1284,8]]},"1483":{"position":[[1028,8],[1118,8]]},"1484":{"position":[[1100,8],[1190,8]]},"1485":{"position":[[1360,8],[1450,8]]},"1486":{"position":[[1604,8],[1694,8]]},"1487":{"position":[[1303,8],[1394,8]]}},"keywords":{}}],["pattern(",{"_index":6020,"title":{},"content":{"1201":{"position":[[210,10]]}},"keywords":{}}],["paus",{"_index":697,"title":{},"content":{"23":{"position":[[286,7]]}},"keywords":{}}],["pay",{"_index":6201,"title":{},"content":{"1250":{"position":[[185,3]]},"1486":{"position":[[792,6]]}},"keywords":{}}],["pch",{"_index":7258,"title":{},"content":{"1386":{"position":[[2305,5],[2316,3],[2579,4],[2713,3],[2794,3],[2858,3],[4357,3],[4549,3],[4711,4],[5206,4],[5334,4],[5431,3],[5600,3],[5623,3],[5799,3],[5975,4],[6021,3],[6070,3]]}},"keywords":{}}],["pch'",{"_index":7259,"title":{},"content":{"1386":{"position":[[2388,5],[2918,5]]}},"keywords":{}}],["peak",{"_index":2379,"title":{"1246":{"position":[[26,4]]},"1248":{"position":[[29,4]]}},"content":{"444":{"position":[[78,4]]},"823":{"position":[[78,4]]},"1247":{"position":[[0,4]]},"1248":{"position":[[20,4]]}},"keywords":{}}],["peek_private_includ",{"_index":7450,"title":{},"content":{"1393":{"position":[[814,22],[6595,22]]}},"keywords":{}}],["pem",{"_index":6308,"title":{},"content":{"1345":{"position":[[352,3],[673,3]]}},"keywords":{}}],["peopl",{"_index":12,"title":{"3":{"position":[[4,6]]},"4":{"position":[[4,6]]}},"content":{"9":{"position":[[345,6]]},"11":{"position":[[10,6],[695,6]]},"693":{"position":[[9392,6]]},"834":{"position":[[499,6]]},"933":{"position":[[196,7]]},"997":{"position":[[5,6],[258,6]]}},"keywords":{}}],["per",{"_index":67,"title":{"1005":{"position":[[0,3]]},"1006":{"position":[[0,3]]},"1007":{"position":[[0,3]]}},"content":{"4":{"position":[[524,3]]},"72":{"position":[[131,3]]},"136":{"position":[[93,3]]},"259":{"position":[[93,3]]},"300":{"position":[[142,3]]},"495":{"position":[[131,3]]},"555":{"position":[[152,3]]},"840":{"position":[[122,3],[149,3]]},"904":{"position":[[100,3]]},"916":{"position":[[103,3],[267,3],[381,3],[395,3]]},"947":{"position":[[529,3]]},"954":{"position":[[455,3],[831,3]]},"961":{"position":[[378,3]]},"969":{"position":[[44,3]]},"997":{"position":[[30,3]]},"998":{"position":[[85,3],[340,3]]},"1001":{"position":[[397,3],[1270,3],[1501,3]]},"1004":{"position":[[685,3]]},"1007":{"position":[[52,3]]},"1009":{"position":[[199,4],[223,4]]},"1032":{"position":[[126,3]]},"1057":{"position":[[954,3]]},"1058":{"position":[[887,3]]},"1064":{"position":[[495,3]]},"1065":{"position":[[204,3]]},"1103":{"position":[[758,3]]},"1114":{"position":[[101,3]]},"1226":{"position":[[4249,3],[4273,3]]},"1237":{"position":[[4419,3],[4443,3]]},"1247":{"position":[[579,3]]},"1374":{"position":[[2252,3]]},"1384":{"position":[[21919,3]]},"1386":{"position":[[2334,3],[2470,3]]},"1398":{"position":[[5355,3]]},"1486":{"position":[[2186,3],[2422,3]]}},"keywords":{}}],["percentag",{"_index":8563,"title":{},"content":{"1486":{"position":[[2466,10]]}},"keywords":{}}],["perf",{"_index":4498,"title":{},"content":{"919":{"position":[[1217,4]]},"1060":{"position":[[83,4],[300,4]]},"1061":{"position":[[176,4]]}},"keywords":{}}],["perform",{"_index":194,"title":{"572":{"position":[[0,11]]},"874":{"position":[[0,7]]},"922":{"position":[[16,10]]},"1090":{"position":[[0,12]]},"1132":{"position":[[9,7]]}},"content":{"9":{"position":[[502,11],[520,11]]},"22":{"position":[[385,11]]},"23":{"position":[[2716,12]]},"81":{"position":[[385,9]]},"213":{"position":[[385,9]]},"276":{"position":[[457,11]]},"277":{"position":[[405,11]]},"281":{"position":[[546,11]]},"282":{"position":[[496,11]]},"303":{"position":[[63,10]]},"338":{"position":[[391,8]]},"685":{"position":[[242,7]]},"715":{"position":[[1228,8]]},"718":{"position":[[93,8]]},"724":{"position":[[1524,12]]},"834":{"position":[[413,8]]},"840":{"position":[[1311,7]]},"856":{"position":[[294,11]]},"882":{"position":[[61,10]]},"892":{"position":[[1184,10],[1411,10]]},"919":{"position":[[2591,11]]},"924":{"position":[[591,7]]},"937":{"position":[[2737,11]]},"954":{"position":[[182,8]]},"955":{"position":[[717,8],[771,8]]},"965":{"position":[[367,11]]},"1009":{"position":[[100,7]]},"1014":{"position":[[175,10],[524,9]]},"1026":{"position":[[770,9],[857,8]]},"1027":{"position":[[64,7]]},"1037":{"position":[[172,11],[257,11]]},"1050":{"position":[[225,11],[889,7],[1079,7]]},"1053":{"position":[[1509,9]]},"1056":{"position":[[590,9]]},"1057":{"position":[[121,10]]},"1079":{"position":[[297,11]]},"1087":{"position":[[429,11]]},"1090":{"position":[[4,11]]},"1103":{"position":[[1748,9]]},"1105":{"position":[[2205,7]]},"1136":{"position":[[0,7],[4728,11]]},"1138":{"position":[[2854,7],[8390,11]]},"1140":{"position":[[2343,7],[7316,11]]},"1142":{"position":[[132,8],[2760,11]]},"1146":{"position":[[2700,11]]},"1148":{"position":[[0,7],[5740,11]]},"1155":{"position":[[2796,11]]},"1156":{"position":[[2374,11]]},"1167":{"position":[[3347,7],[8320,11]]},"1169":{"position":[[2159,11]]},"1186":{"position":[[3964,11]]},"1187":{"position":[[3977,11]]},"1188":{"position":[[2396,7],[8703,11]]},"1190":{"position":[[0,7]]},"1191":{"position":[[2564,11]]},"1192":{"position":[[2739,11]]},"1193":{"position":[[2791,11]]},"1194":{"position":[[2431,11]]},"1195":{"position":[[2409,11]]},"1196":{"position":[[2219,11]]},"1197":{"position":[[3202,11]]},"1198":{"position":[[3212,11]]},"1199":{"position":[[3240,11]]},"1200":{"position":[[3107,11]]},"1201":{"position":[[2367,11]]},"1202":{"position":[[3509,11],[7906,11]]},"1203":{"position":[[2601,11]]},"1204":{"position":[[2445,11]]},"1205":{"position":[[3774,11]]},"1206":{"position":[[2245,11]]},"1207":{"position":[[2402,11]]},"1209":{"position":[[3750,11]]},"1217":{"position":[[2088,7],[7061,11]]},"1219":{"position":[[3047,11]]},"1222":{"position":[[2171,11]]},"1223":{"position":[[2181,11]]},"1224":{"position":[[2361,11]]},"1226":{"position":[[7529,11]]},"1228":{"position":[[4169,7],[9142,11]]},"1235":{"position":[[0,7],[364,9],[5010,11]]},"1237":{"position":[[7699,11]]},"1355":{"position":[[6122,11],[7135,11]]},"1362":{"position":[[9834,9]]},"1364":{"position":[[10948,9]]},"1367":{"position":[[10751,9]]},"1382":{"position":[[6560,9]]},"1384":{"position":[[12914,9]]},"1388":{"position":[[7429,9]]},"1427":{"position":[[3989,9],[5295,11],[6334,11]]},"1454":{"position":[[9080,10],[9154,10],[9232,10]]},"1462":{"position":[[8718,7],[8812,7]]},"1465":{"position":[[4009,7],[4166,7]]},"1467":{"position":[[8614,7],[10201,7],[10583,7]]},"1486":{"position":[[4490,7]]},"1487":{"position":[[1782,9]]}},"keywords":{}}],["performant.out",{"_index":7645,"title":{},"content":{"1399":{"position":[[1839,15]]}},"keywords":{}}],["perhap",{"_index":325,"title":{},"content":{"10":{"position":[[449,7],[1015,7]]},"688":{"position":[[896,8]]},"845":{"position":[[275,7]]},"1058":{"position":[[979,7]]},"1455":{"position":[[1214,7]]}},"keywords":{}}],["period",{"_index":4830,"title":{},"content":{"972":{"position":[[204,6]]},"1075":{"position":[[645,12]]},"1079":{"position":[[1187,7]]}},"keywords":{}}],["permanent.include_ert",{"_index":7571,"title":{},"content":{"1397":{"position":[[1837,23]]}},"keywords":{}}],["permiss",{"_index":1111,"title":{},"content":{"91":{"position":[[492,12]]},"223":{"position":[[492,12]]},"407":{"position":[[122,11]]},"786":{"position":[[122,11]]},"1040":{"position":[[792,10]]},"1355":{"position":[[4915,11]]},"1359":{"position":[[1970,11]]},"1362":{"position":[[6411,10]]},"1364":{"position":[[6440,10]]},"1367":{"position":[[7838,10]]},"1373":{"position":[[3967,10]]},"1382":{"position":[[4323,10]]},"1384":{"position":[[5485,10]]},"1388":{"position":[[4623,10]]},"1389":{"position":[[5482,10],[5729,10]]},"1454":{"position":[[4432,10]]},"1462":{"position":[[5445,10]]},"1469":{"position":[[2034,11]]},"1470":{"position":[[4513,11]]},"1471":{"position":[[2991,10]]}},"keywords":{}}],["permissionsallow_arg",{"_index":1252,"title":{},"content":{"98":{"position":[[611,21]]},"230":{"position":[[611,21]]}},"keywords":{}}],["permissionsis_tre",{"_index":1063,"title":{},"content":{"85":{"position":[[608,19]]},"217":{"position":[[608,19]]}},"keywords":{}}],["permit",{"_index":3210,"title":{},"content":{"648":{"position":[[783,10]]},"890":{"position":[[5932,6]]},"1044":{"position":[[2404,10]]}},"keywords":{}}],["permut",{"_index":4596,"title":{},"content":{"937":{"position":[[1930,12]]}},"keywords":{}}],["persist",{"_index":1914,"title":{},"content":{"362":{"position":[[2399,10]]},"741":{"position":[[2399,10]]},"1486":{"position":[[648,11],[2739,8]]}},"keywords":{}}],["person",{"_index":2660,"title":{},"content":{"580":{"position":[[401,8],[428,8]]}},"keywords":{}}],["perspect",{"_index":3592,"title":{},"content":{"693":{"position":[[8461,11]]},"1231":{"position":[[595,12]]}},"keywords":{}}],["pertin",{"_index":5485,"title":{"1070":{"position":[[7,9]]}},"content":{},"keywords":{}}],["pex",{"_index":8335,"title":{},"content":{"1462":{"position":[[8425,3]]},"1467":{"position":[[9907,3]]}},"keywords":{}}],["phase",{"_index":751,"title":{"718":{"position":[[0,5]]},"720":{"position":[[0,5]]},"722":{"position":[[0,5]]},"724":{"position":[[0,5]]},"726":{"position":[[0,5]]}},"content":{"23":{"position":[[2391,6],[2439,7],[2603,6]]},"715":{"position":[[1725,6],[1955,6],[2045,7]]},"716":{"position":[[69,6],[101,6]]},"722":{"position":[[16,6]]},"1017":{"position":[[917,6]]},"1362":{"position":[[8024,5]]},"1364":{"position":[[8873,5]]},"1367":{"position":[[8112,5]]},"1384":{"position":[[10252,5]]}},"keywords":{}}],["pic",{"_index":4326,"title":{},"content":{"896":{"position":[[946,6]]},"1382":{"position":[[3249,5]]},"1383":{"position":[[3393,6],[3410,3],[3512,6]]},"1384":{"position":[[20568,3],[20657,3],[20676,4]]},"1454":{"position":[[8573,3],[9250,3]]},"1455":{"position":[[4294,3]]}},"keywords":{}}],["pic)flag",{"_index":7176,"title":{},"content":{"1383":{"position":[[3314,9]]}},"keywords":{}}],["pic_behavior",{"_index":7383,"title":{},"content":{"1389":{"position":[[3029,13]]}},"keywords":{}}],["pic_profiled_static_lib",{"_index":7873,"title":{},"content":{"1421":{"position":[[733,25]]}},"keywords":{}}],["pic_static_lib",{"_index":7874,"title":{},"content":{"1421":{"position":[[774,16]]}},"keywords":{}}],["pic_type_for_shared_link",{"_index":7384,"title":{},"content":{"1389":{"position":[[3052,28]]}},"keywords":{}}],["pick",{"_index":574,"title":{},"content":{"18":{"position":[[1000,4]]},"638":{"position":[[57,6]]},"902":{"position":[[35,6]]},"977":{"position":[[195,4],[261,5]]},"1103":{"position":[[1599,5]]}},"keywords":{}}],["pid",{"_index":2036,"title":{},"content":{"377":{"position":[[973,3]]},"756":{"position":[[973,3]]},"1052":{"position":[[835,3],[879,3]]},"1060":{"position":[[267,3],[313,4]]},"1231":{"position":[[221,5],[333,5]]}},"keywords":{}}],["piec",{"_index":3965,"title":{},"content":{"860":{"position":[[128,6]]}},"keywords":{}}],["pile",{"_index":4765,"title":{},"content":{"958":{"position":[[10,4]]}},"keywords":{}}],["pip",{"_index":8268,"title":{},"content":{"1461":{"position":[[3135,4]]}},"keywords":{}}],["pipe",{"_index":1136,"title":{},"content":{"92":{"position":[[1262,5]]},"224":{"position":[[1262,5]]},"1040":{"position":[[1688,5]]},"1120":{"position":[[221,6]]}},"keywords":{}}],["pipelin",{"_index":291,"title":{},"content":{"9":{"position":[[2514,10]]},"1415":{"position":[[2670,11],[3900,8],[3952,8],[5502,8]]}},"keywords":{}}],["pipeline.support",{"_index":305,"title":{},"content":{"9":{"position":[[2793,16]]}},"keywords":{}}],["pipeline.supported_platforms_regex",{"_index":7833,"title":{},"content":{"1415":{"position":[[5217,35]]}},"keywords":{}}],["pitfal",{"_index":5520,"title":{"1075":{"position":[[0,9]]}},"content":{},"keywords":{}}],["place",{"_index":612,"title":{},"content":{"20":{"position":[[168,6]]},"107":{"position":[[127,6]]},"112":{"position":[[122,6]]},"519":{"position":[[127,6]]},"524":{"position":[[122,6]]},"570":{"position":[[146,6]]},"724":{"position":[[1653,7]]},"839":{"position":[[39,5]]},"888":{"position":[[1037,6]]},"900":{"position":[[1810,6]]},"951":{"position":[[433,6]]},"981":{"position":[[300,5]]},"1108":{"position":[[307,6]]},"1150":{"position":[[72,6]]},"1355":{"position":[[6535,6]]},"1361":{"position":[[934,6]]},"1363":{"position":[[4926,6],[5459,6]]},"1366":{"position":[[2307,6],[2360,6],[2984,6],[3052,6]]},"1367":{"position":[[9842,6]]},"1380":{"position":[[824,6]]},"1384":{"position":[[9666,6],[9906,6],[19627,6],[19728,6]]},"1393":{"position":[[6982,6],[7198,5]]},"1397":{"position":[[2535,6]]},"1398":{"position":[[3871,6],[4141,5],[5517,6]]},"1399":{"position":[[1696,6]]},"1427":{"position":[[5734,6]]},"1439":{"position":[[7643,6]]},"1446":{"position":[[2112,6],[2135,7]]},"1459":{"position":[[1715,6],[2085,6],[2108,7]]}},"keywords":{}}],["placehold",{"_index":2062,"title":{},"content":{"389":{"position":[[306,13],[910,12],[965,12],[1039,12],[1096,12]]},"768":{"position":[[306,13],[910,12],[965,12],[1039,12],[1096,12]]}},"keywords":{}}],["placeholder"",{"_index":2081,"title":{},"content":{"389":{"position":[[1451,17],[1609,17]]},"768":{"position":[[1451,17],[1609,17]]}},"keywords":{}}],["placeholder_tool",{"_index":6999,"title":{},"content":{"1368":{"position":[[1034,17]]},"1389":{"position":[[3090,17]]},"1481":{"position":[[784,17]]}},"keywords":{}}],["placeholders"",{"_index":2064,"title":{},"content":{"389":{"position":[[334,18],[392,18],[569,18],[1173,18]]},"768":{"position":[[334,18],[392,18],[569,18],[1173,18]]}},"keywords":{}}],["plan",{"_index":735,"title":{"973":{"position":[[9,5]]}},"content":{"23":{"position":[[1840,4]]},"98":{"position":[[1099,4]]},"99":{"position":[[1507,4]]},"134":{"position":[[281,4]]},"230":{"position":[[1099,4]]},"231":{"position":[[1507,4]]},"257":{"position":[[281,4]]},"832":{"position":[[897,4]]},"1007":{"position":[[187,5]]}},"keywords":{}}],["platform",{"_index":1215,"title":{"945":{"position":[[14,9]]},"1014":{"position":[[7,8]]},"1017":{"position":[[19,10]]},"1019":{"position":[[7,8]]},"1022":{"position":[[10,10]]},"1026":{"position":[[10,8]]},"1200":{"position":[[21,8]]},"1346":{"position":[[3,8]]},"1452":{"position":[[0,9]]}},"content":{"94":{"position":[[2986,8],[3138,8]]},"134":{"position":[[251,9]]},"148":{"position":[[282,8],[341,8]]},"209":{"position":[[111,8],[165,8]]},"210":{"position":[[139,8]]},"211":{"position":[[126,8]]},"226":{"position":[[2986,8],[3138,8]]},"243":{"position":[[506,9],[554,9]]},"257":{"position":[[251,9]]},"271":{"position":[[282,8],[341,8]]},"294":{"position":[[567,8],[784,9]]},"295":{"position":[[236,8]]},"297":{"position":[[545,8]]},"298":{"position":[[720,8],[892,9],[1746,8],[1840,9],[3053,8]]},"301":{"position":[[481,8]]},"302":{"position":[[236,8]]},"338":{"position":[[415,8]]},"362":{"position":[[1103,9],[2884,8]]},"363":{"position":[[246,12]]},"372":{"position":[[217,9],[426,8]]},"373":{"position":[[42,10],[187,9],[273,10]]},"374":{"position":[[1503,9]]},"575":{"position":[[295,8]]},"584":{"position":[[1430,9],[1494,8]]},"679":{"position":[[544,10]]},"688":{"position":[[1138,9],[1218,8]]},"693":{"position":[[3073,9],[4451,9],[5448,9],[6651,9],[9218,9],[9243,8],[9370,8]]},"711":{"position":[[1415,8]]},"720":{"position":[[254,8]]},"741":{"position":[[1103,9],[2884,8]]},"742":{"position":[[246,12]]},"751":{"position":[[217,9],[426,8]]},"752":{"position":[[42,10],[187,9],[273,10]]},"753":{"position":[[1503,9]]},"846":{"position":[[1319,9]]},"851":{"position":[[395,8],[918,8],[1047,9]]},"877":{"position":[[356,8],[563,8]]},"878":{"position":[[1110,8]]},"927":{"position":[[103,8]]},"931":{"position":[[35,10],[92,10]]},"937":{"position":[[442,9],[515,9],[591,9],[1210,10],[1706,10],[1724,8],[1887,10],[1964,8],[2029,8],[2128,9],[2198,8],[2257,8],[2305,8],[3251,10],[3552,8],[3661,8],[3854,8],[4801,9]]},"944":{"position":[[836,9]]},"945":{"position":[[7,8],[26,9],[239,9],[333,8],[477,9],[578,8],[708,8],[878,8]]},"980":{"position":[[225,8],[347,8],[396,8],[430,8],[776,10]]},"987":{"position":[[784,10]]},"991":{"position":[[2449,8],[2645,8]]},"993":{"position":[[189,8]]},"994":{"position":[[403,9]]},"995":{"position":[[442,8],[739,8],[1074,8],[1468,8]]},"1004":{"position":[[762,8],[1226,9]]},"1011":{"position":[[235,8]]},"1012":{"position":[[421,10]]},"1014":{"position":[[194,8],[261,8],[395,9],[506,9],[576,9],[723,8]]},"1015":{"position":[[61,8],[181,8]]},"1016":{"position":[[148,9]]},"1017":{"position":[[20,8],[161,8],[407,8],[462,12]]},"1019":{"position":[[283,8],[659,9]]},"1021":{"position":[[237,8],[295,8]]},"1022":{"position":[[61,9],[150,10],[229,12],[299,9],[422,10]]},"1023":{"position":[[119,9]]},"1024":{"position":[[157,9],[302,8],[448,8],[628,8],[859,8],[1235,8],[1261,8]]},"1025":{"position":[[255,9],[427,8],[554,8]]},"1026":{"position":[[31,8],[94,8],[194,9],[269,10],[321,8],[386,10],[465,10],[497,8],[570,8],[669,8],[876,8],[925,8]]},"1027":{"position":[[82,8],[159,9]]},"1044":{"position":[[2337,8]]},"1052":{"position":[[963,9]]},"1072":{"position":[[380,10],[1086,8]]},"1105":{"position":[[2387,8]]},"1136":{"position":[[2479,9]]},"1138":{"position":[[5794,11],[6141,9]]},"1140":{"position":[[5067,9]]},"1146":{"position":[[451,9]]},"1148":{"position":[[120,11],[3144,11],[3491,9]]},"1167":{"position":[[6071,9]]},"1186":{"position":[[1368,11],[1715,9]]},"1187":{"position":[[1381,11],[1728,9]]},"1188":{"position":[[6107,11],[6454,9]]},"1190":{"position":[[753,8],[812,8],[1293,8]]},"1192":{"position":[[490,9]]},"1197":{"position":[[606,11],[953,9]]},"1198":{"position":[[616,11],[963,9]]},"1199":{"position":[[644,11],[991,9]]},"1200":{"position":[[39,8],[96,8],[511,11],[858,9]]},"1203":{"position":[[352,9]]},"1205":{"position":[[180,8],[445,9],[1525,9]]},"1206":{"position":[[3755,9]]},"1217":{"position":[[4812,9]]},"1226":{"position":[[5280,9]]},"1228":{"position":[[6893,9]]},"1237":{"position":[[5450,9]]},"1346":{"position":[[117,8],[163,8]]},"1348":{"position":[[2786,9],[2809,9]]},"1349":{"position":[[931,9],[954,9]]},"1350":{"position":[[3902,9],[3925,9]]},"1351":{"position":[[1122,9],[1145,9],[1579,8]]},"1352":{"position":[[3901,9],[3924,9]]},"1353":{"position":[[1505,9],[1528,9]]},"1354":{"position":[[1343,9],[1366,9]]},"1355":{"position":[[2482,9],[2505,9],[2939,8]]},"1356":{"position":[[849,9],[872,9]]},"1357":{"position":[[522,9],[545,9]]},"1358":{"position":[[1243,9],[1266,9]]},"1359":{"position":[[1080,9],[1103,9]]},"1360":{"position":[[1711,9],[1734,9],[2168,8],[2772,8],[4570,8]]},"1361":{"position":[[1070,9],[1093,9]]},"1362":{"position":[[5434,9],[5457,9],[5891,8],[6624,9],[8302,8],[10274,8],[10371,8],[11238,8],[11419,8],[11595,8],[11752,8],[11915,9],[12049,8],[12228,8],[12428,8]]},"1363":{"position":[[3180,9],[3203,9],[3637,8],[4564,8]]},"1364":{"position":[[5463,9],[5486,9],[5920,8],[8147,8],[8374,8],[8537,9],[9151,8],[11388,8],[11485,8],[12205,8],[12386,8],[12554,8],[12733,8],[12933,8]]},"1365":{"position":[[1004,9],[1027,9]]},"1366":{"position":[[1210,9],[1233,9],[1667,8]]},"1367":{"position":[[6861,9],[6884,9],[7318,8],[8390,8],[11191,8],[11288,8],[11608,8],[11789,8],[11957,8],[12136,8],[12336,8]]},"1368":{"position":[[1560,9],[1583,9]]},"1369":{"position":[[612,9],[635,9]]},"1370":{"position":[[859,9],[882,9],[1316,8]]},"1371":{"position":[[488,9],[511,9]]},"1372":{"position":[[2126,9],[2149,9]]},"1373":{"position":[[2998,9],[3021,9],[6260,8],[6441,8],[6616,8],[6773,8],[6936,9],[7083,8],[7268,8]]},"1374":{"position":[[894,9],[917,9],[1351,8],[2197,9],[2261,9],[2322,9],[2493,8],[2538,9],[2570,8],[3589,8]]},"1375":{"position":[[524,9],[547,9]]},"1376":{"position":[[480,9],[503,9]]},"1377":{"position":[[561,9],[719,9],[742,9]]},"1378":{"position":[[466,9],[489,9]]},"1379":{"position":[[489,9],[512,9]]},"1380":{"position":[[960,9],[983,9]]},"1381":{"position":[[866,9],[889,9]]},"1382":{"position":[[3346,9],[3369,9],[3803,8],[7000,8],[7097,8],[8107,8],[8288,8],[8459,8],[8638,8],[8851,8],[8936,8],[9093,8],[9256,9],[9404,8],[9589,8],[9765,8],[9944,8],[10144,8]]},"1383":{"position":[[1584,9],[1607,9],[2041,8],[2357,8],[4262,10],[4282,8],[6602,8],[8834,8],[8953,8]]},"1384":{"position":[[4508,9],[4531,9],[4965,8],[7317,8],[7565,8],[7705,8],[7800,8],[7979,8],[8239,8],[8333,8],[8560,8],[8723,9],[8949,8],[9143,8],[9322,8],[9775,8],[11882,8],[12130,8],[13354,8],[13451,8],[14452,8],[14633,8],[14804,8],[14983,8],[15196,8],[15281,8],[15438,8],[15601,9],[15749,8],[15934,8],[16110,8],[16289,8],[16489,8],[18421,8],[19362,9],[19431,10],[21923,8]]},"1385":{"position":[[2185,9],[2208,9],[4337,8],[4518,8],[4688,8],[4867,8],[5080,8],[5164,8],[5321,8],[5484,9],[5631,8],[5816,8],[5991,8],[6170,8],[6370,8]]},"1386":{"position":[[823,9],[846,9]]},"1387":{"position":[[4454,9],[4477,9],[7710,8],[7891,8],[8061,8],[8240,8],[8453,8],[8537,8],[8694,8],[8857,9],[9004,8],[9189,8],[9364,8],[9543,8],[9743,8]]},"1388":{"position":[[3646,9],[3669,9],[4103,8],[7869,8],[7966,8]]},"1389":{"position":[[4507,9],[4530,9]]},"1390":{"position":[[759,9],[782,9]]},"1391":{"position":[[712,9],[735,9]]},"1392":{"position":[[862,9],[885,9]]},"1393":{"position":[[1434,9],[1457,9],[1891,8]]},"1394":{"position":[[882,9],[905,9]]},"1395":{"position":[[891,9],[914,9],[1348,8]]},"1396":{"position":[[688,9],[711,9]]},"1397":{"position":[[869,9],[892,9]]},"1398":{"position":[[1541,9],[1564,9],[1998,8]]},"1399":{"position":[[724,9],[747,9]]},"1400":{"position":[[593,9],[616,9]]},"1401":{"position":[[668,9],[691,9]]},"1402":{"position":[[824,9],[847,9]]},"1403":{"position":[[1414,9],[1437,9],[1871,8],[2187,8],[3985,8]]},"1404":{"position":[[657,9],[680,9]]},"1405":{"position":[[899,9],[1348,9],[1371,9]]},"1406":{"position":[[564,9],[587,9]]},"1407":{"position":[[926,9],[1389,9],[1412,9]]},"1408":{"position":[[1085,9],[1108,9]]},"1409":{"position":[[619,9],[642,9]]},"1410":{"position":[[1133,9],[1781,9],[1804,9],[2238,8]]},"1411":{"position":[[602,9],[625,9]]},"1412":{"position":[[1802,9],[1825,9],[2259,8]]},"1413":{"position":[[1986,9],[2009,9]]},"1414":{"position":[[853,9],[876,9]]},"1415":{"position":[[2835,9],[2858,9],[4219,8],[4400,8],[4575,8],[4732,8],[4895,9],[5339,9],[5408,10]]},"1416":{"position":[[1097,9],[1487,9],[1510,9],[3077,8],[3256,8],[3378,8]]},"1417":{"position":[[756,9],[1076,9],[1099,9]]},"1418":{"position":[[605,9],[777,9],[800,9]]},"1419":{"position":[[695,9],[905,9],[928,9]]},"1420":{"position":[[777,9],[1169,9],[1192,9],[2214,8],[2393,8],[2515,8]]},"1421":{"position":[[1144,9],[1167,9]]},"1422":{"position":[[1047,9],[1070,9],[1504,8]]},"1423":{"position":[[1036,9],[1059,9]]},"1424":{"position":[[1161,9],[1184,9]]},"1425":{"position":[[777,9],[800,9]]},"1426":{"position":[[1120,9],[1143,9],[1577,8]]},"1427":{"position":[[2017,9],[2040,9],[2474,8]]},"1428":{"position":[[759,9],[782,9]]},"1429":{"position":[[2681,9],[2704,9],[3138,8],[3633,9]]},"1430":{"position":[[1535,9],[1558,9]]},"1431":{"position":[[879,9],[902,9]]},"1432":{"position":[[1400,9],[1423,9]]},"1433":{"position":[[921,9],[944,9]]},"1434":{"position":[[595,9],[618,9]]},"1435":{"position":[[559,9],[582,9]]},"1436":{"position":[[575,9],[598,9]]},"1437":{"position":[[645,9],[668,9]]},"1438":{"position":[[779,9],[802,9],[1236,8]]},"1439":{"position":[[2303,9],[2326,9],[2760,8]]},"1440":{"position":[[2869,9],[2892,9],[3326,8]]},"1441":{"position":[[601,9],[624,9]]},"1442":{"position":[[674,9],[697,9],[1131,8]]},"1443":{"position":[[581,9],[896,9],[919,9]]},"1444":{"position":[[812,9],[835,9]]},"1445":{"position":[[501,9],[524,9]]},"1446":{"position":[[835,9],[858,9]]},"1447":{"position":[[717,9],[740,9]]},"1448":{"position":[[665,9],[1152,9],[1175,9],[2160,8],[2339,8],[2461,8]]},"1449":{"position":[[1086,9],[1109,9],[2094,8],[2273,8],[2395,8]]},"1450":{"position":[[665,9],[965,9],[988,9]]},"1451":{"position":[[665,9],[965,9],[988,9]]},"1452":{"position":[[4,9],[511,9],[534,9]]},"1453":{"position":[[1097,9],[1120,9]]},"1454":{"position":[[3463,9],[3486,9],[5717,8],[5965,8],[6105,8],[6199,8],[6378,8],[6638,8],[6737,8],[6931,8],[7110,8],[7920,8],[8101,8],[8232,8],[8413,8],[8548,8],[8733,8],[9375,9],[10113,10]]},"1455":{"position":[[1350,9],[1373,9],[2488,8],[2736,8],[2876,8]]},"1456":{"position":[[695,9],[718,9]]},"1457":{"position":[[754,9],[777,9]]},"1458":{"position":[[1289,9],[1312,9]]},"1459":{"position":[[768,9],[791,9]]},"1460":{"position":[[880,9],[903,9]]},"1461":{"position":[[1095,9],[1118,9],[1552,8]]},"1462":{"position":[[2991,9],[4476,9],[4499,9],[8178,11],[8213,8]]},"1463":{"position":[[602,9],[625,9]]},"1464":{"position":[[510,9],[533,9]]},"1465":{"position":[[764,9],[1608,9],[1631,9],[3136,8],[3294,8],[3429,8],[3455,8],[3549,8],[3705,8],[3838,8],[3864,8]]},"1466":{"position":[[846,9],[869,9]]},"1467":{"position":[[3195,9],[5165,9],[5188,9],[5622,8],[9242,9],[9275,8],[9405,8],[9563,8],[9698,8],[9724,8]]},"1468":{"position":[[610,9],[633,9]]},"1469":{"position":[[983,9],[1006,9],[1440,8]]},"1470":{"position":[[3512,9],[3535,9]]},"1471":{"position":[[1846,9],[1869,9],[2303,8]]},"1472":{"position":[[1805,9],[1828,9],[2262,8],[5737,8]]},"1473":{"position":[[2120,9],[2143,9],[2577,8]]},"1474":{"position":[[1511,9],[1534,9]]},"1475":{"position":[[1982,9],[2005,9]]},"1476":{"position":[[587,9],[610,9]]},"1477":{"position":[[739,9],[762,9],[1196,8]]},"1478":{"position":[[1230,9],[1253,9],[1687,8]]},"1479":{"position":[[679,9],[702,9]]},"1480":{"position":[[1092,9],[1115,9]]},"1481":{"position":[[1625,9],[1648,9]]},"1482":{"position":[[699,9],[722,9]]},"1483":{"position":[[533,9],[556,9]]},"1484":{"position":[[605,9],[628,9]]},"1485":{"position":[[865,9],[888,9],[2723,8],[2902,8],[3115,8]]},"1486":{"position":[[1109,9],[1132,9]]},"1487":{"position":[[690,8],[804,9],[827,9],[1261,8]]}},"keywords":{}}],["platform"",{"_index":4616,"title":{},"content":{"937":{"position":[[4467,15]]}},"keywords":{}}],["platform.configuration.constraints.item",{"_index":5001,"title":{},"content":{"1004":{"position":[[1271,42]]}},"keywords":{}}],["platform.configuration.valu",{"_index":5005,"title":{},"content":{"1004":{"position":[[1566,30]]}},"keywords":{}}],["platform.if",{"_index":7018,"title":{},"content":{"1370":{"position":[[2655,11]]}},"keywords":{}}],["platform.includ",{"_index":2712,"title":{},"content":{"584":{"position":[[1371,16],[1529,16],[1771,16]]}},"keywords":{}}],["platform.include>",{"_index":2719,"title":{},"content":{"584":{"position":[[1682,20],[1736,20]]}},"keywords":{}}],["platform.local_onli",{"_index":6807,"title":{},"content":{"1362":{"position":[[10189,19]]},"1364":{"position":[[11303,19]]},"1367":{"position":[[11106,19]]},"1382":{"position":[[6915,19]]},"1384":{"position":[[13269,19]]},"1388":{"position":[[7784,19]]}},"keywords":{}}],["platform/architectur",{"_index":775,"title":{},"content":{"23":{"position":[[3220,21]]}},"keywords":{}}],["platform/cxx",{"_index":2718,"title":{},"content":{"584":{"position":[[1663,12]]}},"keywords":{}}],["platform/futur",{"_index":2721,"title":{},"content":{"584":{"position":[[1720,15]]}},"keywords":{}}],["platform1"",{"_index":4977,"title":{},"content":{"995":{"position":[[1419,16]]}},"keywords":{}}],["platform_binari",{"_index":6860,"title":{},"content":{"1363":{"position":[[2152,16]]}},"keywords":{}}],["platform_compiler_flag",{"_index":6749,"title":{},"content":{"1362":{"position":[[3224,24],[11213,24]]},"1364":{"position":[[3189,24],[12180,24]]},"1367":{"position":[[4471,24],[11583,24]]},"1373":{"position":[[2011,24]]},"1382":{"position":[[2214,24],[8082,24]]},"1384":{"position":[[2913,24],[12057,24],[14427,24]]},"1385":{"position":[[1201,24]]},"1387":{"position":[[2880,24]]},"1388":{"position":[[2399,24]]},"1415":{"position":[[1667,24]]},"1448":{"position":[[691,24]]},"1449":{"position":[[684,24]]},"1462":{"position":[[3017,24]]},"1467":{"position":[[3221,24]]}},"keywords":{}}],["platform_dep",{"_index":6750,"title":{},"content":{"1362":{"position":[[3277,14]]},"1364":{"position":[[3242,14]]},"1367":{"position":[[4524,14]]},"1373":{"position":[[2064,14]]},"1382":{"position":[[2267,14]]},"1384":{"position":[[2966,14]]},"1385":{"position":[[1254,14]]},"1387":{"position":[[2933,14]]},"1388":{"position":[[2452,14]]},"1415":{"position":[[1720,14]]},"1416":{"position":[[1123,14]]},"1417":{"position":[[782,14]]},"1418":{"position":[[631,14]]},"1419":{"position":[[721,14]]},"1420":{"position":[[803,14]]},"1443":{"position":[[607,14]]},"1444":{"position":[[518,14]]},"1448":{"position":[[744,14]]},"1449":{"position":[[737,14]]},"1450":{"position":[[691,14]]},"1451":{"position":[[691,14]]},"1460":{"position":[[734,14]]},"1462":{"position":[[3070,14]]},"1465":{"position":[[790,14]]},"1467":{"position":[[3274,14]]}},"keywords":{}}],["platform_dir",{"_index":6796,"title":{},"content":{"1362":{"position":[[8188,13]]},"1364":{"position":[[9037,13]]},"1367":{"position":[[8276,13]]}},"keywords":{}}],["platform_dir/developer/library/frameworks/xctest.framework",{"_index":6978,"title":{},"content":{"1367":{"position":[[14653,62]]}},"keywords":{}}],["platform_ex",{"_index":7082,"title":{},"content":{"1374":{"position":[[587,13],[2168,13],[2358,13],[2414,13],[3892,12]]}},"keywords":{}}],["platform_external_linker_flag",{"_index":7723,"title":{},"content":{"1405":{"position":[[925,31]]},"1407":{"position":[[952,31]]}},"keywords":{}}],["platform_head",{"_index":3397,"title":{},"content":{"679":{"position":[[417,17]]},"1362":{"position":[[3320,17]]},"1364":{"position":[[3285,17]]},"1367":{"position":[[4567,17]]},"1373":{"position":[[2107,17]]},"1382":{"position":[[2310,17],[8441,17]]},"1384":{"position":[[3009,17],[14786,17],[21975,17],[22211,16]]},"1385":{"position":[[1297,17]]},"1387":{"position":[[2976,17]]},"1388":{"position":[[2495,17]]},"1415":{"position":[[1763,17]]},"1462":{"position":[[3113,17]]},"1467":{"position":[[3317,17]]},"1485":{"position":[[520,17]]}},"keywords":{}}],["platform_header_dir",{"_index":8148,"title":{},"content":{"1454":{"position":[[1691,21]]}},"keywords":{}}],["platform_import_lib",{"_index":8149,"title":{},"content":{"1454":{"position":[[1748,20]]}},"keywords":{}}],["platform_linker_flag",{"_index":6751,"title":{},"content":{"1362":{"position":[[3383,22],[11572,22]]},"1364":{"position":[[3348,22]]},"1367":{"position":[[4630,22]]},"1373":{"position":[[2170,22]]},"1382":{"position":[[2373,22],[8913,22]]},"1384":{"position":[[3072,22],[15258,22]]},"1385":{"position":[[1360,22]]},"1387":{"position":[[3039,22]]},"1388":{"position":[[2558,22]]},"1415":{"position":[[1826,22]]},"1416":{"position":[[1166,22]]},"1420":{"position":[[846,22]]},"1448":{"position":[[787,22]]},"1450":{"position":[[734,22]]},"1451":{"position":[[734,22]]},"1462":{"position":[[3176,22]]},"1467":{"position":[[3380,22]]}},"keywords":{}}],["platform_nam",{"_index":7385,"title":{},"content":{"1389":{"position":[[3124,14]]}},"keywords":{}}],["platform_path",{"_index":7000,"title":{},"content":{"1368":{"position":[[1068,14]]},"1481":{"position":[[818,14]]}},"keywords":{}}],["platform_preload_dep",{"_index":7862,"title":{},"content":{"1417":{"position":[[825,22]]},"1462":{"position":[[3227,22]]},"1467":{"position":[[3431,22]]}},"keywords":{}}],["platform_preprocessor_flag",{"_index":6752,"title":{},"content":{"1362":{"position":[[3434,28]]},"1364":{"position":[[3399,28]]},"1367":{"position":[[4681,28]]},"1373":{"position":[[2221,28]]},"1382":{"position":[[2424,28],[9375,28]]},"1384":{"position":[[3123,28],[12313,28],[15720,28]]},"1385":{"position":[[1411,28]]},"1387":{"position":[[3090,28]]},"1388":{"position":[[2609,28]]},"1415":{"position":[[1877,28]]},"1462":{"position":[[3278,28]]},"1467":{"position":[[3482,28]]}},"keywords":{}}],["platform_resourc",{"_index":8348,"title":{},"content":{"1465":{"position":[[833,19],[3108,20]]},"1467":{"position":[[3539,19],[9378,19],[10733,18]]}},"keywords":{}}],["platform_shared_lib",{"_index":8150,"title":{},"content":{"1454":{"position":[[1798,20],[10187,19]]}},"keywords":{}}],["platform_src",{"_index":6753,"title":{},"content":{"1362":{"position":[[3491,14],[12034,14]]},"1364":{"position":[[3456,14],[12539,14]]},"1367":{"position":[[4738,14],[11942,14]]},"1373":{"position":[[2278,14]]},"1382":{"position":[[2481,14],[9750,14]]},"1384":{"position":[[3180,14],[16095,14],[22102,13]]},"1385":{"position":[[1468,14]]},"1387":{"position":[[3147,14]]},"1388":{"position":[[2666,14]]},"1415":{"position":[[1934,14]]},"1462":{"position":[[3335,14]]},"1465":{"position":[[898,14]]},"1467":{"position":[[3604,14]]}},"keywords":{}}],["platform_static_lib",{"_index":8151,"title":{},"content":{"1454":{"position":[[1848,20],[10368,19]]}},"keywords":{}}],["platform_static_pic_lib",{"_index":8152,"title":{},"content":{"1454":{"position":[[1898,24]]}},"keywords":{}}],["platforminfo",{"_index":2049,"title":{"379":{"position":[[0,13]]},"758":{"position":[[0,13]]}},"content":{"379":{"position":[[4,13],[74,12]]},"758":{"position":[[4,13],[74,12]]},"981":{"position":[[247,12],[329,12]]},"1004":{"position":[[1706,13]]}},"keywords":{}}],["platforminfo.typ",{"_index":4997,"title":{},"content":{"1004":{"position":[[968,18],[1012,18]]}},"keywords":{}}],["platforminfonam",{"_index":4848,"title":{},"content":{"980":{"position":[[141,17]]}},"keywords":{}}],["platforminfoprovid",{"_index":3539,"title":{},"content":{"693":{"position":[[2805,21]]}},"keywords":{}}],["platformremote_cache_en",{"_index":1892,"title":{},"content":{"362":{"position":[[1262,29]]},"741":{"position":[[1262,29]]}},"keywords":{}}],["platformremote_execution_action_key",{"_index":1894,"title":{},"content":{"362":{"position":[[1388,36]]},"741":{"position":[[1388,36]]}},"keywords":{}}],["platforms.supports_merged_link",{"_index":8183,"title":{},"content":{"1454":{"position":[[9444,34]]}},"keywords":{}}],["platforms/architectur",{"_index":6059,"title":{},"content":{"1226":{"position":[[1851,23]]},"1237":{"position":[[2021,23]]}},"keywords":{}}],["platforms/configur",{"_index":5067,"title":{},"content":{"1022":{"position":[[10,24]]}},"keywords":{}}],["platforms=//platform:linux",{"_index":4817,"title":{},"content":{"968":{"position":[[132,26]]}},"keywords":{}}],["platformsen",{"_index":3916,"title":{},"content":{"851":{"position":[[299,16]]}},"keywords":{}}],["platformthat",{"_index":6315,"title":{},"content":{"1346":{"position":[[39,12]]}},"keywords":{}}],["platformvis",{"_index":6386,"title":{},"content":{"1348":{"position":[[3240,19]]},"1349":{"position":[[1385,19]]},"1350":{"position":[[4356,19]]},"1352":{"position":[[4355,19]]},"1353":{"position":[[1959,19]]},"1354":{"position":[[1797,19]]},"1356":{"position":[[1303,19]]},"1357":{"position":[[976,19]]},"1358":{"position":[[1697,19]]},"1359":{"position":[[1534,19]]},"1361":{"position":[[1524,19]]},"1365":{"position":[[1458,19]]},"1368":{"position":[[2014,19]]},"1369":{"position":[[1066,19]]},"1371":{"position":[[942,19]]},"1372":{"position":[[2580,19]]},"1373":{"position":[[3452,19]]},"1375":{"position":[[978,19]]},"1376":{"position":[[934,19]]},"1377":{"position":[[1173,19]]},"1378":{"position":[[920,19]]},"1379":{"position":[[943,19]]},"1380":{"position":[[1414,19]]},"1381":{"position":[[1320,19]]},"1385":{"position":[[2639,19]]},"1386":{"position":[[1277,19]]},"1387":{"position":[[4908,19]]},"1389":{"position":[[4961,19]]},"1390":{"position":[[1213,19]]},"1391":{"position":[[1166,19]]},"1392":{"position":[[1316,19]]},"1394":{"position":[[1336,19]]},"1396":{"position":[[1142,19]]},"1397":{"position":[[1323,19]]},"1399":{"position":[[1178,19]]},"1400":{"position":[[1047,19]]},"1401":{"position":[[1122,19]]},"1402":{"position":[[1278,19]]},"1404":{"position":[[1111,19]]},"1405":{"position":[[1802,19]]},"1406":{"position":[[1018,19]]},"1407":{"position":[[1843,19]]},"1408":{"position":[[1539,19]]},"1409":{"position":[[1073,19]]},"1411":{"position":[[1056,19]]},"1413":{"position":[[2440,19]]},"1414":{"position":[[1307,19]]},"1415":{"position":[[3289,19]]},"1416":{"position":[[1941,19]]},"1417":{"position":[[1530,19]]},"1418":{"position":[[1231,19]]},"1419":{"position":[[1359,19]]},"1420":{"position":[[1623,19]]},"1421":{"position":[[1598,19]]},"1423":{"position":[[1490,19]]},"1424":{"position":[[1615,19]]},"1425":{"position":[[1231,19]]},"1428":{"position":[[1213,19]]},"1430":{"position":[[1989,19]]},"1431":{"position":[[1333,19]]},"1432":{"position":[[1854,19]]},"1433":{"position":[[1375,19]]},"1434":{"position":[[1049,19]]},"1435":{"position":[[1013,19]]},"1436":{"position":[[1029,19]]},"1437":{"position":[[1099,19]]},"1441":{"position":[[1055,19]]},"1443":{"position":[[1350,19]]},"1444":{"position":[[1266,19]]},"1445":{"position":[[955,19]]},"1446":{"position":[[1289,19]]},"1447":{"position":[[1171,19]]},"1448":{"position":[[1606,19]]},"1449":{"position":[[1540,19]]},"1450":{"position":[[1419,19]]},"1451":{"position":[[1419,19]]},"1452":{"position":[[965,19]]},"1453":{"position":[[1551,19]]},"1454":{"position":[[3917,19]]},"1455":{"position":[[1804,19]]},"1456":{"position":[[1149,19]]},"1457":{"position":[[1208,19]]},"1458":{"position":[[1743,19]]},"1459":{"position":[[1222,19]]},"1460":{"position":[[1334,19]]},"1462":{"position":[[4930,19]]},"1463":{"position":[[1056,19]]},"1464":{"position":[[964,19]]},"1465":{"position":[[2062,19]]},"1466":{"position":[[1300,19]]},"1468":{"position":[[1064,19]]},"1470":{"position":[[3966,19]]},"1474":{"position":[[1965,19]]},"1475":{"position":[[2436,19]]},"1476":{"position":[[1041,19]]},"1479":{"position":[[1133,19]]},"1480":{"position":[[1546,19]]},"1481":{"position":[[2079,19]]},"1482":{"position":[[1153,19]]},"1483":{"position":[[987,19]]},"1484":{"position":[[1059,19]]},"1485":{"position":[[1319,19]]},"1486":{"position":[[1563,19]]}},"keywords":{}}],["play",{"_index":6625,"title":{},"content":{"1358":{"position":[[2932,5],[2955,5],[2996,5],[3193,4],[3270,6]]}},"keywords":{}}],["playback",{"_index":6005,"title":{},"content":{"1181":{"position":[[545,8]]}},"keywords":{}}],["pleas",{"_index":414,"title":{},"content":{"12":{"position":[[575,6]]},"24":{"position":[[147,6]]},"900":{"position":[[1706,8]]},"1113":{"position":[[695,6]]},"1136":{"position":[[1613,6]]},"1148":{"position":[[1969,6]]},"1176":{"position":[[112,6]]},"1205":{"position":[[1093,6]]},"1209":{"position":[[846,6]]},"1226":{"position":[[2786,6]]},"1235":{"position":[[2106,6]]},"1237":{"position":[[2956,6]]},"1393":{"position":[[4580,6],[9323,6]]},"1395":{"position":[[729,6],[2199,6],[3067,6]]},"1397":{"position":[[708,6],[1979,6]]}},"keywords":{}}],["plist",{"_index":6786,"title":{},"content":{"1362":{"position":[[6578,5]]}},"keywords":{}}],["plu",{"_index":1276,"title":{},"content":{"99":{"position":[[828,4]]},"231":{"position":[[828,4]]},"954":{"position":[[234,4]]},"1136":{"position":[[1335,4]]},"1148":{"position":[[1691,4]]},"1205":{"position":[[815,4]]},"1209":{"position":[[568,4]]},"1226":{"position":[[2508,4]]},"1235":{"position":[[1828,4]]},"1237":{"position":[[2678,4]]}},"keywords":{}}],["plugin",{"_index":993,"title":{"120":{"position":[[0,7]]},"426":{"position":[[0,8]]},"529":{"position":[[0,7]]},"805":{"position":[[0,8]]},"985":{"position":[[0,6]]},"986":{"position":[[0,6]]},"988":{"position":[[0,7]]},"989":{"position":[[17,6]]},"990":{"position":[[20,6]]}},"content":{"74":{"position":[[77,6],[120,6]]},"121":{"position":[[173,6]]},"123":{"position":[[50,6]]},"426":{"position":[[0,8],[9,7]]},"497":{"position":[[77,6],[120,6]]},"530":{"position":[[173,6]]},"532":{"position":[[50,6]]},"805":{"position":[[0,8],[9,7]]},"987":{"position":[[30,8]]},"988":{"position":[[90,6],[241,6],[280,6],[406,6],[471,6],[512,6]]},"989":{"position":[[6,6],[126,6],[241,7],[387,7]]},"990":{"position":[[0,6],[88,6],[628,6],[696,6],[783,6],[1047,6],[1195,6],[1345,6]]},"991":{"position":[[1537,6],[3329,7],[3348,7]]},"1348":{"position":[[2122,8]]},"1355":{"position":[[1595,8]]},"1412":{"position":[[1015,8]]},"1413":{"position":[[1161,8]]},"1427":{"position":[[1232,8]]},"1429":{"position":[[1466,8]]},"1430":{"position":[[1035,8]]},"1439":{"position":[[1468,8],[4740,7],[4830,7],[4853,6],[4895,6],[5393,6],[5491,6],[5533,6]]},"1440":{"position":[[1667,8]]},"1470":{"position":[[1895,8]]},"1474":{"position":[[1011,8]]},"1475":{"position":[[1157,8]]}},"keywords":{}}],["plugin.jar",{"_index":8050,"title":{},"content":{"1439":{"position":[[5686,10]]}},"keywords":{}}],["plugin.jar"",{"_index":8057,"title":{},"content":{"1439":{"position":[[6068,17]]}},"keywords":{}}],["plugin_dep",{"_index":4906,"title":{},"content":{"990":{"position":[[594,10]]}},"keywords":{}}],["plugin_nam",{"_index":7982,"title":{},"content":{"1428":{"position":[[587,12]]}},"keywords":{}}],["pluginkind",{"_index":1330,"title":{},"content":{"122":{"position":[[42,11]]},"123":{"position":[[25,10]]},"531":{"position":[[42,11]]},"532":{"position":[[25,10]]}},"keywords":{}}],["plugins.al",{"_index":1320,"title":{"121":{"position":[[0,12]]},"530":{"position":[[0,12]]}},"content":{"121":{"position":[[0,12]]},"530":{"position":[[0,12]]},"991":{"position":[[3429,11]]}},"keywords":{}}],["plugins.kind",{"_index":1331,"title":{"123":{"position":[[0,13]]},"532":{"position":[[0,13]]}},"content":{"123":{"position":[[4,14],[150,14]]},"532":{"position":[[4,14],[150,14]]},"988":{"position":[[321,15]]},"991":{"position":[[16,14]]}},"keywords":{}}],["plugins.pluginkind",{"_index":1328,"title":{"122":{"position":[[0,19]]},"531":{"position":[[0,19]]}},"content":{"122":{"position":[[0,19]]},"531":{"position":[[0,19]]}},"keywords":{}}],["pm",{"_index":6535,"title":{},"content":{"1354":{"position":[[2241,2]]}},"keywords":{}}],["png",{"_index":6960,"title":{},"content":{"1366":{"position":[[3325,8]]}},"keywords":{}}],["point",{"_index":562,"title":{},"content":{"18":{"position":[[762,6],[1471,6]]},"85":{"position":[[640,5],[696,5]]},"217":{"position":[[640,5],[696,5]]},"318":{"position":[[160,6]]},"320":{"position":[[335,6]]},"446":{"position":[[153,5]]},"576":{"position":[[308,5],[361,5],[420,5]]},"590":{"position":[[218,6]]},"634":{"position":[[135,5]]},"644":{"position":[[104,5],[256,5],[332,5]]},"656":{"position":[[130,5],[207,6]]},"704":{"position":[[1219,6],[1425,5]]},"719":{"position":[[8,6]]},"721":{"position":[[8,6]]},"723":{"position":[[8,6]]},"725":{"position":[[8,6]]},"825":{"position":[[153,5]]},"864":{"position":[[686,5]]},"886":{"position":[[54,6]]},"888":{"position":[[776,5]]},"892":{"position":[[1266,6],[1828,8],[1845,5]]},"951":{"position":[[483,5]]},"995":{"position":[[654,8],[1338,8]]},"1013":{"position":[[126,6]]},"1026":{"position":[[788,7]]},"1037":{"position":[[219,5],[403,5]]},"1053":{"position":[[728,5],[1145,8]]},"1054":{"position":[[143,6]]},"1126":{"position":[[1338,5]]},"1150":{"position":[[344,5]]},"1231":{"position":[[457,5],[679,6]]},"1232":{"position":[[3146,6]]},"1244":{"position":[[353,5]]},"1249":{"position":[[211,5]]},"1250":{"position":[[222,6]]},"1363":{"position":[[5885,7],[6353,7],[6520,7],[6767,7]]},"1395":{"position":[[2679,6],[3299,6]]},"1403":{"position":[[9053,8],[9141,5]]},"1416":{"position":[[2992,5]]},"1443":{"position":[[1756,5]]},"1462":{"position":[[6873,5],[7047,5],[7490,5]]},"1467":{"position":[[8016,5]]}},"keywords":{}}],["pointer",{"_index":2200,"title":{},"content":{"410":{"position":[[72,10]]},"789":{"position":[[72,10]]},"892":{"position":[[257,8],[288,8],[766,8],[922,8],[1153,8],[1580,8]]},"1384":{"position":[[21467,9],[21855,9]]},"1385":{"position":[[7382,9]]}},"keywords":{}}],["polished.ther",{"_index":791,"title":{},"content":{"24":{"position":[[526,14]]}},"keywords":{}}],["poll",{"_index":5805,"title":{},"content":{"1126":{"position":[[1032,4],[1197,4]]}},"keywords":{}}],["pool",{"_index":353,"title":{},"content":{"10":{"position":[[1154,5]]},"377":{"position":[[717,4],[1034,4],[1116,4],[1178,4],[1259,5]]},"756":{"position":[[717,4],[1034,4],[1116,4],[1178,4],[1259,5]]},"1052":{"position":[[57,4],[383,4]]},"1053":{"position":[[1080,4],[1113,4],[1248,4],[1362,4],[1425,4],[1566,4]]},"1054":{"position":[[810,4]]}},"keywords":{}}],["poor",{"_index":4598,"title":{},"content":{"937":{"position":[[2335,4],[2572,4]]}},"keywords":{}}],["poorli",{"_index":5864,"title":{},"content":{"1136":{"position":[[690,6]]}},"keywords":{}}],["pop",{"_index":2522,"title":{},"content":{"557":{"position":[[341,3]]},"568":{"position":[[212,3]]},"632":{"position":[[235,3]]}},"keywords":{}}],["popitem",{"_index":2528,"title":{},"content":{"558":{"position":[[206,7],[416,12]]}},"keywords":{}}],["popreturn",{"_index":2521,"title":{},"content":{"557":{"position":[[297,10]]}},"keywords":{}}],["popul",{"_index":6653,"title":{},"content":{"1360":{"position":[[3222,9]]},"1403":{"position":[[2637,9]]}},"keywords":{}}],["port",{"_index":3303,"title":{},"content":{"663":{"position":[[293,4],[1024,4]]},"901":{"position":[[255,4],[978,4]]},"1429":{"position":[[4131,7]]},"1440":{"position":[[4124,7]]}},"keywords":{}}],["port=80",{"_index":3158,"title":{},"content":{"642":{"position":[[237,8]]},"663":{"position":[[453,9],[735,8]]},"901":{"position":[[415,9],[691,8]]}},"keywords":{}}],["port=field(int",{"_index":3153,"title":{},"content":{"642":{"position":[[147,16]]},"663":{"position":[[994,15]]},"901":{"position":[[948,15]]}},"keywords":{}}],["port=int",{"_index":3302,"title":{},"content":{"663":{"position":[[152,9]]},"901":{"position":[[115,9]]}},"keywords":{}}],["portion",{"_index":1991,"title":{},"content":{"368":{"position":[[2545,7]]},"566":{"position":[[269,7]]},"595":{"position":[[164,8]]},"607":{"position":[[210,7],[276,7]]},"718":{"position":[[425,7]]},"720":{"position":[[540,7]]},"747":{"position":[[2545,7]]},"887":{"position":[[215,7]]},"1058":{"position":[[454,7]]}},"keywords":{}}],["pose",{"_index":4754,"title":{},"content":{"955":{"position":[[823,5]]},"987":{"position":[[478,5]]}},"keywords":{}}],["posit",{"_index":2546,"title":{},"content":{"560":{"position":[[222,10]]},"595":{"position":[[788,10]]},"636":{"position":[[190,10]]},"1258":{"position":[[86,8]]},"1289":{"position":[[86,8]]},"1317":{"position":[[86,8]]},"1383":{"position":[[3367,8],[3486,8]]},"1384":{"position":[[20692,8]]},"1486":{"position":[[2449,8]]}},"keywords":{}}],["possibl",{"_index":398,"title":{"970":{"position":[[0,8]]}},"content":{"12":{"position":[[266,8]]},"50":{"position":[[277,8]]},"197":{"position":[[277,8]]},"345":{"position":[[766,10]]},"389":{"position":[[888,14]]},"638":{"position":[[338,8]]},"663":{"position":[[354,8],[877,8]]},"684":{"position":[[125,8]]},"685":{"position":[[105,8]]},"688":{"position":[[11,8]]},"768":{"position":[[888,14]]},"846":{"position":[[1415,8]]},"870":{"position":[[114,8]]},"890":{"position":[[1067,8]]},"900":{"position":[[1560,9]]},"901":{"position":[[316,8],[832,8]]},"902":{"position":[[327,8]]},"919":{"position":[[2078,8]]},"937":{"position":[[2147,8],[4508,8]]},"954":{"position":[[331,8]]},"955":{"position":[[845,11]]},"958":{"position":[[303,8]]},"961":{"position":[[26,9]]},"987":{"position":[[680,8]]},"988":{"position":[[397,8]]},"1004":{"position":[[2300,8]]},"1015":{"position":[[130,9]]},"1040":{"position":[[734,8]]},"1050":{"position":[[25,8],[1453,8]]},"1056":{"position":[[417,8]]},"1058":{"position":[[902,8]]},"1071":{"position":[[455,8]]},"1098":{"position":[[633,8]]},"1113":{"position":[[741,9]]},"1136":{"position":[[2340,9],[2863,9],[2938,9],[4111,8],[5097,9],[5300,8],[5542,8]]},"1138":{"position":[[787,9],[3826,8],[4123,8],[4943,9],[5020,8],[6525,9],[6600,9],[7773,8],[8759,9],[8962,8],[9204,8]]},"1140":{"position":[[413,9],[3315,8],[3612,8],[4432,9],[4509,8],[5451,9],[5526,9],[6699,8],[7685,9],[7888,8],[8130,8]]},"1142":{"position":[[895,9],[970,9],[2143,8],[3129,9],[3332,8],[3574,8]]},"1144":{"position":[[294,9]]},"1146":{"position":[[835,9],[910,9],[2083,8],[3069,9],[3272,8],[3514,8]]},"1148":{"position":[[2696,9],[3875,9],[3950,9],[5123,8],[6109,9],[6312,8],[6554,8],[7335,9]]},"1155":{"position":[[606,9],[931,9],[1006,9],[2179,8],[3165,9],[3368,8],[3610,8]]},"1156":{"position":[[509,9],[584,9],[1757,8],[2743,9],[2946,8],[3188,8]]},"1157":{"position":[[165,9]]},"1158":{"position":[[159,9]]},"1159":{"position":[[159,9]]},"1161":{"position":[[636,9],[839,8],[1081,8]]},"1167":{"position":[[4319,8],[4616,8],[5436,9],[5513,8],[6455,9],[6530,9],[7703,8],[8689,9],[8892,8],[9134,8]]},"1169":{"position":[[294,9],[369,9],[1542,8]]},"1172":{"position":[[1274,9]]},"1173":{"position":[[574,9]]},"1178":{"position":[[776,9]]},"1179":{"position":[[514,9]]},"1180":{"position":[[844,9]]},"1181":{"position":[[848,9],[1051,8],[1293,8]]},"1186":{"position":[[887,9],[2099,9],[2174,9],[3347,8],[4333,9],[4536,8],[4778,8]]},"1187":{"position":[[900,9],[2112,9],[2187,9],[3360,8],[4346,9],[4549,8],[4791,8]]},"1188":{"position":[[466,9],[3368,8],[3665,8],[4485,9],[4562,8],[5626,9],[6838,9],[6913,9],[8086,8],[9072,9],[9275,8],[9517,8]]},"1191":{"position":[[699,9],[774,9],[1947,8],[2933,9],[3136,8],[3378,8]]},"1192":{"position":[[874,9],[949,9],[2122,8],[3108,9],[3311,8],[3553,8]]},"1193":{"position":[[448,9],[537,9],[627,9],[926,9],[1001,9],[2174,8],[3160,9],[3363,8],[3605,8]]},"1194":{"position":[[566,9],[641,9],[1814,8],[2800,9],[3003,8],[3245,8]]},"1195":{"position":[[544,9],[619,9],[1792,8],[2778,9],[2981,8],[3223,8]]},"1196":{"position":[[354,9],[429,9],[1602,8],[2588,9],[2791,8],[3033,8]]},"1197":{"position":[[1337,9],[1412,9],[2585,8],[3571,9],[3774,8],[4016,8]]},"1198":{"position":[[1347,9],[1422,9],[2595,8],[3581,9],[3784,8],[4026,8]]},"1199":{"position":[[1375,9],[1450,9],[2623,8],[3609,9],[3812,8],[4054,8]]},"1200":{"position":[[1242,9],[1317,9],[2490,8],[3476,9],[3679,8],[3921,8]]},"1201":{"position":[[502,9],[577,9],[1750,8],[2736,9],[2939,8],[3181,8]]},"1202":{"position":[[1644,9],[1719,9],[2892,8],[3878,9],[4081,8],[4323,8],[6041,9],[6116,9],[7289,8],[8275,9],[8478,8],[8720,8]]},"1203":{"position":[[736,9],[811,9],[1984,8],[2970,9],[3173,8],[3415,8]]},"1204":{"position":[[580,9],[655,9],[1828,8],[2814,9],[3017,8],[3259,8]]},"1205":{"position":[[1909,9],[1984,9],[3157,8],[4143,9],[4346,8],[4588,8]]},"1206":{"position":[[380,9],[455,9],[1628,8],[2614,9],[2817,8],[3059,8]]},"1207":{"position":[[537,9],[612,9],[1785,8],[2771,9],[2974,8],[3216,8]]},"1209":{"position":[[1573,9],[1885,9],[1960,9],[3133,8],[4119,9],[4322,8],[4564,8]]},"1211":{"position":[[145,9]]},"1217":{"position":[[3060,8],[3357,8],[4177,9],[4254,8],[5196,9],[5271,9],[6444,8],[7430,9],[7633,8],[7875,8]]},"1219":{"position":[[1182,9],[1257,9],[2430,8]]},"1222":{"position":[[306,9],[381,9],[1554,8],[2540,9],[2743,8],[2985,8]]},"1223":{"position":[[316,9],[391,9],[1564,8],[2550,9],[2753,8],[2995,8]]},"1224":{"position":[[496,9],[571,9],[1744,8]]},"1226":{"position":[[941,9],[1891,9],[2133,9],[5060,9],[5664,9],[5739,9],[6912,8],[7898,9],[8101,8],[8343,8]]},"1228":{"position":[[1447,8],[5141,8],[5438,8],[6258,9],[6335,8],[7277,9],[7352,9],[8525,8],[9511,9],[9714,8],[9956,8]]},"1232":{"position":[[3639,9]]},"1235":{"position":[[2833,9],[3145,9],[3220,9],[4393,8],[5379,9],[5582,8],[5824,8]]},"1237":{"position":[[1111,9],[2061,9],[2303,9],[5230,9],[5834,9],[5909,9],[7082,8],[8068,9],[8271,8],[8513,8]]},"1273":{"position":[[412,8]]},"1304":{"position":[[412,8]]},"1332":{"position":[[412,8]]},"1355":{"position":[[3328,8],[7212,9]]},"1366":{"position":[[2077,8],[3188,8]]},"1374":{"position":[[2378,8]]},"1383":{"position":[[4374,8]]},"1388":{"position":[[4734,8],[6118,8]]},"1393":{"position":[[5397,8]]},"1427":{"position":[[6411,9]]},"1439":{"position":[[3149,8]]},"1467":{"position":[[6471,8]]},"1485":{"position":[[4729,8]]}},"keywords":{}}],["possible.remote_execution_properti",{"_index":6322,"title":{},"content":{"1346":{"position":[[540,36]]}},"keywords":{}}],["post",{"_index":6648,"title":{},"content":{"1360":{"position":[[1365,4]]}},"keywords":{}}],["post_filter_resources_cmd",{"_index":6453,"title":{},"content":{"1350":{"position":[[3093,26]]},"1352":{"position":[[3092,26]]}},"keywords":{}}],["post_linker_flag",{"_index":6754,"title":{},"content":{"1362":{"position":[[3553,18]]},"1364":{"position":[[3518,18]]},"1367":{"position":[[4800,18]]},"1373":{"position":[[2340,18]]},"1382":{"position":[[2543,18]]},"1384":{"position":[[3242,18]]},"1385":{"position":[[1530,18]]},"1387":{"position":[[3209,18]]},"1388":{"position":[[2728,18]]},"1389":{"position":[[3155,18]]},"1415":{"position":[[1996,18]]},"1454":{"position":[[1952,18]]},"1462":{"position":[[3397,18]]},"1467":{"position":[[3666,18]]}},"keywords":{}}],["post_platform_linker_flag",{"_index":6755,"title":{},"content":{"1362":{"position":[[3587,27]]},"1364":{"position":[[3552,27]]},"1367":{"position":[[4834,27]]},"1373":{"position":[[2374,27]]},"1382":{"position":[[2577,27]]},"1384":{"position":[[3276,27]]},"1385":{"position":[[1564,27]]},"1387":{"position":[[3243,27]]},"1388":{"position":[[2762,27]]},"1415":{"position":[[2030,27]]},"1462":{"position":[[3431,27]]},"1467":{"position":[[3700,27]]}},"keywords":{}}],["postord",{"_index":5599,"title":{},"content":{"1088":{"position":[[360,9],[1437,9]]}},"keywords":{}}],["potententi",{"_index":8266,"title":{},"content":{"1461":{"position":[[2831,14]]}},"keywords":{}}],["potenti",{"_index":671,"title":{},"content":{"22":{"position":[[1324,9]]},"52":{"position":[[172,11]]},"199":{"position":[[172,11]]},"570":{"position":[[283,11]]},"704":{"position":[[2026,11],[2398,11]]},"870":{"position":[[782,11]]},"955":{"position":[[1380,11]]},"972":{"position":[[145,12]]},"981":{"position":[[906,11]]},"1001":{"position":[[968,11]]},"1017":{"position":[[764,11]]},"1053":{"position":[[364,11],[1333,9]]},"1064":{"position":[[1068,11]]},"1180":{"position":[[285,9]]},"1254":{"position":[[372,9]]}},"keywords":{}}],["pound",{"_index":2651,"title":{},"content":{"579":{"position":[[50,5]]}},"keywords":{}}],["power",{"_index":33,"title":{},"content":{"4":{"position":[[25,8]]},"23":{"position":[[1506,5]]},"939":{"position":[[870,8]]},"944":{"position":[[63,8]]},"950":{"position":[[770,5]]},"1040":{"position":[[825,8]]}},"keywords":{}}],["powershel",{"_index":472,"title":{"910":{"position":[[5,11]]}},"content":{"15":{"position":[[723,10]]},"910":{"position":[[5,10]]}},"keywords":{}}],["pprint",{"_index":1690,"title":{"658":{"position":[[0,7]]}},"content":{"305":{"position":[[339,7]]},"346":{"position":[[407,7]]},"347":{"position":[[443,7]]},"860":{"position":[[486,8]]},"1106":{"position":[[30,6]]}},"keywords":{}}],["pprint(*arg",{"_index":3279,"title":{},"content":{"658":{"position":[[4,13]]}},"keywords":{}}],["ppx",{"_index":8120,"title":{},"content":{"1448":{"position":[[2012,3]]},"1449":{"position":[[1946,3]]}},"keywords":{}}],["pr",{"_index":161,"title":{},"content":{"7":{"position":[[384,2]]}},"keywords":{}}],["practic",{"_index":2656,"title":{"906":{"position":[[44,10]]}},"content":{"580":{"position":[[203,9]]},"587":{"position":[[549,8]]},"919":{"position":[[1775,9]]},"935":{"position":[[145,9]]},"980":{"position":[[967,8]]}},"keywords":{}}],["pragma",{"_index":7263,"title":{},"content":{"1386":{"position":[[3200,7]]}},"keywords":{}}],["pre",{"_index":703,"title":{},"content":{"23":{"position":[[569,3]]},"890":{"position":[[3941,3]]},"1070":{"position":[[626,3]]},"1088":{"position":[[47,3],[565,3]]},"1374":{"position":[[743,3]]},"1386":{"position":[[2433,3]]},"1393":{"position":[[4338,3]]},"1458":{"position":[[2070,3]]}},"keywords":{}}],["preambl",{"_index":7610,"title":{},"content":{"1398":{"position":[[843,9]]}},"keywords":{}}],["prebuilt",{"_index":6620,"title":{},"content":{"1358":{"position":[[2391,8],[2598,8],[2690,8]]},"1421":{"position":[[997,8]]},"1454":{"position":[[9655,8],[9823,8],[10062,8]]},"1455":{"position":[[4475,8]]},"1456":{"position":[[560,8]]},"1461":{"position":[[909,8],[2409,8],[2713,8],[2904,8]]},"1465":{"position":[[2869,8]]},"1467":{"position":[[7008,8]]}},"keywords":{}}],["prebuilt_apple_framework",{"_index":8141,"title":{"1453":{"position":[[0,25]]}},"content":{"1453":{"position":[[4,25],[872,26],[1875,25]]}},"keywords":{}}],["prebuilt_cxx_librari",{"_index":7775,"title":{"1454":{"position":[[0,21]]}},"content":{"1407":{"position":[[5203,21]]},"1453":{"position":[[978,22]]},"1454":{"position":[[4,21],[3213,22],[9728,21],[9870,21],[10125,21]]}},"keywords":{}}],["prebuilt_cxx_library_group",{"_index":8195,"title":{"1455":{"position":[[0,27]]}},"content":{"1455":{"position":[[4,27],[1090,28],[4552,27]]}},"keywords":{}}],["prebuilt_dotnet_librari",{"_index":7125,"title":{"1456":{"position":[[0,24]]}},"content":{"1381":{"position":[[1828,23],[2728,24]]},"1456":{"position":[[4,24],[510,25],[1527,24]]}},"keywords":{}}],["prebuilt_go_librari",{"_index":8224,"title":{"1457":{"position":[[0,20]]}},"content":{"1457":{"position":[[4,20],[586,21],[1947,20]]}},"keywords":{}}],["prebuilt_haskell_librari",{"_index":7849,"title":{},"content":{"1416":{"position":[[2367,26]]},"1420":{"position":[[2049,26]]},"1421":{"position":[[937,26],[1913,26],[2406,25]]}},"keywords":{}}],["prebuilt_jar",{"_index":3688,"title":{"1458":{"position":[[0,13]]}},"content":{"708":{"position":[[77,13],[912,13]]},"1355":{"position":[[4107,12]]},"1427":{"position":[[3252,12]]},"1439":{"position":[[3926,12],[6095,13]]},"1458":{"position":[[4,13],[901,14],[2481,13]]},"1469":{"position":[[2780,15],[2797,13]]}},"keywords":{}}],["prebuilt_java_librari",{"_index":7935,"title":{},"content":{"1423":{"position":[[3203,22]]}},"keywords":{}}],["prebuilt_native_librari",{"_index":8240,"title":{"1459":{"position":[[0,24]]}},"content":{"1459":{"position":[[4,24],[581,25],[2269,23],[2344,24]]}},"keywords":{}}],["prebuilt_ocaml_librari",{"_index":8246,"title":{"1460":{"position":[[0,23]]}},"content":{"1460":{"position":[[4,23]]}},"keywords":{}}],["prebuilt_python_librari",{"_index":8253,"title":{"1461":{"position":[[0,24]]}},"content":{"1461":{"position":[[4,24],[859,25],[2046,25],[3318,23],[3706,24],[3841,24],[3968,24]]}},"keywords":{}}],["prebuilt_rust_librari",{"_index":8424,"title":{},"content":{"1471":{"position":[[3228,21]]},"1472":{"position":[[2947,21],[3066,21]]},"1473":{"position":[[3262,21]]}},"keywords":{}}],["preced",{"_index":1226,"title":{"583":{"position":[[0,10]]}},"content":{"94":{"position":[[3565,11],[3694,10]]},"226":{"position":[[3565,11],[3694,10]]},"583":{"position":[[38,10],[184,10],[860,10],[977,10]]},"595":{"position":[[576,8],[616,8]]},"1282":{"position":[[182,11]]},"1283":{"position":[[199,11]]},"1284":{"position":[[179,11]]},"1313":{"position":[[182,11]]},"1314":{"position":[[199,11]]},"1315":{"position":[[179,11]]},"1341":{"position":[[182,11]]},"1342":{"position":[[199,11]]},"1343":{"position":[[179,11]]},"1370":{"position":[[2822,10]]}},"keywords":{}}],["precis",{"_index":2823,"title":{},"content":{"595":{"position":[[1334,10]]},"991":{"position":[[1299,9]]},"1136":{"position":[[1674,10]]},"1148":{"position":[[2030,10]]},"1205":{"position":[[1154,10]]},"1209":{"position":[[907,10]]},"1226":{"position":[[2847,10]]},"1235":{"position":[[2167,10]]},"1237":{"position":[[3017,10]]},"1262":{"position":[[812,10]]},"1293":{"position":[[812,10]]},"1321":{"position":[[812,10]]}},"keywords":{}}],["precisely.buck2",{"_index":759,"title":{},"content":{"23":{"position":[[2633,15]]}},"keywords":{}}],["precompil",{"_index":7254,"title":{},"content":{"1386":{"position":[[630,11],[1708,12],[2014,11],[2169,11],[3937,11],[4079,11],[4301,11],[4470,11],[4624,11],[4864,11],[5101,11],[5156,11],[5510,11],[5720,11],[6270,11]]},"1457":{"position":[[1623,11]]},"1458":{"position":[[993,11]]}},"keywords":{}}],["precompiled_head",{"_index":6756,"title":{},"content":{"1362":{"position":[[3643,19]]},"1364":{"position":[[3608,19]]},"1367":{"position":[[4890,19]]},"1373":{"position":[[2430,19]]},"1382":{"position":[[2633,19]]},"1384":{"position":[[3332,19]]},"1385":{"position":[[1620,19]]},"1386":{"position":[[2124,18],[3798,18]]},"1387":{"position":[[3299,19]]},"1388":{"position":[[2818,19]]},"1415":{"position":[[2086,19]]},"1462":{"position":[[3487,19]]},"1467":{"position":[[3756,19]]}},"keywords":{}}],["predeclar",{"_index":3124,"title":{},"content":{"638":{"position":[[485,11]]},"902":{"position":[[474,11]]}},"keywords":{}}],["predic",{"_index":3164,"title":{},"content":{"643":{"position":[[100,9]]}},"keywords":{}}],["preempt",{"_index":5894,"title":{},"content":{"1136":{"position":[[3679,9]]},"1138":{"position":[[7341,9]]},"1140":{"position":[[6267,9]]},"1142":{"position":[[1711,9]]},"1146":{"position":[[1651,9]]},"1148":{"position":[[4691,9]]},"1155":{"position":[[1747,9]]},"1156":{"position":[[1325,9]]},"1167":{"position":[[7271,9]]},"1169":{"position":[[1110,9]]},"1186":{"position":[[2915,9]]},"1187":{"position":[[2928,9]]},"1188":{"position":[[7654,9]]},"1191":{"position":[[1515,9]]},"1192":{"position":[[1690,9]]},"1193":{"position":[[1742,9]]},"1194":{"position":[[1382,9]]},"1195":{"position":[[1360,9]]},"1196":{"position":[[1170,9]]},"1197":{"position":[[2153,9]]},"1198":{"position":[[2163,9]]},"1199":{"position":[[2191,9]]},"1200":{"position":[[2058,9]]},"1201":{"position":[[1318,9]]},"1202":{"position":[[2460,9],[6857,9]]},"1203":{"position":[[1552,9]]},"1204":{"position":[[1396,9]]},"1205":{"position":[[2725,9]]},"1206":{"position":[[1196,9]]},"1207":{"position":[[1353,9]]},"1209":{"position":[[2701,9]]},"1217":{"position":[[6012,9]]},"1219":{"position":[[1998,9]]},"1222":{"position":[[1122,9]]},"1223":{"position":[[1132,9]]},"1224":{"position":[[1312,9]]},"1226":{"position":[[6480,9]]},"1228":{"position":[[8093,9]]},"1235":{"position":[[3961,9]]},"1237":{"position":[[6650,9]]}},"keywords":{}}],["preemptibl",{"_index":5892,"title":{},"content":{"1136":{"position":[[3602,11]]},"1138":{"position":[[7264,11]]},"1140":{"position":[[6190,11]]},"1142":{"position":[[1634,11]]},"1146":{"position":[[1574,11]]},"1148":{"position":[[4614,11]]},"1155":{"position":[[1670,11]]},"1156":{"position":[[1248,11]]},"1167":{"position":[[7194,11]]},"1169":{"position":[[1033,11]]},"1186":{"position":[[2838,11]]},"1187":{"position":[[2851,11]]},"1188":{"position":[[7577,11]]},"1191":{"position":[[1438,11]]},"1192":{"position":[[1613,11]]},"1193":{"position":[[1665,11]]},"1194":{"position":[[1305,11]]},"1195":{"position":[[1283,11]]},"1196":{"position":[[1093,11]]},"1197":{"position":[[2076,11]]},"1198":{"position":[[2086,11]]},"1199":{"position":[[2114,11]]},"1200":{"position":[[1981,11]]},"1201":{"position":[[1241,11]]},"1202":{"position":[[2383,11],[6780,11]]},"1203":{"position":[[1475,11]]},"1204":{"position":[[1319,11]]},"1205":{"position":[[2648,11]]},"1206":{"position":[[1119,11]]},"1207":{"position":[[1276,11]]},"1209":{"position":[[2624,11]]},"1217":{"position":[[5935,11]]},"1219":{"position":[[1921,11]]},"1222":{"position":[[1045,11]]},"1223":{"position":[[1055,11]]},"1224":{"position":[[1235,11]]},"1226":{"position":[[6403,11]]},"1228":{"position":[[8016,11]]},"1235":{"position":[[3884,11]]},"1237":{"position":[[6573,11]]}},"keywords":{}}],["prefer",{"_index":1033,"title":{},"content":{"84":{"position":[[233,6]]},"85":{"position":[[508,12]]},"94":{"position":[[2976,9],[3483,6],[3502,6]]},"216":{"position":[[233,6]]},"217":{"position":[[508,12]]},"226":{"position":[[2976,9],[3483,6],[3502,6]]},"276":{"position":[[269,9]]},"277":{"position":[[220,9]]},"281":{"position":[[336,9]]},"282":{"position":[[284,9]]},"846":{"position":[[1548,9]]},"954":{"position":[[4,7]]},"975":{"position":[[102,9]]},"1021":{"position":[[391,6]]},"1108":{"position":[[87,10]]},"1113":{"position":[[358,6]]},"1138":{"position":[[2506,6],[2549,6],[2619,6],[2663,6],[3038,9]]},"1140":{"position":[[1995,6],[2038,6],[2108,6],[2152,6],[2527,9]]},"1167":{"position":[[2999,6],[3042,6],[3112,6],[3156,6],[3531,9]]},"1188":{"position":[[2048,6],[2091,6],[2161,6],[2205,6],[2580,9]]},"1217":{"position":[[1740,6],[1783,6],[1853,6],[1897,6],[2272,9]]},"1228":{"position":[[3821,6],[3864,6],[3934,6],[3978,6],[4353,9]]},"1362":{"position":[[9741,10],[9787,10],[10447,10]]},"1363":{"position":[[5967,9]]},"1364":{"position":[[10855,10],[10901,10],[11561,10]]},"1367":{"position":[[10658,10],[10704,10],[11364,10]]},"1382":{"position":[[6467,10],[6513,10],[7173,10]]},"1384":{"position":[[12821,10],[12867,10],[13527,10]]},"1388":{"position":[[7336,10],[7382,10],[8042,10]]},"1462":{"position":[[7345,9],[7723,9]]},"1467":{"position":[[8314,9]]}},"keywords":{}}],["prefer_loc",{"_index":1172,"title":{},"content":{"94":{"position":[[587,13],[2741,13]]},"226":{"position":[[587,13],[2741,13]]}},"keywords":{}}],["prefer_remot",{"_index":1173,"title":{},"content":{"94":{"position":[[615,14],[2755,13]]},"226":{"position":[[615,14],[2755,13]]}},"keywords":{}}],["prefer_stripped_native_object",{"_index":8306,"title":{},"content":{"1462":{"position":[[3523,31]]},"1467":{"position":[[3792,31]]}},"keywords":{}}],["prefer_stripped_object",{"_index":6757,"title":{},"content":{"1362":{"position":[[3679,24]]},"1373":{"position":[[2466,24]]},"1382":{"position":[[2669,24]]},"1384":{"position":[[3368,24]]},"1388":{"position":[[2854,24]]},"1415":{"position":[[2122,24]]},"1462":{"position":[[3565,24]]},"1467":{"position":[[3834,24]]}},"keywords":{}}],["prefergdb",{"_index":6095,"title":{},"content":{"1231":{"position":[[303,10]]}},"keywords":{}}],["preferr",{"_index":5747,"title":{},"content":{"1112":{"position":[[4895,11]]}},"keywords":{}}],["preferred"",{"_index":1220,"title":{},"content":{"94":{"position":[[3122,15]]},"226":{"position":[[3122,15]]}},"keywords":{}}],["preferred_density_for_binary_resourc",{"_index":8400,"title":{},"content":{"1470":{"position":[[1919,39]]}},"keywords":{}}],["preferred_linkag",{"_index":6758,"title":{},"content":{"1362":{"position":[[3714,18]]},"1364":{"position":[[3644,18]]},"1367":{"position":[[4926,18]]},"1370":{"position":[[1971,17]]},"1384":{"position":[[3403,18],[16548,18]]},"1387":{"position":[[3335,18]]},"1420":{"position":[[897,18]]},"1453":{"position":[[759,18],[1976,17]]},"1454":{"position":[[1986,18]]},"1472":{"position":[[1323,18]]},"1480":{"position":[[712,18]]}},"keywords":{}}],["prefix",{"_index":897,"title":{},"content":{"50":{"position":[[322,6]]},"89":{"position":[[28,7],[963,7]]},"197":{"position":[[322,6]]},"221":{"position":[[28,7],[963,7]]},"408":{"position":[[7,6],[53,6]]},"584":{"position":[[1064,9],[1155,7]]},"591":{"position":[[578,6]]},"608":{"position":[[81,6],[164,6]]},"609":{"position":[[81,6],[164,6]]},"618":{"position":[[129,7],[205,7]]},"648":{"position":[[514,6],[773,6]]},"787":{"position":[[7,6],[53,6]]},"951":{"position":[[147,7],[205,7],[582,6]]},"964":{"position":[[739,6]]},"1219":{"position":[[280,8]]},"1228":{"position":[[547,9]]},"1362":{"position":[[8359,6]]},"1364":{"position":[[9206,6],[9473,6]]},"1367":{"position":[[8447,6]]},"1382":{"position":[[5365,6]]},"1384":{"position":[[10312,6]]},"1385":{"position":[[3279,6]]},"1386":{"position":[[2978,8]]},"1387":{"position":[[5612,6]]},"1397":{"position":[[2204,8]]},"1422":{"position":[[2725,6]]},"1439":{"position":[[5420,8]]},"1454":{"position":[[7216,6]]},"1485":{"position":[[1647,6]]}},"keywords":{}}],["prefix_head",{"_index":6759,"title":{},"content":{"1362":{"position":[[3742,14]]},"1364":{"position":[[3672,14]]},"1367":{"position":[[4954,14]]},"1373":{"position":[[2501,14]]},"1382":{"position":[[2704,14]]},"1384":{"position":[[3431,14]]},"1385":{"position":[[1656,14]]},"1387":{"position":[[3363,14]]},"1388":{"position":[[2889,14]]},"1415":{"position":[[2157,14]]},"1462":{"position":[[3600,14]]},"1467":{"position":[[3869,14]]}},"keywords":{}}],["prefix_serialized_debug_info",{"_index":8498,"title":{},"content":{"1481":{"position":[[849,29]]}},"keywords":{}}],["preload",{"_index":6007,"title":{},"content":{"1181":{"position":[[595,7],[603,7]]},"1462":{"position":[[8559,7]]},"1467":{"position":[[10041,7]]}},"keywords":{}}],["preload_dep",{"_index":7863,"title":{},"content":{"1417":{"position":[[876,13]]},"1462":{"position":[[3631,13]]},"1467":{"position":[[3900,13],[9797,13]]}},"keywords":{}}],["prelud",{"_index":504,"title":{"1196":{"position":[[11,8]]}},"content":{"17":{"position":[[644,7],[657,7]]},"18":{"position":[[295,7],[1919,7],[2022,7],[2078,8]]},"24":{"position":[[715,7]]},"693":{"position":[[5690,8],[5703,7],[5820,7],[5886,7],[6015,7]]},"914":{"position":[[133,8]]},"946":{"position":[[598,8]]},"981":{"position":[[918,8]]},"1093":{"position":[[155,7],[678,7]]},"1095":{"position":[[45,7],[96,7],[232,8]]},"1098":{"position":[[537,7]]},"1102":{"position":[[43,7]]},"1108":{"position":[[166,7]]},"1161":{"position":[[188,7],[223,7]]},"1190":{"position":[[548,7],[578,7]]},"1196":{"position":[[22,7],[67,7]]},"1226":{"position":[[4328,8]]},"1237":{"position":[[4498,8]]}},"keywords":{}}],["prelude.bzl",{"_index":5421,"title":{},"content":{"1058":{"position":[[331,11]]}},"keywords":{}}],["prelude.rust",{"_index":137,"title":{},"content":{"7":{"position":[[79,12]]}},"keywords":{}}],["prelude//erlang/applications:<application>",{"_index":7464,"title":{},"content":{"1393":{"position":[[3594,49]]}},"keywords":{}}],["prelude//prelude.bzl",{"_index":3567,"title":{},"content":{"693":{"position":[[5744,21]]}},"keywords":{}}],["preludeinto",{"_index":499,"title":{},"content":{"17":{"position":[[519,11]]}},"keywords":{}}],["prepackaged_valid",{"_index":6939,"title":{},"content":{"1365":{"position":[[718,23]]}},"keywords":{}}],["prepend",{"_index":2130,"title":{},"content":{"405":{"position":[[550,8],[1499,7]]},"436":{"position":[[58,8],[180,7]]},"784":{"position":[[550,8],[1499,7]]},"815":{"position":[[58,8],[180,7]]},"1403":{"position":[[7499,7]]}},"keywords":{}}],["prepr",{"_index":3280,"title":{"659":{"position":[[0,6]]}},"content":{},"keywords":{}}],["prepr(a",{"_index":3281,"title":{},"content":{"659":{"position":[[4,8]]}},"keywords":{}}],["preprocess",{"_index":6814,"title":{},"content":{"1362":{"position":[[12384,13],[12525,13],[12579,15],[12679,13],[13178,13]]},"1364":{"position":[[12889,13],[13030,13],[13084,15],[13379,13],[13878,13]]},"1367":{"position":[[12292,13],[12433,13],[12487,15],[12587,13],[13086,13]]},"1373":{"position":[[7348,13],[7466,13]]},"1382":{"position":[[9669,13],[10100,13],[10241,13],[10295,15],[11041,13],[11540,13]]},"1384":{"position":[[9223,13],[16014,13],[16445,13],[16772,13],[16826,15],[18695,13],[19194,13]]},"1385":{"position":[[5896,13],[6326,13],[6466,13],[6619,13],[7118,13]]},"1387":{"position":[[9269,13],[9699,13],[9839,13],[9992,13],[10491,13]]},"1388":{"position":[[8734,13],[8788,15],[9534,13],[10033,13]]},"1442":{"position":[[2414,13],[2913,13]]},"1454":{"position":[[7011,13]]},"1485":{"position":[[3905,13],[4404,13]]}},"keywords":{}}],["preprocess_java_classes_bash",{"_index":6454,"title":{},"content":{"1350":{"position":[[3136,29]]},"1352":{"position":[[3135,29]]},"1353":{"position":[[1107,29]]}},"keywords":{}}],["preprocess_java_classes_cmd",{"_index":6455,"title":{},"content":{"1350":{"position":[[3182,28]]},"1352":{"position":[[3181,28]]},"1353":{"position":[[1153,28]]}},"keywords":{}}],["preprocess_java_classes_dep",{"_index":6456,"title":{},"content":{"1350":{"position":[[3227,29]]},"1352":{"position":[[3226,29]]},"1353":{"position":[[1198,29]]}},"keywords":{}}],["preprocessing).raw_head",{"_index":7065,"title":{},"content":{"1373":{"position":[[7520,27]]}},"keywords":{}}],["preprocessing).src",{"_index":7247,"title":{},"content":{"1385":{"position":[[6520,20]]},"1387":{"position":[[9893,20]]}},"keywords":{}}],["preprocessor",{"_index":7063,"title":{},"content":{"1373":{"position":[[7101,12]]},"1382":{"position":[[9422,12]]},"1383":{"position":[[3168,13],[3265,13]]},"1384":{"position":[[8976,12],[12148,12],[12385,12],[15767,12]]},"1385":{"position":[[5649,12]]},"1386":{"position":[[2033,12]]},"1387":{"position":[[9022,12]]},"1454":{"position":[[6764,12]]}},"keywords":{}}],["preprocessor_flag",{"_index":6760,"title":{},"content":{"1362":{"position":[[3773,19],[12487,19],[13854,18]]},"1364":{"position":[[3703,19],[12992,19],[14562,18]]},"1367":{"position":[[4985,19],[12395,19],[14438,18]]},"1373":{"position":[[2532,19],[7388,18],[7933,18]]},"1382":{"position":[[2735,19],[9709,18],[10203,19],[10709,18]]},"1384":{"position":[[3462,19],[16054,18],[16734,19],[17783,18]]},"1385":{"position":[[1687,19],[5936,18]]},"1387":{"position":[[3394,19],[9309,18]]},"1388":{"position":[[2920,19],[8696,19],[9202,18]]},"1415":{"position":[[2188,19]]},"1462":{"position":[[3660,19]]},"1467":{"position":[[3929,19]]},"1485":{"position":[[3574,18]]}},"keywords":{}}],["presenc",{"_index":3532,"title":{},"content":{"693":{"position":[[2298,8]]},"1370":{"position":[[2405,8],[2894,8]]}},"keywords":{}}],["present",{"_index":882,"title":{},"content":{"47":{"position":[[130,8]]},"76":{"position":[[226,7]]},"94":{"position":[[1770,7]]},"131":{"position":[[522,7]]},"194":{"position":[[130,8]]},"226":{"position":[[1770,7]]},"254":{"position":[[522,7]]},"405":{"position":[[2040,7]]},"505":{"position":[[226,7]]},"554":{"position":[[276,8]]},"557":{"position":[[288,8]]},"559":{"position":[[123,8],[349,8]]},"560":{"position":[[251,8],[573,8]]},"663":{"position":[[1075,7]]},"690":{"position":[[3338,7]]},"784":{"position":[[2040,7]]},"901":{"position":[[1029,7]]},"1045":{"position":[[294,8],[406,8]]},"1050":{"position":[[1164,8]]},"1052":{"position":[[939,8]]},"1071":{"position":[[711,7]]},"1112":{"position":[[2828,7]]},"1172":{"position":[[68,9]]},"1228":{"position":[[669,8],[721,8]]},"1355":{"position":[[5793,7],[5987,7],[6809,7],[7022,8]]},"1360":{"position":[[5210,8]]},"1363":{"position":[[6062,8]]},"1370":{"position":[[2633,7],[2807,8]]},"1374":{"position":[[2274,8]]},"1382":{"position":[[5323,7]]},"1384":{"position":[[19279,8]]},"1388":{"position":[[6017,7]]},"1393":{"position":[[2543,7]]},"1398":{"position":[[3928,7],[3993,7],[5326,7]]},"1403":{"position":[[4272,7],[4299,8],[4462,7],[4555,7],[5367,8],[5501,8],[5847,7]]},"1407":{"position":[[2591,7]]},"1415":{"position":[[5256,8]]},"1427":{"position":[[4966,7],[5160,7],[6008,7],[6221,8]]},"1442":{"position":[[2313,7]]},"1454":{"position":[[9292,8]]},"1462":{"position":[[7790,8]]},"1467":{"position":[[8850,8]]},"1487":{"position":[[2082,8]]}},"keywords":{}}],["present.when",{"_index":3680,"title":{},"content":{"706":{"position":[[1949,12]]}},"keywords":{}}],["preserv",{"_index":1843,"title":{},"content":{"345":{"position":[[430,8],[565,10]]},"617":{"position":[[388,9]]},"888":{"position":[[1388,10]]},"892":{"position":[[2069,10]]}},"keywords":{}}],["press",{"_index":5765,"title":{},"content":{"1120":{"position":[[115,5]]},"1136":{"position":[[5494,5]]},"1138":{"position":[[9156,5]]},"1140":{"position":[[8082,5]]},"1142":{"position":[[3526,5]]},"1146":{"position":[[3466,5]]},"1148":{"position":[[6506,5]]},"1155":{"position":[[3562,5]]},"1156":{"position":[[3140,5]]},"1161":{"position":[[1033,5]]},"1167":{"position":[[9086,5]]},"1181":{"position":[[1245,5]]},"1186":{"position":[[4730,5]]},"1187":{"position":[[4743,5]]},"1188":{"position":[[9469,5]]},"1191":{"position":[[3330,5]]},"1192":{"position":[[3505,5]]},"1193":{"position":[[3557,5]]},"1194":{"position":[[3197,5]]},"1195":{"position":[[3175,5]]},"1196":{"position":[[2985,5]]},"1197":{"position":[[3968,5]]},"1198":{"position":[[3978,5]]},"1199":{"position":[[4006,5]]},"1200":{"position":[[3873,5]]},"1201":{"position":[[3133,5]]},"1202":{"position":[[4275,5],[8672,5]]},"1203":{"position":[[3367,5]]},"1204":{"position":[[3211,5]]},"1205":{"position":[[4540,5]]},"1206":{"position":[[3011,5]]},"1207":{"position":[[3168,5]]},"1209":{"position":[[4516,5]]},"1217":{"position":[[7827,5]]},"1222":{"position":[[2937,5]]},"1223":{"position":[[2947,5]]},"1226":{"position":[[8295,5]]},"1228":{"position":[[9908,5]]},"1235":{"position":[[5776,5]]},"1237":{"position":[[8465,5]]}},"keywords":{}}],["presumablyjava/com/facebook/common/collect/buck",{"_index":3038,"title":{},"content":{"622":{"position":[[1339,47]]}},"keywords":{}}],["pretti",{"_index":1271,"title":{},"content":{"99":{"position":[[495,7]]},"231":{"position":[[495,7]]},"347":{"position":[[42,7],[120,6],[141,6],[182,6]]},"659":{"position":[[64,6]]},"661":{"position":[[62,6]]},"1013":{"position":[[35,6]]}},"keywords":{}}],["prettyimag",{"_index":6961,"title":{},"content":{"1366":{"position":[[3347,15]]}},"keywords":{}}],["prevent",{"_index":3701,"title":{},"content":{"708":{"position":[[1069,10]]},"834":{"position":[[491,7]]},"955":{"position":[[1084,8]]},"1079":{"position":[[1246,7]]},"1247":{"position":[[440,7]]},"1355":{"position":[[6046,8],[6934,8],[7059,8]]},"1386":{"position":[[6317,10]]},"1393":{"position":[[3051,7],[3871,7]]},"1427":{"position":[[5219,8],[6133,8],[6258,8]]},"1446":{"position":[[2185,8]]},"1459":{"position":[[2158,8]]},"1477":{"position":[[1681,8]]}},"keywords":{}}],["previou",{"_index":1198,"title":{},"content":{"94":{"position":[[1741,8],[1984,8]]},"226":{"position":[[1741,8],[1984,8]]},"622":{"position":[[1206,8]]},"872":{"position":[[1029,8]]},"943":{"position":[[2402,8]]},"944":{"position":[[237,8]]},"945":{"position":[[849,8]]},"1035":{"position":[[25,8]]},"1050":{"position":[[168,8],[426,8],[569,8],[972,8],[3333,8],[3425,8]]},"1136":{"position":[[3194,8],[3257,8],[3379,8]]},"1138":{"position":[[6856,8],[6919,8],[7041,8]]},"1140":{"position":[[5782,8],[5845,8],[5967,8]]},"1142":{"position":[[1226,8],[1289,8],[1411,8]]},"1146":{"position":[[1166,8],[1229,8],[1351,8]]},"1148":{"position":[[4206,8],[4269,8],[4391,8]]},"1155":{"position":[[1262,8],[1325,8],[1447,8]]},"1156":{"position":[[840,8],[903,8],[1025,8]]},"1167":{"position":[[6786,8],[6849,8],[6971,8]]},"1169":{"position":[[625,8],[688,8],[810,8]]},"1186":{"position":[[2430,8],[2493,8],[2615,8]]},"1187":{"position":[[2443,8],[2506,8],[2628,8]]},"1188":{"position":[[7169,8],[7232,8],[7354,8]]},"1191":{"position":[[1030,8],[1093,8],[1215,8]]},"1192":{"position":[[1205,8],[1268,8],[1390,8]]},"1193":{"position":[[1257,8],[1320,8],[1442,8]]},"1194":{"position":[[897,8],[960,8],[1082,8]]},"1195":{"position":[[875,8],[938,8],[1060,8]]},"1196":{"position":[[685,8],[748,8],[870,8]]},"1197":{"position":[[1668,8],[1731,8],[1853,8]]},"1198":{"position":[[1678,8],[1741,8],[1863,8]]},"1199":{"position":[[1706,8],[1769,8],[1891,8]]},"1200":{"position":[[1573,8],[1636,8],[1758,8]]},"1201":{"position":[[833,8],[896,8],[1018,8]]},"1202":{"position":[[1975,8],[2038,8],[2160,8],[6372,8],[6435,8],[6557,8]]},"1203":{"position":[[1067,8],[1130,8],[1252,8]]},"1204":{"position":[[911,8],[974,8],[1096,8]]},"1205":{"position":[[2240,8],[2303,8],[2425,8]]},"1206":{"position":[[711,8],[774,8],[896,8]]},"1207":{"position":[[868,8],[931,8],[1053,8]]},"1209":{"position":[[2216,8],[2279,8],[2401,8]]},"1217":{"position":[[5527,8],[5590,8],[5712,8]]},"1219":{"position":[[1513,8],[1576,8],[1698,8]]},"1222":{"position":[[637,8],[700,8],[822,8]]},"1223":{"position":[[647,8],[710,8],[832,8]]},"1224":{"position":[[827,8],[890,8],[1012,8]]},"1226":{"position":[[5995,8],[6058,8],[6180,8]]},"1228":{"position":[[7608,8],[7671,8],[7793,8]]},"1235":{"position":[[3476,8],[3539,8],[3661,8]]},"1237":{"position":[[6165,8],[6228,8],[6350,8]]},"1487":{"position":[[1949,8]]}},"keywords":{}}],["previous",{"_index":2321,"title":{},"content":{"430":{"position":[[74,10]]},"572":{"position":[[158,10]]},"574":{"position":[[13,11]]},"809":{"position":[[74,10]]},"981":{"position":[[311,10]]},"1138":{"position":[[3384,10],[3497,10]]},"1140":{"position":[[2873,10],[2986,10]]},"1167":{"position":[[3877,10],[3990,10]]},"1188":{"position":[[2926,10],[3039,10]]},"1217":{"position":[[2618,10],[2731,10]]},"1228":{"position":[[4699,10],[4812,10]]}},"keywords":{}}],["primari",{"_index":1910,"title":{},"content":{"362":{"position":[[2237,8]]},"675":{"position":[[1185,7]]},"741":{"position":[[2237,8]]},"840":{"position":[[1440,7]]},"1384":{"position":[[19567,7],[19742,7]]},"1459":{"position":[[1655,7],[1839,7]]}},"keywords":{}}],["primary_dex_pattern",{"_index":6457,"title":{},"content":{"1350":{"position":[[3272,21]]},"1352":{"position":[[3271,21]]},"1353":{"position":[[1243,21]]}},"keywords":{}}],["primit",{"_index":5041,"title":{},"content":{"1009":{"position":[[566,9]]}},"keywords":{}}],["principl",{"_index":4519,"title":{},"content":{"924":{"position":[[10,9]]},"937":{"position":[[2915,11],[3114,10]]}},"keywords":{}}],["print",{"_index":1581,"title":{"660":{"position":[[0,6]]},"833":{"position":[[53,9]]}},"content":{"288":{"position":[[65,7],[120,5],[183,7],[196,5]]},"289":{"position":[[65,7],[140,5],[203,7],[216,5]]},"305":{"position":[[248,6],[296,7]]},"344":{"position":[[348,7],[381,5]]},"346":{"position":[[316,6],[364,7]]},"347":{"position":[[127,7],[148,8],[352,6],[400,7]]},"416":{"position":[[201,5]]},"417":{"position":[[430,5]]},"450":{"position":[[35,5],[218,5],[247,8]]},"510":{"position":[[91,7],[146,5],[209,7],[222,5]]},"511":{"position":[[91,7],[166,5],[229,7],[242,5]]},"635":{"position":[[29,5]]},"659":{"position":[[71,7]]},"660":{"position":[[29,5]]},"661":{"position":[[69,7]]},"693":{"position":[[3697,8]]},"712":{"position":[[2838,5],[2995,5]]},"795":{"position":[[201,5]]},"796":{"position":[[430,5]]},"829":{"position":[[35,5],[218,5],[247,8]]},"833":{"position":[[294,6],[400,5],[423,7]]},"834":{"position":[[20,6],[147,5],[213,8]]},"840":{"position":[[1101,7],[1499,5],[1657,6],[1833,5]]},"860":{"position":[[459,5],[476,9]]},"869":{"position":[[520,5]]},"877":{"position":[[92,5]]},"910":{"position":[[389,5],[494,5]]},"946":{"position":[[505,5],[687,5]]},"955":{"position":[[1198,7]]},"959":{"position":[[348,5]]},"962":{"position":[[412,6]]},"1106":{"position":[[20,5]]},"1116":{"position":[[18,6]]},"1121":{"position":[[55,5]]},"1136":{"position":[[350,5],[2288,7],[2403,5],[4943,7]]},"1138":{"position":[[159,5],[258,5],[339,5],[450,5],[534,5],[626,5],[1482,5],[1527,5],[5502,5],[8605,7]]},"1140":{"position":[[971,5],[1016,5],[4991,5],[7531,7]]},"1142":{"position":[[155,6],[695,5],[2975,7]]},"1144":{"position":[[0,5],[343,5]]},"1146":{"position":[[375,5],[2915,7]]},"1148":{"position":[[303,8],[883,5],[2644,7],[2852,5],[5955,7]]},"1150":{"position":[[578,5]]},"1152":{"position":[[0,5],[120,5],[276,5]]},"1154":{"position":[[0,5],[112,5],[235,5],[279,5],[317,5],[353,5],[431,5]]},"1155":{"position":[[0,5],[731,5],[3011,7]]},"1156":{"position":[[309,5],[2589,7]]},"1157":{"position":[[0,5],[214,5]]},"1158":{"position":[[0,5],[208,5]]},"1159":{"position":[[0,5],[208,5]]},"1161":{"position":[[472,5]]},"1163":{"position":[[270,5]]},"1165":{"position":[[99,5]]},"1167":{"position":[[268,6],[1975,5],[2020,5],[5995,5],[8535,7]]},"1169":{"position":[[94,5],[2374,7]]},"1171":{"position":[[846,5],[924,5]]},"1172":{"position":[[2309,5]]},"1173":{"position":[[996,5]]},"1174":{"position":[[424,5]]},"1175":{"position":[[420,5]]},"1176":{"position":[[589,5]]},"1177":{"position":[[428,5],[510,5]]},"1178":{"position":[[827,5]]},"1179":{"position":[[624,5]]},"1180":{"position":[[895,5]]},"1181":{"position":[[684,5]]},"1182":{"position":[[458,5]]},"1183":{"position":[[413,5]]},"1185":{"position":[[180,5],[258,5]]},"1186":{"position":[[1076,5],[4179,7]]},"1187":{"position":[[1089,5],[4192,7]]},"1188":{"position":[[1024,5],[1069,5],[5815,5],[8918,7]]},"1190":{"position":[[163,6],[443,6],[556,5],[606,6],[663,5],[773,6],[991,6],[1511,5],[1589,5]]},"1191":{"position":[[499,5],[2779,7]]},"1192":{"position":[[0,6],[414,5],[2954,7]]},"1193":{"position":[[223,7],[256,7],[726,5],[3006,7]]},"1194":{"position":[[0,6],[247,5],[366,5],[2646,7]]},"1195":{"position":[[247,5],[344,5],[2624,7]]},"1196":{"position":[[0,5],[154,5],[2434,7]]},"1197":{"position":[[0,6],[237,5],[249,5],[314,5],[3417,7]]},"1198":{"position":[[0,5],[192,5],[221,5],[288,5],[324,5],[3427,7]]},"1199":{"position":[[283,5],[352,5],[3455,7]]},"1200":{"position":[[0,6],[219,5],[3322,7]]},"1201":{"position":[[302,5],[2582,7]]},"1202":{"position":[[288,5],[366,5],[1444,5],[3724,7],[5841,5],[8121,7]]},"1203":{"position":[[0,6],[276,5],[2816,7]]},"1204":{"position":[[253,5],[380,5],[2660,7],[4602,5],[5532,5],[6434,5],[7420,5],[8374,5],[9321,5],[10251,5]]},"1205":{"position":[[1449,5],[3989,7]]},"1206":{"position":[[180,5],[2460,7]]},"1207":{"position":[[337,5],[2617,7]]},"1209":{"position":[[1521,7],[1685,5],[3965,7]]},"1211":{"position":[[123,5],[329,5]]},"1213":{"position":[[100,5]]},"1215":{"position":[[135,8],[184,5]]},"1217":{"position":[[593,5],[716,5],[761,5],[4736,5],[7276,7]]},"1219":{"position":[[982,5],[3262,7]]},"1221":{"position":[[225,5],[303,5]]},"1222":{"position":[[106,5],[2386,7]]},"1223":{"position":[[116,5],[2396,7]]},"1224":{"position":[[296,5],[2576,7]]},"1226":{"position":[[151,5],[186,5],[222,5],[290,5],[374,5],[463,5],[3158,8],[3338,5],[3437,5],[3518,5],[3629,5],[3713,5],[3805,5],[5204,5],[7744,7]]},"1228":{"position":[[2797,5],[2842,5],[6817,5],[9357,7]]},"1235":{"position":[[676,5],[957,8],[2781,7],[2945,5],[5225,7]]},"1237":{"position":[[321,5],[356,5],[392,5],[460,5],[544,5],[633,5],[3328,8],[3508,5],[3607,5],[3688,5],[3799,5],[3883,5],[3975,5],[5374,5],[7914,7]]},"1240":{"position":[[95,5]]},"1244":{"position":[[95,5]]},"1398":{"position":[[6647,5]]},"1477":{"position":[[2923,6],[3116,6]]},"1478":{"position":[[3073,6]]}},"keywords":{}}],["print(*arg",{"_index":3283,"title":{},"content":{"660":{"position":[[4,12]]}},"keywords":{}}],["print(ensured_with_abs_path",{"_index":1594,"title":{},"content":{"288":{"position":[[604,28]]},"510":{"position":[[675,28]]}},"keywords":{}}],["print(ensured_with_rel_path",{"_index":1601,"title":{},"content":{"289":{"position":[[624,28]]},"511":{"position":[[690,28]]}},"keywords":{}}],["print(providers[upperinfo].messag",{"_index":5230,"title":{},"content":{"1047":{"position":[[298,35]]}},"keywords":{}}],["print(x",{"_index":4211,"title":{},"content":{"890":{"position":[[1475,8]]}},"keywords":{}}],["printand",{"_index":1689,"title":{},"content":{"305":{"position":[[330,8]]},"346":{"position":[[398,8]]},"347":{"position":[[434,8]]}},"keywords":{}}],["prior",{"_index":3252,"title":{},"content":{"654":{"position":[[309,5]]},"693":{"position":[[2613,5]]},"924":{"position":[[2367,5]]},"1050":{"position":[[4302,5]]},"1053":{"position":[[1367,5]]},"1360":{"position":[[3594,5]]},"1383":{"position":[[6240,5]]},"1386":{"position":[[4502,5]]},"1403":{"position":[[3009,5]]}},"keywords":{}}],["prioriti",{"_index":6651,"title":{},"content":{"1360":{"position":[[2926,8],[4668,8]]},"1383":{"position":[[2511,8],[6700,8]]},"1403":{"position":[[2341,8],[4083,8]]}},"keywords":{}}],["priv",{"_index":7485,"title":{},"content":{"1393":{"position":[[7009,5],[7227,5],[9925,5]]},"1395":{"position":[[2313,4],[2400,4]]}},"keywords":{}}],["privacy_manifest",{"_index":6861,"title":{},"content":{"1363":{"position":[[2198,17],[5399,17]]}},"keywords":{}}],["privat",{"_index":6310,"title":{},"content":{"1345":{"position":[[647,7]]},"1393":{"position":[[6655,7],[6855,7],[7883,7]]},"1398":{"position":[[3155,7],[3265,7]]},"1459":{"position":[[2296,7]]}},"keywords":{}}],["private_headers_symlinks_en",{"_index":7386,"title":{},"content":{"1389":{"position":[[3189,33]]}},"keywords":{}}],["private_key=123",{"_index":6070,"title":{},"content":{"1228":{"position":[[383,15]]}},"keywords":{}}],["pro",{"_index":3369,"title":{"675":{"position":[[13,3]]}},"content":{"924":{"position":[[944,3],[1260,3],[2070,4]]}},"keywords":{}}],["probabl",{"_index":1144,"title":{},"content":{"92":{"position":[[1679,9]]},"224":{"position":[[1679,9]]},"584":{"position":[[708,8]]},"898":{"position":[[1417,8]]},"941":{"position":[[365,8]]},"991":{"position":[[3023,8],[3414,8]]},"1040":{"position":[[1781,9]]},"1104":{"position":[[1045,8]]},"1186":{"position":[[751,8]]},"1187":{"position":[[764,8]]},"1188":{"position":[[5490,8]]},"1439":{"position":[[6236,8]]}},"keywords":{}}],["problem",{"_index":3629,"title":{},"content":{"703":{"position":[[170,8]]},"846":{"position":[[1525,8]]},"890":{"position":[[99,8]]},"898":{"position":[[103,8]]},"937":{"position":[[3540,8]]},"980":{"position":[[940,8]]},"988":{"position":[[81,8]]},"1136":{"position":[[4740,9]]},"1138":{"position":[[8402,9]]},"1140":{"position":[[7328,9]]},"1142":{"position":[[2772,9]]},"1146":{"position":[[2712,9]]},"1148":{"position":[[5752,9]]},"1155":{"position":[[2808,9]]},"1156":{"position":[[2386,9]]},"1167":{"position":[[8332,9]]},"1169":{"position":[[2171,9]]},"1186":{"position":[[3976,9]]},"1187":{"position":[[3989,9]]},"1188":{"position":[[8715,9]]},"1191":{"position":[[2576,9]]},"1192":{"position":[[2751,9]]},"1193":{"position":[[2803,9]]},"1194":{"position":[[2443,9]]},"1195":{"position":[[2421,9]]},"1196":{"position":[[2231,9]]},"1197":{"position":[[3214,9]]},"1198":{"position":[[3224,9]]},"1199":{"position":[[3252,9]]},"1200":{"position":[[3119,9]]},"1201":{"position":[[2379,9]]},"1202":{"position":[[3521,9],[7918,9]]},"1203":{"position":[[2613,9]]},"1204":{"position":[[2457,9]]},"1205":{"position":[[3786,9]]},"1206":{"position":[[2257,9]]},"1207":{"position":[[2414,9]]},"1209":{"position":[[3762,9]]},"1217":{"position":[[7073,9]]},"1219":{"position":[[3059,9]]},"1222":{"position":[[2183,9]]},"1223":{"position":[[2193,9]]},"1224":{"position":[[2373,9]]},"1226":{"position":[[7541,9]]},"1228":{"position":[[9154,9]]},"1235":{"position":[[5022,9]]},"1237":{"position":[[7711,9]]},"1387":{"position":[[6938,8]]}},"keywords":{}}],["problemat",{"_index":2627,"title":{},"content":{"576":{"position":[[146,12]]},"919":{"position":[[1969,11]]},"937":{"position":[[668,11]]}},"keywords":{}}],["proc",{"_index":4877,"title":{"987":{"position":[[19,4]]},"991":{"position":[[9,4]]}},"content":{"987":{"position":[[5,4],[172,4],[215,4],[339,4],[461,4],[586,4]]},"991":{"position":[[1010,4],[1103,4],[1159,4],[1385,4],[2873,4],[3121,4]]}},"keywords":{}}],["proc_macro",{"_index":4882,"title":{},"content":{"987":{"position":[[323,11],[711,10],[819,10]]},"991":{"position":[[1701,10],[1889,10]]},"1472":{"position":[[1351,11]]}},"keywords":{}}],["proce",{"_index":5128,"title":{},"content":{"1037":{"position":[[470,7]]},"1067":{"position":[[731,7]]}},"keywords":{}}],["procedur",{"_index":3386,"title":{},"content":{"678":{"position":[[76,11],[157,10]]}},"keywords":{}}],["process",{"_index":264,"title":{},"content":{"9":{"position":[[1809,7],[1920,8]]},"377":{"position":[[982,7]]},"584":{"position":[[1253,7]]},"692":{"position":[[16,7]]},"693":{"position":[[4026,7]]},"696":{"position":[[403,7]]},"715":{"position":[[1633,8]]},"723":{"position":[[66,9]]},"724":{"position":[[1432,7]]},"756":{"position":[[982,7]]},"864":{"position":[[1520,9]]},"890":{"position":[[120,7]]},"892":{"position":[[1133,10],[1351,7]]},"898":{"position":[[124,7]]},"945":{"position":[[270,8]]},"946":{"position":[[462,7],[555,7],[758,8]]},"955":{"position":[[1168,7],[1365,10]]},"1052":{"position":[[888,7],[977,7]]},"1053":{"position":[[1548,7]]},"1060":{"position":[[132,7],[241,8]]},"1138":{"position":[[3216,7]]},"1140":{"position":[[2705,7]]},"1163":{"position":[[111,9]]},"1165":{"position":[[15,9]]},"1167":{"position":[[1516,7],[3709,7]]},"1172":{"position":[[1820,7]]},"1188":{"position":[[2758,7]]},"1217":{"position":[[2450,7]]},"1226":{"position":[[264,9]]},"1228":{"position":[[4531,7]]},"1231":{"position":[[74,7],[287,8],[435,7]]},"1237":{"position":[[434,9]]},"1247":{"position":[[639,7]]},"1253":{"position":[[167,7],[433,7],[569,9]]},"1254":{"position":[[205,7],[485,7]]},"1355":{"position":[[3316,11]]},"1360":{"position":[[1370,7],[4437,8]]},"1363":{"position":[[4975,9],[5213,10]]},"1367":{"position":[[9891,9],[10129,10]]},"1383":{"position":[[1266,8],[6470,8]]},"1393":{"position":[[7997,9]]},"1403":{"position":[[3852,8]]},"1426":{"position":[[2736,7]]},"1429":{"position":[[4032,7],[4045,7],[4454,7]]},"1439":{"position":[[3137,11]]},"1440":{"position":[[4025,7],[4038,7],[4447,7]]},"1467":{"position":[[8660,11]]},"1486":{"position":[[2923,7],[3687,7],[3776,7],[5287,8]]}},"keywords":{}}],["process(target",{"_index":6215,"title":{},"content":{"1253":{"position":[[262,15],[520,15]]}},"keywords":{}}],["process.corn",{"_index":403,"title":{},"content":{"12":{"position":[[335,14]]}},"keywords":{}}],["process.per_testa",{"_index":7998,"title":{},"content":{"1429":{"position":[[4436,17]]},"1440":{"position":[[4429,17]]}},"keywords":{}}],["process_xml",{"_index":7658,"title":{},"content":{"1401":{"position":[[1851,14]]}},"keywords":{}}],["processed.xml",{"_index":7659,"title":{},"content":{"1401":{"position":[[1872,16]]}},"keywords":{}}],["processor",{"_index":2254,"title":{},"content":{"419":{"position":[[93,9]]},"798":{"position":[[93,9]]},"1355":{"position":[[3432,10]]},"1439":{"position":[[3253,10]]}},"keywords":{}}],["processor_class",{"_index":7945,"title":{},"content":{"1425":{"position":[[601,16]]}},"keywords":{}}],["produc",{"_index":423,"title":{"1032":{"position":[[0,9]]}},"content":{"13":{"position":[[199,8]]},"81":{"position":[[274,9]]},"92":{"position":[[2143,7]]},"98":{"position":[[991,7]]},"99":{"position":[[1399,7]]},"118":{"position":[[148,7]]},"119":{"position":[[143,9]]},"213":{"position":[[274,9]]},"224":{"position":[[2143,7]]},"230":{"position":[[991,7]]},"231":{"position":[[1399,7]]},"362":{"position":[[983,8]]},"363":{"position":[[408,8]]},"366":{"position":[[234,8]]},"367":{"position":[[262,8]]},"368":{"position":[[482,8]]},"374":{"position":[[416,8]]},"377":{"position":[[485,8]]},"379":{"position":[[189,8]]},"386":{"position":[[342,8]]},"389":{"position":[[193,8]]},"396":{"position":[[272,8]]},"397":{"position":[[127,8]]},"398":{"position":[[146,8]]},"399":{"position":[[146,8]]},"400":{"position":[[473,7]]},"405":{"position":[[1169,8],[1706,7]]},"434":{"position":[[86,8]]},"446":{"position":[[98,7]]},"534":{"position":[[148,7]]},"535":{"position":[[143,9]]},"630":{"position":[[101,8]]},"635":{"position":[[163,7]]},"636":{"position":[[107,8]]},"644":{"position":[[135,8]]},"648":{"position":[[120,8]]},"652":{"position":[[101,8]]},"659":{"position":[[42,8]]},"661":{"position":[[40,8]]},"662":{"position":[[116,8]]},"668":{"position":[[81,8]]},"669":{"position":[[63,8]]},"670":{"position":[[133,8]]},"671":{"position":[[102,8]]},"675":{"position":[[729,7]]},"680":{"position":[[843,8]]},"681":{"position":[[461,8]]},"686":{"position":[[28,8]]},"693":{"position":[[340,8],[477,8],[2795,7],[10092,7]]},"704":{"position":[[189,7],[252,8],[1007,7],[1183,7],[1577,7],[2191,8],[2344,7],[2441,8]]},"706":{"position":[[1048,8]]},"711":{"position":[[1198,7]]},"712":{"position":[[1442,9]]},"722":{"position":[[1161,7]]},"741":{"position":[[983,8]]},"742":{"position":[[408,8]]},"745":{"position":[[234,8]]},"746":{"position":[[262,8]]},"747":{"position":[[482,8]]},"753":{"position":[[416,8]]},"756":{"position":[[485,8]]},"758":{"position":[[189,8]]},"765":{"position":[[342,8]]},"768":{"position":[[193,8]]},"775":{"position":[[272,8]]},"776":{"position":[[127,8]]},"777":{"position":[[146,8]]},"778":{"position":[[146,8]]},"779":{"position":[[473,7]]},"784":{"position":[[1169,8],[1706,7]]},"813":{"position":[[86,8]]},"825":{"position":[[98,7]]},"832":{"position":[[766,8]]},"836":{"position":[[15,8]]},"845":{"position":[[154,7]]},"846":{"position":[[1913,8]]},"848":{"position":[[480,9]]},"887":{"position":[[386,7]]},"892":{"position":[[1896,8]]},"900":{"position":[[600,8]]},"976":{"position":[[63,7]]},"1004":{"position":[[2038,7],[2095,8],[2278,7]]},"1017":{"position":[[776,8]]},"1030":{"position":[[222,7]]},"1032":{"position":[[18,7],[281,9],[342,8]]},"1033":{"position":[[28,8]]},"1037":{"position":[[307,7],[676,9]]},"1049":{"position":[[543,8]]},"1050":{"position":[[98,7]]},"1054":{"position":[[507,8]]},"1057":{"position":[[179,8]]},"1059":{"position":[[26,8]]},"1070":{"position":[[223,7],[261,7]]},"1073":{"position":[[83,7]]},"1086":{"position":[[411,7]]},"1098":{"position":[[690,7]]},"1102":{"position":[[915,9]]},"1103":{"position":[[1212,8],[1918,7]]},"1105":{"position":[[918,8],[1071,7]]},"1107":{"position":[[52,8]]},"1136":{"position":[[367,9],[1146,7],[2326,7]]},"1138":{"position":[[1420,8],[3293,8],[3395,8],[3454,7],[3508,8],[3559,8]]},"1140":{"position":[[2782,8],[2884,8],[2943,7],[2997,8],[3048,8]]},"1148":{"position":[[1502,7],[2682,7]]},"1167":{"position":[[3786,8],[3888,8],[3947,7],[4001,8],[4052,8]]},"1180":{"position":[[50,8]]},"1188":{"position":[[2835,8],[2937,8],[2996,7],[3050,8],[3101,8]]},"1190":{"position":[[1135,8]]},"1193":{"position":[[353,7]]},"1205":{"position":[[22,8],[626,7]]},"1209":{"position":[[379,7],[1559,7]]},"1217":{"position":[[2527,8],[2629,8],[2688,7],[2742,8],[2793,8]]},"1226":{"position":[[2319,7],[4437,8],[4627,8]]},"1228":{"position":[[4608,8],[4710,8],[4769,7],[4823,8],[4874,8]]},"1235":{"position":[[1639,7],[2819,7]]},"1237":{"position":[[2489,7],[4607,8],[4797,8]]},"1353":{"position":[[3262,7]]},"1360":{"position":[[1468,7],[5898,7]]},"1384":{"position":[[18305,8]]},"1395":{"position":[[3166,8]]},"1403":{"position":[[1283,7]]},"1415":{"position":[[5178,7]]},"1471":{"position":[[5438,7],[5529,8],[5566,8]]},"1472":{"position":[[5621,8],[6324,7],[6415,8],[6452,8]]},"1473":{"position":[[4046,7]]}},"keywords":{}}],["produceartifact",{"_index":5642,"title":{},"content":{"1103":{"position":[[62,16]]}},"keywords":{}}],["product",{"_index":3390,"title":{},"content":{"678":{"position":[[249,7]]},"705":{"position":[[138,7]]},"1363":{"position":[[5754,7]]},"1386":{"position":[[5085,10]]}},"keywords":{}}],["product_nam",{"_index":6862,"title":{},"content":{"1363":{"position":[[2232,13],[5481,13],[5565,12]]}},"keywords":{}}],["productus",{"_index":135,"title":{},"content":{"7":{"position":[[37,12]]}},"keywords":{}}],["produt",{"_index":7483,"title":{},"content":{"1393":{"position":[[6835,9]]}},"keywords":{}}],["profil",{"_index":377,"title":{"860":{"position":[[0,10]]},"1056":{"position":[[9,10]]},"1057":{"position":[[8,10]]},"1058":{"position":[[10,10]]},"1059":{"position":[[6,10]]},"1060":{"position":[[7,10]]},"1184":{"position":[[0,7]]},"1185":{"position":[[5,8]]},"1186":{"position":[[5,7]]},"1187":{"position":[[5,7]]},"1188":{"position":[[5,7]]},"1249":{"position":[[0,8]]}},"content":{"11":{"position":[[489,9],[540,9],[621,8]]},"23":{"position":[[351,9]]},"856":{"position":[[382,9]]},"860":{"position":[[22,9]]},"877":{"position":[[649,9]]},"919":{"position":[[964,8]]},"1056":{"position":[[15,9],[70,9],[139,9],[165,7],[186,7],[208,7],[239,7],[327,7],[437,9],[502,7],[695,9],[924,8],[1104,7],[1196,7],[1292,7],[1370,7]]},"1057":{"position":[[10,9],[545,9],[1058,9],[1359,7]]},"1058":{"position":[[11,9],[374,7],[768,7],[1040,9]]},"1059":{"position":[[10,9]]},"1060":{"position":[[0,9],[114,7],[178,9],[216,7],[318,9]]},"1061":{"position":[[262,8],[333,9]]},"1148":{"position":[[7041,9],[7062,7],[7096,7],[7159,7],[7245,8],[7284,7],[7515,7],[7568,7]]},"1185":{"position":[[13,8],[43,7],[96,7],[121,7],[156,7]]},"1186":{"position":[[0,7],[38,7],[197,10],[220,7],[286,7],[341,7],[446,7],[467,9],[643,9],[779,9]]},"1187":{"position":[[0,7],[52,7],[210,10],[233,7],[299,7],[354,7],[459,7],[480,9],[656,9],[792,9]]},"1188":{"position":[[0,7],[40,7],[5080,7],[5185,7],[5206,9],[5382,9],[5518,9]]},"1231":{"position":[[142,10],[623,8],[756,8]]},"1249":{"position":[[80,7],[154,9]]},"1363":{"position":[[3079,9],[6291,8],[6313,8],[6344,8],[6430,7],[6705,8],[6727,8],[6758,8],[6844,7]]}},"keywords":{}}],["profiled_static_lib",{"_index":7875,"title":{},"content":{"1421":{"position":[[806,21]]}},"keywords":{}}],["program",{"_index":629,"title":{},"content":{"22":{"position":[[63,11]]},"870":{"position":[[641,8],[848,8],[1133,8]]},"879":{"position":[[324,7]]},"888":{"position":[[970,8]]},"889":{"position":[[1000,8]]},"890":{"position":[[6725,8]]},"900":{"position":[[1453,7]]},"1255":{"position":[[200,7]]}},"keywords":{}}],["program!"",{"_index":552,"title":{},"content":{"18":{"position":[[528,14]]}},"keywords":{}}],["programat",{"_index":2281,"title":{},"content":{"421":{"position":[[216,15]]},"800":{"position":[[216,15]]}},"keywords":{}}],["progress",{"_index":802,"title":{},"content":{"24":{"position":[[1079,9]]},"93":{"position":[[125,9]]},"225":{"position":[[125,9]]},"1079":{"position":[[1233,8]]}},"keywords":{}}],["proguard",{"_index":6480,"title":{},"content":{"1351":{"position":[[3430,8]]}},"keywords":{}}],["proguard.cfg",{"_index":6514,"title":{},"content":{"1353":{"position":[[3202,15]]},"1354":{"position":[[3341,15]]},"1360":{"position":[[6118,15]]}},"keywords":{}}],["proguard_config",{"_index":6370,"title":{},"content":{"1348":{"position":[[2146,16]]},"1350":{"position":[[3309,16]]},"1352":{"position":[[3308,16]]},"1353":{"position":[[3184,15]]},"1354":{"position":[[3323,15]]},"1355":{"position":[[1619,16]]},"1360":{"position":[[6100,15]]},"1412":{"position":[[1039,16]]},"1413":{"position":[[1185,16]]},"1427":{"position":[[1256,16]]},"1429":{"position":[[1490,16]]},"1430":{"position":[[1059,16]]},"1439":{"position":[[1492,16]]},"1440":{"position":[[1691,16]]},"1470":{"position":[[1975,16]]},"1474":{"position":[[1035,16]]},"1475":{"position":[[1181,16]]}},"keywords":{}}],["proguard_jvm_arg",{"_index":6458,"title":{},"content":{"1350":{"position":[[3342,18]]},"1352":{"position":[[3341,18]]}},"keywords":{}}],["prohibit",{"_index":682,"title":{},"content":{"22":{"position":[[1803,13]]},"942":{"position":[[1189,10]]}},"keywords":{}}],["project",{"_index":68,"title":{"7":{"position":[[9,8]]},"17":{"position":[[21,8]]},"18":{"position":[[32,8]]},"696":{"position":[[15,8]]},"872":{"position":[[11,7]]},"956":{"position":[[4,8]]},"958":{"position":[[14,7]]},"1082":{"position":[[0,12]]},"1083":{"position":[[0,12]]}},"content":{"4":{"position":[[528,7],[553,7]]},"5":{"position":[[159,8],[208,8]]},"7":{"position":[[399,8]]},"9":{"position":[[1512,8]]},"15":{"position":[[814,8]]},"17":{"position":[[201,8],[327,8],[536,8],[706,8],[1158,8]]},"18":{"position":[[67,8],[119,7],[222,8],[261,7],[911,8],[1483,7],[1824,7],[2239,7]]},"19":{"position":[[61,9]]},"23":{"position":[[1737,7]]},"40":{"position":[[220,7]]},"50":{"position":[[290,9],[404,9],[452,10]]},"94":{"position":[[2285,7],[2456,7],[4300,9]]},"173":{"position":[[220,7]]},"197":{"position":[[290,9],[404,9],[452,10]]},"226":{"position":[[2285,7],[2456,7],[4300,9]]},"279":{"position":[[194,7]]},"289":{"position":[[101,7]]},"319":{"position":[[117,7]]},"320":{"position":[[506,7]]},"374":{"position":[[1311,7]]},"433":{"position":[[121,7]]},"511":{"position":[[127,7]]},"580":{"position":[[17,7]]},"581":{"position":[[66,7],[235,7]]},"587":{"position":[[42,8]]},"622":{"position":[[226,7],[500,7]]},"676":{"position":[[376,8]]},"693":{"position":[[48,7],[1367,8],[5958,7],[6133,8],[6249,7],[6302,8],[6442,7],[8081,7]]},"696":{"position":[[206,9]]},"708":{"position":[[792,8]]},"717":{"position":[[373,7]]},"753":{"position":[[1311,7]]},"812":{"position":[[121,7]]},"851":{"position":[[325,8]]},"872":{"position":[[4,7],[76,7],[218,7],[490,7],[625,7]]},"873":{"position":[[121,8]]},"895":{"position":[[486,7],[516,7]]},"919":{"position":[[506,8]]},"937":{"position":[[737,7],[2368,7],[3075,7],[3198,8],[3404,7],[3618,7],[4712,7]]},"939":{"position":[[1866,8]]},"951":{"position":[[798,7]]},"955":{"position":[[8,7],[129,7],[425,8],[679,7],[693,7],[1008,7],[1051,7],[1235,7]]},"958":{"position":[[179,8],[322,7]]},"964":{"position":[[57,7]]},"997":{"position":[[113,7]]},"1001":{"position":[[1067,10]]},"1011":{"position":[[74,8]]},"1032":{"position":[[231,7]]},"1050":{"position":[[1387,7]]},"1070":{"position":[[365,7],[403,7]]},"1082":{"position":[[113,13],[229,11],[580,10],[644,9],[701,10],[1070,11],[1289,11]]},"1083":{"position":[[42,11],[87,10],[135,11],[416,10],[480,9],[537,10],[904,11],[1057,9]]},"1087":{"position":[[98,12],[199,11],[357,11]]},"1088":{"position":[[156,11],[1110,11]]},"1090":{"position":[[57,11],[112,10]]},"1091":{"position":[[0,11],[111,10]]},"1098":{"position":[[45,7],[492,7]]},"1102":{"position":[[718,8]]},"1112":{"position":[[229,7],[1754,7],[4914,7]]},"1130":{"position":[[131,7]]},"1138":{"position":[[226,7],[411,7],[573,7],[2096,7],[2130,7]]},"1140":{"position":[[1585,7],[1619,7]]},"1161":{"position":[[19,7],[115,7],[294,7]]},"1167":{"position":[[2589,7],[2623,7]]},"1172":{"position":[[699,7],[747,8]]},"1188":{"position":[[1638,7],[1672,7]]},"1211":{"position":[[16,7],[178,8]]},"1217":{"position":[[1330,7],[1364,7]]},"1226":{"position":[[3405,7],[3590,7],[3752,7]]},"1228":{"position":[[3411,7],[3445,7]]},"1237":{"position":[[3575,7],[3760,7],[3922,7]]},"1254":{"position":[[162,8],[218,7],[450,8],[498,7]]},"1256":{"position":[[121,8]]},"1355":{"position":[[7747,7]]},"1362":{"position":[[7904,7],[7975,8]]},"1364":{"position":[[8753,7],[8824,8]]},"1367":{"position":[[7992,7],[8063,8]]},"1383":{"position":[[7919,7]]},"1384":{"position":[[10132,7],[10203,8]]},"1385":{"position":[[3096,7]]},"1386":{"position":[[3411,8]]},"1387":{"position":[[5373,7]]},"1402":{"position":[[1967,7]]},"1403":{"position":[[7019,7]]},"1444":{"position":[[1723,7]]},"1462":{"position":[[5597,7]]},"1465":{"position":[[2527,7]]},"1467":{"position":[[6092,7]]},"1477":{"position":[[2575,7]]}},"keywords":{}}],["project'",{"_index":1306,"title":{},"content":{"112":{"position":[[60,9]]},"524":{"position":[[60,9]]},"622":{"position":[[373,9]]}},"keywords":{}}],["project).us",{"_index":227,"title":{},"content":{"9":{"position":[[1191,14]]}},"keywords":{}}],["project,target",{"_index":3565,"title":{},"content":{"693":{"position":[[5376,15]]}},"keywords":{}}],["project.watchman_merge_bas",{"_index":4122,"title":{},"content":{"879":{"position":[[113,28]]}},"keywords":{}}],["project_as_arg",{"_index":5554,"title":{},"content":{"1082":{"position":[[475,15]]}},"keywords":{}}],["project_as_defin",{"_index":5561,"title":{},"content":{"1082":{"position":[[892,17]]}},"keywords":{}}],["project_as_define(valu",{"_index":5556,"title":{},"content":{"1082":{"position":[[716,24]]}},"keywords":{}}],["project_as_json",{"_index":5572,"title":{},"content":{"1083":{"position":[[728,15]]}},"keywords":{}}],["project_as_json(valu",{"_index":5569,"title":{},"content":{"1083":{"position":[[552,22]]}},"keywords":{}}],["project_asset",{"_index":6633,"title":{},"content":{"1359":{"position":[[728,15]]}},"keywords":{}}],["project_r",{"_index":6634,"title":{},"content":{"1359":{"position":[[760,12]]}},"keywords":{}}],["project_rel_path(ctx",{"_index":1761,"title":{},"content":{"319":{"position":[[176,22]]}},"keywords":{}}],["project_root",{"_index":966,"title":{},"content":{"69":{"position":[[60,13]]},"94":{"position":[[110,12],[417,12]]},"98":{"position":[[152,12]]},"99":{"position":[[184,12]]},"112":{"position":[[20,12]]},"226":{"position":[[110,12],[417,12]]},"230":{"position":[[152,12]]},"231":{"position":[[184,12]]},"345":{"position":[[187,12]]},"368":{"position":[[206,12],[3170,12]]},"377":{"position":[[115,12]]},"386":{"position":[[101,12]]},"405":{"position":[[103,12],[351,12],[721,12],[760,13]]},"417":{"position":[[131,12]]},"457":{"position":[[60,13]]},"524":{"position":[[20,12]]},"747":{"position":[[206,12],[3170,12]]},"756":{"position":[[115,12]]},"765":{"position":[[101,12]]},"784":{"position":[[103,12],[351,12],[721,12],[760,13]]},"796":{"position":[[131,12]]},"1112":{"position":[[242,13]]}},"keywords":{}}],["project_toml",{"_index":8028,"title":{},"content":{"1436":{"position":[[406,13]]}},"keywords":{}}],["projectit",{"_index":4473,"title":{},"content":{"916":{"position":[[242,9]]}},"keywords":{}}],["projectroot",{"_index":2051,"title":{"380":{"position":[[0,12]]},"759":{"position":[[0,12]]}},"content":{"380":{"position":[[0,12]]},"759":{"position":[[0,12]]}},"keywords":{}}],["projectrun",{"_index":4076,"title":{},"content":{"872":{"position":[[598,10],[865,10]]}},"keywords":{}}],["projectthat",{"_index":485,"title":{},"content":{"17":{"position":[[59,11]]}},"keywords":{}}],["projectwrit",{"_index":4080,"title":{},"content":{"872":{"position":[[964,12]]}},"keywords":{}}],["project—that",{"_index":2730,"title":{},"content":{"587":{"position":[[86,12]]}},"keywords":{}}],["prolifer",{"_index":4604,"title":{},"content":{"937":{"position":[[3358,13]]}},"keywords":{}}],["prologu",{"_index":7499,"title":{},"content":{"1393":{"position":[[8768,8],[8870,8]]}},"keywords":{}}],["promis",{"_index":827,"title":{"117":{"position":[[0,7]]},"381":{"position":[[0,8]]},"533":{"position":[[0,7]]},"760":{"position":[[0,8]]},"1049":{"position":[[8,7]]}},"content":{"34":{"position":[[22,7],[43,7]]},"36":{"position":[[147,7]]},"37":{"position":[[65,7],[145,7]]},"38":{"position":[[21,7],[42,7]]},"84":{"position":[[94,7]]},"118":{"position":[[30,7],[53,8],[85,8],[112,9],[158,7],[185,7]]},"119":{"position":[[74,7],[91,8],[155,7]]},"181":{"position":[[147,7]]},"182":{"position":[[65,7],[145,7]]},"183":{"position":[[21,7],[42,7]]},"190":{"position":[[22,7],[43,7]]},"216":{"position":[[94,7]]},"306":{"position":[[49,8],[58,8],[77,7],[122,8],[512,7],[640,8]]},"381":{"position":[[0,8]]},"534":{"position":[[30,7],[53,8],[85,8],[112,9],[158,7],[185,7]]},"535":{"position":[[74,7],[91,8],[155,7]]},"711":{"position":[[466,7],[620,7],[664,7],[746,7],[868,8],[891,8],[911,8],[1076,7],[1108,7],[1173,9],[1215,7]]},"712":{"position":[[1409,7],[1454,7],[2458,7],[2555,7],[2754,8]]},"760":{"position":[[0,8]]},"837":{"position":[[352,8]]},"1042":{"position":[[564,7],[643,7]]},"1044":{"position":[[17,7],[95,7],[145,7],[204,7],[221,9],[303,7],[447,8],[726,8],[771,7],[810,7],[878,7],[940,9],[2570,7]]},"1047":{"position":[[513,8]]},"1049":{"position":[[41,8],[246,7],[574,7]]}},"keywords":{}}],["promise'",{"_index":3715,"title":{},"content":{"711":{"position":[[823,9]]}},"keywords":{}}],["promise.anon_targets(rul",{"_index":3710,"title":{},"content":{"711":{"position":[[305,27]]}},"keywords":{}}],["promise.join",{"_index":1311,"title":{"118":{"position":[[0,13]]},"534":{"position":[[0,13]]}},"content":{},"keywords":{}}],["promise.join(*arg",{"_index":1312,"title":{},"content":{"118":{"position":[[4,19]]},"534":{"position":[[4,19]]}},"keywords":{}}],["promise.map",{"_index":1318,"title":{"119":{"position":[[0,12]]},"535":{"position":[[0,12]]}},"content":{},"keywords":{}}],["promise.map(func",{"_index":1319,"title":{},"content":{"119":{"position":[[4,17]]},"535":{"position":[[4,17]]}},"keywords":{}}],["promise1",{"_index":3721,"title":{},"content":{"711":{"position":[[1465,8]]}},"keywords":{}}],["promise1.join(promise2",{"_index":3727,"title":{},"content":{"711":{"position":[[1625,23]]}},"keywords":{}}],["promise2",{"_index":3724,"title":{},"content":{"711":{"position":[[1530,8]]}},"keywords":{}}],["promise_result",{"_index":3769,"title":{},"content":{"712":{"position":[[2716,14]]}},"keywords":{}}],["prompt",{"_index":8033,"title":{},"content":{"1438":{"position":[[1809,7],[1953,7]]}},"keywords":{}}],["propag",{"_index":3675,"title":{"1015":{"position":[[14,12]]}},"content":{"706":{"position":[[1163,10]]},"720":{"position":[[332,10]]},"924":{"position":[[1452,9]]},"947":{"position":[[416,10]]},"955":{"position":[[502,11]]},"959":{"position":[[402,9]]},"988":{"position":[[123,10]]},"990":{"position":[[1267,11]]},"991":{"position":[[2842,9]]},"1015":{"position":[[103,10]]},"1086":{"position":[[100,11]]},"1351":{"position":[[3482,9]]},"1386":{"position":[[2871,10],[4681,9]]}},"keywords":{}}],["propagate_flavor",{"_index":7112,"title":{},"content":{"1377":{"position":[[587,18]]}},"keywords":{}}],["propagated_target_sdk_vers",{"_index":6761,"title":{},"content":{"1362":{"position":[[3808,30]]},"1363":{"position":[[2262,30]]},"1364":{"position":[[3738,30]]},"1367":{"position":[[5020,30]]}},"keywords":{}}],["proper",{"_index":5448,"title":{},"content":{"1061":{"position":[[18,6]]},"1247":{"position":[[466,6]]}},"keywords":{}}],["properli",{"_index":4808,"title":{},"content":{"966":{"position":[[234,8]]},"1033":{"position":[[127,9]]},"1233":{"position":[[326,9]]},"1241":{"position":[[274,9]]},"1243":{"position":[[380,8]]},"1362":{"position":[[6675,9]]}},"keywords":{}}],["properti",{"_index":1558,"title":{},"content":{"283":{"position":[[127,11]]},"362":{"position":[[1347,10]]},"446":{"position":[[542,8]]},"462":{"position":[[129,11]]},"693":{"position":[[1052,10],[3799,8]]},"741":{"position":[[1347,10]]},"825":{"position":[[542,8]]},"998":{"position":[[352,10]]},"1000":{"position":[[432,8]]},"1001":{"position":[[1050,10]]},"1107":{"position":[[91,10]]},"1346":{"position":[[596,11]]},"1355":{"position":[[6469,8],[6900,8]]},"1399":{"position":[[1772,8]]},"1427":{"position":[[6099,8]]},"1429":{"position":[[4229,9]]},"1438":{"position":[[486,11],[1544,11],[1572,11]]},"1440":{"position":[[4222,9]]},"1462":{"position":[[7667,8]]}},"keywords":{}}],["property_test",{"_index":7611,"title":{},"content":{"1398":{"position":[[862,15]]}},"keywords":{}}],["propos",{"_index":4476,"title":{"917":{"position":[[0,9]]},"920":{"position":[[0,8]]},"973":{"position":[[0,8]]},"981":{"position":[[0,9]]}},"content":{"920":{"position":[[193,7]]},"926":{"position":[[183,8]]},"929":{"position":[[129,8]]},"951":{"position":[[1456,8]]},"969":{"position":[[59,8]]},"970":{"position":[[267,9]]},"988":{"position":[[9,8]]},"998":{"position":[[331,8]]}},"keywords":{}}],["protect",{"_index":4486,"title":{},"content":{"919":{"position":[[657,10]]},"1461":{"position":[[2797,11]]}},"keywords":{}}],["protobuf",{"_index":5323,"title":{},"content":{"1053":{"position":[[278,8]]},"1125":{"position":[[95,8]]},"1126":{"position":[[822,8],[1115,8],[1408,8]]},"1127":{"position":[[489,8]]},"1219":{"position":[[289,9],[409,8]]}},"keywords":{}}],["protocol",{"_index":4082,"title":{},"content":{"873":{"position":[[146,9]]},"1219":{"position":[[240,8]]},"1221":{"position":[[204,8]]},"1224":{"position":[[31,8]]},"1422":{"position":[[3682,9]]},"1423":{"position":[[2453,9]]},"1486":{"position":[[1009,9]]}},"keywords":{}}],["provid",{"_index":193,"title":{"382":{"position":[[0,9]]},"427":{"position":[[0,9]]},"723":{"position":[[27,9]]},"761":{"position":[[0,9]]},"806":{"position":[[0,9]]},"852":{"position":[[8,9]]},"853":{"position":[[15,8]]},"963":{"position":[[8,10]]},"982":{"position":[[51,8]]},"1052":{"position":[[18,9]]},"1104":{"position":[[0,10]]},"1197":{"position":[[11,10]]}},"content":{"9":{"position":[[469,8],[2821,7]]},"11":{"position":[[113,8]]},"18":{"position":[[2148,7]]},"23":{"position":[[2320,9],[2702,8],[2945,8],[3206,7]]},"41":{"position":[[364,8]]},"76":{"position":[[39,8],[56,8]]},"79":{"position":[[201,9]]},"81":{"position":[[236,9],[294,10]]},"89":{"position":[[815,9]]},"99":{"position":[[452,9]]},"125":{"position":[[160,8]]},"129":{"position":[[29,10]]},"131":{"position":[[18,10],[463,9],[504,9]]},"134":{"position":[[23,10]]},"146":{"position":[[35,10]]},"148":{"position":[[28,10]]},"149":{"position":[[29,10]]},"153":{"position":[[48,8]]},"174":{"position":[[364,8]]},"213":{"position":[[236,9],[294,10]]},"221":{"position":[[815,9]]},"231":{"position":[[452,9]]},"234":{"position":[[47,9],[122,9],[282,9],[362,9]]},"237":{"position":[[439,8]]},"248":{"position":[[160,8]]},"252":{"position":[[29,10]]},"254":{"position":[[18,10],[463,9],[504,9]]},"257":{"position":[[23,10]]},"269":{"position":[[35,10]]},"271":{"position":[[28,10]]},"272":{"position":[[29,10]]},"294":{"position":[[912,9]]},"297":{"position":[[742,9],[898,8]]},"298":{"position":[[2571,8]]},"301":{"position":[[933,8]]},"310":{"position":[[333,9]]},"316":{"position":[[95,8]]},"317":{"position":[[96,8]]},"363":{"position":[[130,8],[456,8]]},"366":{"position":[[79,8],[165,8],[286,8]]},"367":{"position":[[109,8],[195,8],[312,8]]},"368":{"position":[[412,8],[2356,8],[2596,9],[2760,9]]},"372":{"position":[[157,8],[227,8]]},"373":{"position":[[141,8],[223,8]]},"374":{"position":[[281,8],[469,8],[1742,9]]},"375":{"position":[[83,8],[165,8]]},"377":{"position":[[386,8],[533,8]]},"379":{"position":[[90,8],[232,8]]},"382":{"position":[[0,9]]},"386":{"position":[[279,8],[380,8]]},"389":{"position":[[109,8],[546,10],[756,9],[1638,8]]},"396":{"position":[[79,8],[196,8],[317,8]]},"398":{"position":[[78,8],[187,8]]},"399":{"position":[[72,8],[190,8]]},"405":{"position":[[1394,8]]},"417":{"position":[[1067,9]]},"427":{"position":[[4,9],[493,8],[600,9]]},"428":{"position":[[121,8]]},"505":{"position":[[39,8],[56,8]]},"508":{"position":[[201,9]]},"537":{"position":[[48,8]]},"560":{"position":[[414,7]]},"566":{"position":[[309,8]]},"568":{"position":[[187,9]]},"574":{"position":[[138,8]]},"581":{"position":[[683,8]]},"582":{"position":[[387,8]]},"591":{"position":[[318,9]]},"648":{"position":[[712,9]]},"663":{"position":[[749,7]]},"673":{"position":[[200,8]]},"678":{"position":[[177,8]]},"679":{"position":[[169,8],[282,8],[355,7]]},"685":{"position":[[15,8],[159,8]]},"688":{"position":[[507,8]]},"689":{"position":[[28,8]]},"693":{"position":[[4885,7],[5190,8],[5323,7],[6456,9],[7208,9],[7510,10],[8177,9]]},"702":{"position":[[20,8]]},"712":{"position":[[1998,9],[2246,10]]},"722":{"position":[[599,10],[796,9],[993,9],[1075,9]]},"723":{"position":[[36,9]]},"724":{"position":[[39,9]]},"742":{"position":[[130,8],[456,8]]},"745":{"position":[[79,8],[165,8],[286,8]]},"746":{"position":[[109,8],[195,8],[312,8]]},"747":{"position":[[412,8],[2356,8],[2596,9],[2760,9]]},"751":{"position":[[157,8],[227,8]]},"752":{"position":[[141,8],[223,8]]},"753":{"position":[[281,8],[469,8],[1742,9]]},"754":{"position":[[83,8],[165,8]]},"756":{"position":[[386,8],[533,8]]},"758":{"position":[[90,8],[232,8]]},"761":{"position":[[0,9]]},"765":{"position":[[279,8],[380,8]]},"768":{"position":[[109,8],[546,10],[756,9],[1638,8]]},"775":{"position":[[79,8],[196,8],[317,8]]},"777":{"position":[[78,8],[187,8]]},"778":{"position":[[72,8],[190,8]]},"784":{"position":[[1394,8]]},"796":{"position":[[1067,9]]},"806":{"position":[[4,9],[493,8],[600,9]]},"807":{"position":[[121,8]]},"833":{"position":[[332,8]]},"844":{"position":[[133,7]]},"845":{"position":[[166,9],[260,10],[305,9],[357,9]]},"846":{"position":[[1934,9]]},"847":{"position":[[211,8]]},"848":{"position":[[565,10],[755,9]]},"851":{"position":[[1897,8]]},"852":{"position":[[42,9]]},"853":{"position":[[47,9],[112,8]]},"854":{"position":[[16,9],[118,8],[137,8]]},"855":{"position":[[211,9]]},"866":{"position":[[212,7]]},"869":{"position":[[387,10]]},"870":{"position":[[429,10]]},"872":{"position":[[736,9]]},"873":{"position":[[196,7]]},"874":{"position":[[121,10]]},"890":{"position":[[4447,8]]},"895":{"position":[[587,8]]},"900":{"position":[[1917,7],[2103,8]]},"901":{"position":[[705,7]]},"923":{"position":[[79,9],[175,7]]},"924":{"position":[[1518,7]]},"929":{"position":[[329,9]]},"939":{"position":[[1808,8]]},"954":{"position":[[601,7],[867,8]]},"955":{"position":[[611,9]]},"959":{"position":[[144,10],[289,7]]},"963":{"position":[[163,9]]},"972":{"position":[[90,9]]},"975":{"position":[[338,8]]},"976":{"position":[[164,7]]},"981":{"position":[[512,7]]},"983":{"position":[[42,9],[222,8],[282,9]]},"984":{"position":[[24,8],[141,8]]},"989":{"position":[[361,9]]},"991":{"position":[[996,9],[1267,8],[1367,9],[2375,9],[2514,9],[2574,9],[2856,9]]},"995":{"position":[[217,9]]},"997":{"position":[[265,8]]},"1000":{"position":[[365,8]]},"1004":{"position":[[381,8]]},"1006":{"position":[[417,10]]},"1009":{"position":[[591,10]]},"1011":{"position":[[20,7]]},"1014":{"position":[[30,8]]},"1017":{"position":[[200,8],[689,8]]},"1021":{"position":[[62,8]]},"1040":{"position":[[6,8]]},"1044":{"position":[[264,9],[493,9]]},"1047":{"position":[[350,9]]},"1048":{"position":[[1095,10]]},"1050":{"position":[[2141,8],[2302,8],[3197,8]]},"1052":{"position":[[5,8],[1568,8]]},"1053":{"position":[[508,9],[777,8],[926,9],[1024,8],[1218,8]]},"1054":{"position":[[44,9],[1187,9],[1517,9],[1661,9]]},"1056":{"position":[[515,8],[848,7],[1117,8],[1209,8],[1305,8]]},"1057":{"position":[[50,8]]},"1069":{"position":[[696,9],[706,8]]},"1070":{"position":[[1028,9]]},"1071":{"position":[[74,8],[1178,9]]},"1093":{"position":[[270,7]]},"1095":{"position":[[63,8]]},"1097":{"position":[[84,8]]},"1103":{"position":[[100,10],[1371,9],[1829,9],[2018,8]]},"1104":{"position":[[0,9],[186,9],[282,8],[385,8],[1438,10],[1500,8],[1707,9],[1924,10],[2191,8]]},"1105":{"position":[[1273,9],[1395,8]]},"1112":{"position":[[3431,8],[3507,8],[4255,8],[4683,8]]},"1118":{"position":[[49,7]]},"1120":{"position":[[22,8]]},"1133":{"position":[[610,7]]},"1136":{"position":[[4393,8]]},"1138":{"position":[[8055,8]]},"1140":{"position":[[6981,8]]},"1142":{"position":[[2425,8]]},"1146":{"position":[[2365,8]]},"1148":{"position":[[456,9],[630,9],[2755,9],[2774,9],[5405,8]]},"1155":{"position":[[710,9],[2461,8]]},"1156":{"position":[[2039,8]]},"1167":{"position":[[7985,8]]},"1169":{"position":[[1824,8]]},"1186":{"position":[[3629,8]]},"1187":{"position":[[3642,8]]},"1188":{"position":[[8368,8]]},"1190":{"position":[[596,9],[621,9]]},"1191":{"position":[[2229,8]]},"1192":{"position":[[2404,8]]},"1193":{"position":[[177,9],[2456,8]]},"1194":{"position":[[232,9],[2096,8]]},"1195":{"position":[[2074,8]]},"1196":{"position":[[1884,8]]},"1197":{"position":[[15,9],[73,9],[225,9],[259,9],[2867,8]]},"1198":{"position":[[2877,8]]},"1199":{"position":[[2905,8]]},"1200":{"position":[[2772,8]]},"1201":{"position":[[2032,8]]},"1202":{"position":[[3174,8],[7571,8]]},"1203":{"position":[[2266,8]]},"1204":{"position":[[2110,8]]},"1205":{"position":[[3439,8]]},"1206":{"position":[[1910,8]]},"1207":{"position":[[2067,8]]},"1209":{"position":[[3415,8]]},"1211":{"position":[[266,9]]},"1217":{"position":[[6726,8]]},"1219":{"position":[[2712,8]]},"1222":{"position":[[1836,8]]},"1223":{"position":[[1846,8]]},"1224":{"position":[[2026,8]]},"1226":{"position":[[7194,8]]},"1228":{"position":[[2017,8],[2127,8],[2545,8],[2655,8],[8807,8]]},"1235":{"position":[[4675,8]]},"1237":{"position":[[7364,8]]},"1285":{"position":[[80,8]]},"1286":{"position":[[39,8]]},"1348":{"position":[[3517,7]]},"1349":{"position":[[1662,7]]},"1350":{"position":[[4633,7]]},"1351":{"position":[[1860,7]]},"1352":{"position":[[4632,7]]},"1353":{"position":[[2236,7]]},"1354":{"position":[[2074,7]]},"1355":{"position":[[3220,7],[5088,8],[5363,8],[5476,8],[5563,8]]},"1356":{"position":[[1580,7]]},"1357":{"position":[[1253,7]]},"1358":{"position":[[1974,7],[2298,8]]},"1359":{"position":[[1811,7]]},"1360":{"position":[[2449,7],[2610,9],[2754,9],[5111,8]]},"1361":{"position":[[1801,7]]},"1362":{"position":[[6172,7]]},"1363":{"position":[[3918,7]]},"1364":{"position":[[6201,7]]},"1365":{"position":[[1735,7]]},"1366":{"position":[[1948,7]]},"1367":{"position":[[7599,7]]},"1368":{"position":[[2291,7]]},"1369":{"position":[[1343,7]]},"1370":{"position":[[1597,7]]},"1371":{"position":[[1219,7]]},"1372":{"position":[[2857,7]]},"1373":{"position":[[3729,7]]},"1374":{"position":[[1632,7],[2404,9]]},"1375":{"position":[[1255,7]]},"1376":{"position":[[1211,7]]},"1377":{"position":[[1450,7]]},"1378":{"position":[[1197,7]]},"1379":{"position":[[1220,7]]},"1380":{"position":[[1691,7]]},"1381":{"position":[[1597,7],[1735,8]]},"1382":{"position":[[4084,7]]},"1383":{"position":[[2322,7],[7219,8]]},"1384":{"position":[[4356,8],[5246,7],[18472,9]]},"1385":{"position":[[2916,7]]},"1386":{"position":[[1554,7]]},"1387":{"position":[[5185,7]]},"1388":{"position":[[4384,7]]},"1389":{"position":[[5238,7]]},"1390":{"position":[[1490,7]]},"1391":{"position":[[1443,7]]},"1392":{"position":[[745,7],[1593,7]]},"1393":{"position":[[2172,7],[2613,8]]},"1394":{"position":[[1613,7]]},"1395":{"position":[[1629,7]]},"1396":{"position":[[1419,7]]},"1397":{"position":[[1600,7]]},"1398":{"position":[[2279,7]]},"1399":{"position":[[1455,7]]},"1400":{"position":[[1324,7]]},"1401":{"position":[[543,8],[1399,7]]},"1402":{"position":[[1555,7]]},"1403":{"position":[[2152,7],[5268,8]]},"1404":{"position":[[1388,7]]},"1405":{"position":[[2079,7],[2860,9]]},"1406":{"position":[[1295,7]]},"1407":{"position":[[2120,7],[3281,9]]},"1408":{"position":[[1816,7]]},"1409":{"position":[[1350,7]]},"1410":{"position":[[2519,7],[3861,9]]},"1411":{"position":[[1333,7]]},"1412":{"position":[[2540,7]]},"1413":{"position":[[2717,7]]},"1414":{"position":[[1584,7]]},"1415":{"position":[[3566,7]]},"1416":{"position":[[2218,7]]},"1417":{"position":[[1807,7]]},"1418":{"position":[[1508,7]]},"1419":{"position":[[1636,7]]},"1420":{"position":[[1900,7]]},"1421":{"position":[[1875,7]]},"1422":{"position":[[1785,7],[2113,8],[2385,8]]},"1423":{"position":[[1767,7],[2055,8]]},"1424":{"position":[[1892,7]]},"1425":{"position":[[1508,7]]},"1426":{"position":[[1858,7],[2469,9],[2881,9]]},"1427":{"position":[[2755,7],[4402,8]]},"1428":{"position":[[1490,7]]},"1429":{"position":[[3419,7]]},"1430":{"position":[[2266,7]]},"1431":{"position":[[1610,7]]},"1432":{"position":[[2131,7]]},"1433":{"position":[[1652,7]]},"1434":{"position":[[1326,7]]},"1435":{"position":[[1290,7]]},"1436":{"position":[[1306,7]]},"1437":{"position":[[1376,7]]},"1438":{"position":[[1517,7]]},"1439":{"position":[[3041,7],[5068,7],[6901,8]]},"1440":{"position":[[3607,7]]},"1441":{"position":[[1332,7]]},"1442":{"position":[[1412,7]]},"1443":{"position":[[1627,7]]},"1444":{"position":[[1543,7]]},"1445":{"position":[[1232,7]]},"1446":{"position":[[1566,7],[2312,9]]},"1447":{"position":[[1448,7]]},"1448":{"position":[[1883,7]]},"1449":{"position":[[1817,7]]},"1450":{"position":[[1696,7]]},"1451":{"position":[[1696,7]]},"1452":{"position":[[1242,7]]},"1453":{"position":[[1828,7]]},"1454":{"position":[[2014,9],[3305,8],[4194,7]]},"1455":{"position":[[2081,7],[2983,8]]},"1456":{"position":[[1426,7],[1497,9]]},"1457":{"position":[[613,8],[1485,7]]},"1458":{"position":[[2020,7],[2428,8]]},"1459":{"position":[[1499,7]]},"1460":{"position":[[1611,7]]},"1461":{"position":[[1833,7]]},"1462":{"position":[[5207,7]]},"1463":{"position":[[1333,7]]},"1464":{"position":[[1241,7]]},"1465":{"position":[[2339,7]]},"1466":{"position":[[1577,7]]},"1467":{"position":[[5903,7],[8508,7]]},"1468":{"position":[[1341,7]]},"1469":{"position":[[1721,7],[1851,8]]},"1470":{"position":[[4243,7]]},"1471":{"position":[[2584,7],[4861,8]]},"1472":{"position":[[2543,7],[3812,8],[5445,8],[5788,9]]},"1473":{"position":[[2858,7],[5182,8]]},"1474":{"position":[[2242,7]]},"1475":{"position":[[2713,7]]},"1476":{"position":[[1318,7]]},"1477":{"position":[[1477,7],[3143,8]]},"1478":{"position":[[1968,7],[2634,9]]},"1479":{"position":[[1410,7]]},"1480":{"position":[[1823,7]]},"1481":{"position":[[2356,7]]},"1482":{"position":[[1430,7]]},"1483":{"position":[[1264,7]]},"1484":{"position":[[1336,7]]},"1485":{"position":[[1596,7]]},"1486":{"position":[[1840,7]]},"1487":{"position":[[1542,7]]}},"keywords":{}}],["provided_dep",{"_index":6554,"title":{},"content":{"1355":{"position":[[1652,14],[4336,13],[5023,14],[5173,13],[5255,13]]},"1412":{"position":[[1072,14],[3205,14]]},"1413":{"position":[[1218,14]]},"1427":{"position":[[1289,14],[3481,13],[4337,14],[4487,13],[4569,13]]},"1429":{"position":[[1523,14]]},"1430":{"position":[[1092,14]]},"1439":{"position":[[1525,14],[4155,13],[6836,14],[6986,13],[7068,13]]},"1440":{"position":[[1724,14]]},"1470":{"position":[[2008,14]]},"1474":{"position":[[1068,14]]},"1475":{"position":[[1214,14]]}},"keywords":{}}],["provided_deps_queri",{"_index":6555,"title":{},"content":{"1355":{"position":[[1682,20],[5307,20]]},"1470":{"position":[[2038,20]]}},"keywords":{}}],["provided_shared_lib",{"_index":8197,"title":{},"content":{"1455":{"position":[[764,21],[4975,20]]}},"keywords":{}}],["provider(field",{"_index":3730,"title":{},"content":{"712":{"position":[[76,15],[785,15]]},"1044":{"position":[[971,15],[1454,15],[1508,15]]},"1047":{"position":[[39,15]]},"1048":{"position":[[474,15]]},"1049":{"position":[[679,15]]},"1104":{"position":[[1737,17]]}},"keywords":{}}],["provider(fields=["bar"",{"_index":999,"title":{},"content":{"76":{"position":[[122,34]]},"505":{"position":[[122,34]]}},"keywords":{}}],["provider(fields=["links"",{"_index":5670,"title":{},"content":{"1104":{"position":[[2326,36]]}},"keywords":{}}],["provider_cal",{"_index":2295,"title":{},"content":{"427":{"position":[[110,17]]},"806":{"position":[[110,17]]}},"keywords":{}}],["provider_collect",{"_index":1400,"title":{"152":{"position":[[0,19]]},"536":{"position":[[0,19]]}},"content":{"234":{"position":[[80,19]]},"306":{"position":[[661,21]]},"368":{"position":[[2429,20]]},"747":{"position":[[2429,20]]}},"keywords":{}}],["provider_collection.get",{"_index":1401,"title":{"153":{"position":[[0,24]]},"537":{"position":[[0,24]]}},"content":{},"keywords":{}}],["provider_collection.get(index",{"_index":1402,"title":{},"content":{"153":{"position":[[4,30]]},"537":{"position":[[4,30]]}},"keywords":{}}],["provider_field",{"_index":2305,"title":{"428":{"position":[[0,15]]},"807":{"position":[[0,15]]}},"content":{"428":{"position":[[4,15]]},"807":{"position":[[4,15]]}},"keywords":{}}],["provider`",{"_index":1714,"title":{},"content":{"306":{"position":[[714,11]]}},"keywords":{}}],["providercal",{"_index":997,"title":{},"content":{"76":{"position":[[82,16]]},"505":{"position":[[82,16]]}},"keywords":{}}],["providercollect",{"_index":1989,"title":{"383":{"position":[[0,19]]},"762":{"position":[[0,19]]},"982":{"position":[[16,20]]}},"content":{"368":{"position":[[2474,20],[2688,19]]},"383":{"position":[[0,19]]},"722":{"position":[[280,19]]},"747":{"position":[[2474,20],[2688,19]]},"762":{"position":[[0,19]]},"883":{"position":[[0,20]]}},"keywords":{}}],["providerfield",{"_index":2307,"title":{},"content":{"428":{"position":[[50,13]]},"807":{"position":[[50,13]]}},"keywords":{}}],["providernam",{"_index":1990,"title":{},"content":{"368":{"position":[[2532,12]]},"747":{"position":[[2532,12]]}},"keywords":{}}],["providers),bxl.buildresult",{"_index":3904,"title":{},"content":{"848":{"position":[[453,26]]}},"keywords":{}}],["providers=[runinfo",{"_index":1969,"title":{},"content":{"368":{"position":[[1450,21],[1544,20]]},"747":{"position":[[1450,21],[1544,20]]}},"keywords":{}}],["providers[defaultinfo].default_output",{"_index":3760,"title":{},"content":{"712":{"position":[[1943,38]]}},"keywords":{}}],["providers[mirrorinfo].mirrored_attr",{"_index":3754,"title":{},"content":{"712":{"position":[[1635,36]]}},"keywords":{}}],["providers_label",{"_index":1403,"title":{"154":{"position":[[0,15]]},"538":{"position":[[0,15]]}},"content":{"166":{"position":[[78,15]]},"236":{"position":[[134,15],[342,15]]},"237":{"position":[[134,15],[342,15]]},"238":{"position":[[156,15],[364,15]]},"239":{"position":[[128,15],[336,15]]},"294":{"position":[[124,15],[284,15]]},"297":{"position":[[121,15],[281,15]]},"298":{"position":[[79,15],[165,15],[259,15],[345,15],[2305,19]]},"310":{"position":[[79,15],[165,15],[211,15],[239,16],[598,15]]},"548":{"position":[[78,15]]}},"keywords":{}}],["providers_label.cel",{"_index":1404,"title":{"155":{"position":[[0,21]]},"539":{"position":[[0,21]]}},"content":{"155":{"position":[[0,21]]},"539":{"position":[[0,21]]}},"keywords":{}}],["providers_label.nam",{"_index":1405,"title":{"156":{"position":[[0,21]]},"540":{"position":[[0,21]]}},"content":{"156":{"position":[[0,21]]},"540":{"position":[[0,21]]}},"keywords":{}}],["providers_label.path",{"_index":1406,"title":{"157":{"position":[[0,21]]},"541":{"position":[[0,21]]}},"content":{"157":{"position":[[0,21]]},"541":{"position":[[0,21]]}},"keywords":{}}],["providers_label.raw_target",{"_index":1407,"title":{"158":{"position":[[0,27]]},"542":{"position":[[0,27]]}},"content":{"158":{"position":[[4,28]]},"542":{"position":[[4,28]]}},"keywords":{}}],["providers_label.sub_target",{"_index":1408,"title":{"159":{"position":[[0,27]]},"543":{"position":[[0,27]]}},"content":{"159":{"position":[[0,27]]},"543":{"position":[[0,27]]}},"keywords":{}}],["providers_result",{"_index":1712,"title":{},"content":{"306":{"position":[[600,16]]}},"keywords":{}}],["providersconfigur",{"_index":5079,"title":{},"content":{"1025":{"position":[[345,23]]}},"keywords":{}}],["providerslabel",{"_index":1416,"title":{"384":{"position":[[0,15]]},"763":{"position":[[0,15]]}},"content":{"166":{"position":[[141,14]]},"368":{"position":[[2558,14]]},"384":{"position":[[0,15]]},"548":{"position":[[141,14]]},"747":{"position":[[2558,14]]},"763":{"position":[[0,15]]}},"keywords":{}}],["provis",{"_index":6874,"title":{},"content":{"1363":{"position":[[3066,12],[6278,12],[6300,12],[6692,12],[6714,12]]}},"keywords":{}}],["provisioning_profile_filt",{"_index":6863,"title":{},"content":{"1363":{"position":[[2309,28]]},"1367":{"position":[[5067,28]]},"1372":{"position":[[1753,28]]}},"keywords":{}}],["pseudo",{"_index":4155,"title":{},"content":{"888":{"position":[[243,6]]},"1026":{"position":[[1020,6]]}},"keywords":{}}],["pseudo(rc<dyn",{"_index":4345,"title":{},"content":{"898":{"position":[[2249,16]]}},"keywords":{}}],["pstr",{"_index":3284,"title":{"661":{"position":[[0,5]]}},"content":{},"keywords":{}}],["pstr(a",{"_index":3285,"title":{},"content":{"661":{"position":[[4,7]]}},"keywords":{}}],["public",{"_index":3691,"title":{},"content":{"708":{"position":[[153,10],[1143,12]]},"1355":{"position":[[3896,6]]},"1393":{"position":[[5173,6],[6087,6]]},"1402":{"position":[[2295,8]]},"1427":{"position":[[3041,6]]},"1439":{"position":[[3715,6]]},"1453":{"position":[[2021,8]]}},"keywords":{}}],["public_framework_head",{"_index":6925,"title":{},"content":{"1364":{"position":[[3785,25]]}},"keywords":{}}],["public_headers_symlinks_en",{"_index":7387,"title":{},"content":{"1389":{"position":[[3233,32]]}},"keywords":{}}],["public_include_directori",{"_index":6762,"title":{},"content":{"1362":{"position":[[3855,27]]},"1364":{"position":[[3843,27]]},"1367":{"position":[[5112,27]]},"1373":{"position":[[7799,26]]},"1382":{"position":[[10575,26]]},"1384":{"position":[[3497,27],[16842,27],[17649,26]]},"1387":{"position":[[3429,27]]},"1388":{"position":[[9068,26]]},"1454":{"position":[[2034,27]]},"1485":{"position":[[3440,26]]}},"keywords":{}}],["public_system_include_directori",{"_index":6763,"title":{},"content":{"1362":{"position":[[3898,34]]},"1364":{"position":[[3886,34]]},"1367":{"position":[[5155,34]]},"1384":{"position":[[3540,34],[17083,34]]},"1387":{"position":[[3472,34]]},"1454":{"position":[[2077,34]]}},"keywords":{}}],["publicli",{"_index":4827,"title":{},"content":{"972":{"position":[[68,8]]}},"keywords":{}}],["pull",{"_index":498,"title":{},"content":{"17":{"position":[[508,4]]},"18":{"position":[[282,4],[2005,4]]},"121":{"position":[[209,6]]},"368":{"position":[[1931,5]]},"530":{"position":[[209,6]]},"722":{"position":[[119,6]]},"747":{"position":[[1931,5]]},"919":{"position":[[520,7]]},"1098":{"position":[[221,4]]},"1351":{"position":[[5060,6]]},"1398":{"position":[[3193,6],[4052,6]]},"1462":{"position":[[6718,5]]},"1467":{"position":[[7833,5]]}},"keywords":{}}],["pulled.hidden",{"_index":2154,"title":{},"content":{"405":{"position":[[2010,13]]},"784":{"position":[[2010,13]]}},"keywords":{}}],["pulls_and_push",{"_index":4919,"title":{},"content":{"991":{"position":[[420,18]]}},"keywords":{}}],["pulls_and_pushes_plugin",{"_index":1322,"title":{},"content":{"121":{"position":[[55,25],[109,24]]},"131":{"position":[[106,25]]},"254":{"position":[[106,25]]},"530":{"position":[[55,25],[109,24]]},"990":{"position":[[1133,24]]}},"keywords":{}}],["pulls_plugin",{"_index":1356,"title":{},"content":{"131":{"position":[[60,14]]},"254":{"position":[[60,14]]},"990":{"position":[[939,13]]},"991":{"position":[[3463,13]]}},"keywords":{}}],["pure",{"_index":5504,"title":{},"content":{"1072":{"position":[[775,4],[1305,4]]}},"keywords":{}}],["purpos",{"_index":608,"title":{},"content":{"20":{"position":[[97,8]]},"23":{"position":[[2201,7]]},"632":{"position":[[136,8]]},"635":{"position":[[136,8]]},"973":{"position":[[179,9]]},"1458":{"position":[[2451,9]]}},"keywords":{}}],["purposes.use_system_library_load",{"_index":6619,"title":{},"content":{"1358":{"position":[[2321,35]]}},"keywords":{}}],["push",{"_index":1324,"title":{},"content":{"121":{"position":[[220,7]]},"530":{"position":[[220,7]]},"956":{"position":[[346,4],[426,4]]},"991":{"position":[[2733,4],[3322,6]]},"1057":{"position":[[1159,7]]}},"keywords":{}}],["put",{"_index":294,"title":{},"content":{"9":{"position":[[2578,7]]},"22":{"position":[[1599,3]]},"24":{"position":[[1149,4]]},"92":{"position":[[2342,7]]},"224":{"position":[[2342,7]]},"705":{"position":[[1110,3]]},"864":{"position":[[372,3]]},"870":{"position":[[930,3]]},"898":{"position":[[2050,7]]},"1226":{"position":[[3885,3],[4874,3]]},"1237":{"position":[[4055,3],[5044,3]]},"1446":{"position":[[1763,3],[2674,3]]}},"keywords":{}}],["py",{"_index":8090,"title":{},"content":{"1444":{"position":[[1975,3]]},"1462":{"position":[[9217,9]]},"1465":{"position":[[4097,5]]},"1467":{"position":[[4999,3],[10290,5],[10886,3]]}},"keywords":{}}],["py2.7",{"_index":8284,"title":{},"content":{"1461":{"position":[[3929,5],[4052,5]]}},"keywords":{}}],["py2.py3",{"_index":8276,"title":{},"content":{"1461":{"position":[[3559,7],[3676,7]]}},"keywords":{}}],["py3.10",{"_index":4863,"title":{},"content":{"980":{"position":[[1604,7]]}},"keywords":{}}],["py3.8",{"_index":4862,"title":{},"content":{"980":{"position":[[1537,5]]}},"keywords":{}}],["py_version_for_type_check",{"_index":8307,"title":{},"content":{"1462":{"position":[[3695,29]]},"1465":{"position":[[958,29]]},"1467":{"position":[[3964,29],[10128,29]]}},"keywords":{}}],["pypi",{"_index":8267,"title":{},"content":{"1461":{"position":[[3010,5]]}},"keywords":{}}],["python",{"_index":25,"title":{},"content":{"3":{"position":[[200,8]]},"17":{"position":[[236,7]]},"18":{"position":[[1038,7]]},"20":{"position":[[139,7],[400,8]]},"22":{"position":[[101,7],[1643,6],[2063,6]]},"92":{"position":[[1278,6]]},"224":{"position":[[1278,6]]},"575":{"position":[[323,7]]},"591":{"position":[[740,6]]},"693":{"position":[[1919,7],[7768,6]]},"706":{"position":[[199,6],[247,6],[1034,6]]},"715":{"position":[[112,7]]},"717":{"position":[[119,7]]},"870":{"position":[[1349,7]]},"890":{"position":[[5623,9]]},"900":{"position":[[1756,7]]},"947":{"position":[[690,6],[863,6],[926,6]]},"956":{"position":[[93,6]]},"958":{"position":[[18,6]]},"980":{"position":[[1559,6]]},"1040":{"position":[[1704,6]]},"1105":{"position":[[2296,6],[2312,6],[2483,6],[2547,6]]},"1245":{"position":[[496,6]]},"1387":{"position":[[4264,6],[10589,6]]},"1403":{"position":[[7380,6]]},"1461":{"position":[[918,6],[3234,6]]},"1462":{"position":[[4294,6],[4323,6],[5882,6],[6835,6],[6997,6],[7451,6],[7998,6],[8206,6],[8763,6],[8921,6]]},"1465":{"position":[[1434,6],[3129,6],[3448,6],[3542,6],[3857,6],[4054,6],[4090,6],[4254,6],[4334,6],[4504,6]]},"1467":{"position":[[5043,6],[7966,6],[9058,6],[9268,6],[9398,6],[9717,6],[10246,6],[10283,6]]}},"keywords":{}}],["python/android:basic_to_ful",{"_index":7691,"title":{},"content":{"1403":{"position":[[7701,31],[7793,31],[8008,31],[8120,31]]}},"keywords":{}}],["python_binari",{"_index":4661,"title":{"1462":{"position":[[0,14]]}},"content":{"941":{"position":[[149,14]]},"943":{"position":[[717,14]]},"947":{"position":[[773,13],[821,13]]},"1245":{"position":[[541,13]]},"1461":{"position":[[965,15]]},"1462":{"position":[[4,14],[4242,15],[8965,14]]}},"keywords":{}}],["python_bootstrap_binari",{"_index":8344,"title":{"1463":{"position":[[0,24]]}},"content":{"1463":{"position":[[4,24]]}},"keywords":{}}],["python_bootstrap_librari",{"_index":8347,"title":{"1464":{"position":[[0,25]]}},"content":{"1464":{"position":[[4,25]]}},"keywords":{}}],["python_librari",{"_index":6185,"title":{"1465":{"position":[[0,15]]}},"content":{"1245":{"position":[[387,14]]},"1387":{"position":[[10801,15]]},"1461":{"position":[[2127,14]]},"1462":{"position":[[5846,16],[7549,14],[9051,15]]},"1465":{"position":[[4,15],[1386,16],[2594,16],[4347,15],[4656,15]]},"1467":{"position":[[11184,15]]}},"keywords":{}}],["python_needed_coverage_test",{"_index":8363,"title":{"1466":{"position":[[0,28]]}},"content":{"1466":{"position":[[4,28]]}},"keywords":{}}],["python_platform",{"_index":8083,"title":{},"content":{"1443":{"position":[[650,16]]}},"keywords":{}}],["python_test",{"_index":8262,"title":{"1467":{"position":[[0,12]]}},"content":{"1461":{"position":[[984,13]]},"1467":{"position":[[4,12],[4963,13],[10913,12]]}},"keywords":{}}],["python_test_runn",{"_index":8372,"title":{"1468":{"position":[[0,19]]}},"content":{"1468":{"position":[[4,19]]}},"keywords":{}}],["q&aworkplac",{"_index":7471,"title":{},"content":{"1393":{"position":[[4617,16]]}},"keywords":{}}],["qcstd",{"_index":4315,"title":{},"content":{"896":{"position":[[224,5],[588,5]]}},"keywords":{}}],["qualifi",{"_index":1564,"title":{},"content":{"284":{"position":[[104,9]]},"334":{"position":[[681,9]]},"463":{"position":[[58,9]]},"474":{"position":[[420,9]]},"675":{"position":[[192,9]]},"699":{"position":[[152,9]]},"1202":{"position":[[139,9],[1206,9]]},"1226":{"position":[[306,9]]},"1237":{"position":[[476,9]]},"1269":{"position":[[73,9]]},"1300":{"position":[[73,9]]},"1328":{"position":[[73,9]]},"1427":{"position":[[7957,9]]},"1439":{"position":[[8781,9]]},"1462":{"position":[[7095,9]]},"1467":{"position":[[8064,9]]}},"keywords":{}}],["queri",{"_index":358,"title":{"846":{"position":[[0,6]]},"1131":{"position":[[74,7]]},"1132":{"position":[[19,5]]},"1199":{"position":[[20,8]]},"1208":{"position":[[0,5]]},"1209":{"position":[[5,6]]},"1258":{"position":[[0,5]]},"1259":{"position":[[7,5]]},"1268":{"position":[[65,6]]},"1285":{"position":[[0,5]]},"1289":{"position":[[0,5]]},"1290":{"position":[[7,5]]},"1299":{"position":[[65,6]]},"1317":{"position":[[0,5]]},"1318":{"position":[[7,5]]},"1327":{"position":[[65,6]]}},"content":{"11":{"position":[[153,7]]},"22":{"position":[[1120,7],[1259,7]]},"204":{"position":[[91,5]]},"205":{"position":[[107,5]]},"206":{"position":[[75,5]]},"207":{"position":[[60,5]]},"238":{"position":[[437,5]]},"239":{"position":[[456,5]]},"240":{"position":[[28,6],[115,5]]},"242":{"position":[[130,5],[264,6],[414,5]]},"324":{"position":[[548,5]]},"325":{"position":[[337,5]]},"326":{"position":[[352,5]]},"328":{"position":[[356,5]]},"329":{"position":[[28,6],[175,5]]},"330":{"position":[[318,5]]},"331":{"position":[[304,5]]},"332":{"position":[[314,5]]},"333":{"position":[[339,5]]},"334":{"position":[[372,5]]},"335":{"position":[[564,5]]},"337":{"position":[[308,5]]},"338":{"position":[[337,5]]},"362":{"position":[[1303,5]]},"465":{"position":[[310,5]]},"466":{"position":[[218,5]]},"467":{"position":[[233,5]]},"469":{"position":[[237,5]]},"470":{"position":[[28,6],[115,5]]},"471":{"position":[[199,5]]},"472":{"position":[[185,5]]},"473":{"position":[[195,5]]},"474":{"position":[[111,5]]},"475":{"position":[[326,5]]},"476":{"position":[[311,6]]},"478":{"position":[[189,5]]},"693":{"position":[[772,7],[2031,5],[9840,5],[10207,7]]},"704":{"position":[[854,7],[1825,7],[2375,8]]},"705":{"position":[[253,8],[612,7]]},"741":{"position":[[1303,5]]},"837":{"position":[[136,8]]},"840":{"position":[[1319,8]]},"846":{"position":[[34,5],[47,8],[174,7],[373,7],[413,7],[511,7],[612,6],[638,5],[669,5],[743,5],[794,5],[833,5],[1094,5],[1249,8],[1575,8],[1735,5],[1823,5]]},"869":{"position":[[152,8]]},"870":{"position":[[560,5]]},"876":{"position":[[158,7]]},"879":{"position":[[186,7]]},"890":{"position":[[2103,7]]},"904":{"position":[[248,6],[345,5],[615,6],[703,5],[1235,5],[1322,5],[1531,5]]},"906":{"position":[[10,6],[449,6]]},"919":{"position":[[2426,5],[2539,9],[2615,9]]},"950":{"position":[[622,8],[710,5]]},"954":{"position":[[198,8]]},"956":{"position":[[50,7]]},"962":{"position":[[13,5],[75,5]]},"970":{"position":[[108,5]]},"995":{"position":[[626,9]]},"1009":{"position":[[61,5]]},"1131":{"position":[[414,5],[690,5]]},"1132":{"position":[[98,5],[322,5]]},"1136":{"position":[[8,7],[882,5],[945,5]]},"1138":{"position":[[2875,7]]},"1140":{"position":[[2364,7]]},"1148":{"position":[[8,7],[1238,5],[1301,5],[2791,5],[7203,5]]},"1167":{"position":[[3368,7]]},"1172":{"position":[[1327,7]]},"1173":{"position":[[627,7]]},"1188":{"position":[[2417,7]]},"1190":{"position":[[20,7],[96,5],[693,7],[731,5],[1113,5]]},"1191":{"position":[[0,5],[162,6],[386,5]]},"1199":{"position":[[30,5],[78,7],[175,5],[333,7]]},"1203":{"position":[[172,5]]},"1205":{"position":[[0,5]]},"1209":{"position":[[40,5],[115,5],[178,5]]},"1213":{"position":[[7,6]]},"1217":{"position":[[2109,7]]},"1228":{"position":[[4190,7]]},"1235":{"position":[[8,7],[245,8],[327,7],[386,8],[1375,5],[1438,5]]},"1258":{"position":[[399,7],[435,7],[950,5],[976,5],[1275,5]]},"1259":{"position":[[765,6],[1228,5],[1594,5],[1619,5],[1692,5],[1717,5],[1788,5],[1813,5],[1893,5],[1918,5],[1994,5],[2019,5]]},"1260":{"position":[[218,5],[519,5],[832,5]]},"1262":{"position":[[677,5]]},"1271":{"position":[[228,5]]},"1272":{"position":[[62,5]]},"1273":{"position":[[262,5]]},"1277":{"position":[[42,5],[67,5]]},"1278":{"position":[[42,5],[67,5]]},"1279":{"position":[[42,5],[67,5]]},"1280":{"position":[[42,5],[67,5]]},"1281":{"position":[[42,5],[67,5]]},"1289":{"position":[[399,7],[435,7],[950,5],[976,5],[1275,5]]},"1290":{"position":[[765,6],[1228,5],[1594,5],[1619,5],[1692,5],[1717,5],[1788,5],[1813,5],[1893,5],[1918,5],[1994,5],[2019,5]]},"1291":{"position":[[218,5],[519,5],[832,5]]},"1293":{"position":[[677,5]]},"1302":{"position":[[228,5]]},"1303":{"position":[[62,5]]},"1304":{"position":[[262,5]]},"1308":{"position":[[42,5],[67,5]]},"1309":{"position":[[42,5],[67,5]]},"1310":{"position":[[42,5],[67,5]]},"1311":{"position":[[42,5],[67,5]]},"1312":{"position":[[42,5],[67,5]]},"1317":{"position":[[399,7],[435,7],[950,5],[976,5],[1275,5]]},"1318":{"position":[[765,6],[1228,5],[1594,5],[1619,5],[1692,5],[1717,5],[1788,5],[1813,5],[1893,5],[1918,5],[1994,5],[2019,5]]},"1319":{"position":[[218,5],[519,5],[832,5]]},"1321":{"position":[[677,5]]},"1330":{"position":[[228,5]]},"1331":{"position":[[62,5]]},"1332":{"position":[[262,5]]},"1336":{"position":[[42,5],[67,5]]},"1337":{"position":[[42,5],[67,5]]},"1338":{"position":[[42,5],[67,5]]},"1339":{"position":[[42,5],[67,5]]},"1340":{"position":[[42,5],[67,5]]},"1355":{"position":[[5377,5],[5421,6],[5528,5]]},"1382":{"position":[[4501,5],[4515,5],[4555,5],[4602,5],[5071,8],[5304,5]]},"1383":{"position":[[8066,5],[8085,5]]},"1387":{"position":[[6624,7]]},"1388":{"position":[[5195,5],[5209,5],[5249,5],[5296,5],[5765,8],[5998,5]]},"1403":{"position":[[7166,5],[7185,5]]},"1439":{"position":[[6826,7]]},"1442":{"position":[[1491,5],[1505,5],[1545,5],[1592,5],[2061,8],[2294,5]]},"1461":{"position":[[2641,7]]},"1462":{"position":[[6128,7]]},"1465":{"position":[[3100,7]]},"1467":{"position":[[7240,7]]},"1468":{"position":[[1518,7]]}},"keywords":{}}],["query/buck",{"_index":4766,"title":{},"content":{"958":{"position":[[44,10]]}},"keywords":{}}],["query/uqueri",{"_index":5953,"title":{},"content":{"1154":{"position":[[259,12]]},"1157":{"position":[[24,12]]}},"keywords":{}}],["query_arg",{"_index":1479,"title":{},"content":{"240":{"position":[[40,11],[129,10],[275,10]]},"329":{"position":[[40,11],[189,10],[335,10],[583,10]]},"470":{"position":[[40,11],[129,10],[275,10],[528,10]]},"1136":{"position":[[837,15],[900,15]]},"1148":{"position":[[1193,15],[1256,15]]},"1209":{"position":[[70,15],[133,15]]},"1235":{"position":[[1330,15],[1393,15]]}},"keywords":{}}],["query_output",{"_index":5837,"title":{},"content":{"1132":{"position":[[171,15]]}},"keywords":{}}],["query_param",{"_index":4098,"title":{},"content":{"878":{"position":[[363,12],[1408,15]]}},"keywords":{}}],["query_target",{"_index":5835,"title":{},"content":{"1132":{"position":[[120,15]]}},"keywords":{}}],["query_targets_and_output",{"_index":5838,"title":{},"content":{"1132":{"position":[[222,27]]}},"keywords":{}}],["question",{"_index":2706,"title":{},"content":{"584":{"position":[[1081,8]]}},"keywords":{}}],["questions.us",{"_index":84,"title":{},"content":{"5":{"position":[[124,15]]}},"keywords":{}}],["queu",{"_index":5331,"title":{},"content":{"1053":{"position":[[1343,8]]}},"keywords":{}}],["queue",{"_index":1902,"title":{},"content":{"362":{"position":[[1869,5]]},"741":{"position":[[1869,5]]}},"keywords":{}}],["quickli",{"_index":180,"title":{},"content":{"9":{"position":[[270,7]]},"12":{"position":[[255,7]]},"689":{"position":[[180,7]]},"1228":{"position":[[1436,7]]}},"keywords":{}}],["quickly.src",{"_index":7133,"title":{},"content":{"1381":{"position":[[2408,13]]}},"keywords":{}}],["quickstack",{"_index":6093,"title":{},"content":{"1231":{"position":[[186,11],[207,10]]}},"keywords":{}}],["quiet",{"_index":2387,"title":{},"content":{"446":{"position":[[51,6]]},"825":{"position":[[51,6]]},"1136":{"position":[[6125,6]]},"1138":{"position":[[9787,6]]},"1140":{"position":[[8713,6]]},"1142":{"position":[[4157,6]]},"1144":{"position":[[485,6]]},"1146":{"position":[[4097,6]]},"1148":{"position":[[7688,6]]},"1150":{"position":[[720,6]]},"1152":{"position":[[418,6]]},"1154":{"position":[[573,6]]},"1155":{"position":[[4193,6]]},"1156":{"position":[[3771,6]]},"1157":{"position":[[356,6]]},"1158":{"position":[[350,6]]},"1159":{"position":[[350,6]]},"1161":{"position":[[1345,6]]},"1163":{"position":[[731,6]]},"1165":{"position":[[560,6]]},"1167":{"position":[[9717,6]]},"1169":{"position":[[2825,6]]},"1171":{"position":[[1066,6]]},"1172":{"position":[[2451,6]]},"1173":{"position":[[1138,6]]},"1174":{"position":[[566,6]]},"1175":{"position":[[562,6]]},"1176":{"position":[[731,6]]},"1177":{"position":[[652,6]]},"1178":{"position":[[969,6]]},"1179":{"position":[[766,6]]},"1180":{"position":[[1037,6]]},"1181":{"position":[[1557,6]]},"1182":{"position":[[600,6]]},"1183":{"position":[[555,6]]},"1185":{"position":[[400,6]]},"1186":{"position":[[5361,6]]},"1187":{"position":[[5374,6]]},"1188":{"position":[[10100,6]]},"1190":{"position":[[1731,6]]},"1191":{"position":[[3961,6]]},"1192":{"position":[[4136,6]]},"1193":{"position":[[4188,6]]},"1194":{"position":[[3828,6]]},"1195":{"position":[[3806,6]]},"1196":{"position":[[3616,6]]},"1197":{"position":[[189,5],[4599,6]]},"1198":{"position":[[4609,6]]},"1199":{"position":[[4637,6]]},"1200":{"position":[[4504,6]]},"1201":{"position":[[3764,6]]},"1202":{"position":[[508,6],[4906,6],[9303,6]]},"1203":{"position":[[3998,6]]},"1204":{"position":[[3842,6],[4744,6],[5674,6],[6576,6],[7562,6],[8516,6],[9463,6],[10393,6]]},"1205":{"position":[[5171,6]]},"1206":{"position":[[3870,6]]},"1207":{"position":[[3799,6]]},"1209":{"position":[[5147,6]]},"1211":{"position":[[471,6]]},"1213":{"position":[[242,6]]},"1215":{"position":[[326,6]]},"1217":{"position":[[8458,6]]},"1219":{"position":[[3713,6]]},"1221":{"position":[[445,6]]},"1222":{"position":[[3584,6]]},"1223":{"position":[[3594,6]]},"1224":{"position":[[3027,6]]},"1226":{"position":[[8926,6]]},"1228":{"position":[[10539,6]]},"1235":{"position":[[6407,6]]},"1237":{"position":[[9096,6]]}},"keywords":{}}],["quirk",{"_index":6509,"title":{},"content":{"1353":{"position":[[2544,5]]}},"keywords":{}}],["quit",{"_index":796,"title":{},"content":{"24":{"position":[[920,5]]},"92":{"position":[[1900,5]]},"224":{"position":[[1900,5]]},"406":{"position":[[669,5]]},"785":{"position":[[669,5]]},"846":{"position":[[1769,5]]},"912":{"position":[[38,5]]},"924":{"position":[[1289,5]]},"1040":{"position":[[2002,5]]},"1127":{"position":[[533,5]]}},"keywords":{}}],["quot",{"_index":171,"title":{},"content":{"9":{"position":[[118,8]]},"69":{"position":[[576,10]]},"89":{"position":[[386,6],[413,6]]},"221":{"position":[[386,6],[413,6]]},"346":{"position":[[45,6],[52,7],[301,6],[308,7]]},"368":{"position":[[747,6],[852,6],[889,6],[949,6]]},"405":{"position":[[568,6],[1841,7]]},"406":{"position":[[369,6],[452,6]]},"408":{"position":[[1114,9]]},"446":{"position":[[577,6]]},"457":{"position":[[576,10]]},"576":{"position":[[232,5]]},"577":{"position":[[564,7],[679,6]]},"592":{"position":[[421,6],[428,7]]},"601":{"position":[[192,6]]},"604":{"position":[[314,7],[354,7],[410,7]]},"606":{"position":[[238,6],[282,6],[326,7],[349,6]]},"607":{"position":[[129,6],[136,7]]},"608":{"position":[[318,7]]},"609":{"position":[[332,6]]},"615":{"position":[[239,6],[271,6],[290,6],[338,6]]},"616":{"position":[[1007,7]]},"619":{"position":[[187,6]]},"664":{"position":[[103,7],[338,10]]},"668":{"position":[[242,7]]},"747":{"position":[[747,6],[852,6],[889,6],[949,6]]},"784":{"position":[[568,6],[1841,7]]},"785":{"position":[[369,6],[452,6]]},"787":{"position":[[1114,9]]},"825":{"position":[[577,6]]},"1031":{"position":[[895,6],[927,6],[944,6],[978,6]]},"1040":{"position":[[2252,6],[2516,6]]},"1048":{"position":[[676,6],[1173,6]]},"1050":{"position":[[2664,6],[3937,6],[3979,6]]},"1082":{"position":[[779,6]]},"1103":{"position":[[307,6]]},"1130":{"position":[[267,7]]},"1136":{"position":[[6441,6]]},"1138":{"position":[[10103,6]]},"1140":{"position":[[9029,6]]},"1142":{"position":[[4473,6]]},"1144":{"position":[[801,6]]},"1146":{"position":[[4413,6]]},"1148":{"position":[[1061,8],[8004,6]]},"1150":{"position":[[1036,6]]},"1152":{"position":[[734,6]]},"1154":{"position":[[889,6]]},"1155":{"position":[[4509,6]]},"1156":{"position":[[4087,6]]},"1157":{"position":[[672,6]]},"1158":{"position":[[666,6]]},"1159":{"position":[[666,6]]},"1161":{"position":[[1661,6]]},"1163":{"position":[[1047,6]]},"1165":{"position":[[876,6]]},"1167":{"position":[[10033,6]]},"1169":{"position":[[3141,6]]},"1171":{"position":[[1382,6]]},"1172":{"position":[[820,7],[2767,6]]},"1173":{"position":[[1454,6]]},"1174":{"position":[[882,6]]},"1175":{"position":[[878,6]]},"1176":{"position":[[1047,6]]},"1177":{"position":[[968,6]]},"1178":{"position":[[1285,6]]},"1179":{"position":[[1082,6]]},"1180":{"position":[[1353,6]]},"1181":{"position":[[1873,6]]},"1182":{"position":[[916,6]]},"1183":{"position":[[871,6]]},"1185":{"position":[[716,6]]},"1186":{"position":[[5677,6]]},"1187":{"position":[[5690,6]]},"1188":{"position":[[10416,6]]},"1190":{"position":[[2047,6]]},"1191":{"position":[[4277,6]]},"1192":{"position":[[4452,6]]},"1193":{"position":[[4504,6]]},"1194":{"position":[[4144,6]]},"1195":{"position":[[4122,6]]},"1196":{"position":[[3932,6]]},"1197":{"position":[[4915,6]]},"1198":{"position":[[4925,6]]},"1199":{"position":[[4953,6]]},"1200":{"position":[[4820,6]]},"1201":{"position":[[4080,6]]},"1202":{"position":[[824,6],[5222,6],[9619,6]]},"1203":{"position":[[4314,6]]},"1204":{"position":[[4158,6],[5060,6],[5990,6],[6892,6],[7878,6],[8832,6],[9779,6],[10709,6]]},"1205":{"position":[[5487,6]]},"1206":{"position":[[4186,6]]},"1207":{"position":[[4115,6]]},"1209":{"position":[[5463,6]]},"1211":{"position":[[787,6]]},"1213":{"position":[[558,6]]},"1215":{"position":[[642,6]]},"1217":{"position":[[8774,6]]},"1219":{"position":[[4029,6]]},"1221":{"position":[[761,6]]},"1222":{"position":[[3900,6]]},"1223":{"position":[[3910,6]]},"1224":{"position":[[3343,6]]},"1226":{"position":[[9242,6]]},"1228":{"position":[[10855,6]]},"1235":{"position":[[853,8],[6723,6]]},"1237":{"position":[[9412,6]]},"1262":{"position":[[719,14]]},"1293":{"position":[[719,14]]},"1321":{"position":[[719,14]]},"1362":{"position":[[7615,6],[9631,6]]},"1363":{"position":[[7744,7]]},"1364":{"position":[[7854,6],[10745,6]]},"1367":{"position":[[9719,6]]},"1383":{"position":[[8133,7]]},"1403":{"position":[[7233,7]]},"1407":{"position":[[4721,7],[5106,6]]},"1478":{"position":[[2915,7],[3017,7],[3171,6]]}},"keywords":{}}],["quot;$(loc",{"_index":7093,"title":{},"content":{"1374":{"position":[[3153,16]]}},"keywords":{}}],["quot;$arg"",{"_index":8480,"title":{},"content":{"1478":{"position":[[3151,16]]}},"keywords":{}}],["quot;$header_name"",{"_index":6790,"title":{},"content":{"1362":{"position":[[7221,25],[7456,25],[9237,25],[9472,25]]},"1364":{"position":[[7460,25],[7695,25],[10351,25],[10586,25]]},"1367":{"position":[[9325,25],[9560,25]]}},"keywords":{}}],["quot;$header_namespace/$header_name"",{"_index":7050,"title":{},"content":{"1373":{"position":[[4841,42]]},"1382":{"position":[[5911,42]]},"1384":{"position":[[6424,42],[10858,42]]},"1385":{"position":[[3824,42]]},"1387":{"position":[[6157,42]]},"1388":{"position":[[6780,42]]},"1454":{"position":[[5128,42]]},"1485":{"position":[[2192,42]]}},"keywords":{}}],["quot;$header_path_prefix/$header_name"",{"_index":6789,"title":{},"content":{"1362":{"position":[[7093,44],[9181,44]]},"1364":{"position":[[7332,44],[10295,44]]},"1367":{"position":[[9269,44]]}},"keywords":{}}],["quot;$root/"",{"_index":2181,"title":{},"content":{"408":{"position":[[292,19]]},"787":{"position":[[292,19]]}},"keywords":{}}],["quot;<command",{"_index":5994,"title":{},"content":{"1172":{"position":[[2011,17]]}},"keywords":{}}],["quot;<stderr",{"_index":5996,"title":{},"content":{"1172":{"position":[[2114,16]]}},"keywords":{}}],["quot;<transit",{"_index":5007,"title":{},"content":{"1004":{"position":[[1765,22]]}},"keywords":{}}],["quot;"",{"_index":883,"title":{},"content":{"47":{"position":[[139,12]]},"125":{"position":[[28,13]]},"126":{"position":[[62,13]]},"127":{"position":[[42,13]]},"128":{"position":[[44,13]]},"129":{"position":[[95,12]]},"130":{"position":[[59,12]]},"131":{"position":[[200,12]]},"132":{"position":[[99,12]]},"133":{"position":[[85,12]]},"134":{"position":[[89,12]]},"135":{"position":[[41,13]]},"136":{"position":[[43,13]]},"137":{"position":[[64,12]]},"138":{"position":[[96,12]]},"139":{"position":[[59,13]]},"140":{"position":[[66,12]]},"141":{"position":[[55,12]]},"142":{"position":[[30,13]]},"143":{"position":[[43,13]]},"144":{"position":[[90,12]]},"145":{"position":[[76,12]]},"146":{"position":[[106,12]]},"147":{"position":[[59,12]]},"148":{"position":[[94,12]]},"149":{"position":[[100,12]]},"150":{"position":[[58,13]]},"151":{"position":[[57,13]]},"194":{"position":[[139,12]]},"248":{"position":[[28,13]]},"249":{"position":[[62,13]]},"250":{"position":[[42,13]]},"251":{"position":[[44,13]]},"252":{"position":[[95,12]]},"253":{"position":[[59,12]]},"254":{"position":[[200,12]]},"255":{"position":[[99,12]]},"256":{"position":[[85,12]]},"257":{"position":[[89,12]]},"258":{"position":[[41,13]]},"259":{"position":[[43,13]]},"260":{"position":[[64,12]]},"261":{"position":[[96,12]]},"262":{"position":[[59,13]]},"263":{"position":[[66,12]]},"264":{"position":[[55,12]]},"265":{"position":[[30,13]]},"266":{"position":[[43,13]]},"267":{"position":[[90,12]]},"268":{"position":[[76,12]]},"269":{"position":[[106,12]]},"270":{"position":[[59,12]]},"271":{"position":[[94,12]]},"272":{"position":[[100,12]]},"273":{"position":[[58,13]]},"274":{"position":[[57,13]]},"400":{"position":[[113,13]]},"403":{"position":[[85,12]]},"427":{"position":[[28,13]]},"437":{"position":[[117,13]]},"589":{"position":[[358,12]]},"604":{"position":[[341,12]]},"607":{"position":[[345,13],[359,14],[608,13],[622,13]]},"608":{"position":[[481,12]]},"609":{"position":[[479,12]]},"613":{"position":[[355,14],[370,13]]},"616":{"position":[[1053,13]]},"617":{"position":[[544,13]]},"645":{"position":[[500,13]]},"664":{"position":[[388,18]]},"779":{"position":[[113,13]]},"782":{"position":[[85,12]]},"806":{"position":[[28,13]]},"816":{"position":[[117,13]]},"1001":{"position":[[99,13]]},"1064":{"position":[[64,13]]},"1112":{"position":[[2282,14]]}},"keywords":{}}],["quot;".capit",{"_index":2744,"title":{},"content":{"589":{"position":[[329,25]]}},"keywords":{}}],["quot;".isalpha",{"_index":2855,"title":{},"content":{"598":{"position":[[261,22]]}},"keywords":{}}],["quot;".isdigit",{"_index":2860,"title":{},"content":{"599":{"position":[[259,22]]}},"keywords":{}}],["quot;".isspac",{"_index":2871,"title":{},"content":{"601":{"position":[[261,22]]}},"keywords":{}}],["quot;".replace(""",{"_index":2941,"title":{},"content":{"610":{"position":[[774,34]]}},"keywords":{}}],["quot;"som",{"_index":7524,"title":{},"content":{"1393":{"position":[[10531,16]]}},"keywords":{}}],["quot;'"",{"_index":3324,"title":{},"content":{"664":{"position":[[254,15]]}},"keywords":{}}],["quot;'\\""",{"_index":3326,"title":{},"content":{"664":{"position":[[291,23]]}},"keywords":{}}],["quot;(on",{"_index":2833,"title":{},"content":{"595":{"position":[[1646,11]]}},"keywords":{}}],["quot;({1",{"_index":2831,"title":{},"content":{"595":{"position":[[1578,11]]}},"keywords":{}}],["quot;)"",{"_index":2183,"title":{},"content":{"408":{"position":[[383,14]]},"787":{"position":[[383,14]]}},"keywords":{}}],["quot;**/config.h"",{"_index":2239,"title":{},"content":{"418":{"position":[[463,26]]},"797":{"position":[[463,26]]}},"keywords":{}}],["quot;+a1"",{"_index":7553,"title":{},"content":{"1395":{"position":[[3806,17]]}},"keywords":{}}],["quot;+sbtu"",{"_index":7552,"title":{},"content":{"1395":{"position":[[3786,19]]}},"keywords":{}}],["quot;,"",{"_index":2789,"title":{},"content":{"592":{"position":[[406,14]]}},"keywords":{}}],["quot;.beam"",{"_index":5151,"title":{},"content":{"1040":{"position":[[2346,18]]}},"keywords":{}}],["quot;.codepoint",{"_index":2754,"title":{},"content":{"590":{"position":[[546,22]]}},"keywords":{}}],["quot;.debug_info"",{"_index":1975,"title":{},"content":{"368":{"position":[[1713,24]]},"747":{"position":[[1713,24]]}},"keywords":{}}],["quot;.elem",{"_index":2785,"title":{},"content":{"592":{"position":[[309,17]]}},"keywords":{}}],["quot;.format(a",{"_index":3774,"title":{},"content":{"712":{"position":[[3145,18]]}},"keywords":{}}],["quot;.isspac",{"_index":2869,"title":{},"content":{"601":{"position":[[199,16]]}},"keywords":{}}],["quot;.join",{"_index":2891,"title":{},"content":{"604":{"position":[[322,15]]}},"keywords":{}}],["quot;.join(("x"",{"_index":2892,"title":{},"content":{"604":{"position":[[362,27]]}},"keywords":{}}],["quot;.join(["one"",{"_index":2894,"title":{},"content":{"604":{"position":[[418,29]]}},"keywords":{}}],["quot;.lstrip",{"_index":2908,"title":{},"content":{"606":{"position":[[251,15]]}},"keywords":{}}],["quot;.lstrip("!x",{"_index":2910,"title":{},"content":{"606":{"position":[[303,22]]}},"keywords":{}}],["quot;.out"",{"_index":5145,"title":{},"content":{"1040":{"position":[[2201,17]]}},"keywords":{}}],["quot;.rstrip",{"_index":2977,"title":{},"content":{"615":{"position":[[252,15]]}},"keywords":{}}],["quot;.strip",{"_index":3015,"title":{},"content":{"619":{"position":[[200,14]]}},"keywords":{}}],["quot;.stripped"",{"_index":1973,"title":{},"content":{"368":{"position":[[1670,22]]},"747":{"position":[[1670,22]]}},"keywords":{}}],["quot;/"",{"_index":2917,"title":{},"content":{"607":{"position":[[508,14]]},"613":{"position":[[276,14]]},"1058":{"position":[[587,15]]}},"keywords":{}}],["quot;//:a"",{"_index":6167,"title":{},"content":{"1235":{"position":[[1228,18]]}},"keywords":{}}],["quot;//apps//app_a:app_a"",{"_index":7591,"title":{},"content":{"1397":{"position":[[3585,32]]}},"keywords":{}}],["quot;//apps//app_b:app_b"",{"_index":7592,"title":{},"content":{"1397":{"position":[[3618,32]]}},"keywords":{}}],["quot;//buck2/app/buck2_core:buck2_core"",{"_index":3462,"title":{},"content":{"690":{"position":[[698,47],[1675,47]]}},"keywords":{}}],["quot;//constraints:os"",{"_index":5012,"title":{},"content":{"1004":{"position":[[1907,29]]}},"keywords":{}}],["quot;//constraints:watchos"",{"_index":5014,"title":{},"content":{"1004":{"position":[[1958,34]]}},"keywords":{}}],["quot;//example:bar"",{"_index":4419,"title":{},"content":{"905":{"position":[[805,27]]}},"keywords":{}}],["quot;//export"",{"_index":7749,"title":{},"content":{"1407":{"position":[[1253,20]]}},"keywords":{}}],["quot;//foo/bar/lib:lib"",{"_index":5829,"title":{},"content":{"1131":{"position":[[743,30]]}},"keywords":{}}],["quot;//foo:bar"",{"_index":5025,"title":{},"content":{"1006":{"position":[[645,23]]}},"keywords":{}}],["quot;//instrumentation_tests:instrumentation_tests"",{"_index":8528,"title":{},"content":{"1482":{"position":[[2419,58]]}},"keywords":{}}],["quot;//integration_tests:integration_tests"",{"_index":8529,"title":{},"content":{"1482":{"position":[[2478,50]]}},"keywords":{}}],["quot;//lib:file1"",{"_index":1826,"title":{},"content":{"335":{"position":[[728,24]]},"475":{"position":[[490,24]]}},"keywords":{}}],["quot;//lib:foo"",{"_index":4978,"title":{},"content":{"995":{"position":[[1445,22]]}},"keywords":{}}],["quot;//path/to/lib/1.1:foo"",{"_index":4966,"title":{},"content":{"994":{"position":[[525,34]]}},"keywords":{}}],["quot;//path/to/lib/1.2:foo"",{"_index":4968,"title":{},"content":{"994":{"position":[[577,34]]}},"keywords":{}}],["quot;//qux:quux"",{"_index":5026,"title":{},"content":{"1006":{"position":[[669,24]]}},"keywords":{}}],["quot;//some/other:target"",{"_index":8622,"title":{},"content":{"1487":{"position":[[3686,31]]}},"keywords":{}}],["quot;//some_config:platform1"",{"_index":4979,"title":{},"content":{"995":{"position":[[1479,36]]}},"keywords":{}}],["quot;//the/desired/watchos:platform".us",{"_index":4976,"title":{},"content":{"995":{"position":[[1085,48]]}},"keywords":{}}],["quot;//transitions:opengl",{"_index":5034,"title":{},"content":{"1007":{"position":[[307,26]]}},"keywords":{}}],["quot;//unit_tests:unit_tests"",{"_index":8532,"title":{},"content":{"1482":{"position":[[2611,36]]}},"keywords":{}}],["quot;//x86").attribut",{"_index":4787,"title":{},"content":{"962":{"position":[[527,29]]}},"keywords":{}}],["quot;/tmp/1.args"",{"_index":8587,"title":{},"content":{"1486":{"position":[[4313,24]]}},"keywords":{}}],["quot;/tmp/1.err"",{"_index":8591,"title":{},"content":{"1486":{"position":[[4412,22]]}},"keywords":{}}],["quot;/tmp/1.out"",{"_index":8589,"title":{},"content":{"1486":{"position":[[4363,23]]}},"keywords":{}}],["quot;0"",{"_index":8583,"title":{},"content":{"1486":{"position":[[3929,14],[4120,14]]}},"keywords":{}}],["quot;0000000000000000000000000000000000000000"",{"_index":6485,"title":{},"content":{"1351":{"position":[[3958,54]]}},"keywords":{}}],["quot;1.0.0"",{"_index":7590,"title":{},"content":{"1397":{"position":[[3549,18]]}},"keywords":{}}],["quot;1.1"",{"_index":4965,"title":{},"content":{"994":{"position":[[508,16]]}},"keywords":{}}],["quot;1.2"",{"_index":4967,"title":{},"content":{"994":{"position":[[560,16]]}},"keywords":{}}],["quot;123".isdigit",{"_index":2858,"title":{},"content":{"599":{"position":[[185,25]]}},"keywords":{}}],["quot;123".islow",{"_index":2865,"title":{},"content":{"600":{"position":[[300,25]]}},"keywords":{}}],["quot;123".istitl",{"_index":2880,"title":{},"content":{"602":{"position":[[350,25]]}},"keywords":{}}],["quot;123".isupp",{"_index":2885,"title":{},"content":{"603":{"position":[[296,25]]}},"keywords":{}}],["quot;1234"",{"_index":2337,"title":{},"content":{"435":{"position":[[256,17]]},"814":{"position":[[256,17]]}},"keywords":{}}],["quot;23d777a5282c1957c7ce35946374fff0adab114c"",{"_index":8065,"title":{},"content":{"1439":{"position":[[6620,52]]}},"keywords":{}}],["quot;7bf804bdf71fdbfc99cce3b155b3643f022c6fa4"",{"_index":6492,"title":{},"content":{"1351":{"position":[[4577,52]]}},"keywords":{}}],["quot;9.0"",{"_index":6922,"title":{},"content":{"1363":{"position":[[7786,17]]}},"keywords":{}}],["quot;:app_b"",{"_index":7512,"title":{},"content":{"1393":{"position":[[10059,19]]}},"keywords":{}}],["quot;:app_c"",{"_index":7522,"title":{},"content":{"1393":{"position":[[10457,19]]}},"keywords":{}}],["quot;:archive[src/lib.rs]"",{"_index":7901,"title":{},"content":{"1422":{"position":[[3234,33]]}},"keywords":{}}],["quot;:b"",{"_index":5074,"title":{},"content":{"1024":{"position":[[999,16]]}},"keywords":{}}],["quot;:broker"",{"_index":5335,"title":{},"content":{"1054":{"position":[[106,20]]}},"keywords":{}}],["quot;:c"",{"_index":5076,"title":{},"content":{"1024":{"position":[[1080,15]]}},"keywords":{}}],["quot;:cgo_exported_headers"",{"_index":7778,"title":{},"content":{"1407":{"position":[[5278,36]]}},"keywords":{}}],["quot;:escript_app"",{"_index":7551,"title":{},"content":{"1395":{"position":[[3746,25]]}},"keywords":{}}],["quot;:example"",{"_index":7763,"title":{},"content":{"1407":{"position":[[4751,23]]}},"keywords":{}}],["quot;:foo"",{"_index":4560,"title":{},"content":{"927":{"position":[[85,17]]},"993":{"position":[[350,17]]}},"keywords":{}}],["quot;:gen_stuff"",{"_index":1983,"title":{},"content":{"368":{"position":[[1908,22],[2058,25]]},"747":{"position":[[1908,22],[2058,25]]}},"keywords":{}}],["quot;:gener",{"_index":8430,"title":{},"content":{"1471":{"position":[[4370,16]]},"1472":{"position":[[4954,16]]},"1473":{"position":[[4691,16]]}},"keywords":{}}],["quot;:generate_manifest_with_named_outputs"",{"_index":7701,"title":{},"content":{"1403":{"position":[[8580,50]]}},"keywords":{}}],["quot;:generate_manifest_with_named_outputs[manifest]"",{"_index":7704,"title":{},"content":{"1403":{"position":[[8740,60]]}},"keywords":{}}],["quot;:greenlet"",{"_index":8291,"title":{},"content":{"1461":{"position":[[4098,22]]}},"keywords":{}}],["quot;:kotlinx",{"_index":8053,"title":{},"content":{"1439":{"position":[[5906,14],[6172,14]]}},"keywords":{}}],["quot;:l"",{"_index":4938,"title":{},"content":{"991":{"position":[[2151,17]]}},"keywords":{}}],["quot;:lib"",{"_index":7074,"title":{},"content":{"1373":{"position":[[8765,18]]}},"keywords":{}}],["quot;:linux_only_dep"",{"_index":4629,"title":{},"content":{"938":{"position":[[824,30]]}},"keywords":{}}],["quot;:my_app"",{"_index":7643,"title":{},"content":{"1398":{"position":[[7098,22]]}},"keywords":{}}],["quot;:my_other_app"",{"_index":7639,"title":{},"content":{"1398":{"position":[[6930,28]]}},"keywords":{}}],["quot;:my_resource"",{"_index":5349,"title":{},"content":{"1054":{"position":[[1491,25]]}},"keywords":{}}],["quot;:my_target"",{"_index":5657,"title":{},"content":{"1104":{"position":[[634,26]]}},"keywords":{}}],["quot;:nod",{"_index":7092,"title":{},"content":{"1374":{"position":[[3122,11],[3930,11],[3976,11],[4020,11]]}},"keywords":{}}],["quot;:p1"",{"_index":4935,"title":{},"content":{"991":{"position":[[2058,18]]}},"keywords":{}}],["quot;:p1_real"",{"_index":4931,"title":{},"content":{"991":{"position":[[1803,21]]}},"keywords":{}}],["quot;:p2"",{"_index":4937,"title":{},"content":{"991":{"position":[[2088,18]]}},"keywords":{}}],["quot;:p2_real"",{"_index":4934,"title":{},"content":{"991":{"position":[[1991,21]]}},"keywords":{}}],["quot;:readme"",{"_index":7514,"title":{},"content":{"1393":{"position":[[10137,20]]}},"keywords":{}}],["quot;:request",{"_index":8280,"title":{},"content":{"1461":{"position":[[3773,15]]}},"keywords":{}}],["quot;:resources"",{"_index":8551,"title":{},"content":{"1485":{"position":[[5086,22]]}},"keywords":{}}],["quot;:shared"",{"_index":7780,"title":{},"content":{"1407":{"position":[[5328,20]]}},"keywords":{}}],["quot;:slow_tests"",{"_index":8531,"title":{},"content":{"1482":{"position":[[2586,24]]}},"keywords":{}}],["quot;:some_rust_crate"",{"_index":8434,"title":{},"content":{"1471":{"position":[[4732,28]]},"1472":{"position":[[3683,28],[5316,28]]},"1473":{"position":[[5053,28]]}},"keywords":{}}],["quot;:start.sh"",{"_index":7595,"title":{},"content":{"1397":{"position":[[3748,22]]}},"keywords":{}}],["quot;:sys.config.src"",{"_index":7594,"title":{},"content":{"1397":{"position":[[3697,28]]}},"keywords":{}}],["quot;:util"",{"_index":7076,"title":{},"content":{"1373":{"position":[[8866,20]]}},"keywords":{}}],["quot;:yarn"",{"_index":7099,"title":{},"content":{"1374":{"position":[[3346,18],[3442,18],[3538,18]]}},"keywords":{}}],["quot;;$home\\.cargo\\bin"",{"_index":474,"title":{},"content":{"15":{"position":[[747,29]]}},"keywords":{}}],["quot;@"",{"_index":4577,"title":{},"content":{"934":{"position":[[57,13]]}},"keywords":{}}],["quot;[1",{"_index":3321,"title":{},"content":{"664":{"position":[[205,9]]},"668":{"position":[[317,9]]}},"keywords":{}}],["quot;\\"test",{"_index":3325,"title":{},"content":{"664":{"position":[[273,17]]}},"keywords":{}}],["quot;\\"x\\""",{"_index":3319,"title":{},"content":{"664":{"position":[[149,27]]}},"keywords":{}}],["quot;\\"x\\\\\\"y\\\\u0001f63f",{"_index":3328,"title":{},"content":{"664":{"position":[[352,35]]}},"keywords":{}}],["quot;\\n"",{"_index":3003,"title":{},"content":{"617":{"position":[[638,15]]}},"keywords":{}}],["quot;\\r\\t\\n".isspac",{"_index":2870,"title":{},"content":{"601":{"position":[[224,28]]}},"keywords":{}}],["quot;__codegen_dir__"",{"_index":8046,"title":{},"content":{"1439":{"position":[[5353,28]]}},"keywords":{}}],["quot;__type"",{"_index":3479,"title":{},"content":{"690":{"position":[[1283,19],[1471,19]]},"1235":{"position":[[1099,21],[1164,20]]}},"keywords":{}}],["quot;_cc"",{"_index":1967,"title":{},"content":{"368":{"position":[[1391,16]]},"747":{"position":[[1391,16]]}},"keywords":{}}],["quot;_ios_simulator"",{"_index":5348,"title":{},"content":{"1054":{"position":[[1424,27]]}},"keywords":{}}],["quot;_silly_toolchain"",{"_index":5261,"title":{},"content":{"1048":{"position":[[1585,29]]}},"keywords":{}}],["quot;_strip_script"",{"_index":1970,"title":{},"content":{"368":{"position":[[1472,26]]},"747":{"position":[[1472,26]]}},"keywords":{}}],["quot;_test"",{"_index":7791,"title":{},"content":{"1410":{"position":[[4370,17]]}},"keywords":{}}],["quot;a",{"_index":1707,"title":{},"content":{"306":{"position":[[464,7]]},"595":{"position":[[1408,7],[1440,7]]}},"keywords":{}}],["quot;a"",{"_index":1703,"title":{},"content":{"306":{"position":[[397,15]]},"560":{"position":[[856,15]]},"566":{"position":[[651,14],[681,14],[711,14]]},"567":{"position":[[533,14],[581,15]]},"614":{"position":[[369,14],[384,14],[465,14]]},"616":{"position":[[1231,14],[1246,14]]},"617":{"position":[[704,15]]},"673":{"position":[[570,15]]},"712":{"position":[[1254,15],[1886,15]]},"867":{"position":[[504,14]]},"1024":{"position":[[942,14]]}},"keywords":{}}],["quot;a".join("ctmrn".elem",{"_index":2897,"title":{},"content":{"604":{"position":[[516,45]]}},"keywords":{}}],["quot;a/b"",{"_index":8227,"title":{},"content":{"1457":{"position":[[1858,16]]}},"keywords":{}}],["quot;a/b")package_root",{"_index":7057,"title":{},"content":{"1373":{"position":[[5907,29]]},"1408":{"position":[[2271,29]]}},"keywords":{}}],["quot;a/b_test"",{"_index":7792,"title":{},"content":{"1410":{"position":[[4468,21]]}},"keywords":{}}],["quot;a1b2c"",{"_index":2830,"title":{},"content":{"595":{"position":[[1560,17]]}},"keywords":{}}],["quot;a2b3c1"",{"_index":2828,"title":{},"content":{"595":{"position":[[1505,18]]}},"keywords":{}}],["quot;a\\nb".splitlin",{"_index":3004,"title":{},"content":{"617":{"position":[[671,29]]}},"keywords":{}}],["quot;a_default"",{"_index":2318,"title":{},"content":{"429":{"position":[[514,22],[540,21]]},"808":{"position":[[514,22],[540,21]]}},"keywords":{}}],["quot;abababa".count("aba"",{"_index":2773,"title":{},"content":{"591":{"position":[[606,42],[810,42]]}},"keywords":{}}],["quot;abc".elem",{"_index":3368,"title":{},"content":{"673":{"position":[[537,24]]}},"keywords":{}}],["quot;abc".isalpha",{"_index":2853,"title":{},"content":{"598":{"position":[[187,25]]}},"keywords":{}}],["quot;action_metadata"",{"_index":5299,"title":{},"content":{"1050":{"position":[[2788,28],[4113,28]]}},"keywords":{}}],["quot;action_metadata.json"",{"_index":5300,"title":{},"content":{"1050":{"position":[[2833,33],[4158,33]]}},"keywords":{}}],["quot;actionexecutionevent"",{"_index":4022,"title":{},"content":{"867":{"position":[[701,33]]}},"keywords":{}}],["quot;actual"",{"_index":4563,"title":{},"content":{"927":{"position":[[255,18]]},"930":{"position":[[175,19]]},"991":{"position":[[103,19]]}},"keywords":{}}],["quot;add"",{"_index":7098,"title":{},"content":{"1374":{"position":[[3323,16],[3372,18]]}},"keywords":{}}],["quot;all_tests"",{"_index":8530,"title":{},"content":{"1482":{"position":[[2553,22]]}},"keywords":{}}],["quot;allpaths('//foo:bar",{"_index":6266,"title":{},"content":{"1260":{"position":[[224,27],[838,27]]},"1291":{"position":[[224,27],[838,27]]},"1319":{"position":[[224,27],[838,27]]}},"keywords":{}}],["quot;allpaths(kind(java_librari",{"_index":6270,"title":{},"content":{"1260":{"position":[[525,33]]},"1291":{"position":[[525,33]]},"1319":{"position":[[525,33]]}},"keywords":{}}],["quot;amaz",{"_index":8626,"title":{},"content":{"1487":{"position":[[3807,13]]}},"keywords":{}}],["quot;ana"",{"_index":2993,"title":{},"content":{"616":{"position":[[1324,16]]}},"keywords":{}}],["quot;android_.*"",{"_index":4705,"title":{},"content":{"944":{"position":[[1554,23]]}},"keywords":{}}],["quot;androidmanifest.xml"",{"_index":7698,"title":{},"content":{"1403":{"position":[[8250,31],[8305,31]]}},"keywords":{}}],["quot;app"",{"_index":5834,"title":{},"content":{"1131":{"position":[[976,17]]},"1363":{"position":[[5669,16]]},"1485":{"position":[[5026,16]]}},"keywords":{}}],["quot;app/lib.h"",{"_index":5833,"title":{},"content":{"1131":{"position":[[933,21]]}},"keywords":{}}],["quot;app/util.h"",{"_index":5831,"title":{},"content":{"1131":{"position":[[810,22]]}},"keywords":{}}],["quot;app_a"",{"_index":7510,"title":{},"content":{"1393":{"position":[[9969,18]]}},"keywords":{}}],["quot;app_b"",{"_index":7517,"title":{},"content":{"1393":{"position":[[10300,18],[10486,19]]}},"keywords":{}}],["quot;appl",{"_index":6506,"title":{},"content":{"1353":{"position":[[2375,17]]}},"keywords":{}}],["quot;apple_.*"",{"_index":4703,"title":{},"content":{"944":{"position":[[1504,21]]}},"keywords":{}}],["quot;apple_bundle"",{"_index":4101,"title":{},"content":{"878":{"position":[[447,25]]}},"keywords":{}}],["quot;archive"",{"_index":7899,"title":{},"content":{"1422":{"position":[[3112,19]]}},"keywords":{}}],["quot;arg1"",{"_index":4774,"title":{},"content":{"961":{"position":[[515,17]]},"966":{"position":[[357,17]]}},"keywords":{}}],["quot;args_path"",{"_index":8586,"title":{},"content":{"1486":{"position":[[4290,22]]}},"keywords":{}}],["quot;arguments"",{"_index":5683,"title":{},"content":{"1105":{"position":[[497,23]]}},"keywords":{}}],["quot;arm64"",{"_index":4857,"title":{},"content":{"980":{"position":[[1220,18]]},"1006":{"position":[[867,18],[1026,18]]}},"keywords":{}}],["quot;armv7"",{"_index":5030,"title":{},"content":{"1006":{"position":[[944,18],[1104,18]]}},"keywords":{}}],["quot;artifact"",{"_index":5673,"title":{},"content":{"1104":{"position":[[2423,21]]}},"keywords":{}}],["quot;attrfilt",{"_index":7192,"title":{},"content":{"1383":{"position":[[8091,17]]},"1403":{"position":[[7191,17]]}},"keywords":{}}],["quot;attrfilter(annotation_processor",{"_index":7156,"title":{},"content":{"1382":{"position":[[5155,39]]},"1388":{"position":[[5849,39]]},"1442":{"position":[[2145,39]]}},"keywords":{}}],["quot;attrfilter(dep",{"_index":6281,"title":{},"content":{"1262":{"position":[[683,22]]},"1293":{"position":[[683,22]]},"1321":{"position":[[683,22]]}},"keywords":{}}],["quot;author@email.com"",{"_index":7640,"title":{},"content":{"1398":{"position":[[6970,31],[7132,31]]}},"keywords":{}}],["quot;a{x}b{y}c{}".format(1",{"_index":2825,"title":{},"content":{"595":{"position":[[1458,33]]}},"keywords":{}}],["quot;a{}b{}c".format(1",{"_index":2829,"title":{},"content":{"595":{"position":[[1524,29]]}},"keywords":{}}],["quot;b"",{"_index":1704,"title":{},"content":{"306":{"position":[[413,14]]},"560":{"position":[[782,15],[875,14]]},"566":{"position":[[635,15]]},"567":{"position":[[475,15],[597,14]]},"617":{"position":[[720,14]]},"645":{"position":[[454,15]]},"673":{"position":[[590,15]]},"712":{"position":[[1270,14],[1902,14]]},"867":{"position":[[519,14]]},"991":{"position":[[2129,14]]},"1024":{"position":[[1033,14]]}},"keywords":{}}],["quot;ba"",{"_index":2968,"title":{},"content":{"614":{"position":[[352,16]]},"616":{"position":[[1214,16],[1307,16]]}},"keywords":{}}],["quot;bana"",{"_index":2969,"title":{},"content":{"614":{"position":[[446,18]]}},"keywords":{}}],["quot;banana"",{"_index":2937,"title":{},"content":{"610":{"position":[[587,18]]}},"keywords":{}}],["quot;banana".replace(""",{"_index":2938,"title":{},"content":{"610":{"position":[[606,40],[691,40]]}},"keywords":{}}],["quot;banana".replace("a"",{"_index":2933,"title":{},"content":{"610":{"position":[[366,41],[445,41],[841,41]]}},"keywords":{}}],["quot;banana".replace("z"",{"_index":2936,"title":{},"content":{"610":{"position":[[527,41]]}},"keywords":{}}],["quot;banana".rsplit("n"",{"_index":2967,"title":{},"content":{"614":{"position":[[308,40],[399,40]]}},"keywords":{}}],["quot;banana".split("a"",{"_index":3188,"title":{},"content":{"645":{"position":[[530,39]]}},"keywords":{}}],["quot;banana".split("n"",{"_index":2992,"title":{},"content":{"616":{"position":[[1171,39],[1261,39]]}},"keywords":{}}],["quot;bar"",{"_index":3986,"title":{},"content":{"864":{"position":[[498,17]]},"867":{"position":[[594,15]]},"941":{"position":[[171,16]]},"943":{"position":[[739,16]]},"1081":{"position":[[254,16]]},"1082":{"position":[[1023,16]]},"1083":{"position":[[857,16]]},"1084":{"position":[[455,16]]},"1087":{"position":[[559,16],[759,17]]},"1088":{"position":[[906,16],[1420,16],[1465,16],[1529,16],[1602,16]]}},"keywords":{}}],["quot;bar:2"",{"_index":2034,"title":{},"content":{"377":{"position":[[918,18]]},"756":{"position":[[918,18]]},"1052":{"position":[[800,18]]},"1054":{"position":[[662,18],[849,19]]}},"keywords":{}}],["quot;bar:2"}and",{"_index":2044,"title":{},"content":{"377":{"position":[[1305,21]]},"756":{"position":[[1305,21]]}},"keywords":{}}],["quot;base64".isalnum",{"_index":2848,"title":{},"content":{"597":{"position":[[206,28]]}},"keywords":{}}],["quot;bb99a3f19ecba6c4d2c7cd321b63b669684c713881baae21a6b1d759b3ec6ac9"",{"_index":2385,"title":{},"content":{"445":{"position":[[174,76]]},"824":{"position":[[174,76]]}},"keywords":{}}],["quot;belong"",{"_index":3035,"title":{},"content":{"622":{"position":[[931,18]]}},"keywords":{}}],["quot;bin"",{"_index":7072,"title":{},"content":{"1373":{"position":[[8711,16]]},"1397":{"position":[[3729,16]]}},"keywords":{}}],["quot;bin/kind"",{"_index":1788,"title":{},"content":{"327":{"position":[[450,22]]},"468":{"position":[[331,22]]}},"keywords":{}}],["quot;bin/kind/..."",{"_index":1781,"title":{},"content":{"326":{"position":[[521,25]]},"332":{"position":[[433,25]]},"467":{"position":[[402,25]]},"473":{"position":[[314,25]]}},"keywords":{}}],["quot;bonbo"",{"_index":2953,"title":{},"content":{"612":{"position":[[443,17]]}},"keywords":{}}],["quot;bonbon".find("on"",{"_index":2800,"title":{},"content":{"594":{"position":[[470,39],[515,39],[563,39]]}},"keywords":{}}],["quot;bonbon".index("on"",{"_index":2843,"title":{},"content":{"596":{"position":[[347,40],[393,40],[442,40]]}},"keywords":{}}],["quot;bonbon".rfind("on"",{"_index":2947,"title":{},"content":{"611":{"position":[[308,40],[354,40],[409,40]]}},"keywords":{}}],["quot;bonbon".rindex("on"",{"_index":2952,"title":{},"content":{"612":{"position":[[335,41],[382,41],[461,41]]}},"keywords":{}}],["quot;bonona"",{"_index":2935,"title":{},"content":{"610":{"position":[[508,18]]}},"keywords":{}}],["quot;bonono"",{"_index":2934,"title":{},"content":{"610":{"position":[[426,18]]}},"keywords":{}}],["quot;bool"",{"_index":3064,"title":{},"content":{"630":{"position":[[110,16]]}},"keywords":{}}],["quot;bool_arg"",{"_index":3849,"title":{},"content":{"840":{"position":[[397,21]]},"850":{"position":[[307,21]]}},"keywords":{}}],["quot;bool_value"",{"_index":4013,"title":{},"content":{"867":{"position":[[377,23]]}},"keywords":{}}],["quot;bottom",{"_index":3606,"title":{},"content":{"695":{"position":[[505,12]]}},"keywords":{}}],["quot;buck",{"_index":585,"title":{},"content":{"18":{"position":[[1537,10]]},"1050":{"position":[[1706,10]]},"1487":{"position":[[3255,10]]}},"keywords":{}}],["quot;buck.cfg_modifiers"",{"_index":4662,"title":{},"content":{"941":{"position":[[205,32]]},"943":{"position":[[773,32]]}},"keywords":{}}],["quot;buck.execution_platform"",{"_index":3491,"title":{},"content":{"690":{"position":[[2045,36]]}},"keywords":{}}],["quot;buck.package"",{"_index":3466,"title":{},"content":{"690":{"position":[[852,25],[1874,25]]}},"keywords":{}}],["quot;buck.target_configuration"",{"_index":3489,"title":{},"content":{"690":{"position":[[1950,38]]}},"keywords":{}}],["quot;buck.type"",{"_index":3464,"title":{},"content":{"690":{"position":[[803,22],[1825,22]]}},"keywords":{}}],["quot;buck2",{"_index":165,"title":{},"content":{"9":{"position":[[0,11],[149,11]]}},"keywords":{}}],["quot;buck2_core"",{"_index":3469,"title":{},"content":{"690":{"position":[[946,23],[2152,23]]}},"keywords":{}}],["quot;buck_regex"",{"_index":2330,"title":{},"content":{"434":{"position":[[95,22]]},"813":{"position":[[95,22]]}},"keywords":{}}],["quot;buildfile(owner('foo/bar/main.cpp'))"",{"_index":5855,"title":{},"content":{"1134":{"position":[[131,48]]}},"keywords":{}}],["quot;bxlensureartifactsevent"",{"_index":4047,"title":{},"content":{"867":{"position":[[2201,36]]}},"keywords":{}}],["quot;c"",{"_index":1705,"title":{},"content":{"306":{"position":[[428,15]]},"560":{"position":[[893,14]]},"567":{"position":[[491,14],[612,14]]},"673":{"position":[[610,15]]},"712":{"position":[[1285,15],[1917,15]]},"867":{"position":[[534,13]]},"1373":{"position":[[4512,13],[8320,13]]}},"keywords":{}}],["quot;c_shared"",{"_index":7761,"title":{},"content":{"1407":{"position":[[4682,21]]}},"keywords":{}}],["quot;call"",{"_index":2182,"title":{},"content":{"408":{"position":[[347,17]]},"787":{"position":[[347,17]]}},"keywords":{}}],["quot;capabilities"",{"_index":8584,"title":{},"content":{"1486":{"position":[[3944,25],[4135,25]]}},"keywords":{}}],["quot;capitalize"",{"_index":3113,"title":{},"content":{"637":{"position":[[234,22]]}},"keywords":{}}],["quot;cat",{"_index":7771,"title":{},"content":{"1407":{"position":[[5115,9]]}},"keywords":{}}],["quot;catamaran"",{"_index":2898,"title":{},"content":{"604":{"position":[[565,21]]}},"keywords":{}}],["quot;catch",{"_index":2849,"title":{},"content":{"597":{"position":[[243,11]]},"598":{"position":[[221,11]]},"599":{"position":[[219,11]]},"600":{"position":[[260,11]]},"602":{"position":[[271,11]]},"603":{"position":[[256,11]]}},"keywords":{}}],["quot;category"",{"_index":4025,"title":{},"content":{"867":{"position":[[921,21]]}},"keywords":{}}],["quot;cd",{"_index":977,"title":{},"content":{"69":{"position":[[567,8]]},"408":{"position":[[1105,8]]},"457":{"position":[[567,8]]},"787":{"position":[[1105,8]]}},"keywords":{}}],["quot;cell//package:"",{"_index":6231,"title":{},"content":{"1258":{"position":[[263,27]]},"1289":{"position":[[263,27]]},"1317":{"position":[[263,27]]}},"keywords":{}}],["quot;cell//path/to/file:target"",{"_index":1799,"title":{},"content":{"329":{"position":[[596,40]]},"470":{"position":[[541,40]]}},"keywords":{}}],["quot;cell//path/to/script.bxl:function_name"",{"_index":4035,"title":{},"content":{"867":{"position":[[1449,50]]}},"keywords":{}}],["quot;cell//recursive/..."",{"_index":6232,"title":{},"content":{"1258":{"position":[[294,32]]},"1289":{"position":[[294,32]]},"1317":{"position":[[294,32]]}},"keywords":{}}],["quot;cell//some:target"",{"_index":6230,"title":{},"content":{"1258":{"position":[[218,31],[854,30]]},"1289":{"position":[[218,31],[854,30]]},"1317":{"position":[[218,31],[854,30]]}},"keywords":{}}],["quot;cfg//:linux"",{"_index":4650,"title":{},"content":{"940":{"position":[[688,24]]},"943":{"position":[[454,24]]}},"keywords":{}}],["quot;cfg//compiler:clang"",{"_index":4638,"title":{},"content":{"939":{"position":[[1169,32]]},"940":{"position":[[752,32]]},"943":{"position":[[518,32]]}},"keywords":{}}],["quot;cfg//compiler:msvc"",{"_index":4637,"title":{},"content":{"939":{"position":[[1116,31],[1635,31]]},"940":{"position":[[814,31]]},"943":{"position":[[580,31]]}},"keywords":{}}],["quot;cfg//os:android"",{"_index":4706,"title":{},"content":{"944":{"position":[[1578,28]]}},"keywords":{}}],["quot;cfg//os:iphone"",{"_index":4704,"title":{},"content":{"944":{"position":[[1526,27]]}},"keywords":{}}],["quot;cfg//os:linux"",{"_index":4628,"title":{},"content":{"938":{"position":[[797,26]]},"939":{"position":[[1688,26]]},"944":{"position":[[1642,26],[1669,26]]}},"keywords":{}}],["quot;cfg//os:macos"",{"_index":4686,"title":{},"content":{"943":{"position":[[672,28]]},"944":{"position":[[1696,26],[1723,26]]}},"keywords":{}}],["quot;cfg//os:windows"",{"_index":4636,"title":{},"content":{"939":{"position":[[1087,28],[1606,28]]},"940":{"position":[[785,28]]},"941":{"position":[[240,28]]},"943":{"position":[[551,28],[806,31]]},"944":{"position":[[1750,28],[1779,28]]}},"keywords":{}}],["quot;cgo"",{"_index":7765,"title":{},"content":{"1407":{"position":[[4833,16]]}},"keywords":{}}],["quot;cgo_exported_headers"",{"_index":7768,"title":{},"content":{"1407":{"position":[[5005,33]]}},"keywords":{}}],["quot;cgo_source.go"",{"_index":7075,"title":{},"content":{"1373":{"position":[[8830,28]]}},"keywords":{}}],["quot;clang"",{"_index":4656,"title":{},"content":{"940":{"position":[[1377,18]]},"941":{"position":[[309,18]]}},"keywords":{}}],["quot;cmd_args"",{"_index":2139,"title":{},"content":{"405":{"position":[[1178,20]]},"784":{"position":[[1178,20]]}},"keywords":{}}],["quot;com/example/amazinglibrary/source1.java"",{"_index":8621,"title":{},"content":{"1487":{"position":[[3522,52]]}},"keywords":{}}],["quot;command"",{"_index":1659,"title":{},"content":{"298":{"position":[[2887,20]]},"851":{"position":[[2213,20]]},"1486":{"position":[[4269,20]]}},"keywords":{}}],["quot;command_executor_config"",{"_index":1890,"title":{},"content":{"362":{"position":[[992,35]]},"741":{"position":[[992,35]]}},"keywords":{}}],["quot;compil",{"_index":6793,"title":{},"content":{"1362":{"position":[[8030,13]]},"1364":{"position":[[8879,13]]},"1367":{"position":[[8118,13]]},"1384":{"position":[[10258,13]]}},"keywords":{}}],["quot;compile"",{"_index":1087,"title":{},"content":{"89":{"position":[[464,20]]},"221":{"position":[[464,20]]},"429":{"position":[[337,20]]},"808":{"position":[[337,20]]}},"keywords":{}}],["quot;compiled"",{"_index":5242,"title":{},"content":{"1048":{"position":[[492,23]]}},"keywords":{}}],["quot;compiler"",{"_index":7828,"title":{},"content":{"1415":{"position":[[2513,20]]}},"keywords":{}}],["quot;concat"",{"_index":6165,"title":{},"content":{"1235":{"position":[[1121,19]]}},"keywords":{}}],["quot;config.h"",{"_index":7227,"title":{},"content":{"1384":{"position":[[22015,20]]}},"keywords":{}}],["quot;config//platforms:linux",{"_index":4561,"title":{},"content":{"927":{"position":[[114,29]]}},"keywords":{}}],["quot;configuration"",{"_index":4588,"title":{},"content":{"937":{"position":[[556,26]]}},"keywords":{}}],["quot;configuration."",{"_index":3456,"title":{},"content":{"690":{"position":[[119,26]]}},"keywords":{}}],["quot;configurationinfo"",{"_index":1932,"title":{},"content":{"363":{"position":[[417,29]]},"742":{"position":[[417,29]]}},"keywords":{}}],["quot;constraintsettinginfo"",{"_index":1936,"title":{},"content":{"366":{"position":[[243,33]]},"745":{"position":[[243,33]]}},"keywords":{}}],["quot;constraintvalueinfo"",{"_index":1937,"title":{},"content":{"367":{"position":[[271,31]]},"746":{"position":[[271,31]]}},"keywords":{}}],["quot;content"",{"_index":4733,"title":{},"content":{"950":{"position":[[1019,20]]}},"keywords":{}}],["quot;contents"",{"_index":2352,"title":{},"content":{"437":{"position":[[548,21]]},"816":{"position":[[548,21]]}},"keywords":{}}],["quot;context"",{"_index":3735,"title":{},"content":{"712":{"position":[[236,20]]}},"keywords":{}}],["quot;cp"",{"_index":5694,"title":{},"content":{"1105":{"position":[[1727,16]]}},"keywords":{}}],["quot;current"",{"_index":4562,"title":{},"content":{"927":{"position":[[198,19]]}},"keywords":{}}],["quot;cxx"",{"_index":580,"title":{},"content":{"18":{"position":[[1299,16]]},"389":{"position":[[1278,15]]},"768":{"position":[[1278,15]]}},"keywords":{}}],["quot;cxx_so_with_header"",{"_index":7776,"title":{},"content":{"1407":{"position":[[5232,31]]}},"keywords":{}}],["quot;d"",{"_index":2553,"title":{},"content":{"560":{"position":[[911,14]]},"567":{"position":[[561,14],[627,14]]},"665":{"position":[[314,15]]}},"keywords":{}}],["quot;da39a3ee5e6b4b0d3255bfef95601890afd80709:10"",{"_index":5292,"title":{},"content":{"1050":{"position":[[1825,55]]}},"keywords":{}}],["quot;data.dat"",{"_index":8461,"title":{},"content":{"1477":{"position":[[2768,21]]}},"keywords":{}}],["quot;debug_info"",{"_index":1966,"title":{},"content":{"368":{"position":[[1351,23]]},"747":{"position":[[1351,23]]}},"keywords":{}}],["quot;default"",{"_index":1625,"title":{},"content":{"297":{"position":[[395,19]]},"690":{"position":[[1348,20],[1536,20]]},"938":{"position":[[855,20]]},"939":{"position":[[1148,20],[1667,20]]},"940":{"position":[[731,20],[1356,20]]},"943":{"position":[[497,20]]},"944":{"position":[[512,20],[1607,20]]},"1235":{"position":[[1053,20],[1250,20]]}},"keywords":{}}],["quot;defaultinfo"",{"_index":1939,"title":{},"content":{"368":{"position":[[491,23]]},"712":{"position":[[2284,23]]},"747":{"position":[[491,23]]}},"keywords":{}}],["quot;define"",{"_index":5560,"title":{},"content":{"1082":{"position":[[872,19],[1089,18]]},"1083":{"position":[[708,19],[923,18]]}},"keywords":{}}],["quot;deps"",{"_index":3471,"title":{},"content":{"690":{"position":[[1018,17],[2224,17]]},"991":{"position":[[319,17],[694,17]]},"1006":{"position":[[478,17]]},"1108":{"position":[[478,17]]}},"keywords":{}}],["quot;deps('//foo:bar",{"_index":5842,"title":{},"content":{"1133":{"position":[[81,23]]},"1277":{"position":[[243,23],[328,23]]},"1278":{"position":[[314,23]]},"1279":{"position":[[238,23]]},"1280":{"position":[[213,23]]},"1281":{"position":[[170,23]]},"1282":{"position":[[390,23],[475,23]]},"1283":{"position":[[407,23],[489,23]]},"1284":{"position":[[387,23],[468,23]]},"1308":{"position":[[243,23],[328,23]]},"1309":{"position":[[314,23]]},"1310":{"position":[[238,23]]},"1311":{"position":[[213,23]]},"1312":{"position":[[170,23]]},"1313":{"position":[[390,23],[475,23]]},"1314":{"position":[[407,23],[489,23]]},"1315":{"position":[[387,23],[468,23]]},"1336":{"position":[[243,23],[328,23]]},"1337":{"position":[[314,23]]},"1338":{"position":[[238,23]]},"1339":{"position":[[213,23]]},"1340":{"position":[[170,23]]},"1341":{"position":[[390,23],[475,23]]},"1342":{"position":[[407,23],[489,23]]},"1343":{"position":[[387,23],[468,23]]}},"keywords":{}}],["quot;deps('//foo:bar')"",{"_index":5841,"title":{},"content":{"1133":{"position":[[38,29]]}},"keywords":{}}],["quot;deps('//foo:foo",{"_index":7159,"title":{},"content":{"1382":{"position":[[5236,23]]},"1388":{"position":[[5930,23]]},"1442":{"position":[[2226,23]]}},"keywords":{}}],["quot;deps(//foo:bar)"",{"_index":5827,"title":{},"content":{"1131":{"position":[[188,27]]}},"keywords":{}}],["quot;deps(set('//foo:bar",{"_index":5844,"title":{},"content":{"1133":{"position":[[147,26]]}},"keywords":{}}],["quot;dict"",{"_index":3099,"title":{},"content":{"636":{"position":[[116,16]]}},"keywords":{}}],["quot;dict_value"",{"_index":4019,"title":{},"content":{"867":{"position":[[551,23]]}},"keywords":{}}],["quot;digest"",{"_index":5291,"title":{},"content":{"1050":{"position":[[1805,19]]}},"keywords":{}}],["quot;digests"",{"_index":5288,"title":{},"content":{"1050":{"position":[[1663,20]]}},"keywords":{}}],["quot;dir"",{"_index":8625,"title":{},"content":{"1487":{"position":[[3765,15]]}},"keywords":{}}],["quot;dir/"",{"_index":8614,"title":{},"content":{"1487":{"position":[[3177,16]]}},"keywords":{}}],["quot;doc_deps"",{"_index":4920,"title":{},"content":{"991":{"position":[[500,21],[768,21]]}},"keywords":{}}],["quot;duration"",{"_index":3991,"title":{},"content":{"864":{"position":[[1141,22],[1287,22]]}},"keywords":{}}],["quot;duration_millis"",{"_index":4028,"title":{},"content":{"867":{"position":[[1065,28],[2240,28]]}},"keywords":{}}],["quot;e"",{"_index":2554,"title":{},"content":{"560":{"position":[[929,14]]},"567":{"position":[[506,14],[642,14]]},"592":{"position":[[346,14]]},"665":{"position":[[330,14],[375,14]]}},"keywords":{}}],["quot;e1fc28120002395fe1f2da9aacea4e15a449d9ee"",{"_index":8278,"title":{},"content":{"1461":{"position":[[3594,53]]}},"keywords":{}}],["quot;echo",{"_index":7681,"title":{},"content":{"1403":{"position":[[5717,10]]}},"keywords":{}}],["quot;ent",{"_index":4926,"title":{},"content":{"991":{"position":[[1544,13]]},"1438":{"position":[[1772,11],[1901,11]]}},"keywords":{}}],["quot;entries"",{"_index":3481,"title":{},"content":{"690":{"position":[[1325,20],[1513,20]]},"1235":{"position":[[1207,20]]}},"keywords":{}}],["quot;epoch_millis"",{"_index":4020,"title":{},"content":{"867":{"position":[[618,25],[1580,25],[2311,25]]}},"keywords":{}}],["quot;erl"",{"_index":5157,"title":{},"content":{"1040":{"position":[[2499,16]]}},"keywords":{}}],["quot;error"",{"_index":8603,"title":{},"content":{"1486":{"position":[[5643,18],[5888,18]]}},"keywords":{}}],["quot;escap",{"_index":3434,"title":{},"content":{"685":{"position":[[127,12]]}},"keywords":{}}],["quot;escript_app"",{"_index":7554,"title":{},"content":{"1395":{"position":[[3853,24]]}},"keywords":{}}],["quot;event":{..."data":{"load":{"module_id":"target:buck","cell":"...","error":null,"starlark_peak_allocated_bytes":1610608640",{"_index":6194,"title":{},"content":{"1248":{"position":[[202,219]]}},"keywords":{}}],["quot;example"",{"_index":7764,"title":{},"content":{"1407":{"position":[[4797,20]]},"1439":{"position":[[5843,20]]}},"keywords":{}}],["quot;example.zip"",{"_index":8613,"title":{},"content":{"1487":{"position":[[3083,23]]}},"keywords":{}}],["quot;exe"",{"_index":2353,"title":{},"content":{"437":{"position":[[586,16]]},"816":{"position":[[586,16]]}},"keywords":{}}],["quot;executables"",{"_index":6950,"title":{},"content":{"1366":{"position":[[2141,24]]}},"keywords":{}}],["quot;execution_kind"",{"_index":4032,"title":{},"content":{"867":{"position":[[1352,27]]}},"keywords":{}}],["quot;exit_code"",{"_index":8598,"title":{},"content":{"1486":{"position":[[4762,22],[5662,22],[5907,22]]}},"keywords":{}}],["quot;export",{"_index":7766,"title":{},"content":{"1407":{"position":[[4859,12]]}},"keywords":{}}],["quot;exported_headers"",{"_index":5830,"title":{},"content":{"1131":{"position":[[776,29],[899,29]]}},"keywords":{}}],["quot;externalrunnertestinfo"",{"_index":2013,"title":{},"content":{"374":{"position":[[425,34]]},"753":{"position":[[425,34]]}},"keywords":{}}],["quot;f"",{"_index":3183,"title":{},"content":{"645":{"position":[[236,14],[284,14],[337,14]]}},"keywords":{}}],["quot;fail"",{"_index":5721,"title":{},"content":{"1112":{"position":[[1622,16],[1950,16]]}},"keywords":{}}],["quot;failed"",{"_index":8483,"title":{},"content":{"1478":{"position":[[3243,18]]}},"keywords":{}}],["quot;failures"",{"_index":5755,"title":{},"content":{"1114":{"position":[[549,20]]}},"keywords":{}}],["quot;false"",{"_index":1699,"title":{},"content":{"306":{"position":[[325,18]]},"712":{"position":[[529,18],[1182,18]]}},"keywords":{}}],["quot;fast"",{"_index":6055,"title":{},"content":{"1226":{"position":[[1451,16],[1697,16]]},"1237":{"position":[[1621,16],[1867,16]]}},"keywords":{}}],["quot;fbcode//buck2/app/buck2_core:buck2_cor",{"_index":3487,"title":{},"content":{"690":{"position":[[1725,45]]}},"keywords":{}}],["quot;fbcode//buck2/app/buck2_core:buck2_core"",{"_index":3463,"title":{},"content":{"690":{"position":[[748,52]]}},"keywords":{}}],["quot;fbcode//buck2/app/buck2_core:targets"",{"_index":3467,"title":{},"content":{"690":{"position":[[878,49],[1900,49]]}},"keywords":{}}],["quot;fbcode//buck2/platform/<omitted>"",{"_index":3492,"title":{},"content":{"690":{"position":[[2082,51]]}},"keywords":{}}],["quot;fbcode//buck2/tests/..."",{"_index":4103,"title":{},"content":{"878":{"position":[[495,37]]}},"keywords":{}}],["quot;fbsource//third",{"_index":3472,"title":{},"content":{"690":{"position":[[1038,21],[1085,21],[1134,21],[1181,21],[1233,21],[1411,21],[1597,21],[2244,21],[2336,21],[2430,21],[2522,21],[2619,21],[2712,21]]}},"keywords":{}}],["quot;fccb9499bccbaca0b7eef91a3a82dfcb31e0b149"",{"_index":7719,"title":{},"content":{"1404":{"position":[[1612,53]]}},"keywords":{}}],["quot;filename.sky".endswith(".sky"",{"_index":2795,"title":{},"content":{"593":{"position":[[205,51]]}},"keywords":{}}],["quot;filename.sky".startswith("filename"",{"_index":3008,"title":{},"content":{"618":{"position":[[213,57]]}},"keywords":{}}],["quot;filename.sky".startswith("sky"",{"_index":3009,"title":{},"content":{"618":{"position":[[279,52]]}},"keywords":{}}],["quot;filter({name_regex",{"_index":7154,"title":{},"content":{"1382":{"position":[[5080,26]]},"1388":{"position":[[5774,26]]},"1442":{"position":[[2070,26]]}},"keywords":{}}],["quot;first",{"_index":4711,"title":{},"content":{"944":{"position":[[2041,11]]}},"keywords":{}}],["quot;float"",{"_index":3169,"title":{},"content":{"644":{"position":[[144,17]]}},"keywords":{}}],["quot;foo",{"_index":3751,"title":{},"content":{"712":{"position":[[1321,9],[1819,9]]},"927":{"position":[[41,9]]},"995":{"position":[[1404,9]]}},"keywords":{}}],["quot;foo"",{"_index":985,"title":{},"content":{"72":{"position":[[196,17]]},"243":{"position":[[625,15]]},"368":{"position":[[2006,16]]},"495":{"position":[[196,17]]},"565":{"position":[[368,16]]},"747":{"position":[[2006,16]]},"864":{"position":[[480,17]]},"867":{"position":[[336,16],[577,16]]},"890":{"position":[[3334,17]]},"964":{"position":[[789,16]]},"990":{"position":[[151,17]]},"993":{"position":[[255,16]]},"994":{"position":[[445,16]]},"1007":{"position":[[284,16]]},"1044":{"position":[[2956,17]]},"1081":{"position":[[198,16]]},"1082":{"position":[[967,16]]},"1083":{"position":[[601,16],[801,16]]},"1084":{"position":[[399,16],[677,17]]},"1087":{"position":[[503,16],[742,16]]},"1088":{"position":[[850,16],[1403,16],[1447,17],[1546,16],[1585,16]]},"1410":{"position":[[4952,15]]}},"keywords":{}}],["quot;foo"platform_compiler_flag",{"_index":7060,"title":{},"content":{"1373":{"position":[[6220,39]]}},"keywords":{}}],["quot;foo"rac",{"_index":7736,"title":{},"content":{"1405":{"position":[[3544,20]]},"1407":{"position":[[3965,20]]}},"keywords":{}}],["quot;foo"src",{"_index":7785,"title":{},"content":{"1408":{"position":[[2584,20]]}},"keywords":{}}],["quot;foo.bar.mymodule"",{"_index":7252,"title":{},"content":{"1385":{"position":[[7667,28]]}},"keywords":{}}],["quot;foo.cpp"",{"_index":1982,"title":{},"content":{"368":{"position":[[1883,22]]},"747":{"position":[[1883,22]]}},"keywords":{}}],["quot;foo.txt"",{"_index":4959,"title":{},"content":{"993":{"position":[[279,22]]}},"keywords":{}}],["quot;foo//bar:baz"",{"_index":5220,"title":{},"content":{"1046":{"position":[[436,24]]}},"keywords":{}}],["quot;foo//my_package:my_target"",{"_index":1354,"title":{},"content":{"130":{"position":[[279,39]]},"253":{"position":[[279,39]]}},"keywords":{}}],["quot;foo//target/universe/..."",{"_index":1819,"title":{},"content":{"334":{"position":[[798,37]]}},"keywords":{}}],["quot;foo/bar.go"",{"_index":7059,"title":{},"content":{"1373":{"position":[[6179,25]]},"1405":{"position":[[3503,25]]},"1407":{"position":[[3924,25]]},"1408":{"position":[[2543,25]]},"1410":{"position":[[4911,25]]}},"keywords":{}}],["quot;foo/path"",{"_index":4799,"title":{},"content":{"964":{"position":[[1097,20]]}},"keywords":{}}],["quot;foo:1"",{"_index":2033,"title":{},"content":{"377":{"position":[[869,19]]},"756":{"position":[[869,19]]},"1052":{"position":[[751,19]]},"1054":{"position":[[613,19]]}},"keywords":{}}],["quot;foo_binary_wrapper"",{"_index":1978,"title":{},"content":{"368":{"position":[[1792,31]]},"747":{"position":[[1792,31]]}},"keywords":{}}],["quot;foo|bar"",{"_index":5727,"title":{},"content":{"1112":{"position":[[2309,22]]}},"keywords":{}}],["quot;forward"",{"_index":4275,"title":{},"content":{"892":{"position":[[847,19]]}},"keywords":{}}],["quot;four"",{"_index":2539,"title":{},"content":{"559":{"position":[[804,17]]},"654":{"position":[[399,17],[509,17]]},"655":{"position":[[291,17],[312,16],[399,17]]},"666":{"position":[[648,18],[697,17],[800,18],[865,17]]}},"keywords":{}}],["quot;frameworks"",{"_index":6949,"title":{},"content":{"1366":{"position":[[2117,23]]}},"keywords":{}}],["quot;full"",{"_index":1217,"title":{},"content":{"94":{"position":[[3043,16]]},"226":{"position":[[3043,16]]}},"keywords":{}}],["quot;function"",{"_index":1013,"title":{},"content":{"81":{"position":[[31,21]]},"213":{"position":[[31,21]]},"400":{"position":[[221,20]]},"402":{"position":[[487,21],[516,21],[546,21],[574,21],[603,21],[632,21],[663,21],[694,21],[729,21],[769,21],[805,21],[842,22],[879,21],[922,21],[955,21],[1012,21],[1070,21],[1098,21],[1134,21]]},"404":{"position":[[24,21],[53,21],[83,21],[111,21],[140,21],[169,21],[200,21],[231,21],[266,21],[306,21],[342,21],[379,21]]},"437":{"position":[[253,20]]},"650":{"position":[[22,21],[53,21]]},"667":{"position":[[51,21]]},"779":{"position":[[221,20]]},"781":{"position":[[487,21],[516,21],[546,21],[574,21],[603,21],[632,21],[663,21],[694,21],[729,21],[769,21],[805,21],[842,22],[879,21],[922,21],[955,21],[1012,21],[1070,21],[1098,21],[1134,21]]},"783":{"position":[[24,21],[53,21],[83,21],[111,21],[140,21],[169,21],[200,21],[231,21],[266,21],[306,21],[342,21],[379,21]]},"816":{"position":[[253,20]]}},"keywords":{}}],["quot;gen_stuff"",{"_index":1980,"title":{},"content":{"368":{"position":[[1839,22]]},"747":{"position":[[1839,22]]}},"keywords":{}}],["quot;get",{"_index":4952,"title":{},"content":{"991":{"position":[[3359,9]]}},"keywords":{}}],["quot;gev",{"_index":8289,"title":{},"content":{"1461":{"position":[[4033,12]]}},"keywords":{}}],["quot;gevent"",{"_index":8288,"title":{},"content":{"1461":{"position":[[4000,19]]}},"keywords":{}}],["quot;goodbye"",{"_index":5188,"title":{},"content":{"1044":{"position":[[1778,20]]}},"keywords":{}}],["quot;greenlet",{"_index":8282,"title":{},"content":{"1461":{"position":[[3908,14]]}},"keywords":{}}],["quot;greenlet"",{"_index":8281,"title":{},"content":{"1461":{"position":[[3873,21]]}},"keywords":{}}],["quot;h"",{"_index":2786,"title":{},"content":{"592":{"position":[[330,15]]}},"keywords":{}}],["quot;hal",{"_index":2878,"title":{},"content":{"602":{"position":[[310,9]]},"603":{"position":[[217,9]]}},"keywords":{}}],["quot;handshake"",{"_index":8581,"title":{},"content":{"1486":{"position":[[3876,22],[4067,22]]}},"keywords":{}}],["quot;has_default_filelist"",{"_index":5592,"title":{},"content":{"1086":{"position":[[669,33]]}},"keywords":{}}],["quot;he.lo"",{"_index":1780,"title":{},"content":{"326":{"position":[[502,18]]},"467":{"position":[[383,18]]}},"keywords":{}}],["quot;headers"",{"_index":5117,"title":{},"content":{"1031":{"position":[[1014,20]]}},"keywords":{}}],["quot;hello",{"_index":551,"title":{},"content":{"18":{"position":[[499,11]]},"589":{"position":[[193,12],[235,12],[261,12],[303,12]]},"591":{"position":[[758,12],[858,12]]},"600":{"position":[[217,12]]},"602":{"position":[[227,12]]},"605":{"position":[[157,12],[194,12]]},"606":{"position":[[270,11],[337,11]]},"608":{"position":[[257,12],[339,12],[402,12]]},"609":{"position":[[257,12],[319,12],[339,12],[400,12]]},"620":{"position":[[233,12],[270,12]]},"621":{"position":[[157,12],[194,12]]},"910":{"position":[[316,11],[345,11]]},"1047":{"position":[[485,11]]}},"keywords":{}}],["quot;hello"",{"_index":2336,"title":{},"content":{"435":{"position":[[195,18]]},"619":{"position":[[218,17],[283,17]]},"814":{"position":[[195,18]]},"892":{"position":[[229,19]]},"1044":{"position":[[1098,18],[1636,18]]},"1048":{"position":[[352,18]]},"1049":{"position":[[697,19],[853,18],[1084,18]]}},"keywords":{}}],["quot;hello".removeprefix("hello"",{"_index":2925,"title":{},"content":{"608":{"position":[[428,49]]}},"keywords":{}}],["quot;hello".removesuffix("hello"",{"_index":2930,"title":{},"content":{"609":{"position":[[426,49]]}},"keywords":{}}],["quot;hello.sil"",{"_index":5238,"title":{},"content":{"1048":{"position":[[378,23]]}},"keywords":{}}],["quot;hello.txt"",{"_index":8617,"title":{},"content":{"1487":{"position":[[3337,21]]}},"keywords":{}}],["quot;heterological\\"",{"_index":2838,"title":{},"content":{"595":{"position":[[1744,27]]}},"keywords":{}}],["quot;host"",{"_index":3312,"title":{},"content":{"663":{"position":[[828,18]]},"901":{"position":[[783,18]]}},"keywords":{}}],["quot;http"",{"_index":7907,"title":{},"content":{"1422":{"position":[[3696,17]]},"1423":{"position":[[2467,17]]}},"keywords":{}}],["quot;https"",{"_index":7908,"title":{},"content":{"1422":{"position":[[3714,18]]},"1423":{"position":[[2485,18]]}},"keywords":{}}],["quot;https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/request",{"_index":8274,"title":{},"content":{"1461":{"position":[[3430,121]]}},"keywords":{}}],["quot;https://github.com/serd",{"_index":7717,"title":{},"content":{"1404":{"position":[[1559,30]]}},"keywords":{}}],["quot;i",{"_index":2835,"title":{},"content":{"595":{"position":[[1670,8],[1735,8]]}},"keywords":{}}],["quot;i'm",{"_index":8462,"title":{},"content":{"1477":{"position":[[2852,9]]}},"keywords":{}}],["quot;id"",{"_index":4011,"title":{},"content":{"867":{"position":[[320,15]]},"1486":{"position":[[3839,15],[4030,15],[4232,15],[4705,15],[5595,15],[5840,15]]}},"keywords":{}}],["quot;id1"",{"_index":3985,"title":{},"content":{"864":{"position":[[452,16],[1113,16]]}},"keywords":{}}],["quot;id2"",{"_index":3992,"title":{},"content":{"864":{"position":[[1259,16]]}},"keywords":{}}],["quot;idb_companion"",{"_index":5337,"title":{},"content":{"1054":{"position":[[409,26],[1041,25]]}},"keywords":{}}],["quot;identifier"",{"_index":4026,"title":{},"content":{"867":{"position":[[988,23]]}},"keywords":{}}],["quot;includes"",{"_index":7769,"title":{},"content":{"1407":{"position":[[5045,21]]}},"keywords":{}}],["quot;inherit"",{"_index":7284,"title":{},"content":{"1386":{"position":[[5744,19]]}},"keywords":{}}],["quot;input_materialization_duration_millis"",{"_index":4030,"title":{},"content":{"867":{"position":[[1239,50]]}},"keywords":{}}],["quot;install"",{"_index":7100,"title":{},"content":{"1374":{"position":[[3415,20],[3468,22]]}},"keywords":{}}],["quot;instantiation"",{"_index":7279,"title":{},"content":{"1386":{"position":[[4267,25]]}},"keywords":{}}],["quot;instrumentation_tests"",{"_index":8519,"title":{},"content":{"1482":{"position":[[1960,34]]}},"keywords":{}}],["quot;instrumentation_tests.sh"",{"_index":8520,"title":{},"content":{"1482":{"position":[[2002,37]]}},"keywords":{}}],["quot;int"",{"_index":1700,"title":{},"content":{"306":{"position":[[351,16]]},"648":{"position":[[129,15]]},"671":{"position":[[183,15],[210,15]]},"712":{"position":[[562,16],[1208,16]]}},"keywords":{}}],["quot;int_value"",{"_index":4016,"title":{},"content":{"867":{"position":[[450,22]]}},"keywords":{}}],["quot;integration_tests"",{"_index":8522,"title":{},"content":{"1482":{"position":[[2119,30]]}},"keywords":{}}],["quot;integration_tests.sh"",{"_index":8523,"title":{},"content":{"1482":{"position":[[2157,33]]}},"keywords":{}}],["quot;invoke"",{"_index":4770,"title":{},"content":{"961":{"position":[[262,18]]}},"keywords":{}}],["quot;io",{"_index":5502,"title":{},"content":{"1072":{"position":[[605,9],[755,9],[1285,9]]}},"keywords":{}}],["quot;ios_simulator"",{"_index":5343,"title":{},"content":{"1054":{"position":[[1252,25],[1575,25],[1808,26]]}},"keywords":{}}],["quot;iphon",{"_index":5507,"title":{},"content":{"1072":{"position":[[815,12],[1345,12]]}},"keywords":{}}],["quot;items"",{"_index":6166,"title":{},"content":{"1235":{"position":[[1141,18]]}},"keywords":{}}],["quot;java"",{"_index":6569,"title":{},"content":{"1355":{"position":[[6710,16],[7549,16]]},"1427":{"position":[[5909,16],[7038,16]]}},"keywords":{}}],["quot;javac"",{"_index":6557,"title":{},"content":{"1355":{"position":[[3365,18],[3509,17]]},"1439":{"position":[[3186,18],[3330,17]]}},"keywords":{}}],["quot;kapt"",{"_index":6556,"title":{},"content":{"1355":{"position":[[3345,16],[3384,16]]},"1439":{"position":[[3166,16],[3205,16]]}},"keywords":{}}],["quot;kernel"",{"_index":7520,"title":{},"content":{"1393":{"position":[[10417,19]]},"1395":{"position":[[3937,19]]}},"keywords":{}}],["quot;key",{"_index":2066,"title":{},"content":{"389":{"position":[[380,11],[557,11],[1597,11]]},"768":{"position":[[380,11],[557,11],[1597,11]]}},"keywords":{}}],["quot;kind"",{"_index":4023,"title":{},"content":{"867":{"position":[[737,17]]}},"keywords":{}}],["quot;kind('java",{"_index":6283,"title":{},"content":{"1271":{"position":[[234,20]]},"1302":{"position":[[234,20]]},"1330":{"position":[[234,20]]}},"keywords":{}}],["quot;kinds."",{"_index":4893,"title":{},"content":{"988":{"position":[[261,18]]}},"keywords":{}}],["quot;kotlinx",{"_index":8056,"title":{},"content":{"1439":{"position":[[6031,13],[6116,13],[6417,13],[6473,13]]}},"keywords":{}}],["quot;l"",{"_index":2787,"title":{},"content":{"592":{"position":[[361,14],[376,14]]},"991":{"position":[[2036,14]]}},"keywords":{}}],["quot;label"",{"_index":5328,"title":{},"content":{"1053":{"position":[[585,19]]}},"keywords":{}}],["quot;length",{"_index":2396,"title":{},"content":{"446":{"position":[[526,12]]},"825":{"position":[[526,12]]}},"keywords":{}}],["quot;lib"",{"_index":6800,"title":{},"content":{"1362":{"position":[[8557,16]]},"1364":{"position":[[9671,16]]},"1367":{"position":[[8645,16]]},"1373":{"position":[[8806,16]]}},"keywords":{}}],["quot;lib"},"//foo/bar:app"",{"_index":5832,"title":{},"content":{"1131":{"position":[[854,42]]}},"keywords":{}}],["quot;library"",{"_index":6798,"title":{},"content":{"1362":{"position":[[8477,20]]},"1364":{"position":[[9591,20]]},"1367":{"position":[[8565,20]]}},"keywords":{}}],["quot;linker"",{"_index":2317,"title":{},"content":{"429":{"position":[[425,19],[494,19]]},"808":{"position":[[425,19],[494,19]]}},"keywords":{}}],["quot;linux"",{"_index":4655,"title":{},"content":{"940":{"position":[[1319,18]]},"1374":{"position":[[3957,18]]}},"keywords":{}}],["quot;linux/node"",{"_index":7105,"title":{},"content":{"1374":{"position":[[3750,23]]}},"keywords":{}}],["quot;list"",{"_index":3238,"title":{},"content":{"652":{"position":[[110,16]]}},"keywords":{}}],["quot;list_string"",{"_index":1702,"title":{},"content":{"306":{"position":[[372,24]]},"712":{"position":[[592,24],[1229,24]]}},"keywords":{}}],["quot;list_type"",{"_index":3851,"title":{},"content":{"840":{"position":[[436,22]]},"850":{"position":[[346,22]]}},"keywords":{}}],["quot;list_value"",{"_index":4018,"title":{},"content":{"867":{"position":[[478,23]]}},"keywords":{}}],["quot;local"",{"_index":7562,"title":{},"content":{"1396":{"position":[[1719,18]]}},"keywords":{}}],["quot;local/erl"",{"_index":7563,"title":{},"content":{"1396":{"position":[[1744,22]]}},"keywords":{}}],["quot;local/erlc"",{"_index":7564,"title":{},"content":{"1396":{"position":[[1774,23]]}},"keywords":{}}],["quot;local/escript"",{"_index":7565,"title":{},"content":{"1396":{"position":[[1808,26]]}},"keywords":{}}],["quot;local_name"",{"_index":8433,"title":{},"content":{"1471":{"position":[[4707,24]]},"1472":{"position":[[3658,24],[5291,24]]},"1473":{"position":[[5028,24]]}},"keywords":{}}],["quot;localhost"",{"_index":3309,"title":{},"content":{"663":{"position":[[767,21]]}},"keywords":{}}],["quot;localhost"and",{"_index":4391,"title":{},"content":{"901":{"position":[[723,24]]}},"keywords":{}}],["quot;localresourceinfo"",{"_index":2029,"title":{},"content":{"377":{"position":[[494,29]]},"756":{"position":[[494,29]]}},"keywords":{}}],["quot;macos"",{"_index":7109,"title":{},"content":{"1374":{"position":[[4001,18]]}},"keywords":{}}],["quot;macos/node"",{"_index":7107,"title":{},"content":{"1374":{"position":[[3826,23]]}},"keywords":{}}],["quot;magic1"",{"_index":7700,"title":{},"content":{"1403":{"position":[[8554,19]]}},"keywords":{}}],["quot;magic2"",{"_index":7703,"title":{},"content":{"1403":{"position":[[8714,19]]}},"keywords":{}}],["quot;main"",{"_index":557,"title":{},"content":{"18":{"position":[[641,17]]},"1386":{"position":[[4421,16]]}},"keywords":{}}],["quot;main.cpp"",{"_index":559,"title":{},"content":{"18":{"position":[[666,23]]},"1485":{"position":[[5052,21]]}},"keywords":{}}],["quot;main.go"",{"_index":7073,"title":{},"content":{"1373":{"position":[[8735,22]]},"1407":{"position":[[4646,22]]}},"keywords":{}}],["quot;main_module"",{"_index":7549,"title":{},"content":{"1395":{"position":[[3674,24]]}},"keywords":{}}],["quot;mak",{"_index":4615,"title":{},"content":{"937":{"position":[[4431,12]]}},"keywords":{}}],["quot;manifest"",{"_index":7697,"title":{},"content":{"1403":{"position":[[8226,21]]}},"keywords":{}}],["quot;manifest,"",{"_index":7708,"title":{},"content":{"1403":{"position":[[9012,21]]}},"keywords":{}}],["quot;map",{"_index":3762,"title":{},"content":{"712":{"position":[[2099,9],[3005,9]]}},"keywords":{}}],["quot;matches"",{"_index":1930,"title":{},"content":{"363":{"position":[[309,19]]},"742":{"position":[[309,19]]}},"keywords":{}}],["quot;message"",{"_index":5223,"title":{},"content":{"1047":{"position":[[57,22],[179,21]]}},"keywords":{}}],["quot;meta"",{"_index":7630,"title":{},"content":{"1398":{"position":[[6081,16]]}},"keywords":{}}],["quot;metadata"",{"_index":4012,"title":{},"content":{"867":{"position":[[353,21]]}},"keywords":{}}],["quot;minimal"",{"_index":7509,"title":{},"content":{"1393":{"position":[[9896,20]]}},"keywords":{}}],["quot;mirrored_attrs"",{"_index":3731,"title":{},"content":{"712":{"position":[[94,29]]}},"keywords":{}}],["quot;mirrorinfo"",{"_index":3747,"title":{},"content":{"712":{"position":[[896,23],[2312,23]]}},"keywords":{}}],["quot;mkdir",{"_index":7770,"title":{},"content":{"1407":{"position":[[5075,11]]}},"keywords":{}}],["quot;modifi",{"_index":4646,"title":{},"content":{"940":{"position":[[342,14]]}},"keywords":{}}],["quot;modifiers"",{"_index":4630,"title":{},"content":{"939":{"position":[[89,21]]}},"keywords":{}}],["quot;msvc"",{"_index":4658,"title":{},"content":{"940":{"position":[[1417,17]]}},"keywords":{}}],["quot;mvn"",{"_index":7909,"title":{},"content":{"1422":{"position":[[3737,16]]}},"keywords":{}}],["quot;mvn".vpnless_url",{"_index":7930,"title":{},"content":{"1423":{"position":[[2508,29]]}},"keywords":{}}],["quot;mvn:org.jetbrains.kotlinx:kotlinx",{"_index":8063,"title":{},"content":{"1439":{"position":[[6533,39]]}},"keywords":{}}],["quot;my//:greeting"",{"_index":5232,"title":{},"content":{"1047":{"position":[[449,26]]}},"keywords":{}}],["quot;my_anon_targets_rule"",{"_index":1695,"title":{},"content":{"306":{"position":[[189,33]]}},"keywords":{}}],["quot;my_attr"",{"_index":3954,"title":{},"content":{"857":{"position":[[83,20]]}},"keywords":{}}],["quot;my_attrs"",{"_index":3764,"title":{},"content":{"712":{"position":[[2180,20]]}},"keywords":{}}],["quot;my_bool"",{"_index":3862,"title":{},"content":{"840":{"position":[[1041,20]]}},"keywords":{}}],["quot;my_category"",{"_index":5298,"title":{},"content":{"1050":{"position":[[2744,24],[4069,24]]}},"keywords":{}}],["quot;my_content"",{"_index":1589,"title":{},"content":{"288":{"position":[[369,23]]},"289":{"position":[[389,23]]},"298":{"position":[[1324,23]]},"344":{"position":[[531,23]]},"712":{"position":[[366,23],[2891,22]]}},"keywords":{}}],["quot;my_function"",{"_index":3765,"title":{},"content":{"712":{"position":[[2406,24],[2627,23]]}},"keywords":{}}],["quot;my_int"",{"_index":5201,"title":{},"content":{"1044":{"position":[[2864,19]]}},"keywords":{}}],["quot;my_list_attribute"",{"_index":5046,"title":{},"content":{"1009":{"position":[[748,30]]}},"keywords":{}}],["quot;my_list_of_labels"",{"_index":5206,"title":{},"content":{"1044":{"position":[[3036,30]]}},"keywords":{}}],["quot;my_map_function"",{"_index":1696,"title":{},"content":{"306":{"position":[[223,28]]}},"keywords":{}}],["quot;my_mirror_rule"",{"_index":3749,"title":{},"content":{"712":{"position":[[944,27],[2206,27],[2350,26]]}},"keywords":{}}],["quot;my_optional_source"",{"_index":5204,"title":{},"content":{"1044":{"position":[[2974,31]]}},"keywords":{}}],["quot;my_output"",{"_index":4027,"title":{},"content":{"867":{"position":[[1012,21]]}},"keywords":{}}],["quot;my_resource"",{"_index":5333,"title":{},"content":{"1054":{"position":[[72,24]]}},"keywords":{}}],["quot;my_string"",{"_index":3745,"title":{},"content":{"712":{"position":[[803,24]]}},"keywords":{}}],["quot;my_string_with_default"",{"_index":5202,"title":{},"content":{"1044":{"position":[[2897,35]]}},"keywords":{}}],["quot;myapp"",{"_index":6893,"title":{},"content":{"1363":{"position":[[5634,17]]}},"keywords":{}}],["quot;mycc"",{"_index":5113,"title":{},"content":{"1031":{"position":[[876,18]]}},"keywords":{}}],["quot;mylib"",{"_index":4477,"title":{},"content":{"917":{"position":[[190,18]]}},"keywords":{}}],["quot;n"",{"_index":2584,"title":{},"content":{"566":{"position":[[666,14],[696,14]]},"645":{"position":[[470,14],[485,14]]}},"keywords":{}}],["quot;name"",{"_index":3468,"title":{},"content":{"690":{"position":[[928,17],[2134,17]]},"867":{"position":[[810,17]]},"1046":{"position":[[418,17]]},"1104":{"position":[[1755,17]]},"1131":{"position":[[833,18],[955,18]]}},"keywords":{}}],["quot;named_outputs"",{"_index":7676,"title":{},"content":{"1403":{"position":[[5535,26]]}},"keywords":{}}],["quot;nearest"",{"_index":3026,"title":{},"content":{"622":{"position":[[273,19],[311,19]]}},"keywords":{}}],["quot;nod",{"_index":7087,"title":{},"content":{"1374":{"position":[[2970,10],[3636,10],[3720,10],[3796,10]]}},"keywords":{}}],["quot;node"",{"_index":7108,"title":{},"content":{"1374":{"position":[[3874,17]]}},"keywords":{}}],["quot;non",{"_index":1219,"title":{},"content":{"94":{"position":[[3112,9]]},"226":{"position":[[3112,9]]}},"keywords":{}}],["quot;nonetype"",{"_index":3359,"title":{},"content":{"671":{"position":[[151,20]]}},"keywords":{}}],["quot;o"",{"_index":2788,"title":{},"content":{"592":{"position":[[391,14]]},"610":{"position":[[408,14],[487,14],[883,14]]}},"keywords":{}}],["quot;object"",{"_index":5663,"title":{},"content":{"1104":{"position":[[1799,18]]}},"keywords":{}}],["quot;objects"",{"_index":2298,"title":{},"content":{"427":{"position":[[348,20]]},"806":{"position":[[348,20]]}},"keywords":{}}],["quot;on",{"_index":2895,"title":{},"content":{"604":{"position":[[488,10]]},"614":{"position":[[480,9],[525,10]]},"616":{"position":[[877,9],[968,9],[1086,9]]}},"keywords":{}}],["quot;one"",{"_index":2499,"title":{},"content":{"553":{"position":[[203,17]]},"554":{"position":[[321,17]]},"555":{"position":[[243,17],[297,18]]},"556":{"position":[[219,17],[272,17]]},"557":{"position":[[430,17]]},"558":{"position":[[285,17],[341,17]]},"559":{"position":[[513,17],[634,17],[741,17]]},"561":{"position":[[246,17]]},"595":{"position":[[1626,16]]},"607":{"position":[[490,17],[590,17]]},"613":{"position":[[384,16]]},"616":{"position":[[914,17],[1018,17],[1130,17]]},"617":{"position":[[526,17]]},"639":{"position":[[424,16],[490,17],[587,17]]},"665":{"position":[[514,16]]}},"keywords":{}}],["quot;one".partition("/"",{"_index":2919,"title":{},"content":{"607":{"position":[[546,40]]}},"keywords":{}}],["quot;one".rpartition("/"",{"_index":2959,"title":{},"content":{"613":{"position":[[310,41]]}},"keywords":{}}],["quot;one/two"",{"_index":2958,"title":{},"content":{"613":{"position":[[254,21]]}},"keywords":{}}],["quot;one/two/three".partition("/"",{"_index":2916,"title":{},"content":{"607":{"position":[[436,50]]}},"keywords":{}}],["quot;one/two/three".rpartition("/"",{"_index":2957,"title":{},"content":{"613":{"position":[[199,51]]}},"keywords":{}}],["quot;one\\n"",{"_index":3002,"title":{},"content":{"617":{"position":[[618,19]]}},"keywords":{}}],["quot;one\\n\\ntwo".splitlin",{"_index":3000,"title":{},"content":{"617":{"position":[[487,35]]}},"keywords":{}}],["quot;one\\n\\ntwo".splitlines(tru",{"_index":3001,"title":{},"content":{"617":{"position":[[575,39]]}},"keywords":{}}],["quot;option1"",{"_index":3121,"title":{},"content":{"638":{"position":[[256,20],[838,21],[1054,21]]},"902":{"position":[[825,21],[1039,21]]}},"keywords":{}}],["quot;option2"",{"_index":3118,"title":{},"content":{"638":{"position":[[134,20],[277,19],[701,19],[860,20],[1076,20]]},"902":{"position":[[112,20],[254,19],[690,19],[847,20],[1061,20]]}},"keywords":{}}],["quot;option3"",{"_index":3119,"title":{},"content":{"638":{"position":[[155,20],[1097,21]]},"902":{"position":[[133,20],[278,20],[1082,21]]}},"keywords":{}}],["quot;option3"].treat",{"_index":3133,"title":{},"content":{"638":{"position":[[881,26]]},"902":{"position":[[868,26]]}},"keywords":{}}],["quot;optional"",{"_index":3853,"title":{},"content":{"840":{"position":[[490,21]]},"850":{"position":[[400,21]]}},"keywords":{}}],["quot;options"",{"_index":2299,"title":{},"content":{"427":{"position":[[391,20]]},"806":{"position":[[391,20]]}},"keywords":{}}],["quot;origin"",{"_index":5615,"title":{},"content":{"1093":{"position":[[518,18]]}},"keywords":{}}],["quot;os"",{"_index":5011,"title":{},"content":{"1004":{"position":[[1891,15]]}},"keywords":{}}],["quot;other_foo"",{"_index":4960,"title":{},"content":{"993":{"position":[[318,22]]}},"keywords":{}}],["quot;other_test_suite".erl",{"_index":7642,"title":{},"content":{"1398":{"position":[[7056,34]]}},"keywords":{}}],["quot;out"",{"_index":1964,"title":{},"content":{"368":{"position":[[1280,16]]},"747":{"position":[[1280,16]]},"851":{"position":[[250,16]]},"1103":{"position":[[451,16]]}},"keywords":{}}],["quot;out1.txt"",{"_index":7678,"title":{},"content":{"1403":{"position":[[5594,21],[5687,20],[5925,21],[6003,21]]}},"keywords":{}}],["quot;out2.txt"",{"_index":7680,"title":{},"content":{"1403":{"position":[[5642,21],[6025,21]]}},"keywords":{}}],["quot;output"",{"_index":5180,"title":{},"content":{"1044":{"position":[[989,21],[1472,21],[1526,21]]}},"keywords":{}}],["quot;output.o"",{"_index":1094,"title":{},"content":{"89":{"position":[[1025,22]]},"221":{"position":[[1025,22]]}},"keywords":{}}],["quot;output1"",{"_index":7677,"title":{},"content":{"1403":{"position":[[5571,20],[5902,20],[5980,20]]}},"keywords":{}}],["quot;output2"",{"_index":7679,"title":{},"content":{"1403":{"position":[[5619,20]]}},"keywords":{}}],["quot;output_one"",{"_index":7674,"title":{},"content":{"1403":{"position":[[4607,23],[4668,23]]}},"keywords":{}}],["quot;output_size"",{"_index":4029,"title":{},"content":{"867":{"position":[[1170,24]]}},"keywords":{}}],["quot;output_two"",{"_index":7675,"title":{},"content":{"1403":{"position":[[4692,23]]}},"keywords":{}}],["quot;outputs"/artifact",{"_index":4805,"title":{},"content":{"966":{"position":[[67,30]]}},"keywords":{}}],["quot;ovr_config//os:linux"",{"_index":3485,"title":{},"content":{"690":{"position":[[1561,33]]}},"keywords":{}}],["quot;ovr_config//os:windows"",{"_index":3482,"title":{},"content":{"690":{"position":[[1373,35]]}},"keywords":{}}],["quot;ovr_config//platform/linux:<omitted>"",{"_index":3490,"title":{},"content":{"690":{"position":[[1989,55]]}},"keywords":{}}],["quot;owner"",{"_index":4034,"title":{},"content":{"867":{"position":[[1430,18]]}},"keywords":{}}],["quot;owner('examples/1.txt')"",{"_index":6287,"title":{},"content":{"1273":{"position":[[268,35]]},"1304":{"position":[[268,35]]},"1332":{"position":[[268,35]]}},"keywords":{}}],["quot;p1"",{"_index":4930,"title":{},"content":{"991":{"position":[[1778,15]]}},"keywords":{}}],["quot;p1_real"",{"_index":4929,"title":{},"content":{"991":{"position":[[1680,20]]}},"keywords":{}}],["quot;p2"",{"_index":4933,"title":{},"content":{"991":{"position":[[1966,15]]}},"keywords":{}}],["quot;p2_real"",{"_index":4932,"title":{},"content":{"991":{"position":[[1868,20]]}},"keywords":{}}],["quot;passed"",{"_index":8481,"title":{},"content":{"1478":{"position":[[3203,18]]}},"keywords":{}}],["quot;path"",{"_index":5289,"title":{},"content":{"1050":{"position":[[1688,17]]}},"keywords":{}}],["quot;path_to_suite/suite_suite.erl"",{"_index":7619,"title":{},"content":{"1398":{"position":[[4835,41]]}},"keywords":{}}],["quot;pch",{"_index":7260,"title":{},"content":{"1386":{"position":[[2652,9]]}},"keywords":{}}],["quot;pid"",{"_index":2030,"title":{},"content":{"377":{"position":[[794,16]]},"756":{"position":[[794,16]]},"1052":{"position":[[676,16]]},"1054":{"position":[[538,16]]}},"keywords":{}}],["quot;pid"map",{"_index":2035,"title":{},"content":{"377":{"position":[[947,20]]},"756":{"position":[[947,20]]}},"keywords":{}}],["quot;platform"",{"_index":4564,"title":{},"content":{"927":{"position":[[317,20]]},"1072":{"position":[[733,21],[1263,21]]}},"keywords":{}}],["quot;platforminfo"",{"_index":2050,"title":{},"content":{"379":{"position":[[198,24]]},"758":{"position":[[198,24]]}},"keywords":{}}],["quot;plugin",{"_index":4889,"title":{},"content":{"988":{"position":[[43,12]]}},"keywords":{}}],["quot;plugin:somepluginid:somedirectoryrelatedoptionkey"",{"_index":8045,"title":{},"content":{"1439":{"position":[[5290,62]]}},"keywords":{}}],["quot;plugin:somepluginid:somepluginoptionkey"",{"_index":8043,"title":{},"content":{"1439":{"position":[[5202,52]]}},"keywords":{}}],["quot;plugins"",{"_index":6951,"title":{},"content":{"1366":{"position":[[2166,20]]}},"keywords":{}}],["quot;port"",{"_index":3313,"title":{},"content":{"663":{"position":[[847,18]]},"901":{"position":[[802,18]]}},"keywords":{}}],["quot;prelude//erlang/shell:buck2_shell_utils"",{"_index":7488,"title":{},"content":{"1393":{"position":[[7534,53]]},"1398":{"position":[[4480,53]]}},"keywords":{}}],["quot;proc_macro"",{"_index":4916,"title":{},"content":{"991":{"position":[[249,23]]}},"keywords":{}}],["quot;process"",{"_index":5280,"title":{},"content":{"1049":{"position":[[1548,20]]}},"keywords":{}}],["quot;promise"",{"_index":3708,"title":{},"content":{"711":{"position":[[218,20],[377,20],[543,20]]}},"keywords":{}}],["quot;promise_artifact"",{"_index":3712,"title":{},"content":{"711":{"position":[[570,29]]}},"keywords":{}}],["quot;protocol_version"",{"_index":8582,"title":{},"content":{"1486":{"position":[[3899,29],[4090,29]]}},"keywords":{}}],["quot;provid",{"_index":5028,"title":{},"content":{"1006":{"position":[[886,15],[963,15],[1045,15],[1123,15]]}},"keywords":{}}],["quot;provider"",{"_index":2296,"title":{},"content":{"427":{"position":[[138,20]]},"712":{"position":[[263,23]]},"806":{"position":[[138,20]]},"1049":{"position":[[780,23],[1228,23]]},"1054":{"position":[[273,23],[1719,23]]}},"keywords":{}}],["quot;provider_collection"",{"_index":3768,"title":{},"content":{"712":{"position":[[2573,32]]}},"keywords":{}}],["quot;public"",{"_index":582,"title":{},"content":{"18":{"position":[[1329,21],[1438,21]]},"690":{"position":[[996,18],[2202,18]]},"994":{"position":[[630,19]]},"995":{"position":[[1529,21]]},"1362":{"position":[[10556,18]]},"1382":{"position":[[7425,18]]},"1388":{"position":[[8294,18]]},"1416":{"position":[[2722,18]]},"1462":{"position":[[6342,18]]},"1467":{"position":[[7456,18]]},"1482":{"position":[[2053,21],[2204,21],[2334,21]]}},"keywords":{}}],["quot;python3"",{"_index":1656,"title":{},"content":{"298":{"position":[[2741,20]]},"851":{"position":[[2067,20]]}},"keywords":{}}],["quot;python_bootstrap"",{"_index":583,"title":{},"content":{"18":{"position":[[1395,29]]}},"keywords":{}}],["quot;queryfunction(//:foo)"",{"_index":5836,"title":{},"content":{"1132":{"position":[[136,34],[187,34],[262,34]]}},"keywords":{}}],["quot;quot",{"_index":6228,"title":{},"content":{"1258":{"position":[[42,12]]},"1289":{"position":[[42,12]]},"1317":{"position":[[42,12]]}},"keywords":{}}],["quot;qux"",{"_index":5581,"title":{},"content":{"1084":{"position":[[530,16]]},"1087":{"position":[[634,16],[724,17]]},"1088":{"position":[[981,16],[1385,17],[1482,16],[1511,17],[1567,17]]}},"keywords":{}}],["quot;r"",{"_index":3335,"title":{},"content":{"665":{"position":[[390,14]]}},"keywords":{}}],["quot;range"",{"_index":3288,"title":{},"content":{"662":{"position":[[125,17]]}},"keywords":{}}],["quot;rdeps('//foo:bar",{"_index":5851,"title":{},"content":{"1133":{"position":[[997,24]]}},"keywords":{}}],["quot;rdeps(deps(//example:foo",{"_index":4401,"title":{},"content":{"904":{"position":[[379,32]]}},"keywords":{}}],["quot;readme"",{"_index":7515,"title":{},"content":{"1393":{"position":[[10183,19]]}},"keywords":{}}],["quot;readme.md"",{"_index":7516,"title":{},"content":{"1393":{"position":[[10209,22]]}},"keywords":{}}],["quot;releases/1.0.0"",{"_index":7593,"title":{},"content":{"1397":{"position":[[3667,27]]}},"keywords":{}}],["quot;request",{"_index":8272,"title":{},"content":{"1461":{"position":[[3393,14],[3654,14]]}},"keywords":{}}],["quot;requests"",{"_index":8279,"title":{},"content":{"1461":{"position":[[3738,21]]}},"keywords":{}}],["quot;resources"",{"_index":2031,"title":{},"content":{"377":{"position":[[815,22]]},"756":{"position":[[815,22]]},"1052":{"position":[[697,22]]},"1054":{"position":[[559,22]]},"1366":{"position":[[2094,22]]},"1485":{"position":[[4883,22]]}},"keywords":{}}],["quot;resources.rc"",{"_index":8550,"title":{},"content":{"1485":{"position":[[4915,25]]}},"keywords":{}}],["quot;result"",{"_index":8597,"title":{},"content":{"1486":{"position":[[4742,19]]}},"keywords":{}}],["quot;root//..."",{"_index":1804,"title":{},"content":{"330":{"position":[[447,22]]},"471":{"position":[[328,22]]}},"keywords":{}}],["quot;root//bin:the_binary".analyz",{"_index":4545,"title":{},"content":{"924":{"position":[[1626,42]]}},"keywords":{}}],["quot;root//bin:the_binary".rdep",{"_index":4546,"title":{},"content":{"924":{"position":[[1692,40]]}},"keywords":{}}],["quot;rpath"",{"_index":8435,"title":{},"content":{"1471":{"position":[[4905,17]]},"1473":{"position":[[5226,17]]}},"keywords":{}}],["quot;rule"",{"_index":3707,"title":{},"content":{"711":{"position":[[171,17],[333,19]]}},"keywords":{}}],["quot;rule_type"",{"_index":4100,"title":{},"content":{"878":{"position":[[423,23]]}},"keywords":{}}],["quot;run",{"_index":5496,"title":{},"content":{"1071":{"position":[[352,9]]}},"keywords":{}}],["quot;run"",{"_index":7101,"title":{},"content":{"1374":{"position":[[3515,16],[3564,18]]}},"keywords":{}}],["quot;runinfo"",{"_index":2054,"title":{},"content":{"386":{"position":[[351,19]]},"765":{"position":[[351,19]]}},"keywords":{}}],["quot;rust_library"",{"_index":3465,"title":{},"content":{"690":{"position":[[826,25],[1848,25]]}},"keywords":{}}],["quot;s"",{"_index":3334,"title":{},"content":{"665":{"position":[[345,14],[360,14],[420,14]]}},"keywords":{}}],["quot;scratch"",{"_index":1235,"title":{},"content":{"94":{"position":[[4122,19]]},"226":{"position":[[4122,19]]}},"keywords":{}}],["quot;script"",{"_index":7548,"title":{},"content":{"1395":{"position":[[3640,19]]},"1477":{"position":[[2704,19]]}},"keywords":{}}],["quot;script.sh"",{"_index":8460,"title":{},"content":{"1477":{"position":[[2731,22]]},"1478":{"position":[[2885,22],[2987,22]]}},"keywords":{}}],["quot;script_fail"",{"_index":8478,"title":{},"content":{"1478":{"position":[[2955,24]]}},"keywords":{}}],["quot;script_pass"",{"_index":8476,"title":{},"content":{"1478":{"position":[[2853,24]]}},"keywords":{}}],["quot;scripts"",{"_index":7090,"title":{},"content":{"1374":{"position":[[3052,19]]}},"keywords":{}}],["quot;search"",{"_index":5870,"title":{},"content":{"1136":{"position":[[1481,18]]},"1148":{"position":[[1837,18]]},"1205":{"position":[[961,18]]},"1209":{"position":[[714,18]]},"1226":{"position":[[2654,18],[4759,18]]},"1235":{"position":[[1974,18]]},"1237":{"position":[[2824,18],[4929,18]]}},"keywords":{}}],["quot;selector"",{"_index":3480,"title":{},"content":{"690":{"position":[[1303,21],[1491,21]]},"1235":{"position":[[1185,21]]}},"keywords":{}}],["quot;serde.git"",{"_index":7716,"title":{},"content":{"1404":{"position":[[1529,22]]}},"keywords":{}}],["quot;server"",{"_index":7091,"title":{},"content":{"1374":{"position":[[3096,19]]}},"keywords":{}}],["quot;set",{"_index":5825,"title":{},"content":{"1130":{"position":[[233,10]]}},"keywords":{}}],["quot;shar",{"_index":7205,"title":{},"content":{"1384":{"position":[[18250,13]]},"1472":{"position":[[5566,13]]}},"keywords":{}}],["quot;shared"",{"_index":7760,"title":{},"content":{"1407":{"position":[[4619,19]]}},"keywords":{}}],["quot;shell".ignore_artifact",{"_index":2153,"title":{},"content":{"405":{"position":[[1916,34]]},"784":{"position":[[1916,34]]}},"keywords":{}}],["quot;silly_binary"",{"_index":5236,"title":{},"content":{"1048":{"position":[[305,25]]}},"keywords":{}}],["quot;simple"",{"_index":4033,"title":{},"content":{"867":{"position":[[1380,19]]}},"keywords":{}}],["quot;singular"",{"_index":1615,"title":{},"content":{"294":{"position":[[1226,21]]},"301":{"position":[[1179,21]]},"310":{"position":[[646,21]]},"311":{"position":[[489,21]]}},"keywords":{}}],["quot;slow_tests"",{"_index":8527,"title":{},"content":{"1482":{"position":[[2385,23]]}},"keywords":{}}],["quot;socket_address"",{"_index":2032,"title":{},"content":{"377":{"position":[[840,28],[889,28]]},"756":{"position":[[840,28],[889,28]]},"1052":{"position":[[722,28],[771,28]]},"1054":{"position":[[436,26],[584,28],[633,28]]}},"keywords":{}}],["quot;some_atom"",{"_index":7523,"title":{},"content":{"1393":{"position":[[10508,22]]}},"keywords":{}}],["quot;some_dir_to_copy_to/androidmanifest.xml"",{"_index":7702,"title":{},"content":{"1403":{"position":[[8637,52],[8807,52]]}},"keywords":{}}],["quot;some_tool"",{"_index":5283,"title":{},"content":{"1049":{"position":[[1668,22]]}},"keywords":{}}],["quot;somepluginoptionvalue"",{"_index":8044,"title":{},"content":{"1439":{"position":[[5255,34]]}},"keywords":{}}],["quot;somepluginsourcepath"",{"_index":8042,"title":{},"content":{"1439":{"position":[[5166,33]]}},"keywords":{}}],["quot;something"",{"_index":2218,"title":{},"content":{"415":{"position":[[305,22]]},"794":{"position":[[305,22]]}},"keywords":{}}],["quot;source"",{"_index":1996,"title":{},"content":{"368":{"position":[[3048,19],[3469,19]]},"747":{"position":[[3048,19],[3469,19]]}},"keywords":{}}],["quot;source_level"",{"_index":6568,"title":{},"content":{"1355":{"position":[[6678,24]]},"1427":{"position":[[5877,24]]}},"keywords":{}}],["quot;split")("a"",{"_index":3187,"title":{},"content":{"645":{"position":[[417,33]]}},"keywords":{}}],["quot;src"",{"_index":5249,"title":{},"content":{"1048":{"position":[[839,16],[1375,16]]},"1108":{"position":[[521,16]]}},"keywords":{}}],["quot;src/app_a.app.src"",{"_index":7513,"title":{},"content":{"1393":{"position":[[10092,30]]}},"keywords":{}}],["quot;src/app_a.erl"",{"_index":7511,"title":{},"content":{"1393":{"position":[[9997,26]]}},"keywords":{}}],["quot;src/app_b.erl"",{"_index":7518,"title":{},"content":{"1393":{"position":[[10328,26]]}},"keywords":{}}],["quot;src/app_b.hrl"",{"_index":7519,"title":{},"content":{"1393":{"position":[[10355,26]]}},"keywords":{}}],["quot;src/generated.rs"",{"_index":8432,"title":{},"content":{"1471":{"position":[[4401,28]]},"1472":{"position":[[4985,28]]},"1473":{"position":[[4722,28]]}},"keywords":{}}],["quot;src/leex_stub.xrl"",{"_index":7531,"title":{},"content":{"1393":{"position":[[10687,30]]}},"keywords":{}}],["quot;src/lib.rs"",{"_index":7900,"title":{},"content":{"1422":{"position":[[3150,25]]}},"keywords":{}}],["quot;src/main_module.erl"",{"_index":7555,"title":{},"content":{"1395":{"position":[[3885,34]]}},"keywords":{}}],["quot;src/yecc_stub.yrl"",{"_index":7532,"title":{},"content":{"1393":{"position":[[10718,30]]}},"keywords":{}}],["quot;srcs"",{"_index":1962,"title":{},"content":{"368":{"position":[[1234,17]]},"747":{"position":[[1234,17]]},"1048":{"position":[[1544,17]]}},"keywords":{}}],["quot;starlark_rule_is_too_long"",{"_index":2395,"title":{},"content":{"446":{"position":[[487,38]]},"825":{"position":[[487,38]]}},"keywords":{}}],["quot;starlarkuserevent"",{"_index":4010,"title":{},"content":{"867":{"position":[[287,30]]}},"keywords":{}}],["quot;start.sh"",{"_index":7598,"title":{},"content":{"1397":{"position":[[3879,21],[3907,21]]}},"keywords":{}}],["quot;stat",{"_index":5515,"title":{},"content":{"1072":{"position":[[957,12]]}},"keywords":{}}],["quot;state"",{"_index":6174,"title":{},"content":{"1243":{"position":[[228,17]]}},"keywords":{}}],["quot;static"",{"_index":561,"title":{},"content":{"18":{"position":[[703,19]]}},"keywords":{}}],["quot;stderr_path"",{"_index":8590,"title":{},"content":{"1486":{"position":[[4387,24]]}},"keywords":{}}],["quot;stdlib"",{"_index":7521,"title":{},"content":{"1393":{"position":[[10437,19]]},"1395":{"position":[[3957,19]]}},"keywords":{}}],["quot;stdout_path"",{"_index":8588,"title":{},"content":{"1486":{"position":[[4338,24]]}},"keywords":{}}],["quot;str"",{"_index":4015,"title":{},"content":{"867":{"position":[[433,16]]}},"keywords":{}}],["quot;string"",{"_index":1706,"title":{},"content":{"306":{"position":[[444,19]]},"668":{"position":[[90,18]]},"671":{"position":[[283,18]]},"712":{"position":[[645,19],[1301,19]]}},"keywords":{}}],["quot;string_value"",{"_index":4014,"title":{},"content":{"867":{"position":[[407,25]]}},"keywords":{}}],["quot;stringinfo"",{"_index":3748,"title":{},"content":{"712":{"position":[[920,23]]}},"keywords":{}}],["quot;stripped"",{"_index":1956,"title":{},"content":{"368":{"position":[[1057,21],[1313,21]]},"747":{"position":[[1057,21],[1313,21]]}},"keywords":{}}],["quot;strong"",{"_index":6056,"title":{},"content":{"1226":{"position":[[1475,18],[1603,18]]},"1237":{"position":[[1645,18],[1773,18]]}},"keywords":{}}],["quot;struct"",{"_index":3352,"title":{},"content":{"669":{"position":[[72,18]]}},"keywords":{}}],["quot;subplatform"",{"_index":5506,"title":{},"content":{"1072":{"position":[[790,24],[1320,24]]}},"keywords":{}}],["quot;subtarget2"",{"_index":940,"title":{},"content":{"63":{"position":[[584,25]]},"166":{"position":[[592,25]]},"492":{"position":[[584,25]]},"548":{"position":[[592,25]]}},"keywords":{}}],["quot;success",{"_index":5722,"title":{},"content":{"1112":{"position":[[1641,14],[1969,14]]}},"keywords":{}}],["quot;successful".pars",{"_index":5314,"title":{},"content":{"1050":{"position":[[4574,28]]}},"keywords":{}}],["quot;super_fast"",{"_index":2316,"title":{},"content":{"429":{"position":[[361,22]]},"808":{"position":[[361,22]]}},"keywords":{}}],["quot;superapp"",{"_index":6895,"title":{},"content":{"1363":{"position":[[5770,21]]}},"keywords":{}}],["quot;superapp.app"",{"_index":6896,"title":{},"content":{"1363":{"position":[[5808,24]]}},"keywords":{}}],["quot;sys.config"",{"_index":7597,"title":{},"content":{"1397":{"position":[[3833,23]]}},"keywords":{}}],["quot;sys.config.src"",{"_index":7596,"title":{},"content":{"1397":{"position":[[3799,27]]}},"keywords":{}}],["quot;system_cxx_toolchain"",{"_index":577,"title":{},"content":{"18":{"position":[[1139,33]]}},"keywords":{}}],["quot;system_python_bootstrap_toolchain"",{"_index":579,"title":{},"content":{"18":{"position":[[1223,46]]}},"keywords":{}}],["quot;t"",{"_index":3336,"title":{},"content":{"665":{"position":[[405,14]]}},"keywords":{}}],["quot;target"",{"_index":3855,"title":{},"content":{"840":{"position":[[548,19]]},"850":{"position":[[458,19]]}},"keywords":{}}],["quot;target_level"",{"_index":6571,"title":{},"content":{"1355":{"position":[[7517,24]]},"1427":{"position":[[7006,24]]}},"keywords":{}}],["quot;td.run_on_windows"",{"_index":4478,"title":{},"content":{"917":{"position":[[222,30]]}},"keywords":{}}],["quot;template"",{"_index":7278,"title":{},"content":{"1386":{"position":[[3956,20],[4912,20]]}},"keywords":{}}],["quot;templateplaceholderinfo"",{"_index":2061,"title":{},"content":{"389":{"position":[[202,35]]},"768":{"position":[[202,35]]}},"keywords":{}}],["quot;test",{"_index":6508,"title":{},"content":{"1353":{"position":[[2413,10]]}},"keywords":{}}],["quot;test".alloc(h1",{"_index":4158,"title":{},"content":{"888":{"position":[[292,27]]}},"keywords":{}}],["quot;test_folder"",{"_index":7622,"title":{},"content":{"1398":{"position":[[5159,24]]}},"keywords":{}}],["quot;test_suite.erl"",{"_index":7641,"title":{},"content":{"1398":{"position":[[7027,28]]}},"keywords":{}}],["quot;the_script"",{"_index":7550,"title":{},"content":{"1395":{"position":[[3713,23]]}},"keywords":{}}],["quot;thi",{"_index":312,"title":{},"content":{"10":{"position":[[84,10]]},"840":{"position":[[1082,10]]}},"keywords":{}}],["quot;three"",{"_index":2537,"title":{},"content":{"559":{"position":[[675,18],[782,18]]},"604":{"position":[[465,19]]},"613":{"position":[[291,18]]},"614":{"position":[[547,18]]},"616":{"position":[[949,18],[1067,18]]},"654":{"position":[[380,18],[490,18],[539,17]]},"655":{"position":[[272,18],[380,18]]},"666":{"position":[[629,18],[715,18],[781,18],[845,19]]}},"keywords":{}}],["quot;to"",{"_index":4437,"title":{},"content":{"906":{"position":[[1005,14]]}},"keywords":{}}],["quot;to"/"destination"",{"_index":4435,"title":{},"content":{"906":{"position":[[733,38]]}},"keywords":{}}],["quot;toolchain"",{"_index":5251,"title":{},"content":{"1048":{"position":[[869,22],[1397,22]]}},"keywords":{}}],["quot;toolchains//:silly"",{"_index":5263,"title":{},"content":{"1048":{"position":[[1634,32]]}},"keywords":{}}],["quot;topological"",{"_index":5604,"title":{},"content":{"1088":{"position":[[1062,25],[1182,25]]}},"keywords":{}}],["quot;tpx",{"_index":5513,"title":{},"content":{"1072":{"position":[[929,9],[1459,9]]}},"keywords":{}}],["quot;transitive"",{"_index":5625,"title":{},"content":{"1098":{"position":[[118,22]]}},"keywords":{}}],["quot;true"",{"_index":1709,"title":{},"content":{"306":{"position":[[486,17]]},"712":{"position":[[681,17],[1349,17]]}},"keywords":{}}],["quot;tuple"",{"_index":3354,"title":{},"content":{"670":{"position":[[142,17]]},"671":{"position":[[238,17]]}},"keywords":{}}],["quot;two",{"_index":2991,"title":{},"content":{"616":{"position":[[1148,9]]}},"keywords":{}}],["quot;two"",{"_index":2500,"title":{},"content":{"553":{"position":[[224,16]]},"554":{"position":[[342,16]]},"555":{"position":[[264,16],[320,17]]},"556":{"position":[[240,16],[290,16]]},"557":{"position":[[451,16],[504,17]]},"558":{"position":[[306,16],[377,17]]},"559":{"position":[[534,16],[655,16],[762,16]]},"561":{"position":[[267,16]]},"604":{"position":[[448,16]]},"616":{"position":[[932,16],[1036,16]]},"617":{"position":[[558,16],[654,16]]},"639":{"position":[[441,17],[512,17],[558,17],[609,17]]},"654":{"position":[[420,15]]},"655":{"position":[[429,15]]},"665":{"position":[[465,16],[496,17]]},"666":{"position":[[679,17],[883,16]]}},"keywords":{}}],["quot;two/three"",{"_index":2918,"title":{},"content":{"607":{"position":[[523,22]]}},"keywords":{}}],["quot;type"",{"_index":3357,"title":{},"content":{"671":{"position":[[111,16]]},"1383":{"position":[[7807,17]]},"1403":{"position":[[6907,17]]},"1486":{"position":[[3858,17],[4049,17],[4251,17],[4724,17],[5625,17],[5870,17]]}},"keywords":{}}],["quot;unit_test_suite"",{"_index":7637,"title":{},"content":{"1398":{"position":[[6853,28]]}},"keywords":{}}],["quot;unit_test_sutie.erl"",{"_index":7638,"title":{},"content":{"1398":{"position":[[6890,32]]}},"keywords":{}}],["quot;unit_tests"",{"_index":8525,"title":{},"content":{"1482":{"position":[[2263,23]]}},"keywords":{}}],["quot;unit_tests.sh"",{"_index":8526,"title":{},"content":{"1482":{"position":[[2294,26]]}},"keywords":{}}],["quot;universe"",{"_index":4102,"title":{},"content":{"878":{"position":[[473,21]]}},"keywords":{}}],["quot;unkey",{"_index":2063,"title":{},"content":{"389":{"position":[[320,13],[1159,13],[1437,13]]},"768":{"position":[[320,13],[1159,13],[1437,13]]}},"keywords":{}}],["quot;util"",{"_index":7077,"title":{},"content":{"1373":{"position":[[8909,17]]}},"keywords":{}}],["quot;util.c"",{"_index":7078,"title":{},"content":{"1373":{"position":[[8934,21]]}},"keywords":{}}],["quot;util.h"",{"_index":7079,"title":{},"content":{"1373":{"position":[[8966,21]]}},"keywords":{}}],["quot;validationinfo"",{"_index":2092,"title":{},"content":{"396":{"position":[[281,26]]},"775":{"position":[[281,26]]}},"keywords":{}}],["quot;validationspec"",{"_index":2095,"title":{},"content":{"397":{"position":[[136,26]]},"776":{"position":[[136,26]]}},"keywords":{}}],["quot;version"",{"_index":5287,"title":{},"content":{"1050":{"position":[[1639,20]]}},"keywords":{}}],["quot;visibility"",{"_index":3470,"title":{},"content":{"690":{"position":[[970,23],[2176,23]]}},"keywords":{}}],["quot;watchos"",{"_index":5013,"title":{},"content":{"1004":{"position":[[1937,20]]}},"keywords":{}}],["quot;windows"",{"_index":4657,"title":{},"content":{"940":{"position":[[1396,20]]},"1374":{"position":[[3909,20]]}},"keywords":{}}],["quot;windows/node.exe"",{"_index":7103,"title":{},"content":{"1374":{"position":[[3668,29]]}},"keywords":{}}],["quot;workerinfo"",{"_index":2097,"title":{},"content":{"398":{"position":[[155,22]]},"777":{"position":[[155,22]]}},"keywords":{}}],["quot;workerruninfo"",{"_index":2098,"title":{},"content":{"399":{"position":[[155,25]]},"778":{"position":[[155,25]]}},"keywords":{}}],["quot;world"",{"_index":2781,"title":{},"content":{"591":{"position":[[922,17]]},"1049":{"position":[[717,19],[921,18],[1133,18]]},"1397":{"position":[[3520,18]]}},"keywords":{}}],["quot;world.sil"",{"_index":5239,"title":{},"content":{"1048":{"position":[[402,23]]}},"keywords":{}}],["quot;write"",{"_index":4024,"title":{},"content":{"867":{"position":[[755,18],[943,18]]}},"keywords":{}}],["quot;x!hello",{"_index":2909,"title":{},"content":{"606":{"position":[[289,13]]}},"keywords":{}}],["quot;x"",{"_index":2893,"title":{},"content":{"604":{"position":[[396,13]]},"610":{"position":[[569,14],[647,14],[732,14],[809,14],[827,13]]},"664":{"position":[[186,15]]},"668":{"position":[[298,15]]}},"keywords":{}}],["quot;x86_64"",{"_index":4856,"title":{},"content":{"980":{"position":[[1197,18]]}},"keywords":{}}],["quot;x\\"]"",{"_index":3322,"title":{},"content":{"664":{"position":[[215,22]]},"668":{"position":[[327,22]]}},"keywords":{}}],["quot;xbxanana"",{"_index":2940,"title":{},"content":{"610":{"position":[[753,20]]}},"keywords":{}}],["quot;xbxaxnxaxnxax"",{"_index":2939,"title":{},"content":{"610":{"position":[[665,25]]}},"keywords":{}}],["quot;xcod",{"_index":5510,"title":{},"content":{"1072":{"position":[[846,11],[1376,11]]}},"keywords":{}}],["quot;xcodestable"",{"_index":5512,"title":{},"content":{"1072":{"position":[[873,24],[1403,24]]}},"keywords":{}}],["quot;xpcservices"",{"_index":6952,"title":{},"content":{"1366":{"position":[[2187,24]]}},"keywords":{}}],["quot;xxhello!!".strip("x!"",{"_index":3016,"title":{},"content":{"619":{"position":[[236,43]]}},"keywords":{}}],["quot;yarn"",{"_index":7096,"title":{},"content":{"1374":{"position":[[3254,17]]}},"keywords":{}}],["quot;yarn.sh"",{"_index":7097,"title":{},"content":{"1374":{"position":[[3278,20]]}},"keywords":{}}],["quot;yecc_leex"",{"_index":7530,"title":{},"content":{"1393":{"position":[[10655,22]]}},"keywords":{}}],["quot;your_target_platform"",{"_index":1427,"title":{},"content":{"168":{"position":[[220,33]]}},"keywords":{}}],["quot;zero"",{"_index":3140,"title":{},"content":{"639":{"position":[[467,18]]}},"keywords":{}}],["quot;{feature}"",{"_index":8429,"title":{},"content":{"1471":{"position":[[3747,24]]},"1472":{"position":[[4331,24]]},"1473":{"position":[[3815,24]]}},"keywords":{}}],["quot;{tagged_tupl",{"_index":7526,"title":{},"content":{"1393":{"position":[[10568,20]]}},"keywords":{}}],["quot;世"",{"_index":2790,"title":{},"content":{"592":{"position":[[436,14]]}},"keywords":{}}],["quot;界"",{"_index":2791,"title":{},"content":{"592":{"position":[[451,14]]}},"keywords":{}}],["quotat",{"_index":3347,"title":{},"content":{"668":{"position":[[161,11]]}},"keywords":{}}],["qux",{"_index":2639,"title":{},"content":{"577":{"position":[[404,3]]},"1084":{"position":[[315,3],[345,3]]},"1088":{"position":[[1316,3],[1346,3]]}},"keywords":{}}],["qux((qux",{"_index":5579,"title":{},"content":{"1084":{"position":[[304,10]]},"1088":{"position":[[1305,10]]}},"keywords":{}}],["qux:quux",{"_index":5032,"title":{},"content":{"1006":{"position":[[1065,10],[1143,10]]}},"keywords":{}}],["r",{"_index":2631,"title":{},"content":{"576":{"position":[[249,2]]},"595":{"position":[[1134,3]]},"617":{"position":[[279,4]]},"1167":{"position":[[332,2],[1201,2],[1380,2]]},"1186":{"position":[[170,2]]},"1187":{"position":[[183,2]]}},"keywords":{}}],["r.java",{"_index":6639,"title":{},"content":{"1359":{"position":[[2107,6]]}},"keywords":{}}],["r.txt",{"_index":6640,"title":{},"content":{"1359":{"position":[[2214,5]]}},"keywords":{}}],["r10e",{"_index":8380,"title":{},"content":{"1469":{"position":[[2552,4],[2626,4]]}},"keywords":{}}],["r\\n",{"_index":2997,"title":{},"content":{"617":{"position":[[287,8]]}},"keywords":{}}],["race",{"_index":3555,"title":{},"content":{"693":{"position":[[4745,4]]},"724":{"position":[[1449,8]]},"1138":{"position":[[2735,6]]},"1140":{"position":[[2224,6]]},"1167":{"position":[[3228,6]]},"1188":{"position":[[2277,6]]},"1217":{"position":[[1969,6]]},"1228":{"position":[[4050,6]]},"1405":{"position":[[985,5],[3586,4]]},"1407":{"position":[[1012,5],[4007,4]]},"1410":{"position":[[1159,5],[4968,5],[4995,4]]}},"keywords":{}}],["rais",{"_index":1224,"title":{},"content":{"94":{"position":[[3360,5]]},"226":{"position":[[3360,5]]},"451":{"position":[[212,5]]},"645":{"position":[[373,5]]},"830":{"position":[[212,5]]},"1114":{"position":[[680,7]]}},"keywords":{}}],["raisean",{"_index":6226,"title":{},"content":{"1256":{"position":[[93,7]]}},"keywords":{}}],["ran",{"_index":3646,"title":{"893":{"position":[[28,3]]},"894":{"position":[[5,3]]},"895":{"position":[[15,3]]},"1172":{"position":[[14,4]]}},"content":{"705":{"position":[[585,3]]},"725":{"position":[[48,3]]},"835":{"position":[[102,3]]},"895":{"position":[[9,3]]},"896":{"position":[[14,3],[882,3]]},"964":{"position":[[964,4]]},"1037":{"position":[[84,3]]},"1138":{"position":[[5481,3]]},"1140":{"position":[[4970,3]]},"1167":{"position":[[5974,3]]},"1171":{"position":[[107,3],[135,3]]},"1172":{"position":[[24,3],[286,3],[478,3],[646,3],[858,3]]},"1173":{"position":[[88,3]]},"1188":{"position":[[5023,3]]},"1217":{"position":[[4715,3]]},"1228":{"position":[[6796,3]]},"1242":{"position":[[48,4]]},"1244":{"position":[[248,3]]},"1438":{"position":[[1690,3],[2114,3]]}},"keywords":{}}],["random",{"_index":5931,"title":{},"content":{"1138":{"position":[[3014,6]]},"1140":{"position":[[2503,6]]},"1167":{"position":[[3507,6]]},"1188":{"position":[[2556,6]]},"1217":{"position":[[2248,6]]},"1228":{"position":[[4329,6]]},"1477":{"position":[[2032,6]]}},"keywords":{}}],["rang",{"_index":216,"title":{"662":{"position":[[0,6]]}},"content":{"9":{"position":[[1006,5]]},"566":{"position":[[464,5],[512,5]]},"567":{"position":[[364,5]]},"662":{"position":[[4,6],[58,5],[65,6],[81,5],[152,5],[358,5],[755,5]]},"864":{"position":[[780,5]]},"890":{"position":[[2183,6]]}},"keywords":{}}],["range(0",{"_index":3292,"title":{},"content":{"662":{"position":[[260,8]]}},"keywords":{}}],["range(1",{"_index":6209,"title":{},"content":{"1252":{"position":[[216,7]]}},"keywords":{}}],["range(n",{"_index":6216,"title":{},"content":{"1253":{"position":[[482,9]]}},"keywords":{}}],["range(start",{"_index":3294,"title":{},"content":{"662":{"position":[[275,12],[310,12],[332,12],[537,12],[621,12]]}},"keywords":{}}],["range(stop",{"_index":3291,"title":{},"content":{"662":{"position":[[232,11],[433,11]]}},"keywords":{}}],["ranlib",{"_index":7388,"title":{},"content":{"1389":{"position":[[3276,7]]}},"keywords":{}}],["ranlib_flag",{"_index":7389,"title":{},"content":{"1389":{"position":[[3300,13]]}},"keywords":{}}],["rare",{"_index":2285,"title":{"1255":{"position":[[15,4]]}},"content":{"421":{"position":[[422,7]]},"800":{"position":[[422,7]]},"1255":{"position":[[54,4]]}},"keywords":{}}],["ratio",{"_index":8562,"title":{},"content":{"1486":{"position":[[2375,5]]}},"keywords":{}}],["raw",{"_index":5998,"title":{},"content":{"1172":{"position":[[2198,3]]},"1193":{"position":[[655,4]]},"1373":{"position":[[7702,3],[7857,3],[8013,3]]},"1382":{"position":[[10478,3],[10633,3],[10789,3]]},"1384":{"position":[[17552,3],[17707,3],[17863,3]]},"1388":{"position":[[8971,3],[9126,3],[9282,3]]},"1485":{"position":[[3343,3],[3498,3],[3654,3]]}},"keywords":{}}],["raw_head",{"_index":6764,"title":{},"content":{"1362":{"position":[[3948,12]]},"1364":{"position":[[3936,12]]},"1367":{"position":[[5205,12]]},"1373":{"position":[[2567,12],[8092,11]]},"1382":{"position":[[2770,12],[6285,12],[10311,12],[10868,11]]},"1384":{"position":[[3590,12],[11232,12],[16906,12],[17154,12],[17385,12],[17942,11]]},"1385":{"position":[[1722,12]]},"1387":{"position":[[3522,12]]},"1388":{"position":[[2955,12],[7154,12],[8804,12],[9361,11]]},"1415":{"position":[[2223,12]]},"1454":{"position":[[2127,12]]},"1462":{"position":[[3741,12]]},"1467":{"position":[[4010,12]]},"1485":{"position":[[583,12],[2565,12],[3733,11]]}},"keywords":{}}],["rbuildfiles(univers",{"_index":6241,"title":{"1266":{"position":[[0,21]]},"1297":{"position":[[0,21]]},"1325":{"position":[[0,21]]}},"content":{"1259":{"position":[[593,21]]},"1290":{"position":[[593,21]]},"1318":{"position":[[593,21]]}},"keywords":{}}],["rc",{"_index":8541,"title":{},"content":{"1485":{"position":[[732,5],[4812,3]]}},"keywords":{}}],["rc<refcell<(_",{"_index":4258,"title":{},"content":{"890":{"position":[[6481,20]]}},"keywords":{}}],["rc.ex",{"_index":8546,"title":{},"content":{"1485":{"position":[[4513,6]]}},"keywords":{}}],["rc/refcel",{"_index":4227,"title":{},"content":{"890":{"position":[[2826,10],[4657,11]]}},"keywords":{}}],["rc_compil",{"_index":7390,"title":{},"content":{"1389":{"position":[[3329,12]]}},"keywords":{}}],["rc_compiler_flag",{"_index":7391,"title":{},"content":{"1389":{"position":[[3358,18]]}},"keywords":{}}],["rc_compiler_typ",{"_index":7392,"title":{},"content":{"1389":{"position":[[3392,17]]}},"keywords":{}}],["rc_preprocessor_flag",{"_index":7393,"title":{},"content":{"1389":{"position":[[3426,22]]}},"keywords":{}}],["rdep",{"_index":1822,"title":{},"content":{"335":{"position":[[558,5]]},"475":{"position":[[320,5]]},"904":{"position":[[697,5],[1138,5],[1525,5]]},"905":{"position":[[955,5]]},"906":{"position":[[657,5],[676,5],[1032,5],[1145,5]]},"990":{"position":[[876,5],[910,4],[1067,4],[1120,4]]},"991":{"position":[[494,5]]},"1133":{"position":[[824,7]]}},"keywords":{}}],["rdeps(univers",{"_index":6254,"title":{"1275":{"position":[[0,15]]},"1306":{"position":[[0,15]]},"1334":{"position":[[0,15]]}},"content":{"1259":{"position":[[1416,15]]},"1290":{"position":[[1416,15]]},"1318":{"position":[[1416,15]]}},"keywords":{}}],["re",{"_index":1048,"title":{"975":{"position":[[21,3]]},"1345":{"position":[[0,2]]},"1346":{"position":[[0,2]]}},"content":{"85":{"position":[[314,2]]},"90":{"position":[[209,2]]},"94":{"position":[[3899,2]]},"217":{"position":[[314,2]]},"222":{"position":[[209,2]]},"226":{"position":[[3899,2]]},"362":{"position":[[1309,2],[1583,3],[1866,2],[2519,2]]},"693":{"position":[[6775,5]]},"702":{"position":[[402,4]]},"704":{"position":[[1103,3],[2019,2],[2463,4]]},"706":{"position":[[2086,3],[2367,2]]},"708":{"position":[[294,3],[300,6],[546,3],[552,6]]},"724":{"position":[[503,2],[634,2],[773,2]]},"741":{"position":[[1309,2],[1583,3],[1866,2],[2519,2]]},"834":{"position":[[647,3],[678,2]]},"894":{"position":[[527,2],[564,2]]},"895":{"position":[[567,2],[598,2]]},"896":{"position":[[889,3],[953,2],[1056,2]]},"897":{"position":[[43,3]]},"966":{"position":[[217,3]]},"972":{"position":[[87,2]]},"973":{"position":[[328,4]]},"975":{"position":[[22,3],[252,2],[331,2]]},"987":{"position":[[239,2]]},"991":{"position":[[2730,2]]},"1035":{"position":[[491,2]]},"1036":{"position":[[235,2]]},"1037":{"position":[[61,2],[91,3]]},"1070":{"position":[[40,5],[146,3],[543,2],[650,3],[712,2],[794,3],[906,3],[926,2],[997,2]]},"1075":{"position":[[685,2]]},"1077":{"position":[[172,2]]},"1136":{"position":[[3125,2],[5598,3],[5602,2]]},"1138":{"position":[[2717,2],[2936,2],[3154,2],[3358,2],[3536,2],[3660,2],[3725,3],[5488,2],[6787,2],[9260,3],[9264,2]]},"1140":{"position":[[2206,2],[2425,2],[2643,2],[2847,2],[3025,2],[3149,2],[3214,3],[4977,2],[5713,2],[8186,3],[8190,2]]},"1142":{"position":[[1157,2],[3630,3],[3634,2]]},"1146":{"position":[[1097,2],[3570,3],[3574,2]]},"1148":{"position":[[4137,2],[6610,3],[6614,2]]},"1155":{"position":[[1193,2],[3666,3],[3670,2]]},"1156":{"position":[[771,2],[3244,3],[3248,2]]},"1161":{"position":[[1137,3],[1141,2]]},"1167":{"position":[[3210,2],[3429,2],[3647,2],[3851,2],[4029,2],[4153,2],[4218,3],[5981,2],[6717,2],[9190,3],[9194,2]]},"1169":{"position":[[556,2]]},"1171":{"position":[[571,2]]},"1172":{"position":[[354,2],[396,3],[485,3]]},"1179":{"position":[[31,2]]},"1181":{"position":[[1349,3],[1353,2]]},"1186":{"position":[[2361,2],[4834,3],[4838,2]]},"1187":{"position":[[2374,2],[4847,3],[4851,2]]},"1188":{"position":[[2259,2],[2478,2],[2696,2],[2900,2],[3078,2],[3202,2],[3267,3],[5030,2],[7100,2],[9573,3],[9577,2]]},"1191":{"position":[[961,2],[3434,3],[3438,2]]},"1192":{"position":[[1136,2],[3609,3],[3613,2]]},"1193":{"position":[[1188,2],[3661,3],[3665,2]]},"1194":{"position":[[828,2],[3301,3],[3305,2]]},"1195":{"position":[[806,2],[3279,3],[3283,2]]},"1196":{"position":[[616,2],[3089,3],[3093,2]]},"1197":{"position":[[1599,2],[4072,3],[4076,2]]},"1198":{"position":[[1609,2],[4082,3],[4086,2]]},"1199":{"position":[[1637,2],[4110,3],[4114,2]]},"1200":{"position":[[1504,2],[3977,3],[3981,2]]},"1201":{"position":[[764,2],[3237,3],[3241,2]]},"1202":{"position":[[1906,2],[4379,3],[4383,2],[6303,2],[8776,3],[8780,2]]},"1203":{"position":[[998,2],[3471,3],[3475,2]]},"1204":{"position":[[842,2],[3315,3],[3319,2]]},"1205":{"position":[[2171,2],[4644,3],[4648,2]]},"1206":{"position":[[642,2],[3115,3],[3119,2]]},"1207":{"position":[[799,2],[3272,3],[3276,2]]},"1209":{"position":[[2147,2],[4620,3],[4624,2]]},"1217":{"position":[[1951,2],[2170,2],[2388,2],[2592,2],[2770,2],[2894,2],[2959,3],[4722,2],[5458,2],[7931,3],[7935,2]]},"1219":{"position":[[1444,2]]},"1222":{"position":[[568,2],[3041,3],[3045,2]]},"1223":{"position":[[578,2],[3051,3],[3055,2]]},"1224":{"position":[[758,2]]},"1226":{"position":[[5926,2],[8399,3],[8403,2]]},"1228":{"position":[[1018,2],[1063,2],[1135,2],[1168,2],[1192,2],[4032,2],[4251,2],[4469,2],[4673,2],[4851,2],[4975,2],[5040,3],[6803,2],[7539,2],[10012,3],[10016,2]]},"1235":{"position":[[3407,2],[5880,3],[5884,2]]},"1237":{"position":[[6096,2],[8569,3],[8573,2]]},"1345":{"position":[[882,3],[1265,2]]},"1346":{"position":[[183,3],[615,2]]},"1348":{"position":[[4548,6],[4555,3],[4561,6],[4762,7]]},"1351":{"position":[[5241,2]]},"1355":{"position":[[7849,6],[7856,3],[7862,6],[7975,7]]},"1359":{"position":[[789,4],[962,3],[2339,4],[2406,4],[2437,6],[2444,3]]},"1360":{"position":[[6143,7]]},"1364":{"position":[[6911,2],[13159,2],[13282,2]]},"1367":{"position":[[14155,2],[14278,2]]},"1384":{"position":[[5956,2],[18090,2],[18213,2]]},"1387":{"position":[[6807,2]]},"1454":{"position":[[4804,2]]},"1455":{"position":[[2452,2]]},"1461":{"position":[[2320,2],[2452,2]]},"1465":{"position":[[2780,2],[2912,2]]},"1467":{"position":[[6919,2],[7051,2]]},"1485":{"position":[[4496,4]]}},"keywords":{}}],["re"",{"_index":5505,"title":{},"content":{"1072":{"position":[[780,9],[1310,9]]}},"keywords":{}}],["re'",{"_index":3805,"title":{},"content":{"724":{"position":[[990,4],[1212,4]]},"1345":{"position":[[144,4]]}},"keywords":{}}],["re_cap",{"_index":6528,"title":{},"content":{"1354":{"position":[[971,8]]}},"keywords":{}}],["re_use_cas",{"_index":6529,"title":{},"content":{"1354":{"position":[[1018,12]]}},"keywords":{}}],["reach",{"_index":4719,"title":{},"content":{"945":{"position":[[443,8]]}},"keywords":{}}],["reachabl",{"_index":6956,"title":{},"content":{"1366":{"position":[[2744,9],[2829,9]]}},"keywords":{}}],["read",{"_index":2311,"title":{},"content":{"429":{"position":[[54,4]]},"431":{"position":[[37,4]]},"432":{"position":[[44,4]]},"581":{"position":[[86,5]]},"693":{"position":[[132,5]]},"718":{"position":[[618,4]]},"808":{"position":[[54,4]]},"810":{"position":[[37,4]]},"811":{"position":[[44,4]]},"846":{"position":[[342,4]]},"850":{"position":[[693,4]]},"878":{"position":[[59,5],[340,4],[739,4]]},"879":{"position":[[215,4],[384,4]]},"886":{"position":[[262,4]]},"910":{"position":[[285,4]]},"961":{"position":[[726,4]]},"966":{"position":[[631,4]]},"1012":{"position":[[314,4]]},"1040":{"position":[[2813,4]]},"1050":{"position":[[3082,7]]},"1064":{"position":[[2292,4]]},"1172":{"position":[[928,4]]},"1173":{"position":[[228,4]]},"1174":{"position":[[132,4]]},"1175":{"position":[[152,4]]},"1176":{"position":[[236,4]]},"1177":{"position":[[148,4]]},"1178":{"position":[[302,4]]},"1179":{"position":[[168,4]]},"1180":{"position":[[498,4]]},"1181":{"position":[[211,4]]},"1182":{"position":[[190,4]]},"1183":{"position":[[145,4]]},"1219":{"position":[[548,5]]},"1345":{"position":[[531,7],[808,7],[1103,7]]},"1355":{"position":[[7321,4]]},"1370":{"position":[[2475,4]]},"1399":{"position":[[1793,4]]},"1427":{"position":[[6520,4]]}},"keywords":{}}],["read_config",{"_index":2309,"title":{"429":{"position":[[0,12]]},"808":{"position":[[0,12]]},"1002":{"position":[[0,12]]}},"content":{"433":{"position":[[101,11]]},"812":{"position":[[101,11]]},"1002":{"position":[[23,11]]},"1064":{"position":[[2233,12],[2277,11]]}},"keywords":{}}],["read_config("package_options"",{"_index":2315,"title":{},"content":{"429":{"position":[[296,40],[384,40],[453,40]]},"808":{"position":[[296,40],[384,40],[453,40]]}},"keywords":{}}],["read_config(sect",{"_index":2310,"title":{},"content":{"429":{"position":[[4,20]]},"808":{"position":[[4,20]]}},"keywords":{}}],["read_configs.bzl",{"_index":5416,"title":{},"content":{"1058":{"position":[[292,16]]}},"keywords":{}}],["read_dir_set",{"_index":1755,"title":{},"content":{"318":{"position":[[97,12]]}},"keywords":{}}],["read_json",{"_index":1132,"title":{},"content":{"92":{"position":[[1166,9]]},"224":{"position":[[1166,9]]},"1040":{"position":[[1592,9]]}},"keywords":{}}],["read_lin",{"_index":1131,"title":{},"content":{"92":{"position":[[1150,11]]},"224":{"position":[[1150,11]]},"1040":{"position":[[1576,11],[2836,11]]}},"keywords":{}}],["read_oncal",{"_index":2320,"title":{"430":{"position":[[0,12]]},"809":{"position":[[0,12]]}},"content":{"430":{"position":[[4,13]]},"809":{"position":[[4,13]]}},"keywords":{}}],["read_package_valu",{"_index":2322,"title":{"431":{"position":[[0,19]]},"810":{"position":[[0,19]]}},"content":{"1001":{"position":[[1180,19]]},"1065":{"position":[[0,19],[24,19]]}},"keywords":{}}],["read_package_value(key",{"_index":2323,"title":{},"content":{"431":{"position":[[4,23]]},"810":{"position":[[4,23]]}},"keywords":{}}],["read_parent_package_valu",{"_index":2324,"title":{"432":{"position":[[0,26]]},"811":{"position":[[0,26]]}},"content":{"1064":{"position":[[1135,26],[1166,26]]}},"keywords":{}}],["read_parent_package_value(key",{"_index":2325,"title":{},"content":{"432":{"position":[[4,30]]},"811":{"position":[[4,30]]}},"keywords":{}}],["read_root_config",{"_index":2326,"title":{"433":{"position":[[0,17]]},"812":{"position":[[0,17]]}},"content":{"433":{"position":[[4,17]]},"812":{"position":[[4,17]]}},"keywords":{}}],["read_str",{"_index":5140,"title":{},"content":{"1040":{"position":[[1563,12]]}},"keywords":{}}],["readabl",{"_index":4846,"title":{},"content":{"980":{"position":[[43,8],[106,8]]},"1176":{"position":[[94,9]]},"1360":{"position":[[4180,9]]},"1363":{"position":[[4244,8]]},"1403":{"position":[[3595,9]]}},"keywords":{}}],["readi",{"_index":590,"title":{},"content":{"18":{"position":[[1662,5]]},"19":{"position":[[18,5]]},"23":{"position":[[582,5]]},"377":{"position":[[751,5]]},"706":{"position":[[2296,5]]},"756":{"position":[[751,5]]},"1052":{"position":[[417,5]]},"1104":{"position":[[780,8]]}},"keywords":{}}],["real",{"_index":211,"title":{},"content":{"9":{"position":[[926,4]]},"79":{"position":[[247,4]]},"508":{"position":[[247,4]]},"1086":{"position":[[154,4]]},"1167":{"position":[[633,4]]}},"keywords":{}}],["realiz",{"_index":4600,"title":{},"content":{"937":{"position":[[2499,7]]}},"keywords":{}}],["realli",{"_index":1511,"title":{},"content":{"276":{"position":[[390,6]]},"277":{"position":[[338,6]]},"281":{"position":[[470,6]]},"282":{"position":[[420,6]]},"436":{"position":[[161,6]]},"706":{"position":[[539,6]]},"815":{"position":[[161,6]]},"856":{"position":[[203,6]]},"924":{"position":[[2059,6]]}},"keywords":{}}],["reason",{"_index":316,"title":{},"content":{"10":{"position":[[221,7]]},"18":{"position":[[2296,10]]},"675":{"position":[[1140,7]]},"693":{"position":[[7985,7]]},"695":{"position":[[648,6]]},"889":{"position":[[1247,6]]},"894":{"position":[[127,6],[254,6]]},"907":{"position":[[47,8]]},"919":{"position":[[1222,8],[1987,8]]},"937":{"position":[[698,8]]},"950":{"position":[[699,10]]},"970":{"position":[[126,10]]},"987":{"position":[[514,8]]},"1018":{"position":[[194,7]]},"1071":{"position":[[123,6]]},"1136":{"position":[[4355,6]]},"1138":{"position":[[8017,6]]},"1140":{"position":[[6943,6]]},"1142":{"position":[[454,8],[2387,6]]},"1146":{"position":[[2327,6]]},"1148":{"position":[[5367,6]]},"1155":{"position":[[2423,6]]},"1156":{"position":[[2001,6]]},"1167":{"position":[[7947,6]]},"1169":{"position":[[1786,6]]},"1172":{"position":[[149,6]]},"1186":{"position":[[3591,6]]},"1187":{"position":[[3604,6]]},"1188":{"position":[[8330,6]]},"1191":{"position":[[2191,6]]},"1192":{"position":[[2366,6]]},"1193":{"position":[[2418,6]]},"1194":{"position":[[2058,6]]},"1195":{"position":[[2036,6]]},"1196":{"position":[[1846,6]]},"1197":{"position":[[2829,6]]},"1198":{"position":[[2839,6]]},"1199":{"position":[[2867,6]]},"1200":{"position":[[2734,6]]},"1201":{"position":[[1994,6]]},"1202":{"position":[[3136,6],[7533,6]]},"1203":{"position":[[2228,6]]},"1204":{"position":[[2072,6]]},"1205":{"position":[[3401,6]]},"1206":{"position":[[1872,6]]},"1207":{"position":[[2029,6]]},"1209":{"position":[[3377,6]]},"1217":{"position":[[6688,6]]},"1219":{"position":[[2674,6]]},"1222":{"position":[[1798,6]]},"1223":{"position":[[1808,6]]},"1224":{"position":[[1988,6]]},"1226":{"position":[[1644,10],[7156,6]]},"1228":{"position":[[8769,6]]},"1233":{"position":[[93,7]]},"1235":{"position":[[4637,6]]},"1237":{"position":[[120,8],[1814,10],[7326,6]]},"1250":{"position":[[15,7]]},"1252":{"position":[[8,6]]},"1253":{"position":[[8,6]]},"1254":{"position":[[14,6]]}},"keywords":{}}],["rebar3",{"_index":7459,"title":{},"content":{"1393":{"position":[[2442,6],[9274,7]]}},"keywords":{}}],["rebas",{"_index":5533,"title":{},"content":{"1079":{"position":[[333,8]]}},"keywords":{}}],["rebuild",{"_index":2173,"title":{},"content":{"406":{"position":[[879,7]]},"572":{"position":[[225,8]]},"785":{"position":[[879,7]]},"1351":{"position":[[5339,11]]}},"keywords":{}}],["rebuilt",{"_index":3610,"title":{},"content":{"695":{"position":[[828,8]]},"1351":{"position":[[5269,8]]}},"keywords":{}}],["rec",{"_index":3156,"title":{},"content":{"642":{"position":[[194,3]]}},"keywords":{}}],["rec.mask",{"_index":3161,"title":{},"content":{"642":{"position":[[261,8]]}},"keywords":{}}],["rec.port",{"_index":3159,"title":{},"content":{"642":{"position":[[246,8]]}},"keywords":{}}],["rec_typ",{"_index":3151,"title":{},"content":{"642":{"position":[[112,8]]}},"keywords":{}}],["rec_type(host="localhost"",{"_index":3157,"title":{},"content":{"642":{"position":[[200,36]]}},"keywords":{}}],["receiv",{"_index":1281,"title":{"975":{"position":[[7,8]]}},"content":{"99":{"position":[[1271,8]]},"231":{"position":[[1271,8]]},"693":{"position":[[2853,7],[7132,8],[7165,8]]},"712":{"position":[[205,8]]},"715":{"position":[[1738,9]]},"840":{"position":[[367,7]]},"850":{"position":[[277,7]]},"975":{"position":[[239,7]]},"977":{"position":[[103,8]]},"1067":{"position":[[331,8],[466,8]]},"1071":{"position":[[1271,9]]},"1086":{"position":[[205,7]]},"1127":{"position":[[716,8]]},"1224":{"position":[[70,8]]},"1486":{"position":[[5525,8],[5702,8]]}},"keywords":{}}],["recent",{"_index":511,"title":{},"content":{"17":{"position":[[843,6]]},"866":{"position":[[167,6]]},"1079":{"position":[[102,8]]},"1127":{"position":[[223,6],[391,6],[430,6]]},"1172":{"position":[[949,6],[1002,6]]},"1173":{"position":[[249,6],[302,6]]},"1174":{"position":[[153,6],[206,6]]},"1175":{"position":[[173,6],[226,6]]},"1176":{"position":[[257,6],[310,6]]},"1177":{"position":[[169,6],[222,6]]},"1178":{"position":[[323,6],[376,6]]},"1179":{"position":[[189,6],[242,6]]},"1180":{"position":[[519,6],[572,6]]},"1181":{"position":[[274,6],[327,6]]},"1182":{"position":[[211,6],[264,6]]},"1183":{"position":[[166,6],[219,6]]}},"keywords":{}}],["recommend",{"_index":421,"title":{},"content":{"13":{"position":[[173,9]]},"346":{"position":[[506,14]]},"584":{"position":[[472,9],[921,13]]},"680":{"position":[[1139,9]]},"870":{"position":[[209,15]]},"965":{"position":[[472,14]]},"1056":{"position":[[717,11]]},"1078":{"position":[[210,11]]},"1087":{"position":[[152,12]]},"1104":{"position":[[2718,11]]},"1123":{"position":[[61,9]]},"1138":{"position":[[5932,11]]},"1148":{"position":[[3282,11]]},"1186":{"position":[[1506,11]]},"1187":{"position":[[1519,11]]},"1188":{"position":[[6245,11]]},"1197":{"position":[[744,11]]},"1198":{"position":[[754,11]]},"1199":{"position":[[782,11]]},"1200":{"position":[[649,11]]},"1260":{"position":[[679,9]]},"1282":{"position":[[200,9]]},"1283":{"position":[[217,9]]},"1284":{"position":[[197,9]]},"1291":{"position":[[679,9]]},"1313":{"position":[[200,9]]},"1314":{"position":[[217,9]]},"1315":{"position":[[197,9]]},"1319":{"position":[[679,9]]},"1341":{"position":[[200,9]]},"1342":{"position":[[217,9]]},"1343":{"position":[[197,9]]},"1373":{"position":[[7834,11]]},"1382":{"position":[[10610,11]]},"1384":{"position":[[17684,11]]},"1388":{"position":[[9103,11]]},"1398":{"position":[[5068,12]]},"1485":{"position":[[3475,11]]}},"keywords":{}}],["recompil",{"_index":5100,"title":{},"content":{"1029":{"position":[[314,13],[406,13]]}},"keywords":{}}],["recomput",{"_index":3818,"title":{},"content":{"832":{"position":[[189,11]]}},"keywords":{}}],["reconsid",{"_index":4991,"title":{},"content":{"1001":{"position":[[1579,10]]}},"keywords":{}}],["reconstruct",{"_index":5401,"title":{},"content":{"1057":{"position":[[1290,11]]}},"keywords":{}}],["record",{"_index":1266,"title":{"663":{"position":[[0,7]]},"901":{"position":[[0,6]]}},"content":{"99":{"position":[[199,6]]},"231":{"position":[[199,6]]},"642":{"position":[[60,7],[95,6]]},"663":{"position":[[39,6],[194,6],[594,6],[673,7],[1147,7]]},"832":{"position":[[333,8]]},"867":{"position":[[63,7]]},"900":{"position":[[2074,7]]},"901":{"position":[[2,6],[157,6],[556,6],[630,7],[1101,7]]},"965":{"position":[[195,8]]},"1024":{"position":[[247,8]]},"1058":{"position":[[1119,7]]},"1060":{"position":[[40,6]]},"1061":{"position":[[309,6]]},"1104":{"position":[[2213,6]]},"1136":{"position":[[4758,6],[5876,6],[5917,6]]},"1138":{"position":[[8420,6],[9538,6],[9579,6]]},"1140":{"position":[[7346,6],[8464,6],[8505,6]]},"1142":{"position":[[2790,6],[3908,6],[3949,6]]},"1146":{"position":[[2730,6],[3848,6],[3889,6]]},"1148":{"position":[[5770,6],[6888,6],[6929,6]]},"1155":{"position":[[2826,6],[3944,6],[3985,6]]},"1156":{"position":[[2404,6],[3522,6],[3563,6]]},"1163":{"position":[[482,6],[523,6]]},"1165":{"position":[[311,6],[352,6]]},"1167":{"position":[[8350,6],[9468,6],[9509,6]]},"1169":{"position":[[2189,6],[2576,6],[2617,6]]},"1172":{"position":[[107,7]]},"1186":{"position":[[3994,6],[5112,6],[5153,6]]},"1187":{"position":[[4007,6],[5125,6],[5166,6]]},"1188":{"position":[[8733,6],[9851,6],[9892,6]]},"1191":{"position":[[2594,6],[3712,6],[3753,6]]},"1192":{"position":[[2769,6],[3887,6],[3928,6]]},"1193":{"position":[[2821,6],[3939,6],[3980,6]]},"1194":{"position":[[2461,6],[3579,6],[3620,6]]},"1195":{"position":[[2439,6],[3557,6],[3598,6]]},"1196":{"position":[[2249,6],[3367,6],[3408,6]]},"1197":{"position":[[3232,6],[4350,6],[4391,6]]},"1198":{"position":[[3242,6],[4360,6],[4401,6]]},"1199":{"position":[[3270,6],[4388,6],[4429,6]]},"1200":{"position":[[3137,6],[4255,6],[4296,6]]},"1201":{"position":[[2397,6],[3515,6],[3556,6]]},"1202":{"position":[[3539,6],[4657,6],[4698,6],[7936,6],[9054,6],[9095,6]]},"1203":{"position":[[2631,6],[3749,6],[3790,6]]},"1204":{"position":[[2475,6],[3593,6],[3634,6]]},"1205":{"position":[[3804,6],[4922,6],[4963,6]]},"1206":{"position":[[2275,6],[3393,6],[3434,6]]},"1207":{"position":[[2432,6],[3550,6],[3591,6]]},"1209":{"position":[[3780,6],[4898,6],[4939,6]]},"1217":{"position":[[7091,6],[8209,6],[8250,6]]},"1219":{"position":[[358,6],[433,7],[3077,6],[3464,6],[3505,6]]},"1222":{"position":[[2201,6],[3319,6],[3360,6]]},"1223":{"position":[[2211,6],[3329,6],[3370,6]]},"1224":{"position":[[2391,6],[2778,6],[2819,6]]},"1226":{"position":[[7559,6],[8677,6],[8718,6]]},"1228":{"position":[[9172,6],[10290,6],[10331,6]]},"1235":{"position":[[5040,6],[6158,6],[6199,6]]},"1237":{"position":[[7729,6],[8847,6],[8888,6]]},"1354":{"position":[[2815,6]]}},"keywords":{}}],["record(**kwarg",{"_index":3299,"title":{},"content":{"663":{"position":[[4,16]]}},"keywords":{}}],["record(host=field(str",{"_index":3152,"title":{},"content":{"642":{"position":[[123,23]]}},"keywords":{}}],["record(host=str",{"_index":3301,"title":{},"content":{"663":{"position":[[135,16],[977,16]]},"901":{"position":[[98,16],[931,16]]}},"keywords":{}}],["record(nam",{"_index":5672,"title":{},"content":{"1104":{"position":[[2395,11]]}},"keywords":{}}],["record_video",{"_index":6530,"title":{},"content":{"1354":{"position":[[1058,13]]}},"keywords":{}}],["recov",{"_index":5523,"title":{},"content":{"1075":{"position":[[471,7]]}},"keywords":{}}],["recur",{"_index":5544,"title":{},"content":{"1079":{"position":[[868,9]]}},"keywords":{}}],["recurs",{"_index":2238,"title":{},"content":{"418":{"position":[[329,12]]},"797":{"position":[[329,12]]},"1026":{"position":[[1502,9]]},"1186":{"position":[[175,9]]},"1187":{"position":[[188,9]]},"1198":{"position":[[180,11]]},"1226":{"position":[[1965,9],[2066,12]]},"1237":{"position":[[2135,9],[2236,12]]},"1243":{"position":[[99,9],[543,9],[568,9],[675,9],[878,9],[1071,9],[1166,9]]}},"keywords":{}}],["red",{"_index":3377,"title":{},"content":{"675":{"position":[[741,3]]}},"keywords":{}}],["reduc",{"_index":3371,"title":{"1250":{"position":[[9,6]]}},"content":{"675":{"position":[[32,6],[803,7]]},"715":{"position":[[689,6]]},"870":{"position":[[794,8]]},"1086":{"position":[[217,7]]},"1256":{"position":[[39,6]]},"1355":{"position":[[6109,8],[7122,8]]},"1393":{"position":[[5583,6]]},"1427":{"position":[[5282,8],[6321,8]]}},"keywords":{}}],["reduce/elimin",{"_index":4061,"title":{},"content":{"870":{"position":[[575,16],[1057,16]]}},"keywords":{}}],["reduct",{"_index":748,"title":{"1086":{"position":[[15,11]]}},"content":{"23":{"position":[[2332,9]]},"448":{"position":[[113,11]]},"827":{"position":[[113,11]]},"1086":{"position":[[51,10],[190,10],[654,10]]},"1087":{"position":[[372,11]]},"1090":{"position":[[73,10]]},"1091":{"position":[[16,10]]},"1386":{"position":[[2260,9]]}},"keywords":{}}],["reexport_all_header_depend",{"_index":6765,"title":{},"content":{"1362":{"position":[[3976,33]]},"1364":{"position":[[3964,33],[6815,32],[13100,33]]},"1367":{"position":[[5233,33]]},"1384":{"position":[[3618,33],[5860,32],[18031,33]]},"1387":{"position":[[3550,33]]},"1454":{"position":[[4708,32]]},"1455":{"position":[[2356,32]]}},"keywords":{}}],["ref",{"_index":2399,"title":{},"content":{"447":{"position":[[42,5]]},"826":{"position":[[42,5]]},"889":{"position":[[146,3]]},"898":{"position":[[853,3],[1061,3],[1992,3]]},"1004":{"position":[[987,5],[1882,4]]},"1009":{"position":[[471,5],[727,4]]}},"keywords":{}}],["refactor",{"_index":4839,"title":{},"content":{"977":{"position":[[149,11]]},"1071":{"position":[[1449,11]]}},"keywords":{}}],["refer",{"_index":1294,"title":{"885":{"position":[[15,10]]},"888":{"position":[[5,11]]}},"content":{"107":{"position":[[37,9]]},"112":{"position":[[43,9]]},"126":{"position":[[350,10]]},"249":{"position":[[350,10]]},"406":{"position":[[85,9]]},"519":{"position":[[37,9]]},"524":{"position":[[43,9]]},"584":{"position":[[79,9]]},"622":{"position":[[735,9],[822,9],[1091,5],[1168,5]]},"681":{"position":[[1001,8]]},"688":{"position":[[30,10],[1362,5]]},"689":{"position":[[264,9]]},"693":{"position":[[8576,10]]},"695":{"position":[[209,9]]},"717":{"position":[[22,8]]},"718":{"position":[[499,9]]},"785":{"position":[[85,9]]},"873":{"position":[[273,10]]},"886":{"position":[[549,10]]},"887":{"position":[[125,10]]},"888":{"position":[[158,9],[866,10],[1055,10],[1121,9],[1245,9],[1403,10]]},"889":{"position":[[699,9],[1195,11]]},"890":{"position":[[2916,6],[6898,9]]},"898":{"position":[[1529,9]]},"938":{"position":[[140,8]]},"951":{"position":[[1329,5]]},"955":{"position":[[174,11]]},"995":{"position":[[1146,5]]},"1004":{"position":[[487,10],[819,10]]},"1005":{"position":[[63,9]]},"1017":{"position":[[667,9]]},"1045":{"position":[[354,5]]},"1075":{"position":[[245,11]]},"1112":{"position":[[610,9]]},"1114":{"position":[[782,5]]},"1226":{"position":[[1203,9]]},"1237":{"position":[[1373,9]]},"1243":{"position":[[249,9]]},"1262":{"position":[[234,6]]},"1293":{"position":[[234,6]]},"1321":{"position":[[234,6]]},"1351":{"position":[[4064,10],[4180,9]]},"1356":{"position":[[3020,9]]},"1358":{"position":[[3211,9]]},"1361":{"position":[[1849,9],[2101,9]]},"1367":{"position":[[13994,9]]},"1374":{"position":[[2781,9]]},"1382":{"position":[[4773,5]]},"1383":{"position":[[4393,10],[5673,5]]},"1388":{"position":[[4753,10],[4951,5],[5467,5],[6137,10],[6361,5]]},"1393":{"position":[[2247,9],[2867,10],[3687,10]]},"1395":{"position":[[736,5],[2206,5],[3074,5]]},"1396":{"position":[[1450,9],[1479,9],[1512,9]]},"1397":{"position":[[715,5]]},"1398":{"position":[[2539,9]]},"1399":{"position":[[1625,12],[1815,11],[2297,5]]},"1422":{"position":[[3212,5]]},"1442":{"position":[[1763,5]]},"1448":{"position":[[2095,10]]},"1449":{"position":[[2029,10]]},"1455":{"position":[[3094,5],[3265,5],[3763,5],[4162,5]]},"1458":{"position":[[1093,9]]},"1467":{"position":[[6490,10],[6714,5]]}},"keywords":{}}],["referenc",{"_index":957,"title":{},"content":{"67":{"position":[[80,10]]},"68":{"position":[[84,10]]},"406":{"position":[[540,10],[718,10]]},"455":{"position":[[80,10]]},"456":{"position":[[84,10]]},"584":{"position":[[364,10]]},"622":{"position":[[246,10]]},"638":{"position":[[1187,10]]},"785":{"position":[[540,10],[718,10]]},"887":{"position":[[287,10]]},"888":{"position":[[45,10]]},"890":{"position":[[1565,10],[2986,10]]},"902":{"position":[[1172,10]]},"1007":{"position":[[97,10]]},"1040":{"position":[[378,10]]},"1067":{"position":[[143,10]]},"1226":{"position":[[698,10]]},"1237":{"position":[[868,10]]},"1272":{"position":[[185,10]]},"1303":{"position":[[185,10]]},"1331":{"position":[[185,10]]},"1355":{"position":[[5436,10]]},"1393":{"position":[[8516,10]]},"1399":{"position":[[1501,10]]},"1455":{"position":[[3486,10],[3984,10],[4395,10]]},"1469":{"position":[[2764,10]]},"1486":{"position":[[3012,10]]}},"keywords":{}}],["reference.us",{"_index":4165,"title":{},"content":{"888":{"position":[[545,13]]}},"keywords":{}}],["refin",{"_index":4709,"title":{},"content":{"944":{"position":[[1948,7]]},"1013":{"position":[[339,8],[435,8],[511,8],[556,7],[601,8]]}},"keywords":{}}],["reflect",{"_index":5597,"title":{},"content":{"1088":{"position":[[143,9]]},"1150":{"position":[[294,9]]},"1383":{"position":[[8323,10]]}},"keywords":{}}],["refresh",{"_index":5525,"title":{},"content":{"1075":{"position":[[658,10]]},"1204":{"position":[[165,7],[177,7],[209,9],[7246,8],[7304,7],[8236,7],[8269,9],[8332,7]]}},"keywords":{}}],["refs.os[constraintsettinginfo",{"_index":4999,"title":{},"content":{"1004":{"position":[[1075,30]]}},"keywords":{}}],["refs.watchos[constraintvalueinfo",{"_index":5000,"title":{},"content":{"1004":{"position":[[1144,33]]}},"keywords":{}}],["refs=ref",{"_index":5016,"title":{},"content":{"1004":{"position":[[2168,11],[2180,10],[2216,10]]}},"keywords":{}}],["refus",{"_index":5127,"title":{},"content":{"1037":{"position":[[460,6]]}},"keywords":{}}],["regard",{"_index":5088,"title":{},"content":{"1026":{"position":[[966,9]]},"1136":{"position":[[5982,9]]},"1138":{"position":[[9644,9]]},"1140":{"position":[[8570,9]]},"1142":{"position":[[4014,9]]},"1146":{"position":[[3954,9]]},"1148":{"position":[[6994,9]]},"1155":{"position":[[4050,9]]},"1156":{"position":[[3628,9]]},"1163":{"position":[[588,9]]},"1165":{"position":[[417,9]]},"1167":{"position":[[9574,9]]},"1169":{"position":[[2682,9]]},"1186":{"position":[[5218,9]]},"1187":{"position":[[5231,9]]},"1188":{"position":[[9957,9]]},"1191":{"position":[[3818,9]]},"1192":{"position":[[3993,9]]},"1193":{"position":[[4045,9]]},"1194":{"position":[[3685,9]]},"1195":{"position":[[3663,9]]},"1196":{"position":[[3473,9]]},"1197":{"position":[[4456,9]]},"1198":{"position":[[4466,9]]},"1199":{"position":[[4494,9]]},"1200":{"position":[[4361,9]]},"1201":{"position":[[3621,9]]},"1202":{"position":[[4763,9],[9160,9]]},"1203":{"position":[[3855,9]]},"1204":{"position":[[3699,9]]},"1205":{"position":[[5028,9]]},"1206":{"position":[[3499,9]]},"1207":{"position":[[3656,9]]},"1209":{"position":[[5004,9]]},"1217":{"position":[[8315,9]]},"1219":{"position":[[3570,9]]},"1222":{"position":[[3425,9]]},"1223":{"position":[[3435,9]]},"1224":{"position":[[2884,9]]},"1226":{"position":[[8783,9]]},"1228":{"position":[[10396,9]]},"1235":{"position":[[6264,9]]},"1237":{"position":[[8953,9]]}},"keywords":{}}],["regardless",{"_index":2328,"title":{},"content":{"433":{"position":[[167,10]]},"704":{"position":[[1048,10]]},"705":{"position":[[769,10]]},"812":{"position":[[167,10]]},"856":{"position":[[392,11]]},"866":{"position":[[62,11]]},"1000":{"position":[[792,10]]},"1138":{"position":[[3672,10]]},"1140":{"position":[[3161,10]]},"1167":{"position":[[4165,10]]},"1188":{"position":[[3214,10]]},"1217":{"position":[[2906,10]]},"1228":{"position":[[678,10],[877,10],[4987,10]]},"1362":{"position":[[9954,10]]},"1364":{"position":[[11068,10]]},"1367":{"position":[[10871,10]]},"1382":{"position":[[6680,10]]},"1384":{"position":[[13034,10]]},"1388":{"position":[[7549,10]]}},"keywords":{}}],["regener",{"_index":4751,"title":{},"content":{"955":{"position":[[410,10]]}},"keywords":{}}],["regex",{"_index":1777,"title":{"434":{"position":[[0,6]]},"813":{"position":[[0,6]]}},"content":{"326":{"position":[[392,6]]},"330":{"position":[[30,6]]},"332":{"position":[[28,6]]},"434":{"position":[[4,6],[11,6]]},"467":{"position":[[273,6]]},"471":{"position":[[30,6]]},"473":{"position":[[28,6]]},"813":{"position":[[4,6],[11,6]]},"944":{"position":[[463,5]]},"1226":{"position":[[4561,5]]},"1237":{"position":[[4731,5]]},"1259":{"position":[[852,5],[1109,6]]},"1269":{"position":[[13,5]]},"1271":{"position":[[152,6]]},"1290":{"position":[[852,5],[1109,6]]},"1300":{"position":[[13,5]]},"1302":{"position":[[152,6]]},"1318":{"position":[[852,5],[1109,6]]},"1328":{"position":[[13,5]]},"1330":{"position":[[152,6]]},"1362":{"position":[[11359,5],[11728,5],[11782,5],[11897,5],[12168,5],[12449,6]]},"1364":{"position":[[8350,5],[8404,5],[8519,5],[12326,5],[12673,5],[12954,6]]},"1367":{"position":[[11729,5],[12076,5],[12357,6]]},"1373":{"position":[[6381,5],[6749,5],[6803,5],[6918,5],[7208,5]]},"1382":{"position":[[8228,5],[8578,5],[8872,6],[9069,5],[9123,5],[9238,5],[9529,5],[9884,5],[10165,6]]},"1384":{"position":[[7505,5],[7726,6],[7919,5],[8260,6],[8536,5],[8590,5],[8705,5],[9083,5],[9343,6],[14573,5],[14923,5],[15217,6],[15414,5],[15468,5],[15583,5],[15874,5],[16229,5],[16510,6],[19303,5]]},"1385":{"position":[[4458,5],[4807,5],[5101,6],[5297,5],[5351,5],[5466,5],[5756,5],[6110,5],[6391,6]]},"1387":{"position":[[7831,5],[8180,5],[8474,6],[8670,5],[8724,5],[8839,5],[9129,5],[9483,5],[9764,6]]},"1415":{"position":[[4340,5],[4708,5],[4762,5],[4877,5],[5280,5]]},"1416":{"position":[[3196,5],[3399,6]]},"1420":{"position":[[2333,5],[2536,6]]},"1422":{"position":[[1842,5]]},"1448":{"position":[[2279,5],[2482,6]]},"1449":{"position":[[2213,5],[2416,6]]},"1454":{"position":[[5905,5],[6126,6],[6318,5],[6659,6],[6871,5],[7131,6],[8041,5],[8353,5],[8673,5],[9316,5]]},"1455":{"position":[[2676,5],[2897,6]]},"1465":{"position":[[3270,5],[3376,5],[3681,5],[3785,5]]},"1467":{"position":[[9539,5],[9645,5]]},"1485":{"position":[[2842,5],[3136,6]]},"1487":{"position":[[1597,5],[1693,7]]}},"keywords":{}}],["regex_match",{"_index":2331,"title":{"435":{"position":[[0,12]]},"814":{"position":[[0,12]]}},"content":{},"keywords":{}}],["regex_match("^[a",{"_index":2334,"title":{},"content":{"435":{"position":[[161,21],[222,21]]},"814":{"position":[[161,21],[222,21]]}},"keywords":{}}],["regex_match(regex",{"_index":2332,"title":{},"content":{"435":{"position":[[4,18]]},"814":{"position":[[4,18]]}},"keywords":{}}],["regist",{"_index":835,"title":{},"content":{"36":{"position":[[136,10]]},"181":{"position":[[136,10]]},"209":{"position":[[77,8]]},"298":{"position":[[651,8]]},"344":{"position":[[211,10]]},"443":{"position":[[83,8]]},"822":{"position":[[83,8]]},"949":{"position":[[107,11]]},"964":{"position":[[191,8],[695,10]]},"981":{"position":[[0,8],[819,10]]},"998":{"position":[[71,10],[278,10]]},"1001":{"position":[[1259,10]]},"1065":{"position":[[193,10]]}},"keywords":{}}],["regress",{"_index":395,"title":{},"content":{"12":{"position":[[170,10]]},"920":{"position":[[136,7],[464,11]]}},"keywords":{}}],["regular",{"_index":2161,"title":{},"content":{"405":{"position":[[2452,7]]},"408":{"position":[[1195,7],[1218,7]]},"435":{"position":[[63,7],[113,7]]},"784":{"position":[[2452,7]]},"787":{"position":[[1195,7],[1218,7]]},"814":{"position":[[63,7],[113,7]]},"870":{"position":[[261,7]]},"935":{"position":[[36,7]]},"950":{"position":[[596,7]]},"964":{"position":[[480,7]]},"990":{"position":[[730,7]]},"991":{"position":[[2901,7]]},"1031":{"position":[[753,7]]},"1093":{"position":[[59,7]]},"1098":{"position":[[824,7]]},"1131":{"position":[[112,7],[557,7]]},"1136":{"position":[[1408,7],[1449,7],[1632,7]]},"1148":{"position":[[1764,7],[1805,7],[1988,7]]},"1172":{"position":[[1444,7]]},"1173":{"position":[[744,7]]},"1205":{"position":[[888,7],[929,7],[1112,7]]},"1209":{"position":[[641,7],[682,7],[865,7]]},"1226":{"position":[[2581,7],[2622,7],[2805,7],[4582,7],[4727,7]]},"1235":{"position":[[1901,7],[1942,7],[2125,7]]},"1237":{"position":[[2751,7],[2792,7],[2975,7],[4752,7],[4897,7]]},"1271":{"position":[[190,7]]},"1302":{"position":[[190,7]]},"1330":{"position":[[190,7]]},"1383":{"position":[[3558,7],[3902,7],[4190,7]]},"1393":{"position":[[7030,7]]},"1471":{"position":[[4456,7]]},"1472":{"position":[[5040,7]]},"1473":{"position":[[4777,7]]}},"keywords":{}}],["regular/exec",{"_index":4909,"title":{},"content":{"990":{"position":[[1371,12]]}},"keywords":{}}],["regularli",{"_index":5534,"title":{},"content":{"1079":{"position":[[342,10]]}},"keywords":{}}],["reindeer",{"_index":425,"title":{},"content":{"13":{"position":[[254,8],[350,8],[418,8]]}},"keywords":{}}],["reject",{"_index":1350,"title":{},"content":{"130":{"position":[[91,7]]},"253":{"position":[[91,7]]},"1138":{"position":[[2341,6],[2460,6]]},"1140":{"position":[[1830,6],[1949,6]]},"1167":{"position":[[2834,6],[2953,6]]},"1188":{"position":[[1883,6],[2002,6]]},"1217":{"position":[[1575,6],[1694,6]]},"1228":{"position":[[3656,6],[3775,6]]},"1386":{"position":[[5321,6]]}},"keywords":{}}],["rel",{"_index":848,"title":{},"content":{"40":{"position":[[228,8]]},"50":{"position":[[121,8]]},"51":{"position":[[60,8]]},"69":{"position":[[138,8],[261,8],[354,8],[433,8]]},"86":{"position":[[229,8]]},"94":{"position":[[2111,8],[2263,8],[2434,8],[4244,8],[4284,8]]},"96":{"position":[[227,8]]},"173":{"position":[[228,8]]},"197":{"position":[[121,8]]},"198":{"position":[[60,8]]},"218":{"position":[[229,8]]},"226":{"position":[[2111,8],[2263,8],[2434,8],[4244,8],[4284,8]]},"228":{"position":[[227,8]]},"279":{"position":[[202,8]]},"288":{"position":[[488,8]]},"289":{"position":[[85,8],[154,8],[508,8],[601,8],[774,8]]},"292":{"position":[[33,8]]},"304":{"position":[[445,8]]},"319":{"position":[[96,8]]},"320":{"position":[[514,8]]},"374":{"position":[[1228,8]]},"405":{"position":[[2381,8]]},"408":{"position":[[668,8],[791,8],[893,8],[980,8]]},"416":{"position":[[223,8]]},"417":{"position":[[452,8]]},"457":{"position":[[138,8],[261,8],[354,8],[433,8]]},"510":{"position":[[554,8]]},"511":{"position":[[111,8],[180,8],[574,8],[667,8],[837,8]]},"584":{"position":[[883,8]]},"688":{"position":[[266,8],[288,8]]},"693":{"position":[[8898,9]]},"699":{"position":[[165,8]]},"717":{"position":[[338,8]]},"753":{"position":[[1228,8]]},"784":{"position":[[2381,8]]},"787":{"position":[[668,8],[791,8],[893,8],[980,8]]},"795":{"position":[[223,8]]},"796":{"position":[[452,8]]},"834":{"position":[[35,8]]},"872":{"position":[[349,8]]},"1032":{"position":[[215,8]]},"1050":{"position":[[1365,8],[2445,8]]},"1070":{"position":[[231,8]]},"1073":{"position":[[97,8]]},"1112":{"position":[[1738,8],[4922,8]]},"1138":{"position":[[210,8],[395,8],[557,8],[2104,8],[2138,8]]},"1140":{"position":[[1593,8],[1627,8]]},"1167":{"position":[[2597,8],[2631,8]]},"1188":{"position":[[1646,8],[1680,8]]},"1195":{"position":[[189,8]]},"1217":{"position":[[1338,8],[1372,8]]},"1226":{"position":[[3389,8],[3574,8],[3736,8]]},"1228":{"position":[[1107,8],[1263,8],[3419,8],[3453,8]]},"1237":{"position":[[3559,8],[3744,8],[3906,8]]},"1240":{"position":[[325,8],[482,8]]},"1258":{"position":[[459,8]]},"1289":{"position":[[459,8]]},"1317":{"position":[[459,8]]},"1360":{"position":[[3508,8],[3537,8]]},"1362":{"position":[[8241,8]]},"1364":{"position":[[9090,8]]},"1367":{"position":[[8329,8]]},"1373":{"position":[[5964,9]]},"1382":{"position":[[6393,8]]},"1383":{"position":[[4730,8],[4820,8]]},"1384":{"position":[[11340,8],[17050,8],[17352,8]]},"1385":{"position":[[3104,8]]},"1387":{"position":[[5381,8]]},"1388":{"position":[[7262,8]]},"1401":{"position":[[1532,8]]},"1402":{"position":[[2067,8]]},"1403":{"position":[[2923,8],[2952,8],[5429,8]]},"1405":{"position":[[3288,9]]},"1407":{"position":[[3709,9],[4155,8]]},"1408":{"position":[[2328,9]]},"1410":{"position":[[4696,9]]},"1427":{"position":[[7936,8]]},"1439":{"position":[[8760,8]]},"1444":{"position":[[1731,8]]},"1455":{"position":[[3537,5],[4883,6],[4905,6]]},"1462":{"position":[[5605,8],[7184,8]]},"1465":{"position":[[2535,8]]},"1467":{"position":[[6100,8],[8153,8]]},"1470":{"position":[[4713,8]]},"1477":{"position":[[1821,9],[2545,8]]},"1478":{"position":[[2527,9]]},"1485":{"position":[[2673,8]]},"1487":{"position":[[2514,8],[2590,8]]}},"keywords":{}}],["rel(4))binari",{"_index":7584,"title":{},"content":{"1397":{"position":[[3105,13]]}},"keywords":{}}],["rel(4))boot",{"_index":7582,"title":{},"content":{"1397":{"position":[[3068,11]]}},"keywords":{}}],["rel_name="rel1"",{"_index":7588,"title":{},"content":{"1397":{"position":[[3289,25]]}},"keywords":{}}],["rel_path",{"_index":3827,"title":{},"content":{"834":{"position":[[126,11]]}},"keywords":{}}],["rel_vsn="1.0.0"",{"_index":7589,"title":{},"content":{"1397":{"position":[[3315,25]]}},"keywords":{}}],["relat",{"_index":670,"title":{},"content":{"22":{"position":[[1290,6]]},"374":{"position":[[2081,7]]},"753":{"position":[[2081,7]]},"886":{"position":[[46,7]]},"1004":{"position":[[122,7]]},"1052":{"position":[[1106,7]]},"1383":{"position":[[1461,7]]},"1386":{"position":[[2495,7]]}},"keywords":{}}],["relationship",{"_index":3451,"title":{},"content":{"689":{"position":[[68,13]]},"1353":{"position":[[2351,12]]},"1393":{"position":[[5528,13]]}},"keywords":{}}],["relative_to",{"_index":2134,"title":{},"content":{"405":{"position":[[685,12]]},"784":{"position":[[685,12]]}},"keywords":{}}],["relative_to=(dir",{"_index":2188,"title":{},"content":{"408":{"position":[[618,17]]},"787":{"position":[[618,17]]}},"keywords":{}}],["relative_to=dir",{"_index":2187,"title":{},"content":{"408":{"position":[[599,15],[1124,17]]},"787":{"position":[[599,15],[1124,17]]}},"keywords":{}}],["relative—to",{"_index":3409,"title":{},"content":{"680":{"position":[[1197,11]]}},"keywords":{}}],["releas",{"_index":440,"title":{},"content":{"15":{"position":[[65,7],[113,7]]},"24":{"position":[[981,7]]},"377":{"position":[[1022,7]]},"756":{"position":[[1022,7]]},"937":{"position":[[4101,9]]},"942":{"position":[[911,7]]},"969":{"position":[[176,7]]},"1052":{"position":[[1077,7]]},"1136":{"position":[[798,7]]},"1138":{"position":[[41,7]]},"1140":{"position":[[29,7]]},"1142":{"position":[[89,7]]},"1144":{"position":[[180,7]]},"1146":{"position":[[59,7]]},"1148":{"position":[[1154,7]]},"1150":{"position":[[482,7]]},"1152":{"position":[[64,7]]},"1154":{"position":[[54,7]]},"1155":{"position":[[66,7]]},"1156":{"position":[[151,7]]},"1157":{"position":[[50,7]]},"1158":{"position":[[44,7]]},"1159":{"position":[[44,7]]},"1161":{"position":[[40,7]]},"1163":{"position":[[227,7]]},"1165":{"position":[[53,7]]},"1167":{"position":[[46,7]]},"1169":{"position":[[52,7]]},"1171":{"position":[[54,7]]},"1172":{"position":[[841,7]]},"1173":{"position":[[138,7]]},"1174":{"position":[[49,7]]},"1175":{"position":[[69,7]]},"1176":{"position":[[154,7]]},"1177":{"position":[[62,7]]},"1178":{"position":[[206,7]]},"1179":{"position":[[76,7]]},"1180":{"position":[[406,7]]},"1181":{"position":[[107,7]]},"1182":{"position":[[102,7]]},"1183":{"position":[[59,7]]},"1185":{"position":[[35,7]]},"1186":{"position":[[30,7]]},"1187":{"position":[[44,7]]},"1188":{"position":[[32,7]]},"1190":{"position":[[41,7]]},"1191":{"position":[[70,7]]},"1192":{"position":[[253,7]]},"1193":{"position":[[31,7]]},"1194":{"position":[[58,7]]},"1195":{"position":[[64,7]]},"1196":{"position":[[53,7]]},"1197":{"position":[[59,7]]},"1198":{"position":[[34,7]]},"1199":{"position":[[55,7]]},"1200":{"position":[[72,7]]},"1201":{"position":[[115,7]]},"1202":{"position":[[40,7],[1265,7],[5675,7]]},"1203":{"position":[[55,7]]},"1204":{"position":[[64,7],[4531,7],[5447,7],[6363,7],[7268,7],[8292,7],[9210,7],[10166,7]]},"1205":{"position":[[265,7]]},"1206":{"position":[[110,7]]},"1207":{"position":[[127,7]]},"1209":{"position":[[32,7]]},"1211":{"position":[[53,7]]},"1213":{"position":[[55,7]]},"1215":{"position":[[26,7]]},"1217":{"position":[[177,7]]},"1219":{"position":[[755,7]]},"1221":{"position":[[37,7]]},"1222":{"position":[[38,7]]},"1223":{"position":[[43,7]]},"1224":{"position":[[236,7]]},"1226":{"position":[[34,7]]},"1228":{"position":[[50,7]]},"1235":{"position":[[1291,7]]},"1237":{"position":[[203,7]]},"1247":{"position":[[123,8]]},"1351":{"position":[[3655,7],[4973,8],[5109,8],[5171,8],[5257,8],[5583,10],[5609,10]]},"1353":{"position":[[3173,10]]},"1354":{"position":[[3312,10]]},"1360":{"position":[[6089,10]]},"1397":{"position":[[698,9],[769,9],[1695,7],[1970,8],[2090,7],[2420,8],[2479,7],[2608,7],[2748,7],[2769,7],[2800,7],[3199,7],[3381,7],[3438,7]]}},"keywords":{}}],["release"",{"_index":4559,"title":{},"content":{"927":{"position":[[61,14],[144,14]]}},"keywords":{}}],["release=//config:linux",{"_index":4820,"title":{},"content":{"969":{"position":[[146,22]]}},"keywords":{}}],["release_nam",{"_index":7569,"title":{},"content":{"1397":{"position":[[600,13],[3402,12]]}},"keywords":{}}],["release_vari",{"_index":7586,"title":{},"content":{"1397":{"position":[[3167,17]]}},"keywords":{}}],["releasereleas",{"_index":7580,"title":{},"content":{"1397":{"position":[[3014,14]]}},"keywords":{}}],["relev",{"_index":598,"title":{},"content":{"18":{"position":[[2124,8]]},"711":{"position":[[1372,8]]},"722":{"position":[[78,8]]},"980":{"position":[[1414,9]]},"993":{"position":[[33,8]]},"994":{"position":[[43,8]]},"995":{"position":[[44,8]]},"1000":{"position":[[170,8]]},"1058":{"position":[[445,8]]},"1061":{"position":[[39,8]]},"1228":{"position":[[1797,8]]},"1395":{"position":[[3002,8]]},"1398":{"position":[[4081,8]]},"1405":{"position":[[3112,8]]},"1407":{"position":[[3533,8]]},"1410":{"position":[[4114,8]]}},"keywords":{}}],["reli",{"_index":4756,"title":{},"content":{"955":{"position":[[1138,4]]},"994":{"position":[[355,4]]},"1123":{"position":[[71,7]]},"1381":{"position":[[1758,4]]},"1398":{"position":[[6496,4]]}},"keywords":{}}],["relinker_whitelist",{"_index":6371,"title":{},"content":{"1348":{"position":[[2179,19]]},"1350":{"position":[[3376,19]]},"1352":{"position":[[3375,19]]}},"keywords":{}}],["remain",{"_index":4195,"title":{},"content":{"889":{"position":[[1270,7]]},"890":{"position":[[139,7]]},"898":{"position":[[143,7]]}},"keywords":{}}],["remap_cwd",{"_index":7394,"title":{},"content":{"1389":{"position":[[3464,10]]}},"keywords":{}}],["rememb",{"_index":4834,"title":{},"content":{"975":{"position":[[316,10]]},"1077":{"position":[[93,8]]},"1103":{"position":[[1321,11]]}},"keywords":{}}],["remiss",{"_index":389,"title":{},"content":{"12":{"position":[[43,6]]}},"keywords":{}}],["remot",{"_index":235,"title":{"1070":{"position":[[21,6]]},"1344":{"position":[[0,6]]}},"content":{"9":{"position":[[1366,6]]},"22":{"position":[[1420,6]]},"23":{"position":[[376,6],[449,6],[599,6]]},"24":{"position":[[379,6],[428,6],[496,6]]},"94":{"position":[[3269,6],[3490,8],[3784,6]]},"226":{"position":[[3269,6],[3490,8],[3784,6]]},"314":{"position":[[309,8],[409,9]]},"362":{"position":[[1226,6],[1362,6],[1739,6],[1879,6],[2794,6],[2858,6]]},"406":{"position":[[820,9]]},"693":{"position":[[4562,7],[4760,6],[6758,6],[6817,6]]},"702":{"position":[[385,6],[444,6]]},"704":{"position":[[2107,9]]},"706":{"position":[[1635,7],[1679,8],[1771,8]]},"724":{"position":[[313,6],[850,8],[906,9],[1397,6]]},"741":{"position":[[1226,6],[1362,6],[1739,6],[1879,6],[2794,6],[2858,6]]},"785":{"position":[[820,9]]},"861":{"position":[[273,8],[338,6]]},"867":{"position":[[1741,6]]},"1035":{"position":[[428,6]]},"1070":{"position":[[23,6]]},"1075":{"position":[[62,6],[170,6],[317,6]]},"1077":{"position":[[205,6]]},"1120":{"position":[[700,6]]},"1126":{"position":[[1620,6]]},"1138":{"position":[[2413,6],[2437,6],[2495,8],[2626,6],[2705,8],[2752,6],[2834,6],[2862,6],[2903,6],[3811,9]]},"1140":{"position":[[1902,6],[1926,6],[1984,8],[2115,6],[2194,8],[2241,6],[2323,6],[2351,6],[2392,6],[3300,9]]},"1167":{"position":[[2906,6],[2930,6],[2988,8],[3119,6],[3198,8],[3245,6],[3327,6],[3355,6],[3396,6],[4304,9]]},"1172":{"position":[[1068,6],[1105,6],[1360,6]]},"1173":{"position":[[368,6],[405,6],[660,6]]},"1174":{"position":[[272,6],[309,6]]},"1175":{"position":[[292,6],[329,6]]},"1176":{"position":[[376,6],[413,6]]},"1177":{"position":[[288,6],[325,6]]},"1178":{"position":[[442,6],[479,6]]},"1179":{"position":[[308,6],[345,6]]},"1180":{"position":[[638,6],[675,6]]},"1181":{"position":[[393,6],[430,6]]},"1182":{"position":[[330,6],[367,6]]},"1183":{"position":[[285,6],[322,6]]},"1188":{"position":[[1955,6],[1979,6],[2037,8],[2168,6],[2247,8],[2294,6],[2376,6],[2404,6],[2445,6],[3353,9]]},"1217":{"position":[[1647,6],[1671,6],[1729,8],[1860,6],[1939,8],[1986,6],[2068,6],[2096,6],[2137,6],[3045,9]]},"1228":{"position":[[3728,6],[3752,6],[3810,8],[3941,6],[4020,8],[4067,6],[4149,6],[4177,6],[4218,6],[5126,9]]},"1345":{"position":[[18,6]]},"1346":{"position":[[276,6],[526,8]]},"1360":{"position":[[1133,7]]},"1362":{"position":[[9944,9],[10339,8],[10364,6]]},"1364":{"position":[[11058,9],[11453,8],[11478,6]]},"1367":{"position":[[10861,9],[11256,8],[11281,6]]},"1382":{"position":[[6670,9],[7065,8],[7090,6]]},"1383":{"position":[[1011,7]]},"1384":{"position":[[13024,9],[13419,8],[13444,6]]},"1388":{"position":[[7539,9],[7934,8],[7959,6]]},"1403":{"position":[[1036,7],[6061,7],[6093,6],[6158,8]]},"1424":{"position":[[892,7]]},"1432":{"position":[[1030,7]]}},"keywords":{}}],["remote.rev",{"_index":7714,"title":{},"content":{"1404":{"position":[[1442,11]]}},"keywords":{}}],["remote_cache_en",{"_index":1874,"title":{},"content":{"362":{"position":[[73,21]]},"741":{"position":[[73,21]]}},"keywords":{}}],["remote_dep_file_cache_en",{"_index":1875,"title":{},"content":{"362":{"position":[[115,30]]},"741":{"position":[[115,30]]}},"keywords":{}}],["remote_en",{"_index":1873,"title":{},"content":{"362":{"position":[[51,15],[1121,14]]},"741":{"position":[[51,15],[1121,14]]},"1072":{"position":[[678,14],[1029,14],[1208,14]]},"1346":{"position":[[360,14]]}},"keywords":{}}],["remote_execut",{"_index":7308,"title":{},"content":{"1388":{"position":[[2983,17]]},"1398":{"position":[[893,17]]},"1410":{"position":[[1175,17]]},"1429":{"position":[[1553,17]]},"1440":{"position":[[1754,17]]},"1466":{"position":[[566,17]]},"1467":{"position":[[4038,17]]},"1470":{"position":[[2075,17]]},"1473":{"position":[[1512,17]]},"1478":{"position":[[671,17]]}},"keywords":{}}],["remote_execution_action_key",{"_index":1877,"title":{},"content":{"362":{"position":[[196,27]]},"741":{"position":[[196,27]]}},"keywords":{}}],["remote_execution_action_key_provid",{"_index":7309,"title":{},"content":{"1388":{"position":[[3094,38]]},"1410":{"position":[[1286,38]]},"1429":{"position":[[1664,38]]},"1440":{"position":[[1865,38]]},"1466":{"position":[[677,38]]},"1467":{"position":[[4149,38]]},"1470":{"position":[[2186,38]]},"1473":{"position":[[1623,38]]},"1478":{"position":[[782,38]]}},"keywords":{}}],["remote_execution_depend",{"_index":1188,"title":{},"content":{"94":{"position":[[1105,30],[3713,30]]},"226":{"position":[[1105,30],[3713,30]]},"362":{"position":[[817,30]]},"741":{"position":[[817,30]]},"1360":{"position":[[1158,30]]},"1383":{"position":[[1036,30]]},"1403":{"position":[[1061,30]]},"1424":{"position":[[917,30]]},"1432":{"position":[[1055,30]]}},"keywords":{}}],["remote_execution_max_input_files_mebibyt",{"_index":1878,"title":{},"content":{"362":{"position":[[232,43]]},"741":{"position":[[232,43]]}},"keywords":{}}],["remote_execution_properti",{"_index":1876,"title":{},"content":{"362":{"position":[[160,27]]},"741":{"position":[[160,27]]},"1072":{"position":[[701,27],[1231,27]]}},"keywords":{}}],["remote_execution_queue_time_threshold_",{"_index":1879,"title":{},"content":{"362":{"position":[[295,40]]},"741":{"position":[[295,40]]}},"keywords":{}}],["remote_execution_resource_unit",{"_index":1888,"title":{},"content":{"362":{"position":[[765,32]]},"741":{"position":[[765,32]]}},"keywords":{}}],["remote_execution_use_cas",{"_index":1880,"title":{},"content":{"362":{"position":[[355,25]]},"741":{"position":[[355,25]]},"1072":{"position":[[901,25],[1431,25]]}},"keywords":{}}],["remote_fil",{"_index":8061,"title":{"1469":{"position":[[0,12]]}},"content":{"1439":{"position":[[6397,12]]},"1461":{"position":[[3052,14],[3373,12]]},"1469":{"position":[[4,12],[633,13],[2484,13],[2519,12],[2728,13],[2910,12],[3143,13],[3222,12],[3478,13],[3540,12]]}},"keywords":{}}],["remote_output_path",{"_index":1887,"title":{},"content":{"362":{"position":[[725,20]]},"741":{"position":[[725,20]]}},"keywords":{}}],["remoterunner.hta",{"_index":7651,"title":{},"content":{"1399":{"position":[[2778,19]]}},"keywords":{}}],["remoterunner.html",{"_index":7649,"title":{},"content":{"1399":{"position":[[2688,20],[2751,20]]}},"keywords":{}}],["remov",{"_index":2198,"title":{},"content":{"410":{"position":[[20,6]]},"418":{"position":[[389,6],[506,6]]},"477":{"position":[[357,7]]},"553":{"position":[[70,7]]},"557":{"position":[[67,6],[176,7]]},"558":{"position":[[77,7],[173,8]]},"564":{"position":[[64,7]]},"568":{"position":[[43,7],[106,7]]},"569":{"position":[[52,6],[91,7],[170,6]]},"606":{"position":[[155,8]]},"608":{"position":[[72,6]]},"609":{"position":[[72,6]]},"615":{"position":[[156,8]]},"616":{"position":[[553,7]]},"619":{"position":[[178,8]]},"643":{"position":[[218,7]]},"789":{"position":[[20,6]]},"797":{"position":[[389,6],[506,6]]},"957":{"position":[[62,7]]},"958":{"position":[[277,6]]},"1004":{"position":[[1180,6]]},"1113":{"position":[[457,7],[686,8]]},"1142":{"position":[[186,8]]},"1150":{"position":[[159,6]]},"1348":{"position":[[4329,6],[4360,7]]},"1355":{"position":[[5613,6],[5649,7]]},"1403":{"position":[[6317,8]]},"1461":{"position":[[2781,7]]}},"keywords":{}}],["remove_class",{"_index":6372,"title":{},"content":{"1348":{"position":[[2214,15]]},"1355":{"position":[[1719,15],[5578,15]]},"1412":{"position":[[1102,15]]},"1413":{"position":[[1248,15]]},"1427":{"position":[[1319,15],[4621,15]]},"1429":{"position":[[1719,15]]},"1430":{"position":[[1122,15]]},"1439":{"position":[[1555,15],[7120,15]]},"1440":{"position":[[1920,15]]},"1470":{"position":[[2241,15]]},"1474":{"position":[[1098,15]]},"1475":{"position":[[1244,15]]}},"keywords":{}}],["removeprefix",{"_index":2906,"title":{},"content":{"606":{"position":[[224,13]]}},"keywords":{}}],["removesuffix",{"_index":2976,"title":{},"content":{"615":{"position":[[225,13]]}},"keywords":{}}],["render",{"_index":1254,"title":{},"content":{"98":{"position":[[1033,9]]},"99":{"position":[[1441,9]]},"230":{"position":[[1033,9]]},"231":{"position":[[1441,9]]},"834":{"position":[[685,6]]},"1157":{"position":[[155,9],[193,9]]},"1158":{"position":[[149,9],[187,9]]},"1159":{"position":[[149,9],[187,9]]},"1260":{"position":[[790,8]]},"1291":{"position":[[790,8]]},"1319":{"position":[[790,8]]}},"keywords":{}}],["repeat",{"_index":6040,"title":{},"content":{"1219":{"position":[[316,8]]},"1355":{"position":[[4271,8]]},"1422":{"position":[[2579,10]]},"1423":{"position":[[2248,10]]},"1427":{"position":[[3416,8]]},"1439":{"position":[[4090,8]]}},"keywords":{}}],["repeatedli",{"_index":4592,"title":{"1251":{"position":[[0,10]]}},"content":{"937":{"position":[[1493,10]]},"1251":{"position":[[53,10]]}},"keywords":{}}],["repl_main",{"_index":8308,"title":{},"content":{"1462":{"position":[[3769,10]]},"1467":{"position":[[4204,10]]}},"keywords":{}}],["repl_only_dep",{"_index":8309,"title":{},"content":{"1462":{"position":[[3796,15]]},"1467":{"position":[[4231,15]]}},"keywords":{}}],["replac",{"_index":1163,"title":{},"content":{"93":{"position":[[155,7]]},"126":{"position":[[336,8]]},"225":{"position":[[155,7]]},"249":{"position":[[336,8]]},"405":{"position":[[2426,8]]},"408":{"position":[[1159,8],[1261,11]]},"451":{"position":[[283,7]]},"590":{"position":[[326,11]]},"595":{"position":[[183,8]]},"610":{"position":[[87,7],[221,8],[357,8]]},"656":{"position":[[301,11]]},"784":{"position":[[2426,8]]},"787":{"position":[[1159,8],[1261,11]]},"830":{"position":[[283,7]]},"892":{"position":[[1564,7]]},"898":{"position":[[2730,8]]},"939":{"position":[[516,9]]},"950":{"position":[[812,7]]},"980":{"position":[[768,7]]},"998":{"position":[[367,7]]},"1190":{"position":[[300,7]]},"1192":{"position":[[137,7]]},"1351":{"position":[[3150,8]]},"1362":{"position":[[7654,8],[9670,8]]},"1363":{"position":[[5378,8]]},"1364":{"position":[[7893,8],[10784,8]]},"1367":{"position":[[9758,8],[10294,8]]},"1384":{"position":[[18405,8]]},"1393":{"position":[[8785,7],[8887,7]]},"1427":{"position":[[4859,8]]},"1439":{"position":[[7358,8]]},"1471":{"position":[[2719,8]]},"1472":{"position":[[2678,8],[5721,8]]},"1473":{"position":[[2993,8]]}},"keywords":{}}],["replace_regex",{"_index":2135,"title":{},"content":{"405":{"position":[[784,14]]},"408":{"position":[[1145,13]]},"784":{"position":[[784,14]]},"787":{"position":[[1145,13]]}},"keywords":{}}],["replacetarget",{"_index":3566,"title":{},"content":{"693":{"position":[[5434,13]]}},"keywords":{}}],["replay",{"_index":5985,"title":{"1181":{"position":[[9,7]]}},"content":{"1171":{"position":[[661,6],[668,6]]},"1181":{"position":[[0,6],[119,6]]}},"keywords":{}}],["repli",{"_index":8585,"title":{},"content":{"1486":{"position":[[4008,5],[4671,5],[5049,8]]}},"keywords":{}}],["replic",{"_index":6393,"title":{},"content":{"1348":{"position":[[4082,10]]}},"keywords":{}}],["repo",{"_index":56,"title":{},"content":{"4":{"position":[[334,5]]},"10":{"position":[[923,4]]},"15":{"position":[[342,5]]},"310":{"position":[[853,5]]},"583":{"position":[[279,4]]},"919":{"position":[[884,4],[1065,4]]},"937":{"position":[[880,5],[3480,4],[4037,5]]},"940":{"position":[[631,5]]},"943":{"position":[[2116,5]]},"945":{"position":[[891,6]]},"1040":{"position":[[777,4]]},"1093":{"position":[[237,5],[655,5]]},"1096":{"position":[[88,5]]},"1097":{"position":[[198,4],[352,5]]},"1098":{"position":[[433,5],[448,4]]},"1102":{"position":[[71,5]]},"1150":{"position":[[49,5],[269,4],[385,4]]},"1161":{"position":[[318,4]]},"1228":{"position":[[1089,4]]},"1240":{"position":[[353,4]]},"1269":{"position":[[121,4]]},"1300":{"position":[[121,4]]},"1328":{"position":[[121,4]]},"1404":{"position":[[492,5],[1552,4]]}},"keywords":{}}],["repo'",{"_index":4648,"title":{},"content":{"940":{"position":[[588,6]]}},"keywords":{}}],["repo..buckconfig",{"_index":2688,"title":{},"content":{"583":{"position":[[553,16]]}},"keywords":{}}],["repo..buckconfig.loc",{"_index":2690,"title":{},"content":{"583":{"position":[[621,22]]}},"keywords":{}}],["repo.com:org.eclipse.jetty.aggregate:jetti",{"_index":8392,"title":{},"content":{"1469":{"position":[[3331,42]]}},"keywords":{}}],["repo.deprec",{"_index":4620,"title":{},"content":{"937":{"position":[[4779,14]]}},"keywords":{}}],["repo.fil",{"_index":2689,"title":{},"content":{"583":{"position":[[577,10]]}},"keywords":{}}],["repo.simplifi",{"_index":4618,"title":{},"content":{"937":{"position":[[4563,13]]}},"keywords":{}}],["repo/.buckconfig",{"_index":4651,"title":{},"content":{"940":{"position":[[1014,17]]}},"keywords":{}}],["repo//foo",{"_index":4645,"title":{},"content":{"940":{"position":[[301,13]]}},"keywords":{}}],["repo//foo/...?asan",{"_index":4671,"title":{},"content":{"942":{"position":[[548,18]]}},"keywords":{}}],["repo//foo/bar/baz.pi",{"_index":6282,"title":{},"content":{"1269":{"position":[[136,21]]},"1300":{"position":[[136,21]]},"1328":{"position":[[136,21]]}},"keywords":{}}],["repo//foo:?asan",{"_index":4672,"title":{},"content":{"942":{"position":[[583,15]]}},"keywords":{}}],["repo//foo:bar",{"_index":4659,"title":{},"content":{"941":{"position":[[118,14]]},"942":{"position":[[880,13],[1112,13]]},"943":{"position":[[363,13],[1196,13],[1487,13]]}},"keywords":{}}],["repo//foo:bar?asan",{"_index":4670,"title":{},"content":{"942":{"position":[[367,18]]}},"keywords":{}}],["repo//foo:bar?cfg//os:linux,cfg//sanitizer:asan",{"_index":4668,"title":{},"content":{"942":{"position":[[226,47]]}},"keywords":{}}],["repo//foo:bar?cfg//sanitizer:asan",{"_index":4666,"title":{},"content":{"942":{"position":[[138,33]]}},"keywords":{}}],["repo//foo:bar?dev,releas",{"_index":4684,"title":{},"content":{"942":{"position":[[1457,25]]}},"keywords":{}}],["repo//foo:bar?linux",{"_index":4690,"title":{},"content":{"943":{"position":[[1562,19]]}},"keywords":{}}],["repo//foo:bar?linux,releas",{"_index":4682,"title":{},"content":{"942":{"position":[[1154,28]]}},"keywords":{}}],["repo//foo:bar?releas",{"_index":4678,"title":{},"content":{"942":{"position":[[947,21],[1511,22]]}},"keywords":{}}],["repo//foo:bar[comp",{"_index":4673,"title":{},"content":{"942":{"position":[[717,18]]}},"keywords":{}}],["repo//foo:baz",{"_index":4676,"title":{},"content":{"942":{"position":[[894,13]]}},"keywords":{}}],["repo/buck",{"_index":8459,"title":{},"content":{"1477":{"position":[[2675,10]]},"1478":{"position":[[2826,10]]}},"keywords":{}}],["repo/foo/buck",{"_index":4660,"title":{},"content":{"941":{"position":[[135,13]]},"943":{"position":[[703,13]]}},"keywords":{}}],["repo/foo/packag",{"_index":4644,"title":{},"content":{"940":{"position":[[252,16]]},"943":{"position":[[621,16],[1117,16]]}},"keywords":{}}],["repo/packag",{"_index":4642,"title":{},"content":{"940":{"position":[[174,12],[639,12],[1270,12]]},"943":{"position":[[405,12],[1054,12],[1339,12]]}},"keywords":{}}],["report",{"_index":787,"title":{"1111":{"position":[[6,6]]}},"content":{"24":{"position":[[154,6]]},"41":{"position":[[766,7]]},"89":{"position":[[1072,6]]},"174":{"position":[[766,7]]},"221":{"position":[[1072,6]]},"446":{"position":[[402,10]]},"593":{"position":[[150,7]]},"597":{"position":[[118,7]]},"598":{"position":[[107,7]]},"599":{"position":[[106,7]]},"600":{"position":[[108,7]]},"601":{"position":[[113,7]]},"602":{"position":[[96,7]]},"603":{"position":[[108,7]]},"618":{"position":[[158,7]]},"646":{"position":[[102,7]]},"825":{"position":[[402,10]]},"1036":{"position":[[179,6]]},"1037":{"position":[[351,6],[420,6]]},"1038":{"position":[[17,7]]},"1050":{"position":[[4562,8]]},"1060":{"position":[[88,6]]},"1112":{"position":[[501,6],[600,6]]},"1113":{"position":[[24,6],[324,6],[484,6]]},"1114":{"position":[[10,6]]},"1138":{"position":[[1462,6],[1496,6],[1512,7],[1543,6],[1615,6],[1895,6],[1969,6]]},"1140":{"position":[[951,6],[985,6],[1001,7],[1032,6],[1104,6],[1384,6],[1458,6]]},"1167":{"position":[[1955,6],[1989,6],[2005,7],[2036,6],[2108,6],[2388,6],[2462,6]]},"1188":{"position":[[1004,6],[1038,6],[1054,7],[1085,6],[1157,6],[1437,6],[1511,6]]},"1217":{"position":[[696,6],[730,6],[746,7],[777,6],[849,6],[1129,6],[1203,6]]},"1228":{"position":[[1657,6],[2777,6],[2811,6],[2827,7],[2858,6],[2930,6],[3210,6],[3284,6]]},"1232":{"position":[[31,6]]},"1233":{"position":[[312,6]]},"1241":{"position":[[260,6]]}},"keywords":{}}],["report=<filepath>",{"_index":5924,"title":{},"content":{"1138":{"position":[[1569,24]]},"1140":{"position":[[1058,24]]},"1167":{"position":[[2062,24]]},"1188":{"position":[[1111,24]]},"1217":{"position":[[803,24]]},"1228":{"position":[[2884,24]]}},"keywords":{}}],["repositori",{"_index":449,"title":{"696":{"position":[[36,11]]}},"content":{"15":{"position":[[182,11]]},"17":{"position":[[286,10]]},"22":{"position":[[268,12]]},"94":{"position":[[3997,11]]},"226":{"position":[[3997,11]]},"299":{"position":[[84,10]]},"307":{"position":[[79,10]]},"443":{"position":[[158,10]]},"587":{"position":[[656,14]]},"696":{"position":[[120,13],[290,10]]},"822":{"position":[[158,10]]},"840":{"position":[[57,10]]},"884":{"position":[[91,11]]},"1161":{"position":[[387,10]]},"1260":{"position":[[639,10]]},"1262":{"position":[[767,10]]},"1291":{"position":[[639,10]]},"1293":{"position":[[767,10]]},"1319":{"position":[[639,10]]},"1321":{"position":[[767,10]]},"1364":{"position":[[9294,10]]},"1382":{"position":[[5453,10]]},"1384":{"position":[[10400,10]]},"1385":{"position":[[3367,10]]},"1387":{"position":[[5700,10]]},"1399":{"position":[[1743,12]]},"1404":{"position":[[555,11]]},"1454":{"position":[[7304,10]]},"1458":{"position":[[977,10]]},"1469":{"position":[[3204,10]]},"1485":{"position":[[1735,10]]}},"keywords":{}}],["repository).to",{"_index":5455,"title":{},"content":{"1061":{"position":[[111,14]]}},"keywords":{}}],["repository_nam",{"_index":2338,"title":{"436":{"position":[[0,16]]},"815":{"position":[[0,16]]}},"content":{"436":{"position":[[4,17]]},"815":{"position":[[4,17]]}},"keywords":{}}],["repository—that",{"_index":3611,"title":{},"content":{"696":{"position":[[63,15]]}},"keywords":{}}],["repr",{"_index":3282,"title":{"664":{"position":[[0,5]]}},"content":{"659":{"position":[[32,5]]},"664":{"position":[[26,5]]}},"keywords":{}}],["repr("test",{"_index":3323,"title":{},"content":{"664":{"position":[[238,15]]}},"keywords":{}}],["repr("x"",{"_index":3318,"title":{},"content":{"664":{"position":[[126,19]]}},"keywords":{}}],["repr("x\\"i",{"_index":3327,"title":{},"content":{"664":{"position":[[315,22]]}},"keywords":{}}],["repr(1",{"_index":3317,"title":{},"content":{"664":{"position":[[111,7]]}},"keywords":{}}],["repr([1",{"_index":3320,"title":{},"content":{"664":{"position":[[177,8]]}},"keywords":{}}],["repr(a",{"_index":3316,"title":{},"content":{"664":{"position":[[4,7]]}},"keywords":{}}],["repr(ctx.label",{"_index":2398,"title":{},"content":{"446":{"position":[[586,16]]},"825":{"position":[[586,16]]}},"keywords":{}}],["repres",{"_index":887,"title":{},"content":{"48":{"position":[[47,10]]},"73":{"position":[[45,12]]},"79":{"position":[[85,12]]},"88":{"position":[[167,12]]},"89":{"position":[[131,12]]},"95":{"position":[[184,12]]},"145":{"position":[[230,13]]},"195":{"position":[[47,10]]},"220":{"position":[[167,12]]},"221":{"position":[[131,12]]},"227":{"position":[[184,12]]},"268":{"position":[[230,13]]},"372":{"position":[[193,10]]},"374":{"position":[[553,12],[634,12],[784,12],[965,12],[1043,12]]},"377":{"position":[[704,10]]},"396":{"position":[[438,12]]},"496":{"position":[[45,12]]},"508":{"position":[[85,12]]},"577":{"position":[[63,9],[119,9],[324,11]]},"638":{"position":[[36,10]]},"648":{"position":[[1184,11],[1260,11]]},"663":{"position":[[51,10]]},"693":{"position":[[3786,10],[8411,9],[9228,10]]},"711":{"position":[[474,12]]},"717":{"position":[[319,11]]},"751":{"position":[[193,10]]},"753":{"position":[[553,12],[634,12],[784,12],[965,12],[1043,12]]},"756":{"position":[[704,10]]},"775":{"position":[[438,12]]},"832":{"position":[[25,11]]},"864":{"position":[[666,10]]},"890":{"position":[[5345,10]]},"898":{"position":[[272,11]]},"900":{"position":[[287,11],[579,9],[651,10],[696,10],[813,10],[897,10],[992,10],[1089,10],[1165,10],[1244,10],[1311,10],[1959,12]]},"901":{"position":[[14,10]]},"902":{"position":[[14,10]]},"995":{"position":[[990,11],[1274,9]]},"1018":{"position":[[297,11]]},"1022":{"position":[[47,9]]},"1048":{"position":[[19,10]]},"1052":{"position":[[227,11],[370,10],[1252,10]]},"1053":{"position":[[618,9]]},"1054":{"position":[[898,12]]},"1097":{"position":[[28,9]]},"1103":{"position":[[1082,9]]},"1104":{"position":[[1641,10]]},"1126":{"position":[[1318,10]]},"1129":{"position":[[36,10]]},"1131":{"position":[[137,9]]},"1133":{"position":[[298,10]]},"1226":{"position":[[4470,12],[4660,12]]},"1237":{"position":[[4640,12],[4830,12]]},"1355":{"position":[[5044,9]]},"1356":{"position":[[1851,12]]},"1361":{"position":[[1899,12],[2152,12]]},"1364":{"position":[[4834,10]]},"1374":{"position":[[1964,11]]},"1391":{"position":[[586,10]]},"1415":{"position":[[2462,10]]},"1416":{"position":[[1322,10]]},"1427":{"position":[[4358,9]]},"1439":{"position":[[6857,9]]},"1453":{"position":[[904,10]]},"1454":{"position":[[3241,10]]},"1455":{"position":[[1124,10]]},"1486":{"position":[[1922,11],[2029,11]]}},"keywords":{}}],["represent",{"_index":1727,"title":{"898":{"position":[[6,14]]},"951":{"position":[[9,14]]}},"content":{"310":{"position":[[700,14]]},"440":{"position":[[155,16]]},"445":{"position":[[90,14]]},"632":{"position":[[66,14]]},"633":{"position":[[74,14]]},"693":{"position":[[564,15]]},"819":{"position":[[155,16]]},"824":{"position":[[90,14]]},"898":{"position":[[6,14]]},"1195":{"position":[[258,14]]},"1393":{"position":[[6412,14]]}},"keywords":{}}],["repro",{"_index":4320,"title":{},"content":{"896":{"position":[[508,6]]}},"keywords":{}}],["reproduc",{"_index":3439,"title":{"1242":{"position":[[50,9]]}},"content":{"688":{"position":[[360,12]]},"894":{"position":[[209,10]]},"895":{"position":[[335,9]]},"896":{"position":[[1001,11]]},"1172":{"position":[[378,9],[453,9],[621,9]]},"1383":{"position":[[4892,12]]}},"keywords":{}}],["request",{"_index":756,"title":{"880":{"position":[[0,7]]},"1008":{"position":[[0,7]]}},"content":{"23":{"position":[[2534,10]]},"67":{"position":[[170,9]]},"92":{"position":[[2527,9]]},"210":{"position":[[82,9]]},"211":{"position":[[79,9]]},"224":{"position":[[2527,9]]},"368":{"position":[[3003,9],[3420,10]]},"396":{"position":[[237,9]]},"455":{"position":[[170,9]]},"704":{"position":[[2496,9]]},"715":{"position":[[1750,7]]},"747":{"position":[[3003,9],[3420,10]]},"775":{"position":[[237,9]]},"937":{"position":[[2808,7]]},"946":{"position":[[473,9]]},"947":{"position":[[328,7],[1227,9]]},"951":{"position":[[1177,7]]},"954":{"position":[[844,10]]},"957":{"position":[[46,8]]},"963":{"position":[[42,7]]},"964":{"position":[[944,10]]},"965":{"position":[[17,9]]},"1000":{"position":[[460,10]]},"1005":{"position":[[213,9],[251,9]]},"1021":{"position":[[669,9]]},"1053":{"position":[[960,8]]},"1067":{"position":[[395,7],[614,7]]},"1069":{"position":[[578,10]]},"1071":{"position":[[1035,10]]},"1072":{"position":[[435,7],[507,8]]},"1112":{"position":[[150,9],[2175,7]]},"1114":{"position":[[354,9]]},"1219":{"position":[[154,8],[696,8],[821,7]]},"1224":{"position":[[61,8]]},"1345":{"position":[[870,8],[1197,9]]},"1382":{"position":[[3173,7]]},"1486":{"position":[[5420,7]]}},"keywords":{}}],["requestingctx.build",{"_index":4807,"title":{},"content":{"966":{"position":[[146,20]]}},"keywords":{}}],["requir",{"_index":345,"title":{"682":{"position":[[0,8]]}},"content":{"10":{"position":[[880,10]]},"17":{"position":[[726,8],[832,8]]},"18":{"position":[[1832,9]]},"23":{"position":[[2813,9]]},"24":{"position":[[832,8]]},"304":{"position":[[112,8]]},"374":{"position":[[1752,8],[1936,8]]},"662":{"position":[[364,8]]},"680":{"position":[[703,8]]},"682":{"position":[[66,8]]},"684":{"position":[[80,8]]},"695":{"position":[[330,8]]},"699":{"position":[[82,8]]},"705":{"position":[[312,8]]},"753":{"position":[[1752,8],[1936,8]]},"846":{"position":[[1685,7]]},"860":{"position":[[652,8]]},"872":{"position":[[776,8]]},"892":{"position":[[572,8]]},"919":{"position":[[1413,8]]},"924":{"position":[[325,7],[2297,7]]},"937":{"position":[[3746,8]]},"943":{"position":[[1970,8]]},"944":{"position":[[1866,8]]},"946":{"position":[[365,8]]},"954":{"position":[[114,8],[479,8],[822,8]]},"955":{"position":[[16,8]]},"966":{"position":[[251,7]]},"993":{"position":[[61,10],[126,10]]},"994":{"position":[[71,10],[138,10]]},"995":{"position":[[72,10]]},"1050":{"position":[[362,12],[735,12]]},"1052":{"position":[[177,9],[1319,7],[1490,9]]},"1053":{"position":[[113,8],[174,8],[311,8],[1273,9]]},"1054":{"position":[[727,8],[1224,8]]},"1069":{"position":[[835,8]]},"1079":{"position":[[367,8]]},"1093":{"position":[[750,7]]},"1098":{"position":[[738,7]]},"1100":{"position":[[13,8],[121,11]]},"1103":{"position":[[1361,9]]},"1148":{"position":[[1053,7]]},"1172":{"position":[[290,8]]},"1204":{"position":[[7380,7]]},"1228":{"position":[[1220,8],[1286,8]]},"1235":{"position":[[845,7]]},"1345":{"position":[[1275,8]]},"1346":{"position":[[625,8]]},"1348":{"position":[[2907,8],[3033,8],[3164,8]]},"1349":{"position":[[1052,8],[1178,8],[1309,8]]},"1350":{"position":[[4023,8],[4149,8],[4280,8]]},"1351":{"position":[[1244,8],[1371,8],[1503,8]]},"1352":{"position":[[4022,8],[4148,8],[4279,8]]},"1353":{"position":[[1626,8],[1752,8],[1883,8]]},"1354":{"position":[[1464,8],[1590,8],[1721,8]]},"1355":{"position":[[2604,8],[2731,8],[2863,8],[3721,8],[4012,7],[5118,8]]},"1356":{"position":[[970,8],[1096,8],[1227,8]]},"1357":{"position":[[643,8],[769,8],[900,8]]},"1358":{"position":[[1364,8],[1490,8],[1621,8]]},"1359":{"position":[[1201,8],[1327,8],[1458,8]]},"1360":{"position":[[1833,8],[1960,8],[2092,8]]},"1361":{"position":[[1191,8],[1317,8],[1448,8]]},"1362":{"position":[[5556,8],[5683,8],[5815,8],[6515,7],[6655,7],[12571,7]]},"1363":{"position":[[3302,8],[3429,8],[3561,8]]},"1364":{"position":[[5585,8],[5712,8],[5844,8],[6544,7],[13076,7]]},"1365":{"position":[[1125,8],[1251,8],[1382,8]]},"1366":{"position":[[1332,8],[1459,8],[1591,8]]},"1367":{"position":[[6983,8],[7110,8],[7242,8],[7942,7],[12479,7]]},"1368":{"position":[[1681,8],[1807,8],[1938,8]]},"1369":{"position":[[733,8],[859,8],[990,8]]},"1370":{"position":[[981,8],[1108,8],[1240,8]]},"1371":{"position":[[609,8],[735,8],[866,8]]},"1372":{"position":[[2247,8],[2373,8],[2504,8]]},"1373":{"position":[[3119,8],[3245,8],[3376,8],[4150,7],[7512,7]]},"1374":{"position":[[1016,8],[1143,8],[1275,8]]},"1375":{"position":[[645,8],[771,8],[902,8]]},"1376":{"position":[[601,8],[727,8],[858,8]]},"1377":{"position":[[840,8],[966,8],[1097,8]]},"1378":{"position":[[587,8],[713,8],[844,8]]},"1379":{"position":[[610,8],[736,8],[867,8]]},"1380":{"position":[[1081,8],[1207,8],[1338,8]]},"1381":{"position":[[987,8],[1113,8],[1244,8]]},"1382":{"position":[[3468,8],[3595,8],[3727,8],[4427,7],[10287,7]]},"1383":{"position":[[1706,8],[1833,8],[1965,8]]},"1384":{"position":[[4630,8],[4757,8],[4889,8],[5589,7],[16818,7],[19845,8],[20547,7],[20640,7],[20757,7]]},"1385":{"position":[[2306,8],[2432,8],[2563,8],[3233,7],[6512,7],[7659,7]]},"1386":{"position":[[944,8],[1070,8],[1201,8],[4766,8]]},"1387":{"position":[[4575,8],[4701,8],[4832,8],[5504,7],[9885,7]]},"1388":{"position":[[3768,8],[3895,8],[4027,8],[5121,7],[8780,7]]},"1389":{"position":[[4628,8],[4754,8],[4885,8]]},"1390":{"position":[[880,8],[1006,8],[1137,8]]},"1391":{"position":[[833,8],[959,8],[1090,8]]},"1392":{"position":[[983,8],[1109,8],[1240,8]]},"1393":{"position":[[1556,8],[1683,8],[1815,8]]},"1394":{"position":[[1003,8],[1129,8],[1260,8]]},"1395":{"position":[[1013,8],[1140,8],[1272,8]]},"1396":{"position":[[565,8],[809,8],[935,8],[1066,8]]},"1397":{"position":[[990,8],[1116,8],[1247,8],[2992,8]]},"1398":{"position":[[1663,8],[1790,8],[1922,8]]},"1399":{"position":[[845,8],[971,8],[1102,8]]},"1400":{"position":[[714,8],[840,8],[971,8]]},"1401":{"position":[[789,8],[915,8],[1046,8]]},"1402":{"position":[[945,8],[1071,8],[1202,8]]},"1403":{"position":[[1536,8],[1663,8],[1795,8]]},"1404":{"position":[[778,8],[904,8],[1035,8]]},"1405":{"position":[[1469,8],[1595,8],[1726,8]]},"1406":{"position":[[685,8],[811,8],[942,8]]},"1407":{"position":[[1510,8],[1636,8],[1767,8]]},"1408":{"position":[[1206,8],[1332,8],[1463,8]]},"1409":{"position":[[740,8],[866,8],[997,8]]},"1410":{"position":[[1903,8],[2030,8],[2162,8],[5556,8]]},"1411":{"position":[[723,8],[849,8],[980,8]]},"1412":{"position":[[1924,8],[2051,8],[2183,8],[2674,8]]},"1413":{"position":[[2107,8],[2233,8],[2364,8]]},"1414":{"position":[[974,8],[1100,8],[1231,8]]},"1415":{"position":[[2956,8],[3082,8],[3213,8],[3832,7]]},"1416":{"position":[[1608,8],[1734,8],[1865,8]]},"1417":{"position":[[1197,8],[1323,8],[1454,8]]},"1418":{"position":[[898,8],[1024,8],[1155,8]]},"1419":{"position":[[1026,8],[1152,8],[1283,8]]},"1420":{"position":[[1290,8],[1416,8],[1547,8]]},"1421":{"position":[[1265,8],[1391,8],[1522,8]]},"1422":{"position":[[1169,8],[1296,8],[1428,8]]},"1423":{"position":[[1157,8],[1283,8],[1414,8]]},"1424":{"position":[[1282,8],[1408,8],[1539,8]]},"1425":{"position":[[898,8],[1024,8],[1155,8]]},"1426":{"position":[[1242,8],[1369,8],[1501,8]]},"1427":{"position":[[2139,8],[2266,8],[2398,8],[2869,8],[3157,7],[4432,8]]},"1428":{"position":[[880,8],[1006,8],[1137,8]]},"1429":{"position":[[2803,8],[2930,8],[3062,8]]},"1430":{"position":[[1656,8],[1782,8],[1913,8]]},"1431":{"position":[[1000,8],[1126,8],[1257,8]]},"1432":{"position":[[1521,8],[1647,8],[1778,8]]},"1433":{"position":[[1042,8],[1168,8],[1299,8]]},"1434":{"position":[[716,8],[842,8],[973,8]]},"1435":{"position":[[680,8],[806,8],[937,8]]},"1436":{"position":[[696,8],[822,8],[953,8]]},"1437":{"position":[[766,8],[892,8],[1023,8]]},"1438":{"position":[[643,8],[901,8],[1028,8],[1160,8]]},"1439":{"position":[[2425,8],[2552,8],[2684,8],[3541,8],[3831,7],[6931,8]]},"1440":{"position":[[2991,8],[3118,8],[3250,8]]},"1441":{"position":[[722,8],[848,8],[979,8]]},"1442":{"position":[[796,8],[923,8],[1055,8]]},"1443":{"position":[[1017,8],[1143,8],[1274,8]]},"1444":{"position":[[933,8],[1059,8],[1190,8]]},"1445":{"position":[[622,8],[748,8],[879,8]]},"1446":{"position":[[956,8],[1082,8],[1213,8]]},"1447":{"position":[[838,8],[964,8],[1095,8]]},"1448":{"position":[[1273,8],[1399,8],[1530,8]]},"1449":{"position":[[1207,8],[1333,8],[1464,8]]},"1450":{"position":[[1086,8],[1212,8],[1343,8]]},"1451":{"position":[[1086,8],[1212,8],[1343,8]]},"1452":{"position":[[632,8],[758,8],[889,8]]},"1453":{"position":[[1218,8],[1344,8],[1475,8]]},"1454":{"position":[[3584,8],[3710,8],[3841,8]]},"1455":{"position":[[1471,8],[1597,8],[1728,8]]},"1456":{"position":[[816,8],[942,8],[1073,8]]},"1457":{"position":[[875,8],[1001,8],[1132,8]]},"1458":{"position":[[1410,8],[1536,8],[1667,8]]},"1459":{"position":[[889,8],[1015,8],[1146,8]]},"1460":{"position":[[1001,8],[1127,8],[1258,8]]},"1461":{"position":[[1217,8],[1344,8],[1476,8]]},"1462":{"position":[[4597,8],[4723,8],[4854,8],[8445,8]]},"1463":{"position":[[723,8],[849,8],[980,8]]},"1464":{"position":[[631,8],[757,8],[888,8]]},"1465":{"position":[[1729,8],[1855,8],[1986,8]]},"1466":{"position":[[967,8],[1093,8],[1224,8]]},"1467":{"position":[[5287,8],[5414,8],[5546,8],[9927,8],[10666,8]]},"1468":{"position":[[731,8],[857,8],[988,8]]},"1469":{"position":[[1105,8],[1232,8],[1364,8]]},"1470":{"position":[[3633,8],[3759,8],[3890,8]]},"1471":{"position":[[1968,8],[2095,8],[2227,8]]},"1472":{"position":[[1927,8],[2054,8],[2186,8]]},"1473":{"position":[[2242,8],[2369,8],[2501,8],[3954,8]]},"1474":{"position":[[1632,8],[1758,8],[1889,8]]},"1475":{"position":[[2103,8],[2229,8],[2360,8]]},"1476":{"position":[[708,8],[834,8],[965,8]]},"1477":{"position":[[861,8],[988,8],[1120,8],[1976,8]]},"1478":{"position":[[1352,8],[1479,8],[1611,8]]},"1479":{"position":[[800,8],[926,8],[1057,8]]},"1480":{"position":[[1213,8],[1339,8],[1470,8]]},"1481":{"position":[[1746,8],[1872,8],[2003,8]]},"1482":{"position":[[820,8],[946,8],[1077,8]]},"1483":{"position":[[654,8],[780,8],[911,8]]},"1484":{"position":[[726,8],[852,8],[983,8]]},"1485":{"position":[[986,8],[1112,8],[1243,8]]},"1486":{"position":[[1230,8],[1356,8],[1487,8]]},"1487":{"position":[[926,8],[1053,8],[1185,8]]}},"keywords":{}}],["required.in",{"_index":5136,"title":{},"content":{"1040":{"position":[[700,11]]}},"keywords":{}}],["required_for_source_only_abi",{"_index":6373,"title":{},"content":{"1348":{"position":[[2245,29]]},"1355":{"position":[[1750,29],[5730,29]]},"1358":{"position":[[800,29]]},"1412":{"position":[[1133,29]]},"1413":{"position":[[1279,29]]},"1427":{"position":[[1350,29],[4903,29]]},"1429":{"position":[[1750,29]]},"1430":{"position":[[1153,29]]},"1439":{"position":[[1586,29]]},"1440":{"position":[[1951,29]]},"1458":{"position":[[818,29]]},"1470":{"position":[[2272,29]]},"1474":{"position":[[1129,29]]},"1475":{"position":[[1275,29]]}},"keywords":{}}],["requires_arch",{"_index":7395,"title":{},"content":{"1389":{"position":[[3485,18]]}},"keywords":{}}],["requires_object",{"_index":7396,"title":{},"content":{"1389":{"position":[[3514,17]]}},"keywords":{}}],["requires_xcode_version_match",{"_index":7001,"title":{},"content":{"1368":{"position":[[1099,29]]}},"keywords":{}}],["requisit",{"_index":5490,"title":{},"content":{"1070":{"position":[[630,9]]}},"keywords":{}}],["reran",{"_index":3819,"title":{},"content":{"832":{"position":[[421,6]]},"965":{"position":[[271,6]]},"966":{"position":[[683,5]]}},"keywords":{}}],["reremote_execution_resource_unit",{"_index":1921,"title":{},"content":{"362":{"position":[[2723,34]]},"741":{"position":[[2723,34]]}},"keywords":{}}],["rerun",{"_index":3820,"title":{},"content":{"832":{"position":[[546,9]]},"920":{"position":[[542,9],[574,5]]}},"keywords":{}}],["res/org/opencv:manifest",{"_index":7671,"title":{},"content":{"1402":{"position":[[2215,28]]}},"keywords":{}}],["res/org/opencv:r",{"_index":7672,"title":{},"content":{"1402":{"position":[[2253,23]]}},"keywords":{}}],["rescu",{"_index":6195,"title":{"1249":{"position":[[16,8]]}},"content":{},"keywords":{}}],["reseri",{"_index":4746,"title":{},"content":{"954":{"position":[[566,11]]}},"keywords":{}}],["reserv",{"_index":2042,"title":{},"content":{"377":{"position":[[1241,8]]},"595":{"position":[[1383,8]]},"756":{"position":[[1241,8]]},"1045":{"position":[[146,8]]},"1054":{"position":[[779,8]]}},"keywords":{}}],["resid",{"_index":3599,"title":{},"content":{"693":{"position":[[9287,8]]},"1385":{"position":[[3026,6]]},"1387":{"position":[[5293,6]]},"1444":{"position":[[1653,6]]},"1462":{"position":[[5529,6]]},"1465":{"position":[[2447,6]]},"1467":{"position":[[6012,6]]}},"keywords":{}}],["resolut",{"_index":742,"title":{"943":{"position":[[9,11]]},"1013":{"position":[[11,11]]},"1014":{"position":[[16,11]]},"1026":{"position":[[19,11]]},"1045":{"position":[[10,11]]},"1200":{"position":[[30,11]]}},"content":{"23":{"position":[[2160,11]]},"209":{"position":[[174,11]]},"298":{"position":[[3062,10]]},"338":{"position":[[424,10]]},"711":{"position":[[1424,10]]},"720":{"position":[[263,11]]},"851":{"position":[[404,10]]},"870":{"position":[[517,11]]},"874":{"position":[[373,10]]},"877":{"position":[[365,10],[572,10]]},"878":{"position":[[1119,10]]},"940":{"position":[[320,10]]},"944":{"position":[[1830,11]]},"945":{"position":[[288,10]]},"946":{"position":[[148,10],[225,10],[451,10],[544,10],[747,10]]},"947":{"position":[[478,11]]},"989":{"position":[[273,10]]},"1011":{"position":[[420,10]]},"1014":{"position":[[203,11],[270,10],[597,10]]},"1015":{"position":[[70,11],[190,10]]},"1021":{"position":[[246,11]]},"1024":{"position":[[311,10],[868,12]]},"1026":{"position":[[40,11],[103,10],[885,10]]},"1027":{"position":[[91,10]]},"1042":{"position":[[663,11]]},"1045":{"position":[[10,10]]},"1190":{"position":[[762,10],[821,10]]},"1200":{"position":[[48,10],[105,10]]},"1370":{"position":[[2518,11]]}},"keywords":{}}],["resolution"",{"_index":4647,"title":{},"content":{"940":{"position":[[357,16]]}},"keywords":{}}],["resolv",{"_index":1208,"title":{"856":{"position":[[22,8]]}},"content":{"94":{"position":[[2378,8],[2420,8]]},"118":{"position":[[198,8]]},"130":{"position":[[169,7],[216,8]]},"226":{"position":[[2378,8],[2420,8]]},"242":{"position":[[293,8]]},"253":{"position":[[169,7],[216,8]]},"281":{"position":[[97,8],[286,8],[440,8],[501,8],[765,8]]},"282":{"position":[[174,8],[234,8],[390,8],[451,8]]},"294":{"position":[[598,7]]},"297":{"position":[[576,7]]},"298":{"position":[[729,8],[2025,8],[2816,8]]},"300":{"position":[[133,8]]},"301":{"position":[[512,7]]},"322":{"position":[[56,8]]},"334":{"position":[[530,8]]},"368":{"position":[[2518,9]]},"377":{"position":[[1358,8]]},"389":{"position":[[942,7],[998,7],[1129,7],[1196,8],[1263,7]]},"474":{"position":[[269,8]]},"484":{"position":[[94,8]]},"534":{"position":[[198,8]]},"581":{"position":[[894,8]]},"690":{"position":[[3256,9]]},"693":{"position":[[3478,8],[8999,8],[9560,8]]},"711":{"position":[[903,7],[942,9],[1241,7],[1280,9],[1649,8]]},"712":{"position":[[2541,9]]},"720":{"position":[[127,9]]},"747":{"position":[[2518,9]]},"756":{"position":[[1358,8]]},"768":{"position":[[942,7],[998,7],[1129,7],[1196,8],[1263,7]]},"837":{"position":[[342,9]]},"851":{"position":[[2142,8]]},"856":{"position":[[838,8],[971,8]]},"870":{"position":[[288,8]]},"878":{"position":[[156,8]]},"919":{"position":[[2060,9]]},"929":{"position":[[317,8],[339,8]]},"938":{"position":[[1011,7],[1055,7]]},"943":{"position":[[14,8],[119,8],[332,8],[897,9],[934,7],[977,9],[1287,7],[1357,7],[1608,9],[1752,9],[1810,7],[2160,7],[2379,8],[2483,7],[2515,9]]},"944":{"position":[[740,9],[1914,8],[2088,8]]},"945":{"position":[[511,7],[622,7]]},"947":{"position":[[389,8],[597,9]]},"962":{"position":[[578,8]]},"990":{"position":[[258,8]]},"1004":{"position":[[527,8],[810,8]]},"1006":{"position":[[179,8],[225,8],[383,8]]},"1009":{"position":[[610,9]]},"1012":{"position":[[118,8]]},"1013":{"position":[[0,9],[317,8]]},"1021":{"position":[[153,8],[282,7]]},"1026":{"position":[[687,8]]},"1027":{"position":[[150,8]]},"1044":{"position":[[472,7]]},"1049":{"position":[[352,8],[587,7]]},"1050":{"position":[[1485,7],[1511,8]]},"1138":{"position":[[5743,8]]},"1146":{"position":[[0,7]]},"1148":{"position":[[223,9],[441,9],[484,7],[3093,8]]},"1186":{"position":[[1317,8]]},"1187":{"position":[[1330,8]]},"1188":{"position":[[6056,8]]},"1190":{"position":[[721,9]]},"1191":{"position":[[191,8]]},"1193":{"position":[[617,9],[645,9]]},"1197":{"position":[[555,8]]},"1198":{"position":[[565,8]]},"1199":{"position":[[20,9],[324,8],[593,8]]},"1200":{"position":[[460,8]]},"1226":{"position":[[276,7]]},"1232":{"position":[[3585,8]]},"1237":{"position":[[446,7]]},"1282":{"position":[[316,8]]},"1283":{"position":[[333,8]]},"1284":{"position":[[313,8]]},"1313":{"position":[[316,8]]},"1314":{"position":[[333,8]]},"1315":{"position":[[313,8]]},"1341":{"position":[[316,8]]},"1342":{"position":[[333,8]]},"1343":{"position":[[313,8]]},"1386":{"position":[[5905,7]]},"1393":{"position":[[9691,9]]}},"keywords":{}}],["resolved,th",{"_index":5087,"title":{},"content":{"1026":{"position":[[588,12]]}},"keywords":{}}],["resolved/path/to/result",{"_index":5303,"title":{},"content":{"1050":{"position":[[3026,23]]}},"keywords":{}}],["resolved_attr",{"_index":4105,"title":{},"content":{"878":{"position":[[568,14],[1449,15]]}},"keywords":{}}],["resolved_attrs_eag",{"_index":1552,"title":{},"content":{"282":{"position":[[316,22]]}},"keywords":{}}],["resolved_attrs_lazi",{"_index":1545,"title":{},"content":{"281":{"position":[[368,21]]}},"keywords":{}}],["resolved_eag",{"_index":3948,"title":{},"content":{"856":{"position":[[853,14]]}},"keywords":{}}],["resolved_lazi",{"_index":3950,"title":{},"content":{"856":{"position":[[986,13]]}},"keywords":{}}],["resolved_macro",{"_index":1166,"title":{},"content":{"94":{"position":[[125,14],[432,14]]},"98":{"position":[[167,14]]},"99":{"position":[[208,14]]},"226":{"position":[[125,14],[432,14]]},"230":{"position":[[167,14]]},"231":{"position":[[208,14]]},"345":{"position":[[202,14]]},"368":{"position":[[221,14],[3185,14]]},"377":{"position":[[130,14]]},"386":{"position":[[116,14]]},"405":{"position":[[118,14],[366,14]]},"417":{"position":[[146,14]]},"747":{"position":[[221,14],[3185,14]]},"756":{"position":[[130,14]]},"765":{"position":[[116,14]]},"784":{"position":[[118,14],[366,14]]},"796":{"position":[[146,14]]}},"keywords":{}}],["resolveddepend",{"_index":3923,"title":{},"content":{"851":{"position":[[1286,18]]}},"keywords":{}}],["resolvedstringwithmacro",{"_index":2052,"title":{"385":{"position":[[0,25]]},"764":{"position":[[0,25]]}},"content":{"385":{"position":[[0,25]]},"764":{"position":[[0,25]]}},"keywords":{}}],["resolveselect",{"_index":3534,"title":{},"content":{"693":{"position":[[2588,13]]}},"keywords":{}}],["resourc",{"_index":97,"title":{"1051":{"position":[[6,9]]}},"content":{"5":{"position":[[323,9]]},"91":{"position":[[588,8]]},"223":{"position":[[588,8]]},"362":{"position":[[2762,9]]},"374":{"position":[[1695,8],[1860,8]]},"377":{"position":[[638,9],[731,9],[1042,9],[1124,10],[1148,8],[1614,9]]},"406":{"position":[[324,9],[481,11]]},"706":{"position":[[2241,9]]},"708":{"position":[[218,9]]},"741":{"position":[[2762,9]]},"753":{"position":[[1695,8],[1860,8]]},"756":{"position":[[638,9],[731,9],[1042,9],[1124,10],[1148,8],[1614,9]]},"785":{"position":[[324,9],[481,11]]},"839":{"position":[[215,8]]},"947":{"position":[[801,8]]},"1005":{"position":[[396,9]]},"1052":{"position":[[83,10],[120,9],[192,10],[298,9],[397,9],[585,9],[925,10],[1017,9],[1096,9],[1155,8],[1263,9],[1327,9],[1505,9]]},"1053":{"position":[[101,8],[183,9],[299,8],[628,8],[827,8],[892,8],[1088,8],[1288,8],[1306,8],[1574,10]]},"1054":{"position":[[766,9],[792,8],[916,8],[1144,8],[1235,8],[1601,8]]},"1069":{"position":[[653,8],[750,8],[786,8],[869,9]]},"1116":{"position":[[95,8]]},"1348":{"position":[[2325,10]]},"1353":{"position":[[2628,9]]},"1355":{"position":[[1830,10],[2380,10],[6320,10],[6515,9]]},"1358":{"position":[[3225,10]]},"1359":{"position":[[919,9],[2152,10]]},"1361":{"position":[[647,9]]},"1363":{"position":[[2878,9]]},"1366":{"position":[[886,8],[2052,8],[2271,8],[2624,8],[2649,9],[2805,9],[2946,8],[3214,8]]},"1374":{"position":[[621,10]]},"1381":{"position":[[590,10],[2175,9],[2261,8],[2331,8],[2642,9]]},"1382":{"position":[[2798,10]]},"1383":{"position":[[5107,9]]},"1384":{"position":[[3669,10]]},"1385":{"position":[[3009,9]]},"1387":{"position":[[3601,10],[5276,9]]},"1388":{"position":[[3149,10]]},"1393":{"position":[[847,10],[2890,8],[3710,8],[6908,10],[6923,9],[10123,9]]},"1395":{"position":[[601,10],[2379,9],[2819,10]]},"1397":{"position":[[2808,8],[3029,8]]},"1398":{"position":[[1004,10],[3797,10],[3812,9],[5440,8],[5499,9]]},"1401":{"position":[[1663,10],[1755,10]]},"1405":{"position":[[1001,10]]},"1407":{"position":[[1028,10]]},"1410":{"position":[[1341,10],[1611,8],[5610,9]]},"1412":{"position":[[1173,10],[1700,10],[3259,10]]},"1413":{"position":[[1319,10]]},"1422":{"position":[[3800,8]]},"1423":{"position":[[2570,8]]},"1426":{"position":[[970,9],[2398,9]]},"1427":{"position":[[1390,10],[1906,9],[5493,10],[5714,9]]},"1429":{"position":[[1790,10],[4372,9],[4848,10]]},"1430":{"position":[[1193,10]]},"1436":{"position":[[425,10]]},"1439":{"position":[[1626,10],[2192,9],[7402,10],[7623,9]]},"1440":{"position":[[1991,10],[4365,9],[4930,10]]},"1444":{"position":[[1636,9],[2155,8]]},"1462":{"position":[[3827,10],[4342,9]]},"1465":{"position":[[1004,10],[1458,9],[2430,9],[3154,8],[3356,8],[4278,8],[4601,8],[4726,9]]},"1467":{"position":[[4262,10],[5995,9],[9423,8],[9625,8],[10720,9],[11118,8],[11254,9]]},"1469":{"position":[[2381,8]]},"1470":{"position":[[2389,10]]},"1471":{"position":[[1460,10]]},"1472":{"position":[[1373,10]]},"1473":{"position":[[1678,10]]},"1474":{"position":[[1169,10]]},"1475":{"position":[[1315,10]]},"1477":{"position":[[559,10],[1919,10],[2173,10],[2301,9],[2506,10],[2754,9],[2938,8],[3131,8]]},"1478":{"position":[[837,10],[3088,8]]},"1485":{"position":[[718,8],[4646,9]]}},"keywords":{}}],["resource_compress",{"_index":6459,"title":{},"content":{"1350":{"position":[[3411,21]]},"1352":{"position":[[3410,21]]}},"keywords":{}}],["resource_dir",{"_index":8499,"title":{},"content":{"1481":{"position":[[889,13]]}},"keywords":{}}],["resource_env_var",{"_index":2026,"title":{},"content":{"377":{"position":[[273,18],[1477,18]]},"756":{"position":[[273,18],[1477,18]]},"1052":{"position":[[1523,17]]},"1054":{"position":[[387,17]]}},"keywords":{}}],["resource_filt",{"_index":6460,"title":{},"content":{"1350":{"position":[[3442,16]]},"1352":{"position":[[3441,16]]}},"keywords":{}}],["resource_group",{"_index":6864,"title":{},"content":{"1363":{"position":[[2354,15]]},"1367":{"position":[[5284,15]]}},"keywords":{}}],["resource_group_map",{"_index":6865,"title":{},"content":{"1363":{"position":[[2386,19]]},"1367":{"position":[[5316,19]]}},"keywords":{}}],["resource_stable_id",{"_index":6461,"title":{},"content":{"1350":{"position":[[3474,20]]},"1352":{"position":[[3473,20]]},"1470":{"position":[[2312,20]]}},"keywords":{}}],["resource_union",{"_index":6635,"title":{},"content":{"1359":{"position":[[827,15]]}},"keywords":{}}],["resource_union_packag",{"_index":6374,"title":{},"content":{"1348":{"position":[[2285,23]]},"1350":{"position":[[3511,23]]},"1352":{"position":[[3510,23]]},"1355":{"position":[[1790,23]]},"1470":{"position":[[2349,23]]}},"keywords":{}}],["resources.resourc",{"_index":5318,"title":{},"content":{"1052":{"position":[[1123,19]]}},"keywords":{}}],["resources_from_dep",{"_index":6948,"title":{},"content":{"1366":{"position":[[728,20],[2505,20]]}},"keywords":{}}],["resources_root",{"_index":6375,"title":{},"content":{"1348":{"position":[[2351,15]]},"1355":{"position":[[1856,15]]},"1412":{"position":[[1199,15]]},"1413":{"position":[[1345,15]]},"1427":{"position":[[1416,15],[5620,14]]},"1429":{"position":[[1816,15]]},"1430":{"position":[[1219,15]]},"1439":{"position":[[1652,15],[7529,14]]},"1440":{"position":[[2017,15]]},"1470":{"position":[[2415,15]]},"1474":{"position":[[1195,15]]},"1475":{"position":[[1341,15]]}},"keywords":{}}],["respect",{"_index":640,"title":{},"content":{"22":{"position":[[476,12]]},"118":{"position":[[272,13]]},"534":{"position":[[272,13]]},"690":{"position":[[2981,13]]},"693":{"position":[[1235,13]]},"844":{"position":[[181,13]]},"900":{"position":[[616,10]]},"921":{"position":[[680,7],[941,7],[1023,7]]},"939":{"position":[[485,10]]},"994":{"position":[[176,10]]},"1043":{"position":[[211,13]]},"1069":{"position":[[188,13]]},"1384":{"position":[[9987,9]]}},"keywords":{}}],["respons",{"_index":1199,"title":{},"content":{"94":{"position":[[1837,11]]},"226":{"position":[[1837,11]]},"715":{"position":[[2078,8]]},"865":{"position":[[894,11]]},"1050":{"position":[[1954,11],[3066,11]]},"1057":{"position":[[757,11]]},"1219":{"position":[[212,9]]},"1224":{"position":[[149,9]]},"1353":{"position":[[2710,14]]},"1438":{"position":[[1754,8],[1883,8]]},"1477":{"position":[[1725,11]]},"1486":{"position":[[4912,9],[5444,8]]}},"keywords":{}}],["rest",{"_index":2710,"title":{},"content":{"584":{"position":[[1265,4]]},"890":{"position":[[1649,4]]},"951":{"position":[[1389,4]]},"955":{"position":[[985,4]]},"1102":{"position":[[958,4]]},"1126":{"position":[[4,4]]},"1362":{"position":[[8221,4]]},"1364":{"position":[[9070,4]]},"1367":{"position":[[8309,4]]}},"keywords":{}}],["restart",{"_index":330,"title":{"1109":{"position":[[0,9]]},"1110":{"position":[[13,10]]}},"content":{"10":{"position":[[537,7]]},"1035":{"position":[[129,8]]},"1075":{"position":[[558,10]]},"1077":{"position":[[132,9]]},"1110":{"position":[[48,9]]},"1486":{"position":[[2670,7]]}},"keywords":{}}],["restart.test.v2_test_executor",{"_index":4125,"title":{},"content":{"879":{"position":[[281,30]]}},"keywords":{}}],["restrict",{"_index":258,"title":{},"content":{"9":{"position":[[1720,12]]},"91":{"position":[[642,12]]},"223":{"position":[[642,12]]},"566":{"position":[[256,8]]},"594":{"position":[[347,11]]},"648":{"position":[[658,10]]},"680":{"position":[[364,11]]},"693":{"position":[[1898,10]]},"708":{"position":[[183,8],[1018,11]]},"888":{"position":[[923,12]]},"924":{"position":[[2277,8]]},"942":{"position":[[1262,11]]},"1001":{"position":[[1460,11]]},"1009":{"position":[[506,12]]},"1042":{"position":[[451,12]]},"1064":{"position":[[1990,11]]},"1065":{"position":[[393,11]]},"1348":{"position":[[3290,11],[3380,11]]},"1349":{"position":[[1435,11],[1525,11]]},"1350":{"position":[[4406,11],[4496,11]]},"1351":{"position":[[1630,11],[1721,11]]},"1352":{"position":[[4405,11],[4495,11]]},"1353":{"position":[[2009,11],[2099,11]]},"1354":{"position":[[1847,11],[1937,11]]},"1355":{"position":[[2990,11],[3081,11]]},"1356":{"position":[[1353,11],[1443,11]]},"1357":{"position":[[1026,11],[1116,11]]},"1358":{"position":[[1747,11],[1837,11]]},"1359":{"position":[[1584,11],[1674,11]]},"1360":{"position":[[2219,11],[2310,11]]},"1361":{"position":[[1574,11],[1664,11]]},"1362":{"position":[[5942,11],[6033,11]]},"1363":{"position":[[3688,11],[3779,11]]},"1364":{"position":[[5971,11],[6062,11]]},"1365":{"position":[[1508,11],[1598,11]]},"1366":{"position":[[1718,11],[1809,11]]},"1367":{"position":[[7369,11],[7460,11]]},"1368":{"position":[[2064,11],[2154,11]]},"1369":{"position":[[1116,11],[1206,11]]},"1370":{"position":[[1367,11],[1458,11]]},"1371":{"position":[[992,11],[1082,11]]},"1372":{"position":[[2630,11],[2720,11]]},"1373":{"position":[[3502,11],[3592,11]]},"1374":{"position":[[1402,11],[1493,11]]},"1375":{"position":[[1028,11],[1118,11]]},"1376":{"position":[[984,11],[1074,11]]},"1377":{"position":[[1223,11],[1313,11]]},"1378":{"position":[[970,11],[1060,11]]},"1379":{"position":[[993,11],[1083,11]]},"1380":{"position":[[1464,11],[1554,11]]},"1381":{"position":[[1370,11],[1460,11]]},"1382":{"position":[[3854,11],[3945,11]]},"1383":{"position":[[2092,11],[2183,11]]},"1384":{"position":[[5016,11],[5107,11]]},"1385":{"position":[[2689,11],[2779,11]]},"1386":{"position":[[1327,11],[1417,11]]},"1387":{"position":[[4958,11],[5048,11]]},"1388":{"position":[[4154,11],[4245,11]]},"1389":{"position":[[5011,11],[5101,11]]},"1390":{"position":[[1263,11],[1353,11]]},"1391":{"position":[[1216,11],[1306,11]]},"1392":{"position":[[1366,11],[1456,11]]},"1393":{"position":[[1942,11],[2033,11]]},"1394":{"position":[[1386,11],[1476,11]]},"1395":{"position":[[1399,11],[1490,11]]},"1396":{"position":[[1192,11],[1282,11]]},"1397":{"position":[[1373,11],[1463,11]]},"1398":{"position":[[2049,11],[2140,11]]},"1399":{"position":[[1228,11],[1318,11]]},"1400":{"position":[[1097,11],[1187,11]]},"1401":{"position":[[1172,11],[1262,11]]},"1402":{"position":[[1328,11],[1418,11]]},"1403":{"position":[[1922,11],[2013,11]]},"1404":{"position":[[1161,11],[1251,11]]},"1405":{"position":[[1852,11],[1942,11]]},"1406":{"position":[[1068,11],[1158,11]]},"1407":{"position":[[1893,11],[1983,11]]},"1408":{"position":[[1589,11],[1679,11]]},"1409":{"position":[[1123,11],[1213,11]]},"1410":{"position":[[2289,11],[2380,11]]},"1411":{"position":[[1106,11],[1196,11]]},"1412":{"position":[[2310,11],[2401,11]]},"1413":{"position":[[2490,11],[2580,11]]},"1414":{"position":[[1357,11],[1447,11]]},"1415":{"position":[[3339,11],[3429,11]]},"1416":{"position":[[1991,11],[2081,11]]},"1417":{"position":[[1580,11],[1670,11]]},"1418":{"position":[[1281,11],[1371,11]]},"1419":{"position":[[1409,11],[1499,11]]},"1420":{"position":[[1673,11],[1763,11]]},"1421":{"position":[[1648,11],[1738,11]]},"1422":{"position":[[1555,11],[1646,11]]},"1423":{"position":[[1540,11],[1630,11]]},"1424":{"position":[[1665,11],[1755,11]]},"1425":{"position":[[1281,11],[1371,11]]},"1426":{"position":[[1628,11],[1719,11]]},"1427":{"position":[[2525,11],[2616,11]]},"1428":{"position":[[1263,11],[1353,11]]},"1429":{"position":[[3189,11],[3280,11]]},"1430":{"position":[[2039,11],[2129,11]]},"1431":{"position":[[1383,11],[1473,11]]},"1432":{"position":[[1904,11],[1994,11]]},"1433":{"position":[[1425,11],[1515,11]]},"1434":{"position":[[1099,11],[1189,11]]},"1435":{"position":[[1063,11],[1153,11]]},"1436":{"position":[[1079,11],[1169,11]]},"1437":{"position":[[1149,11],[1239,11]]},"1438":{"position":[[1287,11],[1378,11]]},"1439":{"position":[[2811,11],[2902,11]]},"1440":{"position":[[3377,11],[3468,11]]},"1441":{"position":[[1105,11],[1195,11]]},"1442":{"position":[[1182,11],[1273,11]]},"1443":{"position":[[1400,11],[1490,11]]},"1444":{"position":[[1316,11],[1406,11]]},"1445":{"position":[[1005,11],[1095,11]]},"1446":{"position":[[1339,11],[1429,11]]},"1447":{"position":[[1221,11],[1311,11]]},"1448":{"position":[[1656,11],[1746,11]]},"1449":{"position":[[1590,11],[1680,11]]},"1450":{"position":[[1469,11],[1559,11]]},"1451":{"position":[[1469,11],[1559,11]]},"1452":{"position":[[1015,11],[1105,11]]},"1453":{"position":[[1601,11],[1691,11]]},"1454":{"position":[[3967,11],[4057,11]]},"1455":{"position":[[1854,11],[1944,11]]},"1456":{"position":[[1199,11],[1289,11]]},"1457":{"position":[[1258,11],[1348,11]]},"1458":{"position":[[1793,11],[1883,11]]},"1459":{"position":[[1272,11],[1362,11]]},"1460":{"position":[[1384,11],[1474,11]]},"1461":{"position":[[1603,11],[1694,11]]},"1462":{"position":[[4980,11],[5070,11]]},"1463":{"position":[[1106,11],[1196,11]]},"1464":{"position":[[1014,11],[1104,11]]},"1465":{"position":[[2112,11],[2202,11]]},"1466":{"position":[[1350,11],[1440,11]]},"1467":{"position":[[5673,11],[5764,11]]},"1468":{"position":[[1114,11],[1204,11]]},"1469":{"position":[[1491,11],[1582,11]]},"1470":{"position":[[4016,11],[4106,11]]},"1471":{"position":[[2354,11],[2445,11]]},"1472":{"position":[[2313,11],[2404,11]]},"1473":{"position":[[2628,11],[2719,11]]},"1474":{"position":[[2015,11],[2105,11]]},"1475":{"position":[[2486,11],[2576,11]]},"1476":{"position":[[1091,11],[1181,11]]},"1477":{"position":[[1247,11],[1338,11]]},"1478":{"position":[[1738,11],[1829,11]]},"1479":{"position":[[1183,11],[1273,11]]},"1480":{"position":[[1596,11],[1686,11]]},"1481":{"position":[[2129,11],[2219,11]]},"1482":{"position":[[1203,11],[1293,11]]},"1483":{"position":[[1037,11],[1127,11]]},"1484":{"position":[[1109,11],[1199,11]]},"1485":{"position":[[1369,11],[1459,11]]},"1486":{"position":[[1613,11],[1703,11]]},"1487":{"position":[[1312,11],[1403,11]]}},"keywords":{}}],["restrictions.th",{"_index":4364,"title":{},"content":{"900":{"position":[[537,16]]}},"keywords":{}}],["restructur",{"_index":4749,"title":{},"content":{"955":{"position":[[190,13]]}},"keywords":{}}],["resu",{"_index":3944,"title":{},"content":{"856":{"position":[[598,6]]}},"keywords":{}}],["result",{"_index":274,"title":{"1125":{"position":[[8,6]]}},"content":{"9":{"position":[[2110,6]]},"13":{"position":[[99,9]]},"23":{"position":[[1016,7],[1982,7],[2506,6]]},"34":{"position":[[68,6]]},"38":{"position":[[67,6]]},"50":{"position":[[368,9]]},"85":{"position":[[560,9]]},"86":{"position":[[245,6]]},"89":{"position":[[803,6]]},"91":{"position":[[444,9]]},"94":{"position":[[1970,6],[2127,6]]},"96":{"position":[[243,6]]},"98":{"position":[[563,9],[780,6],[1181,6]]},"99":{"position":[[1589,6]]},"119":{"position":[[172,9]]},"183":{"position":[[67,6]]},"190":{"position":[[68,6]]},"197":{"position":[[368,9]]},"217":{"position":[[560,9]]},"218":{"position":[[245,6]]},"221":{"position":[[803,6]]},"223":{"position":[[444,9]]},"226":{"position":[[1970,6],[2127,6]]},"228":{"position":[[243,6]]},"230":{"position":[[563,9],[780,6],[1181,6]]},"231":{"position":[[1589,6]]},"233":{"position":[[79,6],[247,7],[353,7]]},"240":{"position":[[264,7],[375,6]]},"242":{"position":[[568,6]]},"243":{"position":[[641,6]]},"276":{"position":[[548,6]]},"277":{"position":[[496,6],[696,6]]},"281":{"position":[[637,6]]},"282":{"position":[[587,6],[805,6]]},"304":{"position":[[396,9]]},"305":{"position":[[148,7],[268,6]]},"306":{"position":[[651,6]]},"314":{"position":[[335,6]]},"318":{"position":[[468,6]]},"327":{"position":[[473,6]]},"328":{"position":[[449,6]]},"329":{"position":[[324,7]]},"330":{"position":[[392,6]]},"331":{"position":[[372,6]]},"335":{"position":[[666,6]]},"345":{"position":[[476,9]]},"346":{"position":[[80,7],[154,7],[336,6]]},"347":{"position":[[83,7],[252,7],[372,6]]},"362":{"position":[[2187,6]]},"411":{"position":[[286,6]]},"415":{"position":[[337,6]]},"418":{"position":[[809,8],[905,6]]},"429":{"position":[[287,8]]},"446":{"position":[[287,7]]},"468":{"position":[[354,6]]},"469":{"position":[[330,6]]},"470":{"position":[[264,7]]},"471":{"position":[[273,6]]},"472":{"position":[[253,6]]},"475":{"position":[[428,6]]},"478":{"position":[[281,6]]},"510":{"position":[[354,6]]},"511":{"position":[[374,6]]},"535":{"position":[[172,9]]},"574":{"position":[[113,7]]},"577":{"position":[[704,7]]},"590":{"position":[[485,6]]},"592":{"position":[[283,7]]},"617":{"position":[[405,7]]},"635":{"position":[[77,6]]},"636":{"position":[[321,9],[442,9]]},"644":{"position":[[192,6],[225,6]]},"648":{"position":[[228,6],[262,6],[401,6]]},"653":{"position":[[144,8]]},"664":{"position":[[85,6]]},"666":{"position":[[301,7]]},"668":{"position":[[140,6]]},"673":{"position":[[395,6]]},"688":{"position":[[710,7]]},"703":{"position":[[86,7]]},"704":{"position":[[1926,9]]},"711":{"position":[[736,9],[833,8]]},"712":{"position":[[1417,7],[1471,9],[2396,6]]},"718":{"position":[[576,6]]},"722":{"position":[[1055,6]]},"724":{"position":[[157,8],[482,6],[1470,6]]},"741":{"position":[[2187,6]]},"790":{"position":[[286,6]]},"794":{"position":[[337,6]]},"797":{"position":[[809,8],[905,6]]},"808":{"position":[[287,8]]},"825":{"position":[[287,7]]},"832":{"position":[[260,6]]},"833":{"position":[[143,7]]},"840":{"position":[[1664,7]]},"844":{"position":[[54,6]]},"845":{"position":[[250,9]]},"846":{"position":[[839,7],[1132,9]]},"847":{"position":[[353,6]]},"855":{"position":[[58,6]]},"861":{"position":[[494,6]]},"869":{"position":[[526,7]]},"870":{"position":[[566,8]]},"872":{"position":[[706,9]]},"874":{"position":[[210,9],[328,9]]},"892":{"position":[[954,7]]},"898":{"position":[[1552,7],[2092,7]]},"900":{"position":[[439,6],[1361,6]]},"904":{"position":[[741,9]]},"905":{"position":[[1286,9]]},"924":{"position":[[419,7],[1004,6],[1617,6],[2207,6]]},"951":{"position":[[1122,6],[1342,6]]},"954":{"position":[[673,9]]},"959":{"position":[[354,8]]},"965":{"position":[[121,6]]},"966":{"position":[[475,6]]},"991":{"position":[[2779,7]]},"1001":{"position":[[1434,7]]},"1017":{"position":[[147,6]]},"1021":{"position":[[640,7],[727,6]]},"1050":{"position":[[106,7],[152,6],[410,6],[499,6],[956,6],[2461,6],[2562,6],[3434,7],[3657,6],[3764,6],[4324,6],[4358,6],[4436,6],[4489,7],[4662,7]]},"1057":{"position":[[1346,7]]},"1058":{"position":[[1384,7],[1402,7]]},"1059":{"position":[[144,9]]},"1064":{"position":[[1526,7]]},"1065":{"position":[[367,7]]},"1067":{"position":[[483,7],[580,9]]},"1070":{"position":[[882,7]]},"1112":{"position":[[268,7],[325,8],[918,7]]},"1114":{"position":[[955,7]]},"1125":{"position":[[43,6],[65,6],[123,7]]},"1136":{"position":[[743,7]]},"1138":{"position":[[3851,6],[4291,6]]},"1140":{"position":[[885,9],[3340,6],[3780,6]]},"1148":{"position":[[2797,6],[7223,7]]},"1167":{"position":[[4344,6],[4784,6]]},"1188":{"position":[[938,9],[3393,6],[3833,6]]},"1217":{"position":[[3085,6],[3525,6]]},"1228":{"position":[[5166,6],[5606,6]]},"1240":{"position":[[307,9]]},"1258":{"position":[[334,6]]},"1259":{"position":[[320,9]]},"1262":{"position":[[105,9]]},"1289":{"position":[[334,6]]},"1290":{"position":[[320,9]]},"1293":{"position":[[105,9]]},"1317":{"position":[[334,6]]},"1318":{"position":[[320,9]]},"1321":{"position":[[105,9]]},"1355":{"position":[[5513,7]]},"1360":{"position":[[4510,7]]},"1363":{"position":[[5511,9]]},"1367":{"position":[[14073,6]]},"1370":{"position":[[728,6]]},"1383":{"position":[[6542,7],[8422,6]]},"1386":{"position":[[4188,6],[4539,9],[5071,6]]},"1403":{"position":[[3925,7]]},"1415":{"position":[[5146,9]]},"1473":{"position":[[3918,6]]},"1478":{"position":[[1084,7],[3576,7]]},"1482":{"position":[[2719,7],[3027,7]]}},"keywords":{}}],["result.as_output",{"_index":5297,"title":{},"content":{"1050":{"position":[[2686,20],[3959,19]]}},"keywords":{}}],["result.dot",{"_index":6276,"title":{},"content":{"1260":{"position":[[950,10]]},"1291":{"position":[[950,10]]},"1319":{"position":[[950,10]]}},"keywords":{}}],["result.html",{"_index":7652,"title":{},"content":{"1399":{"position":[[2932,14]]}},"keywords":{}}],["result1",{"_index":1794,"title":{},"content":{"329":{"position":[[435,7]]},"470":{"position":[[375,7]]}},"keywords":{}}],["result2",{"_index":1797,"title":{},"content":{"329":{"position":[[531,7]]},"470":{"position":[[476,7]]}},"keywords":{}}],["resultpreord",{"_index":5606,"title":{},"content":{"1088":{"position":[[1370,14]]}},"keywords":{}}],["retain",{"_index":4860,"title":{},"content":{"980":{"position":[[1361,7]]},"1056":{"position":[[746,9],[797,8],[991,9],[1040,8]]},"1057":{"position":[[1135,7]]},"1071":{"position":[[614,6]]},"1148":{"position":[[7398,9],[7445,9]]},"1186":{"position":[[522,10],[535,9],[614,9],[683,8],[950,9],[997,9]]},"1187":{"position":[[535,10],[548,9],[627,9],[696,8],[963,9],[1010,9]]},"1188":{"position":[[5261,10],[5274,9],[5353,9],[5422,8],[5689,9],[5736,9]]}},"keywords":{}}],["retri",{"_index":1218,"title":{},"content":{"94":{"position":[[3097,7]]},"226":{"position":[[3097,7]]}},"keywords":{}}],["retriev",{"_index":843,"title":{},"content":{"37":{"position":[[263,9]]},"182":{"position":[[263,9]]},"430":{"position":[[61,8]]},"693":{"position":[[638,8]]},"704":{"position":[[2301,9]]},"809":{"position":[[61,8]]},"855":{"position":[[168,8]]},"890":{"position":[[7018,8]]},"895":{"position":[[674,8]]}},"keywords":{}}],["retroact",{"_index":650,"title":{},"content":{"22":{"position":[[686,13]]}},"keywords":{}}],["return",{"_index":824,"title":{"836":{"position":[[19,8]]},"982":{"position":[[0,6]]},"1131":{"position":[[60,8]]}},"content":{"33":{"position":[[39,7]]},"34":{"position":[[31,7]]},"36":{"position":[[86,7]]},"37":{"position":[[29,7]]},"38":{"position":[[30,7]]},"45":{"position":[[48,7]]},"47":{"position":[[155,9]]},"52":{"position":[[82,7]]},"53":{"position":[[60,7]]},"62":{"position":[[61,7]]},"66":{"position":[[36,7],[118,8]]},"71":{"position":[[26,7]]},"72":{"position":[[27,7]]},"73":{"position":[[29,7]]},"86":{"position":[[113,7]]},"88":{"position":[[218,7]]},"89":{"position":[[102,7]]},"95":{"position":[[235,7]]},"96":{"position":[[116,7]]},"98":{"position":[[468,7]]},"99":{"position":[[580,7]]},"108":{"position":[[61,7]]},"113":{"position":[[148,7]]},"123":{"position":[[73,8]]},"158":{"position":[[53,7]]},"161":{"position":[[35,7]]},"170":{"position":[[27,7]]},"171":{"position":[[36,7]]},"181":{"position":[[86,7]]},"182":{"position":[[29,7]]},"183":{"position":[[30,7]]},"189":{"position":[[39,7]]},"190":{"position":[[31,7]]},"192":{"position":[[48,7]]},"194":{"position":[[155,9]]},"199":{"position":[[82,7]]},"200":{"position":[[60,7]]},"206":{"position":[[87,7]]},"218":{"position":[[113,7]]},"220":{"position":[[218,7]]},"221":{"position":[[102,7]]},"227":{"position":[[235,7]]},"228":{"position":[[116,7]]},"230":{"position":[[468,7]]},"231":{"position":[[580,7]]},"234":{"position":[[70,7]]},"240":{"position":[[205,7],[311,7]]},"242":{"position":[[472,7]]},"243":{"position":[[97,7]]},"245":{"position":[[75,7]]},"246":{"position":[[75,7]]},"276":{"position":[[44,7]]},"277":{"position":[[60,7]]},"281":{"position":[[69,7]]},"282":{"position":[[98,7]]},"285":{"position":[[61,7]]},"286":{"position":[[212,6],[252,6]]},"288":{"position":[[642,6],[743,6]]},"289":{"position":[[662,6],[763,6]]},"294":{"position":[[1154,7]]},"295":{"position":[[98,7]]},"296":{"position":[[48,7]]},"297":{"position":[[982,7]]},"298":{"position":[[613,7],[2123,6]]},"299":{"position":[[39,7]]},"301":{"position":[[1121,7]]},"302":{"position":[[98,7]]},"303":{"position":[[32,7]]},"306":{"position":[[89,7]]},"307":{"position":[[34,7]]},"309":{"position":[[382,7]]},"310":{"position":[[574,7]]},"311":{"position":[[422,7]]},"312":{"position":[[50,7]]},"314":{"position":[[83,7]]},"316":{"position":[[75,7],[119,7]]},"317":{"position":[[76,7],[121,7]]},"318":{"position":[[111,7],[263,6]]},"319":{"position":[[84,7]]},"320":{"position":[[226,7]]},"322":{"position":[[76,7]]},"329":{"position":[[265,7],[371,7]]},"344":{"position":[[303,7]]},"366":{"position":[[174,8]]},"367":{"position":[[204,8]]},"368":{"position":[[458,6],[1019,6]]},"375":{"position":[[146,8]]},"377":{"position":[[449,8]]},"379":{"position":[[153,8]]},"411":{"position":[[244,8]]},"414":{"position":[[120,7]]},"415":{"position":[[105,7]]},"416":{"position":[[260,7]]},"417":{"position":[[381,8],[489,7]]},"418":{"position":[[1051,6]]},"419":{"position":[[143,8]]},"425":{"position":[[118,7]]},"427":{"position":[[176,8],[538,7]]},"431":{"position":[[79,7]]},"432":{"position":[[154,7]]},"437":{"position":[[466,6]]},"438":{"position":[[95,7]]},"441":{"position":[[154,8],[242,6]]},"442":{"position":[[103,7]]},"445":{"position":[[74,7]]},"454":{"position":[[36,7],[118,8]]},"459":{"position":[[109,7]]},"470":{"position":[[205,7],[311,7]]},"476":{"position":[[324,7]]},"477":{"position":[[143,6]]},"480":{"position":[[24,7]]},"481":{"position":[[26,7]]},"483":{"position":[[27,7]]},"484":{"position":[[29,7]]},"491":{"position":[[61,7]]},"494":{"position":[[26,7]]},"495":{"position":[[27,7]]},"496":{"position":[[29,7]]},"510":{"position":[[713,6],[811,6]]},"511":{"position":[[728,6],[826,6]]},"520":{"position":[[61,7]]},"525":{"position":[[148,7]]},"528":{"position":[[85,7]]},"532":{"position":[[73,8]]},"542":{"position":[[53,7]]},"550":{"position":[[27,7]]},"551":{"position":[[36,7]]},"553":{"position":[[114,7]]},"554":{"position":[[45,6],[106,7]]},"555":{"position":[[109,7],[216,8]]},"556":{"position":[[100,7],[191,8]]},"557":{"position":[[45,6],[118,7]]},"558":{"position":[[65,7],[139,7]]},"559":{"position":[[161,7],[286,7]]},"560":{"position":[[201,7]]},"561":{"position":[[108,7],[198,8]]},"563":{"position":[[118,7]]},"564":{"position":[[107,7]]},"565":{"position":[[197,7]]},"566":{"position":[[199,7]]},"567":{"position":[[199,7]]},"568":{"position":[[55,7],[118,7]]},"569":{"position":[[156,7]]},"576":{"position":[[261,6]]},"589":{"position":[[54,7]]},"590":{"position":[[71,7],[144,7],[360,9]]},"591":{"position":[[202,7],[649,7]]},"592":{"position":[[61,7],[124,7]]},"594":{"position":[[166,7],[458,7]]},"595":{"position":[[104,7]]},"596":{"position":[[197,7]]},"604":{"position":[[123,7]]},"605":{"position":[[89,7]]},"606":{"position":[[100,7]]},"607":{"position":[[181,7],[333,7]]},"608":{"position":[[179,6],[219,6]]},"609":{"position":[[179,6],[219,6]]},"610":{"position":[[156,7]]},"611":{"position":[[175,7],[254,7]]},"612":{"position":[[200,7],[281,7]]},"615":{"position":[[100,7]]},"616":{"position":[[164,7],[348,7],[425,7],[773,7]]},"617":{"position":[[85,6],[148,7]]},"619":{"position":[[110,7]]},"620":{"position":[[86,7]]},"621":{"position":[[89,7]]},"628":{"position":[[48,7]]},"629":{"position":[[48,7]]},"630":{"position":[[37,7]]},"633":{"position":[[128,7],[161,7]]},"634":{"position":[[35,7],[81,7]]},"637":{"position":[[71,7]]},"639":{"position":[[96,6],[161,7]]},"643":{"position":[[143,9]]},"644":{"position":[[374,7]]},"645":{"position":[[54,7],[105,7]]},"647":{"position":[[37,7],[81,7]]},"648":{"position":[[859,7]]},"651":{"position":[[66,7]]},"652":{"position":[[144,7],[240,7]]},"653":{"position":[[130,9]]},"654":{"position":[[30,7],[72,7]]},"655":{"position":[[30,7],[72,7]]},"656":{"position":[[35,7],[79,7]]},"662":{"position":[[72,6],[158,7],[445,7],[556,7],[646,7]]},"665":{"position":[[101,7]]},"666":{"position":[[112,7],[294,6]]},"670":{"position":[[57,7],[196,7]]},"671":{"position":[[32,7]]},"673":{"position":[[98,7]]},"688":{"position":[[237,8]]},"693":{"position":[[6471,8]]},"711":{"position":[[19,8],[276,6],[437,6],[1023,8],[1088,7]]},"712":{"position":[[390,6],[2020,7],[2028,6],[2238,7],[2276,7],[2563,7]]},"722":{"position":[[582,6],[864,8],[910,9]]},"724":{"position":[[637,7]]},"745":{"position":[[174,8]]},"746":{"position":[[204,8]]},"747":{"position":[[458,6],[1019,6]]},"754":{"position":[[146,8]]},"756":{"position":[[449,8]]},"758":{"position":[[153,8]]},"790":{"position":[[244,8]]},"793":{"position":[[120,7]]},"794":{"position":[[105,7]]},"795":{"position":[[260,7]]},"796":{"position":[[381,8],[489,7]]},"797":{"position":[[1051,6]]},"798":{"position":[[143,8]]},"804":{"position":[[118,7]]},"806":{"position":[[176,8],[538,7]]},"810":{"position":[[79,7]]},"811":{"position":[[154,7]]},"816":{"position":[[466,6]]},"817":{"position":[[95,7]]},"820":{"position":[[154,8],[242,6]]},"821":{"position":[[103,7]]},"824":{"position":[[74,7]]},"840":{"position":[[1458,6],[1799,9]]},"846":{"position":[[229,7],[268,7],[307,7]]},"858":{"position":[[33,6]]},"877":{"position":[[603,6]]},"889":{"position":[[722,7]]},"898":{"position":[[1209,6],[1275,6],[1311,7]]},"900":{"position":[[1399,6]]},"905":{"position":[[305,6]]},"906":{"position":[[86,8]]},"924":{"position":[[2149,6]]},"930":{"position":[[70,6]]},"950":{"position":[[298,6],[1218,6]]},"954":{"position":[[61,7]]},"981":{"position":[[131,6]]},"991":{"position":[[910,6]]},"1001":{"position":[[1233,7]]},"1004":{"position":[[1605,6],[1699,6]]},"1006":{"position":[[821,8]]},"1019":{"position":[[555,9]]},"1026":{"position":[[490,6],[506,6],[1205,6],[1440,6],[1562,6],[1575,6]]},"1040":{"position":[[2663,6]]},"1043":{"position":[[139,6]]},"1044":{"position":[[178,7],[252,7],[421,9],[565,6],[705,7],[747,7],[1388,7],[3412,6]]},"1047":{"position":[[102,6],[372,7],[380,6],[403,6]]},"1048":{"position":[[712,6],[1209,6],[1318,6]]},"1049":{"position":[[940,6],[1569,6]]},"1053":{"position":[[1404,8]]},"1054":{"position":[[297,6],[1747,6]]},"1058":{"position":[[603,6],[1300,6]]},"1064":{"position":[[1316,7]]},"1065":{"position":[[162,7]]},"1075":{"position":[[127,8]]},"1082":{"position":[[297,7],[747,6]]},"1083":{"position":[[167,6],[581,6]]},"1086":{"position":[[570,6],[582,6]]},"1088":{"position":[[652,8]]},"1102":{"position":[[556,6]]},"1103":{"position":[[344,6],[1385,9]]},"1104":{"position":[[23,8],[154,6],[215,6],[876,9]]},"1105":{"position":[[1259,8]]},"1106":{"position":[[235,7]]},"1130":{"position":[[64,7]]},"1131":{"position":[[345,7],[364,9],[438,7]]},"1133":{"position":[[558,7],[888,7]]},"1134":{"position":[[240,7]]},"1136":{"position":[[726,6]]},"1148":{"position":[[7270,6]]},"1155":{"position":[[247,7],[567,8]]},"1190":{"position":[[1355,9]]},"1205":{"position":[[242,9]]},"1224":{"position":[[163,8]]},"1243":{"position":[[1242,6]]},"1254":{"position":[[682,7]]},"1258":{"position":[[154,6],[366,7],[563,6],[646,6],[678,7],[892,6],[924,7]]},"1259":{"position":[[1047,7],[1317,7]]},"1262":{"position":[[414,8],[479,8],[578,8],[734,7]]},"1271":{"position":[[90,7],[280,7]]},"1272":{"position":[[90,9],[159,7]]},"1273":{"position":[[30,7],[304,7],[492,7]]},"1277":{"position":[[83,7]]},"1278":{"position":[[83,7]]},"1279":{"position":[[83,7]]},"1280":{"position":[[83,7]]},"1281":{"position":[[83,7]]},"1282":{"position":[[529,6]]},"1283":{"position":[[543,6]]},"1284":{"position":[[522,6]]},"1289":{"position":[[154,6],[366,7],[563,6],[646,6],[678,7],[892,6],[924,7]]},"1290":{"position":[[1047,7],[1317,7]]},"1293":{"position":[[414,8],[479,8],[578,8],[734,7]]},"1302":{"position":[[90,7],[280,7]]},"1303":{"position":[[90,9],[159,7]]},"1304":{"position":[[30,7],[304,7],[492,7]]},"1308":{"position":[[83,7]]},"1309":{"position":[[83,7]]},"1310":{"position":[[83,7]]},"1311":{"position":[[83,7]]},"1312":{"position":[[83,7]]},"1313":{"position":[[529,6]]},"1314":{"position":[[543,6]]},"1315":{"position":[[522,6]]},"1317":{"position":[[154,6],[366,7],[563,6],[646,6],[678,7],[892,6],[924,7]]},"1318":{"position":[[1047,7],[1317,7]]},"1321":{"position":[[414,8],[479,8],[578,8],[734,7]]},"1330":{"position":[[90,7],[280,7]]},"1331":{"position":[[90,9],[159,7]]},"1332":{"position":[[30,7],[304,7],[492,7]]},"1336":{"position":[[83,7]]},"1337":{"position":[[83,7]]},"1338":{"position":[[83,7]]},"1339":{"position":[[83,7]]},"1340":{"position":[[83,7]]},"1341":{"position":[[529,6]]},"1342":{"position":[[543,6]]},"1343":{"position":[[522,6]]},"1355":{"position":[[3921,6]]},"1383":{"position":[[4648,8],[8141,7]]},"1402":{"position":[[2093,8]]},"1403":{"position":[[4413,9],[7241,7]]},"1427":{"position":[[3066,6]]},"1439":{"position":[[3740,6]]}},"keywords":{}}],["returnprovid",{"_index":3580,"title":{},"content":{"693":{"position":[[7289,15]]}},"keywords":{}}],["returnstat",{"_index":4362,"title":{},"content":{"900":{"position":[[372,17]]}},"keywords":{}}],["reus",{"_index":1141,"title":{},"content":{"92":{"position":[[1572,7]]},"224":{"position":[[1572,7]]},"288":{"position":[[598,5]]},"289":{"position":[[618,5]]},"298":{"position":[[2683,5]]},"510":{"position":[[669,5]]},"511":{"position":[[684,5]]},"693":{"position":[[4095,5]]},"851":{"position":[[182,5],[2009,5]]},"856":{"position":[[699,6],[800,6],[931,6]]},"860":{"position":[[242,5]]},"890":{"position":[[4393,7]]},"898":{"position":[[1158,6]]},"900":{"position":[[1508,5]]},"945":{"position":[[561,5]]},"951":{"position":[[273,5]]},"1040":{"position":[[1344,7]]},"1136":{"position":[[3104,5],[3281,5]]},"1138":{"position":[[6766,5],[6943,5]]},"1140":{"position":[[5692,5],[5869,5]]},"1142":{"position":[[1136,5],[1313,5]]},"1146":{"position":[[1076,5],[1253,5]]},"1148":{"position":[[4116,5],[4293,5]]},"1155":{"position":[[1172,5],[1349,5]]},"1156":{"position":[[750,5],[927,5]]},"1167":{"position":[[6696,5],[6873,5]]},"1169":{"position":[[535,5],[712,5]]},"1186":{"position":[[2340,5],[2517,5]]},"1187":{"position":[[2353,5],[2530,5]]},"1188":{"position":[[7079,5],[7256,5]]},"1191":{"position":[[940,5],[1117,5]]},"1192":{"position":[[1115,5],[1292,5]]},"1193":{"position":[[1167,5],[1344,5]]},"1194":{"position":[[807,5],[984,5]]},"1195":{"position":[[785,5],[962,5]]},"1196":{"position":[[595,5],[772,5]]},"1197":{"position":[[1578,5],[1755,5]]},"1198":{"position":[[1588,5],[1765,5]]},"1199":{"position":[[1616,5],[1793,5]]},"1200":{"position":[[1483,5],[1660,5]]},"1201":{"position":[[743,5],[920,5]]},"1202":{"position":[[1885,5],[2062,5],[6282,5],[6459,5]]},"1203":{"position":[[977,5],[1154,5]]},"1204":{"position":[[821,5],[998,5]]},"1205":{"position":[[2150,5],[2327,5]]},"1206":{"position":[[621,5],[798,5]]},"1207":{"position":[[778,5],[955,5]]},"1209":{"position":[[2126,5],[2303,5]]},"1217":{"position":[[5437,5],[5614,5]]},"1219":{"position":[[1423,5],[1600,5]]},"1222":{"position":[[547,5],[724,5]]},"1223":{"position":[[557,5],[734,5]]},"1224":{"position":[[737,5],[914,5]]},"1226":{"position":[[5905,5],[6082,5]]},"1228":{"position":[[7518,5],[7695,5]]},"1235":{"position":[[3386,5],[3563,5]]},"1237":{"position":[[6075,5],[6252,5]]},"1486":{"position":[[932,6]]}},"keywords":{}}],["reuse_limited_hybrid",{"_index":1905,"title":{},"content":{"362":{"position":[[1994,21]]},"741":{"position":[[1994,21]]}},"keywords":{}}],["reused.provid",{"_index":4383,"title":{},"content":{"900":{"position":[[1689,14]]}},"keywords":{}}],["rev",{"_index":7711,"title":{},"content":{"1404":{"position":[[503,4],[1606,3]]}},"keywords":{}}],["reveal",{"_index":5389,"title":{},"content":{"1057":{"position":[[445,7],[914,7]]}},"keywords":{}}],["revers",{"_index":1823,"title":{"665":{"position":[[0,9]]}},"content":{"335":{"position":[[608,7]]},"475":{"position":[[370,7]]},"665":{"position":[[60,9],[70,7],[174,7]]},"666":{"position":[[30,8],[259,8],[312,7]]},"1133":{"position":[[710,7],[832,8]]},"1403":{"position":[[6334,9]]}},"keywords":{}}],["reverse=tru",{"_index":3342,"title":{},"content":{"666":{"position":[[568,13],[828,13]]}},"keywords":{}}],["reversed("stressed".elem",{"_index":3333,"title":{},"content":{"665":{"position":[[272,38]]}},"keywords":{}}],["reversed(['a",{"_index":3331,"title":{},"content":{"665":{"position":[[189,14]]}},"keywords":{}}],["reversed(a",{"_index":3329,"title":{},"content":{"665":{"position":[[4,11]]}},"keywords":{}}],["reversed(range(5",{"_index":3332,"title":{},"content":{"665":{"position":[[234,18]]}},"keywords":{}}],["reversed(x",{"_index":3330,"title":{},"content":{"665":{"position":[[89,11]]}},"keywords":{}}],["reversed({"one"",{"_index":3337,"title":{},"content":{"665":{"position":[[435,26]]}},"keywords":{}}],["review",{"_index":100,"title":{},"content":{"5":{"position":[[373,6]]},"12":{"position":[[328,6]]}},"keywords":{}}],["reviewtest",{"_index":3814,"title":{},"content":{"726":{"position":[[28,10]]}},"keywords":{}}],["revisit",{"_index":4508,"title":{},"content":{"921":{"position":[[374,7]]},"942":{"position":[[459,9]]}},"keywords":{}}],["rewrit",{"_index":654,"title":{},"content":{"22":{"position":[[821,7]]},"1032":{"position":[[355,7]]}},"keywords":{}}],["rewrite_deps_fil",{"_index":8012,"title":{},"content":{"1432":{"position":[[1112,18]]}},"keywords":{}}],["rewrite_misc",{"_index":8013,"title":{},"content":{"1432":{"position":[[1141,13]]}},"keywords":{}}],["rewrite_sourcemap",{"_index":8014,"title":{},"content":{"1432":{"position":[[1165,18]]}},"keywords":{}}],["rewritten",{"_index":5436,"title":{},"content":{"1058":{"position":[[935,9]]}},"keywords":{}}],["rf",{"_index":4460,"title":{},"content":{"910":{"position":[[447,2]]}},"keywords":{}}],["rfc",{"_index":4469,"title":{"913":{"position":[[0,4]]},"934":{"position":[[39,5]]},"936":{"position":[[0,5]]},"978":{"position":[[0,4]]}},"content":{"926":{"position":[[179,3]]},"929":{"position":[[125,3]]},"947":{"position":[[1388,4]]},"969":{"position":[[101,4]]},"978":{"position":[[0,4],[24,3]]},"988":{"position":[[5,3]]},"1008":{"position":[[21,4]]}},"keywords":{}}],["rfcimplement",{"_index":4823,"title":{},"content":{"969":{"position":[[304,15]]}},"keywords":{}}],["rfind",{"_index":2945,"title":{},"content":{"611":{"position":[[248,5]]}},"keywords":{}}],["rich",{"_index":3432,"title":{},"content":{"685":{"position":[[26,4]]}},"keywords":{}}],["richer",{"_index":3897,"title":{},"content":{"847":{"position":[[220,6]]}},"keywords":{}}],["rid",{"_index":4285,"title":{},"content":{"892":{"position":[[2103,3]]}},"keywords":{}}],["right",{"_index":275,"title":{"1282":{"position":[[27,6]]},"1283":{"position":[[24,6]]},"1284":{"position":[[23,6]]},"1313":{"position":[[27,6]]},"1314":{"position":[[24,6]]},"1315":{"position":[[23,6]]},"1341":{"position":[[27,6]]},"1342":{"position":[[24,6]]},"1343":{"position":[[23,6]]}},"content":{"9":{"position":[[2141,5]]},"94":{"position":[[2199,5]]},"226":{"position":[[2199,5]]},"440":{"position":[[32,6]]},"587":{"position":[[343,5]]},"720":{"position":[[160,5]]},"819":{"position":[[32,6]]},"889":{"position":[[889,5],[968,5]]},"976":{"position":[[176,5]]},"991":{"position":[[3385,5]]},"1057":{"position":[[873,6]]},"1088":{"position":[[40,6],[353,6],[397,6],[764,5]]},"1259":{"position":[[2062,6],[2161,6],[2272,6]]},"1290":{"position":[[2062,6],[2161,6],[2272,6]]},"1318":{"position":[[2062,6],[2161,6],[2272,6]]},"1471":{"position":[[3371,5]]},"1472":{"position":[[3955,5]]},"1473":{"position":[[3405,5]]}},"keywords":{}}],["rightmost",{"_index":2966,"title":{},"content":{"614":{"position":[[290,9]]}},"keywords":{}}],["rindex",{"_index":2951,"title":{},"content":{"612":{"position":[[274,6]]}},"keywords":{}}],["rise",{"_index":4589,"title":{},"content":{"937":{"position":[[838,4]]}},"keywords":{}}],["risk",{"_index":394,"title":{},"content":{"12":{"position":[[162,4]]},"314":{"position":[[153,5]]},"861":{"position":[[1021,5]]},"981":{"position":[[666,5]]}},"keywords":{}}],["riski",{"_index":2220,"title":{},"content":{"416":{"position":[[396,5]]},"417":{"position":[[626,5]]},"795":{"position":[[396,5]]},"796":{"position":[[626,5]]},"861":{"position":[[902,5]]}},"keywords":{}}],["rm",{"_index":4457,"title":{},"content":{"910":{"position":[[419,2],[422,2],[443,2]]}},"keywords":{}}],["rmdir",{"_index":4461,"title":{},"content":{"910":{"position":[[450,5],[456,5]]}},"keywords":{}}],["robolectr",{"_index":8404,"title":{},"content":{"1470":{"position":[[3363,11],[4652,11],[4756,11]]}},"keywords":{}}],["robolectric_manifest",{"_index":8401,"title":{},"content":{"1470":{"position":[[2447,21]]}},"keywords":{}}],["robolectric_runtime_depend",{"_index":8402,"title":{},"content":{"1470":{"position":[[2474,33],[2523,31]]}},"keywords":{}}],["robolectric_test",{"_index":8398,"title":{"1470":{"position":[[0,17]]}},"content":{"1470":{"position":[[4,17],[3259,18]]}},"keywords":{}}],["robot",{"_index":5999,"title":{},"content":{"1176":{"position":[[104,7]]}},"keywords":{}}],["robust",{"_index":3972,"title":{},"content":{"860":{"position":[[547,6]]}},"keywords":{}}],["root",{"_index":505,"title":{"1210":{"position":[[0,4]]},"1211":{"position":[[5,5]]}},"content":{"17":{"position":[[668,5]]},"18":{"position":[[599,4],[1868,4]]},"94":{"position":[[2293,4],[3985,4]]},"107":{"position":[[75,5]]},"112":{"position":[[70,5]]},"226":{"position":[[2293,4],[3985,4]]},"242":{"position":[[309,4],[443,4]]},"289":{"position":[[109,5]]},"307":{"position":[[67,4]]},"319":{"position":[[125,5]]},"374":{"position":[[1319,5]]},"408":{"position":[[88,5]]},"433":{"position":[[129,4]]},"443":{"position":[[169,4]]},"511":{"position":[[135,5]]},"519":{"position":[[75,5]]},"524":{"position":[[70,5]]},"570":{"position":[[75,4]]},"580":{"position":[[4,4]]},"581":{"position":[[74,5],[243,4]]},"584":{"position":[[964,4]]},"693":{"position":[[35,4],[2250,4],[6214,4],[6450,5],[8730,4]]},"708":{"position":[[779,4]]},"717":{"position":[[361,4]]},"753":{"position":[[1319,5]]},"787":{"position":[[88,5]]},"812":{"position":[[129,4]]},"822":{"position":[[169,4]]},"878":{"position":[[1163,4]]},"879":{"position":[[102,4]]},"890":{"position":[[4992,4],[6053,4],[6184,4]]},"892":{"position":[[346,6],[404,5],[1822,5]]},"895":{"position":[[473,4],[504,4]]},"898":{"position":[[2784,4]]},"981":{"position":[[885,4]]},"1000":{"position":[[228,4]]},"1032":{"position":[[239,5]]},"1050":{"position":[[1395,5]]},"1070":{"position":[[373,4],[411,5],[489,5]]},"1073":{"position":[[31,4],[118,4]]},"1096":{"position":[[187,4]]},"1112":{"position":[[237,4],[1764,5]]},"1130":{"position":[[113,4],[214,5]]},"1138":{"position":[[234,4],[419,4],[581,5]]},"1148":{"position":[[677,6]]},"1172":{"position":[[707,4],[735,4]]},"1211":{"position":[[35,4],[61,4],[115,4],[228,4],[286,4]]},"1226":{"position":[[3413,4],[3598,4],[3760,5]]},"1228":{"position":[[1094,4],[1256,4]]},"1232":{"position":[[3776,4]]},"1237":{"position":[[3583,4],[3768,4],[3930,5]]},"1240":{"position":[[341,4]]},"1260":{"position":[[302,6]]},"1291":{"position":[[302,6]]},"1319":{"position":[[302,6]]},"1362":{"position":[[8257,4]]},"1364":{"position":[[9106,4],[9282,4]]},"1367":{"position":[[8345,4]]},"1373":{"position":[[5831,5]]},"1382":{"position":[[5441,4]]},"1383":{"position":[[7891,4]]},"1384":{"position":[[10388,4]]},"1385":{"position":[[3355,4]]},"1387":{"position":[[5688,4]]},"1397":{"position":[[2487,5]]},"1402":{"position":[[1975,4],[2107,5]]},"1403":{"position":[[6991,4]]},"1408":{"position":[[2195,5]]},"1410":{"position":[[4360,4]]},"1422":{"position":[[2667,4]]},"1446":{"position":[[2027,4],[2578,4]]},"1454":{"position":[[7292,4]]},"1457":{"position":[[1782,5]]},"1459":{"position":[[2000,4]]},"1462":{"position":[[5762,4]]},"1467":{"position":[[6258,4]]},"1471":{"position":[[5136,4]]},"1472":{"position":[[6022,4]]},"1473":{"position":[[5586,4]]},"1477":{"position":[[2583,5]]},"1485":{"position":[[1723,4]]}},"keywords":{}}],["root'",{"_index":5624,"title":{},"content":{"1098":{"position":[[53,6]]}},"keywords":{}}],["root//:main",{"_index":538,"title":{},"content":{"17":{"position":[[1455,11]]}},"keywords":{}}],["root/packag",{"_index":4700,"title":{},"content":{"944":{"position":[[1128,12]]}},"keywords":{}}],["root/par",{"_index":4093,"title":{},"content":{"877":{"position":[[383,11],[633,11]]},"878":{"position":[[1139,11]]}},"keywords":{}}],["rootdefault",{"_index":2018,"title":{},"content":{"374":{"position":[[1348,12]]},"753":{"position":[[1348,12]]}},"keywords":{}}],["roughli",{"_index":3399,"title":{},"content":{"680":{"position":[[59,7]]},"872":{"position":[[26,7]]},"1026":{"position":[[291,7]]},"1126":{"position":[[136,7]]}},"keywords":{}}],["rpath",{"_index":8420,"title":{},"content":{"1471":{"position":[[1503,6],[4890,6]]},"1473":{"position":[[1721,6],[5211,6]]}},"keywords":{}}],["rs",{"_index":8439,"title":{},"content":{"1471":{"position":[[5253,3]]},"1472":{"position":[[6139,3]]},"1473":{"position":[[5703,3]]}},"keywords":{}}],["rs/serde"",{"_index":7718,"title":{},"content":{"1404":{"position":[[1590,15]]}},"keywords":{}}],["rsplit",{"_index":2986,"title":{},"content":{"616":{"position":[[622,8]]}},"keywords":{}}],["rss",{"_index":5813,"title":{},"content":{"1126":{"position":[[1605,4]]}},"keywords":{}}],["rul",{"_index":7613,"title":{},"content":{"1398":{"position":[[1128,4]]}},"keywords":{}}],["rule",{"_index":14,"title":{"3":{"position":[[19,6]]},"10":{"position":[[13,4]]},"437":{"position":[[0,5]]},"677":{"position":[[6,4]]},"678":{"position":[[28,6]]},"679":{"position":[[32,6]]},"681":{"position":[[30,4],[55,5]]},"816":{"position":[[0,5]]},"929":{"position":[[4,4]]},"930":{"position":[[35,5]]},"1004":{"position":[[11,5]]},"1005":{"position":[[4,4]]},"1009":{"position":[[7,4]]},"1042":{"position":[[5,5]]},"1081":{"position":[[0,4]]},"1101":{"position":[[8,5]]},"1107":{"position":[[8,6]]},"1108":{"position":[[4,6]]},"1132":{"position":[[39,6]]},"1347":{"position":[[0,5]]}},"content":{"3":{"position":[[8,5],[29,5],[146,5]]},"9":{"position":[[1650,5],[1791,6],[2073,5],[2198,4],[2218,5]]},"10":{"position":[[31,6],[120,5],[250,4],[324,4],[575,5],[681,5],[815,5],[954,5],[1071,5],[1184,5]]},"16":{"position":[[12,5]]},"20":{"position":[[248,6],[294,5],[456,4]]},"23":{"position":[[654,5],[779,5],[881,5],[942,4],[1065,6],[1515,4],[1559,5],[1901,5],[2135,5]]},"24":{"position":[[743,6]]},"34":{"position":[[94,6]]},"38":{"position":[[86,5]]},"41":{"position":[[380,4]]},"49":{"position":[[47,4],[224,5]]},"72":{"position":[[135,5],[164,4]]},"74":{"position":[[150,4]]},"81":{"position":[[25,5],[204,5],[318,5]]},"82":{"position":[[26,6]]},"90":{"position":[[104,5]]},"92":{"position":[[327,4],[383,4],[976,4]]},"121":{"position":[[247,5]]},"125":{"position":[[123,4]]},"126":{"position":[[224,5],[384,5]]},"127":{"position":[[110,4]]},"130":{"position":[[234,5]]},"131":{"position":[[308,5]]},"132":{"position":[[182,5]]},"133":{"position":[[193,5],[264,4]]},"134":{"position":[[197,5]]},"135":{"position":[[123,5]]},"136":{"position":[[129,5]]},"137":{"position":[[147,5]]},"139":{"position":[[183,5]]},"140":{"position":[[219,5],[246,4]]},"145":{"position":[[171,5]]},"147":{"position":[[146,5]]},"148":{"position":[[202,5],[359,5]]},"150":{"position":[[138,5]]},"174":{"position":[[380,4]]},"183":{"position":[[86,5]]},"190":{"position":[[94,6]]},"196":{"position":[[47,4],[224,5]]},"213":{"position":[[25,5],[204,5],[318,5]]},"214":{"position":[[26,6]]},"222":{"position":[[104,5]]},"224":{"position":[[327,4],[383,4],[976,4]]},"234":{"position":[[64,5],[157,4]]},"238":{"position":[[447,4]]},"248":{"position":[[123,4]]},"249":{"position":[[224,5],[384,5]]},"250":{"position":[[110,4]]},"253":{"position":[[234,5]]},"254":{"position":[[308,5]]},"255":{"position":[[182,5]]},"256":{"position":[[193,5],[264,4]]},"257":{"position":[[197,5]]},"258":{"position":[[123,5]]},"259":{"position":[[129,5]]},"260":{"position":[[147,5]]},"262":{"position":[[183,5]]},"263":{"position":[[219,5],[246,4]]},"268":{"position":[[171,5]]},"270":{"position":[[146,5]]},"271":{"position":[[202,5],[359,5]]},"273":{"position":[[138,5]]},"284":{"position":[[114,4]]},"325":{"position":[[347,4]]},"326":{"position":[[362,4]]},"332":{"position":[[345,4]]},"333":{"position":[[349,4]]},"363":{"position":[[159,4]]},"368":{"position":[[430,6],[1209,5],[2995,4],[3412,4]]},"372":{"position":[[321,5]]},"374":{"position":[[310,4]]},"375":{"position":[[158,6]]},"377":{"position":[[461,6]]},"379":{"position":[[165,6]]},"386":{"position":[[308,4]]},"398":{"position":[[107,4]]},"399":{"position":[[101,4]]},"400":{"position":[[258,5],[288,4]]},"418":{"position":[[1002,5]]},"427":{"position":[[190,4],[244,4]]},"437":{"position":[[4,5],[284,5]]},"438":{"position":[[194,5],[275,5]]},"443":{"position":[[276,5],[372,5]]},"463":{"position":[[80,4]]},"466":{"position":[[228,4]]},"467":{"position":[[243,4]]},"473":{"position":[[226,4]]},"484":{"position":[[111,6]]},"495":{"position":[[135,5],[164,4]]},"497":{"position":[[150,4]]},"530":{"position":[[247,5]]},"622":{"position":[[87,6],[260,5],[650,5],[694,5],[1146,5],[1399,4],[1559,4]]},"678":{"position":[[48,5],[321,4]]},"679":{"position":[[11,5],[75,4],[164,4],[349,5]]},"680":{"position":[[226,4],[415,4],[720,5],[859,5],[1238,6]]},"681":{"position":[[8,4],[51,4],[96,4],[137,4],[230,4],[353,4],[390,4],[426,4],[487,4],[583,4],[612,4],[823,4]]},"682":{"position":[[46,4],[98,4],[150,4],[306,5]]},"683":{"position":[[21,4],[64,5],[80,4],[147,4],[261,5],[286,4]]},"684":{"position":[[6,5]]},"685":{"position":[[53,5],[196,5]]},"686":{"position":[[23,4]]},"687":{"position":[[64,6]]},"688":{"position":[[50,5],[121,5],[501,5],[525,4],[559,4],[700,4],[963,4],[1332,5]]},"690":{"position":[[19,4]]},"693":{"position":[[1023,4],[1093,4],[1301,4],[2784,5],[4471,4],[6487,4],[6547,4],[6574,5],[6973,5],[6981,4],[7116,4],[7145,4],[7373,5],[7459,4],[7628,4],[7689,4],[7963,6],[8518,4],[9163,5]]},"695":{"position":[[12,4],[139,5],[238,4],[400,5],[544,4],[566,5],[597,5]]},"699":{"position":[[71,5]]},"702":{"position":[[172,5],[186,5],[204,5],[243,5],[282,5],[321,5],[430,5]]},"708":{"position":[[71,5],[466,5],[837,4],[868,5]]},"710":{"position":[[330,4],[370,4]]},"711":{"position":[[95,6]]},"712":{"position":[[57,5],[136,4]]},"715":{"position":[[442,4],[494,5],[775,4],[809,5],[1134,5]]},"718":{"position":[[241,6],[267,4],[512,4]]},"722":{"position":[[217,5],[480,5],[572,4],[633,4]]},"742":{"position":[[159,4]]},"747":{"position":[[430,6],[1209,5],[2995,4],[3412,4]]},"751":{"position":[[321,5]]},"753":{"position":[[310,4]]},"754":{"position":[[158,6]]},"756":{"position":[[461,6]]},"758":{"position":[[165,6]]},"765":{"position":[[308,4]]},"777":{"position":[[107,4]]},"778":{"position":[[101,4]]},"779":{"position":[[258,5],[288,4]]},"797":{"position":[[1002,5]]},"806":{"position":[[190,4],[244,4]]},"816":{"position":[[4,5],[284,5]]},"817":{"position":[[194,5],[275,5]]},"822":{"position":[[276,5],[372,5]]},"835":{"position":[[242,4]]},"840":{"position":[[175,7]]},"845":{"position":[[104,4],[185,4]]},"847":{"position":[[142,6]]},"870":{"position":[[1418,5]]},"914":{"position":[[32,4]]},"926":{"position":[[41,4],[85,4],[157,4]]},"927":{"position":[[172,4]]},"930":{"position":[[4,4],[128,5]]},"933":{"position":[[127,5]]},"944":{"position":[[413,4],[438,4],[499,4],[1313,4]]},"947":{"position":[[533,4]]},"949":{"position":[[38,6]]},"950":{"position":[[1099,5]]},"951":{"position":[[677,5],[953,6],[995,5]]},"961":{"position":[[118,6],[763,4]]},"963":{"position":[[74,4]]},"964":{"position":[[178,5],[243,4],[508,5]]},"984":{"position":[[102,5]]},"989":{"position":[[39,4],[210,5]]},"990":{"position":[[1352,5]]},"991":{"position":[[61,5],[183,5],[628,5],[2826,4],[3238,4],[3538,5]]},"993":{"position":[[10,4]]},"994":{"position":[[20,4]]},"995":{"position":[[21,4],[779,4]]},"1000":{"position":[[664,4]]},"1004":{"position":[[11,5],[242,4],[515,5]]},"1005":{"position":[[4,4],[164,4],[300,4],[425,5]]},"1006":{"position":[[196,4],[247,4],[458,5],[706,4]]},"1007":{"position":[[113,4],[151,4]]},"1009":{"position":[[67,4],[204,5],[263,4],[317,4],[810,9]]},"1012":{"position":[[11,4],[432,5]]},"1017":{"position":[[81,4],[373,4],[569,7],[621,5]]},"1019":{"position":[[24,5],[91,4]]},"1027":{"position":[[56,4]]},"1040":{"position":[[1078,4]]},"1042":{"position":[[13,4],[35,4],[78,5],[249,5],[272,6],[658,4]]},"1043":{"position":[[13,4],[97,4],[129,5]]},"1044":{"position":[[2144,5],[2799,6]]},"1045":{"position":[[210,4]]},"1046":{"position":[[2,4],[44,5],[191,4]]},"1047":{"position":[[22,4],[165,5]]},"1048":{"position":[[791,5],[1501,5]]},"1050":{"position":[[2518,4],[3703,4]]},"1054":{"position":[[220,4],[1298,5],[1361,5],[1380,5]]},"1068":{"position":[[10,5]]},"1070":{"position":[[72,5]]},"1071":{"position":[[86,5]]},"1102":{"position":[[19,5],[86,4],[244,5],[390,4],[457,4],[943,5]]},"1103":{"position":[[2,4],[514,4],[585,4],[700,4],[911,4],[1019,5],[1427,5],[1485,4],[1534,4],[1639,5],[1867,5]]},"1104":{"position":[[39,4],[92,4],[113,5],[144,4],[673,4],[736,4],[1539,6],[1565,5]]},"1105":{"position":[[1621,4]]},"1107":{"position":[[119,4],[258,6]]},"1108":{"position":[[8,4],[182,5],[330,4],[435,5]]},"1112":{"position":[[4271,4]]},"1136":{"position":[[1340,4]]},"1138":{"position":[[204,5],[312,5],[389,5],[509,5]]},"1148":{"position":[[1696,4]]},"1155":{"position":[[699,6]]},"1205":{"position":[[820,4]]},"1209":{"position":[[573,4]]},"1226":{"position":[[2513,4],[3307,4],[3383,5],[3491,5],[3568,5],[3688,5]]},"1235":{"position":[[1833,4]]},"1237":{"position":[[2683,4],[3477,4],[3553,5],[3661,5],[3738,5],[3858,5]]},"1245":{"position":[[143,4],[402,4]]},"1259":{"position":[[1077,4]]},"1262":{"position":[[267,5]]},"1271":{"position":[[120,4],[315,4]]},"1290":{"position":[[1077,4]]},"1293":{"position":[[267,5]]},"1302":{"position":[[120,4],[315,4]]},"1318":{"position":[[1077,4]]},"1321":{"position":[[267,5]]},"1330":{"position":[[120,4],[315,4]]},"1348":{"position":[[2655,4]]},"1351":{"position":[[715,4],[825,5],[3368,4],[3602,4],[3695,5],[3846,5],[4539,4]]},"1353":{"position":[[1358,4],[2464,4],[2921,4],[3252,4]]},"1354":{"position":[[1167,4],[2772,4],[2979,4]]},"1355":{"position":[[2169,4],[2307,4],[3637,5],[3674,6],[3784,5],[3810,4],[3912,4],[3984,5],[4120,5],[4240,5],[4369,5],[4430,5],[4456,5],[5227,4],[5780,4],[5859,4],[5914,4],[5981,5],[6177,5],[6929,4],[7408,5],[7628,4],[7675,5]]},"1356":{"position":[[573,4],[667,6],[679,4],[1671,6],[1722,5]]},"1358":{"position":[[944,4],[2065,4]]},"1359":{"position":[[888,4],[1866,5],[2315,4],[2384,5]]},"1360":{"position":[[1349,4],[1570,5],[1613,6],[2508,5],[2652,5],[4384,4],[5888,4]]},"1361":{"position":[[633,4],[705,4],[835,5],[881,5],[903,4]]},"1362":{"position":[[4731,4],[4897,4],[6265,4],[7184,4],[7773,5],[7802,4],[7841,5],[11124,4],[12000,4],[12725,5]]},"1363":{"position":[[2836,4],[5620,4]]},"1364":{"position":[[4829,4],[4923,4],[6294,4],[6633,5],[6769,6],[6886,5],[7423,4],[8012,5],[8041,4],[8080,5],[8187,4],[8204,5],[8243,5],[8622,5],[8651,4],[8690,5],[12091,4],[13425,5]]},"1365":{"position":[[808,4],[851,4],[1776,4]]},"1366":{"position":[[864,4],[983,4],[1113,5],[2725,5],[2776,6]]},"1367":{"position":[[6620,4],[6715,6],[7692,4],[10587,4],[11494,4],[12633,5],[13503,4],[13567,4]]},"1370":{"position":[[628,4],[2484,4],[2557,4],[2751,4]]},"1373":{"position":[[2755,4],[3821,4],[4391,5],[5639,4],[5868,4],[7021,4],[8233,5],[8512,4],[8598,4]]},"1374":{"position":[[678,4],[709,5],[2081,4]]},"1380":{"position":[[541,4],[600,4],[730,4],[771,5],[793,4]]},"1381":{"position":[[674,4]]},"1382":{"position":[[3000,4],[4177,4],[4808,4],[4881,4],[7993,4],[9341,4],[11087,5],[11619,4]]},"1383":{"position":[[4413,5],[4532,5],[5055,4],[5144,5],[5335,5],[5470,4],[5643,5],[6417,4],[8670,5]]},"1384":{"position":[[4304,4],[5339,4],[5678,5],[5814,6],[5931,5],[6049,5],[6914,5],[6953,5],[7056,5],[7095,5],[7190,5],[7219,4],[7258,5],[7387,5],[8373,4],[8390,5],[8429,5],[8808,5],[8837,4],[8876,5],[9498,5],[9527,4],[9566,5],[9815,4],[9832,5],[14057,4],[14236,4],[14284,4],[14305,4],[15686,4],[18324,5],[18369,4],[18741,5],[19821,5],[21210,4],[21486,4],[21874,4]]},"1385":{"position":[[1859,4],[2002,4],[4224,4],[5569,4],[6665,5],[7197,4],[7409,4],[7604,4]]},"1386":{"position":[[582,4],[684,5],[1597,5],[1914,5],[1939,4],[2101,4],[2560,5],[2633,4],[2827,5],[2862,4],[2904,5],[3036,5],[3105,4],[3921,4],[4118,5],[4174,4],[4238,4],[4256,4],[4694,5],[4995,5],[5190,5],[5497,4],[5705,4],[6120,4],[6307,5]]},"1387":{"position":[[4207,4],[4353,4],[5537,5],[5574,4],[6542,4],[7317,4],[7495,4],[7543,4],[7564,4],[8942,4],[10038,5],[10570,4],[10739,4],[10935,4]]},"1388":{"position":[[3465,4],[4477,4],[4773,5],[4921,5],[5502,4],[5575,4],[6157,5],[6331,5],[8607,4],[9580,5],[10206,4],[10335,4]]},"1389":{"position":[[5818,5]]},"1390":{"position":[[579,4],[1554,5],[1615,4],[1860,5],[1967,4]]},"1391":{"position":[[581,4],[1507,5],[1568,4],[1675,5]]},"1392":{"position":[[613,4],[1657,5],[1718,4],[2046,4],[2130,5],[2330,4],[2459,4]]},"1393":{"position":[[1092,4],[1109,4],[1249,5],[1328,4],[9741,4]]},"1394":{"position":[[534,4],[558,4],[698,5],[777,4]]},"1398":{"position":[[2711,5],[5149,4],[5606,4]]},"1399":{"position":[[616,5],[1687,5],[1905,4],[2071,4],[2825,4]]},"1401":{"position":[[538,4],[1467,5],[1596,5],[1625,5]]},"1402":{"position":[[679,4],[1716,5]]},"1403":{"position":[[3799,4],[4339,4]]},"1405":{"position":[[1096,4],[2500,5],[3654,5]]},"1406":{"position":[[1413,5]]},"1407":{"position":[[1133,4],[2921,5],[4273,5]]},"1408":{"position":[[907,4],[2038,5],[2232,4],[2652,5]]},"1410":{"position":[[1550,4],[2945,5],[2992,6],[3526,4],[4429,4],[5064,5],[5429,4]]},"1412":{"position":[[1444,4],[1627,4],[2573,5],[2627,6],[2809,5],[2835,4],[3435,5],[3688,4],[3804,4],[3883,4],[3988,4],[4083,4]]},"1415":{"position":[[2457,4],[3697,4],[4106,4],[4980,4],[5065,5],[5637,4],[5753,5],[5948,4]]},"1416":{"position":[[1317,4],[2394,5],[2416,5],[2464,5],[2493,5],[3488,5]]},"1420":{"position":[[1026,4],[2076,5],[2098,5],[2146,5],[2175,5],[2625,5]]},"1421":{"position":[[964,4],[1940,5],[2044,5],[2137,5]]},"1422":{"position":[[742,4],[843,6],[856,5],[2011,4],[2420,5]]},"1423":{"position":[[640,4],[726,6],[738,4],[846,5]]},"1426":{"position":[[903,4],[1002,5],[2309,5],[2616,4]]},"1427":{"position":[[1691,4],[1791,4],[2788,5],[2822,6],[2929,5],[2955,4],[3057,4],[3129,5],[3265,5],[3385,5],[3514,5],[3575,5],[3601,5],[4541,4],[4953,4],[5032,4],[5087,4],[5154,5],[5350,5],[6128,4],[6607,5],[7103,4],[7282,4],[7359,4],[7500,5],[7899,4]]},"1429":{"position":[[2509,4],[4818,4],[5081,4],[5170,4],[5222,4],[5926,4]]},"1438":{"position":[[682,5]]},"1439":{"position":[[1963,4],[2077,4],[3458,5],[3494,6],[3603,5],[3629,4],[3731,4],[3803,5],[3939,5],[4059,5],[4188,5],[4249,5],[4275,5],[6744,4],[7040,4],[7743,5],[7933,4],[8110,4],[8185,4],[8326,5],[8723,4]]},"1440":{"position":[[2699,4],[4900,4],[5075,4],[5164,4],[5216,4],[5826,4]]},"1442":{"position":[[511,4],[1798,4],[1871,4],[2460,5],[2992,4]]},"1443":{"position":[[712,4],[800,5],[1673,5],[1771,5]]},"1444":{"position":[[628,4],[716,5],[1810,5],[1848,4],[1947,4],[2048,4],[2122,4],[2215,5]]},"1446":{"position":[[2299,5]]},"1448":{"position":[[945,4],[2072,5],[2572,5]]},"1449":{"position":[[888,4],[2006,5],[2506,5]]},"1453":{"position":[[899,4],[1001,5]]},"1454":{"position":[[3236,4],[4286,4],[4526,5],[4662,6],[4779,5],[5591,5],[5620,4],[5659,5],[5787,5],[7709,4],[7757,4],[7778,4],[9492,4]]},"1455":{"position":[[1119,4],[1208,5],[2174,5],[2310,6],[2427,5],[2558,5]]},"1456":{"position":[[536,4],[1492,4]]},"1457":{"position":[[608,4],[1549,5],[1819,4]]},"1458":{"position":[[916,4],[1192,6],[2095,5],[2132,5]]},"1459":{"position":[[607,4],[1630,4]]},"1461":{"position":[[885,4],[998,5],[2072,5],[2142,5],[2559,4]]},"1462":{"position":[[4258,4],[5299,4],[5772,5],[5863,5],[6046,4],[6527,5],[6782,5]]},"1465":{"position":[[1403,4],[1511,6],[2611,5],[2648,4],[3018,4],[4306,4],[4467,4],[4556,4],[4577,4]]},"1467":{"position":[[4977,4],[6268,5],[6339,5],[6510,5],[6684,5],[7158,4],[7642,5],[7897,5],[10448,4],[10858,4],[11011,4],[11085,4],[11178,5]]},"1468":{"position":[[1436,4]]},"1469":{"position":[[647,4],[733,6],[746,5],[1886,5]]},"1470":{"position":[[3278,4],[3416,5],[4493,4]]},"1471":{"position":[[1662,4],[2845,4],[3180,5],[3250,6],[3311,5],[3624,5],[4232,5],[5099,5],[5310,4]]},"1472":{"position":[[1624,4],[2899,5],[2969,6],[3018,5],[3088,6],[3895,5],[4208,5],[4816,5],[5640,5],[5685,4],[5985,5],[6196,4]]},"1473":{"position":[[1907,4],[3214,5],[3284,6],[3345,5],[3692,5],[4553,5],[5549,5],[5760,4]]},"1477":{"position":[[1955,5],[1971,4]]},"1478":{"position":[[1065,4],[2712,4]]},"1482":{"position":[[603,5],[1471,4]]},"1483":{"position":[[436,6],[1369,5],[1426,4]]},"1485":{"position":[[685,4],[3951,5],[4784,4],[4950,4],[5001,5]]},"1486":{"position":[[813,4],[852,4],[2093,4],[2823,4],[3000,4],[3142,6]]},"1487":{"position":[[2425,5]]}},"keywords":{}}],["rule"",{"_index":7261,"title":{},"content":{"1386":{"position":[[2668,11]]}},"keywords":{}}],["rule'",{"_index":1557,"title":{},"content":{"283":{"position":[[73,6]]},"284":{"position":[[73,6]]},"298":{"position":[[1608,6]]},"368":{"position":[[594,6]]},"462":{"position":[[75,6]]},"681":{"position":[[1020,6]]},"682":{"position":[[235,6]]},"683":{"position":[[183,6]]},"695":{"position":[[417,6]]},"747":{"position":[[594,6]]},"851":{"position":[[626,6]]},"1356":{"position":[[1937,6]]},"1362":{"position":[[10694,6],[13154,6]]},"1363":{"position":[[2914,6]]},"1364":{"position":[[11661,6],[13854,6]]},"1367":{"position":[[13062,6]]},"1373":{"position":[[5211,6]]},"1382":{"position":[[4835,6],[7563,6],[11516,6]]},"1384":{"position":[[13627,6],[14401,6],[19170,6]]},"1385":{"position":[[7094,6]]},"1386":{"position":[[2210,6],[4643,6],[5541,6],[6035,6]]},"1387":{"position":[[6687,6],[7660,6],[10467,6]]},"1388":{"position":[[5529,6],[8432,6],[10009,6]]},"1403":{"position":[[5445,6]]},"1405":{"position":[[2982,6]]},"1407":{"position":[[3403,6]]},"1410":{"position":[[3984,6]]},"1416":{"position":[[2318,6],[2859,6]]},"1420":{"position":[[2000,6]]},"1442":{"position":[[1825,6],[2889,6]]},"1454":{"position":[[7874,6]]},"1467":{"position":[[6371,6]]},"1471":{"position":[[3471,6],[3826,6]]},"1472":{"position":[[3139,6],[3297,6],[4055,6],[4410,6]]},"1473":{"position":[[3505,6],[4147,6]]},"1485":{"position":[[4380,6]]},"1487":{"position":[[2267,6],[2530,6]]}},"keywords":{}}],["rule(impl",{"_index":2350,"title":{},"content":{"437":{"position":[[516,9]]},"712":{"position":[[493,9]]},"816":{"position":[[516,9]]},"1049":{"position":[[1635,9]]},"1103":{"position":[[409,9]]}},"keywords":{}}],["rule.flag",{"_index":8101,"title":{},"content":{"1446":{"position":[[1641,11]]}},"keywords":{}}],["rule.import_path",{"_index":7669,"title":{},"content":{"1402":{"position":[[1753,17]]}},"keywords":{}}],["rule.is_asset",{"_index":8244,"title":{},"content":{"1459":{"position":[[1925,14]]}},"keywords":{}}],["rule.sha256",{"_index":7928,"title":{},"content":{"1423":{"position":[[2090,12]]}},"keywords":{}}],["rule_exist",{"_index":2355,"title":{"438":{"position":[[0,12]]},"817":{"position":[[0,12]]}},"content":{},"keywords":{}}],["rule_exists(nam",{"_index":2356,"title":{},"content":{"438":{"position":[[4,17]]},"817":{"position":[[4,17]]}},"keywords":{}}],["rule_timeout",{"_index":6544,"title":{},"content":{"1354":{"position":[[3028,12]]},"1388":{"position":[[10255,12]]},"1392":{"position":[[2379,12]]},"1410":{"position":[[5478,12]]},"1429":{"position":[[5975,12]]},"1440":{"position":[[5875,12]]},"1467":{"position":[[10497,12]]}},"keywords":{}}],["ruleanalysiscalculation::get_analysis_result",{"_index":4518,"title":{},"content":{"923":{"position":[[245,45]]}},"keywords":{}}],["ruleand",{"_index":621,"title":{},"content":{"20":{"position":[[582,7]]}},"keywords":{}}],["ruleandroid_librari",{"_index":3389,"title":{},"content":{"678":{"position":[[196,19]]}},"keywords":{}}],["ruleimplement",{"_index":3535,"title":{},"content":{"693":{"position":[[2633,20]]}},"keywords":{}}],["rulekey",{"_index":3635,"title":{},"content":{"704":{"position":[[375,9],[569,7],[620,8],[713,7],[880,8],[1286,8],[1326,8],[1340,7]]},"705":{"position":[[0,8],[57,7],[201,7],[454,8]]}},"keywords":{}}],["rules.external_linker_flag",{"_index":7730,"title":{},"content":{"1405":{"position":[[2547,28]]},"1407":{"position":[[2968,28]]}},"keywords":{}}],["rules.label",{"_index":8322,"title":{},"content":{"1462":{"position":[[5971,13]]}},"keywords":{}}],["rules.librari",{"_index":8225,"title":{},"content":{"1457":{"position":[[1596,14]]}},"keywords":{}}],["rules.package_nam",{"_index":7784,"title":{},"content":{"1408":{"position":[[2085,19]]}},"keywords":{}}],["rules.platform_dep",{"_index":8123,"title":{},"content":{"1448":{"position":[[2139,20]]},"1449":{"position":[[2073,20]]}},"keywords":{}}],["rules.starlark",{"_index":20,"title":{},"content":{"3":{"position":[[123,14]]}},"keywords":{}}],["rule—and",{"_index":3420,"title":{},"content":{"681":{"position":[[871,8]]},"1384":{"position":[[9871,8]]}},"keywords":{}}],["rule’",{"_index":4060,"title":{},"content":{"870":{"position":[[475,6]]}},"keywords":{}}],["run",{"_index":429,"title":{"837":{"position":[[8,3]]},"841":{"position":[[0,7]]},"851":{"position":[[0,7]]},"1025":{"position":[[0,7]]},"1067":{"position":[[18,4]]},"1216":{"position":[[0,3]]},"1217":{"position":[[5,4]]}},"content":{"13":{"position":[[365,3]]},"17":{"position":[[602,3],[715,4],[1082,3],[1104,7],[1167,4],[1196,3],[1221,4],[1232,3]]},"18":{"position":[[183,3],[1726,4],[1755,3],[1780,4],[1791,3]]},"23":{"position":[[1311,3]]},"24":{"position":[[92,3]]},"69":{"position":[[208,7]]},"71":{"position":[[106,4]]},"83":{"position":[[109,4]]},"92":{"position":[[398,3],[2474,3]]},"94":{"position":[[1176,4],[1625,3],[1645,7],[2832,3],[2965,3],[4382,3]]},"98":{"position":[[1333,3]]},"215":{"position":[[109,4]]},"224":{"position":[[398,3],[2474,3]]},"226":{"position":[[1176,4],[1625,3],[1645,7],[2832,3],[2965,3],[4382,3]]},"230":{"position":[[1333,3]]},"294":{"position":[[474,4]]},"297":{"position":[[453,4]]},"314":{"position":[[305,3]]},"362":{"position":[[1905,7]]},"374":{"position":[[1298,3],[1441,3],[2056,3]]},"377":{"position":[[612,3],[648,7]]},"386":{"position":[[462,4]]},"396":{"position":[[160,3]]},"399":{"position":[[110,3]]},"406":{"position":[[804,7]]},"407":{"position":[[188,7]]},"408":{"position":[[738,7]]},"457":{"position":[[208,7]]},"494":{"position":[[106,4]]},"570":{"position":[[576,3]]},"675":{"position":[[136,3]]},"688":{"position":[[764,3]]},"692":{"position":[[76,4],[169,3]]},"693":{"position":[[286,3]]},"704":{"position":[[979,4],[1085,3],[1157,4],[2000,4],[2102,4],[2410,7]]},"705":{"position":[[233,7],[500,3]]},"706":{"position":[[989,3],[2195,7],[2429,3],[2531,3]]},"715":{"position":[[506,4],[636,3],[1616,4]]},"720":{"position":[[202,3]]},"722":{"position":[[510,3]]},"724":{"position":[[109,4],[295,3],[589,3],[839,3],[891,3],[1044,3],[1383,3]]},"741":{"position":[[1905,7]]},"753":{"position":[[1298,3],[1441,3],[2056,3]]},"756":{"position":[[612,3],[648,7]]},"765":{"position":[[462,4]]},"775":{"position":[[160,3]]},"778":{"position":[[110,3]]},"785":{"position":[[804,7]]},"786":{"position":[[188,7]]},"787":{"position":[[738,7]]},"837":{"position":[[19,3]]},"841":{"position":[[3,3],[346,8]]},"845":{"position":[[8,3],[318,3]]},"846":{"position":[[1085,3],[1880,4]]},"847":{"position":[[275,3],[397,4]]},"848":{"position":[[771,7]]},"864":{"position":[[1473,3]]},"865":{"position":[[36,7],[57,3]]},"867":{"position":[[806,3]]},"870":{"position":[[69,3],[658,7],[974,3]]},"874":{"position":[[54,3]]},"876":{"position":[[142,3],[349,3]]},"894":{"position":[[321,7],[567,3]]},"895":{"position":[[422,3],[630,3],[727,3]]},"896":{"position":[[521,4]]},"897":{"position":[[231,3]]},"904":{"position":[[607,3]]},"937":{"position":[[1305,3]]},"962":{"position":[[71,3]]},"1025":{"position":[[38,4],[154,3]]},"1027":{"position":[[181,4]]},"1035":{"position":[[249,3]]},"1036":{"position":[[238,3]]},"1037":{"position":[[64,4],[382,4]]},"1050":{"position":[[177,4],[435,3],[578,3],[611,3],[657,3],[981,3],[1914,3],[3247,4],[3342,4]]},"1052":{"position":[[308,7],[1300,7]]},"1053":{"position":[[980,7]]},"1054":{"position":[[471,7]]},"1057":{"position":[[147,7]]},"1058":{"position":[[79,7],[693,4]]},"1061":{"position":[[234,3]]},"1067":{"position":[[12,4]]},"1070":{"position":[[139,3],[352,3],[643,3]]},"1071":{"position":[[402,4],[642,7]]},"1072":{"position":[[145,3]]},"1073":{"position":[[13,3]]},"1079":{"position":[[1019,7],[1146,3]]},"1098":{"position":[[647,7]]},"1103":{"position":[[1008,3],[1057,3],[1303,4],[1348,3],[1963,4]]},"1104":{"position":[[566,4],[1262,3]]},"1105":{"position":[[74,3],[114,3],[1064,3],[1914,4],[2088,3]]},"1106":{"position":[[152,3],[207,4]]},"1107":{"position":[[71,3]]},"1127":{"position":[[118,3]]},"1136":{"position":[[192,3],[475,3],[3755,3],[3828,3],[3997,3],[4187,3],[4320,3],[4497,3]]},"1138":{"position":[[958,3],[1023,3],[1733,3],[3270,7],[3361,7],[3539,4],[7417,3],[7490,3],[7659,3],[7849,3],[7982,3],[8159,3]]},"1140":{"position":[[0,3],[1222,3],[2759,7],[2850,7],[3028,4],[6343,3],[6416,3],[6585,3],[6775,3],[6908,3],[7085,3]]},"1142":{"position":[[128,3],[147,3],[1787,3],[1860,3],[2029,3],[2219,3],[2352,3],[2529,3]]},"1144":{"position":[[63,3]]},"1146":{"position":[[1727,3],[1800,3],[1969,3],[2159,3],[2292,3],[2469,3]]},"1148":{"position":[[725,3],[4767,3],[4840,3],[5009,3],[5199,3],[5332,3],[5509,3]]},"1155":{"position":[[1823,3],[1896,3],[2065,3],[2255,3],[2388,3],[2565,3]]},"1156":{"position":[[1401,3],[1474,3],[1643,3],[1833,3],[1966,3],[2143,3]]},"1167":{"position":[[230,7],[337,3],[341,3],[2226,3],[3763,7],[3854,7],[4032,4],[7347,3],[7420,3],[7589,3],[7779,3],[7912,3],[8089,3]]},"1169":{"position":[[1186,3],[1259,3],[1428,3],[1618,3],[1751,3],[1928,3]]},"1172":{"position":[[774,3],[1803,7],[1861,7],[1881,7],[1955,4]]},"1185":{"position":[[0,3]]},"1186":{"position":[[2991,3],[3064,3],[3233,3],[3423,3],[3556,3],[3733,3]]},"1187":{"position":[[3004,3],[3077,3],[3246,3],[3436,3],[3569,3],[3746,3]]},"1188":{"position":[[1275,3],[2812,7],[2903,7],[3081,4],[7730,3],[7803,3],[7972,3],[8162,3],[8295,3],[8472,3]]},"1191":{"position":[[1591,3],[1664,3],[1833,3],[2023,3],[2156,3],[2333,3]]},"1192":{"position":[[1766,3],[1839,3],[2008,3],[2198,3],[2331,3],[2508,3]]},"1193":{"position":[[1818,3],[1891,3],[2060,3],[2250,3],[2383,3],[2560,3]]},"1194":{"position":[[1458,3],[1531,3],[1700,3],[1890,3],[2023,3],[2200,3]]},"1195":{"position":[[1436,3],[1509,3],[1678,3],[1868,3],[2001,3],[2178,3]]},"1196":{"position":[[1246,3],[1319,3],[1488,3],[1678,3],[1811,3],[1988,3]]},"1197":{"position":[[2229,3],[2302,3],[2471,3],[2661,3],[2794,3],[2971,3]]},"1198":{"position":[[2239,3],[2312,3],[2481,3],[2671,3],[2804,3],[2981,3]]},"1199":{"position":[[2267,3],[2340,3],[2509,3],[2699,3],[2832,3],[3009,3]]},"1200":{"position":[[2134,3],[2207,3],[2376,3],[2566,3],[2699,3],[2876,3]]},"1201":{"position":[[1394,3],[1467,3],[1636,3],[1826,3],[1959,3],[2136,3]]},"1202":{"position":[[2536,3],[2609,3],[2778,3],[2968,3],[3101,3],[3278,3],[6933,3],[7006,3],[7175,3],[7365,3],[7498,3],[7675,3]]},"1203":{"position":[[1628,3],[1701,3],[1870,3],[2060,3],[2193,3],[2370,3]]},"1204":{"position":[[1472,3],[1545,3],[1714,3],[1904,3],[2037,3],[2214,3]]},"1205":{"position":[[2801,3],[2874,3],[3043,3],[3233,3],[3366,3],[3543,3]]},"1206":{"position":[[1272,3],[1345,3],[1514,3],[1704,3],[1837,3],[2014,3]]},"1207":{"position":[[1429,3],[1502,3],[1671,3],[1861,3],[1994,3],[2171,3]]},"1209":{"position":[[2777,3],[2850,3],[3019,3],[3209,3],[3342,3],[3519,3]]},"1215":{"position":[[159,7]]},"1217":{"position":[[10,3],[185,3],[277,3],[345,7],[544,3],[572,7],[666,3],[967,3],[2504,7],[2595,7],[2773,4],[6088,3],[6161,3],[6330,3],[6520,3],[6653,3],[6830,3]]},"1219":{"position":[[2074,3],[2147,3],[2316,3],[2506,3],[2639,3],[2816,3]]},"1221":{"position":[[0,3],[95,3],[130,3],[173,3]]},"1222":{"position":[[0,3],[1198,3],[1271,3],[1440,3],[1630,3],[1763,3],[1940,3]]},"1223":{"position":[[0,3],[1208,3],[1281,3],[1450,3],[1640,3],[1773,3],[1950,3]]},"1224":{"position":[[0,3],[106,7],[1388,3],[1461,3],[1630,3],[1820,3],[1953,3],[2130,3]]},"1226":{"position":[[6556,3],[6629,3],[6798,3],[6988,3],[7121,3],[7298,3]]},"1228":{"position":[[1076,3],[1126,3],[1176,3],[1238,8],[1464,3],[2420,3],[3048,3],[4585,7],[4676,7],[4854,4],[8169,3],[8242,3],[8411,3],[8601,3],[8734,3],[8911,3]]},"1231":{"position":[[203,3]]},"1233":{"position":[[286,7]]},"1235":{"position":[[518,3],[4037,3],[4110,3],[4279,3],[4469,3],[4602,3],[4779,3]]},"1237":{"position":[[6726,3],[6799,3],[6968,3],[7158,3],[7291,3],[7468,3]]},"1241":{"position":[[234,7]]},"1243":{"position":[[206,3],[666,8],[1030,3]]},"1244":{"position":[[51,7],[203,3]]},"1346":{"position":[[437,3],[522,3]]},"1351":{"position":[[5244,3]]},"1353":{"position":[[2443,7],[2838,7]]},"1354":{"position":[[1218,3],[2236,4],[2295,3],[2836,3]]},"1355":{"position":[[3408,7],[5100,3]]},"1359":{"position":[[1895,7]]},"1360":{"position":[[2837,4],[2966,3],[3098,3],[3603,7],[4635,4],[4711,3]]},"1362":{"position":[[6671,3],[12760,3]]},"1364":{"position":[[13460,3]]},"1367":{"position":[[6751,7],[12668,3]]},"1374":{"position":[[2641,7]]},"1382":{"position":[[11122,3]]},"1383":{"position":[[1221,3],[2422,4],[2551,3],[2683,3],[5283,3],[5867,5],[6249,7],[6667,4],[6743,3]]},"1384":{"position":[[18776,3],[20141,4]]},"1385":{"position":[[6700,3]]},"1387":{"position":[[10073,3]]},"1388":{"position":[[3530,4],[4718,4],[6089,7],[9615,3],[10356,4]]},"1392":{"position":[[682,3],[2480,4]]},"1395":{"position":[[706,4],[3356,7]]},"1398":{"position":[[2504,7],[2832,4],[6360,3],[6379,3],[6463,3],[6511,3],[6766,3]]},"1403":{"position":[[2252,4],[2381,3],[2513,3],[3018,7],[4050,4],[4126,3],[5125,3]]},"1410":{"position":[[3058,7],[5704,5]]},"1415":{"position":[[5171,3]]},"1422":{"position":[[880,7]]},"1423":{"position":[[870,7],[1909,3]]},"1427":{"position":[[4414,3]]},"1429":{"position":[[2575,3],[3952,7],[4016,3],[4386,7],[4420,3],[4541,4],[5230,3],[6278,7]]},"1439":{"position":[[3229,7],[6913,3]]},"1440":{"position":[[2763,3],[3945,7],[4009,3],[4379,7],[4413,3],[4534,4],[5224,3],[6077,7]]},"1442":{"position":[[2495,3],[3013,4]]},"1461":{"position":[[3230,3]]},"1467":{"position":[[5031,3],[6442,7],[8441,3],[8543,4],[10837,5]]},"1469":{"position":[[770,7]]},"1470":{"position":[[3344,3],[4669,4]]},"1473":{"position":[[2013,4]]},"1477":{"position":[[1914,4],[1997,4],[2067,5],[3084,3],[3159,3]]},"1478":{"position":[[2293,7],[2620,4],[3330,3]]},"1482":{"position":[[578,3],[1636,3],[1803,4],[1908,4],[2683,4]]},"1485":{"position":[[3986,3]]},"1486":{"position":[[2155,4]]}},"keywords":{}}],["run.input",{"_index":1123,"title":{},"content":{"92":{"position":[[728,10]]},"224":{"position":[[728,10]]},"1040":{"position":[[248,10]]}},"keywords":{}}],["run.metadata",{"_index":1206,"title":{},"content":{"94":{"position":[[2232,12]]},"226":{"position":[[2232,12]]}},"keywords":{}}],["run_arg",{"_index":8474,"title":{},"content":{"1478":{"position":[[863,9]]}},"keywords":{}}],["run_env",{"_index":8451,"title":{},"content":{"1473":{"position":[[1738,8],[5294,8]]},"1478":{"position":[[888,8]]}},"keywords":{}}],["run_from_project_root",{"_index":2008,"title":{},"content":{"374":{"position":[[129,21],[1243,22]]},"753":{"position":[[129,21],[1243,22]]},"1073":{"position":[[47,22]]}},"keywords":{}}],["run_test_separ",{"_index":6967,"title":{},"content":{"1367":{"position":[[5352,20],[13627,20]]},"1388":{"position":[[3192,20]]},"1410":{"position":[[1367,20]]},"1413":{"position":[[1377,20]]},"1429":{"position":[[1848,20]]},"1440":{"position":[[2049,20]]},"1470":{"position":[[2571,20]]},"1475":{"position":[[1373,20]]},"1478":{"position":[[917,20]]}},"keywords":{}}],["run_with_inplac",{"_index":8310,"title":{},"content":{"1462":{"position":[[3870,17]]},"1467":{"position":[[4305,17]]}},"keywords":{}}],["runbuck2",{"_index":5118,"title":{},"content":{"1035":{"position":[[150,8]]}},"keywords":{}}],["runinfo",{"_index":945,"title":{"386":{"position":[[0,8]]},"765":{"position":[[0,8]]}},"content":{"65":{"position":[[143,7]]},"94":{"position":[[259,8],[547,8],[1005,7]]},"98":{"position":[[301,8]]},"99":{"position":[[442,7]]},"226":{"position":[[259,8],[547,8],[1005,7]]},"230":{"position":[[301,8]]},"231":{"position":[[442,7]]},"345":{"position":[[370,7]]},"368":{"position":[[336,8],[3300,8]]},"377":{"position":[[264,8]]},"386":{"position":[[4,8],[250,7],[270,7]]},"405":{"position":[[252,8],[500,7],[1071,7]]},"417":{"position":[[261,8]]},"453":{"position":[[143,7]]},"510":{"position":[[338,7]]},"511":{"position":[[358,7]]},"722":{"position":[[1011,8]]},"747":{"position":[[336,8],[3300,8]]},"756":{"position":[[264,8]]},"765":{"position":[[4,8],[250,7],[270,7]]},"784":{"position":[[252,8],[500,7],[1071,7]]},"796":{"position":[[261,8]]},"1025":{"position":[[337,7],[528,7],[589,7]]},"1071":{"position":[[778,8]]},"1104":{"position":[[229,7],[1155,7]]},"1106":{"position":[[245,8]]}},"keywords":{}}],["runinfo(arg",{"_index":5257,"title":{},"content":{"1048":{"position":[[1253,12]]}},"keywords":{}}],["runinfocmd_arg",{"_index":6184,"title":{},"content":{"1245":{"position":[[282,15]]}},"keywords":{}}],["runnabl",{"_index":2053,"title":{},"content":{"386":{"position":[[316,8]]},"765":{"position":[[316,8]]},"1054":{"position":[[155,8]]}},"keywords":{}}],["runner",{"_index":2012,"title":{"1069":{"position":[[27,7]]}},"content":{"374":{"position":[[347,7],[692,6],[858,6],[1788,7],[1955,7]]},"753":{"position":[[347,7],[692,6],[858,6],[1788,7],[1955,7]]},"1053":{"position":[[158,7],[686,7],[953,6]]},"1054":{"position":[[1217,6]]},"1067":{"position":[[273,6],[324,6],[384,6],[512,6]]},"1069":{"position":[[90,6],[287,6],[407,7],[558,6],[828,6]]},"1071":{"position":[[25,6],[156,6],[664,7],[811,6],[894,7],[927,6],[1077,6],[1209,6],[1473,8]]},"1072":{"position":[[424,6]]},"1367":{"position":[[5383,7]]},"1399":{"position":[[2672,9]]},"1410":{"position":[[1398,7]]},"1429":{"position":[[1879,7]]},"1467":{"position":[[4333,7]]},"1470":{"position":[[3380,7]]},"1478":{"position":[[1104,6]]},"1482":{"position":[[1698,6]]}},"keywords":{}}],["runner_hta",{"_index":7650,"title":{},"content":{"1399":{"position":[[2731,13]]}},"keywords":{}}],["runningbuck2",{"_index":4064,"title":{},"content":{"870":{"position":[[1006,12]]}},"keywords":{}}],["runtim",{"_index":2163,"title":{},"content":{"406":{"position":[[254,8]]},"638":{"position":[[437,7]]},"640":{"position":[[48,7]]},"663":{"position":[[471,7]]},"693":{"position":[[6709,7]]},"785":{"position":[[254,8]]},"890":{"position":[[2429,8],[4007,7],[4538,7],[4821,8],[5042,7]]},"900":{"position":[[343,7]]},"901":{"position":[[433,7]]},"902":{"position":[[426,7]]},"1056":{"position":[[1378,7]]},"1104":{"position":[[835,7]]},"1136":{"position":[[4602,7]]},"1138":{"position":[[973,7],[1045,7],[8264,7]]},"1140":{"position":[[7190,7]]},"1142":{"position":[[2634,7]]},"1146":{"position":[[2574,7]]},"1148":{"position":[[5614,7]]},"1155":{"position":[[2670,7]]},"1156":{"position":[[2248,7]]},"1167":{"position":[[8194,7]]},"1169":{"position":[[2033,7]]},"1180":{"position":[[211,8]]},"1186":{"position":[[3838,7]]},"1187":{"position":[[3851,7]]},"1188":{"position":[[8577,7]]},"1191":{"position":[[2438,7]]},"1192":{"position":[[2613,7]]},"1193":{"position":[[2665,7]]},"1194":{"position":[[2305,7]]},"1195":{"position":[[2283,7]]},"1196":{"position":[[2093,7]]},"1197":{"position":[[3076,7]]},"1198":{"position":[[3086,7]]},"1199":{"position":[[3114,7]]},"1200":{"position":[[2981,7]]},"1201":{"position":[[2241,7]]},"1202":{"position":[[3383,7],[7780,7]]},"1203":{"position":[[2475,7]]},"1204":{"position":[[2319,7]]},"1205":{"position":[[3648,7]]},"1206":{"position":[[2119,7]]},"1207":{"position":[[2276,7]]},"1209":{"position":[[3624,7]]},"1217":{"position":[[6935,7]]},"1219":{"position":[[2921,7]]},"1222":{"position":[[2045,7]]},"1223":{"position":[[2055,7]]},"1224":{"position":[[2235,7]]},"1226":{"position":[[7403,7]]},"1228":{"position":[[9016,7]]},"1235":{"position":[[4884,7]]},"1237":{"position":[[7573,7]]},"1353":{"position":[[2818,7]]},"1367":{"position":[[14083,7]]},"1397":{"position":[[1921,7]]},"1427":{"position":[[4137,7]]},"1429":{"position":[[6249,7]]},"1439":{"position":[[6201,7],[6445,7],[6501,7]]},"1440":{"position":[[6048,7]]},"1461":{"position":[[2025,8]]},"1470":{"position":[[4776,8]]},"1477":{"position":[[2837,7]]}},"keywords":{}}],["runtime"",{"_index":8054,"title":{},"content":{"1439":{"position":[[5935,14],[6144,14]]}},"keywords":{}}],["runtime.jar",{"_index":8051,"title":{},"content":{"1439":{"position":[[5753,11]]}},"keywords":{}}],["runtime:jar:0.10.0"",{"_index":8064,"title":{},"content":{"1439":{"position":[[6587,25]]}},"keywords":{}}],["runtime_dep",{"_index":6376,"title":{},"content":{"1348":{"position":[[2383,13]]},"1355":{"position":[[1888,13]]},"1412":{"position":[[1231,13]]},"1413":{"position":[[1408,13]]},"1427":{"position":[[1448,13]]},"1429":{"position":[[1903,13]]},"1430":{"position":[[1251,13]]},"1439":{"position":[[1684,13]]},"1440":{"position":[[2080,13]]},"1470":{"position":[[2602,13]]},"1474":{"position":[[1227,13]]},"1475":{"position":[[1404,13]]}},"keywords":{}}],["runtime_env",{"_index":8311,"title":{},"content":{"1462":{"position":[[3898,12]]},"1467":{"position":[[4357,12]]}},"keywords":{}}],["runtime_paths_for_bundl",{"_index":8500,"title":{},"content":{"1481":{"position":[[919,27]]}},"keywords":{}}],["runtime_paths_for_link",{"_index":8501,"title":{},"content":{"1481":{"position":[[962,26]]}},"keywords":{}}],["runtime_run_path",{"_index":8502,"title":{},"content":{"1481":{"position":[[1004,18]]}},"keywords":{}}],["rust",{"_index":52,"title":{"957":{"position":[[0,4]]},"987":{"position":[[14,4]]}},"content":{"4":{"position":[[302,4]]},"5":{"position":[[154,4],[203,4]]},"7":{"position":[[235,4]]},"9":{"position":[[2307,5],[2492,4]]},"17":{"position":[[225,5]]},"22":{"position":[[109,5],[1676,4]]},"23":{"position":[[195,4],[260,4]]},"171":{"position":[[119,4]]},"551":{"position":[[119,4]]},"693":{"position":[[8041,4],[8146,5]]},"702":{"position":[[380,4]]},"715":{"position":[[49,5],[1542,5]]},"718":{"position":[[317,4]]},"898":{"position":[[2044,5]]},"987":{"position":[[0,4],[202,4],[523,4]]},"991":{"position":[[976,4],[1380,4]]},"1471":{"position":[[1719,4],[2658,4],[4045,4],[4797,5],[5058,4],[5693,5]]},"1472":{"position":[[1678,4],[2617,4],[3748,5],[4629,4],[5381,5],[5944,4],[6579,5]]},"1473":{"position":[[1921,4],[1974,4],[2932,4],[4366,4],[5118,5],[5508,4],[5864,5]]}},"keywords":{}}],["rust/starlark:starlark",{"_index":4514,"title":{},"content":{"921":{"position":[[804,22]]}},"keywords":{}}],["rust_binari",{"_index":4922,"title":{"1471":{"position":[[0,12]]}},"content":{"991":{"position":[[614,11],[1470,13],[2109,12]]},"1471":{"position":[[4,12],[1648,13],[5762,12]]}},"keywords":{}}],["rust_librari",{"_index":4914,"title":{"1472":{"position":[[0,13]]}},"content":{"991":{"position":[[168,12],[1451,14],[1659,13],[1847,13],[2015,13],[2708,12],[2813,12]]},"1471":{"position":[[3211,12],[5836,13],[5913,13]]},"1472":{"position":[[4,13],[1609,14],[2930,12],[3049,12],[6648,13]]},"1473":{"position":[[3245,12],[6005,13],[6082,13]]}},"keywords":{}}],["rust_proc_macro_propag",{"_index":4911,"title":{},"content":{"991":{"position":[[31,27],[1742,28],[1930,28]]}},"keywords":{}}],["rust_test",{"_index":8450,"title":{"1473":{"position":[[0,10]]}},"content":{"1473":{"position":[[4,10],[1895,11],[5933,10]]}},"keywords":{}}],["rustc",{"_index":861,"title":{},"content":{"41":{"position":[[710,5]]},"174":{"position":[[710,5]]},"1112":{"position":[[4609,5]]},"1471":{"position":[[3493,6],[3650,5],[5034,6],[5402,5]]},"1472":{"position":[[3161,6],[4077,6],[4234,5],[5535,6],[6288,5]]},"1473":{"position":[[3527,5],[3718,5],[5484,6]]}},"keywords":{}}],["rustc_flag",{"_index":8421,"title":{},"content":{"1471":{"position":[[1520,12],[4973,12]]},"1472":{"position":[[1416,12],[5474,12]]},"1473":{"position":[[1767,12],[5423,12]]}},"keywords":{}}],["rustdoc_flag",{"_index":8422,"title":{},"content":{"1471":{"position":[[1548,14]]},"1472":{"position":[[1444,14]]},"1473":{"position":[[1795,14]]}},"keywords":{}}],["rustprocmacro",{"_index":4910,"title":{},"content":{"991":{"position":[[0,13],[147,15],[385,18],[559,18],[596,15],[749,18],[827,18],[864,15]]}},"keywords":{}}],["rustprocmacromarker("p")doc_dep",{"_index":4939,"title":{},"content":{"991":{"position":[[2227,42]]}},"keywords":{}}],["rustprocmacromarker("p2")ctx.plugins[rustprocmacro",{"_index":4940,"title":{},"content":{"991":{"position":[[2294,61]]}},"keywords":{}}],["rustprocmacromarker(ctx.attrs.actu",{"_index":4928,"title":{},"content":{"991":{"position":[[1586,38]]}},"keywords":{}}],["rustup",{"_index":456,"title":{},"content":{"15":{"position":[[378,7],[420,6]]}},"keywords":{}}],["s",{"_index":2740,"title":{},"content":{"589":{"position":[[79,2]]},"590":{"position":[[247,2]]},"591":{"position":[[260,2],[363,2],[533,1],[571,1],[588,3]]},"592":{"position":[[212,2]]},"593":{"position":[[177,1]]},"594":{"position":[[236,2],[315,1]]},"595":{"position":[[143,1],[1180,3]]},"596":{"position":[[267,2]]},"597":{"position":[[145,1]]},"598":{"position":[[134,1]]},"599":{"position":[[133,1]]},"600":{"position":[[135,1]]},"601":{"position":[[140,1]]},"602":{"position":[[123,1]]},"603":{"position":[[135,1]]},"604":{"position":[[222,1]]},"605":{"position":[[118,1]]},"606":{"position":[[129,1]]},"607":{"position":[[158,1],[301,1],[341,3]]},"610":{"position":[[181,1]]},"611":{"position":[[220,2]]},"612":{"position":[[245,2]]},"613":{"position":[[168,1]]},"615":{"position":[[129,1]]},"616":{"position":[[198,2],[585,1],[735,1]]},"617":{"position":[[206,2],[250,1]]},"618":{"position":[[185,1]]},"619":{"position":[[139,1]]},"620":{"position":[[115,1]]},"621":{"position":[[118,1]]},"656":{"position":[[158,2],[164,1]]},"888":{"position":[[288,1],[579,1]]},"911":{"position":[[135,2]]},"1004":{"position":[[1252,2],[1261,3],[1317,1]]},"1127":{"position":[[750,1]]},"1136":{"position":[[967,4]]},"1148":{"position":[[1323,4]]},"1167":{"position":[[747,2]]},"1178":{"position":[[560,2]]},"1209":{"position":[[200,4]]},"1228":{"position":[[1848,2]]},"1235":{"position":[[1460,4]]},"1359":{"position":[[1888,1]]},"1405":{"position":[[3709,2]]},"1406":{"position":[[1468,2]]},"1407":{"position":[[4328,2]]},"1408":{"position":[[2707,2]]},"1410":{"position":[[5119,2]]},"1454":{"position":[[9615,1]]}},"keywords":{}}],["s.codepoint",{"_index":2748,"title":{},"content":{"590":{"position":[[129,14]]}},"keywords":{}}],["s.count(sub",{"_index":2765,"title":{},"content":{"591":{"position":[[173,13]]}},"keywords":{}}],["s.elem",{"_index":2783,"title":{},"content":{"592":{"position":[[114,9]]}},"keywords":{}}],["s.endswith(suffix",{"_index":2794,"title":{},"content":{"593":{"position":[[131,18]]}},"keywords":{}}],["s.find",{"_index":2842,"title":{},"content":{"596":{"position":[[275,7]]},"611":{"position":[[228,7]]}},"keywords":{}}],["s.find(sub",{"_index":2797,"title":{},"content":{"594":{"position":[[138,12]]}},"keywords":{}}],["s.format(*arg",{"_index":2803,"title":{},"content":{"595":{"position":[[78,15]]}},"keywords":{}}],["s.index",{"_index":2950,"title":{},"content":{"612":{"position":[[253,8]]}},"keywords":{}}],["s.index(sub",{"_index":2841,"title":{},"content":{"596":{"position":[[168,13]]}},"keywords":{}}],["s.isalnum",{"_index":2847,"title":{},"content":{"597":{"position":[[106,11]]}},"keywords":{}}],["s.isalpha",{"_index":2852,"title":{},"content":{"598":{"position":[[95,11]]}},"keywords":{}}],["s.isdigit",{"_index":2857,"title":{},"content":{"599":{"position":[[94,11]]}},"keywords":{}}],["s.islow",{"_index":2862,"title":{},"content":{"600":{"position":[[96,11]]}},"keywords":{}}],["s.isspac",{"_index":2868,"title":{},"content":{"601":{"position":[[101,11]]}},"keywords":{}}],["s.istitl",{"_index":2874,"title":{},"content":{"602":{"position":[[84,11]]}},"keywords":{}}],["s.isupp",{"_index":2882,"title":{},"content":{"603":{"position":[[96,11]]}},"keywords":{}}],["s.join(iter",{"_index":2888,"title":{},"content":{"604":{"position":[[106,16]]}},"keywords":{}}],["s.lower",{"_index":2900,"title":{},"content":{"605":{"position":[[79,9]]}},"keywords":{}}],["s.lstrip",{"_index":2905,"title":{},"content":{"606":{"position":[[89,10]]}},"keywords":{}}],["s.partition(x",{"_index":2914,"title":{},"content":{"607":{"position":[[113,13]]}},"keywords":{}}],["s.replace(old",{"_index":2932,"title":{},"content":{"610":{"position":[[127,14]]}},"keywords":{}}],["s.rfind(sub",{"_index":2943,"title":{},"content":{"611":{"position":[[146,13]]}},"keywords":{}}],["s.rindex(sub",{"_index":2949,"title":{},"content":{"612":{"position":[[170,14]]}},"keywords":{}}],["s.rpartition([x",{"_index":2956,"title":{},"content":{"613":{"position":[[114,15]]}},"keywords":{}}],["s.rsplit([sep",{"_index":2962,"title":{},"content":{"614":{"position":[[141,15]]}},"keywords":{}}],["s.rstrip",{"_index":2975,"title":{},"content":{"615":{"position":[[89,10]]}},"keywords":{}}],["s.split([sep",{"_index":2982,"title":{},"content":{"616":{"position":[[136,12]]}},"keywords":{}}],["s.splitlines([keepend",{"_index":2996,"title":{},"content":{"617":{"position":[[123,24]]}},"keywords":{}}],["s.startswith(suffix",{"_index":3007,"title":{},"content":{"618":{"position":[[137,20]]}},"keywords":{}}],["s.strip",{"_index":3014,"title":{},"content":{"619":{"position":[[100,9]]}},"keywords":{}}],["s.titl",{"_index":3018,"title":{},"content":{"620":{"position":[[76,9]]}},"keywords":{}}],["s.upper",{"_index":3023,"title":{},"content":{"621":{"position":[[79,9]]}},"keywords":{}}],["sad",{"_index":4948,"title":{},"content":{"991":{"position":[[3087,4]]}},"keywords":{}}],["safe",{"_index":2224,"title":{},"content":{"416":{"position":[[703,5]]},"417":{"position":[[933,5]]},"795":{"position":[[703,5]]},"796":{"position":[[933,5]]},"869":{"position":[[286,5]]},"889":{"position":[[609,6],[773,4]]},"898":{"position":[[590,6]]},"1403":{"position":[[6132,4]]}},"keywords":{}}],["safeareainset",{"_index":6915,"title":{},"content":{"1363":{"position":[[7578,14]]}},"keywords":{}}],["safeguard",{"_index":3831,"title":{},"content":{"834":{"position":[[478,9]]}},"keywords":{}}],["safeti",{"_index":1339,"title":{},"content":{"125":{"position":[[181,6]]},"248":{"position":[[181,6]]}},"keywords":{}}],["sake",{"_index":3633,"title":{},"content":{"704":{"position":[[126,4]]},"980":{"position":[[163,4]]}},"keywords":{}}],["same",{"_index":204,"title":{},"content":{"9":{"position":[[715,4],[1615,4],[1915,4]]},"12":{"position":[[563,4]]},"20":{"position":[[389,4],[496,4]]},"24":{"position":[[757,4]]},"81":{"position":[[342,4]]},"89":{"position":[[873,4]]},"91":{"position":[[637,4]]},"92":{"position":[[941,4]]},"94":{"position":[[3453,4]]},"213":{"position":[[342,4]]},"221":{"position":[[873,4]]},"223":{"position":[[637,4]]},"224":{"position":[[941,4]]},"226":{"position":[[3453,4]]},"234":{"position":[[104,4]]},"276":{"position":[[241,4]]},"277":{"position":[[192,4]]},"281":{"position":[[308,4]]},"282":{"position":[[256,4]]},"298":{"position":[[1570,4]]},"345":{"position":[[381,4]]},"421":{"position":[[334,4]]},"441":{"position":[[186,4]]},"451":{"position":[[194,4]]},"555":{"position":[[188,4]]},"556":{"position":[[163,4]]},"561":{"position":[[170,4]]},"580":{"position":[[108,4]]},"675":{"position":[[1240,4]]},"688":{"position":[[1213,4]]},"693":{"position":[[3631,4],[5584,4],[6010,4]]},"696":{"position":[[285,4]]},"704":{"position":[[534,4],[2168,4]]},"715":{"position":[[746,4]]},"717":{"position":[[237,4],[287,4]]},"800":{"position":[[334,4]]},"820":{"position":[[186,4]]},"830":{"position":[[194,4]]},"851":{"position":[[588,4]]},"865":{"position":[[642,4],[768,4]]},"877":{"position":[[614,4]]},"900":{"position":[[1805,4]]},"917":{"position":[[68,4]]},"919":{"position":[[2436,4]]},"937":{"position":[[1274,4],[1600,4]]},"940":{"position":[[1216,4]]},"942":{"position":[[1348,4]]},"943":{"position":[[2075,4]]},"944":{"position":[[956,4]]},"949":{"position":[[30,4],[78,4],[175,4]]},"951":{"position":[[228,4]]},"954":{"position":[[353,4],[613,4]]},"955":{"position":[[954,4]]},"956":{"position":[[152,4]]},"961":{"position":[[234,4]]},"964":{"position":[[464,4]]},"966":{"position":[[122,4]]},"988":{"position":[[622,4]]},"991":{"position":[[304,4]]},"1000":{"position":[[74,4]]},"1018":{"position":[[170,4]]},"1024":{"position":[[1223,4]]},"1025":{"position":[[162,4]]},"1040":{"position":[[1043,4]]},"1048":{"position":[[116,4],[156,4]]},"1052":{"position":[[1344,4]]},"1053":{"position":[[1161,4],[1283,4]]},"1070":{"position":[[430,4]]},"1072":{"position":[[191,4]]},"1078":{"position":[[309,4]]},"1079":{"position":[[1052,4]]},"1083":{"position":[[116,4]]},"1112":{"position":[[2630,4],[2998,4],[3024,4],[3086,4],[3392,4]]},"1114":{"position":[[795,4],[850,4],[1027,4]]},"1126":{"position":[[331,4]]},"1136":{"position":[[3716,4]]},"1138":{"position":[[2065,4],[7378,4]]},"1140":{"position":[[1554,4],[6304,4]]},"1142":{"position":[[1748,4]]},"1146":{"position":[[1688,4]]},"1148":{"position":[[237,4],[4728,4]]},"1155":{"position":[[1784,4]]},"1156":{"position":[[1362,4]]},"1167":{"position":[[2558,4],[7308,4]]},"1169":{"position":[[1147,4]]},"1186":{"position":[[2952,4]]},"1187":{"position":[[2965,4]]},"1188":{"position":[[1607,4],[7691,4]]},"1191":{"position":[[1552,4]]},"1192":{"position":[[1727,4]]},"1193":{"position":[[1779,4]]},"1194":{"position":[[1419,4]]},"1195":{"position":[[1397,4]]},"1196":{"position":[[1207,4]]},"1197":{"position":[[2190,4]]},"1198":{"position":[[2200,4]]},"1199":{"position":[[2228,4]]},"1200":{"position":[[2095,4]]},"1201":{"position":[[1355,4]]},"1202":{"position":[[2497,4],[6894,4]]},"1203":{"position":[[1589,4]]},"1204":{"position":[[1433,4]]},"1205":{"position":[[2762,4]]},"1206":{"position":[[1233,4]]},"1207":{"position":[[1390,4]]},"1209":{"position":[[2738,4]]},"1217":{"position":[[1299,4],[6049,4]]},"1219":{"position":[[2035,4]]},"1222":{"position":[[1159,4]]},"1223":{"position":[[1169,4]]},"1224":{"position":[[1349,4]]},"1226":{"position":[[1345,4],[1823,4],[4073,4],[6517,4]]},"1228":{"position":[[3380,4],[8130,4]]},"1231":{"position":[[380,4]]},"1235":{"position":[[3998,4]]},"1237":{"position":[[1515,4],[1993,4],[4243,4],[6687,4]]},"1243":{"position":[[185,5],[217,4],[266,4]]},"1282":{"position":[[455,4]]},"1283":{"position":[[469,4]]},"1284":{"position":[[448,4]]},"1313":{"position":[[455,4]]},"1314":{"position":[[469,4]]},"1315":{"position":[[448,4]]},"1341":{"position":[[455,4]]},"1342":{"position":[[469,4]]},"1343":{"position":[[448,4]]},"1351":{"position":[[3827,4]]},"1355":{"position":[[5400,4]]},"1360":{"position":[[3018,4],[4760,4]]},"1362":{"position":[[7179,4]]},"1364":{"position":[[7418,4]]},"1370":{"position":[[2077,4]]},"1373":{"position":[[6103,4],[8168,4]]},"1374":{"position":[[2029,4]]},"1382":{"position":[[10944,4]]},"1383":{"position":[[2603,4],[5164,4],[6792,4]]},"1384":{"position":[[7649,5],[10047,4],[18018,4]]},"1386":{"position":[[2743,4],[5129,4],[5235,4],[5928,4]]},"1388":{"position":[[9437,4]]},"1393":{"position":[[1225,4]]},"1394":{"position":[[674,4]]},"1395":{"position":[[3255,4]]},"1402":{"position":[[2033,4]]},"1403":{"position":[[2433,4],[4175,4],[9069,4],[9154,4]]},"1405":{"position":[[3427,4]]},"1407":{"position":[[3848,4]]},"1408":{"position":[[2467,4]]},"1410":{"position":[[4542,4],[4835,4]]},"1412":{"position":[[2727,4],[2909,4],[3001,4],[3178,4],[3232,4],[3282,4],[3365,4],[3637,4]]},"1416":{"position":[[3331,5]]},"1420":{"position":[[2468,5]]},"1429":{"position":[[3649,4],[4027,4],[4431,4],[4859,4],[5516,4]]},"1440":{"position":[[3640,4],[4020,4],[4424,4],[4941,4],[5508,4]]},"1446":{"position":[[1928,4]]},"1448":{"position":[[2414,5]]},"1449":{"position":[[2348,5]]},"1454":{"position":[[6049,5]]},"1455":{"position":[[2820,5]]},"1462":{"position":[[8634,4]]},"1467":{"position":[[10116,4]]},"1471":{"position":[[4664,4]]},"1472":{"position":[[3615,4],[5248,4]]},"1473":{"position":[[4013,4],[4058,4],[4985,4]]},"1485":{"position":[[3809,4]]},"1486":{"position":[[2818,4],[2935,4],[4884,4]]},"1487":{"position":[[1865,4],[1975,4],[2751,4],[2917,4]]}},"keywords":{}}],["sampl",{"_index":930,"title":{},"content":{"63":{"position":[[227,6]]},"166":{"position":[[227,6]]},"168":{"position":[[105,6]]},"233":{"position":[[398,6]]},"234":{"position":[[178,6]]},"240":{"position":[[340,6]]},"242":{"position":[[527,6]]},"243":{"position":[[564,6]]},"245":{"position":[[146,6]]},"246":{"position":[[145,6]]},"276":{"position":[[680,6]]},"277":{"position":[[716,6]]},"278":{"position":[[112,6]]},"279":{"position":[[250,6]]},"280":{"position":[[312,6]]},"281":{"position":[[781,6]]},"282":{"position":[[825,6]]},"283":{"position":[[233,6]]},"284":{"position":[[151,6]]},"285":{"position":[[114,6]]},"288":{"position":[[248,6]]},"289":{"position":[[268,6]]},"298":{"position":[[1191,6]]},"306":{"position":[[131,6]]},"314":{"position":[[419,6]]},"315":{"position":[[223,6]]},"316":{"position":[[243,6]]},"317":{"position":[[246,6]]},"318":{"position":[[385,6]]},"319":{"position":[[158,6]]},"326":{"position":[[399,6]]},"327":{"position":[[358,6]]},"328":{"position":[[414,6]]},"329":{"position":[[400,6]]},"330":{"position":[[355,6]]},"331":{"position":[[335,6]]},"332":{"position":[[356,6]]},"334":{"position":[[702,6]]},"335":{"position":[[630,6]]},"344":{"position":[[412,6]]},"345":{"position":[[906,6]]},"346":{"position":[[555,6]]},"347":{"position":[[451,6]]},"409":{"position":[[131,6]]},"413":{"position":[[79,6]]},"416":{"position":[[709,6]]},"417":{"position":[[939,6]]},"422":{"position":[[65,6]]},"449":{"position":[[135,6]]},"459":{"position":[[127,6]]},"460":{"position":[[116,6]]},"461":{"position":[[98,6]]},"462":{"position":[[235,6]]},"463":{"position":[[171,6]]},"467":{"position":[[280,6]]},"468":{"position":[[239,6]]},"469":{"position":[[295,6]]},"470":{"position":[[340,6]]},"471":{"position":[[236,6]]},"472":{"position":[[216,6]]},"473":{"position":[[237,6]]},"474":{"position":[[441,6]]},"475":{"position":[[392,6]]},"478":{"position":[[243,6]]},"480":{"position":[[63,6]]},"481":{"position":[[146,6]]},"483":{"position":[[66,6]]},"484":{"position":[[118,6]]},"492":{"position":[[227,6]]},"510":{"position":[[280,6]]},"511":{"position":[[300,6]]},"513":{"position":[[76,6]]},"514":{"position":[[72,6]]},"548":{"position":[[227,6]]},"788":{"position":[[131,6]]},"792":{"position":[[79,6]]},"795":{"position":[[709,6]]},"796":{"position":[[939,6]]},"801":{"position":[[65,6]]},"828":{"position":[[135,6]]},"867":{"position":[[277,7]]},"950":{"position":[[895,7]]},"1231":{"position":[[614,8],[747,8]]},"1346":{"position":[[110,6]]},"1477":{"position":[[2637,6],[2799,6]]}},"keywords":{}}],["sample.bxl",{"_index":4771,"title":{},"content":{"961":{"position":[[460,10]]}},"keywords":{}}],["sample.bxl::func1",{"_index":4777,"title":{},"content":{"961":{"position":[[664,17]]}},"keywords":{}}],["san",{"_index":4304,"title":{},"content":{"896":{"position":[[71,3],[122,3],[302,3],[341,3],[446,3],[666,3],[705,3],[810,3]]}},"keywords":{}}],["sandbox",{"_index":234,"title":{},"content":{"9":{"position":[[1356,9]]},"1383":{"position":[[6906,7]]},"1403":{"position":[[4786,7]]}},"keywords":{}}],["sanit",{"_index":3458,"title":{},"content":{"690":{"position":[[228,11]]},"937":{"position":[[163,10]]},"943":{"position":[[2644,9],[2658,9]]},"945":{"position":[[1027,9]]}},"keywords":{}}],["sanitizer_runtime_en",{"_index":6766,"title":{},"content":{"1362":{"position":[[4027,26]]},"1367":{"position":[[5407,26]]},"1389":{"position":[[3542,26]]}},"keywords":{}}],["sanitizer_runtime_fil",{"_index":7397,"title":{},"content":{"1389":{"position":[[3579,24]]}},"keywords":{}}],["sapl",{"_index":153,"title":{},"content":{"7":{"position":[[320,7]]}},"keywords":{}}],["satisfi",{"_index":4633,"title":{},"content":{"939":{"position":[[837,10]]},"1013":{"position":[[229,9]]},"1348":{"position":[[2922,9],[3048,9],[3179,9]]},"1349":{"position":[[1067,9],[1193,9],[1324,9]]},"1350":{"position":[[4038,9],[4164,9],[4295,9]]},"1351":{"position":[[1259,9],[1386,9],[1518,9]]},"1352":{"position":[[4037,9],[4163,9],[4294,9]]},"1353":{"position":[[1641,9],[1767,9],[1898,9]]},"1354":{"position":[[1479,9],[1605,9],[1736,9]]},"1355":{"position":[[2619,9],[2746,9],[2878,9]]},"1356":{"position":[[985,9],[1111,9],[1242,9]]},"1357":{"position":[[658,9],[784,9],[915,9]]},"1358":{"position":[[1379,9],[1505,9],[1636,9]]},"1359":{"position":[[1216,9],[1342,9],[1473,9]]},"1360":{"position":[[1848,9],[1975,9],[2107,9]]},"1361":{"position":[[1206,9],[1332,9],[1463,9]]},"1362":{"position":[[5571,9],[5698,9],[5830,9]]},"1363":{"position":[[3317,9],[3444,9],[3576,9]]},"1364":{"position":[[5600,9],[5727,9],[5859,9]]},"1365":{"position":[[1140,9],[1266,9],[1397,9]]},"1366":{"position":[[1347,9],[1474,9],[1606,9]]},"1367":{"position":[[6998,9],[7125,9],[7257,9]]},"1368":{"position":[[1696,9],[1822,9],[1953,9]]},"1369":{"position":[[748,9],[874,9],[1005,9]]},"1370":{"position":[[996,9],[1123,9],[1255,9]]},"1371":{"position":[[624,9],[750,9],[881,9]]},"1372":{"position":[[2262,9],[2388,9],[2519,9]]},"1373":{"position":[[3134,9],[3260,9],[3391,9]]},"1374":{"position":[[1031,9],[1158,9],[1290,9]]},"1375":{"position":[[660,9],[786,9],[917,9]]},"1376":{"position":[[616,9],[742,9],[873,9]]},"1377":{"position":[[855,9],[981,9],[1112,9]]},"1378":{"position":[[602,9],[728,9],[859,9]]},"1379":{"position":[[625,9],[751,9],[882,9]]},"1380":{"position":[[1096,9],[1222,9],[1353,9]]},"1381":{"position":[[1002,9],[1128,9],[1259,9]]},"1382":{"position":[[3483,9],[3610,9],[3742,9]]},"1383":{"position":[[1721,9],[1848,9],[1980,9]]},"1384":{"position":[[4645,9],[4772,9],[4904,9]]},"1385":{"position":[[2321,9],[2447,9],[2578,9]]},"1386":{"position":[[959,9],[1085,9],[1216,9]]},"1387":{"position":[[4590,9],[4716,9],[4847,9]]},"1388":{"position":[[3783,9],[3910,9],[4042,9]]},"1389":{"position":[[4643,9],[4769,9],[4900,9]]},"1390":{"position":[[895,9],[1021,9],[1152,9]]},"1391":{"position":[[848,9],[974,9],[1105,9]]},"1392":{"position":[[998,9],[1124,9],[1255,9]]},"1393":{"position":[[1571,9],[1698,9],[1830,9]]},"1394":{"position":[[1018,9],[1144,9],[1275,9]]},"1395":{"position":[[1028,9],[1155,9],[1287,9]]},"1396":{"position":[[824,9],[950,9],[1081,9]]},"1397":{"position":[[1005,9],[1131,9],[1262,9]]},"1398":{"position":[[1678,9],[1805,9],[1937,9]]},"1399":{"position":[[860,9],[986,9],[1117,9]]},"1400":{"position":[[729,9],[855,9],[986,9]]},"1401":{"position":[[804,9],[930,9],[1061,9]]},"1402":{"position":[[960,9],[1086,9],[1217,9]]},"1403":{"position":[[1551,9],[1678,9],[1810,9]]},"1404":{"position":[[793,9],[919,9],[1050,9]]},"1405":{"position":[[1484,9],[1610,9],[1741,9]]},"1406":{"position":[[700,9],[826,9],[957,9]]},"1407":{"position":[[1525,9],[1651,9],[1782,9]]},"1408":{"position":[[1221,9],[1347,9],[1478,9]]},"1409":{"position":[[755,9],[881,9],[1012,9]]},"1410":{"position":[[1918,9],[2045,9],[2177,9]]},"1411":{"position":[[738,9],[864,9],[995,9]]},"1412":{"position":[[1939,9],[2066,9],[2198,9]]},"1413":{"position":[[2122,9],[2248,9],[2379,9]]},"1414":{"position":[[989,9],[1115,9],[1246,9]]},"1415":{"position":[[2971,9],[3097,9],[3228,9]]},"1416":{"position":[[1623,9],[1749,9],[1880,9]]},"1417":{"position":[[1212,9],[1338,9],[1469,9]]},"1418":{"position":[[913,9],[1039,9],[1170,9]]},"1419":{"position":[[1041,9],[1167,9],[1298,9]]},"1420":{"position":[[1305,9],[1431,9],[1562,9]]},"1421":{"position":[[1280,9],[1406,9],[1537,9]]},"1422":{"position":[[1184,9],[1311,9],[1443,9]]},"1423":{"position":[[1172,9],[1298,9],[1429,9]]},"1424":{"position":[[1297,9],[1423,9],[1554,9]]},"1425":{"position":[[913,9],[1039,9],[1170,9]]},"1426":{"position":[[1257,9],[1384,9],[1516,9]]},"1427":{"position":[[2154,9],[2281,9],[2413,9]]},"1428":{"position":[[895,9],[1021,9],[1152,9]]},"1429":{"position":[[2818,9],[2945,9],[3077,9]]},"1430":{"position":[[1671,9],[1797,9],[1928,9]]},"1431":{"position":[[1015,9],[1141,9],[1272,9]]},"1432":{"position":[[1536,9],[1662,9],[1793,9]]},"1433":{"position":[[1057,9],[1183,9],[1314,9]]},"1434":{"position":[[731,9],[857,9],[988,9]]},"1435":{"position":[[695,9],[821,9],[952,9]]},"1436":{"position":[[711,9],[837,9],[968,9]]},"1437":{"position":[[781,9],[907,9],[1038,9]]},"1438":{"position":[[916,9],[1043,9],[1175,9]]},"1439":{"position":[[2440,9],[2567,9],[2699,9]]},"1440":{"position":[[3006,9],[3133,9],[3265,9]]},"1441":{"position":[[737,9],[863,9],[994,9]]},"1442":{"position":[[811,9],[938,9],[1070,9]]},"1443":{"position":[[1032,9],[1158,9],[1289,9]]},"1444":{"position":[[948,9],[1074,9],[1205,9]]},"1445":{"position":[[637,9],[763,9],[894,9]]},"1446":{"position":[[971,9],[1097,9],[1228,9]]},"1447":{"position":[[853,9],[979,9],[1110,9]]},"1448":{"position":[[1288,9],[1414,9],[1545,9]]},"1449":{"position":[[1222,9],[1348,9],[1479,9]]},"1450":{"position":[[1101,9],[1227,9],[1358,9]]},"1451":{"position":[[1101,9],[1227,9],[1358,9]]},"1452":{"position":[[647,9],[773,9],[904,9]]},"1453":{"position":[[1233,9],[1359,9],[1490,9]]},"1454":{"position":[[3599,9],[3725,9],[3856,9]]},"1455":{"position":[[1486,9],[1612,9],[1743,9]]},"1456":{"position":[[831,9],[957,9],[1088,9]]},"1457":{"position":[[890,9],[1016,9],[1147,9]]},"1458":{"position":[[1425,9],[1551,9],[1682,9]]},"1459":{"position":[[904,9],[1030,9],[1161,9]]},"1460":{"position":[[1016,9],[1142,9],[1273,9]]},"1461":{"position":[[1232,9],[1359,9],[1491,9]]},"1462":{"position":[[4612,9],[4738,9],[4869,9]]},"1463":{"position":[[738,9],[864,9],[995,9]]},"1464":{"position":[[646,9],[772,9],[903,9]]},"1465":{"position":[[1744,9],[1870,9],[2001,9]]},"1466":{"position":[[982,9],[1108,9],[1239,9]]},"1467":{"position":[[5302,9],[5429,9],[5561,9]]},"1468":{"position":[[746,9],[872,9],[1003,9]]},"1469":{"position":[[1120,9],[1247,9],[1379,9]]},"1470":{"position":[[3648,9],[3774,9],[3905,9]]},"1471":{"position":[[1983,9],[2110,9],[2242,9]]},"1472":{"position":[[1942,9],[2069,9],[2201,9]]},"1473":{"position":[[2257,9],[2384,9],[2516,9]]},"1474":{"position":[[1647,9],[1773,9],[1904,9]]},"1475":{"position":[[2118,9],[2244,9],[2375,9]]},"1476":{"position":[[723,9],[849,9],[980,9]]},"1477":{"position":[[876,9],[1003,9],[1135,9]]},"1478":{"position":[[1367,9],[1494,9],[1626,9]]},"1479":{"position":[[815,9],[941,9],[1072,9]]},"1480":{"position":[[1228,9],[1354,9],[1485,9]]},"1481":{"position":[[1761,9],[1887,9],[2018,9]]},"1482":{"position":[[835,9],[961,9],[1092,9]]},"1483":{"position":[[669,9],[795,9],[926,9]]},"1484":{"position":[[741,9],[867,9],[998,9]]},"1485":{"position":[[1001,9],[1127,9],[1258,9]]},"1486":{"position":[[1245,9],[1371,9],[1502,9]]},"1487":{"position":[[941,9],[1068,9],[1200,9]]}},"keywords":{}}],["satisfied(constraint",{"_index":5092,"title":{},"content":{"1026":{"position":[[1177,21],[1337,21]]}},"keywords":{}}],["save",{"_index":240,"title":{},"content":{"9":{"position":[[1425,6],[1587,6]]},"11":{"position":[[430,7]]},"706":{"position":[[2320,4]]}},"keywords":{}}],["scala_librari",{"_index":8452,"title":{"1474":{"position":[[0,14]]}},"content":{"1474":{"position":[[4,14]]}},"keywords":{}}],["scala_test",{"_index":8453,"title":{"1475":{"position":[[0,11]]}},"content":{"1475":{"position":[[4,11]]}},"keywords":{}}],["scalabl",{"_index":4597,"title":{},"content":{"937":{"position":[[2012,9],[3528,11]]}},"keywords":{}}],["scale",{"_index":635,"title":{},"content":{"22":{"position":[[243,5],[1760,6]]},"693":{"position":[[6873,7]]},"919":{"position":[[2674,6],[2717,6]]}},"keywords":{}}],["scan",{"_index":5400,"title":{},"content":{"1057":{"position":[[1270,7]]}},"keywords":{}}],["scenario",{"_index":2624,"title":{},"content":{"575":{"position":[[337,9]]},"704":{"position":[[0,9]]},"706":{"position":[[85,8]]},"924":{"position":[[252,9]]},"995":{"position":[[808,10]]},"1048":{"position":[[32,8]]}},"keywords":{}}],["scene",{"_index":4541,"title":{},"content":{"924":{"position":[[1492,7]]}},"keywords":{}}],["scene_kit_asset",{"_index":8454,"title":{"1476":{"position":[[0,17]]}},"content":{"1476":{"position":[[4,17]]}},"keywords":{}}],["schedul",{"_index":3808,"title":{},"content":{"724":{"position":[[1316,8]]},"1079":{"position":[[859,8],[1177,9]]},"1395":{"position":[[2170,10]]}},"keywords":{}}],["scheduled.clean_stale_period_hour",{"_index":5542,"title":{},"content":{"1079":{"position":[[795,34]]}},"keywords":{}}],["scheduler.id",{"_index":1232,"title":{},"content":{"94":{"position":[[3902,13]]},"226":{"position":[[3902,13]]}},"keywords":{}}],["schema",{"_index":5710,"title":{"1112":{"position":[[0,7]]}},"content":{"1123":{"position":[[13,7]]},"1127":{"position":[[462,6]]}},"keywords":{}}],["scheme",{"_index":4256,"title":{},"content":{"890":{"position":[[6300,7]]},"1398":{"position":[[5379,6]]}},"keywords":{}}],["scm",{"_index":4124,"title":{},"content":{"879":{"position":[[176,3]]}},"keywords":{}}],["scope",{"_index":2170,"title":{},"content":{"406":{"position":[[660,5]]},"785":{"position":[[660,5]]},"890":{"position":[[637,5],[1337,6],[2810,5],[6985,5],[7001,5]]},"947":{"position":[[1374,5]]},"970":{"position":[[253,5]]}},"keywords":{}}],["scope.th",{"_index":4254,"title":{},"content":{"890":{"position":[[5777,9]]}},"keywords":{}}],["scratch",{"_index":1239,"title":{},"content":{"94":{"position":[[4399,7]]},"226":{"position":[[4399,7]]},"1190":{"position":[[1193,8]]},"1205":{"position":[[80,8]]}},"keywords":{}}],["screen",{"_index":4456,"title":{},"content":{"910":{"position":[[412,6]]}},"keywords":{}}],["script",{"_index":34,"title":{"832":{"position":[[15,6]]},"860":{"position":[[40,7]]},"864":{"position":[[30,7]]}},"content":{"4":{"position":[[43,7],[219,6],[392,7],[402,7]]},"69":{"position":[[524,6]]},"92":{"position":[[1285,6]]},"94":{"position":[[2397,6]]},"98":{"position":[[1322,7]]},"224":{"position":[[1285,6]]},"226":{"position":[[2397,6]]},"230":{"position":[[1322,7]]},"242":{"position":[[464,7]]},"300":{"position":[[195,7]]},"305":{"position":[[165,7],[230,6]]},"334":{"position":[[569,6]]},"344":{"position":[[281,7]]},"346":{"position":[[171,7],[236,6]]},"347":{"position":[[269,7],[334,6]]},"408":{"position":[[114,6],[1071,6]]},"416":{"position":[[556,6]]},"417":{"position":[[786,6]]},"457":{"position":[[524,6]]},"474":{"position":[[308,6]]},"685":{"position":[[283,8]]},"693":{"position":[[1863,7],[2019,7]]},"787":{"position":[[114,6],[1071,6]]},"795":{"position":[[556,6]]},"796":{"position":[[786,6]]},"832":{"position":[[15,6],[406,6],[612,6],[817,6]]},"833":{"position":[[65,6],[160,7],[225,6],[371,7],[463,6]]},"834":{"position":[[371,6],[460,7]]},"837":{"position":[[392,6]]},"840":{"position":[[33,6]]},"848":{"position":[[707,7]]},"850":{"position":[[107,7]]},"855":{"position":[[160,7]]},"856":{"position":[[325,7]]},"860":{"position":[[82,6],[142,7],[444,6],[615,6]]},"864":{"position":[[1570,6]]},"869":{"position":[[24,6],[780,8]]},"870":{"position":[[753,6],[963,6],[1270,7]]},"876":{"position":[[44,7],[286,7]]},"937":{"position":[[1376,7]]},"955":{"position":[[1158,6]]},"956":{"position":[[100,7]]},"1040":{"position":[[1711,6]]},"1050":{"position":[[1018,6],[1475,6],[1899,6],[2111,6],[2323,6],[3260,6],[3405,6],[3560,7],[4230,6],[4457,6]]},"1105":{"position":[[1669,6],[1893,7],[2034,6],[2303,8],[2319,7],[2353,7]]},"1127":{"position":[[609,6]]},"1140":{"position":[[8,7],[284,6]]},"1144":{"position":[[287,6]]},"1185":{"position":[[168,6]]},"1188":{"position":[[12,6],[337,6]]},"1374":{"position":[[2672,9],[2944,6]]},"1383":{"position":[[4792,6],[4994,7],[5026,6]]},"1384":{"position":[[19706,7]]},"1395":{"position":[[2561,7]]},"1397":{"position":[[2882,8],[3080,6],[3124,6]]},"1403":{"position":[[7387,6]]},"1459":{"position":[[1801,7]]},"1477":{"position":[[640,7],[1568,6],[1814,6],[2060,6],[2246,6],[2911,6],[3039,6],[3092,7],[3163,9]]},"1478":{"position":[[1131,7],[2038,6],[2224,7],[2305,7],[2483,7],[2520,6],[3061,6],[3285,6],[3338,7]]}},"keywords":{}}],["script'",{"_index":4009,"title":{},"content":{"867":{"position":[[244,8]]}},"keywords":{}}],["script.escript",{"_index":7545,"title":{},"content":{"1395":{"position":[[3336,14]]}},"keywords":{}}],["script.metadata",{"_index":3982,"title":{},"content":{"864":{"position":[[241,16]]}},"keywords":{}}],["script.opt",{"_index":1488,"title":{},"content":{"242":{"position":[[330,15]]}},"keywords":{}}],["script.sh",{"_index":8464,"title":{},"content":{"1477":{"position":[[2958,9],[3072,9]]},"1478":{"position":[[3108,9],[3318,9],[3436,9],[3684,9]]}},"keywords":{}}],["script:main/1",{"_index":7546,"title":{},"content":{"1395":{"position":[[3393,14]]}},"keywords":{}}],["script_fail",{"_index":8485,"title":{},"content":{"1478":{"position":[[3413,14],[3588,14],[3661,14],[3827,14],[3847,14]]}},"keywords":{}}],["script_nam",{"_index":7540,"title":{},"content":{"1395":{"position":[[627,12],[3123,12],[3699,11]]}},"keywords":{}}],["script_pass",{"_index":8484,"title":{},"content":{"1478":{"position":[[3398,14],[3603,14],[3773,14]]}},"keywords":{}}],["scripts)/start",{"_index":7094,"title":{},"content":{"1374":{"position":[[3170,15]]}},"keywords":{}}],["script’",{"_index":3817,"title":{},"content":{"832":{"position":[[118,8]]}},"keywords":{}}],["scroll",{"_index":5397,"title":{},"content":{"1057":{"position":[[856,9]]}},"keywords":{}}],["sdk",{"_index":3388,"title":{},"content":{"678":{"position":[[141,3]]},"1355":{"position":[[2262,4]]},"1356":{"position":[[2432,3]]},"1362":{"position":[[8269,3]]},"1364":{"position":[[9118,3]]},"1367":{"position":[[8357,3]]}},"keywords":{}}],["sdk/extras/google/google_play_services/docs/refer",{"_index":6630,"title":{},"content":{"1358":{"position":[[3067,55]]}},"keywords":{}}],["sdk_dependencies_path",{"_index":8503,"title":{},"content":{"1481":{"position":[[1038,22]]}},"keywords":{}}],["sdk_environ",{"_index":7002,"title":{},"content":{"1368":{"position":[[1139,16]]}},"keywords":{}}],["sdk_modul",{"_index":6767,"title":{},"content":{"1362":{"position":[[4071,12]]},"1364":{"position":[[4015,12]]},"1367":{"position":[[5451,12]]},"1384":{"position":[[3712,12]]},"1387":{"position":[[3644,12]]},"1480":{"position":[[740,12]]},"1481":{"position":[[1077,12]]}},"keywords":{}}],["sdk_name",{"_index":7003,"title":{},"content":{"1368":{"position":[[1172,9]]}},"keywords":{}}],["sdk_path",{"_index":7004,"title":{},"content":{"1368":{"position":[[1191,9]]},"1481":{"position":[[1105,9]]}},"keywords":{}}],["sdkroot",{"_index":6795,"title":{},"content":{"1362":{"position":[[8176,8]]},"1364":{"position":[[9025,8]]},"1367":{"position":[[8264,8]]}},"keywords":{}}],["sdkroot/system/library/frameworks/foundation.framework",{"_index":6828,"title":{},"content":{"1362":{"position":[[14015,58]]},"1364":{"position":[[14741,58]]},"1367":{"position":[[14540,58]]}},"keywords":{}}],["sdkroot/system/library/frameworks/uikit.framework",{"_index":6827,"title":{},"content":{"1362":{"position":[[13961,53]]},"1364":{"position":[[14687,53]]},"1367":{"position":[[14599,53]]}},"keywords":{}}],["seal",{"_index":4146,"title":{},"content":{"887":{"position":[[376,6]]}},"keywords":{}}],["seamless",{"_index":71,"title":{},"content":{"4":{"position":[[575,8]]}},"keywords":{}}],["search",{"_index":2799,"title":{},"content":{"594":{"position":[[330,6]]},"596":{"position":[[110,6]]},"1088":{"position":[[322,7],[716,6]]},"1133":{"position":[[459,6]]},"1232":{"position":[[3824,6]]},"1362":{"position":[[13651,6]]},"1364":{"position":[[14351,6]]},"1373":{"position":[[7721,6],[7876,6],[8032,6]]},"1382":{"position":[[10497,6],[10652,6],[10808,6]]},"1384":{"position":[[17571,6],[17726,6],[17882,6]]},"1386":{"position":[[2931,6],[5687,6],[5841,6]]},"1387":{"position":[[6569,8]]},"1388":{"position":[[8990,6],[9145,6],[9301,6]]},"1402":{"position":[[1775,6]]},"1439":{"position":[[6771,8]]},"1461":{"position":[[2586,8]]},"1462":{"position":[[6073,8]]},"1465":{"position":[[3045,8]]},"1467":{"position":[[7185,8]]},"1468":{"position":[[1463,8]]},"1485":{"position":[[3362,6],[3517,6],[3673,6]]}},"keywords":{}}],["sec",{"_index":2489,"title":{},"content":{"514":{"position":[[56,4]]},"1228":{"position":[[1843,4]]},"1478":{"position":[[3480,3],[3527,3],[3556,3]]}},"keywords":{}}],["second",{"_index":202,"title":{"706":{"position":[[0,6]]}},"content":{"9":{"position":[[672,7],[743,8]]},"10":{"position":[[505,8]]},"89":{"position":[[906,6]]},"92":{"position":[[2042,6]]},"221":{"position":[[906,6]]},"224":{"position":[[2042,6]]},"362":{"position":[[1828,7]]},"377":{"position":[[1717,7]]},"443":{"position":[[308,6]]},"580":{"position":[[39,6]]},"584":{"position":[[299,6]]},"639":{"position":[[321,6]]},"663":{"position":[[280,6]]},"673":{"position":[[311,6],[339,6]]},"741":{"position":[[1828,7]]},"756":{"position":[[1717,7]]},"822":{"position":[[308,6]]},"901":{"position":[[242,6]]},"977":{"position":[[610,6]]},"990":{"position":[[671,6]]},"1035":{"position":[[537,6]]},"1058":{"position":[[4,6]]},"1126":{"position":[[257,6]]},"1133":{"position":[[423,6]]},"1136":{"position":[[4069,6]]},"1138":{"position":[[7731,6]]},"1140":{"position":[[6657,6]]},"1142":{"position":[[2101,6]]},"1146":{"position":[[2041,6]]},"1148":{"position":[[5081,6]]},"1155":{"position":[[2137,6]]},"1156":{"position":[[1715,6]]},"1167":{"position":[[7661,6]]},"1169":{"position":[[1500,6]]},"1186":{"position":[[3305,6]]},"1187":{"position":[[3318,6]]},"1188":{"position":[[8044,6]]},"1191":{"position":[[1905,6]]},"1192":{"position":[[2080,6]]},"1193":{"position":[[2132,6]]},"1194":{"position":[[1772,6]]},"1195":{"position":[[1750,6]]},"1196":{"position":[[1560,6]]},"1197":{"position":[[2543,6]]},"1198":{"position":[[2553,6]]},"1199":{"position":[[2581,6]]},"1200":{"position":[[2448,6]]},"1201":{"position":[[1708,6]]},"1202":{"position":[[2850,6],[7247,6]]},"1203":{"position":[[1942,6]]},"1204":{"position":[[1786,6]]},"1205":{"position":[[3115,6]]},"1206":{"position":[[1586,6]]},"1207":{"position":[[1743,6]]},"1209":{"position":[[3091,6]]},"1217":{"position":[[6402,6]]},"1219":{"position":[[2388,6]]},"1222":{"position":[[1512,6]]},"1223":{"position":[[1522,6]]},"1224":{"position":[[1702,6]]},"1226":{"position":[[6870,6]]},"1228":{"position":[[1826,8],[1835,7],[8483,6]]},"1235":{"position":[[4351,6]]},"1237":{"position":[[7040,6]]},"1362":{"position":[[11453,6],[11835,6],[12262,6]]},"1364":{"position":[[8457,6],[12420,6],[12767,6]]},"1367":{"position":[[11823,6],[12170,6]]},"1373":{"position":[[6475,6],[6856,6],[7302,6]]},"1382":{"position":[[8322,6],[8672,6],[9176,6],[9623,6],[9978,6]]},"1384":{"position":[[7599,6],[8013,6],[8643,6],[9177,6],[14667,6],[15017,6],[15521,6],[15968,6],[16323,6]]},"1385":{"position":[[4552,6],[4901,6],[5404,6],[5850,6],[6204,6]]},"1387":{"position":[[7925,6],[8274,6],[8777,6],[9223,6],[9577,6]]},"1415":{"position":[[4434,6],[4815,6]]},"1416":{"position":[[3290,6]]},"1420":{"position":[[2427,6]]},"1448":{"position":[[2373,6]]},"1449":{"position":[[2307,6]]},"1454":{"position":[[5999,6],[6412,6],[6965,6],[8135,6],[8447,6],[8767,6]]},"1455":{"position":[[2770,6]]},"1465":{"position":[[3328,6],[3739,6]]},"1467":{"position":[[9597,6]]},"1485":{"position":[[2936,6]]},"1486":{"position":[[4856,6]]}},"keywords":{}}],["secondary_dex_weight_limit",{"_index":6462,"title":{},"content":{"1350":{"position":[[3551,27]]},"1352":{"position":[[3550,27]]}},"keywords":{}}],["section",{"_index":482,"title":{"575":{"position":[[31,7]]},"585":{"position":[[0,9]]}},"content":{"17":{"position":[[5,7]]},"18":{"position":[[5,7],[1893,7]]},"41":{"position":[[817,8]]},"174":{"position":[[817,8]]},"433":{"position":[[22,8]]},"573":{"position":[[74,8],[94,7]]},"575":{"position":[[54,7],[273,9],[428,7],[510,7]]},"584":{"position":[[195,8],[282,8],[399,7],[532,9]]},"586":{"position":[[5,7]]},"587":{"position":[[169,8],[514,8],[612,7],[739,8]]},"622":{"position":[[180,7]]},"676":{"position":[[187,7]]},"693":{"position":[[6368,7]]},"716":{"position":[[183,9]]},"812":{"position":[[22,8]]},"839":{"position":[[174,8]]},"864":{"position":[[838,7]]},"940":{"position":[[374,9]]},"943":{"position":[[255,7]]},"944":{"position":[[246,9]]},"1068":{"position":[[220,9]]},"1093":{"position":[[106,7],[491,7]]},"1098":{"position":[[304,7],[770,7]]},"1126":{"position":[[624,8]]},"1150":{"position":[[202,7]]},"1193":{"position":[[132,9],[231,8],[273,8]]},"1355":{"position":[[6727,7],[7566,7]]},"1362":{"position":[[5268,8]]},"1364":{"position":[[5297,8]]},"1395":{"position":[[3058,8]]},"1427":{"position":[[5926,7],[7055,7]]},"1465":{"position":[[3504,7],[3913,7]]},"1467":{"position":[[9773,7]]},"1469":{"position":[[2310,7]]}},"keywords":{}}],["section.key",{"_index":6012,"title":{},"content":{"1193":{"position":[[145,14]]}},"keywords":{}}],["section/key",{"_index":6011,"title":{},"content":{"1193":{"position":[[102,11]]}},"keywords":{}}],["sectionpreced",{"_index":2678,"title":{},"content":{"581":{"position":[[969,17]]}},"keywords":{}}],["see",{"_index":319,"title":{"676":{"position":[[0,3]]},"697":{"position":[[0,3]]},"1248":{"position":[[9,3]]}},"content":{"10":{"position":[[332,6]]},"17":{"position":[[126,6]]},"18":{"position":[[776,3],[1671,3]]},"67":{"position":[[183,3]]},"71":{"position":[[111,3]]},"81":{"position":[[412,3]]},"94":{"position":[[2712,3]]},"97":{"position":[[168,3]]},"213":{"position":[[412,3]]},"226":{"position":[[2712,3]]},"229":{"position":[[168,3]]},"455":{"position":[[183,3]]},"494":{"position":[[111,3]]},"566":{"position":[[527,3]]},"581":{"position":[[961,3]]},"676":{"position":[[171,3],[407,3]]},"680":{"position":[[196,3],[544,3]]},"683":{"position":[[371,3]]},"690":{"position":[[32,3]]},"693":{"position":[[189,3],[977,3],[3113,4],[4190,3],[9191,3]]},"697":{"position":[[104,3]]},"700":{"position":[[150,3]]},"715":{"position":[[1843,4]]},"840":{"position":[[1206,4],[1548,3]]},"845":{"position":[[367,4]]},"847":{"position":[[438,4]]},"864":{"position":[[867,3]]},"940":{"position":[[338,3]]},"950":{"position":[[886,3]]},"990":{"position":[[1424,3]]},"991":{"position":[[218,3],[663,3],[2193,4],[2486,4],[2760,3]]},"1008":{"position":[[17,3]]},"1012":{"position":[[461,4]]},"1016":{"position":[[176,3]]},"1024":{"position":[[322,4]]},"1026":{"position":[[128,4]]},"1052":{"position":[[1577,4]]},"1061":{"position":[[87,4]]},"1067":{"position":[[562,3]]},"1071":{"position":[[940,3]]},"1102":{"position":[[142,3],[260,3],[949,4]]},"1104":{"position":[[1258,3],[2220,4]]},"1120":{"position":[[86,3]]},"1126":{"position":[[620,3]]},"1127":{"position":[[147,3]]},"1131":{"position":[[620,3]]},"1136":{"position":[[2414,4]]},"1138":{"position":[[5045,3],[5513,4]]},"1140":{"position":[[4534,3],[5002,4]]},"1142":{"position":[[706,4]]},"1144":{"position":[[354,4]]},"1146":{"position":[[386,4]]},"1148":{"position":[[2863,4]]},"1150":{"position":[[278,3],[589,4]]},"1152":{"position":[[287,4]]},"1154":{"position":[[442,4]]},"1155":{"position":[[742,4]]},"1156":{"position":[[320,4]]},"1157":{"position":[[225,4]]},"1158":{"position":[[219,4]]},"1159":{"position":[[219,4]]},"1161":{"position":[[483,4]]},"1163":{"position":[[281,4]]},"1165":{"position":[[110,4]]},"1167":{"position":[[5538,3],[6006,4]]},"1169":{"position":[[105,4]]},"1171":{"position":[[935,4]]},"1172":{"position":[[2320,4]]},"1173":{"position":[[1007,4]]},"1174":{"position":[[435,4]]},"1175":{"position":[[431,4]]},"1176":{"position":[[600,4]]},"1177":{"position":[[521,4]]},"1178":{"position":[[838,4]]},"1179":{"position":[[635,4]]},"1180":{"position":[[906,4]]},"1181":{"position":[[695,4]]},"1182":{"position":[[469,4]]},"1183":{"position":[[424,4]]},"1185":{"position":[[269,4]]},"1186":{"position":[[1087,4]]},"1187":{"position":[[1100,4]]},"1188":{"position":[[4587,3],[5826,4]]},"1190":{"position":[[1600,4]]},"1191":{"position":[[510,4]]},"1192":{"position":[[425,4]]},"1193":{"position":[[737,4]]},"1194":{"position":[[377,4]]},"1195":{"position":[[355,4]]},"1196":{"position":[[165,4]]},"1197":{"position":[[325,4]]},"1198":{"position":[[335,4]]},"1199":{"position":[[363,4]]},"1200":{"position":[[230,4]]},"1201":{"position":[[313,4]]},"1202":{"position":[[377,4],[1455,4],[5852,4]]},"1203":{"position":[[287,4]]},"1204":{"position":[[391,4],[4613,4],[5543,4],[6445,4],[7431,4],[8385,4],[9332,4],[10262,4]]},"1205":{"position":[[1460,4]]},"1206":{"position":[[191,4]]},"1207":{"position":[[348,4]]},"1209":{"position":[[1696,4]]},"1211":{"position":[[340,4]]},"1213":{"position":[[111,4]]},"1215":{"position":[[195,4]]},"1217":{"position":[[4279,3],[4747,4]]},"1219":{"position":[[578,3],[993,4]]},"1221":{"position":[[314,4]]},"1222":{"position":[[117,4]]},"1223":{"position":[[127,4]]},"1224":{"position":[[307,4]]},"1226":{"position":[[873,3],[5215,4]]},"1228":{"position":[[6360,3],[6828,4]]},"1231":{"position":[[698,3]]},"1235":{"position":[[2956,4]]},"1237":{"position":[[1043,3],[5385,4]]},"1244":{"position":[[321,3]]},"1245":{"position":[[7,3]]},"1248":{"position":[[3,3]]},"1249":{"position":[[15,3]]},"1348":{"position":[[3564,3],[4438,3]]},"1351":{"position":[[3073,4]]},"1358":{"position":[[2818,3]]},"1362":{"position":[[5260,3],[8801,3],[11531,3],[12456,3],[12814,3],[13702,3]]},"1363":{"position":[[5034,4]]},"1364":{"position":[[5289,3],[9412,3],[9915,3],[12498,3],[12961,3],[13514,3],[14402,3]]},"1367":{"position":[[8889,3],[9950,4],[11901,3],[12364,3],[12722,3]]},"1373":{"position":[[5115,3],[6553,3],[7384,3]]},"1382":{"position":[[5571,3],[6185,3],[8400,3],[8879,3],[9705,3],[10172,3],[11176,3]]},"1384":{"position":[[6756,3],[7733,3],[8267,3],[9350,3],[10518,3],[11132,3],[14745,3],[15224,3],[16050,3],[16517,3],[18830,3]]},"1385":{"position":[[3485,3],[4098,3],[4630,3],[5108,3],[5932,3],[6398,3],[6754,3]]},"1386":{"position":[[3068,3]]},"1387":{"position":[[5818,3],[6431,3],[8003,3],[8481,3],[9305,3],[9771,3],[10127,3]]},"1388":{"position":[[7054,3],[9669,3]]},"1393":{"position":[[8806,3],[8908,3]]},"1397":{"position":[[3063,4],[3100,4]]},"1399":{"position":[[2045,3]]},"1415":{"position":[[2581,4],[4512,3]]},"1416":{"position":[[3406,3]]},"1420":{"position":[[2543,3]]},"1423":{"position":[[812,4]]},"1442":{"position":[[2549,3]]},"1448":{"position":[[2016,4],[2489,3],[2632,4]]},"1449":{"position":[[1950,4],[2423,3],[2566,4]]},"1454":{"position":[[5460,3],[6133,3],[6666,3],[7138,3],[7422,3],[8175,3],[8487,3],[8807,3]]},"1455":{"position":[[2904,3]]},"1469":{"position":[[824,3],[2294,3]]},"1471":{"position":[[3130,4]]},"1472":{"position":[[2849,4]]},"1473":{"position":[[3164,4]]},"1477":{"position":[[3104,3]]},"1478":{"position":[[3350,3]]},"1485":{"position":[[1853,3],[2466,3],[3143,3],[4040,3]]},"1486":{"position":[[2810,3]]},"1487":{"position":[[2803,3]]}},"keywords":{}}],["seebenefit",{"_index":782,"title":{},"content":{"23":{"position":[[3506,11]]}},"keywords":{}}],["seeconvert",{"_index":3713,"title":{},"content":{"711":{"position":[[653,10]]},"1044":{"position":[[867,10]]}},"keywords":{}}],["seedepend",{"_index":3574,"title":{},"content":{"693":{"position":[[6598,16]]}},"keywords":{}}],["seefind",{"_index":6172,"title":{},"content":{"1242":{"position":[[17,10]]}},"keywords":{}}],["seehttps://buck2.build/docs/rule_authors/dynamic_depend",{"_index":1150,"title":{},"content":{"92":{"position":[[1937,63]]},"224":{"position":[[1937,63]]}},"keywords":{}}],["seeloc",{"_index":5484,"title":{},"content":{"1069":{"position":[[860,8]]}},"keywords":{}}],["seem",{"_index":3626,"title":{},"content":{"703":{"position":[[126,4]]},"1233":{"position":[[32,5]]},"1241":{"position":[[9,5]]}},"keywords":{}}],["seemake_comp_db.pi",{"_index":5701,"title":{},"content":{"1105":{"position":[[2498,19]]}},"keywords":{}}],["seen",{"_index":178,"title":{},"content":{"9":{"position":[[232,4]]},"841":{"position":[[338,4]]},"892":{"position":[[1254,4]]},"980":{"position":[[959,4],[1494,4]]},"1057":{"position":[[979,4]]},"1058":{"position":[[799,4]]},"1107":{"position":[[300,4]]},"1243":{"position":[[715,4]]}},"keywords":{}}],["seeprovid",{"_index":3575,"title":{},"content":{"693":{"position":[[6637,13]]}},"keywords":{}}],["seerun",{"_index":3899,"title":{},"content":{"847":{"position":[[469,10]]}},"keywords":{}}],["seetest",{"_index":5320,"title":{},"content":{"1053":{"position":[[49,7]]}},"keywords":{}}],["seethi",{"_index":6196,"title":{},"content":{"1249":{"position":[[126,7]]}},"keywords":{}}],["seeverbatim",{"_index":5479,"title":{},"content":{"1069":{"position":[[313,11]]}},"keywords":{}}],["seevis",{"_index":3604,"title":{},"content":{"693":{"position":[[10341,14]]}},"keywords":{}}],["seewhat",{"_index":3905,"title":{},"content":{"848":{"position":[[794,7]]},"861":{"position":[[745,7]]}},"keywords":{}}],["segreg",{"_index":4331,"title":{},"content":{"898":{"position":[[750,10]]}},"keywords":{}}],["select",{"_index":516,"title":{"387":{"position":[[0,7]]},"439":{"position":[[0,7]]},"766":{"position":[[0,7]]},"818":{"position":[[0,7]]},"1012":{"position":[[0,10]]},"1013":{"position":[[0,10]]}},"content":{"17":{"position":[[975,6]]},"23":{"position":[[3195,7]]},"94":{"position":[[2798,9],[2852,8],[3255,8]]},"139":{"position":[[130,7]]},"148":{"position":[[320,6]]},"226":{"position":[[2798,9],[2852,8],[3255,8]]},"262":{"position":[[130,7]]},"271":{"position":[[320,6]]},"387":{"position":[[0,7]]},"429":{"position":[[625,7]]},"440":{"position":[[69,7]]},"442":{"position":[[59,6],[137,6]]},"481":{"position":[[82,8]]},"690":{"position":[[3063,8]]},"693":{"position":[[3460,7]]},"720":{"position":[[137,7]]},"766":{"position":[[0,7]]},"808":{"position":[[625,7]]},"819":{"position":[[69,7]]},"821":{"position":[[59,6],[137,6]]},"917":{"position":[[311,6]]},"919":{"position":[[1737,7],[2048,7]]},"938":{"position":[[660,8],[676,8],[788,8],[1019,8]]},"942":{"position":[[429,8]]},"944":{"position":[[390,9],[589,7],[653,7],[1823,6],[1849,6],[1967,6],[2081,6]]},"962":{"position":[[419,7],[570,7]]},"994":{"position":[[323,6]]},"1012":{"position":[[43,8],[80,13],[212,9],[254,12]]},"1013":{"position":[[10,10],[219,6],[277,8],[302,6]]},"1014":{"position":[[699,11]]},"1017":{"position":[[635,11]]},"1019":{"position":[[264,11]]},"1024":{"position":[[134,6]]},"1053":{"position":[[471,6],[1015,8]]},"1104":{"position":[[1129,7],[1195,7]]},"1127":{"position":[[822,8]]},"1148":{"position":[[203,9]]},"1171":{"position":[[144,8],[217,8],[265,8],[319,8],[381,8],[506,8],[583,8],[646,8],[728,8]]},"1172":{"position":[[33,8]]},"1173":{"position":[[41,8]]},"1174":{"position":[[23,8]]},"1175":{"position":[[36,8]]},"1176":{"position":[[38,8]]},"1178":{"position":[[30,8]]},"1179":{"position":[[43,8]]},"1180":{"position":[[29,8]]},"1182":{"position":[[30,8]]},"1190":{"position":[[1006,6]]},"1203":{"position":[[15,6]]},"1217":{"position":[[18,8]]},"1226":{"position":[[1432,7]]},"1235":{"position":[[461,10],[933,8]]},"1237":{"position":[[1602,7]]},"1280":{"position":[[180,9]]},"1311":{"position":[[180,9]]},"1339":{"position":[[180,9]]},"1363":{"position":[[6269,8],[6330,8],[6683,8],[6744,8]]},"1367":{"position":[[14215,9],[14334,9]]},"1462":{"position":[[6613,8]]},"1467":{"position":[[7728,8]]}},"keywords":{}}],["select()`",{"_index":6162,"title":{},"content":{"1235":{"position":[[195,11],[978,11]]}},"keywords":{}}],["select()invoc",{"_index":5051,"title":{},"content":{"1011":{"position":[[390,19]]}},"keywords":{}}],["select(d",{"_index":2357,"title":{},"content":{"439":{"position":[[4,9]]},"818":{"position":[[4,9]]}},"keywords":{}}],["select({"//:a"",{"_index":6164,"title":{},"content":{"1235":{"position":[[1024,25]]}},"keywords":{}}],["select({"c"",{"_index":2367,"title":{},"content":{"441":{"position":[[288,22],[347,22]]},"442":{"position":[[186,22],[271,22],[352,22]]},"820":{"position":[[288,22],[347,22]]},"821":{"position":[[186,22],[271,22],[352,22]]}},"keywords":{}}],["select_equal_intern",{"_index":2359,"title":{"440":{"position":[[0,22]]},"819":{"position":[[0,22]]}},"content":{},"keywords":{}}],["select_equal_internal(left",{"_index":2360,"title":{},"content":{"440":{"position":[[4,27]]},"819":{"position":[[4,27]]}},"keywords":{}}],["select_map",{"_index":2361,"title":{"441":{"position":[[0,11]]},"820":{"position":[[0,11]]}},"content":{},"keywords":{}}],["select_map([1",{"_index":2366,"title":{},"content":{"441":{"position":[[268,14]]},"820":{"position":[[268,14]]}},"keywords":{}}],["select_map(d",{"_index":2362,"title":{},"content":{"441":{"position":[[4,13]]},"820":{"position":[[4,13]]}},"keywords":{}}],["select_test",{"_index":2369,"title":{"442":{"position":[[0,12]]},"821":{"position":[[0,12]]}},"content":{},"keywords":{}}],["select_test([1",{"_index":2371,"title":{},"content":{"442":{"position":[[168,15],[250,15],[334,15]]},"821":{"position":[[168,15],[250,15],[334,15]]}},"keywords":{}}],["select_test(d",{"_index":2370,"title":{},"content":{"442":{"position":[[4,14]]},"821":{"position":[[4,14]]}},"keywords":{}}],["selective_debug",{"_index":6866,"title":{},"content":{"1363":{"position":[[2422,20]]}},"keywords":{}}],["selector",{"_index":2358,"title":{},"content":{"439":{"position":[[23,8]]},"441":{"position":[[35,9],[65,8],[163,8]]},"818":{"position":[[23,8]]},"820":{"position":[[35,9],[65,8],[163,8]]}},"keywords":{}}],["self",{"_index":3662,"title":{},"content":{"706":{"position":[[413,4]]},"1152":{"position":[[102,4]]}},"keywords":{}}],["semant",{"_index":6656,"title":{},"content":{"1360":{"position":[[3889,9]]},"1384":{"position":[[10012,9]]},"1393":{"position":[[9360,9]]},"1403":{"position":[[3304,9]]}},"keywords":{}}],["semicolon",{"_index":2650,"title":{},"content":{"579":{"position":[[19,9]]}},"keywords":{}}],["send",{"_index":673,"title":{},"content":{"22":{"position":[[1395,4]]},"23":{"position":[[591,4]]},"715":{"position":[[1648,5],[2069,4]]},"1072":{"position":[[491,5]]},"1219":{"position":[[149,4]]},"1226":{"position":[[4905,7]]},"1237":{"position":[[5075,7]]}},"keywords":{}}],["sens",{"_index":1466,"title":{},"content":{"236":{"position":[[497,5]]},"237":{"position":[[584,5]]},"1072":{"position":[[249,5]]},"1082":{"position":[[435,5]]},"1286":{"position":[[184,5]]},"1287":{"position":[[97,5]]},"1393":{"position":[[8217,5]]},"1471":{"position":[[4329,5]]},"1472":{"position":[[4913,5]]},"1473":{"position":[[4650,5]]}},"keywords":{}}],["sensit",{"_index":718,"title":{},"content":{"23":{"position":[[1184,9]]},"418":{"position":[[1187,9]]},"797":{"position":[[1187,9]]},"1462":{"position":[[8541,9]]},"1467":{"position":[[10023,9]]},"1471":{"position":[[4053,9]]},"1472":{"position":[[4637,9]]},"1473":{"position":[[4374,9]]}},"keywords":{}}],["sent",{"_index":2037,"title":{},"content":{"377":{"position":[[1006,4]]},"693":{"position":[[586,4]]},"756":{"position":[[1006,4]]},"1052":{"position":[[993,4]]},"1053":{"position":[[1535,4]]},"1136":{"position":[[6736,4]]},"1138":{"position":[[10398,4]]},"1140":{"position":[[9324,4]]},"1142":{"position":[[4768,4]]},"1144":{"position":[[1096,4]]},"1146":{"position":[[4708,4]]},"1148":{"position":[[8299,4]]},"1150":{"position":[[1331,4]]},"1152":{"position":[[1029,4]]},"1154":{"position":[[1184,4]]},"1155":{"position":[[4804,4]]},"1156":{"position":[[4382,4]]},"1157":{"position":[[967,4]]},"1158":{"position":[[961,4]]},"1159":{"position":[[961,4]]},"1161":{"position":[[1956,4]]},"1163":{"position":[[1342,4]]},"1165":{"position":[[1171,4]]},"1167":{"position":[[10328,4]]},"1169":{"position":[[3436,4]]},"1171":{"position":[[1677,4]]},"1172":{"position":[[3062,4]]},"1173":{"position":[[1749,4]]},"1174":{"position":[[1177,4]]},"1175":{"position":[[1173,4]]},"1176":{"position":[[1342,4]]},"1177":{"position":[[1263,4]]},"1178":{"position":[[1580,4]]},"1179":{"position":[[1377,4]]},"1180":{"position":[[1648,4]]},"1181":{"position":[[2168,4]]},"1182":{"position":[[1211,4]]},"1183":{"position":[[1166,4]]},"1185":{"position":[[1011,4]]},"1186":{"position":[[5972,4]]},"1187":{"position":[[5985,4]]},"1188":{"position":[[10711,4]]},"1190":{"position":[[2342,4]]},"1191":{"position":[[4572,4]]},"1192":{"position":[[4747,4]]},"1193":{"position":[[4799,4]]},"1194":{"position":[[4439,4]]},"1195":{"position":[[4417,4]]},"1196":{"position":[[4227,4]]},"1197":{"position":[[5210,4]]},"1198":{"position":[[5220,4]]},"1199":{"position":[[5248,4]]},"1200":{"position":[[5115,4]]},"1201":{"position":[[4375,4]]},"1202":{"position":[[1119,4],[5517,4],[9914,4]]},"1203":{"position":[[4609,4]]},"1204":{"position":[[4453,4],[5355,4],[6285,4],[7187,4],[8173,4],[9127,4],[10074,4],[11004,4]]},"1205":{"position":[[5782,4]]},"1206":{"position":[[4481,4]]},"1207":{"position":[[4410,4]]},"1209":{"position":[[5758,4]]},"1211":{"position":[[1082,4]]},"1213":{"position":[[853,4]]},"1215":{"position":[[937,4]]},"1217":{"position":[[9069,4]]},"1219":{"position":[[736,5],[4324,4]]},"1221":{"position":[[1056,4]]},"1222":{"position":[[4195,4]]},"1223":{"position":[[4205,4]]},"1224":{"position":[[192,4],[3638,4]]},"1226":{"position":[[9537,4]]},"1228":{"position":[[11150,4]]},"1235":{"position":[[7018,4]]},"1237":{"position":[[9707,4]]},"1478":{"position":[[2657,4]]}},"keywords":{}}],["sentinel",{"_index":4270,"title":{},"content":{"892":{"position":[[671,8],[703,8]]}},"keywords":{}}],["sep",{"_index":1856,"title":{},"content":{"346":{"position":[[34,4]]},"614":{"position":[[19,4]]},"616":{"position":[[18,4],[250,4],[282,3],[442,3],[483,3]]}},"keywords":{}}],["separ",{"_index":1261,"title":{},"content":{"98":{"position":[[1402,9]]},"230":{"position":[[1402,9]]},"346":{"position":[[274,9]]},"362":{"position":[[2324,10]]},"405":{"position":[[1776,8]]},"577":{"position":[[163,8],[359,9],[476,9],[516,9],[640,9],[815,10]]},"604":{"position":[[95,10]]},"616":{"position":[[415,9]]},"702":{"position":[[349,9]]},"741":{"position":[[2324,10]]},"784":{"position":[[1776,8]]},"832":{"position":[[682,10],[793,10]]},"834":{"position":[[767,10]]},"890":{"position":[[6876,8]]},"920":{"position":[[210,8]]},"942":{"position":[[88,9],[1729,8]]},"1132":{"position":[[250,11]]},"1136":{"position":[[1893,9],[5250,9]]},"1138":{"position":[[1695,9],[1945,9],[5621,9],[8912,9]]},"1140":{"position":[[1184,9],[1434,9],[7838,9]]},"1142":{"position":[[3282,9]]},"1146":{"position":[[3222,9]]},"1148":{"position":[[2249,9],[2971,9],[6262,9]]},"1155":{"position":[[3318,9]]},"1156":{"position":[[2896,9]]},"1161":{"position":[[789,9]]},"1167":{"position":[[2188,9],[2438,9],[8842,9]]},"1178":{"position":[[71,9]]},"1181":{"position":[[1001,9]]},"1186":{"position":[[1195,9],[4486,9]]},"1187":{"position":[[1208,9],[4499,9]]},"1188":{"position":[[1237,9],[1487,9],[5934,9],[9225,9]]},"1191":{"position":[[3086,9]]},"1192":{"position":[[3261,9]]},"1193":{"position":[[3313,9]]},"1194":{"position":[[2953,9]]},"1195":{"position":[[2931,9]]},"1196":{"position":[[2741,9]]},"1197":{"position":[[433,9],[3724,9]]},"1198":{"position":[[443,9],[3734,9]]},"1199":{"position":[[471,9],[3762,9]]},"1200":{"position":[[338,9],[3629,9]]},"1201":{"position":[[2889,9]]},"1202":{"position":[[4031,9],[8428,9]]},"1203":{"position":[[3123,9]]},"1204":{"position":[[2967,9]]},"1205":{"position":[[1373,9],[4296,9]]},"1206":{"position":[[2767,9]]},"1207":{"position":[[2924,9]]},"1209":{"position":[[1126,9],[4272,9]]},"1217":{"position":[[929,9],[1179,9],[7583,9]]},"1222":{"position":[[2693,9]]},"1223":{"position":[[2703,9]]},"1226":{"position":[[3066,9],[8051,9]]},"1228":{"position":[[1724,10],[3010,9],[3260,9],[9664,9]]},"1235":{"position":[[2386,9],[5532,9]]},"1237":{"position":[[3236,9],[8221,9]]},"1345":{"position":[[902,9]]},"1360":{"position":[[1391,9]]},"1386":{"position":[[4487,8]]},"1427":{"position":[[7491,8]]},"1439":{"position":[[8317,8]]},"1462":{"position":[[6695,8],[9140,10]]},"1467":{"position":[[7810,8]]}},"keywords":{}}],["seq",{"_index":3163,"title":{},"content":{"643":{"position":[[42,4]]},"653":{"position":[[31,4]]}},"keywords":{}}],["sequenc",{"_index":2545,"title":{},"content":{"560":{"position":[[144,8],[424,8]]},"576":{"position":[[91,9],[180,9]]},"590":{"position":[[185,8],[518,9]]},"592":{"position":[[165,8],[241,8]]},"595":{"position":[[902,8]]},"616":{"position":[[688,8]]},"636":{"position":[[262,9]]},"639":{"position":[[251,8],[298,9]]},"651":{"position":[[50,8],[161,9]]},"652":{"position":[[203,8]]},"654":{"position":[[55,9],[117,8],[206,8]]},"655":{"position":[[55,9],[114,8],[203,8]]},"662":{"position":[[467,8]]},"665":{"position":[[80,8],[160,8]]},"666":{"position":[[93,8],[171,8]]},"673":{"position":[[190,9],[296,10],[369,10],[452,10]]},"956":{"position":[[201,8]]},"1386":{"position":[[5668,8]]}},"keywords":{}}],["sequenti",{"_index":3793,"title":{},"content":{"715":{"position":[[2013,11]]},"937":{"position":[[1664,13]]},"1000":{"position":[[206,12],[352,12]]},"1486":{"position":[[5370,11]]}},"keywords":{}}],["seri",{"_index":668,"title":{},"content":{"22":{"position":[[1156,6]]},"23":{"position":[[2454,6]]},"82":{"position":[[178,6]]},"118":{"position":[[102,6]]},"214":{"position":[[178,6]]},"534":{"position":[[102,6]]},"890":{"position":[[266,6]]},"956":{"position":[[40,6]]},"1011":{"position":[[284,6]]},"1172":{"position":[[83,6]]},"1219":{"position":[[325,6]]},"1448":{"position":[[2767,7]]},"1449":{"position":[[2701,7]]}},"keywords":{}}],["serial",{"_index":5974,"title":{},"content":{"1167":{"position":[[752,6],[819,6]]},"1439":{"position":[[5663,13],[5739,13],[5921,13],[6045,13],[6130,13],[6187,13],[6431,13],[6487,13],[6573,13]]}},"keywords":{}}],["serializ",{"_index":4471,"title":{},"content":{"915":{"position":[[157,12]]},"917":{"position":[[135,12]]},"1064":{"position":[[415,12]]}},"keywords":{}}],["serialize_debugging_opt",{"_index":6768,"title":{},"content":{"1362":{"position":[[4099,28]]},"1364":{"position":[[4043,28]]},"1367":{"position":[[5479,28]]},"1480":{"position":[[768,28]]}},"keywords":{}}],["serv",{"_index":4039,"title":{},"content":{"867":{"position":[[1780,6],[2032,6]]},"1416":{"position":[[2971,7]]},"1443":{"position":[[1736,6]]},"1462":{"position":[[6853,6],[7023,5]]},"1467":{"position":[[7992,5]]}},"keywords":{}}],["server",{"_index":674,"title":{"1212":{"position":[[0,6]]},"1213":{"position":[[5,7]]}},"content":{"22":{"position":[[1427,7]]},"446":{"position":[[222,7]]},"825":{"position":[[222,7]]},"873":{"position":[[139,6]]},"937":{"position":[[2773,7],[4662,7]]},"1169":{"position":[[13,6]]},"1213":{"position":[[35,6],[63,6]]},"1221":{"position":[[213,6]]},"1224":{"position":[[40,6],[99,6]]},"1247":{"position":[[334,7]]}},"keywords":{}}],["server.js"",{"_index":7095,"title":{},"content":{"1374":{"position":[[3186,16]]}},"keywords":{}}],["servic",{"_index":3561,"title":{},"content":{"693":{"position":[[5002,7]]},"1138":{"position":[[2939,7],[3663,8]]},"1140":{"position":[[2428,7],[3152,8]]},"1167":{"position":[[3432,7],[4156,8]]},"1188":{"position":[[2481,7],[3205,8]]},"1217":{"position":[[2173,7],[2897,8]]},"1228":{"position":[[4254,7],[4978,8]]},"1358":{"position":[[2938,10],[2961,8],[3002,8],[3198,8],[3277,9]]}},"keywords":{}}],["servlet",{"_index":6560,"title":{},"content":{"1355":{"position":[[5203,7]]},"1427":{"position":[[4517,7]]},"1439":{"position":[[7016,7]]}},"keywords":{}}],["set",{"_index":50,"title":{"858":{"position":[[0,3]]},"1080":{"position":[[11,4]]},"1082":{"position":[[30,4]]},"1083":{"position":[[30,4]]},"1086":{"position":[[11,3]]},"1087":{"position":[[11,3]]},"1093":{"position":[[0,7]]},"1269":{"position":[[22,4]]},"1300":{"position":[[22,4]]},"1328":{"position":[[22,4]]}},"content":{"4":{"position":[[275,3]]},"15":{"position":[[11,3]]},"18":{"position":[[249,3]]},"22":{"position":[[1413,3]]},"23":{"position":[[2183,4]]},"74":{"position":[[160,3]]},"89":{"position":[[1171,3]]},"94":{"position":[[1557,3],[1697,3],[2063,3],[2572,3],[3376,7],[3708,4]]},"97":{"position":[[150,4]]},"98":{"position":[[653,3],[969,4]]},"99":{"position":[[995,4],[1377,4]]},"118":{"position":[[46,3]]},"221":{"position":[[1171,3]]},"226":{"position":[[1557,3],[1697,3],[2063,3],[2572,3],[3376,7],[3708,4]]},"229":{"position":[[150,4]]},"230":{"position":[[653,3],[969,4]]},"231":{"position":[[995,4],[1377,4]]},"298":{"position":[[1575,3],[1646,3]]},"303":{"position":[[82,3]]},"327":{"position":[[353,4]]},"341":{"position":[[65,3]]},"342":{"position":[[74,3]]},"367":{"position":[[28,8],[362,8]]},"406":{"position":[[521,4]]},"409":{"position":[[94,3]]},"410":{"position":[[150,3]]},"413":{"position":[[53,3]]},"418":{"position":[[144,3]]},"421":{"position":[[84,3]]},"427":{"position":[[647,3]]},"430":{"position":[[85,3],[122,4]]},"431":{"position":[[108,4]]},"432":{"position":[[183,4]]},"444":{"position":[[70,3],[158,3]]},"449":{"position":[[96,3]]},"451":{"position":[[86,3],[186,3]]},"468":{"position":[[234,4]]},"477":{"position":[[124,3]]},"497":{"position":[[160,3]]},"498":{"position":[[16,3],[67,3]]},"534":{"position":[[46,3]]},"559":{"position":[[90,7]]},"572":{"position":[[22,8]]},"578":{"position":[[214,8]]},"580":{"position":[[140,8],[268,8],[410,9]]},"581":{"position":[[106,8],[922,8]]},"582":{"position":[[319,8]]},"583":{"position":[[108,8]]},"622":{"position":[[997,3]]},"638":{"position":[[71,3]]},"663":{"position":[[64,3]]},"676":{"position":[[284,3]]},"685":{"position":[[31,3]]},"693":{"position":[[2544,3],[5362,8],[6669,3],[7433,3],[9013,3],[9437,3]]},"695":{"position":[[791,3]]},"715":{"position":[[751,3]]},"717":{"position":[[450,3],[557,3]]},"718":{"position":[[541,3]]},"724":{"position":[[266,3],[1922,3]]},"746":{"position":[[28,8],[362,8]]},"785":{"position":[[521,4]]},"788":{"position":[[94,3]]},"789":{"position":[[150,3]]},"792":{"position":[[53,3]]},"797":{"position":[[144,3]]},"800":{"position":[[84,3]]},"806":{"position":[[647,3]]},"809":{"position":[[85,3],[122,4]]},"810":{"position":[[108,4]]},"811":{"position":[[183,4]]},"823":{"position":[[70,3],[158,3]]},"828":{"position":[[96,3]]},"830":{"position":[[86,3],[186,3]]},"846":{"position":[[858,4]]},"851":{"position":[[418,7],[593,3],[741,3]]},"858":{"position":[[103,3]]},"867":{"position":[[2173,3]]},"874":{"position":[[82,3],[178,3],[266,3]]},"886":{"position":[[499,3]]},"890":{"position":[[2675,3],[3884,3],[3955,3]]},"901":{"position":[[27,3]]},"902":{"position":[[49,3]]},"905":{"position":[[323,4]]},"906":{"position":[[779,3]]},"907":{"position":[[265,3]]},"910":{"position":[[210,3],[227,3]]},"916":{"position":[[207,3]]},"924":{"position":[[191,4],[797,5]]},"937":{"position":[[53,9],[800,3],[1778,9],[1952,8],[2390,3],[3184,8],[3400,3],[3427,8],[3969,3]]},"938":{"position":[[190,8],[402,7],[634,3]]},"939":{"position":[[507,8],[565,8],[745,8],[1472,8]]},"940":{"position":[[453,7],[482,8],[537,4],[572,8]]},"942":{"position":[[1364,7]]},"943":{"position":[[46,8],[79,8],[107,7],[321,7],[2091,7],[2149,7]]},"945":{"position":[[745,7],[1048,8]]},"950":{"position":[[307,3]]},"955":{"position":[[886,3]]},"989":{"position":[[44,4],[88,7]]},"990":{"position":[[206,3],[662,4],[931,7],[1129,3],[1230,3]]},"991":{"position":[[3515,3]]},"994":{"position":[[374,8]]},"995":{"position":[[298,4],[390,4]]},"1004":{"position":[[1061,8]]},"1011":{"position":[[139,3],[169,8],[249,4]]},"1012":{"position":[[34,3]]},"1013":{"position":[[380,3],[525,3]]},"1016":{"position":[[91,8],[106,7]]},"1019":{"position":[[245,8]]},"1021":{"position":[[167,3]]},"1033":{"position":[[248,3]]},"1040":{"position":[[785,3]]},"1045":{"position":[[257,3]]},"1069":{"position":[[366,3]]},"1070":{"position":[[85,3],[591,3],[750,3],[841,4],[977,3]]},"1071":{"position":[[1167,3]]},"1073":{"position":[[39,7]]},"1081":{"position":[[43,3],[153,5],[359,3],[381,4]]},"1082":{"position":[[0,4],[63,3],[184,3],[289,3],[501,3],[813,3],[924,3],[1362,4]]},"1083":{"position":[[23,4],[258,3],[649,3],[758,3]]},"1084":{"position":[[11,4],[111,4],[134,3]]},"1086":{"position":[[41,3],[339,3],[605,3]]},"1087":{"position":[[34,4],[334,4]]},"1088":{"position":[[11,3]]},"1091":{"position":[[82,4],[171,3]]},"1102":{"position":[[1082,3]]},"1104":{"position":[[2747,5]]},"1112":{"position":[[2513,4]]},"1120":{"position":[[356,3]]},"1130":{"position":[[21,5]]},"1133":{"position":[[396,3],[660,3]]},"1136":{"position":[[3306,4],[3413,4],[3487,3]]},"1138":{"position":[[6968,4],[7075,4],[7149,3]]},"1140":{"position":[[5894,4],[6001,4],[6075,3]]},"1142":{"position":[[1338,4],[1445,4],[1519,3]]},"1146":{"position":[[1278,4],[1385,4],[1459,3]]},"1148":{"position":[[654,3],[4318,4],[4425,4],[4499,3]]},"1155":{"position":[[1374,4],[1481,4],[1555,3]]},"1156":{"position":[[952,4],[1059,4],[1133,3]]},"1161":{"position":[[421,3]]},"1167":{"position":[[6898,4],[7005,4],[7079,3]]},"1169":{"position":[[737,4],[844,4],[918,3]]},"1186":{"position":[[2542,4],[2649,4],[2723,3]]},"1187":{"position":[[2555,4],[2662,4],[2736,3]]},"1188":{"position":[[7281,4],[7388,4],[7462,3]]},"1191":{"position":[[1142,4],[1249,4],[1323,3]]},"1192":{"position":[[1317,4],[1424,4],[1498,3]]},"1193":{"position":[[1369,4],[1476,4],[1550,3]]},"1194":{"position":[[1009,4],[1116,4],[1190,3]]},"1195":{"position":[[987,4],[1094,4],[1168,3]]},"1196":{"position":[[797,4],[904,4],[978,3]]},"1197":{"position":[[1780,4],[1887,4],[1961,3]]},"1198":{"position":[[257,3],[1790,4],[1897,4],[1971,3]]},"1199":{"position":[[1818,4],[1925,4],[1999,3]]},"1200":{"position":[[1685,4],[1792,4],[1866,3]]},"1201":{"position":[[945,4],[1052,4],[1126,3]]},"1202":{"position":[[2087,4],[2194,4],[2268,3],[6484,4],[6591,4],[6665,3]]},"1203":{"position":[[1179,4],[1286,4],[1360,3]]},"1204":{"position":[[1023,4],[1130,4],[1204,3]]},"1205":{"position":[[2352,4],[2459,4],[2533,3]]},"1206":{"position":[[823,4],[930,4],[1004,3]]},"1207":{"position":[[52,3],[980,4],[1087,4],[1161,3]]},"1209":{"position":[[2328,4],[2435,4],[2509,3]]},"1217":{"position":[[486,3],[5639,4],[5746,4],[5820,3]]},"1219":{"position":[[1625,4],[1732,4],[1806,3]]},"1222":{"position":[[749,4],[856,4],[930,3]]},"1223":{"position":[[759,4],[866,4],[940,3]]},"1224":{"position":[[939,4],[1046,4],[1120,3]]},"1226":{"position":[[629,3],[770,3],[836,3],[1150,3],[1230,4],[3250,3],[3296,3],[6107,4],[6214,4],[6288,3]]},"1228":{"position":[[1229,8],[1295,8],[7720,4],[7827,4],[7901,3]]},"1235":{"position":[[3588,4],[3695,4],[3769,3]]},"1237":{"position":[[799,3],[940,3],[1006,3],[1320,3],[1400,4],[3420,3],[3466,3],[6277,4],[6384,4],[6458,3]]},"1247":{"position":[[500,3]]},"1259":{"position":[[806,4],[2094,3],[2304,3]]},"1273":{"position":[[502,3]]},"1282":{"position":[[13,3]]},"1284":{"position":[[13,3]]},"1290":{"position":[[806,4],[2094,3],[2304,3]]},"1304":{"position":[[502,3]]},"1313":{"position":[[13,3]]},"1315":{"position":[[13,3]]},"1318":{"position":[[806,4],[2094,3],[2304,3]]},"1332":{"position":[[502,3]]},"1341":{"position":[[13,3]]},"1343":{"position":[[13,3]]},"1345":{"position":[[376,4]]},"1346":{"position":[[142,4],[377,3],[405,3],[478,3]]},"1348":{"position":[[3747,3]]},"1351":{"position":[[1984,3],[3204,3]]},"1354":{"position":[[2302,3],[2488,3],[2886,3]]},"1355":{"position":[[2194,3],[7369,3]]},"1358":{"position":[[2613,7]]},"1360":{"position":[[3023,3],[4765,3]]},"1361":{"position":[[1895,3],[2148,3]]},"1362":{"position":[[4811,3],[6707,3],[8848,3],[9801,4],[10072,7],[10467,3],[12605,3],[13339,3],[13364,4]]},"1363":{"position":[[5290,3],[5544,7],[5590,8],[5750,3]]},"1364":{"position":[[4847,3],[6946,3],[9962,3],[10915,4],[11186,7],[11581,3],[13224,3],[13305,3],[14039,3],[14064,4]]},"1366":{"position":[[878,4],[2526,3],[2930,3]]},"1367":{"position":[[8936,3],[10206,3],[10718,4],[10989,7],[11384,3],[12513,3],[13247,3],[13272,4]]},"1370":{"position":[[2142,3],[2694,3]]},"1373":{"position":[[2795,3],[4018,3],[4195,3],[4275,3],[4348,3],[4548,3],[5741,4],[5937,4],[7552,3],[8190,3]]},"1381":{"position":[[719,3],[1643,3],[1710,3],[1973,4]]},"1382":{"position":[[3050,3],[5618,3],[6527,4],[6798,7],[7193,3],[10328,3],[10967,3]]},"1383":{"position":[[1311,3],[2608,3],[2840,3],[6797,3],[8354,9],[8368,8]]},"1384":{"position":[[4321,3],[6134,3],[10565,3],[12881,4],[13152,7],[13547,3],[17402,3],[18155,3],[18234,4],[18621,3],[19518,3],[19811,3],[20078,3]]},"1385":{"position":[[3531,3],[6545,3]]},"1387":{"position":[[5864,3],[6481,3],[9918,3]]},"1388":{"position":[[6080,3],[6487,3],[7396,4],[7667,7],[8062,3],[8821,3],[9460,3],[10113,3]]},"1390":{"position":[[629,3],[1526,3],[1815,3]]},"1391":{"position":[[599,3],[1479,3],[1630,3]]},"1392":{"position":[[638,3],[1629,3],[2085,3],[2237,3]]},"1393":{"position":[[4060,3],[6495,3],[7322,3],[7527,3]]},"1394":{"position":[[1672,3]]},"1395":{"position":[[1665,7],[1802,3],[2264,7],[2719,3]]},"1396":{"position":[[1572,3]]},"1397":{"position":[[2270,3],[2639,3]]},"1398":{"position":[[2752,3],[3697,3],[4268,3],[4473,3],[5983,3]]},"1399":{"position":[[1535,3],[1618,3],[1784,4]]},"1401":{"position":[[564,3],[1435,3]]},"1403":{"position":[[2438,3],[4180,3]]},"1405":{"position":[[1146,3],[2153,3],[2402,3],[2472,3],[2882,3],[3261,4],[3611,3]]},"1406":{"position":[[1370,3]]},"1407":{"position":[[1175,3],[2194,3],[2823,3],[2893,3],[3303,3],[3682,4],[4230,3]]},"1408":{"position":[[954,3],[1863,3],[1940,3],[2010,3],[2105,4],[2301,4],[2609,3]]},"1410":{"position":[[2595,3],[2846,3],[2917,3],[3049,3],[3883,3],[4265,4],[4598,7],[4669,4],[5021,3],[5336,3]]},"1412":{"position":[[1469,3],[1559,3],[3402,3]]},"1415":{"position":[[2475,3],[5023,3]]},"1422":{"position":[[936,7],[2615,4],[3347,4]]},"1423":{"position":[[926,7]]},"1427":{"position":[[1706,3],[3849,7],[3900,7],[5641,4],[6568,3]]},"1429":{"position":[[2534,3],[3943,3],[4078,3],[4202,3],[5833,3]]},"1439":{"position":[[1988,3],[6253,3],[6683,3],[7550,4],[7691,3]]},"1440":{"position":[[2724,3],[3936,3],[4071,3],[4195,3],[5733,3]]},"1442":{"position":[[558,3],[2340,3]]},"1444":{"position":[[1879,3]]},"1446":{"position":[[602,3],[1867,3],[2076,3],[2266,3]]},"1448":{"position":[[1012,3],[1929,3],[2044,3],[2529,3]]},"1449":{"position":[[952,3],[1863,3],[1978,3],[2463,3]]},"1453":{"position":[[917,3]]},"1454":{"position":[[3254,3],[4838,3],[7538,3],[9624,9]]},"1457":{"position":[[1521,3],[1692,4]]},"1459":{"position":[[1589,3],[1915,3],[2049,3]]},"1461":{"position":[[2498,3]]},"1462":{"position":[[5985,3],[8158,3]]},"1465":{"position":[[2957,3],[4083,3]]},"1467":{"position":[[4992,3],[6433,3],[7097,3],[9219,3],[10276,3],[10355,3]]},"1468":{"position":[[1375,3]]},"1469":{"position":[[865,7]]},"1470":{"position":[[3303,3]]},"1471":{"position":[[1712,3],[2694,3],[3031,3],[3152,3],[3266,3],[3324,3],[3436,3],[3585,3],[3935,3],[4260,3],[4897,3],[4990,3],[5051,3]]},"1472":{"position":[[1671,3],[2653,3],[2750,3],[2871,3],[2990,3],[3104,3],[3410,3],[3850,3],[3908,3],[4020,3],[4169,3],[4519,3],[4844,3],[5491,3],[5550,4],[5937,3]]},"1473":{"position":[[1967,3],[2968,3],[3065,3],[3186,3],[3300,3],[3358,3],[3470,3],[3653,3],[3895,3],[4256,3],[4581,3],[5218,3],[5303,3],[5440,3],[5501,3]]},"1477":{"position":[[1659,7]]},"1482":{"position":[[1764,4],[1786,4]]},"1485":{"position":[[702,3],[1899,3],[3193,3],[3831,3]]},"1486":{"position":[[2643,3],[2883,7]]},"1487":{"position":[[2307,3],[2624,3]]}},"keywords":{}}],["set(//foo:foo",{"_index":7153,"title":{},"content":{"1382":{"position":[[5042,15]]},"1388":{"position":[[5736,15]]},"1442":{"position":[[2032,15]]}},"keywords":{}}],["set.platform",{"_index":4973,"title":{},"content":{"995":{"position":[[423,12]]}},"keywords":{}}],["set1",{"_index":5550,"title":{},"content":{"1081":{"position":[[159,4],[282,7]]},"1082":{"position":[[928,4],[1051,7]]},"1083":{"position":[[762,4],[885,7]]},"1084":{"position":[[360,4],[483,7],[558,6],[672,4]]},"1087":{"position":[[464,4],[587,7],[662,6]]},"1088":{"position":[[811,4],[934,7],[1009,6]]}},"keywords":{}}],["set2",{"_index":5552,"title":{},"content":{"1081":{"position":[[215,4]]},"1082":{"position":[[984,4]]},"1083":{"position":[[818,4]]},"1084":{"position":[[416,4],[565,6]]},"1087":{"position":[[520,4],[669,6]]},"1088":{"position":[[867,4],[1016,6]]}},"keywords":{}}],["set2.project_as_args("define"",{"_index":5562,"title":{},"content":{"1082":{"position":[[1160,40]]}},"keywords":{}}],["set2.project_as_json("define"",{"_index":5573,"title":{},"content":{"1083":{"position":[[997,40]]}},"keywords":{}}],["set3",{"_index":5580,"title":{},"content":{"1084":{"position":[[491,4]]},"1087":{"position":[[595,4]]},"1088":{"position":[[942,4]]}},"keywords":{}}],["set3.project_as_args("define"",{"_index":5582,"title":{},"content":{"1084":{"position":[[579,40]]}},"keywords":{}}],["set3.project_as_args("project"",{"_index":5605,"title":{},"content":{"1088":{"position":[[1129,41]]}},"keywords":{}}],["set_cfg_constructor",{"_index":2373,"title":{"443":{"position":[[0,20]]},"822":{"position":[[0,20]]}},"content":{"443":{"position":[[4,20]]},"822":{"position":[[4,20]]}},"keywords":{}}],["set_cfg_modifiers(cfg_modifi",{"_index":4649,"title":{},"content":{"940":{"position":[[652,31],[1283,31]]},"943":{"position":[[418,31],[638,31]]},"944":{"position":[[1445,31]]}},"keywords":{}}],["set_cfg_nam",{"_index":4867,"title":{},"content":{"981":{"position":[[836,12]]}},"keywords":{}}],["set_starlark_peak_allocated_byte_limit",{"_index":2377,"title":{"444":{"position":[[0,39]]},"823":{"position":[[0,39]]}},"content":{},"keywords":{}}],["set_starlark_peak_allocated_byte_limit(valu",{"_index":2378,"title":{},"content":{"444":{"position":[[4,45]]},"823":{"position":[[4,45]]}},"keywords":{}}],["setdefault",{"_index":2533,"title":{},"content":{"559":{"position":[[264,11],[358,10],[435,10]]}},"keywords":{}}],["settingcontain",{"_index":6323,"title":{},"content":{"1346":{"position":[[673,16]]}},"keywords":{}}],["settingsindividu",{"_index":2680,"title":{},"content":{"582":{"position":[[200,20]]}},"keywords":{}}],["setup",{"_index":496,"title":{"937":{"position":[[33,7]]}},"content":{"17":{"position":[[443,5]]},"22":{"position":[[1937,6]]},"377":{"position":[[26,6],[583,6],[1635,5],[1729,5]]},"756":{"position":[[26,6],[583,6],[1635,5],[1729,5]]},"1052":{"position":[[211,5],[621,5],[659,5]]},"1053":{"position":[[996,5]]},"1054":{"position":[[340,5],[493,5]]},"1144":{"position":[[56,6]]},"1228":{"position":[[1066,6]]}},"keywords":{}}],["setup.pi",{"_index":8270,"title":{},"content":{"1461":{"position":[[3241,8]]}},"keywords":{}}],["setup_timeout_second",{"_index":2027,"title":{},"content":{"377":{"position":[[308,22],[1662,22]]},"756":{"position":[[308,22],[1662,22]]}},"keywords":{}}],["sev",{"_index":402,"title":{},"content":{"12":{"position":[[324,3]]}},"keywords":{}}],["sever",{"_index":267,"title":{},"content":{"9":{"position":[[1929,7],[2765,7]]},"24":{"position":[[279,7]]},"298":{"position":[[1421,7]]},"673":{"position":[[65,7]]},"715":{"position":[[1717,7]]},"870":{"position":[[609,7],[666,7],[702,7],[907,7],[1042,7]]},"916":{"position":[[10,7]]},"929":{"position":[[19,7]]},"954":{"position":[[519,7]]},"1105":{"position":[[10,7]]},"1120":{"position":[[31,7]]}},"keywords":{}}],["sh",{"_index":881,"title":{},"content":{"47":{"position":[[106,4]]},"194":{"position":[[106,4]]},"1105":{"position":[[1683,2]]},"1477":{"position":[[1610,3]]}},"keywords":{}}],["sh_binari",{"_index":7084,"title":{"1477":{"position":[[0,10]]}},"content":{"1374":{"position":[[2125,12]]},"1383":{"position":[[5043,11],[5134,9]]},"1477":{"position":[[4,10],[601,11],[1541,9],[2613,11],[2686,10]]},"1486":{"position":[[2137,12],[3251,10]]}},"keywords":{}}],["sh_test",{"_index":8471,"title":{"1478":{"position":[[0,8]]}},"content":{"1478":{"position":[[4,8],[1045,9],[2771,9],[2837,8],[2939,8],[3446,7],[3694,7]]},"1482":{"position":[[1944,8],[2103,8],[2247,8]]}},"keywords":{}}],["sha",{"_index":7715,"title":{},"content":{"1404":{"position":[[1467,3]]},"1422":{"position":[[2438,3]]},"1423":{"position":[[2107,3]]}},"keywords":{}}],["sha1",{"_index":1107,"title":{},"content":{"91":{"position":[[117,5],[354,4]]},"223":{"position":[[117,5],[354,4]]},"972":{"position":[[38,4],[252,5]]},"1096":{"position":[[373,5]]},"1226":{"position":[[1909,5]]},"1237":{"position":[[2079,5]]},"1345":{"position":[[1376,5]]},"1422":{"position":[[535,5]]},"1423":{"position":[[516,5]]},"1439":{"position":[[6613,4]]},"1461":{"position":[[3587,4]]},"1469":{"position":[[511,5],[2651,4],[3066,4],[3401,4],[3696,4]]}},"keywords":{}}],["sha1:sizeuse_cas",{"_index":1047,"title":{},"content":{"85":{"position":[[290,18]]},"217":{"position":[[290,18]]}},"keywords":{}}],["sha256",{"_index":1108,"title":{"445":{"position":[[0,7]]},"824":{"position":[[0,7]]}},"content":{"91":{"position":[[142,7]]},"223":{"position":[[142,7]]},"445":{"position":[[46,6]]},"824":{"position":[[46,6]]},"1226":{"position":[[1915,7]]},"1237":{"position":[[2085,7]]},"1345":{"position":[[1218,6],[1385,6]]},"1422":{"position":[[557,7],[2426,7],[4127,6]]},"1423":{"position":[[538,7],[2894,6],[3124,6],[3653,6],[3920,6]]},"1469":{"position":[[533,7]]}},"keywords":{}}],["sha256("buck2",{"_index":2383,"title":{},"content":{"445":{"position":[[120,18]]},"824":{"position":[[120,18]]}},"keywords":{}}],["sha256(val",{"_index":2381,"title":{},"content":{"445":{"position":[[4,11]]},"824":{"position":[[4,11]]}},"keywords":{}}],["sha256.intern",{"_index":4828,"title":{},"content":{"972":{"position":[[104,18]]}},"keywords":{}}],["shader",{"_index":7840,"title":{},"content":{"1415":{"position":[[5910,7]]}},"keywords":{}}],["shadow",{"_index":4209,"title":{},"content":{"890":{"position":[[1244,9],[5744,7]]}},"keywords":{}}],["shallow",{"_index":953,"title":{},"content":{"66":{"position":[[181,7]]},"454":{"position":[[181,7]]},"1198":{"position":[[165,7]]}},"keywords":{}}],["shape",{"_index":1844,"title":{},"content":{"345":{"position":[[443,5]]}},"keywords":{}}],["share",{"_index":229,"title":{},"content":{"9":{"position":[[1224,6]]},"12":{"position":[[582,5]]},"23":{"position":[[1939,7],[2025,6],[2060,6]]},"41":{"position":[[460,6]]},"81":{"position":[[365,7]]},"98":{"position":[[1202,6]]},"99":{"position":[[1610,6]]},"174":{"position":[[460,6]]},"213":{"position":[[365,7]]},"230":{"position":[[1202,6]]},"231":{"position":[[1610,6]]},"693":{"position":[[5063,5]]},"704":{"position":[[263,6],[1195,6]]},"835":{"position":[[178,7]]},"886":{"position":[[298,7]]},"890":{"position":[[4605,5]]},"898":{"position":[[597,5],[892,6],[1522,6],[2545,6]]},"1053":{"position":[[1121,6],[1256,6]]},"1088":{"position":[[613,6]]},"1112":{"position":[[4353,6]]},"1362":{"position":[[4916,6],[10777,7],[11197,6]]},"1364":{"position":[[4942,6],[11744,7],[12164,6]]},"1367":{"position":[[11567,6]]},"1370":{"position":[[1991,6]]},"1373":{"position":[[5712,6]]},"1382":{"position":[[7646,7],[8066,6]]},"1383":{"position":[[3678,6],[3745,6],[3806,6],[7779,5]]},"1384":{"position":[[13710,7],[14130,6],[14318,6],[14375,6],[18290,6],[20650,6]]},"1385":{"position":[[4297,6]]},"1387":{"position":[[6770,7],[6790,6],[6857,6],[7390,6],[7577,6],[7634,6]]},"1388":{"position":[[8515,7],[8680,6]]},"1393":{"position":[[6759,6]]},"1403":{"position":[[6879,5]]},"1405":{"position":[[3087,7]]},"1407":{"position":[[3508,7]]},"1410":{"position":[[4089,7]]},"1415":{"position":[[4179,6]]},"1421":{"position":[[2196,6],[2220,6]]},"1446":{"position":[[729,6],[1983,6],[2143,6],[2539,6]]},"1454":{"position":[[7791,6],[7848,6],[7938,6],[9091,6],[9856,6]]},"1455":{"position":[[2992,6],[3042,6],[3163,6],[3213,6],[3386,6],[3571,6]]},"1459":{"position":[[1956,6],[2116,6]]},"1462":{"position":[[6727,6]]},"1467":{"position":[[7842,6]]},"1471":{"position":[[3909,7],[4954,6]]},"1472":{"position":[[3380,7],[4493,7],[5606,6]]},"1473":{"position":[[4230,7],[5275,6]]}},"keywords":{}}],["share/cach",{"_index":3704,"title":{},"content":{"710":{"position":[[104,11]]}},"keywords":{}}],["shareabl",{"_index":3834,"title":{},"content":{"834":{"position":[[707,9]]}},"keywords":{}}],["shared"",{"_index":7762,"title":{},"content":{"1407":{"position":[[4729,14]]}},"keywords":{}}],["shared)`/includes/*.h",{"_index":7773,"title":{},"content":{"1407":{"position":[[5145,22]]}},"keywords":{}}],["shared)flag",{"_index":7178,"title":{},"content":{"1383":{"position":[[3640,12]]}},"keywords":{}}],["shared.a",{"_index":4134,"title":{},"content":{"886":{"position":[[133,8],[211,8]]}},"keywords":{}}],["shared.linker_extra_output",{"_index":7053,"title":{},"content":{"1373":{"position":[[5294,28]]}},"keywords":{}}],["shared.main",{"_index":7854,"title":{},"content":{"1416":{"position":[[2942,12]]}},"keywords":{}}],["shared_dep_runtime_ld_flag",{"_index":7398,"title":{},"content":{"1389":{"position":[[3619,28]]}},"keywords":{}}],["shared_interfac",{"_index":7882,"title":{},"content":{"1421":{"position":[[2486,17]]}},"keywords":{}}],["shared_lib",{"_index":7779,"title":{},"content":{"1407":{"position":[[5315,10]]},"1421":{"position":[[843,12],[2565,11]]},"1454":{"position":[[2155,11],[8179,10],[9994,10]]},"1455":{"position":[[806,12],[3459,11],[4930,11]]}},"keywords":{}}],["shared_library_extens",{"_index":7399,"title":{},"content":{"1389":{"position":[[3663,25]]}},"keywords":{}}],["shared_library_interface_flag",{"_index":7400,"title":{},"content":{"1389":{"position":[[3698,31]]}},"keywords":{}}],["shared_library_interface_mod",{"_index":7401,"title":{},"content":{"1389":{"position":[[3745,30]]}},"keywords":{}}],["shared_library_interface_produc",{"_index":7402,"title":{},"content":{"1389":{"position":[[3785,34]]}},"keywords":{}}],["shared_library_interface_typ",{"_index":7403,"title":{},"content":{"1389":{"position":[[3836,30]]}},"keywords":{}}],["shared_library_macho_file_typ",{"_index":6926,"title":{},"content":{"1364":{"position":[[4082,31]]}},"keywords":{}}],["shared_library_versioned_extension_format",{"_index":7404,"title":{},"content":{"1389":{"position":[[3872,42]]}},"keywords":{}}],["shared_link",{"_index":8198,"title":{},"content":{"1455":{"position":[[839,12],[3065,11],[3236,11],[4867,11]]}},"keywords":{}}],["shared_runtime_path",{"_index":8113,"title":{},"content":{"1447":{"position":[[533,20]]}},"keywords":{}}],["sharedflag",{"_index":7753,"title":{},"content":{"1407":{"position":[[2499,10]]}},"keywords":{}}],["shave",{"_index":6202,"title":{},"content":{"1250":{"position":[[277,5]]}},"keywords":{}}],["sheet",{"_index":4444,"title":{"909":{"position":[[14,5]]},"1128":{"position":[[12,5]]}},"content":{},"keywords":{}}],["shell",{"_index":2175,"title":{},"content":{"408":{"position":[[108,5]]},"685":{"position":[[277,5]]},"787":{"position":[[108,5]]},"1105":{"position":[[1663,5],[1887,5],[2028,5],[2347,5]]},"1144":{"position":[[35,5],[248,5]]},"1172":{"position":[[814,5]]},"1217":{"position":[[555,5],[629,5],[677,5]]},"1345":{"position":[[459,5],[736,5],[1036,5]]},"1360":{"position":[[2564,5],[2708,5],[2805,5],[3081,5],[3261,5],[3906,5],[4030,5],[4603,5],[5127,5],[5367,5]]},"1383":{"position":[[1225,5],[2390,5],[2666,5],[2760,5],[2942,5],[4430,5],[4786,5],[4988,5],[5853,5],[6635,5],[7235,5],[7370,5],[8566,5]]},"1393":{"position":[[7347,6],[7501,6]]},"1397":{"position":[[3242,5]]},"1398":{"position":[[4293,6],[4447,6],[6437,6]]},"1403":{"position":[[1260,5],[2220,5],[2496,5],[2676,5],[3321,5],[3445,5],[4018,5],[5284,5],[6470,5]]},"1477":{"position":[[634,5]]},"1478":{"position":[[1125,5],[2084,5]]}},"keywords":{}}],["shell_config",{"_index":7451,"title":{},"content":{"1393":{"position":[[873,14],[7282,14]]},"1398":{"position":[[1030,14],[4228,14]]}},"keywords":{}}],["shell_lib",{"_index":7452,"title":{},"content":{"1393":{"position":[[903,11],[7425,11]]},"1398":{"position":[[1060,11],[4371,11]]}},"keywords":{}}],["shim/third",{"_index":435,"title":{},"content":{"13":{"position":[[445,10]]}},"keywords":{}}],["ship",{"_index":348,"title":{},"content":{"10":{"position":[[996,4]]},"11":{"position":[[515,5]]}},"keywords":{}}],["short",{"_index":721,"title":{},"content":{"23":{"position":[[1270,5]]},"37":{"position":[[172,5]]},"50":{"position":[[350,5]]},"84":{"position":[[120,5],[153,5]]},"182":{"position":[[172,5]]},"197":{"position":[[350,5]]},"216":{"position":[[120,5],[153,5]]},"981":{"position":[[610,5]]},"1362":{"position":[[8715,5]]},"1364":{"position":[[9829,5]]},"1367":{"position":[[8803,5]]},"1381":{"position":[[2010,5]]},"1384":{"position":[[11484,5],[11972,5],[12224,5],[12461,5]]}},"keywords":{}}],["short_path",{"_index":1029,"title":{},"content":{"84":{"position":[[50,11]]},"216":{"position":[[50,11]]}},"keywords":{}}],["short_path=yyi",{"_index":1035,"title":{},"content":{"84":{"position":[[309,16]]},"216":{"position":[[309,16]]}},"keywords":{}}],["shortest",{"_index":3264,"title":{},"content":{"655":{"position":[[451,8]]},"666":{"position":[[736,8],[913,8]]},"673":{"position":[[430,8]]}},"keywords":{}}],["should_include_class",{"_index":6410,"title":{},"content":{"1349":{"position":[[758,23]]}},"keywords":{}}],["should_include_librari",{"_index":6411,"title":{},"content":{"1349":{"position":[[792,25]]}},"keywords":{}}],["should_propag",{"_index":4902,"title":{},"content":{"989":{"position":[[424,16]]},"990":{"position":[[645,16],[1077,16],[1213,16]]}},"keywords":{}}],["shouldn't",{"_index":1255,"title":{},"content":{"98":{"position":[[1073,9]]},"99":{"position":[[1481,9]]},"230":{"position":[[1073,9]]},"231":{"position":[[1481,9]]}},"keywords":{}}],["show",{"_index":523,"title":{"1175":{"position":[[9,5]]},"1182":{"position":[[9,4]]}},"content":{"17":{"position":[[1292,4],[1332,4]]},"407":{"position":[[47,4]]},"570":{"position":[[417,4],[500,4],[542,4],[640,4],[681,4]]},"583":{"position":[[19,5]]},"705":{"position":[[595,4]]},"715":{"position":[[1570,5]]},"716":{"position":[[22,5]]},"786":{"position":[[47,4]]},"833":{"position":[[448,4]]},"840":{"position":[[900,4]]},"866":{"position":[[10,4],[137,5],[324,4],[342,4]]},"894":{"position":[[25,7]]},"946":{"position":[[335,4],[410,4]]},"947":{"position":[[636,4]]},"1033":{"position":[[235,4]]},"1042":{"position":[[364,4]]},"1058":{"position":[[382,5]]},"1059":{"position":[[53,7]]},"1069":{"position":[[19,5]]},"1084":{"position":[[695,5]]},"1118":{"position":[[86,5]]},"1120":{"position":[[666,7],[833,4],[852,4],[872,4]]},"1127":{"position":[[58,5],[132,4],[196,4],[255,4],[261,4],[341,4],[371,4],[423,4],[616,5],[739,4]]},"1129":{"position":[[253,5]]},"1136":{"position":[[4768,4],[5328,5],[5387,5],[6149,4]]},"1138":{"position":[[147,4],[241,4],[320,4],[426,4],[517,4],[604,4],[8430,4],[8990,5],[9049,5],[9811,4]]},"1140":{"position":[[932,4],[7356,4],[7916,5],[7975,5],[8737,4]]},"1142":{"position":[[2800,4],[3360,5],[3419,5],[4181,4]]},"1144":{"position":[[509,4]]},"1146":{"position":[[2740,4],[3300,5],[3359,5],[4121,4]]},"1148":{"position":[[2750,4],[2765,4],[5780,4],[6340,5],[6399,5],[7712,4]]},"1150":{"position":[[744,4]]},"1152":{"position":[[442,4]]},"1154":{"position":[[597,4]]},"1155":{"position":[[2836,4],[3396,5],[3455,5],[4217,4]]},"1156":{"position":[[2414,4],[2974,5],[3033,5],[3795,4]]},"1157":{"position":[[380,4]]},"1158":{"position":[[374,4]]},"1159":{"position":[[374,4]]},"1161":{"position":[[867,5],[926,5],[1369,4]]},"1163":{"position":[[755,4]]},"1165":{"position":[[584,4]]},"1167":{"position":[[8360,4],[8920,5],[8979,5],[9741,4]]},"1169":{"position":[[2199,4],[2849,4]]},"1171":{"position":[[278,4],[343,4],[409,4],[617,4],[688,4],[1090,4]]},"1172":{"position":[[1039,4],[1694,4],[1738,4],[1901,4],[1914,4],[2193,4],[2475,4]]},"1173":{"position":[[339,4],[1162,4]]},"1174":{"position":[[243,4],[590,4]]},"1175":{"position":[[81,4],[263,4],[586,4]]},"1176":{"position":[[0,4],[134,6],[347,4],[502,4],[755,4]]},"1177":{"position":[[0,4],[259,4],[676,4]]},"1178":{"position":[[413,4],[993,4]]},"1179":{"position":[[279,4],[790,4]]},"1180":{"position":[[0,4],[609,4],[1061,4]]},"1181":{"position":[[364,4],[1079,5],[1138,5],[1581,4]]},"1182":{"position":[[114,4],[301,4],[624,4]]},"1183":{"position":[[256,4],[579,4]]},"1185":{"position":[[424,4]]},"1186":{"position":[[4004,4],[4564,5],[4623,5],[5385,4]]},"1187":{"position":[[4017,4],[4577,5],[4636,5],[5398,4]]},"1188":{"position":[[985,4],[8743,4],[9303,5],[9362,5],[10124,4]]},"1190":{"position":[[1755,4]]},"1191":{"position":[[2604,4],[3164,5],[3223,5],[3985,4]]},"1192":{"position":[[2779,4],[3339,5],[3398,5],[4160,4]]},"1193":{"position":[[2831,4],[3391,5],[3450,5],[4212,4]]},"1194":{"position":[[2471,4],[3031,5],[3090,5],[3852,4]]},"1195":{"position":[[2449,4],[3009,5],[3068,5],[3830,4]]},"1196":{"position":[[2259,4],[2819,5],[2878,5],[3640,4]]},"1197":{"position":[[3242,4],[3802,5],[3861,5],[4623,4]]},"1198":{"position":[[3252,4],[3812,5],[3871,5],[4633,4]]},"1199":{"position":[[3280,4],[3840,5],[3899,5],[4661,4]]},"1200":{"position":[[3147,4],[3707,5],[3766,5],[4528,4]]},"1201":{"position":[[2407,4],[2967,5],[3026,5],[3788,4]]},"1202":{"position":[[532,4],[3549,4],[4109,5],[4168,5],[4930,4],[7946,4],[8506,5],[8565,5],[9327,4]]},"1203":{"position":[[2641,4],[3201,5],[3260,5],[4022,4]]},"1204":{"position":[[2485,4],[3045,5],[3104,5],[3866,4],[4768,4],[5698,4],[6600,4],[7586,4],[8540,4],[9487,4],[10417,4]]},"1205":{"position":[[3814,4],[4374,5],[4433,5],[5195,4]]},"1206":{"position":[[2285,4],[2845,5],[2904,5],[3894,4]]},"1207":{"position":[[2442,4],[3002,5],[3061,5],[3823,4]]},"1209":{"position":[[3790,4],[4350,5],[4409,5],[5171,4]]},"1211":{"position":[[495,4]]},"1213":{"position":[[266,4]]},"1215":{"position":[[350,4]]},"1217":{"position":[[7101,4],[7661,5],[7720,5],[8482,4]]},"1219":{"position":[[3087,4],[3737,4]]},"1221":{"position":[[469,4]]},"1222":{"position":[[2211,4],[2771,5],[2830,5],[3608,4]]},"1223":{"position":[[2221,4],[2781,5],[2840,5],[3618,4]]},"1224":{"position":[[2401,4],[3051,4]]},"1226":{"position":[[357,4],[433,4],[3326,4],[3420,4],[3499,4],[3605,4],[3696,4],[3783,4],[4181,4],[4222,5],[4412,4],[7569,4],[8129,5],[8188,5],[8950,4]]},"1228":{"position":[[9182,4],[9742,5],[9801,5],[10563,4]]},"1231":{"position":[[237,4]]},"1235":{"position":[[5050,4],[5610,5],[5669,5],[6431,4]]},"1237":{"position":[[0,4],[527,4],[603,4],[3496,4],[3590,4],[3669,4],[3775,4],[3866,4],[3953,4],[4351,4],[4392,5],[4582,4],[7739,4],[8299,5],[8358,5],[9120,4]]},"1240":{"position":[[72,4],[283,4],[408,4],[429,4]]},"1248":{"position":[[174,7]]},"1353":{"position":[[2341,5]]},"1482":{"position":[[1665,4]]}},"keywords":{}}],["shown",{"_index":3378,"title":{},"content":{"675":{"position":[[750,5]]},"716":{"position":[[119,5]]},"850":{"position":[[118,5]]},"1031":{"position":[[170,5]]},"1050":{"position":[[1600,5]]},"1057":{"position":[[906,7]]},"1058":{"position":[[781,7]]},"1072":{"position":[[529,5]]},"1112":{"position":[[2669,5]]},"1120":{"position":[[508,6]]},"1133":{"position":[[530,5]]},"1172":{"position":[[2173,6]]}},"keywords":{}}],["shut",{"_index":6078,"title":{},"content":{"1228":{"position":[[1559,4]]},"1486":{"position":[[2792,4]]}},"keywords":{}}],["sibl",{"_index":3028,"title":{},"content":{"622":{"position":[[434,8]]},"1422":{"position":[[2697,8]]}},"keywords":{}}],["side",{"_index":335,"title":{},"content":{"10":{"position":[[713,4]]},"441":{"position":[[90,4]]},"587":{"position":[[274,4],[354,4]]},"706":{"position":[[2477,5]]},"820":{"position":[[90,4]]},"1056":{"position":[[645,4]]},"1127":{"position":[[690,5]]}},"keywords":{}}],["sign",{"_index":2652,"title":{},"content":{"579":{"position":[[56,4]]},"587":{"position":[[293,4],[373,4]]},"1360":{"position":[[5828,8]]},"1363":{"position":[[3043,6],[5853,7],[6488,7]]}},"keywords":{}}],["signal",{"_index":1928,"title":{},"content":{"363":{"position":[[144,7]]},"366":{"position":[[93,7]]},"367":{"position":[[123,7]]},"372":{"position":[[171,7]]},"374":{"position":[[295,7]]},"386":{"position":[[293,7]]},"398":{"position":[[92,7]]},"399":{"position":[[86,7]]},"742":{"position":[[144,7]]},"745":{"position":[[93,7]]},"746":{"position":[[123,7]]},"751":{"position":[[171,7]]},"753":{"position":[[295,7]]},"765":{"position":[[293,7]]},"777":{"position":[[92,7]]},"778":{"position":[[86,7]]},"1052":{"position":[[1049,6]]},"1486":{"position":[[5006,7]]}},"keywords":{}}],["significantli",{"_index":212,"title":{},"content":{"9":{"position":[[952,13]]},"10":{"position":[[1115,13]]},"693":{"position":[[6856,13]]},"1050":{"position":[[203,13]]},"1057":{"position":[[1384,13]]}},"keywords":{}}],["significantly.multi",{"_index":675,"title":{},"content":{"22":{"position":[[1478,19]]}},"keywords":{}}],["sigterm",{"_index":2038,"title":{},"content":{"377":{"position":[[1011,7]]},"756":{"position":[[1011,7]]},"1052":{"position":[[998,7]]},"1053":{"position":[[1524,7]]}},"keywords":{}}],["silent",{"_index":2708,"title":{},"content":{"584":{"position":[[1231,8]]}},"keywords":{}}],["silli",{"_index":3732,"title":{"878":{"position":[[0,5]]}},"content":{"712":{"position":[[159,5]]},"878":{"position":[[10,5]]}},"keywords":{}}],["silly.bzl",{"_index":5240,"title":{},"content":{"1048":{"position":[[431,9]]}},"keywords":{}}],["silly_binari",{"_index":5237,"title":{},"content":{"1048":{"position":[[331,13],[1486,12]]}},"keywords":{}}],["similar",{"_index":634,"title":{},"content":{"22":{"position":[[213,7],[1997,7]]},"23":{"position":[[2190,7]]},"98":{"position":[[937,7]]},"230":{"position":[[937,7]]},"400":{"position":[[264,7]]},"582":{"position":[[396,7]]},"702":{"position":[[235,7],[274,7]]},"779":{"position":[[264,7]]},"864":{"position":[[723,7]]},"866":{"position":[[116,7]]},"890":{"position":[[180,7]]},"924":{"position":[[2109,7]]},"937":{"position":[[2598,7]]},"951":{"position":[[589,7]]},"961":{"position":[[214,7],[748,7]]},"991":{"position":[[3260,7]]},"1004":{"position":[[357,7]]},"1006":{"position":[[127,7]]},"1022":{"position":[[125,7]]},"1024":{"position":[[76,7]]},"1050":{"position":[[3291,7]]},"1088":{"position":[[552,7]]},"1104":{"position":[[1060,7]]},"1172":{"position":[[1541,7]]},"1173":{"position":[[841,7]]},"1231":{"position":[[715,8]]},"1254":{"position":[[638,7]]},"1362":{"position":[[4871,7]]},"1364":{"position":[[4896,7]]},"1393":{"position":[[6294,8],[7109,7],[8300,7]]},"1395":{"position":[[2344,7]]},"1410":{"position":[[1658,7]]},"1453":{"position":[[965,7]]}},"keywords":{}}],["similarli",{"_index":2674,"title":{},"content":{"581":{"position":[[787,9]]},"663":{"position":[[807,10]]},"678":{"position":[[228,10]]},"890":{"position":[[6557,10]]},"900":{"position":[[358,10]]},"901":{"position":[[762,10]]},"924":{"position":[[1870,9]]},"939":{"position":[[1333,9]]},"1001":{"position":[[989,10]]},"1022":{"position":[[333,9]]},"1064":{"position":[[1089,10]]},"1384":{"position":[[20785,10]]},"1386":{"position":[[2725,10]]}},"keywords":{}}],["simpl",{"_index":487,"title":{"1047":{"position":[[0,6]]}},"content":{"17":{"position":[[82,6]]},"18":{"position":[[42,6]]},"236":{"position":[[532,6]]},"346":{"position":[[460,6]]},"368":{"position":[[532,6]]},"437":{"position":[[295,6]]},"747":{"position":[[532,6]]},"816":{"position":[[295,6]]},"867":{"position":[[1841,6]]},"935":{"position":[[234,6]]},"959":{"position":[[45,6]]},"989":{"position":[[27,7]]},"1071":{"position":[[841,6]]},"1105":{"position":[[2248,6]]},"1136":{"position":[[5115,7]]},"1138":{"position":[[325,6],[436,6],[8777,7]]},"1140":{"position":[[7703,7]]},"1142":{"position":[[3147,7]]},"1146":{"position":[[3087,7]]},"1148":{"position":[[6127,7]]},"1155":{"position":[[3183,7]]},"1156":{"position":[[2761,7]]},"1161":{"position":[[654,7]]},"1167":{"position":[[8707,7]]},"1181":{"position":[[866,7]]},"1186":{"position":[[4351,7]]},"1187":{"position":[[4364,7]]},"1188":{"position":[[9090,7]]},"1191":{"position":[[2951,7]]},"1192":{"position":[[3126,7]]},"1193":{"position":[[466,7],[3178,7]]},"1194":{"position":[[2818,7]]},"1195":{"position":[[2796,7]]},"1196":{"position":[[2606,7]]},"1197":{"position":[[3589,7]]},"1198":{"position":[[3599,7]]},"1199":{"position":[[3627,7]]},"1200":{"position":[[3494,7]]},"1201":{"position":[[2754,7]]},"1202":{"position":[[3896,7],[8293,7]]},"1203":{"position":[[2988,7]]},"1204":{"position":[[2832,7]]},"1205":{"position":[[4161,7]]},"1206":{"position":[[2632,7]]},"1207":{"position":[[2789,7]]},"1209":{"position":[[4137,7]]},"1217":{"position":[[7448,7]]},"1222":{"position":[[2558,7]]},"1223":{"position":[[2568,7]]},"1226":{"position":[[3504,6],[3615,6],[7916,7]]},"1228":{"position":[[9529,7]]},"1235":{"position":[[5397,7]]},"1237":{"position":[[3674,6],[3785,6],[8086,7]]},"1240":{"position":[[288,6],[439,6]]},"1287":{"position":[[132,6]]},"1359":{"position":[[2377,6]]},"1381":{"position":[[2560,9]]},"1391":{"position":[[1782,6]]},"1399":{"position":[[2838,7]]},"1461":{"position":[[3311,6]]},"1477":{"position":[[2904,6]]},"1478":{"position":[[3054,6]]},"1486":{"position":[[997,6]]},"1487":{"position":[[3034,6]]}},"keywords":{}}],["simpleconsol",{"_index":5758,"title":{"1116":{"position":[[0,14]]}},"content":{"1116":{"position":[[4,13]]}},"keywords":{}}],["simplenotti",{"_index":5901,"title":{},"content":{"1136":{"position":[[5123,12]]},"1138":{"position":[[8785,12]]},"1140":{"position":[[7711,12]]},"1142":{"position":[[3155,12]]},"1146":{"position":[[3095,12]]},"1148":{"position":[[6135,12]]},"1155":{"position":[[3191,12]]},"1156":{"position":[[2769,12]]},"1161":{"position":[[662,12]]},"1167":{"position":[[8715,12]]},"1181":{"position":[[874,12]]},"1186":{"position":[[4359,12]]},"1187":{"position":[[4372,12]]},"1188":{"position":[[9098,12]]},"1191":{"position":[[2959,12]]},"1192":{"position":[[3134,12]]},"1193":{"position":[[3186,12]]},"1194":{"position":[[2826,12]]},"1195":{"position":[[2804,12]]},"1196":{"position":[[2614,12]]},"1197":{"position":[[3597,12]]},"1198":{"position":[[3607,12]]},"1199":{"position":[[3635,12]]},"1200":{"position":[[3502,12]]},"1201":{"position":[[2762,12]]},"1202":{"position":[[3904,12],[8301,12]]},"1203":{"position":[[2996,12]]},"1204":{"position":[[2840,12]]},"1205":{"position":[[4169,12]]},"1206":{"position":[[2640,12]]},"1207":{"position":[[2797,12]]},"1209":{"position":[[4145,12]]},"1217":{"position":[[7456,12]]},"1222":{"position":[[2566,12]]},"1223":{"position":[[2576,12]]},"1226":{"position":[[7924,12]]},"1228":{"position":[[9537,12]]},"1235":{"position":[[5405,12]]},"1237":{"position":[[8094,12]]}},"keywords":{}}],["simpler",{"_index":3277,"title":{},"content":{"657":{"position":[[115,7]]},"708":{"position":[[390,7]]}},"keywords":{}}],["simplest",{"_index":6092,"title":{},"content":{"1231":{"position":[[170,8]]}},"keywords":{}}],["simpletti",{"_index":5902,"title":{},"content":{"1136":{"position":[[5136,10]]},"1138":{"position":[[8798,10]]},"1140":{"position":[[7724,10]]},"1142":{"position":[[3168,10]]},"1146":{"position":[[3108,10]]},"1148":{"position":[[6148,10]]},"1155":{"position":[[3204,10]]},"1156":{"position":[[2782,10]]},"1161":{"position":[[675,10]]},"1167":{"position":[[8728,10]]},"1181":{"position":[[887,10]]},"1186":{"position":[[4372,10]]},"1187":{"position":[[4385,10]]},"1188":{"position":[[9111,10]]},"1191":{"position":[[2972,10]]},"1192":{"position":[[3147,10]]},"1193":{"position":[[3199,10]]},"1194":{"position":[[2839,10]]},"1195":{"position":[[2817,10]]},"1196":{"position":[[2627,10]]},"1197":{"position":[[3610,10]]},"1198":{"position":[[3620,10]]},"1199":{"position":[[3648,10]]},"1200":{"position":[[3515,10]]},"1201":{"position":[[2775,10]]},"1202":{"position":[[3917,10],[8314,10]]},"1203":{"position":[[3009,10]]},"1204":{"position":[[2853,10]]},"1205":{"position":[[4182,10]]},"1206":{"position":[[2653,10]]},"1207":{"position":[[2810,10]]},"1209":{"position":[[4158,10]]},"1217":{"position":[[7469,10]]},"1222":{"position":[[2579,10]]},"1223":{"position":[[2589,10]]},"1226":{"position":[[7937,10]]},"1228":{"position":[[9550,10]]},"1235":{"position":[[5418,10]]},"1237":{"position":[[8107,10]]}},"keywords":{}}],["simplevalu",{"_index":4352,"title":{},"content":{"898":{"position":[[2469,11]]}},"keywords":{}}],["simpli",{"_index":198,"title":{"1252":{"position":[[0,6]]}},"content":{"9":{"position":[[598,6]]},"22":{"position":[[1767,6]]},"440":{"position":[[127,6]]},"819":{"position":[[127,6]]},"951":{"position":[[1322,6]]},"995":{"position":[[234,6],[647,6]]},"1032":{"position":[[74,6]]},"1252":{"position":[[55,6]]}},"keywords":{}}],["simplic",{"_index":685,"title":{},"content":{"22":{"position":[[1923,10]]},"704":{"position":[[134,11]]}},"keywords":{}}],["simplifi",{"_index":3615,"title":{},"content":{"696":{"position":[[388,10]]}},"keywords":{}}],["simul",{"_index":5332,"title":{},"content":{"1054":{"position":[[54,10],[180,11],[210,9]]},"1072":{"position":[[765,9],[1295,9]]}},"keywords":{}}],["simulator"",{"_index":5503,"title":{},"content":{"1072":{"position":[[615,16]]}},"keywords":{}}],["simultan",{"_index":3809,"title":{},"content":{"724":{"position":[[1414,14]]}},"keywords":{}}],["singl",{"_index":677,"title":{"696":{"position":[[29,6]]}},"content":{"22":{"position":[[1569,6]]},"89":{"position":[[842,6]]},"118":{"position":[[78,6]]},"221":{"position":[[842,6]]},"240":{"position":[[321,6]]},"294":{"position":[[955,6],[1001,6],[1061,6],[1171,6]]},"297":{"position":[[785,6],[831,6],[891,6]]},"301":{"position":[[726,6],[772,6],[1138,6]]},"309":{"position":[[528,6],[574,6],[634,6],[941,6]]},"310":{"position":[[376,6],[422,6],[482,6],[591,6]]},"311":{"position":[[294,6],[340,6],[439,6]]},"322":{"position":[[49,6],[125,6]]},"329":{"position":[[381,6]]},"374":{"position":[[2066,6]]},"377":{"position":[[1219,6]]},"396":{"position":[[453,6]]},"405":{"position":[[1716,6]]},"470":{"position":[[321,6]]},"528":{"position":[[67,6]]},"534":{"position":[[78,6]]},"577":{"position":[[75,6],[459,6]]},"634":{"position":[[115,6]]},"693":{"position":[[811,6],[3149,6]]},"696":{"position":[[56,6]]},"711":{"position":[[251,6],[884,6],[1069,6],[1208,6],[1273,6]]},"753":{"position":[[2066,6]]},"756":{"position":[[1219,6]]},"775":{"position":[[453,6]]},"784":{"position":[[1716,6]]},"832":{"position":[[42,6]]},"840":{"position":[[111,6],[1178,6]]},"844":{"position":[[213,6]]},"848":{"position":[[307,6]]},"864":{"position":[[230,6],[679,6]]},"870":{"position":[[952,6]]},"872":{"position":[[379,6],[979,6]]},"876":{"position":[[275,6]]},"890":{"position":[[2841,6]]},"898":{"position":[[1022,6]]},"905":{"position":[[385,6]]},"907":{"position":[[385,6]]},"937":{"position":[[211,6]]},"939":{"position":[[1454,6]]},"951":{"position":[[1014,6]]},"954":{"position":[[22,6],[125,6]]},"980":{"position":[[664,6]]},"981":{"position":[[11,6]]},"1026":{"position":[[898,6]]},"1053":{"position":[[1373,6]]},"1126":{"position":[[1331,6]]},"1148":{"position":[[7238,6]]},"1260":{"position":[[316,6]]},"1262":{"position":[[333,6]]},"1272":{"position":[[130,6]]},"1291":{"position":[[316,6]]},"1293":{"position":[[333,6]]},"1303":{"position":[[130,6]]},"1319":{"position":[[316,6]]},"1321":{"position":[[333,6]]},"1331":{"position":[[130,6]]},"1355":{"position":[[2317,6],[4131,6]]},"1370":{"position":[[742,6]]},"1382":{"position":[[11669,6]]},"1384":{"position":[[21231,6]]},"1385":{"position":[[7237,6],[7426,6]]},"1386":{"position":[[599,6]]},"1387":{"position":[[10613,6],[10756,6]]},"1390":{"position":[[2013,6]]},"1391":{"position":[[1804,6],[1829,6]]},"1392":{"position":[[2499,6]]},"1397":{"position":[[2121,6]]},"1398":{"position":[[1161,6]]},"1399":{"position":[[570,6]]},"1403":{"position":[[1293,6]]},"1412":{"position":[[1637,6],[3709,6]]},"1423":{"position":[[758,6]]},"1427":{"position":[[1801,6],[3276,6],[7124,6]]},"1439":{"position":[[2087,6],[3950,6],[7954,6]]},"1444":{"position":[[1968,6]]},"1455":{"position":[[1201,6]]},"1465":{"position":[[4327,6]]},"1467":{"position":[[10879,6]]},"1485":{"position":[[4805,6]]},"1486":{"position":[[5273,6]]}},"keywords":{}}],["singlebuild",{"_index":5847,"title":{},"content":{"1133":{"position":[[348,11]]}},"keywords":{}}],["site",{"_index":5033,"title":{},"content":{"1007":{"position":[[132,4],[168,6]]},"1415":{"position":[[2597,4]]}},"keywords":{}}],["situat",{"_index":4950,"title":{},"content":{"991":{"position":[[3268,9]]},"1017":{"position":[[292,9]]},"1050":{"position":[[4370,9]]},"1393":{"position":[[4701,10]]}},"keywords":{}}],["size",{"_index":749,"title":{},"content":{"23":{"position":[[2349,4]]},"362":{"position":[[1718,4],[2563,4]]},"633":{"position":[[217,5]]},"741":{"position":[[1718,4],[2563,4]]},"867":{"position":[[1201,4]]},"975":{"position":[[276,5]]},"1082":{"position":[[1350,4]]},"1112":{"position":[[535,4]]},"1178":{"position":[[165,4],[573,4]]}},"keywords":{}}],["skeleton",{"_index":6395,"title":{},"content":{"1348":{"position":[[4169,8]]},"1356":{"position":[[523,9],[692,8],[2071,8],[3053,8]]}},"keywords":{}}],["skip",{"_index":1154,"title":{"1021":{"position":[[20,9]]}},"content":{"92":{"position":[[2249,4]]},"224":{"position":[[2249,4]]},"286":{"position":[[78,4]]},"294":{"position":[[723,4]]},"309":{"position":[[825,4]]},"715":{"position":[[1164,7]]},"877":{"position":[[157,8]]},"907":{"position":[[82,5],[280,4]]},"938":{"position":[[13,4]]},"1021":{"position":[[355,8]]},"1029":{"position":[[309,4],[401,4]]},"1084":{"position":[[193,8]]},"1138":{"position":[[738,5],[880,4],[1018,4],[1150,4],[1810,8],[5083,4],[5131,4],[5173,4],[5259,4],[5384,7]]},"1140":{"position":[[364,5],[1299,8],[4572,4],[4620,4],[4662,4],[4748,4],[4873,7]]},"1146":{"position":[[172,4],[193,4],[289,4]]},"1167":{"position":[[2303,8],[5576,4],[5624,4],[5666,4],[5752,4],[5877,7]]},"1172":{"position":[[1337,4],[1355,4],[1380,4]]},"1173":{"position":[[637,4],[655,4],[680,4]]},"1188":{"position":[[417,5],[1352,8],[4625,4],[4673,4],[4715,4],[4801,4],[4926,7]]},"1217":{"position":[[1044,8],[4317,4],[4365,4],[4407,4],[4493,4],[4618,7]]},"1228":{"position":[[3125,8],[6398,4],[6446,4],[6488,4],[6574,4],[6699,7]]},"1358":{"position":[[2681,4]]},"1478":{"position":[[3644,7],[3756,7]]},"1482":{"position":[[2841,7],[2930,7],[3173,7],[3262,7],[3343,7]]}},"keywords":{}}],["skip_copying_swift_stdlib",{"_index":6867,"title":{},"content":{"1363":{"position":[[2459,26]]},"1367":{"position":[[5518,26]]}},"keywords":{}}],["skip_crunch_png",{"_index":6463,"title":{},"content":{"1350":{"position":[[3595,17]]},"1352":{"position":[[3594,17]]}},"keywords":{}}],["skip_incompat",{"_index":1608,"title":{},"content":{"294":{"position":[[374,18],[671,17]]}},"keywords":{}}],["skip_proguard",{"_index":6464,"title":{},"content":{"1350":{"position":[[3630,14]]},"1352":{"position":[[3629,14]]}},"keywords":{}}],["skip_resourc",{"_index":8015,"title":{},"content":{"1432":{"position":[[1194,15]]}},"keywords":{}}],["skip_universal_resource_dedup",{"_index":6675,"title":{},"content":{"1361":{"position":[[553,31]]},"1366":{"position":[[764,31]]}},"keywords":{}}],["skylark'",{"_index":2770,"title":{},"content":{"591":{"position":[[400,9]]},"594":{"position":[[393,9]]}},"keywords":{}}],["skylib",{"_index":2734,"title":{},"content":{"587":{"position":[[238,6]]}},"keywords":{}}],["slash",{"_index":3375,"title":{},"content":{"675":{"position":[[591,5]]},"1362":{"position":[[6999,7],[8761,7],[9087,7]]},"1364":{"position":[[7238,7],[9372,7],[9875,7],[10201,7]]},"1367":{"position":[[8849,7],[9175,7]]},"1373":{"position":[[4786,7]]},"1382":{"position":[[5531,7],[5856,7]]},"1384":{"position":[[6743,7],[10478,7],[10803,7]]},"1385":{"position":[[3445,7],[3769,7]]},"1387":{"position":[[5778,7],[6102,7]]},"1388":{"position":[[6725,7]]},"1454":{"position":[[5447,7],[7382,7]]},"1485":{"position":[[1813,7],[2137,7]]}},"keywords":{}}],["slight",{"_index":1345,"title":{},"content":{"126":{"position":[[527,6]]},"249":{"position":[[527,6]]},"1058":{"position":[[1415,6]]}},"keywords":{}}],["slightli",{"_index":5895,"title":{},"content":{"1136":{"position":[[4402,8]]},"1138":{"position":[[8064,8]]},"1140":{"position":[[6990,8]]},"1142":{"position":[[2434,8]]},"1146":{"position":[[2374,8]]},"1148":{"position":[[5414,8]]},"1155":{"position":[[2470,8]]},"1156":{"position":[[2048,8]]},"1167":{"position":[[7994,8]]},"1169":{"position":[[1833,8]]},"1186":{"position":[[3638,8]]},"1187":{"position":[[3651,8]]},"1188":{"position":[[8377,8]]},"1191":{"position":[[2238,8]]},"1192":{"position":[[2413,8]]},"1193":{"position":[[2465,8]]},"1194":{"position":[[2105,8]]},"1195":{"position":[[2083,8]]},"1196":{"position":[[1893,8]]},"1197":{"position":[[2876,8]]},"1198":{"position":[[2886,8]]},"1199":{"position":[[2914,8]]},"1200":{"position":[[2781,8]]},"1201":{"position":[[2041,8]]},"1202":{"position":[[3183,8],[7580,8]]},"1203":{"position":[[2275,8]]},"1204":{"position":[[2119,8]]},"1205":{"position":[[3448,8]]},"1206":{"position":[[1919,8]]},"1207":{"position":[[2076,8]]},"1209":{"position":[[3424,8]]},"1217":{"position":[[6735,8]]},"1219":{"position":[[2721,8]]},"1222":{"position":[[1845,8]]},"1223":{"position":[[1855,8]]},"1224":{"position":[[2035,8]]},"1226":{"position":[[7203,8]]},"1228":{"position":[[8816,8]]},"1235":{"position":[[4684,8]]},"1237":{"position":[[7373,8]]},"1461":{"position":[[3811,8]]}},"keywords":{}}],["slot",{"_index":4220,"title":{},"content":{"890":{"position":[[2199,6],[2289,8],[2333,5],[2403,4],[2442,5],[2478,5],[2682,5],[2763,6],[2898,4],[2938,4],[4087,4],[4339,4],[4382,4],[4513,5],[4583,6],[5121,6],[5216,5],[5286,5],[5307,7],[5515,6],[6333,5],[6469,5],[6701,5],[6768,6],[6784,5],[6840,5],[6968,5]]},"1360":{"position":[[5678,5]]},"1383":{"position":[[8183,5]]},"1403":{"position":[[7283,5]]}},"keywords":{}}],["slots(rc<refcell<vec<option<value>>>>",{"_index":4222,"title":{},"content":{"890":{"position":[[2507,63]]}},"keywords":{}}],["slow",{"_index":4591,"title":{},"content":{"937":{"position":[[1455,4]]},"1482":{"position":[[1824,6]]}},"keywords":{}}],["slow_test",{"_index":8517,"title":{},"content":{"1482":{"position":[[1872,11],[2701,13]]}},"keywords":{}}],["slowdown",{"_index":6190,"title":{},"content":{"1247":{"position":[[417,9]]}},"keywords":{}}],["slower",{"_index":1846,"title":{},"content":{"345":{"position":[[641,6]]},"1057":{"position":[[517,6]]}},"keywords":{}}],["slowest",{"_index":3803,"title":{},"content":{"724":{"position":[[258,7]]}},"keywords":{}}],["small",{"_index":87,"title":{},"content":{"5":{"position":[[197,5]]},"10":{"position":[[587,5]]},"12":{"position":[[67,5]]},"23":{"position":[[3327,5]]},"711":{"position":[[1296,5]]},"937":{"position":[[3951,5]]},"1355":{"position":[[6198,5],[7235,5]]},"1427":{"position":[[5371,5],[6434,5]]}},"keywords":{}}],["smaller",{"_index":3797,"title":{},"content":{"718":{"position":[[417,7]]},"720":{"position":[[532,7]]},"1235":{"position":[[289,7]]}},"keywords":{}}],["smart",{"_index":7282,"title":{},"content":{"1386":{"position":[[5305,5]]}},"keywords":{}}],["smc",{"_index":1230,"title":{},"content":{"94":{"position":[[3879,3]]},"226":{"position":[[3879,3]]}},"keywords":{}}],["smc_tier",{"_index":1229,"title":{},"content":{"94":{"position":[[3857,9]]},"226":{"position":[[3857,9]]}},"keywords":{}}],["smoke",{"_index":6541,"title":{},"content":{"1354":{"position":[[2699,5]]},"1367":{"position":[[10514,5]]},"1392":{"position":[[1969,5]]},"1410":{"position":[[3453,5]]},"1429":{"position":[[4745,5]]},"1440":{"position":[[4827,5]]}},"keywords":{}}],["snake_cas",{"_index":2392,"title":{},"content":{"446":{"position":[[345,10]]},"825":{"position":[[345,10]]},"1136":{"position":[[6701,10]]},"1138":{"position":[[10363,10]]},"1140":{"position":[[9289,10]]},"1142":{"position":[[4733,10]]},"1144":{"position":[[1061,10]]},"1146":{"position":[[4673,10]]},"1148":{"position":[[8264,10]]},"1150":{"position":[[1296,10]]},"1152":{"position":[[994,10]]},"1154":{"position":[[1149,10]]},"1155":{"position":[[4769,10]]},"1156":{"position":[[4347,10]]},"1157":{"position":[[932,10]]},"1158":{"position":[[926,10]]},"1159":{"position":[[926,10]]},"1161":{"position":[[1921,10]]},"1163":{"position":[[1307,10]]},"1165":{"position":[[1136,10]]},"1167":{"position":[[10293,10]]},"1169":{"position":[[3401,10]]},"1171":{"position":[[1642,10]]},"1172":{"position":[[3027,10]]},"1173":{"position":[[1714,10]]},"1174":{"position":[[1142,10]]},"1175":{"position":[[1138,10]]},"1176":{"position":[[1307,10]]},"1177":{"position":[[1228,10]]},"1178":{"position":[[1545,10]]},"1179":{"position":[[1342,10]]},"1180":{"position":[[1613,10]]},"1181":{"position":[[2133,10]]},"1182":{"position":[[1176,10]]},"1183":{"position":[[1131,10]]},"1185":{"position":[[976,10]]},"1186":{"position":[[5937,10]]},"1187":{"position":[[5950,10]]},"1188":{"position":[[10676,10]]},"1190":{"position":[[2307,10]]},"1191":{"position":[[4537,10]]},"1192":{"position":[[4712,10]]},"1193":{"position":[[4764,10]]},"1194":{"position":[[4404,10]]},"1195":{"position":[[4382,10]]},"1196":{"position":[[4192,10]]},"1197":{"position":[[5175,10]]},"1198":{"position":[[5185,10]]},"1199":{"position":[[5213,10]]},"1200":{"position":[[5080,10]]},"1201":{"position":[[4340,10]]},"1202":{"position":[[1084,10],[5482,10],[9879,10]]},"1203":{"position":[[4574,10]]},"1204":{"position":[[4418,10],[5320,10],[6250,10],[7152,10],[8138,10],[9092,10],[10039,10],[10969,10]]},"1205":{"position":[[5747,10]]},"1206":{"position":[[4446,10]]},"1207":{"position":[[4375,10]]},"1209":{"position":[[5723,10]]},"1211":{"position":[[1047,10]]},"1213":{"position":[[818,10]]},"1215":{"position":[[902,10]]},"1217":{"position":[[9034,10]]},"1219":{"position":[[4289,10]]},"1221":{"position":[[1021,10]]},"1222":{"position":[[4160,10]]},"1223":{"position":[[4170,10]]},"1224":{"position":[[3603,10]]},"1226":{"position":[[9502,10]]},"1228":{"position":[[11115,10]]},"1235":{"position":[[6983,10]]},"1237":{"position":[[9672,10]]}},"keywords":{}}],["snakecas",{"_index":1666,"title":{},"content":{"300":{"position":[[320,10]]}},"keywords":{}}],["snapshot",{"_index":5812,"title":{},"content":{"1126":{"position":[[1544,8]]},"1127":{"position":[[652,8]]},"1150":{"position":[[358,9]]},"1215":{"position":[[62,8],[98,8]]},"1219":{"position":[[837,9]]}},"keywords":{}}],["snapshot_reference_images_path",{"_index":6968,"title":{},"content":{"1367":{"position":[[5562,31]]}},"keywords":{}}],["snippet",{"_index":1088,"title":{},"content":{"89":{"position":[[491,7]]},"221":{"position":[[491,7]]},"1103":{"position":[[505,8]]}},"keywords":{}}],["so//java/com/facebook/common/collect:concurr",{"_index":3045,"title":{},"content":{"622":{"position":[[1834,47]]}},"keywords":{}}],["soabi",{"_index":8265,"title":{},"content":{"1461":{"position":[[2679,5]]}},"keywords":{}}],["sobuck2",{"_index":4669,"title":{},"content":{"942":{"position":[[353,7],[534,7],[1062,7]]}},"keywords":{}}],["socket_address",{"_index":5319,"title":{},"content":{"1052":{"position":[[1219,15]]}},"keywords":{}}],["soft_error",{"_index":2386,"title":{"446":{"position":[[0,11]]},"825":{"position":[[0,11]]}},"content":{"446":{"position":[[4,11],[475,11]]},"825":{"position":[[4,11],[475,11]]}},"keywords":{}}],["softwar",{"_index":183,"title":{},"content":{"9":{"position":[[314,8]]},"10":{"position":[[172,8]]},"24":{"position":[[69,9]]},"693":{"position":[[1715,8]]},"1260":{"position":[[1022,8]]},"1291":{"position":[[1022,8]]},"1319":{"position":[[1022,8]]}},"keywords":{}}],["sole",{"_index":3268,"title":{},"content":{"656":{"position":[[112,4]]},"937":{"position":[[4832,4]]}},"keywords":{}}],["solut",{"_index":4506,"title":{"920":{"position":[[9,9]]}},"content":{"991":{"position":[[2946,9],[3391,8]]}},"keywords":{}}],["solv",{"_index":4891,"title":{},"content":{"988":{"position":[[70,5]]}},"keywords":{}}],["some.bxl",{"_index":4780,"title":{},"content":{"962":{"position":[[242,8]]}},"keywords":{}}],["some/other:target",{"_index":8618,"title":{},"content":{"1487":{"position":[[3359,22]]}},"keywords":{}}],["some/packag",{"_index":5356,"title":{},"content":{"1056":{"position":[[305,15]]}},"keywords":{}}],["some/package:target",{"_index":5357,"title":{},"content":{"1056":{"position":[[394,21]]}},"keywords":{}}],["some/path",{"_index":5612,"title":{},"content":{"1093":{"position":[[165,9]]}},"keywords":{}}],["some:target",{"_index":2068,"title":{},"content":{"389":{"position":[[454,15]]},"768":{"position":[[454,15]]},"1258":{"position":[[501,11]]},"1289":{"position":[[501,11]]},"1317":{"position":[[501,11]]},"1381":{"position":[[2672,16]]}},"keywords":{}}],["some_target_i_already_built_befor",{"_index":166,"title":{},"content":{"9":{"position":[[18,34]]}},"keywords":{}}],["somehow",{"_index":5305,"title":{},"content":{"1050":{"position":[[3273,7]]}},"keywords":{}}],["someon",{"_index":5656,"title":{},"content":{"1104":{"position":[[464,7],[558,7]]}},"keywords":{}}],["somepath",{"_index":2451,"title":{},"content":{"476":{"position":[[301,9]]}},"keywords":{}}],["somepath(from",{"_index":6235,"title":{"1261":{"position":[[0,14]]},"1292":{"position":[[0,14]]},"1320":{"position":[[0,14]]}},"content":{"1259":{"position":[[89,14]]},"1290":{"position":[[89,14]]},"1318":{"position":[[89,14]]}},"keywords":{}}],["somequery_param",{"_index":4095,"title":{},"content":{"878":{"position":[[65,16]]}},"keywords":{}}],["someth",{"_index":1470,"title":{},"content":{"237":{"position":[[637,9]]},"288":{"position":[[649,9]]},"289":{"position":[[669,9]]},"422":{"position":[[165,9]]},"510":{"position":[[720,9]]},"511":{"position":[[735,9]]},"513":{"position":[[168,9]]},"514":{"position":[[160,9]]},"687":{"position":[[102,9]]},"706":{"position":[[1669,9],[1761,9],[1900,9],[1975,9],[2203,9]]},"712":{"position":[[1521,9]]},"801":{"position":[[165,9]]},"848":{"position":[[504,9]]},"860":{"position":[[275,9],[340,9]]},"861":{"position":[[234,9]]},"864":{"position":[[713,9],[1034,9],[1175,9]]},"888":{"position":[[508,9]]},"894":{"position":[[454,9]]},"900":{"position":[[1176,9],[1255,9]]},"910":{"position":[[395,9]]},"969":{"position":[[330,9]]},"981":{"position":[[861,9]]},"983":{"position":[[206,9]]},"1006":{"position":[[731,9]]},"1007":{"position":[[235,9]]},"1044":{"position":[[572,9],[3379,9]]},"1050":{"position":[[3734,9]]},"1061":{"position":[[238,9]]},"1087":{"position":[[313,9]]},"1103":{"position":[[630,9],[1711,10]]},"1104":{"position":[[327,9]]},"1131":{"position":[[713,9]]},"1190":{"position":[[326,9]]},"1192":{"position":[[163,9]]},"1286":{"position":[[237,9]]},"1345":{"position":[[1284,9]]},"1446":{"position":[[1767,9]]},"1471":{"position":[[4308,9]]},"1472":{"position":[[4892,9]]},"1473":{"position":[[4629,9]]},"1487":{"position":[[3647,9]]}},"keywords":{}}],["something>",{"_index":7682,"title":{},"content":{"1403":{"position":[[5728,13]]}},"keywords":{}}],["sometim",{"_index":757,"title":{},"content":{"23":{"position":[[2571,9]]},"421":{"position":[[187,9]]},"572":{"position":[[35,9]]},"575":{"position":[[222,9]]},"582":{"position":[[486,9]]},"680":{"position":[[1290,9]]},"800":{"position":[[187,9]]},"905":{"position":[[373,9],[1012,9],[1219,9]]},"1017":{"position":[[537,9]]},"1058":{"position":[[1244,10]]},"1393":{"position":[[4295,9]]},"1399":{"position":[[2277,9]]}},"keywords":{}}],["somevari",{"_index":4261,"title":{},"content":{"890":{"position":[[6642,11]]}},"keywords":{}}],["somewher",{"_index":902,"title":{},"content":{"51":{"position":[[72,9]]},"198":{"position":[[72,9]]},"840":{"position":[[40,9]]}},"keywords":{}}],["son",{"_index":101,"title":{},"content":{"5":{"position":[[392,3]]}},"keywords":{}}],["sonam",{"_index":6769,"title":{},"content":{"1362":{"position":[[4138,7]]},"1364":{"position":[[4123,7]]},"1367":{"position":[[5610,7]]},"1384":{"position":[[3740,7],[18226,7],[18243,6],[18522,6]]},"1387":{"position":[[3672,7]]},"1454":{"position":[[2183,7],[9908,6],[10163,6]]},"1472":{"position":[[1474,7],[5542,7],[5559,6],[5838,6]]},"1480":{"position":[[807,7]]}},"keywords":{}}],["soon",{"_index":3993,"title":{},"content":{"864":{"position":[[1750,5]]},"1226":{"position":[[3962,4]]},"1237":{"position":[[4132,4]]}},"keywords":{}}],["sort",{"_index":1362,"title":{"666":{"position":[[0,7]]}},"content":{"132":{"position":[[53,7]]},"138":{"position":[[50,7]]},"144":{"position":[[44,7]]},"255":{"position":[[53,7]]},"261":{"position":[[50,7]]},"267":{"position":[[44,7]]},"666":{"position":[[4,7],[78,7],[86,4],[186,6],[204,4],[284,6],[320,6],[435,4]]},"1088":{"position":[[464,5]]},"1178":{"position":[[565,4],[578,4]]}},"keywords":{}}],["sorted(["two"",{"_index":3343,"title":{},"content":{"666":{"position":[[604,24],[756,24]]}},"keywords":{}}],["sorted([3",{"_index":3341,"title":{},"content":{"666":{"position":[[492,10],[541,10]]}},"keywords":{}}],["sorted(x",{"_index":3339,"title":{},"content":{"666":{"position":[[102,9]]}},"keywords":{}}],["sourc",{"_index":79,"title":{"679":{"position":[[0,6]]},"680":{"position":[[33,6]]},"1134":{"position":[[65,6]]}},"content":{"5":{"position":[[58,7]]},"18":{"position":[[418,6]]},"22":{"position":[[596,7],[1953,6]]},"23":{"position":[[2768,6]]},"24":{"position":[[251,6],[329,6],[455,6],[593,6],[676,7],[771,6],[819,8],[1094,6]]},"48":{"position":[[60,6]]},"49":{"position":[[123,6]]},"88":{"position":[[109,6]]},"95":{"position":[[126,6]]},"145":{"position":[[116,6],[181,6]]},"195":{"position":[[60,6]]},"196":{"position":[[123,6]]},"220":{"position":[[109,6]]},"227":{"position":[[126,6]]},"268":{"position":[[116,6],[181,6]]},"279":{"position":[[103,6]]},"285":{"position":[[87,7]]},"315":{"position":[[175,6]]},"316":{"position":[[195,6]]},"317":{"position":[[198,6]]},"318":{"position":[[337,6]]},"320":{"position":[[238,6]]},"416":{"position":[[145,8]]},"446":{"position":[[242,6]]},"622":{"position":[[206,6],[400,6],[1004,6]]},"679":{"position":[[25,6],[469,6]]},"680":{"position":[[263,6],[299,6],[690,6],[770,6]]},"687":{"position":[[240,6]]},"693":{"position":[[460,6],[924,6],[1178,6],[5554,6]]},"706":{"position":[[395,6]]},"715":{"position":[[360,9],[871,8]]},"718":{"position":[[563,8]]},"722":{"position":[[300,6],[824,6]]},"795":{"position":[[145,8]]},"825":{"position":[[242,6]]},"861":{"position":[[40,6],[664,7]]},"972":{"position":[[52,9]]},"990":{"position":[[50,8]]},"1025":{"position":[[307,7],[492,7],[541,7],[602,7]]},"1044":{"position":[[2536,6]]},"1049":{"position":[[611,7]]},"1050":{"position":[[3624,6],[3690,8]]},"1075":{"position":[[678,6]]},"1093":{"position":[[648,6]]},"1097":{"position":[[64,6]]},"1102":{"position":[[666,6]]},"1103":{"position":[[1122,6]]},"1104":{"position":[[606,6]]},"1112":{"position":[[1782,6]]},"1123":{"position":[[102,6]]},"1134":{"position":[[50,6]]},"1144":{"position":[[98,6],[133,6]]},"1243":{"position":[[283,6],[475,6]]},"1245":{"position":[[421,6]]},"1260":{"position":[[995,6]]},"1291":{"position":[[995,6]]},"1319":{"position":[[995,6]]},"1348":{"position":[[2412,7],[4398,8]]},"1355":{"position":[[1917,7],[3458,7],[3496,7],[3551,8],[3567,7],[5687,8],[5825,6],[6019,6],[6143,6],[6573,7],[6638,6],[6824,6],[6943,6],[7156,6]]},"1356":{"position":[[1769,6]]},"1360":{"position":[[3575,7],[5320,6],[5456,6],[5522,6],[5636,6]]},"1362":{"position":[[4834,6],[6500,7],[6772,6],[8913,6],[11522,8],[12067,6],[12297,6],[12333,6],[12556,7],[12660,6],[12778,6],[12945,6],[13003,6]]},"1364":{"position":[[4876,6],[6529,7],[7011,6],[10027,6],[12489,8],[12572,6],[12802,6],[12838,6],[13061,7],[13360,6],[13478,6],[13645,6],[13703,6]]},"1367":{"position":[[7927,7],[9001,6],[11892,8],[11975,6],[12205,6],[12241,6],[12464,7],[12568,6],[12686,6],[12853,6],[12911,6]]},"1373":{"position":[[2807,6],[4135,7],[4355,6],[4613,6],[6544,8],[7375,8],[7497,7],[7610,6],[8197,6],[8418,6],[8555,7]]},"1374":{"position":[[2155,6]]},"1381":{"position":[[729,6],[2440,6]]},"1382":{"position":[[3063,6],[4412,7],[5683,6],[8391,8],[8817,6],[9696,8],[9783,6],[10013,6],[10049,6],[10272,7],[10386,6],[11022,6],[11140,6],[11307,6],[11365,6]]},"1383":{"position":[[6221,7],[7323,6],[7459,6],[7525,6],[7639,6]]},"1384":{"position":[[4334,6],[5574,7],[6199,6],[8158,6],[9241,6],[10630,6],[11545,7],[12522,7],[14736,8],[15162,6],[16041,8],[16128,6],[16358,6],[16394,6],[16803,7],[17460,6],[18676,6],[18794,6],[18961,6],[19019,6],[21911,7]]},"1385":{"position":[[2997,7],[3218,7],[3596,6],[4621,8],[5046,6],[5923,8],[6009,6],[6239,6],[6275,6],[6497,7],[6600,6],[6718,6],[6885,6],[6943,6],[7433,6],[7573,7]]},"1387":{"position":[[5259,6],[5489,7],[5929,6],[7994,8],[8419,6],[9296,8],[9382,6],[9612,6],[9648,6],[9870,7],[9973,6],[10091,6],[10258,6],[10316,6],[10763,6],[10904,7]]},"1388":{"position":[[5106,7],[6552,6],[8765,7],[8879,6],[9515,6],[9633,6],[9800,6],[9858,6]]},"1390":{"position":[[638,6],[1824,6],[1911,6]]},"1391":{"position":[[608,6],[1639,6],[1726,6],[1811,6]]},"1392":{"position":[[647,6],[716,6],[2094,6],[2181,6],[2506,6]]},"1393":{"position":[[4832,6],[7726,6]]},"1397":{"position":[[3459,7]]},"1398":{"position":[[4637,6],[5971,11],[6132,7]]},"1403":{"position":[[2990,7],[6423,6],[6559,6],[6625,6],[6739,6],[7463,6]]},"1405":{"position":[[1156,6],[3618,6]]},"1406":{"position":[[1377,6]]},"1407":{"position":[[1185,6],[4237,6]]},"1408":{"position":[[964,6],[2616,6]]},"1410":{"position":[[1600,6],[4641,6],[5028,6]]},"1412":{"position":[[1260,7],[3309,7]]},"1413":{"position":[[1437,7]]},"1415":{"position":[[2489,8],[3817,7],[4503,8],[5037,7],[5075,7],[5522,8]]},"1416":{"position":[[1353,7],[2422,7],[2499,7],[3460,7]]},"1420":{"position":[[1070,8],[2104,7],[2181,7],[2597,7]]},"1423":{"position":[[3001,9],[3299,8]]},"1427":{"position":[[1477,7],[3862,6],[3917,6],[4998,6],[5192,6],[5316,6],[5772,7],[5837,6],[6023,6],[6142,6],[6355,6],[6831,6]]},"1429":{"position":[[1932,7],[4883,7],[4946,6],[5611,6]]},"1430":{"position":[[1280,7]]},"1439":{"position":[[1713,7],[3279,7],[3317,7],[3372,8],[3388,7],[4469,6],[4860,6],[4970,6],[5400,6]]},"1440":{"position":[[2109,7],[5603,6]]},"1442":{"position":[[2395,6],[2513,6],[2680,6],[2738,6]]},"1443":{"position":[[747,7]]},"1444":{"position":[[663,7],[1624,7],[2085,7],[2199,7]]},"1448":{"position":[[1031,6],[2536,6]]},"1449":{"position":[[965,6],[2470,6]]},"1453":{"position":[[940,6]]},"1454":{"position":[[4903,6],[6557,6],[7029,6]]},"1458":{"position":[[1047,6]]},"1461":{"position":[[2175,6],[3275,6]]},"1462":{"position":[[4330,7]]},"1465":{"position":[[1441,6],[2413,6],[3567,6],[3767,6],[4261,6],[4511,6],[4643,6]]},"1467":{"position":[[5978,6],[6378,8],[11048,7],[11162,7]]},"1469":{"position":[[2899,8],[2937,8],[3249,8]]},"1470":{"position":[[2631,7]]},"1471":{"position":[[1724,6],[3061,6],[3999,6],[4080,6],[4182,6],[4293,6],[5063,6],[5116,6]]},"1472":{"position":[[1683,6],[2780,6],[4583,6],[4664,6],[4766,6],[4877,6],[5949,6],[6002,6]]},"1473":{"position":[[1979,6],[3095,6],[4320,6],[4401,6],[4503,6],[4614,6],[5513,6],[5566,6]]},"1474":{"position":[[1256,7]]},"1475":{"position":[[1433,7]]},"1477":{"position":[[2391,6]]},"1485":{"position":[[1964,6],[3081,6],[3251,6],[3886,6],[4004,6],[4171,6],[4229,6]]},"1487":{"position":[[3870,6]]}},"keywords":{}}],["source_abi_verification_mod",{"_index":6377,"title":{},"content":{"1348":{"position":[[2436,29]]},"1355":{"position":[[1941,29]]},"1412":{"position":[[1284,29]]},"1413":{"position":[[1461,29]]},"1427":{"position":[[1501,29]]},"1429":{"position":[[1956,29]]},"1430":{"position":[[1304,29]]},"1439":{"position":[[1737,29]]},"1440":{"position":[[2133,29]]},"1470":{"position":[[2655,29]]},"1474":{"position":[[1280,29]]},"1475":{"position":[[1457,29]]}},"keywords":{}}],["source_artifact_project_rel_path",{"_index":2228,"title":{},"content":{"416":{"position":[[899,32]]},"795":{"position":[[899,32]]}},"keywords":{}}],["source_fil",{"_index":2168,"title":{},"content":{"406":{"position":[[468,12]]},"785":{"position":[[468,12]]}},"keywords":{}}],["source_jar",{"_index":6613,"title":{},"content":{"1358":{"position":[[840,11],[2983,10]]},"1423":{"position":[[3275,10]]},"1458":{"position":[[858,11],[2543,10]]},"1469":{"position":[[2878,10]]}},"keywords":{}}],["source_only_abi_dep",{"_index":6378,"title":{},"content":{"1348":{"position":[[2482,21]]},"1355":{"position":[[1987,21],[6751,21],[7038,20]]},"1412":{"position":[[1330,21]]},"1413":{"position":[[1507,21]]},"1427":{"position":[[1547,21],[5950,21],[6237,20]]},"1429":{"position":[[2002,21]]},"1430":{"position":[[1350,21]]},"1439":{"position":[[1783,21]]},"1440":{"position":[[2179,21]]},"1470":{"position":[[2701,21]]},"1474":{"position":[[1326,21]]},"1475":{"position":[[1503,21]]}},"keywords":{}}],["sources"",{"_index":6794,"title":{},"content":{"1362":{"position":[[8044,14]]},"1364":{"position":[[8893,14]]},"1367":{"position":[[8132,14]]},"1384":{"position":[[10272,14]]}},"keywords":{}}],["sources.dep",{"_index":7847,"title":{},"content":{"1416":{"position":[[2325,13]]},"1420":{"position":[[2007,13]]}},"keywords":{}}],["sources.jar",{"_index":6628,"title":{},"content":{"1358":{"position":[[3018,13]]},"1423":{"position":[[3107,13]]},"1458":{"position":[[2569,13]]},"1469":{"position":[[2980,13],[3292,13],[3618,13]]}},"keywords":{}}],["sources.zip",{"_index":8620,"title":{},"content":{"1487":{"position":[[3482,13]]}},"keywords":{}}],["sources.zip"",{"_index":8627,"title":{},"content":{"1487":{"position":[[3833,17]]}},"keywords":{}}],["sourcestarlark",{"_index":3589,"title":{},"content":{"693":{"position":[[8116,14]]}},"keywords":{}}],["space",{"_index":777,"title":{},"content":{"23":{"position":[[3299,6]]},"577":{"position":[[204,5],[372,7],[653,7],[752,5]]},"601":{"position":[[184,7]]},"616":{"position":[[573,6],[600,6],[714,5],[760,6]]},"916":{"position":[[18,6]]},"1136":{"position":[[1887,5]]},"1148":{"position":[[2243,5]]},"1205":{"position":[[1367,5]]},"1209":{"position":[[1120,5]]},"1226":{"position":[[3060,5]]},"1228":{"position":[[1738,8]]},"1235":{"position":[[2380,5]]},"1237":{"position":[[3230,5]]},"1253":{"position":[[333,5]]},"1360":{"position":[[5018,7]]},"1383":{"position":[[7126,7]]},"1403":{"position":[[5006,7]]}},"keywords":{}}],["space')output_format",{"_index":6881,"title":{},"content":{"1363":{"position":[[4202,21]]}},"keywords":{}}],["span",{"_index":3989,"title":{},"content":{"864":{"position":[[734,5]]},"1058":{"position":[[165,4]]},"1116":{"position":[[62,6]]},"1118":{"position":[[102,5]]},"1120":{"position":[[605,5]]},"1126":{"position":[[437,4],[475,4],[553,4],[696,4],[745,4],[903,4],[948,4],[1003,4],[1052,4],[1217,4]]},"1171":{"position":[[418,5]]},"1177":{"position":[[9,5]]},"1228":{"position":[[1718,5],[1757,4]]},"1232":{"position":[[3205,4],[3430,4]]},"1244":{"position":[[334,5]]}},"keywords":{}}],["span_id",{"_index":5796,"title":{},"content":{"1126":{"position":[[499,8]]}},"keywords":{}}],["spanend",{"_index":5800,"title":{},"content":{"1126":{"position":[[674,7],[975,7]]}},"keywords":{}}],["spanendev",{"_index":5791,"title":{},"content":{"1126":{"position":[[79,14],[918,12],[1102,12]]}},"keywords":{}}],["spanstart",{"_index":5799,"title":{},"content":{"1126":{"position":[[662,9],[768,9]]}},"keywords":{}}],["spanstartev",{"_index":5801,"title":{},"content":{"1126":{"position":[[713,14],[807,14]]}},"keywords":{}}],["spanstat",{"_index":5806,"title":{},"content":{"1126":{"position":[[1064,10],[1222,9]]}},"keywords":{}}],["spare",{"_index":3681,"title":{},"content":{"706":{"position":[[2235,5]]}},"keywords":{}}],["spars",{"_index":4493,"title":{},"content":{"919":{"position":[[957,6]]}},"keywords":{}}],["spawn",{"_index":2022,"title":{},"content":{"374":{"position":[[2008,5]]},"753":{"position":[[2008,5]]},"1446":{"position":[[1890,7]]}},"keywords":{}}],["spec",{"_index":3578,"title":{},"content":{"693":{"position":[[7011,4],[7082,4]]},"857":{"position":[[229,5]]},"884":{"position":[[54,4]]},"1193":{"position":[[62,10],[84,10],[114,5],[167,5],[210,4],[306,5]]},"1219":{"position":[[418,4]]},"1367":{"position":[[5634,6]]},"1410":{"position":[[1422,6]]},"1429":{"position":[[2039,6]]},"1467":{"position":[[4397,6]]}},"keywords":{}}],["speci",{"_index":3844,"title":{},"content":{"839":{"position":[[196,6]]}},"keywords":{}}],["special",{"_index":700,"title":{"685":{"position":[[14,7]]}},"content":{"23":{"position":[[433,7]]},"121":{"position":[[28,7]]},"126":{"position":[[255,7]]},"249":{"position":[[255,7]]},"283":{"position":[[119,7]]},"406":{"position":[[639,7]]},"462":{"position":[[121,7]]},"530":{"position":[[28,7]]},"643":{"position":[[176,7]]},"682":{"position":[[193,7]]},"785":{"position":[[639,7]]},"846":{"position":[[630,7]]},"900":{"position":[[1591,7],[2115,7]]},"914":{"position":[[159,7]]},"937":{"position":[[3689,7]]},"987":{"position":[[50,7]]},"990":{"position":[[1398,7]]},"991":{"position":[[3446,7]]},"1044":{"position":[[326,7]]},"1136":{"position":[[1217,7],[1567,7],[1763,7]]},"1148":{"position":[[1016,8],[1573,7],[1923,7],[2119,7]]},"1205":{"position":[[697,7],[1047,7],[1243,7]]},"1209":{"position":[[450,7],[800,7],[996,7]]},"1226":{"position":[[2390,7],[2740,7],[2936,7]]},"1235":{"position":[[808,8],[996,7],[1710,7],[2060,7],[2256,7]]},"1237":{"position":[[2560,7],[2910,7],[3106,7]]},"1439":{"position":[[5004,7]]},"1455":{"position":[[1228,7]]}},"keywords":{}}],["specif",{"_index":310,"title":{"583":{"position":[[34,15]]},"853":{"position":[[6,8]]},"854":{"position":[[6,8]]},"879":{"position":[[7,8]]},"884":{"position":[[18,13]]},"1065":{"position":[[5,8]]}},"content":{"10":{"position":[[22,8]]},"20":{"position":[[73,14]]},"36":{"position":[[44,8]]},"41":{"position":[[418,9]]},"131":{"position":[[495,8]]},"174":{"position":[[418,9]]},"181":{"position":[[44,8]]},"254":{"position":[[495,8]]},"583":{"position":[[92,15]]},"584":{"position":[[577,8]]},"675":{"position":[[435,13]]},"679":{"position":[[535,8]]},"693":{"position":[[6311,13],[6700,8]]},"712":{"position":[[2259,13]]},"853":{"position":[[103,8]]},"870":{"position":[[200,8]]},"872":{"position":[[647,8]]},"874":{"position":[[288,8]]},"879":{"position":[[7,8]]},"884":{"position":[[18,13]]},"905":{"position":[[1039,8],[1253,8]]},"933":{"position":[[5,8]]},"937":{"position":[[3412,8],[4720,8]]},"944":{"position":[[1338,9]]},"1000":{"position":[[619,8]]},"1007":{"position":[[178,8]]},"1025":{"position":[[450,13]]},"1026":{"position":[[178,8]]},"1031":{"position":[[90,13]]},"1053":{"position":[[126,8]]},"1056":{"position":[[46,8],[99,8]]},"1106":{"position":[[214,8]]},"1112":{"position":[[1271,8],[4309,9],[4700,8]]},"1126":{"position":[[1485,8]]},"1127":{"position":[[281,8],[571,8]]},"1136":{"position":[[6296,8]]},"1138":{"position":[[9958,8]]},"1140":{"position":[[8884,8]]},"1142":{"position":[[4328,8]]},"1144":{"position":[[656,8]]},"1146":{"position":[[4268,8]]},"1148":{"position":[[7859,8]]},"1150":{"position":[[891,8]]},"1152":{"position":[[589,8]]},"1154":{"position":[[744,8]]},"1155":{"position":[[4364,8]]},"1156":{"position":[[3942,8]]},"1157":{"position":[[527,8]]},"1158":{"position":[[521,8]]},"1159":{"position":[[521,8]]},"1161":{"position":[[1516,8]]},"1163":{"position":[[902,8]]},"1165":{"position":[[731,8]]},"1167":{"position":[[810,8],[9888,8]]},"1169":{"position":[[2996,8]]},"1171":{"position":[[1237,8]]},"1172":{"position":[[2622,8]]},"1173":{"position":[[1309,8]]},"1174":{"position":[[737,8]]},"1175":{"position":[[733,8]]},"1176":{"position":[[902,8]]},"1177":{"position":[[823,8]]},"1178":{"position":[[1140,8]]},"1179":{"position":[[937,8]]},"1180":{"position":[[1208,8]]},"1181":{"position":[[1728,8]]},"1182":{"position":[[771,8]]},"1183":{"position":[[726,8]]},"1185":{"position":[[571,8]]},"1186":{"position":[[5532,8]]},"1187":{"position":[[5545,8]]},"1188":{"position":[[10271,8]]},"1190":{"position":[[1902,8]]},"1191":{"position":[[4132,8]]},"1192":{"position":[[4307,8]]},"1193":{"position":[[4359,8]]},"1194":{"position":[[3999,8]]},"1195":{"position":[[3977,8]]},"1196":{"position":[[3787,8]]},"1197":{"position":[[4770,8]]},"1198":{"position":[[4780,8]]},"1199":{"position":[[4808,8]]},"1200":{"position":[[4675,8]]},"1201":{"position":[[3935,8]]},"1202":{"position":[[679,8],[5077,8],[9474,8]]},"1203":{"position":[[4169,8]]},"1204":{"position":[[4013,8],[4915,8],[5845,8],[6747,8],[7733,8],[8687,8],[9634,8],[10564,8]]},"1205":{"position":[[5342,8]]},"1206":{"position":[[4041,8]]},"1207":{"position":[[3970,8]]},"1209":{"position":[[5318,8]]},"1211":{"position":[[239,8],[642,8]]},"1213":{"position":[[413,8]]},"1215":{"position":[[497,8]]},"1217":{"position":[[8629,8]]},"1219":{"position":[[3884,8]]},"1221":{"position":[[616,8]]},"1222":{"position":[[3755,8]]},"1223":{"position":[[3765,8]]},"1224":{"position":[[3198,8]]},"1226":{"position":[[9097,8]]},"1228":{"position":[[10710,8]]},"1235":{"position":[[6578,8]]},"1237":{"position":[[9267,8]]},"1258":{"position":[[1018,8]]},"1282":{"position":[[259,8]]},"1283":{"position":[[276,8]]},"1284":{"position":[[256,8]]},"1289":{"position":[[1018,8]]},"1313":{"position":[[259,8]]},"1314":{"position":[[276,8]]},"1315":{"position":[[256,8]]},"1317":{"position":[[1018,8]]},"1341":{"position":[[259,8]]},"1342":{"position":[[276,8]]},"1343":{"position":[[256,8]]},"1354":{"position":[[2758,8]]},"1360":{"position":[[2781,8],[4579,8]]},"1362":{"position":[[5037,8],[11247,8],[11604,8],[12058,8]]},"1363":{"position":[[4498,14]]},"1364":{"position":[[5064,8],[8156,8],[12214,8],[12563,8]]},"1367":{"position":[[10573,8],[11617,8],[11966,8]]},"1373":{"position":[[6269,8],[6625,8],[7092,8]]},"1374":{"position":[[2698,8],[3598,8]]},"1382":{"position":[[8116,8],[8468,8],[8945,8],[9413,8],[9774,8]]},"1383":{"position":[[1442,12],[2366,8],[6611,8]]},"1384":{"position":[[7326,8],[7809,8],[8342,8],[8958,8],[9784,8],[11403,8],[11565,8],[11891,8],[12139,8],[12376,8],[12542,8],[14461,8],[14813,8],[15290,8],[15758,8],[16119,8],[22063,8]]},"1385":{"position":[[4346,8],[4697,8],[5173,8],[5640,8],[6000,8]]},"1386":{"position":[[5029,8]]},"1387":{"position":[[7719,8],[8070,8],[8546,8],[9013,8],[9373,8]]},"1392":{"position":[[2028,8]]},"1398":{"position":[[6057,8]]},"1403":{"position":[[2196,8],[3994,8]]},"1410":{"position":[[3512,8]]},"1415":{"position":[[4228,8],[4584,8]]},"1416":{"position":[[3086,8]]},"1420":{"position":[[2223,8]]},"1429":{"position":[[4804,8]]},"1439":{"position":[[5551,8]]},"1440":{"position":[[4886,8]]},"1448":{"position":[[2169,8]]},"1449":{"position":[[2103,8]]},"1454":{"position":[[5726,8],[6208,8],[6746,8],[7929,8],[8241,8],[8557,8]]},"1455":{"position":[[2497,8]]},"1462":{"position":[[6510,8],[8743,8]]},"1465":{"position":[[3145,8],[3558,8],[4034,8]]},"1467":{"position":[[7625,8],[9414,8],[10226,8]]},"1485":{"position":[[2732,8]]}},"keywords":{}}],["specifi",{"_index":600,"title":{"905":{"position":[[0,10]]},"1130":{"position":[[9,7]]}},"content":{"18":{"position":[[2214,7]]},"22":{"position":[[1175,9],[2092,7]]},"23":{"position":[[1430,9],[1614,10]]},"40":{"position":[[135,10]]},"41":{"position":[[213,10]]},"98":{"position":[[1451,10]]},"131":{"position":[[330,9]]},"145":{"position":[[200,9]]},"173":{"position":[[135,10]]},"174":{"position":[[213,10]]},"230":{"position":[[1451,10]]},"254":{"position":[[330,9]]},"268":{"position":[[200,9]]},"334":{"position":[[407,9]]},"337":{"position":[[343,9]]},"338":{"position":[[372,9]]},"418":{"position":[[132,9]]},"431":{"position":[[48,9]]},"474":{"position":[[146,9]]},"478":{"position":[[224,9]]},"557":{"position":[[157,9]]},"582":{"position":[[61,10],[178,7]]},"583":{"position":[[117,9],[356,9],[450,9],[510,9]]},"584":{"position":[[1002,7]]},"587":{"position":[[151,9]]},"593":{"position":[[187,9]]},"594":{"position":[[277,10],[293,7]]},"595":{"position":[[447,9],[606,9],[819,9],[1059,9],[1253,10],[1279,9]]},"610":{"position":[[312,9]]},"616":{"position":[[405,9],[494,9],[839,9]]},"618":{"position":[[195,9]]},"634":{"position":[[156,9]]},"636":{"position":[[286,10],[408,9]]},"639":{"position":[[346,9]]},"648":{"position":[[586,7],[816,9]]},"654":{"position":[[258,9]]},"662":{"position":[[201,9]]},"663":{"position":[[889,7]]},"666":{"position":[[367,9]]},"675":{"position":[[60,7],[935,9]]},"676":{"position":[[103,10]]},"679":{"position":[[17,7],[86,7],[126,10],[255,7]]},"680":{"position":[[253,7],[1209,7]]},"681":{"position":[[80,10],[142,9],[244,7],[395,9],[477,9],[588,9]]},"683":{"position":[[249,7]]},"686":{"position":[[94,7]]},"688":{"position":[[485,9],[1316,9]]},"693":{"position":[[163,9],[2451,9],[5348,7],[6257,9],[6341,9]]},"695":{"position":[[61,7],[172,10]]},"699":{"position":[[100,7]]},"700":{"position":[[102,10]]},"715":{"position":[[318,9],[852,9]]},"720":{"position":[[148,7]]},"797":{"position":[[132,9]]},"810":{"position":[[48,9]]},"850":{"position":[[78,9]]},"851":{"position":[[373,7],[1234,7]]},"901":{"position":[[844,7]]},"905":{"position":[[471,7],[1188,7]]},"916":{"position":[[432,9]]},"919":{"position":[[173,9],[336,9],[1729,7]]},"927":{"position":[[304,9]]},"937":{"position":[[295,9],[452,9],[625,9],[2163,7],[3170,7],[3890,7]]},"939":{"position":[[587,10],[1737,9]]},"940":{"position":[[36,9],[161,9],[239,9],[898,7],[1246,9]]},"941":{"position":[[30,9],[94,9]]},"942":{"position":[[35,9],[500,9],[620,10],[749,7],[1011,9],[1203,7],[1376,10],[1582,9],[1671,10]]},"943":{"position":[[381,9],[2003,9],[2099,9],[2233,9]]},"944":{"position":[[891,10]]},"945":{"position":[[106,10],[342,10]]},"987":{"position":[[621,10]]},"1021":{"position":[[437,7],[520,9]]},"1027":{"position":[[126,7]]},"1042":{"position":[[537,7]]},"1050":{"position":[[2416,7]]},"1072":{"position":[[360,10]]},"1093":{"position":[[504,9]]},"1097":{"position":[[207,9]]},"1098":{"position":[[184,7],[505,9]]},"1114":{"position":[[291,9]]},"1121":{"position":[[5,10]]},"1129":{"position":[[0,7],[188,7]]},"1131":{"position":[[307,7],[474,9],[544,9]]},"1133":{"position":[[260,9],[492,9],[785,9]]},"1136":{"position":[[1620,7]]},"1138":{"position":[[10,9],[3188,9],[4735,7],[5234,9],[5331,9],[5709,10]]},"1140":{"position":[[585,10],[745,7],[2677,9],[4224,7],[4723,9],[4820,9]]},"1142":{"position":[[289,9]]},"1146":{"position":[[257,10]]},"1148":{"position":[[378,7],[1976,7],[3059,10]]},"1150":{"position":[[95,9]]},"1154":{"position":[[23,9]]},"1167":{"position":[[3681,9],[5228,7],[5727,9],[5824,9]]},"1186":{"position":[[1283,10]]},"1187":{"position":[[1296,10]]},"1188":{"position":[[638,10],[798,7],[2730,9],[4277,7],[4776,9],[4873,9],[6022,10]]},"1190":{"position":[[892,9]]},"1197":{"position":[[521,10]]},"1198":{"position":[[531,10]]},"1199":{"position":[[559,10]]},"1200":{"position":[[426,10]]},"1201":{"position":[[49,9]]},"1205":{"position":[[1100,7]]},"1209":{"position":[[853,7]]},"1217":{"position":[[2422,9],[3969,7],[4468,9],[4565,9]]},"1226":{"position":[[337,9],[1570,7],[2793,7]]},"1228":{"position":[[19,9],[4503,9],[6050,7],[6549,9],[6646,9]]},"1235":{"position":[[2113,7]]},"1237":{"position":[[23,9],[507,9],[1740,7],[2963,7]]},"1243":{"position":[[1195,7]]},"1259":{"position":[[363,9],[396,9],[1005,9],[1099,9],[1350,9]]},"1262":{"position":[[148,9],[181,9],[379,9],[514,9]]},"1271":{"position":[[48,9],[142,9],[163,9]]},"1273":{"position":[[63,9],[135,9],[429,9]]},"1290":{"position":[[363,9],[396,9],[1005,9],[1099,9],[1350,9]]},"1293":{"position":[[148,9],[181,9],[379,9],[514,9]]},"1302":{"position":[[48,9],[142,9],[163,9]]},"1304":{"position":[[63,9],[135,9],[429,9]]},"1318":{"position":[[363,9],[396,9],[1005,9],[1099,9],[1350,9]]},"1321":{"position":[[148,9],[181,9],[379,9],[514,9]]},"1330":{"position":[[48,9],[142,9],[163,9]]},"1332":{"position":[[63,9],[135,9],[429,9]]},"1346":{"position":[[52,9]]},"1348":{"position":[[2757,9],[2823,9],[3790,10],[3949,7]]},"1349":{"position":[[902,9],[968,9]]},"1350":{"position":[[3873,9],[3939,9]]},"1351":{"position":[[1093,9],[1159,9],[2332,9],[2409,7],[2714,9],[2791,7]]},"1352":{"position":[[3872,9],[3938,9]]},"1353":{"position":[[1476,9],[1542,9]]},"1354":{"position":[[1314,9],[1380,9],[2890,9],[3057,9]]},"1355":{"position":[[2453,9],[2519,9],[3275,9],[4650,9],[6581,9],[7422,9]]},"1356":{"position":[[820,9],[886,9]]},"1357":{"position":[[493,9],[559,9]]},"1358":{"position":[[1214,9],[1280,9]]},"1359":{"position":[[1051,9],[1117,9]]},"1360":{"position":[[1682,9],[1748,9],[3721,9],[4287,9],[4968,7],[5436,7],[5503,7]]},"1361":{"position":[[1041,9],[1107,9],[2002,9],[2263,9]]},"1362":{"position":[[5405,9],[5471,9],[6870,9],[7041,10],[7404,10],[8958,9],[9129,10],[9420,10],[11288,9],[11644,9],[12097,9],[12932,10],[12990,10],[13106,9],[13693,8]]},"1363":{"position":[[3056,9],[3151,9],[3217,9],[4390,10],[4952,9],[5233,9],[5984,7],[6206,10]]},"1364":{"position":[[5434,9],[5500,9],[6892,9],[7109,9],[7280,10],[7643,10],[8266,9],[10072,9],[10243,10],[10534,10],[12255,9],[12602,9],[13632,10],[13690,10],[13806,9],[14393,8]]},"1365":{"position":[[975,9],[1041,9]]},"1366":{"position":[[1181,9],[1247,9],[1988,9]]},"1367":{"position":[[6832,9],[6898,9],[9046,9],[9217,10],[9508,10],[9868,9],[10149,9],[11658,9],[12005,9],[12840,10],[12898,10],[13014,9],[13557,9],[13838,9]]},"1368":{"position":[[1531,9],[1597,9]]},"1369":{"position":[[583,9],[649,9]]},"1370":{"position":[[830,9],[896,9]]},"1371":{"position":[[459,9],[525,9]]},"1372":{"position":[[2097,9],[2163,9]]},"1373":{"position":[[2969,9],[3035,9],[4658,9],[5057,10],[6310,9],[6665,9],[7137,9]]},"1374":{"position":[[865,9],[931,9],[1720,9],[2345,9],[2506,9]]},"1375":{"position":[[495,9],[561,9]]},"1376":{"position":[[451,9],[517,9]]},"1377":{"position":[[690,9],[756,9]]},"1378":{"position":[[437,9],[503,9]]},"1379":{"position":[[460,9],[526,9]]},"1380":{"position":[[931,9],[997,9]]},"1381":{"position":[[837,9],[903,9],[1919,7]]},"1382":{"position":[[3317,9],[3383,9],[5728,9],[6127,10],[8157,9],[8507,9],[8985,9],[9458,9],[9813,9],[11294,10],[11352,10],[11468,9]]},"1383":{"position":[[1555,9],[1621,9],[3548,7],[3892,7],[4180,7],[4330,10],[5319,9],[5454,9],[6320,9],[7076,7],[7439,7],[7506,7],[7664,9],[8463,9],[8581,9],[8751,7],[8933,7]]},"1384":{"position":[[4309,9],[4376,7],[4479,9],[4545,9],[5937,9],[6290,9],[6639,10],[7434,9],[7848,9],[8452,9],[9012,9],[10675,9],[11074,10],[11444,9],[11932,9],[12184,9],[12421,9],[14502,9],[14852,9],[15330,9],[15803,9],[16158,9],[18948,10],[19006,10],[19122,9],[19856,9],[20093,9],[20259,7],[20346,7],[20472,9],[20899,7],[21002,7],[21072,7]]},"1385":{"position":[[2156,9],[2222,9],[2987,9],[3641,9],[4040,10],[4387,9],[4736,9],[5213,9],[5685,9],[6039,9],[6872,10],[6930,10],[7046,9]]},"1386":{"position":[[587,9],[794,9],[860,9],[1643,9],[1749,10],[4606,9]]},"1387":{"position":[[4425,9],[4491,9],[5249,9],[5974,9],[6373,10],[7760,9],[8109,9],[8586,9],[9058,9],[9412,9],[10245,10],[10303,10],[10419,9]]},"1388":{"position":[[3617,9],[3683,9],[6597,9],[6996,10],[9787,10],[9845,10],[9961,9],[10117,9],[10284,9]]},"1389":{"position":[[4478,9],[4544,9]]},"1390":{"position":[[730,9],[796,9],[1592,10],[1759,10],[1898,10]]},"1391":{"position":[[683,9],[749,9],[1545,10],[1713,10]]},"1392":{"position":[[833,9],[899,9],[1695,10],[2168,10],[2241,9],[2408,9]]},"1393":{"position":[[1405,9],[1471,9],[2660,9],[2796,7],[2913,9],[3253,7],[3563,9],[5122,7],[5279,9],[5701,7],[6219,9],[6939,9],[7832,9],[8356,9],[8491,7],[8622,9]]},"1394":{"position":[[853,9],[919,9]]},"1395":{"position":[[862,9],[928,9],[2046,9],[2136,7],[2583,9]]},"1396":{"position":[[659,9],[725,9]]},"1397":{"position":[[840,9],[906,9],[1651,9],[2438,9],[2734,9]]},"1398":{"position":[[1512,9],[1578,9],[2454,7],[3828,9],[4763,9],[5710,9]]},"1399":{"position":[[695,9],[761,9]]},"1400":{"position":[[564,9],[630,9]]},"1401":{"position":[[639,9],[705,9]]},"1402":{"position":[[795,9],[861,9]]},"1403":{"position":[[1385,9],[1451,9],[3136,9],[3702,9],[4956,7],[6539,7],[6606,7],[6764,9]]},"1404":{"position":[[628,9],[694,9]]},"1405":{"position":[[1319,9],[1385,9]]},"1406":{"position":[[535,9],[601,9]]},"1407":{"position":[[1360,9],[1426,9]]},"1408":{"position":[[1056,9],[1122,9]]},"1409":{"position":[[590,9],[656,9]]},"1410":{"position":[[1587,9],[1752,9],[1818,9],[3565,7],[3684,9],[5340,9],[5507,9],[5589,7],[5644,7]]},"1411":{"position":[[573,9],[639,9]]},"1412":{"position":[[1773,9],[1839,9]]},"1413":{"position":[[1957,9],[2023,9]]},"1414":{"position":[[824,9],[890,9]]},"1415":{"position":[[2806,9],[2872,9],[4269,9],[4624,9]]},"1416":{"position":[[1458,9],[1524,9],[3022,10],[3125,9]]},"1417":{"position":[[1047,9],[1113,9]]},"1418":{"position":[[748,9],[814,9]]},"1419":{"position":[[876,9],[942,9]]},"1420":{"position":[[1140,9],[1206,9],[2262,9]]},"1421":{"position":[[1115,9],[1181,9]]},"1422":{"position":[[1018,9],[1084,9],[2953,9],[3394,9]]},"1423":{"position":[[1007,9],[1073,9]]},"1424":{"position":[[1132,9],[1198,9]]},"1425":{"position":[[748,9],[814,9]]},"1426":{"position":[[1091,9],[1157,9],[2502,9],[2981,9]]},"1427":{"position":[[1889,9],[1988,9],[2054,9],[3795,9],[4637,9],[5780,9],[6911,9]]},"1428":{"position":[[730,9],[796,9]]},"1429":{"position":[[2652,9],[2718,9],[5023,9],[5407,9],[5453,10],[5837,9],[6004,9],[6042,9]]},"1430":{"position":[[1506,9],[1572,9]]},"1431":{"position":[[850,9],[916,9]]},"1432":{"position":[[1371,9],[1437,9]]},"1433":{"position":[[892,9],[958,9]]},"1434":{"position":[[566,9],[632,9]]},"1435":{"position":[[530,9],[596,9]]},"1436":{"position":[[546,9],[612,9]]},"1437":{"position":[[616,9],[682,9]]},"1438":{"position":[[750,9],[816,9]]},"1439":{"position":[[2175,9],[2274,9],[2340,9],[3096,9],[4716,7],[4818,7],[5647,7],[7136,9]]},"1440":{"position":[[2840,9],[2906,9],[5017,9],[5401,9],[5447,10],[5737,9],[5904,9],[5942,9]]},"1441":{"position":[[572,9],[638,9]]},"1442":{"position":[[645,9],[711,9],[2667,10],[2725,10],[2841,9]]},"1443":{"position":[[867,9],[933,9]]},"1444":{"position":[[783,9],[849,9],[1614,9]]},"1445":{"position":[[472,9],[538,9]]},"1446":{"position":[[806,9],[872,9]]},"1447":{"position":[[688,9],[754,9]]},"1448":{"position":[[1123,9],[1189,9],[2001,10],[2208,9]]},"1449":{"position":[[1057,9],[1123,9],[1935,10],[2142,9]]},"1450":{"position":[[936,9],[1002,9]]},"1451":{"position":[[936,9],[1002,9]]},"1452":{"position":[[482,9],[548,9]]},"1453":{"position":[[1068,9],[1134,9]]},"1454":{"position":[[3434,9],[3500,9],[4785,9],[4994,9],[5343,10],[5834,9],[6247,9],[6800,9],[7970,9],[8282,9],[8602,9]]},"1455":{"position":[[1321,9],[1387,9],[2433,9],[2605,9]]},"1456":{"position":[[666,9],[732,9]]},"1457":{"position":[[648,9],[725,9],[791,9]]},"1458":{"position":[[1260,9],[1326,9]]},"1459":{"position":[[739,9],[805,9]]},"1460":{"position":[[851,9],[917,9]]},"1461":{"position":[[1066,9],[1132,9]]},"1462":{"position":[[4447,9],[4513,9],[5874,7],[7403,7],[9122,9]]},"1463":{"position":[[573,9],[639,9]]},"1464":{"position":[[481,9],[547,9]]},"1465":{"position":[[1579,9],[1645,9],[2403,9],[3186,9],[3597,9],[4587,9]]},"1466":{"position":[[817,9],[883,9]]},"1467":{"position":[[5136,9],[5202,9],[5968,9],[8372,7],[9455,9],[10359,9],[10526,9],[10699,7],[10777,7]]},"1468":{"position":[[581,9],[647,9]]},"1469":{"position":[[954,9],[1020,9],[2162,7],[2207,7]]},"1470":{"position":[[3483,9],[3549,9],[4701,7]]},"1471":{"position":[[1817,9],[1883,9]]},"1472":{"position":[[1776,9],[1842,9]]},"1473":{"position":[[2091,9],[2157,9]]},"1474":{"position":[[1482,9],[1548,9]]},"1475":{"position":[[1953,9],[2019,9]]},"1476":{"position":[[558,9],[624,9]]},"1477":{"position":[[710,9],[776,9],[2129,9],[2462,9]]},"1478":{"position":[[1201,9],[1267,9]]},"1479":{"position":[[650,9],[716,9]]},"1480":{"position":[[1063,9],[1129,9]]},"1481":{"position":[[1596,9],[1662,9]]},"1482":{"position":[[670,9],[736,9]]},"1483":{"position":[[504,9],[570,9]]},"1484":{"position":[[576,9],[642,9]]},"1485":{"position":[[690,9],[836,9],[902,9],[2009,9],[2408,10],[2771,9],[4158,10],[4216,10],[4332,9],[4672,9]]},"1486":{"position":[[1080,9],[1146,9],[2434,9]]},"1487":{"position":[[775,9],[841,9]]}},"keywords":{}}],["specificationsbelow",{"_index":2679,"title":{},"content":{"581":{"position":[[1010,20]]}},"keywords":{}}],["specified,rsplit",{"_index":2964,"title":{},"content":{"614":{"position":[[261,16]]}},"keywords":{}}],["specified.persist",{"_index":8564,"title":{},"content":{"1486":{"position":[[2618,21]]}},"keywords":{}}],["specifiedjava_librari",{"_index":3418,"title":{},"content":{"681":{"position":[[655,21]]}},"keywords":{}}],["specifiesappl",{"_index":7465,"title":{},"content":{"1393":{"position":[[3733,21]]}},"keywords":{}}],["specul",{"_index":5134,"title":{},"content":{"1040":{"position":[[589,11]]}},"keywords":{}}],["speed",{"_index":3550,"title":{},"content":{"693":{"position":[[4151,5],[6840,5]]},"724":{"position":[[1515,5]]},"919":{"position":[[772,5]]},"1181":{"position":[[512,5],[554,5]]}},"keywords":{}}],["speedup",{"_index":3558,"title":{},"content":{"693":{"position":[[4905,7]]},"1078":{"position":[[11,7]]}},"keywords":{}}],["spend",{"_index":249,"title":{},"content":{"9":{"position":[[1549,8]]},"1232":{"position":[[3360,8]]}},"keywords":{}}],["spent",{"_index":5358,"title":{},"content":{"1056":{"position":[[551,5],[1149,5]]},"1057":{"position":[[68,5],[572,5],[694,5]]},"1058":{"position":[[52,5],[405,5]]},"1059":{"position":[[73,5]]}},"keywords":{}}],["spit",{"_index":5466,"title":{},"content":{"1061":{"position":[[413,5]]}},"keywords":{}}],["split",{"_index":2400,"title":{},"content":{"447":{"position":[[104,6]]},"607":{"position":[[144,6]]},"613":{"position":[[161,6]]},"614":{"position":[[108,6],[169,6],[251,6],[300,7]]},"616":{"position":[[106,5],[201,9],[372,9],[467,5],[516,5],[636,6],[767,5],[869,7]]},"617":{"position":[[240,9]]},"826":{"position":[[104,6]]},"904":{"position":[[73,6]]},"965":{"position":[[526,5]]},"980":{"position":[[1128,5],[1319,6]]},"1004":{"position":[[659,5],[1681,5]]},"1006":{"position":[[346,5],[835,5],[1220,5],[1278,5]]},"1124":{"position":[[89,5]]},"1252":{"position":[[321,9]]}},"keywords":{}}],["split_arch_dsym",{"_index":6868,"title":{},"content":{"1363":{"position":[[2503,16]]},"1370":{"position":[[528,16],[2187,16]]}},"keywords":{}}],["split_debug_mod",{"_index":7405,"title":{},"content":{"1389":{"position":[[3924,17]]}},"keywords":{}}],["spottedan",{"_index":6151,"title":{},"content":{"1232":{"position":[[3552,9]]}},"keywords":{}}],["sqlite",{"_index":5527,"title":{},"content":{"1077":{"position":[[55,6]]}},"keywords":{}}],["sqlite_materializer_st",{"_index":5528,"title":{},"content":{"1077":{"position":[[307,25]]}},"keywords":{}}],["squint",{"_index":3677,"title":{},"content":{"706":{"position":[[1520,7]]}},"keywords":{}}],["src",{"_index":558,"title":{},"content":{"18":{"position":[[659,4]]},"86":{"position":[[66,5],[183,4]]},"87":{"position":[[62,4]]},"88":{"position":[[63,4]]},"95":{"position":[[66,4]]},"96":{"position":[[69,5],[181,4]]},"218":{"position":[[66,5],[183,4]]},"219":{"position":[[62,4]]},"220":{"position":[[63,4]]},"227":{"position":[[66,4]]},"228":{"position":[[69,5],[181,4]]},"368":{"position":[[1596,6],[1628,4],[1635,4],[2023,4]]},"622":{"position":[[1442,4],[1605,4],[1940,5],[1981,4]]},"679":{"position":[[182,4],[326,4]]},"681":{"position":[[310,5]]},"693":{"position":[[1131,5]]},"747":{"position":[[1596,6],[1628,4],[1635,4],[2023,4]]},"993":{"position":[[272,4]]},"1048":{"position":[[371,4],[1392,4],[1454,3]]},"1104":{"position":[[627,4]]},"1262":{"position":[[296,5]]},"1293":{"position":[[296,5]]},"1321":{"position":[[296,5]]},"1348":{"position":[[2519,5],[4645,4]]},"1351":{"position":[[4246,4],[5398,4]]},"1353":{"position":[[3022,4]]},"1355":{"position":[[2024,5],[7359,5],[7934,4]]},"1358":{"position":[[3236,4]]},"1360":{"position":[[1215,5],[3341,7],[3349,7],[3383,4],[3477,4],[4909,5],[5284,5],[6151,7]]},"1362":{"position":[[4162,5],[12460,4],[12595,5],[13920,4]]},"1364":{"position":[[4147,5],[12965,4],[13295,5],[14628,4]]},"1367":{"position":[[5657,5],[12368,4],[12503,5],[14475,4]]},"1373":{"position":[[2595,5],[4466,4],[6172,4],[8728,4],[8823,4],[8927,4]]},"1374":{"position":[[2991,4],[3272,3],[3662,3],[3744,3],[3820,3]]},"1381":{"position":[[621,5],[2618,4]]},"1382":{"position":[[2841,5],[10176,4],[10957,5],[11773,4],[11873,4]]},"1383":{"position":[[1093,5],[5996,7],[6037,4],[6131,4],[7017,5],[7287,5]]},"1384":{"position":[[3764,5],[16521,4],[18611,5],[21365,4],[21595,4],[22079,4]]},"1385":{"position":[[1750,5],[6402,4],[7318,4],[7500,4]]},"1386":{"position":[[500,4],[3578,3],[3777,4]]},"1387":{"position":[[3696,5],[5553,4],[9775,4],[10697,4],[10833,4]]},"1388":{"position":[[3230,5],[9450,5],[10415,4]]},"1390":{"position":[[515,5],[2080,6],[2154,6],[2223,6]]},"1391":{"position":[[516,5],[1876,6],[1945,6]]},"1392":{"position":[[513,5],[2542,4]]},"1393":{"position":[[930,5],[5964,4],[7680,5],[7787,4],[9988,4],[10203,3],[10319,4],[10678,4]]},"1395":{"position":[[3878,4]]},"1397":{"position":[[3827,3],[3901,3]]},"1398":{"position":[[3044,4],[5966,4]]},"1399":{"position":[[511,4],[2224,3],[2392,3],[2471,3],[2682,3],[2745,3],[2878,3]]},"1401":{"position":[[482,5],[1796,4]]},"1402":{"position":[[2164,4]]},"1403":{"position":[[1118,5],[2756,7],[2764,7],[2798,4],[2892,4],[4897,5],[6387,5],[7652,4],[7959,4],[8522,4],[8574,3],[8734,3]]},"1405":{"position":[[1027,5],[3496,4],[3997,6],[4072,6],[4143,6]]},"1406":{"position":[[440,5]]},"1407":{"position":[[1054,5],[3917,4],[4639,4],[4850,4]]},"1408":{"position":[[858,5],[2536,4],[2937,6]]},"1410":{"position":[[1445,5],[3640,5],[4904,4],[5011,5],[5802,6],[5879,6],[6002,6]]},"1412":{"position":[[1367,5],[3392,5],[3764,4],[3950,4],[4214,4]]},"1413":{"position":[[1544,5]]},"1415":{"position":[[2251,5],[5531,4]]},"1416":{"position":[[1217,5],[3581,4]]},"1417":{"position":[[905,5]]},"1419":{"position":[[764,5]]},"1420":{"position":[[925,5],[2724,4]]},"1424":{"position":[[974,5]]},"1427":{"position":[[1584,5],[6558,5],[7176,4],[7540,4],[7720,4],[8006,4]]},"1429":{"position":[[2062,5],[4973,5],[5040,4],[5420,5],[5464,4]]},"1430":{"position":[[1387,5]]},"1432":{"position":[[1220,5]]},"1433":{"position":[[771,5]]},"1434":{"position":[[471,5]]},"1436":{"position":[[451,5]]},"1437":{"position":[[521,5]]},"1439":{"position":[[1820,5],[5864,4],[7681,5],[8006,4],[8368,4],[8546,4],[8832,4]]},"1440":{"position":[[2216,5],[4967,5],[5034,4],[5414,5],[5458,4]]},"1442":{"position":[[436,5],[2330,5],[3081,4]]},"1443":{"position":[[1915,4]]},"1444":{"position":[[561,5],[1827,4],[2017,4],[2253,4]]},"1446":{"position":[[531,5]]},"1448":{"position":[[838,5],[2866,6],[2995,6],[3069,6],[3120,6]]},"1449":{"position":[[780,5],[2804,6]]},"1450":{"position":[[785,5]]},"1451":{"position":[[785,5]]},"1456":{"position":[[1632,4]]},"1458":{"position":[[2678,4]]},"1459":{"position":[[2449,4]]},"1462":{"position":[[9191,4]]},"1464":{"position":[[390,5]]},"1465":{"position":[[1047,5],[2627,4],[4382,4],[4691,4]]},"1467":{"position":[[4420,5],[10266,5],[10950,4],[11219,4]]},"1468":{"position":[[497,4]]},"1470":{"position":[[2738,5]]},"1471":{"position":[[1578,5],[3135,6],[4464,5],[5041,5],[5789,6],[5867,6],[5940,6]]},"1472":{"position":[[1498,5],[2854,6],[5048,5],[5927,5],[6679,6]]},"1473":{"position":[[1825,5],[3169,6],[4785,5],[5491,5],[5958,6],[6036,6],[6109,6]]},"1474":{"position":[[1363,5]]},"1475":{"position":[[1540,5]]},"1480":{"position":[[831,5]]},"1485":{"position":[[611,5],[4906,4],[5043,4]]},"1487":{"position":[[573,5],[2297,5],[2348,3],[2396,3],[2500,3],[2982,5],[3125,4]]}},"keywords":{}}],["src.src",{"_index":7255,"title":{},"content":{"1386":{"position":[[1656,8]]}},"keywords":{}}],["src.zip",{"_index":7964,"title":{},"content":{"1427":{"position":[[6653,9]]},"1439":{"position":[[7789,9]]}},"keywords":{}}],["src/com/facebook/base:bas",{"_index":7971,"title":{},"content":{"1427":{"position":[[7614,31],[7762,31]]},"1439":{"position":[[8438,31],[8586,31]]}},"keywords":{}}],["src/com/google/inject:inject",{"_index":7973,"title":{},"content":{"1427":{"position":[[7794,33]]},"1439":{"position":[[8618,33]]}},"keywords":{}}],["src_root",{"_index":6566,"title":{},"content":{"1355":{"position":[[6459,9]]}},"keywords":{}}],["srcdir",{"_index":6655,"title":{},"content":{"1360":{"position":[[3523,9],[5400,6]]},"1383":{"position":[[7403,6]]},"1403":{"position":[[2938,9],[6503,6]]}},"keywords":{}}],["srcdir%\\androidmanifest.xml",{"_index":7693,"title":{},"content":{"1403":{"position":[[7827,29],[8154,29]]}},"keywords":{}}],["srcdir/androidmanifest.xml",{"_index":7692,"title":{},"content":{"1403":{"position":[[7735,28],[8042,28]]}},"keywords":{}}],["srcdir}th",{"_index":7184,"title":{},"content":{"1383":{"position":[[6178,12]]}},"keywords":{}}],["srcs=['greeting_test.go",{"_index":7797,"title":{},"content":{"1410":{"position":[[6120,26]]}},"keywords":{}}],["srcs}a",{"_index":7183,"title":{},"content":{"1383":{"position":[[6004,8]]}},"keywords":{}}],["ss",{"_index":5867,"title":{},"content":{"1136":{"position":[[975,6]]},"1148":{"position":[[1331,6]]},"1209":{"position":[[208,6]]},"1235":{"position":[[1468,6]]}},"keywords":{}}],["stabil",{"_index":392,"title":{},"content":{"12":{"position":[[99,9]]},"1136":{"position":[[5996,9]]},"1138":{"position":[[9658,9]]},"1140":{"position":[[8584,9]]},"1142":{"position":[[4028,9]]},"1146":{"position":[[3968,9]]},"1148":{"position":[[7008,9]]},"1155":{"position":[[4064,9]]},"1156":{"position":[[3642,9]]},"1163":{"position":[[602,9]]},"1165":{"position":[[431,9]]},"1167":{"position":[[9588,9]]},"1169":{"position":[[2696,9]]},"1186":{"position":[[5232,9]]},"1187":{"position":[[5245,9]]},"1188":{"position":[[9971,9]]},"1191":{"position":[[3832,9]]},"1192":{"position":[[4007,9]]},"1193":{"position":[[4059,9]]},"1194":{"position":[[3699,9]]},"1195":{"position":[[3677,9]]},"1196":{"position":[[3487,9]]},"1197":{"position":[[4470,9]]},"1198":{"position":[[4480,9]]},"1199":{"position":[[4508,9]]},"1200":{"position":[[4375,9]]},"1201":{"position":[[3635,9]]},"1202":{"position":[[4777,9],[9174,9]]},"1203":{"position":[[3869,9]]},"1204":{"position":[[3713,9]]},"1205":{"position":[[5042,9]]},"1206":{"position":[[3513,9]]},"1207":{"position":[[3670,9]]},"1209":{"position":[[5018,9]]},"1217":{"position":[[8329,9]]},"1219":{"position":[[3584,9]]},"1222":{"position":[[3439,9]]},"1223":{"position":[[3449,9]]},"1224":{"position":[[2898,9]]},"1226":{"position":[[8797,9]]},"1228":{"position":[[10410,9]]},"1235":{"position":[[6278,9]]},"1237":{"position":[[8967,9]]}},"keywords":{}}],["stabl",{"_index":2391,"title":{},"content":{"446":{"position":[[325,6]]},"632":{"position":[[196,6]]},"635":{"position":[[95,6]]},"666":{"position":[[222,7]]},"825":{"position":[[325,6]]},"869":{"position":[[820,7]]},"1113":{"position":[[44,7]]},"1114":{"position":[[1056,7]]},"1136":{"position":[[4668,7]]},"1138":{"position":[[8330,7]]},"1140":{"position":[[7256,7]]},"1142":{"position":[[2700,7]]},"1146":{"position":[[2640,7]]},"1148":{"position":[[5680,7]]},"1155":{"position":[[2736,7]]},"1156":{"position":[[123,6],[2314,7]]},"1167":{"position":[[8260,7]]},"1169":{"position":[[2099,7]]},"1186":{"position":[[3904,7]]},"1187":{"position":[[3917,7]]},"1188":{"position":[[8643,7]]},"1191":{"position":[[2504,7]]},"1192":{"position":[[2679,7]]},"1193":{"position":[[2731,7]]},"1194":{"position":[[2371,7]]},"1195":{"position":[[2349,7]]},"1196":{"position":[[2159,7]]},"1197":{"position":[[3142,7]]},"1198":{"position":[[3152,7]]},"1199":{"position":[[3180,7]]},"1200":{"position":[[3047,7]]},"1201":{"position":[[2307,7]]},"1202":{"position":[[3449,7],[7846,7]]},"1203":{"position":[[2541,7]]},"1204":{"position":[[2385,7]]},"1205":{"position":[[3714,7]]},"1206":{"position":[[2185,7]]},"1207":{"position":[[2342,7]]},"1209":{"position":[[3690,7]]},"1217":{"position":[[7001,7]]},"1219":{"position":[[2987,7]]},"1222":{"position":[[2111,7]]},"1223":{"position":[[2121,7]]},"1224":{"position":[[2301,7]]},"1226":{"position":[[382,6],[471,6],[7469,7]]},"1228":{"position":[[9082,7]]},"1235":{"position":[[4950,7]]},"1237":{"position":[[552,6],[641,6],[7639,7]]}},"keywords":{}}],["stack",{"_index":1431,"title":{"1231":{"position":[[10,5]]},"1232":{"position":[[17,5]]}},"content":{"170":{"position":[[69,6]]},"446":{"position":[[68,6]]},"550":{"position":[[69,6]]},"632":{"position":[[93,6],[273,6]]},"633":{"position":[[106,5],[211,5]]},"825":{"position":[[68,6]]},"978":{"position":[[92,5]]},"1000":{"position":[[502,6]]},"1136":{"position":[[4752,5],[4785,7],[4807,6],[4928,6]]},"1138":{"position":[[8414,5],[8447,7],[8469,6],[8590,6]]},"1140":{"position":[[7340,5],[7373,7],[7395,6],[7516,6]]},"1142":{"position":[[2784,5],[2817,7],[2839,6],[2960,6]]},"1146":{"position":[[2724,5],[2757,7],[2779,6],[2900,6]]},"1148":{"position":[[5764,5],[5797,7],[5819,6],[5940,6]]},"1155":{"position":[[2820,5],[2853,7],[2875,6],[2996,6]]},"1156":{"position":[[2398,5],[2431,7],[2453,6],[2574,6]]},"1167":{"position":[[8344,5],[8377,7],[8399,6],[8520,6]]},"1169":{"position":[[2183,5],[2216,7],[2238,6],[2359,6]]},"1186":{"position":[[3988,5],[4021,7],[4043,6],[4164,6]]},"1187":{"position":[[4001,5],[4034,7],[4056,6],[4177,6]]},"1188":{"position":[[8727,5],[8760,7],[8782,6],[8903,6]]},"1191":{"position":[[2588,5],[2621,7],[2643,6],[2764,6]]},"1192":{"position":[[2763,5],[2796,7],[2818,6],[2939,6]]},"1193":{"position":[[2815,5],[2848,7],[2870,6],[2991,6]]},"1194":{"position":[[2455,5],[2488,7],[2510,6],[2631,6]]},"1195":{"position":[[2433,5],[2466,7],[2488,6],[2609,6]]},"1196":{"position":[[2243,5],[2276,7],[2298,6],[2419,6]]},"1197":{"position":[[3226,5],[3259,7],[3281,6],[3402,6]]},"1198":{"position":[[3236,5],[3269,7],[3291,6],[3412,6]]},"1199":{"position":[[3264,5],[3297,7],[3319,6],[3440,6]]},"1200":{"position":[[3131,5],[3164,7],[3186,6],[3307,6]]},"1201":{"position":[[2391,5],[2424,7],[2446,6],[2567,6]]},"1202":{"position":[[3533,5],[3566,7],[3588,6],[3709,6],[7930,5],[7963,7],[7985,6],[8106,6]]},"1203":{"position":[[2625,5],[2658,7],[2680,6],[2801,6]]},"1204":{"position":[[2469,5],[2502,7],[2524,6],[2645,6]]},"1205":{"position":[[3798,5],[3831,7],[3853,6],[3974,6]]},"1206":{"position":[[2269,5],[2302,7],[2324,6],[2445,6]]},"1207":{"position":[[2426,5],[2459,7],[2481,6],[2602,6]]},"1209":{"position":[[3774,5],[3807,7],[3829,6],[3950,6]]},"1217":{"position":[[7085,5],[7118,7],[7140,6],[7261,6]]},"1219":{"position":[[3071,5],[3104,7],[3126,6],[3247,6]]},"1222":{"position":[[2195,5],[2228,7],[2250,6],[2371,6]]},"1223":{"position":[[2205,5],[2238,7],[2260,6],[2381,6]]},"1224":{"position":[[2385,5],[2418,7],[2440,6],[2561,6]]},"1226":{"position":[[7553,5],[7586,7],[7608,6],[7729,6]]},"1228":{"position":[[9166,5],[9199,7],[9221,6],[9342,6]]},"1231":{"position":[[248,5],[404,5],[560,5],[657,5]]},"1232":{"position":[[57,5]]},"1235":{"position":[[5034,5],[5067,7],[5089,6],[5210,6]]},"1237":{"position":[[7723,5],[7756,7],[7778,6],[7899,6]]}},"keywords":{}}],["stackfram",{"_index":1429,"title":{"169":{"position":[[0,10]]},"549":{"position":[[0,10]]}},"content":{"633":{"position":[[45,10]]}},"keywords":{}}],["stackframe.func_nam",{"_index":1430,"title":{"170":{"position":[[0,21]]},"550":{"position":[[0,21]]}},"content":{"170":{"position":[[0,21]]},"550":{"position":[[0,21]]}},"keywords":{}}],["stackframe.module_path",{"_index":1432,"title":{"171":{"position":[[0,23]]},"551":{"position":[[0,23]]}},"content":{"171":{"position":[[0,23]]},"551":{"position":[[0,23]]}},"keywords":{}}],["stage",{"_index":784,"title":{},"content":{"24":{"position":[[63,5]]},"715":{"position":[[1912,5]]},"719":{"position":[[71,5]]},"721":{"position":[[73,5]]},"722":{"position":[[149,7]]},"723":{"position":[[93,6]]},"869":{"position":[[409,7]]},"959":{"position":[[167,6]]},"989":{"position":[[514,6]]},"1249":{"position":[[179,6]]},"1362":{"position":[[12750,6]]},"1364":{"position":[[13450,6]]},"1367":{"position":[[12658,6]]},"1382":{"position":[[11112,6]]},"1384":{"position":[[18766,6]]},"1385":{"position":[[6690,6]]},"1387":{"position":[[10063,6]]},"1388":{"position":[[9605,6]]},"1427":{"position":[[4883,5]]},"1439":{"position":[[7382,5]]},"1442":{"position":[[2485,6]]},"1485":{"position":[[3976,6]]}},"keywords":{}}],["stage0",{"_index":2374,"title":{},"content":{"443":{"position":[[28,7],[200,7]]},"822":{"position":[[28,7],[200,7]]}},"keywords":{}}],["stage1",{"_index":2375,"title":{},"content":{"443":{"position":[[36,7],[296,7]]},"822":{"position":[[36,7],[296,7]]}},"keywords":{}}],["stale",{"_index":5124,"title":{"1079":{"position":[[14,6]]}},"content":{"1036":{"position":[[275,5]]},"1079":{"position":[[67,5],[1010,5],[1361,6]]},"1142":{"position":[[197,5]]}},"keywords":{}}],["stand",{"_index":5125,"title":{},"content":{"1037":{"position":[[230,5]]},"1384":{"position":[[20681,6]]}},"keywords":{}}],["standalon",{"_index":768,"title":{},"content":{"23":{"position":[[2919,10]]},"1370":{"position":[[3063,10]]}},"keywords":{}}],["standalone_build_arg",{"_index":8312,"title":{},"content":{"1462":{"position":[[3938,22]]},"1467":{"position":[[4458,22]]}},"keywords":{}}],["standard",{"_index":618,"title":{},"content":{"20":{"position":[[510,8]]},"577":{"position":[[13,8]]},"608":{"position":[[115,8]]},"609":{"position":[[115,8]]},"890":{"position":[[3185,9],[3546,9],[3911,9]]},"950":{"position":[[459,8]]},"962":{"position":[[4,8]]},"995":{"position":[[1172,8]]},"1104":{"position":[[2158,8]]},"1161":{"position":[[214,8]]},"1355":{"position":[[7722,8]]},"1386":{"position":[[3618,8]]},"1446":{"position":[[2167,8]]},"1459":{"position":[[2140,8]]},"1467":{"position":[[8706,8]]},"1473":{"position":[[3859,8]]},"1478":{"position":[[3702,12]]}},"keywords":{}}],["standpoint",{"_index":4534,"title":{},"content":{"924":{"position":[[856,10]]},"1017":{"position":[[262,11]]}},"keywords":{}}],["starlark",{"_index":23,"title":{"884":{"position":[[0,8]]},"899":{"position":[[0,8]]},"1056":{"position":[[0,8]]},"1155":{"position":[[10,9]]},"1156":{"position":[[10,8]]},"1202":{"position":[[11,9]]},"1220":{"position":[[0,8]]},"1221":{"position":[[5,9]]},"1222":{"position":[[5,8]]},"1223":{"position":[[5,8]]},"1224":{"position":[[5,8]]},"1246":{"position":[[17,8]]}},"content":{"3":{"position":[[167,8]]},"4":{"position":[[34,8]]},"10":{"position":[[608,8]]},"20":{"position":[[33,8],[189,8],[347,8],[501,8]]},"22":{"position":[[2024,8],[2035,8]]},"23":{"position":[[675,8],[2878,8]]},"72":{"position":[[69,8]]},"92":{"position":[[1854,8]]},"224":{"position":[[1854,8]]},"281":{"position":[[217,8]]},"374":{"position":[[538,8],[619,8],[769,8],[950,8],[1028,8]]},"495":{"position":[[69,8]]},"608":{"position":[[124,9]]},"609":{"position":[[124,9]]},"630":{"position":[[68,8]]},"693":{"position":[[1886,8],[7733,9],[7743,8],[8013,9],[8046,8]]},"702":{"position":[[101,8],[125,8],[144,8],[163,8],[195,8]]},"710":{"position":[[202,8]]},"715":{"position":[[55,9],[835,8]]},"718":{"position":[[305,8]]},"722":{"position":[[176,8]]},"753":{"position":[[538,8],[619,8],[769,8],[950,8],[1028,8]]},"833":{"position":[[264,8]]},"837":{"position":[[0,8],[383,8]]},"839":{"position":[[187,8],[236,8]]},"840":{"position":[[166,8]]},"858":{"position":[[164,10]]},"861":{"position":[[4,8]]},"869":{"position":[[9,8],[133,8],[271,9]]},"870":{"position":[[410,8],[454,8],[1293,9],[1392,8]]},"884":{"position":[[0,8],[36,8]]},"886":{"position":[[3,9]]},"888":{"position":[[1079,9]]},"890":{"position":[[231,8]]},"898":{"position":[[291,8],[363,9]]},"900":{"position":[[12,8],[1540,8]]},"915":{"position":[[126,8]]},"921":{"position":[[871,8],[1014,8],[1031,8]]},"923":{"position":[[212,9]]},"946":{"position":[[496,8],[586,8],[673,8],[705,8]]},"955":{"position":[[483,9]]},"959":{"position":[[52,8]]},"981":{"position":[[18,8],[76,8],[286,9]]},"997":{"position":[[81,8]]},"1000":{"position":[[488,8]]},"1001":{"position":[[257,8]]},"1040":{"position":[[1956,8]]},"1064":{"position":[[313,8]]},"1102":{"position":[[1035,8]]},"1136":{"position":[[2265,8],[2301,8],[2382,9],[4551,8],[4579,8],[4627,8],[4793,8],[4914,8]]},"1138":{"position":[[8213,8],[8241,8],[8289,8],[8455,8],[8576,8]]},"1140":{"position":[[7139,8],[7167,8],[7215,8],[7381,8],[7502,8]]},"1142":{"position":[[2583,8],[2611,8],[2659,8],[2825,8],[2946,8]]},"1146":{"position":[[2523,8],[2551,8],[2599,8],[2765,8],[2886,8]]},"1148":{"position":[[2621,8],[2657,8],[2738,9],[5563,8],[5591,8],[5639,8],[5805,8],[5926,8],[7032,8]]},"1154":{"position":[[103,8],[148,8],[165,8],[210,8]]},"1155":{"position":[[36,8],[79,8],[465,8],[515,9],[2619,8],[2647,8],[2695,8],[2861,8],[2982,8]]},"1156":{"position":[[27,8],[164,8],[2197,8],[2225,8],[2273,8],[2439,8],[2560,8]]},"1167":{"position":[[8143,8],[8171,8],[8219,8],[8385,8],[8506,8]]},"1169":{"position":[[24,8],[1982,8],[2010,8],[2058,8],[2224,8],[2345,8]]},"1185":{"position":[[4,8]]},"1186":{"position":[[573,8],[3787,8],[3815,8],[3863,8],[4029,8],[4150,8]]},"1187":{"position":[[586,8],[3800,8],[3828,8],[3876,8],[4042,8],[4163,8]]},"1188":{"position":[[5312,8],[8526,8],[8554,8],[8602,8],[8768,8],[8889,8]]},"1190":{"position":[[945,8],[960,8]]},"1191":{"position":[[2387,8],[2415,8],[2463,8],[2629,8],[2750,8]]},"1192":{"position":[[2562,8],[2590,8],[2638,8],[2804,8],[2925,8]]},"1193":{"position":[[2614,8],[2642,8],[2690,8],[2856,8],[2977,8]]},"1194":{"position":[[2254,8],[2282,8],[2330,8],[2496,8],[2617,8]]},"1195":{"position":[[2232,8],[2260,8],[2308,8],[2474,8],[2595,8]]},"1196":{"position":[[2042,8],[2070,8],[2118,8],[2284,8],[2405,8]]},"1197":{"position":[[3025,8],[3053,8],[3101,8],[3267,8],[3388,8]]},"1198":{"position":[[3035,8],[3063,8],[3111,8],[3277,8],[3398,8]]},"1199":{"position":[[3063,8],[3091,8],[3139,8],[3305,8],[3426,8]]},"1200":{"position":[[2930,8],[2958,8],[3006,8],[3172,8],[3293,8]]},"1201":{"position":[[2190,8],[2218,8],[2266,8],[2432,8],[2553,8]]},"1202":{"position":[[6,8],[54,8],[114,8],[206,8],[1156,8],[1181,8],[1279,8],[3332,8],[3360,8],[3408,8],[3574,8],[3695,8],[5554,8],[5585,8],[5689,8],[7729,8],[7757,8],[7805,8],[7971,8],[8092,8]]},"1203":{"position":[[2424,8],[2452,8],[2500,8],[2666,8],[2787,8]]},"1204":{"position":[[2268,8],[2296,8],[2344,8],[2510,8],[2631,8]]},"1205":{"position":[[3597,8],[3625,8],[3673,8],[3839,8],[3960,8]]},"1206":{"position":[[2068,8],[2096,8],[2144,8],[2310,8],[2431,8]]},"1207":{"position":[[2225,8],[2253,8],[2301,8],[2467,8],[2588,8]]},"1209":{"position":[[1498,8],[1534,8],[1615,9],[3573,8],[3601,8],[3649,8],[3815,8],[3936,8]]},"1217":{"position":[[6884,8],[6912,8],[6960,8],[7126,8],[7247,8]]},"1219":{"position":[[2870,8],[2898,8],[2946,8],[3112,8],[3233,8]]},"1221":{"position":[[4,8],[45,8],[103,8],[138,8],[181,8]]},"1222":{"position":[[8,8],[46,8],[1994,8],[2022,8],[2070,8],[2236,8],[2357,8]]},"1223":{"position":[[8,8],[51,8],[2004,8],[2032,8],[2080,8],[2246,8],[2367,8]]},"1224":{"position":[[8,8],[244,8],[2184,8],[2212,8],[2260,8],[2426,8],[2547,8]]},"1226":{"position":[[7352,8],[7380,8],[7428,8],[7594,8],[7715,8]]},"1228":{"position":[[8965,8],[8993,8],[9041,8],[9207,8],[9328,8]]},"1235":{"position":[[2758,8],[2794,8],[2875,9],[4833,8],[4861,8],[4909,8],[5075,8],[5196,8]]},"1237":{"position":[[7522,8],[7550,8],[7598,8],[7764,8],[7885,8]]},"1247":{"position":[[86,8],[184,8]]},"1248":{"position":[[11,8]]},"1252":{"position":[[19,8]]},"1254":{"position":[[326,9]]},"1256":{"position":[[46,8]]}},"keywords":{}}],["starlark'",{"_index":1583,"title":{},"content":{"288":{"position":[[172,10]]},"289":{"position":[[192,10]]},"510":{"position":[[198,10]]},"511":{"position":[[218,10]]},"1247":{"position":[[531,10]]},"1249":{"position":[[88,10]]},"1250":{"position":[[27,10]]}},"keywords":{}}],["starlark_",{"_index":2393,"title":{},"content":{"446":{"position":[[371,10]]},"825":{"position":[[371,10]]}},"keywords":{}}],["starlark_rust_intern",{"_index":3344,"title":{"667":{"position":[[0,23]]}},"content":{"667":{"position":[[0,23]]}},"keywords":{}}],["starlarkanontarget",{"_index":825,"title":{},"content":{"33":{"position":[[57,20]]},"189":{"position":[[57,20]]}},"keywords":{}}],["starlarkartifact",{"_index":906,"title":{},"content":{"52":{"position":[[92,16]]},"53":{"position":[[70,16]]},"199":{"position":[[92,16]]},"200":{"position":[[70,16]]},"722":{"position":[[332,18]]}},"keywords":{}}],["starlarkconfiguredattr",{"_index":1509,"title":{},"content":{"276":{"position":[[168,25]]}},"keywords":{}}],["starlarkoutputartifact",{"_index":871,"title":{},"content":{"45":{"position":[[58,22]]},"192":{"position":[[58,22]]}},"keywords":{}}],["starlarkpromiseartifact",{"_index":834,"title":{},"content":{"36":{"position":[[53,23]]},"37":{"position":[[111,24]]},"181":{"position":[[53,23]]},"182":{"position":[[111,24]]}},"keywords":{}}],["starlarkproviderslabel",{"_index":3924,"title":{},"content":{"851":{"position":[[1628,25]]}},"keywords":{}}],["starlarktarget",{"_index":4515,"title":{},"content":{"921":{"position":[[898,15]]}},"keywords":{}}],["starlarktargetnod",{"_index":1730,"title":{},"content":{"311":{"position":[[446,20],[544,20]]}},"keywords":{}}],["starlarkvalue>",{"_index":4343,"title":{},"content":{"898":{"position":[[2190,19],[2405,19]]}},"keywords":{}}],["starlark’",{"_index":6192,"title":{},"content":{"1247":{"position":[[698,10]]}},"keywords":{}}],["start",{"_index":8,"title":{"14":{"position":[[8,7]]},"838":{"position":[[8,7]]}},"content":{"2":{"position":[[8,7],[29,7]]},"15":{"position":[[355,8]]},"17":{"position":[[461,5]]},"18":{"position":[[83,8]]},"22":{"position":[[545,7]]},"362":{"position":[[1899,5]]},"405":{"position":[[2146,5]]},"408":{"position":[[21,5]]},"415":{"position":[[159,7]]},"429":{"position":[[136,7]]},"446":{"position":[[360,5]]},"476":{"position":[[381,5]]},"566":{"position":[[24,6],[154,7],[231,5],[583,5]]},"591":{"position":[[31,6],[187,7]]},"594":{"position":[[30,6],[151,7],[260,5]]},"596":{"position":[[31,6],[182,7]]},"608":{"position":[[148,6]]},"609":{"position":[[148,6]]},"611":{"position":[[31,6],[160,7]]},"612":{"position":[[32,6],[185,7]]},"618":{"position":[[109,6]]},"620":{"position":[[196,5]]},"639":{"position":[[38,6],[339,6]]},"662":{"position":[[592,6],[701,5]]},"715":{"position":[[222,6]]},"741":{"position":[[1899,5]]},"784":{"position":[[2146,5]]},"787":{"position":[[21,5]]},"794":{"position":[[159,7]]},"808":{"position":[[136,7]]},"825":{"position":[[360,5]]},"839":{"position":[[48,5]]},"860":{"position":[[212,5]]},"864":{"position":[[740,6]]},"879":{"position":[[236,6]]},"888":{"position":[[1110,8]]},"892":{"position":[[1359,8]]},"895":{"position":[[25,5]]},"900":{"position":[[158,8]]},"939":{"position":[[23,6]]},"978":{"position":[[98,8]]},"1058":{"position":[[145,8]]},"1079":{"position":[[755,5]]},"1106":{"position":[[62,8]]},"1126":{"position":[[701,7],[758,9]]},"1136":{"position":[[4168,6],[4268,7],[4478,6]]},"1138":{"position":[[7830,6],[7930,7],[8140,6]]},"1140":{"position":[[6756,6],[6856,7],[7066,6]]},"1142":{"position":[[2200,6],[2300,7],[2510,6]]},"1146":{"position":[[2140,6],[2240,7],[2450,6]]},"1148":{"position":[[5180,6],[5280,7],[5490,6]]},"1155":{"position":[[2236,6],[2336,7],[2546,6]]},"1156":{"position":[[1814,6],[1914,7],[2124,6]]},"1167":{"position":[[7760,6],[7860,7],[8070,6]]},"1169":{"position":[[0,5],[1599,6],[1699,7],[1909,6]]},"1186":{"position":[[3404,6],[3504,7],[3714,6]]},"1187":{"position":[[3417,6],[3517,7],[3727,6]]},"1188":{"position":[[8143,6],[8243,7],[8453,6]]},"1191":{"position":[[2004,6],[2104,7],[2314,6]]},"1192":{"position":[[2179,6],[2279,7],[2489,6]]},"1193":{"position":[[2231,6],[2331,7],[2541,6]]},"1194":{"position":[[1871,6],[1971,7],[2181,6]]},"1195":{"position":[[1849,6],[1949,7],[2159,6]]},"1196":{"position":[[1659,6],[1759,7],[1969,6]]},"1197":{"position":[[2642,6],[2742,7],[2952,6]]},"1198":{"position":[[2652,6],[2752,7],[2962,6]]},"1199":{"position":[[2680,6],[2780,7],[2990,6]]},"1200":{"position":[[2547,6],[2647,7],[2857,6]]},"1201":{"position":[[1807,6],[1907,7],[2117,6]]},"1202":{"position":[[2949,6],[3049,7],[3259,6],[7346,6],[7446,7],[7656,6]]},"1203":{"position":[[2041,6],[2141,7],[2351,6]]},"1204":{"position":[[1885,6],[1985,7],[2195,6]]},"1205":{"position":[[388,8],[3214,6],[3314,7],[3524,6]]},"1206":{"position":[[1685,6],[1785,7],[1995,6],[3698,8]]},"1207":{"position":[[1842,6],[1942,7],[2152,6]]},"1209":{"position":[[3190,6],[3290,7],[3500,6]]},"1213":{"position":[[0,6]]},"1217":{"position":[[6501,6],[6601,7],[6811,6]]},"1219":{"position":[[2487,6],[2587,7],[2797,6]]},"1222":{"position":[[1611,6],[1711,7],[1921,6]]},"1223":{"position":[[1621,6],[1721,7],[1931,6]]},"1224":{"position":[[1801,6],[1901,7],[2111,6]]},"1226":{"position":[[6969,6],[7069,7],[7279,6]]},"1228":{"position":[[8582,6],[8682,7],[8892,6]]},"1235":{"position":[[4450,6],[4550,7],[4760,6]]},"1237":{"position":[[7139,6],[7239,7],[7449,6]]},"1249":{"position":[[202,8]]},"1250":{"position":[[213,8]]},"1362":{"position":[[8162,8],[8785,5]]},"1364":{"position":[[9011,8],[9396,5],[9899,5]]},"1367":{"position":[[8250,8],[8873,5]]},"1382":{"position":[[5555,5]]},"1384":{"position":[[10502,5]]},"1385":{"position":[[3469,5]]},"1387":{"position":[[5802,5]]},"1393":{"position":[[6365,5]]},"1397":{"position":[[1710,5],[1755,5],[1804,5],[1819,7],[3004,5]]},"1429":{"position":[[4061,7],[4470,7]]},"1440":{"position":[[4054,7],[4463,7]]},"1454":{"position":[[7406,5]]},"1455":{"position":[[4618,5],[4752,5]]},"1462":{"position":[[7133,6],[8429,6]]},"1467":{"position":[[8102,6],[9911,6]]},"1485":{"position":[[1837,5]]},"1486":{"position":[[898,6],[2262,7],[2415,6],[3807,8]]}},"keywords":{}}],["start.bootbin/release_vari",{"_index":7585,"title":{},"content":{"1397":{"position":[[3131,31]]}},"keywords":{}}],["start.elapsed_milli",{"_index":3970,"title":{},"content":{"860":{"position":[[312,22],[382,22]]}},"keywords":{}}],["start.script",{"_index":7583,"title":{},"content":{"1397":{"position":[[3087,12]]}},"keywords":{}}],["startup",{"_index":7083,"title":{},"content":{"1374":{"position":[[1740,8],[1986,8]]},"1486":{"position":[[720,7]]}},"keywords":{}}],["startup.env",{"_index":8558,"title":{},"content":{"1486":{"position":[[1952,12]]}},"keywords":{}}],["startup.ex",{"_index":8559,"title":{},"content":{"1486":{"position":[[2059,12]]}},"keywords":{}}],["stat",{"_index":5456,"title":{},"content":{"1061":{"position":[[181,4]]},"1126":{"position":[[1057,6]]},"1136":{"position":[[6372,6]]},"1138":{"position":[[10034,6]]},"1140":{"position":[[8960,6]]},"1142":{"position":[[4404,6]]},"1144":{"position":[[732,6]]},"1146":{"position":[[4344,6]]},"1148":{"position":[[7935,6]]},"1150":{"position":[[967,6]]},"1152":{"position":[[665,6]]},"1154":{"position":[[820,6]]},"1155":{"position":[[4440,6]]},"1156":{"position":[[4018,6]]},"1157":{"position":[[603,6]]},"1158":{"position":[[597,6]]},"1159":{"position":[[597,6]]},"1161":{"position":[[1592,6]]},"1163":{"position":[[978,6]]},"1165":{"position":[[807,6]]},"1167":{"position":[[9964,6]]},"1169":{"position":[[3072,6]]},"1171":{"position":[[548,5],[1313,6]]},"1172":{"position":[[2698,6]]},"1173":{"position":[[1385,6]]},"1174":{"position":[[813,6]]},"1175":{"position":[[809,6]]},"1176":{"position":[[978,6]]},"1177":{"position":[[899,6]]},"1178":{"position":[[1216,6]]},"1179":{"position":[[8,5],[1013,6]]},"1180":{"position":[[1284,6]]},"1181":{"position":[[1804,6]]},"1182":{"position":[[847,6]]},"1183":{"position":[[802,6]]},"1185":{"position":[[647,6]]},"1186":{"position":[[5608,6]]},"1187":{"position":[[5621,6]]},"1188":{"position":[[10347,6]]},"1190":{"position":[[1978,6]]},"1191":{"position":[[4208,6]]},"1192":{"position":[[4383,6]]},"1193":{"position":[[4435,6]]},"1194":{"position":[[4075,6]]},"1195":{"position":[[4053,6]]},"1196":{"position":[[3863,6]]},"1197":{"position":[[4846,6]]},"1198":{"position":[[4856,6]]},"1199":{"position":[[4884,6]]},"1200":{"position":[[4751,6]]},"1201":{"position":[[4011,6]]},"1202":{"position":[[755,6],[5153,6],[9550,6]]},"1203":{"position":[[4245,6]]},"1204":{"position":[[4089,6],[4991,6],[5921,6],[6823,6],[7809,6],[8763,6],[9710,6],[10640,6]]},"1205":{"position":[[5418,6]]},"1206":{"position":[[4117,6]]},"1207":{"position":[[4046,6]]},"1209":{"position":[[5394,6]]},"1211":{"position":[[718,6]]},"1213":{"position":[[489,6]]},"1215":{"position":[[573,6]]},"1217":{"position":[[8705,6]]},"1219":{"position":[[3960,6]]},"1221":{"position":[[692,6]]},"1222":{"position":[[3831,6]]},"1223":{"position":[[3841,6]]},"1224":{"position":[[3274,6]]},"1226":{"position":[[216,5],[9173,6]]},"1228":{"position":[[10786,6]]},"1235":{"position":[[6654,6]]},"1237":{"position":[[386,5],[9343,6]]}},"keywords":{}}],["state",{"_index":3794,"title":{"717":{"position":[[0,5]]},"719":{"position":[[0,5]]},"721":{"position":[[0,5]]},"723":{"position":[[0,5]]},"725":{"position":[[0,5]]},"1077":{"position":[[8,6]]}},"content":{"716":{"position":[[80,7],[112,6]]},"937":{"position":[[1016,6],[1091,6],[1175,6],[1473,5]]},"1050":{"position":[[3820,5],[4401,5],[4514,5],[4713,5]]},"1077":{"position":[[36,5]]},"1078":{"position":[[250,6]]},"1079":{"position":[[195,6],[393,5]]},"1136":{"position":[[3521,5],[3582,5],[3902,6],[3976,7]]},"1138":{"position":[[7183,5],[7244,5],[7564,6],[7638,7]]},"1140":{"position":[[6109,5],[6170,5],[6490,6],[6564,7]]},"1142":{"position":[[496,5],[566,5],[1553,5],[1614,5],[1934,6],[2008,7]]},"1146":{"position":[[1493,5],[1554,5],[1874,6],[1948,7]]},"1148":{"position":[[4533,5],[4594,5],[4914,6],[4988,7]]},"1155":{"position":[[1589,5],[1650,5],[1970,6],[2044,7]]},"1156":{"position":[[1167,5],[1228,5],[1548,6],[1622,7]]},"1163":{"position":[[201,5]]},"1167":{"position":[[7113,5],[7174,5],[7494,6],[7568,7]]},"1169":{"position":[[952,5],[1013,5],[1333,6],[1407,7]]},"1186":{"position":[[2757,5],[2818,5],[3138,6],[3212,7]]},"1187":{"position":[[2770,5],[2831,5],[3151,6],[3225,7]]},"1188":{"position":[[7496,5],[7557,5],[7877,6],[7951,7]]},"1191":{"position":[[1357,5],[1418,5],[1738,6],[1812,7]]},"1192":{"position":[[1532,5],[1593,5],[1913,6],[1987,7]]},"1193":{"position":[[1584,5],[1645,5],[1965,6],[2039,7]]},"1194":{"position":[[1224,5],[1285,5],[1605,6],[1679,7]]},"1195":{"position":[[1202,5],[1263,5],[1583,6],[1657,7]]},"1196":{"position":[[1012,5],[1073,5],[1393,6],[1467,7]]},"1197":{"position":[[1995,5],[2056,5],[2376,6],[2450,7]]},"1198":{"position":[[2005,5],[2066,5],[2386,6],[2460,7]]},"1199":{"position":[[2033,5],[2094,5],[2414,6],[2488,7]]},"1200":{"position":[[1900,5],[1961,5],[2281,6],[2355,7]]},"1201":{"position":[[1160,5],[1221,5],[1541,6],[1615,7]]},"1202":{"position":[[2302,5],[2363,5],[2683,6],[2757,7],[6699,5],[6760,5],[7080,6],[7154,7]]},"1203":{"position":[[1394,5],[1455,5],[1775,6],[1849,7]]},"1204":{"position":[[1238,5],[1299,5],[1619,6],[1693,7]]},"1205":{"position":[[2567,5],[2628,5],[2948,6],[3022,7]]},"1206":{"position":[[1038,5],[1099,5],[1419,6],[1493,7]]},"1207":{"position":[[1195,5],[1256,5],[1576,6],[1650,7]]},"1209":{"position":[[2543,5],[2604,5],[2924,6],[2998,7]]},"1215":{"position":[[92,5]]},"1217":{"position":[[5854,5],[5915,5],[6235,6],[6309,7]]},"1219":{"position":[[1840,5],[1901,5],[2221,6],[2295,7]]},"1222":{"position":[[964,5],[1025,5],[1345,6],[1419,7]]},"1223":{"position":[[974,5],[1035,5],[1355,6],[1429,7]]},"1224":{"position":[[1154,5],[1215,5],[1535,6],[1609,7]]},"1226":{"position":[[6322,5],[6383,5],[6703,6],[6777,7]]},"1228":{"position":[[7935,5],[7996,5],[8316,6],[8390,7]]},"1235":{"position":[[3803,5],[3864,5],[4184,6],[4258,7]]},"1237":{"position":[[6492,5],[6553,5],[6873,6],[6947,7]]},"1243":{"position":[[151,5],[304,5],[403,6],[454,6]]},"1244":{"position":[[118,5]]},"1245":{"position":[[62,6]]},"1351":{"position":[[4771,5]]},"1486":{"position":[[5807,6]]}},"keywords":{}}],["state"",{"_index":5308,"title":{},"content":{"1050":{"position":[[3999,12]]}},"keywords":{}}],["state.as_output",{"_index":5309,"title":{},"content":{"1050":{"position":[[4012,19]]}},"keywords":{}}],["state.linker_extra_output",{"_index":7301,"title":{},"content":{"1387":{"position":[[6973,27]]}},"keywords":{}}],["statement",{"_index":383,"title":{"1058":{"position":[[0,9]]}},"content":{"11":{"position":[[595,9]]},"92":{"position":[[1878,11]]},"224":{"position":[[1878,11]]},"638":{"position":[[182,9]]},"663":{"position":[[174,9]]},"693":{"position":[[5923,10]]},"833":{"position":[[431,10]]},"860":{"position":[[465,10]]},"888":{"position":[[1232,10]]},"890":{"position":[[751,10],[879,10],[3223,10],[5677,9],[5950,10]]},"901":{"position":[[137,9]]},"902":{"position":[[160,9]]},"946":{"position":[[511,10],[693,11]]},"1040":{"position":[[1980,11]]},"1056":{"position":[[1094,9]]},"1058":{"position":[[41,10],[419,10],[623,9],[751,9],[1141,9],[1179,9],[1217,10],[1262,10],[1359,9]]},"1148":{"position":[[7455,10]]},"1186":{"position":[[1007,10]]},"1187":{"position":[[1020,10]]},"1188":{"position":[[5746,10]]},"1247":{"position":[[240,10]]},"1362":{"position":[[7636,10],[9652,10]]},"1364":{"position":[[7875,10],[10766,10]]},"1367":{"position":[[9740,10]]},"1402":{"position":[[1798,10]]}},"keywords":{}}],["statement.bytecod",{"_index":5363,"title":{},"content":{"1056":{"position":[[1163,19]]}},"keywords":{}}],["states",{"_index":5773,"title":{},"content":{"1120":{"position":[[562,7]]}},"keywords":{}}],["static",{"_index":727,"title":{},"content":{"23":{"position":[[1440,11]]},"890":{"position":[[2339,10],[4936,10]]},"1104":{"position":[[921,6],[1018,6]]},"1355":{"position":[[6331,6]]},"1362":{"position":[[10714,10],[10755,7]]},"1364":{"position":[[11681,10],[11722,7]]},"1373":{"position":[[5231,10],[5272,7]]},"1382":{"position":[[3204,6],[7583,10],[7624,7]]},"1383":{"position":[[4022,10],[4061,6],[4122,10]]},"1384":{"position":[[13647,10],[13688,7],[20557,6]]},"1387":{"position":[[6707,10],[6748,7],[6908,6]]},"1388":{"position":[[8452,10],[8493,7]]},"1405":{"position":[[3002,10],[3065,7]]},"1407":{"position":[[3423,10],[3486,7],[4033,6]]},"1410":{"position":[[4004,10],[4067,7],[5565,6]]},"1415":{"position":[[2641,6]]},"1416":{"position":[[2879,10],[2920,7]]},"1421":{"position":[[2350,10]]},"1427":{"position":[[1876,6],[5504,6]]},"1439":{"position":[[2162,6],[7413,6]]},"1453":{"position":[[1996,9]]},"1454":{"position":[[8250,6],[8566,6],[9165,6],[9243,6],[9845,6]]},"1455":{"position":[[3711,6],[3884,6],[4106,6],[4287,6]]},"1467":{"position":[[10675,6]]},"1471":{"position":[[3846,10],[3887,7]]},"1472":{"position":[[3317,10],[3358,7],[4430,10],[4471,7]]},"1473":{"position":[[4167,10],[4208,7]]},"1485":{"position":[[4738,6]]}},"keywords":{}}],["static)flag",{"_index":7179,"title":{},"content":{"1383":{"position":[[3984,12]]}},"keywords":{}}],["static_dep_runtime_ld_flag",{"_index":7406,"title":{},"content":{"1389":{"position":[[3951,28]]}},"keywords":{}}],["static_extension_find",{"_index":8313,"title":{},"content":{"1462":{"position":[[3976,24]]},"1467":{"position":[[4496,24]]}},"keywords":{}}],["static_extension_util",{"_index":8314,"title":{},"content":{"1462":{"position":[[4010,23]]},"1467":{"position":[[4530,23]]}},"keywords":{}}],["static_interfac",{"_index":7881,"title":{},"content":{"1421":{"position":[[2447,17]]}},"keywords":{}}],["static_lib",{"_index":7876,"title":{},"content":{"1421":{"position":[[876,12],[2529,11]]},"1454":{"position":[[2207,11],[8491,10],[9932,10]]},"1455":{"position":[[867,12],[3957,11],[4678,11],[4812,11]]}},"keywords":{}}],["static_library_basenam",{"_index":6770,"title":{},"content":{"1362":{"position":[[4202,24]]},"1364":{"position":[[4187,24]]},"1367":{"position":[[5697,24]]},"1384":{"position":[[3804,24]]},"1387":{"position":[[3736,24]]}},"keywords":{}}],["static_library_extens",{"_index":7407,"title":{},"content":{"1389":{"position":[[3995,25]]}},"keywords":{}}],["static_link",{"_index":8199,"title":{},"content":{"1455":{"position":[[895,12],[3734,11],[4595,11]]}},"keywords":{}}],["static_p",{"_index":6810,"title":{},"content":{"1362":{"position":[[10763,10]]},"1364":{"position":[[11730,10]]},"1373":{"position":[[5280,10]]},"1382":{"position":[[7632,10]]},"1384":{"position":[[13696,10]]},"1387":{"position":[[6756,10]]},"1388":{"position":[[8501,10]]},"1405":{"position":[[3073,10]]},"1407":{"position":[[3494,10]]},"1410":{"position":[[4075,10]]},"1416":{"position":[[2928,10]]},"1471":{"position":[[3895,10]]},"1472":{"position":[[3366,10],[4479,10]]},"1473":{"position":[[4216,10]]}},"keywords":{}}],["static_pic_dep_runtime_ld_flag",{"_index":7408,"title":{},"content":{"1389":{"position":[[4030,32]]}},"keywords":{}}],["static_pic_lib",{"_index":8153,"title":{},"content":{"1454":{"position":[[2235,15],[8811,14],[9959,14]]},"1455":{"position":[[923,16],[4364,15]]}},"keywords":{}}],["static_pic_link",{"_index":8200,"title":{},"content":{"1455":{"position":[[955,16],[4129,15],[4725,15]]}},"keywords":{}}],["static_runtime_path",{"_index":8504,"title":{},"content":{"1481":{"position":[[1131,21]]}},"keywords":{}}],["statist",{"_index":5449,"title":{},"content":{"1061":{"position":[[25,13]]},"1171":{"position":[[814,10]]},"1183":{"position":[[19,10]]},"1226":{"position":[[228,10]]},"1237":{"position":[[398,10]]}},"keywords":{}}],["statu",{"_index":5446,"title":{"1214":{"position":[[0,6]]},"1215":{"position":[[5,7]]}},"content":{"1060":{"position":[[282,6]]},"1136":{"position":[[6154,7],[6364,7]]},"1138":{"position":[[9816,7],[10026,7]]},"1140":{"position":[[8742,7],[8952,7]]},"1142":{"position":[[4186,7],[4396,7]]},"1144":{"position":[[514,7],[724,7]]},"1146":{"position":[[4126,7],[4336,7]]},"1148":{"position":[[7717,7],[7927,7]]},"1150":{"position":[[749,7],[959,7]]},"1152":{"position":[[447,7],[657,7]]},"1154":{"position":[[602,7],[812,7]]},"1155":{"position":[[4222,7],[4432,7]]},"1156":{"position":[[3800,7],[4010,7]]},"1157":{"position":[[385,7],[595,7]]},"1158":{"position":[[379,7],[589,7]]},"1159":{"position":[[379,7],[589,7]]},"1161":{"position":[[1374,7],[1584,7]]},"1163":{"position":[[760,7],[970,7]]},"1165":{"position":[[589,7],[799,7]]},"1167":{"position":[[9746,7],[9956,7]]},"1169":{"position":[[2854,7],[3064,7]]},"1171":{"position":[[1095,7],[1305,7]]},"1172":{"position":[[2480,7],[2690,7]]},"1173":{"position":[[1167,7],[1377,7]]},"1174":{"position":[[595,7],[805,7]]},"1175":{"position":[[591,7],[801,7]]},"1176":{"position":[[760,7],[970,7]]},"1177":{"position":[[681,7],[891,7]]},"1178":{"position":[[998,7],[1208,7]]},"1179":{"position":[[795,7],[1005,7]]},"1180":{"position":[[1066,7],[1276,7]]},"1181":{"position":[[1586,7],[1796,7]]},"1182":{"position":[[629,7],[839,7]]},"1183":{"position":[[584,7],[794,7]]},"1185":{"position":[[429,7],[639,7]]},"1186":{"position":[[5390,7],[5600,7]]},"1187":{"position":[[5403,7],[5613,7]]},"1188":{"position":[[10129,7],[10339,7]]},"1190":{"position":[[1760,7],[1970,7]]},"1191":{"position":[[3990,7],[4200,7]]},"1192":{"position":[[4165,7],[4375,7]]},"1193":{"position":[[4217,7],[4427,7]]},"1194":{"position":[[3857,7],[4067,7]]},"1195":{"position":[[3835,7],[4045,7]]},"1196":{"position":[[3645,7],[3855,7]]},"1197":{"position":[[4628,7],[4838,7]]},"1198":{"position":[[4638,7],[4848,7]]},"1199":{"position":[[4666,7],[4876,7]]},"1200":{"position":[[4533,7],[4743,7]]},"1201":{"position":[[3793,7],[4003,7]]},"1202":{"position":[[537,7],[747,7],[4935,7],[5145,7],[9332,7],[9542,7]]},"1203":{"position":[[4027,7],[4237,7]]},"1204":{"position":[[3871,7],[4081,7],[4773,7],[4983,7],[5703,7],[5913,7],[6605,7],[6815,7],[7591,7],[7801,7],[8545,7],[8755,7],[9492,7],[9702,7],[10422,7],[10632,7]]},"1205":{"position":[[5200,7],[5410,7]]},"1206":{"position":[[3899,7],[4109,7]]},"1207":{"position":[[3828,7],[4038,7]]},"1209":{"position":[[5176,7],[5386,7]]},"1211":{"position":[[500,7],[710,7]]},"1213":{"position":[[271,7],[481,7]]},"1215":{"position":[[6,6],[34,6],[144,6],[355,7],[565,7]]},"1217":{"position":[[8487,7],[8697,7]]},"1219":{"position":[[3742,7],[3952,7]]},"1221":{"position":[[474,7],[684,7]]},"1222":{"position":[[3613,7],[3823,7]]},"1223":{"position":[[3623,7],[3833,7]]},"1224":{"position":[[3056,7],[3266,7]]},"1226":{"position":[[8955,7],[9165,7]]},"1228":{"position":[[10568,7],[10778,7]]},"1235":{"position":[[6436,7],[6646,7]]},"1237":{"position":[[9125,7],[9335,7]]},"1355":{"position":[[5328,7]]},"1382":{"position":[[4461,7]]},"1388":{"position":[[5155,7]]},"1442":{"position":[[1451,7]]}},"keywords":{}}],["std",{"_index":5992,"title":{},"content":{"1172":{"position":[[1906,3],[2250,3]]},"1429":{"position":[[5551,3],[5654,3]]},"1440":{"position":[[5543,3],[5646,3]]}},"keywords":{}}],["std::cout",{"_index":549,"title":{},"content":{"18":{"position":[[480,9]]}},"keywords":{}}],["std::endl",{"_index":553,"title":{},"content":{"18":{"position":[[552,10]]}},"keywords":{}}],["std_err",{"_index":5993,"title":{},"content":{"1172":{"position":[[1924,7],[2162,7],[2281,7]]}},"keywords":{}}],["std_err_log_level",{"_index":7812,"title":{},"content":{"1413":{"position":[[1565,18]]},"1429":{"position":[[2083,18],[5497,18]]},"1440":{"position":[[2237,18],[5489,18]]},"1470":{"position":[[2759,18]]},"1475":{"position":[[1561,18]]}},"keywords":{}}],["std_out_log_level",{"_index":7813,"title":{},"content":{"1413":{"position":[[1606,18]]},"1429":{"position":[[2124,18],[5524,18],[5560,18]]},"1440":{"position":[[2278,18],[5516,18],[5552,18]]},"1470":{"position":[[2800,18]]},"1475":{"position":[[1602,18]]}},"keywords":{}}],["stdcxx",{"_index":7285,"title":{},"content":{"1386":{"position":[[6101,6]]}},"keywords":{}}],["stderr",{"_index":863,"title":{},"content":{"41":{"position":[[785,6]]},"42":{"position":[[32,6]]},"174":{"position":[[785,6]]},"175":{"position":[[32,6]]},"305":{"position":[[308,6]]},"346":{"position":[[376,6]]},"347":{"position":[[412,6]]},"833":{"position":[[409,7]]},"1112":{"position":[[3272,6],[3293,7]]},"1136":{"position":[[6264,7],[6315,8]]},"1138":{"position":[[9926,7],[9977,8]]},"1140":{"position":[[8852,7],[8903,8]]},"1142":{"position":[[4296,7],[4347,8]]},"1144":{"position":[[624,7],[675,8]]},"1146":{"position":[[4236,7],[4287,8]]},"1148":{"position":[[7827,7],[7878,8]]},"1150":{"position":[[859,7],[910,8]]},"1152":{"position":[[557,7],[608,8]]},"1154":{"position":[[712,7],[763,8]]},"1155":{"position":[[4332,7],[4383,8]]},"1156":{"position":[[3910,7],[3961,8]]},"1157":{"position":[[495,7],[546,8]]},"1158":{"position":[[489,7],[540,8]]},"1159":{"position":[[489,7],[540,8]]},"1161":{"position":[[1484,7],[1535,8]]},"1163":{"position":[[870,7],[921,8]]},"1165":{"position":[[699,7],[750,8]]},"1167":{"position":[[295,7],[9856,7],[9907,8]]},"1169":{"position":[[2964,7],[3015,8]]},"1171":{"position":[[1205,7],[1256,8]]},"1172":{"position":[[2590,7],[2641,8]]},"1173":{"position":[[1277,7],[1328,8]]},"1174":{"position":[[705,7],[756,8]]},"1175":{"position":[[701,7],[752,8]]},"1176":{"position":[[870,7],[921,8]]},"1177":{"position":[[791,7],[842,8]]},"1178":{"position":[[1108,7],[1159,8]]},"1179":{"position":[[905,7],[956,8]]},"1180":{"position":[[1176,7],[1227,8]]},"1181":{"position":[[1696,7],[1747,8]]},"1182":{"position":[[739,7],[790,8]]},"1183":{"position":[[694,7],[745,8]]},"1185":{"position":[[539,7],[590,8]]},"1186":{"position":[[5500,7],[5551,8]]},"1187":{"position":[[5513,7],[5564,8]]},"1188":{"position":[[10239,7],[10290,8]]},"1190":{"position":[[1870,7],[1921,8]]},"1191":{"position":[[4100,7],[4151,8]]},"1192":{"position":[[4275,7],[4326,8]]},"1193":{"position":[[4327,7],[4378,8]]},"1194":{"position":[[3967,7],[4018,8]]},"1195":{"position":[[3945,7],[3996,8]]},"1196":{"position":[[3755,7],[3806,8]]},"1197":{"position":[[4738,7],[4789,8]]},"1198":{"position":[[4748,7],[4799,8]]},"1199":{"position":[[4776,7],[4827,8]]},"1200":{"position":[[4643,7],[4694,8]]},"1201":{"position":[[3903,7],[3954,8]]},"1202":{"position":[[647,7],[698,8],[5045,7],[5096,8],[9442,7],[9493,8]]},"1203":{"position":[[4137,7],[4188,8]]},"1204":{"position":[[3981,7],[4032,8],[4883,7],[4934,8],[5813,7],[5864,8],[6715,7],[6766,8],[7701,7],[7752,8],[8655,7],[8706,8],[9602,7],[9653,8],[10532,7],[10583,8]]},"1205":{"position":[[5310,7],[5361,8]]},"1206":{"position":[[4009,7],[4060,8]]},"1207":{"position":[[3938,7],[3989,8]]},"1209":{"position":[[5286,7],[5337,8]]},"1211":{"position":[[610,7],[661,8]]},"1213":{"position":[[381,7],[432,8]]},"1215":{"position":[[465,7],[516,8]]},"1217":{"position":[[8597,7],[8648,8]]},"1219":{"position":[[3852,7],[3903,8]]},"1221":{"position":[[584,7],[635,8]]},"1222":{"position":[[3723,7],[3774,8]]},"1223":{"position":[[3733,7],[3784,8]]},"1224":{"position":[[3166,7],[3217,8]]},"1226":{"position":[[9065,7],[9116,8]]},"1228":{"position":[[2470,6],[2531,6],[2575,7],[2598,6],[2743,6],[10678,7],[10729,8]]},"1235":{"position":[[6546,7],[6597,8]]},"1237":{"position":[[9235,7],[9286,8]]}},"keywords":{}}],["stderr=filepath",{"_index":6089,"title":{},"content":{"1228":{"position":[[2621,15]]}},"keywords":{}}],["stderrbuild",{"_index":4091,"title":{},"content":{"877":{"position":[[242,13]]}},"keywords":{}}],["stdin",{"_index":5767,"title":{"1239":{"position":[[7,5]]}},"content":{"1120":{"position":[[155,5],[286,6]]},"1219":{"position":[[107,7],[191,8]]},"1224":{"position":[[82,5]]},"1486":{"position":[[972,5],[3800,6],[4221,6],[4989,6]]}},"keywords":{}}],["stdlib",{"_index":1688,"title":{},"content":{"305":{"position":[[323,6]]},"346":{"position":[[391,6]]},"347":{"position":[[427,6]]},"833":{"position":[[281,7]]}},"keywords":{}}],["stdout",{"_index":868,"title":{},"content":{"43":{"position":[[32,6]]},"176":{"position":[[32,6]]},"305":{"position":[[80,7],[200,6]]},"346":{"position":[[107,7],[206,6]]},"347":{"position":[[110,6],[304,6]]},"377":{"position":[[686,7]]},"756":{"position":[[686,7]]},"833":{"position":[[35,6],[195,6],[344,6]]},"840":{"position":[[1675,7]]},"869":{"position":[[537,7]]},"1052":{"position":[[352,7]]},"1112":{"position":[[3332,6],[3353,7]]},"1138":{"position":[[1289,7],[1553,6]]},"1140":{"position":[[1042,6]]},"1167":{"position":[[2046,6]]},"1188":{"position":[[1095,6]]},"1190":{"position":[[589,6]]},"1196":{"position":[[33,6]]},"1217":{"position":[[787,6]]},"1219":{"position":[[119,8],[226,9]]},"1224":{"position":[[215,7]]},"1226":{"position":[[4916,7]]},"1228":{"position":[[1942,6],[2003,6],[2047,7],[2070,6],[2219,6],[2868,6]]},"1237":{"position":[[5086,7]]},"1486":{"position":[[982,6],[4017,7],[4688,6],[5061,6]]}},"keywords":{}}],["stdout/stderr",{"_index":5759,"title":{},"content":{"1116":{"position":[[29,13]]}},"keywords":{}}],["stdout=filepath",{"_index":6085,"title":{},"content":{"1228":{"position":[[2093,15]]}},"keywords":{}}],["stdutil",{"_index":8184,"title":{},"content":{"1454":{"position":[[9757,10]]}},"keywords":{}}],["step",{"_index":569,"title":{},"content":{"18":{"position":[[851,4]]},"23":{"position":[[1646,5]]},"662":{"position":[[33,5],[351,5],[640,5],[693,4],[783,4]]},"706":{"position":[[181,5],[752,5],[964,4],[1296,4],[1488,6]]},"724":{"position":[[1299,5]]},"872":{"position":[[1038,5]]},"888":{"position":[[457,5]]},"892":{"position":[[581,5],[1371,4],[2002,5]]},"904":{"position":[[1328,5]]},"1029":{"position":[[328,5]]},"1048":{"position":[[959,4],[1278,4]]},"1373":{"position":[[2892,4]]},"1386":{"position":[[4496,5],[5398,5]]}},"keywords":{}}],["sthat",{"_index":2772,"title":{},"content":{"591":{"position":[[499,5]]}},"keywords":{}}],["stick",{"_index":3447,"title":{},"content":{"688":{"position":[[1200,5]]},"924":{"position":[[969,5]]}},"keywords":{}}],["still",{"_index":651,"title":{"1256":{"position":[[2,5]]}},"content":{"22":{"position":[[746,5]]},"23":{"position":[[3138,5]]},"24":{"position":[[1070,5]]},"66":{"position":[[221,5]]},"89":{"position":[[1066,5]]},"221":{"position":[[1066,5]]},"429":{"position":[[644,5]]},"454":{"position":[[221,5]]},"706":{"position":[[1445,5]]},"808":{"position":[[644,5]]},"832":{"position":[[489,5]]},"947":{"position":[[1171,5]]},"961":{"position":[[399,5]]},"965":{"position":[[329,5]]},"990":{"position":[[436,5]]},"1017":{"position":[[958,5],[992,5]]},"1035":{"position":[[291,5]]},"1093":{"position":[[256,5]]},"1098":{"position":[[457,5],[798,5]]},"1105":{"position":[[2041,5]]},"1138":{"position":[[2953,5]]},"1140":{"position":[[2442,5]]},"1167":{"position":[[3446,5]]},"1188":{"position":[[2495,5]]},"1217":{"position":[[2187,5]]},"1228":{"position":[[4268,5]]},"1256":{"position":[[7,5]]},"1360":{"position":[[1530,5]]},"1363":{"position":[[6196,5]]},"1473":{"position":[[3984,5]]}},"keywords":{}}],["stop",{"_index":3293,"title":{},"content":{"662":{"position":[[269,5],[288,5],[323,5],[345,5],[511,5],[550,5],[634,5],[739,5]]},"1180":{"position":[[324,5]]}},"keywords":{}}],["stopgap",{"_index":4574,"title":{},"content":{"933":{"position":[[177,7]]}},"keywords":{}}],["storag",{"_index":3806,"title":{},"content":{"724":{"position":[[1015,8],[1237,7]]},"890":{"position":[[159,7]]},"1345":{"position":[[267,7]]},"1459":{"position":[[2221,8]]}},"keywords":{}}],["storage.src",{"_index":8106,"title":{},"content":{"1446":{"position":[[2248,13]]}},"keywords":{}}],["store",{"_index":1512,"title":{},"content":{"276":{"position":[[538,5]]},"277":{"position":[[486,5]]},"281":{"position":[[627,5]]},"282":{"position":[[577,5]]},"345":{"position":[[883,6]]},"386":{"position":[[467,6]]},"570":{"position":[[15,6]]},"638":{"position":[[1137,5]]},"663":{"position":[[1159,6]]},"688":{"position":[[1425,7]]},"724":{"position":[[1202,6]]},"765":{"position":[[467,6]]},"887":{"position":[[117,7]]},"901":{"position":[[1113,6]]},"902":{"position":[[1122,5]]},"916":{"position":[[61,6]]},"962":{"position":[[93,7]]},"966":{"position":[[259,7]]},"980":{"position":[[1585,6]]},"1102":{"position":[[29,6]]},"1112":{"position":[[2717,6]]},"1253":{"position":[[618,5]]},"1359":{"position":[[952,6]]},"1361":{"position":[[657,6]]},"1365":{"position":[[893,5]]},"1383":{"position":[[5731,7]]},"1388":{"position":[[5009,7],[6419,7]]},"1393":{"position":[[5805,6]]},"1438":{"position":[[503,6],[1995,6]]},"1467":{"position":[[6772,7]]}},"keywords":{}}],["str",{"_index":807,"title":{"668":{"position":[[0,4]]}},"content":{"26":{"position":[[26,3]]},"29":{"position":[[25,3]]},"31":{"position":[[31,3]]},"36":{"position":[[31,4]]},"40":{"position":[[48,4]]},"41":{"position":[[47,4],[68,3]]},"42":{"position":[[23,3]]},"43":{"position":[[23,3]]},"46":{"position":[[19,3]]},"47":{"position":[[20,3]]},"50":{"position":[[28,4]]},"51":{"position":[[21,3]]},"55":{"position":[[26,4]]},"57":{"position":[[30,3]]},"59":{"position":[[30,3]]},"60":{"position":[[33,3]]},"63":{"position":[[61,3]]},"79":{"position":[[37,4]]},"84":{"position":[[62,4]]},"85":{"position":[[63,4],[76,4],[91,4]]},"86":{"position":[[61,4]]},"87":{"position":[[57,4]]},"88":{"position":[[58,4]]},"89":{"position":[[36,4],[51,3]]},"91":{"position":[[64,4],[74,4],[105,3],[130,3],[157,3]]},"94":{"position":[[142,3],[284,4],[308,3],[449,3],[812,3],[836,3],[1151,5]]},"95":{"position":[[61,4]]},"96":{"position":[[64,4]]},"98":{"position":[[56,4],[184,3]]},"99":{"position":[[61,4],[225,3]]},"106":{"position":[[12,3]]},"109":{"position":[[12,3]]},"110":{"position":[[15,3]]},"116":{"position":[[33,4]]},"125":{"position":[[22,3]]},"126":{"position":[[56,3]]},"127":{"position":[[36,3]]},"128":{"position":[[38,3]]},"129":{"position":[[89,3]]},"130":{"position":[[53,3]]},"131":{"position":[[194,3]]},"132":{"position":[[93,3]]},"133":{"position":[[79,3]]},"134":{"position":[[83,3]]},"135":{"position":[[35,3]]},"136":{"position":[[37,3]]},"137":{"position":[[58,3]]},"138":{"position":[[90,3]]},"139":{"position":[[53,3]]},"140":{"position":[[60,3]]},"141":{"position":[[49,3]]},"142":{"position":[[24,3]]},"143":{"position":[[37,3]]},"144":{"position":[[84,3]]},"145":{"position":[[70,3]]},"146":{"position":[[100,3]]},"147":{"position":[[53,3]]},"148":{"position":[[88,3]]},"149":{"position":[[94,3]]},"150":{"position":[[52,3]]},"151":{"position":[[51,3]]},"155":{"position":[[22,3]]},"156":{"position":[[22,3]]},"161":{"position":[[30,3]]},"163":{"position":[[19,3]]},"164":{"position":[[19,3]]},"165":{"position":[[22,3]]},"166":{"position":[[50,3]]},"170":{"position":[[22,3]]},"171":{"position":[[31,3]]},"173":{"position":[[48,4]]},"174":{"position":[[47,4],[68,3]]},"175":{"position":[[23,3]]},"176":{"position":[[23,3]]},"178":{"position":[[26,3]]},"181":{"position":[[31,4]]},"185":{"position":[[25,3]]},"187":{"position":[[31,3]]},"193":{"position":[[19,3]]},"194":{"position":[[20,3]]},"197":{"position":[[28,4]]},"198":{"position":[[21,3]]},"202":{"position":[[26,4]]},"207":{"position":[[31,3]]},"216":{"position":[[62,4]]},"217":{"position":[[63,4],[76,4],[91,4]]},"218":{"position":[[61,4]]},"219":{"position":[[57,4]]},"220":{"position":[[58,4]]},"221":{"position":[[36,4],[51,3]]},"223":{"position":[[64,4],[74,4],[105,3],[130,3],[157,3]]},"226":{"position":[[142,3],[284,4],[308,3],[449,3],[812,3],[836,3],[1151,5]]},"227":{"position":[[61,4]]},"228":{"position":[[64,4]]},"230":{"position":[[56,4],[184,3]]},"231":{"position":[[61,4],[225,3]]},"236":{"position":[[152,3],[360,3]]},"237":{"position":[[152,3],[360,3]]},"238":{"position":[[40,4],[52,4],[174,3],[382,3]]},"239":{"position":[[146,3],[354,3],[416,3]]},"240":{"position":[[35,4]]},"242":{"position":[[124,4]]},"243":{"position":[[42,4],[71,3]]},"248":{"position":[[22,3]]},"249":{"position":[[56,3]]},"250":{"position":[[36,3]]},"251":{"position":[[38,3]]},"252":{"position":[[89,3]]},"253":{"position":[[53,3]]},"254":{"position":[[194,3]]},"255":{"position":[[93,3]]},"256":{"position":[[79,3]]},"257":{"position":[[83,3]]},"258":{"position":[[35,3]]},"259":{"position":[[37,3]]},"260":{"position":[[58,3]]},"261":{"position":[[90,3]]},"262":{"position":[[53,3]]},"263":{"position":[[60,3]]},"264":{"position":[[49,3]]},"265":{"position":[[24,3]]},"266":{"position":[[37,3]]},"267":{"position":[[84,3]]},"268":{"position":[[70,3]]},"269":{"position":[[100,3]]},"270":{"position":[[53,3]]},"271":{"position":[[88,3]]},"272":{"position":[[94,3]]},"273":{"position":[[52,3]]},"274":{"position":[[51,3]]},"279":{"position":[[47,4]]},"283":{"position":[[36,3]]},"284":{"position":[[36,3]]},"291":{"position":[[19,3]]},"292":{"position":[[19,3]]},"294":{"position":[[142,3],[302,3],[347,3]]},"295":{"position":[[48,3]]},"297":{"position":[[139,3],[299,3],[344,3],[389,3]]},"298":{"position":[[97,3],[183,3],[277,3],[363,3],[415,3],[497,3],[565,3]]},"299":{"position":[[34,3]]},"301":{"position":[[126,3],[260,3],[308,3]]},"302":{"position":[[48,3]]},"304":{"position":[[37,4]]},"307":{"position":[[29,3]]},"308":{"position":[[37,4]]},"309":{"position":[[123,3],[257,3],[302,3]]},"310":{"position":[[97,3],[183,3]]},"311":{"position":[[75,3],[143,3]]},"314":{"position":[[67,4],[78,3]]},"315":{"position":[[58,4]]},"316":{"position":[[58,4]]},"317":{"position":[[59,4]]},"318":{"position":[[57,4]]},"319":{"position":[[68,4],[79,3]]},"320":{"position":[[59,4],[113,3],[181,3]]},"322":{"position":[[36,4]]},"324":{"position":[[120,3],[254,3],[361,3],[495,3]]},"325":{"position":[[40,4],[52,4],[148,3],[282,3]]},"326":{"position":[[50,4],[62,4],[158,3],[292,3]]},"327":{"position":[[124,3],[258,3]]},"328":{"position":[[120,3],[254,3],[316,3]]},"329":{"position":[[35,4]]},"330":{"position":[[37,4],[133,3],[267,3]]},"331":{"position":[[121,3],[255,3]]},"332":{"position":[[35,4],[131,3],[265,3]]},"333":{"position":[[41,4],[53,4],[149,3],[283,3]]},"334":{"position":[[47,3],[181,3],[315,3]]},"335":{"position":[[121,3],[255,3],[364,3],[498,3]]},"336":{"position":[[120,3],[254,3],[361,3],[495,3]]},"337":{"position":[[122,3],[256,3]]},"338":{"position":[[151,3],[285,3]]},"340":{"position":[[69,3],[137,3]]},"345":{"position":[[219,3]]},"346":{"position":[[39,3]]},"362":{"position":[[753,3],[863,5]]},"363":{"position":[[98,4],[585,4]]},"368":{"position":[[238,3],[3202,3]]},"374":{"position":[[530,3]]},"377":{"position":[[147,3],[302,5],[1506,4]]},"379":{"position":[[28,4],[289,3]]},"386":{"position":[[133,3]]},"397":{"position":[[29,4]]},"400":{"position":[[107,3]]},"403":{"position":[[79,3]]},"405":{"position":[[135,3],[383,3],[524,3],[541,3],[559,3],[575,3],[633,3],[659,3],[818,4],[823,5],[845,4],[850,4]]},"414":{"position":[[26,3]]},"415":{"position":[[26,3]]},"416":{"position":[[104,3]]},"417":{"position":[[163,3]]},"420":{"position":[[34,4]]},"423":{"position":[[17,4]]},"425":{"position":[[25,3]]},"427":{"position":[[22,3]]},"429":{"position":[[25,4],[35,4]]},"430":{"position":[[31,3]]},"431":{"position":[[28,4]]},"432":{"position":[[35,4]]},"433":{"position":[[31,4],[41,4],[62,3],[91,3]]},"434":{"position":[[18,4]]},"435":{"position":[[23,4],[28,4],[33,4]]},"436":{"position":[[28,3]]},"437":{"position":[[111,3]]},"438":{"position":[[22,4]]},"443":{"position":[[49,4]]},"445":{"position":[[16,4],[30,3]]},"446":{"position":[[26,4],[40,4]]},"447":{"position":[[58,5]]},"450":{"position":[[15,4]]},"451":{"position":[[30,4]]},"462":{"position":[[38,3]]},"463":{"position":[[38,3]]},"465":{"position":[[67,3],[135,3],[189,3],[257,3]]},"466":{"position":[[40,4],[52,4],[95,3],[163,3]]},"467":{"position":[[50,4],[62,4],[105,3],[173,3]]},"468":{"position":[[71,3],[139,3]]},"469":{"position":[[67,3],[135,3],[197,3]]},"470":{"position":[[35,4]]},"471":{"position":[[37,4],[80,3],[148,3]]},"472":{"position":[[68,3],[136,3]]},"473":{"position":[[35,4],[78,3],[146,3]]},"474":{"position":[[47,3]]},"475":{"position":[[68,3],[136,3],[192,3],[260,3]]},"476":{"position":[[67,3],[135,3],[189,3],[257,3]]},"477":{"position":[[62,3]]},"478":{"position":[[69,3],[137,3]]},"480":{"position":[[19,3]]},"483":{"position":[[22,3]]},"486":{"position":[[30,3]]},"488":{"position":[[30,3]]},"489":{"position":[[33,3]]},"492":{"position":[[61,3]]},"508":{"position":[[37,4]]},"516":{"position":[[33,4]]},"518":{"position":[[12,3]]},"521":{"position":[[12,3]]},"522":{"position":[[15,3]]},"528":{"position":[[25,4]]},"539":{"position":[[22,3]]},"540":{"position":[[22,3]]},"545":{"position":[[19,3]]},"546":{"position":[[19,3]]},"547":{"position":[[22,3]]},"548":{"position":[[50,3]]},"550":{"position":[[22,3]]},"551":{"position":[[31,3]]},"589":{"position":[[30,3]]},"591":{"position":[[26,4]]},"593":{"position":[[28,3]]},"594":{"position":[[25,4]]},"595":{"position":[[41,3]]},"596":{"position":[[26,4]]},"604":{"position":[[56,3]]},"605":{"position":[[25,3]]},"606":{"position":[[25,3],[43,3]]},"607":{"position":[[29,4],[43,5],[49,4],[54,4]]},"608":{"position":[[32,4],[46,3]]},"609":{"position":[[32,4],[46,3]]},"610":{"position":[[25,4],[35,4],[66,3]]},"611":{"position":[[26,4]]},"612":{"position":[[27,4]]},"613":{"position":[[30,4],[44,5],[50,4],[55,4]]},"614":{"position":[[31,3]]},"615":{"position":[[25,3],[43,3]]},"616":{"position":[[30,3]]},"618":{"position":[[30,3]]},"619":{"position":[[24,3],[42,3]]},"620":{"position":[[25,3]]},"621":{"position":[[25,3]]},"632":{"position":[[47,3]]},"634":{"position":[[25,3]]},"635":{"position":[[24,3]]},"638":{"position":[[16,4]]},"644":{"position":[[34,3]]},"645":{"position":[[22,4]]},"646":{"position":[[21,4]]},"647":{"position":[[12,4]]},"648":{"position":[[32,3]]},"656":{"position":[[11,4]]},"659":{"position":[[22,3]]},"661":{"position":[[21,3],[31,4]]},"663":{"position":[[267,4]]},"664":{"position":[[21,3]]},"668":{"position":[[20,3],[25,4]]},"671":{"position":[[21,3]]},"741":{"position":[[753,3],[863,5]]},"742":{"position":[[98,4],[585,4]]},"747":{"position":[[238,3],[3202,3]]},"753":{"position":[[530,3]]},"756":{"position":[[147,3],[302,5],[1506,4]]},"758":{"position":[[28,4],[289,3]]},"765":{"position":[[133,3]]},"776":{"position":[[29,4]]},"779":{"position":[[107,3]]},"782":{"position":[[79,3]]},"784":{"position":[[135,3],[383,3],[524,3],[541,3],[559,3],[575,3],[633,3],[659,3],[818,4],[823,5],[845,4],[850,4]]},"793":{"position":[[26,3]]},"794":{"position":[[26,3]]},"795":{"position":[[104,3]]},"796":{"position":[[163,3]]},"799":{"position":[[34,4]]},"802":{"position":[[17,4]]},"804":{"position":[[25,3]]},"806":{"position":[[22,3]]},"808":{"position":[[25,4],[35,4]]},"809":{"position":[[31,3]]},"810":{"position":[[28,4]]},"811":{"position":[[35,4]]},"812":{"position":[[31,4],[41,4],[62,3],[91,3]]},"813":{"position":[[18,4]]},"814":{"position":[[23,4],[28,4],[33,4]]},"815":{"position":[[28,3]]},"816":{"position":[[111,3]]},"817":{"position":[[22,4]]},"822":{"position":[[49,4]]},"824":{"position":[[16,4],[30,3]]},"825":{"position":[[26,4],[40,4]]},"826":{"position":[[58,5]]},"829":{"position":[[15,4]]},"830":{"position":[[30,4]]},"890":{"position":[[2194,4]]},"900":{"position":[[571,3],[892,4]]},"901":{"position":[[229,4]]},"981":{"position":[[235,4]]},"1001":{"position":[[87,4],[1206,4]]},"1052":{"position":[[472,5],[478,4]]},"1064":{"position":[[52,4],[1198,4]]},"1065":{"position":[[50,4]]},"1082":{"position":[[741,5]]},"1083":{"position":[[575,5]]},"1104":{"position":[[2409,4]]},"1112":{"position":[[131,4],[657,5],[885,5],[2796,4],[3241,4],[3301,4],[3361,4],[3461,4],[3788,4],[3847,4],[4634,4],[4746,4],[4950,4]]},"1124":{"position":[[318,4],[361,4]]},"1126":{"position":[[375,4]]},"1348":{"position":[[26,4],[63,3],[308,3],[345,4],[371,3],[508,3],[599,3],[643,3],[797,3],[875,3],[1003,3],[1255,3],[1278,3],[1332,5],[1383,3],[1434,3],[1465,3],[1493,4],[1519,3],[1605,3],[1648,3],[2049,3],[2170,3],[2316,3],[2374,3],[2427,3],[2473,3],[2582,3]]},"1349":{"position":[[37,4],[74,3],[319,3],[356,4],[594,3],[658,3]]},"1350":{"position":[[29,4],[66,3],[311,3],[348,4],[374,3],[399,3],[423,3],[560,3],[668,3],[688,3],[866,3],[1083,3],[1161,3],[1239,3],[1439,3],[1493,3],[1542,3],[1607,3],[1653,3],[2007,4],[2135,3],[2215,3],[2367,3],[2420,3],[2463,3],[3006,3],[3127,3],[3173,3],[3218,3],[3333,3],[3433,3],[3502,3],[3542,3]]},"1351":{"position":[[35,4],[72,3],[317,3],[354,4],[455,3],[485,3],[549,3],[615,3],[667,3]]},"1352":{"position":[[29,4],[66,3],[311,3],[348,4],[374,3],[399,3],[423,3],[560,3],[668,3],[688,3],[866,3],[1083,3],[1161,3],[1239,3],[1310,3],[1438,3],[1492,3],[1541,3],[1606,3],[1652,3],[2006,4],[2134,3],[2214,3],[2366,3],[2419,3],[2462,3],[3005,3],[3126,3],[3172,3],[3217,3],[3332,3],[3432,3],[3501,3],[3541,3]]},"1353":{"position":[[42,4],[79,3],[324,3],[361,4],[387,3],[411,3],[548,3],[568,3],[582,4],[608,3],[700,3],[740,3],[911,3],[946,3],[1144,3],[1189,3]]},"1354":{"position":[[43,4],[80,3],[325,3],[362,4],[387,3],[414,3],[445,3],[471,3],[485,4],[511,3],[635,3],[689,4],[744,4],[792,3],[845,3],[961,4],[1007,5],[1048,4]]},"1355":{"position":[[30,4],[67,3],[312,3],[349,4],[448,3],[472,3],[537,3],[565,3],[656,3],[745,3],[899,3],[963,3],[1212,3],[1242,3],[1265,3],[1333,5],[1384,3],[1435,3],[1466,3],[1496,3],[1586,3],[1643,3],[1710,3],[1821,3],[1879,3],[1932,3],[1978,3],[2060,3]]},"1356":{"position":[[31,4],[68,3],[313,3],[350,4],[381,3],[445,3],[533,3]]},"1357":{"position":[[31,4],[68,3],[321,4],[346,4],[372,3],[409,4]]},"1358":{"position":[[35,4],[72,3],[317,3],[354,4],[453,3],[477,3],[503,3],[517,4],[543,3],[607,3],[713,3],[791,3],[859,3]]},"1359":{"position":[[31,4],[68,3],[313,3],[350,4],[453,3],[469,4],[500,3],[564,3],[694,3],[719,3],[751,3],[780,3],[801,3],[817,4]]},"1360":{"position":[[26,4],[63,3],[308,3],[345,4],[405,3],[434,3],[460,3],[481,3],[533,3],[555,3],[585,3],[634,3],[659,3],[723,3],[841,3],[891,3],[973,3],[1004,3],[1085,3],[1204,5],[1243,4],[1259,3]]},"1361":{"position":[[34,4],[71,3],[324,4],[351,3],[381,3],[445,3],[519,3]]},"1362":{"position":[[27,4],[64,3],[317,4],[345,3],[368,3],[397,3],[436,3],[622,5],[693,3],[723,3],[844,3],[883,3],[917,3],[946,4],[1026,4],[1173,3],[1206,3],[1268,3],[1317,4],[1619,6],[2026,3],[2118,3],[2154,3],[2194,4],[2240,3],[2349,3],[2394,4],[2752,3],[2780,3],[2812,3],[2842,3],[2860,5],[2866,4],[2878,3],[2902,6],[2982,3],[3013,3],[3041,3],[3184,3],[3371,6],[3528,5],[3670,3],[3733,3],[3764,3],[3846,3],[4153,3],[4179,5],[4234,3],[4304,3],[4379,3],[4452,3],[4483,3],[4519,3]]},"1363":{"position":[[27,4],[64,3],[317,4],[345,3],[368,3],[397,3],[436,3],[476,3],[556,3],[601,3],[641,3],[696,3],[728,3],[1151,3],[1185,3],[1387,3],[1417,3],[1446,3],[1512,3],[1543,3],[1655,3],[1689,3],[1792,4],[1974,4],[2066,4],[2143,3],[2187,5],[2223,3],[2253,3],[2300,3],[2345,3],[2377,3],[2413,3],[2450,3],[2796,3]]},"1364":{"position":[[28,4],[65,3],[318,4],[346,3],[369,3],[398,3],[437,3],[675,5],[710,3],[740,3],[861,3],[900,3],[934,3],[963,4],[1043,4],[1188,3],[1250,3],[1299,4],[1601,6],[2008,3],[2095,3],[2129,3],[2165,3],[2205,4],[2251,3],[2360,3],[2405,4],[2763,3],[2791,3],[2823,3],[2853,3],[2871,5],[2877,4],[2889,3],[2913,6],[2978,3],[3006,3],[3149,3],[3336,6],[3493,5],[3635,3],[3663,3],[3694,3],[3776,3],[3833,4],[4114,3],[4138,3],[4164,5],[4219,3],[4289,3],[4446,3],[4519,3],[4550,3],[4586,3]]},"1365":{"position":[[28,4],[65,3],[318,4],[342,3],[375,4],[394,4],[420,3],[437,4],[497,3],[531,3],[545,3],[653,3],[679,3],[753,5]]},"1366":{"position":[[29,4],[66,3],[319,4],[350,3],[389,3],[557,3],[586,3]]},"1367":{"position":[[25,4],[62,3],[315,4],[343,3],[366,3],[395,3],[434,3],[474,3],[554,3],[599,3],[654,3],[686,3],[1103,3],[1135,3],[1169,3],[1200,3],[1270,3],[1304,3],[1568,5],[1594,3],[1627,3],[1657,3],[1754,3],[1785,3],[1875,3],[1914,3],[1948,3],[1977,4],[2041,4],[2100,4],[2271,3],[2302,4],[2336,3],[2398,3],[2447,4],[2749,6],[3050,4],[3217,3],[3309,3],[3345,3],[3385,4],[3431,3],[3580,4],[3672,4],[4052,3],[4080,3],[4112,3],[4142,3],[4160,5],[4166,4],[4178,3],[4202,6],[4267,3],[4288,3],[4431,3],[4618,6],[4775,5],[4917,3],[4945,3],[4976,3],[5058,3],[5103,3],[5307,3],[5343,3],[5398,3],[5601,3],[5625,3],[5648,3],[5674,5],[5729,3],[5845,3],[5920,3],[5993,3],[6024,3],[6060,3],[6091,3],[6139,4],[6174,3],[6308,3],[6582,3]]},"1368":{"position":[[30,4],[67,3],[320,4],[362,3],[398,3],[415,4],[434,3],[464,3],[495,3],[514,4],[538,4],[579,3],[673,4],[693,4],[728,3],[760,3],[779,4],[802,3],[856,4],[872,3],[913,4],[949,4],[967,3],[989,3],[1004,4],[1025,3],[1059,3],[1090,3],[1163,3],[1182,3],[1208,3],[1241,3],[1266,3],[1305,3],[1404,3],[1435,3],[1452,3]]},"1369":{"position":[[34,4],[71,3],[324,4],[388,3],[452,3]]},"1370":{"position":[[41,4],[78,3],[331,4],[359,3],[382,3],[446,3],[467,4],[496,3]]},"1371":{"position":[[32,4],[69,3],[322,4],[346,3],[376,3]]},"1372":{"position":[[29,4],[66,3],[319,4],[347,3],[370,3],[399,3],[438,3],[478,3],[558,3],[603,3],[658,3],[690,3],[1116,3],[1150,3],[1289,3],[1319,3],[1354,3],[1385,3],[1525,3],[1545,3],[1651,4],[1743,4],[1789,3],[1878,3],[1900,4]]},"1373":{"position":[[26,4],[63,3],[316,4],[393,3],[418,3],[442,3],[463,3],[487,3],[593,3],[718,3],[757,3],[791,3],[820,4],[870,3],[922,3],[955,3],[1041,3],[1195,3],[1235,4],[1281,3],[1692,3],[1724,3],[1754,3],[1772,5],[1778,4],[1790,3],[1814,6],[1876,3],[1972,3],[2002,3],[2158,6],[2315,5],[2457,3],[2523,3],[2612,5],[2680,3]]},"1374":{"position":[[28,4],[65,3],[318,4],[343,3],[369,3],[420,3],[484,3],[508,4],[530,3],[611,4]]},"1375":{"position":[[29,4],[66,3],[319,4],[350,3],[411,4]]},"1376":{"position":[[34,4],[71,3],[324,4],[342,4],[368,3]]},"1377":{"position":[[31,4],[68,3],[321,4],[339,4],[365,3],[400,5],[406,4],[471,3],[504,3],[578,3]]},"1378":{"position":[[33,4],[70,3],[323,4],[354,3]]},"1379":{"position":[[31,4],[68,3],[321,4],[352,3],[381,3]]},"1380":{"position":[[30,4],[67,3],[320,4],[351,3],[415,3],[487,3],[502,3]]},"1381":{"position":[[29,4],[66,3],[319,4],[348,3],[378,3],[473,3],[513,3],[537,4],[611,4]]},"1382":{"position":[[25,4],[62,3],[315,4],[337,3],[362,3],[553,3],[583,3],[766,3],[805,3],[839,3],[868,4],[918,3],[1066,3],[1173,3],[1234,3],[1274,4],[1320,3],[1746,3],[1774,3],[1838,3],[1868,3],[1886,5],[1892,4],[1904,3],[1928,6],[2058,3],[2089,3],[2117,3],[2361,6],[2518,5],[2660,3],[2726,3],[2831,4],[2858,5],[2926,3]]},"1383":{"position":[[26,4],[63,3],[316,4],[377,3],[401,3],[430,3],[483,3],[513,3],[562,3],[587,3],[651,3],[769,3],[851,3],[882,3],[963,3],[1082,5],[1121,4],[1144,3]]},"1384":{"position":[[26,4],[63,3],[316,4],[338,3],[363,3],[500,3],[530,3],[707,3],[746,3],[780,3],[809,4],[859,3],[917,4],[951,3],[1013,3],[1062,4],[1415,6],[1822,3],[1909,3],[1943,3],[1983,4],[2029,3],[2502,3],[2530,3],[2562,3],[2592,3],[2610,5],[2616,4],[2628,3],[2652,6],[2717,3],[2745,3],[2904,3],[3060,6],[3217,5],[3359,3],[3422,3],[3453,3],[3702,4],[3755,3],[3781,5],[3836,3],[3879,3],[4229,3]]},"1385":{"position":[[32,4],[69,3],[322,4],[352,3],[382,3],[472,3],[511,3],[545,3],[574,4],[629,3],[690,3],[730,4],[776,3],[1348,6],[1505,5],[1647,3],[1678,3],[1767,5],[1815,3]]},"1386":{"position":[[37,4],[74,3],[327,4],[358,3],[422,3],[505,4],[535,3]]},"1387":{"position":[[35,4],[72,3],[325,4],[347,3],[372,3],[400,3],[426,3],[574,3],[607,3],[637,3],[814,3],[853,3],[887,3],[916,4],[996,4],[1030,3],[1092,3],[1141,4],[1494,6],[1901,3],[1993,3],[2033,4],[2079,3],[2504,3],[2536,3],[2566,3],[2584,5],[2590,4],[2602,3],[2626,6],[2691,3],[2719,3],[2871,3],[3027,6],[3184,5],[3326,3],[3354,3],[3385,3],[3634,4],[3687,3],[3713,5],[3768,3],[3869,3],[3958,3],[4123,3]]},"1388":{"position":[[23,4],[60,3],[313,4],[335,3],[360,3],[387,3],[430,3],[686,3],[716,3],[899,3],[938,3],[972,3],[1001,4],[1051,3],[1190,4],[1224,3],[1331,3],[1358,3],[1419,3],[1459,4],[1505,3],[1931,3],[1959,3],[2023,3],[2053,3],[2071,5],[2077,4],[2089,3],[2113,6],[2243,3],[2274,3],[2302,3],[2546,6],[2703,5],[2845,3],[2911,3],[3008,3],[3044,3],[3065,5],[3083,5],[3140,3],[3182,4],[3247,5],[3393,3]]},"1389":{"position":[[28,4],[65,3],[318,4],[350,3],[391,3],[413,3],[432,3],[462,3],[488,3],[515,3],[534,4],[623,4],[649,3],[719,3],[753,3],[831,3],[851,4],[919,3],[1009,3],[1041,3],[1075,3],[1129,3],[1150,4],[1260,3],[1351,3],[1412,3],[1524,3],[1555,3],[1627,3],[1660,3],[1733,3],[1809,3],[1874,4],[1990,3],[2085,3],[2124,3],[2195,3],[2373,3],[2437,3],[2507,3],[2618,3],[2687,3],[2726,4],[2773,4],[2796,3],[2815,3],[2848,3],[2861,4],[2904,4],[2964,3],[2996,3],[3020,3],[3043,3],[3081,3],[3115,3],[3146,3],[3291,3],[3349,3],[3417,3],[3689,3],[3776,3],[3827,3],[3867,4],[3915,3],[3942,3],[4021,3],[4085,4],[4283,3]]},"1390":{"position":[[23,4],[60,3],[313,4],[344,3],[408,3],[543,4]]},"1391":{"position":[[24,4],[61,3],[314,4],[345,3],[409,3],[544,4]]},"1392":{"position":[[21,4],[58,3],[311,4],[342,3],[406,3],[541,4]]},"1393":{"position":[[25,4],[62,3],[315,4],[337,3],[362,3],[421,3],[506,4],[614,3],[757,5],[804,4],[999,3],[1032,3],[1065,3]]},"1394":{"position":[[34,4],[71,3],[324,4],[346,3],[373,4],[399,3],[506,4]]},"1395":{"position":[[29,4],[66,3],[319,4],[341,3],[371,3],[557,3],[591,4],[647,3]]},"1396":{"position":[[34,4],[71,3],[324,4],[355,3],[394,4],[405,4],[419,4],[472,4]]},"1397":{"position":[[29,4],[66,3],[319,4],[341,3],[375,5],[381,6],[409,3],[554,4],[621,3],[639,3]]},"1398":{"position":[[26,4],[63,3],[316,4],[352,3],[371,3],[390,3],[411,3],[434,3],[461,3],[482,3],[511,3],[577,3],[612,4],[712,4],[833,4],[853,3],[918,3],[954,3],[975,5],[993,5],[1094,3]]},"1399":{"position":[[26,4],[63,3],[316,4],[347,3],[411,3],[481,3],[502,3],[523,3]]},"1400":{"position":[[35,4],[72,3],[325,4],[343,4],[369,3],[433,3]]},"1401":{"position":[[24,4],[61,3],[314,4],[345,3],[425,3],[510,4]]},"1402":{"position":[[23,4],[60,3],[305,3],[342,4],[367,3],[393,3],[408,4],[460,3],[524,3],[567,3]]},"1403":{"position":[[22,4],[59,3],[312,4],[372,3],[401,3],[454,3],[484,3],[533,3],[558,3],[622,3],[715,4],[765,3],[876,3],[907,3],[988,3],[1107,5],[1146,4],[1169,3]]},"1404":{"position":[[24,4],[61,3],[314,4],[341,3],[371,3],[435,3],[498,4],[508,3]]},"1405":{"position":[[24,4],[61,3],[314,4],[356,3],[377,3],[401,3],[518,3],[643,3],[690,3],[803,3],[831,3],[890,3],[916,3]]},"1406":{"position":[[34,4],[71,3],[324,4],[349,3],[373,3],[403,3]]},"1407":{"position":[[34,4],[71,3],[324,4],[366,3],[387,3],[411,3],[528,3],[549,4],[670,3],[717,3],[830,3],[858,3],[917,3],[943,3]]},"1408":{"position":[[25,4],[62,3],[315,4],[423,3],[444,3],[468,3],[569,3],[664,3],[711,3],[819,3],[849,3]]},"1409":{"position":[[24,4],[61,3],[314,4],[414,3],[438,3],[507,3]]},"1410":{"position":[[22,4],[59,3],[312,4],[362,3],[386,3],[407,3],[431,3],[458,3],[518,3],[563,3],[641,3],[758,3],[797,3],[844,3],[868,4],[955,3],[1007,3],[1035,3],[1094,3],[1124,3],[1150,3],[1200,3],[1236,3],[1257,5],[1275,5],[1332,3],[1413,3],[1436,3]]},"1411":{"position":[[29,4],[66,3],[319,4],[350,3],[414,3],[494,3]]},"1412":{"position":[[29,4],[66,3],[319,4],[528,3],[592,3],[784,3],[807,3],[886,3],[916,3],[1006,3],[1063,3],[1222,3],[1275,3],[1321,3],[1403,3]]},"1413":{"position":[[26,4],[63,3],[316,4],[525,3],[626,3],[665,3],[714,3],[738,4],[900,3],[930,3],[953,3],[1032,3],[1062,3],[1152,3],[1209,3],[1368,3],[1452,3],[1498,3],[1597,3],[1638,3],[1662,3],[1765,3]]},"1414":{"position":[[25,4],[62,3],[315,4],[340,3],[366,3],[396,3],[460,3],[717,3]]},"1415":{"position":[[29,4],[66,3],[319,4],[350,3],[491,5],[552,3],[591,3],[625,3],[654,4],[704,3],[763,3],[819,3],[877,3],[911,3],[951,4],[997,3],[1408,3],[1440,3],[1470,3],[1488,5],[1494,4],[1506,3],[1530,6],[1592,3],[1814,6],[1971,5],[2113,3],[2179,3],[2268,5],[2325,3],[2379,3]]},"1416":{"position":[[29,4],[66,3],[319,4],[345,3],[374,3],[432,3],[527,3],[576,3],[839,3],[869,3],[887,5],[893,4],[905,3],[929,6],[1009,3],[1037,3],[1088,3],[1114,3],[1245,4]]},"1417":{"position":[[27,4],[64,3],[317,4],[343,3],[372,3],[402,3],[497,3],[546,3],[643,3],[670,3],[773,3],[933,4]]},"1418":{"position":[[30,4],[67,3],[320,4],[346,3],[375,3],[405,3],[469,3],[518,3],[622,3]]},"1419":{"position":[[26,4],[63,3],[316,4],[346,3],[376,3],[471,3],[520,3],[661,4],[712,3],[792,4]]},"1420":{"position":[[30,4],[67,3],[320,4],[346,3],[375,3],[405,3],[500,3],[794,3],[916,3],[953,4]]},"1421":{"position":[[39,4],[76,3],[329,4],[360,3],[430,4],[465,3],[648,3],[866,4],[913,3]]},"1422":{"position":[[27,4],[64,3],[317,4],[348,3],[412,3],[457,3],[526,3],[548,3],[572,3],[602,3],[652,3]]},"1423":{"position":[[24,4],[61,3],[314,4],[345,3],[409,3],[507,3],[529,3],[553,3]]},"1424":{"position":[[26,4],[63,3],[316,4],[381,3],[407,3],[460,3],[490,3],[539,3],[564,3],[628,3],[710,3],[792,3],[823,3],[963,5],[1002,4],[1025,3]]},"1425":{"position":[[40,4],[77,3],[330,4],[396,3],[460,3],[618,3]]},"1426":{"position":[[26,4],[63,3],[316,4],[376,3],[441,3],[497,3],[560,3],[599,3],[798,3],[829,3],[865,3]]},"1427":{"position":[[27,4],[64,3],[317,4],[416,3],[440,3],[505,3],[596,3],[750,3],[814,3],[971,3],[1001,3],[1024,3],[1103,3],[1133,3],[1223,3],[1280,3],[1439,3],[1492,3],[1538,3],[1620,3]]},"1428":{"position":[[26,4],[63,3],[316,4],[382,3],[446,3],[600,3]]},"1429":{"position":[[24,4],[61,3],[314,4],[374,3],[401,3],[471,3],[497,3],[540,3],[631,3],[785,3],[886,3],[925,3],[974,3],[998,4],[1120,3],[1155,3],[1177,3],[1235,3],[1258,3],[1337,3],[1367,3],[1457,3],[1514,3],[1578,3],[1614,3],[1635,5],[1653,5],[1710,3],[1839,3],[1894,3],[1947,3],[1993,3],[2053,3],[2115,3],[2156,3],[2180,3],[2257,3],[2322,3],[2364,3]]},"1430":{"position":[[31,4],[68,3],[321,4],[413,3],[567,3],[631,3],[783,3],[806,3],[875,3],[906,3],[936,3],[1026,3],[1083,3],[1242,3],[1295,3],[1341,3],[1423,3]]},"1431":{"position":[[24,4],[61,3],[306,3],[343,4],[387,3],[420,3],[450,3],[479,3],[523,5],[589,3],[626,3],[662,3],[706,3],[771,3]]},"1432":{"position":[[32,4],[69,3],[322,4],[382,3],[411,3],[454,3],[507,3],[537,3],[566,3],[610,5],[661,3],[686,3],[750,3],[832,3],[852,4],[930,3],[961,3],[1101,5],[1248,4],[1264,3]]},"1433":{"position":[[25,4],[62,3],[315,4],[359,3],[437,3],[543,3],[573,3],[637,3],[686,3],[714,3],[788,5],[794,5],[813,3]]},"1434":{"position":[[27,4],[64,3],[317,4],[345,3],[375,3],[466,4]]},"1435":{"position":[[32,4],[69,3],[322,4],[350,3],[380,3],[399,4],[439,5],[451,3]]},"1436":{"position":[[28,4],[65,3],[318,4],[346,3],[376,3],[420,4]]},"1437":{"position":[[25,4],[62,3],[315,4],[343,3],[370,3],[400,3],[516,4]]},"1438":{"position":[[23,4],[60,3],[313,4],[344,3],[408,3],[498,4],[510,3]]},"1439":{"position":[[29,4],[66,3],[319,4],[418,3],[442,3],[507,3],[535,3],[626,3],[670,3],[824,3],[888,3],[1137,3],[1167,3],[1190,3],[1258,5],[1339,3],[1369,3],[1459,3],[1516,3],[1675,3],[1728,3],[1774,3],[1856,3]]},"1440":{"position":[[26,4],[63,3],[316,4],[376,3],[403,3],[473,3],[499,3],[527,3],[570,3],[661,3],[705,3],[859,3],[960,3],[999,3],[1048,3],[1072,4],[1234,3],[1308,3],[1366,3],[1389,3],[1457,5],[1538,3],[1568,3],[1658,3],[1715,3],[1779,3],[1815,3],[1836,5],[1854,5],[1911,3],[2040,3],[2124,3],[2170,3],[2269,3],[2310,3],[2334,3],[2411,3],[2476,3],[2518,3]]},"1441":{"position":[[31,4],[68,3],[321,4],[352,3],[416,3],[489,3]]},"1442":{"position":[[32,4],[69,3],[322,4],[348,3],[378,3],[427,3],[453,5]]},"1443":{"position":[[25,4],[62,3],[315,4],[346,3],[410,3],[501,3],[541,3],[572,3],[598,3],[674,3]]},"1444":{"position":[[26,4],[63,3],[316,4],[346,3],[376,3],[440,3],[589,4]]},"1445":{"position":[[29,4],[66,3],[319,4],[348,3],[378,3],[393,3]]},"1446":{"position":[[26,4],[63,3],[316,4],[347,3],[411,3]]},"1447":{"position":[[28,4],[65,3],[318,4],[349,3],[403,3],[427,4],[462,3],[528,4],[561,3]]},"1448":{"position":[[27,4],[64,3],[317,4],[343,3],[370,3],[400,3],[527,3],[682,3],[873,4],[906,3]]},"1449":{"position":[[28,4],[65,3],[318,4],[344,3],[371,3],[401,3],[521,3],[815,4],[848,3]]},"1450":{"position":[[27,4],[64,3],[317,4],[343,3],[370,3],[400,3],[527,3],[682,3],[820,4],[853,3]]},"1451":{"position":[[27,4],[64,3],[317,4],[343,3],[370,3],[400,3],[527,3],[682,3],[820,4],[853,3]]},"1452":{"position":[[23,4],[60,3],[313,4],[344,3]]},"1453":{"position":[[39,4],[76,3],[329,4],[357,3],[380,3],[439,3],[503,3],[649,3],[778,3],[848,3]]},"1454":{"position":[[35,4],[72,3],[325,4],[351,3],[377,3],[444,3],[532,3],[615,3],[664,4],[966,6],[1393,3],[1444,3],[1787,5],[1837,5],[1887,5],[1941,5],[2005,3],[2174,3],[2198,3],[2226,3],[2258,3],[2301,3],[2500,5],[2607,5],[2705,5],[2796,5],[2865,5],[2933,5],[2939,5],[2995,5],[3001,5],[3053,5],[3059,5],[3115,5],[3121,5],[3181,5],[3187,5]]},"1455":{"position":[[41,4],[78,3],[331,4],[357,3],[387,3],[451,3],[630,4],[796,4],[829,4],[1021,3]]},"1456":{"position":[[38,4],[75,3],[328,4],[348,4],[374,3],[438,3]]},"1457":{"position":[[34,4],[71,3],[324,4],[355,3],[419,3],[511,4],[562,3]]},"1458":{"position":[[27,4],[64,3],[317,4],[416,3],[440,3],[474,3],[495,4],[521,3],[585,3],[688,3],[766,3],[877,3]]},"1459":{"position":[[38,4],[75,3],[328,4],[359,3],[423,3],[561,3]]},"1460":{"position":[[37,4],[74,3],[327,4],[358,3],[420,3],[532,3],[582,3],[623,3],[642,3],[725,3]]},"1461":{"position":[[38,4],[75,3],[328,4],[371,3],[412,3],[431,3],[459,3],[480,4],[506,3],[628,3]]},"1462":{"position":[[28,4],[65,3],[318,4],[361,3],[382,3],[407,3],[431,3],[488,3],[514,3],[641,3],[734,3],[764,3],[985,3],[1015,3],[1049,3],[1136,3],[1170,3],[1199,4],[1249,3],[1357,3],[1460,3],[1538,3],[1594,3],[1655,3],[1695,4],[1741,3],[2202,3],[2230,3],[2294,3],[2324,3],[2342,5],[2348,4],[2360,3],[2384,6],[2514,3],[2545,3],[2566,3],[2676,3],[2707,3],[2736,3],[2769,3],[2889,3],[2955,3],[2982,3],[3008,3],[3164,6],[3372,5],[3514,3],[3622,3],[3732,3],[3787,3],[3860,4],[3928,4],[4001,3],[4034,3],[4057,3],[4154,3]]},"1463":{"position":[[38,4],[75,3],[328,4],[353,3],[391,3],[428,3],[458,3],[494,3]]},"1464":{"position":[[39,4],[76,3],[329,4],[360,3]]},"1465":{"position":[[29,4],[66,3],[319,4],[362,3],[403,3],[428,3],[456,3],[485,3],[515,3],[570,3],[609,3],[781,3],[886,6],[946,6],[995,3],[1037,4],[1075,4],[1119,4],[1172,3],[1225,5],[1253,6],[1304,5],[1332,6]]},"1466":{"position":[[42,4],[79,3],[332,4],[360,3],[403,3],[433,3],[482,4],[543,4],[555,5],[591,3],[627,3],[648,5],[666,5],[723,3],[738,3]]},"1467":{"position":[[26,4],[63,3],[316,4],[359,3],[380,3],[405,3],[429,3],[456,3],[484,3],[527,3],[553,3],[574,3],[708,3],[801,3],[831,3],[1052,3],[1082,3],[1116,3],[1203,3],[1237,3],[1266,4],[1316,3],[1424,3],[1486,4],[1596,3],[1674,3],[1730,3],[1791,3],[1831,4],[1877,3],[1916,3],[2377,3],[2405,3],[2469,3],[2499,3],[2517,5],[2523,4],[2535,3],[2559,6],[2689,3],[2720,3],[2741,3],[2860,3],[2889,3],[2922,3],[3042,3],[3079,4],[3091,5],[3159,3],[3186,3],[3212,3],[3368,6],[3592,6],[3641,5],[3783,3],[3891,3],[4001,3],[4063,3],[4099,3],[4120,5],[4138,5],[4195,3],[4222,3],[4295,4],[4348,3],[4387,4],[4411,3],[4448,4],[4521,3],[4554,3],[4577,3],[4712,3],[4765,5],[4793,6],[4844,5],[4872,6]]},"1468":{"position":[[33,4],[70,3],[323,4],[354,3],[418,3],[488,3],[502,3]]},"1469":{"position":[[26,4],[63,3],[316,4],[339,3],[369,3],[433,3],[502,3],[524,3],[548,3],[570,3],[584,4],[609,3]]},"1470":{"position":[[31,4],[68,3],[313,3],[350,4],[410,3],[437,3],[507,3],[533,3],[561,3],[604,3],[695,3],[784,3],[938,3],[1039,3],[1078,3],[1123,4],[1285,3],[1372,3],[1394,3],[1452,3],[1475,3],[1543,5],[1594,3],[1690,3],[1766,3],[1796,3],[1886,3],[1966,3],[1999,3],[2066,3],[2100,3],[2136,3],[2157,5],[2175,5],[2232,3],[2340,3],[2380,3],[2438,3],[2469,4],[2562,3],[2646,3],[2692,3],[2791,3],[2832,3],[2856,3],[2933,3],[2998,3],[3040,3]]},"1471":{"position":[[26,4],[63,3],[316,4],[342,3],[366,3],[392,3],[418,3],[574,3],[612,3],[680,3],[708,3],[747,3],[781,3],[827,3],[889,4],[997,3],[1104,3],[1136,3],[1166,3],[1184,5],[1190,4],[1202,3],[1226,6],[1338,3],[1399,4],[1432,5],[1450,4],[1493,4],[1624,3]]},"1472":{"position":[[27,4],[64,3],[317,4],[343,3],[367,3],[393,3],[419,3],[477,3],[515,3],[583,3],[614,3],[642,3],[681,3],[715,3],[789,4],[822,3],[891,5],[909,4],[962,3],[986,4],[1094,3],[1201,3],[1262,4],[1295,5],[1313,4],[1342,3],[1406,4],[1489,3],[1585,3]]},"1473":{"position":[[24,4],[61,3],[314,4],[340,3],[364,3],[391,3],[434,3],[460,3],[486,3],[605,3],[643,3],[711,3],[739,3],[778,3],[812,3],[858,3],[920,4],[1049,3],[1156,3],[1188,3],[1218,3],[1236,5],[1242,4],[1254,3],[1278,6],[1390,3],[1451,4],[1484,5],[1502,4],[1537,3],[1573,3],[1594,5],[1612,5],[1669,3],[1711,4],[1757,4],[1871,3]]},"1474":{"position":[[28,4],[65,3],[318,4],[410,3],[564,3],[628,3],[780,3],[803,3],[882,3],[912,3],[1002,3],[1059,3],[1218,3],[1271,3],[1317,3],[1399,3]]},"1475":{"position":[[25,4],[62,3],[315,4],[407,3],[561,3],[662,3],[701,3],[750,3],[774,4],[896,3],[926,3],[949,3],[1028,3],[1058,3],[1148,3],[1205,3],[1364,3],[1448,3],[1494,3],[1593,3],[1634,3],[1658,3],[1761,3]]},"1476":{"position":[[31,4],[68,3],[321,4],[352,3],[416,3],[479,3]]},"1477":{"position":[[24,4],[61,3],[314,4],[341,3],[406,3],[470,3],[554,4]]},"1478":{"position":[[22,4],[59,3],[312,4],[340,3],[383,3],[434,3],[498,3],[543,4],[661,4],[696,3],[732,3],[753,5],[771,5],[828,3],[907,4],[961,3],[1021,3]]},"1479":{"position":[[39,4],[76,3],[329,4],[360,3],[424,3],[476,3],[553,3],[567,3]]},"1480":{"position":[[28,4],[65,3],[318,4],[352,3],[382,3],[477,3],[703,3],[731,3],[822,3],[886,3],[922,3],[980,3]]},"1481":{"position":[[30,4],[67,3],[320,4],[362,3],[398,3],[424,3],[454,3],[484,3],[601,3],[720,3],[751,3],[775,3],[809,3],[840,3],[910,3],[1068,3],[1122,3],[1407,3],[1435,4],[1488,4]]},"1482":{"position":[[25,4],[62,3],[315,4],[346,3],[410,3]]},"1483":{"position":[[30,4],[67,3],[320,4],[338,4],[364,3]]},"1484":{"position":[[30,4],[67,3],[320,4],[351,3],[415,3],[492,4]]},"1485":{"position":[[31,4],[68,3],[321,4],[347,3],[377,3],[411,3],[451,4],[571,6],[628,5]]},"1486":{"position":[[26,4],[63,3],[316,4],[347,3],[362,3],[404,3],[468,3],[492,4],[514,3]]},"1487":{"position":[[23,4],[60,3],[313,4],[344,3],[374,3],[438,3],[550,3],[564,3]]}},"keywords":{}}],["str("x"",{"_index":3349,"title":{},"content":{"668":{"position":[[264,18]]}},"keywords":{}}],["str(1",{"_index":3348,"title":{},"content":{"668":{"position":[[250,6]]}},"keywords":{}}],["str([1",{"_index":3350,"title":{},"content":{"668":{"position":[[290,7]]}},"keywords":{}}],["str(a",{"_index":3346,"title":{},"content":{"668":{"position":[[4,6]]}},"keywords":{}}],["str(eager_attr",{"_index":4116,"title":{},"content":{"878":{"position":[[1356,17]]}},"keywords":{}}],["str(x",{"_index":2818,"title":{},"content":{"595":{"position":[[1215,6]]}},"keywords":{}}],["str.the",{"_index":4374,"title":{},"content":{"900":{"position":[[963,7]]}},"keywords":{}}],["straightforward",{"_index":4748,"title":{},"content":{"954":{"position":[[878,15]]},"1013":{"position":[[42,16]]}},"keywords":{}}],["strategi",{"_index":3810,"title":{},"content":{"724":{"position":[[1542,8]]},"1366":{"position":[[2865,8]]},"1454":{"position":[[9539,8]]},"1462":{"position":[[6604,8],[6709,8]]},"1467":{"position":[[7719,8],[7824,8]]}},"keywords":{}}],["stream",{"_index":1191,"title":{},"content":{"94":{"position":[[1444,7]]},"226":{"position":[[1444,7]]},"305":{"position":[[54,6],[116,6]]},"833":{"position":[[111,6]]},"1226":{"position":[[3914,6],[3936,9]]},"1228":{"position":[[2226,6],[2750,6]]},"1237":{"position":[[4084,6],[4106,9]]}},"keywords":{}}],["strength",{"_index":4603,"title":{},"content":{"937":{"position":[[2939,8]]}},"keywords":{}}],["strict",{"_index":3373,"title":{},"content":{"675":{"position":[[319,6]]},"1414":{"position":[[692,7]]}},"keywords":{}}],["strict_provisioning_profile_search",{"_index":6869,"title":{},"content":{"1363":{"position":[[2530,35]]},"1367":{"position":[[5738,35]]},"1372":{"position":[[1798,35]]}},"keywords":{}}],["stride",{"_index":3290,"title":{},"content":{"662":{"position":[[224,7]]}},"keywords":{}}],["string",{"_index":944,"title":{"588":{"position":[[0,6]]},"688":{"position":[[0,6]]},"861":{"position":[[37,7]]},"1262":{"position":[[17,7],[32,7]]},"1263":{"position":[[18,7],[33,7]]},"1264":{"position":[[22,7],[37,7]]},"1269":{"position":[[14,7]]},"1271":{"position":[[12,7]]},"1272":{"position":[[13,7]]},"1293":{"position":[[17,7],[32,7]]},"1294":{"position":[[18,7],[33,7]]},"1295":{"position":[[22,7],[37,7]]},"1300":{"position":[[14,7]]},"1302":{"position":[[12,7]]},"1303":{"position":[[13,7]]},"1321":{"position":[[17,7],[32,7]]},"1322":{"position":[[18,7],[33,7]]},"1323":{"position":[[22,7],[37,7]]},"1328":{"position":[[14,7]]},"1330":{"position":[[12,7]]},"1331":{"position":[[13,7]]}},"content":{"65":{"position":[[134,8]]},"72":{"position":[[290,7]]},"86":{"position":[[221,7]]},"88":{"position":[[160,6]]},"91":{"position":[[286,6]]},"94":{"position":[[1277,7]]},"95":{"position":[[177,6]]},"96":{"position":[[219,7]]},"98":{"position":[[1241,7]]},"99":{"position":[[669,7],[796,7],[894,6],[964,8],[1027,6]]},"125":{"position":[[133,7]]},"131":{"position":[[267,7]]},"133":{"position":[[125,6],[179,6],[199,7]]},"134":{"position":[[156,7]]},"145":{"position":[[223,6]]},"147":{"position":[[99,6],[132,6]]},"148":{"position":[[161,7]]},"218":{"position":[[221,7]]},"220":{"position":[[160,6]]},"223":{"position":[[286,6]]},"226":{"position":[[1277,7]]},"227":{"position":[[177,6]]},"228":{"position":[[219,7]]},"230":{"position":[[1241,7]]},"231":{"position":[[669,7],[796,7],[894,6],[964,8],[1027,6]]},"240":{"position":[[121,7],[196,8]]},"248":{"position":[[133,7]]},"254":{"position":[[267,7]]},"256":{"position":[[125,6],[179,6],[199,7]]},"257":{"position":[[156,7]]},"268":{"position":[[223,6]]},"270":{"position":[[99,6],[132,6]]},"271":{"position":[[161,7]]},"292":{"position":[[52,7]]},"294":{"position":[[826,6],[962,6]]},"295":{"position":[[353,6]]},"297":{"position":[[792,6]]},"301":{"position":[[601,6],[733,6]]},"302":{"position":[[353,6]]},"304":{"position":[[121,6],[176,8],[207,8],[476,7]]},"308":{"position":[[110,6]]},"309":{"position":[[535,6],[968,6]]},"310":{"position":[[383,6],[693,6]]},"311":{"position":[[301,6]]},"329":{"position":[[181,7],[256,8]]},"340":{"position":[[270,6]]},"389":{"position":[[149,6],[247,6],[1551,6]]},"400":{"position":[[397,6]]},"402":{"position":[[685,6]]},"404":{"position":[[222,6]]},"405":{"position":[[995,7],[1062,8],[1382,6]]},"408":{"position":[[1273,8]]},"427":{"position":[[416,6]]},"435":{"position":[[92,7]]},"440":{"position":[[148,6]]},"445":{"position":[[66,7]]},"453":{"position":[[134,8]]},"463":{"position":[[124,7]]},"470":{"position":[[121,7],[196,8]]},"495":{"position":[[290,7]]},"560":{"position":[[609,6]]},"577":{"position":[[723,8]]},"587":{"position":[[250,6],[329,6]]},"589":{"position":[[72,6]]},"590":{"position":[[121,7],[240,6],[279,6],[420,6]]},"591":{"position":[[147,6],[165,7],[253,6],[492,6]]},"592":{"position":[[106,7],[205,6]]},"593":{"position":[[98,6],[170,6]]},"594":{"position":[[130,7]]},"595":{"position":[[70,7],[136,6],[245,7],[1109,7]]},"596":{"position":[[138,7]]},"597":{"position":[[59,6],[138,6]]},"598":{"position":[[59,6],[127,6]]},"599":{"position":[[59,6],[126,6]]},"600":{"position":[[74,6],[128,6]]},"601":{"position":[[77,6],[133,6]]},"602":{"position":[[61,6],[116,6]]},"603":{"position":[[74,6],[128,6]]},"604":{"position":[[135,6],[215,6],[305,8]]},"605":{"position":[[54,6],[111,6]]},"606":{"position":[[122,6]]},"607":{"position":[[90,6],[151,6],[249,6],[404,7],[428,7]]},"608":{"position":[[95,7],[141,6],[171,7],[249,7]]},"609":{"position":[[95,7],[141,6],[171,7],[249,7]]},"610":{"position":[[174,6]]},"613":{"position":[[92,6]]},"614":{"position":[[117,6],[178,6]]},"615":{"position":[[122,6]]},"616":{"position":[[114,6],[243,6],[318,8],[391,6],[459,7],[647,6]]},"617":{"position":[[115,7],[222,7]]},"618":{"position":[[102,6],[178,6]]},"619":{"position":[[132,6]]},"620":{"position":[[54,6],[108,6]]},"621":{"position":[[54,6],[111,6]]},"634":{"position":[[45,6],[91,6]]},"636":{"position":[[493,7]]},"644":{"position":[[284,7],[296,6]]},"648":{"position":[[448,7],[481,6],[575,6],[726,6]]},"656":{"position":[[151,6],[254,6]]},"664":{"position":[[58,7],[70,7]]},"668":{"position":[[56,7],[128,7],[183,8],[222,8]]},"671":{"position":[[42,6]]},"676":{"position":[[260,6]]},"688":{"position":[[86,6]]},"693":{"position":[[8987,6],[9846,6]]},"712":{"position":[[2914,6]]},"722":{"position":[[355,6]]},"768":{"position":[[149,6],[247,6],[1551,6]]},"779":{"position":[[397,6]]},"781":{"position":[[685,6]]},"783":{"position":[[222,6]]},"784":{"position":[[995,7],[1062,8],[1382,6]]},"787":{"position":[[1273,8]]},"806":{"position":[[416,6]]},"814":{"position":[[92,7]]},"819":{"position":[[148,6]]},"824":{"position":[[66,7]]},"846":{"position":[[680,6],[800,6]]},"851":{"position":[[666,8],[822,8],[958,6],[1186,8]]},"864":{"position":[[101,7],[279,8],[303,8]]},"870":{"position":[[1251,6]]},"907":{"position":[[392,6]]},"914":{"position":[[67,8]]},"915":{"position":[[95,7]]},"924":{"position":[[235,8],[772,9]]},"929":{"position":[[240,8]]},"975":{"position":[[401,8]]},"980":{"position":[[52,6],[115,6]]},"981":{"position":[[140,6]]},"1001":{"position":[[156,6]]},"1005":{"position":[[143,8]]},"1044":{"position":[[2227,8]]},"1052":{"position":[[1200,6],[1402,6]]},"1057":{"position":[[722,8]]},"1064":{"position":[[212,6]]},"1069":{"position":[[120,6],[373,6]]},"1071":{"position":[[848,6]]},"1082":{"position":[[343,7]]},"1105":{"position":[[230,6],[1411,6]]},"1112":{"position":[[439,7],[629,8],[638,8],[2742,9],[4139,7]]},"1124":{"position":[[110,7]]},"1132":{"position":[[23,6]]},"1136":{"position":[[1527,6]]},"1148":{"position":[[1883,6]]},"1172":{"position":[[1678,6]]},"1173":{"position":[[978,6]]},"1202":{"position":[[156,6],[1223,6]]},"1205":{"position":[[1007,6]]},"1209":{"position":[[760,6]]},"1226":{"position":[[2700,6],[4806,6]]},"1235":{"position":[[2020,6]]},"1237":{"position":[[2870,6],[4976,6]]},"1258":{"position":[[0,7]]},"1259":{"position":[[163,7],[178,7],[431,7],[446,7],[504,7],[519,7],[798,7],[920,7],[1129,7]]},"1289":{"position":[[0,7]]},"1290":{"position":[[163,7],[178,7],[431,7],[446,7],[504,7],[519,7],[798,7],[920,7],[1129,7]]},"1317":{"position":[[0,7]]},"1318":{"position":[[163,7],[178,7],[431,7],[446,7],[504,7],[519,7],[798,7],[920,7],[1129,7]]},"1351":{"position":[[2133,7],[3938,7],[4558,6]]},"1354":{"position":[[2587,7]]},"1355":{"position":[[6617,7],[7458,7]]},"1360":{"position":[[3359,6]]},"1362":{"position":[[12925,6],[12983,6]]},"1364":{"position":[[13625,6],[13683,6]]},"1367":{"position":[[10402,7],[12833,6],[12891,6]]},"1373":{"position":[[6072,6]]},"1374":{"position":[[1667,6],[1792,6]]},"1382":{"position":[[4521,6],[11287,6],[11345,6]]},"1383":{"position":[[1318,6],[4487,6],[5198,6],[6013,6]]},"1384":{"position":[[18941,6],[18999,6]]},"1385":{"position":[[6865,6],[6923,6]]},"1387":{"position":[[6498,7],[10238,6],[10296,6]]},"1388":{"position":[[4817,6],[5215,6],[6227,6],[9780,6],[9838,6]]},"1390":{"position":[[1585,6],[1752,6],[1891,6]]},"1391":{"position":[[1538,6],[1706,6]]},"1392":{"position":[[1688,6],[1857,7],[2161,6]]},"1393":{"position":[[6405,6],[8704,6]]},"1398":{"position":[[3466,7]]},"1401":{"position":[[1566,6]]},"1403":{"position":[[2774,6]]},"1405":{"position":[[3396,6]]},"1407":{"position":[[3817,6]]},"1408":{"position":[[2436,6]]},"1410":{"position":[[3341,7],[4804,6]]},"1423":{"position":[[1929,6]]},"1427":{"position":[[5816,7],[6947,7]]},"1429":{"position":[[4633,7]]},"1439":{"position":[[4993,8],[6700,7]]},"1440":{"position":[[4715,7]]},"1442":{"position":[[1511,6],[2660,6],[2718,6]]},"1446":{"position":[[1662,7]]},"1461":{"position":[[2515,7]]},"1462":{"position":[[6002,7],[7814,6],[7917,6],[8045,8],[8067,6]]},"1465":{"position":[[2974,7]]},"1467":{"position":[[6580,6],[7114,7],[8874,6],[8977,6],[9105,8],[9127,6]]},"1468":{"position":[[1392,7]]},"1478":{"position":[[2131,6],[2394,6],[2792,6]]},"1485":{"position":[[4151,6],[4209,6]]},"1486":{"position":[[1874,6]]}},"keywords":{}}],["string"",{"_index":1708,"title":{},"content":{"306":{"position":[[472,13]]},"712":{"position":[[1335,13],[1833,13]]},"1258":{"position":[[55,13]]},"1289":{"position":[[55,13]]},"1317":{"position":[[55,13]]}},"keywords":{}}],["string""",{"_index":7525,"title":{},"content":{"1393":{"position":[[10548,19]]}},"keywords":{}}],["string.capit",{"_index":2739,"title":{"589":{"position":[[0,18]]}},"content":{"589":{"position":[[4,19],[35,18]]}},"keywords":{}}],["string.codepoint",{"_index":2745,"title":{"590":{"position":[[0,18]]}},"content":{"590":{"position":[[4,19],[52,18]]}},"keywords":{}}],["string.count",{"_index":2763,"title":{"591":{"position":[[0,13]]}},"content":{"591":{"position":[[4,13],[96,13]]}},"keywords":{}}],["string.elem",{"_index":2782,"title":{"592":{"position":[[0,13]]}},"content":{"592":{"position":[[4,14],[47,13]]}},"keywords":{}}],["string.endswith",{"_index":2792,"title":{"593":{"position":[[0,16]]}},"content":{"593":{"position":[[66,16]]}},"keywords":{}}],["string.endswith(suffix",{"_index":2793,"title":{},"content":{"593":{"position":[[4,23]]}},"keywords":{}}],["string.find",{"_index":2796,"title":{"594":{"position":[[0,12]]}},"content":{"594":{"position":[[4,12],[95,12]]}},"keywords":{}}],["string.format",{"_index":2801,"title":{"595":{"position":[[0,14]]}},"content":{"595":{"position":[[46,14]]}},"keywords":{}}],["string.format(*arg",{"_index":2802,"title":{},"content":{"595":{"position":[[4,20]]}},"keywords":{}}],["string.index",{"_index":2840,"title":{"596":{"position":[[0,13]]}},"content":{"596":{"position":[[4,13],[96,13]]}},"keywords":{}}],["string.isalnum",{"_index":2844,"title":{"597":{"position":[[0,15]]}},"content":{"597":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.isalpha",{"_index":2851,"title":{"598":{"position":[[0,15]]}},"content":{"598":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.isdigit",{"_index":2856,"title":{"599":{"position":[[0,15]]}},"content":{"599":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.islow",{"_index":2861,"title":{"600":{"position":[[0,15]]}},"content":{"600":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.isspac",{"_index":2866,"title":{"601":{"position":[[0,15]]}},"content":{"601":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.istitl",{"_index":2872,"title":{"602":{"position":[[0,15]]}},"content":{"602":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.isupp",{"_index":2881,"title":{"603":{"position":[[0,15]]}},"content":{"603":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.join",{"_index":2886,"title":{"604":{"position":[[0,12]]}},"content":{"604":{"position":[[61,12]]}},"keywords":{}}],["string.join(to_join",{"_index":2887,"title":{},"content":{"604":{"position":[[4,20]]}},"keywords":{}}],["string.low",{"_index":2899,"title":{"605":{"position":[[0,13]]}},"content":{"605":{"position":[[4,14],[30,13]]}},"keywords":{}}],["string.lstrip",{"_index":2902,"title":{"606":{"position":[[0,14]]}},"content":{"606":{"position":[[48,14]]}},"keywords":{}}],["string.lstrip(char",{"_index":2903,"title":{},"content":{"606":{"position":[[4,20]]}},"keywords":{}}],["string.partit",{"_index":2911,"title":{"607":{"position":[[0,17]]}},"content":{"607":{"position":[[60,17]]}},"keywords":{}}],["string.partition(needl",{"_index":2912,"title":{},"content":{"607":{"position":[[4,24]]}},"keywords":{}}],["string.removeprefix",{"_index":2920,"title":{"608":{"position":[[0,20]]}},"content":{"608":{"position":[[51,20]]}},"keywords":{}}],["string.removeprefix(prefix",{"_index":2921,"title":{},"content":{"608":{"position":[[4,27]]}},"keywords":{}}],["string.removesuffix",{"_index":2926,"title":{"609":{"position":[[0,20]]}},"content":{"609":{"position":[[51,20]]}},"keywords":{}}],["string.removesuffix(suffix",{"_index":2927,"title":{},"content":{"609":{"position":[[4,27]]}},"keywords":{}}],["string.replac",{"_index":2931,"title":{"610":{"position":[[0,15]]}},"content":{"610":{"position":[[4,15],[71,15]]}},"keywords":{}}],["string.rfind",{"_index":2942,"title":{"611":{"position":[[0,13]]}},"content":{"611":{"position":[[4,13],[96,13]]}},"keywords":{}}],["string.rindex",{"_index":2948,"title":{"612":{"position":[[0,14]]}},"content":{"612":{"position":[[4,14],[97,14]]}},"keywords":{}}],["string.rpartit",{"_index":2954,"title":{"613":{"position":[[0,18]]}},"content":{"613":{"position":[[61,18]]}},"keywords":{}}],["string.rpartition(needl",{"_index":2955,"title":{},"content":{"613":{"position":[[4,25]]}},"keywords":{}}],["string.rsplit",{"_index":2960,"title":{"614":{"position":[[0,14]]}},"content":{"614":{"position":[[4,14],[93,14]]}},"keywords":{}}],["string.rstrip",{"_index":2972,"title":{"615":{"position":[[0,14]]}},"content":{"615":{"position":[[48,14]]}},"keywords":{}}],["string.rstrip(char",{"_index":2973,"title":{},"content":{"615":{"position":[[4,20]]}},"keywords":{}}],["string.split",{"_index":2981,"title":{"616":{"position":[[0,13]]}},"content":{"616":{"position":[[4,13],[92,13]]}},"keywords":{}}],["string.splitlin",{"_index":2994,"title":{"617":{"position":[[0,18]]}},"content":{"617":{"position":[[66,18]]}},"keywords":{}}],["string.splitlines(keepend",{"_index":2995,"title":{},"content":{"617":{"position":[[4,27]]}},"keywords":{}}],["string.startswith",{"_index":3005,"title":{"618":{"position":[[0,18]]}},"content":{"618":{"position":[[68,18]]}},"keywords":{}}],["string.startswith(prefix",{"_index":3006,"title":{},"content":{"618":{"position":[[4,25]]}},"keywords":{}}],["string.strip",{"_index":3012,"title":{"619":{"position":[[0,13]]}},"content":{"619":{"position":[[47,13]]}},"keywords":{}}],["string.strip(char",{"_index":3013,"title":{},"content":{"619":{"position":[[4,19]]}},"keywords":{}}],["string.titl",{"_index":3017,"title":{"620":{"position":[[0,13]]}},"content":{"620":{"position":[[4,14],[30,13]]}},"keywords":{}}],["string.upp",{"_index":3022,"title":{"621":{"position":[[0,13]]}},"content":{"621":{"position":[[4,14],[30,13]]}},"keywords":{}}],["string/list",{"_index":4382,"title":{},"content":{"900":{"position":[[1673,11]]}},"keywords":{}}],["string[len(prefix",{"_index":2922,"title":{},"content":{"608":{"position":[[186,21]]},"609":{"position":[[186,21]]}},"keywords":{}}],["stringconfigur",{"_index":4578,"title":{},"content":{"935":{"position":[[60,16]]}},"keywords":{}}],["stringifi",{"_index":5731,"title":{},"content":{"1112":{"position":[[2606,11],[2635,11],[3248,11],[3308,11],[3368,11],[3397,11],[4047,11],[4645,11]]}},"keywords":{}}],["stringinfo",{"_index":3744,"title":{},"content":{"712":{"position":[[772,10],[2689,12]]}},"keywords":{}}],["stringinfo(my_str",{"_index":3761,"title":{},"content":{"712":{"position":[[2076,20]]}},"keywords":{}}],["strip",{"_index":1951,"title":{},"content":{"368":{"position":[[897,8],[1652,8],[2116,5],[2229,7],[2270,8]]},"747":{"position":[[897,8],[1652,8],[2116,5],[2229,7],[2270,8]]},"1362":{"position":[[4243,9]]},"1364":{"position":[[4228,9]]},"1367":{"position":[[5791,9]]},"1382":{"position":[[11943,10],[11987,9]]},"1389":{"position":[[4078,6]]},"1453":{"position":[[787,9]]},"1461":{"position":[[2669,5]]}},"keywords":{}}],["strip_all_flag",{"_index":7409,"title":{},"content":{"1389":{"position":[[4090,16]]}},"keywords":{}}],["strip_apk_libs_flag",{"_index":8114,"title":{},"content":{"1447":{"position":[[570,21]]}},"keywords":{}}],["strip_debug_flag",{"_index":7410,"title":{},"content":{"1389":{"position":[[4129,18]]}},"keywords":{}}],["strip_fram",{"_index":3079,"title":{},"content":{"632":{"position":[[18,13],[217,12]]}},"keywords":{}}],["strip_frames=1",{"_index":3084,"title":{},"content":{"632":{"position":[[345,14]]}},"keywords":{}}],["strip_libpar",{"_index":8315,"title":{},"content":{"1462":{"position":[[4043,13]]},"1467":{"position":[[4563,13]]}},"keywords":{}}],["strip_librari",{"_index":6379,"title":{},"content":{"1348":{"position":[[2540,16]]},"1350":{"position":[[3655,16]]}},"keywords":{}}],["strip_non_global_flag",{"_index":7411,"title":{},"content":{"1389":{"position":[[4170,23]]}},"keywords":{}}],["strip_prefix",{"_index":7887,"title":{},"content":{"1422":{"position":[[581,13],[2598,13]]}},"keywords":{}}],["strip_prefix='thrift",{"_index":7915,"title":{},"content":{"1422":{"position":[[4219,20]]}},"keywords":{}}],["strip_soabi_tag",{"_index":8261,"title":{},"content":{"1461":{"position":[[816,17],[2651,17]]}},"keywords":{}}],["strip_stapsdt",{"_index":8316,"title":{},"content":{"1462":{"position":[[4066,14]]},"1467":{"position":[[4586,14]]}},"keywords":{}}],["strong",{"_index":6062,"title":{},"content":{"1226":{"position":[[1943,7]]},"1237":{"position":[[2113,7]]}},"keywords":{}}],["strongli",{"_index":3622,"title":{},"content":{"702":{"position":[[340,8]]},"1113":{"position":[[349,8]]}},"keywords":{}}],["struct",{"_index":981,"title":{"669":{"position":[[0,7]]},"857":{"position":[[13,7]]}},"content":{"72":{"position":[[15,10],[78,6],[252,6]]},"99":{"position":[[429,10]]},"206":{"position":[[97,7]]},"231":{"position":[[429,10]]},"276":{"position":[[54,6],[108,7]]},"281":{"position":[[79,6],[142,7]]},"300":{"position":[[22,10],[36,6]]},"419":{"position":[[22,10],[172,7]]},"459":{"position":[[119,7]]},"495":{"position":[[15,10],[78,6],[252,6]]},"669":{"position":[[34,10]]},"798":{"position":[[22,10],[172,7]]},"854":{"position":[[94,6]]},"857":{"position":[[40,7]]},"890":{"position":[[2573,6],[4114,7],[4220,6],[5090,6],[5472,6]]},"1001":{"position":[[319,6]]},"1004":{"position":[[835,7]]},"1064":{"position":[[375,6]]}},"keywords":{}}],["struct(*arg",{"_index":3351,"title":{},"content":{"669":{"position":[[4,13]]}},"keywords":{}}],["struct(actionquerynod",{"_index":2104,"title":{},"content":{"402":{"position":[[5,22]]},"781":{"position":[[5,22]]}},"keywords":{}}],["struct(ani",{"_index":3363,"title":{},"content":{"672":{"position":[[8,10]]}},"keywords":{}}],["struct(bool",{"_index":2120,"title":{},"content":{"402":{"position":[[473,11]]},"404":{"position":[[10,11]]},"781":{"position":[[473,11]]},"783":{"position":[[10,11]]}},"keywords":{}}],["struct(decod",{"_index":3231,"title":{},"content":{"650":{"position":[[6,13]]}},"keywords":{}}],["struct(key",{"_index":5570,"title":{},"content":{"1083":{"position":[[588,10]]}},"keywords":{}}],["struct(ty_of_value_debug",{"_index":3345,"title":{},"content":{"667":{"position":[[24,24]]}},"keywords":{}}],["struct.typ",{"_index":4998,"title":{},"content":{"1004":{"position":[[993,12]]}},"keywords":{}}],["structur",{"_index":732,"title":{"1252":{"position":[[32,12]]}},"content":{"23":{"position":[[1718,9]]},"125":{"position":[[205,10]]},"248":{"position":[[205,10]]},"419":{"position":[[133,9]]},"441":{"position":[[191,9]]},"570":{"position":[[195,9]]},"633":{"position":[[63,10]]},"693":{"position":[[8648,10]]},"798":{"position":[[133,9]]},"820":{"position":[[191,9]]},"869":{"position":[[246,10]]},"889":{"position":[[78,9]]},"890":{"position":[[4051,10],[5028,10],[6339,10]]},"892":{"position":[[2052,10]]},"894":{"position":[[102,9]]},"917":{"position":[[73,9]]},"951":{"position":[[775,9],[835,9]]},"966":{"position":[[53,10]]},"1004":{"position":[[1436,10]]},"1049":{"position":[[71,9]]},"1058":{"position":[[97,10]]},"1083":{"position":[[1229,9]]},"1112":{"position":[[2803,10]]},"1172":{"position":[[134,10]]},"1252":{"position":[[114,10]]},"1386":{"position":[[6337,9]]},"1395":{"position":[[1712,9]]},"1471":{"position":[[4111,9],[4140,10]]},"1472":{"position":[[4695,9],[4724,10]]},"1473":{"position":[[4432,9],[4461,10]]},"1477":{"position":[[2345,9]]}},"keywords":{}}],["stub",{"_index":289,"title":{},"content":{"9":{"position":[[2465,4]]},"978":{"position":[[19,4]]}},"keywords":{}}],["studio",{"_index":4763,"title":{"958":{"position":[[7,6]]}},"content":{"958":{"position":[[172,6]]}},"keywords":{}}],["stuff",{"_index":1518,"title":{},"content":{"276":{"position":[[860,5]]},"281":{"position":[[982,5]]},"711":{"position":[[1704,5]]},"966":{"position":[[430,5],[743,5]]},"1426":{"position":[[2290,7]]}},"keywords":{}}],["stuff.cpp",{"_index":4296,"title":{},"content":{"895":{"position":[[304,11]]}},"keywords":{}}],["style",{"_index":4988,"title":{},"content":{"1001":{"position":[[227,7]]},"1064":{"position":[[283,7]]},"1414":{"position":[[710,6]]},"1455":{"position":[[3054,6],[3225,6],[3398,6],[3630,6],[3723,6],[3896,6],[4118,6],[4303,6]]},"1462":{"position":[[8144,5]]},"1467":{"position":[[9205,5]]},"1471":{"position":[[4966,6]]},"1473":{"position":[[5287,6]]}},"keywords":{}}],["sub",{"_index":816,"title":{},"content":{"29":{"position":[[56,3]]},"30":{"position":[[95,3]]},"31":{"position":[[78,3]]},"41":{"position":[[202,3]]},"108":{"position":[[122,3]]},"174":{"position":[[202,3]]},"185":{"position":[[56,3]]},"186":{"position":[[95,3]]},"187":{"position":[[78,3]]},"294":{"position":[[1068,3],[1267,3]]},"297":{"position":[[1006,3]]},"520":{"position":[[122,3]]},"591":{"position":[[481,3]]},"594":{"position":[[225,3]]},"596":{"position":[[256,3]]},"693":{"position":[[1771,3]]},"716":{"position":[[179,3]]},"1064":{"position":[[932,3]]},"1068":{"position":[[216,3]]},"1112":{"position":[[3965,3],[4709,3]]},"1374":{"position":[[2747,3],[3221,3]]},"1422":{"position":[[3048,3]]}},"keywords":{}}],["sub_error",{"_index":5743,"title":{},"content":{"1112":{"position":[[4007,11]]}},"keywords":{}}],["sub_target",{"_index":1938,"title":{},"content":{"368":{"position":[[350,12],[1041,11],[2406,12]]},"402":{"position":[[716,10]]},"404":{"position":[[253,10]]},"747":{"position":[[350,12],[1041,11],[2406,12]]},"781":{"position":[[716,10]]},"783":{"position":[[253,10]]},"1422":{"position":[[611,12],[2971,12],[3136,11]]}},"keywords":{}}],["sub_target_expr",{"_index":2121,"title":{},"content":{"402":{"position":[[751,15]]},"404":{"position":[[288,15]]},"781":{"position":[[751,15]]},"783":{"position":[[288,15]]}},"keywords":{}}],["sub_targetsattribut",{"_index":3932,"title":{},"content":{"854":{"position":[[66,20]]}},"keywords":{}}],["subcommand(",{"_index":5954,"title":{},"content":{"1154":{"position":[[397,13]]},"1171":{"position":[[890,13]]},"1185":{"position":[[224,13]]},"1190":{"position":[[1555,13]]},"1202":{"position":[[332,13]]},"1204":{"position":[[297,13]]},"1221":{"position":[[269,13]]}},"keywords":{}}],["subdir",{"_index":5960,"title":{},"content":{"1155":{"position":[[401,6],[474,6]]}},"keywords":{}}],["subdir/buck",{"_index":1976,"title":{},"content":{"368":{"position":[[1742,13]]},"747":{"position":[[1742,13]]}},"keywords":{}}],["subdir:foo",{"_index":1987,"title":{},"content":{"368":{"position":[[2161,12]]},"747":{"position":[[2161,12]]}},"keywords":{}}],["subdir:foo[strip",{"_index":1988,"title":{},"content":{"368":{"position":[[2332,22]]},"747":{"position":[[2332,22]]}},"keywords":{}}],["subdir:gen_stuff",{"_index":1984,"title":{},"content":{"368":{"position":[[1961,18]]},"747":{"position":[[1961,18]]}},"keywords":{}}],["subdir_glob([('r",{"_index":6641,"title":{},"content":{"1359":{"position":[[2450,20]]}},"keywords":{}}],["subdirectori",{"_index":2671,"title":{},"content":{"581":{"position":[[636,15]]},"680":{"position":[[122,14]]},"693":{"position":[[5631,14]]},"1130":{"position":[[194,12]]},"1373":{"position":[[6141,12]]},"1401":{"position":[[1737,14]]},"1405":{"position":[[3465,12]]},"1407":{"position":[[3886,12]]},"1408":{"position":[[2505,12]]},"1410":{"position":[[4873,12]]},"1446":{"position":[[2725,12]]}},"keywords":{}}],["subdirectorycxx",{"_index":2713,"title":{},"content":{"584":{"position":[[1408,15]]}},"keywords":{}}],["subgraph",{"_index":3430,"title":{},"content":{"684":{"position":[[155,9]]},"695":{"position":[[703,9]]}},"keywords":{}}],["subject",{"_index":2456,"title":{},"content":{"477":{"position":[[343,7]]},"1123":{"position":[[29,7]]},"1393":{"position":[[8262,9]]},"1403":{"position":[[6306,7]]}},"keywords":{}}],["submit",{"_index":8601,"title":{},"content":{"1486":{"position":[[4844,7],[5242,9]]}},"keywords":{}}],["submodul",{"_index":497,"title":{},"content":{"17":{"position":[[495,9]]},"18":{"position":[[308,10],[2039,9]]},"1095":{"position":[[216,11]]}},"keywords":{}}],["subpackag",{"_index":4990,"title":{},"content":{"1001":{"position":[[832,12]]}},"keywords":{}}],["subprocess",{"_index":4062,"title":{},"content":{"870":{"position":[[674,12],[770,11]]}},"keywords":{}}],["subrang",{"_index":2798,"title":{},"content":{"594":{"position":[[303,8]]}},"keywords":{}}],["subscrib",{"_index":4757,"title":{"1218":{"position":[[0,9]]},"1219":{"position":[[5,10]]}},"content":{"956":{"position":[[230,12]]},"1219":{"position":[[763,9]]}},"keywords":{}}],["subscript",{"_index":4747,"title":{},"content":{"954":{"position":[[637,12]]},"955":{"position":[[275,13]]},"1204":{"position":[[146,13],[5419,14],[5488,13]]},"1219":{"position":[[7,12]]}},"keywords":{}}],["subscription.proto",{"_index":6045,"title":{},"content":{"1219":{"position":[[603,20]]}},"keywords":{}}],["subscriptionrequest",{"_index":6043,"title":{},"content":{"1219":{"position":[[522,21]]}},"keywords":{}}],["subscriptionrespons",{"_index":6044,"title":{},"content":{"1219":{"position":[[554,23]]}},"keywords":{}}],["subsequ",{"_index":1091,"title":{},"content":{"89":{"position":[[723,12],[773,10]]},"221":{"position":[[723,12],[773,10]]},"569":{"position":[[322,10]]},"865":{"position":[[669,10]]},"867":{"position":[[157,10]]},"955":{"position":[[1476,10]]},"1050":{"position":[[4534,10]]},"1422":{"position":[[3574,10]]},"1423":{"position":[[2345,10]]}},"keywords":{}}],["subset",{"_index":610,"title":{},"content":{"20":{"position":[[129,6]]},"23":{"position":[[1125,6],[1289,6]]},"693":{"position":[[1909,6]]},"906":{"position":[[804,6]]},"1030":{"position":[[181,6]]},"1036":{"position":[[41,6],[99,7]]},"1044":{"position":[[2111,6]]},"1067":{"position":[[342,6]]},"1071":{"position":[[54,6]]},"1374":{"position":[[1775,6]]},"1383":{"position":[[4465,6]]}},"keywords":{}}],["substanti",{"_index":3557,"title":{},"content":{"693":{"position":[[4893,11]]}},"keywords":{}}],["substitut",{"_index":5099,"title":{},"content":{"1029":{"position":[[110,10]]},"1054":{"position":[[1026,11]]},"1345":{"position":[[512,11],[789,11],[1084,11]]},"1363":{"position":[[4537,10],[4988,12],[5195,12]]},"1367":{"position":[[9904,12],[10111,12]]}},"keywords":{}}],["substr",{"_index":2767,"title":{},"content":{"591":{"position":[[283,9],[350,9]]},"594":{"position":[[115,9],[215,9]]},"596":{"position":[[119,9],[246,9],[302,9]]},"610":{"position":[[116,10],[207,9]]},"611":{"position":[[135,10],[200,9]]},"612":{"position":[[137,10],[225,9]]},"614":{"position":[[129,11],[190,10]]},"616":{"position":[[124,11],[184,10]]}},"keywords":{}}],["substring'",{"_index":2946,"title":{},"content":{"611":{"position":[[279,11]]},"612":{"position":[[306,11]]}},"keywords":{}}],["subtarget",{"_index":929,"title":{"854":{"position":[[15,9]]},"1198":{"position":[[11,11]]}},"content":{"63":{"position":[[168,9],[217,9]]},"79":{"position":[[100,10],[218,10]]},"166":{"position":[[166,9],[217,9]]},"298":{"position":[[2153,9],[2288,9]]},"301":{"position":[[979,10]]},"309":{"position":[[641,9]]},"310":{"position":[[279,10],[489,9],[683,9],[829,9]]},"368":{"position":[[2612,10],[2774,10],[2804,10]]},"492":{"position":[[168,9],[217,9]]},"508":{"position":[[100,10],[218,10]]},"548":{"position":[[166,9],[217,9]]},"693":{"position":[[8152,10],[8220,10],[8250,10]]},"747":{"position":[[2612,10],[2774,10],[2804,10]]},"851":{"position":[[675,9],[831,9],[1462,9],[1611,9]]},"854":{"position":[[42,10],[183,9]]},"872":{"position":[[571,10]]},"942":{"position":[[633,9],[664,9]]},"954":{"position":[[411,10]]},"956":{"position":[[136,11]]},"1112":{"position":[[1995,10],[2077,10],[2130,10]]},"1190":{"position":[[652,10],[673,10]]},"1198":{"position":[[10,10],[48,10],[209,11],[294,10]]},"1370":{"position":[[1880,9]]}},"keywords":{}}],["subtarget_nam",{"_index":923,"title":{},"content":{"63":{"position":[[45,15]]},"166":{"position":[[34,15]]},"492":{"position":[[45,15]]},"548":{"position":[[34,15]]}},"keywords":{}}],["subtargetsrun",{"_index":4087,"title":{},"content":{"874":{"position":[[147,13]]}},"keywords":{}}],["subtl",{"_index":334,"title":{},"content":{"10":{"position":[[706,6]]},"1254":{"position":[[7,6]]}},"keywords":{}}],["subtract",{"_index":3958,"title":{},"content":{"858":{"position":[[107,11]]}},"keywords":{}}],["subwithin",{"_index":2944,"title":{},"content":{"611":{"position":[[210,9]]},"612":{"position":[[235,9]]}},"keywords":{}}],["succe",{"_index":5640,"title":{},"content":{"1102":{"position":[[885,7]]}},"keywords":{}}],["succeed",{"_index":537,"title":{},"content":{"17":{"position":[[1445,9]]},"1112":{"position":[[3997,9]]},"1121":{"position":[[74,10]]},"1245":{"position":[[27,10]]},"1477":{"position":[[3218,9]]}},"keywords":{}}],["succeeded!"",{"_index":3763,"title":{},"content":{"712":{"position":[[2118,18],[3024,16]]}},"keywords":{}}],["success",{"_index":2890,"title":{},"content":{"604":{"position":[[232,10]]},"617":{"position":[[186,10]]},"639":{"position":[[217,10]]},"662":{"position":[[673,12]]},"1112":{"position":[[187,8],[1613,8],[1941,8]]},"1136":{"position":[[6379,8]]},"1138":{"position":[[10041,8]]},"1140":{"position":[[8967,8]]},"1142":{"position":[[4411,8]]},"1144":{"position":[[739,8]]},"1146":{"position":[[4351,8]]},"1148":{"position":[[7942,8]]},"1150":{"position":[[974,8]]},"1152":{"position":[[672,8]]},"1154":{"position":[[827,8]]},"1155":{"position":[[4447,8]]},"1156":{"position":[[4025,8]]},"1157":{"position":[[610,8]]},"1158":{"position":[[604,8]]},"1159":{"position":[[604,8]]},"1161":{"position":[[1599,8]]},"1163":{"position":[[985,8]]},"1165":{"position":[[814,8]]},"1167":{"position":[[9971,8]]},"1169":{"position":[[3079,8]]},"1171":{"position":[[1320,8]]},"1172":{"position":[[2705,8]]},"1173":{"position":[[1392,8]]},"1174":{"position":[[820,8]]},"1175":{"position":[[816,8]]},"1176":{"position":[[985,8]]},"1177":{"position":[[906,8]]},"1178":{"position":[[1223,8]]},"1179":{"position":[[1020,8]]},"1180":{"position":[[1291,8]]},"1181":{"position":[[1811,8]]},"1182":{"position":[[854,8]]},"1183":{"position":[[809,8]]},"1185":{"position":[[654,8]]},"1186":{"position":[[5615,8]]},"1187":{"position":[[5628,8]]},"1188":{"position":[[10354,8]]},"1190":{"position":[[1985,8]]},"1191":{"position":[[4215,8]]},"1192":{"position":[[4390,8]]},"1193":{"position":[[4442,8]]},"1194":{"position":[[4082,8]]},"1195":{"position":[[4060,8]]},"1196":{"position":[[3870,8]]},"1197":{"position":[[4853,8]]},"1198":{"position":[[4863,8]]},"1199":{"position":[[4891,8]]},"1200":{"position":[[4758,8]]},"1201":{"position":[[4018,8]]},"1202":{"position":[[762,8],[5160,8],[9557,8]]},"1203":{"position":[[4252,8]]},"1204":{"position":[[4096,8],[4998,8],[5928,8],[6830,8],[7816,8],[8770,8],[9717,8],[10647,8]]},"1205":{"position":[[5425,8]]},"1206":{"position":[[4124,8]]},"1207":{"position":[[4053,8]]},"1209":{"position":[[5401,8]]},"1211":{"position":[[725,8]]},"1213":{"position":[[496,8]]},"1215":{"position":[[580,8]]},"1217":{"position":[[8712,8]]},"1219":{"position":[[3967,8]]},"1221":{"position":[[699,8]]},"1222":{"position":[[3838,8]]},"1223":{"position":[[3848,8]]},"1224":{"position":[[3281,8]]},"1226":{"position":[[9180,8]]},"1228":{"position":[[10793,8]]},"1235":{"position":[[6661,8]]},"1237":{"position":[[9350,8]]}},"keywords":{}}],["successfulli",{"_index":1501,"title":{},"content":{"245":{"position":[[126,12]]},"574":{"position":[[234,13]]},"682":{"position":[[113,12]]},"892":{"position":[[2008,12]]},"1112":{"position":[[174,12],[1920,12],[2039,12]]}},"keywords":{}}],["such",{"_index":187,"title":{},"content":{"9":{"position":[[382,5],[2006,5],[2278,5]]},"12":{"position":[[447,4],[592,4]]},"15":{"position":[[599,4]]},"23":{"position":[[329,4],[537,4],[947,5],[2963,4],[3186,5],[3346,4]]},"66":{"position":[[67,4]]},"94":{"position":[[1253,4],[1258,5],[1601,4]]},"107":{"position":[[151,4]]},"112":{"position":[[146,4]]},"126":{"position":[[270,4]]},"226":{"position":[[1253,4],[1258,5],[1601,4]]},"249":{"position":[[270,4]]},"368":{"position":[[2623,4]]},"454":{"position":[[67,4]]},"498":{"position":[[59,4]]},"519":{"position":[[151,4]]},"524":{"position":[[146,4]]},"554":{"position":[[197,4]]},"557":{"position":[[238,4]]},"559":{"position":[[252,4]]},"575":{"position":[[283,4],[556,4]]},"580":{"position":[[420,4]]},"600":{"position":[[189,4]]},"602":{"position":[[177,4]]},"603":{"position":[[189,4]]},"637":{"position":[[197,4]]},"645":{"position":[[209,4]]},"647":{"position":[[117,4]]},"668":{"position":[[192,4]]},"679":{"position":[[213,4],[392,4]]},"681":{"position":[[302,4]]},"693":{"position":[[2914,4],[3866,4],[4502,4],[9071,4]]},"704":{"position":[[1729,5]]},"715":{"position":[[723,5],[1248,4]]},"720":{"position":[[118,5]]},"722":{"position":[[99,5],[722,4],[758,5]]},"747":{"position":[[2623,4]]},"846":{"position":[[1310,5]]},"858":{"position":[[53,5]]},"870":{"position":[[650,4],[1409,5]]},"889":{"position":[[245,4]]},"890":{"position":[[2170,4],[3234,5],[3270,5],[5981,4],[6202,4]]},"898":{"position":[[1752,5]]},"919":{"position":[[1060,4]]},"950":{"position":[[162,5]]},"959":{"position":[[318,4]]},"961":{"position":[[197,4]]},"964":{"position":[[145,5],[888,4]]},"1001":{"position":[[1294,4]]},"1005":{"position":[[157,4]]},"1012":{"position":[[59,4],[222,4],[346,5]]},"1017":{"position":[[708,4]]},"1029":{"position":[[209,5]]},"1050":{"position":[[253,4],[271,5],[3347,4],[3508,4],[3685,4],[4497,4]]},"1052":{"position":[[187,4],[1500,4]]},"1064":{"position":[[1386,4]]},"1065":{"position":[[227,4]]},"1067":{"position":[[566,5]]},"1071":{"position":[[758,4]]},"1086":{"position":[[92,4]]},"1088":{"position":[[470,4]]},"1104":{"position":[[618,5]]},"1107":{"position":[[234,5]]},"1114":{"position":[[509,4]]},"1120":{"position":[[597,4],[723,4]]},"1132":{"position":[[114,5]]},"1134":{"position":[[265,4]]},"1172":{"position":[[1582,4]]},"1173":{"position":[[882,4]]},"1240":{"position":[[358,5],[513,5]]},"1243":{"position":[[389,4]]},"1245":{"position":[[486,4]]},"1247":{"position":[[448,4]]},"1262":{"position":[[273,4]]},"1273":{"position":[[382,4]]},"1293":{"position":[[273,4]]},"1304":{"position":[[382,4]]},"1321":{"position":[[273,4]]},"1332":{"position":[[382,4]]},"1355":{"position":[[4527,4],[6862,4],[7302,4]]},"1358":{"position":[[2070,5]]},"1359":{"position":[[2372,4]]},"1360":{"position":[[4901,4]]},"1362":{"position":[[4765,4],[11158,4]]},"1364":{"position":[[12125,4]]},"1367":{"position":[[11528,4]]},"1373":{"position":[[5673,4],[8008,4]]},"1374":{"position":[[2114,4]]},"1382":{"position":[[8027,4],[10784,4]]},"1383":{"position":[[3696,4],[3824,4],[5433,4],[7009,4]]},"1384":{"position":[[14091,4],[17858,4],[19984,4],[20865,4]]},"1385":{"position":[[1931,5],[4258,4]]},"1386":{"position":[[690,4]]},"1387":{"position":[[4282,5],[7351,4]]},"1388":{"position":[[8641,4],[9277,4]]},"1393":{"position":[[9180,4]]},"1401":{"position":[[1655,4]]},"1403":{"position":[[4889,4]]},"1415":{"position":[[4140,4]]},"1427":{"position":[[3672,4],[6061,4],[6501,4]]},"1439":{"position":[[4346,4]]},"1458":{"position":[[1125,5]]},"1462":{"position":[[6803,4],[8478,4]]},"1467":{"position":[[7918,4],[9960,4]]},"1477":{"position":[[2024,4]]},"1485":{"position":[[3649,4]]},"1486":{"position":[[2126,4]]}},"keywords":{}}],["suffici",{"_index":2280,"title":{},"content":{"421":{"position":[[171,11]]},"800":{"position":[[171,11]]},"1071":{"position":[[1397,10],[1424,10]]}},"keywords":{}}],["suffix",{"_index":2176,"title":{},"content":{"408":{"position":[[164,6]]},"427":{"position":[[311,7]]},"591":{"position":[[561,6]]},"593":{"position":[[123,7],[197,7]]},"787":{"position":[[164,6]]},"806":{"position":[[311,7]]},"1186":{"position":[[488,8]]},"1187":{"position":[[501,8]]},"1188":{"position":[[5227,8]]},"1228":{"position":[[1789,7],[1816,9]]},"1366":{"position":[[2468,7]]}},"keywords":{}}],["suffix_al",{"_index":7294,"title":{},"content":{"1387":{"position":[[3777,11]]}},"keywords":{}}],["suggest",{"_index":1848,"title":{},"content":{"345":{"position":[[787,9]]},"906":{"position":[[834,9]]},"1232":{"position":[[3286,8]]}},"keywords":{}}],["suit",{"_index":7612,"title":{},"content":{"1398":{"position":[[1087,6],[1173,6],[1222,6],[1326,7],[1339,5],[2787,6],[2947,6],[3921,6],[4028,6],[4090,6],[4626,6],[4662,6],[4716,6],[4746,6],[4829,5],[5216,5],[5255,5],[5344,6],[5492,6],[5571,6],[6005,6],[6519,6],[6882,5],[7018,6]]}},"keywords":{}}],["suitabl",{"_index":463,"title":{},"content":{"15":{"position":[[579,8]]},"635":{"position":[[190,8]]},"638":{"position":[[548,8]]},"663":{"position":[[601,8]]},"901":{"position":[[563,8]]},"902":{"position":[[537,8]]},"1082":{"position":[[518,8]]},"1404":{"position":[[1424,8]]}},"keywords":{}}],["suite_suit",{"_index":7620,"title":{},"content":{"1398":{"position":[[4910,11]]}},"keywords":{}}],["summari",{"_index":591,"title":{"1057":{"position":[[0,7]]},"1183":{"position":[[9,8]]}},"content":{"18":{"position":[[1807,8]]},"1020":{"position":[[104,8]]},"1056":{"position":[[267,7],[356,7],[474,7],[738,7],[766,8]]},"1057":{"position":[[31,7]]},"1136":{"position":[[2421,7]]},"1138":{"position":[[5520,7]]},"1140":{"position":[[5009,7]]},"1142":{"position":[[713,7]]},"1144":{"position":[[361,7]]},"1146":{"position":[[393,7]]},"1148":{"position":[[2870,7],[7413,7],[7437,7]]},"1150":{"position":[[596,7]]},"1152":{"position":[[294,7]]},"1154":{"position":[[449,7]]},"1155":{"position":[[749,7]]},"1156":{"position":[[327,7]]},"1157":{"position":[[232,7]]},"1158":{"position":[[226,7]]},"1159":{"position":[[226,7]]},"1161":{"position":[[490,7]]},"1163":{"position":[[288,7]]},"1165":{"position":[[117,7]]},"1167":{"position":[[6013,7]]},"1169":{"position":[[112,7]]},"1171":{"position":[[787,7],[942,7]]},"1172":{"position":[[2327,7]]},"1173":{"position":[[1014,7]]},"1174":{"position":[[442,7]]},"1175":{"position":[[438,7]]},"1176":{"position":[[607,7]]},"1177":{"position":[[528,7]]},"1178":{"position":[[845,7]]},"1179":{"position":[[642,7]]},"1180":{"position":[[913,7]]},"1181":{"position":[[702,7]]},"1182":{"position":[[476,7]]},"1183":{"position":[[71,7],[431,7]]},"1185":{"position":[[276,7]]},"1186":{"position":[[965,7],[989,7],[1094,7]]},"1187":{"position":[[978,7],[1002,7],[1107,7]]},"1188":{"position":[[5704,7],[5728,7],[5833,7]]},"1190":{"position":[[1607,7]]},"1191":{"position":[[517,7]]},"1192":{"position":[[432,7]]},"1193":{"position":[[744,7]]},"1194":{"position":[[384,7]]},"1195":{"position":[[362,7]]},"1196":{"position":[[172,7]]},"1197":{"position":[[332,7]]},"1198":{"position":[[342,7]]},"1199":{"position":[[370,7]]},"1200":{"position":[[237,7]]},"1201":{"position":[[320,7]]},"1202":{"position":[[384,7],[1462,7],[5859,7]]},"1203":{"position":[[294,7]]},"1204":{"position":[[398,7],[4620,7],[5550,7],[6452,7],[7438,7],[8392,7],[9339,7],[10269,7]]},"1205":{"position":[[1467,7]]},"1206":{"position":[[198,7]]},"1207":{"position":[[355,7]]},"1209":{"position":[[1703,7]]},"1211":{"position":[[347,7]]},"1213":{"position":[[118,7]]},"1215":{"position":[[202,7]]},"1217":{"position":[[4754,7]]},"1219":{"position":[[1000,7]]},"1221":{"position":[[321,7]]},"1222":{"position":[[124,7]]},"1223":{"position":[[134,7]]},"1224":{"position":[[314,7]]},"1226":{"position":[[5222,7]]},"1228":{"position":[[6835,7]]},"1235":{"position":[[2963,7]]},"1237":{"position":[[5392,7]]}},"keywords":{}}],["summaries).anonym",{"_index":736,"title":{},"content":{"23":{"position":[[1863,20]]}},"keywords":{}}],["summary.csv",{"_index":5355,"title":{},"content":{"1056":{"position":[[293,11],[382,11]]}},"keywords":{}}],["super",{"_index":169,"title":{},"content":{"9":{"position":[[89,5]]},"1136":{"position":[[5147,6]]},"1138":{"position":[[8809,6]]},"1140":{"position":[[7735,6]]},"1142":{"position":[[3179,6]]},"1146":{"position":[[3119,6]]},"1148":{"position":[[6159,6]]},"1155":{"position":[[3215,6]]},"1156":{"position":[[2793,6]]},"1161":{"position":[[686,6]]},"1167":{"position":[[8739,6]]},"1181":{"position":[[898,6]]},"1186":{"position":[[4383,6]]},"1187":{"position":[[4396,6]]},"1188":{"position":[[9122,6]]},"1191":{"position":[[2983,6]]},"1192":{"position":[[3158,6]]},"1193":{"position":[[3210,6]]},"1194":{"position":[[2850,6]]},"1195":{"position":[[2828,6]]},"1196":{"position":[[2638,6]]},"1197":{"position":[[3621,6]]},"1198":{"position":[[3631,6]]},"1199":{"position":[[3659,6]]},"1200":{"position":[[3526,6]]},"1201":{"position":[[2786,6]]},"1202":{"position":[[3928,6],[8325,6]]},"1203":{"position":[[3020,6]]},"1204":{"position":[[2864,6]]},"1205":{"position":[[4193,6]]},"1206":{"position":[[2664,6]]},"1207":{"position":[[2821,6]]},"1209":{"position":[[4169,6]]},"1217":{"position":[[7480,6]]},"1222":{"position":[[2590,6]]},"1223":{"position":[[2600,6]]},"1226":{"position":[[7948,6]]},"1228":{"position":[[9561,6]]},"1235":{"position":[[5429,6]]},"1237":{"position":[[8118,6]]},"1360":{"position":[[5822,5]]}},"keywords":{}}],["super_fast",{"_index":2314,"title":{},"content":{"429":{"position":[[242,10]]},"808":{"position":[[242,10]]}},"keywords":{}}],["superconsol",{"_index":5761,"title":{"1118":{"position":[[0,13]]}},"content":{"1118":{"position":[[4,12]]},"1120":{"position":[[4,12],[518,12]]},"1136":{"position":[[4417,12],[5206,12],[5268,12],[5518,12]]},"1138":{"position":[[8079,12],[8868,12],[8930,12],[9180,12]]},"1140":{"position":[[7005,12],[7794,12],[7856,12],[8106,12]]},"1142":{"position":[[2449,12],[3238,12],[3300,12],[3550,12]]},"1146":{"position":[[2389,12],[3178,12],[3240,12],[3490,12]]},"1148":{"position":[[5429,12],[6218,12],[6280,12],[6530,12]]},"1155":{"position":[[2485,12],[3274,12],[3336,12],[3586,12]]},"1156":{"position":[[2063,12],[2852,12],[2914,12],[3164,12]]},"1161":{"position":[[745,12],[807,12],[1057,12]]},"1167":{"position":[[318,12],[8009,12],[8798,12],[8860,12],[9110,12]]},"1169":{"position":[[1848,12]]},"1181":{"position":[[80,13],[957,12],[1019,12],[1269,12]]},"1186":{"position":[[3653,12],[4442,12],[4504,12],[4754,12]]},"1187":{"position":[[3666,12],[4455,12],[4517,12],[4767,12]]},"1188":{"position":[[8392,12],[9181,12],[9243,12],[9493,12]]},"1191":{"position":[[2253,12],[3042,12],[3104,12],[3354,12]]},"1192":{"position":[[2428,12],[3217,12],[3279,12],[3529,12]]},"1193":{"position":[[2480,12],[3269,12],[3331,12],[3581,12]]},"1194":{"position":[[2120,12],[2909,12],[2971,12],[3221,12]]},"1195":{"position":[[2098,12],[2887,12],[2949,12],[3199,12]]},"1196":{"position":[[1908,12],[2697,12],[2759,12],[3009,12]]},"1197":{"position":[[2891,12],[3680,12],[3742,12],[3992,12]]},"1198":{"position":[[2901,12],[3690,12],[3752,12],[4002,12]]},"1199":{"position":[[2929,12],[3718,12],[3780,12],[4030,12]]},"1200":{"position":[[2796,12],[3585,12],[3647,12],[3897,12]]},"1201":{"position":[[2056,12],[2845,12],[2907,12],[3157,12]]},"1202":{"position":[[3198,12],[3987,12],[4049,12],[4299,12],[7595,12],[8384,12],[8446,12],[8696,12]]},"1203":{"position":[[2290,12],[3079,12],[3141,12],[3391,12]]},"1204":{"position":[[2134,12],[2923,12],[2985,12],[3235,12]]},"1205":{"position":[[3463,12],[4252,12],[4314,12],[4564,12]]},"1206":{"position":[[1934,12],[2723,12],[2785,12],[3035,12]]},"1207":{"position":[[2091,12],[2880,12],[2942,12],[3192,12]]},"1209":{"position":[[3439,12],[4228,12],[4290,12],[4540,12]]},"1217":{"position":[[6750,12],[7539,12],[7601,12],[7851,12]]},"1219":{"position":[[2736,12]]},"1222":{"position":[[1860,12],[2649,12],[2711,12],[2961,12]]},"1223":{"position":[[1870,12],[2659,12],[2721,12],[2971,12]]},"1224":{"position":[[2050,12]]},"1226":{"position":[[7218,12],[8007,12],[8069,12],[8319,12]]},"1228":{"position":[[8831,12],[9620,12],[9682,12],[9932,12]]},"1235":{"position":[[4699,12],[5488,12],[5550,12],[5800,12]]},"1237":{"position":[[7388,12],[8177,12],[8239,12],[8489,12]]},"1244":{"position":[[105,12]]}},"keywords":{}}],["superior",{"_index":5749,"title":{},"content":{"1113":{"position":[[279,8]]}},"keywords":{}}],["supermodul",{"_index":4485,"title":{},"content":{"919":{"position":[[640,12]]}},"keywords":{}}],["supermodule_target_graph",{"_index":8489,"title":{"1479":{"position":[[0,25]]}},"content":{"1479":{"position":[[4,25]]}},"keywords":{}}],["superset",{"_index":5052,"title":{},"content":{"1013":{"position":[[463,8]]}},"keywords":{}}],["supplementari",{"_index":7535,"title":{},"content":{"1394":{"position":[[544,13]]}},"keywords":{}}],["suppli",{"_index":1092,"title":{},"content":{"89":{"position":[[954,6]]},"126":{"position":[[180,8]]},"131":{"position":[[279,8],[450,8]]},"132":{"position":[[159,8]]},"134":{"position":[[168,8]]},"135":{"position":[[100,8]]},"137":{"position":[[124,8]]},"145":{"position":[[143,8]]},"147":{"position":[[121,8]]},"148":{"position":[[173,8]]},"221":{"position":[[954,6]]},"249":{"position":[[180,8]]},"254":{"position":[[279,8],[450,8]]},"255":{"position":[[159,8]]},"257":{"position":[[168,8]]},"258":{"position":[[100,8]]},"260":{"position":[[124,8]]},"268":{"position":[[143,8]]},"270":{"position":[[121,8]]},"271":{"position":[[173,8]]},"304":{"position":[[247,9]]},"715":{"position":[[735,6]]},"1004":{"position":[[1726,9]]},"1136":{"position":[[1327,7]]},"1148":{"position":[[1683,7]]},"1205":{"position":[[807,7]]},"1209":{"position":[[560,7]]},"1226":{"position":[[2500,7]]},"1228":{"position":[[2437,8]]},"1235":{"position":[[1820,7]]},"1237":{"position":[[2670,7]]},"1362":{"position":[[4802,8]]},"1373":{"position":[[2786,8]]},"1381":{"position":[[710,8]]},"1382":{"position":[[3041,8]]},"1384":{"position":[[21288,8]]},"1390":{"position":[[620,8]]},"1405":{"position":[[1137,8],[1197,8]]},"1407":{"position":[[1166,8]]},"1408":{"position":[[945,8]]},"1448":{"position":[[1003,8]]},"1449":{"position":[[943,8]]},"1471":{"position":[[1703,8]]},"1472":{"position":[[1662,8]]},"1473":{"position":[[1958,8]]},"1486":{"position":[[4575,8]]}},"keywords":{}}],["support",{"_index":15,"title":{"575":{"position":[[18,9]]},"922":{"position":[[4,7]]},"925":{"position":[[5,7]]},"1243":{"position":[[33,11]]}},"content":{"3":{"position":[[38,7]]},"9":{"position":[[2313,7],[2525,8],[2841,7]]},"23":{"position":[[3160,8]]},"84":{"position":[[340,7]]},"94":{"position":[[1913,10]]},"121":{"position":[[282,9]]},"216":{"position":[[340,7]]},"226":{"position":[[1913,10]]},"233":{"position":[[262,7]]},"450":{"position":[[166,8]]},"481":{"position":[[71,7]]},"498":{"position":[[35,8]]},"530":{"position":[[282,9]]},"573":{"position":[[183,8]]},"575":{"position":[[10,7]]},"576":{"position":[[194,10]]},"577":{"position":[[33,8],[94,8]]},"582":{"position":[[52,8]]},"585":{"position":[[31,9]]},"587":{"position":[[687,9]]},"651":{"position":[[284,9]]},"652":{"position":[[362,9]]},"654":{"position":[[168,7]]},"655":{"position":[[165,7]]},"676":{"position":[[6,8]]},"679":{"position":[[118,7],[451,7]]},"685":{"position":[[305,9]]},"693":{"position":[[4539,9],[4616,8]]},"696":{"position":[[134,7],[184,7]]},"700":{"position":[[5,8]]},"702":{"position":[[416,9],[436,7]]},"710":{"position":[[22,9]]},"829":{"position":[[166,8]]},"832":{"position":[[989,8]]},"846":{"position":[[6,8]]},"858":{"position":[[94,8]]},"869":{"position":[[604,7]]},"882":{"position":[[49,7]]},"890":{"position":[[3598,10],[4038,7],[5015,7]]},"908":{"position":[[38,7]]},"923":{"position":[[139,7]]},"924":{"position":[[1684,7]]},"926":{"position":[[46,8],[202,7]]},"935":{"position":[[20,7]]},"937":{"position":[[250,10],[3302,8]]},"947":{"position":[[1282,7]]},"951":{"position":[[355,7],[1444,7]]},"959":{"position":[[481,7]]},"972":{"position":[[15,7],[228,7]]},"1019":{"position":[[30,7]]},"1020":{"position":[[11,8]]},"1044":{"position":[[2101,7],[2150,8],[2159,9]]},"1049":{"position":[[94,7],[480,9]]},"1050":{"position":[[2163,9],[2258,9]]},"1056":{"position":[[6,8]]},"1072":{"position":[[316,7]]},"1083":{"position":[[208,9]]},"1087":{"position":[[345,7]]},"1088":{"position":[[214,9]]},"1094":{"position":[[16,8]]},"1098":{"position":[[106,7]]},"1102":{"position":[[170,9]]},"1120":{"position":[[457,7]]},"1132":{"position":[[6,8],[339,9]]},"1138":{"position":[[2011,10]]},"1140":{"position":[[1500,10]]},"1156":{"position":[[74,7]]},"1167":{"position":[[2504,10]]},"1188":{"position":[[1553,10]]},"1190":{"position":[[1174,7]]},"1205":{"position":[[61,7]]},"1217":{"position":[[1245,10]]},"1228":{"position":[[1806,9],[3326,10]]},"1243":{"position":[[14,10]]},"1259":{"position":[[1248,7]]},"1272":{"position":[[82,7]]},"1290":{"position":[[1248,7]]},"1303":{"position":[[82,7]]},"1318":{"position":[[1248,7]]},"1331":{"position":[[82,7]]},"1345":{"position":[[92,9]]},"1362":{"position":[[13307,8]]},"1364":{"position":[[14007,8]]},"1367":{"position":[[13215,8]]},"1370":{"position":[[2965,8]]},"1374":{"position":[[1765,7],[1869,9],[2017,7]]},"1384":{"position":[[17294,8],[19390,9]]},"1392":{"position":[[703,8]]},"1393":{"position":[[4644,8]]},"1405":{"position":[[2527,8]]},"1407":{"position":[[2948,8]]},"1408":{"position":[[2065,8]]},"1410":{"position":[[2972,8]]},"1415":{"position":[[5367,9]]},"1422":{"position":[[3426,9],[3672,9]]},"1423":{"position":[[2443,9]]},"1429":{"position":[[6095,9]]},"1440":{"position":[[5995,9]]},"1448":{"position":[[1992,8],[2581,8]]},"1449":{"position":[[1926,8],[2515,8]]},"1454":{"position":[[9403,9],[9497,8]]},"1457":{"position":[[1576,8]]},"1462":{"position":[[8469,8]]},"1467":{"position":[[9951,8]]},"1471":{"position":[[3202,8],[3356,8],[5665,9]]},"1472":{"position":[[2921,8],[3040,8],[3940,8],[6551,9]]},"1473":{"position":[[3236,8],[3390,8],[5836,9]]},"1478":{"position":[[2734,9]]}},"keywords":{}}],["support_shlib_interfac",{"_index":7295,"title":{},"content":{"1387":{"position":[[3799,25]]}},"keywords":{}}],["supported_platforms_regex",{"_index":6771,"title":{},"content":{"1362":{"position":[[4270,26]]},"1364":{"position":[[4255,26]]},"1367":{"position":[[5811,26]]},"1384":{"position":[[3845,26],[19249,26]]},"1387":{"position":[[3835,26]]},"1415":{"position":[[2291,26]]},"1453":{"position":[[814,26]]},"1454":{"position":[[2267,26]]},"1455":{"position":[[987,26]]},"1480":{"position":[[852,26]]}},"keywords":{}}],["supportremote_execution_queue_time_threshold_",{"_index":1900,"title":{},"content":{"362":{"position":[[1760,47]]},"741":{"position":[[1760,47]]}},"keywords":{}}],["supports_abi_generation_from_sourc",{"_index":7946,"title":{},"content":{"1425":{"position":[[627,36]]},"1428":{"position":[[609,36]]}},"keywords":{}}],["supports_cxx_interop_requirement_at_import",{"_index":8505,"title":{},"content":{"1481":{"position":[[1168,43]]}},"keywords":{}}],["supports_distributed_thinlto",{"_index":7412,"title":{},"content":{"1389":{"position":[[4216,29]]}},"keywords":{}}],["supports_header_symlink_subtarget",{"_index":6927,"title":{},"content":{"1364":{"position":[[4298,34]]},"1384":{"position":[[3888,34]]}},"keywords":{}}],["supports_merged_link",{"_index":6772,"title":{},"content":{"1362":{"position":[[4313,24]]},"1364":{"position":[[4343,24]]},"1367":{"position":[[5854,24]]},"1384":{"position":[[3933,24]]},"1387":{"position":[[3878,24]]},"1454":{"position":[[2310,24]]}},"keywords":{}}],["supports_python_dlopen",{"_index":7198,"title":{},"content":{"1384":{"position":[[3975,23]]},"1454":{"position":[[2352,23]]},"1472":{"position":[[1519,23]]}},"keywords":{}}],["supports_relative_resource_dir",{"_index":8506,"title":{},"content":{"1481":{"position":[[1222,31]]}},"keywords":{}}],["supports_shared_library_interfac",{"_index":8154,"title":{},"content":{"1454":{"position":[[2386,34]]},"1455":{"position":[[1030,34]]}},"keywords":{}}],["supports_shlib_interfac",{"_index":6928,"title":{},"content":{"1364":{"position":[[4385,26]]},"1384":{"position":[[4016,26]]}},"keywords":{}}],["supports_swift_cxx_interoperability_mod",{"_index":8507,"title":{},"content":{"1481":{"position":[[1264,41]]}},"keywords":{}}],["supports_swift_importing_obj_c_forward_declar",{"_index":8508,"title":{},"content":{"1481":{"position":[[1316,52]]}},"keywords":{}}],["suppos",{"_index":3036,"title":{},"content":{"622":{"position":[[1224,7]]},"937":{"position":[[1788,7],[2077,7]]},"938":{"position":[[368,7]]},"940":{"position":[[975,7]]},"943":{"position":[[341,7],[1541,7]]},"945":{"position":[[834,7]]},"947":{"position":[[757,7]]}},"keywords":{}}],["suppress",{"_index":6974,"title":{},"content":{"1367":{"position":[[13975,8]]}},"keywords":{}}],["sure",{"_index":1057,"title":{},"content":{"85":{"position":[[477,4]]},"217":{"position":[[477,4]]},"720":{"position":[[179,4]]},"889":{"position":[[1226,4]]},"912":{"position":[[62,4]]},"1172":{"position":[[664,4]]},"1351":{"position":[[5195,4]]},"1353":{"position":[[2736,4]]},"1407":{"position":[[2488,4]]},"1429":{"position":[[5370,4]]},"1440":{"position":[[5364,4]]},"1477":{"position":[[3030,4]]},"1478":{"position":[[3276,4]]}},"keywords":{}}],["surfac",{"_index":6809,"title":{},"content":{"1362":{"position":[[10523,7]]},"1382":{"position":[[7392,7]]},"1388":{"position":[[8261,7]]},"1416":{"position":[[2689,7]]},"1462":{"position":[[6309,7]]},"1467":{"position":[[7423,7]]}},"keywords":{}}],["surpris",{"_index":278,"title":{},"content":{"9":{"position":[[2187,10]]}},"keywords":{}}],["svg",{"_index":5441,"title":{},"content":{"1059":{"position":[[37,4]]}},"keywords":{}}],["swallow",{"_index":5770,"title":{"1239":{"position":[[19,11]]}},"content":{"1120":{"position":[[337,10]]}},"keywords":{}}],["swap",{"_index":3494,"title":{},"content":{"690":{"position":[[2373,4]]},"1071":{"position":[[1120,4]]}},"keywords":{}}],["swap"",{"_index":3475,"title":{},"content":{"690":{"position":[[1122,11]]}},"keywords":{}}],["swift",{"_index":631,"title":{},"content":{"22":{"position":[[123,6]]},"23":{"position":[[2146,5]]},"1362":{"position":[[13427,5]]},"1364":{"position":[[14127,5]]},"1367":{"position":[[13335,5]]}},"keywords":{}}],["swift_compilation_mod",{"_index":6773,"title":{},"content":{"1362":{"position":[[4355,23]]},"1364":{"position":[[4422,23]]},"1367":{"position":[[5896,23]]}},"keywords":{}}],["swift_compiler_flag",{"_index":6774,"title":{},"content":{"1362":{"position":[[4388,21]]},"1364":{"position":[[4455,21]]},"1367":{"position":[[5929,21]]}},"keywords":{}}],["swift_ide_test_tool",{"_index":8509,"title":{},"content":{"1481":{"position":[[1379,20]]}},"keywords":{}}],["swift_librari",{"_index":8492,"title":{"1480":{"position":[[0,14]]}},"content":{"1480":{"position":[[4,14]]}},"keywords":{}}],["swift_package_nam",{"_index":6775,"title":{},"content":{"1362":{"position":[[4425,19]]},"1364":{"position":[[4492,19]]},"1367":{"position":[[5966,19]]}},"keywords":{}}],["swift_stdlib_tool",{"_index":8510,"title":{},"content":{"1481":{"position":[[1416,18]]}},"keywords":{}}],["swift_stdlib_tool_flag",{"_index":8511,"title":{},"content":{"1481":{"position":[[1440,24]]}},"keywords":{}}],["swift_toolchain",{"_index":7005,"title":{"1481":{"position":[[0,16]]}},"content":{"1368":{"position":[[1217,16]]},"1481":{"position":[[4,16]]}},"keywords":{}}],["swift_vers",{"_index":6776,"title":{},"content":{"1362":{"position":[[4461,14]]},"1364":{"position":[[4528,14]]},"1367":{"position":[[6002,14]]}},"keywords":{}}],["swiftc",{"_index":8512,"title":{},"content":{"1481":{"position":[[1480,7]]}},"keywords":{}}],["swiftc_flag",{"_index":8513,"title":{},"content":{"1481":{"position":[[1493,13]]}},"keywords":{}}],["switch",{"_index":192,"title":{},"content":{"9":{"position":[[450,9]]},"916":{"position":[[125,6]]},"995":{"position":[[833,9]]},"997":{"position":[[137,6]]},"1405":{"position":[[2711,6]]},"1407":{"position":[[3132,6]]},"1410":{"position":[[3234,6]]}},"keywords":{}}],["switch.buckl",{"_index":65,"title":{},"content":{"4":{"position":[[482,13]]}},"keywords":{}}],["symbol",{"_index":1329,"title":{},"content":{"122":{"position":[[31,6]]},"368":{"position":[[963,7],[2300,7]]},"421":{"position":[[97,8],[138,6],[299,7]]},"531":{"position":[[31,6]]},"693":{"position":[[5797,7],[5858,7]]},"747":{"position":[[963,7],[2300,7]]},"800":{"position":[[97,8],[138,6],[299,7]]},"911":{"position":[[181,8]]},"912":{"position":[[17,6],[112,6]]},"998":{"position":[[61,6],[125,6]]},"1001":{"position":[[198,6],[550,6],[1549,7]]},"1064":{"position":[[254,6],[648,6]]},"1154":{"position":[[33,7],[157,7]]},"1155":{"position":[[45,7],[198,6],[281,6]]},"1282":{"position":[[79,7]]},"1283":{"position":[[92,7]]},"1284":{"position":[[72,7]]},"1313":{"position":[[79,7]]},"1314":{"position":[[92,7]]},"1315":{"position":[[72,7]]},"1341":{"position":[[79,7]]},"1342":{"position":[[92,7]]},"1343":{"position":[[72,7]]},"1359":{"position":[[2258,8]]},"1367":{"position":[[13654,7],[13784,7],[14042,7]]},"1382":{"position":[[12003,7]]},"1416":{"position":[[2480,7]]},"1420":{"position":[[2162,7]]},"1471":{"position":[[4853,7]]},"1472":{"position":[[3804,7],[5437,7]]},"1473":{"position":[[5174,7]]}},"keywords":{}}],["symbol.fil",{"_index":2666,"title":{},"content":{"581":{"position":[[441,11]]}},"keywords":{}}],["symbol_pattern",{"_index":5955,"title":{},"content":{"1155":{"position":[[98,20],[130,20]]}},"keywords":{}}],["symbols,her",{"_index":4984,"title":{},"content":{"998":{"position":[[106,13]]}},"keywords":{}}],["symlink",{"_index":476,"title":{"911":{"position":[[0,9]]},"1038":{"position":[[24,9]]}},"content":{"16":{"position":[[22,9]]},"94":{"position":[[2352,8]]},"95":{"position":[[111,7],[268,7]]},"96":{"position":[[167,9]]},"226":{"position":[[2352,8]]},"227":{"position":[[111,7],[268,7]]},"228":{"position":[[167,9]]},"680":{"position":[[1098,9],[1260,8]]},"911":{"position":[[35,9],[96,7],[296,7]]},"1038":{"position":[[32,7]]},"1050":{"position":[[1401,8],[1493,7]]},"1105":{"position":[[48,7]]},"1232":{"position":[[3228,7],[3399,9]]},"1407":{"position":[[4052,9]]}},"keywords":{}}],["symlink'",{"_index":5129,"title":{},"content":{"1038":{"position":[[71,9]]}},"keywords":{}}],["symlink^<symlink^>",{"_index":4466,"title":{},"content":{"911":{"position":[[261,24]]}},"keywords":{}}],["symlink_dir)skip",{"_index":4041,"title":{},"content":{"867":{"position":[[1893,20]]}},"keywords":{}}],["symlinked_dir",{"_index":974,"title":{},"content":{"69":{"position":[[505,18]]},"408":{"position":[[1052,18]]},"457":{"position":[[505,18]]},"787":{"position":[[1052,18]]}},"keywords":{}}],["symlinks—eith",{"_index":3408,"title":{},"content":{"680":{"position":[[1169,15]]}},"keywords":{}}],["sync",{"_index":5312,"title":{},"content":{"1050":{"position":[[4422,4]]}},"keywords":{}}],["synchron",{"_index":3840,"title":{"837":{"position":[[12,13]]}},"content":{"837":{"position":[[23,14]]},"855":{"position":[[13,11]]},"1486":{"position":[[5252,13]]}},"keywords":{}}],["syntact",{"_index":3795,"title":{},"content":{"717":{"position":[[105,13]]},"1045":{"position":[[316,13]]},"1105":{"position":[[292,9]]}},"keywords":{}}],["syntax",{"_index":2637,"title":{"934":{"position":[[19,6]]},"967":{"position":[[15,6]]}},"content":{"577":{"position":[[150,6]]},"578":{"position":[[83,6]]},"581":{"position":[[722,7]]},"582":{"position":[[463,7]]},"584":{"position":[[777,6]]},"927":{"position":[[0,6]]},"937":{"position":[[3041,6]]},"968":{"position":[[93,7]]},"970":{"position":[[12,6],[157,6]]},"1345":{"position":[[479,6],[756,6],[1056,6]]},"1360":{"position":[[3304,7]]},"1362":{"position":[[11393,7],[11823,7],[12202,7]]},"1364":{"position":[[8445,7],[12360,7],[12707,7]]},"1367":{"position":[[11763,7],[12110,7]]},"1373":{"position":[[6415,7],[6844,7],[7242,7]]},"1382":{"position":[[8262,7],[8612,7],[9164,7],[9563,7],[9918,7]]},"1383":{"position":[[2993,7],[5911,7]]},"1384":{"position":[[7539,7],[7953,7],[8631,7],[9117,7],[10001,6],[14607,7],[14957,7],[15509,7],[15908,7],[16263,7],[19337,7]]},"1385":{"position":[[4492,7],[4841,7],[5392,7],[5790,7],[6144,7]]},"1387":{"position":[[7865,7],[8214,7],[8765,7],[9163,7],[9517,7]]},"1397":{"position":[[3248,7]]},"1403":{"position":[[2719,7]]},"1415":{"position":[[4374,7],[4803,7],[5314,7]]},"1416":{"position":[[3230,7]]},"1420":{"position":[[2367,7]]},"1448":{"position":[[2313,7]]},"1449":{"position":[[2247,7]]},"1454":{"position":[[5939,7],[6352,7],[6905,7],[8075,7],[8387,7],[8707,7],[9350,7]]},"1455":{"position":[[2710,7]]},"1465":{"position":[[3417,7],[3826,7]]},"1467":{"position":[[9686,7]]},"1485":{"position":[[2876,7]]},"1487":{"position":[[1747,7]]}},"keywords":{}}],["syntax.som",{"_index":4384,"title":{},"content":{"900":{"position":[[1715,11]]}},"keywords":{}}],["syntaxbxl",{"_index":4128,"title":{},"content":{"881":{"position":[[15,9]]}},"keywords":{}}],["system",{"_index":73,"title":{},"content":{"4":{"position":[[608,6]]},"6":{"position":[[355,6]]},"7":{"position":[[0,6],[156,8]]},"11":{"position":[[49,8]]},"17":{"position":[[594,7],[891,7]]},"18":{"position":[[1066,7]]},"22":{"position":[[340,7],[412,8],[467,8],[732,6],[970,8]]},"23":{"position":[[2748,6],[2841,6]]},"418":{"position":[[1141,8]]},"572":{"position":[[103,7]]},"581":{"position":[[368,8],[502,6]]},"584":{"position":[[981,7]]},"693":{"position":[[3909,6],[7883,6]]},"706":{"position":[[402,6]]},"715":{"position":[[17,6],[154,7]]},"797":{"position":[[1141,8]]},"900":{"position":[[1496,6],[1941,6]]},"951":{"position":[[233,6]]},"1004":{"position":[[1043,6],[1197,6]]},"1052":{"position":[[1089,6]]},"1362":{"position":[[8081,6]]},"1364":{"position":[[8930,6]]},"1367":{"position":[[8169,6]]},"1381":{"position":[[1728,6]]},"1384":{"position":[[6088,6]]},"1393":{"position":[[6535,6]]},"1394":{"position":[[1712,6]]},"1395":{"position":[[2759,6]]},"1396":{"position":[[1612,6]]},"1397":{"position":[[1929,6],[2310,6]]},"1398":{"position":[[3737,6]]},"1455":{"position":[[2976,6]]},"1462":{"position":[[8512,8]]},"1467":{"position":[[9994,8]]}},"keywords":{}}],["system"",{"_index":2384,"title":{},"content":{"445":{"position":[[157,13]]},"824":{"position":[[157,13]]}},"keywords":{}}],["system.dl",{"_index":7138,"title":{},"content":{"1381":{"position":[[2709,13]]},"1456":{"position":[[1702,13]]}},"keywords":{}}],["system.loadlibrari",{"_index":6621,"title":{},"content":{"1358":{"position":[[2467,21]]}},"keywords":{}}],["system.slow",{"_index":210,"title":{},"content":{"9":{"position":[[880,11]]}},"keywords":{}}],["system_cxx_toolchain",{"_index":572,"title":{},"content":{"18":{"position":[[929,20],[1270,21]]}},"keywords":{}}],["system_python_bootstrap_toolchain",{"_index":573,"title":{},"content":{"18":{"position":[[954,34],[1353,34]]}},"keywords":{}}],["systems—includ",{"_index":6649,"title":{},"content":{"1360":{"position":[[2860,17]]},"1383":{"position":[[2445,17]]},"1403":{"position":[[2275,17]]}},"keywords":{}}],["t",{"_index":2633,"title":{},"content":{"576":{"position":[[268,2]]},"964":{"position":[[571,1],[681,3],[1010,1]]}},"keywords":{}}],["t126638795",{"_index":6285,"title":{},"content":{"1272":{"position":[[260,11]]},"1303":{"position":[[260,11]]},"1331":{"position":[[260,11]]}},"keywords":{}}],["tab",{"_index":2634,"title":{},"content":{"576":{"position":[[271,3]]},"675":{"position":[[768,3],[1117,3]]},"1172":{"position":[[93,3]]},"1178":{"position":[[67,3]]},"1180":{"position":[[59,3]]}},"keywords":{}}],["tabl",{"_index":3617,"title":{},"content":{"702":{"position":[[14,5]]},"894":{"position":[[19,5]]}},"keywords":{}}],["tabul",{"_index":5990,"title":{},"content":{"1172":{"position":[[1263,10],[1292,10]]},"1173":{"position":[[563,10],[592,10]]},"1178":{"position":[[765,10],[794,10]]},"1179":{"position":[[503,10],[532,10]]},"1180":{"position":[[833,10],[862,10]]}},"keywords":{}}],["tag",{"_index":1025,"title":{},"content":{"83":{"position":[[68,4]]},"89":{"position":[[636,3]]},"215":{"position":[[68,4]]},"221":{"position":[[636,3]]},"1031":{"position":[[70,3],[111,3],[217,3],[270,3],[382,4],[499,7],[723,6],[796,3]]},"1033":{"position":[[120,6],[296,7]]},"1387":{"position":[[6552,4]]},"1405":{"position":[[1048,5],[3849,4]]},"1407":{"position":[[1075,5],[4468,4]]},"1410":{"position":[[1466,5],[5248,5],[5260,4]]},"1439":{"position":[[6754,4]]},"1461":{"position":[[2569,4],[2685,4]]},"1462":{"position":[[6056,4]]},"1465":{"position":[[3028,4]]},"1467":{"position":[[7168,4]]},"1468":{"position":[[1446,4]]}},"keywords":{}}],["tag_artifact",{"_index":5106,"title":{},"content":{"1031":{"position":[[351,15]]}},"keywords":{}}],["tagged_command_lin",{"_index":1167,"title":{},"content":{"94":{"position":[[148,19],[455,19]]},"98":{"position":[[190,19]]},"99":{"position":[[231,19]]},"226":{"position":[[148,19],[455,19]]},"230":{"position":[[190,19]]},"231":{"position":[[231,19]]},"345":{"position":[[225,19]]},"368":{"position":[[244,19],[3208,19]]},"377":{"position":[[153,19]]},"386":{"position":[[139,19]]},"405":{"position":[[141,19],[389,19]]},"417":{"position":[[169,19]]},"747":{"position":[[244,19],[3208,19]]},"756":{"position":[[153,19]]},"765":{"position":[[139,19]]},"784":{"position":[[141,19],[389,19]]},"796":{"position":[[169,19]]}},"keywords":{}}],["tagged_dep_fil",{"_index":5110,"title":{},"content":{"1031":{"position":[[627,15],[961,16]]}},"keywords":{}}],["tagged_head",{"_index":5107,"title":{},"content":{"1031":{"position":[[507,14],[911,15]]}},"keywords":{}}],["tagged_valu",{"_index":1267,"title":{},"content":{"99":{"position":[[253,12]]},"231":{"position":[[253,12]]}},"keywords":{}}],["tailer",{"_index":8085,"title":{},"content":{"1443":{"position":[[1816,9],[1840,9]]},"1462":{"position":[[8987,9],[9011,9]]}},"keywords":{}}],["tailer.pi",{"_index":8341,"title":{},"content":{"1462":{"position":[[9108,10]]}},"keywords":{}}],["tailerutil",{"_index":8086,"title":{},"content":{"1443":{"position":[[1859,15],[1900,14]]},"1462":{"position":[[9030,15],[9074,14]]}},"keywords":{}}],["take",{"_index":205,"title":{},"content":{"9":{"position":[[733,5]]},"10":{"position":[[499,5]]},"17":{"position":[[167,4]]},"92":{"position":[[2206,5]]},"94":{"position":[[3560,4],[3689,4]]},"125":{"position":[[72,5]]},"126":{"position":[[132,5],[390,5]]},"127":{"position":[[73,5]]},"131":{"position":[[232,5]]},"132":{"position":[[131,5]]},"133":{"position":[[117,5]]},"134":{"position":[[121,5]]},"135":{"position":[[72,5]]},"136":{"position":[[74,5]]},"137":{"position":[[96,5]]},"140":{"position":[[98,5]]},"145":{"position":[[108,5]]},"147":{"position":[[91,5]]},"148":{"position":[[126,5]]},"150":{"position":[[89,5]]},"224":{"position":[[2206,5]]},"226":{"position":[[3560,4],[3689,4]]},"242":{"position":[[187,5]]},"243":{"position":[[478,5]]},"248":{"position":[[72,5]]},"249":{"position":[[132,5],[390,5]]},"250":{"position":[[73,5]]},"254":{"position":[[232,5]]},"255":{"position":[[131,5]]},"256":{"position":[[117,5]]},"257":{"position":[[121,5]]},"258":{"position":[[72,5]]},"259":{"position":[[74,5]]},"260":{"position":[[96,5]]},"263":{"position":[[98,5]]},"268":{"position":[[108,5]]},"270":{"position":[[91,5]]},"271":{"position":[[126,5]]},"273":{"position":[[89,5]]},"295":{"position":[[171,5]]},"302":{"position":[[171,5]]},"304":{"position":[[100,6]]},"309":{"position":[[726,5]]},"315":{"position":[[107,6],[153,5]]},"318":{"position":[[219,5]]},"416":{"position":[[172,5]]},"417":{"position":[[401,5]]},"422":{"position":[[180,5]]},"513":{"position":[[183,5]]},"514":{"position":[[175,5]]},"627":{"position":[[46,4]]},"680":{"position":[[1060,4]]},"683":{"position":[[29,4],[152,6],[276,4]]},"687":{"position":[[137,6]]},"693":{"position":[[310,5],[431,5],[1510,5],[2668,5]]},"697":{"position":[[0,4]]},"711":{"position":[[968,5]]},"718":{"position":[[262,4]]},"724":{"position":[[25,5]]},"795":{"position":[[172,5]]},"796":{"position":[[401,5]]},"801":{"position":[[180,5]]},"840":{"position":[[1170,5]]},"846":{"position":[[649,5]]},"864":{"position":[[66,5],[1464,5]]},"878":{"position":[[1056,4]]},"889":{"position":[[663,5]]},"904":{"position":[[326,4]]},"921":{"position":[[36,4]]},"924":{"position":[[1313,4]]},"940":{"position":[[411,5]]},"945":{"position":[[304,4]]},"955":{"position":[[257,4],[1293,4],[1392,4]]},"1004":{"position":[[429,5],[741,5]]},"1005":{"position":[[55,5]]},"1032":{"position":[[308,4]]},"1044":{"position":[[374,5],[613,5],[2222,4]]},"1058":{"position":[[664,5]]},"1082":{"position":[[267,5]]},"1102":{"position":[[283,5]]},"1103":{"position":[[956,5],[1505,5]]},"1105":{"position":[[884,4]]},"1123":{"position":[[119,4]]},"1253":{"position":[[318,5]]},"1346":{"position":[[187,4]]},"1353":{"position":[[2704,5]]},"1356":{"position":[[684,5]]},"1358":{"position":[[949,5]]},"1360":{"position":[[5705,4]]},"1363":{"position":[[2841,5]]},"1365":{"position":[[813,5]]},"1370":{"position":[[633,5],[2816,5]]},"1382":{"position":[[4507,5]]},"1383":{"position":[[8210,4]]},"1386":{"position":[[5377,4]]},"1388":{"position":[[5201,5]]},"1393":{"position":[[1201,5]]},"1394":{"position":[[650,5]]},"1399":{"position":[[562,5]]},"1403":{"position":[[7310,4]]},"1439":{"position":[[4789,5]]},"1442":{"position":[[1497,5]]},"1459":{"position":[[1854,4]]},"1462":{"position":[[7616,4]]},"1487":{"position":[[2257,5]]}},"keywords":{}}],["taken",{"_index":3425,"title":{},"content":{"683":{"position":[[112,5]]},"888":{"position":[[467,6]]}},"keywords":{}}],["talk",{"_index":113,"title":{},"content":{"6":{"position":[[35,5],[127,4],[235,5]]}},"keywords":{}}],["tar",{"_index":7903,"title":{},"content":{"1422":{"position":[[3453,4]]}},"keywords":{}}],["tar.gz,tar.bz2",{"_index":7904,"title":{},"content":{"1422":{"position":[[3458,15]]}},"keywords":{}}],["tar.xz",{"_index":7905,"title":{},"content":{"1422":{"position":[[3474,7]]}},"keywords":{}}],["tar.zst",{"_index":7906,"title":{},"content":{"1422":{"position":[[3486,8]]}},"keywords":{}}],["tarbal",{"_index":7891,"title":{},"content":{"1422":{"position":[[2780,7]]}},"keywords":{}}],["target",{"_index":363,"title":{"674":{"position":[[6,6]]},"698":{"position":[[0,6]]},"699":{"position":[[6,6]]},"700":{"position":[[0,6]]},"709":{"position":[[18,7]]},"710":{"position":[[10,8]]},"719":{"position":[[23,6]]},"721":{"position":[[21,6]]},"835":{"position":[[56,9]]},"856":{"position":[[70,6]]},"903":{"position":[[0,6]]},"904":{"position":[[15,6]]},"905":{"position":[[11,6]]},"906":{"position":[[14,6]]},"908":{"position":[[14,6]]},"912":{"position":[[0,6]]},"922":{"position":[[39,7]]},"941":{"position":[[0,6]]},"945":{"position":[[7,6]]},"962":{"position":[[10,6]]},"1007":{"position":[[4,6]]},"1014":{"position":[[0,6]]},"1019":{"position":[[0,6]]},"1021":{"position":[[13,6]]},"1041":{"position":[[10,7]]},"1043":{"position":[[5,7]]},"1129":{"position":[[22,7]]},"1130":{"position":[[31,6]]},"1131":{"position":[[52,7]]},"1133":{"position":[[37,8]]},"1134":{"position":[[46,6]]},"1225":{"position":[[0,7]]},"1226":{"position":[[5,8]]},"1245":{"position":[[12,6]]},"1260":{"position":[[15,6],[38,6]]},"1261":{"position":[[15,6],[38,6]]},"1262":{"position":[[40,8],[49,6]]},"1263":{"position":[[41,8],[50,6]]},"1264":{"position":[[45,8],[54,6]]},"1265":{"position":[[19,6]]},"1267":{"position":[[24,6]]},"1268":{"position":[[14,6]]},"1269":{"position":[[27,6]]},"1270":{"position":[[16,6]]},"1271":{"position":[[20,8],[29,6]]},"1272":{"position":[[21,8],[30,6]]},"1275":{"position":[[16,6],[35,8],[44,6]]},"1276":{"position":[[17,6]]},"1286":{"position":[[21,6]]},"1287":{"position":[[21,6]]},"1291":{"position":[[15,6],[38,6]]},"1292":{"position":[[15,6],[38,6]]},"1293":{"position":[[40,8],[49,6]]},"1294":{"position":[[41,8],[50,6]]},"1295":{"position":[[45,8],[54,6]]},"1296":{"position":[[19,6]]},"1298":{"position":[[24,6]]},"1299":{"position":[[14,6]]},"1300":{"position":[[27,6]]},"1301":{"position":[[16,6]]},"1302":{"position":[[20,8],[29,6]]},"1303":{"position":[[21,8],[30,6]]},"1306":{"position":[[16,6],[35,8],[44,6]]},"1307":{"position":[[17,6]]},"1319":{"position":[[15,6],[38,6]]},"1320":{"position":[[15,6],[38,6]]},"1321":{"position":[[40,8],[49,6]]},"1322":{"position":[[41,8],[50,6]]},"1323":{"position":[[45,8],[54,6]]},"1324":{"position":[[19,6]]},"1326":{"position":[[24,6]]},"1327":{"position":[[14,6]]},"1328":{"position":[[27,6]]},"1329":{"position":[[16,6]]},"1330":{"position":[[20,8],[29,6]]},"1331":{"position":[[21,8],[30,6]]},"1334":{"position":[[16,6],[35,8],[44,6]]},"1335":{"position":[[17,6]]}},"content":{"11":{"position":[[301,6]]},"17":{"position":[[254,8],[1133,7],[1178,7]]},"18":{"position":[[893,8],[1718,7],[1772,7],[2222,7]]},"22":{"position":[[893,6],[1100,7],[1166,8],[1221,8],[1244,7],[2104,8],[2140,7]]},"23":{"position":[[1884,7],[2413,6]]},"36":{"position":[[178,7]]},"62":{"position":[[97,6]]},"72":{"position":[[57,6]]},"73":{"position":[[62,7]]},"81":{"position":[[116,6],[259,7],[357,7]]},"82":{"position":[[198,8]]},"89":{"position":[[598,8],[849,6]]},"94":{"position":[[2870,6]]},"107":{"position":[[55,6]]},"108":{"position":[[95,6],[126,6]]},"113":{"position":[[184,6]]},"126":{"position":[[497,8]]},"131":{"position":[[240,6],[316,6]]},"134":{"position":[[129,6]]},"136":{"position":[[82,6],[154,6]]},"145":{"position":[[280,6]]},"148":{"position":[[134,6]]},"158":{"position":[[89,6]]},"168":{"position":[[77,6]]},"181":{"position":[[178,7]]},"204":{"position":[[97,6]]},"205":{"position":[[113,6]]},"213":{"position":[[116,6],[259,7],[357,7]]},"214":{"position":[[198,8]]},"221":{"position":[[598,8],[849,6]]},"226":{"position":[[2870,6]]},"233":{"position":[[389,8]]},"236":{"position":[[35,8],[463,7],[508,6]]},"237":{"position":[[35,8],[475,7],[595,6]]},"238":{"position":[[57,8]]},"240":{"position":[[223,6]]},"243":{"position":[[393,6],[499,6],[547,6]]},"245":{"position":[[193,7]]},"246":{"position":[[192,7]]},"249":{"position":[[497,8]]},"254":{"position":[[240,6],[316,6]]},"257":{"position":[[129,6]]},"259":{"position":[[82,6],[154,6]]},"268":{"position":[[280,6]]},"271":{"position":[[134,6]]},"276":{"position":[[91,6]]},"278":{"position":[[99,6]]},"280":{"position":[[77,6],[98,6],[177,6],[212,6],[298,6]]},"281":{"position":[[125,6]]},"283":{"position":[[50,8]]},"284":{"position":[[50,8]]},"286":{"position":[[122,6],[234,7]]},"294":{"position":[[560,6],[641,6],[777,6],[857,6],[876,6],[979,7],[1008,6],[1072,6],[1271,6]]},"295":{"position":[[229,6],[295,6],[334,6],[370,6]]},"297":{"position":[[538,6],[809,7],[838,6],[1010,6]]},"298":{"position":[[1582,7],[1739,6],[1956,7],[2346,6]]},"301":{"position":[[394,6],[474,6],[555,6],[632,6],[651,6],[750,7],[779,6],[1028,6],[1217,6]]},"302":{"position":[[229,6],[295,6],[334,6],[370,6]]},"308":{"position":[[66,6],[87,6],[139,7]]},"309":{"position":[[488,6],[552,7],[581,6],[948,6]]},"310":{"position":[[400,7],[429,6]]},"311":{"position":[[234,6],[318,7],[360,6],[527,6]]},"320":{"position":[[281,6],[307,6],[371,6]]},"325":{"position":[[57,8]]},"326":{"position":[[67,8]]},"327":{"position":[[33,8],[334,6],[346,6]]},"329":{"position":[[283,6]]},"330":{"position":[[42,8],[338,7]]},"331":{"position":[[30,8]]},"332":{"position":[[40,8],[334,7]]},"333":{"position":[[58,8],[425,7]]},"334":{"position":[[390,7]]},"337":{"position":[[31,8],[353,8]]},"338":{"position":[[60,8],[382,8],[408,6]]},"340":{"position":[[31,8],[203,6],[241,7],[300,6],[330,6]]},"341":{"position":[[58,6],[104,6]]},"342":{"position":[[67,6],[92,6]]},"345":{"position":[[969,7]]},"363":{"position":[[302,6]]},"366":{"position":[[108,6],[209,7]]},"367":{"position":[[138,6],[237,7]]},"372":{"position":[[186,6]]},"374":{"position":[[1714,6]]},"389":{"position":[[426,6],[1243,7]]},"396":{"position":[[111,6],[169,6],[247,7]]},"400":{"position":[[538,8]]},"409":{"position":[[87,6],[173,7]]},"423":{"position":[[109,7],[166,7]]},"438":{"position":[[52,6],[173,6]]},"449":{"position":[[89,6],[177,7]]},"459":{"position":[[96,6]]},"460":{"position":[[103,6]]},"461":{"position":[[85,6]]},"462":{"position":[[52,8]]},"463":{"position":[[107,6]]},"466":{"position":[[57,8]]},"467":{"position":[[67,8]]},"468":{"position":[[33,8],[215,6],[227,6]]},"470":{"position":[[223,6]]},"471":{"position":[[42,8],[219,7]]},"472":{"position":[[30,8]]},"473":{"position":[[40,8],[215,7]]},"474":{"position":[[129,7]]},"476":{"position":[[402,7]]},"477":{"position":[[154,7],[231,7]]},"478":{"position":[[31,8],[234,8]]},"491":{"position":[[97,6]]},"495":{"position":[[57,6]]},"496":{"position":[[62,7]]},"510":{"position":[[326,6]]},"511":{"position":[[346,6]]},"519":{"position":[[55,6]]},"520":{"position":[[95,6],[126,6]]},"525":{"position":[[184,6]]},"542":{"position":[[89,6]]},"570":{"position":[[384,7],[467,7],[608,7],[630,7]]},"586":{"position":[[43,6]]},"675":{"position":[[74,7],[208,6],[345,7],[406,7],[1095,6],[1170,6]]},"676":{"position":[[55,8],[114,7],[240,6],[309,8],[421,6]]},"681":{"position":[[188,7]]},"683":{"position":[[228,6]]},"688":{"position":[[1131,6],[1234,7]]},"690":{"position":[[73,7],[204,6],[215,6],[421,6],[2925,6],[3278,6]]},"693":{"position":[[754,7],[1110,7],[1280,6],[1380,8],[1571,8],[2841,7],[3066,6],[3156,6],[3291,9],[3364,6],[3405,6],[3437,6],[3618,8],[3636,6],[3737,6],[4250,8],[4261,6],[4295,6],[4388,6],[7421,7],[7547,6],[8353,7],[8403,7],[8542,6],[8596,8],[8605,6],[8640,7],[8789,6],[8891,6],[8939,7],[8969,6],[9020,8],[9195,6],[9211,6],[9363,6],[9418,6],[9455,7],[9585,7],[9614,6],[9678,6],[9711,6],[9785,6],[9959,6],[9979,6],[10157,7],[10266,6],[10293,6]]},"695":{"position":[[804,7]]},"699":{"position":[[6,6],[180,8]]},"700":{"position":[[54,8],[113,7]]},"705":{"position":[[1093,7]]},"708":{"position":[[1044,6]]},"710":{"position":[[10,7],[50,7],[171,7],[323,6]]},"711":{"position":[[144,8],[268,7],[428,8]]},"712":{"position":[[1100,7],[1121,6],[1433,8],[2013,6],[2159,6]]},"715":{"position":[[300,8],[335,6],[562,6],[600,7],[788,9],[932,6],[1028,7],[1117,6],[1354,6],[1381,6]]},"717":{"position":[[457,8],[533,6],[698,7]]},"718":{"position":[[73,6],[343,6],[392,6],[473,6],[610,7],[655,6],[689,6]]},"719":{"position":[[32,6],[122,6]]},"720":{"position":[[30,6],[188,6],[247,6],[308,7],[421,6],[466,6],[507,6]]},"721":{"position":[[30,6]]},"724":{"position":[[71,8]]},"742":{"position":[[302,6]]},"745":{"position":[[108,6],[209,7]]},"746":{"position":[[138,6],[237,7]]},"751":{"position":[[186,6]]},"753":{"position":[[1714,6]]},"768":{"position":[[426,6],[1243,7]]},"775":{"position":[[111,6],[169,6],[247,7]]},"779":{"position":[[538,8]]},"788":{"position":[[87,6],[173,7]]},"802":{"position":[[109,7],[166,7]]},"817":{"position":[[52,6],[173,6]]},"828":{"position":[[89,6],[177,7]]},"835":{"position":[[156,7],[270,7]]},"837":{"position":[[329,8]]},"840":{"position":[[823,6]]},"844":{"position":[[14,7],[220,6],[230,6]]},"845":{"position":[[24,7],[141,8],[206,7]]},"846":{"position":[[851,6],[1371,6],[1447,6],[1656,6],[1901,7],[1976,7]]},"847":{"position":[[293,7]]},"850":{"position":[[653,6]]},"851":{"position":[[600,7],[693,6],[711,6],[849,6],[867,6],[911,6],[968,6],[1160,7],[1195,6],[1213,6],[1675,6]]},"856":{"position":[[241,6]]},"867":{"position":[[914,6],[1532,7],[1552,6]]},"869":{"position":[[661,8]]},"870":{"position":[[99,9],[1428,6]]},"872":{"position":[[55,6],[126,7],[197,7],[226,6],[560,6],[633,6],[716,7]]},"873":{"position":[[459,6],[504,6]]},"874":{"position":[[89,8],[185,8],[273,7]]},"877":{"position":[[179,7]]},"878":{"position":[[181,6],[829,6]]},"894":{"position":[[146,6],[368,6],[427,6]]},"904":{"position":[[21,6],[255,6],[443,6],[503,6],[882,6],[935,6],[1276,6],[1571,6]]},"905":{"position":[[51,7],[266,7],[285,6],[316,6],[392,6],[434,6],[518,6],[587,6],[625,6],[1113,6],[1273,6],[1362,7],[1427,6]]},"906":{"position":[[73,6],[419,6],[772,6],[818,6]]},"907":{"position":[[69,7],[141,8],[192,8],[407,6],[417,6]]},"908":{"position":[[46,6]]},"912":{"position":[[79,7]]},"916":{"position":[[77,6],[271,6],[385,6]]},"917":{"position":[[42,8]]},"919":{"position":[[43,7],[87,7],[99,7],[128,7],[235,6],[918,6],[1153,7],[1186,7],[1343,6],[1483,6],[1556,6],[1613,6],[1888,7],[1953,6],[2093,6],[2205,6],[2566,6],[2640,6],[2693,8],[2768,10],[2828,6],[2889,6]]},"920":{"position":[[70,6],[125,7],[308,6],[378,6]]},"921":{"position":[[54,6],[176,6],[227,7],[645,6],[691,7],[880,6],[991,7]]},"923":{"position":[[113,6]]},"924":{"position":[[356,6],[1237,6]]},"927":{"position":[[218,6],[274,6]]},"929":{"position":[[249,6]]},"935":{"position":[[44,6],[77,6]]},"937":{"position":[[2,6],[218,7],[508,6],[584,6],[1203,6],[1549,6],[1699,6],[1717,6],[1816,7],[1880,6],[1973,7],[2022,6],[2266,6],[2472,8],[2695,6],[2861,7],[3207,7],[3244,6],[3726,6],[4023,6],[4217,8],[4373,6],[4680,7],[4794,6],[4866,7]]},"938":{"position":[[122,7],[209,7],[595,6],[773,7],[902,6],[953,8],[1108,7]]},"939":{"position":[[16,6],[1771,7],[1853,7],[1875,7]]},"940":{"position":[[102,7],[206,6],[288,6],[620,7],[927,7],[946,6]]},"941":{"position":[[5,7],[271,6],[352,7]]},"942":{"position":[[518,6],[780,6],[1241,6],[1568,6]]},"943":{"position":[[149,7],[1175,6],[1462,6]]},"944":{"position":[[674,6],[945,6],[1157,6]]},"945":{"position":[[0,6],[19,6],[232,6],[326,6],[470,6],[571,6],[701,6],[871,6]]},"946":{"position":[[353,7],[390,7]]},"947":{"position":[[165,6],[250,7],[286,6],[311,6],[359,6],[507,6],[971,6],[1034,6],[1160,6]]},"950":{"position":[[26,7]]},"951":{"position":[[762,6],[881,8]]},"954":{"position":[[227,6]]},"955":{"position":[[40,6],[555,8]]},"958":{"position":[[55,7],[205,7]]},"962":{"position":[[192,8],[219,7],[251,7],[299,7],[351,6],[362,6],[372,8],[446,6],[488,6]]},"963":{"position":[[26,7],[79,6]]},"964":{"position":[[514,7],[576,8],[674,6],[969,7],[1015,8]]},"968":{"position":[[125,6]]},"969":{"position":[[48,7]]},"970":{"position":[[201,6]]},"980":{"position":[[356,6],[405,6]]},"988":{"position":[[460,6],[572,7],[640,6]]},"990":{"position":[[230,6],[402,7],[549,6],[567,6],[898,7],[1025,7],[1180,7]]},"991":{"position":[[1631,7],[3310,6]]},"993":{"position":[[139,6],[221,7]]},"994":{"position":[[197,6],[396,6],[477,6]]},"995":{"position":[[472,6],[674,7],[687,6],[890,6],[1013,6],[1136,6],[1363,7]]},"1005":{"position":[[370,6]]},"1007":{"position":[[56,6]]},"1009":{"position":[[368,6],[444,8]]},"1011":{"position":[[87,7],[516,6]]},"1013":{"position":[[104,6]]},"1014":{"position":[[18,7],[117,6],[186,7],[235,6],[254,6],[287,6],[342,6],[388,6],[556,7],[716,6]]},"1015":{"position":[[54,6],[174,6]]},"1016":{"position":[[141,6]]},"1017":{"position":[[50,7],[170,6]]},"1018":{"position":[[8,6],[124,7],[206,6]]},"1019":{"position":[[276,6],[355,6],[585,6],[652,6]]},"1021":{"position":[[44,6],[130,6],[187,8],[202,7],[274,7],[454,7]]},"1022":{"position":[[143,6]]},"1023":{"position":[[5,6],[73,6]]},"1024":{"position":[[274,6],[441,6],[498,6],[571,6],[621,6],[717,6],[769,6],[927,7],[1018,7],[1228,6],[1254,6]]},"1026":{"position":[[24,6],[187,6],[845,6],[976,6]]},"1029":{"position":[[78,6],[181,7]]},"1033":{"position":[[158,7],[196,6]]},"1038":{"position":[[81,6]]},"1044":{"position":[[291,7],[2088,7]]},"1045":{"position":[[227,7],[283,7],[336,7],[450,6]]},"1046":{"position":[[27,6],[220,6]]},"1047":{"position":[[258,6],[365,6]]},"1048":{"position":[[87,7]]},"1049":{"position":[[226,6]]},"1053":{"position":[[739,6],[1177,6]]},"1054":{"position":[[9,6],[1322,6],[1626,6]]},"1056":{"position":[[108,8]]},"1064":{"position":[[1849,7],[1900,6],[2011,6]]},"1067":{"position":[[28,9],[68,7],[163,7],[675,6]]},"1068":{"position":[[169,6]]},"1072":{"position":[[78,7],[196,7]]},"1102":{"position":[[688,7]]},"1103":{"position":[[13,6],[802,6]]},"1104":{"position":[[514,7],[582,7]]},"1112":{"position":[[160,7],[318,6],[784,7],[942,6],[1079,7],[1303,7],[1354,6],[1574,7],[1730,7],[1812,7],[1907,6],[2191,9],[2380,7],[2431,7],[3721,7],[3734,7]]},"1114":{"position":[[112,7],[769,7],[918,6]]},"1120":{"position":[[808,6]]},"1129":{"position":[[16,6],[51,7],[150,6],[204,6],[273,7]]},"1130":{"position":[[76,6],[151,7]]},"1131":{"position":[[391,7],[505,7]]},"1132":{"position":[[74,7]]},"1133":{"position":[[270,8],[313,7],[360,6],[375,6],[502,8],[737,7],[758,7],[795,7],[900,7]]},"1134":{"position":[[197,7],[305,8]]},"1136":{"position":[[502,6],[2276,7],[2440,6],[2472,6],[2520,6],[2553,7],[2632,7],[2692,7],[4773,6],[4844,7],[4880,7],[4894,9],[4961,8]]},"1138":{"position":[[20,7],[1261,6],[2172,7],[4752,8],[5096,7],[5107,6],[5191,7],[5202,6],[5323,7],[5539,6],[5575,6],[5639,7],[5673,6],[5728,7],[5787,6],[5868,8],[5893,8],[6026,6],[6134,6],[6182,6],[6215,7],[6294,7],[6354,7],[8435,6],[8506,7],[8542,7],[8556,9],[8623,8]]},"1140":{"position":[[1661,7],[4241,8],[4585,7],[4596,6],[4680,7],[4691,6],[4812,7],[5028,6],[5060,6],[5108,6],[5141,7],[5220,7],[5280,7],[7361,6],[7432,7],[7468,7],[7482,9],[7549,8]]},"1142":{"position":[[2805,6],[2876,7],[2912,7],[2926,9],[2993,8]]},"1146":{"position":[[8,6],[38,7],[185,7],[206,7],[412,6],[444,6],[492,6],[525,7],[604,7],[664,7],[2745,6],[2816,7],[2852,7],[2866,9],[2933,8]]},"1148":{"position":[[34,6],[62,6],[169,8],[242,6],[343,6],[391,6],[508,7],[556,7],[693,6],[913,6],[1009,6],[1041,6],[2632,7],[2889,6],[2925,6],[2989,7],[3023,6],[3078,7],[3137,6],[3218,8],[3243,8],[3376,6],[3484,6],[3532,6],[3565,7],[3644,7],[3704,7],[5785,6],[5856,7],[5892,7],[5906,9],[5973,8],[7104,6]]},"1155":{"position":[[2841,6],[2912,7],[2948,7],[2962,9],[3029,8]]},"1156":{"position":[[2419,6],[2490,7],[2526,7],[2540,9],[2607,8]]},"1167":{"position":[[72,11],[124,11],[136,6],[2665,7],[5245,8],[5589,7],[5600,6],[5684,7],[5695,6],[5816,7],[6032,6],[6064,6],[6112,6],[6145,7],[6224,7],[6284,7],[8365,6],[8436,7],[8472,7],[8486,9],[8553,8]]},"1169":{"position":[[2204,6],[2275,7],[2311,7],[2325,9],[2392,8]]},"1172":{"position":[[274,6]]},"1186":{"position":[[235,6],[1113,6],[1149,6],[1213,7],[1247,6],[1302,7],[1361,6],[1442,8],[1467,8],[1600,6],[1708,6],[1756,6],[1789,7],[1868,7],[1928,7],[4009,6],[4080,7],[4116,7],[4130,9],[4197,8]]},"1187":{"position":[[248,6],[1126,6],[1162,6],[1226,7],[1260,6],[1315,7],[1374,6],[1455,8],[1480,8],[1613,6],[1721,6],[1769,6],[1802,7],[1881,7],[1941,7],[4022,6],[4093,7],[4129,7],[4143,9],[4210,8]]},"1188":{"position":[[1714,7],[4294,8],[4638,7],[4649,6],[4733,7],[4744,6],[4865,7],[5852,6],[5888,6],[5952,7],[5986,6],[6041,7],[6100,6],[6181,8],[6206,8],[6339,6],[6447,6],[6495,6],[6528,7],[6607,7],[6667,7],[8748,6],[8819,7],[8855,7],[8869,9],[8936,8]]},"1190":{"position":[[637,6],[932,6],[1334,6]]},"1191":{"position":[[2609,6],[2680,7],[2716,7],[2730,9],[2797,8]]},"1192":{"position":[[340,6],[451,6],[483,6],[531,6],[564,7],[643,7],[703,7],[2784,6],[2855,7],[2891,7],[2905,9],[2972,8]]},"1193":{"position":[[2836,6],[2907,7],[2943,7],[2957,9],[3024,8]]},"1194":{"position":[[2476,6],[2547,7],[2583,7],[2597,9],[2664,8]]},"1195":{"position":[[2454,6],[2525,7],[2561,7],[2575,9],[2642,8]]},"1196":{"position":[[2264,6],[2335,7],[2371,7],[2385,9],[2452,8]]},"1197":{"position":[[31,6],[351,6],[387,6],[451,7],[485,6],[540,7],[599,6],[680,8],[705,8],[838,6],[946,6],[994,6],[1027,7],[1106,7],[1166,7],[3247,6],[3318,7],[3354,7],[3368,9],[3435,8]]},"1198":{"position":[[361,6],[397,6],[461,7],[495,6],[550,7],[609,6],[690,8],[715,8],[848,6],[956,6],[1004,6],[1037,7],[1116,7],[1176,7],[3257,6],[3328,7],[3364,7],[3378,9],[3445,8]]},"1199":{"position":[[196,7],[309,7],[389,6],[425,6],[489,7],[523,6],[578,7],[637,6],[718,8],[743,8],[876,6],[984,6],[1032,6],[1065,7],[1144,7],[1204,7],[3285,6],[3356,7],[3392,7],[3406,9],[3473,8]]},"1200":{"position":[[256,6],[292,6],[356,7],[390,6],[445,7],[504,6],[585,8],[610,8],[743,6],[851,6],[899,6],[932,7],[1011,7],[1071,7],[3152,6],[3223,7],[3259,7],[3273,9],[3340,8]]},"1201":{"position":[[89,6],[203,6],[2412,6],[2483,7],[2519,7],[2533,9],[2600,8]]},"1202":{"position":[[3554,6],[3625,7],[3661,7],[3675,9],[3742,8],[7951,6],[8022,7],[8058,7],[8072,9],[8139,8]]},"1203":{"position":[[162,6],[313,6],[345,6],[393,6],[426,7],[505,7],[565,7],[2646,6],[2717,7],[2753,7],[2767,9],[2834,8]]},"1204":{"position":[[2490,6],[2561,7],[2597,7],[2611,9],[2678,8]]},"1205":{"position":[[221,6],[1486,6],[1518,6],[1566,6],[1599,7],[1678,7],[1738,7],[3819,6],[3890,7],[3926,7],[3940,9],[4007,8]]},"1206":{"position":[[2290,6],[2361,7],[2397,7],[2411,9],[2478,8]]},"1207":{"position":[[2447,6],[2518,7],[2554,7],[2568,9],[2635,8]]},"1209":{"position":[[1509,7],[3795,6],[3866,7],[3902,7],[3916,9],[3983,8]]},"1217":{"position":[[27,7],[108,6],[257,6],[333,6],[1406,7],[3986,8],[4330,7],[4341,6],[4425,7],[4436,6],[4557,7],[4773,6],[4805,6],[4853,6],[4886,7],[4965,7],[5025,7],[7106,6],[7177,7],[7213,7],[7227,9],[7294,8]]},"1219":{"position":[[3092,6],[3163,7],[3199,7],[3213,9],[3280,8]]},"1222":{"position":[[2216,6],[2287,7],[2323,7],[2337,9],[2404,8]]},"1223":{"position":[[2226,6],[2297,7],[2333,7],[2347,9],[2414,8]]},"1224":{"position":[[2406,6],[2477,7],[2513,7],[2527,9],[2594,8]]},"1226":{"position":[[42,7],[157,7],[192,7],[322,6],[362,6],[402,6],[419,6],[451,6],[504,6],[521,6],[535,6],[611,6],[718,7],[754,6],[884,6],[999,6],[1088,6],[1125,6],[1176,6],[1382,6],[1494,6],[1540,6],[1953,6],[2033,6],[2105,6],[3220,6],[3261,6],[4078,7],[4133,6],[4277,8],[4537,6],[4719,7],[5241,6],[5273,6],[5321,6],[5354,7],[5433,7],[5493,7],[7574,6],[7645,7],[7681,7],[7695,9],[7762,8]]},"1228":{"position":[[29,7],[447,7],[516,7],[739,7],[2328,8],[2446,7],[3487,7],[6067,8],[6411,7],[6422,6],[6506,7],[6517,6],[6638,7],[6854,6],[6886,6],[6934,6],[6967,7],[7046,7],[7106,7],[9187,6],[9258,7],[9294,7],[9308,9],[9375,8]]},"1235":{"position":[[36,6],[66,6],[95,7],[163,6],[706,6],[801,6],[833,6],[2769,7],[5055,6],[5126,7],[5162,7],[5176,9],[5243,8]]},"1237":{"position":[[33,8],[92,8],[181,8],[327,7],[362,7],[492,6],[532,6],[572,6],[589,6],[621,6],[674,6],[691,6],[705,6],[781,6],[888,7],[924,6],[1054,6],[1169,6],[1258,6],[1295,6],[1346,6],[1552,6],[1664,6],[1710,6],[2123,6],[2203,6],[2275,6],[3390,6],[3431,6],[4248,7],[4303,6],[4447,8],[4707,6],[4889,7],[5411,6],[5443,6],[5491,6],[5524,7],[5603,7],[5663,7],[7744,6],[7815,7],[7851,7],[7865,9],[7932,8]]},"1240":{"position":[[37,7],[140,7],[225,6]]},"1245":{"position":[[79,6],[367,6]]},"1248":{"position":[[167,6]]},"1251":{"position":[[178,6],[404,6]]},"1253":{"position":[[186,7],[209,7],[243,6],[253,8],[282,7],[311,6],[446,6],[492,6],[559,6],[638,6]]},"1255":{"position":[[115,6],[291,6]]},"1258":{"position":[[111,6],[211,6],[376,6],[733,6],[788,6],[941,8]]},"1259":{"position":[[15,6],[38,6],[104,6],[127,6],[186,8],[195,6],[248,8],[286,6],[336,7],[454,8],[463,6],[527,8],[536,6],[574,6],[681,6],[714,6],[811,6],[889,6],[928,8],[937,6],[973,8],[1015,6],[1034,8],[1059,7],[1137,8],[1146,6],[1329,7],[1432,6],[1451,8],[1460,6],[1513,6]]},"1260":{"position":[[114,6],[323,6],[364,6],[658,6]]},"1262":{"position":[[33,8],[71,6],[121,7],[404,6],[469,6],[568,6],[752,7],[835,7]]},"1269":{"position":[[34,6]]},"1271":{"position":[[16,8],[58,6],[77,8],[102,7],[292,7]]},"1272":{"position":[[115,7],[167,7],[232,8]]},"1273":{"position":[[42,7],[120,6],[316,7],[509,8]]},"1277":{"position":[[163,8]]},"1278":{"position":[[95,6],[147,8]]},"1282":{"position":[[540,7]]},"1283":{"position":[[554,7]]},"1284":{"position":[[552,7]]},"1285":{"position":[[21,6],[116,7],[152,6],[235,7]]},"1286":{"position":[[75,7],[195,6]]},"1287":{"position":[[63,7],[108,6]]},"1289":{"position":[[111,6],[211,6],[376,6],[733,6],[788,6],[941,8]]},"1290":{"position":[[15,6],[38,6],[104,6],[127,6],[186,8],[195,6],[248,8],[286,6],[336,7],[454,8],[463,6],[527,8],[536,6],[574,6],[681,6],[714,6],[811,6],[889,6],[928,8],[937,6],[973,8],[1015,6],[1034,8],[1059,7],[1137,8],[1146,6],[1329,7],[1432,6],[1451,8],[1460,6],[1513,6]]},"1291":{"position":[[114,6],[323,6],[364,6],[658,6]]},"1293":{"position":[[33,8],[71,6],[121,7],[404,6],[469,6],[568,6],[752,7],[835,7]]},"1300":{"position":[[34,6]]},"1302":{"position":[[16,8],[58,6],[77,8],[102,7],[292,7]]},"1303":{"position":[[115,7],[167,7],[232,8]]},"1304":{"position":[[42,7],[120,6],[316,7],[509,8]]},"1308":{"position":[[163,8]]},"1309":{"position":[[95,6],[147,8]]},"1313":{"position":[[540,7]]},"1314":{"position":[[554,7]]},"1315":{"position":[[552,7]]},"1317":{"position":[[111,6],[211,6],[376,6],[733,6],[788,6],[941,8]]},"1318":{"position":[[15,6],[38,6],[104,6],[127,6],[186,8],[195,6],[248,8],[286,6],[336,7],[454,8],[463,6],[527,8],[536,6],[574,6],[681,6],[714,6],[811,6],[889,6],[928,8],[937,6],[973,8],[1015,6],[1034,8],[1059,7],[1137,8],[1146,6],[1329,7],[1432,6],[1451,8],[1460,6],[1513,6]]},"1319":{"position":[[114,6],[323,6],[364,6],[658,6]]},"1321":{"position":[[33,8],[71,6],[121,7],[404,6],[469,6],[568,6],[752,7],[835,7]]},"1328":{"position":[[34,6]]},"1330":{"position":[[16,8],[58,6],[77,8],[102,7],[292,7]]},"1331":{"position":[[115,7],[167,7],[232,8]]},"1332":{"position":[[42,7],[120,6],[316,7],[509,8]]},"1336":{"position":[[163,8]]},"1337":{"position":[[95,6],[147,8]]},"1341":{"position":[[540,7]]},"1342":{"position":[[554,7]]},"1343":{"position":[[552,7]]},"1348":{"position":[[2567,7],[2779,6],[2941,6],[3067,6],[3198,6],[3307,7],[3402,6],[3504,7]]},"1349":{"position":[[924,6],[1086,6],[1212,6],[1343,6],[1452,7],[1547,6],[1649,7]]},"1350":{"position":[[3895,6],[4057,6],[4183,6],[4314,6],[4423,7],[4518,6],[4620,7]]},"1351":{"position":[[1061,6],[1115,6],[1278,6],[1405,6],[1537,6],[1647,7],[1743,6],[1823,6],[1847,7],[4431,6],[5688,6]]},"1352":{"position":[[3894,6],[4056,6],[4182,6],[4313,6],[4422,7],[4517,6],[4619,7]]},"1353":{"position":[[1498,6],[1660,6],[1786,6],[1917,6],[2026,7],[2121,6],[2223,7]]},"1354":{"position":[[1336,6],[1498,6],[1624,6],[1755,6],[1864,7],[1959,6],[2061,7]]},"1355":{"position":[[2045,7],[2421,6],[2475,6],[2638,6],[2765,6],[2897,6],[3007,7],[3103,6],[3183,6],[3207,7],[4138,6],[4171,7],[4532,7],[5015,7],[5497,7],[7414,7]]},"1356":{"position":[[842,6],[1004,6],[1130,6],[1261,6],[1370,7],[1465,6],[1567,7],[1824,6],[3039,6]]},"1357":{"position":[[515,6],[677,6],[803,6],[934,6],[1043,7],[1138,6],[1240,7]]},"1358":{"position":[[1236,6],[1398,6],[1524,6],[1655,6],[1764,7],[1859,6],[1961,7],[2053,6]]},"1359":{"position":[[1073,6],[1235,6],[1361,6],[1492,6],[1601,7],[1696,6],[1798,7]]},"1360":{"position":[[1650,6],[1704,6],[1867,6],[1994,6],[2126,6],[2236,7],[2332,6],[2412,6],[2436,7],[6004,6]]},"1361":{"position":[[1063,6],[1225,6],[1351,6],[1482,6],[1591,7],[1686,6],[1788,7]]},"1362":{"position":[[5373,6],[5427,6],[5590,6],[5717,6],[5849,6],[5959,7],[6055,6],[6135,6],[6159,7],[6793,6],[6808,7],[8121,6],[8397,7],[8733,7],[8934,7],[10478,6],[13293,6]]},"1363":{"position":[[3119,6],[3173,6],[3336,6],[3463,6],[3595,6],[3705,7],[3801,6],[3881,6],[3905,7],[4341,8],[4424,7],[4491,6]]},"1364":{"position":[[5402,6],[5456,6],[5619,6],[5746,6],[5878,6],[5988,7],[6084,6],[6164,6],[6188,7],[7032,6],[7047,7],[8970,6],[9244,7],[9333,6],[9511,7],[9847,7],[10048,7],[11592,6],[13993,6]]},"1365":{"position":[[997,6],[1159,6],[1285,6],[1416,6],[1525,7],[1620,6],[1722,7]]},"1366":{"position":[[1149,6],[1203,6],[1366,6],[1493,6],[1625,6],[1735,7],[1831,6],[1911,6],[1935,7],[2539,7]]},"1367":{"position":[[6800,6],[6854,6],[7017,6],[7144,6],[7276,6],[7386,7],[7482,6],[7562,6],[7586,7],[8209,6],[8485,7],[8821,7],[9022,7],[11395,6],[13201,6],[13466,6],[13815,6],[13872,6]]},"1368":{"position":[[1553,6],[1715,6],[1841,6],[1972,6],[2081,7],[2176,6],[2278,7]]},"1369":{"position":[[605,6],[767,6],[893,6],[1024,6],[1133,7],[1228,6],[1330,7]]},"1370":{"position":[[641,6],[798,6],[852,6],[1015,6],[1142,6],[1274,6],[1384,7],[1480,6],[1560,6],[1584,7],[1644,6],[1726,6],[1818,6],[2124,6],[2648,6],[3081,6]]},"1371":{"position":[[481,6],[643,6],[769,6],[900,6],[1009,7],[1104,6],[1206,7]]},"1372":{"position":[[2119,6],[2281,6],[2407,6],[2538,6],[2647,7],[2742,6],[2844,7]]},"1373":{"position":[[2991,6],[3153,6],[3279,6],[3410,6],[3519,7],[3614,6],[3716,7],[4634,7],[7630,6],[7645,7]]},"1374":{"position":[[833,6],[887,6],[1050,6],[1177,6],[1309,6],[1419,7],[1515,6],[1595,6],[1619,7],[2068,6],[2216,7],[2807,6]]},"1375":{"position":[[517,6],[679,6],[805,6],[936,6],[1045,7],[1140,6],[1242,7]]},"1376":{"position":[[473,6],[635,6],[761,6],[892,6],[1001,7],[1096,6],[1198,7]]},"1377":{"position":[[712,6],[874,6],[1000,6],[1131,6],[1240,7],[1335,6],[1437,7]]},"1378":{"position":[[459,6],[621,6],[747,6],[878,6],[987,7],[1082,6],[1184,7]]},"1379":{"position":[[482,6],[644,6],[770,6],[901,6],[1010,7],[1105,6],[1207,7]]},"1380":{"position":[[953,6],[1115,6],[1241,6],[1372,6],[1481,7],[1576,6],[1678,7]]},"1381":{"position":[[859,6],[1021,6],[1147,6],[1278,6],[1387,7],[1482,6],[1584,7],[1717,7],[1787,7],[2102,8]]},"1382":{"position":[[3285,6],[3339,6],[3502,6],[3629,6],[3761,6],[3871,7],[3967,6],[4047,6],[4071,7],[4726,6],[5279,7],[5403,7],[5492,6],[5704,7],[6352,6],[7204,6],[7247,7],[8837,6],[10406,6],[10421,7],[10949,7]]},"1383":{"position":[[1523,6],[1577,6],[1740,6],[1867,6],[1999,6],[2109,7],[2205,6],[2285,6],[2309,7],[3600,7],[3944,7],[4232,7],[5076,7],[5169,7],[6875,6],[8793,6]]},"1384":{"position":[[4447,6],[4501,6],[4664,6],[4791,6],[4923,6],[5033,7],[5129,6],[5209,6],[5233,7],[6219,6],[6234,7],[8178,6],[8193,7],[9261,6],[9276,7],[10350,7],[10439,6],[10651,7],[11299,6],[11529,6],[12506,6],[13558,6],[15182,6],[16642,7],[16973,6],[16990,6],[17221,6],[17238,6],[17480,6],[17495,7],[18023,7],[19876,7],[19976,7],[20085,7],[20187,7],[20281,6],[20313,6],[20368,6],[20492,7],[20777,7],[20825,6],[20939,6],[21094,6],[21135,7]]},"1385":{"position":[[2178,6],[2340,6],[2466,6],[2597,6],[2706,7],[2801,6],[2903,7],[3317,7],[3406,6],[3617,7],[5066,6]]},"1386":{"position":[[816,6],[978,6],[1104,6],[1235,6],[1344,7],[1439,6],[1541,7]]},"1387":{"position":[[4447,6],[4609,6],[4735,6],[4866,6],[4975,7],[5070,6],[5172,7],[5650,7],[5739,6],[5950,7],[8439,6]]},"1388":{"position":[[3585,6],[3639,6],[3802,6],[3929,6],[4061,6],[4171,7],[4267,6],[4347,6],[4371,7],[5420,6],[5973,7],[6573,7],[7221,6],[8073,6],[8116,7],[8899,6],[8914,7],[9442,7]]},"1389":{"position":[[4500,6],[4662,6],[4788,6],[4919,6],[5028,7],[5123,6],[5225,7]]},"1390":{"position":[[752,6],[914,6],[1040,6],[1171,6],[1280,7],[1375,6],[1477,7]]},"1391":{"position":[[705,6],[867,6],[993,6],[1124,6],[1233,7],[1328,6],[1430,7]]},"1392":{"position":[[855,6],[1017,6],[1143,6],[1274,6],[1383,7],[1478,6],[1580,7]]},"1393":{"position":[[1373,6],[1427,6],[1590,6],[1717,6],[1849,6],[1959,7],[2055,6],[2135,6],[2159,7],[2629,7],[2781,6],[2982,6],[3370,6],[3582,6],[3802,6],[5130,7],[5228,6],[6949,7],[7117,8],[7158,6],[7274,7],[7416,8],[9057,8],[9142,7],[9426,6],[9779,6]]},"1394":{"position":[[875,6],[1037,6],[1163,6],[1294,6],[1403,7],[1498,6],[1600,7]]},"1395":{"position":[[688,6],[830,6],[884,6],[1047,6],[1174,6],[1306,6],[1416,7],[1512,6],[1592,6],[1616,7],[1898,8],[2844,7],[3465,6]]},"1396":{"position":[[500,6],[681,6],[843,6],[969,6],[1100,6],[1209,7],[1304,6],[1406,7]]},"1397":{"position":[[680,6],[862,6],[1024,6],[1150,6],[1281,6],[1390,7],[1485,6],[1587,7],[2504,8],[2517,7],[2554,6],[2695,6],[2919,6],[3346,6]]},"1398":{"position":[[1148,6],[1300,7],[1409,6],[1480,6],[1534,6],[1697,6],[1824,6],[1956,6],[2066,7],[2162,6],[2242,6],[2266,7],[2628,8],[2675,6],[2810,6],[2894,8],[3075,7],[3141,7],[3838,7],[3949,7],[4101,6],[4220,7],[4362,8],[4791,7],[4903,6],[4967,6],[5449,6],[5478,6],[5943,7],[6574,7]]},"1399":{"position":[[717,6],[879,6],[1005,6],[1136,6],[1245,7],[1340,6],[1442,7]]},"1400":{"position":[[586,6],[748,6],[874,6],[1005,6],[1114,7],[1209,6],[1311,7]]},"1401":{"position":[[661,6],[823,6],[949,6],[1080,6],[1189,7],[1284,6],[1386,7],[1702,6]]},"1402":{"position":[[817,6],[979,6],[1105,6],[1236,6],[1345,7],[1440,6],[1542,7],[1675,6]]},"1403":{"position":[[1353,6],[1407,6],[1570,6],[1697,6],[1829,6],[1939,7],[2035,6],[2115,6],[2139,7],[4755,6],[5175,7]]},"1404":{"position":[[650,6],[812,6],[938,6],[1069,6],[1178,7],[1273,6],[1375,7]]},"1405":{"position":[[1341,6],[1503,6],[1629,6],[1760,6],[1869,7],[1964,6],[2066,7],[3871,6]]},"1406":{"position":[[557,6],[719,6],[845,6],[976,6],[1085,7],[1180,6],[1282,7]]},"1407":{"position":[[1382,6],[1544,6],[1670,6],[1801,6],[1910,7],[2005,6],[2107,7],[4490,6]]},"1408":{"position":[[1078,6],[1240,6],[1366,6],[1497,6],[1606,7],[1701,6],[1803,7]]},"1409":{"position":[[612,6],[774,6],[900,6],[1031,6],[1140,7],[1235,6],[1337,7]]},"1410":{"position":[[1720,6],[1774,6],[1937,6],[2064,6],[2196,6],[2306,7],[2402,6],[2482,6],[2506,7],[3677,6],[5282,6]]},"1411":{"position":[[595,6],[757,6],[883,6],[1014,6],[1123,7],[1218,6],[1320,7]]},"1412":{"position":[[1388,7],[1741,6],[1795,6],[1958,6],[2085,6],[2217,6],[2327,7],[2423,6],[2503,6],[2527,7],[3581,7]]},"1413":{"position":[[1647,7],[1979,6],[2141,6],[2267,6],[2398,6],[2507,7],[2602,6],[2704,7]]},"1414":{"position":[[846,6],[1008,6],[1134,6],[1265,6],[1374,7],[1469,6],[1571,7]]},"1415":{"position":[[2724,6],[2828,6],[2990,6],[3116,6],[3247,6],[3356,7],[3451,6],[3553,7],[3655,7],[5607,7],[5690,8],[5918,7],[6001,8]]},"1416":{"position":[[1480,6],[1642,6],[1768,6],[1899,6],[2008,7],[2103,6],[2205,7],[2545,7]]},"1417":{"position":[[1069,6],[1231,6],[1357,6],[1488,6],[1597,7],[1692,6],[1794,7]]},"1418":{"position":[[770,6],[932,6],[1058,6],[1189,6],[1298,7],[1393,6],[1495,7]]},"1419":{"position":[[898,6],[1060,6],[1186,6],[1317,6],[1426,7],[1521,6],[1623,7]]},"1420":{"position":[[1162,6],[1324,6],[1450,6],[1581,6],[1690,7],[1785,6],[1887,7]]},"1421":{"position":[[1137,6],[1299,6],[1425,6],[1556,6],[1665,7],[1760,6],[1862,7],[2378,7]]},"1422":{"position":[[986,6],[1040,6],[1203,6],[1330,6],[1462,6],[1572,7],[1668,6],[1748,6],[1772,7],[1999,7],[2034,6],[2136,6],[2203,7],[3052,8],[3187,7]]},"1423":{"position":[[1029,6],[1191,6],[1317,6],[1448,6],[1557,7],[1652,6],[1754,7]]},"1424":{"position":[[1154,6],[1316,6],[1442,6],[1573,6],[1682,7],[1777,6],[1879,7]]},"1425":{"position":[[770,6],[932,6],[1058,6],[1189,6],[1298,7],[1393,6],[1495,7]]},"1426":{"position":[[1059,6],[1113,6],[1276,6],[1403,6],[1535,6],[1645,7],[1741,6],[1821,6],[1845,7]]},"1427":{"position":[[1605,7],[1956,6],[2010,6],[2173,6],[2300,6],[2432,6],[2542,7],[2638,6],[2718,6],[2742,7],[3283,6],[3316,7],[3677,7],[3873,6],[3927,6],[6903,7]]},"1428":{"position":[[752,6],[914,6],[1040,6],[1171,6],[1280,7],[1375,6],[1477,7]]},"1429":{"position":[[2165,7],[2620,6],[2674,6],[2837,6],[2964,6],[3096,6],[3206,7],[3302,6],[3382,6],[3406,7],[5716,7],[5733,6],[5781,6]]},"1430":{"position":[[1408,7],[1528,6],[1690,6],[1816,6],[1947,6],[2056,7],[2151,6],[2253,7]]},"1431":{"position":[[872,6],[1034,6],[1160,6],[1291,6],[1400,7],[1495,6],[1597,7]]},"1432":{"position":[[1393,6],[1555,6],[1681,6],[1812,6],[1921,7],[2016,6],[2118,7]]},"1433":{"position":[[914,6],[1076,6],[1202,6],[1333,6],[1442,7],[1537,6],[1639,7]]},"1434":{"position":[[588,6],[750,6],[876,6],[1007,6],[1116,7],[1211,6],[1313,7]]},"1435":{"position":[[552,6],[714,6],[840,6],[971,6],[1080,7],[1175,6],[1277,7]]},"1436":{"position":[[568,6],[730,6],[856,6],[987,6],[1096,7],[1191,6],[1293,7]]},"1437":{"position":[[638,6],[800,6],[926,6],[1057,6],[1166,7],[1261,6],[1363,7]]},"1438":{"position":[[718,6],[772,6],[935,6],[1062,6],[1194,6],[1304,7],[1400,6],[1480,6],[1504,7]]},"1439":{"position":[[1841,7],[2242,6],[2296,6],[2459,6],[2586,6],[2718,6],[2828,7],[2924,6],[3004,6],[3028,7],[3957,6],[3990,7],[4351,7]]},"1440":{"position":[[2319,7],[2808,6],[2862,6],[3025,6],[3152,6],[3284,6],[3394,7],[3490,6],[3570,6],[3594,7]]},"1441":{"position":[[594,6],[756,6],[882,6],[1013,6],[1122,7],[1217,6],[1319,7]]},"1442":{"position":[[613,6],[667,6],[830,6],[957,6],[1089,6],[1199,7],[1295,6],[1375,6],[1399,7],[1716,6],[2269,7]]},"1443":{"position":[[889,6],[1051,6],[1177,6],[1308,6],[1417,7],[1512,6],[1614,7]]},"1444":{"position":[[805,6],[967,6],[1093,6],[1224,6],[1333,7],[1428,6],[1530,7]]},"1445":{"position":[[494,6],[656,6],[782,6],[913,6],[1022,7],[1117,6],[1219,7]]},"1446":{"position":[[828,6],[990,6],[1116,6],[1247,6],[1356,7],[1451,6],[1553,7],[1612,7]]},"1447":{"position":[[710,6],[872,6],[998,6],[1129,6],[1238,7],[1333,6],[1435,7]]},"1448":{"position":[[1145,6],[1307,6],[1433,6],[1564,6],[1673,7],[1768,6],[1870,7]]},"1449":{"position":[[1079,6],[1241,6],[1367,6],[1498,6],[1607,7],[1702,6],[1804,7]]},"1450":{"position":[[958,6],[1120,6],[1246,6],[1377,6],[1486,7],[1581,6],[1683,7]]},"1451":{"position":[[958,6],[1120,6],[1246,6],[1377,6],[1486,7],[1581,6],[1683,7]]},"1452":{"position":[[504,6],[666,6],[792,6],[923,6],[1032,7],[1127,6],[1229,7]]},"1453":{"position":[[1090,6],[1252,6],[1378,6],[1509,6],[1618,7],[1713,6],[1815,7]]},"1454":{"position":[[3456,6],[3618,6],[3744,6],[3875,6],[3984,7],[4079,6],[4181,7],[4923,6],[4938,7],[6577,6],[6592,7],[7049,6],[7064,7],[7254,7],[7343,6],[8941,7]]},"1455":{"position":[[1343,6],[1505,6],[1631,6],[1762,6],[1871,7],[1966,6],[2068,7]]},"1456":{"position":[[688,6],[850,6],[976,6],[1107,6],[1216,7],[1311,6],[1413,7]]},"1457":{"position":[[747,6],[909,6],[1035,6],[1166,6],[1275,7],[1370,6],[1472,7]]},"1458":{"position":[[1282,6],[1444,6],[1570,6],[1701,6],[1810,7],[1905,6],[2007,7]]},"1459":{"position":[[761,6],[923,6],[1049,6],[1180,6],[1289,7],[1384,6],[1486,7]]},"1460":{"position":[[873,6],[1035,6],[1161,6],[1292,6],[1401,7],[1496,6],[1598,7]]},"1461":{"position":[[1034,6],[1088,6],[1251,6],[1378,6],[1510,6],[1620,7],[1716,6],[1796,6],[1820,7]]},"1462":{"position":[[4469,6],[4631,6],[4757,6],[4888,6],[4997,7],[5092,6],[5194,7],[6165,7],[7223,7],[7312,7],[8847,7]]},"1463":{"position":[[595,6],[757,6],[883,6],[1014,6],[1123,7],[1218,6],[1320,7]]},"1464":{"position":[[503,6],[665,6],[791,6],[922,6],[1031,7],[1126,6],[1228,7]]},"1465":{"position":[[1601,6],[1763,6],[1889,6],[2020,6],[2129,7],[2224,6],[2326,7],[4201,7]]},"1466":{"position":[[839,6],[1001,6],[1127,6],[1258,6],[1367,7],[1462,6],[1564,7]]},"1467":{"position":[[5104,6],[5158,6],[5321,6],[5448,6],[5580,6],[5690,7],[5786,6],[5866,6],[5890,7],[7278,7],[8192,7],[8281,7],[10618,7]]},"1468":{"position":[[603,6],[765,6],[891,6],[1022,6],[1131,7],[1226,6],[1328,7]]},"1469":{"position":[[922,6],[976,6],[1139,6],[1266,6],[1398,6],[1508,7],[1604,6],[1684,6],[1708,7]]},"1470":{"position":[[2841,7],[3505,6],[3667,6],[3793,6],[3924,6],[4033,7],[4128,6],[4230,7]]},"1471":{"position":[[1785,6],[1839,6],[2002,6],[2129,6],[2261,6],[2371,7],[2467,6],[2547,6],[2571,7]]},"1472":{"position":[[1744,6],[1798,6],[1961,6],[2088,6],[2220,6],[2330,7],[2426,6],[2506,6],[2530,7]]},"1473":{"position":[[2059,6],[2113,6],[2276,6],[2403,6],[2535,6],[2645,7],[2741,6],[2821,6],[2845,7]]},"1474":{"position":[[1384,7],[1504,6],[1666,6],[1792,6],[1923,6],[2032,7],[2127,6],[2229,7]]},"1475":{"position":[[1643,7],[1975,6],[2137,6],[2263,6],[2394,6],[2503,7],[2598,6],[2700,7]]},"1476":{"position":[[580,6],[742,6],[868,6],[999,6],[1108,7],[1203,6],[1305,7]]},"1477":{"position":[[678,6],[732,6],[895,6],[1022,6],[1154,6],[1264,7],[1360,6],[1440,6],[1464,7],[1862,7]]},"1478":{"position":[[1169,6],[1223,6],[1386,6],[1513,6],[1645,6],[1755,7],[1851,6],[1931,6],[1955,7],[2568,7],[3819,7]]},"1479":{"position":[[672,6],[834,6],[960,6],[1091,6],[1200,7],[1295,6],[1397,7]]},"1480":{"position":[[1085,6],[1247,6],[1373,6],[1504,6],[1613,7],[1708,6],[1810,7]]},"1481":{"position":[[1618,6],[1780,6],[1906,6],[2037,6],[2146,7],[2241,6],[2343,7]]},"1482":{"position":[[692,6],[854,6],[980,6],[1111,6],[1220,7],[1315,6],[1417,7],[1585,6]]},"1483":{"position":[[526,6],[688,6],[814,6],[945,6],[1054,7],[1149,6],[1251,7]]},"1484":{"position":[[598,6],[760,6],[886,6],[1017,6],[1126,7],[1221,6],[1323,7]]},"1485":{"position":[[858,6],[1020,6],[1146,6],[1277,6],[1386,7],[1481,6],[1583,7],[1685,7],[1774,6],[1985,7],[2632,6],[3101,6],[3271,6],[3286,7]]},"1486":{"position":[[1102,6],[1264,6],[1390,6],[1521,6],[1630,7],[1725,6],[1827,7],[2080,6]]},"1487":{"position":[[743,6],[797,6],[960,6],[1087,6],[1219,6],[1329,7],[1425,6],[1505,6],[1529,7],[2186,6]]}},"keywords":{}}],["target>",{"_index":4788,"title":{},"content":{"963":{"position":[[108,10]]}},"keywords":{}}],["target"",{"_index":6921,"title":{},"content":{"1363":{"position":[[7772,13]]}},"keywords":{}}],["target'",{"_index":3460,"title":{"989":{"position":[[8,8]]},"990":{"position":[[11,8]]}},"content":{"690":{"position":[[458,8]]},"693":{"position":[[1169,8],[4357,8],[8954,8]]},"855":{"position":[[202,8]]},"872":{"position":[[165,8]]},"921":{"position":[[1040,8]]},"937":{"position":[[547,8]]},"938":{"position":[[700,8],[1065,8]]},"945":{"position":[[492,8]]},"1042":{"position":[[634,8]]},"1044":{"position":[[195,8],[2520,8]]},"1136":{"position":[[379,8]]},"1190":{"position":[[176,8]]},"1192":{"position":[[13,8]]},"1226":{"position":[[1239,8],[1319,8]]},"1237":{"position":[[1409,8],[1489,8]]},"1348":{"position":[[4385,8]]},"1355":{"position":[[5674,8]]},"1362":{"position":[[7293,8],[9309,8],[11513,8]]},"1364":{"position":[[7532,8],[10423,8],[12480,8]]},"1367":{"position":[[9397,8],[11883,8],[13942,8]]},"1373":{"position":[[4981,8],[6535,8],[7366,8]]},"1382":{"position":[[6051,8],[8382,8],[9687,8]]},"1384":{"position":[[6563,8],[10998,8],[14727,8],[16032,8]]},"1385":{"position":[[3964,8],[4612,8],[5914,8]]},"1387":{"position":[[6297,8],[7985,8],[9287,8]]},"1388":{"position":[[6920,8]]},"1415":{"position":[[4494,8]]},"1454":{"position":[[5267,8]]},"1485":{"position":[[2332,8]]}},"keywords":{}}],["target(",{"_index":6010,"title":{},"content":{"1190":{"position":[[902,9]]},"1201":{"position":[[59,9]]}},"keywords":{}}],["target.attribut",{"_index":5651,"title":{},"content":{"1103":{"position":[[762,17]]}},"keywords":{}}],["target.compatible_with",{"_index":5095,"title":{},"content":{"1026":{"position":[[1310,23]]}},"keywords":{}}],["target.execution_dep",{"_index":5085,"title":{},"content":{"1026":{"position":[[408,24]]}},"keywords":{}}],["target.framework_v",{"_index":7128,"title":{},"content":{"1381":{"position":[[2028,21]]}},"keywords":{}}],["target.in",{"_index":3644,"title":{},"content":{"705":{"position":[[469,9]]}},"keywords":{}}],["target.packag",{"_index":6638,"title":{},"content":{"1359":{"position":[[2070,15]]}},"keywords":{}}],["target.remove_class",{"_index":6398,"title":{},"content":{"1348":{"position":[[4287,22]]}},"keywords":{}}],["target.robolectric_runtime_depend",{"_index":8409,"title":{},"content":{"1470":{"position":[[4613,38]]}},"keywords":{}}],["target.src",{"_index":7069,"title":{},"content":{"1373":{"position":[[8173,12]]},"1485":{"position":[[3814,12]]}},"keywords":{}}],["target.static_lib",{"_index":7880,"title":{},"content":{"1421":{"position":[[2293,19]]}},"keywords":{}}],["target.target_compatible_with",{"_index":5091,"title":{},"content":{"1026":{"position":[[1139,30]]}},"keywords":{}}],["target.y",{"_index":4293,"title":{},"content":{"895":{"position":[[114,10]]}},"keywords":{}}],["target/subtarget",{"_index":3935,"title":{"855":{"position":[[11,16]]}},"content":{},"keywords":{}}],["target[foo][bar",{"_index":5726,"title":{},"content":{"1112":{"position":[[2205,19]]}},"keywords":{}}],["target_arg",{"_index":6034,"title":{},"content":{"1217":{"position":[[214,16],[281,16]]}},"keywords":{}}],["target_compatible_with",{"_index":5062,"title":{},"content":{"1019":{"position":[[40,22],[114,22],[180,22]]},"1348":{"position":[[72,23]]},"1349":{"position":[[83,23]]},"1350":{"position":[[75,23]]},"1351":{"position":[[81,23],[1189,23]]},"1352":{"position":[[75,23]]},"1353":{"position":[[88,23]]},"1354":{"position":[[89,23]]},"1355":{"position":[[76,23],[2549,23]]},"1356":{"position":[[77,23]]},"1357":{"position":[[77,23]]},"1358":{"position":[[81,23]]},"1359":{"position":[[77,23]]},"1360":{"position":[[72,23],[1778,23]]},"1361":{"position":[[80,23]]},"1362":{"position":[[73,23],[5501,23]]},"1363":{"position":[[73,23],[3247,23]]},"1364":{"position":[[74,23],[5530,23]]},"1365":{"position":[[74,23]]},"1366":{"position":[[75,23],[1277,23]]},"1367":{"position":[[71,23],[6928,23]]},"1368":{"position":[[76,23]]},"1369":{"position":[[80,23]]},"1370":{"position":[[87,23],[926,23]]},"1371":{"position":[[78,23]]},"1372":{"position":[[75,23]]},"1373":{"position":[[72,23]]},"1374":{"position":[[74,23],[961,23]]},"1375":{"position":[[75,23]]},"1376":{"position":[[80,23]]},"1377":{"position":[[77,23]]},"1378":{"position":[[79,23]]},"1379":{"position":[[77,23]]},"1380":{"position":[[76,23]]},"1381":{"position":[[75,23]]},"1382":{"position":[[71,23],[3413,23]]},"1383":{"position":[[72,23],[1651,23]]},"1384":{"position":[[72,23],[4575,23]]},"1385":{"position":[[78,23]]},"1386":{"position":[[83,23]]},"1387":{"position":[[81,23]]},"1388":{"position":[[69,23],[3713,23]]},"1389":{"position":[[74,23]]},"1390":{"position":[[69,23]]},"1391":{"position":[[70,23]]},"1392":{"position":[[67,23]]},"1393":{"position":[[71,23],[1501,23]]},"1394":{"position":[[80,23]]},"1395":{"position":[[75,23],[958,23]]},"1396":{"position":[[80,23]]},"1397":{"position":[[75,23]]},"1398":{"position":[[72,23],[1608,23]]},"1399":{"position":[[72,23]]},"1400":{"position":[[81,23]]},"1401":{"position":[[70,23]]},"1402":{"position":[[69,23]]},"1403":{"position":[[68,23],[1481,23]]},"1404":{"position":[[70,23]]},"1405":{"position":[[70,23]]},"1406":{"position":[[80,23]]},"1407":{"position":[[80,23]]},"1408":{"position":[[71,23]]},"1409":{"position":[[70,23]]},"1410":{"position":[[68,23],[1848,23]]},"1411":{"position":[[75,23]]},"1412":{"position":[[75,23],[1869,23]]},"1413":{"position":[[72,23]]},"1414":{"position":[[71,23]]},"1415":{"position":[[75,23]]},"1416":{"position":[[75,23]]},"1417":{"position":[[73,23]]},"1418":{"position":[[76,23]]},"1419":{"position":[[72,23]]},"1420":{"position":[[76,23]]},"1421":{"position":[[85,23]]},"1422":{"position":[[73,23],[1114,23]]},"1423":{"position":[[70,23]]},"1424":{"position":[[72,23]]},"1425":{"position":[[86,23]]},"1426":{"position":[[72,23],[1187,23]]},"1427":{"position":[[73,23],[2084,23]]},"1428":{"position":[[72,23]]},"1429":{"position":[[70,23],[2748,23]]},"1430":{"position":[[77,23]]},"1431":{"position":[[70,23]]},"1432":{"position":[[78,23]]},"1433":{"position":[[71,23]]},"1434":{"position":[[73,23]]},"1435":{"position":[[78,23]]},"1436":{"position":[[74,23]]},"1437":{"position":[[71,23]]},"1438":{"position":[[69,23],[846,23]]},"1439":{"position":[[75,23],[2370,23]]},"1440":{"position":[[72,23],[2936,23]]},"1441":{"position":[[77,23]]},"1442":{"position":[[78,23],[741,23]]},"1443":{"position":[[71,23]]},"1444":{"position":[[72,23]]},"1445":{"position":[[75,23]]},"1446":{"position":[[72,23]]},"1447":{"position":[[74,23]]},"1448":{"position":[[73,23]]},"1449":{"position":[[74,23]]},"1450":{"position":[[73,23]]},"1451":{"position":[[73,23]]},"1452":{"position":[[69,23]]},"1453":{"position":[[85,23]]},"1454":{"position":[[81,23]]},"1455":{"position":[[87,23]]},"1456":{"position":[[84,23]]},"1457":{"position":[[80,23]]},"1458":{"position":[[73,23]]},"1459":{"position":[[84,23]]},"1460":{"position":[[83,23]]},"1461":{"position":[[84,23],[1162,23]]},"1462":{"position":[[74,23]]},"1463":{"position":[[84,23]]},"1464":{"position":[[85,23]]},"1465":{"position":[[75,23]]},"1466":{"position":[[88,23]]},"1467":{"position":[[72,23],[5232,23]]},"1468":{"position":[[79,23]]},"1469":{"position":[[72,23],[1050,23]]},"1470":{"position":[[77,23]]},"1471":{"position":[[72,23],[1913,23]]},"1472":{"position":[[73,23],[1872,23]]},"1473":{"position":[[70,23],[2187,23]]},"1474":{"position":[[74,23]]},"1475":{"position":[[71,23]]},"1476":{"position":[[77,23]]},"1477":{"position":[[70,23],[806,23]]},"1478":{"position":[[68,23],[1297,23]]},"1479":{"position":[[85,23]]},"1480":{"position":[[74,23]]},"1481":{"position":[[76,23]]},"1482":{"position":[[71,23]]},"1483":{"position":[[76,23]]},"1484":{"position":[[76,23]]},"1485":{"position":[[77,23]]},"1486":{"position":[[72,23]]},"1487":{"position":[[69,23],[871,23]]}},"keywords":{}}],["target_compatible_with(dep",{"_index":5086,"title":{},"content":{"1026":{"position":[[436,28],[1524,27]]}},"keywords":{}}],["target_compatible_with(target",{"_index":5090,"title":{},"content":{"1026":{"position":[[1084,30]]}},"keywords":{}}],["target_dep",{"_index":6257,"title":{"1278":{"position":[[0,14]]},"1309":{"position":[[0,14]]},"1337":{"position":[[0,14]]}},"content":{"1259":{"position":[[1635,14]]},"1290":{"position":[[1635,14]]},"1318":{"position":[[1635,14]]}},"keywords":{}}],["target_deps())"",{"_index":6292,"title":{},"content":{"1278":{"position":[[341,22]]},"1309":{"position":[[341,22]]},"1337":{"position":[[341,22]]}},"keywords":{}}],["target_expr",{"_index":2122,"title":{},"content":{"402":{"position":[[791,11]]},"404":{"position":[[328,11]]},"781":{"position":[[791,11]]},"783":{"position":[[328,11]]}},"keywords":{}}],["target_hint",{"_index":1764,"title":{},"content":{"320":{"position":[[64,12]]}},"keywords":{}}],["target_label",{"_index":920,"title":{"162":{"position":[[0,12]]},"544":{"position":[[0,12]]}},"content":{"62":{"position":[[47,12]]},"94":{"position":[[170,12],[477,12]]},"98":{"position":[[212,12]]},"99":{"position":[[268,12]]},"113":{"position":[[29,12]]},"158":{"position":[[39,12]]},"226":{"position":[[170,12],[477,12]]},"230":{"position":[[212,12]]},"231":{"position":[[268,12]]},"236":{"position":[[158,12],[366,13]]},"237":{"position":[[158,12],[366,13]]},"238":{"position":[[180,12],[388,13]]},"239":{"position":[[152,12],[360,14]]},"243":{"position":[[77,12]]},"294":{"position":[[148,12],[308,14],[353,12]]},"295":{"position":[[54,12]]},"297":{"position":[[145,12],[305,14],[350,12]]},"298":{"position":[[103,12],[189,13],[283,12],[369,13],[421,12],[503,12],[571,13]]},"301":{"position":[[132,12],[266,14],[314,12]]},"302":{"position":[[54,12]]},"309":{"position":[[129,12],[263,14],[308,12]]},"310":{"position":[[103,12],[189,13]]},"311":{"position":[[81,12],[149,13]]},"320":{"position":[[119,12],[187,13]]},"324":{"position":[[126,12],[260,14],[367,12],[501,13]]},"325":{"position":[[154,12],[288,13]]},"326":{"position":[[164,12],[298,13]]},"327":{"position":[[130,12],[264,13]]},"328":{"position":[[126,12],[260,14]]},"330":{"position":[[139,12],[273,13]]},"331":{"position":[[127,12],[261,13]]},"332":{"position":[[137,12],[271,13]]},"333":{"position":[[155,12],[289,13]]},"334":{"position":[[187,12],[321,13]]},"335":{"position":[[127,12],[261,14],[370,12],[504,14]]},"336":{"position":[[126,12],[260,14],[367,12],[501,13]]},"337":{"position":[[128,12],[262,13]]},"338":{"position":[[157,12],[291,13]]},"340":{"position":[[75,12],[143,13]]},"345":{"position":[[247,12]]},"366":{"position":[[36,13],[343,12]]},"367":{"position":[[67,12],[408,12]]},"368":{"position":[[266,12],[3230,12]]},"372":{"position":[[37,13],[284,12]]},"377":{"position":[[175,12]]},"386":{"position":[[161,12]]},"402":{"position":[[827,12]]},"404":{"position":[[364,12]]},"405":{"position":[[163,12],[411,12]]},"417":{"position":[[191,12]]},"461":{"position":[[34,12]]},"465":{"position":[[73,12],[141,14],[195,12],[263,13]]},"466":{"position":[[101,12],[169,13]]},"467":{"position":[[111,12],[179,13]]},"468":{"position":[[77,12],[145,13]]},"469":{"position":[[73,12],[141,14]]},"471":{"position":[[86,12],[154,13]]},"472":{"position":[[74,12],[142,13]]},"473":{"position":[[84,12],[152,13]]},"475":{"position":[[74,12],[142,14],[198,12],[266,14]]},"476":{"position":[[73,12],[141,14],[195,12],[263,13]]},"478":{"position":[[75,12],[143,13]]},"491":{"position":[[47,12]]},"525":{"position":[[29,12]]},"542":{"position":[[39,12]]},"745":{"position":[[36,13],[343,12]]},"746":{"position":[[67,12],[408,12]]},"747":{"position":[[266,12],[3230,12]]},"751":{"position":[[37,13],[284,12]]},"756":{"position":[[175,12]]},"765":{"position":[[161,12]]},"781":{"position":[[827,12]]},"783":{"position":[[364,12]]},"784":{"position":[[163,12],[411,12]]},"796":{"position":[[191,12]]}},"keywords":{}}],["target_label.cel",{"_index":1411,"title":{"163":{"position":[[0,18]]},"545":{"position":[[0,18]]}},"content":{"163":{"position":[[0,18]]},"545":{"position":[[0,18]]}},"keywords":{}}],["target_label.nam",{"_index":1412,"title":{"164":{"position":[[0,18]]},"546":{"position":[[0,18]]}},"content":{"164":{"position":[[0,18]]},"546":{"position":[[0,18]]}},"keywords":{}}],["target_label.packag",{"_index":1413,"title":{"165":{"position":[[0,21]]},"547":{"position":[[0,21]]}},"content":{"165":{"position":[[0,21]]},"547":{"position":[[0,21]]}},"keywords":{}}],["target_label.with_sub_target",{"_index":1414,"title":{"166":{"position":[[0,29]]},"548":{"position":[[0,29]]}},"content":{"166":{"position":[[4,29]]},"548":{"position":[[4,29]]}},"keywords":{}}],["target_nod",{"_index":1531,"title":{},"content":{"278":{"position":[[148,11]]},"301":{"position":[[1145,11],[1234,11]]},"459":{"position":[[168,11]]},"460":{"position":[[152,11]]},"461":{"position":[[134,11]]},"462":{"position":[[275,11]]},"463":{"position":[[211,11]]}},"keywords":{}}],["target_pattern",{"_index":5919,"title":{},"content":{"1138":{"position":[[65,20],[97,20]]},"1146":{"position":[[86,20],[118,20]]},"1186":{"position":[[107,20],[139,20]]},"1187":{"position":[[120,20],[152,20]]},"1192":{"position":[[287,20],[319,20]]},"1199":{"position":[[96,20],[128,20]]},"1200":{"position":[[126,20],[158,20]]},"1201":{"position":[[150,20],[182,20]]},"1226":{"position":[[60,20],[92,20]]},"1228":{"position":[[73,20],[140,20]]},"1237":{"position":[[230,20],[262,20]]}},"keywords":{}}],["target_platform",{"_index":1494,"title":{},"content":{"243":{"position":[[47,16],[607,15],[747,16]]},"294":{"position":[[323,16],[531,15],[798,15]]},"295":{"position":[[24,16],[199,16],[313,15]]},"297":{"position":[[320,16],[509,15]]},"298":{"position":[[391,16]]},"301":{"position":[[284,16],[445,15],[573,15]]},"302":{"position":[[24,16],[199,16],[313,15]]},"309":{"position":[[278,16],[747,15]]}},"keywords":{}}],["target_sdk_vers",{"_index":6777,"title":{},"content":{"1362":{"position":[[4492,19],[13233,19]]},"1364":{"position":[[4559,19],[13933,19]]},"1367":{"position":[[6033,19],[13141,19]]},"1372":{"position":[[1851,19]]},"1389":{"position":[[4256,19]]},"1480":{"position":[[895,19]]}},"keywords":{}}],["target_set",{"_index":1464,"title":{"858":{"position":[[30,11]]},"859":{"position":[[37,11]]}},"content":{"236":{"position":[[173,10],[186,10],[199,10],[212,10],[388,10]]},"237":{"position":[[173,10],[186,10],[199,10],[212,10],[388,10]]},"238":{"position":[[195,10],[208,10],[221,10],[234,10],[410,10]]},"239":{"position":[[167,10],[180,10],[193,10],[206,10],[435,10]]},"240":{"position":[[59,10],[149,10],[253,10],[328,11]]},"294":{"position":[[163,10],[176,10]]},"297":{"position":[[160,10],[173,10]]},"298":{"position":[[118,10],[298,10],[518,10]]},"301":{"position":[[147,10],[160,10],[373,10]]},"309":{"position":[[144,10],[157,10]]},"310":{"position":[[118,10]]},"311":{"position":[[96,10],[200,10]]},"320":{"position":[[134,10]]},"324":{"position":[[141,10],[154,10],[382,10],[395,10],[523,10]]},"325":{"position":[[169,10],[182,10],[310,10]]},"326":{"position":[[179,10],[192,10],[320,10]]},"327":{"position":[[145,10],[158,10]]},"328":{"position":[[141,10],[154,10],[335,10]]},"329":{"position":[[59,10],[209,10],[313,10],[388,11]]},"330":{"position":[[154,10],[167,10],[295,10]]},"331":{"position":[[142,10],[155,10]]},"332":{"position":[[152,10],[165,10],[293,10]]},"333":{"position":[[170,10],[183,10],[311,10]]},"334":{"position":[[202,10],[215,10],[350,10]]},"335":{"position":[[142,10],[155,10],[385,10],[398,10],[542,10]]},"336":{"position":[[141,10],[154,10],[382,10],[395,10],[523,10]]},"337":{"position":[[143,10],[156,10],[284,10]]},"338":{"position":[[172,10],[185,10],[313,10]]},"340":{"position":[[90,10],[165,10]]},"341":{"position":[[42,10]]},"342":{"position":[[51,10]]},"409":{"position":[[65,10]]},"449":{"position":[[67,10]]},"465":{"position":[[88,10],[210,10],[285,10]]},"466":{"position":[[116,10],[191,10]]},"467":{"position":[[126,10],[201,10]]},"468":{"position":[[92,10]]},"469":{"position":[[88,10],[216,10]]},"470":{"position":[[59,10],[149,10],[253,10],[328,11]]},"471":{"position":[[101,10],[176,10]]},"472":{"position":[[89,10]]},"473":{"position":[[99,10],[174,10]]},"474":{"position":[[89,10]]},"475":{"position":[[89,10],[213,10],[304,10]]},"476":{"position":[[88,10],[210,10],[285,10]]},"477":{"position":[[104,10]]},"478":{"position":[[90,10],[165,10]]},"788":{"position":[[65,10]]},"828":{"position":[[67,10]]},"858":{"position":[[42,10],[83,10]]},"859":{"position":[[41,10]]}},"keywords":{}}],["target_univers",{"_index":1723,"title":{},"content":{"309":{"position":[[394,15]]},"329":{"position":[[90,16]]},"905":{"position":[[739,15]]},"906":{"position":[[208,15],[328,16],[478,15],[917,15]]},"907":{"position":[[205,15]]}},"keywords":{}}],["target_universe.lookup("//example:bar"",{"_index":4421,"title":{},"content":{"905":{"position":[[905,49]]},"906":{"position":[[1095,49]]}},"keywords":{}}],["target_universe.lookup("//example:foo"",{"_index":4420,"title":{},"content":{"905":{"position":[[843,49]]}},"keywords":{}}],["target_universe.target_set",{"_index":4431,"title":{},"content":{"906":{"position":[[552,28],[1054,28]]}},"keywords":{}}],["target_universeobject",{"_index":4417,"title":{},"content":{"905":{"position":[[188,22]]}},"keywords":{}}],["targetand",{"_index":3579,"title":{},"content":{"693":{"position":[[7194,9]]}},"keywords":{}}],["targetdefault_target_platform",{"_index":6382,"title":{},"content":{"1348":{"position":[[2726,30]]},"1349":{"position":[[871,30]]},"1350":{"position":[[3842,30]]},"1352":{"position":[[3841,30]]},"1353":{"position":[[1445,30]]},"1354":{"position":[[1283,30]]},"1356":{"position":[[789,30]]},"1357":{"position":[[462,30]]},"1358":{"position":[[1183,30]]},"1359":{"position":[[1020,30]]},"1361":{"position":[[1010,30]]},"1365":{"position":[[944,30]]},"1368":{"position":[[1500,30]]},"1369":{"position":[[552,30]]},"1371":{"position":[[428,30]]},"1372":{"position":[[2066,30]]},"1373":{"position":[[2938,30]]},"1375":{"position":[[464,30]]},"1376":{"position":[[420,30]]},"1377":{"position":[[659,30]]},"1378":{"position":[[406,30]]},"1379":{"position":[[429,30]]},"1380":{"position":[[900,30]]},"1381":{"position":[[806,30]]},"1385":{"position":[[2125,30]]},"1386":{"position":[[763,30]]},"1387":{"position":[[4394,30]]},"1389":{"position":[[4447,30]]},"1390":{"position":[[699,30]]},"1391":{"position":[[652,30]]},"1392":{"position":[[802,30]]},"1394":{"position":[[822,30]]},"1396":{"position":[[628,30]]},"1397":{"position":[[809,30]]},"1399":{"position":[[664,30]]},"1400":{"position":[[533,30]]},"1401":{"position":[[608,30]]},"1402":{"position":[[764,30]]},"1404":{"position":[[597,30]]},"1405":{"position":[[1288,30]]},"1406":{"position":[[504,30]]},"1407":{"position":[[1329,30]]},"1408":{"position":[[1025,30]]},"1409":{"position":[[559,30]]},"1411":{"position":[[542,30]]},"1413":{"position":[[1926,30]]},"1414":{"position":[[793,30]]},"1415":{"position":[[2775,30]]},"1416":{"position":[[1427,30]]},"1417":{"position":[[1016,30]]},"1418":{"position":[[717,30]]},"1419":{"position":[[845,30]]},"1420":{"position":[[1109,30]]},"1421":{"position":[[1084,30]]},"1423":{"position":[[976,30]]},"1424":{"position":[[1101,30]]},"1425":{"position":[[717,30]]},"1428":{"position":[[699,30]]},"1430":{"position":[[1475,30]]},"1431":{"position":[[819,30]]},"1432":{"position":[[1340,30]]},"1433":{"position":[[861,30]]},"1434":{"position":[[535,30]]},"1435":{"position":[[499,30]]},"1436":{"position":[[515,30]]},"1437":{"position":[[585,30]]},"1441":{"position":[[541,30]]},"1443":{"position":[[836,30]]},"1444":{"position":[[752,30]]},"1445":{"position":[[441,30]]},"1446":{"position":[[775,30]]},"1447":{"position":[[657,30]]},"1448":{"position":[[1092,30]]},"1449":{"position":[[1026,30]]},"1450":{"position":[[905,30]]},"1451":{"position":[[905,30]]},"1452":{"position":[[451,30]]},"1453":{"position":[[1037,30]]},"1454":{"position":[[3403,30]]},"1455":{"position":[[1290,30]]},"1456":{"position":[[635,30]]},"1457":{"position":[[694,30]]},"1458":{"position":[[1229,30]]},"1459":{"position":[[708,30]]},"1460":{"position":[[820,30]]},"1462":{"position":[[4416,30]]},"1463":{"position":[[542,30]]},"1464":{"position":[[450,30]]},"1465":{"position":[[1548,30]]},"1466":{"position":[[786,30]]},"1468":{"position":[[550,30]]},"1470":{"position":[[3452,30]]},"1474":{"position":[[1451,30]]},"1475":{"position":[[1922,30]]},"1476":{"position":[[527,30]]},"1479":{"position":[[619,30]]},"1480":{"position":[[1032,30]]},"1481":{"position":[[1565,30]]},"1482":{"position":[[639,30]]},"1483":{"position":[[473,30]]},"1484":{"position":[[545,30]]},"1485":{"position":[[805,30]]},"1486":{"position":[[1049,30]]}},"keywords":{}}],["targetexpr",{"_index":4531,"title":{},"content":{"924":{"position":[[683,10]]}},"keywords":{}}],["targetin",{"_index":4904,"title":{},"content":{"990":{"position":[[338,8]]}},"keywords":{}}],["targetit’",{"_index":4792,"title":{},"content":{"964":{"position":[[416,10]]}},"keywords":{}}],["targetlabel",{"_index":1415,"title":{"388":{"position":[[0,12]]},"767":{"position":[[0,12]]}},"content":{"166":{"position":[[106,11]]},"388":{"position":[[0,12]]},"548":{"position":[[106,11]]},"767":{"position":[[0,12]]}},"keywords":{}}],["targetlistexpr",{"_index":1669,"title":{},"content":{"301":{"position":[[687,17]]}},"keywords":{}}],["targetperform",{"_index":4068,"title":{},"content":{"872":{"position":[[84,13]]}},"keywords":{}}],["targets.artifact_promise(promis",{"_index":3711,"title":{},"content":{"711":{"position":[[509,33]]}},"keywords":{}}],["targets.compiler_flag",{"_index":7830,"title":{},"content":{"1415":{"position":[[3748,23]]}},"keywords":{}}],["targets.v2",{"_index":5705,"title":{},"content":{"1107":{"position":[[269,11]]}},"keywords":{}}],["targets/queri",{"_index":366,"title":{},"content":{"11":{"position":[[334,17]]}},"keywords":{}}],["targets/target",{"_index":4480,"title":{},"content":{"919":{"position":[[202,14]]}},"keywords":{}}],["targets_in_buildfile(fil",{"_index":6253,"title":{"1274":{"position":[[0,27]]},"1305":{"position":[[0,27]]},"1333":{"position":[[0,27]]}},"content":{"1259":{"position":[[1371,27]]},"1290":{"position":[[1371,27]]},"1318":{"position":[[1371,27]]}},"keywords":{}}],["targets_in_packag",{"_index":2458,"title":{},"content":{"477":{"position":[[402,20]]}},"keywords":{}}],["targetsdkversion="19"",{"_index":6588,"title":{},"content":{"1356":{"position":[[2436,31]]}},"keywords":{}}],["targetsfor",{"_index":4077,"title":{},"content":{"872":{"position":[[690,10]]}},"keywords":{}}],["targetspackag",{"_index":4133,"title":{},"content":{"882":{"position":[[84,14]]}},"keywords":{}}],["targetsth",{"_index":4073,"title":{},"content":{"872":{"position":[[332,10]]}},"keywords":{}}],["targets—in",{"_index":3412,"title":{},"content":{"681":{"position":[[274,10]]}},"keywords":{}}],["targettest",{"_index":6389,"title":{},"content":{"1348":{"position":[[3481,12]]},"1349":{"position":[[1626,12]]},"1350":{"position":[[4597,12]]},"1352":{"position":[[4596,12]]},"1353":{"position":[[2200,12]]},"1354":{"position":[[2038,12]]},"1356":{"position":[[1544,12]]},"1357":{"position":[[1217,12]]},"1358":{"position":[[1938,12]]},"1359":{"position":[[1775,12]]},"1361":{"position":[[1765,12]]},"1365":{"position":[[1699,12]]},"1368":{"position":[[2255,12]]},"1369":{"position":[[1307,12]]},"1371":{"position":[[1183,12]]},"1372":{"position":[[2821,12]]},"1373":{"position":[[3693,12]]},"1375":{"position":[[1219,12]]},"1376":{"position":[[1175,12]]},"1377":{"position":[[1414,12]]},"1378":{"position":[[1161,12]]},"1379":{"position":[[1184,12]]},"1380":{"position":[[1655,12]]},"1381":{"position":[[1561,12]]},"1385":{"position":[[2880,12]]},"1386":{"position":[[1518,12]]},"1387":{"position":[[5149,12]]},"1389":{"position":[[5202,12]]},"1390":{"position":[[1454,12]]},"1391":{"position":[[1407,12]]},"1392":{"position":[[1557,12]]},"1394":{"position":[[1577,12]]},"1396":{"position":[[1383,12]]},"1397":{"position":[[1564,12]]},"1399":{"position":[[1419,12]]},"1400":{"position":[[1288,12]]},"1401":{"position":[[1363,12]]},"1402":{"position":[[1519,12]]},"1404":{"position":[[1352,12]]},"1405":{"position":[[2043,12]]},"1406":{"position":[[1259,12]]},"1407":{"position":[[2084,12]]},"1408":{"position":[[1780,12]]},"1409":{"position":[[1314,12]]},"1411":{"position":[[1297,12]]},"1413":{"position":[[2681,12]]},"1414":{"position":[[1548,12]]},"1415":{"position":[[3530,12]]},"1416":{"position":[[2182,12]]},"1417":{"position":[[1771,12]]},"1418":{"position":[[1472,12]]},"1419":{"position":[[1600,12]]},"1420":{"position":[[1864,12]]},"1421":{"position":[[1839,12]]},"1423":{"position":[[1731,12]]},"1424":{"position":[[1856,12]]},"1425":{"position":[[1472,12]]},"1428":{"position":[[1454,12]]},"1430":{"position":[[2230,12]]},"1431":{"position":[[1574,12]]},"1432":{"position":[[2095,12]]},"1433":{"position":[[1616,12]]},"1434":{"position":[[1290,12]]},"1435":{"position":[[1254,12]]},"1436":{"position":[[1270,12]]},"1437":{"position":[[1340,12]]},"1441":{"position":[[1296,12]]},"1443":{"position":[[1591,12]]},"1444":{"position":[[1507,12]]},"1445":{"position":[[1196,12]]},"1446":{"position":[[1530,12]]},"1447":{"position":[[1412,12]]},"1448":{"position":[[1847,12]]},"1449":{"position":[[1781,12]]},"1450":{"position":[[1660,12]]},"1451":{"position":[[1660,12]]},"1452":{"position":[[1206,12]]},"1453":{"position":[[1792,12]]},"1454":{"position":[[4158,12]]},"1455":{"position":[[2045,12]]},"1456":{"position":[[1390,12]]},"1457":{"position":[[1449,12]]},"1458":{"position":[[1984,12]]},"1459":{"position":[[1463,12]]},"1460":{"position":[[1575,12]]},"1462":{"position":[[5171,12]]},"1463":{"position":[[1297,12]]},"1464":{"position":[[1205,12]]},"1465":{"position":[[2303,12]]},"1466":{"position":[[1541,12]]},"1468":{"position":[[1305,12]]},"1470":{"position":[[4207,12]]},"1474":{"position":[[2206,12]]},"1475":{"position":[[2677,12]]},"1476":{"position":[[1282,12]]},"1479":{"position":[[1374,12]]},"1480":{"position":[[1787,12]]},"1481":{"position":[[2320,12]]},"1482":{"position":[[1394,12]]},"1483":{"position":[[1228,12]]},"1484":{"position":[[1300,12]]},"1485":{"position":[[1560,12]]},"1486":{"position":[[1804,12]]}},"keywords":{}}],["targetunivers",{"_index":2116,"title":{},"content":{"402":{"position":[[356,14]]},"781":{"position":[[356,14]]}},"keywords":{}}],["targetweight",{"_index":1193,"title":{},"content":{"94":{"position":[[1483,13]]},"226":{"position":[[1483,13]]}},"keywords":{}}],["target’",{"_index":3798,"title":{},"content":{"722":{"position":[[240,8]]}},"keywords":{}}],["task",{"_index":5584,"title":{},"content":{"1086":{"position":[[86,5]]},"1429":{"position":[[4193,5]]},"1440":{"position":[[4186,5]]}},"keywords":{}}],["tax",{"_index":3685,"title":{},"content":{"706":{"position":[[2635,3]]}},"keywords":{}}],["td",{"_index":5576,"title":{},"content":{"1084":{"position":[[279,2]]},"1088":{"position":[[1280,2]]}},"keywords":{}}],["team",{"_index":70,"title":{},"content":{"4":{"position":[[564,4]]},"5":{"position":[[98,4]]},"9":{"position":[[265,4],[2570,4]]},"11":{"position":[[725,5]]},"580":{"position":[[304,4]]},"919":{"position":[[581,5],[828,5]]},"1007":{"position":[[10,4]]}},"keywords":{}}],["technic",{"_index":4847,"title":{},"content":{"980":{"position":[[125,11]]},"1393":{"position":[[4944,11]]}},"keywords":{}}],["telemetri",{"_index":3777,"title":{"713":{"position":[[6,9]]},"862":{"position":[[4,9]]},"863":{"position":[[0,10]]}},"content":{"713":{"position":[[6,9]]},"864":{"position":[[1601,10]]},"1116":{"position":[[110,9]]},"1120":{"position":[[72,10]]}},"keywords":{}}],["telemetrydirectli",{"_index":4056,"title":{},"content":{"869":{"position":[[747,17]]}},"keywords":{}}],["tell",{"_index":3501,"title":{},"content":{"690":{"position":[[2907,4]]},"693":{"position":[[1425,5]]},"722":{"position":[[496,4]]},"865":{"position":[[112,4],[844,4]]},"980":{"position":[[1245,5]]},"1058":{"position":[[26,5]]},"1093":{"position":[[579,5]]},"1231":{"position":[[416,5]]},"1482":{"position":[[1622,5]]}},"keywords":{}}],["templat",{"_index":2060,"title":{},"content":{"389":{"position":[[166,9],[264,9]]},"768":{"position":[[166,9],[264,9]]},"978":{"position":[[165,9]]},"1061":{"position":[[318,8]]},"1386":{"position":[[4320,8]]},"1393":{"position":[[2269,8],[2289,8],[2558,9],[2765,8],[2904,8],[3024,8],[3724,8],[3844,8],[8527,8],[8654,8]]}},"keywords":{}}],["template_dep",{"_index":7846,"title":{},"content":{"1416":{"position":[[1255,14]]},"1417":{"position":[[943,14]]},"1420":{"position":[[963,14]]}},"keywords":{}}],["templateplaceholderinfo",{"_index":2056,"title":{"389":{"position":[[0,24]]},"768":{"position":[[0,24]]}},"content":{"389":{"position":[[4,24],[82,23],[725,23]]},"768":{"position":[[4,24],[82,23],[725,23]]},"1190":{"position":[[362,25]]},"1192":{"position":[[199,25]]}},"keywords":{}}],["templateproviderinfo.unkeyed_vari",{"_index":2080,"title":{},"content":{"389":{"position":[[1313,38]]},"768":{"position":[[1313,38]]}},"keywords":{}}],["temporari",{"_index":391,"title":{},"content":{"12":{"position":[[81,9]]},"1360":{"position":[[4455,9]]},"1383":{"position":[[6487,9]]},"1403":{"position":[[3870,9]]}},"keywords":{}}],["tend",{"_index":855,"title":{"906":{"position":[[30,4]]}},"content":{"41":{"position":[[398,4]]},"174":{"position":[[398,4]]},"1112":{"position":[[4289,4]]}},"keywords":{}}],["tendenc",{"_index":5698,"title":{},"content":{"1105":{"position":[[2268,8]]}},"keywords":{}}],["term",{"_index":3510,"title":{"693":{"position":[[12,5]]}},"content":{"693":{"position":[[12,5]]},"890":{"position":[[932,6]]},"1012":{"position":[[242,6]]},"1079":{"position":[[1259,4]]},"1262":{"position":[[219,4]]},"1293":{"position":[[219,4]]},"1321":{"position":[[219,4]]},"1393":{"position":[[6455,6]]},"1398":{"position":[[3500,6]]}},"keywords":{}}],["termin",{"_index":1077,"title":{},"content":{"89":{"position":[[202,11]]},"221":{"position":[[202,11]]},"617":{"position":[[260,11],[372,11],[475,11]]},"900":{"position":[[1461,11]]},"1136":{"position":[[3789,10]]},"1138":{"position":[[7451,10]]},"1140":{"position":[[6377,10]]},"1142":{"position":[[1821,10]]},"1146":{"position":[[1761,10]]},"1148":{"position":[[4801,10]]},"1155":{"position":[[1857,10]]},"1156":{"position":[[1435,10]]},"1167":{"position":[[7381,10]]},"1169":{"position":[[1220,10]]},"1186":{"position":[[3025,10]]},"1187":{"position":[[3038,10]]},"1188":{"position":[[7764,10]]},"1191":{"position":[[1625,10]]},"1192":{"position":[[1800,10]]},"1193":{"position":[[1852,10]]},"1194":{"position":[[1492,10]]},"1195":{"position":[[1470,10]]},"1196":{"position":[[1280,10]]},"1197":{"position":[[2263,10]]},"1198":{"position":[[2273,10]]},"1199":{"position":[[2301,10]]},"1200":{"position":[[2168,10]]},"1201":{"position":[[1428,10]]},"1202":{"position":[[2570,10],[6967,10]]},"1203":{"position":[[1662,10]]},"1204":{"position":[[1506,10]]},"1205":{"position":[[2835,10]]},"1206":{"position":[[1306,10]]},"1207":{"position":[[1463,10]]},"1209":{"position":[[2811,10]]},"1217":{"position":[[6122,10]]},"1219":{"position":[[2108,10]]},"1222":{"position":[[1232,10]]},"1223":{"position":[[1242,10]]},"1224":{"position":[[1422,10]]},"1226":{"position":[[6590,10]]},"1228":{"position":[[8203,10]]},"1235":{"position":[[4071,10]]},"1237":{"position":[[6760,10]]}},"keywords":{}}],["test",{"_index":141,"title":{"726":{"position":[[17,6]]},"860":{"position":[[11,8]]},"1033":{"position":[[0,7]]},"1051":{"position":[[20,5]]},"1053":{"position":[[0,4]]},"1066":{"position":[[0,4]]},"1067":{"position":[[13,4]]},"1069":{"position":[[22,4]]},"1107":{"position":[[0,7]]},"1227":{"position":[[0,4]]},"1228":{"position":[[5,5]]}},"content":{"7":{"position":[[121,5]]},"12":{"position":[[380,6]]},"23":{"position":[[3400,6]]},"24":{"position":[[1116,6]]},"26":{"position":[[113,8]]},"27":{"position":[[120,8]]},"29":{"position":[[126,8]]},"30":{"position":[[165,8]]},"31":{"position":[[148,8]]},"178":{"position":[[113,8]]},"179":{"position":[[120,8]]},"185":{"position":[[126,8]]},"186":{"position":[[165,8]]},"187":{"position":[[148,8]]},"337":{"position":[[330,5]]},"338":{"position":[[359,5],[458,5]]},"374":{"position":[[322,6],[392,6],[583,5],[668,5],[687,4],[822,5],[853,4],[998,5],[1078,5],[1212,4],[1286,4],[1445,6],[1783,4],[1902,5],[1950,4],[2092,4]]},"435":{"position":[[53,4]]},"440":{"position":[[54,5],[106,7]]},"442":{"position":[[40,4]]},"478":{"position":[[211,5]]},"586":{"position":[[198,4]]},"597":{"position":[[49,4]]},"598":{"position":[[49,4]]},"599":{"position":[[49,4]]},"600":{"position":[[49,4]]},"601":{"position":[[49,4]]},"602":{"position":[[49,4]]},"603":{"position":[[49,4]]},"618":{"position":[[87,4]]},"646":{"position":[[50,4]]},"708":{"position":[[664,7],[694,6],[737,5]]},"715":{"position":[[1889,5],[1922,8]]},"725":{"position":[[58,5],[164,5]]},"726":{"position":[[19,8]]},"753":{"position":[[322,6],[392,6],[583,5],[668,5],[687,4],[822,5],[853,4],[998,5],[1078,5],[1212,4],[1286,4],[1445,6],[1783,4],[1902,5],[1950,4],[2092,4]]},"814":{"position":[[53,4]]},"819":{"position":[[54,5],[106,7]]},"821":{"position":[[40,4]]},"860":{"position":[[520,4],[554,7],[604,4]]},"879":{"position":[[349,4],[370,5],[402,4]]},"894":{"position":[[311,4]]},"978":{"position":[[175,4]]},"1033":{"position":[[60,4]]},"1052":{"position":[[171,5],[547,4],[1308,5]]},"1053":{"position":[[29,5],[135,4],[153,4],[269,4],[334,4],[353,4],[681,4],[948,4],[990,5],[1139,5],[1267,5],[1380,4],[1435,4],[1472,4]]},"1054":{"position":[[716,4],[1212,4]]},"1057":{"position":[[700,7]]},"1061":{"position":[[52,8]]},"1067":{"position":[[23,4],[268,4],[291,5],[319,4],[379,4],[507,4],[575,4],[698,4]]},"1068":{"position":[[34,7],[179,7]]},"1069":{"position":[[85,4],[156,4],[282,4],[402,4],[453,6],[553,4],[823,4],[883,5]]},"1070":{"position":[[341,5],[534,5],[555,4],[703,5],[731,5]]},"1071":{"position":[[20,4],[151,4],[659,4],[806,4],[889,4],[922,4],[1072,4],[1204,4],[1468,4]]},"1072":{"position":[[12,5],[419,4]]},"1073":{"position":[[0,5],[134,6]]},"1102":{"position":[[683,4],[708,4],[739,5],[798,4],[1118,4]]},"1105":{"position":[[2584,6]]},"1107":{"position":[[16,4],[176,4],[200,5]]},"1138":{"position":[[1100,4],[1116,5],[1155,4],[1178,5]]},"1152":{"position":[[107,7],[195,6]]},"1172":{"position":[[216,5]]},"1190":{"position":[[1187,5]]},"1204":{"position":[[219,4],[9186,4],[9246,4]]},"1205":{"position":[[74,5]]},"1228":{"position":[[10,4],[58,4],[173,4],[237,4],[252,4],[359,4],[471,5],[540,6],[945,5],[1009,5],[1032,5],[1159,5],[1180,5],[1378,5],[1476,6],[1493,5],[1522,4],[1616,4],[1928,4],[1989,4],[2033,4],[2079,4],[2203,4],[2254,5],[2279,7],[2303,7],[2362,6],[2456,4],[2517,4],[2561,4],[2607,4],[2727,4]]},"1243":{"position":[[738,6],[989,4],[1039,4],[1054,5],[1124,4]]},"1348":{"position":[[266,6],[3525,5]]},"1349":{"position":[[277,6],[1670,5]]},"1350":{"position":[[269,6],[4641,5]]},"1351":{"position":[[275,6],[1830,6],[1868,5]]},"1352":{"position":[[269,6],[4640,5]]},"1353":{"position":[[282,6],[2244,5],[2282,7],[2453,5],[2486,4],[2512,4],[2850,5],[2931,5],[2975,4],[3014,7],[3434,8]]},"1354":{"position":[[283,6],[1246,6],[2082,5],[2128,6],[2265,4],[2290,4],[2353,4],[2548,6],[2680,4],[2767,4],[2831,4],[2965,5],[3168,5]]},"1355":{"position":[[270,6],[3190,6],[3228,5]]},"1356":{"position":[[271,6],[1588,5]]},"1357":{"position":[[271,6],[1261,5]]},"1358":{"position":[[275,6],[1982,5]]},"1359":{"position":[[271,6],[1819,5]]},"1360":{"position":[[266,6],[2419,6],[2457,5]]},"1361":{"position":[[274,6],[1809,5]]},"1362":{"position":[[267,6],[6142,6],[6180,5]]},"1363":{"position":[[267,6],[3888,6],[3926,5]]},"1364":{"position":[[268,6],[6171,6],[6209,5]]},"1365":{"position":[[268,6],[1743,5]]},"1366":{"position":[[269,6],[1918,6],[1956,5]]},"1367":{"position":[[265,6],[6686,4],[6726,5],[6764,5],[7569,6],[7607,5],[10363,6],[10495,4],[10582,4],[10612,4],[13590,4],[13608,5],[13686,4],[13757,4],[13810,4],[14179,4],[14298,4]]},"1368":{"position":[[270,6],[2299,5]]},"1369":{"position":[[274,6],[1351,5]]},"1370":{"position":[[281,6],[1567,6],[1605,5]]},"1371":{"position":[[272,6],[1227,5]]},"1372":{"position":[[269,6],[2865,5]]},"1373":{"position":[[266,6],[3737,5]]},"1374":{"position":[[268,6],[1602,6],[1640,5]]},"1375":{"position":[[269,6],[1263,5]]},"1376":{"position":[[274,6],[1219,5]]},"1377":{"position":[[271,6],[1458,5]]},"1378":{"position":[[273,6],[1205,5]]},"1379":{"position":[[271,6],[1228,5]]},"1380":{"position":[[270,6],[1699,5]]},"1381":{"position":[[269,6],[1605,5],[2529,6]]},"1382":{"position":[[265,6],[4054,6],[4092,5]]},"1383":{"position":[[266,6],[2292,6],[2330,5]]},"1384":{"position":[[266,6],[5216,6],[5254,5]]},"1385":{"position":[[272,6],[2924,5]]},"1386":{"position":[[277,6],[1562,5]]},"1387":{"position":[[275,6],[5193,5]]},"1388":{"position":[[263,6],[3508,7],[3549,5],[4354,6],[4392,5],[4703,4],[6101,5],[10192,5],[10367,4]]},"1389":{"position":[[268,6],[5246,5]]},"1390":{"position":[[263,6],[1498,5]]},"1391":{"position":[[264,6],[1451,5]]},"1392":{"position":[[261,6],[673,5],[735,4],[1601,5],[1818,6],[1950,4],[2316,5],[2487,4],[2534,7]]},"1393":{"position":[[265,6],[2142,6],[2180,5],[6730,4],[6783,6]]},"1394":{"position":[[274,6],[1621,5]]},"1395":{"position":[[269,6],[1599,6],[1637,5]]},"1396":{"position":[[274,6],[1427,5]]},"1397":{"position":[[269,6],[1608,5]]},"1398":{"position":[[266,6],[1143,4],[1168,4],[1321,4],[2249,6],[2287,5],[2512,4],[3227,5],[3245,5],[3314,5],[3390,4],[3450,4],[3885,4],[4657,4],[4985,5],[5008,4],[5115,6],[5211,4],[5473,4],[6211,6],[6278,4],[6326,4],[6432,4],[6450,5],[6486,4],[6601,4],[6709,4],[6776,4]]},"1399":{"position":[[266,6],[1463,5]]},"1400":{"position":[[275,6],[1332,5]]},"1401":{"position":[[264,6],[1407,5]]},"1402":{"position":[[263,6],[1563,5]]},"1403":{"position":[[262,6],[2122,6],[2160,5]]},"1404":{"position":[[264,6],[1396,5]]},"1405":{"position":[[264,6],[2087,5],[3964,6]]},"1406":{"position":[[274,6],[1303,5]]},"1407":{"position":[[274,6],[2128,5],[4096,5],[4583,6]]},"1408":{"position":[[265,6],[1824,5],[2900,6]]},"1409":{"position":[[264,6],[1358,5]]},"1410":{"position":[[262,6],[1676,4],[2489,6],[2527,5],[3070,5],[3302,6],[3434,4],[3521,4],[3551,4],[3604,4],[3612,8],[4291,4],[4511,4],[4634,6],[5415,5],[5551,4],[5699,4],[5765,6],[5872,6],[5970,6],[6113,6]]},"1411":{"position":[[269,6],[1341,5]]},"1412":{"position":[[269,6],[2510,6],[2548,5]]},"1413":{"position":[[266,6],[2725,5]]},"1414":{"position":[[265,6],[1592,5]]},"1415":{"position":[[269,6],[3574,5]]},"1416":{"position":[[269,6],[2226,5]]},"1417":{"position":[[267,6],[1815,5]]},"1418":{"position":[[270,6],[1516,5]]},"1419":{"position":[[266,6],[1644,5]]},"1420":{"position":[[270,6],[1908,5]]},"1421":{"position":[[279,6],[1883,5]]},"1422":{"position":[[267,6],[1755,6],[1793,5]]},"1423":{"position":[[264,6],[1775,5]]},"1424":{"position":[[266,6],[1900,5]]},"1425":{"position":[[280,6],[1516,5]]},"1426":{"position":[[266,6],[1828,6],[1866,5]]},"1427":{"position":[[267,6],[2725,6],[2763,5]]},"1428":{"position":[[266,6],[1498,5]]},"1429":{"position":[[264,6],[2566,5],[3389,6],[3427,5],[3798,6],[3890,6],[3964,5],[3998,5],[4085,5],[4144,5],[4269,5],[4295,5],[4351,6],[4409,5],[4487,4],[4511,5],[4525,4],[4594,6],[4726,4],[4813,4],[4843,4],[5239,5],[5327,5],[5355,6],[5385,4],[5624,4],[5912,5],[6058,4],[6231,8],[6290,6]]},"1430":{"position":[[271,6],[2274,5]]},"1431":{"position":[[264,6],[1618,5]]},"1432":{"position":[[272,6],[2139,5]]},"1433":{"position":[[265,6],[1660,5]]},"1434":{"position":[[267,6],[1334,5]]},"1435":{"position":[[272,6],[1298,5]]},"1436":{"position":[[268,6],[1314,5]]},"1437":{"position":[[265,6],[1384,5]]},"1438":{"position":[[263,6],[1487,6],[1525,5]]},"1439":{"position":[[269,6],[3011,6],[3049,5]]},"1440":{"position":[[266,6],[2754,5],[3577,6],[3615,5],[3791,6],[3883,6],[3957,5],[3991,5],[4078,5],[4137,5],[4262,5],[4288,5],[4344,6],[4402,5],[4480,4],[4504,5],[4518,4],[4676,6],[4808,4],[4895,4],[4925,4],[5233,5],[5321,5],[5349,6],[5379,4],[5616,4],[5812,5],[5958,4],[6089,6]]},"1441":{"position":[[271,6],[1340,5]]},"1442":{"position":[[272,6],[1382,6],[1420,5],[3024,4]]},"1443":{"position":[[265,6],[1635,5]]},"1444":{"position":[[266,6],[1551,5]]},"1445":{"position":[[269,6],[1240,5]]},"1446":{"position":[[266,6],[1574,5]]},"1447":{"position":[[268,6],[1456,5]]},"1448":{"position":[[267,6],[1891,5],[2642,4],[2677,4],[2745,6],[2830,6]]},"1449":{"position":[[268,6],[1825,5],[2576,4],[2611,4],[2679,6],[2764,6]]},"1450":{"position":[[267,6],[1704,5]]},"1451":{"position":[[267,6],[1704,5]]},"1452":{"position":[[263,6],[1250,5]]},"1453":{"position":[[279,6],[1836,5]]},"1454":{"position":[[275,6],[4202,5]]},"1455":{"position":[[281,6],[2089,5]]},"1456":{"position":[[278,6],[1434,5]]},"1457":{"position":[[274,6],[1493,5],[1939,6]]},"1458":{"position":[[267,6],[2028,5],[2669,8]]},"1459":{"position":[[278,6],[1507,5]]},"1460":{"position":[[277,6],[1619,5]]},"1461":{"position":[[278,6],[1803,6],[1841,5]]},"1462":{"position":[[268,6],[5215,5]]},"1463":{"position":[[278,6],[1341,5]]},"1464":{"position":[[279,6],[1249,5]]},"1465":{"position":[[269,6],[2347,5]]},"1466":{"position":[[282,6],[732,5],[1585,5]]},"1467":{"position":[[266,6],[5022,5],[5055,7],[5873,6],[5911,5],[6357,5],[6454,5],[8449,6],[8552,6],[8720,4],[10434,5],[10661,4],[10832,4],[10906,6]]},"1468":{"position":[[273,6],[1349,5]]},"1469":{"position":[[266,6],[1691,6],[1729,5]]},"1470":{"position":[[271,6],[3335,5],[3375,4],[4251,5]]},"1471":{"position":[[266,6],[2554,6],[2592,5],[5638,6],[5754,6]]},"1472":{"position":[[267,6],[2513,6],[2551,5],[6524,6],[6640,6]]},"1473":{"position":[[264,6],[1926,4],[2023,5],[2828,6],[2866,5],[3561,6],[3868,4],[4077,4],[5336,4],[5809,6],[5925,6]]},"1474":{"position":[[268,6],[2250,5]]},"1475":{"position":[[265,6],[2721,5]]},"1476":{"position":[[271,6],[1326,5]]},"1477":{"position":[[264,6],[1447,6],[1485,5]]},"1478":{"position":[[262,6],[948,5],[1060,4],[1099,4],[1938,6],[1976,5],[2219,4],[2478,4],[2491,5],[2878,4],[2980,4],[3363,4],[3393,4],[3531,8],[3788,5]]},"1479":{"position":[[279,6],[1418,5]]},"1480":{"position":[[268,6],[1831,5]]},"1481":{"position":[[270,6],[2364,5]]},"1482":{"position":[[265,6],[553,5],[590,7],[1438,5],[1502,5],[1516,5],[1599,6],[1646,6],[1723,4],[1794,5],[1814,5],[1831,6],[1898,5],[1995,4],[2150,4],[2287,4],[2409,5],[2576,5],[2696,4],[2985,5],[3009,4],[3384,5]]},"1483":{"position":[[270,6],[1272,5]]},"1484":{"position":[[270,6],[1344,5]]},"1485":{"position":[[271,6],[1604,5]]},"1486":{"position":[[266,6],[1848,5]]},"1487":{"position":[[263,6],[1512,6],[1550,5]]}},"keywords":{}}],["test'",{"_index":5324,"title":{},"content":{"1053":{"position":[[422,6]]}},"keywords":{}}],["test).target",{"_index":4288,"title":{},"content":{"894":{"position":[[331,12]]}},"keywords":{}}],["test.buck2",{"_index":7634,"title":{},"content":{"1398":{"position":[[6368,10]]}},"keywords":{}}],["test.d",{"_index":7438,"title":{},"content":{"1392":{"position":[[2551,9]]}},"keywords":{}}],["test_bundl",{"_index":7023,"title":{},"content":{"1372":{"position":[[1887,12]]}},"keywords":{}}],["test_case_timeout_m",{"_index":7814,"title":{},"content":{"1413":{"position":[[1671,21]]},"1429":{"position":[[2189,21]]},"1440":{"position":[[2343,21]]},"1470":{"position":[[2865,21]]},"1475":{"position":[[1667,21]]}},"keywords":{}}],["test_class_names_fil",{"_index":7985,"title":{},"content":{"1429":{"position":[[2227,22]]},"1440":{"position":[[2381,22]]},"1470":{"position":[[2903,22]]}},"keywords":{}}],["test_dep",{"_index":8515,"title":{},"content":{"1482":{"position":[[467,10]]}},"keywords":{}}],["test_executor_arg",{"_index":6069,"title":{},"content":{"1228":{"position":[[178,23]]}},"keywords":{}}],["test_host_app",{"_index":6969,"title":{},"content":{"1367":{"position":[[6069,14],[13443,14]]}},"keywords":{}}],["test_info",{"_index":5494,"title":{},"content":{"1071":{"position":[[298,9]]}},"keywords":{}}],["test_re_cap",{"_index":6970,"title":{},"content":{"1367":{"position":[[6100,21],[14101,21]]}},"keywords":{}}],["test_re_use_cas",{"_index":6971,"title":{},"content":{"1367":{"position":[[6149,17],[14236,17]]}},"keywords":{}}],["test_rule_timeout_m",{"_index":6531,"title":{},"content":{"1354":{"position":[[1082,21]]},"1367":{"position":[[6183,21]]},"1388":{"position":[[3270,21],[10088,21]]},"1392":{"position":[[551,21]]},"1410":{"position":[[1487,21],[5311,21]]},"1413":{"position":[[1709,21]]},"1429":{"position":[[2266,21],[5808,21]]},"1440":{"position":[[2420,21],[5708,21]]},"1467":{"position":[[4611,21],[10330,21]]},"1470":{"position":[[2942,21]]},"1475":{"position":[[1705,21]]},"1478":{"position":[[970,21]]}},"keywords":{}}],["test_runner_gener",{"_index":7800,"title":{},"content":{"1411":{"position":[[471,22]]}},"keywords":{}}],["test_suit",{"_index":8514,"title":{"1482":{"position":[[0,11]]}},"content":{"1482":{"position":[[4,11],[508,12],[1572,12],[1751,12],[2366,11],[2534,11]]}},"keywords":{}}],["test_typ",{"_index":2014,"title":{},"content":{"374":{"position":[[519,10]]},"753":{"position":[[519,10]]},"1413":{"position":[[1747,10]]},"1429":{"position":[[2304,10],[6031,10]]},"1440":{"position":[[2458,10],[5931,10]]},"1470":{"position":[[2980,10]]},"1475":{"position":[[1743,10]]}},"keywords":{}}],["testa",{"_index":5452,"title":{},"content":{"1061":{"position":[[72,5]]}},"keywords":{}}],["testb",{"_index":5453,"title":{},"content":{"1061":{"position":[[81,5]]}},"keywords":{}}],["testdata.dat",{"_index":8362,"title":{},"content":{"1465":{"position":[[4740,15]]},"1467":{"position":[[11268,15]]}},"keywords":{}}],["testinfo",{"_index":3800,"title":{"978":{"position":[[5,8]]}},"content":{"722":{"position":[[1020,9]]},"978":{"position":[[5,8],[32,8],[75,8],[152,8]]}},"keywords":{}}],["testng",{"_index":7989,"title":{},"content":{"1429":{"position":[[3818,6],[3883,6],[6129,9]]},"1440":{"position":[[3811,6],[3876,6],[6029,9]]}},"keywords":{}}],["testrecord_video",{"_index":6542,"title":{},"content":{"1354":{"position":[[2797,17]]}},"keywords":{}}],["tests"",{"_index":5497,"title":{},"content":{"1071":{"position":[[362,13]]}},"keywords":{}}],["tests.when",{"_index":5475,"title":{},"content":{"1067":{"position":[[452,10]]}},"keywords":{}}],["tests/**/*test.java",{"_index":7979,"title":{},"content":{"1427":{"position":[[8050,23]]}},"keywords":{}}],["tests/**/*test.kt",{"_index":8071,"title":{},"content":{"1439":{"position":[[8874,21]]}},"keywords":{}}],["testsof",{"_index":1830,"title":{},"content":{"337":{"position":[[300,7]]},"338":{"position":[[329,7]]},"478":{"position":[[181,7]]}},"keywords":{}}],["testsof(target",{"_index":6255,"title":{"1276":{"position":[[0,16]]},"1307":{"position":[[0,16]]},"1335":{"position":[[0,16]]}},"content":{"1259":{"position":[[1496,16]]},"1290":{"position":[[1496,16]]},"1318":{"position":[[1496,16]]}},"keywords":{}}],["testsof_with_default_platform",{"_index":4415,"title":{},"content":{"905":{"position":[[101,30]]}},"keywords":{}}],["testsrc",{"_index":7436,"title":{},"content":{"1392":{"position":[[2071,9]]}},"keywords":{}}],["testutil",{"_index":7977,"title":{},"content":{"1427":{"position":[[7994,11]]},"1439":{"position":[[8820,11]]},"1444":{"position":[[2241,11]]},"1465":{"position":[[4679,11]]}},"keywords":{}}],["text",{"_index":2808,"title":{},"content":{"595":{"position":[[398,4]]},"675":{"position":[[745,4]]},"1071":{"position":[[1329,4]]},"1354":{"position":[[2582,4]]},"1359":{"position":[[2253,4]]},"1367":{"position":[[10397,4]]},"1392":{"position":[[1852,4]]},"1410":{"position":[[3336,4]]},"1429":{"position":[[4628,4]]},"1440":{"position":[[4710,4]]}},"keywords":{}}],["text')extra_flag",{"_index":6882,"title":{},"content":{"1363":{"position":[[4253,17]]}},"keywords":{}}],["textual",{"_index":3080,"title":{},"content":{"632":{"position":[[58,7]]}},"keywords":{}}],["th",{"_index":3087,"title":{},"content":{"633":{"position":[[98,2]]}},"keywords":{}}],["thankfulli",{"_index":4949,"title":{},"content":{"991":{"position":[[3092,10]]}},"keywords":{}}],["that'",{"_index":1223,"title":{},"content":{"94":{"position":[[3316,6]]},"226":{"position":[[3316,6]]},"693":{"position":[[279,6]]},"977":{"position":[[271,6]]},"991":{"position":[[3074,6]]},"1093":{"position":[[721,6]]},"1172":{"position":[[187,6],[400,6]]},"1348":{"position":[[4115,6]]}},"keywords":{}}],["that'll",{"_index":4835,"title":{},"content":{"976":{"position":[[200,7]]}},"keywords":{}}],["that.els",{"_index":5056,"title":{},"content":{"1014":{"position":[[472,10]]}},"keywords":{}}],["that.if",{"_index":5055,"title":{},"content":{"1014":{"position":[[415,7]]}},"keywords":{}}],["that.🙂"",{"_index":182,"title":{},"content":{"9":{"position":[[298,13]]}},"keywords":{}}],["thatcxx_librari",{"_index":3406,"title":{},"content":{"680":{"position":[[1065,15]]}},"keywords":{}}],["thatdynam",{"_index":3895,"title":{},"content":{"847":{"position":[[165,11]]}},"keywords":{}}],["that’",{"_index":3684,"title":{},"content":{"706":{"position":[[2495,6]]},"1231":{"position":[[369,6]]},"1232":{"position":[[3621,6]]}},"keywords":{}}],["thaw",{"_index":4333,"title":{},"content":{"898":{"position":[[1173,4],[1668,7]]}},"keywords":{}}],["thawonwrite(arc<dyn",{"_index":4349,"title":{},"content":{"898":{"position":[[2382,22]]}},"keywords":{}}],["theartifact",{"_index":3522,"title":{},"content":{"693":{"position":[[981,11]]}},"keywords":{}}],["theattrs.toolchain_dep",{"_index":5072,"title":{},"content":{"1024":{"position":[[692,24]]}},"keywords":{}}],["thebazel",{"_index":3583,"title":{},"content":{"693":{"position":[[7810,8]]},"884":{"position":[[75,8]]}},"keywords":{}}],["theblackhol",{"_index":4280,"title":{},"content":{"892":{"position":[[1638,12]]}},"keywords":{}}],["thebuck2",{"_index":457,"title":{},"content":{"15":{"position":[[399,8]]},"18":{"position":[[2013,8]]},"581":{"position":[[837,8]]},"675":{"position":[[225,8]]},"1131":{"position":[[624,8]]}},"keywords":{}}],["thebuck_no_interactive_consol",{"_index":5771,"title":{},"content":{"1120":{"position":[[360,30]]}},"keywords":{}}],["thebuild",{"_index":3515,"title":{},"content":{"693":{"position":[[297,9]]},"1356":{"position":[[3030,8]]}},"keywords":{}}],["thebuildbuddi",{"_index":6318,"title":{},"content":{"1346":{"position":[[243,13]]}},"keywords":{}}],["thebxl.context",{"_index":3896,"title":{},"content":{"847":{"position":[[189,14]]}},"keywords":{}}],["thebxl.outputstream",{"_index":3865,"title":{},"content":{"840":{"position":[[1552,19]]}},"keywords":{}}],["thebxlcontext",{"_index":4528,"title":{},"content":{"924":{"position":[[546,13]]}},"keywords":{}}],["thecel",{"_index":3573,"title":{},"content":{"693":{"position":[[6267,8]]}},"keywords":{}}],["thecli_arg",{"_index":3910,"title":{},"content":{"850":{"position":[[741,11]]}},"keywords":{}}],["thecommon",{"_index":3503,"title":{},"content":{"690":{"position":[[3092,9],[3390,9]]}},"keywords":{}}],["thectx.output.ensure_multipl",{"_index":3936,"title":{},"content":{"855":{"position":[[229,29]]}},"keywords":{}}],["thecxx_librari",{"_index":3404,"title":{},"content":{"680":{"position":[[601,14]]}},"keywords":{}}],["thedefault_target_platform",{"_index":5058,"title":{},"content":{"1014":{"position":[[655,26]]}},"keywords":{}}],["theengflow",{"_index":6316,"title":{},"content":{"1346":{"position":[[202,10]]}},"keywords":{}}],["theexec_compatible_with",{"_index":3922,"title":{},"content":{"851":{"position":[[1121,23]]}},"keywords":{}}],["theexported_head",{"_index":3402,"title":{},"content":{"680":{"position":[[496,19]]}},"keywords":{}}],["thefrozenmodul",{"_index":4176,"title":{},"content":{"888":{"position":[[1371,16]]}},"keywords":{}}],["thehom",{"_index":2665,"title":{},"content":{"581":{"position":[[395,7]]}},"keywords":{}}],["theini",{"_index":2613,"title":{},"content":{"573":{"position":[[26,6]]}},"keywords":{}}],["thejava_librari",{"_index":3416,"title":{},"content":{"681":{"position":[[522,15],[807,15]]}},"keywords":{}}],["thekey",{"_index":3400,"title":{},"content":{"680":{"position":[[200,6]]}},"keywords":{}}],["thelatest",{"_index":439,"title":{},"content":{"15":{"position":[[55,9]]}},"keywords":{}}],["them.increment",{"_index":720,"title":{},"content":{"23":{"position":[[1212,16]]}},"keywords":{}}],["them.ocaml",{"_index":60,"title":{},"content":{"4":{"position":[[381,10]]}},"keywords":{}}],["themodul",{"_index":4172,"title":{},"content":{"888":{"position":[[1160,10]]}},"keywords":{}}],["themselv",{"_index":614,"title":{},"content":{"20":{"position":[[300,11]]},"69":{"position":[[287,10]]},"408":{"position":[[817,10]]},"457":{"position":[[287,10]]},"680":{"position":[[149,10]]},"693":{"position":[[5678,11]]},"787":{"position":[[817,10]]},"832":{"position":[[445,10]]},"837":{"position":[[224,10]]},"898":{"position":[[1792,10]]},"950":{"position":[[243,10]]},"1260":{"position":[[462,10]]},"1291":{"position":[[462,10]]},"1319":{"position":[[462,10]]},"1387":{"position":[[6880,10]]},"1429":{"position":[[4322,10]]},"1440":{"position":[[4315,10]]}},"keywords":{}}],["thenfallback_actu",{"_index":4972,"title":{},"content":{"995":{"position":[[395,19]]}},"keywords":{}}],["thenopen",{"_index":5463,"title":{},"content":{"1061":{"position":[[360,8]]}},"keywords":{}}],["theoret",{"_index":3801,"title":{},"content":{"724":{"position":[[191,11]]}},"keywords":{}}],["theotp",{"_index":7505,"title":{},"content":{"1393":{"position":[[9400,6]]}},"keywords":{}}],["theowner",{"_index":5854,"title":{},"content":{"1134":{"position":[[71,8]]}},"keywords":{}}],["theprelud",{"_index":491,"title":{},"content":{"17":{"position":[[182,10]]}},"keywords":{}}],["theproviders_label",{"_index":1728,"title":{},"content":{"310":{"position":[[718,18]]}},"keywords":{}}],["there'",{"_index":3556,"title":{},"content":{"693":{"position":[[4818,7]]},"704":{"position":[[744,7],[811,7],[904,7],[952,7],[1881,7],[1978,7]]},"892":{"position":[[1297,7]]},"919":{"position":[[793,7]]},"924":{"position":[[2047,7]]},"937":{"position":[[3871,7]]},"969":{"position":[[129,7]]},"1014":{"position":[[423,7]]},"1136":{"position":[[3184,7]]},"1138":{"position":[[6846,7]]},"1140":{"position":[[5772,7]]},"1142":{"position":[[1216,7]]},"1146":{"position":[[1156,7]]},"1148":{"position":[[4196,7]]},"1155":{"position":[[1252,7]]},"1156":{"position":[[830,7]]},"1163":{"position":[[27,7]]},"1167":{"position":[[6776,7]]},"1169":{"position":[[615,7]]},"1186":{"position":[[2420,7]]},"1187":{"position":[[2433,7]]},"1188":{"position":[[7159,7]]},"1191":{"position":[[1020,7]]},"1192":{"position":[[1195,7]]},"1193":{"position":[[1247,7]]},"1194":{"position":[[887,7]]},"1195":{"position":[[865,7]]},"1196":{"position":[[675,7]]},"1197":{"position":[[1658,7]]},"1198":{"position":[[1668,7]]},"1199":{"position":[[1696,7]]},"1200":{"position":[[1563,7]]},"1201":{"position":[[823,7]]},"1202":{"position":[[1965,7],[6362,7]]},"1203":{"position":[[1057,7]]},"1204":{"position":[[901,7]]},"1205":{"position":[[2230,7]]},"1206":{"position":[[701,7]]},"1207":{"position":[[858,7]]},"1209":{"position":[[2206,7]]},"1217":{"position":[[5517,7]]},"1219":{"position":[[1503,7]]},"1222":{"position":[[627,7]]},"1223":{"position":[[637,7]]},"1224":{"position":[[817,7]]},"1226":{"position":[[5985,7]]},"1228":{"position":[[7598,7]]},"1235":{"position":[[3466,7]]},"1237":{"position":[[6155,7]]}},"keywords":{}}],["thereaft",{"_index":4241,"title":{},"content":{"890":{"position":[[4404,11]]}},"keywords":{}}],["therebi",{"_index":7287,"title":{},"content":{"1386":{"position":[[6187,7]]}},"keywords":{}}],["therefor",{"_index":2702,"title":{},"content":{"584":{"position":[[636,10]]},"890":{"position":[[6454,10],[6814,10]]},"1070":{"position":[[946,10]]},"1348":{"position":[[4038,9]]},"1353":{"position":[[2682,10]]},"1471":{"position":[[5655,9]]},"1472":{"position":[[6541,9]]},"1473":{"position":[[5826,9]]}},"keywords":{}}],["thereof",{"_index":946,"title":{},"content":{"65":{"position":[[160,8]]},"405":{"position":[[1089,7]]},"453":{"position":[[160,8]]},"784":{"position":[[1089,7]]}},"keywords":{}}],["therestart",{"_index":5524,"title":{},"content":{"1075":{"position":[[507,12]]}},"keywords":{}}],["there’",{"_index":3941,"title":{},"content":{"856":{"position":[[191,7]]},"904":{"position":[[1502,7]]}},"keywords":{}}],["these.main_modul",{"_index":8328,"title":{},"content":{"1462":{"position":[[7428,18]]}},"keywords":{}}],["theselect",{"_index":3537,"title":{},"content":{"693":{"position":[[2707,9]]}},"keywords":{}}],["theshould_propag",{"_index":4907,"title":{},"content":{"990":{"position":[[806,19]]}},"keywords":{}}],["theslot",{"_index":4255,"title":{},"content":{"890":{"position":[[6141,8]]}},"keywords":{}}],["thestarlark",{"_index":3956,"title":{},"content":{"857":{"position":[[208,11]]}},"keywords":{}}],["thesuperconsol",{"_index":5762,"title":{},"content":{"1118":{"position":[[22,15]]}},"keywords":{}}],["thetarget",{"_index":3605,"title":{},"content":{"695":{"position":[[307,9]]}},"keywords":{}}],["thetarget_compatible_with",{"_index":5089,"title":{},"content":{"1026":{"position":[[1036,27]]}},"keywords":{}}],["thetemplateplaceholderinfo",{"_index":2069,"title":{},"content":{"389":{"position":[[519,26]]},"768":{"position":[[519,26]]}},"keywords":{}}],["thetransit",{"_index":4992,"title":{},"content":{"1004":{"position":[[138,13],[282,13]]},"1133":{"position":[[911,13]]}},"keywords":{}}],["thetypes.mddocu",{"_index":5668,"title":{},"content":{"1104":{"position":[[2225,19]]}},"keywords":{}}],["theunconfigur",{"_index":3545,"title":{},"content":{"693":{"position":[[3421,15]]}},"keywords":{}}],["thevis",{"_index":3552,"title":{},"content":{"693":{"position":[[4412,13]]}},"keywords":{}}],["they'll",{"_index":1233,"title":{},"content":{"94":{"position":[[3962,7]]},"226":{"position":[[3962,7]]}},"keywords":{}}],["they'r",{"_index":5098,"title":{},"content":{"1029":{"position":[[96,7],[155,7],[372,7]]},"1033":{"position":[[288,7]]}},"keywords":{}}],["thin_lto",{"_index":6778,"title":{},"content":{"1362":{"position":[[4528,9]]},"1364":{"position":[[4595,9]]},"1367":{"position":[[6221,9]]},"1373":{"position":[[2635,9]]},"1382":{"position":[[2881,9]]},"1384":{"position":[[4053,9]]},"1387":{"position":[[3920,9]]},"1388":{"position":[[3308,9]]},"1415":{"position":[[2334,9]]},"1462":{"position":[[4091,9]]},"1467":{"position":[[4649,9]]}},"keywords":{}}],["thing",{"_index":197,"title":{},"content":{"9":{"position":[[570,6],[892,6]]},"23":{"position":[[530,6]]},"24":{"position":[[901,6]]},"92":{"position":[[437,6]]},"134":{"position":[[297,6]]},"224":{"position":[[437,6]]},"257":{"position":[[297,6]]},"362":{"position":[[1611,6]]},"405":{"position":[[1245,6]]},"407":{"position":[[0,6]]},"427":{"position":[[256,6]]},"693":{"position":[[628,6],[4681,6]]},"704":{"position":[[2173,5]]},"705":{"position":[[40,5]]},"717":{"position":[[485,6]]},"741":{"position":[[1611,6]]},"784":{"position":[[1245,6]]},"786":{"position":[[0,6]]},"806":{"position":[[256,6]]},"846":{"position":[[580,5]]},"867":{"position":[[93,6]]},"876":{"position":[[130,6]]},"878":{"position":[[772,6]]},"890":{"position":[[518,6],[1870,6],[1941,6],[4611,6]]},"894":{"position":[[301,6]]},"924":{"position":[[215,6],[373,5],[765,6]]},"976":{"position":[[51,6]]},"988":{"position":[[779,7]]},"991":{"position":[[2999,6]]},"1022":{"position":[[326,6]]},"1049":{"position":[[306,6]]},"1057":{"position":[[640,6],[711,6]]},"1103":{"position":[[921,6]]},"1127":{"position":[[580,7]]},"1207":{"position":[[46,5]]},"1231":{"position":[[38,5],[385,6]]},"1247":{"position":[[680,6]]},"1477":{"position":[[2017,6]]}},"keywords":{}}],["things.target",{"_index":5648,"title":{},"content":{"1103":{"position":[[608,13]]}},"keywords":{}}],["think",{"_index":4752,"title":{},"content":{"955":{"position":[[794,6]]},"1252":{"position":[[312,5]]}},"keywords":{}}],["thinlto",{"_index":734,"title":{},"content":{"23":{"position":[[1803,7]]},"92":{"position":[[461,7]]},"224":{"position":[[461,7]]}},"keywords":{}}],["third",{"_index":432,"title":{},"content":{"13":{"position":[[429,5]]},"587":{"position":[[210,7]]},"1393":{"position":[[4491,5],[8227,5]]},"1415":{"position":[[5807,6],[5839,8]]},"1422":{"position":[[3902,5]]},"1423":{"position":[[2669,5]]},"1426":{"position":[[2276,7]]},"1458":{"position":[[1103,5]]}},"keywords":{}}],["third_party/guava:guava",{"_index":7968,"title":{},"content":{"1427":{"position":[[7211,28],[7646,28],[7828,28]]},"1439":{"position":[[8039,28],[8470,28],[8652,28]]}},"keywords":{}}],["third_party/jackson:jackson",{"_index":7969,"title":{},"content":{"1427":{"position":[[7240,32]]},"1439":{"position":[[8068,32]]}},"keywords":{}}],["third_party/jsr",{"_index":7974,"title":{},"content":{"1427":{"position":[[7857,18]]},"1439":{"position":[[8681,18]]}},"keywords":{}}],["third_party/python",{"_index":8359,"title":{},"content":{"1465":{"position":[[4415,21]]}},"keywords":{}}],["thoma",{"_index":6150,"title":{},"content":{"1232":{"position":[[3545,6]]}},"keywords":{}}],["those",{"_index":285,"title":{},"content":{"9":{"position":[[2347,5],[2852,5],[2897,5]]},"11":{"position":[[4,5]]},"94":{"position":[[2905,5],[3401,5],[3430,5]]},"118":{"position":[[247,5]]},"126":{"position":[[364,5]]},"226":{"position":[[2905,5],[3401,5],[3430,5]]},"249":{"position":[[364,5]]},"333":{"position":[[459,5]]},"374":{"position":[[1916,5]]},"406":{"position":[[593,5]]},"477":{"position":[[169,5]]},"534":{"position":[[247,5]]},"572":{"position":[[234,5]]},"580":{"position":[[179,5]]},"583":{"position":[[213,5]]},"595":{"position":[[955,5]]},"622":{"position":[[875,5],[925,5]]},"643":{"position":[[153,5]]},"680":{"position":[[116,5],[887,5]]},"681":{"position":[[883,5]]},"689":{"position":[[151,5]]},"690":{"position":[[3015,6]]},"704":{"position":[[1070,5]]},"724":{"position":[[1293,5]]},"753":{"position":[[1916,5]]},"785":{"position":[[593,5]]},"832":{"position":[[655,5]]},"846":{"position":[[1185,5]]},"890":{"position":[[2374,5],[4483,5]]},"898":{"position":[[766,5],[804,5],[958,5]]},"921":{"position":[[221,5]]},"943":{"position":[[2353,5]]},"945":{"position":[[793,5]]},"966":{"position":[[198,5]]},"1021":{"position":[[196,5],[268,5]]},"1040":{"position":[[438,5]]},"1043":{"position":[[156,5]]},"1050":{"position":[[626,5]]},"1052":{"position":[[1011,5]]},"1067":{"position":[[157,5],[285,5]]},"1070":{"position":[[574,5],[759,5],[981,5]]},"1071":{"position":[[538,5]]},"1075":{"position":[[412,5],[484,5]]},"1081":{"position":[[132,5]]},"1093":{"position":[[349,5]]},"1103":{"position":[[1926,5]]},"1105":{"position":[[1578,5]]},"1113":{"position":[[569,5]]},"1114":{"position":[[828,5]]},"1131":{"position":[[499,5]]},"1134":{"position":[[299,5]]},"1136":{"position":[[1308,5]]},"1138":{"position":[[1868,5]]},"1140":{"position":[[1357,5]]},"1148":{"position":[[1664,5]]},"1150":{"position":[[282,5]]},"1152":{"position":[[126,5]]},"1167":{"position":[[2361,5]]},"1188":{"position":[[1410,5]]},"1205":{"position":[[788,5]]},"1209":{"position":[[541,5]]},"1217":{"position":[[1102,5]]},"1219":{"position":[[427,5]]},"1226":{"position":[[2481,5]]},"1228":{"position":[[1280,5],[3183,5]]},"1235":{"position":[[1801,5]]},"1237":{"position":[[2651,5]]},"1259":{"position":[[347,5]]},"1262":{"position":[[132,5],[823,5]]},"1290":{"position":[[347,5]]},"1293":{"position":[[132,5],[823,5]]},"1318":{"position":[[347,5]]},"1321":{"position":[[132,5],[823,5]]},"1345":{"position":[[963,5]]},"1362":{"position":[[4955,5],[7984,5]]},"1363":{"position":[[2986,5]]},"1364":{"position":[[4981,5],[8833,5]]},"1366":{"position":[[2340,5]]},"1367":{"position":[[8072,5],[13778,5]]},"1383":{"position":[[1455,5]]},"1384":{"position":[[4388,5],[10212,5]]},"1398":{"position":[[6117,5],[6770,5]]},"1486":{"position":[[747,5]]}},"keywords":{}}],["though",{"_index":2016,"title":{},"content":{"374":{"position":[[1126,6]]},"617":{"position":[[413,6]]},"680":{"position":[[637,7]]},"682":{"position":[[168,6]]},"706":{"position":[[2370,7]]},"753":{"position":[[1126,6]]},"924":{"position":[[948,7]]},"987":{"position":[[405,6]]},"991":{"position":[[1244,7]]},"1046":{"position":[[346,6]]},"1069":{"position":[[816,6]]},"1084":{"position":[[665,6]]},"1351":{"position":[[3783,6]]},"1395":{"position":[[3453,7]]}},"keywords":{}}],["thought",{"_index":4198,"title":{},"content":{"890":{"position":[[112,7]]},"898":{"position":[[116,7]]}},"keywords":{}}],["thread",{"_index":4228,"title":{},"content":{"890":{"position":[[2848,8]]},"898":{"position":[[911,8],[1029,9]]},"1138":{"position":[[2207,7],[2241,7]]},"1140":{"position":[[1696,7],[1730,7]]},"1167":{"position":[[2700,7],[2734,7]]},"1188":{"position":[[1749,7],[1783,7]]},"1217":{"position":[[1441,7],[1475,7]]},"1226":{"position":[[5106,7],[5140,7]]},"1228":{"position":[[3522,7],[3556,7]]},"1231":{"position":[[271,7],[344,6]]},"1237":{"position":[[5276,7],[5310,7]]},"1247":{"position":[[359,7]]},"1395":{"position":[[2158,7]]},"1486":{"position":[[2426,7]]}},"keywords":{}}],["three",{"_index":611,"title":{},"content":{"20":{"position":[[157,5]]},"118":{"position":[[233,5]]},"534":{"position":[[233,5]]},"595":{"position":[[517,5]]},"607":{"position":[[165,5]]},"638":{"position":[[243,5]]},"662":{"position":[[389,5],[604,5]]},"886":{"position":[[23,5]]},"889":{"position":[[522,5]]},"902":{"position":[[221,5]]},"924":{"position":[[4,5]]},"1004":{"position":[[435,5]]},"1056":{"position":[[127,5]]},"1482":{"position":[[1892,5]]},"1486":{"position":[[3628,5],[5191,5],[5223,5]]}},"keywords":{}}],["three"",{"_index":2896,"title":{},"content":{"604":{"position":[[504,11]]},"616":{"position":[[1158,12]]}},"keywords":{}}],["three".rsplit(non",{"_index":2970,"title":{},"content":{"614":{"position":[[494,24]]}},"keywords":{}}],["three".split",{"_index":2988,"title":{},"content":{"616":{"position":[[891,19]]}},"keywords":{}}],["three".split("",{"_index":2989,"title":{},"content":{"616":{"position":[[982,24]]}},"keywords":{}}],["three".split(non",{"_index":2990,"title":{},"content":{"616":{"position":[[1100,23]]}},"keywords":{}}],["threshold",{"_index":376,"title":{},"content":{"11":{"position":[[477,11]]}},"keywords":{}}],["thrift",{"_index":226,"title":{},"content":{"9":{"position":[[1168,6]]},"1422":{"position":[[4014,7],[4272,7],[4301,9],[4332,7],[4411,6],[4450,7],[4502,9]]},"1423":{"position":[[3405,6],[3444,7],[3496,9],[3565,7]]}},"keywords":{}}],["through",{"_index":86,"title":{},"content":{"5":{"position":[[178,7]]},"9":{"position":[[1348,7]]},"12":{"position":[[297,7],[309,7]]},"92":{"position":[[1268,7]]},"224":{"position":[[1268,7]]},"345":{"position":[[656,7]]},"422":{"position":[[316,7]]},"581":{"position":[[427,7]]},"680":{"position":[[821,7]]},"693":{"position":[[2881,7]]},"715":{"position":[[1709,7],[1980,8]]},"722":{"position":[[691,7]]},"801":{"position":[[316,7]]},"846":{"position":[[1120,7]]},"864":{"position":[[176,7]]},"905":{"position":[[1419,7]]},"924":{"position":[[2198,8],[2319,7]]},"937":{"position":[[305,7],[462,7]]},"947":{"position":[[519,7]]},"964":{"position":[[906,7]]},"1024":{"position":[[327,7]]},"1040":{"position":[[1694,7]]},"1360":{"position":[[5141,7]]},"1366":{"position":[[2754,7]]},"1383":{"position":[[1301,7],[2830,7],[7249,7],[8272,7],[8473,7]]},"1393":{"position":[[4747,7]]},"1395":{"position":[[2367,7],[3038,7]]},"1403":{"position":[[5298,7]]}},"keywords":{}}],["throughtarget",{"_index":5066,"title":{},"content":{"1021":{"position":[[223,13]]}},"keywords":{}}],["throw",{"_index":4282,"title":{},"content":{"892":{"position":[[1860,5]]},"1091":{"position":[[122,6]]},"1138":{"position":[[5156,8],[5284,8]]},"1140":{"position":[[4645,8],[4773,8]]},"1167":{"position":[[5649,8],[5777,8]]},"1188":{"position":[[4698,8],[4826,8]]},"1217":{"position":[[4390,8],[4518,8]]},"1228":{"position":[[6471,8],[6599,8]]}},"keywords":{}}],["thrown",{"_index":3442,"title":{},"content":{"688":{"position":[[631,6],[1029,6]]},"1383":{"position":[[5536,6]]}},"keywords":{}}],["thu",{"_index":717,"title":{},"content":{"23":{"position":[[1172,4]]},"1138":{"position":[[4022,4]]},"1140":{"position":[[3511,4]]},"1167":{"position":[[4515,4]]},"1188":{"position":[[3564,4]]},"1217":{"position":[[3256,4]]},"1228":{"position":[[5337,4]]},"1355":{"position":[[6104,4],[7117,4]]},"1427":{"position":[[5277,4],[6316,4]]}},"keywords":{}}],["thumb",{"_index":5658,"title":{},"content":{"1104":{"position":[[681,5]]}},"keywords":{}}],["thusli",{"_index":2256,"title":{},"content":{"419":{"position":[[164,7]]},"798":{"position":[[164,7]]}},"keywords":{}}],["ti",{"_index":4791,"title":{},"content":{"964":{"position":[[395,4],[651,4]]}},"keywords":{}}],["tier",{"_index":1231,"title":{},"content":{"94":{"position":[[3883,4]]},"226":{"position":[[3883,4]]}},"keywords":{}}],["tightli",{"_index":2171,"title":{},"content":{"406":{"position":[[675,8]]},"785":{"position":[[675,8]]}},"keywords":{}}],["time",{"_index":251,"title":{},"content":{"9":{"position":[[1563,4],[1620,5]]},"10":{"position":[[303,4]]},"12":{"position":[[501,4]]},"17":{"position":[[1419,4]]},"84":{"position":[[211,5]]},"92":{"position":[[414,5],[2225,5]]},"121":{"position":[[316,5]]},"216":{"position":[[211,5]]},"224":{"position":[[414,5],[2225,5]]},"276":{"position":[[645,4]]},"277":{"position":[[142,5],[592,4]]},"281":{"position":[[743,4]]},"282":{"position":[[197,5],[692,4]]},"362":{"position":[[1820,4]]},"422":{"position":[[59,5],[193,4]]},"481":{"position":[[140,5]]},"513":{"position":[[50,4],[196,4]]},"514":{"position":[[48,4],[188,4]]},"530":{"position":[[316,5]]},"570":{"position":[[307,5]]},"572":{"position":[[279,5]]},"635":{"position":[[107,5]]},"693":{"position":[[2419,4]]},"724":{"position":[[746,5]]},"741":{"position":[[1820,4]]},"801":{"position":[[59,5],[193,4]]},"860":{"position":[[112,4],[285,4],[355,4]]},"864":{"position":[[633,5],[695,5],[789,5],[1044,4],[1190,4],[1380,4],[1456,4]]},"867":{"position":[[1165,4]]},"870":{"position":[[710,6],[915,6],[1050,6]]},"879":{"position":[[395,4]]},"888":{"position":[[1012,5]]},"889":{"position":[[1040,5]]},"890":{"position":[[4868,5]]},"905":{"position":[[419,5]]},"937":{"position":[[1605,5]]},"942":{"position":[[1030,5]]},"945":{"position":[[430,4]]},"981":{"position":[[419,4]]},"988":{"position":[[170,5],[199,5]]},"1026":{"position":[[905,5]]},"1027":{"position":[[111,5]]},"1050":{"position":[[2027,4]]},"1056":{"position":[[546,4],[1144,4]]},"1057":{"position":[[63,4],[1219,4]]},"1058":{"position":[[63,4],[397,4],[717,6],[842,6],[1131,4],[1197,4]]},"1059":{"position":[[68,4]]},"1061":{"position":[[257,4],[327,5]]},"1079":{"position":[[733,4],[1057,4]]},"1112":{"position":[[482,5]]},"1113":{"position":[[102,5]]},"1120":{"position":[[202,4]]},"1126":{"position":[[1037,5],[1202,5],[1347,5]]},"1144":{"position":[[51,4]]},"1148":{"position":[[7353,4]]},"1150":{"position":[[353,4]]},"1186":{"position":[[905,4]]},"1187":{"position":[[918,4]]},"1188":{"position":[[5644,4]]},"1190":{"position":[[542,5]]},"1195":{"position":[[45,5]]},"1204":{"position":[[242,5],[10146,6],[10215,5]]},"1228":{"position":[[1713,4],[1752,4]]},"1231":{"position":[[466,5],[689,4]]},"1243":{"position":[[222,5]]},"1244":{"position":[[362,4]]},"1254":{"position":[[84,4]]},"1278":{"position":[[229,4]]},"1279":{"position":[[153,4]]},"1309":{"position":[[229,4]]},"1310":{"position":[[153,4]]},"1337":{"position":[[229,4]]},"1338":{"position":[[153,4]]},"1351":{"position":[[2369,5],[2751,5]]},"1354":{"position":[[2922,4]]},"1355":{"position":[[3625,5],[5104,5]]},"1359":{"position":[[2289,5]]},"1386":{"position":[[2279,5],[4736,5]]},"1388":{"position":[[10149,4]]},"1392":{"position":[[2273,4]]},"1393":{"position":[[5248,5]]},"1410":{"position":[[5372,4]]},"1427":{"position":[[4418,5]]},"1429":{"position":[[4394,6],[5869,4]]},"1439":{"position":[[3446,5],[6917,5]]},"1440":{"position":[[4387,6],[5769,4]]},"1459":{"position":[[2261,5]]},"1467":{"position":[[10391,4]]},"1477":{"position":[[3192,4]]},"1478":{"position":[[3517,5]]}},"keywords":{}}],["time(",{"_index":5369,"title":{},"content":{"1057":{"position":[[234,7]]}},"keywords":{}}],["time.ci",{"_index":242,"title":{},"content":{"9":{"position":[[1445,7]]}},"keywords":{}}],["time_a",{"_index":2287,"title":{},"content":{"422":{"position":[[126,6]]},"513":{"position":[[133,6]]},"514":{"position":[[127,6]]},"801":{"position":[[126,6]]}},"keywords":{}}],["time_b",{"_index":2289,"title":{},"content":{"422":{"position":[[198,6]]},"513":{"position":[[201,6]]},"514":{"position":[[193,6]]},"801":{"position":[[198,6]]}},"keywords":{}}],["timeout",{"_index":859,"title":{},"content":{"41":{"position":[[531,8]]},"174":{"position":[[531,8]]},"377":{"position":[[1706,7]]},"756":{"position":[[1706,7]]},"1112":{"position":[[4426,8]]},"1228":{"position":[[1334,7],[1396,7]]}},"keywords":{}}],["timerec(",{"_index":5370,"title":{},"content":{"1057":{"position":[[242,10]]}},"keywords":{}}],["timestamp",{"_index":1051,"title":{},"content":{"85":{"position":[[365,10],[411,10]]},"217":{"position":[[365,10],[411,10]]},"450":{"position":[[88,9]]},"829":{"position":[[88,9]]},"860":{"position":[[168,9]]},"1126":{"position":[[280,10]]}},"keywords":{}}],["tip",{"_index":3370,"title":{"675":{"position":[[17,5]]}},"content":{},"keywords":{}}],["titl",{"_index":2873,"title":{},"content":{"602":{"position":[[71,5],[215,5]]},"620":{"position":[[64,5]]}},"keywords":{}}],["titlecas",{"_index":3019,"title":{},"content":{"620":{"position":[[143,10]]}},"keywords":{}}],["tmp",{"_index":6659,"title":{},"content":{"1360":{"position":[[4446,6]]},"1403":{"position":[[3861,6]]}},"keywords":{}}],["tmp/1.arg",{"_index":8592,"title":{},"content":{"1486":{"position":[[4447,11]]}},"keywords":{}}],["tmp/1.err",{"_index":8596,"title":{},"content":{"1486":{"position":[[4621,11]]}},"keywords":{}}],["tmp/1.out",{"_index":8595,"title":{},"content":{"1486":{"position":[[4606,10]]}},"keywords":{}}],["tmpdir",{"_index":1240,"title":{},"content":{"94":{"position":[[4432,7]]},"226":{"position":[[4432,7]]}},"keywords":{}}],["tmp}a",{"_index":7186,"title":{},"content":{"1383":{"position":[[6479,7]]}},"keywords":{}}],["to",{"_index":3906,"title":{"849":{"position":[[11,3]]}},"content":{},"keywords":{}}],["to.buckconfig",{"_index":2673,"title":{},"content":{"581":{"position":[[708,13]]}},"keywords":{}}],["to.set("value"",{"_index":4185,"title":{},"content":{"889":{"position":[[434,25]]}},"keywords":{}}],["to_nod",{"_index":4410,"title":{},"content":{"904":{"position":[[1049,7],[1176,8]]},"905":{"position":[[833,7]]}},"keywords":{}}],["to_str.extract",{"_index":4187,"title":{},"content":{"889":{"position":[[591,14]]}},"keywords":{}}],["tobuck2",{"_index":4677,"title":{},"content":{"942":{"position":[[933,7],[1140,7],[1497,7]]}},"keywords":{}}],["tocfg//compiler:msvc",{"_index":4689,"title":{},"content":{"943":{"position":[[1365,20]]}},"keywords":{}}],["tocompiler_flagsand",{"_index":7754,"title":{},"content":{"1407":{"position":[[2519,19]]}},"keywords":{}}],["today",{"_index":652,"title":{},"content":{"22":{"position":[[759,5]]},"937":{"position":[[276,6],[1336,5],[3704,6]]},"951":{"position":[[1496,6]]},"980":{"position":[[889,5],[900,5]]},"991":{"position":[[3197,5]]}},"keywords":{}}],["todo",{"_index":1032,"title":{},"content":{"84":{"position":[[217,4]]},"216":{"position":[[217,4]]}},"keywords":{}}],["togeth",{"_index":155,"title":{},"content":{"7":{"position":[[335,8]]},"22":{"position":[[1603,9]]},"94":{"position":[[1397,9],[2048,9]]},"118":{"position":[[62,8]]},"226":{"position":[[1397,9],[2048,9]]},"405":{"position":[[1619,9]]},"534":{"position":[[62,8]]},"673":{"position":[[83,8]]},"704":{"position":[[416,8],[607,8],[2246,8]]},"784":{"position":[[1619,9]]},"898":{"position":[[2083,8]]},"988":{"position":[[580,8]]},"1048":{"position":[[985,8]]},"1086":{"position":[[399,8]]},"1245":{"position":[[434,8]]},"1355":{"position":[[2233,8]]},"1361":{"position":[[970,9]]},"1373":{"position":[[8119,8]]},"1380":{"position":[[860,9]]},"1382":{"position":[[10895,8]]},"1384":{"position":[[17969,8]]},"1388":{"position":[[9388,8]]},"1398":{"position":[[6289,8]]},"1412":{"position":[[1510,9]]},"1427":{"position":[[1745,9]]},"1439":{"position":[[2029,9]]},"1443":{"position":[[734,8]]},"1444":{"position":[[650,8]]},"1455":{"position":[[1187,8],[4541,9]]},"1465":{"position":[[1425,8],[1481,8]]},"1485":{"position":[[3760,8]]}},"keywords":{}}],["toggl",{"_index":5763,"title":{"1120":{"position":[[0,8]]}},"content":{"1120":{"position":[[39,7],[479,8],[492,6],[546,6],[572,6],[639,6],[684,6],[777,6]]}},"keywords":{}}],["tojava",{"_index":3443,"title":{},"content":{"688":{"position":[[837,6]]}},"keywords":{}}],["tombston",{"_index":6537,"title":{},"content":{"1354":{"position":[[2372,11]]}},"keywords":{}}],["took",{"_index":4031,"title":{},"content":{"867":{"position":[[1307,4]]}},"keywords":{}}],["tool",{"_index":40,"title":{},"content":{"4":{"position":[[111,5],[282,5],[615,8]]},"11":{"position":[[654,5]]},"17":{"position":[[1053,5]]},"18":{"position":[[1022,5]]},"398":{"position":[[124,4]]},"689":{"position":[[138,4]]},"693":{"position":[[7825,5]]},"777":{"position":[[124,4]]},"937":{"position":[[2577,7],[2637,7],[2753,5],[4592,8],[4642,5]]},"1023":{"position":[[168,4],[253,9]]},"1024":{"position":[[1048,4]]},"1025":{"position":[[64,5]]},"1032":{"position":[[276,4]]},"1231":{"position":[[107,5]]},"1260":{"position":[[1031,5]]},"1291":{"position":[[1031,5]]},"1319":{"position":[[1031,5]]},"1348":{"position":[[3843,4]]},"1351":{"position":[[1008,5]]},"1355":{"position":[[3289,4]]},"1362":{"position":[[13622,6]]},"1364":{"position":[[14322,6]]},"1370":{"position":[[3146,6]]},"1373":{"position":[[4065,4],[4243,4],[4322,4]]},"1383":{"position":[[1380,5],[8286,5]]},"1405":{"position":[[2201,4],[2449,4]]},"1407":{"position":[[2242,4],[2870,4]]},"1408":{"position":[[1911,4],[1987,4]]},"1410":{"position":[[2643,4],[2893,4]]},"1423":{"position":[[3311,7]]},"1439":{"position":[[3110,4]]},"1446":{"position":[[700,4]]},"1486":{"position":[[704,5],[918,4],[2682,4],[2698,4],[2734,4],[2896,5],[4000,4],[4478,4],[4659,4],[5018,4],[5520,4],[5697,4]]}},"keywords":{}}],["tool.prepend",{"_index":2151,"title":{},"content":{"405":{"position":[[1750,12]]},"784":{"position":[[1750,12]]}},"keywords":{}}],["toolchain",{"_index":571,"title":{"1024":{"position":[[0,9]]}},"content":{"18":{"position":[[883,9],[1629,10],[2089,10],[2133,11],[2167,10]]},"24":{"position":[[795,10],[848,10]]},"148":{"position":[[233,9]]},"211":{"position":[[68,10]]},"233":{"position":[[220,9]]},"271":{"position":[[233,9]]},"283":{"position":[[190,9],[218,9]]},"298":{"position":[[211,11],[774,10],[902,11],[1653,10],[1994,11],[2070,10],[2256,10]]},"462":{"position":[[192,9],[220,9]]},"851":{"position":[[748,10],[936,11],[1255,11],[1387,10],[1579,10]]},"878":{"position":[[1270,12]]},"905":{"position":[[485,9],[569,10],[672,10]]},"937":{"position":[[3454,9]]},"991":{"position":[[3246,11]]},"1024":{"position":[[957,9]]},"1044":{"position":[[2384,11]]},"1098":{"position":[[523,9]]},"1161":{"position":[[243,9]]},"1278":{"position":[[185,9]]},"1281":{"position":[[123,9]]},"1309":{"position":[[185,9]]},"1312":{"position":[[123,9]]},"1337":{"position":[[185,9]]},"1340":{"position":[[123,9]]},"1362":{"position":[[5095,10],[8311,9],[13597,9]]},"1364":{"position":[[5122,10],[9160,9],[14297,9]]},"1367":{"position":[[8399,9]]},"1383":{"position":[[1482,10]]},"1389":{"position":[[5838,10]]},"1393":{"position":[[6584,10]]},"1394":{"position":[[1761,10]]},"1395":{"position":[[2808,10]]},"1396":{"position":[[546,11],[587,10],[1661,10]]},"1397":{"position":[[2128,10],[2151,11],[2222,9]]},"1398":{"position":[[3786,10]]},"1483":{"position":[[426,9],[1309,9],[1359,9],[1416,9]]}},"keywords":{}}],["toolchain).windows/mac",{"_index":801,"title":{},"content":{"24":{"position":[[1036,22]]}},"keywords":{}}],["toolchain.overlay",{"_index":7575,"title":{},"content":{"1397":{"position":[[2359,19]]}},"keywords":{}}],["toolchain_alia",{"_index":8536,"title":{"1483":{"position":[[0,16]]}},"content":{"1483":{"position":[[4,16],[386,15],[1388,15]]}},"keywords":{}}],["toolchain_dep",{"_index":6259,"title":{"1281":{"position":[[0,17]]},"1312":{"position":[[0,17]]},"1340":{"position":[[0,17]]}},"content":{"1259":{"position":[[1934,17]]},"1290":{"position":[[1934,17]]},"1318":{"position":[[1934,17]]}},"keywords":{}}],["toolchain_deps())"",{"_index":6295,"title":{},"content":{"1281":{"position":[[197,25]]},"1312":{"position":[[197,25]]},"1340":{"position":[[197,25]]}},"keywords":{}}],["toolchain_nam",{"_index":8075,"title":{},"content":{"1441":{"position":[[473,15]]}},"keywords":{}}],["toolchain_rul",{"_index":8538,"title":{},"content":{"1483":{"position":[[1475,14]]}},"keywords":{}}],["toolchains//:cxx",{"_index":567,"title":{},"content":{"18":{"position":[[823,17]]}},"keywords":{}}],["toolchains/buck",{"_index":575,"title":{},"content":{"18":{"position":[[1076,15]]}},"keywords":{}}],["toolchainsexec_compatible_with",{"_index":1643,"title":{},"content":{"298":{"position":[[1764,30]]}},"keywords":{}}],["toolchainthat",{"_index":510,"title":{},"content":{"17":{"position":[[818,13]]}},"keywords":{}}],["tools.buck2",{"_index":698,"title":{},"content":{"23":{"position":[[361,11]]}},"keywords":{}}],["top",{"_index":2279,"title":{"703":{"position":[[0,3]]}},"content":{"421":{"position":[[150,3]]},"583":{"position":[[156,3]]},"632":{"position":[[257,3]]},"703":{"position":[[33,4]]},"800":{"position":[[150,3]]},"890":{"position":[[6017,3]]},"937":{"position":[[2107,3],[2179,3],[4856,3]]},"938":{"position":[[943,3],[1098,3]]},"939":{"position":[[6,3]]},"940":{"position":[[595,3]]},"947":{"position":[[240,3],[497,3],[1138,3]]},"1015":{"position":[[9,3]]},"1057":{"position":[[205,3]]},"1058":{"position":[[1060,3]]},"1083":{"position":[[379,3]]},"1247":{"position":[[230,3]]},"1384":{"position":[[19866,3],[19966,3],[20177,3],[20271,3],[20358,3],[20482,3],[20767,3],[20929,3]]},"1385":{"position":[[3064,3]]},"1387":{"position":[[5331,3]]},"1397":{"position":[[1767,3]]},"1421":{"position":[[2283,3],[2368,3]]},"1443":{"position":[[777,3]]},"1444":{"position":[[693,3],[1691,3]]},"1461":{"position":[[955,3],[2260,3]]},"1462":{"position":[[5705,3],[7907,3]]},"1465":{"position":[[2485,3],[2720,3]]},"1467":{"position":[[6050,3],[6201,3],[6859,3],[8967,3]]},"1471":{"position":[[3051,3]]},"1472":{"position":[[2770,3]]},"1473":{"position":[[3085,3]]}},"keywords":{}}],["topar",{"_index":970,"title":{},"content":{"69":{"position":[[310,8]]},"457":{"position":[[310,8]]}},"keywords":{}}],["topic",{"_index":3384,"title":{},"content":{"676":{"position":[[436,6]]},"680":{"position":[[216,7],[616,6]]},"683":{"position":[[390,6]]},"703":{"position":[[114,6]]}},"keywords":{}}],["topolog",{"_index":5600,"title":{},"content":{"1088":{"position":[[438,11],[452,11],[1499,11]]}},"keywords":{}}],["toprebuilt_ocaml_librari",{"_index":288,"title":{},"content":{"9":{"position":[[2412,25]]}},"keywords":{}}],["toprotect",{"_index":4489,"title":{},"content":{"919":{"position":[[713,9]]}},"keywords":{}}],["toremot",{"_index":3519,"title":{},"content":{"693":{"position":[[591,8],[4950,8]]}},"keywords":{}}],["tosend",{"_index":160,"title":{},"content":{"7":{"position":[[375,6]]}},"keywords":{}}],["total",{"_index":5371,"title":{},"content":{"1057":{"position":[[266,6],[468,5]]},"1058":{"position":[[188,5]]},"1178":{"position":[[159,5],[597,5]]},"1180":{"position":[[196,5]]},"1478":{"position":[[3511,5]]}},"keywords":{}}],["total_poll_time_u",{"_index":5810,"title":{},"content":{"1126":{"position":[[1257,19]]}},"keywords":{}}],["touch",{"_index":7189,"title":{},"content":{"1383":{"position":[[7981,6]]},"1403":{"position":[[7081,6]]}},"keywords":{}}],["tour",{"_index":104,"title":{},"content":{"5":{"position":[[409,4]]}},"keywords":{}}],["toward",{"_index":3201,"title":{},"content":{"648":{"position":[[315,7]]}},"keywords":{}}],["tozip",{"_index":3366,"title":{},"content":{"673":{"position":[[222,6]]}},"keywords":{}}],["tpng",{"_index":6275,"title":{},"content":{"1260":{"position":[[945,4]]},"1291":{"position":[[945,4]]},"1319":{"position":[[945,4]]}},"keywords":{}}],["tpx",{"_index":2019,"title":{},"content":{"374":{"position":[[1585,3]]},"725":{"position":[[138,3]]},"753":{"position":[[1585,3]]},"1398":{"position":[[6504,3],[6543,3],[6665,3]]}},"keywords":{}}],["tr",{"_index":5044,"title":{},"content":{"1009":{"position":[[705,2]]}},"keywords":{}}],["tr(platform=platform",{"_index":5017,"title":{},"content":{"1004":{"position":[[2194,21]]}},"keywords":{}}],["tr(tr(platform=platform",{"_index":5015,"title":{},"content":{"1004":{"position":[[2143,24]]}},"keywords":{}}],["trace",{"_index":5465,"title":{"1231":{"position":[[16,6]]},"1232":{"position":[[23,6]]}},"content":{"1061":{"position":[[399,5]]},"1126":{"position":[[384,5],[517,5]]},"1127":{"position":[[348,5]]},"1172":{"position":[[1019,5],[1051,5]]},"1173":{"position":[[319,5],[351,5]]},"1174":{"position":[[223,5],[255,5]]},"1175":{"position":[[243,5],[275,5]]},"1176":{"position":[[327,5],[359,5]]},"1177":{"position":[[239,5],[271,5]]},"1178":{"position":[[393,5],[425,5]]},"1179":{"position":[[259,5],[291,5]]},"1180":{"position":[[589,5],[621,5]]},"1181":{"position":[[344,5],[376,5]]},"1182":{"position":[[281,5],[313,5]]},"1183":{"position":[[236,5],[268,5]]},"1231":{"position":[[410,5],[663,6]]},"1232":{"position":[[63,6]]}},"keywords":{}}],["trace_id",{"_index":5713,"title":{},"content":{"1112":{"position":[[121,9]]},"1124":{"position":[[351,9]]},"1126":{"position":[[365,9]]}},"keywords":{}}],["track",{"_index":272,"title":{},"content":{"9":{"position":[[2085,5]]},"23":{"position":[[2614,5]]},"890":{"position":[[4101,7]]},"919":{"position":[[1422,8]]},"937":{"position":[[2430,5],[2653,5]]},"955":{"position":[[916,7]]},"966":{"position":[[228,5]]},"973":{"position":[[143,5]]},"978":{"position":[[47,5]]},"1001":{"position":[[879,5]]},"1038":{"position":[[61,5]]},"1064":{"position":[[979,5]]},"1077":{"position":[[26,5]]},"1100":{"position":[[172,5]]},"1136":{"position":[[1205,5],[1751,5]]},"1142":{"position":[[338,7],[366,7]]},"1148":{"position":[[1561,5],[2107,5]]},"1205":{"position":[[685,5],[1231,5]]},"1209":{"position":[[438,5],[984,5]]},"1226":{"position":[[2378,5],[2924,5]]},"1235":{"position":[[1698,5],[2244,5]]},"1237":{"position":[[2548,5],[3094,5]]}},"keywords":{}}],["tradeoff",{"_index":4507,"title":{},"content":{"920":{"position":[[480,8]]}},"keywords":{}}],["tradit",{"_index":638,"title":{},"content":{"22":{"position":[[322,11]]}},"keywords":{}}],["tradition",{"_index":6636,"title":{},"content":{"1359":{"position":[[938,13]]}},"keywords":{}}],["trail",{"_index":2974,"title":{},"content":{"615":{"position":[[68,8],[136,8]]},"616":{"position":[[591,8]]},"619":{"position":[[78,8],[158,8]]},"1207":{"position":[[252,8]]}},"keywords":{}}],["trait",{"_index":4350,"title":{},"content":{"898":{"position":[[2458,6]]}},"keywords":{}}],["trampolin",{"_index":7541,"title":{},"content":{"1395":{"position":[[1734,10]]}},"keywords":{}}],["transclud",{"_index":2644,"title":{},"content":{"578":{"position":[[30,11]]}},"keywords":{}}],["transclus",{"_index":2643,"title":{"578":{"position":[[0,12]]}},"content":{},"keywords":{}}],["transform",{"_index":1137,"title":{},"content":{"92":{"position":[[1296,14]]},"224":{"position":[[1296,14]]},"719":{"position":[[80,15]]},"720":{"position":[[438,11]]},"725":{"position":[[86,14]]},"1005":{"position":[[275,11]]},"1006":{"position":[[303,11]]},"1016":{"position":[[13,10]]},"1040":{"position":[[1722,14]]},"1351":{"position":[[3400,14]]}},"keywords":{}}],["transforma",{"_index":8571,"title":{},"content":{"1486":{"position":[[3330,13]]}},"keywords":{}}],["transformb",{"_index":8574,"title":{},"content":{"1486":{"position":[[3424,13]]}},"keywords":{}}],["transformc",{"_index":8577,"title":{},"content":{"1486":{"position":[[3518,13]]}},"keywords":{}}],["transient",{"_index":1222,"title":{},"content":{"94":{"position":[[3168,9]]},"226":{"position":[[3168,9]]}},"keywords":{}}],["transit",{"_index":743,"title":{"447":{"position":[[0,11]]},"826":{"position":[[0,11]]},"947":{"position":[[40,12]]},"1003":{"position":[[14,11]]},"1004":{"position":[[0,10]]},"1005":{"position":[[9,11]]},"1006":{"position":[[14,11]]},"1007":{"position":[[11,11]]},"1008":{"position":[[8,10]]},"1009":{"position":[[26,10]]},"1016":{"position":[[0,12]]},"1080":{"position":[[0,10]]},"1082":{"position":[[19,10]]},"1083":{"position":[[19,10]]},"1086":{"position":[[0,10]]},"1087":{"position":[[0,10]]}},"content":{"23":{"position":[[2172,10]]},"97":{"position":[[139,10]]},"134":{"position":[[223,10]]},"229":{"position":[[139,10]]},"233":{"position":[[158,12],[287,10]]},"239":{"position":[[478,10]]},"257":{"position":[[223,10]]},"286":{"position":[[92,10],[200,11],[223,10]]},"328":{"position":[[378,10]]},"335":{"position":[[586,10]]},"396":{"position":[[210,10]]},"410":{"position":[[139,10]]},"427":{"position":[[636,10]]},"447":{"position":[[4,11],[132,10]]},"469":{"position":[[259,10]]},"475":{"position":[[348,10]]},"681":{"position":[[1027,10]]},"688":{"position":[[457,10]]},"693":{"position":[[9473,10],[9812,10],[9865,11],[10072,11]]},"695":{"position":[[424,10]]},"705":{"position":[[153,12]]},"775":{"position":[[210,10]]},"789":{"position":[[139,10]]},"806":{"position":[[636,10]]},"826":{"position":[[4,11],[132,10]]},"846":{"position":[[1333,12]]},"904":{"position":[[529,10]]},"919":{"position":[[1545,10]]},"921":{"position":[[202,10],[292,10],[530,10],[714,10],[852,10]]},"933":{"position":[[87,11],[116,10]]},"947":{"position":[[48,12],[97,10],[118,10],[538,11],[555,10],[678,11],[728,10],[891,10],[1007,12],[1303,11],[1325,10]]},"972":{"position":[[193,10]]},"980":{"position":[[446,10],[909,11],[1090,12],[1151,10]]},"990":{"position":[[1256,10]]},"991":{"position":[[1081,10],[1137,10]]},"1004":{"position":[[0,10],[53,10],[78,10],[409,10],[643,10],[665,10],[699,13],[851,10],[1687,11],[1999,10],[2119,10]]},"1005":{"position":[[80,10],[116,10],[305,11],[334,10]]},"1006":{"position":[[330,11],[352,11],[841,10],[1226,10],[1284,10]]},"1007":{"position":[[63,11],[85,11]]},"1009":{"position":[[27,10],[108,10],[240,11],[293,12],[306,10],[402,12],[710,11]]},"1011":{"position":[[294,11]]},"1015":{"position":[[151,13]]},"1016":{"position":[[2,10],[194,12]]},"1019":{"position":[[309,11],[463,10]]},"1025":{"position":[[399,11]]},"1045":{"position":[[62,11]]},"1064":{"position":[[2109,10]]},"1081":{"position":[[32,10],[142,10]]},"1084":{"position":[[0,10],[100,10],[123,10]]},"1086":{"position":[[30,10]]},"1087":{"position":[[23,10],[323,10]]},"1088":{"position":[[0,10]]},"1091":{"position":[[71,10]]},"1104":{"position":[[2041,10]]},"1133":{"position":[[667,10]]},"1148":{"position":[[136,11],[595,10]]},"1190":{"position":[[869,10]]},"1201":{"position":[[26,10]]},"1226":{"position":[[4375,10]]},"1237":{"position":[[4545,10]]},"1260":{"position":[[389,14]]},"1271":{"position":[[373,10]]},"1282":{"position":[[567,10]]},"1291":{"position":[[389,14]]},"1302":{"position":[[373,10]]},"1313":{"position":[[567,10]]},"1319":{"position":[[389,14]]},"1330":{"position":[[373,10]]},"1341":{"position":[[567,10]]},"1351":{"position":[[3615,12],[3800,12]]},"1358":{"position":[[1055,12]]},"1361":{"position":[[802,11],[2051,10],[2312,10]]},"1362":{"position":[[6821,12],[7812,12]]},"1363":{"position":[[2921,10]]},"1364":{"position":[[7060,12],[8051,12],[8215,12],[8661,12]]},"1366":{"position":[[1080,11],[2553,10],[2731,12]]},"1370":{"position":[[1741,12]]},"1373":{"position":[[7658,12]]},"1380":{"position":[[697,11]]},"1382":{"position":[[10434,12]]},"1384":{"position":[[6247,12],[6925,12],[7067,12],[7229,12],[8206,12],[8401,12],[8847,12],[9289,12],[9537,12],[9843,12],[17508,12],[20033,12]]},"1386":{"position":[[4659,11]]},"1388":{"position":[[8927,12]]},"1393":{"position":[[5328,10],[6872,12],[9806,10]]},"1395":{"position":[[1992,10]]},"1454":{"position":[[4951,12],[5630,12],[6605,12],[7077,12]]},"1461":{"position":[[2339,10]]},"1462":{"position":[[4361,10],[5938,10]]},"1465":{"position":[[2799,10]]},"1467":{"position":[[6938,10]]},"1485":{"position":[[3299,12]]}},"keywords":{}}],["transition(_impl",{"_index":5010,"title":{},"content":{"1004":{"position":[[1864,17]]}},"keywords":{}}],["transition.ref",{"_index":4995,"title":{},"content":{"1004":{"position":[[792,15]]}},"keywords":{}}],["transitionsinvolv",{"_index":3546,"title":{},"content":{"693":{"position":[[3586,19]]}},"keywords":{}}],["transitive_set",{"_index":1247,"title":{"448":{"position":[[0,15]]},"827":{"position":[[0,15]]}},"content":{"97":{"position":[[109,14]]},"229":{"position":[[109,14]]},"448":{"position":[[4,15]]},"827":{"position":[[4,15]]},"1081":{"position":[[113,16]]},"1086":{"position":[[638,15]]}},"keywords":{}}],["transitive_set(args_project",{"_index":5559,"title":{},"content":{"1082":{"position":[[836,31]]}},"keywords":{}}],["transitive_set(json_project",{"_index":5571,"title":{},"content":{"1083":{"position":[[672,31]]}},"keywords":{}}],["transitive_set_args_project",{"_index":1168,"title":{},"content":{"94":{"position":[[185,30],[492,30]]},"98":{"position":[[227,30]]},"99":{"position":[[283,30]]},"226":{"position":[[185,30],[492,30]]},"230":{"position":[[227,30]]},"231":{"position":[[283,30]]},"345":{"position":[[262,30]]},"368":{"position":[[281,30],[3245,30]]},"377":{"position":[[190,30]]},"386":{"position":[[176,30]]},"405":{"position":[[178,30],[426,30]]},"417":{"position":[[206,30]]},"747":{"position":[[281,30],[3245,30]]},"756":{"position":[[190,30]]},"765":{"position":[[176,30]]},"784":{"position":[[178,30],[426,30]]},"796":{"position":[[206,30]]}},"keywords":{}}],["transitive_set_definit",{"_index":1244,"title":{},"content":{"97":{"position":[[30,26]]},"229":{"position":[[30,26]]},"448":{"position":[[159,25]]},"827":{"position":[[159,25]]}},"keywords":{}}],["transitive_set_json_project",{"_index":1268,"title":{},"content":{"99":{"position":[[316,30]]},"231":{"position":[[316,30]]}},"keywords":{}}],["transitiveset",{"_index":2083,"title":{"390":{"position":[[0,14]]},"769":{"position":[[0,14]]}},"content":{"390":{"position":[[0,14]]},"769":{"position":[[0,14]]}},"keywords":{}}],["transitivesetargsproject",{"_index":2084,"title":{"391":{"position":[[0,28]]},"770":{"position":[[0,28]]}},"content":{"391":{"position":[[0,28]]},"770":{"position":[[0,28]]}},"keywords":{}}],["transitivesetargsprojectioniter",{"_index":2085,"title":{"392":{"position":[[0,36]]},"771":{"position":[[0,36]]}},"content":{"392":{"position":[[0,36]]},"771":{"position":[[0,36]]}},"keywords":{}}],["transitivesetdefinit",{"_index":2086,"title":{"393":{"position":[[0,24]]},"772":{"position":[[0,24]]}},"content":{"393":{"position":[[0,24]]},"772":{"position":[[0,24]]}},"keywords":{}}],["transitivesetiter",{"_index":2087,"title":{"394":{"position":[[0,22]]},"773":{"position":[[0,22]]}},"content":{"394":{"position":[[0,22]]},"773":{"position":[[0,22]]}},"keywords":{}}],["transitivesetjsonproject",{"_index":2088,"title":{"395":{"position":[[0,28]]},"774":{"position":[[0,28]]}},"content":{"395":{"position":[[0,28]]},"774":{"position":[[0,28]]}},"keywords":{}}],["translat",{"_index":4074,"title":{},"content":{"872":{"position":[[391,11]]},"904":{"position":[[792,11]]},"994":{"position":[[301,10]]},"1360":{"position":[[3490,10]]},"1383":{"position":[[6144,10]]},"1403":{"position":[[2905,10]]}},"keywords":{}}],["transpar",{"_index":7086,"title":{},"content":{"1374":{"position":[[2724,13]]}},"keywords":{}}],["tratest_rule_timeout_m",{"_index":6543,"title":{},"content":{"1354":{"position":[[2858,24]]}},"keywords":{}}],["travers",{"_index":4276,"title":{"1038":{"position":[[15,8]]},"1084":{"position":[[0,10]]}},"content":{"892":{"position":[[938,10]]},"955":{"position":[[25,10],[454,10]]},"1084":{"position":[[141,10]]},"1088":{"position":[[57,9],[193,9],[292,9],[370,9],[575,10],[729,10],[740,9],[777,10]]},"1090":{"position":[[123,10]]},"1258":{"position":[[1249,10]]},"1289":{"position":[[1249,10]]},"1317":{"position":[[1249,10]]},"1366":{"position":[[2855,9]]},"1382":{"position":[[7258,8]]},"1388":{"position":[[8127,8]]},"1416":{"position":[[2556,8]]},"1462":{"position":[[6176,8]]},"1467":{"position":[[7289,8]]}},"keywords":{}}],["treat",{"_index":2547,"title":{},"content":{"560":{"position":[[493,7]]},"581":{"position":[[531,6]]},"590":{"position":[[289,7]]},"595":{"position":[[282,7]]},"636":{"position":[[480,7]]},"656":{"position":[[264,7]]},"675":{"position":[[991,7]]},"965":{"position":[[53,7]]},"1000":{"position":[[142,7]]},"1058":{"position":[[1392,5]]},"1235":{"position":[[493,7]]},"1282":{"position":[[128,6]]},"1283":{"position":[[145,6]]},"1284":{"position":[[121,6]]},"1313":{"position":[[128,6]]},"1314":{"position":[[145,6]]},"1315":{"position":[[121,6]]},"1341":{"position":[[128,6]]},"1342":{"position":[[145,6]]},"1343":{"position":[[121,6]]},"1360":{"position":[[3955,7]]},"1403":{"position":[[3370,7]]}},"keywords":{}}],["tree",{"_index":584,"title":{},"content":{"18":{"position":[[1526,4]]},"622":{"position":[[388,5]]},"693":{"position":[[2163,4]]},"705":{"position":[[676,4]]},"1024":{"position":[[830,5]]},"1057":{"position":[[1311,4]]},"1086":{"position":[[133,5]]},"1093":{"position":[[331,4]]},"1105":{"position":[[56,6]]},"1387":{"position":[[6608,4]]},"1403":{"position":[[7470,5]]},"1439":{"position":[[6810,4]]},"1461":{"position":[[2625,4]]},"1462":{"position":[[6112,4]]},"1465":{"position":[[3084,4]]},"1467":{"position":[[7224,4]]},"1468":{"position":[[1502,4]]},"1477":{"position":[[2340,4],[2411,6]]}},"keywords":{}}],["tri",{"_index":209,"title":{},"content":{"9":{"position":[[848,6]]},"18":{"position":[[733,3]]},"24":{"position":[[30,5]]},"41":{"position":[[584,5]]},"174":{"position":[[584,5]]},"421":{"position":[[276,3]]},"706":{"position":[[1201,6]]},"800":{"position":[[276,3]]},"861":{"position":[[201,6]]},"892":{"position":[[812,5]]},"895":{"position":[[213,3]]},"898":{"position":[[1570,5]]},"904":{"position":[[867,3]]},"1046":{"position":[[161,3]]},"1112":{"position":[[4479,5]]},"1138":{"position":[[3770,6]]},"1140":{"position":[[3259,6]]},"1167":{"position":[[4263,6]]},"1188":{"position":[[3312,6]]},"1217":{"position":[[3004,6]]},"1228":{"position":[[5085,6]]},"1253":{"position":[[160,3]]},"1395":{"position":[[3220,3],[3381,3]]},"1422":{"position":[[3554,5],[3599,5]]},"1423":{"position":[[2325,5],[2370,5]]}},"keywords":{}}],["tricki",{"_index":4837,"title":{},"content":{"977":{"position":[[23,7]]}},"keywords":{}}],["trig/cos.h",{"_index":7222,"title":{},"content":{"1384":{"position":[[21744,13]]}},"keywords":{}}],["trig/include/cos.h",{"_index":7223,"title":{},"content":{"1384":{"position":[[21758,21]]}},"keywords":{}}],["trig/include/tan.h",{"_index":7225,"title":{},"content":{"1384":{"position":[[21794,21]]}},"keywords":{}}],["trig/src/cos.cpp",{"_index":7218,"title":{},"content":{"1384":{"position":[[21604,19]]}},"keywords":{}}],["trig/src/tan.cpp",{"_index":7219,"title":{},"content":{"1384":{"position":[[21624,19]]}},"keywords":{}}],["trig/tan.h",{"_index":7224,"title":{},"content":{"1384":{"position":[[21780,13]]}},"keywords":{}}],["trigger",{"_index":3530,"title":{},"content":{"693":{"position":[[2127,7]]},"916":{"position":[[368,7]]},"1079":{"position":[[1326,9]]},"1386":{"position":[[4345,7]]}},"keywords":{}}],["trim",{"_index":2904,"title":{},"content":{"606":{"position":[[63,4]]},"615":{"position":[[63,4]]},"619":{"position":[[61,4]]},"690":{"position":[[579,7]]},"954":{"position":[[768,8]]}},"keywords":{}}],["trim_resource_id",{"_index":6465,"title":{},"content":{"1350":{"position":[[3682,18]]},"1352":{"position":[[3654,18]]}},"keywords":{}}],["trivial",{"_index":3628,"title":{},"content":{"703":{"position":[[144,7]]},"930":{"position":[[27,8]]},"937":{"position":[[1113,7]]},"1071":{"position":[[693,7]]},"1138":{"position":[[5956,7]]},"1148":{"position":[[3306,7]]},"1186":{"position":[[1530,7]]},"1187":{"position":[[1543,7]]},"1188":{"position":[[6269,7]]},"1197":{"position":[[768,7]]},"1198":{"position":[[778,7]]},"1199":{"position":[[806,7]]},"1200":{"position":[[673,7]]}},"keywords":{}}],["troubleshoot",{"_index":6198,"title":{},"content":{"1249":{"position":[[221,16]]}},"keywords":{}}],["true",{"_index":900,"title":{"626":{"position":[[0,5]]}},"content":{"50":{"position":[[444,4]]},"89":{"position":[[1178,4]]},"94":{"position":[[668,5]]},"98":{"position":[[660,4],[770,5]]},"99":{"position":[[1060,5]]},"197":{"position":[[444,4]]},"221":{"position":[[1178,4]]},"226":{"position":[[668,5]]},"230":{"position":[[660,4],[770,5]]},"231":{"position":[[1060,5]]},"242":{"position":[[604,5]]},"294":{"position":[[400,4]]},"298":{"position":[[2921,5]]},"306":{"position":[[504,5]]},"347":{"position":[[57,5]]},"362":{"position":[[1158,5]]},"374":{"position":[[1364,5]]},"405":{"position":[[1956,5]]},"435":{"position":[[217,4]]},"438":{"position":[[103,4]]},"442":{"position":[[111,5],[329,4],[413,4]]},"451":{"position":[[255,5]]},"593":{"position":[[260,4]]},"597":{"position":[[238,4]]},"598":{"position":[[216,4]]},"599":{"position":[[214,4]]},"600":{"position":[[255,4]]},"601":{"position":[[219,4],[256,4]]},"602":{"position":[[266,4],[305,4]]},"603":{"position":[[251,4]]},"617":{"position":[[361,5]]},"618":{"position":[[274,4],[373,4],[410,4]]},"626":{"position":[[0,5]]},"628":{"position":[[56,4],[120,5],[134,6],[144,4],[164,4],[180,6],[210,6],[220,4]]},"629":{"position":[[56,4],[119,5],[133,6],[143,4],[163,4],[179,6],[189,4]]},"630":{"position":[[183,4],[202,4],[262,4],[278,4],[333,4],[370,4],[426,4]]},"643":{"position":[[274,6],[288,5],[358,6],[382,6]]},"648":{"position":[[432,5],[632,4]]},"666":{"position":[[271,5]]},"712":{"position":[[1367,5],[1704,5]]},"741":{"position":[[1158,5]]},"753":{"position":[[1364,5]]},"784":{"position":[[1956,5]]},"814":{"position":[[217,4]]},"817":{"position":[[103,4]]},"821":{"position":[[111,5],[329,4],[413,4]]},"830":{"position":[[255,5]]},"840":{"position":[[788,4]]},"850":{"position":[[618,4]]},"851":{"position":[[2247,5]]},"867":{"position":[[401,5]]},"890":{"position":[[393,4]]},"907":{"position":[[272,4],[503,5]]},"917":{"position":[[253,5]]},"944":{"position":[[2137,4]]},"976":{"position":[[211,4]]},"990":{"position":[[835,4],[1237,5]]},"991":{"position":[[1714,5],[1902,5]]},"1026":{"position":[[1394,4],[1582,4]]},"1044":{"position":[[2638,4],[2707,6]]},"1050":{"position":[[2888,5],[3487,6],[4213,5]]},"1058":{"position":[[610,4]]},"1064":{"position":[[2140,5]]},"1070":{"position":[[182,4],[203,8],[311,4],[332,8],[603,5],[775,4]]},"1072":{"position":[[695,5],[1023,5],[1225,5]]},"1077":{"position":[[335,4]]},"1078":{"position":[[186,4]]},"1079":{"position":[[492,4]]},"1086":{"position":[[577,4]]},"1100":{"position":[[305,4]]},"1110":{"position":[[60,4]]},"1112":{"position":[[138,4]]},"1120":{"position":[[185,4]]},"1226":{"position":[[2010,5],[2127,5],[2151,5]]},"1237":{"position":[[2180,5],[2297,5],[2321,5]]},"1346":{"position":[[412,4]]},"1348":{"position":[[3754,4]]},"1358":{"position":[[2639,4]]},"1370":{"position":[[2701,5]]},"1384":{"position":[[19525,5]]},"1395":{"position":[[1684,4]]},"1405":{"position":[[2114,5],[2307,4],[3568,5]]},"1407":{"position":[[2155,5],[2728,4],[3989,5]]},"1410":{"position":[[2555,5],[2750,4],[4977,5]]},"1422":{"position":[[4380,5]]},"1423":{"position":[[1877,5],[3743,5]]},"1429":{"position":[[3539,5]]},"1446":{"position":[[2083,5]]},"1454":{"position":[[7545,5],[9782,5]]},"1459":{"position":[[1596,5],[2056,5]]},"1486":{"position":[[2650,5]]}},"keywords":{}}],["true)compress_png",{"_index":6879,"title":{},"content":{"1363":{"position":[[4139,18]]}},"keywords":{}}],["true)error",{"_index":6878,"title":{},"content":{"1363":{"position":[[4114,11]]}},"keywords":{}}],["true)optim",{"_index":6880,"title":{},"content":{"1363":{"position":[[4171,17]]}},"keywords":{}}],["true)warn",{"_index":6877,"title":{},"content":{"1363":{"position":[[4087,13]]}},"keywords":{}}],["true.collect_tombston",{"_index":6536,"title":{},"content":{"1354":{"position":[[2309,24]]}},"keywords":{}}],["true.disable_anim",{"_index":6538,"title":{},"content":{"1354":{"position":[[2424,24]]}},"keywords":{}}],["true.label",{"_index":6540,"title":{},"content":{"1354":{"position":[[2495,12]]}},"keywords":{}}],["true.local_en",{"_index":6320,"title":{},"content":{"1346":{"position":[[384,18]]}},"keywords":{}}],["truncat",{"_index":3200,"title":{},"content":{"648":{"position":[[304,10]]}},"keywords":{}}],["trust",{"_index":231,"title":{},"content":{"9":{"position":[[1256,7]]}},"keywords":{}}],["truth",{"_index":3057,"title":{},"content":{"628":{"position":[[105,5]]},"629":{"position":[[104,5]]},"630":{"position":[[49,5]]},"1123":{"position":[[112,6]]}},"keywords":{}}],["try_skip_code_sign",{"_index":6870,"title":{},"content":{"1363":{"position":[[2583,22]]},"1367":{"position":[[6241,22]]}},"keywords":{}}],["tsan",{"_index":4583,"title":{},"content":{"937":{"position":[[185,5]]}},"keywords":{}}],["tset",{"_index":3980,"title":{},"content":{"861":{"position":[[941,6]]},"1090":{"position":[[28,5]]}},"keywords":{}}],["tti",{"_index":5768,"title":{},"content":{"1120":{"position":[[166,4]]}},"keywords":{}}],["ttl",{"_index":1053,"title":{},"content":{"85":{"position":[[390,3]]},"217":{"position":[[390,3]]},"1075":{"position":[[123,3],[214,3],[715,3]]},"1204":{"position":[[205,3],[7373,3],[8265,3]]}},"keywords":{}}],["tune",{"_index":5913,"title":{},"content":{"1136":{"position":[[6396,4]]},"1138":{"position":[[10058,4]]},"1140":{"position":[[8984,4]]},"1142":{"position":[[4428,4]]},"1144":{"position":[[756,4]]},"1146":{"position":[[4368,4]]},"1148":{"position":[[7959,4]]},"1150":{"position":[[991,4]]},"1152":{"position":[[689,4]]},"1154":{"position":[[844,4]]},"1155":{"position":[[4464,4]]},"1156":{"position":[[4042,4]]},"1157":{"position":[[627,4]]},"1158":{"position":[[621,4]]},"1159":{"position":[[621,4]]},"1161":{"position":[[1616,4]]},"1163":{"position":[[1002,4]]},"1165":{"position":[[831,4]]},"1167":{"position":[[9988,4]]},"1169":{"position":[[3096,4]]},"1171":{"position":[[1337,4]]},"1172":{"position":[[2722,4]]},"1173":{"position":[[1409,4]]},"1174":{"position":[[837,4]]},"1175":{"position":[[833,4]]},"1176":{"position":[[1002,4]]},"1177":{"position":[[923,4]]},"1178":{"position":[[1240,4]]},"1179":{"position":[[1037,4]]},"1180":{"position":[[1308,4]]},"1181":{"position":[[1828,4]]},"1182":{"position":[[871,4]]},"1183":{"position":[[826,4]]},"1185":{"position":[[671,4]]},"1186":{"position":[[5632,4]]},"1187":{"position":[[5645,4]]},"1188":{"position":[[10371,4]]},"1190":{"position":[[2002,4]]},"1191":{"position":[[4232,4]]},"1192":{"position":[[4407,4]]},"1193":{"position":[[4459,4]]},"1194":{"position":[[4099,4]]},"1195":{"position":[[4077,4]]},"1196":{"position":[[3887,4]]},"1197":{"position":[[4870,4]]},"1198":{"position":[[4880,4]]},"1199":{"position":[[4908,4]]},"1200":{"position":[[4775,4]]},"1201":{"position":[[4035,4]]},"1202":{"position":[[779,4],[5177,4],[9574,4]]},"1203":{"position":[[4269,4]]},"1204":{"position":[[4113,4],[5015,4],[5945,4],[6847,4],[7833,4],[8787,4],[9734,4],[10664,4]]},"1205":{"position":[[5442,4]]},"1206":{"position":[[4141,4]]},"1207":{"position":[[4070,4]]},"1209":{"position":[[5418,4]]},"1211":{"position":[[742,4]]},"1213":{"position":[[513,4]]},"1215":{"position":[[597,4]]},"1217":{"position":[[8729,4]]},"1219":{"position":[[3984,4]]},"1221":{"position":[[716,4]]},"1222":{"position":[[3855,4]]},"1223":{"position":[[3865,4]]},"1224":{"position":[[3298,4]]},"1226":{"position":[[9197,4]]},"1228":{"position":[[10810,4]]},"1235":{"position":[[6678,4]]},"1237":{"position":[[9367,4]]}},"keywords":{}}],["tup",{"_index":666,"title":{},"content":{"22":{"position":[[1009,4]]}},"keywords":{}}],["tupl",{"_index":1269,"title":{"670":{"position":[[0,6]]}},"content":{"99":{"position":[[390,5]]},"118":{"position":[[212,5]]},"129":{"position":[[59,5]]},"131":{"position":[[48,5],[94,5],[165,5]]},"134":{"position":[[53,5]]},"146":{"position":[[65,5]]},"148":{"position":[[58,5]]},"149":{"position":[[59,5]]},"150":{"position":[[97,5],[125,5]]},"231":{"position":[[390,5]]},"252":{"position":[[59,5]]},"254":{"position":[[48,5],[94,5],[165,5]]},"257":{"position":[[53,5]]},"269":{"position":[[65,5]]},"271":{"position":[[58,5]]},"272":{"position":[[59,5]]},"273":{"position":[[97,5],[125,5]]},"437":{"position":[[234,5]]},"534":{"position":[[212,5]]},"607":{"position":[[199,6]]},"662":{"position":[[168,5]]},"670":{"position":[[43,5],[50,6],[67,5],[188,7],[214,6],[221,7]]},"673":{"position":[[122,6],[248,5]]},"816":{"position":[[234,5]]},"898":{"position":[[1775,7]]},"900":{"position":[[910,5],[1005,5]]},"1057":{"position":[[937,5]]},"1362":{"position":[[12323,6],[12972,5]]},"1364":{"position":[[12828,6],[13672,5]]},"1367":{"position":[[12231,6],[12880,5]]},"1382":{"position":[[10039,6],[11334,5]]},"1384":{"position":[[16384,6],[18988,5]]},"1385":{"position":[[6265,6],[6912,5]]},"1387":{"position":[[9638,6],[10285,5]]},"1388":{"position":[[9827,5]]},"1442":{"position":[[2707,5]]},"1485":{"position":[[4198,5]]}},"keywords":{}}],["tuple([1,2,3",{"_index":3355,"title":{},"content":{"670":{"position":[[235,14]]}},"keywords":{}}],["tuple(a",{"_index":3353,"title":{},"content":{"670":{"position":[[4,8]]}},"keywords":{}}],["tuple[("function"",{"_index":1021,"title":{},"content":{"82":{"position":[[87,28]]},"214":{"position":[[87,28]]}},"keywords":{}}],["tuple[actionerrorloc",{"_index":851,"title":{},"content":{"41":{"position":[[126,26]]},"174":{"position":[[126,26]]}},"keywords":{}}],["tuple[artifact",{"_index":1114,"title":{},"content":{"92":{"position":[[57,15],[104,15]]},"224":{"position":[[57,15],[104,15]]}},"keywords":{}}],["tuple[int",{"_index":4372,"title":{},"content":{"900":{"position":[[875,10],[976,10]]}},"keywords":{}}],["tuple[output_artifact",{"_index":1115,"title":{},"content":{"92":{"position":[[163,22]]},"224":{"position":[[163,22]]}},"keywords":{}}],["tuple[str",{"_index":1365,"title":{},"content":{"133":{"position":[[38,10]]},"242":{"position":[[59,10]]},"256":{"position":[[38,10]]},"329":{"position":[[126,10]]},"334":{"position":[[65,10]]},"418":{"position":[[31,10],[72,10]]},"424":{"position":[[63,10],[110,10]]},"427":{"position":[[62,10]]},"447":{"position":[[83,10]]},"474":{"position":[[65,10]]},"477":{"position":[[80,10]]},"593":{"position":[[34,10]]},"618":{"position":[[36,10]]},"797":{"position":[[31,10],[72,10]]},"803":{"position":[[63,10],[110,10]]},"806":{"position":[[62,10]]},"826":{"position":[[83,10]]},"1064":{"position":[[1616,10],[1663,10]]}},"keywords":{}}],["turn",{"_index":678,"title":{},"content":{"22":{"position":[[1700,4]]},"347":{"position":[[164,6]]},"706":{"position":[[1838,5]]},"711":{"position":[[600,5],[853,5]]},"722":{"position":[[266,6],[377,6]]},"888":{"position":[[852,6]]},"892":{"position":[[742,4]]},"1050":{"position":[[866,6]]},"1057":{"position":[[1091,7]]},"1082":{"position":[[148,4],[494,4]]},"1083":{"position":[[251,4]]},"1136":{"position":[[5465,6]]},"1138":{"position":[[9127,6]]},"1140":{"position":[[8053,6]]},"1142":{"position":[[3497,6]]},"1146":{"position":[[3437,6]]},"1148":{"position":[[6477,6]]},"1155":{"position":[[3533,6]]},"1156":{"position":[[3111,6]]},"1161":{"position":[[1004,6]]},"1167":{"position":[[9057,6]]},"1181":{"position":[[1216,6]]},"1186":{"position":[[4701,6]]},"1187":{"position":[[4714,6]]},"1188":{"position":[[9440,6]]},"1191":{"position":[[3301,6]]},"1192":{"position":[[3476,6]]},"1193":{"position":[[3528,6]]},"1194":{"position":[[3168,6]]},"1195":{"position":[[3146,6]]},"1196":{"position":[[2956,6]]},"1197":{"position":[[3939,6]]},"1198":{"position":[[3949,6]]},"1199":{"position":[[3977,6]]},"1200":{"position":[[3844,6]]},"1201":{"position":[[3104,6]]},"1202":{"position":[[4246,6],[8643,6]]},"1203":{"position":[[3338,6]]},"1204":{"position":[[3182,6]]},"1205":{"position":[[4511,6]]},"1206":{"position":[[2982,6]]},"1207":{"position":[[3139,6]]},"1209":{"position":[[4487,6]]},"1217":{"position":[[7798,6]]},"1222":{"position":[[2908,6]]},"1223":{"position":[[2918,6]]},"1226":{"position":[[8266,6]]},"1228":{"position":[[9879,6]]},"1235":{"position":[[5747,6]]},"1237":{"position":[[8436,6]]}},"keywords":{}}],["tutori",{"_index":604,"title":{},"content":{"19":{"position":[[125,9]]}},"keywords":{}}],["twice",{"_index":874,"title":{},"content":{"45":{"position":[[179,6]]},"192":{"position":[[179,6]]},"1004":{"position":[[2027,5]]},"1084":{"position":[[704,5]]}},"keywords":{}}],["two",{"_index":728,"title":{},"content":{"23":{"position":[[1462,3],[1990,3]]},"81":{"position":[[305,3]]},"213":{"position":[[305,3]]},"294":{"position":[[1129,3]]},"297":{"position":[[957,3]]},"301":{"position":[[844,3]]},"309":{"position":[[701,3]]},"310":{"position":[[549,3]]},"311":{"position":[[397,3]]},"389":{"position":[[280,3]]},"440":{"position":[[65,3]]},"577":{"position":[[719,3]]},"604":{"position":[[499,4]]},"614":{"position":[[490,3]]},"616":{"position":[[887,3],[978,3],[1096,3]]},"636":{"position":[[250,3],[689,6]]},"662":{"position":[[522,3]]},"693":{"position":[[4246,3]]},"717":{"position":[[264,3]]},"768":{"position":[[280,3]]},"819":{"position":[[65,3]]},"848":{"position":[[154,3]]},"864":{"position":[[75,3]]},"890":{"position":[[3538,3]]},"892":{"position":[[253,3]]},"898":{"position":[[2780,3]]},"911":{"position":[[22,3]]},"924":{"position":[[1418,3]]},"937":{"position":[[2830,3],[2857,3]]},"939":{"position":[[256,3]]},"942":{"position":[[1327,3]]},"975":{"position":[[39,3]]},"977":{"position":[[182,3]]},"987":{"position":[[510,3]]},"988":{"position":[[775,3]]},"990":{"position":[[46,3]]},"995":{"position":[[795,3]]},"1004":{"position":[[747,3]]},"1006":{"position":[[21,3]]},"1025":{"position":[[292,3]]},"1048":{"position":[[83,3]]},"1050":{"position":[[348,3]]},"1070":{"position":[[56,3]]},"1094":{"position":[[25,3]]},"1096":{"position":[[105,3]]},"1103":{"position":[[1552,3]]},"1112":{"position":[[1438,3],[2976,3]]},"1114":{"position":[[765,3],[989,3]]},"1120":{"position":[[646,3]]},"1136":{"position":[[3759,3],[3866,3]]},"1138":{"position":[[7421,3],[7528,3]]},"1140":{"position":[[6347,3],[6454,3]]},"1142":{"position":[[1791,3],[1898,3]]},"1146":{"position":[[1731,3],[1838,3]]},"1148":{"position":[[4771,3],[4878,3]]},"1155":{"position":[[1827,3],[1934,3]]},"1156":{"position":[[1405,3],[1512,3]]},"1167":{"position":[[7351,3],[7458,3]]},"1169":{"position":[[1190,3],[1297,3]]},"1186":{"position":[[2995,3],[3102,3]]},"1187":{"position":[[3008,3],[3115,3]]},"1188":{"position":[[7734,3],[7841,3]]},"1191":{"position":[[1595,3],[1702,3]]},"1192":{"position":[[1770,3],[1877,3]]},"1193":{"position":[[1822,3],[1929,3]]},"1194":{"position":[[1462,3],[1569,3]]},"1195":{"position":[[1440,3],[1547,3]]},"1196":{"position":[[1250,3],[1357,3]]},"1197":{"position":[[2233,3],[2340,3]]},"1198":{"position":[[2243,3],[2350,3]]},"1199":{"position":[[2271,3],[2378,3]]},"1200":{"position":[[2138,3],[2245,3]]},"1201":{"position":[[1398,3],[1505,3]]},"1202":{"position":[[2540,3],[2647,3],[6937,3],[7044,3]]},"1203":{"position":[[1632,3],[1739,3]]},"1204":{"position":[[1476,3],[1583,3]]},"1205":{"position":[[2805,3],[2912,3]]},"1206":{"position":[[1276,3],[1383,3]]},"1207":{"position":[[1433,3],[1540,3]]},"1209":{"position":[[2781,3],[2888,3]]},"1217":{"position":[[6092,3],[6199,3]]},"1219":{"position":[[2078,3],[2185,3]]},"1222":{"position":[[1202,3],[1309,3]]},"1223":{"position":[[1212,3],[1319,3]]},"1224":{"position":[[1392,3],[1499,3]]},"1226":{"position":[[6560,3],[6667,3]]},"1228":{"position":[[8173,3],[8280,3]]},"1235":{"position":[[4041,3],[4148,3]]},"1237":{"position":[[6730,3],[6837,3]]},"1260":{"position":[[430,3]]},"1291":{"position":[[430,3]]},"1319":{"position":[[430,3]]},"1364":{"position":[[6673,3]]},"1384":{"position":[[5718,3]]},"1454":{"position":[[4566,3]]},"1455":{"position":[[2214,3],[4507,3]]},"1482":{"position":[[1772,3]]},"1487":{"position":[[3792,3],[3861,3]]}},"keywords":{}}],["two"",{"_index":2971,"title":{},"content":{"614":{"position":[[536,10]]}},"keywords":{}}],["two=2",{"_index":3105,"title":{},"content":{"636":{"position":[[668,6]]}},"keywords":{}}],["ty",{"_index":2306,"title":{},"content":{"428":{"position":[[20,3]]},"649":{"position":[[22,3]]},"807":{"position":[[20,3]]}},"keywords":{}}],["type",{"_index":21,"title":{"25":{"position":[[20,4]]},"28":{"position":[[15,4]]},"32":{"position":[[13,4]]},"35":{"position":[[12,4]]},"39":{"position":[[15,4]]},"44":{"position":[[9,4]]},"54":{"position":[[11,4]]},"56":{"position":[[24,4]]},"64":{"position":[[9,4]]},"70":{"position":[[8,4]]},"75":{"position":[[11,4]]},"80":{"position":[[8,4]]},"100":{"position":[[14,4]]},"105":{"position":[[6,4]]},"115":{"position":[[20,4]]},"117":{"position":[[8,4]]},"120":{"position":[[8,4]]},"124":{"position":[[6,4]]},"152":{"position":[[20,4]]},"154":{"position":[[16,4]]},"160":{"position":[[12,4]]},"162":{"position":[[13,4]]},"167":{"position":[[7,4]]},"169":{"position":[[11,4]]},"172":{"position":[[15,4]]},"177":{"position":[[20,4]]},"180":{"position":[[12,4]]},"184":{"position":[[15,4]]},"188":{"position":[[13,4]]},"191":{"position":[[9,4]]},"201":{"position":[[11,4]]},"203":{"position":[[20,4]]},"208":{"position":[[12,4]]},"212":{"position":[[8,4]]},"232":{"position":[[19,4]]},"235":{"position":[[18,4]]},"241":{"position":[[17,4]]},"244":{"position":[[16,4]]},"247":{"position":[[6,4]]},"275":{"position":[[25,4]]},"287":{"position":[[20,4]]},"290":{"position":[[13,4]]},"293":{"position":[[12,4]]},"313":{"position":[[15,4]]},"321":{"position":[[22,4]]},"323":{"position":[[18,4]]},"339":{"position":[[19,4]]},"343":{"position":[[17,4]]},"452":{"position":[[9,4]]},"458":{"position":[[27,4]]},"464":{"position":[[18,4]]},"479":{"position":[[13,4]]},"482":{"position":[[16,4]]},"485":{"position":[[24,4]]},"493":{"position":[[8,4]]},"498":{"position":[[9,4]]},"499":{"position":[[14,4]]},"504":{"position":[[11,4]]},"509":{"position":[[23,4]]},"512":{"position":[[8,4]]},"515":{"position":[[20,4]]},"517":{"position":[[6,4]]},"527":{"position":[[11,4]]},"529":{"position":[[8,4]]},"533":{"position":[[8,4]]},"536":{"position":[[20,4]]},"538":{"position":[[16,4]]},"544":{"position":[[13,4]]},"549":{"position":[[11,4]]},"552":{"position":[[5,4]]},"562":{"position":[[5,4]]},"588":{"position":[[7,4]]},"671":{"position":[[0,5]]},"672":{"position":[[0,7]]},"836":{"position":[[13,5]]},"899":{"position":[[9,5]]},"900":{"position":[[12,4]]},"901":{"position":[[7,6]]},"902":{"position":[[5,6]]},"929":{"position":[[19,5]]},"1258":{"position":[[12,6]]},"1289":{"position":[[12,6]]},"1317":{"position":[[12,6]]}},"content":{"3":{"position":[[138,5],[230,6]]},"9":{"position":[[605,6]]},"11":{"position":[[531,5]]},"20":{"position":[[623,4]]},"41":{"position":[[610,5]]},"71":{"position":[[127,4]]},"72":{"position":[[285,4]]},"79":{"position":[[263,4]]},"94":{"position":[[1213,4],[1233,4]]},"99":{"position":[[772,5]]},"122":{"position":[[20,4],[26,4]]},"125":{"position":[[176,4]]},"140":{"position":[[143,5]]},"174":{"position":[[610,5]]},"226":{"position":[[1213,4],[1233,4]]},"231":{"position":[[772,5]]},"233":{"position":[[298,5]]},"248":{"position":[[176,4]]},"263":{"position":[[143,5]]},"306":{"position":[[683,5]]},"332":{"position":[[350,5]]},"344":{"position":[[331,4]]},"349":{"position":[[16,4]]},"350":{"position":[[21,4]]},"351":{"position":[[16,4]]},"352":{"position":[[17,4]]},"353":{"position":[[17,4]]},"354":{"position":[[12,4]]},"355":{"position":[[13,4]]},"356":{"position":[[10,4]]},"357":{"position":[[13,4]]},"358":{"position":[[15,4]]},"359":{"position":[[6,4]]},"360":{"position":[[10,4]]},"361":{"position":[[10,4]]},"362":{"position":[[966,5]]},"363":{"position":[[391,5]]},"364":{"position":[[26,4]]},"365":{"position":[[23,4]]},"366":{"position":[[217,5]]},"367":{"position":[[245,5]]},"368":{"position":[[465,5]]},"369":{"position":[[12,4]]},"370":{"position":[[16,4]]},"371":{"position":[[24,4]]},"374":{"position":[[28,5],[399,5],[570,4],[903,4],[1704,4],[1761,5],[1829,4]]},"376":{"position":[[7,4]]},"377":{"position":[[468,5]]},"378":{"position":[[16,4]]},"379":{"position":[[172,5]]},"380":{"position":[[13,4]]},"381":{"position":[[9,4]]},"382":{"position":[[10,4]]},"383":{"position":[[20,4]]},"384":{"position":[[16,4]]},"385":{"position":[[26,4]]},"386":{"position":[[325,5]]},"387":{"position":[[8,4]]},"388":{"position":[[13,4]]},"389":{"position":[[176,5],[284,5],[501,5]]},"390":{"position":[[15,4]]},"391":{"position":[[29,4]]},"392":{"position":[[37,4]]},"393":{"position":[[25,4]]},"394":{"position":[[23,4]]},"395":{"position":[[29,4]]},"396":{"position":[[255,5]]},"397":{"position":[[110,5]]},"398":{"position":[[129,5]]},"399":{"position":[[129,5]]},"402":{"position":[[30,5],[46,5],[69,5],[91,5],[112,5],[132,5],[148,5],[177,5],[205,5],[221,5],[243,5],[267,5],[284,5],[303,5],[329,5],[350,5],[373,5],[404,5],[434,5],[456,5]]},"405":{"position":[[890,4],[963,4],[1152,5]]},"427":{"position":[[159,4],[572,4]]},"428":{"position":[[130,4]]},"434":{"position":[[69,5]]},"473":{"position":[[231,5]]},"480":{"position":[[36,4]]},"483":{"position":[[39,4]]},"494":{"position":[[127,4]]},"495":{"position":[[285,4]]},"498":{"position":[[9,4]]},"508":{"position":[[263,4]]},"531":{"position":[[20,4],[26,4]]},"566":{"position":[[361,4]]},"630":{"position":[[84,5]]},"636":{"position":[[90,5]]},"638":{"position":[[31,4],[390,4],[531,4],[563,4],[1131,5]]},"640":{"position":[[18,5],[33,4],[56,4],[124,5]]},"644":{"position":[[118,5]]},"648":{"position":[[103,5]]},"649":{"position":[[26,5],[82,5]]},"652":{"position":[[84,5]]},"662":{"position":[[99,5]]},"663":{"position":[[46,4],[105,5],[262,4],[314,4],[406,4],[527,5],[582,4],[616,4]]},"668":{"position":[[64,5]]},"669":{"position":[[46,5]]},"670":{"position":[[116,5]]},"671":{"position":[[26,5],[64,4],[85,5],[226,8]]},"672":{"position":[[0,7]]},"675":{"position":[[44,6],[832,5],[1328,7]]},"693":{"position":[[1306,5],[4463,4],[4525,5]]},"711":{"position":[[283,4],[444,4]]},"715":{"position":[[425,4],[939,4],[1124,4],[1421,5]]},"717":{"position":[[546,4],[686,4]]},"718":{"position":[[322,5]]},"722":{"position":[[185,5]]},"728":{"position":[[16,4]]},"729":{"position":[[21,4]]},"730":{"position":[[16,4]]},"731":{"position":[[17,4]]},"732":{"position":[[17,4]]},"733":{"position":[[12,4]]},"734":{"position":[[13,4]]},"735":{"position":[[10,4]]},"736":{"position":[[13,4]]},"737":{"position":[[15,4]]},"738":{"position":[[6,4]]},"739":{"position":[[10,4]]},"740":{"position":[[10,4]]},"741":{"position":[[966,5]]},"742":{"position":[[391,5]]},"743":{"position":[[26,4]]},"744":{"position":[[23,4]]},"745":{"position":[[217,5]]},"746":{"position":[[245,5]]},"747":{"position":[[465,5]]},"748":{"position":[[12,4]]},"749":{"position":[[16,4]]},"750":{"position":[[24,4]]},"753":{"position":[[28,5],[399,5],[570,4],[903,4],[1704,4],[1761,5],[1829,4]]},"755":{"position":[[7,4]]},"756":{"position":[[468,5]]},"757":{"position":[[16,4]]},"758":{"position":[[172,5]]},"759":{"position":[[13,4]]},"760":{"position":[[9,4]]},"761":{"position":[[10,4]]},"762":{"position":[[20,4]]},"763":{"position":[[16,4]]},"764":{"position":[[26,4]]},"765":{"position":[[325,5]]},"766":{"position":[[8,4]]},"767":{"position":[[13,4]]},"768":{"position":[[176,5],[284,5],[501,5]]},"769":{"position":[[15,4]]},"770":{"position":[[29,4]]},"771":{"position":[[37,4]]},"772":{"position":[[25,4]]},"773":{"position":[[23,4]]},"774":{"position":[[29,4]]},"775":{"position":[[255,5]]},"776":{"position":[[110,5]]},"777":{"position":[[129,5]]},"778":{"position":[[129,5]]},"781":{"position":[[30,5],[46,5],[69,5],[91,5],[112,5],[132,5],[148,5],[177,5],[205,5],[221,5],[243,5],[267,5],[284,5],[303,5],[329,5],[350,5],[373,5],[404,5],[434,5],[456,5]]},"784":{"position":[[890,4],[963,4],[1152,5]]},"806":{"position":[[159,4],[572,4]]},"807":{"position":[[130,4]]},"813":{"position":[[69,5]]},"835":{"position":[[63,4],[225,4]]},"836":{"position":[[9,5]]},"846":{"position":[[40,6],[1019,5]]},"847":{"position":[[126,4]]},"850":{"position":[[68,5]]},"861":{"position":[[22,4]]},"864":{"position":[[357,6]]},"887":{"position":[[33,6]]},"890":{"position":[[220,6],[1692,5],[1925,4],[2052,4],[2091,4],[2453,4],[4442,4],[6155,5]]},"898":{"position":[[1746,5],[1856,5],[1964,5],[2595,5],[2789,6]]},"900":{"position":[[2,4],[56,5],[282,4],[446,4],[483,6],[494,4],[554,5],[641,4],[681,4],[721,6],[792,4],[870,4],[971,4],[1060,4],[1073,4],[1144,4],[1223,4],[1293,4],[1324,4],[1491,4],[1608,4],[1777,5],[1936,4],[1978,4],[2067,6]]},"901":{"position":[[9,4],[68,5],[224,4],[276,4],[368,4],[489,5],[544,4],[578,4]]},"902":{"position":[[9,4],[379,4],[520,4],[552,4],[1116,5]]},"910":{"position":[[489,4]]},"911":{"position":[[26,5],[88,4]]},"924":{"position":[[665,4],[1224,4]]},"939":{"position":[[260,5]]},"940":{"position":[[884,5]]},"944":{"position":[[17,5],[443,6]]},"973":{"position":[[91,4],[159,5]]},"983":{"position":[[139,4]]},"1017":{"position":[[378,5]]},"1043":{"position":[[205,5]]},"1044":{"position":[[172,5],[212,5],[311,4]]},"1049":{"position":[[564,5]]},"1052":{"position":[[1349,4]]},"1053":{"position":[[637,5],[844,5],[909,4],[1297,6]]},"1054":{"position":[[752,4],[1153,4],[1247,4],[1610,4]]},"1057":{"position":[[408,4],[782,4]]},"1069":{"position":[[111,4],[148,4],[662,4],[759,5],[795,4]]},"1081":{"position":[[47,5],[100,4]]},"1112":{"position":[[4505,5]]},"1121":{"position":[[33,5]]},"1125":{"position":[[72,5],[104,4]]},"1126":{"position":[[798,5],[831,4],[1093,5],[1124,4],[1386,5],[1417,4],[1508,4]]},"1127":{"position":[[498,6]]},"1136":{"position":[[1345,4],[4588,5],[4610,4]]},"1138":{"position":[[8250,5],[8272,4]]},"1140":{"position":[[7176,5],[7198,4]]},"1142":{"position":[[2620,5],[2642,4]]},"1146":{"position":[[2560,5],[2582,4]]},"1148":{"position":[[1701,4],[5600,5],[5622,4]]},"1155":{"position":[[2656,5],[2678,4]]},"1156":{"position":[[2234,5],[2256,4]]},"1167":{"position":[[8180,5],[8202,4]]},"1169":{"position":[[2019,5],[2041,4]]},"1172":{"position":[[1513,4]]},"1173":{"position":[[813,4]]},"1186":{"position":[[3824,5],[3846,4]]},"1187":{"position":[[3837,5],[3859,4]]},"1188":{"position":[[8563,5],[8585,4]]},"1191":{"position":[[2424,5],[2446,4]]},"1192":{"position":[[2599,5],[2621,4]]},"1193":{"position":[[2651,5],[2673,4]]},"1194":{"position":[[2291,5],[2313,4]]},"1195":{"position":[[2269,5],[2291,4]]},"1196":{"position":[[2079,5],[2101,4]]},"1197":{"position":[[3062,5],[3084,4]]},"1198":{"position":[[3072,5],[3094,4]]},"1199":{"position":[[3100,5],[3122,4]]},"1200":{"position":[[2967,5],[2989,4]]},"1201":{"position":[[2227,5],[2249,4]]},"1202":{"position":[[3369,5],[3391,4],[7766,5],[7788,4]]},"1203":{"position":[[2461,5],[2483,4]]},"1204":{"position":[[2305,5],[2327,4]]},"1205":{"position":[[825,4],[3634,5],[3656,4]]},"1206":{"position":[[2105,5],[2127,4]]},"1207":{"position":[[2262,5],[2284,4]]},"1209":{"position":[[578,4],[3610,5],[3632,4]]},"1217":{"position":[[6921,5],[6943,4]]},"1219":{"position":[[2907,5],[2929,4]]},"1222":{"position":[[2031,5],[2053,4]]},"1223":{"position":[[2041,5],[2063,4]]},"1224":{"position":[[2221,5],[2243,4]]},"1226":{"position":[[2518,4],[7389,5],[7411,4]]},"1228":{"position":[[9002,5],[9024,4]]},"1235":{"position":[[1838,4],[4870,5],[4892,4]]},"1237":{"position":[[2688,4],[7559,5],[7581,4]]},"1243":{"position":[[37,5]]},"1259":{"position":[[1082,4]]},"1271":{"position":[[125,4],[320,4]]},"1290":{"position":[[1082,4]]},"1302":{"position":[[125,4],[320,4]]},"1318":{"position":[[1082,4]]},"1330":{"position":[[125,4],[320,4]]},"1355":{"position":[[3928,5]]},"1360":{"position":[[1253,5]]},"1383":{"position":[[1131,5],[7658,5],[7678,4],[7958,4],[8109,5]]},"1397":{"position":[[1761,5],[1810,4],[1832,4]]},"1403":{"position":[[1156,5],[6758,5],[6778,4],[7058,4],[7209,5]]},"1422":{"position":[[639,5],[3268,5],[3292,4],[3339,4],[3404,4],[3985,6]]},"1424":{"position":[[1012,5]]},"1426":{"position":[[2328,4]]},"1427":{"position":[[3073,5]]},"1432":{"position":[[1258,5]]},"1439":{"position":[[3747,5]]},"1462":{"position":[[4111,7],[8702,4],[8820,4]]},"1465":{"position":[[1129,7],[3993,4],[4174,4]]},"1467":{"position":[[4669,7],[10185,4],[10553,7],[10591,4]]},"1469":{"position":[[557,5],[1892,5],[1910,4]]},"1478":{"position":[[1008,5],[2625,5]]},"1486":{"position":[[2247,4],[2400,4],[5544,4],[5721,4]]}},"keywords":{}}],["type("hello"",{"_index":3362,"title":{},"content":{"671":{"position":[[256,23]]}},"keywords":{}}],["type(0",{"_index":3360,"title":{},"content":{"671":{"position":[[172,7]]}},"keywords":{}}],["type(1",{"_index":3361,"title":{},"content":{"671":{"position":[[199,7]]}},"keywords":{}}],["type(a",{"_index":3356,"title":{},"content":{"671":{"position":[[4,7]]}},"keywords":{}}],["type(non",{"_index":3358,"title":{},"content":{"671":{"position":[[137,10]]}},"keywords":{}}],["type='tar.gz",{"_index":7914,"title":{},"content":{"1422":{"position":[[4204,14]]}},"keywords":{}}],["type_stub",{"_index":7296,"title":{},"content":{"1387":{"position":[[3940,10]]},"1465":{"position":[[1085,11]]}},"keywords":{}}],["typecheck",{"_index":773,"title":{"1223":{"position":[[14,10]]}},"content":{"23":{"position":[[3025,13]]},"1056":{"position":[[1386,13]]},"1148":{"position":[[7492,10]]},"1186":{"position":[[1044,10]]},"1187":{"position":[[1057,10]]},"1188":{"position":[[5783,10]]},"1221":{"position":[[120,9],[147,12]]},"1223":{"position":[[17,12],[60,9]]},"1471":{"position":[[5426,11]]},"1472":{"position":[[6312,11]]}},"keywords":{}}],["typere.directori",{"_index":1066,"title":{},"content":{"85":{"position":[[715,16]]},"217":{"position":[[715,16]]}},"keywords":{}}],["typere.treeis_directori",{"_index":1065,"title":{},"content":{"85":{"position":[[659,24]]},"217":{"position":[[659,24]]}},"keywords":{}}],["types.th",{"_index":4369,"title":{},"content":{"900":{"position":[[782,9]]}},"keywords":{}}],["typic",{"_index":968,"title":{},"content":{"69":{"position":[[168,9]]},"94":{"position":[[1544,9]]},"226":{"position":[[1544,9]]},"362":{"position":[[1479,9]]},"407":{"position":[[150,9]]},"408":{"position":[[459,9],[698,9]]},"418":{"position":[[207,7]]},"427":{"position":[[282,9]]},"457":{"position":[[168,9]]},"622":{"position":[[35,9]]},"681":{"position":[[118,10]]},"690":{"position":[[164,9]]},"741":{"position":[[1479,9]]},"786":{"position":[[150,9]]},"787":{"position":[[459,9],[698,9]]},"797":{"position":[[207,7]]},"806":{"position":[[282,9]]},"1105":{"position":[[1094,10]]},"1112":{"position":[[1311,9]]},"1181":{"position":[[634,9]]},"1355":{"position":[[5884,9],[6852,9]]},"1383":{"position":[[5373,9]]},"1393":{"position":[[4224,9],[7058,9],[7380,9],[7749,9]]},"1395":{"position":[[1862,9]]},"1398":{"position":[[4326,9]]},"1427":{"position":[[5057,9],[6051,9]]},"1457":{"position":[[1648,9]]}},"keywords":{}}],["typing.ani",{"_index":823,"title":{},"content":{"33":{"position":[[27,10]]},"61":{"position":[[30,10]]},"81":{"position":[[70,11]]},"82":{"position":[[71,13],[126,13]]},"99":{"position":[[415,11]]},"119":{"position":[[52,12]]},"157":{"position":[[22,10]]},"189":{"position":[[27,10]]},"206":{"position":[[27,10]]},"213":{"position":[[70,11]]},"214":{"position":[[71,13],[126,13]]},"231":{"position":[[415,11]]},"368":{"position":[[373,11]]},"373":{"position":[[330,10]]},"374":{"position":[[753,11]]},"389":{"position":[[1717,11],[1764,11]]},"421":{"position":[[36,12]]},"427":{"position":[[90,11]]},"448":{"position":[[51,11],[96,11],[135,11]]},"459":{"position":[[34,10]]},"490":{"position":[[30,10]]},"535":{"position":[[52,12]]},"541":{"position":[[22,10]]},"555":{"position":[[41,12]]},"558":{"position":[[25,12],[38,11]]},"636":{"position":[[49,11]]},"639":{"position":[[71,12]]},"672":{"position":[[21,11]]},"747":{"position":[[373,11]]},"752":{"position":[[330,10]]},"753":{"position":[[753,11]]},"768":{"position":[[1717,11],[1764,11]]},"800":{"position":[[36,12]]},"806":{"position":[[90,11]]},"827":{"position":[[51,11],[96,11],[135,11]]},"900":{"position":[[499,10]]},"1350":{"position":[[2172,11]]},"1352":{"position":[[2171,11]]},"1362":{"position":[[2926,13]]},"1363":{"position":[[1355,11]]},"1364":{"position":[[2937,13]]},"1367":{"position":[[1511,11],[4226,13]]},"1373":{"position":[[1838,13]]},"1382":{"position":[[1952,13]]},"1384":{"position":[[2676,13]]},"1387":{"position":[[2650,13]]},"1388":{"position":[[2137,13]]},"1415":{"position":[[1554,13]]},"1416":{"position":[[953,13]]},"1462":{"position":[[2408,13],[2842,12]]},"1467":{"position":[[2583,13],[2995,12]]},"1470":{"position":[[1727,11]]},"1471":{"position":[[1250,13]]},"1473":{"position":[[1302,13]]}},"keywords":{}}],["typing.any"",{"_index":2203,"title":{},"content":{"411":{"position":[[153,17]]},"790":{"position":[[153,17]]}},"keywords":{}}],["typing.cal",{"_index":1187,"title":{},"content":{"94":{"position":[[1084,15]]},"226":{"position":[[1084,15]]},"403":{"position":[[23,16]]},"447":{"position":[[25,16]]},"643":{"position":[[25,16]]},"653":{"position":[[14,16]]},"672":{"position":[[44,16]]},"782":{"position":[[23,16]]},"826":{"position":[[25,16]]},"900":{"position":[[1149,15]]}},"keywords":{}}],["typing.callable["act",{"_index":2202,"title":{},"content":{"411":{"position":[[30,30]]},"790":{"position":[[30,30]]}},"keywords":{}}],["typing.callable[[typing.ani",{"_index":1117,"title":{},"content":{"92":{"position":[[195,28]]},"119":{"position":[[22,29]]},"224":{"position":[[195,28]]},"400":{"position":[[24,29],[164,29]]},"437":{"position":[[19,29]]},"535":{"position":[[22,29]]},"779":{"position":[[24,29],[164,29]]},"816":{"position":[[19,29]]}},"keywords":{}}],["typing.iter",{"_index":1246,"title":{},"content":{"97":{"position":[[81,15]]},"229":{"position":[[81,15]]},"565":{"position":[[23,16]]},"628":{"position":[[11,16]]},"629":{"position":[[11,16]]},"639":{"position":[[18,16]]},"643":{"position":[[47,16]]},"652":{"position":[[12,15]]},"653":{"position":[[36,16]]},"665":{"position":[[16,16]]},"670":{"position":[[13,15]]},"672":{"position":[[72,16]]},"673":{"position":[[15,16]]},"900":{"position":[[1228,15]]}},"keywords":{}}],["typing.iterable[str",{"_index":2746,"title":{},"content":{"590":{"position":[[30,20]]},"592":{"position":[[25,20]]},"604":{"position":[[25,21]]}},"keywords":{}}],["typing.nev",{"_index":3145,"title":{},"content":{"641":{"position":[[22,12]]},"672":{"position":[[97,13]]},"900":{"position":[[1298,12],[1379,12]]}},"keywords":{}}],["u",{"_index":2636,"title":{},"content":{"576":{"position":[[326,6],[381,10]]},"1138":{"position":[[5570,2]]},"1148":{"position":[[2920,2]]},"1167":{"position":[[1631,2]]},"1186":{"position":[[1144,2]]},"1187":{"position":[[1157,2]]},"1188":{"position":[[5883,2]]},"1197":{"position":[[382,2]]},"1198":{"position":[[392,2]]},"1199":{"position":[[420,2]]},"1200":{"position":[[287,2]]}},"keywords":{}}],["u+fffd",{"_index":2750,"title":{},"content":{"590":{"position":[[349,7]]},"656":{"position":[[324,7]]}},"keywords":{}}],["u+x",{"_index":8468,"title":{},"content":{"1477":{"position":[[3068,3]]},"1478":{"position":[[3314,3]]}},"keywords":{}}],["u0429",{"_index":2642,"title":{},"content":{"577":{"position":[[784,6]]}},"keywords":{}}],["u0429"",{"_index":2641,"title":{},"content":{"577":{"position":[[690,12]]}},"keywords":{}}],["u32",{"_index":6229,"title":{},"content":{"1258":{"position":[[106,4]]},"1289":{"position":[[106,4]]},"1317":{"position":[[106,4]]}},"keywords":{}}],["u64",{"_index":5797,"title":{},"content":{"1126":{"position":[[508,4],[613,4],[1021,4],[1252,4],[1277,4]]}},"keywords":{}}],["ubsan",{"_index":4584,"title":{},"content":{"937":{"position":[[191,6]]}},"keywords":{}}],["udid",{"_index":5976,"title":{},"content":{"1167":{"position":[[829,4]]}},"keywords":{}}],["ui",{"_index":5903,"title":{},"content":{"1136":{"position":[[5168,2],[5219,2]]},"1138":{"position":[[8830,2],[8881,2]]},"1140":{"position":[[7756,2],[7807,2]]},"1142":{"position":[[3200,2],[3251,2]]},"1146":{"position":[[3140,2],[3191,2]]},"1148":{"position":[[6180,2],[6231,2]]},"1155":{"position":[[3236,2],[3287,2]]},"1156":{"position":[[2814,2],[2865,2]]},"1161":{"position":[[707,2],[758,2]]},"1167":{"position":[[8760,2],[8811,2]]},"1181":{"position":[[919,2],[970,2]]},"1186":{"position":[[4404,2],[4455,2]]},"1187":{"position":[[4417,2],[4468,2]]},"1188":{"position":[[9143,2],[9194,2]]},"1191":{"position":[[3004,2],[3055,2]]},"1192":{"position":[[3179,2],[3230,2]]},"1193":{"position":[[3231,2],[3282,2]]},"1194":{"position":[[2871,2],[2922,2]]},"1195":{"position":[[2849,2],[2900,2]]},"1196":{"position":[[2659,2],[2710,2]]},"1197":{"position":[[3642,2],[3693,2]]},"1198":{"position":[[3652,2],[3703,2]]},"1199":{"position":[[3680,2],[3731,2]]},"1200":{"position":[[3547,2],[3598,2]]},"1201":{"position":[[2807,2],[2858,2]]},"1202":{"position":[[3949,2],[4000,2],[8346,2],[8397,2]]},"1203":{"position":[[3041,2],[3092,2]]},"1204":{"position":[[2885,2],[2936,2]]},"1205":{"position":[[4214,2],[4265,2]]},"1206":{"position":[[2685,2],[2736,2]]},"1207":{"position":[[2842,2],[2893,2]]},"1209":{"position":[[4190,2],[4241,2]]},"1217":{"position":[[7501,2],[7552,2]]},"1222":{"position":[[2611,2],[2662,2]]},"1223":{"position":[[2621,2],[2672,2]]},"1226":{"position":[[7969,2],[8020,2]]},"1228":{"position":[[9582,2],[9633,2]]},"1235":{"position":[[5450,2],[5501,2]]},"1237":{"position":[[8139,2],[8190,2]]}},"keywords":{}}],["ui_r",{"_index":3693,"title":{},"content":{"708":{"position":[[284,9],[536,9]]}},"keywords":{}}],["ui_test_target_app",{"_index":6972,"title":{},"content":{"1367":{"position":[[6281,19]]}},"keywords":{}}],["uint",{"_index":5736,"title":{},"content":{"1112":{"position":[[3119,5]]}},"keywords":{}}],["ultim",{"_index":5655,"title":{},"content":{"1104":{"position":[[345,10]]}},"keywords":{}}],["un",{"_index":6811,"title":{},"content":{"1362":{"position":[[11347,2],[11716,2],[12156,2]]},"1364":{"position":[[8338,2],[12314,2],[12661,2]]},"1367":{"position":[[11717,2],[12064,2]]},"1373":{"position":[[6369,2],[6737,2],[7196,2]]},"1382":{"position":[[8216,2],[8566,2],[9057,2],[9517,2],[9872,2]]},"1384":{"position":[[7493,2],[7907,2],[8524,2],[9071,2],[14561,2],[14911,2],[15402,2],[15862,2],[16217,2],[19291,2]]},"1385":{"position":[[4446,2],[4795,2],[5285,2],[5744,2],[6098,2]]},"1387":{"position":[[7819,2],[8168,2],[8658,2],[9117,2],[9471,2]]},"1415":{"position":[[4328,2],[4696,2],[5268,2]]},"1416":{"position":[[3184,2]]},"1420":{"position":[[2321,2]]},"1448":{"position":[[2267,2]]},"1449":{"position":[[2201,2]]},"1454":{"position":[[5893,2],[6306,2],[6859,2],[8029,2],[8341,2],[8661,2],[9304,2]]},"1455":{"position":[[2664,2]]},"1465":{"position":[[3258,2],[3669,2]]},"1467":{"position":[[9527,2]]},"1485":{"position":[[2830,2]]}},"keywords":{}}],["unambigu",{"_index":4708,"title":{},"content":{"944":{"position":[[1875,11]]}},"keywords":{}}],["unblock",{"_index":4575,"title":{},"content":{"933":{"position":[[188,7]]},"1037":{"position":[[493,7]]}},"keywords":{}}],["unbound",{"_index":1076,"title":{},"content":{"89":{"position":[[113,7]]},"92":{"position":[[782,7],[1462,9]]},"221":{"position":[[113,7]]},"224":{"position":[[782,7],[1462,9]]},"1017":{"position":[[340,9],[440,7],[806,7]]},"1040":{"position":[[884,7],[1234,9]]}},"keywords":{}}],["unbox",{"_index":99,"title":{},"content":{"5":{"position":[[351,8]]}},"keywords":{}}],["unbundled_resources_root",{"_index":7986,"title":{},"content":{"1429":{"position":[[2331,25]]},"1440":{"position":[[2485,25]]},"1470":{"position":[[3007,25]]}},"keywords":{}}],["uncach",{"_index":3674,"title":{},"content":{"706":{"position":[[1119,12]]}},"keywords":{}}],["uncertain",{"_index":4758,"title":{},"content":{"956":{"position":[[379,9]]}},"keywords":{}}],["unchecked_frozen_valu",{"_index":4194,"title":{},"content":{"889":{"position":[[1109,23]]}},"keywords":{}}],["unclean",{"_index":7478,"title":{},"content":{"1393":{"position":[[5509,7]]}},"keywords":{}}],["uncommit",{"_index":5967,"title":{},"content":{"1161":{"position":[[339,11]]}},"keywords":{}}],["uncommon",{"_index":4334,"title":{},"content":{"898":{"position":[[1197,8]]}},"keywords":{}}],["uncompress",{"_index":3999,"title":{},"content":{"865":{"position":[[411,13]]},"1140":{"position":[[673,12]]},"1188":{"position":[[726,12]]}},"keywords":{}}],["uncondit",{"_index":4631,"title":{},"content":{"939":{"position":[[296,13],[324,13],[387,13]]}},"keywords":{}}],["uncondition",{"_index":5491,"title":{},"content":{"1070":{"position":[[929,16]]},"1138":{"position":[[3986,15],[5392,15]]},"1140":{"position":[[3475,15],[4881,15]]},"1167":{"position":[[4479,15],[5885,15]]},"1188":{"position":[[3528,15],[4934,15]]},"1217":{"position":[[3220,15],[4626,15]]},"1228":{"position":[[5301,15],[6707,15]]}},"keywords":{}}],["unconfigur",{"_index":921,"title":{"719":{"position":[[10,12]]}},"content":{"62":{"position":[[73,12]]},"113":{"position":[[160,12]]},"158":{"position":[[65,12]]},"240":{"position":[[163,12]]},"294":{"position":[[628,12],[1044,12],[1100,12]]},"295":{"position":[[282,12]]},"297":{"position":[[874,12],[928,12]]},"298":{"position":[[2140,12],[2275,12],[2333,12]]},"301":{"position":[[542,12],[815,12]]},"302":{"position":[[282,12]]},"309":{"position":[[617,12],[672,12]]},"310":{"position":[[266,12],[465,12],[520,12]]},"311":{"position":[[221,12],[347,12]]},"320":{"position":[[293,13]]},"329":{"position":[[223,12]]},"340":{"position":[[287,12],[317,12]]},"449":{"position":[[115,12]]},"459":{"position":[[83,12]]},"460":{"position":[[90,12]]},"461":{"position":[[72,12]]},"463":{"position":[[94,12]]},"470":{"position":[[163,12]]},"491":{"position":[[73,12]]},"525":{"position":[[160,12]]},"542":{"position":[[65,12]]},"693":{"position":[[10126,12]]},"715":{"position":[[1368,12]]},"718":{"position":[[60,12],[379,12],[676,12]]},"719":{"position":[[19,12]]},"828":{"position":[[115,12]]},"846":{"position":[[60,12],[1262,12]]},"851":{"position":[[1449,12],[1598,12],[1662,12]]},"869":{"position":[[361,13]]},"905":{"position":[[505,12]]},"906":{"position":[[60,12]]},"919":{"position":[[1600,12],[2553,12],[2815,12]]},"920":{"position":[[57,12],[295,12],[365,12]]},"921":{"position":[[163,12]]},"959":{"position":[[118,13]]},"962":{"position":[[179,12]]},"988":{"position":[[559,12],[627,12]]},"990":{"position":[[286,12],[325,12],[389,12],[536,12]]},"995":{"position":[[344,12]]},"1009":{"position":[[629,12]]},"1012":{"position":[[328,12]]},"1014":{"position":[[222,12],[327,14]]},"1021":{"position":[[174,12]]},"1112":{"position":[[305,12]]},"1190":{"position":[[919,12],[1321,12]]},"1201":{"position":[[76,12]]},"1205":{"position":[[208,12]]},"1226":{"position":[[438,12],[478,12]]},"1235":{"position":[[23,12],[53,12],[258,12],[399,12]]},"1237":{"position":[[79,12],[608,12],[648,12]]}},"keywords":{}}],["unconfigured_label",{"_index":1418,"title":{},"content":{"166":{"position":[[350,18]]},"548":{"position":[[350,18]]}},"keywords":{}}],["unconfigured_own",{"_index":4425,"title":{},"content":{"906":{"position":[[147,19]]}},"keywords":{}}],["unconfigured_target_label",{"_index":1495,"title":{},"content":{"243":{"position":[[176,25]]}},"keywords":{}}],["unconfiguredtargetnod",{"_index":2117,"title":{},"content":{"402":{"position":[[379,22]]},"781":{"position":[[379,22]]}},"keywords":{}}],["unconfiguredtargetset",{"_index":2118,"title":{},"content":{"402":{"position":[[410,21]]},"781":{"position":[[410,21]]}},"keywords":{}}],["undeclar",{"_index":4868,"title":{"982":{"position":[[40,10]]}},"content":{},"keywords":{}}],["undefin",{"_index":2282,"title":{},"content":{"421":{"position":[[249,9]]},"800":{"position":[[249,9]]},"1367":{"position":[[13886,11],[13984,9]]}},"keywords":{}}],["under",{"_index":393,"title":{},"content":{"12":{"position":[[120,5]]},"15":{"position":[[49,5]]},"338":{"position":[[435,5]]},"622":{"position":[[842,5],[881,5]]},"708":{"position":[[874,5]]},"713":{"position":[[37,5]]},"937":{"position":[[3024,5]]},"940":{"position":[[118,5],[295,5]]},"994":{"position":[[212,5]]},"995":{"position":[[195,5],[560,5]]},"1114":{"position":[[614,5]]},"1127":{"position":[[42,5]]},"1345":{"position":[[48,5]]},"1398":{"position":[[3308,5]]},"1412":{"position":[[3848,5],[4048,5]]},"1422":{"position":[[2626,5]]},"1427":{"position":[[7324,5]]},"1429":{"position":[[5618,5]]},"1439":{"position":[[5697,5],[8150,5]]},"1440":{"position":[[5610,5]]},"1446":{"position":[[2738,5]]},"1462":{"position":[[8735,5]]},"1465":{"position":[[4026,5]]},"1467":{"position":[[10218,5]]},"1487":{"position":[[3171,5]]}},"keywords":{}}],["undergo",{"_index":5082,"title":{},"content":{"1026":{"position":[[74,9]]}},"keywords":{}}],["undergo.gorooti",{"_index":7755,"title":{},"content":{"1407":{"position":[[2550,16]]}},"keywords":{}}],["underjava/com/facebook/base/.rul",{"_index":3032,"title":{},"content":{"622":{"position":[[754,34]]}},"keywords":{}}],["underli",{"_index":726,"title":{},"content":{"23":{"position":[[1370,10]]},"62":{"position":[[86,10]]},"99":{"position":[[1143,10]]},"108":{"position":[[73,10]]},"113":{"position":[[173,10]]},"158":{"position":[[78,10]]},"231":{"position":[[1143,10]]},"281":{"position":[[206,10]]},"301":{"position":[[1006,10]]},"368":{"position":[[3346,10]]},"405":{"position":[[1739,10]]},"491":{"position":[[86,10]]},"520":{"position":[[73,10]]},"525":{"position":[[173,10]]},"542":{"position":[[78,10]]},"638":{"position":[[673,10]]},"718":{"position":[[230,10]]},"747":{"position":[[3346,10]]},"784":{"position":[[1739,10]]},"845":{"position":[[93,10]]},"889":{"position":[[1153,10]]},"902":{"position":[[662,10]]},"1016":{"position":[[130,10]]},"1071":{"position":[[1141,10]]},"1217":{"position":[[56,10]]},"1245":{"position":[[132,10]]},"1383":{"position":[[7788,10]]},"1403":{"position":[[6888,10]]}},"keywords":{}}],["underlyingactu",{"_index":4964,"title":{},"content":{"994":{"position":[[280,16]]}},"keywords":{}}],["underlyinganontarget",{"_index":5186,"title":{},"content":{"1044":{"position":[[1410,22]]}},"keywords":{}}],["underpow",{"_index":1148,"title":{},"content":{"92":{"position":[[1906,13]]},"224":{"position":[[1906,13]]},"1040":{"position":[[2008,13]]}},"keywords":{}}],["underrepo",{"_index":4643,"title":{},"content":{"940":{"position":[[213,15]]}},"keywords":{}}],["understand",{"_index":669,"title":{"703":{"position":[[24,13]]}},"content":{"22":{"position":[[1270,10]]},"689":{"position":[[196,13]]},"690":{"position":[[267,10]]},"938":{"position":[[38,10]]},"946":{"position":[[180,11]]},"1050":{"position":[[463,13]]},"1173":{"position":[[95,10]]}},"keywords":{}}],["understood",{"_index":4075,"title":{},"content":{"872":{"position":[[431,10]]}},"keywords":{}}],["unexpect",{"_index":785,"title":{},"content":{"24":{"position":[[101,10]]},"663":{"position":[[543,10]]},"680":{"position":[[1321,10]]},"901":{"position":[[505,10]]}},"keywords":{}}],["unexpectedli",{"_index":5865,"title":{},"content":{"1136":{"position":[[771,13]]}},"keywords":{}}],["unfortu",{"_index":4853,"title":{},"content":{"980":{"position":[[847,13]]}},"keywords":{}}],["unfortun",{"_index":6161,"title":{},"content":{"1233":{"position":[[226,13]]},"1241":{"position":[[174,13]]}},"keywords":{}}],["unfrozen",{"_index":4330,"title":{},"content":{"898":{"position":[[706,8],[1323,8],[1368,9],[1612,8]]}},"keywords":{}}],["unhash",{"_index":2506,"title":{},"content":{"554":{"position":[[305,11]]},"557":{"position":[[361,11]]},"559":{"position":[[466,10]]},"647":{"position":[[223,11]]},"1232":{"position":[[3383,8]]}},"keywords":{}}],["unicod",{"_index":2635,"title":{},"content":{"576":{"position":[[280,7],[333,7],[392,7]]},"590":{"position":[[98,7],[205,7],[318,7]]},"597":{"position":[[178,7]]},"598":{"position":[[170,7]]},"599":{"position":[[169,7]]},"600":{"position":[[165,7]]},"601":{"position":[[176,7]]},"602":{"position":[[153,7]]},"603":{"position":[[165,7]]},"616":{"position":[[700,7]]},"634":{"position":[[122,7]]},"656":{"position":[[117,7],[194,7],[293,7]]}},"keywords":{}}],["unifi",{"_index":3564,"title":{},"content":{"693":{"position":[[5333,7]]},"702":{"position":[[520,7]]},"937":{"position":[[3155,7]]}},"keywords":{}}],["unimpl",{"_index":4722,"title":{},"content":{"946":{"position":[[15,14]]}},"keywords":{}}],["uninstal",{"_index":5983,"title":{},"content":{"1167":{"position":[[1636,9],[1665,9],[1850,13]]},"1360":{"position":[[1520,9]]}},"keywords":{}}],["unintuit",{"_index":8549,"title":{},"content":{"1485":{"position":[[4756,12]]}},"keywords":{}}],["union",{"_index":6264,"title":{},"content":{"1259":{"position":[[2308,5]]},"1284":{"position":[[17,5],[411,5]]},"1290":{"position":[[2308,5]]},"1315":{"position":[[17,5],[411,5]]},"1318":{"position":[[2308,5]]},"1343":{"position":[[17,5],[411,5]]}},"keywords":{}}],["union(left",{"_index":6263,"title":{"1284":{"position":[[0,11]]},"1315":{"position":[[0,11]]},"1343":{"position":[[0,11]]}},"content":{"1259":{"position":[[2249,11]]},"1290":{"position":[[2249,11]]},"1318":{"position":[[2249,11]]}},"keywords":{}}],["uniqu",{"_index":1192,"title":{},"content":{"94":{"position":[[1464,6]]},"226":{"position":[[1464,6]]},"280":{"position":[[231,8]]},"693":{"position":[[5716,6]]},"717":{"position":[[146,8]]},"846":{"position":[[519,6]]},"864":{"position":[[218,6]]},"867":{"position":[[870,6]]},"951":{"position":[[186,6]]},"1112":{"position":[[18,6]]},"1126":{"position":[[390,6],[523,6]]},"1381":{"position":[[2379,6]]},"1393":{"position":[[9442,10]]}},"keywords":{}}],["unique_input_inod",{"_index":1185,"title":{},"content":{"94":{"position":[[1034,20]]},"226":{"position":[[1034,20]]}},"keywords":{}}],["unit",{"_index":810,"title":{},"content":{"26":{"position":[[108,4]]},"27":{"position":[[115,4]]},"29":{"position":[[121,4]]},"30":{"position":[[160,4]]},"31":{"position":[[143,4]]},"178":{"position":[[108,4]]},"179":{"position":[[115,4]]},"185":{"position":[[121,4]]},"186":{"position":[[160,4]]},"187":{"position":[[143,4]]},"693":{"position":[[8435,5]]},"708":{"position":[[732,4]]},"1467":{"position":[[5050,4]]}},"keywords":{}}],["unit_tests/buck",{"_index":8524,"title":{},"content":{"1482":{"position":[[2230,16]]}},"keywords":{}}],["unit_tests:unit_test",{"_index":8535,"title":{},"content":{"1482":{"position":[[3123,23],[3360,23]]}},"keywords":{}}],["unittest",{"_index":7434,"title":{},"content":{"1392":{"position":[[694,8]]}},"keywords":{}}],["univers",{"_index":1475,"title":{"903":{"position":[[7,8]]},"904":{"position":[[22,9]]},"905":{"position":[[18,8]]},"906":{"position":[[21,8]]},"908":{"position":[[21,9]]},"979":{"position":[[0,9]]}},"content":{"239":{"position":[[28,9]]},"309":{"position":[[456,9]]},"328":{"position":[[28,9]]},"334":{"position":[[82,9]]},"335":{"position":[[29,9]]},"340":{"position":[[227,9]]},"341":{"position":[[111,9]]},"342":{"position":[[99,9]]},"469":{"position":[[28,9]]},"475":{"position":[[29,9]]},"693":{"position":[[9425,9],[9604,9],[9621,8],[9685,9],[9718,8],[9762,8]]},"846":{"position":[[1716,8]]},"904":{"position":[[262,8],[450,8],[732,8],[915,8],[1017,8],[1106,8],[1199,8],[1283,8],[1578,9]]},"905":{"position":[[292,8],[441,9],[594,8],[1120,9],[1434,8]]},"906":{"position":[[21,8],[371,8],[686,8],[825,8]]},"908":{"position":[[53,9]]},"1136":{"position":[[6020,9]]},"1138":{"position":[[5582,8],[5680,9],[5760,9],[5859,8],[9682,9]]},"1140":{"position":[[8608,9]]},"1142":{"position":[[4052,9]]},"1144":{"position":[[380,9]]},"1146":{"position":[[3992,9]]},"1148":{"position":[[398,9],[527,8],[578,8],[662,8],[2932,8],[3030,9],[3110,9],[3209,8],[7583,9]]},"1150":{"position":[[615,9]]},"1152":{"position":[[313,9]]},"1154":{"position":[[468,9]]},"1155":{"position":[[4088,9]]},"1156":{"position":[[3666,9]]},"1157":{"position":[[251,9]]},"1158":{"position":[[245,9]]},"1159":{"position":[[245,9]]},"1161":{"position":[[1240,9]]},"1163":{"position":[[626,9]]},"1165":{"position":[[455,9]]},"1167":{"position":[[9612,9]]},"1169":{"position":[[2720,9]]},"1171":{"position":[[961,9]]},"1172":{"position":[[2346,9]]},"1173":{"position":[[1033,9]]},"1174":{"position":[[461,9]]},"1175":{"position":[[457,9]]},"1176":{"position":[[626,9]]},"1177":{"position":[[547,9]]},"1178":{"position":[[864,9]]},"1179":{"position":[[661,9]]},"1180":{"position":[[932,9]]},"1181":{"position":[[1452,9]]},"1182":{"position":[[495,9]]},"1183":{"position":[[450,9]]},"1185":{"position":[[295,9]]},"1186":{"position":[[1156,8],[1254,9],[1334,9],[1433,8],[5256,9]]},"1187":{"position":[[1169,8],[1267,9],[1347,9],[1446,8],[5269,9]]},"1188":{"position":[[5895,8],[5993,9],[6073,9],[6172,8],[9995,9]]},"1190":{"position":[[1626,9]]},"1191":{"position":[[3856,9]]},"1192":{"position":[[4031,9]]},"1193":{"position":[[4083,9]]},"1194":{"position":[[3723,9]]},"1195":{"position":[[3701,9]]},"1196":{"position":[[3511,9]]},"1197":{"position":[[394,8],[492,9],[572,9],[671,8],[4494,9]]},"1198":{"position":[[404,8],[502,9],[582,9],[681,8],[4504,9]]},"1199":{"position":[[432,8],[530,9],[610,9],[709,8],[4532,9]]},"1200":{"position":[[299,8],[397,9],[477,9],[576,8],[4399,9]]},"1201":{"position":[[3659,9]]},"1202":{"position":[[403,9],[4801,9],[9198,9]]},"1203":{"position":[[3893,9]]},"1204":{"position":[[3737,9],[4639,9],[5569,9],[6471,9],[7457,9],[8411,9],[9358,9],[10288,9]]},"1205":{"position":[[5066,9]]},"1206":{"position":[[3765,9]]},"1207":{"position":[[3694,9]]},"1209":{"position":[[5042,9]]},"1211":{"position":[[366,9]]},"1213":{"position":[[137,9]]},"1215":{"position":[[221,9]]},"1217":{"position":[[8353,9]]},"1219":{"position":[[3608,9]]},"1221":{"position":[[340,9]]},"1222":{"position":[[3479,9]]},"1223":{"position":[[3489,9]]},"1224":{"position":[[2922,9]]},"1226":{"position":[[8821,9]]},"1228":{"position":[[10434,9]]},"1235":{"position":[[6302,9]]},"1237":{"position":[[8991,9]]},"1363":{"position":[[2623,10]]},"1370":{"position":[[555,10],[2053,9],[2285,9],[2321,10],[2363,9],[2567,9],[2671,9],[2783,9],[2866,9],[2986,9]]}},"keywords":{}}],["universe_nod",{"_index":4438,"title":{},"content":{"906":{"position":[[1038,13]]}},"keywords":{}}],["universelik",{"_index":4398,"title":{},"content":{"904":{"position":[[28,12]]}},"keywords":{}}],["unix",{"_index":1050,"title":{},"content":{"85":{"position":[[360,4]]},"217":{"position":[[360,4]]},"581":{"position":[[358,4]]},"1360":{"position":[[2855,4]]},"1383":{"position":[[2440,4]]},"1403":{"position":[[2270,4]]}},"keywords":{}}],["unkeyed_vari",{"_index":2057,"title":{},"content":{"389":{"position":[[29,17],[1360,18],[1688,18]]},"768":{"position":[[29,17],[1360,18],[1688,18]]}},"keywords":{}}],["unknowingli",{"_index":6218,"title":{},"content":{"1254":{"position":[[30,11]]}},"keywords":{}}],["unknown",{"_index":4264,"title":{},"content":{"890":{"position":[[7027,7]]},"900":{"position":[[1014,7]]},"983":{"position":[[34,7]]},"984":{"position":[[16,7]]}},"keywords":{}}],["unknowninfo",{"_index":4872,"title":{},"content":{"983":{"position":[[259,14]]},"984":{"position":[[150,13]]}},"keywords":{}}],["unless",{"_index":1158,"title":{},"content":{"92":{"position":[[2478,6]]},"98":{"position":[[1412,6]]},"99":{"position":[[973,6]]},"224":{"position":[[2478,6]]},"230":{"position":[[1412,6]]},"231":{"position":[[973,6]]},"451":{"position":[[227,6]]},"634":{"position":[[194,6]]},"680":{"position":[[287,6]]},"693":{"position":[[4810,7]]},"706":{"position":[[2028,6]]},"830":{"position":[[227,6]]},"935":{"position":[[188,6]]},"1000":{"position":[[441,7]]},"1037":{"position":[[33,6],[188,6]]},"1060":{"position":[[149,6]]},"1064":{"position":[[1889,6]]},"1082":{"position":[[19,6]]},"1138":{"position":[[4549,6]]},"1140":{"position":[[4038,6]]},"1167":{"position":[[5042,6]]},"1188":{"position":[[4091,6]]},"1217":{"position":[[3783,6]]},"1228":{"position":[[601,6],[771,6],[5864,6]]},"1346":{"position":[[491,6]]},"1485":{"position":[[4656,6]]},"1486":{"position":[[2687,6]]}},"keywords":{}}],["unlik",{"_index":410,"title":{},"content":{"12":{"position":[[473,8]]},"704":{"position":[[2518,7]]},"991":{"position":[[2889,7]]},"1026":{"position":[[17,6]]},"1079":{"position":[[202,6]]},"1087":{"position":[[171,6]]},"1439":{"position":[[4925,6]]},"1446":{"position":[[2621,6]]}},"keywords":{}}],["unnecessari",{"_index":4601,"title":{},"content":{"937":{"position":[[2540,11]]},"1112":{"position":[[523,11]]},"1250":{"position":[[243,11]]}},"keywords":{}}],["unnecessarili",{"_index":4257,"title":{"1251":{"position":[[29,13]]}},"content":{"890":{"position":[[6439,14]]},"1251":{"position":[[159,14]]},"1253":{"position":[[84,13]]}},"keywords":{}}],["unode_b",{"_index":2406,"title":{},"content":{"449":{"position":[[213,9]]},"828":{"position":[[213,9]]}},"keywords":{}}],["unpack",{"_index":4206,"title":{},"content":{"890":{"position":[[729,6]]}},"keywords":{}}],["unpack_i32",{"_index":4186,"title":{},"content":{"889":{"position":[[577,10]]}},"keywords":{}}],["unpair",{"_index":2807,"title":{},"content":{"595":{"position":[[329,8]]}},"keywords":{}}],["unrel",{"_index":738,"title":{},"content":{"23":{"position":[[1994,9]]},"1000":{"position":[[273,9]]}},"keywords":{}}],["unresolv",{"_index":3709,"title":{},"content":{"711":{"position":[[294,10],[455,10],[609,10]]},"1235":{"position":[[218,10]]}},"keywords":{}}],["unsaf",{"_index":4193,"title":{},"content":{"889":{"position":[[1084,8]]},"890":{"position":[[6675,6]]},"1461":{"position":[[2767,7]]}},"keywords":{}}],["unset",{"_index":1204,"title":{},"content":{"94":{"position":[[2075,5]]},"226":{"position":[[2075,5]]},"990":{"position":[[1094,6]]},"1385":{"position":[[3085,6]]},"1387":{"position":[[5352,6]]},"1444":{"position":[[1712,6]]},"1462":{"position":[[5576,6]]},"1465":{"position":[[2506,6]]},"1467":{"position":[[6071,6]]},"1471":{"position":[[3386,5]]},"1472":{"position":[[3970,5]]},"1473":{"position":[[3420,5]]}},"keywords":{}}],["unspecifi",{"_index":5168,"title":{},"content":{"1042":{"position":[[405,12]]}},"keywords":{}}],["unstabl",{"_index":5489,"title":{},"content":{"1070":{"position":[[515,8],[677,8]]},"1136":{"position":[[5850,8]]},"1138":{"position":[[2771,8],[9512,8]]},"1140":{"position":[[2260,8],[8438,8]]},"1142":{"position":[[3882,8]]},"1146":{"position":[[3822,8]]},"1148":{"position":[[6862,8]]},"1152":{"position":[[216,8]]},"1155":{"position":[[3918,8]]},"1156":{"position":[[3496,8]]},"1163":{"position":[[456,8]]},"1165":{"position":[[285,8]]},"1167":{"position":[[3264,8],[9442,8]]},"1169":{"position":[[2550,8]]},"1186":{"position":[[5086,8]]},"1187":{"position":[[5099,8]]},"1188":{"position":[[2313,8],[9825,8]]},"1191":{"position":[[3686,8]]},"1192":{"position":[[3861,8]]},"1193":{"position":[[3913,8]]},"1194":{"position":[[3553,8]]},"1195":{"position":[[3531,8]]},"1196":{"position":[[3341,8]]},"1197":{"position":[[4324,8]]},"1198":{"position":[[4334,8]]},"1199":{"position":[[4362,8]]},"1200":{"position":[[4229,8]]},"1201":{"position":[[3489,8]]},"1202":{"position":[[4631,8],[9028,8]]},"1203":{"position":[[3723,8]]},"1204":{"position":[[3567,8]]},"1205":{"position":[[4896,8]]},"1206":{"position":[[3367,8]]},"1207":{"position":[[3524,8]]},"1209":{"position":[[4872,8]]},"1217":{"position":[[2005,8],[8183,8]]},"1219":{"position":[[849,8],[920,8],[3438,8]]},"1222":{"position":[[3293,8]]},"1223":{"position":[[3303,8]]},"1224":{"position":[[2752,8]]},"1226":{"position":[[8651,8]]},"1228":{"position":[[983,8],[1140,8],[4086,8],[10264,8]]},"1235":{"position":[[6132,8]]},"1237":{"position":[[8821,8]]},"1403":{"position":[[6290,9]]}},"keywords":{}}],["unsur",{"_index":5986,"title":{},"content":{"1172":{"position":[[716,7]]}},"keywords":{}}],["until",{"_index":1036,"title":{},"content":{"84":{"position":[[353,5]]},"216":{"position":[[353,5]]},"590":{"position":[[439,5]]},"662":{"position":[[707,5]]},"724":{"position":[[1802,5]]},"950":{"position":[[108,5]]},"951":{"position":[[1235,5]]},"1026":{"position":[[550,5]]},"1037":{"position":[[123,5],[363,5]]},"1049":{"position":[[340,5]]},"1058":{"position":[[1202,5],[1344,5]]},"1079":{"position":[[1156,5]]},"1136":{"position":[[4084,5]]},"1138":{"position":[[7746,5]]},"1140":{"position":[[6672,5]]},"1142":{"position":[[2116,5]]},"1146":{"position":[[2056,5]]},"1148":{"position":[[5096,5]]},"1155":{"position":[[2152,5]]},"1156":{"position":[[1730,5]]},"1167":{"position":[[7676,5]]},"1169":{"position":[[1515,5]]},"1186":{"position":[[3320,5]]},"1187":{"position":[[3333,5]]},"1188":{"position":[[8059,5]]},"1191":{"position":[[1920,5]]},"1192":{"position":[[2095,5]]},"1193":{"position":[[2147,5]]},"1194":{"position":[[1787,5]]},"1195":{"position":[[1765,5]]},"1196":{"position":[[1575,5]]},"1197":{"position":[[2558,5]]},"1198":{"position":[[2568,5]]},"1199":{"position":[[2596,5]]},"1200":{"position":[[2463,5]]},"1201":{"position":[[1723,5]]},"1202":{"position":[[2865,5],[7262,5]]},"1203":{"position":[[1957,5]]},"1204":{"position":[[1801,5]]},"1205":{"position":[[3130,5]]},"1206":{"position":[[1601,5]]},"1207":{"position":[[1758,5]]},"1209":{"position":[[3106,5]]},"1217":{"position":[[6417,5]]},"1219":{"position":[[2403,5]]},"1222":{"position":[[1527,5]]},"1223":{"position":[[1537,5]]},"1224":{"position":[[1717,5]]},"1226":{"position":[[6885,5]]},"1228":{"position":[[8498,5]]},"1235":{"position":[[4366,5]]},"1237":{"position":[[7055,5]]},"1247":{"position":[[460,5]]},"1429":{"position":[[3719,5]]},"1439":{"position":[[6318,5]]},"1440":{"position":[[3712,5]]}},"keywords":{}}],["untrack",{"_index":2172,"title":{},"content":{"406":{"position":[[838,9]]},"785":{"position":[[838,9]]},"1079":{"position":[[124,9]]},"1142":{"position":[[420,9]]}},"keywords":{}}],["unus",{"_index":4286,"title":{},"content":{"892":{"position":[[2114,6]]},"1029":{"position":[[134,6],[349,6],[428,6]]},"1035":{"position":[[229,6],[375,7]]},"1388":{"position":[[6466,7]]},"1427":{"position":[[4206,6]]}},"keywords":{}}],["unwant",{"_index":4483,"title":{},"content":{"919":{"position":[[531,8]]}},"keywords":{}}],["unzip",{"_index":8378,"title":{},"content":{"1469":{"position":[[2114,8]]}},"keywords":{}}],["up",{"_index":91,"title":{"703":{"position":[[19,2]]},"1093":{"position":[[8,2]]},"1177":{"position":[[14,3]]}},"content":{"5":{"position":[[243,2]]},"18":{"position":[[253,2],[1005,2]]},"24":{"position":[[422,2]]},"340":{"position":[[183,2]]},"407":{"position":[[52,2]]},"636":{"position":[[180,2]]},"638":{"position":[[801,2]]},"693":{"position":[[4157,2],[6846,2]]},"703":{"position":[[67,3]]},"704":{"position":[[706,2]]},"705":{"position":[[743,2]]},"724":{"position":[[1521,2]]},"786":{"position":[[52,2]]},"833":{"position":[[453,2]]},"834":{"position":[[675,2]]},"840":{"position":[[905,2]]},"861":{"position":[[252,2]]},"865":{"position":[[583,2],[602,2]]},"877":{"position":[[673,2]]},"890":{"position":[[2415,2]]},"892":{"position":[[1401,2]]},"902":{"position":[[789,2]]},"904":{"position":[[80,2],[1315,2]]},"937":{"position":[[782,2]]},"943":{"position":[[1219,2],[1506,2],[2571,2]]},"955":{"position":[[357,2]]},"965":{"position":[[532,2]]},"987":{"position":[[761,2]]},"988":{"position":[[134,2],[418,2]]},"990":{"position":[[1287,2]]},"991":{"position":[[3284,2]]},"1011":{"position":[[546,2]]},"1014":{"position":[[324,2]]},"1017":{"position":[[755,2]]},"1021":{"position":[[624,2]]},"1024":{"position":[[819,2]]},"1048":{"position":[[99,2]]},"1052":{"position":[[52,2]]},"1079":{"position":[[761,2]]},"1084":{"position":[[701,2]]},"1086":{"position":[[126,2]]},"1102":{"position":[[1086,2]]},"1103":{"position":[[1605,2]]},"1104":{"position":[[1356,2]]},"1120":{"position":[[307,2]]},"1161":{"position":[[425,2]]},"1171":{"position":[[406,2]]},"1177":{"position":[[79,2]]},"1243":{"position":[[625,2]]},"1255":{"position":[[423,2]]},"1346":{"position":[[147,2]]},"1360":{"position":[[5803,2]]},"1446":{"position":[[2002,2]]},"1459":{"position":[[1975,2]]},"1462":{"position":[[8436,3]]},"1467":{"position":[[9918,3]]},"1471":{"position":[[4264,2]]},"1472":{"position":[[4848,2]]},"1473":{"position":[[4585,2]]},"1482":{"position":[[1670,2],[1769,2]]}},"keywords":{}}],["up"",{"_index":3607,"title":{},"content":{"695":{"position":[[518,8]]}},"keywords":{}}],["updat",{"_index":94,"title":{},"content":{"5":{"position":[[275,8]]},"560":{"position":[[65,6],[703,6]]},"890":{"position":[[1755,8]]},"906":{"position":[[871,8]]},"954":{"position":[[650,6]]},"955":{"position":[[1487,7]]},"956":{"position":[[269,8],[312,9],[355,8],[431,8]]},"1004":{"position":[[1478,7]]},"1050":{"position":[[517,8],[2195,7],[4651,6]]},"1150":{"position":[[402,7]]},"1478":{"position":[[3503,7]]}},"keywords":{}}],["upgrad",{"_index":72,"title":{},"content":{"4":{"position":[[584,8]]}},"keywords":{}}],["upload",{"_index":1916,"title":{"1179":{"position":[[14,9]]}},"content":{"362":{"position":[[2491,6],[2571,6]]},"693":{"position":[[4631,8]]},"706":{"position":[[2396,6]]},"724":{"position":[[930,6]]},"741":{"position":[[2491,6],[2571,6]]},"897":{"position":[[253,6]]},"1067":{"position":[[590,6]]},"1120":{"position":[[731,8]]},"1138":{"position":[[3613,6],[3632,7],[4002,6]]},"1140":{"position":[[3102,6],[3121,7],[3491,6]]},"1167":{"position":[[4106,6],[4125,7],[4495,6]]},"1171":{"position":[[531,8],[560,7]]},"1179":{"position":[[20,7],[93,8]]},"1188":{"position":[[3155,6],[3174,7],[3544,6]]},"1217":{"position":[[2847,6],[2866,7],[3236,6]]},"1228":{"position":[[4928,6],[4947,7],[5317,6]]},"1362":{"position":[[6236,9],[6276,8]]},"1364":{"position":[[6265,9],[6305,8]]},"1367":{"position":[[7663,9],[7703,8]]},"1373":{"position":[[3792,9],[3832,8]]},"1382":{"position":[[4148,9],[4188,8]]},"1384":{"position":[[5310,9],[5350,8]]},"1388":{"position":[[4448,9],[4488,8]]},"1389":{"position":[[5312,9],[5420,7],[5559,9],[5667,7]]},"1454":{"position":[[4257,9],[4297,8]]},"1462":{"position":[[5270,9],[5310,8]]},"1471":{"position":[[2816,9],[2856,8]]}},"keywords":{}}],["uploadsexperimental_low_pass_filt",{"_index":1918,"title":{},"content":{"362":{"position":[[2587,36]]},"741":{"position":[[2587,36]]}},"keywords":{}}],["upon",{"_index":3195,"title":{},"content":{"647":{"position":[[191,4]]},"1104":{"position":[[2132,6]]}},"keywords":{}}],["upper",{"_index":5227,"title":{},"content":{"1047":{"position":[[157,5]]}},"keywords":{}}],["uppercas",{"_index":2741,"title":{},"content":{"589":{"position":[[133,10]]},"603":{"position":[[85,10],[206,10]]},"620":{"position":[[179,9]]},"621":{"position":[[68,10],[146,10]]}},"keywords":{}}],["upperinfo",{"_index":5222,"title":{},"content":{"1047":{"position":[[27,9]]}},"keywords":{}}],["upperinfo(messag",{"_index":5225,"title":{},"content":{"1047":{"position":[[109,18]]}},"keywords":{}}],["upward",{"_index":2303,"title":{},"content":{"427":{"position":[[626,7]]},"806":{"position":[[626,7]]}},"keywords":{}}],["uqueri",{"_index":360,"title":{"1157":{"position":[[10,7]]},"1234":{"position":[[0,6]]},"1235":{"position":[[5,7]]},"1316":{"position":[[0,6]]}},"content":{"11":{"position":[[207,6]]},"312":{"position":[[87,6]]},"690":{"position":[[336,6],[514,6],[622,6],[688,6],[2995,6],[3034,6]]},"693":{"position":[[9101,7],[10225,7]]},"832":{"position":[[238,7],[351,7],[456,8]]},"846":{"position":[[86,8],[445,7],[918,7],[1241,7],[1790,6]]},"874":{"position":[[163,6]]},"919":{"position":[[1877,6],[2532,6],[2667,6]]},"920":{"position":[[108,6]]},"965":{"position":[[99,7],[213,7]]},"1154":{"position":[[228,6]]},"1157":{"position":[[63,6]]},"1209":{"position":[[10,8]]},"1235":{"position":[[534,7],[646,6],[720,6],[869,6],[1299,6]]},"1248":{"position":[[160,6]]}},"keywords":{}}],["uquery,configured_target",{"_index":4096,"title":{},"content":{"878":{"position":[[119,25]]}},"keywords":{}}],["uquerycontext",{"_index":2119,"title":{},"content":{"402":{"position":[[440,13]]},"781":{"position":[[440,13]]}},"keywords":{}}],["uqueryctx",{"_index":1733,"title":{},"content":{"312":{"position":[[62,9]]}},"keywords":{}}],["uri",{"_index":5979,"title":{},"content":{"1167":{"position":[[1300,3],[1338,3]]},"1423":{"position":[[3799,3]]},"1469":{"position":[[3169,3],[3504,3]]}},"keywords":{}}],["url",{"_index":1105,"title":{},"content":{"91":{"position":[[69,4],[256,3],[330,3],[568,3],[658,3]]},"223":{"position":[[69,4],[256,3],[330,3],[568,3],[658,3]]},"1346":{"position":[[708,4]]},"1358":{"position":[[2134,3]]},"1404":{"position":[[1420,3]]},"1422":{"position":[[661,5],[3495,5],[3511,4],[3655,3],[3779,4],[3955,3],[4032,4]]},"1423":{"position":[[562,5],[2282,4],[2426,3],[2549,4],[2722,3],[2789,4],[3011,4],[3588,3],[3869,4]]},"1439":{"position":[[6527,3]]},"1458":{"position":[[2250,3]]},"1461":{"position":[[3424,3]]},"1469":{"position":[[579,4],[2149,4],[2195,4],[2221,4],[2361,3],[2513,4],[2573,3],[2754,3],[2994,3],[3306,3],[3632,3]]}},"keywords":{}}],["us",{"_index":9,"title":{"7":{"position":[[18,5]]},"24":{"position":[[4,3]]},"573":{"position":[[21,4]]},"850":{"position":[[15,5]]},"870":{"position":[[14,3]]},"871":{"position":[[8,3]]},"895":{"position":[[0,5]]},"916":{"position":[[21,3]]},"934":{"position":[[0,3]]},"953":{"position":[[0,3]]},"972":{"position":[[0,3]]},"989":{"position":[[0,5]]},"1029":{"position":[[0,3]]},"1030":{"position":[[0,5]]},"1082":{"position":[[13,5]]},"1083":{"position":[[13,5]]}},"content":{"2":{"position":[[42,5],[81,5]]},"4":{"position":[[375,5],[447,3]]},"9":{"position":[[356,3],[391,5],[818,3],[2263,4],[2458,3],[2903,5]]},"10":{"position":[[581,3]]},"11":{"position":[[195,3],[265,3]]},"13":{"position":[[183,5]]},"16":{"position":[[18,3]]},"17":{"position":[[487,3],[566,3],[801,4]]},"18":{"position":[[2062,5]]},"19":{"position":[[45,3]]},"20":{"position":[[331,3],[488,3],[550,5]]},"22":{"position":[[755,3],[1980,5],[2084,4]]},"23":{"position":[[254,5],[1162,5],[1328,4],[1678,4],[2124,6]]},"24":{"position":[[198,4],[351,4],[477,4]]},"49":{"position":[[167,4]]},"69":{"position":[[178,4],[325,3]]},"79":{"position":[[142,3],[278,3],[316,3]]},"83":{"position":[[73,4]]},"85":{"position":[[317,3]]},"89":{"position":[[616,3],[736,3]]},"92":{"position":[[335,3],[1002,5],[1329,5],[1509,3],[2049,3],[2295,3]]},"94":{"position":[[1392,4],[1497,4],[1874,7],[2043,4],[2639,6],[3298,3],[4420,4]]},"98":{"position":[[912,4],[1083,3],[1107,3],[1300,6]]},"99":{"position":[[1199,4],[1491,3],[1515,3]]},"107":{"position":[[93,4]]},"112":{"position":[[88,4]]},"121":{"position":[[46,3],[236,6],[342,6]]},"126":{"position":[[550,5]]},"130":{"position":[[114,4],[161,4]]},"134":{"position":[[261,3]]},"140":{"position":[[231,4]]},"148":{"position":[[312,4]]},"196":{"position":[[167,4]]},"215":{"position":[[73,4]]},"217":{"position":[[317,3]]},"221":{"position":[[616,3],[736,3]]},"224":{"position":[[335,3],[1002,5],[1329,5],[1509,3],[2049,3],[2295,3]]},"226":{"position":[[1392,4],[1497,4],[1874,7],[2043,4],[2639,6],[3298,3],[4420,4]]},"230":{"position":[[912,4],[1083,3],[1107,3],[1300,6]]},"231":{"position":[[1199,4],[1491,3],[1515,3]]},"233":{"position":[[327,6]]},"243":{"position":[[531,3]]},"249":{"position":[[550,5]]},"253":{"position":[[114,4],[161,4]]},"257":{"position":[[261,3]]},"263":{"position":[[231,4]]},"271":{"position":[[312,4]]},"276":{"position":[[295,5],[522,4]]},"277":{"position":[[246,5],[470,4]]},"281":{"position":[[362,5],[611,4]]},"282":{"position":[[310,5],[561,4]]},"285":{"position":[[95,4]]},"286":{"position":[[291,6]]},"294":{"position":[[590,4]]},"295":{"position":[[259,4]]},"297":{"position":[[568,4]]},"298":{"position":[[2047,5],[2369,3],[2595,3]]},"300":{"position":[[80,5]]},"301":{"position":[[504,4]]},"302":{"position":[[259,4]]},"304":{"position":[[261,4]]},"309":{"position":[[911,4]]},"314":{"position":[[137,3]]},"320":{"position":[[421,4]]},"341":{"position":[[82,4]]},"345":{"position":[[800,3]]},"362":{"position":[[1064,3],[1172,3],[1222,3],[1489,4],[1587,4],[1954,3],[1966,3],[2027,3],[2307,3],[2395,3],[2635,3],[2786,3]]},"363":{"position":[[201,4]]},"366":{"position":[[122,4]]},"367":{"position":[[152,4]]},"368":{"position":[[650,4],[2508,4]]},"372":{"position":[[327,4]]},"374":{"position":[[329,5],[1224,3],[1434,3],[1593,3],[2048,4]]},"377":{"position":[[763,5],[1367,5]]},"389":{"position":[[126,4],[592,4],[1428,4],[1588,4]]},"399":{"position":[[114,5]]},"400":{"position":[[523,4]]},"405":{"position":[[1116,4],[1982,5],[2208,3]]},"406":{"position":[[191,7],[703,3]]},"407":{"position":[[160,4]]},"408":{"position":[[69,4],[133,3],[180,4],[431,3],[469,4],[708,4],[864,3]]},"410":{"position":[[49,4],[133,3]]},"416":{"position":[[634,4]]},"417":{"position":[[864,4]]},"418":{"position":[[157,5]]},"419":{"position":[[62,4]]},"421":{"position":[[61,4],[284,3],[417,4]]},"427":{"position":[[212,4]]},"429":{"position":[[578,3],[653,7]]},"438":{"position":[[211,3]]},"440":{"position":[[114,3]]},"442":{"position":[[77,5]]},"446":{"position":[[382,4],[438,5]]},"450":{"position":[[214,3]]},"457":{"position":[[178,4],[325,3]]},"508":{"position":[[142,3],[278,3],[316,3]]},"519":{"position":[[93,4]]},"524":{"position":[[88,4]]},"530":{"position":[[46,3],[236,6],[342,6]]},"560":{"position":[[620,4]]},"566":{"position":[[521,5]]},"570":{"position":[[400,3]]},"572":{"position":[[83,4]]},"573":{"position":[[21,4]]},"574":{"position":[[73,4]]},"575":{"position":[[22,3],[476,4]]},"576":{"position":[[80,3]]},"577":{"position":[[194,5]]},"578":{"position":[[63,5],[177,3]]},"579":{"position":[[42,3]]},"581":{"position":[[829,4]]},"582":{"position":[[131,5],[247,5],[344,5],[446,4]]},"583":{"position":[[127,5],[386,5]]},"584":{"position":[[306,3],[630,5],[654,3],[1146,3]]},"586":{"position":[[144,4]]},"587":{"position":[[109,3],[620,5]]},"595":{"position":[[475,3],[1209,5],[1403,4]]},"606":{"position":[[220,3]]},"615":{"position":[[221,3]]},"616":{"position":[[522,4]]},"622":{"position":[[139,4],[1156,3]]},"632":{"position":[[293,6]]},"640":{"position":[[81,4]]},"642":{"position":[[68,4]]},"648":{"position":[[566,4]]},"657":{"position":[[126,3]]},"663":{"position":[[927,5]]},"675":{"position":[[215,4],[762,5]]},"676":{"position":[[64,5],[352,4]]},"678":{"position":[[307,3]]},"679":{"position":[[226,3],[497,4]]},"680":{"position":[[490,5],[934,3],[1108,3],[1165,3],[1254,5]]},"681":{"position":[[17,3]]},"685":{"position":[[271,5]]},"688":{"position":[[72,5],[282,5],[1148,3]]},"689":{"position":[[97,4]]},"692":{"position":[[173,5]]},"693":{"position":[[611,4],[1032,4],[1376,3],[1595,4],[2580,4],[3997,4],[5467,3],[5966,5],[6023,4],[7317,4],[7642,4],[7703,4],[7911,3],[8103,4],[9041,4],[9126,4],[9771,5],[10048,5],[10064,5]]},"695":{"position":[[88,6],[251,6]]},"699":{"position":[[32,4]]},"700":{"position":[[63,5],[175,3]]},"704":{"position":[[665,4]]},"708":{"position":[[250,4],[1058,6]]},"710":{"position":[[157,3]]},"711":{"position":[[722,3]]},"712":{"position":[[726,4]]},"715":{"position":[[123,4],[450,4],[681,4],[1078,4],[1104,5]]},"722":{"position":[[486,3]]},"724":{"position":[[690,4],[1462,3]]},"741":{"position":[[1064,3],[1172,3],[1222,3],[1489,4],[1587,4],[1954,3],[1966,3],[2027,3],[2307,3],[2395,3],[2635,3],[2786,3]]},"742":{"position":[[201,4]]},"745":{"position":[[122,4]]},"746":{"position":[[152,4]]},"747":{"position":[[650,4],[2508,4]]},"751":{"position":[[327,4]]},"753":{"position":[[329,5],[1224,3],[1434,3],[1593,3],[2048,4]]},"756":{"position":[[763,5],[1367,5]]},"768":{"position":[[126,4],[592,4],[1428,4],[1588,4]]},"778":{"position":[[114,5]]},"779":{"position":[[523,4]]},"784":{"position":[[1116,4],[1982,5],[2208,3]]},"785":{"position":[[191,7],[703,3]]},"786":{"position":[[160,4]]},"787":{"position":[[69,4],[133,3],[180,4],[431,3],[469,4],[708,4],[864,3]]},"789":{"position":[[49,4],[133,3]]},"795":{"position":[[634,4]]},"796":{"position":[[864,4]]},"797":{"position":[[157,5]]},"798":{"position":[[62,4]]},"800":{"position":[[61,4],[284,3],[417,4]]},"806":{"position":[[212,4]]},"808":{"position":[[578,3],[653,7]]},"817":{"position":[[211,3]]},"819":{"position":[[114,3]]},"821":{"position":[[77,5]]},"825":{"position":[[382,4],[438,5]]},"829":{"position":[[214,3]]},"832":{"position":[[251,4],[951,3]]},"833":{"position":[[392,4]]},"840":{"position":[[1247,5]]},"845":{"position":[[330,5]]},"846":{"position":[[705,3],[1181,3],[1704,3],[1815,4]]},"847":{"position":[[185,3],[305,3]]},"850":{"position":[[91,3],[713,3]]},"851":{"position":[[93,4],[1698,3],[1921,3]]},"854":{"position":[[56,5]]},"855":{"position":[[44,4],[225,3]]},"856":{"position":[[15,3],[370,3],[411,3]]},"857":{"position":[[8,3]]},"858":{"position":[[141,3]]},"859":{"position":[[8,3]]},"860":{"position":[[8,3],[158,3]]},"861":{"position":[[139,3],[211,3],[607,3],[991,3]]},"864":{"position":[[1431,3]]},"865":{"position":[[529,5],[659,4]]},"866":{"position":[[27,4]]},"867":{"position":[[86,6],[123,5]]},"870":{"position":[[132,3],[248,3]]},"872":{"position":[[811,4]]},"873":{"position":[[92,4],[163,4]]},"878":{"position":[[668,4],[1248,5]]},"879":{"position":[[168,3]]},"889":{"position":[[487,3],[618,5],[814,3],[1095,5]]},"890":{"position":[[147,7],[204,5],[1975,4],[2857,3],[5453,3],[7010,4]]},"892":{"position":[[427,4],[591,5]]},"894":{"position":[[237,4]]},"895":{"position":[[0,3]]},"896":{"position":[[1078,4]]},"898":{"position":[[151,7],[218,4],[667,3]]},"901":{"position":[[882,5]]},"904":{"position":[[874,3]]},"905":{"position":[[358,6],[495,5],[1073,5],[1245,3]]},"906":{"position":[[409,5]]},"916":{"position":[[34,3],[98,4],[178,3],[307,4]]},"917":{"position":[[328,6]]},"919":{"position":[[242,4],[493,4],[591,5],[696,5],[757,4],[837,5],[1107,4]]},"920":{"position":[[154,4]]},"921":{"position":[[624,4]]},"929":{"position":[[348,5]]},"933":{"position":[[45,5],[103,5]]},"935":{"position":[[205,4]]},"937":{"position":[[201,3],[1266,4],[1988,5],[2095,3],[2327,3],[2521,5],[3682,3],[4005,4],[4534,3],[4706,5]]},"938":{"position":[[199,4]]},"939":{"position":[[1377,4],[1437,4]]},"940":{"position":[[46,5]]},"941":{"position":[[297,3]]},"942":{"position":[[331,4],[825,3]]},"944":{"position":[[1059,5],[1984,4]]},"945":{"position":[[159,3]]},"946":{"position":[[636,3]]},"947":{"position":[[649,3],[674,3],[985,3],[1117,4]]},"950":{"position":[[451,3],[682,3]]},"951":{"position":[[403,3],[552,5]]},"954":{"position":[[211,4],[367,5],[405,5]]},"955":{"position":[[1101,5],[1337,5]]},"956":{"position":[[419,3]]},"959":{"position":[[15,3],[368,3]]},"961":{"position":[[777,4]]},"965":{"position":[[112,4],[547,3]]},"972":{"position":[[100,3]]},"973":{"position":[[321,3],[461,4]]},"975":{"position":[[120,3],[206,3],[311,4]]},"976":{"position":[[25,3],[101,3]]},"977":{"position":[[286,6]]},"980":{"position":[[197,4],[554,5],[895,4],[1024,6]]},"981":{"position":[[322,4],[351,3],[522,6]]},"987":{"position":[[940,3]]},"988":{"position":[[374,4],[794,3]]},"989":{"position":[[0,5]]},"990":{"position":[[919,3]]},"991":{"position":[[3157,3],[3217,3]]},"993":{"position":[[201,3]]},"995":{"position":[[555,4],[708,6],[784,6]]},"997":{"position":[[156,5]]},"1004":{"position":[[43,5],[219,4],[676,5]]},"1009":{"position":[[12,6]]},"1012":{"position":[[206,3],[413,4]]},"1014":{"position":[[411,3],[468,3],[483,3]]},"1017":{"position":[[829,5],[1011,8]]},"1021":{"position":[[708,4]]},"1022":{"position":[[39,4]]},"1025":{"position":[[86,3]]},"1026":{"position":[[811,3]]},"1029":{"position":[[14,4],[169,6],[247,4],[301,4],[385,4]]},"1030":{"position":[[3,3],[265,4],[318,3]]},"1031":{"position":[[341,5],[448,3],[715,3],[840,4]]},"1032":{"position":[[116,5],[176,3],[291,3]]},"1033":{"position":[[275,4]]},"1035":{"position":[[513,3]]},"1036":{"position":[[158,5],[202,5]]},"1037":{"position":[[204,5]]},"1038":{"position":[[44,5]]},"1040":{"position":[[535,4],[1102,5],[1281,3],[1427,5],[2049,5],[2725,4]]},"1042":{"position":[[29,5]]},"1043":{"position":[[21,4]]},"1044":{"position":[[585,5],[2375,4],[2604,4],[2753,3]]},"1047":{"position":[[241,3]]},"1049":{"position":[[190,3]]},"1050":{"position":[[1505,3],[3640,4]]},"1052":{"position":[[1515,5]]},"1053":{"position":[[463,4],[792,4],[1063,4]]},"1058":{"position":[[1096,4]]},"1061":{"position":[[172,3],[197,3]]},"1069":{"position":[[569,3],[718,4]]},"1070":{"position":[[873,4]]},"1071":{"position":[[1088,3]]},"1072":{"position":[[26,5],[136,4]]},"1073":{"position":[[127,3]]},"1075":{"position":[[369,5],[527,4]]},"1078":{"position":[[232,5]]},"1081":{"position":[[66,3]]},"1082":{"position":[[12,6],[34,3],[57,3],[90,3],[450,3],[1119,4],[1211,3]]},"1083":{"position":[[60,4],[956,4],[1134,3]]},"1087":{"position":[[191,5],[248,3]]},"1088":{"position":[[25,4],[302,5]]},"1093":{"position":[[388,4]]},"1095":{"position":[[31,4],[157,6]]},"1098":{"position":[[375,5]]},"1103":{"position":[[20,4],[1440,4]]},"1104":{"position":[[548,4],[593,4]]},"1105":{"position":[[34,3],[967,4],[1212,4],[1438,5],[1497,6],[1559,4],[1949,4],[2101,3],[2331,4],[2541,5]]},"1107":{"position":[[27,3],[147,3],[265,3]]},"1108":{"position":[[195,4]]},"1112":{"position":[[564,4],[2943,4]]},"1113":{"position":[[387,3],[596,6],[708,5]]},"1118":{"position":[[17,4]]},"1120":{"position":[[279,3],[416,3]]},"1127":{"position":[[27,5],[179,6],[556,6]]},"1130":{"position":[[0,3]]},"1132":{"position":[[53,4],[90,3]]},"1133":{"position":[[0,3],[803,3]]},"1136":{"position":[[1085,5],[1240,5],[1473,4],[1592,5],[1786,5],[1845,3],[2536,3],[3128,4],[3334,5],[3527,4],[3634,4],[4365,3],[4687,4],[5039,3]]},"1138":{"position":[[2252,3],[3006,5],[3108,4],[3340,4],[3416,3],[3737,6],[5837,4],[6018,3],[6198,3],[6790,4],[6996,5],[7189,4],[7296,4],[8027,3],[8349,4],[8701,3]]},"1140":{"position":[[1741,3],[2495,5],[2597,4],[2829,4],[2905,3],[3226,6],[5124,3],[5716,4],[5922,5],[6115,4],[6222,4],[6953,3],[7275,4],[7627,3]]},"1142":{"position":[[679,4],[1160,4],[1366,5],[1559,4],[1666,4],[2397,3],[2719,4],[3071,3]]},"1146":{"position":[[508,3],[1100,4],[1306,5],[1499,4],[1606,4],[2337,3],[2659,4],[3011,3]]},"1148":{"position":[[1441,5],[1596,5],[1829,4],[1948,5],[2142,5],[2201,3],[3187,4],[3368,3],[3548,3],[4140,4],[4346,5],[4539,4],[4646,4],[5377,3],[5699,4],[6051,3]]},"1152":{"position":[[37,4],[168,4],[245,4]]},"1155":{"position":[[1196,4],[1402,5],[1595,4],[1702,4],[2433,3],[2755,4],[3107,3]]},"1156":{"position":[[774,4],[980,5],[1173,4],[1280,4],[2011,3],[2333,4],[2685,3]]},"1161":{"position":[[578,3]]},"1167":{"position":[[464,3],[483,3],[610,3],[629,3],[774,3],[943,3],[1646,3],[1811,3],[2745,3],[3499,5],[3601,4],[3833,4],[3909,3],[4230,6],[6128,3],[6720,4],[6926,5],[7119,4],[7226,4],[7957,3],[8279,4],[8631,3]]},"1169":{"position":[[559,4],[765,5],[958,4],[1065,4],[1796,3],[2118,4]]},"1172":{"position":[[489,3],[724,3],[1232,3]]},"1173":{"position":[[532,3]]},"1176":{"position":[[119,3]]},"1178":{"position":[[734,3]]},"1179":{"position":[[472,3]]},"1180":{"position":[[802,3]]},"1181":{"position":[[560,5],[649,6],[790,3]]},"1186":{"position":[[1411,4],[1592,3],[1772,3],[2364,4],[2570,5],[2763,4],[2870,4],[3601,3],[3923,4],[4275,3]]},"1187":{"position":[[1424,4],[1605,3],[1785,3],[2377,4],[2583,5],[2776,4],[2883,4],[3614,3],[3936,4],[4288,3]]},"1188":{"position":[[1794,3],[2548,5],[2650,4],[2882,4],[2958,3],[3279,6],[6150,4],[6331,3],[6511,3],[7103,4],[7309,5],[7502,4],[7609,4],[8340,3],[8662,4],[9014,3]]},"1190":{"position":[[1419,6]]},"1191":{"position":[[483,4],[964,4],[1170,5],[1363,4],[1470,4],[2201,3],[2523,4],[2875,3]]},"1192":{"position":[[547,3],[1139,4],[1345,5],[1538,4],[1645,4],[2376,3],[2698,4],[3050,3]]},"1193":{"position":[[710,4],[1191,4],[1397,5],[1590,4],[1697,4],[2428,3],[2750,4],[3102,3]]},"1194":{"position":[[350,4],[831,4],[1037,5],[1230,4],[1337,4],[2068,3],[2390,4],[2742,3]]},"1195":{"position":[[328,4],[809,4],[1015,5],[1208,4],[1315,4],[2046,3],[2368,4],[2720,3]]},"1196":{"position":[[138,4],[619,4],[825,5],[1018,4],[1125,4],[1856,3],[2178,4],[2530,3]]},"1197":{"position":[[269,5],[649,4],[830,3],[1010,3],[1602,4],[1808,5],[2001,4],[2108,4],[2839,3],[3161,4],[3513,3]]},"1198":{"position":[[659,4],[840,3],[1020,3],[1612,4],[1818,5],[2011,4],[2118,4],[2849,3],[3171,4],[3523,3]]},"1199":{"position":[[687,4],[868,3],[1048,3],[1640,4],[1846,5],[2039,4],[2146,4],[2877,3],[3199,4],[3551,3]]},"1200":{"position":[[554,4],[735,3],[915,3],[1507,4],[1713,5],[1906,4],[2013,4],[2744,3],[3066,4],[3418,3]]},"1201":{"position":[[286,4],[767,4],[973,5],[1166,4],[1273,4],[2004,3],[2326,4],[2678,3]]},"1202":{"position":[[1428,4],[1909,4],[2115,5],[2308,4],[2415,4],[3146,3],[3468,4],[3820,3],[5825,4],[6306,4],[6512,5],[6705,4],[6812,4],[7543,3],[7865,4],[8217,3]]},"1203":{"position":[[409,3],[1001,4],[1207,5],[1400,4],[1507,4],[2238,3],[2560,4],[2912,3]]},"1204":{"position":[[364,4],[845,4],[1051,5],[1244,4],[1351,4],[2082,3],[2404,4],[2756,3]]},"1205":{"position":[[565,5],[720,5],[953,4],[1072,5],[1266,5],[1325,3],[1582,3],[2174,4],[2380,5],[2573,4],[2680,4],[3411,3],[3733,4],[4085,3]]},"1206":{"position":[[48,6],[645,4],[851,5],[1044,4],[1151,4],[1882,3],[2204,4],[2556,3],[3581,4]]},"1207":{"position":[[321,4],[802,4],[1008,5],[1201,4],[1308,4],[2039,3],[2361,4],[2713,3]]},"1209":{"position":[[318,5],[473,5],[706,4],[825,5],[1019,5],[1078,3],[1669,4],[2150,4],[2356,5],[2549,4],[2656,4],[3387,3],[3709,4],[4061,3]]},"1217":{"position":[[650,3],[1486,3],[2240,5],[2342,4],[2574,4],[2650,3],[2971,6],[4869,3],[5461,4],[5667,5],[5860,4],[5967,4],[6698,3],[7020,4],[7372,3]]},"1219":{"position":[[249,4],[952,4],[1447,4],[1653,5],[1846,4],[1953,4],[2684,3],[3006,4]]},"1222":{"position":[[571,4],[777,5],[970,4],[1077,4],[1808,3],[2130,4],[2482,3]]},"1223":{"position":[[581,4],[787,5],[980,4],[1087,4],[1818,3],[2140,4],[2492,3]]},"1224":{"position":[[761,4],[967,5],[1160,4],[1267,4],[1998,3],[2320,4]]},"1226":{"position":[[734,4],[867,5],[1521,4],[2258,5],[2413,5],[2646,4],[2765,5],[2959,5],[3018,3],[3280,3],[4751,4],[5151,3],[5337,3],[5929,4],[6135,5],[6328,4],[6435,4],[7166,3],[7488,4],[7840,3]]},"1228":{"position":[[337,4],[1103,3],[3567,3],[4321,5],[4423,4],[4655,4],[4731,3],[5052,6],[6950,3],[7542,4],[7748,5],[7941,4],[8048,4],[8779,3],[9101,4],[9453,3]]},"1231":{"position":[[121,3],[322,3],[608,3]]},"1235":{"position":[[990,3],[1578,5],[1733,5],[1966,4],[2085,5],[2279,5],[2338,3],[2929,4],[3410,4],[3616,5],[3809,4],[3916,4],[4647,3],[4969,4],[5321,3]]},"1237":{"position":[[904,4],[1037,5],[1691,4],[2428,5],[2583,5],[2816,4],[2935,5],[3129,5],[3188,3],[3450,3],[4921,4],[5321,3],[5507,3],[6099,4],[6305,5],[6498,4],[6605,4],[7336,3],[7658,4],[8010,3]]},"1239":{"position":[[66,3]]},"1240":{"position":[[402,3]]},"1243":{"position":[[518,5]]},"1244":{"position":[[280,3]]},"1245":{"position":[[380,4],[561,4]]},"1247":{"position":[[44,4]]},"1248":{"position":[[190,4]]},"1249":{"position":[[63,5]]},"1250":{"position":[[74,3]]},"1252":{"position":[[28,4]]},"1258":{"position":[[1043,4],[1191,4]]},"1259":{"position":[[846,5],[1582,4],[1680,4],[1776,4],[1881,4],[1982,4]]},"1260":{"position":[[689,5],[1046,4]]},"1269":{"position":[[7,5]]},"1277":{"position":[[30,4]]},"1278":{"position":[[30,4],[262,4]]},"1279":{"position":[[30,4],[186,4]]},"1280":{"position":[[30,4]]},"1281":{"position":[[30,4]]},"1282":{"position":[[63,4],[219,3]]},"1283":{"position":[[76,4],[236,3]]},"1284":{"position":[[56,4],[216,3]]},"1289":{"position":[[1043,4],[1191,4]]},"1290":{"position":[[846,5],[1582,4],[1680,4],[1776,4],[1881,4],[1982,4]]},"1291":{"position":[[689,5],[1046,4]]},"1300":{"position":[[7,5]]},"1308":{"position":[[30,4]]},"1309":{"position":[[30,4],[262,4]]},"1310":{"position":[[30,4],[186,4]]},"1311":{"position":[[30,4]]},"1312":{"position":[[30,4]]},"1313":{"position":[[63,4],[219,3]]},"1314":{"position":[[76,4],[236,3]]},"1315":{"position":[[56,4],[216,3]]},"1317":{"position":[[1043,4],[1191,4]]},"1318":{"position":[[846,5],[1582,4],[1680,4],[1776,4],[1881,4],[1982,4]]},"1319":{"position":[[689,5],[1046,4]]},"1328":{"position":[[7,5]]},"1336":{"position":[[30,4]]},"1337":{"position":[[30,4],[262,4]]},"1338":{"position":[[30,4],[186,4]]},"1339":{"position":[[30,4]]},"1340":{"position":[[30,4]]},"1341":{"position":[[63,4],[219,3]]},"1342":{"position":[[76,4],[236,3]]},"1343":{"position":[[56,4],[216,3]]},"1345":{"position":[[406,5],[453,5],[730,5],[1030,5],[1213,4]]},"1348":{"position":[[2663,4],[2796,4],[4192,4]]},"1349":{"position":[[941,4]]},"1350":{"position":[[3912,4]]},"1351":{"position":[[723,4],[1132,4],[1924,3]]},"1352":{"position":[[3911,4]]},"1353":{"position":[[1366,4],[1515,4]]},"1354":{"position":[[1175,4],[1210,4],[1353,4],[2730,4]]},"1355":{"position":[[2177,4],[2492,4],[3297,3],[3690,4],[3880,6],[4066,6],[5452,5],[6450,4],[7633,4]]},"1356":{"position":[[581,4],[624,4],[859,4],[2970,3]]},"1357":{"position":[[532,4]]},"1358":{"position":[[1253,4],[2432,4]]},"1359":{"position":[[896,4],[1090,4]]},"1360":{"position":[[1357,4],[1721,4],[3294,5],[3758,5],[3782,5],[4070,5],[4488,4],[4958,6]]},"1361":{"position":[[1080,4]]},"1362":{"position":[[5079,5],[5444,4],[6464,3],[7850,4],[8128,5],[8273,4],[8449,5],[8592,5],[10878,4],[10984,6],[11132,4],[11490,3],[11795,3],[12008,4],[12516,3],[13130,4],[13465,3]]},"1363":{"position":[[3050,5],[3190,4],[5177,4],[7572,5]]},"1364":{"position":[[5106,5],[5473,4],[6493,3],[8089,4],[8417,3],[8699,4],[8977,5],[9122,4],[9563,5],[9706,5],[11845,4],[11951,6],[12099,4],[12457,3],[13021,3],[13830,4],[14165,3]]},"1365":{"position":[[1014,4],[1799,5]]},"1366":{"position":[[1220,4],[2839,5],[3200,3]]},"1367":{"position":[[6678,4],[6871,4],[7891,3],[8216,5],[8361,4],[8537,5],[8680,5],[10093,4],[10545,4],[11502,4],[11860,3],[12424,3],[13038,4],[13373,3],[13580,4],[14281,3]]},"1368":{"position":[[1570,4]]},"1369":{"position":[[622,4]]},"1370":{"position":[[756,5],[869,4],[2260,3]]},"1371":{"position":[[498,4]]},"1372":{"position":[[2136,4]]},"1373":{"position":[[3008,4],[4099,3],[5394,4],[5500,6],[5647,4],[6512,3],[6816,3],[7029,4],[7339,3],[7457,3],[7584,4],[7996,4],[8114,4]]},"1374":{"position":[[904,4],[2295,4],[2628,4],[2853,5]]},"1375":{"position":[[534,4]]},"1376":{"position":[[490,4]]},"1377":{"position":[[729,4]]},"1378":{"position":[[476,4]]},"1379":{"position":[[499,4]]},"1380":{"position":[[970,4]]},"1381":{"position":[[876,4]]},"1382":{"position":[[3243,5],[3356,4],[4376,3],[4710,4],[7747,4],[7853,6],[8001,4],[8359,3],[9136,3],[9349,4],[9660,3],[10232,3],[10360,4],[10772,4],[10890,4],[11492,4]]},"1383":{"position":[[1412,4],[1594,4],[2973,5],[3363,3],[3482,3],[3519,3],[3613,3],[3863,3],[3957,3],[4151,3],[4245,3],[4445,5],[4814,5],[5033,5],[5891,5],[5928,3],[6520,4],[7066,6],[7708,4],[7745,6]]},"1384":{"position":[[4518,4],[5538,3],[7267,4],[8603,3],[8885,4],[9214,3],[9575,4],[11521,4],[12498,4],[13811,4],[13917,6],[14065,4],[14244,4],[14704,3],[15481,3],[15694,4],[16005,3],[16594,4],[16710,3],[16763,3],[17434,4],[17846,4],[17964,4],[19146,4],[19468,5],[19688,4],[20299,5],[20375,5],[21884,4]]},"1385":{"position":[[2195,4],[3182,3],[4232,4],[4589,3],[5364,3],[5577,4],[5887,3],[6457,3],[7070,4]]},"1386":{"position":[[665,3],[833,4],[1624,4],[2106,5],[2552,4],[2594,4],[2662,5],[2771,4],[3383,4],[4096,4],[4561,4],[4700,5],[4973,4],[5022,3],[5196,5],[5467,4],[5502,5],[5631,5],[5710,5],[5783,4],[6082,3],[6125,3],[6253,4]]},"1387":{"position":[[4464,4],[5364,4],[5453,3],[6613,5],[6960,5],[7072,4],[7178,6],[7325,4],[7503,4],[7962,3],[8737,3],[8950,4],[9260,3],[9830,3],[10443,4]]},"1388":{"position":[[3656,4],[4803,5],[5070,3],[5404,4],[6213,5],[8615,4],[8725,3],[8853,4],[9265,4],[9383,4],[9985,4],[10372,5]]},"1389":{"position":[[4517,4],[5829,3]]},"1390":{"position":[[769,4]]},"1391":{"position":[[722,4]]},"1392":{"position":[[621,4],[872,4],[2000,4]]},"1393":{"position":[[1160,5],[1273,3],[1317,5],[1444,4],[2316,4],[2409,6],[2519,3],[2735,4],[2837,3],[3366,3],[3454,4],[3657,3],[4451,3],[4531,4],[5693,4],[6647,3],[6719,6],[6812,3],[7172,5],[7252,3],[7390,4],[8461,3],[8734,5],[9031,4],[9210,4],[9282,4],[10235,5],[10607,5]]},"1394":{"position":[[609,5],[722,3],[766,5],[892,4]]},"1395":{"position":[[901,4],[1872,4],[2092,4],[2193,5],[2603,5],[2926,3],[3227,3],[3550,5]]},"1396":{"position":[[698,4]]},"1397":{"position":[[879,4],[2395,4],[2788,4],[3428,5]]},"1398":{"position":[[1551,4],[2331,3],[4115,5],[4198,3],[4336,4],[4680,5],[4708,3],[4991,5],[5720,5]]},"1399":{"position":[[626,3],[734,4],[1664,4],[2287,6],[2801,5]]},"1400":{"position":[[603,4]]},"1401":{"position":[[678,4],[1520,5]]},"1402":{"position":[[687,4],[834,4]]},"1403":{"position":[[1230,4],[1424,4],[2709,5],[3173,5],[3197,5],[3485,5],[3903,4],[4946,6],[6808,4],[6845,6],[7373,4],[7592,5]]},"1404":{"position":[[667,4]]},"1405":{"position":[[1358,4],[2686,5]]},"1406":{"position":[[574,4]]},"1407":{"position":[[1399,4],[3107,5]]},"1408":{"position":[[1095,4]]},"1409":{"position":[[629,4]]},"1410":{"position":[[1791,4],[3209,5],[3484,4],[4562,3]]},"1411":{"position":[[612,4]]},"1412":{"position":[[1452,4],[1535,4],[1812,4],[2643,4],[2958,4],[3135,4],[3322,4],[3536,5],[3594,4],[3899,5]]},"1413":{"position":[[1996,4]]},"1414":{"position":[[863,4]]},"1415":{"position":[[2845,4],[3781,3],[3923,6],[3988,5],[4114,4],[4471,3],[4775,3],[4988,4],[5744,3]]},"1416":{"position":[[1497,4]]},"1417":{"position":[[1086,4]]},"1418":{"position":[[787,4]]},"1419":{"position":[[915,4]]},"1420":{"position":[[1034,4],[1179,4]]},"1421":{"position":[[972,4],[1154,4],[2026,4],[2119,4],[2244,3],[2330,3]]},"1422":{"position":[[750,4],[812,4],[1057,4],[1969,5],[2160,5],[2399,4],[3412,4],[3666,5],[3880,5],[3963,4]]},"1423":{"position":[[648,4],[695,4],[1046,4],[1900,4],[2069,4],[2437,5],[2650,5],[2730,4],[3360,4],[3787,5],[3809,4]]},"1424":{"position":[[1171,4]]},"1425":{"position":[[787,4]]},"1426":{"position":[[911,4],[1130,4],[2624,4],[2913,4],[3013,4]]},"1427":{"position":[[2027,4],[2838,4],[3025,6],[3211,6],[4048,4],[4675,4],[4781,4],[5651,4],[6786,5],[7375,5]]},"1428":{"position":[[769,4]]},"1429":{"position":[[2517,4],[2691,4],[3557,6],[4119,6],[4256,4],[4776,4],[6076,4]]},"1430":{"position":[[1545,4]]},"1431":{"position":[[889,4]]},"1432":{"position":[[1410,4]]},"1433":{"position":[[931,4]]},"1434":{"position":[[605,4]]},"1435":{"position":[[569,4]]},"1436":{"position":[[585,4]]},"1437":{"position":[[655,4]]},"1438":{"position":[[789,4]]},"1439":{"position":[[1971,4],[2313,4],[3118,3],[3510,4],[3699,6],[3885,6],[4704,3],[4751,3],[5587,3],[6815,5],[7174,4],[7280,4],[7560,4],[8201,5]]},"1440":{"position":[[2707,4],[2879,4],[4112,6],[4249,4],[4858,4],[5976,4]]},"1441":{"position":[[611,4]]},"1442":{"position":[[684,4],[1700,4],[2865,4],[3029,5]]},"1443":{"position":[[720,4],[906,4]]},"1444":{"position":[[636,4],[822,4],[2058,4]]},"1445":{"position":[[511,4]]},"1446":{"position":[[585,4],[672,4],[845,4],[1808,4]]},"1447":{"position":[[727,4]]},"1448":{"position":[[1162,4]]},"1449":{"position":[[1096,4]]},"1450":{"position":[[975,4]]},"1451":{"position":[[975,4]]},"1452":{"position":[[521,4]]},"1453":{"position":[[1107,4]]},"1454":{"position":[[3473,4],[5668,4],[7002,3],[7717,4],[8893,4],[9009,3],[9071,3],[9145,3],[9223,3],[9597,5]]},"1455":{"position":[[1222,5],[1360,4],[3022,4],[3032,5],[3114,5],[3193,4],[3203,5],[3285,5],[3340,3],[3376,5],[3603,5],[3691,4],[3701,5],[3783,5],[3838,3],[3874,5],[4086,4],[4096,5],[4182,5],[4241,3],[4277,5]]},"1456":{"position":[[544,4],[705,4]]},"1457":{"position":[[764,4]]},"1458":{"position":[[924,4],[1085,4],[1153,4],[1299,4]]},"1459":{"position":[[615,4],[778,4],[1547,5],[2334,4]]},"1460":{"position":[[890,4]]},"1461":{"position":[[893,4],[1105,4],[1904,4],[2380,6],[2630,5],[3024,4]]},"1462":{"position":[[4266,4],[4486,4],[5588,4],[6117,5],[6567,4],[8106,4]]},"1463":{"position":[[612,4]]},"1464":{"position":[[520,4]]},"1465":{"position":[[1411,4],[1618,4],[2518,4],[2840,6],[3089,5],[3389,3],[3798,3],[4477,4]]},"1466":{"position":[[856,4]]},"1467":{"position":[[5175,4],[6083,4],[6345,4],[6566,5],[6979,6],[7229,5],[7682,4],[8433,4],[9167,4],[9658,3],[11021,4]]},"1468":{"position":[[620,4],[1507,5]]},"1469":{"position":[[655,4],[702,4],[993,4],[1865,4],[2498,5],[2742,5],[3157,5],[3179,4],[3492,5],[3514,4]]},"1470":{"position":[[3286,4],[3522,4],[4768,4]]},"1471":{"position":[[1856,4],[3101,4],[3297,4],[3395,4],[3709,4],[4581,3],[4946,5]]},"1472":{"position":[[1815,4],[2820,4],[3532,3],[3881,4],[3979,4],[4293,4],[5165,3]]},"1473":{"position":[[2130,4],[3135,4],[3331,4],[3429,4],[3777,4],[3851,3],[4902,3],[5267,5]]},"1474":{"position":[[1521,4]]},"1475":{"position":[[1992,4]]},"1476":{"position":[[597,4]]},"1477":{"position":[[616,4],[749,4]]},"1478":{"position":[[1240,4],[2283,4],[2466,4]]},"1479":{"position":[[689,4]]},"1480":{"position":[[1102,4]]},"1481":{"position":[[1635,4]]},"1482":{"position":[[524,4],[709,4]]},"1483":{"position":[[543,4]]},"1484":{"position":[[615,4]]},"1485":{"position":[[875,4],[3225,4],[3637,4],[3755,4],[4356,4],[4507,5],[4556,5]]},"1486":{"position":[[830,3],[989,5],[1119,4],[2270,3],[2874,3],[3060,5],[3784,5]]},"1487":{"position":[[814,4],[1717,5],[2169,3],[2459,5]]}},"keywords":{}}],["usabl",{"_index":1559,"title":{},"content":{"283":{"position":[[152,7],[206,6]]},"462":{"position":[[154,7],[208,6]]},"1104":{"position":[[762,7]]}},"keywords":{}}],["usag",{"_index":931,"title":{"921":{"position":[[0,5]]},"1054":{"position":[[8,6]]},"1248":{"position":[[41,7]]},"1254":{"position":[[0,5]]}},"content":{"63":{"position":[[234,6]]},"92":{"position":[[1399,6]]},"166":{"position":[[234,6]]},"168":{"position":[[112,6]]},"224":{"position":[[1399,6]]},"233":{"position":[[405,6]]},"234":{"position":[[185,6]]},"240":{"position":[[347,6]]},"242":{"position":[[534,6]]},"243":{"position":[[571,6]]},"245":{"position":[[153,6]]},"246":{"position":[[152,6]]},"276":{"position":[[589,5],[687,6]]},"277":{"position":[[537,5],[723,6]]},"278":{"position":[[119,6]]},"279":{"position":[[257,6]]},"280":{"position":[[319,6]]},"281":{"position":[[678,5],[788,6]]},"282":{"position":[[628,5],[832,6]]},"283":{"position":[[240,6]]},"284":{"position":[[158,6]]},"285":{"position":[[121,6]]},"286":{"position":[[348,6]]},"288":{"position":[[255,6]]},"289":{"position":[[275,6]]},"298":{"position":[[1198,6]]},"306":{"position":[[138,6]]},"314":{"position":[[426,6]]},"315":{"position":[[230,6]]},"316":{"position":[[250,6]]},"317":{"position":[[253,6]]},"318":{"position":[[392,6]]},"319":{"position":[[165,6]]},"326":{"position":[[406,6]]},"327":{"position":[[365,6]]},"328":{"position":[[421,6]]},"329":{"position":[[407,6]]},"330":{"position":[[362,6]]},"331":{"position":[[342,6]]},"332":{"position":[[363,6]]},"334":{"position":[[709,6]]},"335":{"position":[[637,6]]},"344":{"position":[[419,6]]},"345":{"position":[[913,6]]},"346":{"position":[[562,6]]},"347":{"position":[[458,6]]},"409":{"position":[[138,6]]},"413":{"position":[[86,6]]},"416":{"position":[[716,6]]},"417":{"position":[[946,6]]},"422":{"position":[[72,6]]},"449":{"position":[[142,6]]},"459":{"position":[[134,6]]},"460":{"position":[[123,6]]},"461":{"position":[[105,6]]},"462":{"position":[[242,6]]},"463":{"position":[[178,6]]},"467":{"position":[[287,6]]},"468":{"position":[[246,6]]},"469":{"position":[[302,6]]},"470":{"position":[[347,6]]},"471":{"position":[[243,6]]},"472":{"position":[[223,6]]},"473":{"position":[[244,6]]},"474":{"position":[[448,6]]},"475":{"position":[[399,6]]},"477":{"position":[[187,6]]},"478":{"position":[[250,6]]},"480":{"position":[[70,6]]},"481":{"position":[[153,6]]},"483":{"position":[[73,6]]},"484":{"position":[[125,6]]},"492":{"position":[[234,6]]},"510":{"position":[[287,6]]},"511":{"position":[[307,6]]},"513":{"position":[[83,6]]},"514":{"position":[[79,6]]},"548":{"position":[[234,6]]},"788":{"position":[[138,6]]},"792":{"position":[[86,6]]},"795":{"position":[[716,6]]},"796":{"position":[[946,6]]},"801":{"position":[[72,6]]},"828":{"position":[[142,6]]},"877":{"position":[[413,5]]},"1040":{"position":[[1171,6]]},"1116":{"position":[[104,5]]},"1136":{"position":[[785,6],[6435,5]]},"1138":{"position":[[28,6],[10097,5]]},"1140":{"position":[[16,6],[9023,5]]},"1142":{"position":[[76,6],[4467,5]]},"1144":{"position":[[167,6],[795,5]]},"1146":{"position":[[46,6],[4407,5]]},"1148":{"position":[[1141,6],[7998,5]]},"1150":{"position":[[469,6],[1030,5]]},"1152":{"position":[[51,6],[728,5]]},"1154":{"position":[[41,6],[883,5]]},"1155":{"position":[[53,6],[4503,5]]},"1156":{"position":[[138,6],[4081,5]]},"1157":{"position":[[37,6],[666,5]]},"1158":{"position":[[31,6],[660,5]]},"1159":{"position":[[31,6],[660,5]]},"1161":{"position":[[27,6],[1655,5]]},"1163":{"position":[[214,6],[1041,5]]},"1165":{"position":[[40,6],[870,5]]},"1167":{"position":[[33,6],[10027,5]]},"1169":{"position":[[39,6],[3135,5]]},"1171":{"position":[[41,6],[1376,5]]},"1172":{"position":[[828,6],[2761,5]]},"1173":{"position":[[125,6],[1448,5]]},"1174":{"position":[[36,6],[876,5]]},"1175":{"position":[[56,6],[872,5]]},"1176":{"position":[[141,6],[1041,5]]},"1177":{"position":[[49,6],[962,5]]},"1178":{"position":[[193,6],[1279,5]]},"1179":{"position":[[63,6],[1076,5]]},"1180":{"position":[[393,6],[1347,5]]},"1181":{"position":[[94,6],[1867,5]]},"1182":{"position":[[89,6],[910,5]]},"1183":{"position":[[46,6],[865,5]]},"1185":{"position":[[22,6],[710,5]]},"1186":{"position":[[17,6],[5671,5]]},"1187":{"position":[[31,6],[5684,5]]},"1188":{"position":[[19,6],[10410,5]]},"1190":{"position":[[28,6],[2041,5]]},"1191":{"position":[[57,6],[4271,5]]},"1192":{"position":[[240,6],[4446,5]]},"1193":{"position":[[18,6],[4498,5]]},"1194":{"position":[[45,6],[4138,5]]},"1195":{"position":[[51,6],[4116,5]]},"1196":{"position":[[40,6],[3926,5]]},"1197":{"position":[[46,6],[4909,5]]},"1198":{"position":[[21,6],[4919,5]]},"1199":{"position":[[42,6],[4947,5]]},"1200":{"position":[[59,6],[4814,5]]},"1201":{"position":[[102,6],[4074,5]]},"1202":{"position":[[27,6],[818,5],[1252,6],[5216,5],[5662,6],[9613,5]]},"1203":{"position":[[42,6],[4308,5]]},"1204":{"position":[[51,6],[4152,5],[4518,6],[5054,5],[5434,6],[5984,5],[6350,6],[6886,5],[7255,6],[7872,5],[8279,6],[8826,5],[9197,6],[9773,5],[10153,6],[10703,5]]},"1205":{"position":[[252,6],[5481,5]]},"1206":{"position":[[97,6],[4180,5]]},"1207":{"position":[[114,6],[4109,5]]},"1209":{"position":[[19,6],[5457,5]]},"1211":{"position":[[40,6],[781,5]]},"1213":{"position":[[42,6],[552,5]]},"1215":{"position":[[13,6],[636,5]]},"1217":{"position":[[164,6],[8768,5]]},"1219":{"position":[[742,6],[4023,5]]},"1221":{"position":[[24,6],[755,5]]},"1222":{"position":[[25,6],[3894,5]]},"1223":{"position":[[30,6],[3904,5]]},"1224":{"position":[[223,6],[3337,5]]},"1226":{"position":[[21,6],[9236,5]]},"1228":{"position":[[37,6],[10849,5]]},"1233":{"position":[[68,5]]},"1235":{"position":[[1278,6],[6717,5]]},"1237":{"position":[[190,6],[9406,5]]},"1247":{"position":[[385,5]]},"1248":{"position":[[32,5]]},"1251":{"position":[[27,5]]},"1253":{"position":[[357,5]]},"1386":{"position":[[4224,5]]},"1393":{"position":[[5590,6],[5632,8]]},"1426":{"position":[[2809,5]]}},"keywords":{}}],["usage:artifacts[artifact_from_dynam",{"_index":1129,"title":{},"content":{"92":{"position":[[1051,39]]},"224":{"position":[[1051,39]]},"1040":{"position":[[1476,39]]}},"keywords":{}}],["use/inspect",{"_index":4058,"title":{},"content":{"870":{"position":[[276,11]]}},"keywords":{}}],["use_arch",{"_index":6929,"title":{},"content":{"1364":{"position":[[4615,12]]},"1384":{"position":[[4073,12]]},"1387":{"position":[[3967,12]]}},"keywords":{}}],["use_archiver_flag",{"_index":7413,"title":{},"content":{"1389":{"position":[[4292,19]]}},"keywords":{}}],["use_arg_fil",{"_index":7414,"title":{},"content":{"1389":{"position":[[4322,13]]}},"keywords":{}}],["use_cas",{"_index":1040,"title":{},"content":{"85":{"position":[[81,9]]},"217":{"position":[[81,9]]}},"keywords":{}}],["use_cxx_librari",{"_index":7815,"title":{},"content":{"1413":{"position":[[1774,18]]},"1429":{"position":[[2373,18],[3518,17],[6139,18]]},"1440":{"position":[[2527,18]]},"1470":{"position":[[3049,18]]},"1475":{"position":[[1770,18]]}},"keywords":{}}],["use_default_test_main",{"_index":7310,"title":{},"content":{"1388":{"position":[[3328,22]]}},"keywords":{}}],["use_dep_fil",{"_index":7415,"title":{},"content":{"1389":{"position":[[4346,14]]}},"keywords":{}}],["use_dependency_order_classpath",{"_index":7816,"title":{},"content":{"1413":{"position":[[1810,31]]},"1429":{"position":[[2409,31]]},"1440":{"position":[[2563,31]]},"1470":{"position":[[3085,31]]},"1475":{"position":[[1806,31]]}},"keywords":{}}],["use_derived_apk",{"_index":6502,"title":{},"content":{"1352":{"position":[[3683,16]]},"1360":{"position":[[1268,16]]}},"keywords":{}}],["use_entitlements_when_adhoc_code_sign",{"_index":6871,"title":{},"content":{"1363":{"position":[[2651,41]]},"1367":{"position":[[6317,41]]},"1372":{"position":[[1905,41]]}},"keywords":{}}],["use_global_parse_transform",{"_index":7453,"title":{},"content":{"1393":{"position":[[951,28],[8079,28]]}},"keywords":{}}],["use_header_map",{"_index":7416,"title":{},"content":{"1389":{"position":[[4378,15]]}},"keywords":{}}],["use_jvm_abi_gen",{"_index":6380,"title":{},"content":{"1348":{"position":[[2591,16]]},"1355":{"position":[[2069,16]]},"1439":{"position":[[1865,16]]},"1440":{"position":[[2612,16]]},"1470":{"position":[[3134,16]]}},"keywords":{}}],["use_limited_hybrid",{"_index":1228,"title":{},"content":{"94":{"position":[[3635,20]]},"226":{"position":[[3635,20]]},"362":{"position":[[389,19]]},"741":{"position":[[389,19]]},"1362":{"position":[[10053,18]]},"1364":{"position":[[11167,18]]},"1367":{"position":[[10970,18]]},"1382":{"position":[[6779,18]]},"1384":{"position":[[13133,18]]},"1388":{"position":[[7648,18]]}},"keywords":{}}],["use_persistent_work",{"_index":1884,"title":{},"content":{"362":{"position":[[561,23]]},"741":{"position":[[561,23]]}},"keywords":{}}],["use_project_relative_path",{"_index":2007,"title":{},"content":{"374":{"position":[[94,26],[1164,27]]},"753":{"position":[[94,26],[1164,27]]},"1070":{"position":[[150,26]]}},"keywords":{}}],["use_promise_artifact",{"_index":5281,"title":{},"content":{"1049":{"position":[[1612,20]]}},"keywords":{}}],["use_split_dex",{"_index":6466,"title":{},"content":{"1350":{"position":[[3711,14]]},"1352":{"position":[[3710,14]]},"1353":{"position":[[1280,14]]}},"keywords":{}}],["use_submodul",{"_index":6779,"title":{},"content":{"1362":{"position":[[4548,15]]},"1364":{"position":[[4645,15]]},"1367":{"position":[[6369,15]]}},"keywords":{}}],["use_system_library_load",{"_index":6614,"title":{},"content":{"1358":{"position":[[868,26]]}},"keywords":{}}],["use_windows_path_separ",{"_index":1883,"title":{},"content":{"362":{"position":[[518,28]]},"741":{"position":[[518,28]]}},"keywords":{}}],["useabsh",{"_index":5451,"title":{},"content":{"1061":{"position":[[61,7]]}},"keywords":{}}],["usebuck2",{"_index":4297,"title":{},"content":{"895":{"position":[[494,9]]},"1033":{"position":[[171,8]]},"1240":{"position":[[45,8],[256,8]]}},"keywords":{}}],["usectx.configured_target",{"_index":4423,"title":{},"content":{"905":{"position":[[1154,30]]}},"keywords":{}}],["usectx.label.nam",{"_index":5221,"title":{},"content":{"1046":{"position":[[530,18]]}},"keywords":{}}],["used).buck2",{"_index":5472,"title":{},"content":{"1067":{"position":[[238,11]]}},"keywords":{}}],["used.compiler_flag",{"_index":7240,"title":{},"content":{"1385":{"position":[[3152,20]]}},"keywords":{}}],["used.dep",{"_index":8088,"title":{},"content":{"1444":{"position":[[1779,10]]}},"keywords":{}}],["used.platform_dep",{"_index":7855,"title":{},"content":{"1416":{"position":[[3057,19]]}},"keywords":{}}],["used.resource_env_var",{"_index":5317,"title":{},"content":{"1052":{"position":[[429,22]]}},"keywords":{}}],["used.th",{"_index":5133,"title":{},"content":{"1040":{"position":[[515,8]]}},"keywords":{}}],["used_as_dependency_deprecated_do_not_us",{"_index":8403,"title":{},"content":{"1470":{"position":[[3168,41]]}},"keywords":{}}],["used_by_wrap_script",{"_index":7199,"title":{},"content":{"1384":{"position":[[4103,20],[19442,20],[19784,19]]},"1387":{"position":[[3997,20]]}},"keywords":{}}],["useget_path_without_materi",{"_index":3977,"title":{},"content":{"861":{"position":[[611,38]]}},"keywords":{}}],["useget_paths_without_materi",{"_index":3979,"title":{},"content":{"861":{"position":[[845,39]]}},"keywords":{}}],["usegetattr(my_struct",{"_index":3953,"title":{},"content":{"857":{"position":[[61,21]]}},"keywords":{}}],["user",{"_index":6,"title":{"2":{"position":[[8,6]]},"9":{"position":[[17,6]]},"865":{"position":[[0,4]]},"866":{"position":[[10,4]]},"930":{"position":[[22,4]]},"1182":{"position":[[14,5]]}},"content":{"9":{"position":[[133,4],[1751,4],[2182,4]]},"12":{"position":[[510,4]]},"15":{"position":[[270,5]]},"16":{"position":[[84,6]]},"22":{"position":[[788,5]]},"23":{"position":[[1965,4],[2529,4]]},"24":{"position":[[82,5]]},"94":{"position":[[2392,4]]},"126":{"position":[[171,4]]},"131":{"position":[[256,5]]},"132":{"position":[[153,5]]},"134":{"position":[[145,5]]},"135":{"position":[[94,5]]},"137":{"position":[[118,5]]},"145":{"position":[[137,5]]},"147":{"position":[[115,5]]},"148":{"position":[[150,5]]},"226":{"position":[[2392,4]]},"249":{"position":[[171,4]]},"254":{"position":[[256,5]]},"255":{"position":[[153,5]]},"257":{"position":[[145,5]]},"258":{"position":[[94,5]]},"260":{"position":[[118,5]]},"268":{"position":[[137,5]]},"270":{"position":[[115,5]]},"271":{"position":[[150,5]]},"300":{"position":[[150,5]]},"304":{"position":[[72,4],[242,4]]},"344":{"position":[[141,5],[257,5]]},"368":{"position":[[575,5]]},"389":{"position":[[293,4]]},"450":{"position":[[339,5]]},"580":{"position":[[385,5]]},"635":{"position":[[203,4]]},"693":{"position":[[4653,5],[6056,6],[6966,6],[8484,5]]},"704":{"position":[[2513,4]]},"705":{"position":[[1049,4],[1105,4]]},"715":{"position":[[236,4],[717,5]]},"717":{"position":[[496,4]]},"724":{"position":[[1913,4]]},"725":{"position":[[43,4]]},"747":{"position":[[575,5]]},"768":{"position":[[293,4]]},"829":{"position":[[339,5]]},"834":{"position":[[724,6]]},"846":{"position":[[1698,5]]},"864":{"position":[[1596,4]]},"865":{"position":[[89,4],[486,4]]},"866":{"position":[[15,4],[104,4],[241,4],[267,4],[347,5]]},"867":{"position":[[856,4]]},"869":{"position":[[724,5]]},"870":{"position":[[343,5]]},"873":{"position":[[292,4]]},"898":{"position":[[625,6]]},"919":{"position":[[61,5]]},"923":{"position":[[47,5]]},"924":{"position":[[338,5],[2310,5]]},"926":{"position":[[144,4]]},"937":{"position":[[1286,5],[1614,5],[2340,4],[2421,5],[2481,5],[2609,5],[3056,5],[3384,5]]},"943":{"position":[[1549,4]]},"944":{"position":[[931,4]]},"946":{"position":[[490,5],[627,4]]},"950":{"position":[[11,5],[337,6],[440,5],[1271,5]]},"962":{"position":[[62,5]]},"980":{"position":[[1439,4]]},"987":{"position":[[528,5]]},"988":{"position":[[429,5]]},"991":{"position":[[3015,4]]},"997":{"position":[[186,5]]},"1004":{"position":[[368,4]]},"1011":{"position":[[348,5]]},"1021":{"position":[[364,5]]},"1050":{"position":[[661,4],[1013,4],[1470,4],[1894,4],[2106,4],[2318,4],[2400,4],[3400,4],[3555,4],[4225,4],[4452,4]]},"1067":{"position":[[7,4],[552,4]]},"1112":{"position":[[2682,4]]},"1136":{"position":[[1318,4]]},"1140":{"position":[[444,4],[478,4],[513,4],[596,4],[636,4],[937,5]]},"1148":{"position":[[369,4],[1674,4]]},"1152":{"position":[[258,6]]},"1154":{"position":[[135,4]]},"1155":{"position":[[23,4]]},"1167":{"position":[[1835,4]]},"1171":{"position":[[693,4],[755,4]]},"1180":{"position":[[235,4],[263,4]]},"1182":{"position":[[57,4],[119,4]]},"1188":{"position":[[497,4],[531,4],[566,4],[649,4],[689,4],[990,5]]},"1205":{"position":[[798,4]]},"1209":{"position":[[551,4]]},"1226":{"position":[[2491,4]]},"1232":{"position":[[26,4]]},"1235":{"position":[[1811,4]]},"1237":{"position":[[2661,4]]},"1360":{"position":[[4259,5]]},"1398":{"position":[[1270,5]]},"1403":{"position":[[3674,5]]},"1461":{"position":[[3192,5]]},"1477":{"position":[[2666,5]]}},"keywords":{}}],["user'",{"_index":2663,"title":{},"content":{"581":{"position":[[326,6]]},"583":{"position":[[319,6],[647,6],[704,6]]}},"keywords":{}}],["user_default",{"_index":7489,"title":{},"content":{"1393":{"position":[[7605,12]]},"1398":{"position":[[4551,12]]}},"keywords":{}}],["usereind",{"_index":416,"title":{},"content":{"13":{"position":[[72,12]]}},"keywords":{}}],["userelative_to(ctx.label.cell_root",{"_index":5519,"title":{},"content":{"1073":{"position":[[141,35]]}},"keywords":{}}],["uses_cxx_explicit_modul",{"_index":6780,"title":{},"content":{"1362":{"position":[[4574,26]]},"1364":{"position":[[4671,26]]},"1367":{"position":[[6395,26]]},"1384":{"position":[[4134,26]]},"1387":{"position":[[4028,26]]}},"keywords":{}}],["uses_explicit_modul",{"_index":6781,"title":{},"content":{"1362":{"position":[[4611,22]]},"1364":{"position":[[4708,22]]},"1367":{"position":[[6432,22]]},"1384":{"position":[[4171,22]]},"1387":{"position":[[4065,22]]},"1480":{"position":[[931,22]]}},"keywords":{}}],["uses_modul",{"_index":6782,"title":{},"content":{"1362":{"position":[[4644,13]]},"1364":{"position":[[4741,13]]},"1367":{"position":[[6465,13]]}},"keywords":{}}],["uses_plugin",{"_index":994,"title":{},"content":{"74":{"position":[[188,12]]},"121":{"position":[[295,12]]},"437":{"position":[[201,13]]},"497":{"position":[[188,12]]},"530":{"position":[[295,12]]},"816":{"position":[[201,13]]},"989":{"position":[[49,12]]},"991":{"position":[[581,12],[849,12]]}},"keywords":{}}],["usetransit",{"_index":5680,"title":{},"content":{"1104":{"position":[[2733,13]]}},"keywords":{}}],["usexcrun",{"_index":5460,"title":{},"content":{"1061":{"position":[[292,8]]}},"keywords":{}}],["using:dir",{"_index":4463,"title":{},"content":{"911":{"position":[[121,9]]}},"keywords":{}}],["usingbuck2",{"_index":3792,"title":{},"content":{"715":{"position":[[1878,10]]},"1037":{"position":[[510,10]]},"1244":{"position":[[62,10]]}},"keywords":{}}],["usingimplicit_package_symbol",{"_index":4985,"title":{},"content":{"998":{"position":[[160,28]]}},"keywords":{}}],["usingjoin",{"_index":3717,"title":{},"content":{"711":{"position":[[1183,11]]}},"keywords":{}}],["usingrepr(x",{"_index":2817,"title":{},"content":{"595":{"position":[[1163,13]]}},"keywords":{}}],["usize>>",{"_index":4240,"title":{},"content":{"890":{"position":[[4265,15]]}},"keywords":{}}],["usize>>>",{"_index":4238,"title":{},"content":{"890":{"position":[[4198,19]]}},"keywords":{}}],["usr/bin/env",{"_index":6652,"title":{},"content":{"1360":{"position":[[2975,12]]},"1383":{"position":[[2560,12]]},"1403":{"position":[[2390,12]]}},"keywords":{}}],["usr/bin/tim",{"_index":5458,"title":{},"content":{"1061":{"position":[[201,13]]}},"keywords":{}}],["usual",{"_index":1078,"title":{},"content":{"89":{"position":[[218,5]]},"92":{"position":[[1823,7]]},"221":{"position":[[218,5]]},"224":{"position":[[1823,7]]},"298":{"position":[[1558,7]]},"567":{"position":[[216,6]]},"706":{"position":[[2093,7],[2254,7]]},"717":{"position":[[311,7]]},"851":{"position":[[576,7]]},"886":{"position":[[440,8]]},"894":{"position":[[443,7]]},"906":{"position":[[386,7],[701,7]]},"937":{"position":[[9,7]]},"1040":{"position":[[1925,7]]},"1069":{"position":[[460,7]]},"1071":{"position":[[1367,8]]},"1104":{"position":[[1296,7]]},"1105":{"position":[[392,7]]},"1108":{"position":[[296,7]]},"1247":{"position":[[115,7]]},"1355":{"position":[[3643,8]]},"1366":{"position":[[2672,8]]},"1370":{"position":[[3131,8]]},"1386":{"position":[[1978,6],[5297,7]]},"1412":{"position":[[2579,8],[3441,7]]},"1427":{"position":[[2794,8]]},"1439":{"position":[[3464,8]]},"1462":{"position":[[7243,7]]},"1467":{"position":[[8212,7]]}},"keywords":{}}],["utarget",{"_index":6049,"title":{"1236":{"position":[[0,8]]},"1237":{"position":[[5,9]]}},"content":{"1226":{"position":[[10,10]]},"1237":{"position":[[211,8]]}},"keywords":{}}],["utarget_set",{"_index":2127,"title":{"449":{"position":[[0,12]]},"828":{"position":[[0,12]]}},"content":{"402":{"position":[[1120,11]]},"781":{"position":[[1120,11]]}},"keywords":{}}],["utarget_set(nod",{"_index":2403,"title":{},"content":{"449":{"position":[[4,18]]},"828":{"position":[[4,18]]}},"keywords":{}}],["util",{"_index":4832,"title":{},"content":{"973":{"position":[[405,7]]},"1346":{"position":[[175,7]]},"1373":{"position":[[8679,4]]},"1382":{"position":[[11831,8],[11865,7]]},"1385":{"position":[[7491,8],[7596,7]]},"1387":{"position":[[10824,8],[10927,7]]},"1455":{"position":[[4587,7]]}},"keywords":{}}],["util.cpp",{"_index":7162,"title":{},"content":{"1382":{"position":[[11882,11]]}},"keywords":{}}],["util.h",{"_index":7163,"title":{},"content":{"1382":{"position":[[11909,9]]}},"keywords":{}}],["utilization)remote_execution_max_input_files_mebibyt",{"_index":1897,"title":{},"content":{"362":{"position":[[1639,55]]},"741":{"position":[[1639,55]]}},"keywords":{}}],["utils.lua",{"_index":7251,"title":{},"content":{"1385":{"position":[[7509,12],[7561,11]]}},"keywords":{}}],["utils.pi",{"_index":7304,"title":{},"content":{"1387":{"position":[[10842,11],[10893,10]]}},"keywords":{}}],["uuid",{"_index":5712,"title":{},"content":{"1112":{"position":[[74,5]]},"1124":{"position":[[325,4]]},"1126":{"position":[[304,4]]},"1127":{"position":[[325,5]]},"1435":{"position":[[445,5]]}},"keywords":{}}],["uuidgen",{"_index":6496,"title":{},"content":{"1351":{"position":[[5122,7]]}},"keywords":{}}],["v",{"_index":2365,"title":{},"content":{"441":{"position":[[249,2],[260,1]]},"638":{"position":[[631,1]]},"663":{"position":[[694,1]]},"820":{"position":[[249,2],[260,1]]},"889":{"position":[[388,1],[460,3]]},"902":{"position":[[620,1]]},"1004":{"position":[[1255,1],[1265,2]]},"1136":{"position":[[6040,2]]},"1138":{"position":[[9702,2]]},"1140":{"position":[[8628,2]]},"1142":{"position":[[4072,2]]},"1144":{"position":[[400,2]]},"1146":{"position":[[4012,2]]},"1148":{"position":[[7603,2]]},"1150":{"position":[[635,2]]},"1152":{"position":[[333,2]]},"1154":{"position":[[488,2]]},"1155":{"position":[[4108,2]]},"1156":{"position":[[3686,2]]},"1157":{"position":[[271,2]]},"1158":{"position":[[265,2]]},"1159":{"position":[[265,2]]},"1161":{"position":[[1260,2]]},"1163":{"position":[[646,2]]},"1165":{"position":[[475,2]]},"1167":{"position":[[9632,2]]},"1169":{"position":[[2740,2]]},"1171":{"position":[[981,2]]},"1172":{"position":[[2366,2]]},"1173":{"position":[[1053,2]]},"1174":{"position":[[481,2]]},"1175":{"position":[[477,2]]},"1176":{"position":[[646,2]]},"1177":{"position":[[567,2]]},"1178":{"position":[[884,2]]},"1179":{"position":[[681,2]]},"1180":{"position":[[952,2]]},"1181":{"position":[[1472,2]]},"1182":{"position":[[515,2]]},"1183":{"position":[[470,2]]},"1185":{"position":[[315,2]]},"1186":{"position":[[5276,2]]},"1187":{"position":[[5289,2]]},"1188":{"position":[[10015,2]]},"1190":{"position":[[1646,2]]},"1191":{"position":[[3876,2]]},"1192":{"position":[[4051,2]]},"1193":{"position":[[4103,2]]},"1194":{"position":[[3743,2]]},"1195":{"position":[[3721,2]]},"1196":{"position":[[3531,2]]},"1197":{"position":[[4514,2]]},"1198":{"position":[[4524,2]]},"1199":{"position":[[4552,2]]},"1200":{"position":[[4419,2]]},"1201":{"position":[[3679,2]]},"1202":{"position":[[423,2],[4821,2],[9218,2]]},"1203":{"position":[[3913,2]]},"1204":{"position":[[3757,2],[4659,2],[5589,2],[6491,2],[7477,2],[8431,2],[9378,2],[10308,2]]},"1205":{"position":[[5086,2]]},"1206":{"position":[[3785,2]]},"1207":{"position":[[3714,2]]},"1209":{"position":[[5062,2]]},"1211":{"position":[[386,2]]},"1213":{"position":[[157,2]]},"1215":{"position":[[241,2]]},"1217":{"position":[[8373,2]]},"1219":{"position":[[3628,2]]},"1221":{"position":[[360,2]]},"1222":{"position":[[3499,2]]},"1223":{"position":[[3509,2]]},"1224":{"position":[[2942,2]]},"1226":{"position":[[8841,2]]},"1228":{"position":[[10454,2]]},"1235":{"position":[[6322,2]]},"1237":{"position":[[9011,2]]}},"keywords":{}}],["v.host",{"_index":3308,"title":{},"content":{"663":{"position":[[757,6]]},"901":{"position":[[713,6]]}},"keywords":{}}],["v.index",{"_index":3129,"title":{},"content":{"638":{"position":[[753,7]]}},"keywords":{}}],["v.port",{"_index":3310,"title":{},"content":{"663":{"position":[[793,6]]},"901":{"position":[[748,6]]}},"keywords":{}}],["v.valu",{"_index":3128,"title":{},"content":{"638":{"position":[[690,7]]},"902":{"position":[[679,7]]}},"keywords":{}}],["v1",{"_index":4121,"title":{"1020":{"position":[[5,2]]}},"content":{"879":{"position":[[75,2]]},"926":{"position":[[98,3]]},"978":{"position":[[84,3]]},"1020":{"position":[[29,2]]}},"keywords":{}}],["v2",{"_index":4558,"title":{"928":{"position":[[28,4]]},"978":{"position":[[14,2]]}},"content":{"926":{"position":[[170,3]]},"978":{"position":[[14,2],[41,2]]}},"keywords":{}}],["v:off",{"_index":6661,"title":{},"content":{"1360":{"position":[[4728,6]]},"1383":{"position":[[6760,6]]},"1403":{"position":[[4143,6]]}},"keywords":{}}],["v=1,stderr"",{"_index":5914,"title":{},"content":{"1136":{"position":[[6448,16]]},"1138":{"position":[[10110,16]]},"1140":{"position":[[9036,16]]},"1142":{"position":[[4480,16]]},"1144":{"position":[[808,16]]},"1146":{"position":[[4420,16]]},"1148":{"position":[[8011,16]]},"1150":{"position":[[1043,16]]},"1152":{"position":[[741,16]]},"1154":{"position":[[896,16]]},"1155":{"position":[[4516,16]]},"1156":{"position":[[4094,16]]},"1157":{"position":[[679,16]]},"1158":{"position":[[673,16]]},"1159":{"position":[[673,16]]},"1161":{"position":[[1668,16]]},"1163":{"position":[[1054,16]]},"1165":{"position":[[883,16]]},"1167":{"position":[[10040,16]]},"1169":{"position":[[3148,16]]},"1171":{"position":[[1389,16]]},"1172":{"position":[[2774,16]]},"1173":{"position":[[1461,16]]},"1174":{"position":[[889,16]]},"1175":{"position":[[885,16]]},"1176":{"position":[[1054,16]]},"1177":{"position":[[975,16]]},"1178":{"position":[[1292,16]]},"1179":{"position":[[1089,16]]},"1180":{"position":[[1360,16]]},"1181":{"position":[[1880,16]]},"1182":{"position":[[923,16]]},"1183":{"position":[[878,16]]},"1185":{"position":[[723,16]]},"1186":{"position":[[5684,16]]},"1187":{"position":[[5697,16]]},"1188":{"position":[[10423,16]]},"1190":{"position":[[2054,16]]},"1191":{"position":[[4284,16]]},"1192":{"position":[[4459,16]]},"1193":{"position":[[4511,16]]},"1194":{"position":[[4151,16]]},"1195":{"position":[[4129,16]]},"1196":{"position":[[3939,16]]},"1197":{"position":[[4922,16]]},"1198":{"position":[[4932,16]]},"1199":{"position":[[4960,16]]},"1200":{"position":[[4827,16]]},"1201":{"position":[[4087,16]]},"1202":{"position":[[831,16],[5229,16],[9626,16]]},"1203":{"position":[[4321,16]]},"1204":{"position":[[4165,16],[5067,16],[5997,16],[6899,16],[7885,16],[8839,16],[9786,16],[10716,16]]},"1205":{"position":[[5494,16]]},"1206":{"position":[[4193,16]]},"1207":{"position":[[4122,16]]},"1209":{"position":[[5470,16]]},"1211":{"position":[[794,16]]},"1213":{"position":[[565,16]]},"1215":{"position":[[649,16]]},"1217":{"position":[[8781,16]]},"1219":{"position":[[4036,16]]},"1221":{"position":[[768,16]]},"1222":{"position":[[3907,16]]},"1223":{"position":[[3917,16]]},"1224":{"position":[[3350,16]]},"1226":{"position":[[9249,16]]},"1228":{"position":[[10862,16]]},"1235":{"position":[[6730,16]]},"1237":{"position":[[9419,16]]}},"keywords":{}}],["valid",{"_index":1373,"title":{},"content":{"136":{"position":[[135,9]]},"147":{"position":[[34,8]]},"259":{"position":[[135,9]]},"270":{"position":[[34,8]]},"309":{"position":[[426,5]]},"340":{"position":[[186,5]]},"374":{"position":[[1142,9]]},"389":{"position":[[882,5]]},"396":{"position":[[22,12],[133,10],[144,11],[367,12],[460,11]]},"405":{"position":[[1901,5]]},"566":{"position":[[604,5]]},"637":{"position":[[216,5]]},"644":{"position":[[578,5]]},"712":{"position":[[1571,10],[2447,10]]},"753":{"position":[[1142,9]]},"768":{"position":[[882,5]]},"775":{"position":[[22,12],[133,10],[144,11],[367,12],[460,11]]},"784":{"position":[[1901,5]]},"889":{"position":[[1278,6]]},"900":{"position":[[1337,5]]},"919":{"position":[[2525,6]]},"921":{"position":[[265,5],[658,5],[919,5]]},"939":{"position":[[1513,6]]},"942":{"position":[[389,6],[608,6]]},"1045":{"position":[[330,5]]},"1138":{"position":[[1652,11],[1713,10],[1775,11],[1874,12]]},"1140":{"position":[[1141,11],[1202,10],[1264,11],[1363,12]]},"1167":{"position":[[2145,11],[2206,10],[2268,11],[2367,12]]},"1188":{"position":[[1194,11],[1255,10],[1317,11],[1416,12]]},"1217":{"position":[[886,11],[947,10],[1009,11],[1108,12]]},"1228":{"position":[[2967,11],[3028,10],[3090,11],[3189,12]]},"1258":{"position":[[970,5]]},"1289":{"position":[[970,5]]},"1317":{"position":[[970,5]]},"1345":{"position":[[949,10]]},"1360":{"position":[[3869,5]]},"1374":{"position":[[2532,5]]},"1403":{"position":[[3284,5],[4636,6],[5956,6]]},"1407":{"position":[[2391,5]]},"1422":{"position":[[3631,10]]},"1423":{"position":[[2402,10]]},"1427":{"position":[[4163,5]]},"1429":{"position":[[5679,5]]},"1440":{"position":[[5671,5]]},"1462":{"position":[[7992,5]]},"1467":{"position":[[9052,5]]},"1487":{"position":[[1880,5]]}},"keywords":{}}],["validation_dep",{"_index":6467,"title":{},"content":{"1350":{"position":[[3736,16]]},"1352":{"position":[[3735,16]]},"1355":{"position":[[2103,16]]},"1362":{"position":[[4668,16]]},"1363":{"position":[[2703,16]]},"1364":{"position":[[4765,16]]},"1367":{"position":[[6489,16]]},"1372":{"position":[[1957,16]]},"1427":{"position":[[1629,16]]},"1439":{"position":[[1899,16]]}},"keywords":{}}],["validation_result",{"_index":2094,"title":{},"content":{"397":{"position":[[34,18]]},"776":{"position":[[34,18]]}},"keywords":{}}],["validationinfo",{"_index":2089,"title":{"396":{"position":[[0,15]]},"775":{"position":[[0,15]]}},"content":{"396":{"position":[[4,17],[63,14],[181,14]]},"775":{"position":[[4,17],[63,14],[181,14]]}},"keywords":{}}],["validationspec",{"_index":2093,"title":{"397":{"position":[[0,15]]},"776":{"position":[[0,15]]}},"content":{"396":{"position":[[411,14]]},"397":{"position":[[4,15],[94,14]]},"775":{"position":[[411,14]]},"776":{"position":[[4,15],[94,14]]}},"keywords":{}}],["valu",{"_index":545,"title":{"577":{"position":[[4,6]]},"578":{"position":[[16,6]]},"898":{"position":[[0,5]]},"915":{"position":[[17,7]]},"996":{"position":[[14,6]]},"1131":{"position":[[37,6]]},"1207":{"position":[[19,7]]},"1258":{"position":[[6,5]]},"1262":{"position":[[25,6]]},"1263":{"position":[[26,6]]},"1264":{"position":[[30,6]]},"1282":{"position":[[20,6],[38,7]]},"1283":{"position":[[17,6],[35,7]]},"1284":{"position":[[16,6],[34,7]]},"1289":{"position":[[6,5]]},"1293":{"position":[[25,6]]},"1294":{"position":[[26,6]]},"1295":{"position":[[30,6]]},"1313":{"position":[[20,6],[38,7]]},"1314":{"position":[[17,6],[35,7]]},"1315":{"position":[[16,6],[34,7]]},"1317":{"position":[[6,5]]},"1321":{"position":[[25,6]]},"1322":{"position":[[26,6]]},"1323":{"position":[[30,6]]},"1341":{"position":[[20,6],[38,7]]},"1342":{"position":[[17,6],[35,7]]},"1343":{"position":[[16,6],[34,7]]}},"content":{"18":{"position":[[378,7],[2315,7]]},"37":{"position":[[98,5]]},"66":{"position":[[127,5]]},"71":{"position":[[45,5]]},"74":{"position":[[44,5],[179,5]]},"92":{"position":[[643,6],[1109,5],[1190,6],[1746,6]]},"94":{"position":[[1573,5]]},"97":{"position":[[60,5]]},"98":{"position":[[860,6],[1272,6]]},"99":{"position":[[645,6]]},"118":{"position":[[176,5],[239,7]]},"119":{"position":[[124,5],[182,6]]},"121":{"position":[[36,5],[86,5],[269,5]]},"123":{"position":[[67,5]]},"126":{"position":[[211,5],[370,6]]},"130":{"position":[[103,6]]},"132":{"position":[[32,6]]},"140":{"position":[[106,5],[179,5]]},"145":{"position":[[341,7]]},"150":{"position":[[106,6]]},"161":{"position":[[47,5]]},"182":{"position":[[98,5]]},"224":{"position":[[643,6],[1109,5],[1190,6],[1746,6]]},"226":{"position":[[1573,5]]},"229":{"position":[[60,5]]},"230":{"position":[[860,6],[1272,6]]},"231":{"position":[[645,6]]},"238":{"position":[[45,6]]},"245":{"position":[[201,5]]},"246":{"position":[[200,5]]},"249":{"position":[[211,5],[370,6]]},"253":{"position":[[103,6]]},"255":{"position":[[32,6]]},"263":{"position":[[106,5],[179,5]]},"268":{"position":[[341,7]]},"273":{"position":[[106,6]]},"276":{"position":[[157,6]]},"281":{"position":[[191,6],[226,6]]},"304":{"position":[[189,6],[369,5]]},"306":{"position":[[109,5]]},"325":{"position":[[45,6]]},"326":{"position":[[55,6]]},"333":{"position":[[46,6]]},"345":{"position":[[584,6],[977,5]]},"363":{"position":[[80,7],[567,7]]},"374":{"position":[[547,5],[628,5],[778,5],[959,5],[1037,5],[1803,5]]},"389":{"position":[[854,7],[935,6],[991,6],[1069,6],[1122,6],[1294,5],[1410,7],[1527,6],[1570,7]]},"396":{"position":[[426,6]]},"400":{"position":[[434,6]]},"405":{"position":[[1016,7],[1145,6],[1907,5]]},"407":{"position":[[90,6]]},"410":{"position":[[66,5]]},"427":{"position":[[563,5]]},"431":{"position":[[42,5],[95,5]]},"432":{"position":[[59,5],[170,5]]},"441":{"position":[[50,5]]},"442":{"position":[[45,6],[124,5]]},"443":{"position":[[434,6]]},"451":{"position":[[35,6],[94,5],[168,5],[302,6]]},"454":{"position":[[127,5]]},"466":{"position":[[45,6]]},"467":{"position":[[55,6]]},"481":{"position":[[38,5]]},"484":{"position":[[41,5],[70,5]]},"494":{"position":[[45,5]]},"497":{"position":[[44,5],[179,5]]},"530":{"position":[[36,5],[86,5],[269,5]]},"532":{"position":[[67,5]]},"534":{"position":[[176,5],[239,7]]},"535":{"position":[[124,5],[182,6]]},"554":{"position":[[129,5],[202,6],[233,5]]},"555":{"position":[[85,6]]},"557":{"position":[[130,5],[243,6],[313,6]]},"559":{"position":[[65,5],[110,5],[184,5],[257,6],[306,5]]},"560":{"position":[[72,6],[684,5],[696,6]]},"561":{"position":[[71,6],[155,7]]},"566":{"position":[[494,5]]},"567":{"position":[[116,5],[258,5],[319,5],[351,5]]},"569":{"position":[[61,5],[127,5]]},"576":{"position":[[65,6]]},"577":{"position":[[51,6],[107,6],[247,5],[420,5],[603,5]]},"578":{"position":[[0,6],[113,6]]},"590":{"position":[[164,5]]},"592":{"position":[[94,6],[144,5],[191,6]]},"595":{"position":[[833,5],[961,6],[1096,5],[1157,5],[1203,5]]},"627":{"position":[[64,5]]},"628":{"position":[[68,6],[111,5]]},"629":{"position":[[68,5],[110,5]]},"630":{"position":[[55,5],[77,6]]},"634":{"position":[[147,5]]},"635":{"position":[[39,5]]},"637":{"position":[[57,6],[174,5]]},"638":{"position":[[51,5],[78,7],[249,6],[375,6],[497,6],[599,5],[684,5],[784,6],[1148,5],[1213,7]]},"639":{"position":[[187,6],[228,6],[281,5],[367,5]]},"640":{"position":[[100,5]]},"643":{"position":[[239,7]]},"644":{"position":[[262,5]]},"645":{"position":[[66,5],[117,5]]},"647":{"position":[[66,6],[105,5],[185,5]]},"648":{"position":[[85,5],[284,5]]},"649":{"position":[[58,5]]},"656":{"position":[[99,5]]},"660":{"position":[[40,6]]},"662":{"position":[[717,5],[774,5]]},"663":{"position":[[77,7],[391,6],[905,6]]},"675":{"position":[[929,5]]},"693":{"position":[[2563,7],[2678,5]]},"711":{"position":[[1116,6]]},"712":{"position":[[1481,6]]},"742":{"position":[[80,7],[567,7]]},"753":{"position":[[547,5],[628,5],[778,5],[959,5],[1037,5],[1803,5]]},"768":{"position":[[854,7],[935,6],[991,6],[1069,6],[1122,6],[1294,5],[1410,7],[1527,6],[1570,7]]},"775":{"position":[[426,6]]},"779":{"position":[[434,6]]},"784":{"position":[[1016,7],[1145,6],[1907,5]]},"786":{"position":[[90,6]]},"789":{"position":[[66,5]]},"806":{"position":[[563,5]]},"810":{"position":[[42,5],[95,5]]},"811":{"position":[[59,5],[170,5]]},"820":{"position":[[50,5]]},"821":{"position":[[45,6],[124,5]]},"822":{"position":[[434,6]]},"830":{"position":[[35,6],[94,5],[168,5],[302,6]]},"851":{"position":[[1488,6]]},"864":{"position":[[292,6]]},"877":{"position":[[619,6]]},"882":{"position":[[105,6]]},"887":{"position":[[79,6],[499,6]]},"888":{"position":[[61,5],[194,5],[573,5],[609,5]]},"889":{"position":[[15,5],[160,5],[217,5]]},"890":{"position":[[170,6],[1858,7],[1930,6],[3155,6],[4460,6],[5415,5],[6615,5]]},"892":{"position":[[640,5],[680,5],[878,5],[1177,6],[1608,6]]},"894":{"position":[[263,5],[504,5]]},"898":{"position":[[0,5],[227,6],[261,6],[715,7],[723,6],[793,6],[947,6],[1129,6],[1680,7],[2217,5],[2560,5],[2604,6]]},"900":{"position":[[89,5],[206,5],[262,5],[314,5],[522,6],[593,6],[666,5],[1102,5],[1343,6],[1406,5],[1613,7],[1661,6]]},"901":{"position":[[40,7],[353,6],[860,6]]},"902":{"position":[[29,5],[56,7],[364,6],[486,6],[588,5],[673,5],[772,6],[1133,5],[1198,7]]},"915":{"position":[[56,7],[107,5],[135,5]]},"916":{"position":[[115,6],[190,6]]},"917":{"position":[[94,7],[129,5]]},"938":{"position":[[230,5]]},"939":{"position":[[368,6],[448,5],[550,5],[710,5],[988,5]]},"944":{"position":[[180,6]]},"966":{"position":[[271,6],[645,5]]},"990":{"position":[[826,5]]},"991":{"position":[[3454,5]]},"995":{"position":[[325,6]]},"1001":{"position":[[92,6],[235,5],[266,6],[409,5],[465,6],[905,6],[1253,5],[1299,5],[1513,6]]},"1004":{"position":[[1127,6],[1358,6],[1549,7],[1557,6]]},"1009":{"position":[[576,6]]},"1011":{"position":[[178,7],[266,6]]},"1012":{"position":[[52,6],[127,6]]},"1016":{"position":[[73,6]]},"1018":{"position":[[326,6]]},"1040":{"position":[[163,6],[1534,5],[1616,6],[1848,6]]},"1043":{"position":[[146,6]]},"1052":{"position":[[458,5],[1240,5]]},"1053":{"position":[[566,5],[658,6],[698,6],[857,5]]},"1056":{"position":[[426,6]]},"1064":{"position":[[57,6],[291,5],[322,6],[401,5],[507,5],[563,6],[1005,6],[1336,5],[1391,5]]},"1065":{"position":[[187,5],[232,5]]},"1069":{"position":[[219,5],[503,5],[634,5],[772,5]]},"1071":{"position":[[742,6],[1152,5],[1334,5]]},"1079":{"position":[[553,7]]},"1081":{"position":[[190,5],[246,5],[291,6],[371,5]]},"1082":{"position":[[164,6],[275,5],[512,5],[654,7],[959,5],[1015,5]]},"1083":{"position":[[176,5],[269,5],[333,5],[389,7],[490,7],[618,5],[626,6],[793,5],[849,5],[1067,6]]},"1084":{"position":[[391,5],[447,5],[522,5]]},"1086":{"position":[[18,6],[225,6],[270,5],[302,5],[364,7],[431,6]]},"1087":{"position":[[60,5],[495,5],[551,5],[626,5],[676,6]]},"1088":{"position":[[842,5],[898,5],[973,5],[1023,6]]},"1096":{"position":[[357,5]]},"1126":{"position":[[240,5],[264,5]]},"1131":{"position":[[460,6]]},"1136":{"position":[[2350,7],[2686,5],[2873,7],[2948,7],[3024,5],[3148,6],[4120,7],[5107,7],[5309,6],[5551,7],[6113,7],[6591,5]]},"1138":{"position":[[797,7],[6075,5],[6348,5],[6535,7],[6610,7],[6686,5],[6810,6],[7782,7],[8769,7],[8971,6],[9213,7],[9775,7],[10253,5]]},"1140":{"position":[[423,7],[5274,5],[5461,7],[5536,7],[5612,5],[5736,6],[6708,7],[7695,7],[7897,6],[8139,7],[8701,7],[9179,5]]},"1142":{"position":[[905,7],[980,7],[1056,5],[1180,6],[2152,7],[3139,7],[3341,6],[3583,7],[4145,7],[4623,5]]},"1144":{"position":[[304,7],[473,7],[951,5]]},"1146":{"position":[[658,5],[845,7],[920,7],[996,5],[1120,6],[2092,7],[3079,7],[3281,6],[3523,7],[4085,7],[4563,5]]},"1148":{"position":[[2706,7],[3425,5],[3698,5],[3885,7],[3960,7],[4036,5],[4160,6],[5132,7],[6119,7],[6321,6],[6563,7],[7345,7],[7676,7],[8154,5]]},"1150":{"position":[[708,7],[1186,5]]},"1152":{"position":[[406,7],[884,5]]},"1154":{"position":[[561,7],[1039,5]]},"1155":{"position":[[616,7],[941,7],[1016,7],[1092,5],[1216,6],[2188,7],[3175,7],[3377,6],[3619,7],[4181,7],[4659,5]]},"1156":{"position":[[519,7],[594,7],[670,5],[794,6],[1766,7],[2753,7],[2955,6],[3197,7],[3759,7],[4237,5]]},"1157":{"position":[[175,7],[344,7],[822,5]]},"1158":{"position":[[169,7],[338,7],[816,5]]},"1159":{"position":[[169,7],[338,7],[816,5]]},"1161":{"position":[[646,7],[848,6],[1090,7],[1333,7],[1811,5]]},"1163":{"position":[[719,7],[1197,5]]},"1165":{"position":[[548,7],[1026,5]]},"1167":{"position":[[6278,5],[6465,7],[6540,7],[6616,5],[6740,6],[7712,7],[8699,7],[8901,6],[9143,7],[9705,7],[10183,5]]},"1169":{"position":[[304,7],[379,7],[455,5],[579,6],[1551,7],[2813,7],[3291,5]]},"1171":{"position":[[1054,7],[1532,5]]},"1172":{"position":[[1284,7],[2202,6],[2439,7],[2917,5]]},"1173":{"position":[[584,7],[1126,7],[1604,5]]},"1174":{"position":[[554,7],[1032,5]]},"1175":{"position":[[550,7],[1028,5]]},"1176":{"position":[[719,7],[1197,5]]},"1177":{"position":[[640,7],[1118,5]]},"1178":{"position":[[786,7],[957,7],[1435,5]]},"1179":{"position":[[524,7],[754,7],[1232,5]]},"1180":{"position":[[854,7],[1025,7],[1503,5]]},"1181":{"position":[[858,7],[1060,6],[1302,7],[1545,7],[2023,5]]},"1182":{"position":[[588,7],[1066,5]]},"1183":{"position":[[543,7],[1021,5]]},"1185":{"position":[[388,7],[866,5]]},"1186":{"position":[[897,7],[1649,5],[1922,5],[2109,7],[2184,7],[2260,5],[2384,6],[3356,7],[4343,7],[4545,6],[4787,7],[5349,7],[5827,5]]},"1187":{"position":[[910,7],[1662,5],[1935,5],[2122,7],[2197,7],[2273,5],[2397,6],[3369,7],[4356,7],[4558,6],[4800,7],[5362,7],[5840,5]]},"1188":{"position":[[476,7],[5636,7],[6388,5],[6661,5],[6848,7],[6923,7],[6999,5],[7123,6],[8095,7],[9082,7],[9284,6],[9526,7],[10088,7],[10566,5]]},"1190":{"position":[[1476,6],[1499,6],[1719,7],[2197,5]]},"1191":{"position":[[709,7],[784,7],[860,5],[984,6],[1956,7],[2943,7],[3145,6],[3387,7],[3949,7],[4427,5]]},"1192":{"position":[[697,5],[884,7],[959,7],[1035,5],[1159,6],[2131,7],[3118,7],[3320,6],[3562,7],[4124,7],[4602,5]]},"1193":{"position":[[192,6],[458,7],[547,7],[581,5],[637,7],[936,7],[1011,7],[1087,5],[1211,6],[2183,7],[3170,7],[3372,6],[3614,7],[4176,7],[4654,5]]},"1194":{"position":[[576,7],[651,7],[727,5],[851,6],[1823,7],[2810,7],[3012,6],[3254,7],[3816,7],[4294,5]]},"1195":{"position":[[554,7],[629,7],[705,5],[829,6],[1801,7],[2788,7],[2990,6],[3232,7],[3794,7],[4272,5]]},"1196":{"position":[[364,7],[439,7],[515,5],[639,6],[1611,7],[2598,7],[2800,6],[3042,7],[3604,7],[4082,5]]},"1197":{"position":[[887,5],[1160,5],[1347,7],[1422,7],[1498,5],[1622,6],[2594,7],[3581,7],[3783,6],[4025,7],[4587,7],[5065,5]]},"1198":{"position":[[897,5],[1170,5],[1357,7],[1432,7],[1508,5],[1632,6],[2604,7],[3591,7],[3793,6],[4035,7],[4597,7],[5075,5]]},"1199":{"position":[[925,5],[1198,5],[1385,7],[1460,7],[1536,5],[1660,6],[2632,7],[3619,7],[3821,6],[4063,7],[4625,7],[5103,5]]},"1200":{"position":[[792,5],[1065,5],[1252,7],[1327,7],[1403,5],[1527,6],[2499,7],[3486,7],[3688,6],[3930,7],[4492,7],[4970,5]]},"1201":{"position":[[512,7],[587,7],[663,5],[787,6],[1759,7],[2746,7],[2948,6],[3190,7],[3752,7],[4230,5]]},"1202":{"position":[[496,7],[974,5],[1654,7],[1729,7],[1805,5],[1929,6],[2901,7],[3888,7],[4090,6],[4332,7],[4894,7],[5372,5],[6051,7],[6126,7],[6202,5],[6326,6],[7298,7],[8285,7],[8487,6],[8729,7],[9291,7],[9769,5]]},"1203":{"position":[[559,5],[746,7],[821,7],[897,5],[1021,6],[1993,7],[2980,7],[3182,6],[3424,7],[3986,7],[4464,5]]},"1204":{"position":[[590,7],[665,7],[741,5],[865,6],[1837,7],[2824,7],[3026,6],[3268,7],[3830,7],[4308,5],[4732,7],[5210,5],[5662,7],[6140,5],[6564,7],[7042,5],[7550,7],[8028,5],[8504,7],[8982,5],[9451,7],[9929,5],[10381,7],[10859,5]]},"1205":{"position":[[1732,5],[1919,7],[1994,7],[2070,5],[2194,6],[3166,7],[4153,7],[4355,6],[4597,7],[5159,7],[5637,5]]},"1206":{"position":[[390,7],[465,7],[541,5],[665,6],[1637,7],[2624,7],[2826,6],[3068,7],[3858,7],[4336,5]]},"1207":{"position":[[16,7],[32,6],[149,6],[547,7],[622,7],[698,5],[822,6],[1794,7],[2781,7],[2983,6],[3225,7],[3787,7],[4265,5]]},"1209":{"position":[[1583,7],[1895,7],[1970,7],[2046,5],[2170,6],[3142,7],[4129,7],[4331,6],[4573,7],[5135,7],[5613,5]]},"1211":{"position":[[155,7],[459,7],[937,5]]},"1213":{"position":[[230,7],[708,5]]},"1215":{"position":[[314,7],[792,5]]},"1217":{"position":[[5019,5],[5206,7],[5281,7],[5357,5],[5481,6],[6453,7],[7440,7],[7642,6],[7884,7],[8446,7],[8924,5]]},"1219":{"position":[[1192,7],[1267,7],[1343,5],[1467,6],[2439,7],[3701,7],[4179,5]]},"1221":{"position":[[433,7],[911,5]]},"1222":{"position":[[316,7],[391,7],[467,5],[591,6],[1563,7],[2550,7],[2752,6],[2994,7],[3572,7],[4050,5]]},"1223":{"position":[[326,7],[401,7],[477,5],[601,6],[1573,7],[2560,7],[2762,6],[3004,7],[3582,7],[4060,5]]},"1224":{"position":[[506,7],[581,7],[657,5],[781,6],[1753,7],[3015,7],[3493,5]]},"1226":{"position":[[951,7],[1828,5],[1901,7],[2143,7],[4405,6],[4429,7],[4499,6],[4554,6],[4619,7],[4681,6],[4833,6],[5070,7],[5487,5],[5674,7],[5749,7],[5825,5],[5949,6],[6921,7],[7908,7],[8110,6],[8352,7],[8914,7],[9392,5]]},"1228":{"position":[[7100,5],[7287,7],[7362,7],[7438,5],[7562,6],[8534,7],[9521,7],[9723,6],[9965,7],[10527,7],[11005,5]]},"1235":{"position":[[966,6],[2843,7],[3155,7],[3230,7],[3306,5],[3430,6],[4402,7],[5389,7],[5591,6],[5833,7],[6395,7],[6873,5]]},"1237":{"position":[[1121,7],[1998,5],[2071,7],[2313,7],[4575,6],[4599,7],[4669,6],[4724,6],[4789,7],[4851,6],[5003,6],[5240,7],[5657,5],[5844,7],[5919,7],[5995,5],[6119,6],[7091,7],[8078,7],[8280,6],[8522,7],[9084,7],[9562,5]]},"1258":{"position":[[161,5],[570,5],[653,5],[899,5],[1264,6],[1281,6]]},"1259":{"position":[[171,6],[241,6],[406,6],[439,6],[512,6],[2055,6],[2073,7],[2154,6],[2172,7],[2265,6],[2283,7]]},"1260":{"position":[[205,5]]},"1262":{"position":[[26,6],[191,6],[340,6],[389,6],[594,5],[633,6]]},"1273":{"position":[[376,5]]},"1282":{"position":[[332,5]]},"1283":{"position":[[349,5]]},"1284":{"position":[[329,5]]},"1289":{"position":[[161,5],[570,5],[653,5],[899,5],[1264,6],[1281,6]]},"1290":{"position":[[171,6],[241,6],[406,6],[439,6],[512,6],[2055,6],[2073,7],[2154,6],[2172,7],[2265,6],[2283,7]]},"1291":{"position":[[205,5]]},"1293":{"position":[[26,6],[191,6],[340,6],[389,6],[594,5],[633,6]]},"1304":{"position":[[376,5]]},"1313":{"position":[[332,5]]},"1314":{"position":[[349,5]]},"1315":{"position":[[329,5]]},"1317":{"position":[[161,5],[570,5],[653,5],[899,5],[1264,6],[1281,6]]},"1318":{"position":[[171,6],[241,6],[406,6],[439,6],[512,6],[2055,6],[2073,7],[2154,6],[2172,7],[2265,6],[2283,7]]},"1319":{"position":[[205,5]]},"1321":{"position":[[26,6],[191,6],[340,6],[389,6],[594,5],[633,6]]},"1332":{"position":[[376,5]]},"1341":{"position":[[332,5]]},"1342":{"position":[[349,5]]},"1343":{"position":[[329,5]]},"1345":{"position":[[928,5]]},"1348":{"position":[[3438,5],[3593,6]]},"1349":{"position":[[1583,5]]},"1350":{"position":[[4554,5]]},"1351":{"position":[[624,7],[1780,5],[2117,7],[2177,7],[2265,6],[2326,5],[2391,6],[2559,7],[2647,6],[2708,5],[2773,6],[3219,6],[3705,5],[3927,6]]},"1352":{"position":[[4553,5]]},"1353":{"position":[[2157,5]]},"1354":{"position":[[1995,5]]},"1355":{"position":[[3140,5],[3337,7],[6669,5],[7508,5]]},"1356":{"position":[[1501,5]]},"1357":{"position":[[1174,5]]},"1358":{"position":[[1895,5]]},"1359":{"position":[[1732,5]]},"1360":{"position":[[2369,5],[3712,5],[3851,5],[5601,6]]},"1361":{"position":[[1722,5]]},"1362":{"position":[[6092,5],[7280,5],[9296,5]]},"1363":{"position":[[3838,5],[5027,6],[5163,7]]},"1364":{"position":[[6121,5],[7519,5],[10410,5]]},"1365":{"position":[[1656,5]]},"1366":{"position":[[1868,5],[2086,7]]},"1367":{"position":[[7519,5],[9384,5],[9943,6],[10079,7]]},"1368":{"position":[[2212,5]]},"1369":{"position":[[1264,5]]},"1370":{"position":[[1517,5],[2385,5]]},"1371":{"position":[[1140,5]]},"1372":{"position":[[2778,5]]},"1373":{"position":[[3650,5],[4968,5]]},"1374":{"position":[[1552,5],[2556,6]]},"1375":{"position":[[393,7],[1176,5]]},"1376":{"position":[[1132,5]]},"1377":{"position":[[1371,5]]},"1378":{"position":[[1118,5]]},"1379":{"position":[[1141,5]]},"1380":{"position":[[1612,5]]},"1381":{"position":[[1518,5],[1771,6],[2315,5]]},"1382":{"position":[[4004,5],[6038,5]]},"1383":{"position":[[2242,5],[7604,6]]},"1384":{"position":[[5166,5],[6550,5],[10985,5],[18342,5]]},"1385":{"position":[[2837,5],[3951,5]]},"1386":{"position":[[1475,5]]},"1387":{"position":[[5106,5],[6284,5]]},"1388":{"position":[[4304,5],[6070,6],[6174,6],[6907,5]]},"1389":{"position":[[5159,5],[5780,5]]},"1390":{"position":[[1411,5]]},"1391":{"position":[[1364,5]]},"1392":{"position":[[1514,5]]},"1393":{"position":[[2092,5],[4103,5],[5719,5],[5786,5],[6510,6]]},"1394":{"position":[[1534,5],[1687,6]]},"1395":{"position":[[1549,5],[2734,6]]},"1396":{"position":[[1340,5],[1587,6]]},"1397":{"position":[[1521,5],[2285,6]]},"1398":{"position":[[2199,5],[3339,6],[3712,6]]},"1399":{"position":[[1376,5]]},"1400":{"position":[[1245,5]]},"1401":{"position":[[1320,5]]},"1402":{"position":[[1476,5]]},"1403":{"position":[[2072,5],[3127,5],[3266,5],[4542,5],[5834,5],[6704,6]]},"1404":{"position":[[1309,5]]},"1405":{"position":[[2000,5],[2817,7],[2851,5],[3057,7]]},"1406":{"position":[[1216,5]]},"1407":{"position":[[2041,5],[2345,7],[3238,7],[3272,5],[3478,7]]},"1408":{"position":[[1737,5]]},"1409":{"position":[[1271,5]]},"1410":{"position":[[2439,5],[3039,6],[3818,7],[3852,5],[4059,7]]},"1411":{"position":[[1254,5]]},"1412":{"position":[[2460,5]]},"1413":{"position":[[2638,5]]},"1414":{"position":[[1505,5]]},"1415":{"position":[[3487,5]]},"1416":{"position":[[2139,5]]},"1417":{"position":[[1728,5]]},"1418":{"position":[[1429,5]]},"1419":{"position":[[1557,5]]},"1420":{"position":[[1821,5]]},"1421":{"position":[[1796,5]]},"1422":{"position":[[1705,5],[2223,5],[3436,6]]},"1423":{"position":[[1688,5]]},"1424":{"position":[[1813,5]]},"1425":{"position":[[1429,5]]},"1426":{"position":[[1778,5],[2496,5]]},"1427":{"position":[[2675,5],[3893,6],[4169,6],[4324,5],[5868,5],[6997,5]]},"1428":{"position":[[1411,5]]},"1429":{"position":[[3339,5],[3933,6],[5663,5],[5709,6]]},"1430":{"position":[[2187,5]]},"1431":{"position":[[1531,5]]},"1432":{"position":[[2052,5]]},"1433":{"position":[[1573,5]]},"1434":{"position":[[1247,5]]},"1435":{"position":[[1211,5]]},"1436":{"position":[[1227,5]]},"1437":{"position":[[1297,5]]},"1438":{"position":[[1437,5],[1617,7],[1631,5],[1728,5],[1857,5]]},"1439":{"position":[[2961,5],[3158,7],[4877,5],[4913,5],[5019,5],[5118,5]]},"1440":{"position":[[3527,5],[3926,6],[5655,5],[5701,6]]},"1441":{"position":[[1253,5]]},"1442":{"position":[[1332,5]]},"1443":{"position":[[1548,5]]},"1444":{"position":[[1464,5]]},"1445":{"position":[[1153,5]]},"1446":{"position":[[1487,5]]},"1447":{"position":[[1369,5]]},"1448":{"position":[[1804,5]]},"1449":{"position":[[1738,5]]},"1450":{"position":[[1617,5]]},"1451":{"position":[[1617,5]]},"1452":{"position":[[1163,5]]},"1453":{"position":[[1749,5]]},"1454":{"position":[[4115,5],[5254,5]]},"1455":{"position":[[2002,5]]},"1456":{"position":[[1347,5]]},"1457":{"position":[[1406,5]]},"1458":{"position":[[1941,5]]},"1459":{"position":[[1420,5]]},"1460":{"position":[[1532,5]]},"1461":{"position":[[1753,5]]},"1462":{"position":[[5128,5]]},"1463":{"position":[[1254,5]]},"1464":{"position":[[1162,5]]},"1465":{"position":[[2260,5]]},"1466":{"position":[[1498,5]]},"1467":{"position":[[5823,5],[6423,6],[6527,6]]},"1468":{"position":[[1262,5]]},"1469":{"position":[[1641,5]]},"1470":{"position":[[4164,5]]},"1471":{"position":[[2504,5],[3525,6]]},"1472":{"position":[[2463,5],[3193,6],[4109,6],[5658,5]]},"1473":{"position":[[2778,5],[3593,6],[5377,6]]},"1474":{"position":[[2163,5]]},"1475":{"position":[[2634,5]]},"1476":{"position":[[1239,5]]},"1477":{"position":[[1397,5]]},"1478":{"position":[[1888,5],[2069,7],[2351,5],[2364,6],[2375,6],[2816,6]]},"1479":{"position":[[1331,5]]},"1480":{"position":[[1744,5]]},"1481":{"position":[[2277,5]]},"1482":{"position":[[1351,5]]},"1483":{"position":[[1185,5]]},"1484":{"position":[[1257,5]]},"1485":{"position":[[1517,5],[2319,5]]},"1486":{"position":[[1761,5],[5313,6]]},"1487":{"position":[[1462,5],[1886,6],[2251,5]]}},"keywords":{}}],["value<'v>",{"_index":4183,"title":{},"content":{"889":{"position":[[392,15]]}},"keywords":{}}],["value'",{"_index":3340,"title":{},"content":{"666":{"position":[[427,7]]},"886":{"position":[[85,7]]},"887":{"position":[[279,7]]}},"keywords":{}}],["value.if",{"_index":6279,"title":{},"content":{"1262":{"position":[[524,8]]},"1293":{"position":[[524,8]]},"1321":{"position":[[524,8]]}},"keywords":{}}],["value[<arg>",{"_index":2078,"title":{},"content":{"389":{"position":[[1140,18]]},"768":{"position":[[1140,18]]}},"keywords":{}}],["value["default"]arg",{"_index":2076,"title":{},"content":{"389":{"position":[[1009,29]]},"768":{"position":[[1009,29]]}},"keywords":{}}],["value_typ",{"_index":1376,"title":{},"content":{"138":{"position":[[21,11]]},"144":{"position":[[15,11]]},"261":{"position":[[21,11]]},"267":{"position":[[15,11]]}},"keywords":{}}],["valueno",{"_index":2075,"title":{},"content":{"389":{"position":[[953,7]]},"768":{"position":[[953,7]]}},"keywords":{}}],["values"option1"",{"_index":4393,"title":{},"content":{"902":{"position":[[227,26]]}},"keywords":{}}],["values.mutable/mutablemutable/thawonwrit",{"_index":4355,"title":{},"content":{"898":{"position":[[2661,41]]}},"keywords":{}}],["values_fil",{"_index":6470,"title":{},"content":{"1351":{"position":[[647,12],[2486,12],[2878,11]]}},"keywords":{}}],["valuescfg//os:linux",{"_index":4624,"title":{},"content":{"938":{"position":[[426,20]]}},"keywords":{}}],["var",{"_index":6169,"title":{},"content":{"1239":{"position":[[77,4]]},"1345":{"position":[[492,6],[769,6],[1063,7]]},"1363":{"position":[[5297,7],[5341,6],[5351,6]]},"1367":{"position":[[10213,7],[10257,6],[10267,6]]}},"keywords":{}}],["var="value"",{"_index":4449,"title":{},"content":{"910":{"position":[[161,21]]}},"keywords":{}}],["var=valu",{"_index":4451,"title":{},"content":{"910":{"position":[[214,9]]}},"keywords":{}}],["vari",{"_index":244,"title":{},"content":{"9":{"position":[[1486,4]]},"72":{"position":[[124,6]]},"495":{"position":[[124,6]]},"702":{"position":[[472,7]]},"1025":{"position":[[281,4]]}},"keywords":{}}],["variabl",{"_index":1146,"title":{},"content":{"92":{"position":[[1768,9]]},"94":{"position":[[2548,9],[4183,8]]},"224":{"position":[[1768,9]]},"226":{"position":[[2548,9],[4183,8]]},"362":{"position":[[1504,11]]},"377":{"position":[[1339,8],[1538,8]]},"408":{"position":[[94,8]]},"581":{"position":[[415,8]]},"741":{"position":[[1504,11]]},"756":{"position":[[1339,8],[1538,8]]},"787":{"position":[[94,8]]},"890":{"position":[[654,9],[849,9],[1212,8],[1307,9],[1437,9],[1635,9],[2234,9],[2303,9],[2976,9],[3499,9],[3584,9],[3891,9],[3994,9],[4711,9],[4790,9],[4901,9],[4975,9],[5366,10],[5697,8],[5762,9],[5787,8],[7035,10]]},"910":{"position":[[243,9],[302,8]]},"962":{"position":[[109,9]]},"1004":{"position":[[339,8]]},"1040":{"position":[[1870,9]]},"1050":{"position":[[2349,8],[3122,8]]},"1052":{"position":[[500,8],[1443,8]]},"1054":{"position":[[889,8]]},"1120":{"position":[[403,9]]},"1152":{"position":[[27,9],[144,9]]},"1217":{"position":[[154,9]]},"1228":{"position":[[319,10]]},"1345":{"position":[[443,9],[720,9],[1020,9]]},"1351":{"position":[[786,9],[872,8]]},"1360":{"position":[[2570,9],[2714,9],[3041,9],[3208,9],[3684,8],[3808,8],[4305,8],[4783,9],[4890,10],[5169,9],[5419,9]]},"1363":{"position":[[5001,8],[5139,8],[5186,8]]},"1367":{"position":[[9917,8],[10055,8],[10102,8]]},"1374":{"position":[[792,10],[1916,9],[2007,9]]},"1383":{"position":[[1346,9],[2626,9],[2881,10],[5767,10],[5811,9],[6338,8],[6815,9],[6998,10],[7277,9],[7422,9]]},"1388":{"position":[[6202,10]]},"1393":{"position":[[4084,10]]},"1398":{"position":[[2397,9],[3365,9],[5733,9]]},"1403":{"position":[[2456,9],[2623,9],[3099,8],[3223,8],[3720,8],[4198,9],[4878,10],[5326,9],[6522,9]]},"1405":{"position":[[2271,9]]},"1407":{"position":[[2692,9]]},"1410":{"position":[[2714,9],[3025,9]]},"1462":{"position":[[7950,9]]},"1467":{"position":[[6555,10],[9010,9]]},"1471":{"position":[[3452,9],[3516,8]]},"1472":{"position":[[3120,9],[3184,8],[4036,9],[4100,8]]},"1473":{"position":[[3486,9],[3584,8],[5319,9],[5368,8]]},"1477":{"position":[[2120,8],[2434,8]]},"1478":{"position":[[2249,8],[2328,8]]},"1486":{"position":[[1986,9]]}},"keywords":{}}],["variant",{"_index":1364,"title":{},"content":{"133":{"position":[[16,9],[148,8]]},"256":{"position":[[16,9],[148,8]]},"679":{"position":[[363,8]]},"693":{"position":[[3184,8]]},"856":{"position":[[80,7],[172,7]]},"890":{"position":[[6401,7]]},"898":{"position":[[1650,7]]},"1366":{"position":[[806,9],[923,8],[2243,7],[2920,9],[2960,8],[3140,7]]},"1385":{"position":[[1869,7]]},"1387":{"position":[[4217,7]]}},"keywords":{}}],["variant_nam",{"_index":6958,"title":{},"content":{"1366":{"position":[[3107,13]]}},"keywords":{}}],["variant_name.lproj",{"_index":6957,"title":{},"content":{"1366":{"position":[[3080,20]]}},"keywords":{}}],["varieti",{"_index":143,"title":{},"content":{"7":{"position":[[139,7]]},"22":{"position":[[52,7]]},"693":{"position":[[2891,7]]},"924":{"position":[[722,7]]},"958":{"position":[[76,7]]}},"keywords":{}}],["varint",{"_index":6041,"title":{},"content":{"1219":{"position":[[337,6],[397,7]]}},"keywords":{}}],["variou",{"_index":1134,"title":{},"content":{"92":{"position":[[1214,7]]},"224":{"position":[[1214,7]]},"724":{"position":[[1883,7]]},"860":{"position":[[37,7]]},"890":{"position":[[1684,7]]},"907":{"position":[[39,7]]},"919":{"position":[[815,7]]},"966":{"position":[[422,7]]},"1040":{"position":[[1640,7]]},"1105":{"position":[[93,7]]},"1383":{"position":[[8432,7]]},"1454":{"position":[[3314,7]]}},"keywords":{}}],["vastli",{"_index":298,"title":{},"content":{"9":{"position":[[2621,6]]},"10":{"position":[[1089,6]]}},"keywords":{}}],["vec![s].alloc(h2",{"_index":4163,"title":{},"content":{"888":{"position":[[404,18]]}},"keywords":{}}],["vec<frozenslots>",{"_index":4251,"title":{},"content":{"890":{"position":[[5522,23]]}},"keywords":{}}],["vec<slots>",{"_index":4247,"title":{},"content":{"890":{"position":[[5128,17]]}},"keywords":{}}],["vector",{"_index":7226,"title":{},"content":{"1384":{"position":[[21952,9]]}},"keywords":{}}],["vector.cpp",{"_index":7228,"title":{},"content":{"1384":{"position":[[22086,15]]}},"keywords":{}}],["vector.h",{"_index":7232,"title":{},"content":{"1384":{"position":[[22196,11]]}},"keywords":{}}],["vendor",{"_index":5616,"title":{},"content":{"1095":{"position":[[203,9]]}},"keywords":{}}],["verbatim",{"_index":5492,"title":{"1071":{"position":[[0,8]]}},"content":{"1071":{"position":[[1347,8]]},"1446":{"position":[[1677,8]]}},"keywords":{}}],["verbatim("foobar"",{"_index":5499,"title":{},"content":{"1071":{"position":[[999,29]]}},"keywords":{}}],["verbos",{"_index":3097,"title":{},"content":{"635":{"position":[[171,7]]},"659":{"position":[[56,7]]},"661":{"position":[[54,7]]},"870":{"position":[[1214,7]]},"1136":{"position":[[6045,7],[6075,7],[6405,9]]},"1138":{"position":[[9707,7],[9737,7],[10067,9]]},"1140":{"position":[[8633,7],[8663,7],[8993,9]]},"1142":{"position":[[4077,7],[4107,7],[4437,9]]},"1144":{"position":[[405,7],[435,7],[765,9]]},"1146":{"position":[[4017,7],[4047,7],[4377,9]]},"1148":{"position":[[7608,7],[7638,7],[7968,9]]},"1150":{"position":[[640,7],[670,7],[1000,9]]},"1152":{"position":[[338,7],[368,7],[698,9]]},"1154":{"position":[[493,7],[523,7],[853,9]]},"1155":{"position":[[4113,7],[4143,7],[4473,9]]},"1156":{"position":[[3691,7],[3721,7],[4051,9]]},"1157":{"position":[[276,7],[306,7],[636,9]]},"1158":{"position":[[270,7],[300,7],[630,9]]},"1159":{"position":[[270,7],[300,7],[630,9]]},"1161":{"position":[[1265,7],[1295,7],[1625,9]]},"1163":{"position":[[651,7],[681,7],[1011,9]]},"1165":{"position":[[480,7],[510,7],[840,9]]},"1167":{"position":[[9637,7],[9667,7],[9997,9]]},"1169":{"position":[[2745,7],[2775,7],[3105,9]]},"1171":{"position":[[986,7],[1016,7],[1346,9]]},"1172":{"position":[[2371,7],[2401,7],[2731,9]]},"1173":{"position":[[1058,7],[1088,7],[1418,9]]},"1174":{"position":[[486,7],[516,7],[846,9]]},"1175":{"position":[[482,7],[512,7],[842,9]]},"1176":{"position":[[651,7],[681,7],[1011,9]]},"1177":{"position":[[572,7],[602,7],[932,9]]},"1178":{"position":[[889,7],[919,7],[1249,9]]},"1179":{"position":[[686,7],[716,7],[1046,9]]},"1180":{"position":[[957,7],[987,7],[1317,9]]},"1181":{"position":[[1477,7],[1507,7],[1837,9]]},"1182":{"position":[[520,7],[550,7],[880,9]]},"1183":{"position":[[475,7],[505,7],[835,9]]},"1185":{"position":[[320,7],[350,7],[680,9]]},"1186":{"position":[[5281,7],[5311,7],[5641,9]]},"1187":{"position":[[5294,7],[5324,7],[5654,9]]},"1188":{"position":[[10020,7],[10050,7],[10380,9]]},"1190":{"position":[[1651,7],[1681,7],[2011,9]]},"1191":{"position":[[3881,7],[3911,7],[4241,9]]},"1192":{"position":[[4056,7],[4086,7],[4416,9]]},"1193":{"position":[[4108,7],[4138,7],[4468,9]]},"1194":{"position":[[3748,7],[3778,7],[4108,9]]},"1195":{"position":[[3726,7],[3756,7],[4086,9]]},"1196":{"position":[[3536,7],[3566,7],[3896,9]]},"1197":{"position":[[294,8],[4519,7],[4549,7],[4879,9]]},"1198":{"position":[[4529,7],[4559,7],[4889,9]]},"1199":{"position":[[4557,7],[4587,7],[4917,9]]},"1200":{"position":[[4424,7],[4454,7],[4784,9]]},"1201":{"position":[[3684,7],[3714,7],[4044,9]]},"1202":{"position":[[428,7],[458,7],[788,9],[4826,7],[4856,7],[5186,9],[9223,7],[9253,7],[9583,9]]},"1203":{"position":[[3918,7],[3948,7],[4278,9]]},"1204":{"position":[[3762,7],[3792,7],[4122,9],[4664,7],[4694,7],[5024,9],[5594,7],[5624,7],[5954,9],[6496,7],[6526,7],[6856,9],[7482,7],[7512,7],[7842,9],[8436,7],[8466,7],[8796,9],[9383,7],[9413,7],[9743,9],[10313,7],[10343,7],[10673,9]]},"1205":{"position":[[5091,7],[5121,7],[5451,9]]},"1206":{"position":[[3790,7],[3820,7],[4150,9]]},"1207":{"position":[[3719,7],[3749,7],[4079,9]]},"1209":{"position":[[5067,7],[5097,7],[5427,9]]},"1211":{"position":[[391,7],[421,7],[751,9]]},"1213":{"position":[[162,7],[192,7],[522,9]]},"1215":{"position":[[246,7],[276,7],[606,9]]},"1217":{"position":[[8378,7],[8408,7],[8738,9]]},"1219":{"position":[[3633,7],[3663,7],[3993,9]]},"1221":{"position":[[365,7],[395,7],[725,9]]},"1222":{"position":[[3504,7],[3534,7],[3864,9]]},"1223":{"position":[[3514,7],[3544,7],[3874,9]]},"1224":{"position":[[2947,7],[2977,7],[3307,9]]},"1226":{"position":[[8846,7],[8876,7],[9206,9]]},"1228":{"position":[[10459,7],[10489,7],[10819,9]]},"1235":{"position":[[6327,7],[6357,7],[6687,9]]},"1237":{"position":[[9016,7],[9046,7],[9376,9]]}},"keywords":{}}],["veri",{"_index":627,"title":{"1252":{"position":[[18,4]]}},"content":{"22":{"position":[[15,4]]},"23":{"position":[[2628,4]]},"705":{"position":[[109,4]]},"846":{"position":[[1410,4]]},"861":{"position":[[979,4]]},"980":{"position":[[929,4],[1251,4]]},"989":{"position":[[22,4]]},"1050":{"position":[[3579,4]]},"1082":{"position":[[1304,4]]},"1197":{"position":[[288,5]]},"1231":{"position":[[498,4]]},"1252":{"position":[[100,4]]},"1453":{"position":[[960,4]]},"1461":{"position":[[1933,4]]}},"keywords":{}}],["verifi",{"_index":3974,"title":{},"content":{"860":{"position":[[673,6]]},"921":{"position":[[438,9]]},"1050":{"position":[[2125,6]]},"1190":{"position":[[843,6]]},"1201":{"position":[[0,6]]},"1422":{"position":[[2484,8]]},"1423":{"position":[[2153,8]]}},"keywords":{}}],["versa",{"_index":3631,"title":{},"content":{"703":{"position":[[197,6]]},"1393":{"position":[[2817,6]]}},"keywords":{}}],["version",{"_index":26,"title":{},"content":{"3":{"position":[[217,7]]},"10":{"position":[[980,7]]},"15":{"position":[[236,7]]},"17":{"position":[[578,7],[850,7]]},"22":{"position":[[524,7],[1960,7]]},"24":{"position":[[336,9],[368,7],[613,9]]},"93":{"position":[[82,7]]},"225":{"position":[[82,7]]},"446":{"position":[[249,7]]},"580":{"position":[[230,7],[360,7]]},"595":{"position":[[114,7]]},"690":{"position":[[442,7],[587,7]]},"693":{"position":[[3896,7],[3962,7]]},"696":{"position":[[364,7]]},"715":{"position":[[101,7]]},"825":{"position":[[249,7]]},"856":{"position":[[429,8]]},"937":{"position":[[3464,8]]},"947":{"position":[[697,7],[870,7],[933,7]]},"980":{"position":[[1566,7]]},"994":{"position":[[158,8],[187,9],[232,9],[462,8],[499,8]]},"995":{"position":[[1245,7]]},"1050":{"position":[[1997,7],[2173,7],[2232,7]]},"1136":{"position":[[2994,7],[3052,7]]},"1138":{"position":[[6656,7],[6714,7]]},"1140":{"position":[[5582,7],[5640,7]]},"1142":{"position":[[1026,7],[1084,7]]},"1146":{"position":[[966,7],[1024,7]]},"1148":{"position":[[4006,7],[4064,7]]},"1155":{"position":[[1062,7],[1120,7]]},"1156":{"position":[[640,7],[698,7]]},"1167":{"position":[[6586,7],[6644,7]]},"1169":{"position":[[425,7],[483,7]]},"1186":{"position":[[2230,7],[2288,7]]},"1187":{"position":[[2243,7],[2301,7]]},"1188":{"position":[[6969,7],[7027,7]]},"1191":{"position":[[830,7],[888,7]]},"1192":{"position":[[1005,7],[1063,7]]},"1193":{"position":[[1057,7],[1115,7]]},"1194":{"position":[[697,7],[755,7]]},"1195":{"position":[[675,7],[733,7]]},"1196":{"position":[[485,7],[543,7]]},"1197":{"position":[[1468,7],[1526,7]]},"1198":{"position":[[1478,7],[1536,7]]},"1199":{"position":[[1506,7],[1564,7]]},"1200":{"position":[[1373,7],[1431,7]]},"1201":{"position":[[633,7],[691,7]]},"1202":{"position":[[1775,7],[1833,7],[6172,7],[6230,7]]},"1203":{"position":[[867,7],[925,7]]},"1204":{"position":[[711,7],[769,7]]},"1205":{"position":[[2040,7],[2098,7]]},"1206":{"position":[[511,7],[569,7]]},"1207":{"position":[[668,7],[726,7]]},"1209":{"position":[[2016,7],[2074,7]]},"1217":{"position":[[5327,7],[5385,7]]},"1219":{"position":[[1313,7],[1371,7]]},"1222":{"position":[[437,7],[495,7]]},"1223":{"position":[[447,7],[505,7]]},"1224":{"position":[[627,7],[685,7]]},"1226":{"position":[[5795,7],[5853,7]]},"1228":{"position":[[7408,7],[7466,7]]},"1235":{"position":[[3276,7],[3334,7]]},"1237":{"position":[[5965,7],[6023,7]]},"1253":{"position":[[413,7],[545,8]]},"1254":{"position":[[171,7],[459,7]]},"1351":{"position":[[3170,7],[3663,8]]},"1355":{"position":[[6595,7],[7436,7]]},"1360":{"position":[[2790,7],[4588,7]]},"1362":{"position":[[13268,7]]},"1364":{"position":[[13968,7]]},"1367":{"position":[[13176,7]]},"1368":{"position":[[1250,8]]},"1381":{"position":[[2054,7]]},"1383":{"position":[[2375,7],[6620,7]]},"1384":{"position":[[18501,8]]},"1386":{"position":[[6090,7],[6141,8],[6154,7],[6214,8]]},"1393":{"position":[[990,8],[2499,8],[2649,7],[8329,8],[8342,7],[8383,7],[8501,7],[8555,7],[8574,8],[8611,7],[8670,7],[8696,7]]},"1397":{"position":[[630,8],[2720,7],[2756,8],[2777,7],[3213,8],[3231,7],[3539,7]]},"1403":{"position":[[2205,7],[4003,7]]},"1407":{"position":[[2542,7]]},"1421":{"position":[[904,8]]},"1427":{"position":[[5794,7],[6925,7]]},"1429":{"position":[[3749,8],[3825,8]]},"1440":{"position":[[3742,8],[3818,8]]},"1462":{"position":[[8752,7]]},"1465":{"position":[[4043,7]]},"1467":{"position":[[10235,7]]},"1471":{"position":[[2761,7],[5675,7]]},"1472":{"position":[[2720,7],[5817,8],[6561,7]]},"1473":{"position":[[3035,7],[5846,7]]},"1480":{"position":[[964,8]]},"1484":{"position":[[472,9]]}},"keywords":{}}],["version"",{"_index":5511,"title":{},"content":{"1072":{"position":[[858,14],[1388,14]]}},"keywords":{}}],["version="1.0"",{"_index":6580,"title":{},"content":{"1356":{"position":[[2179,23]]}},"keywords":{}}],["version_univers",{"_index":7040,"title":{},"content":{"1373":{"position":[[2655,17]]},"1382":{"position":[[2901,17]]},"1384":{"position":[[4204,17]]},"1385":{"position":[[1790,17]]},"1386":{"position":[[510,17]]},"1387":{"position":[[4098,17]]},"1388":{"position":[[3368,17]]},"1415":{"position":[[2354,17]]},"1462":{"position":[[4129,17]]},"1465":{"position":[[1147,17]]},"1467":{"position":[[4687,17]]},"1471":{"position":[[1599,17]]},"1472":{"position":[[1560,17]]},"1473":{"position":[[1846,17]]}},"keywords":{}}],["versioned_alia",{"_index":4961,"title":{"994":{"position":[[0,16]]},"1484":{"position":[[0,16]]}},"content":{"994":{"position":[[4,15],[421,16]]},"1484":{"position":[[4,16]]}},"keywords":{}}],["versioned_alias'",{"_index":4963,"title":{},"content":{"994":{"position":[[262,17]]}},"keywords":{}}],["versioned_exported_lang_platform_preprocessor_flag",{"_index":8155,"title":{},"content":{"1454":{"position":[[2431,52]]}},"keywords":{}}],["versioned_exported_lang_preprocessor_flag",{"_index":8157,"title":{},"content":{"1454":{"position":[[2547,43]]}},"keywords":{}}],["versioned_exported_platform_preprocessor_flag",{"_index":8158,"title":{},"content":{"1454":{"position":[[2641,47]]}},"keywords":{}}],["versioned_exported_preprocessor_flag",{"_index":8159,"title":{},"content":{"1454":{"position":[[2741,38]]}},"keywords":{}}],["versioned_header_dir",{"_index":8160,"title":{},"content":{"1454":{"position":[[2819,22]]}},"keywords":{}}],["versioned_import_lib",{"_index":8161,"title":{},"content":{"1454":{"position":[[2888,21]]}},"keywords":{}}],["versioned_macos_bundl",{"_index":6872,"title":{},"content":{"1363":{"position":[[2735,23]]},"1367":{"position":[[6521,23]]},"1372":{"position":[[1989,23]]}},"keywords":{}}],["versioned_resourc",{"_index":8349,"title":{},"content":{"1465":{"position":[[1181,20]]},"1467":{"position":[[4721,20]]}},"keywords":{}}],["versioned_shared_lib",{"_index":8162,"title":{},"content":{"1454":{"position":[[2950,21]]}},"keywords":{}}],["versioned_sonam",{"_index":8163,"title":{},"content":{"1454":{"position":[[3012,17]]}},"keywords":{}}],["versioned_src",{"_index":8350,"title":{},"content":{"1465":{"position":[[1265,15]]},"1467":{"position":[[4805,15]]}},"keywords":{}}],["versioned_static_lib",{"_index":8164,"title":{},"content":{"1454":{"position":[[3070,21]]}},"keywords":{}}],["versioned_static_pic_lib",{"_index":8165,"title":{},"content":{"1454":{"position":[[3132,25]]}},"keywords":{}}],["via",{"_index":31,"title":{},"content":{"4":{"position":[[15,3]]},"24":{"position":[[164,3]]},"94":{"position":[[2528,3],[4163,3]]},"226":{"position":[[2528,3],[4163,3]]},"288":{"position":[[148,3]]},"289":{"position":[[168,3]]},"298":{"position":[[968,3]]},"305":{"position":[[76,3],[304,3],[315,3]]},"315":{"position":[[191,4]]},"316":{"position":[[211,4]]},"317":{"position":[[214,4]]},"318":{"position":[[353,4]]},"344":{"position":[[222,3],[356,3]]},"346":{"position":[[103,3],[372,3],[383,3]]},"347":{"position":[[106,3],[408,3],[419,3]]},"510":{"position":[[174,3]]},"511":{"position":[[194,3]]},"690":{"position":[[317,3]]},"693":{"position":[[5910,3],[9672,3],[10215,3]]},"715":{"position":[[1683,3],[2106,3]]},"832":{"position":[[522,3]]},"833":{"position":[[273,3]]},"834":{"position":[[209,3]]},"840":{"position":[[915,3],[1855,3]]},"848":{"position":[[667,3]]},"851":{"position":[[34,3]]},"864":{"position":[[35,3],[1634,3]]},"867":{"position":[[1735,3],[2117,3]]},"869":{"position":[[267,3]]},"870":{"position":[[349,3]]},"890":{"position":[[3297,8],[4015,4],[4732,3]]},"923":{"position":[[208,3],[231,3]]},"937":{"position":[[635,3]]},"938":{"position":[[672,3]]},"940":{"position":[[935,3]]},"947":{"position":[[398,3],[1208,3],[1336,3]]},"949":{"position":[[167,3]]},"958":{"position":[[70,3]]},"959":{"position":[[424,3]]},"964":{"position":[[504,3],[868,3]]},"965":{"position":[[345,3]]},"976":{"position":[[29,3]]},"981":{"position":[[830,3]]},"989":{"position":[[395,3]]},"990":{"position":[[118,3]]},"1015":{"position":[[46,3]]},"1043":{"position":[[26,3]]},"1050":{"position":[[756,3],[2330,3],[2478,3]]},"1054":{"position":[[489,3]]},"1086":{"position":[[45,3]]},"1087":{"position":[[353,3]]},"1091":{"position":[[175,3]]},"1103":{"position":[[864,3]]},"1136":{"position":[[3166,3]]},"1138":{"position":[[6828,3]]},"1140":{"position":[[769,3],[5754,3]]},"1142":{"position":[[1198,3]]},"1146":{"position":[[1138,3]]},"1148":{"position":[[4178,3]]},"1155":{"position":[[1234,3]]},"1156":{"position":[[812,3]]},"1167":{"position":[[6758,3]]},"1169":{"position":[[597,3]]},"1186":{"position":[[2402,3]]},"1187":{"position":[[2415,3]]},"1188":{"position":[[822,3],[7141,3]]},"1191":{"position":[[1002,3]]},"1192":{"position":[[1177,3]]},"1193":{"position":[[1229,3]]},"1194":{"position":[[869,3]]},"1195":{"position":[[847,3]]},"1196":{"position":[[657,3]]},"1197":{"position":[[1640,3]]},"1198":{"position":[[1650,3]]},"1199":{"position":[[1678,3]]},"1200":{"position":[[1545,3]]},"1201":{"position":[[805,3]]},"1202":{"position":[[1947,3],[6344,3]]},"1203":{"position":[[1039,3]]},"1204":{"position":[[883,3]]},"1205":{"position":[[2212,3]]},"1206":{"position":[[683,3]]},"1207":{"position":[[840,3]]},"1209":{"position":[[2188,3]]},"1217":{"position":[[5499,3]]},"1219":{"position":[[99,3],[222,3],[1485,3]]},"1222":{"position":[[609,3]]},"1223":{"position":[[619,3]]},"1224":{"position":[[799,3]]},"1226":{"position":[[5967,3]]},"1228":{"position":[[969,3],[7580,3]]},"1235":{"position":[[3448,3]]},"1237":{"position":[[6137,3]]},"1351":{"position":[[2040,3]]},"1355":{"position":[[6414,3]]},"1358":{"position":[[2453,3]]},"1359":{"position":[[1883,3],[2235,3]]},"1370":{"position":[[648,3]]},"1373":{"position":[[7908,3],[8057,3]]},"1382":{"position":[[6359,4],[10684,3],[10833,3]]},"1384":{"position":[[11306,4],[17016,4],[17264,4],[17309,3],[17758,3],[17907,3]]},"1385":{"position":[[2064,3]]},"1386":{"position":[[2116,3]]},"1388":{"position":[[7228,4],[9177,3],[9326,3]]},"1392":{"position":[[686,3]]},"1393":{"position":[[5010,3],[5063,4],[6118,3]]},"1405":{"position":[[2622,3]]},"1407":{"position":[[1229,3],[3043,3]]},"1410":{"position":[[3145,3]]},"1423":{"position":[[1905,3]]},"1427":{"position":[[5586,3]]},"1429":{"position":[[2579,3]]},"1439":{"position":[[7495,3]]},"1440":{"position":[[2767,3]]},"1455":{"position":[[3497,3],[3995,3],[4406,3]]},"1467":{"position":[[5035,3]]},"1470":{"position":[[3348,3]]},"1485":{"position":[[2639,4],[3549,3],[3698,3]]}},"keywords":{}}],["viactx.analysi",{"_index":3878,"title":{},"content":{"845":{"position":[[43,18]]}},"keywords":{}}],["viactx.output.print",{"_index":3825,"title":{},"content":{"834":{"position":[[61,22]]}},"keywords":{}}],["viaexternalrunnertestinfo",{"_index":5477,"title":{},"content":{"1068":{"position":[[55,26]]}},"keywords":{}}],["vice",{"_index":3630,"title":{},"content":{"703":{"position":[[192,4]]},"1393":{"position":[[2812,4]]}},"keywords":{}}],["video",{"_index":110,"title":{"6":{"position":[[9,6]]}},"content":{"1354":{"position":[[2822,5]]}},"keywords":{}}],["view",{"_index":2737,"title":{"1127":{"position":[[0,7]]}},"content":{"587":{"position":[[586,4]]},"704":{"position":[[334,4]]},"706":{"position":[[1568,6],[1625,6]]},"708":{"position":[[1034,4]]},"1427":{"position":[[4830,4]]},"1439":{"position":[[7329,4]]}},"keywords":{}}],["viewabl",{"_index":3570,"title":{},"content":{"693":{"position":[[6069,8]]}},"keywords":{}}],["violat",{"_index":6495,"title":{},"content":{"1351":{"position":[[4820,8]]}},"keywords":{}}],["virtual",{"_index":760,"title":{},"content":{"23":{"position":[[2672,7]]}},"keywords":{}}],["visibl",{"_index":581,"title":{"683":{"position":[[0,11]]},"707":{"position":[[0,10]]},"918":{"position":[[12,10]]},"920":{"position":[[25,10]]},"1201":{"position":[[11,11]]}},"content":{"18":{"position":[[1316,10],[1425,10]]},"424":{"position":[[39,11]]},"683":{"position":[[126,7],[190,10],[350,10],[379,10]]},"693":{"position":[[9138,10],[10233,11]]},"708":{"position":[[140,10],[196,10],[332,10],[409,7],[584,10],[678,7],[973,10],[1130,10]]},"803":{"position":[[39,11]]},"907":{"position":[[110,10]]},"919":{"position":[[22,10],[159,10],[289,10],[310,10],[349,10],[419,10],[602,10],[702,10],[848,10],[997,10],[1082,10],[1260,11],[1298,10],[1357,10],[1673,10],[1748,10],[1844,10],[1911,10],[1996,10],[2108,10],[2158,10],[2221,10],[2275,10],[2364,10],[2504,10],[2801,10]]},"920":{"position":[[39,10],[249,11],[277,10],[501,10],[558,10],[580,10]]},"921":{"position":[[12,10],[271,11],[332,10],[512,10],[578,10],[664,10],[770,10],[925,10],[1049,10]]},"994":{"position":[[615,10]]},"995":{"position":[[1516,10]]},"1064":{"position":[[1592,11],[1789,10],[1813,10],[1924,10],[1970,10],[2155,10]]},"1069":{"position":[[267,7]]},"1190":{"position":[[832,10],[854,10]]},"1201":{"position":[[11,10],[129,10]]},"1348":{"position":[[180,11],[3270,10],[3360,10]]},"1349":{"position":[[191,11],[1415,10],[1505,10]]},"1350":{"position":[[183,11],[4386,10],[4476,10]]},"1351":{"position":[[189,11],[1588,11],[1610,10],[1701,10]]},"1352":{"position":[[183,11],[4385,10],[4475,10]]},"1353":{"position":[[196,11],[1989,10],[2079,10]]},"1354":{"position":[[197,11],[1827,10],[1917,10]]},"1355":{"position":[[184,11],[2948,11],[2970,10],[3061,10]]},"1356":{"position":[[185,11],[1333,10],[1423,10]]},"1357":{"position":[[185,11],[1006,10],[1096,10]]},"1358":{"position":[[189,11],[1727,10],[1817,10]]},"1359":{"position":[[185,11],[1564,10],[1654,10]]},"1360":{"position":[[180,11],[2177,11],[2199,10],[2290,10]]},"1361":{"position":[[188,11],[1554,10],[1644,10]]},"1362":{"position":[[181,11],[5900,11],[5922,10],[6013,10]]},"1363":{"position":[[181,11],[3646,11],[3668,10],[3759,10]]},"1364":{"position":[[182,11],[5929,11],[5951,10],[6042,10]]},"1365":{"position":[[182,11],[1488,10],[1578,10]]},"1366":{"position":[[183,11],[1676,11],[1698,10],[1789,10]]},"1367":{"position":[[179,11],[7327,11],[7349,10],[7440,10]]},"1368":{"position":[[184,11],[2044,10],[2134,10]]},"1369":{"position":[[188,11],[1096,10],[1186,10]]},"1370":{"position":[[195,11],[1325,11],[1347,10],[1438,10]]},"1371":{"position":[[186,11],[972,10],[1062,10]]},"1372":{"position":[[183,11],[2610,10],[2700,10]]},"1373":{"position":[[180,11],[3482,10],[3572,10]]},"1374":{"position":[[182,11],[1360,11],[1382,10],[1473,10]]},"1375":{"position":[[183,11],[1008,10],[1098,10]]},"1376":{"position":[[188,11],[964,10],[1054,10]]},"1377":{"position":[[185,11],[1203,10],[1293,10]]},"1378":{"position":[[187,11],[950,10],[1040,10]]},"1379":{"position":[[185,11],[973,10],[1063,10]]},"1380":{"position":[[184,11],[1444,10],[1534,10]]},"1381":{"position":[[183,11],[1350,10],[1440,10]]},"1382":{"position":[[179,11],[3812,11],[3834,10],[3925,10]]},"1383":{"position":[[180,11],[2050,11],[2072,10],[2163,10]]},"1384":{"position":[[180,11],[4974,11],[4996,10],[5087,10]]},"1385":{"position":[[186,11],[2669,10],[2759,10]]},"1386":{"position":[[191,11],[1307,10],[1397,10]]},"1387":{"position":[[189,11],[4938,10],[5028,10]]},"1388":{"position":[[177,11],[4112,11],[4134,10],[4225,10]]},"1389":{"position":[[182,11],[4991,10],[5081,10]]},"1390":{"position":[[177,11],[1243,10],[1333,10]]},"1391":{"position":[[178,11],[1196,10],[1286,10]]},"1392":{"position":[[175,11],[1346,10],[1436,10]]},"1393":{"position":[[179,11],[1900,11],[1922,10],[2013,10]]},"1394":{"position":[[188,11],[1366,10],[1456,10]]},"1395":{"position":[[183,11],[1357,11],[1379,10],[1470,10]]},"1396":{"position":[[188,11],[1172,10],[1262,10]]},"1397":{"position":[[183,11],[1353,10],[1443,10]]},"1398":{"position":[[180,11],[2007,11],[2029,10],[2120,10]]},"1399":{"position":[[180,11],[1208,10],[1298,10]]},"1400":{"position":[[189,11],[1077,10],[1167,10]]},"1401":{"position":[[178,11],[1152,10],[1242,10]]},"1402":{"position":[[177,11],[1308,10],[1398,10],[2280,10]]},"1403":{"position":[[176,11],[1880,11],[1902,10],[1993,10]]},"1404":{"position":[[178,11],[1141,10],[1231,10]]},"1405":{"position":[[178,11],[1832,10],[1922,10]]},"1406":{"position":[[188,11],[1048,10],[1138,10]]},"1407":{"position":[[188,11],[1873,10],[1963,10]]},"1408":{"position":[[179,11],[1569,10],[1659,10]]},"1409":{"position":[[178,11],[1103,10],[1193,10]]},"1410":{"position":[[176,11],[2247,11],[2269,10],[2360,10]]},"1411":{"position":[[183,11],[1086,10],[1176,10]]},"1412":{"position":[[183,11],[2268,11],[2290,10],[2381,10]]},"1413":{"position":[[180,11],[2470,10],[2560,10]]},"1414":{"position":[[179,11],[1337,10],[1427,10]]},"1415":{"position":[[183,11],[3319,10],[3409,10]]},"1416":{"position":[[183,11],[1971,10],[2061,10]]},"1417":{"position":[[181,11],[1560,10],[1650,10]]},"1418":{"position":[[184,11],[1261,10],[1351,10]]},"1419":{"position":[[180,11],[1389,10],[1479,10]]},"1420":{"position":[[184,11],[1653,10],[1743,10]]},"1421":{"position":[[193,11],[1628,10],[1718,10]]},"1422":{"position":[[181,11],[1513,11],[1535,10],[1626,10]]},"1423":{"position":[[178,11],[1520,10],[1610,10]]},"1424":{"position":[[180,11],[1645,10],[1735,10]]},"1425":{"position":[[194,11],[1261,10],[1351,10]]},"1426":{"position":[[180,11],[1586,11],[1608,10],[1699,10]]},"1427":{"position":[[181,11],[2483,11],[2505,10],[2596,10]]},"1428":{"position":[[180,11],[1243,10],[1333,10]]},"1429":{"position":[[178,11],[3147,11],[3169,10],[3260,10]]},"1430":{"position":[[185,11],[2019,10],[2109,10]]},"1431":{"position":[[178,11],[1363,10],[1453,10]]},"1432":{"position":[[186,11],[1884,10],[1974,10]]},"1433":{"position":[[179,11],[1405,10],[1495,10]]},"1434":{"position":[[181,11],[1079,10],[1169,10]]},"1435":{"position":[[186,11],[1043,10],[1133,10]]},"1436":{"position":[[182,11],[1059,10],[1149,10]]},"1437":{"position":[[179,11],[1129,10],[1219,10]]},"1438":{"position":[[177,11],[1245,11],[1267,10],[1358,10]]},"1439":{"position":[[183,11],[2769,11],[2791,10],[2882,10]]},"1440":{"position":[[180,11],[3335,11],[3357,10],[3448,10]]},"1441":{"position":[[185,11],[1085,10],[1175,10]]},"1442":{"position":[[186,11],[1140,11],[1162,10],[1253,10]]},"1443":{"position":[[179,11],[1380,10],[1470,10]]},"1444":{"position":[[180,11],[1296,10],[1386,10]]},"1445":{"position":[[183,11],[985,10],[1075,10]]},"1446":{"position":[[180,11],[1319,10],[1409,10]]},"1447":{"position":[[182,11],[1201,10],[1291,10]]},"1448":{"position":[[181,11],[1636,10],[1726,10]]},"1449":{"position":[[182,11],[1570,10],[1660,10]]},"1450":{"position":[[181,11],[1449,10],[1539,10]]},"1451":{"position":[[181,11],[1449,10],[1539,10]]},"1452":{"position":[[177,11],[995,10],[1085,10]]},"1453":{"position":[[193,11],[1581,10],[1671,10],[2006,10]]},"1454":{"position":[[189,11],[3947,10],[4037,10]]},"1455":{"position":[[195,11],[1834,10],[1924,10]]},"1456":{"position":[[192,11],[1179,10],[1269,10]]},"1457":{"position":[[188,11],[1238,10],[1328,10]]},"1458":{"position":[[181,11],[1773,10],[1863,10]]},"1459":{"position":[[192,11],[1252,10],[1342,10]]},"1460":{"position":[[191,11],[1364,10],[1454,10]]},"1461":{"position":[[192,11],[1561,11],[1583,10],[1674,10]]},"1462":{"position":[[182,11],[4960,10],[5050,10]]},"1463":{"position":[[192,11],[1086,10],[1176,10]]},"1464":{"position":[[193,11],[994,10],[1084,10]]},"1465":{"position":[[183,11],[2092,10],[2182,10]]},"1466":{"position":[[196,11],[1330,10],[1420,10]]},"1467":{"position":[[180,11],[5631,11],[5653,10],[5744,10]]},"1468":{"position":[[187,11],[1094,10],[1184,10]]},"1469":{"position":[[180,11],[1449,11],[1471,10],[1562,10]]},"1470":{"position":[[185,11],[3996,10],[4086,10]]},"1471":{"position":[[180,11],[2312,11],[2334,10],[2425,10]]},"1472":{"position":[[181,11],[2271,11],[2293,10],[2384,10]]},"1473":{"position":[[178,11],[2586,11],[2608,10],[2699,10]]},"1474":{"position":[[182,11],[1995,10],[2085,10]]},"1475":{"position":[[179,11],[2466,10],[2556,10]]},"1476":{"position":[[185,11],[1071,10],[1161,10]]},"1477":{"position":[[178,11],[1205,11],[1227,10],[1318,10]]},"1478":{"position":[[176,11],[1696,11],[1718,10],[1809,10]]},"1479":{"position":[[193,11],[1163,10],[1253,10]]},"1480":{"position":[[182,11],[1576,10],[1666,10]]},"1481":{"position":[[184,11],[2109,10],[2199,10]]},"1482":{"position":[[179,11],[1183,10],[1273,10],[2040,10],[2191,10],[2321,10]]},"1483":{"position":[[184,11],[1017,10],[1107,10]]},"1484":{"position":[[184,11],[1089,10],[1179,10]]},"1485":{"position":[[185,11],[1349,10],[1439,10]]},"1486":{"position":[[180,11],[1593,10],[1683,10]]},"1487":{"position":[[177,11],[1270,11],[1292,10],[1383,10]]}},"keywords":{}}],["visit",{"_index":3667,"title":{},"content":{"706":{"position":[[621,8]]},"1084":{"position":[[181,7]]},"1088":{"position":[[120,8],[330,8],[413,6]]}},"keywords":{}}],["visual",{"_index":3616,"title":{"958":{"position":[[0,6]]}},"content":{"697":{"position":[[37,13]]},"958":{"position":[[165,6]]},"1181":{"position":[[41,11]]},"1260":{"position":[[1008,13]]},"1291":{"position":[[1008,13]]},"1319":{"position":[[1008,13]]}},"keywords":{}}],["vm_arg",{"_index":7817,"title":{},"content":{"1413":{"position":[[1859,8]]},"1414":{"position":[[726,8]]},"1429":{"position":[[2458,8],[6240,8]]},"1440":{"position":[[2646,8],[6039,8]]},"1470":{"position":[[3220,8]]},"1475":{"position":[[1855,8]]}},"keywords":{}}],["vpn",{"_index":1112,"title":{},"content":{"91":{"position":[[619,4]]},"223":{"position":[[619,4]]},"1422":{"position":[[3836,4]]},"1423":{"position":[[2606,4]]},"1469":{"position":[[2417,4]]}},"keywords":{}}],["vpnless_url",{"_index":1106,"title":{},"content":{"91":{"position":[[85,12],[544,11]]},"223":{"position":[[85,12],[544,11]]},"1422":{"position":[[682,13],[3754,13]]},"1423":{"position":[[583,13]]},"1469":{"position":[[589,12],[2325,12]]}},"keywords":{}}],["vs",{"_index":1737,"title":{"701":{"position":[[6,2]]},"703":{"position":[[9,2]]},"837":{"position":[[26,2]]}},"content":{"314":{"position":[[406,2]]},"705":{"position":[[9,2]]},"898":{"position":[[703,2]]}},"keywords":{}}],["vscode",{"_index":4724,"title":{},"content":{"946":{"position":[[726,7]]}},"keywords":{}}],["vsgo",{"_index":4764,"title":{"958":{"position":[[22,7]]}},"content":{"958":{"position":[[0,4]]}},"keywords":{}}],["vsn",{"_index":7496,"title":{},"content":{"1393":{"position":[[8415,3]]}},"keywords":{}}],["w",{"_index":5982,"title":{},"content":{"1167":{"position":[[1467,2]]}},"keywords":{}}],["wait",{"_index":252,"title":{},"content":{"9":{"position":[[1568,7]]},"10":{"position":[[964,4]]},"362":{"position":[[1854,4]]},"741":{"position":[[1854,4]]},"951":{"position":[[1230,4]]},"1138":{"position":[[4629,4],[4817,4]]},"1140":{"position":[[4118,4],[4306,4]]},"1167":{"position":[[1472,4],[1524,4],[5122,4],[5310,4]]},"1188":{"position":[[4171,4],[4359,4]]},"1217":{"position":[[3863,4],[4051,4]]},"1228":{"position":[[5944,4],[6132,4]]},"1486":{"position":[[3986,5]]}},"keywords":{}}],["walk",{"_index":3649,"title":{},"content":{"705":{"position":[[738,4]]},"892":{"position":[[1144,4]]}},"keywords":{}}],["wall",{"_index":6816,"title":{},"content":{"1362":{"position":[[13061,6]]},"1364":{"position":[[13761,6]]},"1367":{"position":[[12969,6]]},"1382":{"position":[[11423,6]]},"1384":{"position":[[19077,6]]},"1385":{"position":[[7001,6]]},"1387":{"position":[[10374,6]]},"1388":{"position":[[9916,6]]},"1442":{"position":[[2796,6]]},"1485":{"position":[[4287,6]]}},"keywords":{}}],["want",{"_index":1008,"title":{},"content":{"79":{"position":[[134,4]]},"89":{"position":[[899,4]]},"98":{"position":[[672,4]]},"221":{"position":[[899,4]]},"230":{"position":[[672,4]]},"408":{"position":[[125,4]]},"416":{"position":[[586,4]]},"417":{"position":[[816,4]]},"436":{"position":[[168,4]]},"508":{"position":[[134,4]]},"710":{"position":[[149,4],[253,4]]},"711":{"position":[[714,4]]},"787":{"position":[[125,4]]},"795":{"position":[[586,4]]},"796":{"position":[[816,4]]},"815":{"position":[[168,4]]},"833":{"position":[[314,4]]},"840":{"position":[[359,4]]},"848":{"position":[[36,4]]},"850":{"position":[[269,4]]},"905":{"position":[[1032,4],[1237,4]]},"920":{"position":[[97,4]]},"923":{"position":[[42,4]]},"924":{"position":[[389,4]]},"937":{"position":[[1798,4],[2087,4]]},"944":{"position":[[1146,4]]},"972":{"position":[[126,4]]},"991":{"position":[[457,4]]},"995":{"position":[[1216,4]]},"997":{"position":[[12,4],[129,4],[198,4]]},"1025":{"position":[[30,4]]},"1060":{"position":[[208,4]]},"1061":{"position":[[7,4]]},"1083":{"position":[[1126,4]]},"1093":{"position":[[601,4]]},"1102":{"position":[[1074,4]]},"1104":{"position":[[1590,4]]},"1138":{"position":[[6126,5]]},"1148":{"position":[[3476,5]]},"1186":{"position":[[769,4],[1700,5]]},"1187":{"position":[[782,4],[1713,5]]},"1188":{"position":[[5508,4],[6439,5]]},"1197":{"position":[[938,5]]},"1198":{"position":[[948,5]]},"1199":{"position":[[976,5]]},"1200":{"position":[[843,5]]},"1240":{"position":[[248,4]]},"1249":{"position":[[7,4]]},"1346":{"position":[[429,4],[502,4]]},"1355":{"position":[[4953,4]]},"1359":{"position":[[2008,4]]},"1386":{"position":[[5359,4]]},"1393":{"position":[[7190,4]]},"1398":{"position":[[1198,4],[4133,4]]},"1399":{"position":[[2557,4],[2598,4]]},"1410":{"position":[[4503,4]]},"1439":{"position":[[5579,4],[6245,4]]},"1446":{"position":[[1755,4]]},"1461":{"position":[[2155,4]]},"1470":{"position":[[4551,4]]}},"keywords":{}}],["warn",{"_index":2390,"title":{"450":{"position":[[0,8]]},"829":{"position":[[0,8]]}},"content":{"446":{"position":[[191,7]]},"450":{"position":[[43,8],[136,4],[205,8],[271,9]]},"575":{"position":[[177,7]]},"825":{"position":[[191,7]]},"829":{"position":[[43,8],[136,4],[205,8],[271,9]]},"1102":{"position":[[1047,7]]},"1123":{"position":[[0,8]]},"1412":{"position":[[4161,8]]},"1427":{"position":[[4239,7]]},"1471":{"position":[[5446,9]]},"1472":{"position":[[6332,9]]}},"keywords":{}}],["warning(x",{"_index":2407,"title":{},"content":{"450":{"position":[[4,10]]},"829":{"position":[[4,10]]}},"keywords":{}}],["warnings_flag",{"_index":8119,"title":{},"content":{"1448":{"position":[[883,15]]},"1449":{"position":[[825,15]]},"1450":{"position":[[830,15]]},"1451":{"position":[[830,15]]}},"keywords":{}}],["watch",{"_index":680,"title":{},"content":{"22":{"position":[[1733,8]]},"995":{"position":[[1059,5]]},"1363":{"position":[[4477,6]]}},"keywords":{}}],["watch>"",{"_index":5008,"title":{},"content":{"1004":{"position":[[1791,16]]}},"keywords":{}}],["watch_kit_stub_binari",{"_index":7006,"title":{},"content":{"1368":{"position":[[1275,22]]}},"keywords":{}}],["watchapplication/info.plist",{"_index":6911,"title":{},"content":{"1363":{"position":[[7388,30]]}},"keywords":{}}],["watchextension/resources/info.plist",{"_index":6907,"title":{},"content":{"1363":{"position":[[7185,38]]}},"keywords":{}}],["watchkit",{"_index":6885,"title":{},"content":{"1363":{"position":[[4445,8]]}},"keywords":{}}],["watchman",{"_index":792,"title":{},"content":{"24":{"position":[[691,8]]},"879":{"position":[[197,9]]}},"keywords":{}}],["watcho",{"_index":4974,"title":{},"content":{"995":{"position":[[934,7]]},"1004":{"position":[[874,7],[907,7],[1108,7],[1134,7],[1339,7],[1402,7]]},"1005":{"position":[[349,7],[388,7]]},"1363":{"position":[[4606,8],[7038,7]]}},"keywords":{}}],["watchos_resourc",{"_index":5021,"title":{},"content":{"1005":{"position":[[406,16]]}},"keywords":{}}],["watchsimul",{"_index":6886,"title":{},"content":{"1363":{"position":[[4588,14]]}},"keywords":{}}],["way",{"_index":157,"title":{},"content":{"7":{"position":[[360,4]]},"9":{"position":[[559,5]]},"89":{"position":[[224,3]]},"94":{"position":[[3458,3]]},"221":{"position":[[224,3]]},"226":{"position":[[3458,3]]},"276":{"position":[[279,4]]},"277":{"position":[[230,4]]},"281":{"position":[[346,4]]},"282":{"position":[[294,4]]},"374":{"position":[[1159,4]]},"408":{"position":[[507,4]]},"570":{"position":[[534,4]]},"622":{"position":[[1084,3]]},"675":{"position":[[14,4],[1275,4]]},"690":{"position":[[260,3]]},"693":{"position":[[5341,3],[6516,3]]},"753":{"position":[[1159,4]]},"787":{"position":[[507,4]]},"856":{"position":[[342,3]]},"860":{"position":[[425,3]]},"889":{"position":[[528,5]]},"890":{"position":[[3206,5],[3567,4],[3932,6]]},"919":{"position":[[2788,3]]},"920":{"position":[[26,3]]},"924":{"position":[[457,4]]},"937":{"position":[[242,4],[1534,3],[3163,3],[4837,3]]},"938":{"position":[[1048,3]]},"945":{"position":[[99,3]]},"946":{"position":[[206,4],[660,3]]},"973":{"position":[[13,4]]},"975":{"position":[[350,3]]},"977":{"position":[[562,3]]},"980":{"position":[[304,4]]},"990":{"position":[[678,3]]},"1000":{"position":[[753,4]]},"1011":{"position":[[60,4],[339,3]]},"1024":{"position":[[111,4]]},"1050":{"position":[[650,3]]},"1082":{"position":[[425,3]]},"1083":{"position":[[121,3]]},"1097":{"position":[[50,3]]},"1104":{"position":[[61,3]]},"1105":{"position":[[354,3]]},"1107":{"position":[[9,3]]},"1112":{"position":[[1591,3]]},"1138":{"position":[[2070,3]]},"1140":{"position":[[1559,3]]},"1167":{"position":[[2563,3]]},"1188":{"position":[[1612,3]]},"1217":{"position":[[1304,3]]},"1228":{"position":[[3385,3]]},"1348":{"position":[[3959,3]]},"1351":{"position":[[4962,3]]},"1355":{"position":[[5405,3]]},"1362":{"position":[[5172,3]]},"1363":{"position":[[5977,3]]},"1364":{"position":[[5201,3]]},"1373":{"position":[[7846,3]]},"1382":{"position":[[10622,3]]},"1384":{"position":[[17696,3]]},"1386":{"position":[[3061,3],[5933,3]]},"1388":{"position":[[9115,3]]},"1399":{"position":[[2038,3]]},"1485":{"position":[[3487,3]]},"1487":{"position":[[708,4]]}},"keywords":{}}],["we'd",{"_index":4544,"title":{},"content":{"924":{"position":[[1573,4]]}},"keywords":{}}],["we'll",{"_index":4542,"title":{},"content":{"924":{"position":[[1504,5]]},"975":{"position":[[26,5],[200,5]]},"976":{"position":[[0,5]]}},"keywords":{}}],["we'v",{"_index":2696,"title":{},"content":{"584":{"position":[[36,5]]}},"keywords":{}}],["weak_framework_nam",{"_index":7041,"title":{},"content":{"1373":{"position":[[2689,21]]},"1382":{"position":[[2935,21]]},"1384":{"position":[[4238,21]]},"1387":{"position":[[4132,21]]},"1388":{"position":[[3402,21]]},"1415":{"position":[[2388,21]]},"1462":{"position":[[4163,21]]},"1467":{"position":[[4884,21]]}},"keywords":{}}],["websit",{"_index":3,"title":{"1":{"position":[[20,7]]}},"content":{},"keywords":{}}],["week",{"_index":5537,"title":{},"content":{"1079":{"position":[[575,4]]},"1142":{"position":[[266,4]]}},"keywords":{}}],["weight",{"_index":1176,"title":{},"content":{"94":{"position":[[709,7]]},"226":{"position":[[709,7]]},"1360":{"position":[[1295,7],[5655,7]]},"1383":{"position":[[1153,7],[8160,7]]},"1403":{"position":[[1178,7],[7260,7]]},"1424":{"position":[[1034,7]]},"1432":{"position":[[1273,7]]}},"keywords":{}}],["weight_percentag",{"_index":1177,"title":{},"content":{"94":{"position":[[726,18]]},"226":{"position":[[726,18]]}},"keywords":{}}],["well",{"_index":794,"title":{},"content":{"24":{"position":[[875,5]]},"368":{"position":[[2818,5]]},"463":{"position":[[165,5]]},"679":{"position":[[246,5]]},"681":{"position":[[952,5]]},"693":{"position":[[8264,5]]},"702":{"position":[[305,4],[411,4]]},"704":{"position":[[471,4],[644,4],[1756,4]]},"747":{"position":[[2818,5]]},"846":{"position":[[210,5]]},"906":{"position":[[666,5]]},"921":{"position":[[73,4]]},"937":{"position":[[2055,4]]},"991":{"position":[[1125,4]]},"1088":{"position":[[171,5]]},"1180":{"position":[[188,4]]},"1254":{"position":[[108,4]]},"1345":{"position":[[624,4]]},"1393":{"position":[[8196,5]]},"1395":{"position":[[2019,5]]},"1426":{"position":[[2092,4]]},"1427":{"position":[[1864,4]]},"1439":{"position":[[2150,4]]},"1483":{"position":[[1493,5]]},"1486":{"position":[[5479,4]]}},"keywords":{}}],["well.th",{"_index":765,"title":{},"content":{"23":{"position":[[2863,8]]}},"keywords":{}}],["weren't",{"_index":715,"title":{},"content":{"23":{"position":[[1145,7]]}},"keywords":{}}],["werror",{"_index":6817,"title":{},"content":{"1362":{"position":[[13070,9]]},"1364":{"position":[[13770,9]]},"1367":{"position":[[12978,9]]},"1382":{"position":[[11432,9]]},"1384":{"position":[[19086,9]]},"1385":{"position":[[7010,9]]},"1387":{"position":[[10383,9]]},"1388":{"position":[[9925,9]]},"1412":{"position":[[4297,8]]},"1442":{"position":[[2805,9]]},"1485":{"position":[[4296,9]]}},"keywords":{}}],["we’d",{"_index":6155,"title":{},"content":{"1232":{"position":[[3688,4]]}},"keywords":{}}],["we’r",{"_index":6148,"title":{},"content":{"1232":{"position":[[3354,5]]}},"keywords":{}}],["what'",{"_index":690,"title":{"23":{"position":[[0,6]]}},"content":{"1100":{"position":[[100,6],[181,6]]},"1120":{"position":[[90,6]]}},"keywords":{}}],["whatev",{"_index":755,"title":{},"content":{"23":{"position":[[2516,8]]},"840":{"position":[[651,8]]},"853":{"position":[[94,8]]},"1024":{"position":[[205,8]]},"1032":{"position":[[313,8]]},"1102":{"position":[[657,8]]},"1360":{"position":[[3703,8]]},"1403":{"position":[[3118,8]]}},"keywords":{}}],["whatsapp",{"_index":126,"title":{},"content":{"6":{"position":[[256,8]]},"1393":{"position":[[4598,8]]}},"keywords":{}}],["whatsoev",{"_index":5910,"title":{},"content":{"1136":{"position":[[5962,10]]},"1138":{"position":[[9624,10]]},"1140":{"position":[[8550,10]]},"1142":{"position":[[3994,10]]},"1146":{"position":[[3934,10]]},"1148":{"position":[[6974,10]]},"1155":{"position":[[4030,10]]},"1156":{"position":[[3608,10]]},"1163":{"position":[[568,10]]},"1165":{"position":[[397,10]]},"1167":{"position":[[9554,10]]},"1169":{"position":[[2662,10]]},"1186":{"position":[[5198,10]]},"1187":{"position":[[5211,10]]},"1188":{"position":[[9937,10]]},"1191":{"position":[[3798,10]]},"1192":{"position":[[3973,10]]},"1193":{"position":[[4025,10]]},"1194":{"position":[[3665,10]]},"1195":{"position":[[3643,10]]},"1196":{"position":[[3453,10]]},"1197":{"position":[[4436,10]]},"1198":{"position":[[4446,10]]},"1199":{"position":[[4474,10]]},"1200":{"position":[[4341,10]]},"1201":{"position":[[3601,10]]},"1202":{"position":[[4743,10],[9140,10]]},"1203":{"position":[[3835,10]]},"1204":{"position":[[3679,10]]},"1205":{"position":[[5008,10]]},"1206":{"position":[[3479,10]]},"1207":{"position":[[3636,10]]},"1209":{"position":[[4984,10]]},"1217":{"position":[[8295,10]]},"1219":{"position":[[3550,10]]},"1222":{"position":[[3405,10]]},"1223":{"position":[[3415,10]]},"1224":{"position":[[2864,10]]},"1226":{"position":[[8763,10]]},"1228":{"position":[[10376,10]]},"1235":{"position":[[6244,10]]},"1237":{"position":[[8933,10]]}},"keywords":{}}],["whatup",{"_index":6181,"title":{},"content":{"1244":{"position":[[77,7]]}},"keywords":{}}],["what’",{"_index":3782,"title":{"833":{"position":[[0,6]]}},"content":{"715":{"position":[[542,6]]}},"keywords":{}}],["whenev",{"_index":3568,"title":{},"content":{"693":{"position":[[5828,8]]},"1362":{"position":[[11094,8]]},"1364":{"position":[[12061,8]]},"1367":{"position":[[11464,8]]},"1373":{"position":[[5609,8]]},"1382":{"position":[[7963,8]]},"1384":{"position":[[14027,8],[14206,8]]},"1385":{"position":[[4194,8]]},"1387":{"position":[[7287,8],[7465,8]]},"1388":{"position":[[8577,8]]},"1415":{"position":[[4076,8]]},"1454":{"position":[[7679,8]]}},"keywords":{}}],["whenno_outputs_cleanup",{"_index":5306,"title":{},"content":{"1050":{"position":[[3462,22]]}},"keywords":{}}],["wherea",{"_index":705,"title":{},"content":{"23":{"position":[[686,8]]},"622":{"position":[[1730,7]]},"648":{"position":[[624,7]]},"706":{"position":[[1593,7]]},"919":{"position":[[1855,7],[2702,7]]},"1384":{"position":[[20594,7]]},"1403":{"position":[[4643,7],[5963,7]]}},"keywords":{}}],["whereas.buckconfig.loc",{"_index":2659,"title":{},"content":{"580":{"position":[[318,24]]}},"keywords":{}}],["whereasmodifiers.match",{"_index":4695,"title":{},"content":{"944":{"position":[[630,22]]}},"keywords":{}}],["whereconfiguredtargetlabellik",{"_index":4522,"title":{},"content":{"924":{"position":[[105,30]]}},"keywords":{}}],["wherev",{"_index":1654,"title":{},"content":{"298":{"position":[[2689,8]]},"851":{"position":[[188,8],[2015,8]]},"860":{"position":[[248,8]]},"1108":{"position":[[61,8]]}},"keywords":{}}],["whether",{"_index":886,"title":{},"content":{"48":{"position":[[26,7]]},"67":{"position":[[187,7]]},"91":{"position":[[432,7]]},"98":{"position":[[551,7]]},"126":{"position":[[456,7]]},"195":{"position":[[26,7]]},"223":{"position":[[432,7]]},"230":{"position":[[551,7]]},"249":{"position":[[456,7]]},"294":{"position":[[712,7]]},"316":{"position":[[83,7]]},"317":{"position":[[84,7]]},"362":{"position":[[1053,7],[1211,7],[1292,7],[2016,7],[2090,7],[2151,7],[2296,7],[2384,7],[2480,7],[2624,7]]},"363":{"position":[[292,7]]},"374":{"position":[[1199,7],[1273,7]]},"405":{"position":[[1833,7]]},"455":{"position":[[187,7]]},"593":{"position":[[158,7]]},"597":{"position":[[126,7]]},"598":{"position":[[115,7]]},"599":{"position":[[114,7]]},"600":{"position":[[116,7]]},"601":{"position":[[121,7]]},"602":{"position":[[104,7]]},"603":{"position":[[116,7]]},"618":{"position":[[92,7],[166,7]]},"646":{"position":[[110,7]]},"693":{"position":[[4605,7],[10256,7]]},"704":{"position":[[1062,7]]},"705":{"position":[[783,7]]},"741":{"position":[[1053,7],[1211,7],[1292,7],[2016,7],[2090,7],[2151,7],[2296,7],[2384,7],[2480,7],[2624,7]]},"742":{"position":[[292,7]]},"753":{"position":[[1199,7],[1273,7]]},"784":{"position":[[1833,7]]},"890":{"position":[[2926,7],[3438,7]]},"956":{"position":[[389,7]]},"1000":{"position":[[806,7]]},"1004":{"position":[[635,7]]},"1013":{"position":[[188,7]]},"1053":{"position":[[79,7]]},"1138":{"position":[[3686,7]]},"1140":{"position":[[3175,7]]},"1167":{"position":[[4179,7]]},"1188":{"position":[[3228,7]]},"1215":{"position":[[71,7]]},"1217":{"position":[[2920,7]]},"1219":{"position":[[810,7],[863,7]]},"1228":{"position":[[692,7],[816,7],[928,7],[5001,7]]},"1348":{"position":[[3664,7]]},"1354":{"position":[[2341,7]]},"1360":{"position":[[3930,7]]},"1362":{"position":[[6219,7],[10663,7]]},"1364":{"position":[[6248,7],[11630,7],[13134,7]]},"1367":{"position":[[7646,7]]},"1370":{"position":[[2341,7]]},"1373":{"position":[[3775,7],[5180,7]]},"1382":{"position":[[4131,7],[7532,7]]},"1383":{"position":[[6862,7]]},"1384":{"position":[[5293,7],[13596,7],[18065,7],[19884,7]]},"1387":{"position":[[6656,7]]},"1388":{"position":[[4431,7],[8401,7]]},"1389":{"position":[[5295,7],[5542,7]]},"1397":{"position":[[1881,7],[2078,7]]},"1403":{"position":[[3345,7],[4742,7],[5026,7]]},"1405":{"position":[[2951,7]]},"1407":{"position":[[3372,7]]},"1410":{"position":[[3953,7]]},"1416":{"position":[[2828,7]]},"1423":{"position":[[1805,7]]},"1429":{"position":[[3990,7],[6158,7]]},"1440":{"position":[[3983,7]]},"1454":{"position":[[4240,7],[9479,7]]},"1462":{"position":[[5253,7],[6543,7],[8801,7]]},"1465":{"position":[[4155,7]]},"1467":{"position":[[7658,7],[10572,7]]},"1471":{"position":[[2799,7],[3795,7]]},"1472":{"position":[[3266,7],[4379,7]]},"1473":{"position":[[4116,7]]}},"keywords":{}}],["whichev",{"_index":2241,"title":{},"content":{"418":{"position":[[655,9]]},"693":{"position":[[4785,9]]},"724":{"position":[[1480,9]]},"797":{"position":[[655,9]]},"1082":{"position":[[415,9]]}},"keywords":{}}],["white",{"_index":2987,"title":{},"content":{"616":{"position":[[708,5],[754,5]]}},"keywords":{}}],["whitespac",{"_index":2867,"title":{},"content":{"601":{"position":[[88,12]]},"606":{"position":[[76,12],[144,10]]},"615":{"position":[[77,11],[145,10]]},"619":{"position":[[87,12],[167,10]]}},"keywords":{}}],["whl",{"_index":8263,"title":{},"content":{"1461":{"position":[[1888,4],[2937,3],[2955,4],[3020,3]]}},"keywords":{}}],["who'",{"_index":8623,"title":{},"content":{"1487":{"position":[[3729,5]]}},"keywords":{}}],["whole",{"_index":6099,"title":{},"content":{"1231":{"position":[[571,6]]},"1486":{"position":[[768,5]]}},"keywords":{}}],["whose",{"_index":1122,"title":{},"content":{"92":{"position":[[637,5]]},"98":{"position":[[488,5]]},"99":{"position":[[600,5]]},"224":{"position":[[637,5]]},"230":{"position":[[488,5]]},"231":{"position":[[600,5]]},"406":{"position":[[267,5]]},"604":{"position":[[286,5]]},"617":{"position":[[163,5]]},"634":{"position":[[141,5]]},"715":{"position":[[24,5]]},"785":{"position":[[267,5]]},"1040":{"position":[[157,5]]},"1057":{"position":[[199,5]]},"1172":{"position":[[1620,6]]},"1173":{"position":[[920,6]]},"1358":{"position":[[2092,5]]},"1366":{"position":[[2547,5]]},"1393":{"position":[[5167,5],[6957,5]]},"1398":{"position":[[1416,5],[3846,5]]},"1426":{"position":[[2375,5],[2697,5]]},"1487":{"position":[[2641,5]]}},"keywords":{}}],["wide",{"_index":142,"title":{},"content":{"7":{"position":[[134,4]]},"689":{"position":[[90,6]]},"924":{"position":[[717,4]]}},"keywords":{}}],["width",{"_index":2820,"title":{},"content":{"595":{"position":[[1295,6]]}},"keywords":{}}],["will",{"_index":1901,"title":{},"content":{"362":{"position":[[1843,7]]},"741":{"position":[[1843,7]]}},"keywords":{}}],["win",{"_index":6073,"title":{},"content":{"1228":{"position":[[596,4]]},"1355":{"position":[[6134,3],[7147,3]]},"1427":{"position":[[5307,3],[6346,3]]}},"keywords":{}}],["window",{"_index":471,"title":{"16":{"position":[[0,7]]},"909":{"position":[[0,7]]}},"content":{"15":{"position":[[715,7]]},"16":{"position":[[76,7]]},"362":{"position":[[2311,7]]},"690":{"position":[[3160,8]]},"741":{"position":[[2311,7]]},"911":{"position":[[3,8]]},"912":{"position":[[27,7]]},"937":{"position":[[119,9],[3784,8],[3918,7],[4365,7]]},"939":{"position":[[1266,7]]},"940":{"position":[[1099,7]]},"943":{"position":[[1138,7],[1418,7],[1514,7]]},"944":{"position":[[1235,7],[1246,7]]},"1052":{"position":[[955,7]]},"1120":{"position":[[910,7]]},"1136":{"position":[[2904,8]]},"1138":{"position":[[6566,8]]},"1140":{"position":[[5492,8]]},"1142":{"position":[[936,8]]},"1146":{"position":[[876,8]]},"1148":{"position":[[3916,8]]},"1155":{"position":[[972,8]]},"1156":{"position":[[550,8]]},"1167":{"position":[[6496,8]]},"1169":{"position":[[335,8]]},"1186":{"position":[[2140,8]]},"1187":{"position":[[2153,8]]},"1188":{"position":[[6879,8]]},"1191":{"position":[[740,8]]},"1192":{"position":[[915,8]]},"1193":{"position":[[967,8]]},"1194":{"position":[[607,8]]},"1195":{"position":[[585,8]]},"1196":{"position":[[395,8]]},"1197":{"position":[[1378,8]]},"1198":{"position":[[1388,8]]},"1199":{"position":[[1416,8]]},"1200":{"position":[[1283,8]]},"1201":{"position":[[543,8]]},"1202":{"position":[[1685,8],[6082,8]]},"1203":{"position":[[777,8]]},"1204":{"position":[[621,8]]},"1205":{"position":[[1950,8]]},"1206":{"position":[[421,8]]},"1207":{"position":[[578,8]]},"1209":{"position":[[1926,8]]},"1217":{"position":[[5237,8]]},"1219":{"position":[[1223,8]]},"1222":{"position":[[347,8]]},"1223":{"position":[[357,8]]},"1224":{"position":[[537,8]]},"1226":{"position":[[5705,8]]},"1228":{"position":[[7318,8]]},"1235":{"position":[[3186,8]]},"1237":{"position":[[5875,8]]},"1360":{"position":[[4643,7]]},"1383":{"position":[[6675,7]]},"1403":{"position":[[4058,7]]},"1478":{"position":[[2747,8]]}},"keywords":{}}],["window'",{"_index":8540,"title":{},"content":{"1485":{"position":[[709,8]]}},"keywords":{}}],["windows"",{"_index":7102,"title":{},"content":{"1374":{"position":[[3647,14],[3942,14]]}},"keywords":{}}],["windows.defin",{"_index":4608,"title":{},"content":{"937":{"position":[[3934,14]]}},"keywords":{}}],["windows_resourc",{"_index":8539,"title":{"1485":{"position":[[0,17]]}},"content":{"1485":{"position":[[4,17],[666,18],[4858,17],[4984,16]]}},"keywords":{}}],["wipe",{"_index":5532,"title":{},"content":{"1079":{"position":[[241,4]]}},"keywords":{}}],["wire",{"_index":747,"title":{},"content":{"23":{"position":[[2287,5]]}},"keywords":{}}],["wise",{"_index":4499,"title":{},"content":{"919":{"position":[[1397,4],[2661,5]]}},"keywords":{}}],["wish",{"_index":1639,"title":{},"content":{"298":{"position":[[1495,4]]},"300":{"position":[[210,4]]},"851":{"position":[[513,4]]},"864":{"position":[[393,4]]}},"keywords":{}}],["with_input",{"_index":1251,"title":{},"content":{"98":{"position":[[371,12]]},"99":{"position":[[468,12],[1046,11]]},"230":{"position":[[371,12]]},"231":{"position":[[468,12],[1046,11]]}},"keywords":{}}],["with_sub_target",{"_index":1648,"title":{},"content":{"298":{"position":[[2410,17]]},"851":{"position":[[1739,17]]}},"keywords":{}}],["withbuck2",{"_index":6178,"title":{},"content":{"1243":{"position":[[1044,9]]}},"keywords":{}}],["withcfg//os:window",{"_index":4688,"title":{},"content":{"943":{"position":[[1222,19]]}},"keywords":{}}],["withctx.build",{"_index":3875,"title":{},"content":{"844":{"position":[[33,16]]}},"keywords":{}}],["withflamegraph.pl.heap",{"_index":5361,"title":{},"content":{"1056":{"position":[[874,22],[962,22]]}},"keywords":{}}],["withhello.txt",{"_index":8624,"title":{},"content":{"1487":{"position":[[3746,14]]}},"keywords":{}}],["within",{"_index":719,"title":{},"content":{"23":{"position":[[1205,6],[1728,6],[3287,6]]},"24":{"position":[[214,6]]},"145":{"position":[[253,6]]},"234":{"position":[[148,6]]},"236":{"position":[[432,6]]},"268":{"position":[[253,6]]},"300":{"position":[[382,6],[481,6]]},"303":{"position":[[111,6]]},"340":{"position":[[216,6]]},"441":{"position":[[56,6]]},"477":{"position":[[162,6]]},"566":{"position":[[177,6],[500,6]]},"570":{"position":[[174,6]]},"575":{"position":[[68,6]]},"590":{"position":[[268,6]]},"591":{"position":[[242,6],[328,6]]},"594":{"position":[[229,6]]},"595":{"position":[[227,6]]},"596":{"position":[[260,6]]},"639":{"position":[[287,6]]},"656":{"position":[[243,6]]},"688":{"position":[[56,6]]},"693":{"position":[[9593,6],[9829,6]]},"710":{"position":[[307,6]]},"719":{"position":[[135,6]]},"720":{"position":[[297,6],[479,6]]},"722":{"position":[[853,6]]},"724":{"position":[[496,6]]},"820":{"position":[[56,6]]},"832":{"position":[[583,6],[859,6]]},"834":{"position":[[287,6]]},"837":{"position":[[265,6]]},"840":{"position":[[1379,6]]},"844":{"position":[[22,6]]},"845":{"position":[[32,6]]},"847":{"position":[[32,6]]},"850":{"position":[[95,6]]},"851":{"position":[[23,6]]},"864":{"position":[[614,6]]},"867":{"position":[[877,6],[1868,6]]},"869":{"position":[[765,6]]},"870":{"position":[[629,6],[943,6],[1121,6]]},"872":{"position":[[854,6]]},"873":{"position":[[297,6]]},"876":{"position":[[31,6],[198,6],[266,6]]},"877":{"position":[[113,6],[439,6]]},"878":{"position":[[345,6]]},"890":{"position":[[37,6],[4954,7]]},"905":{"position":[[274,6],[425,6],[1104,6]]},"950":{"position":[[263,6]]},"1017":{"position":[[924,6]]},"1018":{"position":[[26,6]]},"1036":{"position":[[87,6]]},"1040":{"position":[[2777,6]]},"1057":{"position":[[74,6]]},"1064":{"position":[[1867,6],[2028,6]]},"1083":{"position":[[322,6]]},"1112":{"position":[[1149,6]]},"1118":{"position":[[117,6]]},"1148":{"position":[[516,6]]},"1285":{"position":[[204,6]]},"1287":{"position":[[32,6]]},"1354":{"position":[[2615,6]]},"1355":{"position":[[6542,6]]},"1367":{"position":[[10430,6]]},"1381":{"position":[[2209,6]]},"1383":{"position":[[4419,6]]},"1388":{"position":[[4779,6],[6163,6]]},"1392":{"position":[[1885,6]]},"1410":{"position":[[3369,6]]},"1422":{"position":[[3004,6]]},"1427":{"position":[[5741,6]]},"1429":{"position":[[4661,6]]},"1439":{"position":[[7650,6]]},"1440":{"position":[[4743,6]]},"1462":{"position":[[7273,6],[7540,6]]},"1467":{"position":[[6516,6],[8242,6]]}},"keywords":{}}],["within_view",{"_index":2294,"title":{},"content":{"424":{"position":[[85,12]]},"708":{"position":[[1156,11]]},"803":{"position":[[85,12]]},"919":{"position":[[364,11]]},"1064":{"position":[[1638,12],[1945,11],[2170,11]]},"1348":{"position":[[207,12]]},"1349":{"position":[[218,12]]},"1350":{"position":[[210,12]]},"1351":{"position":[[216,12],[1678,12]]},"1352":{"position":[[210,12]]},"1353":{"position":[[223,12]]},"1354":{"position":[[224,12]]},"1355":{"position":[[211,12],[3038,12]]},"1356":{"position":[[212,12]]},"1357":{"position":[[212,12]]},"1358":{"position":[[216,12]]},"1359":{"position":[[212,12]]},"1360":{"position":[[207,12],[2267,12]]},"1361":{"position":[[215,12]]},"1362":{"position":[[208,12],[5990,12]]},"1363":{"position":[[208,12],[3736,12]]},"1364":{"position":[[209,12],[6019,12]]},"1365":{"position":[[209,12]]},"1366":{"position":[[210,12],[1766,12]]},"1367":{"position":[[206,12],[7417,12]]},"1368":{"position":[[211,12]]},"1369":{"position":[[215,12]]},"1370":{"position":[[222,12],[1415,12]]},"1371":{"position":[[213,12]]},"1372":{"position":[[210,12]]},"1373":{"position":[[207,12]]},"1374":{"position":[[209,12],[1450,12]]},"1375":{"position":[[210,12]]},"1376":{"position":[[215,12]]},"1377":{"position":[[212,12]]},"1378":{"position":[[214,12]]},"1379":{"position":[[212,12]]},"1380":{"position":[[211,12]]},"1381":{"position":[[210,12]]},"1382":{"position":[[206,12],[3902,12]]},"1383":{"position":[[207,12],[2140,12]]},"1384":{"position":[[207,12],[5064,12]]},"1385":{"position":[[213,12]]},"1386":{"position":[[218,12]]},"1387":{"position":[[216,12]]},"1388":{"position":[[204,12],[4202,12]]},"1389":{"position":[[209,12]]},"1390":{"position":[[204,12]]},"1391":{"position":[[205,12]]},"1392":{"position":[[202,12]]},"1393":{"position":[[206,12],[1990,12]]},"1394":{"position":[[215,12]]},"1395":{"position":[[210,12],[1447,12]]},"1396":{"position":[[215,12]]},"1397":{"position":[[210,12]]},"1398":{"position":[[207,12],[2097,12]]},"1399":{"position":[[207,12]]},"1400":{"position":[[216,12]]},"1401":{"position":[[205,12]]},"1402":{"position":[[204,12]]},"1403":{"position":[[203,12],[1970,12]]},"1404":{"position":[[205,12]]},"1405":{"position":[[205,12]]},"1406":{"position":[[215,12]]},"1407":{"position":[[215,12]]},"1408":{"position":[[206,12]]},"1409":{"position":[[205,12]]},"1410":{"position":[[203,12],[2337,12]]},"1411":{"position":[[210,12]]},"1412":{"position":[[210,12],[2358,12]]},"1413":{"position":[[207,12]]},"1414":{"position":[[206,12]]},"1415":{"position":[[210,12]]},"1416":{"position":[[210,12]]},"1417":{"position":[[208,12]]},"1418":{"position":[[211,12]]},"1419":{"position":[[207,12]]},"1420":{"position":[[211,12]]},"1421":{"position":[[220,12]]},"1422":{"position":[[208,12],[1603,12]]},"1423":{"position":[[205,12]]},"1424":{"position":[[207,12]]},"1425":{"position":[[221,12]]},"1426":{"position":[[207,12],[1676,12]]},"1427":{"position":[[208,12],[2573,12]]},"1428":{"position":[[207,12]]},"1429":{"position":[[205,12],[3237,12]]},"1430":{"position":[[212,12]]},"1431":{"position":[[205,12]]},"1432":{"position":[[213,12]]},"1433":{"position":[[206,12]]},"1434":{"position":[[208,12]]},"1435":{"position":[[213,12]]},"1436":{"position":[[209,12]]},"1437":{"position":[[206,12]]},"1438":{"position":[[204,12],[1335,12]]},"1439":{"position":[[210,12],[2859,12]]},"1440":{"position":[[207,12],[3425,12]]},"1441":{"position":[[212,12]]},"1442":{"position":[[213,12],[1230,12]]},"1443":{"position":[[206,12]]},"1444":{"position":[[207,12]]},"1445":{"position":[[210,12]]},"1446":{"position":[[207,12]]},"1447":{"position":[[209,12]]},"1448":{"position":[[208,12]]},"1449":{"position":[[209,12]]},"1450":{"position":[[208,12]]},"1451":{"position":[[208,12]]},"1452":{"position":[[204,12]]},"1453":{"position":[[220,12]]},"1454":{"position":[[216,12]]},"1455":{"position":[[222,12]]},"1456":{"position":[[219,12]]},"1457":{"position":[[215,12]]},"1458":{"position":[[208,12]]},"1459":{"position":[[219,12]]},"1460":{"position":[[218,12]]},"1461":{"position":[[219,12],[1651,12]]},"1462":{"position":[[209,12]]},"1463":{"position":[[219,12]]},"1464":{"position":[[220,12]]},"1465":{"position":[[210,12]]},"1466":{"position":[[223,12]]},"1467":{"position":[[207,12],[5721,12]]},"1468":{"position":[[214,12]]},"1469":{"position":[[207,12],[1539,12]]},"1470":{"position":[[212,12]]},"1471":{"position":[[207,12],[2402,12]]},"1472":{"position":[[208,12],[2361,12]]},"1473":{"position":[[205,12],[2676,12]]},"1474":{"position":[[209,12]]},"1475":{"position":[[206,12]]},"1476":{"position":[[212,12]]},"1477":{"position":[[205,12],[1295,12]]},"1478":{"position":[[203,12],[1786,12]]},"1479":{"position":[[220,12]]},"1480":{"position":[[209,12]]},"1481":{"position":[[211,12]]},"1482":{"position":[[206,12]]},"1483":{"position":[[211,12]]},"1484":{"position":[[211,12]]},"1485":{"position":[[212,12]]},"1486":{"position":[[207,12]]},"1487":{"position":[[204,12],[1360,12]]}},"keywords":{}}],["withmutable/mut",{"_index":4356,"title":{},"content":{"898":{"position":[[2739,19]]}},"keywords":{}}],["withmyenum.valu",{"_index":4395,"title":{},"content":{"902":{"position":[[802,19]]}},"keywords":{}}],["without",{"_index":208,"title":{"855":{"position":[[28,7]]}},"content":{"9":{"position":[[840,7],[2041,7]]},"13":{"position":[[133,7]]},"24":{"position":[[488,7]]},"84":{"position":[[400,7]]},"216":{"position":[[400,7]]},"233":{"position":[[146,7]]},"297":{"position":[[665,7]]},"406":{"position":[[119,7]]},"416":{"position":[[285,7],[600,7]]},"417":{"position":[[514,7],[830,7]]},"668":{"position":[[152,8]]},"687":{"position":[[220,7]]},"688":{"position":[[1382,7]]},"705":{"position":[[225,7]]},"706":{"position":[[608,7]]},"785":{"position":[[119,7]]},"795":{"position":[[285,7],[600,7]]},"796":{"position":[[514,7],[830,7]]},"834":{"position":[[568,7]]},"855":{"position":[[139,7]]},"877":{"position":[[484,7]]},"879":{"position":[[271,7]]},"889":{"position":[[1176,7]]},"898":{"position":[[632,7]]},"937":{"position":[[3670,7],[4698,7]]},"945":{"position":[[435,7]]},"955":{"position":[[382,7]]},"1014":{"position":[[616,7]]},"1108":{"position":[[200,7]]},"1142":{"position":[[309,7],[604,7]]},"1240":{"position":[[212,8]]},"1355":{"position":[[6989,7]]},"1362":{"position":[[13485,7]]},"1364":{"position":[[14185,7]]},"1367":{"position":[[13393,7]]},"1382":{"position":[[11935,7]]},"1383":{"position":[[5688,7]]},"1388":{"position":[[4966,7],[6376,7]]},"1393":{"position":[[4558,7]]},"1397":{"position":[[1790,7],[2942,8]]},"1403":{"position":[[4366,7]]},"1427":{"position":[[6188,7]]},"1467":{"position":[[6729,7]]},"1486":{"position":[[2778,7]]}},"keywords":{}}],["withperf",{"_index":5444,"title":{},"content":{"1060":{"position":[[31,8]]}},"keywords":{}}],["withpython",{"_index":7689,"title":{},"content":{"1403":{"position":[[7526,11]]}},"keywords":{}}],["withtarget",{"_index":5637,"title":{},"content":{"1102":{"position":[[641,11]]}},"keywords":{}}],["withwatchman",{"_index":683,"title":{},"content":{"22":{"position":[[1847,12]]}},"keywords":{}}],["wl",{"_index":8212,"title":{},"content":{"1455":{"position":[[4613,3],[4658,3],[4747,3],[4792,3]]}},"keywords":{}}],["won't",{"_index":1196,"title":{},"content":{"94":{"position":[[1712,5]]},"226":{"position":[[1712,5]]},"569":{"position":[[394,5]]},"692":{"position":[[96,5]]},"898":{"position":[[1426,5]]},"920":{"position":[[521,5]]},"973":{"position":[[256,5]]},"1042":{"position":[[358,5]]},"1050":{"position":[[883,5],[3445,5]]},"1093":{"position":[[202,5]]},"1107":{"position":[[318,5]]},"1259":{"position":[[1204,5]]},"1272":{"position":[[38,5]]},"1290":{"position":[[1204,5]]},"1303":{"position":[[38,5]]},"1318":{"position":[[1204,5]]},"1331":{"position":[[38,5]]},"1355":{"position":[[3575,5]]},"1362":{"position":[[7996,5]]},"1364":{"position":[[8845,5]]},"1367":{"position":[[8084,5]]},"1384":{"position":[[10224,5]]},"1386":{"position":[[6174,5]]},"1410":{"position":[[5670,5]]},"1429":{"position":[[3606,5]]},"1439":{"position":[[3396,5]]},"1467":{"position":[[10803,5]]},"1471":{"position":[[5466,5]]},"1472":{"position":[[6352,5]]}},"keywords":{}}],["won’t",{"_index":3824,"title":{},"content":{"833":{"position":[[323,5]]}},"keywords":{}}],["word",{"_index":2409,"title":{},"content":{"450":{"position":[[131,4]]},"602":{"position":[[203,4]]},"620":{"position":[[205,6]]},"829":{"position":[[131,4]]},"915":{"position":[[81,4],[90,4]]},"917":{"position":[[102,4],[111,4]]},"947":{"position":[[267,6]]},"988":{"position":[[686,6]]},"990":{"position":[[419,6]]},"1019":{"position":[[389,6]]},"1024":{"position":[[350,6]]},"1386":{"position":[[6414,7]]}},"keywords":{}}],["work",{"_index":85,"title":{"892":{"position":[[2,6]]},"1073":{"position":[[0,7]]}},"content":{"5":{"position":[[170,7]]},"9":{"position":[[858,4],[931,4]]},"10":{"position":[[457,4],[928,4]]},"23":{"position":[[1303,4],[2858,4]]},"24":{"position":[[867,4]]},"81":{"position":[[377,4]]},"88":{"position":[[256,5]]},"92":{"position":[[2259,4]]},"93":{"position":[[117,4]]},"94":{"position":[[4260,7]]},"95":{"position":[[276,5]]},"213":{"position":[[377,4]]},"220":{"position":[[256,5]]},"224":{"position":[[2259,4]]},"225":{"position":[[117,4]]},"226":{"position":[[4260,7]]},"227":{"position":[[276,5]]},"314":{"position":[[174,7]]},"680":{"position":[[1300,5]]},"706":{"position":[[105,5],[133,4]]},"710":{"position":[[116,4]]},"835":{"position":[[186,4]]},"861":{"position":[[369,7]]},"867":{"position":[[129,7]]},"889":{"position":[[1063,4]]},"906":{"position":[[648,4]]},"937":{"position":[[1348,4],[3649,4],[3827,4],[4392,7],[4455,4],[4620,5]]},"944":{"position":[[815,4]]},"951":{"position":[[1488,4]]},"977":{"position":[[510,7]]},"990":{"position":[[749,5]]},"1014":{"position":[[301,5]]},"1026":{"position":[[285,5]]},"1035":{"position":[[15,4]]},"1071":{"position":[[1381,5]]},"1072":{"position":[[259,5]]},"1075":{"position":[[758,4]]},"1088":{"position":[[1100,5]]},"1098":{"position":[[700,7],[804,4]]},"1104":{"position":[[746,7],[994,4],[1054,5]]},"1120":{"position":[[139,4]]},"1124":{"position":[[266,7]]},"1126":{"position":[[753,4],[956,4]]},"1138":{"position":[[4115,4],[4277,4],[5012,4]]},"1140":{"position":[[3604,4],[3766,4],[4501,4]]},"1167":{"position":[[4608,4],[4770,4],[5505,4]]},"1172":{"position":[[674,7]]},"1186":{"position":[[633,4]]},"1187":{"position":[[646,4]]},"1188":{"position":[[3657,4],[3819,4],[4554,4],[5372,4]]},"1191":{"position":[[207,7],[415,7]]},"1195":{"position":[[213,7]]},"1217":{"position":[[502,7],[3349,4],[3511,4],[4246,4]]},"1228":{"position":[[5430,4],[5592,4],[6327,4]]},"1231":{"position":[[56,4]]},"1237":{"position":[[160,4]]},"1258":{"position":[[483,7]]},"1289":{"position":[[483,7]]},"1317":{"position":[[483,7]]},"1355":{"position":[[3527,5]]},"1360":{"position":[[1536,5]]},"1386":{"position":[[3110,5],[5441,5]]},"1399":{"position":[[1731,4],[2076,5]]},"1403":{"position":[[5160,4]]},"1407":{"position":[[4071,7]]},"1439":{"position":[[3348,5]]},"1486":{"position":[[4512,4]]}},"keywords":{}}],["work_around_dsymutil_lto_stack_overflow_bug",{"_index":7007,"title":{},"content":{"1368":{"position":[[1314,44]]}},"keywords":{}}],["workaround",{"_index":6212,"title":{},"content":{"1252":{"position":[[290,11]]},"1351":{"position":[[4868,10]]}},"keywords":{}}],["worked)use_windows_path_separ",{"_index":1911,"title":{},"content":{"362":{"position":[[2260,35]]},"741":{"position":[[2260,35]]}},"keywords":{}}],["worker",{"_index":1913,"title":{},"content":{"362":{"position":[[2375,8],[2410,7]]},"374":{"position":[[235,6],[1963,7],[2020,7],[2033,6]]},"398":{"position":[[117,6]]},"399":{"position":[[21,7],[122,6],[240,7]]},"693":{"position":[[6824,8]]},"741":{"position":[[2375,8],[2410,7]]},"753":{"position":[[235,6],[1963,7],[2020,7],[2033,6]]},"777":{"position":[[117,6]]},"778":{"position":[[21,7],[122,6],[240,7]]},"1138":{"position":[[3157,6]]},"1140":{"position":[[2646,6]]},"1167":{"position":[[3650,6]]},"1188":{"position":[[2699,6]]},"1217":{"position":[[2391,6]]},"1228":{"position":[[4472,6]]},"1431":{"position":[[763,7]]},"1433":{"position":[[805,7]]},"1486":{"position":[[2231,7],[2310,7],[2384,7],[3680,6],[5280,6]]}},"keywords":{}}],["worker_tool",{"_index":8552,"title":{"1486":{"position":[[0,12]]}},"content":{"1486":{"position":[[4,12],[838,13],[2988,11],[3161,12]]}},"keywords":{}}],["workerinfo",{"_index":2021,"title":{"398":{"position":[[0,11]]},"777":{"position":[[0,11]]}},"content":{"374":{"position":[[1971,10]]},"398":{"position":[[66,10]]},"399":{"position":[[29,11],[248,10]]},"753":{"position":[[1971,10]]},"777":{"position":[[66,10]]},"778":{"position":[[29,11],[248,10]]}},"keywords":{}}],["workerinfo(ex",{"_index":2096,"title":{},"content":{"398":{"position":[[4,14]]},"777":{"position":[[4,14]]}},"keywords":{}}],["workernotset",{"_index":4046,"title":{},"content":{"867":{"position":[[2129,13]]}},"keywords":{}}],["workerruninfo",{"_index":1184,"title":{"399":{"position":[[0,14]]},"778":{"position":[[0,14]]}},"content":{"94":{"position":[[1015,13]]},"226":{"position":[[1015,13]]},"399":{"position":[[4,16],[57,13]]},"778":{"position":[[4,16],[57,13]]}},"keywords":{}}],["workflow",{"_index":3879,"title":{"1102":{"position":[[0,8]]}},"content":{"845":{"position":[[223,8]]},"846":{"position":[[1070,8]]},"847":{"position":[[254,8]]},"848":{"position":[[616,8]]}},"keywords":{}}],["working_dir",{"_index":5783,"title":{},"content":{"1124":{"position":[[305,12]]}},"keywords":{}}],["worklocaldepfil",{"_index":4044,"title":{},"content":{"867":{"position":[[2003,17]]}},"keywords":{}}],["workspac",{"_index":8423,"title":{},"content":{"1471":{"position":[[2663,11]]},"1472":{"position":[[2622,11]]},"1473":{"position":[[2937,11]]}},"keywords":{}}],["world",{"_index":1300,"title":{},"content":{"109":{"position":[[133,5]]},"521":{"position":[[133,5]]},"910":{"position":[[380,5]]},"920":{"position":[[183,7]]},"1049":{"position":[[872,5],[988,5],[996,7]]},"1086":{"position":[[159,5]]}},"keywords":{}}],["world!"",{"_index":2743,"title":{},"content":{"589":{"position":[[248,12],[316,12]]},"605":{"position":[[207,12]]},"608":{"position":[[326,12],[415,12]]},"609":{"position":[[413,12]]},"620":{"position":[[283,12]]},"621":{"position":[[207,12]]}},"keywords":{}}],["world!".capit",{"_index":2742,"title":{},"content":{"589":{"position":[[206,25],[274,25]]}},"keywords":{}}],["world!".count("o"",{"_index":2778,"title":{},"content":{"591":{"position":[[771,33],[871,33]]}},"keywords":{}}],["world!".istitl",{"_index":2876,"title":{},"content":{"602":{"position":[[240,22]]}},"keywords":{}}],["world!".low",{"_index":2901,"title":{},"content":{"605":{"position":[[170,20]]}},"keywords":{}}],["world!".removeprefix("goodbye"",{"_index":2924,"title":{},"content":{"608":{"position":[[352,46]]}},"keywords":{}}],["world!".removeprefix("hello"",{"_index":2923,"title":{},"content":{"608":{"position":[[270,44]]}},"keywords":{}}],["world!".removesuffix("world!"",{"_index":2928,"title":{},"content":{"609":{"position":[[270,45]]}},"keywords":{}}],["world!".removesuffix("world"",{"_index":2929,"title":{},"content":{"609":{"position":[[352,44]]}},"keywords":{}}],["world!".titl",{"_index":3021,"title":{},"content":{"620":{"position":[[246,20]]}},"keywords":{}}],["world!".upp",{"_index":3024,"title":{},"content":{"621":{"position":[[170,20]]}},"keywords":{}}],["world"",{"_index":4455,"title":{},"content":{"910":{"position":[[328,11],[357,11]]},"1047":{"position":[[497,12]]}},"keywords":{}}],["world".islow",{"_index":2863,"title":{},"content":{"600":{"position":[[230,21]]}},"keywords":{}}],["world_artifact",{"_index":5276,"title":{},"content":{"1049":{"position":[[1344,14],[1502,15]]}},"keywords":{}}],["wors",{"_index":3673,"title":{},"content":{"706":{"position":[[1020,6]]}},"keywords":{}}],["worth",{"_index":5756,"title":{},"content":{"1114":{"position":[[674,5]]}},"keywords":{}}],["wouldn't",{"_index":5122,"title":{},"content":{"1035":{"position":[[563,8]]}},"keywords":{}}],["wrap",{"_index":2179,"title":{},"content":{"408":{"position":[[223,4]]},"787":{"position":[[223,4]]},"937":{"position":[[1389,5]]},"1031":{"position":[[431,5]]},"1104":{"position":[[1087,5],[1163,5]]},"1374":{"position":[[698,4],[2738,8]]},"1385":{"position":[[7581,7]]},"1387":{"position":[[10912,7]]},"1455":{"position":[[4498,8]]},"1461":{"position":[[2403,5]]},"1465":{"position":[[2863,5]]},"1467":{"position":[[7002,5]]}},"keywords":{}}],["wrap.sh",{"_index":7211,"title":{},"content":{"1384":{"position":[[19698,7]]},"1459":{"position":[[1793,7]]}},"keywords":{}}],["wrapper",{"_index":3781,"title":{},"content":{"715":{"position":[[477,7]]},"1032":{"position":[[297,7]]}},"keywords":{}}],["writabl",{"_index":6657,"title":{},"content":{"1360":{"position":[[4190,9]]},"1403":{"position":[[3605,9]]}},"keywords":{}}],["write",{"_index":13,"title":{"3":{"position":[[11,7]]},"840":{"position":[[0,7]]},"1078":{"position":[[10,5]]},"1101":{"position":[[0,7]]}},"content":{"3":{"position":[[0,7],[23,5],[115,7]]},"9":{"position":[[1274,5],[1328,6]]},"10":{"position":[[7,5],[1063,7],[1176,7]]},"20":{"position":[[183,5]]},"98":{"position":[[680,5],[746,5]]},"99":{"position":[[1313,5]]},"230":{"position":[[680,5],[746,5]]},"231":{"position":[[1313,5]]},"346":{"position":[[533,5]]},"377":{"position":[[669,6]]},"418":{"position":[[937,5]]},"450":{"position":[[195,7]]},"686":{"position":[[126,5]]},"712":{"position":[[147,6]]},"756":{"position":[[669,6]]},"797":{"position":[[937,5]]},"829":{"position":[[195,7]]},"833":{"position":[[19,6]]},"865":{"position":[[3,5],[132,5],[548,5],[858,5]]},"867":{"position":[[797,5],[1886,6]]},"869":{"position":[[127,5]]},"870":{"position":[[834,5]]},"872":{"position":[[371,5]]},"873":{"position":[[552,5]]},"878":{"position":[[203,6]]},"892":{"position":[[1619,5]]},"898":{"position":[[1181,6]]},"937":{"position":[[1368,7]]},"954":{"position":[[289,6],[343,5],[696,7],[919,7]]},"955":{"position":[[1045,5],[1218,5],[1443,7]]},"964":{"position":[[72,7]]},"980":{"position":[[179,8]]},"983":{"position":[[63,8]]},"1033":{"position":[[5,7]]},"1050":{"position":[[4723,5]]},"1052":{"position":[[336,5]]},"1056":{"position":[[937,6]]},"1078":{"position":[[75,6],[286,6]]},"1079":{"position":[[411,5]]},"1082":{"position":[[245,5]]},"1105":{"position":[[1427,5],[1640,5],[2283,5]]},"1108":{"position":[[412,6]]},"1136":{"position":[[5745,5],[5777,5],[5805,5],[5859,5],[5896,5]]},"1138":{"position":[[1404,5],[1599,5],[2892,7],[3077,5],[3140,6],[9407,5],[9439,5],[9467,5],[9521,5],[9558,5]]},"1140":{"position":[[472,5],[1088,5],[2381,7],[2566,5],[2629,6],[8333,5],[8365,5],[8393,5],[8447,5],[8484,5]]},"1142":{"position":[[582,7],[3777,5],[3809,5],[3837,5],[3891,5],[3928,5]]},"1146":{"position":[[3717,5],[3749,5],[3777,5],[3831,5],[3868,5]]},"1148":{"position":[[6757,5],[6789,5],[6817,5],[6871,5],[6908,5],[7562,5]]},"1155":{"position":[[3813,5],[3845,5],[3873,5],[3927,5],[3964,5]]},"1156":{"position":[[3391,5],[3423,5],[3451,5],[3505,5],[3542,5]]},"1163":{"position":[[351,5],[383,5],[411,5],[465,5],[502,5]]},"1165":{"position":[[180,5],[212,5],[240,5],[294,5],[331,5]]},"1167":{"position":[[2092,5],[3385,7],[3570,5],[3633,6],[9337,5],[9369,5],[9397,5],[9451,5],[9488,5]]},"1169":{"position":[[2445,5],[2477,5],[2505,5],[2559,5],[2596,5]]},"1186":{"position":[[4981,5],[5013,5],[5041,5],[5095,5],[5132,5]]},"1187":{"position":[[4994,5],[5026,5],[5054,5],[5108,5],[5145,5]]},"1188":{"position":[[525,5],[1141,5],[2434,7],[2619,5],[2682,6],[9720,5],[9752,5],[9780,5],[9834,5],[9871,5]]},"1191":{"position":[[3581,5],[3613,5],[3641,5],[3695,5],[3732,5]]},"1192":{"position":[[3756,5],[3788,5],[3816,5],[3870,5],[3907,5]]},"1193":{"position":[[3808,5],[3840,5],[3868,5],[3922,5],[3959,5]]},"1194":{"position":[[3448,5],[3480,5],[3508,5],[3562,5],[3599,5]]},"1195":{"position":[[3426,5],[3458,5],[3486,5],[3540,5],[3577,5]]},"1196":{"position":[[3236,5],[3268,5],[3296,5],[3350,5],[3387,5]]},"1197":{"position":[[4219,5],[4251,5],[4279,5],[4333,5],[4370,5]]},"1198":{"position":[[4229,5],[4261,5],[4289,5],[4343,5],[4380,5]]},"1199":{"position":[[4257,5],[4289,5],[4317,5],[4371,5],[4408,5]]},"1200":{"position":[[4124,5],[4156,5],[4184,5],[4238,5],[4275,5]]},"1201":{"position":[[3384,5],[3416,5],[3444,5],[3498,5],[3535,5]]},"1202":{"position":[[4526,5],[4558,5],[4586,5],[4640,5],[4677,5],[8923,5],[8955,5],[8983,5],[9037,5],[9074,5]]},"1203":{"position":[[3618,5],[3650,5],[3678,5],[3732,5],[3769,5]]},"1204":{"position":[[3462,5],[3494,5],[3522,5],[3576,5],[3613,5]]},"1205":{"position":[[4791,5],[4823,5],[4851,5],[4905,5],[4942,5]]},"1206":{"position":[[3262,5],[3294,5],[3322,5],[3376,5],[3413,5]]},"1207":{"position":[[3419,5],[3451,5],[3479,5],[3533,5],[3570,5]]},"1209":{"position":[[4767,5],[4799,5],[4827,5],[4881,5],[4918,5]]},"1217":{"position":[[411,5],[833,5],[2126,7],[2311,5],[2374,6],[8078,5],[8110,5],[8138,5],[8192,5],[8229,5]]},"1219":{"position":[[180,7],[515,6],[3333,5],[3365,5],[3393,5],[3447,5],[3484,5]]},"1222":{"position":[[3188,5],[3220,5],[3248,5],[3302,5],[3339,5]]},"1223":{"position":[[3198,5],[3230,5],[3258,5],[3312,5],[3349,5]]},"1224":{"position":[[2647,5],[2679,5],[2707,5],[2761,5],[2798,5]]},"1226":{"position":[[3946,5],[8546,5],[8578,5],[8606,5],[8660,5],[8697,5]]},"1228":{"position":[[1978,6],[2061,5],[2114,5],[2506,6],[2589,5],[2642,5],[2914,5],[4207,7],[4392,5],[4455,6],[10159,5],[10191,5],[10219,5],[10273,5],[10310,5]]},"1235":{"position":[[6027,5],[6059,5],[6087,5],[6141,5],[6178,5]]},"1237":{"position":[[4116,5],[8716,5],[8748,5],[8776,5],[8830,5],[8867,5]]},"1362":{"position":[[6425,5]]},"1364":{"position":[[6454,5]]},"1367":{"position":[[7852,5]]},"1373":{"position":[[3981,5]]},"1382":{"position":[[4337,5]]},"1384":{"position":[[5499,5]]},"1388":{"position":[[4637,5]]},"1389":{"position":[[5496,5],[5743,5]]},"1454":{"position":[[4446,5]]},"1462":{"position":[[5459,5]]},"1471":{"position":[[3005,5]]},"1486":{"position":[[4211,6],[4539,5],[4978,7]]}},"keywords":{}}],["write_json",{"_index":5566,"title":{"1083":{"position":[[38,13]]}},"content":{"1083":{"position":[[68,11],[187,10]]}},"keywords":{}}],["write_json(or",{"_index":5568,"title":{},"content":{"1083":{"position":[[297,13]]}},"keywords":{}}],["write_json(with_inputs=tru",{"_index":5574,"title":{},"content":{"1083":{"position":[[1138,28]]}},"keywords":{}}],["write_json_cli_arg",{"_index":1169,"title":{},"content":{"94":{"position":[[218,19],[525,19]]},"98":{"position":[[260,19]]},"99":{"position":[[349,19],[559,19]]},"226":{"position":[[218,19],[525,19]]},"230":{"position":[[260,19]]},"231":{"position":[[349,19],[559,19]]},"345":{"position":[[295,19]]},"368":{"position":[[314,19],[3278,19]]},"377":{"position":[[223,19]]},"386":{"position":[[209,19]]},"405":{"position":[[211,19],[459,19]]},"417":{"position":[[239,19]]},"747":{"position":[[314,19],[3278,19]]},"756":{"position":[[223,19]]},"765":{"position":[[209,19]]},"784":{"position":[[211,19],[459,19]]},"796":{"position":[[239,19]]}},"keywords":{}}],["write_package_valu",{"_index":2413,"title":{"451":{"position":[[0,20]]},"830":{"position":[[0,20]]}},"content":{"451":{"position":[[4,20]]},"830":{"position":[[4,20]]},"1001":{"position":[[60,20],[530,19]]},"1064":{"position":[[0,20],[25,20],[628,19]]},"1207":{"position":[[61,21]]}},"keywords":{}}],["write_package_value(key",{"_index":4470,"title":{},"content":{"915":{"position":[[31,24]]}},"keywords":{}}],["writer",{"_index":7626,"title":{},"content":{"1398":{"position":[[5592,6]]}},"keywords":{}}],["written",{"_index":22,"title":{},"content":{"3":{"position":[[156,7]]},"23":{"position":[[184,7],[212,7],[664,7],[715,7]]},"98":{"position":[[877,7]]},"99":{"position":[[627,7],[881,7],[943,7]]},"230":{"position":[[877,7]]},"231":{"position":[[627,7],[881,7],[943,7]]},"305":{"position":[[94,7]]},"675":{"position":[[652,7]]},"693":{"position":[[1875,7]]},"715":{"position":[[38,7],[824,7],[1531,7]]},"833":{"position":[[89,7]]},"865":{"position":[[386,7]]},"870":{"position":[[1282,7]]},"955":{"position":[[472,7]]},"1001":{"position":[[457,7]]},"1064":{"position":[[555,7]]},"1105":{"position":[[1874,7]]},"1140":{"position":[[542,7],[625,7]]},"1188":{"position":[[595,7],[678,7]]},"1360":{"position":[[4329,7]]},"1374":{"position":[[2659,7]]},"1383":{"position":[[6362,7]]},"1403":{"position":[[3744,7]]},"1427":{"position":[[6884,7]]}},"keywords":{}}],["writtenbuck",{"_index":261,"title":{},"content":{"9":{"position":[[1756,11]]}},"keywords":{}}],["wrong",{"_index":3305,"title":{},"content":{"663":{"position":[[521,5]]},"901":{"position":[[483,5]]},"904":{"position":[[1270,5]]},"937":{"position":[[2531,5]]},"987":{"position":[[912,5]]}},"keywords":{}}],["wut",{"_index":6187,"title":{"1247":{"position":[[0,3]]}},"content":{},"keywords":{}}],["x",{"_index":2145,"title":{},"content":{"405":{"position":[[1522,2],[1531,1]]},"553":{"position":[[199,1],[254,1]]},"554":{"position":[[317,1]]},"555":{"position":[[239,1]]},"556":{"position":[[215,1]]},"557":{"position":[[426,1],[499,1]]},"558":{"position":[[281,1],[398,1]]},"559":{"position":[[509,1],[629,1],[736,1]]},"560":{"position":[[745,1],[851,1]]},"561":{"position":[[242,1]]},"563":{"position":[[97,1],[192,1],[235,1]]},"564":{"position":[[186,1],[210,1]]},"565":{"position":[[151,2],[227,1],[298,1],[353,1]]},"566":{"position":[[175,1],[556,1],[631,1]]},"567":{"position":[[101,2],[122,1],[471,1],[576,1]]},"568":{"position":[[338,1],[378,1]]},"569":{"position":[[133,1],[212,2],[251,1],[280,1],[307,1],[410,1]]},"576":{"position":[[275,4]]},"595":{"position":[[1102,1]]},"607":{"position":[[320,2],[393,1]]},"613":{"position":[[196,2]]},"636":{"position":[[729,4],[762,5],[771,1],[805,4],[810,1],[833,5]]},"637":{"position":[[180,1]]},"638":{"position":[[1038,1]]},"643":{"position":[[308,2],[311,1]]},"644":{"position":[[174,1],[202,2],[208,1],[271,2],[277,1]]},"645":{"position":[[161,1],[200,1]]},"646":{"position":[[118,1]]},"647":{"position":[[115,1],[127,1],[175,2]]},"648":{"position":[[211,1],[238,2],[244,1],[301,2],[347,1],[384,1],[441,1]]},"652":{"position":[[212,2]]},"653":{"position":[[199,2],[202,1]]},"654":{"position":[[126,2]]},"655":{"position":[[123,2]]},"665":{"position":[[169,1]]},"666":{"position":[[12,2],[180,2]]},"668":{"position":[[121,1],[150,1],[286,3]]},"670":{"position":[[113,2]]},"693":{"position":[[10024,2],[10054,1],[10100,1]]},"784":{"position":[[1522,2],[1531,1]]},"888":{"position":[[40,1],[131,1]]},"889":{"position":[[323,1]]},"890":{"position":[[371,1],[802,2],[1152,1],[1185,1],[1221,1],[1265,2],[1460,1],[1494,1],[1560,1],[1613,1],[1625,1],[3103,1],[3243,1],[3252,1],[3283,1],[3292,1],[5633,2],[5640,1],[5706,1],[5772,1],[5796,1]]},"892":{"position":[[40,1],[98,2],[144,2],[266,2],[510,1],[980,1],[1101,2],[1337,2],[1387,1],[1456,1],[1683,1]]},"898":{"position":[[1292,2]]},"902":{"position":[[1023,1]]},"919":{"position":[[2760,1]]},"934":{"position":[[53,1]]},"1040":{"position":[[2139,1],[2278,2],[2535,2],[2635,3]]},"1044":{"position":[[1124,2],[1662,2],[1806,2]]},"1049":{"position":[[1110,2],[1159,2]]},"1104":{"position":[[1971,1],[2527,1]]},"1167":{"position":[[926,2]]},"1251":{"position":[[272,1]]}},"keywords":{}}],["x!"",{"_index":2980,"title":{},"content":{"615":{"position":[[325,9]]}},"keywords":{}}],["x,x",{"_index":2915,"title":{},"content":{"607":{"position":[[256,3]]}},"keywords":{}}],["x.append(1",{"_index":2564,"title":{},"content":{"563":{"position":[[199,11]]},"890":{"position":[[939,13]]}},"keywords":{}}],["x.append(2",{"_index":2565,"title":{},"content":{"563":{"position":[[211,11]]}},"keywords":{}}],["x.append(3",{"_index":2566,"title":{},"content":{"563":{"position":[[223,11]]}},"keywords":{}}],["x.clear",{"_index":2501,"title":{},"content":{"553":{"position":[[244,9]]},"564":{"position":[[200,9]]}},"keywords":{}}],["x.delimit",{"_index":2147,"title":{},"content":{"405":{"position":[[1568,11]]},"784":{"position":[[1568,11]]}},"keywords":{}}],["x.extend(["foo"",{"_index":2574,"title":{},"content":{"565":{"position":[[325,27]]}},"keywords":{}}],["x.extend([1",{"_index":2573,"title":{},"content":{"565":{"position":[[305,12]]}},"keywords":{}}],["x.f",{"_index":3112,"title":{},"content":{"637":{"position":[[207,3]]},"645":{"position":[[268,4],[319,3]]}},"keywords":{}}],["x.get("one"",{"_index":2507,"title":{},"content":{"554":{"position":[[362,22]]}},"keywords":{}}],["x.get("three"",{"_index":2508,"title":{},"content":{"554":{"position":[[390,24],[423,24]]}},"keywords":{}}],["x.index("a"",{"_index":2585,"title":{},"content":{"566":{"position":[[726,22],[763,22],[803,22]]}},"keywords":{}}],["x.insert",{"_index":2594,"title":{},"content":{"567":{"position":[[548,9]]}},"keywords":{}}],["x.insert(0",{"_index":2593,"title":{},"content":{"567":{"position":[[521,11]]}},"keywords":{}}],["x.item",{"_index":2514,"title":{},"content":{"555":{"position":[[284,9]]}},"keywords":{}}],["x.key",{"_index":2517,"title":{},"content":{"556":{"position":[[260,8]]}},"keywords":{}}],["x.owned_value(&to",{"_index":4184,"title":{},"content":{"889":{"position":[[410,23]]}},"keywords":{}}],["x.pop",{"_index":2599,"title":{},"content":{"568":{"position":[[352,7],[365,7]]}},"keywords":{}}],["x.pop("one"",{"_index":2523,"title":{},"content":{"557":{"position":[[471,22]]}},"keywords":{}}],["x.pop("three"",{"_index":2524,"title":{},"content":{"557":{"position":[[525,24],[558,24]]}},"keywords":{}}],["x.popitem",{"_index":2529,"title":{},"content":{"558":{"position":[[326,11],[362,11]]}},"keywords":{}}],["x.remove(2",{"_index":2604,"title":{},"content":{"569":{"position":[[268,11],[295,11],[341,11],[427,11],[439,11],[451,11]]}},"keywords":{}}],["x.setdefault("four"",{"_index":2538,"title":{},"content":{"559":{"position":[[697,30]]}},"keywords":{}}],["x.setdefault("one"",{"_index":2535,"title":{},"content":{"559":{"position":[[554,29]]}},"keywords":{}}],["x.setdefault("three"",{"_index":2536,"title":{},"content":{"559":{"position":[[589,31]]}},"keywords":{}}],["x.update([("a"",{"_index":2548,"title":{},"content":{"560":{"position":[[752,25]]}},"keywords":{}}],["x.update(e=5",{"_index":2552,"title":{},"content":{"560":{"position":[[837,13]]}},"keywords":{}}],["x.update({"d"",{"_index":2550,"title":{},"content":{"560":{"position":[[808,24]]}},"keywords":{}}],["x.valu",{"_index":2559,"title":{},"content":{"561":{"position":[[287,10]]},"638":{"position":[[1025,8]]}},"keywords":{}}],["x86",{"_index":4580,"title":{},"content":{"937":{"position":[[148,4],[4164,4]]},"1454":{"position":[[10265,5],[10445,5]]}},"keywords":{}}],["x86/libmylib.a",{"_index":8193,"title":{},"content":{"1454":{"position":[[10460,17]]}},"keywords":{}}],["x86/libmylib.so",{"_index":8190,"title":{},"content":{"1454":{"position":[[10280,18]]}},"keywords":{}}],["x8664",{"_index":5884,"title":{},"content":{"1136":{"position":[[2974,6]]},"1138":{"position":[[6636,6]]},"1140":{"position":[[5562,6]]},"1142":{"position":[[1006,6]]},"1146":{"position":[[946,6]]},"1148":{"position":[[3986,6]]},"1155":{"position":[[1042,6]]},"1156":{"position":[[620,6]]},"1167":{"position":[[6566,6]]},"1169":{"position":[[405,6]]},"1186":{"position":[[2210,6]]},"1187":{"position":[[2223,6]]},"1188":{"position":[[6949,6]]},"1191":{"position":[[810,6]]},"1192":{"position":[[985,6]]},"1193":{"position":[[1037,6]]},"1194":{"position":[[677,6]]},"1195":{"position":[[655,6]]},"1196":{"position":[[465,6]]},"1197":{"position":[[1448,6]]},"1198":{"position":[[1458,6]]},"1199":{"position":[[1486,6]]},"1200":{"position":[[1353,6]]},"1201":{"position":[[613,6]]},"1202":{"position":[[1755,6],[6152,6]]},"1203":{"position":[[847,6]]},"1204":{"position":[[691,6]]},"1205":{"position":[[2020,6]]},"1206":{"position":[[491,6]]},"1207":{"position":[[648,6]]},"1209":{"position":[[1996,6]]},"1217":{"position":[[5307,6]]},"1219":{"position":[[1293,6]]},"1222":{"position":[[417,6]]},"1223":{"position":[[427,6]]},"1224":{"position":[[607,6]]},"1226":{"position":[[5775,6]]},"1228":{"position":[[7388,6]]},"1235":{"position":[[3256,6]]},"1237":{"position":[[5945,6]]}},"keywords":{}}],["x86_64",{"_index":4816,"title":{},"content":{"968":{"position":[[53,6],[159,6]]},"969":{"position":[[169,6]]},"1383":{"position":[[8905,6]]},"1384":{"position":[[22145,13],[22285,12]]},"1454":{"position":[[10317,8],[10496,8]]},"1469":{"position":[[2564,8]]}},"keywords":{}}],["x86_64.",{"_index":7231,"title":{},"content":{"1384":{"position":[[22159,12]]}},"keywords":{}}],["x86_64.bin",{"_index":8383,"title":{},"content":{"1469":{"position":[[2638,12]]}},"keywords":{}}],["x86_64.egg"",{"_index":8287,"title":{},"content":{"1461":{"position":[[3948,17],[4071,17]]}},"keywords":{}}],["x86_64.h",{"_index":7234,"title":{},"content":{"1384":{"position":[[22320,10]]}},"keywords":{}}],["x86_64/libmylib.a",{"_index":8194,"title":{},"content":{"1454":{"position":[[10522,20]]}},"keywords":{}}],["x86_64/libmylib.so",{"_index":8191,"title":{},"content":{"1454":{"position":[[10343,21]]}},"keywords":{}}],["x=2",{"_index":2826,"title":{},"content":{"595":{"position":[[1492,4]]}},"keywords":{}}],["x=3",{"_index":3106,"title":{},"content":{"636":{"position":[[714,4],[754,4]]}},"keywords":{}}],["x=x",{"_index":5154,"title":{},"content":{"1040":{"position":[[2417,4]]}},"keywords":{}}],["x@i",{"_index":4579,"title":{},"content":{"935":{"position":[[128,3]]}},"keywords":{}}],["x[defaultinfo].sub_targets["foo"",{"_index":1009,"title":{},"content":{"79":{"position":[[146,43]]},"508":{"position":[[146,43]]}},"keywords":{}}],["x[goodbyeinfo].output",{"_index":5189,"title":{},"content":{"1044":{"position":[[1809,22]]}},"keywords":{}}],["x[helloinfo].hello",{"_index":5270,"title":{},"content":{"1049":{"position":[[1113,19]]}},"keywords":{}}],["x[helloinfo].output",{"_index":5181,"title":{},"content":{"1044":{"position":[[1127,20],[1665,20]]}},"keywords":{}}],["x[helloinfo].world",{"_index":5271,"title":{},"content":{"1049":{"position":[[1162,19]]}},"keywords":{}}],["x[pascallibraryinfo",{"_index":5665,"title":{},"content":{"1104":{"position":[[1945,21]]}},"keywords":{}}],["xar",{"_index":3659,"title":{},"content":{"706":{"position":[[303,4],[634,3],[706,3],[838,3],[877,3]]}},"keywords":{}}],["xcode",{"_index":4759,"title":{},"content":{"956":{"position":[[397,5]]},"1136":{"position":[[2988,5]]},"1138":{"position":[[6650,5]]},"1140":{"position":[[5576,5]]},"1142":{"position":[[1020,5]]},"1146":{"position":[[960,5]]},"1148":{"position":[[4000,5]]},"1155":{"position":[[1056,5]]},"1156":{"position":[[634,5]]},"1167":{"position":[[6580,5]]},"1169":{"position":[[419,5]]},"1186":{"position":[[2224,5]]},"1187":{"position":[[2237,5]]},"1188":{"position":[[6963,5]]},"1191":{"position":[[824,5]]},"1192":{"position":[[999,5]]},"1193":{"position":[[1051,5]]},"1194":{"position":[[691,5]]},"1195":{"position":[[669,5]]},"1196":{"position":[[479,5]]},"1197":{"position":[[1462,5]]},"1198":{"position":[[1472,5]]},"1199":{"position":[[1500,5]]},"1200":{"position":[[1367,5]]},"1201":{"position":[[627,5]]},"1202":{"position":[[1769,5],[6166,5]]},"1203":{"position":[[861,5]]},"1204":{"position":[[705,5]]},"1205":{"position":[[2034,5]]},"1206":{"position":[[505,5]]},"1207":{"position":[[662,5]]},"1209":{"position":[[2010,5]]},"1217":{"position":[[5321,5]]},"1219":{"position":[[1307,5]]},"1222":{"position":[[431,5]]},"1223":{"position":[[441,5]]},"1224":{"position":[[621,5]]},"1226":{"position":[[5789,5]]},"1228":{"position":[[7402,5]]},"1235":{"position":[[3270,5]]},"1237":{"position":[[5959,5]]},"1362":{"position":[[13645,5]]},"1363":{"position":[[5578,5]]},"1364":{"position":[[14345,5]]}},"keywords":{}}],["xcode_build_vers",{"_index":7008,"title":{},"content":{"1368":{"position":[[1376,20]]}},"keywords":{}}],["xcode_product_typ",{"_index":6873,"title":{},"content":{"1363":{"position":[[2769,19]]},"1367":{"position":[[6555,19]]}},"keywords":{}}],["xcode_vers",{"_index":7009,"title":{},"content":{"1368":{"position":[[1413,14]]}},"keywords":{}}],["xcprivaci",{"_index":6892,"title":{},"content":{"1363":{"position":[[5430,10]]}},"keywords":{}}],["xctest",{"_index":7010,"title":{},"content":{"1368":{"position":[[1444,7]]}},"keywords":{}}],["xctrace",{"_index":5461,"title":{},"content":{"1061":{"position":[[301,7]]}},"keywords":{}}],["xenviron",{"_index":4203,"title":{},"content":{"890":{"position":[[571,12]]}},"keywords":{}}],["xml",{"_index":7656,"title":{},"content":{"1401":{"position":[[1717,4]]}},"keywords":{}}],["xmlns:android="http://schemas.android.com/apk/res/android"",{"_index":6583,"title":{},"content":{"1356":{"position":[[2248,68]]}},"keywords":{}}],["xplugin",{"_index":8047,"title":{},"content":{"1439":{"position":[[5435,8]]}},"keywords":{}}],["xrl",{"_index":7492,"title":{},"content":{"1393":{"position":[[7710,6],[7971,5]]}},"keywords":{}}],["xrl_includefil",{"_index":7454,"title":{},"content":{"1393":{"position":[[1008,16],[8740,16]]}},"keywords":{}}],["xs",{"_index":4218,"title":{},"content":{"890":{"position":[[2043,2]]}},"keywords":{}}],["xs.append(1",{"_index":4216,"title":{},"content":{"890":{"position":[[2020,13]]}},"keywords":{}}],["xz_compression_level",{"_index":6468,"title":{},"content":{"1350":{"position":[[3768,21]]},"1352":{"position":[[3767,21]]}},"keywords":{}}],["y",{"_index":3108,"title":{},"content":{"636":{"position":[[784,1],[828,1]]},"890":{"position":[[389,1],[805,2]]},"892":{"position":[[69,1],[101,2],[147,1],[181,1],[273,1],[390,1],[422,1],[446,1],[626,2],[747,1],[902,1],[1009,1],[1104,2],[1241,2],[1264,1],[1472,1],[1699,1],[1840,1]]},"934":{"position":[[45,2],[73,2]]},"1251":{"position":[[278,1]]}},"keywords":{}}],["y=3",{"_index":2827,"title":{},"content":{"595":{"position":[[1497,4]]}},"keywords":{}}],["ye",{"_index":6173,"title":{},"content":{"1243":{"position":[[0,4]]}},"keywords":{}}],["year",{"_index":647,"title":{},"content":{"22":{"position":[[656,5]]}},"keywords":{}}],["years).is_execut",{"_index":1060,"title":{},"content":{"85":{"position":[[524,21]]},"217":{"position":[[524,21]]}},"keywords":{}}],["yecc",{"_index":7528,"title":{},"content":{"1393":{"position":[[10613,4]]}},"keywords":{}}],["yenviron",{"_index":4204,"title":{},"content":{"890":{"position":[[602,12]]}},"keywords":{}}],["yield",{"_index":1998,"title":{},"content":{"368":{"position":[[3535,6]]},"567":{"position":[[384,5]]},"569":{"position":[[359,5]]},"747":{"position":[[3535,6]]},"1087":{"position":[[49,5],[718,5]]},"1482":{"position":[[2654,6]]}},"keywords":{}}],["yimpli",{"_index":3193,"title":{},"content":{"647":{"position":[[132,8]]}},"keywords":{}}],["you'd",{"_index":4321,"title":{},"content":{"896":{"position":[[515,5]]},"1025":{"position":[[179,5]]}},"keywords":{}}],["you'll",{"_index":563,"title":{},"content":{"18":{"position":[[769,6]]},"99":{"position":[[1066,6]]},"231":{"position":[[1066,6]]},"298":{"position":[[814,6]]},"584":{"position":[[316,6]]},"840":{"position":[[1257,6]]},"895":{"position":[[449,6]]},"1031":{"position":[[104,6]]},"1036":{"position":[[264,6]]},"1087":{"position":[[404,6]]},"1091":{"position":[[139,6]]},"1104":{"position":[[1880,6]]},"1415":{"position":[[5719,6]]}},"keywords":{}}],["you'r",{"_index":589,"title":{},"content":{"18":{"position":[[1655,6]]},"895":{"position":[[58,6],[183,6],[580,6]]},"1078":{"position":[[225,6]]},"1120":{"position":[[210,6]]}},"keywords":{}}],["your_function_nam",{"_index":3847,"title":{},"content":{"840":{"position":[[266,18],[612,18],[968,18]]}},"keywords":{}}],["yourbuckconfig",{"_index":5526,"title":{},"content":{"1076":{"position":[[48,15]]}},"keywords":{}}],["yourproject",{"_index":2605,"title":{},"content":{"570":{"position":[[83,12]]}},"keywords":{}}],["yourself",{"_index":2340,"title":{},"content":{"436":{"position":[[191,9]]},"815":{"position":[[191,9]]},"864":{"position":[[987,9]]},"894":{"position":[[576,9]]},"1037":{"position":[[501,8]]},"1393":{"position":[[9342,8]]}},"keywords":{}}],["you’d",{"_index":3645,"title":{},"content":{"705":{"position":[[486,5]]}},"keywords":{}}],["you’ll",{"_index":3672,"title":{},"content":{"706":{"position":[[909,6],[1528,6],[2313,6]]}},"keywords":{}}],["you’r",{"_index":3676,"title":{},"content":{"706":{"position":[[1194,6],[2069,6]]}},"keywords":{}}],["you’v",{"_index":6146,"title":{},"content":{"1232":{"position":[[3295,6]]}},"keywords":{}}],["yrl",{"_index":7493,"title":{},"content":{"1393":{"position":[[7720,5],[7981,5]]}},"keywords":{}}],["yrl_includefil",{"_index":7455,"title":{},"content":{"1393":{"position":[[1041,16],[8842,16]]}},"keywords":{}}],["z",{"_index":4200,"title":{},"content":{"890":{"position":[[409,1],[633,1]]},"892":{"position":[[104,1],[153,1],[536,1],[1025,1],[1488,1],[1715,1]]}},"keywords":{}}],["z]*$"",{"_index":2335,"title":{},"content":{"435":{"position":[[183,11],[244,11]]},"814":{"position":[[183,11],[244,11]]}},"keywords":{}}],["zero",{"_index":3202,"title":{},"content":{"648":{"position":[[323,5],[690,4]]},"662":{"position":[[791,5]]},"695":{"position":[[26,4]]},"1228":{"position":[[1664,4]]}},"keywords":{}}],["zero)"",{"_index":2834,"title":{},"content":{"595":{"position":[[1658,11]]}},"keywords":{}}],["zip",{"_index":3364,"title":{"673":{"position":[[0,4]]}},"content":{"673":{"position":[[56,4],[61,3],[92,5],[463,5]]},"1422":{"position":[[3448,4]]},"1427":{"position":[[6687,3]]},"1439":{"position":[[7823,3]]},"1469":{"position":[[2074,3]]},"1487":{"position":[[675,3],[1679,3],[2112,3],[2224,3],[2291,5],[2338,4],[2373,3],[2577,3],[2631,3],[2680,3],[2756,3],[3041,3],[3167,3],[3330,3],[3421,3],[3456,4],[3618,4]]}},"keywords":{}}],["zip(*arg",{"_index":3365,"title":{},"content":{"673":{"position":[[4,10]]}},"keywords":{}}],["zip(range(5",{"_index":3367,"title":{},"content":{"673":{"position":[[475,13],[523,13]]}},"keywords":{}}],["zip_fil",{"_index":8605,"title":{"1487":{"position":[[0,9]]}},"content":{"1487":{"position":[[4,9],[634,10],[1815,8],[3052,9]]}},"keywords":{}}],["zip_saf",{"_index":8317,"title":{},"content":{"1462":{"position":[[4200,9]]},"1465":{"position":[[1344,9]]},"1467":{"position":[[4921,9]]}},"keywords":{}}],["zip_src",{"_index":8608,"title":{},"content":{"1487":{"position":[[594,9],[2610,9],[2722,8],[2945,8],[3385,8]]}},"keywords":{}}],["zipalign",{"_index":6662,"title":{},"content":{"1360":{"position":[[5846,8]]}},"keywords":{}}],["zsh",{"_index":5945,"title":{},"content":{"1144":{"position":[[162,4],[318,4]]}},"keywords":{}}],["zstd",{"_index":5938,"title":{},"content":{"1140":{"position":[[867,4]]},"1188":{"position":[[920,4]]},"1226":{"position":[[5090,5]]},"1237":{"position":[[5260,5]]}},"keywords":{}}]],"pipeline":["stemmer"]} \ No newline at end of file diff --git a/lunr-index.json b/lunr-index.json new file mode 100644 index 0000000000000..c1a83a909960f --- /dev/null +++ b/lunr-index.json @@ -0,0 +1 @@ +{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,1555.113]],["content/0",[]],["keywords/0",[]],["title/1",[1,212.259,2,493.482,3,911.381,4,489.812]],["content/1",[]],["keywords/1",[]],["title/2",[5,625.025,6,504.787]],["content/2",[1,5.139,7,10.463,8,9.735,9,3.586,10,22.067,11,15.287]],["keywords/2",[]],["title/3",[12,804.997,13,420.077,14,243.294]],["content/3",[2,10.897,13,10.142,14,5.874,15,7.533,16,9.111,17,20.125,18,11.295,19,7.95,20,20.125,21,5.135,22,11.979,23,7.585,24,17.654,25,11.437,26,8.104,27,7.891]],["keywords/3",[]],["title/4",[1,250.436,12,804.997,28,653.302]],["content/4",[1,4.849,9,2.921,23,5.971,29,11.86,30,5.638,31,5.811,32,5.93,33,12.476,34,11.35,35,12.476,36,6.56,37,15.843,38,9.767,39,15.843,40,12.788,41,4.839,42,16.901,43,15.843,44,15.843,45,16.396,46,4.438,47,10.337,48,6.282,49,15.843,50,3.95,51,8.112,52,9.73,53,12.86,54,15.843,55,10.798,56,9.43,57,10.337,58,7.537,59,4.238,60,15.843,61,10.036,62,11.375,63,6.013,64,15.843,65,15.843,66,15.843,67,8.392,68,8.195,69,14.67,70,12.148,71,15.843,72,15.843,73,8.644]],["keywords/4",[]],["title/5",[1,250.436,74,600.869,75,1075.304]],["content/5",[0,15.846,1,6.263,30,4.149,41,3.977,52,13.443,58,6.194,68,8.615,70,13.122,76,11.166,77,13.161,78,9.485,79,6.215,80,17.113,81,17.113,82,15.012,83,7.565,84,17.113,85,7.6,86,9.811,87,12.811,88,17.113,89,17.113,90,5.944,91,7.824,92,17.113,93,17.113,94,12.061,95,17.113,96,9.001,97,7.53,98,15.846,99,17.113,100,15.846,101,17.113,102,17.113,103,17.113,104,17.113,105,12.061,106,9.13,107,14.388,108,6.518,109,13.891]],["keywords/5",[]],["title/6",[1,250.436,74,600.869,110,995.701]],["content/6",[1,5.887,41,5.421,63,7.187,73,10.331,111,18.935,112,18.935,113,25.277,114,18.935,115,13.346,116,18.935,117,9.633,118,18.935,119,18.935,120,12.041,121,16.61,122,4.232,123,18.935,124,14.175,125,18.935,126,17.533,127,18.935,128,14.518,129,14.518,130,18.935,131,18.935,132,14.518,133,10.412]],["keywords/6",[]],["title/7",[1,212.259,9,127.87,68,358.694,74,509.271]],["content/7",[1,5.241,28,10.861,41,5.23,52,10.979,62,12.836,68,7.036,73,12.278,77,10.749,98,16.554,134,17.877,135,17.877,136,10.249,137,17.877,138,14.078,139,10.447,140,3.807,141,4.972,142,15.682,143,14.511,144,5.525,145,17.877,146,7.199,147,15.682,148,9.754,149,7.76,150,17.877,151,16.554,152,14.078,153,17.877,154,17.877,155,9.99,156,17.877,157,8.054,158,16.554,159,15.682,160,17.877,161,17.877,162,8.386]],["keywords/7",[]],["title/8",[11,744.899,163,757.892,164,569.598]],["content/8",[]],["keywords/8",[]],["title/9",[5,512.607,6,413.995,11,744.899]],["content/9",[1,5.697,5,5.636,6,5.715,9,2.798,11,5.086,12,5.496,13,4.619,14,4.222,15,5.557,21,1.557,30,4.126,38,5.546,41,5.069,42,9.597,46,3.312,51,3.759,52,7.261,59,3.022,61,5.699,62,8.489,68,2.889,69,6.798,70,9.066,82,6.44,83,5.227,85,5.251,86,4.209,90,2.55,105,5.174,106,3.917,108,2.796,115,5.174,120,10.823,122,3.804,140,2.518,152,9.311,157,3.307,164,12.244,165,11.824,166,7.341,167,4.79,168,7.341,169,3.809,170,6.798,171,2.702,172,8.489,173,17.492,174,4.492,175,3.946,176,5.086,177,7.341,178,5.496,179,7.341,180,6.173,181,11.113,182,7.341,183,5.629,184,5.959,185,6.173,186,7.341,187,5.675,188,3.559,189,10.96,190,5.086,191,5.378,192,5.629,193,2.393,194,4.619,195,7.715,196,5.959,197,6.263,198,5.378,199,4.559,200,4.857,201,6.798,202,4.916,203,8.059,204,4.713,205,2.816,206,6.798,207,6.798,208,5.977,209,4.327,210,7.341,211,5.959,212,5.959,213,6.44,214,9.066,215,3.273,216,5.629,217,7.341,218,7.504,219,4.857,220,3.539,221,4.916,222,3.889,223,6.662,224,6.798,225,7.341,226,6.44,227,7.341,228,6.173,229,3.665,230,7.421,231,7.341,232,6.798,233,7.341,234,6.44,235,3.462,236,1.611,237,5.378,238,6.798,239,4.612,240,10.372,241,10.948,242,7.341,243,7.978,244,5.959,245,9.941,246,2.64,247,7.341,248,3.172,249,6.798,250,8.489,251,4.799,252,5.086,253,4.928,254,5.959,255,1.624,256,9.686,257,2.35,258,2.39,259,3.462,260,3.426,261,7.341,262,6.355,263,6.135,264,5.867,265,5.629,266,6.798,267,8.334,268,4.559,269,2.837,270,4.414,271,5.496,272,4.46,273,2.117,274,2.357,275,4.247,276,7.341,277,5.174,278,7.341,279,7.614,280,6.173,281,5.629,282,9.311,283,3.408,284,5.959,285,6.198,286,2.59,287,2.199,288,7.341,289,6.798,290,4.79,291,6.798,292,3.481,293,8.191,294,5.086,295,7.341,296,5.781,297,3.323,298,6.798,299,4.857,300,7.341,301,3.835,302,6.798,303,7.341,304,5.959,305,7.341,306,4.559,307,4.857,308,7.341]],["keywords/9",[]],["title/10",[11,744.899,14,243.294,309,721.77]],["content/10",[1,5.833,2,6.614,9,1.714,13,7.933,14,5.981,16,5.53,18,8.129,23,4.604,26,4.919,30,4.224,38,9.525,48,4.844,56,7.271,83,5.4,85,7.737,87,9.145,108,4.653,122,3.894,148,6.665,164,12.891,173,10.716,174,3.697,183,9.366,184,9.915,185,10.271,189,11.219,202,5.079,205,4.686,212,9.915,219,8.081,230,5.326,237,8.948,245,10.271,248,5.278,251,4.958,252,8.462,253,8.199,262,9.363,271,9.145,298,11.311,299,8.081,301,6.381,306,10.82,309,8.199,310,4.011,311,12.216,312,11.311,313,12.216,314,12.216,315,12.216,316,5.642,317,12.216,318,9.62,319,3.966,320,9.366,321,11.311,322,4.526,323,4.862,324,8.462,325,14.141,326,5.888,327,12.216,328,5.4,329,3.966,330,9.145,331,12.216,332,6.175,333,12.216,334,11.311,335,9.366,336,8.61,337,9.915,338,12.216,339,16.132,340,5.1,341,10.716,342,9.366,343,3.836,344,6.175,345,3.649,346,6.136,347,11.311,348,11.311,349,7.971,350,12.216,351,12.216,352,6.771,353,9.62,354,6.565,355,4.653,356,17.422]],["keywords/10",[]],["title/11",[11,908.26,28,796.576]],["content/11",[1,5.994,9,2.768,11,13.668,12,14.77,21,3.1,28,11.987,30,3.543,40,8.035,41,3.396,42,11.862,48,5.795,57,9.535,70,11.205,73,7.973,90,5.076,133,8.035,140,3.112,173,20.981,174,4.422,175,10.604,193,2.957,223,8.234,240,12.819,250,14.166,259,6.891,260,6.819,283,6.784,285,6.101,301,10.306,306,9.075,337,11.862,348,13.531,355,5.566,357,5.47,358,4.954,359,7.531,360,9.181,361,13.531,362,3.088,363,2.043,364,7.341,365,13.531,366,14.613,367,19.73,368,14.613,369,10.3,370,13.531,371,14.613,372,14.613,373,11.508,374,8.234,375,14.613,376,14.613,377,12.381,378,14.613,379,8.234,380,6.615,381,10.94,382,6.749,383,8.532,384,13.531,385,9.411,386,12.287,387,11.205]],["keywords/11",[]],["title/12",[388,1412.056]],["content/12",[1,4.962,6,6.318,11,11.369,61,7.911,86,12.215,87,12.286,100,15.196,141,4.564,144,6.585,164,8.693,180,13.798,181,12.286,185,17.914,187,8.144,189,10.568,204,5.21,224,15.196,229,8.194,248,7.091,251,6.66,257,5.254,268,13.232,292,7.781,293,11.369,301,8.573,389,16.411,390,3.495,391,13.798,392,8.403,393,9.673,394,13.798,395,15.196,396,16.411,397,12.021,398,6.388,399,15.196,400,13.321,401,16.411,402,16.411,403,16.411,404,7.118,405,16.411,406,16.411,407,15.196,408,6.852,409,9.326,410,12.286,411,14.396,412,15.196,413,8.458,414,10.857]],["keywords/12",[]],["title/13",[1,305.359,415,1214.065]],["content/13",[1,6.246,9,2.376,30,4.105,36,7.011,41,5.053,47,14.185,55,11.54,58,6.129,59,3.447,90,5.881,122,4.859,189,10.904,208,8.559,274,5.436,322,6.273,323,6.74,415,15.678,416,16.932,417,5.792,418,10.599,419,14.236,420,16.932,421,8.969,422,22.235,423,6.05,424,10.287,425,24.013,426,16.932,427,16.932,428,12.157,429,5.033,430,21.74,431,14.236,432,12.676,433,12.983,434,7.82,435,16.932,436,16.932]],["keywords/13",[]],["title/14",[7,621.632,8,499.41]],["content/14",[]],["keywords/14",[]],["title/15",[1,305.359,47,855.508]],["content/15",[1,5.836,6,5.678,8,5.617,26,5.939,27,5.783,41,4.614,47,16.349,50,3.677,55,10.052,56,8.778,59,3.002,68,5.804,187,5.637,215,4.082,236,4.357,253,9.899,283,6.846,322,5.464,323,5.87,342,11.308,362,3.116,393,8.693,422,13.656,437,14.748,438,7.319,439,14.748,440,8.289,441,11.308,442,8.778,443,7.918,444,14.748,445,14.748,446,14.748,447,9.757,448,14.748,449,8.174,450,8.241,451,11.614,452,10.052,453,6.955,454,8.778,455,7.319,456,19.853,457,11.971,458,19.853,459,19.853,460,18.383,461,18.383,462,13.656,463,11.041,464,5.761,465,14.748,466,6.918,467,1.8,468,7.503,469,8.96,470,14.748,471,6.846,472,12.937,473,14.748,474,14.748]],["keywords/15",[]],["title/16",[471,608.635,475,338.669]],["content/16",[6,8.213,9,2.993,14,4.827,181,15.97,189,13.737,255,4.72,471,9.903,476,13.919,477,10.4,478,9.903,479,21.332,480,21.332,481,11.824]],["keywords/16",[]],["title/17",[68,423.21,322,398.399,323,428.03]],["content/17",[1,6.055,8,4.064,9,2.637,19,4.215,25,6.063,26,6.358,30,2.586,38,5.004,40,5.866,41,5.734,47,15.15,52,6.552,55,14.16,62,7.66,63,4.049,68,8.728,73,8.615,74,5.962,140,3.363,205,4.093,215,4.37,221,8.638,251,4.33,262,5.734,319,3.463,322,3.953,329,3.463,345,4.717,363,2.628,390,2.272,417,5.402,418,9.164,429,7.332,431,13.275,438,5.294,449,5.913,462,9.879,467,1.432,468,5.427,482,5.734,483,7.66,484,10.669,485,10.669,486,5.14,487,4.83,488,7.161,489,6.823,490,5.777,491,10.669,492,14.62,493,9.359,494,10.669,495,15.929,496,7.66,497,9.359,498,7.272,499,10.669,500,4.313,501,6.552,502,7.39,503,10.669,504,10.041,505,4.454,506,6.229,507,11.337,508,10.669,509,10.669,510,10.669,511,6.961,512,9.359,513,5.462,514,10.669,515,10.669,516,4.806,517,10.669,518,9.359,519,7.39,520,4.978,521,10.102,522,10.669,523,6.168,524,4.676,525,4.137,526,4.716,527,10.669,528,10.669,529,10.669,530,10.669,531,10.669,532,8.18,533,4.76,534,4.152,535,8.97,536,9.359,537,8.66,538,10.669,539,10.669]],["keywords/17",[]],["title/18",[68,358.694,322,337.666,493,799.473,540,325.65]],["content/18",[1,5.451,8,3.425,9,1.261,16,4.07,25,5.109,27,3.525,30,4.617,40,4.944,41,4.426,46,2.518,48,3.565,50,2.242,55,14.026,58,5.022,59,4.189,68,9.212,73,4.905,77,5.406,79,3.265,90,3.123,91,6.343,96,4.729,144,2.779,149,3.902,167,5.866,193,1.819,209,5.299,221,7.919,255,3.069,257,2.878,316,4.152,319,4.504,326,4.334,329,2.919,345,2.686,354,4.832,362,1.9,363,2.662,390,1.915,428,9.961,429,6.116,431,11.665,442,5.351,457,7.298,464,5.42,467,2.484,482,7.456,486,2.927,487,4.07,493,14.86,495,14.603,497,12.17,498,9.456,504,12.111,505,5.792,507,6.455,521,11.687,540,3.213,541,8.325,542,6.337,543,8.325,544,8.991,545,2.462,546,12.846,547,8.991,548,3.552,549,8.991,550,12.846,551,6.128,552,8.991,553,8.991,554,4.834,555,9.456,556,3.945,557,8.325,558,3.499,559,8.325,560,5.462,561,8.991,562,7.15,563,6.128,564,8.991,565,4.545,566,4.797,567,8.991,568,4.797,569,6.128,570,9.312,571,10.979,572,13.873,573,13.873,574,7.298,575,8.991,576,8.991,577,8.991,578,8.991,579,8.991,580,7.887,581,4.466,582,9.778,583,8.991,584,5.717,585,7.887,586,8.991,587,5.284,588,8.991,589,7.559,590,6.731,591,3.885,592,4.603,593,8.991,594,8.991,595,8.991,596,8.991,597,4.131,598,5.866,599,8.991,600,2.247]],["keywords/18",[]],["title/19",[174,396.775,400,1064.253]],["content/19",[1,4.968,9,2.993,68,8.396,174,6.456,354,11.465,490,11.551,590,15.97,601,23.203,602,21.332,603,8.303,604,21.332,605,11.92]],["keywords/19",[]],["title/20",[18,783.665]],["content/20",[1,4.979,9,3.328,13,6.444,14,5.366,18,9.975,21,3.499,23,9.456,25,12.149,30,3.999,32,6.175,41,4.968,51,8.446,59,3.358,174,4.992,204,6.787,219,10.913,310,5.416,349,10.763,488,11.072,521,8.865,554,5.748,606,13.39,607,15.275,608,12.99,609,8.677,610,11.626,611,10.913,612,9.374,613,7.686,614,10.623,615,10.913,616,16.496,617,9.918,618,10.623,619,14.47,620,6.283,621,16.496,622,16.496,623,7.864,624,5.661]],["keywords/20",[]],["title/21",[1,391.138]],["content/21",[]],["keywords/21",[]],["title/22",[1,305.359,625,582.284]],["content/22",[1,3.317,6,3.582,8,3.544,9,2.428,23,5.369,25,9.835,26,5.736,28,5.653,30,4.701,38,8.118,41,5.5,46,2.606,48,3.69,50,2.32,52,8.748,58,3.368,59,3.523,61,4.485,62,6.68,73,11.404,78,7.895,79,5.173,90,4.948,108,5.425,109,16.966,115,6.558,121,8.162,122,3.868,128,7.134,139,6.612,140,1.982,143,7.552,144,4.402,155,5.199,164,9.167,172,13.922,174,5.237,176,6.445,189,5.992,194,3.635,198,6.815,200,6.155,219,6.155,220,4.485,221,7.196,235,4.388,236,3.126,237,6.815,255,2.059,262,11.233,265,7.134,282,7.327,284,7.552,293,9.867,294,6.445,301,4.86,302,8.616,320,7.134,322,5.277,349,6.071,358,4.829,363,3.207,382,4.297,404,3.108,443,3.283,449,5.157,454,5.538,490,5.038,496,6.68,554,3.242,556,2.167,600,3.559,613,2.751,617,5.594,626,13.189,627,6.155,628,12.495,629,6.965,630,7.552,631,7.552,632,4.536,633,11.562,634,7.832,635,12.495,636,6.965,637,10.039,638,9.304,639,9.304,640,6.342,641,5.432,642,5.538,643,9.304,644,5.538,645,14.244,646,9.304,647,9.304,648,5.917,649,7.823,650,9.304,651,5.199,652,7.552,653,6.071,654,8.616,655,8.616,656,5.714,657,6.245,658,6.342,659,6.815,660,8.162,661,2.899,662,8.616,663,8.162,664,9.304,665,9.304,666,9.304,667,5.243,668,6.342,669,6.965,670,6.965,671,6.155,672,9.304,673,7.134,674,6.445,675,9.304,676,6.815,677,3.853,678,4.563,679,9.304,680,8.162,681,6.445,682,8.616,683,9.304,684,7.327,685,8.616,686,8.616,687,9.304,688,4.674,689,9.304]],["keywords/22",[]],["title/23",[1,250.436,108,409.585,690,943.268]],["content/23",[1,5.124,6,4.313,9,2.53,11,4.758,14,4.978,15,2.571,16,3.11,19,2.714,22,9.742,23,4.223,28,8.619,33,5.409,38,5.255,41,3.297,46,3.974,48,2.724,50,1.713,51,5.736,52,6.88,58,2.486,59,3.67,61,5.4,62,4.932,68,2.703,73,6.112,74,3.838,79,2.494,83,4.952,85,4.975,87,5.142,90,2.386,106,7.569,108,6.234,109,9.094,115,7.896,117,7.217,120,7.124,122,4.559,139,3.189,141,1.91,144,2.123,149,4.863,152,5.409,162,3.222,163,4.841,164,10.244,174,3.39,175,6.021,176,7.761,184,5.575,187,7.392,188,3.33,189,4.423,193,3.312,194,2.683,195,7.31,197,3.638,221,2.856,222,5.934,229,7.083,235,6.69,236,3.592,248,4.841,260,3.205,262,6.021,272,4.173,273,1.981,274,4.554,279,13.135,282,5.409,301,3.588,306,4.266,307,4.544,309,4.611,322,2.545,323,2.734,328,3.036,345,2.052,355,2.616,363,1.566,377,3.807,382,8.931,390,1.463,404,2.295,417,2.35,418,7.98,429,2.042,451,5.409,464,2.683,475,1.774,490,3.719,501,4.218,506,4.01,516,3.094,520,3.205,526,3.036,533,3.065,540,2.454,565,3.472,569,4.682,590,5.142,597,3.156,600,2.799,605,3.838,608,5.409,609,3.613,610,7.896,619,6.025,620,2.616,624,1.819,627,4.544,631,5.575,634,3.777,636,5.142,641,6.541,644,4.088,651,3.838,657,4.611,667,6.313,668,4.682,673,5.267,691,6.869,692,2.301,693,8.283,694,8.59,695,4.932,696,6.025,697,6.869,698,6.869,699,2.626,700,3.904,701,5.575,702,3.777,703,5.142,704,6.869,705,5.267,706,3.494,707,6.869,708,6.025,709,5.409,710,4.841,711,3.807,712,6.025,713,2.981,714,8.822,715,6.869,716,3.388,717,5.031,718,5.142,719,6.077,720,6.869,721,4.682,722,6.869,723,5.031,724,6.869,725,6.869,726,3.938,727,3.938,728,4.409,729,4.13,730,4.173,731,4.088,732,3.807,733,5.575,734,6.025,735,4.932,736,6.869,737,3.748,738,6.36,739,3.388,740,6.869,741,4.482,742,3.719,743,2.616,744,6.869,745,6.869,746,3.14,747,6.869,748,5.031,749,5.031,750,6.869,751,9.523,752,6.869,753,6.869,754,6.869,755,5.142,756,3.613,757,4.758,758,6.869,759,6.869,760,6.869,761,6.869,762,3.409,763,6.025,764,2.904,765,6.869,766,3.156,767,6.869,768,6.36,769,4.758,770,6.36,771,4.758,772,6.025,773,4.841,774,6.869,775,6.869,776,6.36,777,4.423,778,6.869,779,6.025,780,6.869,781,6.36,782,6.869]],["keywords/23",[]],["title/24",[1,305.359,9,183.956]],["content/24",[1,5.266,6,4.929,9,2.923,14,2.896,19,5.057,26,8.39,31,4.695,38,6.005,41,4.842,45,10.081,59,2.606,78,14.365,79,9.412,85,5.685,91,5.853,106,6.83,108,6.86,136,7.339,140,2.726,141,3.56,148,9.826,149,5.556,170,11.854,183,9.816,197,6.781,204,4.065,208,6.471,209,7.545,235,9.825,236,4.573,243,6.88,250,9.192,255,2.832,267,9.023,268,12.94,293,12.476,294,8.868,345,3.824,414,8.469,429,3.805,440,5.345,466,6.005,475,3.307,481,7.095,486,4.168,504,8.141,565,6.471,571,9.609,603,4.983,641,13.91,651,7.153,686,11.854,719,5.483,771,8.868,783,11.854,784,7.778,785,10.764,786,10.764,787,6.932,788,11.854,789,5.216,790,10.764,791,12.802,792,11.854,793,12.802,794,7.545,795,10.081,796,9.192,797,8.593,798,9.816,799,11.854,800,5.853,801,12.802,802,10.764,803,10.081,804,2.821]],["keywords/24",[]],["title/25",[21,278.126,805,960.405]],["content/25",[]],["keywords/25",[]],["title/26",[806,1412.056]],["content/26",[46,6.056,59,4.401,141,6.013,257,8.085,329,7.019,806,18.178,807,3.583,808,10.088,809,15.238,810,14.736]],["keywords/26",[]],["title/27",[811,1412.056]],["content/27",[46,5.975,141,5.933,257,8.022,329,6.925,467,1.934,548,8.427,804,4.701,808,9.954,809,15.035,810,14.539,811,17.936,812,7.232]],["keywords/27",[]],["title/28",[21,278.126,813,960.405]],["content/28",[]],["keywords/28",[]],["title/29",[814,1412.056]],["content/29",[46,5.975,141,5.933,257,8.022,329,6.925,556,4.968,613,6.308,807,3.535,809,15.035,810,14.539,814,17.936,815,12.826,816,12.96]],["keywords/29",[]],["title/30",[817,1412.056]],["content/30",[46,5.897,141,5.855,257,7.96,329,6.834,343,6.611,467,1.909,613,6.225,804,4.639,808,9.823,809,14.837,810,14.348,816,12.79,817,17.7,818,17.7]],["keywords/30",[]],["title/31",[819,1412.056]],["content/31",[46,5.858,141,5.816,257,7.929,329,6.789,343,6.568,409,11.885,467,1.896,613,6.185,804,4.608,807,3.466,809,14.741,810,14.255,816,12.706,819,17.584,820,6.264]],["keywords/31",[]],["title/32",[21,278.126,821,924.103]],["content/32",[]],["keywords/32",[]],["title/33",[822,1412.056]],["content/33",[390,4.799,822,18.946,823,10.801,824,4.995,825,20.865]],["keywords/33",[]],["title/34",[826,1412.056]],["content/34",[14,4.959,274,7.036,824,4.859,826,18.427,827,14.467,828,6.72,829,13.611,830,12.564]],["keywords/34",[]],["title/35",[21,278.126,821,924.103]],["content/35",[]],["keywords/35",[]],["title/36",[831,1322.558]],["content/36",[7,9.916,257,6.695,310,6.867,363,2.924,438,10.378,556,5.768,807,3.466,824,4.636,827,11.885,830,11.99,832,2.51,833,19.366,834,17.584,835,14.255,836,6.658]],["keywords/36",[]],["title/37",[831,1322.558]],["content/37",[215,5.606,355,7.714,545,3.595,556,4.717,721,13.804,824,4.49,827,13.808,831,15.949,832,2.431,834,17.028,836,7.736,837,13.577,838,4.756,839,17.766,840,6.52,841,17.766,842,6.501,843,14.835]],["keywords/37",[]],["title/38",[844,1412.056]],["content/38",[14,4.993,274,7.084,824,4.892,827,14.525,828,6.766,830,12.651,844,18.554]],["keywords/38",[]],["title/39",[21,278.126,845,1032.511]],["content/39",[]],["keywords/39",[]],["title/40",[846,1412.056]],["content/40",[16,8.623,59,5.159,68,7.497,83,8.42,215,7.317,257,6.098,467,2.397,540,6.806,548,7.525,600,4.76,804,5.158,805,13.952,807,3.157,808,8.888,812,7.937,820,5.705,832,2.286,846,16.015,847,2.605,848,7.792,849,10.162]],["keywords/40",[]],["title/41",[850,1412.056]],["content/41",[1,3.403,14,3.306,16,6.615,21,3.1,41,3.396,140,4.202,149,6.343,193,2.957,209,8.613,229,7.296,243,7.854,257,8.774,262,7.854,309,9.809,310,4.798,387,11.205,390,3.112,409,12.694,450,8.166,467,2.426,482,7.854,524,3.636,540,5.222,556,3.403,600,3.651,787,7.913,804,5.27,807,3.27,808,9.207,813,10.704,815,14.381,816,8.878,818,12.287,820,5.909,832,1.754,847,1.998,850,12.287,851,13.531,852,16.015,853,16.015,854,17.308,855,12.287,856,8.166,857,9.411,858,12.819,859,11.508,860,7.634,861,11.508,862,8.532,863,6.232,864,10.94]],["keywords/41",[]],["title/42",[865,1412.056]],["content/42",[46,6.312,807,3.734,863,9.61,865,18.946,866,9.527]],["keywords/42",[]],["title/43",[867,1412.056]],["content/43",[46,6.312,807,3.734,866,9.527,867,18.946,868,13.281]],["keywords/43",[]],["title/44",[21,278.126,836,417.425]],["content/44",[]],["keywords/44",[]],["title/45",[869,1412.056]],["content/45",[771,14.68,824,4.698,832,2.543,836,8.448,847,2.898,866,8.96,869,17.817,870,11.652,871,19.622,872,12.875,873,13.16,874,17.817]],["keywords/45",[]],["title/46",[875,1412.056]],["content/46",[556,5.104,620,8.348,807,3.632,836,8.105,875,18.427,876,9.038,877,17.79,878,13.315]],["keywords/46",[]],["title/47",[879,1412.056]],["content/47",[59,4.342,359,12.915,620,8.125,807,3.535,824,4.729,836,7.978,879,17.936,880,19.753,881,17.936,882,10.922,883,9.137]],["keywords/47",[]],["title/48",[884,1412.056]],["content/48",[59,4.523,79,8.07,836,7.074,884,18.683,885,6.538,886,9.476,887,10.01]],["keywords/48",[]],["title/49",[888,1412.056]],["content/49",[9,2.878,14,5.54,46,6.858,59,4.175,79,7.449,404,6.853,467,1.86,540,8.748,737,11.191,804,5.395,836,7.795,888,17.246,889,6.543]],["keywords/49",[]],["title/50",[890,1412.056]],["content/50",[59,4.517,68,9.595,140,3.724,215,6.748,274,5.614,398,6.806,464,6.831,467,2.399,486,7.225,540,6.248,556,4.073,721,11.919,807,2.898,832,2.099,836,8.61,847,2.391,848,7.154,878,13.483,885,5.145,890,14.703,891,16.192,892,6.831,893,13.091,894,9.853,895,16.192,896,15.34,897,9.938,898,8.246,899,16.192,900,7.042]],["keywords/50",[]],["title/51",[901,1412.056]],["content/51",[188,10.341,215,5.905,464,8.334,488,14.319,524,5.307,597,9.802,807,3.535,836,6.792,848,8.727,877,20.34,901,17.936,902,18.713]],["keywords/51",[]],["title/52",[903,1555.113]],["content/52",[357,7.828,671,13.836,737,11.411,824,4.636,832,2.51,836,8.685,847,2.86,872,12.706,873,12.988,904,19.366,905,15.016,906,16.976,907,13.646]],["keywords/52",[]],["title/53",[908,1412.056]],["content/53",[343,6.7,737,11.639,824,4.729,832,2.56,836,8.471,847,2.917,872,12.96,906,17.315,907,13.919,908,17.936,909,12.573]],["keywords/53",[]],["title/54",[21,278.126,910,1032.511]],["content/54",[]],["keywords/54",[]],["title/55",[911,1555.113]],["content/55",[467,2.029,807,3.708,832,2.685,847,3.06,885,6.584,912,20.719]],["keywords/55",[]],["title/56",[21,278.126,913,738.774]],["content/56",[]],["keywords/56",[]],["title/57",[914,1412.056]],["content/57",[807,3.815,914,19.354]],["keywords/57",[]],["title/58",[915,1412.056]],["content/58",[475,5.862,832,2.723,847,3.103,915,19.08]],["keywords/58",[]],["title/59",[916,1412.056]],["content/59",[807,3.815,916,19.354]],["keywords/59",[]],["title/60",[917,1412.056]],["content/60",[807,3.815,917,19.354]],["keywords/60",[]],["title/61",[918,1412.056]],["content/61",[823,11.034,918,19.354]],["keywords/61",[]],["title/62",[919,1412.056]],["content/62",[363,3.064,726,12.564,824,4.859,832,2.63,847,2.997,889,5.857,919,18.427,920,9.387,921,10.448]],["keywords/62",[]],["title/63",[922,1412.056]],["content/63",[132,14.021,286,6.451,390,3.894,443,6.451,467,2.432,556,4.259,807,3.031,832,2.739,847,2.501,889,6.1,922,15.375,923,15.375,924,5.697,925,4.681,926,9.901,927,14.4,928,9.618,929,13.453,930,7.572,931,5.774,932,15.375,933,15.454,934,16.041,935,16.932,936,15.375,937,16.932,938,16.932,939,16.932,940,15.375]],["keywords/63",[]],["title/64",[21,278.126,941,666.996]],["content/64",[]],["keywords/64",[]],["title/65",[942,1555.113]],["content/65",[144,6.259,162,9.5,287,6.066,362,4.279,390,5.175,417,6.928,812,6.866,832,2.431,836,6.448,847,2.77,941,13.242,943,18.753,944,5.606,945,11.611,946,17.028,947,9.08,948,15.529,949,7.797]],["keywords/65",[]],["title/66",[950,1412.056]],["content/66",[187,7.742,190,14.03,320,15.529,417,6.928,443,7.145,545,3.595,651,11.317,737,11.05,800,9.259,824,5.387,832,2.431,847,2.77,941,13.242,950,17.028,951,13.36,952,16.439,953,17.766]],["keywords/66",[]],["title/67",[954,1412.056]],["content/67",[96,10.72,144,6.299,163,14.365,319,6.616,362,4.306,524,5.071,756,10.72,803,16.05,812,6.91,886,8.692,949,9.39,954,17.136,955,18.873,956,13.299,957,11.79,958,12.131,959,16.544,960,8.405,961,16.05]],["keywords/67",[]],["title/68",[962,1412.056]],["content/68",[96,11.528,144,6.773,362,4.631,524,5.453,812,7.431,956,14.3,957,12.678,962,18.427,963,18.427]],["keywords/68",[]],["title/69",[964,1412.056]],["content/69",[9,2.884,34,7.138,38,7.287,48,9.134,140,3.309,171,5.717,215,6.785,255,3.437,286,5.481,362,3.282,429,4.617,434,9.492,464,8.998,467,2.565,486,5.057,548,6.137,614,10.004,808,7.249,832,1.864,836,7.804,847,2.125,848,10.028,925,3.977,941,10.456,964,13.062,965,9.541,966,9.438,967,14.146,968,8.987,969,8.753,970,14.385,971,6.025,972,12.61,973,5.072,974,13.062,975,14.385,976,5.876,977,13.062,978,14.385]],["keywords/69",[]],["title/70",[21,278.126,623,625.025]],["content/70",[]],["keywords/70",[]],["title/71",[979,1412.056]],["content/71",[19,8.262,21,4.436,46,7.642,319,6.789,429,6.216,486,6.809,545,3.712,554,7.287,613,6.185,716,10.317,824,4.636,947,9.377,979,17.584]],["keywords/71",[]],["title/72",[980,1412.056]],["content/72",[14,5.375,21,4.139,23,7.354,67,10.336,140,4.155,244,15.838,286,6.884,287,5.844,363,2.728,443,6.884,486,6.352,824,4.326,894,10.994,944,5.401,980,16.405,981,15.907,982,6.364,983,11.019,984,9.153,985,11.854,986,13.299]],["keywords/72",[]],["title/73",[987,1412.056]],["content/73",[32,7.985,363,2.982,467,1.934,565,10.783,804,5.522,824,4.729,887,9.61,889,6.697,987,17.936,988,11.551,989,14.539]],["keywords/73",[]],["title/74",[990,1412.056]],["content/74",[14,4.671,19,8.156,50,5.147,273,5.954,390,4.397,447,13.657,545,4.362,597,9.486,856,13.734,961,16.257,990,17.357,991,19.116,992,12.412,993,13.41,994,15.455]],["keywords/74",[]],["title/75",[21,278.126,122,293.037]],["content/75",[]],["keywords/75",[]],["title/76",[995,1555.113]],["content/76",[7,9.482,193,4.88,467,2.437,620,7.618,632,9.751,804,5.314,832,2.4,847,2.735,872,12.151,882,10.24,992,12.025,996,18.519,997,18.519,998,21.153,999,18.519,1000,18.519,1001,17.544]],["keywords/76",[]],["title/77",[1002,1412.056]],["content/77",[889,6.152,1002,19.354]],["keywords/77",[]],["title/78",[1003,1412.056]],["content/78",[1003,19.354,1004,11.71]],["keywords/78",[]],["title/79",[1005,1555.113]],["content/79",[9,3.613,21,4.19,122,5.755,193,3.997,211,16.033,329,6.412,404,6.599,467,1.791,620,7.524,807,3.274,832,2.371,847,2.701,887,8.899,929,14.107,1006,18.29,1007,11.225,1008,9.169,1009,18.29,1010,18.29,1011,10.777]],["keywords/79",[]],["title/80",[21,278.126,46,367.265]],["content/80",[]],["keywords/80",[]],["title/81",[1012,1257.267]],["content/81",[14,5.587,85,7.984,174,5.44,193,4.57,194,7.023,204,5.708,229,8.976,263,9.328,319,5.836,355,6.848,363,3.452,380,8.139,423,6.424,467,1.63,520,8.389,554,7.869,556,4.187,702,9.885,728,7.076,821,12.671,823,8.618,832,2.158,847,2.459,982,4.816,984,8.433,1012,13.459,1013,12.454,1014,5.498,1015,16.574,1016,13.459,1017,13.169,1018,5.836,1019,16.647]],["keywords/81",[]],["title/82",[1012,1257.267]],["content/82",[14,4.671,58,7.473,363,2.886,467,2.379,668,14.071,821,14.55,823,11.781,832,2.478,847,2.823,1012,15.455,1014,7.516,1015,13.857,1020,19.116,1021,19.116]],["keywords/82",[]],["title/83",[1022,1412.056]],["content/83",[9,3.013,16,9.722,287,6.432,429,6.383,832,2.577,847,2.937,949,8.268,1022,18.056,1023,18.056,1024,12.912,1025,14.013,1026,16.912]],["keywords/83",[]],["title/84",[1027,1555.113]],["content/84",[15,7.088,18,8.835,58,6.854,208,9.572,215,5.241,251,7.685,253,12.709,263,9.824,355,8.884,380,8.572,721,15.897,807,3.138,827,10.761,832,2.272,836,8.047,842,6.078,847,2.59,1011,10.331,1028,17.533,1029,17.533,1030,17.533,1031,15.92,1032,17.533,1033,10.581,1034,17.533,1035,17.533,1036,8.977,1037,12.709]],["keywords/84",[]],["title/85",[1038,1412.056]],["content/85",[9,2.138,41,3.542,48,6.043,59,3.102,236,3.344,274,4.892,467,2.449,490,8.252,524,5.049,548,6.02,562,10.459,681,10.557,739,7.517,807,3.781,832,1.829,836,7.264,847,2.084,870,8.38,885,6.713,892,8.913,1033,8.516,1038,12.813,1039,15.733,1040,14.111,1041,14.111,1042,12.001,1043,14.111,1044,14.111,1045,8.016,1046,12.37,1047,14.111,1048,6.043,1049,14.111,1050,12.001,1051,15.981,1052,14.111,1053,12.813,1054,11.685,1055,11.685,1056,10.557,1057,10.387,1058,14.111,1059,10.229,1060,14.111,1061,8.016,1062,9.464,1063,14.111,1064,17.801,1065,14.111,1066,14.111]],["keywords/85",[]],["title/86",[1067,1412.056]],["content/86",[59,3.832,215,5.21,274,6.043,464,9.849,467,2.387,486,6.128,524,4.683,558,9.045,603,7.327,807,3.12,824,4.173,832,2.259,836,8.611,847,2.574,848,7.7,870,10.35,873,11.69,944,5.21,951,10.35,1014,5.756,1067,15.827,1068,9.341,1069,14.433]],["keywords/86",[]],["title/87",[1070,1412.056]],["content/87",[48,8.24,464,8.117,467,2.468,558,8.087,807,3.444,832,2.494,836,8.378,847,2.842,870,11.425,951,11.425,1070,17.47,1071,16.363]],["keywords/87",[]],["title/88",[1072,1412.056]],["content/88",[59,3.9,79,6.959,85,8.51,464,7.486,467,2.402,524,5.845,558,7.458,807,3.176,824,4.248,832,2.3,836,8.808,847,2.621,870,10.536,887,8.632,944,5.304,951,12.919,1071,15.09,1072,16.111,1073,14.345,1074,11.642]],["keywords/88",[]],["title/89",[1075,1412.056]],["content/89",[9,2.608,46,5.206,50,3.339,59,2.726,140,2.852,157,6.033,171,6.839,193,2.71,202,5.568,204,4.252,243,7.197,274,4.299,287,4.011,307,8.859,329,4.347,363,2.598,380,6.062,417,4.581,434,8.583,464,7.26,467,2.331,520,6.248,524,5.31,556,4.971,565,6.769,597,6.153,651,7.483,677,5.545,771,14.786,787,7.251,807,3.08,808,8.672,815,8.051,824,2.969,832,1.607,836,8.344,847,1.831,873,8.316,885,3.94,887,6.033,892,5.231,897,10.562,900,5.392,925,3.428,949,5.155,1008,6.216,1025,8.737,1074,11.291,1075,11.259,1076,10.545,1077,6.812,1078,7.61,1079,9.276,1080,17.209,1081,11.746,1082,12.399,1083,10.869,1084,12.399,1085,10.267,1086,12.399,1087,11.259,1088,11.746,1089,19.764,1090,10.869,1091,13.613,1092,6.727,1093,12.399,1094,12.399,1095,12.399]],["keywords/89",[]],["title/90",[1096,1412.056]],["content/90",[14,4.553,146,8.104,475,5.198,620,7.666,684,15.849,832,2.415,847,2.752,976,7.612,1007,11.437,1039,16.122,1045,10.586,1048,7.981,1096,16.921,1097,16.921,1098,18.635,1099,12.499,1100,12.798,1101,16.921,1102,18.635,1103,9.927]],["keywords/90",[]],["title/91",[1104,1412.056]],["content/91",[59,4.066,97,6.549,204,4.726,236,3.267,258,4.846,274,4.778,283,6.91,286,5.251,293,10.311,362,3.145,467,2.549,524,5.609,641,8.69,804,5.702,807,4.166,820,5.983,832,1.786,836,7.178,847,2.036,866,6.294,870,8.185,885,5.878,886,6.348,892,7.804,944,4.12,1042,15.731,1045,10.507,1061,10.507,1062,9.244,1074,9.043,1104,12.515,1105,17.716,1106,16.215,1107,13.838,1108,10.311,1109,13.783,1110,6.061,1111,9.244,1112,12.082]],["keywords/91",[]],["title/92",[1113,1363.216]],["content/92",[9,3.075,14,3.881,19,5.565,23,3.457,25,5.212,34,4.214,41,3.986,46,4.804,48,3.637,59,1.867,62,6.585,77,5.514,85,4.073,86,5.258,106,7.516,117,11.151,122,3.833,140,3.653,144,2.834,146,5.673,188,4.446,197,4.858,200,6.067,202,3.813,204,2.912,205,3.518,219,6.067,251,5.717,286,3.236,287,6.22,294,6.353,296,7.222,322,3.398,380,7.765,383,5.354,390,3.653,404,3.064,423,3.277,429,4.187,467,2.19,486,2.986,489,3.963,500,3.707,520,4.279,524,6.011,534,3.57,540,6.129,545,3.416,613,6.75,623,4.372,624,4.542,710,6.464,716,6.949,733,7.444,734,8.045,756,4.824,771,9.759,796,6.585,804,3.104,832,1.691,836,8.208,840,2.952,842,4.522,847,1.254,873,5.696,905,10.114,925,2.348,931,2.896,949,5.424,963,7.711,976,3.469,989,11.69,992,5.514,1007,5.212,1018,2.977,1076,11.093,1078,5.212,1079,6.353,1110,2.783,1113,7.444,1114,13.044,1115,8.492,1116,7.032,1117,6.866,1118,11.844,1119,7.711,1120,3.665,1121,8.492,1122,5.572,1123,8.045,1124,8.492,1125,8.045,1126,7.711,1127,6.067,1128,8.492,1129,8.045,1130,8.492,1131,8.045,1132,8.045,1133,5.406,1134,6.353,1135,5.984,1136,7.711,1137,6.585,1138,8.492,1139,12.357,1140,8.045,1141,4.302,1142,5.696,1143,7.444,1144,6.353,1145,7.444,1146,4.636,1147,6.251,1148,8.045,1149,5.696,1150,8.492,1151,8.492,1152,8.045,1153,6.866,1154,5.406,1155,8.492,1156,8.492,1157,4.858,1158,5.305]],["keywords/92",[]],["title/93",[1159,1555.113]],["content/93",[16,9.53,26,8.477,85,9.349,346,10.575,467,1.909,802,17.7,804,4.639,832,2.526,847,2.879,989,16.947,1160,19.493,1161,16.578,1162,16.578,1163,11.486]],["keywords/93",[]],["title/94",[1164,1412.056]],["content/94",[1,2.824,6,2.121,9,2.591,15,2.062,21,1.978,31,3.421,34,2.532,36,2.281,41,1.28,46,6.314,48,2.185,50,4.321,59,1.898,68,4.773,85,2.447,90,1.914,122,2.71,140,1.173,146,3.756,155,5.212,157,2.482,174,1.667,187,4.636,204,1.749,205,3.578,215,5.374,220,2.656,235,5.719,236,4.052,250,3.956,257,4.568,260,4.352,269,4.686,274,2.994,275,3.187,283,2.558,285,5.063,286,1.944,287,4.274,319,1.789,322,2.041,329,1.789,355,3.552,362,3.662,363,0.77,390,2.583,397,4.036,404,1.841,408,2.3,417,1.885,429,5.151,443,1.944,449,3.054,455,4.628,464,4.738,467,2.566,476,3.595,477,2.686,481,3.054,486,3.036,505,3.894,513,2.821,516,5.463,520,2.571,524,3.017,525,5.534,540,1.969,545,0.978,548,3.684,554,1.92,556,2.824,624,2.47,625,2.447,692,1.846,699,4.636,702,3.029,730,3.347,804,2.672,807,3.06,815,5.608,820,5.191,832,0.661,836,3.861,838,1.294,840,1.774,842,2.994,847,0.753,848,6.53,866,2.329,870,5.128,876,2.272,882,2.821,885,6.156,889,2.493,892,7.901,900,2.219,909,3.247,920,3.995,925,4.97,926,2.983,941,6.169,944,1.525,945,6.952,949,2.121,965,5.728,966,5.666,968,3.187,969,3.104,1004,2.803,1014,2.852,1018,1.789,1023,4.632,1026,4.339,1033,6.776,1039,3.422,1048,2.185,1061,2.898,1068,2.734,1090,4.472,1133,3.247,1146,4.715,1164,4.632,1165,5.608,1166,6.006,1167,6.006,1168,6.006,1169,6.006,1170,2.447,1171,11.998,1172,8.636,1173,8.636,1174,5.102,1175,4.224,1176,4.224,1177,5.102,1178,6.982,1179,9.079,1180,4.124,1181,3.645,1182,5.102,1183,8.636,1184,4.339,1185,5.102,1186,5.102,1187,3.956,1188,6.832,1189,3.461,1190,5.102,1191,4.224,1192,3.755,1193,5.102,1194,4.632,1195,5.102,1196,3.131,1197,3.883,1198,4.574,1199,3.817,1200,4.224,1201,8.023,1202,5.102,1203,5.102,1204,3.817,1205,2.545,1206,5.102,1207,3.504,1208,3.894,1209,5.102,1210,4.715,1211,4.472,1212,10.028,1213,7.619,1214,4.601,1215,2.464,1216,3.384,1217,5.102,1218,5.102,1219,5.102,1220,5.102,1221,4.224,1222,5.102,1223,4.124,1224,4.339,1225,5.728,1226,6.17,1227,2.37,1228,3.956,1229,5.102,1230,5.102,1231,5.102,1232,5.102,1233,5.102,1234,7.842,1235,5.102,1236,5.102,1237,2.858,1238,2.686,1239,4.632,1240,5.102]],["keywords/94",[]],["title/95",[1241,1412.056]],["content/95",[59,3.877,79,6.917,85,8.459,464,7.441,467,2.397,476,15.274,524,5.824,540,6.806,558,7.414,807,3.157,824,4.223,832,2.286,836,8.796,847,2.605,870,10.474,887,8.581,944,5.272,1071,15,1073,14.259,1074,11.572,1241,16.015]],["keywords/95",[]],["title/96",[1242,1412.056]],["content/96",[215,5.241,274,6.078,464,9.875,467,2.392,476,12.355,486,6.164,524,4.711,558,9.078,603,7.37,807,3.138,824,4.198,832,2.272,836,8.625,847,2.59,848,7.746,870,10.412,873,11.759,944,5.241,1014,5.79,1068,9.396,1069,14.518,1242,15.92]],["keywords/96",[]],["title/97",[1243,1412.056]],["content/97",[16,9.111,50,5.018,319,6.533,467,2.442,540,7.191,545,3.572,617,12.1,743,7.666,832,2.415,847,2.752,925,6.197,1018,6.533,1243,16.921,1244,16.921,1245,13.941,1246,13.508,1247,15.066,1248,18.635]],["keywords/97",[]],["title/98",[1249,1412.056]],["content/98",[9,2.987,13,6.405,22,6.684,34,5.16,46,5.424,50,4.088,58,5.935,59,3.942,188,5.444,215,4.538,229,5.607,230,4.896,236,2.465,274,6.217,287,3.364,344,8.288,390,2.392,423,4.013,429,3.338,467,2.57,486,3.656,500,6.628,524,4.079,545,2.91,600,2.806,634,6.175,729,6.752,731,14.075,735,8.063,807,2.717,820,5.8,824,2.49,832,1.348,836,7.969,847,1.536,849,10.332,870,9.015,885,6.265,886,4.789,889,3.001,892,8.318,900,6.602,905,8.063,920,4.81,941,8.341,944,3.108,945,6.438,949,4.324,956,7.328,965,6.897,966,6.823,983,4.831,1004,5.713,1008,5.213,1042,12.912,1061,5.907,1062,6.974,1110,3.407,1122,6.823,1135,7.328,1158,6.496,1165,6.752,1166,7.232,1167,7.232,1168,7.232,1169,7.232,1249,9.442,1250,10.399,1251,9.442,1252,10.399,1253,4.339,1254,7.915,1255,9.442,1256,6.556,1257,9.115,1258,9.442,1259,10.399,1260,9.851,1261,5.109,1262,7.915,1263,7.141]],["keywords/98",[]],["title/99",[1264,1412.056]],["content/99",[9,2.567,13,3.982,21,2.162,22,10.889,46,5.125,50,3.805,58,3.69,59,2.075,83,4.506,122,2.278,140,2.171,162,4.781,167,6.651,193,2.063,215,4.224,223,5.743,229,5.089,230,4.444,255,3.377,274,3.272,362,3.225,390,2.171,404,3.405,423,3.642,467,2.605,486,3.318,524,4.552,540,3.642,545,1.809,548,4.027,563,6.947,625,4.527,644,6.067,676,7.466,711,5.65,726,5.844,731,10.889,735,7.319,804,2.246,807,2.529,812,5.175,820,4.571,823,4.886,824,2.26,832,1.223,836,7.75,842,3.272,847,1.394,849,8.143,870,8.392,885,5.977,889,2.724,892,7.936,900,4.105,920,4.366,941,7.764,944,6.021,945,5.844,949,5.876,956,6.651,965,6.26,966,6.193,976,3.855,981,6.33,1004,5.185,1068,5.058,1122,6.193,1135,6.651,1158,5.896,1165,6.129,1166,6.564,1167,6.564,1168,6.564,1169,9.828,1251,12.832,1254,7.184,1255,8.57,1256,5.951,1257,8.274,1264,8.57,1265,6.651,1266,4.732,1267,9.438,1268,9.438,1269,5.399,1270,8.57,1271,8.027,1272,9.442,1273,9.438,1274,6.947,1275,9.438,1276,7.319,1277,9.438,1278,9.438,1279,5.844,1280,8.941,1281,6.651,1282,9.438,1283,9.438]],["keywords/99",[]],["title/100",[21,278.126,1097,1102.381]],["content/100",[]],["keywords/100",[]],["title/101",[1284,1412.056]],["content/101",[832,2.723,847,3.103,885,6.677,1284,19.08]],["keywords/101",[]],["title/102",[1285,1412.056]],["content/102",[832,2.723,847,3.103,885,6.677,1285,19.08]],["keywords/102",[]],["title/103",[1286,1412.056]],["content/103",[832,2.723,847,3.103,885,6.677,1286,19.08]],["keywords/103",[]],["title/104",[1287,1412.056]],["content/104",[832,2.723,847,3.103,885,6.677,1287,19.08]],["keywords/104",[]],["title/105",[21,278.126,889,350.402]],["content/105",[]],["keywords/105",[]],["title/106",[1288,1412.056]],["content/106",[106,11.613,644,12.956,807,3.607,889,5.817,1288,18.302,1289,15.629,1290,15.629,1291,17.565,1292,15.629]],["keywords/106",[]],["title/107",[1293,1412.056]],["content/107",[9,2.954,187,8.047,363,2.943,505,8.789,592,10.779,612,11.963,624,5.575,836,6.702,965,12.929,1007,11.963,1103,10.384,1293,17.7,1294,9.53,1295,19.493,1296,17.7]],["keywords/107",[]],["title/108",[1297,1412.056]],["content/108",[363,3.517,475,5.547,726,12.312,816,13.047,824,4.761,832,2.577,847,2.937,889,5.739,913,12.101,1297,18.056,1298,17.432]],["keywords/108",[]],["title/109",[1299,1412.056]],["content/109",[106,11.613,644,12.956,807,3.607,889,5.817,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1299,18.302,1300,17.142]],["keywords/109",[]],["title/110",[1301,1412.056]],["content/110",[106,11.613,644,12.956,807,3.607,889,5.817,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1301,18.302,1302,20.156]],["keywords/110",[]],["title/111",[1303,1412.056]],["content/111",[106,11.613,644,12.956,889,5.817,1165,13.088,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1303,18.302,1304,20.156]],["keywords/111",[]],["title/112",[1305,1412.056]],["content/112",[9,2.993,187,8.154,505,8.906,612,12.123,624,5.649,836,6.792,966,12.96,1007,12.123,1103,10.523,1294,9.657,1296,17.936,1305,17.936,1306,18.713]],["keywords/112",[]],["title/113",[1307,1412.056]],["content/113",[363,2.943,726,12.069,824,4.667,832,2.526,847,2.879,889,6.645,920,9.017,921,10.035,1289,17.852,1290,15.115,1291,14.583,1292,15.115,1307,17.7]],["keywords/113",[]],["title/114",[1308,1412.056]],["content/114",[467,2.057,804,5,924,7.07,1308,19.08]],["keywords/114",[]],["title/115",[21,278.126,1165,788.314]],["content/115",[]],["keywords/115",[]],["title/116",[1309,1555.113]],["content/116",[807,3.734,832,2.704,847,3.082,1165,13.548,1310,20.865]],["keywords/116",[]],["title/117",[21,278.126,827,745.108]],["content/117",[]],["keywords/117",[]],["title/118",[1311,1555.113]],["content/118",[50,4.749,155,10.644,285,7.953,286,6.72,423,6.806,467,1.727,486,6.201,545,4.155,611,12.601,640,12.982,668,12.982,677,7.887,827,15.7,829,11.829,832,2.286,847,2.605,1208,7.953,1269,10.09,1312,17.637,1313,17.637,1314,17.637,1315,21.676,1316,17.637,1317,17.637]],["keywords/118",[]],["title/119",[1318,1555.113]],["content/119",[259,9.799,274,6.67,286,7.331,423,7.424,467,1.884,486,6.764,545,4.379,613,6.145,823,9.96,827,14.955,832,2.494,847,2.842,1117,15.555,1319,19.24]],["keywords/119",[]],["title/120",[21,278.126,993,715.359]],["content/120",[]],["keywords/120",[]],["title/121",[1320,1363.216]],["content/121",[9,3.603,14,4.442,15,7.348,251,7.967,273,5.662,498,13.38,545,4.559,700,11.156,842,6.302,856,10.97,993,10.711,994,14.697,1061,10.326,1320,15.935,1321,16.506,1322,19.355,1323,17.221,1324,15.935,1325,18.178,1326,17.221,1327,18.178]],["keywords/121",[]],["title/122",[1328,1412.056]],["content/122",[21,5.487,1328,18.946,1329,12.591,1330,18.946]],["keywords/122",[]],["title/123",[1331,1322.558]],["content/123",[16,9.406,467,1.884,540,7.424,545,3.688,789,8.466,824,4.606,832,2.494,847,2.842,856,11.611,873,12.904,993,11.337,1330,17.47,1331,19.429,1332,14.645,1333,12.02,1334,19.24]],["keywords/123",[]],["title/124",[21,278.126,984,615.022]],["content/124",[]],["keywords/124",[]],["title/125",[1335,1412.056]],["content/125",[14,4.497,21,4.216,193,4.022,205,7.625,255,4.397,467,2.178,615,13.149,688,9.984,732,11.016,807,3.294,832,2.385,842,6.38,847,2.718,883,8.513,925,5.088,944,5.501,982,5.324,1335,16.711,1336,8.264,1337,15.24,1338,13.768,1339,18.404,1340,18.404]],["keywords/125",[]],["title/126",[1341,1412.056]],["content/126",[6,6.223,9,2.268,14,4.773,175,8.686,187,6.178,205,8.093,239,10.155,255,3.576,285,6.748,287,6.318,344,8.17,362,3.415,363,2.259,417,5.529,467,2.401,486,5.262,513,8.275,525,8.181,545,3.744,661,5.035,700,9.185,807,2.679,808,7.542,812,5.48,820,4.841,830,9.266,832,1.94,842,5.189,847,2.21,883,6.923,885,6.207,886,6.893,892,8.241,925,4.138,941,8.222,982,4.329,1061,8.501,1092,8.119,1163,8.818,1272,7.015,1294,7.317,1336,6.72,1341,13.589,1342,18.505,1343,19.534,1344,8.386,1345,14.178]],["keywords/126",[]],["title/127",[1346,1363.216]],["content/127",[14,4.732,205,8.023,255,4.627,467,2.246,807,3.466,832,2.51,842,6.714,847,2.86,883,8.958,925,5.354,982,5.602,1274,16.881,1336,8.696,1346,16.976]],["keywords/127",[]],["title/128",[1347,1412.056]],["content/128",[467,2.001,807,3.657,832,2.648,847,3.018,883,9.452,982,5.911,1336,9.175,1347,18.554]],["keywords/128",[]],["title/129",[1348,1322.558]],["content/129",[193,4.151,255,4.538,467,2.576,807,3.399,832,2.462,847,2.805,883,8.786,925,5.251,982,5.495,1004,10.435,1269,10.865,1336,8.529,1348,16.153]],["keywords/129",[]],["title/130",[1349,1412.056]],["content/130",[9,3.296,14,4.335,122,4.283,190,16.276,255,4.239,287,5.739,467,2.465,545,3.401,807,3.176,832,2.3,847,2.621,883,8.207,960,7.902,982,6.294,1208,9.81,1336,7.967,1349,16.111,1350,14.036,1351,14.692,1352,11.768,1353,16.809,1354,17.743]],["keywords/130",[]],["title/131",[1355,1287.729]],["content/131",[6,6.254,14,3.675,63,6.166,122,5.262,193,4.764,205,6.232,255,3.594,287,4.865,310,5.334,363,2.959,453,7.661,467,2.58,556,3.783,592,8.317,600,4.059,807,2.692,832,1.95,847,2.222,849,8.667,882,8.317,883,6.958,925,5.418,944,4.496,982,4.351,1004,11.976,1092,10.632,1269,12.47,1321,13.658,1322,13.186,1336,6.754,1355,12.456,1356,13.658,1357,15.042,1358,13.459,1359,15.042,1360,13.186]],["keywords/131",[]],["title/132",[1361,1412.056]],["content/132",[6,7.512,14,4.415,205,7.485,255,4.317,467,2.477,545,3.463,807,3.234,832,2.342,837,13.275,838,4.582,847,2.668,883,8.357,885,5.741,892,7.622,925,4.995,982,6.861,1092,9.802,1336,8.113,1361,16.405,1362,14.009]],["keywords/132",[]],["title/133",[1363,1412.056]],["content/133",[14,5.22,106,9.926,205,7.137,255,4.116,286,6.564,404,6.215,467,2.525,624,4.927,789,7.581,807,3.083,832,2.233,842,5.973,847,2.544,883,7.969,924,5.796,925,4.763,944,6.942,982,4.984,1336,7.736,1363,15.643,1364,16.566,1365,11.831,1366,7.833,1367,15.643,1368,14.651]],["keywords/133",[]],["title/134",[1369,1322.558]],["content/134",[6,7.04,9,2.566,14,4.137,122,5.562,188,8.864,193,3.7,197,9.686,205,7.015,236,5.009,255,4.046,323,7.279,363,2.556,467,2.515,735,13.129,743,6.965,807,3.031,832,2.194,847,2.501,883,7.832,925,4.681,944,5.061,982,4.898,1004,9.302,1092,9.186,1215,4.831,1269,9.686,1336,7.603,1369,14.4,1370,12.463]],["keywords/134",[]],["title/135",[1371,1322.558]],["content/135",[6,8,14,4.701,205,7.971,255,4.597,467,2.237,548,9.747,807,3.444,832,2.494,847,2.842,883,8.9,925,5.319,982,5.566,1092,10.438,1336,8.639,1371,16.363]],["keywords/135",[]],["title/136",[1372,1412.056]],["content/136",[14,4.525,67,10.594,76,13.05,122,4.47,205,7.672,255,4.425,273,5.768,363,3.371,467,2.186,625,8.882,807,3.314,832,2.4,842,6.42,847,2.735,883,8.566,889,5.345,925,5.12,982,5.357,1336,8.316,1372,16.815,1373,9.985]],["keywords/136",[]],["title/137",[1374,1412.056]],["content/137",[6,7.748,14,4.553,190,13.941,205,7.72,255,4.453,390,5.155,467,2.499,807,3.335,832,2.415,847,2.752,883,8.62,925,5.152,982,6.484,1092,10.11,1336,8.368,1374,16.921]],["keywords/137",[]],["title/138",[1375,1412.056]],["content/138",[255,4.509,467,2.545,807,3.378,832,2.446,847,2.787,883,8.73,885,5.997,892,7.962,925,5.218,982,6.533,1336,8.474,1362,14.634,1375,17.136,1376,17.136]],["keywords/138",[]],["title/139",[1377,1555.113]],["content/139",[14,4.582,106,10.805,255,4.481,286,7.145,322,7.504,390,4.313,467,2.203,516,9.124,807,3.356,832,2.431,847,2.77,883,8.675,925,5.185,982,6.973,1336,8.421,1366,8.527,1378,18.753,1379,13.398]],["keywords/139",[]],["title/140",[1380,1412.056]],["content/140",[9,2.61,14,5.22,21,3.947,48,7.378,190,17.373,205,7.137,255,5.104,467,2.49,545,4.095,804,5.526,807,3.083,820,5.572,832,2.233,842,5.973,847,2.544,883,7.969,925,4.763,928,9.786,982,6.18,1336,7.736,1380,15.643,1381,17.227]],["keywords/140",[]],["title/141",[1382,1412.056]],["content/141",[255,4.688,467,2.484,807,3.512,832,2.543,847,2.898,856,11.841,883,9.076,925,5.425,982,5.676,1336,8.811,1382,17.817]],["keywords/141",[]],["title/142",[1383,1412.056]],["content/142",[467,2.001,807,3.657,832,2.648,847,3.018,883,9.452,982,5.911,1336,9.175,1383,18.554]],["keywords/142",[]],["title/143",[1384,1412.056]],["content/143",[255,4.688,467,2.263,807,3.512,832,2.543,847,2.898,883,9.076,925,5.425,982,5.676,986,14.443,1336,8.811,1384,17.817,1385,7.43,1386,12.258]],["keywords/143",[]],["title/144",[1387,1412.056]],["content/144",[255,4.509,467,2.545,807,3.378,832,2.446,847,2.787,883,8.73,885,5.997,892,7.962,925,5.218,982,6.533,1336,8.474,1362,14.634,1376,17.136,1387,17.136]],["keywords/144",[]],["title/145",[1388,1363.216]],["content/145",[6,7.081,14,4.161,59,4.663,63,6.98,79,8.319,205,7.055,215,5.09,255,4.069,363,2.571,467,2.436,545,3.264,600,4.595,688,9.239,719,7.877,807,3.048,832,2.207,836,5.855,847,2.515,883,7.877,885,5.411,887,8.285,892,7.185,925,4.708,944,5.09,982,4.926,1092,9.239,1336,7.647,1388,14.928,1389,17.029,1390,11.173,1391,13.205]],["keywords/145",[]],["title/146",[1392,1363.216]],["content/146",[193,4.125,255,4.509,467,2.573,807,3.378,832,2.446,847,2.787,883,8.73,925,5.218,982,5.46,1004,10.368,1269,10.796,1336,8.474,1392,16.544,1393,13.483]],["keywords/146",[]],["title/147",[986,1144.672]],["content/147",[6,7.748,14,4.553,205,7.72,255,4.453,467,2.499,807,3.335,832,2.415,847,2.752,883,8.62,925,6.197,944,6.7,982,5.391,986,13.717,1092,10.11,1336,8.368,1373,10.048]],["keywords/147",[]],["title/148",[1394,1363.216]],["content/148",[6,7.04,9,2.566,14,5.164,122,5.824,193,3.7,205,7.015,236,5.009,248,7.902,255,4.046,363,2.556,467,2.515,516,8.238,571,9.756,807,3.031,832,2.194,847,2.501,883,7.832,925,4.681,944,5.061,982,4.898,1004,9.302,1092,9.186,1215,6.031,1269,9.686,1336,7.603,1394,14.843]],["keywords/148",[]],["title/149",[1395,1363.216]],["content/149",[193,4.125,255,4.509,467,2.573,807,3.378,832,2.446,847,2.787,883,8.73,925,5.218,982,5.46,1004,10.368,1269,10.796,1336,8.474,1393,13.483,1395,16.544]],["keywords/149",[]],["title/150",[1396,1555.113]],["content/150",[14,4.671,106,11.014,205,7.92,255,4.567,467,2.228,545,3.664,807,3.421,832,2.478,847,2.823,883,8.842,925,5.285,982,6.584,1269,13.019,1336,8.584,1397,19.116]],["keywords/150",[]],["title/151",[1398,1555.113]],["content/151",[467,2.299,807,3.607,832,2.612,847,2.977,883,9.323,982,6.792,1336,9.051,1399,20.156]],["keywords/151",[]],["title/152",[21,278.126,1400,1032.511]],["content/152",[]],["keywords/152",[]],["title/153",[1401,1555.113]],["content/153",[193,4.528,467,2.029,804,4.93,832,2.685,847,3.06,1402,20.719]],["keywords/153",[]],["title/154",[21,278.126,1403,908.26]],["content/154",[]],["keywords/154",[]],["title/155",[1404,1412.056]],["content/155",[807,3.815,1404,19.354]],["keywords/155",[]],["title/156",[1405,1412.056]],["content/156",[807,3.815,1405,19.354]],["keywords/156",[]],["title/157",[1406,1412.056]],["content/157",[823,11.034,1406,19.354]],["keywords/157",[]],["title/158",[1407,1412.056]],["content/158",[363,3.064,726,12.564,824,4.859,832,2.63,847,2.997,889,5.857,920,9.387,921,10.448,1407,18.427]],["keywords/158",[]],["title/159",[1408,1412.056]],["content/159",[467,2.057,804,5,924,7.07,1408,19.08]],["keywords/159",[]],["title/160",[21,278.126,1409,1311.126]],["content/160",[]],["keywords/160",[]],["title/161",[1410,1555.113]],["content/161",[545,3.944,807,3.683,824,4.926,832,2.667,847,3.039,982,5.952,1410,20.575]],["keywords/161",[]],["title/162",[21,278.126,920,561.582]],["content/162",[]],["keywords/162",[]],["title/163",[1411,1412.056]],["content/163",[807,3.815,1411,19.354]],["keywords/163",[]],["title/164",[1412,1412.056]],["content/164",[807,3.815,1412,19.354]],["keywords/164",[]],["title/165",[1413,1412.056]],["content/165",[807,3.815,1413,19.354]],["keywords/165",[]],["title/166",[1414,1412.056]],["content/166",[132,14.021,286,6.451,390,3.894,443,6.451,467,2.432,556,4.259,807,3.031,832,2.739,847,2.501,923,15.375,924,5.697,925,4.681,926,9.901,928,9.618,929,13.453,930,7.572,931,5.774,932,15.375,933,15.454,936,15.375,940,15.375,1403,12.667,1414,15.375,1415,14.4,1416,13.689,1417,16.041,1418,16.932,1419,16.932,1420,16.932,1421,16.932]],["keywords/166",[]],["title/167",[21,278.126,46,367.265]],["content/167",[]],["keywords/167",[]],["title/168",[1422,1555.113]],["content/168",[7,9.663,46,6.832,363,2.849,467,1.848,475,5.265,832,2.927,847,2.787,889,5.447,913,11.484,930,8.44,931,6.436,1422,18.873,1423,14.365,1424,20.381,1425,18.873,1426,20.381,1427,20.381,1428,20.381]],["keywords/168",[]],["title/169",[21,278.126,1429,1150.133]],["content/169",[]],["keywords/169",[]],["title/170",[1430,1412.056]],["content/170",[352,12.316,556,5.175,807,3.683,824,4.926,840,7.153,1430,18.683,1431,10.772]],["keywords/170",[]],["title/171",[1432,1412.056]],["content/171",[52,13.101,215,5.905,352,11.824,467,1.934,613,6.308,804,5.522,807,3.535,824,4.729,840,6.867,1432,17.936,1433,12.02,1434,11.92]],["keywords/171",[]],["title/172",[21,278.126,845,1032.511]],["content/172",[]],["keywords/172",[]],["title/173",[846,1412.056]],["content/173",[16,8.623,59,5.159,68,7.497,83,8.42,215,7.317,257,6.098,467,2.397,540,6.806,548,7.525,600,4.76,804,5.158,805,13.952,807,3.157,808,8.888,812,7.937,820,5.705,832,2.286,846,16.015,847,2.605,848,7.792,849,10.162]],["keywords/173",[]],["title/174",[850,1412.056]],["content/174",[1,3.403,14,3.306,16,6.615,21,3.1,41,3.396,140,4.202,149,6.343,193,2.957,209,8.613,229,7.296,243,7.854,257,8.774,262,7.854,309,9.809,310,4.798,387,11.205,390,3.112,409,12.694,450,8.166,467,2.426,482,7.854,524,3.636,540,5.222,556,3.403,600,3.651,787,7.913,804,5.27,807,3.27,808,9.207,813,10.704,815,14.381,816,8.878,818,12.287,820,5.909,832,1.754,847,1.998,850,12.287,851,13.531,852,16.015,853,16.015,854,17.308,855,12.287,856,8.166,857,9.411,858,12.819,859,11.508,860,7.634,861,11.508,862,8.532,863,6.232,864,10.94]],["keywords/174",[]],["title/175",[865,1412.056]],["content/175",[46,6.312,807,3.734,863,9.61,865,18.946,866,9.527]],["keywords/175",[]],["title/176",[867,1412.056]],["content/176",[46,6.312,807,3.734,866,9.527,867,18.946,868,13.281]],["keywords/176",[]],["title/177",[21,278.126,805,960.405]],["content/177",[]],["keywords/177",[]],["title/178",[806,1412.056]],["content/178",[46,6.056,59,4.401,141,6.013,257,8.085,329,7.019,806,18.178,807,3.583,808,10.088,809,15.238,810,14.736]],["keywords/178",[]],["title/179",[811,1412.056]],["content/179",[46,5.975,141,5.933,257,8.022,329,6.925,467,1.934,548,8.427,804,4.701,808,9.954,809,15.035,810,14.539,811,17.936,812,7.232]],["keywords/179",[]],["title/180",[21,278.126,821,924.103]],["content/180",[]],["keywords/180",[]],["title/181",[831,1322.558]],["content/181",[7,9.916,257,6.695,310,6.867,363,2.924,438,10.378,556,5.768,807,3.466,824,4.636,827,11.885,830,11.99,832,2.51,833,19.366,834,17.584,835,14.255,836,6.658]],["keywords/181",[]],["title/182",[831,1322.558]],["content/182",[215,5.606,355,7.714,545,3.595,556,4.717,721,13.804,824,4.49,827,13.808,831,15.949,832,2.431,834,17.028,836,7.736,837,13.577,838,4.756,839,17.766,840,6.52,841,17.766,842,6.501,843,14.835]],["keywords/182",[]],["title/183",[844,1412.056]],["content/183",[14,4.993,274,7.084,824,4.892,827,14.525,828,6.766,830,12.651,844,18.554]],["keywords/183",[]],["title/184",[21,278.126,813,960.405]],["content/184",[]],["keywords/184",[]],["title/185",[814,1412.056]],["content/185",[46,5.975,141,5.933,257,8.022,329,6.925,556,4.968,613,6.308,807,3.535,809,15.035,810,14.539,814,17.936,815,12.826,816,12.96]],["keywords/185",[]],["title/186",[817,1412.056]],["content/186",[46,5.897,141,5.855,257,7.96,329,6.834,343,6.611,467,1.909,613,6.225,804,4.639,808,9.823,809,14.837,810,14.348,816,12.79,817,17.7,818,17.7]],["keywords/186",[]],["title/187",[819,1412.056]],["content/187",[46,5.858,141,5.816,257,7.929,329,6.789,343,6.568,409,11.885,467,1.896,613,6.185,804,4.608,807,3.466,809,14.741,810,14.255,816,12.706,819,17.584,820,6.264]],["keywords/187",[]],["title/188",[21,278.126,821,924.103]],["content/188",[]],["keywords/188",[]],["title/189",[822,1412.056]],["content/189",[390,4.799,822,18.946,823,10.801,824,4.995,825,20.865]],["keywords/189",[]],["title/190",[826,1412.056]],["content/190",[14,4.959,274,7.036,824,4.859,826,18.427,827,14.467,828,6.72,829,13.611,830,12.564]],["keywords/190",[]],["title/191",[21,278.126,836,417.425]],["content/191",[]],["keywords/191",[]],["title/192",[869,1412.056]],["content/192",[771,14.68,824,4.698,832,2.543,836,8.448,847,2.898,866,8.96,869,17.817,870,11.652,871,19.622,872,12.875,873,13.16,874,17.817]],["keywords/192",[]],["title/193",[875,1412.056]],["content/193",[556,5.104,620,8.348,807,3.632,836,8.105,875,18.427,876,9.038,877,17.79,878,13.315]],["keywords/193",[]],["title/194",[879,1412.056]],["content/194",[59,4.342,359,12.915,620,8.125,807,3.535,824,4.729,836,7.978,879,17.936,880,19.753,881,17.936,882,10.922,883,9.137]],["keywords/194",[]],["title/195",[884,1412.056]],["content/195",[59,4.523,79,8.07,836,7.074,884,18.683,885,6.538,886,9.476,887,10.01]],["keywords/195",[]],["title/196",[888,1412.056]],["content/196",[9,2.878,14,5.54,46,6.858,59,4.175,79,7.449,404,6.853,467,1.86,540,8.748,737,11.191,804,5.395,836,7.795,888,17.246,889,6.543]],["keywords/196",[]],["title/197",[890,1412.056]],["content/197",[59,4.517,68,9.595,140,3.724,215,6.748,274,5.614,398,6.806,464,6.831,467,2.399,486,7.225,540,6.248,556,4.073,721,11.919,807,2.898,832,2.099,836,8.61,847,2.391,848,7.154,878,13.483,885,5.145,890,14.703,891,16.192,892,6.831,893,13.091,894,9.853,895,16.192,896,15.34,897,9.938,898,8.246,899,16.192,900,7.042]],["keywords/197",[]],["title/198",[901,1412.056]],["content/198",[188,10.341,215,5.905,464,8.334,488,14.319,524,5.307,597,9.802,807,3.535,836,6.792,848,8.727,877,20.34,901,17.936,902,18.713]],["keywords/198",[]],["title/199",[903,1555.113]],["content/199",[357,7.828,671,13.836,737,11.411,824,4.636,832,2.51,836,8.685,847,2.86,872,12.706,873,12.988,904,19.366,905,15.016,906,16.976,907,13.646]],["keywords/199",[]],["title/200",[908,1412.056]],["content/200",[343,6.7,737,11.639,824,4.729,832,2.56,836,8.471,847,2.917,872,12.96,906,17.315,907,13.919,908,17.936,909,12.573]],["keywords/200",[]],["title/201",[21,278.126,910,1032.511]],["content/201",[]],["keywords/201",[]],["title/202",[911,1555.113]],["content/202",[467,2.029,807,3.708,832,2.685,847,3.06,885,6.584,912,20.719]],["keywords/202",[]],["title/203",[21,278.126,1435,1214.065]],["content/203",[]],["keywords/203",[]],["title/204",[1436,1555.113]],["content/204",[7,10.114,46,7.453,358,7.232,363,2.982,467,1.934,804,4.701,820,6.389,832,2.56,847,2.917,1436,19.753,1437,7.342]],["keywords/204",[]],["title/205",[1438,1555.113]],["content/205",[7,10.114,46,5.975,358,7.232,363,2.982,380,9.657,467,1.934,804,4.701,820,6.389,832,2.56,847,2.917,1437,7.342,1438,19.753,1439,18.713]],["keywords/205",[]],["title/206",[1440,1555.113]],["content/206",[7,10.391,46,6.139,358,7.431,823,10.505,824,4.859,981,13.611,982,5.871,1437,7.543,1440,20.294]],["keywords/206",[]],["title/207",[1441,1555.113]],["content/207",[7,10.32,46,7.103,358,7.38,380,9.854,807,3.607,856,14.169,1437,7.492,1441,20.156]],["keywords/207",[]],["title/208",[21,278.126,1442,1214.065]],["content/208",[]],["keywords/208",[]],["title/209",[1443,1555.113]],["content/209",[7,9.851,32,7.778,46,7.371,236,5.415,380,9.406,540,7.424,623,9.905,742,11.251,835,14.162,928,10.929,1215,6.519,1443,19.24,1444,17.47]],["keywords/209",[]],["title/210",[1445,1555.113]],["content/210",[7,10.182,122,4.8,236,5.521,273,6.194,475,5.547,756,11.296,1215,5.674,1385,7.529,1445,19.885,1446,19.885,1447,18.056]],["keywords/210",[]],["title/211",[1448,1555.113]],["content/211",[7,10.32,122,4.865,236,4.777,475,5.623,571,11.613,756,11.449,1215,5.751,1385,7.632,1446,20.156,1448,20.156]],["keywords/211",[]],["title/212",[21,278.126,46,367.265]],["content/212",[]],["keywords/212",[]],["title/213",[1012,1257.267]],["content/213",[14,5.587,85,7.984,174,5.44,193,4.57,194,7.023,204,5.708,229,8.976,263,9.328,319,5.836,355,6.848,363,3.452,380,8.139,423,6.424,467,1.63,520,8.389,554,7.869,556,4.187,702,9.885,728,7.076,821,12.671,823,8.618,832,2.158,847,2.459,982,4.816,984,8.433,1012,13.459,1013,12.454,1014,5.498,1015,16.574,1016,13.459,1017,13.169,1018,5.836,1019,16.647]],["keywords/213",[]],["title/214",[1012,1257.267]],["content/214",[14,4.671,58,7.473,363,2.886,467,2.379,668,14.071,821,14.55,823,11.781,832,2.478,847,2.823,1012,15.455,1014,7.516,1015,13.857,1020,19.116,1021,19.116]],["keywords/214",[]],["title/215",[1022,1412.056]],["content/215",[9,3.013,16,9.722,287,6.432,429,6.383,832,2.577,847,2.937,949,8.268,1022,18.056,1023,18.056,1024,12.912,1025,14.013,1026,16.912]],["keywords/215",[]],["title/216",[1027,1555.113]],["content/216",[15,7.088,18,8.835,58,6.854,208,9.572,215,5.241,251,7.685,253,12.709,263,9.824,355,8.884,380,8.572,721,15.897,807,3.138,827,10.761,832,2.272,836,8.047,842,6.078,847,2.59,1011,10.331,1028,17.533,1029,17.533,1030,17.533,1031,15.92,1032,17.533,1033,10.581,1034,17.533,1035,17.533,1036,8.977,1037,12.709]],["keywords/216",[]],["title/217",[1038,1412.056]],["content/217",[9,2.138,41,3.542,48,6.043,59,3.102,236,3.344,274,4.892,467,2.449,490,8.252,524,5.049,548,6.02,562,10.459,681,10.557,739,7.517,807,3.781,832,1.829,836,7.264,847,2.084,870,8.38,885,6.713,892,8.913,1033,8.516,1038,12.813,1039,15.733,1040,14.111,1041,14.111,1042,12.001,1043,14.111,1044,14.111,1045,8.016,1046,12.37,1047,14.111,1048,6.043,1049,14.111,1050,12.001,1051,15.981,1052,14.111,1053,12.813,1054,11.685,1055,11.685,1056,10.557,1057,10.387,1058,14.111,1059,10.229,1060,14.111,1061,8.016,1062,9.464,1063,14.111,1064,17.801,1065,14.111,1066,14.111]],["keywords/217",[]],["title/218",[1067,1412.056]],["content/218",[59,3.832,215,5.21,274,6.043,464,9.849,467,2.387,486,6.128,524,4.683,558,9.045,603,7.327,807,3.12,824,4.173,832,2.259,836,8.611,847,2.574,848,7.7,870,10.35,873,11.69,944,5.21,951,10.35,1014,5.756,1067,15.827,1068,9.341,1069,14.433]],["keywords/218",[]],["title/219",[1070,1412.056]],["content/219",[48,8.24,464,8.117,467,2.468,558,8.087,807,3.444,832,2.494,836,8.378,847,2.842,870,11.425,951,11.425,1070,17.47,1071,16.363]],["keywords/219",[]],["title/220",[1072,1412.056]],["content/220",[59,3.9,79,6.959,85,8.51,464,7.486,467,2.402,524,5.845,558,7.458,807,3.176,824,4.248,832,2.3,836,8.808,847,2.621,870,10.536,887,8.632,944,5.304,951,12.919,1071,15.09,1072,16.111,1073,14.345,1074,11.642]],["keywords/220",[]],["title/221",[1075,1412.056]],["content/221",[9,2.608,46,5.206,50,3.339,59,2.726,140,2.852,157,6.033,171,6.839,193,2.71,202,5.568,204,4.252,243,7.197,274,4.299,287,4.011,307,8.859,329,4.347,363,2.598,380,6.062,417,4.581,434,8.583,464,7.26,467,2.331,520,6.248,524,5.31,556,4.971,565,6.769,597,6.153,651,7.483,677,5.545,771,14.786,787,7.251,807,3.08,808,8.672,815,8.051,824,2.969,832,1.607,836,8.344,847,1.831,873,8.316,885,3.94,887,6.033,892,5.231,897,10.562,900,5.392,925,3.428,949,5.155,1008,6.216,1025,8.737,1074,11.291,1075,11.259,1076,10.545,1077,6.812,1078,7.61,1079,9.276,1080,17.209,1081,11.746,1082,12.399,1083,10.869,1084,12.399,1085,10.267,1086,12.399,1087,11.259,1088,11.746,1089,19.764,1090,10.869,1091,13.613,1092,6.727,1093,12.399,1094,12.399,1095,12.399]],["keywords/221",[]],["title/222",[1096,1412.056]],["content/222",[14,4.553,146,8.104,475,5.198,620,7.666,684,15.849,832,2.415,847,2.752,976,7.612,1007,11.437,1039,16.122,1045,10.586,1048,7.981,1096,16.921,1097,16.921,1098,18.635,1099,12.499,1100,12.798,1101,16.921,1102,18.635,1103,9.927]],["keywords/222",[]],["title/223",[1104,1412.056]],["content/223",[59,4.066,97,6.549,204,4.726,236,3.267,258,4.846,274,4.778,283,6.91,286,5.251,293,10.311,362,3.145,467,2.549,524,5.609,641,8.69,804,5.702,807,4.166,820,5.983,832,1.786,836,7.178,847,2.036,866,6.294,870,8.185,885,5.878,886,6.348,892,7.804,944,4.12,1042,15.731,1045,10.507,1061,10.507,1062,9.244,1074,9.043,1104,12.515,1105,17.716,1106,16.215,1107,13.838,1108,10.311,1109,13.783,1110,6.061,1111,9.244,1112,12.082]],["keywords/223",[]],["title/224",[1113,1363.216]],["content/224",[9,3.075,14,3.881,19,5.565,23,3.457,25,5.212,34,4.214,41,3.986,46,4.804,48,3.637,59,1.867,62,6.585,77,5.514,85,4.073,86,5.258,106,7.516,117,11.151,122,3.833,140,3.653,144,2.834,146,5.673,188,4.446,197,4.858,200,6.067,202,3.813,204,2.912,205,3.518,219,6.067,251,5.717,286,3.236,287,6.22,294,6.353,296,7.222,322,3.398,380,7.765,383,5.354,390,3.653,404,3.064,423,3.277,429,4.187,467,2.19,486,2.986,489,3.963,500,3.707,520,4.279,524,6.011,534,3.57,540,6.129,545,3.416,613,6.75,623,4.372,624,4.542,710,6.464,716,6.949,733,7.444,734,8.045,756,4.824,771,9.759,796,6.585,804,3.104,832,1.691,836,8.208,840,2.952,842,4.522,847,1.254,873,5.696,905,10.114,925,2.348,931,2.896,949,5.424,963,7.711,976,3.469,989,11.69,992,5.514,1007,5.212,1018,2.977,1076,11.093,1078,5.212,1079,6.353,1110,2.783,1113,7.444,1114,13.044,1115,8.492,1116,7.032,1117,6.866,1118,11.844,1119,7.711,1120,3.665,1121,8.492,1122,5.572,1123,8.045,1124,8.492,1125,8.045,1126,7.711,1127,6.067,1128,8.492,1129,8.045,1130,8.492,1131,8.045,1132,8.045,1133,5.406,1134,6.353,1135,5.984,1136,7.711,1137,6.585,1138,8.492,1139,12.357,1140,8.045,1141,4.302,1142,5.696,1143,7.444,1144,6.353,1145,7.444,1146,4.636,1147,6.251,1148,8.045,1149,5.696,1150,8.492,1151,8.492,1152,8.045,1153,6.866,1154,5.406,1155,8.492,1156,8.492,1157,4.858,1158,5.305]],["keywords/224",[]],["title/225",[1159,1555.113]],["content/225",[16,9.53,26,8.477,85,9.349,346,10.575,467,1.909,802,17.7,804,4.639,832,2.526,847,2.879,989,16.947,1160,19.493,1161,16.578,1162,16.578,1163,11.486]],["keywords/225",[]],["title/226",[1164,1412.056]],["content/226",[1,2.824,6,2.121,9,2.591,15,2.062,21,1.978,31,3.421,34,2.532,36,2.281,41,1.28,46,6.314,48,2.185,50,4.321,59,1.898,68,4.773,85,2.447,90,1.914,122,2.71,140,1.173,146,3.756,155,5.212,157,2.482,174,1.667,187,4.636,204,1.749,205,3.578,215,5.374,220,2.656,235,5.719,236,4.052,250,3.956,257,4.568,260,4.352,269,4.686,274,2.994,275,3.187,283,2.558,285,5.063,286,1.944,287,4.274,319,1.789,322,2.041,329,1.789,355,3.552,362,3.662,363,0.77,390,2.583,397,4.036,404,1.841,408,2.3,417,1.885,429,5.151,443,1.944,449,3.054,455,4.628,464,4.738,467,2.566,476,3.595,477,2.686,481,3.054,486,3.036,505,3.894,513,2.821,516,5.463,520,2.571,524,3.017,525,5.534,540,1.969,545,0.978,548,3.684,554,1.92,556,2.824,624,2.47,625,2.447,692,1.846,699,4.636,702,3.029,730,3.347,804,2.672,807,3.06,815,5.608,820,5.191,832,0.661,836,3.861,838,1.294,840,1.774,842,2.994,847,0.753,848,6.53,866,2.329,870,5.128,876,2.272,882,2.821,885,6.156,889,2.493,892,7.901,900,2.219,909,3.247,920,3.995,925,4.97,926,2.983,941,6.169,944,1.525,945,6.952,949,2.121,965,5.728,966,5.666,968,3.187,969,3.104,1004,2.803,1014,2.852,1018,1.789,1023,4.632,1026,4.339,1033,6.776,1039,3.422,1048,2.185,1061,2.898,1068,2.734,1090,4.472,1133,3.247,1146,4.715,1164,4.632,1165,5.608,1166,6.006,1167,6.006,1168,6.006,1169,6.006,1170,2.447,1171,11.998,1172,8.636,1173,8.636,1174,5.102,1175,4.224,1176,4.224,1177,5.102,1178,6.982,1179,9.079,1180,4.124,1181,3.645,1182,5.102,1183,8.636,1184,4.339,1185,5.102,1186,5.102,1187,3.956,1188,6.832,1189,3.461,1190,5.102,1191,4.224,1192,3.755,1193,5.102,1194,4.632,1195,5.102,1196,3.131,1197,3.883,1198,4.574,1199,3.817,1200,4.224,1201,8.023,1202,5.102,1203,5.102,1204,3.817,1205,2.545,1206,5.102,1207,3.504,1208,3.894,1209,5.102,1210,4.715,1211,4.472,1212,10.028,1213,7.619,1214,4.601,1215,2.464,1216,3.384,1217,5.102,1218,5.102,1219,5.102,1220,5.102,1221,4.224,1222,5.102,1223,4.124,1224,4.339,1225,5.728,1226,6.17,1227,2.37,1228,3.956,1229,5.102,1230,5.102,1231,5.102,1232,5.102,1233,5.102,1234,7.842,1235,5.102,1236,5.102,1237,2.858,1238,2.686,1239,4.632,1240,5.102]],["keywords/226",[]],["title/227",[1241,1412.056]],["content/227",[59,3.877,79,6.917,85,8.459,464,7.441,467,2.397,476,15.274,524,5.824,540,6.806,558,7.414,807,3.157,824,4.223,832,2.286,836,8.796,847,2.605,870,10.474,887,8.581,944,5.272,1071,15,1073,14.259,1074,11.572,1241,16.015]],["keywords/227",[]],["title/228",[1242,1412.056]],["content/228",[215,5.241,274,6.078,464,9.875,467,2.392,476,12.355,486,6.164,524,4.711,558,9.078,603,7.37,807,3.138,824,4.198,832,2.272,836,8.625,847,2.59,848,7.746,870,10.412,873,11.759,944,5.241,1014,5.79,1068,9.396,1069,14.518,1242,15.92]],["keywords/228",[]],["title/229",[1243,1412.056]],["content/229",[16,9.111,50,5.018,319,6.533,467,2.442,540,7.191,545,3.572,617,12.1,743,7.666,832,2.415,847,2.752,925,6.197,1018,6.533,1243,16.921,1244,16.921,1245,13.941,1246,13.508,1247,15.066,1248,18.635]],["keywords/229",[]],["title/230",[1249,1412.056]],["content/230",[9,2.987,13,6.405,22,6.684,34,5.16,46,5.424,50,4.088,58,5.935,59,3.942,188,5.444,215,4.538,229,5.607,230,4.896,236,2.465,274,6.217,287,3.364,344,8.288,390,2.392,423,4.013,429,3.338,467,2.57,486,3.656,500,6.628,524,4.079,545,2.91,600,2.806,634,6.175,729,6.752,731,14.075,735,8.063,807,2.717,820,5.8,824,2.49,832,1.348,836,7.969,847,1.536,849,10.332,870,9.015,885,6.265,886,4.789,889,3.001,892,8.318,900,6.602,905,8.063,920,4.81,941,8.341,944,3.108,945,6.438,949,4.324,956,7.328,965,6.897,966,6.823,983,4.831,1004,5.713,1008,5.213,1042,12.912,1061,5.907,1062,6.974,1110,3.407,1122,6.823,1135,7.328,1158,6.496,1165,6.752,1166,7.232,1167,7.232,1168,7.232,1169,7.232,1249,9.442,1250,10.399,1251,9.442,1252,10.399,1253,4.339,1254,7.915,1255,9.442,1256,6.556,1257,9.115,1258,9.442,1259,10.399,1260,9.851,1261,5.109,1262,7.915,1263,7.141]],["keywords/230",[]],["title/231",[1264,1412.056]],["content/231",[9,2.567,13,3.982,21,2.162,22,10.889,46,5.125,50,3.805,58,3.69,59,2.075,83,4.506,122,2.278,140,2.171,162,4.781,167,6.651,193,2.063,215,4.224,223,5.743,229,5.089,230,4.444,255,3.377,274,3.272,362,3.225,390,2.171,404,3.405,423,3.642,467,2.605,486,3.318,524,4.552,540,3.642,545,1.809,548,4.027,563,6.947,625,4.527,644,6.067,676,7.466,711,5.65,726,5.844,731,10.889,735,7.319,804,2.246,807,2.529,812,5.175,820,4.571,823,4.886,824,2.26,832,1.223,836,7.75,842,3.272,847,1.394,849,8.143,870,8.392,885,5.977,889,2.724,892,7.936,900,4.105,920,4.366,941,7.764,944,6.021,945,5.844,949,5.876,956,6.651,965,6.26,966,6.193,976,3.855,981,6.33,1004,5.185,1068,5.058,1122,6.193,1135,6.651,1158,5.896,1165,6.129,1166,6.564,1167,6.564,1168,6.564,1169,9.828,1251,12.832,1254,7.184,1255,8.57,1256,5.951,1257,8.274,1264,8.57,1265,6.651,1266,4.732,1267,9.438,1268,9.438,1269,5.399,1270,8.57,1271,8.027,1272,9.442,1273,9.438,1274,6.947,1275,9.438,1276,7.319,1277,9.438,1278,9.438,1279,5.844,1280,8.941,1281,6.651,1282,9.438,1283,9.438]],["keywords/231",[]],["title/232",[21,278.126,1439,1150.133]],["content/232",[]],["keywords/232",[]],["title/233",[1449,1555.113]],["content/233",[9,2.537,15,6.767,21,3.835,122,5.974,208,9.139,248,7.812,273,5.214,274,7.947,363,2.527,380,10.26,467,2.055,540,6.46,571,9.646,605,10.103,743,8.633,830,10.365,832,2.72,842,5.804,847,2.473,926,9.789,930,7.486,931,5.709,1385,6.339,1437,6.223,1449,16.741,1450,13.863,1451,18.079,1452,18.079,1453,15.201,1454,18.079]],["keywords/233",[]],["title/234",[1455,1555.113]],["content/234",[14,5.335,122,4.308,193,5.372,204,6.12,355,8.982,467,2.31,719,8.257,766,8.858,824,4.274,832,2.83,930,7.982,931,6.087,1400,15.181,1437,6.635,1453,16.208,1455,17.85,1456,19.277,1457,16.91,1458,23.582,1459,19.277]],["keywords/234",[]],["title/235",[21,278.126,1460,1214.065]],["content/235",[]],["keywords/235",[]],["title/236",[1461,1555.113]],["content/236",[46,5.948,48,6.475,286,5.76,363,3.299,380,7.391,467,2.634,487,7.391,597,7.502,688,8.202,719,6.993,807,3.519,832,1.959,842,5.241,847,2.233,889,5.675,913,11.965,920,9.096,947,7.32,1007,9.279,1403,14.71,1461,15.119,1462,12.639,1463,11.17,1464,12.488,1465,13.728,1466,11.723,1467,15.119]],["keywords/236",[]],["title/237",[1468,1555.113]],["content/237",[46,4.482,48,6.345,144,4.945,193,3.238,199,9.937,260,7.466,363,3.267,467,2.629,524,3.981,688,8.038,807,3.473,832,1.92,842,6.728,847,2.188,889,5.601,913,11.809,920,8.976,947,7.174,949,6.16,1007,9.093,1390,9.721,1391,11.489,1403,14.518,1462,12.474,1463,11.023,1464,12.408,1465,13.453,1466,11.489,1468,14.816,1469,12.988,1470,8.302]],["keywords/237",[]],["title/238",[1471,1555.113]],["content/238",[14,3.831,358,5.741,363,2.367,467,2.642,545,3.005,807,4.199,832,2.032,847,2.316,889,5.81,913,12.25,920,9.312,982,4.536,984,7.942,1403,15.06,1462,12.94,1463,11.435,1464,12.631,1465,14.236,1471,15.678,1472,14.236,1473,8.255]],["keywords/238",[]],["title/239",[1474,1555.113]],["content/239",[122,3.612,273,4.662,358,5.48,467,2.652,548,6.385,566,8.623,743,6.156,804,5.485,807,3.892,832,1.94,847,2.21,889,5.638,913,11.886,920,9.036,1403,14.613,1462,12.556,1463,11.096,1464,12.448,1465,13.589,1473,7.88,1474,14.966,1475,6.483,1476,10.408,1477,10.849]],["keywords/239",[]],["title/240",[1478,1555.113]],["content/240",[58,6.4,274,7.174,358,7.577,363,2.472,390,3.765,467,2.407,677,7.321,804,4.924,807,2.93,824,4.954,828,5.421,832,2.682,837,9.879,842,5.676,889,4.725,921,8.428,924,5.508,930,7.321,931,5.583,944,6.185,960,7.291,1437,6.085,1464,12.41,1478,16.371,1479,18.788,1480,6.664,1481,15.509,1482,17.68,1483,11.696]],["keywords/240",[]],["title/241",[21,278.126,1484,1214.065]],["content/241",[]],["keywords/241",[]],["title/242",[1485,1555.113]],["content/242",[32,7.768,34,7.244,61,7.599,90,5.476,205,6.048,215,4.363,274,5.061,358,7.866,390,4.42,467,2.496,505,8.665,525,6.114,556,3.672,587,6.005,592,13.117,807,2.613,824,3.495,828,4.833,832,2.491,837,8.809,842,5.061,847,2.156,849,8.411,885,4.638,892,6.159,900,6.348,924,4.911,930,6.528,931,4.978,1014,4.821,1110,4.783,1120,6.299,1208,6.582,1365,10.025,1483,10.429,1485,14.598,1486,20.753,1487,16.526,1488,15.765,1489,10.921,1490,15.765,1491,15.765]],["keywords/242",[]],["title/243",[1492,1555.113]],["content/243",[9,2.18,30,5.943,46,5.757,58,5.623,205,5.96,215,6.785,255,4.547,274,4.987,332,7.853,363,3.22,438,7.709,467,2.375,475,5.95,540,5.551,603,9.541,613,4.594,624,4.114,625,6.899,702,11.302,804,4.529,807,3.406,820,4.653,824,3.444,832,2.467,842,4.987,920,6.654,925,3.977,930,6.433,931,4.905,960,6.407,985,9.438,1215,5.43,1366,8.654,1425,14.385,1483,10.277,1492,14.385,1493,14.385,1494,17.244,1495,15.535,1496,15.535,1497,15.535]],["keywords/243",[]],["title/244",[21,278.126,1498,1150.133]],["content/244",[]],["keywords/244",[]],["title/245",[1499,1555.113]],["content/245",[363,2.796,467,2.347,489,8.642,524,4.976,545,3.55,706,10.174,804,4.407,820,5.99,824,4.434,832,2.894,836,6.367,847,2.735,930,8.281,931,6.315,1499,18.519,1500,18.519,1501,16.234,1502,16.815,1503,17.544,1504,19.999]],["keywords/245",[]],["title/246",[1505,1555.113]],["content/246",[363,2.796,467,2.347,489,8.642,524,4.976,545,3.55,706,10.174,804,4.407,820,5.99,824,4.434,832,2.894,836,6.367,847,2.735,866,8.456,930,8.281,931,6.315,1502,16.815,1503,17.544,1505,18.519,1506,19.999,1507,19.999]],["keywords/246",[]],["title/247",[21,278.126,984,615.022]],["content/247",[]],["keywords/247",[]],["title/248",[1335,1412.056]],["content/248",[14,4.497,21,4.216,193,4.022,205,7.625,255,4.397,467,2.178,615,13.149,688,9.984,732,11.016,807,3.294,832,2.385,842,6.38,847,2.718,883,8.513,925,5.088,944,5.501,982,5.324,1335,16.711,1336,8.264,1337,15.24,1338,13.768,1339,18.404,1340,18.404]],["keywords/248",[]],["title/249",[1341,1412.056]],["content/249",[6,6.223,9,2.268,14,4.773,175,8.686,187,6.178,205,8.093,239,10.155,255,3.576,285,6.748,287,6.318,344,8.17,362,3.415,363,2.259,417,5.529,467,2.401,486,5.262,513,8.275,525,8.181,545,3.744,661,5.035,700,9.185,807,2.679,808,7.542,812,5.48,820,4.841,830,9.266,832,1.94,842,5.189,847,2.21,883,6.923,885,6.207,886,6.893,892,8.241,925,4.138,941,8.222,982,4.329,1061,8.501,1092,8.119,1163,8.818,1272,7.015,1294,7.317,1336,6.72,1341,13.589,1342,18.505,1343,19.534,1344,8.386,1345,14.178]],["keywords/249",[]],["title/250",[1346,1363.216]],["content/250",[14,4.732,205,8.023,255,4.627,467,2.246,807,3.466,832,2.51,842,6.714,847,2.86,883,8.958,925,5.354,982,5.602,1274,16.881,1336,8.696,1346,16.976]],["keywords/250",[]],["title/251",[1347,1412.056]],["content/251",[467,2.001,807,3.657,832,2.648,847,3.018,883,9.452,982,5.911,1336,9.175,1347,18.554]],["keywords/251",[]],["title/252",[1348,1322.558]],["content/252",[193,4.151,255,4.538,467,2.576,807,3.399,832,2.462,847,2.805,883,8.786,925,5.251,982,5.495,1004,10.435,1269,10.865,1336,8.529,1348,16.153]],["keywords/252",[]],["title/253",[1349,1412.056]],["content/253",[9,3.296,14,4.335,122,4.283,190,16.276,255,4.239,287,5.739,467,2.465,545,3.401,807,3.176,832,2.3,847,2.621,883,8.207,960,7.902,982,6.294,1208,9.81,1336,7.967,1349,16.111,1350,14.036,1351,14.692,1352,11.768,1353,16.809,1354,17.743]],["keywords/253",[]],["title/254",[1355,1287.729]],["content/254",[6,6.254,14,3.675,63,6.166,122,5.262,193,4.764,205,6.232,255,3.594,287,4.865,310,5.334,363,2.959,453,7.661,467,2.58,556,3.783,592,8.317,600,4.059,807,2.692,832,1.95,847,2.222,849,8.667,882,8.317,883,6.958,925,5.418,944,4.496,982,4.351,1004,11.976,1092,10.632,1269,12.47,1321,13.658,1322,13.186,1336,6.754,1355,12.456,1356,13.658,1357,15.042,1358,13.459,1359,15.042,1360,13.186]],["keywords/254",[]],["title/255",[1361,1412.056]],["content/255",[6,7.512,14,4.415,205,7.485,255,4.317,467,2.477,545,3.463,807,3.234,832,2.342,837,13.275,838,4.582,847,2.668,883,8.357,885,5.741,892,7.622,925,4.995,982,6.861,1092,9.802,1336,8.113,1361,16.405,1362,14.009]],["keywords/255",[]],["title/256",[1363,1412.056]],["content/256",[14,5.22,106,9.926,205,7.137,255,4.116,286,6.564,404,6.215,467,2.525,624,4.927,789,7.581,807,3.083,832,2.233,842,5.973,847,2.544,883,7.969,924,5.796,925,4.763,944,6.942,982,4.984,1336,7.736,1363,15.643,1364,16.566,1365,11.831,1366,7.833,1367,15.643,1368,14.651]],["keywords/256",[]],["title/257",[1369,1322.558]],["content/257",[6,7.04,9,2.566,14,4.137,122,5.562,188,8.864,193,3.7,197,9.686,205,7.015,236,5.009,255,4.046,323,7.279,363,2.556,467,2.515,735,13.129,743,6.965,807,3.031,832,2.194,847,2.501,883,7.832,925,4.681,944,5.061,982,4.898,1004,9.302,1092,9.186,1215,4.831,1269,9.686,1336,7.603,1369,14.4,1370,12.463]],["keywords/257",[]],["title/258",[1371,1322.558]],["content/258",[6,8,14,4.701,205,7.971,255,4.597,467,2.237,548,9.747,807,3.444,832,2.494,847,2.842,883,8.9,925,5.319,982,5.566,1092,10.438,1336,8.639,1371,16.363]],["keywords/258",[]],["title/259",[1372,1412.056]],["content/259",[14,4.525,67,10.594,76,13.05,122,4.47,205,7.672,255,4.425,273,5.768,363,3.371,467,2.186,625,8.882,807,3.314,832,2.4,842,6.42,847,2.735,883,8.566,889,5.345,925,5.12,982,5.357,1336,8.316,1372,16.815,1373,9.985]],["keywords/259",[]],["title/260",[1374,1412.056]],["content/260",[6,7.748,14,4.553,190,13.941,205,7.72,255,4.453,390,5.155,467,2.499,807,3.335,832,2.415,847,2.752,883,8.62,925,5.152,982,6.484,1092,10.11,1336,8.368,1374,16.921]],["keywords/260",[]],["title/261",[1375,1412.056]],["content/261",[255,4.509,467,2.545,807,3.378,832,2.446,847,2.787,883,8.73,885,5.997,892,7.962,925,5.218,982,6.533,1336,8.474,1362,14.634,1375,17.136,1376,17.136]],["keywords/261",[]],["title/262",[1377,1555.113]],["content/262",[14,4.582,106,10.805,255,4.481,286,7.145,322,7.504,390,4.313,467,2.203,516,9.124,807,3.356,832,2.431,847,2.77,883,8.675,925,5.185,982,6.973,1336,8.421,1366,8.527,1378,18.753,1379,13.398]],["keywords/262",[]],["title/263",[1380,1412.056]],["content/263",[9,2.61,14,5.22,21,3.947,48,7.378,190,17.373,205,7.137,255,5.104,467,2.49,545,4.095,804,5.526,807,3.083,820,5.572,832,2.233,842,5.973,847,2.544,883,7.969,925,4.763,928,9.786,982,6.18,1336,7.736,1380,15.643,1381,17.227]],["keywords/263",[]],["title/264",[1382,1412.056]],["content/264",[255,4.688,467,2.484,807,3.512,832,2.543,847,2.898,856,11.841,883,9.076,925,5.425,982,5.676,1336,8.811,1382,17.817]],["keywords/264",[]],["title/265",[1383,1412.056]],["content/265",[467,2.001,807,3.657,832,2.648,847,3.018,883,9.452,982,5.911,1336,9.175,1383,18.554]],["keywords/265",[]],["title/266",[1384,1412.056]],["content/266",[255,4.688,467,2.263,807,3.512,832,2.543,847,2.898,883,9.076,925,5.425,982,5.676,986,14.443,1336,8.811,1384,17.817,1385,7.43,1386,12.258]],["keywords/266",[]],["title/267",[1387,1412.056]],["content/267",[255,4.509,467,2.545,807,3.378,832,2.446,847,2.787,883,8.73,885,5.997,892,7.962,925,5.218,982,6.533,1336,8.474,1362,14.634,1376,17.136,1387,17.136]],["keywords/267",[]],["title/268",[1388,1363.216]],["content/268",[6,7.081,14,4.161,59,4.663,63,6.98,79,8.319,205,7.055,215,5.09,255,4.069,363,2.571,467,2.436,545,3.264,600,4.595,688,9.239,719,7.877,807,3.048,832,2.207,836,5.855,847,2.515,883,7.877,885,5.411,887,8.285,892,7.185,925,4.708,944,5.09,982,4.926,1092,9.239,1336,7.647,1388,14.928,1389,17.029,1390,11.173,1391,13.205]],["keywords/268",[]],["title/269",[1392,1363.216]],["content/269",[193,4.125,255,4.509,467,2.573,807,3.378,832,2.446,847,2.787,883,8.73,925,5.218,982,5.46,1004,10.368,1269,10.796,1336,8.474,1392,16.544,1393,13.483]],["keywords/269",[]],["title/270",[986,1144.672]],["content/270",[6,7.748,14,4.553,205,7.72,255,4.453,467,2.499,807,3.335,832,2.415,847,2.752,883,8.62,925,6.197,944,6.7,982,5.391,986,13.717,1092,10.11,1336,8.368,1373,10.048]],["keywords/270",[]],["title/271",[1394,1363.216]],["content/271",[6,7.04,9,2.566,14,5.164,122,5.824,193,3.7,205,7.015,236,5.009,248,7.902,255,4.046,363,2.556,467,2.515,516,8.238,571,9.756,807,3.031,832,2.194,847,2.501,883,7.832,925,4.681,944,5.061,982,4.898,1004,9.302,1092,9.186,1215,6.031,1269,9.686,1336,7.603,1394,14.843]],["keywords/271",[]],["title/272",[1395,1363.216]],["content/272",[193,4.125,255,4.509,467,2.573,807,3.378,832,2.446,847,2.787,883,8.73,925,5.218,982,5.46,1004,10.368,1269,10.796,1336,8.474,1393,13.483,1395,16.544]],["keywords/272",[]],["title/273",[1396,1555.113]],["content/273",[14,4.671,106,11.014,205,7.92,255,4.567,467,2.228,545,3.664,807,3.421,832,2.478,847,2.823,883,8.842,925,5.285,982,6.584,1269,13.019,1336,8.584,1397,19.116]],["keywords/273",[]],["title/274",[1398,1555.113]],["content/274",[467,2.299,807,3.607,832,2.612,847,2.977,883,9.323,982,6.792,1336,9.051,1399,20.156]],["keywords/274",[]],["title/275",[21,278.126,1462,780.396]],["content/275",[]],["keywords/275",[]],["title/276",[1508,1555.113]],["content/276",[9,2.847,106,8.131,122,3.406,149,6.614,157,6.865,174,4.612,194,5.953,195,9.944,203,10.387,204,4.838,230,6.644,251,6.185,274,4.892,301,7.961,329,6.588,349,9.944,355,8.69,363,2.13,424,9.259,443,5.376,467,2.206,545,2.705,556,3.549,613,4.507,653,9.944,657,10.229,739,7.517,820,4.564,824,3.378,832,2.435,840,4.906,856,8.516,930,6.31,931,6.408,960,6.285,981,12.603,982,5.436,983,6.556,984,12.221,1011,8.315,1033,8.516,1061,8.016,1437,8.373,1508,14.111,1509,15.239,1510,15.239,1511,11.163,1512,8.587,1513,15.239,1514,15.239,1515,12.001,1516,13.368,1517,14.111,1518,12.37]],["keywords/276",[]],["title/277",[1519,1555.113]],["content/277",[7,7.157,9,2.829,106,8.054,122,3.374,149,6.552,157,6.801,194,5.897,195,9.85,203,10.289,204,4.793,230,6.582,251,8.184,257,4.833,274,6.473,301,7.885,329,4.901,349,9.85,355,7.681,417,5.164,424,9.171,443,5.326,467,2.059,613,4.464,624,3.997,632,9.832,653,9.85,657,10.133,739,7.446,804,4.443,820,4.521,824,3.347,832,2.42,840,7.31,847,2.064,856,8.435,930,6.251,931,6.368,960,6.225,984,11.846,1011,11.002,1033,8.435,1061,7.94,1437,7.815,1511,11.058,1512,8.506,1515,11.888,1519,13.978,1520,21.026,1521,15.096,1522,15.096,1523,13.978,1524,13.978,1525,13.242,1526,12.692]],["keywords/277",[]],["title/278",[1527,1555.113]],["content/278",[7,9.916,215,5.789,363,2.924,467,1.896,475,5.402,832,2.51,930,8.66,931,6.604,1437,7.198,1527,19.366,1528,15.016,1529,14.038,1530,17.584,1531,16.036,1532,20.914,1533,19.366]],["keywords/278",[]],["title/279",[1534,1555.113]],["content/279",[7,8.72,59,3.744,68,7.238,79,6.679,215,7.436,286,8.082,467,2.368,623,8.767,804,4.052,807,3.048,832,2.749,836,7.943,847,2.515,848,7.523,849,9.812,928,9.673,930,7.615,931,5.807,933,11.422,1127,12.167,1534,17.029,1535,13.205,1536,18.391,1537,18.391,1538,18.391,1539,18.391]],["keywords/279",[]],["title/280",[1540,1555.113]],["content/280",[7,8.872,269,7.231,363,3.774,417,6.402,467,1.697,475,7.105,478,10.749,832,2.246,889,7.022,913,10.544,930,7.749,931,5.909,1192,12.755,1437,9.043,1530,15.734,1540,17.328,1541,15.19,1542,18.713]],["keywords/280",[]],["title/281",[1543,1679.439]],["content/281",[9,2.777,23,5.533,106,7.832,122,3.281,149,6.372,157,6.614,174,4.443,194,5.735,195,9.579,203,10.006,204,4.661,230,6.401,251,5.958,274,4.713,301,7.669,329,6.425,349,9.579,355,7.538,363,2.052,424,8.919,443,5.179,467,2.173,545,3.513,556,3.419,613,4.341,653,9.579,657,9.854,726,8.416,739,7.242,820,4.397,824,3.254,832,2.375,840,4.726,856,8.203,930,6.079,931,6.249,960,6.054,981,12.291,982,5.997,983,6.315,984,12.09,1011,8.01,1033,8.203,1061,7.722,1208,10.445,1437,8.247,1511,10.753,1512,8.272,1515,11.561,1517,13.593,1518,11.916,1535,10.54,1544,14.68,1545,14.68,1546,14.68,1547,14.68,1548,13.593]],["keywords/281",[]],["title/282",[1549,1555.113]],["content/282",[7,6.928,9,2.768,106,7.796,122,3.266,149,6.343,157,6.583,194,5.709,195,9.535,203,9.96,204,4.64,230,6.371,251,8.007,257,4.678,274,6.334,301,7.634,329,4.744,349,9.535,355,7.515,417,4.999,424,8.878,443,5.156,467,2.169,613,4.321,624,3.87,632,9.619,653,9.535,657,9.809,739,7.209,804,4.348,820,4.377,824,3.24,832,2.368,840,7.191,847,1.998,856,8.166,930,6.051,931,6.23,960,6.026,984,11.717,1011,10.765,1033,8.166,1061,7.686,1127,9.668,1208,9.986,1437,7.688,1511,10.704,1512,8.234,1515,11.508,1525,12.819,1526,12.287,1535,10.492,1549,13.531,1550,13.531,1551,19.73,1552,14.613,1553,14.613,1554,13.531,1555,13.531]],["keywords/282",[]],["title/283",[1556,1555.113]],["content/283",[7,9.251,273,5.628,363,2.728,467,1.769,475,6.136,571,12.675,623,9.301,624,5.167,700,11.089,764,8.25,807,3.234,832,2.342,856,10.903,928,10.263,930,8.08,931,6.161,1437,6.716,1541,15.838,1556,18.067,1557,10.41,1558,12.259,1559,20.84,1560,18.067,1561,19.512]],["keywords/283",[]],["title/284",[1562,1555.113]],["content/284",[7,9.542,14,4.553,51,10.304,144,6.22,215,5.57,363,2.813,467,1.825,556,5.637,807,3.335,832,2.415,928,10.586,930,8.333,931,6.355,1437,6.927,1541,16.336,1557,10.737,1562,18.635,1563,12.36,1564,13.132,1565,18.635,1566,20.125]],["keywords/284",[]],["title/285",[1567,1555.113]],["content/285",[9,2.915,79,7.546,390,4.425,467,1.884,824,4.606,832,2.961,847,2.842,905,14.919,930,8.604,931,6.561,1437,8.492,1541,16.866,1567,19.24,1568,20.778,1569,20.778]],["keywords/285",[]],["title/286",[1570,1555.113]],["content/286",[9,2.551,140,3.872,259,8.574,363,3.179,467,2.062,475,4.696,540,6.497,711,10.078,743,9.454,824,5.042,832,2.73,847,2.487,931,5.741,960,7.498,1154,10.717,1437,8.951,1462,10.822,1541,14.759,1570,16.836,1571,21.06,1572,15.594,1573,8.865,1574,12.595,1575,15.287,1576,18.182,1577,18.182,1578,18.182]],["keywords/286",[]],["title/287",[21,278.126,1579,1214.065]],["content/287",[]],["keywords/287",[]],["title/288",[1580,1555.113]],["content/288",[16,7.102,31,5.754,46,4.394,215,7.079,255,3.471,417,5.367,453,9.755,467,2.494,524,3.903,540,7.392,603,8.052,824,4.586,832,2.483,836,7.834,847,2.145,848,6.417,849,13.128,926,8.494,930,6.496,931,4.954,1141,7.359,1385,5.5,1470,8.139,1580,14.526,1581,9.275,1582,11.491,1583,12.028,1584,10.378,1585,6.605,1586,14.526,1587,12.028,1588,13.19,1589,12.734,1590,12.734,1591,16.791,1592,14.526,1593,14.526,1594,14.526,1595,12.734,1596,14.526]],["keywords/288",[]],["title/289",[1597,1555.113]],["content/289",[16,7.033,31,5.698,46,4.352,68,6.114,215,7.057,255,3.437,417,5.315,453,9.693,467,2.489,505,6.486,524,3.865,540,7.344,603,8,824,4.557,832,2.467,836,7.804,847,2.125,848,10.43,926,8.412,930,6.433,931,4.905,1141,7.287,1385,5.447,1470,8.06,1581,9.239,1582,11.38,1583,11.912,1584,10.277,1585,6.541,1587,11.912,1588,13.062,1589,12.61,1590,12.61,1591,16.684,1595,12.61,1597,14.385,1598,14.385,1599,14.385,1600,14.385,1601,14.385,1602,14.385]],["keywords/289",[]],["title/290",[21,278.126,1528,941.389]],["content/290",[]],["keywords/290",[]],["title/291",[1603,1555.113]],["content/291",[556,5.248,592,11.537,807,3.734,1603,20.865,1604,17.745]],["keywords/291",[]],["title/292",[1605,1555.113]],["content/292",[215,6.193,592,11.457,807,3.708,848,9.154,944,6.193,1605,20.719]],["keywords/292",[]],["title/293",[21,278.126,1535,941.389]],["content/293",[]],["keywords/293",[]],["title/294",[1606,1555.113]],["content/294",[9,1.682,193,2.426,283,5.564,286,7.744,287,5.148,363,3.627,380,9.097,390,3.661,429,3.563,467,2.581,475,5.67,677,9.089,692,4.016,728,4.718,804,3.787,807,3.33,816,10.443,820,6.018,824,2.657,832,1.439,837,6.698,838,2.815,847,1.639,885,3.527,886,5.112,889,7.195,900,4.827,913,9.685,920,8.607,921,9.579,925,3.069,944,4.757,1061,6.305,1154,7.065,1208,5.005,1215,4.541,1274,8.17,1403,11.907,1437,6.916,1439,15.077,1462,7.135,1463,9.041,1464,8.285,1494,15.043,1606,11.099,1607,7.362,1608,17.188,1609,11.099,1610,5.274,1611,7.93,1612,7.821,1613,3.545,1614,11.987,1615,10.078]],["keywords/294",[]],["title/295",[1616,1555.113]],["content/295",[9,2.58,205,7.055,363,3.65,467,2.368,475,5.917,613,6.774,804,4.052,807,3.048,820,5.508,824,4.077,832,2.207,847,2.515,889,6.122,920,7.877,921,8.767,925,4.708,944,5.09,1110,5.58,1215,4.859,1437,6.33,1460,17.029,1494,18.677,1616,17.029,1617,18.391,1618,14.101,1619,11.422]],["keywords/295",[]],["title/296",[1620,1555.113]],["content/296",[613,6.481,824,4.859,832,2.63,847,2.997,1484,20.294,1618,16.804,1620,20.294,1621,21.916,1622,11.01]],["keywords/296",[]],["title/297",[1623,1555.113]],["content/297",[9,1.789,19,5.037,41,4.174,193,3.634,208,6.445,283,5.919,286,7.335,287,3.819,329,4.139,363,3.155,390,3.825,417,4.362,429,3.79,442,7.589,453,6.013,467,2.583,475,5.83,613,3.771,677,8.609,692,4.272,728,5.018,804,2.81,807,3.74,816,7.747,820,5.379,824,2.827,828,3.909,832,1.53,836,4.059,837,7.125,838,2.995,840,6.693,847,1.744,889,7.035,913,10.119,920,8.905,921,8.561,925,3.264,944,3.529,989,8.691,1208,5.324,1215,3.369,1403,12.441,1437,4.389,1462,7.589,1463,9.446,1464,8.657,1494,13.445,1498,11.185,1607,7.831,1609,11.807,1610,5.61,1613,3.771,1623,11.807,1624,9.652,1625,9.545,1626,12.751,1627,9.545]],["keywords/297",[]],["title/298",[1628,1555.113]],["content/298",[9,2.191,31,2.906,32,6.654,46,6.281,50,3.133,108,3.018,122,3.491,193,1.603,204,2.515,236,4.527,253,5.318,255,1.753,260,3.697,267,5.584,273,3.624,329,4.079,355,6.771,363,2.485,380,3.587,390,1.687,417,2.71,453,5.926,467,2.599,475,4.034,489,6.748,524,3.885,540,6.351,556,1.845,563,5.4,571,11.533,613,3.716,623,3.777,624,2.098,632,3.863,661,2.468,739,3.908,742,4.29,746,3.622,804,4.763,807,3.582,815,4.764,820,2.373,824,2.786,832,1.874,835,5.4,836,2.522,837,4.427,838,1.861,840,4.045,842,5.014,847,1.084,889,4.751,900,3.19,920,9.259,921,7.445,925,2.028,928,4.167,929,7.407,930,3.281,931,2.502,967,4.866,982,3.366,989,5.4,1062,7.804,1078,4.502,1110,2.404,1141,3.716,1171,6.661,1208,6.521,1215,5.121,1370,13.211,1403,13.427,1433,4.464,1437,2.727,1442,7.336,1463,8.215,1464,7.528,1489,5.488,1494,5.931,1557,4.227,1589,6.431,1590,10.2,1627,5.931,1628,7.336,1629,9.812,1630,4.286,1631,6.661,1632,6.95,1633,7.336,1634,7.923,1635,15.264,1636,6.95,1637,7.923,1638,6.661,1639,6.661,1640,7.923,1641,8.092,1642,7.923,1643,7.923,1644,2.343,1645,7.923,1646,7.336,1647,7.336,1648,7.336,1649,7.336,1650,7.923,1651,11.636,1652,7.336,1653,7.336,1654,6.661,1655,7.336,1656,7.336,1657,7.336,1658,6.661,1659,6.95]],["keywords/298",[]],["title/299",[1660,1555.113]],["content/299",[19,8.371,215,5.865,449,11.745,592,10.85,613,6.267,807,3.512,824,4.698,832,2.543,840,6.822,847,2.898,849,11.306,989,14.443,1627,15.864,1660,19.622]],["keywords/299",[]],["title/300",[1661,1555.113]],["content/300",[6,6.696,9,2.44,19,6.871,32,9.579,34,7.991,67,9.213,117,8.848,140,3.704,355,8.424,362,4.673,404,5.81,490,9.417,597,7.991,623,8.291,719,9.473,789,7.086,812,7.498,842,7.1,949,6.696,981,13.735,982,4.659,988,9.417,1147,11.854,1208,7.261,1225,10.681,1344,13.277,1433,9.8,1639,14.623,1661,16.104,1662,11.674,1663,17.392,1664,16.104,1665,17.392,1666,17.392,1667,17.392]],["keywords/300",[]],["title/301",[1668,1555.113]],["content/301",[7,6.07,9,1.796,193,2.591,283,5.943,286,7.351,363,3.683,390,3.836,417,4.38,467,2.558,475,6.154,513,6.555,613,3.786,677,8.628,726,7.339,728,5.038,804,3.968,807,3.453,820,5.394,824,2.838,832,1.536,837,7.153,838,3.007,847,1.751,889,7.282,913,10.148,920,8.924,921,8.585,925,3.277,929,7.545,944,4.985,1208,5.345,1215,3.382,1437,7.171,1462,10.72,1463,9.473,1464,10.043,1494,15.598,1531,13.809,1607,7.862,1610,7.924,1612,8.353,1613,3.786,1615,10.764,1668,11.854,1669,12.802,1670,12.802,1671,12.802,1672,12.802,1673,11.854]],["keywords/301",[]],["title/302",[1674,1555.113]],["content/302",[9,2.58,205,7.055,363,3.65,467,2.368,475,5.917,613,6.774,804,4.052,807,3.048,820,5.508,824,4.077,832,2.207,847,2.515,889,6.122,920,7.877,921,8.767,925,4.708,944,5.09,1110,5.58,1215,4.859,1437,6.33,1494,18.677,1618,14.101,1674,17.029,1675,17.029,1676,17.029,1677,8.627]],["keywords/302",[]],["title/303",[1678,1555.113]],["content/303",[32,8.093,50,5.391,167,14.107,194,8.446,719,9.26,824,4.793,947,9.693,1678,20.02,1679,23.386,1680,10.929]],["keywords/303",[]],["title/304",[1681,1555.113]],["content/304",[6,8.485,9,2.427,174,5.235,205,6.636,215,4.788,269,6.684,274,5.553,345,5.168,386,14.544,408,10.127,453,10.393,524,4.304,526,10.722,545,3.912,548,6.834,554,6.027,804,3.812,807,2.867,832,2.076,836,5.507,838,4.062,839,15.174,842,5.553,847,2.366,848,7.076,849,9.229,862,10.099,885,5.09,944,7.069,1068,8.584,1092,8.69,1205,6.619,1681,16.017,1682,16.499,1683,6.566]],["keywords/304",[]],["title/305",[1684,1555.113]],["content/305",[1,4.283,7,8.72,19,7.265,22,10.946,31,9.151,32,8.574,34,10.525,230,8.018,274,7.354,328,8.13,524,5.699,609,9.673,613,5.439,840,5.92,863,7.843,868,13.501,989,12.535,1191,17.564,1581,8.634,1584,12.167,1627,13.768,1684,17.029,1685,16.133,1686,8.767,1687,7.912,1688,15.463,1689,16.133,1690,14.483]],["keywords/305",[]],["title/306",[1691,1679.439]],["content/306",[21,3.573,46,6.069,96,8.859,274,5.407,467,2.47,545,2.99,820,5.045,824,3.734,827,15.219,832,2.6,892,6.58,900,6.782,930,6.974,931,5.318,1400,13.264,1587,12.914,1692,16.843,1693,14.775,1694,16.843,1695,16.843,1696,16.843,1697,16.843,1698,15.596,1699,15.596,1700,14.161,1701,13.264,1702,15.596,1703,11.871,1704,11.871,1705,12.914,1706,14.161,1707,15.596,1708,13.671,1709,15.596,1710,16.843,1711,16.843,1712,16.843,1713,14.775,1714,16.843,1715,16.843]],["keywords/306",[]],["title/307",[1716,1555.113]],["content/307",[19,8.371,215,5.865,449,11.745,505,8.847,613,6.267,807,3.512,824,4.698,832,2.543,840,6.822,847,2.898,849,11.306,989,14.443,1627,15.864,1716,19.622]],["keywords/307",[]],["title/308",[1717,1679.439]],["content/308",[340,8.789,363,3.699,625,9.349,688,10.575,807,3.489,832,2.526,847,2.879,885,6.194,889,6.645,944,5.827,1718,21.051,1719,17.088]],["keywords/308",[]],["title/309",[1720,1555.113]],["content/309",[9,1.935,205,5.292,257,4.416,283,6.404,286,4.867,363,3.264,379,7.773,390,2.938,417,4.719,467,2.571,475,6.324,525,5.35,677,9.669,688,6.93,692,4.622,728,5.429,804,3.04,807,3.593,820,5.682,824,3.058,832,1.655,847,1.887,885,4.059,889,6.543,892,5.389,913,10.689,920,9.287,921,9.043,925,3.532,929,8.131,944,5.251,949,5.311,1154,8.131,1373,6.887,1385,4.836,1437,7.463,1462,8.211,1463,9.978,1464,9.144,1475,5.533,1494,14.202,1607,8.472,1613,5.61,1720,12.773,1721,20.077,1722,12.773,1723,11.197,1724,9.905,1725,12.101]],["keywords/309",[]],["title/310",[1726,1555.113]],["content/310",[7,7.124,56,8.943,193,3.041,283,6.975,286,8.534,287,6.021,340,6.273,363,2.81,390,4.281,417,5.14,467,2.498,475,5.192,613,4.443,625,6.673,677,10.016,692,5.034,728,5.913,807,3.331,820,4.5,824,3.331,832,1.803,837,8.396,847,2.055,889,7.082,920,8.61,921,10.799,929,14.257,944,5.564,1014,4.595,1403,17.467,1437,5.171,1463,7.903,1464,7.242,1613,4.443,1615,12.633,1629,9.44,1726,13.912,1727,10.241,1728,15.025]],["keywords/310",[]],["title/311",[1729,1555.113]],["content/311",[7,7.902,283,7.737,286,8.409,363,3.521,390,4.583,467,2.496,677,9.869,728,6.56,807,3.567,820,4.992,824,3.695,832,2,837,9.314,838,3.914,847,2.279,889,7.137,920,9.218,921,10.259,944,4.613,1437,7.407,1463,11.32,1464,10.374,1613,4.929,1615,14.014,1629,10.472,1673,15.434,1729,15.434,1730,21.521]],["keywords/311",[]],["title/312",[1731,1555.113]],["content/312",[360,13.77,613,6.481,824,4.859,832,2.63,847,2.997,1618,16.804,1731,20.294,1732,20.294,1733,21.916]],["keywords/312",[]],["title/313",[21,278.126,1679,1214.065]],["content/313",[]],["keywords/313",[]],["title/314",[1734,1679.439]],["content/314",[9,2.494,38,8.339,46,4.98,59,3.619,85,7.895,108,6.772,215,6.8,235,10.575,274,5.707,286,6.272,357,6.655,394,14.948,429,5.284,464,6.945,467,2.033,613,5.257,692,5.957,699,6.796,807,3.717,824,3.941,832,2.691,836,5.66,840,5.723,842,5.707,847,2.431,849,13.106,930,7.362,931,5.614,1385,6.233,1528,12.765,1735,17.778,1736,11.305,1737,14,1738,17.778,1739,17.778]],["keywords/314",[]],["title/315",[1740,1679.439]],["content/315",[31,7.028,79,6.959,205,9.013,215,5.304,230,8.354,340,8,467,2.13,625,8.51,688,9.626,694,14.692,807,3.176,832,2.82,836,8.09,847,2.621,885,5.638,930,7.934,931,6.051,1133,11.294,1528,13.758,1604,15.09,1680,9.686,1741,19.161,1742,14.345,1743,19.161,1744,19.161]],["keywords/315",[]],["title/316",[1745,1679.439]],["content/316",[31,7.028,79,6.959,193,3.878,215,5.304,434,10.851,467,2.13,625,8.51,688,9.626,807,3.176,824,5.209,832,2.82,836,8.09,847,2.621,885,5.638,886,8.172,892,7.486,930,7.934,931,6.051,949,7.377,1528,13.758,1604,15.09,1746,19.161,1747,19.161,1748,17.743]],["keywords/316",[]],["title/317",[1749,1679.439]],["content/317",[31,7.028,59,4.782,79,6.959,193,3.878,215,5.304,467,2.13,625,8.51,688,9.626,807,3.176,824,5.209,832,2.82,836,8.09,847,2.621,885,5.638,886,8.172,892,7.486,930,7.934,931,6.051,949,7.377,1528,13.758,1604,15.09,1748,17.743,1750,19.161,1751,19.161]],["keywords/317",[]],["title/318",[1752,1555.113]],["content/318",[31,6.243,59,3.465,79,6.182,205,6.53,215,4.712,255,3.766,257,5.449,274,5.464,286,7.696,464,8.522,467,2.435,562,8.773,688,8.551,731,10.132,807,2.821,820,5.098,824,4.836,832,2.618,836,7.664,847,2.328,885,5.008,892,8.522,930,7.049,931,5.375,949,8.398,1274,11.602,1483,11.261,1528,12.222,1604,13.405,1752,15.762,1753,15.762,1754,21.814,1755,17.022,1756,17.022,1757,21.814,1758,17.022]],["keywords/318",[]],["title/319",[1759,1679.439]],["content/319",[59,4.097,68,7.921,215,5.57,286,7.1,467,2.195,505,8.403,692,6.743,807,4.012,824,4.462,832,2.905,836,6.407,847,2.752,848,8.233,930,8.333,931,6.355,1528,14.45,1760,20.125,1761,20.125,1762,20.125]],["keywords/319",[]],["title/320",[1763,1555.113]],["content/320",[9,2.303,63,8.087,68,6.459,79,5.96,215,6.931,286,5.79,363,3.307,467,2.555,562,8.458,804,4.695,807,3.921,820,4.915,824,3.638,832,1.97,836,7.972,847,2.244,848,6.714,849,8.756,889,4.386,920,9.126,921,7.823,1423,11.567,1437,5.648,1463,8.632,1464,7.911,1528,11.783,1629,10.311,1753,15.196,1763,15.196,1764,16.411,1765,21.306,1766,11.567,1767,16.411,1768,12.286]],["keywords/320",[]],["title/321",[21,278.126,1550,1214.065]],["content/321",[]],["keywords/321",[]],["title/322",[1769,1679.439]],["content/322",[7,11.263,230,8.507,467,2.322,475,5.04,677,9.837,739,9.625,807,3.234,820,5.844,824,4.326,832,2.851,982,6.861,984,9.153,1208,8.146,1437,6.716,1515,15.366,1526,16.405,1554,18.067,1555,18.067,1770,19.512,1771,19.512]],["keywords/322",[]],["title/323",[21,278.126,1675,1214.065]],["content/323",[]],["keywords/323",[]],["title/324",[1772,1555.113]],["content/324",[122,3.706,215,4.589,222,8.783,358,5.622,467,2.657,807,4.166,832,1.99,847,2.268,913,14.165,920,10.767,1462,12.766,1463,13.223,1464,12.549,1607,13.172,1772,15.354,1773,13.459]],["keywords/324",[]],["title/325",[1774,1555.113]],["content/325",[14,4.137,358,6.2,363,2.556,467,2.609,545,3.246,807,4.319,832,2.194,847,2.501,913,12.861,920,9.776,982,4.898,984,8.578,1462,10.884,1463,12.006,1464,11.995,1472,15.375,1473,8.915,1607,11.23,1774,16.932]],["keywords/325",[]],["title/326",[1775,1555.113]],["content/326",[14,3.893,358,5.833,363,2.405,467,2.6,545,3.054,807,4.224,832,2.636,847,2.353,913,12.376,920,9.408,930,7.124,931,5.433,982,5.883,1462,10.241,1463,11.553,1464,11.662,1473,10.708,1607,10.566,1775,15.931,1776,15.931,1777,8.867,1778,15.931,1779,17.205,1780,15.931,1781,14.466,1782,15.931]],["keywords/326",[]],["title/327",[1783,1555.113]],["content/327",[41,4.02,50,4.313,274,5.553,363,3.391,467,2.612,554,6.027,566,9.229,807,3.653,832,2.645,847,2.366,913,12.418,920,9.44,930,7.163,931,5.462,933,10.743,1462,10.296,1463,11.593,1464,10.624,1483,11.444,1607,10.623,1783,16.017,1784,11.444,1785,16.017,1786,16.017,1787,17.298,1788,16.017,1789,17.298]],["keywords/327",[]],["title/328",[1790,1555.113]],["content/328",[122,3.706,273,4.782,274,5.323,358,5.622,467,2.624,548,6.55,566,8.846,743,6.316,804,5.539,807,3.94,832,2.574,847,2.268,913,12.086,920,9.187,930,6.866,931,5.236,973,5.413,1462,9.869,1463,11.282,1464,11.46,1473,8.084,1475,6.651,1476,10.678,1477,11.13,1483,10.969,1607,10.183,1790,15.354,1791,15.354,1792,16.581]],["keywords/328",[]],["title/329",[1793,1555.113]],["content/329",[58,5.88,274,5.215,358,7.176,363,2.271,390,3.46,467,2.551,677,6.727,804,5.496,807,2.692,824,4.692,828,4.981,832,2.54,837,9.077,842,5.215,889,4.341,921,7.744,924,6.594,930,6.727,931,5.13,944,5.858,960,6.699,1365,10.33,1437,5.591,1464,12.023,1479,19.125,1480,6.123,1481,14.25,1723,13.186,1793,15.042,1794,15.042,1795,16.245,1796,15.042,1797,15.042,1798,16.245,1799,15.042,1800,15.042]],["keywords/329",[]],["title/330",[1801,1555.113]],["content/330",[274,5.644,358,5.961,363,3.113,467,2.607,556,4.095,807,4.051,832,2.673,847,2.405,913,12.548,920,9.538,930,7.281,931,5.552,1462,10.465,1463,11.713,1464,11.781,1473,10.857,1483,11.632,1607,10.798,1777,9.062,1801,16.281,1802,16.281,1803,17.583,1804,16.281]],["keywords/330",[]],["title/331",[1805,1555.113]],["content/331",[59,3.639,274,5.739,358,6.061,363,2.499,467,2.612,566,9.538,807,3.73,832,2.701,847,2.445,913,12.68,920,9.639,930,7.403,931,5.645,949,8.664,1462,10.641,1463,11.837,1464,10.848,1483,11.827,1607,10.979,1784,11.827,1805,16.554,1806,16.554,1807,17.877]],["keywords/331",[]],["title/332",[1808,1555.113]],["content/332",[14,3.956,21,3.709,358,5.929,363,3.102,467,2.605,807,4.04,832,2.663,847,2.391,856,12.401,913,12.504,920,9.505,930,7.241,931,5.522,1462,10.408,1463,11.673,1464,11.751,1473,8.526,1607,10.739,1777,9.012,1781,14.703,1808,16.192,1809,16.192,1810,17.487,1811,16.192]],["keywords/332",[]],["title/333",[1812,1555.113]],["content/333",[14,3.935,285,7.261,358,5.897,363,3.092,467,2.592,545,3.087,807,4.241,832,2.087,847,2.378,913,12.461,920,9.473,982,5.924,984,8.158,1207,11.06,1237,9.023,1366,7.322,1462,10.352,1463,11.633,1464,11.721,1472,14.623,1473,10.782,1607,10.681,1812,16.104,1813,17.392,1814,17.392]],["keywords/333",[]],["title/334",[1815,1555.113]],["content/334",[32,5.47,34,6.715,59,4.547,108,5.566,215,6.62,329,4.744,358,4.954,363,2.043,417,4.999,467,2.605,566,7.796,592,12.246,600,3.651,804,4.348,807,3.702,832,2.368,842,6.334,847,1.998,893,14.77,913,11.117,920,8.451,924,4.552,930,6.051,931,4.614,933,12.253,934,12.819,976,5.527,1208,6.101,1365,9.293,1462,8.698,1463,10.378,1464,10.767,1475,5.862,1480,5.508,1563,8.975,1564,9.535,1607,8.975,1784,9.668,1815,13.531,1816,13.531,1817,7.741,1818,13.531,1819,14.613,1820,13.531]],["keywords/334",[]],["title/335",[1821,1555.113]],["content/335",[122,3.406,274,4.892,358,5.167,467,2.648,548,6.02,566,8.131,743,5.805,807,4.032,832,2.435,847,2.084,913,13.707,920,10.42,925,3.901,930,6.31,931,4.812,1462,12.079,1463,12.796,1464,12.212,1475,6.113,1476,9.814,1477,10.229,1483,10.082,1607,12.463,1821,14.111,1822,11.408,1823,11.685,1824,14.111,1825,15.239,1826,14.111,1827,11.685]],["keywords/335",[]],["title/336",[1828,1555.113]],["content/336",[467,2.662,807,4.207,832,2.043,847,2.328,913,14.305,920,10.874,1462,12.984,1463,13.354,1464,12.652,1607,13.397,1828,15.762]],["keywords/336",[]],["title/337",[1829,1555.113]],["content/337",[141,5.174,358,6.308,363,3.225,390,3.962,467,2.615,600,4.649,807,3.824,832,2.233,847,2.544,913,13,920,9.882,1462,11.074,1463,12.136,1464,12.089,1607,11.426,1829,17.227,1830,16.32]],["keywords/337",[]],["title/338",[1831,1555.113]],["content/338",[141,6.215,194,6.907,255,3.912,358,5.994,363,3.425,390,3.765,393,10.421,438,8.774,467,2.598,600,4.418,742,9.573,807,3.704,832,2.122,847,2.418,913,12.592,920,9.572,1215,4.671,1462,10.523,1463,11.754,1464,11.811,1607,10.858,1830,15.509,1831,16.371,1832,15.509]],["keywords/338",[]],["title/339",[21,278.126,1722,1214.065]],["content/339",[]],["keywords/339",[]],["title/340",[1833,1555.113]],["content/340",[91,8.408,363,3.755,467,2.519,475,4.75,490,9.958,688,9.239,719,7.877,807,3.796,832,2.207,842,5.904,847,2.515,889,4.915,920,9.811,921,10.92,944,5.09,1373,9.182,1437,7.884,1463,9.673,1464,11.042,1475,7.377,1629,11.555,1833,17.029]],["keywords/340",[]],["title/341",[1834,1555.113]],["content/341",[9,3.033,50,5.391,332,10.929,363,3.531,832,2.595,847,2.957,1437,7.441,1464,10.422,1475,8.672,1834,20.02]],["keywords/341",[]],["title/342",[1835,1555.113]],["content/342",[50,5.464,363,3.559,506,12.796,832,2.63,847,2.997,1464,10.564,1475,8.791,1835,20.294]],["keywords/342",[]],["title/343",[21,278.126,1685,1150.133]],["content/343",[]],["keywords/343",[]],["title/344",[1836,1679.439]],["content/344",[5,10.506,6,8.485,19,6.834,21,3.669,31,8.084,32,8.25,34,7.948,46,4.845,215,4.788,355,6.589,453,8.157,467,2.199,524,4.304,613,5.115,716,8.533,824,3.835,832,2.645,835,11.79,836,8.131,840,5.568,847,2.366,930,7.163,931,5.462,1062,10.743,1133,10.196,1579,16.017,1581,8.307,1587,13.263,1588,14.544,1589,14.041,1590,14.041,1638,14.544,1837,17.298,1838,7.314,1839,15.174,1840,17.298,1841,17.298]],["keywords/344",[]],["title/345",[1842,1555.113]],["content/345",[9,1.927,86,7.874,191,10.061,204,4.361,274,4.409,326,6.621,349,8.962,363,1.92,398,5.346,417,4.699,453,10.202,467,2.603,524,4.706,545,3.357,624,5.009,632,9.222,706,6.988,739,6.776,804,3.027,807,2.276,832,2.27,836,7.421,837,10.569,838,3.226,840,4.422,842,4.409,870,7.553,889,3.671,905,9.862,920,5.883,926,7.437,930,5.688,931,4.337,941,6.988,945,7.874,949,5.288,965,8.435,966,8.345,1011,7.494,1165,8.258,1166,8.845,1167,8.845,1168,8.845,1169,8.845,1237,7.126,1270,11.549,1498,16.592,1500,12.719,1503,12.049,1512,7.739,1839,12.049,1842,12.719,1843,15.903,1844,13.735,1845,12.719,1846,12.719,1847,13.735,1848,12.049,1849,9.087,1850,13.735,1851,13.735,1852,13.735,1853,13.735]],["keywords/345",[]],["title/346",[1854,1679.439]],["content/346",[1,3.842,13,6.444,31,8.699,32,8.002,34,9.823,59,3.358,171,9.233,174,4.992,230,7.192,255,3.65,274,7.614,328,7.292,417,5.643,421,8.738,467,1.496,487,7.468,524,6.242,609,8.677,710,11.626,804,3.635,807,2.734,820,4.941,832,2.565,847,2.256,863,7.035,868,12.6,930,6.831,931,5.209,1261,7.504,1581,8.057,1582,12.083,1584,10.913,1610,7.258,1641,10.623,1686,7.864,1688,13.869,1689,14.47,1690,12.99,1855,16.496,1856,14.47,1857,16.496,1858,16.496]],["keywords/346",[]],["title/347",[1859,1679.439]],["content/347",[1,3.902,31,8.764,32,8.083,34,9.922,230,7.305,274,7.67,328,7.406,467,2.288,524,5.944,609,8.813,678,8.216,804,3.692,832,2.591,847,2.291,863,7.145,868,12.727,878,10.179,885,4.93,900,6.747,930,6.938,931,5.291,1110,5.084,1271,19.875,1272,7.272,1581,9.512,1584,11.084,1686,7.987,1688,14.087,1689,14.697,1690,13.194,1860,16.755,1861,14.697,1862,16.755,1863,16.755,1864,16.755]],["keywords/347",[]],["title/348",[1333,971.506]],["content/348",[]],["keywords/348",[]],["title/349",[845,1322.558]],["content/349",[21,4.883,845,18.128]],["keywords/349",[]],["title/350",[805,1230.196]],["content/350",[21,4.883,805,16.862]],["keywords/350",[]],["title/351",[813,1230.196]],["content/351",[21,4.883,813,16.862]],["keywords/351",[]],["title/352",[1865,1412.056]],["content/352",[21,4.883,1865,19.354]],["keywords/352",[]],["title/353",[1037,1127.28]],["content/353",[21,4.883,1037,15.451]],["keywords/353",[]],["title/354",[1866,1183.697]],["content/354",[21,4.883,1866,16.224]],["keywords/354",[]],["title/355",[1866,1183.697]],["content/355",[21,4.883,1866,16.224]],["keywords/355",[]],["title/356",[836,534.685]],["content/356",[21,4.883,836,7.329]],["keywords/356",[]],["title/357",[1867,1412.056]],["content/357",[21,4.883,1867,19.354]],["keywords/357",[]],["title/358",[1868,1412.056]],["content/358",[21,4.883,1868,19.354]],["keywords/358",[]],["title/359",[984,787.79]],["content/359",[21,4.883,984,10.798]],["keywords/359",[]],["title/360",[1869,1412.056]],["content/360",[21,4.883,1869,19.354]],["keywords/360",[]],["title/361",[1870,1412.056]],["content/361",[21,4.883,1870,19.354]],["keywords/361",[]],["title/362",[1871,1322.558]],["content/362",[8,3.2,9,3.498,21,1.782,41,1.952,46,5.585,59,1.71,97,3.696,108,3.2,122,1.878,146,5.299,175,4.515,197,4.45,202,3.493,215,3.643,230,3.663,235,9.973,236,5.282,251,3.409,252,5.82,260,3.92,274,2.697,290,5.482,297,3.803,358,2.848,362,2.781,387,6.441,404,2.807,423,3.002,429,2.497,467,2.518,471,3.9,475,2.17,481,4.656,486,2.735,524,2.09,548,7.254,620,3.2,692,2.815,699,6.202,749,9.64,804,5.697,807,2.181,812,2.848,832,1.008,838,3.81,842,2.697,847,1.149,866,3.552,885,7.218,886,10.265,892,8.94,900,3.383,949,3.234,968,4.86,982,2.25,1018,2.727,1048,7.281,1103,4.144,1146,4.247,1181,5.558,1188,6.154,1189,5.278,1213,8.269,1215,3.477,1228,6.032,1237,4.359,1261,3.822,1558,5.278,1736,5.342,1871,6.616,1872,14.232,1873,11.065,1874,7.779,1875,7.779,1876,7.369,1877,7.779,1878,7.779,1879,7.779,1880,7.369,1881,7.779,1882,7.779,1883,7.779,1884,7.779,1885,7.779,1886,7.779,1887,7.779,1888,7.779,1889,6.616,1890,7.779,1891,7.779,1892,7.779,1893,7.779,1894,7.779,1895,4.194,1896,5.712,1897,7.779,1898,10.586,1899,6.441,1900,7.779,1901,7.779,1902,7.779,1903,7.779,1904,7.063,1905,7.779,1906,5.639,1907,7.779,1908,7.779,1909,6.032,1910,6.616,1911,7.779,1912,7.779,1913,8.369,1914,7.369,1915,7.779,1916,7.545,1917,7.779,1918,7.779,1919,7.779,1920,7.779,1921,7.779,1922,7.063,1923,7.779,1924,7.779]],["keywords/362",[]],["title/363",[1925,1163.403]],["content/363",[9,2.414,14,3.893,21,3.65,83,7.605,188,8.34,193,4.445,260,8.028,355,6.553,363,2.405,423,6.148,467,1.991,475,6.25,486,5.601,545,3.898,554,7.653,807,3.64,832,2.065,847,2.353,886,7.337,982,4.609,983,10.409,1014,6.716,1018,5.585,1215,4.546,1585,7.244,1644,6.495,1925,15.215,1926,20.338,1927,17.296,1928,10.941,1929,16.089,1930,15.931,1931,13.192,1932,15.931]],["keywords/363",[]],["title/364",[1933,1412.056]],["content/364",[21,4.883,1933,19.354]],["keywords/364",[]],["title/365",[927,1322.558]],["content/365",[21,4.883,927,18.128]],["keywords/365",[]],["title/366",[1934,1322.558]],["content/366",[9,2.721,21,4.114,83,8.573,193,5.17,355,7.387,363,3.309,423,6.93,824,4.299,832,2.327,838,4.555,847,2.652,889,6.326,920,10.138,982,5.195,983,10.182,1018,6.296,1644,5.735,1928,12.333,1934,18.639,1935,14.87,1936,17.958]],["keywords/366",[]],["title/367",[1927,1322.558]],["content/367",[9,2.61,21,3.947,50,5.753,83,8.224,193,5.075,355,7.087,363,3.225,423,6.648,467,2.092,824,4.124,832,2.233,838,4.369,847,2.544,889,6.166,920,9.882,982,4.984,983,10.789,1018,6.04,1644,5.502,1927,18.169,1928,11.831,1929,13.628,1934,18.169,1937,17.227]],["keywords/367",[]],["title/368",[1390,1020.346]],["content/368",[1,2.689,6,2.745,9,1.62,14,3.785,21,1.512,30,2.799,41,4.573,83,3.151,96,3.75,122,2.581,140,1.518,144,2.203,171,6.157,187,2.725,193,3.386,255,2.555,260,3.326,297,3.227,301,3.724,329,2.314,355,5.543,362,2.44,390,2.459,404,2.382,418,7.095,423,2.547,453,3.362,467,2.627,487,3.227,489,6.288,498,4.859,554,2.484,556,4.582,558,6.512,603,2.775,613,2.108,620,2.715,726,4.087,756,6.073,766,5.306,794,4.202,804,3.687,807,1.914,823,3.417,824,2.56,828,2.186,832,1.746,836,5.327,838,1.674,847,0.975,870,6.349,889,3.086,894,6.506,898,3.362,905,12.013,920,4.946,925,2.956,929,8.578,941,7.403,945,6.62,949,2.745,965,7.091,966,7.015,982,1.91,983,4.967,984,3.344,985,4.331,988,3.86,1014,3.531,1018,2.314,1085,5.466,1165,6.942,1166,7.436,1167,7.436,1168,7.436,1169,7.436,1208,2.976,1263,4.533,1279,4.087,1329,6.452,1390,10.165,1391,13.198,1400,5.614,1416,5.337,1469,9.372,1557,3.803,1573,3.476,1938,11.158,1939,6.253,1940,5.614,1941,4.202,1942,6.601,1943,6.253,1944,6.601,1945,6.601,1946,5.994,1947,6.601,1948,6.601,1949,6.601,1950,10.692,1951,13.464,1952,10.692,1953,6.601,1954,5.991,1955,6.601,1956,10.692,1957,5.466,1958,6.601,1959,6.601,1960,10.692,1961,6.601,1962,6.253,1963,6.601,1964,5.994,1965,13.475,1966,6.601,1967,6.601,1968,6.601,1969,10.692,1970,6.601,1971,6.601,1972,10.692,1973,6.601,1974,6.601,1975,6.601,1976,6.601,1977,6.601,1978,6.601,1979,6.601,1980,6.601,1981,5.787,1982,6.601,1983,10.692,1984,6.601,1985,6.601,1986,3.496,1987,6.601,1988,6.601,1989,8.458,1990,6.601,1991,5.222,1992,4.591,1993,6.601,1994,5.614,1995,6.253,1996,10.692,1997,10.692,1998,5.614]],["keywords/368",[]],["title/369",[122,375.354]],["content/369",[21,4.883,122,5.145]],["keywords/369",[]],["title/370",[1161,1322.558]],["content/370",[21,4.883,1161,18.128]],["keywords/370",[]],["title/371",[1999,1412.056]],["content/371",[21,4.883,1999,19.354]],["keywords/371",[]],["title/372",[2000,1412.056]],["content/372",[9,2.551,14,4.114,83,8.037,193,4.603,236,4.991,355,6.926,363,2.542,409,10.333,467,2.062,475,6.411,554,6.335,832,2.182,847,2.487,887,8.191,889,6.633,920,9.742,983,7.822,1120,7.265,1212,11.424,1215,6.009,1889,17.911,1925,15.755,1928,11.562,2000,19.123,2001,21.06,2002,8.355]],["keywords/372",[]],["title/373",[2003,1412.056]],["content/373",[19,7.661,41,4.507,83,8.573,106,10.347,193,4.79,236,4.256,355,7.387,390,4.13,467,2.316,804,4.273,823,9.296,832,2.327,847,2.652,983,10.99,1215,6.749,1909,16.994,2003,19.9,2004,21.917]],["keywords/373",[]],["title/374",[2005,1183.697]],["content/374",[9,2.948,14,2.13,16,4.262,18,4.393,21,4.887,23,7.919,68,3.705,74,9.741,83,4.161,97,6.323,106,5.022,141,7.413,144,2.909,157,4.241,164,4.987,172,6.759,193,3.528,215,2.606,236,3.826,248,7.532,255,3.857,285,3.93,297,4.262,328,4.161,329,3.056,345,4.293,355,3.586,362,4.439,363,1.316,390,2.005,423,3.364,429,5.181,455,4.672,467,2.322,475,2.432,505,3.93,545,3.931,592,4.82,661,2.933,670,7.047,677,3.898,699,5.494,723,6.896,804,5.644,807,1.56,823,4.512,828,2.886,832,1.13,842,5.596,847,1.287,848,3.851,860,4.917,885,4.229,886,6.129,887,9.465,889,5.214,900,3.791,924,4.477,928,7.559,982,2.522,983,4.05,1004,4.789,1014,5.966,1018,3.056,1103,4.644,1170,6.383,1212,10.952,1215,2.487,1227,4.05,1258,7.915,1358,5.986,1373,4.7,1889,11.318,1913,12.406,1928,5.986,2005,10.129,2006,6.249,2007,12.607,2008,12.607,2009,12.607,2010,12.083,2011,12.083,2012,13.53,2013,8.717,2014,7.218,2015,4.032,2016,6.319,2017,8.258,2018,8.717,2019,7.915,2020,4.262,2021,7.047,2022,8.258]],["keywords/374",[]],["title/375",[2023,1363.216]],["content/375",[14,4.469,47,12.889,59,4.872,83,8.731,193,4.844,332,9.985,355,9.117,824,4.379,832,2.371,836,7.62,847,2.701,889,6.396,983,11.515,1014,7.319,2023,16.033,2024,18.29]],["keywords/375",[]],["title/376",[889,448.835]],["content/376",[21,4.883,889,6.152]],["keywords/376",[]],["title/377",[2025,1257.267]],["content/377",[9,2.243,13,4.238,14,2.455,21,2.301,77,6.523,83,4.796,97,10.278,122,2.425,140,2.311,162,5.089,193,3.235,202,4.511,236,4.166,264,5.384,329,3.522,332,5.484,353,17.585,355,6.089,362,5.104,423,3.877,429,4.752,440,4.53,455,7.933,467,2.568,496,15.038,524,2.699,548,6.315,556,2.527,590,8.122,677,4.493,699,8.006,729,6.523,804,4.183,807,3.146,824,2.405,828,4.901,832,1.302,836,3.454,838,3.754,847,1.484,859,8.544,868,6.395,870,5.966,887,4.888,889,2.9,920,4.647,941,8.133,945,6.22,965,6.663,966,6.592,982,2.906,983,6.877,1004,5.519,1014,4.889,1018,3.522,1146,8.081,1165,6.523,1166,6.987,1167,6.987,1168,6.987,1169,6.987,1208,4.53,1272,9.091,1701,8.544,2025,11.968,2026,13.441,2027,14.803,2028,10.896,2029,10.046,2030,9.122,2031,8.544,2032,13.441,2033,9.122,2034,9.122,2035,10.046,2036,8.807,2037,4.688,2038,9.122,2039,8.544,2040,10.046,2041,10.046,2042,8.807,2043,10.046,2044,10.046,2045,10.046,2046,10.046,2047,6.899]],["keywords/377",[]],["title/378",[2048,1412.056]],["content/378",[21,4.883,2048,19.354]],["keywords/378",[]],["title/379",[2049,1322.558]],["content/379",[14,4.31,21,4.04,83,8.42,193,4.737,332,9.628,355,8.917,423,6.806,467,2.122,475,6.047,807,3.88,824,4.223,832,2.286,847,2.605,889,6.256,982,5.102,983,11.373,1018,6.183,1925,16.216,2049,18.435,2050,17.637]],["keywords/379",[]],["title/380",[2051,1412.056]],["content/380",[21,4.883,2051,19.354]],["keywords/380",[]],["title/381",[827,954.419]],["content/381",[21,4.883,827,13.082]],["keywords/381",[]],["title/382",[193,339.865]],["content/382",[21,4.883,193,4.658]],["keywords/382",[]],["title/383",[1989,1230.196]],["content/383",[21,4.883,1989,16.862]],["keywords/383",[]],["title/384",[1416,1257.267]],["content/384",[21,4.883,1416,17.233]],["keywords/384",[]],["title/385",[2052,1412.056]],["content/385",[21,4.883,2052,19.354]],["keywords/385",[]],["title/386",[945,962.813]],["content/386",[14,3.752,21,3.517,83,7.33,193,4.341,355,6.316,362,3.503,423,5.925,429,4.928,467,2.617,807,2.748,832,1.99,836,5.279,847,2.268,870,9.117,889,4.431,920,7.102,925,4.245,941,10.911,945,13.63,965,10.183,966,10.074,982,4.442,983,7.133,1004,8.435,1018,5.383,1165,9.969,1166,10.678,1167,10.678,1168,10.678,1169,10.678,1344,11.128,1512,9.343,1928,10.544,2053,14.545,2054,15.354,2055,15.354]],["keywords/386",[]],["title/387",[516,756.595]],["content/387",[21,4.883,516,10.37]],["keywords/387",[]],["title/388",[1415,1322.558]],["content/388",[21,4.883,1415,18.128]],["keywords/388",[]],["title/389",[2056,1322.558]],["content/389",[6,4.465,9,3.033,21,4.184,83,5.126,138,13.216,144,3.584,146,4.67,193,4.374,196,9.413,260,5.411,273,3.345,355,4.417,363,2.346,398,4.513,404,3.874,423,4.143,443,4.091,467,2.08,478,5.383,545,4.568,554,4.04,556,3.909,580,10.172,728,4.564,823,8.045,828,5.146,832,1.392,838,2.723,840,3.733,847,1.586,876,4.782,944,5.459,982,5.283,983,9.299,1014,5.132,1018,3.764,1068,10.727,1103,5.72,1208,9.577,1344,12.407,1366,4.882,1373,5.79,1724,8.326,2056,15.532,2057,18.263,2058,18.263,2059,16.009,2060,13.216,2061,10.738,2062,21.24,2063,18.263,2064,20.016,2065,10.172,2066,18.263,2067,10.738,2068,9.132,2069,10.738,2070,4.634,2071,15.54,2072,16.583,2073,10.738,2074,10.738,2075,10.738,2076,10.738,2077,10.738,2078,10.738,2079,10.172,2080,10.738,2081,15.54,2082,10.738]],["keywords/389",[]],["title/390",[2083,1412.056]],["content/390",[21,4.883,2083,19.354]],["keywords/390",[]],["title/391",[2084,1412.056]],["content/391",[21,4.883,2084,19.354]],["keywords/391",[]],["title/392",[2085,1412.056]],["content/392",[21,4.883,2085,19.354]],["keywords/392",[]],["title/393",[2086,1412.056]],["content/393",[21,4.883,2086,19.354]],["keywords/393",[]],["title/394",[2087,1412.056]],["content/394",[21,4.883,2087,19.354]],["keywords/394",[]],["title/395",[2088,1412.056]],["content/395",[21,4.883,2088,19.354]],["keywords/395",[]],["title/396",[2089,1412.056]],["content/396",[21,3.857,83,8.037,122,4.064,193,5.023,286,6.415,355,6.926,363,3.47,390,3.872,423,6.497,429,5.404,443,6.415,545,3.227,677,7.529,743,6.926,756,9.564,832,2.182,847,2.487,887,8.191,982,4.87,983,7.822,1018,5.903,1373,13.368,1437,6.258,2089,20.868,2090,21.06,2091,11.292,2092,16.836,2093,14.318]],["keywords/396",[]],["title/397",[2093,1322.558]],["content/397",[21,4.379,423,7.377,467,2.379,556,4.808,807,3.421,820,6.183,832,2.478,836,6.573,847,2.823,885,6.074,892,8.065,982,5.53,2093,19.355,2094,19.116,2095,19.116]],["keywords/397",[]],["title/398",[2021,1257.267]],["content/398",[14,4.209,21,3.947,40,10.23,83,8.224,193,4.669,355,7.087,423,6.648,467,2.49,513,9.526,548,9.115,804,5.526,832,2.233,847,2.544,941,9.465,982,4.984,983,10.789,1018,6.04,1214,11.381,1913,11.831,1928,11.831,2021,13.928,2096,17.227,2097,17.227]],["keywords/398",[]],["title/399",[1184,1322.558]],["content/399",[9,2.688,14,4.335,21,4.065,83,8.47,193,4.755,355,7.299,423,6.847,429,5.695,467,2.13,513,12.03,832,2.3,847,2.621,941,9.748,982,5.133,983,10.932,1018,6.22,1184,18.502,1913,16.159,1928,12.185,2021,17.589,2098,17.743]],["keywords/399",[]],["title/400",[2099,1257.267]],["content/400",[9,2.467,14,5.039,363,2.458,423,6.283,467,2.216,545,3.121,554,7.759,556,4.095,613,5.2,634,9.668,764,7.434,807,2.914,830,12.767,832,2.11,836,7.09,837,9.825,838,4.129,847,2.405,883,7.531,909,10.364,944,4.867,982,4.71,983,7.564,984,8.248,1004,11.329,1013,12.18,1014,6.81,1117,16.671,1336,7.311,1641,11.323,2099,13.163,2100,9.992,2101,17.537,2102,11.047,2103,13.846]],["keywords/400",[]],["title/401",[984,787.79]],["content/401",[984,12.283]],["keywords/401",[]],["title/402",[32,628.636]],["content/402",[21,6.009,32,4.661,46,3.488,354,6.693,390,2.652,467,2.657,548,4.92,623,5.937,820,3.73,920,5.334,944,3.447,1013,19.553,1265,8.126,1272,5.405,1591,10.108,1662,8.359,1680,6.295,1784,8.238,1938,9.549,2028,8.488,2104,11.531,2105,10.924,2106,11.531,2107,11.531,2108,11.531,2109,11.531,2110,10.924,2111,11.531,2112,11.531,2113,11.531,2114,11.531,2115,11.531,2116,11.531,2117,11.531,2118,11.531,2119,11.531,2120,10.47,2121,10.47,2122,10.47,2123,10.47,2124,10.47,2125,9.807,2126,9.807,2127,10.47]],["keywords/402",[]],["title/403",[2128,1183.697]],["content/403",[467,2.412,807,3.535,832,2.56,883,9.137,1014,6.523,1187,15.316,1336,8.87,1662,14.319,2100,12.123,2128,15.035,2129,19.753]],["keywords/403",[]],["title/404",[1662,1127.28]],["content/404",[390,3.917,467,2.611,548,7.265,820,5.508,920,7.877,944,5.09,1013,19.95,1265,12,1272,7.982,1662,12.344,1938,14.101,2028,12.535,2120,15.463,2121,15.463,2122,15.463]],["keywords/404",[]],["title/405",[941,854.365]],["content/405",[5,3.796,8,3.033,9,2.198,21,3.324,27,3.122,48,3.157,58,2.882,96,4.188,140,2.687,148,4.344,155,4.449,162,9.696,171,4.643,193,1.611,197,4.218,215,3.492,246,2.863,259,5.949,286,2.809,287,6.487,332,4.025,362,3.766,390,3.337,423,4.508,424,4.837,443,6.855,464,4.929,467,2.606,520,7.311,540,2.845,545,2.781,548,4.984,613,2.355,620,3.033,677,3.297,692,2.668,726,4.565,807,4.076,808,3.715,812,6.043,829,4.945,832,0.956,836,7.831,847,1.089,848,3.257,870,6.937,882,4.077,885,2.343,886,3.396,889,3.372,892,3.11,900,3.206,910,6.27,920,5.404,925,5.922,941,10.515,944,4.337,945,8.983,946,6.694,956,5.195,965,10.947,966,10.83,967,10.947,971,3.088,973,2.599,976,4.772,982,2.133,1004,6.418,1018,2.585,1061,4.188,1079,5.516,1163,4.344,1165,7.585,1166,8.124,1167,8.124,1168,8.124,1169,8.124,1261,3.622,1262,5.612,1344,8.129,1373,3.975,1385,2.792,1687,3.425,2130,10.24,2131,6.27,2132,6.27,2133,9.935,2134,7.373,2135,6.694,2136,7.373,2137,5.427,2138,6.694,2139,7.373,2140,7.373,2141,7.373,2142,7.373,2143,6.694,2144,7.373,2145,6.047,2146,3.735,2147,7.373,2148,7.373,2149,7.373,2150,7.373,2151,7.373,2152,7.373,2153,7.373,2154,7.373,2155,7.373,2156,7.373,2157,7.373,2158,6.984,2159,7.373,2160,7.373,2161,4.378]],["keywords/405",[]],["title/406",[2131,1322.558]],["content/406",[9,2.865,46,4.31,48,6.101,50,3.836,58,5.569,76,10.039,97,8.986,122,5.68,140,4.349,144,4.755,146,6.196,162,7.217,171,7.516,208,7.778,215,5.653,235,7.256,256,10.039,257,4.925,285,6.424,355,5.86,362,3.251,417,5.264,418,7.501,429,4.573,467,1.852,540,5.498,597,7.07,603,5.989,609,8.093,700,8.744,716,7.59,796,11.047,836,6.502,842,4.939,866,6.505,941,11.662,949,5.924,957,11.814,976,5.819,1083,12.489,1122,9.348,1221,11.797,1294,6.965,2020,6.965,2131,12.116,2162,14.247,2163,7.034,2164,14.247,2165,14.247,2166,14.247,2167,14.247,2168,14.247,2169,13.497,2170,12.489,2171,14.247,2172,12.936,2173,12.936]],["keywords/406",[]],["title/407",[956,1095.832]],["content/407",[9,2.705,27,9.247,59,3.924,91,8.813,122,5.27,162,9.042,197,10.211,218,9.744,221,8.015,323,7.673,362,5.383,404,6.44,429,5.73,523,7.531,545,3.422,620,7.343,764,8.151,812,7.995,842,7.57,968,11.151,1111,11.972,1135,12.578,2174,13.354]],["keywords/407",[]],["title/408",[2132,1032.511,2133,1032.511]],["content/408",[5,5.868,8,4.689,9,3.522,27,4.827,34,8.049,38,5.774,48,8.81,59,3.566,140,2.622,157,5.545,171,4.53,188,5.967,215,6.149,255,2.723,286,4.343,287,3.687,362,2.601,429,3.659,434,8.09,443,4.343,464,8.679,467,2.367,486,4.007,500,4.976,505,5.139,556,2.867,613,3.64,614,7.927,620,4.689,624,3.26,692,5.869,808,5.744,836,7.768,840,3.963,842,3.952,848,9.088,849,6.567,897,9.955,941,6.262,944,3.407,958,10.426,967,14.984,968,10.133,969,6.936,971,4.774,972,9.992,973,4.019,974,10.35,976,4.656,977,10.35,1008,5.714,1146,6.222,1163,9.557,1366,5.183,1613,3.64,2132,13.795,2133,9.694,2135,10.35,2143,10.35,2161,9.632,2175,8.032,2176,8.676,2177,10.798,2178,11.398,2179,8.527,2180,16.22,2181,11.398,2182,11.398,2183,11.398,2184,11.398,2185,11.398,2186,11.398,2187,16.22,2188,11.398,2189,11.398]],["keywords/408",[]],["title/409",[2123,1412.056]],["content/409",[50,4.986,363,3.371,390,4.259,467,2.186,475,5.166,540,7.146,832,2.894,847,2.735,925,5.12,930,8.281,931,6.315,1437,6.883,1464,9.64,1607,12.282,2190,18.519,2191,18.519,2192,18.519,2193,18.519,2194,16.815,2195,16.815]],["keywords/409",[]],["title/410",[2196,1555.113]],["content/410",[9,3.462,50,5.181,301,10.854,390,4.425,404,6.942,467,1.884,545,3.688,743,7.914,746,9.5,832,2.494,907,13.558,958,12.367,2197,19.24,2198,11.912,2199,10.374,2200,16.866]],["keywords/410",[]],["title/411",[2201,1412.056]],["content/411",[16,8.674,46,6.581,117,9.748,274,6.151,467,2.13,524,4.767,540,6.847,632,9.342,804,4.222,824,4.248,832,2.3,836,7.48,840,6.168,842,6.151,847,2.621,1118,19.754,1119,16.111,1344,9.942,2100,10.889,2103,18.502,2201,16.111,2202,17.743,2203,17.743,2204,17.743,2205,17.743]],["keywords/411",[]],["title/412",[2124,1412.056]],["content/412",[804,5,832,2.723,847,3.103,2206,21.013]],["keywords/412",[]],["title/413",[1784,1111.048]],["content/413",[50,5.114,59,4.984,467,1.86,475,5.298,540,7.329,832,2.938,847,2.805,930,8.494,931,6.477,1157,10.865,1437,7.06,1784,17.315,2207,18.993,2208,18.993,2209,18.993]],["keywords/413",[]],["title/414",[2210,1412.056]],["content/414",[30,4.702,59,4.818,63,8.984,524,5.889,556,4.517,613,5.735,620,9.73,807,3.214,824,4.299,832,2.327,840,6.243,847,2.652,878,11.783,907,12.654,1352,14.536,1529,13.017,2210,19.9,2211,15.272,2212,16.306,2213,16.306,2214,13.435]],["keywords/414",[]],["title/415",[2215,1322.558]],["content/415",[8,7.255,30,6.144,59,5.524,140,4.057,274,6.115,524,4.739,556,4.436,592,9.753,807,3.157,824,4.223,832,2.286,840,7.536,847,2.605,893,14.259,894,13.19,1352,11.698,2211,15,2215,18.435,2216,15.955,2217,17.637,2218,17.637]],["keywords/415",[]],["title/416",[2125,1322.558]],["content/416",[9,1.978,32,7.208,34,6.478,41,3.277,46,5.394,79,5.12,205,5.408,208,9.734,215,6.828,257,4.513,271,10.554,417,6.587,424,11.699,453,6.648,467,2.406,524,3.508,597,6.478,603,5.487,613,4.169,625,6.261,716,6.955,807,2.337,820,4.223,824,3.125,832,2.311,836,8.299,840,4.539,842,6.181,847,1.928,848,5.767,849,7.522,885,4.148,892,5.508,930,5.838,931,4.452,933,8.756,1008,6.545,1011,7.692,1017,10.327,1103,6.955,1127,14.508,1133,8.31,1216,8.658,1237,7.315,1274,9.609,1535,10.123,1581,5.314,1624,12.665,2125,11.102,2219,11.102,2220,11.444,2221,11.854,2222,10.327,2223,10.327,2224,10.554,2225,13.055,2226,13.055,2227,13.055,2228,13.055,2229,13.055,2230,13.055]],["keywords/416",[]],["title/417",[2126,1322.558]],["content/417",[9,1.775,32,6.685,34,5.813,46,5.003,193,2.56,205,4.853,208,9.028,215,7.003,257,4.05,271,9.47,390,2.694,417,6.11,424,10.85,453,5.965,467,2.581,524,4.443,603,4.924,613,3.741,625,5.618,716,6.24,807,2.096,820,3.789,824,3.959,832,2.143,836,7.552,840,4.072,842,5.733,848,5.175,849,6.749,870,6.956,885,3.722,889,3.381,892,4.942,920,5.418,930,5.238,931,3.994,941,9.085,945,7.252,949,4.87,965,7.769,966,7.685,1008,5.872,1011,6.902,1017,9.266,1103,6.24,1127,8.369,1133,7.456,1165,7.606,1166,8.146,1167,8.146,1168,8.146,1169,8.146,1216,7.769,1237,6.563,1274,8.622,1437,4.354,1453,10.636,1457,11.097,1535,9.083,1581,4.768,1624,12.087,2126,9.962,2219,9.962,2220,10.268,2221,10.636,2222,9.266,2223,9.266,2224,9.47,2231,11.713,2232,11.713,2233,11.713,2234,11.713,2235,11.713]],["keywords/417",[]],["title/418",[2236,1043.002]],["content/418",[9,1.775,13,4.942,14,2.862,19,7.055,30,5.018,38,5.934,50,3.154,59,5.579,73,6.902,77,7.606,144,3.909,218,6.395,274,5.733,283,5.872,286,4.463,328,5.592,390,3.803,404,5.966,464,4.942,467,2.382,490,6.85,556,2.946,600,3.161,605,7.069,613,3.741,709,9.962,718,9.47,789,5.154,824,2.804,832,1.518,840,7.24,842,4.061,847,1.73,894,7.128,924,6.449,968,7.318,1103,6.24,1110,3.838,1157,6.701,1207,13.164,1365,11.357,1366,8.715,1367,10.636,1385,4.435,1423,15.851,1480,6.731,1613,5.281,1817,6.701,2198,10.239,2236,15.713,2237,16.537,2238,9.266,2239,11.713,2240,11.097,2241,10.268,2242,10.636,2243,19.168,2244,11.713,2245,11.713,2246,11.713,2247,11.713,2248,7.189,2249,11.713,2250,11.713,2251,11.713]],["keywords/418",[]],["title/419",[2252,1363.216]],["content/419",[9,2.537,452,12.323,467,2.245,603,7.037,613,5.346,732,10.021,824,4.008,832,2.17,847,2.473,981,14.075,1069,13.863,1385,6.339,2252,18.396,2253,12.323,2254,15.201,2255,8.619,2256,16.741,2257,16.741,2258,16.741,2259,16.741,2260,16.741,2261,16.741,2262,20.986,2263,16.741,2264,16.741,2265,16.741,2266,16.741,2267,16.741,2268,16.741,2269,16.741,2270,16.741,2271,16.741,2272,16.741,2273,16.741,2274,16.741]],["keywords/419",[]],["title/420",[2275,1555.113]],["content/420",[255,4.95,467,2.029,807,3.708,832,2.685,925,5.728,2276,20.719]],["keywords/420",[]],["title/421",[2277,1473.221]],["content/421",[9,3.482,50,4.533,58,6.581,59,3.701,204,5.773,209,10.717,404,6.074,413,9.371,469,13.818,554,6.335,556,4.235,613,5.377,617,10.932,625,8.075,648,11.562,757,12.595,771,12.595,804,4.006,823,8.715,832,2.182,847,2.487,860,9.498,1014,5.56,1329,13.869,1433,10.245,2216,12.393,2278,16.836,2279,10.16,2280,15.949,2281,16.836,2282,15.949,2283,13.055,2284,14.759,2285,15.287]],["keywords/421",[]],["title/422",[354,902.598]],["content/422",[32,7.088,86,10.855,205,7.264,251,9.466,354,12.535,355,7.212,467,2.392,540,6.766,613,5.599,832,2.799,847,2.59,930,7.841,931,5.979,1059,12.709,1385,6.639,1470,9.824,1682,18.923,2286,16.61,2287,15.92,2288,18.932,2289,15.92,2290,15.92,2291,15.92]],["keywords/422",[]],["title/423",[2015,719.339]],["content/423",[30,4.818,59,4.89,257,6.363,363,3.358,467,1.802,520,9.274,554,6.925,597,11.039,739,9.804,804,4.379,807,3.294,832,2.385,840,8.312,847,2.718,1018,6.452,2006,7.125,2015,8.513,2216,13.547,2292,18.404]],["keywords/423",[]],["title/424",[63,637.447]],["content/424",[63,7.544,467,2.627,581,6.398,804,4.379,832,2.385,847,2.718,885,5.848,892,7.764,924,7.484,1365,15.277,2293,14.27,2294,6.699]],["keywords/424",[]],["title/425",[2214,1163.403]],["content/425",[30,4.789,59,4.872,63,9.084,524,5.955,556,4.6,620,9.809,807,3.274,824,4.379,832,2.371,840,6.359,847,2.701,878,12.001,1352,14.699,1529,13.258,2211,15.555,2212,16.608,2213,16.608,2214,16.58]],["keywords/425",[]],["title/426",[993,916.313]],["content/426",[993,14.287]],["keywords/426",[]],["title/427",[193,339.865]],["content/427",[9,2.223,14,4.711,21,4.417,50,3.95,122,4.653,193,4.706,197,8.392,286,5.589,323,6.306,390,3.374,467,2.541,486,5.158,540,5.661,545,2.812,556,3.69,743,6.034,762,7.862,766,7.28,804,3.491,807,2.626,820,4.745,823,7.594,824,4.616,832,1.901,836,5.044,842,5.086,847,2.167,883,6.786,924,4.935,944,4.385,968,9.164,983,6.816,1007,9.003,1014,4.845,1120,6.33,1336,6.587,1365,10.075,1585,6.67,2176,11.166,2295,14.67,2296,12.86,2297,14.67,2298,14.67,2299,14.67,2300,14.67,2301,14.67,2302,12.476,2303,14.67,2304,13.897]],["keywords/427",[]],["title/428",[2305,1412.056]],["content/428",[21,4.351,193,4.151,255,4.538,467,2.458,540,7.329,617,12.333,632,10.001,832,2.462,842,6.585,847,2.805,925,5.251,983,8.824,2305,17.246,2306,17.993,2307,18.993,2308,15.728]],["keywords/428",[]],["title/429",[2309,1287.729]],["content/429",[8,6.625,9,3.103,30,4.216,58,6.295,59,3.54,90,6.041,140,3.704,149,7.549,255,3.848,274,5.583,323,6.923,467,2.395,475,4.492,516,7.835,587,9.262,651,9.718,804,3.832,807,3.665,832,2.087,838,4.085,925,4.452,1087,14.623,1337,13.335,1480,6.555,1766,12.258,2310,16.104,2311,9.148,2312,12.048,2313,16.104,2314,16.104,2315,22.517,2316,16.104,2317,20.478,2318,20.478,2319,16.104]],["keywords/429",[]],["title/430",[2320,1412.056]],["content/430",[30,4.91,50,6.058,59,4.122,257,6.483,467,1.836,613,5.989,804,5.736,807,3.356,832,2.431,840,8.38,843,14.835,847,2.77,2015,10.407,2320,17.028,2321,14.274]],["keywords/430",[]],["title/431",[2322,1412.056]],["content/431",[50,5.319,59,4.342,63,8.097,467,1.934,545,4.448,600,5.33,804,4.701,807,3.535,824,4.729,832,2.56,2311,11.221,2323,19.753]],["keywords/431",[]],["title/432",[2324,1473.221]],["content/432",[50,5.114,59,4.175,63,9.934,467,1.86,545,4.346,554,7.147,613,6.066,623,9.778,804,4.52,807,3.399,824,4.547,832,2.462,840,6.603,967,12.597,2311,10.789,2325,18.993]],["keywords/432",[]],["title/433",[2326,1412.056]],["content/433",[30,4.673,59,3.924,68,7.587,255,4.265,467,2.469,482,10.36,505,8.048,587,7.343,592,9.87,737,10.518,789,7.855,804,5.614,807,4.399,832,2.313,838,4.527,847,2.636,2309,14.781,2326,16.208,2327,16.208,2328,12.111]],["keywords/433",[]],["title/434",[1777,865.557]],["content/434",[21,4.408,423,7.424,467,2.468,807,3.444,832,2.494,847,2.842,885,6.114,892,8.117,910,16.363,982,5.566,1777,12.716,2329,19.24,2330,19.24]],["keywords/434",[]],["title/435",[2331,1555.113]],["content/435",[140,4.13,141,5.394,467,2.316,692,7.93,807,4.234,832,2.327,847,2.652,866,8.2,885,5.706,892,7.576,900,7.809,944,5.368,1366,8.165,2161,13.015,2332,17.958,2333,17.958,2334,21.917,2335,21.917,2336,14.87,2337,17.958]],["keywords/435",[]],["title/436",[2338,1412.056]],["content/436",[164,10.935,467,2.228,661,6.431,746,9.438,807,3.421,832,2.478,840,6.646,847,2.823,1008,9.583,1511,15.122,2130,19.95,2215,19.355,2338,17.357,2339,14.823,2340,16.257]],["keywords/436",[]],["title/437",[14,379.983]],["content/437",[14,4.65,140,3.309,236,3.409,255,3.437,467,2.614,487,7.033,524,5.114,554,5.413,807,2.575,824,3.444,832,2.467,847,2.811,883,6.654,885,6.047,892,8.998,925,3.977,982,4.161,984,9.641,986,10.588,994,11.63,1004,10.456,1013,10.762,1014,4.751,1037,10.428,1117,11.63,1269,8.229,1336,6.459,1393,10.277,2100,8.829,2341,14.385,2342,14.385,2343,14.385,2344,12.61,2345,14.385,2346,14.385,2347,14.385,2348,14.385,2349,14.385,2350,12.61,2351,14.385,2352,14.385,2353,14.385,2354,14.385]],["keywords/437",[]],["title/438",[2355,1555.113]],["content/438",[9,2.754,14,5.395,48,7.785,58,7.106,223,11.062,340,9.956,363,3.333,417,6.716,554,6.84,556,4.572,613,7.051,617,11.803,625,8.719,676,14.38,807,3.254,824,4.352,832,2.356,847,2.685,885,5.776,900,7.905,1337,15.053,2356,18.178]],["keywords/438",[]],["title/439",[516,756.595]],["content/439",[467,2.043,832,2.704,847,3.082,2357,20.865,2358,18.946]],["keywords/439",[]],["title/440",[2359,1555.113]],["content/440",[9,2.915,141,6.862,163,14.645,198,15.22,275,12.02,443,7.331,467,1.884,516,9.361,728,8.178,832,2.494,847,2.842,885,6.114,944,5.751,958,12.367,1727,14.162,2360,19.24]],["keywords/440",[]],["title/441",[2361,1555.113]],["content/441",[204,5.676,246,8.857,335,13.708,357,6.692,443,7.94,467,2.415,513,9.153,534,8.759,545,3.173,613,5.287,624,4.734,719,7.657,732,9.909,824,4.989,828,7.551,832,2.701,842,5.739,973,5.837,2358,20.708,2362,16.554,2363,14.078,2364,16.554,2365,9.681,2366,16.554,2367,18.921,2368,16.554]],["keywords/441",[]],["title/442",[2369,1555.113]],["content/442",[9,2.376,141,4.709,246,7.818,286,5.974,467,2.473,513,8.669,516,9.794,545,3.859,613,5.007,692,5.673,824,3.754,832,2.032,842,5.436,847,3.465,885,4.982,892,8.493,900,9.67,973,8.755,1147,16.367,2363,13.334,2367,20.19,2370,15.678,2371,22.235,2372,21.064]],["keywords/442",[]],["title/443",[2373,1412.056]],["content/443",[14,4.987,59,3.521,63,8.365,202,7.192,322,6.409,449,9.588,467,2.199,475,5.693,505,7.222,520,8.072,545,3.07,613,5.115,800,7.908,804,4.856,807,2.867,832,2.076,835,11.79,838,5.696,840,5.568,847,2.366,988,11.934,1110,5.248,1205,4.721,1333,10.006,1393,16.896,1487,10.868,2308,18.598,2373,14.544,2374,20.408,2375,20.408,2376,15.267]],["keywords/443",[]],["title/444",[2377,1555.113]],["content/444",[41,4.829,50,6.152,223,11.708,263,10.78,467,1.884,548,8.208,804,4.578,832,2.494,847,2.842,1024,12.493,1127,13.746,1480,7.832,1899,15.932,2378,19.24,2379,16.363,2380,16.363]],["keywords/444",[]],["title/445",[1108,1163.403]],["content/445",[41,4.737,222,10.796,467,2.211,657,13.68,807,4.042,824,4.518,832,2.446,847,2.787,944,5.641,1039,15.147,1108,14.119,1727,13.892,2381,18.873,2382,17.136,2383,18.873,2384,18.873,2385,18.873]],["keywords/445",[]],["title/446",[2386,1412.056]],["content/446",[1,3.708,8,6.064,9,2.931,26,6.411,78,8.825,79,5.782,140,3.391,171,5.859,257,7.463,274,5.111,354,8.557,409,11.871,423,5.689,454,9.477,467,2.437,562,8.206,605,8.897,613,4.708,674,11.029,787,8.621,789,6.487,804,3.508,807,3.462,815,9.573,832,1.911,838,3.739,840,5.125,842,5.111,847,2.177,885,6.146,925,5.348,1054,12.208,1431,7.718,1558,10.003,1683,6.043,1827,12.208,1954,8.261,2386,17.563,2387,7.005,2388,11.662,2389,12.924,2390,10.852,2391,7.901,2392,7.005,2393,14.743,2394,9.477,2395,14.743,2396,14.743,2397,10.533,2398,14.743]],["keywords/446",[]],["title/447",[743,639.701]],["content/447",[467,2.538,743,9.22,807,3.335,832,2.415,847,2.752,885,5.921,892,7.862,924,6.27,925,5.152,984,9.44,1014,6.154,1187,14.45,1365,12.798,2100,11.437,2399,15.849,2400,13.508]],["keywords/447",[]],["title/448",[1247,1257.267]],["content/448",[467,2.503,748,14.835,823,12.478,832,2.431,847,2.77,925,6.664,1014,7.96,1244,17.028,1247,15.161,2401,17.766,2402,17.766]],["keywords/448",[]],["title/449",[2127,1412.056]],["content/449",[50,4.986,363,3.371,390,4.259,467,2.186,540,7.146,832,2.894,847,2.735,921,9.534,925,5.12,930,8.281,931,6.315,1437,6.883,1464,9.64,1629,12.565,2194,16.815,2195,16.815,2403,18.519,2404,18.519,2405,18.519,2406,18.519]],["keywords/449",[]],["title/450",[2390,1144.672]],["content/450",[6,7.29,9,2.657,13,7.397,15,7.088,144,5.852,219,12.526,467,1.717,524,4.711,746,8.657,804,4.172,807,3.138,812,6.42,832,2.272,847,2.59,1018,6.147,1051,14.911,1120,7.566,1581,9.527,1686,9.026,2020,8.572,2390,17.981,2407,17.533,2408,17.533,2409,13.117,2410,17.533,2411,14.175,2412,11.629]],["keywords/450",[]],["title/451",[2413,1287.729]],["content/451",[50,5.691,59,3.722,63,8.663,204,5.806,223,10.303,257,5.854,355,6.965,404,6.109,467,2.432,545,4.625,804,4.029,807,3.031,832,2.194,838,5.361,842,5.87,847,2.501,885,5.38,892,7.144,900,7.363,967,14.018,1158,10.578,1163,9.977,1224,14.4,2413,14.021,2414,17.087,2415,13.689]],["keywords/451",[]],["title/452",[21,278.126,941,666.996]],["content/452",[]],["keywords/452",[]],["title/453",[942,1555.113]],["content/453",[144,6.259,162,9.5,287,6.066,362,4.279,390,5.175,417,6.928,812,6.866,832,2.431,836,6.448,847,2.77,941,13.242,943,18.753,944,5.606,945,11.611,946,17.028,947,9.08,948,15.529,949,7.797]],["keywords/453",[]],["title/454",[950,1412.056]],["content/454",[187,7.742,190,14.03,320,15.529,417,6.928,443,7.145,545,3.595,651,11.317,737,11.05,800,9.259,824,5.387,832,2.431,847,2.77,941,13.242,950,17.028,951,13.36,952,16.439,953,17.766]],["keywords/454",[]],["title/455",[954,1412.056]],["content/455",[96,10.72,144,6.299,163,14.365,319,6.616,362,4.306,524,5.071,756,10.72,803,16.05,812,6.91,886,8.692,949,9.39,954,17.136,955,18.873,956,13.299,957,11.79,958,12.131,959,16.544,960,8.405,961,16.05]],["keywords/455",[]],["title/456",[962,1412.056]],["content/456",[96,11.528,144,6.773,362,4.631,524,5.453,812,7.431,956,14.3,957,12.678,962,18.427,963,18.427]],["keywords/456",[]],["title/457",[964,1412.056]],["content/457",[9,2.884,34,7.138,38,7.287,48,9.134,140,3.309,171,5.717,215,6.785,255,3.437,286,5.481,362,3.282,429,4.617,434,9.492,464,8.998,467,2.565,486,5.057,548,6.137,614,10.004,808,7.249,832,1.864,836,7.804,847,2.125,848,10.028,925,3.977,941,10.456,964,13.062,965,9.541,966,9.438,967,14.146,968,8.987,969,8.753,970,14.385,971,6.025,972,12.61,973,5.072,974,13.062,975,14.385,976,5.876,977,13.062,978,14.385]],["keywords/457",[]],["title/458",[21,278.126,1463,689.643]],["content/458",[]],["keywords/458",[]],["title/459",[2416,1555.113]],["content/459",[7,9.788,363,2.886,467,1.872,823,9.896,824,4.577,832,2.478,921,9.841,930,8.548,931,6.519,981,12.821,982,5.53,1437,7.105,1531,15.829,2416,19.116,2417,18.109,2418,20.644,2419,18.109,2420,20.644]],["keywords/459",[]],["title/460",[2421,1555.113]],["content/460",[7,9.916,215,5.789,363,2.924,467,1.896,832,2.51,921,9.97,930,8.66,931,6.604,1437,7.198,1528,15.016,1529,14.038,1530,17.584,1531,16.036,1533,19.366,2419,18.346,2421,19.366]],["keywords/460",[]],["title/461",[2422,1555.113]],["content/461",[7,9.981,363,2.943,467,1.909,832,2.526,889,5.626,920,9.017,921,10.035,930,8.717,931,6.647,1437,7.246,1530,17.7,1531,16.141,2419,18.467,2422,19.493,2423,21.051]],["keywords/461",[]],["title/462",[2424,1555.113]],["content/462",[7,9.251,273,5.628,363,2.728,467,1.769,475,6.136,571,12.675,623,9.301,624,5.167,700,11.089,764,8.25,807,3.234,832,2.342,856,10.903,928,10.263,930,8.08,931,6.161,1531,14.961,1557,10.41,1558,12.259,1559,20.84,1560,18.067,2424,18.067,2425,18.067,2426,19.512]],["keywords/462",[]],["title/463",[2427,1555.113]],["content/463",[7,9.482,14,4.525,51,10.24,144,6.181,215,5.536,363,2.796,467,1.813,556,4.658,794,11.788,807,3.314,832,2.4,921,9.534,930,8.281,931,6.315,944,5.536,1437,6.883,1531,15.335,1563,12.282,1564,13.05,1565,18.519,2425,18.519,2427,18.519,2428,19.999]],["keywords/463",[]],["title/464",[21,278.126,1732,1214.065]],["content/464",[]],["keywords/464",[]],["title/465",[2429,1555.113]],["content/465",[122,4.134,215,5.12,222,9.798,358,6.271,467,2.623,807,4.336,832,2.22,847,2.53,920,11.207,1463,12.092,1464,12.057,1629,14.444,1773,15.014,2429,17.128]],["keywords/465",[]],["title/466",[2430,1555.113]],["content/466",[14,4.388,358,6.575,363,2.711,467,2.547,545,3.442,807,4.409,832,2.327,847,2.652,920,10.138,982,5.195,984,9.097,1463,10.201,1464,11.409,1472,16.306,1473,9.455,1629,12.185,2430,17.958]],["keywords/466",[]],["title/467",[2431,1555.113]],["content/467",[14,4.114,358,6.164,363,2.542,467,2.54,545,3.227,807,4.31,832,2.73,847,2.487,920,9.742,930,7.529,931,5.741,982,6.092,1463,9.564,1464,10.963,1473,11.089,1629,11.424,1776,16.836,1777,9.371,1778,16.836,1780,16.836,1781,15.287,1782,16.836,2431,16.836,2432,18.182]],["keywords/467",[]],["title/468",[2433,1555.113]],["content/468",[41,4.25,50,4.559,274,5.87,363,3.479,467,2.565,554,6.371,566,9.756,807,3.783,832,2.739,847,2.501,920,9.776,930,7.572,931,5.774,933,11.356,1463,9.618,1464,8.814,1483,12.097,1629,11.489,1784,12.097,1785,16.932,1786,16.932,1788,16.932,2433,16.932,2434,18.286,2435,18.286]],["keywords/468",[]],["title/469",[2436,1555.113]],["content/469",[122,3.908,273,5.044,274,5.614,358,5.929,467,2.594,548,6.908,566,9.33,743,6.661,804,5.65,807,4.04,832,2.663,847,2.391,920,9.505,930,7.241,931,5.522,973,5.709,1463,9.198,1464,10.697,1473,8.526,1475,7.014,1476,11.261,1477,11.738,1483,11.569,1629,10.987,1791,16.192,2436,16.192,2437,17.487]],["keywords/469",[]],["title/470",[2438,1555.113]],["content/470",[58,6.161,274,5.464,358,7.396,363,2.38,390,3.625,467,2.476,677,7.049,804,4.807,807,2.821,824,4.836,828,5.219,832,2.618,837,9.512,842,5.464,889,4.549,921,8.114,924,5.303,930,7.049,931,5.375,944,6.038,960,7.02,1437,5.859,1464,12.238,1479,19.466,1480,6.416,1481,14.932,1794,15.762,1796,15.762,1797,15.762,1799,15.762,1800,15.762,2438,15.762,2439,17.022,2440,17.022]],["keywords/470",[]],["title/471",[2441,1555.113]],["content/471",[274,5.973,358,6.308,363,3.225,467,2.551,556,4.333,807,4.156,832,2.769,847,2.544,920,9.882,930,7.704,931,5.875,1463,9.786,1464,11.121,1473,11.249,1483,12.308,1629,11.689,1777,9.589,1802,17.227,1804,17.227,2441,17.227,2442,18.605]],["keywords/471",[]],["title/472",[2443,1555.113]],["content/472",[59,3.854,274,6.078,358,6.42,363,2.647,467,2.56,566,10.102,807,3.865,832,2.799,847,2.59,920,9.99,930,7.841,931,5.979,949,8.98,1463,9.96,1464,9.127,1483,12.526,1629,11.897,1784,12.526,1806,17.533,2443,17.533,2444,18.935]],["keywords/472",[]],["title/473",[2445,1555.113]],["content/473",[14,4.185,21,3.924,358,6.271,363,3.214,467,2.548,807,4.145,832,2.759,847,2.53,856,12.846,920,9.847,930,7.659,931,5.841,1463,9.729,1464,11.081,1473,9.018,1629,11.622,1777,9.533,1781,15.552,1809,17.128,1811,17.128,2445,17.128,2446,18.497]],["keywords/473",[]],["title/474",[2447,1555.113]],["content/474",[32,6.304,34,7.739,59,4.876,108,6.415,215,6.999,329,5.468,358,5.71,363,2.354,417,5.762,467,2.428,566,8.986,592,12.948,600,4.209,807,2.791,832,2.6,842,6.955,847,2.303,893,16.22,924,5.247,930,6.974,931,5.318,933,13.456,976,6.37,1208,7.032,1365,10.711,1417,14.775,1464,8.119,1480,6.348,1563,10.344,1564,10.99,1784,11.143,1816,15.596,1817,8.922,1818,15.596,1820,15.596,2447,15.596]],["keywords/474",[]],["title/475",[2448,1555.113]],["content/475",[122,3.764,274,5.407,358,5.71,467,2.613,548,6.654,566,8.986,743,6.415,807,4.191,832,2.6,847,2.303,920,10.831,925,4.312,930,6.974,931,5.318,1463,11.396,1464,11.546,1475,6.756,1476,10.846,1477,11.305,1483,11.143,1629,13.613,1822,12.609,1823,12.914,1824,15.596,1826,15.596,1827,12.914,2448,15.596,2449,16.843]],["keywords/475",[]],["title/476",[2450,1555.113]],["content/476",[8,6.848,215,4.976,358,6.095,363,2.513,382,8.303,467,2.614,807,4.293,824,3.986,832,2.158,847,2.459,920,11.094,1073,13.459,1437,6.188,1463,11.879,1464,11.902,1629,14.189,2394,10.701,2450,16.647,2451,17.978]],["keywords/476",[]],["title/477",[2452,1555.113]],["content/477",[50,4.612,58,6.695,59,3.765,174,5.598,285,7.723,286,6.526,363,3.214,467,2.487,605,10.336,719,7.923,807,3.066,824,4.101,832,2.759,847,2.53,924,5.762,931,5.841,1365,11.763,1464,8.916,1529,15.431,1784,12.237,2198,10.604,2452,17.128,2453,18.497,2454,18.497,2455,18.497,2456,15.552,2457,15.552,2458,18.497]],["keywords/477",[]],["title/478",[2459,1555.113]],["content/478",[141,5.235,274,6.043,358,6.382,363,3.249,390,4.009,467,2.557,600,4.704,807,3.851,832,2.789,847,2.574,920,9.954,930,7.794,931,5.944,1463,9.901,1464,11.202,1483,12.453,1629,11.827,1830,16.512,2459,17.43,2460,18.823,2461,18.823]],["keywords/478",[]],["title/479",[21,278.126,2462,1311.126]],["content/479",[]],["keywords/479",[]],["title/480",[2463,1555.113]],["content/480",[21,4.495,467,1.921,556,4.935,807,3.512,824,4.698,832,2.543,930,8.775,931,6.691,982,5.676,1437,7.294,2463,19.622,2464,19.622,2465,19.622,2466,21.191]],["keywords/480",[]],["title/481",[2467,1555.113]],["content/481",[15,7.581,251,8.219,273,5.841,467,1.836,475,5.231,516,9.124,545,3.595,824,4.49,832,2.916,930,8.386,931,6.395,982,5.425,1437,6.971,1489,14.03,1906,13.594,2465,18.753,2467,18.753,2468,20.252,2469,18.753,2470,20.252]],["keywords/481",[]],["title/482",[21,278.126,2471,1214.065]],["content/482",[]],["keywords/482",[]],["title/483",[2472,1555.113]],["content/483",[21,4.408,467,2.237,556,4.839,807,3.444,824,4.606,832,2.494,930,8.604,931,6.561,982,5.566,984,9.747,1437,7.151,1516,18.227,2464,19.24,2472,19.24,2473,19.24,2474,20.778]],["keywords/483",[]],["title/484",[2475,1555.113]],["content/484",[14,4.582,467,2.203,545,4.313,824,4.49,832,2.916,860,10.579,930,8.386,931,6.395,982,5.425,984,9.5,1208,8.456,1437,6.971,1516,17.766,1563,12.438,2469,18.753,2473,18.753,2475,18.753,2476,20.252]],["keywords/484",[]],["title/485",[21,278.126,913,738.774]],["content/485",[]],["keywords/485",[]],["title/486",[914,1412.056]],["content/486",[807,3.815,914,19.354]],["keywords/486",[]],["title/487",[915,1412.056]],["content/487",[475,5.862,832,2.723,847,3.103,915,19.08]],["keywords/487",[]],["title/488",[916,1412.056]],["content/488",[807,3.815,916,19.354]],["keywords/488",[]],["title/489",[917,1412.056]],["content/489",[807,3.815,917,19.354]],["keywords/489",[]],["title/490",[918,1412.056]],["content/490",[823,11.034,918,19.354]],["keywords/490",[]],["title/491",[919,1412.056]],["content/491",[363,3.064,726,12.564,824,4.859,832,2.63,847,2.997,889,5.857,919,18.427,920,9.387,921,10.448]],["keywords/491",[]],["title/492",[922,1412.056]],["content/492",[132,14.021,286,6.451,390,3.894,443,6.451,467,2.432,556,4.259,807,3.031,832,2.739,847,2.501,889,6.1,922,15.375,923,15.375,924,5.697,925,4.681,926,9.901,927,14.4,928,9.618,929,13.453,930,7.572,931,5.774,932,15.375,933,15.454,934,16.041,935,16.932,936,15.375,937,16.932,938,16.932,939,16.932,940,15.375]],["keywords/492",[]],["title/493",[21,278.126,623,625.025]],["content/493",[]],["keywords/493",[]],["title/494",[979,1412.056]],["content/494",[19,8.262,21,4.436,46,7.642,319,6.789,429,6.216,486,6.809,545,3.712,554,7.287,613,6.185,716,10.317,824,4.636,947,9.377,979,17.584]],["keywords/494",[]],["title/495",[980,1412.056]],["content/495",[14,5.375,21,4.139,23,7.354,67,10.336,140,4.155,244,15.838,286,6.884,287,5.844,363,2.728,443,6.884,486,6.352,824,4.326,894,10.994,944,5.401,980,16.405,981,15.907,982,6.364,983,11.019,984,9.153,985,11.854,986,13.299]],["keywords/495",[]],["title/496",[987,1412.056]],["content/496",[32,7.985,363,2.982,467,1.934,565,10.783,804,5.522,824,4.729,887,9.61,889,6.697,987,17.936,988,11.551,989,14.539]],["keywords/496",[]],["title/497",[990,1412.056]],["content/497",[14,4.671,19,8.156,50,5.147,273,5.954,390,4.397,447,13.657,545,4.362,597,9.486,856,13.734,961,16.257,990,17.357,991,19.116,992,12.412,993,13.41,994,15.455]],["keywords/497",[]],["title/498",[21,278.126,1784,867.387]],["content/498",[15,7.985,21,4.525,50,6.248,187,8.154,706,10.852,947,9.564,958,12.697,992,12.826,1604,16.799,1784,14.112,2477,19.753,2478,16.799]],["keywords/498",[]],["title/499",[21,278.126,1097,1102.381]],["content/499",[]],["keywords/499",[]],["title/500",[1284,1412.056]],["content/500",[832,2.723,847,3.103,885,6.677,1284,19.08]],["keywords/500",[]],["title/501",[1285,1412.056]],["content/501",[832,2.723,847,3.103,885,6.677,1285,19.08]],["keywords/501",[]],["title/502",[1286,1412.056]],["content/502",[832,2.723,847,3.103,885,6.677,1286,19.08]],["keywords/502",[]],["title/503",[1287,1412.056]],["content/503",[832,2.723,847,3.103,885,6.677,1287,19.08]],["keywords/503",[]],["title/504",[21,278.126,122,293.037]],["content/504",[]],["keywords/504",[]],["title/505",[995,1555.113]],["content/505",[7,9.482,193,4.88,467,2.437,620,7.618,632,9.751,804,5.314,832,2.4,847,2.735,872,12.151,882,10.24,992,12.025,996,18.519,997,18.519,998,21.153,999,18.519,1000,18.519,1001,17.544]],["keywords/505",[]],["title/506",[1002,1412.056]],["content/506",[889,6.152,1002,19.354]],["keywords/506",[]],["title/507",[1003,1412.056]],["content/507",[1003,19.354,1004,11.71]],["keywords/507",[]],["title/508",[1005,1555.113]],["content/508",[9,3.613,21,4.19,122,5.755,193,3.997,211,16.033,329,6.412,404,6.599,467,1.791,620,7.524,807,3.274,832,2.371,847,2.701,887,8.899,929,14.107,1006,18.29,1007,11.225,1008,9.169,1009,18.29,1010,18.29,1011,10.777]],["keywords/508",[]],["title/509",[21,278.126,2479,1311.126]],["content/509",[]],["keywords/509",[]],["title/510",[2480,1555.113]],["content/510",[16,6.965,31,5.643,215,7.034,255,3.404,274,4.939,363,2.151,417,5.264,443,5.428,453,9.631,467,2.484,524,3.828,540,7.297,603,7.949,824,4.527,832,2.451,836,7.774,847,2.104,848,6.294,849,13.028,926,8.331,930,6.371,931,4.858,945,8.821,1141,7.217,1385,5.394,1470,7.983,1581,9.204,1582,11.27,1583,11.797,1584,10.179,1585,6.478,1586,14.247,1592,14.247,1593,14.247,1594,14.247,1595,12.489,1596,14.247,2480,14.247,2481,13.142,2482,14.247,2483,14.247,2484,18.911]],["keywords/510",[]],["title/511",[2485,1555.113]],["content/511",[16,6.899,31,5.59,68,5.998,215,7.012,255,3.372,274,4.892,363,2.13,417,5.213,443,5.376,453,9.57,467,2.479,505,6.363,524,3.791,540,7.251,603,7.899,824,4.499,832,2.435,836,7.745,847,2.084,848,10.364,926,8.252,930,6.31,931,4.812,945,8.737,1141,7.148,1385,5.343,1470,7.907,1581,9.169,1582,11.163,1583,11.685,1584,10.082,1585,6.416,1591,12.37,1595,12.37,1598,14.111,1599,14.111,1600,14.111,1601,14.111,1602,14.111,2481,13.08,2482,14.111,2483,14.111,2484,14.111,2485,14.111]],["keywords/511",[]],["title/512",[21,278.126,1682,981.539]],["content/512",[]],["keywords/512",[]],["title/513",[2288,1363.216]],["content/513",[205,7.44,251,9.606,354,12.721,467,2.412,535,16.306,832,2.84,847,2.652,930,8.031,931,6.124,1059,13.017,1470,10.062,2028,16.132,2286,17.012,2287,16.306,2288,15.742,2289,16.306,2290,16.306,2291,16.306,2486,17.012,2487,23.669]],["keywords/513",[]],["title/514",[2488,1555.113]],["content/514",[205,7.44,251,9.606,354,12.721,467,2.412,535,16.306,832,2.84,847,2.652,930,8.031,931,6.124,1059,13.017,1470,10.062,2028,16.132,2287,16.306,2289,16.306,2290,16.306,2291,16.306,2488,17.958,2489,17.012,2490,19.394,2491,23.669]],["keywords/514",[]],["title/515",[21,278.126,1165,788.314]],["content/515",[]],["keywords/515",[]],["title/516",[1309,1555.113]],["content/516",[807,3.734,832,2.704,847,3.082,1165,13.548,1310,20.865]],["keywords/516",[]],["title/517",[21,278.126,889,350.402]],["content/517",[]],["keywords/517",[]],["title/518",[1288,1412.056]],["content/518",[106,11.613,644,12.956,807,3.607,889,5.817,1288,18.302,1289,15.629,1290,15.629,1291,17.565,1292,15.629]],["keywords/518",[]],["title/519",[1293,1412.056]],["content/519",[9,2.954,187,8.047,363,2.943,505,8.789,592,10.779,612,11.963,624,5.575,836,6.702,965,12.929,1007,11.963,1103,10.384,1293,17.7,1294,9.53,1295,19.493,1296,17.7]],["keywords/519",[]],["title/520",[1297,1412.056]],["content/520",[363,3.517,475,5.547,726,12.312,816,13.047,824,4.761,832,2.577,847,2.937,889,5.739,913,12.101,1297,18.056,1298,17.432]],["keywords/520",[]],["title/521",[1299,1412.056]],["content/521",[106,11.613,644,12.956,807,3.607,889,5.817,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1299,18.302,1300,17.142]],["keywords/521",[]],["title/522",[1301,1412.056]],["content/522",[106,11.613,644,12.956,807,3.607,889,5.817,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1301,18.302,1302,20.156]],["keywords/522",[]],["title/523",[1303,1412.056]],["content/523",[106,11.613,644,12.956,889,5.817,1165,13.088,1289,15.629,1290,15.629,1291,15.079,1292,15.629,1303,18.302,1304,20.156]],["keywords/523",[]],["title/524",[1305,1412.056]],["content/524",[9,2.993,187,8.154,505,8.906,612,12.123,624,5.649,836,6.792,966,12.96,1007,12.123,1103,10.523,1294,9.657,1296,17.936,1305,17.936,1306,18.713]],["keywords/524",[]],["title/525",[1307,1412.056]],["content/525",[363,2.943,726,12.069,824,4.667,832,2.526,847,2.879,889,6.645,920,9.017,921,10.035,1289,17.852,1290,15.115,1291,14.583,1292,15.115,1307,17.7]],["keywords/525",[]],["title/526",[1308,1412.056]],["content/526",[467,2.057,804,5,924,7.07,1308,19.08]],["keywords/526",[]],["title/527",[21,278.126,1520,1214.065]],["content/527",[]],["keywords/527",[]],["title/528",[2492,1679.439]],["content/528",[7,9.308,230,8.559,467,2.422,677,8.129,739,9.684,804,4.326,807,3.254,820,5.88,824,4.352,832,2.862,847,2.685,982,5.259,984,9.209,1437,6.757,1515,15.46,1523,18.178,1524,18.178,1525,17.221,1526,16.506,2471,22.08,2493,19.631]],["keywords/528",[]],["title/529",[21,278.126,993,715.359]],["content/529",[]],["keywords/529",[]],["title/530",[1320,1363.216]],["content/530",[9,3.603,14,4.442,15,7.348,251,7.967,273,5.662,498,13.38,545,4.559,700,11.156,842,6.302,856,10.97,993,10.711,994,14.697,1061,10.326,1320,15.935,1321,16.506,1322,19.355,1323,17.221,1324,15.935,1325,18.178,1326,17.221,1327,18.178]],["keywords/530",[]],["title/531",[1328,1412.056]],["content/531",[21,5.487,1328,18.946,1329,12.591,1330,18.946]],["keywords/531",[]],["title/532",[1331,1322.558]],["content/532",[16,9.406,467,1.884,540,7.424,545,3.688,789,8.466,824,4.606,832,2.494,847,2.842,856,11.611,873,12.904,993,11.337,1330,17.47,1331,19.429,1332,14.645,1333,12.02,1334,19.24]],["keywords/532",[]],["title/533",[21,278.126,827,745.108]],["content/533",[]],["keywords/533",[]],["title/534",[1311,1555.113]],["content/534",[50,4.749,155,10.644,285,7.953,286,6.72,423,6.806,467,1.727,486,6.201,545,4.155,611,12.601,640,12.982,668,12.982,677,7.887,827,15.7,829,11.829,832,2.286,847,2.605,1208,7.953,1269,10.09,1312,17.637,1313,17.637,1314,17.637,1315,21.676,1316,17.637,1317,17.637]],["keywords/534",[]],["title/535",[1318,1555.113]],["content/535",[259,9.799,274,6.67,286,7.331,423,7.424,467,1.884,486,6.764,545,4.379,613,6.145,823,9.96,827,14.955,832,2.494,847,2.842,1117,15.555,1319,19.24]],["keywords/535",[]],["title/536",[21,278.126,1400,1032.511]],["content/536",[]],["keywords/536",[]],["title/537",[1401,1555.113]],["content/537",[193,4.528,467,2.029,804,4.93,832,2.685,847,3.06,1402,20.719]],["keywords/537",[]],["title/538",[21,278.126,1403,908.26]],["content/538",[]],["keywords/538",[]],["title/539",[1404,1412.056]],["content/539",[807,3.815,1404,19.354]],["keywords/539",[]],["title/540",[1405,1412.056]],["content/540",[807,3.815,1405,19.354]],["keywords/540",[]],["title/541",[1406,1412.056]],["content/541",[823,11.034,1406,19.354]],["keywords/541",[]],["title/542",[1407,1412.056]],["content/542",[363,3.064,726,12.564,824,4.859,832,2.63,847,2.997,889,5.857,920,9.387,921,10.448,1407,18.427]],["keywords/542",[]],["title/543",[1408,1412.056]],["content/543",[467,2.057,804,5,924,7.07,1408,19.08]],["keywords/543",[]],["title/544",[21,278.126,920,561.582]],["content/544",[]],["keywords/544",[]],["title/545",[1411,1412.056]],["content/545",[807,3.815,1411,19.354]],["keywords/545",[]],["title/546",[1412,1412.056]],["content/546",[807,3.815,1412,19.354]],["keywords/546",[]],["title/547",[1413,1412.056]],["content/547",[807,3.815,1413,19.354]],["keywords/547",[]],["title/548",[1414,1412.056]],["content/548",[132,14.021,286,6.451,390,3.894,443,6.451,467,2.432,556,4.259,807,3.031,832,2.739,847,2.501,923,15.375,924,5.697,925,4.681,926,9.901,928,9.618,929,13.453,930,7.572,931,5.774,932,15.375,933,15.454,936,15.375,940,15.375,1403,12.667,1414,15.375,1415,14.4,1416,13.689,1417,16.041,1418,16.932,1419,16.932,1420,16.932,1421,16.932]],["keywords/548",[]],["title/549",[21,278.126,1429,1150.133]],["content/549",[]],["keywords/549",[]],["title/550",[1430,1412.056]],["content/550",[352,12.316,556,5.175,807,3.683,824,4.926,840,7.153,1430,18.683,1431,10.772]],["keywords/550",[]],["title/551",[1432,1412.056]],["content/551",[52,13.101,215,5.905,352,11.824,467,1.934,613,6.308,804,5.522,807,3.535,824,4.729,840,6.867,1432,17.936,1433,12.02,1434,11.92]],["keywords/551",[]],["title/552",[21,278.126,837,732.644]],["content/552",[]],["keywords/552",[]],["title/553",[2494,1555.113]],["content/553",[246,6.932,292,9.14,352,10.684,467,2.31,706,9.807,804,5.196,824,4.274,832,2.313,847,2.636,866,8.151,973,6.293,1068,12.643,2145,11.304,2198,11.051,2494,21.836,2495,15.647,2496,19.277,2497,13.139,2498,12.111,2499,12.753,2500,12.578,2501,17.85]],["keywords/553",[]],["title/554",[2502,1555.113]],["content/554",[187,6.612,246,6.221,255,5.366,286,6.103,467,2.445,486,5.631,545,4.305,804,4.856,820,5.181,824,4.886,832,2.076,838,5.176,866,7.314,882,8.857,925,4.428,928,9.099,971,8.547,973,7.195,1068,12.037,1110,5.248,2145,8.292,2146,8.114,2499,11.444,2500,11.287,2502,16.017,2503,17.298,2504,17.298,2505,17.298,2506,14.041,2507,17.298,2508,22.039]],["keywords/554",[]],["title/555",[2509,1473.221]],["content/555",[16,8.326,67,9.742,204,5.839,246,8.238,390,4.878,467,2.077,545,3.264,624,4.87,823,8.816,824,5.078,832,2.207,838,4.319,847,2.515,898,8.673,973,7.478,1068,9.126,1253,8.851,2145,8.816,2146,8.627,2497,12.535,2499,15.154,2500,14.947,2509,20.094,2510,18.391,2511,18.391,2512,14.928,2513,18.391,2514,18.391]],["keywords/555",[]],["title/556",[2515,1555.113]],["content/556",[16,8.674,191,14.036,204,6.084,246,6.891,390,5.004,467,2.13,486,6.238,824,5.209,832,2.3,838,5.518,847,2.621,898,9.036,973,6.256,1004,9.748,1068,11.659,2145,9.185,2497,13.06,2499,15.543,2500,15.331,2515,21.756,2516,19.161,2517,19.161]],["keywords/556",[]],["title/557",[2518,1555.113]],["content/557",[187,5.997,246,7.439,255,5.121,257,5.022,292,7.438,438,7.785,467,2.465,486,5.107,545,4.108,600,3.92,624,4.154,706,7.98,804,4.558,820,4.699,824,4.586,832,1.883,838,4.858,866,8.747,882,8.032,925,4.016,928,8.251,960,6.469,971,8.022,973,6.754,1068,12.211,1110,4.76,1736,9.976,2145,9.916,2146,7.359,2198,11.859,2498,9.856,2499,10.378,2500,13.498,2506,12.734,2518,14.526,2519,15.687,2520,15.687,2521,15.687,2522,13.761,2523,15.687,2524,20.686,2525,15.687]],["keywords/557",[]],["title/558",[2526,1555.113]],["content/558",[246,7.899,257,5.508,292,8.157,322,8.138,467,2.442,706,8.752,823,10.528,824,4.869,832,2.065,837,9.614,847,2.353,866,7.275,973,7.171,1068,12.006,1157,11.634,1253,8.487,1736,10.941,2145,10.528,2198,12.592,2498,10.81,2499,14.53,2500,14.331,2512,17.828,2526,20.338,2527,17.205,2528,21.964,2529,21.964]],["keywords/558",[]],["title/559",[2530,1555.113]],["content/559",[16,8.987,50,3.677,187,5.637,246,8.071,255,4.965,286,5.203,352,8.174,442,8.778,467,2.431,486,4.801,545,4.447,804,4.945,820,4.417,824,4.401,832,1.77,838,4.662,866,6.236,882,10.165,925,3.776,928,7.757,971,9.31,973,7.838,1068,12.434,1110,4.475,2145,10.757,2498,9.266,2499,14.847,2500,14.643,2506,11.971,2512,11.971,2530,13.656,2531,14.748,2532,14.748,2533,22.442,2534,10.395,2535,14.748,2536,14.748,2537,14.862,2538,14.748,2539,12.4]],["keywords/559",[]],["title/560",[2540,1555.113]],["content/560",[9,1.961,48,5.542,94,13.49,193,2.828,246,7.851,287,5.733,443,6.753,467,2.303,500,7.738,534,5.44,545,3.875,556,3.255,565,7.065,706,11.105,804,4.81,824,3.098,832,1.677,837,10.695,838,3.282,847,1.911,866,5.909,882,9.8,925,3.578,926,7.567,928,7.351,944,3.868,973,6.249,1068,10.833,1253,9.072,1703,9.85,1704,13.49,1705,10.716,2145,9.175,2478,11.006,2497,16.003,2498,8.781,2512,17.719,2534,16.549,2540,12.941,2541,13.975,2542,11.344,2543,13.975,2544,19.14,2545,12.172,2546,10.237,2547,8.491,2548,13.975,2549,13.975,2550,13.975,2551,7.893,2552,13.975,2553,12.259,2554,11.75,2555,9.681]],["keywords/560",[]],["title/561",[2556,1555.113]],["content/561",[16,8.623,133,10.474,191,13.952,204,6.048,246,8.419,390,4.985,467,2.122,486,6.201,545,4.155,824,5.19,832,2.286,847,2.605,898,8.982,973,7.642,1004,9.69,1068,11.617,2145,9.13,2499,12.601,2500,12.428,2556,21.676,2557,19.047,2558,19.047,2559,17.637]],["keywords/561",[]],["title/562",[21,278.126,390,279.233]],["content/562",[]],["keywords/562",[]],["title/563",[2560,1473.221]],["content/563",[246,6.769,292,8.925,390,5.369,467,2.387,534,7.327,706,9.576,804,5.121,824,4.173,832,2.259,847,2.574,866,7.959,973,6.145,2047,16.032,2145,12.085,2146,8.83,2498,11.827,2560,16.512,2561,18.823,2562,18.823,2563,13.788,2564,17.43,2565,18.823,2566,18.823]],["keywords/563",[]],["title/564",[2567,1555.113]],["content/564",[246,6.974,292,9.195,390,5.441,467,2.316,534,7.548,706,9.866,804,5.215,824,4.299,832,2.327,847,2.652,866,8.2,973,6.332,2145,11.345,2146,9.097,2198,11.118,2495,15.742,2498,12.185,2501,17.958,2563,14.206,2567,21.917,2568,19.394]],["keywords/564",[]],["title/565",[2569,1555.113]],["content/565",[29,16.788,246,8.065,292,8.429,390,5.232,467,2.339,500,7.187,534,8.728,706,12.497,731,10.582,804,4.941,824,3.941,832,2.134,847,2.431,866,7.517,973,5.804,985,10.801,1246,11.933,2047,11.305,2145,12.366,2146,8.339,2498,11.17,2563,16.427,2569,16.462,2570,17.778,2571,17.778,2572,17.778,2573,17.778,2574,17.778]],["keywords/565",[]],["title/566",[2575,1555.113]],["content/566",[5,10.221,8,8.814,9,1.895,21,2.865,162,6.334,193,2.733,216,14.333,246,6.723,258,4.396,319,4.384,390,4.928,438,6.701,467,2.512,534,5.256,545,2.397,548,9.598,566,7.205,719,8.007,804,5.538,820,4.045,824,2.994,832,1.621,847,1.847,866,5.71,973,4.409,992,15.492,1061,7.103,1110,4.097,1256,7.884,1373,6.742,1703,15.111,1704,9.518,1766,9.518,1991,9.892,2145,10.277,2146,6.334,2555,9.354,2563,15.705,2575,17.31,2576,10.634,2577,13.504,2578,7.811,2579,9.892,2580,13.504,2581,9.064,2582,12.504,2583,13.504,2584,17.31,2585,21.44,2586,21.44]],["keywords/566",[]],["title/567",[2587,1555.113]],["content/567",[83,6.934,162,7.359,216,12.028,292,7.438,369,11.057,390,5.241,397,11.491,467,2.098,545,4.368,548,8.172,624,4.154,706,7.98,804,4.558,824,3.478,832,1.883,847,2.145,866,6.633,973,5.122,992,13.916,1078,8.915,1256,9.159,1703,14.58,1704,14.58,1705,15.862,1766,11.057,1998,12.354,2145,11.795,2146,9.704,2478,12.354,2498,9.856,2534,16.313,2553,18.146,2554,17.393,2563,11.491,2579,11.491,2582,14.526,2587,14.526,2588,15.687,2589,15.687,2590,15.687,2591,12.028,2592,15.687,2593,15.687,2594,15.687]],["keywords/567",[]],["title/568",[2595,1555.113]],["content/568",[193,3.501,246,7.926,250,12.42,292,8.201,390,5.439,467,2.445,534,8.578,548,6.834,706,8.8,820,5.181,824,4.886,832,2.076,866,7.314,925,4.428,973,7.195,992,14.584,2145,10.564,2146,10.338,2198,12.635,2478,13.622,2498,10.868,2522,15.174,2563,12.671,2579,12.671,2595,16.017,2596,17.298,2597,15.534,2598,17.298,2599,22.039]],["keywords/568",[]],["title/569",[2600,1555.113]],["content/569",[246,9.242,257,6.687,292,7.549,322,5.899,390,4.965,438,10.366,467,2.391,486,5.183,534,9.633,545,3.708,706,8.1,804,4.603,824,3.53,832,1.911,840,5.125,847,2.177,866,6.732,973,8.08,1091,11.662,1196,9.048,1998,12.538,2145,12.643,2146,7.468,2198,13.365,2498,10.003,2563,11.662,2600,14.743,2601,15.921,2602,15.921,2603,10.852,2604,26.375]],["keywords/569",[]],["title/570",[30,317.855,603,510.322]],["content/570",[1,6.186,9,2.128,30,4.904,36,6.28,38,7.115,41,6.047,48,6.014,122,3.39,133,8.34,157,6.833,251,6.156,281,11.63,362,3.205,363,3.394,390,3.23,429,4.508,464,7.903,467,1.375,505,6.332,523,9.881,524,6.041,556,3.532,603,8.859,612,8.619,624,4.016,671,10.034,719,6.496,729,9.119,732,8.407,746,6.934,766,6.969,808,10.621,836,7.246,1007,8.619,1149,9.419,1512,8.546,2072,17.008,2605,15.167,2606,13.305,2607,15.167,2608,15.167,2609,14.044,2610,8.411]],["keywords/570",[]],["title/571",[587,639.701]],["content/571",[]],["keywords/571",[]],["title/572",[1,184.182,38,370.96,194,308.943,320,606.374,475,204.273]],["content/572",[1,5.533,9,2.738,38,9.153,41,4.535,50,4.865,73,10.646,144,6.03,230,11.168,251,7.919,285,8.146,320,14.961,324,13.516,475,6.136,489,8.431,757,13.516,836,7.563,838,4.582,1742,17.785,2173,16.405,2321,13.752,2611,14.607]],["keywords/572",[]],["title/573",[9,97.993,59,231.161,587,266.035,976,264.17,2612,550.019]],["content/573",[9,2.789,15,7.44,59,5.256,96,10.454,374,11.199,443,7.012,482,12.911,486,6.47,556,4.629,587,9.151,766,9.133,838,4.668,952,16.133,976,9.087,2612,15.652,2613,19.875,2614,18.404,2615,19.875,2616,16.133]],["keywords/573",[]],["title/574",[59,218.881,2612,846.801,2617,721.77]],["content/574",[1,4.658,9,2.806,29,14.972,59,5.471,139,9.284,193,4.047,262,10.748,274,6.42,475,6.229,1501,16.234,1612,15.735,1742,14.972,2321,14.096,2612,18.99,2617,16.186,2618,16.234]],["keywords/574",[]],["title/575",[15,296.016,482,425.021,556,184.182,2397,523.178,2619,539.01]],["content/575",[1,5.551,9,3.019,15,6.239,25,9.472,59,3.393,76,10.875,90,5.79,136,9.555,140,4.583,187,8.226,221,6.93,257,5.336,268,10.351,329,5.411,362,3.522,417,5.702,467,1.511,475,4.305,482,13.537,554,5.807,556,5.866,623,7.946,719,7.139,757,11.546,812,5.651,838,3.914,1110,5.057,1215,4.404,1262,11.747,1575,14.014,1644,4.929,2002,7.659,2390,11.36,2397,15.768,2619,16.245,2620,16.667,2621,14.621,2622,16.667,2623,12.478,2624,13.126]],["keywords/575",[]],["title/576",[2397,867.387,2625,924.103]],["content/576",[9,2.414,15,6.44,90,5.976,149,10.501,171,6.332,453,8.113,467,2.311,545,3.054,562,12.469,587,6.553,824,3.814,838,4.041,960,7.095,1260,15.092,2145,8.247,2382,20.342,2397,17.422,2545,13.967,2625,15.48,2626,19.267,2627,15.092,2628,17.205,2629,13.549,2630,13.549,2631,13.549,2632,17.205,2633,15.931,2634,13.965,2635,16.76,2636,15.48]],["keywords/576",[]],["title/577",[390,229.009,545,190.861,838,252.539]],["content/577",[1,3.313,9,1.996,15,7.251,140,4.126,148,7.761,171,7.129,274,4.566,323,5.662,362,3.005,390,5.438,467,1.997,525,9.597,545,4.392,618,9.16,653,9.281,677,8.022,728,5.598,746,6.503,777,15.232,812,4.822,838,5.812,842,4.566,878,14.37,887,9.925,894,12.413,944,3.937,976,5.38,1261,11.616,1360,11.545,1612,9.281,1687,10.646,2397,14.574,2581,9.547,2611,10.648,2612,11.201,2629,11.201,2637,7.702,2638,14.224,2639,12.477,2640,9.693,2641,14.224,2642,14.224]],["keywords/577",[]],["title/578",[500,319.695,545,140.367,624,209.42,838,185.728,2643,790.825]],["content/578",[9,3.383,50,4.986,90,6.947,136,11.466,140,4.259,467,1.813,545,4.28,838,6.08,1352,12.282,1385,8.455,2002,11.08,2637,10.829,2644,19.999,2645,19.999,2646,19.999,2647,19.999,2648,19.999]],["keywords/578",[]],["title/579",[2649,1412.056]],["content/579",[9,3.054,357,8.148,467,2.299,587,8.291,2397,14.4,2649,18.302,2650,21.767,2651,21.767,2652,18.302]],["keywords/579",[]],["title/580",[2653,1412.056]],["content/580",[6,7.04,26,9.191,50,6.204,59,4.646,68,7.197,70,14.021,146,7.363,187,6.99,202,7.603,204,5.806,285,7.635,475,4.723,486,7.431,501,14.018,505,7.635,554,6.371,556,4.259,587,6.965,976,6.916,1207,11.628,1227,7.867,1487,11.489,2653,19.191,2654,16.932,2655,16.932,2656,14.4,2657,10.778,2658,16.041,2659,18.286,2660,22.825]],["keywords/580",[]],["title/581",[59,266.883,77,788.314]],["content/581",[1,5.772,9,2.005,19,5.644,50,4.845,59,4.823,68,7.647,73,10.602,86,8.191,90,4.963,148,7.795,193,2.891,319,4.638,357,7.273,417,4.888,438,7.09,455,7.09,457,11.597,464,10.399,467,1.762,475,6.121,505,8.113,556,3.327,587,8.411,716,7.048,808,11.057,1016,10.696,1050,11.251,1099,8.873,1146,7.222,1207,9.085,1208,5.965,1385,5.009,2311,7.515,2547,8.68,2637,7.736,2653,12.012,2661,21.942,2662,13.229,2663,13.229,2664,13.229,2665,14.287,2666,14.287,2667,14.287,2668,14.287,2669,14.287,2670,14.287,2671,10.07,2672,14.287,2673,14.287,2674,9.738,2675,9.949,2676,13.229,2677,14.287,2678,14.287,2679,14.287]],["keywords/581",[]],["title/582",[362,192.565,475,235.414,501,559.715,812,308.997]],["content/582",[1,5.579,9,3.548,15,6.304,50,4.199,59,5.674,108,6.415,193,3.408,221,7.003,283,7.819,357,8.11,362,4.578,467,1.964,475,6.532,525,9.289,600,5.414,613,4.981,634,9.261,757,11.668,812,7.346,1110,7.268,2002,9.956,2637,9.12,2680,16.843,2681,15.596,2682,11.871,2683,15.596,2684,16.843]],["keywords/582",[]],["title/583",[1,212.259,310,299.242,475,235.414,1226,602.932]],["content/583",[1,3.298,9,2.71,50,3.531,56,8.429,59,5.312,90,4.919,133,7.787,140,3.016,213,12.422,221,5.888,285,5.912,310,4.65,362,4.081,390,4.681,397,10.373,464,8.587,467,1.284,475,6.098,523,5.532,542,13.613,556,3.298,587,5.394,600,5.899,648,12.282,812,6.548,898,11.134,1011,7.726,1226,15.619,1227,9.456,1333,11.172,1631,11.906,2002,8.874,2279,7.913,2640,6.231,2661,21.861,2662,13.112,2663,20.352,2664,20.352,2683,13.112,2685,12.422,2686,14.161,2687,14.161,2688,14.161,2689,14.161,2690,14.161,2691,14.161,2692,14.161,2693,14.161,2694,16.942,2695,12.422]],["keywords/583",[]],["title/584",[59,285.368,144,281.659,475,235.414]],["content/584",[1,4.43,9,2.943,30,2.639,58,3.941,59,5.673,73,5.94,90,3.781,138,12.621,140,2.318,144,8.248,174,3.294,188,5.277,202,4.526,215,5.264,257,3.485,264,5.402,279,7.01,310,3.574,329,3.534,336,7.673,357,4.075,359,5.611,404,3.637,417,3.724,421,8.489,447,7.202,453,5.134,464,4.253,467,2.192,475,5.419,482,11.275,486,6.83,505,4.545,533,7.151,563,7.42,587,7.991,600,2.72,605,6.083,625,9.317,710,7.673,838,2.557,848,4.453,849,5.808,897,9.108,957,6.297,1062,6.761,1120,4.35,1144,7.541,1215,4.234,1253,4.206,1294,4.928,2481,6.241,2497,10.923,2612,12.621,2616,8.836,2617,10.757,2637,5.895,2696,10.886,2697,10.08,2698,10.886,2699,9.55,2700,10.886,2701,7.307,2702,8.15,2703,10.886,2704,10.886,2705,16.026,2706,10.886,2707,10.886,2708,10.886,2709,7.307,2710,7.974,2711,10.886,2712,19.02,2713,10.886,2714,10.886,2715,16.026,2716,10.886,2717,10.886,2718,10.886,2719,16.026,2720,10.886,2721,10.886,2722,10.886,2723,10.886]],["keywords/584",[]],["title/585",[482,902.598]],["content/585",[15,8.434,374,12.697,390,4.799,587,8.583,2724,20.865]],["keywords/585",[]],["title/586",[1386,971.506]],["content/586",[1,5.595,9,2.789,41,5.584,141,5.528,362,4.199,363,2.778,467,2.432,482,10.682,486,6.47,617,11.95,812,6.739,1487,15.094,2725,19.875,2726,19.875,2727,24.024,2728,19.875,2729,13.547]],["keywords/586",[]],["title/587",[592,859.896]],["content/587",[1,5.352,9,2.875,15,5.787,30,4.967,41,3.593,59,3.147,68,6.085,144,4.778,188,7.494,215,4.279,275,8.943,335,15.709,355,5.889,362,3.267,390,3.293,432,11.574,442,9.202,449,8.569,464,6.04,467,2.308,482,13.149,486,5.033,556,3.601,570,10.377,587,5.889,592,13.664,600,3.863,609,8.132,657,10.377,731,9.202,944,5.671,958,12.195,1379,10.228,1385,5.42,1386,8.943,1622,7.766,2652,17.226,2656,12.175,2699,13.562,2730,15.46,2731,15.46,2732,15.46,2733,15.46,2734,15.46,2735,10.537,2736,17.972,2737,11.854,2738,10.377]],["keywords/587",[]],["title/588",[21,278.126,944,362.907]],["content/588",[]],["keywords/588",[]],["title/589",[2739,1555.113]],["content/589",[322,7.142,467,2.31,551,18.093,807,3.195,824,4.274,832,2.313,847,2.636,883,8.257,926,12.769,944,5.336,951,10.6,1368,15.181,2397,15.601,2739,21.836,2740,9.509,2741,16.208,2742,23.582,2743,18.57,2744,19.277]],["keywords/589",[]],["title/590",[2745,1555.113]],["content/590",[149,9.126,259,7.584,274,5.162,324,11.14,329,5.221,390,4.478,443,5.674,467,1.458,486,5.235,506,9.389,545,2.854,562,8.288,706,11.918,716,7.933,719,6.888,824,5.194,832,1.93,847,2.199,944,6.877,1036,7.625,1100,10.226,1163,8.774,1624,8.643,2397,10.639,2545,13.371,2547,9.77,2625,14.82,2635,16.229,2740,7.933,2745,19.47,2746,14.107,2747,14.107,2748,16.081,2749,9.389,2750,14.891,2751,14.107,2752,14.891,2753,14.891,2754,16.081,2755,16.081,2756,16.081,2757,21.026,2758,16.081,2759,16.081,2760,16.081,2761,16.081,2762,16.081]],["keywords/590",[]],["title/591",[2763,1555.113]],["content/591",[5,10.406,8,7.291,25,7.942,83,8.461,90,4.854,193,2.828,246,7.851,467,2.464,500,5.65,548,8.624,551,13.046,719,8.198,766,6.422,804,5.174,807,2.316,816,8.491,820,4.186,824,4.243,832,1.677,847,1.911,872,8.491,897,7.942,944,6.499,973,4.563,992,8.403,1216,8.583,1631,11.75,2176,9.85,2284,11.344,2576,11.006,2603,16.763,2640,6.149,2740,12.132,2763,17.723,2764,17.191,2765,13.975,2766,13.975,2767,14.329,2768,13.975,2769,10.716,2770,12.941,2771,11.006,2772,13.975,2773,19.14,2774,13.975,2775,13.975,2776,13.975,2777,6.699,2778,19.14,2779,11.75,2780,12.941,2781,12.259]],["keywords/591",[]],["title/592",[2782,1555.113]],["content/592",[171,8.311,259,8.478,274,5.771,390,3.829,467,1.63,486,5.853,506,10.496,545,4.383,706,11.489,824,5.007,832,2.158,847,2.459,944,6.251,1624,9.662,1899,18.933,2545,14.361,2554,15.116,2740,8.868,2746,15.77,2753,16.647,2782,20.912,2783,17.978,2784,16.647,2785,17.978,2786,17.978,2787,20.912,2788,16.647,2789,17.978,2790,17.978,2791,17.978]],["keywords/592",[]],["title/593",[2792,1555.113]],["content/593",[5,9.416,286,6.969,364,9.923,467,2.427,600,4.936,787,10.695,807,3.274,832,2.371,847,2.701,885,5.812,886,8.424,900,7.954,944,6.625,1365,12.561,2176,16.869,2740,9.744,2792,18.29,2793,19.753,2794,19.753,2795,19.753]],["keywords/593",[]],["title/594",[2796,1555.113]],["content/594",[5,11.06,8,8.837,246,7.463,258,5.132,260,7.356,322,5.841,438,10.299,467,2.496,548,9.166,566,8.411,600,5.186,719,6.752,804,5.433,807,2.613,816,9.578,824,4.601,832,1.892,847,2.156,944,4.363,973,7.574,992,12.478,1631,13.255,2551,6.501,2555,10.921,2576,12.415,2603,14.145,2640,6.936,2740,10.237,2767,15.537,2770,14.598,2771,12.415,2796,19.217,2797,15.765,2798,15.765,2799,9.682,2800,23.201]],["keywords/594",[]],["title/595",[2801,1555.113]],["content/595",[9,2.642,26,4.31,78,10.439,83,6.997,148,5.84,246,5.692,255,2.368,285,4.469,287,6.651,443,3.777,454,6.371,467,2.387,534,4.166,545,3.941,556,4.386,600,5.809,605,5.981,611,7.082,688,5.377,719,4.585,807,1.774,820,4.741,824,2.373,832,1.285,847,1.464,926,10.198,928,5.63,944,5.76,971,4.151,973,3.495,976,8.793,983,9.553,992,6.436,1083,8.689,1157,5.67,1163,5.84,1226,10.471,1253,4.136,1344,5.554,1358,6.807,1366,4.507,1385,3.753,1489,7.415,1707,14.656,1861,16.521,1895,5.344,1991,7.841,2042,8.689,2070,6.325,2145,5.131,2499,7.082,2542,15.287,2545,6.807,2546,7.841,2547,6.503,2631,8.43,2640,4.71,2740,7.808,2784,14.656,2801,9.912,2802,10.704,2803,10.704,2804,9,2805,20.562,2806,16.521,2807,10.704,2808,7.686,2809,15.828,2810,10.704,2811,10.704,2812,10.704,2813,10.704,2814,8.689,2815,8.43,2816,9.39,2817,10.704,2818,10.704,2819,9.39,2820,10.704,2821,10.704,2822,10.704,2823,7.415,2824,10.704,2825,10.704,2826,10.704,2827,10.704,2828,10.704,2829,10.704,2830,10.704,2831,10.704,2832,10.704,2833,10.704,2834,10.704,2835,15.828,2836,10.704,2837,10.704,2838,10.704,2839,10.704]],["keywords/595",[]],["title/596",[2840,1555.113]],["content/596",[5,10.191,8,8.143,246,7.688,257,5.281,322,6.112,438,11.769,467,2.518,548,9.369,719,7.065,804,5.528,807,2.734,816,10.022,824,3.657,832,1.98,847,2.256,866,9.039,909,9.723,944,4.566,947,7.396,973,5.385,992,9.918,1352,10.131,2551,6.803,2555,11.427,2576,12.99,2603,11.243,2740,8.137,2767,17.755,2799,10.131,2840,19.795,2841,16.496,2842,15.275,2843,23.716]],["keywords/596",[]],["title/597",[2844,1555.113]],["content/597",[141,5.394,454,11.543,467,2.146,478,9.003,676,14.206,787,10.501,832,2.327,847,2.652,885,5.706,886,8.271,892,7.576,900,7.809,944,6.551,1157,10.273,2635,13.435,2740,9.567,2844,21.917,2845,17.719,2846,20.762,2847,19.394,2848,19.394,2849,15.272,2850,19.394]],["keywords/597",[]],["title/598",[2851,1555.113]],["content/598",[141,5.361,454,11.474,467,2.31,478,8.948,676,14.12,787,10.438,832,2.313,847,2.636,885,5.672,886,8.221,892,9.212,900,7.762,944,6.527,1157,10.211,2635,13.354,2740,9.509,2845,17.654,2849,15.181,2851,21.836,2852,19.277,2853,19.277,2854,19.277,2855,19.277]],["keywords/598",[]],["title/599",[2856,1555.113]],["content/599",[141,5.361,454,11.474,467,2.31,478,8.948,676,14.12,787,10.438,832,2.313,847,2.636,885,5.672,886,8.221,892,9.212,900,7.762,944,6.527,1157,10.211,2635,13.354,2740,9.509,2846,20.686,2849,15.181,2856,21.836,2857,19.277,2858,19.277,2859,19.277,2860,19.277]],["keywords/599",[]],["title/600",[2861,1555.113]],["content/600",[141,5.235,187,7.195,404,6.289,467,2.286,486,6.128,551,12.83,624,4.985,787,10.192,832,2.259,847,2.574,885,5.538,886,8.028,892,9.079,900,7.58,944,6.432,1368,18.301,2635,13.04,2740,9.285,2845,18.873,2849,14.823,2861,21.519,2862,18.823,2863,18.823,2864,18.823,2865,18.823]],["keywords/600",[]],["title/601",[2866,1555.113]],["content/601",[141,5.361,171,7.094,454,11.474,467,2.31,478,8.948,777,12.414,787,10.438,832,2.313,847,2.636,885,5.672,886,8.221,892,7.531,900,9.496,944,6.527,1157,10.211,2397,12.753,2635,13.354,2740,9.509,2866,21.836,2867,16.208,2868,19.277,2869,19.277,2870,19.277,2871,19.277]],["keywords/601",[]],["title/602",[2872,1555.113]],["content/602",[141,5.028,187,6.911,404,8.27,467,2.353,486,5.886,551,12.323,624,4.788,787,9.789,832,2.17,847,2.473,885,5.319,886,7.71,892,8.854,900,9.126,944,6.273,2409,12.524,2635,12.524,2740,8.918,2845,16.966,2849,14.237,2872,20.986,2873,20.986,2874,18.079,2875,15.201,2876,18.079,2877,18.079,2878,16.741,2879,18.079,2880,18.079]],["keywords/602",[]],["title/603",[2881,1555.113]],["content/603",[141,5.235,187,7.195,404,6.289,467,2.286,486,6.128,624,4.985,787,10.192,832,2.259,847,2.574,885,5.538,886,8.028,892,9.079,900,7.58,944,6.432,2635,13.04,2740,9.285,2741,19.539,2845,18.873,2849,14.823,2878,17.43,2881,21.519,2882,18.823,2883,18.823,2884,18.823,2885,18.823]],["keywords/603",[]],["title/604",[2886,1555.113]],["content/604",[148,9.387,171,8.904,287,6.578,443,6.07,467,2.442,706,8.752,728,6.771,807,2.851,824,3.814,829,10.685,832,2.065,847,2.353,883,7.369,944,6.697,951,9.46,1122,10.453,1261,7.827,2070,6.875,2146,11.956,2500,11.226,2537,12.88,2740,8.487,2746,15.092,2886,15.931,2887,17.205,2888,17.205,2889,15.931,2890,7.468,2891,17.205,2892,17.205,2893,14.466,2894,17.205,2895,15.092,2896,15.931,2897,17.205,2898,17.205]],["keywords/604",[]],["title/605",[2899,1555.113]],["content/605",[467,1.836,551,16.561,807,3.356,824,4.49,832,2.431,847,2.77,926,13.156,944,6.725,951,11.136,1368,19.134,2740,9.99,2743,15.949,2845,15.161,2899,22.499,2900,20.252,2901,20.252]],["keywords/605",[]],["title/606",[2902,1555.113]],["content/606",[9,2.566,171,9.59,287,5.477,404,6.109,467,2.363,551,15.557,746,8.36,807,3.783,824,4.054,832,2.194,842,5.87,847,2.501,925,4.681,944,5.061,951,10.055,2198,10.483,2339,16.388,2740,9.02,2867,19.191,2902,16.932,2903,18.286,2904,14.843,2905,18.286,2906,18.286,2907,14.4,2908,18.286,2909,18.286,2910,18.286]],["keywords/606",[]],["title/607",[2911,1555.113]],["content/607",[90,5.73,171,7.867,188,7.996,322,6.112,467,2.275,486,5.37,520,7.697,534,6.421,611,10.913,807,4.158,824,4.739,832,1.98,847,2.256,866,6.975,883,10.746,944,7.194,1157,8.738,1269,8.738,1573,8.042,1895,8.236,1991,15.659,2145,10.247,2400,11.072,2499,14.142,2603,11.243,2740,11.699,2911,15.275,2912,16.496,2913,21.961,2914,16.496,2915,16.496,2916,16.496,2917,14.47,2918,16.496,2919,16.496]],["keywords/607",[]],["title/608",[2920,1555.113]],["content/608",[8,7.005,23,6.932,171,6.768,188,8.915,467,2.368,551,17.004,618,11.843,737,10.034,807,3.796,824,5.078,832,2.207,847,2.515,883,7.877,897,13.018,944,7.228,951,10.113,960,7.584,2198,10.543,2743,18.039,2920,17.029,2921,18.391,2922,17.029,2923,18.391,2924,18.391,2925,18.391]],["keywords/608",[]],["title/609",[2926,1555.113]],["content/609",[8,7.005,23,6.932,171,6.768,188,8.915,467,2.368,551,17.798,618,11.843,737,10.034,807,3.796,824,5.078,832,2.207,847,2.515,883,7.877,897,13.018,944,7.228,951,10.113,960,7.584,2198,10.543,2743,14.483,2922,17.029,2926,17.029,2927,18.391,2928,18.391,2929,18.391,2930,18.391]],["keywords/609",[]],["title/610",[2931,1555.113]],["content/610",[16,10.304,83,6.704,246,8.185,257,4.855,287,6.059,346,10.162,467,2.502,478,7.041,548,7.991,600,3.79,807,3.772,820,4.543,824,3.362,832,1.82,847,2.074,925,3.883,944,4.198,951,8.34,1163,12.419,1898,9.897,2579,14.818,2603,15.513,2740,7.482,2764,17.924,2767,15.144,2788,21.076,2893,21.267,2931,18.731,2932,15.167,2933,22.761,2934,15.167,2935,15.167,2936,15.167,2937,15.167,2938,20.229,2939,15.167,2940,15.167,2941,15.167]],["keywords/610",[]],["title/611",[2942,1555.113]],["content/611",[5,10.294,8,8.225,246,6.025,467,2.525,548,9.439,566,8.939,804,5.755,807,2.777,824,4.787,832,2.011,847,2.291,909,9.875,973,7.05,992,14.366,2551,6.91,2555,14.958,2576,13.194,2597,15.219,2603,11.42,2740,8.265,2767,16.165,2842,15.514,2942,19.995,2943,16.755,2944,15.514,2945,16.755,2946,15.514,2947,23.893]],["keywords/611",[]],["title/612",[2948,1555.113]],["content/612",[5,10.123,8,8.089,246,5.872,257,5.227,438,10.538,467,2.535,548,9.323,566,8.711,804,5.709,807,2.706,824,4.708,832,1.959,847,2.233,866,6.904,909,9.624,973,5.33,992,14.189,2551,6.733,2555,14.71,2576,12.858,2597,14.967,2603,11.128,2740,8.054,2767,15.897,2944,15.119,2946,15.119,2948,19.663,2949,16.327,2950,16.327,2951,16.327,2952,23.6,2953,16.327]],["keywords/612",[]],["title/613",[2954,1555.113]],["content/613",[467,2.498,534,7.327,807,4.363,832,2.259,847,2.574,883,9.954,944,5.21,2145,9.023,2146,8.83,2400,12.635,2499,12.453,2537,14.092,2597,13.267,2603,12.83,2740,9.285,2913,21.519,2917,16.512,2954,17.43,2955,18.823,2956,18.823,2957,18.823,2958,18.823,2959,18.823]],["keywords/613",[]],["title/614",[2960,1555.113]],["content/614",[83,7.406,467,2.525,548,6.619,728,6.594,804,5.561,807,2.777,832,2.011,847,2.291,909,9.875,924,5.22,944,5.977,973,7.05,1703,16.841,1856,14.697,1898,10.932,2400,16.94,2537,12.543,2767,16.165,2895,18.942,2960,19.995,2961,19.995,2962,16.755,2963,16.755,2964,16.755,2965,14.697,2966,16.755,2967,21.593,2968,15.514,2969,16.755,2970,16.755,2971,16.755]],["keywords/614",[]],["title/615",[2972,1555.113]],["content/615",[9,2.566,171,9.59,287,5.477,404,6.109,467,2.363,746,8.36,807,3.783,824,4.054,832,2.194,842,5.87,847,2.501,925,4.681,944,5.061,951,10.055,2198,10.483,2740,9.02,2867,19.191,2904,14.843,2907,14.4,2972,16.932,2973,18.286,2974,19.191,2975,18.286,2976,18.286,2977,18.286,2978,22.825,2979,18.286,2980,18.286]],["keywords/615",[]],["title/616",[2981,1555.113]],["content/616",[9,1.651,83,5.201,105,8.293,108,4.482,171,4.33,286,4.151,390,3.612,404,3.931,443,4.151,454,7.004,467,2.474,478,7.873,548,4.648,600,4.969,609,6.189,728,7.827,777,14.015,804,5.083,807,1.95,824,4.825,832,1.412,847,1.609,866,4.975,883,5.04,924,3.666,944,6.652,973,5.537,1116,9.022,1157,12.22,1261,5.353,1262,11.954,1703,11.954,1856,20.237,1898,7.678,2198,6.746,2339,8.448,2397,7.784,2400,17.018,2497,8.02,2499,13.156,2500,11.067,2537,12.697,2545,7.483,2579,8.619,2603,11.56,2635,8.151,2740,9.81,2767,12.697,2895,17.444,2896,10.895,2961,18.414,2968,15.705,2974,9.893,2981,15.705,2982,11.767,2983,16.96,2984,11.767,2985,9.022,2986,11.767,2987,16.96,2988,11.767,2989,11.767,2990,11.767,2991,11.767,2992,16.96,2993,11.767]],["keywords/616",[]],["title/617",[2994,1555.113]],["content/617",[5,7.705,274,5.189,287,4.841,390,4.493,467,2.341,568,8.623,812,8.756,820,4.841,824,4.677,832,1.94,847,2.21,883,6.923,885,4.755,892,6.314,900,6.508,924,5.035,944,5.839,1077,11.947,1122,9.82,1274,11.016,1703,11.392,1704,11.392,1843,13.589,2016,10.849,2070,6.458,2146,9.895,2400,10.849,2499,10.692,2500,13.765,2630,12.728,2631,12.728,2640,7.111,2740,10.406,2890,7.015,2994,14.966,2995,16.163,2996,16.163,2997,16.163,2998,16.163,2999,13.589,3000,16.163,3001,16.163,3002,16.163,3003,16.163,3004,16.163]],["keywords/617",[]],["title/618",[3005,1555.113]],["content/618",[8,6.965,141,5.085,286,6.451,467,2.543,600,4.569,787,9.901,807,3.031,832,2.194,847,2.501,885,5.38,886,9.734,892,8.917,897,12.971,900,10.02,944,6.318,1365,11.628,2740,9.02,3005,16.932,3006,18.286,3007,18.286,3008,18.286,3009,18.286,3010,22.825,3011,18.286]],["keywords/618",[]],["title/619",[3012,1555.113]],["content/619",[171,7.052,467,2.402,807,3.894,824,4.248,832,2.3,847,2.621,925,4.905,944,5.304,951,10.536,2198,10.985,2336,18.015,2339,16.869,2740,9.452,2867,19.754,2904,15.554,2907,15.09,2974,19.754,3012,17.743,3013,19.161,3014,19.161,3015,19.161,3016,19.161]],["keywords/619",[]],["title/620",[3017,1555.113]],["content/620",[8,7.343,404,6.44,467,1.748,551,16.073,807,3.195,824,4.274,832,2.313,847,2.636,926,13.796,944,6.527,951,10.6,1368,15.181,2409,13.354,2740,9.509,2741,16.208,2743,15.181,2845,17.654,2873,17.85,3017,21.836,3018,19.277,3019,19.277,3020,15.647,3021,19.277]],["keywords/620",[]],["title/621",[3022,1555.113]],["content/621",[467,1.836,551,16.561,807,3.356,824,4.49,832,2.431,847,2.77,926,13.156,944,6.725,951,11.136,2740,9.99,2741,20.429,2743,15.949,2845,15.161,3022,22.499,3023,20.252,3024,20.252]],["keywords/621",[]],["title/622",[41,304.723,59,266.883]],["content/622",[1,2.57,9,2.271,14,5.495,30,4.648,38,5.177,41,6.158,50,2.752,59,5.571,63,6.144,68,6.371,79,6.962,90,6.659,96,8.515,122,2.467,140,3.448,149,9.166,157,4.972,243,5.931,248,4.769,273,6.091,285,6.759,324,7.645,355,4.204,393,9.542,417,3.776,464,6.324,467,2.304,482,5.931,540,3.943,554,3.845,556,5.237,558,8.219,584,7.018,587,4.204,624,2.923,642,6.569,644,6.569,705,8.462,909,6.505,957,6.384,968,6.384,972,13.14,1198,5.412,1214,7.986,1294,9.56,1306,9.681,1529,7.408,1644,3.264,1766,7.779,2242,9.279,3025,11.036,3026,16.188,3027,6.705,3028,10.219,3029,16.188,3030,16.188,3031,11.036,3032,11.036,3033,11.036,3034,16.188,3035,11.036,3036,8.462,3037,11.036,3038,11.036,3039,12.683,3040,9.681,3041,14.201,3042,11.036,3043,11.036,3044,11.036,3045,11.036,3046,11.036,3047,11.036,3048,11.036]],["keywords/622",[]],["title/623",[1333,971.506]],["content/623",[]],["keywords/623",[]],["title/624",[892,656.088]],["content/624",[885,6.773,892,8.993]],["keywords/624",[]],["title/625",[804,370.063]],["content/625",[804,5.77]],["keywords/625",[]],["title/626",[900,676.277]],["content/626",[885,6.773,900,9.269]],["keywords/626",[]],["title/627",[2219,1322.558]],["content/627",[205,7.307,467,2.563,545,3.381,548,10.012,832,2.286,847,2.605,849,10.162,971,7.387,2028,15.955,2219,18.435,3049,19.047,3050,19.047,3051,19.433,3052,19.047,3053,19.047,3054,19.047,3055,23.409]],["keywords/627",[]],["title/628",[]],["content/628",[467,2.54,545,3.912,632,8.434,706,8.8,824,3.835,832,2.076,847,2.366,885,5.09,892,10.706,900,11.171,971,8.547,973,7.919,1246,11.611,3056,17.298,3057,14.544,3058,24.256,3059,24.256,3060,22.039]],["keywords/628",[]],["title/629",[]],["content/629",[467,2.49,545,4.095,632,9.071,706,9.465,824,4.124,832,2.233,847,2.544,885,5.474,892,9.797,900,11.214,971,7.215,973,7.532,1246,12.488,3057,15.643,3061,18.605,3062,26.955]],["keywords/629",[]],["title/630",[885,494.141]],["content/630",[21,3.394,23,6.031,423,5.717,467,2.615,545,3.72,824,3.547,832,1.92,847,2.188,885,7.771,892,10.665,900,10.837,925,4.096,982,4.286,1018,5.194,3057,13.453,3063,16.001,3064,16.001,3065,16.001,3066,16.001,3067,16.001,3068,16.001,3069,14.816,3070,16.001,3071,16.001,3072,16.001,3073,16.001,3074,16.001,3075,16.001]],["keywords/630",[]],["title/631",[3076,1555.113]],["content/631",[19,8.718,804,4.863,832,2.648,847,3.018,1055,16.92,3076,20.434,3077,22.42]],["keywords/631",[]],["title/632",[3078,1555.113]],["content/632",[9,2.551,140,3.872,467,1.648,478,8.44,488,12.204,548,7.183,608,14.318,609,9.564,807,3.013,808,8.484,812,6.164,832,2.182,840,7.99,847,2.487,896,19.951,971,7.051,1431,11.025,1573,8.865,1584,12.028,1641,11.709,1727,12.393,1954,9.433,2279,10.16,2391,9.023,2522,15.949,2630,14.318,3078,21.06,3079,22.744,3080,18.182,3081,16.836,3082,18.182,3083,14.759,3084,18.182]],["keywords/632",[]],["title/633",[3085,1555.113]],["content/633",[467,2.162,548,7.755,732,10.881,749,14.38,804,5.254,824,5.286,832,2.356,840,6.32,847,2.685,958,11.685,1429,17.221,1431,11.559,1573,9.571,1727,13.38,2630,18.778,3083,15.935,3085,18.178,3086,19.631,3087,19.631,3088,19.631,3089,18.178]],["keywords/633",[]],["title/634",[3090,1555.113]],["content/634",[149,7.937,467,2.543,545,3.246,548,7.224,562,9.424,600,4.569,677,7.572,807,3.031,824,5.06,832,2.194,847,2.501,866,7.732,944,6.318,971,7.091,1122,11.11,1158,10.578,2625,16.087,2635,12.667,2747,16.041,2749,10.676,3090,21.135,3091,22.825,3092,18.286,3093,18.286,3094,18.286,3095,18.286]],["keywords/634",[]],["title/635",[1954,871.352]],["content/635",[6,7.652,133,10.929,251,8.066,274,6.38,423,7.102,463,14.879,467,1.802,524,4.945,545,3.528,608,15.652,807,3.294,832,2.385,847,2.718,976,7.517,1149,12.343,1238,9.69,1581,7.491,1584,13.149,1641,12.799,1954,12.464,2391,9.863,3096,19.875,3097,8.666]],["keywords/635",[]],["title/636",[837,938.454]],["content/636",[21,2.716,83,5.659,91,5.853,246,9.602,274,5.782,287,5.394,423,4.574,443,7.351,467,2.49,534,8.8,540,6.435,600,4.5,624,4.769,706,6.512,728,7.088,823,6.136,832,1.536,837,12.634,847,1.751,944,3.543,973,8.813,982,3.429,1018,4.156,1068,11.219,1253,8.051,1270,10.764,1610,7.924,1861,15.798,2145,11.846,2146,6.005,2512,14.619,2542,10.391,2545,8.141,2546,9.377,2547,7.778,2551,7.427,2640,5.633,3098,12.802,3099,12.802,3100,12.802,3101,12.802,3102,20.835,3103,10.72,3104,12.802,3105,12.802,3106,18.01,3107,18.01,3108,14.619]],["keywords/636",[]],["title/637",[434,775.619]],["content/637",[187,7.459,390,5.059,434,9.011,467,1.769,545,4.217,556,4.544,692,6.538,824,4.326,832,2.342,847,2.668,924,6.079,982,6.861,983,8.394,1011,10.646,1373,9.742,2145,9.353,3109,23.757,3110,18.067,3111,19.512,3112,18.067,3113,19.512,3114,19.512]],["keywords/637",[]],["title/638",[1265,1095.832]],["content/638",[21,5.115,48,5.244,50,3.297,90,4.594,91,6.046,133,7.272,140,3.924,176,9.161,257,4.234,287,3.961,297,5.987,354,7.108,383,7.721,390,2.817,398,5.147,443,4.666,454,7.872,463,9.9,467,2.369,534,5.147,540,4.725,545,4.771,554,6.42,574,10.735,611,8.749,624,4.879,658,9.014,706,6.728,726,7.582,739,6.524,807,2.192,832,1.587,887,5.958,957,7.65,992,7.951,1265,14.963,1512,7.452,2145,6.339,2163,6.046,2365,5.689,2559,12.246,3115,13.225,3116,22.328,3117,12.246,3118,22.328,3119,17.06,3120,18.615,3121,19.634,3122,13.225,3123,19.634,3124,12.246,3125,12.246,3126,8.629,3127,12.246,3128,12.246,3129,13.225,3130,12.246,3131,16.162,3132,13.225,3133,12.246,3134,12.246,3135,13.225]],["keywords/638",[]],["title/639",[3120,1363.216]],["content/639",[8,8.035,27,6.337,202,6.72,246,7.586,390,4.493,443,7.443,467,2.257,486,5.262,545,4.419,548,6.385,600,4.039,706,10.732,719,6.923,820,4.841,823,7.747,824,4.677,832,1.94,847,2.21,971,8.181,973,7.667,992,14.968,1110,4.904,1246,10.849,1253,6.245,2146,7.582,2499,15.536,2500,16.243,2545,13.415,2749,9.436,2890,7.015,3120,13.119,3136,16.163,3137,14.178,3138,16.163,3139,16.163,3140,16.163,3141,16.163]],["keywords/639",[]],["title/640",[3142,1679.439]],["content/640",[9,2.934,21,5.787,286,7.379,340,8.732,467,1.896,540,7.473,545,3.712,632,10.197,832,2.51,847,2.86,1366,8.805,2163,9.562,3143,20.914]],["keywords/640",[]],["title/641",[866,710.095]],["content/641",[236,4.473,257,6.525,467,2.211,832,2.446,847,2.787,866,11.437,892,9.528,973,7.963,3144,20.381,3145,17.879,3146,20.381,3147,20.381,3148,20.381,3149,20.381]],["keywords/641",[]],["title/642",[983,722.499]],["content/642",[9,2.672,255,4.214,287,5.705,467,2.505,540,6.806,613,5.633,832,2.286,847,2.605,925,4.876,983,10.071,1266,10.867,3150,19.047,3151,19.047,3152,19.047,3153,16.709,3154,19.047,3155,19.047,3156,19.047,3157,19.047,3158,16.709,3159,19.047,3160,16.709,3161,19.047,3162,19.047]],["keywords/642",[]],["title/643",[1473,818.808]],["content/643",[246,7.766,259,7.901,285,6.995,404,5.597,443,5.911,467,2.425,534,8.405,545,2.974,613,4.955,700,9.522,706,8.523,804,5.561,824,3.714,832,2.011,847,2.953,892,9.334,900,10.163,971,6.498,973,7.801,1004,8.523,1187,12.03,1246,11.246,1366,7.054,1473,8.169,2145,10.351,2146,7.859,2198,9.605,2363,13.194,2551,8.905,3163,15.514,3164,16.755,3165,16.755,3166,16.755,3167,16.755]],["keywords/643",[]],["title/644",[2028,1144.672]],["content/644",[21,3.128,83,8.776,257,6.355,274,6.373,287,5.946,423,5.27,467,2.571,536,19.686,545,2.618,548,7.843,562,11.566,688,7.409,807,2.444,824,3.269,832,1.77,847,2.017,885,4.339,925,3.776,944,5.495,982,3.951,1018,4.788,1373,7.363,1766,10.395,2028,18.713,2145,12.011,2640,8.735,3168,14.748,3169,14.748,3170,14.748,3171,22.23,3172,14.748,3173,14.748,3174,14.748,3175,14.748,3176,14.748,3177,14.748,3178,14.748,3179,14.748,3180,14.748]],["keywords/644",[]],["title/645",[3181,1555.113]],["content/645",[117,8.568,187,6.438,255,3.726,257,6.936,467,2.372,545,3.846,556,5.579,807,2.791,824,4.803,832,2.021,883,7.214,925,4.312,969,13.497,982,6.416,983,7.246,984,7.901,1011,9.19,1224,13.264,1704,11.871,1986,8.26,2145,10.386,2497,11.48,2584,20.062,3112,20.062,3181,20.062,3182,23.953,3183,23.953,3184,15.596,3185,16.843,3186,16.843,3187,16.843,3188,16.843]],["keywords/645",[]],["title/646",[3189,1555.113]],["content/646",[141,5.632,467,1.836,556,6.062,632,9.874,787,10.966,807,3.356,832,2.431,847,2.77,885,5.959,886,8.637,982,6.509,983,8.713,984,9.5,1011,11.05,2145,9.708,3184,18.753,3189,18.753,3190,20.252]],["keywords/646",[]],["title/647",[702,923.472]],["content/647",[83,8.224,122,4.158,187,7.112,467,2.377,545,4.451,548,7.35,702,14.822,807,3.083,824,5.115,832,2.233,847,2.544,866,7.866,2145,12.021,2506,15.102,2749,10.862,3191,18.605,3192,23.072,3193,18.605,3194,18.605,3195,17.227,3196,18.605,3197,18.605]],["keywords/647",[]],["title/648",[548,663.464]],["content/648",[9,1.492,21,2.256,172,7.635,193,2.152,257,6.64,258,3.462,274,6.022,287,6.212,364,5.342,423,3.799,467,2.539,478,4.936,534,4.139,545,2.796,548,9.736,556,2.476,600,3.936,658,7.247,688,7.912,705,8.153,807,1.762,820,3.185,824,2.357,832,1.276,847,1.454,876,10.164,885,4.634,887,7.096,892,4.154,897,8.951,900,6.342,925,4.032,926,5.757,944,5.741,971,8.993,973,6.771,982,2.848,1018,3.452,1612,6.938,1700,8.94,1719,12.785,1766,7.494,2028,10.735,2145,11.504,2640,8.254,2749,14.012,3051,8.153,3198,10.633,3199,10.633,3200,10.633,3201,10.633,3202,13.243,3203,10.633,3204,10.633,3205,10.633,3206,15.75,3207,15.75,3208,10.633,3209,9.328,3210,9.328,3211,10.633,3212,10.633,3213,10.633,3214,10.633,3215,20.741,3216,18.76,3217,8.94,3218,10.633,3219,10.633,3220,10.633,3221,10.633,3222,10.633,3223,9.846,3224,10.633,3225,10.633,3226,10.633,3227,10.633,3228,10.633]],["keywords/648",[]],["title/649",[3229,1679.439]],["content/649",[21,5.336,286,7.577,340,8.966,467,1.947,545,3.812,832,2.577,847,2.937,885,6.319,1366,9.042,2306,18.838,3230,21.475]],["keywords/649",[]],["title/650",[1272,728.947]],["content/650",[467,2.327,1013,17.776,1272,9.645,2625,15.661,3231,22.22]],["keywords/650",[]],["title/651",[959,1363.216]],["content/651",[15,6.767,83,7.992,117,9.197,246,6.502,257,7.255,287,6.788,467,2.537,548,7.142,824,4.008,832,2.17,847,2.473,959,21.067,971,9.6,973,7.399,2146,8.481,2372,15.859,2478,14.237,2545,14.412,3051,13.863,3232,18.079,3233,18.079,3234,18.079,3235,18.079,3236,18.079]],["keywords/651",[]],["title/652",[390,357.673]],["content/652",[15,6.618,16,10.116,21,3.75,246,6.358,257,5.66,287,5.295,332,8.937,390,5.776,423,6.317,467,2.459,486,5.756,534,6.881,706,8.994,824,4.954,832,2.122,847,2.418,925,4.526,973,5.772,982,4.736,1004,8.994,1018,5.74,1157,9.365,1246,11.867,2145,8.475,2146,8.293,2545,11.243,3237,17.68,3238,17.68,3239,17.68,3240,17.68,3241,17.68,3242,17.68]],["keywords/652",[]],["title/653",[828,514.922]],["content/653",[246,8.972,259,8.673,274,5.904,443,6.488,467,2.368,534,7.158,613,5.439,706,9.356,824,4.077,832,2.207,847,2.515,973,6.004,1004,9.356,1187,13.205,1246,12.344,2145,10.98,2146,8.627,2551,9.447,2555,15.868,2779,19.26,3163,17.029,3217,15.463,3243,18.391,3244,18.391,3245,23.102,3246,18.391]],["keywords/653",[]],["title/654",[3247,1473.221]],["content/654",[15,6.143,257,5.254,259,7.739,443,5.79,467,2.411,556,3.822,600,4.101,613,4.853,706,8.349,820,4.915,824,4.723,832,1.97,838,5.004,898,7.739,925,4.201,973,6.956,1110,4.979,1157,8.693,1898,10.708,2145,7.867,2146,11.098,2500,10.708,2537,17.711,2539,17.914,2545,15.045,2551,6.768,2555,11.369,2694,14.396,3247,14.396,3248,16.411,3249,16.411,3250,21.306,3251,17.914,3252,12.021,3253,16.411,3254,17.914,3255,21.306,3256,14.396,3257,15.196]],["keywords/654",[]],["title/655",[3258,1473.221]],["content/655",[15,6.581,257,5.629,467,2.455,706,8.945,824,4.937,832,2.11,838,4.129,898,8.292,925,4.501,973,7.979,1157,9.314,2145,8.428,2146,10.446,2500,11.473,2537,16.671,2539,20.55,2545,15.542,2551,7.251,2555,12.18,2694,15.424,3251,14.783,3254,14.783,3256,15.424,3258,15.424,3259,17.583,3260,13.482,3261,17.583,3262,17.583,3263,22.269,3264,15.424]],["keywords/655",[]],["title/656",[3265,1555.113]],["content/656",[140,3.625,149,10.449,324,11.792,443,6.005,467,2.302,545,3.021,548,6.725,562,11.243,624,4.508,719,7.291,807,2.821,824,4.836,832,2.043,847,2.328,866,7.197,944,6.038,1163,9.287,2397,14.431,2547,10.342,2625,16.967,2635,16.676,2740,10.761,2747,14.932,2749,9.938,2750,15.762,3265,20.199,3266,17.022,3267,17.022,3268,15.762,3269,12.469,3270,17.022,3271,17.022,3272,17.022,3273,17.022,3274,17.022,3275,17.022]],["keywords/656",[]],["title/657",[3276,1230.196]],["content/657",[9,2.934,332,10.572,404,6.987,467,2.246,613,6.185,832,2.51,847,2.86,1344,10.851,2363,16.47,2542,16.976,2657,12.327,3276,18.142,3277,19.366,3278,20.914]],["keywords/657",[]],["title/658",[1690,1322.558]],["content/658",[804,5,832,2.723,847,3.103,3279,22.693]],["keywords/658",[]],["title/659",[3280,1679.439]],["content/659",[174,6.499,423,7.673,467,1.947,524,5.343,807,3.559,832,2.577,847,2.937,1271,16.912,1581,8.094,3097,9.363,3281,21.475,3282,18.838]],["keywords/659",[]],["title/660",[1581,633.001]],["content/660",[524,5.528,545,3.944,804,4.896,832,2.667,847,3.039,1581,8.375,3283,22.22]],["keywords/660",[]],["title/661",[3284,1679.439]],["content/661",[174,6.499,423,7.673,467,1.947,524,5.343,807,4.169,832,2.577,847,2.937,1271,16.912,1581,8.094,3097,9.363,3285,21.475]],["keywords/661",[]],["title/662",[216,1287.729]],["content/662",[8,6.46,21,2.496,148,6.42,162,5.519,216,18.992,246,7.152,250,12.177,287,6.518,345,3.515,423,4.204,467,2.377,478,5.462,534,8.471,545,3.01,548,7.856,554,4.1,569,15.724,600,2.94,611,11.22,624,4.491,728,4.631,824,5.114,832,1.412,840,3.788,842,3.777,847,1.609,866,4.975,925,3.012,969,9.557,971,4.563,973,6.492,982,3.152,1018,3.82,1036,5.579,1269,6.233,2070,4.702,2545,7.483,2551,8.201,2555,13.776,2579,8.619,2749,14.031,2779,16.72,2890,5.107,3051,15.248,3202,9.893,3217,16.72,3245,18.414,3254,16.72,3286,11.767,3287,11.767,3288,11.767,3289,11.767,3290,11.767,3291,16.96,3292,11.767,3293,23.476,3294,23.07,3295,10.895,3296,11.767,3297,16.96,3298,16.96]],["keywords/662",[]],["title/663",[1266,779.609]],["content/663",[9,1.789,21,5.492,48,5.056,50,3.179,90,4.429,140,4.807,174,3.859,175,6.853,176,8.833,193,2.58,202,5.302,246,4.585,255,3.973,256,8.32,257,4.082,283,5.919,287,5.379,297,5.772,322,4.724,354,9.652,383,7.444,398,6.99,443,4.499,463,9.545,467,2.299,540,4.556,545,3.69,548,5.037,554,6.258,556,5.256,600,3.186,613,5.311,785,10.721,807,2.113,832,1.53,847,1.744,882,6.529,887,5.744,983,10.235,1068,6.328,1110,3.869,1266,11.044,1358,8.108,1512,7.185,2163,5.83,2255,6.078,2365,5.485,2674,8.691,3126,8.32,3153,11.185,3158,15.754,3160,19.798,3299,12.751,3300,20.898,3301,16.63,3302,11.807,3303,15.1,3304,16.63,3305,10.35,3306,11.807,3307,12.751,3308,11.807,3309,12.751,3310,11.807,3311,11.807,3312,11.807,3313,11.807,3314,11.807,3315,9.155]],["keywords/663",[]],["title/664",[3282,1473.221]],["content/664",[171,8.521,274,6.007,287,5.605,467,2.494,807,3.101,832,2.246,847,2.559,883,8.015,944,6.409,973,6.109,976,7.078,2629,14.737,2893,15.734,3282,16.416,3316,18.713,3317,18.713,3318,18.713,3319,18.713,3320,18.713,3321,17.328,3322,17.328,3323,18.713,3324,18.713,3325,18.713,3326,18.713,3327,18.713,3328,18.713]],["keywords/664",[]],["title/665",[1823,1287.729]],["content/665",[16,7.747,221,9.101,246,6.154,390,3.645,467,2.384,486,5.571,534,6.661,706,8.706,824,3.794,832,2.054,847,2.34,898,8.07,971,6.636,973,7.146,1004,8.706,1246,11.487,1823,18.505,2145,8.203,2146,8.027,2499,11.321,2500,14.282,2545,13.919,2551,7.057,2553,15.012,2554,18.404,3103,13.028,3329,17.113,3330,17.113,3331,17.113,3332,17.113,3333,17.113,3334,24.134,3335,17.113,3336,17.113,3337,17.113,3338,17.113]],["keywords/665",[]],["title/666",[1362,1205.838]],["content/666",[16,5.842,255,2.855,259,6.086,274,4.143,287,3.865,390,2.748,467,2.451,486,4.201,534,7.05,556,4.218,600,3.225,613,5.356,624,3.417,706,6.565,820,5.425,824,4.015,832,1.549,838,4.915,847,1.765,885,3.797,892,5.041,898,8.541,900,5.197,907,8.42,925,3.304,973,8.479,1004,6.565,1007,7.334,1110,5.495,1362,18.647,1823,16.045,2145,8.682,2146,6.053,2391,6.404,2412,7.925,2500,11.818,2537,16.985,2539,19.077,2545,11.518,2551,9.357,2555,15.717,2777,6.186,2985,9.895,3254,19.077,3256,15.888,3257,16.771,3264,15.888,3339,12.905,3340,11.32,3341,18.112,3342,18.112,3343,18.112]],["keywords/666",[]],["title/667",[3344,1555.113]],["content/667",[467,2.057,1013,15.72,3344,21.013,3345,22.693]],["keywords/667",[]],["title/668",[807,278.332]],["content/668",[21,3.879,171,6.729,187,6.99,208,9.244,274,5.87,287,5.477,390,3.894,423,6.534,467,2.363,807,3.783,832,2.194,847,2.501,944,7.213,973,5.97,976,6.916,982,4.898,1018,5.936,1706,15.375,2145,11.928,2146,8.578,2629,14.4,2893,15.375,3321,16.932,3322,16.932,3346,18.286,3347,18.286,3348,18.286,3349,18.286,3350,18.286]],["keywords/668",[]],["title/669",[981,1043.002]],["content/669",[21,4.649,423,7.831,832,2.63,847,2.997,981,13.611,982,5.871,2542,17.79,3351,21.916,3352,21.916]],["keywords/669",[]],["title/670",[1269,889.614]],["content/670",[21,3.993,246,6.769,287,5.638,423,6.726,467,2.452,486,6.128,534,7.327,706,9.576,824,5.152,832,2.259,847,2.574,925,4.819,973,6.145,982,5.042,1018,6.111,1157,9.971,1246,12.635,1269,14.592,2145,9.023,2146,8.83,3353,18.823,3354,17.43,3355,18.823]],["keywords/670",[]],["title/671",[21,356.256]],["content/671",[21,5.608,423,6.806,467,2.505,807,3.157,824,4.223,832,2.286,847,2.605,944,5.272,982,5.102,1018,6.183,1700,19.682,1706,16.015,2091,11.829,3110,17.637,3354,17.637,3356,19.047,3357,16.015,3358,19.047,3359,19.047,3360,19.047,3361,19.047,3362,19.047]],["keywords/671",[]],["title/672",[21,356.256]],["content/672",[21,4.525,467,2.489,706,10.852,823,10.225,1187,15.316,1246,14.319,1986,10.461,2103,16.799,3145,18.713,3363,21.332]],["keywords/672",[]],["title/673",[3364,1287.729]],["content/673",[16,7.172,155,8.853,193,3.206,202,8.657,246,7.488,267,11.166,274,5.086,287,4.745,322,7.714,390,4.434,443,8.205,467,2.24,486,6.778,534,6.166,706,10.592,824,3.512,832,1.901,847,2.167,928,8.333,949,6.099,971,8.074,973,6.798,1004,8.059,1059,10.634,1246,10.634,1269,11.029,1703,11.166,1704,11.166,1705,12.148,2070,6.33,2146,11.587,2545,15.709,2551,6.533,2630,16.396,3264,13.897,3364,18.941,3365,15.843,3366,15.843,3367,20.821,3368,15.843]],["keywords/673",[]],["title/674",[41,304.723,363,183.285]],["content/674",[]],["keywords/674",[]],["title/675",[362,192.565,812,308.997,3369,843.913,3370,911.381]],["content/675",[1,6.091,9,2.471,21,4.344,22,7.384,41,6.435,48,4.919,59,3.585,61,5.979,90,4.309,140,2.642,157,7.935,204,3.939,215,3.434,250,8.907,283,5.758,287,3.715,299,8.207,306,7.704,310,4.073,316,5.729,328,5.483,329,4.027,362,5.168,363,3.419,374,6.99,423,4.432,429,3.687,457,10.069,464,4.846,467,1.597,489,5.36,520,5.788,533,7.859,545,2.202,556,4.102,568,9.397,600,4.401,609,6.525,653,8.094,789,5.054,812,7.559,820,3.715,860,6.48,967,7.618,1358,7.888,1366,5.223,1563,7.618,1564,8.094,1572,7.794,1612,11.493,1910,9.769,2020,5.616,2146,5.819,2339,8.907,2547,7.537,2634,14.297,2808,8.907,2819,15.451,3371,12.902,3372,20.48,3373,11.487,3374,11.487,3375,8.593,3376,17.613,3377,12.405,3378,8.593,3379,12.405,3380,12.405,3381,11.487]],["keywords/675",[]],["title/676",[319,545.204]],["content/676",[1,5.151,2,9.417,9,3.103,15,6.51,41,5.948,50,4.336,68,6.845,140,3.704,174,7.359,304,14.117,319,7.179,362,3.675,363,3.693,467,1.577,482,9.347,506,10.154,554,6.06,587,6.625,600,4.346,624,4.606,714,13.696,812,5.897,944,4.814,1120,8.837,1386,10.061,1487,13.895,1613,7.191,2091,10.801,3382,16.104,3383,16.104,3384,14.623]],["keywords/676",[]],["title/677",[14,296.65,41,304.723]],["content/677",[]],["keywords/677",[]],["title/678",[14,206.205,36,377.388,41,211.817,96,479.38]],["content/678",[1,5.373,9,2.61,14,5.22,41,6.094,96,9.786,140,3.962,149,8.075,189,11.981,193,3.765,301,9.719,323,7.406,489,8.039,540,6.648,568,9.926,667,13,693,10.862,1817,9.855,2674,12.681,3385,15.102,3386,23.072,3387,13.733,3388,14.651,3389,18.605,3390,15.643,3391,16.566,3392,12.681]],["keywords/678",[]],["title/679",[14,178.929,41,183.798,59,160.975,79,287.196,949,304.47]],["content/679",[9,3.05,14,5.733,15,8.138,41,5.053,59,5.158,79,7.895,140,3.606,187,8.31,193,4.859,218,12.139,221,7.04,262,9.1,287,7.589,310,5.559,357,6.338,558,8.462,600,6.331,794,9.98,949,9.245,1215,4.474,1364,12.157,2481,9.707,3393,16.932,3394,16.932,3395,14.382,3396,16.932,3397,11.365]],["keywords/679",[]],["title/680",[59,160.975,63,300.165,79,287.196,355,301.226,3398,693.72]],["content/680",[1,2.845,9,3.284,14,5.296,19,4.826,30,6.208,41,2.839,59,5.623,63,9.507,79,8.04,85,5.425,86,7.003,122,2.73,140,3.71,174,6.145,205,4.686,218,10.265,257,3.911,258,3.977,281,9.366,285,7.274,287,3.659,319,5.656,345,3.649,355,4.653,400,9.915,421,6.471,423,4.365,464,4.772,469,7.422,476,11.368,486,7.208,500,4.938,554,7.075,555,8.326,600,4.353,613,6.005,614,7.866,623,5.823,625,5.425,653,7.971,713,5.302,757,8.462,785,10.271,836,3.889,849,6.517,857,7.866,909,7.2,928,6.425,949,6.707,1018,3.966,1158,7.066,2016,8.199,2339,8.771,2671,8.61,2676,11.311,2777,5.855,3384,14.648,3395,8.081,3399,10.271,3400,12.216,3401,10.716,3402,12.216,3403,12.216,3404,12.216,3405,12.216,3406,12.216,3407,11.311,3408,12.216,3409,12.216]],["keywords/680",[]],["title/681",[14,234.657,122,139.772,500,252.812,524,155.587,624,165.607,949,240.772]],["content/681",[9,1.996,14,6.276,19,7.653,41,5.751,59,4.815,122,6.026,140,4.126,162,9.087,187,5.437,285,5.939,287,4.26,357,5.324,363,1.988,390,3.029,404,4.752,423,5.082,500,7.831,524,4.82,558,5.536,600,6.38,624,3.767,713,6.174,743,5.418,794,8.384,949,5.476,968,8.228,1294,6.439,1477,9.547,1557,7.589,3039,9.41,3410,14.224,3411,14.224,3412,14.224,3413,22.03,3414,16.983,3415,14.19,3416,19.372,3417,14.224,3418,14.224,3419,16.892,3420,13.171,3421,14.224,3422,14.224]],["keywords/681",[]],["title/682",[122,176.749,322,293,345,236.256,489,341.723,789,322.228]],["content/682",[1,5.492,14,6.006,41,5.481,122,5.27,329,6.258,345,5.759,390,5.022,417,6.595,489,10.19,520,11.004,700,10.955,716,9.509,898,9.091,1238,9.398,1501,15.647,1557,10.285,1573,9.398,2016,12.939,3423,19.277,3424,19.277]],["keywords/682",[]],["title/683",[581,540.64]],["content/683",[1,4.259,14,6.188,41,6.233,122,5.824,174,5.534,205,9.546,287,5.477,319,5.936,363,2.556,390,3.894,500,7.392,581,8.389,600,4.569,857,11.776,898,8.623,1120,7.307,1557,9.756,1613,5.407,3384,15.375,3425,16.932,3426,18.286]],["keywords/683",[]],["title/684",[122,240.33,382,496.61,554,374.667]],["content/684",[1,4.808,14,4.671,41,5.712,48,8.186,122,4.614,220,9.951,345,6.167,382,11.351,398,8.035,554,7.193,3027,12.542,3427,22.758,3428,19.116,3429,14.823,3430,19.116]],["keywords/684",[]],["title/685",[270,475.483,344,399.762,404,264.198,700,449.423,3431,502.9]],["content/685",[1,5.872,9,2.641,14,5.258,15,7.046,34,8.649,41,5.401,50,4.693,58,6.814,189,12.122,193,4.703,194,7.354,270,15.158,329,6.111,398,7.327,489,8.134,653,12.282,815,11.318,840,6.06,947,8.439,2175,12.282,2394,11.204,3432,18.823,3433,16.512,3434,18.823,3435,18.823,3436,18.823]],["keywords/685",[]],["title/686",[59,185.514,270,547.967,326,439.31,524,226.741]],["content/686",[13,8.17,14,4.732,41,4.861,59,5.041,270,12.575,404,6.987,423,7.473,464,9.676,524,6.162,600,5.226,624,5.538,2394,12.448,3269,15.32]],["keywords/686",[]],["title/687",[344,848.956]],["content/687",[14,4.553,27,7.891,36,8.333,41,4.677,58,8.762,79,7.309,149,8.735,205,7.72,208,10.173,329,7.858,417,6.885,554,7.012,568,10.737,613,7.158,694,15.431,820,6.028,1470,10.442,2610,8.368,3437,15.849]],["keywords/687",[]],["title/688",[344,543.566,944,297.634,1110,326.257]],["content/688",[9,2.861,14,5.805,30,2.984,41,6.068,58,6.341,59,2.506,108,4.689,122,3.915,140,2.622,193,2.491,204,3.908,208,6.222,215,5.645,228,10.35,236,4.876,248,5.319,254,9.992,270,10.532,274,3.952,325,9.992,329,3.996,344,8.855,362,3.701,363,2.449,398,4.791,417,4.211,429,3.659,450,6.878,453,5.805,455,6.109,467,1.116,489,5.319,513,8.969,524,5.074,570,8.262,600,4.377,609,6.475,615,8.143,693,7.187,716,6.072,719,5.272,743,4.689,746,5.628,808,8.174,824,2.729,840,3.963,848,7.166,909,10.325,944,3.407,1055,13.431,1110,3.735,1133,7.255,1215,4.628,1279,14.391,1294,7.93,1512,6.936,2411,9.215,3414,8.838,3415,16.274,3419,9.438,3438,7.828,3439,9.438,3440,8.527,3441,17.889,3442,16.22,3443,12.309,3444,12.309,3445,17.517,3446,11.398,3447,11.398,3448,6.878,3449,10.35]],["keywords/688",[]],["title/689",[828,401.996,857,844.328]],["content/689",[1,5.887,9,2.657,40,10.412,107,15.92,142,16.61,148,10.331,180,15.92,193,3.832,285,7.906,417,6.478,455,9.396,533,8.449,669,14.175,828,7.75,857,16.989,1294,8.572,1641,12.193,1827,14.518,2610,7.873,3450,16.61,3451,16.61,3452,15.37,3453,18.935,3454,18.935,3455,18.935]],["keywords/689",[]],["title/690",[475,433.806]],["content/690",[1,3.288,14,2.081,26,5.685,30,2.23,31,3.373,41,3.993,57,6.001,83,4.066,122,4.308,144,4.363,151,13.073,157,4.143,215,3.908,222,4.872,259,6.658,273,2.653,285,3.84,297,4.164,309,6.174,319,2.986,329,2.986,357,3.443,360,13.788,361,8.517,362,3.63,363,3.068,413,4.74,447,6.085,466,6.622,467,2.55,471,4.269,475,6.091,489,6.101,516,4.143,524,3.512,565,7.137,582,9.951,619,8.068,624,2.436,640,6.269,669,6.885,729,5.53,789,3.748,847,1.931,860,4.804,882,4.709,968,5.32,982,3.782,988,4.98,1016,6.885,1061,4.838,1120,3.675,1208,3.84,1256,5.37,1584,6.085,1625,10.569,1677,9.753,2253,6.269,2904,7.466,3456,9.197,3457,4.772,3458,7.733,3459,7.733,3460,5.139,3461,9.197,3462,14.118,3463,9.197,3464,14.118,3465,14.118,3466,14.118,3467,14.118,3468,11.46,3469,14.118,3470,14.118,3471,11.87,3472,25.796,3473,9.197,3474,14.118,3475,9.197,3476,9.197,3477,9.197,3478,9.197,3479,13.073,3480,13.073,3481,13.073,3482,9.197,3483,9.197,3484,9.197,3485,9.197,3486,9.197,3487,9.197,3488,22.85,3489,9.197,3490,9.197,3491,9.197,3492,9.197,3493,9.197,3494,8.517,3495,9.197,3496,9.197,3497,9.197,3498,9.197,3499,9.197,3500,9.197,3501,6.737,3502,5.712,3503,14.118,3504,9.197,3505,9.197]],["keywords/690",[]],["title/691",[1099,814.264,2675,671.315]],["content/691",[]],["keywords/691",[]],["title/692",[30,220.945,477,444.343,519,631.344,1099,566.006]],["content/692",[1,5.95,9,2.721,30,4.702,136,11.118,264,9.624,343,6.091,362,4.098,417,6.635,429,7.035,434,11.798,519,17.696,820,5.809,1099,14.699,1196,11.021,1197,13.669,3506,12.913,3507,19.394,3508,14.519]],["keywords/692",[]],["title/693",[3509,1150.133,3510,941.389]],["content/693",[1,5.402,5,1.409,6,3.523,9,2.863,12,2.213,14,4.617,15,2.016,16,2.439,18,1.379,19,2.932,21,1.574,22,1.759,23,4.009,25,3.062,26,2.169,28,1.796,30,4.152,31,2.722,32,2.778,34,2.475,38,1.387,40,1.625,41,4.895,46,4.964,47,1.929,50,2.974,51,1.513,52,3.308,55,2.015,57,1.929,58,1.07,59,4.458,63,2.817,68,5.535,73,2.939,78,1.638,79,3.323,86,1.695,90,1.027,91,2.463,96,1.555,106,1.577,108,3.486,115,3.797,122,4.194,136,3.088,139,1.372,140,2.265,143,2.399,144,2.294,146,4.283,148,4.05,157,2.427,174,3.953,183,2.266,187,3.498,189,1.903,193,2.643,197,2.854,204,2.357,205,3.51,212,2.399,215,1.491,220,1.425,221,1.229,229,1.476,230,5.695,235,4.315,236,3.889,239,4.663,241,2.737,243,1.589,251,1.2,254,2.399,255,0.654,258,0.962,259,2.54,262,3.989,263,1.534,264,1.467,269,1.142,273,2.639,286,1.043,287,1.614,293,3.732,297,2.439,301,1.544,310,1.769,316,1.365,319,3.453,322,1.996,323,2.954,326,3.578,329,0.96,332,1.494,340,1.234,355,1.126,358,3.102,359,1.523,360,3.385,362,2.52,363,3.545,364,2.706,374,1.665,379,4.182,382,8.185,383,1.726,404,0.987,413,3.825,418,3.619,423,3.27,429,0.879,434,1.365,452,3.672,454,3.206,455,1.467,464,5.494,475,5.781,482,1.589,486,4.252,489,2.328,495,2.266,500,2.178,504,6.764,505,4.441,516,1.332,520,2.514,521,3.989,524,3.92,533,1.319,540,4.262,545,0.956,554,4.9,555,2.015,556,2.131,558,1.15,568,2.874,581,1.734,584,1.88,587,5.357,592,8.066,597,6.462,600,2.658,607,2.737,610,2.083,613,1.593,614,1.903,620,2.052,623,2.568,624,1.427,625,1.313,632,1.441,633,2.399,635,2.593,640,2.015,641,1.726,642,1.759,653,1.929,677,2.231,681,2.048,688,2.706,692,0.99,699,3.498,714,2.328,719,2.307,728,1.163,729,3.239,732,1.638,733,2.399,737,1.613,739,1.458,743,3.486,746,1.351,764,1.25,766,3.41,789,1.204,794,1.742,797,1.984,798,2.266,800,1.351,808,1.379,810,2.015,812,1.826,816,1.796,820,0.885,824,0.655,828,1.652,836,3.798,840,1.734,842,1.729,843,2.165,847,0.404,848,1.209,872,3.273,886,2.297,887,3.344,889,0.79,893,2.213,907,1.929,921,1.409,929,4.375,944,1.491,949,4.095,952,2.399,982,4.588,988,1.6,1007,1.68,1018,0.96,1039,1.836,1048,1.172,1062,1.836,1099,5.683,1103,1.458,1120,5.619,1141,1.387,1142,1.836,1153,4.033,1158,1.71,1192,2.015,1208,3.099,1213,3.385,1215,3.451,1216,1.815,1223,2.213,1225,3.308,1263,1.88,1281,4.843,1294,1.338,1329,3.01,1358,1.88,1364,2.122,1366,2.268,1386,1.71,1437,1.854,1475,4.785,1480,2.03,1558,3.385,1563,1.815,1573,2.627,1581,1.114,1585,1.244,1613,1.593,1619,1.836,1641,1.903,1644,3.146,1677,2.527,1727,2.015,1838,3.138,1849,1.955,1913,1.88,1916,1.695,1940,2.328,1994,2.328,1995,2.593,2037,1.277,2145,3.558,2163,1.351,2174,2.048,2216,3.672,2222,3.946,2241,2.399,2248,1.68,2293,3.868,2311,1.555,2578,1.71,2581,1.984,2625,2.083,2640,1.301,2654,2.737,2671,2.083,2675,1.513,2699,2.593,2769,2.266,3027,1.796,3103,7.1,3252,2.165,3387,1.759,3391,2.122,3448,3.01,3460,4.147,3501,2.165,3502,1.836,3506,3.752,3509,2.593,3510,2.122,3511,2.956,3512,2.737,3513,2.165,3514,2.399,3515,2.737,3516,2.083,3517,1.984,3518,5.387,3519,5.387,3520,5.556,3521,2.593,3522,2.956,3523,2.956,3524,2.328,3525,2.266,3526,1.417,3527,2.956,3528,2.956,3529,2.956,3530,2.485,3531,2.956,3532,2.737,3533,2.956,3534,2.956,3535,2.956,3536,2.485,3537,2.956,3538,7.428,3539,2.956,3540,6.873,3541,2.737,3542,2.956,3543,0.999,3544,2.956,3545,2.956,3546,2.956,3547,2.048,3548,2.956,3549,2.956,3550,4.529,3551,2.956,3552,2.956,3553,1.984,3554,2.593,3555,2.083,3556,1.458,3557,2.956,3558,2.737,3559,2.737,3560,2.737,3561,2.213,3562,2.737,3563,2.956,3564,2.593,3565,2.956,3566,2.956,3567,2.956,3568,2.048,3569,2.956,3570,2.956,3571,2.956,3572,2.956,3573,2.956,3574,2.956,3575,2.956,3576,2.956,3577,2.956,3578,3.946,3579,2.956,3580,2.956,3581,2.956,3582,2.956,3583,2.737,3584,2.956,3585,2.956,3586,2.956,3587,2.956,3588,2.328,3589,2.956,3590,2.956,3591,2.956,3592,2.737,3593,2.956,3594,2.956,3595,2.956,3596,2.956,3597,2.956,3598,2.956,3599,2.266,3600,2.956,3601,5.387,3602,2.956,3603,2.956,3604,2.956]],["keywords/693",[]],["title/694",[838,307.922,857,844.328]],["content/694",[]],["keywords/694",[]],["title/695",[36,445.266,122,240.33,382,496.61]],["content/695",[1,5.276,9,2.82,14,5.995,41,6.158,48,5.958,50,3.746,61,9.69,122,5.922,140,3.2,174,6.083,220,7.242,248,6.492,269,5.806,273,4.333,287,4.5,299,9.94,316,6.939,322,5.567,329,4.878,345,4.489,363,2.1,364,7.548,382,11.645,441,11.52,489,9.789,524,3.738,600,5.023,741,9.804,743,5.723,840,4.837,1120,6.004,1294,6.802,1557,8.016,2070,6.004,2327,12.633,3027,9.128,3202,12.633,3427,13.912,3429,10.788,3430,13.912,3605,15.025,3606,15.025,3607,15.025,3608,13.912,3609,11.832,3610,13.912]],["keywords/695",[]],["title/696",[1,184.182,68,311.247,326,381.199,449,438.323,677,327.468]],["content/696",[1,4.308,15,8.605,26,7.448,36,7.659,41,4.299,48,9.116,68,7.28,122,4.134,149,8.029,152,14.567,189,11.912,204,5.873,253,12.416,264,9.179,299,12.237,326,11.081,341,16.226,342,14.183,449,12.742,453,8.723,592,9.471,628,16.226,677,7.659,2769,17.627,3381,17.128,3588,14.567,3611,18.497,3612,18.497,3613,18.497,3614,18.497,3615,18.497]],["keywords/696",[]],["title/697",[319,545.204]],["content/697",[1,5.035,205,8.294,319,7.019,443,7.628,490,11.707,828,6.629,857,16.264,3509,18.965,3526,10.363,3616,16.578]],["keywords/697",[]],["title/698",[363,183.285,1613,387.726]],["content/698",[]],["keywords/698",[]],["title/699",[41,162.326,146,281.247,273,201.441,287,209.191,363,97.636,1613,206.541]],["content/699",[9,2.896,14,4.671,30,5.005,41,6.099,122,4.614,273,5.954,287,6.183,345,6.167,363,3.436,600,5.159,848,8.445,1263,13.128,1563,12.678,1564,13.47,1613,6.105]],["keywords/699",[]],["title/700",[363,183.285,1487,823.767]],["content/700",[1,4.629,9,3.371,15,7.44,30,5.824,41,4.619,304,16.133,319,6.452,362,4.199,363,3.358,554,6.925,600,4.966,625,8.827,714,15.652,812,6.739,1386,11.497,1487,16.223,1622,9.984,2002,9.133,3382,18.404]],["keywords/700",[]],["title/701",[1,250.436,164,569.598,1737,846.801]],["content/701",[]],["keywords/701",[]],["title/702",[3450,1473.221]],["content/702",[1,3.764,14,6.104,15,7.896,23,9.733,41,3.756,52,9.926,59,4.294,90,5.614,164,11.174,193,3.271,220,10.169,235,9.948,236,4.63,244,13.119,255,3.576,344,12.584,467,1.913,634,11.6,660,14.178,693,12.316,794,12.434,1048,6.409,1201,13.956,1261,7.353,3251,13.589,3450,14.178,3564,14.178,3617,14.966,3618,16.163,3619,14.868,3620,15.289,3621,14.178,3622,14.966]],["keywords/702",[]],["title/703",[1,89.486,91,175.666,108,146.352,148,209.636,164,203.528,236,84.323,277,270.809,669,287.641,1737,302.578,2279,214.702,3623,355.783,3624,323.054,3625,287.641]],["content/703",[1,5.702,41,4.767,91,9.378,164,12.969,274,6.585,277,14.457,404,6.853,2279,11.462,2389,16.65,3384,17.246,3623,18.993,3626,17.993,3627,18.993,3628,13.981,3629,10.179,3630,18.993,3631,18.993]],["keywords/703",[]],["title/704",[108,639.701]],["content/704",[1,5.602,4,7.058,6,3.226,9,1.176,41,4.628,46,6.867,59,4.495,90,2.91,91,3.831,108,3.192,122,2.935,139,6.097,140,1.784,155,9.051,164,12.74,187,3.203,197,4.438,204,4.17,221,10.193,222,8.58,229,6.557,230,9.21,235,3.951,236,1.839,239,10.176,256,11.964,260,3.91,274,2.69,285,3.498,323,7.926,329,4.264,358,5.491,362,4.207,410,6.273,423,8.17,429,6.279,454,10.914,489,3.621,490,4.537,500,3.387,524,5.494,525,6.281,532,6.425,562,6.769,565,4.236,632,8.939,642,4.987,671,8.689,685,7.759,699,5.02,701,6.801,702,12.144,716,4.133,723,6.138,739,4.133,756,4.407,794,9.547,812,4.453,840,2.697,843,6.138,860,4.377,876,3.455,886,3.573,949,7.059,1007,7.464,1017,6.138,1039,10.059,1045,9.644,1048,6.423,1216,8.066,1724,6.016,2137,5.711,2174,5.804,2328,5.264,2624,6.598,2695,7.35,2709,5.624,2737,6.425,2816,16.084,3103,13.993,3524,6.598,3556,10.421,3632,11.042,3633,7.759,3634,8.379,3635,21.171,3636,8.379,3637,4.939,3638,8.379,3639,8.379,3640,8.379,3641,8.379,3642,8.379]],["keywords/704",[]],["title/705",[3624,1412.056]],["content/705",[1,5.641,6,7.155,7,8.811,41,4.961,46,7.022,91,6.122,108,5.101,122,4.771,164,11.306,174,4.052,188,6.491,197,7.093,208,6.769,222,7.093,230,10.561,239,8.413,248,8.031,255,2.963,256,8.737,277,9.438,294,9.276,301,6.995,322,6.886,329,4.347,345,4,358,6.301,362,2.829,363,1.872,417,4.581,424,8.136,429,5.524,523,5.231,524,4.624,584,8.515,627,8.859,716,6.605,743,5.101,789,5.456,812,4.54,840,4.311,886,5.711,949,7.155,1017,15.635,1039,14.319,1045,11.227,1100,8.515,1135,8.737,1624,9.988,1683,5.083,1737,10.545,2223,9.809,2242,11.259,2328,8.413,3390,11.259,3635,21.35,3643,12.399,3644,13.391,3645,13.391,3646,8.051,3647,12.399,3648,13.391,3649,12.399,3650,13.391,3651,13.391]],["keywords/705",[]],["title/706",[202,447.1,898,507.09,3624,904.105]],["content/706",[1,5.133,4,7.03,7,6.201,25,9.174,41,5.582,46,5.904,51,4.268,59,1.697,73,4.548,78,4.62,79,3.027,85,5.809,97,3.668,108,3.175,122,1.863,128,16.162,164,11.165,174,2.522,176,5.774,195,5.439,208,4.213,209,4.913,223,4.697,230,10.233,232,7.718,235,7.612,236,1.829,239,11.487,240,7.312,243,4.48,248,3.602,256,8.535,271,6.24,283,3.869,307,5.514,322,4.846,323,5.206,328,3.685,329,5.935,335,6.391,340,3.48,362,1.761,364,6.571,404,4.37,417,2.852,418,8.914,423,2.978,429,5.434,478,10.232,486,2.714,489,3.602,500,3.37,506,4.866,524,5.244,569,13.539,590,6.24,606,6.766,624,2.207,648,5.301,651,4.658,678,4.088,699,8.057,705,6.391,789,8.589,847,1.789,949,7.648,960,3.437,1045,10.448,1048,5.187,1059,8.779,1078,7.433,1158,4.822,1213,5.237,1470,10.306,1511,6.106,1916,4.779,1986,4.088,1992,5.368,1994,6.564,2016,5.595,2223,6.106,2388,6.106,2412,5.119,2618,6.766,2624,6.564,2737,10.029,2999,10.997,3624,7.008,3643,7.718,3652,6.391,3653,3.668,3654,7.718,3655,10.617,3656,21.133,3657,8.423,3658,13.08,3659,19.864,3660,8.335,3661,8.335,3662,7.718,3663,8.335,3664,6.564,3665,7.008,3666,7.312,3667,7.312,3668,8.335,3669,8.335,3670,13.08,3671,8.335,3672,16.143,3673,8.335,3674,8.335,3675,5.595,3676,13.08,3677,8.335,3678,6.391,3679,8.335,3680,8.335,3681,8.335,3682,8.335,3683,8.335,3684,7.312,3685,8.335,3686,7.718]],["keywords/706",[]],["title/707",[581,540.64]],["content/707",[]],["keywords/707",[]],["title/708",[140,357.673]],["content/708",[9,2.471,14,5.044,41,4.76,48,4.919,63,6.685,68,4.882,90,4.309,97,5.458,122,3.937,139,5.758,140,2.642,141,5.696,144,3.834,149,7.645,162,5.819,258,5.734,357,4.643,363,1.734,393,7.312,404,4.144,453,5.85,464,4.846,467,2.583,505,5.179,506,7.242,542,8.743,554,6.137,556,5.697,568,6.618,581,8.276,667,11.54,693,10.283,810,8.455,1048,8.84,1906,8.326,2294,4.181,2737,9.512,3039,8.207,3277,11.487,3387,7.384,3687,18.964,3688,13.505,3689,14.297,3690,12.405,3691,13.505,3692,14.297,3693,17.613,3694,14.809,3695,12.405,3696,12.405,3697,12.405,3698,20.48,3699,16.624,3700,12.405,3701,8.593,3702,12.405,3703,12.405]],["keywords/708",[]],["title/709",[32,402.5,363,150.319,1015,721.77]],["content/709",[]],["keywords/709",[]],["title/710",[363,183.285,1015,880.059]],["content/710",[9,2.566,14,5.164,15,6.845,23,6.892,32,8.544,46,5.122,85,8.121,146,7.363,174,5.534,230,9.952,363,3.643,380,8.278,417,6.256,623,11.862,632,8.915,699,6.99,719,7.832,764,7.732,830,10.483,838,4.295,982,4.898,1008,10.596,1015,16.703,1194,15.375,1256,10.676,1480,6.892,3704,18.286]],["keywords/710",[]],["title/711",[18,783.665]],["content/711",[9,1.592,14,2.568,21,3.505,32,4.248,46,5.994,58,5.981,87,8.496,90,3.942,140,2.417,146,4.57,174,5,205,4.354,236,2.491,259,5.352,274,5.304,326,7.964,363,2.724,380,5.138,390,3.519,423,4.055,467,2.321,475,2.932,540,4.055,545,2.014,598,7.405,613,6.328,624,3.005,632,8.056,677,9.417,678,8.103,742,6.145,764,4.799,820,3.399,824,5.042,827,14.974,828,5.066,829,13.29,832,1.362,836,3.613,840,3.654,842,3.643,847,2.664,856,6.342,872,6.895,887,5.113,969,6.395,984,5.324,1008,5.268,1014,5.053,1015,14.364,1208,9.495,1215,2.999,1518,9.212,1585,4.778,1587,8.702,1627,8.496,1635,8.938,1636,9.956,1641,7.309,1713,9.956,1725,9.956,3705,11.349,3706,11.349,3707,16.523,3708,19.483,3709,18.04,3710,11.349,3711,11.349,3712,11.349,3713,10.509,3714,11.349,3715,11.349,3716,11.349,3717,11.349,3718,11.349,3719,11.349,3720,10.509,3721,11.349,3722,11.349,3723,11.349,3724,11.349,3725,11.349,3726,11.349,3727,11.349]],["keywords/711",[]],["title/712",[140,279.233,533,585.038]],["content/712",[9,1.157,13,3.223,14,2.935,46,2.311,140,1.757,193,2.625,259,3.89,274,5.148,283,6.023,310,2.709,363,2.763,374,4.648,423,2.948,453,3.89,467,2.615,486,2.686,524,4.523,540,2.948,545,1.464,554,6.887,603,7.076,613,5.376,702,4.536,808,3.849,824,4.652,827,11.233,828,3.978,830,4.729,832,2.182,842,4.165,847,1.128,878,7.882,892,5.068,900,5.224,944,2.283,971,3.199,973,2.693,982,3.475,984,8.528,986,5.623,992,7.8,1015,13.267,1103,4.069,1208,3.444,1281,5.383,1346,10.531,1371,6.496,1373,6.477,1390,5.012,1470,4.28,1581,4.89,1589,10.531,1635,6.496,1636,7.236,1638,6.936,1662,5.537,1698,7.639,1699,12.013,1700,10.908,1701,10.217,1702,12.013,1703,9.144,1704,9.144,1705,9.948,1706,10.908,1708,10.531,1709,12.013,1713,7.236,1939,7.236,1957,9.948,2100,4.688,2128,5.814,2296,6.696,2350,6.696,3103,9.544,3720,7.639,3728,12.974,3729,8.249,3730,10.217,3731,8.249,3732,7.236,3733,6.696,3734,8.249,3735,8.249,3736,8.249,3737,8.249,3738,8.249,3739,7.639,3740,8.249,3741,8.249,3742,8.249,3743,12.974,3744,12.974,3745,8.249,3746,8.249,3747,12.974,3748,8.249,3749,16.035,3750,8.249,3751,11.381,3752,8.249,3753,8.249,3754,8.249,3755,8.249,3756,8.249,3757,8.249,3758,8.249,3759,8.249,3760,8.249,3761,8.249,3762,12.974,3763,12.974,3764,8.249,3765,12.974,3766,8.249,3767,8.249,3768,8.249,3769,8.249,3770,8.249,3771,8.249,3772,8.249,3773,8.249,3774,8.249,3775,8.249,3776,8.249]],["keywords/712",[]],["title/713",[1,305.359,3777,1005.321]],["content/713",[1,5.175,332,11.232,393,13.097,417,7.602,441,17.038,467,2.015,3777,17.038]],["keywords/713",[]],["title/714",[452,893.637,3625,981.539]],["content/714",[]],["keywords/714",[]],["title/715",[107,904.105,413,554.195,659,787.665]],["content/715",[1,5.17,6,5.558,8,3.607,9,2.956,14,4.766,21,4.151,22,10.413,23,5.441,25,5.381,26,3.813,29,7.089,30,2.296,31,5.295,41,4.548,46,2.653,50,2.361,52,8.866,58,5.226,59,2.939,61,4.565,73,7.877,79,5.243,86,8.276,90,3.289,105,6.674,107,7.962,122,3.227,128,7.261,132,7.261,140,3.075,141,4.015,146,3.813,149,4.11,174,2.866,187,5.518,194,3.699,204,3.007,218,4.787,236,4.295,260,4.419,262,5.089,264,4.699,267,6.674,319,3.074,323,3.769,329,3.074,344,11.67,362,3.697,363,3.477,374,5.336,380,4.287,382,4.373,413,7.44,417,3.24,429,5.2,475,4.519,486,4.7,507,10.365,523,3.699,525,3.672,540,3.384,555,9.84,568,5.052,570,9.69,600,3.607,613,2.8,624,2.508,644,5.636,659,10.575,673,11.069,708,8.307,751,11.743,756,4.981,766,4.351,784,5.753,789,3.858,797,6.356,828,2.903,836,3.015,889,2.531,921,4.514,947,4.246,949,5.558,982,4.686,1018,3.074,1092,4.757,1099,10.865,1122,5.753,1154,5.581,1199,6.56,1201,6.265,1225,8.866,1281,6.179,1344,4.913,1437,6.735,1480,3.569,1624,7.759,1954,4.913,3371,6.936,3620,10.745,3625,7.089,3778,7.962,3779,4.757,3780,9.469,3781,8.768,3782,8.768,3783,9.469,3784,6.799,3785,9.469,3786,8.768,3787,9.469,3788,8.307,3789,7.305,3790,14.436,3791,12.664,3792,8.307,3793,7.962]],["keywords/715",[]],["title/716",[236,287.742,3625,981.539]],["content/716",[90,8.504,236,5.373,443,7.237,454,12.209,482,11.024,523,8.013,751,16.434,816,12.462,1018,6.659,2555,14.209,3378,14.209,3625,18.329,3788,17.993,3794,11.424]],["keywords/716",[]],["title/717",[41,211.817,59,185.514,971,353.437,3794,425.271]],["content/717",[1,4.849,6,6.099,21,4.417,25,9.003,30,3.841,41,5.963,50,5.191,59,5.465,68,6.235,122,3.541,144,4.896,197,8.392,204,6.611,215,4.385,255,3.505,269,8.045,281,12.148,297,7.172,357,5.93,363,3.251,443,8.205,464,9.086,505,6.615,521,8.514,556,5.753,587,6.034,642,9.43,728,6.235,741,10.337,808,7.393,848,6.481,887,7.137,889,4.234,949,6.099,982,5.577,1078,9.003,1192,10.798,1294,7.172,2091,9.839,3795,13.897]],["keywords/717",[]],["title/718",[751,880.059,1480,494.18]],["content/718",[1,5.39,14,5.237,21,3.328,23,5.913,41,5.379,50,3.911,52,9.634,59,4.711,63,5.954,79,5.697,122,3.506,194,6.128,205,6.018,274,5.036,322,5.812,332,10.457,337,12.734,344,7.93,363,3.744,382,11.364,390,4.406,438,7.785,454,9.337,464,6.128,684,12.354,726,8.993,766,7.208,828,4.81,921,11.033,926,8.494,982,5.541,1279,8.993,1294,7.102,1437,7.966,1480,8.724,1991,11.491,2311,8.251,2534,11.057,3678,12.028,3796,7.438,3797,13.761]],["keywords/718",[]],["title/719",[58,252.814,363,97.636,382,322.56,921,332.951,973,228.022,3794,325.907]],["content/719",[19,8.427,363,3.503,382,11.573,428,15.316,475,5.51,562,10.994,719,9.137,784,12.96,921,10.169,1137,15.316,1437,7.342]],["keywords/719",[]],["title/720",[475,277.756,751,721.77,3103,640.032]],["content/720",[1,3.943,5,8.072,48,6.714,122,4.859,187,6.472,248,7.316,259,10.252,275,9.795,329,5.497,337,13.744,363,3.812,382,10.04,390,3.606,429,5.033,475,6.927,516,7.628,587,6.449,600,4.231,642,10.078,719,9.312,742,9.168,842,5.436,1057,11.54,1137,12.157,1153,12.676,1208,7.069,1215,4.474,1225,10.399,1437,8.265,1480,6.382,1644,5.007,1991,12.403,3675,11.365,3678,12.983,3797,14.853]],["keywords/720",[]],["title/721",[58,252.814,246,251.175,363,97.636,382,322.56,475,180.409,3794,325.907]],["content/721",[19,8.599,46,6.097,58,7.879,363,3.043,380,9.854,382,11.71,475,5.623,562,11.218,784,13.225]],["keywords/721",[]],["title/722",[221,447.1,380,486.79,751,721.77]],["content/722",[1,4.852,5,6.103,9,1.796,14,5.115,16,5.795,19,5.057,21,2.716,23,4.825,46,6.674,59,4.85,79,6.54,86,7.339,117,6.512,122,5.053,140,2.726,144,3.956,187,7.964,193,4.575,215,3.543,222,6.781,236,2.809,255,2.832,274,4.11,329,5.847,332,6.471,380,5.795,382,9.622,390,4.437,423,4.574,429,3.805,475,3.307,486,4.168,489,5.532,498,8.725,524,5.184,540,6.435,598,8.353,623,6.103,632,8.781,642,7.62,644,7.62,667,7.213,678,8.832,702,7.039,713,5.556,719,5.483,730,7.778,751,8.593,784,7.778,789,5.216,824,4.619,836,5.734,873,7.95,906,10.391,926,9.752,944,3.543,945,7.339,982,5.581,1061,6.734,1120,7.196,1127,11.915,1390,7.778,1768,9.584,1989,9.377,2023,10.391,2534,9.023,3448,7.153,3501,9.377,3678,9.816,3779,6.431,3798,12.802,3799,12.802,3800,11.23]],["keywords/722",[]],["title/723",[46,195.642,58,252.814,193,141.341,382,322.56,534,271.849,3794,325.907]],["content/723",[19,8.718,46,6.181,193,4.466,236,4.843,264,10.951,382,10.191,562,11.373,784,13.407]],["keywords/723",[]],["title/724",[236,235.988,751,721.77,2497,732.906]],["content/724",[1,5.658,6,3.9,9,2.131,30,3.682,41,2.354,46,7.561,50,3.787,59,2.062,91,4.631,193,2.05,194,3.957,205,3.886,214,7.766,215,2.803,222,5.365,230,8.829,235,9.549,236,4.999,239,6.364,251,4.111,253,6.799,256,11.892,264,5.026,274,5.851,285,4.229,286,3.573,322,6.753,329,5.917,340,4.229,362,3.851,363,1.416,429,7.021,443,3.573,475,2.616,500,4.095,501,6.22,524,5.397,540,3.619,569,6.903,603,5.912,612,5.756,642,10.848,648,6.441,699,8.707,702,5.569,716,8.991,719,4.338,731,9.041,746,4.631,797,10.196,808,4.726,812,3.434,824,2.245,836,3.225,873,6.29,949,8.352,1036,4.802,1039,12.576,1045,9.587,1048,7.227,1100,6.441,1134,7.016,1211,8.221,1213,9.544,1332,7.139,1344,5.255,1379,6.701,1444,15.324,1512,5.707,1624,9.795,1916,5.807,2222,7.419,2241,8.221,2685,8.885,3431,6.441,3433,13.325,3550,8.516,3555,7.139,3801,10.129,3802,7.976,3803,10.129,3804,15.324,3805,14.065,3806,12.771,3807,10.129,3808,8.885,3809,10.129,3810,8.221,3811,10.129,3812,6.441]],["keywords/724",[]],["title/725",[41,183.798,58,286.256,524,196.748,2551,326.135,3794,369.017]],["content/725",[1,5.768,6,8.052,41,4.861,141,6.888,236,4.59,332,10.572,362,4.419,533,9.332,562,10.779,568,11.158,716,10.317,1137,15.016,2019,17.584,3646,12.575]],["keywords/725",[]],["title/726",[141,253.465,236,200.013,751,611.741,3813,799.473]],["content/726",[141,6.267,174,6.819,236,4.945,1018,7.315,3814,22.533]],["keywords/726",[]],["title/727",[1333,971.506]],["content/727",[]],["keywords/727",[]],["title/728",[845,1322.558]],["content/728",[21,4.883,845,18.128]],["keywords/728",[]],["title/729",[805,1230.196]],["content/729",[21,4.883,805,16.862]],["keywords/729",[]],["title/730",[813,1230.196]],["content/730",[21,4.883,813,16.862]],["keywords/730",[]],["title/731",[1865,1412.056]],["content/731",[21,4.883,1865,19.354]],["keywords/731",[]],["title/732",[1037,1127.28]],["content/732",[21,4.883,1037,15.451]],["keywords/732",[]],["title/733",[1866,1183.697]],["content/733",[21,4.883,1866,16.224]],["keywords/733",[]],["title/734",[1866,1183.697]],["content/734",[21,4.883,1866,16.224]],["keywords/734",[]],["title/735",[836,534.685]],["content/735",[21,4.883,836,7.329]],["keywords/735",[]],["title/736",[1867,1412.056]],["content/736",[21,4.883,1867,19.354]],["keywords/736",[]],["title/737",[1868,1412.056]],["content/737",[21,4.883,1868,19.354]],["keywords/737",[]],["title/738",[984,787.79]],["content/738",[21,4.883,984,10.798]],["keywords/738",[]],["title/739",[1869,1412.056]],["content/739",[21,4.883,1869,19.354]],["keywords/739",[]],["title/740",[1870,1412.056]],["content/740",[21,4.883,1870,19.354]],["keywords/740",[]],["title/741",[1871,1322.558]],["content/741",[8,3.2,9,3.498,21,1.782,41,1.952,46,5.585,59,1.71,97,3.696,108,3.2,122,1.878,146,5.299,175,4.515,197,4.45,202,3.493,215,3.643,230,3.663,235,9.973,236,5.282,251,3.409,252,5.82,260,3.92,274,2.697,290,5.482,297,3.803,358,2.848,362,2.781,387,6.441,404,2.807,423,3.002,429,2.497,467,2.518,471,3.9,475,2.17,481,4.656,486,2.735,524,2.09,548,7.254,620,3.2,692,2.815,699,6.202,749,9.64,804,5.697,807,2.181,812,2.848,832,1.008,838,3.81,842,2.697,847,1.149,866,3.552,885,7.218,886,10.265,892,8.94,900,3.383,949,3.234,968,4.86,982,2.25,1018,2.727,1048,7.281,1103,4.144,1146,4.247,1181,5.558,1188,6.154,1189,5.278,1213,8.269,1215,3.477,1228,6.032,1237,4.359,1261,3.822,1558,5.278,1736,5.342,1871,6.616,1872,14.232,1873,11.065,1874,7.779,1875,7.779,1876,7.369,1877,7.779,1878,7.779,1879,7.779,1880,7.369,1881,7.779,1882,7.779,1883,7.779,1884,7.779,1885,7.779,1886,7.779,1887,7.779,1888,7.779,1889,6.616,1890,7.779,1891,7.779,1892,7.779,1893,7.779,1894,7.779,1895,4.194,1896,5.712,1897,7.779,1898,10.586,1899,6.441,1900,7.779,1901,7.779,1902,7.779,1903,7.779,1904,7.063,1905,7.779,1906,5.639,1907,7.779,1908,7.779,1909,6.032,1910,6.616,1911,7.779,1912,7.779,1913,8.369,1914,7.369,1915,7.779,1916,7.545,1917,7.779,1918,7.779,1919,7.779,1920,7.779,1921,7.779,1922,7.063,1923,7.779,1924,7.779]],["keywords/741",[]],["title/742",[1925,1163.403]],["content/742",[9,2.414,14,3.893,21,3.65,83,7.605,188,8.34,193,4.445,260,8.028,355,6.553,363,2.405,423,6.148,467,1.991,475,6.25,486,5.601,545,3.898,554,7.653,807,3.64,832,2.065,847,2.353,886,7.337,982,4.609,983,10.409,1014,6.716,1018,5.585,1215,4.546,1585,7.244,1644,6.495,1925,15.215,1926,20.338,1927,17.296,1928,10.941,1929,16.089,1930,15.931,1931,13.192,1932,15.931]],["keywords/742",[]],["title/743",[1933,1412.056]],["content/743",[21,4.883,1933,19.354]],["keywords/743",[]],["title/744",[927,1322.558]],["content/744",[21,4.883,927,18.128]],["keywords/744",[]],["title/745",[1934,1322.558]],["content/745",[9,2.721,21,4.114,83,8.573,193,5.17,355,7.387,363,3.309,423,6.93,824,4.299,832,2.327,838,4.555,847,2.652,889,6.326,920,10.138,982,5.195,983,10.182,1018,6.296,1644,5.735,1928,12.333,1934,18.639,1935,14.87,1936,17.958]],["keywords/745",[]],["title/746",[1927,1322.558]],["content/746",[9,2.61,21,3.947,50,5.753,83,8.224,193,5.075,355,7.087,363,3.225,423,6.648,467,2.092,824,4.124,832,2.233,838,4.369,847,2.544,889,6.166,920,9.882,982,4.984,983,10.789,1018,6.04,1644,5.502,1927,18.169,1928,11.831,1929,13.628,1934,18.169,1937,17.227]],["keywords/746",[]],["title/747",[1390,1020.346]],["content/747",[1,2.689,6,2.745,9,1.62,14,3.785,21,1.512,30,2.799,41,4.573,83,3.151,96,3.75,122,2.581,140,1.518,144,2.203,171,6.157,187,2.725,193,3.386,255,2.555,260,3.326,297,3.227,301,3.724,329,2.314,355,5.543,362,2.44,390,2.459,404,2.382,418,7.095,423,2.547,453,3.362,467,2.627,487,3.227,489,6.288,498,4.859,554,2.484,556,4.582,558,6.512,603,2.775,613,2.108,620,2.715,726,4.087,756,6.073,766,5.306,794,4.202,804,3.687,807,1.914,823,3.417,824,2.56,828,2.186,832,1.746,836,5.327,838,1.674,847,0.975,870,6.349,889,3.086,894,6.506,898,3.362,905,12.013,920,4.946,925,2.956,929,8.578,941,7.403,945,6.62,949,2.745,965,7.091,966,7.015,982,1.91,983,4.967,984,3.344,985,4.331,988,3.86,1014,3.531,1018,2.314,1085,5.466,1165,6.942,1166,7.436,1167,7.436,1168,7.436,1169,7.436,1208,2.976,1263,4.533,1279,4.087,1329,6.452,1390,10.165,1391,13.198,1400,5.614,1416,5.337,1469,9.372,1557,3.803,1573,3.476,1938,11.158,1939,6.253,1940,5.614,1941,4.202,1942,6.601,1943,6.253,1944,6.601,1945,6.601,1946,5.994,1947,6.601,1948,6.601,1949,6.601,1950,10.692,1951,13.464,1952,10.692,1953,6.601,1954,5.991,1955,6.601,1956,10.692,1957,5.466,1958,6.601,1959,6.601,1960,10.692,1961,6.601,1962,6.253,1963,6.601,1964,5.994,1965,13.475,1966,6.601,1967,6.601,1968,6.601,1969,10.692,1970,6.601,1971,6.601,1972,10.692,1973,6.601,1974,6.601,1975,6.601,1976,6.601,1977,6.601,1978,6.601,1979,6.601,1980,6.601,1981,5.787,1982,6.601,1983,10.692,1984,6.601,1985,6.601,1986,3.496,1987,6.601,1988,6.601,1989,8.458,1990,6.601,1991,5.222,1992,4.591,1993,6.601,1994,5.614,1995,6.253,1996,10.692,1997,10.692,1998,5.614]],["keywords/747",[]],["title/748",[122,375.354]],["content/748",[21,4.883,122,5.145]],["keywords/748",[]],["title/749",[1161,1322.558]],["content/749",[21,4.883,1161,18.128]],["keywords/749",[]],["title/750",[1999,1412.056]],["content/750",[21,4.883,1999,19.354]],["keywords/750",[]],["title/751",[2000,1412.056]],["content/751",[9,2.551,14,4.114,83,8.037,193,4.603,236,4.991,355,6.926,363,2.542,409,10.333,467,2.062,475,6.411,554,6.335,832,2.182,847,2.487,887,8.191,889,6.633,920,9.742,983,7.822,1120,7.265,1212,11.424,1215,6.009,1889,17.911,1925,15.755,1928,11.562,2000,19.123,2001,21.06,2002,8.355]],["keywords/751",[]],["title/752",[2003,1412.056]],["content/752",[19,7.661,41,4.507,83,8.573,106,10.347,193,4.79,236,4.256,355,7.387,390,4.13,467,2.316,804,4.273,823,9.296,832,2.327,847,2.652,983,10.99,1215,6.749,1909,16.994,2003,19.9,2004,21.917]],["keywords/752",[]],["title/753",[2005,1183.697]],["content/753",[9,2.948,14,2.13,16,4.262,18,4.393,21,4.887,23,7.919,68,3.705,74,9.741,83,4.161,97,6.323,106,5.022,141,7.413,144,2.909,157,4.241,164,4.987,172,6.759,193,3.528,215,2.606,236,3.826,248,7.532,255,3.857,285,3.93,297,4.262,328,4.161,329,3.056,345,4.293,355,3.586,362,4.439,363,1.316,390,2.005,423,3.364,429,5.181,455,4.672,467,2.322,475,2.432,505,3.93,545,3.931,592,4.82,661,2.933,670,7.047,677,3.898,699,5.494,723,6.896,804,5.644,807,1.56,823,4.512,828,2.886,832,1.13,842,5.596,847,1.287,848,3.851,860,4.917,885,4.229,886,6.129,887,9.465,889,5.214,900,3.791,924,4.477,928,7.559,982,2.522,983,4.05,1004,4.789,1014,5.966,1018,3.056,1103,4.644,1170,6.383,1212,10.952,1215,2.487,1227,4.05,1258,7.915,1358,5.986,1373,4.7,1889,11.318,1913,12.406,1928,5.986,2005,10.129,2006,6.249,2007,12.607,2008,12.607,2009,12.607,2010,12.083,2011,12.083,2012,13.53,2013,8.717,2014,7.218,2015,4.032,2016,6.319,2017,8.258,2018,8.717,2019,7.915,2020,4.262,2021,7.047,2022,8.258]],["keywords/753",[]],["title/754",[2023,1363.216]],["content/754",[14,4.469,47,12.889,59,4.872,83,8.731,193,4.844,332,9.985,355,9.117,824,4.379,832,2.371,836,7.62,847,2.701,889,6.396,983,11.515,1014,7.319,2023,16.033,2024,18.29]],["keywords/754",[]],["title/755",[889,448.835]],["content/755",[21,4.883,889,6.152]],["keywords/755",[]],["title/756",[2025,1257.267]],["content/756",[9,2.243,13,4.238,14,2.455,21,2.301,77,6.523,83,4.796,97,10.278,122,2.425,140,2.311,162,5.089,193,3.235,202,4.511,236,4.166,264,5.384,329,3.522,332,5.484,353,17.585,355,6.089,362,5.104,423,3.877,429,4.752,440,4.53,455,7.933,467,2.568,496,15.038,524,2.699,548,6.315,556,2.527,590,8.122,677,4.493,699,8.006,729,6.523,804,4.183,807,3.146,824,2.405,828,4.901,832,1.302,836,3.454,838,3.754,847,1.484,859,8.544,868,6.395,870,5.966,887,4.888,889,2.9,920,4.647,941,8.133,945,6.22,965,6.663,966,6.592,982,2.906,983,6.877,1004,5.519,1014,4.889,1018,3.522,1146,8.081,1165,6.523,1166,6.987,1167,6.987,1168,6.987,1169,6.987,1208,4.53,1272,9.091,1701,8.544,2025,11.968,2026,13.441,2027,14.803,2028,10.896,2029,10.046,2030,9.122,2031,8.544,2032,13.441,2033,9.122,2034,9.122,2035,10.046,2036,8.807,2037,4.688,2038,9.122,2039,8.544,2040,10.046,2041,10.046,2042,8.807,2043,10.046,2044,10.046,2045,10.046,2046,10.046,2047,6.899]],["keywords/756",[]],["title/757",[2048,1412.056]],["content/757",[21,4.883,2048,19.354]],["keywords/757",[]],["title/758",[2049,1322.558]],["content/758",[14,4.31,21,4.04,83,8.42,193,4.737,332,9.628,355,8.917,423,6.806,467,2.122,475,6.047,807,3.88,824,4.223,832,2.286,847,2.605,889,6.256,982,5.102,983,11.373,1018,6.183,1925,16.216,2049,18.435,2050,17.637]],["keywords/758",[]],["title/759",[2051,1412.056]],["content/759",[21,4.883,2051,19.354]],["keywords/759",[]],["title/760",[827,954.419]],["content/760",[21,4.883,827,13.082]],["keywords/760",[]],["title/761",[193,339.865]],["content/761",[21,4.883,193,4.658]],["keywords/761",[]],["title/762",[1989,1230.196]],["content/762",[21,4.883,1989,16.862]],["keywords/762",[]],["title/763",[1416,1257.267]],["content/763",[21,4.883,1416,17.233]],["keywords/763",[]],["title/764",[2052,1412.056]],["content/764",[21,4.883,2052,19.354]],["keywords/764",[]],["title/765",[945,962.813]],["content/765",[14,3.752,21,3.517,83,7.33,193,4.341,355,6.316,362,3.503,423,5.925,429,4.928,467,2.617,807,2.748,832,1.99,836,5.279,847,2.268,870,9.117,889,4.431,920,7.102,925,4.245,941,10.911,945,13.63,965,10.183,966,10.074,982,4.442,983,7.133,1004,8.435,1018,5.383,1165,9.969,1166,10.678,1167,10.678,1168,10.678,1169,10.678,1344,11.128,1512,9.343,1928,10.544,2053,14.545,2054,15.354,2055,15.354]],["keywords/765",[]],["title/766",[516,756.595]],["content/766",[21,4.883,516,10.37]],["keywords/766",[]],["title/767",[1415,1322.558]],["content/767",[21,4.883,1415,18.128]],["keywords/767",[]],["title/768",[2056,1322.558]],["content/768",[6,4.465,9,3.033,21,4.184,83,5.126,138,13.216,144,3.584,146,4.67,193,4.374,196,9.413,260,5.411,273,3.345,355,4.417,363,2.346,398,4.513,404,3.874,423,4.143,443,4.091,467,2.08,478,5.383,545,4.568,554,4.04,556,3.909,580,10.172,728,4.564,823,8.045,828,5.146,832,1.392,838,2.723,840,3.733,847,1.586,876,4.782,944,5.459,982,5.283,983,9.299,1014,5.132,1018,3.764,1068,10.727,1103,5.72,1208,9.577,1344,12.407,1366,4.882,1373,5.79,1724,8.326,2056,15.532,2057,18.263,2058,18.263,2059,16.009,2060,13.216,2061,10.738,2062,21.24,2063,18.263,2064,20.016,2065,10.172,2066,18.263,2067,10.738,2068,9.132,2069,10.738,2070,4.634,2071,15.54,2072,16.583,2073,10.738,2074,10.738,2075,10.738,2076,10.738,2077,10.738,2078,10.738,2079,10.172,2080,10.738,2081,15.54,2082,10.738]],["keywords/768",[]],["title/769",[2083,1412.056]],["content/769",[21,4.883,2083,19.354]],["keywords/769",[]],["title/770",[2084,1412.056]],["content/770",[21,4.883,2084,19.354]],["keywords/770",[]],["title/771",[2085,1412.056]],["content/771",[21,4.883,2085,19.354]],["keywords/771",[]],["title/772",[2086,1412.056]],["content/772",[21,4.883,2086,19.354]],["keywords/772",[]],["title/773",[2087,1412.056]],["content/773",[21,4.883,2087,19.354]],["keywords/773",[]],["title/774",[2088,1412.056]],["content/774",[21,4.883,2088,19.354]],["keywords/774",[]],["title/775",[2089,1412.056]],["content/775",[21,3.857,83,8.037,122,4.064,193,5.023,286,6.415,355,6.926,363,3.47,390,3.872,423,6.497,429,5.404,443,6.415,545,3.227,677,7.529,743,6.926,756,9.564,832,2.182,847,2.487,887,8.191,982,4.87,983,7.822,1018,5.903,1373,13.368,1437,6.258,2089,20.868,2090,21.06,2091,11.292,2092,16.836,2093,14.318]],["keywords/775",[]],["title/776",[2093,1322.558]],["content/776",[21,4.379,423,7.377,467,2.379,556,4.808,807,3.421,820,6.183,832,2.478,836,6.573,847,2.823,885,6.074,892,8.065,982,5.53,2093,19.355,2094,19.116,2095,19.116]],["keywords/776",[]],["title/777",[2021,1257.267]],["content/777",[14,4.209,21,3.947,40,10.23,83,8.224,193,4.669,355,7.087,423,6.648,467,2.49,513,9.526,548,9.115,804,5.526,832,2.233,847,2.544,941,9.465,982,4.984,983,10.789,1018,6.04,1214,11.381,1913,11.831,1928,11.831,2021,13.928,2096,17.227,2097,17.227]],["keywords/777",[]],["title/778",[1184,1322.558]],["content/778",[9,2.688,14,4.335,21,4.065,83,8.47,193,4.755,355,7.299,423,6.847,429,5.695,467,2.13,513,12.03,832,2.3,847,2.621,941,9.748,982,5.133,983,10.932,1018,6.22,1184,18.502,1913,16.159,1928,12.185,2021,17.589,2098,17.743]],["keywords/778",[]],["title/779",[2099,1257.267]],["content/779",[9,2.467,14,5.039,363,2.458,423,6.283,467,2.216,545,3.121,554,7.759,556,4.095,613,5.2,634,9.668,764,7.434,807,2.914,830,12.767,832,2.11,836,7.09,837,9.825,838,4.129,847,2.405,883,7.531,909,10.364,944,4.867,982,4.71,983,7.564,984,8.248,1004,11.329,1013,12.18,1014,6.81,1117,16.671,1336,7.311,1641,11.323,2099,13.163,2100,9.992,2101,17.537,2102,11.047,2103,13.846]],["keywords/779",[]],["title/780",[984,787.79]],["content/780",[984,12.283]],["keywords/780",[]],["title/781",[32,628.636]],["content/781",[21,6.009,32,4.661,46,3.488,354,6.693,390,2.652,467,2.657,548,4.92,623,5.937,820,3.73,920,5.334,944,3.447,1013,19.553,1265,8.126,1272,5.405,1591,10.108,1662,8.359,1680,6.295,1784,8.238,1938,9.549,2028,8.488,2104,11.531,2105,10.924,2106,11.531,2107,11.531,2108,11.531,2109,11.531,2110,10.924,2111,11.531,2112,11.531,2113,11.531,2114,11.531,2115,11.531,2116,11.531,2117,11.531,2118,11.531,2119,11.531,2120,10.47,2121,10.47,2122,10.47,2123,10.47,2124,10.47,2125,9.807,2126,9.807,2127,10.47]],["keywords/781",[]],["title/782",[2128,1183.697]],["content/782",[467,2.412,807,3.535,832,2.56,883,9.137,1014,6.523,1187,15.316,1336,8.87,1662,14.319,2100,12.123,2128,15.035,2129,19.753]],["keywords/782",[]],["title/783",[1662,1127.28]],["content/783",[390,3.917,467,2.611,548,7.265,820,5.508,920,7.877,944,5.09,1013,19.95,1265,12,1272,7.982,1662,12.344,1938,14.101,2028,12.535,2120,15.463,2121,15.463,2122,15.463]],["keywords/783",[]],["title/784",[941,854.365]],["content/784",[5,3.796,8,3.033,9,2.198,21,3.324,27,3.122,48,3.157,58,2.882,96,4.188,140,2.687,148,4.344,155,4.449,162,9.696,171,4.643,193,1.611,197,4.218,215,3.492,246,2.863,259,5.949,286,2.809,287,6.487,332,4.025,362,3.766,390,3.337,423,4.508,424,4.837,443,6.855,464,4.929,467,2.606,520,7.311,540,2.845,545,2.781,548,4.984,613,2.355,620,3.033,677,3.297,692,2.668,726,4.565,807,4.076,808,3.715,812,6.043,829,4.945,832,0.956,836,7.831,847,1.089,848,3.257,870,6.937,882,4.077,885,2.343,886,3.396,889,3.372,892,3.11,900,3.206,910,6.27,920,5.404,925,5.922,941,10.515,944,4.337,945,8.983,946,6.694,956,5.195,965,10.947,966,10.83,967,10.947,971,3.088,973,2.599,976,4.772,982,2.133,1004,6.418,1018,2.585,1061,4.188,1079,5.516,1163,4.344,1165,7.585,1166,8.124,1167,8.124,1168,8.124,1169,8.124,1261,3.622,1262,5.612,1344,8.129,1373,3.975,1385,2.792,1687,3.425,2130,10.24,2131,6.27,2132,6.27,2133,9.935,2134,7.373,2135,6.694,2136,7.373,2137,5.427,2138,6.694,2139,7.373,2140,7.373,2141,7.373,2142,7.373,2143,6.694,2144,7.373,2145,6.047,2146,3.735,2147,7.373,2148,7.373,2149,7.373,2150,7.373,2151,7.373,2152,7.373,2153,7.373,2154,7.373,2155,7.373,2156,7.373,2157,7.373,2158,6.984,2159,7.373,2160,7.373,2161,4.378]],["keywords/784",[]],["title/785",[2131,1322.558]],["content/785",[9,2.865,46,4.31,48,6.101,50,3.836,58,5.569,76,10.039,97,8.986,122,5.68,140,4.349,144,4.755,146,6.196,162,7.217,171,7.516,208,7.778,215,5.653,235,7.256,256,10.039,257,4.925,285,6.424,355,5.86,362,3.251,417,5.264,418,7.501,429,4.573,467,1.852,540,5.498,597,7.07,603,5.989,609,8.093,700,8.744,716,7.59,796,11.047,836,6.502,842,4.939,866,6.505,941,11.662,949,5.924,957,11.814,976,5.819,1083,12.489,1122,9.348,1221,11.797,1294,6.965,2020,6.965,2131,12.116,2162,14.247,2163,7.034,2164,14.247,2165,14.247,2166,14.247,2167,14.247,2168,14.247,2169,13.497,2170,12.489,2171,14.247,2172,12.936,2173,12.936]],["keywords/785",[]],["title/786",[956,1095.832]],["content/786",[9,2.705,27,9.247,59,3.924,91,8.813,122,5.27,162,9.042,197,10.211,218,9.744,221,8.015,323,7.673,362,5.383,404,6.44,429,5.73,523,7.531,545,3.422,620,7.343,764,8.151,812,7.995,842,7.57,968,11.151,1111,11.972,1135,12.578,2174,13.354]],["keywords/786",[]],["title/787",[2132,1032.511,2133,1032.511]],["content/787",[5,5.868,8,4.689,9,3.522,27,4.827,34,8.049,38,5.774,48,8.81,59,3.566,140,2.622,157,5.545,171,4.53,188,5.967,215,6.149,255,2.723,286,4.343,287,3.687,362,2.601,429,3.659,434,8.09,443,4.343,464,8.679,467,2.367,486,4.007,500,4.976,505,5.139,556,2.867,613,3.64,614,7.927,620,4.689,624,3.26,692,5.869,808,5.744,836,7.768,840,3.963,842,3.952,848,9.088,849,6.567,897,9.955,941,6.262,944,3.407,958,10.426,967,14.984,968,10.133,969,6.936,971,4.774,972,9.992,973,4.019,974,10.35,976,4.656,977,10.35,1008,5.714,1146,6.222,1163,9.557,1366,5.183,1613,3.64,2132,13.795,2133,9.694,2135,10.35,2143,10.35,2161,9.632,2175,8.032,2176,8.676,2177,10.798,2178,11.398,2179,8.527,2180,16.22,2181,11.398,2182,11.398,2183,11.398,2184,11.398,2185,11.398,2186,11.398,2187,16.22,2188,11.398,2189,11.398]],["keywords/787",[]],["title/788",[2123,1412.056]],["content/788",[50,4.986,363,3.371,390,4.259,467,2.186,475,5.166,540,7.146,832,2.894,847,2.735,925,5.12,930,8.281,931,6.315,1437,6.883,1464,9.64,1607,12.282,2190,18.519,2191,18.519,2192,18.519,2193,18.519,2194,16.815,2195,16.815]],["keywords/788",[]],["title/789",[2196,1555.113]],["content/789",[9,3.462,50,5.181,301,10.854,390,4.425,404,6.942,467,1.884,545,3.688,743,7.914,746,9.5,832,2.494,907,13.558,958,12.367,2197,19.24,2198,11.912,2199,10.374,2200,16.866]],["keywords/789",[]],["title/790",[2201,1412.056]],["content/790",[16,8.674,46,6.581,117,9.748,274,6.151,467,2.13,524,4.767,540,6.847,632,9.342,804,4.222,824,4.248,832,2.3,836,7.48,840,6.168,842,6.151,847,2.621,1118,19.754,1119,16.111,1344,9.942,2100,10.889,2103,18.502,2201,16.111,2202,17.743,2203,17.743,2204,17.743,2205,17.743]],["keywords/790",[]],["title/791",[2124,1412.056]],["content/791",[804,5,832,2.723,847,3.103,2206,21.013]],["keywords/791",[]],["title/792",[1784,1111.048]],["content/792",[50,5.114,59,4.984,467,1.86,475,5.298,540,7.329,832,2.938,847,2.805,930,8.494,931,6.477,1157,10.865,1437,7.06,1784,17.315,2207,18.993,2208,18.993,2209,18.993]],["keywords/792",[]],["title/793",[2210,1412.056]],["content/793",[30,4.702,59,4.818,63,8.984,524,5.889,556,4.517,613,5.735,620,9.73,807,3.214,824,4.299,832,2.327,840,6.243,847,2.652,878,11.783,907,12.654,1352,14.536,1529,13.017,2210,19.9,2211,15.272,2212,16.306,2213,16.306,2214,13.435]],["keywords/793",[]],["title/794",[2215,1322.558]],["content/794",[8,7.255,30,6.144,59,5.524,140,4.057,274,6.115,524,4.739,556,4.436,592,9.753,807,3.157,824,4.223,832,2.286,840,7.536,847,2.605,893,14.259,894,13.19,1352,11.698,2211,15,2215,18.435,2216,15.955,2217,17.637,2218,17.637]],["keywords/794",[]],["title/795",[2125,1322.558]],["content/795",[9,1.978,32,7.208,34,6.478,41,3.277,46,5.394,79,5.12,205,5.408,208,9.734,215,6.828,257,4.513,271,10.554,417,6.587,424,11.699,453,6.648,467,2.406,524,3.508,597,6.478,603,5.487,613,4.169,625,6.261,716,6.955,807,2.337,820,4.223,824,3.125,832,2.311,836,8.299,840,4.539,842,6.181,847,1.928,848,5.767,849,7.522,885,4.148,892,5.508,930,5.838,931,4.452,933,8.756,1008,6.545,1011,7.692,1017,10.327,1103,6.955,1127,14.508,1133,8.31,1216,8.658,1237,7.315,1274,9.609,1535,10.123,1581,5.314,1624,12.665,2125,11.102,2219,11.102,2220,11.444,2221,11.854,2222,10.327,2223,10.327,2224,10.554,2225,13.055,2226,13.055,2227,13.055,2228,13.055,2229,13.055,2230,13.055]],["keywords/795",[]],["title/796",[2126,1322.558]],["content/796",[9,1.775,32,6.685,34,5.813,46,5.003,193,2.56,205,4.853,208,9.028,215,7.003,257,4.05,271,9.47,390,2.694,417,6.11,424,10.85,453,5.965,467,2.581,524,4.443,603,4.924,613,3.741,625,5.618,716,6.24,807,2.096,820,3.789,824,3.959,832,2.143,836,7.552,840,4.072,842,5.733,848,5.175,849,6.749,870,6.956,885,3.722,889,3.381,892,4.942,920,5.418,930,5.238,931,3.994,941,9.085,945,7.252,949,4.87,965,7.769,966,7.685,1008,5.872,1011,6.902,1017,9.266,1103,6.24,1127,8.369,1133,7.456,1165,7.606,1166,8.146,1167,8.146,1168,8.146,1169,8.146,1216,7.769,1237,6.563,1274,8.622,1437,4.354,1453,10.636,1457,11.097,1535,9.083,1581,4.768,1624,12.087,2126,9.962,2219,9.962,2220,10.268,2221,10.636,2222,9.266,2223,9.266,2224,9.47,2231,11.713,2232,11.713,2233,11.713,2234,11.713,2235,11.713]],["keywords/796",[]],["title/797",[2236,1043.002]],["content/797",[9,1.775,13,4.942,14,2.862,19,7.055,30,5.018,38,5.934,50,3.154,59,5.579,73,6.902,77,7.606,144,3.909,218,6.395,274,5.733,283,5.872,286,4.463,328,5.592,390,3.803,404,5.966,464,4.942,467,2.382,490,6.85,556,2.946,600,3.161,605,7.069,613,3.741,709,9.962,718,9.47,789,5.154,824,2.804,832,1.518,840,7.24,842,4.061,847,1.73,894,7.128,924,6.449,968,7.318,1103,6.24,1110,3.838,1157,6.701,1207,13.164,1365,11.357,1366,8.715,1367,10.636,1385,4.435,1423,15.851,1480,6.731,1613,5.281,1817,6.701,2198,10.239,2236,15.713,2237,16.537,2238,9.266,2239,11.713,2240,11.097,2241,10.268,2242,10.636,2243,19.168,2244,11.713,2245,11.713,2246,11.713,2247,11.713,2248,7.189,2249,11.713,2250,11.713,2251,11.713]],["keywords/797",[]],["title/798",[2252,1363.216]],["content/798",[9,2.537,452,12.323,467,2.245,603,7.037,613,5.346,732,10.021,824,4.008,832,2.17,847,2.473,981,14.075,1069,13.863,1385,6.339,2252,18.396,2253,12.323,2254,15.201,2255,8.619,2256,16.741,2257,16.741,2258,16.741,2259,16.741,2260,16.741,2261,16.741,2262,20.986,2263,16.741,2264,16.741,2265,16.741,2266,16.741,2267,16.741,2268,16.741,2269,16.741,2270,16.741,2271,16.741,2272,16.741,2273,16.741,2274,16.741]],["keywords/798",[]],["title/799",[2275,1555.113]],["content/799",[255,4.95,467,2.029,807,3.708,832,2.685,925,5.728,2276,20.719]],["keywords/799",[]],["title/800",[2277,1473.221]],["content/800",[9,3.482,50,4.533,58,6.581,59,3.701,204,5.773,209,10.717,404,6.074,413,9.371,469,13.818,554,6.335,556,4.235,613,5.377,617,10.932,625,8.075,648,11.562,757,12.595,771,12.595,804,4.006,823,8.715,832,2.182,847,2.487,860,9.498,1014,5.56,1329,13.869,1433,10.245,2216,12.393,2278,16.836,2279,10.16,2280,15.949,2281,16.836,2282,15.949,2283,13.055,2284,14.759,2285,15.287]],["keywords/800",[]],["title/801",[354,902.598]],["content/801",[32,7.088,86,10.855,205,7.264,251,9.466,354,12.535,355,7.212,467,2.392,540,6.766,613,5.599,832,2.799,847,2.59,930,7.841,931,5.979,1059,12.709,1385,6.639,1470,9.824,1682,18.923,2286,16.61,2287,15.92,2288,18.932,2289,15.92,2290,15.92,2291,15.92]],["keywords/801",[]],["title/802",[2015,719.339]],["content/802",[30,4.818,59,4.89,257,6.363,363,3.358,467,1.802,520,9.274,554,6.925,597,11.039,739,9.804,804,4.379,807,3.294,832,2.385,840,8.312,847,2.718,1018,6.452,2006,7.125,2015,8.513,2216,13.547,2292,18.404]],["keywords/802",[]],["title/803",[63,637.447]],["content/803",[63,7.544,467,2.627,581,6.398,804,4.379,832,2.385,847,2.718,885,5.848,892,7.764,924,7.484,1365,15.277,2293,14.27,2294,6.699]],["keywords/803",[]],["title/804",[2214,1163.403]],["content/804",[30,4.789,59,4.872,63,9.084,524,5.955,556,4.6,620,9.809,807,3.274,824,4.379,832,2.371,840,6.359,847,2.701,878,12.001,1352,14.699,1529,13.258,2211,15.555,2212,16.608,2213,16.608,2214,16.58]],["keywords/804",[]],["title/805",[993,916.313]],["content/805",[993,14.287]],["keywords/805",[]],["title/806",[193,339.865]],["content/806",[9,2.223,14,4.711,21,4.417,50,3.95,122,4.653,193,4.706,197,8.392,286,5.589,323,6.306,390,3.374,467,2.541,486,5.158,540,5.661,545,2.812,556,3.69,743,6.034,762,7.862,766,7.28,804,3.491,807,2.626,820,4.745,823,7.594,824,4.616,832,1.901,836,5.044,842,5.086,847,2.167,883,6.786,924,4.935,944,4.385,968,9.164,983,6.816,1007,9.003,1014,4.845,1120,6.33,1336,6.587,1365,10.075,1585,6.67,2176,11.166,2295,14.67,2296,12.86,2297,14.67,2298,14.67,2299,14.67,2300,14.67,2301,14.67,2302,12.476,2303,14.67,2304,13.897]],["keywords/806",[]],["title/807",[2305,1412.056]],["content/807",[21,4.351,193,4.151,255,4.538,467,2.458,540,7.329,617,12.333,632,10.001,832,2.462,842,6.585,847,2.805,925,5.251,983,8.824,2305,17.246,2306,17.993,2307,18.993,2308,15.728]],["keywords/807",[]],["title/808",[2309,1287.729]],["content/808",[8,6.625,9,3.103,30,4.216,58,6.295,59,3.54,90,6.041,140,3.704,149,7.549,255,3.848,274,5.583,323,6.923,467,2.395,475,4.492,516,7.835,587,9.262,651,9.718,804,3.832,807,3.665,832,2.087,838,4.085,925,4.452,1087,14.623,1337,13.335,1480,6.555,1766,12.258,2310,16.104,2311,9.148,2312,12.048,2313,16.104,2314,16.104,2315,22.517,2316,16.104,2317,20.478,2318,20.478,2319,16.104]],["keywords/808",[]],["title/809",[2320,1412.056]],["content/809",[30,4.91,50,6.058,59,4.122,257,6.483,467,1.836,613,5.989,804,5.736,807,3.356,832,2.431,840,8.38,843,14.835,847,2.77,2015,10.407,2320,17.028,2321,14.274]],["keywords/809",[]],["title/810",[2322,1412.056]],["content/810",[50,5.319,59,4.342,63,8.097,467,1.934,545,4.448,600,5.33,804,4.701,807,3.535,824,4.729,832,2.56,2311,11.221,2323,19.753]],["keywords/810",[]],["title/811",[2324,1473.221]],["content/811",[50,5.114,59,4.175,63,9.934,467,1.86,545,4.346,554,7.147,613,6.066,623,9.778,804,4.52,807,3.399,824,4.547,832,2.462,840,6.603,967,12.597,2311,10.789,2325,18.993]],["keywords/811",[]],["title/812",[2326,1412.056]],["content/812",[30,4.673,59,3.924,68,7.587,255,4.265,467,2.469,482,10.36,505,8.048,587,7.343,592,9.87,737,10.518,789,7.855,804,5.614,807,4.399,832,2.313,838,4.527,847,2.636,2309,14.781,2326,16.208,2327,16.208,2328,12.111]],["keywords/812",[]],["title/813",[1777,865.557]],["content/813",[21,4.408,423,7.424,467,2.468,807,3.444,832,2.494,847,2.842,885,6.114,892,8.117,910,16.363,982,5.566,1777,12.716,2329,19.24,2330,19.24]],["keywords/813",[]],["title/814",[2331,1555.113]],["content/814",[140,4.13,141,5.394,467,2.316,692,7.93,807,4.234,832,2.327,847,2.652,866,8.2,885,5.706,892,7.576,900,7.809,944,5.368,1366,8.165,2161,13.015,2332,17.958,2333,17.958,2334,21.917,2335,21.917,2336,14.87,2337,17.958]],["keywords/814",[]],["title/815",[2338,1412.056]],["content/815",[164,10.935,467,2.228,661,6.431,746,9.438,807,3.421,832,2.478,840,6.646,847,2.823,1008,9.583,1511,15.122,2130,19.95,2215,19.355,2338,17.357,2339,14.823,2340,16.257]],["keywords/815",[]],["title/816",[14,379.983]],["content/816",[14,4.65,140,3.309,236,3.409,255,3.437,467,2.614,487,7.033,524,5.114,554,5.413,807,2.575,824,3.444,832,2.467,847,2.811,883,6.654,885,6.047,892,8.998,925,3.977,982,4.161,984,9.641,986,10.588,994,11.63,1004,10.456,1013,10.762,1014,4.751,1037,10.428,1117,11.63,1269,8.229,1336,6.459,1393,10.277,2100,8.829,2341,14.385,2342,14.385,2343,14.385,2344,12.61,2345,14.385,2346,14.385,2347,14.385,2348,14.385,2349,14.385,2350,12.61,2351,14.385,2352,14.385,2353,14.385,2354,14.385]],["keywords/816",[]],["title/817",[2355,1555.113]],["content/817",[9,2.754,14,5.395,48,7.785,58,7.106,223,11.062,340,9.956,363,3.333,417,6.716,554,6.84,556,4.572,613,7.051,617,11.803,625,8.719,676,14.38,807,3.254,824,4.352,832,2.356,847,2.685,885,5.776,900,7.905,1337,15.053,2356,18.178]],["keywords/817",[]],["title/818",[516,756.595]],["content/818",[467,2.043,832,2.704,847,3.082,2357,20.865,2358,18.946]],["keywords/818",[]],["title/819",[2359,1555.113]],["content/819",[9,2.915,141,6.862,163,14.645,198,15.22,275,12.02,443,7.331,467,1.884,516,9.361,728,8.178,832,2.494,847,2.842,885,6.114,944,5.751,958,12.367,1727,14.162,2360,19.24]],["keywords/819",[]],["title/820",[2361,1555.113]],["content/820",[204,5.676,246,8.857,335,13.708,357,6.692,443,7.94,467,2.415,513,9.153,534,8.759,545,3.173,613,5.287,624,4.734,719,7.657,732,9.909,824,4.989,828,7.551,832,2.701,842,5.739,973,5.837,2358,20.708,2362,16.554,2363,14.078,2364,16.554,2365,9.681,2366,16.554,2367,18.921,2368,16.554]],["keywords/820",[]],["title/821",[2369,1555.113]],["content/821",[9,2.376,141,4.709,246,7.818,286,5.974,467,2.473,513,8.669,516,9.794,545,3.859,613,5.007,692,5.673,824,3.754,832,2.032,842,5.436,847,3.465,885,4.982,892,8.493,900,9.67,973,8.755,1147,16.367,2363,13.334,2367,20.19,2370,15.678,2371,22.235,2372,21.064]],["keywords/821",[]],["title/822",[2373,1412.056]],["content/822",[14,4.987,59,3.521,63,8.365,202,7.192,322,6.409,449,9.588,467,2.199,475,5.693,505,7.222,520,8.072,545,3.07,613,5.115,800,7.908,804,4.856,807,2.867,832,2.076,835,11.79,838,5.696,840,5.568,847,2.366,988,11.934,1110,5.248,1205,4.721,1333,10.006,1393,16.896,1487,10.868,2308,18.598,2373,14.544,2374,20.408,2375,20.408,2376,15.267]],["keywords/822",[]],["title/823",[2377,1555.113]],["content/823",[41,4.829,50,6.152,223,11.708,263,10.78,467,1.884,548,8.208,804,4.578,832,2.494,847,2.842,1024,12.493,1127,13.746,1480,7.832,1899,15.932,2378,19.24,2379,16.363,2380,16.363]],["keywords/823",[]],["title/824",[1108,1163.403]],["content/824",[41,4.737,222,10.796,467,2.211,657,13.68,807,4.042,824,4.518,832,2.446,847,2.787,944,5.641,1039,15.147,1108,14.119,1727,13.892,2381,18.873,2382,17.136,2383,18.873,2384,18.873,2385,18.873]],["keywords/824",[]],["title/825",[2386,1412.056]],["content/825",[1,3.708,8,6.064,9,2.931,26,6.411,78,8.825,79,5.782,140,3.391,171,5.859,257,7.463,274,5.111,354,8.557,409,11.871,423,5.689,454,9.477,467,2.437,562,8.206,605,8.897,613,4.708,674,11.029,787,8.621,789,6.487,804,3.508,807,3.462,815,9.573,832,1.911,838,3.739,840,5.125,842,5.111,847,2.177,885,6.146,925,5.348,1054,12.208,1431,7.718,1558,10.003,1683,6.043,1827,12.208,1954,8.261,2386,17.563,2387,7.005,2388,11.662,2389,12.924,2390,10.852,2391,7.901,2392,7.005,2393,14.743,2394,9.477,2395,14.743,2396,14.743,2397,10.533,2398,14.743]],["keywords/825",[]],["title/826",[743,639.701]],["content/826",[467,2.538,743,9.22,807,3.335,832,2.415,847,2.752,885,5.921,892,7.862,924,6.27,925,5.152,984,9.44,1014,6.154,1187,14.45,1365,12.798,2100,11.437,2399,15.849,2400,13.508]],["keywords/826",[]],["title/827",[1247,1257.267]],["content/827",[467,2.503,748,14.835,823,12.478,832,2.431,847,2.77,925,6.664,1014,7.96,1244,17.028,1247,15.161,2401,17.766,2402,17.766]],["keywords/827",[]],["title/828",[2127,1412.056]],["content/828",[50,4.986,363,3.371,390,4.259,467,2.186,540,7.146,832,2.894,847,2.735,921,9.534,925,5.12,930,8.281,931,6.315,1437,6.883,1464,9.64,1629,12.565,2194,16.815,2195,16.815,2403,18.519,2404,18.519,2405,18.519,2406,18.519]],["keywords/828",[]],["title/829",[2390,1144.672]],["content/829",[6,7.29,9,2.657,13,7.397,15,7.088,144,5.852,219,12.526,467,1.717,524,4.711,746,8.657,804,4.172,807,3.138,812,6.42,832,2.272,847,2.59,1018,6.147,1051,14.911,1120,7.566,1581,9.527,1686,9.026,2020,8.572,2390,17.981,2407,17.533,2408,17.533,2409,13.117,2410,17.533,2411,14.175,2412,11.629]],["keywords/829",[]],["title/830",[2413,1287.729]],["content/830",[50,5.691,59,3.722,63,8.663,204,5.806,223,10.303,257,5.854,355,6.965,404,6.109,467,2.432,545,4.625,804,4.029,807,3.031,832,2.194,838,5.361,842,5.87,847,2.501,885,5.38,892,7.144,900,7.363,967,14.018,1158,10.578,1163,9.977,1224,14.4,2413,14.021,2414,17.087,2415,13.689]],["keywords/830",[]],["title/831",[3815,1679.439]],["content/831",[]],["keywords/831",[]],["title/832",[32,402.5,34,494.096,230,468.833]],["content/832",[1,3.199,9,2.654,15,5.141,27,5.386,31,5.038,32,10.017,34,10.71,38,8.872,41,5.028,46,3.847,48,5.447,122,3.07,140,2.925,195,8.962,222,11.459,230,8.247,236,3.014,248,5.935,263,7.126,274,4.409,285,5.735,306,8.53,324,9.515,329,4.459,360,13.592,382,8.735,423,4.908,453,6.477,506,13.608,540,4.908,613,4.062,614,8.845,625,6.1,641,8.019,651,7.675,677,5.688,719,8.101,735,9.862,788,12.719,836,6.887,840,6.089,852,11.149,853,11.149,887,6.188,949,5.288,1201,14.312,1261,8.605,1266,6.376,1437,6.51,1480,5.177,1573,6.697,1677,10.148,2581,9.22,3678,10.532,3796,6.512,3816,9.502,3817,13.735,3818,13.735,3819,12.049,3820,12.719,3821,13.735]],["keywords/832",[]],["title/833",[108,301.226,148,431.479,1581,298.072,1582,579.283,3782,732.281]],["content/833",[1,5.169,5,8.336,9,2.453,13,6.831,22,10.408,23,6.591,31,6.414,32,8.307,34,12.16,91,7.995,193,3.539,230,9.676,274,5.614,328,9.81,383,10.209,417,5.982,523,6.831,524,4.351,609,9.198,711,9.692,863,7.457,868,14.369,1008,8.118,1135,11.41,1191,13.408,1581,9.189,1582,12.809,1584,11.569,1687,9.547,1688,14.703,3822,17.487,3823,14.703,3824,17.487]],["keywords/833",[]],["title/834",[329,295.866,453,429.787,741,594.675,836,290.158]],["content/834",[1,3.601,6,5.952,12,11.574,31,5.67,32,9.158,34,9.414,46,6.853,48,6.131,91,7.068,122,3.455,194,6.04,208,7.815,215,6.36,236,4.496,307,10.228,357,7.669,453,7.291,540,5.524,603,7.974,716,7.626,719,6.622,797,10.377,836,7.789,840,4.977,842,6.577,848,6.325,849,10.931,873,9.601,1048,8.124,1254,10.897,1261,7.033,1581,8.661,1595,12.549,1624,12.35,1839,13.562,3513,11.325,3620,9.495,3701,10.71,3825,15.46,3826,15.46,3827,15.46,3828,14.316,3829,15.46,3830,12.549,3831,15.46,3832,15.46,3833,15.46,3834,15.46]],["keywords/834",[]],["title/835",[108,266.035,117,355.309,148,381.072,363,97.636,524,173.763,830,400.41]],["content/835",[14,4.185,21,4.877,32,9.363,85,8.215,117,11.695,122,4.134,229,9.235,236,4.059,326,8.916,363,3.214,380,8.374,524,5.719,613,5.47,623,11.924,764,7.821,830,13.179,1627,13.847,1693,16.226,2581,12.416,3452,18.66,3646,11.121,3835,18.497,3836,15.014,3837,18.497,3838,18.497,3839,9.471]],["keywords/835",[]],["title/836",[18,369.017,21,167.756,32,296.016,824,175.319,948,606.374]],["content/836",[18,10.297,21,4.681,32,8.26,423,7.885,789,8.991,840,7.104,3448,12.331,3778,18.554]],["keywords/836",[]],["title/837",[429,270.886,1737,717.712,3836,739.776,3840,766.28]],["content/837",[18,10.689,23,8.634,32,6.884,34,8.451,41,4.274,117,9.356,220,8.865,236,5.475,326,8.865,358,6.235,363,2.571,429,5.466,453,8.673,524,4.575,614,11.843,719,7.877,827,10.451,830,10.543,836,5.855,840,5.92,842,5.904,949,8.819,1208,7.678,1216,11.295,1480,8.634,1573,8.966,3657,11.843,3836,14.928,3840,15.463,3841,18.391,3842,9.239]],["keywords/837",[]],["title/838",[7,621.632,8,499.41]],["content/838",[]],["keywords/838",[]],["title/839",[1336,545.152,3843,1311.126]],["content/839",[8,7.524,18,12.49,19,7.803,23,9.021,32,9.639,41,4.591,58,7.15,97,8.691,438,9.802,482,10.616,486,6.43,612,11.225,613,5.841,762,11.877,860,10.318,1535,14.182,3733,16.033,3844,19.753]],["keywords/839",[]],["title/840",[13,512.203,32,490.771]],["content/840",[1,2.397,2,8.324,5,7.328,9,1.444,14,2.328,19,4.066,23,3.879,27,4.035,30,2.495,31,5.638,32,9.341,34,4.729,41,4.276,46,2.883,59,3.129,61,4.961,67,8.143,90,3.575,91,4.705,188,8.92,194,4.02,205,3.948,215,2.849,246,3.701,274,3.304,287,3.082,312,9.529,319,4.99,322,3.813,326,4.961,328,4.549,355,3.92,358,3.489,362,3.248,363,1.439,380,4.659,413,5.304,417,3.521,449,5.704,467,2.484,523,4.02,524,2.56,540,6.575,554,6.411,563,7.014,603,4.006,613,6.776,623,4.906,632,5.018,659,7.538,677,6.365,719,4.408,730,6.253,755,7.704,766,4.729,812,5.212,824,3.408,832,1.845,836,5.858,842,4.935,868,6.066,900,4.144,902,9.028,973,3.36,988,5.572,1008,4.777,1011,5.615,1018,3.341,1062,6.391,1110,3.122,1120,4.112,1225,11.3,1281,6.715,1344,7.976,1535,7.389,1581,7.693,1582,7.538,1624,5.531,1633,9.529,1638,8.653,1662,10.318,1910,8.104,2100,8.736,2128,10.835,2610,4.279,3845,10.291,3846,15.372,3847,18.4,3848,15.372,3849,9.529,3850,9.529,3851,9.529,3852,9.529,3853,9.529,3854,9.529,3855,9.529,3856,9.529,3857,10.291,3858,9.529,3859,14.234,3860,6.066,3861,10.291,3862,10.291,3863,10.291,3864,10.291,3865,10.291,3866,9.529,3867,9.028]],["keywords/840",[]],["title/841",[32,490.771,429,389.7]],["content/841",[1,6.153,2,9.417,32,9.89,58,6.295,108,6.625,178,13.02,215,4.814,287,5.209,362,5.138,417,5.95,429,6.573,613,7.568,746,7.951,812,5.897,988,9.417,1610,7.652,2070,6.949,2610,10.111,3868,21.331,3869,24.317,3870,22.115,3871,19.4,3872,17.392,3873,17.392,3874,17.392]],["keywords/841",[]],["title/842",[32,490.771,167,855.508]],["content/842",[]],["keywords/842",[]],["title/843",[32,402.5,613,317.989,667,605.896]],["content/843",[]],["keywords/843",[]],["title/844",[41,390.324]],["content/844",[32,7.581,41,5.647,193,4.098,274,6.501,363,3.639,613,5.989,640,13.804,677,8.386,706,10.303,719,8.675,836,7.736,842,6.501,1613,5.989,1736,12.879,3875,20.252,3876,20.252,3877,20.252]],["keywords/844",[]],["title/845",[380,760.282]],["content/845",[9,2.61,14,5.22,32,6.964,46,5.211,188,9.019,193,5.306,248,8.039,274,5.973,319,6.04,325,15.102,363,3.506,380,10.445,423,6.648,429,6.858,453,8.774,554,6.482,667,10.483,719,7.969,726,10.666,766,8.549,949,7.163,1120,7.434,1480,7.012,2578,10.762,3878,18.605,3879,15.102,3880,18.605]],["keywords/845",[]],["title/846",[358,569.401]],["content/846",[1,5.274,6,3.839,9,2.819,15,3.732,18,4.653,19,3.939,21,3.184,32,7.52,41,2.317,46,5.628,50,2.486,58,3.609,86,5.716,108,5.718,148,5.44,174,4.543,187,3.811,188,4.833,193,2.018,197,5.282,205,3.825,222,5.282,248,7.801,259,7.079,265,7.645,274,4.819,285,4.163,297,4.514,301,5.208,329,3.237,332,5.04,345,2.979,358,9.189,360,13.539,363,3.165,380,4.514,382,11.824,390,2.124,398,3.881,423,3.563,424,6.058,429,4.462,443,3.518,475,5.849,486,3.246,506,8.764,603,3.881,624,2.64,627,6.596,667,10.173,688,5.009,700,5.666,706,7.637,710,7.028,743,3.798,746,4.559,794,5.877,796,7.159,824,4.002,840,3.21,921,7.156,944,4.155,949,3.839,982,4.836,1033,5.572,1120,3.984,1142,6.192,1192,6.796,1215,2.634,1221,7.645,1225,6.123,1298,8.093,1336,4.146,1435,9.233,1437,5.167,1475,4,1619,14.063,1677,11.343,1849,6.596,2102,6.265,2311,5.245,2578,5.768,3554,8.747,3629,4.948,3879,8.093,3881,8.383,3882,9.971,3883,9.971,3884,9.971,3885,9.971,3886,12.622,3887,9.971,3888,9.971,3889,9.971,3890,9.971,3891,8.383,3892,9.233,3893,5.768]],["keywords/846",[]],["title/847",[46,470.435]],["content/847",[9,3.114,14,3.956,18,10.355,19,6.908,21,3.709,32,6.546,46,7.413,193,3.539,274,5.614,319,5.677,332,8.84,363,2.445,374,9.853,380,10.046,429,6.596,438,11.013,453,10.465,488,11.738,524,4.351,540,6.248,613,5.171,624,4.631,658,11.919,667,9.853,719,7.49,764,7.394,969,9.853,1142,10.86,1444,14.703,3879,14.194,3894,17.487,3895,17.487,3896,17.487,3897,17.487,3898,17.487,3899,17.487]],["keywords/847",[]],["title/848",[453,791.987]],["content/848",[5,7.515,18,7.356,31,5.782,32,7.768,34,7.244,41,3.664,46,5.813,136,9.038,193,4.2,236,3.46,248,8.968,326,7.599,329,5.118,380,7.137,423,5.633,429,4.686,438,11.513,453,12.645,540,7.416,554,5.493,556,3.672,667,8.883,677,6.528,728,6.205,741,10.286,836,8.765,949,7.99,1008,7.318,1045,8.292,1061,8.292,1470,8.179,1624,8.473,1685,13.829,2578,12.005,3440,10.921,3553,10.582,3879,12.796,3900,15.765,3901,15.765,3902,15.765,3903,15.765,3904,15.765,3905,14.598]],["keywords/848",[]],["title/849",[667,738.774,3906,1311.126]],["content/849",[]],["keywords/849",[]],["title/850",[9,127.87,842,292.574,1225,559.715,1344,472.856]],["content/850",[1,3.435,9,2.785,21,3.128,32,8.986,34,6.777,90,7.795,140,4.779,246,5.304,287,5.946,362,4.195,363,2.062,467,2.489,556,3.435,600,3.685,613,5.871,632,7.19,719,6.317,812,6.731,832,2.383,842,4.734,900,5.939,973,4.815,982,6.011,988,7.985,1008,6.846,1127,9.757,1225,9.057,1281,9.623,1344,10.3,1610,6.489,1662,13.326,2100,8.381,2128,10.395,2311,7.757,3378,10.216,3849,13.656,3850,13.656,3851,13.656,3852,13.656,3853,13.656,3854,13.656,3855,13.656,3856,13.656,3858,13.656,3859,18.383,3860,8.693,3907,15.634,3908,14.748,3909,14.748,3910,14.748,3911,14.748,3912,14.748]],["keywords/850",[]],["title/851",[46,367.265,429,389.7]],["content/851",[9,2.533,31,3.657,32,3.732,46,6.343,50,4.502,68,3.924,122,3.355,193,2.018,204,3.166,236,3.295,257,3.192,329,6.522,355,6.877,363,3.579,390,4.279,417,3.411,467,2.423,475,2.576,524,3.735,540,7.179,545,1.77,556,2.322,571,11.496,600,3.751,624,2.64,632,9.795,661,3.106,719,4.271,739,8.906,742,5.399,815,5.995,832,1.802,837,5.572,838,3.526,840,5.812,842,3.201,889,6.612,900,4.015,921,8.607,929,11.841,944,5.561,982,4.021,1078,5.666,1110,3.025,1141,7.042,1171,8.383,1208,4.163,1215,4.77,1333,5.768,1370,14.687,1437,5.167,1489,6.907,1557,5.32,1587,7.645,1588,8.383,1590,8.093,1610,8.84,1635,15.821,1639,8.383,1641,9.667,1644,2.949,1646,9.233,1647,9.233,1648,9.233,1649,9.233,1651,13.9,1652,9.233,1653,9.233,1654,12.622,1655,9.233,1656,9.233,1657,9.233,1658,8.383,1659,8.747,1964,8.383,3907,11.822,3913,9.233,3914,9.971,3915,9.971,3916,9.971,3917,9.971,3918,9.233,3919,9.971,3920,9.971,3921,9.971,3922,9.971,3923,9.971,3924,9.971]],["keywords/851",[]],["title/852",[7,509.824,193,217.607,380,486.79]],["content/852",[96,11.449,193,4.405,380,9.854,467,1.974,832,2.612,840,7.007,3907,17.142,3925,20.156,3926,21.767,3927,21.767]],["keywords/852",[]],["title/853",[193,217.607,310,353.064,380,486.79]],["content/853",[96,11.001,193,5.012,310,6.867,329,6.789,380,9.468,467,1.896,755,15.657,832,2.51,840,6.733,3907,16.47,3925,19.366,3928,16.976,3929,20.914,3930,20.914,3931,20.914]],["keywords/853",[]],["title/854",[310,353.064,380,486.79,929,633.798]],["content/854",[9,2.915,96,10.929,193,5.325,467,1.884,739,10.25,832,2.494,837,11.611,889,5.553,929,14.542,981,12.904,3907,16.363,3932,20.778,3933,20.778,3934,20.778]],["keywords/854",[]],["title/855",[41,211.817,208,460.703,3842,457.831,3935,911.381]],["content/855",[9,3.371,18,9.274,32,7.44,34,9.133,41,5.584,140,4.233,193,4.022,208,10.047,236,5.272,263,10.312,274,6.38,329,6.452,843,14.559,1390,12.075,1845,18.404,3460,11.106,3839,10.176,3840,16.711,3842,9.984,3936,19.875,3937,19.875]],["keywords/855",[]],["title/856",[7,268.426,176,392.194,363,79.144,475,146.24,982,255.642,1208,236.378,1437,194.86]],["content/856",[7,6.54,9,3.042,26,5.555,32,7.101,34,6.339,77,11.406,122,3.083,157,6.215,194,5.389,195,9.001,230,6.014,329,8.213,349,14.147,363,1.928,364,6.93,377,7.646,467,2.429,490,7.469,632,6.726,657,12.733,739,12.076,812,4.677,832,1.655,838,3.24,840,7.517,982,3.695,984,12.156,1141,10.171,1208,7.92,1364,13.621,1437,4.748,1511,10.105,2328,8.667,2389,11.197,3514,18.954,3907,10.863,3938,13.795,3939,16.232,3940,20.077,3941,12.773,3942,13.795,3943,13.795,3944,13.795,3945,18.97,3946,13.795,3947,13.795,3948,13.795,3949,13.795,3950,13.795,3951,13.795]],["keywords/856",[]],["title/857",[981,814.264,2578,758.447]],["content/857",[9,2.934,19,8.262,188,10.138,262,11.24,969,11.784,981,12.988,982,5.602,1849,13.836,2578,12.098,3578,15.32,3928,16.976,3952,20.914,3953,20.914,3954,20.914,3955,20.914,3956,20.914]],["keywords/857",[]],["title/858",[50,268.107,1464,518.326,2477,995.701]],["content/858",[9,2.934,15,7.828,23,7.883,32,7.828,46,5.858,50,5.215,187,7.994,349,13.646,357,7.828,467,1.896,824,4.636,1142,12.988,1464,11.939,3957,20.914,3958,20.914]],["keywords/858",[]],["title/859",[77,646.526,1464,518.326,3959,1075.304]],["content/859",[9,2.878,18,9.571,77,12.333,90,7.125,467,2.22,804,5.395,832,2.938,847,3.348,1464,9.887,1607,12.597,1629,12.887,3960,20.512,3961,20.512,3962,20.512,3963,20.512]],["keywords/859",[]],["title/860",[32,296.016,34,363.38,141,219.937,377,438.323,1954,410.308]],["content/860",[1,3.566,8,5.832,9,2.856,32,9.123,34,11.199,141,6.36,157,6.898,176,10.607,251,9.281,345,4.574,354,8.229,364,7.692,377,8.487,383,8.94,467,2.365,521,8.229,524,3.809,570,10.278,667,8.628,716,7.553,739,7.553,832,1.838,840,4.929,860,10.634,949,5.895,988,8.291,1011,11.107,1051,12.058,1134,10.607,1141,7.183,1470,10.562,1581,7.673,1582,11.216,1654,12.874,1690,12.058,1849,10.13,1941,9.025,1954,10.562,3964,13.432,3965,15.312,3966,15.312,3967,15.312,3968,17.858,3969,15.312,3970,20.358,3971,15.312,3972,15.312,3973,15.312,3974,11.741]],["keywords/860",[]],["title/861",[7,432.104,215,252.261,836,290.158,944,252.261]],["content/861",[5,7.03,7,6.992,9,3.368,21,3.128,23,5.559,32,7.431,41,4.614,46,4.131,48,5.848,79,7.21,85,6.55,91,6.743,140,3.141,172,10.589,209,8.693,215,6.935,222,10.516,223,8.31,235,9.362,236,3.237,257,4.721,274,4.734,329,4.788,355,5.617,394,12.4,417,5.045,424,12.061,453,9.362,486,4.801,597,9.122,625,8.817,627,9.757,741,9.623,836,8.537,842,4.734,849,10.592,941,7.503,949,7.643,1011,8.047,1103,7.275,1279,8.455,1470,7.652,1610,8.735,1624,7.926,2220,11.971,2606,12.937,3440,10.216,3905,13.656,3975,14.748,3976,14.748,3977,14.748,3978,14.748,3979,14.748,3980,13.656]],["keywords/861",[]],["title/862",[32,490.771,3777,1005.321]],["content/862",[]],["keywords/862",[]],["title/863",[3777,1287.729]],["content/863",[]],["keywords/863",[]],["title/864",[32,341.142,34,418.775,408,380.515,862,532.099]],["content/864",[1,2.322,5,10.272,6,3.839,8,3.798,9,1.399,21,2.115,31,5.506,32,8.066,34,4.582,46,5.628,86,5.716,105,7.028,136,5.716,140,2.124,162,4.677,174,3.017,205,5.759,216,7.645,236,2.188,248,4.308,251,9.536,264,4.948,269,5.8,294,6.907,319,3.237,329,3.237,354,9.703,374,5.618,408,10.524,429,2.964,450,5.572,453,8.514,467,2.508,482,5.359,490,5.399,502,6.907,526,6.636,540,3.563,545,1.77,548,3.939,556,2.322,562,5.139,613,2.949,634,5.483,677,6.216,719,4.271,728,3.924,729,5.995,832,1.802,836,5.748,837,5.572,838,2.342,860,5.208,862,10.541,885,2.934,887,4.492,944,4.997,985,6.058,1110,3.025,1120,3.984,1192,6.796,1205,5.483,1207,6.341,1333,5.768,1385,3.496,1470,9.367,1502,12.622,1639,8.383,1662,10.076,1682,13.516,1683,3.785,2100,8.531,2128,10.581,2288,12.185,2340,7.852,2581,6.693,2610,4.146,2611,7.464,2618,8.093,3620,6.123,3777,7.645,3802,11.822,3836,8.093,3881,8.383,3964,17.623,3968,13.168,3981,9.971,3982,9.971,3983,9.971,3984,18.054,3985,15.012,3986,7.159,3987,15.012,3988,13.168,3989,7.028,3990,9.971,3991,15.012,3992,9.971,3993,8.747]],["keywords/864",[]],["title/865",[6,413.995,408,448.955,1683,408.142]],["content/865",[1,5.772,6,7.481,9,2.726,13,9.257,22,8.504,32,8.87,59,5.045,90,4.963,91,8.884,122,3.193,136,8.191,140,3.043,204,6.169,357,5.348,359,11.38,362,3.019,408,10.921,429,5.775,450,7.984,525,7.535,624,3.783,625,6.345,731,8.504,789,7.917,976,5.404,1074,8.68,1091,10.465,1197,10.07,1199,9.897,1272,8.434,1683,9.928,1838,6.041,2047,9.085,2411,10.696,2777,6.848,3501,14.233,3994,14.287,3995,12.533,3996,17.045,3997,14.899,3998,11.251,3999,12.533,4000,14.287,4001,14.287,4002,14.287,4003,14.287,4004,7.222,4005,13.229]],["keywords/865",[]],["title/866",[6,240.772,7,296.504,408,433.017,764,264.42,1683,393.653]],["content/866",[1,6.045,6,10.291,9,2.537,193,3.659,215,5.004,408,10.836,417,6.185,511,11.797,523,10.139,634,9.941,764,9.582,842,5.804,926,9.789,1683,10.505,1838,9.582,2328,11.359,2965,15.859,4006,18.079,4007,18.079]],["keywords/866",[]],["title/867",[408,448.955,524,267.523,1683,408.142]],["content/867",[1,2.112,6,3.491,9,1.959,13,5.455,31,5.122,32,5.227,46,7.611,50,2.261,57,5.916,59,1.846,85,4.027,122,2.027,144,2.802,197,4.803,230,6.088,235,4.276,236,5.396,251,3.68,269,3.504,273,2.615,322,3.359,362,1.916,363,2.381,408,10.053,429,2.695,453,6.585,464,3.542,467,2.57,486,2.952,487,4.105,513,4.643,524,2.256,556,2.112,699,6.51,719,5.981,729,5.452,731,5.397,749,6.642,789,3.694,812,5.774,815,5.452,830,5.198,836,4.446,856,7.803,862,9.943,889,4.551,900,3.651,930,3.755,933,5.631,949,5.376,971,6.604,985,8.484,1059,6.086,1091,6.642,1192,6.18,1207,5.766,1266,4.209,1344,4.704,1444,7.624,1584,5.998,1624,7.505,1682,10.454,1683,3.442,1703,6.391,1704,6.391,1705,6.952,1838,3.834,1899,6.952,2486,7.954,3051,6.952,3468,7.36,3619,6.391,3802,10.997,3839,4.643,3986,6.51,4008,7.624,4009,9.067,4010,9.067,4011,8.396,4012,9.067,4013,9.067,4014,9.067,4015,9.067,4016,9.067,4017,9.067,4018,9.067,4019,9.067,4020,17.03,4021,17.03,4022,9.067,4023,9.067,4024,13.964,4025,9.067,4026,9.067,4027,9.067,4028,13.964,4029,9.067,4030,9.067,4031,9.067,4032,9.067,4033,9.067,4034,9.067,4035,9.067,4036,9.067,4037,9.067,4038,9.067,4039,11.335,4040,9.067,4041,9.067,4042,9.067,4043,9.067,4044,9.067,4045,9.067,4046,9.067,4047,9.067]],["keywords/867",[]],["title/868",[32,628.636]],["content/868",[]],["keywords/868",[]],["title/869",[1,212.259,32,341.142,262,489.812,359,469.712]],["content/869",[1,5.817,6,5.626,13,5.709,15,5.47,18,6.819,23,8.419,27,5.73,28,11.987,31,5.36,32,9.634,34,9.066,35,11.508,41,3.396,46,4.093,61,7.044,136,8.378,146,7.945,149,6.343,174,4.422,189,9.411,193,2.957,274,4.691,287,4.377,292,6.928,357,5.47,358,4.954,362,3.088,363,2.043,382,10.316,475,3.775,501,8.975,524,4.909,609,7.686,658,9.96,719,6.259,732,8.1,784,8.878,803,11.508,812,4.954,836,4.652,860,7.634,868,8.613,876,6.026,921,6.966,1211,11.862,1434,8.166,1581,5.508,1610,6.43,2224,10.94,2376,10.123,2391,7.252,2578,8.453,2611,10.94,3526,9.458,3823,12.287,4048,14.613,4049,14.613,4050,14.613,4051,14.613,4052,14.613,4053,14.613,4054,14.613,4055,14.613,4056,14.613]],["keywords/869",[]],["title/870",[1,184.182,9,110.956,32,296.016,133,434.85,4057,790.825]],["content/870",[1,5.807,6,4.264,9,2.277,13,4.326,14,2.506,22,6.592,23,7.973,25,6.294,31,4.062,32,9.333,34,8.827,35,15.128,41,4.465,48,4.392,90,3.847,128,8.492,133,8.924,140,3.456,144,3.423,148,6.042,149,4.807,167,7.226,174,3.351,187,6.204,193,2.241,251,7.796,260,8.964,262,5.952,267,15.871,274,3.555,294,7.672,301,5.785,310,3.636,329,6.867,358,3.755,363,2.269,398,4.31,404,3.7,421,5.866,429,5.71,502,11.243,520,5.168,524,4.038,624,2.933,629,14.381,632,10.313,671,7.326,677,4.586,719,8.228,739,8.006,742,5.997,746,5.063,764,4.683,840,7.249,944,3.065,947,4.965,976,4.189,982,2.967,984,5.195,1011,6.042,1142,6.878,1208,4.624,1437,3.812,1612,12.534,1677,9.922,2161,6.09,2223,8.112,2284,8.989,2376,7.672,2417,9.715,2610,4.605,3097,4.829,3371,8.112,3385,13.174,3431,7.043,3525,8.492,3678,8.492,3778,9.311,3804,9.311,4058,11.075,4059,11.075,4060,11.075,4061,16.229,4062,16.229,4063,7.806,4064,11.075,4065,10.255,4066,10.255,4067,11.075]],["keywords/870",[]],["title/871",[9,150.869,140,229.009,404,359.236]],["content/871",[]],["keywords/871",[]],["title/872",[58,389.23,68,423.21,526,475.327]],["content/872",[9,1.895,13,5.275,27,5.295,32,6.997,41,3.138,46,3.783,58,9.097,59,3.805,68,9.562,90,4.691,122,3.018,140,2.876,144,4.173,193,2.733,215,5.934,274,4.335,287,4.045,310,4.434,323,5.375,329,6.069,345,4.034,362,2.853,363,3.602,380,6.113,382,9.902,443,7.564,475,3.488,486,4.396,524,3.36,525,5.237,526,9.477,569,9.204,677,7.741,719,5.784,812,4.578,836,4.299,848,5.524,876,5.569,929,7.959,947,6.054,976,5.108,982,3.617,1007,7.674,1120,5.396,1198,6.622,1205,6.315,1473,9.114,1610,5.942,1680,6.826,2070,5.396,2578,7.811,3399,11.354,3431,8.587,3460,7.546,3779,6.784,4068,13.504,4069,13.504,4070,13.504,4071,13.504,4072,13.504,4073,13.504,4074,10.634,4075,13.504,4076,18.693,4077,13.504,4078,10.634,4079,13.504,4080,13.504]],["keywords/872",[]],["title/873",[41,304.723,769,908.26]],["content/873",[6,6.191,9,2.95,13,6.282,27,6.306,32,8.769,41,4.887,59,3.273,68,6.329,140,3.425,193,3.254,221,6.686,243,8.643,262,11.3,279,10.356,287,4.817,323,9.89,362,3.398,363,2.939,380,7.28,486,5.235,507,15.097,525,6.236,533,7.176,566,8.58,617,9.669,674,11.14,719,6.888,769,14.565,812,5.452,820,4.817,933,9.987,976,6.082,1120,6.426,1133,9.479,1294,7.28,1423,14.82,1610,7.076,1677,7.543,1768,12.039,3779,8.078,4081,20.89,4082,12.331,4083,8.344,4084,16.081,4085,21.026,4086,16.081]],["keywords/873",[]],["title/874",[194,420.077,380,486.79,382,496.61]],["content/874",[32,7.088,41,4.401,50,6.302,140,4.033,193,3.832,274,7.487,310,6.217,360,11.897,363,3.534,380,10.559,382,8.745,429,5.628,475,4.891,520,8.835,613,5.599,742,10.253,982,5.072,1437,8.028,1677,8.882,2417,16.61,2578,14.622,4087,18.935,4088,18.935]],["keywords/874",[]],["title/875",[32,402.5,117,547.029,524,267.523]],["content/875",[]],["keywords/875",[]],["title/876",[117,666.996,524,326.193]],["content/876",[32,9.29,34,10.451,41,4.226,117,13.894,197,9.631,248,7.857,326,8.764,358,6.164,380,8.231,382,8.397,429,6.76,524,6.47,540,6.497,597,11.405,677,7.529,719,10.631,1147,15.502,1480,6.853,1627,13.611,2415,13.611,2578,10.518,3836,14.759]],["keywords/876",[]],["title/877",[1906,1127.28]],["content/877",[19,8.334,32,8.791,91,7.389,117,13.473,204,5.132,208,8.17,230,9.198,236,4.63,248,6.984,355,6.156,363,2.259,377,8.958,409,9.185,453,7.622,524,4.021,545,2.869,556,3.764,623,7.705,719,9.036,742,11.422,789,6.586,790,13.589,824,3.583,836,5.146,862,9.436,931,5.104,1103,7.973,1110,4.904,1147,16.007,1154,9.526,1215,5.574,1370,11.016,1581,6.092,1611,10.692,1635,12.728,1686,7.705,2293,11.605,3538,13.119,3866,14.966,4089,16.163,4090,16.163,4091,16.163,4092,16.163,4093,19.534,4094,16.163]],["keywords/877",[]],["title/878",[140,279.233,3732,1150.133]],["content/878",[9,2.399,13,4.648,32,8.188,46,3.333,59,2.422,117,11.787,140,2.534,197,6.302,205,4.564,355,4.532,363,2.39,467,2.598,505,4.967,524,5.764,540,6.109,556,2.771,571,6.348,597,5.467,613,5.056,719,5.096,742,6.442,832,2.052,836,5.443,840,3.83,860,10.453,949,8.422,982,5.36,989,8.109,1110,3.61,1113,9.658,1116,9.123,1147,11.652,1208,4.967,1215,3.143,1370,8.109,1437,5.884,1450,13.109,1548,11.017,1587,9.123,1635,13.463,1662,7.986,1664,11.017,1725,10.437,2100,6.761,2128,8.386,2293,8.543,2311,10.525,3732,10.437,4093,11.017,4095,11.898,4096,11.898,4097,11.898,4098,17.096,4099,11.898,4100,11.898,4101,11.898,4102,11.898,4103,11.898,4104,11.898,4105,17.096,4106,11.898,4107,11.898,4108,11.898,4109,11.898,4110,11.898,4111,11.898,4112,11.898,4113,11.017,4114,11.898,4115,11.898,4116,11.898,4117,11.898,4118,11.898,4119,11.898,4120,11.898]],["keywords/878",[]],["title/879",[30,220.945,246,327.755,310,299.242,820,272.971]],["content/879",[8,6.81,9,2.508,30,5.456,38,8.386,76,11.665,141,6.85,208,9.037,236,3.923,246,8.093,251,7.256,310,5.87,355,6.81,358,6.061,362,3.777,505,7.464,554,7.841,592,9.153,625,7.94,629,13.383,648,11.369,711,9.909,792,16.554,820,6.74,876,7.373,988,9.68,1099,11.103,1212,11.232,2311,11.837,2411,13.383,4121,14.511,4122,17.877,4123,11.827,4124,17.877,4125,17.877,4126,16.554]],["keywords/879",[]],["title/880",[756,689.643,2649,1102.381]],["content/880",[]],["keywords/880",[]],["title/881",[4127,1679.439]],["content/881",[41,5.094,46,6.139,475,5.661,847,2.997,982,5.871,1205,5.981,4128,21.916,4129,21.916,4130,21.916]],["keywords/881",[]],["title/882",[1610,738.951]],["content/882",[15,8.148,194,8.504,262,11.699,359,11.218,380,9.854,545,3.864,699,8.321,4131,21.767,4132,21.767,4133,21.767]],["keywords/882",[]],["title/883",[766,771.693]],["content/883",[1989,16.984]],["keywords/883",[]],["title/884",[23,405.295,262,577.911,310,353.064]],["content/884",[23,9.557,45,17.142,262,13.627,310,7.147,438,10.802,449,12.065,3578,15.945,3583,20.156]],["keywords/884",[]],["title/885",[385,1022.72,1294,486.79]],["content/885",[]],["keywords/885",[]],["title/886",[385,1081.511]],["content/886",[23,6.701,50,4.433,51,9.103,174,5.38,229,8.876,354,12.052,385,15.82,486,5.788,488,15.052,492,22.747,562,9.163,611,11.761,656,13.772,670,13.309,1024,13.483,1078,10.103,1294,8.048,1573,8.668,2311,9.351,3340,15.595,4134,22.425,4135,22.362,4136,17.778,4137,18.855,4138,20.765,4139,14.948,4140,17.778,4141,17.778]],["keywords/886",[]],["title/887",[385,844.328,486,426.839]],["content/887",[5,8.291,21,3.689,96,9.148,144,5.375,323,6.923,369,12.258,385,16.48,423,6.214,486,8.331,545,3.925,556,4.051,764,7.354,840,5.599,957,10.061,1024,13.297,1294,7.873,1333,10.061,1433,12.461,1512,9.8,1991,12.74,2498,10.927,3340,15.256,3448,9.718,4135,20.445,4137,14.623,4142,16.104,4143,14.623,4144,12.487,4145,15.256,4146,17.392,4147,17.392,4148,16.104,4149,17.392,4150,17.392,4151,14.623,4152,17.392]],["keywords/887",[]],["title/888",[385,844.328,1294,593.547]],["content/888",[8,4.762,16,5.66,18,5.834,23,4.712,51,9.068,90,6.152,140,3.772,144,3.864,149,7.687,162,11.077,248,5.402,251,5.074,258,4.07,283,5.803,292,5.927,332,6.32,355,4.762,369,8.811,379,7.044,383,7.299,385,16.59,390,2.663,417,4.277,467,2.141,500,5.054,520,5.834,540,6.328,545,3.971,562,6.443,565,10.397,569,8.521,612,7.105,624,3.311,629,9.359,678,6.131,737,6.821,840,4.025,957,7.232,1024,13.451,1294,11.102,1333,10.245,1433,9.979,1470,6.486,1480,6.675,1843,10.511,2145,8.49,2740,8.737,3425,11.576,4135,14.891,4137,10.511,4139,14.891,4145,10.967,4153,12.502,4154,12.502,4155,11.576,4156,22.372,4157,12.502,4158,12.502,4159,12.502,4160,12.502,4161,12.502,4162,12.502,4163,12.502,4164,12.502,4165,12.502,4166,12.502,4167,12.502,4168,12.502,4169,12.502,4170,12.502,4171,12.502,4172,12.502,4173,12.502,4174,12.502,4175,12.502,4176,12.502]],["keywords/888",[]],["title/889",[4177,1555.113]],["content/889",[9,3.223,48,5.266,58,4.807,85,5.898,106,7.085,149,5.764,157,5.983,162,8.667,187,5.076,205,5.094,208,6.713,251,5.39,275,10.689,286,4.685,292,6.296,316,6.133,340,5.544,369,9.36,385,14.794,467,2.267,545,3.772,603,5.169,611,8.785,624,4.893,629,9.941,653,8.665,656,8.156,726,7.613,732,7.36,762,6.59,803,10.458,824,2.944,842,6.822,947,5.954,1011,11.594,1057,9.051,1142,8.247,1253,5.131,1294,8.365,1373,6.63,1433,10.411,1575,15.536,2145,6.366,2224,13.833,2365,7.949,2399,10.458,4078,10.458,4135,11.165,4137,11.165,4138,12.297,4139,20.304,4142,12.297,4148,12.297,4177,21.273,4178,13.28,4179,13.28,4180,13.28,4181,13.28,4182,13.28,4183,13.28,4184,13.28,4185,13.28,4186,13.28,4187,13.28,4188,13.28,4189,13.28,4190,13.28,4191,13.28,4192,13.28,4193,11.649,4194,13.28,4195,11.649]],["keywords/889",[]],["title/890",[455,833.416]],["content/890",[2,2.239,5,1.972,9,2.071,15,3.65,19,2.876,21,3.593,23,1.559,25,2.35,29,3.096,31,3.576,48,1.64,50,2.431,51,6.013,76,4.75,83,1.828,90,3.387,91,1.891,94,2.915,105,2.915,108,2.773,121,3.628,140,2.501,149,5.097,157,4.393,162,5.509,174,1.252,175,2.223,181,3.096,187,5.117,190,5.043,191,5.333,193,0.837,197,6.221,216,3.171,229,2.065,236,3.239,237,3.029,246,2.618,248,1.787,251,1.678,263,3.777,264,2.052,272,2.513,279,4.688,283,7.395,285,3.039,286,2.568,292,1.961,296,9.248,297,3.296,301,2.16,323,2.898,328,4.31,336,2.915,343,1.299,352,4.035,355,6.785,357,3.65,358,1.402,383,7.815,390,3.144,398,1.61,413,2.131,417,2.49,419,8.198,441,3.171,443,2.568,454,2.462,455,10.79,467,2.09,469,2.513,478,3.379,486,1.346,490,2.239,500,2.943,505,4.071,520,4.55,545,2.828,554,7.576,556,5.229,613,5.494,618,6.279,623,3.47,629,3.096,634,2.274,642,2.462,668,2.819,677,1.713,684,3.257,692,1.386,699,6.089,703,3.096,709,3.257,713,1.795,719,3.118,727,4.173,728,1.628,729,2.487,732,5.404,737,2.256,739,3.591,764,1.749,766,3.345,771,6.755,781,13.668,789,3.973,800,1.891,807,0.685,828,2.99,832,1.606,840,2.344,842,1.328,843,3.029,878,8.968,886,3.105,887,1.863,892,1.616,893,3.096,894,9.543,900,1.665,926,2.239,948,9.005,957,4.211,959,3.357,973,5.201,981,8.313,985,2.513,992,4.377,1011,2.256,1068,2.052,1101,8.198,1110,1.255,1116,5.582,1120,1.653,1134,2.865,1141,1.94,1146,11.914,1261,1.881,1265,4.75,1294,3.296,1332,2.915,1333,9.215,1351,5.582,1352,5.988,1364,2.969,1385,1.45,1433,13.14,1437,1.423,1480,2.744,1896,5.097,1986,2.028,2137,2.819,2138,9.874,2145,11.178,2163,6.12,2170,10.865,2199,2.065,2277,6.386,2279,2.311,2388,3.029,2415,5.45,2498,10.009,2534,2.915,2560,6.386,2564,3.83,2674,2.819,2702,5.45,2710,3.029,2749,2.415,3108,5.909,3210,3.628,3448,5.449,3510,2.969,3536,3.477,3629,2.052,3796,1.961,3806,3.477,4145,10.302,4193,3.628,4195,3.628,4196,3.83,4197,3.83,4198,3.83,4199,3.096,4200,6.741,4201,7.28,4202,4.136,4203,4.136,4204,4.136,4205,17.158,4206,4.136,4207,4.136,4208,3.357,4209,7.28,4210,3.628,4211,4.136,4212,4.136,4213,4.136,4214,4.136,4215,4.136,4216,4.136,4217,2.736,4218,4.136,4219,4.136,4220,20.673,4221,4.136,4222,4.136,4223,4.136,4224,4.136,4225,4.136,4226,3.83,4227,7.28,4228,2.776,4229,4.136,4230,4.136,4231,4.136,4232,4.136,4233,4.136,4234,4.136,4235,4.136,4236,4.136,4237,4.136,4238,4.136,4239,4.136,4240,4.136,4241,4.136,4242,4.136,4243,3.83,4244,4.136,4245,3.477,4246,4.136,4247,4.136,4248,3.171,4249,7.28,4250,4.136,4251,4.136,4252,3.83,4253,4.136,4254,4.136,4255,4.136,4256,3.83,4257,3.477,4258,4.136,4259,4.136,4260,4.136,4261,4.136,4262,4.136,4263,4.136,4264,3.477]],["keywords/890",[]],["title/891",[369,757.892,4144,772.068,4265,995.701]],["content/891",[]],["keywords/891",[]],["title/892",[85,582.284,140,279.233]],["content/892",[5,4.347,7,4.323,8,3.473,9,1.968,13,3.562,16,7.737,90,7.913,91,4.169,96,7.377,106,4.865,133,5.014,140,1.942,175,9.185,178,6.827,194,5.479,196,7.402,209,5.375,260,4.255,264,6.96,274,2.927,283,6.511,286,3.217,318,11.045,329,4.553,345,2.724,369,9.885,385,13.338,423,3.258,443,3.217,467,2.452,505,7.136,545,3.676,562,8.808,565,4.61,569,11.649,642,5.428,644,5.428,678,4.472,709,7.181,728,3.589,732,5.054,737,4.975,808,6.545,840,2.935,951,10.55,973,2.977,1024,5.483,1135,5.95,1163,4.975,1298,7.402,1332,6.427,1385,4.917,1501,7.402,1572,5.729,1573,4.446,1687,3.923,1843,7.667,2145,12.01,2200,17.752,2336,6.992,2339,6.547,2581,9.414,3103,13.017,3108,21.821,3448,11.574,3556,4.498,3649,8.444,3842,4.581,3928,7.402,4144,12.271,4200,20.251,4217,6.033,4265,8.444,4266,7.402,4267,20.712,4268,19.187,4269,19.187,4270,14.025,4271,17.091,4272,9.119,4273,8.444,4274,9.119,4275,9.119,4276,5.95,4277,17.091,4278,9.119,4279,14.025,4280,9.119,4281,9.119,4282,6.827,4283,7.999,4284,9.119,4285,9.119,4286,7.402]],["keywords/892",[]],["title/893",[1,212.259,362,192.565,566,486.243,3646,547.967]],["content/893",[]],["keywords/893",[]],["title/894",[524,267.523,976,406.712,3646,646.526]],["content/894",[9,2.453,41,5.666,59,3.559,90,7.709,122,3.908,141,4.863,197,9.263,230,7.624,236,4.87,269,6.757,316,10.249,362,3.695,363,3.408,429,6.596,523,6.831,524,4.351,545,3.939,556,5.169,597,8.035,732,9.692,1048,8.8,1078,9.938,1212,10.987,1470,9.073,2340,13.771,3439,13.408,3617,16.192,4287,25.642,4288,17.487,4289,17.487,4290,17.487,4291,17.487]],["keywords/894",[]],["title/895",[9,150.869,524,267.523,3646,646.526]],["content/895",[8,6.005,9,2.212,46,5.813,59,3.209,68,8.168,90,8.059,140,4.42,193,3.19,209,9.292,221,6.555,230,6.873,269,8.019,286,5.562,297,7.137,323,6.275,362,4.385,429,6.896,438,7.823,490,8.536,505,8.665,524,5.163,563,10.745,566,8.411,570,10.582,589,19.507,699,6.026,739,7.776,843,11.548,856,8.809,1039,9.79,1045,8.292,1046,12.796,1048,8.23,1103,7.776,1212,13.039,3439,12.088,3646,9.478,4292,24.655,4293,15.765,4294,14.598,4295,15.765,4296,15.765,4297,13.829,4298,15.765,4299,15.765,4300,14.598,4301,14.598,4302,12.415]],["keywords/895",[]],["title/896",[140,357.673]],["content/896",[9,2.05,30,5.798,41,4.586,90,6.853,122,3.266,362,3.088,429,4.343,433,15.128,699,7.542,729,8.786,766,6.715,1048,8.858,3439,11.205,3646,11.863,4303,14.613,4304,26.757,4305,26.757,4306,26.757,4307,14.613,4308,14.613,4309,14.613,4310,22.337,4311,19.73,4312,19.73,4313,19.73,4314,19.73,4315,19.73,4316,23.918,4317,19.73,4318,19.73,4319,14.613,4320,14.613,4321,13.531,4322,14.613,4323,14.613,4324,12.287,4325,14.613,4326,11.508,4327,14.613]],["keywords/896",[]],["title/897",[1039,814.264,1056,908.26]],["content/897",[41,4.707,46,6.806,230,10.594,239,12.724,257,6.483,297,10.999,352,11.225,417,6.928,429,6.02,438,10.05,949,7.797,1045,10.653,1048,8.031,1056,14.03,1061,10.653,1216,14.922,1916,11.611]],["keywords/897",[]],["title/898",[545,232.718,1727,893.637]],["content/898",[6,3.184,9,2.253,13,3.231,21,4.198,23,4.9,51,10.133,52,5.079,58,2.994,90,2.873,96,4.35,140,2.769,149,5.643,155,4.622,187,3.162,196,6.713,200,5.472,207,7.658,208,4.181,209,4.875,220,3.987,229,9.089,236,2.853,248,5.617,260,3.859,264,4.104,269,3.196,274,4.173,283,7.456,285,6.706,294,5.729,296,6.513,297,7.271,323,3.292,326,6.266,329,2.685,332,4.181,341,14.089,354,8.632,385,5.326,390,4.68,417,2.829,419,6.954,441,9.968,467,1.993,478,6.035,486,5.229,505,3.453,545,4.408,554,4.53,613,4.75,614,5.326,642,4.923,677,3.425,688,4.155,696,7.255,699,4.969,728,3.255,729,4.973,739,6.413,766,3.8,797,5.551,815,4.973,824,3.561,832,1.56,857,5.326,887,3.726,926,4.478,948,13.959,951,7.148,988,4.478,1011,4.513,1018,2.685,1120,3.305,1141,3.88,1144,5.729,1147,5.637,1163,4.513,1196,4.7,1263,5.259,1265,10.48,1269,4.381,1294,3.744,1351,6.342,1364,5.938,1433,11.838,1613,2.446,1727,5.637,1737,6.513,1986,4.056,2020,3.744,2138,16.639,2145,3.965,2224,6.192,2399,12.648,2498,13.2,2534,5.829,2640,3.639,2764,12.648,2769,6.342,3069,7.658,3448,8.975,3629,4.104,3778,16.639,4139,10.93,4144,5.938,4195,7.255,4196,7.658,4197,7.658,4198,7.658,4217,5.472,4228,8.726,4243,12.038,4252,12.038,4273,7.658,4328,7.658,4329,8.271,4330,18.205,4331,8.271,4332,8.271,4333,13,4334,8.271,4335,8.271,4336,6.513,4337,8.271,4338,8.271,4339,7.255,4340,8.271,4341,8.271,4342,8.271,4343,13,4344,8.271,4345,8.271,4346,13,4347,8.271,4348,8.271,4349,8.271,4350,8.271,4351,13,4352,8.271,4353,8.271,4354,8.271,4355,8.271,4356,8.271,4357,8.271]],["keywords/898",[]],["title/899",[21,278.126,23,494.18]],["content/899",[]],["keywords/899",[]],["title/900",[21,278.126,248,566.55]],["content/900",[1,2.186,5,4.474,8,3.575,21,5.912,23,5.405,24,8.234,25,5.334,73,7.824,108,5.462,140,1.999,146,5.774,193,2.902,204,2.98,236,2.06,248,6.196,257,3.005,274,4.603,286,3.311,297,4.249,306,5.829,340,5.987,357,3.513,390,3.054,398,3.653,414,6.209,419,7.892,423,3.354,467,1.3,478,4.357,486,3.056,489,4.056,533,4.188,534,6.773,545,4.543,548,9.609,565,4.745,568,5.008,612,5.334,613,2.776,620,5.462,625,4.168,629,7.027,637,6.616,640,6.397,660,8.234,661,2.924,692,5.83,700,8.149,706,4.775,709,7.392,713,6.224,779,8.234,804,2.068,807,2.376,823,4.499,824,2.081,838,2.204,840,4.616,842,3.013,857,6.044,866,6.063,885,6.174,887,11.531,1068,4.658,1077,4.775,1110,2.848,1126,7.892,1141,4.403,1187,6.739,1246,6.3,1266,4.357,1269,7.596,1366,7.326,1373,4.686,1470,7.44,1480,3.538,1641,6.044,1895,7.159,1986,4.603,2163,4.291,2674,6.397,3120,7.619,3145,12.579,3502,5.829,3893,5.43,4264,7.892,4358,9.386,4359,14.339,4360,9.386,4361,9.386,4362,9.386,4363,9.386,4364,9.386,4365,9.386,4366,9.386,4367,9.386,4368,9.386,4369,9.386,4370,9.386,4371,9.386,4372,14.339,4373,14.339,4374,9.386,4375,9.386,4376,9.386,4377,9.386,4378,12.056,4379,9.386,4380,9.386,4381,6.3,4382,9.386,4383,9.386,4384,9.386,4385,9.386,4386,8.234,4387,9.386]],["keywords/900",[]],["title/901",[21,278.126,1266,608.635]],["content/901",[9,1.84,21,5.531,48,5.201,50,3.27,90,4.556,140,4.496,174,3.969,175,7.049,176,9.086,193,2.654,202,5.454,246,4.717,255,4.053,256,8.558,257,4.199,283,6.089,287,5.487,297,5.938,322,4.86,354,9.845,383,7.658,398,7.13,443,4.628,463,9.819,467,2.317,540,4.687,545,3.747,548,5.182,554,6.383,556,4.916,600,3.277,785,11.028,807,2.174,882,6.716,887,5.909,983,9.83,1068,6.509,1110,3.98,1266,11.16,1358,8.341,1512,7.391,2163,5.997,2674,8.94,3126,8.558,3153,11.506,3158,16.07,3160,20.045,3300,21.159,3301,16.963,3302,12.145,3303,15.402,3304,16.963,3305,10.647,3306,12.145,3308,12.145,3310,12.145,3311,12.145,3312,12.145,3313,12.145,3314,12.145,3315,9.418,4388,13.116,4389,13.116,4390,13.116,4391,13.116,4392,13.116]],["keywords/901",[]],["title/902",[21,278.126,1265,855.508]],["content/902",[21,5.169,48,5.4,50,3.396,90,4.73,91,6.226,133,7.488,140,4.005,176,9.434,257,4.36,287,4.079,297,6.165,354,7.319,383,7.951,390,2.9,398,5.301,443,4.805,454,8.106,463,10.195,467,2.386,540,4.866,545,4.741,554,6.552,574,11.054,611,9.01,624,4.979,658,9.282,706,6.928,726,7.807,739,6.718,887,6.135,957,7.878,992,8.188,1265,14.052,1512,7.674,2145,6.528,2163,6.226,2365,5.859,3116,22.566,3117,12.61,3118,22.566,3119,19.942,3120,17.481,3121,17.411,3123,19.942,3124,12.61,3125,12.61,3126,8.886,3127,12.61,3128,12.61,3130,12.61,3131,16.494,3133,12.61,3134,12.61,4393,13.619,4394,13.619,4395,13.619,4396,13.619,4397,13.619]],["keywords/902",[]],["title/903",[32,402.5,363,150.319,1475,431.328]],["content/903",[]],["keywords/903",[]],["title/904",[32,341.142,363,127.404,1475,365.575,1677,427.51]],["content/904",[1,2.802,9,1.688,32,7.537,67,6.373,90,4.179,91,7.879,108,4.583,140,2.562,205,4.616,209,7.092,243,6.466,273,3.47,274,3.863,332,8.712,358,8.454,363,3.565,404,5.758,429,3.576,467,2.195,513,6.16,565,6.082,569,8.201,613,5.955,648,7.651,688,10.115,716,5.935,741,7.851,743,4.583,746,5.501,860,10.519,909,7.092,1103,5.935,1216,7.389,1225,13.503,1352,7.389,1475,10.416,1480,8.287,1610,5.294,1677,9.446,1822,15.074,1849,7.96,1940,15.857,2223,12.624,2400,8.076,2415,9.007,3269,12.624,3305,9.766,3886,10.116,3891,10.116,3941,11.141,4074,9.475,4113,11.141,4398,12.032,4399,12.032,4400,12.032,4401,12.032,4402,12.032,4403,23.271,4404,21.988,4405,12.032,4406,12.032,4407,15.118,4408,12.032,4409,12.032,4410,15.958,4411,12.032,4412,12.032,4413,12.032,4414,11.141]],["keywords/904",[]],["title/905",[32,296.016,363,110.551,600,197.608,1475,317.217,1677,370.96]],["content/905",[9,3.144,32,7.715,50,3.129,86,7.195,138,16.232,140,3.782,243,6.745,251,5.094,273,5.122,274,4.029,310,5.831,326,8.561,332,6.344,363,3.827,404,5.933,438,6.228,467,2.032,475,6.661,571,10.997,600,4.438,613,6.994,677,5.197,719,8.828,739,8.761,746,8.12,757,14.278,789,5.114,824,2.782,832,1.506,840,4.04,842,4.029,889,3.354,909,7.398,921,5.983,949,4.832,1008,8.244,1142,7.795,1366,5.284,1437,4.32,1450,9.623,1475,9.486,1610,5.522,1677,8.331,1723,10.188,1724,16.091,1817,6.648,1822,9.396,2248,7.133,3886,10.553,3988,11.01,4407,15.579,4410,11.622,4415,12.551,4416,12.551,4417,12.551,4418,12.551,4419,12.551,4420,12.551,4421,11.622,4422,12.551,4423,12.551]],["keywords/905",[]],["title/906",[363,127.404,855,766.28,1475,365.575,2656,717.712]],["content/906",[9,1.996,50,3.546,85,6.317,94,10.025,140,4.692,273,4.102,277,13.654,283,8.993,287,4.26,332,9.793,358,6.568,363,3.306,404,4.752,438,7.058,467,2.495,478,6.603,610,10.025,688,9.732,794,8.384,824,3.153,832,2.644,921,6.781,933,12.031,949,5.476,1078,11.009,1437,4.896,1475,9.488,1723,19.199,1822,17.707,1848,12.477,3988,19.325,4407,16.993,4421,13.171,4424,14.224,4425,14.224,4426,14.224,4427,14.224,4428,14.224,4429,6.014,4430,19.372,4431,19.372,4432,14.224,4433,14.224,4434,19.372,4435,14.224,4436,14.224,4437,14.224,4438,14.224,4439,14.224]],["keywords/906",[]],["title/907",[243,704.651,656,805.215]],["content/907",[32,6.655,50,4.433,57,11.6,257,7.179,268,13.927,316,8.211,332,8.987,363,3.718,382,8.211,417,6.082,450,9.934,467,1.612,475,4.592,525,6.894,581,5.723,603,6.92,661,5.538,677,7.362,688,8.931,900,9.03,944,4.921,1134,12.316,1154,13.218,1611,14.836,1613,5.257,1677,8.339,1721,22.747,1723,14.431,3891,14.948,4440,17.778,4441,14.948,4442,17.778]],["keywords/907",[]],["title/908",[32,341.142,41,211.817,363,127.404,1475,365.575]],["content/908",[15,8.204,27,8.594,32,8.204,41,5.094,363,3.064,417,7.498,1385,7.684,1475,8.791,1641,14.113]],["keywords/908",[]],["title/909",[471,499.164,4443,995.701,4444,995.701]],["content/909",[]],["keywords/909",[]],["title/910",[362,167.093,472,693.72,3251,664.918,3438,502.9,4445,579.283]],["content/910",[21,3.344,38,7.395,50,5.174,59,4.224,390,3.357,431,17.449,434,7.281,455,10.299,464,9.632,467,1.429,469,9.578,472,13.829,540,5.633,543,21.483,551,14.145,731,12.353,1146,10.491,1300,12.415,1385,5.527,1470,8.179,1581,7.822,1686,7.515,2311,8.292,2907,12.415,3438,10.025,4445,11.548,4446,15.765,4447,15.765,4448,20.753,4449,15.765,4450,15.765,4451,15.765,4452,20.753,4453,15.765,4454,18.832,4455,19.217,4456,15.765,4457,23.201,4458,15.765,4459,15.202,4460,15.765,4461,20.753,4462,18.205]],["keywords/910",[]],["title/911",[476,1095.832]],["content/911",[4,10.486,21,5.039,59,4.836,362,4.123,390,4.155,464,10.006,471,9.058,476,16.713,540,6.972,565,9.863,566,10.41,603,7.594,728,7.679,1329,10.903,2740,9.625,4004,12.009,4463,19.512,4464,19.512,4465,19.512,4466,19.512]],["keywords/911",[]],["title/912",[363,183.285,556,305.359]],["content/912",[41,4.829,48,8.24,363,2.905,467,1.884,471,9.645,486,6.764,489,8.978,565,10.503,796,14.919,804,4.578,1057,14.162,1329,13.786,2412,12.761,2626,18.227,4467,19.24,4468,19.24]],["keywords/912",[]],["title/913",[467,71.701,889,211.35,982,211.838,1205,215.816,4469,557.387]],["content/913",[]],["keywords/913",[]],["title/914",[623,625.025,889,350.402]],["content/914",[1,4.935,14,4.795,164,11.225,248,9.157,390,4.513,475,5.474,504,13.476,615,14.019,700,12.043,889,6.671,944,5.865,982,6.686]],["keywords/914",[]],["title/915",[63,408.142,545,190.861,623,512.607]],["content/915",[23,7.883,59,4.257,63,7.938,545,4.684,613,6.185,838,4.912,944,5.789,1272,9.078,2394,12.448,2409,17.157,2619,14.255,4470,20.914,4471,18.346]],["keywords/915",[]],["title/916",[9,127.87,329,295.866,623,434.463,1205,248.715]],["content/916",[1,3.964,9,3.562,16,7.706,30,4.127,42,13.817,50,4.244,59,3.465,63,9.636,67,13.448,149,7.388,192,13.052,267,11.997,329,5.526,337,13.817,363,3.365,382,7.861,467,1.543,507,12.222,532,13.052,542,11.997,545,3.872,597,7.821,600,4.253,777,10.962,982,4.56,1062,10.571,1205,6.57,1291,11.792,1512,9.591,1632,14.932,3530,14.312,3619,15.375,4472,17.022,4473,17.022,4474,17.022,4475,17.022]],["keywords/916",[]],["title/917",[982,288.041,1205,293.45,4476,744.899]],["content/917",[9,2.61,27,7.295,63,7.062,140,3.962,204,5.907,248,8.039,363,2.601,467,2.444,475,4.806,516,8.381,545,4.095,556,4.333,615,12.308,732,10.312,900,7.492,982,6.18,1205,7.155,1272,8.075,2394,11.074,2409,15.983,2619,12.681,3395,12.308,4471,16.32,4477,18.605,4478,18.605]],["keywords/917",[]],["title/918",[1,212.259,362,192.565,581,293.389,1622,457.831]],["content/918",[]],["keywords/918",[]],["title/919",[623,800.603]],["content/919",[1,2.898,4,4.206,6,3.013,9,3.018,30,4.28,41,2.892,48,3.103,51,4.007,56,7.407,59,1.593,68,3.08,70,9.542,83,3.459,115,5.516,122,4.306,140,2.65,146,7.109,157,3.526,174,2.368,175,4.206,187,2.991,194,3.057,195,5.106,200,5.177,204,2.485,219,5.177,223,4.41,246,2.814,248,3.382,260,3.652,265,6.001,272,4.755,273,3.589,297,3.543,306,4.86,307,8.233,316,5.747,332,7.831,340,10.046,345,2.338,354,4.206,358,5.252,360,9.733,362,2.629,363,3.753,364,3.931,377,4.338,382,10.623,398,3.046,417,2.677,443,4.39,466,5.837,467,0.71,475,6.215,488,5.253,498,5.334,500,3.164,516,5.606,520,3.652,554,4.336,581,8.799,600,3.871,624,2.072,635,10.916,653,5.106,656,4.806,661,2.438,705,9.542,741,5.106,743,2.981,746,3.578,763,6.865,789,5.07,842,3.995,857,5.04,866,6.55,921,7.385,982,3.333,1134,5.421,1208,3.267,1373,3.907,1385,4.363,1437,2.694,1529,5.253,1613,3.68,1677,7.267,1992,5.04,2070,3.127,2145,3.751,2294,2.638,2481,4.487,2581,5.253,2627,6.865,2656,6.163,2729,8.482,2751,6.865,3398,10.916,3502,4.86,3517,10.398,3550,6.58,3556,3.86,3588,6.163,3620,4.806,3655,6.352,3657,5.04,3893,4.527,4151,6.58,4339,6.865,4479,12.444,4480,7.826,4481,7.826,4482,7.826,4483,7.826,4484,7.826,4485,7.826,4486,7.247,4487,10.463,4488,7.826,4489,7.826,4490,7.247,4491,7.826,4492,7.826,4493,7.826,4494,6.163,4495,15.638,4496,7.826,4497,7.826,4498,6.865,4499,12.444,4500,7.826,4501,7.826,4502,11.878,4503,7.826,4504,6.58,4505,7.247]],["keywords/919",[]],["title/920",[362,167.093,581,254.58,1622,397.27,4476,547.831,4506,732.281]],["content/920",[1,5.82,9,2.291,157,7.356,162,7.659,175,11.413,230,7.119,260,7.619,297,7.391,329,5.3,332,10.734,340,11.088,360,10.258,362,4.487,363,3.494,382,10.899,395,19.663,443,5.76,581,8.549,657,10.959,711,9.05,746,7.465,921,11.25,1008,7.579,1196,9.279,1261,7.428,1300,12.858,1622,10.668,1838,6.904,2495,13.253,3820,19.663,3893,9.445,4476,11.311,4507,16.327]],["keywords/920",[]],["title/921",[931,414.012,1838,554.366]],["content/921",[1,4.458,9,1.961,23,8.228,41,3.248,59,2.845,122,4.278,140,2.976,144,4.319,205,5.361,273,6.772,285,5.835,329,4.537,332,7.065,340,10.858,362,2.953,363,3.635,382,8.84,390,2.976,443,4.931,481,7.746,525,5.42,581,8.647,605,7.809,640,14.879,667,7.875,743,9.368,794,8.237,876,5.763,921,6.662,982,3.744,1332,9.85,1344,9.931,1366,5.884,1373,10.899,1477,12.847,1613,4.133,1622,10.966,1677,6.556,1838,5.909,2002,6.422,2581,9.381,2777,6.699,3460,7.809,3974,10.716,4508,12.941,4509,12.941,4510,13.975,4511,13.975,4512,11.344,4513,13.975,4514,13.975,4515,13.975]],["keywords/921",[]],["title/922",[15,296.016,32,296.016,194,308.943,363,110.551,380,358.007]],["content/922",[]],["keywords/922",[]],["title/923",[4516,1555.113]],["content/923",[6,7.605,15,7.394,23,7.445,31,8.779,32,7.394,41,4.591,46,5.533,193,4.844,286,6.969,329,6.412,355,7.524,363,2.761,603,7.688,840,6.359,889,5.279,898,9.315,1007,11.225,1008,9.169,2105,17.327,2578,11.426,2709,13.258,4517,19.753,4518,19.753]],["keywords/923",[]],["title/924",[766,771.693]],["content/924",[6,5.583,15,3.566,18,4.445,21,3.076,32,3.566,50,3.616,86,8.314,90,3.309,105,12.376,108,3.628,142,8.356,143,7.732,146,3.836,157,4.291,174,2.883,193,1.928,194,3.721,197,9.301,205,3.654,243,5.12,258,3.101,266,8.821,274,6.301,283,4.422,287,2.853,296,7.502,297,7.949,329,3.092,332,7.331,345,4.332,354,5.12,355,3.628,363,2.027,380,10.073,388,8.009,390,2.029,443,3.361,467,2.328,475,2.461,490,5.158,565,4.815,611,6.302,623,9.357,624,2.523,632,4.644,634,5.238,653,6.216,658,6.493,711,10.879,728,3.749,746,4.355,766,8.068,796,6.84,820,2.853,824,2.112,840,5.653,842,5.637,889,5.246,909,5.615,944,4.014,983,6.239,1007,5.413,1008,4.422,1011,10.709,1037,9.734,1103,4.699,1280,8.356,1333,8.389,1338,6.599,1437,6.044,1511,6.978,1573,4.644,1610,7.726,1612,6.216,1676,8.821,1677,8.237,2016,6.394,2110,8.356,2376,10.046,2618,7.732,2624,7.502,2630,7.502,2674,6.493,2736,8.356,3252,6.978,3369,16.259,3447,8.821,3556,4.699,3675,6.394,3779,4.785,3886,12.193,4151,8.009,4208,7.732,4429,4.028,4519,8.821,4520,9.526,4521,14.502,4522,9.526,4523,9.526,4524,7.304,4525,9.526,4526,8.009,4527,14.502,4528,9.526,4529,9.526,4530,8.009,4531,9.526,4532,9.526,4533,14.502,4534,8.821,4535,8.356,4536,9.526,4537,9.526,4538,9.526,4539,9.526,4540,9.526,4541,9.526,4542,8.356,4543,9.526,4544,9.526,4545,9.526,4546,9.526,4547,9.526,4548,9.526,4549,9.526,4550,9.526,4551,9.526,4552,9.526,4553,9.526,4554,9.526,4555,9.526,4556,7.304]],["keywords/924",[]],["title/925",[15,341.142,30,220.945,766,418.775,4557,642.356]],["content/925",[]],["keywords/925",[]],["title/926",[4516,1555.113]],["content/926",[6,7.605,14,5.826,15,8.959,30,6.489,246,7.104,554,6.882,615,13.068,766,9.076,1385,8.391,3620,12.131,3892,18.29,4121,16.033,4469,13.922,4476,13.683,4557,18.15,4558,16.608]],["keywords/926",[]],["title/927",[4557,1183.697]],["content/927",[14,4.388,41,4.507,287,5.809,363,3.309,466,9.097,467,2.412,475,6.114,489,8.38,556,4.517,600,4.846,716,9.567,1215,5.124,2020,8.779,2637,10.501,3751,17.012,4557,13.669,4559,23.669,4560,17.958,4561,19.394,4562,19.394,4563,17.012,4564,17.958]],["keywords/927",[]],["title/928",[30,260.685,766,494.096,4558,904.105]],["content/928",[]],["keywords/928",[]],["title/929",[14,178.929,16,358.007,21,167.756,982,211.838,4565,732.281]],["content/929",[9,2.705,122,4.308,162,9.042,193,3.901,263,10.002,267,13.587,273,5.56,286,6.801,363,2.695,380,8.727,475,6.581,500,7.793,944,5.336,982,6.825,984,9.042,1208,9.846,1253,7.449,1348,15.181,1385,6.758,1610,8.482,4469,13.587,4476,13.354,4565,17.85,4566,19.277]],["keywords/929",[]],["title/930",[6,350.884,14,206.205,554,317.551,4567,843.913]],["content/930",[14,5.518,467,2.545,766,9.365,824,4.518,832,2.446,984,9.56,1348,16.05,2100,11.583,3628,13.892,4563,17.879,4567,18.873,4568,20.381,4569,20.381,4570,20.381]],["keywords/930",[]],["title/931",[344,543.566,568,573.699,4557,757.892]],["content/931",[467,1.987,716,13.272,832,2.63,1215,6.726,4571,21.916,4572,21.916]],["keywords/931",[]],["title/932",[1379,1111.048]],["content/932",[]],["keywords/932",[]],["title/933",[4557,1183.697]],["content/933",[9,3.435,12,15.356,14,4.641,136,14.036,307,13.57,310,6.735,404,6.853,443,7.237,554,7.147,743,9.326,3812,13.044,4557,17.256,4573,17.993,4574,20.512,4575,18.993]],["keywords/933",[]],["title/934",[9,110.956,475,204.273,500,319.695,2637,428.205,4469,557.387]],["content/934",[467,2.299,746,9.952,842,8.14,2145,10.434,3108,20.582,4576,21.767,4577,21.767]],["keywords/934",[]],["title/935",[273,262.858,913,513.532,982,244.131,1610,401.006]],["content/935",[9,2.806,15,7.486,18,9.332,195,13.05,273,5.768,363,3.371,487,9.054,656,12.282,711,11.085,712,17.544,741,13.05,889,6.445,913,11.269,982,5.357,1158,11.569,1489,13.854,2161,10.997,2656,15.75,2657,11.788,4578,19.999,4579,19.999]],["keywords/935",[]],["title/936",[475,277.756,800,491.623,4469,757.892]],["content/936",[]],["keywords/936",[]],["title/937",[16,412.582,329,295.866,475,235.414,496,654.372]],["content/937",[1,1.191,5,2.438,6,7.228,7,2.424,9,2.852,13,1.998,15,3.276,16,2.315,18,2.386,26,2.059,27,2.005,28,3.107,30,4.928,31,1.876,34,2.35,38,5.383,40,8.4,41,5.93,48,3.471,50,4.888,56,6.83,58,4.154,68,7.007,76,3.336,83,5.072,85,7.397,86,5.018,87,3.828,90,1.776,91,2.338,105,3.604,108,6.344,136,8.758,139,2.374,140,1.089,144,1.58,146,2.059,152,4.027,157,6.122,162,4.106,194,1.998,204,2.779,208,4.424,220,2.465,221,2.126,246,3.148,251,2.075,262,6.167,272,5.318,281,3.921,297,6.151,301,2.671,310,2.874,316,2.362,322,3.243,323,3.484,324,7.949,326,4.219,329,6.983,332,2.585,345,1.528,359,2.635,362,3.519,363,3.544,373,6.893,386,4.299,393,3.014,398,3.407,404,1.708,413,4.511,429,1.52,440,2.135,452,7.821,466,5.383,471,6.308,475,3.51,478,2.374,481,11.615,489,2.21,513,9.613,519,3.542,520,4.084,521,6.167,525,6.904,534,3.407,540,1.827,565,2.585,571,2.728,587,6.344,600,4.162,603,3.407,624,1.354,625,5.096,628,4.486,634,2.812,636,6.552,641,2.985,652,9.314,656,5.375,667,6.466,674,6.063,676,3.746,677,2.117,700,2.906,711,2.834,714,4.027,728,3.445,746,4.002,756,2.69,789,3.566,794,3.014,800,6.212,812,5.179,820,1.532,876,2.109,898,2.411,982,1.37,1007,2.906,1008,4.063,1011,2.79,1078,2.906,1120,2.043,1201,3.383,1215,6.295,1333,5.063,1385,1.793,1742,8.59,1817,2.709,1838,2.162,2002,2.35,2179,3.542,2252,4.151,2253,7.821,2255,2.438,2279,6.412,2388,3.746,2412,3.14,2627,4.486,2637,2.769,2682,3.604,2709,3.432,3036,6.711,3268,4.735,3305,4.151,3440,3.542,3458,4.299,3459,7.359,3460,2.857,3543,1.729,3556,2.522,3560,4.735,3564,4.486,3621,4.486,3628,3.485,3629,2.538,3652,6.711,3655,4.151,3791,4.486,3793,4.299,3794,6.341,3893,5.063,4283,4.486,4378,4.299,4414,4.735,4502,14.395,4519,8.105,4535,4.486,4580,8.105,4581,4.735,4582,11.03,4583,5.113,4584,5.113,4585,10.872,4586,5.113,4587,5.113,4588,5.113,4589,5.113,4590,5.113,4591,4.735,4592,4.486,4593,8.105,4594,5.113,4595,5.113,4596,5.113,4597,8.753,4598,8.753,4599,8.753,4600,5.113,4601,4.486,4602,5.113,4603,5.113,4604,5.113,4605,4.486,4606,5.113,4607,8.753,4608,5.113,4609,5.113,4610,5.113,4611,5.113,4612,4.735,4613,5.113,4614,5.113,4615,5.113,4616,5.113,4617,5.113,4618,5.113,4619,5.113,4620,5.113]],["keywords/937",[]],["title/938",[475,338.669,4621,1150.133]],["content/938",[9,1.961,16,6.327,27,5.48,30,4.64,31,5.126,41,4.448,50,5.443,90,4.854,96,7.351,136,8.012,140,4.076,157,6.296,158,12.941,159,12.259,223,7.875,273,5.52,281,10.716,329,4.537,362,2.953,363,3.635,413,9.865,466,6.556,467,1.979,475,6.561,486,4.55,489,6.039,516,10.577,520,6.521,545,2.481,554,4.869,642,8.318,669,10.462,741,9.119,800,6.389,812,4.738,838,3.282,898,6.59,1061,7.351,1154,8.237,1208,7.991,1294,6.327,1625,10.462,1644,7.511,1929,10.237,1935,14.676,2253,9.525,2279,10.695,2777,6.699,3036,10.716,3460,10.695,4622,13.975,4623,11.75,4624,13.975,4625,17.723,4626,17.723,4627,12.259,4628,12.259,4629,13.975]],["keywords/938",[]],["title/939",[18,783.665]],["content/939",[8,4.323,9,2.318,16,5.138,21,2.408,30,2.751,33,8.938,38,5.324,50,5.336,59,2.31,63,4.308,68,4.467,90,3.942,136,6.507,140,4.149,193,2.297,259,9.188,260,5.296,323,4.518,329,3.684,336,15.083,343,3.564,362,2.398,363,2.991,390,2.417,413,8.515,467,1.766,471,5.268,475,6.485,507,8.149,545,4.037,600,4.129,623,5.41,624,3.005,625,9.504,640,7.736,677,4.7,692,3.803,728,4.467,800,12.487,812,3.848,866,4.799,876,6.814,952,9.212,960,4.68,1007,9.39,1157,6.012,1163,6.192,1210,5.737,1225,6.97,1227,4.883,1373,5.666,1625,12.369,1644,7.792,2253,11.261,2279,6.342,2534,13.732,2674,7.736,3374,10.509,3657,7.309,3867,9.956,4605,9.956,4623,9.542,4627,9.956,4628,9.956,4630,11.349,4631,19.483,4632,11.349,4633,3.859,4634,11.349,4635,19.121,4636,13.412,4637,14.494,4638,9.956,4639,9.542,4640,11.349]],["keywords/939",[]],["title/940",[63,497.65,800,599.439]],["content/940",[9,1.707,21,2.581,31,4.463,48,4.826,50,5.511,56,7.243,59,3.537,63,8.389,90,7.039,140,4.707,204,3.864,205,4.668,259,9.556,299,8.051,319,3.951,323,6.916,363,3.398,393,10.241,466,5.708,467,2.53,468,6.191,471,5.649,482,6.54,483,8.737,507,8.737,600,5.84,613,5.138,625,5.404,742,6.589,800,11.438,898,5.739,949,4.685,1068,6.039,1386,7.039,1487,12.731,1625,13.007,1644,5.138,1742,9.11,2253,11.842,2279,6.8,3036,9.331,4623,10.232,4625,11.268,4626,11.268,4627,10.675,4635,14.608,4636,9.878,4637,10.675,4638,10.675,4639,10.232,4641,16.088,4642,18.764,4643,12.169,4644,11.268,4645,12.169,4646,12.169,4647,12.169,4648,12.169,4649,15.241,4650,11.268,4651,12.169,4652,11.268,4653,11.268,4654,12.169,4655,11.268,4656,11.268,4657,11.268,4658,12.169]],["keywords/940",[]],["title/941",[363,183.285,800,599.439]],["content/941",[9,2.566,90,6.352,140,3.894,245,15.375,363,3.479,417,6.256,467,2.565,556,4.259,600,5.703,624,4.842,800,11.377,982,6.114,1144,12.667,1205,6.229,1487,11.489,3986,13.129,4636,14.843,4641,16.932,4656,16.932,4659,16.041,4660,16.932,4661,14.021,4662,16.932]],["keywords/941",[]],["title/942",[800,599.439,1225,805.215]],["content/942",[1,4.412,9,2.237,27,4.24,41,6.195,50,2.696,96,5.687,140,2.303,204,3.433,243,5.811,251,4.388,258,3.52,259,7.52,260,5.045,326,7.687,329,3.51,362,4.93,363,2.923,390,2.303,417,3.699,440,4.514,443,3.815,466,5.072,467,1.896,477,5.272,513,5.536,516,4.871,520,5.045,525,8.109,570,7.258,600,6.318,605,6.042,624,4.223,648,6.876,653,7.055,682,10.012,728,4.256,766,7.327,800,12.547,812,7.56,929,9.399,969,11.782,1227,4.652,1261,7.255,1352,6.641,1373,7.962,1385,5.591,1487,6.794,1613,5.602,1644,4.716,1931,12.227,2695,9.485,4508,10.012,4512,12.944,4582,12.944,4659,13.988,4663,7.764,4664,10.813,4665,10.813,4666,10.813,4667,10.813,4668,10.813,4669,18.945,4670,10.813,4671,10.813,4672,10.813,4673,10.813,4674,10.813,4675,11.635,4676,10.813,4677,18.945,4678,15.946,4679,10.813,4680,10.813,4681,10.813,4682,10.813,4683,9.485,4684,10.813]],["keywords/942",[]],["title/943",[742,709.93,800,599.439]],["content/943",[5,9.735,6,3.404,30,4.064,50,5.386,56,5.263,63,6.362,90,4.757,91,7.664,106,4.717,122,1.976,140,1.883,204,2.807,257,2.831,259,8.902,285,3.692,318,6.963,322,6.21,323,8.598,345,2.641,362,3.988,363,2.343,364,6.88,428,6.348,443,3.119,466,8.854,467,2.319,468,4.498,471,7.781,475,5.275,482,4.752,507,6.348,513,4.527,520,7.822,556,2.059,568,4.717,600,4.717,625,6.082,642,5.263,789,3.603,800,12.771,812,6.4,838,2.077,876,3.646,898,9.63,967,5.43,988,4.788,1157,4.684,1198,4.336,1205,2.413,1208,10.907,1225,5.43,1227,5.892,1366,8.598,1625,6.619,1644,7.352,2091,5.491,2253,13.919,2534,6.232,2875,7.434,3036,10.501,3458,11.515,3986,6.348,4623,11.515,4635,15.871,4636,11.117,4637,7.756,4638,7.756,4639,7.434,4642,15.521,4644,12.681,4649,12.014,4650,8.187,4652,8.187,4653,8.187,4659,14.704,4660,8.187,4661,6.78,4662,8.187,4685,8.842,4686,8.187,4687,8.842,4688,8.842,4689,8.842,4690,8.842,4691,8.842,4692,8.842]],["keywords/943",[]],["title/944",[336,924.103,800,599.439]],["content/944",[6,3.887,9,2.126,14,4.574,21,3.215,30,2.448,33,7.951,41,5.035,48,4.004,51,5.17,76,6.588,85,4.484,90,3.507,140,3.227,146,6.102,204,3.206,255,2.234,297,4.571,310,3.315,322,3.741,332,5.104,336,12.821,345,3.016,363,2.543,417,3.454,443,3.562,466,7.108,467,2.358,471,7.035,475,5.877,482,5.426,513,5.17,516,10.63,534,3.93,545,1.792,556,3.529,600,2.523,613,2.986,625,4.484,637,10.681,642,6.01,657,6.777,742,5.467,766,6.963,789,4.114,800,9.905,838,4.748,876,8.338,900,4.066,947,6.794,1008,4.687,1068,9.027,1198,4.951,1208,7.595,1215,2.668,1366,7.659,1385,5.313,1610,4.442,1613,2.986,1625,11.345,1644,4.481,1742,7.559,1777,5.204,1817,5.348,2253,13.78,2255,10.328,2534,7.116,2777,4.84,3276,7.396,3387,6.01,3440,15.008,3666,8.857,4217,6.68,4502,11.619,4605,8.857,4628,13.293,4635,8.489,4636,12.301,4649,8.857,4686,14.032,4693,18.191,4694,15.154,4695,10.097,4696,10.097,4697,8.196,4698,10.097,4699,10.097,4700,10.097,4701,7.742,4702,10.097,4703,10.097,4704,10.097,4705,10.097,4706,10.097,4707,10.097,4708,10.097,4709,9.349,4710,10.097,4711,10.097,4712,10.097,4713,10.097]],["keywords/944",[]],["title/945",[363,150.319,1215,284.104,4714,995.701]],["content/945",[9,1.969,27,5.504,30,4.654,50,4.787,56,8.355,76,9.159,140,4.089,144,4.338,146,5.652,157,6.324,205,5.385,208,7.095,251,5.697,263,7.283,264,6.966,265,16.776,279,9.039,285,5.86,363,3.706,404,4.689,467,1.273,475,6.725,478,6.516,483,13.784,490,7.6,519,9.724,525,5.443,600,4.797,624,3.717,661,4.373,739,6.924,742,7.6,800,11.903,1141,6.584,1157,10.169,1198,6.883,1208,8.015,1215,7.004,1644,6.956,2534,9.893,2738,9.422,3036,10.763,3458,11.802,3460,7.843,3588,11.054,3860,8.273,4715,14.037,4716,11.802,4717,12.313,4718,11.054,4719,14.037,4720,14.037,4721,14.037]],["keywords/945",[]],["title/946",[800,599.439,1954,680.258]],["content/946",[1,4.787,6,7.913,9,2.18,23,9.239,38,7.287,51,7.954,63,5.896,132,11.912,157,9.259,248,6.713,259,7.326,264,11.43,301,8.115,345,4.641,362,3.282,363,2.873,374,8.753,383,12,417,5.315,475,5.309,504,9.879,513,7.954,520,7.249,523,8.029,568,8.288,625,6.899,669,11.63,742,13.805,756,8.171,766,7.138,800,12.216,860,8.115,1007,8.829,1581,7.747,1622,10.325,1954,11.951,2640,6.835,3077,18.03,4718,12.234,4722,15.535,4723,15.535,4724,15.535]],["keywords/946",[]],["title/947",[108,347.146,475,235.414,743,347.146,800,416.678]],["content/947",[9,3.122,14,2.796,15,4.625,25,11.614,26,8.229,27,4.845,31,7.496,38,10.439,41,2.872,67,6.546,86,7.084,97,5.437,108,4.707,122,3.926,139,8.154,140,2.632,148,6.742,172,8.872,221,8.497,259,5.827,273,5.066,277,8.709,329,4.012,362,2.611,363,3.653,374,6.963,382,5.707,413,10.533,418,6.025,475,6.31,500,4.995,523,4.827,603,4.81,605,6.905,651,6.905,742,6.691,743,10.212,756,9.239,776,11.442,789,5.035,800,12.378,812,4.19,967,7.589,1208,7.334,2170,10.03,2279,11.42,2293,12.612,2409,8.56,2415,9.251,3036,9.475,3103,13.994,3541,16.265,3625,9.251,3675,8.294,3791,10.84,4469,8.709,4661,13.468,4725,12.357]],["keywords/947",[]],["title/948",[18,425.271,32,341.142,41,211.817,46,255.291]],["content/948",[]],["keywords/948",[]],["title/949",[18,611.802,46,367.265]],["content/949",[14,4.671,18,12.246,31,7.572,46,7.609,117,10.502,146,8.313,204,8.332,540,7.377,835,14.071,836,6.573,1143,16.757]],["keywords/949",[]],["title/950",[41,249.915,46,301.208,540,384.223]],["content/950",[1,3.067,6,8.813,9,2.578,14,2.98,18,6.146,32,9.771,33,10.372,41,4.917,46,5.926,50,3.284,51,6.743,57,8.594,76,8.594,117,12.686,146,5.303,187,5.034,263,6.833,268,8.179,316,6.082,319,4.276,355,5.017,358,6.229,363,1.841,404,4.4,417,4.506,450,7.359,467,2.075,489,5.691,520,6.146,524,5.263,540,4.706,568,9.802,597,9.721,605,7.359,613,5.433,614,8.481,618,8.481,623,6.278,625,5.849,719,5.641,730,11.162,746,6.021,789,5.366,824,4.073,832,1.581,836,7.939,930,5.454,1036,6.244,1127,8.713,1147,8.977,1163,7.186,1632,16.116,1906,12.331,2161,7.242,3448,7.359,3913,12.195,4494,10.372,4726,13.17,4727,13.17,4728,18.372,4729,13.17,4730,13.17,4731,13.17,4732,13.17,4733,13.17,4734,13.17]],["keywords/950",[]],["title/951",[641,532.099,1100,579.564,1727,621.179,1941,537.18]],["content/951",[5,5.651,9,2.392,14,4.518,15,6.382,18,5.531,29,8.874,32,9.292,38,7.998,41,2.755,46,7.448,58,4.291,63,4.499,68,4.665,73,6.467,85,5.264,90,5.923,146,6.866,174,3.587,198,8.683,204,3.764,215,5.527,230,5.168,248,5.122,252,8.211,253,11.445,274,5.474,283,5.503,284,9.622,307,7.842,326,5.714,329,3.848,343,3.723,363,2.384,364,5.955,382,5.474,464,4.631,524,5.756,540,6.092,554,4.13,562,6.109,568,6.324,597,5.447,612,6.736,613,5.905,625,7.572,634,6.518,652,9.622,677,4.908,716,5.847,732,9.45,756,6.235,766,5.447,838,2.784,876,7.032,889,4.557,897,11.348,928,6.235,933,7.362,1036,5.62,1100,10.843,1101,9.966,1141,5.56,1145,9.622,1192,8.079,1237,6.15,1263,7.538,1294,5.366,1480,4.468,1573,5.779,1724,8.511,1941,10.05,2710,8.683,3387,7.055,3502,7.362,3816,5.955,4476,8.211,4494,9.335,4524,16.744,4735,11.854,4736,11.854,4737,11.854,4738,11.854,4739,17.051,4740,11.854,4741,11.854,4742,11.854]],["keywords/951",[]],["title/952",[30,220.945,32,341.142,262,489.812,359,469.712]],["content/952",[]],["keywords/952",[]],["title/953",[9,183.956,404,438.019]],["content/953",[]],["keywords/953",[]],["title/954",[769,908.26,4743,1032.511]],["content/954",[9,3.035,13,9.106,18,6.409,30,4.585,32,8.098,41,3.192,46,3.847,58,4.972,59,5.143,67,10.019,94,9.681,122,3.07,149,5.962,162,6.443,193,3.828,194,5.366,204,6.005,262,7.382,267,9.681,274,4.409,279,12.18,286,4.846,323,8.611,345,6.463,358,4.657,362,4.571,363,1.92,398,5.346,507,9.862,525,5.327,601,12.719,663,12.049,677,7.832,716,6.776,756,7.225,769,13.103,808,6.409,824,3.045,840,4.422,928,7.225,929,8.096,933,11.747,949,5.288,976,5.195,1033,7.675,1133,8.096,1201,9.087,1237,7.126,1276,9.862,1423,9.681,1610,6.044,1612,8.962,1677,6.443,1768,10.283,2223,10.061,2681,12.719,2904,11.149,3448,7.675,3588,10.817,4081,15.903,4744,21.633,4745,20.032,4746,13.735,4747,11.549,4748,12.719]],["keywords/954",[]],["title/955",[769,908.26,3387,780.396]],["content/955",[1,3.809,9,2.294,13,7.55,18,5.222,19,4.421,22,6.661,23,4.218,30,4.685,32,7.234,34,5.142,46,5.955,50,2.79,58,5.92,59,4.327,68,9.842,74,6.253,83,4.947,91,5.116,94,7.887,122,3.655,139,7.592,146,6.585,148,6.106,189,7.207,193,2.265,194,6.389,204,3.553,205,7.414,208,5.657,223,6.306,230,7.13,264,8.115,272,6.799,277,7.887,329,6.274,345,3.343,355,7.361,363,2.286,369,7.887,382,11.265,390,2.383,398,4.356,443,3.948,450,6.253,464,6.389,488,7.511,502,7.752,506,6.534,524,2.784,526,4.947,540,3.999,566,5.971,603,6.365,605,6.253,656,6.873,671,7.403,693,6.534,694,14.818,716,5.52,730,6.799,769,7.752,836,3.563,876,6.744,926,6.059,947,7.332,982,2.998,1091,8.197,1120,8.494,1142,6.95,1201,7.403,1294,5.066,1385,3.923,1433,6.306,1581,4.218,1906,7.511,2376,7.752,2481,6.416,2710,8.197,3387,11.503,3665,9.409,3675,7.511,3678,8.581,3701,7.752,3816,8.215,3893,6.473,4276,10.671,4747,9.409,4749,11.191,4750,11.191,4751,11.191,4752,10.362,4753,9.817,4754,10.362,4755,5.553,4756,9.084]],["keywords/955",[]],["title/956",[68,516.023,4755,650.642]],["content/956",[1,4.211,9,2.537,25,10.274,32,6.767,34,8.307,41,4.202,48,7.169,58,6.544,59,3.68,74,10.103,94,18.293,204,5.74,328,7.992,329,5.869,358,6.13,382,8.35,450,10.103,506,10.555,565,11.456,668,12.323,766,8.307,799,16.741,886,7.71,929,10.656,988,9.789,1324,18.396,1385,6.339,1573,8.815,2545,11.497,2682,12.743,3513,13.243,4755,8.972,4757,15.201,4758,18.079,4759,9.197]],["keywords/956",[]],["title/957",[52,805.215,769,908.26]],["content/957",[162,10.351,329,7.164,417,7.549,756,11.607,2198,12.651,4760,22.067,4761,22.067,4762,22.067]],["keywords/957",[]],["title/958",[68,358.694,3616,698.812,4763,843.913,4764,843.913]],["content/958",[25,10.392,30,6.033,31,6.707,32,6.845,58,8.262,68,8.983,136,10.483,143,14.843,146,7.363,286,6.451,307,12.097,328,8.083,355,6.965,363,3.191,369,12.888,398,7.117,524,4.549,641,10.676,926,9.901,949,7.04,988,9.901,1142,11.356,2198,10.483,3027,11.11,3616,14.021,4763,16.932,4764,16.932,4765,18.286,4766,18.286,4767,22.825,4768,18.286,4769,18.286]],["keywords/958",[]],["title/959",[4378,1412.056]],["content/959",[1,3.923,9,3.04,15,6.304,18,10.11,23,6.348,31,6.178,32,9.465,35,13.264,46,4.718,146,8.725,187,6.438,193,4.385,274,5.407,283,7.819,287,5.045,357,6.304,362,4.578,382,7.779,404,7.238,475,4.351,487,7.625,524,4.19,769,11.668,784,10.233,812,7.346,836,5.362,921,8.029,947,7.551,949,6.485,1120,6.73,1201,11.143,1480,6.348,1573,8.212,1581,6.348,1768,12.609,2283,15.556,3588,13.264,3609,13.264,3675,11.305,3823,18.217,4718,13.264]],["keywords/959",[]],["title/960",[18,783.665]],["content/960",[]],["keywords/960",[]],["title/961",[32,402.5,554,374.667,613,317.989]],["content/961",[1,4.405,9,1.927,14,4.279,18,6.409,27,5.386,32,10.138,59,4.744,67,7.276,90,4.771,146,7.616,174,4.157,187,5.25,204,4.361,283,6.376,287,5.665,306,8.53,309,12.696,326,11.235,328,6.072,362,2.902,398,5.346,443,7.632,467,2.48,554,4.786,597,10.71,613,5.593,624,3.637,634,10.4,651,7.675,694,10.532,710,9.681,812,4.657,878,8.345,894,7.739,984,8.872,988,7.437,1344,11.224,1360,11.149,2100,7.806,2128,13.331,2311,7.225,2481,7.874,2999,11.549,3625,10.283,3665,11.549,4770,13.735,4771,13.735,4772,12.719,4773,12.719,4774,12.719,4775,12.719,4776,12.719,4777,13.735,4778,12.719,4779,13.735]],["keywords/961",[]],["title/962",[355,409.585,363,150.319,1437,370.1]],["content/962",[6,6.519,18,7.901,32,6.338,35,17.12,61,8.162,146,8.754,358,7.371,363,3.901,374,9.541,429,5.033,467,2.504,475,4.374,516,9.794,613,5.007,618,10.904,876,6.983,921,8.072,947,7.591,1146,8.559,1208,7.069,1512,9.541,1581,6.382,1677,7.942,2578,9.795,3526,8.116,4780,16.932,4781,16.932,4782,16.932,4783,16.932,4784,16.932,4785,16.932,4786,16.932,4787,16.932]],["keywords/962",[]],["title/963",[193,265.33,2578,758.447]],["content/963",[14,4.763,32,7.88,193,4.26,355,8.019,363,3.476,380,9.53,467,2.254,475,6.422,756,11.073,3828,19.493,4788,21.051,4789,21.051]],["keywords/963",[]],["title/964",[46,470.435]],["content/964",[13,5.188,14,4.808,18,6.197,31,6.777,32,9.791,41,3.086,46,7.535,58,6.688,59,2.703,68,5.226,86,7.613,117,6.756,144,4.104,187,7.063,188,6.437,204,4.216,236,2.914,286,4.685,323,5.286,363,3.376,364,6.671,467,2.267,475,3.43,524,5.287,526,5.87,540,6.602,554,4.627,613,3.927,623,6.331,625,5.898,706,6.756,714,10.458,729,7.984,756,6.985,808,6.197,835,12.594,836,4.228,838,3.119,860,6.937,897,7.547,985,8.068,1385,4.656,1613,3.927,1644,3.927,1838,5.615,2161,7.302,2376,9.199,2633,19.677,3526,6.366,3646,7.984,4081,11.165,4524,10.182,4790,13.28,4791,18.478,4792,13.28,4793,13.28,4794,21.25,4795,18.478,4796,13.28,4797,13.28,4798,13.28,4799,13.28,4800,13.28,4801,13.28]],["keywords/964",[]],["title/965",[230,732.236]],["content/965",[1,3.902,9,3.03,31,6.145,32,10.01,38,7.859,41,5.019,46,4.693,91,7.66,194,6.545,222,11.438,230,9.415,268,10.405,274,5.379,360,13.567,369,11.809,374,9.441,408,6.995,421,8.875,506,9.782,613,7.066,651,9.362,756,8.813,783,15.514,840,6.951,949,6.451,1103,8.265,1194,14.087,1266,7.778,1573,8.169,1677,10.129,2091,10.405,2400,11.246,2547,10.179,3796,7.944,3816,8.417,3819,14.697,4612,15.514,4802,16.755,4803,16.755,4804,15.514]],["keywords/965",[]],["title/966",[32,402.5,230,468.833,4804,995.701]],["content/966",[32,7.431,38,10.527,108,5.617,148,8.047,200,9.757,204,4.682,219,9.757,230,6.43,272,8.96,274,4.734,285,6.157,306,9.159,345,4.406,354,7.926,374,8.31,443,5.203,467,2.607,545,3.524,568,7.868,702,8.109,731,8.778,732,8.174,836,7.145,1048,5.848,1134,10.216,1237,7.652,1344,7.652,1512,8.31,1518,16.115,2100,11.282,2128,13.992,2283,10.589,2311,7.757,3513,10.803,3665,12.4,3816,7.409,3819,12.937,4429,6.236,4772,13.656,4773,13.656,4774,13.656,4775,13.656,4776,13.656,4805,14.748,4806,13.656,4807,14.748,4808,11.614,4809,14.748,4810,14.748,4811,14.748,4812,14.748,4813,14.748,4814,14.748]],["keywords/966",[]],["title/967",[475,338.669,2637,709.93]],["content/967",[]],["keywords/967",[]],["title/968",[]],["content/968",[1,5.813,41,5.801,362,4.477,363,2.962,969,11.94,1385,7.43,2637,11.474,3860,12.49,4815,21.191,4816,19.656,4817,21.191]],["keywords/968",[]],["title/969",[]],["content/969",[1,5.452,41,5.441,67,10.09,140,4.057,283,8.842,362,4.025,363,2.663,440,7.953,442,11.337,475,4.92,554,6.637,692,7.843,1333,11.018,1386,13.542,1470,9.882,3556,9.396,4469,13.425,4476,13.195,4573,16.709,4816,15,4818,19.047,4819,19.047,4820,19.047,4821,19.047,4822,19.047,4823,19.047,4824,19.047]],["keywords/969",[]],["title/970",[359,554.195,398,418.534,605,600.869]],["content/970",[146,8.053,259,9.431,273,5.768,287,5.99,316,9.236,329,6.492,354,10.748,358,6.781,362,4.226,363,2.796,603,7.784,620,7.618,812,6.781,982,5.357,1103,9.865,1677,9.381,2170,16.234,2637,13.057,4476,13.854,4697,16.234,4825,19.999,4826,19.999]],["keywords/970",[]],["title/971",[856,732.644,1039,814.264]],["content/971",[]],["keywords/971",[]],["title/972",[9,183.956,404,438.019]],["content/972",[1,4.6,9,2.771,15,8.959,19,7.803,78,10.948,79,7.173,174,5.978,193,3.997,260,9.217,265,15.146,329,7.77,671,13.068,743,7.524,838,4.639,1008,9.169,1048,7.833,1107,16.58,4827,19.753,4828,19.753,4829,19.428,4830,17.327]],["keywords/972",[]],["title/973",[735,941.389,4476,908.26]],["content/973",[1,4.164,9,3.157,21,4.774,48,8.924,90,6.21,157,8.054,174,5.41,222,9.47,272,10.861,443,6.307,475,6.362,524,4.448,556,4.164,608,14.078,624,5.959,641,10.438,656,10.979,702,9.83,730,10.861,1039,16.89,1048,7.089,1064,15.682,1103,8.819,1196,10.16,1489,12.384,1954,9.275,1986,11.036,2304,15.682,4831,17.877,4832,13.708]],["keywords/973",[]],["title/974",[766,771.693]],["content/974",[]],["keywords/974",[]],["title/975",[702,591.276,1048,426.406,1281,701.635]],["content/975",[1,4.259,9,3.491,18,8.533,157,8.238,193,3.7,297,8.278,475,4.723,620,6.965,702,14.329,728,7.197,729,10.994,730,11.11,741,11.932,749,13.394,944,5.061,976,8.633,1033,10.218,1039,14.175,1048,9.868,1281,11.932,1871,14.4,1940,14.4,1992,11.776,2985,14.021,3526,8.765,4542,20.022,4833,18.286,4834,16.041]],["keywords/975",[]],["title/976",[59,266.883,702,720.948]],["content/976",[9,3.371,31,7.29,59,4.046,193,4.022,197,10.528,275,11.497,423,7.102,587,7.571,620,7.571,702,14.749,730,12.075,763,17.435,866,8.404,900,8.003,976,7.517,2002,9.133,2965,17.435,4542,17.435,4835,19.875,4836,10.243]],["keywords/976",[]],["title/977",[464,512.203,702,720.948]],["content/977",[7,7.944,9,2.351,85,7.441,133,9.213,157,7.548,202,6.966,223,9.441,299,11.084,322,6.208,354,9.005,388,14.087,412,15.514,464,10.447,574,17.528,624,6.327,655,15.514,658,11.42,702,9.213,711,9.286,728,6.594,731,9.973,766,10.979,820,5.018,838,5.071,876,6.91,898,7.901,949,6.451,1157,8.875,1223,12.543,1281,10.932,1338,11.607,1385,5.874,2985,12.847,4829,13.6,4837,16.755,4838,21.593,4839,15.514,4840,16.755,4841,16.755,4842,15.514,4843,16.755,4844,15.514]],["keywords/977",[]],["title/978",[3800,943.268,4469,757.892,4558,904.105]],["content/978",[8,7.618,18,9.332,141,5.562,149,8.681,152,15.75,272,12.151,289,18.519,399,18.519,400,16.234,486,6.511,737,10.912,1431,9.695,2060,15.75,3800,23.579,4121,16.234,4469,16.996,4558,20.275,4845,19.999]],["keywords/978",[]],["title/979",[475,235.414,556,212.259,613,269.513,1475,365.575]],["content/979",[]],["keywords/979",[]],["title/980",[623,800.603]],["content/980",[6,4.417,9,3.018,13,4.481,25,6.519,26,4.619,58,8.267,90,3.985,140,2.443,144,3.545,157,5.168,178,12.466,219,7.589,284,9.311,346,5.763,363,2.328,417,3.924,452,11.349,454,6.828,475,7.111,486,3.735,534,4.465,540,4.099,554,6.83,556,6.327,598,7.485,605,6.41,613,6.36,627,11.016,652,13.516,677,4.75,702,6.308,716,8.214,743,8.192,762,5.693,800,9.833,857,7.387,876,4.731,889,3.066,944,4.609,1120,4.584,1153,12.466,1163,6.259,1215,6.034,1216,10.226,1336,4.77,1338,7.947,1385,5.838,1393,7.589,1512,6.464,1641,7.387,1644,3.392,2039,9.034,2091,7.124,2308,8.796,2388,8.403,2400,11.177,2656,9.034,3387,6.828,3501,8.403,3629,5.693,3633,10.622,4846,13.516,4847,10.622,4848,11.471,4849,11.471,4850,11.471,4851,11.471,4852,11.471,4853,11.471,4854,16.651,4855,11.471,4856,11.471,4857,10.622,4858,11.471,4859,11.471,4860,8.588,4861,10.622,4862,11.471,4863,11.471]],["keywords/980",[]],["title/981",[4476,1163.403]],["content/981",[1,3.403,9,3.134,16,6.615,19,5.773,23,8.419,31,5.36,59,2.975,63,5.547,140,3.112,149,6.343,193,2.957,251,5.931,268,9.075,354,7.854,394,12.287,443,5.156,467,2.025,475,6.178,504,9.293,505,6.101,554,6.875,556,5.994,612,8.305,613,7.913,624,3.87,659,10.704,671,9.668,677,6.051,710,10.3,721,9.96,746,6.681,786,12.287,807,2.422,824,3.24,832,1.754,835,13.448,847,1.998,876,6.026,944,4.045,988,7.913,1470,7.582,1610,6.43,1644,4.321,1925,17.303,2039,11.508,2049,15.538,2103,11.508,2321,10.3,4063,10.3,4861,13.531,4864,14.613,4865,7.252,4866,13.531,4867,14.613]],["keywords/981",[]],["title/982",[193,160.038,257,253.169,824,175.319,1989,579.283,4868,790.825]],["content/982",[]],["keywords/982",[]],["title/983",[]],["content/983",[13,7.622,21,4.139,96,10.263,193,5.183,195,12.731,257,7.605,355,7.432,486,6.352,554,6.798,632,9.513,746,8.921,864,14.607,878,11.854,982,5.227,998,17.116,1385,6.841,1470,10.123,3813,17.116,4264,16.405,4869,17.116,4870,19.512,4871,19.512,4872,18.067,4873,19.512]],["keywords/983",[]],["title/984",[109,1363.216]],["content/984",[14,4.763,109,17.088,193,5.032,257,7.96,467,1.909,486,6.853,597,9.673,3502,13.074,4264,17.7,4872,19.493,4874,21.051,4875,21.051,4876,21.051]],["keywords/984",[]],["title/985",[273,378.152,993,715.359]],["content/985",[]],["keywords/985",[]],["title/986",[273,378.152,993,715.359]],["content/986",[]],["keywords/986",[]],["title/987",[52,559.715,344,460.703,4621,799.473,4877,766.28]],["content/987",[1,3.255,5,6.662,6,5.381,9,1.961,19,5.521,48,5.542,52,13.407,53,19.058,58,5.059,91,6.389,108,5.323,122,5.248,148,7.625,248,9.433,273,4.031,279,9,316,6.454,323,9.346,328,8.461,344,12.839,379,7.875,386,11.75,398,5.44,404,4.669,418,6.814,469,8.491,475,4.944,500,5.65,600,3.492,700,7.942,713,6.066,728,5.5,764,5.909,847,2.985,856,7.809,993,7.625,1048,5.542,1103,6.894,1142,8.679,1215,3.692,1447,11.75,1450,14.676,1994,11.006,2016,9.381,2248,7.942,3305,11.344,3540,12.941,4754,12.941,4877,21.355,4878,13.975,4879,12.259,4880,13.975,4881,14.442,4882,19.149,4883,12.941,4884,12.941,4885,13.975,4886,13.975,4887,12.259,4888,13.975]],["keywords/987",[]],["title/988",[273,378.152,993,715.359]],["content/988",[6,5.758,9,2.812,41,3.476,76,9.758,91,9.162,155,8.356,174,4.526,197,7.922,204,4.748,251,8.133,269,5.778,273,6.963,322,5.541,329,6.505,363,3.159,380,6.77,382,6.906,390,5.142,398,5.821,443,7.07,467,1.356,475,5.176,490,8.097,540,7.16,624,3.96,728,5.886,739,7.377,746,6.837,856,11.198,857,9.63,885,4.4,921,9.553,993,14.138,1331,11.777,2091,9.287,2146,7.015,2248,8.499,2409,10.36,2614,13.847,3385,12.139,3629,7.421,3675,10.038,4469,10.54,4476,10.36,4889,14.955,4890,14.955,4891,14.955,4892,12.574,4893,14.955,4894,14.955,4895,12.574,4896,14.955,4897,14.955,4898,14.955,4899,14.955]],["keywords/988",[]],["title/989",[9,127.87,390,194.098,993,497.255,3460,509.271]],["content/989",[9,2.427,14,4.987,31,6.345,48,6.859,50,5.495,193,3.501,248,7.475,273,6.996,286,6.103,343,5.433,355,6.589,380,7.831,390,5.439,443,7.776,467,1.568,475,4.468,487,7.831,597,7.948,627,11.444,742,9.366,784,10.509,856,9.666,885,5.09,993,13.935,994,12.95,1437,5.954,1450,18.598,2020,7.831,2146,10.338,2248,9.83,3521,15.174,4900,16.017,4901,17.298,4902,16.017]],["keywords/989",[]],["title/990",[390,194.098,540,325.65,993,497.255,3460,509.271]],["content/990",[1,2.856,9,1.72,14,2.774,19,4.844,27,6.85,31,4.498,48,4.863,50,5.845,61,5.911,79,4.453,85,5.446,90,6.068,91,5.606,146,4.938,157,5.524,162,5.752,202,5.099,273,6.397,319,3.981,322,4.543,363,3.505,380,5.551,382,9.398,390,5.19,424,7.45,447,11.557,467,1.845,475,5.256,540,4.382,545,2.176,554,4.273,597,5.634,648,7.798,651,6.852,700,6.969,711,6.797,713,5.322,728,4.826,743,4.671,889,5.438,900,7.035,921,10.572,982,3.285,985,7.45,993,13.985,1204,8.495,1208,5.12,1322,9.953,1332,8.643,1355,9.402,1356,10.31,1379,8.112,1584,8.112,1677,5.752,1822,16.603,1838,5.185,2146,5.752,2161,6.743,2248,12.604,2293,8.804,2302,9.657,2409,8.495,2777,5.878,3027,7.45,3675,8.231,3804,10.31,4900,16.176,4902,18.843,4903,12.262,4904,12.262,4905,12.262,4906,12.262,4907,12.262,4908,12.262,4909,12.262]],["keywords/990",[]],["title/991",[140,229.009,344,543.566,4877,904.105]],["content/991",[1,2.573,6,2.6,9,1.55,14,4.34,19,2.668,41,3.259,48,2.678,50,1.684,51,3.458,52,6.785,58,2.444,91,3.087,108,2.572,122,1.509,139,3.135,144,2.087,146,4.449,148,3.684,193,4.098,197,3.577,204,2.144,223,3.805,236,2.425,263,3.504,273,6.488,274,2.168,275,3.906,319,5.801,329,4.552,344,11.372,363,1.544,374,6.225,380,8.089,388,5.678,404,3.691,410,5.055,417,4.797,453,3.185,467,2.618,475,2.854,486,5.817,520,3.151,545,1.199,556,4.468,571,3.603,624,1.788,634,3.713,652,5.481,658,4.603,700,3.838,716,5.45,743,4.208,764,2.855,766,3.103,794,3.98,804,1.488,824,1.497,832,0.81,842,4.501,849,3.603,860,5.771,892,2.638,900,4.449,984,6.577,993,7.65,994,8.271,1008,3.135,1048,2.678,1103,3.331,1120,2.698,1142,4.194,1144,7.654,1215,2.919,1223,5.055,1279,9.288,1320,5.481,1324,8.968,1331,5.318,1336,4.594,1351,5.178,1356,5.678,1385,2.368,1386,8.111,1447,9.289,1487,4.243,1704,4.76,1822,5.055,1957,5.178,2016,4.533,2100,7.968,2161,3.713,2248,3.838,2412,4.147,2563,10.271,2787,6.253,2823,4.678,3027,6.712,3103,6.576,3471,9.289,3675,4.533,3893,3.906,4506,10.231,4535,5.924,4563,5.924,4877,16.129,4882,9.692,4884,6.253,4910,21.128,4911,14.021,4912,6.753,4913,6.753,4914,16.436,4915,11.048,4916,6.753,4917,6.753,4918,6.753,4919,6.753,4920,11.048,4921,14.021,4922,12.3,4923,6.753,4924,6.753,4925,6.253,4926,6.253,4927,6.753,4928,6.753,4929,6.753,4930,6.753,4931,6.753,4932,6.753,4933,6.753,4934,6.753,4935,6.753,4936,6.253,4937,6.753,4938,6.753,4939,6.753,4940,6.753,4941,11.048,4942,6.753,4943,6.753,4944,6.753,4945,6.753,4946,5.481,4947,6.753,4948,6.753,4949,6.753,4950,5.678,4951,6.753,4952,6.753,4953,6.753,4954,6.753]],["keywords/991",[]],["title/992",[1386,971.506]],["content/992",[]],["keywords/992",[]],["title/993",[1386,971.506]],["content/993",[9,2.58,14,4.161,90,6.388,140,3.917,255,4.069,345,6.843,363,3.202,467,2.483,556,5.81,558,7.158,598,12,716,9.072,889,4.915,982,4.926,985,11.173,1215,4.859,1386,13.251,1487,14.392,2255,8.767,4560,17.029,4955,16.133,4956,18.391,4957,18.391,4958,15.463,4959,18.391,4960,18.391]],["keywords/993",[]],["title/994",[4961,1412.056]],["content/994",[14,3.713,26,10.449,50,4.092,90,5.7,140,3.495,162,7.698,345,6.365,363,3.307,393,9.673,467,2.515,516,7.393,556,4.962,581,5.283,582,11.567,598,10.708,640,11.185,828,5.032,876,6.768,889,6.323,894,9.247,969,9.247,982,4.396,985,9.971,1110,4.979,1215,4.336,1487,10.311,1644,4.853,1832,14.396,4074,12.924,4756,13.321,4955,14.396,4961,17.914,4962,16.411,4963,16.411,4964,16.411,4965,16.411,4966,16.411,4967,16.411,4968,16.411]],["keywords/994",[]],["title/995",[4557,1183.697]],["content/995",[9,2.843,14,3.931,19,4.807,26,4.9,41,4.71,48,4.826,50,4.332,90,4.227,122,3.883,140,4.316,144,3.761,164,6.446,192,9.331,193,2.463,198,12.727,263,6.314,273,5.011,279,7.837,287,3.645,290,11.337,307,8.051,329,3.951,345,3.635,358,4.126,363,3.497,393,10.241,417,4.163,467,2.204,475,6.037,478,5.649,486,3.962,500,7.024,524,3.028,545,2.16,556,4.046,562,8.955,581,3.917,582,8.577,598,7.94,618,7.837,624,3.223,656,7.474,661,3.791,680,10.675,716,8.571,728,4.789,737,6.64,828,3.731,887,7.827,889,4.643,921,5.801,976,4.603,982,3.26,983,5.235,1008,5.649,1016,9.11,1215,5.839,1294,5.509,1386,11.722,1487,10.916,1832,15.241,1909,8.737,2581,8.168,2624,9.583,2729,11.842,3751,10.675,4557,14.282,4755,8.622,4955,10.675,4969,12.169,4970,12.169,4971,16.088,4972,12.169,4973,12.169,4974,10.232,4975,7.558,4976,12.169,4977,12.169,4978,12.169,4979,12.169]],["keywords/995",[]],["title/996",[63,408.142,545,190.861,699,411.041]],["content/996",[]],["keywords/996",[]],["title/997",[]],["content/997",[5,9.134,6,7.377,9,2.688,12,17.589,23,7.222,41,4.453,59,3.9,67,10.15,68,7.541,140,4.081,192,14.692,193,3.878,255,4.239,344,9.686,355,7.299,464,7.486,475,4.949,518,16.809,1008,11.796,4302,18.502,4490,21.756,4718,15.09,4980,19.161,4981,19.161,4982,19.161]],["keywords/997",[]],["title/998",[354,902.598]],["content/998",[59,3.809,63,9.544,67,12.266,329,6.075,344,9.46,355,7.128,587,7.128,613,6.847,699,7.153,798,17.755,835,15.782,1163,10.21,1291,12.963,1329,12.939,1333,10.825,1385,6.561,1558,11.757,2815,14.737,3514,15.19,4476,12.963,4983,26.273,4984,18.713,4985,18.713,4986,18.713]],["keywords/998",[]],["title/999",[18,783.665]],["content/999",[]],["keywords/999",[]],["title/1000",[59,266.883,63,497.65]],["content/1000",[1,3.313,14,3.218,19,5.619,23,5.361,30,5.341,59,5.746,63,10.093,140,3.029,157,6.408,193,2.878,204,4.516,220,6.856,236,4.251,257,4.553,310,4.67,357,5.324,379,10.915,443,5.018,464,9.24,505,5.939,520,6.637,598,9.281,613,6.515,738,13.171,739,9.556,756,7.482,840,7.092,866,6.014,886,6.066,967,8.735,1001,12.477,1157,7.534,1158,8.228,1227,6.119,1238,6.935,1263,9.045,1385,4.987,1431,6.895,1480,9.327,1558,8.937,2216,16.121,2328,8.937,2394,8.466,2547,8.642,3793,16.288,4865,7.058,4987,14.224]],["keywords/1000",[]],["title/1001",[18,783.665]],["content/1001",[18,7.368,19,4.215,22,6.35,23,4.021,30,6.108,59,5.575,63,10.091,67,9.957,68,4.199,140,2.272,144,3.297,149,4.631,187,4.078,255,2.36,257,5.055,258,3.473,272,6.482,274,3.425,324,10.938,355,6.014,390,2.272,417,3.65,467,2.011,486,3.473,545,4.472,554,3.717,556,4.378,565,5.393,587,4.064,605,8.823,613,6.866,623,8.96,624,2.825,625,7.012,671,7.058,699,4.078,797,7.161,800,4.878,804,2.351,807,2.617,824,2.365,832,1.895,835,7.272,838,2.506,840,5.083,866,4.511,883,4.57,885,3.139,892,6.168,944,2.953,967,6.552,981,6.626,1329,10.503,1333,12.018,1480,8.358,1558,6.703,1766,7.519,1849,7.058,2216,14.16,2322,8.97,2394,6.35,2413,12.107,2414,14.071,2498,6.703,2619,7.272,2674,7.272,2749,9.218,3269,7.815,3619,7.519,3652,8.18,4495,8.66,4683,9.359,4865,7.835,4988,7.987,4989,9.879,4990,10.669,4991,10.669]],["keywords/1001",[]],["title/1002",[2309,1287.729]],["content/1002",[59,4.587,63,8.553,613,6.664,840,7.254,2309,17.278]],["keywords/1002",[]],["title/1003",[475,338.669,743,499.41]],["content/1003",[]],["keywords/1003",[]],["title/1004",[14,296.65,743,499.41]],["content/1004",[6,3.433,9,2.364,14,3.813,16,4.036,27,3.496,41,3.204,50,2.223,59,1.815,67,4.723,73,7.52,94,6.284,140,2.936,188,4.322,193,1.804,205,5.288,255,1.973,259,6.5,287,5.047,332,4.507,382,4.118,398,3.47,404,2.979,423,6.021,467,2.548,475,6.322,489,3.853,525,3.458,540,3.186,545,3.365,554,4.803,597,4.097,611,5.898,613,6.409,632,6.72,634,4.902,656,5.475,670,6.674,728,3.509,732,4.942,737,4.864,739,4.398,743,9.49,766,7.743,820,2.67,824,3.056,832,1.07,837,4.982,840,2.87,842,2.862,847,1.219,874,7.496,885,2.623,886,3.802,889,3.684,892,3.483,907,5.817,947,8.501,949,3.433,961,7.021,981,5.537,982,3.692,1031,7.496,1061,4.69,1092,4.479,1146,4.507,1208,5.755,1215,3.642,1294,6.24,1333,5.157,1644,6.903,1925,6.176,2002,4.097,2049,7.021,2198,5.111,2216,6.077,2253,6.077,2308,6.836,2365,5.93,2399,10.855,2400,9.252,2740,8.312,3657,5.741,4205,7.496,4386,7.821,4495,7.237,4755,6.84,4974,18.222,4975,5.537,4992,12.763,4993,8.916,4994,8.916,4995,8.916,4996,8.916,4997,13.784,4998,8.916,4999,8.916,5000,8.916,5001,8.916,5002,8.916,5003,8.916,5004,13.784,5005,8.916,5006,8.256,5007,8.916,5008,8.916,5009,8.256,5010,8.916,5011,8.916,5012,8.916,5013,8.916,5014,8.916,5015,8.916,5016,16.851,5017,8.916,5018,8.916,5019,7.821,5020,8.916]],["keywords/1004",[]],["title/1005",[14,243.294,67,569.598,743,409.585]],["content/1005",[14,5.86,97,7.91,122,4.018,140,3.829,187,6.872,205,6.897,286,6.343,363,2.513,467,2.348,475,5.833,540,6.424,613,6.678,632,8.765,743,9.866,756,11.879,820,5.385,840,5.787,944,4.976,982,4.816,1137,12.908,1294,8.139,1393,14.94,3538,14.593,4755,8.921,4974,18.988,5009,16.647,5021,17.978]],["keywords/1005",[]],["title/1006",[67,569.598,743,409.585,982,288.041]],["content/1006",[7,6.143,14,5.143,90,6.309,122,4.059,140,2.76,193,2.622,255,2.867,257,4.148,273,5.239,283,6.015,286,4.571,417,4.433,443,4.571,467,2.58,475,6.408,478,6.015,613,3.832,632,8.855,634,7.125,728,5.1,743,9.116,766,5.954,824,2.872,837,10.149,838,3.043,842,4.16,872,11.035,982,5.618,984,8.52,988,7.016,1137,9.303,1208,8.756,1392,10.517,1395,10.517,1470,6.723,2100,7.364,2308,9.935,2400,15.256,3392,12.38,3471,10.894,3860,10.706,4857,16.818,5006,16.818,5022,12.957,5023,12.957,5024,12.957,5025,12.957,5026,12.957,5027,12.957,5028,22.729,5029,18.163,5030,18.163,5031,18.163,5032,18.163]],["keywords/1006",[]],["title/1007",[67,569.598,363,150.319,743,409.585]],["content/1007",[1,4.358,14,5.239,18,8.732,67,9.913,70,14.349,90,6.5,310,6.144,363,2.616,467,2.382,555,12.755,556,4.358,597,8.599,609,9.843,625,8.311,735,13.436,743,8.82,766,8.599,957,10.825,985,11.369,1393,12.38,1470,9.709,2017,16.416,3538,15.19,4441,15.734,5033,21.441,5034,18.713,5035,18.713,5036,18.713]],["keywords/1007",[]],["title/1008",[362,192.565,743,347.146,756,479.38,812,308.997]],["content/1008",[319,7.42,1120,9.132,4469,16.109]],["keywords/1008",[]],["title/1009",[14,158.025,355,266.035,613,206.541,743,266.035,766,320.928,982,187.09]],["content/1009",[9,1.996,14,5.599,67,10.262,108,5.418,122,5.286,140,3.029,193,2.878,194,5.557,258,4.631,260,6.637,354,10.411,355,8.391,358,4.822,363,2.708,467,2.571,475,3.674,545,2.525,613,4.206,713,6.174,743,9.952,766,6.536,832,1.707,921,6.781,982,6.84,984,10.334,1208,5.939,1571,13.171,2399,15.255,3223,17.938,5037,9.695,5038,19.372,5039,14.224,5040,13.171,5041,14.224,5042,14.224,5043,19.372,5044,14.224,5045,14.224,5046,14.224,5047,14.224,5048,17.938,5049,14.224,5050,14.224]],["keywords/1009",[]],["title/1010",[475,433.806]],["content/1010",[]],["keywords/1010",[]],["title/1011",[623,800.603]],["content/1011",[5,8.072,6,6.519,18,7.901,30,4.105,38,7.942,41,3.935,50,5.987,68,6.664,77,10.18,91,7.741,108,8.281,157,9.794,193,3.426,301,8.845,326,8.162,363,3.039,364,8.506,382,7.82,454,10.078,475,7.044,489,7.316,545,3.859,587,6.449,667,9.541,668,11.54,692,5.673,729,10.18,730,10.287,742,9.168,743,6.449,872,10.287,876,8.966,889,4.525,894,9.541,1215,4.474,1644,5.007,2002,7.78,2222,12.403,5051,16.932]],["keywords/1011",[]],["title/1012",[516,590.668,982,351.21]],["content/1012",[9,3.191,14,5.146,30,4.408,50,4.533,122,5.083,140,3.872,144,5.619,187,9.487,319,5.903,329,5.903,374,10.245,475,4.696,516,11.716,545,4.037,556,4.235,568,9.701,921,8.668,982,7.423,1208,7.591,1215,4.804,1437,6.258,2311,9.564,3510,13.055,3543,6.146]],["keywords/1012",[]],["title/1013",[516,590.668,742,709.93]],["content/1013",[19,6.834,30,4.194,50,5.495,257,5.538,326,8.338,332,8.744,336,18.001,363,2.418,443,6.103,475,5.693,500,6.993,516,11.506,562,8.915,624,4.581,886,7.377,982,4.634,1149,10.743,1208,9.202,1216,10.623,1271,13.622,1366,10.212,1437,5.954,1644,7.173,1724,12.42,1931,13.263,4066,16.017,4633,5.882,4709,24.425,4748,16.017,5052,17.298,5053,17.298]],["keywords/1013",[]],["title/1014",[363,150.319,742,582.24,1215,284.104]],["content/1014",[9,3.263,77,9.525,85,7.036,90,5.503,91,7.243,193,3.206,194,8.134,208,8.008,248,6.846,255,3.505,329,5.143,362,4.399,363,3.888,364,7.959,408,6.615,475,6.381,489,6.846,490,8.578,516,7.137,525,6.144,742,12.593,812,5.371,889,4.234,894,8.927,921,9.926,982,5.577,1061,8.333,1215,6.959,1437,7.166,2070,6.33,3429,11.375,3543,5.355,3556,7.815,3812,10.075,5054,15.843,5055,15.843,5056,15.843,5057,13.32,5058,15.843]],["keywords/1014",[]],["title/1015",[475,338.669,3675,880.059]],["content/1015",[31,7.382,122,4.498,259,9.491,363,3.384,382,9.294,398,7.833,413,10.372,417,6.885,475,6.252,739,9.927,742,13.107,743,7.666,1215,6.395,1437,8.331,2279,11.246,3675,13.508,5059,18.635]],["keywords/1015",[]],["title/1016",[743,639.701]],["content/1016",[16,9.227,38,9.56,50,6.081,162,9.56,174,6.168,319,6.616,363,2.849,475,6.3,506,11.899,545,3.618,726,11.685,743,9.29,1018,6.616,1137,14.634,1215,5.385,1644,6.027,2002,9.365]],["keywords/1016",[]],["title/1017",[174,275.804,380,412.582,1215,240.794,1925,631.344]],["content/1017",[5,7.129,9,2.812,14,5.463,21,3.172,41,3.476,91,6.837,187,5.716,188,7.249,193,4.055,236,3.282,248,8.659,274,4.801,349,9.758,363,2.801,380,10.231,423,5.343,475,6.836,516,6.737,554,5.211,565,7.56,617,8.991,623,7.129,651,11.198,653,9.758,671,9.893,716,7.377,719,6.405,751,10.038,757,10.36,766,6.872,840,4.814,872,13.731,982,4.006,1016,15.002,1076,17.798,1215,6.379,1294,6.77,1437,6.897,1925,10.36,1931,11.467,1935,11.467,2222,10.954,2339,10.737,2376,13.882,3627,13.847,3812,9.51,4534,13.847,4573,13.118,4950,12.574,5060,14.955,5061,14.955]],["keywords/1017",[]],["title/1018",[215,297.634,475,277.756,524,267.523]],["content/1018",[30,4.618,41,4.427,46,5.335,108,7.255,204,6.048,215,6.479,316,8.797,326,11.284,363,3.543,475,6.546,524,6.305,545,3.381,603,7.414,702,12.872,719,8.158,828,5.84,876,7.855,887,8.581,1385,6.678,2248,10.825,2625,13.425,3524,15]],["keywords/1018",[]],["title/1019",[363,150.319,661,334.99,1215,284.104]],["content/1019",[14,4.969,15,6.44,30,4.171,50,4.29,122,4.909,357,6.44,363,3.563,382,7.946,390,3.664,475,6.25,478,7.987,516,7.751,554,5.995,661,7.537,743,8.366,766,7.906,824,3.814,872,10.453,982,5.883,1061,9.05,1215,5.803,1437,8.773,1573,10.708,1611,16.006,1644,5.088,2409,11.918,3652,13.192,5062,8.252,5063,17.205]],["keywords/1019",[]],["title/1020",[30,260.685,661,334.99,4121,872.834]],["content/1020",[1,4.687,15,7.533,30,4.879,108,7.666,390,5.155,475,6.252,591,8.696,661,6.27,983,8.658,1366,10.191,1437,6.927,1644,7.158,2777,9.647,4121,16.336,4714,18.635,5064,8.256,5065,20.125]],["keywords/1020",[]],["title/1021",[363,150.319,1154,633.798,1611,711.377]],["content/1021",[6,5.952,9,2.169,30,4.967,41,6.08,50,3.855,58,5.596,91,7.068,140,3.293,193,3.129,243,8.309,255,3.42,257,4.949,274,6.577,285,8.554,329,5.019,340,6.455,362,3.267,363,3.657,380,9.275,467,1.402,475,3.993,478,9.511,490,8.371,524,3.846,600,5.119,623,7.37,661,4.816,688,10.292,742,8.371,756,8.132,766,7.104,894,8.711,921,7.37,1033,8.639,1103,7.626,1154,9.112,1208,8.554,1215,5.413,1263,13.029,1385,5.42,1437,5.321,1611,13.554,1613,6.059,1724,11.1,2020,6.999,2777,7.411,3779,7.766,5066,15.46]],["keywords/1021",[]],["title/1022",[236,287.742,1215,346.41]],["content/1022",[9,2.595,41,5.343,108,8.757,140,3.939,174,5.598,181,13.847,197,9.798,236,5.906,326,8.916,363,2.586,390,3.939,475,4.778,554,6.445,609,9.729,624,6.088,634,10.171,699,7.071,887,8.333,1211,15.014,1215,7.11,1216,11.36,2674,12.607,3440,12.814,3619,13.037,5067,18.497]],["keywords/1022",[]],["title/1023",[236,287.742,273,378.152]],["content/1023",[40,13.161,41,4.591,122,4.415,140,5.097,144,7.397,236,5.651,273,7.907,323,7.863,344,9.985,363,3.346,489,8.535,513,12.255,1215,5.219,1369,15.555]],["keywords/1023",[]],["title/1024",[273,378.152,571,699.516]],["content/1024",[7,8.761,40,7.302,51,6.799,86,7.613,90,4.613,91,6.071,108,5.058,122,4.13,140,2.828,144,4.104,157,5.983,204,4.216,221,5.522,236,4.664,248,5.738,273,3.83,283,6.165,319,4.311,357,4.971,363,3.8,467,2.371,475,3.43,486,4.323,516,5.983,554,4.627,556,4.303,571,7.085,584,8.445,634,7.302,711,7.36,742,10.005,746,6.071,755,9.941,764,5.615,842,4.263,889,3.549,1215,6.777,1266,6.165,1326,11.649,1355,14.168,1369,14.551,1394,19.602,1437,4.571,1450,10.182,1480,6.964,1703,9.36,1704,9.36,1817,7.034,2293,15.258,2388,9.727,2409,9.199,2816,11.649,3103,7.904,3521,11.649,4199,9.941,5068,10.779,5069,13.28,5070,18.478,5071,13.28,5072,13.28,5073,13.28,5074,13.28,5075,13.28,5076,13.28,5077,13.28]],["keywords/1024",[]],["title/1025",[236,200.013,273,262.858,429,270.886,478,423.07]],["content/1025",[1,3.862,9,2.326,40,9.117,41,4.985,79,9.129,204,5.264,215,7.206,236,4.707,244,13.459,310,5.444,344,8.382,418,12.256,429,6.375,475,6.141,489,7.165,513,8.49,624,4.391,728,6.526,743,6.316,808,7.737,945,13.63,1008,7.697,1215,6.282,1390,13.031,1450,12.714,2293,17.071,2591,12.714,3446,15.354,4208,13.459,4321,15.354,5078,16.581,5079,16.581,5080,16.581,5081,16.581]],["keywords/1025",[]],["title/1026",[236,235.988,742,582.24,1215,284.104]],["content/1026",[9,1.657,51,6.047,85,5.245,90,5.907,108,6.477,149,5.126,194,6.643,215,3.269,236,5.57,248,5.103,251,4.793,263,6.127,273,6.288,283,5.482,310,3.878,319,3.834,328,5.22,363,3.048,374,6.655,380,7.698,382,5.454,404,3.945,410,8.841,417,4.04,428,12.21,467,1.807,475,5.631,489,5.103,524,2.938,562,6.087,613,3.492,624,3.127,642,7.029,661,3.679,677,4.89,729,7.101,742,10.79,764,4.993,824,5.334,832,1.417,840,3.802,847,1.615,860,6.169,892,8.517,900,6.848,909,6.961,971,4.58,1036,5.599,1055,9.055,1208,4.931,1215,7.093,1393,13.183,1437,6.859,1644,5.029,2238,8.651,2380,9.3,2625,8.324,2709,7.927,3399,9.93,3429,8.48,3632,9.93,4155,10.936,5040,10.936,5082,11.81,5083,11.81,5084,11.81,5085,11.81,5086,17.005,5087,11.81,5088,6.047,5089,11.81,5090,11.81,5091,11.81,5092,17.005,5093,11.81,5094,19.927,5095,11.81,5096,17.005,5097,11.81]],["keywords/1026",[]],["title/1027",[236,287.742,2481,751.661]],["content/1027",[14,4.671,46,5.783,146,8.313,194,8.065,236,5.394,251,8.378,279,13.294,326,9.951,429,6.136,443,7.283,600,5.159,605,11.536,742,11.178,1208,8.619,1215,6.494,2481,11.835]],["keywords/1027",[]],["title/1028",[59,266.883,273,378.152]],["content/1028",[]],["keywords/1028",[]],["title/1029",[9,183.956,404,438.019]],["content/1029",[9,3.713,38,10.41,48,6.934,59,4.517,122,5.449,187,6.684,218,11.218,221,9.227,273,6.401,301,9.135,363,3.102,382,8.076,469,10.624,524,4.351,569,11.919,625,7.766,693,10.209,795,13.771,852,14.194,853,14.194,1154,13.08,1385,6.131,3893,10.116,4286,19.788,4381,11.738,5098,22.574,5099,14.194,5100,22.192]],["keywords/1029",[]],["title/1030",[9,150.869,59,218.881,273,310.136]],["content/1030",[1,4.49,9,3.575,59,5.543,90,6.696,273,7.854,329,6.258,343,6.054,362,4.073,423,6.888,483,13.841,524,4.796,597,8.858,610,13.587,949,7.422,976,7.291,1624,10.36,5101,19.277,5102,19.277,5103,19.277]],["keywords/1030",[]],["title/1031",[59,160.975,273,228.088,343,248.365,597,363.38,949,304.47]],["content/1031",[9,3.241,46,3.767,59,4.354,90,4.671,106,7.174,149,5.837,171,8.5,273,6.17,310,4.415,322,4.982,329,4.365,343,4.223,362,4.88,467,2.563,483,9.655,524,4.637,540,4.805,556,3.132,563,9.165,568,7.174,597,8.564,812,7.253,836,5.934,842,4.317,948,10.311,949,8.236,1011,10.17,1025,17.119,1026,16.846,1079,9.315,1085,10.311,1344,9.671,1573,6.556,1683,5.104,2161,7.394,2179,9.315,3378,9.315,5104,18.639,5105,13.447,5106,13.447,5107,18.639,5108,13.447,5109,13.447,5110,18.639,5111,13.447,5112,13.447,5113,13.447,5114,13.447,5115,13.447,5116,13.447,5117,13.447]],["keywords/1031",[]],["title/1032",[59,218.881,273,310.136,423,384.223]],["content/1032",[1,5.795,9,3.491,40,10.055,59,3.722,67,9.686,68,7.197,198,13.394,205,7.015,215,6.888,248,7.902,273,5.274,362,4.823,390,3.894,423,8.891,505,7.635,524,4.549,624,4.842,654,16.932,755,13.689,812,6.2,848,7.481,949,8.788,976,9.412,1103,11.259,3781,16.932]],["keywords/1032",[]],["title/1033",[59,218.881,141,299.054,273,310.136]],["content/1033",[9,2.721,13,7.576,41,4.507,50,4.835,59,4.818,141,5.394,269,7.494,273,6.826,340,8.097,362,5.001,363,3.309,423,6.93,523,7.576,815,11.66,949,9.113,1025,15.444,1103,9.567,1622,9.742,3260,14.87,4297,17.012,4808,15.272,5098,17.958]],["keywords/1033",[]],["title/1034",[417,367.866,766,494.096,2102,675.602]],["content/1034",[]],["keywords/1034",[]],["title/1035",[1906,1127.28]],["content/1035",[1,5.51,9,2.303,38,9.994,41,4.952,59,5.097,85,7.288,140,3.495,202,6.824,218,10.77,230,7.155,235,7.739,236,5.192,239,10.311,248,7.091,259,7.739,269,6.341,273,7.222,329,6.917,330,12.286,362,4.999,429,4.878,489,7.091,642,9.768,651,9.17,701,13.321,898,7.739,1048,6.508,1099,14.693,1135,10.708,1198,8.048,1298,13.321,1838,6.939,1954,8.515,4286,17.294,5118,16.411,5119,14.396,5120,16.411,5121,15.196,5122,16.411]],["keywords/1035",[]],["title/1036",[59,160.975,273,228.088,329,256.729,483,567.812,711,438.323]],["content/1036",[9,3.346,38,9.209,46,5.499,59,4.854,273,6.877,297,8.887,362,4.148,429,5.835,483,14.095,524,4.884,563,13.38,597,9.021,610,16.806,719,8.409,787,10.63,866,8.301,949,9.888,1048,7.785,5123,19.631,5124,16.506]],["keywords/1036",[]],["title/1037",[59,218.881,273,310.136,3940,995.701]],["content/1037",[1,5.872,9,2.108,59,5.394,106,8.016,189,9.675,194,7.853,238,13.912,239,9.44,248,6.492,263,7.795,268,9.331,273,7.642,324,13.925,328,6.642,329,4.878,362,4.786,417,5.14,423,7.183,429,5.975,453,7.085,562,10.36,603,5.848,711,8.328,723,11.006,746,6.869,787,10.884,795,15.83,842,4.823,1036,9.531,1045,7.903,1048,7.971,1158,11.628,1612,13.116,1954,7.795,2340,11.832,2412,9.227,3646,9.034,3792,13.18,3939,11.248,4575,13.912,5068,12.196,5119,17.634,5125,13.912,5126,15.025,5127,15.025,5128,13.912]],["keywords/1037",[]],["title/1038",[59,185.514,273,262.858,476,594.675,4276,594.675]],["content/1038",[1,5.002,9,3.013,59,5.121,272,13.047,273,7.256,363,3.002,476,14.013,483,15.419,787,11.628,5129,21.475]],["keywords/1038",[]],["title/1039",[117,666.996,122,293.037]],["content/1039",[]],["keywords/1039",[]],["title/1040",[766,771.693]],["content/1040",[1,3.078,9,2.974,14,1.911,19,3.336,23,3.183,25,4.799,33,6.651,34,3.881,41,1.963,46,2.366,48,3.349,50,2.106,56,5.027,77,5.078,86,4.842,90,4.59,106,7.05,117,10.168,122,3.638,124,6.322,140,2.814,144,2.61,146,5.321,149,3.666,171,4.863,174,2.556,193,1.709,204,2.681,273,4.695,283,3.92,285,3.526,286,2.98,287,6.348,307,5.587,318,6.651,364,4.242,383,4.931,390,3.922,398,3.287,467,2.263,481,4.681,486,4.302,489,3.649,520,3.941,524,5.703,534,3.287,540,3.018,545,3.268,605,4.719,613,7.265,623,4.026,624,3.499,710,5.952,719,3.617,771,11.277,796,6.064,824,1.872,832,1.954,836,7.821,840,2.719,842,5.912,873,5.245,931,2.667,941,4.296,949,8.826,957,4.885,976,3.194,989,5.756,1007,4.799,1011,4.608,1026,10.407,1076,10.407,1078,4.799,1079,9.154,1111,5.245,1116,10.133,1122,5.131,1123,7.408,1125,7.408,1126,7.101,1127,8.742,1129,7.408,1131,11.592,1132,7.408,1133,4.978,1134,5.85,1135,5.511,1136,7.101,1137,6.064,1139,7.408,1140,7.408,1141,3.961,1143,6.855,1144,5.85,1145,6.855,1146,4.269,1147,9.007,1148,7.408,1272,3.666,1619,5.245,2070,5.28,2102,5.306,2145,8.827,2311,4.442,2412,5.187,2497,5.756,5121,7.82,5130,8.445,5131,8.445,5132,7.408,5133,8.445,5134,8.445,5135,8.445,5136,8.445,5137,8.445,5138,8.445,5139,8.445,5140,8.445,5141,11.592,5142,8.445,5143,8.445,5144,13.215,5145,8.445,5146,8.445,5147,7.82,5148,7.408,5149,8.445,5150,18.415,5151,8.445,5152,8.445,5153,8.445,5154,8.445,5155,8.445,5156,8.445,5157,8.445,5158,8.445,5159,8.445,5160,8.445,5161,8.445,5162,8.445,5163,8.445,5164,7.82]],["keywords/1040",[]],["title/1041",[363,183.285,1015,880.059]],["content/1041",[]],["keywords/1041",[]],["title/1042",[14,296.65,830,751.661]],["content/1042",[9,2.223,14,5.959,19,6.259,108,6.034,140,3.374,258,5.158,259,9.819,263,8.22,467,2.584,475,6.007,523,6.189,554,5.52,556,3.69,600,3.959,613,4.685,742,8.578,764,6.699,827,11.832,828,4.857,830,9.082,836,5.044,837,8.853,983,6.816,984,9.767,1015,10.634,1120,6.33,1196,9.003,2099,18.493,2100,11.832,2101,12.476,3460,8.853,5165,19.28,5166,17.506,5167,15.843,5168,15.843,5169,15.843]],["keywords/1042",[]],["title/1043",[363,183.285,830,751.661]],["content/1043",[9,2.314,14,5.366,21,3.499,31,6.05,140,3.513,285,6.887,467,2.642,545,2.928,613,4.878,640,11.243,821,15.067,824,3.657,842,5.295,982,4.419,984,10.028,1015,11.072,1866,15.067,2099,16.003,2100,12.149,2101,16.834,5166,17.974,5170,14.47,5171,16.496,5172,15.275,5173,19.795,5174,15.275,5175,16.496,5176,15.275]],["keywords/1043",[]],["title/1044",[1866,1290.796]],["content/1044",[9,2.42,14,2.726,15,5.644,16,3.401,19,2.968,21,3.198,79,2.729,122,2.692,140,2.565,174,2.274,193,2.438,205,5.784,223,4.234,236,1.649,255,1.662,259,3.543,260,3.506,273,2.167,349,4.903,363,1.684,374,4.234,390,2.565,438,3.729,467,2.611,513,3.847,554,2.618,556,2.806,571,4.009,605,4.199,610,5.296,613,4.459,692,2.518,700,4.27,764,5.093,821,10.627,824,4.877,827,13.984,828,2.304,830,8.644,832,0.902,836,7.941,837,6.731,842,3.867,847,1.028,873,4.666,900,4.851,944,2.08,982,6.372,984,8.091,985,4.565,1015,5.043,1037,5.043,1120,3.002,1147,10.277,1162,5.917,1208,3.137,1215,1.985,1323,6.591,1342,6.591,1344,3.898,1351,5.761,1371,5.917,1390,4.565,1470,6.25,1480,2.832,1572,4.721,1573,3.663,1610,3.306,1866,12.157,2079,6.591,2099,14.134,2100,9.802,2101,15.868,2145,7.228,2336,9.237,2344,6.099,2777,3.602,2907,5.917,3210,6.591,3460,6.731,3713,6.957,3730,11.874,4336,9.486,5165,11.154,5166,12.678,5172,6.957,5173,11.154,5174,11.154,5176,6.957,5177,7.514,5178,7.514,5179,11.154,5180,15.078,5181,12.046,5182,7.514,5183,7.514,5184,7.514,5185,7.514,5186,7.514,5187,7.514,5188,7.514,5189,7.514,5190,7.514,5191,7.514,5192,7.514,5193,7.514,5194,7.514,5195,7.514,5196,7.514,5197,7.514,5198,7.514,5199,7.514,5200,7.514,5201,7.514,5202,7.514,5203,7.514,5204,7.514,5205,7.514,5206,7.514,5207,7.514,5208,7.514,5209,7.514,5210,7.514,5211,7.514,5212,7.514,5213,7.514,5214,7.514,5215,7.514,5216,7.514]],["keywords/1044",[]],["title/1045",[742,709.93,982,351.21]],["content/1045",[1,4.211,14,4.091,50,4.508,58,6.544,108,6.886,149,7.847,174,5.471,363,3.628,450,10.103,540,6.46,554,6.299,556,5.278,625,8.029,710,12.743,742,9.789,743,6.886,764,7.644,820,5.415,830,12.993,882,11.604,982,7.16,1294,8.185,1373,9.026,2042,14.675,2070,7.224,2815,14.237,3431,11.497,3795,15.859,5217,18.079,5218,18.079]],["keywords/1045",[]],["title/1046",[140,229.009,556,250.436,982,288.041]],["content/1046",[14,5.275,140,3.391,209,9.384,223,8.971,257,5.097,263,8.261,297,7.208,328,7.038,355,6.064,363,2.92,380,7.208,467,2.596,554,8.123,556,5.43,597,7.316,603,6.197,617,9.573,623,7.59,723,11.662,820,4.769,830,11.975,842,5.111,982,6.245,983,6.849,984,9.799,1263,10.125,2016,10.687,2100,9.048,2174,11.029,3020,12.924,3468,12.924,3538,12.924,5048,21.588,5170,13.966,5219,15.921,5220,15.921,5221,15.921]],["keywords/1046",[]],["title/1047",[140,279.233,487,593.547]],["content/1047",[9,2.376,14,4.919,193,3.426,363,3.039,409,9.622,467,2.582,551,11.54,554,5.9,556,3.943,824,5.617,827,9.622,832,2.882,984,7.942,986,11.54,1015,14.592,1390,10.287,1943,14.853,2100,9.622,3730,13.334,4455,15.678,5222,16.932,5223,21.74,5224,16.932,5225,16.932,5226,16.932,5227,16.932,5228,16.932,5229,15.678,5230,16.932,5231,16.932,5232,16.932,5233,15.678]],["keywords/1047",[]],["title/1048",[140,279.233,2039,1032.511]],["content/1048",[4,8.834,5,5.372,7,5.343,14,3.719,30,2.732,59,3.95,63,4.277,90,3.915,91,5.152,140,2.4,149,4.891,155,6.297,171,6.049,193,2.281,204,5.219,246,4.053,260,5.259,262,6.057,323,8.49,354,6.057,363,1.575,390,2.4,467,2.629,556,2.625,558,7.553,569,11.204,603,8.827,728,4.435,739,5.559,824,4.302,832,2.329,887,5.077,973,3.679,984,7.711,1081,9.886,1085,12.604,1355,8.641,1390,6.847,1658,13.821,1849,7.455,1946,13.821,1957,8.641,1962,9.886,2100,9.342,2336,8.641,2624,8.875,3730,8.875,4946,9.148,5170,9.886,5229,10.435,5233,10.435,5234,11.27,5235,11.27,5236,11.27,5237,16.438,5238,11.27,5239,11.27,5240,11.27,5241,11.27,5242,11.27,5243,11.27,5244,16.438,5245,11.27,5246,11.27,5247,16.438,5248,11.27,5249,15.221,5250,11.27,5251,16.438,5252,11.27,5253,11.27,5254,16.438,5255,11.27,5256,11.27,5257,11.27,5258,11.27,5259,11.27,5260,11.27,5261,11.27,5262,11.27,5263,11.27]],["keywords/1048",[]],["title/1049",[827,611.091,836,342.346,926,582.24]],["content/1049",[5,5.469,9,1.609,15,6.233,21,2.433,41,2.666,79,4.166,105,8.085,140,2.443,197,6.077,326,5.53,329,3.724,343,3.603,359,5.912,363,1.604,380,5.193,423,4.099,467,2.595,603,6.481,613,5.797,732,6.358,815,6.897,821,11.736,824,3.691,827,11.14,830,9.546,832,1.998,836,8.3,840,3.693,841,10.063,842,5.346,847,2.277,926,6.211,984,7.811,1036,5.439,1037,11.177,1079,7.947,1103,5.659,1147,11.349,1208,6.952,1300,15.437,1351,8.796,1385,4.022,1390,6.969,1658,9.645,1957,8.796,2099,8.588,2100,6.519,2101,9.034,2145,7.982,2296,13.516,2336,15.03,2350,9.311,2578,6.636,2781,17.195,2907,13.113,3730,9.034,3918,10.622,4883,10.622,5166,9.645,5179,10.622,5264,11.471,5265,11.471,5266,11.471,5267,11.471,5268,11.471,5269,11.471,5270,11.471,5271,11.471,5272,11.471,5273,11.471,5274,16.651,5275,11.471,5276,16.651,5277,11.471,5278,11.471,5279,11.471,5280,11.471,5281,11.471,5282,11.471,5283,11.471]],["keywords/1049",[]],["title/1050",[46,367.265,1201,867.387]],["content/1050",[1,3.917,4,5.415,6,8.557,9,1.414,13,2.359,14,2.28,15,3.771,16,4.561,26,5.219,31,4.754,34,9.946,38,6.08,41,1.404,46,6.063,48,3.995,51,3.092,59,4.406,63,2.292,68,2.377,79,3.659,90,4.502,94,9.136,140,2.146,144,1.866,149,2.621,157,2.721,163,4.257,171,4.77,187,6.945,188,7.334,193,2.623,194,5.064,212,4.902,215,4.655,222,3.199,236,2.845,248,2.61,251,2.451,260,2.818,274,7.684,283,2.804,285,2.522,297,4.561,304,4.902,329,4.912,345,3.01,346,3.034,347,5.592,355,2.3,362,4.072,390,2.146,398,3.921,423,2.158,429,6.235,455,5,464,2.359,467,2.343,476,6.574,478,2.804,486,3.28,490,3.27,500,2.441,502,4.184,505,2.522,520,2.818,524,3.225,525,2.342,540,2.158,554,2.104,585,5.298,600,1.509,603,2.351,624,1.599,627,3.995,634,3.321,661,1.881,669,4.521,678,2.962,702,7.127,716,2.979,728,2.377,766,5.956,787,3.27,815,6.058,838,1.418,848,4.121,866,2.554,876,2.491,882,3.092,900,5.219,949,6.475,958,3.595,973,1.972,976,3.811,983,2.598,1007,3.432,1018,1.961,1039,8.05,1073,4.521,1079,8.979,1091,4.424,1110,3.057,1120,5.179,1133,3.56,1146,5.093,1178,11.326,1179,11.326,1180,11.326,1196,5.726,1198,8.909,1199,6.979,1200,4.631,1201,12.751,1205,4.589,1208,4.206,1210,3.053,1272,7.299,1385,5.304,1470,3.133,1612,9.872,1838,2.554,2070,2.413,2311,3.177,2339,4.336,2729,4.116,3252,4.424,3378,4.184,3448,3.375,3502,3.751,3657,3.889,3794,7.06,3796,4.777,3974,4.631,4459,12.318,4639,5.078,4701,4.631,4716,5.078,4718,4.756,4806,5.592,4950,5.078,4975,3.751,5019,5.298,5148,8.838,5284,6.039,5285,5.592,5286,6.039,5287,6.039,5288,6.039,5289,6.039,5290,6.039,5291,6.039,5292,6.039,5293,6.039,5294,6.039,5295,10.075,5296,10.075,5297,10.075,5298,10.075,5299,10.075,5300,10.075,5301,12.962,5302,6.039,5303,6.039,5304,6.039,5305,6.039,5306,6.039,5307,6.039,5308,6.039,5309,6.039,5310,10.075,5311,10.075,5312,6.039,5313,6.039,5314,6.039,5315,6.039]],["keywords/1050",[]],["title/1051",[97,401.006,141,253.465,236,200.013,699,348.381]],["content/1051",[]],["keywords/1051",[]],["title/1052",[193,265.33,2025,981.539]],["content/1052",[1,2.553,9,1.538,13,4.282,21,2.325,73,5.98,77,12.655,83,4.845,91,5.011,97,11.758,122,2.45,140,3.43,141,5.311,162,5.141,187,6.157,193,3.26,204,3.48,236,4.191,264,7.993,285,4.576,301,5.726,319,3.558,329,3.558,345,5.705,353,12.684,362,4.954,374,6.176,390,3.43,429,4.787,440,4.576,443,3.867,455,7.993,467,2.254,471,5.088,478,5.088,496,13.71,512,9.615,524,4.007,545,2.859,590,8.206,620,4.175,632,5.344,670,8.206,699,8.962,807,2.669,820,3.283,828,6.453,838,4.943,868,6.46,872,9.786,882,5.612,887,8.603,941,5.576,944,4.458,982,2.936,983,6.929,1146,8.142,1197,7.725,1214,5.407,1215,2.896,1272,9.733,1386,9.317,1573,5.344,1618,8.404,1701,8.632,1906,7.357,1928,6.97,2025,8.206,2026,9.216,2030,9.216,2031,8.632,2032,13.543,2033,9.216,2034,9.216,2036,13.074,2037,4.736,2038,9.216,2039,8.632,2047,6.97,2091,6.807,3431,6.97,3812,6.97,5316,10.961,5317,10.961,5318,10.961,5319,10.961]],["keywords/1052",[]],["title/1053",[141,364.638,236,287.742]],["content/1053",[1,3.858,9,2.739,18,5.315,21,4.547,58,4.123,77,6.848,97,11.452,141,7.546,193,4.609,194,4.45,204,5.259,229,8.27,236,5.382,248,4.922,264,5.652,310,3.74,328,5.035,345,6.404,353,18.714,362,3.5,363,2.316,390,2.426,409,6.473,429,3.385,443,4.018,447,7.535,475,2.942,496,8.178,516,7.463,520,5.315,524,2.834,540,4.07,545,3.805,562,8.538,623,5.43,644,6.779,671,10.959,677,4.716,699,6.332,713,4.944,730,6.92,756,5.991,764,4.816,797,11.119,804,3.65,824,2.525,838,3.89,842,5.318,872,6.92,886,4.857,887,5.131,889,4.427,983,7.126,1061,5.991,1200,8.733,1366,4.795,1618,8.733,2011,9.576,2012,12.572,2025,12.401,2037,4.922,2038,9.576,3252,8.343,3657,10.668,4509,10.547,5320,11.39,5321,11.39,5322,11.39,5323,9.245,5324,11.39,5325,11.39,5326,11.39,5327,11.39,5328,11.39,5329,10.547,5330,11.39,5331,11.39]],["keywords/1053",[]],["title/1054",[140,279.233,931,414.012]],["content/1054",[1,2.493,14,4.708,21,4.414,27,4.197,31,3.926,90,3.718,97,10.228,122,2.392,141,4.402,188,5.189,193,4.211,236,3.474,345,4.729,353,8.43,362,3.344,363,2.633,423,3.825,429,3.182,455,5.312,467,2.603,496,11.365,554,3.73,556,2.493,562,5.517,620,4.077,624,2.835,699,6.05,716,7.808,729,6.436,766,4.919,824,3.509,828,4.853,832,1.9,842,3.436,847,2.165,876,4.414,887,4.822,983,4.605,984,5.021,1037,10.624,1146,5.411,1272,4.646,1353,9.39,1386,6.192,1390,6.503,1502,9,1701,8.43,1768,8.013,2005,7.545,2011,9,2012,6.893,2025,15.578,2026,9,2030,9,2031,8.43,2032,15.835,2033,9,2034,13.308,2042,8.689,2053,9.39,2100,6.083,2296,12.848,2597,7.545,3431,6.807,4217,7.082,5099,8.689,5329,9.912,5332,17.439,5333,10.704,5334,20.808,5335,10.704,5336,10.704,5337,15.828,5338,10.704,5339,10.704,5340,10.704,5341,10.704,5342,9.39,5343,18.833,5344,10.704,5345,10.704,5346,13.885,5347,10.704,5348,10.704,5349,10.704,5350,10.704,5351,10.704]],["keywords/1054",[]],["title/1055",[115,924.103,779,1150.133]],["content/1055",[]],["keywords/1055",[]],["title/1056",[23,494.18,377,726.706]],["content/1056",[1,5.373,13,4.597,15,4.404,30,2.853,32,4.404,59,2.395,61,5.672,90,4.087,96,6.189,140,2.506,163,8.293,175,9.115,193,4.669,194,4.597,251,6.883,310,5.569,335,9.022,362,2.486,363,1.645,377,15.316,379,6.63,380,7.678,381,16.293,383,6.87,385,15.951,398,4.58,421,6.233,443,7.016,477,5.737,481,13.729,524,4.22,545,2.089,591,9.969,611,7.784,613,5.015,661,3.666,773,8.293,1024,13.871,1120,9.603,1253,4.547,1256,6.87,1433,9.557,1480,4.435,2163,5.38,3517,11.384,4144,8.448,4302,13.356,4860,16.293,5352,11.767,5353,11.767,5354,16.96,5355,16.96,5356,11.767,5357,11.767,5358,14.26,5359,11.767,5360,11.767,5361,16.96,5362,11.767,5363,11.767,5364,16.293,5365,11.767,5366,11.767]],["keywords/1056",[]],["title/1057",[377,726.706,591,566.55]],["content/1057",[21,3.532,30,2.781,59,3.99,67,6.077,90,3.985,96,6.034,133,6.308,140,2.443,141,3.19,174,3.472,175,6.165,178,8.588,193,2.321,194,4.481,197,8.82,212,9.311,236,3.654,246,4.125,251,6.758,274,3.683,275,6.636,322,4.25,352,6.358,377,11.921,385,13.85,411,10.063,423,4.099,429,3.41,467,1.04,481,10.865,584,7.295,591,4.957,613,6.36,658,7.819,678,5.625,719,4.913,764,4.85,766,5.271,803,9.034,837,6.41,840,7.352,898,5.41,944,3.175,971,7.602,973,3.745,1024,14.324,1122,6.969,1149,7.124,1199,7.947,1216,7.045,1269,6.077,1324,9.311,1573,5.593,1613,3.392,1846,10.622,2137,7.819,2279,6.41,2735,7.819,3378,7.947,3502,7.124,4144,8.236,4429,4.85,4860,8.588,5358,16.481,5367,10.622,5368,12.768,5369,11.471,5370,11.471,5371,13.516,5372,19.602,5373,11.471,5374,11.471,5375,21.507,5376,11.471,5377,16.651,5378,11.471,5379,11.471,5380,16.651,5381,11.471,5382,16.651,5383,11.471,5384,8.796,5385,16.651,5386,11.471,5387,16.651,5388,11.471,5389,16.651,5390,11.471,5391,11.471,5392,11.471,5393,11.471,5394,11.471,5395,11.471,5396,11.471,5397,11.471,5398,11.471,5399,11.471,5400,11.471,5401,11.471]],["keywords/1057",[]],["title/1058",[377,726.706,383,765.486]],["content/1058",[8,4.308,9,1.587,24,9.921,30,2.742,41,2.628,48,4.485,59,3.958,67,5.991,106,6.034,133,9.062,178,8.466,191,12.072,202,4.702,205,4.339,215,3.13,236,3.617,248,4.887,251,9.621,274,5.29,297,5.12,306,7.024,325,9.18,377,11.841,383,14.931,398,4.402,428,11.833,429,4.898,443,5.814,467,1.763,481,6.268,490,8.923,523,4.418,598,7.379,613,4.873,706,8.384,732,6.268,757,7.834,790,9.509,808,5.277,812,3.834,824,3.653,840,6.877,900,4.554,1036,7.814,1068,5.612,1221,8.672,1266,5.25,1345,9.921,1724,8.12,1895,5.646,1954,5.868,1991,8.284,2279,6.32,2547,6.871,2764,8.906,2814,9.18,2917,9.921,3378,7.834,3407,10.472,3501,8.284,3989,7.971,4210,9.921,5358,13.856,5368,8.672,5371,9.18,5402,11.309,5403,11.309,5404,11.309,5405,11.309,5406,11.309,5407,16.48,5408,16.48,5409,16.48,5410,11.309,5411,11.309,5412,11.309,5413,11.309,5414,11.309,5415,11.309,5416,11.309,5417,11.309,5418,11.309,5419,11.309,5420,11.309,5421,11.309,5422,11.309,5423,11.309,5424,11.309,5425,11.309,5426,11.309,5427,19.443,5428,11.309,5429,10.472,5430,11.309,5431,11.309,5432,11.309,5433,11.309,5434,11.309,5435,11.309,5436,11.309,5437,11.309,5438,11.309,5439,10.472,5440,16.48]],["keywords/1058",[]],["title/1059",[377,726.706,381,981.539]],["content/1059",[78,11.517,251,8.433,274,6.67,377,11.517,381,18.47,382,9.596,423,7.424,481,11.517,523,8.117,633,16.866,1024,12.493,2578,12.02,5358,17.47,5441,20.778,5442,20.778,5443,20.778]],["keywords/1059",[]],["title/1060",[377,726.706,1434,732.644]],["content/1060",[1,5.795,264,11.327,377,14.865,382,8.445,466,8.578,467,1.658,488,12.274,566,9.756,711,10.135,787,9.901,840,7.348,1008,8.488,1099,11.356,1142,11.356,1158,10.578,1225,11.23,1266,8.488,2036,18.527,3812,14.515,4498,20.022,4502,14.021,4524,14.021,4869,16.041,5444,18.286,5445,18.286,5446,7.867,5447,16.041]],["keywords/1060",[]],["title/1061",[203,1144.672]],["content/1061",[9,3.03,45,13.194,59,3.41,83,7.406,141,4.66,251,8.764,319,5.439,362,3.54,377,11.968,429,4.98,466,7.859,501,10.29,524,5.372,556,3.902,598,10.932,603,6.521,812,5.681,842,5.379,894,12.167,1008,7.778,1074,10.179,1266,7.778,1470,8.693,2060,13.194,3103,9.973,3964,14.697,4302,13.194,4498,14.697,4502,16.557,5448,15.514,5449,13.6,5450,16.755,5451,16.755,5452,16.755,5453,16.755,5454,16.755,5455,16.755,5456,7.372,5457,16.755,5458,16.755,5459,16.755,5460,16.755,5461,16.755,5462,14.697,5463,16.755,5464,16.755,5465,10.527,5466,16.755]],["keywords/1061",[]],["title/1062",[59,266.883,63,497.65]],["content/1062",[]],["keywords/1062",[]],["title/1063",[18,783.665]],["content/1063",[]],["keywords/1063",[]],["title/1064",[18,611.802,63,497.65]],["content/1064",[18,7.714,19,7.37,22,5.149,23,3.261,30,4.523,59,5.491,63,10.179,67,4.582,122,1.933,140,1.842,144,5.109,149,3.755,187,3.307,255,1.914,257,4.311,258,2.816,259,6.35,272,5.256,273,3.883,274,2.777,297,3.916,322,3.205,324,9.328,355,3.295,363,2.311,390,3.521,417,2.959,464,6.458,467,2.358,486,5.382,545,4.214,554,5.76,556,3.136,581,6.891,587,5.129,613,5.517,623,7.881,624,2.291,625,5.98,671,5.723,699,3.307,719,5.767,743,3.295,797,5.807,800,3.955,804,1.906,807,2.232,816,5.256,824,1.918,832,1.984,838,2.032,840,5.322,847,1.183,866,3.658,883,3.705,885,3.962,892,6.458,898,4.079,900,3.483,924,4.195,944,2.394,967,10.153,981,5.372,1158,5.004,1272,3.755,1329,7.524,1333,10.792,1365,8.563,1480,7.619,1613,4.889,1766,6.097,2216,14.591,2293,11.87,2294,5.572,2309,10.324,2311,4.55,2324,11.812,2394,5.149,2413,12.676,2414,12.376,2498,5.435,2619,5.896,2674,5.896,2749,7.861,3269,6.337,3619,6.097,3652,6.633,4471,7.588,4495,7.022,4865,6.682,4988,6.476,4989,8.01,5467,16.532,5468,8.651,5469,8.01]],["keywords/1064",[]],["title/1065",[18,501.762,30,260.685,310,353.064]],["content/1065",[18,8.205,19,8.798,30,4.263,59,5.396,63,8.453,67,9.314,144,5.434,187,6.721,257,5.629,258,5.724,274,5.644,467,2.019,545,3.953,556,5.186,605,9.825,613,7.228,623,8.382,625,7.809,807,2.914,824,3.898,832,2.11,835,11.984,840,5.66,1333,10.171,1480,6.627,1766,12.393,2216,15.178,2322,18.724,4126,16.281,4683,15.424,4865,8.725,5469,16.281]],["keywords/1065",[]],["title/1066",[141,364.638,236,287.742]],["content/1066",[]],["keywords/1066",[]],["title/1067",[141,299.054,429,319.608,5470,1075.304]],["content/1067",[1,5.687,5,7.335,6,7.863,38,7.217,41,5.328,74,8.597,141,7.528,174,4.656,187,5.881,236,5.359,269,5.945,274,6.556,285,8.527,319,4.995,362,4.315,363,3.414,390,3.277,408,6.424,417,5.264,424,9.348,429,4.573,489,6.648,565,7.778,610,10.844,624,4.074,625,6.833,756,10.742,836,4.898,957,8.9,1162,12.116,1214,7.59,1281,13.326,1366,6.478,1385,5.394,1683,5.84,1916,8.821,2012,15.725,5128,14.247,5471,15.386,5472,15.386,5473,15.386,5474,15.386,5475,15.386,5476,14.247]],["keywords/1067",[]],["title/1068",[19,424.8,1120,429.67,2005,757.892]],["content/1068",[14,4.671,19,8.156,83,9.126,90,7.171,141,6.835,286,7.283,363,2.886,417,7.062,482,11.095,501,12.678,637,14.55,816,12.542,983,8.881,1018,6.702,1904,17.357,5477,20.644,5478,20.644]],["keywords/1068",[]],["title/1069",[141,253.465,730,553.711,983,392.079,2012,586.904]],["content/1069",[9,2.768,19,5.773,21,5.299,50,3.644,77,8.786,90,5.076,97,10.524,141,7.441,174,4.422,193,3.993,236,4.33,287,5.909,328,6.46,345,4.366,362,3.088,390,4.757,475,3.775,523,5.709,545,4.245,554,5.092,581,4.704,623,6.966,640,9.96,756,7.686,789,5.954,804,3.22,828,6.849,838,5.617,842,4.691,889,3.905,944,5.461,1018,4.744,1078,8.305,1170,6.49,1212,9.181,2005,10.3,2006,7.073,2012,16.085,2016,9.809,2020,6.615,3431,9.293,3526,7.005,5479,14.613,5480,14.613,5481,14.613,5482,14.613,5483,14.613,5484,14.613]],["keywords/1069",[]],["title/1070",[235,429.787,236,200.013,983,392.079,5485,911.381]],["content/1070",[1,4.379,9,1.911,14,3.081,41,3.165,50,6.076,68,7.4,141,6.777,146,8.672,193,2.756,204,4.324,215,3.769,223,7.674,235,6.422,236,4.726,255,4.16,260,6.355,274,4.372,285,8.992,297,6.165,362,2.877,417,6.433,423,6.719,429,6.401,505,8.992,592,6.973,661,5.858,663,11.946,701,11.054,703,10.195,728,5.36,762,6.758,842,6.036,848,5.571,849,7.266,892,5.32,900,10.147,983,9.991,1048,10.593,1212,11.814,1216,8.364,1227,9.265,2005,9.599,2007,11.946,2010,11.45,2702,10.195,5486,21.536,5487,13.619,5488,13.619,5489,9.505,5490,13.619,5491,10.442]],["keywords/1070",[]],["title/1071",[287,322.068,3431,683.806,5492,943.268]],["content/1071",[1,5.597,5,5.609,9,1.651,14,2.662,19,4.648,35,9.266,48,4.666,50,2.934,51,6.025,85,5.226,90,4.087,140,3.612,141,7.183,146,4.738,174,3.561,187,4.498,188,5.704,193,3.432,215,3.257,236,3.722,248,5.084,283,7.873,285,4.913,287,6.91,316,5.434,319,3.82,329,3.82,355,6.46,362,4.874,398,4.58,417,4.025,418,9.695,429,5.041,467,2.092,478,7.873,487,5.327,545,3.53,603,4.58,609,6.189,610,8.293,637,8.293,644,7.004,658,8.02,713,5.107,716,8.366,726,6.746,730,7.149,741,7.678,756,6.189,800,5.38,812,3.989,836,3.746,842,3.777,882,6.025,941,5.986,944,3.257,945,6.746,956,7.678,961,9.266,971,4.563,1059,7.898,1078,6.687,1170,5.226,1279,6.746,1281,7.678,1344,6.105,2005,8.293,2012,16.632,2091,7.308,2280,14.878,2808,8.448,3431,7.483,3494,10.895,3502,10.533,3526,5.64,3628,8.02,4717,10.322,4839,10.895,4860,8.809,5492,10.322,5493,11.767,5494,11.767,5495,11.767,5496,11.767,5497,11.767,5498,11.767,5499,11.767,5500,11.767]],["keywords/1071",[]],["title/1072",[236,287.742,475,338.669]],["content/1072",[1,2.781,9,2.405,15,4.47,46,3.345,48,4.736,85,5.304,90,4.148,141,4.767,146,4.809,149,5.183,204,3.792,236,5.301,255,4.436,286,4.213,323,4.754,343,3.751,363,2.396,373,9.404,429,3.55,467,2.587,475,4.428,556,3.992,597,5.487,600,2.984,603,4.648,673,9.157,716,5.891,756,9.017,842,3.834,892,7.834,900,8.075,1059,8.016,1079,8.273,1215,4.529,1227,5.138,1338,8.273,1466,8.574,1871,13.499,1872,15.037,1873,16.86,1876,15.037,1880,15.037,2005,14.133,2009,10.476,2010,10.041,2012,7.69,3378,8.273,4564,15.873,5332,15.873,5501,11.942,5502,20.052,5503,11.942,5504,17.142,5505,17.142,5506,17.142,5507,17.142,5508,17.142,5509,17.142,5510,17.142,5511,17.142,5512,17.142,5513,17.142,5514,17.142,5515,11.942,5516,11.942,5517,11.942,5518,9.404]],["keywords/1072",[]],["title/1073",[85,582.284,464,512.203]],["content/1073",[9,2.915,50,5.181,141,6.862,215,5.751,423,7.424,429,6.176,467,1.884,505,10.301,592,12.632,848,8.5,892,8.117,941,10.57,2008,18.227,5519,20.778]],["keywords/1073",[]],["title/1074",[1100,833.769,1624,704.651]],["content/1074",[]],["keywords/1074",[]],["title/1075",[5520,1679.439]],["content/1075",[1,3.583,9,2.865,36,6.371,41,4.746,46,4.31,48,6.101,78,8.528,79,5.587,85,6.833,230,6.708,235,10.81,236,5.031,268,9.555,279,9.908,285,8.527,293,14.147,329,4.995,330,11.518,352,8.528,519,10.658,524,3.828,570,10.327,699,5.881,729,9.251,730,9.348,786,12.936,789,6.269,824,3.411,836,8.317,866,6.505,1048,6.101,1053,19.274,1054,11.797,1056,14.147,1099,9.555,1100,12.987,1103,7.59,1162,12.116,1216,9.449,1294,6.965,1624,10.976,2581,10.327,2606,13.497,4830,13.497,4866,14.247,5521,10.745,5522,15.386,5523,15.386,5524,15.386,5525,14.247]],["keywords/1075",[]],["title/1076",[61,518.326,1100,683.806,1624,577.911]],["content/1076",[1,5.104,27,8.594,61,10.564,467,1.987,1100,16.188,1624,13.681,5526,21.916]],["keywords/1076",[]],["title/1077",[1133,772.794,3794,611.802]],["content/1077",[1,6.157,27,7.469,59,3.877,61,9.181,146,9.426,223,10.733,235,8.982,236,4.18,272,11.572,330,14.259,467,1.727,524,4.739,587,7.255,820,5.705,900,7.67,1045,10.019,1048,7.553,1133,14.938,3794,8.888,3893,11.018,4081,16.015,4834,16.709,5521,8.381,5527,19.047,5528,19.047]],["keywords/1077",[]],["title/1078",[13,420.077,46,301.208,1100,683.806]],["content/1078",[1,5.432,9,2.657,13,9.112,27,7.424,30,4.59,41,5.421,61,9.127,204,6.012,214,14.518,215,5.241,223,10.669,236,4.155,248,8.182,421,10.03,424,11.504,467,1.717,506,11.055,587,7.212,589,15.92,731,11.27,798,14.518,900,7.625,1133,13.747,1358,12.041,3558,17.533,3794,8.835,4302,14.911,5529,18.935]],["keywords/1078",[]],["title/1079",[1,250.436,1197,757.892,5124,904.105]],["content/1079",[1,5.165,8,4.671,13,4.79,30,4.933,38,5.752,41,4.73,46,3.435,48,4.863,61,8.421,90,4.259,91,5.606,162,5.752,194,4.79,204,3.893,251,7.09,255,2.713,320,9.402,322,4.543,329,3.981,345,3.663,355,4.671,364,10.223,410,9.18,424,7.45,428,8.804,429,5.192,467,2.209,475,4.512,502,8.495,511,8.001,520,8.152,545,2.176,587,4.671,603,7.921,624,3.247,625,5.446,723,8.982,802,10.31,836,7.463,840,3.947,900,4.938,1036,5.814,1059,11.726,1099,7.615,1100,7.798,1133,7.228,1197,18.066,1563,7.531,1624,9.389,2172,10.31,2302,9.657,2579,8.982,2709,8.231,2779,10.31,2780,11.355,2875,10.31,3510,8.804,3530,10.31,3701,8.495,3794,8.152,3808,15.324,4459,8.982,4621,10.757,4830,10.757,5124,17.11,5530,12.262,5531,12.262,5532,12.262,5533,12.262,5534,12.262,5535,12.262,5536,12.262,5537,11.355,5538,12.262,5539,17.469,5540,12.262,5541,17.469,5542,12.262,5543,9.657,5544,12.262,5545,12.262,5546,9.657,5547,6.362,5548,12.262]],["keywords/1079",[]],["title/1080",[50,326.905,743,499.41]],["content/1080",[]],["keywords/1080",[]],["title/1081",[14,296.65,18,611.802]],["content/1081",[9,2.537,21,4.808,50,6.471,90,6.28,248,7.812,285,7.548,322,6.698,329,5.869,467,2.537,545,4.607,597,8.307,743,8.633,820,5.415,985,10.984,1245,17.149,1247,13.535,3986,12.981,5549,15.859,5550,17.847,5551,17.847,5552,14.237]],["keywords/1081",[]],["title/1082",[9,97.993,50,174.142,68,274.885,362,147.572,743,266.035,812,236.8]],["content/1082",[9,3.475,13,4.597,27,4.614,48,4.666,50,6.321,68,9.749,90,4.087,140,2.506,157,5.301,171,4.33,205,4.514,283,5.462,287,3.524,362,4.874,390,3.612,404,3.931,417,5.802,438,5.839,463,8.809,467,2.505,540,6.06,545,4.266,554,5.909,597,5.407,613,3.48,617,7.075,627,7.784,632,5.737,678,8.317,731,7.004,749,8.619,795,9.266,807,1.95,812,7.822,824,3.76,832,1.412,836,3.746,838,2.763,840,6.402,857,7.577,941,5.986,944,3.257,976,4.45,985,7.149,1158,6.807,1245,8.151,1279,11.401,1344,8.8,1466,8.448,1849,11.22,2241,9.551,2401,10.322,2701,7.898,3429,8.448,3986,8.448,4879,10.322,5549,10.322,5550,13.356,5551,13.356,5552,9.266,5553,11.767,5554,11.767,5555,10.322,5556,11.767,5557,11.767,5558,11.767,5559,11.767,5560,15.705,5561,11.767,5562,11.767,5563,10.895,5564,10.895,5565,11.767]],["keywords/1082",[]],["title/1083",[9,110.956,50,197.178,68,311.247,743,301.226,5566,732.281]],["content/1083",[9,2.892,15,4.698,27,4.921,50,5.588,68,10.149,90,4.36,140,2.673,144,5.489,157,5.654,204,3.985,223,7.072,283,5.826,329,4.074,362,2.652,390,2.673,413,6.468,417,6.076,467,2.541,540,4.485,545,4.719,554,4.373,597,5.767,613,3.712,617,7.546,644,7.47,678,6.155,719,5.376,732,6.956,807,2.08,812,4.255,824,3.937,832,1.506,836,5.654,838,2.948,840,4.04,842,5.701,941,6.385,956,8.189,960,5.176,985,10.79,1008,5.826,1245,8.694,1272,8.946,1279,10.182,1344,9.215,1849,8.303,2070,5.015,2248,7.133,2279,7.013,2402,11.01,3502,7.795,3986,9.011,5549,11.01,5550,13.986,5551,13.986,5552,9.884,5555,11.01,5560,16.445,5566,16.445,5567,12.551,5568,12.551,5569,12.551,5570,12.551,5571,12.551,5572,12.551,5573,12.551,5574,12.551]],["keywords/1083",[]],["title/1084",[1476,844.328,4276,855.508]],["content/1084",[50,5.595,91,6.743,140,3.141,174,4.463,223,8.31,248,8.578,286,5.203,287,4.417,328,6.519,467,2.463,523,5.761,545,3.983,625,6.55,739,9.793,743,8.548,847,3.069,862,8.61,874,12.4,878,12.061,894,11.186,985,12.061,1154,8.693,1245,13.753,1279,8.455,1344,7.652,1437,6.833,1849,9.757,2016,9.899,2070,5.893,2639,17.415,3428,18.383,3667,12.937,3986,10.589,4276,9.623,4879,12.937,5550,18.906,5551,17.673,5552,15.634,5563,13.656,5564,13.656,5575,13.656,5576,13.656,5577,13.656,5578,13.656,5579,13.656,5580,12.937,5581,12.937,5582,14.748,5583,14.748]],["keywords/1084",[]],["title/1085",[18,783.665]],["content/1085",[]],["keywords/1085",[]],["title/1086",[50,268.107,743,409.585,748,787.665]],["content/1086",[31,5.67,50,5.729,90,5.37,91,7.068,140,3.293,155,8.639,187,5.91,211,12.549,329,5.019,423,5.524,467,2.457,525,5.995,540,5.524,545,4.643,554,5.387,584,9.831,711,8.569,743,5.889,748,16.832,804,4.514,820,4.631,824,4.542,832,1.855,842,4.963,900,6.225,1245,10.71,1247,11.574,1274,10.537,1281,10.088,1300,12.175,1385,5.42,1437,5.321,1585,9.675,2610,6.428,2682,10.897,3371,11.325,3675,10.377,4123,10.228,5555,13.562,5584,13.562,5585,15.46,5586,15.46,5587,20.488,5588,15.46,5589,15.46,5590,15.46,5591,15.46,5592,15.46,5593,15.46]],["keywords/1086",[]],["title/1087",[50,268.107,706,547.029,743,409.585]],["content/1087",[9,2.856,11,10.607,15,5.732,31,5.616,50,5.076,58,5.543,68,9.001,133,11.194,140,3.261,194,5.982,219,10.13,329,4.971,410,11.463,417,5.238,421,8.111,443,5.402,467,2.482,540,5.471,545,4.504,563,10.436,706,10.356,711,8.487,739,7.553,743,7.754,748,11.216,766,7.036,947,6.865,985,12.368,1245,14.102,1257,12.429,1470,7.944,1992,9.861,1998,16.032,2626,13.432,3986,14.617,5550,18.01,5551,18.01,5552,16.032,5580,13.432,5581,17.858,5594,15.312,5595,15.312,5596,15.312]],["keywords/1087",[]],["title/1088",[898,791.987]],["content/1088",[9,2.254,15,4.089,50,2.724,68,6.323,85,4.851,90,3.794,108,6.12,140,3.422,174,3.306,187,4.176,223,6.155,229,5.454,255,3.555,275,12.156,322,5.953,349,7.128,390,2.326,467,2.421,520,5.097,545,3.73,624,2.893,634,6.006,703,12.028,706,5.557,743,4.161,794,6.438,824,2.422,847,2.606,878,9.761,894,9.053,898,12.155,909,6.438,967,6.709,982,2.926,985,13.604,1245,14.557,1344,5.667,1362,7.843,1385,3.83,1437,8.332,1476,7.034,1480,4.117,2020,4.945,2597,7.699,2603,7.445,2639,14.094,2735,14.322,2799,9.867,3647,10.115,3667,16.717,3986,16.078,4276,16.206,5550,15.008,5551,15.008,5552,12.652,5575,10.115,5576,10.115,5577,10.115,5578,10.115,5579,10.115,5580,9.582,5581,19.643,5597,9.582,5598,10.923,5599,16.067,5600,19.057,5601,19.057,5602,10.923,5603,10.923,5604,16.067,5605,10.923,5606,10.923]],["keywords/1088",[]],["title/1089",[766,602.455,1018,425.637]],["content/1089",[]],["keywords/1089",[]],["title/1090",[194,656.088]],["content/1090",[11,14.68,68,9.824,194,8.278,230,9.239,748,15.522,1221,16.248,1480,9.408,3980,19.622,4276,13.827,5607,21.191,5608,21.191,5609,21.191]],["keywords/1090",[]],["title/1091",[1480,633.001]],["content/1091",[31,7.523,50,6.104,68,9.636,248,8.863,257,6.567,443,7.237,540,7.329,563,13.981,566,10.944,603,7.984,743,7.813,748,15.025,1437,7.06,1480,7.731,4282,15.356,5610,15.728,5611,20.512]],["keywords/1091",[]],["title/1092",[74,732.644,592,671.315]],["content/1092",[]],["keywords/1092",[]],["title/1093",[50,227.236,74,509.271,91,416.678,592,466.64]],["content/1093",[1,3.499,9,2.108,27,7.882,56,11.965,58,5.439,59,4.611,74,13.516,79,5.456,174,4.547,193,3.041,215,5.564,285,6.273,286,5.301,297,6.802,306,9.331,322,5.567,329,4.878,345,4.489,352,8.328,357,5.624,373,11.832,374,8.466,428,10.788,467,1.823,475,5.852,482,10.804,490,8.135,504,12.783,584,9.555,587,7.657,592,13.962,600,3.754,651,8.396,716,7.412,737,10.968,764,6.353,1008,6.975,1196,8.538,1223,11.248,1386,8.691,2161,8.262,3398,13.18,3431,9.555,3501,11.006,3562,13.912,4975,12.484,5057,12.633,5612,15.025,5613,15.025,5614,16.901,5615,15.025]],["keywords/1093",[]],["title/1094",[737,916.313]],["content/1094",[1,5.104,15,8.204,55,14.938,74,12.247,592,11.221,728,8.626,737,11.958,1385,7.684,4975,13.611]],["keywords/1094",[]],["title/1095",[737,715.359,4975,814.264]],["content/1095",[1,4.747,9,3.422,47,13.299,188,9.88,193,4.125,299,13.483,355,7.763,418,9.937,497,17.879,504,16.598,592,10.436,737,11.12,951,11.207,1379,13.483,4975,15.147,5616,20.381]],["keywords/1095",[]],["title/1096",[55,893.637,737,715.359]],["content/1096",[55,16.873,56,10.761,74,10.103,342,13.863,357,6.767,379,10.187,467,2.473,475,4.67,505,7.548,545,3.209,556,4.211,592,9.257,728,7.116,731,10.761,737,9.864,1061,9.51,1107,12.524,1110,5.485,1610,7.955,1922,15.201,3536,15.201,5057,15.201,5614,15.201,5617,18.079,5618,24.756,5619,18.079,5620,18.079,5621,18.079,5622,22.663,5623,18.079]],["keywords/1096",[]],["title/1097",[74,600.869,592,550.571,1279,616.465]],["content/1097",[1,4.333,48,9.149,56,13.733,59,4.696,74,14.014,79,6.756,108,7.087,146,7.492,157,8.381,193,3.765,215,5.15,352,10.312,355,7.087,362,4.875,587,7.087,592,13.425,600,4.649,603,7.241,887,8.381,951,10.23,1279,10.666,2649,15.643,3027,11.303,3437,14.651,5057,15.643,5614,15.643]],["keywords/1097",[]],["title/1098",[467,97.494,1018,349.081,1906,721.77]],["content/1098",[1,3.483,9,2.098,15,5.598,41,3.476,55,13.658,56,11.927,68,7.887,74,15.381,85,8.9,108,5.696,122,3.342,148,8.159,248,6.462,297,6.77,322,5.541,345,4.468,355,5.696,357,5.598,398,5.821,423,5.343,429,4.445,453,7.052,475,5.176,478,6.942,482,10.77,498,10.193,504,9.51,571,7.979,587,7.633,592,14.48,600,5.007,651,11.198,746,6.837,1152,13.118,1279,8.573,1332,10.54,1352,9.184,2020,6.77,2161,8.223,2415,11.195,3429,10.737,3812,9.51,4459,10.954,5624,14.955,5625,14.955,5626,13.847]],["keywords/1098",[]],["title/1099",[175,704.651,230,571.651]],["content/1099",[]],["keywords/1099",[]],["title/1100",[61,518.326,175,577.911,230,468.833]],["content/1100",[1,5.472,27,7.513,61,9.236,243,10.298,272,11.642,279,12.339,322,7.099,345,7.019,467,1.737,570,12.862,587,7.299,656,11.768,690,20.61,739,11.59,741,12.503,900,7.716,1100,12.185,1133,13.848,1624,12.627,3812,12.185,4283,16.809,5627,19.161,5628,19.161,5629,19.161]],["keywords/1100",[]],["title/1101",[13,512.203,14,296.65]],["content/1101",[]],["keywords/1101",[]],["title/1102",[140,279.233,3879,1064.253]],["content/1102",[1,5.667,14,5.694,15,5.076,23,5.111,27,5.317,41,3.152,42,11.008,50,3.381,51,6.943,56,8.072,59,3.816,68,5.337,79,4.925,90,4.71,91,6.2,141,6.767,149,5.886,159,11.896,164,7.183,189,8.733,205,5.202,262,7.288,297,6.139,319,6.976,329,4.402,354,7.288,363,1.896,417,6.414,423,4.846,441,10.398,464,5.298,486,4.415,489,5.86,490,10.151,504,8.624,520,6.328,524,3.374,540,6.699,542,9.558,625,6.023,648,8.624,699,5.184,711,7.516,716,6.689,755,10.152,766,8.615,808,6.328,824,3.006,832,1.627,847,1.855,982,5.022,1008,6.295,1018,4.402,1037,9.102,1385,4.754,1390,8.239,1512,7.641,2344,11.008,2390,9.243,2710,9.933,3733,11.008,4123,8.971,4328,12.557,4701,10.398,4925,12.557,5630,18.748,5631,13.561,5632,13.561,5633,11.896,5634,13.561,5635,13.561,5636,13.561,5637,13.561,5638,13.561,5639,12.557,5640,13.561,5641,13.561]],["keywords/1102",[]],["title/1103",[857,844.328,2769,1005.321]],["content/1103",[1,2.476,9,2.21,14,5.878,16,4.814,19,4.201,30,3.818,31,3.9,41,5.147,46,6.496,51,5.444,59,2.164,67,5.632,79,3.862,91,4.861,122,2.377,140,3.995,144,3.286,171,3.913,193,4.197,194,4.154,197,5.632,205,6.042,255,2.353,263,5.517,283,7.311,285,4.44,286,3.751,345,3.177,355,4.05,362,2.247,363,2.202,417,3.638,418,9.146,423,5.628,429,6.582,467,2.355,486,3.462,489,4.595,524,5.77,540,3.799,554,3.705,565,5.375,570,7.137,574,8.631,597,9.53,603,4.139,623,5.069,625,4.722,716,5.245,728,4.185,739,5.245,766,7.237,812,3.605,824,3.492,832,1.276,836,6.603,840,3.423,847,1.454,887,4.79,982,4.219,983,6.776,984,4.988,986,7.247,1037,7.137,1079,7.366,1085,8.153,1088,9.328,1120,4.249,1127,7.034,1133,6.267,1143,8.631,1390,6.46,1391,7.635,1470,8.172,1624,5.715,1946,8.94,1957,8.153,1964,8.94,2137,10.735,2344,8.631,2350,8.631,2814,8.631,3739,9.846,3867,9.328,4834,9.328,5633,13.816,5642,10.633,5643,10.633,5644,10.633,5645,10.633,5646,10.633,5647,14.584,5648,10.633,5649,10.633,5650,10.633,5651,10.633,5652,10.633,5653,10.633,5654,10.633]],["keywords/1103",[]],["title/1104",[193,339.865]],["content/1104",[1,2.082,4,4.805,9,1.938,14,5.286,19,3.532,41,3.21,45,7.041,46,2.504,50,2.229,59,4.178,79,3.247,85,7.497,90,3.106,91,4.088,105,6.301,117,7.027,122,4.849,136,5.126,139,11.573,140,2.942,157,4.028,174,2.706,181,6.693,187,3.418,193,4.852,200,5.915,214,6.855,236,4.167,255,1.978,280,7.517,297,4.047,301,4.67,319,4.484,329,5.48,362,2.919,363,1.931,369,6.301,374,5.038,382,4.129,390,3.595,404,4.615,418,6.735,421,4.736,429,4.106,453,4.216,467,2.374,489,3.863,513,4.578,516,6.223,554,4.813,556,3.217,558,3.48,563,6.094,590,6.693,613,2.644,618,5.757,632,4.359,634,4.916,681,6.193,727,7.919,729,5.375,743,3.405,762,4.437,807,1.482,808,6.446,812,4.683,824,4.209,836,5.374,842,2.87,887,4.028,945,7.919,983,3.846,1008,4.15,1078,5.081,1120,8.202,1144,6.193,1266,4.15,1385,3.135,1390,11.536,1391,9.918,1470,4.639,1477,6.001,1559,7.843,1613,4.085,2137,6.094,2145,6.621,2163,4.088,2179,9.569,2388,6.549,2769,10.592,3195,8.279,3448,4.996,3468,7.257,3512,8.279,3730,7.041,3779,4.491,3804,7.517,3928,7.257,4429,3.78,5655,8.941,5656,13.813,5657,8.941,5658,8.941,5659,8.279,5660,8.941,5661,8.941,5662,13.813,5663,8.941,5664,8.941,5665,8.941,5666,13.813,5667,8.941,5668,8.941,5669,8.941,5670,8.941,5671,13.813,5672,8.941,5673,8.941,5674,13.813,5675,8.941,5676,8.941,5677,8.941,5678,8.941,5679,8.941,5680,8.941]],["keywords/1104",[]],["title/1105",[46,470.435]],["content/1105",[1,2.042,9,3.418,13,6.514,14,1.984,16,3.97,19,3.464,22,5.219,25,10.68,34,9.892,38,4.113,46,6.503,51,4.49,90,3.046,122,4.2,136,5.027,140,3.551,141,2.439,157,3.951,162,6.383,174,2.654,193,2.754,194,3.426,195,5.722,205,3.364,215,2.427,253,5.886,257,2.807,260,6.35,267,6.181,280,7.373,283,4.071,284,7.118,285,3.661,287,2.626,297,3.97,322,3.249,354,8.962,355,3.34,362,5.603,373,6.906,390,3.551,404,2.93,411,7.692,423,4.862,424,5.328,429,6.047,453,4.135,467,1.952,476,5.722,487,3.97,500,6.741,524,4.675,540,4.862,584,5.576,597,6.253,603,5.297,624,2.322,651,4.9,661,2.732,694,6.724,699,3.352,711,4.86,746,4.009,764,3.708,812,8.26,824,1.944,836,7.59,840,4.381,873,8.451,881,7.373,928,4.612,944,3.767,949,8.288,956,8.879,968,5.073,983,3.772,988,7.368,1078,4.983,1090,11.046,1120,3.504,1134,6.075,1135,5.722,1215,2.317,1390,5.328,2175,12.262,2248,4.983,2581,5.886,2697,8.12,3438,10.604,3502,5.446,3506,4.433,3619,6.181,3632,7.373,3795,7.692,4226,8.12,4467,8.12,5148,7.692,5164,12.601,5681,8.769,5682,8.769,5683,8.769,5684,8.769,5685,8.769,5686,8.769,5687,8.769,5688,8.769,5689,16.675,5690,8.769,5691,8.769,5692,13.608,5693,8.769,5694,8.769,5695,8.769,5696,8.12,5697,8.12,5698,8.769,5699,8.12,5700,8.12,5701,8.769]],["keywords/1105",[]],["title/1106",[1954,871.352]],["content/1106",[8,7.813,41,5.69,310,6.735,418,10.001,429,7.277,613,6.066,824,4.547,866,8.673,945,11.759,1581,7.731,1690,16.153,2609,18.993,4429,8.673,5639,18.993,5702,18.993,5703,20.512,5704,20.512]],["keywords/1106",[]],["title/1107",[14,296.65,141,364.638]],["content/1107",[1,5.412,9,3.537,14,5.258,16,8.521,59,3.832,141,7.011,157,8.48,164,13.354,178,14.092,187,7.195,257,6.026,260,8.783,270,11.318,418,9.177,423,6.726,429,5.595,667,10.606,1031,15.827,1196,10.697,1558,11.827,1611,12.453,2412,14.272,3554,16.512,5705,18.823]],["keywords/1107",[]],["title/1108",[14,296.65,16,593.547]],["content/1108",[9,2.481,13,6.907,14,5.825,58,6.4,140,3.765,164,9.365,208,8.937,223,9.962,374,9.962,379,9.962,467,2.459,504,11.243,554,6.16,565,8.937,609,9.3,612,10.047,613,5.228,694,13.556,928,9.3,982,4.736,984,8.293,1033,9.879,1078,10.047,1388,14.351,1573,8.62,1654,14.865,2100,10.047,3471,14.865,5249,16.371,5633,15.509,5647,20.693,5706,17.68,5707,17.68,5708,17.68,5709,17.68]],["keywords/1108",[]],["title/1109",[330,1257.267]],["content/1109",[]],["keywords/1109",[]],["title/1110",[61,631.998,330,981.539]],["content/1110",[1,5.175,27,8.713,61,10.711,330,16.635,467,2.015,587,8.464,900,8.948]],["keywords/1110",[]],["title/1111",[41,304.723,787,709.93]],["content/1111",[]],["keywords/1111",[]],["title/1112",[5710,1473.221]],["content/1112",[1,1.156,6,1.911,9,1.197,14,1.123,21,1.053,30,1.203,32,1.858,38,2.328,41,4.076,46,5.962,50,1.237,58,1.796,59,1.737,63,1.884,68,4.416,79,1.802,83,3.771,122,1.109,140,2.39,144,4.116,149,3.703,157,2.236,164,5.944,193,2.695,204,4.764,209,2.925,215,3.687,221,2.063,222,2.629,229,2.478,230,3.72,237,3.635,243,2.667,248,2.144,251,2.014,257,8.448,260,2.316,262,2.667,269,4.335,274,3.602,286,1.751,301,2.592,309,3.331,310,3.684,343,1.559,352,2.751,357,1.858,363,3.216,374,2.796,382,2.292,387,3.805,390,3.195,408,2.072,409,10.523,417,2.919,438,2.463,450,2.773,467,2.611,475,4.53,486,2.777,489,5.756,505,3.562,520,2.316,524,3.314,525,1.925,526,2.194,537,4.028,556,2.613,605,4.767,613,1.468,624,2.259,661,1.546,702,9.644,716,2.448,719,2.126,728,3.358,732,2.751,746,2.269,749,3.635,756,4.487,786,4.173,787,4.619,789,2.022,804,1.094,805,3.635,807,3.61,808,5.236,809,9.388,812,2.892,813,3.635,815,10.545,816,5.183,820,3.361,828,2.616,829,3.082,830,2.845,838,3.524,842,1.593,848,3.49,849,4.552,852,6.925,853,6.925,854,11.684,855,4.173,856,2.773,857,3.196,858,4.353,859,3.908,860,2.592,861,3.908,863,3.638,866,5.632,868,5.028,882,2.541,883,2.126,885,1.46,900,1.998,921,2.366,929,6.613,933,3.082,944,4.153,960,3.518,966,3.015,968,2.871,983,3.67,988,2.687,992,5.129,1014,3.431,1039,5.298,1103,2.448,1157,2.629,1192,3.383,1225,3.048,1265,3.238,1294,2.247,1385,2.991,1423,3.498,1501,9.108,1512,2.796,1686,2.366,1724,3.563,1736,5.425,1838,2.098,2091,3.082,2102,3.118,2199,2.478,2248,4.848,2412,6.891,2611,3.715,2682,3.498,2735,3.383,2890,4.87,3315,3.563,3378,3.438,3452,4.028,3784,3.563,3796,2.353,4601,4.353,4716,4.173,5711,8.531,5712,4.028,5713,4.353,5714,8.531,5715,8.531,5716,7.9,5717,4.963,5718,8.531,5719,4.963,5720,4.963,5721,8.531,5722,8.531,5723,8.531,5724,4.963,5725,8.531,5726,4.963,5727,4.963,5728,4.963,5729,4.963,5730,4.963,5731,18.516,5732,8.531,5733,4.963,5734,4.963,5735,4.963,5736,4.963,5737,4.595,5738,8.531,5739,8.531,5740,4.963,5741,4.963,5742,4.963,5743,4.963,5744,4.963,5745,4.963,5746,4.963,5747,4.963,5748,4.963]],["keywords/1112",[]],["title/1113",[661,523.196]],["content/1113",[2,11.201,9,3.247,16,9.365,19,6.197,41,5.379,58,5.678,83,6.934,149,6.809,162,7.359,164,8.31,213,13.761,223,8.839,237,11.491,245,13.19,250,11.264,251,6.367,283,7.282,285,6.55,328,9.144,349,10.236,398,6.106,414,10.378,417,5.367,442,9.337,453,7.398,524,3.903,565,10.457,624,5.478,661,6.444,787,12.532,860,8.195,866,6.633,976,5.933,983,11.003,1033,8.766,1062,9.742,1379,10.378,1612,15.102,2198,11.859,2391,7.785,2412,9.634,3622,14.526,3893,9.075,4716,17.393,5749,15.687,5750,15.687,5751,15.687]],["keywords/1113",[]],["title/1114",[1906,1127.28]],["content/1114",[1,3.172,19,7.428,38,6.388,41,3.165,46,3.815,58,6.806,63,5.169,67,7.214,90,4.73,108,5.187,122,4.202,144,4.209,187,5.206,204,6.838,243,10.106,257,7.802,260,6.355,274,4.372,285,5.686,297,6.165,357,5.098,362,3.973,363,3.011,393,8.027,409,7.739,443,4.805,478,8.729,486,4.434,525,5.281,568,7.266,600,3.403,605,7.61,609,7.163,624,3.606,625,9.564,656,11.548,713,5.911,728,7.4,756,7.163,787,7.374,789,7.661,812,4.617,842,6.036,857,8.77,866,5.758,983,5.859,1018,4.421,1103,9.275,1157,7.214,1205,5.131,1224,10.725,1294,6.165,1385,6.592,1719,11.054,1849,9.01,1906,12.621,2391,6.758,2412,13.226,2581,9.141,2777,6.528,3315,9.778,3459,11.45,3502,8.458,3891,11.45,5716,12.61,5752,18.803,5753,13.619,5754,13.619,5755,13.619,5756,13.619,5757,11.946]],["keywords/1114",[]],["title/1115",[1,305.359,1686,625.025]],["content/1115",[]],["keywords/1115",[]],["title/1116",[5758,1555.113]],["content/1116",[97,9.449,408,8.966,409,12.204,812,8.529,862,12.538,931,6.781,1581,8.094,3777,16.466,3989,15.136,5758,19.885,5759,21.475]],["keywords/1116",[]],["title/1117",[5760,1473.221]],["content/1117",[]],["keywords/1117",[]],["title/1118",[5761,843.665]],["content/1118",[1,4.968,9,2.993,139,9.903,193,4.317,243,11.465,408,8.906,523,8.334,719,9.137,1686,10.169,3526,10.225,3989,15.035,5761,10.716,5762,21.332]],["keywords/1118",[]],["title/1119",[5760,1473.221]],["content/1119",[]],["keywords/1119",[]],["title/1120",[5763,1555.113]],["content/1120",[1,4.392,9,2.646,15,5.119,19,7.45,46,3.831,50,3.41,85,6.074,90,6.551,91,6.253,146,5.507,174,4.139,187,7.209,193,2.768,221,5.687,230,5.963,235,6.45,236,3.002,251,5.551,267,9.64,319,4.44,362,3.985,363,1.912,408,7.874,417,4.679,455,6.787,467,1.24,471,6.349,475,3.533,477,6.668,481,7.58,523,9.089,525,5.304,589,11.499,690,11.997,728,5.383,812,6.394,838,3.212,900,5.507,1018,4.44,1045,7.194,1059,9.18,1135,8.924,1136,11.499,1146,6.914,1379,9.048,1584,9.048,1585,5.758,1682,10.239,1686,6.52,1916,7.841,1954,7.096,2578,7.912,2610,5.687,3378,9.474,3526,6.556,3777,10.487,3816,6.871,3989,9.64,4836,7.049,5699,12.664,5761,9.474,5763,24.394,5764,13.677,5765,7.144,5766,6.018,5767,15.308,5768,13.677,5769,13.677,5770,12.664,5771,13.677,5772,13.677,5773,13.677,5774,13.677,5775,13.677,5776,13.677,5777,13.677,5778,13.677]],["keywords/1120",[]],["title/1121",[1686,800.603]],["content/1121",[1,5.035,21,4.586,41,5.87,257,6.921,537,17.549,600,5.402,804,4.764,866,9.141,1581,8.149,1686,10.307]],["keywords/1121",[]],["title/1122",[1683,637.447]],["content/1122",[]],["keywords/1122",[]],["title/1123",[408,448.955,976,406.712,1683,408.142]],["content/1123",[38,10.074,79,7.799,205,8.238,421,11.376,490,11.628,976,8.123,2390,14.637,2456,18.056,3057,18.056,4756,17.432,5710,18.838,5779,18.838]],["keywords/1123",[]],["title/1124",[218,662.774,1838,554.366]],["content/1124",[1,5.241,85,7.94,215,4.948,218,9.037,322,6.624,362,4.755,390,3.807,408,7.464,464,6.984,467,2.466,789,7.284,807,3.73,812,6.061,849,9.538,924,7.011,944,4.948,1225,13.821,1279,12.901,1344,11.676,1385,6.268,1683,6.786,1838,9.515,2400,12,5712,14.511,5713,15.682,5780,17.877,5781,17.877,5782,17.877,5783,17.877]],["keywords/1124",[]],["title/1125",[274,345.197,362,227.2,5784,1075.304]],["content/1125",[21,5.115,274,8.311,467,2.563,624,5.296,789,8.149,812,6.781,2597,14.096,5323,16.234,5779,17.544,5785,24.114,5786,19.999,5787,19.999,5788,19.999]],["keywords/1125",[]],["title/1126",[30,317.855,408,547.414]],["content/1126",[1,2.219,5,4.541,8,5.524,16,4.312,21,4.907,85,6.44,90,3.309,144,2.944,174,2.883,202,3.961,204,3.024,218,4.815,235,4.492,236,2.091,246,3.426,251,7.126,269,5.603,310,3.128,319,3.092,322,3.529,362,2.013,374,5.367,390,2.029,408,9.955,467,2.591,482,5.12,486,3.101,488,9.734,526,4.211,545,2.574,562,4.909,624,5.892,658,9.884,677,3.944,789,3.881,797,6.394,807,1.579,887,4.291,967,5.85,976,3.603,1018,4.708,1051,7.502,1061,7.628,1153,13.145,1192,9.884,1682,13.145,1683,3.616,1687,4.098,1838,4.028,2486,8.356,2710,6.978,2749,5.562,2875,8.009,3209,12.721,3399,8.009,3448,12.927,3520,7.131,3619,6.714,3802,7.502,3816,4.785,3989,17.559,4836,4.909,5323,14.253,5456,4.191,5465,9.111,5476,8.821,5712,7.732,5713,8.356,5737,8.821,5779,15.403,5789,14.502,5790,9.526,5791,17.559,5792,19.628,5793,9.526,5794,9.526,5795,9.526,5796,9.526,5797,21.122,5798,9.526,5799,14.502,5800,14.502,5801,14.502,5802,9.526,5803,9.526,5804,9.526,5805,14.502,5806,14.502,5807,9.526,5808,9.526,5809,9.526,5810,9.526,5811,9.526,5812,7.732,5813,9.526,5814,9.526]],["keywords/1126",[]],["title/1127",[408,448.955,1683,408.142,2737,824.502]],["content/1127",[1,6.204,9,3.001,19,5.312,21,2.852,34,6.179,140,2.864,148,7.337,172,9.655,197,7.123,286,4.744,310,6.12,319,4.365,335,10.311,355,5.122,362,5.126,393,7.926,408,9.644,429,3.997,467,2.276,511,13.958,516,6.058,523,10.536,524,3.345,526,5.944,566,7.174,796,9.655,820,4.028,828,4.123,976,5.086,1099,8.351,1272,5.837,1281,8.774,1573,6.556,1683,10.431,2610,5.591,2740,6.633,3247,16.35,3524,10.589,3789,5.614,3998,10.589,5323,10.915,5465,8.449,5710,11.796,5712,10.915,5812,10.915,5815,12.452,5816,13.447,5817,9.165,5818,21.392,5819,13.447,5820,11.796,5821,13.447,5822,12.452]],["keywords/1127",[]],["title/1128",[1,250.436,4443,995.701,4444,995.701]],["content/1128",[]],["keywords/1128",[]],["title/1129",[63,408.142,363,150.319,566,573.699]],["content/1129",[1,5.934,41,5.921,63,7.317,362,4.073,363,3.807,523,7.531,600,5.892,887,8.684,1110,5.849,1366,8.116,1480,7.266,1610,8.482,1613,7.85,1677,11.062,3383,17.85,5823,19.277]],["keywords/1129",[]],["title/1130",[1,162.665,174,211.362,363,97.636,600,174.523,624,184.954,1677,327.622]],["content/1130",[1,5.95,9,2.721,41,5.501,50,4.835,59,4.818,68,7.633,90,6.736,171,7.137,362,4.098,363,3.309,505,9.882,521,12.721,812,6.575,824,4.299,947,8.695,1677,11.103,2671,13.669,5824,23.669,5825,19.394]],["keywords/1130",[]],["title/1131",[358,236.8,363,97.636,545,123.969,556,162.665,824,154.837,982,187.09]],["content/1131",[1,5.166,27,5.653,61,6.949,90,6.791,140,4.163,174,4.363,283,6.692,285,6.019,319,4.68,358,6.628,362,3.046,363,2.733,457,11.701,467,2.451,488,9.676,490,7.806,524,6.185,545,2.559,556,5.166,600,5.543,692,7.432,746,6.591,812,4.888,820,5.855,824,4.918,887,6.494,976,5.452,982,7.243,1018,4.68,1272,6.257,1336,5.994,1366,8.231,1470,7.479,1677,9.17,2161,10.75,3468,15.868,5826,10.792,5827,14.416,5828,9.986,5829,14.416,5830,19.549,5831,14.416,5832,14.416,5833,14.416,5834,12.646]],["keywords/1131",[]],["title/1132",[14,206.205,194,356.039,358,308.997,1352,559.715]],["content/1132",[1,4.572,9,3.346,15,8.926,187,7.504,344,12.983,358,8.084,363,2.744,417,6.716,554,6.84,944,5.434,1110,5.956,1261,8.931,3657,12.642,5835,19.631,5836,25.683,5837,19.631,5838,19.631,5839,19.631,5840,19.631]],["keywords/1132",[]],["title/1133",[122,240.33,363,150.319,566,573.699]],["content/1133",[1,5.781,9,2.735,50,4.859,90,4.985,122,5.955,140,4.713,193,2.904,202,5.967,273,5.621,283,6.662,287,6.629,322,5.317,363,3.776,488,9.633,524,3.57,533,6.404,566,10.398,600,5.53,743,5.466,820,4.298,824,4.321,887,6.465,947,9.922,973,6.363,1142,8.913,1476,9.242,1477,9.633,1613,4.244,1677,11.644,1822,10.744,1823,14.944,2799,8.814,3027,8.719,3378,9.942,4992,13.289,5841,14.351,5842,8.459,5843,12.066,5844,14.351,5845,14.351,5846,14.351,5847,14.351,5848,14.351,5849,14.351,5850,19.49,5851,14.351,5852,11.004]],["keywords/1133",[]],["title/1134",[59,127.297,79,227.112,363,87.423,486,203.593,566,333.653,1423,440.776,1529,419.768]],["content/1134",[1,4.544,41,5.521,59,5.214,79,7.086,140,4.155,187,7.459,285,8.146,322,7.229,343,6.128,363,3.321,554,6.798,566,12.675,824,4.326,898,9.201,947,8.748,1529,13.097,1677,9.153,5853,8.321,5854,19.512,5855,19.512,5856,19.512,5857,19.512]],["keywords/1134",[]],["title/1135",[1619,1043.002]],["content/1135",[]],["keywords/1135",[]],["title/1136",[30,317.855,1619,814.264]],["content/1136",[1,3.353,2,2.148,6,1.527,8,3.594,9,2.887,13,5.089,14,0.897,19,1.567,21,2.001,23,6.247,26,2.825,27,1.555,30,0.962,31,1.455,36,1.643,41,2.649,46,4.643,48,2.782,50,2.352,59,2.32,63,1.506,108,5.483,117,3.569,122,0.887,140,2.428,144,2.168,149,1.722,167,4.578,169,2.058,171,1.46,174,3.942,193,0.803,194,2.741,200,2.624,202,1.649,204,1.259,215,1.942,218,2.005,220,6.279,221,1.649,236,0.871,246,1.426,255,3.862,257,3.02,269,1.533,272,4.263,274,1.273,285,1.656,287,1.188,290,2.588,292,1.881,299,2.624,310,1.302,316,1.832,319,1.288,322,1.47,328,1.753,340,1.656,346,1.993,357,1.485,358,3.199,362,5.023,363,2.807,382,4.357,390,3.315,392,2.031,398,6.058,404,1.325,408,4.759,414,2.624,423,3.371,429,4.926,434,1.832,440,1.656,454,2.361,466,1.861,467,1.771,468,2.018,471,1.841,475,4.021,477,4.6,481,2.199,486,1.291,487,1.796,500,5.266,523,4.453,524,5.859,525,5.052,526,3.102,533,1.77,534,1.544,545,3.467,556,1.634,587,1.511,591,1.714,597,1.823,600,0.991,613,1.173,620,1.511,624,3.449,636,2.97,678,1.945,688,1.993,692,3.819,699,1.516,700,5.362,713,1.722,728,2.762,746,1.814,762,1.968,764,1.677,777,2.554,789,1.616,800,3.208,804,0.874,812,1.345,820,5.46,824,0.879,838,1.648,840,3.037,863,2.992,876,1.636,931,2.216,944,1.098,960,2.894,969,2.235,971,1.538,973,2.291,976,6.895,982,5.938,1036,1.881,1048,3.741,1077,2.018,1092,1.993,1120,2.804,1141,3.291,1157,2.101,1170,3.116,1198,4.627,1205,2.575,1210,3.547,1214,1.957,1215,1.048,1227,1.706,1238,1.934,1253,1.533,1261,3.192,1266,4.38,1272,6.248,1276,2.848,1336,1.649,1366,3.972,1379,2.624,1385,3.308,1431,5.526,1437,1.365,1475,1.591,1479,5.38,1480,3.556,1581,4.296,1585,3.972,1610,1.745,1619,8.94,1644,1.173,1680,2.005,1683,5.908,1686,6.21,1687,1.706,1838,3.989,1895,4.71,1896,1.722,1986,1.945,2002,8.021,2015,3.005,2020,4.271,2037,1.714,2070,1.585,2137,2.704,2161,5.188,2163,1.814,2199,1.98,2255,1.891,2365,1.706,2387,1.745,2391,1.968,2392,1.745,2551,1.636,2610,3.923,2619,11.297,2640,1.745,2675,2.031,2738,2.662,2740,1.957,2777,1.901,2823,2.748,2890,1.722,3097,4.114,3103,2.361,3457,2.058,3460,2.217,3506,2.005,3526,5.464,3556,1.957,3629,1.968,3653,1.745,3657,2.554,3779,1.993,3789,2.93,3794,5.319,3796,1.881,3816,4.74,3839,2.031,3842,3.525,3893,2.295,4004,5.762,4083,3.64,4429,2.967,4585,2.058,4675,2.436,4755,1.968,4759,2.018,4836,2.044,4865,1.968,5019,3.48,5088,2.031,5446,3.019,5456,1.745,5489,2.005,5521,1.745,5547,3.64,5761,5.726,5765,2.072,5766,4.151,5826,5.253,5853,1.692,5858,3.967,5859,3.48,5860,3.967,5861,3.48,5862,3.967,5863,3.967,5864,3.967,5865,3.967,5866,5.899,5867,3.335,5868,5.38,5869,2.97,5870,3.041,5871,3.041,5872,3.041,5873,5.38,5874,7.933,5875,3.335,5876,5.899,5877,2.463,5878,2.181,5879,2.072,5880,4.928,5881,2.072,5882,2.072,5883,2.072,5884,2.072,5885,2.072,5886,2.072,5887,2.072,5888,2.072,5889,2.072,5890,2.072,5891,3.616,5892,2.072,5893,2.072,5894,2.072,5895,2.058,5896,2.072,5897,2.072,5898,2.072,5899,2.086,5900,2.086,5901,2.086,5902,2.086,5903,3.691,5904,2.086,5905,2.072,5906,3.691,5907,2.086,5908,3.691,5909,2.072,5910,2.044,5911,1.762,5912,1.762,5913,1.762,5914,1.762,5915,1.762,5916,1.762,5917,1.762,5918,1.762]],["keywords/1136",[]],["title/1137",[41,390.324]],["content/1137",[]],["keywords/1137",[]],["title/1138",[30,317.855,41,304.723]],["content/1138",[1,2.326,8,2.628,9,2.601,13,5.871,14,1.935,15,1.015,21,1.056,23,3.764,26,2.004,27,1.063,30,2.995,31,0.994,36,1.122,38,2.335,41,5.309,46,5.193,50,1.72,58,1.801,59,3.575,61,6.433,63,1.889,68,3.93,83,1.198,85,3.064,90,0.942,108,4.283,120,3.165,122,2.513,140,0.577,141,2.378,144,0.838,157,1.221,164,1.436,169,1.406,171,0.998,174,3.022,193,0.549,194,1.944,202,1.127,203,1.847,204,1.58,209,1.598,215,4.542,220,4.814,221,1.127,230,4.902,235,7.088,236,4.335,239,4.335,243,2.675,246,0.975,248,1.171,252,3.448,255,4.448,256,3.247,257,3.955,259,1.278,263,2.582,264,1.345,268,1.683,269,1.047,273,3.564,274,1.598,285,1.132,287,2.561,290,3.247,292,1.285,297,1.227,306,1.683,310,0.89,316,1.252,319,1.616,322,1.004,326,1.307,328,1.198,329,1.616,332,1.37,340,1.132,346,1.362,357,1.015,358,0.919,362,4.787,363,3.111,379,1.527,390,2.631,392,1.388,398,6.131,404,1.663,408,3.571,417,0.927,421,1.436,423,4.018,429,4.878,434,2.298,440,1.132,442,2.962,443,3.523,466,1.271,467,1.853,468,1.379,471,1.258,475,3.882,477,4.169,478,1.258,487,3.123,489,2.151,500,3.457,505,2.881,520,3.22,523,5.871,524,4.613,525,5.175,526,2.2,533,3.079,534,1.055,545,3.02,556,0.631,568,1.446,587,1.896,591,1.171,600,2.81,603,2.686,609,1.426,620,1.896,624,2.645,651,1.515,656,3.056,678,1.329,681,1.878,688,1.362,692,0.908,695,1.946,699,5.101,702,1.49,713,1.176,717,1.985,728,1.959,739,3.404,746,2.275,762,1.345,764,1.146,787,6.69,789,1.104,800,3.155,804,1.097,812,0.919,820,5.917,836,1.584,838,1.169,840,2.221,848,4.085,849,3.681,862,1.583,863,2.122,866,6.017,868,2.933,876,1.118,878,6.831,886,1.156,894,6.962,931,1.572,949,1.916,951,1.49,960,1.118,971,1.051,973,1.625,976,3.777,1008,1.258,1018,0.88,1033,5.58,1036,1.285,1045,1.426,1048,6.247,1056,3.448,1062,3.091,1077,1.379,1099,1.683,1120,1.989,1141,2.335,1149,4.285,1154,8.859,1158,1.568,1170,3.798,1198,3.384,1205,1.883,1208,1.132,1210,1.37,1213,3.127,1214,1.337,1215,1.315,1227,2.141,1237,2.582,1238,1.322,1253,1.047,1256,2.906,1261,3.89,1266,3.203,1272,4.88,1338,1.878,1350,3.646,1373,4.27,1385,1.745,1431,4.146,1437,0.933,1475,4.006,1480,1.876,1573,2.426,1574,1.878,1581,5.665,1585,6.632,1610,1.193,1611,3.292,1613,1.472,1624,4.596,1644,0.802,1677,2.335,1680,1.37,1683,4.69,1686,4.761,1687,1.166,1736,3.165,1838,3.616,1895,3.445,1896,1.176,1913,1.724,1916,3.956,1954,2.582,1986,1.329,1992,1.746,2002,6.539,2015,2.132,2020,3.123,2037,1.171,2070,1.083,2163,3.155,2199,1.353,2236,1.683,2255,2.372,2283,1.946,2321,3.508,2328,1.703,2365,1.166,2387,1.193,2391,1.345,2392,1.193,2551,1.118,2578,1.568,2610,2.869,2636,1.91,2640,1.193,2675,1.388,2709,3.341,2777,4.099,2890,1.176,3097,3.008,3315,1.946,3457,1.406,3506,2.516,3526,3.307,3555,1.91,3556,1.337,3561,3.726,3620,1.665,3628,1.847,3629,1.345,3646,1.63,3653,1.193,3779,1.362,3784,3.573,3789,2.078,3794,3.99,3796,1.285,3816,3.466,3839,1.388,3842,2.5,3893,1.568,3939,2.029,4004,5.048,4083,2.582,4199,2.029,4228,3.341,4282,3.726,4429,2.104,4556,2.078,4585,1.406,4675,3.056,4755,1.345,4759,1.379,4836,1.397,4865,2.47,5088,1.388,5446,2.141,5456,1.193,5489,2.516,5491,3.816,5521,1.193,5547,2.582,5610,2.078,5761,4.296,5765,1.416,5766,3.036,5853,1.156,5877,1.683,5878,1.49,5879,1.416,5880,3.604,5881,1.416,5882,1.416,5883,1.416,5884,1.416,5885,1.416,5886,1.416,5887,1.416,5888,1.416,5889,1.416,5890,1.416,5891,4.407,5892,1.416,5893,1.416,5894,1.416,5895,1.406,5896,1.416,5897,1.416,5898,1.416,5899,1.426,5900,1.426,5901,1.426,5902,1.426,5903,2.618,5904,1.426,5905,4.467,5906,2.618,5907,1.426,5908,2.618,5909,1.416,5910,1.397,5911,1.204,5912,1.204,5913,1.204,5914,1.204,5915,1.204,5916,1.204,5917,1.204,5918,1.204,5919,3.508,5920,2.378,5921,2.378,5922,2.378,5923,2.711,5924,2.135,5925,2.135,5926,2.135,5927,2.029,5928,2.029,5929,2.029,5930,3.919,5931,2.078,5932,2.135,5933,2.135,5934,1.985]],["keywords/1138",[]],["title/1139",[32,628.636]],["content/1139",[]],["keywords/1139",[]],["title/1140",[30,317.855,32,490.771]],["content/1140",[1,2.136,6,4.601,8,2.834,9,2.566,13,6.164,15,1.109,21,1.146,22,3.215,23,4.017,26,2.175,27,1.162,30,3.172,31,1.981,32,3.989,34,2.482,36,1.227,38,2.533,41,4.747,46,5.391,50,1.855,58,1.955,59,3.722,61,6.79,63,2.05,68,2.126,83,1.31,85,3.304,90,1.03,108,4.552,120,3.434,122,2.05,140,0.631,144,0.916,157,1.335,164,1.57,169,1.538,171,1.091,174,3.225,193,0.6,194,2.11,202,1.232,203,2.02,204,1.715,209,1.747,215,2.538,220,5.138,221,1.232,230,5.211,235,7.44,236,4.557,239,4.674,243,2.903,246,1.066,248,1.281,252,3.741,255,3.491,256,3.524,257,4.189,259,1.398,260,1.383,263,2.802,264,1.471,268,1.841,269,1.145,273,3.774,274,2.388,285,1.238,287,1.618,290,1.934,292,1.405,297,1.342,306,1.841,310,0.973,316,1.369,319,1.753,322,1.098,326,1.429,328,1.31,329,1.753,340,1.238,346,1.489,357,1.109,358,1.005,359,2.783,362,4.823,363,2.804,379,1.67,390,2.27,392,1.518,398,6.421,404,1.804,408,6.587,417,1.014,423,3.808,429,4.904,434,2.494,440,1.238,442,3.215,443,1.046,466,1.39,467,1.819,468,1.508,471,1.376,475,3.639,477,4.471,487,1.342,489,1.281,500,3.707,513,1.518,520,3.471,521,1.593,523,4.164,524,1.344,525,5.463,526,2.387,533,3.32,534,1.154,545,3.044,554,1.033,556,0.69,568,1.581,587,2.057,591,1.281,600,2.986,603,2.102,609,1.559,613,0.877,620,2.057,624,2.822,641,1.731,642,1.764,651,1.656,656,3.317,661,0.923,678,1.454,681,2.053,699,5.385,713,1.287,717,2.171,728,2.126,739,3.67,746,2.469,762,1.471,764,1.253,787,7.085,789,1.208,800,2.469,804,1.19,812,1.005,820,6.008,836,0.944,838,1.268,840,2.395,842,0.952,848,2.209,862,1.731,863,2.303,866,6.333,868,1.747,876,1.222,878,7.261,886,1.264,889,0.792,894,7.372,931,1.705,949,3.531,960,1.222,971,1.149,973,1.763,976,2.814,1018,0.962,1033,5.956,1036,1.405,1045,1.559,1048,6.542,1056,3.741,1062,3.354,1077,1.508,1120,2.158,1141,2.533,1154,7.712,1158,1.715,1170,4.073,1198,3.648,1205,2.03,1210,1.498,1213,3.393,1214,1.462,1215,0.783,1227,2.323,1237,2.802,1238,1.445,1253,1.145,1256,3.153,1261,3.384,1263,1.885,1266,3.453,1272,3.229,1338,2.053,1344,1.538,1350,3.956,1373,4.578,1385,1.894,1431,4.445,1437,1.02,1475,1.189,1480,2.036,1573,2.633,1581,3.456,1585,3.132,1610,1.304,1611,3.573,1613,0.877,1624,4.929,1644,0.877,1680,1.498,1683,6.941,1686,5.081,1687,1.275,1736,3.434,1838,3.877,1895,3.714,1896,1.287,1913,1.885,1916,4.265,1954,2.802,1986,1.454,1992,1.909,2002,6.882,2015,2.313,2020,3.368,2037,1.281,2070,2.158,2163,1.355,2199,1.48,2236,1.841,2255,2.575,2283,2.128,2321,3.807,2328,1.862,2365,1.275,2387,1.304,2391,1.471,2392,1.304,2551,1.222,2578,1.715,2610,3.093,2640,1.304,2675,1.518,2709,3.625,2777,4.396,2890,1.287,3097,3.244,3315,2.128,3457,1.538,3506,2.73,3526,3.566,3555,2.089,3556,1.462,3561,4.043,3620,1.82,3629,1.471,3646,1.782,3653,1.304,3779,1.489,3784,3.878,3789,2.255,3794,4.279,3796,2.561,3816,3.737,3839,1.518,3842,2.713,3868,6.526,3871,2.6,3893,1.715,3939,2.219,3995,2.6,3996,2.6,3997,5.704,3998,2.334,3999,2.6,4004,6.041,4083,2.802,4199,2.219,4228,3.625,4282,4.043,4429,2.284,4556,2.273,4585,1.538,4675,3.317,4755,1.471,4759,1.508,4836,1.528,4865,2.68,5088,1.518,5446,2.323,5456,1.304,5489,2.73,5491,4.141,5521,1.304,5547,2.802,5610,2.273,5761,4.607,5765,1.548,5766,3.273,5853,1.264,5877,1.841,5878,1.63,5879,1.548,5880,3.886,5881,1.548,5882,1.548,5883,1.548,5884,1.548,5885,1.548,5886,1.548,5887,1.548,5888,1.548,5889,1.548,5890,1.548,5891,4.726,5892,1.548,5893,1.548,5894,1.548,5895,1.538,5896,1.548,5897,1.548,5898,1.548,5899,1.559,5900,1.559,5901,1.559,5902,1.559,5903,2.841,5904,1.559,5905,3.886,5906,2.841,5907,1.559,5908,2.841,5909,1.548,5910,1.528,5911,1.316,5912,1.316,5913,1.316,5914,1.316,5915,1.316,5916,1.316,5917,1.316,5918,1.316,5920,2.6,5921,2.6,5924,2.334,5925,2.334,5926,2.334,5927,2.219,5928,2.219,5929,2.219,5930,4.253,5931,2.273,5932,2.334,5933,2.334,5935,5.001,5936,2.745,5937,2.492,5938,2.492]],["keywords/1140",[]],["title/1141",[1197,1183.697]],["content/1141",[]],["keywords/1141",[]],["title/1142",[30,317.855,1197,924.103]],["content/1142",[1,3.168,7,2.428,8,4.376,9,2.636,13,6.512,16,2.319,21,1.859,23,5.763,26,3.529,27,2.008,30,3.707,31,1.879,36,2.121,38,2.402,41,2.037,46,2.455,50,2.865,58,1.854,59,3.112,108,6.787,140,1.091,144,1.583,169,2.657,171,1.885,174,3.477,193,1.036,194,3.424,202,2.129,204,1.626,208,4.431,215,3.18,220,7.371,221,2.129,230,2.233,236,1.124,246,1.842,255,3.942,257,3.678,269,1.979,272,5.325,292,2.428,310,1.682,316,4.048,319,1.663,322,1.898,328,2.264,340,2.138,346,2.573,357,1.917,362,5.283,363,2.138,390,2.447,392,2.622,398,6.488,404,1.711,408,5.679,429,5.584,434,2.365,440,2.138,466,2.402,467,1.779,468,2.605,471,2.377,475,2.264,477,5.601,486,1.667,487,2.319,500,5.499,519,6.072,523,5.314,524,2.858,525,5.275,526,3.874,533,2.285,534,1.993,545,3.61,565,2.589,587,1.951,591,2.213,600,1.28,603,4.472,609,2.694,620,3.338,624,2.321,678,2.512,699,1.958,713,2.223,728,3.45,762,2.542,764,2.165,789,2.087,800,2.342,804,1.129,820,6.092,836,3.658,838,2.058,840,3.698,863,3.738,876,2.112,931,2.768,960,2.112,971,1.986,973,3.751,976,4.345,1036,2.428,1048,4.556,1077,2.605,1099,5.443,1103,2.526,1120,3.502,1133,3.019,1141,4.111,1170,3.892,1197,3.61,1198,5.634,1200,3.927,1205,3.135,1210,2.589,1214,2.526,1227,2.203,1238,2.497,1253,1.979,1261,2.33,1266,5.333,1272,2.223,1385,3.073,1431,6.594,1437,1.763,1475,2.054,1480,3.304,1581,4.33,1585,4.837,1610,2.253,1680,2.589,1683,6.763,1686,7.289,1687,2.203,1838,4.858,1895,5.736,1896,2.223,1986,2.512,2002,9.015,2015,3.754,2020,5.201,2037,2.213,2070,2.046,2163,2.342,2172,4.306,2198,2.936,2199,2.557,2255,2.441,2365,2.203,2387,2.253,2391,2.542,2392,2.253,2551,2.112,2610,4.777,2640,2.253,2675,2.622,2777,2.455,2890,2.223,3097,5.009,3457,2.657,3506,2.589,3526,5.507,3556,2.526,3629,2.542,3653,2.253,3779,2.573,3789,3.659,3794,7.778,3796,2.428,3802,4.033,3816,5.771,3839,2.622,3842,4.403,4004,6.876,4083,4.547,4429,3.706,4459,8.416,4585,2.657,4755,2.542,4759,2.605,4836,2.64,4865,2.542,5088,2.622,5124,4.306,5446,3.771,5456,2.253,5489,2.589,5521,2.253,5537,4.742,5547,4.547,5761,6.833,5765,2.675,5766,5.055,5853,2.184,5878,2.816,5879,2.675,5880,6.001,5881,2.675,5882,2.675,5883,2.675,5884,2.675,5885,2.675,5886,2.675,5887,2.675,5888,2.675,5889,2.675,5890,2.675,5891,4.517,5892,2.675,5893,2.675,5894,2.675,5895,2.657,5896,2.675,5897,2.675,5898,2.675,5899,2.694,5900,2.694,5901,2.694,5902,2.694,5903,4.61,5904,2.694,5905,2.675,5906,4.61,5907,2.694,5908,4.61,5909,2.675,5910,2.64,5911,2.275,5912,2.275,5913,2.275,5914,2.275,5915,2.275,5916,2.275,5917,2.275,5918,2.275,5939,8.765,5940,5.122,5941,8.765,5942,5.122,5943,5.122]],["keywords/1142",[]],["title/1143",[533,749.383]],["content/1143",[]],["keywords/1143",[]],["title/1144",[30,317.855,533,585.038]],["content/1144",[1,2.845,30,2.961,34,5.613,36,5.058,46,3.422,58,4.422,79,6.327,90,4.243,140,2.602,171,4.495,174,6.145,236,2.681,246,4.393,251,4.958,255,3.854,257,5.577,269,4.72,287,3.659,310,4.011,319,3.966,362,4.291,398,4.755,429,3.631,440,5.1,467,2.271,475,3.155,496,8.771,523,4.772,533,10.445,534,4.755,545,3.604,591,5.278,624,4.613,820,6.082,838,4.092,863,7.43,931,5.501,971,4.737,973,5.688,1205,5.542,1253,4.72,1475,4.9,1581,6.566,1585,8.55,1683,8.403,1687,5.255,1896,5.302,2015,7.462,2037,5.278,2070,4.881,2175,11.368,2365,5.255,2387,5.375,2392,5.375,2551,5.038,2610,7.244,2890,5.302,3097,8.854,3653,5.375,3789,7.274,4429,7.366,4445,12.761,5446,7.495,5456,5.375,5521,5.375,5766,7.666,5853,5.209,5911,5.425,5912,5.425,5913,5.425,5914,5.425,5915,5.425,5916,5.425,5917,5.425,5918,5.425,5944,17.422,5945,17.422,5946,17.422]],["keywords/1144",[]],["title/1145",[5947,1473.221]],["content/1145",[]],["keywords/1145",[]],["title/1146",[30,317.855,5947,1150.133]],["content/1146",[1,2.715,8,4.44,9,2.659,13,6.043,21,1.89,23,5.83,26,3.588,27,2.048,30,2.826,31,1.915,36,2.162,41,2.071,46,1.463,50,2.906,59,3.429,63,1.982,108,6.416,140,1.112,144,1.614,169,2.709,171,1.922,174,3.527,193,1.057,194,2.04,202,2.171,204,1.658,215,2.466,220,7.456,221,2.171,236,1.146,246,1.878,255,3.98,256,7.606,257,4.411,269,2.018,287,1.564,292,2.476,310,1.715,316,2.412,319,1.695,322,1.935,328,2.308,340,2.18,346,2.623,357,1.955,362,5.305,363,3.213,390,2.482,392,2.674,398,6.557,404,1.745,408,5.753,429,5.007,434,2.412,440,2.18,466,2.449,467,1.793,468,2.656,471,2.424,475,4.896,477,5.683,478,2.424,487,2.364,500,5.57,523,5.383,524,2.217,525,5.343,526,3.939,533,2.33,534,2.032,545,3.748,587,1.989,591,2.256,600,1.305,620,1.989,624,3.087,678,2.561,699,1.996,713,2.266,728,3.507,762,2.591,764,2.208,789,2.128,800,4.074,804,1.151,812,1.77,820,6.325,838,2.093,840,3.752,863,3.8,876,2.153,931,2.814,960,2.153,971,2.025,973,2.909,976,3.37,1036,2.476,1048,4.622,1077,2.656,1120,3.561,1141,4.18,1154,6.87,1170,3.957,1198,5.716,1205,3.181,1208,2.18,1210,2.64,1214,2.576,1215,1.38,1227,2.246,1238,2.546,1253,2.018,1261,2.376,1266,5.411,1272,2.266,1385,3.124,1431,6.679,1437,1.797,1475,2.095,1480,4.393,1581,3.359,1585,4.908,1610,2.298,1613,3.447,1644,1.544,1680,2.64,1683,6.828,1686,7.374,1687,2.246,1838,4.928,1895,5.819,1896,2.266,1986,2.561,2002,9.089,2015,3.817,2020,6.237,2037,2.256,2070,2.087,2163,2.387,2199,2.607,2236,3.243,2255,2.489,2365,2.246,2387,2.298,2391,2.591,2392,2.298,2551,2.153,2610,4.846,2640,3.921,2675,2.674,2777,2.503,2890,2.266,3097,5.082,3457,2.709,3506,2.64,3526,5.587,3556,2.576,3629,2.591,3653,2.298,3779,2.623,3789,3.72,3794,6.429,3796,2.476,3816,5.855,3839,2.674,3842,4.476,4004,6.965,4083,4.623,4429,3.768,4585,2.709,4675,3.207,4755,2.591,4759,2.656,4836,2.691,4865,2.591,5088,2.674,5446,3.834,5456,2.298,5489,2.64,5521,2.298,5547,4.623,5761,6.921,5765,2.728,5766,5.129,5853,2.227,5877,3.243,5878,2.871,5879,2.728,5880,6.089,5881,2.728,5882,2.728,5883,2.728,5884,2.728,5885,2.728,5886,2.728,5887,2.728,5888,2.728,5889,2.728,5890,2.728,5891,4.593,5892,2.728,5893,2.728,5894,2.728,5895,2.709,5896,2.728,5897,2.728,5898,2.728,5899,2.747,5900,2.747,5901,2.747,5902,2.747,5903,4.687,5904,2.747,5905,2.728,5906,4.687,5907,2.747,5908,4.687,5909,2.728,5910,2.691,5911,2.319,5912,2.319,5913,2.319,5914,2.319,5915,2.319,5916,2.319,5917,2.319,5918,2.319,5919,6.281,5947,4.581]],["keywords/1146",[]],["title/1147",[1677,787.79]],["content/1147",[]],["keywords/1147",[]],["title/1148",[30,317.855,1677,615.022]],["content/1148",[1,3.302,2,1.828,6,2.34,8,3.156,9,2.841,13,5.086,14,0.764,19,1.334,21,1.758,23,6.061,26,2.447,27,1.324,30,2.455,31,1.239,36,1.398,41,1.926,46,0.946,48,2.41,50,2.525,59,2.65,61,1.628,63,1.282,108,5.4,140,2.157,144,3.13,149,1.466,167,3.966,169,1.752,171,2.237,174,3.536,193,2.365,194,2.374,200,2.234,202,1.404,204,1.93,215,1.682,218,1.707,220,5.633,221,1.404,230,1.472,236,0.741,246,1.214,251,1.37,255,3.36,257,2.653,263,1.752,269,1.305,272,3.692,273,1.753,274,1.951,285,1.41,287,3.033,292,1.601,299,2.234,310,1.109,316,1.559,319,1.096,322,1.251,324,2.339,326,1.628,328,1.493,332,1.707,340,1.41,345,1.009,346,1.696,357,1.264,358,3.962,362,4.907,363,3.417,377,8.419,379,3.424,381,6.204,382,4.677,383,1.971,385,6.522,390,3.235,392,1.729,398,5.912,404,1.128,408,4.228,414,2.234,421,1.789,423,2.172,429,4.214,434,1.559,440,1.41,442,2.01,466,1.584,467,1.796,468,1.718,471,1.567,475,5.117,477,4.04,478,1.567,481,3.369,486,1.099,487,1.529,500,4.094,501,2.074,505,1.41,516,1.521,523,5.086,524,5.471,525,5.498,526,2.686,533,1.507,534,1.314,545,3.431,556,1.415,587,1.286,591,3.581,600,2.071,613,0.999,620,1.286,624,2.682,636,2.528,677,1.398,678,1.656,688,5.87,692,3.915,695,2.424,699,1.291,700,5.756,713,1.466,719,1.446,728,2.392,743,2.315,746,2.779,762,1.676,764,1.428,773,2.38,777,2.175,789,1.376,800,3.789,804,0.744,812,1.145,820,5.632,824,0.749,838,1.427,840,2.668,842,1.084,863,2.592,876,1.393,889,0.902,931,1.919,944,0.935,960,1.393,969,1.903,971,1.309,973,1.984,976,6.383,982,5.891,1008,1.567,1024,3.654,1036,1.601,1048,3.286,1077,1.718,1092,1.696,1120,3.311,1141,2.851,1157,1.789,1170,2.699,1198,4.064,1205,2.261,1208,4.228,1210,1.707,1214,1.666,1215,2.189,1227,1.453,1238,1.646,1253,2.348,1261,3.77,1266,3.847,1272,5.651,1276,2.424,1336,1.404,1366,4.264,1379,2.234,1385,2.131,1431,4.91,1437,1.162,1475,6.451,1479,4.66,1480,3.123,1563,2.074,1574,2.339,1581,4.404,1585,3.489,1610,1.486,1644,0.999,1677,7.125,1680,1.707,1683,5.381,1686,5.57,1687,1.453,1838,3.504,1895,4.137,1896,1.466,1986,1.656,2002,7.39,2015,2.603,2020,3.751,2037,1.459,2070,1.349,2161,4.557,2163,1.544,2174,2.339,2199,1.686,2222,2.473,2248,1.919,2255,1.61,2365,1.453,2387,1.486,2391,1.676,2392,1.486,2397,2.234,2551,1.393,2610,3.446,2619,10.352,2636,2.38,2640,1.486,2675,1.729,2738,2.267,2740,1.666,2777,1.619,2823,2.339,2890,1.466,3097,3.613,3103,2.01,3448,1.887,3457,1.752,3506,1.707,3526,3.972,3547,2.339,3556,1.666,3628,2.301,3629,1.676,3653,1.486,3657,2.175,3779,1.696,3789,2.537,3794,4.726,3796,1.601,3816,4.163,3839,1.729,3842,3.053,3893,1.953,4004,5.12,4083,3.153,4123,2.234,4429,2.57,4585,1.752,4675,2.074,4755,1.676,4759,1.718,4836,1.74,4860,4.55,4865,1.676,5088,1.729,5364,4.55,5446,2.615,5456,1.486,5489,1.707,5521,1.486,5547,3.153,5761,5.088,5765,1.764,5766,3.646,5826,4.55,5853,1.44,5859,2.962,5861,2.962,5866,5.11,5867,2.839,5868,4.66,5869,2.528,5870,2.589,5871,2.589,5872,2.589,5873,4.66,5874,6.967,5875,2.839,5876,5.11,5877,2.097,5878,1.857,5879,1.764,5880,4.329,5881,1.764,5882,1.764,5883,1.764,5884,1.764,5885,1.764,5886,1.764,5887,1.764,5888,1.764,5889,1.764,5890,1.764,5891,3.132,5892,1.764,5893,1.764,5894,1.764,5895,1.752,5896,1.764,5897,1.764,5898,1.764,5899,1.776,5900,1.776,5901,1.776,5902,1.776,5903,3.197,5904,1.776,5905,3.175,5906,3.197,5907,1.776,5908,3.197,5909,1.764,5910,1.74,5911,1.5,5912,1.5,5913,1.5,5914,1.5,5915,1.5,5916,1.5,5917,1.5,5918,1.5,5934,2.473,5948,3.377,5949,3.377,5950,2.589,5951,3.377]],["keywords/1148",[]],["title/1149",[74,600.869,592,550.571,1279,616.465]],["content/1149",[]],["keywords/1149",[]],["title/1150",[30,220.945,74,509.271,592,466.64,1279,522.489]],["content/1150",[1,2.691,30,2.801,36,4.784,38,5.42,41,2.685,46,3.237,55,7.875,56,11.715,59,3.407,74,9.353,94,8.144,140,2.461,171,4.252,174,5.956,215,3.198,236,2.536,246,4.155,251,4.689,255,3.703,257,5.359,269,4.465,285,4.824,287,3.461,310,3.794,319,5.434,342,8.859,352,6.404,362,3.537,417,3.953,440,4.824,442,6.877,467,2.233,482,6.21,523,4.514,534,4.497,540,4.129,545,2.971,562,5.955,587,6.376,591,4.993,592,11.049,600,2.887,605,6.456,612,6.566,731,9.963,820,5.895,838,3.931,863,7.138,931,5.285,971,4.481,973,5.465,1142,7.176,1205,5.371,1253,4.465,1279,9.596,1475,4.635,1581,4.355,1585,8.287,1683,8.191,1687,4.971,1896,5.015,1922,9.715,2015,7.169,2037,4.993,2070,4.617,2198,6.624,2365,4.971,2387,5.084,2392,5.084,2551,4.765,2610,6.96,2890,5.015,3097,8.582,3437,13.182,3653,5.084,3789,6.989,4429,7.077,5446,7.201,5456,5.084,5521,5.084,5597,10.135,5614,9.715,5766,7.365,5812,9.379,5853,4.927,5911,5.131,5912,5.131,5913,5.131,5914,5.131,5915,5.131,5916,5.131,5917,5.131,5918,5.131,5952,15.499]],["keywords/1150",[]],["title/1151",[1170,582.284,2610,545.152]],["content/1151",[]],["keywords/1151",[]],["title/1152",[30,260.685,1170,477.553,2610,447.1]],["content/1152",[1,4.821,6,4.87,9,2.904,28,7.685,30,3.067,36,5.238,46,3.543,140,2.694,141,4.967,171,4.655,174,6.264,236,2.776,246,4.549,255,3.951,257,5.717,269,4.888,285,5.282,310,4.153,319,4.107,362,3.773,440,5.282,455,8.863,467,2.294,523,4.942,534,4.924,545,3.17,591,5.466,820,6.2,838,4.194,863,7.616,931,5.639,971,4.906,973,5.831,1146,9.028,1170,5.618,1205,5.649,1253,4.888,1475,5.074,1581,7.802,1585,8.715,1683,8.536,1687,5.442,1896,5.491,2015,7.649,2037,5.466,2070,5.055,2365,5.442,2387,5.566,2392,5.566,2551,5.217,2610,9.351,2890,5.491,3097,9.025,3452,10.268,3653,5.566,3662,11.713,3789,7.456,4429,7.551,5446,7.683,5456,5.566,5489,6.395,5521,5.566,5766,7.858,5853,5.395,5911,5.618,5912,5.618,5913,5.618,5914,5.618,5915,5.618,5916,5.618,5917,5.618,5918,5.618]],["keywords/1152",[]],["title/1153",[1336,698.292]],["content/1153",[]],["keywords/1153",[]],["title/1154",[30,317.855,1336,545.152]],["content/1154",[1,2.771,2,13.062,6,4.581,23,8.245,30,2.884,36,4.927,46,3.333,58,4.307,140,2.534,171,4.379,174,6.056,236,2.611,246,4.279,255,3.782,257,5.473,269,4.597,286,4.198,310,3.906,319,3.862,360,7.475,362,4.228,409,6.761,440,4.967,467,2.253,523,4.648,534,4.631,545,3.034,554,4.146,591,5.141,600,2.973,615,11.31,820,5.993,838,4.015,863,7.291,931,5.398,971,4.614,973,5.581,1205,5.461,1253,4.597,1329,9.553,1336,4.947,1475,4.772,1581,9.367,1585,8.425,1619,10.617,1677,8.019,1683,8.303,1687,5.118,1896,5.164,2015,7.323,2037,5.141,2070,4.754,2365,5.118,2387,5.235,2392,5.235,2551,4.907,2610,9.095,2890,5.164,3097,8.725,3508,8.907,3653,5.235,3789,7.138,4429,7.229,5446,7.355,5456,5.235,5521,5.235,5766,7.522,5853,5.074,5911,5.284,5912,5.284,5913,5.284,5914,5.284,5915,5.284,5916,5.284,5917,5.284,5918,5.284,5953,11.017,5954,9.123]],["keywords/1154",[]],["title/1155",[23,405.295,30,260.685,1336,447.1]],["content/1155",[1,2.708,2,7.444,6,2.004,8,4.429,9,2.52,13,6.031,14,1.178,21,1.885,23,7.445,26,3.578,27,2.041,30,1.262,31,1.909,36,2.155,41,2.065,46,1.458,50,2.899,59,3.656,108,6.405,140,1.108,144,1.609,169,2.7,171,1.915,174,3.519,193,1.798,194,2.033,202,2.164,204,1.653,215,2.46,220,7.442,221,2.164,236,1.142,246,1.872,255,4.529,257,3.722,269,2.011,287,1.559,292,2.468,310,1.709,316,2.404,319,1.69,322,1.928,328,2.301,340,2.173,346,2.615,357,1.948,362,5.26,363,2.158,390,2.476,392,2.665,398,6.991,404,1.739,408,5.74,429,4.998,434,4.104,440,2.173,466,2.441,467,1.791,468,2.648,471,2.416,475,2.295,477,5.669,487,2.356,489,2.249,500,5.558,523,5.371,524,2.211,525,5.332,526,3.928,533,2.322,534,2.026,545,3.744,554,1.814,587,1.983,591,2.249,613,1.539,615,3.443,620,1.983,624,2.353,678,2.552,699,1.99,713,2.259,728,3.497,762,2.583,764,2.201,789,2.121,804,1.147,820,5.916,824,1.97,838,2.087,840,3.743,863,3.79,876,2.146,931,2.806,960,2.146,971,2.018,973,2.901,976,5.2,1036,2.468,1048,4.611,1073,3.896,1077,2.648,1120,3.551,1141,4.168,1170,3.947,1198,5.702,1205,3.173,1210,2.631,1214,2.567,1227,2.239,1238,2.538,1253,2.011,1261,2.368,1266,5.398,1272,5.047,1329,6.498,1336,2.164,1360,4.225,1385,3.116,1431,6.665,1434,4.966,1437,1.791,1475,2.088,1480,3.349,1581,4.383,1585,4.896,1610,2.29,1613,1.539,1680,2.631,1683,6.817,1686,7.359,1687,2.239,1838,4.916,1895,5.805,1896,2.259,1986,2.552,2002,9.077,2015,3.806,2020,5.264,2037,2.249,2070,2.08,2163,2.38,2199,2.599,2255,2.481,2365,2.239,2387,2.29,2391,2.583,2392,2.29,2551,2.146,2610,4.835,2640,3.91,2675,2.665,2777,2.495,2890,2.259,3097,5.07,3457,2.7,3506,2.631,3526,5.574,3556,2.567,3629,2.583,3653,2.29,3779,2.615,3789,3.71,3794,6.415,3796,2.468,3816,5.841,3839,2.665,3842,4.464,4004,6.95,4083,4.611,4429,3.757,4585,2.7,4755,2.583,4759,2.648,4836,2.682,4865,2.583,5088,2.665,5446,3.823,5456,2.29,5489,2.631,5521,2.29,5547,4.611,5761,6.907,5765,2.719,5766,5.116,5853,2.22,5879,2.719,5880,6.074,5881,2.719,5882,2.719,5883,2.719,5884,2.719,5885,2.719,5886,2.719,5887,2.719,5888,2.719,5889,2.719,5890,2.719,5891,4.58,5892,2.719,5893,2.719,5894,2.719,5895,2.7,5896,2.719,5897,2.719,5898,2.719,5899,2.738,5900,2.738,5901,2.738,5902,2.738,5903,4.674,5904,2.738,5905,2.719,5906,4.674,5907,2.738,5908,4.674,5909,2.719,5910,2.682,5911,2.312,5912,2.312,5913,2.312,5914,2.312,5915,2.312,5916,2.312,5917,2.312,5918,2.312,5955,8.886,5956,11.628,5957,5.205,5958,9.777,5959,5.205,5960,8.886,5961,5.205,5962,5.205,5963,4.225,5964,5.205]],["keywords/1155",[]],["title/1156",[23,343.511,30,220.945,615,602.932,1336,378.942]],["content/1156",[1,2.824,2,2.983,8,4.619,9,2.591,13,6.236,15,2.062,21,1.978,23,6.959,26,3.756,27,2.16,30,1.336,31,2.021,36,3.862,41,2.168,46,1.543,50,3.024,58,3.376,59,3.249,108,6.602,140,1.173,144,1.703,169,2.858,171,2.028,174,3.67,193,1.115,194,2.152,202,2.291,204,1.749,215,2.581,220,7.694,221,2.291,236,1.209,246,1.981,255,4.085,257,3.882,269,2.129,292,2.612,310,1.809,316,2.544,319,1.789,322,2.041,328,2.435,340,2.3,346,2.768,357,2.062,362,5.363,363,2.231,390,2.583,392,2.821,398,6.746,404,1.841,408,5.958,429,5.151,434,5.601,440,2.3,464,2.152,466,2.584,467,1.834,468,2.803,471,2.558,475,2.409,477,5.913,487,2.494,500,5.769,523,5.575,524,4.312,525,5.534,526,4.123,533,2.458,534,2.144,545,3.714,587,2.099,591,2.381,615,6.17,620,2.099,624,2.47,678,2.702,699,2.106,713,2.391,728,3.671,762,2.734,764,2.329,789,2.245,804,1.214,820,6.058,838,2.19,840,3.904,863,3.977,876,2.272,931,2.945,960,2.272,971,2.137,973,3.045,976,3.528,1036,2.612,1048,4.809,1077,2.803,1120,3.727,1141,4.375,1170,4.142,1198,5.947,1205,3.309,1210,2.785,1214,2.718,1227,2.37,1238,2.686,1253,2.129,1261,2.506,1266,5.629,1272,2.391,1336,3.878,1385,3.27,1431,6.917,1437,1.896,1475,2.21,1480,3.515,1581,3.515,1585,5.106,1610,2.424,1680,2.785,1683,7.008,1686,7.609,1687,2.37,1838,5.128,1895,6.055,1896,2.391,1986,2.702,2002,9.293,2015,3.995,2020,5.49,2037,2.381,2070,2.201,2163,2.519,2199,2.751,2255,2.626,2365,2.37,2387,2.424,2391,4.628,2392,2.424,2551,2.272,2610,5.042,2640,2.424,2675,2.821,2769,4.224,2777,2.641,2890,2.391,3097,5.287,3457,2.858,3506,2.785,3526,5.813,3556,2.718,3629,2.734,3653,2.424,3779,2.768,3789,3.894,3794,6.659,3796,2.612,3816,6.092,3839,2.821,3842,4.685,4004,7.213,4083,4.839,4429,3.943,4585,2.858,4755,2.734,4759,2.803,4836,2.839,4865,2.734,5088,2.821,5446,4.012,5456,2.424,5489,2.785,5521,2.424,5547,4.839,5761,7.168,5765,2.878,5766,5.336,5853,2.35,5879,2.878,5880,6.335,5881,2.878,5882,2.878,5883,2.878,5884,2.878,5885,2.878,5886,2.878,5887,2.878,5888,2.878,5889,2.878,5890,2.878,5891,4.807,5892,2.878,5893,2.878,5894,2.878,5895,2.858,5896,2.878,5897,2.878,5898,2.878,5899,2.898,5900,2.898,5901,2.898,5902,2.898,5903,4.906,5904,2.898,5905,2.878,5906,4.906,5907,2.898,5908,4.906,5909,2.878,5910,2.839,5911,2.447,5912,2.447,5913,2.447,5914,2.447,5915,2.447,5916,2.447,5917,2.447,5918,2.447,5965,9.326]],["keywords/1156",[]],["title/1157",[30,260.685,360,675.602,1336,447.1]],["content/1157",[1,3.03,2,9.863,30,3.154,36,5.387,46,3.644,140,2.771,171,4.788,174,6.36,236,2.855,246,4.679,255,4.65,257,5.831,269,5.027,310,4.272,319,4.223,360,8.174,362,3.849,398,5.064,440,5.432,467,2.312,523,5.082,534,5.064,545,3.731,591,5.622,820,6.295,838,4.278,863,7.768,931,5.752,971,5.045,973,5.947,976,6.889,1205,5.736,1253,5.027,1254,12.838,1336,5.409,1475,5.219,1581,6.865,1585,8.849,1683,8.642,1687,5.597,1896,5.647,2015,7.802,2037,5.622,2070,5.198,2365,5.597,2387,5.724,2392,5.724,2551,5.365,2610,7.573,2890,5.647,3097,9.164,3653,5.724,3789,7.605,4429,7.701,5446,7.836,5456,5.724,5521,5.724,5766,8.014,5853,5.548,5911,5.778,5912,5.778,5913,5.778,5914,5.778,5915,5.778,5916,5.778,5917,5.778,5918,5.778,5953,12.047,5958,10.939,5963,10.56]],["keywords/1157",[]],["title/1158",[30,260.685,1336,447.1,1677,504.403]],["content/1158",[1,3.03,2,9.863,30,3.154,36,5.387,46,3.644,140,2.771,171,4.788,174,6.36,236,2.855,246,4.679,255,4.65,257,5.831,269,5.027,310,4.272,319,4.223,362,3.849,398,5.064,440,5.432,467,2.312,523,5.082,534,5.064,545,3.731,591,5.622,820,6.295,838,4.278,863,7.768,931,5.752,971,5.045,973,5.947,976,6.889,1205,5.736,1253,5.027,1254,12.838,1336,5.409,1475,5.219,1581,6.865,1585,8.849,1677,8.544,1683,8.642,1687,5.597,1896,5.647,2015,7.802,2037,5.622,2070,5.198,2365,5.597,2387,5.724,2392,5.724,2551,5.365,2610,7.573,2890,5.647,3097,9.164,3653,5.724,3789,7.605,4429,7.701,5446,7.836,5456,5.724,5521,5.724,5766,8.014,5853,5.548,5911,5.778,5912,5.778,5913,5.778,5914,5.778,5915,5.778,5916,5.778,5917,5.778,5918,5.778,5958,10.939,5963,10.56]],["keywords/1158",[]],["title/1159",[30,260.685,1336,447.1,1619,667.809]],["content/1159",[1,3.03,2,9.863,30,3.154,36,5.387,46,3.644,140,2.771,171,4.788,174,6.36,236,2.855,246,4.679,255,4.65,257,5.831,269,5.027,310,4.272,319,4.223,362,3.849,398,5.064,440,5.432,467,2.312,523,5.082,534,5.064,545,3.731,591,5.622,820,6.295,838,4.278,863,7.768,931,5.752,971,5.045,973,5.947,976,6.889,1205,5.736,1253,5.027,1254,12.838,1336,5.409,1475,5.219,1581,6.865,1585,8.849,1619,11.312,1683,8.642,1687,5.597,1896,5.647,2015,7.802,2037,5.622,2070,5.198,2365,5.597,2387,5.724,2392,5.724,2551,5.365,2610,7.573,2890,5.647,3097,9.164,3653,5.724,3789,7.605,4429,7.701,5446,7.836,5456,5.724,5521,5.724,5766,8.014,5853,5.548,5911,5.778,5912,5.778,5913,5.778,5914,5.778,5915,5.778,5916,5.778,5917,5.778,5918,5.778,5958,10.939,5963,10.56]],["keywords/1159",[]],["title/1160",[495,1287.729]],["content/1160",[]],["keywords/1160",[]],["title/1161",[30,317.855,495,1005.321]],["content/1161",[1,3.288,9,1.29,27,3.606,30,2.23,36,3.808,38,4.314,46,2.576,50,2.293,55,11.711,56,5.474,58,3.329,59,1.872,68,6.762,77,11.588,91,4.205,140,1.959,144,2.842,146,3.704,169,4.772,171,3.385,174,5.2,215,5.755,236,2.018,246,3.308,255,4.264,257,4.52,269,3.554,286,3.245,287,2.755,292,4.361,310,3.02,319,2.986,328,4.066,329,2.986,357,3.443,362,3.63,390,1.959,398,6.688,408,3.84,440,3.84,447,6.085,449,5.098,467,2.138,475,2.376,477,4.484,487,4.164,495,7.052,504,8.978,523,6.712,534,3.58,542,6.482,545,3.691,571,4.907,591,3.974,617,5.53,618,5.923,625,4.085,678,4.51,711,5.098,804,2.027,820,5.773,838,3.316,863,6.021,931,4.458,971,3.567,973,4.609,1048,5.598,1120,5.641,1170,6.27,1205,4.689,1253,3.554,1261,4.184,1437,3.166,1475,3.689,1480,3.467,1581,3.467,1585,7.234,1610,4.047,1683,7.316,1686,9.912,1687,3.957,1895,8.578,1896,3.992,2015,6.047,2037,3.974,2070,3.675,2365,3.957,2387,4.047,2392,4.047,2551,3.793,2610,7.144,2675,4.709,2890,3.992,3097,7.491,3526,8.236,3653,4.047,3779,4.62,3789,5.894,3816,8.631,4083,7.325,4429,5.969,4755,4.564,4836,4.74,5446,6.074,5456,4.047,5521,4.047,5761,8.631,5765,4.804,5766,7.56,5853,3.922,5899,4.838,5900,4.838,5901,4.838,5902,4.838,5903,7.426,5904,4.838,5905,4.804,5906,7.426,5907,4.838,5908,7.426,5909,4.804,5911,4.085,5912,4.085,5913,4.085,5914,4.085,5915,4.085,5916,4.085,5917,4.085,5918,4.085,5966,9.197,5967,9.197,5968,9.197]],["keywords/1161",[]],["title/1162",[519,1163.403]],["content/1162",[]],["keywords/1162",[]],["title/1163",[30,317.855,519,908.26]],["content/1163",[1,5.796,13,8.772,30,3.915,36,4.554,41,2.556,46,3.081,59,3.895,140,2.342,171,4.048,174,5.79,215,3.044,236,2.414,246,3.955,255,3.573,257,5.169,264,5.458,269,4.25,310,3.611,319,3.57,362,4.043,392,5.631,408,7.988,417,3.763,440,4.592,467,2.2,519,14.605,523,4.297,526,7.138,534,4.281,545,2.866,591,4.753,713,4.774,820,6.315,838,3.792,863,6.886,931,5.099,971,4.265,973,5.272,976,4.16,1099,10.028,1197,11.381,1205,5.221,1238,5.362,1253,4.25,1266,7.496,1272,4.774,1475,4.412,1581,4.145,1585,8.056,1683,9.208,1687,4.732,1838,8.09,1896,4.774,2015,6.916,2037,4.753,2070,4.395,2365,4.732,2387,4.839,2392,4.839,2551,4.536,2610,6.714,2890,4.774,3097,8.342,3440,7.619,3556,5.425,3653,4.839,3789,6.742,3794,5.132,4004,9.672,4429,6.827,4459,8.056,5088,5.631,5446,6.947,5456,4.839,5489,5.56,5521,4.839,5766,7.105,5853,4.69,5910,5.668,5911,4.885,5912,4.885,5913,4.885,5914,4.885,5915,4.885,5916,4.885,5917,4.885,5918,4.885,5969,13.577]],["keywords/1163",[]],["title/1164",[5969,1412.056]],["content/1164",[]],["keywords/1164",[]],["title/1165",[30,317.855,5969,1102.381]],["content/1165",[1,3.961,13,9.026,30,2.863,36,4.89,41,2.745,46,3.308,59,3.461,140,2.515,171,4.346,174,6.03,215,3.269,236,2.592,246,4.247,255,3.762,257,5.444,264,5.861,269,4.563,310,3.878,319,3.834,362,4.21,392,6.047,408,8.32,440,4.931,467,2.248,519,8.181,523,4.614,526,7.517,534,4.597,545,3.018,591,5.103,713,5.126,820,6.53,838,3.994,863,7.252,931,5.37,971,4.58,973,5.552,976,4.467,1205,5.438,1238,5.758,1253,4.563,1266,7.894,1272,5.126,1475,4.737,1581,4.451,1585,8.39,1683,9.412,1687,5.081,1838,8.426,1896,5.126,2015,7.284,2037,5.103,2070,4.719,2365,5.081,2387,5.196,2392,5.196,2551,4.87,2610,7.071,2890,5.126,3097,8.688,3440,8.181,3653,5.196,3789,7.1,4004,10.073,4429,7.19,5088,6.047,5446,7.316,5456,5.196,5489,5.97,5521,5.196,5766,7.482,5853,5.037,5910,6.087,5911,5.245,5912,5.245,5913,5.245,5914,5.245,5915,5.245,5916,5.245,5917,5.245,5918,5.245,5969,9.93]],["keywords/1165",[]],["title/1166",[47,1095.832]],["content/1166",[]],["keywords/1166",[]],["title/1167",[30,317.855,47,855.508]],["content/1167",[1,1.632,6,1.062,8,2.668,9,2.928,13,5.618,15,1.033,21,1.073,23,3.814,26,2.037,27,1.082,30,3.03,31,1.012,36,1.143,38,2.373,41,4.78,46,5.233,47,12.979,50,1.747,58,1.831,59,3.371,61,6.504,63,1.92,68,1.991,83,2.236,85,3.111,90,0.959,108,4.336,120,3.217,122,1.939,140,0.588,144,0.853,157,1.243,164,8.424,169,1.432,171,1.016,174,3.062,193,0.558,194,1.976,202,1.147,203,1.881,204,1.606,209,1.627,211,2.24,215,2.401,220,4.878,221,1.147,230,4.963,235,7.158,236,4.365,239,4.401,243,2.719,246,0.992,248,1.192,252,6.008,255,3.358,256,3.301,257,4.002,259,1.301,263,2.625,264,2.511,268,1.714,269,1.066,273,3.605,274,1.624,285,1.152,287,1.515,290,1.801,292,4.112,297,1.249,306,1.714,310,1.661,316,1.274,319,1.642,322,1.022,326,1.33,328,1.22,329,1.642,340,1.152,346,1.386,357,1.894,358,0.936,362,4.727,363,2.875,379,1.555,390,2.155,392,1.413,398,5.908,404,1.69,408,3.621,417,0.944,423,3.616,429,5.1,434,2.337,440,1.152,442,1.643,443,0.974,450,8.482,466,1.294,467,1.77,468,1.404,471,1.281,475,3.485,477,4.229,481,1.53,487,1.249,489,1.192,500,3.506,520,4.047,523,3.388,524,1.743,525,4.848,526,2.236,533,3.126,534,1.074,545,2.823,556,0.643,587,1.051,591,1.192,600,2.167,603,1.969,609,1.452,620,3.304,624,2.68,636,2.066,651,1.542,656,5.327,661,4.729,678,1.353,681,1.912,699,5.158,713,1.198,717,2.021,723,2.021,728,1.991,739,3.456,746,2.313,762,1.369,764,1.167,787,6.768,789,1.124,800,2.313,804,0.608,812,0.936,820,6.252,838,1.188,840,2.255,842,0.886,848,2.07,860,7.929,862,1.611,863,2.988,866,6.08,868,1.627,876,1.138,878,6.916,886,1.177,894,7.043,931,1.598,949,1.948,960,1.138,971,1.07,973,1.652,976,1.914,1018,0.896,1033,5.654,1036,1.308,1045,1.452,1048,6.306,1055,2.116,1056,3.505,1062,3.142,1077,1.404,1120,2.022,1141,2.373,1154,6.71,1158,1.596,1170,3.852,1198,3.435,1205,1.912,1210,1.395,1213,3.179,1214,1.361,1215,0.729,1227,2.177,1237,2.625,1238,1.345,1253,1.066,1256,2.954,1261,3.187,1266,3.252,1272,1.198,1338,1.912,1350,3.706,1373,4.33,1385,1.774,1431,4.205,1437,0.95,1475,1.107,1480,1.907,1572,9.537,1573,2.467,1581,3.814,1585,2.949,1610,1.214,1611,3.347,1613,0.816,1624,2.719,1644,0.816,1680,1.395,1683,4.745,1686,4.824,1687,1.187,1736,3.217,1838,3.667,1895,3.498,1896,1.198,1913,1.755,1916,4.016,1954,3.635,1986,1.353,1992,1.777,2002,6.608,2015,2.167,2020,3.171,2037,1.192,2070,1.103,2145,1.323,2163,1.262,2199,1.378,2236,1.714,2255,2.412,2283,1.981,2321,3.566,2328,1.734,2365,1.187,2387,1.214,2391,1.369,2392,1.214,2497,1.881,2551,1.138,2578,1.596,2610,2.913,2631,5.517,2636,1.945,2640,1.214,2657,1.627,2675,1.413,2709,3.396,2729,1.881,2740,1.361,2777,4.158,2814,4.107,2890,1.198,3077,4.438,3097,3.054,3315,1.981,3387,8.031,3448,1.542,3457,1.432,3506,2.558,3526,3.358,3555,1.945,3556,1.361,3561,3.788,3620,1.695,3629,1.369,3646,1.659,3653,1.214,3686,2.555,3779,1.386,3784,3.633,3789,2.112,3794,4.047,3796,1.308,3813,2.421,3816,3.519,3830,4.107,3839,1.413,3842,2.542,3893,1.596,3939,2.066,4004,5.115,4008,2.32,4083,2.625,4199,2.066,4228,3.396,4282,3.788,4429,2.139,4556,2.116,4585,1.432,4675,1.695,4755,1.369,4759,1.404,4836,1.422,4865,2.511,5088,1.413,5446,2.177,5456,1.214,5462,6.145,5489,2.558,5491,3.879,5521,1.214,5547,2.625,5610,2.116,5761,5.083,5765,1.442,5766,3.082,5853,1.177,5877,1.714,5878,1.517,5879,1.442,5880,3.659,5881,1.442,5882,1.442,5883,1.442,5884,1.442,5885,1.442,5886,1.442,5887,1.442,5888,1.442,5889,1.442,5890,1.442,5891,4.47,5892,1.442,5893,1.442,5894,1.442,5895,1.432,5896,1.442,5897,1.442,5898,1.442,5899,1.452,5900,1.452,5901,1.452,5902,1.452,5903,2.661,5904,1.452,5905,3.659,5906,2.661,5907,1.452,5908,2.661,5909,1.442,5910,1.422,5911,1.226,5912,1.226,5913,1.226,5914,1.226,5915,1.226,5916,1.226,5917,1.226,5918,1.226,5924,2.173,5925,2.173,5926,2.173,5927,2.066,5928,2.066,5929,2.066,5930,3.984,5931,2.116,5932,2.173,5933,2.173,5970,2.76,5971,2.76,5972,7.608,5973,10.119,5974,4.685,5975,2.76,5976,2.76,5977,2.76,5978,2.76,5979,4.438,5980,2.76,5981,2.76,5982,2.76,5983,6.487,5984,2.555]],["keywords/1167",[]],["title/1168",[769,1163.403]],["content/1168",[]],["keywords/1168",[]],["title/1169",[30,317.855,769,908.26]],["content/1169",[1,3.191,8,6.049,9,2.649,13,6.858,21,2.281,23,7.117,26,4.329,30,1.584,31,2.396,36,2.705,41,2.499,46,1.83,50,3.416,59,3.573,108,7.192,140,1.391,144,2.019,171,2.404,174,4.146,193,1.322,194,2.552,202,2.716,204,2.074,215,2.976,220,8.462,221,2.716,236,1.434,246,2.349,255,4.177,257,4.386,269,2.524,310,2.145,316,3.017,319,2.121,322,2.42,328,2.888,340,2.727,346,3.282,362,5.466,363,2.454,390,2.29,392,3.345,398,5.333,404,2.182,408,5.721,429,5.612,434,3.017,440,2.727,466,3.064,467,1.959,468,3.323,471,3.032,475,1.687,477,5.242,500,6.42,523,4.2,524,2.675,525,6.158,526,4.753,533,2.915,534,2.543,545,3.543,587,2.488,591,2.823,620,2.488,624,2.847,674,4.525,699,2.497,713,2.835,728,4.232,762,3.242,764,2.762,769,7.448,789,2.662,820,6.246,838,2.525,840,4.411,863,4.585,876,2.694,931,3.395,960,2.694,971,2.533,973,3.51,976,4.067,1036,3.097,1048,2.59,1077,3.323,1141,5.043,1198,6.719,1205,3.739,1210,3.302,1214,3.222,1227,2.81,1238,3.185,1253,2.524,1266,6.36,1272,2.835,1385,3.77,1431,7.698,1475,2.62,1480,2.462,1581,4.052,1585,5.769,1680,3.302,1683,7.576,1687,2.81,1838,5.793,1896,2.835,1986,3.203,2002,9.927,2015,4.605,2020,6.203,2037,2.823,2070,2.61,2163,2.987,2199,3.261,2255,3.114,2365,2.81,2387,2.874,2391,3.242,2392,2.874,2551,2.694,2610,4.47,2640,2.874,2777,3.131,2890,2.835,3097,5.974,3457,3.389,3506,3.302,3556,3.222,3629,3.242,3653,2.874,3789,4.489,3794,7.41,3796,3.097,3839,3.345,3842,5.401,4004,8.027,4429,4.546,4585,3.389,4759,3.323,4865,3.242,5088,3.345,5446,4.625,5456,2.874,5489,3.302,5521,2.874,5547,5.578,5761,3.282,5766,4.731,5853,2.786,5879,3.412,5880,7.157,5881,3.412,5882,3.412,5883,3.412,5884,3.412,5885,3.412,5886,3.412,5887,3.412,5888,3.412,5889,3.412,5890,3.412,5891,5.541,5892,3.412,5893,3.412,5894,3.412,5895,3.389,5896,3.412,5897,3.412,5898,3.412,5910,3.367,5911,2.901,5912,2.901,5913,2.901,5914,2.901,5915,2.901,5916,2.901,5917,2.901,5918,2.901]],["keywords/1169",[]],["title/1170",[1683,637.447]],["content/1170",[]],["keywords/1170",[]],["title/1171",[30,317.855,1683,497.65]],["content/1171",[1,4.181,5,4.709,6,5.739,30,3.614,36,4.091,41,3.465,46,2.767,78,5.475,91,4.516,140,2.104,171,3.635,174,5.433,214,11.43,215,5.535,236,2.168,246,3.553,255,3.298,257,4.772,269,3.817,286,3.485,287,2.959,310,3.243,319,3.207,362,4.768,408,7.496,409,5.614,413,5.091,440,4.124,467,2.124,516,11.117,523,8.815,524,5.827,534,3.845,545,2.646,591,6.441,659,7.236,812,3.349,820,5.377,838,3.501,863,6.357,866,6.303,926,5.349,931,4.707,971,3.831,973,4.867,976,5.638,1048,3.917,1205,4.899,1253,3.817,1272,4.288,1475,3.962,1581,5.619,1585,7.559,1624,8.012,1683,9.826,1687,4.25,1838,9.904,1896,4.288,1916,8.546,2015,6.385,2037,4.269,2070,3.947,2365,4.25,2387,4.347,2392,4.347,2551,4.074,2610,8.314,2890,4.288,3097,7.828,3438,6.282,3508,7.395,3526,4.735,3646,8.963,3653,4.347,3789,6.224,3989,6.963,3998,7.779,4429,7.591,5446,6.413,5449,8.018,5456,6.559,5521,4.347,5766,6.559,5853,4.213,5911,4.387,5912,4.387,5913,4.387,5914,4.387,5915,4.387,5916,4.387,5917,4.387,5918,4.387,5954,7.574,5985,13.076]],["keywords/1171",[]],["title/1172",[30,260.685,1683,408.142,3646,646.526]],["content/1172",[1,4.242,9,2.017,21,1.486,30,1.698,36,2.9,41,2.645,46,5.76,48,2.777,59,2.317,68,4.48,78,3.882,85,3.111,90,4.994,108,2.668,140,1.492,141,1.948,144,2.165,146,4.583,171,4.189,174,4.351,187,2.677,199,4.35,215,3.98,221,2.912,223,3.947,230,4.963,235,6.781,236,3.634,239,4.401,246,2.519,255,3.181,257,4.603,264,3.476,269,2.706,286,4.016,287,2.098,297,3.171,310,2.3,316,3.235,319,2.274,323,2.788,345,2.092,354,3.764,358,2.375,362,5.457,363,0.979,398,2.726,408,4.752,429,5.414,438,3.476,440,2.924,464,2.736,467,1.865,478,3.251,505,4.752,511,7.427,516,3.155,519,4.852,520,3.268,523,8.034,524,3.577,526,5.031,533,6.416,534,2.726,545,2.939,566,3.737,591,3.027,634,3.851,668,4.774,692,2.347,699,6.962,732,3.882,797,7.64,815,8.645,820,4.959,838,2.673,856,3.914,862,4.089,863,4.854,866,6.079,882,3.586,907,4.57,931,3.594,944,1.939,947,3.14,949,2.697,960,2.888,971,2.716,973,3.716,976,4.305,1018,2.274,1039,8.93,1045,5.987,1046,5.685,1048,5.702,1057,4.774,1122,4.255,1149,4.35,1154,8.475,1157,6.029,1205,3.924,1212,4.401,1223,8.521,1237,3.634,1253,2.706,1262,4.937,1266,3.251,1272,4.94,1358,7.238,1366,2.949,1385,2.456,1473,5.549,1475,2.809,1581,2.64,1584,7.53,1585,6.054,1683,8.408,1687,3.013,1838,4.813,1896,3.04,2015,4.875,2037,3.027,2070,4.548,2161,3.851,2175,4.57,2311,3.684,2365,3.013,2380,8.964,2387,3.082,2392,3.082,2551,2.888,2610,4.733,2634,5.685,2724,6.486,2890,3.04,3097,6.269,3378,4.852,3439,11.025,3646,10.951,3653,3.082,3789,4.752,4300,6.486,4301,6.486,4302,5.516,4324,5.889,4429,6.079,5368,5.37,5446,4.897,5456,3.082,5465,7.151,5521,3.082,5766,5.008,5817,4.774,5822,6.486,5853,2.987,5911,3.111,5912,3.111,5913,3.111,5914,3.111,5915,3.111,5916,3.111,5917,3.111,5918,3.111,5986,7.004,5987,4.852,5988,4.852,5989,5.889,5990,9.239,5991,6.486,5992,9.985,5993,14.378,5994,7.004,5995,7.004,5996,7.004,5997,7.004,5998,5.37]],["keywords/1172",[]],["title/1173",[30,260.685,866,454.657,1683,408.142]],["content/1173",[1,2.252,9,1.357,21,2.051,30,2.344,36,4.004,46,4.964,59,2.986,78,5.36,108,3.683,140,2.059,146,5.906,171,3.559,174,5.363,187,3.696,199,6.005,215,4.905,221,4.021,230,6.395,235,8.357,236,3.889,239,6.075,246,3.477,255,3.921,257,4.696,269,3.736,286,3.411,287,2.896,297,4.377,310,3.175,319,3.139,323,3.849,358,3.278,362,4.729,398,3.764,408,6.124,438,4.799,440,4.037,467,2.108,490,5.236,511,9.571,516,4.356,523,5.73,524,4.409,526,6.484,534,3.764,545,3.145,591,4.178,634,5.317,669,7.239,692,3.24,699,5.607,815,10.655,820,5.924,838,3.445,862,5.646,863,6.255,866,6.202,931,4.632,944,2.676,947,4.335,949,3.723,971,3.75,973,4.789,976,6.703,1045,5.086,1122,5.875,1149,6.005,1154,10.445,1205,4.836,1237,5.017,1253,3.736,1272,4.197,1366,4.071,1473,7.151,1475,3.879,1581,3.645,1585,7.461,1683,9.31,1687,4.16,1838,6.202,1896,4.197,2015,6.283,2037,4.178,2070,3.864,2161,5.317,2311,5.086,2365,4.16,2387,4.255,2392,4.255,2551,3.988,2610,7.368,2890,4.197,3097,7.726,3646,5.814,3653,4.255,3789,6.124,4324,8.13,4429,6.202,5368,7.414,5446,6.31,5456,4.255,5465,9.216,5521,4.255,5766,6.454,5817,6.591,5853,4.124,5911,4.294,5912,4.294,5913,4.294,5914,4.294,5915,4.294,5916,4.294,5917,4.294,5918,4.294,5987,6.698,5988,6.698,5989,8.13,5990,11.906,5991,8.954]],["keywords/1173",[]],["title/1174",[30,260.685,215,297.634,1683,408.142]],["content/1174",[1,2.72,30,2.832,36,4.837,46,3.272,59,3.434,78,6.474,140,2.488,146,6.794,171,4.299,174,5.993,199,7.254,215,6.367,235,7.956,236,2.563,246,4.201,255,3.733,257,5.401,269,4.513,287,3.499,297,5.288,310,3.835,319,3.792,362,4.184,390,2.488,408,7.044,438,5.797,440,4.877,467,2.241,511,11.008,516,5.262,523,6.591,524,2.906,526,7.458,534,4.546,545,2.994,591,5.047,699,4.465,820,6.496,838,3.962,863,7.195,931,5.327,971,4.53,973,5.508,1045,6.144,1205,5.405,1253,4.513,1475,4.685,1581,4.403,1585,8.338,1683,10.061,1687,5.025,1896,5.07,2015,7.226,2037,5.047,2070,4.667,2311,6.144,2365,5.025,2387,5.139,2392,5.139,2551,4.817,2610,7.015,2890,5.07,3097,8.635,3653,5.139,3789,7.044,4429,7.133,5446,7.258,5456,5.139,5465,10.6,5521,5.139,5766,7.423,5817,7.961,5853,4.981,5911,5.188,5912,5.188,5913,5.188,5914,5.188,5915,5.188,5916,5.188,5917,5.188,5918,5.188,5987,8.092,5988,8.092]],["keywords/1174",[]],["title/1175",[30,260.685,523,420.077,1683,408.142]],["content/1175",[1,2.72,30,2.832,36,4.837,46,3.272,59,3.434,78,6.474,140,2.488,146,6.794,171,4.299,174,5.993,199,7.254,215,5.482,235,7.956,236,2.563,246,4.201,255,3.733,257,5.401,269,4.513,287,3.499,297,5.288,310,3.835,319,3.792,362,4.184,408,7.044,438,5.797,440,4.877,467,2.241,511,11.008,516,5.262,523,7.737,524,2.906,526,7.458,534,4.546,545,2.994,591,5.047,699,4.465,820,6.496,838,3.962,863,7.195,931,5.327,971,4.53,973,5.508,976,4.418,1045,6.144,1205,5.405,1253,4.513,1272,5.07,1475,4.685,1581,4.403,1585,8.338,1683,9.935,1687,5.025,1838,4.939,1896,5.07,2015,7.226,2037,5.047,2070,4.667,2311,6.144,2365,5.025,2387,5.139,2392,5.139,2551,4.817,2610,7.015,2890,5.07,3097,8.635,3653,5.139,3789,7.044,4429,7.133,5446,7.258,5456,5.139,5465,10.6,5521,5.139,5766,7.423,5817,7.961,5853,4.981,5911,5.188,5912,5.188,5913,5.188,5914,5.188,5915,5.188,5916,5.188,5917,5.188,5918,5.188,5987,8.092,5988,8.092]],["keywords/1175",[]],["title/1176",[30,260.685,1683,408.142,3438,683.806]],["content/1176",[1,3.714,9,1.517,30,3.866,36,4.477,46,3.029,59,3.246,78,5.993,140,2.303,146,6.421,171,3.979,174,5.733,199,6.715,215,5.244,235,7.52,236,2.373,246,3.889,255,3.528,257,5.105,269,4.178,287,5.674,297,4.895,310,3.55,319,3.51,362,5.098,408,6.658,414,7.153,438,5.366,440,4.514,467,2.245,511,10.405,516,4.871,523,8.711,524,2.69,526,7.049,534,4.209,545,2.83,591,4.672,699,4.133,737,5.9,746,4.944,812,6.423,820,6.263,838,3.745,863,6.801,931,5.035,971,4.193,973,5.206,1045,5.687,1205,5.17,1253,4.178,1279,9.142,1475,4.337,1581,4.075,1585,7.976,1683,9.76,1687,4.652,1838,4.572,1896,4.693,2015,6.83,2037,4.672,2070,4.321,2311,5.687,2365,4.652,2387,4.758,2392,4.758,2551,4.459,2610,6.63,2890,4.693,3097,8.26,3438,6.876,3440,7.49,3653,4.758,3789,6.658,4429,6.742,4846,8.777,5446,6.86,5456,4.758,5465,10.019,5521,4.758,5766,7.016,5817,7.37,5853,4.611,5911,4.802,5912,4.802,5913,4.802,5914,4.802,5915,4.802,5916,4.802,5917,4.802,5918,4.802,5987,7.49,5988,7.49,5999,10.813]],["keywords/1176",[]],["title/1177",[30,260.685,91,491.623,1683,408.142]],["content/1177",[1,2.662,5,5.449,30,2.771,36,4.733,46,4.652,59,3.381,78,10.842,91,5.226,140,2.434,146,6.688,171,4.207,174,5.92,199,7.099,215,5.415,235,7.832,236,2.509,246,4.111,255,3.674,257,5.317,269,4.417,287,3.424,297,5.175,310,3.753,319,3.711,362,4.133,408,6.934,438,5.672,440,4.772,467,2.226,511,10.837,523,7.642,526,7.342,534,4.449,545,2.948,591,4.939,699,4.369,820,6.431,838,3.901,863,7.083,931,5.244,971,4.433,973,5.422,1045,6.012,1205,5.338,1253,4.417,1475,4.585,1581,6.26,1585,8.236,1683,9.887,1687,4.917,1896,4.961,2015,7.114,2037,4.939,2070,4.567,2311,6.012,2365,4.917,2387,5.029,2392,5.029,2551,4.714,2610,6.906,2890,4.961,3097,8.529,3653,5.029,3657,7.361,3789,6.934,3989,8.056,4063,8.056,4429,7.022,5446,7.145,5456,5.029,5465,10.435,5521,5.029,5766,7.308,5817,11.32,5853,4.875,5911,5.076,5912,5.076,5913,5.076,5914,5.076,5915,5.076,5916,5.076,5917,5.076,5918,5.076,5987,7.918,5988,7.918,6000,8.557]],["keywords/1177",[]],["title/1178",[30,260.685,1624,577.911,1683,408.142]],["content/1178",[1,2.382,9,1.435,30,2.479,36,4.234,46,2.864,59,4.141,78,5.668,140,2.178,146,6.16,171,3.763,174,5.547,199,6.351,215,5.631,235,7.215,236,2.244,246,3.677,255,4.055,257,4.898,269,3.951,287,3.063,297,4.629,310,3.357,319,3.32,359,5.27,362,4.299,390,2.178,398,3.98,408,6.387,438,5.074,440,4.269,467,2.148,486,3.329,511,9.982,516,4.607,523,5.977,524,5.419,526,6.763,534,3.98,545,3.253,591,4.419,699,3.909,749,11.206,820,6.094,838,3.593,863,6.524,898,4.822,931,4.831,971,3.966,973,4.995,976,5.786,1011,5.579,1045,5.379,1205,5.002,1253,3.951,1261,4.652,1272,4.438,1362,10.984,1475,4.102,1581,3.854,1585,7.717,1624,9.851,1683,9.455,1687,4.399,1838,4.324,1896,4.438,1899,7.841,2015,6.553,2037,4.419,2070,4.086,2311,5.379,2365,4.399,2387,4.499,2392,4.499,2551,4.217,2610,6.361,2634,8.3,2682,10.783,2740,5.044,2764,8.053,2890,4.438,3097,7.992,3295,9.469,3653,4.499,3789,6.387,4005,9.469,4429,6.469,5368,7.841,5371,12.418,5446,6.582,5456,4.499,5465,9.612,5521,4.499,5766,6.731,5817,6.97,5853,4.361,5911,4.541,5912,4.541,5913,4.541,5914,4.541,5915,4.541,5916,4.541,5917,4.541,5918,4.541,5987,7.084,5988,7.084,5989,8.598,5990,12.418,6001,8.3]],["keywords/1178",[]],["title/1179",[30,260.685,1683,408.142,1916,616.465]],["content/1179",[1,2.544,9,1.533,30,2.648,36,4.523,46,3.06,59,3.879,78,6.054,140,2.326,146,6.47,171,4.02,174,5.767,199,6.784,215,5.275,235,7.577,236,2.397,246,3.928,255,4.216,257,5.143,269,4.221,287,3.272,297,4.945,310,3.587,319,3.546,359,5.63,362,4.44,398,4.252,408,6.708,438,5.421,440,4.561,467,2.195,511,10.483,516,4.921,523,6.277,524,4.741,526,7.102,534,4.252,545,3.383,591,4.72,699,4.176,820,6.294,838,3.773,863,6.852,931,5.073,971,4.236,973,5.245,976,6.077,1045,5.746,1048,4.332,1205,5.201,1253,4.221,1272,4.741,1475,4.382,1581,4.117,1585,8.024,1683,9.622,1687,4.699,1838,4.619,1896,4.741,1916,9.211,2015,6.882,2037,4.72,2070,4.365,2311,5.746,2365,4.699,2387,4.806,2392,4.806,2551,4.505,2610,6.68,2682,11.324,2890,4.741,3097,8.309,3653,4.806,3789,6.708,4429,6.793,5368,8.376,5446,6.912,5456,7.069,5465,10.094,5521,4.806,5766,7.069,5817,7.445,5853,4.658,5911,4.851,5912,4.851,5913,4.851,5914,4.851,5915,4.851,5916,4.851,5917,4.851,5918,4.851,5987,7.567,5988,7.567,5989,9.184,5990,13.041,6001,8.867]],["keywords/1179",[]],["title/1180",[30,220.945,214,698.812,215,252.261,1683,345.923]],["content/1180",[1,2.322,6,5.78,9,1.399,30,2.417,36,4.129,41,2.317,46,2.793,59,3.056,78,5.526,140,2.124,144,3.081,146,6.045,171,3.669,174,5.464,199,6.192,214,15.404,215,6.504,235,7.079,236,2.188,246,3.586,255,3.994,257,4.806,269,3.853,287,2.986,297,4.514,304,12.185,310,3.274,319,3.237,362,4.245,390,2.124,398,3.881,408,6.268,423,3.563,438,4.948,440,4.163,467,2.13,511,9.795,516,4.492,520,4.653,523,7.053,524,3.735,526,6.636,534,3.881,545,3.205,556,2.322,565,5.04,591,4.308,671,6.596,699,3.811,794,5.877,815,5.995,820,6.017,838,3.526,856,5.572,863,6.402,931,4.74,971,3.867,973,4.901,976,5.678,1045,5.245,1205,4.927,1253,3.853,1262,7.028,1272,4.328,1437,6.915,1475,4,1581,3.758,1585,7.601,1683,9.39,1687,4.289,1896,4.328,2015,6.43,2037,4.308,2070,3.984,2163,4.559,2311,5.245,2365,4.289,2387,4.387,2392,4.387,2551,4.112,2610,6.242,2634,8.093,2890,4.328,3097,7.872,3293,9.233,3653,4.387,3789,6.268,3802,15.821,4429,6.347,5368,7.645,5371,8.093,5446,6.458,5456,4.387,5465,9.432,5521,4.387,5766,6.605,5817,6.796,5853,4.252,5911,4.428,5912,4.428,5913,4.428,5914,4.428,5915,4.428,5916,4.428,5917,4.428,5918,4.428,5963,8.093,5987,6.907,5988,6.907,5990,12.185,6002,9.971,6003,9.971]],["keywords/1180",[]],["title/1181",[30,260.685,1683,408.142,5985,943.268]],["content/1181",[1,1.999,9,2.308,27,3.365,30,2.08,36,3.553,46,2.404,57,5.599,59,2.724,78,4.756,140,1.828,146,6.623,169,4.452,171,3.158,174,4.977,199,5.329,203,5.849,215,4.552,235,6.31,236,1.883,246,4.812,255,3.639,257,4.284,269,3.316,287,4.008,292,4.068,297,3.885,310,2.817,319,2.786,357,3.212,362,4.255,390,1.828,398,6.401,408,8.908,438,4.258,440,3.583,467,2.02,475,2.217,477,4.184,487,3.885,501,5.27,511,8.731,523,7.256,526,5.915,534,3.34,545,3.574,591,3.708,625,3.811,678,4.208,699,3.28,804,1.891,820,6.032,838,3.142,863,5.706,931,4.225,968,4.964,971,3.328,973,4.368,1045,4.514,1048,5.306,1120,5.347,1170,5.942,1205,4.488,1227,3.692,1237,4.452,1253,3.316,1261,3.904,1437,2.953,1475,3.442,1480,3.234,1581,3.234,1585,6.924,1610,3.776,1683,9.512,1686,9.6,1687,3.692,1895,8.211,1896,3.725,2015,5.731,2028,5.849,2037,3.708,2070,3.429,2311,4.514,2365,3.692,2387,3.776,2392,3.776,2551,3.539,2610,6.838,2675,4.394,2890,3.725,3097,7.171,3526,7.884,3550,11.25,3616,6.58,3653,3.776,3779,4.311,3789,5.587,3816,8.262,4083,6.942,4429,5.657,4755,4.258,4836,4.423,5446,5.756,5456,3.776,5465,8.407,5521,3.776,5761,9.331,5765,4.482,5766,7.236,5817,9.12,5853,3.66,5899,4.514,5900,4.514,5901,4.514,5902,4.514,5903,7.038,5904,4.514,5905,4.482,5906,7.038,5907,4.514,5908,7.038,5909,4.482,5911,3.811,5912,3.811,5913,3.811,5914,3.811,5915,3.811,5916,3.811,5917,3.811,5918,3.811,5985,11.737,5987,5.944,5988,5.944,6004,13.38,6005,8.581,6006,8.581,6007,11.737]],["keywords/1181",[]],["title/1182",[6,350.884,30,220.945,523,356.039,1683,345.923]],["content/1182",[1,2.672,6,6.411,30,2.781,36,4.75,46,3.213,59,3.389,78,6.358,140,2.443,146,6.705,171,4.222,174,5.932,199,7.124,215,5.426,235,7.852,236,2.518,246,4.125,255,3.684,257,5.331,269,4.433,287,3.436,297,5.193,310,3.767,319,3.724,362,4.142,408,8.98,438,5.693,440,4.789,467,2.229,511,10.865,516,5.168,523,7.658,526,7.361,534,4.465,545,2.956,591,4.957,699,4.385,820,6.442,838,3.911,863,7.101,926,6.211,931,5.258,971,4.449,973,5.436,976,4.339,1045,6.034,1205,5.349,1253,4.433,1475,4.601,1581,4.324,1585,8.253,1683,10.024,1687,4.935,1838,4.85,1896,4.979,2015,7.132,2037,4.957,2070,4.584,2311,6.034,2365,4.935,2387,5.047,2392,5.047,2551,4.731,2610,6.924,2890,4.979,3097,8.546,3653,5.047,3789,6.952,3998,9.034,4429,7.041,5446,7.164,5456,5.047,5465,10.462,5521,5.047,5766,7.327,5817,7.819,5853,4.892,5911,5.095,5912,5.095,5913,5.095,5914,5.095,5915,5.095,5916,5.095,5917,5.095,5918,5.095,5987,7.947,5988,7.947]],["keywords/1182",[]],["title/1183",[30,260.685,591,464.649,1683,408.142]],["content/1183",[1,2.73,30,2.842,36,4.855,41,2.725,46,3.284,59,3.443,78,6.498,140,2.497,146,6.812,171,4.314,174,6.006,199,7.281,215,5.493,235,7.977,236,2.573,246,4.216,255,3.742,257,5.415,269,4.53,287,3.511,297,5.307,310,3.849,319,3.806,362,4.193,408,7.062,413,6.042,438,5.818,440,4.895,467,2.243,511,11.037,523,6.608,524,2.917,526,7.477,534,4.563,545,3.002,591,7.309,659,8.587,699,4.481,820,6.507,838,3.973,863,7.214,931,5.341,971,4.546,973,5.522,1045,6.166,1205,5.416,1253,4.53,1475,4.703,1581,4.419,1585,8.355,1683,9.794,1687,5.043,1896,5.088,2015,7.245,2037,5.066,2070,4.684,2311,6.166,2365,5.043,2387,5.158,2392,5.158,2551,4.835,2610,7.033,2890,5.088,3097,8.652,3653,5.158,3789,7.062,4429,7.152,5446,7.277,5449,9.516,5456,5.158,5465,10.628,5521,5.158,5766,7.443,5817,7.99,5853,5,5911,5.207,5912,5.207,5913,5.207,5914,5.207,5915,5.207,5916,5.207,5917,5.207,5918,5.207,5987,8.121,5988,8.121]],["keywords/1183",[]],["title/1184",[377,930.848]],["content/1184",[]],["keywords/1184",[]],["title/1185",[30,317.855,377,726.706]],["content/1185",[1,2.923,23,4.731,30,4.306,32,6.648,34,5.767,36,5.197,46,3.516,59,2.555,140,2.673,171,4.619,174,6.238,236,2.754,246,4.514,255,3.929,257,5.686,269,4.85,286,4.428,310,4.121,319,4.074,362,4.355,377,13.108,379,7.072,380,8.04,409,7.133,429,3.73,440,5.24,467,2.289,523,4.903,534,4.885,545,3.152,591,5.423,820,6.173,838,4.171,863,7.574,931,5.608,971,4.867,973,5.798,1205,5.625,1253,4.85,1475,5.034,1480,4.731,1581,6.694,1585,8.678,1683,8.506,1687,5.399,1896,5.448,2015,7.607,2037,5.423,2070,5.015,2365,5.399,2387,5.522,2392,5.522,2551,5.176,2610,9.318,2890,5.448,3097,8.987,3508,9.396,3653,5.522,3789,7.415,4429,7.509,5446,7.64,5456,5.522,5521,5.522,5766,7.814,5853,5.352,5911,5.574,5912,5.574,5913,5.574,5914,5.574,5915,5.574,5916,5.574,5917,5.574,5918,5.574,5954,9.623]],["keywords/1185",[]],["title/1186",[30,260.685,377,595.999,380,486.79]],["content/1186",[1,2.842,8,3.875,9,2.67,13,5.415,21,1.62,23,5.745,26,3.075,27,1.712,30,1.059,31,1.602,36,1.808,41,1.775,46,1.223,50,2.537,59,3.102,85,1.939,96,2.297,108,5.805,122,0.976,140,0.93,144,2.36,169,2.266,171,1.607,174,3.079,175,7.449,193,0.884,194,1.706,202,1.816,204,1.387,215,2.816,220,6.681,221,1.816,236,0.958,246,1.57,248,3.3,251,1.772,255,3.63,257,3.257,269,1.687,287,3.655,292,2.071,310,1.434,316,2.017,319,1.418,322,1.618,328,3.375,332,2.208,340,1.823,346,2.194,357,1.635,362,5.181,363,3.271,377,10.549,379,4.303,380,6.275,381,7.617,383,2.55,385,9.815,390,2.599,392,2.236,398,6.387,404,1.459,408,5.095,421,2.313,429,4.53,434,2.017,440,1.823,442,2.599,466,2.048,467,2.006,468,2.222,471,2.027,475,4.72,477,4.96,478,2.027,481,6.763,487,1.977,500,4.933,523,4.767,524,3.792,525,5.375,526,3.375,533,3.407,534,1.7,540,2.728,545,3.696,587,1.663,591,4.396,600,1.091,620,1.663,624,2.694,625,1.939,648,2.777,678,2.142,688,2.194,692,1.463,695,3.136,699,1.669,713,1.895,728,3.005,762,2.167,764,1.846,773,3.078,789,1.779,800,4.652,804,0.962,812,1.481,820,5.901,838,1.793,840,3.275,863,3.256,876,1.801,931,2.411,960,1.801,971,1.694,973,2.493,976,2.888,1008,3.545,1024,8.334,1036,2.071,1048,4.035,1077,2.222,1120,3.051,1141,3.582,1144,3.025,1170,3.391,1198,4.989,1205,2.777,1208,1.823,1210,2.208,1214,2.154,1215,2.017,1227,1.879,1238,2.129,1253,2.95,1261,3.474,1266,4.723,1272,1.895,1385,2.677,1431,5.915,1437,1.503,1475,5.56,1480,2.878,1574,3.025,1581,2.878,1585,4.284,1610,1.921,1644,1.291,1677,3.582,1680,2.208,1683,6.228,1686,6.608,1687,1.879,1838,4.302,1895,5.08,1896,1.895,1986,2.142,2002,8.397,2015,3.271,2020,4.606,2037,1.887,2070,1.745,2163,1.997,2176,3.078,2199,2.18,2238,3.199,2255,2.082,2365,1.879,2387,1.921,2391,2.167,2392,1.921,2498,4.797,2551,1.801,2610,4.23,2631,3.439,2636,3.078,2640,1.921,2675,2.236,2777,2.093,2890,1.895,3097,4.436,3448,2.44,3457,2.266,3506,2.208,3517,2.931,3526,4.877,3556,2.154,3628,2.976,3629,2.167,3653,1.921,3779,2.194,3789,3.188,3794,5.694,3796,2.071,3816,5.111,3839,2.236,3842,3.836,4004,7.704,4083,3.962,4123,2.889,4144,3.136,4248,3.348,4429,3.229,4585,2.266,4675,2.682,4755,2.167,4759,2.222,4836,2.251,4860,11.41,4865,2.167,5088,2.236,5364,5.716,5446,3.285,5456,1.921,5489,2.208,5521,1.921,5546,3.439,5547,3.962,5761,6.13,5765,2.281,5766,4.477,5853,1.862,5877,2.712,5878,2.401,5879,2.281,5880,5.315,5881,2.281,5882,2.281,5883,2.281,5884,2.281,5885,2.281,5886,2.281,5887,2.281,5888,2.281,5889,2.281,5890,2.281,5891,3.935,5892,2.281,5893,2.281,5894,2.281,5895,2.266,5896,2.281,5897,2.281,5898,2.281,5899,2.297,5900,2.297,5901,2.297,5902,2.297,5903,4.016,5904,2.297,5905,3.989,5906,4.016,5907,2.297,5908,4.016,5909,2.281,5910,2.251,5911,1.939,5912,1.939,5913,1.939,5914,1.939,5915,1.939,5916,1.939,5917,1.939,5918,1.939,5919,5.382,5934,3.199,5950,3.348,6008,6.698,6009,3.439]],["keywords/1186",[]],["title/1187",[30,260.685,377,595.999,379,605.896]],["content/1187",[1,2.837,8,3.867,9,2.667,13,5.405,21,1.616,23,5.736,26,3.067,27,1.708,30,1.847,31,1.597,36,1.803,41,1.77,46,1.22,50,2.531,59,3.335,85,1.934,96,2.291,108,5.796,122,0.973,140,0.928,144,2.354,169,2.26,171,1.603,174,3.072,175,7.436,193,0.881,194,1.701,202,1.811,204,1.383,215,2.81,220,6.67,221,1.811,236,0.956,246,1.566,248,3.292,251,1.768,255,3.625,257,3.25,269,1.683,287,3.648,292,2.065,310,1.43,316,2.011,319,1.414,322,1.614,328,3.367,332,2.202,340,1.818,346,2.188,357,1.63,362,5.178,363,3.268,377,10.537,379,5.721,380,4.596,381,7.601,383,2.543,385,9.799,390,2.594,392,2.23,398,6.377,404,1.455,408,5.085,421,2.307,429,4.523,434,2.011,440,1.818,442,2.592,466,2.043,467,2.005,468,2.216,471,2.022,475,4.715,477,4.95,478,2.022,481,6.751,487,1.972,500,4.924,523,4.758,524,3.786,525,5.366,526,3.367,533,3.399,534,1.695,540,2.722,545,3.693,587,1.659,591,4.387,600,1.088,620,1.659,624,2.689,625,1.934,648,2.77,678,2.136,688,2.188,692,1.459,695,3.127,699,1.665,713,1.89,728,2.998,762,2.161,764,1.841,773,3.07,789,1.775,800,4.642,804,0.96,812,1.477,820,5.894,838,1.789,840,3.268,863,3.249,876,1.796,931,2.405,960,1.796,971,1.689,973,2.487,976,2.881,1008,3.536,1024,8.319,1036,2.065,1048,4.026,1077,2.216,1120,3.044,1141,3.573,1144,3.017,1170,3.383,1198,4.979,1205,2.771,1208,1.818,1210,2.202,1214,2.148,1215,2.013,1227,1.874,1238,2.123,1253,2.943,1261,3.465,1266,4.713,1272,1.89,1385,2.671,1431,5.904,1437,1.499,1475,5.55,1480,3.827,1574,3.017,1581,2.871,1585,4.275,1610,1.916,1644,1.288,1677,3.573,1680,2.202,1683,6.219,1686,6.596,1687,1.874,1838,4.293,1895,5.069,1896,1.89,1986,2.136,2002,8.387,2015,3.263,2020,4.596,2037,1.882,2070,1.74,2163,1.991,2176,3.07,2199,2.174,2238,3.19,2255,2.076,2365,1.874,2387,1.916,2391,2.161,2392,1.916,2498,4.786,2551,1.796,2610,4.221,2631,3.43,2636,3.07,2640,1.916,2675,2.23,2777,2.088,2890,1.89,3097,4.427,3448,2.434,3457,2.26,3506,2.202,3517,2.923,3526,4.867,3556,2.148,3628,2.968,3629,2.161,3653,1.916,3779,2.188,3789,3.18,3794,5.683,3796,2.065,3816,5.1,3839,2.23,3842,3.827,4004,7.692,4083,3.952,4123,2.881,4144,3.127,4248,3.339,4429,3.221,4585,2.26,4675,2.675,4755,2.161,4759,2.216,4836,2.245,4860,11.392,4865,2.161,5088,2.23,5364,5.703,5446,3.277,5456,1.916,5489,2.202,5521,1.916,5546,3.43,5547,3.952,5761,6.118,5765,2.275,5766,4.467,5853,1.857,5877,2.705,5878,2.395,5879,2.275,5880,5.304,5881,2.275,5882,2.275,5883,2.275,5884,2.275,5885,2.275,5886,2.275,5887,2.275,5888,2.275,5889,2.275,5890,2.275,5891,3.926,5892,2.275,5893,2.275,5894,2.275,5895,2.26,5896,2.275,5897,2.275,5898,2.275,5899,2.291,5900,2.291,5901,2.291,5902,2.291,5903,4.007,5904,2.291,5905,3.979,5906,4.007,5907,2.291,5908,4.007,5909,2.275,5910,2.245,5911,1.934,5912,1.934,5913,1.934,5914,1.934,5915,1.934,5916,1.934,5917,1.934,5918,1.934,5919,5.369,5934,3.19,5950,3.339,6008,6.682,6009,3.43]],["keywords/1187",[]],["title/1188",[30,260.685,32,402.5,377,595.999]],["content/1188",[1,2.278,6,4.245,8,2.565,9,2.57,13,5.779,15,0.986,21,1.029,22,2.886,23,4.155,26,1.952,27,1.033,30,2.94,31,1.778,32,3.66,34,2.228,36,1.091,38,2.274,41,4.541,46,5.13,50,1.679,58,1.755,59,3.728,61,6.321,63,1.84,68,1.908,83,1.165,85,3.714,90,0.915,96,1.386,108,4.199,120,3.083,122,1.869,140,0.561,144,1.498,157,1.187,164,1.396,169,1.367,171,0.97,174,2.959,175,5.256,193,0.533,194,1.894,202,1.095,203,1.796,204,1.539,209,1.553,215,2.707,220,4.714,221,1.095,230,4.807,235,6.976,236,4.366,239,4.232,243,2.606,246,0.948,248,2.91,251,1.069,252,3.359,255,3.273,256,3.164,257,3.883,259,1.242,260,1.229,263,2.516,264,1.307,268,1.636,269,1.018,273,3.498,274,2.162,285,1.1,287,2.929,290,1.719,292,1.249,297,1.193,306,1.636,310,0.865,316,1.217,319,1.574,322,0.976,326,1.27,328,2.143,329,1.574,332,1.332,340,1.1,346,1.324,357,0.986,358,0.893,359,2.499,362,4.749,363,3.021,377,6.722,379,3.795,380,2.195,381,5.042,383,1.538,385,7.1,390,2.348,392,1.349,398,6.296,404,1.62,408,6.176,417,0.901,421,1.396,423,3.494,429,4.397,434,2.239,440,1.1,442,4.009,443,0.93,466,1.236,467,1.937,468,1.34,471,1.223,475,3.821,477,4.077,478,1.223,481,4.635,487,1.193,489,1.138,500,3.38,513,1.349,520,3.143,521,1.416,523,3.82,524,2.433,525,5.428,526,2.143,533,3.731,534,1.025,540,1.733,545,3.076,554,0.918,556,0.614,568,1.406,587,1.847,591,2.91,600,3.031,603,1.887,609,1.386,613,0.779,620,1.847,624,2.59,625,1.17,641,1.538,642,1.568,648,1.675,651,1.472,656,2.978,661,0.821,678,1.292,681,1.825,688,1.324,692,0.883,695,1.892,699,5.012,713,1.144,717,1.93,728,1.908,739,3.322,746,2.217,762,1.307,764,1.114,773,1.857,787,6.567,789,1.074,800,3.079,804,1.068,812,0.893,820,5.852,836,0.839,838,1.139,840,2.168,842,0.846,848,1.984,862,1.538,863,2.068,866,5.918,868,1.553,876,1.087,878,6.698,886,1.124,889,0.704,894,6.834,931,1.531,949,3.219,960,1.087,971,1.022,973,1.583,976,2.547,1008,2.251,1018,0.855,1024,5.88,1033,5.464,1036,1.249,1045,1.386,1048,6.153,1056,3.359,1062,3.011,1077,1.34,1120,1.937,1141,2.274,1144,1.825,1154,7.149,1158,1.524,1170,3.714,1198,3.303,1205,1.838,1208,1.1,1210,1.332,1213,3.046,1214,1.3,1215,1.281,1227,2.086,1237,2.516,1238,1.285,1253,1.874,1256,2.831,1261,3.804,1263,1.675,1266,3.127,1272,2.923,1338,1.825,1344,1.367,1350,3.552,1373,4.175,1385,1.7,1431,4.054,1437,0.907,1475,3.923,1480,1.828,1573,2.364,1574,1.825,1581,3.152,1585,2.836,1610,1.159,1611,3.208,1613,0.779,1624,4.494,1644,0.779,1677,2.274,1680,1.332,1683,6.579,1686,4.662,1687,1.133,1736,3.083,1838,3.536,1895,3.363,1896,1.144,1913,1.675,1916,3.861,1954,2.516,1986,1.292,1992,1.697,2002,6.431,2015,2.077,2020,3.049,2037,1.138,2070,1.937,2163,1.205,2176,1.857,2199,1.315,2236,1.636,2255,2.311,2283,1.892,2321,3.417,2328,1.655,2365,1.133,2387,1.159,2391,1.307,2392,1.159,2498,3.046,2551,1.087,2578,1.524,2610,2.8,2636,1.857,2640,1.159,2675,1.349,2709,3.255,2777,4.008,2890,1.144,3097,2.937,3315,1.892,3448,1.472,3457,1.367,3506,2.451,3517,1.768,3526,3.228,3555,1.857,3556,1.3,3561,3.63,3620,1.618,3628,1.796,3629,1.307,3646,1.584,3653,1.159,3779,1.324,3784,3.481,3789,2.024,3794,3.902,3796,2.299,3816,3.383,3839,1.349,3842,2.436,3868,5.908,3871,2.311,3893,1.524,3939,1.972,3995,2.311,3996,2.311,3997,5.164,3998,2.075,3999,2.311,4004,6.628,4083,2.516,4144,1.892,4199,1.972,4228,3.255,4282,3.63,4429,2.05,4556,2.02,4585,1.367,4675,2.978,4755,1.307,4759,1.34,4836,1.358,4860,8.253,4865,2.406,5088,1.349,5364,3.63,5446,2.086,5456,1.159,5489,2.451,5491,3.718,5521,1.159,5546,2.075,5547,2.516,5610,2.02,5761,4.201,5765,1.376,5766,2.963,5853,1.124,5877,1.636,5878,1.449,5879,1.376,5880,3.518,5881,1.376,5882,1.376,5883,1.376,5884,1.376,5885,1.376,5886,1.376,5887,1.376,5888,1.376,5889,1.376,5890,1.376,5891,4.31,5892,1.376,5893,1.376,5894,1.376,5895,1.367,5896,1.376,5897,1.376,5898,1.376,5899,1.386,5900,1.386,5901,1.386,5902,1.386,5903,2.55,5904,1.386,5905,4.368,5906,2.55,5907,1.386,5908,2.55,5909,1.376,5910,1.358,5911,1.17,5912,1.17,5913,1.17,5914,1.17,5915,1.17,5916,1.17,5917,1.17,5918,1.17,5920,2.311,5921,2.311,5924,2.075,5925,2.075,5926,2.075,5927,1.972,5928,1.972,5929,1.972,5930,3.818,5931,2.02,5932,2.075,5933,2.075,5934,1.93,5935,4.49,5936,2.44,5937,2.215,5938,2.215,5950,2.02,6008,4.253,6009,2.075]],["keywords/1188",[]],["title/1189",[1622,843.665]],["content/1189",[]],["keywords/1189",[]],["title/1190",[30,317.855,1622,658.643]],["content/1190",[1,1.931,9,1.163,15,3.104,19,3.276,23,4.91,30,4.42,32,3.104,36,3.434,41,1.927,46,3.649,51,4.246,59,3.711,63,4.944,140,1.766,141,2.306,144,2.563,164,4.392,171,3.052,174,4.869,188,4.02,193,2.636,194,3.239,215,4.453,236,3.531,246,2.982,251,3.365,255,2.882,257,4.17,269,3.204,273,3.757,286,2.925,310,2.723,319,2.692,355,3.158,358,6.718,359,4.274,362,4.444,363,2.249,380,5.897,382,3.83,390,2.774,409,4.712,413,4.274,423,2.963,440,3.462,467,1.994,475,4.709,504,8.284,506,4.841,513,4.246,516,3.736,523,3.239,524,4.003,526,3.665,534,3.227,545,3.236,581,4.193,587,3.158,591,3.583,592,6.67,600,2.072,603,7.712,605,4.634,624,2.196,661,2.583,702,7.163,742,7.053,743,3.158,820,4.819,824,1.838,830,4.754,836,5.122,838,3.059,863,5.555,868,4.887,889,2.216,921,6.21,929,7.678,931,4.113,971,3.216,973,4.253,984,3.89,1100,8.284,1120,5.205,1163,4.524,1205,4.391,1208,3.462,1215,4.251,1239,6.972,1253,3.204,1366,3.491,1385,4.567,1470,4.302,1475,3.326,1581,8.832,1585,6.774,1612,10.498,1613,2.452,1622,9.158,1624,7.001,1644,2.452,1683,6.92,1687,3.567,1896,3.599,1954,4.302,2002,7.393,2015,5.58,2037,3.583,2056,6.53,2070,3.313,2365,3.567,2387,3.649,2392,3.649,2551,3.42,2578,4.797,2610,7.58,2640,5.732,2685,7.274,2738,5.566,2890,3.599,3097,7.015,3415,9.542,3460,4.634,3508,6.208,3526,3.975,3653,3.649,3789,5.439,3974,6.358,4429,5.508,5446,5.604,5456,3.649,5521,3.649,5766,5.732,5853,3.536,5911,3.683,5912,3.683,5913,3.683,5914,3.683,5915,3.683,5916,3.683,5917,3.683,5918,3.683,5954,6.358,6010,7.678]],["keywords/1190",[]],["title/1191",[30,260.685,592,550.571,1622,540.178]],["content/1191",[1,2.762,8,4.517,9,2.687,13,6.126,21,1.928,23,5.91,26,3.66,27,2.095,30,1.296,31,1.96,36,2.213,41,2.112,46,1.497,50,2.956,59,2.847,61,2.576,85,4.036,108,6.496,140,1.138,144,2.809,169,2.773,171,1.967,174,3.588,193,1.081,194,2.088,202,2.222,204,1.697,215,3.282,220,7.558,221,2.222,236,1.173,246,1.922,255,4.025,257,3.796,269,2.065,287,1.601,292,2.534,310,1.755,316,2.468,319,1.735,322,1.98,328,2.362,340,2.231,346,2.684,357,2,358,4.02,362,5.289,363,2.192,390,2.979,392,2.736,398,6.638,404,1.785,408,5.841,429,5.069,434,2.468,440,2.231,464,3.55,466,2.507,467,1.811,468,2.719,471,2.481,475,2.348,477,5.781,487,2.419,500,5.655,523,5.465,524,3.48,525,5.425,526,4.017,533,2.384,534,2.08,545,3.671,556,1.245,587,3.462,591,2.309,592,8.732,620,2.035,624,2.407,678,2.621,699,2.043,711,2.962,713,2.319,728,3.577,762,2.652,764,2.259,789,2.177,800,2.443,804,1.178,820,6.194,838,2.134,840,3.817,842,1.715,863,3.876,876,2.204,931,2.87,960,2.204,971,2.072,973,2.967,976,4.485,1036,2.534,1048,4.702,1077,2.719,1120,4.738,1141,4.263,1170,4.036,1198,5.815,1205,3.236,1208,2.231,1210,2.701,1214,2.636,1227,2.299,1238,2.605,1253,2.065,1261,2.431,1266,5.504,1272,5.147,1385,3.186,1431,6.781,1437,1.839,1475,2.144,1480,3.425,1487,9.852,1489,3.702,1581,3.425,1585,4.992,1610,2.351,1622,2.684,1680,2.701,1683,6.906,1686,7.475,1687,2.299,1838,5.014,1895,5.92,1896,2.319,1986,2.621,2002,9.177,2015,3.893,2020,5.368,2037,2.309,2070,2.135,2163,2.443,2199,2.668,2255,2.547,2365,2.299,2387,2.351,2391,2.652,2392,2.351,2551,2.204,2610,4.93,2640,2.351,2675,2.736,2777,2.562,2890,2.319,3097,5.17,3457,2.773,3506,2.701,3526,5.684,3556,2.636,3629,2.652,3653,2.351,3779,2.684,3789,3.794,3794,6.528,3796,2.534,3816,5.957,3839,2.736,3842,4.565,4004,7.071,4083,4.715,4429,3.843,4585,2.773,4755,2.652,4759,2.719,4836,2.754,4865,2.652,5088,2.736,5446,3.91,5456,2.351,5489,2.701,5521,2.351,5547,4.715,5626,8.415,5761,7.027,5765,2.791,5766,5.217,5853,2.279,5878,2.938,5879,2.791,5880,6.194,5881,2.791,5882,2.791,5883,2.791,5884,2.791,5885,2.791,5886,2.791,5887,2.791,5888,2.791,5889,2.791,5890,2.791,5891,4.684,5892,2.791,5893,2.791,5894,2.791,5895,2.773,5896,2.791,5897,2.791,5898,2.791,5899,2.811,5900,2.811,5901,2.811,5902,2.811,5903,4.78,5904,2.811,5905,2.791,5906,4.78,5907,2.811,5908,4.78,5909,2.791,5910,2.754,5911,2.373,5912,2.373,5913,2.373,5914,2.373,5915,2.373,5916,2.373,5917,2.373,5918,2.373]],["keywords/1191",[]],["title/1192",[30,260.685,1622,540.178,3415,787.665]],["content/1192",[1,2.721,8,4.451,9,2.663,13,6.054,19,2.07,21,1.896,23,5.841,26,3.598,27,2.054,30,1.27,31,1.922,36,2.169,41,2.077,46,1.467,50,2.913,59,2.811,108,6.428,140,1.116,144,1.619,164,2.775,169,2.718,171,1.928,174,3.536,193,1.06,194,2.047,202,2.178,204,1.663,215,2.473,220,7.47,221,2.178,236,1.15,246,1.884,255,3.986,257,3.741,269,2.024,287,1.569,292,2.484,310,1.72,316,2.419,319,1.701,322,1.941,328,2.316,340,2.187,346,2.632,357,1.961,362,5.383,363,3.032,390,2.488,392,2.682,398,6.568,404,1.75,408,5.765,429,5.016,434,2.419,440,2.187,466,2.457,467,1.796,468,2.665,471,2.432,475,4.654,477,5.697,487,2.372,500,5.582,506,3.059,523,5.394,524,2.907,525,5.355,526,3.95,533,2.338,534,2.039,545,3.753,587,1.996,591,2.264,603,2.039,605,2.927,620,1.996,624,3.657,661,1.632,678,2.569,699,2.003,713,2.274,728,3.517,762,2.6,764,2.215,789,2.135,800,4.085,804,1.154,812,1.776,820,6.146,838,2.099,840,3.761,863,3.811,876,2.161,931,2.822,960,2.161,971,2.032,973,2.917,976,4.419,1036,2.484,1048,4.633,1077,2.665,1120,3.571,1141,4.192,1163,2.858,1170,3.969,1198,5.73,1205,3.189,1210,2.648,1214,2.584,1215,1.384,1227,2.254,1238,2.554,1253,2.024,1261,2.383,1266,5.424,1272,5.072,1385,4.097,1431,6.694,1437,1.803,1470,2.718,1475,2.101,1480,3.368,1581,4.404,1585,4.919,1610,2.305,1613,1.549,1622,5.87,1644,1.549,1680,2.648,1683,6.839,1686,7.388,1687,2.254,1838,4.94,1895,5.834,1896,2.274,1986,2.569,2002,9.102,2015,3.827,2020,5.29,2037,2.264,2056,4.126,2070,2.093,2163,2.395,2199,2.616,2255,2.497,2365,2.254,2387,2.305,2391,2.6,2392,2.305,2551,2.161,2610,4.858,2640,2.305,2675,2.682,2738,3.516,2777,2.511,2890,2.274,3097,5.094,3415,6.546,3457,2.718,3460,2.927,3506,2.648,3526,5.601,3556,2.584,3629,2.6,3653,2.305,3779,2.632,3789,3.731,3794,6.443,3796,2.484,3816,5.87,3839,2.682,3842,4.489,4004,6.98,4083,4.636,4429,3.778,4585,2.718,4675,3.217,4755,2.6,4759,2.665,4836,2.7,4865,2.6,5088,2.682,5446,3.844,5456,2.305,5489,2.648,5521,2.305,5547,4.636,5761,6.936,5765,2.737,5766,5.141,5853,2.234,5877,3.254,5878,2.881,5879,2.737,5880,6.104,5881,2.737,5882,2.737,5883,2.737,5884,2.737,5885,2.737,5886,2.737,5887,2.737,5888,2.737,5889,2.737,5890,2.737,5891,4.605,5892,2.737,5893,2.737,5894,2.737,5895,2.718,5896,2.737,5897,2.737,5898,2.737,5899,2.756,5900,2.756,5901,2.756,5902,2.756,5903,4.7,5904,2.756,5905,2.737,5906,4.7,5907,2.756,5908,4.7,5909,2.737,5910,2.7,5911,2.327,5912,2.327,5913,2.327,5914,2.327,5915,2.327,5916,2.327,5917,2.327,5918,2.327,5919,6.298]],["keywords/1192",[]],["title/1193",[30,260.685,1622,540.178,2002,494.096]],["content/1193",[1,3.178,8,4.392,9,2.642,13,5.991,21,1.867,23,5.78,26,3.544,27,2.018,29,3.853,30,2.134,31,1.888,36,2.131,41,2.045,46,1.442,50,2.875,59,2.778,108,6.366,140,1.096,144,1.59,169,2.67,171,1.894,174,3.489,193,1.781,194,2.01,202,2.14,204,1.634,215,2.436,218,2.601,220,7.392,221,2.14,236,1.129,246,1.851,255,4.349,257,3.691,260,2.401,269,1.989,287,1.541,292,2.44,310,1.69,316,2.377,319,1.671,322,1.907,328,2.275,340,2.149,346,2.585,357,1.926,362,5.247,363,2.144,390,2.456,392,2.635,398,7.652,404,1.719,408,5.697,423,1.839,429,4.968,434,2.377,440,2.149,466,2.414,467,1.782,468,2.618,471,2.389,475,2.273,477,5.622,482,6.197,487,3.984,500,5.517,523,5.331,524,2.869,525,5.292,526,3.89,533,2.296,534,2.003,545,4.062,587,1.96,591,2.224,592,5.904,620,1.96,624,2.331,678,2.524,699,1.967,713,2.234,728,3.464,741,3.358,762,2.554,764,2.176,789,2.097,800,2.353,804,2.541,808,2.401,820,6.103,838,2.708,840,3.712,863,3.753,876,2.122,931,2.779,960,2.122,971,1.996,973,2.873,976,4.361,1036,2.44,1048,4.572,1077,2.618,1120,4.607,1141,4.128,1170,3.909,1198,5.654,1205,3.147,1208,3.674,1210,2.601,1214,2.539,1227,2.214,1238,2.509,1253,1.989,1261,2.341,1266,5.352,1272,5.005,1366,3.705,1385,3.086,1431,6.615,1437,1.771,1475,2.064,1480,3.317,1581,5.143,1585,4.855,1610,2.264,1622,4.421,1680,2.601,1683,6.779,1686,7.31,1687,2.214,1838,4.875,1895,5.757,1896,2.234,1986,2.524,2002,9.906,2015,3.77,2020,5.22,2037,2.224,2070,3.517,2163,2.353,2199,2.569,2255,2.453,2365,2.214,2387,2.264,2391,2.554,2392,2.264,2551,2.122,2610,4.794,2640,2.264,2675,2.635,2777,2.467,2890,2.234,3027,3.127,3097,5.027,3457,2.67,3506,2.601,3526,5.527,3556,2.539,3578,12.243,3629,2.554,3653,2.264,3779,2.585,3789,3.674,3794,6.368,3796,2.44,3816,5.792,3839,2.635,3842,4.421,4004,6.898,4083,4.566,4429,3.721,4585,2.67,4755,2.554,4759,2.618,4836,2.652,4865,2.554,5088,2.635,5446,3.786,5456,2.264,5489,2.601,5521,2.264,5547,4.566,5761,6.855,5765,2.688,5766,5.073,5853,2.195,5878,2.83,5879,2.688,5880,6.023,5881,2.688,5882,2.688,5883,2.688,5884,2.688,5885,2.688,5886,2.688,5887,2.688,5888,2.688,5889,2.688,5890,2.688,5891,4.536,5892,2.688,5893,2.688,5894,2.688,5895,2.67,5896,2.688,5897,2.688,5898,2.688,5899,2.707,5900,2.707,5901,2.707,5902,2.707,5903,4.629,5904,2.707,5905,2.688,5906,4.629,5907,2.707,5908,4.629,5909,2.688,5910,2.652,5911,2.286,5912,2.286,5913,2.286,5914,2.286,5915,2.286,5916,2.286,5917,2.286,5918,2.286,5952,4.765,5998,3.946,6011,5.146,6012,5.146,6013,5.146,6014,5.146,6015,5.146]],["keywords/1193",[]],["title/1194",[30,260.685,475,277.756,1622,540.178]],["content/1194",[1,2.824,8,4.619,9,2.724,13,6.236,21,1.978,23,6.016,26,3.756,27,2.16,30,1.336,31,2.021,36,2.281,41,2.168,46,1.543,50,3.024,59,2.905,108,6.602,140,1.986,144,1.703,169,2.858,171,2.028,174,3.67,193,1.887,194,2.152,202,2.291,204,1.749,215,2.581,220,7.694,221,2.291,236,1.209,246,1.981,255,4.085,257,3.882,269,2.129,287,1.65,292,2.612,310,1.809,316,2.544,319,1.789,322,2.041,328,2.435,340,2.3,346,2.768,357,2.062,362,5.324,363,2.231,390,2.583,392,2.821,398,6.746,404,1.841,408,5.958,429,5.151,434,2.544,440,2.3,466,2.584,467,1.834,468,2.803,471,2.558,475,5.015,477,5.913,487,2.494,500,5.769,523,5.575,524,2.32,525,5.534,526,5.361,533,2.458,534,2.144,545,3.714,587,2.099,591,2.381,620,2.099,624,2.47,642,3.279,678,2.702,699,2.106,713,2.391,728,3.671,762,2.734,764,2.329,789,2.245,800,2.519,804,2.055,820,6.267,838,2.19,840,3.904,863,3.977,876,2.272,931,2.945,960,2.272,971,2.137,973,3.045,976,3.528,1036,2.612,1048,4.809,1077,2.803,1120,4.846,1141,4.375,1170,4.142,1198,5.947,1205,3.309,1210,2.785,1214,2.718,1227,2.37,1238,2.686,1253,2.129,1261,2.506,1266,5.629,1272,2.391,1385,3.27,1431,6.917,1437,1.896,1475,2.21,1480,3.515,1581,5.378,1585,5.106,1610,2.424,1622,4.685,1644,1.629,1680,2.785,1683,7.008,1686,7.609,1687,2.37,1838,5.128,1895,6.055,1896,2.391,1986,2.702,2002,9.293,2015,3.995,2020,5.49,2037,2.381,2070,2.201,2163,2.519,2199,2.751,2255,2.626,2365,2.37,2387,2.424,2391,2.734,2392,2.424,2551,2.272,2610,5.042,2640,2.424,2675,2.821,2777,2.641,2890,2.391,3097,5.287,3457,2.858,3506,2.785,3526,5.813,3556,2.718,3629,2.734,3653,2.424,3779,2.768,3789,3.894,3794,6.659,3796,2.612,3816,6.092,3839,2.821,3842,4.685,4004,7.213,4083,4.839,4429,3.943,4585,2.858,4755,2.734,4759,2.803,4836,2.839,4865,2.734,5088,2.821,5446,4.012,5456,2.424,5489,2.785,5521,2.424,5547,4.839,5761,7.168,5765,2.878,5766,5.336,5853,2.35,5878,3.029,5879,2.878,5880,6.335,5881,2.878,5882,2.878,5883,2.878,5884,2.878,5885,2.878,5886,2.878,5887,2.878,5888,2.878,5889,2.878,5890,2.878,5891,4.807,5892,2.878,5893,2.878,5894,2.878,5895,2.858,5896,2.878,5897,2.878,5898,2.878,5899,2.898,5900,2.898,5901,2.898,5902,2.898,5903,4.906,5904,2.898,5905,2.878,5906,4.906,5907,2.898,5908,4.906,5909,2.878,5910,2.839,5911,2.447,5912,2.447,5913,2.447,5914,2.447,5915,2.447,5916,2.447,5917,2.447,5918,2.447,6016,5.509,6017,5.509]],["keywords/1194",[]],["title/1195",[30,260.685,144,332.318,1622,540.178]],["content/1195",[1,2.803,8,4.584,9,2.712,13,6.198,21,1.961,23,5.98,26,3.723,27,2.138,30,1.322,31,2,36,2.258,41,3.294,46,1.527,50,3.001,51,2.792,59,3.509,85,2.422,108,6.566,140,1.161,144,2.857,169,2.829,171,2.007,174,3.642,193,1.104,194,2.13,202,2.267,204,1.731,215,3.331,220,7.648,221,2.267,236,1.197,246,1.961,251,2.213,255,4.065,257,3.853,269,2.107,287,1.633,292,2.585,310,1.79,316,2.518,319,1.77,322,2.02,328,2.41,340,2.277,346,2.739,357,2.041,359,2.81,362,5.312,363,2.218,390,3.019,392,2.792,398,6.71,404,1.822,408,5.918,429,5.124,434,4.27,440,2.277,466,2.558,467,1.826,468,2.774,471,2.531,475,2.388,477,5.868,487,2.469,500,5.73,523,5.538,524,2.994,525,5.497,526,4.087,533,2.433,534,2.122,545,3.699,587,2.077,591,2.356,592,2.792,620,2.077,624,2.448,678,2.674,699,2.084,713,2.367,728,3.639,762,2.706,764,2.306,789,2.222,800,2.493,804,1.202,820,6.242,838,2.171,840,3.875,848,2.231,863,3.943,876,2.249,931,2.919,960,2.249,971,2.115,973,3.018,976,3.497,1036,2.585,1048,4.773,1077,2.774,1103,2.69,1120,3.694,1141,4.337,1170,4.106,1198,5.902,1205,3.285,1210,2.757,1214,2.69,1227,2.346,1238,2.659,1253,2.107,1261,2.481,1266,5.587,1272,5.224,1385,3.242,1431,6.871,1437,1.877,1475,2.187,1480,3.485,1581,4.536,1585,5.067,1610,2.399,1612,3.558,1622,4.645,1680,2.757,1683,6.974,1686,7.564,1687,2.346,1727,3.717,1838,5.089,1895,6.009,1896,2.367,1986,2.674,2002,9.254,2015,3.96,2020,5.449,2037,2.356,2070,2.179,2163,2.493,2199,2.723,2255,2.6,2365,2.346,2387,2.399,2391,2.706,2392,2.399,2551,2.249,2610,5.004,2640,2.399,2675,2.792,2777,2.614,2890,2.367,3097,5.248,3457,2.829,3506,2.757,3526,5.769,3556,2.69,3629,2.706,3653,2.399,3779,2.739,3789,3.86,3794,6.614,3796,2.585,3816,6.046,3839,2.792,3842,4.645,4004,7.165,4083,4.797,4429,3.909,4585,2.829,4755,2.706,4759,2.774,4836,2.81,4865,2.706,5088,2.792,5446,3.977,5456,2.399,5489,2.757,5521,2.399,5547,4.797,5761,7.121,5765,2.849,5766,5.296,5853,2.326,5878,2.998,5879,2.849,5880,6.287,5881,2.849,5882,2.849,5883,2.849,5884,2.849,5885,2.849,5886,2.849,5887,2.849,5888,2.849,5889,2.849,5890,2.849,5891,4.765,5892,2.849,5893,2.849,5894,2.849,5895,2.829,5896,2.849,5897,2.849,5898,2.849,5899,2.868,5900,2.868,5901,2.868,5902,2.868,5903,4.863,5904,2.868,5905,2.849,5906,4.863,5907,2.868,5908,4.863,5909,2.849,5910,2.81,5911,2.422,5912,2.422,5913,2.422,5914,2.422,5915,2.422,5916,2.422,5917,2.422,5918,2.422,6018,9.246]],["keywords/1195",[]],["title/1196",[30,260.685,504,683.806,1622,540.178]],["content/1196",[1,2.875,8,4.702,9,2.753,13,6.324,21,2.02,23,6.101,26,3.834,27,2.214,30,1.369,31,2.071,36,2.338,41,2.213,46,1.581,50,3.078,59,2.951,108,6.686,140,1.202,144,1.745,169,2.929,171,2.078,174,3.736,193,1.142,194,2.205,202,2.347,204,1.792,215,2.635,220,7.803,221,2.347,236,1.239,246,2.03,255,4.133,257,3.952,269,2.181,292,2.677,310,1.854,316,2.607,319,1.833,322,2.092,328,2.495,340,2.357,346,2.836,357,2.113,362,5.35,363,2.263,390,2.629,392,2.891,398,6.832,404,1.886,408,6.052,429,5.217,434,2.607,440,2.357,466,2.648,467,1.852,468,2.872,471,2.621,475,2.459,477,6.019,487,2.556,500,5.86,504,6.054,523,5.663,524,2.369,525,5.621,526,4.208,533,2.519,534,2.197,545,3.748,587,2.15,591,2.439,620,2.15,624,2.521,678,2.768,699,2.158,713,2.45,728,3.747,762,2.802,764,2.387,789,2.3,800,2.581,804,1.244,820,6.325,838,2.236,840,3.974,863,4.06,868,3.327,876,2.328,931,3.006,960,2.328,971,2.189,973,3.108,976,3.601,1036,2.677,1048,4.895,1077,2.872,1120,3.804,1141,4.466,1170,4.228,1198,6.054,1205,3.369,1210,2.854,1214,2.785,1227,2.429,1238,2.752,1253,2.181,1261,2.568,1266,5.731,1272,2.45,1385,3.338,1431,7.027,1437,1.943,1475,2.264,1480,3.588,1581,4.653,1585,5.198,1610,2.484,1622,2.836,1680,2.854,1683,7.09,1686,7.717,1687,2.429,1838,5.22,1895,6.164,1896,2.45,1986,2.768,2002,9.385,2015,4.078,2020,5.589,2037,2.439,2070,2.256,2163,2.581,2199,2.819,2255,2.691,2365,2.429,2387,2.484,2391,2.802,2392,2.484,2551,2.328,2610,5.133,2640,4.189,2675,2.891,2777,2.706,2890,2.45,3097,5.383,3457,2.929,3506,2.854,3526,5.918,3556,2.785,3629,2.802,3653,2.484,3779,2.836,3789,3.975,3794,6.764,3796,2.677,3816,6.202,3839,2.891,3842,4.783,4004,7.328,4083,4.94,4429,4.025,4585,2.929,4755,2.802,4759,2.872,4836,2.91,4865,2.802,5088,2.891,5446,4.096,5456,2.484,5489,2.854,5521,2.484,5547,4.94,5761,7.282,5765,2.949,5766,5.432,5853,2.408,5878,3.104,5879,2.949,5880,6.449,5881,2.949,5882,2.949,5883,2.949,5884,2.949,5885,2.949,5886,2.949,5887,2.949,5888,2.949,5889,2.949,5890,2.949,5891,4.907,5892,2.949,5893,2.949,5894,2.949,5895,2.929,5896,2.949,5897,2.949,5898,2.949,5899,2.969,5900,2.969,5901,2.969,5902,2.969,5903,5.008,5904,2.969,5905,2.949,5906,5.008,5907,2.969,5908,5.008,5909,2.949,5910,2.91,5911,2.507,5912,2.507,5913,2.507,5914,2.507,5915,2.507,5916,2.507,5917,2.507,5918,2.507]],["keywords/1196",[]],["title/1197",[30,260.685,193,217.607,1622,540.178]],["content/1197",[1,3.067,8,4.22,9,2.889,13,5.802,19,1.928,21,1.784,23,5.597,26,3.386,27,1.913,30,1.183,31,1.79,36,2.021,41,1.954,46,1.367,50,2.762,59,2.681,108,6.183,140,1.039,144,1.508,169,2.532,171,1.796,174,3.352,193,3.005,194,1.906,202,2.029,204,1.549,215,2.327,220,7.159,221,2.029,236,1.071,246,1.755,255,3.847,257,3.546,269,1.885,287,3.944,292,2.314,310,1.602,316,2.254,319,1.584,322,1.808,328,2.157,332,2.467,340,2.037,346,2.451,357,1.826,362,5.307,363,3.366,390,3.457,392,2.498,398,6.318,404,1.63,408,5.498,421,2.585,429,4.825,434,2.254,440,2.037,442,2.904,466,2.289,467,1.867,468,2.482,471,2.265,475,4.963,477,5.401,478,2.265,487,2.209,500,5.324,523,5.145,524,2.092,525,5.759,526,3.717,533,2.177,534,1.899,545,3.755,587,1.859,591,2.109,600,1.219,603,1.899,620,1.859,624,2.934,627,3.228,678,2.393,688,2.451,692,1.635,695,3.504,699,1.865,713,2.118,728,3.309,762,2.421,764,2.063,789,1.988,800,5.065,804,1.075,812,1.654,820,6.166,838,1.975,840,3.566,863,3.586,876,2.012,931,2.655,960,2.012,971,1.892,973,2.745,976,4.19,1008,2.265,1036,2.314,1048,4.393,1077,2.482,1120,3.36,1141,3.944,1170,3.734,1198,5.433,1205,3.023,1208,2.037,1210,2.467,1214,2.407,1215,2.221,1227,2.099,1238,2.379,1253,1.885,1261,3.825,1266,5.142,1272,2.118,1385,2.948,1431,6.384,1437,1.679,1475,5.957,1480,3.169,1574,3.38,1581,5.597,1585,4.664,1610,2.147,1613,2.486,1622,2.451,1644,1.443,1677,3.944,1680,2.467,1683,6.6,1686,7.08,1687,2.099,1838,4.684,1895,5.531,1896,2.118,1954,4.362,1986,2.393,2002,8.828,2015,3.601,2020,5.015,2037,2.109,2070,1.95,2163,2.231,2199,2.436,2255,2.326,2365,2.099,2376,3.38,2387,3.699,2391,2.421,2392,2.147,2551,2.012,2563,3.574,2610,4.606,2636,3.439,2640,2.147,2675,2.498,2777,2.339,2890,2.118,3097,5.742,3457,2.532,3506,2.467,3526,5.31,3556,2.407,3628,3.326,3629,2.421,3653,2.147,3779,2.451,3789,3.51,3794,6.145,3796,2.314,3816,5.565,3839,2.498,3842,4.224,4004,6.657,4083,4.362,4429,3.555,4585,2.532,4675,2.997,4755,2.421,4759,2.482,4836,2.515,4865,2.421,5088,2.498,5446,3.617,5456,2.147,5489,2.467,5521,2.147,5547,4.362,5761,6.615,5765,2.549,5766,4.874,5853,2.081,5877,3.03,5878,2.683,5879,2.549,5880,5.787,5881,2.549,5882,2.549,5883,2.549,5884,2.549,5885,2.549,5886,2.549,5887,2.549,5888,2.549,5889,2.549,5890,2.549,5891,4.333,5892,2.549,5893,2.549,5894,2.549,5895,2.532,5896,2.549,5897,2.549,5898,2.549,5899,2.567,5900,2.567,5901,2.567,5902,2.567,5903,4.422,5904,2.567,5905,4.392,5906,4.422,5907,2.567,5908,4.422,5909,2.549,5910,2.515,5911,2.167,5912,2.167,5913,2.167,5914,2.167,5915,2.167,5916,2.167,5917,2.167,5918,2.167,5934,3.574,6019,7.785]],["keywords/1197",[]],["title/1198",[30,260.685,929,633.798,1622,540.178]],["content/1198",[1,3.077,8,4.234,9,2.804,13,5.818,21,1.791,23,5.613,26,3.399,27,1.922,30,1.188,31,1.798,36,2.03,41,1.962,46,1.373,50,3.294,59,2.689,108,6.199,140,1.044,144,1.515,169,2.543,171,1.804,174,3.364,193,0.992,194,1.915,202,2.038,204,1.556,215,2.336,220,7.179,221,2.038,236,1.076,246,1.763,255,4.073,257,3.559,269,1.894,287,3.956,292,2.324,310,1.61,316,2.264,319,1.591,322,3.127,328,2.167,332,2.478,340,2.047,346,2.463,357,1.835,362,5.312,363,3.333,390,2.813,392,2.51,398,6.334,404,1.638,408,5.515,413,2.526,421,2.597,429,4.837,434,2.264,440,2.047,442,2.918,466,2.299,467,1.87,468,2.494,471,2.276,475,4.973,477,5.42,478,2.276,487,2.219,500,5.34,523,5.161,524,2.1,525,5.775,526,3.731,533,2.187,534,1.908,545,3.761,587,1.867,591,2.118,600,1.225,620,1.867,624,2.944,678,2.404,688,2.463,692,1.642,695,3.52,699,1.874,713,2.128,728,3.322,762,2.433,764,2.073,789,1.997,800,5.082,804,1.08,812,1.662,820,6.177,838,1.982,840,3.579,863,3.6,876,2.022,892,1.915,929,7.786,931,2.665,953,4.3,960,2.022,971,1.901,973,2.756,976,3.193,1008,2.276,1036,2.324,1048,4.408,1077,2.494,1120,3.373,1141,3.96,1170,3.749,1198,5.451,1205,3.034,1208,2.047,1210,2.478,1214,2.418,1215,2.23,1227,2.109,1238,2.39,1253,1.894,1261,3.84,1266,5.16,1272,4.825,1385,2.959,1431,6.404,1437,1.687,1475,5.974,1480,3.182,1574,3.396,1581,6.134,1585,4.68,1610,2.157,1613,1.45,1622,2.463,1644,1.45,1677,3.96,1680,2.478,1683,6.616,1686,7.099,1687,2.109,1838,4.7,1895,5.55,1896,2.128,1986,2.404,2002,8.846,2015,3.616,2020,5.032,2037,2.118,2070,1.959,2163,2.241,2199,2.447,2238,3.591,2255,2.337,2365,2.109,2376,3.396,2387,2.157,2391,2.433,2392,2.157,2415,3.67,2551,2.022,2610,4.622,2636,3.455,2640,2.157,2675,2.51,2777,2.35,2890,2.128,3097,4.847,3457,2.543,3506,2.478,3526,5.329,3556,2.418,3628,3.341,3629,2.433,3653,2.157,3779,2.463,3789,3.524,3794,6.164,3796,2.324,3816,5.584,3839,2.51,3842,4.24,4004,6.678,4083,4.38,4429,3.569,4585,2.543,4675,3.011,4755,2.433,4759,2.494,4836,2.526,4865,2.433,5088,2.51,5446,3.631,5456,2.157,5489,2.478,5521,2.157,5547,4.38,5761,6.636,5765,2.561,5766,4.891,5853,2.091,5877,3.044,5878,2.695,5879,2.561,5880,5.807,5881,2.561,5882,2.561,5883,2.561,5884,2.561,5885,2.561,5886,2.561,5887,2.561,5888,2.561,5889,2.561,5890,2.561,5891,4.35,5892,2.561,5893,2.561,5894,2.561,5895,2.543,5896,2.561,5897,2.561,5898,2.561,5899,2.578,5900,2.578,5901,2.578,5902,2.578,5903,4.44,5904,2.578,5905,4.409,5906,4.44,5907,2.578,5908,4.44,5909,2.561,5910,2.526,5911,2.177,5912,2.177,5913,2.177,5914,2.177,5915,2.177,5916,2.177,5917,2.177,5918,2.177,5934,3.591,6019,7.816]],["keywords/1198",[]],["title/1199",[30,220.945,358,308.997,380,412.582,1622,457.831]],["content/1199",[1,3.064,8,4.215,9,2.797,13,5.796,21,1.781,23,5.592,26,3.381,27,1.91,30,2.036,31,1.787,36,2.017,41,1.952,46,1.365,50,2.759,59,2.678,61,2.349,108,6.178,140,1.038,144,2.595,169,2.528,171,1.793,174,3.349,193,0.986,194,1.903,202,2.026,204,1.547,215,2.324,220,7.152,221,2.026,236,1.069,246,1.752,255,3.844,257,3.542,269,1.883,287,3.94,292,2.31,310,1.6,316,2.25,319,1.582,322,1.805,328,2.154,332,2.463,340,2.034,346,2.448,357,1.824,358,4.46,362,5.305,363,3.398,380,3.801,390,2.802,392,2.495,398,6.313,404,1.628,408,5.493,421,2.581,429,4.821,434,2.25,440,2.034,442,2.9,466,2.285,467,1.866,468,2.479,471,2.262,475,4.96,477,5.395,478,2.262,487,2.206,500,5.318,523,5.139,524,3.273,525,5.754,526,3.712,533,2.174,534,1.896,545,3.753,587,1.856,591,2.105,600,1.217,620,1.856,624,2.93,678,2.389,688,2.448,692,1.632,695,3.498,699,1.862,713,2.115,728,3.305,762,2.418,764,2.06,789,1.985,800,5.059,804,1.074,812,1.652,820,6.163,838,1.972,840,3.562,863,3.581,876,2.009,931,2.651,960,2.009,971,1.889,973,2.741,976,3.176,982,1.305,984,2.285,1008,2.262,1036,2.31,1048,4.388,1077,2.479,1120,3.355,1141,3.939,1170,3.729,1198,5.426,1205,3.02,1208,4.62,1210,2.463,1214,2.403,1215,2.219,1227,2.096,1238,2.375,1253,1.883,1261,3.82,1266,5.137,1272,2.115,1366,2.051,1385,2.944,1431,6.377,1437,1.677,1475,5.951,1480,4.958,1574,3.375,1581,4.171,1585,4.659,1610,2.144,1613,2.483,1622,4.218,1644,1.441,1677,3.939,1680,2.463,1683,6.595,1686,7.073,1687,2.096,1838,4.679,1895,5.524,1896,2.115,1986,2.389,2002,8.823,2015,3.597,2020,5.009,2037,2.105,2070,1.947,2163,2.228,2199,2.432,2255,2.323,2365,2.096,2387,2.144,2391,2.418,2392,2.144,2551,2.009,2610,4.601,2636,3.434,2640,2.144,2675,2.495,2777,2.335,2890,2.115,3097,4.824,3457,2.528,3506,2.463,3526,5.304,3556,2.403,3628,3.321,3629,2.418,3653,2.144,3779,2.448,3789,3.506,3794,6.139,3796,2.31,3816,5.559,3839,2.495,3842,4.218,4004,6.65,4083,4.357,4429,3.55,4585,2.528,4675,2.992,4755,2.418,4759,2.479,4836,2.511,4865,2.418,5088,2.495,5446,3.612,5456,2.144,5489,2.463,5521,2.144,5547,4.357,5761,6.609,5765,2.545,5766,4.869,5853,2.078,5877,3.026,5878,2.679,5879,2.545,5880,5.78,5881,2.545,5882,2.545,5883,2.545,5884,2.545,5885,2.545,5886,2.545,5887,2.545,5888,2.545,5889,2.545,5890,2.545,5891,4.328,5892,2.545,5893,2.545,5894,2.545,5895,2.528,5896,2.545,5897,2.545,5898,2.545,5899,2.563,5900,2.563,5901,2.563,5902,2.563,5903,4.417,5904,2.563,5905,4.386,5906,4.417,5907,2.563,5908,4.417,5909,2.545,5910,2.511,5911,2.164,5912,2.164,5913,2.164,5914,2.164,5915,2.164,5916,2.164,5917,2.164,5918,2.164,5919,5.918,5934,3.569]],["keywords/1199",[]],["title/1200",[30,191.719,236,173.556,742,428.205,1215,208.942,1622,397.27]],["content/1200",[1,3.105,8,4.279,9,2.82,13,5.867,21,1.812,23,5.661,26,3.44,27,1.949,30,1.205,31,1.823,36,2.058,41,1.985,46,1.392,50,2.801,59,2.714,108,6.247,140,1.059,144,1.536,169,2.579,171,1.829,174,3.399,193,1.006,194,1.942,202,2.067,204,1.578,215,2.364,220,7.239,221,2.067,236,2.465,246,1.788,255,3.883,257,3.596,269,1.921,287,3.994,292,2.357,310,1.632,316,2.296,319,1.614,322,1.842,328,2.197,332,2.513,340,2.075,346,2.497,357,1.861,362,5.327,363,3.345,390,2.84,392,2.545,398,6.383,404,1.661,408,5.567,421,2.633,429,4.874,434,2.296,440,2.075,442,2.958,466,2.332,467,1.88,468,2.529,471,2.307,475,5.003,477,5.477,478,2.307,487,2.25,500,5.39,523,5.209,524,2.125,525,5.824,526,3.776,533,2.218,534,1.935,545,3.78,587,1.893,591,2.148,600,1.242,603,1.935,620,1.893,624,2.975,678,2.437,688,2.497,692,1.665,695,3.569,699,1.9,713,2.157,728,3.362,742,4.625,762,2.467,764,2.102,789,2.025,800,5.136,804,1.095,812,1.685,820,6.21,838,2.006,840,3.616,863,3.643,876,2.05,931,2.697,960,2.05,971,1.928,973,2.789,976,3.231,1008,2.307,1036,2.357,1048,4.455,1077,2.529,1120,4.489,1141,4.007,1170,3.794,1198,5.509,1205,3.066,1208,2.075,1210,2.513,1214,2.452,1215,3.523,1227,2.138,1238,2.423,1253,1.921,1261,3.886,1266,5.215,1272,2.157,1385,2.995,1431,6.464,1437,1.711,1475,6.024,1480,3.22,1574,3.443,1581,4.234,1585,4.73,1610,2.187,1613,1.47,1622,2.497,1644,1.47,1677,4.007,1680,2.513,1683,6.662,1686,7.159,1687,2.138,1838,4.75,1895,5.608,1896,2.157,1986,2.437,2002,8.9,2015,3.659,2020,5.085,2037,2.148,2070,1.986,2163,2.272,2199,2.482,2255,2.369,2365,2.138,2376,3.443,2387,2.187,2391,2.467,2392,2.187,2551,2.05,2610,4.671,2636,3.503,2640,2.187,2675,2.545,2777,2.383,2890,2.157,3097,4.898,3457,2.579,3506,2.513,3526,5.385,3556,2.452,3628,3.388,3629,2.467,3653,2.187,3779,2.497,3789,3.567,3794,6.222,3796,2.357,3816,5.643,3839,2.545,3842,4.291,4004,6.74,4083,4.432,4429,3.612,4585,2.579,4675,3.053,4755,2.467,4759,2.529,4836,2.562,4865,2.467,5088,2.545,5446,3.675,5456,2.187,5489,2.513,5521,2.187,5547,4.432,5761,6.698,5765,2.596,5766,4.943,5853,2.12,5877,3.087,5878,2.733,5879,2.596,5880,5.868,5881,2.596,5882,2.596,5883,2.596,5884,2.596,5885,2.596,5886,2.596,5887,2.596,5888,2.596,5889,2.596,5890,2.596,5891,4.403,5892,2.596,5893,2.596,5894,2.596,5895,2.579,5896,2.596,5897,2.596,5898,2.596,5899,2.614,5900,2.614,5901,2.614,5902,2.614,5903,4.493,5904,2.614,5905,4.462,5906,4.493,5907,2.614,5908,4.493,5909,2.596,5910,2.562,5911,2.207,5912,2.207,5913,2.207,5914,2.207,5915,2.207,5916,2.207,5917,2.207,5918,2.207,5919,6.021,5934,3.641]],["keywords/1200",[]],["title/1201",[30,260.685,581,346.159,1622,540.178]],["content/1201",[1,2.835,8,4.637,9,2.73,13,6.254,21,1.987,23,6.034,26,3.772,27,2.171,30,1.343,31,2.031,36,2.293,41,2.177,46,1.551,50,3.035,59,2.914,108,6.62,140,1.179,144,1.711,169,2.873,171,2.038,174,3.684,193,1.121,194,2.163,202,2.303,204,1.758,215,2.593,220,7.717,221,2.303,236,1.215,246,1.992,255,4.095,257,3.897,269,2.14,273,1.597,287,1.659,292,2.626,310,1.818,316,2.558,319,1.798,322,2.052,328,2.448,340,2.312,346,2.782,357,2.073,362,5.329,363,2.587,382,2.558,390,2.593,392,2.836,398,6.764,404,1.85,408,5.978,429,5.165,434,2.558,440,2.312,466,2.598,467,1.838,468,2.817,471,2.571,475,2.42,477,5.935,487,2.507,500,5.788,523,5.593,524,2.33,525,5.552,526,4.141,533,2.471,534,2.156,545,3.721,581,3.016,587,2.109,591,2.393,600,1.384,620,2.109,624,2.481,678,2.716,699,2.117,713,2.404,728,3.687,743,2.109,762,2.748,764,2.342,789,2.256,800,2.532,804,1.22,820,6.279,838,2.2,840,3.919,863,3.995,876,2.284,921,2.64,931,2.958,960,2.284,971,2.148,973,3.058,976,3.543,1036,2.626,1048,4.827,1077,2.817,1120,3.743,1141,4.394,1170,4.16,1198,5.97,1205,3.322,1210,2.799,1214,2.732,1227,2.382,1238,2.7,1253,2.14,1261,2.519,1266,5.651,1272,2.404,1385,3.284,1431,6.941,1437,1.906,1475,2.221,1480,3.531,1581,3.531,1585,5.125,1610,2.437,1622,2.782,1680,2.799,1683,7.025,1686,7.632,1687,2.382,1838,5.147,1895,6.078,1896,2.404,1986,2.716,2002,9.313,2015,4.012,2020,5.511,2037,2.393,2070,2.213,2163,2.532,2199,2.765,2255,2.64,2365,2.382,2376,3.836,2387,2.437,2391,2.748,2392,2.437,2551,2.284,2610,5.061,2640,2.437,2675,2.836,2777,2.655,2890,2.404,3097,5.308,3457,2.873,3506,2.799,3526,5.835,3556,2.732,3629,2.748,3653,2.437,3779,2.782,3789,3.911,3794,6.681,3796,2.626,3816,6.115,3839,2.836,3842,4.706,3974,4.246,4004,7.237,4083,4.86,4429,3.961,4585,2.873,4755,2.748,4759,2.817,4836,2.854,4865,2.748,5088,2.836,5446,4.03,5456,2.437,5489,2.799,5521,2.437,5547,4.86,5761,7.192,5765,2.893,5766,5.356,5853,2.362,5878,3.045,5879,2.893,5880,6.359,5881,2.893,5882,2.893,5883,2.893,5884,2.893,5885,2.893,5886,2.893,5887,2.893,5888,2.893,5889,2.893,5890,2.893,5891,4.828,5892,2.893,5893,2.893,5894,2.893,5895,2.873,5896,2.893,5897,2.893,5898,2.893,5899,2.913,5900,2.913,5901,2.913,5902,2.913,5903,4.927,5904,2.913,5905,2.893,5906,4.927,5907,2.913,5908,4.927,5909,2.893,5910,2.854,5911,2.459,5912,2.459,5913,2.459,5914,2.459,5915,2.459,5916,2.459,5917,2.459,5918,2.459,5919,6.602,6010,5.128,6020,5.538]],["keywords/1201",[]],["title/1202",[23,405.295,30,260.685,1622,540.178]],["content/1202",[1,2.919,8,4.349,9,2.626,13,5.944,21,1.846,23,7.641,26,3.504,27,1.992,30,2.461,31,1.863,36,2.911,41,2.023,46,1.969,50,2.847,51,3.6,59,3.097,63,5.135,108,6.321,122,1.135,140,1.497,144,1.57,169,2.635,171,2.588,174,4.363,193,1.028,194,1.984,202,2.112,204,1.613,215,2.81,220,7.334,221,2.112,236,1.543,246,2.529,255,4.141,257,4.331,269,2.717,273,2.028,286,0.978,287,1.521,292,2.408,310,2.309,316,2.346,319,2.283,322,1.882,328,2.245,340,2.121,346,2.552,357,1.901,362,5.294,363,2.127,390,2.432,392,2.601,398,6.459,404,1.697,408,5.648,409,1.575,429,4.932,434,2.346,440,2.936,466,2.383,467,1.969,468,2.584,471,2.358,475,2.248,477,5.567,487,2.299,500,5.469,523,5.632,524,2.165,525,5.246,526,3.847,533,2.267,534,2.737,545,3.71,556,1.183,587,1.935,591,3.038,620,1.935,624,2.305,678,2.491,699,1.942,713,2.205,728,3.425,762,2.521,764,2.148,789,2.07,800,2.322,804,1.119,820,6.347,838,2.682,840,3.676,863,4.869,876,2.095,931,3.605,944,1.406,960,2.095,971,2.727,973,3.728,976,3.292,1036,2.408,1048,4.528,1077,2.584,1120,3.478,1141,4.082,1170,3.865,1198,5.599,1205,3.934,1210,2.568,1214,2.506,1227,2.185,1238,2.476,1253,2.717,1261,2.311,1266,5.3,1272,2.205,1385,3.051,1431,6.558,1433,6.434,1437,1.748,1475,2.82,1480,3.28,1563,3.119,1564,3.314,1581,4.304,1585,6.07,1610,2.235,1622,5.099,1680,2.568,1683,7.42,1686,7.253,1687,3.025,1838,4.828,1895,5.701,1896,3.052,1954,1.438,1986,2.491,2002,8.983,2015,4.891,2020,5.169,2037,3.038,2070,2.809,2163,2.322,2199,2.536,2216,3.462,2255,2.421,2365,3.025,2387,3.094,2391,2.521,2392,3.094,2551,2.9,2578,5.034,2610,6.326,2640,3.094,2675,2.601,2777,2.435,2890,3.052,3097,6.285,3457,2.635,3506,2.568,3508,2.075,3526,5.473,3556,2.506,3629,2.521,3653,3.094,3779,2.552,3789,4.767,3794,6.313,3796,2.408,3816,5.736,3839,2.601,3842,4.372,4004,6.838,4083,4.515,4429,4.828,4585,2.635,4755,2.521,4759,2.584,4836,2.618,4865,2.521,5088,2.601,5446,4.912,5456,3.094,5489,2.568,5521,3.094,5547,4.515,5761,6.796,5765,2.653,5766,5.952,5853,2.998,5878,2.793,5879,2.653,5880,5.964,5881,2.653,5882,2.653,5883,2.653,5884,2.653,5885,2.653,5886,2.653,5887,2.653,5888,2.653,5889,2.653,5890,2.653,5891,4.485,5892,2.653,5893,2.653,5894,2.653,5895,2.635,5896,2.653,5897,2.653,5898,2.653,5899,2.672,5900,2.672,5901,2.672,5902,2.672,5903,4.578,5904,2.672,5905,2.653,5906,4.578,5907,2.672,5908,4.578,5909,2.653,5910,2.618,5911,3.123,5912,3.123,5913,3.123,5914,3.123,5915,3.123,5916,3.123,5917,3.123,5918,3.123,5954,2.125,6021,5.079,6022,5.079,6023,5.079,6024,5.079]],["keywords/1202",[]],["title/1203",[30,220.945,59,185.514,273,262.858,1622,457.831]],["content/1203",[1,2.745,8,4.489,9,2.677,13,6.096,21,1.914,23,5.881,26,3.634,27,2.078,30,1.285,31,1.944,36,2.194,41,2.097,46,3.301,50,2.938,59,3.688,108,6.467,140,1.129,144,1.638,169,2.75,171,1.95,174,3.566,193,1.072,194,2.07,202,2.204,204,1.683,215,2.498,220,7.521,221,2.204,236,1.163,246,1.906,255,4.009,257,3.773,269,5.376,273,2.603,287,1.587,292,2.513,310,1.74,316,2.448,319,1.72,322,1.964,328,2.343,340,2.213,346,2.662,357,1.984,358,1.797,362,5.359,363,3.045,390,2.51,392,2.713,398,6.609,404,1.77,408,5.809,429,5.047,434,2.448,440,2.213,466,2.486,467,1.805,468,2.696,471,2.46,475,4.681,477,5.746,487,2.399,500,5.624,516,2.388,523,5.435,524,2.245,525,5.396,526,3.989,533,2.365,534,2.063,545,3.769,587,2.019,591,2.29,603,2.063,620,2.019,624,3.121,678,2.599,699,2.026,713,2.3,728,3.552,762,2.63,764,2.241,789,2.159,800,4.126,804,1.168,812,1.797,815,3.186,820,6.174,838,2.119,840,3.794,863,3.848,876,2.186,931,2.85,960,2.186,971,2.055,973,2.946,976,3.413,1036,2.513,1048,4.673,1077,2.696,1120,3.606,1141,4.233,1170,4.008,1198,5.779,1205,3.216,1210,2.679,1214,2.614,1215,1.4,1227,2.28,1238,2.584,1253,2.048,1261,2.411,1266,5.471,1272,2.3,1385,3.164,1431,6.744,1437,1.824,1475,2.126,1480,3.401,1581,4.442,1585,4.962,1610,2.332,1622,2.662,1644,1.567,1680,2.679,1683,6.878,1686,7.438,1687,2.28,1838,4.983,1895,5.884,1896,2.3,1986,2.599,2002,9.146,2015,3.865,2020,5.335,2037,2.29,2070,2.118,2163,2.423,2199,2.646,2255,2.526,2365,2.28,2387,2.332,2391,2.63,2392,2.332,2551,2.186,2610,4.9,2640,2.332,2675,2.713,2777,2.54,2890,2.3,3097,5.138,3457,2.75,3506,2.679,3526,5.649,3556,2.614,3629,2.63,3653,2.332,3779,2.662,3789,3.768,3794,6.492,3796,2.513,3816,5.92,3839,2.713,3842,4.533,4004,7.033,4083,4.682,4429,3.816,4585,2.75,4675,3.255,4755,2.63,4759,2.696,4836,2.731,4865,2.63,5088,2.713,5446,3.882,5456,2.332,5489,2.679,5521,2.332,5547,4.682,5761,6.989,5765,2.768,5766,5.185,5853,2.26,5877,3.291,5878,2.914,5879,2.768,5880,6.156,5881,2.768,5882,2.768,5883,2.768,5884,2.768,5885,2.768,5886,2.768,5887,2.768,5888,2.768,5889,2.768,5890,2.768,5891,4.651,5892,2.768,5893,2.768,5894,2.768,5895,2.75,5896,2.768,5897,2.768,5898,2.768,5899,2.788,5900,2.788,5901,2.788,5902,2.788,5903,4.747,5904,2.788,5905,2.768,5906,4.747,5907,2.788,5908,4.747,5909,2.768,5910,2.731,5911,2.354,5912,2.354,5913,2.354,5914,2.354,5915,2.354,5916,2.354,5917,2.354,5918,2.354,6025,9.024,6026,9.024]],["keywords/1203",[]],["title/1204",[30,220.945,1100,579.564,1622,457.831,1624,489.812]],["content/1204",[1,3.263,8,2.365,9,1.732,13,3.557,21,0.942,23,3.432,26,1.789,27,0.94,30,4.14,31,0.879,36,5.113,41,1.032,46,3.703,50,1.548,59,1.577,108,3.927,140,2.63,141,1.727,144,0.741,169,1.243,171,4.544,174,6.182,193,0.485,194,0.936,202,0.996,204,0.761,215,1.229,220,4.389,221,0.996,236,2.71,246,4.441,251,2.52,255,4.389,257,5.763,269,4.771,286,0.845,287,0.718,292,1.136,310,4.054,316,1.107,319,4.008,322,0.888,328,1.059,340,1,345,0.716,346,1.204,355,2.952,357,0.897,362,4.877,363,1.273,390,2.815,392,1.227,398,4.012,404,0.8,408,3.236,409,1.362,429,3.064,434,1.107,440,5.155,466,1.124,467,2.292,468,1.219,471,1.112,475,1.147,477,3.027,487,1.085,500,3.133,523,5.755,524,1.105,525,3.005,526,1.963,533,1.069,534,4.806,545,3.626,587,0.913,591,5.336,620,0.913,624,1.176,678,1.175,699,0.916,706,3.158,713,1.04,728,1.748,762,1.189,764,1.013,789,0.976,800,1.095,804,0.528,820,6.606,838,4.123,840,1.999,863,7.487,876,0.988,931,5.544,960,0.988,971,4.788,973,5.877,976,1.68,1036,1.136,1048,2.462,1053,5.22,1077,1.219,1100,11.164,1120,1.775,1141,2.083,1170,1.973,1198,3.045,1205,5.575,1210,1.211,1214,1.182,1227,1.031,1238,1.168,1253,4.771,1261,1.09,1266,2.882,1272,1.04,1385,1.557,1431,3.757,1437,0.825,1475,4.953,1480,1.674,1581,5.281,1585,8.601,1610,1.054,1622,8.578,1624,9.435,1680,1.211,1683,8.921,1686,4.341,1687,5.312,1838,2.625,1895,3.1,1896,5.359,1986,1.175,2002,6.074,2015,7.519,2020,2.811,2037,5.336,2070,4.934,2163,1.095,2199,1.196,2255,1.142,2365,5.312,2387,5.433,2391,1.189,2392,5.433,2551,5.092,2610,7.82,2640,1.054,2675,1.227,2764,1.887,2777,1.149,2890,5.359,3097,8.906,3260,1.837,3457,1.243,3506,1.211,3508,1.794,3526,3.715,3556,1.182,3629,1.189,3653,5.433,3779,1.204,3789,7.33,3794,3.616,3796,1.136,3816,3.119,3839,1.227,3842,2.231,4004,3.917,4083,2.304,4429,7.423,4585,1.243,4747,5.22,4755,1.189,4759,1.219,4836,1.235,4865,1.189,5088,1.227,5119,5.446,5446,7.552,5456,5.433,5489,1.211,5521,5.433,5525,11.434,5547,2.304,5761,3.893,5765,1.252,5766,7.921,5853,5.266,5878,1.318,5879,1.252,5880,3.243,5881,1.252,5882,1.252,5883,1.252,5884,1.252,5885,1.252,5886,1.252,5887,1.252,5888,1.252,5889,1.252,5890,1.252,5891,2.289,5892,1.252,5893,1.252,5894,1.252,5895,1.243,5896,1.252,5897,1.252,5898,1.252,5899,1.26,5900,1.26,5901,1.26,5902,1.26,5903,2.336,5904,1.26,5905,1.252,5906,2.336,5907,1.26,5908,2.336,5909,1.252,5910,1.235,5911,5.484,5912,5.484,5913,5.484,5914,5.484,5915,5.484,5916,5.484,5917,5.484,5918,5.484,5954,1.837,6027,6.208,6028,4.442,6029,2.396]],["keywords/1204",[]],["title/1205",[30,260.685,524,267.523,1622,540.178]],["content/1205",[1,2.41,6,1.719,8,4.72,9,3.012,13,5.491,14,1.01,15,1.671,21,2.195,23,5.298,26,3.135,27,1.751,30,2.509,31,1.637,32,1.671,36,1.849,41,2.405,46,2.181,48,3.087,50,2.581,59,2.522,63,1.695,108,5.88,140,2.204,141,1.242,144,3.199,167,5.079,169,2.316,171,1.643,174,3.132,193,0.903,194,1.744,200,2.954,202,1.856,204,1.417,215,3.43,218,2.257,220,6.775,221,1.856,236,0.98,246,1.606,255,3.673,257,3.313,269,1.725,272,4.729,285,1.864,287,1.337,292,2.117,299,2.954,310,1.466,316,2.062,319,1.449,322,1.654,328,1.973,340,1.864,346,2.243,357,1.671,358,1.514,362,5.123,363,2.861,390,2.639,392,2.286,398,6.009,404,1.491,408,5.174,414,2.954,423,2.781,429,4.588,434,2.062,440,1.864,466,2.094,467,1.856,468,2.271,471,2.072,475,4.963,477,5.046,481,2.474,487,2.021,500,5.009,523,4.841,524,5.544,525,5.451,526,3.441,533,1.992,534,1.738,545,3.528,556,1.813,587,1.701,591,1.929,600,1.116,603,3.03,620,1.701,624,2.741,678,2.189,692,3.468,699,1.707,700,5.882,702,2.455,713,1.938,728,3.064,746,2.041,762,2.215,764,1.888,777,2.875,789,1.819,800,3.559,804,0.984,812,1.514,820,5.755,824,0.99,830,2.559,836,3.295,838,1.828,840,3.332,863,3.32,876,1.841,889,1.193,921,2.128,931,2.458,944,1.236,960,1.841,969,2.516,971,1.731,973,2.541,976,2.944,982,6.151,1036,2.117,1048,4.104,1077,2.271,1092,2.243,1120,3.11,1141,3.651,1157,2.365,1170,3.457,1198,5.075,1205,2.824,1210,2.257,1214,2.202,1215,2.734,1227,1.921,1238,2.177,1239,3.754,1253,1.725,1261,3.541,1266,4.804,1272,3.379,1276,3.205,1366,5.217,1385,3.629,1431,6.007,1437,1.537,1475,1.791,1480,2.934,1581,2.934,1585,4.358,1610,1.964,1622,2.243,1644,1.32,1680,2.257,1683,6.302,1686,6.7,1687,1.921,1838,4.376,1895,5.167,1896,1.938,1986,2.189,2002,8.483,2015,3.334,2020,4.685,2037,1.929,2070,1.784,2161,5.691,2163,2.041,2199,2.229,2255,2.128,2365,1.921,2387,1.964,2391,2.215,2392,1.964,2551,1.841,2610,4.303,2640,1.964,2675,2.286,2738,2.997,2777,2.14,2823,3.093,2890,1.938,3097,4.512,3103,2.657,3457,2.316,3506,2.257,3526,4.961,3556,2.202,3629,2.215,3653,1.964,3657,2.875,3779,2.243,3789,3.25,3794,5.782,3796,2.117,3816,5.199,3839,2.286,3842,3.91,3893,2.583,4004,6.264,4083,4.039,4429,3.291,4585,2.316,4675,2.742,4755,2.215,4759,2.271,4836,2.301,4865,2.215,5088,2.286,5446,3.349,5456,1.964,5489,2.257,5521,1.964,5547,4.039,5761,6.225,5765,2.332,5766,4.554,5826,5.828,5853,1.904,5868,5.969,5869,3.342,5870,3.423,5871,3.423,5872,3.423,5877,2.773,5878,2.455,5879,2.332,5880,5.406,5881,2.332,5882,2.332,5883,2.332,5884,2.332,5885,2.332,5886,2.332,5887,2.332,5888,2.332,5889,2.332,5890,2.332,5891,4.012,5892,2.332,5893,2.332,5894,2.332,5895,2.316,5896,2.332,5897,2.332,5898,2.332,5899,2.348,5900,2.348,5901,2.348,5902,2.348,5903,4.095,5904,2.348,5905,2.332,5906,4.095,5907,2.348,5908,4.095,5909,2.332,5910,2.301,5911,1.983,5912,1.983,5913,1.983,5914,1.983,5915,1.983,5916,1.983,5917,1.983,5918,1.983,5922,6.828]],["keywords/1205",[]],["title/1206",[30,260.685,1612,701.635,1622,540.178]],["content/1206",[1,2.786,8,5.369,9,2.816,13,6.168,21,1.947,23,5.951,26,3.696,27,2.12,30,3.417,31,1.983,36,2.239,41,2.78,46,1.515,50,2.982,59,3.214,108,6.537,140,1.152,144,2.837,169,2.805,171,1.99,174,3.62,188,2.621,193,1.094,194,2.112,202,2.248,204,1.717,215,4.37,220,7.61,221,2.248,236,1.187,246,1.945,255,4.048,257,3.829,269,2.089,292,2.564,310,1.775,316,2.497,319,1.755,322,2.003,328,2.39,340,2.258,346,2.716,357,2.024,362,5.303,363,2.207,390,2.547,392,2.768,398,6.68,404,1.806,408,5.886,429,5.101,434,2.497,440,2.258,466,2.536,467,1.82,468,2.751,471,2.51,475,3.09,477,5.832,487,2.448,500,5.699,513,2.768,523,5.507,524,2.976,525,5.467,526,4.058,533,2.413,534,2.105,545,3.687,587,2.06,591,2.336,603,4.655,620,2.06,624,2.431,678,2.652,699,2.067,702,2.973,713,2.347,728,3.613,762,2.683,764,2.286,789,2.203,800,2.472,804,1.191,820,6.222,836,2.922,838,2.156,840,3.85,863,3.915,876,2.23,931,2.899,960,2.23,971,2.097,973,2.997,976,3.472,982,1.448,1036,2.564,1048,4.743,1077,2.751,1120,3.668,1141,4.306,1170,4.077,1198,5.866,1205,3.264,1210,2.733,1214,2.667,1215,1.429,1227,2.326,1238,2.636,1253,2.089,1261,2.46,1266,5.552,1272,3.984,1385,3.218,1431,6.834,1437,1.861,1475,2.169,1480,3.46,1581,3.46,1585,5.036,1610,2.379,1612,5.99,1622,2.716,1680,2.733,1683,6.945,1686,7.526,1687,2.326,1838,5.057,1895,5.972,1896,2.347,1986,2.652,2002,9.546,2015,3.932,2020,5.415,2037,2.336,2070,2.161,2163,2.472,2199,2.7,2255,2.578,2365,2.326,2387,2.379,2391,2.683,2392,2.379,2551,2.23,2610,4.973,2640,2.379,2675,2.768,2777,2.592,2890,2.347,3097,5.215,3457,2.805,3506,2.733,3526,5.733,3556,2.667,3629,2.683,3653,2.379,3779,2.716,3789,3.833,3794,6.578,3796,2.564,3816,6.009,3839,2.768,3842,4.611,4004,7.126,4083,4.763,4429,3.881,4585,2.805,4755,2.683,4759,2.751,4836,2.787,4865,2.683,5088,2.768,5446,3.949,5456,2.379,5489,2.733,5521,2.379,5547,4.763,5761,7.082,5765,2.824,5766,5.263,5853,2.306,5878,2.973,5879,2.824,5880,6.248,5881,2.824,5882,2.824,5883,2.824,5884,2.824,5885,2.824,5886,2.824,5887,2.824,5888,2.824,5889,2.824,5890,2.824,5891,4.731,5892,2.824,5893,2.824,5894,2.824,5895,2.805,5896,2.824,5897,2.824,5898,2.824,5899,2.844,5900,2.844,5901,2.844,5902,2.844,5903,4.828,5904,2.844,5905,2.824,5906,4.828,5907,2.844,5908,4.828,5909,2.824,5910,2.787,5911,2.401,5912,2.401,5913,2.401,5914,2.401,5915,2.401,5916,2.401,5917,2.401,5918,2.401,5922,8.052,6030,5.407]],["keywords/1206",[]],["title/1207",[30,220.945,63,345.923,545,161.765,1622,457.831]],["content/1207",[1,2.814,8,4.602,9,2.718,13,6.217,21,1.97,23,5.998,26,3.739,27,2.149,30,1.329,31,2.01,36,2.27,41,2.158,46,1.535,50,3.546,59,3.239,63,6.991,108,6.584,140,1.167,144,1.694,169,2.844,171,2.017,174,3.656,193,1.109,194,2.141,197,2.903,202,2.279,204,1.74,215,2.57,220,7.671,221,2.279,236,1.203,246,1.971,255,4.075,257,3.868,269,2.118,287,1.642,292,2.599,310,1.8,316,2.531,319,1.779,322,2.031,328,2.423,340,2.288,346,2.753,357,2.052,362,5.318,363,2.225,390,2.573,392,2.806,398,6.728,404,1.831,408,5.938,429,5.137,434,2.531,440,2.288,466,2.571,467,1.83,468,2.788,471,2.544,475,2.399,477,5.89,487,2.481,500,5.749,523,5.556,524,2.31,525,5.515,526,4.105,533,2.446,534,2.133,545,3.994,556,1.277,587,2.088,591,2.368,613,1.621,620,2.088,624,2.459,678,2.688,699,2.095,713,2.379,728,3.655,762,2.72,764,2.317,789,2.233,800,2.506,804,1.208,820,6.255,838,2.181,840,3.889,863,3.96,876,2.26,877,4.449,931,2.932,960,2.26,971,2.126,973,3.032,976,3.512,1036,2.599,1048,4.791,1077,2.788,1120,3.71,1141,4.356,1170,4.124,1198,5.925,1205,3.297,1210,2.771,1214,2.704,1227,2.358,1238,2.672,1253,2.118,1261,2.494,1266,5.608,1272,2.379,1385,3.256,1431,6.894,1437,1.886,1475,2.199,1480,3.5,1581,3.5,1585,5.087,1610,2.412,1622,2.753,1680,2.771,1683,6.991,1686,7.586,1687,2.358,1838,5.108,1895,6.032,1896,2.379,1986,2.688,2002,9.274,2015,3.977,2020,5.469,2037,2.368,2070,2.19,2163,2.506,2199,2.737,2255,2.613,2365,2.358,2387,2.412,2391,2.72,2392,2.412,2413,4.203,2551,2.26,2578,5.372,2610,5.023,2640,2.412,2675,2.806,2777,2.627,2819,4.808,2890,2.379,2974,4.608,3097,5.267,3457,2.844,3506,2.771,3526,5.791,3556,2.704,3629,2.72,3653,2.412,3779,2.753,3789,3.877,3794,6.636,3796,2.599,3816,6.069,3839,2.806,3842,4.665,4004,7.189,4083,4.818,4429,3.926,4585,2.844,4755,2.72,4759,2.788,4836,2.825,4865,2.72,5088,2.806,5446,3.995,5456,2.412,5489,2.771,5521,2.412,5547,4.818,5761,7.144,5765,2.863,5766,5.316,5853,2.337,5878,3.014,5879,2.863,5880,6.311,5881,2.863,5882,2.863,5883,2.863,5884,2.863,5885,2.863,5886,2.863,5887,2.863,5888,2.863,5889,2.863,5890,2.863,5891,4.786,5892,2.863,5893,2.863,5894,2.863,5895,2.844,5896,2.863,5897,2.863,5898,2.863,5899,2.883,5900,2.883,5901,2.883,5902,2.883,5903,4.884,5904,2.883,5905,2.863,5906,4.884,5907,2.883,5908,4.884,5909,2.863,5910,2.825,5911,2.434,5912,2.434,5913,2.434,5914,2.434,5915,2.434,5916,2.434,5917,2.434,5918,2.434]],["keywords/1207",[]],["title/1208",[358,569.401]],["content/1208",[]],["keywords/1208",[]],["title/1209",[30,317.855,358,444.527]],["content/1209",[1,2.395,6,1.705,8,3.917,9,3.003,13,5.462,14,1.002,21,2.181,23,6.606,26,3.112,27,1.736,30,1.073,31,1.624,36,1.833,41,1.796,46,1.24,48,3.064,50,2.564,59,2.508,63,1.68,108,5.852,140,2.19,144,2.388,149,1.922,167,5.042,169,2.297,171,1.629,174,3.728,193,0.896,194,1.73,200,2.929,202,1.841,204,1.406,215,2.139,218,2.238,220,6.74,221,1.841,236,0.972,246,1.592,255,3.878,257,3.292,269,1.711,272,4.695,285,1.849,287,1.326,292,2.099,299,2.929,310,1.454,316,2.045,319,1.437,322,1.64,328,1.957,340,1.849,346,2.224,357,1.657,358,3.486,360,2.782,362,5.066,363,2.148,382,2.045,390,3.272,392,2.267,398,6.434,404,1.479,408,5.144,414,2.929,423,2.761,429,4.566,434,2.045,440,1.849,466,2.077,467,1.85,468,2.252,471,2.055,475,1.996,477,5.014,481,2.454,486,1.441,487,2.004,500,4.98,523,4.813,524,5.699,525,5.422,526,3.416,533,1.976,534,1.723,545,3.516,556,1.8,587,1.686,591,1.913,600,1.106,620,1.686,624,2.723,636,3.314,678,2.171,688,2.224,692,3.445,699,1.692,700,5.844,713,1.922,728,3.042,746,2.024,762,2.197,764,1.872,777,2.851,789,1.804,800,2.024,804,0.976,820,5.735,838,1.815,840,3.31,863,3.296,876,1.826,931,2.44,944,1.225,960,1.826,969,2.495,971,1.717,973,2.523,976,7.242,982,6.136,1036,2.099,1048,4.078,1077,2.252,1092,2.224,1120,3.088,1141,3.625,1157,2.345,1170,3.432,1198,5.043,1205,2.806,1210,2.238,1214,2.184,1227,1.905,1238,2.159,1253,1.711,1261,3.516,1266,4.774,1272,6.668,1276,3.179,1366,4.33,1379,2.929,1385,2.709,1386,2.561,1431,5.972,1437,1.524,1475,1.776,1479,5.926,1480,3.876,1581,3.876,1585,4.33,1610,1.948,1680,2.238,1683,6.274,1686,6.665,1687,1.905,1838,4.348,1895,5.134,1896,1.922,1986,2.171,2002,8.451,2015,3.31,2020,4.655,2037,1.913,2070,1.769,2161,5.654,2163,2.024,2199,2.21,2255,2.111,2365,1.905,2387,1.948,2391,2.197,2392,1.948,2551,1.826,2610,4.276,2619,11.947,2640,1.948,2675,2.267,2738,2.972,2740,2.184,2777,2.122,2823,3.067,2890,1.922,3097,4.483,3103,2.635,3457,2.297,3506,2.238,3526,4.929,3556,2.184,3629,2.197,3653,1.948,3657,2.851,3779,2.224,3789,3.227,3794,5.749,3796,2.099,3816,5.166,3839,2.267,3842,3.882,3893,2.561,4004,6.228,4083,4.01,4429,3.268,4585,2.297,4755,2.197,4759,2.252,4836,2.282,4865,2.197,5088,2.267,5446,3.325,5456,1.948,5489,2.238,5521,1.948,5547,4.01,5761,6.189,5765,2.313,5766,4.525,5826,5.785,5853,1.888,5866,6.498,5867,3.723,5868,5.926,5869,3.314,5870,3.395,5871,3.395,5872,3.395,5873,5.926,5874,8.646,5875,3.723,5876,6.498,5878,2.435,5879,2.313,5880,5.372,5881,2.313,5882,2.313,5883,2.313,5884,2.313,5885,2.313,5886,2.313,5887,2.313,5888,2.313,5889,2.313,5890,2.313,5891,3.983,5892,2.313,5893,2.313,5894,2.313,5895,2.297,5896,2.313,5897,2.313,5898,2.313,5899,2.329,5900,2.329,5901,2.329,5902,2.329,5903,4.065,5904,2.329,5905,2.313,5906,4.065,5907,2.329,5908,4.065,5909,2.313,5910,2.282,5911,1.966,5912,1.966,5913,1.966,5914,1.966,5915,1.966,5916,1.966,5917,1.966,5918,1.966]],["keywords/1209",[]],["title/1210",[505,701.19]],["content/1210",[]],["keywords/1210",[]],["title/1211",[30,317.855,505,547.414]],["content/1211",[1,2.845,30,4.224,36,5.058,46,3.422,63,6.613,68,6.857,140,2.602,171,4.495,174,6.145,193,2.472,236,2.681,246,4.393,255,4.493,257,5.577,269,4.72,310,5.72,319,3.966,362,3.681,364,6.136,398,4.755,434,5.642,440,5.1,464,6.806,467,2.271,505,9.773,523,4.772,534,4.755,545,3.604,566,9.295,591,5.278,592,10.397,820,6.082,838,4.092,856,6.826,863,7.43,931,5.501,971,4.737,973,5.688,1099,7.586,1205,5.542,1253,4.72,1385,4.283,1475,4.9,1581,6.566,1585,8.55,1683,8.403,1687,5.255,1896,5.302,2015,7.462,2037,5.278,2070,4.881,2365,5.255,2387,5.375,2392,5.375,2551,5.038,2610,7.244,2890,5.302,3097,8.854,3653,5.375,3789,7.274,4004,6.175,4429,7.366,5446,7.495,5456,5.375,5521,5.375,5766,7.666,5853,5.209,5911,5.425,5912,5.425,5913,5.425,5914,5.425,5915,5.425,5916,5.425,5917,5.425,5918,5.425,5984,11.311,6031,12.216]],["keywords/1211",[]],["title/1212",[674,1163.403]],["content/1212",[]],["keywords/1212",[]],["title/1213",[30,317.855,674,908.26]],["content/1213",[1,3.145,8,5.144,30,3.274,36,5.592,46,3.783,140,2.876,171,4.97,174,6.488,236,2.964,246,4.856,255,4.136,257,5.984,269,5.218,310,4.434,319,4.384,358,4.578,362,3.95,440,5.638,467,2.336,501,8.293,523,5.275,534,5.256,545,3.318,591,5.835,674,12.949,820,6.422,838,4.39,863,7.972,931,5.903,971,5.237,973,6.103,1205,5.851,1253,5.218,1475,5.417,1581,5.09,1585,9.027,1683,8.783,1687,5.809,1896,5.861,2015,8.007,2037,5.835,2070,5.396,2365,5.809,2387,5.942,2392,5.942,2551,5.569,2610,7.772,2890,5.861,3097,9.348,3653,5.942,3789,7.805,4429,7.904,5446,8.042,5456,5.942,5521,5.942,5766,8.225,5853,5.759,5911,5.997,5912,5.997,5913,5.997,5914,5.997,5915,5.997,5916,5.997,5917,5.997,5918,5.997,6032,10.961]],["keywords/1213",[]],["title/1214",[5446,722.499]],["content/1214",[]],["keywords/1214",[]],["title/1215",[30,317.855,5446,564.05]],["content/1215",[1,3.042,30,3.167,36,5.409,46,3.659,61,6.297,140,2.782,144,4.037,171,4.807,174,6.374,236,2.867,246,4.698,255,4.041,257,5.848,269,5.047,310,4.289,319,4.241,362,3.86,429,3.883,440,5.454,467,2.315,523,5.103,524,3.25,534,5.084,545,3.242,591,5.645,820,6.309,838,4.29,863,7.79,886,5.571,931,5.768,971,5.066,973,5.964,1205,5.748,1253,5.047,1475,5.24,1581,6.885,1585,8.868,1683,8.658,1687,5.62,1896,5.67,2015,7.824,2037,5.645,2070,5.22,2365,5.62,2387,5.748,2392,5.748,2551,5.387,2610,7.595,2675,9.353,2890,5.67,3097,9.184,3653,5.748,3789,7.627,3794,6.095,4429,7.723,5446,10.327,5456,5.748,5521,5.748,5766,8.037,5812,14.827,5853,5.571,5911,5.801,5912,5.801,5913,5.801,5914,5.801,5915,5.801,5916,5.801,5917,5.801,5918,5.801]],["keywords/1215",[]],["title/1216",[429,499.172]],["content/1216",[]],["keywords/1216",[]],["title/1217",[30,317.855,429,389.7]],["content/1217",[1,2.183,8,2.901,9,2.667,13,6.256,15,1.141,19,1.204,21,1.175,23,4.099,26,2.231,27,1.195,30,3.229,31,1.118,36,1.262,38,2.599,41,5.078,46,5.452,50,2.337,58,2.006,59,3.769,61,6.904,63,2.103,68,2.181,83,1.348,85,4.162,90,1.059,108,4.639,120,3.524,122,2.095,140,0.649,144,0.942,157,1.373,164,1.615,169,1.582,171,1.122,174,3.291,193,0.617,194,2.165,202,1.268,203,2.078,204,1.759,209,1.797,215,2.594,220,5.242,221,1.268,230,5.31,235,7.552,236,4.735,239,4.785,243,2.978,246,1.096,248,1.317,252,3.838,255,3.543,256,3.616,257,4.263,259,1.438,263,2.875,264,1.513,268,1.893,269,1.178,273,3.841,274,1.779,285,1.273,287,1.66,290,1.989,292,1.445,297,1.38,306,1.893,310,1.001,316,1.408,319,1.799,322,1.13,326,1.47,328,1.348,329,1.799,340,1.273,346,1.532,357,2.074,358,1.034,362,5.012,363,3.016,379,1.718,390,2.316,392,1.561,398,6.233,404,1.851,408,3.913,417,1.043,423,3.886,429,5.91,434,2.559,440,1.273,442,1.815,443,1.076,455,1.513,464,1.191,466,1.43,467,1.838,468,1.551,471,1.415,475,3.7,477,4.569,487,1.38,489,1.317,500,3.789,516,1.373,520,3.554,523,3.661,524,1.379,525,5.165,526,3.367,533,3.399,534,1.187,545,2.97,556,0.71,565,1.541,587,1.161,591,1.317,600,2.342,603,2.965,609,1.604,620,2.111,624,2.88,651,1.704,656,3.403,678,1.495,681,2.112,699,5.475,713,2.405,717,2.233,726,1.748,728,2.181,739,3.757,746,4.285,762,1.513,764,1.289,787,7.211,789,1.242,800,2.533,804,0.672,812,1.034,820,6.072,838,1.301,840,2.452,842,0.979,848,2.267,862,4.447,863,2.363,866,6.433,868,1.797,876,1.257,878,7.399,886,1.3,894,7.504,931,1.75,949,2.133,960,1.257,971,1.182,973,1.809,976,2.881,1018,0.99,1033,6.077,1036,1.445,1045,1.604,1048,6.636,1056,3.838,1062,3.441,1077,1.551,1120,2.214,1141,2.599,1146,1.541,1154,7.178,1158,1.764,1170,4.162,1198,3.735,1205,2.079,1210,1.541,1213,3.481,1214,1.504,1215,0.805,1227,2.384,1237,2.875,1238,1.486,1253,1.178,1256,3.235,1261,3.465,1266,3.536,1272,1.323,1338,2.112,1344,1.582,1350,4.059,1373,4.679,1385,2.67,1431,4.543,1437,1.049,1475,1.223,1480,2.088,1573,2.702,1581,4.099,1585,3.207,1610,1.341,1611,3.666,1613,0.902,1624,2.978,1644,0.902,1680,1.541,1683,5.055,1686,5.184,1687,1.312,1736,3.524,1838,3.963,1895,3.803,1896,1.323,1913,1.939,1916,4.367,1954,2.875,1986,1.495,1992,1.963,2002,6.991,2015,2.373,2020,3.448,2037,1.317,2070,1.218,2072,4.659,2163,1.394,2175,4.97,2199,1.522,2236,1.893,2255,2.641,2283,2.189,2321,3.905,2328,1.915,2365,1.312,2387,1.341,2391,1.513,2392,1.341,2551,1.257,2578,1.764,2610,3.167,2640,1.341,2675,1.561,2709,3.719,2777,4.492,2890,1.323,3097,3.321,3315,2.189,3457,1.582,3506,2.801,3526,3.651,3555,2.149,3556,1.504,3561,4.148,3620,1.872,3629,1.513,3646,1.833,3653,1.341,3779,1.532,3784,3.978,3789,2.313,3794,4.373,3796,1.445,3816,3.826,3839,1.561,3842,2.784,3893,1.764,3939,2.282,4004,5.498,4083,2.875,4199,2.282,4228,3.719,4282,4.148,4429,2.343,4556,2.338,4585,1.582,4675,1.872,4755,1.513,4759,1.551,4836,1.571,4865,2.75,5088,1.561,5446,2.384,5456,1.341,5489,2.801,5491,4.249,5521,1.341,5547,2.875,5610,2.338,5761,4.708,5765,1.593,5766,3.351,5853,1.3,5877,1.893,5878,1.676,5879,1.593,5880,3.979,5881,1.593,5882,1.593,5883,1.593,5884,1.593,5885,1.593,5886,1.593,5887,1.593,5888,1.593,5889,1.593,5890,1.593,5891,4.83,5892,1.593,5893,1.593,5894,1.593,5895,1.582,5896,1.593,5897,1.593,5898,1.593,5899,1.604,5900,1.604,5901,1.604,5902,1.604,5903,2.915,5904,1.604,5905,3.979,5906,2.915,5907,1.604,5908,2.915,5909,1.593,5910,1.571,5911,1.354,5912,1.354,5913,1.354,5914,1.354,5915,1.354,5916,1.354,5917,1.354,5918,1.354,5924,2.401,5925,2.401,5926,2.401,5927,2.282,5928,2.282,5929,2.282,5930,4.364,5931,2.338,5932,2.401,5933,2.401,6033,3.049,6034,5.541,6035,3.049,6036,3.049,6037,3.049,6038,2.233]],["keywords/1217",[]],["title/1218",[4757,1412.056]],["content/1218",[]],["keywords/1218",[]],["title/1219",[30,317.855,4757,1102.381]],["content/1219",[1,3.782,2,3.073,8,4.721,9,2.759,13,7.315,18,4.462,19,2.242,21,2.029,23,6.12,26,3.851,30,1.376,31,4.546,36,2.35,41,2.223,46,1.59,50,3.09,59,2.961,78,3.146,90,1.971,108,6.704,140,1.209,144,1.754,146,3.851,171,2.089,174,3.75,193,1.149,194,2.217,202,2.36,204,1.802,215,2.647,220,7.827,221,2.36,236,1.246,246,2.041,255,3.894,257,4.656,269,2.193,285,2.37,292,2.691,310,1.863,316,2.621,319,3.105,322,2.103,324,3.932,328,2.509,340,2.37,346,2.851,362,5.464,363,2.27,390,2.037,392,2.906,398,4.824,404,1.896,408,5.174,429,5.232,434,2.621,440,2.37,466,2.662,467,1.856,468,2.887,471,2.635,475,1.466,477,4.663,500,5.88,523,3.736,524,3.083,525,5.641,526,4.227,533,2.532,534,2.209,545,3.324,587,2.162,591,2.452,603,2.209,620,2.162,624,3.282,668,3.868,673,4.352,684,4.469,699,2.169,713,2.463,728,3.764,756,6.519,762,2.816,764,2.4,789,2.313,820,5.891,838,2.246,840,3.99,863,4.078,868,5.637,876,2.341,886,4.078,897,3.225,931,3.02,960,2.341,971,2.201,973,3.122,976,5.501,1036,2.691,1048,2.251,1061,2.985,1077,2.887,1099,7.697,1141,4.486,1198,6.077,1199,3.932,1205,3.382,1210,2.869,1214,2.8,1227,2.442,1238,2.767,1253,2.193,1266,7.537,1272,6.313,1385,4.345,1431,7.051,1475,2.277,1480,2.139,1581,3.605,1585,5.218,1680,2.869,1683,7.108,1687,2.442,1838,5.24,1896,2.463,1954,2.945,1986,2.783,2002,9.405,2015,4.096,2020,5.61,2037,4.132,2070,2.268,2091,3.525,2163,2.595,2199,2.834,2255,2.706,2311,2.985,2365,2.442,2387,2.497,2391,2.816,2392,2.497,2478,7.531,2551,2.341,2610,3.976,2640,2.497,2777,2.72,2890,2.463,3097,5.403,3457,2.945,3506,2.869,3526,2.72,3556,2.8,3578,4.157,3629,2.816,3653,2.497,3789,5.174,3794,6.787,3796,2.691,3839,2.906,3842,4.804,4004,7.353,4082,4.352,4429,4.043,4585,2.945,4747,4.772,4757,4.772,4759,2.887,4865,2.816,5088,2.906,5323,7.763,5446,4.114,5456,2.497,5489,6.265,5521,2.497,5547,4.962,5761,2.851,5766,4.208,5767,7.763,5812,4.607,5853,2.42,5879,2.965,5880,6.474,5881,2.965,5882,2.965,5883,2.965,5884,2.965,5885,2.965,5886,2.965,5887,2.965,5888,2.965,5889,2.965,5890,2.965,5891,4.929,5892,2.965,5893,2.965,5894,2.965,5895,2.945,5896,2.965,5897,2.965,5898,2.965,5910,2.925,5911,2.521,5912,2.521,5913,2.521,5914,2.521,5915,2.521,5916,2.521,5917,2.521,5918,2.521,6039,5.675,6040,4.469,6041,9.563,6042,5.675,6043,5.675,6044,5.675,6045,5.675,6046,5.675]],["keywords/1219",[]],["title/1220",[23,633.001]],["content/1220",[]],["keywords/1220",[]],["title/1221",[23,494.18,30,317.855]],["content/1221",[1,2.878,23,8.861,30,2.996,36,5.117,46,3.461,140,2.632,171,4.548,174,6.184,236,2.712,246,4.444,255,3.886,257,5.623,269,4.775,286,4.36,310,4.057,319,4.012,362,4.318,409,7.022,429,6.615,440,5.159,467,2.279,523,4.827,534,4.81,545,3.118,591,5.34,674,8.56,772,10.84,773,12.38,820,6.121,838,4.125,863,7.491,931,5.547,947,5.54,971,4.792,973,5.735,1205,5.577,1253,4.775,1475,4.957,1581,6.621,1585,8.604,1683,8.447,1687,5.316,1896,5.363,1954,9.113,2015,7.524,2037,5.34,2070,4.938,2365,5.316,2387,5.437,2392,5.437,2551,5.096,2610,9.253,2890,5.363,3097,8.91,3508,9.251,3653,5.437,3789,7.334,4082,9.475,4429,7.427,4524,9.475,5446,7.557,5456,5.437,5521,5.437,5766,7.729,5853,5.27,5911,5.488,5912,5.488,5913,5.488,5914,5.488,5915,5.488,5916,5.488,5917,5.488,5918,5.488,5954,9.475,6047,10.84,6048,11.442]],["keywords/1221",[]],["title/1222",[23,405.295,30,260.685,6047,943.268]],["content/1222",[1,2.886,8,4.721,9,2.627,13,6.343,21,2.029,23,7.058,26,3.851,27,2.225,30,1.376,31,2.082,36,2.35,41,2.223,46,1.59,50,3.09,59,2.961,108,6.704,140,1.209,144,1.754,169,2.945,171,2.089,174,3.75,193,1.149,194,2.217,202,2.36,204,1.802,215,2.647,220,7.827,221,2.36,236,1.246,246,2.041,255,4.143,257,3.967,269,2.193,292,2.691,310,1.863,316,2.621,319,1.842,322,2.103,328,2.509,340,2.37,346,2.851,357,2.124,362,5.356,363,2.27,390,2.639,392,2.906,398,6.851,404,1.896,408,6.073,429,5.566,434,2.621,440,2.37,466,2.662,467,1.856,468,2.887,471,2.635,475,2.47,477,6.042,487,2.569,500,5.88,523,5.682,524,2.379,525,5.641,526,4.227,533,2.532,534,2.209,545,3.756,587,2.162,591,2.452,620,2.162,624,2.532,678,2.783,699,2.169,713,2.463,728,3.764,762,2.816,764,2.4,772,4.979,789,2.313,804,1.251,820,6.131,838,2.246,840,3.99,863,4.078,876,2.341,931,3.02,960,2.341,971,2.201,973,3.122,976,3.617,1036,2.691,1048,4.914,1077,2.887,1120,3.821,1141,4.486,1170,4.247,1198,6.077,1205,3.382,1210,2.869,1214,2.8,1227,2.442,1238,2.767,1253,2.193,1261,2.582,1266,5.753,1272,2.463,1385,3.353,1431,7.051,1437,1.953,1475,2.277,1480,3.605,1581,3.605,1585,5.218,1610,2.497,1680,2.869,1683,7.108,1686,7.74,1687,2.442,1838,5.24,1895,6.187,1896,2.463,1986,2.783,2002,9.405,2015,4.096,2020,5.61,2037,2.452,2070,2.268,2163,2.595,2199,2.834,2255,2.706,2365,2.442,2387,2.497,2391,2.816,2392,2.497,2551,2.341,2610,5.153,2640,2.497,2675,2.906,2777,2.72,2890,2.463,3097,5.403,3457,2.945,3506,2.869,3526,5.941,3556,2.8,3629,2.816,3653,2.497,3779,2.851,3789,3.993,3794,6.787,3796,2.691,3816,6.226,3839,2.906,3842,4.804,4004,8.898,4083,4.962,4429,4.043,4585,2.945,4755,2.816,4759,2.887,4836,2.925,4865,2.816,5088,2.906,5446,4.114,5456,2.497,5489,2.869,5521,2.497,5547,4.962,5761,7.307,5765,2.965,5766,5.453,5853,2.42,5879,2.965,5880,6.474,5881,2.965,5882,2.965,5883,2.965,5884,2.965,5885,2.965,5886,2.965,5887,2.965,5888,2.965,5889,2.965,5890,2.965,5891,4.929,5892,2.965,5893,2.965,5894,2.965,5895,2.945,5896,2.965,5897,2.965,5898,2.965,5899,2.985,5900,2.985,5901,2.985,5902,2.985,5903,5.03,5904,2.985,5905,2.965,5906,5.03,5907,2.985,5908,5.03,5909,2.965,5910,2.925,5911,2.521,5912,2.521,5913,2.521,5914,2.521,5915,2.521,5916,2.521,5917,2.521,5918,2.521,6047,4.979]],["keywords/1222",[]],["title/1223",[23,405.295,30,260.685,773,757.892]],["content/1223",[1,2.886,8,4.721,9,2.627,13,6.343,21,2.029,23,7.058,26,3.851,27,2.225,30,1.376,31,2.082,36,2.35,41,2.223,46,1.59,50,3.09,59,2.961,108,6.704,140,1.209,144,1.754,169,2.945,171,2.089,174,3.75,193,1.149,194,2.217,202,2.36,204,1.802,215,2.647,220,7.827,221,2.36,236,1.246,246,2.041,255,4.143,257,3.967,269,2.193,292,2.691,310,1.863,316,2.621,319,1.842,322,2.103,328,2.509,340,2.37,346,2.851,357,2.124,362,5.356,363,2.27,390,2.639,392,2.906,398,6.851,404,1.896,408,6.073,429,5.566,434,2.621,440,2.37,466,2.662,467,1.856,468,2.887,471,2.635,475,2.47,477,6.042,487,2.569,500,5.88,523,5.682,524,2.379,525,5.641,526,4.227,533,2.532,534,2.209,545,3.756,587,2.162,591,2.452,620,2.162,624,2.532,678,2.783,699,2.169,713,2.463,728,3.764,762,2.816,764,2.4,773,6.74,789,2.313,804,1.251,820,6.131,838,2.246,840,3.99,863,4.078,876,2.341,931,3.02,960,2.341,971,2.201,973,3.122,976,3.617,1036,2.691,1048,4.914,1077,2.887,1120,3.821,1141,4.486,1170,4.247,1198,6.077,1205,3.382,1210,2.869,1214,2.8,1227,2.442,1238,2.767,1253,2.193,1261,2.582,1266,5.753,1272,2.463,1385,3.353,1431,7.051,1437,1.953,1475,2.277,1480,3.605,1581,3.605,1585,5.218,1610,2.497,1680,2.869,1683,7.108,1686,7.74,1687,2.442,1838,5.24,1895,6.187,1896,2.463,1986,2.783,2002,9.405,2015,4.096,2020,5.61,2037,2.452,2070,2.268,2163,2.595,2199,2.834,2255,2.706,2365,2.442,2387,2.497,2391,2.816,2392,2.497,2551,2.341,2610,5.153,2640,2.497,2675,2.906,2777,2.72,2890,2.463,3097,5.403,3457,2.945,3506,2.869,3526,5.941,3556,2.8,3629,2.816,3653,2.497,3779,2.851,3789,3.993,3794,6.787,3796,2.691,3816,6.226,3839,2.906,3842,4.804,4004,8.898,4083,4.962,4429,4.043,4585,2.945,4755,2.816,4759,2.887,4836,2.925,4865,2.816,5088,2.906,5446,4.114,5456,2.497,5489,2.869,5521,2.497,5547,4.962,5761,7.307,5765,2.965,5766,5.453,5853,2.42,5879,2.965,5880,6.474,5881,2.965,5882,2.965,5883,2.965,5884,2.965,5885,2.965,5886,2.965,5887,2.965,5888,2.965,5889,2.965,5890,2.965,5891,4.929,5892,2.965,5893,2.965,5894,2.965,5895,2.945,5896,2.965,5897,2.965,5898,2.965,5899,2.985,5900,2.985,5901,2.985,5902,2.985,5903,5.03,5904,2.985,5905,2.965,5906,5.03,5907,2.985,5908,5.03,5909,2.965,5910,2.925,5911,2.521,5912,2.521,5913,2.521,5914,2.521,5915,2.521,5916,2.521,5917,2.521,5918,2.521]],["keywords/1223",[]],["title/1224",[23,343.511,30,220.945,1954,472.856,4524,698.812]],["content/1224",[1,3.103,8,5.074,9,2.598,13,6.711,21,2.207,23,7.392,26,4.189,30,2.522,31,2.302,36,2.599,41,2.418,46,1.758,50,3.321,59,3.154,108,7.053,140,1.337,144,1.94,171,2.31,174,4.031,193,1.27,194,2.452,202,2.61,204,1.993,215,2.879,220,8.28,221,2.61,236,1.377,246,2.257,255,4.097,257,4.265,269,2.425,310,2.061,316,2.899,319,2.037,322,2.325,328,2.774,340,2.62,346,3.153,362,5.424,363,2.401,390,2.215,392,3.214,398,5.185,404,2.097,408,6.47,429,6.099,434,2.899,440,2.62,466,2.944,467,1.93,468,3.193,471,2.913,475,1.621,477,5.072,500,6.264,523,4.064,524,2.588,525,6.009,526,4.598,533,2.801,534,2.443,545,3.481,587,2.391,591,2.712,620,2.391,624,2.755,674,7.206,699,2.399,713,2.724,728,4.094,756,3.301,762,3.115,764,2.654,770,5.812,789,2.557,820,6.146,824,1.391,838,2.443,840,4.288,863,4.436,868,3.699,876,2.588,931,3.285,960,2.588,971,2.434,973,3.396,976,3.934,1036,2.976,1048,2.489,1077,3.193,1099,6.46,1141,4.879,1198,6.533,1199,4.348,1205,3.635,1210,3.173,1214,3.096,1227,2.7,1238,3.06,1253,2.425,1266,6.184,1272,2.724,1281,4.095,1385,3.647,1431,7.512,1475,2.518,1480,2.366,1572,3.943,1581,3.921,1585,5.609,1680,3.173,1683,7.443,1687,2.7,1838,5.632,1896,2.724,1954,6.912,1986,3.078,2002,9.781,2015,4.455,2020,6.031,2037,4.495,2070,2.508,2163,2.869,2199,3.134,2255,2.992,2365,2.7,2387,2.762,2391,3.115,2392,2.762,2551,2.588,2610,4.325,2640,2.762,2777,3.008,2890,2.724,3097,5.808,3457,3.256,3506,3.173,3556,3.096,3629,3.115,3653,2.762,3789,4.343,3794,7.231,3796,2.976,3839,3.214,3842,5.226,4004,7.833,4082,4.812,4429,4.398,4524,4.812,4585,3.256,4759,3.193,4865,3.115,5088,3.214,5446,4.475,5456,2.762,5489,3.173,5521,2.762,5547,5.397,5761,3.153,5766,4.577,5767,5.095,5815,5.812,5853,2.677,5879,3.279,5880,6.959,5881,3.279,5882,3.279,5883,3.279,5884,3.279,5885,3.279,5886,3.279,5887,3.279,5888,3.279,5889,3.279,5890,3.279,5891,5.361,5892,3.279,5893,3.279,5894,3.279,5895,3.256,5896,3.279,5897,3.279,5898,3.279,5910,3.235,5911,2.787,5912,2.787,5913,2.787,5914,2.787,5915,2.787,5916,2.787,5917,2.787,5918,2.787,6048,5.812]],["keywords/1224",[]],["title/1225",[363,234.772]],["content/1225",[]],["keywords/1225",[]],["title/1226",[30,317.855,363,183.285]],["content/1226",[1,1.726,6,1.136,8,2.823,9,2.909,13,4.654,14,2.696,19,1.166,21,1.572,23,4.004,26,2.166,27,1.157,30,0.715,31,1.082,36,1.222,41,2.124,46,0.826,48,2.133,50,3.924,51,2.754,59,3.483,61,1.422,63,5.974,67,2.849,68,2.917,83,1.304,108,5.351,120,3.42,122,2.042,128,4.124,140,1.946,144,2.824,167,3.509,169,1.531,171,1.086,174,2.243,193,0.597,194,1.153,200,1.952,202,1.227,204,2.901,215,4.556,218,1.491,220,5.12,221,1.227,222,4.84,228,2.481,230,2.345,236,1.18,243,1.586,246,1.061,255,4.25,257,2.925,260,1.377,263,1.531,264,1.464,269,1.14,272,3.267,285,1.232,287,0.884,292,1.399,294,3.726,299,1.952,301,1.541,310,0.969,316,2.484,319,1.746,322,1.093,326,1.422,328,1.304,340,1.232,346,1.482,352,1.635,357,3.42,362,4.569,363,3.49,379,1.662,382,1.363,390,1.946,392,1.511,398,6.126,404,0.986,408,3.815,414,1.952,423,2.648,429,3.541,434,1.363,440,1.232,443,4.603,466,1.384,467,1.605,468,1.501,471,1.37,475,3.37,477,3.613,478,2.497,481,5.065,483,2.118,486,1.751,487,3.355,500,3.694,504,1.876,505,3.094,513,1.511,516,1.329,523,7.324,524,5.854,525,4.12,526,2.377,533,1.316,534,1.148,540,1.054,545,3.838,556,2.128,587,1.124,591,1.275,597,1.356,600,1.852,613,2.702,620,2.049,624,1.962,625,1.31,656,1.812,673,2.262,678,1.447,692,3.559,699,1.128,700,4.212,702,11.738,711,2.981,713,1.281,728,2.117,731,1.756,743,1.124,746,2.459,762,1.464,764,1.247,777,1.9,789,1.202,795,2.323,800,5.447,804,2.341,812,2.513,820,5.125,838,1.263,840,2.386,848,3.032,849,3.954,862,1.723,863,2.294,868,1.739,876,1.217,887,2.423,892,2.101,898,1.391,900,2.984,921,2.564,931,1.698,944,1.489,957,1.707,960,2.218,969,1.662,971,1.144,973,1.756,976,3.456,982,5.718,1036,1.399,1048,2.939,1077,1.501,1092,1.482,1107,2.044,1108,2.044,1120,2.961,1141,2.523,1149,4.602,1157,2.849,1170,2.388,1191,4.124,1198,3.634,1205,2.022,1208,1.232,1210,1.491,1214,1.455,1215,0.78,1227,1.269,1238,2.622,1253,1.14,1256,1.723,1261,2.447,1263,1.876,1266,3.44,1272,6.484,1276,2.118,1294,1.336,1358,3.42,1366,4.472,1385,1.886,1386,3.111,1431,4.43,1437,2.551,1475,1.183,1477,1.98,1480,2.027,1487,1.854,1563,1.812,1564,1.925,1581,7.067,1585,3.12,1610,1.298,1613,1.59,1644,0.872,1680,1.491,1683,4.952,1686,5.064,1687,2.314,1719,2.395,1777,1.521,1838,3.133,1895,3.7,1896,1.281,1986,1.447,2002,6.865,2015,2.304,2020,3.355,2037,1.275,2070,1.179,2161,5.841,2163,1.349,2199,2.685,2238,3.939,2255,1.406,2365,1.269,2387,1.298,2391,3.678,2392,1.298,2551,1.217,2610,3.081,2640,2.366,2675,1.511,2709,1.98,2738,1.98,2777,1.414,2815,2.323,2823,2.044,2890,1.281,2985,4.124,3027,1.792,3097,3.231,3103,1.756,3457,1.531,3460,3.005,3506,1.491,3517,1.98,3526,3.552,3556,1.455,3620,1.812,3629,1.464,3653,1.298,3657,1.9,3779,1.482,3789,2.245,3794,4.264,3796,1.399,3816,3.723,3839,1.511,3842,2.702,3893,1.707,3993,2.588,3997,4.124,4004,5.37,4083,2.79,4228,3.61,4429,2.274,4585,1.531,4675,1.812,4755,1.464,4759,1.501,4829,2.395,4836,1.521,4865,1.464,5088,1.511,5446,2.314,5449,2.395,5456,2.366,5489,1.491,5521,1.298,5547,2.79,5761,4.59,5765,1.541,5766,3.261,5826,4.026,5853,1.258,5868,4.124,5869,2.209,5870,4.124,5871,2.262,5872,2.262,5877,1.832,5878,1.622,5879,1.541,5880,3.871,5881,1.541,5882,1.541,5883,1.541,5884,1.541,5885,1.541,5886,1.541,5887,1.541,5888,1.541,5889,1.541,5890,1.541,5891,2.772,5892,1.541,5893,1.541,5894,1.541,5895,1.531,5896,1.541,5897,1.541,5898,1.541,5899,1.552,5900,1.552,5901,1.552,5902,1.552,5903,2.829,5904,1.552,5905,1.541,5906,2.829,5907,1.552,5908,2.829,5909,1.541,5910,1.521,5911,1.31,5912,1.31,5913,1.31,5914,1.31,5915,1.31,5916,1.31,5917,1.31,5918,1.31,5919,3.791,5927,2.209,5928,2.209,5929,2.209,5937,2.481,5938,2.481,6009,2.323,6049,2.481,6050,2.732,6051,6.862,6052,6.862,6053,2.732,6054,2.732,6055,4.98,6056,4.98,6057,2.732,6058,2.732,6059,2.732,6060,2.732,6061,2.732,6062,2.732,6063,2.732,6064,2.732,6065,4.98,6066,2.732,6067,2.732]],["keywords/1226",[]],["title/1227",[141,467.07]],["content/1227",[]],["keywords/1227",[]],["title/1228",[30,317.855,141,364.638]],["content/1228",[1,2.219,8,2.49,9,2.531,13,6.861,15,1.758,21,0.996,23,3.592,26,1.891,27,0.998,30,2.873,31,1.722,36,1.054,38,2.203,41,4.714,46,5.053,50,2.376,56,1.515,58,1.7,59,3.47,61,6.184,63,1.782,68,1.848,83,2.076,85,2.904,90,1.631,108,4.098,120,2.986,122,1.818,140,1,141,6.294,144,2.945,146,3.275,149,1.104,157,1.146,164,1.348,169,1.32,171,0.936,174,2.884,180,2.14,193,1.928,194,1.834,202,2.718,203,1.734,204,1.491,209,1.5,215,3.551,220,4.593,221,1.058,230,4.691,235,6.84,236,4.308,239,4.108,243,2.524,246,0.915,248,2.029,251,1.906,252,3.253,255,3.649,256,4.266,257,3.794,259,1.2,263,2.436,264,1.263,268,1.58,269,0.983,273,3.418,274,1.507,277,1.794,285,1.961,287,1.406,290,1.66,292,1.206,297,1.152,306,1.58,310,0.836,316,1.175,319,1.524,321,4.348,322,2.422,326,1.227,328,2.076,329,1.524,340,1.062,343,0.799,345,1.403,346,1.278,357,1.758,358,0.863,362,4.614,363,2.916,379,1.434,390,2.029,392,1.303,398,5.927,404,1.569,408,3.396,417,0.871,423,3.405,424,1.546,429,5.361,434,2.169,440,1.062,442,1.515,443,1.657,455,1.263,466,1.194,467,1.81,468,1.295,471,1.181,475,3.314,477,4.646,487,1.152,489,1.1,496,1.827,500,3.288,501,1.563,505,1.961,520,3.051,523,3.177,524,1.168,525,5.625,526,2.076,533,2.917,534,0.99,545,2.703,556,0.593,566,1.358,587,0.969,591,1.1,598,1.66,600,2.381,603,1.828,609,1.338,620,1.789,624,2.523,625,2.085,651,1.422,656,2.884,661,1.463,678,1.248,681,1.763,699,4.904,713,1.104,717,1.864,728,1.848,739,3.225,746,2.147,762,1.263,764,2.764,777,1.639,787,6.947,789,3.314,800,2.147,804,0.561,812,0.863,820,5.658,838,1.103,840,2.105,842,2.099,848,3.327,859,3.698,862,1.486,863,5.055,866,5.797,868,6.342,876,1.049,878,6.537,882,2.404,886,3.469,889,2.174,894,6.678,897,1.446,931,1.483,949,1.808,960,1.049,971,0.987,973,1.533,976,2.473,982,1.258,1018,0.826,1033,5.325,1036,1.206,1045,1.338,1048,7.153,1056,3.253,1059,1.708,1062,2.916,1077,1.295,1092,1.278,1103,1.255,1120,1.876,1141,2.203,1142,1.58,1146,1.286,1154,6.342,1158,3.782,1170,4.778,1191,3.601,1198,3.206,1205,1.784,1207,9.224,1210,1.286,1212,9.113,1213,2.95,1214,1.255,1215,0.672,1227,2.02,1237,2.436,1238,1.241,1253,0.983,1256,2.742,1261,3.7,1263,1.618,1266,3.035,1272,1.104,1338,1.763,1350,3.44,1366,1.071,1373,4.061,1385,2.852,1431,3.943,1437,0.876,1473,1.241,1475,1.021,1480,1.77,1573,2.289,1581,3.066,1585,2.753,1610,1.12,1611,3.107,1613,2.405,1624,2.524,1644,0.753,1680,1.286,1683,4.499,1686,4.542,1687,1.095,1736,2.986,1838,3.439,1895,3.264,1896,1.104,1913,1.618,1916,3.748,1954,2.436,1986,1.248,1992,1.639,2002,6.3,2015,2.011,2020,3.682,2037,1.1,2070,1.017,2163,1.163,2176,3.31,2199,1.27,2236,1.58,2248,2.669,2255,2.239,2283,1.827,2321,3.31,2328,4.108,2365,1.095,2387,1.12,2391,1.263,2392,1.12,2414,3.515,2489,2.232,2551,1.049,2578,1.472,2610,2.718,2640,1.12,2675,1.303,2709,3.152,2740,1.255,2749,1.486,2777,3.899,2889,2.356,2890,1.104,3051,1.951,3097,2.851,3202,2.14,3258,2.232,3315,1.827,3457,1.32,3506,2.374,3526,3.134,3555,1.794,3556,1.255,3561,3.515,3620,1.563,3629,1.263,3646,1.53,3653,1.12,3779,1.278,3784,3.372,3786,4.348,3789,1.961,3794,3.795,3796,1.206,3816,3.284,3839,1.303,3842,2.359,3860,1.5,3893,1.472,3939,1.905,3989,3.31,4004,4.817,4083,2.436,4199,1.905,4228,3.152,4248,3.601,4282,3.515,4429,1.985,4556,1.951,4585,1.32,4675,2.884,4755,1.263,4759,1.295,4836,1.311,4865,2.33,5088,1.303,5446,2.02,5456,1.12,5489,4.112,5491,3.601,5518,3.698,5521,1.12,5547,2.436,5610,1.951,5761,4.086,5765,1.329,5766,3.579,5853,1.085,5877,1.58,5878,1.399,5879,1.329,5880,3.415,5881,1.329,5882,1.329,5883,1.329,5884,1.329,5885,1.329,5886,1.329,5887,1.329,5888,1.329,5889,1.329,5890,1.329,5891,5.545,5892,1.329,5893,1.329,5894,1.329,5895,1.32,5896,1.329,5897,1.329,5898,1.329,5899,1.338,5900,1.338,5901,1.338,5902,1.338,5903,2.47,5904,1.338,5905,3.415,5906,2.47,5907,1.338,5908,2.47,5909,1.329,5910,1.311,5911,1.13,5912,1.13,5913,1.13,5914,1.13,5915,1.13,5916,1.13,5917,1.13,5918,1.13,5919,3.31,5924,2.004,5925,2.004,5926,2.004,5927,1.905,5928,1.905,5929,1.905,5930,3.698,5931,1.951,5932,2.004,5933,3.698,6068,2.545,6069,2.545,6070,2.545,6071,2.545,6072,2.545,6073,2.232,6074,2.545,6075,2.545,6076,2.545,6077,2.545,6078,2.356,6079,2.545,6080,4.696,6081,2.545,6082,2.545,6083,2.545,6084,2.545,6085,2.545,6086,3.948,6087,4.696,6088,2.545,6089,2.545]],["keywords/1228",[]],["title/1229",[1,305.359,6090,1005.321]],["content/1229",[]],["keywords/1229",[]],["title/1230",[1954,557.905,6090,824.502,6091,995.701]],["content/1230",[]],["keywords/1230",[]],["title/1231",[7,509.824,1431,521.266,5465,675.602]],["content/1231",[9,3.156,40,8.147,85,6.58,174,4.484,197,10.549,204,4.704,251,8.082,259,6.987,264,11.163,271,11.092,301,7.739,319,4.81,322,5.489,329,4.81,349,9.667,377,12.468,397,10.853,417,5.069,429,4.404,467,1.343,490,12.18,523,5.788,562,10.264,603,5.767,624,3.923,627,9.802,634,8.147,746,6.774,840,4.77,849,7.905,930,8.246,1431,11.66,1954,7.687,1992,12.824,2036,16.165,2597,10.443,3083,12.026,3269,10.853,3501,10.853,3592,13.719,3684,12.997,3928,12.026,4228,13.367,4946,16.165,5147,13.719,5465,12.512,6090,11.36,6091,13.719,6092,14.816,6093,19.914,6094,14.816,6095,14.816,6096,14.816,6097,14.816,6098,13.719,6099,13.719,6100,14.816,6101,14.816]],["keywords/1231",[]],["title/1232",[1431,521.266,2640,473.132,5465,675.602]],["content/1232",[1,2.544,5,5.207,6,4.206,19,4.315,76,7.128,90,3.794,105,7.699,140,2.326,149,4.741,181,14.267,185,9.184,199,6.784,249,10.115,268,9.978,269,4.221,286,3.854,329,3.546,342,14.613,398,4.252,417,3.737,418,5.326,428,7.843,438,5.421,460,10.115,461,10.115,467,2.505,476,10.483,490,5.915,505,4.561,524,3.997,540,3.903,562,5.63,609,5.746,613,3.23,729,6.568,739,5.388,787,5.915,789,4.451,872,6.637,1208,4.561,1216,6.709,1237,5.667,1431,5.295,1686,7.659,1848,9.582,2412,11.704,2495,8.867,2506,8.867,2799,6.709,3684,9.582,3989,11.324,4065,10.115,4468,10.115,4718,15.008,5342,9.582,5465,6.863,5820,9.582,5869,8.178,6098,10.115,6102,10.923,6103,10.923,6104,16.067,6105,16.067,6106,16.067,6107,16.067,6108,10.923,6109,10.923,6110,10.923,6111,10.923,6112,10.923,6113,10.923,6114,10.923,6115,10.923,6116,10.923,6117,10.923,6118,10.923,6119,21.013,6120,10.923,6121,10.923,6122,10.923,6123,10.923,6124,10.923,6125,10.923,6126,10.923,6127,16.067,6128,10.923,6129,10.923,6130,10.923,6131,10.923,6132,10.923,6133,10.923,6134,10.923,6135,10.923,6136,10.923,6137,10.923,6138,10.923,6139,10.923,6140,10.923,6141,10.923,6142,10.923,6143,10.923,6144,10.923,6145,10.923,6146,10.923,6147,10.923,6148,10.923,6149,10.923,6150,10.923,6151,10.923,6152,10.923,6153,10.115,6154,10.923,6155,10.923,6156,10.115,6157,10.923,6158,10.923,6159,10.923,6160,10.923]],["keywords/1232",[]],["title/1233",[199,566.006,1954,472.856,1992,586.904,6090,698.812]],["content/1233",[1,5.902,122,5.232,164,10.09,199,11.829,316,8.797,318,20.818,429,5.661,620,7.255,624,5.044,766,8.752,787,10.314,892,7.441,931,6.015,971,7.387,1153,14.259,1992,12.266,2070,7.611,2412,11.698,2579,13.952,3626,16.709,3796,9.031,4753,16.709,4808,15,6090,14.605,6161,17.637]],["keywords/1233",[]],["title/1234",[360,1055.174]],["content/1234",[]],["keywords/1234",[]],["title/1235",[30,317.855,360,823.767]],["content/1235",[1,3.311,2,2.103,6,1.496,8,3.535,9,2.929,13,5.019,14,0.879,19,1.535,21,1.968,23,6.179,26,2.774,27,1.523,30,0.942,31,1.425,36,1.609,41,2.157,46,1.088,48,2.731,50,2.314,59,2.615,63,1.475,108,5.414,122,1.54,140,2.391,144,2.129,149,1.686,167,4.495,169,2.016,171,2.535,172,2.789,174,4.302,176,2.691,193,0.786,194,3.625,200,2.57,202,1.615,204,1.233,215,1.907,218,1.964,220,6.193,221,1.615,236,0.853,246,3.337,255,3.627,257,2.971,269,1.501,272,4.185,273,1.12,285,1.622,287,1.164,292,1.842,299,2.57,306,4.278,310,1.276,316,1.794,319,1.261,322,1.439,328,1.717,340,1.622,345,1.161,346,1.952,357,1.454,358,4.819,360,8.072,362,4.898,363,2.784,382,7.105,390,3.276,392,1.989,398,5.988,404,1.298,408,4.688,414,2.57,423,2.461,429,4.572,434,1.794,440,1.622,443,1.371,454,2.312,466,1.822,467,1.806,468,1.976,471,1.803,475,2.397,477,4.524,481,2.153,486,1.265,487,1.759,500,4.539,516,3.103,523,4.387,524,5.559,525,4.983,526,3.045,533,1.733,534,1.512,545,3.437,554,1.354,556,1.604,587,1.48,591,1.679,600,0.971,613,1.149,620,1.48,624,2.457,636,2.908,678,1.905,688,1.952,692,3.762,699,1.485,700,7.302,713,1.686,728,2.711,739,1.916,746,1.776,762,1.928,764,1.643,777,2.502,789,1.583,800,1.776,804,0.856,820,5.408,838,1.618,840,2.987,863,2.938,876,1.602,921,5.353,931,2.175,944,1.075,960,1.602,969,2.189,971,1.507,973,4.641,976,6.829,982,6.066,1036,1.842,1048,3.68,1068,1.928,1077,1.976,1092,1.952,1120,2.752,1141,3.231,1157,2.058,1170,3.059,1198,4.551,1205,2.532,1210,1.964,1214,1.916,1227,1.671,1238,1.894,1253,1.501,1261,3.134,1266,4.308,1272,6.677,1276,2.789,1336,1.615,1366,3.907,1379,2.57,1385,2.415,1431,5.443,1437,1.337,1475,1.558,1479,5.282,1480,3.498,1581,4.843,1585,3.907,1610,1.709,1625,5.157,1680,1.964,1683,5.839,1686,6.125,1687,1.671,1838,3.924,1895,4.633,1896,1.686,1986,1.905,2002,7.939,2015,2.95,2020,4.201,2037,1.679,2070,2.752,2161,5.103,2163,1.776,2199,1.94,2248,3.915,2255,1.852,2365,1.671,2387,1.709,2391,1.928,2392,1.709,2397,2.57,2547,2.36,2551,1.602,2610,3.858,2619,11.174,2625,6.54,2640,1.709,2675,1.989,2738,2.608,2740,1.916,2777,1.862,2823,2.691,2890,1.686,3097,4.046,3103,2.312,3269,2.846,3457,2.016,3479,6.378,3480,3.597,3481,3.597,3506,1.964,3526,4.448,3536,3.266,3556,1.916,3629,1.928,3653,1.709,3657,2.502,3709,3.597,3779,1.952,3789,2.876,3794,5.24,3796,1.842,3797,3.408,3816,4.662,3839,1.989,3842,3.46,3893,2.247,4004,5.676,4083,3.574,4429,2.912,4585,2.016,4755,1.928,4759,1.976,4836,2.002,4865,1.928,5088,1.989,5446,2.963,5456,1.709,5489,1.964,5521,1.709,5547,3.574,5761,5.641,5765,2.029,5766,4.083,5826,5.157,5853,1.657,5859,3.408,5861,3.408,5866,5.792,5867,3.266,5868,5.282,5869,2.908,5870,2.979,5871,2.979,5872,2.979,5873,5.282,5874,7.802,5875,3.266,5876,5.792,5878,2.136,5879,2.029,5880,4.847,5881,2.029,5882,2.029,5883,2.029,5884,2.029,5885,2.029,5886,2.029,5887,2.029,5888,2.029,5889,2.029,5890,2.029,5891,3.55,5892,2.029,5893,2.029,5894,2.029,5895,2.016,5896,2.029,5897,2.029,5898,2.029,5899,2.043,5900,2.043,5901,2.043,5902,2.043,5903,3.623,5904,2.043,5905,2.029,5906,3.623,5907,2.043,5908,3.623,5909,2.029,5910,2.002,5911,1.725,5912,1.725,5913,1.725,5914,1.725,5915,1.725,5916,1.725,5917,1.725,5918,1.725,6162,6.888,6163,3.885,6164,3.885,6165,3.885,6166,3.885,6167,3.885]],["keywords/1235",[]],["title/1236",[6049,1412.056]],["content/1236",[]],["keywords/1236",[]],["title/1237",[30,317.855,6049,1102.381]],["content/1237",[1,1.708,6,1.121,8,2.793,9,2.896,13,4.614,14,2.672,19,1.151,21,1.555,23,3.967,26,2.14,27,1.142,30,0.706,31,1.068,36,1.206,41,2.103,46,0.816,48,2.108,50,3.897,51,2.722,59,3.462,61,1.404,63,5.933,67,2.816,68,2.886,83,1.288,85,1.294,108,5.31,120,3.38,122,2.022,128,4.076,140,1.927,144,2.796,167,3.468,169,1.511,171,1.072,174,2.219,193,0.589,194,1.138,200,1.927,202,1.211,204,2.872,215,4.526,218,1.472,220,5.073,221,1.211,222,4.792,228,2.449,230,2.318,236,1.167,243,1.565,246,1.048,255,4.227,257,2.896,260,1.359,263,1.511,264,1.445,269,1.125,272,3.23,285,1.216,287,0.872,292,1.381,294,3.682,299,1.927,301,1.522,310,0.956,316,3.386,319,1.726,322,1.079,326,1.404,328,1.288,340,1.216,346,1.463,352,1.614,357,3.387,362,4.606,363,3.509,379,1.641,382,1.345,390,1.927,392,1.491,398,6.084,404,0.973,408,3.777,414,1.927,423,2.62,429,3.511,434,1.345,440,1.216,443,4.566,466,1.366,467,1.596,468,1.482,471,1.352,475,3.601,477,3.575,478,2.468,481,5.015,483,2.091,486,1.731,487,3.319,500,3.657,504,1.852,505,3.061,513,1.491,516,1.312,523,7.465,524,5.835,525,4.58,526,2.35,533,1.3,534,1.134,540,1.041,545,3.823,556,2.107,587,1.109,591,1.259,597,1.338,600,2.261,613,2.675,620,2.025,624,1.941,625,1.294,656,1.789,673,2.233,678,1.428,692,3.526,699,1.113,700,4.167,702,11.688,711,2.946,713,1.264,728,2.092,731,1.734,743,1.109,746,2.43,762,1.445,764,1.232,777,1.876,789,1.187,795,2.294,800,5.4,804,2.319,812,2.486,820,5.094,838,1.248,840,2.36,848,2.999,849,3.912,862,1.701,863,2.267,868,1.717,876,1.201,887,2.395,892,2.077,898,1.374,900,2.952,921,3.495,931,1.678,944,1.471,957,1.685,960,2.192,969,1.641,971,1.13,973,1.735,976,3.422,982,5.694,1018,0.946,1036,1.381,1048,2.907,1077,1.482,1092,1.463,1107,2.018,1108,2.018,1120,2.93,1141,2.493,1149,4.553,1157,2.816,1170,2.361,1191,4.076,1198,3.595,1205,2.001,1208,1.216,1210,1.472,1214,1.437,1215,0.77,1227,1.253,1238,2.592,1253,1.125,1256,1.701,1261,2.418,1263,1.852,1266,3.403,1272,6.438,1276,2.091,1294,1.319,1358,3.38,1366,4.431,1385,1.864,1386,1.685,1431,4.386,1437,2.523,1475,1.168,1477,1.955,1480,2.004,1487,1.83,1563,1.789,1564,1.901,1581,7.028,1585,3.087,1610,1.282,1613,1.572,1644,0.861,1680,1.472,1683,4.912,1686,5.017,1687,2.287,1719,2.364,1777,1.501,1838,3.1,1895,3.66,1896,1.264,1986,1.428,2002,6.815,2015,2.277,2020,3.319,2037,1.259,2070,1.164,2161,5.787,2163,1.332,2199,2.654,2238,3.894,2255,1.389,2365,1.253,2387,1.282,2391,3.638,2392,1.282,2551,1.201,2610,3.048,2640,2.339,2675,1.491,2709,1.955,2738,1.955,2777,1.396,2815,2.294,2823,2.018,2890,1.264,2985,4.076,3027,1.77,3097,3.197,3103,1.734,3431,1.852,3452,2.364,3457,1.511,3460,2.97,3506,1.472,3517,1.955,3526,3.514,3556,1.437,3620,1.789,3629,1.445,3653,1.282,3657,3.423,3779,1.463,3789,2.219,3794,4.222,3796,1.381,3816,3.683,3839,1.491,3842,2.67,3893,1.685,3993,2.555,3997,4.076,4004,5.32,4083,2.758,4228,3.568,4429,2.248,4585,1.511,4675,1.789,4755,1.445,4759,1.482,4829,2.364,4836,1.501,4865,1.445,5088,1.491,5446,2.287,5449,2.364,5456,2.339,5489,1.472,5521,1.282,5547,2.758,5761,4.545,5765,1.522,5766,3.226,5826,3.979,5853,1.242,5868,4.076,5869,2.181,5870,4.076,5871,2.233,5872,2.233,5877,1.809,5878,1.602,5879,1.522,5880,3.83,5881,1.522,5882,1.522,5883,1.522,5884,1.522,5885,1.522,5886,1.522,5887,1.522,5888,1.522,5889,1.522,5890,1.522,5891,2.74,5892,1.522,5893,1.522,5894,1.522,5895,1.511,5896,1.522,5897,1.522,5898,1.522,5899,1.532,5900,1.532,5901,1.532,5902,1.532,5903,2.796,5904,1.532,5905,1.522,5906,2.796,5907,1.532,5908,2.796,5909,1.522,5910,1.501,5911,1.294,5912,1.294,5913,1.294,5914,1.294,5915,1.294,5916,1.294,5917,1.294,5918,1.294,5919,3.747,5927,2.181,5928,2.181,5929,2.181,5937,2.449,5938,2.449,6009,2.294,6049,2.449,6050,2.697,6051,6.789,6052,6.789,6053,2.697,6054,2.697,6055,4.922,6056,4.922,6057,2.697,6058,2.697,6059,2.697,6060,2.697,6061,2.697,6062,2.697,6063,2.697,6064,2.697,6065,4.922,6066,2.697,6067,2.697,6168,2.913]],["keywords/1237",[]],["title/1238",[268,814.264,667,738.774]],["content/1238",[]],["keywords/1238",[]],["title/1239",[565,543.566,5767,872.834,5770,995.701]],["content/1239",[1,4.968,9,2.993,255,4.72,477,10.4,525,8.273,1170,9.474,1686,11.945,3526,12.012,3823,17.936,5909,11.143,6169,17.936]],["keywords/1239",[]],["title/1240",[59,266.883,524,326.193]],["content/1240",[9,2.338,41,5.002,56,9.921,164,8.829,187,8.226,208,8.425,215,6.972,274,5.351,363,3.332,404,5.568,417,5.702,443,5.88,487,9.742,489,7.202,505,6.959,523,9.84,524,6.76,566,8.892,592,8.534,808,7.777,848,8.804,928,8.767,1008,7.737,1149,14.802,1493,15.434,1581,6.282,2312,11.546,3860,14.048,4297,18.878,5696,15.434,6170,16.667,6171,16.667]],["keywords/1240",[]],["title/1241",[1,305.359,6090,1005.321]],["content/1241",[1,6.014,122,4.442,164,10.528,199,12.343,318,20.334,429,5.907,766,9.133,787,10.762,892,7.764,1992,12.799,2070,7.942,2412,14.754,2579,14.559,3626,17.435,3796,9.423,4753,17.435,4808,15.652,6090,15.24,6161,18.404]],["keywords/1241",[]],["title/1242",[1,184.182,236,173.556,362,167.093,3439,606.374,3506,399.762]],["content/1242",[1,5.248,362,4.761,1120,9.004,3646,13.548,6172,22.533]],["keywords/1242",[]],["title/1243",[15,341.142,326,439.31,362,192.565,1214,449.574]],["content/1243",[1,6.198,5,6.007,9,1.768,15,4.716,21,2.673,38,8.354,41,5.505,59,3.625,79,6.468,91,5.761,108,7.868,140,2.683,141,6.587,178,9.433,187,4.816,190,12.337,204,6.558,220,8.585,246,6.405,251,5.114,257,4.034,270,12.419,281,9.661,297,5.704,362,5.686,429,6.139,434,5.819,443,4.445,481,6.984,486,5.798,500,5.094,513,6.451,600,3.148,824,2.793,840,4.056,973,4.114,1214,6.216,1294,5.704,1677,5.91,1838,11.099,2002,8.183,2238,18.512,2412,7.738,3506,6.369,3794,10.476,3842,6.33,4210,18.12,4808,9.923,6173,12.6,6174,12.6,6175,12.6,6176,12.6,6177,12.6,6178,12.6,6179,12.6]],["keywords/1243",[]],["title/1244",[41,304.723,6180,1102.381]],["content/1244",[5,8.818,9,2.595,41,5.343,46,6.44,78,10.252,175,12.355,251,7.507,319,6.005,340,7.723,408,7.723,429,6.833,562,9.533,565,9.35,603,7.2,820,5.54,1061,9.729,1581,6.972,1683,8.726,2137,12.607,2597,13.037,3440,12.814,3646,11.121,3657,11.912,3792,16.226,3794,8.631,3989,13.037,4441,15.552,5761,9.292,6180,15.552,6181,18.497,6182,18.497]],["keywords/1244",[]],["title/1245",[363,183.285,524,326.193]],["content/1245",[9,3.082,14,4.969,25,9.777,41,5.623,58,6.228,59,3.502,79,6.248,139,7.987,140,3.664,155,9.614,187,6.577,236,3.776,248,7.434,319,5.585,329,5.585,362,3.635,363,3.07,409,9.777,524,6.552,537,13.965,554,5.995,597,10.092,726,9.863,836,6.993,898,8.113,1352,10.566,1391,12.353,1469,13.965,1686,8.202,2005,12.126,2481,9.863,3794,8.028,4008,14.466,4661,13.192,5659,15.931,6183,17.205,6184,17.205,6185,13.192]],["keywords/1245",[]],["title/1246",[23,298.072,175,425.021,1954,410.308,2379,622.774,6186,732.281]],["content/1246",[]],["keywords/1246",[]],["title/1247",[175,704.651,6187,1311.126]],["content/1247",[9,2.148,23,7.673,30,3.712,41,3.559,50,3.818,59,5.165,67,8.111,96,10.708,108,5.832,144,4.732,148,8.354,172,10.994,174,4.634,175,13.637,187,5.853,197,8.111,263,7.944,264,7.599,268,9.51,383,8.94,413,7.892,417,5.238,440,6.393,467,1.388,613,4.528,674,10.607,696,13.432,716,7.553,729,9.206,766,7.036,797,10.278,931,4.835,1036,7.26,1078,8.702,1352,9.404,1480,9.186,1583,11.741,1898,9.991,1906,13.664,2279,8.556,2302,12.058,2379,12.058,2389,12.429,2412,9.404,3209,13.432,3701,10.607,4063,10.792,4144,14.617,4228,10.278,5132,13.432,5448,14.179,6180,12.874,6188,15.312,6189,15.312,6190,15.312,6191,15.312,6192,15.312]],["keywords/1247",[]],["title/1248",[41,162.326,175,375.368,319,226.737,931,220.544,2379,550.019,3401,612.676]],["content/1248",[1,4.629,9,2.789,23,7.491,41,5.584,59,4.89,140,4.233,175,10.682,319,6.452,352,11.016,360,12.487,363,2.778,408,10.03,523,7.764,860,10.382,931,6.276,1683,9.119,2379,15.652,2578,11.497,6193,19.875,6194,19.875]],["keywords/1248",[]],["title/1249",[377,726.706,6195,1311.126]],["content/1249",[8,7.666,9,2.824,41,4.677,59,4.097,174,6.09,175,10.816,319,6.533,377,13.416,379,11.34,384,18.635,441,15.431,562,10.372,784,12.227,1008,9.342,1018,7.858,1480,7.585,1583,15.431,6196,20.125,6197,20.125,6198,20.125]],["keywords/1249",[]],["title/1250",[175,577.911,3371,787.665,6199,995.701]],["content/1250",[8,7.432,9,2.738,41,4.535,59,3.972,174,5.905,175,10.486,191,14.292,219,12.908,222,10.336,301,10.192,316,9.011,349,12.731,374,10.994,390,4.155,404,7.937,407,18.067,413,10.056,562,10.056,659,14.292,667,10.994,1480,7.354,1583,14.961,4601,17.116,6200,19.512,6201,18.067,6202,19.512]],["keywords/1250",[]],["title/1251",[175,425.021,191,579.283,1024,475.483,4257,664.918,4592,693.72]],["content/1251",[38,8.578,90,6.352,175,13.374,191,18.228,287,5.477,363,3.191,374,10.303,404,6.109,467,2.069,613,5.407,667,10.303,711,10.135,741,11.932,746,8.36,840,7.348,872,11.11,931,5.774,1024,10.994,2145,8.765,2302,14.4,2581,12.274,3108,14.843,3968,16.041,4257,15.375,4592,16.041,6203,21.135,6204,22.825,6205,16.932,6206,18.286]],["keywords/1251",[]],["title/1252",[198,511.608,627,462.057,732,387.116,1024,419.935,3448,390.28,4504,587.239]],["content/1252",[9,2.566,23,6.892,41,4.25,59,3.722,175,9.828,198,13.394,219,12.097,316,8.445,374,10.303,390,4.861,467,2.256,500,7.392,550,21.135,627,12.097,732,10.135,872,11.11,973,8.124,1024,13.724,2400,12.274,2749,10.676,3051,14.021,3448,10.218,4504,15.375,4752,16.932,6207,18.286,6208,22.825,6209,18.286,6210,18.286,6211,18.286,6212,16.932]],["keywords/1252",[]],["title/1253",[149,466.727,2985,824.502,6213,943.268]],["content/1253",[26,8.439,58,7.586,140,3.408,149,6.945,174,6.342,175,13.834,176,14.518,205,6.138,209,9.431,219,13.864,264,11.597,316,7.39,329,5.194,363,3.895,365,14.816,390,3.408,443,8.245,467,1.9,490,8.664,500,6.468,624,4.237,746,7.316,777,10.304,931,5.053,1024,9.621,1054,12.269,1237,8.302,1512,9.016,1906,10.74,1986,7.847,3655,12.988,4257,13.453,4504,13.453,5342,14.036,6213,14.036,6214,16.001,6215,20.957,6216,16.001,6217,16.001]],["keywords/1253",[]],["title/1254",[139,423.07,840,293.389,931,287.785,6213,799.473]],["content/1254",[16,7.067,23,5.884,26,8.303,68,9.666,108,5.946,139,7.247,149,8.95,174,4.724,181,11.687,251,6.336,264,10.232,280,13.125,316,7.21,329,5.068,334,14.455,390,3.325,404,6.889,443,8.146,453,7.362,467,2.315,486,5.082,603,6.076,613,4.616,634,8.584,642,9.292,671,10.327,746,7.137,794,9.201,824,3.461,838,3.666,840,8.22,948,11.97,960,6.438,988,8.453,1024,12.398,1068,7.747,1352,9.587,1644,6.098,2412,9.587,2509,13.694,2611,11.687,6180,13.125,6205,14.455,6218,15.611,6219,23.089,6220,15.611,6221,15.611]],["keywords/1254",[]],["title/1255",[404,359.236,1024,646.526,2285,904.105]],["content/1255",[5,8.921,90,8.043,91,8.556,115,13.19,140,3.985,175,12.445,283,8.687,363,3.237,404,7.736,478,8.687,500,7.565,568,9.984,629,14.009,667,10.544,711,10.372,866,9.79,872,11.369,1024,13.922,1613,5.534,1736,11.9,2285,15.734,6186,17.328,6203,21.441,6222,18.713,6223,23.155,6224,18.713]],["keywords/1255",[]],["title/1256",[174,275.804,329,295.866,651,509.271,2610,378.942]],["content/1256",[23,8.04,41,4.958,45,16.799,59,4.342,68,8.396,175,11.465,268,13.248,603,8.303,651,11.92,3371,15.626,6199,19.753,6225,21.332,6226,21.332]],["keywords/1256",[]],["title/1257",[455,650.642,1619,814.264]],["content/1257",[]],["keywords/1257",[]],["title/1258",[21,228.102,358,364.573,545,190.861]],["content/1258",[1,3.093,9,2.592,41,3.086,59,5.089,85,5.898,136,7.613,140,4.526,273,5.329,274,4.263,310,4.36,358,8.188,362,2.806,363,3.495,434,6.133,467,1.204,500,7.47,545,4.438,566,7.085,613,7.856,623,8.808,688,12.56,692,9.013,824,5.686,848,5.433,944,3.676,1225,8.156,1245,9.199,1373,6.63,1385,4.656,1437,4.571,1480,6.964,1529,8.914,1610,5.843,1613,3.927,1708,10.779,2068,10.458,2546,9.727,2749,7.753,4248,10.182,4276,8.665,4494,10.458,6227,11.649,6228,11.649,6229,11.649,6230,16.209,6231,11.649,6232,11.649,6233,16.209]],["keywords/1258",[]],["title/1259",[358,364.573,613,317.989,667,605.896]],["content/1259",[1,2.118,9,3.065,14,2.057,15,3.404,21,1.929,41,2.113,50,4.254,59,4.21,122,2.032,133,7.695,215,2.517,222,10.148,273,5.966,274,2.919,275,9.869,285,3.796,286,6.019,287,6.195,358,8.615,363,3.947,486,2.96,545,4.444,600,5.169,613,7.404,692,9.414,766,4.178,824,3.102,944,6.67,947,7.649,982,2.436,1196,5.167,1366,5.892,1370,6.198,1473,11.095,1476,9.012,1480,5.275,1777,7.213,2749,8.171,3103,5.412,3276,6.661,3620,5.584,6234,6.661,6235,7.161,6236,7.161,6237,7.161,6238,7.161,6239,7.161,6240,7.161,6241,7.161,6242,7.161,6243,7.161,6244,7.161,6245,7.161,6246,7.161,6247,7.161,6248,10.251,6249,7.161,6250,7.161,6251,7.161,6252,7.161,6253,7.161,6254,7.161,6255,7.161,6256,7.161,6257,7.161,6258,7.161,6259,7.161,6260,7.161,6261,7.161,6262,7.161,6263,7.161,6264,7.161]],["keywords/1259",[]],["title/1260",[363,175.413,692,420.435,6234,579.283]],["content/1260",[9,2.685,30,3.388,40,7.685,58,5.059,59,2.845,78,7.746,79,5.075,90,4.854,122,5.248,129,10.716,140,4.649,144,4.319,148,11.91,183,10.716,215,6.042,222,7.403,262,7.511,287,4.186,358,7.401,363,3.282,382,10.843,421,7.403,449,7.746,467,1.979,505,5.835,524,5.431,545,2.481,613,4.133,614,9,677,5.787,692,6.413,728,5.5,743,5.323,1110,4.24,1254,9.85,1437,7.513,1480,5.267,1773,15.536,2070,5.584,2091,8.679,2619,13.046,3039,9.245,3517,9.381,3616,10.716,3860,11.282,5873,16.738,6234,10.237,6265,12.259,6266,16.79,6267,12.259,6268,12.259,6269,12.259,6270,12.259,6271,12.259,6272,16.79,6273,12.259,6274,12.259,6275,12.259,6276,12.259,6277,12.259]],["keywords/1260",[]],["title/1261",[363,175.413,692,420.435,6235,622.774]],["content/1261",[]],["keywords/1261",[]],["title/1262",[363,144.982,545,111.001,692,209.538,944,287.068,6236,492.484]],["content/1262",[14,3.368,41,5.601,122,3.327,144,4.6,163,10.491,171,5.478,174,4.505,187,5.69,218,7.524,273,5.762,274,4.778,285,8.34,286,5.251,287,5.983,358,5.047,363,3.756,390,4.802,449,8.25,486,6.503,545,4.593,556,4.652,558,5.794,600,6.021,623,7.096,625,6.611,677,6.164,692,4.987,824,5.342,838,3.496,947,6.674,982,6.733,1068,9.913,1294,6.738,1473,7.257,1480,5.61,2823,10.311,3510,10.687,3860,13.29,6237,11.722,6278,13.057,6279,13.057,6280,9.847,6281,13.057]],["keywords/1262",[]],["title/1263",[363,144.982,545,111.001,692,209.538,944,287.068,6238,492.484]],["content/1263",[]],["keywords/1263",[]],["title/1264",[363,144.982,545,111.001,692,209.538,944,287.068,6239,492.484]],["content/1264",[]],["keywords/1264",[]],["title/1265",[363,150.319,692,360.289,6240,846.801]],["content/1265",[]],["keywords/1265",[]],["title/1266",[59,231.161,692,380.503,6241,550.019,6242,550.019]],["content/1266",[]],["keywords/1266",[]],["title/1267",[363,150.319,692,360.289,6243,846.801]],["content/1267",[]],["keywords/1267",[]],["title/1268",[358,191.95,363,79.144,692,319.763,1476,364.588,2749,330.543,6244,445.847,6245,445.847]],["content/1268",[]],["keywords/1268",[]],["title/1269",[50,174.142,59,142.169,363,97.636,692,234.017,944,193.321,6246,550.019]],["content/1269",[9,2.915,56,12.367,59,4.229,215,5.751,363,2.905,556,4.839,1366,11.08,1473,10.13,1563,12.761,1564,13.558,1777,10.709,1817,13.069,3276,15.22,6282,18.227]],["keywords/1269",[]],["title/1270",[363,150.319,692,360.289,6247,846.801]],["content/1270",[]],["keywords/1270",[]],["title/1271",[363,175.413,692,264.972,944,218.893,6248,579.283]],["content/1271",[14,5.22,21,4.894,57,12.14,122,4.158,358,6.308,363,3.768,600,6.267,692,7.73,693,10.862,743,7.087,824,5.115,947,8.341,1366,9.714,1480,7.012,1613,5.502,1777,9.589,2161,10.23,3039,12.308,3419,14.265,3860,10.966,4512,15.102,6248,13.628,6283,16.32,6284,16.32]],["keywords/1271",[]],["title/1272",[363,175.413,692,264.972,944,218.893,6249,622.774]],["content/1272",[1,4.629,15,7.44,59,4.89,164,10.528,260,9.274,286,8.476,358,6.739,363,3.61,613,7.104,677,8.23,766,9.133,824,5.326,957,11.497,982,5.324,1196,11.295,2616,16.133,3620,12.206,6285,17.435]],["keywords/1272",[]],["title/1273",[59,218.881,692,360.289,6250,846.801]],["content/1273",[1,4.007,50,4.29,59,5.188,140,3.664,187,6.577,248,7.434,326,8.293,358,5.833,363,3.563,398,6.697,404,5.748,409,9.777,438,10.899,443,6.07,524,4.28,545,3.054,600,6.046,609,9.05,623,8.202,824,5.364,933,16.724,947,9.847,949,8.456,1423,12.126,6251,13.549,6252,13.549,6286,15.092,6287,15.092,6288,15.092,6289,15.092,6290,15.092]],["keywords/1273",[]],["title/1274",[59,218.881,692,360.289,6253,846.801]],["content/1274",[]],["keywords/1274",[]],["title/1275",[363,172.937,692,319.763,1476,364.588,2749,330.543,6254,445.847]],["content/1275",[]],["keywords/1275",[]],["title/1276",[363,150.319,692,360.289,6255,846.801]],["content/1276",[]],["keywords/1276",[]],["title/1277",[6256,1322.558]],["content/1277",[1,4.463,9,2.688,122,4.283,273,6.776,286,6.76,358,7.966,363,2.679,524,5.845,613,7.514,692,6.42,824,4.248,969,13.239,973,7.671,1332,13.505,1473,9.342,1677,11.021,5842,13.848,5843,16.111,5852,14.692,6280,12.676,6291,16.809]],["keywords/1277",[]],["title/1278",[6257,1322.558]],["content/1278",[1,4.384,9,3.261,41,5.401,122,5.884,140,4.009,188,9.125,236,4.131,251,7.639,273,5.429,286,6.641,323,7.493,358,7.879,363,3.249,443,6.641,475,4.862,571,10.043,613,6.872,692,6.307,824,4.173,973,6.145,1207,11.97,1473,9.177,1677,8.83,5842,11.095,6292,16.512]],["keywords/1278",[]],["title/1279",[1370,1144.672]],["content/1279",[1,4.517,9,3.321,41,5.501,122,5.29,140,4.13,188,9.401,236,4.256,251,7.871,273,6.826,323,7.72,358,8.025,513,9.93,524,4.825,613,7.554,692,6.498,824,4.299,973,6.332,1473,9.455,1677,9.097,5842,11.431,6293,17.012]],["keywords/1279",[]],["title/1280",[6258,1322.558]],["content/1280",[1,4.658,9,2.806,122,4.47,140,4.259,273,6.955,336,14.096,358,8.176,475,5.166,516,9.01,524,4.976,613,7.656,692,6.701,824,4.434,973,6.529,1473,9.751,1677,9.381,2248,11.366,5842,11.788,6294,17.544]],["keywords/1280",[]],["title/1281",[6259,1322.558]],["content/1281",[1,4.747,9,2.86,122,4.555,140,4.341,273,7.035,358,8.269,524,5.071,571,10.874,613,7.719,692,6.829,824,4.518,973,6.654,1473,9.937,1677,9.56,5842,12.013,6295,17.879]],["keywords/1281",[]],["title/1282",[275,527.207,545,248.836,6260,717.712]],["content/1282",[9,3.071,50,4.267,133,9.41,204,5.433,222,9.065,286,6.038,287,5.126,310,5.619,329,5.555,343,5.374,363,2.392,421,9.065,453,8.07,467,1.985,545,3.037,692,7.334,743,6.518,824,3.794,898,8.07,947,9.814,958,10.186,1208,7.145,1226,11.321,1329,9.563,1477,11.487,1480,6.45,1619,13.594,2248,9.725,2312,11.855,2547,10.397,2617,11.487,2735,11.664,3547,15.163,3860,10.087,4663,12.287,5842,12.901,6261,17.237,6280,11.321,6296,12.535,6297,12.535,6298,12.535,6299,12.535]],["keywords/1282",[]],["title/1283",[275,527.207,545,248.836,6262,717.712]],["content/1283",[9,3.114,122,4.96,204,5.552,222,9.263,287,7.302,310,5.742,329,5.677,343,5.492,363,2.445,421,9.263,453,8.246,545,3.104,692,7.436,824,3.877,898,8.246,909,10.307,947,9.95,958,10.408,1208,7.301,1226,11.569,1329,9.771,1480,6.591,1619,13.782,2312,12.114,2547,10.624,2617,11.738,2735,11.919,3103,10.408,3547,15.373,3860,10.307,4663,12.556,5842,13.08,6280,11.569,6296,12.809,6297,12.809,6298,12.809,6299,12.809]],["keywords/1283",[]],["title/1284",[275,527.207,545,248.836,6263,717.712]],["content/1284",[9,3.082,50,4.29,122,3.845,133,9.46,204,5.463,222,9.114,286,6.07,287,5.153,310,5.649,329,5.585,343,5.403,363,2.405,421,9.114,453,8.113,467,1.991,545,3.054,692,7.359,824,3.814,898,8.113,947,9.847,958,10.241,1208,7.183,1226,11.382,1329,9.614,1480,6.485,1619,13.64,2312,11.918,2547,10.453,2617,11.548,2682,12.126,2735,11.726,3547,15.215,3860,10.141,4663,12.353,5842,12.946,6264,17.296,6280,11.382,6296,12.603,6297,12.603,6298,12.603,6299,12.603]],["keywords/1284",[]],["title/1285",[358,444.527,613,387.726]],["content/1285",[46,6.832,193,4.125,286,7.191,363,3.781,380,9.227,524,5.071,597,9.365,692,8.172,719,8.73,842,6.543,1007,13.861,1390,12.383,6300,18.873,6301,18.873]],["keywords/1285",[]],["title/1286",[363,150.319,692,360.289,6300,995.701]],["content/1286",[46,5.709,48,8.082,144,6.299,193,4.125,199,12.658,260,9.51,363,3.41,524,5.071,688,10.239,842,7.83,947,9.138,949,7.847,1007,11.583,1390,12.383,1391,14.634,1466,14.634,1469,16.544,1470,10.575]],["keywords/1286",[]],["title/1287",[363,150.319,692,360.289,6301,995.701]],["content/1287",[46,6.938,48,8.293,286,7.379,363,3.462,380,9.468,487,9.468,597,9.61,688,10.506,719,8.958,842,6.714,947,9.377,1007,11.885,1466,15.016,1467,19.366]],["keywords/1287",[]],["title/1288",[455,650.642,1677,615.022]],["content/1288",[]],["keywords/1288",[]],["title/1289",[21,228.102,358,364.573,545,190.861]],["content/1289",[1,3.093,9,2.592,41,3.086,59,5.089,85,5.898,136,7.613,140,4.526,273,5.329,274,4.263,310,4.36,358,8.188,362,2.806,363,3.495,434,6.133,467,1.204,500,7.47,545,4.438,566,7.085,613,7.856,623,8.808,688,12.56,692,9.013,824,5.686,848,5.433,944,3.676,1225,8.156,1245,9.199,1373,6.63,1385,4.656,1437,4.571,1480,6.964,1529,8.914,1610,5.843,1613,3.927,1708,10.779,2068,10.458,2546,9.727,2749,7.753,4248,10.182,4276,8.665,4494,10.458,6227,11.649,6228,11.649,6229,11.649,6230,16.209,6231,11.649,6232,11.649,6233,16.209]],["keywords/1289",[]],["title/1290",[358,364.573,613,317.989,667,605.896]],["content/1290",[1,2.118,9,3.065,14,2.057,15,3.404,21,1.929,41,2.113,50,4.254,59,4.21,122,2.032,133,7.695,215,2.517,222,10.148,273,5.966,274,2.919,275,9.869,285,3.796,286,6.019,287,6.195,358,8.615,363,3.947,486,2.96,545,4.444,600,5.169,613,7.404,692,9.414,766,4.178,824,3.102,944,6.67,947,7.649,982,2.436,1196,5.167,1366,5.892,1370,6.198,1473,11.095,1476,9.012,1480,5.275,1777,7.213,2749,8.171,3103,5.412,3276,6.661,3620,5.584,6234,6.661,6235,7.161,6236,7.161,6237,7.161,6238,7.161,6239,7.161,6240,7.161,6241,7.161,6242,7.161,6243,7.161,6244,7.161,6245,7.161,6246,7.161,6247,7.161,6248,10.251,6249,7.161,6250,7.161,6251,7.161,6252,7.161,6253,7.161,6254,7.161,6255,7.161,6256,7.161,6257,7.161,6258,7.161,6259,7.161,6260,7.161,6261,7.161,6262,7.161,6263,7.161,6264,7.161]],["keywords/1290",[]],["title/1291",[363,175.413,692,420.435,6234,579.283]],["content/1291",[9,2.685,30,3.388,40,7.685,58,5.059,59,2.845,78,7.746,79,5.075,90,4.854,122,5.248,129,10.716,140,4.649,144,4.319,148,11.91,183,10.716,215,6.042,222,7.403,262,7.511,287,4.186,358,7.401,363,3.282,382,10.843,421,7.403,449,7.746,467,1.979,505,5.835,524,5.431,545,2.481,613,4.133,614,9,677,5.787,692,6.413,728,5.5,743,5.323,1110,4.24,1254,9.85,1437,7.513,1480,5.267,1773,15.536,2070,5.584,2091,8.679,2619,13.046,3039,9.245,3517,9.381,3616,10.716,3860,11.282,5873,16.738,6234,10.237,6265,12.259,6266,16.79,6267,12.259,6268,12.259,6269,12.259,6270,12.259,6271,12.259,6272,16.79,6273,12.259,6274,12.259,6275,12.259,6276,12.259,6277,12.259]],["keywords/1291",[]],["title/1292",[363,175.413,692,420.435,6235,622.774]],["content/1292",[]],["keywords/1292",[]],["title/1293",[363,144.982,545,111.001,692,209.538,944,287.068,6236,492.484]],["content/1293",[14,3.368,41,5.601,122,3.327,144,4.6,163,10.491,171,5.478,174,4.505,187,5.69,218,7.524,273,5.762,274,4.778,285,8.34,286,5.251,287,5.983,358,5.047,363,3.756,390,4.802,449,8.25,486,6.503,545,4.593,556,4.652,558,5.794,600,6.021,623,7.096,625,6.611,677,6.164,692,4.987,824,5.342,838,3.496,947,6.674,982,6.733,1068,9.913,1294,6.738,1473,7.257,1480,5.61,2823,10.311,3510,10.687,3860,13.29,6237,11.722,6278,13.057,6279,13.057,6280,9.847,6281,13.057]],["keywords/1293",[]],["title/1294",[363,144.982,545,111.001,692,209.538,944,287.068,6238,492.484]],["content/1294",[]],["keywords/1294",[]],["title/1295",[363,144.982,545,111.001,692,209.538,944,287.068,6239,492.484]],["content/1295",[]],["keywords/1295",[]],["title/1296",[363,150.319,692,360.289,6240,846.801]],["content/1296",[]],["keywords/1296",[]],["title/1297",[59,231.161,692,380.503,6241,550.019,6242,550.019]],["content/1297",[]],["keywords/1297",[]],["title/1298",[363,150.319,692,360.289,6243,846.801]],["content/1298",[]],["keywords/1298",[]],["title/1299",[358,191.95,363,79.144,692,319.763,1476,364.588,2749,330.543,6244,445.847,6245,445.847]],["content/1299",[]],["keywords/1299",[]],["title/1300",[50,174.142,59,142.169,363,97.636,692,234.017,944,193.321,6246,550.019]],["content/1300",[9,2.915,56,12.367,59,4.229,215,5.751,363,2.905,556,4.839,1366,11.08,1473,10.13,1563,12.761,1564,13.558,1777,10.709,1817,13.069,3276,15.22,6282,18.227]],["keywords/1300",[]],["title/1301",[363,150.319,692,360.289,6247,846.801]],["content/1301",[]],["keywords/1301",[]],["title/1302",[363,175.413,692,264.972,944,218.893,6248,579.283]],["content/1302",[14,5.22,21,4.894,57,12.14,122,4.158,358,6.308,363,3.768,600,6.267,692,7.73,693,10.862,743,7.087,824,5.115,947,8.341,1366,9.714,1480,7.012,1613,5.502,1777,9.589,2161,10.23,3039,12.308,3419,14.265,3860,10.966,4512,15.102,6248,13.628,6283,16.32,6284,16.32]],["keywords/1302",[]],["title/1303",[363,175.413,692,264.972,944,218.893,6249,622.774]],["content/1303",[1,4.629,15,7.44,59,4.89,164,10.528,260,9.274,286,8.476,358,6.739,363,3.61,613,7.104,677,8.23,766,9.133,824,5.326,957,11.497,982,5.324,1196,11.295,2616,16.133,3620,12.206,6285,17.435]],["keywords/1303",[]],["title/1304",[59,218.881,692,360.289,6250,846.801]],["content/1304",[1,4.007,50,4.29,59,5.188,140,3.664,187,6.577,248,7.434,326,8.293,358,5.833,363,3.563,398,6.697,404,5.748,409,9.777,438,10.899,443,6.07,524,4.28,545,3.054,600,6.046,609,9.05,623,8.202,824,5.364,933,16.724,947,9.847,949,8.456,1423,12.126,6251,13.549,6252,13.549,6286,15.092,6287,15.092,6288,15.092,6289,15.092,6290,15.092]],["keywords/1304",[]],["title/1305",[59,218.881,692,360.289,6253,846.801]],["content/1305",[]],["keywords/1305",[]],["title/1306",[363,172.937,692,319.763,1476,364.588,2749,330.543,6254,445.847]],["content/1306",[]],["keywords/1306",[]],["title/1307",[363,150.319,692,360.289,6255,846.801]],["content/1307",[]],["keywords/1307",[]],["title/1308",[6256,1322.558]],["content/1308",[1,4.463,9,2.688,122,4.283,273,6.776,286,6.76,358,7.966,363,2.679,524,5.845,613,7.514,692,6.42,824,4.248,969,13.239,973,7.671,1332,13.505,1473,9.342,1677,11.021,5842,13.848,5843,16.111,5852,14.692,6280,12.676,6291,16.809]],["keywords/1308",[]],["title/1309",[6257,1322.558]],["content/1309",[1,4.384,9,3.261,41,5.401,122,5.884,140,4.009,188,9.125,236,4.131,251,7.639,273,5.429,286,6.641,323,7.493,358,7.879,363,3.249,443,6.641,475,4.862,571,10.043,613,6.872,692,6.307,824,4.173,973,6.145,1207,11.97,1473,9.177,1677,8.83,5842,11.095,6292,16.512]],["keywords/1309",[]],["title/1310",[1370,1144.672]],["content/1310",[1,4.517,9,3.321,41,5.501,122,5.29,140,4.13,188,9.401,236,4.256,251,7.871,273,6.826,323,7.72,358,8.025,513,9.93,524,4.825,613,7.554,692,6.498,824,4.299,973,6.332,1473,9.455,1677,9.097,5842,11.431,6293,17.012]],["keywords/1310",[]],["title/1311",[6258,1322.558]],["content/1311",[1,4.658,9,2.806,122,4.47,140,4.259,273,6.955,336,14.096,358,8.176,475,5.166,516,9.01,524,4.976,613,7.656,692,6.701,824,4.434,973,6.529,1473,9.751,1677,9.381,2248,11.366,5842,11.788,6294,17.544]],["keywords/1311",[]],["title/1312",[6259,1322.558]],["content/1312",[1,4.747,9,2.86,122,4.555,140,4.341,273,7.035,358,8.269,524,5.071,571,10.874,613,7.719,692,6.829,824,4.518,973,6.654,1473,9.937,1677,9.56,5842,12.013,6295,17.879]],["keywords/1312",[]],["title/1313",[275,527.207,545,248.836,6260,717.712]],["content/1313",[9,3.071,50,4.267,133,9.41,204,5.433,222,9.065,286,6.038,287,5.126,310,5.619,329,5.555,343,5.374,363,2.392,421,9.065,453,8.07,467,1.985,545,3.037,692,7.334,743,6.518,824,3.794,898,8.07,947,9.814,958,10.186,1208,7.145,1226,11.321,1329,9.563,1477,11.487,1480,6.45,1619,13.594,2248,9.725,2312,11.855,2547,10.397,2617,11.487,2735,11.664,3547,15.163,3860,10.087,4663,12.287,5842,12.901,6261,17.237,6280,11.321,6296,12.535,6297,12.535,6298,12.535,6299,12.535]],["keywords/1313",[]],["title/1314",[275,527.207,545,248.836,6262,717.712]],["content/1314",[9,3.114,122,4.96,204,5.552,222,9.263,287,7.302,310,5.742,329,5.677,343,5.492,363,2.445,421,9.263,453,8.246,545,3.104,692,7.436,824,3.877,898,8.246,909,10.307,947,9.95,958,10.408,1208,7.301,1226,11.569,1329,9.771,1480,6.591,1619,13.782,2312,12.114,2547,10.624,2617,11.738,2735,11.919,3103,10.408,3547,15.373,3860,10.307,4663,12.556,5842,13.08,6280,11.569,6296,12.809,6297,12.809,6298,12.809,6299,12.809]],["keywords/1314",[]],["title/1315",[275,527.207,545,248.836,6263,717.712]],["content/1315",[9,3.082,50,4.29,122,3.845,133,9.46,204,5.463,222,9.114,286,6.07,287,5.153,310,5.649,329,5.585,343,5.403,363,2.405,421,9.114,453,8.113,467,1.991,545,3.054,692,7.359,824,3.814,898,8.113,947,9.847,958,10.241,1208,7.183,1226,11.382,1329,9.614,1480,6.485,1619,13.64,2312,11.918,2547,10.453,2617,11.548,2682,12.126,2735,11.726,3547,15.215,3860,10.141,4663,12.353,5842,12.946,6264,17.296,6280,11.382,6296,12.603,6297,12.603,6298,12.603,6299,12.603]],["keywords/1315",[]],["title/1316",[360,823.767,455,650.642]],["content/1316",[]],["keywords/1316",[]],["title/1317",[21,228.102,358,364.573,545,190.861]],["content/1317",[1,3.093,9,2.592,41,3.086,59,5.089,85,5.898,136,7.613,140,4.526,273,5.329,274,4.263,310,4.36,358,8.188,362,2.806,363,3.495,434,6.133,467,1.204,500,7.47,545,4.438,566,7.085,613,7.856,623,8.808,688,12.56,692,9.013,824,5.686,848,5.433,944,3.676,1225,8.156,1245,9.199,1373,6.63,1385,4.656,1437,4.571,1480,6.964,1529,8.914,1610,5.843,1613,3.927,1708,10.779,2068,10.458,2546,9.727,2749,7.753,4248,10.182,4276,8.665,4494,10.458,6227,11.649,6228,11.649,6229,11.649,6230,16.209,6231,11.649,6232,11.649,6233,16.209]],["keywords/1317",[]],["title/1318",[358,364.573,613,317.989,667,605.896]],["content/1318",[1,2.118,9,3.065,14,2.057,15,3.404,21,1.929,41,2.113,50,4.254,59,4.21,122,2.032,133,7.695,215,2.517,222,10.148,273,5.966,274,2.919,275,9.869,285,3.796,286,6.019,287,6.195,358,8.615,363,3.947,486,2.96,545,4.444,600,5.169,613,7.404,692,9.414,766,4.178,824,3.102,944,6.67,947,7.649,982,2.436,1196,5.167,1366,5.892,1370,6.198,1473,11.095,1476,9.012,1480,5.275,1777,7.213,2749,8.171,3103,5.412,3276,6.661,3620,5.584,6234,6.661,6235,7.161,6236,7.161,6237,7.161,6238,7.161,6239,7.161,6240,7.161,6241,7.161,6242,7.161,6243,7.161,6244,7.161,6245,7.161,6246,7.161,6247,7.161,6248,10.251,6249,7.161,6250,7.161,6251,7.161,6252,7.161,6253,7.161,6254,7.161,6255,7.161,6256,7.161,6257,7.161,6258,7.161,6259,7.161,6260,7.161,6261,7.161,6262,7.161,6263,7.161,6264,7.161]],["keywords/1318",[]],["title/1319",[363,175.413,692,420.435,6234,579.283]],["content/1319",[9,2.685,30,3.388,40,7.685,58,5.059,59,2.845,78,7.746,79,5.075,90,4.854,122,5.248,129,10.716,140,4.649,144,4.319,148,11.91,183,10.716,215,6.042,222,7.403,262,7.511,287,4.186,358,7.401,363,3.282,382,10.843,421,7.403,449,7.746,467,1.979,505,5.835,524,5.431,545,2.481,613,4.133,614,9,677,5.787,692,6.413,728,5.5,743,5.323,1110,4.24,1254,9.85,1437,7.513,1480,5.267,1773,15.536,2070,5.584,2091,8.679,2619,13.046,3039,9.245,3517,9.381,3616,10.716,3860,11.282,5873,16.738,6234,10.237,6265,12.259,6266,16.79,6267,12.259,6268,12.259,6269,12.259,6270,12.259,6271,12.259,6272,16.79,6273,12.259,6274,12.259,6275,12.259,6276,12.259,6277,12.259]],["keywords/1319",[]],["title/1320",[363,175.413,692,420.435,6235,622.774]],["content/1320",[]],["keywords/1320",[]],["title/1321",[363,144.982,545,111.001,692,209.538,944,287.068,6236,492.484]],["content/1321",[14,3.368,41,5.601,122,3.327,144,4.6,163,10.491,171,5.478,174,4.505,187,5.69,218,7.524,273,5.762,274,4.778,285,8.34,286,5.251,287,5.983,358,5.047,363,3.756,390,4.802,449,8.25,486,6.503,545,4.593,556,4.652,558,5.794,600,6.021,623,7.096,625,6.611,677,6.164,692,4.987,824,5.342,838,3.496,947,6.674,982,6.733,1068,9.913,1294,6.738,1473,7.257,1480,5.61,2823,10.311,3510,10.687,3860,13.29,6237,11.722,6278,13.057,6279,13.057,6280,9.847,6281,13.057]],["keywords/1321",[]],["title/1322",[363,144.982,545,111.001,692,209.538,944,287.068,6238,492.484]],["content/1322",[]],["keywords/1322",[]],["title/1323",[363,144.982,545,111.001,692,209.538,944,287.068,6239,492.484]],["content/1323",[]],["keywords/1323",[]],["title/1324",[363,150.319,692,360.289,6240,846.801]],["content/1324",[]],["keywords/1324",[]],["title/1325",[59,231.161,692,380.503,6241,550.019,6242,550.019]],["content/1325",[]],["keywords/1325",[]],["title/1326",[363,150.319,692,360.289,6243,846.801]],["content/1326",[]],["keywords/1326",[]],["title/1327",[358,191.95,363,79.144,692,319.763,1476,364.588,2749,330.543,6244,445.847,6245,445.847]],["content/1327",[]],["keywords/1327",[]],["title/1328",[50,174.142,59,142.169,363,97.636,692,234.017,944,193.321,6246,550.019]],["content/1328",[9,2.915,56,12.367,59,4.229,215,5.751,363,2.905,556,4.839,1366,11.08,1473,10.13,1563,12.761,1564,13.558,1777,10.709,1817,13.069,3276,15.22,6282,18.227]],["keywords/1328",[]],["title/1329",[363,150.319,692,360.289,6247,846.801]],["content/1329",[]],["keywords/1329",[]],["title/1330",[363,175.413,692,264.972,944,218.893,6248,579.283]],["content/1330",[14,5.22,21,4.894,57,12.14,122,4.158,358,6.308,363,3.768,600,6.267,692,7.73,693,10.862,743,7.087,824,5.115,947,8.341,1366,9.714,1480,7.012,1613,5.502,1777,9.589,2161,10.23,3039,12.308,3419,14.265,3860,10.966,4512,15.102,6248,13.628,6283,16.32,6284,16.32]],["keywords/1330",[]],["title/1331",[363,175.413,692,264.972,944,218.893,6249,622.774]],["content/1331",[1,4.629,15,7.44,59,4.89,164,10.528,260,9.274,286,8.476,358,6.739,363,3.61,613,7.104,677,8.23,766,9.133,824,5.326,957,11.497,982,5.324,1196,11.295,2616,16.133,3620,12.206,6285,17.435]],["keywords/1331",[]],["title/1332",[59,218.881,692,360.289,6250,846.801]],["content/1332",[1,4.007,50,4.29,59,5.188,140,3.664,187,6.577,248,7.434,326,8.293,358,5.833,363,3.563,398,6.697,404,5.748,409,9.777,438,10.899,443,6.07,524,4.28,545,3.054,600,6.046,609,9.05,623,8.202,824,5.364,933,16.724,947,9.847,949,8.456,1423,12.126,6251,13.549,6252,13.549,6286,15.092,6287,15.092,6288,15.092,6289,15.092,6290,15.092]],["keywords/1332",[]],["title/1333",[59,218.881,692,360.289,6253,846.801]],["content/1333",[]],["keywords/1333",[]],["title/1334",[363,172.937,692,319.763,1476,364.588,2749,330.543,6254,445.847]],["content/1334",[]],["keywords/1334",[]],["title/1335",[363,150.319,692,360.289,6255,846.801]],["content/1335",[]],["keywords/1335",[]],["title/1336",[6256,1322.558]],["content/1336",[1,4.463,9,2.688,122,4.283,273,6.776,286,6.76,358,7.966,363,2.679,524,5.845,613,7.514,692,6.42,824,4.248,969,13.239,973,7.671,1332,13.505,1473,9.342,1677,11.021,5842,13.848,5843,16.111,5852,14.692,6280,12.676,6291,16.809]],["keywords/1336",[]],["title/1337",[6257,1322.558]],["content/1337",[1,4.384,9,3.261,41,5.401,122,5.884,140,4.009,188,9.125,236,4.131,251,7.639,273,5.429,286,6.641,323,7.493,358,7.879,363,3.249,443,6.641,475,4.862,571,10.043,613,6.872,692,6.307,824,4.173,973,6.145,1207,11.97,1473,9.177,1677,8.83,5842,11.095,6292,16.512]],["keywords/1337",[]],["title/1338",[1370,1144.672]],["content/1338",[1,4.517,9,3.321,41,5.501,122,5.29,140,4.13,188,9.401,236,4.256,251,7.871,273,6.826,323,7.72,358,8.025,513,9.93,524,4.825,613,7.554,692,6.498,824,4.299,973,6.332,1473,9.455,1677,9.097,5842,11.431,6293,17.012]],["keywords/1338",[]],["title/1339",[6258,1322.558]],["content/1339",[1,4.658,9,2.806,122,4.47,140,4.259,273,6.955,336,14.096,358,8.176,475,5.166,516,9.01,524,4.976,613,7.656,692,6.701,824,4.434,973,6.529,1473,9.751,1677,9.381,2248,11.366,5842,11.788,6294,17.544]],["keywords/1339",[]],["title/1340",[6259,1322.558]],["content/1340",[1,4.747,9,2.86,122,4.555,140,4.341,273,7.035,358,8.269,524,5.071,571,10.874,613,7.719,692,6.829,824,4.518,973,6.654,1473,9.937,1677,9.56,5842,12.013,6295,17.879]],["keywords/1340",[]],["title/1341",[275,527.207,545,248.836,6260,717.712]],["content/1341",[9,3.071,50,4.267,133,9.41,204,5.433,222,9.065,286,6.038,287,5.126,310,5.619,329,5.555,343,5.374,363,2.392,421,9.065,453,8.07,467,1.985,545,3.037,692,7.334,743,6.518,824,3.794,898,8.07,947,9.814,958,10.186,1208,7.145,1226,11.321,1329,9.563,1477,11.487,1480,6.45,1619,13.594,2248,9.725,2312,11.855,2547,10.397,2617,11.487,2735,11.664,3547,15.163,3860,10.087,4663,12.287,5842,12.901,6261,17.237,6280,11.321,6296,12.535,6297,12.535,6298,12.535,6299,12.535]],["keywords/1341",[]],["title/1342",[275,527.207,545,248.836,6262,717.712]],["content/1342",[9,3.114,122,4.96,204,5.552,222,9.263,287,7.302,310,5.742,329,5.677,343,5.492,363,2.445,421,9.263,453,8.246,545,3.104,692,7.436,824,3.877,898,8.246,909,10.307,947,9.95,958,10.408,1208,7.301,1226,11.569,1329,9.771,1480,6.591,1619,13.782,2312,12.114,2547,10.624,2617,11.738,2735,11.919,3103,10.408,3547,15.373,3860,10.307,4663,12.556,5842,13.08,6280,11.569,6296,12.809,6297,12.809,6298,12.809,6299,12.809]],["keywords/1342",[]],["title/1343",[275,527.207,545,248.836,6263,717.712]],["content/1343",[9,3.082,50,4.29,122,3.845,133,9.46,204,5.463,222,9.114,286,6.07,287,5.153,310,5.649,329,5.585,343,5.403,363,2.405,421,9.114,453,8.113,467,1.991,545,3.054,692,7.359,824,3.814,898,8.113,947,9.847,958,10.241,1208,7.183,1226,11.382,1329,9.614,1480,6.485,1619,13.64,2312,11.918,2547,10.453,2617,11.548,2682,12.126,2735,11.726,3547,15.215,3860,10.141,4663,12.353,5842,12.946,6264,17.296,6280,11.382,6296,12.603,6297,12.603,6298,12.603,6299,12.603]],["keywords/1343",[]],["title/1344",[235,618.298,236,287.742]],["content/1344",[]],["keywords/1344",[]],["title/1345",[475,277.756,587,409.585,1048,426.406]],["content/1345",[1,3.982,9,3.251,15,4.453,46,4.789,50,2.966,90,4.133,144,3.677,184,9.658,215,6.055,218,10.115,230,7.454,235,5.611,236,3.752,255,3.782,285,4.967,343,3.737,345,3.554,390,2.534,393,7.013,438,5.904,455,9.93,467,1.55,475,4.416,486,6.514,520,9.337,545,2.112,556,2.771,587,4.532,702,6.542,731,7.082,756,8.992,794,7.013,804,2.622,838,4.015,842,3.819,860,6.215,872,7.228,1046,16.243,1048,6.779,1107,8.242,1108,11.843,1146,10.115,1237,8.87,1253,4.597,1261,5.413,1373,5.94,1470,6.173,1610,5.235,1896,5.164,1994,9.369,2175,13.057,2311,10.525,2625,12.05,2637,10.835,2655,11.017,3433,19.189,3525,9.123,3609,9.369,3789,4.967,3805,11.017,3806,10.004,3812,7.566,4829,13.877,4975,10.617,5099,16.243,5905,6.215,6032,9.658,6038,14.658,6169,16.825,6302,11.898,6303,11.898,6304,11.898,6305,11.898,6306,11.898,6307,17.096,6308,17.096,6309,11.898,6310,10.004,6311,11.898,6312,11.898,6313,11.898]],["keywords/1345",[]],["title/1346",[475,277.756,1048,426.406,1215,284.104]],["content/1346",[41,3.7,46,5.851,50,6.171,61,7.675,90,7.256,91,7.279,129,17.876,140,4.965,184,12.924,205,6.108,235,9.851,236,5.116,283,7.391,329,5.169,345,4.756,357,5.96,428,11.432,429,6.209,475,4.113,486,5.183,490,8.621,600,3.978,617,9.573,892,6.22,900,6.411,930,6.593,983,6.849,1008,9.697,1048,8.283,1105,11.222,1158,9.21,1215,5.519,1234,13.387,1558,10.003,1873,13.387,3812,13.284,4832,12.208,6314,15.921,6315,15.921,6316,15.921,6317,15.921,6318,15.921,6319,15.921,6320,15.921,6321,15.921,6322,15.921,6323,15.921]],["keywords/1346",[]],["title/1347",[14,379.983]],["content/1347",[]],["keywords/1347",[]],["title/1348",[6324,1473.221]],["content/1348",[2,4.425,9,1.516,14,1.068,40,2.596,41,1.899,50,1.177,58,3.911,59,2.962,63,1.792,79,2.968,97,2.077,122,2.415,140,1.005,141,2.273,144,1.459,157,2.127,193,0.955,236,1.036,255,1.808,258,2.66,262,2.537,273,2.357,287,1.414,319,2.653,329,3.507,343,1.483,345,3.228,362,0.998,363,2.528,390,3.641,417,1.615,467,2.631,502,3.271,524,1.175,545,1.45,548,1.865,556,3.712,558,3.181,568,5.764,581,3.478,600,3.218,661,3.366,764,1.996,804,5.635,807,4.214,828,1.448,832,0.567,838,1.109,842,1.516,847,0.646,885,6.15,886,2.013,889,1.262,900,1.901,924,8.049,925,7.228,976,3.091,993,2.576,1004,2.402,1014,4.873,1018,2.653,1048,5.107,1110,1.432,1120,1.887,1205,2.23,1215,2.159,1223,3.534,1613,2.417,1630,1.61,1644,3.195,1896,2.049,2006,1.692,2137,5.57,2198,4.685,2294,1.591,2702,3.534,2729,3.218,3387,4.864,3460,2.638,3543,1.596,3692,3.832,3694,3.97,4381,9.769,4633,3.674,4881,5.406,5037,3.218,5062,1.61,5064,1.61,6324,9.477,6325,1.615,6326,3.123,6327,1.615,6328,2.731,6329,3.218,6330,3.97,6331,3.97,6332,3.002,6333,3.271,6334,3.39,6335,3.832,6336,3.271,6337,3.271,6338,3.271,6339,1.615,6340,6.871,6341,3.97,6342,4.142,6343,3.97,6344,1.767,6345,4.142,6346,4.721,6347,3.271,6348,3.832,6349,3.832,6350,4.721,6351,3.271,6352,3.832,6353,1.767,6354,5.57,6355,3.218,6356,6.871,6357,3.169,6358,3.832,6359,4.142,6360,4.142,6361,4.142,6362,4.142,6363,3.97,6364,3.97,6365,4.142,6366,3.218,6367,3.271,6368,4.142,6369,4.721,6370,3.04,6371,4.142,6372,3.271,6373,3.169,6374,3.832,6375,3.271,6376,3.271,6377,3.271,6378,3.271,6379,4.372,6380,3.832,6381,15.831,6382,1.824,6383,1.824,6384,1.824,6385,1.824,6386,1.824,6387,1.824,6388,1.824,6389,1.824,6390,4.721,6391,4.721,6392,10.004,6393,4.721,6394,4.721,6395,4.372,6396,3.718,6397,3.718,6398,4.721,6399,4.142,6400,6.633,6401,3.271,6402,4.142,6403,4.372]],["keywords/1348",[]],["title/1349",[6404,1555.113]],["content/1349",[9,1.458,122,3.461,141,4.306,193,2.103,236,2.281,255,2.299,258,5.041,273,2.997,343,3.264,345,5.529,362,2.196,363,3.33,390,4.898,467,2.582,545,1.844,556,4.31,581,5.958,600,3.869,624,2.752,661,5.765,804,4.833,807,3.811,828,3.186,832,1.247,838,2.44,847,1.421,885,5.445,889,2.777,924,8.317,925,7.173,1014,5.659,1110,3.153,1205,4.225,1215,4.091,1613,4.579,1630,3.544,1644,5.473,2006,3.725,2294,3.502,3543,3.513,4633,6.293,5062,3.544,5064,3.544,6325,3.555,6326,6.875,6327,3.555,6339,3.555,6344,3.89,6353,3.89,6382,4.015,6383,4.015,6384,4.015,6385,4.015,6386,4.015,6387,4.015,6388,4.015,6389,4.015,6404,9.622,6405,6.454,6406,9.116,6407,9.116,6408,9.116,6409,9.116,6410,10.392,6411,10.392]],["keywords/1349",[]],["title/1350",[3392,1144.672]],["content/1350",[9,0.66,122,1.822,141,2.267,193,0.953,236,1.033,255,1.041,258,2.654,273,1.358,343,1.478,345,3.22,362,0.995,363,2.386,390,3.388,467,2.644,545,0.836,548,7.134,556,2.511,581,3.47,600,2.037,624,1.247,661,3.358,699,1.799,804,5.662,807,4.319,823,2.256,828,1.443,832,0.565,838,1.106,847,0.644,885,7.28,889,1.258,924,8.215,925,7.379,1004,2.395,1014,5.22,1110,1.428,1205,2.224,1215,2.154,1613,2.41,1630,1.606,1644,3.188,2006,1.687,2294,1.587,3392,3.208,3543,1.591,4633,3.666,5062,1.606,5064,1.606,6325,1.61,6326,3.114,6327,1.61,6328,2.723,6329,3.208,6330,3.958,6331,3.958,6332,2.994,6339,1.61,6340,3.958,6341,3.958,6342,4.129,6343,3.958,6344,1.762,6345,4.129,6353,1.762,6354,3.208,6356,3.958,6358,3.821,6359,4.129,6360,4.129,6361,4.129,6362,4.129,6363,3.958,6364,3.958,6365,4.129,6368,4.129,6370,3.031,6371,4.129,6374,3.821,6379,4.359,6382,1.819,6383,1.819,6384,1.819,6385,1.819,6386,1.819,6387,1.819,6388,1.819,6389,1.819,6406,4.129,6407,4.129,6408,4.129,6409,4.129,6412,3.524,6413,2.609,6414,4.359,6415,4.359,6416,4.359,6417,4.129,6418,4.359,6419,4.359,6420,4.359,6421,4.359,6422,4.359,6423,4.359,6424,4.359,6425,3.821,6426,4.359,6427,4.359,6428,4.129,6429,4.129,6430,4.359,6431,4.359,6432,4.359,6433,4.359,6434,4.359,6435,4.359,6436,4.359,6437,4.129,6438,4.129,6439,4.359,6440,3.524,6441,4.359,6442,4.129,6443,4.359,6444,4.359,6445,4.359,6446,4.359,6447,4.359,6448,4.359,6449,4.359,6450,3.707,6451,4.359,6452,4.359,6453,4.359,6454,4.129,6455,4.129,6456,4.129,6457,4.129,6458,4.359,6459,4.359,6460,4.359,6461,4.129,6462,4.359,6463,4.359,6464,4.359,6465,4.359,6466,4.129,6467,3.38,6468,4.359]],["keywords/1350",[]],["title/1351",[6469,1555.113]],["content/1351",[9,1.504,14,3.848,16,2.115,26,3.261,30,3.1,31,1.714,38,2.192,40,2.57,41,2.972,48,1.853,50,2.019,58,6.514,59,3.837,63,6.014,108,1.78,122,2.858,139,2.169,140,3.08,141,2.981,144,1.444,149,2.028,157,2.105,189,3.009,193,0.946,204,1.484,215,1.293,230,4.674,236,1.026,251,3.287,255,1.034,258,2.637,259,2.204,260,3.779,270,2.81,273,4.171,287,1.4,306,5.03,319,1.517,323,4.267,328,2.066,343,1.468,345,3.202,357,3.032,362,0.987,363,2.83,374,2.633,390,3.622,417,2.771,429,1.389,440,7.1,443,1.649,453,3.82,467,2.594,475,2.769,478,4.976,486,1.521,489,2.019,498,3.185,520,5.967,524,2.015,526,2.066,541,4.327,545,3.87,554,2.822,556,4.563,558,3.152,581,4.117,597,4.925,600,3.959,603,3.152,624,2.145,633,6.574,661,3.339,688,2.347,692,4.285,693,4.729,730,2.839,731,2.781,743,3.085,804,2.818,807,3.124,812,1.584,820,1.4,828,1.433,832,0.561,838,1.097,847,1.108,860,2.441,876,1.927,885,2.383,889,1.249,924,6.103,925,6.16,928,2.458,944,2.967,949,1.799,983,6.221,1014,1.429,1018,1.517,1048,1.853,1057,3.185,1110,1.418,1137,3.355,1146,4.094,1163,2.55,1205,2.925,1215,2.832,1227,3.484,1237,2.425,1274,7.306,1294,3.667,1333,4.685,1385,1.638,1480,3.053,1613,2.395,1630,2.763,1644,3.17,1817,2.475,1954,8.221,2006,1.675,2016,3.137,2173,3.929,2294,2.73,2657,4.774,3387,2.781,3391,9.182,3392,10.799,3543,2.738,3559,4.327,3610,4.327,3675,3.137,3794,2.181,3812,2.972,4143,12.159,4217,3.091,4381,5.437,4386,4.099,4445,3.423,4459,3.423,4505,4.327,4633,3.645,5062,2.763,5064,2.763,5757,4.099,6156,4.327,6212,4.327,6325,1.599,6326,3.091,6327,1.599,6329,3.185,6332,2.972,6339,1.599,6340,6.81,6341,10.752,6344,1.749,6353,1.749,6354,7.306,6392,13.391,6396,6.378,6399,4.099,6401,5.611,6405,2.902,6440,6.063,6450,8.442,6469,11.841,6470,10.719,6471,12.788,6472,4.673,6473,4.327,6474,4.673,6475,4.673,6476,4.673,6477,4.673,6478,4.673,6479,4.673,6480,4.673,6481,8.099,6482,12.788,6483,4.673,6484,8.099,6485,4.673,6486,4.673,6487,9.926,6488,4.327,6489,4.673,6490,7.5,6491,8.099,6492,4.673,6493,14.462,6494,12.788,6495,4.673,6496,4.673,6497,8.099,6498,4.673,6499,4.673]],["keywords/1351",[]],["title/1352",[6500,1555.113]],["content/1352",[9,0.659,122,1.817,141,2.261,193,0.95,236,1.03,255,1.038,258,2.647,273,1.354,343,1.474,345,3.213,362,0.992,363,2.383,390,3.383,467,2.645,545,0.833,548,7.124,556,2.505,581,3.462,600,2.032,624,1.243,661,3.351,699,1.794,804,5.687,807,4.335,823,2.25,828,1.439,832,0.563,838,1.102,847,0.642,885,7.275,889,1.254,924,8.18,925,7.377,1004,2.388,1014,5.212,1110,1.424,1205,2.219,1215,2.148,1613,2.404,1630,1.601,1644,3.181,2006,1.682,2294,1.582,3543,1.587,4633,3.657,5062,1.601,5064,1.601,6325,1.606,6326,3.105,6327,1.606,6328,2.715,6329,3.199,6330,3.946,6331,3.946,6332,2.985,6339,1.606,6340,3.946,6341,3.946,6342,4.117,6343,3.946,6344,1.757,6345,4.117,6353,1.757,6354,3.199,6356,3.946,6358,3.81,6359,4.117,6360,4.117,6361,4.117,6362,4.117,6363,3.946,6364,3.946,6365,4.117,6368,4.117,6370,3.023,6371,4.117,6374,3.81,6382,1.814,6383,1.814,6384,1.814,6385,1.814,6386,1.814,6387,1.814,6388,1.814,6389,1.814,6406,4.117,6407,4.117,6408,4.117,6409,4.117,6412,3.514,6413,2.601,6414,4.346,6415,4.346,6416,4.346,6417,4.117,6418,4.346,6419,4.346,6420,4.346,6421,4.346,6422,4.346,6423,4.346,6424,4.346,6426,4.346,6427,4.346,6428,4.117,6429,4.117,6430,4.346,6431,4.346,6432,4.346,6433,4.346,6434,4.346,6435,4.346,6436,4.346,6437,4.117,6438,4.117,6439,4.346,6440,3.514,6441,4.346,6442,4.117,6443,4.346,6444,4.346,6445,4.346,6446,4.346,6447,4.346,6448,4.346,6449,4.346,6450,3.696,6451,4.346,6452,4.346,6453,4.346,6454,4.117,6455,4.117,6456,4.117,6457,4.117,6458,4.346,6459,4.346,6460,4.346,6461,4.117,6462,4.346,6463,4.346,6464,4.346,6465,4.346,6466,4.117,6467,3.37,6468,4.346,6500,4.346,6501,4.694,6502,4.346]],["keywords/1352",[]],["title/1353",[6503,1473.221]],["content/1353",[2,3.453,9,1.479,14,3.54,41,1.482,48,2.528,58,3.815,59,1.298,63,6.576,97,2.806,122,3.011,140,2.245,141,6.292,144,3.257,148,3.479,193,1.29,205,2.446,236,1.399,255,1.411,257,2.041,258,3.431,273,3.885,323,2.538,343,2.003,345,4.024,362,1.347,363,2.761,390,3.974,417,2.181,423,2.278,429,3.133,440,2.662,447,4.218,467,2.614,488,4.28,523,2.491,545,1.132,548,2.519,556,4.6,558,2.482,581,4.336,600,2.634,624,1.689,658,4.346,661,4.197,693,3.723,804,4.985,807,4.074,828,1.955,832,0.765,838,1.497,847,0.872,860,3.331,866,2.696,885,5.811,889,1.704,924,7.455,925,7.073,928,3.354,1004,3.244,1014,3.223,1018,2.07,1057,4.346,1110,1.935,1199,4.417,1205,2.876,1207,4.055,1215,2.785,1613,3.117,1630,2.175,1644,3.984,1817,3.378,2006,2.286,2163,2.915,2294,2.149,2657,6.212,2702,4.773,3387,3.795,3391,9.672,3392,7.183,3451,5.593,3543,2.155,3788,5.593,4381,7.074,4633,4.581,5062,2.175,5064,2.175,5447,5.593,5757,5.593,6325,2.181,6326,4.218,6327,2.181,6329,4.346,6330,5.361,6331,5.361,6332,4.055,6339,2.181,6343,5.361,6344,2.387,6353,2.387,6354,9.181,6356,5.361,6358,5.176,6363,5.361,6364,5.361,6370,4.106,6382,2.464,6383,2.464,6384,2.464,6385,2.464,6386,2.464,6387,2.464,6388,2.464,6389,2.464,6396,5.021,6401,4.417,6412,4.773,6413,3.534,6417,5.593,6428,5.593,6429,5.593,6437,5.593,6440,4.773,6450,5.021,6454,5.593,6455,5.593,6456,5.593,6457,5.593,6466,5.593,6503,13.726,6504,5.904,6505,6.376,6506,6.376,6507,10.539,6508,6.376,6509,6.376,6510,6.376,6511,6.376,6512,8.555,6513,5.593,6514,5.593,6515,6.376,6516,5.904,6517,5.904]],["keywords/1353",[]],["title/1354",[6518,1555.113]],["content/1354",[9,2.201,14,3.056,30,2.563,50,3.368,58,2.317,63,2.43,96,3.367,110,5.928,120,4.071,122,2.363,140,2.252,141,6.556,144,1.978,193,1.296,236,2.321,248,4.569,251,2.598,255,2.339,258,3.442,259,3.019,273,3.05,309,4.297,310,2.102,340,2.673,343,2.011,345,4.036,362,1.353,363,2.766,390,4.213,429,4.662,440,2.673,467,2.601,477,3.121,486,2.084,520,2.987,533,2.857,545,1.136,548,2.529,554,2.231,556,4.355,581,4.349,587,2.438,600,3.919,620,2.438,661,4.208,719,2.742,804,4.725,807,4.166,828,1.963,832,0.768,838,1.503,847,0.876,860,3.344,885,5.109,886,2.73,889,4.192,924,6.68,925,6.959,944,1.772,1014,6.05,1018,2.078,1045,3.367,1110,1.942,1170,2.843,1205,2.886,1215,2.794,1227,2.754,1266,2.972,1473,3.121,1573,3.121,1613,3.127,1630,2.183,1644,3.995,1898,4.177,2006,2.295,2294,2.158,2394,3.81,2495,5.196,2729,4.363,2808,4.596,3387,3.81,3391,12.467,3392,9.207,3543,2.164,4063,4.512,4633,4.594,5062,2.183,5064,2.183,5447,5.616,5972,9.276,6000,4.793,6325,2.19,6326,4.235,6327,2.19,6332,4.071,6339,2.19,6344,2.396,6353,2.396,6354,7.207,6370,4.123,6382,2.474,6383,2.474,6384,2.474,6385,2.474,6386,2.474,6387,2.474,6388,2.474,6389,2.474,6396,5.041,6413,3.548,6440,4.793,6450,5.041,6503,5.616,6504,5.928,6512,8.583,6513,5.616,6514,5.616,6516,9.791,6517,5.928,6518,12.509,6519,4.435,6520,5.383,6521,6.402,6522,6.402,6523,6.402,6524,6.402,6525,6.402,6526,6.402,6527,6.402,6528,6.402,6529,6.402,6530,6.402,6531,4.435,6532,6.402,6533,5.616,6534,6.402,6535,6.402,6536,6.402,6537,6.402,6538,6.402,6539,6.402,6540,6.402,6541,5.041,6542,6.402,6543,6.402,6544,4.909,6545,6.402,6546,6.402]],["keywords/1354",[]],["title/1355",[6401,1163.403]],["content/1355",[9,2.249,14,5.089,18,2.82,21,0.712,26,2.433,27,1.316,30,1.999,31,1.231,38,2.835,40,1.845,41,1.404,50,1.507,58,6.347,59,3.424,61,2.913,63,2.294,68,1.321,79,7.001,85,1.49,87,4.524,90,1.166,96,1.765,97,4.435,122,4.309,139,1.558,140,1.287,141,2.293,144,4.007,146,1.351,149,5.05,155,1.875,157,1.512,162,2.835,174,1.015,187,3.151,193,2.354,194,2.361,204,1.065,208,1.696,236,0.736,251,2.453,253,2.252,255,0.742,258,1.967,262,1.803,263,4.277,264,1.665,273,4.623,274,1.077,287,2.469,297,1.519,307,3.998,323,6.979,329,2.676,340,1.401,343,1.054,345,3.874,355,1.278,357,2.262,358,2.795,362,0.709,363,2.824,364,1.686,379,1.891,382,2.791,390,3.583,398,2.352,417,1.148,418,2.946,429,1.796,467,2.548,475,1.561,482,3.248,486,2.684,500,1.356,521,1.803,524,2.051,533,2.696,545,1.789,548,1.326,554,2.873,556,2.71,558,3.209,565,3.055,581,3.245,587,3.14,597,3.788,600,3.24,612,1.907,613,0.992,618,2.161,620,1.278,624,2.183,630,9.444,642,1.997,661,2.568,667,1.891,677,2.502,693,8.836,711,1.86,717,4.427,719,1.437,727,1.924,730,2.039,804,5.01,807,3.908,812,1.138,820,1.005,824,0.744,828,1.029,832,0.403,838,0.788,842,1.94,847,0.459,882,5.161,885,4.155,887,1.512,889,0.897,898,1.582,909,1.978,924,7.347,925,6.905,944,1.673,957,1.941,960,1.384,968,3.496,993,1.831,1008,1.558,1014,3.082,1018,1.089,1048,3.997,1061,1.765,1078,1.907,1110,1.834,1111,2.084,1120,1.341,1196,1.907,1201,5.454,1205,2.25,1215,2.178,1227,2.6,1265,3.943,1558,3.797,1613,1.787,1630,2.061,1644,2.438,1817,4.367,2006,1.203,2047,2.134,2102,2.108,2174,2.324,2198,3.464,2254,2.821,2294,2.037,2311,1.765,2610,1.395,2640,1.476,3126,6.577,3371,4.427,3387,4.907,3388,2.642,3414,5.919,3415,8.522,3431,2.134,3460,1.875,3514,2.724,3543,2.043,3609,2.642,3688,2.573,3691,2.573,3692,2.724,3694,2.821,3701,5.711,3812,2.134,3830,2.724,3893,3.496,4143,5.081,4336,4.759,4381,7.809,4633,2.803,5037,2.287,5062,2.061,5064,2.061,5446,1.444,5546,2.642,5853,1.431,6040,2.642,6073,5.301,6325,1.148,6326,2.22,6327,1.148,6329,2.287,6332,2.134,6333,2.324,6334,2.409,6335,4.905,6336,2.324,6337,2.324,6338,2.324,6339,1.148,6344,1.256,6347,4.186,6348,4.905,6349,2.724,6351,2.324,6352,2.724,6353,1.256,6354,5.619,6355,2.287,6357,2.252,6366,2.287,6367,2.324,6370,2.161,6372,4.186,6373,4.056,6374,2.724,6375,2.324,6376,2.324,6377,2.324,6378,5.711,6380,2.724,6397,2.642,6401,9.784,6405,2.084,6412,2.512,6413,1.86,6467,2.409,6488,3.107,6547,2.724,6548,2.821,6549,3.107,6550,7.145,6551,4.259,6552,2.724,6553,6.932,6554,8.2,6555,5.596,6556,5.596,6557,5.596,6558,3.107,6559,2.943,6560,2.943,6561,2.821,6562,12.389,6563,5.081,6564,5.596,6565,2.943,6566,3.355,6567,3.355,6568,3.107,6569,5.596,6570,3.107,6571,3.107,6572,3.355,6573,3.355,6574,3.355,6575,3.355,6576,3.355]],["keywords/1355",[]],["title/1356",[6397,1322.558]],["content/1356",[9,2.591,14,4.534,41,1.973,58,4.803,59,3.759,79,3.083,96,4.466,122,4.128,140,2.826,141,3.69,144,2.624,193,1.718,205,3.257,215,2.35,236,1.863,255,1.878,258,4.32,270,5.105,273,5.326,287,2.543,343,4.167,345,4.88,362,1.794,363,3.3,390,4.524,438,4.213,467,2.476,490,4.597,545,1.507,556,4.301,581,5.258,600,3.316,603,3.305,661,5.089,804,3.599,807,3.678,828,2.603,832,1.019,838,1.994,847,1.161,887,3.825,889,2.269,924,7.521,925,6.695,1014,2.596,1018,2.756,1110,2.576,1205,3.621,1215,3.506,1294,3.843,1473,4.139,1557,4.53,1613,3.924,1630,2.896,1644,4.831,2006,3.043,2294,2.861,2388,6.219,3387,5.053,3388,6.686,3392,5.787,3515,7.862,3543,2.87,4123,8.779,4633,5.555,4892,7.138,5062,2.896,5064,2.896,6324,7.448,6325,2.904,6326,5.617,6327,2.904,6339,2.904,6344,3.178,6353,3.178,6354,15.653,6382,3.281,6383,3.281,6384,3.281,6385,3.281,6386,3.281,6387,3.281,6388,3.281,6389,3.281,6395,17.101,6397,14.543,6401,9.192,6403,12.287,6473,7.862,6577,6.096,6578,8.49,6579,8.49,6580,8.49,6581,8.49,6582,8.49,6583,8.49,6584,8.49,6585,8.49,6586,8.49,6587,8.49,6588,8.49,6589,8.49,6590,8.49,6591,8.49,6592,8.49,6593,8.49,6594,8.49,6595,8.49,6596,8.49,6597,13.27,6598,8.49,6599,8.49,6600,8.49,6601,8.49,6602,8.49,6603,8.49,6604,8.49,6605,8.49]],["keywords/1356",[]],["title/1357",[6606,1555.113]],["content/1357",[9,1.761,122,3.969,141,4.939,193,2.54,236,2.754,255,2.777,258,5.782,343,3.942,345,6.158,362,2.652,363,3.529,390,5.229,467,2.499,545,2.228,556,4.8,581,6.635,600,4.438,624,3.324,661,6.421,804,3.913,807,4.069,828,3.848,832,1.506,838,2.948,847,1.716,924,7.649,925,6.885,1014,5.431,1110,3.808,1205,4.847,1215,4.692,1613,5.252,1630,4.281,1644,6.095,2294,4.23,3543,4.243,4633,7.009,5062,4.281,5064,4.281,6325,4.294,6327,4.294,6339,4.294,6382,4.85,6383,4.85,6384,4.85,6385,4.85,6386,4.85,6387,4.85,6388,4.85,6389,4.85,6606,11.622,6607,12.551,6608,12.551]],["keywords/1357",[]],["title/1358",[6609,1555.113]],["content/1358",[2,3.672,9,1.556,14,2.508,19,2.679,31,2.487,41,1.576,48,2.689,50,1.691,58,2.455,59,4.458,63,2.574,97,2.984,115,4.78,122,3.63,139,5.147,140,1.444,141,3.083,144,2.096,149,4.812,187,2.592,193,2.244,205,2.602,215,3.069,236,1.488,255,1.5,258,3.609,270,4.077,273,3.198,301,3.542,319,2.202,323,2.699,343,2.13,345,4.201,362,1.433,363,2.958,390,4.094,467,2.567,486,3.609,521,3.645,524,1.687,540,2.423,545,1.204,548,2.679,556,4.171,558,2.64,581,4.527,600,2.77,661,5.06,693,8.21,731,4.036,737,3.7,743,2.583,789,2.763,804,4.47,807,3.97,828,2.079,832,0.814,838,1.593,840,2.183,847,0.927,885,4.779,889,1.812,900,2.731,924,7.187,925,6.914,976,2.565,1014,2.074,1018,3.599,1103,3.345,1105,4.78,1110,3.364,1122,4.12,1142,4.212,1154,3.997,1205,3.026,1215,2.929,1294,3.07,1434,3.789,1613,3.279,1630,2.313,1644,4.159,1817,3.592,1954,3.518,2006,2.431,2294,2.286,2412,4.165,3040,5.949,3387,6.599,3391,7.96,3392,4.622,3414,4.869,3543,2.292,3561,13.406,3997,5.2,4381,7.442,4633,4.782,4881,7.335,5062,2.313,5064,2.313,5543,5.34,6325,2.32,6326,4.486,6327,2.32,6332,4.312,6339,2.32,6344,2.538,6353,2.538,6357,4.552,6373,4.552,6381,20.279,6382,2.62,6383,2.62,6384,2.62,6385,2.62,6386,2.62,6387,2.62,6388,2.62,6389,2.62,6399,5.949,6400,5.505,6401,4.698,6405,4.212,6412,5.077,6413,3.759,6547,5.505,6609,15.04,6610,6.279,6611,6.781,6612,10.266,6613,9.322,6614,6.781,6615,6.781,6616,6.781,6617,5.949,6618,6.781,6619,6.781,6620,10.528,6621,6.781,6622,6.781,6623,5.949,6624,6.781,6625,17.908,6626,6.781,6627,6.781,6628,5.702,6629,6.781,6630,6.781]],["keywords/1358",[]],["title/1359",[3692,1363.216]],["content/1359",[9,1.753,14,4.005,31,4.582,58,4.522,59,3.164,63,6.719,97,5.497,122,2.792,140,1.675,141,3.474,144,2.43,187,3.006,193,1.591,236,1.726,251,3.192,255,1.74,258,4.067,273,2.268,329,2.553,343,2.47,345,4.643,362,1.662,363,3.013,390,4.379,429,2.337,464,3.072,467,2.585,487,3.56,524,3.108,545,1.396,554,2.74,556,4.788,581,5.003,597,3.614,600,3.122,661,4.842,693,4.592,804,5.202,807,4.178,820,2.355,828,2.411,832,0.944,838,1.847,847,1.076,885,4.573,889,2.102,924,7.506,925,7.002,1008,3.651,1014,4.753,1018,2.553,1048,8.153,1110,2.386,1111,4.884,1205,3.409,1215,3.301,1329,4.395,1512,4.431,1613,3.694,1630,2.682,1644,4.596,2006,2.819,2065,6.899,2294,2.651,2740,3.879,2771,6.193,2808,5.647,3387,7.436,3431,5.001,3543,2.658,3692,16.688,3694,6.612,3830,6.384,4633,5.285,4975,4.884,5062,2.682,5064,2.682,6325,2.69,6326,5.203,6327,2.69,6339,2.69,6344,2.944,6353,2.944,6354,8.515,6382,3.039,6383,3.039,6384,3.039,6385,3.039,6386,3.039,6387,3.039,6388,3.039,6389,3.039,6397,6.193,6400,10.141,6405,4.884,6577,5.647,6631,7.864,6632,7.864,6633,7.864,6634,7.864,6635,7.864,6636,7.864,6637,7.864,6638,7.864,6639,7.864,6640,7.864,6641,7.864]],["keywords/1359",[]],["title/1360",[6533,1473.221]],["content/1360",[6,1.455,9,2.267,14,3.427,19,3.586,21,0.802,22,2.249,26,2.707,30,3.058,41,1.562,47,4.386,48,1.499,50,1.676,58,1.368,59,3.896,78,2.095,79,4.581,85,1.678,86,2.167,90,1.313,91,1.728,122,1.502,140,1.933,141,2.525,148,2.062,169,1.961,187,1.445,193,2.227,204,2.134,205,1.45,215,4.717,221,2.795,235,1.782,236,2.416,255,0.836,258,2.188,264,3.336,270,5.458,273,1.09,274,1.213,287,5.105,301,1.974,310,2.207,326,1.822,329,1.227,343,1.187,344,3.398,345,2.712,355,4.805,362,4.044,363,2.492,364,1.899,390,3.63,391,3.178,397,4.924,404,1.263,423,2.402,429,4.154,440,1.578,442,2.249,443,1.333,450,2.112,455,5.462,464,6.963,466,1.773,467,2.547,471,1.754,475,1.736,486,2.188,513,3.442,524,4.762,533,1.686,540,2.402,545,1.954,548,1.493,556,4.707,558,6.289,581,3.543,600,3.784,603,7.866,609,1.988,624,3.341,633,3.068,642,2.249,651,2.112,661,2.828,699,2.569,713,1.64,723,2.768,737,2.062,755,2.829,777,2.434,789,1.54,804,4.883,807,3.813,812,1.281,828,3.868,832,0.454,838,1.579,847,0.517,848,2.75,860,1.974,882,1.935,885,5.014,886,1.612,889,1.01,924,5.963,925,6.68,944,1.046,949,4.857,951,2.078,960,1.559,1014,2.776,1018,1.227,1048,1.499,1050,2.976,1110,3.34,1116,5.154,1146,9.362,1175,2.898,1176,5.154,1178,2.829,1179,2.829,1180,2.829,1188,2.768,1189,2.375,1205,2.477,1215,3.333,1261,1.719,1262,4.738,1373,1.887,1385,1.325,1613,1.988,1630,2.293,1644,2.685,1736,2.403,1909,2.714,1981,3.068,2006,1.355,2059,3.068,2146,1.773,2175,11.631,2294,2.266,2547,2.296,2551,2.772,2637,2.046,2652,3.178,3252,2.768,3391,15.42,3392,6.187,3438,10.274,3513,2.768,3525,2.898,3543,2.272,3881,3.178,4074,2.976,4220,3.178,4445,11.835,4633,3.087,4846,3.068,4975,2.347,5062,2.293,5064,2.293,5983,3.5,6086,7.633,6325,1.293,6326,2.5,6327,1.293,6332,2.403,6339,1.293,6344,1.415,6353,1.415,6354,2.576,6370,2.434,6396,2.976,6405,2.347,6413,2.095,6438,3.315,6440,5.032,6450,2.976,6490,3.5,6502,3.5,6512,5.456,6513,3.315,6514,3.315,6533,15.636,6642,3.068,6643,15.144,6644,11.345,6645,3.068,6646,7.369,6647,2.976,6648,3.779,6649,3.315,6650,3.315,6651,5.897,6652,3.315,6653,3.5,6654,3.315,6655,5.897,6656,3.178,6657,3.5,6658,3.315,6659,3.5,6660,3.315,6661,3.315,6662,3.779,6663,3.779,6664,3.779,6665,6.722,6666,6.722,6667,3.779,6668,3.779,6669,3.779,6670,3.779,6671,3.779]],["keywords/1360",[]],["title/1361",[6672,1555.113]],["content/1361",[9,1.154,14,4.467,50,3.228,97,3.62,122,4.412,129,13.919,140,1.752,141,3.601,144,4.001,155,4.598,193,1.665,236,1.806,255,1.82,258,4.215,286,4.568,343,2.584,345,4.782,359,6.673,362,1.739,363,3.066,390,4.465,404,2.749,434,7.393,464,3.214,467,2.566,486,5.211,489,3.555,524,3.221,545,1.46,556,4.598,568,4.39,581,5.153,600,4.536,612,4.676,661,4.987,739,6.387,743,6.097,804,4.35,807,3.635,820,3.878,828,2.523,832,0.987,838,1.932,847,1.125,885,2.421,887,5.833,889,2.199,924,7.454,925,6.762,1014,2.516,1018,2.671,1110,4.857,1205,3.533,1215,3.421,1294,5.861,1512,4.636,1573,6.313,1613,3.829,1630,2.806,1644,4.734,2006,2.95,2294,2.773,2657,7.631,2729,5.608,3027,4.999,3543,2.781,4123,5.443,4633,5.444,4701,6.309,4975,8.041,5062,2.806,5064,2.806,5462,11.358,6325,2.815,6327,2.815,6339,2.815,6344,3.08,6353,3.08,6382,3.179,6383,3.179,6384,3.179,6385,3.179,6386,3.179,6387,3.179,6388,3.179,6389,3.179,6400,10.51,6672,18.28,6673,12.948,6674,12.948,6675,7.619,6676,11.989,6677,6.16,6678,8.228,6679,8.228,6680,16.008,6681,12.948,6682,8.228,6683,12.948,6684,8.228,6685,8.228,6686,8.228,6687,8.228]],["keywords/1361",[]],["title/1362",[6688,1412.056]],["content/1362",[2,1.097,4,7.861,8,1.447,9,2.337,13,0.792,14,2.864,15,0.758,16,0.917,18,0.945,19,2.118,26,0.816,27,2.103,30,0.921,36,1.573,40,1.114,41,1.569,46,2.553,50,2.964,51,8.045,58,0.733,59,4.215,61,0.977,68,1.495,73,1.105,79,5.312,90,0.704,108,0.772,117,1.031,122,2.037,136,1.162,139,3.135,140,0.809,141,1.491,144,0.626,146,2.159,149,1.649,157,0.913,162,2.515,171,1.398,174,2.758,187,1.452,193,0.41,194,0.792,195,1.322,202,2.23,204,0.643,208,1.024,215,2.213,218,10.235,221,3.325,229,2.677,230,1.656,235,2.529,236,2.934,255,1.494,257,0.649,258,1.237,260,1.773,269,0.783,273,1.096,283,1.763,285,1.586,287,0.607,301,1.058,310,2.217,319,2.959,322,1.987,323,5.039,340,0.846,343,0.636,344,1.024,345,2.723,352,1.123,357,2.007,359,1.958,362,1.689,363,2.329,364,1.908,383,2.218,390,3.881,404,2.671,417,0.693,418,1.852,429,1.129,443,3.573,450,1.132,464,1.484,467,2.578,475,2.065,482,1.089,486,1.746,489,0.875,505,0.846,521,1.089,524,2.958,525,5.89,545,0.952,554,0.706,555,2.589,556,3.537,558,2.628,560,2.308,565,1.024,571,2.861,581,2.174,582,1.428,587,0.772,597,0.931,600,3.926,620,1.447,624,1.788,625,1.687,631,1.645,632,3.292,634,1.114,637,1.428,661,2.491,667,1.142,692,0.679,699,3.057,713,1.649,721,1.381,727,2.178,743,1.447,751,1.36,784,1.231,804,5.019,807,3.981,812,2.711,820,1.138,823,0.971,828,1.165,832,0.243,838,1.259,847,0.733,848,0.829,862,2.218,864,1.517,876,1.567,885,5.729,886,1.62,889,1.015,897,1.151,898,0.955,924,7.595,925,6.955,928,1.998,944,1.051,947,2.404,949,0.78,960,0.836,982,2.959,1014,4.954,1018,1.741,1033,2.997,1068,3.351,1074,2.308,1092,1.018,1110,0.615,1111,1.258,1120,2.698,1163,2.073,1181,2.513,1196,1.151,1205,1.463,1212,4.243,1213,2.387,1215,4.151,1227,1.634,1228,1.455,1237,1.051,1253,3.09,1269,2.012,1352,1.244,1366,3.367,1379,1.34,1385,1.332,1434,1.132,1437,1.307,1557,2.027,1572,3.369,1573,0.988,1613,1.123,1630,1.296,1641,1.305,1644,1.586,1777,4.698,1817,2.841,1895,1.012,1916,2.178,1941,3.98,1951,1.484,2006,0.726,2020,1.72,2102,2.387,2146,4.751,2253,1.381,2255,0.966,2294,1.28,2328,1.273,2481,1.162,2637,2.904,2640,0.891,2657,1.194,2701,2.55,2710,1.484,2729,1.381,2771,1.596,2799,1.244,2804,3.194,3260,2.913,3375,3.715,3388,1.596,3397,1.36,3460,2.997,3516,1.428,3520,1.517,3543,1.284,3553,1.36,3568,1.404,3637,6.512,3789,0.846,4245,1.704,4487,1.704,4633,1.824,4701,2.913,4755,1.005,4759,1.031,4808,1.596,5062,1.296,5064,1.296,5384,1.554,5828,3.715,6038,1.484,6325,0.693,6327,0.693,6339,0.693,6344,0.758,6353,0.758,6467,1.455,6550,1.244,6688,6.723,6689,1.554,6690,1.484,6691,1.645,6692,1.645,6693,1.645,6694,1.704,6695,1.777,6696,1.777,6697,1.645,6698,1.596,6699,1.596,6700,3.074,6701,1.404,6702,1.305,6703,1.428,6704,1.704,6705,1.517,6706,1.704,6707,3.194,6708,1.381,6709,1.596,6710,1.596,6711,8.643,6712,1.596,6713,2.844,6714,1.554,6715,1.596,6716,1.554,6717,1.596,6718,1.554,6719,1.596,6720,1.428,6721,3.083,6722,1.645,6723,1.428,6724,1.428,6725,1.596,6726,1.36,6727,10.428,6728,1.381,6729,1.704,6730,1.381,6731,1.645,6732,1.645,6733,1.404,6734,1.404,6735,1.404,6736,1.404,6737,2.844,6738,1.381,6739,1.36,6740,1.36,6741,1.36,6742,2.991,6743,1.455,6744,1.428,6745,2.631,6746,2.997,6747,1.596,6748,1.777,6749,2.55,6750,1.194,6751,2.446,6752,1.404,6753,2.589,6754,1.36,6755,1.404,6756,1.381,6757,1.517,6758,1.428,6759,1.404,6760,3.655,6761,1.704,6762,1.455,6763,1.596,6764,1.36,6765,1.554,6766,1.777,6767,1.554,6768,1.704,6769,1.517,6770,1.645,6771,1.455,6772,1.596,6773,1.777,6774,1.777,6775,1.777,6776,1.777,6777,2.991,6778,1.428,6779,1.777,6780,1.645,6781,1.596,6782,1.777,6783,2.026,6784,1.288,6785,1.876,6786,2.026,6787,1.645,6788,1.876,6789,3.332,6790,5.923,6791,4.759,6792,3.332,6793,1.704,6794,1.704,6795,1.777,6796,1.777,6797,1.777,6798,1.777,6799,1.777,6800,1.704,6801,1.777,6802,1.777,6803,1.777,6804,1.777,6805,1.596,6806,1.596,6807,1.596,6808,1.596,6809,1.596,6810,1.36,6811,3.41,6812,3.41,6813,3.369,6814,5.539,6815,3.369,6816,1.455,6817,1.428,6818,1.777,6819,1.704,6820,1.876,6821,1.876,6822,1.777,6823,2.026,6824,1.777,6825,1.876,6826,1.876,6827,1.777,6828,1.777]],["keywords/1362",[]],["title/1363",[6677,1257.267]],["content/1363",[9,1.43,14,1.386,30,2.023,41,1.939,50,2.541,58,3.689,59,3.45,97,1.498,122,2.278,140,2.171,141,2.321,144,1.893,149,2.658,157,1.534,171,1.253,174,1.031,193,0.689,205,1.306,215,1.695,236,0.747,255,3.574,258,1.994,263,1.767,264,3.039,273,3.39,274,1.093,285,1.422,287,1.02,310,1.118,319,1.106,323,2.438,339,3.153,340,1.422,343,1.07,345,2.493,352,3.394,359,9.1,362,0.72,363,2.557,377,8.954,390,3.25,418,7.441,443,1.201,447,2.253,450,1.903,467,2.606,475,1.582,478,2.843,486,1.109,516,4.592,525,1.321,526,2.707,545,1.481,556,4.517,562,5.253,581,3.281,600,3.813,612,3.48,624,1.622,644,2.027,651,1.903,661,2.6,680,2.987,743,1.297,804,5.537,807,4.104,812,1.155,820,1.834,823,1.632,828,1.044,832,0.409,837,1.903,838,0.8,842,1.093,847,0.466,876,4.847,882,1.744,885,6.646,889,0.91,924,6.042,925,6.983,967,2.091,1014,2.552,1018,1.106,1033,1.903,1056,4.242,1068,1.69,1110,1.858,1120,1.361,1146,4.218,1163,1.858,1205,2.277,1210,1.721,1215,2.693,1344,1.767,1358,2.166,1366,2.578,1475,1.366,1557,1.817,1613,1.811,1618,2.611,1630,2.089,1644,2.468,2006,1.221,2047,2.166,2294,2.064,2603,2.321,2623,4.585,2652,7.016,2657,4.918,2729,10.402,3081,3.153,3260,2.611,3390,2.863,3524,4.823,3543,2.07,4205,2.863,4339,2.987,4633,2.838,4701,2.611,4755,4.141,4759,1.732,4846,2.764,4974,5.149,4975,12.045,5062,2.089,5064,2.089,5099,6.773,5834,2.987,6169,7.016,6325,1.165,6327,1.165,6339,1.165,6344,1.275,6353,1.275,6400,4.971,6467,2.445,6563,2.863,6676,5.671,6677,10.667,6688,2.863,6689,2.611,6690,2.494,6691,2.764,6692,2.764,6693,2.764,6702,2.193,6707,2.863,6711,1.817,6731,12.388,6732,6.773,6761,2.863,6787,2.764,6821,3.153,6829,2.987,6830,2.987,6831,2.987,6832,2.987,6833,3.405,6834,2.987,6835,2.987,6836,2.987,6837,2.987,6838,2.987,6839,2.987,6840,2.987,6841,2.987,6842,2.987,6843,2.987,6844,2.987,6845,2.987,6846,2.987,6847,5.671,6848,3.405,6849,3.153,6850,2.987,6851,2.987,6852,3.405,6853,2.987,6854,2.987,6855,8.344,6856,3.405,6857,2.987,6858,2.987,6859,3.405,6860,3.405,6861,6.124,6862,8.344,6863,2.987,6864,3.153,6865,3.153,6866,3.405,6867,3.153,6868,3.153,6869,2.987,6870,3.153,6871,2.987,6872,2.987,6873,3.153,6874,11.754,6875,3.153,6876,3.405,6877,3.405,6878,3.405,6879,3.405,6880,3.405,6881,3.405,6882,3.405,6883,7.727,6884,3.405,6885,3.405,6886,3.405,6887,6.124,6888,3.153,6889,3.405,6890,9.438,6891,5.671,6892,3.405,6893,3.405,6894,3.405,6895,3.405,6896,3.405,6897,16.947,6898,3.405,6899,6.124,6900,6.124,6901,6.124,6902,3.153,6903,3.405,6904,3.405,6905,6.124,6906,3.405,6907,3.405,6908,3.405,6909,3.405,6910,3.405,6911,3.405,6912,3.405,6913,3.405,6914,3.405,6915,3.405,6916,3.405,6917,3.405,6918,3.405,6919,3.405,6920,3.405,6921,3.405,6922,3.405]],["keywords/1363",[]],["title/1364",[5384,1287.729]],["content/1364",[2,1.059,4,7.382,8,1.98,9,2.297,13,0.764,14,3.802,15,0.732,16,0.885,18,0.912,19,2.053,26,0.787,27,2.038,30,0.891,36,1.522,40,1.075,41,1.208,46,2.486,50,3.087,51,7.898,58,0.708,59,4.118,61,0.943,68,1.446,73,1.067,79,5.207,90,0.679,108,0.745,117,0.995,122,3.205,136,1.121,139,3.043,140,0.783,141,1.445,144,1.606,146,2.093,149,1.595,157,0.881,162,2.438,171,1.352,174,2.988,187,0.748,193,0.396,194,0.764,195,1.276,202,2.161,204,0.621,208,0.989,215,2.733,218,10.657,221,3.233,229,2.595,230,1.602,235,2.451,236,2.549,255,1.72,257,0.626,258,1.196,260,1.715,269,0.756,273,1.06,283,1.706,285,1.534,287,0.586,301,1.022,310,2.152,319,3.205,322,1.926,323,4.928,340,0.816,343,0.614,344,0.989,345,2.323,352,1.084,357,1.945,359,1.894,362,1.643,363,2.405,364,1.846,383,2.145,390,3.822,404,2.597,417,0.669,418,0.953,429,0.581,443,3.483,449,1.084,450,2.053,464,2.03,467,2.575,469,5.999,475,2.008,482,1.051,486,2.134,489,0.845,505,1.534,524,3.08,525,5.779,545,0.922,554,1.28,556,3.34,558,2.552,560,2.232,565,0.989,571,2.773,581,2.11,587,0.745,597,0.899,600,3.977,620,1.4,624,2.35,625,1.632,631,1.587,632,3.196,634,1.075,637,1.378,661,2.422,667,1.102,692,0.655,699,2.972,713,1.595,721,1.333,727,2.107,728,0.77,743,2.497,751,1.313,764,0.827,784,1.188,804,4.971,807,3.965,812,3.009,820,0.586,823,0.937,828,1.127,832,0.235,838,1.221,847,0.711,848,0.8,860,1.022,862,2.145,864,1.464,876,1.515,885,5.808,886,2.216,887,0.881,889,0.523,892,1.435,897,2.088,898,0.922,924,7.538,925,6.94,928,1.933,944,1.017,947,2.33,949,0.753,960,0.806,982,2.888,1014,5.007,1018,1.687,1033,2.904,1048,2.061,1068,3.253,1074,2.232,1110,0.593,1111,1.214,1120,3.107,1163,2.005,1181,2.431,1196,1.111,1205,1.418,1212,4.119,1213,2.309,1215,3.937,1227,1.581,1228,1.404,1237,1.015,1253,3.004,1256,1.142,1269,1.946,1352,1.201,1366,3.273,1379,1.294,1385,1.288,1557,1.96,1572,4.119,1573,0.953,1613,1.087,1630,1.253,1641,1.259,1644,1.537,1777,4.574,1817,2.753,1895,0.976,1916,2.107,1941,3.864,1951,1.432,2006,0.701,2020,1.663,2102,2.309,2146,4.631,2248,1.111,2253,1.333,2255,0.932,2294,1.238,2328,1.229,2637,2.814,2640,0.86,2657,1.153,2701,2.466,2710,1.432,2771,1.54,2799,1.201,2804,3.089,3260,2.817,3375,4.541,3388,1.54,3395,2.431,3397,1.313,3460,2.904,3516,1.378,3520,2.751,3543,1.242,3553,1.313,3568,1.355,3637,6.356,3789,0.816,4245,1.644,4487,1.644,4633,1.767,4701,2.817,4759,0.995,5062,1.253,5064,1.253,5384,6.805,5828,3.6,6038,1.432,6325,0.669,6327,0.669,6339,0.669,6344,0.732,6353,0.732,6467,1.404,6550,2.257,6689,1.499,6690,1.432,6691,1.587,6692,1.587,6693,1.587,6694,1.644,6695,1.715,6696,1.715,6698,1.54,6699,1.54,6700,2.979,6701,1.355,6702,1.259,6703,1.378,6704,1.644,6705,1.464,6706,1.644,6708,1.333,6709,1.54,6710,1.54,6711,8.49,6712,1.54,6713,2.751,6714,1.499,6715,1.54,6716,2.817,6717,1.54,6718,1.499,6719,1.54,6720,1.378,6721,2.983,6722,1.587,6723,1.378,6724,1.378,6725,1.54,6726,2.466,6727,10.189,6728,1.333,6729,1.644,6730,1.333,6731,1.587,6732,1.587,6733,1.355,6734,1.355,6735,1.355,6736,1.355,6737,2.751,6738,1.333,6739,1.313,6740,1.313,6741,1.313,6743,1.404,6744,1.378,6745,2.545,6746,2.904,6747,1.54,6748,1.715,6749,2.466,6750,1.153,6751,1.259,6752,1.355,6753,2.504,6754,1.313,6755,1.355,6756,1.333,6758,1.378,6759,1.355,6760,3.542,6761,1.644,6762,1.404,6763,1.54,6764,1.313,6765,3.985,6767,1.499,6768,1.644,6769,1.464,6770,1.587,6771,1.404,6772,1.54,6773,1.715,6774,1.715,6775,1.715,6776,1.715,6777,2.894,6778,1.378,6779,1.715,6780,1.587,6781,1.54,6782,1.715,6785,1.811,6789,3.223,6790,5.751,6791,4.62,6792,3.223,6793,1.644,6794,1.644,6795,1.715,6796,1.715,6797,1.715,6798,1.715,6799,1.715,6800,1.644,6801,1.715,6802,1.715,6803,1.715,6804,1.715,6805,1.54,6806,1.54,6807,1.54,6808,1.54,6810,1.313,6811,3.305,6812,3.305,6813,3.265,6814,5.386,6815,3.265,6816,1.404,6817,1.378,6818,1.715,6819,1.644,6820,1.811,6822,1.715,6824,1.715,6825,1.811,6826,1.811,6827,1.715,6828,1.715,6923,1.956,6924,1.811,6925,1.956,6926,1.956,6927,1.811,6928,1.811,6929,1.715,6930,1.956,6931,1.811,6932,1.956,6933,1.956,6934,1.956]],["keywords/1364",[]],["title/1365",[6935,1555.113]],["content/1365",[9,2.003,14,3.923,59,1.899,63,5.418,122,3.191,136,5.35,140,1.987,141,3.97,193,1.888,205,3.58,236,2.048,255,2.065,258,4.647,343,2.931,345,5.179,362,1.972,363,3.211,390,4.701,467,2.577,524,2.322,545,1.656,556,4.523,581,5.581,587,3.554,600,3.567,624,2.471,661,5.401,804,4.863,807,4.334,820,2.795,828,2.861,832,1.12,838,2.192,847,1.276,885,2.746,889,2.494,924,7.963,925,7.051,1014,2.854,1018,3.029,1110,2.831,1205,3.896,1215,3.772,1512,5.258,1613,4.222,1630,3.183,1644,5.127,2002,4.288,2006,3.345,2214,6.464,2294,3.145,2729,6.36,3543,3.154,3997,7.155,4633,5.896,4755,4.631,4975,8.866,5062,3.183,5064,3.183,6001,7.574,6325,3.192,6327,3.192,6339,3.192,6344,3.493,6353,3.493,6382,3.606,6383,3.606,6384,3.606,6385,3.606,6386,3.606,6387,3.606,6388,3.606,6389,3.606,6647,7.348,6677,6.986,6690,6.835,6702,6.009,6819,7.846,6902,8.641,6935,16.054,6936,9.331,6937,9.331,6938,9.331,6939,9.331,6940,9.331,6941,9.331]],["keywords/1365",[]],["title/1366",[6942,1555.113]],["content/1366",[5,3.247,9,1.979,14,4.061,41,1.583,48,2.701,50,3.517,59,4.465,86,3.904,96,5.852,97,9.327,108,2.594,122,3.152,129,5.222,140,1.45,141,3.922,146,2.742,188,3.301,193,1.378,215,3.079,236,1.495,255,1.507,258,3.622,283,3.161,285,2.843,287,2.04,292,3.229,343,2.139,345,4.213,362,1.439,363,3.154,390,4.328,398,4.33,434,5.138,464,5.51,467,2.529,475,2.874,486,2.217,489,2.943,524,1.694,545,1.975,556,4.937,568,3.633,581,5.242,600,3.524,609,5.852,612,9.254,620,4.238,624,2.946,661,4.394,699,2.603,743,5.372,804,4.244,807,3.368,812,2.309,828,4.324,832,0.817,838,3.312,847,0.931,860,3.558,876,4.588,885,3.273,889,1.82,924,7.778,925,6.828,928,3.582,951,3.745,958,4.054,983,2.93,1014,3.402,1018,2.211,1073,10.558,1078,3.87,1110,2.066,1122,4.138,1205,3.849,1215,3.726,1364,13.829,1385,2.388,1613,3.29,1630,3.795,1644,4.171,2006,2.441,2031,5.363,2176,4.8,2236,4.23,2294,3.75,2618,5.528,2657,9.598,2701,4.571,3027,4.138,3543,3.761,3810,5.528,4276,4.444,4633,4.796,4975,12.621,5062,3.795,5064,3.795,5384,5.222,6325,2.33,6327,2.33,6339,2.33,6344,2.549,6353,2.549,6675,6.306,6677,8.329,6942,16.619,6943,6.81,6944,6.81,6945,6.81,6946,6.81,6947,11.125,6948,11.125,6949,6.81,6950,6.81,6951,6.81,6952,6.81,6953,6.81,6954,6.81,6955,6.81,6956,11.125,6957,6.81,6958,6.81,6959,6.81,6960,6.81,6961,6.81]],["keywords/1366",[]],["title/1367",[5346,1473.221]],["content/1367",[2,1.01,4,6.05,8,1.339,9,2.179,13,0.729,14,2.361,15,0.698,16,0.845,18,0.87,19,1.389,26,0.751,27,1.378,30,1.527,36,1.456,41,1.464,46,2.398,48,0.74,50,2.602,51,4.885,58,0.675,59,3.648,68,1.383,73,1.018,79,4.616,90,0.648,120,1.186,122,1.408,139,2.925,140,1.061,141,4.448,144,1.086,146,2.007,149,2.735,162,2.338,171,0.687,174,2.266,187,0.713,193,0.378,194,0.729,202,1.462,208,0.943,215,1.744,218,7.604,221,3.113,229,0.931,230,1.533,235,2.35,236,3.064,248,1.519,255,1.894,257,1.125,258,1.144,259,0.88,260,1.64,263,0.968,264,1.744,269,0.721,273,1.014,274,0.599,283,1.632,285,1.468,287,0.559,309,1.252,310,1.636,319,2.431,322,1.302,323,5.06,329,1.141,340,0.779,343,0.586,345,2.237,352,1.034,355,0.711,357,0.698,359,2.569,362,0.743,363,2.296,364,0.937,383,1.089,390,3.498,404,2.105,418,1.714,429,1.045,443,2.642,450,1.042,464,0.729,467,2.608,475,1.934,486,2.051,489,0.806,505,0.779,516,1.584,524,1.24,525,4.658,545,1.118,548,0.737,554,1.225,556,3.251,558,2.452,560,1.133,571,0.995,581,2.028,587,0.711,600,3.628,612,1.06,620,1.898,624,1.32,625,1.561,631,1.514,632,3.072,637,2.477,661,2.333,692,0.625,699,2.862,713,0.81,719,0.799,721,1.271,751,1.252,784,1.133,798,2.695,804,5.478,807,4.225,812,1.192,820,1.493,823,1.685,828,1.078,832,0.224,838,0.826,847,0.682,848,0.763,864,1.397,876,1.45,885,6.592,886,0.796,889,2.001,897,1.06,924,7.46,925,7.111,928,0.981,944,1.38,947,0.836,949,0.718,960,0.769,982,0.942,1014,5.264,1018,1.141,1033,2.785,1048,1.394,1068,3.127,1074,1.133,1110,0.566,1111,1.159,1120,2.518,1146,2.519,1163,1.918,1170,0.828,1181,2.325,1196,1.06,1205,1.36,1212,3.959,1213,2.208,1215,3.358,1227,2.144,1228,1.339,1237,0.968,1253,1.358,1269,1.862,1294,0.845,1329,2.785,1352,1.146,1366,2.098,1385,1.232,1473,0.91,1557,0.995,1572,2.208,1573,1.714,1613,1.039,1630,1.199,1644,1.474,1777,2.569,1817,1.862,1916,2.015,1941,3.714,1951,1.366,2006,0.669,2012,1.201,2020,0.845,2146,3.512,2163,0.853,2253,1.271,2255,2.376,2282,3.083,2294,1.185,2328,1.172,2394,1.11,2603,1.271,2637,1.903,2640,0.821,2657,2.938,2701,1.252,2710,1.366,2804,1.569,2808,1.339,2814,1.514,3260,2.695,3375,2.435,3388,1.469,3397,1.252,3460,2.785,3516,1.315,3543,1.188,3553,1.252,3568,1.292,3578,1.366,3637,1.1,3789,0.779,4205,1.569,4245,1.569,4487,1.569,4633,1.695,4975,2.183,5062,1.199,5064,1.199,5099,2.853,5346,4.372,5384,1.43,5828,1.292,6169,4.191,6325,0.638,6327,0.638,6339,0.638,6344,0.698,6353,0.698,6467,1.339,6519,1.292,6531,1.292,6541,1.469,6550,1.146,6677,1.397,6689,1.43,6690,1.366,6691,1.514,6692,1.514,6693,1.514,6694,1.569,6696,1.636,6698,1.469,6699,1.469,6700,2.857,6701,1.292,6702,1.201,6703,1.315,6704,1.569,6706,1.569,6707,1.569,6708,1.271,6709,1.469,6710,1.469,6711,8.287,6712,1.469,6713,1.397,6714,1.43,6715,1.469,6716,1.43,6717,1.469,6718,1.43,6719,1.469,6720,1.315,6721,2.853,6722,1.514,6723,1.315,6724,1.315,6725,1.469,6726,1.252,6727,7.511,6728,1.271,6729,1.569,6730,1.271,6731,5.114,6732,4.046,6733,1.292,6734,1.292,6735,1.292,6736,1.292,6737,2.631,6738,1.271,6739,1.252,6740,1.252,6741,1.252,6743,1.339,6744,1.315,6745,1.292,6746,2.785,6747,1.469,6748,1.636,6749,2.359,6750,1.1,6751,1.201,6752,1.292,6753,2.396,6754,1.252,6755,1.292,6756,1.271,6758,1.315,6759,1.292,6760,3.397,6761,1.569,6762,1.339,6763,1.469,6764,1.252,6765,1.43,6766,1.636,6767,1.43,6768,1.569,6769,1.397,6770,1.514,6771,1.339,6772,1.469,6773,1.636,6774,1.636,6775,1.636,6776,1.636,6777,2.768,6778,1.315,6779,1.636,6780,1.514,6781,1.469,6782,1.636,6784,1.186,6789,1.636,6790,3.083,6791,2.477,6792,1.636,6793,1.569,6794,1.569,6795,1.636,6796,1.636,6797,1.636,6798,1.636,6799,1.636,6800,1.569,6801,1.636,6802,1.636,6803,1.636,6804,1.636,6805,1.469,6806,1.469,6807,1.469,6808,1.469,6811,2.235,6812,2.235,6813,2.208,6814,5.187,6815,3.131,6816,1.339,6817,1.315,6818,1.636,6822,1.636,6824,1.636,6827,1.636,6828,1.636,6829,1.636,6830,1.636,6831,1.636,6832,1.636,6834,1.636,6835,1.636,6836,1.636,6837,1.636,6838,1.636,6839,1.636,6840,1.636,6841,1.636,6842,1.636,6843,1.636,6844,1.636,6845,1.636,6846,1.636,6847,1.727,6849,1.727,6850,1.636,6851,1.636,6853,1.636,6854,1.636,6857,1.636,6858,1.636,6863,1.636,6864,1.727,6865,1.727,6867,1.727,6869,1.636,6870,1.727,6871,1.636,6872,1.636,6873,1.727,6890,3.255,6891,3.255,6962,1.866,6963,1.866,6964,1.866,6965,1.866,6966,1.866,6967,2.575,6968,1.866,6969,3.515,6970,3.515,6971,3.515,6972,1.866,6973,1.866,6974,1.866,6975,1.866,6976,3.515,6977,1.866,6978,1.866]],["keywords/1367",[]],["title/1368",[6979,1473.221]],["content/1368",[9,1.059,26,3.04,47,4.926,122,2.702,141,3.363,193,1.528,236,1.657,255,1.67,258,3.936,343,2.371,345,4.519,362,1.595,363,2.965,390,4.3,452,5.145,467,2.623,545,1.34,556,3.523,581,4.869,600,3.021,624,1.999,661,4.712,804,5.849,807,4.652,828,2.315,832,0.906,838,1.773,847,1.032,885,4.45,889,2.018,924,7.264,925,7.214,1014,2.308,1110,2.29,1205,3.3,1215,3.195,1613,3.576,1630,2.575,1644,4.473,2006,2.706,2294,2.544,3543,2.552,4633,5.144,5062,2.575,5064,2.575,6325,2.583,6327,2.583,6339,2.583,6344,2.826,6353,2.826,6382,2.917,6383,2.917,6384,2.917,6385,2.917,6386,2.917,6387,2.917,6388,2.917,6389,2.917,6875,6.99,6888,6.99,6979,6.622,6980,6.99,6981,6.99,6982,7.549,6983,7.549,6984,7.549,6985,7.549,6986,7.549,6987,7.549,6988,5.788,6989,7.549,6990,7.549,6991,7.549,6992,7.549,6993,7.549,6994,6.99,6995,7.549,6996,7.549,6997,7.549,6998,6.622,6999,6.622,7000,6.99,7001,7.549,7002,7.549,7003,7.549,7004,6.99,7005,6.622,7006,7.549,7007,7.549,7008,7.549,7009,7.549,7010,7.549]],["keywords/1368",[]],["title/1369",[7011,1555.113]],["content/1369",[9,1.663,122,3.811,141,4.742,193,2.399,236,2.601,255,2.623,258,5.551,343,3.723,345,5.966,362,2.505,363,3.47,390,5.131,467,2.544,545,2.104,556,4.651,581,6.428,600,4.261,624,3.139,661,6.221,804,4.4,807,3.834,828,3.634,832,1.423,838,2.784,847,1.621,889,3.168,924,8.181,925,7.04,1014,3.625,1110,3.597,1205,4.653,1215,4.505,1613,5.042,1630,4.043,1644,5.905,2006,4.249,2294,3.995,3543,4.007,4633,6.791,5062,4.043,5064,4.043,6325,4.055,6327,4.055,6339,4.055,6344,4.437,6353,4.437,6382,4.58,6383,4.58,6384,4.58,6385,4.58,6386,4.58,6387,4.58,6388,4.58,6389,4.58,6979,10.398,7011,10.976]],["keywords/1369",[]],["title/1370",[7012,1555.113]],["content/1370",[7,3.562,9,2.116,14,3.903,15,2.812,31,2.756,40,4.132,41,3.504,50,3.003,61,7.268,108,2.862,122,2.692,133,4.132,140,1.6,141,4.193,174,2.274,193,1.521,204,2.386,205,4.621,229,3.751,236,3.785,255,3.336,258,3.922,269,2.903,274,2.412,326,5.807,329,2.439,336,5.296,343,2.36,345,4.505,362,1.588,363,3.566,390,4.291,418,11.351,443,2.651,452,11.756,467,2.431,475,3.895,489,3.247,501,4.614,524,3.751,545,2.138,556,4.397,581,5.553,600,3.01,624,3.993,661,4.697,677,3.111,742,4.068,743,2.862,768,6.957,804,4.16,807,3.646,812,2.547,828,2.304,832,0.902,838,1.765,847,1.028,882,6.168,885,3.544,886,3.204,889,2.008,892,2.935,900,3.026,924,6.854,925,6.532,929,4.429,982,5.057,1014,2.298,1016,5.625,1018,2.439,1054,5.761,1078,4.27,1110,2.28,1120,3.002,1205,4.115,1215,3.984,1225,4.614,1226,4.971,1227,5.182,1336,3.124,1386,4.346,1475,9.339,1613,3.562,1630,4.109,1644,5.959,2294,4.06,2311,3.952,3395,4.971,3532,11.154,3543,4.072,3652,5.761,4633,5.127,4895,6.317,5062,4.109,5064,4.109,5285,6.957,5384,5.761,5853,5.137,6325,2.57,6327,2.57,6339,2.57,6677,9.018,6688,6.317,6689,5.761,6690,5.504,6693,6.099,6708,10.277,6758,5.296,6787,6.099,6868,11.154,6994,6.957,7012,11.154,7013,7.514,7014,7.514,7015,12.046,7016,7.514,7017,12.046,7018,7.514,7019,7.514,7020,7.514]],["keywords/1370",[]],["title/1371",[7021,1555.113]],["content/1371",[9,1.782,122,4.003,141,4.981,193,2.57,236,2.787,255,2.81,258,5.83,343,3.989,345,6.198,362,2.683,363,3.541,390,5.249,467,2.504,545,2.254,556,4.832,581,6.678,600,4.475,624,3.363,661,6.463,804,3.946,807,3.937,828,3.894,832,1.524,838,2.983,847,1.737,924,7.679,925,6.9,1014,3.884,1110,3.853,1205,4.887,1215,4.732,1613,5.296,1630,4.332,1644,6.135,2294,4.28,3543,4.293,4633,7.055,5062,4.332,5064,4.332,6325,4.345,6327,4.345,6339,4.345,6382,4.907,6383,4.907,6384,4.907,6385,4.907,6386,4.907,6387,4.907,6388,4.907,6389,4.907,6690,9.303,7021,11.76]],["keywords/1371",[]],["title/1372",[7022,1555.113]],["content/1372",[9,1.005,122,2.59,141,3.223,193,1.449,236,1.572,255,1.584,258,3.773,343,2.249,345,4.361,359,3.691,362,1.513,363,2.901,390,4.199,418,3.491,467,2.633,545,1.271,556,3.4,581,4.699,600,2.896,624,1.896,661,4.547,804,5.796,807,4.455,828,2.195,832,0.859,838,1.682,847,0.979,885,7.632,924,6.466,925,7.291,1014,3.544,1110,2.173,1205,3.162,1215,3.062,1613,3.427,1630,2.442,1644,4.317,2294,2.413,3543,2.421,4633,4.964,5062,2.442,5064,2.442,6325,2.45,6327,2.45,6339,2.45,6382,2.767,6383,2.767,6384,2.767,6385,2.767,6386,2.767,6387,2.767,6388,2.767,6389,2.767,6467,5.141,6689,5.491,6690,5.245,6691,5.812,6692,5.812,6694,6.021,6706,6.021,6707,6.021,6731,5.812,6732,5.812,6777,5.639,6829,6.281,6830,6.281,6831,6.281,6832,6.281,6834,6.281,6835,6.281,6836,6.281,6837,6.281,6838,6.281,6839,6.281,6840,6.281,6841,6.281,6842,6.281,6843,6.281,6844,6.281,6845,6.281,6846,6.281,6850,6.281,6851,6.281,6853,6.281,6854,6.281,6857,6.281,6858,6.281,6863,6.281,6869,6.281,6871,6.281,6872,6.281,7022,6.631,7023,7.161]],["keywords/1372",[]],["title/1373",[7024,1363.216]],["content/1373",[4,6.435,9,2.493,13,1.161,14,3.394,19,1.174,27,3.604,30,2.589,31,1.986,40,4.1,41,2.136,46,0.833,50,3.94,51,2.772,59,4.008,63,3.488,79,6,96,1.563,117,1.512,122,2.387,136,1.704,139,3.462,140,1.153,141,1.506,144,2.305,146,2.18,155,1.661,157,1.339,162,2.54,174,2.257,187,2.07,193,0.601,202,3.1,204,1.719,215,2.956,218,9.507,229,1.484,230,2.361,236,2.344,243,9.23,255,2.363,258,1.763,269,1.148,273,2.151,283,2.513,286,1.049,287,1.622,310,2.448,319,2.421,322,2.763,323,7.288,329,2.421,343,0.933,344,1.502,345,3.19,357,2.791,362,2.256,363,2.209,364,1.493,390,3.784,413,1.532,421,1.574,443,2.631,450,3.026,467,2.568,475,1.399,486,0.968,502,2.059,505,1.241,524,3.51,525,7.101,545,0.961,555,2.026,556,4.264,558,4.66,560,1.806,565,3.769,569,2.026,581,2.4,587,1.132,597,2.488,600,3.275,620,1.132,632,1.449,661,2.323,662,2.752,699,1.136,701,2.413,713,1.29,727,3.104,743,1.132,804,4.888,807,4.006,812,2.528,823,1.425,828,0.911,832,0.357,838,0.698,842,3.428,847,0.406,848,1.216,862,3.161,876,1.226,885,4.414,886,2.309,889,0.794,924,7.757,925,6.922,944,0.823,947,1.333,960,2.233,982,0.796,1014,4.587,1018,0.965,1068,1.475,1074,1.806,1092,1.493,1110,0.902,1111,1.846,1149,1.846,1157,1.574,1181,1.966,1205,1.478,1215,3.964,1237,1.542,1253,4.127,1366,3.869,1434,1.661,1557,1.586,1572,1.867,1613,1.601,1630,1.014,1644,2.205,1705,4.152,1777,5.504,1817,3.95,1916,3.104,1941,1.752,2006,1.065,2102,3.402,2146,5.616,2214,2.059,2294,1.002,2597,2.095,2637,4.038,2671,2.095,2701,5.005,2799,4.58,3027,1.806,3375,2.059,3395,1.966,3397,1.995,3460,4.167,3502,1.846,3543,1.005,3568,2.059,3637,7.726,3789,1.241,3796,1.409,4633,2.536,4832,2.279,5062,1.014,5064,1.014,5828,2.059,5998,5.718,6038,2.177,6325,1.017,6327,1.017,6328,1.719,6339,1.017,6344,1.113,6353,1.113,6382,1.148,6383,1.148,6384,1.148,6385,1.148,6386,1.148,6387,1.148,6388,1.148,6389,1.148,6413,1.647,6550,1.825,6700,4.275,6701,2.059,6702,1.914,6703,2.095,6708,2.026,6711,8.43,6720,2.095,6723,2.095,6724,2.095,6726,6.169,6728,2.026,6730,3.69,6733,2.059,6734,2.059,6735,2.059,6736,2.059,6738,2.026,6739,1.995,6740,1.995,6741,1.995,6745,2.059,6746,3.026,6749,1.995,6750,1.752,6751,1.914,6752,2.059,6753,2.026,6754,1.995,6755,2.059,6756,2.026,6757,2.225,6759,2.059,6760,5.082,6762,2.134,6764,3.634,6778,2.095,6784,3.443,6791,2.095,6800,2.499,6810,1.995,6811,4.742,6812,4.742,6813,4.685,6814,3.751,6815,1.867,7024,7.46,7025,2.341,7026,2.607,7027,2.607,7028,2.413,7029,2.279,7030,2.341,7031,2.341,7032,2.752,7033,1.914,7034,2.413,7035,2.972,7036,2.972,7037,2.972,7038,2.225,7039,6.053,7040,1.995,7041,2.225,7042,2.972,7043,2.607,7044,2.972,7045,2.972,7046,2.972,7047,2.972,7048,2.972,7049,2.972,7050,2.225,7051,2.225,7052,2.972,7053,2.972,7054,2.752,7055,2.972,7056,2.499,7057,2.752,7058,2.413,7059,2.413,7060,2.972,7061,2.499,7062,2.607,7063,2.225,7064,2.607,7065,2.972,7066,2.413,7067,2.341,7068,2.413,7069,2.752,7070,6.27,7071,2.607,7072,2.752,7073,2.752,7074,2.972,7075,2.972,7076,2.972,7077,2.972,7078,2.972,7079,2.972]],["keywords/1373",[]],["title/1374",[7080,1555.113]],["content/1374",[9,2.02,14,2.772,15,4.586,22,3.325,34,4.336,41,3.346,59,1.137,61,4.549,67,2.959,79,2.029,97,2.458,122,2.109,140,2.01,141,3.407,144,1.726,187,2.135,193,1.91,204,1.774,218,2.824,236,3.531,255,1.236,258,3.072,259,2.634,262,3.002,270,3.359,287,4.312,310,3.098,343,1.754,344,7.278,345,3.66,362,3.927,363,3.099,390,3.718,398,2.174,404,1.866,418,4.601,429,1.66,455,6.079,467,2.612,475,2.437,513,11.806,524,1.39,540,1.996,545,1.675,555,3.808,556,5.37,558,6.263,581,4.635,600,4.02,610,3.937,624,2.499,661,3.817,703,4.182,730,3.394,804,3.173,807,3.486,808,2.607,812,3.199,816,5.733,828,4.414,832,0.67,838,1.312,842,3.029,847,0.764,866,2.362,882,2.86,887,2.517,889,1.493,924,6.741,925,6.418,944,2.612,988,3.025,1014,3.746,1018,1.814,1110,3.717,1146,6.193,1170,4.191,1205,3.343,1215,5.557,1227,2.403,1265,3.645,1294,2.529,1344,9.058,1358,3.552,1373,2.789,1385,1.959,1613,2.791,1630,3.219,1644,3.623,1742,4.182,1909,4.011,2006,2.002,2179,6.537,2255,4.498,2294,3.18,2640,4.152,3438,3.552,3441,4.9,3543,3.19,4633,4.166,4655,5.173,4657,5.173,5062,3.219,5064,3.219,5853,2.382,6325,1.911,6327,1.911,6339,1.911,6344,2.091,6353,2.091,6413,3.096,7080,18.087,7081,4.092,7082,16.09,7083,8.738,7084,4.534,7085,5.586,7086,5.586,7087,14.398,7088,9.436,7089,12.045,7090,5.586,7091,5.586,7092,14.398,7093,5.586,7094,5.586,7095,5.586,7096,5.586,7097,5.586,7098,9.436,7099,12.251,7100,9.436,7101,9.436,7102,9.436,7103,5.586,7104,9.436,7105,5.586,7106,9.436,7107,5.586,7108,5.586,7109,5.586]],["keywords/1374",[]],["title/1375",[1931,1287.729]],["content/1375",[9,1.747,122,3.947,141,4.912,193,2.52,236,2.733,255,2.755,258,5.75,343,3.911,345,6.131,362,2.631,363,3.521,390,5.216,467,2.512,545,3.135,556,4.78,581,6.607,600,4.413,624,3.298,661,6.394,804,3.892,807,3.908,828,3.818,832,1.495,838,2.925,847,1.703,924,7.847,925,6.941,1014,5.401,1110,3.778,1205,4.82,1215,4.666,1613,5.223,1630,4.247,1644,6.069,1929,9.122,1931,9.549,2294,4.197,3543,4.21,4633,6.979,5062,4.247,5064,4.247,6325,4.26,6327,4.26,6339,4.26,6382,4.812,6383,4.812,6384,4.812,6385,4.812,6386,4.812,6387,4.812,6388,4.812,6389,4.812]],["keywords/1375",[]],["title/1376",[7110,1555.113]],["content/1376",[9,1.796,122,4.025,141,5.009,193,2.591,236,2.809,255,2.832,258,5.863,343,4.02,345,6.224,362,2.705,363,3.549,390,5.263,467,2.49,545,2.272,556,4.852,581,6.707,600,4.5,624,3.39,661,6.491,716,6.315,804,3.968,807,3.949,828,3.925,832,1.536,838,3.007,847,1.751,924,7.699,925,6.835,1014,3.915,1110,3.884,1205,4.915,1215,4.758,1613,5.326,1630,4.366,1644,6.161,2294,4.315,3543,4.327,4633,7.085,5062,4.366,5064,4.366,6325,4.38,6327,4.38,6339,4.38,6382,4.947,6383,4.947,6384,4.947,6385,4.947,6386,4.947,6387,4.947,6388,4.947,6389,4.947,7110,11.854]],["keywords/1376",[]],["title/1377",[4557,1183.697]],["content/1377",[9,1.543,122,3.609,141,4.491,193,2.226,236,2.414,255,2.433,258,5.257,343,3.454,345,5.716,362,2.324,363,3.391,390,4.999,467,2.572,545,1.952,556,4.456,581,6.159,600,4.035,624,2.913,661,5.961,716,5.425,804,5.172,807,4.279,828,3.372,832,1.32,838,2.583,847,1.504,885,3.236,889,2.939,924,7.911,925,7.08,1014,3.363,1110,3.337,1205,4.407,1215,5.055,1613,4.775,1630,3.751,1644,5.658,2006,3.943,2294,3.707,3543,3.718,4557,7.752,4633,6.506,4971,10.184,5062,3.751,5064,3.751,6325,3.763,6327,3.763,6339,3.763,6344,4.117,6353,4.117,6382,4.25,6383,4.25,6384,4.25,6385,4.25,6386,4.25,6387,4.25,6388,4.25,6389,4.25,7111,10.998,7112,10.998]],["keywords/1377",[]],["title/1378",[1935,1287.729]],["content/1378",[9,1.811,122,4.048,141,5.037,193,2.612,236,2.832,255,2.855,258,5.896,343,4.053,345,6.252,362,2.727,363,3.557,390,5.277,467,2.493,545,2.291,556,4.874,581,6.736,600,4.526,624,3.417,661,6.519,804,3.991,807,3.76,828,3.957,832,1.549,838,3.031,847,1.765,924,7.718,925,6.847,1014,3.946,1110,3.915,1205,4.943,1215,4.785,1613,5.356,1630,4.402,1644,6.188,1935,9.895,2294,4.349,3543,4.362,4633,7.116,5062,4.402,5064,4.402,6325,4.415,6327,4.415,6339,4.415,6382,4.986,6383,4.986,6384,4.986,6385,4.986,6386,4.986,6387,4.986,6388,4.986,6389,4.986]],["keywords/1378",[]],["title/1379",[1929,1230.196]],["content/1379",[9,1.796,122,4.025,141,5.009,193,2.591,236,2.809,255,2.832,258,5.863,343,4.02,345,6.224,362,2.705,363,3.549,390,5.263,467,2.49,545,2.272,556,4.852,581,6.707,600,4.5,624,3.39,661,6.491,804,3.968,807,3.949,828,3.925,832,1.536,838,3.007,847,1.751,924,7.699,925,6.835,1014,3.915,1110,3.884,1205,4.915,1215,4.758,1613,5.326,1630,4.366,1644,6.161,1929,9.377,1935,9.816,2294,4.315,3543,4.327,4633,7.085,5062,4.366,5064,4.366,6325,4.38,6327,4.38,6339,4.38,6382,4.947,6383,4.947,6384,4.947,6385,4.947,6386,4.947,6387,4.947,6388,4.947,6389,4.947]],["keywords/1379",[]],["title/1380",[7113,1555.113]],["content/1380",[9,1.439,14,4.935,122,4.554,140,2.185,141,4.265,155,5.732,193,2.076,215,4.245,236,2.251,255,2.27,258,4.992,343,3.222,345,5.487,362,2.167,363,3.316,390,4.874,404,3.427,467,2.537,486,3.34,489,4.433,524,3.815,545,1.821,556,4.746,568,5.473,581,5.912,600,3.832,612,5.83,624,2.717,661,5.721,743,3.907,804,4.49,807,3.931,828,3.145,832,1.231,838,2.409,847,1.403,889,2.742,924,7.767,925,6.875,1014,3.137,1018,3.33,1110,3.112,1205,4.185,1215,4.052,1433,5.78,1613,4.535,1630,3.499,1644,5.431,1941,6.046,2006,3.677,2294,3.457,3027,6.232,3448,5.732,3543,3.468,3620,6.3,3625,7.68,4123,6.787,4633,6.245,4975,9.524,5062,3.499,5064,3.499,6325,3.509,6327,3.509,6339,3.509,6344,3.84,6353,3.84,6382,3.964,6383,3.964,6384,3.964,6385,3.964,6386,3.964,6387,3.964,6388,3.964,6389,3.964,6677,7.68,7113,18.869,7114,10.258,7115,10.258,7116,10.258]],["keywords/1380",[]],["title/1381",[7117,1473.221]],["content/1381",[9,1.087,14,1.754,26,3.121,28,4.709,41,1.801,50,4.377,59,2.514,73,4.229,79,4.484,96,4.077,97,8.436,122,3.44,139,5.732,140,2.63,141,4.281,146,4.972,174,2.345,193,2.499,221,3.222,236,1.701,255,1.715,258,4.02,269,2.995,273,3.561,323,4.915,340,3.236,343,2.434,345,4.598,357,2.901,362,1.638,363,3.286,390,4.351,467,2.557,478,3.598,487,3.508,489,3.349,524,1.928,525,3.006,545,2.732,556,5.474,558,4.806,565,3.918,581,4.955,600,3.846,603,3.017,624,2.052,661,4.795,719,3.32,721,5.282,739,3.823,804,3.392,807,3.8,828,3.786,832,0.93,838,3.615,842,2.488,847,1.06,889,2.071,924,7.609,925,6.783,976,2.931,988,4.196,1014,3.776,1018,2.516,1092,3.893,1110,2.351,1192,5.282,1205,3.37,1215,3.262,1613,3.652,1630,2.643,1644,4.552,1941,4.568,2006,2.778,2068,6.103,2294,2.612,3269,5.677,3543,2.62,4123,5.127,4633,5.234,4756,6.291,5062,2.643,5064,2.643,6325,2.651,6327,2.651,6339,2.651,6344,2.901,6353,2.901,6382,2.995,6383,2.995,6384,2.995,6385,2.995,6386,2.995,6387,2.995,6388,2.995,6389,2.995,6700,4.443,6787,6.291,6815,7.758,7117,15.401,7118,7.75,7119,12.348,7120,11.434,7121,11.434,7122,7.75,7123,6.291,7124,7.75,7125,10.832,7126,7.75,7127,16.819,7128,7.75,7129,7.75,7130,7.75,7131,7.75,7132,7.75,7133,7.75,7134,7.75,7135,7.176,7136,7.176,7137,7.75,7138,7.176,7139,7.75]],["keywords/1381",[]],["title/1382",[555,1144.672]],["content/1382",[2,1.277,4,8.83,8,0.899,9,2.446,13,0.922,14,2.766,19,1.729,27,3.001,30,1.485,31,2.247,36,1.813,41,3.043,46,2.855,50,2.808,58,0.854,59,4.076,63,0.895,79,6.155,90,0.819,97,1.038,117,1.2,122,2.732,136,1.352,139,3.552,140,1.304,141,1.703,144,3.481,146,1.763,155,1.318,157,1.063,162,2.873,174,3.408,187,1.673,193,0.477,194,0.922,202,3.741,204,0.749,205,0.905,208,1.192,215,2.822,218,10.407,221,3.182,229,2.186,230,1.909,235,2.889,236,3.606,255,1.693,257,0.755,258,1.425,260,1.101,269,0.912,273,3.248,283,2.032,287,0.707,310,2.955,319,3.656,322,3.334,323,5.813,329,0.766,343,0.741,344,3.096,345,2.688,357,1.639,358,3.456,359,2.256,362,1.901,363,2.712,364,2.199,390,4.2,404,0.788,417,0.807,421,1.25,429,0.701,443,2.7,449,1.308,450,1.318,464,2.393,467,2.556,475,2.324,486,1.425,489,1.019,505,0.985,521,2.353,524,3.041,525,6.372,545,0.777,548,0.932,554,0.822,555,4.175,556,3.947,558,3.502,560,2.66,581,2.463,582,1.663,597,2.815,600,3.814,613,0.698,617,1.418,620,1.668,624,1.622,625,1.048,632,2.134,637,1.663,661,2.803,677,0.977,688,2.199,692,0.79,699,3.44,713,1.9,727,3.512,743,0.899,756,1.241,784,1.433,804,4.593,807,3.757,812,2.594,820,0.707,823,1.131,828,0.723,832,0.283,838,0.554,847,0.323,848,0.965,862,2.556,876,1.805,882,1.208,885,4.491,886,1.867,889,1.17,897,1.341,898,1.112,924,7.374,925,6.735,928,1.241,944,1.695,947,1.963,949,0.908,960,1.805,982,0.632,1014,4.245,1018,1.421,1033,3.423,1068,2.173,1074,1.433,1092,1.185,1103,1.164,1110,0.716,1111,1.465,1120,4.073,1181,2.896,1205,1.672,1212,4.808,1213,2.751,1215,4.834,1228,1.694,1237,1.224,1253,4.352,1269,2.319,1279,1.352,1294,1.068,1329,1.318,1366,5.147,1385,2.148,1434,3.423,1437,1.507,1489,1.634,1557,3.268,1572,2.751,1573,1.15,1610,1.038,1613,1.811,1630,1.493,1644,1.811,1777,6.748,1817,5.4,1916,2.51,1941,1.39,1951,3.207,1954,2.271,2006,0.846,2047,1.5,2102,2.751,2146,6.85,2248,1.341,2255,1.125,2294,1.476,2328,1.482,2481,2.51,2637,4.872,2640,1.038,2657,1.39,2701,5.136,2799,3.762,3027,1.433,3375,3.033,3395,1.561,3397,2.939,3460,3.423,3502,1.465,3516,1.663,3543,1.48,3553,1.583,3568,1.634,3637,6.638,3664,1.858,3789,0.985,4276,1.539,4326,1.858,4454,3.554,4633,2.083,4697,1.915,4743,1.858,4832,3.357,4881,1.561,5062,1.493,5064,1.493,5446,1.015,5828,1.634,5852,1.809,5998,4.697,6038,1.728,6325,0.807,6327,0.807,6328,1.365,6339,0.807,6344,0.883,6353,0.883,6401,1.634,6425,1.915,6561,1.983,6697,1.915,6700,4.387,6701,1.634,6702,1.519,6703,1.663,6705,1.766,6708,1.608,6711,7.407,6720,1.663,6723,1.663,6724,1.663,6726,6.04,6728,1.608,6730,4.175,6733,1.634,6734,1.634,6735,1.634,6736,1.634,6737,3.277,6738,1.608,6739,1.583,6740,1.583,6741,1.583,6742,3.448,6743,1.694,6744,1.663,6745,3.033,6746,3.423,6749,2.939,6750,1.39,6751,2.819,6752,3.033,6753,2.984,6754,1.583,6755,1.634,6756,1.608,6757,1.766,6759,1.634,6760,5.216,6762,1.694,6764,5.136,6778,1.663,6784,4.866,6791,1.663,6805,1.858,6806,1.858,6807,1.858,6808,1.858,6809,1.858,6810,1.583,6811,5.722,6812,5.722,6813,5.654,6814,7.062,6815,3.848,6816,1.694,6817,1.663,7033,3.944,7038,1.766,7040,1.583,7041,1.766,7050,1.766,7051,1.766,7063,1.766,7066,1.915,7067,1.858,7068,1.915,7140,1.858,7141,1.858,7142,1.728,7143,1.983,7144,1.983,7145,1.858,7146,1.983,7147,1.858,7148,3.554,7149,1.858,7150,2.069,7151,5.373,7152,2.069,7153,2.069,7154,2.069,7155,2.069,7156,2.069,7157,2.069,7158,2.069,7159,2.069,7160,2.359,7161,2.359,7162,2.359,7163,2.359,7164,2.359]],["keywords/1382",[]],["title/1383",[7165,1363.216]],["content/1383",[4,5.112,9,2.961,14,3.479,19,4.356,21,2.339,22,1.85,26,2.271,27,1.219,30,4.253,34,3.556,40,3.1,41,4.558,47,2.028,48,1.232,50,3.075,58,2.801,59,3.13,61,1.498,68,1.223,79,4.004,86,6.321,90,4.682,97,1.367,108,1.184,117,2.868,122,1.73,139,5.726,140,2.348,141,2.152,144,1.743,148,1.696,149,2.447,171,1.144,187,3.636,188,1.507,193,1.141,204,2.457,205,1.192,208,1.571,215,5.303,221,6.394,229,4.748,234,2.726,235,1.466,236,3.375,248,1.343,254,2.523,255,1.248,258,1.836,264,2.798,270,6.629,274,1.81,285,1.298,287,4.606,301,1.623,310,2.541,323,3.786,326,1.498,329,1.009,343,0.976,344,8.54,345,2.312,355,4.2,358,1.912,362,4.46,363,2.742,390,3.275,391,2.613,397,4.13,398,1.21,417,3.254,418,2.749,429,4.571,442,1.85,443,1.096,450,1.737,453,1.466,455,6.688,464,3.023,466,1.458,467,2.412,471,1.443,475,2.457,486,1.836,489,1.343,500,1.256,505,1.298,513,1.591,520,1.45,521,1.67,524,3.353,525,3.001,533,1.387,545,1.001,548,1.228,554,1.083,556,3.582,558,4.801,568,1.658,570,2.086,571,1.658,581,3.062,600,5.005,603,4.801,609,2.966,610,2.19,615,2.056,624,1.493,661,2.411,670,2.327,692,2.593,699,2.155,713,1.349,719,1.331,726,1.782,727,4.437,730,3.426,737,1.696,777,2.001,789,1.266,804,4.414,807,3.383,808,1.45,812,3.225,820,2.318,824,1.25,828,3.38,832,0.373,838,1.324,842,5.423,847,0.425,848,2.307,849,4.129,866,1.314,885,3.966,886,1.325,889,0.831,909,1.832,924,5.465,925,6.284,926,1.683,944,2.633,949,1.197,951,1.709,968,1.798,1014,2.367,1018,1.009,1050,2.447,1110,4.908,1120,4.405,1133,1.832,1134,2.153,1146,8.177,1175,2.383,1176,4.323,1178,2.327,1179,2.327,1180,2.327,1188,2.277,1189,1.953,1205,2.112,1215,4.063,1227,1.337,1262,3.974,1263,1.976,1279,3.233,1294,2.553,1366,3.258,1473,3.773,1512,1.751,1573,1.515,1574,2.153,1613,3.26,1630,1.923,1644,2.289,1683,1.18,1736,1.976,1742,2.327,1909,2.231,1981,2.523,2006,1.114,2059,2.523,2146,1.458,2161,4.256,2175,11.831,2294,1.9,2411,2.327,2481,1.782,2546,4.13,2623,5.794,2637,3.053,2653,2.613,2805,2.878,3252,2.277,3357,2.613,3429,4.049,3438,9.779,3439,2.383,3440,2.153,3442,2.878,3448,1.737,3449,2.613,3513,2.277,3525,2.383,3543,1.906,3547,2.153,3619,2.19,3637,7.944,4074,2.447,4220,2.613,4326,6.095,4445,9.035,4633,2.632,4816,2.447,4842,5.221,4975,1.93,5062,1.923,5064,1.923,5597,2.726,6325,1.063,6327,1.063,6328,1.798,6339,1.063,6344,1.163,6353,1.163,6405,1.93,6413,1.723,6642,2.523,6644,7.72,6645,4.577,6646,6.282,6647,2.447,6649,2.726,6650,2.726,6651,4.946,6652,2.726,6654,2.726,6655,2.726,6658,2.726,6660,2.726,6661,2.726,6784,1.976,6787,2.523,6819,2.613,6883,2.878,7063,4.221,7084,4.577,7127,4.946,7165,13.13,7166,3.108,7167,2.878,7168,3.108,7169,3.108,7170,3.108,7171,3.108,7172,3.108,7173,3.108,7174,3.108,7175,12.334,7176,3.108,7177,7.739,7178,3.108,7179,3.108,7180,3.108,7181,3.108,7182,4.946,7183,3.108,7184,3.108,7185,3.108,7186,3.108,7187,5.221,7188,5.221,7189,2.878,7190,7.166,7191,2.613,7192,2.878,7193,3.108,7194,3.108,7195,3.108]],["keywords/1383",[]],["title/1384",[3395,1111.048]],["content/1384",[2,0.754,4,7.996,8,0.53,9,2.48,13,0.544,14,4.396,15,0.996,19,1.934,26,0.56,27,2.996,30,2.222,31,2.492,34,0.64,36,1.102,41,2.838,46,1.903,50,2.91,57,2.496,58,0.504,59,4.099,61,0.671,63,1.452,67,0.737,68,1.048,73,0.759,74,0.778,79,5.538,97,0.612,108,0.53,117,0.708,122,4.255,136,0.798,139,5.668,140,1.042,141,1.064,144,4.598,146,1.072,149,0.604,155,0.778,157,0.627,162,3.954,174,3.177,187,1.871,193,0.774,194,0.544,202,3.811,204,1.214,215,1.88,218,10.342,221,7.349,229,3.392,230,1.16,235,1.804,236,2.011,255,1.301,257,0.446,258,0.867,259,1.255,260,0.649,262,5.296,269,0.538,273,0.401,279,0.896,283,1.236,285,1.111,287,1.761,310,4.482,319,3.408,322,3.396,323,6.07,328,0.615,329,0.452,343,0.437,344,1.345,345,2.738,357,1.432,359,1.971,362,2.788,363,2.881,364,2.459,390,4.138,404,0.465,413,4.345,417,0.911,418,0.679,421,0.737,423,0.497,429,0.791,443,2.397,447,0.921,449,0.771,450,1.487,452,0.949,464,2.985,466,0.653,467,2.521,469,5.986,475,1.519,478,0.646,486,1.245,489,1.653,500,1.076,501,0.855,505,0.581,524,3.702,525,7.461,545,0.869,554,1.333,555,2.607,556,4.117,558,2.644,560,2.324,581,1.576,587,1.014,597,0.64,600,4.652,606,1.13,612,2.781,620,2.24,624,2.023,625,0.618,632,5.691,637,0.981,640,0.949,661,1.832,677,0.576,692,0.466,699,2.597,705,1.067,713,2.124,721,3.336,727,2.193,728,0.548,743,4.229,746,0.636,751,0.934,764,0.588,784,0.846,804,4.239,807,3.416,812,3.559,820,0.417,823,0.667,828,2.343,832,0.167,838,0.898,847,0.19,848,1.565,860,0.727,862,1.554,864,1.042,876,1.577,882,0.713,885,4.59,886,2.087,889,0.372,892,1.04,897,0.791,898,1.255,900,0.56,924,6.896,925,6.507,928,0.732,944,0.737,947,2.637,949,0.536,960,2.425,976,0.526,982,0.713,1014,3.889,1018,0.864,1033,2.137,1048,1.517,1068,2.429,1074,1.617,1092,0.699,1110,0.808,1111,0.864,1120,3.937,1149,0.864,1163,0.759,1181,1.761,1196,0.791,1205,1.044,1212,3.075,1213,1.672,1215,5.134,1228,0.999,1237,0.722,1238,1.298,1253,4.914,1256,0.813,1269,1.41,1358,1.693,1366,5.747,1385,2.062,1386,0.805,1434,1.487,1489,0.964,1557,2.041,1572,2.403,1573,1.298,1613,1.131,1630,0.908,1641,0.896,1644,1.131,1777,7.468,1817,4.855,1910,2.096,1916,1.526,1941,0.82,2002,1.223,2006,0.499,2091,3.04,2102,1.672,2146,6.797,2174,0.964,2200,2.161,2240,2.335,2248,1.513,2255,0.664,2279,4.71,2294,0.897,2328,0.874,2481,0.798,2546,1.02,2637,5.684,2640,0.612,2657,0.82,2674,0.949,2701,5.129,2799,2.349,3083,2.161,3375,2.65,3387,1.584,3391,2.746,3392,1.814,3395,8.077,3397,3.285,3420,1.289,3429,0.999,3460,2.735,3502,0.864,3516,0.981,3517,1.787,3520,1.993,3543,0.9,3553,0.934,3568,1.844,3637,7.778,3789,0.581,4326,3.012,4502,1.067,4633,1.301,4743,6.638,4816,2.096,5062,0.908,5064,0.908,5125,1.289,5828,4.706,5998,2.933,6001,1.13,6038,1.02,6325,0.476,6327,0.476,6328,0.805,6329,0.949,6339,0.476,6344,0.521,6353,0.521,6550,3.006,6623,1.221,6656,1.17,6698,1.096,6699,2.096,6700,3.895,6701,0.964,6702,0.896,6703,0.981,6708,0.949,6709,2.096,6710,2.096,6711,7.04,6712,2.096,6713,1.993,6714,2.041,6715,2.096,6716,2.933,6717,2.096,6718,2.041,6719,2.096,6720,2.696,6721,2.161,6722,1.13,6723,0.981,6724,0.981,6725,1.096,6726,6.152,6728,0.949,6730,2.607,6733,2.65,6734,1.844,6735,2.65,6736,3.39,6737,1.993,6738,0.949,6739,0.934,6740,0.934,6741,0.934,6743,0.999,6744,0.981,6745,1.844,6746,2.137,6747,1.096,6749,2.567,6750,0.82,6751,1.714,6752,2.65,6753,2.607,6754,0.934,6755,0.964,6756,0.949,6757,1.042,6758,1.876,6759,0.964,6760,3.336,6762,2.746,6763,2.096,6764,4.56,6765,2.933,6767,1.067,6769,3.664,6770,1.13,6771,1.911,6772,1.096,6778,0.981,6780,1.13,6781,1.096,6784,1.693,6791,1.876,6793,1.17,6794,1.17,6805,1.096,6806,1.096,6807,1.096,6808,1.096,6810,0.934,6811,6.266,6812,6.266,6813,6.191,6814,5.293,6815,5.759,6816,0.999,6817,0.981,6924,1.289,6927,1.289,6928,1.289,6929,1.221,6931,1.289,7033,0.896,7038,1.042,7040,0.934,7041,1.042,7050,1.993,7051,1.993,7063,3.664,7066,1.13,7067,3.012,7068,1.13,7140,1.096,7142,1.02,7145,1.096,7147,1.096,7165,1.13,7196,1.17,7197,2.335,7198,1.221,7199,3.542,7200,1.392,7201,6.794,7202,4.894,7203,4.532,7204,1.289,7205,1.289,7206,1.289,7207,1.289,7208,1.289,7209,1.289,7210,1.289,7211,1.289,7212,1.13,7213,1.392,7214,1.289,7215,2.465,7216,1.392,7217,1.392,7218,1.392,7219,1.392,7220,1.392,7221,1.392,7222,1.392,7223,1.392,7224,1.392,7225,1.392,7226,1.392,7227,1.392,7228,1.392,7229,2.662,7230,1.392,7231,1.392,7232,1.392,7233,1.392,7234,1.392]],["keywords/1384",[]],["title/1385",[7235,1555.113]],["content/1385",[2,1.915,4,4.625,8,1.347,9,2.312,14,3.527,19,2.503,27,1.387,30,0.858,31,1.297,41,1.473,50,1.58,51,3.244,59,4.481,63,1.343,68,1.392,79,7.481,97,1.556,122,1.923,139,4.867,140,0.753,141,1.762,144,3.24,162,1.659,174,4.41,187,2.422,193,0.716,202,5.016,215,1.754,218,10.413,221,5.016,229,1.766,236,1.391,255,1.904,258,2.063,273,1.827,283,5.6,286,1.248,287,1.059,310,3.961,319,4.731,322,4.47,323,6.204,343,1.111,345,4.006,357,1.324,359,6.218,362,1.818,363,2.512,364,1.777,390,4.688,404,1.182,413,1.823,418,1.725,429,1.051,443,3.699,449,1.96,464,2.475,467,2.545,475,0.914,486,2.063,489,1.528,505,1.477,524,1.576,525,7.637,545,1.125,554,1.232,556,4.797,558,4.081,568,1.887,581,2.77,587,1.347,600,4.791,620,2.413,624,0.937,632,3.089,661,2.681,677,2.624,713,2.75,784,2.149,804,4.099,807,3.596,808,1.651,812,2.148,828,1.084,832,0.424,838,0.831,847,0.484,848,1.447,876,1.459,889,0.945,897,2.01,924,7.734,925,6.693,944,1.754,947,1.586,949,1.362,960,1.459,982,0.947,1014,4.766,1018,2.057,1068,3.144,1074,2.149,1110,2.611,1204,2.45,1205,1.729,1215,5.328,1253,5.631,1269,3.356,1358,2.249,1364,2.54,1366,6.562,1433,3.57,1557,1.887,1572,3.981,1613,1.874,1630,1.206,1644,2.545,1777,8.492,1817,6.39,1941,2.085,2006,1.268,2070,1.413,2146,8.43,2174,2.45,2179,2.45,2200,2.871,2279,1.977,2294,1.192,2621,3.103,2637,6.532,2640,1.556,2657,2.085,2701,4.253,3083,2.871,3375,4.389,3397,2.374,3460,4.809,3516,2.493,3543,1.196,3553,2.374,3568,2.45,3599,2.712,3637,6.18,4633,2.927,4743,2.785,4832,4.858,5062,1.206,5064,1.206,6325,1.21,6327,1.21,6339,1.21,6344,1.324,6353,1.324,6382,1.367,6383,1.367,6384,1.367,6385,1.367,6386,1.367,6387,1.367,6388,1.367,6389,1.367,6700,4.934,6701,2.45,6702,2.278,6708,2.411,6711,8.791,6726,7.037,6728,2.411,6730,2.411,6733,2.45,6734,2.45,6735,2.45,6736,2.45,6745,2.45,6746,1.977,6749,2.374,6750,2.085,6751,2.278,6752,2.45,6753,2.411,6754,2.374,6755,2.45,6756,2.411,6759,2.45,6760,4.319,6764,2.374,6784,4.029,6791,2.493,6811,7.672,6812,7.672,6813,7.58,6814,8.357,6815,5.407,6816,2.54,6817,2.493,7040,2.374,7050,2.648,7051,2.648,7061,2.974,7062,3.103,7063,2.648,7064,3.103,7215,3.275,7235,7.969,7236,6.777,7237,7.549,7238,2.974,7239,3.275,7240,3.537,7241,3.537,7242,3.103,7243,3.537,7244,3.275,7245,3.275,7246,3.275,7247,3.275,7248,5.867,7249,3.275,7250,2.974,7251,6.336,7252,3.537]],["keywords/1385",[]],["title/1386",[7253,1555.113]],["content/1386",[4,2.297,5,2.037,9,3.366,11,2.961,14,5.521,19,2.96,26,4.84,31,1.568,38,2.005,41,5.015,57,2.789,59,3.064,67,3.969,68,1.682,83,1.889,85,3.328,90,1.485,108,3.811,115,5.281,117,2.174,122,4.498,139,1.984,140,3.454,141,2.084,144,6.904,148,4.088,149,3.252,157,3.376,162,2.005,187,1.634,193,0.865,204,3.816,205,1.64,215,4.767,218,12.601,221,6.258,236,0.938,251,3.041,255,0.946,258,2.439,259,4.718,263,6.236,273,4.341,274,3.212,283,1.984,310,1.403,319,1.387,322,1.583,323,5.991,329,2.432,343,1.342,345,3.591,362,0.903,363,2.267,390,3.853,404,2.503,417,1.462,418,3.653,447,2.827,452,2.913,453,5.668,467,2.424,469,2.597,486,1.391,489,4.323,500,5.527,507,3.069,521,4.027,525,6.29,540,1.527,545,0.759,546,6.938,555,5.107,556,3.505,557,3.957,558,3.894,565,3.788,568,2.28,569,5.107,581,3.221,597,1.964,600,3.761,617,2.57,618,2.752,620,2.854,624,1.984,626,6.938,632,3.653,644,2.544,657,2.869,661,4.259,667,2.408,670,3.199,677,1.77,681,2.961,703,3.199,713,3.252,732,2.369,739,3.696,743,1.628,748,3.131,789,1.741,804,2.648,807,2.688,820,2.244,828,1.31,832,0.513,838,1.004,840,1.376,847,0.584,889,1.142,897,2.429,924,5.873,925,5.626,931,1.35,1008,1.984,1014,1.307,1016,3.199,1018,1.387,1061,2.248,1078,4.258,1110,2.273,1135,2.789,1149,2.654,1153,3.199,1196,2.429,1205,2.045,1208,1.784,1215,1.98,1237,2.217,1256,4.375,1261,1.944,1350,3.131,1557,6.413,1563,2.625,1573,3.653,1611,2.827,1613,2.216,1630,1.458,1644,2.959,1954,3.888,2006,1.532,2060,3.366,2169,3.749,2294,1.44,2409,2.961,2545,2.718,2611,3.199,2674,2.913,2799,6.144,3027,2.597,3252,3.131,3269,3.131,3390,3.593,3395,2.827,3520,3.199,3530,3.593,3543,1.445,3652,3.277,3654,3.957,3655,3.469,3675,5.029,3701,2.961,3893,2.472,4151,3.593,4633,3.402,4869,6.573,5059,3.957,5062,1.458,5064,1.458,5367,6.938,5543,3.366,5828,2.961,5853,3.195,6153,3.957,6325,1.462,6327,1.462,6339,1.462,6344,1.6,6353,1.6,6382,1.651,6383,1.651,6384,1.651,6385,1.651,6386,1.651,6387,1.651,6388,1.651,6389,1.651,6562,3.749,6577,3.069,6700,2.45,6756,5.107,7040,2.869,7063,3.199,7067,3.366,7253,13.936,7254,18.93,7255,4.274,7256,4.274,7257,4.274,7258,22.673,7259,7.493,7260,4.274,7261,4.274,7262,10.005,7263,4.274,7264,4.274,7265,4.274,7266,4.274,7267,4.274,7268,4.274,7269,4.274,7270,4.274,7271,4.274,7272,7.493,7273,4.274,7274,4.274,7275,4.274,7276,7.493,7277,7.493,7278,7.493,7279,4.274,7280,7.493,7281,4.274,7282,4.274,7283,4.274,7284,4.274,7285,4.274,7286,4.274,7287,4.274,7288,4.274,7289,4.274]],["keywords/1386",[]],["title/1387",[7290,1555.113]],["content/1387",[2,1.328,4,6.737,8,0.934,9,2.422,14,3.79,19,1.793,25,2.58,27,1.78,30,1.536,41,1.836,50,1.58,51,3.244,59,3.939,63,0.931,68,0.965,79,6.444,97,1.997,117,1.248,122,2.585,133,1.349,136,1.406,139,5.369,140,0.522,141,1.262,144,2.441,146,0.988,162,1.151,174,3.5,187,1.735,193,0.496,202,3.854,215,1.754,218,8.97,221,3.284,229,5.234,236,0.996,255,1.402,258,1.478,269,0.948,273,1.309,283,4.303,287,0.735,310,3.044,319,3.754,322,3.434,323,4.99,326,1.182,343,0.77,344,1.24,345,2.769,357,0.918,358,0.832,359,4.777,362,1.959,363,2.086,364,2.28,390,4.194,404,0.819,413,1.264,417,0.839,418,1.196,429,0.729,443,2.786,449,1.36,464,1.773,467,2.588,469,1.49,486,2.062,489,1.06,495,1.881,500,0.992,505,1.024,506,1.432,524,3.119,525,6.696,545,0.806,554,0.855,556,4.133,558,3.608,560,2.758,568,1.309,581,2.039,584,1.56,597,1.127,600,4.046,606,1.991,614,1.58,620,2.413,624,0.65,632,2.213,661,1.974,677,1.88,713,1.97,727,3.632,784,1.49,804,4.935,807,4.016,808,1.145,812,2.678,823,1.176,828,0.752,832,0.294,838,0.576,847,0.335,848,1.003,862,2.65,864,1.836,876,1.012,885,5.694,886,1.046,889,0.656,897,1.394,924,7.861,925,7.019,944,1.754,947,2.035,949,0.944,960,1.012,982,0.657,1014,5.28,1018,1.474,1025,1.601,1048,0.973,1068,2.253,1074,1.49,1110,1.377,1181,1.623,1204,1.699,1205,1.239,1215,4.562,1253,4.469,1269,2.404,1333,1.419,1364,1.761,1366,5.278,1433,2.558,1557,3.38,1572,2.852,1613,1.342,1630,0.837,1644,1.873,1777,6.911,1817,4.91,1941,1.446,2006,0.879,2070,0.98,2102,2.852,2146,7.001,2179,1.699,2279,1.371,2284,1.991,2294,0.827,2394,1.46,2412,1.506,2481,1.406,2621,3.982,2637,5.019,2640,1.079,2657,1.446,2701,3.047,2799,1.506,3126,1.601,3375,3.145,3397,1.647,3460,3.54,3516,1.729,3543,0.829,3553,1.647,3568,3.145,3599,1.881,3629,1.217,3637,7.388,4633,2.154,4743,1.932,4832,3.481,5062,0.837,5064,0.837,5828,1.699,6038,1.797,6185,1.881,6325,0.839,6327,0.839,6328,1.419,6339,0.839,6344,0.918,6353,0.918,6382,0.948,6383,0.948,6384,0.948,6385,0.948,6386,0.948,6387,0.948,6388,0.948,6389,0.948,6550,1.506,6698,1.932,6699,1.932,6700,2.602,6701,1.699,6702,1.58,6703,1.729,6708,1.672,6709,1.932,6710,1.932,6711,9.467,6712,1.932,6713,1.836,6714,1.881,6715,1.932,6716,1.881,6717,1.932,6718,1.881,6719,1.932,6720,1.729,6721,1.991,6722,1.991,6723,1.729,6724,1.729,6725,1.932,6726,5.301,6728,1.672,6730,1.672,6733,1.699,6734,1.699,6735,1.699,6736,1.699,6738,1.672,6739,1.647,6740,1.647,6741,1.647,6743,1.761,6744,1.729,6745,1.699,6746,2.537,6747,1.932,6749,1.647,6750,1.446,6751,1.58,6752,1.699,6753,1.672,6754,1.647,6755,1.699,6756,1.672,6758,1.729,6759,1.699,6760,3.094,6762,1.761,6763,1.932,6764,1.647,6765,1.881,6767,1.881,6769,1.836,6770,1.991,6771,1.761,6772,1.932,6778,1.729,6780,1.991,6781,1.932,6784,2.887,6791,1.729,6810,1.647,6811,5.895,6812,5.895,6813,5.824,6814,6.421,6815,3.98,6816,1.761,6817,1.729,6929,2.152,7040,1.647,7041,1.836,7050,1.836,7051,1.836,7054,2.271,7061,2.062,7062,2.152,7063,1.836,7064,2.152,7081,1.797,7140,1.932,7142,1.797,7145,1.932,7147,1.932,7196,2.062,7197,2.152,7199,2.271,7236,4.989,7238,2.062,7242,2.152,7245,2.271,7246,2.271,7247,2.271,7248,5.866,7249,2.271,7290,5.866,7291,1.991,7292,2.453,7293,2.453,7294,2.453,7295,2.453,7296,2.271,7297,2.453,7298,2.271,7299,2.453,7300,2.453,7301,2.453,7302,2.453,7303,2.453,7304,4.539]],["keywords/1387",[]],["title/1388",[7305,1555.113]],["content/1388",[2,1.418,4,8.668,9,2.263,13,1.023,14,3.649,19,1.035,27,3.264,30,1.625,31,2.458,36,1.997,41,3.242,46,3.076,50,3.258,59,3.406,63,0.994,79,4.745,90,0.91,97,1.153,117,1.333,122,2.176,139,2.239,140,1.427,141,3.879,144,3.394,146,1.942,155,1.464,157,1.18,162,2.262,174,1.46,187,1.844,188,1.27,193,0.53,194,1.023,204,0.832,205,1.005,208,2.438,215,1.855,218,8.996,221,3.461,229,2.408,230,2.103,235,3.161,236,3.395,248,2.084,251,1.063,255,1.842,257,0.839,258,1.57,260,1.222,273,3.167,283,2.239,287,1.445,297,1.186,319,1.566,323,4.809,329,2.176,343,0.823,344,4.208,345,2.909,357,2.509,358,3.723,359,2.486,362,1.416,363,2.672,364,2.423,390,3.14,398,1.877,404,0.875,417,0.896,418,1.277,421,1.388,429,2.894,443,1.702,450,1.464,455,2.393,464,1.884,467,2.581,475,2.515,486,0.853,521,2.592,524,2.423,525,4.258,533,1.169,545,1.477,548,2.648,556,3.249,558,2.609,560,2.93,581,2.68,582,1.846,587,0.998,597,2.216,600,3.485,613,0.775,615,3.191,617,1.575,620,1.837,624,1.277,625,1.163,632,2.351,637,1.846,661,3.034,688,2.423,692,0.878,699,3.722,713,1.137,719,2.066,727,2.765,743,0.998,784,1.592,804,5.065,807,4.056,808,3.884,812,1.635,820,0.785,823,1.256,828,1.479,832,0.314,838,0.615,842,0.841,847,0.358,848,1.072,876,1.989,882,1.341,885,5.236,886,2.057,889,1.289,898,1.235,924,7.624,925,6.938,944,2.695,947,1.174,949,1.009,960,1.989,982,0.702,1014,5.117,1018,1.566,1033,3.745,1068,1.3,1074,1.592,1103,1.292,1110,2.034,1111,1.627,1120,1.047,1133,2.843,1146,1.324,1170,2.142,1181,3.191,1189,1.646,1205,1.829,1212,5.23,1213,3.03,1215,2.573,1227,1.127,1228,1.881,1237,1.359,1269,1.388,1279,3.842,1294,4.408,1344,2.502,1385,2.35,1437,1.66,1489,1.815,1512,2.718,1557,3.576,1572,1.646,1573,1.277,1610,1.153,1613,1.982,1630,1.645,1644,1.982,1817,1.388,1898,1.709,1916,2.765,1941,4.906,2006,0.939,2047,1.666,2146,1.229,2248,1.489,2255,1.249,2294,1.626,2328,1.646,2411,3.611,2481,2.765,2640,1.153,2657,1.544,2701,4.499,2799,4.116,3027,1.592,3375,1.815,3397,1.758,3448,2.695,3449,4.055,3460,1.464,3502,1.627,3516,1.846,3543,1.63,3553,1.758,3568,1.815,3637,1.544,3789,1.094,4063,1.846,4276,1.709,4286,2.126,4633,2.279,4697,2.126,4881,1.733,5062,1.645,5064,1.645,5446,1.127,5828,1.815,5852,2.009,5998,5.139,6000,1.961,6325,0.896,6327,0.896,6328,1.515,6339,0.896,6344,0.981,6353,0.981,6401,1.815,6425,2.126,6519,1.815,6531,3.341,6544,2.009,6561,2.203,6697,2.126,6700,3.842,6701,1.815,6702,1.687,6703,1.846,6705,1.961,6708,1.785,6711,7.867,6720,1.846,6723,1.846,6724,1.846,6726,5.587,6728,1.785,6730,4.568,6733,1.815,6734,1.815,6735,1.815,6736,1.815,6737,3.611,6738,1.785,6739,1.758,6740,1.758,6741,1.758,6742,3.798,6743,1.881,6744,1.846,6745,1.815,6746,2.695,6749,1.758,6750,1.544,6751,1.687,6752,1.815,6753,1.785,6754,1.758,6755,1.815,6756,1.785,6757,1.961,6759,1.815,6760,4.568,6762,1.881,6764,5.587,6778,1.846,6784,4.262,6791,1.846,6805,2.063,6806,2.063,6807,2.063,6808,2.063,6809,2.063,6810,1.758,6814,5.766,6815,3.03,6816,1.881,6817,1.846,6967,1.919,7033,4.316,7038,1.961,7040,1.758,7041,1.961,7050,1.961,7051,1.961,7066,2.126,7067,2.063,7068,2.126,7140,2.063,7141,2.063,7142,1.919,7143,2.203,7144,2.203,7145,2.063,7146,2.203,7147,2.063,7148,3.915,7149,2.063,7150,2.298,7151,5.879,7152,2.298,7153,2.298,7154,2.298,7155,2.298,7156,2.298,7157,2.298,7158,2.298,7159,2.298,7182,4.231,7305,6.206,7306,1.919,7307,2.426,7308,1.881,7309,1.919,7310,2.62,7311,2.426,7312,2.426,7313,2.62]],["keywords/1388",[]],["title/1389",[6988,1287.729]],["content/1389",[9,0.951,13,2.648,14,0.863,46,1.899,59,1.38,122,1.515,141,1.885,146,4.463,193,0.772,230,4.832,236,2.007,255,1.5,258,2.207,323,2.698,343,1.198,345,2.733,362,0.806,363,2.129,390,2.994,467,2.64,475,2.863,545,1.203,548,1.507,556,2.13,560,4.119,571,2.036,581,2.945,600,1.694,632,3.305,661,2.85,699,2.591,804,5.72,807,4.565,828,1.17,832,0.458,838,0.896,847,0.522,885,6.859,886,2.891,889,1.02,924,8.057,925,7.35,982,1.022,1014,1.167,1110,1.158,1111,4.21,1205,1.85,1215,1.791,1237,3.517,1613,2.005,1630,1.301,1644,2.705,1916,6.354,1951,2.795,2006,1.368,2294,1.286,3543,1.29,3637,2.249,3664,3.005,3789,2.83,4324,3.208,4633,3.111,5062,1.301,5064,1.301,6325,1.305,6327,1.305,6339,1.305,6344,1.428,6353,1.428,6358,3.097,6382,1.474,6383,1.474,6384,1.474,6385,1.474,6386,1.474,6387,1.474,6388,1.474,6389,1.474,6728,2.6,6743,2.739,6746,2.132,6754,2.561,6766,3.347,6777,3.005,6815,2.397,6988,2.925,6998,3.347,6999,3.347,7314,3.815,7315,3.815,7316,3.815,7317,3.815,7318,3.815,7319,3.815,7320,3.815,7321,3.815,7322,3.815,7323,3.815,7324,3.815,7325,3.815,7326,3.815,7327,3.815,7328,3.815,7329,3.815,7330,3.097,7331,3.815,7332,3.815,7333,3.815,7334,3.815,7335,3.815,7336,3.815,7337,3.815,7338,3.815,7339,3.815,7340,3.815,7341,3.815,7342,3.815,7343,3.815,7344,3.815,7345,3.815,7346,3.815,7347,3.815,7348,3.815,7349,3.815,7350,3.815,7351,3.815,7352,3.815,7353,3.815,7354,3.815,7355,3.815,7356,3.815,7357,3.815,7358,3.815,7359,3.815,7360,3.815,7361,3.815,7362,3.815,7363,3.815,7364,3.815,7365,3.815,7366,3.815,7367,3.815,7368,3.815,7369,3.815,7370,3.815,7371,3.815,7372,3.815,7373,3.815,7374,3.815,7375,3.815,7376,3.815,7377,3.815,7378,3.815,7379,3.815,7380,3.815,7381,3.815,7382,3.533,7383,3.815,7384,3.815,7385,3.815,7386,3.815,7387,3.815,7388,3.815,7389,3.815,7390,3.815,7391,3.815,7392,3.815,7393,3.815,7394,3.815,7395,3.815,7396,3.815,7397,3.815,7398,3.815,7399,3.815,7400,3.815,7401,3.815,7402,3.815,7403,3.815,7404,3.815,7405,3.815,7406,3.815,7407,3.815,7408,3.815,7409,3.815,7410,3.815,7411,3.815,7412,3.815,7413,3.815,7414,3.815,7415,3.815,7416,3.815,7417,3.815,7418,3.815,7419,3.815]],["keywords/1389",[]],["title/1390",[7420,1555.113]],["content/1390",[9,1.21,14,4.568,41,3.123,50,4.115,59,3.792,79,5.993,122,4.512,139,4.005,140,1.837,141,3.737,193,1.746,236,3.622,255,1.909,258,4.374,273,4.76,323,3.434,343,2.709,345,4.93,362,1.823,363,3.121,390,4.755,443,5.822,467,2.558,525,5.211,545,1.531,554,3.006,556,3.844,558,7.251,581,5.313,600,5.045,620,6.286,661,5.141,677,3.572,804,3.636,807,3.544,828,2.645,829,5.358,832,1.035,838,2.026,842,2.77,847,1.18,889,2.306,894,4.861,924,7.817,925,6.77,944,4.568,1014,4.109,1018,2.801,1092,4.334,1110,2.618,1205,3.667,1215,3.55,1434,7.508,1613,3.973,1630,2.943,1644,4.88,2006,3.093,2146,7.741,2294,2.908,2497,12.697,3020,7.003,3543,2.916,3637,7.92,4633,5.612,5062,2.943,5064,2.943,6325,2.951,6327,2.951,6339,2.951,6344,3.229,6353,3.229,6382,3.334,6383,3.334,6384,3.334,6385,3.334,6386,3.334,6387,3.334,6388,3.334,6389,3.334,6577,6.194,6746,4.821,7420,15.281,7421,13.876,7422,8.627,7423,8.627,7424,7.989,7425,9.47,7426,8.627,7427,6.794,7428,7.989,7429,6.794,7430,7.989]],["keywords/1390",[]],["title/1391",[7421,1412.056]],["content/1391",[9,1.317,14,4.407,50,4.338,59,3.965,79,7.074,122,4.354,139,4.357,140,1.999,141,3.988,193,1.899,236,2.06,255,2.077,258,4.668,273,4.136,323,3.736,343,2.948,345,5.198,362,1.983,363,3.217,390,4.711,443,5.059,467,2.549,487,4.249,545,1.666,554,3.27,556,4.052,558,6.773,581,5.601,600,4.867,620,5.462,661,5.421,677,5.938,804,3.834,807,3.666,828,2.878,829,5.829,832,1.126,838,2.204,847,1.284,887,4.229,889,2.508,894,5.289,924,7.974,925,6.87,944,3.969,1014,4.385,1018,3.047,1110,2.848,1205,3.913,1215,3.789,1613,4.24,1630,3.201,1644,5.146,2006,3.365,2146,6.726,2294,3.163,2497,9.773,3020,7.619,3543,3.173,4633,5.917,5062,3.201,5064,3.201,6325,3.211,6327,3.211,6339,3.211,6344,3.513,6353,3.513,6382,3.627,6383,3.627,6384,3.627,6385,3.627,6386,3.627,6387,3.627,6388,3.627,6389,3.627,6577,6.739,6746,5.245,7421,17.643,7424,8.691,7425,6.616,7428,8.691,7429,7.392,7430,8.691,7431,9.386]],["keywords/1391",[]],["title/1392",[7432,1555.113]],["content/1392",[9,2.206,14,4.91,15,2.995,30,3.071,31,2.935,41,1.86,50,4.457,59,3.638,79,7.073,120,5.089,122,3.513,140,1.704,141,6.443,144,2.473,149,3.473,193,2.563,236,2.78,248,5.473,251,3.248,255,2.802,258,4.123,259,3.774,273,2.308,309,5.371,310,2.627,323,3.185,343,2.513,345,4.696,362,1.691,363,3.033,390,4.621,429,3.765,443,4.469,467,2.525,486,2.605,521,4.301,533,3.571,545,1.42,548,3.161,554,4.413,556,4.163,558,4.93,581,5.06,587,3.048,600,5.176,613,2.366,620,5.988,661,4.897,677,3.313,719,3.427,804,3.939,807,3.433,828,2.453,832,0.96,838,1.879,847,1.094,889,4.777,894,4.509,924,7.672,925,6.728,944,4.351,1014,3.873,1018,2.598,1110,2.428,1205,3.456,1215,3.346,1227,3.442,1473,3.901,1573,3.901,1613,3.746,1630,2.729,1644,4.649,1898,5.221,2006,2.868,2146,5.941,2294,2.697,2394,4.763,2497,10.714,2808,5.745,3020,6.495,3543,2.705,4063,5.64,4633,5.346,5062,2.729,5064,2.729,6000,5.99,6325,2.737,6327,2.737,6339,2.737,6344,2.995,6353,2.995,6382,3.092,6383,3.092,6384,3.092,6385,3.092,6386,3.092,6387,3.092,6388,3.092,6389,3.092,6531,5.543,6541,6.302,6544,6.136,6577,5.745,6746,4.471,7421,6.728,7432,16.552,7433,8.002,7434,8.002,7435,8.002,7436,8.002,7437,8.002,7438,8.002]],["keywords/1392",[]],["title/1393",[7439,1555.113]],["content/1393",[1,3.152,2,2.753,7,1.315,8,1.057,9,3.143,14,2.298,15,1.038,19,1.096,26,6.685,27,1.993,28,1.685,31,2.581,41,2.655,48,1.1,50,2.171,58,4.54,59,4.679,73,1.513,79,1.846,86,1.59,97,5.027,108,1.057,122,4.08,124,10.133,126,2.569,140,0.591,141,2.825,144,4.704,146,5.051,149,2.206,162,1.301,167,1.81,174,0.839,187,1.06,189,4.531,193,1.029,204,0.881,205,1.064,208,1.402,215,1.407,218,5.135,229,1.385,236,0.609,248,1.199,251,1.126,255,2.528,258,1.655,259,1.308,260,1.294,263,5.27,264,1.377,265,5.395,286,0.979,287,0.831,297,1.256,301,2.655,319,1.65,323,3.467,328,1.226,329,2.284,332,1.402,340,4.241,343,0.871,344,2.57,345,2.102,352,1.538,355,3.869,357,2.634,362,0.586,363,3.07,379,1.563,387,2.127,390,2.883,398,1.08,404,1.698,414,3.363,417,2.979,432,3.806,433,3.898,455,1.377,464,4.463,467,2.458,475,1.313,478,1.288,486,0.903,489,1.199,501,3.122,502,1.922,512,4.459,520,1.294,521,2.732,524,2.167,540,2.514,542,3.583,545,1.803,554,2.452,556,3.867,558,5.268,566,1.48,570,1.862,571,1.48,581,2.804,600,4.679,603,1.08,609,1.459,612,2.889,617,5.236,620,4.352,624,1.346,634,3.869,644,1.651,661,2.192,703,2.077,743,2.68,746,1.268,757,1.922,789,1.13,794,1.635,798,3.898,804,3.354,807,2.851,808,1.294,812,0.94,820,3.422,828,0.851,832,0.333,836,0.883,838,2.045,847,0.379,860,1.449,866,1.173,882,1.42,885,2.562,889,0.741,907,3.317,924,6.209,925,6.014,928,2.674,931,1.605,944,1.407,947,1.244,949,1.068,957,1.605,958,1.651,960,1.144,968,5.038,969,5.723,976,1.049,982,3.864,983,9.965,1008,1.288,1014,2.663,1017,2.032,1018,2.284,1055,2.127,1061,1.459,1110,0.842,1120,3.48,1122,3.088,1142,1.723,1146,1.402,1162,2.184,1163,2.774,1170,3.868,1192,1.891,1205,1.92,1208,1.158,1215,1.859,1237,1.439,1253,2.719,1294,3.185,1333,5.038,1385,0.973,1433,4.907,1466,1.992,1512,1.563,1573,1.352,1613,1.503,1624,1.491,1630,1.734,1644,2.081,1727,1.891,1768,5.267,1838,1.173,1849,3.363,1909,1.992,2002,2.336,2006,0.994,2060,11.988,2102,1.743,2161,1.525,2175,3.317,2199,3.513,2294,1.713,2327,4.274,2340,2.184,2414,2.077,2456,2.332,2481,1.59,2657,14.469,2729,9.225,3371,2.032,3451,2.433,3502,1.723,3510,1.992,3543,1.718,3609,2.184,3621,2.433,3630,2.569,3631,2.569,3691,3.898,3701,3.521,3784,1.992,3796,1.315,3842,1.393,3893,1.605,4378,2.332,4495,2.252,4593,2.569,4633,2.393,4847,2.569,4950,2.332,4958,2.332,5062,1.734,5064,1.734,5132,4.459,5141,2.433,5853,1.183,6310,5.916,6325,0.949,6327,0.949,6339,0.949,6656,2.332,7089,5.267,7439,2.569,7440,2.252,7441,13.535,7442,5.083,7443,7.036,7444,7.036,7445,7.036,7446,5.083,7447,11.425,7448,10.158,7449,4.003,7450,5.083,7451,4.707,7452,4.707,7453,5.083,7454,5.083,7455,5.083,7456,11.002,7457,8.709,7458,2.774,7459,5.083,7460,2.774,7461,5.083,7462,2.774,7463,9.606,7464,2.774,7465,2.774,7466,2.774,7467,2.774,7468,2.774,7469,7.036,7470,2.774,7471,2.774,7472,8.709,7473,8.709,7474,2.774,7475,2.774,7476,2.774,7477,2.774,7478,2.774,7479,2.774,7480,2.774,7481,2.774,7482,2.774,7483,2.774,7484,2.774,7485,6.515,7486,2.332,7487,4.274,7488,2.569,7489,2.569,7490,7.639,7491,5.083,7492,5.083,7493,5.083,7494,2.774,7495,2.774,7496,2.774,7497,2.774,7498,5.083,7499,5.083,7500,5.083,7501,2.433,7502,2.433,7503,2.774,7504,2.774,7505,2.774,7506,2.774,7507,2.774,7508,2.774,7509,2.774,7510,2.774,7511,2.774,7512,2.774,7513,2.774,7514,2.774,7515,2.774,7516,2.774,7517,5.083,7518,2.774,7519,2.774,7520,2.569,7521,2.569,7522,2.774,7523,2.774,7524,2.774,7525,2.774,7526,2.774,7527,2.774,7528,2.774,7529,2.774,7530,2.774,7531,2.774,7532,2.774]],["keywords/1393",[]],["title/1394",[7533,1555.113]],["content/1394",[7,4.943,9,2.882,14,4.648,50,2.599,58,3.774,73,5.688,122,3.469,124,11.62,141,4.317,144,3.222,146,4.198,193,2.11,204,3.31,205,3.999,236,2.288,255,2.307,258,5.053,343,3.274,344,7.846,345,5.539,357,3.902,362,2.203,363,3.334,390,4.903,455,5.174,467,2.501,545,2.755,556,4.318,571,5.562,581,5.969,600,3.878,661,5.777,746,4.766,789,4.248,804,4.086,807,3.952,828,3.196,832,1.251,838,2.448,847,1.426,889,2.786,924,7.801,925,6.894,947,4.674,982,4.967,1014,4.746,1110,3.163,1142,6.475,1205,4.236,1215,4.101,1613,4.59,1630,3.556,1644,5.483,1838,4.408,2006,3.737,2294,3.514,2657,6.145,3543,3.524,4633,6.305,5062,3.556,5064,3.556,6325,3.567,6327,3.567,6339,3.567,6382,4.028,6383,4.028,6384,4.028,6385,4.028,6386,4.028,6387,4.028,6388,4.028,6389,4.028,7440,8.462,7449,8.21,7456,13.615,7533,9.654,7534,10.425,7535,10.425,7536,10.425]],["keywords/1394",[]],["title/1395",[7487,1412.056]],["content/1395",[2,5.413,9,2.822,27,2.346,34,2.749,41,1.391,50,3.75,58,2.166,59,3.405,63,2.271,73,3.264,83,2.645,86,5.731,97,5.665,122,3.362,124,7.483,140,1.274,141,3.581,144,1.849,146,4.025,162,2.807,174,3.025,175,3.216,193,1.211,204,1.9,209,5.892,236,2.194,255,3.701,258,3.254,260,2.792,273,3.713,329,3.245,343,1.879,345,3.846,352,5.541,355,4.904,357,2.24,362,1.264,363,3.231,390,4.087,414,8.518,423,2.138,429,2.971,455,2.969,464,2.337,467,2.504,469,3.635,475,2.582,482,3.216,506,3.493,521,6.919,524,1.489,525,3.877,542,7.046,545,1.774,556,4.867,558,2.329,562,5.152,571,3.192,581,4.842,598,3.904,600,4.18,613,1.769,620,2.279,624,2.647,634,3.29,661,4.011,732,3.316,743,2.279,746,4.57,789,2.438,794,3.526,804,3.686,807,3.334,812,2.029,828,1.834,832,0.718,838,1.405,840,4.145,847,0.818,860,3.125,885,2.941,889,1.599,900,2.409,924,7.061,925,6.51,947,2.682,968,3.461,982,3.449,983,4.3,1014,3.057,1018,4.883,1074,7.822,1100,3.805,1110,1.815,1205,3.514,1215,3.402,1227,4.3,1294,5.828,1433,10.189,1613,2.956,1630,3.409,1644,3.807,1768,4.479,1838,2.53,2002,5.916,2006,2.145,2016,4.016,2294,3.369,2629,4.712,2657,7.589,3543,3.379,3664,10.139,3808,5.248,4078,4.712,4228,4.016,4294,5.54,4633,4.378,4975,10.389,5062,3.409,5064,3.409,5972,5.248,6009,4.712,6325,2.047,6327,2.047,6339,2.047,7089,4.479,7440,4.856,7449,7.872,7456,5.248,7463,8.405,7485,9.256,7486,20.592,7487,10.825,7520,5.54,7521,5.54,7537,12.875,7538,9.996,7539,12.209,7540,12.875,7541,5.983,7542,5.983,7543,5.983,7544,9.996,7545,5.983,7546,5.983,7547,5.983,7548,5.54,7549,5.983,7550,5.983,7551,5.983,7552,5.983,7553,5.983,7554,5.983,7555,5.983]],["keywords/1395",[]],["title/1396",[7556,1555.113]],["content/1396",[9,1.435,50,2.55,73,5.579,122,3.419,124,11.453,140,2.178,141,4.255,146,4.118,193,2.069,236,3.357,255,2.262,258,4.981,343,3.211,345,6.078,357,3.828,362,2.161,363,3.406,390,4.868,455,5.074,467,2.527,545,2.715,554,5.331,556,4.738,571,9.779,581,5.901,600,3.823,661,5.71,804,4.039,807,4.038,828,3.135,832,1.227,838,2.402,847,1.398,889,2.733,924,7.59,925,6.75,947,4.585,982,2.739,1014,4.678,1018,3.32,1110,3.103,1205,4.175,1215,4.042,1294,8.298,1613,4.524,1630,3.488,1644,5.421,1838,4.324,2006,3.666,2294,3.446,3543,3.457,4633,6.233,5062,3.488,5064,3.488,6325,3.498,6327,3.498,6339,3.498,6382,3.951,6383,3.951,6384,3.951,6385,3.951,6386,3.951,6387,3.951,6388,3.951,6389,3.951,7449,8.053,7486,15.412,7490,16.079,7556,14.166,7557,18.33,7558,10.226,7559,10.226,7560,10.226,7561,10.226,7562,10.226,7563,10.226,7564,10.226,7565,10.226]],["keywords/1396",[]],["title/1397",[7502,1473.221]],["content/1397",[2,3.385,8,6.529,9,2.169,21,2.818,26,7.883,27,2.451,34,6.104,41,1.453,50,2.585,59,3.489,63,2.373,73,5.657,79,2.27,97,4.562,122,2.317,124,7.762,140,1.331,141,2.884,144,1.932,146,2.517,174,1.892,188,5.026,193,1.265,208,5.241,215,3.677,236,1.372,255,3.42,258,3.375,286,3.658,319,3.366,326,3.014,343,1.963,345,4.618,357,2.34,362,1.321,363,3.328,390,4.363,404,2.089,413,3.222,414,6.859,417,2.139,440,9.939,455,3.102,467,2.535,486,3.375,489,2.701,501,6.368,505,2.61,524,1.555,542,7.308,545,1.84,556,5.236,558,4.036,571,7.088,581,4.277,600,4.283,612,3.553,620,2.381,661,4.139,677,2.589,746,2.858,804,3.777,807,3.631,808,2.917,820,1.872,828,3.179,832,0.75,838,1.468,847,0.855,885,1.839,886,4.422,889,1.671,897,3.553,898,2.948,924,7.003,925,6.461,947,2.803,982,2.777,983,7.374,1014,4.062,1018,3.366,1110,1.897,1205,2.83,1215,2.739,1263,3.976,1294,2.83,1613,3.066,1630,2.132,1644,3.928,1838,2.643,2006,2.241,2163,2.858,2175,4.079,2279,3.493,2294,2.107,2414,4.68,2629,4.923,2637,3.385,2657,10.894,2781,5.484,3543,2.113,3553,4.196,4441,5.256,4633,4.517,5062,2.132,5064,2.132,6325,2.139,6327,2.139,6339,2.139,6382,2.416,6383,2.416,6384,2.416,6385,2.416,6386,2.416,6387,2.416,6388,2.416,6389,2.416,7072,5.789,7089,7.762,7440,5.075,7449,4.923,7463,11.169,7502,13.56,7566,6.252,7567,6.252,7568,15.458,7569,10.369,7570,6.252,7571,6.252,7572,10.369,7573,6.252,7574,6.252,7575,6.252,7576,6.252,7577,6.252,7578,6.252,7579,10.369,7580,6.252,7581,6.252,7582,6.252,7583,6.252,7584,6.252,7585,6.252,7586,6.252,7587,6.252,7588,6.252,7589,6.252,7590,6.252,7591,6.252,7592,6.252,7593,6.252,7594,6.252,7595,6.252,7596,6.252,7597,6.252,7598,10.369]],["keywords/1397",[]],["title/1398",[7501,1473.221]],["content/1398",[1,2.604,2,3.71,6,1.487,9,2.417,14,2.089,19,2.707,27,4.384,41,0.897,50,3.191,58,5.549,59,3.506,67,2.045,73,2.107,78,2.14,79,3.354,97,5.631,122,4.024,124,6.914,140,1.967,141,6.782,144,4.377,146,5.703,155,2.158,162,1.811,188,1.872,193,0.781,218,1.952,236,1.504,243,2.075,255,2.831,258,2.23,273,3.224,285,2.861,286,2.417,287,2.766,307,2.555,310,1.268,323,4.45,326,3.303,329,2.224,343,1.213,344,5.651,345,2.759,355,3.518,357,4.185,362,2.704,363,3.454,374,2.176,379,3.861,390,3.835,393,2.276,404,2.289,421,2.045,429,4.557,442,2.298,443,4.515,450,6.247,454,4.078,455,4.583,464,5.533,467,2.452,475,2.385,489,1.669,490,2.091,498,4.67,501,2.371,524,1.705,540,2.448,545,1.639,548,1.525,554,3.895,556,3.298,558,2.667,571,2.06,581,3.599,598,2.52,600,3.539,612,5.248,620,2.61,624,4.06,653,4.471,661,2.877,667,7.211,677,1.599,706,1.964,713,1.676,746,3.132,766,1.774,790,3.247,798,2.961,804,3.378,807,3.792,812,3.131,828,1.184,832,0.463,838,0.907,840,1.243,847,0.528,860,2.017,882,4.728,885,1.136,889,1.032,924,6.738,925,6.467,928,2.031,944,1.069,947,1.731,956,2.52,968,2.234,982,4.107,983,3.973,1008,3.18,1011,2.107,1014,4.331,1018,1.254,1110,1.172,1122,4.163,1146,4.668,1170,3.043,1189,2.426,1205,2.52,1215,2.44,1294,1.748,1333,5.342,1337,2.961,1366,1.626,1391,2.772,1433,3.861,1572,2.426,1581,1.455,1613,2.731,1630,2.337,1644,2.731,1838,2.897,2002,3.148,2006,3.31,2019,7.765,2175,6.026,2294,2.309,2591,5.253,2610,1.606,2640,1.699,2657,8.348,2738,2.592,2815,3.041,3385,3.134,3440,2.675,3448,5.16,3510,2.772,3526,1.851,3543,2.316,3553,2.592,3784,2.772,4256,3.576,4633,3.14,4756,3.134,4895,3.247,5062,2.337,5064,2.337,5141,3.387,5700,3.576,6310,5.761,6325,1.321,6327,1.321,6339,1.321,7089,5.129,7308,2.772,7440,3.134,7449,5.395,7451,6.344,7452,6.344,7463,3.247,7486,3.247,7487,3.247,7488,3.576,7489,3.576,7490,3.387,7501,17.872,7599,3.861,7600,3.861,7601,3.861,7602,3.861,7603,3.861,7604,3.861,7605,11.18,7606,6.851,7607,6.851,7608,6.851,7609,6.851,7610,3.861,7611,3.861,7612,23.61,7613,3.861,7614,6.851,7615,3.861,7616,3.861,7617,3.861,7618,11.18,7619,3.861,7620,3.861,7621,3.861,7622,3.861,7623,3.861,7624,3.861,7625,3.861,7626,3.861,7627,3.861,7628,3.861,7629,3.861,7630,3.861,7631,3.861,7632,3.861,7633,11.18,7634,3.861,7635,3.861,7636,6.851,7637,3.861,7638,3.861,7639,3.861,7640,6.851,7641,3.861,7642,3.861,7643,3.861]],["keywords/1398",[]],["title/1399",[7089,1257.267]],["content/1399",[9,2.564,14,4.135,16,3.192,30,2.774,41,1.639,50,3.601,59,4.198,85,5.082,108,2.685,122,3.228,140,4.169,141,3.183,157,3.176,174,4.371,193,1.427,205,2.705,215,3.167,223,3.973,236,1.547,255,1.56,258,3.725,270,4.239,319,2.289,343,2.214,345,4.315,362,1.49,363,2.883,390,4.169,404,2.355,443,2.487,449,3.908,467,2.591,469,6.952,481,6.343,487,3.192,500,2.85,524,1.754,542,4.969,545,1.251,556,5.794,558,8.026,568,3.762,581,4.65,600,2.859,603,8.362,612,4.007,641,6.681,657,4.732,661,4.5,667,3.973,677,2.919,713,3.06,730,4.283,737,3.847,739,3.478,746,3.223,757,4.884,804,4.313,807,3.56,808,5.34,828,2.162,832,0.846,838,1.656,840,2.27,847,0.964,889,1.884,924,6.917,925,6.507,947,3.161,951,7.942,957,4.078,969,6.448,1008,5.312,1014,2.156,1018,2.289,1110,2.139,1149,4.379,1205,3.123,1215,3.023,1294,6.538,1558,4.43,1613,3.384,1630,2.405,1644,4.271,2006,2.527,2012,4.54,2294,2.376,2311,3.708,3438,4.483,3543,2.383,3619,4.969,4633,4.911,5062,2.405,5064,2.405,5760,6.185,6325,2.412,6327,2.412,6339,2.412,6344,2.639,6353,2.639,6382,2.724,6383,2.724,6384,2.724,6385,2.724,6386,2.724,6387,2.724,6388,2.724,6389,2.724,7089,17.476,7191,5.928,7644,7.05,7645,7.05,7646,7.05,7647,21.483,7648,7.05,7649,11.443,7650,7.05,7651,7.05,7652,7.05]],["keywords/1399",[]],["title/1400",[7653,1555.113]],["content/1400",[9,1.676,122,3.831,141,4.767,193,2.417,236,2.621,255,2.642,258,5.581,343,3.751,345,5.991,362,2.523,363,3.478,390,5.144,418,5.822,467,2.536,545,2.12,556,4.67,581,6.455,600,4.283,624,3.162,661,6.247,804,4.418,807,4.003,828,3.661,832,1.433,838,2.805,847,1.633,889,3.192,924,8.075,925,7.001,1014,3.652,1110,3.623,1205,4.678,1215,4.529,1613,5.069,1630,4.073,1644,5.93,2006,4.281,2294,4.025,3543,4.037,4633,6.819,5062,4.073,5064,4.073,6325,4.085,6327,4.085,6339,4.085,6344,4.47,6353,4.47,6382,4.614,6383,4.614,6384,4.614,6385,4.614,6386,4.614,6387,4.614,6388,4.614,6389,4.614,7653,11.058]],["keywords/1400",[]],["title/1401",[4958,1412.056]],["content/1401",[9,2.03,14,4.434,50,3.608,59,3.989,97,6.366,122,3.234,140,3.733,141,4.024,144,2.935,187,3.63,193,2.928,215,2.629,236,2.084,255,2.101,258,4.71,270,5.71,343,2.983,344,4.801,345,5.236,355,5.511,362,2.007,363,3.33,390,4.733,467,2.553,469,5.77,513,4.863,545,1.686,556,4.913,558,5.632,581,5.642,600,3.615,603,5.632,661,5.46,804,3.862,807,3.683,808,6.752,828,2.912,832,1.14,838,2.231,847,1.979,848,3.885,885,2.794,889,2.538,924,7.755,925,6.834,944,2.629,951,5.222,982,2.544,1014,4.425,1018,3.083,1110,4.39,1205,3.949,1215,3.823,1434,5.307,1613,4.279,1630,3.239,1644,5.183,2006,3.405,2294,3.201,2671,6.694,3431,6.04,3438,6.04,3543,3.211,4633,5.96,4958,14.737,5062,3.239,5064,3.239,6325,3.249,6327,3.249,6339,3.249,6344,3.555,6353,3.555,6382,3.67,6383,3.67,6384,3.67,6385,3.67,6386,3.67,6387,3.67,6388,3.67,6389,3.67,7654,9.498,7655,9.498,7656,9.498,7657,9.498,7658,9.498,7659,9.498,7660,9.498,7661,9.498]],["keywords/1401",[]],["title/1402",[7662,1555.113]],["content/1402",[9,1.824,14,2.941,51,4.235,58,2.994,59,4.473,68,3.255,122,2.906,140,1.761,141,3.615,193,1.674,204,2.626,215,5.039,236,1.815,255,1.83,258,4.232,273,3.749,287,2.477,301,4.32,343,2.597,345,4.798,362,3.394,363,3.182,383,4.829,390,4.68,434,3.82,467,2.58,489,3.574,505,5.428,520,3.859,545,1.468,556,4.609,558,3.219,581,5.861,600,3.248,620,3.15,661,5.004,693,9.377,804,3.539,807,3.971,812,2.804,824,1.834,828,2.536,832,0.993,838,1.942,847,1.131,848,3.383,876,3.411,889,2.21,924,7.737,925,6.896,926,4.478,967,5.079,988,4.478,1014,2.529,1018,2.685,1110,2.509,1205,3.548,1215,3.435,1613,3.844,1630,2.821,1644,4.75,2006,2.965,2294,2.788,2729,5.637,2799,5.079,3543,2.796,3691,6.342,4633,5.462,4881,5.472,5062,2.821,5064,2.821,6325,2.829,6326,5.472,6327,2.829,6332,5.259,6339,2.829,6344,3.096,6353,3.096,6354,5.637,6382,3.196,6383,3.196,6384,3.196,6385,3.196,6386,3.196,6387,3.196,6388,3.196,6389,3.196,6401,5.729,6402,7.255,6413,4.584,7662,14.873,7663,24.834,7664,8.271,7665,16.062,7666,8.271,7667,8.271,7668,8.271,7669,8.271,7670,8.271,7671,8.271,7672,8.271,7673,8.271]],["keywords/1402",[]],["title/1403",[270,1009.762]],["content/1403",[6,1.174,9,2.439,14,1.254,19,3.009,21,2.307,22,1.815,25,1.733,26,2.231,30,3.689,34,1.401,38,1.43,41,2.178,47,1.989,48,2.197,50,1.382,58,2.006,59,3.538,68,1.2,79,4.423,85,1.354,86,1.748,90,3.255,108,1.161,122,1.702,140,2.594,141,2.118,148,1.663,171,1.122,187,1.165,193,1.121,204,2.975,205,1.17,208,1.541,215,3.964,221,2.304,229,1.522,234,2.674,235,4.419,236,3.945,254,2.475,255,3.169,258,1.804,259,1.438,264,1.513,270,10.807,274,0.979,287,4.557,301,1.593,310,1.819,326,1.47,329,2.473,343,0.957,344,3.85,345,2.275,355,2.901,358,1.879,362,4.016,363,2.339,364,1.532,390,3.564,391,2.563,397,4.059,404,1.851,417,3.721,418,1.486,423,1.089,429,3.958,443,1.076,450,1.704,455,4.651,464,6.791,466,1.43,467,2.574,471,1.415,475,1.431,486,1.804,505,1.273,513,6.235,524,5.618,533,3.399,540,1.98,542,2.149,545,2.162,548,1.204,554,2.654,556,4.884,558,6.766,562,2.856,581,3.017,584,1.939,600,3.579,603,8.7,605,1.704,609,1.604,624,3.225,661,2.373,677,1.262,699,2.118,705,4.249,711,1.69,713,1.323,726,1.748,737,1.663,741,1.989,755,2.282,777,1.963,789,1.242,804,4.467,807,3.36,812,1.034,824,1.228,828,4.083,832,0.366,838,1.301,847,1.487,848,3.116,856,1.704,882,6.819,885,4.214,886,3.248,889,1.481,892,1.191,924,5.416,925,6.29,944,0.844,951,1.676,960,2.285,1014,2.866,1018,0.99,1050,2.401,1062,1.893,1110,3.3,1146,7.691,1170,1.354,1175,2.338,1176,4.249,1178,2.282,1179,2.282,1180,2.282,1188,2.233,1189,1.915,1205,2.079,1215,2.873,1216,1.872,1262,3.905,1344,1.582,1373,3.803,1385,1.069,1447,2.563,1557,1.627,1573,1.486,1574,2.112,1613,1.639,1630,1.89,1644,2.252,1683,1.157,1736,1.939,1823,2.338,1898,3.616,1909,2.189,1981,9.885,2006,1.093,2059,4.498,2091,1.893,2130,2.475,2137,6.388,2146,1.43,2175,9.928,2198,1.748,2224,2.282,2294,1.868,2394,1.815,2456,2.563,2481,1.748,2547,1.852,2637,1.651,3252,2.233,3357,2.563,3438,10.184,3459,2.563,3513,2.233,3524,2.401,3525,2.338,3543,1.873,3619,2.149,4074,2.401,4220,2.563,4445,10.491,4454,2.475,4633,2.59,4846,2.475,4975,1.893,5062,1.89,5064,1.89,5489,1.541,6086,6.404,6325,1.043,6327,1.043,6339,1.043,6344,1.141,6353,1.141,6396,5.998,6405,1.893,6413,1.69,6642,2.475,6644,9.885,6645,4.498,6646,6.182,6647,2.401,6649,2.674,6650,2.674,6651,4.861,6652,2.674,6653,2.823,6654,2.674,6655,4.861,6656,2.563,6657,2.823,6658,2.674,6659,2.823,6660,2.674,6661,2.674,7089,4.148,7165,4.498,7187,5.131,7188,5.131,7189,2.823,7190,7.053,7191,2.563,7192,2.823,7674,5.541,7675,3.049,7676,3.049,7677,7.617,7678,9.372,7679,3.049,7680,5.541,7681,3.049,7682,3.049,7683,3.049,7684,2.823,7685,3.049,7686,3.049,7687,3.049,7688,3.049,7689,3.049,7690,3.049,7691,9.372,7692,5.541,7693,5.541,7694,5.541,7695,3.049,7696,3.049,7697,3.049,7698,5.541,7699,3.049,7700,3.049,7701,3.049,7702,5.541,7703,3.049,7704,3.049,7705,3.049,7706,5.541,7707,3.049,7708,3.049]],["keywords/1403",[]],["title/1404",[7709,1555.113]],["content/1404",[9,1.482,55,12.736,56,9.329,122,3.503,140,2.25,141,4.359,193,2.138,236,2.318,255,2.337,258,5.102,342,12.018,343,3.317,345,5.583,362,2.232,363,3.348,370,9.781,390,4.927,449,5.855,463,7.908,467,2.545,545,1.875,556,4.815,581,6.016,600,3.916,661,5.821,804,4.118,807,4.077,828,3.239,832,1.268,838,2.481,847,1.445,889,2.823,924,7.828,925,6.909,973,3.449,1014,3.23,1018,3.429,1105,7.445,1110,3.205,1205,4.277,1215,4.141,1613,4.635,1630,3.603,1644,5.526,2006,3.786,2294,3.56,2382,8.881,2846,9.266,3543,3.571,4633,6.355,5062,3.603,5064,3.603,6325,3.614,6327,3.614,6339,3.614,6344,3.954,6353,3.954,6382,4.082,6383,4.082,6384,4.082,6385,4.082,6386,4.082,6387,4.082,6388,4.082,6389,4.082,7709,14.513,7710,10.563,7711,15.673,7712,10.563,7713,10.563,7714,10.563,7715,9.266,7716,10.563,7717,10.563,7718,10.563,7719,10.563]],["keywords/1404",[]],["title/1405",[7071,1473.221]],["content/1405",[4,7.627,9,1.299,14,2.727,15,2.045,19,2.158,28,3.319,30,2.922,31,2.004,40,5.091,41,2.801,50,4.585,59,3.937,61,5.809,63,4.574,74,5.174,79,3.362,90,3.216,97,2.403,117,2.779,122,4.11,140,2.567,141,3.352,144,1.688,174,1.653,192,4.188,193,1.874,204,1.734,229,2.727,236,2.032,243,10.832,255,2.048,258,3.014,259,2.576,273,3.476,287,3.609,290,3.564,323,6.322,340,2.281,343,1.716,345,3.6,357,3.466,359,2.815,362,1.154,363,2.704,364,4.651,390,3.675,413,2.815,450,5.174,455,2.711,467,2.549,475,1.411,478,2.536,481,7.865,521,2.936,525,5.503,545,2.519,556,3.305,558,6.182,560,3.319,565,2.761,581,3.879,598,3.564,600,2.314,603,2.126,624,2.452,641,3.189,661,3.754,727,5.308,804,4.73,807,3.726,828,1.675,829,3.392,832,0.656,838,1.283,842,5.099,847,0.747,848,2.235,885,4.673,886,2.33,889,1.46,900,4.853,924,7.628,925,6.92,926,2.958,944,1.512,960,4.97,969,3.078,1014,1.67,1018,1.773,1025,6.041,1092,4.651,1103,2.695,1110,1.657,1146,2.761,1157,4.905,1205,2.527,1215,3.184,1385,3.246,1434,3.052,1557,2.914,1613,2.738,1630,1.863,1644,3.564,2006,1.958,2020,2.473,2102,5.817,2174,3.784,2294,1.841,2671,3.85,2740,2.695,3448,3.052,3543,1.846,3555,6.526,3637,5.457,3796,2.59,4217,3.614,4429,2.31,4530,4.593,4582,4.434,4633,4.098,5062,1.863,5064,1.863,6325,1.869,6327,1.869,6339,1.869,6344,2.045,6353,2.045,6382,2.111,6383,2.111,6384,2.111,6385,2.111,6386,2.111,6387,2.111,6388,2.111,6389,2.111,6413,3.028,6700,3.132,6711,2.914,6746,3.052,6810,3.666,6815,5.817,6988,4.188,7024,4.434,7025,4.302,7028,4.434,7029,4.188,7030,4.302,7031,4.302,7034,4.434,7039,9.782,7058,4.434,7059,4.434,7070,4.593,7071,10.571,7330,4.434,7425,6.526,7427,4.302,7429,4.302,7720,8.122,7721,4.792,7722,4.792,7723,5.058,7724,5.058,7725,5.058,7726,5.462,7727,5.058,7728,4.792,7729,9.49,7730,5.058,7731,4.792,7732,5.058,7733,5.058,7734,5.058,7735,5.058,7736,5.058,7737,5.462,7738,5.058,7739,5.462,7740,4.792,7741,5.462]],["keywords/1405",[]],["title/1406",[7742,1555.113]],["content/1406",[9,1.565,14,2.523,50,2.78,59,4.597,63,4.233,79,4.05,122,3.646,141,4.537,144,3.446,193,2.257,236,2.447,243,8.767,255,2.467,258,5.31,323,8.448,343,3.502,345,5.762,362,2.356,363,3.406,390,5.024,467,2.5,545,1.979,556,4.943,558,4.341,581,6.209,600,4.076,661,6.009,804,3.594,807,3.909,828,3.419,832,1.338,838,2.619,847,1.525,924,7.783,925,6.921,1014,3.41,1110,3.384,1205,4.452,1215,4.31,1613,4.824,1630,3.804,1644,5.704,2294,3.759,2740,5.501,3543,3.77,4217,7.378,4429,4.715,4633,6.559,5062,3.804,5064,3.804,6325,3.815,6327,3.815,6339,3.815,6382,4.309,6383,4.309,6384,4.309,6385,4.309,6386,4.309,6387,4.309,6388,4.309,6389,4.309,6413,6.181,6815,10.249,7029,8.551,7742,10.326,7743,11.152,7744,11.152,7745,11.152]],["keywords/1406",[]],["title/1407",[7746,1555.113]],["content/1407",[4,6.852,9,1.132,14,2.417,15,1.742,19,1.838,26,1.874,28,2.827,30,2.59,31,2.96,40,4.437,41,2.963,48,1.845,50,4.231,59,3.981,61,5.15,63,3.063,74,4.509,78,2.579,79,2.93,85,2.066,90,3.711,97,2.047,117,2.367,122,3.792,139,2.16,140,2.275,141,3.546,144,1.438,149,2.019,162,2.182,171,2.969,174,1.408,192,3.567,193,1.633,204,1.477,215,1.288,218,2.352,221,1.935,229,2.323,236,1.021,243,10.51,255,1.785,258,2.627,259,2.194,273,3.081,287,3.819,290,3.036,323,6.291,340,1.943,343,1.461,345,3.192,355,1.772,357,3.999,359,2.398,362,0.983,363,2.51,364,5.367,390,3.366,413,2.398,450,4.509,455,2.309,464,1.818,467,2.573,469,2.827,475,1.202,476,3.036,478,2.16,481,7.994,525,6.129,545,2.56,556,4.182,558,4.962,560,2.827,565,2.352,581,3.439,597,2.138,598,3.036,600,2.016,603,4.158,620,1.772,624,3.376,641,2.716,661,3.328,727,6.125,804,4.453,807,3.608,808,2.171,828,1.427,832,0.558,838,1.093,842,4.63,847,1.103,848,3.301,882,2.382,885,4.244,886,1.984,889,1.243,900,4.302,924,7.328,925,6.763,926,2.519,944,1.288,960,4.406,969,4.547,1014,1.423,1018,1.51,1025,5.265,1057,3.171,1092,2.337,1110,1.412,1146,2.352,1157,4.274,1205,2.202,1215,2.823,1373,2.323,1385,2.829,1557,2.482,1613,2.386,1630,1.587,1644,3.159,2006,1.668,2020,2.106,2102,5.07,2214,3.223,2294,1.568,2671,3.279,2740,2.295,3126,5.265,3438,2.959,3448,2.6,3543,1.573,3555,5.687,3637,4.756,3796,2.206,3812,2.959,4217,3.078,4429,1.967,4530,3.912,4582,3.777,4633,3.633,4946,3.777,5062,1.587,5064,1.587,6325,1.592,6327,1.592,6339,1.592,6344,1.742,6353,1.742,6382,1.798,6383,1.798,6384,1.798,6385,1.798,6386,1.798,6387,1.798,6388,1.798,6389,1.798,6413,2.579,6700,6.125,6711,2.482,6746,2.6,6810,3.123,6815,5.07,6988,3.567,7024,8.672,7025,3.664,7028,3.777,7029,3.567,7030,3.664,7031,3.664,7032,4.308,7034,3.777,7039,8.672,7058,3.777,7059,3.777,7070,3.912,7073,4.308,7165,3.777,7330,3.777,7684,4.308,7720,7.078,7721,4.081,7722,4.081,7723,4.308,7724,4.308,7725,4.308,7727,4.308,7728,4.081,7729,3.664,7730,4.308,7731,4.081,7732,4.308,7733,4.308,7734,4.308,7735,4.308,7736,4.308,7738,4.308,7746,9.893,7747,8.069,7748,8.069,7749,4.653,7750,4.653,7751,4.653,7752,4.653,7753,4.653,7754,4.653,7755,4.653,7756,4.653,7757,4.653,7758,4.653,7759,4.653,7760,4.653,7761,4.653,7762,4.653,7763,4.653,7764,4.308,7765,4.653,7766,4.653,7767,4.653,7768,4.653,7769,4.653,7770,4.653,7771,4.653,7772,4.653,7773,4.653,7774,4.653,7775,3.912,7776,4.653,7777,4.308,7778,4.653,7779,3.912,7780,4.653]],["keywords/1407",[]],["title/1408",[7729,1322.558]],["content/1408",[9,0.976,14,3.732,15,2.605,28,4.228,30,3.47,40,6.226,41,1.617,50,5.113,59,4.174,63,6.26,79,4.112,122,3.686,139,3.23,140,3.048,141,3.981,144,2.15,174,2.106,193,1.408,204,2.209,215,1.926,236,1.527,243,11.022,255,3.649,258,3.686,273,3.265,286,2.455,323,7.744,340,2.905,343,2.185,345,4.276,357,4.238,362,1.47,363,2.867,390,4.144,413,3.586,450,3.888,467,2.557,505,2.905,525,4.391,545,1.235,556,4.227,558,5.571,565,5.723,581,4.608,587,2.65,600,2.829,603,2.708,620,2.65,661,4.459,804,4.87,807,3.854,828,2.133,829,4.321,832,0.835,838,1.634,842,4.595,847,0.952,848,2.847,885,4.853,889,1.86,924,7.726,925,6.989,944,1.926,960,2.87,1014,2.128,1018,2.259,1092,3.496,1110,2.111,1149,4.321,1157,3.686,1205,3.09,1215,2.991,1385,2.44,1434,3.888,1613,3.348,1630,2.373,1644,4.233,2006,2.494,2214,4.82,2294,2.345,2671,4.904,2740,3.432,3543,2.352,3796,3.299,4217,4.603,4429,2.942,4633,4.868,5062,2.373,5064,2.373,6325,2.38,6327,2.38,6339,2.38,6344,2.605,6353,2.605,6382,2.689,6383,2.689,6384,2.689,6385,2.689,6386,2.689,6387,2.689,6388,2.689,6389,2.689,6550,4.273,6700,3.989,6815,8.993,7025,5.48,7026,6.104,7027,6.104,7028,5.648,7029,5.335,7030,5.48,7031,5.48,7034,5.648,7039,11.619,7056,5.851,7057,6.443,7058,5.648,7059,5.648,7330,5.648,7425,4.904,7728,6.104,7729,12.989,7740,6.104,7781,6.443,7782,6.958,7783,6.958,7784,6.958,7785,6.958]],["keywords/1408",[]],["title/1409",[7786,1555.113]],["content/1409",[9,1.615,122,3.731,141,4.643,193,2.33,236,2.527,255,2.547,258,5.435,343,3.616,345,5.868,362,2.432,363,3.44,390,5.08,467,2.554,545,2.043,556,4.575,581,6.323,600,4.172,624,3.049,661,6.119,804,4.328,807,3.953,828,3.53,832,1.382,838,2.704,847,1.574,885,6.339,924,7.666,925,7.09,1014,3.521,1110,3.493,1205,4.556,1215,4.411,1613,4.937,1630,3.927,1644,5.809,2294,3.88,3543,3.892,4633,6.679,5062,3.927,5064,3.927,6325,3.939,6327,3.939,6339,3.939,6382,4.448,6383,4.448,6384,4.448,6385,4.448,6386,4.448,6387,4.448,6388,4.448,6389,4.448,6413,6.381,7025,9.066,7026,10.099,7029,8.827,7030,9.066,7031,9.066,7781,10.66,7786,10.66]],["keywords/1409",[]],["title/1410",[7787,1555.113]],["content/1410",[4,6.878,9,1.569,14,3.469,15,1.445,19,2.707,28,2.346,30,3.433,31,1.416,40,3.767,41,2.146,50,4.489,58,1.398,59,3.665,61,4.452,63,5.375,74,5.16,79,3.354,90,2.38,97,4.063,117,1.964,120,2.456,122,3.165,139,4.287,140,1.967,141,6.364,144,2.854,174,1.169,192,2.961,193,1.387,195,2.52,204,2.175,215,1.069,229,1.928,236,1.504,243,9.677,248,2.961,251,1.567,255,2.831,258,2.23,259,3.231,273,4.085,286,1.362,287,3.833,290,2.52,297,1.748,309,2.592,310,1.268,323,6.103,340,1.612,343,1.213,345,3.34,357,2.565,359,1.99,362,1.448,363,2.614,364,3.442,390,3.265,413,1.99,417,1.321,418,1.883,429,2.036,450,3.828,455,3.4,467,2.556,475,2.385,478,1.792,481,6.197,505,1.612,521,2.075,525,4.336,533,1.723,545,2.271,548,2.707,556,3.298,558,5.967,560,4.163,565,3.463,581,3.599,587,2.61,598,2.52,600,4.304,603,1.503,620,2.61,624,2.961,634,2.123,641,7.471,661,2.877,711,2.14,719,1.654,727,5.294,746,1.765,804,5.042,807,4.041,812,1.309,828,2.101,829,4.255,832,0.463,838,0.907,842,4.108,847,0.528,848,1.58,885,4.511,886,1.647,889,3.42,892,1.508,900,3.719,924,6.848,925,6.835,926,2.091,944,1.896,951,2.123,960,3.809,969,2.176,985,2.346,1008,1.792,1014,3.419,1018,1.254,1025,6.026,1110,1.172,1146,3.463,1149,2.398,1157,3.629,1170,3.043,1189,2.426,1196,2.194,1205,2.52,1215,2.954,1227,1.661,1237,2.003,1344,2.003,1385,2.402,1434,2.158,1473,1.883,1557,2.06,1573,1.883,1613,2.026,1630,2.337,1644,2.731,1898,2.52,2006,1.384,2012,2.487,2020,1.748,2047,2.456,2102,4.305,2199,1.928,2214,7.745,2294,2.309,2394,2.298,2671,2.722,2740,1.905,2808,2.772,3448,2.158,3543,2.316,3555,6.509,3578,2.828,3637,4.038,3796,3.248,4063,2.722,4217,2.555,4429,1.633,4530,3.247,4582,7.496,4633,3.14,5062,2.337,5064,2.337,6000,2.891,6325,1.321,6327,1.321,6339,1.321,6344,1.445,6353,1.445,6413,2.14,6519,2.675,6531,4.746,6541,3.041,6544,2.961,6700,3.928,6746,3.828,6810,2.592,6815,5.802,6967,2.828,6988,2.961,7024,3.134,7025,3.041,7027,3.387,7028,3.134,7029,2.961,7030,3.041,7031,3.041,7034,3.134,7039,9.075,7056,3.247,7058,3.134,7059,3.134,7070,3.247,7203,3.576,7306,2.828,7308,2.772,7309,2.828,7330,5.561,7425,7.88,7427,3.041,7720,8.101,7721,6.01,7722,6.01,7729,5.395,7731,3.387,7740,6.01,7787,11.85,7788,3.861,7789,3.861,7790,3.861,7791,3.861,7792,3.861,7793,3.861,7794,3.861,7795,3.576,7796,3.861,7797,3.861,7798,3.861]],["keywords/1410",[]],["title/1411",[7799,1555.113]],["content/1411",[9,1.676,122,3.831,141,4.767,193,2.417,236,2.621,255,2.642,258,5.581,343,3.751,345,5.991,362,2.523,363,3.478,390,5.144,467,2.536,545,2.12,556,4.67,581,6.455,600,4.283,624,3.162,661,6.247,804,4.418,807,4.003,828,3.661,832,1.433,838,2.805,847,1.633,889,3.192,924,8.075,925,7.001,1014,3.652,1110,3.623,1205,4.678,1215,4.529,1613,5.069,1630,4.073,1644,5.93,2006,4.281,2294,4.025,3543,4.037,4633,6.819,5062,4.073,5064,4.073,6325,4.085,6327,4.085,6339,4.085,6344,4.47,6353,4.47,6382,4.614,6383,4.614,6384,4.614,6385,4.614,6386,4.614,6387,4.614,6388,4.614,6389,4.614,7799,11.058,7800,11.942]],["keywords/1411",[]],["title/1412",[7801,1555.113]],["content/1412",[5,4.357,9,2.909,14,4.953,50,2.971,58,3.308,59,4.22,79,3.319,97,5.243,122,2.663,140,1.947,141,3.314,144,1.663,155,3.006,193,1.089,204,6.099,236,1.181,255,1.19,258,2.976,263,7.29,273,2.636,287,1.611,323,9.493,343,1.69,345,4.198,357,2.014,362,1.137,363,2.984,373,15.128,390,3.887,393,5.387,438,2.67,464,3.571,467,2.596,475,2.361,486,1.751,521,2.891,524,1.338,545,0.955,554,4.152,556,3.986,558,6.127,581,4.523,600,2.284,624,2.42,661,3.712,677,3.785,693,9.191,804,5.024,807,3.842,812,1.824,828,1.649,832,0.646,838,1.263,842,1.727,847,0.736,866,2.275,885,2.689,889,1.438,924,7.977,925,6.999,993,2.935,1014,2.795,1018,1.746,1078,5.194,1110,1.632,1205,3.252,1215,3.148,1613,2.703,1630,3.117,1644,3.524,2006,1.928,2236,3.341,2294,3.081,2390,3.667,2611,4.027,3039,13.717,3217,4.523,3414,3.863,3415,6.695,3543,3.09,4381,3.611,4633,4.052,5037,8.122,5062,3.117,5064,3.117,6325,1.84,6327,1.84,6333,3.727,6336,3.727,6337,3.727,6338,3.727,6339,1.84,6344,2.014,6347,8.255,6351,3.727,6353,2.014,6355,3.667,6357,3.611,6366,3.667,6367,3.727,6370,3.464,6372,3.727,6373,3.611,6375,3.727,6376,3.727,6377,3.727,6378,3.727,6550,7.318,6551,3.792,6554,6.442,6817,3.792,7801,18.545,7802,8.463,7803,17.789,7804,4.982,7805,5.38,7806,5.38,7807,9.14]],["keywords/1412",[]],["title/1413",[7808,1555.113]],["content/1413",[9,0.936,79,2.422,97,2.934,122,2.444,141,3.041,193,1.349,236,1.463,255,1.475,258,3.56,273,1.923,343,2.094,345,4.153,362,1.409,363,2.939,390,4.061,467,2.638,545,1.184,548,6.352,556,3.237,558,2.596,581,4.475,600,2.732,624,1.766,661,4.33,804,5.795,807,4.332,828,2.045,832,0.8,838,1.566,847,0.912,885,5.222,889,1.782,924,8.359,925,7.309,993,3.638,1014,4.251,1110,2.023,1170,2.962,1205,2.984,1215,2.889,1613,3.234,1630,2.274,1644,4.11,2006,2.39,2014,5.113,2294,2.248,3543,2.254,4633,4.727,5037,4.545,5062,2.274,5064,2.274,6325,2.281,6327,2.281,6333,4.619,6336,4.619,6337,4.619,6338,4.619,6339,2.281,6344,2.496,6347,4.619,6351,4.619,6353,2.496,6355,4.545,6357,4.476,6366,4.545,6367,4.619,6370,4.294,6372,4.619,6373,4.476,6375,4.619,6376,4.619,6377,4.619,6378,4.619,6382,2.577,6383,2.577,6384,2.577,6385,2.577,6386,2.577,6387,2.577,6388,2.577,6389,2.577,6531,4.619,6550,4.095,6551,4.7,6554,4.7,6967,4.885,7033,4.294,7802,6.175,7808,6.175,7809,5.413,7810,5.251,7811,5.413,7812,5.413,7813,5.413,7814,5.413,7815,5.413,7816,5.413,7817,5.251]],["keywords/1413",[]],["title/1414",[7818,1555.113]],["content/1414",[9,1.43,115,7.184,122,3.411,141,4.245,193,2.063,236,2.237,255,2.255,258,4.969,273,2.94,343,3.201,345,5.466,362,2.154,363,3.309,390,4.863,467,2.582,545,1.809,548,6.029,556,4.261,581,5.89,600,3.814,624,2.699,661,5.699,804,4.031,807,4.034,828,3.125,832,1.223,838,2.394,847,1.394,885,4.491,889,2.724,924,8.287,925,7.223,1014,3.117,1110,3.093,1205,4.165,1215,4.032,1433,5.743,1613,4.513,1630,3.477,1644,5.41,2006,3.654,2294,3.435,3373,9.438,3543,3.446,4633,6.221,4988,7.631,5062,3.477,5064,3.477,6325,3.487,6327,3.487,6332,6.482,6339,3.487,6344,3.815,6353,3.815,6382,3.939,6383,3.939,6384,3.939,6385,3.939,6386,3.939,6387,3.939,6388,3.939,6389,3.939,6413,5.65,7817,8.027,7818,9.438,7819,10.193,7820,10.193,7821,10.193,7822,10.193]],["keywords/1414",[]],["title/1415",[7823,1555.113]],["content/1415",[4,8.495,9,2.482,14,3.804,15,1.526,27,1.599,50,1.793,58,3.491,74,2.279,79,5.316,122,3.954,139,4.476,140,2.054,141,2,144,2.98,149,5.046,162,1.913,174,1.234,187,1.559,193,0.825,202,2.989,218,2.061,229,2.036,236,1.578,255,1.591,258,2.341,273,2.074,274,1.309,283,1.893,287,1.221,291,10.766,297,1.846,310,2.361,319,2.334,322,2.664,323,7.349,329,2.334,343,1.281,345,3.473,362,2.037,363,2.837,390,3.932,417,1.395,418,1.988,423,1.457,429,1.212,432,5.383,443,2.537,452,4.901,464,1.593,467,2.604,489,1.762,524,2.399,525,6.13,545,0.724,556,3.681,558,2.798,560,2.477,563,2.779,581,3.104,600,2.905,613,1.206,632,4.701,661,3.004,727,2.338,804,5.119,807,4.166,808,1.903,812,2.438,823,1.955,828,1.25,832,0.489,838,0.958,840,1.313,847,0.558,882,2.088,885,3.902,887,1.837,889,1.09,924,8.087,925,7.041,947,1.828,976,1.542,1014,5.854,1018,1.324,1110,1.237,1120,1.629,1205,1.962,1215,4.674,1253,4.492,1366,4.895,1573,1.988,1613,2.126,1630,1.391,1644,2.852,1777,6.836,1817,3.809,1941,2.403,2002,1.874,2006,1.462,2146,5.454,2255,1.944,2294,1.374,2591,3.127,2637,5.221,3397,2.737,3460,2.279,3543,1.378,3568,2.825,3637,6.853,4008,3.429,4217,2.698,4633,3.279,5033,3.776,5062,1.391,5064,1.391,6325,1.395,6327,1.395,6339,1.395,6344,1.526,6353,1.526,6382,1.576,6383,1.576,6384,1.576,6385,1.576,6386,1.576,6387,1.576,6388,1.576,6389,1.576,6700,4.122,6701,2.825,6702,2.626,6703,2.874,6708,2.779,6711,9.85,6723,2.874,6724,2.874,6726,2.737,6728,2.779,6730,2.779,6733,2.825,6734,2.825,6735,2.825,6736,2.825,6738,2.779,6739,2.737,6740,2.737,6741,2.737,6745,2.825,6746,2.279,6749,2.737,6750,2.403,6751,2.626,6752,2.825,6753,2.779,6754,2.737,6755,2.825,6756,2.779,6757,3.053,6759,2.825,6760,2.779,6764,2.737,6771,2.928,6778,2.874,6811,6.132,6812,6.132,6813,6.059,7033,2.626,7038,3.053,7040,2.737,7041,3.053,7061,3.429,7244,3.776,7298,3.776,7823,10.766,7824,7.19,7825,4.078,7826,4.078,7827,16.814,7828,4.078,7829,4.078,7830,4.078,7831,4.078,7832,4.078,7833,4.078,7834,4.078,7835,4.078,7836,7.19,7837,4.078,7838,4.078,7839,4.078,7840,4.078]],["keywords/1415",[]],["title/1416",[7841,1555.113]],["content/1416",[4,8.278,9,0.872,14,4.17,41,3.075,51,3.182,79,5.594,117,3.162,122,4.119,140,1.324,141,2.87,174,1.881,193,1.258,202,2.584,204,1.973,236,2.903,255,2.283,258,3.359,273,4.442,282,10.418,310,2.041,319,2.018,322,2.303,323,5.266,343,1.952,345,3.952,352,3.445,357,2.326,362,1.313,363,2.857,364,3.122,390,4.517,418,3.03,467,2.583,469,6.269,489,2.686,521,8.278,525,2.41,545,1.103,556,3.979,558,4.016,560,3.776,562,3.203,581,4.259,582,4.381,600,3.849,661,4.121,727,5.915,804,5.054,807,4.178,820,1.862,823,2.979,828,1.906,832,0.746,838,1.46,840,2.001,842,1.995,847,0.85,885,3.893,886,2.651,887,2.8,889,2.758,894,3.502,924,7.92,925,6.996,976,2.351,1014,4.046,1018,2.018,1068,3.084,1110,1.886,1205,2.816,1215,4.869,1253,2.402,1329,3.473,1366,4.344,1433,5.814,1434,3.473,1437,3.551,1557,5.505,1613,3.051,1630,2.12,1644,3.912,1777,5.318,1817,3.292,2006,2.228,2146,4.84,2294,2.095,2481,5.915,2637,3.365,2738,4.172,3027,3.776,3543,2.101,4039,5.045,4276,4.056,4633,4.499,5062,2.12,5064,2.12,6325,2.126,6327,2.126,6328,3.595,6339,2.126,6344,2.326,6353,2.326,6382,2.402,6383,2.402,6384,2.402,6385,2.402,6386,2.402,6387,2.402,6388,2.402,6389,2.402,6700,3.563,6711,8.218,6739,4.172,6740,4.172,6741,4.172,6742,4.895,6746,3.473,6750,3.663,6751,4.003,6809,4.895,6810,4.172,6811,3.952,6812,3.952,6813,3.905,7033,4.003,7038,4.653,7123,5.045,7142,4.553,7148,5.045,7841,12.25,7842,5.045,7843,5.226,7844,5.755,7845,5.755,7846,5.452,7847,5.755,7848,5.452,7849,5.452,7850,5.755,7851,6.215,7852,5.755,7853,6.215,7854,6.215,7855,6.215,7856,5.226,7857,6.215]],["keywords/1416",[]],["title/1417",[7858,1555.113]],["content/1417",[9,1.309,122,3.191,141,3.97,193,1.888,236,2.048,255,2.065,258,4.647,273,2.691,343,2.931,345,5.179,362,1.972,363,3.211,390,4.701,467,2.602,545,1.656,556,4.038,558,3.632,581,5.581,600,3.567,624,2.471,661,5.401,804,5.061,807,4.236,828,2.861,832,1.12,838,2.192,847,1.276,885,2.746,889,2.494,924,8.406,925,7.23,1014,4.365,1110,2.831,1205,3.896,1215,4.581,1613,4.222,1630,3.183,1644,5.127,2006,3.345,2294,3.145,3543,3.154,4633,5.896,5062,3.183,5064,3.183,6325,3.192,6327,3.192,6328,5.398,6339,3.192,6344,3.493,6353,3.493,6382,3.606,6383,3.606,6384,3.606,6385,3.606,6386,3.606,6387,3.606,6388,3.606,6389,3.606,6700,5.35,6711,7.616,6746,5.214,6750,5.5,7033,6.009,7842,7.574,7843,7.846,7846,8.186,7858,8.641,7859,8.641,7860,9.331,7861,9.331,7862,8.186,7863,8.186]],["keywords/1417",[]],["title/1418",[7864,1555.113]],["content/1418",[9,1.502,122,3.538,141,4.402,193,2.166,236,2.349,255,2.368,258,5.153,273,3.087,343,3.362,345,5.626,362,2.262,363,3.362,390,4.951,467,2.577,545,1.9,556,4.386,581,6.063,600,3.955,624,2.835,661,5.867,804,4.893,807,4.179,828,3.282,832,1.285,838,2.514,847,1.464,889,2.861,924,8.203,925,7.148,1014,3.273,1110,3.248,1205,4.32,1215,4.976,1613,4.681,1630,3.651,1644,5.569,2006,3.837,2294,3.608,3543,3.618,4633,6.404,5062,3.651,5064,3.651,6325,3.662,6327,3.662,6328,6.192,6339,3.662,6344,4.007,6353,4.007,6382,4.136,6383,4.136,6384,4.136,6385,4.136,6386,4.136,6387,4.136,6388,4.136,6389,4.136,6711,5.711,6750,6.309,7033,6.893,7842,8.689,7864,9.912,7865,9.912]],["keywords/1418",[]],["title/1419",[7866,1555.113]],["content/1419",[9,1.421,122,3.395,141,4.224,193,2.05,236,2.223,255,2.241,258,4.945,273,2.921,343,3.181,345,5.445,362,2.14,363,3.302,390,4.851,467,2.586,545,1.798,556,4.245,558,3.942,560,6.154,581,5.867,600,3.796,624,2.682,661,5.678,804,4.78,807,4.194,828,3.105,832,1.216,838,2.379,847,1.385,889,2.707,924,8.409,925,7.176,1014,4.645,1110,3.073,1205,4.145,1215,4.815,1613,4.492,1630,3.455,1644,5.39,2006,3.631,2294,3.414,3543,3.424,4633,6.198,5062,3.455,5064,3.455,6325,3.465,6327,3.465,6339,3.465,6344,3.791,6353,3.791,6382,3.914,6383,3.914,6384,3.914,6385,3.914,6386,3.914,6387,3.914,6388,3.914,6389,3.914,6700,5.807,6711,5.404,6746,5.66,6750,5.97,7033,6.523,7842,8.221,7859,9.379,7866,9.379,7867,10.129]],["keywords/1419",[]],["title/1420",[7848,1473.221]],["content/1420",[9,1.709,14,4.588,51,3.902,79,6.315,122,3.887,140,1.623,141,3.388,174,2.306,193,1.542,202,3.169,204,2.42,236,1.673,255,1.686,258,3.966,273,4.39,282,11.987,310,2.502,319,2.474,322,2.824,323,4.85,343,2.393,345,4.547,362,1.61,363,2.976,390,4.856,467,2.566,469,7.402,489,3.293,525,2.955,545,1.353,556,4.428,558,4.742,581,4.9,600,3.803,661,4.742,804,3.832,807,3.875,820,2.283,828,2.337,832,0.915,838,1.79,840,2.453,842,2.447,847,1.042,885,3.585,889,2.037,907,4.973,924,8.175,925,7.07,976,2.882,1014,3.726,1018,2.474,1068,3.782,1110,2.312,1205,3.325,1215,5.357,1253,2.945,1329,4.259,1366,5.13,1433,4.294,1434,4.259,1557,4.066,1613,3.603,1630,2.599,1644,4.501,1777,6.279,1817,4.037,2006,2.732,2146,5.715,2294,2.569,2481,4.369,2637,4.126,2738,5.115,3543,2.576,4633,5.176,5062,2.599,5064,2.599,6325,2.607,6327,2.607,6328,4.409,6339,2.607,6344,2.853,6353,2.853,6382,2.945,6383,2.945,6384,2.945,6385,2.945,6386,2.945,6387,2.945,6388,2.945,6389,2.945,6700,4.369,6711,8.121,6744,5.371,6746,4.259,6750,4.492,6751,4.908,6758,5.371,6811,4.846,6812,4.846,6813,4.788,7123,6.186,7212,6.186,7214,7.057,7842,6.186,7843,6.408,7844,7.057,7845,7.057,7846,6.685,7847,7.057,7848,15.254,7849,6.685,7850,7.057,7856,6.408,7865,7.057,7868,7.621]],["keywords/1420",[]],["title/1421",[7869,1555.113]],["content/1421",[4,8.393,9,2.894,14,4.022,26,3.19,41,2.921,51,4.057,59,2.558,117,4.03,122,3.973,139,8.998,140,1.687,141,3.495,193,1.603,215,2.193,229,6.274,236,1.739,255,1.753,258,4.091,269,3.061,273,2.285,282,6.239,323,5.002,343,3.947,345,4.666,362,1.674,363,3.135,390,4.393,413,6.476,467,2.593,525,4.873,526,3.502,545,1.406,556,4.514,581,5.028,600,3.14,661,4.865,727,4.542,804,3.441,807,3.827,828,3.853,832,0.951,838,1.861,847,1.084,885,2.331,889,2.117,924,8.232,925,7.059,1014,3.843,1018,2.572,1110,2.404,1205,3.429,1215,3.32,1613,3.716,1630,2.702,1644,4.618,2006,2.84,2279,7.022,2294,2.67,3543,2.678,3637,4.67,4633,5.311,4745,7.336,5062,2.702,5064,2.702,6325,2.71,6327,2.71,6339,2.71,6344,2.966,6353,2.966,6382,3.061,6383,3.061,6384,3.061,6385,3.061,6386,3.061,6387,3.061,6388,3.061,6389,3.061,6563,10.566,6577,5.689,6620,5.931,6713,5.931,6718,6.075,7779,10.566,7843,6.661,7849,13.7,7869,7.336,7870,7.336,7871,7.923,7872,7.923,7873,7.923,7874,7.923,7875,7.923,7876,11.023,7877,7.923,7878,7.923,7879,7.923,7880,7.923,7881,7.923,7882,7.923,7883,7.923,7884,7.923,7885,12.566]],["keywords/1421",[]],["title/1422",[7886,1555.113]],["content/1422",[9,2.915,14,3.572,15,3.436,16,2.448,21,3.64,30,2.225,41,2.133,50,2.982,58,1.957,59,2.435,63,2.052,97,2.379,122,2.673,139,2.51,140,2.547,141,3.326,188,2.621,193,2.421,206,5.007,209,5.41,215,2.541,226,16.051,236,2.015,253,3.629,255,2.646,258,2.988,270,5.519,286,1.908,293,3.746,323,5.611,329,1.755,343,1.698,345,3.573,355,2.06,357,2.024,359,2.787,362,1.939,363,3.246,364,2.716,390,4.274,393,3.187,429,1.607,432,4.048,433,4.146,451,7.229,464,4.673,467,2.507,475,2.371,505,2.258,524,2.284,545,2.123,556,4.674,581,4.538,587,2.06,600,3.522,603,6.68,624,3.733,641,3.157,661,3.726,702,2.973,713,2.347,719,2.316,746,2.472,764,3.881,789,2.203,804,4.243,807,3.545,808,4.283,812,1.833,816,3.285,820,2.749,828,1.658,830,8.082,832,0.649,836,2.922,838,1.27,840,1.741,847,0.739,866,5.057,889,1.445,897,3.073,898,4.329,900,2.177,924,6.98,925,6.519,982,2.459,988,2.928,1014,1.653,1018,1.755,1045,10.557,1091,3.961,1105,12.897,1106,7.451,1107,3.746,1108,8.286,1110,1.641,1112,4.389,1205,3.264,1207,5.837,1215,3.16,1238,2.636,1294,2.448,1358,3.438,1366,3.865,1370,6.256,1373,2.7,1572,3.397,1613,4.169,1630,3.131,1644,3.537,1777,2.787,1838,2.286,1938,9.171,2006,1.938,2294,3.094,3028,5.007,3364,4.146,3401,4.743,3438,3.438,3502,3.358,3517,3.629,3543,3.103,3653,2.379,3664,12.433,3733,4.389,3974,4.146,4078,14.409,4082,4.146,4266,4.389,4633,4.067,4865,2.683,4881,3.577,4887,8.052,5062,3.131,5064,3.131,5518,4.258,6032,4.389,6040,4.258,6086,4.546,6325,1.85,6327,1.85,6339,1.85,6344,2.024,6353,2.024,7191,4.546,7715,4.743,7886,16.943,7887,9.179,7888,4.743,7889,5.007,7890,5.407,7891,5.407,7892,5.407,7893,5.407,7894,5.407,7895,5.407,7896,5.407,7897,5.407,7898,5.007,7899,5.407,7900,5.407,7901,5.407,7902,5.407,7903,5.407,7904,5.407,7905,5.407,7906,5.407,7907,5.007,7908,5.007,7909,5.407,7910,5.007,7911,5.007,7912,5.407,7913,5.007,7914,5.407,7915,5.407,7916,5.407,7917,5.007,7918,8.5,7919,5.007,7920,5.007,7921,5.007,7922,5.007,7923,5.007]],["keywords/1422",[]],["title/1423",[7924,1555.113]],["content/1423",[9,3.126,14,3.439,15,2.278,16,2.755,30,2.458,31,2.232,40,3.346,41,1.414,48,2.413,50,1.517,58,2.203,59,2.653,63,2.31,79,3.682,97,2.678,122,2.913,139,2.825,140,2.159,141,2.82,188,2.95,193,2.052,201,16.887,209,5.976,226,13.335,236,3.706,253,4.085,255,2.243,258,3.301,270,6.096,293,4.216,319,1.976,323,5.187,343,1.911,345,3.893,357,2.278,362,2.142,363,2.704,390,4.119,429,3.013,432,4.556,433,4.666,451,10.263,467,2.573,513,3.116,545,1.08,556,5.189,581,4.195,587,2.318,600,2.533,603,3.946,624,2.685,641,3.553,661,4.06,677,2.52,693,3.553,702,3.346,713,2.641,804,4.262,807,3.358,808,2.84,820,3.037,828,1.866,832,0.73,836,3.228,838,1.429,840,1.959,847,0.832,866,5.51,885,1.791,886,2.595,889,1.626,898,4.781,900,4.083,924,6.941,925,6.48,944,1.684,1014,1.861,1018,1.976,1045,11.72,1091,4.458,1105,14.827,1106,4.94,1107,4.216,1108,11.699,1110,3.076,1112,4.94,1205,2.767,1215,2.679,1238,2.967,1366,2.562,1373,3.038,1613,2.998,1630,2.076,1644,3.854,2006,2.181,2294,2.051,3502,3.779,3517,4.085,3543,2.057,3687,16.887,3689,4.94,3974,4.666,4082,4.666,4633,4.432,4865,3.02,4881,4.026,4887,14.814,4892,5.117,5062,2.076,5064,2.076,5979,5.338,6032,4.94,6040,4.792,6325,2.082,6327,2.082,6339,2.082,6344,2.278,6353,2.278,6382,2.351,6383,2.351,6384,2.351,6385,2.351,6386,2.351,6387,2.351,6388,2.351,6389,2.351,6613,5.117,6628,5.117,7715,5.338,7888,5.338,7889,5.635,7907,5.635,7908,5.635,7910,5.635,7911,5.635,7913,9.388,7917,5.635,7918,9.388,7919,5.635,7920,5.635,7921,5.635,7922,5.635,7923,5.635,7924,19.48,7925,6.085,7926,6.085,7927,6.085,7928,6.085,7929,6.085,7930,6.085,7931,10.139,7932,6.085,7933,6.085,7934,6.085,7935,6.085,7936,6.085,7937,5.635,7938,5.338,7939,5.635,7940,6.085]],["keywords/1423",[]],["title/1424",[7941,1555.113]],["content/1424",[9,1.22,21,1.845,122,3.022,141,3.761,193,1.76,235,4.102,236,1.909,255,1.924,258,4.402,343,2.732,345,4.956,362,1.838,363,3.13,390,4.569,467,2.62,545,1.544,548,3.436,556,3.863,558,3.385,581,5.34,600,3.379,624,2.303,661,5.168,804,5.68,807,4.354,828,2.667,832,1.044,838,2.043,847,1.189,885,6.589,889,2.324,924,7.572,925,7.227,1014,4.135,1110,2.639,1175,6.669,1176,6.669,1178,6.511,1179,6.511,1180,6.511,1188,6.371,1189,5.465,1205,3.69,1215,3.573,1613,3.999,1630,2.967,1644,4.906,2006,3.118,2294,2.931,3438,5.531,3513,6.371,3543,2.94,4445,6.371,4633,5.641,5062,2.967,5064,2.967,6325,2.975,6327,2.975,6332,5.531,6339,2.975,6344,3.256,6353,3.256,6382,3.361,6383,3.361,6384,3.361,6385,3.361,6386,3.361,6387,3.361,6388,3.361,6389,3.361,6405,5.402,6642,7.06,6644,7.06,6645,7.06,6646,7.06,6647,6.849,7941,8.054]],["keywords/1424",[]],["title/1425",[7942,1555.113]],["content/1425",[9,1.548,122,3.618,141,4.502,193,2.233,236,2.422,255,2.442,258,5.27,273,3.183,343,3.466,345,5.727,362,2.332,363,3.395,390,5.005,467,2.566,545,1.959,556,4.465,581,6.172,600,4.045,624,2.923,661,5.973,804,4.224,807,3.895,828,3.384,832,1.324,838,2.592,847,1.509,885,6.213,889,2.95,924,8.049,925,7.147,1014,3.375,1110,3.349,1205,4.418,1215,4.277,1613,4.787,1630,3.764,1644,5.669,2006,3.956,2294,3.72,3543,3.731,4633,6.519,5062,3.764,5064,3.764,6325,3.776,6327,3.776,6339,3.776,6344,4.131,6353,4.131,6382,4.264,6383,4.264,6384,4.264,6385,4.264,6386,4.264,6387,4.264,6388,4.264,6389,4.264,6405,6.854,7942,10.219,7943,10.219,7944,10.219,7945,11.036,7946,10.219]],["keywords/1425",[]],["title/1426",[3419,1287.729]],["content/1426",[9,2.541,14,3.722,21,1.47,58,5.955,59,4.821,97,4.964,122,3.19,140,2.403,141,3.969,144,2.141,190,4.799,193,2.888,236,2.476,255,1.533,258,3.673,264,3.438,269,2.677,270,4.166,273,4.116,287,2.075,293,4.799,323,4.491,343,2.176,345,4.264,362,2.384,363,3.085,390,4.36,432,5.187,433,5.312,454,4.124,467,2.568,475,2.914,478,3.216,521,7.67,540,2.476,545,2.003,556,3.831,568,3.696,581,5.296,600,4.111,624,2.988,661,4.446,693,4.045,764,2.929,794,4.084,804,4.511,807,3.848,812,3.825,828,2.124,832,0.831,838,1.627,847,0.948,885,4.84,889,1.852,924,7.379,925,6.908,931,2.188,982,1.856,988,3.751,1011,3.78,1014,2.119,1061,3.644,1103,3.418,1110,2.102,1122,6.854,1205,3.895,1207,9.076,1215,3.771,1216,4.255,1227,2.981,1366,2.917,1518,5.624,1613,4.865,1630,3.848,1644,4.22,2006,2.484,2294,3.802,3039,7.464,3414,13.941,3419,10.943,3543,3.814,4381,13.74,4633,4.853,5062,3.848,5064,3.848,5853,2.955,6325,2.37,6327,2.37,6329,4.722,6332,4.406,6339,2.37,6344,2.593,6353,2.593,6354,9.727,6355,7.69,6405,4.303,6413,3.84,7810,5.456,7947,14.272,7948,6.928,7949,6.928,7950,6.928,7951,16.77,7952,6.928,7953,11.282,7954,6.928,7955,6.928,7956,6.928,7957,6.928,7958,6.928,7959,6.928,7960,6.928]],["keywords/1426",[]],["title/1427",[3039,1111.048]],["content/1427",[5,2.892,9,2.365,14,5.252,18,2.831,21,0.715,22,2.006,26,2.443,27,1.321,30,2.451,31,1.236,38,2.845,41,2.35,46,0.944,50,2.909,58,6.359,59,4.029,63,1.279,79,6.612,87,4.541,90,1.17,96,1.772,97,4.449,122,4.522,139,1.564,140,1.292,141,2.301,144,4.376,149,6.146,155,1.883,162,2.845,174,1.02,187,3.162,193,1.228,194,3.232,208,1.703,236,0.739,251,1.368,253,2.262,255,1.83,257,1.079,258,1.975,260,3.86,263,6.054,270,2.026,273,4.376,279,2.17,286,1.189,287,2.478,290,2.199,297,1.525,307,4.013,323,7.687,329,2.686,340,1.407,343,1.058,345,3.884,352,1.868,357,2.271,362,0.712,363,2.828,364,1.693,379,1.899,382,2.801,390,3.59,393,1.986,398,1.312,417,2.075,418,2.957,429,1.002,464,1.316,467,2.554,475,1.567,482,3.26,486,2.693,500,1.362,521,1.811,524,1.509,533,2.707,545,2.308,548,1.331,554,2.882,556,3.533,558,5.061,565,3.066,581,3.255,587,3.852,600,3.538,612,1.915,620,1.283,624,2.191,642,2.006,648,2.143,661,2.577,667,1.899,677,3.426,693,10.257,699,1.288,711,1.868,717,4.443,719,1.443,727,3.478,730,2.047,784,2.047,794,1.986,804,4.547,807,3.593,812,1.142,820,1.009,824,0.747,828,1.033,832,0.404,838,0.791,842,1.082,847,0.461,848,1.378,862,1.967,866,1.425,876,1.39,882,5.177,885,2.975,887,1.518,889,0.901,898,1.589,909,1.986,924,7.163,925,6.7,944,1.679,949,1.297,960,1.39,968,3.509,969,1.899,993,1.838,1014,1.855,1018,1.094,1061,1.772,1078,1.915,1110,1.84,1120,1.346,1163,1.838,1205,2.258,1207,7.42,1215,2.186,1227,3.559,1261,1.533,1265,3.958,1366,1.419,1373,1.682,1558,2.117,1563,2.069,1564,2.199,1613,2.99,1630,2.069,1644,2.446,1849,2.229,2006,1.208,2020,2.746,2102,2.117,2163,1.541,2174,2.334,2236,2.093,2294,2.044,2311,1.772,2390,2.297,2640,1.483,2658,2.956,2736,2.956,2737,2.584,3039,10.627,3041,2.956,3126,3.958,3364,2.584,3371,4.443,3414,5.94,3415,8.547,3431,2.143,3514,2.735,3543,2.051,3609,2.654,3688,2.584,3691,2.584,3701,5.731,3796,1.598,3812,2.143,3893,3.509,4083,1.748,4143,5.1,4208,2.735,4286,2.735,4336,4.777,4381,8.728,4459,2.468,4633,2.813,4881,2.229,5037,4.134,5062,2.069,5064,2.069,5546,2.654,5853,1.437,6040,2.654,6073,5.321,6325,1.153,6327,1.153,6329,2.297,6332,2.143,6333,2.334,6334,2.419,6336,2.334,6337,2.334,6338,2.334,6339,1.153,6344,1.261,6347,4.202,6351,2.334,6353,1.261,6355,2.297,6357,2.262,6366,2.297,6367,4.202,6370,2.17,6372,4.202,6373,4.072,6375,4.202,6376,2.334,6377,2.334,6378,5.731,6402,2.956,6405,2.093,6412,2.523,6413,1.868,6467,2.419,6512,2.735,6547,2.735,6550,7.166,6551,4.275,6552,2.735,6554,8.224,6559,2.956,6560,2.956,6562,12.42,6563,5.1,6564,5.617,6565,2.956,6568,3.12,6569,5.617,6570,3.12,6571,3.12,7961,3.37,7962,3.37,7963,3.12,7964,3.12,7965,3.12,7966,3.12,7967,3.37,7968,7.66,7969,3.12,7970,6.066,7971,5.617,7972,3.12,7973,3.12,7974,3.12,7975,3.12,7976,3.12,7977,2.833,7978,3.37,7979,3.37,7980,3.12]],["keywords/1427",[]],["title/1428",[7981,1555.113]],["content/1428",[9,1.548,122,3.618,141,4.502,193,2.233,236,2.422,255,2.442,258,5.27,273,3.183,343,3.466,345,5.727,362,2.332,363,3.395,390,5.005,467,2.566,545,1.959,556,4.465,581,6.172,600,4.045,624,2.923,661,5.973,804,4.224,807,3.895,828,3.384,832,1.324,838,2.592,847,1.509,885,6.213,889,2.95,924,8.049,925,7.147,1014,3.375,1110,3.349,1205,4.418,1215,4.277,1613,4.787,1630,3.764,1644,5.669,2006,3.956,2294,3.72,3543,3.731,4633,6.519,5062,3.764,5064,3.764,6325,3.776,6327,3.776,6339,3.776,6344,4.131,6353,4.131,6382,4.264,6383,4.264,6384,4.264,6385,4.264,6386,4.264,6387,4.264,6388,4.264,6389,4.264,6405,6.854,7943,10.219,7944,10.219,7946,10.219,7981,10.219,7982,11.036]],["keywords/1428",[]],["title/1429",[7983,1473.221]],["content/1429",[4,2.022,8,2.55,9,2.119,14,3.153,15,1.408,16,1.703,26,2.695,30,2.659,31,1.38,41,2.102,48,1.492,50,3.136,59,2.233,76,2.454,79,3.984,97,3.979,120,2.392,122,3.115,141,6.833,144,2.795,146,1.515,193,0.761,204,3.993,222,1.993,236,1.469,237,2.755,248,2.892,251,2.717,255,2.001,258,2.179,259,1.774,262,2.022,264,4.488,273,1.931,287,3.767,290,2.454,309,2.525,310,1.235,323,3.6,343,1.181,345,2.702,357,1.408,362,0.795,363,2.749,390,3.432,393,2.217,404,1.257,409,2.138,413,4.661,429,4.79,443,2.362,455,1.867,467,2.593,475,1.729,486,1.225,489,2.892,501,2.31,524,0.936,533,1.678,545,1.947,548,4.968,554,1.311,556,2.555,558,4.895,581,3.531,587,1.433,600,4.027,603,1.464,609,1.979,614,2.422,620,1.433,624,1.773,648,4.257,661,2.817,693,7.342,719,1.611,804,5.51,807,4.259,812,1.275,820,1.127,828,2.052,832,0.451,838,0.883,842,2.149,847,0.514,866,1.59,885,4.742,886,2.855,889,3.361,900,1.515,924,7.495,925,7.078,928,4.757,944,1.041,993,2.052,1011,2.052,1014,3.846,1036,1.783,1057,2.564,1110,1.141,1170,2.973,1189,2.363,1196,2.138,1200,2.884,1205,2.468,1215,2.898,1227,1.618,1373,1.878,1385,1.319,1473,1.834,1558,2.363,1573,1.834,1613,1.979,1630,2.283,1644,2.674,1683,1.428,1817,1.993,1898,2.454,1941,2.217,2006,1.348,2012,2.422,2014,5.133,2163,1.72,2294,2.256,2380,2.962,2394,2.239,2808,2.701,3039,5.983,3126,2.454,3303,3.163,3387,2.239,3395,4.428,3543,2.263,3578,2.755,3699,12.26,3812,2.392,4063,2.651,4381,9.354,4633,3.075,5037,2.564,5062,2.283,5064,2.283,5364,2.816,5543,2.962,5584,3.3,5992,5.872,6000,2.816,6325,1.287,6327,1.287,6329,2.564,6332,2.392,6333,2.606,6334,2.701,6336,2.606,6337,2.606,6338,2.606,6339,1.287,6344,1.408,6347,2.606,6351,6.265,6353,1.408,6355,2.564,6357,2.525,6366,2.564,6367,2.606,6370,2.422,6372,2.606,6373,2.525,6375,2.606,6376,2.606,6377,2.606,6378,2.606,6405,2.336,6413,2.085,6519,2.606,6520,3.163,6531,4.637,6541,2.962,6544,2.884,6550,2.31,6551,2.651,6552,3.053,6554,2.651,6967,2.755,7033,2.422,7306,2.755,7308,2.701,7309,2.755,7809,5.433,7810,2.962,7811,5.433,7812,5.433,7813,7.341,7814,3.053,7815,7.341,7816,3.053,7817,5.271,7983,5.872,7984,3.3,7985,3.3,7986,3.3,7987,3.483,7988,6.198,7989,8.374,7990,3.483,7991,3.483,7992,3.483,7993,3.483,7994,3.483,7995,3.483,7996,3.483,7997,3.483,7998,3.483,7999,3.762,8000,3.483,8001,3.483]],["keywords/1429",[]],["title/1430",[8002,1555.113]],["content/1430",[9,1.103,79,2.856,97,3.46,122,2.792,141,3.474,193,1.591,236,1.726,255,1.74,258,4.067,273,2.268,343,2.47,345,4.643,362,1.662,363,3.126,390,4.379,467,2.625,545,1.396,556,3.62,558,3.061,581,5.003,600,3.122,624,2.083,661,4.842,804,5.619,807,4.307,828,2.411,832,0.944,838,1.847,847,1.076,885,3.676,889,2.102,924,8.451,925,7.288,993,4.291,1014,3.82,1110,2.386,1205,3.409,1215,3.301,1613,3.694,1630,2.682,1644,4.596,2006,2.819,2294,2.651,3543,2.658,4633,5.285,5037,5.36,5062,2.682,5064,2.682,6325,2.69,6327,2.69,6333,5.448,6334,5.647,6336,5.448,6337,5.448,6338,5.448,6339,2.69,6344,2.944,6347,5.448,6351,5.448,6353,2.944,6355,5.36,6357,5.279,6366,5.36,6367,5.448,6370,5.064,6372,5.448,6373,5.279,6375,5.448,6376,5.448,6377,5.448,6378,5.448,6382,3.039,6383,3.039,6384,3.039,6385,3.039,6386,3.039,6387,3.039,6388,3.039,6389,3.039,6550,4.83,6551,5.543,6554,5.543,7951,7.282,8002,7.282]],["keywords/1430",[]],["title/1431",[8003,1473.221]],["content/1431",[9,1.417,122,3.387,141,4.214,193,2.043,236,2.216,255,2.234,258,4.933,273,2.912,343,3.171,345,5.435,352,5.596,362,2.133,363,3.299,390,4.845,467,2.59,545,1.792,556,4.237,581,5.856,600,3.787,624,2.674,661,5.667,804,5.199,807,4.401,828,3.096,832,1.212,838,2.371,847,1.381,885,2.971,889,2.698,924,7.999,925,7.149,1014,3.088,1110,3.063,1205,4.135,1215,4.004,1613,4.481,1630,3.444,1644,5.379,1913,6.421,2006,3.619,2294,3.403,3543,3.413,4633,6.186,5062,3.444,5064,3.444,6325,3.454,6326,6.68,6327,3.454,6339,3.454,6344,3.779,6353,3.779,6382,3.901,6383,3.901,6384,3.901,6385,3.901,6386,3.901,6387,3.901,6388,3.901,6389,3.901,6711,5.387,8003,8.857,8004,8.857,8005,8.857,8006,10.097,8007,9.349,8008,9.349,8009,9.349,8010,10.097]],["keywords/1431",[]],["title/1432",[8011,1555.113]],["content/1432",[9,1.114,21,1.685,122,2.814,141,3.502,193,1.607,235,3.745,236,1.743,255,1.757,258,4.099,343,2.494,345,4.673,362,1.678,363,3.025,390,4.397,467,2.623,545,1.41,548,3.138,556,3.643,558,3.091,581,5.036,600,3.146,624,2.103,661,4.873,804,5.568,807,4.409,828,2.435,832,0.953,838,1.865,847,1.086,885,7.232,889,2.123,924,7.376,925,7.272,1014,3.85,1110,2.41,1175,6.09,1176,6.09,1178,5.946,1179,5.946,1180,5.946,1188,5.818,1189,4.99,1205,3.436,1215,3.327,1613,3.723,1630,2.709,1644,4.626,2006,2.847,2294,2.677,3438,5.051,3513,5.818,3543,2.685,4445,5.818,4633,5.319,5062,2.709,5064,2.709,6325,2.717,6327,2.717,6339,2.717,6344,2.973,6353,2.973,6382,3.069,6383,3.069,6384,3.069,6385,3.069,6386,3.069,6387,3.069,6388,3.069,6389,3.069,6405,4.933,6413,4.402,6642,6.447,6644,6.447,6645,6.447,6646,6.447,6647,6.255,6711,4.237,8003,6.967,8004,6.967,8005,6.967,8007,7.354,8008,7.354,8011,7.354,8012,7.942,8013,7.942,8014,7.942,8015,7.942]],["keywords/1432",[]],["title/1433",[8016,1555.113]],["content/1433",[9,1.373,122,3.309,141,4.117,193,1.981,236,2.148,255,2.166,258,4.819,273,2.823,343,3.074,345,5.334,362,2.068,363,3.264,390,4.789,467,2.601,545,1.737,556,4.158,558,3.81,581,5.747,600,3.699,624,2.592,661,5.562,804,5.424,807,4.331,828,3.001,832,1.175,838,2.299,847,1.339,885,4.356,889,2.616,924,8.142,925,7.17,1014,2.993,1110,2.97,1205,4.04,1215,3.911,1613,4.378,1630,3.338,1644,5.279,1913,6.224,2006,3.509,2294,3.299,3543,3.309,4633,6.071,5062,3.338,5064,3.338,5429,9.063,6325,3.348,6327,3.348,6339,3.348,6344,3.664,6353,3.664,6382,3.782,6383,3.782,6384,3.782,6385,3.782,6386,3.782,6387,3.782,6388,3.782,6389,3.782,6405,6.079,7033,6.303,8004,8.586,8005,8.586,8009,9.063,8016,9.063,8017,9.788,8018,9.788,8019,9.788]],["keywords/1433",[]],["title/1434",[8020,1555.113]],["content/1434",[9,1.663,122,3.811,141,4.742,193,2.399,236,2.601,255,2.623,258,5.551,273,3.419,343,3.723,345,5.966,362,2.505,363,3.47,390,5.131,467,2.533,521,6.371,545,2.104,556,4.651,558,4.614,581,6.428,600,4.261,624,3.139,661,6.221,804,3.757,807,3.993,828,3.634,832,1.423,838,2.784,847,1.621,924,8.181,925,7.04,1014,3.625,1110,3.597,1205,4.653,1215,4.505,1613,5.042,1630,4.043,1644,5.905,2294,3.995,3543,4.007,4633,6.791,5062,4.043,5064,4.043,6325,4.055,6327,4.055,6339,4.055,6382,4.58,6383,4.58,6384,4.58,6385,4.58,6386,4.58,6387,4.58,6388,4.58,6389,4.58,8020,10.976,8021,9.966,8022,10.976,8023,10.976]],["keywords/1434",[]],["title/1435",[8024,1555.113]],["content/1435",[9,1.72,122,3.904,141,4.858,193,2.482,236,2.691,255,2.713,258,5.687,343,3.851,345,6.079,362,2.591,363,3.505,390,5.19,467,2.506,545,2.176,556,4.739,581,6.551,600,4.365,624,3.247,661,6.34,804,3.849,807,4.248,828,3.76,832,1.472,838,2.88,847,1.677,924,7.811,925,6.853,1014,5.342,1110,3.721,1205,4.767,1215,4.616,1613,5.166,1630,4.182,1644,6.018,2294,4.133,3543,4.145,4633,6.92,5062,4.182,5064,4.182,5712,9.953,6325,4.195,6327,4.195,6339,4.195,6382,4.738,6383,4.738,6384,4.738,6385,4.738,6386,4.738,6387,4.738,6388,4.738,6389,4.738,8021,10.31,8024,11.355,8025,12.262,8026,12.262]],["keywords/1435",[]],["title/1436",[8027,1555.113]],["content/1436",[9,1.688,97,5.294,122,3.852,141,4.793,193,2.435,236,2.641,255,2.662,258,5.611,273,3.47,343,3.779,345,6.016,362,2.542,363,3.486,390,5.157,467,2.526,545,2.136,556,4.69,558,4.683,581,6.482,600,4.306,624,3.186,661,6.273,804,3.798,807,4.013,828,3.689,832,1.444,838,2.826,847,1.645,924,8.089,925,7.01,1014,3.679,1110,3.651,1205,4.703,1215,4.553,1613,5.096,1630,4.104,1644,5.955,2294,4.055,3543,4.067,4633,6.847,5062,4.104,5064,4.104,6325,4.116,6327,4.116,6339,4.116,6382,4.649,6383,4.649,6384,4.649,6385,4.649,6386,4.649,6387,4.649,6388,4.649,6389,4.649,8021,10.116,8027,11.141,8028,12.032]],["keywords/1436",[]],["title/1437",[8029,1555.113]],["content/1437",[9,1.615,122,3.731,141,4.643,193,2.33,236,2.527,255,2.547,258,5.435,273,3.32,343,3.616,345,5.868,362,2.432,363,3.44,390,5.08,467,2.544,521,6.187,545,2.043,556,4.575,558,4.481,581,6.323,600,4.172,624,3.049,661,6.119,804,3.679,807,4.078,828,3.53,832,1.382,838,2.704,847,1.574,924,8.233,925,7.09,1014,3.521,1110,3.493,1205,4.556,1215,4.411,1613,4.937,1630,3.927,1644,5.809,2006,4.127,2294,3.88,3543,3.892,4633,6.679,5062,3.927,5064,3.927,6325,3.939,6327,3.939,6339,3.939,6382,4.448,6383,4.448,6384,4.448,6385,4.448,6386,4.448,6387,4.448,6388,4.448,6389,4.448,6519,7.975,8021,9.68,8022,10.66,8023,10.66,8029,10.66]],["keywords/1437",[]],["title/1438",[6440,1257.267]],["content/1438",[9,1.309,14,2.111,59,2.906,90,3.241,122,3.191,141,4.822,193,1.888,215,4.799,236,3.133,255,2.065,258,4.647,273,2.691,287,4.276,343,2.931,345,5.802,362,1.972,363,3.394,390,4.701,467,2.525,475,3.687,486,5.644,540,3.334,545,3.715,556,4.038,581,6.252,600,3.567,624,3.78,661,5.401,804,3.82,807,3.806,812,3.164,828,2.861,832,1.12,838,4.561,842,4.583,847,1.276,889,2.494,924,7.719,925,6.758,949,3.593,1014,2.854,1110,2.831,1199,9.889,1205,4.731,1215,4.581,1253,3.606,1386,5.398,1512,8.044,1558,10.893,1613,4.222,1630,4.869,1644,5.127,2006,3.345,2294,4.811,3385,7.574,3392,6.36,3448,5.214,3543,4.826,3646,8.583,4633,5.896,4926,13.219,5062,4.869,5064,4.869,5439,13.219,6325,3.192,6327,3.192,6339,3.192,6344,3.493,6353,3.493,6440,14.538,7804,8.641,8030,17.337,8031,9.331,8032,9.331,8033,14.275,8034,9.331,8035,9.331,8036,9.331,8037,9.331]],["keywords/1438",[]],["title/1439",[8038,1473.221]],["content/1439",[5,2.665,9,2.608,14,4.831,18,2.608,21,0.653,27,1.207,30,1.861,31,1.129,40,1.693,41,1.784,50,2.73,58,2.779,59,3.784,61,2.694,63,1.168,79,5.555,85,1.367,96,1.619,97,4.154,122,3.597,133,1.693,139,2.595,140,1.635,141,2.135,144,4.14,146,2.251,149,1.336,155,1.72,162,1.444,187,1.177,193,1.554,205,1.181,215,3.392,236,0.676,251,2.268,255,1.237,258,1.82,260,1.436,263,1.597,264,1.527,273,4.642,287,2.299,297,1.393,310,1.011,323,8.374,329,1.815,340,1.285,343,0.967,345,3.661,352,3.098,355,2.129,357,2.092,358,1.044,362,0.65,363,2.524,364,1.546,379,1.734,390,3.581,393,3.294,398,1.198,404,1.028,410,2.304,417,1.912,418,2.725,429,1.661,443,1.972,451,2.424,464,2.184,467,2.59,475,1.444,486,1.002,500,1.244,506,1.797,521,1.654,524,1.391,545,2.175,548,1.216,554,2.675,556,3.916,558,5.214,581,3.039,584,1.957,587,2.129,600,3.599,603,1.198,612,1.749,620,2.129,624,2.033,630,11.691,641,1.797,642,1.832,648,1.957,661,2.392,677,3.179,693,6.393,699,1.177,700,1.749,711,1.706,719,1.318,727,3.204,730,1.87,746,1.407,784,1.87,794,1.814,804,4.562,807,3.632,812,1.044,820,2.828,824,0.682,828,2.354,832,0.369,838,1.803,842,2.465,847,0.421,848,1.259,876,1.269,885,3.942,887,1.387,889,1.494,897,1.749,898,1.452,909,1.814,924,7.121,925,6.742,944,1.547,949,1.185,951,1.693,960,1.269,993,7.858,1008,2.595,1011,1.679,1014,2.887,1018,0.999,1025,2.008,1036,1.459,1078,1.749,1105,2.169,1107,2.132,1110,1.696,1144,2.132,1163,1.679,1196,1.749,1201,5.079,1205,2.095,1207,6.963,1215,2.028,1253,1.189,1261,1.4,1366,1.296,1433,1.734,1563,1.89,1564,2.008,1613,2.792,1630,1.906,1644,2.27,1817,2.961,1849,2.036,2006,1.103,2047,1.957,2102,3.512,2163,3.51,2174,2.132,2236,1.912,2254,2.588,2294,1.884,2394,1.832,2658,2.7,2737,2.36,2799,1.89,2806,2.7,3041,2.7,3126,5.009,3364,2.36,3414,5.512,3415,5.624,3543,1.889,3656,2.85,3688,4.286,3689,2.498,3691,2.36,4208,2.498,4336,4.402,4381,8.992,4459,2.255,4633,2.611,4881,2.036,4946,2.498,5037,2.098,5062,1.906,5064,1.906,5702,2.85,5853,1.313,5974,14.164,6040,2.424,6325,1.053,6327,1.053,6329,2.098,6332,1.957,6333,2.132,6334,2.21,6335,4.537,6336,2.132,6337,2.132,6338,2.132,6339,1.053,6344,1.152,6347,2.132,6348,6.232,6349,4.537,6351,2.132,6352,8.888,6353,1.152,6355,2.098,6357,2.066,6366,2.098,6367,2.132,6370,1.982,6372,3.872,6373,2.066,6375,3.872,6376,2.132,6377,2.132,6378,2.132,6380,2.498,6405,1.912,6412,2.304,6413,1.706,6467,2.21,6512,2.498,6547,2.498,6548,2.588,6550,6.725,6551,3.939,6552,2.498,6553,6.455,6554,7.718,6556,5.176,6557,5.176,6558,2.85,6559,2.7,6560,2.7,6565,2.7,7764,2.85,7938,2.7,7963,2.85,7964,2.85,7965,2.85,7966,2.85,7968,7.109,7969,2.85,7971,5.176,7972,2.85,7973,2.85,7974,2.85,7975,2.85,7976,2.85,7977,2.588,7980,2.85,8038,14.749,8039,3.078,8040,3.078,8041,3.078,8042,3.078,8043,3.078,8044,3.078,8045,3.078,8046,3.078,8047,3.078,8048,3.078,8049,5.589,8050,3.078,8051,3.078,8052,3.078,8053,5.589,8054,5.589,8055,3.078,8056,9.441,8057,3.078,8058,5.589,8059,3.078,8060,3.078,8061,2.588,8062,3.078,8063,3.078,8064,3.078,8065,3.078,8066,10.139,8067,3.078,8068,3.078,8069,5.589,8070,3.078,8071,3.078]],["keywords/1439",[]],["title/1440",[8072,1555.113]],["content/1440",[8,2.577,9,1.97,14,3.176,15,1.425,16,1.723,26,2.724,30,2.682,31,1.396,48,1.509,50,3.16,59,2.252,61,3.261,76,2.484,79,2.457,97,4.017,120,2.42,122,2.473,141,6.806,144,2.822,146,1.533,193,0.77,204,4.024,222,2.016,236,1.485,237,2.788,248,2.923,251,2.745,255,1.497,258,2.202,259,1.795,264,4.531,273,1.951,287,2.734,309,2.555,310,1.25,323,3.634,343,1.195,345,2.727,357,1.425,362,0.804,363,2.5,390,3.238,393,2.243,404,1.272,409,2.163,413,1.962,429,4.82,443,2.387,455,1.889,467,2.6,475,1.747,486,1.239,489,2.923,501,2.338,524,0.947,533,1.698,545,1.964,548,5.007,554,1.326,556,2.577,558,4.934,581,3.562,587,1.45,600,4.053,603,1.481,609,2.002,614,2.451,620,1.45,624,1.791,630,5.491,648,4.302,661,2.844,693,3.949,719,1.63,804,5.493,807,4.268,812,1.29,820,1.14,828,2.074,832,0.457,838,0.894,842,2.172,847,0.521,866,1.609,885,5.466,886,1.623,889,3.388,924,7.624,925,7.127,928,2.002,944,1.054,993,2.077,1011,2.077,1014,4.65,1036,1.805,1057,2.594,1110,1.155,1170,3.004,1189,2.391,1200,2.919,1201,6.04,1205,2.492,1215,2.412,1227,1.637,1373,1.9,1385,1.334,1473,1.856,1558,2.391,1573,1.856,1613,2,1630,2.307,1644,2.7,1683,1.445,1898,2.484,1941,2.243,2006,1.364,2014,5.187,2163,1.74,2294,2.28,2380,2.997,2394,2.266,2808,2.733,3126,2.484,3303,3.2,3543,2.287,3699,12.343,3812,2.42,4063,2.683,4381,9.423,4633,3.105,5037,2.594,5062,2.307,5064,2.307,5543,2.997,5584,3.339,5992,5.934,6000,2.849,6325,1.302,6327,1.302,6329,2.594,6332,2.42,6333,2.637,6334,2.733,6335,3.09,6336,2.637,6337,2.637,6338,2.637,6339,1.302,6344,1.425,6347,2.637,6348,3.09,6349,3.09,6351,2.637,6352,3.09,6353,1.425,6355,2.594,6357,2.555,6366,2.594,6367,2.637,6370,2.451,6372,2.637,6373,2.555,6375,2.637,6376,2.637,6377,2.637,6378,2.637,6380,3.09,6405,2.364,6413,2.11,6519,2.637,6520,3.2,6531,4.686,6541,2.997,6544,2.919,6548,3.2,6550,2.338,6551,2.683,6553,7.676,6554,2.683,6967,2.788,7033,2.451,7306,2.788,7308,2.733,7309,2.788,7809,3.09,7810,2.997,7811,5.491,7812,5.491,7813,7.411,7814,3.09,7815,3.09,7816,3.09,7817,5.327,7984,3.339,7985,3.339,7986,3.339,7987,3.525,7988,6.264,7989,8.454,7990,3.525,7991,3.525,7992,3.525,7993,3.525,7994,3.525,7995,3.525,7996,3.525,7997,3.525,7998,3.525,8000,3.525,8001,3.525,8038,8.009,8066,6.264,8072,6.264,8073,3.806]],["keywords/1440",[]],["title/1441",[8074,1555.113]],["content/1441",[9,1.663,122,3.811,141,4.742,193,2.399,236,2.601,255,2.623,258,5.551,343,3.723,345,5.966,362,2.505,363,3.47,390,5.131,467,2.544,545,2.104,556,4.651,581,6.428,600,4.261,624,3.139,661,6.221,804,4.4,807,3.993,828,3.634,832,1.423,838,2.784,847,1.621,889,3.168,924,8.06,925,7.04,1014,3.625,1110,3.597,1205,4.653,1215,4.505,1613,5.042,1630,4.043,1644,5.905,2006,4.249,2294,3.995,3543,4.007,4633,6.791,5062,4.043,5064,4.043,6325,4.055,6327,4.055,6339,4.055,6344,4.437,6353,4.437,6382,4.58,6383,4.58,6384,4.58,6385,4.58,6386,4.58,6387,4.58,6388,4.58,6389,4.58,8074,10.976,8075,11.854]],["keywords/1441",[]],["title/1442",[8076,1555.113]],["content/1442",[2,3.826,9,2.335,14,4.14,41,3.362,50,2.858,59,3.989,79,6.044,90,2.454,122,2.562,140,3.081,141,4.629,144,2.184,174,2.138,193,1.43,205,2.711,221,6.92,236,1.551,255,1.563,258,3.732,273,5.651,286,2.493,319,2.294,323,5.758,343,2.219,344,5.795,345,4.321,357,2.645,358,6.643,359,5.908,362,1.493,363,3.266,364,3.55,390,4.396,404,2.361,417,2.417,429,3.407,443,4.044,467,2.522,475,2.961,500,2.856,518,14.6,524,1.758,525,5.61,545,1.254,556,4.261,558,5.63,581,5.358,597,5.268,600,4.572,613,2.09,617,4.248,620,4.367,624,3.036,632,8.921,661,4.506,688,5.759,784,4.293,804,3.187,807,3.421,812,2.396,828,2.166,832,0.848,838,1.659,847,0.966,876,2.914,882,3.618,898,3.332,924,6.923,925,6.291,944,4.004,949,4.414,1014,2.161,1018,3.722,1103,3.486,1110,2.144,1205,3.947,1215,3.822,1269,3.743,1279,4.051,1294,3.199,1489,4.895,1557,6.116,1610,3.109,1613,4.278,1630,3.91,1644,4.278,2047,4.493,2146,3.314,2248,4.016,2294,3.864,2640,3.109,2657,4.165,3516,4.98,3543,3.875,3553,4.743,4633,4.919,4697,5.735,4881,4.674,5062,3.91,5064,3.91,5446,3.04,5852,5.418,6325,2.417,6327,2.417,6328,4.087,6339,2.417,6401,4.895,6561,5.941,6784,4.493,6814,7.941,6815,7.203,6816,5.073,6817,4.98,7033,9.315,7150,6.198,7151,12.689,7152,6.198,7153,6.198,7154,6.198,7155,6.198,7156,6.198,7157,6.198,7158,6.198,7159,6.198,7311,6.543,7312,6.543,8076,13.394,8077,16.644,8078,7.066,8079,7.066]],["keywords/1442",[]],["title/1443",[8080,1473.221]],["content/1443",[9,1.985,14,4.367,63,3.501,79,3.35,122,3.162,140,1.964,141,3.935,155,5.154,193,1.867,236,2.024,255,2.041,258,4.606,273,4.081,343,2.897,345,5.142,352,5.112,362,1.949,363,3.198,390,4.679,413,4.754,418,4.497,467,2.596,545,1.637,556,4.849,558,3.59,562,4.754,581,5.541,600,3.536,661,5.362,804,5.04,807,4.094,828,2.828,832,1.107,838,2.166,847,1.261,889,2.465,924,7.828,925,7.008,1014,2.821,1018,2.994,1110,2.799,1205,3.861,1215,4.548,1433,5.197,1613,4.184,1630,3.146,1644,5.09,2006,3.306,2279,5.154,2294,3.109,2481,5.288,3543,3.118,4039,7.487,4633,5.853,5062,3.146,5064,3.146,6325,3.156,6327,3.156,6339,3.156,6344,3.453,6353,3.453,6382,3.564,6383,3.564,6384,3.564,6385,3.564,6386,3.564,6387,3.564,6388,3.564,6389,3.564,6577,6.623,6711,4.921,6750,5.437,7237,8.091,7250,14.473,7539,11.485,8080,15.099,8081,9.224,8082,8.091,8083,9.224,8084,9.224,8085,13.102,8086,13.102,8087,9.224]],["keywords/1443",[]],["title/1444",[7250,1412.056]],["content/1444",[7,4.068,9,2.308,14,5.215,30,2.08,50,2.14,51,4.394,59,3.781,63,6.242,68,3.377,79,6.746,97,5.887,122,2.991,139,3.983,140,1.828,141,3.721,144,5.083,155,4.795,193,1.737,236,1.883,255,1.898,258,4.356,273,2.475,286,3.027,343,2.695,345,4.913,362,1.813,363,3.115,390,4.909,413,6.896,418,4.184,464,5.227,467,2.562,545,1.523,554,2.99,556,4.69,558,7.23,568,4.578,581,5.294,600,4.11,661,5.124,677,3.553,804,4.093,807,3.693,808,4.004,828,2.631,832,1.03,838,2.015,847,1.174,848,3.51,889,2.293,924,7.807,925,6.812,1014,4.092,1018,2.786,1110,2.604,1204,5.944,1205,3.652,1215,3.535,1613,3.957,1630,2.927,1644,4.864,2006,3.076,2236,5.329,2279,7.477,2294,2.892,2481,4.919,3543,2.901,3599,6.58,4633,5.593,5062,2.927,5064,2.927,6325,2.936,6327,2.936,6339,2.936,6344,3.212,6353,3.212,6382,3.316,6383,3.316,6384,3.316,6385,3.316,6386,3.316,6387,3.316,6388,3.316,6389,3.316,6711,4.578,6750,5.058,7212,6.965,7236,6.758,7237,11.737,7238,7.215,7239,7.946,7250,16.932,7977,7.215,8080,7.527,8088,8.581,8089,8.581,8090,7.215,8091,8.581,8092,8.581]],["keywords/1444",[]],["title/1445",[8093,1555.113]],["content/1445",[9,1.768,122,3.98,141,4.953,193,2.55,236,2.765,255,2.788,258,5.798,343,3.957,345,6.171,362,2.662,363,3.533,390,5.236,467,2.501,521,6.772,545,2.236,556,4.811,581,6.65,600,4.45,624,3.337,661,6.435,804,3.924,807,4.075,828,3.863,832,1.512,838,2.959,847,1.723,924,7.659,925,6.89,1014,3.853,1110,3.823,1205,4.86,1215,4.705,1613,5.267,1630,4.298,1644,6.108,2294,4.247,3543,4.259,4633,7.024,5062,4.298,5064,4.298,6325,4.311,6327,4.311,6339,4.311,6382,4.869,6383,4.869,6384,4.869,6385,4.869,6386,4.869,6387,4.869,6388,4.869,6389,4.869,8093,11.667,8094,12.6]],["keywords/1445",[]],["title/1446",[8095,1555.113]],["content/1446",[5,3.677,9,2.456,14,1.745,30,2.982,40,4.241,41,5.162,50,4.365,58,2.792,59,3.894,83,5.437,90,2.679,91,3.526,122,2.749,138,6.074,139,5.71,140,1.643,141,3.421,144,2.384,174,2.334,188,3.739,193,2.489,204,2.449,221,3.207,229,8.741,236,1.693,255,3.395,258,4.005,273,2.224,294,8.521,323,3.07,329,2.504,343,2.422,345,4.584,357,2.887,359,3.975,362,1.63,363,3.105,390,4.555,393,4.546,404,2.577,410,5.774,417,2.639,464,4.805,467,2.429,478,3.58,481,4.275,505,5.136,520,3.599,524,1.919,525,2.991,532,5.914,545,1.369,554,2.687,556,4.455,558,3.002,581,4.939,600,3.074,612,6.99,618,4.967,624,2.042,632,9.326,641,4.503,661,4.78,764,5.201,804,3.381,807,3.17,808,3.599,828,2.365,832,0.926,838,1.811,842,2.476,847,1.055,860,4.029,885,2.269,889,2.061,900,3.106,924,7.599,925,6.683,944,2.135,1008,3.58,1014,2.359,1018,2.504,1110,3.732,1205,3.357,1215,3.25,1434,6.874,1470,4.002,1613,3.638,1630,2.631,1644,4.537,1838,3.261,1954,4.002,2006,2.765,2022,6.766,2294,2.599,2671,5.436,2682,5.436,3131,6.766,3387,4.591,3391,8.832,3392,5.257,3525,5.914,3543,2.607,3701,5.343,4078,6.074,4217,5.102,4633,5.218,4743,6.074,4881,8.138,5062,2.631,5064,2.631,5492,6.766,5766,3.394,6325,2.639,6327,2.639,6339,2.639,6344,2.887,6353,2.887,6382,2.98,6383,2.98,6384,2.98,6385,2.98,6386,2.98,6387,2.98,6388,2.98,6389,2.98,6577,5.538,6784,4.905,7167,7.142,8095,11.39,8096,7.142,8097,7.713,8098,7.713,8099,7.713,8100,16.212,8101,7.713,8102,7.713,8103,7.713,8104,11.39,8105,7.142,8106,7.713,8107,7.713,8108,7.713,8109,7.713,8110,7.713]],["keywords/1446",[]],["title/1447",[8111,1555.113]],["content/1447",[9,1.559,122,3.636,141,4.525,193,2.249,236,2.439,255,2.459,258,5.297,343,3.49,345,5.75,362,2.348,363,3.402,390,5.018,467,2.567,545,1.973,556,4.483,581,6.196,600,4.066,624,2.943,661,5.996,804,5.192,807,4.22,828,3.407,832,1.334,838,2.61,847,1.52,889,2.97,924,8.062,925,7.054,1014,3.398,1110,3.372,1205,4.44,1215,4.299,1613,4.812,1630,3.79,1644,5.692,2006,3.984,2294,3.745,3543,3.757,4633,6.546,5062,3.79,5064,3.79,6325,3.802,6327,3.802,6339,3.802,6344,4.16,6353,4.16,6382,4.294,6383,4.294,6384,4.294,6385,4.294,6386,4.294,6387,4.294,6388,4.294,6389,4.294,6988,8.521,6998,9.748,8111,10.29,8112,11.113,8113,11.113,8114,11.113]],["keywords/1447",[]],["title/1448",[8115,1555.113]],["content/1448",[9,0.96,14,3.2,15,4.179,28,4.155,30,1.658,41,1.59,50,4.07,59,2.879,62,10.156,79,4.054,122,4.313,140,3.477,141,5.367,144,2.114,147,6,174,3.378,193,1.384,202,2.844,204,2.172,221,5.882,236,2.45,255,1.513,258,3.634,260,3.191,273,5.188,310,2.246,319,4.592,322,2.534,323,5.631,340,2.856,343,2.148,345,4.226,357,2.56,362,1.445,363,2.846,390,4.522,417,2.34,467,2.561,469,4.155,525,2.652,545,1.214,556,3.802,558,7.002,581,4.554,600,4.079,603,2.662,661,4.407,668,4.662,804,4.486,807,3.744,828,2.097,829,4.248,832,0.821,838,1.606,842,2.196,847,0.935,885,2.012,889,1.828,924,7.867,925,6.895,976,2.587,1014,3.414,1018,2.22,1092,3.436,1110,2.075,1205,3.047,1215,5.099,1253,2.643,1294,3.096,1366,4.7,1385,2.398,1434,3.822,1613,3.301,1630,2.333,1644,4.183,1777,5.754,1817,3.623,2006,2.452,2146,5.237,2294,2.305,2617,4.591,2637,3.703,3395,7.386,3543,2.312,4633,4.81,5062,2.333,5064,2.333,5364,5.12,6325,2.34,6327,2.34,6328,3.956,6339,2.34,6344,2.56,6353,2.56,6382,2.643,6383,2.643,6384,2.643,6385,2.643,6386,2.643,6387,2.643,6388,2.643,6389,2.643,6700,3.921,6711,7.547,6746,3.822,6749,4.591,6750,4.031,6751,4.404,6811,4.349,6812,4.349,6813,4.297,7123,5.552,7425,7.869,7427,5.386,7429,5.386,7856,5.751,8115,13.098,8116,5.751,8117,5.552,8118,5.751,8119,5.751,8120,6.333,8121,6.333,8122,12.408,8123,6.333,8124,6.333,8125,10.338,8126,6.333,8127,6.333,8128,6.333,8129,6.839,8130,6.839,8131,6.839,8132,6.839,8133,6.839,8134,6.333,8135,6.839,8136,6.839,8137,6.839]],["keywords/1448",[]],["title/1449",[8122,1473.221]],["content/1449",[9,1.04,14,3.38,15,4.459,28,4.502,30,1.796,41,1.722,50,4.266,59,3.041,62,10.725,79,4.326,122,4.475,139,3.439,140,3.644,141,5.569,144,2.29,147,6.5,174,3.605,193,1.499,202,3.081,204,2.352,221,4.953,236,1.626,255,1.639,258,3.878,273,4.935,310,2.433,319,4.849,322,2.745,323,5.946,340,3.093,343,2.327,345,4.463,357,2.773,362,1.566,363,2.942,390,4.661,417,2.535,467,2.535,469,4.502,525,2.873,545,1.315,556,3.985,558,4.636,581,4.809,600,4.276,603,2.884,661,4.653,668,5.05,804,4.131,807,3.743,828,2.272,829,4.601,832,0.889,838,1.74,842,2.379,847,1.013,885,3.505,889,1.98,924,7.924,925,6.945,976,2.802,1014,3.643,1018,2.405,1092,3.722,1110,2.248,1205,3.251,1215,4.953,1253,2.863,1294,3.354,1366,5.015,1385,2.598,1434,4.14,1613,3.523,1630,2.527,1644,4.417,1777,6.139,1817,3.925,2006,2.656,2146,5.588,2294,2.497,2617,4.973,2637,4.012,3395,4.902,3543,2.505,4633,5.08,5062,2.527,5064,2.527,5364,5.547,6325,2.535,6327,2.535,6328,4.286,6339,2.535,6344,2.773,6353,2.773,6382,2.863,6383,2.863,6384,2.863,6385,2.863,6386,2.863,6387,2.863,6388,2.863,6389,2.863,6700,4.248,6711,6.355,6746,4.14,6749,4.973,6750,4.367,6811,4.712,6812,4.712,6813,4.655,7123,6.014,7425,5.222,7856,6.23,8116,6.23,8117,6.014,8118,6.23,8119,6.23,8120,6.861,8121,6.861,8122,15.01,8123,6.861,8124,6.861,8125,11.03,8126,6.861,8127,6.861,8128,6.861,8134,6.861,8138,7.409]],["keywords/1449",[]],["title/1450",[8139,1555.113]],["content/1450",[9,1.373,122,3.309,141,4.117,193,1.981,236,2.148,255,2.166,258,4.819,273,2.823,343,3.074,345,5.334,362,2.068,363,3.264,390,4.789,467,2.597,545,1.737,556,4.158,558,3.81,581,5.747,600,3.699,624,2.592,661,5.562,804,5.145,807,4.158,828,3.001,832,1.175,838,2.299,847,1.339,885,2.88,889,2.616,924,8.36,925,7.191,1014,4.527,1110,2.97,1205,4.04,1215,4.717,1613,4.378,1630,3.338,1644,5.279,2006,3.509,2294,3.299,3543,3.309,4633,6.071,5062,3.338,5064,3.338,6325,3.348,6327,3.348,6328,5.662,6339,3.348,6344,3.664,6353,3.664,6382,3.782,6383,3.782,6384,3.782,6385,3.782,6386,3.782,6387,3.782,6388,3.782,6389,3.782,6700,5.611,6711,7.898,6746,5.469,6750,5.769,6751,6.303,8116,8.23,8117,7.945,8118,8.23,8119,8.23,8139,9.063]],["keywords/1450",[]],["title/1451",[8140,1555.113]],["content/1451",[9,1.373,122,3.309,141,4.117,193,1.981,236,2.148,255,2.166,258,4.819,273,2.823,343,3.074,345,5.334,362,2.068,363,3.264,390,4.789,467,2.597,545,1.737,556,4.158,558,3.81,581,5.747,600,3.699,624,2.592,661,5.562,804,5.145,807,4.158,828,3.001,832,1.175,838,2.299,847,1.339,885,2.88,889,2.616,924,8.36,925,7.191,1014,4.527,1110,2.97,1205,4.04,1215,4.717,1613,4.378,1630,3.338,1644,5.279,2006,3.509,2294,3.299,3543,3.309,4633,6.071,5062,3.338,5064,3.338,6325,3.348,6327,3.348,6328,5.662,6339,3.348,6344,3.664,6353,3.664,6382,3.782,6383,3.782,6384,3.782,6385,3.782,6386,3.782,6387,3.782,6388,3.782,6389,3.782,6700,5.611,6711,7.898,6746,5.469,6750,5.769,6751,6.303,8116,8.23,8117,7.945,8118,8.23,8119,8.23,8140,9.063]],["keywords/1451",[]],["title/1452",[1215,443.721]],["content/1452",[9,1.754,122,3.958,141,4.926,193,2.53,236,2.744,255,2.766,258,5.766,273,3.606,343,3.926,345,6.144,362,2.641,363,3.525,390,5.223,467,2.513,545,2.219,556,4.79,581,6.621,600,4.426,624,3.311,661,6.407,804,3.903,807,3.708,828,3.833,832,1.5,838,2.936,847,1.71,924,8.025,925,6.946,1014,3.823,1110,3.793,1205,4.833,1215,5.434,1613,5.237,1630,4.264,1644,6.082,1929,9.158,2294,4.214,3543,4.226,4633,6.994,5062,4.264,5064,4.264,6325,4.277,6327,4.277,6339,4.277,6382,4.831,6383,4.831,6384,4.831,6385,4.831,6386,4.831,6387,4.831,6388,4.831,6389,4.831]],["keywords/1452",[]],["title/1453",[8141,1555.113]],["content/1453",[9,1.279,14,3.173,50,2.274,59,1.856,79,3.312,122,3.135,139,4.233,140,1.942,141,3.901,193,1.845,236,2.001,255,2.017,258,4.566,273,2.63,343,2.864,345,5.106,362,1.927,363,3.185,390,4.658,467,2.601,545,1.619,556,4.469,581,6.177,600,3.505,624,2.415,627,6.033,632,4.446,634,5.014,661,5.324,727,5.228,804,4.819,807,4.081,828,2.796,832,1.094,838,2.142,847,1.247,885,4.127,887,4.108,889,2.437,924,8.109,925,7.134,1014,2.789,1018,2.96,1110,2.767,1205,3.827,1215,3.706,1613,4.148,1630,3.11,1644,5.054,1941,10.073,1951,6.68,2006,3.269,2294,3.073,3543,3.082,3691,6.992,4633,5.812,5062,3.11,5064,3.11,6325,3.12,6327,3.12,6339,3.12,6344,3.413,6353,3.413,6382,3.523,6383,3.523,6384,3.523,6385,3.523,6386,3.523,6387,3.523,6388,3.523,6389,3.523,6689,6.992,6690,6.68,6695,7.999,6711,4.865,6713,6.827,6716,6.992,6758,9.885,6771,6.547,6784,5.799,7775,7.667,8141,15.825,8142,9.119,8143,9.119]],["keywords/1453",[]],["title/1454",[7775,1412.056]],["content/1454",[4,8.24,8,1.071,9,2.151,13,1.098,14,3.916,15,1.926,19,2.032,27,2.017,30,0.681,41,1.653,46,0.787,50,2.194,59,3.268,74,1.57,79,2.584,122,4.304,139,9.882,140,0.599,141,1.431,144,3.563,146,2.072,174,4.129,193,1.44,194,2.779,202,4.793,204,0.892,215,3.776,218,10.124,229,5.12,230,2.243,236,1.129,255,1.138,258,1.675,273,0.811,310,3.785,319,4.429,322,4.271,326,2.48,329,0.912,343,0.883,345,2.125,362,1.503,363,2.632,364,1.412,390,4.01,417,0.961,418,1.37,449,1.558,454,1.673,464,1.098,467,2.561,469,6.231,475,1.329,478,1.305,486,2.316,489,1.214,500,2.08,501,3.16,505,1.173,524,2.551,525,3.977,545,0.913,554,0.979,556,4.385,560,1.708,581,2.29,587,1.071,600,4.012,606,2.281,620,1.96,624,1.884,661,2.216,699,1.074,713,2.233,727,5.879,728,1.106,743,3.351,764,1.188,804,4.75,807,3.978,812,2.412,828,0.862,832,0.337,838,0.66,847,0.384,860,1.468,882,1.439,885,4.917,886,2.194,887,1.266,889,0.751,892,1.098,897,1.597,900,2.072,924,7.477,925,6.864,947,1.26,960,1.159,976,1.063,982,0.753,1014,3.868,1018,0.912,1048,1.114,1061,1.478,1068,2.553,1074,1.708,1110,0.853,1111,1.745,1134,1.947,1181,1.859,1205,1.404,1215,5.292,1237,1.458,1253,4.454,1256,1.641,1366,6.455,1434,2.875,1557,1.499,1572,3.232,1613,1.521,1630,0.959,1644,2.104,1777,7.902,1817,6.106,1916,2.949,1941,1.657,2006,1.007,2146,7.839,2248,2.924,2294,0.947,2481,1.611,2637,6.849,2701,3.453,2740,1.386,3375,3.564,3387,8.121,3460,1.57,3520,3.851,3543,0.95,3568,1.947,3637,3.032,3789,1.173,3810,2.281,4123,3.404,4326,4.051,4580,4.764,4581,4.764,4633,2.419,4816,4.051,4881,1.859,5062,0.959,5064,0.959,5828,4.928,6325,0.961,6327,0.961,6328,1.626,6339,0.961,6344,1.052,6353,1.052,6382,1.086,6383,1.086,6384,1.086,6385,1.086,6386,1.086,6387,1.086,6388,1.086,6389,1.086,6487,4.764,6550,4.369,6620,5.326,6699,2.213,6709,2.213,6710,2.213,6711,9.235,6712,2.213,6713,2.104,6714,2.155,6715,2.213,6716,2.155,6717,2.213,6718,2.155,6719,2.213,6720,3.626,6725,2.213,6726,5.906,6744,1.981,6746,1.57,6754,1.886,6758,1.981,6762,2.018,6763,2.213,6764,1.886,6765,2.155,6769,5.326,6771,2.018,6772,2.213,6784,1.787,6788,8.147,6791,1.981,6811,8.043,6812,8.043,6813,7.947,6814,1.947,7043,2.465,7050,2.104,7051,2.104,7063,2.104,7081,2.059,7196,2.363,7197,2.465,7198,2.465,7204,2.602,7775,8.623,7777,4.764,7779,5.982,7876,6.241,8144,2.81,8145,5.145,8146,2.602,8147,2.81,8148,2.81,8149,2.81,8150,5.145,8151,5.145,8152,2.81,8153,6.588,8154,2.602,8155,2.81,8156,13.449,8157,2.81,8158,2.81,8159,2.81,8160,2.81,8161,2.81,8162,2.81,8163,2.81,8164,2.81,8165,2.81,8166,2.81,8167,2.81,8168,2.81,8169,2.81,8170,2.81,8171,2.81,8172,2.81,8173,2.81,8174,2.81,8175,2.81,8176,2.81,8177,2.81,8178,2.81,8179,2.81,8180,2.81,8181,2.81,8182,2.81,8183,2.81,8184,2.81,8185,7.114,8186,2.81,8187,2.81,8188,5.145,8189,2.81,8190,2.81,8191,2.81,8192,2.81,8193,2.81,8194,2.81]],["keywords/1454",[]],["title/1455",[8195,1555.113]],["content/1455",[4,11.973,5,4.089,8,3.267,9,3.43,14,3.72,31,4.135,73,2.725,74,2.79,122,4.5,139,10.698,140,1.064,141,2.385,144,1.543,155,4.793,174,1.511,193,1.736,202,2.076,204,1.586,215,4.87,218,2.524,229,8.209,236,1.096,255,1.105,258,2.792,273,1.44,287,3.376,310,1.64,319,1.621,322,1.85,325,4.053,332,2.524,343,1.568,344,6.761,345,3.368,362,1.055,363,2.459,390,4.423,467,2.55,469,6.849,545,0.886,556,4.52,581,3.629,600,3.342,624,2.271,661,3.512,677,2.068,700,2.838,716,5.561,727,7.668,728,3.376,764,2.111,804,2.947,807,3.337,812,2.908,828,3.456,832,0.599,838,1.173,847,0.683,848,4.612,860,2.609,885,2.524,887,2.25,889,1.335,892,1.951,924,7.463,925,6.678,957,6.521,971,3.326,973,2.8,976,1.889,992,8.042,1014,4.09,1018,1.621,1048,1.98,1110,5.634,1205,2.341,1215,3.979,1253,1.93,1256,2.916,1294,6.055,1344,2.591,1366,3.611,1434,2.79,1613,2.536,1630,1.703,1644,3.334,1777,4.42,1817,2.645,2006,1.79,2146,4.023,2179,3.459,2248,4.874,2294,1.683,2481,11.126,2637,2.704,3431,3.176,3520,6.421,3543,1.688,4326,3.933,4633,3.833,4832,3.829,4881,14.738,4988,13.902,5062,1.703,5064,1.703,6325,1.708,6327,1.708,6328,2.889,6339,1.708,6344,1.869,6353,1.869,6382,1.93,6383,1.93,6384,1.93,6385,1.93,6386,1.93,6387,1.93,6388,1.93,6389,1.93,6550,6.923,6620,3.738,6711,2.664,6714,3.829,6720,3.52,6765,3.829,6771,3.586,6811,3.176,6812,3.176,6813,3.138,7196,4.199,7779,9.478,7876,11.733,8146,4.624,8153,7.942,8154,4.624,8195,10.438,8196,4.624,8197,8.577,8198,13.375,8199,11.273,8200,11.273,8201,4.994,8202,4.994,8203,4.994,8204,4.994,8205,4.994,8206,4.994,8207,4.994,8208,4.994,8209,4.994,8210,4.994,8211,4.994,8212,13.375,8213,4.994,8214,4.994,8215,4.994,8216,4.994,8217,8.577,8218,8.577,8219,4.994,8220,4.994]],["keywords/1455",[]],["title/1456",[7125,1473.221]],["content/1456",[9,2.162,14,3.486,122,3.444,140,3.282,141,4.285,144,3.191,149,4.481,193,3.118,215,2.858,236,2.266,255,2.284,258,5.016,273,2.978,343,3.243,345,5.508,362,2.181,363,3.323,390,4.886,467,2.586,545,1.833,556,5.094,558,4.019,581,5.935,600,3.85,661,5.743,804,4.062,807,3.802,828,3.166,832,1.239,838,2.425,847,1.412,889,2.759,924,7.781,925,6.827,1014,3.157,1018,3.352,1110,3.133,1205,4.205,1215,4.071,1613,4.557,1630,3.521,1644,5.452,2006,3.701,2294,3.48,3543,3.49,4633,6.269,5062,3.521,5064,3.521,6325,3.532,6327,3.532,6339,3.532,6344,3.865,6353,3.865,6382,3.989,6383,3.989,6384,3.989,6385,3.989,6386,3.989,6387,3.989,6388,3.989,6389,3.989,6620,7.729,6815,11.583,7117,9.057,7120,9.56,7121,14.268,7125,16.172,7127,9.057,7135,9.56,7136,9.56,7138,9.56,8221,10.325,8222,15.409,8223,10.325]],["keywords/1456",[]],["title/1457",[8224,1555.113]],["content/1457",[9,1.333,14,3.966,15,3.555,28,5.77,30,2.302,50,3.608,59,1.933,63,5.492,122,3.917,139,8.136,140,3.081,141,4.874,174,2.874,193,2.928,215,4.005,236,2.084,243,5.104,255,3.878,258,4.71,273,4.173,286,3.351,323,3.781,340,3.965,343,2.983,345,5.236,362,2.007,363,3.231,390,4.733,467,2.522,505,3.965,545,1.686,556,4.564,565,4.801,581,5.642,587,3.618,600,4.38,603,3.697,620,3.618,661,5.46,804,4.318,807,3.83,828,2.912,829,5.898,832,1.14,838,2.231,847,1.299,889,2.538,924,7.884,925,6.883,968,5.494,1014,2.904,1018,3.083,1110,2.882,1149,5.898,1205,3.949,1215,3.823,1385,3.33,1434,5.307,1613,4.279,1630,3.239,1644,5.183,2006,3.405,2070,3.795,2214,6.579,2294,3.201,3543,3.211,4633,5.96,5062,3.239,5064,3.239,6325,3.249,6327,3.249,6339,3.249,6344,3.555,6353,3.555,6382,3.67,6383,3.67,6384,3.67,6385,3.67,6386,3.67,6387,3.67,6388,3.67,6389,3.67,6550,5.833,6577,6.819,7056,7.985,7254,8.331,7425,6.694,7729,7.479,7795,8.794,8224,16.23,8225,9.498,8226,9.498,8227,9.498,8228,9.498]],["keywords/1457",[]],["title/1458",[3688,1287.729]],["content/1458",[9,2.44,14,3.934,30,1.848,41,1.771,59,3.87,79,2.768,122,3.402,140,1.623,141,4.233,187,2.913,193,2.466,199,4.733,215,3.372,223,4.294,236,1.673,255,1.686,258,3.966,269,2.945,273,3.514,340,3.182,343,2.393,345,4.547,362,1.61,363,2.976,390,4.318,418,3.716,432,5.705,433,5.843,449,4.224,467,2.585,486,2.481,489,7.514,520,3.556,540,2.723,545,1.353,548,3.011,556,4.428,558,2.966,581,4.9,600,3.044,608,6.002,624,2.018,661,4.742,693,4.449,703,5.705,804,4.691,807,4.03,828,2.337,832,0.915,838,1.79,847,1.042,885,5.116,889,2.037,924,7.44,925,6.999,1014,2.33,1018,2.474,1105,5.371,1110,2.312,1205,3.325,1215,3.219,1294,3.45,1613,3.603,1630,2.599,1644,4.501,1954,3.954,2006,2.732,2294,2.569,3039,8.06,3414,12.486,3543,2.576,3688,11.671,3689,14.115,3699,14.115,4381,8.178,4633,5.176,5062,2.599,5064,2.599,5543,9.595,6325,2.607,6327,2.607,6339,2.607,6344,2.853,6353,2.853,6357,5.115,6366,5.194,6373,5.115,6382,2.945,6383,2.945,6384,2.945,6385,2.945,6386,2.945,6387,2.945,6388,2.945,6389,2.945,6405,4.733,6412,5.705,6413,4.224,6547,6.186,6610,7.057,6612,11.282,6613,10.244,6617,6.685,6628,6.408,7254,6.685,8229,7.621,8230,7.621,8231,7.621,8232,7.621,8233,7.057,8234,7.621,8235,7.621,8236,7.621,8237,7.621,8238,7.621,8239,7.621]],["keywords/1458",[]],["title/1459",[8240,1555.113]],["content/1459",[5,4.037,9,2.587,14,2.996,34,3.891,50,4.066,59,1.724,91,3.871,122,2.96,139,8.561,140,1.803,141,3.683,144,4.092,193,1.714,205,3.248,229,6.611,236,1.858,251,3.437,255,1.873,258,4.311,273,3.819,328,3.743,343,2.659,345,4.872,362,1.789,363,3.099,390,4.519,464,5.173,467,2.534,478,3.931,486,2.757,505,3.535,545,1.503,556,4.942,558,3.296,581,5.25,600,3.309,612,9.267,618,5.453,624,2.242,632,7.95,641,4.944,661,5.08,764,3.58,804,3.593,807,3.516,808,3.951,828,2.596,832,1.016,838,1.989,847,1.158,885,3.896,889,2.263,900,5.332,924,7.515,925,6.747,960,3.492,1014,2.589,1018,2.749,1110,4.948,1205,3.614,1215,3.499,1237,4.393,1256,4.944,1434,10.305,1613,3.916,1630,2.888,1641,5.453,1644,4.822,1910,10.428,2006,3.035,2294,2.854,3040,7.428,3387,7.882,3391,11.708,3543,2.862,3701,5.866,3806,7.119,4078,6.668,4633,5.545,4881,8.76,4975,5.259,5062,2.888,5064,2.888,6310,7.119,6325,2.897,6327,2.897,6339,2.897,6344,3.17,6353,3.17,6382,3.272,6383,3.272,6384,3.272,6385,3.272,6386,3.272,6387,3.272,6388,3.272,6389,3.272,6401,9.173,6623,7.428,7211,7.841,8096,12.262,8104,7.841,8105,7.841,8240,17.076,8241,13.242,8242,17.076,8243,8.468,8244,8.468,8245,8.468]],["keywords/1459",[]],["title/1460",[8246,1555.113]],["content/1460",[9,1.417,122,3.387,141,4.214,193,2.043,236,2.216,255,2.234,258,4.933,273,2.912,343,3.171,345,5.435,362,2.133,363,3.299,390,4.845,467,2.59,545,1.792,556,4.237,581,5.856,600,3.787,624,2.674,661,5.667,804,5.013,807,4.191,828,3.096,832,1.212,838,2.371,847,1.381,885,2.971,889,2.698,924,8.273,925,7.195,1014,3.088,1110,3.063,1205,4.135,1215,4.004,1613,4.481,1630,3.444,1644,5.379,2006,3.619,2294,3.403,3543,3.413,4633,6.186,5062,3.444,5064,3.444,6325,3.454,6327,3.454,6339,3.454,6344,3.779,6353,3.779,6382,3.901,6383,3.901,6384,3.901,6385,3.901,6386,3.901,6387,3.901,6388,3.901,6389,3.901,6711,5.387,6750,5.951,8117,8.196,8196,9.349,8242,9.349,8246,9.349,8247,10.097,8248,10.097,8249,10.097,8250,10.097,8251,10.097,8252,10.097]],["keywords/1460",[]],["title/1461",[8253,1555.113]],["content/1461",[4,6.929,6,2.308,9,2.539,14,3.789,19,2.368,25,5.69,30,2.427,41,1.393,50,1.495,51,3.069,59,2.038,63,5.715,74,3.35,79,3.636,90,2.082,120,3.812,122,4.293,133,3.296,139,8.916,140,2.132,141,3.585,144,1.852,146,2.414,174,1.814,188,2.906,193,1.213,215,1.659,236,1.316,255,1.326,258,3.259,273,4.343,323,2.386,343,1.883,345,3.851,358,2.032,359,6.644,362,1.267,363,2.924,390,3.855,413,5.16,417,3.425,418,2.922,429,1.782,438,2.975,467,2.546,475,2.586,487,2.714,506,3.5,524,1.491,540,2.142,545,1.064,556,4.689,581,4.848,584,3.812,587,2.283,600,2.502,603,2.333,609,3.153,615,3.966,624,2.651,627,3.966,661,4.016,710,4.225,729,3.604,733,4.866,743,2.283,804,3.988,807,3.578,812,2.032,828,1.838,832,0.719,838,1.408,847,0.82,866,2.534,876,2.472,885,4.927,889,2.676,924,6.906,925,6.686,944,1.659,951,3.296,960,2.472,1008,2.783,1014,1.833,1018,1.946,1025,6.533,1045,5.266,1048,3.97,1105,4.225,1107,4.152,1110,1.819,1120,4.001,1205,3.518,1215,3.406,1434,7.204,1611,3.966,1613,2.961,1630,3.415,1644,3.812,1940,4.72,1951,4.391,2006,2.149,2163,2.741,2179,4.152,2198,3.436,2279,5.595,2294,3.374,2394,3.568,2771,4.72,2799,3.681,3126,3.911,3543,3.384,4123,8.529,4193,5.258,4486,5.55,4633,4.384,4661,4.596,4865,2.975,5062,3.415,5064,3.415,5895,3.11,6185,4.596,6325,2.051,6327,2.051,6339,2.051,6344,2.244,6353,2.244,6620,11.273,7291,4.866,7870,5.55,8061,8.418,8253,17.785,8254,5.04,8255,5.55,8256,5.994,8257,16.746,8258,8.783,8259,5.55,8260,5.994,8261,10.012,8262,5.258,8263,15.058,8264,15.058,8265,5.994,8266,5.994,8267,5.994,8268,5.994,8269,5.994,8270,5.994,8271,5.994,8272,10.012,8273,10.012,8274,5.994,8275,10.012,8276,10.012,8277,10.012,8278,5.994,8279,5.994,8280,5.994,8281,5.994,8282,5.994,8283,5.994,8284,10.012,8285,10.012,8286,10.012,8287,10.012,8288,5.994,8289,5.994,8290,5.994,8291,5.994]],["keywords/1461",[]],["title/1462",[4661,1287.729]],["content/1462",[4,7.717,7,1.305,8,1.923,9,1.594,13,1.075,14,2.824,15,1.03,21,1.483,25,8.614,26,1.108,30,2.449,41,2.347,46,0.771,50,1.258,58,0.996,59,1.027,63,3.285,68,1.083,73,1.502,77,1.655,79,1,91,1.258,97,2.221,117,2.568,122,3.388,133,2.775,139,5.275,140,0.586,141,1.404,144,2.16,146,2.815,149,1.195,174,0.833,187,1.929,193,0.557,194,1.972,204,0.874,205,1.056,218,1.391,229,1.374,230,2.201,236,2.739,255,1.915,257,0.881,258,1.643,259,2.38,269,1.064,273,1.456,277,1.94,286,0.971,310,1.657,323,1.096,326,1.327,329,0.894,340,2.107,343,0.864,345,2.586,352,5.598,357,1.889,358,0.933,359,1.419,362,0.582,363,2.22,364,1.383,379,1.551,390,3.382,393,1.622,404,0.92,413,2.601,417,1.727,418,6.568,424,1.672,438,1.366,464,1.972,467,2.61,475,1.304,486,1.643,498,1.876,505,1.149,506,1.607,516,1.24,520,1.284,521,7.717,524,0.685,525,1.957,545,0.489,548,1.087,554,1.759,556,3.852,558,1.071,560,1.672,562,3.603,568,1.469,581,2.25,582,1.94,584,1.75,587,3.297,600,2.524,603,1.071,613,1.493,623,1.312,624,1.337,661,2.178,699,1.052,718,2.061,719,2.162,743,1.923,804,5.425,807,4.279,808,1.284,820,0.824,823,2.419,828,1.548,832,0.33,838,1.642,842,0.884,847,0.69,848,2.065,860,2.637,882,1.409,885,6.046,886,2.981,889,1.349,892,1.075,898,1.298,907,1.796,924,7.824,925,7.154,944,2.796,982,0.737,1014,5.241,1018,0.894,1025,1.796,1033,2.82,1078,1.564,1110,0.835,1111,1.709,1146,1.391,1181,1.821,1204,1.907,1205,1.377,1215,2.668,1227,1.184,1234,2.314,1237,1.428,1261,2.296,1333,1.592,1373,1.374,1385,0.965,1433,7.591,1434,1.538,1437,1.737,1558,1.729,1563,1.69,1564,1.796,1613,2.067,1630,0.939,1644,2.067,1817,1.458,1916,2.894,1941,1.622,2006,0.987,2236,1.709,2279,2.82,2294,0.928,2394,1.638,2481,1.578,2623,2.061,2640,1.211,2799,1.69,3027,1.672,3126,1.796,3397,1.848,3429,1.976,3543,0.93,3599,2.111,3637,2.975,3789,1.149,3810,4.097,4039,4.097,4123,4.624,4276,1.796,4633,2.377,4661,5.36,4717,2.415,4988,2.061,5062,0.939,5064,0.939,5068,2.234,6007,2.415,6185,5.36,6325,0.942,6327,0.942,6328,1.592,6339,0.942,6344,1.03,6353,1.03,6382,1.064,6383,1.064,6384,1.064,6385,1.064,6386,1.064,6387,1.064,6388,1.064,6389,1.064,6413,1.526,6425,2.234,6697,2.234,6700,1.578,6701,1.907,6702,1.773,6703,1.94,6705,2.061,6708,1.876,6711,8.473,6723,1.94,6724,1.94,6726,1.848,6728,1.876,6730,1.876,6733,1.907,6734,1.907,6735,1.907,6736,1.907,6737,2.061,6738,1.876,6739,1.848,6740,1.848,6741,1.848,6742,2.168,6743,1.976,6744,1.94,6745,1.907,6746,1.538,6749,1.848,6750,1.622,6751,1.773,6752,1.907,6753,1.876,6754,1.848,6755,1.907,6756,1.876,6757,2.061,6759,1.907,6760,1.876,6764,1.848,6778,1.94,6784,1.75,6809,2.168,7033,1.773,7038,2.061,7040,1.848,7041,2.061,7043,2.415,7081,2.016,7140,2.168,7141,2.168,7142,2.016,7143,2.314,7144,2.314,7145,2.168,7146,2.314,7147,2.168,7148,4.097,7149,2.168,7236,3.975,7291,2.234,7539,5.674,7852,2.549,7862,2.415,7863,2.415,8082,2.415,8085,4.674,8086,4.674,8090,2.314,8254,2.314,8292,2.753,8293,2.549,8294,2.549,8295,2.415,8296,2.549,8297,2.549,8298,2.549,8299,2.549,8300,2.549,8301,2.549,8302,2.549,8303,2.549,8304,2.549,8305,2.549,8306,2.549,8307,2.415,8308,2.549,8309,2.549,8310,2.549,8311,2.549,8312,2.549,8313,2.549,8314,2.549,8315,2.549,8316,2.549,8317,2.415,8318,2.753,8319,2.753,8320,2.549,8321,2.753,8322,2.753,8323,2.753,8324,2.753,8325,2.753,8326,2.549,8327,2.549,8328,2.753,8329,2.753,8330,2.753,8331,2.549,8332,2.753,8333,2.549,8334,2.753,8335,2.549,8336,2.549,8337,2.549,8338,2.753,8339,2.415,8340,2.753,8341,2.753,8342,2.753,8343,2.753]],["keywords/1462",[]],["title/1463",[8344,1555.113]],["content/1463",[9,1.676,122,3.831,141,4.767,193,2.417,236,2.621,255,2.642,258,5.581,273,3.444,343,3.751,345,5.991,362,2.523,363,3.478,390,5.144,467,2.536,521,6.418,545,2.12,556,4.67,581,6.455,600,4.283,624,3.162,661,6.247,804,4.418,807,4.219,828,3.661,832,1.433,838,2.805,847,1.633,924,7.751,925,7.001,1014,3.652,1110,3.623,1205,4.678,1215,4.529,1613,5.069,1630,4.073,1644,5.93,2294,4.025,3543,4.037,4633,6.819,5062,4.073,5064,4.073,6325,4.085,6327,4.085,6339,4.085,6382,4.614,6383,4.614,6384,4.614,6385,4.614,6386,4.614,6387,4.614,6388,4.614,6389,4.614,6413,6.619,8344,11.058,8345,11.942,8346,11.942]],["keywords/1463",[]],["title/1464",[8347,1555.113]],["content/1464",[9,1.768,122,3.98,141,4.953,193,2.55,236,2.765,255,2.788,258,5.798,273,3.634,343,3.957,345,6.171,362,2.662,363,3.533,390,5.236,467,2.501,545,2.236,556,4.811,558,4.904,581,6.65,600,4.45,624,3.337,661,6.435,804,3.924,807,3.721,828,3.863,832,1.512,838,2.959,847,1.723,924,8.042,925,6.89,1014,3.853,1110,3.823,1205,4.86,1215,4.705,1613,5.267,1630,4.298,1644,6.108,2294,4.247,3543,4.259,4633,7.024,5062,4.298,5064,4.298,6325,4.311,6327,4.311,6339,4.311,6382,4.869,6383,4.869,6384,4.869,6385,4.869,6386,4.869,6387,4.869,6388,4.869,6389,4.869,8347,11.667]],["keywords/1464",[]],["title/1465",[6185,1287.729]],["content/1465",[4,6.037,7,2.357,9,2.6,14,4.382,21,2.383,25,11.42,26,2.002,30,3.232,41,1.155,50,2.13,51,2.545,59,4.437,63,3.242,68,1.956,79,6.374,97,8.153,122,2.511,133,2.733,139,5.215,140,1.059,141,2.376,144,4.121,146,2.002,155,4.773,188,2.41,193,1.006,194,3.337,202,3.552,236,1.091,255,1.89,258,2.781,273,3.846,286,1.754,310,3.688,322,3.165,340,3.567,343,1.561,345,3.356,358,1.685,359,2.562,362,1.05,363,2.59,364,2.497,390,4.416,393,2.93,413,4.403,418,4.165,443,3.014,464,3.337,467,2.57,482,4.591,486,1.618,506,2.902,545,0.882,554,3.914,556,4.511,558,5.19,568,2.652,581,3.616,584,3.161,587,1.893,600,4.098,661,3.5,677,2.058,712,4.36,743,1.893,804,4.569,807,4.117,808,2.319,820,1.489,828,1.524,832,0.597,838,1.167,842,1.596,847,0.68,848,2.033,885,3.923,886,2.12,889,1.328,892,1.942,924,7.368,925,6.807,944,1.376,1014,5.666,1018,1.614,1025,3.243,1048,3.387,1110,1.508,1204,3.443,1205,2.331,1215,5.478,1253,5.152,1366,3.597,1434,4.773,1613,2.526,1630,1.695,1644,3.322,1777,6.872,1817,4.525,2006,1.782,2146,6.254,2179,3.443,2236,3.087,2279,4.773,2294,1.675,2394,2.958,2481,2.85,2623,6.395,2637,4.625,2799,3.053,3126,3.243,3543,1.68,3599,3.811,4123,5.651,4633,3.82,5062,1.695,5064,1.695,5068,4.035,6185,11.515,6325,1.7,6327,1.7,6328,2.875,6339,1.7,6344,1.861,6353,1.861,6382,1.921,6383,1.921,6384,1.921,6385,1.921,6386,1.921,6387,1.921,6388,1.921,6389,1.921,6620,3.721,6711,5.993,6750,2.93,6753,3.388,6811,5.432,6812,5.432,6813,5.367,7040,3.336,7212,4.035,7236,3.914,7238,4.179,7291,4.035,7296,4.603,7977,4.179,8090,4.179,8156,7.494,8233,4.603,8254,4.179,8255,4.603,8258,4.36,8259,4.603,8295,4.36,8307,4.36,8317,4.36,8339,4.36,8348,7.91,8349,4.603,8350,4.603,8351,4.97,8352,4.97,8353,7.91,8354,4.97,8355,4.97,8356,4.97,8357,4.97,8358,4.97,8359,4.97,8360,4.97,8361,4.97,8362,4.603]],["keywords/1465",[]],["title/1466",[8363,1555.113]],["content/1466",[9,1.468,122,3.477,141,5.167,193,2.117,236,2.295,255,2.314,258,5.065,343,3.285,345,5.55,362,2.21,363,3.337,390,4.909,467,2.589,545,1.857,548,4.132,556,4.327,581,5.981,600,3.888,624,2.77,661,5.788,804,5.079,807,4.465,828,3.207,832,1.255,838,2.456,847,1.43,885,3.077,889,2.795,924,7.641,925,7.03,1014,6.292,1110,3.174,1170,4.645,1189,6.572,1205,4.246,1215,4.111,1613,4.601,1630,3.567,1644,5.494,2006,3.749,2294,3.525,3137,9.175,3543,3.536,4633,6.318,5062,3.567,5064,3.567,6325,3.578,6327,3.578,6339,3.578,6382,4.042,6383,4.042,6384,4.042,6385,4.042,6386,4.042,6387,4.042,6388,4.042,6389,4.042,6519,7.246,7306,7.662,7308,7.51,7309,7.662,8363,9.685,8364,9.685]],["keywords/1466",[]],["title/1467",[8262,1473.221]],["content/1467",[4,8.345,7,1.996,8,1.604,9,2.001,14,3.513,15,0.847,19,0.894,21,1.569,25,6.76,26,0.911,30,2.398,31,0.83,41,2.025,50,2.466,51,1.158,58,0.819,59,2.756,63,2.807,68,0.89,73,1.234,77,1.36,79,2.686,91,1.034,97,4.815,117,2.142,122,2.446,133,2.315,136,2.414,139,5.922,140,0.482,141,4.474,144,1.825,146,0.911,174,0.685,187,1.61,188,1.097,193,0.852,194,2.308,202,0.941,204,0.718,208,1.144,218,1.144,229,1.13,236,1.623,248,0.978,251,0.918,255,2.188,257,0.724,258,1.371,259,1.986,264,1.123,269,0.874,273,2.133,277,1.595,286,0.798,287,0.678,297,1.024,310,1.939,322,0.838,323,0.901,326,1.091,329,1.918,340,1.758,343,0.711,344,1.144,345,2.603,352,3.274,357,1.576,358,0.767,359,2.17,362,0.89,363,2.171,364,1.136,379,1.275,390,3.307,393,1.333,398,0.881,404,0.756,413,3.812,417,0.774,418,3.606,424,1.374,429,2.59,438,1.123,443,0.798,455,2.09,464,1.645,467,2.606,475,1.088,482,1.216,486,2.408,498,1.542,505,0.945,506,1.321,516,1.019,520,1.056,521,6.393,524,0.563,525,1.633,533,1.009,545,1.048,548,2.333,554,3.036,556,3.616,558,2.879,560,1.374,562,1.166,568,1.207,581,2.381,582,1.595,584,1.439,587,4.531,600,3.188,613,1.747,615,1.497,618,1.457,623,1.078,624,1.959,661,1.84,677,0.937,718,1.694,719,1.804,727,1.297,743,0.862,764,1.78,804,5.38,807,4.325,808,2.756,810,1.542,812,1.428,820,0.678,823,2.018,828,1.811,832,0.272,838,1.387,842,0.726,847,0.576,848,1.723,860,1.182,882,1.158,885,5.613,886,1.796,889,1.579,892,0.884,898,1.986,907,1.476,924,7.663,925,7.095,944,2.737,982,0.606,988,1.225,1014,5.728,1018,0.734,1025,1.476,1033,1.264,1048,1.67,1068,1.123,1078,1.286,1110,1.792,1133,1.333,1146,2.129,1170,1.87,1189,1.421,1196,1.286,1204,1.567,1205,1.612,1215,3.578,1227,2.541,1253,1.627,1261,1.029,1279,1.297,1294,1.906,1333,1.309,1366,0.953,1373,1.13,1385,0.793,1433,5.572,1434,3.301,1437,1.449,1512,1.275,1557,1.207,1563,1.389,1564,1.476,1613,1.245,1630,1.436,1644,1.747,1777,2.17,1817,2.231,1898,1.476,1941,2.482,2006,0.811,2012,1.457,2146,1.975,2179,1.567,2236,1.405,2279,4.133,2294,1.419,2394,1.347,2411,1.694,2481,2.414,2623,3.152,2637,1.225,2640,0.995,2799,1.389,3027,1.374,3126,1.476,3137,1.985,3395,1.497,3397,1.519,3429,1.624,3448,1.264,3449,1.902,3543,1.423,3578,1.657,3599,1.735,3637,2.482,3810,3.418,4039,1.836,4063,1.595,4123,6.542,4276,1.476,4633,2.009,4988,1.694,5062,1.436,5064,1.436,5068,1.836,6000,1.694,6007,1.985,6185,1.735,6325,0.774,6327,0.774,6328,1.309,6339,0.774,6344,0.847,6353,0.847,6413,1.254,6425,1.836,6519,1.567,6531,2.917,6544,1.735,6620,1.694,6697,1.836,6700,1.297,6701,1.567,6702,1.457,6703,1.595,6705,1.694,6708,1.542,6711,7.96,6723,1.595,6724,1.595,6726,1.519,6728,1.542,6730,1.542,6733,1.567,6734,1.567,6735,1.567,6736,1.567,6737,1.694,6738,1.542,6739,1.519,6740,1.519,6741,1.519,6742,3.316,6743,1.624,6744,1.595,6745,1.567,6746,2.353,6749,1.519,6750,1.333,6751,1.457,6752,1.567,6753,1.542,6754,1.519,6755,1.567,6756,1.542,6757,1.694,6759,1.567,6760,1.542,6764,1.519,6778,1.595,6784,1.439,6809,1.782,6811,1.439,6812,1.439,6813,1.421,7033,1.457,7038,1.694,7040,1.519,7041,1.694,7081,1.657,7140,1.782,7141,1.782,7142,1.657,7143,1.902,7144,1.902,7145,1.782,7146,1.902,7147,1.782,7148,3.418,7149,1.782,7182,1.985,7212,3.418,7236,3.316,7291,1.836,7306,1.657,7307,2.095,7308,1.624,7309,1.657,7539,4.795,7862,1.985,7863,3.694,8082,3.694,8090,4.966,8156,3.694,8254,1.902,8258,3.694,8262,5.181,8293,2.095,8294,2.095,8295,1.985,8296,3.899,8297,2.095,8298,2.095,8299,2.095,8300,3.899,8301,2.095,8302,3.899,8303,2.095,8304,2.095,8305,2.095,8306,2.095,8307,3.694,8308,2.095,8309,2.095,8310,2.095,8311,2.095,8312,2.095,8313,2.095,8314,2.095,8315,2.095,8316,2.095,8317,1.985,8320,2.095,8326,2.095,8327,2.095,8331,2.095,8333,2.095,8335,2.095,8336,2.095,8337,2.095,8339,1.985,8348,5.469,8349,2.095,8350,2.095,8353,2.095,8362,2.095,8364,2.095,8365,2.262,8366,2.262,8367,2.262,8368,2.262,8369,2.262,8370,2.262,8371,2.262]],["keywords/1467",[]],["title/1468",[8372,1555.113]],["content/1468",[9,2.277,14,2.506,30,2.685,41,2.574,50,2.761,122,4.293,133,6.09,141,4.514,146,4.46,193,2.241,236,2.43,255,2.45,258,5.284,343,3.478,345,5.739,358,3.755,362,2.34,363,3.399,390,5.012,467,2.532,506,6.466,545,1.966,556,4.474,558,4.31,581,6.184,584,7.043,600,4.055,661,5.984,804,4.233,807,4.029,828,3.396,832,1.329,838,2.601,847,1.515,889,2.96,924,7.925,925,6.964,944,3.065,1014,3.387,1025,7.226,1110,3.36,1205,4.429,1215,4.288,1613,4.799,1630,3.777,1644,5.681,2006,3.97,2294,3.733,2394,6.592,2799,6.801,3126,7.226,3543,3.744,4633,6.532,5062,3.777,5064,3.777,6325,3.789,6327,3.789,6339,3.789,6344,4.145,6353,4.145,6382,4.279,6383,4.279,6384,4.279,6385,4.279,6386,4.279,6387,4.279,6388,4.279,6389,4.279,7539,8.989,8372,10.255,8373,11.075]],["keywords/1468",[]],["title/1469",[8061,1412.056]],["content/1469",[9,3.058,14,3.464,21,2.787,30,2.481,41,1.431,50,1.535,58,2.228,59,2.674,79,4.772,97,2.708,122,2.937,140,3.906,141,3.654,188,2.984,193,2.071,236,2.246,255,2.907,258,3.332,293,4.264,319,3.323,343,1.933,345,3.925,357,2.304,362,1.301,363,2.954,374,3.468,390,3.906,417,2.106,429,1.83,447,4.072,449,3.412,450,3.44,451,4.848,453,2.903,464,2.405,467,2.559,475,3.394,478,2.857,482,3.308,524,2.547,545,1.093,556,5.209,565,3.112,581,4.929,587,2.345,600,3.826,603,6.615,624,3.479,641,3.594,661,4.093,804,4.485,807,3.79,812,2.087,820,3.935,828,1.887,832,0.739,836,1.96,838,1.446,840,1.982,847,0.842,889,1.645,924,6.583,925,6.496,957,3.561,1014,1.882,1018,1.998,1045,9.647,1105,15.764,1106,8.309,1107,11.773,1108,4.264,1110,1.868,1111,3.823,1112,4.997,1205,3.586,1215,3.471,1613,3.027,1630,3.491,1644,3.885,2006,2.207,2091,3.823,2255,2.934,2294,3.45,2657,3.628,2752,5.7,3364,4.72,3387,3.664,3448,3.44,3543,3.46,3664,4.848,3688,7.849,3689,4.997,4633,4.468,4816,4.848,4892,12.873,5062,3.491,5064,3.491,5979,8.979,6032,10.665,6325,2.106,6327,2.106,6339,2.106,6344,2.304,6353,2.304,6613,5.176,6617,5.4,6628,11.047,7803,5.7,7888,5.4,7937,15.737,7938,8.979,7939,5.7,8061,18.323,8100,9.478,8374,6.156,8375,6.156,8376,6.156,8377,6.156,8378,6.156,8379,6.156,8380,10.236,8381,10.236,8382,6.156,8383,6.156,8384,6.156,8385,20.356,8386,6.156,8387,13.139,8388,6.156,8389,10.236,8390,10.236,8391,6.156,8392,6.156,8393,6.156,8394,6.156,8395,6.156,8396,6.156,8397,6.156]],["keywords/1469",[]],["title/1470",[8398,1555.113]],["content/1470",[9,1.44,14,2.322,29,3.305,30,1.07,31,1.619,50,1.101,59,1.569,61,3.716,79,1.603,97,1.943,122,1.723,141,3.42,193,0.894,236,0.969,255,0.977,258,2.51,262,2.373,273,1.273,287,1.322,329,1.433,343,1.387,345,3.066,357,1.653,362,0.933,363,2.447,390,3.515,429,2.291,464,1.725,467,2.64,481,2.447,486,2.51,545,0.784,548,5.514,554,1.538,556,2.39,558,1.719,581,3.303,597,2.029,600,2.564,630,8.329,661,3.197,693,4.501,804,5.833,807,4.483,823,2.116,828,1.354,832,0.53,838,1.037,842,1.417,847,0.604,848,1.806,885,5.997,889,1.18,924,7.991,925,7.296,993,2.409,1008,2.05,1014,5.353,1110,1.34,1111,2.742,1170,1.961,1189,2.774,1201,5.1,1205,2.104,1215,2.037,1613,2.28,1630,1.506,1644,3.034,2006,1.583,2012,2.843,2014,3.385,2163,2.019,2294,1.488,3387,2.628,3414,3.17,3431,2.808,3543,1.493,3699,3.584,3830,3.584,4633,3.489,5037,3.009,5062,1.506,5064,1.506,6325,1.51,6326,2.921,6327,1.51,6329,3.009,6332,2.808,6333,3.059,6334,3.17,6335,3.584,6336,3.059,6337,3.059,6338,3.059,6339,1.51,6344,1.653,6347,3.059,6348,3.584,6349,3.584,6351,3.059,6352,3.584,6353,1.653,6354,5.255,6355,3.009,6357,2.964,6366,3.009,6367,3.059,6370,2.843,6372,3.059,6373,2.964,6374,3.584,6375,3.059,6376,3.059,6377,3.059,6378,3.059,6380,3.584,6382,1.706,6383,1.706,6384,1.706,6385,1.706,6386,1.706,6387,1.706,6388,1.706,6389,1.706,6397,3.477,6405,2.742,6413,2.447,6442,3.873,6461,3.873,6519,3.059,6520,3.712,6531,3.059,6548,3.712,6549,4.088,6550,2.712,6551,3.112,6552,3.584,6553,6.482,6554,3.112,6555,4.088,6967,3.234,7306,3.234,7308,3.17,7309,3.234,7809,3.584,7810,3.477,7811,3.584,7812,3.584,7813,3.584,7814,3.584,7815,3.584,7816,3.584,7817,3.477,7983,3.873,7984,3.873,7985,3.873,7986,3.873,8398,7.139,8399,4.415,8400,4.415,8401,4.415,8402,7.709,8403,4.415,8404,10.261,8405,4.415,8406,4.415,8407,4.415,8408,4.415,8409,4.415,8410,4.415]],["keywords/1470",[]],["title/1471",[4922,1473.221]],["content/1471",[1,0.952,4,3.873,9,2.221,13,1.597,14,4.008,15,3.617,26,2.902,27,2.826,28,2.484,30,1.747,41,2.246,46,1.145,48,1.621,50,5.066,52,9.003,53,11.899,57,2.668,58,2.608,59,3.427,61,1.971,79,6.114,90,1.42,91,1.869,97,1.799,117,2.08,122,3.959,139,5.407,140,2.829,141,3.695,144,1.263,146,3.891,149,4.194,162,1.918,174,1.237,193,1.458,204,1.298,215,1.995,229,3.598,230,3.142,236,3.217,255,2.577,258,2.346,259,1.928,260,1.908,262,2.197,273,3.359,275,2.365,279,6.222,319,1.327,323,3.846,326,1.971,340,4.034,343,1.284,344,2.067,345,2.887,354,2.197,357,2.697,362,0.864,363,2.476,364,2.054,390,3.371,404,1.366,413,2.107,417,1.399,418,1.993,423,3.453,455,3.576,464,1.597,467,2.563,475,3.009,478,1.898,500,1.653,502,2.832,505,1.707,524,1.793,525,2.795,545,1.279,548,1.615,554,1.424,556,3.687,558,6.161,560,4.378,581,3.75,600,1.801,603,1.591,605,2.284,624,2.559,641,2.387,649,3.437,661,3.01,699,4.452,716,2.017,718,3.061,727,4.131,732,3.994,766,1.879,773,2.881,804,4.93,807,4.119,812,1.386,823,1.96,828,2.963,829,2.539,832,0.491,838,0.96,842,3.102,847,0.559,861,9.173,885,4.657,886,3.073,889,1.093,924,7.068,925,6.855,988,3.902,1014,4.483,1018,2.339,1092,2.054,1110,2.186,1111,2.539,1146,3.643,1163,2.231,1170,3.2,1181,4.767,1196,2.323,1204,2.832,1205,3.626,1215,2.553,1227,1.759,1237,2.121,1256,2.387,1279,2.344,1329,2.284,1385,2.526,1386,2.365,1393,2.705,1433,4.06,1434,2.284,1466,2.935,1470,2.121,1557,3.845,1613,2.131,1630,2.458,1644,2.857,1838,1.729,1916,4.131,2006,1.465,2020,1.851,2047,2.6,2137,2.786,2161,2.248,2279,2.284,2294,2.429,2390,2.786,2457,3.437,2591,3.135,2623,3.061,2702,3.061,3437,9.173,3543,2.436,3637,2.41,3789,1.707,4266,3.318,4526,3.437,4633,3.286,4914,7.843,4922,8.476,4988,3.061,5062,2.458,5064,2.458,5518,3.219,5950,3.135,6325,1.399,6327,1.399,6328,2.365,6339,1.399,6344,1.53,6353,1.53,6413,2.266,6702,2.633,6705,3.061,6711,5.155,6738,2.786,6739,2.744,6740,2.744,6741,2.744,6746,4.027,6784,2.6,6810,2.744,7040,2.744,7081,2.995,7141,3.219,7142,2.995,7149,3.219,7425,5.079,7427,3.219,7429,3.219,8411,3.586,8412,6.321,8413,3.586,8414,8.476,8415,3.586,8416,3.586,8417,3.586,8418,8.476,8419,8.476,8420,6.673,8421,6.321,8422,3.586,8423,3.586,8424,3.586,8425,3.586,8426,3.586,8427,3.586,8428,3.586,8429,3.586,8430,3.586,8431,3.586,8432,3.586,8433,3.586,8434,3.586,8435,3.786,8436,3.586,8437,3.586,8438,3.586,8439,3.586,8440,3.586,8441,3.786,8442,3.586,8443,3.786]],["keywords/1471",[]],["title/1472",[4914,1363.216]],["content/1472",[1,0.882,4,3.62,9,2.128,14,4.335,15,4.127,26,3.662,27,3.566,28,2.302,30,1.633,41,2.563,48,1.502,50,5.263,52,9.313,53,13.85,57,2.472,58,2.438,59,3.293,61,1.826,79,5.875,90,1.316,91,1.732,97,1.667,117,3.427,122,4.624,139,7.51,140,3.23,141,3.514,144,2.082,146,2.712,149,3.948,162,1.777,174,1.146,193,2.231,204,2.139,215,1.864,229,4.541,236,1.996,255,2.795,258,2.193,259,1.786,260,1.768,262,2.036,273,2.623,275,2.191,279,5.857,287,1.135,319,1.23,323,3.62,326,3.247,340,3.797,343,1.19,344,4.598,345,2.717,354,2.036,357,3.404,359,1.952,362,0.8,363,2.385,364,3.384,390,3.23,404,1.266,413,1.952,417,1.296,418,1.847,423,3.94,447,2.506,455,5.472,464,1.48,466,1.777,467,2.536,475,1.74,478,3.127,500,1.531,502,2.624,505,1.582,524,0.942,525,3.527,545,1.957,554,2.347,556,4.156,558,4.918,560,4.093,581,3.549,600,1.683,603,1.474,605,2.117,624,2.409,632,1.847,641,2.212,649,3.185,661,2.833,699,4.215,716,1.869,718,2.836,727,6.321,732,3.734,766,1.741,773,2.67,804,4.651,807,4.052,812,1.284,828,2.789,829,2.353,832,0.455,838,0.89,842,3.54,847,0.518,861,9.95,876,1.562,885,3.718,886,2.873,889,1.012,924,7.003,925,6.833,988,3.647,1014,4.637,1018,2.187,1092,1.903,1110,2.044,1146,5.574,1149,2.353,1163,3.675,1170,2.992,1196,2.153,1204,2.624,1205,3.448,1215,2.913,1227,1.63,1256,3.933,1279,3.862,1329,3.764,1385,3.189,1386,3.897,1393,2.506,1433,3.796,1434,2.117,1466,2.72,1470,1.965,1557,5.883,1613,1.992,1630,2.298,1644,2.69,1838,2.848,2006,1.358,2020,3.049,2047,2.409,2137,2.582,2161,2.083,2279,2.117,2294,2.27,2390,2.582,2457,3.185,2591,2.905,2623,2.836,2702,2.836,3437,8.683,3543,2.277,3637,3.97,4266,3.075,4502,2.905,4526,3.185,4633,3.093,4882,3.323,4914,10.256,4936,6.237,5062,2.298,5064,2.298,5518,2.983,5950,2.905,6001,3.075,6325,1.296,6327,1.296,6328,2.191,6339,1.296,6344,1.418,6353,1.418,6413,2.1,6702,2.44,6711,4.852,6746,3.764,6758,2.67,6769,8.254,6784,4.284,6810,4.521,7040,2.543,7081,2.775,7198,3.323,7205,3.508,7206,3.508,7207,3.508,7208,3.508,7209,3.508,7210,3.508,7425,2.67,8411,3.323,8412,5.909,8413,3.323,8414,7.978,8415,3.323,8416,3.323,8417,3.323,8418,7.978,8419,9.672,8421,5.909,8422,3.323,8423,3.323,8424,5.909,8425,3.323,8426,3.323,8427,3.323,8428,3.323,8429,3.323,8430,3.323,8431,3.323,8432,3.323,8433,5.909,8434,5.909,8436,3.323,8437,3.323,8438,3.323,8439,3.323,8440,3.323,8442,3.323,8444,3.788,8445,6.736,8446,6.736,8447,6.736,8448,6.736,8449,3.788]],["keywords/1472",[]],["title/1473",[8450,1555.113]],["content/1473",[1,0.908,4,3.714,9,2.305,14,3.717,15,3.484,26,2.783,27,2.71,28,2.369,30,0.945,41,1.606,48,1.546,50,5.212,52,9.467,53,11.564,57,2.544,58,1.411,59,3.344,61,1.879,79,5.965,90,1.354,91,1.783,97,1.716,117,1.983,122,3.869,139,3.208,140,2.743,141,5.222,144,2.136,146,1.57,149,1.692,162,1.829,174,1.18,193,1.398,204,2.955,215,1.913,229,3.45,236,3.383,255,2.491,258,2.25,260,1.819,262,2.095,263,3.585,273,3.247,274,1.252,275,2.255,279,5.993,319,1.266,323,3.705,326,1.879,340,1.628,343,1.225,344,3.493,345,3.363,354,2.095,357,2.587,362,1.46,363,2.42,364,1.959,390,3.283,404,1.303,413,2.009,417,1.334,423,1.393,429,1.159,455,5.587,464,1.523,467,2.576,475,1.785,478,1.81,500,1.576,502,2.701,505,1.628,521,2.095,524,0.97,525,2.68,545,1.652,548,2.73,554,1.359,556,3.59,558,6,560,4.199,581,3.624,600,1.727,603,1.518,605,2.179,618,2.511,624,2.465,641,2.276,649,3.278,651,2.179,661,2.899,699,3.558,716,1.923,718,2.919,727,3.962,732,3.83,764,1.649,766,1.792,804,4.995,807,4.252,812,2.343,823,1.869,828,2.853,829,2.421,832,0.468,838,0.916,842,2.988,847,0.533,861,7.329,885,4.833,886,1.663,889,1.042,892,1.523,924,6.969,925,6.89,1014,5.293,1018,2.243,1092,1.959,1103,1.923,1110,2.824,1146,5.691,1163,2.127,1170,3.069,1189,2.45,1204,2.701,1205,3.072,1215,2.459,1227,1.677,1256,2.276,1279,3.962,1329,2.179,1385,2.423,1386,2.255,1393,2.579,1433,3.894,1434,2.179,1466,2.799,1470,2.023,1557,3.687,1610,1.716,1613,2.044,1630,2.357,1644,2.752,1838,1.649,1941,6.636,2006,1.398,2020,1.765,2047,2.479,2161,2.144,2279,2.179,2294,2.329,2457,3.278,2591,2.99,2702,2.919,3437,8.866,3543,2.336,3637,2.298,4266,3.165,4526,3.278,4633,3.165,4914,7.554,4988,2.919,5062,2.357,5064,2.357,5518,3.07,5950,2.99,6325,1.334,6327,1.334,6328,2.255,6339,1.334,6344,1.459,6353,1.459,6413,2.161,6519,2.701,6702,2.511,6705,2.919,6711,4.965,6738,2.657,6739,2.617,6740,2.617,6741,2.617,6746,3.862,6784,2.479,6810,2.617,7040,2.617,7081,2.856,7141,3.07,7142,2.856,7149,3.07,7306,2.856,7308,2.799,7309,2.856,7425,4.871,7427,3.07,7429,3.07,8411,3.42,8412,6.062,8413,3.42,8414,8.164,8415,3.42,8416,3.42,8417,3.42,8418,8.164,8419,8.164,8420,6.399,8421,6.062,8422,3.42,8423,3.42,8424,3.42,8425,3.42,8426,3.42,8427,3.42,8428,3.42,8429,3.42,8430,3.42,8431,3.42,8432,3.42,8433,3.42,8434,3.42,8435,3.61,8436,3.42,8437,3.42,8438,3.42,8439,3.42,8440,3.42,8441,3.61,8442,3.42,8443,3.61,8450,8.618,8451,6.399]],["keywords/1473",[]],["title/1474",[8452,1555.113]],["content/1474",[9,1.114,79,2.884,97,3.495,122,2.814,141,3.502,193,1.607,236,1.743,255,1.757,258,4.099,273,2.291,343,2.494,345,4.673,362,1.678,363,3.137,390,4.397,467,2.625,545,1.41,556,3.643,558,3.091,581,5.036,600,3.146,624,2.103,661,4.873,804,5.631,807,4.277,828,2.435,832,0.953,838,1.865,847,1.086,885,3.705,889,2.123,924,8.463,925,7.283,993,4.333,1014,3.85,1110,2.41,1205,3.436,1215,3.327,1613,3.723,1630,2.709,1644,4.626,2006,2.847,2294,2.677,3543,2.685,4633,5.319,5037,5.413,5062,2.709,5064,2.709,6325,2.717,6327,2.717,6333,5.502,6334,5.703,6336,5.502,6337,5.502,6338,5.502,6339,2.717,6344,2.973,6347,5.502,6351,5.502,6353,2.973,6355,5.413,6357,5.331,6366,5.413,6367,5.502,6370,5.115,6372,5.502,6373,5.331,6375,5.502,6376,5.502,6377,5.502,6378,5.502,6382,3.069,6383,3.069,6384,3.069,6385,3.069,6386,3.069,6387,3.069,6388,3.069,6389,3.069,6550,4.878,6551,5.598,6554,5.598,8452,7.354]],["keywords/1474",[]],["title/1475",[8453,1555.113]],["content/1475",[9,0.932,79,2.412,97,2.922,122,2.436,141,3.031,193,1.344,236,1.457,255,1.469,258,3.548,273,1.915,343,2.086,345,4.141,362,1.403,363,2.934,390,4.053,467,2.639,545,1.179,548,6.336,556,3.228,558,2.585,581,4.462,600,2.723,624,1.759,661,4.318,804,5.823,807,4.355,828,2.036,832,0.797,838,1.56,847,0.908,885,5.211,889,1.775,924,8.316,925,7.307,993,3.623,1014,4.238,1110,2.015,1170,2.949,1205,2.974,1215,2.879,1613,3.223,1630,2.265,1644,4.099,2006,2.381,2014,5.092,2294,2.238,3543,2.245,4633,4.713,5037,4.526,5062,2.265,5064,2.265,6325,2.272,6327,2.272,6333,4.6,6334,4.768,6336,4.6,6337,4.6,6338,4.6,6339,2.272,6344,2.486,6347,4.6,6351,4.6,6353,2.486,6355,4.526,6357,4.457,6366,4.526,6367,4.6,6370,4.277,6372,4.6,6373,4.457,6375,4.6,6376,4.6,6377,4.6,6378,4.6,6382,2.566,6383,2.566,6384,2.566,6385,2.566,6386,2.566,6387,2.566,6388,2.566,6389,2.566,6531,4.6,6550,4.078,6551,4.681,6554,4.681,6967,4.864,7033,4.277,7809,5.39,7810,5.23,7811,5.39,7812,5.39,7813,5.39,7814,5.39,7815,5.39,7816,5.39,7817,5.23,8453,6.149]],["keywords/1475",[]],["title/1476",[8454,1555.113]],["content/1476",[9,1.676,122,3.831,141,4.767,193,2.417,215,3.305,236,2.621,255,2.642,258,5.581,343,3.751,345,5.991,362,2.523,363,3.478,390,5.144,467,2.536,545,2.12,556,4.67,581,6.455,600,4.283,624,3.162,661,6.247,804,4.418,807,4.003,828,3.661,832,1.433,838,2.805,847,1.633,889,3.192,924,8.075,925,7.001,1014,3.652,1110,3.623,1205,4.678,1215,4.529,1613,5.069,1630,4.073,1644,5.93,2006,4.281,2294,4.025,3543,4.037,4633,6.819,5062,4.073,5064,4.073,6325,4.085,6327,4.085,6339,4.085,6344,4.47,6353,4.47,6382,4.614,6383,4.614,6384,4.614,6385,4.614,6386,4.614,6387,4.614,6388,4.614,6389,4.614,8454,11.058]],["keywords/1476",[]],["title/1477",[7084,1363.216]],["content/1477",[6,2.611,9,1.556,14,2.508,19,2.679,30,3.938,34,10.063,41,3.775,48,4.396,50,1.691,59,3.913,68,2.669,79,2.463,97,9.312,122,2.478,140,1.444,141,3.911,187,2.592,193,2.244,197,3.592,215,1.877,236,3.565,251,2.752,255,2.453,258,3.609,273,1.956,319,2.202,329,2.202,343,2.13,345,4.852,359,5.714,362,1.433,363,3.149,364,3.407,390,4.32,429,5.323,447,7.335,453,5.228,455,3.365,464,4.331,467,2.516,475,2.864,486,3.609,487,3.07,505,2.831,506,3.959,521,7.558,532,5.2,533,3.026,535,5.702,537,5.505,540,2.423,545,1.204,556,3.783,570,4.552,581,5.229,584,7.05,600,4.059,603,6.322,620,2.583,624,3.724,625,3.012,644,4.036,661,4.381,713,2.943,732,3.759,737,3.7,804,3.099,807,3.362,808,7.579,812,2.299,828,2.079,832,0.814,838,1.593,847,1.923,848,4.535,881,5.702,885,1.995,889,1.812,892,2.649,898,5.228,924,7.187,925,6.514,930,4.591,1014,2.074,1018,2.202,1057,4.622,1069,5.2,1110,2.058,1146,5.604,1199,4.698,1205,3.838,1215,3.715,1573,3.306,1581,4.179,1613,3.279,1630,3.781,1644,4.159,2006,2.431,2047,4.312,2158,9.725,2163,3.1,2175,4.425,2294,3.737,2551,2.797,2777,3.251,3448,9.076,3543,3.748,3701,4.698,3733,5.505,4217,4.486,4336,5.34,4454,5.505,4462,12.336,4633,4.782,4844,6.279,5062,3.781,5064,3.781,5931,5.2,6325,2.32,6327,2.32,6339,2.32,6344,2.538,6353,2.538,7081,4.967,7084,14.536,7548,6.279,7898,6.279,8455,11.087,8456,6.781,8457,6.781,8458,6.781,8459,6.279,8460,6.279,8461,6.781,8462,6.781,8463,6.781,8464,10.266,8465,6.279,8466,6.781,8467,6.279,8468,6.279,8469,6.781,8470,6.781]],["keywords/1477",[]],["title/1478",[8471,1473.221]],["content/1478",[9,1.682,14,2.083,15,2.031,21,1.953,30,1.315,34,9.235,41,2.787,48,2.151,58,3.332,59,1.874,94,3.824,97,4.051,106,2.895,122,2.057,140,1.961,141,6.463,171,4.413,193,1.863,215,1.502,236,2.632,251,2.202,255,1.2,258,2.997,273,1.565,274,2.955,287,1.625,319,1.761,343,1.704,344,2.743,345,3.582,362,1.146,363,2.994,390,3.903,417,1.856,418,4.488,429,3.564,455,2.692,467,2.574,471,2.518,475,3.097,486,2.997,487,2.456,532,4.16,536,10.518,540,1.939,545,3.051,548,3.637,556,4.004,581,4.548,587,2.067,600,2.3,603,3.583,618,3.494,624,3.741,661,3.735,688,2.725,797,6.179,804,4.719,807,3.961,808,4.296,812,1.839,828,1.663,832,0.651,838,2.162,842,5.078,847,1.259,848,2.219,866,8.795,885,2.709,889,1.45,898,2.558,924,7.121,925,6.74,944,3.319,971,6.667,973,5.165,988,4.985,1014,5.257,1018,1.761,1057,3.698,1110,3.638,1146,4.654,1154,5.426,1170,4.088,1189,3.409,1205,3.272,1215,3.168,1227,2.334,1344,8.208,1366,2.284,1385,1.902,1581,2.045,1613,2.722,1630,3.14,1644,3.546,1736,7.625,1827,4.16,2006,1.945,2012,3.494,2037,2.344,2175,6.007,2294,3.103,2489,10.518,3543,3.112,3812,5.854,4454,7.472,4462,4.759,4633,4.078,5062,3.14,5064,3.14,5371,4.404,5891,4.744,6038,3.974,6325,1.856,6327,1.856,6339,1.856,6344,2.031,6353,2.031,6519,3.758,6531,3.758,6967,3.974,7306,3.974,7308,3.895,7309,3.974,8451,5.024,8459,5.024,8460,8.524,8464,13.082,8465,5.024,8467,5.024,8468,5.024,8471,16.077,8472,5.425,8473,5.425,8474,5.425,8475,5.425,8476,5.425,8477,9.206,8478,5.425,8479,5.425,8480,5.425,8481,5.425,8482,5.425,8483,5.425,8484,11.991,8485,15.82,8486,5.425,8487,5.425,8488,8.524]],["keywords/1478",[]],["title/1479",[8489,1555.113]],["content/1479",[9,1.581,122,3.674,141,4.572,193,2.281,236,2.473,255,2.493,258,5.351,273,3.25,343,3.539,345,5.797,362,2.381,363,3.417,390,5.042,467,2.564,545,2,556,4.519,581,6.246,600,4.107,603,4.386,624,2.984,661,6.045,804,4.7,807,4.152,828,3.455,832,1.352,838,2.647,847,1.541,889,3.012,924,8.088,925,7.104,1014,3.446,1110,3.419,1205,4.486,1215,4.343,1613,4.861,1630,3.844,1644,5.738,2006,4.04,2294,3.798,3543,3.809,4633,6.598,5062,3.844,5064,3.844,6325,3.855,6327,3.855,6339,3.855,6344,4.218,6353,4.218,6382,4.354,6383,4.354,6384,4.354,6385,4.354,6386,4.354,6387,4.354,6388,4.354,6389,4.354,8489,10.435,8490,11.27,8491,10.435]],["keywords/1479",[]],["title/1480",[8492,1555.113]],["content/1480",[9,1.298,26,3.725,122,3.169,139,4.294,141,3.944,193,1.872,236,2.03,255,2.047,258,4.617,273,2.668,343,2.905,345,5.152,362,1.955,363,3.201,390,4.684,467,2.608,545,1.642,556,4.016,558,3.601,581,5.551,600,3.543,624,2.45,661,5.372,804,5.337,807,4.228,828,2.836,832,1.11,838,2.173,847,1.265,885,5.688,889,2.472,924,8.21,925,7.24,1014,2.829,1110,2.807,1205,3.87,1215,3.747,1613,4.193,1630,3.155,1644,5.099,1941,5.452,2006,3.316,2294,3.118,3543,3.127,4633,5.864,5062,3.155,5064,3.155,6325,3.165,6327,3.165,6339,3.165,6344,3.463,6353,3.463,6382,3.574,6383,3.574,6384,3.574,6385,3.574,6386,3.574,6387,3.574,6388,3.574,6389,3.574,6698,7.285,6700,5.303,6704,7.778,6729,7.778,6747,7.285,6758,6.52,6767,7.093,6768,7.778,6769,6.925,6771,6.642,6777,7.285,6781,7.285,8492,8.566]],["keywords/1480",[]],["title/1481",[7005,1473.221]],["content/1481",[9,1.134,122,2.853,141,3.551,193,1.636,236,1.774,255,1.788,258,4.156,343,2.538,345,4.727,362,1.708,363,3.045,390,4.431,452,5.509,467,2.619,545,1.435,556,3.685,581,5.094,600,3.19,624,2.14,661,4.929,804,5.441,807,4.422,828,2.478,832,0.97,838,1.898,847,1.105,885,6.409,889,2.16,924,8.069,925,7.283,1014,2.472,1110,2.452,1205,3.484,1215,3.373,1613,3.775,1630,2.757,1644,4.679,2006,2.897,2294,2.724,3543,2.732,4633,5.381,5062,2.757,5064,2.757,6325,2.765,6327,2.765,6339,2.765,6344,3.025,6353,3.025,6382,3.123,6383,3.123,6384,3.123,6385,3.123,6386,3.123,6387,3.123,6388,3.123,6389,3.123,6767,6.198,6980,7.484,6981,7.484,6999,7.09,7000,7.484,7004,7.484,7005,7.09,7382,7.484,8493,8.083,8494,8.083,8495,8.083,8496,8.083,8497,8.083,8498,8.083,8499,8.083,8500,8.083,8501,8.083,8502,8.083,8503,8.083,8504,8.083,8505,8.083,8506,8.083,8507,8.083,8508,8.083,8509,8.083,8510,8.083,8511,8.083,8512,8.083,8513,8.083]],["keywords/1481",[]],["title/1482",[8514,1555.113]],["content/1482",[9,1.606,14,2.589,30,4.431,50,2.853,74,3.94,91,5.232,108,2.685,122,3.715,140,1.502,141,7.341,193,1.427,236,1.547,255,1.56,258,3.725,274,3.674,286,2.487,343,2.214,345,4.315,362,1.49,363,3.003,390,4.169,417,3.915,429,5.432,467,2.579,523,2.754,524,2.847,540,2.519,545,1.251,556,5.003,581,6.301,582,10.18,600,2.859,611,4.664,624,1.867,661,4.5,728,2.775,764,2.981,804,3.183,807,3.029,828,2.162,832,0.846,838,1.656,840,2.27,842,7.641,847,0.964,866,7.727,889,1.884,924,7.108,925,6.369,971,8.849,973,5.967,988,3.818,1014,2.156,1018,2.289,1110,2.139,1154,10.772,1205,3.123,1215,3.023,1573,3.437,1613,3.384,1630,2.405,1644,4.271,1998,5.552,2006,2.527,2012,4.54,2294,2.376,2481,4.042,3501,5.164,3543,2.383,4591,6.528,4633,4.911,5062,2.405,5064,2.405,6325,2.412,6327,2.412,6339,2.412,6344,2.639,6353,2.639,6382,2.724,6383,2.724,6384,2.724,6385,2.724,6386,2.724,6387,2.724,6388,2.724,6389,2.724,8471,12.67,8488,16.923,8514,18.126,8515,7.05,8516,11.443,8517,11.443,8518,7.05,8519,7.05,8520,7.05,8521,7.05,8522,7.05,8523,7.05,8524,7.05,8525,7.05,8526,7.05,8527,7.05,8528,7.05,8529,7.05,8530,7.05,8531,7.05,8532,7.05,8533,16.622,8534,16.622,8535,11.443]],["keywords/1482",[]],["title/1483",[8536,1555.113]],["content/1483",[9,1.657,14,4.509,122,3.801,141,4.729,193,2.39,236,2.592,255,2.613,258,5.536,287,3.537,343,3.709,345,5.953,362,2.495,363,3.466,390,5.125,467,2.456,545,2.096,556,4.641,565,5.97,571,11.631,581,6.415,600,4.249,661,6.208,716,9.83,794,6.961,804,3.747,807,3.829,828,3.621,832,1.417,838,2.774,847,1.615,924,7.496,925,6.718,1014,3.611,1018,3.834,1103,5.826,1110,3.583,1205,4.641,1215,4.493,1386,6.832,1487,7.42,1573,5.758,1613,5.029,1630,4.028,1644,5.893,2294,3.98,3543,3.992,4633,6.776,4895,9.93,5062,4.028,5064,4.028,6325,4.04,6327,4.04,6339,4.04,6382,4.563,6383,4.563,6384,4.563,6385,4.563,6386,4.563,6387,4.563,6388,4.563,6389,4.563,8536,18.452,8537,11.81,8538,11.81]],["keywords/1483",[]],["title/1484",[4961,1412.056]],["content/1484",[9,1.657,26,4.756,122,3.801,141,4.729,193,2.39,236,2.592,255,2.613,258,5.536,343,3.709,345,5.953,362,2.495,363,3.466,390,5.125,467,2.543,545,2.096,556,4.641,581,6.415,600,4.249,624,3.127,661,6.208,804,4.391,807,3.988,828,3.621,832,1.417,838,2.774,847,1.615,889,3.156,924,8.053,925,7.036,1014,5.2,1110,3.583,1205,4.641,1215,4.493,1613,5.029,1630,4.028,1644,5.893,2006,4.233,2294,3.98,3543,3.992,4633,6.776,4961,9.93,5062,4.028,5064,4.028,6325,4.04,6327,4.04,6339,4.04,6344,4.421,6353,4.421,6382,4.563,6383,4.563,6384,4.563,6385,4.563,6386,4.563,6387,4.563,6388,4.563,6389,4.563]],["keywords/1484",[]],["title/1485",[8539,1555.113]],["content/1485",[2,2.805,4,2.784,8,1.973,9,2.514,14,3.483,19,3.496,27,4.543,30,1.256,31,4.249,50,3.417,59,5.174,79,6.507,97,3.894,122,2.589,139,2.404,140,1.103,141,2.461,144,5.836,155,2.894,157,2.333,162,4.151,174,4.147,187,1.98,188,2.511,193,1.048,202,2.154,204,1.645,215,4.261,218,12.463,221,5.698,236,1.137,248,2.238,255,1.958,258,2.881,273,1.494,283,2.404,310,1.701,319,4.449,322,1.919,323,7.847,329,1.681,343,1.627,345,3.461,357,1.939,359,4.561,362,1.87,363,3.15,364,2.602,390,4.484,398,2.016,404,1.73,421,2.744,429,1.54,443,3.122,449,2.871,450,2.894,464,4.526,467,2.5,486,2.881,505,2.163,525,4.493,545,1.571,554,1.805,555,3.53,556,4.758,558,4.509,559,4.796,581,3.73,600,5.105,620,3.371,624,1.372,632,8.177,661,3.609,677,2.145,713,3.841,727,2.969,743,1.973,784,3.147,804,2.553,807,3.267,828,1.588,832,0.622,838,1.216,847,0.708,848,2.119,876,2.136,889,1.384,897,2.944,924,6.884,925,6.12,944,2.449,949,1.994,960,2.136,982,1.387,1014,3.543,1018,2.873,1048,2.054,1068,4.392,1074,3.147,1110,1.572,1158,2.996,1205,2.415,1215,4.067,1253,2.001,1269,2.744,1366,3.726,1385,1.816,1557,2.763,1572,5.56,1613,2.617,1630,1.767,1644,3.426,1777,4.561,1817,4.688,2020,2.345,2031,4.079,2146,5.435,2294,1.746,2637,2.805,2640,2.279,2657,3.053,2701,9.199,2799,7.115,3375,6.13,3395,3.427,3397,3.477,3460,2.894,3502,3.217,3516,3.651,3543,1.751,3553,3.477,3637,3.053,4633,3.94,5062,1.767,5064,1.767,5828,3.588,5834,4.544,5998,8.884,6325,1.772,6327,1.772,6328,2.996,6339,1.772,6382,2.001,6383,2.001,6384,2.001,6385,2.001,6386,2.001,6387,2.001,6388,2.001,6389,2.001,6700,2.969,6711,2.763,6720,3.651,6726,9.199,6730,6.032,6760,3.53,6762,3.719,6764,7.777,6791,3.651,6811,3.294,6812,3.294,6813,3.254,6814,6.13,6815,5.56,6816,3.719,6817,3.651,7050,3.878,7051,3.878,7066,4.204,7067,4.079,7068,4.204,7069,4.796,7242,4.544,8539,12.69,8540,5.18,8541,8.849,8542,5.18,8543,5.18,8544,5.18,8545,5.18,8546,5.18,8547,5.18,8548,5.18,8549,5.18,8550,5.18,8551,5.18]],["keywords/1485",[]],["title/1486",[8552,1555.113]],["content/1486",[8,4.688,9,2.317,13,4.013,14,3.473,21,2.611,30,5.386,38,2.074,40,11.213,41,3.839,50,1.925,59,1.571,67,4.089,74,4.313,77,6.176,82,6.771,83,1.954,85,1.964,90,1.536,108,1.684,122,1.725,133,5.648,140,1.644,141,2.147,146,1.78,148,2.412,174,1.338,187,1.69,193,0.895,194,1.727,202,1.838,204,3.261,208,2.235,236,3.066,237,3.239,246,1.59,248,1.91,250,3.175,252,3.063,255,0.978,258,2.513,263,2.294,264,6.108,270,10.531,277,3.116,283,2.052,285,1.846,286,1.56,301,2.31,319,1.435,322,3.806,326,2.131,330,3.31,343,1.389,344,2.235,345,3.069,362,1.631,363,2.449,390,3.269,404,1.477,409,8.724,417,1.513,429,1.314,443,1.56,455,2.194,467,2.543,486,1.439,487,2.002,489,1.91,513,8.968,521,2.376,524,1.92,526,1.954,532,11.77,540,1.58,545,1.37,548,3.049,556,4.079,565,3.902,570,2.968,581,3.307,600,2.567,603,3.998,609,2.326,611,6.796,624,1.171,644,2.632,659,3.239,661,3.2,677,1.831,711,2.451,739,7.572,756,2.326,794,2.606,797,2.968,804,3.64,807,3.046,828,2.367,832,0.531,838,1.038,842,2.478,847,0.605,868,7.255,885,1.301,887,3.477,889,1.182,900,1.78,924,5.961,925,6.075,928,2.326,944,1.224,957,2.558,958,4.594,971,3.984,973,5.012,982,1.184,988,4.179,1014,2.36,1018,1.435,1092,2.221,1103,2.181,1110,2.342,1141,2.074,1146,2.235,1158,2.558,1170,1.964,1199,5.347,1205,2.106,1215,2.039,1238,2.156,1272,4.459,1281,5.036,1344,5.33,1366,1.861,1573,2.156,1575,3.717,1613,2.283,1630,1.508,1644,3.038,1659,3.878,1693,3.878,1827,5.918,1838,1.869,1898,5.036,1904,6.49,1913,8.883,1914,6.771,1928,2.812,1992,2.847,2006,1.585,2177,3.878,2294,1.49,2546,3.239,2640,3.396,2749,2.581,2751,6.771,2806,3.878,2999,3.717,3089,4.094,3357,12.907,3438,7.827,3441,3.878,3543,1.495,3608,4.094,3793,3.717,3794,2.063,3812,2.812,3840,3.717,4011,14.214,4082,3.39,4228,2.968,4633,3.493,4778,9.512,5062,1.508,5064,1.508,5767,9.991,5820,3.878,5891,2.279,6078,4.094,6099,4.094,6201,4.094,6325,1.513,6327,1.513,6339,1.513,6344,1.655,6353,1.655,6382,1.708,6383,1.708,6384,1.708,6385,1.708,6386,1.708,6387,1.708,6388,1.708,6389,1.708,7083,4.094,7084,6.265,8552,11.397,8553,4.421,8554,7.719,8555,7.719,8556,4.421,8557,4.421,8558,4.421,8559,4.421,8560,4.421,8561,4.421,8562,4.421,8563,4.421,8564,4.421,8565,4.421,8566,4.421,8567,12.308,8568,7.719,8569,10.272,8570,10.272,8571,4.421,8572,4.421,8573,7.719,8574,4.421,8575,4.421,8576,4.421,8577,4.421,8578,4.421,8579,4.421,8580,7.719,8581,7.719,8582,7.719,8583,7.719,8584,7.719,8585,10.272,8586,4.421,8587,4.421,8588,4.421,8589,4.421,8590,4.421,8591,4.421,8592,4.421,8593,4.421,8594,4.421,8595,4.421,8596,4.421,8597,4.421,8598,10.272,8599,4.421,8600,7.719,8601,7.719,8602,7.719,8603,7.719,8604,4.421]],["keywords/1486",[]],["title/1487",[8605,1555.113]],["content/1487",[5,2.852,9,2.11,14,1.354,30,1.45,41,2.992,46,1.676,50,2.492,58,5.444,59,5.039,79,2.173,90,2.078,122,2.234,139,4.64,140,2.742,141,3.581,144,5.588,146,4.025,157,2.695,162,7.055,167,3.904,193,1.211,194,2.337,204,4.775,205,2.295,215,1.656,236,1.313,255,2.848,258,3.254,287,1.792,319,1.942,326,6.206,343,1.879,345,3.846,352,11.584,362,1.264,363,3.016,390,4.087,393,3.526,400,4.856,417,2.047,438,6.389,443,2.111,467,2.509,475,2.582,486,3.254,487,2.709,490,3.24,500,2.419,501,3.674,520,2.792,524,5.2,540,3.572,545,2.285,554,2.085,556,5.16,558,7.47,581,4.842,585,5.248,597,2.749,600,2.498,603,3.891,624,2.647,661,4.011,692,2.005,693,3.493,708,5.248,728,3.934,731,7.663,804,2.837,807,3.334,812,2.029,828,1.834,832,0.718,838,1.405,847,0.818,848,4.089,866,2.53,882,3.063,889,1.599,898,2.821,924,7.061,925,6.457,949,2.303,1014,1.83,1018,1.942,1110,1.815,1122,3.635,1145,4.856,1198,2.934,1205,3.514,1215,3.974,1373,2.987,1470,3.104,1557,5.333,1613,2.956,1630,3.409,1644,3.807,1777,5.152,2006,2.145,2047,3.805,2091,3.716,2199,2.987,2236,3.716,2294,3.369,2414,7.483,2597,4.217,2637,3.24,2777,2.868,3171,9.256,3364,18.779,3543,3.379,3632,5.03,3666,5.248,3796,2.837,3881,5.03,4217,3.958,4633,4.378,5062,3.409,5064,3.409,5697,9.256,6325,2.047,6327,2.047,6339,2.047,6344,2.24,6353,2.24,6813,3.759,8491,11.922,8605,13.927,8606,5.983,8607,12.875,8608,16.729,8609,5.983,8610,5.983,8611,5.983,8612,5.983,8613,5.983,8614,5.983,8615,5.983,8616,5.983,8617,5.983,8618,5.983,8619,5.983,8620,5.983,8621,5.983,8622,5.983,8623,5.983,8624,5.983,8625,5.983,8626,5.983,8627,5.983,8628,5.983,8629,5.983,8630,5.983,8631,5.983]],["keywords/1487",[]]],"invertedIndex":[["",{"_index":467,"title":{"913":{"position":[[13,1]]},"1098":{"position":[[8,1]]}},"content":{"15":{"position":[[671,1],[744,2]]},"17":{"position":[[779,5],[1186,5]]},"18":{"position":[[439,1],[478,1],[563,1],[615,1],[639,1],[664,1],[701,1],[723,1],[1074,1],[1297,1],[1327,1],[1351,1],[1393,1],[1436,1],[1460,1],[1524,1],[1571,1],[1587,1],[1603,1],[1612,1],[1625,1],[1640,1]]},"27":{"position":[[31,1]]},"30":{"position":[[31,1]]},"31":{"position":[[29,1]]},"40":{"position":[[39,2],[64,1],[70,1],[77,1]]},"41":{"position":[[34,2],[66,1],[72,1],[96,1],[124,1],[153,4],[158,1],[165,1]]},"49":{"position":[[21,1]]},"50":{"position":[[33,2],[36,2],[57,1],[65,1],[442,1]]},"55":{"position":[[31,2]]},"63":{"position":[[65,1],[77,1],[81,1],[275,1],[367,1]]},"69":{"position":[[46,1],[58,1],[74,2],[77,2],[92,1],[96,1],[319,1],[408,1],[503,1],[531,1],[533,1],[565,1],[620,1]]},"73":{"position":[[20,1]]},"76":{"position":[[37,1],[120,1],[157,4],[186,1]]},"79":{"position":[[42,2]]},"81":{"position":[[82,1]]},"82":{"position":[[85,1],[140,4],[145,1]]},"85":{"position":[[43,1],[61,1],[96,2],[99,2],[152,1],[175,1],[203,1],[211,1]]},"86":{"position":[[41,1],[59,1],[93,1],[95,1]]},"87":{"position":[[37,1],[55,1],[77,1],[79,1]]},"88":{"position":[[38,1],[56,1],[78,1],[80,1]]},"89":{"position":[[55,1],[60,2],[63,2],[76,1],[84,1],[301,1],[462,1]]},"91":{"position":[[44,1],[62,1],[79,2],[82,2],[103,1],[109,1],[128,1],[134,1],[155,1],[161,1],[189,1],[218,1],[226,1]]},"92":{"position":[[28,2],[55,1],[73,5],[102,1],[120,4],[125,1],[161,1],[186,5],[289,1]]},"93":{"position":[[63,2]]},"94":{"position":[[37,1],[49,1],[60,1],[68,1],[90,1],[108,1],[123,1],[140,1],[146,1],[168,1],[183,1],[216,1],[238,1],[257,1],[268,2],[271,2],[306,1],[312,1],[344,1],[356,1],[367,1],[375,1],[397,1],[415,1],[430,1],[447,1],[453,1],[475,1],[490,1],[523,1],[545,1],[556,1],[578,1],[606,1],[635,1],[666,1],[700,1],[721,1],[749,1],[789,1],[816,1],[840,1],[870,1],[904,1],[947,1],[991,1],[1013,1],[1029,1],[1060,1],[1100,1],[1157,1],[1159,2],[1162,1],[2899,1],[3078,1],[3237,1],[3374,1],[3428,1],[3480,1],[3499,1],[3520,1],[3577,1]]},"95":{"position":[[41,1],[59,1],[81,1],[83,1]]},"96":{"position":[[44,1],[62,1],[96,1],[98,1]]},"97":{"position":[[57,2],[66,1],[97,1],[101,1]]},"98":{"position":[[36,1],[54,1],[79,1],[91,1],[102,1],[110,1],[132,1],[150,1],[165,1],[182,1],[188,1],[210,1],[225,1],[258,1],[280,1],[299,1],[310,2],[313,2],[336,1],[362,1],[389,1],[413,1],[421,1],[438,1]]},"99":{"position":[[41,1],[59,1],[80,1],[91,1],[98,1],[110,1],[121,1],[128,1],[134,1],[142,1],[164,1],[182,1],[197,1],[206,1],[223,1],[229,1],[251,1],[266,1],[281,1],[314,1],[347,1],[369,1],[388,1],[396,1],[427,1],[440,1],[450,1],[462,2],[465,2],[486,1],[508,1],[532,1],[540,1],[557,1],[1058,1]]},"114":{"position":[[23,1]]},"118":{"position":[[125,1]]},"119":{"position":[[65,2]]},"123":{"position":[[148,1]]},"125":{"position":[[26,1],[50,1]]},"126":{"position":[[15,2],[29,1],[46,1],[60,1],[105,1],[113,1]]},"127":{"position":[[26,1],[40,1]]},"128":{"position":[[42,1]]},"129":{"position":[[26,2],[57,1],[65,1],[67,3],[79,1],[93,1],[108,1]]},"130":{"position":[[42,2],[45,2],[57,1],[72,1],[277,1]]},"131":{"position":[[15,2],[46,1],[54,1],[56,3],[92,1],[100,1],[102,3],[144,1],[163,1],[171,1],[184,1],[198,1],[213,1]]},"132":{"position":[[50,2],[66,1],[83,1],[97,1],[112,1]]},"133":{"position":[[36,1],[49,5],[55,2],[58,2],[69,1],[83,1],[98,1]]},"134":{"position":[[20,2],[51,1],[59,1],[61,3],[73,1],[87,1],[102,1]]},"135":{"position":[[25,1],[39,1]]},"136":{"position":[[27,1],[41,1]]},"137":{"position":[[34,2],[37,2],[48,1],[62,1],[77,1]]},"138":{"position":[[44,2],[47,2],[63,1],[80,1],[94,1],[109,1]]},"139":{"position":[[43,1],[57,1]]},"140":{"position":[[36,2],[39,2],[50,1],[64,1],[79,1],[297,1]]},"141":{"position":[[22,2],[39,1],[53,1],[68,1]]},"142":{"position":[[28,1]]},"143":{"position":[[27,1],[41,1]]},"144":{"position":[[38,2],[41,2],[57,1],[74,1],[88,1],[103,1]]},"145":{"position":[[18,2],[43,1],[60,1],[74,1],[89,1]]},"146":{"position":[[32,2],[63,1],[71,1],[73,3],[90,1],[104,1],[119,1]]},"147":{"position":[[18,2],[29,1],[43,1],[57,1],[72,1]]},"148":{"position":[[25,2],[56,1],[64,1],[66,3],[78,1],[92,1],[107,1]]},"149":{"position":[[26,2],[57,1],[65,1],[67,3],[84,1],[98,1],[113,1]]},"150":{"position":[[42,1],[56,1]]},"151":{"position":[[43,2],[55,1]]},"153":{"position":[[46,1]]},"159":{"position":[[33,1]]},"166":{"position":[[54,1],[66,1],[70,1],[275,1],[369,1]]},"168":{"position":[[149,1]]},"171":{"position":[[29,1]]},"173":{"position":[[39,2],[64,1],[70,1],[77,1]]},"174":{"position":[[34,2],[66,1],[72,1],[96,1],[124,1],[153,4],[158,1],[165,1]]},"179":{"position":[[31,1]]},"186":{"position":[[31,1]]},"187":{"position":[[29,1]]},"196":{"position":[[21,1]]},"197":{"position":[[33,2],[36,2],[57,1],[65,1],[442,1]]},"202":{"position":[[31,2]]},"204":{"position":[[44,1]]},"205":{"position":[[46,1]]},"213":{"position":[[82,1]]},"214":{"position":[[85,1],[140,4],[145,1]]},"217":{"position":[[43,1],[61,1],[96,2],[99,2],[152,1],[175,1],[203,1],[211,1]]},"218":{"position":[[41,1],[59,1],[93,1],[95,1]]},"219":{"position":[[37,1],[55,1],[77,1],[79,1]]},"220":{"position":[[38,1],[56,1],[78,1],[80,1]]},"221":{"position":[[55,1],[60,2],[63,2],[76,1],[84,1],[301,1],[462,1]]},"223":{"position":[[44,1],[62,1],[79,2],[82,2],[103,1],[109,1],[128,1],[134,1],[155,1],[161,1],[189,1],[218,1],[226,1]]},"224":{"position":[[28,2],[55,1],[73,5],[102,1],[120,4],[125,1],[161,1],[186,5],[289,1]]},"225":{"position":[[63,2]]},"226":{"position":[[37,1],[49,1],[60,1],[68,1],[90,1],[108,1],[123,1],[140,1],[146,1],[168,1],[183,1],[216,1],[238,1],[257,1],[268,2],[271,2],[306,1],[312,1],[344,1],[356,1],[367,1],[375,1],[397,1],[415,1],[430,1],[447,1],[453,1],[475,1],[490,1],[523,1],[545,1],[556,1],[578,1],[606,1],[635,1],[666,1],[700,1],[721,1],[749,1],[789,1],[816,1],[840,1],[870,1],[904,1],[947,1],[991,1],[1013,1],[1029,1],[1060,1],[1100,1],[1157,1],[1159,2],[1162,1],[2899,1],[3078,1],[3237,1],[3374,1],[3428,1],[3480,1],[3499,1],[3520,1],[3577,1]]},"227":{"position":[[41,1],[59,1],[81,1],[83,1]]},"228":{"position":[[44,1],[62,1],[96,1],[98,1]]},"229":{"position":[[57,2],[66,1],[97,1],[101,1]]},"230":{"position":[[36,1],[54,1],[79,1],[91,1],[102,1],[110,1],[132,1],[150,1],[165,1],[182,1],[188,1],[210,1],[225,1],[258,1],[280,1],[299,1],[310,2],[313,2],[336,1],[362,1],[389,1],[413,1],[421,1],[438,1]]},"231":{"position":[[41,1],[59,1],[80,1],[91,1],[98,1],[110,1],[121,1],[128,1],[134,1],[142,1],[164,1],[182,1],[197,1],[206,1],[223,1],[229,1],[251,1],[266,1],[281,1],[314,1],[347,1],[369,1],[388,1],[396,1],[427,1],[440,1],[450,1],[462,2],[465,2],[486,1],[508,1],[532,1],[540,1],[557,1],[1058,1]]},"233":{"position":[[444,1],[514,1]]},"234":{"position":[[223,1],[292,1],[372,1]]},"236":{"position":[[69,1],[98,1],[124,1],[132,1],[150,1],[156,1],[171,1],[184,1],[197,1],[210,1],[223,1],[250,1],[277,1],[306,1],[332,1],[340,1],[358,1],[364,1],[380,1]]},"237":{"position":[[69,1],[98,1],[124,1],[132,1],[150,1],[156,1],[171,1],[184,1],[197,1],[210,1],[223,1],[250,1],[277,1],[306,1],[332,1],[340,1],[358,1],[364,1],[380,1]]},"238":{"position":[[91,1],[120,1],[146,1],[154,1],[172,1],[178,1],[193,1],[206,1],[219,1],[232,1],[245,1],[272,1],[299,1],[328,1],[354,1],[362,1],[380,1],[386,1],[402,1]]},"239":{"position":[[63,1],[92,1],[118,1],[126,1],[144,1],[150,1],[165,1],[178,1],[191,1],[204,1],[217,1],[244,1],[271,1],[300,1],[326,1],[334,1],[352,1],[358,1],[387,1],[393,1],[414,1],[420,1],[427,1]]},"240":{"position":[[57,1],[70,1],[82,1],[89,1],[382,1]]},"242":{"position":[[57,1],[70,4],[75,1],[77,3],[81,2],[98,1],[106,1],[575,1],[602,1]]},"243":{"position":[[69,1],[75,1],[90,1],[94,1],[623,1],[648,1]]},"245":{"position":[[43,1],[184,1],[186,2]]},"246":{"position":[[42,1],[183,1],[185,2]]},"248":{"position":[[26,1],[50,1]]},"249":{"position":[[15,2],[29,1],[46,1],[60,1],[105,1],[113,1]]},"250":{"position":[[26,1],[40,1]]},"251":{"position":[[42,1]]},"252":{"position":[[26,2],[57,1],[65,1],[67,3],[79,1],[93,1],[108,1]]},"253":{"position":[[42,2],[45,2],[57,1],[72,1],[277,1]]},"254":{"position":[[15,2],[46,1],[54,1],[56,3],[92,1],[100,1],[102,3],[144,1],[163,1],[171,1],[184,1],[198,1],[213,1]]},"255":{"position":[[50,2],[66,1],[83,1],[97,1],[112,1]]},"256":{"position":[[36,1],[49,5],[55,2],[58,2],[69,1],[83,1],[98,1]]},"257":{"position":[[20,2],[51,1],[59,1],[61,3],[73,1],[87,1],[102,1]]},"258":{"position":[[25,1],[39,1]]},"259":{"position":[[27,1],[41,1]]},"260":{"position":[[34,2],[37,2],[48,1],[62,1],[77,1]]},"261":{"position":[[44,2],[47,2],[63,1],[80,1],[94,1],[109,1]]},"262":{"position":[[43,1],[57,1]]},"263":{"position":[[36,2],[39,2],[50,1],[64,1],[79,1],[297,1]]},"264":{"position":[[22,2],[39,1],[53,1],[68,1]]},"265":{"position":[[28,1]]},"266":{"position":[[27,1],[41,1]]},"267":{"position":[[38,2],[41,2],[57,1],[74,1],[88,1],[103,1]]},"268":{"position":[[18,2],[43,1],[60,1],[74,1],[89,1]]},"269":{"position":[[32,2],[63,1],[71,1],[73,3],[90,1],[104,1],[119,1]]},"270":{"position":[[18,2],[29,1],[43,1],[57,1],[72,1]]},"271":{"position":[[25,2],[56,1],[64,1],[66,3],[78,1],[92,1],[107,1]]},"272":{"position":[[26,2],[57,1],[65,1],[67,3],[84,1],[98,1],[113,1]]},"273":{"position":[[42,1],[56,1]]},"274":{"position":[[43,2],[55,1]]},"276":{"position":[[727,1],[792,1],[813,1],[850,1]]},"277":{"position":[[762,1],[827,1],[847,1]]},"278":{"position":[[160,1]]},"279":{"position":[[69,1],[82,1],[297,1],[373,1]]},"280":{"position":[[353,1]]},"281":{"position":[[837,1],[902,1],[935,1],[972,1]]},"282":{"position":[[67,1],[880,1],[945,1],[977,1]]},"283":{"position":[[278,1]]},"284":{"position":[[196,1]]},"285":{"position":[[157,1]]},"286":{"position":[[391,1],[465,1]]},"288":{"position":[[295,1],[330,1],[401,1],[429,1],[524,1],[545,1],[633,1],[685,3],[734,1]]},"289":{"position":[[315,1],[350,1],[421,1],[449,1],[544,1],[565,1],[653,1],[705,3],[754,1]]},"294":{"position":[[59,1],[88,1],[114,1],[122,1],[140,1],[146,1],[161,1],[174,1],[187,1],[219,1],[248,1],[274,1],[282,1],[300,1],[306,1],[345,1],[351,1],[366,1],[371,2],[398,1],[405,1],[418,1],[439,1]]},"295":{"position":[[46,1],[52,1],[67,1],[71,1]]},"297":{"position":[[56,1],[85,1],[111,1],[119,1],[137,1],[143,1],[158,1],[171,1],[184,1],[216,1],[245,1],[271,1],[279,1],[297,1],[303,1],[342,1],[348,1],[363,1],[368,2],[393,1],[415,1]]},"298":{"position":[[29,2],[48,1],[77,1],[95,1],[101,1],[116,1],[129,1],[163,1],[181,1],[187,1],[203,1],[228,1],[257,1],[275,1],[281,1],[296,1],[309,1],[343,1],[361,1],[367,1],[383,1],[413,1],[419,1],[434,1],[466,1],[495,1],[501,1],[516,1],[529,1],[563,1],[569,1],[585,1],[592,1],[1246,1],[1273,1],[1356,1],[2503,1],[2560,1],[2625,1],[2653,1],[2670,1],[2712,1],[2739,1],[2807,1],[2873,2],[2885,1],[2919,1],[2927,1]]},"301":{"position":[[69,1],[98,1],[124,1],[130,1],[145,1],[158,1],[171,1],[203,1],[232,1],[258,1],[264,1],[281,2],[306,1],[312,1],[327,1],[331,1],[344,1],[371,1]]},"302":{"position":[[46,1],[52,1],[67,1],[71,1]]},"306":{"position":[[284,1],[321,1],[323,1],[510,1],[520,1],[617,1],[649,1]]},"309":{"position":[[66,1],[95,1],[121,1],[127,1],[142,1],[155,1],[168,1],[200,1],[229,1],[255,1],[261,1],[300,1],[306,1],[321,1],[326,2],[346,1],[354,1]]},"310":{"position":[[77,1],[95,1],[101,1],[116,1],[129,1],[163,1],[181,1],[187,1],[203,1],[227,1]]},"311":{"position":[[73,1],[79,1],[94,1],[107,1],[141,1],[147,1],[163,1],[198,1]]},"314":{"position":[[50,1],[65,1]]},"315":{"position":[[41,1],[56,1]]},"316":{"position":[[41,1],[56,1]]},"317":{"position":[[42,1],[57,1]]},"318":{"position":[[40,1],[55,1],[62,2],[81,1],[89,1],[433,1]]},"319":{"position":[[51,1],[66,1]]},"320":{"position":[[42,1],[57,1],[82,1],[111,1],[117,1],[132,1],[145,1],[179,1],[185,1],[201,1],[208,1]]},"322":{"position":[[184,1],[249,1],[281,1]]},"324":{"position":[[63,1],[92,1],[118,1],[124,1],[139,1],[152,1],[165,1],[197,1],[226,1],[252,1],[258,1],[304,1],[333,1],[359,1],[365,1],[380,1],[393,1],[406,1],[438,1],[467,1],[493,1],[499,1],[515,1]]},"325":{"position":[[91,1],[120,1],[146,1],[152,1],[167,1],[180,1],[193,1],[225,1],[254,1],[280,1],[286,1],[302,1]]},"326":{"position":[[101,1],[130,1],[156,1],[162,1],[177,1],[190,1],[203,1],[235,1],[264,1],[290,1],[296,1],[312,1],[454,1]]},"327":{"position":[[67,1],[96,1],[122,1],[128,1],[143,1],[156,1],[169,1],[201,1],[230,1],[256,1],[262,1],[278,1],[404,1],[480,1]]},"328":{"position":[[63,1],[92,1],[118,1],[124,1],[139,1],[152,1],[165,1],[197,1],[226,1],[252,1],[258,1],[287,1],[293,1],[314,1],[320,1],[327,1],[456,1]]},"329":{"position":[[57,1],[70,1],[82,1],[112,1],[124,1],[137,4],[142,1],[149,1],[443,1],[539,1],[594,1]]},"330":{"position":[[76,1],[105,1],[131,1],[137,1],[152,1],[165,1],[178,1],[210,1],[239,1],[265,1],[271,1],[287,1],[399,1]]},"331":{"position":[[64,1],[93,1],[119,1],[125,1],[140,1],[153,1],[166,1],[198,1],[227,1],[253,1],[259,1],[275,1],[379,1]]},"332":{"position":[[74,1],[103,1],[129,1],[135,1],[150,1],[163,1],[176,1],[208,1],[237,1],[263,1],[269,1],[285,1],[396,1]]},"333":{"position":[[92,1],[121,1],[147,1],[153,1],[168,1],[181,1],[194,1],[226,1],[255,1],[281,1],[287,1],[303,1]]},"334":{"position":[[45,1],[51,1],[63,1],[76,5],[97,1],[124,1],[153,1],[179,1],[185,1],[200,1],[213,1],[226,1],[258,1],[287,1],[313,1],[319,1],[335,1],[342,1],[744,1]]},"335":{"position":[[64,1],[93,1],[119,1],[125,1],[140,1],[153,1],[166,1],[198,1],[227,1],[253,1],[259,1],[307,1],[336,1],[362,1],[368,1],[383,1],[396,1],[409,1],[441,1],[470,1],[496,1],[502,1],[530,1],[534,1],[673,1]]},"336":{"position":[[63,1],[92,1],[118,1],[124,1],[139,1],[152,1],[165,1],[197,1],[226,1],[252,1],[258,1],[304,1],[333,1],[359,1],[365,1],[380,1],[393,1],[406,1],[438,1],[467,1],[493,1],[499,1],[515,1]]},"337":{"position":[[65,1],[94,1],[120,1],[126,1],[141,1],[154,1],[167,1],[199,1],[228,1],[254,1],[260,1],[276,1]]},"338":{"position":[[94,1],[123,1],[149,1],[155,1],[170,1],[183,1],[196,1],[228,1],[257,1],[283,1],[289,1],[305,1]]},"340":{"position":[[67,1],[73,1],[88,1],[101,1],[135,1],[141,1],[157,1]]},"344":{"position":[[457,1],[492,1],[563,1]]},"345":{"position":[[54,1],[65,1],[83,1],[114,1],[126,1],[137,1],[145,1],[167,1],[185,1],[200,1],[217,1],[223,1],[245,1],[260,1],[293,1],[315,1],[332,1],[368,1],[378,1],[960,1],[962,2]]},"346":{"position":[[43,1]]},"347":{"position":[[39,2],[55,1],[500,1],[502,2]]},"362":{"position":[[27,2],[100,1],[107,1],[151,1],[188,1],[224,1],[281,1],[287,1],[341,1],[347,1],[381,1],[414,1],[460,1],[509,1],[552,1],[590,1],[625,1],[667,1],[673,1],[716,1],[751,1],[757,1],[803,1],[809,1],[869,1],[871,2],[874,1],[1051,1]]},"363":{"position":[[23,2],[103,1]]},"367":{"position":[[25,2],[80,1]]},"368":{"position":[[38,1],[49,1],[79,1],[96,1],[133,1],[145,1],[156,1],[164,1],[186,1],[204,1],[219,1],[236,1],[242,1],[264,1],[279,1],[312,1],[334,1],[345,1],[385,1],[389,1],[673,1],[790,1],[1016,2],[1026,1],[1053,1],[1055,1],[1079,1],[1109,1],[1156,2],[1159,2],[1177,1],[1194,1],[1207,1],[1565,1],[1620,1],[1633,1],[1644,1],[1661,1],[1668,1],[1704,1],[1711,1],[1738,1],[1740,1],[1837,1],[1862,5],[1881,1],[1906,1],[2004,1],[2028,1],[2056,1],[2084,1],[2148,1],[2174,1],[2259,1],[2319,1],[3097,1],[3109,1],[3120,1],[3128,1],[3150,1],[3168,1],[3183,1],[3200,1],[3206,1],[3228,1],[3243,1],[3276,1],[3298,1]]},"372":{"position":[[27,2],[126,1]]},"373":{"position":[[39,2],[91,1],[98,1]]},"374":{"position":[[42,1],[54,1],[69,1],[86,1],[121,1],[151,1],[176,1],[203,1],[227,1],[242,1],[249,1],[1663,1]]},"377":{"position":[[23,2],[42,1],[54,1],[65,1],[73,1],[95,1],[113,1],[128,1],[145,1],[151,1],[173,1],[188,1],[221,1],[243,1],[262,1],[336,1],[344,1],[350,1],[357,1],[792,1],[838,1],[937,1],[939,1],[1690,1],[1698,1]]},"379":{"position":[[18,2],[66,1]]},"386":{"position":[[28,1],[40,1],[51,1],[59,1],[81,1],[99,1],[114,1],[131,1],[137,1],[159,1],[174,1],[207,1],[229,1],[248,1],[258,1],[262,1]]},"389":{"position":[[47,1],[49,3],[69,1],[71,2],[74,1]]},"397":{"position":[[20,2],[78,1],[86,1]]},"398":{"position":[[19,1],[21,3],[25,2],[46,1],[52,1],[277,1]]},"399":{"position":[[45,1],[47,3]]},"400":{"position":[[15,2],[111,1],[213,1]]},"402":{"position":[[28,1],[44,1],[67,1],[89,1],[110,1],[130,1],[146,1],[175,1],[203,1],[219,1],[241,1],[265,1],[282,1],[301,1],[327,1],[348,1],[371,1],[402,1],[432,1],[454,1],[471,1],[485,1],[514,1],[544,1],[572,1],[601,1],[630,1],[661,1],[692,1],[727,1],[767,1],[803,1],[840,1],[877,1],[920,1],[953,1],[1010,1],[1068,1],[1096,1],[1132,1]]},"403":{"position":[[14,2],[83,1],[98,1]]},"404":{"position":[[22,1],[51,1],[81,1],[109,1],[138,1],[167,1],[198,1],[229,1],[264,1],[304,1],[340,1],[377,1]]},"405":{"position":[[30,1],[42,1],[53,1],[61,1],[83,1],[101,1],[116,1],[133,1],[139,1],[161,1],[176,1],[209,1],[231,1],[250,1],[278,1],[290,1],[301,1],[309,1],[331,1],[349,1],[364,1],[381,1],[387,1],[409,1],[424,1],[457,1],[479,1],[498,1],[508,1],[528,1],[545,1],[563,1],[579,1],[607,1],[637,1],[663,1],[680,1],[707,1],[719,1],[734,1],[746,1],[758,1],[779,1],[816,1],[829,1],[843,1],[855,1],[859,1],[2250,1],[2304,1]]},"406":{"position":[[334,1],[367,1]]},"408":{"position":[[290,1],[345,1],[381,1],[407,1],[1050,1],[1078,1],[1080,1],[1103,1],[1142,1]]},"409":{"position":[[54,1],[181,1]]},"410":{"position":[[16,2]]},"411":{"position":[[21,2],[177,1]]},"413":{"position":[[124,1]]},"416":{"position":[[72,2],[75,2],[88,1],[96,1],[778,1],[843,1],[932,1],[1033,1]]},"417":{"position":[[58,1],[70,1],[81,1],[89,1],[111,1],[129,1],[144,1],[161,1],[167,1],[189,1],[204,1],[237,1],[259,1],[288,2],[291,2],[304,1],[312,1],[1008,1],[1077,1],[1115,1],[1181,1]]},"418":{"position":[[29,1],[42,5],[48,2],[70,1],[83,4],[88,1],[90,2],[93,1],[461,1]]},"419":{"position":[[302,2],[578,2],[581,1]]},"420":{"position":[[47,1]]},"422":{"position":[[118,1],[133,1],[160,1],[205,1]]},"423":{"position":[[22,2]]},"424":{"position":[[13,2],[30,1],[61,1],[74,4],[79,1],[81,3],[108,1],[121,4],[126,1],[128,2],[131,1]]},"427":{"position":[[14,2],[26,1],[60,1],[73,4],[78,1],[102,1],[344,1],[346,1],[369,1],[412,1],[451,2]]},"428":{"position":[[24,2],[27,2],[38,1],[42,1]]},"429":{"position":[[48,1],[240,1],[358,2],[445,2],[537,2]]},"430":{"position":[[29,1]]},"431":{"position":[[33,2]]},"432":{"position":[[40,2]]},"433":{"position":[[60,1],[66,1],[74,1],[76,1],[89,1]]},"434":{"position":[[23,2],[26,2],[41,1],[49,1]]},"435":{"position":[[38,2],[214,2],[274,2]]},"436":{"position":[[77,1],[177,2]]},"437":{"position":[[10,2],[101,1],[115,1],[159,1],[192,1],[232,1],[240,1],[242,2],[245,1],[375,1],[449,1],[494,1],[514,1],[526,1],[544,1],[546,1],[638,1],[648,2]]},"439":{"position":[[14,2]]},"440":{"position":[[39,2]]},"441":{"position":[[24,2],[252,1],[286,1],[335,2],[345,1]]},"442":{"position":[[25,2],[184,1],[241,2],[269,1],[326,2],[350,1],[410,2]]},"443":{"position":[[25,2],[62,1],[69,1]]},"444":{"position":[[55,2]]},"445":{"position":[[21,2],[171,2]]},"446":{"position":[[45,2],[48,2],[63,1],[80,1],[84,1],[584,1],[603,1]]},"447":{"position":[[16,2],[81,1],[94,4],[99,1],[116,1],[124,1]]},"448":{"position":[[20,2],[63,1],[108,1],[147,1],[151,1]]},"449":{"position":[[56,1],[185,1]]},"450":{"position":[[20,2]]},"451":{"position":[[42,2],[45,2],[64,1],[72,1],[253,1]]},"457":{"position":[[46,1],[58,1],[74,2],[77,2],[92,1],[96,1],[319,1],[408,1],[503,1],[531,1],[533,1],[565,1],[620,1]]},"459":{"position":[[180,1]]},"460":{"position":[[164,1]]},"461":{"position":[[146,1]]},"462":{"position":[[287,1]]},"463":{"position":[[223,1]]},"465":{"position":[[65,1],[71,1],[86,1],[99,1],[133,1],[139,1],[187,1],[193,1],[208,1],[221,1],[255,1],[261,1],[277,1]]},"466":{"position":[[93,1],[99,1],[114,1],[127,1],[161,1],[167,1],[183,1]]},"467":{"position":[[103,1],[109,1],[124,1],[137,1],[171,1],[177,1],[193,1],[335,1]]},"468":{"position":[[69,1],[75,1],[90,1],[103,1],[137,1],[143,1],[159,1],[285,1],[361,1]]},"469":{"position":[[65,1],[71,1],[86,1],[99,1],[133,1],[139,1],[168,1],[174,1],[195,1],[201,1],[208,1],[337,1]]},"470":{"position":[[57,1],[70,1],[82,1],[89,1],[383,1],[484,1],[539,1]]},"471":{"position":[[78,1],[84,1],[99,1],[112,1],[146,1],[152,1],[168,1],[280,1]]},"472":{"position":[[66,1],[72,1],[87,1],[100,1],[134,1],[140,1],[156,1],[260,1]]},"473":{"position":[[76,1],[82,1],[97,1],[110,1],[144,1],[150,1],[166,1],[277,1]]},"474":{"position":[[45,1],[51,1],[63,1],[76,4],[81,1],[483,1]]},"475":{"position":[[66,1],[72,1],[87,1],[100,1],[134,1],[140,1],[190,1],[196,1],[211,1],[224,1],[258,1],[264,1],[292,1],[296,1],[435,1]]},"476":{"position":[[65,1],[71,1],[86,1],[99,1],[133,1],[139,1],[187,1],[193,1],[208,1],[221,1],[255,1],[261,1],[277,1]]},"477":{"position":[[60,1],[66,1],[78,1],[91,4],[96,1],[239,1]]},"478":{"position":[[67,1],[73,1],[88,1],[101,1],[135,1],[141,1],[157,1],[288,1]]},"480":{"position":[[103,1]]},"481":{"position":[[187,1]]},"483":{"position":[[106,1],[161,1]]},"484":{"position":[[159,1],[214,1]]},"492":{"position":[[65,1],[77,1],[81,1],[275,1],[367,1]]},"496":{"position":[[20,1]]},"505":{"position":[[37,1],[120,1],[157,4],[186,1]]},"508":{"position":[[42,2]]},"510":{"position":[[319,1],[361,1],[432,1],[490,1],[590,1],[611,1],[704,1],[753,3],[802,1]]},"511":{"position":[[339,1],[381,1],[452,1],[510,1],[610,1],[631,1],[719,1],[768,3],[817,1]]},"513":{"position":[[125,1],[140,1],[163,1],[208,1]]},"514":{"position":[[119,1],[134,1],[155,1],[200,1]]},"526":{"position":[[23,1]]},"528":{"position":[[41,1],[156,1],[221,1],[241,1]]},"532":{"position":[[148,1]]},"534":{"position":[[125,1]]},"535":{"position":[[65,2]]},"537":{"position":[[46,1]]},"543":{"position":[[33,1]]},"548":{"position":[[54,1],[66,1],[70,1],[275,1],[369,1]]},"551":{"position":[[29,1]]},"553":{"position":[[201,1],[256,2],[259,2]]},"554":{"position":[[26,1],[31,2],[319,1],[385,2],[415,2],[451,2]]},"555":{"position":[[241,1],[294,2]]},"556":{"position":[[217,1],[269,2]]},"557":{"position":[[26,1],[31,2],[428,1],[494,2],[501,2],[553,2],[589,2],[630,1]]},"558":{"position":[[283,1],[338,2],[374,2],[400,2],[403,2],[429,1]]},"559":{"position":[[33,1],[38,2],[511,1],[584,2],[624,2],[631,2],[728,2],[738,2]]},"560":{"position":[[22,1],[27,2],[130,5],[747,1],[749,2],[853,2]]},"561":{"position":[[244,1],[298,2]]},"563":{"position":[[20,2],[194,1],[196,2],[237,2]]},"564":{"position":[[188,1],[212,2],[215,2]]},"565":{"position":[[40,2],[300,1],[302,2],[355,2]]},"566":{"position":[[36,1],[42,1],[60,1],[66,1],[74,1],[76,1],[633,1],[749,2],[754,1],[789,2],[794,1],[830,2],[835,1]]},"567":{"position":[[32,2],[473,1],[578,2]]},"568":{"position":[[24,1],[29,2],[340,1],[360,2],[373,2],[380,2]]},"569":{"position":[[24,2],[253,1],[282,2],[309,2],[412,1],[463,1]]},"570":{"position":[[422,1]]},"575":{"position":[[47,3]]},"576":{"position":[[205,2],[314,2],[367,4],[426,8]]},"577":{"position":[[386,1],[672,1],[745,2]]},"578":{"position":[[252,1]]},"579":{"position":[[29,4],[61,4]]},"581":{"position":[[439,1],[861,1]]},"582":{"position":[[266,1],[519,3]]},"583":{"position":[[401,1]]},"584":{"position":[[1095,4],[1567,1],[1569,1],[1583,1],[1757,1],[1759,1],[1788,1]]},"586":{"position":[[70,1],[97,1],[172,1],[190,1]]},"587":{"position":[[191,1],[193,1],[208,1],[573,1],[575,1]]},"589":{"position":[[232,2],[300,2],[355,2]]},"590":{"position":[[569,2]]},"591":{"position":[[43,1],[49,1],[67,1],[73,1],[81,1],[83,1],[805,2],[853,2],[912,2],[917,1]]},"592":{"position":[[327,2]]},"593":{"position":[[32,1],[45,5],[51,2],[257,2]]},"594":{"position":[[42,1],[48,1],[66,1],[72,1],[80,1],[82,1],[510,2],[558,2],[609,2]]},"595":{"position":[[173,5],[270,2],[276,2],[382,2],[588,4],[628,4],[1416,2],[1437,2],[1502,2],[1557,2],[1643,2],[1732,2]]},"596":{"position":[[43,1],[49,1],[67,1],[73,1],[81,1],[83,1],[388,2],[437,2],[489,1]]},"597":{"position":[[235,2],[274,2]]},"598":{"position":[[213,2],[252,2],[284,2]]},"599":{"position":[[211,2],[250,2],[282,2]]},"600":{"position":[[252,2],[291,2],[326,2]]},"601":{"position":[[216,2],[253,2],[284,2]]},"602":{"position":[[263,2],[302,2],[341,2],[376,2]]},"603":{"position":[[248,2],[287,2],[322,2]]},"604":{"position":[[47,2],[338,2],[390,2],[393,2],[485,2],[562,2]]},"605":{"position":[[191,2]]},"606":{"position":[[29,1],[34,2],[267,2],[334,2]]},"607":{"position":[[34,2],[127,1],[487,2],[587,2]]},"608":{"position":[[37,2],[315,2],[399,2],[478,2]]},"609":{"position":[[37,2],[316,2],[397,2],[476,2]]},"610":{"position":[[51,1],[56,1],[58,1],[423,2],[505,2],[584,2],[662,2],[750,2],[824,2],[902,1]]},"611":{"position":[[43,1],[49,1],[67,1],[73,1],[81,1],[83,1],[349,2],[404,2],[456,2]]},"612":{"position":[[44,1],[50,1],[68,1],[74,1],[82,1],[84,1],[377,2],[433,2],[438,1],[509,1]]},"613":{"position":[[35,2],[130,1],[132,1],[134,3],[251,2],[352,2]]},"614":{"position":[[29,1],[35,1],[58,1],[64,1],[72,1],[74,1],[349,2],[443,2],[522,2]]},"615":{"position":[[29,1],[34,2],[268,2],[335,2]]},"616":{"position":[[28,1],[34,1],[57,1],[63,1],[71,1],[73,1],[149,2],[362,3],[433,5],[911,2],[1015,2],[1127,2],[1211,2],[1304,2]]},"617":{"position":[[37,1],[46,2],[523,2],[615,2],[701,2]]},"618":{"position":[[34,1],[47,5],[53,2],[271,2],[332,2],[370,2],[407,2],[444,2]]},"619":{"position":[[28,1],[33,2],[215,2],[280,2]]},"620":{"position":[[267,2]]},"621":{"position":[[191,2]]},"622":{"position":[[1429,1],[1447,1],[1472,1],[1589,1],[1610,1],[1646,1],[1965,1],[1986,1],[2040,1]]},"627":{"position":[[17,1],[24,2],[39,1],[88,2],[102,2],[116,2],[132,2],[152,2]]},"628":{"position":[[28,2],[141,2],[161,2],[187,2],[217,2],[237,2],[262,2],[286,2],[311,2]]},"629":{"position":[[28,2],[140,2],[160,2],[186,2],[206,2],[231,2]]},"630":{"position":[[11,1],[16,2],[143,2],[161,2],[180,2],[199,2],[219,2],[239,2],[259,2],[275,2],[291,2],[309,2],[330,2],[347,2],[367,2],[394,2],[423,2]]},"632":{"position":[[36,1]]},"633":{"position":[[29,2],[43,1]]},"634":{"position":[[16,2],[203,1],[207,1],[227,2],[244,2],[247,3],[264,2],[267,4]]},"635":{"position":[[15,2]]},"636":{"position":[[508,2],[511,2],[531,2],[558,2],[593,2],[636,2],[675,2],[719,2],[759,2],[773,1],[786,1],[812,2],[830,2]]},"637":{"position":[[11,2]]},"638":{"position":[[106,1],[633,1],[698,2],[761,2],[835,2],[953,2],[969,2],[1051,2]]},"639":{"position":[[35,2],[49,1],[459,2],[579,2]]},"640":{"position":[[24,2]]},"641":{"position":[[96,1],[154,1]]},"642":{"position":[[15,2],[26,1],[121,1],[198,1],[255,2],[270,2]]},"643":{"position":[[23,1],[64,1],[66,1],[281,2],[335,2],[379,2]]},"644":{"position":[[18,1],[26,1],[32,1],[38,1],[43,2],[395,2],[411,2],[429,2],[449,2],[469,2],[490,2],[512,2],[531,2],[563,1],[601,1]]},"645":{"position":[[35,1],[40,1],[42,1],[451,2],[514,1]]},"646":{"position":[[26,2]]},"647":{"position":[[17,2],[129,2],[149,2],[259,2]]},"648":{"position":[[16,1],[24,1],[30,1],[36,1],[41,2],[54,1],[876,2],[888,2],[904,2],[919,2],[933,2],[948,2],[968,2],[987,2],[1007,2],[1022,2],[1037,2],[1059,2],[1078,2],[1115,1],[1165,1],[1241,1]]},"649":{"position":[[32,2]]},"650":{"position":[[20,1],[51,1]]},"651":{"position":[[11,2],[179,2],[192,2],[205,2],[219,2],[235,2],[256,2],[271,1]]},"652":{"position":[[28,1],[33,2],[273,2],[276,2],[293,2],[349,1]]},"653":{"position":[[53,2],[175,2],[204,1],[223,2]]},"654":{"position":[[19,1],[354,2],[417,2],[436,1],[536,2],[557,1]]},"655":{"position":[[19,1],[246,2],[309,2],[329,1],[426,2],[445,1]]},"656":{"position":[[16,2],[360,2],[385,2],[413,2]]},"657":{"position":[[19,2],[38,1]]},"659":{"position":[[13,2]]},"661":{"position":[[12,2]]},"662":{"position":[[28,1],[43,1],[48,1],[50,1],[244,1],[294,1],[813,2],[866,2],[913,2],[952,2]]},"663":{"position":[[133,1],[696,1],[764,2],[800,2],[825,2],[975,1],[1139,2]]},"664":{"position":[[12,2],[119,2],[146,2],[202,2],[270,2],[349,2]]},"665":{"position":[[33,2],[215,2],[253,2],[311,2],[493,2]]},"666":{"position":[[15,2],[18,2],[25,1],[44,1],[52,1],[519,2],[582,2],[676,2],[734,1],[842,2],[900,1]]},"667":{"position":[[49,1]]},"668":{"position":[[11,2],[257,2],[283,2],[314,2]]},"670":{"position":[[29,1],[34,2],[229,2],[232,2],[250,2]]},"671":{"position":[[12,2],[148,2],[180,2],[207,2],[235,2],[280,2]]},"672":{"position":[[19,1],[42,1],[70,1],[95,1]]},"673":{"position":[[469,2],[472,2],[489,2],[562,2]]},"675":{"position":[[461,2],[981,1]]},"676":{"position":[[343,5]]},"688":{"position":[[868,1]]},"690":{"position":[[746,1],[801,1],[994,1],[1015,2],[1036,1],[1281,1],[1346,1],[1369,3],[1409,1],[1462,1],[1464,1],[1466,2],[1469,1],[1534,1],[1557,3],[1595,1],[1640,1],[1642,1],[1644,2],[1647,2],[1650,1],[1652,1],[1723,1],[1823,1],[2200,1],[2221,2],[2242,1],[2800,1],[2802,1]]},"702":{"position":[[506,1],[543,1]]},"708":{"position":[[96,1],[118,1],[151,1],[164,1],[282,1],[298,1],[315,1],[343,1],[374,1],[534,1],[550,1],[567,1],[595,1],[624,1],[931,1],[953,1],[984,1],[1006,1],[1117,1],[1141,1],[1168,1],[1200,1]]},"711":{"position":[[1342,1],[1362,1],[1443,1],[1474,1],[1539,1],[1623,1],[1658,1],[1689,1],[1710,3]]},"712":{"position":[[0,2],[22,12],[35,1],[74,1],[92,1],[124,1],[291,1],[426,1],[462,1],[491,1],[503,1],[525,1],[527,1],[713,2],[716,1],[783,1],[801,1],[828,2],[845,12],[1015,1],[1043,1],[1065,1],[1178,1],[1180,1],[1373,1],[1375,1],[1516,1],[1633,1],[1941,1],[1982,1],[2064,1],[2097,1],[2137,1],[2257,1],[2377,1],[2466,1],[2539,1],[2658,1],[2731,1],[2771,1],[2829,1],[2986,1],[3113,2],[3139,2],[3142,2],[3188,1],[3205,1],[3238,1],[3240,1],[3242,2],[3245,1]]},"713":{"position":[[21,2]]},"741":{"position":[[27,2],[100,1],[107,1],[151,1],[188,1],[224,1],[281,1],[287,1],[341,1],[347,1],[381,1],[414,1],[460,1],[509,1],[552,1],[590,1],[625,1],[667,1],[673,1],[716,1],[751,1],[757,1],[803,1],[809,1],[869,1],[871,2],[874,1],[1051,1]]},"742":{"position":[[23,2],[103,1]]},"746":{"position":[[25,2],[80,1]]},"747":{"position":[[38,1],[49,1],[79,1],[96,1],[133,1],[145,1],[156,1],[164,1],[186,1],[204,1],[219,1],[236,1],[242,1],[264,1],[279,1],[312,1],[334,1],[345,1],[385,1],[389,1],[673,1],[790,1],[1016,2],[1026,1],[1053,1],[1055,1],[1079,1],[1109,1],[1156,2],[1159,2],[1177,1],[1194,1],[1207,1],[1565,1],[1620,1],[1633,1],[1644,1],[1661,1],[1668,1],[1704,1],[1711,1],[1738,1],[1740,1],[1837,1],[1862,5],[1881,1],[1906,1],[2004,1],[2028,1],[2056,1],[2084,1],[2148,1],[2174,1],[2259,1],[2319,1],[3097,1],[3109,1],[3120,1],[3128,1],[3150,1],[3168,1],[3183,1],[3200,1],[3206,1],[3228,1],[3243,1],[3276,1],[3298,1]]},"751":{"position":[[27,2],[126,1]]},"752":{"position":[[39,2],[91,1],[98,1]]},"753":{"position":[[42,1],[54,1],[69,1],[86,1],[121,1],[151,1],[176,1],[203,1],[227,1],[242,1],[249,1],[1663,1]]},"756":{"position":[[23,2],[42,1],[54,1],[65,1],[73,1],[95,1],[113,1],[128,1],[145,1],[151,1],[173,1],[188,1],[221,1],[243,1],[262,1],[336,1],[344,1],[350,1],[357,1],[792,1],[838,1],[937,1],[939,1],[1690,1],[1698,1]]},"758":{"position":[[18,2],[66,1]]},"765":{"position":[[28,1],[40,1],[51,1],[59,1],[81,1],[99,1],[114,1],[131,1],[137,1],[159,1],[174,1],[207,1],[229,1],[248,1],[258,1],[262,1]]},"768":{"position":[[47,1],[49,3],[69,1],[71,2],[74,1]]},"776":{"position":[[20,2],[78,1],[86,1]]},"777":{"position":[[19,1],[21,3],[25,2],[46,1],[52,1],[277,1]]},"778":{"position":[[45,1],[47,3]]},"779":{"position":[[15,2],[111,1],[213,1]]},"781":{"position":[[28,1],[44,1],[67,1],[89,1],[110,1],[130,1],[146,1],[175,1],[203,1],[219,1],[241,1],[265,1],[282,1],[301,1],[327,1],[348,1],[371,1],[402,1],[432,1],[454,1],[471,1],[485,1],[514,1],[544,1],[572,1],[601,1],[630,1],[661,1],[692,1],[727,1],[767,1],[803,1],[840,1],[877,1],[920,1],[953,1],[1010,1],[1068,1],[1096,1],[1132,1]]},"782":{"position":[[14,2],[83,1],[98,1]]},"783":{"position":[[22,1],[51,1],[81,1],[109,1],[138,1],[167,1],[198,1],[229,1],[264,1],[304,1],[340,1],[377,1]]},"784":{"position":[[30,1],[42,1],[53,1],[61,1],[83,1],[101,1],[116,1],[133,1],[139,1],[161,1],[176,1],[209,1],[231,1],[250,1],[278,1],[290,1],[301,1],[309,1],[331,1],[349,1],[364,1],[381,1],[387,1],[409,1],[424,1],[457,1],[479,1],[498,1],[508,1],[528,1],[545,1],[563,1],[579,1],[607,1],[637,1],[663,1],[680,1],[707,1],[719,1],[734,1],[746,1],[758,1],[779,1],[816,1],[829,1],[843,1],[855,1],[859,1],[2250,1],[2304,1]]},"785":{"position":[[334,1],[367,1]]},"787":{"position":[[290,1],[345,1],[381,1],[407,1],[1050,1],[1078,1],[1080,1],[1103,1],[1142,1]]},"788":{"position":[[54,1],[181,1]]},"789":{"position":[[16,2]]},"790":{"position":[[21,2],[177,1]]},"792":{"position":[[124,1]]},"795":{"position":[[72,2],[75,2],[88,1],[96,1],[778,1],[843,1],[932,1],[1033,1]]},"796":{"position":[[58,1],[70,1],[81,1],[89,1],[111,1],[129,1],[144,1],[161,1],[167,1],[189,1],[204,1],[237,1],[259,1],[288,2],[291,2],[304,1],[312,1],[1008,1],[1077,1],[1115,1],[1181,1]]},"797":{"position":[[29,1],[42,5],[48,2],[70,1],[83,4],[88,1],[90,2],[93,1],[461,1]]},"798":{"position":[[302,2],[578,2],[581,1]]},"799":{"position":[[47,1]]},"801":{"position":[[118,1],[133,1],[160,1],[205,1]]},"802":{"position":[[22,2]]},"803":{"position":[[13,2],[30,1],[61,1],[74,4],[79,1],[81,3],[108,1],[121,4],[126,1],[128,2],[131,1]]},"806":{"position":[[14,2],[26,1],[60,1],[73,4],[78,1],[102,1],[344,1],[346,1],[369,1],[412,1],[451,2]]},"807":{"position":[[24,2],[27,2],[38,1],[42,1]]},"808":{"position":[[48,1],[240,1],[358,2],[445,2],[537,2]]},"809":{"position":[[29,1]]},"810":{"position":[[33,2]]},"811":{"position":[[40,2]]},"812":{"position":[[60,1],[66,1],[74,1],[76,1],[89,1]]},"813":{"position":[[23,2],[26,2],[41,1],[49,1]]},"814":{"position":[[38,2],[214,2],[274,2]]},"815":{"position":[[77,1],[177,2]]},"816":{"position":[[10,2],[101,1],[115,1],[159,1],[192,1],[232,1],[240,1],[242,2],[245,1],[375,1],[449,1],[494,1],[514,1],[526,1],[544,1],[546,1],[638,1],[648,2]]},"818":{"position":[[14,2]]},"819":{"position":[[39,2]]},"820":{"position":[[24,2],[252,1],[286,1],[335,2],[345,1]]},"821":{"position":[[25,2],[184,1],[241,2],[269,1],[326,2],[350,1],[410,2]]},"822":{"position":[[25,2],[62,1],[69,1]]},"823":{"position":[[55,2]]},"824":{"position":[[21,2],[171,2]]},"825":{"position":[[45,2],[48,2],[63,1],[80,1],[84,1],[584,1],[603,1]]},"826":{"position":[[16,2],[81,1],[94,4],[99,1],[116,1],[124,1]]},"827":{"position":[[20,2],[63,1],[108,1],[147,1],[151,1]]},"828":{"position":[[56,1],[185,1]]},"829":{"position":[[20,2]]},"830":{"position":[[42,2],[45,2],[64,1],[72,1],[253,1]]},"840":{"position":[[255,1],[257,3],[285,1],[302,1],[335,1],[337,1],[339,1],[593,2],[596,1],[957,1],[959,3],[987,1],[1004,1],[1037,1],[1039,1],[1120,1],[1136,2],[1139,1]]},"850":{"position":[[183,1],[185,3],[202,1],[219,1],[245,1],[247,1],[249,1],[503,2],[506,1],[834,1]]},"851":{"position":[[141,1],[169,1],[211,1],[1829,1],[1886,1],[1951,1],[1979,1],[1996,1],[2038,1],[2065,1],[2133,1],[2199,2],[2211,1],[2245,1],[2253,1]]},"852":{"position":[[117,1]]},"853":{"position":[[168,1]]},"854":{"position":[[193,1]]},"856":{"position":[[539,1],[582,1],[648,1],[683,1],[750,1],[784,1],[868,1],[915,1],[1000,1]]},"858":{"position":[[150,1]]},"859":{"position":[[84,1],[185,1]]},"860":{"position":[[218,1],[226,1],[270,1],[310,1],[335,1],[380,1]]},"864":{"position":[[450,1],[478,1],[526,1],[543,1],[561,1],[563,3],[567,1],[1021,1],[1029,1],[1063,1],[1111,1],[1139,1],[1170,1],[1209,1],[1257,1],[1285,1],[1326,1],[1343,1],[1361,1],[1363,3],[1367,1]]},"867":{"position":[[285,1],[318,1],[375,1],[502,1],[548,2],[575,1],[610,1],[612,2],[615,2],[654,1],[683,1],[699,1],[735,1],[774,1],[828,1],[830,1],[962,1],[1034,1],[1062,2],[1097,1],[1199,1],[1293,1],[1400,1],[1500,1],[1577,2],[1616,1],[1645,1],[2199,1],[2238,1],[2272,1],[2308,2],[2347,1],[2376,1]]},"878":{"position":[[283,1],[311,1],[376,1],[533,1],[583,1],[636,1],[737,1],[791,1],[836,1],[925,1],[976,1],[1009,1],[1406,1],[1431,1],[1433,3],[1445,1],[1447,1],[1465,2],[1470,1],[1485,1],[1573,1],[1590,1],[1623,1],[1625,1],[1627,2],[1630,1]]},"888":{"position":[[263,1],[290,1],[327,1],[343,1],[367,1]]},"889":{"position":[[317,1],[325,1],[344,1],[390,1],[408,1],[464,1]]},"890":{"position":[[227,3],[373,1],[375,2],[391,1],[411,1],[1187,1],[1462,1],[1496,1],[1615,1],[2484,1],[2571,1],[3245,1],[3254,2],[4133,1],[4218,1],[5105,1],[5146,1],[5493,1],[5546,1],[5548,2]]},"892":{"position":[[42,2],[71,2],[106,2],[982,2],[1011,2],[1027,2],[1059,2],[1458,2],[1474,2],[1490,2],[1522,2],[1537,2],[1685,2],[1701,2],[1717,2],[1749,2],[1784,2],[1922,2],[1957,2]]},"898":{"position":[[234,3],[2135,1],[2210,1],[2223,1],[2327,1],[2342,1],[2425,1]]},"900":{"position":[[987,4],[1082,1]]},"901":{"position":[[96,1],[652,1],[720,2],[755,2],[780,2],[929,1],[1093,2]]},"902":{"position":[[84,1],[622,1],[687,2],[749,2],[822,2],[940,2],[955,2],[1036,2]]},"904":{"position":[[968,1],[1015,1],[1057,1],[1104,1],[1144,1],[1185,1]]},"905":{"position":[[755,1],[841,1],[903,1],[961,1]]},"906":{"position":[[167,1],[224,1],[287,1],[494,1],[550,1],[586,1],[933,1],[982,1],[1052,1],[1093,1],[1151,1]]},"907":{"position":[[501,1]]},"910":{"position":[[91,1]]},"912":{"position":[[13,3]]},"916":{"position":[[467,1]]},"917":{"position":[[188,1],[218,1],[220,1],[259,2],[262,1]]},"919":{"position":[[2762,2]]},"924":{"position":[[222,1],[803,5],[1011,1],[1127,3],[1363,3],[1624,1],[1669,1],[1733,1],[1765,1],[1816,1],[1868,1],[2214,1]]},"927":{"position":[[39,1],[83,1],[112,1],[159,1]]},"930":{"position":[[126,1],[139,1],[171,1],[173,1],[219,1],[221,1]]},"931":{"position":[[81,1]]},"934":{"position":[[55,1],[71,1]]},"938":{"position":[[786,1],[876,3],[880,2]]},"939":{"position":[[1202,2],[1520,1],[1715,2]]},"940":{"position":[[637,1],[684,1],[686,1],[846,3],[850,2],[1043,1],[1061,1],[1083,1],[1107,1],[1134,1],[1158,1],[1185,1],[1268,1],[1315,1],[1317,1],[1435,3],[1439,2]]},"941":{"position":[[133,1],[169,1],[188,1],[190,3],[203,1],[238,1],[269,1],[328,3],[332,1]]},"942":{"position":[[661,2],[1236,1],[1641,2],[1830,1]]},"943":{"position":[[403,1],[450,1],[452,1],[612,3],[616,2],[619,1],[670,1],[701,1],[737,1],[756,1],[758,3],[771,1],[838,1]]},"944":{"position":[[1126,1],[1141,1],[1193,1],[1263,1],[1295,1],[1363,1],[1428,1],[1477,1],[1479,1],[1808,3],[1812,3],[1816,2]]},"945":{"position":[[16,1]]},"950":{"position":[[936,1],[973,1],[1040,1],[1236,1]]},"961":{"position":[[458,1],[477,1],[494,1],[511,1],[513,1],[554,1],[556,1],[564,1],[576,3],[580,1],[787,1]]},"962":{"position":[[240,1],[259,1],[307,1],[336,1],[410,1],[427,1],[495,1],[557,1]]},"963":{"position":[[86,1],[150,1]]},"964":{"position":[[522,1],[596,1],[622,1],[685,1],[977,1],[1035,1]]},"966":{"position":[[292,1],[319,1],[336,1],[353,1],[355,1],[396,1],[398,1],[415,1],[417,1],[482,1],[536,1],[553,1],[565,3],[569,1],[595,1],[625,1],[651,1],[721,1],[723,1]]},"981":{"position":[[186,1],[240,1],[242,3]]},"984":{"position":[[10,2]]},"988":{"position":[[319,1]]},"989":{"position":[[62,1]]},"990":{"position":[[149,1],[953,1],[1158,1]]},"991":{"position":[[14,1],[59,1],[72,1],[99,1],[101,1],[145,1],[163,2],[166,1],[181,1],[194,1],[216,1],[245,1],[247,1],[292,1],[302,1],[383,1],[404,1],[557,1],[578,2],[594,1],[612,1],[626,1],[639,1],[661,1],[690,1],[692,1],[747,1],[825,1],[846,2],[862,1],[880,1],[917,1],[947,1],[949,4],[954,1],[1037,1],[1123,1],[1209,1],[1252,1],[1254,1],[1344,1],[1437,1],[1525,1],[1625,1],[1627,3],[1639,1],[1678,1],[1712,1],[1720,1],[1722,1],[1776,1],[1801,1],[1825,1],[1827,1],[1866,1],[1900,1],[1908,1],[1910,1],[1964,1],[1989,1],[2013,1],[2034,1],[2056,1],[2086,1],[2107,1],[2127,1],[2149,1],[2169,1]]},"993":{"position":[[253,1],[277,1],[302,1],[316,1],[348,1],[368,1]]},"994":{"position":[[443,1],[471,1],[473,1],[475,1],[612,2],[626,1],[628,1],[650,2],[653,1]]},"995":{"position":[[1083,1],[1402,1],[1443,1],[1477,1],[1527,1],[1551,1]]},"1001":{"position":[[129,1],[138,2],[141,3],[1211,2],[1214,3]]},"1004":{"position":[[1031,1],[1073,1],[1106,1],[1142,1],[1178,1],[1248,1],[1250,1],[1319,2],[1331,1],[1333,1],[1400,1],[1410,1],[1455,1],[1476,1],[1511,1],[1526,1],[1564,1],[1597,1],[1599,1],[1631,1],[1720,1],[1722,3],[1763,1],[1822,1],[1833,1],[1862,1],[1887,1],[1889,1],[1993,2],[2191,2]]},"1005":{"position":[[423,1],[435,1],[465,3],[469,1]]},"1006":{"position":[[456,1],[464,3],[474,1],[476,1],[538,1],[571,1],[573,4],[578,2],[581,1],[643,1],[694,1],[782,1],[784,1],[786,1],[788,1],[1021,2],[1024,1],[1182,2],[1185,1],[1187,1]]},"1007":{"position":[[282,1],[305,1],[348,3],[352,1]]},"1009":{"position":[[485,1],[557,1],[620,1],[685,1],[687,2],[708,1],[732,1],[734,3],[744,1],[746,1],[795,2],[798,1],[808,1],[837,4],[860,1],[878,1]]},"1021":{"position":[[96,3]]},"1024":{"position":[[940,1],[967,1],[997,1],[1016,1],[1031,1],[1053,1],[1078,1],[1096,1]]},"1026":{"position":[[1284,1],[1392,1],[1496,1]]},"1031":{"position":[[199,1],[233,1],[262,1],[327,1],[387,1],[464,1],[522,1],[568,1],[643,1],[681,1],[713,1],[785,1],[994,5],[1010,1],[1012,1],[1047,1],[1049,1]]},"1040":{"position":[[104,2],[2130,1],[2132,2],[2168,1],[2199,1],[2313,1],[2344,1],[2374,1],[2447,1],[2594,1],[2639,1],[2690,1]]},"1042":{"position":[[76,1],[89,1],[109,1],[111,3],[115,1],[117,1],[136,1],[154,1],[174,1],[176,3],[206,1],[208,2],[211,1],[242,1]]},"1043":{"position":[[248,1],[266,1],[286,1],[288,3],[318,1],[320,2],[323,1],[339,1],[357,1],[377,1],[379,3],[409,1],[411,2],[414,1],[416,1],[448,1],[489,3],[506,1],[550,4],[571,5]]},"1044":{"position":[[969,1],[987,1],[1024,1],[1042,1],[1062,1],[1064,3],[1094,1],[1096,1],[1148,1],[1150,1],[1152,1],[1184,1],[1224,3],[1237,1],[1298,1],[1452,1],[1470,1],[1506,1],[1524,1],[1562,1],[1580,1],[1600,1],[1602,3],[1632,1],[1634,1],[1686,1],[1688,1],[1704,1],[1722,1],[1742,1],[1744,3],[1774,1],[1776,1],[1832,1],[1834,1],[1836,1],[1868,1],[1912,4],[1933,5],[1945,1],[2011,1],[2705,1],[2819,1],[2837,1],[2860,1],[2862,1],[2954,1],[3094,2],[3123,1],[3125,2],[3128,1],[3199,1],[3241,1],[3295,1],[3344,1],[3374,1]]},"1046":{"position":[[0,1],[42,1],[55,1],[73,1],[75,1],[77,1],[148,1],[208,2],[211,1],[213,1],[286,1],[288,1],[358,1],[461,2],[464,1]]},"1047":{"position":[[0,1],[37,1],[55,1],[128,1],[163,1],[177,1],[223,1],[237,1],[239,1],[334,1],[441,1],[510,2]]},"1048":{"position":[[252,2],[260,14],[350,1],[376,1],[426,1],[428,2],[441,12],[472,1],[490,1],[554,1],[709,2],[762,1],[789,1],[802,1],[835,1],[837,1],[905,2],[908,1],[957,1],[998,1],[1053,1],[1206,2],[1216,1],[1245,1],[1266,1],[1274,1],[1276,1],[1373,1],[1447,2],[1499,1],[1512,1],[1540,1],[1542,1],[1632,1],[1667,2],[1670,1]]},"1049":{"position":[[677,1],[695,1],[810,1],[878,1],[979,1],[994,1],[1010,1],[1028,1],[1048,1],[1050,3],[1080,1],[1082,1],[1182,1],[1184,1],[1257,1],[1290,3],[1309,1],[1359,1],[1398,1],[1534,2],[1546,1],[1604,1],[1633,1],[1645,1],[1664,1],[1666,1],[1708,2]]},"1050":{"position":[[1637,1],[1684,1],[1686,1],[1881,2],[1884,3],[1888,1],[1890,1],[2569,1],[2626,1],[2742,1],[2786,1],[2831,1],[2886,1],[2894,1],[3485,1],[3771,1],[3826,1],[3899,1],[4067,1],[4111,1],[4156,1],[4211,1],[4219,1]]},"1052":{"position":[[217,1],[452,1],[674,1],[720,1],[819,1],[821,1],[839,1],[1143,1]]},"1054":{"position":[[70,1],[104,1],[127,1],[304,1],[346,1],[405,1],[407,1],[463,2],[466,1],[468,1],[536,1],[582,1],[681,1],[683,1],[1378,1],[1391,1],[1416,1],[1418,1],[1420,3],[1489,1],[1527,1],[1552,3],[1556,2],[1559,1],[1743,3],[1754,1],[1756,3],[1784,3],[1804,1],[1806,1],[1861,2],[1864,3]]},"1057":{"position":[[435,3]]},"1058":{"position":[[364,3],[540,2],[585,1]]},"1060":{"position":[[75,3]]},"1064":{"position":[[94,1],[103,2],[106,3],[1203,2],[1206,3],[1583,1],[1614,1],[1627,4],[1632,1],[1634,3],[1661,1],[1674,4],[1679,1],[1681,2],[1684,1]]},"1065":{"position":[[55,2],[58,3]]},"1071":{"position":[[273,1],[308,1],[341,1],[376,4],[993,1]]},"1072":{"position":[[601,1],[603,1],[669,1],[693,1],[729,1],[731,1],[898,2],[927,1],[954,2],[1021,1],[1044,1],[1054,2],[1057,3],[1061,1],[1160,1],[1199,1],[1223,1],[1259,1],[1261,1],[1428,2],[1457,1],[1484,2],[1487,3],[1491,1]]},"1073":{"position":[[70,1]]},"1076":{"position":[[89,1]]},"1077":{"position":[[333,1]]},"1078":{"position":[[184,1]]},"1079":{"position":[[490,1],[569,1],[611,1],[616,1],[645,1],[681,1]]},"1081":{"position":[[86,1],[111,1],[130,1],[164,1],[196,1],[220,1],[252,1],[280,1]]},"1082":{"position":[[687,1],[777,1],[797,1],[834,1],[868,1],[870,1],[910,2],[913,1],[933,1],[965,1],[989,1],[1021,1],[1049,1],[1059,1],[1082,1],[1158,1]]},"1083":{"position":[[523,1],[599,1],[624,1],[633,1],[670,1],[704,1],[706,1],[744,2],[747,1],[767,1],[799,1],[823,1],[855,1],[883,1],[893,1],[916,1],[995,1]]},"1084":{"position":[[365,1],[397,1],[421,1],[453,1],[481,1],[496,1],[528,1],[556,1],[577,1]]},"1086":{"position":[[512,1],[536,1],[603,1],[636,1],[665,1],[667,1],[735,2],[738,1]]},"1087":{"position":[[469,1],[501,1],[525,1],[557,1],[585,1],[600,1],[632,1],[660,1],[683,1]]},"1088":{"position":[[816,1],[848,1],[872,1],[904,1],[932,1],[947,1],[979,1],[1007,1],[1030,1],[1060,1],[1088,1],[1127,1],[1180,1]]},"1093":{"position":[[163,1],[686,1]]},"1096":{"position":[[192,1],[194,1],[203,1],[236,1],[276,1],[322,1]]},"1100":{"position":[[303,1]]},"1103":{"position":[[198,3],[209,1],[351,1],[380,1],[391,1],[407,1],[419,1],[447,1],[449,1],[484,3],[488,2]]},"1104":{"position":[[632,1],[1735,1],[1773,1],[1818,1],[1868,1],[1870,1],[1943,1],[2324,1],[2363,1],[2393,1],[2407,1],[2421,1],[2478,1],[2558,1],[2584,1]]},"1105":{"position":[[467,1],[577,1],[601,1],[1307,1],[1686,1],[1764,1]]},"1108":{"position":[[433,1],[446,1],[474,1],[476,1],[554,1],[556,1]]},"1110":{"position":[[58,1]]},"1112":{"position":[[12,1],[14,1],[88,1],[136,1],[202,1],[262,1],[371,1],[447,1],[521,1],[598,1],[663,1],[688,1],[690,1],[769,1],[771,1],[846,1],[891,1],[910,1],[912,1],[1038,1],[1087,1],[1089,1],[1160,1],[1232,1],[1301,1],[1370,1],[1405,1],[1430,1],[1432,1],[1508,1],[1585,1],[1639,1],[1688,1],[1762,1],[1865,1],[1894,1],[1896,1],[1967,1],[1984,1],[2058,1],[2088,1],[2090,1],[2148,4],[2166,1],[2243,1],[2364,1],[2439,1],[2441,1],[2468,1],[2518,1],[2590,1],[2598,1],[2600,1],[2694,1],[2801,1],[2920,1],[2996,1],[3070,1],[3125,1],[3139,1],[3141,1],[3174,1],[3210,1],[3246,1],[3306,1],[3366,1],[3466,1],[3553,1],[3690,1],[3702,1],[3704,1],[3793,1],[3806,1],[3808,1],[3852,1],[3919,1],[3949,1],[3951,1],[4041,1],[4147,1],[4164,1],[4166,1],[4253,1],[4339,1],[4424,1],[4511,1],[4598,1],[4639,1],[4751,1],[4833,1],[4855,1],[4857,1],[4955,1],[4998,1]]},"1120":{"position":[[121,1]]},"1124":{"position":[[76,1],[78,1],[148,1],[235,1],[323,1],[366,1]]},"1125":{"position":[[50,1],[52,1],[145,1],[162,1],[176,1],[178,4],[183,1]]},"1126":{"position":[[162,1],[164,1],[238,1],[302,1],[380,1],[446,1],[513,1],[587,1],[618,1],[672,1],[682,1],[693,1],[778,1],[780,1],[870,1],[893,1],[895,4],[900,1],[983,1],[985,1],[1026,1],[1075,1],[1161,1],[1182,1],[1184,4],[1189,1],[1191,1],[1232,1],[1282,1],[1366,1],[1368,1],[1457,1],[1471,1],[1473,4],[1478,1]]},"1127":{"position":[[744,1],[752,1],[820,1],[831,2],[840,1],[842,1]]},"1131":{"position":[[591,4],[774,1],[806,1],[808,1],[852,1],[897,1],[929,1],[931,1],[974,1]]},"1136":{"position":[[1075,3],[1697,1],[1849,1],[2434,1],[3137,1],[3278,1],[6123,1],[6147,1],[6173,1],[6201,1],[6233,1],[6262,1]]},"1138":{"position":[[1281,2],[1284,1],[1503,1],[1520,1],[1560,1],[2285,1],[4761,1],[5049,1],[5360,6],[5370,3],[5533,1],[5784,1],[5810,1],[6799,1],[6940,1],[9785,1],[9809,1],[9835,1],[9863,1],[9895,1],[9924,1]]},"1140":{"position":[[69,1],[992,1],[1009,1],[1049,1],[1774,1],[4250,1],[4538,1],[4849,6],[4859,3],[5022,1],[5725,1],[5866,1],[8711,1],[8735,1],[8761,1],[8789,1],[8821,1],[8850,1]]},"1142":{"position":[[726,1],[1169,1],[1310,1],[4155,1],[4179,1],[4205,1],[4233,1],[4265,1],[4294,1]]},"1144":{"position":[[374,1],[483,1],[507,1],[533,1],[561,1],[593,1],[622,1]]},"1146":{"position":[[406,1],[1109,1],[1250,1],[4095,1],[4119,1],[4145,1],[4173,1],[4205,1],[4234,1]]},"1148":{"position":[[388,1],[1431,3],[2053,1],[2205,1],[2883,1],[3134,1],[3160,1],[4149,1],[4290,1],[7686,1],[7710,1],[7736,1],[7764,1],[7796,1],[7825,1]]},"1150":{"position":[[609,1],[718,1],[742,1],[768,1],[796,1],[828,1],[857,1]]},"1152":{"position":[[307,1],[416,1],[440,1],[466,1],[494,1],[526,1],[555,1]]},"1154":{"position":[[462,1],[571,1],[595,1],[621,1],[649,1],[681,1],[710,1]]},"1155":{"position":[[762,1],[1205,1],[1346,1],[4191,1],[4215,1],[4241,1],[4269,1],[4301,1],[4330,1]]},"1156":{"position":[[340,1],[783,1],[924,1],[3769,1],[3793,1],[3819,1],[3847,1],[3879,1],[3908,1]]},"1157":{"position":[[245,1],[354,1],[378,1],[404,1],[432,1],[464,1],[493,1]]},"1158":{"position":[[239,1],[348,1],[372,1],[398,1],[426,1],[458,1],[487,1]]},"1159":{"position":[[239,1],[348,1],[372,1],[398,1],[426,1],[458,1],[487,1]]},"1161":{"position":[[171,2],[503,1],[1343,1],[1367,1],[1393,1],[1421,1],[1453,1],[1482,1]]},"1163":{"position":[[301,1],[729,1],[753,1],[779,1],[807,1],[839,1],[868,1]]},"1165":{"position":[[130,1],[558,1],[582,1],[608,1],[636,1],[668,1],[697,1]]},"1167":{"position":[[84,1],[1996,1],[2013,1],[2053,1],[2778,1],[5254,1],[5542,1],[5853,6],[5863,3],[6026,1],[6729,1],[6870,1],[9715,1],[9739,1],[9765,1],[9793,1],[9825,1],[9854,1]]},"1169":{"position":[[125,1],[568,1],[709,1],[2823,1],[2847,1],[2873,1],[2901,1],[2933,1],[2962,1]]},"1171":{"position":[[955,1],[1064,1],[1088,1],[1114,1],[1142,1],[1174,1],[1203,1]]},"1172":{"position":[[2340,1],[2449,1],[2473,1],[2499,1],[2527,1],[2559,1],[2588,1]]},"1173":{"position":[[1027,1],[1136,1],[1160,1],[1186,1],[1214,1],[1246,1],[1275,1]]},"1174":{"position":[[455,1],[564,1],[588,1],[614,1],[642,1],[674,1],[703,1]]},"1175":{"position":[[451,1],[560,1],[584,1],[610,1],[638,1],[670,1],[699,1]]},"1176":{"position":[[507,1],[620,1],[729,1],[753,1],[779,1],[807,1],[839,1],[868,1]]},"1177":{"position":[[541,1],[650,1],[674,1],[700,1],[728,1],[760,1],[789,1]]},"1178":{"position":[[858,1],[967,1],[991,1],[1017,1],[1045,1],[1077,1],[1106,1]]},"1179":{"position":[[655,1],[764,1],[788,1],[814,1],[842,1],[874,1],[903,1]]},"1180":{"position":[[926,1],[1035,1],[1059,1],[1085,1],[1113,1],[1145,1],[1174,1]]},"1181":{"position":[[715,1],[1555,1],[1579,1],[1605,1],[1633,1],[1665,1],[1694,1]]},"1182":{"position":[[489,1],[598,1],[622,1],[648,1],[676,1],[708,1],[737,1]]},"1183":{"position":[[444,1],[553,1],[577,1],[603,1],[631,1],[663,1],[692,1]]},"1185":{"position":[[289,1],[398,1],[422,1],[448,1],[476,1],[508,1],[537,1]]},"1186":{"position":[[504,1],[520,1],[533,1],[612,1],[799,1],[1107,1],[1358,1],[1384,1],[2373,1],[2514,1],[5359,1],[5383,1],[5409,1],[5437,1],[5469,1],[5498,1]]},"1187":{"position":[[517,1],[533,1],[546,1],[625,1],[812,1],[1120,1],[1371,1],[1397,1],[2386,1],[2527,1],[5372,1],[5396,1],[5422,1],[5450,1],[5482,1],[5511,1]]},"1188":{"position":[[122,1],[1045,1],[1062,1],[1102,1],[1827,1],[4303,1],[4591,1],[4902,6],[4912,3],[5243,1],[5259,1],[5272,1],[5351,1],[5538,1],[5846,1],[6097,1],[6123,1],[7112,1],[7253,1],[10098,1],[10122,1],[10148,1],[10176,1],[10208,1],[10237,1]]},"1190":{"position":[[1620,1],[1729,1],[1753,1],[1779,1],[1807,1],[1839,1],[1868,1]]},"1191":{"position":[[530,1],[973,1],[1114,1],[3959,1],[3983,1],[4009,1],[4037,1],[4069,1],[4098,1]]},"1192":{"position":[[445,1],[1148,1],[1289,1],[4134,1],[4158,1],[4184,1],[4212,1],[4244,1],[4273,1]]},"1193":{"position":[[757,1],[1200,1],[1341,1],[4186,1],[4210,1],[4236,1],[4264,1],[4296,1],[4325,1]]},"1194":{"position":[[397,1],[840,1],[981,1],[3826,1],[3850,1],[3876,1],[3904,1],[3936,1],[3965,1]]},"1195":{"position":[[375,1],[818,1],[959,1],[3804,1],[3828,1],[3854,1],[3882,1],[3914,1],[3943,1]]},"1196":{"position":[[185,1],[628,1],[769,1],[3614,1],[3638,1],[3664,1],[3692,1],[3724,1],[3753,1]]},"1197":{"position":[[345,1],[596,1],[622,1],[1611,1],[1752,1],[4597,1],[4621,1],[4647,1],[4675,1],[4707,1],[4736,1]]},"1198":{"position":[[355,1],[606,1],[632,1],[1621,1],[1762,1],[4607,1],[4631,1],[4657,1],[4685,1],[4717,1],[4746,1]]},"1199":{"position":[[383,1],[634,1],[660,1],[1649,1],[1790,1],[4635,1],[4659,1],[4685,1],[4713,1],[4745,1],[4774,1]]},"1200":{"position":[[250,1],[501,1],[527,1],[1516,1],[1657,1],[4502,1],[4526,1],[4552,1],[4580,1],[4612,1],[4641,1]]},"1201":{"position":[[333,1],[776,1],[917,1],[3762,1],[3786,1],[3812,1],[3840,1],[3872,1],[3901,1]]},"1202":{"position":[[397,1],[506,1],[530,1],[556,1],[584,1],[616,1],[645,1],[1475,1],[1918,1],[2059,1],[4904,1],[4928,1],[4954,1],[4982,1],[5014,1],[5043,1],[5872,1],[6315,1],[6456,1],[9301,1],[9325,1],[9351,1],[9379,1],[9411,1],[9440,1]]},"1203":{"position":[[307,1],[1010,1],[1151,1],[3996,1],[4020,1],[4046,1],[4074,1],[4106,1],[4135,1]]},"1204":{"position":[[411,1],[854,1],[995,1],[3840,1],[3864,1],[3890,1],[3918,1],[3950,1],[3979,1],[4633,1],[4742,1],[4766,1],[4792,1],[4820,1],[4852,1],[4881,1],[5563,1],[5672,1],[5696,1],[5722,1],[5750,1],[5782,1],[5811,1],[6465,1],[6574,1],[6598,1],[6624,1],[6652,1],[6684,1],[6713,1],[7451,1],[7560,1],[7584,1],[7610,1],[7638,1],[7670,1],[7699,1],[8405,1],[8514,1],[8538,1],[8564,1],[8592,1],[8624,1],[8653,1],[9352,1],[9461,1],[9485,1],[9511,1],[9539,1],[9571,1],[9600,1],[10282,1],[10391,1],[10415,1],[10441,1],[10469,1],[10501,1],[10530,1]]},"1205":{"position":[[555,3],[1177,1],[1329,1],[1480,1],[2183,1],[2324,1],[5169,1],[5193,1],[5219,1],[5247,1],[5279,1],[5308,1]]},"1206":{"position":[[211,1],[654,1],[795,1],[3868,1],[3892,1],[3918,1],[3946,1],[3978,1],[4007,1]]},"1207":{"position":[[368,1],[811,1],[952,1],[3797,1],[3821,1],[3847,1],[3875,1],[3907,1],[3936,1]]},"1209":{"position":[[308,3],[930,1],[1082,1],[1716,1],[2159,1],[2300,1],[5145,1],[5169,1],[5195,1],[5223,1],[5255,1],[5284,1]]},"1211":{"position":[[360,1],[469,1],[493,1],[519,1],[547,1],[579,1],[608,1]]},"1213":{"position":[[131,1],[240,1],[264,1],[290,1],[318,1],[350,1],[379,1]]},"1215":{"position":[[215,1],[324,1],[348,1],[374,1],[402,1],[434,1],[463,1]]},"1217":{"position":[[683,4],[737,1],[754,1],[794,1],[1519,1],[3995,1],[4283,1],[4594,6],[4604,3],[4767,1],[5470,1],[5611,1],[8456,1],[8480,1],[8506,1],[8534,1],[8566,1],[8595,1]]},"1219":{"position":[[1013,1],[1456,1],[1597,1],[3711,1],[3735,1],[3761,1],[3789,1],[3821,1],[3850,1]]},"1221":{"position":[[334,1],[443,1],[467,1],[493,1],[521,1],[553,1],[582,1]]},"1222":{"position":[[137,1],[580,1],[721,1],[3582,1],[3606,1],[3632,1],[3660,1],[3692,1],[3721,1]]},"1223":{"position":[[147,1],[590,1],[731,1],[3592,1],[3616,1],[3642,1],[3670,1],[3702,1],[3731,1]]},"1224":{"position":[[327,1],[770,1],[911,1],[3025,1],[3049,1],[3075,1],[3103,1],[3135,1],[3164,1]]},"1226":{"position":[[2248,3],[2870,1],[3022,1],[5184,1],[5235,1],[5938,1],[6079,1],[8924,1],[8948,1],[8974,1],[9002,1],[9034,1],[9063,1]]},"1228":{"position":[[94,1],[286,1],[562,3],[1261,1],[2818,1],[2835,1],[2875,1],[3600,1],[6076,1],[6364,1],[6675,6],[6685,3],[6848,1],[7551,1],[7692,1],[10537,1],[10561,1],[10587,1],[10615,1],[10647,1],[10676,1]]},"1231":{"position":[[632,1]]},"1232":{"position":[[489,2],[497,3],[909,2],[917,3],[1011,2],[1019,3],[1284,2],[1292,3],[1759,1],[1833,1],[1951,2],[1959,3],[2221,2],[2229,3],[2855,2],[2863,3],[3122,2],[3133,3]]},"1235":{"position":[[1022,1],[1568,3],[2190,1],[2342,1],[2976,1],[3419,1],[3560,1],[6405,1],[6429,1],[6455,1],[6483,1],[6515,1],[6544,1]]},"1237":{"position":[[2418,3],[3040,1],[3192,1],[5354,1],[5405,1],[6108,1],[6249,1],[9094,1],[9118,1],[9144,1],[9172,1],[9204,1],[9233,1]]},"1247":{"position":[[435,1]]},"1251":{"position":[[232,3],[432,3]]},"1252":{"position":[[202,1],[251,1],[266,1]]},"1253":{"position":[[217,1],[499,1]]},"1254":{"position":[[203,1],[226,4],[424,1],[483,1],[506,4]]},"1258":{"position":[[516,5]]},"1260":{"position":[[559,9],[825,1],[938,1]]},"1282":{"position":[[77,1],[499,1]]},"1284":{"position":[[70,1],[492,1]]},"1289":{"position":[[516,5]]},"1291":{"position":[[559,9],[825,1],[938,1]]},"1313":{"position":[[77,1],[499,1]]},"1315":{"position":[[70,1],[492,1]]},"1317":{"position":[[516,5]]},"1319":{"position":[[559,9],[825,1],[938,1]]},"1341":{"position":[[77,1],[499,1]]},"1343":{"position":[[70,1],[492,1]]},"1345":{"position":[[1358,1],[1410,1]]},"1348":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[312,1],[350,1],[375,1],[414,1],[446,1],[486,1],[512,1],[566,1],[597,1],[603,1],[641,1],[647,1],[689,1],[733,1],[771,1],[801,1],[837,1],[873,1],[879,1],[915,1],[940,1],[968,1],[1001,1],[1007,1],[1028,1],[1055,1],[1090,1],[1122,1],[1162,1],[1191,1],[1229,1],[1253,1],[1259,1],[1276,1],[1282,1],[1338,1],[1361,1],[1381,1],[1387,1],[1412,1],[1432,1],[1438,1],[1463,1],[1469,1],[1517,1],[1523,1],[1550,1],[1556,1],[1603,1],[1609,1],[1646,1],[1652,1],[1696,1],[1719,1],[1769,1],[1781,1],[1817,1],[1840,1],[1881,1],[1900,1],[1951,1],[1963,1],[2006,1],[2013,1],[2047,1],[2053,1],[2088,1],[2117,1],[2141,1],[2168,1],[2174,1],[2209,1],[2240,1],[2280,1],[2314,1],[2320,1],[2346,1],[2372,1],[2378,1],[2407,1],[2425,1],[2431,1],[2471,1],[2477,1],[2514,1],[2535,1],[2562,1],[2580,1],[2586,1],[2613,1],[2620,1],[2624,1],[4239,1],[4546,1],[4559,1],[4575,1],[4595,1],[4612,1],[4636,1],[4650,1],[4673,1],[4693,1],[4720,1],[4758,1],[4760,1],[4778,2],[4781,1]]},"1349":{"position":[[28,2],[72,1],[78,1],[117,1],[149,1],[186,1],[213,1],[241,1],[272,1],[294,1],[323,1],[361,1],[396,1],[436,1],[448,1],[502,1],[545,1],[568,1],[598,1],[623,1],[656,1],[662,1],[683,1],[706,1],[731,1],[753,1],[787,1],[823,1],[827,1]]},"1350":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[315,1],[353,1],[378,1],[403,1],[427,1],[466,1],[498,1],[538,1],[564,1],[597,1],[631,1],[666,1],[672,1],[692,1],[731,1],[776,1],[825,1],[864,1],[870,1],[910,1],[922,1],[976,1],[1019,1],[1042,1],[1081,1],[1087,1],[1135,1],[1165,1],[1201,1],[1237,1],[1243,1],[1278,1],[1314,1],[1351,1],[1376,1],[1404,1],[1437,1],[1443,1],[1464,1],[1491,1],[1497,1],[1527,1],[1546,1],[1573,1],[1611,1],[1651,1],[1657,1],[1684,1],[1717,1],[1758,1],[1809,1],[1848,1],[1887,1],[1924,1],[1948,1],[1992,1],[2030,1],[2055,1],[2089,1],[2113,1],[2133,1],[2139,1],[2184,1],[2213,1],[2219,1],[2259,1],[2286,1],[2292,1],[2329,1],[2365,1],[2371,1],[2418,1],[2424,1],[2461,1],[2467,1],[2511,1],[2534,1],[2584,1],[2596,1],[2632,1],[2655,1],[2696,1],[2715,1],[2766,1],[2778,1],[2819,1],[2856,1],[2878,1],[2922,1],[2952,1],[2987,1],[3010,1],[3043,1],[3088,1],[3125,1],[3131,1],[3171,1],[3177,1],[3216,1],[3222,1],[3267,1],[3304,1],[3331,1],[3337,1],[3371,1],[3406,1],[3437,1],[3469,1],[3500,1],[3506,1],[3540,1],[3546,1],[3584,1],[3590,1],[3618,1],[3625,1],[3650,1],[3677,1],[3706,1],[3731,1],[3763,1],[3794,1],[3798,1]]},"1351":{"position":[[26,2],[70,1],[76,1],[115,1],[147,1],[184,1],[211,1],[239,1],[270,1],[292,1],[321,1],[359,1],[394,1],[433,1],[459,1],[489,1],[514,1],[547,1],[553,1],[576,1],[601,1],[619,1],[642,1],[665,1],[671,1],[675,1],[3880,1],[3906,1],[3934,1],[3936,1],[3956,1],[4013,2],[4016,1],[4018,1],[4090,1],[4164,1],[4235,1],[4251,1],[4283,1],[4285,1],[4304,2],[4307,1],[4330,1],[4354,1],[4374,1],[4406,1],[4438,1],[4475,1],[4477,1],[4489,2],[4492,1],[4494,1],[4554,1],[4556,1],[4575,1],[4630,1],[4632,1],[4711,1],[4789,1],[4866,1],[4944,1],[5022,1],[5092,1],[5094,1],[5096,1],[5118,1],[5120,1],[5156,1],[5158,1],[5180,1],[5182,1],[5255,1],[5330,1],[5365,1],[5403,1],[5405,1],[5466,2],[5474,1],[5521,1],[5558,1],[5581,1],[5607,1],[5629,1],[5663,1],[5695,1],[5752,1],[5791,1],[5793,1],[5805,2],[5808,1]]},"1352":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[315,1],[353,1],[378,1],[403,1],[427,1],[466,1],[498,1],[538,1],[564,1],[597,1],[631,1],[666,1],[672,1],[692,1],[731,1],[776,1],[825,1],[864,1],[870,1],[910,1],[922,1],[976,1],[1019,1],[1042,1],[1081,1],[1087,1],[1135,1],[1165,1],[1201,1],[1237,1],[1243,1],[1278,1],[1308,1],[1314,1],[1350,1],[1375,1],[1403,1],[1436,1],[1442,1],[1463,1],[1490,1],[1496,1],[1526,1],[1545,1],[1572,1],[1610,1],[1650,1],[1656,1],[1683,1],[1716,1],[1757,1],[1808,1],[1847,1],[1886,1],[1923,1],[1947,1],[1991,1],[2029,1],[2054,1],[2088,1],[2112,1],[2132,1],[2138,1],[2183,1],[2212,1],[2218,1],[2258,1],[2285,1],[2291,1],[2328,1],[2364,1],[2370,1],[2417,1],[2423,1],[2460,1],[2466,1],[2510,1],[2533,1],[2583,1],[2595,1],[2631,1],[2654,1],[2695,1],[2714,1],[2765,1],[2777,1],[2818,1],[2855,1],[2877,1],[2921,1],[2951,1],[2986,1],[3009,1],[3042,1],[3087,1],[3124,1],[3130,1],[3170,1],[3176,1],[3215,1],[3221,1],[3266,1],[3303,1],[3330,1],[3336,1],[3370,1],[3405,1],[3436,1],[3468,1],[3499,1],[3505,1],[3539,1],[3545,1],[3583,1],[3589,1],[3617,1],[3624,1],[3649,1],[3678,1],[3705,1],[3730,1],[3762,1],[3793,1],[3797,1]]},"1353":{"position":[[33,2],[77,1],[83,1],[122,1],[154,1],[191,1],[218,1],[246,1],[277,1],[299,1],[328,1],[366,1],[391,1],[415,1],[454,1],[486,1],[526,1],[552,1],[572,1],[612,1],[637,1],[665,1],[698,1],[704,1],[725,1],[744,1],[771,1],[808,1],[841,1],[864,1],[889,1],[909,1],[915,1],[944,1],[950,1],[977,1],[983,1],[1019,1],[1042,1],[1083,1],[1102,1],[1142,1],[1148,1],[1187,1],[1193,1],[1238,1],[1275,1],[1300,1],[1307,1],[1311,1],[3012,1],[3027,1],[3055,1],[3078,1],[3102,1],[3136,1],[3171,1],[3200,1],[3223,1],[3225,1],[3227,3],[3231,2],[3234,1],[3236,1],[3336,1],[3365,1],[3409,1],[3430,1],[3432,1],[3443,2],[3446,1]]},"1354":{"position":[[34,2],[78,1],[84,1],[123,1],[155,1],[192,1],[219,1],[247,1],[278,1],[300,1],[329,1],[367,1],[391,1],[418,1],[449,1],[475,1],[515,1],[545,1],[575,1],[600,1],[633,1],[639,1],[669,1],[694,1],[732,1],[749,1],[790,1],[796,1],[843,1],[849,1],[882,1],[905,1],[930,1],[966,1],[985,1],[1013,1],[1036,1],[1053,1],[1077,1],[1109,1],[1115,1],[1119,1],[3082,1],[3217,1],[3241,1],[3275,1],[3310,1],[3339,1],[3362,1],[3364,1],[3366,3],[3370,2],[3373,1],[3409,1],[3438,1],[3482,1],[3503,1],[3505,1],[3507,3],[3511,2],[3514,1],[3551,1],[3591,1],[3612,1]]},"1355":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[316,1],[354,1],[389,1],[421,1],[427,1],[452,1],[476,1],[515,1],[541,1],[569,1],[623,1],[654,1],[660,1],[693,1],[705,1],[743,1],[749,1],[791,1],[835,1],[873,1],[903,1],[928,1],[961,1],[967,1],[988,1],[1018,1],[1057,1],[1089,1],[1129,1],[1158,1],[1181,1],[1210,1],[1216,1],[1240,1],[1246,1],[1263,1],[1269,1],[1283,1],[1339,1],[1362,1],[1382,1],[1388,1],[1413,1],[1433,1],[1439,1],[1464,1],[1470,1],[1494,1],[1500,1],[1543,1],[1550,1],[1584,1],[1590,1],[1614,1],[1641,1],[1647,1],[1677,1],[1708,1],[1714,1],[1745,1],[1785,1],[1819,1],[1825,1],[1851,1],[1877,1],[1883,1],[1912,1],[1930,1],[1936,1],[1976,1],[1982,1],[2019,1],[2040,1],[2058,1],[2064,1],[2091,1],[2098,1],[2130,1],[2134,1],[5249,1],[7847,1],[7860,1],[7877,1],[7894,1],[7918,1],[7939,1],[7971,1],[7973,1],[7983,2],[7986,1]]},"1356":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[317,1],[355,1],[385,1],[410,1],[443,1],[449,1],[470,1],[493,1],[518,1],[537,1],[2054,1],[2080,1],[2113,1]]},"1357":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[376,1],[414,1],[418,1]]},"1358":{"position":[[26,2],[70,1],[76,1],[115,1],[147,1],[184,1],[211,1],[239,1],[270,1],[292,1],[321,1],[359,1],[394,1],[426,1],[432,1],[457,1],[481,1],[507,1],[547,1],[572,1],[605,1],[611,1],[632,1],[661,1],[688,1],[711,1],[717,1],[740,1],[765,1],[789,1],[795,1],[835,1],[857,1],[863,1],[900,1],[904,1],[2930,1],[2953,1],[2994,1],[3044,1],[3123,1],[3147,1],[3156,1],[3241,1],[3266,1],[3268,1],[3287,2],[3290,1]]},"1359":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[317,1],[355,1],[390,1],[421,1],[433,1],[451,1],[457,1],[474,1],[504,1],[529,1],[562,1],[568,1],[589,1],[624,1],[647,1],[672,1],[692,1],[698,1],[717,1],[723,1],[749,1],[755,1],[778,1],[784,1],[799,1],[805,1],[822,1],[848,1],[852,1],[2435,1],[2448,1],[2471,8],[2488,1],[2505,1]]},"1360":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[312,1],[350,1],[385,1],[409,1],[438,1],[464,1],[479,1],[485,1],[516,1],[531,1],[537,1],[553,1],[559,1],[589,1],[610,1],[617,1],[632,1],[638,1],[657,1],[663,1],[688,1],[721,1],[727,1],[751,1],[763,1],[789,1],[796,1],[839,1],[845,1],[869,1],[889,1],[895,1],[918,1],[943,1],[971,1],[977,1],[1002,1],[1008,1],[1038,1],[1068,1],[1083,1],[1089,1],[1105,1],[1128,1],[1146,1],[1153,1],[1210,1],[1231,1],[1248,1],[1263,1],[1290,1],[1308,1],[1314,1],[1318,1],[5872,1],[5955,1],[5979,1],[6011,1],[6052,1],[6087,1],[6116,1],[6139,1],[6141,1],[6159,2],[6162,1],[6182,1],[6220,1],[6241,1],[6324,1],[6405,1],[6443,1],[6463,1],[6493,1],[6533,1],[6590,1],[6646,1],[6676,1]]},"1361":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[349,1],[355,1],[385,1],[410,1],[443,1],[449,1],[470,1],[493,1],[517,1],[523,1],[548,1],[590,1],[594,1],[2383,1],[2408,1],[2410,1],[2436,2],[2439,1],[2441,1],[2518,1],[2541,1],[2543,1],[2569,2],[2581,1],[2604,1],[2621,1]]},"1362":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[349,1],[372,1],[401,1],[440,1],[511,1],[540,1],[570,1],[577,1],[628,1],[664,1],[691,1],[697,1],[727,1],[751,1],[758,1],[789,1],[814,1],[842,1],[848,1],[881,1],[887,1],[915,1],[921,1],[951,1],[972,1],[998,1],[1031,1],[1061,1],[1099,1],[1135,1],[1142,1],[1171,1],[1177,1],[1204,1],[1210,1],[1240,1],[1272,1],[1305,1],[1322,1],[1404,1],[1464,1],[1502,1],[1554,1],[1607,1],[1626,1],[1686,1],[1752,1],[1795,1],[1860,1],[1904,1],[1938,1],[1974,1],[1993,1],[2024,1],[2030,1],[2054,1],[2061,1],[2088,1],[2116,1],[2122,1],[2152,1],[2158,1],[2182,1],[2199,1],[2238,1],[2244,1],[2289,1],[2325,1],[2347,1],[2353,1],[2399,1],[2422,1],[2469,1],[2538,1],[2611,1],[2662,1],[2688,1],[2713,1],[2750,1],[2756,1],[2778,1],[2784,1],[2810,1],[2816,1],[2840,1],[2846,1],[2858,1],[2876,1],[2882,1],[2900,1],[2914,1],[2940,1],[2980,1],[2986,1],[3011,1],[3017,1],[3039,1],[3045,1],[3067,1],[3074,1],[3111,1],[3140,1],[3159,1],[3182,1],[3188,1],[3219,1],[3272,1],[3315,1],[3359,1],[3378,1],[3429,1],[3486,1],[3526,1],[3548,1],[3582,1],[3638,1],[3668,1],[3674,1],[3709,1],[3737,1],[3762,1],[3768,1],[3803,1],[3844,1],[3850,1],[3893,1],[3943,1],[3971,1],[4015,1],[4022,1],[4059,1],[4066,1],[4094,1],[4133,1],[4151,1],[4157,1],[4177,1],[4197,1],[4232,1],[4238,1],[4258,1],[4265,1],[4302,1],[4308,1],[4343,1],[4350,1],[4383,1],[4420,1],[4450,1],[4456,1],[4481,1],[4487,1],[4517,1],[4523,1],[4543,1],[4569,1],[4606,1],[4639,1],[4663,1],[4695,1],[4699,1],[7007,4],[8475,1],[8506,1],[8555,1],[8574,1],[8769,4],[9095,4],[9782,1],[9896,1],[10120,1],[10209,1],[10308,1],[10895,4],[12963,3],[13053,4],[13058,2],[13068,1],[13080,2],[13784,1],[13803,1],[13805,1],[13851,2],[13873,1],[13875,2],[13899,1],[13901,1],[13917,2],[13925,1],[13927,1],[13943,2],[13957,1],[13959,1],[14074,2],[14077,1]]},"1363":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[349,1],[372,1],[401,1],[440,1],[474,1],[480,1],[518,1],[554,1],[560,1],[599,1],[605,1],[639,1],[645,1],[694,1],[700,1],[726,1],[732,1],[779,1],[786,1],[883,1],[890,1],[937,1],[991,1],[1032,1],[1085,1],[1122,1],[1155,1],[1183,1],[1189,1],[1244,1],[1297,1],[1304,1],[1367,1],[1385,1],[1391,1],[1421,1],[1444,1],[1450,1],[1481,1],[1510,1],[1516,1],[1541,1],[1547,1],[1572,1],[1613,1],[1620,1],[1653,1],[1659,1],[1687,1],[1693,1],[1714,1],[1776,1],[1830,1],[1837,1],[1861,1],[1873,1],[1903,1],[1910,1],[1950,1],[1957,1],[2018,1],[2025,1],[2071,1],[2094,1],[2119,1],[2141,1],[2147,1],[2174,1],[2193,1],[2221,1],[2227,1],[2251,1],[2257,1],[2298,1],[2304,1],[2343,1],[2349,1],[2375,1],[2381,1],[2411,1],[2417,1],[2448,1],[2454,1],[2491,1],[2498,1],[2525,1],[2571,1],[2578,1],[2611,1],[2618,1],[2639,1],[2646,1],[2698,1],[2730,1],[2764,1],[2794,1],[2800,1],[2804,1],[4284,3],[6927,1],[6949,1],[6974,1],[6994,1],[7010,1],[7014,1],[7083,1],[7117,1],[7161,1],[7183,1],[7224,1],[7245,1],[7270,1],[7300,1],[7366,1],[7386,1],[7419,1],[7440,1],[7460,1],[7485,1],[7522,1],[7542,1],[7558,1],[7562,1],[7634,1],[7656,1],[7683,1],[7720,1],[7742,1],[7815,1],[7831,1]]},"1364":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[350,1],[373,1],[402,1],[441,1],[486,1],[493,1],[564,1],[593,1],[623,1],[630,1],[681,1],[708,1],[714,1],[744,1],[768,1],[775,1],[806,1],[831,1],[859,1],[865,1],[898,1],[904,1],[932,1],[938,1],[968,1],[989,1],[1015,1],[1048,1],[1078,1],[1116,1],[1152,1],[1159,1],[1186,1],[1192,1],[1222,1],[1254,1],[1287,1],[1304,1],[1386,1],[1446,1],[1484,1],[1536,1],[1589,1],[1608,1],[1668,1],[1734,1],[1777,1],[1842,1],[1886,1],[1920,1],[1956,1],[1975,1],[2006,1],[2012,1],[2036,1],[2043,1],[2070,1],[2093,1],[2099,1],[2127,1],[2133,1],[2163,1],[2169,1],[2193,1],[2210,1],[2249,1],[2255,1],[2300,1],[2336,1],[2358,1],[2364,1],[2410,1],[2433,1],[2480,1],[2549,1],[2622,1],[2673,1],[2699,1],[2724,1],[2761,1],[2767,1],[2789,1],[2795,1],[2821,1],[2827,1],[2851,1],[2857,1],[2869,1],[2887,1],[2893,1],[2911,1],[2925,1],[2951,1],[2976,1],[2982,1],[3004,1],[3010,1],[3032,1],[3039,1],[3076,1],[3105,1],[3124,1],[3147,1],[3153,1],[3184,1],[3237,1],[3280,1],[3324,1],[3343,1],[3394,1],[3451,1],[3491,1],[3513,1],[3547,1],[3603,1],[3633,1],[3639,1],[3667,1],[3692,1],[3698,1],[3733,1],[3774,1],[3780,1],[3821,1],[3838,1],[3881,1],[3931,1],[3959,1],[4003,1],[4010,1],[4038,1],[4077,1],[4118,1],[4136,1],[4142,1],[4162,1],[4182,1],[4217,1],[4223,1],[4243,1],[4250,1],[4287,1],[4293,1],[4338,1],[4373,1],[4380,1],[4417,1],[4450,1],[4487,1],[4517,1],[4523,1],[4548,1],[4554,1],[4584,1],[4590,1],[4610,1],[4633,1],[4640,1],[4666,1],[4703,1],[4736,1],[4760,1],[4792,1],[4796,1],[6848,1],[7246,4],[9380,4],[9589,1],[9620,1],[9669,1],[9688,1],[9883,4],[10209,4],[10896,1],[11010,1],[11234,1],[11323,1],[11422,1],[11862,4],[13663,3],[13753,4],[13758,2],[13768,1],[13780,2],[14485,1],[14505,1],[14507,1],[14559,2],[14581,1],[14583,2],[14607,1],[14609,1],[14625,2],[14633,1],[14635,1],[14669,2],[14683,1],[14685,1],[14800,2],[14803,1]]},"1365":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[346,1],[424,1],[462,1],[495,1],[501,1],[529,1],[535,1],[549,1],[572,1],[597,1],[627,1],[651,1],[657,1],[677,1],[683,1],[713,1],[751,1],[771,1],[775,1],[1883,1],[1906,1],[1922,1]]},"1366":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[354,1],[387,1],[393,1],[428,1],[440,1],[468,1],[493,1],[522,1],[555,1],[561,1],[584,1],[590,1],[611,1],[633,1],[656,1],[681,1],[723,1],[759,1],[801,1],[826,1],[830,1],[3298,1],[3316,1],[3334,3],[3343,1],[3345,1],[3363,2],[3366,1]]},"1367":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[347,1],[370,1],[399,1],[438,1],[472,1],[478,1],[516,1],[552,1],[558,1],[597,1],[603,1],[652,1],[658,1],[684,1],[690,1],[737,1],[744,1],[841,1],[848,1],[885,1],[932,1],[986,1],[1027,1],[1080,1],[1107,1],[1139,1],[1173,1],[1204,1],[1241,1],[1274,1],[1302,1],[1308,1],[1363,1],[1416,1],[1423,1],[1453,1],[1460,1],[1523,1],[1574,1],[1592,1],[1598,1],[1625,1],[1631,1],[1661,1],[1685,1],[1692,1],[1723,1],[1752,1],[1758,1],[1783,1],[1789,1],[1820,1],[1845,1],[1873,1],[1879,1],[1912,1],[1918,1],[1946,1],[1952,1],[1982,1],[2003,1],[2046,1],[2072,1],[2105,1],[2167,1],[2197,1],[2233,1],[2240,1],[2269,1],[2275,1],[2290,1],[2307,1],[2334,1],[2340,1],[2370,1],[2402,1],[2435,1],[2452,1],[2534,1],[2594,1],[2632,1],[2684,1],[2737,1],[2756,1],[2816,1],[2882,1],[2925,1],[2990,1],[3034,1],[3084,1],[3120,1],[3158,1],[3165,1],[3184,1],[3215,1],[3221,1],[3245,1],[3252,1],[3279,1],[3307,1],[3313,1],[3343,1],[3349,1],[3373,1],[3390,1],[3429,1],[3435,1],[3480,1],[3516,1],[3556,1],[3563,1],[3624,1],[3631,1],[3677,1],[3699,1],[3722,1],[3769,1],[3838,1],[3911,1],[3962,1],[3988,1],[4013,1],[4050,1],[4056,1],[4078,1],[4084,1],[4110,1],[4116,1],[4140,1],[4146,1],[4158,1],[4176,1],[4182,1],[4200,1],[4214,1],[4240,1],[4265,1],[4271,1],[4292,1],[4314,1],[4321,1],[4358,1],[4387,1],[4406,1],[4429,1],[4435,1],[4466,1],[4519,1],[4562,1],[4606,1],[4625,1],[4676,1],[4733,1],[4773,1],[4795,1],[4829,1],[4885,1],[4915,1],[4921,1],[4949,1],[4974,1],[4980,1],[5015,1],[5056,1],[5062,1],[5101,1],[5107,1],[5150,1],[5200,1],[5228,1],[5272,1],[5279,1],[5305,1],[5311,1],[5341,1],[5347,1],[5378,1],[5396,1],[5402,1],[5439,1],[5446,1],[5474,1],[5513,1],[5550,1],[5557,1],[5599,1],[5605,1],[5623,1],[5629,1],[5646,1],[5652,1],[5672,1],[5692,1],[5727,1],[5733,1],[5779,1],[5786,1],[5806,1],[5843,1],[5849,1],[5884,1],[5891,1],[5924,1],[5961,1],[5991,1],[5997,1],[6022,1],[6028,1],[6058,1],[6064,1],[6089,1],[6095,1],[6127,1],[6144,1],[6172,1],[6178,1],[6210,1],[6216,1],[6236,1],[6269,1],[6276,1],[6306,1],[6312,1],[6364,1],[6390,1],[6427,1],[6460,1],[6484,1],[6516,1],[6550,1],[6580,1],[6586,1],[6590,1],[8563,1],[8594,1],[8643,1],[8662,1],[8857,4],[9183,4],[10699,1],[10813,1],[11037,1],[11126,1],[11225,1],[12871,3],[12961,4],[12966,2],[12976,1],[12988,2],[13883,2],[14392,1],[14415,1],[14457,1],[14459,2],[14480,1],[14482,1],[14496,2],[14504,1],[14506,1],[14522,2],[14536,1],[14538,1],[14716,2],[14719,1]]},"1368":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[360,1],[366,1],[396,1],[402,1],[438,1],[468,1],[493,1],[499,1],[577,1],[583,1],[620,1],[645,1],[726,1],[732,1],[758,1],[764,1],[800,1],[806,1],[843,1],[876,1],[899,1],[938,1],[965,1],[971,1],[993,1],[1023,1],[1029,1],[1057,1],[1063,1],[1088,1],[1094,1],[1134,1],[1161,1],[1167,1],[1186,1],[1206,1],[1212,1],[1239,1],[1245,1],[1264,1],[1270,1],[1303,1],[1309,1],[1364,1],[1371,1],[1402,1],[1408,1],[1433,1],[1439,1],[1456,1]]},"1369":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[362,1],[392,1],[417,1],[450,1],[456,1],[479,1],[504,1],[508,1]]},"1370":{"position":[[32,2],[76,1],[82,1],[121,1],[153,1],[190,1],[217,1],[245,1],[276,1],[298,1],[336,1],[363,1],[386,1],[450,1],[494,1],[500,1],[523,1],[550,1],[571,1],[578,1],[582,1],[1989,1],[2876,1]]},"1371":{"position":[[23,2],[67,1],[73,1],[112,1],[144,1],[181,1],[208,1],[236,1],[267,1],[289,1],[327,1],[350,1],[380,1],[384,1]]},"1372":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[351,1],[374,1],[403,1],[442,1],[476,1],[482,1],[520,1],[556,1],[562,1],[601,1],[607,1],[656,1],[662,1],[688,1],[694,1],[741,1],[748,1],[811,1],[818,1],[855,1],[902,1],[956,1],[997,1],[1050,1],[1087,1],[1120,1],[1148,1],[1154,1],[1209,1],[1262,1],[1269,1],[1287,1],[1293,1],[1323,1],[1352,1],[1358,1],[1383,1],[1389,1],[1451,1],[1487,1],[1494,1],[1523,1],[1529,1],[1549,1],[1587,1],[1594,1],[1634,1],[1695,1],[1702,1],[1748,1],[1787,1],[1793,1],[1839,1],[1846,1],[1876,1],[1882,1],[1952,1],[1984,1],[2018,1],[2022,1]]},"1373":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[338,1],[365,1],[391,1],[397,1],[422,1],[446,1],[467,1],[491,1],[508,1],[530,1],[560,1],[567,1],[597,1],[632,1],[663,1],[688,1],[716,1],[722,1],[755,1],[761,1],[789,1],[795,1],[825,1],[846,1],[868,1],[874,1],[900,1],[920,1],[926,1],[953,1],[959,1],[989,1],[1008,1],[1039,1],[1045,1],[1072,1],[1107,1],[1141,1],[1165,1],[1193,1],[1199,1],[1223,1],[1240,1],[1279,1],[1285,1],[1321,1],[1344,1],[1391,1],[1460,1],[1533,1],[1584,1],[1610,1],[1635,1],[1668,1],[1690,1],[1696,1],[1722,1],[1728,1],[1752,1],[1758,1],[1770,1],[1788,1],[1794,1],[1812,1],[1826,1],[1852,1],[1874,1],[1880,1],[1917,1],[1946,1],[1970,1],[1976,1],[2000,1],[2006,1],[2059,1],[2102,1],[2146,1],[2165,1],[2216,1],[2273,1],[2313,1],[2335,1],[2369,1],[2425,1],[2455,1],[2461,1],[2496,1],[2521,1],[2527,1],[2562,1],[2590,1],[2610,1],[2630,1],[2650,1],[2678,1],[2684,1],[2721,1],[2725,1],[4794,4],[4935,1],[5411,4],[6177,1],[6218,1],[8594,1],[8671,1],[8709,1],[8733,1],[8763,1],[8784,1],[8804,1],[8828,1],[8864,1],[8887,1],[8907,1],[8932,1],[8964,1],[8988,1]]},"1374":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[347,1],[373,1],[394,1],[424,1],[449,1],[482,1],[488,1],[513,1],[528,1],[534,1],[557,1],[582,1],[616,1],[642,1],[646,1],[1816,1],[1838,4],[1853,4],[2584,1],[2911,1],[2968,1],[2996,1],[2998,1],[3000,1],[3002,3],[3006,2],[3017,1],[3019,1],[3021,1],[3023,3],[3027,2],[3030,1],[3050,1],[3072,1],[3094,1],[3120,1],[3149,1],[3151,1],[3203,2],[3206,1],[3210,1],[3252,1],[3276,1],[3299,1],[3321,1],[3344,1],[3370,1],[3391,1],[3413,1],[3440,1],[3466,1],[3491,1],[3513,1],[3536,1],[3562,1],[3583,1],[3587,1],[3634,1],[3666,1],[3698,1],[3718,1],[3748,1],[3774,1],[3794,1],[3824,1],[3850,1],[3872,1],[3905,1],[3907,1],[4045,2],[4048,1]]},"1375":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[354,1],[388,1],[416,1],[420,1]]},"1376":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[372,1],[376,1]]},"1377":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[369,1],[398,1],[411,1],[436,1],[469,1],[475,1],[502,1],[508,1],[531,1],[556,1],[576,1],[582,1],[611,1],[615,1]]},"1378":{"position":[[24,2],[68,1],[74,1],[113,1],[145,1],[182,1],[209,1],[237,1],[268,1],[290,1],[328,1],[358,1],[362,1]]},"1379":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[356,1],[385,1]]},"1380":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[355,1],[380,1],[413,1],[419,1],[442,1],[467,1],[485,1],[491,1],[506,1],[1760,1],[1786,1],[1820,1]]},"1381":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[352,1],[382,1],[413,1],[438,1],[471,1],[477,1],[498,1],[517,1],[560,1],[585,1],[616,1],[637,1],[641,1],[2558,1],[2579,1],[2607,1],[2623,1],[2625,1],[2639,2],[2652,1],[2654,1],[2689,2],[2723,2],[2726,1],[2758,1],[2778,1],[2797,1]]},"1382":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[341,1],[366,1],[396,1],[403,1],[436,1],[464,1],[500,1],[527,1],[551,1],[557,1],[587,1],[618,1],[655,1],[680,1],[736,1],[764,1],[770,1],[803,1],[809,1],[837,1],[843,1],[873,1],[894,1],[916,1],[922,1],[948,1],[999,1],[1037,1],[1064,1],[1070,1],[1121,1],[1140,1],[1171,1],[1177,1],[1204,1],[1232,1],[1238,1],[1262,1],[1279,1],[1318,1],[1324,1],[1360,1],[1383,1],[1430,1],[1499,1],[1572,1],[1623,1],[1649,1],[1674,1],[1707,1],[1744,1],[1750,1],[1772,1],[1778,1],[1810,1],[1836,1],[1842,1],[1866,1],[1872,1],[1884,1],[1902,1],[1908,1],[1926,1],[1940,1],[1966,1],[2010,1],[2016,1],[2056,1],[2062,1],[2087,1],[2093,1],[2115,1],[2121,1],[2143,1],[2180,1],[2209,1],[2262,1],[2305,1],[2349,1],[2368,1],[2419,1],[2476,1],[2516,1],[2538,1],[2572,1],[2628,1],[2658,1],[2664,1],[2699,1],[2724,1],[2730,1],[2765,1],[2793,1],[2819,1],[2836,1],[2856,1],[2876,1],[2896,1],[2924,1],[2930,1],[2967,1],[2971,1],[4917,1],[4931,1],[4959,1],[4979,1],[5539,4],[5864,4],[6005,1],[6508,1],[6622,1],[6846,1],[6935,1],[7034,1],[7764,4],[11325,3],[11415,4],[11420,2],[11430,1],[11442,2],[11615,1],[11686,1],[11763,1],[11778,1],[11780,1],[11794,2],[11805,1],[11807,1],[11819,2],[11827,1],[11829,1],[11840,2],[11843,1],[11863,1],[11878,1],[11880,1],[11894,2],[11905,1],[11907,1],[11919,2],[11922,1],[11924,1],[11971,1]]},"1383":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[381,1],[405,1],[434,1],[465,1],[481,1],[487,1],[517,1],[538,1],[545,1],[560,1],[566,1],[585,1],[591,1],[616,1],[649,1],[655,1],[679,1],[691,1],[717,1],[724,1],[767,1],[773,1],[796,1],[821,1],[849,1],[855,1],[880,1],[886,1],[916,1],[946,1],[961,1],[967,1],[983,1],[1006,1],[1024,1],[1031,1],[1088,1],[1109,1],[1126,1],[1142,1],[1148,1],[1166,1],[1172,1],[1176,1],[7945,1],[7963,1],[7979,1],[8025,1],[8040,1],[8125,7]]},"1384":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[342,1],[367,1],[406,1],[436,1],[443,1],[471,1],[498,1],[504,1],[534,1],[558,1],[565,1],[596,1],[621,1],[677,1],[705,1],[711,1],[744,1],[750,1],[778,1],[784,1],[814,1],[835,1],[857,1],[863,1],[889,1],[922,1],[949,1],[955,1],[985,1],[1017,1],[1050,1],[1067,1],[1149,1],[1209,1],[1247,1],[1298,1],[1350,1],[1403,1],[1422,1],[1482,1],[1548,1],[1591,1],[1656,1],[1700,1],[1734,1],[1770,1],[1789,1],[1820,1],[1826,1],[1850,1],[1857,1],[1884,1],[1907,1],[1913,1],[1941,1],[1947,1],[1971,1],[1988,1],[2027,1],[2033,1],[2069,1],[2116,1],[2139,1],[2186,1],[2255,1],[2328,1],[2379,1],[2405,1],[2430,1],[2463,1],[2500,1],[2506,1],[2528,1],[2534,1],[2560,1],[2566,1],[2590,1],[2596,1],[2608,1],[2626,1],[2632,1],[2650,1],[2664,1],[2690,1],[2715,1],[2721,1],[2743,1],[2749,1],[2771,1],[2778,1],[2815,1],[2844,1],[2879,1],[2902,1],[2908,1],[2961,1],[3004,1],[3048,1],[3067,1],[3118,1],[3175,1],[3215,1],[3237,1],[3271,1],[3327,1],[3357,1],[3363,1],[3398,1],[3426,1],[3451,1],[3457,1],[3492,1],[3535,1],[3585,1],[3613,1],[3657,1],[3664,1],[3690,1],[3707,1],[3735,1],[3753,1],[3759,1],[3779,1],[3799,1],[3834,1],[3840,1],[3877,1],[3883,1],[3928,1],[3963,1],[3970,1],[4004,1],[4011,1],[4048,1],[4068,1],[4091,1],[4098,1],[4129,1],[4166,1],[4199,1],[4227,1],[4233,1],[4270,1],[4274,1],[5893,1],[6751,4],[10486,4],[10811,4],[10952,1],[11824,1],[12757,1],[12862,1],[12976,1],[13200,1],[13289,1],[13388,1],[13828,4],[18529,1],[18979,3],[19069,4],[19074,2],[19084,1],[19096,2],[21206,1],[21281,1],[21351,1],[21370,1],[21372,1],[21390,2],[21410,1],[21412,1],[21428,2],[21446,1],[21448,1],[21450,1],[21477,2],[21480,1],[21482,1],[21553,1],[21585,1],[21600,1],[21602,1],[21644,2],[21664,1],[21666,1],[21668,1],[21816,2],[21834,1],[21836,1],[21838,1],[21865,2],[21868,1],[21870,1],[21950,1],[21962,1],[22036,1],[22084,1],[22116,1],[22118,1],[22172,2],[22192,1],[22194,1],[22208,2],[22228,1],[22230,1],[22232,1],[22246,1],[22278,1],[22280,2],[22283,1],[22298,1],[22331,1],[22333,2],[22336,2],[22339,1]]},"1385":{"position":[[23,2],[67,1],[73,1],[112,1],[144,1],[181,1],[208,1],[236,1],[267,1],[289,1],[327,1],[350,1],[356,1],[386,1],[417,1],[442,1],[470,1],[476,1],[509,1],[515,1],[543,1],[549,1],[579,1],[600,1],[627,1],[633,1],[660,1],[688,1],[694,1],[718,1],[735,1],[774,1],[780,1],[816,1],[839,1],[886,1],[955,1],[1028,1],[1079,1],[1105,1],[1130,1],[1167,1],[1196,1],[1249,1],[1292,1],[1336,1],[1355,1],[1406,1],[1463,1],[1503,1],[1525,1],[1559,1],[1615,1],[1645,1],[1651,1],[1676,1],[1682,1],[1717,1],[1745,1],[1765,1],[1785,1],[1813,1],[1819,1],[1823,1],[3453,4],[3777,4],[3918,1],[6903,3],[6993,4],[6998,2],[7008,1],[7020,2],[7193,1],[7279,1],[7305,1],[7323,1],[7325,1],[7343,2],[7361,1],[7363,1],[7365,1],[7392,2],[7395,1],[7397,1],[7489,1],[7505,1],[7507,1],[7522,2],[7530,1],[7532,1],[7547,2],[7550,1],[7696,3]]},"1386":{"position":[[28,2],[72,1],[78,1],[117,1],[149,1],[186,1],[213,1],[241,1],[272,1],[294,1],[332,1],[362,1],[387,1],[420,1],[426,1],[447,1],[470,1],[495,1],[533,1],[539,1],[543,1],[3213,2],[3242,2],[3364,2],[3420,2],[3562,1],[3582,1],[3601,1],[3603,1],[3605,1],[3669,1],[3745,2],[3748,1],[3767,1],[3782,1],[3817,1],[3839,1],[3841,1],[3843,3],[3847,2],[3865,1],[3867,2],[3874,1],[3881,1],[3891,1]]},"1387":{"position":[[26,2],[70,1],[76,1],[115,1],[147,1],[184,1],[211,1],[239,1],[270,1],[292,1],[330,1],[351,1],[376,1],[404,1],[430,1],[460,1],[467,1],[494,1],[521,1],[549,1],[572,1],[578,1],[605,1],[611,1],[641,1],[665,1],[672,1],[703,1],[728,1],[784,1],[812,1],[818,1],[851,1],[857,1],[885,1],[891,1],[921,1],[942,1],[968,1],[1001,1],[1028,1],[1034,1],[1064,1],[1096,1],[1129,1],[1146,1],[1228,1],[1288,1],[1326,1],[1377,1],[1429,1],[1482,1],[1501,1],[1561,1],[1627,1],[1670,1],[1735,1],[1779,1],[1813,1],[1849,1],[1868,1],[1899,1],[1905,1],[1929,1],[1936,1],[1963,1],[1991,1],[1997,1],[2021,1],[2038,1],[2077,1],[2083,1],[2119,1],[2166,1],[2189,1],[2236,1],[2305,1],[2378,1],[2429,1],[2455,1],[2480,1],[2502,1],[2508,1],[2534,1],[2540,1],[2564,1],[2570,1],[2582,1],[2600,1],[2606,1],[2624,1],[2638,1],[2664,1],[2689,1],[2695,1],[2717,1],[2723,1],[2745,1],[2782,1],[2811,1],[2846,1],[2869,1],[2875,1],[2928,1],[2971,1],[3015,1],[3034,1],[3085,1],[3142,1],[3182,1],[3204,1],[3238,1],[3294,1],[3324,1],[3330,1],[3358,1],[3383,1],[3389,1],[3424,1],[3467,1],[3517,1],[3545,1],[3589,1],[3596,1],[3622,1],[3639,1],[3667,1],[3685,1],[3691,1],[3711,1],[3731,1],[3766,1],[3772,1],[3794,1],[3830,1],[3867,1],[3873,1],[3908,1],[3915,1],[3935,1],[3956,1],[3962,1],[3985,1],[3992,1],[4023,1],[4060,1],[4093,1],[4121,1],[4127,1],[4164,1],[4168,1],[5786,4],[6110,4],[6251,1],[7089,4],[10276,3],[10366,4],[10371,2],[10381,1],[10393,2],[10566,1],[10658,1],[10684,1],[10702,1],[10704,1],[10722,2],[10725,1],[10727,1],[10822,1],[10838,1],[10840,1],[10854,2],[10862,1],[10864,1],[10879,2],[10882,1],[10886,2],[10947,2],[11019,3]]},"1388":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[318,1],[339,1],[364,1],[391,1],[434,1],[478,1],[508,1],[515,1],[548,1],[569,1],[597,1],[633,1],[660,1],[684,1],[690,1],[720,1],[751,1],[788,1],[813,1],[869,1],[897,1],[903,1],[936,1],[942,1],[970,1],[976,1],[1006,1],[1027,1],[1049,1],[1055,1],[1081,1],[1132,1],[1170,1],[1195,1],[1222,1],[1228,1],[1279,1],[1298,1],[1329,1],[1335,1],[1356,1],[1362,1],[1389,1],[1417,1],[1423,1],[1447,1],[1464,1],[1503,1],[1509,1],[1545,1],[1568,1],[1615,1],[1684,1],[1757,1],[1808,1],[1834,1],[1859,1],[1892,1],[1929,1],[1935,1],[1957,1],[1963,1],[1995,1],[2021,1],[2027,1],[2051,1],[2057,1],[2069,1],[2087,1],[2093,1],[2111,1],[2125,1],[2151,1],[2195,1],[2201,1],[2241,1],[2247,1],[2272,1],[2278,1],[2300,1],[2306,1],[2328,1],[2365,1],[2394,1],[2447,1],[2490,1],[2534,1],[2553,1],[2604,1],[2661,1],[2701,1],[2723,1],[2757,1],[2813,1],[2843,1],[2849,1],[2884,1],[2909,1],[2915,1],[2950,1],[2978,1],[3006,1],[3012,1],[3029,1],[3036,1],[3042,1],[3048,1],[3071,1],[3089,1],[3138,1],[3144,1],[3170,1],[3187,1],[3218,1],[3225,1],[3245,1],[3265,1],[3297,1],[3303,1],[3323,1],[3356,1],[3363,1],[3391,1],[3397,1],[3434,1],[3438,1],[5611,1],[5625,1],[5653,1],[5673,1],[6733,4],[6874,1],[7377,1],[7491,1],[7715,1],[7804,1],[7903,1],[9818,3],[9908,4],[9913,2],[9923,1],[9935,2],[10309,1],[10331,1],[10400,1],[10420,1],[10422,1],[10441,2],[10444,1]]},"1389":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[354,1],[389,1],[395,1],[417,1],[436,1],[466,1],[492,1],[519,1],[565,1],[603,1],[647,1],[653,1],[688,1],[717,1],[723,1],[751,1],[757,1],[796,1],[829,1],[835,1],[883,1],[917,1],[923,1],[968,1],[1007,1],[1013,1],[1039,1],[1045,1],[1073,1],[1079,1],[1103,1],[1133,1],[1191,1],[1198,1],[1231,1],[1258,1],[1264,1],[1301,1],[1324,1],[1349,1],[1355,1],[1378,1],[1385,1],[1410,1],[1416,1],[1471,1],[1496,1],[1528,1],[1553,1],[1559,1],[1595,1],[1625,1],[1631,1],[1664,1],[1704,1],[1731,1],[1737,1],[1775,1],[1807,1],[1813,1],[1855,1],[1917,1],[1924,1],[1959,1],[1988,1],[1994,1],[2033,1],[2083,1],[2089,1],[2122,1],[2128,1],[2174,1],[2199,1],[2243,1],[2278,1],[2300,1],[2332,1],[2371,1],[2377,1],[2411,1],[2435,1],[2441,1],[2476,1],[2505,1],[2511,1],[2550,1],[2573,1],[2598,1],[2622,1],[2670,1],[2691,1],[2713,1],[2755,1],[2794,1],[2800,1],[2819,1],[2846,1],[2852,1],[2943,1],[2962,1],[2968,1],[3000,1],[3024,1],[3047,1],[3085,1],[3113,1],[3119,1],[3144,1],[3150,1],[3184,1],[3228,1],[3271,1],[3289,1],[3295,1],[3324,1],[3347,1],[3353,1],[3387,1],[3415,1],[3421,1],[3459,1],[3480,1],[3509,1],[3537,1],[3574,1],[3614,1],[3658,1],[3693,1],[3740,1],[3780,1],[3825,1],[3831,1],[3919,1],[3946,1],[3990,1],[4025,1],[4073,1],[4112,1],[4124,1],[4153,1],[4165,1],[4199,1],[4211,1],[4251,1],[4281,1],[4287,1],[4317,1],[4341,1],[4366,1],[4373,1],[4399,1],[4403,1]]},"1390":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[318,1],[348,1],[373,1],[406,1],[412,1],[433,1],[456,1],[481,1],[510,1],[531,1],[548,1],[552,1],[1790,1],[1963,1],[2028,1],[2098,2],[2121,2],[2124,1],[2175,2],[2194,2],[2197,1],[2240,2],[2243,1]]},"1391":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[349,1],[374,1],[407,1],[413,1],[434,1],[457,1],[482,1],[511,1],[532,1],[549,1],[553,1],[1778,1],[1897,2],[1916,2],[1919,1],[1962,2],[1965,1]]},"1392":{"position":[[12,2],[56,1],[62,1],[101,1],[133,1],[170,1],[197,1],[225,1],[256,1],[278,1],[316,1],[346,1],[371,1],[404,1],[410,1],[431,1],[454,1],[479,1],[508,1],[529,1],[546,1],[578,1],[584,1],[588,1],[2433,1],[2455,1],[2532,1],[2547,1],[2549,1],[2561,2],[2564,1]]},"1393":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[341,1],[360,1],[366,1],[395,1],[425,1],[454,1],[479,1],[494,1],[511,1],[531,1],[543,1],[574,1],[602,1],[618,1],[631,1],[654,1],[692,1],[717,1],[740,1],[755,1],[774,1],[792,1],[809,1],[842,1],[868,1],[898,1],[925,1],[946,1],[985,1],[1003,1],[1030,1],[1036,1],[1063,1],[1069,1],[1073,1],[9894,1],[9917,1],[9967,1],[9993,1],[9995,1],[10024,2],[10036,1],[10038,3],[10055,1],[10057,1],[10079,2],[10090,1],[10133,1],[10135,1],[10158,2],[10161,1],[10181,1],[10207,1],[10232,1],[10298,1],[10324,1],[10326,1],[10382,2],[10394,1],[10396,3],[10413,1],[10415,1],[10477,2],[10484,1],[10506,1],[10600,3],[10604,1],[10653,1],[10683,1],[10685,1],[10749,2],[10752,1]]},"1394":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[350,1],[403,1],[428,1],[453,1],[476,1],[494,1],[511,1],[515,1]]},"1395":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[345,1],[375,1],[394,1],[418,1],[443,1],[485,1],[509,1],[532,1],[555,1],[561,1],[579,1],[596,1],[622,1],[645,1],[651,1],[655,1],[3638,1],[3672,1],[3711,1],[3742,1],[3744,1],[3772,2],[3784,1],[3824,1],[3851,1],[3883,1],[3933,1],[3935,1],[3977,2],[3980,1]]},"1396":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[359,1],[384,1],[442,1],[460,1],[477,1],[481,1],[1717,1],[1742,1],[1772,1],[1806,1],[1835,1]]},"1397":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[345,1],[373,1],[413,1],[438,1],[462,1],[485,1],[512,1],[524,1],[542,1],[559,1],[595,1],[619,1],[625,1],[643,1],[647,1],[3518,1],[3547,1],[3581,1],[3583,1],[3651,2],[3663,1],[3665,1],[3695,1],[3726,2],[3746,1],[3771,2],[3774,2],[3777,1],[3797,1],[3831,1],[3857,1],[3877,1],[3905,1],[3929,1]]},"1398":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[375,1],[394,1],[415,1],[438,1],[465,1],[486,1],[509,1],[515,1],[539,1],[551,1],[581,1],[617,1],[646,1],[671,1],[692,1],[717,1],[748,1],[780,1],[803,1],[821,1],[838,1],[857,1],[888,1],[916,1],[922,1],[939,1],[946,1],[952,1],[958,1],[981,1],[999,1],[1025,1],[1055,1],[1082,1],[1098,1],[6851,1],[6888,1],[6928,1],[6968,1],[7002,1],[7025,1],[7096,1],[7130,1],[7164,1]]},"1399":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[351,1],[376,1],[409,1],[415,1],[438,1],[463,1],[479,1],[485,1],[500,1],[506,1],[521,1],[527,1],[531,1],[2144,1],[2162,1],[2164,1],[2206,1],[2228,1],[2250,1],[2268,1],[2379,1],[2396,1],[2414,1],[2416,1],[2458,1],[2475,1],[2497,1],[2515,1],[2670,1],[2686,1],[2709,1],[2729,1],[2749,1],[2776,1],[2798,1],[2865,1],[2882,1],[2900,1],[2916,1],[2930,1],[2951,1],[2985,1]]},"1400":{"position":[[26,2],[70,1],[76,1],[115,1],[147,1],[184,1],[211,1],[239,1],[270,1],[292,1],[330,1],[373,1],[398,1],[431,1],[437,1],[460,1],[485,1],[489,1]]},"1401":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[349,1],[374,1],[390,1],[423,1],[429,1],[452,1],[477,1],[498,1],[515,1],[519,1],[1783,1],[1801,1],[1833,1],[1849,1],[1870,1],[1893,1],[1974,1]]},"1402":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[309,1],[347,1],[371,1],[397,1],[434,1],[464,1],[489,1],[522,1],[528,1],[549,1],[571,1],[600,1],[623,1],[648,1],[652,1],[2155,1],[2169,1],[2191,1],[2213,1],[2249,1],[2251,1],[2277,2],[2291,1],[2293,1],[2304,2],[2307,1],[2324,1],[2339,1],[2390,1],[2401,1]]},"1403":{"position":[[13,2],[57,1],[63,1],[102,1],[134,1],[171,1],[198,1],[226,1],[257,1],[279,1],[317,1],[352,1],[376,1],[405,1],[436,1],[452,1],[458,1],[488,1],[509,1],[516,1],[531,1],[537,1],[556,1],[562,1],[587,1],[620,1],[626,1],[650,1],[662,1],[688,1],[695,1],[720,1],[763,1],[769,1],[791,1],[798,1],[821,1],[846,1],[874,1],[880,1],[905,1],[911,1],[941,1],[971,1],[986,1],[992,1],[1008,1],[1031,1],[1049,1],[1056,1],[1113,1],[1134,1],[1151,1],[1167,1],[1173,1],[1191,1],[1197,1],[1201,1],[4603,1],[4605,1],[4631,1],[4664,1],[4666,1],[4716,1],[5139,4],[5533,1],[5567,1],[5569,1],[5592,1],[5616,2],[5640,1],[5664,2],[5667,2],[5683,1],[5685,1],[5708,2],[5715,1],[5805,1],[5898,1],[5900,1],[5923,1],[5947,2],[5950,2],[5976,1],[5978,1],[6001,1],[6047,2],[6050,2],[7045,1],[7063,1],[7079,1],[7125,1],[7140,1],[7225,7],[7629,1],[7657,1],[7659,1],[7684,2],[7692,1],[7733,1],[7784,1],[7825,1],[7874,1],[7899,1],[7917,1],[7964,1],[7966,1],[7991,2],[7999,1],[8040,1],[8111,1],[8152,1],[8222,1],[8224,1],[8248,1],[8282,2],[8285,2],[8301,1],[8303,1],[8337,2],[8340,1],[8552,1],[8578,1],[8635,1],[8690,1],[8712,1],[8738,1],[8805,1],[8860,1]]},"1404":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[345,1],[375,1],[400,1],[433,1],[439,1],[462,1],[487,1],[512,1],[1527,1],[1557,1],[1610,1],[1666,1]]},"1405":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[336,1],[360,1],[381,1],[405,1],[422,1],[444,1],[460,1],[492,1],[522,1],[545,1],[552,1],[583,1],[608,1],[641,1],[647,1],[668,1],[688,1],[694,1],[732,1],[755,1],[780,1],[801,1],[807,1],[829,1],[835,1],[864,1],[888,1],[894,1],[914,1],[920,1],[980,1],[996,1],[1022,1],[1043,1],[1064,1],[1068,1],[3501,1],[3542,1],[4015,2],[4038,2],[4041,1],[4094,2],[4113,2],[4116,1],[4161,2],[4164,1]]},"1406":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[353,1],[377,1],[407,1],[435,1],[456,1],[460,1]]},"1407":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[346,1],[370,1],[391,1],[415,1],[432,1],[454,1],[470,1],[502,1],[532,1],[572,1],[579,1],[610,1],[635,1],[668,1],[674,1],[695,1],[715,1],[721,1],[759,1],[782,1],[807,1],[828,1],[834,1],[856,1],[862,1],[891,1],[915,1],[921,1],[941,1],[947,1],[1007,1],[1023,1],[1049,1],[1070,1],[1091,1],[1095,1],[3922,1],[3963,1],[4617,1],[4644,1],[4680,1],[4719,1],[4749,1],[4775,1],[4795,1],[4831,1],[4855,1],[4857,1],[4887,1],[4920,2],[4942,1],[4944,3],[4963,1],[4965,3],[4977,1],[4979,3],[4983,1],[5003,1],[5043,1],[5071,1],[5073,1],[5113,1],[5198,2],[5201,1],[5230,1],[5276,1],[5326,1],[5349,1]]},"1408":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[337,1],[361,1],[368,1],[395,1],[421,1],[427,1],[448,1],[472,1],[489,1],[511,1],[543,1],[573,1],[604,1],[629,1],[662,1],[668,1],[689,1],[709,1],[715,1],[745,1],[768,1],[793,1],[817,1],[823,1],[847,1],[853,1],[874,1],[878,1],[2541,1],[2582,1],[2959,2],[2978,2],[2981,1]]},"1409":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[336,1],[360,1],[367,1],[394,1],[418,1],[442,1],[459,1],[481,1],[511,1],[515,1]]},"1410":{"position":[[13,2],[57,1],[63,1],[102,1],[134,1],[171,1],[198,1],[226,1],[257,1],[279,1],[317,1],[334,1],[360,1],[366,1],[390,1],[411,1],[435,1],[462,1],[479,1],[522,1],[544,1],[567,1],[583,1],[615,1],[645,1],[668,1],[675,1],[706,1],[731,1],[756,1],[762,1],[795,1],[801,1],[822,1],[842,1],[848,1],[873,1],[911,1],[934,1],[953,1],[959,1],[984,1],[1005,1],[1011,1],[1033,1],[1039,1],[1068,1],[1092,1],[1098,1],[1122,1],[1128,1],[1148,1],[1154,1],[1170,1],[1198,1],[1204,1],[1221,1],[1228,1],[1234,1],[1240,1],[1263,1],[1281,1],[1330,1],[1336,1],[1362,1],[1393,1],[1411,1],[1417,1],[1434,1],[1440,1],[1461,1],[1482,1],[1514,1],[1520,1],[1524,1],[4909,1],[4950,1],[5532,1],[5824,2],[5843,2],[5846,1],[5910,2],[5932,2],[5935,1],[6044,2],[6063,2],[6066,1],[6068,1],[6168,1]]},"1411":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[354,1],[379,1],[412,1],[418,1],[441,1],[466,1],[498,1]]},"1412":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[378,1],[420,1],[464,1],[502,1],[532,1],[557,1],[590,1],[596,1],[617,1],[647,1],[686,1],[718,1],[758,1],[782,1],[788,1],[805,1],[811,1],[834,1],[859,1],[884,1],[890,1],[914,1],[920,1],[963,1],[970,1],[1004,1],[1010,1],[1034,1],[1061,1],[1067,1],[1097,1],[1128,1],[1168,1],[1194,1],[1220,1],[1226,1],[1255,1],[1273,1],[1279,1],[1319,1],[1325,1],[1362,1],[1383,1],[1401,1],[1407,1],[1411,1],[3684,1],[3751,1],[3769,1],[3796,1],[3800,1],[3871,1],[3933,1],[3955,1],[3980,1],[3984,1],[4054,1],[4125,1],[4191,1],[4219,1],[4270,1],[4291,1],[4293,1],[4295,1],[4306,2],[4309,1]]},"1413":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[375,1],[417,1],[461,1],[499,1],[529,1],[554,1],[592,1],[624,1],[630,1],[663,1],[669,1],[690,1],[712,1],[718,1],[743,1],[773,1],[812,1],[844,1],[884,1],[904,1],[928,1],[934,1],[951,1],[957,1],[980,1],[1005,1],[1030,1],[1036,1],[1060,1],[1066,1],[1109,1],[1116,1],[1150,1],[1156,1],[1180,1],[1207,1],[1213,1],[1243,1],[1274,1],[1314,1],[1340,1],[1366,1],[1372,1],[1403,1],[1432,1],[1450,1],[1456,1],[1496,1],[1502,1],[1539,1],[1560,1],[1589,1],[1595,1],[1601,1],[1630,1],[1636,1],[1642,1],[1660,1],[1666,1],[1698,1],[1704,1],[1736,1],[1742,1],[1763,1],[1769,1],[1798,1],[1805,1],[1847,1],[1854,1],[1878,1],[1882,1]]},"1414":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[344,1],[370,1],[400,1],[425,1],[458,1],[464,1],[485,1],[510,1],[544,1],[567,1],[592,1],[616,1],[644,1],[668,1],[687,1],[705,1],[721,1],[745,1],[749,1]]},"1415":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[354,1],[384,1],[415,1],[457,1],[497,1],[522,1],[550,1],[556,1],[589,1],[595,1],[623,1],[629,1],[659,1],[680,1],[702,1],[708,1],[734,1],[761,1],[767,1],[786,1],[817,1],[823,1],[850,1],[875,1],[881,1],[909,1],[915,1],[939,1],[956,1],[995,1],[1001,1],[1037,1],[1060,1],[1107,1],[1176,1],[1249,1],[1300,1],[1326,1],[1351,1],[1384,1],[1406,1],[1412,1],[1438,1],[1444,1],[1468,1],[1474,1],[1486,1],[1504,1],[1510,1],[1528,1],[1542,1],[1568,1],[1590,1],[1596,1],[1633,1],[1662,1],[1715,1],[1758,1],[1802,1],[1821,1],[1872,1],[1929,1],[1969,1],[1991,1],[2025,1],[2081,1],[2111,1],[2117,1],[2152,1],[2177,1],[2183,1],[2218,1],[2246,1],[2266,1],[2286,1],[2323,1],[2329,1],[2349,1],[2377,1],[2383,1],[2420,1],[2424,1],[5455,1],[5481,1],[5495,1],[5511,1],[5536,1],[5559,1],[5630,1],[5713,1],[5715,1],[5717,1],[5790,1],[5869,2],[5872,1],[5946,1],[6015,1],[6017,1],[6019,1],[6021,3],[6025,2],[6028,1]]},"1416":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[349,1],[378,1],[406,1],[436,1],[467,1],[492,1],[525,1],[531,1],[552,1],[574,1],[580,1],[608,1],[664,1],[698,1],[721,1],[746,1],[779,1],[811,1],[837,1],[843,1],[867,1],[873,1],[885,1],[903,1],[909,1],[927,1],[941,1],[967,1],[1007,1],[1013,1],[1035,1],[1041,1],[1070,1],[1086,1],[1092,1],[1112,1],[1118,1],[1161,1],[1212,1],[1233,1],[1250,1],[1280,1],[1284,1],[3572,1],[3586,1],[3588,1],[3600,2],[3603,1]]},"1417":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[347,1],[376,1],[406,1],[437,1],[462,1],[495,1],[501,1],[522,1],[544,1],[550,1],[578,1],[617,1],[641,1],[647,1],[668,1],[674,1],[697,1],[722,1],[751,1],[771,1],[777,1],[820,1],[871,1],[900,1],[921,1],[938,1],[968,1],[972,1]]},"1418":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[350,1],[379,1],[409,1],[434,1],[467,1],[473,1],[494,1],[516,1],[522,1],[552,1],[575,1],[600,1],[620,1],[626,1],[669,1],[673,1]]},"1419":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[350,1],[380,1],[411,1],[436,1],[469,1],[475,1],[496,1],[518,1],[524,1],[563,1],[596,1],[619,1],[644,1],[690,1],[710,1],[716,1],[759,1],[780,1],[797,1],[801,1]]},"1420":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[350,1],[379,1],[409,1],[440,1],[465,1],[498,1],[504,1],[525,1],[553,1],[609,1],[643,1],[673,1],[696,1],[721,1],[743,1],[772,1],[792,1],[798,1],[841,1],[892,1],[920,1],[941,1],[958,1],[988,1],[992,1],[2710,1],[2729,1],[2731,1],[2748,2],[2751,1]]},"1421":{"position":[[30,2],[74,1],[80,1],[119,1],[151,1],[188,1],[215,1],[243,1],[274,1],[296,1],[334,1],[364,1],[389,1],[421,1],[463,1],[469,1],[490,1],[518,1],[558,1],[596,1],[639,1],[652,1],[680,1],[703,1],[728,1],[769,1],[801,1],[838,1],[871,1],[899,1],[917,1],[921,1],[2437,1],[2465,1],[2467,1],[2483,2],[2504,1],[2506,1],[2526,2],[2541,1],[2543,1],[2562,2],[2577,1],[2579,1],[2617,2],[2620,1]]},"1422":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[352,1],[377,1],[410,1],[416,1],[441,1],[461,1],[484,1],[509,1],[524,1],[530,1],[546,1],[552,1],[570,1],[576,1],[600,1],[606,1],[634,1],[650,1],[656,1],[677,1],[706,1],[710,1],[3110,1],[3148,1],[4012,1],[4037,1],[4039,1],[4124,2],[4134,1],[4254,1],[4270,1],[4299,1],[4315,1],[4378,1],[4386,1],[4551,1]]},"1423":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[349,1],[374,1],[407,1],[413,1],[435,1],[442,1],[465,1],[490,1],[505,1],[511,1],[527,1],[533,1],[551,1],[557,1],[578,1],[607,1],[611,1],[1927,1],[2771,1],[2794,1],[2796,1],[2891,2],[2901,1],[2971,1],[2989,1],[3016,1],[3018,1],[3121,2],[3131,1],[3201,1],[3231,1],[3256,1],[3286,1],[3308,1],[3545,1],[3563,1],[3592,1],[3660,1],[3741,1],[3749,1],[3851,1],[3874,1],[3876,1],[3917,2],[3927,1],[3997,1]]},"1424":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[385,1],[411,1],[442,1],[458,1],[464,1],[494,1],[515,1],[522,1],[537,1],[543,1],[562,1],[568,1],[593,1],[626,1],[632,1],[658,1],[665,1],[708,1],[714,1],[737,1],[762,1],[790,1],[796,1],[821,1],[827,1],[857,1],[887,1],[905,1],[912,1],[969,1],[990,1],[1007,1],[1023,1],[1029,1],[1047,1],[1053,1],[1057,1]]},"1425":{"position":[[31,2],[75,1],[81,1],[120,1],[152,1],[189,1],[216,1],[244,1],[275,1],[297,1],[335,1],[370,1],[400,1],[425,1],[458,1],[464,1],[485,1],[516,1],[548,1],[571,1],[596,1],[622,1],[669,1],[673,1]]},"1426":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[380,1],[419,1],[445,1],[471,1],[501,1],[526,1],[558,1],[564,1],[597,1],[603,1],[624,1],[659,1],[687,1],[726,1],[749,1],[774,1],[796,1],[802,1],[827,1],[833,1],[863,1],[869,1],[873,1],[2008,1],[2031,1],[2033,1],[2035,1],[2087,1],[2165,1],[2196,1],[2251,2],[2259,1],[2261,1],[2298,2],[2301,1]]},"1427":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[357,1],[389,1],[395,1],[420,1],[444,1],[483,1],[509,1],[563,1],[594,1],[600,1],[642,1],[686,1],[724,1],[754,1],[779,1],[812,1],[818,1],[839,1],[869,1],[908,1],[940,1],[969,1],[975,1],[999,1],[1005,1],[1022,1],[1028,1],[1051,1],[1076,1],[1101,1],[1107,1],[1131,1],[1137,1],[1180,1],[1187,1],[1221,1],[1227,1],[1251,1],[1278,1],[1284,1],[1314,1],[1345,1],[1385,1],[1411,1],[1437,1],[1443,1],[1472,1],[1490,1],[1496,1],[1536,1],[1542,1],[1579,1],[1600,1],[1618,1],[1624,1],[1656,1],[1660,1],[4335,1],[4563,1],[7099,1],[7162,1],[7181,1],[7207,1],[7209,1],[7273,2],[7276,1],[7278,1],[7347,1],[7409,1],[7475,1],[7525,1],[7545,1],[7576,1],[7610,1],[7612,1],[7675,2],[7678,1],[7699,1],[7725,1],[7758,1],[7760,1],[7890,2],[7893,1],[7895,1],[7949,1],[7992,1],[8011,1],[8048,1],[8079,1],[8081,1],[8129,2],[8132,1]]},"1428":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[386,1],[411,1],[444,1],[450,1],[471,1],[502,1],[534,1],[557,1],[582,1],[604,1],[651,1],[655,1]]},"1429":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[354,1],[378,1],[405,1],[444,1],[475,1],[501,1],[544,1],[598,1],[629,1],[635,1],[677,1],[721,1],[759,1],[789,1],[814,1],[852,1],[884,1],[890,1],[923,1],[929,1],[950,1],[972,1],[978,1],[1003,1],[1033,1],[1072,1],[1104,1],[1124,1],[1153,1],[1159,1],[1175,1],[1181,1],[1209,1],[1233,1],[1239,1],[1256,1],[1262,1],[1285,1],[1310,1],[1335,1],[1341,1],[1365,1],[1371,1],[1414,1],[1421,1],[1455,1],[1461,1],[1485,1],[1512,1],[1518,1],[1548,1],[1576,1],[1582,1],[1599,1],[1606,1],[1612,1],[1618,1],[1641,1],[1659,1],[1708,1],[1714,1],[1745,1],[1785,1],[1811,1],[1837,1],[1843,1],[1874,1],[1892,1],[1898,1],[1927,1],[1945,1],[1951,1],[1991,1],[1997,1],[2034,1],[2051,1],[2057,1],[2078,1],[2107,1],[2113,1],[2119,1],[2148,1],[2154,1],[2160,1],[2178,1],[2184,1],[2216,1],[2222,1],[2255,1],[2261,1],[2293,1],[2299,1],[2320,1],[2326,1],[2362,1],[2368,1],[2397,1],[2404,1],[2446,1],[2453,1],[2477,1],[2481,1],[3673,2],[6029,1]]},"1430":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[380,1],[411,1],[417,1],[459,1],[503,1],[541,1],[571,1],[596,1],[629,1],[635,1],[656,1],[686,1],[725,1],[757,1],[781,1],[787,1],[804,1],[810,1],[833,1],[858,1],[879,1],[904,1],[910,1],[934,1],[940,1],[983,1],[990,1],[1024,1],[1030,1],[1054,1],[1081,1],[1087,1],[1117,1],[1148,1],[1188,1],[1214,1],[1240,1],[1246,1],[1275,1],[1293,1],[1299,1],[1339,1],[1345,1],[1382,1],[1403,1],[1421,1],[1427,1],[1431,1]]},"1431":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[310,1],[348,1],[371,1],[391,1],[418,1],[424,1],[454,1],[477,1],[483,1],[529,1],[554,1],[587,1],[593,1],[614,1],[630,1],[660,1],[666,1],[704,1],[710,1],[733,1],[758,1],[775,1]]},"1432":{"position":[[23,2],[67,1],[73,1],[112,1],[144,1],[181,1],[208,1],[236,1],[267,1],[289,1],[327,1],[362,1],[386,1],[415,1],[438,1],[458,1],[489,1],[505,1],[511,1],[541,1],[564,1],[570,1],[616,1],[637,1],[644,1],[659,1],[665,1],[684,1],[690,1],[715,1],[748,1],[754,1],[780,1],[787,1],[830,1],[836,1],[875,1],[900,1],[928,1],[934,1],[959,1],[965,1],[995,1],[1025,1],[1043,1],[1050,1],[1107,1],[1136,1],[1160,1],[1189,1],[1215,1],[1236,1],[1253,1],[1268,1],[1286,1],[1292,1],[1296,1]]},"1433":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[357,1],[363,1],[398,1],[421,1],[441,1],[469,1],[481,1],[508,1],[520,1],[541,1],[547,1],[577,1],[602,1],[635,1],[641,1],[662,1],[684,1],[690,1],[712,1],[718,1],[741,1],[766,1],[786,1],[800,1],[817,1]]},"1434":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[349,1],[379,1],[400,1],[427,1],[455,1],[487,1],[491,1]]},"1435":{"position":[[23,2],[67,1],[73,1],[112,1],[144,1],[181,1],[208,1],[236,1],[267,1],[289,1],[327,1],[354,1],[384,1],[427,1],[455,1]]},"1436":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[350,1],[380,1],[401,1],[446,1],[467,1],[471,1]]},"1437":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[347,1],[374,1],[404,1],[429,1],[450,1],[477,1],[505,1],[537,1],[541,1]]},"1438":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[318,1],[348,1],[373,1],[406,1],[412,1],[433,1],[456,1],[481,1],[514,1],[1625,1],[1679,1],[1722,1],[1766,1],[1851,1],[1895,1]]},"1439":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[359,1],[391,1],[397,1],[422,1],[446,1],[485,1],[511,1],[539,1],[593,1],[624,1],[630,1],[668,1],[674,1],[716,1],[760,1],[798,1],[828,1],[853,1],[886,1],[892,1],[913,1],[943,1],[982,1],[1014,1],[1054,1],[1083,1],[1106,1],[1135,1],[1141,1],[1165,1],[1171,1],[1188,1],[1194,1],[1208,1],[1264,1],[1287,1],[1312,1],[1337,1],[1343,1],[1367,1],[1373,1],[1416,1],[1423,1],[1457,1],[1463,1],[1487,1],[1514,1],[1520,1],[1550,1],[1581,1],[1621,1],[1647,1],[1673,1],[1679,1],[1708,1],[1726,1],[1732,1],[1772,1],[1778,1],[1815,1],[1836,1],[1854,1],[1860,1],[1887,1],[1894,1],[1926,1],[1930,1],[5162,1],[5164,1],[5200,1],[5382,2],[5385,2],[5841,1],[5869,1],[5902,1],[5904,1],[5950,2],[5977,1],[5979,1],[5981,1],[6086,3],[6090,2],[6093,1],[6114,1],[6170,1],[6223,1],[6225,1],[6257,1],[6324,1],[6384,1],[6415,1],[6471,1],[6531,1],[6618,1],[6673,1],[6834,1],[7062,1],[7929,1],[7992,1],[8011,1],[8035,1],[8037,1],[8101,2],[8104,1],[8106,1],[8173,1],[8235,1],[8301,1],[8353,1],[8373,1],[8402,1],[8434,1],[8436,1],[8499,2],[8502,1],[8525,1],[8551,1],[8582,1],[8584,1],[8714,2],[8717,1],[8719,1],[8773,1],[8818,1],[8837,1],[8872,1],[8901,1],[8903,1],[8951,2],[8954,1]]},"1440":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[356,1],[380,1],[407,1],[446,1],[477,1],[503,1],[531,1],[574,1],[628,1],[659,1],[665,1],[703,1],[709,1],[751,1],[795,1],[833,1],[863,1],[888,1],[926,1],[958,1],[964,1],[997,1],[1003,1],[1024,1],[1046,1],[1052,1],[1077,1],[1107,1],[1146,1],[1178,1],[1218,1],[1238,1],[1267,1],[1290,1],[1306,1],[1312,1],[1340,1],[1364,1],[1370,1],[1387,1],[1393,1],[1407,1],[1463,1],[1486,1],[1511,1],[1536,1],[1542,1],[1566,1],[1572,1],[1615,1],[1622,1],[1656,1],[1662,1],[1686,1],[1713,1],[1719,1],[1749,1],[1777,1],[1783,1],[1800,1],[1807,1],[1813,1],[1819,1],[1842,1],[1860,1],[1909,1],[1915,1],[1946,1],[1986,1],[2012,1],[2038,1],[2044,1],[2075,1],[2104,1],[2122,1],[2128,1],[2168,1],[2174,1],[2211,1],[2232,1],[2261,1],[2267,1],[2273,1],[2302,1],[2308,1],[2314,1],[2332,1],[2338,1],[2370,1],[2376,1],[2409,1],[2415,1],[2447,1],[2453,1],[2474,1],[2480,1],[2516,1],[2522,1],[2551,1],[2558,1],[2600,1],[2607,1],[2634,1],[2641,1],[2665,1],[2669,1],[3666,2],[5929,1]]},"1441":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[356,1],[381,1],[414,1],[420,1],[443,1],[468,1],[493,1],[497,1]]},"1442":{"position":[[23,2],[67,1],[73,1],[112,1],[144,1],[181,1],[208,1],[236,1],[267,1],[289,1],[327,1],[352,1],[382,1],[403,1],[425,1],[431,1],[451,1],[471,1],[475,1],[1907,1],[1921,1],[1949,1],[1969,1],[2698,3],[2788,4],[2793,2],[2803,1],[2815,2],[2988,1],[3066,1],[3086,1],[3088,1],[3105,2],[3161,2],[3205,2],[3208,1]]},"1443":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[350,1],[375,1],[408,1],[414,1],[435,1],[458,1],[483,1],[505,1],[539,1],[545,1],[570,1],[576,1],[596,1],[602,1],[645,1],[672,1],[678,1],[682,1],[1814,1],[1838,1],[1855,1],[1857,1],[1875,2],[1878,1],[1898,1],[1920,1],[1939,1]]},"1444":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[344,1],[350,1],[380,1],[405,1],[438,1],[444,1],[465,1],[488,1],[513,1],[556,1],[577,1],[594,1],[598,1],[1943,1],[2003,1],[2022,1],[2042,1],[2044,1],[2120,1],[2193,1],[2239,1],[2258,1],[2288,1]]},"1445":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[352,1],[382,1],[397,1]]},"1446":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[351,1],[376,1],[409,1],[415,1],[436,1],[458,1],[478,1],[501,1],[526,1],[547,1],[551,1]]},"1447":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[353,1],[378,1],[401,1],[407,1],[460,1],[466,1],[489,1],[514,1],[559,1],[565,1],[597,1],[609,1],[613,1]]},"1448":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[347,1],[374,1],[404,1],[429,1],[436,1],[467,1],[492,1],[525,1],[531,1],[552,1],[575,1],[600,1],[629,1],[660,1],[680,1],[686,1],[739,1],[782,1],[833,1],[849,1],[861,1],[878,1],[904,1],[910,1],[914,1],[2924,2],[2958,2],[2961,1],[3017,2],[3036,2],[3039,1],[3087,2],[3090,1],[3139,2],[3142,1]]},"1449":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[348,1],[375,1],[405,1],[430,1],[461,1],[486,1],[519,1],[525,1],[546,1],[569,1],[594,1],[623,1],[648,1],[679,1],[732,1],[775,1],[791,1],[803,1],[820,1],[846,1],[852,1],[856,1],[2826,2],[2845,2],[2848,1]]},"1450":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[347,1],[374,1],[404,1],[429,1],[436,1],[467,1],[492,1],[525,1],[531,1],[552,1],[575,1],[600,1],[629,1],[660,1],[680,1],[686,1],[729,1],[780,1],[796,1],[808,1],[825,1],[851,1],[857,1],[861,1]]},"1451":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[347,1],[374,1],[404,1],[429,1],[436,1],[467,1],[492,1],[525,1],[531,1],[552,1],[575,1],[600,1],[629,1],[660,1],[680,1],[686,1],[729,1],[780,1],[796,1],[808,1],[825,1],[851,1],[857,1],[861,1]]},"1452":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[318,1],[348,1],[382,1],[403,1],[407,1]]},"1453":{"position":[[30,2],[74,1],[80,1],[119,1],[151,1],[188,1],[215,1],[243,1],[274,1],[296,1],[334,1],[361,1],[384,1],[413,1],[443,1],[468,1],[501,1],[507,1],[528,1],[566,1],[626,1],[647,1],[653,1],[680,1],[703,1],[729,1],[754,1],[782,1],[802,1],[809,1],[846,1],[852,1],[856,1],[1906,1],[1941,1],[1994,1],[2017,1],[2019,1],[2030,1],[2032,1]]},"1454":{"position":[[26,2],[70,1],[76,1],[115,1],[147,1],[184,1],[211,1],[239,1],[270,1],[292,1],[330,1],[355,1],[381,1],[411,1],[418,1],[448,1],[472,1],[497,1],[530,1],[536,1],[557,1],[587,1],[619,1],[652,1],[669,1],[751,1],[811,1],[849,1],[901,1],[954,1],[973,1],[1033,1],[1099,1],[1142,1],[1207,1],[1251,1],[1277,1],[1301,1],[1328,1],[1351,1],[1363,1],[1391,1],[1397,1],[1420,1],[1442,1],[1448,1],[1495,1],[1518,1],[1544,1],[1569,1],[1591,1],[1622,1],[1651,1],[1686,1],[1718,1],[1743,1],[1774,1],[1793,1],[1824,1],[1843,1],[1874,1],[1893,1],[1928,1],[1947,1],[1981,1],[2009,1],[2029,1],[2072,1],[2122,1],[2150,1],[2172,1],[2178,1],[2196,1],[2202,1],[2224,1],[2230,1],[2256,1],[2262,1],[2299,1],[2305,1],[2340,1],[2347,1],[2381,1],[2426,1],[2542,1],[2636,1],[2736,1],[2814,1],[2847,1],[2883,1],[2915,1],[2945,1],[2977,1],[3007,1],[3035,1],[3065,1],[3097,1],[3127,1],[3163,1],[3193,1],[3197,1],[4741,1],[5455,4],[7390,4],[9755,1],[9780,1],[9800,1],[9802,1],[9815,2],[9818,1],[9897,1],[9915,1],[9943,1],[9974,1],[10005,1],[10039,1],[10041,1],[10054,2],[10057,1],[10152,1],[10170,1],[10207,1],[10209,1],[10365,2],[10388,1],[10390,1],[10543,2],[10563,1],[10565,1],[10578,2],[10581,1]]},"1455":{"position":[[32,2],[76,1],[82,1],[121,1],[153,1],[190,1],[217,1],[245,1],[276,1],[298,1],[336,1],[361,1],[391,1],[416,1],[449,1],[455,1],[476,1],[506,1],[558,1],[602,1],[635,1],[664,1],[711,1],[734,1],[759,1],[801,1],[834,1],[862,1],[890,1],[918,1],[950,1],[982,1],[1019,1],[1025,1],[1070,1],[1074,1],[2389,1],[4585,1],[4607,1],[4609,1],[4611,1],[4656,1],[4675,2],[4690,1],[4692,1],[4722,2],[4741,1],[4743,1],[4745,1],[4790,1],[4809,2],[4824,1],[4826,1],[4864,2],[4879,1],[4881,1],[4927,2],[4942,1],[4944,1],[4972,2],[4996,1],[4998,1],[5026,2],[5029,1]]},"1456":{"position":[[29,2],[73,1],[79,1],[118,1],[150,1],[187,1],[214,1],[242,1],[273,1],[295,1],[333,1],[378,1],[403,1],[436,1],[442,1],[465,1],[490,1],[494,1],[1557,1],[1579,1],[1596,1],[1619,1],[1637,1],[1639,1],[1653,2],[1670,1],[1686,1],[1688,1],[1716,2],[1719,1]]},"1457":{"position":[[25,2],[69,1],[75,1],[114,1],[146,1],[183,1],[210,1],[238,1],[269,1],[291,1],[329,1],[359,1],[384,1],[417,1],[423,1],[444,1],[474,1],[497,1],[536,1],[560,1],[566,1],[570,1],[2048,2],[2051,1]]},"1458":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[357,1],[389,1],[395,1],[420,1],[444,1],[478,1],[525,1],[550,1],[583,1],[589,1],[610,1],[639,1],[663,1],[686,1],[692,1],[715,1],[740,1],[764,1],[770,1],[813,1],[853,1],[875,1],[881,1],[885,1],[2500,1],[2522,1],[2554,1],[2595,1],[2646,1],[2667,1],[2683,1],[2721,1],[2723,1],[2735,2],[2738,1]]},"1459":{"position":[[29,2],[73,1],[79,1],[118,1],[150,1],[187,1],[214,1],[242,1],[273,1],[295,1],[333,1],[363,1],[388,1],[421,1],[427,1],[448,1],[475,1],[495,1],[518,1],[543,1],[565,1],[2374,1],[2403,1],[2413,1],[2437,1],[2454,1],[2479,1],[2481,1],[2499,2],[2502,1]]},"1460":{"position":[[28,2],[72,1],[78,1],[117,1],[149,1],[186,1],[213,1],[241,1],[272,1],[294,1],[332,1],[362,1],[394,1],[418,1],[424,1],[449,1],[472,1],[497,1],[530,1],[536,1],[557,1],[580,1],[586,1],[609,1],[627,1],[646,1],[671,1],[701,1],[723,1],[729,1],[772,1],[776,1]]},"1461":{"position":[[29,2],[73,1],[79,1],[118,1],[150,1],[187,1],[214,1],[242,1],[273,1],[295,1],[333,1],[375,1],[416,1],[435,1],[463,1],[510,1],[529,1],[554,1],[581,1],[593,1],[626,1],[632,1],[653,1],[697,1],[730,1],[763,1],[786,1],[811,1],[839,1],[843,1],[2649,1],[3307,1],[3391,1],[3428,1],[3592,1],[3652,1],[3704,1],[3736,1],[3771,1],[3805,1],[3807,1],[3871,1],[3906,1],[3966,1],[3998,1],[4031,1],[4094,1],[4096,1],[4121,2],[4124,1]]},"1462":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[365,1],[386,1],[411,1],[435,1],[464,1],[492,1],[518,1],[548,1],[555,1],[588,1],[616,1],[639,1],[645,1],[681,1],[708,1],[732,1],[738,1],[768,1],[795,1],[814,1],[821,1],[852,1],[889,1],[914,1],[970,1],[989,1],[1013,1],[1019,1],[1047,1],[1053,1],[1094,1],[1101,1],[1134,1],[1140,1],[1168,1],[1174,1],[1204,1],[1225,1],[1247,1],[1253,1],[1279,1],[1330,1],[1355,1],[1361,1],[1399,1],[1431,1],[1458,1],[1464,1],[1515,1],[1536,1],[1542,1],[1561,1],[1592,1],[1598,1],[1625,1],[1653,1],[1659,1],[1683,1],[1700,1],[1739,1],[1745,1],[1781,1],[1816,1],[1839,1],[1886,1],[1955,1],[2028,1],[2079,1],[2105,1],[2130,1],[2163,1],[2200,1],[2206,1],[2228,1],[2234,1],[2266,1],[2292,1],[2298,1],[2322,1],[2328,1],[2340,1],[2358,1],[2364,1],[2382,1],[2396,1],[2422,1],[2466,1],[2472,1],[2512,1],[2518,1],[2543,1],[2549,1],[2570,1],[2592,1],[2629,1],[2658,1],[2674,1],[2680,1],[2705,1],[2711,1],[2734,1],[2740,1],[2767,1],[2773,1],[2808,1],[2830,1],[2855,1],[2887,1],[2893,1],[2928,1],[2953,1],[2959,1],[2980,1],[2986,1],[3006,1],[3012,1],[3065,1],[3108,1],[3152,1],[3171,1],[3222,1],[3273,1],[3330,1],[3370,1],[3392,1],[3426,1],[3482,1],[3512,1],[3518,1],[3560,1],[3595,1],[3620,1],[3626,1],[3655,1],[3690,1],[3730,1],[3736,1],[3764,1],[3785,1],[3791,1],[3822,1],[3848,1],[3865,1],[3893,1],[3916,1],[3933,1],[3971,1],[4005,1],[4038,1],[4061,1],[4086,1],[4106,1],[4124,1],[4152,1],[4158,1],[4195,1],[4215,1],[4222,1],[4226,1],[5922,1],[7147,1],[8958,1],[8985,1],[9009,1],[9026,1],[9028,1],[9046,2],[9049,1],[9072,1],[9089,1],[9138,1],[9196,1],[9227,1]]},"1463":{"position":[[29,2],[73,1],[79,1],[118,1],[150,1],[187,1],[214,1],[242,1],[273,1],[295,1],[333,1],[357,1],[395,1],[426,1],[432,1],[462,1],[483,1],[498,1]]},"1464":{"position":[[30,2],[74,1],[80,1],[119,1],[151,1],[188,1],[215,1],[243,1],[274,1],[296,1],[334,1],[364,1],[385,1],[406,1]]},"1465":{"position":[[20,2],[64,1],[70,1],[109,1],[141,1],[178,1],[205,1],[233,1],[264,1],[286,1],[324,1],[366,1],[407,1],[432,1],[460,1],[483,1],[489,1],[519,1],[544,1],[568,1],[574,1],[607,1],[613,1],[634,1],[678,1],[711,1],[734,1],[759,1],[779,1],[785,1],[828,1],[874,1],[893,1],[934,1],[953,1],[993,1],[999,1],[1025,1],[1042,1],[1063,1],[1080,1],[1107,1],[1124,1],[1142,1],[1170,1],[1176,1],[1207,1],[1241,1],[1260,1],[1286,1],[1320,1],[1339,1],[1359,1],[1366,1],[1370,1],[4295,1],[4302,1],[4368,1],[4387,1],[4411,1],[4413,1],[4458,2],[4461,1],[4463,1],[4531,1],[4599,1],[4677,1],[4696,1],[4736,1],[4738,1],[4756,2],[4759,1]]},"1466":{"position":[[33,2],[77,1],[83,1],[122,1],[154,1],[191,1],[218,1],[246,1],[277,1],[299,1],[337,1],[364,1],[407,1],[437,1],[462,1],[487,1],[510,1],[553,1],[561,1],[589,1],[595,1],[612,1],[619,1],[625,1],[631,1],[654,1],[672,1],[721,1],[727,1],[742,1]]},"1467":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[363,1],[384,1],[409,1],[433,1],[460,1],[488,1],[531,1],[557,1],[578,1],[622,1],[655,1],[683,1],[706,1],[712,1],[748,1],[775,1],[799,1],[805,1],[835,1],[862,1],[881,1],[888,1],[919,1],[956,1],[981,1],[1037,1],[1056,1],[1080,1],[1086,1],[1114,1],[1120,1],[1161,1],[1168,1],[1201,1],[1207,1],[1235,1],[1241,1],[1271,1],[1292,1],[1314,1],[1320,1],[1346,1],[1397,1],[1422,1],[1428,1],[1466,1],[1491,1],[1535,1],[1567,1],[1594,1],[1600,1],[1651,1],[1672,1],[1678,1],[1697,1],[1728,1],[1734,1],[1761,1],[1789,1],[1795,1],[1819,1],[1836,1],[1875,1],[1881,1],[1914,1],[1920,1],[1956,1],[1991,1],[2014,1],[2061,1],[2130,1],[2203,1],[2254,1],[2280,1],[2305,1],[2338,1],[2375,1],[2381,1],[2403,1],[2409,1],[2441,1],[2467,1],[2473,1],[2497,1],[2503,1],[2515,1],[2533,1],[2539,1],[2557,1],[2571,1],[2597,1],[2641,1],[2647,1],[2687,1],[2693,1],[2718,1],[2724,1],[2745,1],[2767,1],[2804,1],[2833,1],[2858,1],[2864,1],[2887,1],[2893,1],[2920,1],[2926,1],[2961,1],[2983,1],[3008,1],[3040,1],[3046,1],[3089,1],[3097,1],[3132,1],[3157,1],[3163,1],[3184,1],[3190,1],[3210,1],[3216,1],[3269,1],[3312,1],[3356,1],[3375,1],[3426,1],[3477,1],[3534,1],[3580,1],[3599,1],[3639,1],[3661,1],[3695,1],[3751,1],[3781,1],[3787,1],[3829,1],[3864,1],[3889,1],[3895,1],[3924,1],[3959,1],[3999,1],[4005,1],[4033,1],[4061,1],[4067,1],[4084,1],[4091,1],[4097,1],[4103,1],[4126,1],[4144,1],[4193,1],[4199,1],[4220,1],[4226,1],[4257,1],[4283,1],[4300,1],[4328,1],[4346,1],[4352,1],[4375,1],[4392,1],[4409,1],[4415,1],[4436,1],[4453,1],[4491,1],[4525,1],[4558,1],[4581,1],[4606,1],[4638,1],[4644,1],[4664,1],[4682,1],[4710,1],[4716,1],[4747,1],[4781,1],[4800,1],[4826,1],[4860,1],[4879,1],[4916,1],[4936,1],[4943,1],[4947,1],[7248,1],[8116,1],[9239,2],[10551,1],[10854,1],[10931,1],[10955,1],[10985,1],[10987,1],[11002,2],[11005,1],[11007,1],[11083,1],[11156,1],[11205,1],[11224,1],[11264,1],[11266,1],[11284,2],[11287,1]]},"1468":{"position":[[24,2],[68,1],[74,1],[113,1],[145,1],[182,1],[209,1],[237,1],[268,1],[290,1],[328,1],[358,1],[383,1],[416,1],[422,1],[445,1],[470,1],[492,1],[506,1],[1526,1]]},"1469":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[343,1],[373,1],[398,1],[431,1],[437,1],[460,1],[485,1],[500,1],[506,1],[522,1],[528,1],[546,1],[552,1],[568,1],[574,1],[607,1],[613,1],[617,1],[2537,1],[2577,1],[2656,1],[2702,1],[2816,1],[2842,1],[2889,1],[2908,1],[2928,1],[2950,1],[2998,1],[3071,1],[3117,1],[3240,1],[3262,1],[3310,1],[3406,1],[3452,1],[3558,1],[3588,1],[3636,1],[3701,1],[3747,1]]},"1470":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[317,1],[355,1],[390,1],[414,1],[441,1],[480,1],[511,1],[537,1],[565,1],[608,1],[662,1],[693,1],[699,1],[732,1],[744,1],[782,1],[788,1],[830,1],[874,1],[912,1],[942,1],[967,1],[1005,1],[1037,1],[1043,1],[1076,1],[1082,1],[1103,1],[1128,1],[1158,1],[1197,1],[1229,1],[1269,1],[1289,1],[1318,1],[1341,1],[1370,1],[1376,1],[1392,1],[1398,1],[1426,1],[1450,1],[1456,1],[1473,1],[1479,1],[1493,1],[1549,1],[1572,1],[1592,1],[1598,1],[1623,1],[1668,1],[1688,1],[1694,1],[1739,1],[1764,1],[1770,1],[1794,1],[1800,1],[1843,1],[1850,1],[1884,1],[1890,1],[1914,1],[1964,1],[1970,1],[1997,1],[2003,1],[2033,1],[2064,1],[2070,1],[2098,1],[2104,1],[2121,1],[2128,1],[2134,1],[2140,1],[2163,1],[2181,1],[2230,1],[2236,1],[2267,1],[2307,1],[2338,1],[2344,1],[2378,1],[2384,1],[2410,1],[2436,1],[2442,1],[2518,1],[2560,1],[2566,1],[2597,1],[2626,1],[2644,1],[2650,1],[2690,1],[2696,1],[2733,1],[2754,1],[2783,1],[2789,1],[2795,1],[2824,1],[2830,1],[2836,1],[2854,1],[2860,1],[2892,1],[2898,1],[2931,1],[2937,1],[2969,1],[2975,1],[2996,1],[3002,1],[3038,1],[3044,1],[3073,1],[3080,1],[3122,1],[3129,1],[3156,1],[3163,1],[3215,1],[3239,1],[3243,1]]},"1471":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[346,1],[370,1],[396,1],[422,1],[450,1],[480,1],[487,1],[520,1],[548,1],[578,1],[610,1],[616,1],[641,1],[661,1],[678,1],[684,1],[706,1],[712,1],[745,1],[751,1],[779,1],[785,1],[806,1],[825,1],[831,1],[869,1],[894,1],[919,1],[961,1],[995,1],[1001,1],[1032,1],[1055,1],[1080,1],[1102,1],[1108,1],[1134,1],[1140,1],[1164,1],[1170,1],[1182,1],[1200,1],[1206,1],[1224,1],[1238,1],[1264,1],[1308,1],[1314,1],[1336,1],[1342,1],[1371,1],[1404,1],[1438,1],[1455,1],[1481,1],[1498,1],[1515,1],[1543,1],[1573,1],[1594,1],[1622,1],[1628,1],[1632,1],[3745,1],[4368,1],[4430,2],[4705,1],[4761,2],[5808,2],[5831,2],[5834,1],[5889,2],[5908,2],[5911,1],[5958,2],[5961,1]]},"1472":{"position":[[18,2],[62,1],[68,1],[107,1],[139,1],[176,1],[203,1],[231,1],[262,1],[284,1],[322,1],[347,1],[371,1],[397,1],[423,1],[451,1],[481,1],[513,1],[519,1],[544,1],[564,1],[581,1],[587,1],[612,1],[618,1],[640,1],[646,1],[679,1],[685,1],[713,1],[719,1],[740,1],[765,1],[794,1],[820,1],[826,1],[859,1],[897,1],[914,1],[934,1],[941,1],[960,1],[966,1],[991,1],[1016,1],[1058,1],[1092,1],[1098,1],[1129,1],[1152,1],[1177,1],[1199,1],[1205,1],[1234,1],[1267,1],[1301,1],[1318,1],[1346,1],[1368,1],[1394,1],[1411,1],[1439,1],[1469,1],[1487,1],[1493,1],[1514,1],[1548,1],[1555,1],[1583,1],[1589,1],[1593,1],[3656,1],[3712,2],[4329,1],[4952,1],[5014,2],[5289,1],[5345,2],[5845,1],[6701,2],[6720,2],[6723,1]]},"1473":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[344,1],[368,1],[395,1],[438,1],[464,1],[490,1],[518,1],[551,1],[579,1],[609,1],[641,1],[647,1],[672,1],[692,1],[709,1],[715,1],[737,1],[743,1],[776,1],[782,1],[810,1],[816,1],[837,1],[856,1],[862,1],[900,1],[925,1],[950,1],[992,1],[1013,1],[1047,1],[1053,1],[1084,1],[1107,1],[1132,1],[1154,1],[1160,1],[1186,1],[1192,1],[1216,1],[1222,1],[1234,1],[1252,1],[1258,1],[1276,1],[1290,1],[1316,1],[1360,1],[1366,1],[1388,1],[1394,1],[1423,1],[1456,1],[1490,1],[1507,1],[1535,1],[1541,1],[1558,1],[1565,1],[1571,1],[1577,1],[1600,1],[1618,1],[1667,1],[1673,1],[1699,1],[1716,1],[1733,1],[1762,1],[1790,1],[1820,1],[1841,1],[1869,1],[1875,1],[1879,1],[3813,1],[4689,1],[4751,2],[5026,1],[5082,2],[5977,2],[6000,2],[6003,1],[6058,2],[6077,2],[6080,1],[6127,2],[6130,1]]},"1474":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[377,1],[408,1],[414,1],[456,1],[500,1],[538,1],[568,1],[593,1],[626,1],[632,1],[653,1],[683,1],[722,1],[754,1],[778,1],[784,1],[801,1],[807,1],[830,1],[855,1],[880,1],[886,1],[910,1],[916,1],[959,1],[966,1],[1000,1],[1006,1],[1030,1],[1057,1],[1063,1],[1093,1],[1124,1],[1164,1],[1190,1],[1216,1],[1222,1],[1251,1],[1269,1],[1275,1],[1315,1],[1321,1],[1358,1],[1379,1],[1397,1],[1403,1],[1407,1]]},"1475":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[374,1],[405,1],[411,1],[453,1],[497,1],[535,1],[565,1],[590,1],[628,1],[660,1],[666,1],[699,1],[705,1],[726,1],[748,1],[754,1],[779,1],[809,1],[848,1],[880,1],[900,1],[924,1],[930,1],[947,1],[953,1],[976,1],[1001,1],[1026,1],[1032,1],[1056,1],[1062,1],[1105,1],[1112,1],[1146,1],[1152,1],[1176,1],[1203,1],[1209,1],[1239,1],[1270,1],[1310,1],[1336,1],[1362,1],[1368,1],[1399,1],[1428,1],[1446,1],[1452,1],[1492,1],[1498,1],[1535,1],[1556,1],[1585,1],[1591,1],[1597,1],[1626,1],[1632,1],[1638,1],[1656,1],[1662,1],[1694,1],[1700,1],[1732,1],[1738,1],[1759,1],[1765,1],[1794,1],[1801,1],[1843,1],[1850,1],[1874,1],[1878,1]]},"1476":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[356,1],[381,1],[414,1],[420,1],[443,1],[468,1],[483,1]]},"1477":{"position":[[15,2],[59,1],[65,1],[104,1],[136,1],[173,1],[200,1],[228,1],[259,1],[281,1],[319,1],[345,1],[380,1],[410,1],[435,1],[468,1],[474,1],[495,1],[518,1],[543,1],[580,1],[584,1],[2673,1],[2702,1],[2729,1],[2764,1],[2766,1],[2790,2],[2793,1],[2797,1],[2845,1],[2893,1],[2947,1],[3023,1],[3060,1],[3082,1],[3152,1]]},"1478":{"position":[[13,2],[57,1],[63,1],[102,1],[134,1],[171,1],[198,1],[226,1],[257,1],[279,1],[317,1],[344,1],[387,1],[408,1],[438,1],[463,1],[496,1],[502,1],[523,1],[548,1],[571,1],[596,1],[617,1],[629,1],[649,1],[666,1],[694,1],[700,1],[717,1],[724,1],[730,1],[736,1],[759,1],[777,1],[826,1],[832,1],[858,1],[883,1],[912,1],[943,1],[959,1],[965,1],[997,1],[1003,1],[1019,1],[1025,1],[1029,1],[2824,1],[2851,1],[2883,1],[2913,1],[2937,1],[2953,1],[2985,1],[3015,1],[3039,1],[3043,1],[3097,1],[3139,3],[3149,1],[3168,2],[3190,2],[3269,1],[3306,1],[3328,1],[3386,1]]},"1479":{"position":[[30,2],[74,1],[80,1],[119,1],[151,1],[188,1],[215,1],[243,1],[274,1],[296,1],[334,1],[364,1],[389,1],[422,1],[428,1],[449,1],[474,1],[480,1],[503,1],[528,1],[557,1],[571,1],[575,1]]},"1480":{"position":[[19,2],[63,1],[69,1],[108,1],[140,1],[177,1],[204,1],[232,1],[263,1],[285,1],[323,1],[350,1],[356,1],[386,1],[417,1],[442,1],[475,1],[481,1],[502,1],[532,1],[559,1],[604,1],[627,1],[653,1],[678,1],[701,1],[707,1],[735,1],[763,1],[802,1],[820,1],[826,1],[847,1],[884,1],[890,1],[920,1],[926,1],[959,1],[978,1],[984,1],[988,1]]},"1481":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[360,1],[366,1],[396,1],[402,1],[428,1],[452,1],[458,1],[488,1],[541,1],[566,1],[599,1],[605,1],[647,1],[670,1],[695,1],[724,1],[755,1],[779,1],[807,1],[813,1],[838,1],[844,1],[884,1],[908,1],[914,1],[957,1],[999,1],[1033,1],[1066,1],[1072,1],[1100,1],[1120,1],[1126,1],[1163,1],[1217,1],[1259,1],[1311,1],[1374,1],[1405,1],[1411,1],[1475,1],[1517,1],[1521,1]]},"1482":{"position":[[16,2],[60,1],[66,1],[105,1],[137,1],[174,1],[201,1],[229,1],[260,1],[282,1],[320,1],[350,1],[375,1],[408,1],[414,1],[437,1],[462,1],[488,1],[492,1],[1914,1],[1958,1],[2000,1],[2051,1],[2075,1],[2077,1],[2117,1],[2155,1],[2202,1],[2226,1],[2228,1],[2261,1],[2292,1],[2332,1],[2356,1],[2358,1],[2383,1],[2415,1],[2417,1],[2529,2],[2532,1],[2551,1],[2582,1],[2584,1],[2648,2],[2651,1],[2689,1],[2715,3],[2998,3],[3002,1]]},"1483":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[368,1],[372,1]]},"1484":{"position":[[21,2],[65,1],[71,1],[110,1],[142,1],[179,1],[206,1],[234,1],[265,1],[287,1],[325,1],[355,1],[380,1],[413,1],[419,1],[442,1],[467,1],[497,1],[501,1]]},"1485":{"position":[[22,2],[66,1],[72,1],[111,1],[143,1],[180,1],[207,1],[235,1],[266,1],[288,1],[326,1],[351,1],[381,1],[409,1],[415,1],[439,1],[456,1],[492,1],[515,1],[559,1],[578,1],[606,1],[626,1],[646,1],[650,1],[1821,4],[2145,4],[2286,1],[4189,3],[4279,4],[4284,2],[4294,1],[4306,2],[4780,1],[4881,1],[4911,1],[4913,1],[4941,2],[4944,1],[4946,1],[5024,1],[5048,1],[5050,1],[5074,2],[5082,1],[5084,1],[5109,2],[5112,1]]},"1486":{"position":[[17,2],[61,1],[67,1],[106,1],[138,1],[175,1],[202,1],[230,1],[261,1],[283,1],[321,1],[351,1],[366,1],[378,1],[408,1],[433,1],[466,1],[472,1],[497,1],[512,1],[518,1],[541,1],[566,1],[589,1],[595,1],[637,1],[643,1],[665,1],[672,1],[676,1],[3150,1],[3152,1],[3159,1],[3179,1],[3207,1],[3231,1],[3233,1],[3249,1],[3267,1],[3290,1],[3312,1],[3328,1],[3348,1],[3369,1],[3406,1],[3422,1],[3442,1],[3463,1],[3500,1],[3516,1],[3536,1],[3557,1],[3594,1],[3835,1],[3837,1],[3970,2],[3973,1],[4026,1],[4028,1],[4161,2],[4164,1],[4229,2],[4435,1],[4702,2],[4787,1],[4997,1],[5075,1],[5593,1],[5687,1],[5838,1],[5932,1]]},"1487":{"position":[[14,2],[58,1],[64,1],[103,1],[135,1],[172,1],[199,1],[227,1],[258,1],[280,1],[318,1],[348,1],[378,1],[403,1],[436,1],[442,1],[477,1],[500,1],[525,1],[554,1],[568,1],[589,1],[614,1],[618,1],[3062,1],[3112,1],[3130,1],[3132,1],[3213,1],[3215,1],[3217,1],[3253,1],[3312,1],[3382,2],[3394,1],[3396,1],[3398,1],[3496,2],[3518,1],[3520,1],[3575,2],[3578,1]]}},"keywords":{}}],["0",{"_index":971,"title":{"717":{"position":[[6,1]]}},"content":{"69":{"position":[[321,3]]},"405":{"position":[[682,2]]},"408":{"position":[[860,3]]},"457":{"position":[[321,3]]},"554":{"position":[[448,2],[454,1]]},"557":{"position":[[550,2],[556,1]]},"559":{"position":[[621,2],[627,1],[694,2],[801,2]]},"595":{"position":[[911,2]]},"627":{"position":[[91,1]]},"628":{"position":[[233,3],[282,3]]},"629":{"position":[[202,3]]},"632":{"position":[[38,2]]},"634":{"position":[[201,1]]},"639":{"position":[[51,2],[462,4]]},"643":{"position":[[260,3]]},"648":{"position":[[411,1],[521,3],[867,2],[879,1],[907,1],[1025,1]]},"651":{"position":[[182,1],[195,1],[208,1]]},"662":{"position":[[816,3]]},"665":{"position":[[269,2]]},"673":{"position":[[492,6],[565,4]]},"712":{"position":[[2686,2]]},"784":{"position":[[682,2]]},"787":{"position":[[860,3]]},"867":{"position":[[1094,2],[1290,2],[2269,2]]},"1026":{"position":[[1254,2]]},"1057":{"position":[[373,1],[406,1],[433,1]]},"1071":{"position":[[995,3]]},"1136":{"position":[[6121,1]]},"1138":{"position":[[9783,1]]},"1140":{"position":[[8709,1]]},"1142":{"position":[[4153,1]]},"1144":{"position":[[481,1]]},"1146":{"position":[[4093,1]]},"1148":{"position":[[7684,1]]},"1150":{"position":[[716,1]]},"1152":{"position":[[414,1]]},"1154":{"position":[[569,1]]},"1155":{"position":[[4189,1]]},"1156":{"position":[[3767,1]]},"1157":{"position":[[352,1]]},"1158":{"position":[[346,1]]},"1159":{"position":[[346,1]]},"1161":{"position":[[1341,1]]},"1163":{"position":[[727,1]]},"1165":{"position":[[556,1]]},"1167":{"position":[[9713,1]]},"1169":{"position":[[2821,1]]},"1171":{"position":[[1062,1]]},"1172":{"position":[[2447,1]]},"1173":{"position":[[1134,1]]},"1174":{"position":[[562,1]]},"1175":{"position":[[558,1]]},"1176":{"position":[[727,1]]},"1177":{"position":[[648,1]]},"1178":{"position":[[965,1]]},"1179":{"position":[[762,1]]},"1180":{"position":[[1033,1]]},"1181":{"position":[[1553,1]]},"1182":{"position":[[596,1]]},"1183":{"position":[[551,1]]},"1185":{"position":[[396,1]]},"1186":{"position":[[5357,1]]},"1187":{"position":[[5370,1]]},"1188":{"position":[[10096,1]]},"1190":{"position":[[1727,1]]},"1191":{"position":[[3957,1]]},"1192":{"position":[[4132,1]]},"1193":{"position":[[4184,1]]},"1194":{"position":[[3824,1]]},"1195":{"position":[[3802,1]]},"1196":{"position":[[3612,1]]},"1197":{"position":[[4595,1]]},"1198":{"position":[[4605,1]]},"1199":{"position":[[4633,1]]},"1200":{"position":[[4500,1]]},"1201":{"position":[[3760,1]]},"1202":{"position":[[504,1],[4902,1],[9299,1]]},"1203":{"position":[[3994,1]]},"1204":{"position":[[3838,1],[4740,1],[5670,1],[6572,1],[7558,1],[8512,1],[9459,1],[10389,1]]},"1205":{"position":[[5167,1]]},"1206":{"position":[[3866,1]]},"1207":{"position":[[3795,1]]},"1209":{"position":[[5143,1]]},"1211":{"position":[[467,1]]},"1213":{"position":[[238,1]]},"1215":{"position":[[322,1]]},"1217":{"position":[[8454,1]]},"1219":{"position":[[3709,1]]},"1221":{"position":[[441,1]]},"1222":{"position":[[3580,1]]},"1223":{"position":[[3590,1]]},"1224":{"position":[[3023,1]]},"1226":{"position":[[8922,1]]},"1228":{"position":[[10535,1]]},"1233":{"position":[[77,4]]},"1235":{"position":[[6403,1]]},"1237":{"position":[[9092,1]]},"1455":{"position":[[4639,4],[4773,4]]},"1478":{"position":[[3227,2],[3501,1],[3633,1],[3642,1],[3754,1],[3764,1]]},"1482":{"position":[[2839,1],[2849,1],[2928,1],[2938,1],[3171,1],[3181,1],[3260,1],[3270,1],[3341,1],[3351,1]]},"1486":{"position":[[3855,2],[4046,2],[4785,1]]}},"keywords":{}}],["0!r",{"_index":2836,"title":{},"content":{"595":{"position":[[1679,5]]}},"keywords":{}}],["0!s}?".format("heterological"",{"_index":2837,"title":{},"content":{"595":{"position":[[1685,46]]}},"keywords":{}}],["0.0",{"_index":536,"title":{},"content":{"17":{"position":[[1433,5]]},"644":{"position":[[382,4],[398,3],[515,3]]},"1478":{"position":[[3476,3],[3523,3],[3552,3]]}},"keywords":{}}],["0.07",{"_index":5424,"title":{},"content":{"1058":{"position":[[354,4]]}},"keywords":{}}],["0.08",{"_index":5419,"title":{},"content":{"1058":{"position":[[320,4]]}},"keywords":{}}],["0.1",{"_index":206,"title":{},"content":{"9":{"position":[[739,3]]},"1422":{"position":[[4249,4]]}},"keywords":{}}],["0.1.2",{"_index":7897,"title":{},"content":{"1422":{"position":[[2863,5]]}},"keywords":{}}],["0.1.2/data.dat",{"_index":7893,"title":{},"content":{"1422":{"position":[[2816,14]]}},"keywords":{}}],["0.1.tar.gz.badextens",{"_index":7912,"title":{},"content":{"1422":{"position":[[4098,25]]}},"keywords":{}}],["0.10.0"",{"_index":8058,"title":{},"content":{"1439":{"position":[[6209,13],[6453,13]]}},"keywords":{}}],["0.10.0.jar"",{"_index":8062,"title":{},"content":{"1439":{"position":[[6509,17]]}},"keywords":{}}],["0.17",{"_index":5414,"title":{},"content":{"1058":{"position":[[280,4]]}},"keywords":{}}],["0.2",{"_index":8469,"title":{},"content":{"1477":{"position":[[3206,5]]}},"keywords":{}}],["0.2.3",{"_index":7895,"title":{},"content":{"1422":{"position":[[2843,5]]}},"keywords":{}}],["0.25",{"_index":3175,"title":{},"content":{"644":{"position":[[472,4]]}},"keywords":{}}],["0.27",{"_index":5409,"title":{},"content":{"1058":{"position":[[243,4],[670,6]]}},"keywords":{}}],["0.4.7",{"_index":8283,"title":{},"content":{"1461":{"position":[[3923,5]]}},"keywords":{}}],["0.435",{"_index":5387,"title":{},"content":{"1057":{"position":[[413,5],[419,5]]}},"keywords":{}}],["0.5",{"_index":6006,"title":{},"content":{"1181":{"position":[[580,4]]}},"keywords":{}}],["0.725",{"_index":5385,"title":{},"content":{"1057":{"position":[[389,5],[395,5]]}},"keywords":{}}],["0.726",{"_index":5381,"title":{},"content":{"1057":{"position":[[353,5]]}},"keywords":{}}],["01",{"_index":6102,"title":{},"content":{"1232":{"position":[[70,3]]}},"keywords":{}}],["02",{"_index":6109,"title":{},"content":{"1232":{"position":[[501,3]]}},"keywords":{}}],["03",{"_index":6112,"title":{},"content":{"1232":{"position":[[921,3]]}},"keywords":{}}],["04",{"_index":6115,"title":{},"content":{"1232":{"position":[[1023,3]]}},"keywords":{}}],["05",{"_index":6120,"title":{},"content":{"1232":{"position":[[1296,3]]}},"keywords":{}}],["06",{"_index":460,"title":{},"content":{"15":{"position":[[448,2],[474,2]]},"1232":{"position":[[1963,3]]}},"keywords":{}}],["07",{"_index":6133,"title":{},"content":{"1232":{"position":[[2233,3]]}},"keywords":{}}],["08",{"_index":461,"title":{},"content":{"15":{"position":[[451,2],[477,2]]},"1232":{"position":[[2867,3]]}},"keywords":{}}],["0:len(l",{"_index":2582,"title":{},"content":{"566":{"position":[[470,11]]},"567":{"position":[[370,10]]}},"keywords":{}}],["0b",{"_index":3206,"title":{},"content":{"648":{"position":[[525,3],[529,3]]}},"keywords":{}}],["0e890477",{"_index":527,"title":{},"content":{"17":{"position":[[1363,8]]}},"keywords":{}}],["0x",{"_index":3207,"title":{},"content":{"648":{"position":[[533,3],[537,3]]}},"keywords":{}}],["0x0000000005370df8",{"_index":6134,"title":{},"content":{"1232":{"position":[[2237,18]]}},"keywords":{}}],["0x00000000054c58a3",{"_index":6121,"title":{},"content":{"1232":{"position":[[1300,18]]}},"keywords":{}}],["0x00000000054c7ae3",{"_index":6131,"title":{},"content":{"1232":{"position":[[1967,18]]}},"keywords":{}}],["0x00000000054f7288",{"_index":6142,"title":{},"content":{"1232":{"position":[[2871,18]]}},"keywords":{}}],["0x00000000059dbb2c",{"_index":6113,"title":{},"content":{"1232":{"position":[[925,18]]}},"keywords":{}}],["0x0000000005b1ec26",{"_index":6103,"title":{},"content":{"1232":{"position":[[74,18]]}},"keywords":{}}],["0x0000000005b23998",{"_index":6110,"title":{},"content":{"1232":{"position":[[505,18]]}},"keywords":{}}],["0x0000000005c3c677",{"_index":6116,"title":{},"content":{"1232":{"position":[[1027,18]]}},"keywords":{}}],["0x10ffff",{"_index":3092,"title":{},"content":{"634":{"position":[[209,9]]}},"keywords":{}}],["0x1f63f",{"_index":3275,"title":{},"content":{"656":{"position":[[416,7]]}},"keywords":{}}],["0x20",{"_index":2638,"title":{},"content":{"577":{"position":[[210,6]]}},"keywords":{}}],["0})".format("zero"",{"_index":2832,"title":{},"content":{"595":{"position":[[1590,35]]}},"keywords":{}}],["1",{"_index":973,"title":{"719":{"position":[[6,1]]}},"content":{"69":{"position":[[410,1]]},"328":{"position":[[510,2]]},"405":{"position":[[2252,1]]},"408":{"position":[[957,1]]},"441":{"position":[[254,1]]},"442":{"position":[[209,6],[238,2],[294,6],[323,2],[375,3],[407,2]]},"457":{"position":[[410,1]]},"469":{"position":[[391,2]]},"553":{"position":[[221,2]]},"554":{"position":[[339,2],[388,1]]},"555":{"position":[[261,2],[316,3]]},"556":{"position":[[237,2]]},"557":{"position":[[448,2],[497,1]]},"558":{"position":[[303,2],[359,2]]},"559":{"position":[[531,2],[587,1],[652,2],[759,2]]},"560":{"position":[[778,3],[872,2]]},"561":{"position":[[264,2],[301,3]]},"563":{"position":[[240,3]]},"564":{"position":[[190,3]]},"565":{"position":[[358,3]]},"566":{"position":[[752,1]]},"567":{"position":[[558,2]]},"568":{"position":[[342,3],[383,3]]},"569":{"position":[[255,3],[285,3],[312,3],[414,3]]},"591":{"position":[[915,1]]},"594":{"position":[[467,2],[513,1],[613,1]]},"595":{"position":[[914,2]]},"596":{"position":[[391,1]]},"611":{"position":[[407,1],[460,1]]},"612":{"position":[[436,1]]},"614":{"position":[[440,2],[519,2]]},"616":{"position":[[1124,2],[1301,2]]},"628":{"position":[[157,3],[177,2],[207,2]]},"629":{"position":[[156,3],[176,2]]},"636":{"position":[[527,3],[540,2],[554,3],[567,2],[596,3],[639,3],[686,2],[722,3],[781,2],[821,2],[847,2]]},"639":{"position":[[486,3],[576,2],[582,4]]},"641":{"position":[[144,2],[167,1]]},"643":{"position":[[264,2],[284,3],[321,3]]},"648":{"position":[[426,1],[891,1],[922,1],[936,1]]},"651":{"position":[[222,1],[259,1]]},"652":{"position":[[296,3]]},"653":{"position":[[209,3]]},"654":{"position":[[338,2],[344,2]]},"655":{"position":[[230,2],[236,2],[249,1]]},"662":{"position":[[45,2],[329,2],[820,2]]},"664":{"position":[[122,3]]},"665":{"position":[[266,2],[462,2]]},"666":{"position":[[503,2],[509,2],[522,3],[526,2],[552,2],[558,2],[598,2],[601,2]]},"668":{"position":[[260,3]]},"670":{"position":[[253,3]]},"673":{"position":[[499,5],[586,3]]},"712":{"position":[[2714,1]]},"784":{"position":[[2252,1]]},"787":{"position":[[957,1]]},"820":{"position":[[254,1]]},"821":{"position":[[209,6],[238,2],[294,6],[323,2],[375,3],[407,2]]},"840":{"position":[[805,1]]},"850":{"position":[[635,1]]},"890":{"position":[[413,1],[430,2],[910,2],[1189,1],[1464,1],[2014,2],[3247,1]]},"892":{"position":[[1376,2]]},"1048":{"position":[[1283,2]]},"1050":{"position":[[1660,2]]},"1057":{"position":[[935,1]]},"1133":{"position":[[105,2],[524,2]]},"1136":{"position":[[6145,1],[6475,2]]},"1138":{"position":[[9807,1],[10137,2]]},"1140":{"position":[[8733,1],[9063,2]]},"1142":{"position":[[264,1],[4177,1],[4507,2]]},"1144":{"position":[[505,1],[835,2]]},"1146":{"position":[[4117,1],[4447,2]]},"1148":{"position":[[7708,1],[8038,2]]},"1150":{"position":[[740,1],[1070,2]]},"1152":{"position":[[438,1],[768,2]]},"1154":{"position":[[593,1],[923,2]]},"1155":{"position":[[4213,1],[4543,2]]},"1156":{"position":[[3791,1],[4121,2]]},"1157":{"position":[[376,1],[706,2]]},"1158":{"position":[[370,1],[700,2]]},"1159":{"position":[[370,1],[700,2]]},"1161":{"position":[[1365,1],[1695,2]]},"1163":{"position":[[751,1],[1081,2]]},"1165":{"position":[[580,1],[910,2]]},"1167":{"position":[[9737,1],[10067,2]]},"1169":{"position":[[2845,1],[3175,2]]},"1171":{"position":[[1086,1],[1416,2]]},"1172":{"position":[[2471,1],[2801,2]]},"1173":{"position":[[1158,1],[1488,2]]},"1174":{"position":[[586,1],[916,2]]},"1175":{"position":[[582,1],[912,2]]},"1176":{"position":[[751,1],[1081,2]]},"1177":{"position":[[672,1],[1002,2]]},"1178":{"position":[[989,1],[1319,2]]},"1179":{"position":[[786,1],[1116,2]]},"1180":{"position":[[1057,1],[1387,2]]},"1181":{"position":[[1577,1],[1907,2]]},"1182":{"position":[[620,1],[950,2]]},"1183":{"position":[[575,1],[905,2]]},"1185":{"position":[[420,1],[750,2]]},"1186":{"position":[[5381,1],[5711,2]]},"1187":{"position":[[5394,1],[5724,2]]},"1188":{"position":[[10120,1],[10450,2]]},"1190":{"position":[[1751,1],[2081,2]]},"1191":{"position":[[3981,1],[4311,2]]},"1192":{"position":[[4156,1],[4486,2]]},"1193":{"position":[[4208,1],[4538,2]]},"1194":{"position":[[3848,1],[4178,2]]},"1195":{"position":[[3826,1],[4156,2]]},"1196":{"position":[[3636,1],[3966,2]]},"1197":{"position":[[4619,1],[4949,2]]},"1198":{"position":[[4629,1],[4959,2]]},"1199":{"position":[[4657,1],[4987,2]]},"1200":{"position":[[4524,1],[4854,2]]},"1201":{"position":[[3784,1],[4114,2]]},"1202":{"position":[[528,1],[858,2],[4926,1],[5256,2],[9323,1],[9653,2]]},"1203":{"position":[[4018,1],[4348,2]]},"1204":{"position":[[3862,1],[4192,2],[4764,1],[5094,2],[5694,1],[6024,2],[6596,1],[6926,2],[7582,1],[7912,2],[8536,1],[8866,2],[9307,2],[9483,1],[9813,2],[10413,1],[10743,2]]},"1205":{"position":[[5191,1],[5521,2]]},"1206":{"position":[[3890,1],[4220,2]]},"1207":{"position":[[3819,1],[4149,2]]},"1209":{"position":[[5167,1],[5497,2]]},"1211":{"position":[[491,1],[821,2]]},"1213":{"position":[[262,1],[592,2]]},"1215":{"position":[[346,1],[676,2]]},"1217":{"position":[[8478,1],[8808,2]]},"1219":{"position":[[3733,1],[4063,2]]},"1221":{"position":[[465,1],[795,2]]},"1222":{"position":[[3604,1],[3934,2]]},"1223":{"position":[[3614,1],[3944,2]]},"1224":{"position":[[3047,1],[3377,2]]},"1226":{"position":[[8946,1],[9276,2]]},"1228":{"position":[[10559,1],[10889,2]]},"1235":{"position":[[1019,2],[1050,2],[1160,3],[1247,2],[6427,1],[6757,2]]},"1237":{"position":[[9116,1],[9446,2]]},"1243":{"position":[[67,2]]},"1252":{"position":[[169,1],[204,2],[268,2]]},"1277":{"position":[[218,3],[267,2]]},"1278":{"position":[[338,2]]},"1279":{"position":[[262,2]]},"1280":{"position":[[237,2]]},"1281":{"position":[[194,2]]},"1308":{"position":[[218,3],[267,2]]},"1309":{"position":[[338,2]]},"1310":{"position":[[262,2]]},"1311":{"position":[[237,2]]},"1312":{"position":[[194,2]]},"1336":{"position":[[218,3],[267,2]]},"1337":{"position":[[338,2]]},"1338":{"position":[[262,2]]},"1339":{"position":[[237,2]]},"1340":{"position":[[194,2]]},"1404":{"position":[[1471,1]]},"1455":{"position":[[4651,4],[4785,4]]},"1478":{"position":[[3267,1],[3560,2],[3652,1],[3745,1],[3802,1]]},"1482":{"position":[[2830,1],[2919,1],[3162,1],[3251,1],[3332,1]]},"1486":{"position":[[2275,1],[2477,2],[2519,1],[4248,2],[4721,2],[5685,1]]}},"keywords":{}}],["1)"",{"_index":5852,"title":{},"content":{"1133":{"position":[[1039,8]]},"1277":{"position":[[352,9]]},"1308":{"position":[[352,9]]},"1336":{"position":[[352,9]]},"1382":{"position":[[5260,8]]},"1388":{"position":[[5954,8]]},"1442":{"position":[[2250,8]]}},"keywords":{}}],["1).for",{"_index":4231,"title":{},"content":{"890":{"position":[[3257,6]]}},"keywords":{}}],["1,2,3",{"_index":4252,"title":{},"content":{"890":{"position":[[5645,8]]},"898":{"position":[[1282,9],[1337,8]]}},"keywords":{}}],["1.0",{"_index":3171,"title":{},"content":{"644":{"position":[[414,3],[432,3],[452,3],[534,3]]},"1487":{"position":[[3478,3],[3829,3]]}},"keywords":{}}],["1.0"",{"_index":5036,"title":{},"content":{"1007":{"position":[[337,10]]}},"keywords":{}}],["1.0.2",{"_index":8290,"title":{},"content":{"1461":{"position":[[4046,5]]}},"keywords":{}}],["1.0.dll",{"_index":7139,"title":{},"content":{"1381":{"position":[[2787,9]]}},"keywords":{}}],["1.028",{"_index":5382,"title":{},"content":{"1057":{"position":[[359,5],[684,6]]}},"keywords":{}}],["1.163",{"_index":5376,"title":{},"content":{"1057":{"position":[[319,5]]}},"keywords":{}}],["1.32.0",{"_index":8440,"title":{},"content":{"1471":{"position":[[5683,6]]},"1472":{"position":[[6569,6]]},"1473":{"position":[[5854,6]]}},"keywords":{}}],["1.5gb",{"_index":6193,"title":{},"content":{"1248":{"position":[[195,6]]}},"keywords":{}}],["1.5m",{"_index":5393,"title":{},"content":{"1057":{"position":[[669,4]]}},"keywords":{}}],["1.get",{"_index":3130,"title":{},"content":{"638":{"position":[[764,5]]},"902":{"position":[[752,5]]}},"keywords":{}}],["10",{"_index":3051,"title":{},"content":{"627":{"position":[[98,3],[105,2],[119,2]]},"648":{"position":[[964,3]]},"651":{"position":[[251,4]]},"662":{"position":[[861,4],[905,3],[955,4]]},"867":{"position":[[1195,3]]},"1228":{"position":[[1912,5]]},"1252":{"position":[[280,3]]}},"keywords":{}}],["10,000",{"_index":4590,"title":{},"content":{"937":{"position":[[967,8]]}},"keywords":{}}],["10.0",{"_index":3054,"title":{},"content":{"627":{"position":[[135,4]]}},"keywords":{}}],["10.10",{"_index":8286,"title":{},"content":{"1461":{"position":[[3942,5],[4065,5]]}},"keywords":{}}],["10.455",{"_index":5372,"title":{},"content":{"1057":{"position":[[273,6],[280,6],[488,8]]}},"keywords":{}}],["100",{"_index":1827,"title":{},"content":{"335":{"position":[[753,4]]},"446":{"position":[[559,3]]},"475":{"position":[[515,4]]},"689":{"position":[[305,4]]},"825":{"position":[[559,3]]},"1478":{"position":[[3484,6]]},"1486":{"position":[[2480,5],[2547,4]]}},"keywords":{}}],["100.0",{"_index":3177,"title":{},"content":{"644":{"position":[[493,5]]}},"keywords":{}}],["1004",{"_index":5425,"title":{},"content":{"1058":{"position":[[359,4]]}},"keywords":{}}],["101",{"_index":2756,"title":{},"content":{"590":{"position":[[577,4]]}},"keywords":{}}],["1049",{"_index":3273,"title":{},"content":{"656":{"position":[[388,4]]}},"keywords":{}}],["105fe3389fc7e436",{"_index":6017,"title":{},"content":{"1194":{"position":[[204,19]]}},"keywords":{}}],["108",{"_index":2757,"title":{},"content":{"590":{"position":[[582,4],[587,4]]}},"keywords":{}}],["111",{"_index":2758,"title":{},"content":{"590":{"position":[[592,4]]}},"keywords":{}}],["11328",{"_index":5378,"title":{},"content":{"1057":{"position":[[331,5]]}},"keywords":{}}],["117736",{"_index":5415,"title":{},"content":{"1058":{"position":[[285,6]]}},"keywords":{}}],["12",{"_index":2780,"title":{},"content":{"591":{"position":[[908,3]]},"1079":{"position":[[683,2]]}},"keywords":{}}],["12.34",{"_index":3055,"title":{},"content":{"627":{"position":[[145,6],[155,5]]}},"keywords":{}}],["123",{"_index":4017,"title":{},"content":{"867":{"position":[[473,4]]}},"keywords":{}}],["12345",{"_index":3223,"title":{},"content":{"648":{"position":[[1063,5]]},"1009":{"position":[[690,7],[862,7]]}},"keywords":{}}],["12345.6789",{"_index":3222,"title":{},"content":{"648":{"position":[[1047,11]]}},"keywords":{}}],["123456789",{"_index":4021,"title":{},"content":{"867":{"position":[[644,9],[1606,9],[2337,9]]}},"keywords":{}}],["13:5",{"_index":5412,"title":{},"content":{"1058":{"position":[[269,4]]}},"keywords":{}}],["13:60",{"_index":5413,"title":{},"content":{"1058":{"position":[[274,5]]}},"keywords":{}}],["14",{"_index":3218,"title":{},"content":{"648":{"position":[[990,2]]}},"keywords":{}}],["14.0.1.jar",{"_index":3690,"title":{},"content":{"708":{"position":[[127,12]]}},"keywords":{}}],["14.1",{"_index":5889,"title":{},"content":{"1136":{"position":[[3089,4]]},"1138":{"position":[[6751,4]]},"1140":{"position":[[5677,4]]},"1142":{"position":[[1121,4]]},"1146":{"position":[[1061,4]]},"1148":{"position":[[4101,4]]},"1155":{"position":[[1157,4]]},"1156":{"position":[[735,4]]},"1167":{"position":[[6681,4]]},"1169":{"position":[[520,4]]},"1186":{"position":[[2325,4]]},"1187":{"position":[[2338,4]]},"1188":{"position":[[7064,4]]},"1191":{"position":[[925,4]]},"1192":{"position":[[1100,4]]},"1193":{"position":[[1152,4]]},"1194":{"position":[[792,4]]},"1195":{"position":[[770,4]]},"1196":{"position":[[580,4]]},"1197":{"position":[[1563,4]]},"1198":{"position":[[1573,4]]},"1199":{"position":[[1601,4]]},"1200":{"position":[[1468,4]]},"1201":{"position":[[728,4]]},"1202":{"position":[[1870,4],[6267,4]]},"1203":{"position":[[962,4]]},"1204":{"position":[[806,4]]},"1205":{"position":[[2135,4]]},"1206":{"position":[[606,4]]},"1207":{"position":[[763,4]]},"1209":{"position":[[2111,4]]},"1217":{"position":[[5422,4]]},"1219":{"position":[[1408,4]]},"1222":{"position":[[532,4]]},"1223":{"position":[[542,4]]},"1224":{"position":[[722,4]]},"1226":{"position":[[5890,4]]},"1228":{"position":[[7503,4]]},"1235":{"position":[[3371,4]]},"1237":{"position":[[6060,4]]}},"keywords":{}}],["14.3.0",{"_index":5887,"title":{},"content":{"1136":{"position":[[3073,6]]},"1138":{"position":[[6735,6]]},"1140":{"position":[[5661,6]]},"1142":{"position":[[1105,6]]},"1146":{"position":[[1045,6]]},"1148":{"position":[[4085,6]]},"1155":{"position":[[1141,6]]},"1156":{"position":[[719,6]]},"1167":{"position":[[6665,6]]},"1169":{"position":[[504,6]]},"1186":{"position":[[2309,6]]},"1187":{"position":[[2322,6]]},"1188":{"position":[[7048,6]]},"1191":{"position":[[909,6]]},"1192":{"position":[[1084,6]]},"1193":{"position":[[1136,6]]},"1194":{"position":[[776,6]]},"1195":{"position":[[754,6]]},"1196":{"position":[[564,6]]},"1197":{"position":[[1547,6]]},"1198":{"position":[[1557,6]]},"1199":{"position":[[1585,6]]},"1200":{"position":[[1452,6]]},"1201":{"position":[[712,6]]},"1202":{"position":[[1854,6],[6251,6]]},"1203":{"position":[[946,6]]},"1204":{"position":[[790,6]]},"1205":{"position":[[2119,6]]},"1206":{"position":[[590,6]]},"1207":{"position":[[747,6]]},"1209":{"position":[[2095,6]]},"1217":{"position":[[5406,6]]},"1219":{"position":[[1392,6]]},"1222":{"position":[[516,6]]},"1223":{"position":[[526,6]]},"1224":{"position":[[706,6]]},"1226":{"position":[[5874,6]]},"1228":{"position":[[7487,6]]},"1235":{"position":[[3355,6]]},"1237":{"position":[[6044,6]]}},"keywords":{}}],["143",{"_index":5435,"title":{},"content":{"1058":{"position":[[872,3]]}},"keywords":{}}],["14b47b",{"_index":5890,"title":{},"content":{"1136":{"position":[[3094,7]]},"1138":{"position":[[6756,7]]},"1140":{"position":[[5682,7]]},"1142":{"position":[[1126,7]]},"1146":{"position":[[1066,7]]},"1148":{"position":[[4106,7]]},"1155":{"position":[[1162,7]]},"1156":{"position":[[740,7]]},"1167":{"position":[[6686,7]]},"1169":{"position":[[525,7]]},"1186":{"position":[[2330,7]]},"1187":{"position":[[2343,7]]},"1188":{"position":[[7069,7]]},"1191":{"position":[[930,7]]},"1192":{"position":[[1105,7]]},"1193":{"position":[[1157,7]]},"1194":{"position":[[797,7]]},"1195":{"position":[[775,7]]},"1196":{"position":[[585,7]]},"1197":{"position":[[1568,7]]},"1198":{"position":[[1578,7]]},"1199":{"position":[[1606,7]]},"1200":{"position":[[1473,7]]},"1201":{"position":[[733,7]]},"1202":{"position":[[1875,7],[6272,7]]},"1203":{"position":[[967,7]]},"1204":{"position":[[811,7]]},"1205":{"position":[[2140,7]]},"1206":{"position":[[611,7]]},"1207":{"position":[[768,7]]},"1209":{"position":[[2116,7]]},"1217":{"position":[[5427,7]]},"1219":{"position":[[1413,7]]},"1222":{"position":[[537,7]]},"1223":{"position":[[547,7]]},"1224":{"position":[[727,7]]},"1226":{"position":[[5895,7]]},"1228":{"position":[[7508,7]]},"1235":{"position":[[3376,7]]},"1237":{"position":[[6065,7]]}},"keywords":{}}],["14c18",{"_index":5888,"title":{},"content":{"1136":{"position":[[3080,5]]},"1138":{"position":[[6742,5]]},"1140":{"position":[[5668,5]]},"1142":{"position":[[1112,5]]},"1146":{"position":[[1052,5]]},"1148":{"position":[[4092,5]]},"1155":{"position":[[1148,5]]},"1156":{"position":[[726,5]]},"1167":{"position":[[6672,5]]},"1169":{"position":[[511,5]]},"1186":{"position":[[2316,5]]},"1187":{"position":[[2329,5]]},"1188":{"position":[[7055,5]]},"1191":{"position":[[916,5]]},"1192":{"position":[[1091,5]]},"1193":{"position":[[1143,5]]},"1194":{"position":[[783,5]]},"1195":{"position":[[761,5]]},"1196":{"position":[[571,5]]},"1197":{"position":[[1554,5]]},"1198":{"position":[[1564,5]]},"1199":{"position":[[1592,5]]},"1200":{"position":[[1459,5]]},"1201":{"position":[[719,5]]},"1202":{"position":[[1861,5],[6258,5]]},"1203":{"position":[[953,5]]},"1204":{"position":[[797,5]]},"1205":{"position":[[2126,5]]},"1206":{"position":[[597,5]]},"1207":{"position":[[754,5]]},"1209":{"position":[[2102,5]]},"1217":{"position":[[5413,5]]},"1219":{"position":[[1399,5]]},"1222":{"position":[[523,5]]},"1223":{"position":[[533,5]]},"1224":{"position":[[713,5]]},"1226":{"position":[[5881,5]]},"1228":{"position":[[7494,5]]},"1235":{"position":[[3362,5]]},"1237":{"position":[[6051,5]]}},"keywords":{}}],["15",{"_index":4981,"title":{},"content":{"997":{"position":[[167,2]]}},"keywords":{}}],["15.0"",{"_index":5509,"title":{},"content":{"1072":{"position":[[834,11],[1364,11]]}},"keywords":{}}],["15.28",{"_index":6477,"title":{},"content":{"1351":{"position":[[3082,7]]}},"keywords":{}}],["1514985",{"_index":5383,"title":{},"content":{"1057":{"position":[[365,7]]}},"keywords":{}}],["16",{"_index":3216,"title":{},"content":{"648":{"position":[[951,2],[971,2],[1003,3]]}},"keywords":{}}],["1600fde728c885cc9506cb102deb1b494bd7c130",{"_index":8397,"title":{},"content":{"1469":{"position":[[3703,43]]}},"keywords":{}}],["18",{"_index":4595,"title":{},"content":{"937":{"position":[[1927,2]]}},"keywords":{}}],["1887",{"_index":5386,"title":{},"content":{"1057":{"position":[[401,4]]}},"keywords":{}}],["19990",{"_index":2761,"title":{},"content":{"590":{"position":[[605,6]]}},"keywords":{}}],["1}.pop('four",{"_index":2525,"title":{},"content":{"557":{"position":[[615,14]]}},"keywords":{}}],["2",{"_index":246,"title":{"721":{"position":[[6,1]]},"879":{"position":[[5,1]]}},"content":{"9":{"position":[[1525,1]]},"405":{"position":[[2306,1]]},"441":{"position":[[283,2],[311,6],[338,3]]},"442":{"position":[[266,2],[379,5]]},"553":{"position":[[241,2]]},"554":{"position":[[359,2]]},"555":{"position":[[281,2],[338,3]]},"556":{"position":[[257,2]]},"557":{"position":[[468,2],[522,2]]},"558":{"position":[[323,2],[395,2]]},"559":{"position":[[551,2],[672,2],[779,2]]},"560":{"position":[[472,3],[798,4],[890,2]]},"561":{"position":[[284,2],[305,2]]},"563":{"position":[[244,2]]},"564":{"position":[[194,2]]},"565":{"position":[[318,2],[362,2]]},"566":{"position":[[786,2],[827,2]]},"568":{"position":[[346,2],[376,1]]},"569":{"position":[[259,2],[265,2],[292,2],[418,2],[424,2]]},"591":{"position":[[657,1],[808,1],[856,1]]},"594":{"position":[[555,2],[603,2]]},"595":{"position":[[917,2],[1554,2]]},"596":{"position":[[434,2],[483,2]]},"610":{"position":[[502,2],[747,2],[899,2]]},"611":{"position":[[450,2]]},"612":{"position":[[503,2]]},"636":{"position":[[580,3],[600,2],[619,3],[643,2],[696,2],[709,4],[726,2],[749,4],[800,4],[839,2]]},"639":{"position":[[508,3],[605,3]]},"643":{"position":[[318,2],[325,2]]},"651":{"position":[[238,1]]},"652":{"position":[[300,2]]},"653":{"position":[[206,2],[213,2],[226,3]]},"662":{"position":[[823,2],[909,3],[948,3]]},"663":{"position":[[215,1]]},"665":{"position":[[263,2]]},"670":{"position":[[257,2]]},"673":{"position":[[505,5],[606,3]]},"784":{"position":[[2306,1]]},"820":{"position":[[283,2],[311,6],[338,3]]},"821":{"position":[[266,2],[379,5]]},"840":{"position":[[819,1]]},"850":{"position":[[649,1]]},"879":{"position":[[5,1],[29,1]]},"890":{"position":[[1498,1],[1617,1]]},"901":{"position":[[178,1]]},"919":{"position":[[1985,1]]},"926":{"position":[[16,1]]},"937":{"position":[[235,1],[1841,1]]},"1048":{"position":[[964,2]]},"1057":{"position":[[947,1]]},"1126":{"position":[[209,1]]},"1136":{"position":[[6171,1]]},"1138":{"position":[[9833,1]]},"1140":{"position":[[8759,1]]},"1142":{"position":[[4203,1]]},"1144":{"position":[[531,1]]},"1146":{"position":[[4143,1]]},"1148":{"position":[[7734,1]]},"1150":{"position":[[766,1]]},"1152":{"position":[[464,1]]},"1154":{"position":[[619,1]]},"1155":{"position":[[4239,1]]},"1156":{"position":[[3817,1]]},"1157":{"position":[[402,1]]},"1158":{"position":[[396,1]]},"1159":{"position":[[396,1]]},"1161":{"position":[[1391,1]]},"1163":{"position":[[777,1]]},"1165":{"position":[[606,1]]},"1167":{"position":[[9763,1]]},"1169":{"position":[[2871,1]]},"1171":{"position":[[1112,1]]},"1172":{"position":[[2497,1]]},"1173":{"position":[[1184,1]]},"1174":{"position":[[612,1]]},"1175":{"position":[[608,1]]},"1176":{"position":[[777,1]]},"1177":{"position":[[698,1]]},"1178":{"position":[[1015,1]]},"1179":{"position":[[812,1]]},"1180":{"position":[[1083,1]]},"1181":{"position":[[585,2],[1603,1]]},"1182":{"position":[[646,1]]},"1183":{"position":[[601,1]]},"1185":{"position":[[446,1]]},"1186":{"position":[[5407,1]]},"1187":{"position":[[5420,1]]},"1188":{"position":[[10146,1]]},"1190":{"position":[[1777,1]]},"1191":{"position":[[4007,1]]},"1192":{"position":[[4182,1]]},"1193":{"position":[[4234,1]]},"1194":{"position":[[3874,1]]},"1195":{"position":[[3852,1]]},"1196":{"position":[[3662,1]]},"1197":{"position":[[4645,1]]},"1198":{"position":[[4655,1]]},"1199":{"position":[[4683,1]]},"1200":{"position":[[4550,1]]},"1201":{"position":[[3810,1]]},"1202":{"position":[[554,1],[4952,1],[9349,1]]},"1203":{"position":[[4044,1]]},"1204":{"position":[[3888,1],[4790,1],[5720,1],[6622,1],[7608,1],[8562,1],[9509,1],[10439,1]]},"1205":{"position":[[5217,1]]},"1206":{"position":[[3916,1]]},"1207":{"position":[[3845,1]]},"1209":{"position":[[5193,1]]},"1211":{"position":[[517,1]]},"1213":{"position":[[288,1]]},"1215":{"position":[[372,1]]},"1217":{"position":[[8504,1]]},"1219":{"position":[[3759,1]]},"1221":{"position":[[491,1]]},"1222":{"position":[[3630,1]]},"1223":{"position":[[3640,1]]},"1224":{"position":[[3073,1]]},"1226":{"position":[[8972,1]]},"1228":{"position":[[10585,1]]},"1235":{"position":[[1074,4],[1271,6],[6453,1]]},"1237":{"position":[[9142,1]]},"1243":{"position":[[35,1],[96,2]]},"1486":{"position":[[5930,1]]}},"keywords":{}}],["2.0",{"_index":6903,"title":{},"content":{"1363":{"position":[[7046,3]]}},"keywords":{}}],["2.22.0",{"_index":8275,"title":{},"content":{"1461":{"position":[[3552,6],[3669,6]]}},"keywords":{}}],["2.3",{"_index":7208,"title":{},"content":{"1384":{"position":[[18545,5]]},"1472":{"position":[[5861,5]]}},"keywords":{}}],["2.514",{"_index":5377,"title":{},"content":{"1057":{"position":[[325,5],[608,6]]}},"keywords":{}}],["2/2",{"_index":8486,"title":{},"content":{"1478":{"position":[[3491,3]]}},"keywords":{}}],["20",{"_index":6210,"title":{},"content":{"1252":{"position":[[233,4]]}},"keywords":{}}],["2000000000",{"_index":3225,"title":{},"content":{"648":{"position":[[1081,10]]}},"keywords":{}}],["2013",{"_index":646,"title":{},"content":{"22":{"position":[[625,6]]}},"keywords":{}}],["2015",{"_index":649,"title":{},"content":{"22":{"position":[[675,6]]},"1471":{"position":[[3423,7]]},"1472":{"position":[[4007,7]]},"1473":{"position":[[3457,7]]}},"keywords":{}}],["2018",{"_index":8425,"title":{},"content":{"1471":{"position":[[3365,5]]},"1472":{"position":[[3949,5]]},"1473":{"position":[[3399,5]]}},"keywords":{}}],["2023",{"_index":788,"title":{},"content":{"24":{"position":[[263,5]]},"832":{"position":[[880,5]]}},"keywords":{}}],["2024",{"_index":459,"title":{},"content":{"15":{"position":[[443,4],[469,4]]}},"keywords":{}}],["2053296",{"_index":5388,"title":{},"content":{"1057":{"position":[[425,7]]}},"keywords":{}}],["20gb",{"_index":372,"title":{},"content":{"11":{"position":[[443,5]]}},"keywords":{}}],["22",{"_index":3219,"title":{},"content":{"648":{"position":[[1010,2]]}},"keywords":{}}],["22".isalnum",{"_index":2850,"title":{},"content":{"597":{"position":[[255,18]]}},"keywords":{}}],["22".isalpha",{"_index":2854,"title":{},"content":{"598":{"position":[[233,18]]}},"keywords":{}}],["22".isdigit",{"_index":2859,"title":{},"content":{"599":{"position":[[231,18]]}},"keywords":{}}],["22".islow",{"_index":2864,"title":{},"content":{"600":{"position":[[272,18]]}},"keywords":{}}],["22".istitl",{"_index":2877,"title":{},"content":{"602":{"position":[[283,18]]}},"keywords":{}}],["22".isupp",{"_index":2884,"title":{},"content":{"603":{"position":[[268,18]]}},"keywords":{}}],["23",{"_index":201,"title":{},"content":{"9":{"position":[[668,3]]},"1423":{"position":[[2780,2],[2998,2],[3240,4],[3266,2],[3296,2],[3860,2]]}},"keywords":{}}],["23.0",{"_index":7933,"title":{},"content":{"1423":{"position":[[3102,4]]}},"keywords":{}}],["23.0.jar",{"_index":7932,"title":{},"content":{"1423":{"position":[[2880,10]]}},"keywords":{}}],["24",{"_index":5539,"title":{},"content":{"1079":{"position":[[613,2],[647,2]]}},"keywords":{}}],["25",{"_index":367,"title":{},"content":{"11":{"position":[[361,3],[414,3]]}},"keywords":{}}],["255",{"_index":3162,"title":{},"content":{"642":{"position":[[273,3]]}},"keywords":{}}],["256",{"_index":7889,"title":{},"content":{"1422":{"position":[[2442,3]]},"1423":{"position":[[2111,3]]}},"keywords":{}}],["28:9",{"_index":5422,"title":{},"content":{"1058":{"position":[[343,4]]}},"keywords":{}}],["29:20",{"_index":5423,"title":{},"content":{"1058":{"position":[[348,5]]}},"keywords":{}}],["2gbmemori",{"_index":6191,"title":{},"content":{"1247":{"position":[[511,9]]}},"keywords":{}}],["2x",{"_index":780,"title":{},"content":{"23":{"position":[[3447,2]]}},"keywords":{}}],["2}.key",{"_index":3338,"title":{},"content":{"665":{"position":[[482,10]]}},"keywords":{}}],["3",{"_index":534,"title":{"723":{"position":[[6,1]]}},"content":{"17":{"position":[[1416,2]]},"92":{"position":[[899,1]]},"224":{"position":[[899,1]]},"441":{"position":[[342,2],[370,5]]},"560":{"position":[[908,2]]},"563":{"position":[[247,2]]},"564":{"position":[[197,2]]},"565":{"position":[[321,3],[365,2]]},"566":{"position":[[792,1]]},"568":{"position":[[349,2],[363,1]]},"569":{"position":[[262,2],[289,2],[316,2],[421,2]]},"595":{"position":[[1448,1]]},"607":{"position":[[100,1]]},"613":{"position":[[102,1]]},"636":{"position":[[584,3],[603,2],[734,2],[768,2]]},"638":{"position":[[956,2]]},"643":{"position":[[328,2],[338,3]]},"648":{"position":[[1040,1]]},"652":{"position":[[303,2]]},"653":{"position":[[216,2]]},"662":{"position":[[826,2],[869,3],[916,3],[944,2]]},"665":{"position":[[260,2]]},"666":{"position":[[529,2],[595,2]]},"670":{"position":[[260,2]]},"673":{"position":[[511,5]]},"820":{"position":[[342,2],[370,5]]},"900":{"position":[[95,1],[268,1],[925,1]]},"937":{"position":[[1833,1],[1862,1]]},"944":{"position":[[15,1]]},"980":{"position":[[302,1]]},"1040":{"position":[[1001,1]]},"1136":{"position":[[6199,1]]},"1138":{"position":[[9861,1]]},"1140":{"position":[[8787,1]]},"1142":{"position":[[4231,1]]},"1144":{"position":[[559,1]]},"1146":{"position":[[4171,1]]},"1148":{"position":[[7762,1]]},"1150":{"position":[[794,1]]},"1152":{"position":[[492,1]]},"1154":{"position":[[647,1]]},"1155":{"position":[[4267,1]]},"1156":{"position":[[3845,1]]},"1157":{"position":[[430,1]]},"1158":{"position":[[424,1]]},"1159":{"position":[[424,1]]},"1161":{"position":[[1419,1]]},"1163":{"position":[[805,1]]},"1165":{"position":[[634,1]]},"1167":{"position":[[9791,1]]},"1169":{"position":[[2899,1]]},"1171":{"position":[[1140,1]]},"1172":{"position":[[2525,1]]},"1173":{"position":[[1212,1]]},"1174":{"position":[[640,1]]},"1175":{"position":[[636,1]]},"1176":{"position":[[805,1]]},"1177":{"position":[[726,1]]},"1178":{"position":[[1043,1]]},"1179":{"position":[[840,1]]},"1180":{"position":[[1111,1]]},"1181":{"position":[[1631,1]]},"1182":{"position":[[674,1]]},"1183":{"position":[[629,1]]},"1185":{"position":[[474,1]]},"1186":{"position":[[5435,1]]},"1187":{"position":[[5448,1]]},"1188":{"position":[[10174,1]]},"1190":{"position":[[1805,1]]},"1191":{"position":[[4035,1]]},"1192":{"position":[[4210,1]]},"1193":{"position":[[4262,1]]},"1194":{"position":[[3902,1]]},"1195":{"position":[[3880,1]]},"1196":{"position":[[3690,1]]},"1197":{"position":[[4673,1]]},"1198":{"position":[[4683,1]]},"1199":{"position":[[4711,1]]},"1200":{"position":[[4578,1]]},"1201":{"position":[[3838,1]]},"1202":{"position":[[582,1],[4980,1],[9377,1]]},"1203":{"position":[[4072,1]]},"1204":{"position":[[3916,1],[4818,1],[5748,1],[6650,1],[7636,1],[8590,1],[9537,1],[10467,1]]},"1205":{"position":[[5245,1]]},"1206":{"position":[[3944,1]]},"1207":{"position":[[3873,1]]},"1209":{"position":[[5221,1]]},"1211":{"position":[[545,1]]},"1213":{"position":[[316,1]]},"1215":{"position":[[400,1]]},"1217":{"position":[[8532,1]]},"1219":{"position":[[3787,1]]},"1221":{"position":[[519,1]]},"1222":{"position":[[3658,1]]},"1223":{"position":[[3668,1]]},"1224":{"position":[[3101,1]]},"1226":{"position":[[9000,1]]},"1228":{"position":[[10613,1]]},"1235":{"position":[[6481,1]]},"1237":{"position":[[9170,1]]}},"keywords":{}}],["3,myenum[1",{"_index":4396,"title":{},"content":{"902":{"position":[[943,11]]}},"keywords":{}}],["30028",{"_index":2762,"title":{},"content":{"590":{"position":[[612,6]]}},"keywords":{}}],["311da310416d2feb3de227081d7c3f48742d7075",{"_index":8390,"title":{},"content":{"1469":{"position":[[3073,43],[3408,43]]}},"keywords":{}}],["3188",{"_index":5433,"title":{},"content":{"1058":{"position":[[837,4]]}},"keywords":{}}],["32",{"_index":2760,"title":{},"content":{"590":{"position":[[601,3]]}},"keywords":{}}],["330",{"_index":7976,"title":{},"content":{"1427":{"position":[[7884,5]]},"1439":{"position":[[8708,5]]}},"keywords":{}}],["330:jsr",{"_index":7975,"title":{},"content":{"1427":{"position":[[7876,7]]},"1439":{"position":[[8700,7]]}},"keywords":{}}],["33984",{"_index":5379,"title":{},"content":{"1057":{"position":[[337,5]]}},"keywords":{}}],["3477203",{"_index":5374,"title":{},"content":{"1057":{"position":[[295,7]]}},"keywords":{}}],["37fe8ba804fb3898c3c8f0cbac319cc9daa58400e5f0226a380ac94fb2c3ca14",{"_index":7934,"title":{},"content":{"1423":{"position":[[3133,67]]}},"keywords":{}}],["4",{"_index":2551,"title":{"725":{"position":[[6,1]]}},"content":{"560":{"position":[[833,3],[926,2]]},"594":{"position":[[561,1]]},"596":{"position":[[440,1]]},"611":{"position":[[352,1]]},"612":{"position":[[380,1]]},"636":{"position":[[588,4],[606,2]]},"643":{"position":[[331,3],[342,2]]},"653":{"position":[[219,3],[230,2]]},"654":{"position":[[341,2]]},"655":{"position":[[233,2]]},"662":{"position":[[829,2],[873,2],[966,2]]},"665":{"position":[[256,3]]},"666":{"position":[[506,2],[532,2],[555,2],[592,2]]},"673":{"position":[[517,5]]},"1136":{"position":[[6231,1]]},"1138":{"position":[[9893,1]]},"1140":{"position":[[8819,1]]},"1142":{"position":[[4263,1]]},"1144":{"position":[[591,1]]},"1146":{"position":[[4203,1]]},"1148":{"position":[[7794,1]]},"1150":{"position":[[826,1]]},"1152":{"position":[[524,1]]},"1154":{"position":[[679,1]]},"1155":{"position":[[4299,1]]},"1156":{"position":[[3877,1]]},"1157":{"position":[[462,1]]},"1158":{"position":[[456,1]]},"1159":{"position":[[456,1]]},"1161":{"position":[[1451,1]]},"1163":{"position":[[837,1]]},"1165":{"position":[[666,1]]},"1167":{"position":[[9823,1]]},"1169":{"position":[[2931,1]]},"1171":{"position":[[1172,1]]},"1172":{"position":[[2557,1]]},"1173":{"position":[[1244,1]]},"1174":{"position":[[672,1]]},"1175":{"position":[[668,1]]},"1176":{"position":[[837,1]]},"1177":{"position":[[758,1]]},"1178":{"position":[[1075,1]]},"1179":{"position":[[872,1]]},"1180":{"position":[[1143,1]]},"1181":{"position":[[1663,1]]},"1182":{"position":[[706,1]]},"1183":{"position":[[661,1]]},"1185":{"position":[[506,1]]},"1186":{"position":[[5467,1]]},"1187":{"position":[[5480,1]]},"1188":{"position":[[10206,1]]},"1190":{"position":[[1837,1]]},"1191":{"position":[[4067,1]]},"1192":{"position":[[4242,1]]},"1193":{"position":[[4294,1]]},"1194":{"position":[[3934,1]]},"1195":{"position":[[3912,1]]},"1196":{"position":[[3722,1]]},"1197":{"position":[[4705,1]]},"1198":{"position":[[4715,1]]},"1199":{"position":[[4743,1]]},"1200":{"position":[[4610,1]]},"1201":{"position":[[3870,1]]},"1202":{"position":[[614,1],[5012,1],[9409,1]]},"1203":{"position":[[4104,1]]},"1204":{"position":[[3948,1],[4850,1],[5780,1],[6682,1],[7668,1],[8622,1],[9569,1],[10499,1]]},"1205":{"position":[[5277,1]]},"1206":{"position":[[3976,1]]},"1207":{"position":[[3905,1]]},"1209":{"position":[[5253,1]]},"1211":{"position":[[577,1]]},"1213":{"position":[[348,1]]},"1215":{"position":[[432,1]]},"1217":{"position":[[8564,1]]},"1219":{"position":[[3819,1]]},"1221":{"position":[[551,1]]},"1222":{"position":[[3690,1]]},"1223":{"position":[[3700,1]]},"1224":{"position":[[3133,1]]},"1226":{"position":[[9032,1]]},"1228":{"position":[[10645,1]]},"1235":{"position":[[6513,1]]},"1237":{"position":[[9202,1]]},"1360":{"position":[[6568,1],[6626,1]]},"1477":{"position":[[3189,2]]}},"keywords":{}}],["4.0.30",{"_index":6627,"title":{},"content":{"1358":{"position":[[3011,6]]}},"keywords":{}}],["4.0.30.aar",{"_index":6626,"title":{},"content":{"1358":{"position":[[2970,12]]}},"keywords":{}}],["4.03",{"_index":5404,"title":{},"content":{"1058":{"position":[[194,4]]}},"keywords":{}}],["4.11.jar",{"_index":3700,"title":{},"content":{"708":{"position":[[962,10]]}},"keywords":{}}],["4.7",{"_index":7988,"title":{},"content":{"1429":{"position":[[3725,4],[3758,3]]},"1440":{"position":[[3718,4],[3751,3]]}},"keywords":{}}],["4.8.2",{"_index":8237,"title":{},"content":{"1458":{"position":[[2563,5]]}},"keywords":{}}],["4.8.2.jar",{"_index":8236,"title":{},"content":{"1458":{"position":[[2531,11]]}},"keywords":{}}],["4.x",{"_index":8128,"title":{},"content":{"1448":{"position":[[2757,3]]},"1449":{"position":[[2691,3]]}},"keywords":{}}],["40",{"_index":370,"title":{},"content":{"11":{"position":[[390,3]]},"1404":{"position":[[1454,2]]}},"keywords":{}}],["42",{"_index":1701,"title":{},"content":{"306":{"position":[[368,3]]},"377":{"position":[[811,3]]},"712":{"position":[[1225,3],[1781,3]]},"756":{"position":[[811,3]]},"1052":{"position":[[693,3]]},"1054":{"position":[[555,3]]}},"keywords":{}}],["42%/145",{"_index":225,"title":{},"content":{"9":{"position":[[1140,8]]}},"keywords":{}}],["420:9",{"_index":5407,"title":{},"content":{"1058":{"position":[[231,5],[648,5]]}},"keywords":{}}],["423:1",{"_index":5408,"title":{},"content":{"1058":{"position":[[237,5],[654,5]]}},"keywords":{}}],["42}"",{"_index":7527,"title":{},"content":{"1393":{"position":[[10589,10]]}},"keywords":{}}],["44",{"_index":2759,"title":{},"content":{"590":{"position":[[597,3]]}},"keywords":{}}],["455884",{"_index":5410,"title":{},"content":{"1058":{"position":[[248,6]]}},"keywords":{}}],["456k",{"_index":5432,"title":{},"content":{"1058":{"position":[[712,4]]}},"keywords":{}}],["46:5",{"_index":5417,"title":{},"content":{"1058":{"position":[[309,4]]}},"keywords":{}}],["46:55",{"_index":5418,"title":{},"content":{"1058":{"position":[[314,5]]}},"keywords":{}}],["46b26edb4b80a905",{"_index":1292,"title":{},"content":{"106":{"position":[[99,17]]},"109":{"position":[[99,17]]},"110":{"position":[[102,17]]},"111":{"position":[[115,17]]},"113":{"position":[[125,17]]},"518":{"position":[[99,17]]},"521":{"position":[[99,17]]},"522":{"position":[[102,17]]},"523":{"position":[[115,17]]},"525":{"position":[[125,17]]}},"keywords":{}}],["4829",{"_index":529,"title":{},"content":{"17":{"position":[[1377,4]]}},"keywords":{}}],["4gib",{"_index":7016,"title":{},"content":{"1370":{"position":[[2315,5]]}},"keywords":{}}],["4x",{"_index":247,"title":{},"content":{"9":{"position":[[1527,2]]}},"keywords":{}}],["5",{"_index":2555,"title":{},"content":{"560":{"position":[[944,2]]},"566":{"position":[[833,1]]},"594":{"position":[[606,2]]},"596":{"position":[[486,2]]},"611":{"position":[[401,2],[453,2]]},"612":{"position":[[430,2],[506,2]]},"653":{"position":[[167,2],[182,2]]},"654":{"position":[[347,2]]},"655":{"position":[[239,2]]},"662":{"position":[[832,2],[876,2],[920,2]]},"666":{"position":[[512,2],[535,2],[561,2],[589,2]]},"716":{"position":[[67,1]]}},"keywords":{}}],["5%/10",{"_index":217,"title":{},"content":{"9":{"position":[[1017,6]]}},"keywords":{}}],["500",{"_index":6083,"title":{},"content":{"1228":{"position":[[1918,7]]}},"keywords":{}}],["5b7f",{"_index":528,"title":{},"content":{"17":{"position":[[1372,4]]}},"keywords":{}}],["5m",{"_index":6082,"title":{},"content":{"1228":{"position":[[1908,3]]}},"keywords":{}}],["6",{"_index":3245,"title":{},"content":{"653":{"position":[[171,3],[185,2],[233,2]]},"662":{"position":[[835,2],[879,2],[963,2]]}},"keywords":{}}],["6.2",{"_index":7990,"title":{},"content":{"1429":{"position":[[3834,3]]},"1440":{"position":[[3827,3]]}},"keywords":{}}],["64",{"_index":3209,"title":{},"content":{"648":{"position":[[672,2]]},"1126":{"position":[[397,2],[530,2]]},"1247":{"position":[[347,2]]}},"keywords":{}}],["64gb",{"_index":375,"title":{},"content":{"11":{"position":[[472,4]]}},"keywords":{}}],["65",{"_index":3271,"title":{},"content":{"656":{"position":[[363,2]]}},"keywords":{}}],["65042",{"_index":5420,"title":{},"content":{"1058":{"position":[[325,5]]}},"keywords":{}}],["662e572320a0",{"_index":531,"title":{},"content":{"17":{"position":[[1387,12]]}},"keywords":{}}],["67890",{"_index":5043,"title":{},"content":{"1009":{"position":[[698,6],[870,7]]}},"keywords":{}}],["7",{"_index":2779,"title":{},"content":{"591":{"position":[[905,2]]},"653":{"position":[[162,3],[178,3]]},"662":{"position":[[838,2],[882,2],[923,2]]},"1079":{"position":[[618,1]]}},"keywords":{}}],["7187761",{"_index":5405,"title":{},"content":{"1058":{"position":[[199,7]]}},"keywords":{}}],["72",{"_index":2755,"title":{},"content":{"590":{"position":[[572,4]]}},"keywords":{}}],["7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596",{"_index":7913,"title":{},"content":{"1422":{"position":[[4136,67]]},"1423":{"position":[[2903,67],[3929,67]]}},"keywords":{}}],["8",{"_index":3217,"title":{},"content":{"648":{"position":[[984,2]]},"653":{"position":[[236,2]]},"662":{"position":[[841,2],[885,2],[960,2]]},"1412":{"position":[[4272,2]]}},"keywords":{}}],["8"?>",{"_index":6582,"title":{},"content":{"1356":{"position":[[2222,12]]}},"keywords":{}}],["8.io",{"_index":5508,"title":{},"content":{"1072":{"position":[[828,5],[1358,5]]}},"keywords":{}}],["80",{"_index":3160,"title":{},"content":{"642":{"position":[[258,2]]},"663":{"position":[[803,3],[1010,4],[1065,2],[1142,4]]},"901":{"position":[[758,3],[964,4],[1019,2],[1096,4]]}},"keywords":{}}],["9",{"_index":3254,"title":{},"content":{"654":{"position":[[350,3],[357,1]]},"655":{"position":[[242,3]]},"662":{"position":[[844,2],[888,2],[926,2]]},"666":{"position":[[515,3],[538,2],[564,3],[585,3]]}},"keywords":{}}],["9.2.10.v20150310",{"_index":8387,"title":{},"content":{"1469":{"position":[[2963,16],[3275,16],[3601,16]]}},"keywords":{}}],["9.2.10.v20150310.jar",{"_index":8386,"title":{},"content":{"1469":{"position":[[2855,22]]}},"keywords":{}}],["9.x",{"_index":6917,"title":{},"content":{"1363":{"position":[[7611,3]]}},"keywords":{}}],["9000".istitl",{"_index":2879,"title":{},"content":{"602":{"position":[[320,20]]}},"keywords":{}}],["9000".isupp",{"_index":2883,"title":{},"content":{"603":{"position":[[227,20]]}},"keywords":{}}],["9712799",{"_index":5373,"title":{},"content":{"1057":{"position":[[287,7]]}},"keywords":{}}],["97feca9d014155a80ec55fe27e6bb17f9d2f8574:94",{"_index":4327,"title":{},"content":{"896":{"position":[[956,43]]}},"keywords":{}}],["9ffe",{"_index":530,"title":{},"content":{"17":{"position":[[1382,4]]}},"keywords":{}}],["_",{"_index":925,"title":{},"content":{"63":{"position":[[79,1]]},"69":{"position":[[94,1]]},"89":{"position":[[57,2]]},"92":{"position":[[127,2]]},"94":{"position":[[558,2],[723,2],[751,2],[791,2],[818,2],[842,2],[1031,2],[1102,2]]},"97":{"position":[[68,2],[99,1]]},"125":{"position":[[52,2]]},"126":{"position":[[48,2]]},"127":{"position":[[28,2]]},"129":{"position":[[81,2]]},"131":{"position":[[173,2],[186,2]]},"132":{"position":[[85,2]]},"133":{"position":[[71,2]]},"134":{"position":[[75,2]]},"135":{"position":[[27,2]]},"136":{"position":[[29,2]]},"137":{"position":[[50,2]]},"138":{"position":[[82,2]]},"139":{"position":[[45,2]]},"140":{"position":[[52,2]]},"141":{"position":[[41,2]]},"143":{"position":[[29,2]]},"144":{"position":[[76,2]]},"145":{"position":[[62,2]]},"146":{"position":[[92,2]]},"147":{"position":[[31,2],[45,2]]},"148":{"position":[[80,2]]},"149":{"position":[[86,2]]},"150":{"position":[[44,2]]},"166":{"position":[[68,1]]},"221":{"position":[[57,2]]},"224":{"position":[[127,2]]},"226":{"position":[[558,2],[723,2],[751,2],[791,2],[818,2],[842,2],[1031,2],[1102,2]]},"229":{"position":[[68,2],[99,1]]},"243":{"position":[[92,1]]},"248":{"position":[[52,2]]},"249":{"position":[[48,2]]},"250":{"position":[[28,2]]},"252":{"position":[[81,2]]},"254":{"position":[[173,2],[186,2]]},"255":{"position":[[85,2]]},"256":{"position":[[71,2]]},"257":{"position":[[75,2]]},"258":{"position":[[27,2]]},"259":{"position":[[29,2]]},"260":{"position":[[50,2]]},"261":{"position":[[82,2]]},"262":{"position":[[45,2]]},"263":{"position":[[52,2]]},"264":{"position":[[41,2]]},"266":{"position":[[29,2]]},"267":{"position":[[76,2]]},"268":{"position":[[62,2]]},"269":{"position":[[92,2]]},"270":{"position":[[31,2],[45,2]]},"271":{"position":[[80,2]]},"272":{"position":[[86,2]]},"273":{"position":[[44,2]]},"294":{"position":[[368,2]]},"295":{"position":[[69,1]]},"297":{"position":[[365,2]]},"298":{"position":[[436,2]]},"301":{"position":[[329,1]]},"302":{"position":[[69,1]]},"309":{"position":[[323,2]]},"335":{"position":[[532,1]]},"368":{"position":[[347,2],[387,1]]},"386":{"position":[[260,1]]},"405":{"position":[[510,2],[530,2],[547,2],[565,2],[581,2],[639,2],[665,2],[781,2],[857,1]]},"409":{"position":[[56,2]]},"420":{"position":[[49,2]]},"428":{"position":[[40,1]]},"429":{"position":[[50,2]]},"437":{"position":[[103,2]]},"446":{"position":[[65,2],[82,1]]},"447":{"position":[[101,2]]},"448":{"position":[[65,2],[110,2],[149,1]]},"449":{"position":[[58,2]]},"457":{"position":[[94,1]]},"475":{"position":[[294,1]]},"492":{"position":[[79,1]]},"548":{"position":[[68,1]]},"554":{"position":[[28,2]]},"557":{"position":[[28,2]]},"559":{"position":[[35,2]]},"560":{"position":[[24,2]]},"568":{"position":[[26,2]]},"606":{"position":[[31,2]]},"610":{"position":[[53,2]]},"615":{"position":[[31,2]]},"619":{"position":[[30,2]]},"630":{"position":[[13,2]]},"642":{"position":[[28,2]]},"644":{"position":[[40,2]]},"645":{"position":[[37,2]]},"648":{"position":[[38,2],[56,2]]},"652":{"position":[[30,2]]},"654":{"position":[[21,2]]},"655":{"position":[[21,2]]},"662":{"position":[[30,2]]},"666":{"position":[[27,2]]},"670":{"position":[[31,2]]},"747":{"position":[[347,2],[387,1]]},"765":{"position":[[260,1]]},"784":{"position":[[510,2],[530,2],[547,2],[565,2],[581,2],[639,2],[665,2],[781,2],[857,1]]},"788":{"position":[[56,2]]},"799":{"position":[[49,2]]},"807":{"position":[[40,1]]},"808":{"position":[[50,2]]},"816":{"position":[[103,2]]},"825":{"position":[[65,2],[82,1]]},"826":{"position":[[101,2]]},"827":{"position":[[65,2],[110,2],[149,1]]},"828":{"position":[[58,2]]},"1348":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[314,2],[352,2],[377,2],[416,2],[448,2],[488,2],[514,2],[568,2],[605,2],[649,2],[691,2],[735,2],[773,2],[803,2],[839,2],[881,2],[917,2],[942,2],[970,2],[1009,2],[1030,2],[1057,2],[1092,2],[1124,2],[1164,2],[1193,2],[1231,2],[1261,2],[1284,2],[1340,2],[1363,2],[1389,2],[1414,2],[1440,2],[1471,2],[1525,2],[1558,2],[1611,2],[1654,2],[1721,2],[1783,2],[1842,2],[1902,2],[1965,2],[2015,2],[2055,2],[2090,2],[2119,2],[2143,2],[2176,2],[2211,2],[2242,2],[2282,2],[2322,2],[2348,2],[2380,2],[2409,2],[2433,2],[2479,2],[2516,2],[2537,2],[2564,2],[2588,2],[2622,1]]},"1349":{"position":[[80,2],[119,2],[151,2],[188,2],[215,2],[243,2],[274,2],[296,2],[325,2],[363,2],[398,2],[450,2],[504,2],[570,2],[600,2],[625,2],[664,2],[685,2],[708,2],[733,2],[755,2],[789,2],[825,1]]},"1350":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[317,2],[355,2],[380,2],[405,2],[429,2],[468,2],[500,2],[540,2],[566,2],[599,2],[633,2],[674,2],[694,2],[733,2],[778,2],[827,2],[872,2],[924,2],[978,2],[1044,2],[1089,2],[1137,2],[1167,2],[1203,2],[1245,2],[1280,2],[1316,2],[1353,2],[1378,2],[1406,2],[1445,2],[1466,2],[1499,2],[1529,2],[1548,2],[1575,2],[1613,2],[1659,2],[1686,2],[1719,2],[1760,2],[1811,2],[1850,2],[1889,2],[1926,2],[1950,2],[1994,2],[2032,2],[2057,2],[2091,2],[2115,2],[2141,2],[2186,2],[2221,2],[2261,2],[2294,2],[2331,2],[2373,2],[2426,2],[2469,2],[2536,2],[2598,2],[2657,2],[2717,2],[2780,2],[2821,2],[2858,2],[2880,2],[2924,2],[2954,2],[2989,2],[3012,2],[3045,2],[3090,2],[3133,2],[3179,2],[3224,2],[3269,2],[3306,2],[3339,2],[3373,2],[3408,2],[3439,2],[3471,2],[3508,2],[3548,2],[3592,2],[3627,2],[3652,2],[3679,2],[3708,2],[3733,2],[3765,2],[3796,1]]},"1351":{"position":[[78,2],[117,2],[149,2],[186,2],[213,2],[241,2],[272,2],[294,2],[323,2],[361,2],[396,2],[435,2],[461,2],[491,2],[516,2],[555,2],[578,2],[603,2],[621,2],[644,2],[673,1]]},"1352":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[317,2],[355,2],[380,2],[405,2],[429,2],[468,2],[500,2],[540,2],[566,2],[599,2],[633,2],[674,2],[694,2],[733,2],[778,2],[827,2],[872,2],[924,2],[978,2],[1044,2],[1089,2],[1137,2],[1167,2],[1203,2],[1245,2],[1280,2],[1316,2],[1352,2],[1377,2],[1405,2],[1444,2],[1465,2],[1498,2],[1528,2],[1547,2],[1574,2],[1612,2],[1658,2],[1685,2],[1718,2],[1759,2],[1810,2],[1849,2],[1888,2],[1925,2],[1949,2],[1993,2],[2031,2],[2056,2],[2090,2],[2114,2],[2140,2],[2185,2],[2220,2],[2260,2],[2293,2],[2330,2],[2372,2],[2425,2],[2468,2],[2535,2],[2597,2],[2656,2],[2716,2],[2779,2],[2820,2],[2857,2],[2879,2],[2923,2],[2953,2],[2988,2],[3011,2],[3044,2],[3089,2],[3132,2],[3178,2],[3223,2],[3268,2],[3305,2],[3338,2],[3372,2],[3407,2],[3438,2],[3470,2],[3507,2],[3547,2],[3591,2],[3626,2],[3651,2],[3680,2],[3707,2],[3732,2],[3764,2],[3795,1]]},"1353":{"position":[[85,2],[124,2],[156,2],[193,2],[220,2],[248,2],[279,2],[301,2],[330,2],[368,2],[393,2],[417,2],[456,2],[488,2],[528,2],[554,2],[574,2],[614,2],[639,2],[667,2],[706,2],[727,2],[746,2],[773,2],[810,2],[843,2],[866,2],[891,2],[917,2],[952,2],[985,2],[1044,2],[1104,2],[1150,2],[1195,2],[1240,2],[1277,2],[1309,1]]},"1354":{"position":[[86,2],[125,2],[157,2],[194,2],[221,2],[249,2],[280,2],[302,2],[331,2],[369,2],[393,2],[420,2],[451,2],[477,2],[517,2],[547,2],[577,2],[602,2],[641,2],[671,2],[696,2],[751,2],[798,2],[851,2],[884,2],[907,2],[932,2],[968,2],[1015,2],[1055,2],[1079,2],[1117,1]]},"1355":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[318,2],[356,2],[391,2],[429,2],[454,2],[478,2],[517,2],[543,2],[571,2],[625,2],[662,2],[707,2],[751,2],[793,2],[837,2],[875,2],[905,2],[930,2],[969,2],[990,2],[1020,2],[1059,2],[1091,2],[1131,2],[1160,2],[1183,2],[1218,2],[1248,2],[1271,2],[1285,2],[1341,2],[1364,2],[1390,2],[1415,2],[1441,2],[1472,2],[1502,2],[1552,2],[1592,2],[1616,2],[1649,2],[1679,2],[1716,2],[1747,2],[1787,2],[1827,2],[1853,2],[1885,2],[1914,2],[1938,2],[1984,2],[2021,2],[2042,2],[2066,2],[2100,2],[2132,1]]},"1356":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[319,2],[357,2],[387,2],[412,2],[451,2],[472,2],[495,2],[520,2]]},"1357":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[378,2],[416,1]]},"1358":{"position":[[78,2],[117,2],[149,2],[186,2],[213,2],[241,2],[272,2],[294,2],[323,2],[361,2],[396,2],[434,2],[459,2],[483,2],[509,2],[549,2],[574,2],[613,2],[634,2],[663,2],[690,2],[719,2],[742,2],[767,2],[797,2],[837,2],[865,2],[902,1]]},"1359":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[319,2],[357,2],[392,2],[435,2],[476,2],[506,2],[531,2],[570,2],[591,2],[626,2],[649,2],[674,2],[700,2],[725,2],[757,2],[786,2],[824,2],[850,1]]},"1360":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[314,2],[352,2],[387,2],[411,2],[440,2],[466,2],[487,2],[518,2],[539,2],[561,2],[591,2],[619,2],[640,2],[665,2],[690,2],[729,2],[765,2],[798,2],[847,2],[871,2],[897,2],[920,2],[945,2],[979,2],[1010,2],[1040,2],[1070,2],[1091,2],[1130,2],[1155,2],[1212,2],[1250,2],[1265,2],[1292,2],[1316,1]]},"1361":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[357,2],[387,2],[412,2],[451,2],[472,2],[495,2],[525,2],[550,2],[592,1]]},"1362":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[351,2],[374,2],[403,2],[442,2],[513,2],[542,2],[579,2],[630,2],[666,2],[699,2],[729,2],[760,2],[791,2],[816,2],[850,2],[889,2],[923,2],[953,2],[974,2],[1000,2],[1033,2],[1063,2],[1101,2],[1144,2],[1179,2],[1212,2],[1242,2],[1274,2],[1324,2],[1406,2],[1466,2],[1504,2],[1556,2],[1628,2],[1688,2],[1754,2],[1797,2],[1862,2],[1906,2],[1940,2],[1976,2],[1995,2],[2032,2],[2063,2],[2090,2],[2124,2],[2160,2],[2201,2],[2246,2],[2291,2],[2327,2],[2355,2],[2401,2],[2424,2],[2471,2],[2540,2],[2613,2],[2664,2],[2690,2],[2715,2],[2758,2],[2786,2],[2942,2],[2988,2],[3019,2],[3047,2],[3076,2],[3113,2],[3142,2],[3161,2],[3190,2],[3221,2],[3274,2],[3317,2],[3380,2],[3431,2],[3488,2],[3550,2],[3584,2],[3640,2],[3676,2],[3711,2],[3739,2],[3770,2],[3805,2],[3852,2],[3895,2],[3945,2],[3973,2],[4024,2],[4068,2],[4096,2],[4135,2],[4159,2],[4199,2],[4240,2],[4267,2],[4310,2],[4352,2],[4385,2],[4422,2],[4458,2],[4489,2],[4525,2],[4545,2],[4571,2],[4608,2],[4641,2],[4665,2],[4697,1]]},"1363":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[351,2],[374,2],[403,2],[442,2],[482,2],[520,2],[562,2],[607,2],[647,2],[702,2],[734,2],[788,2],[892,2],[939,2],[993,2],[1034,2],[1087,2],[1124,2],[1157,2],[1191,2],[1246,2],[1306,2],[1369,2],[1393,2],[1423,2],[1452,2],[1483,2],[1518,2],[1549,2],[1574,2],[1622,2],[1661,2],[1695,2],[1716,2],[1778,2],[1839,2],[1875,2],[1912,2],[1959,2],[2027,2],[2073,2],[2096,2],[2121,2],[2149,2],[2195,2],[2229,2],[2259,2],[2306,2],[2351,2],[2383,2],[2419,2],[2456,2],[2500,2],[2527,2],[2580,2],[2620,2],[2648,2],[2700,2],[2732,2],[2766,2],[2802,1]]},"1364":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[352,2],[375,2],[404,2],[443,2],[495,2],[566,2],[595,2],[632,2],[683,2],[716,2],[746,2],[777,2],[808,2],[833,2],[867,2],[906,2],[940,2],[970,2],[991,2],[1017,2],[1050,2],[1080,2],[1118,2],[1161,2],[1194,2],[1224,2],[1256,2],[1306,2],[1388,2],[1448,2],[1486,2],[1538,2],[1610,2],[1670,2],[1736,2],[1779,2],[1844,2],[1888,2],[1922,2],[1958,2],[1977,2],[2014,2],[2045,2],[2072,2],[2101,2],[2135,2],[2171,2],[2212,2],[2257,2],[2302,2],[2338,2],[2366,2],[2412,2],[2435,2],[2482,2],[2551,2],[2624,2],[2675,2],[2701,2],[2726,2],[2769,2],[2797,2],[2953,2],[2984,2],[3012,2],[3041,2],[3078,2],[3107,2],[3126,2],[3155,2],[3186,2],[3239,2],[3282,2],[3345,2],[3396,2],[3453,2],[3515,2],[3549,2],[3605,2],[3641,2],[3669,2],[3700,2],[3735,2],[3782,2],[3840,2],[3883,2],[3933,2],[3961,2],[4012,2],[4040,2],[4079,2],[4120,2],[4144,2],[4184,2],[4225,2],[4252,2],[4295,2],[4340,2],[4382,2],[4419,2],[4452,2],[4489,2],[4525,2],[4556,2],[4592,2],[4612,2],[4642,2],[4668,2],[4705,2],[4738,2],[4762,2],[4794,1]]},"1365":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[348,2],[426,2],[464,2],[503,2],[537,2],[551,2],[574,2],[599,2],[629,2],[659,2],[685,2],[715,2],[773,1]]},"1366":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[356,2],[395,2],[442,2],[470,2],[495,2],[524,2],[563,2],[592,2],[613,2],[635,2],[658,2],[683,2],[725,2],[761,2],[803,2],[828,1]]},"1367":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[349,2],[372,2],[401,2],[440,2],[480,2],[518,2],[560,2],[605,2],[660,2],[692,2],[746,2],[850,2],[887,2],[934,2],[988,2],[1029,2],[1082,2],[1109,2],[1141,2],[1175,2],[1206,2],[1243,2],[1276,2],[1310,2],[1365,2],[1425,2],[1462,2],[1525,2],[1576,2],[1600,2],[1633,2],[1663,2],[1694,2],[1725,2],[1760,2],[1791,2],[1822,2],[1847,2],[1881,2],[1920,2],[1954,2],[1984,2],[2005,2],[2048,2],[2074,2],[2107,2],[2169,2],[2199,2],[2242,2],[2277,2],[2309,2],[2342,2],[2372,2],[2404,2],[2454,2],[2536,2],[2596,2],[2634,2],[2686,2],[2758,2],[2818,2],[2884,2],[2927,2],[2992,2],[3036,2],[3086,2],[3122,2],[3167,2],[3186,2],[3223,2],[3254,2],[3281,2],[3315,2],[3351,2],[3392,2],[3437,2],[3482,2],[3518,2],[3565,2],[3633,2],[3679,2],[3701,2],[3724,2],[3771,2],[3840,2],[3913,2],[3964,2],[3990,2],[4015,2],[4058,2],[4086,2],[4242,2],[4273,2],[4294,2],[4323,2],[4360,2],[4389,2],[4408,2],[4437,2],[4468,2],[4521,2],[4564,2],[4627,2],[4678,2],[4735,2],[4797,2],[4831,2],[4887,2],[4923,2],[4951,2],[4982,2],[5017,2],[5064,2],[5109,2],[5152,2],[5202,2],[5230,2],[5281,2],[5313,2],[5349,2],[5380,2],[5404,2],[5448,2],[5476,2],[5515,2],[5559,2],[5607,2],[5631,2],[5654,2],[5694,2],[5735,2],[5788,2],[5808,2],[5851,2],[5893,2],[5926,2],[5963,2],[5999,2],[6030,2],[6066,2],[6097,2],[6146,2],[6180,2],[6218,2],[6238,2],[6278,2],[6314,2],[6366,2],[6392,2],[6429,2],[6462,2],[6486,2],[6518,2],[6552,2],[6588,1]]},"1368":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[368,2],[404,2],[440,2],[470,2],[501,2],[585,2],[622,2],[647,2],[734,2],[766,2],[808,2],[845,2],[878,2],[901,2],[940,2],[973,2],[995,2],[1031,2],[1065,2],[1096,2],[1136,2],[1169,2],[1188,2],[1214,2],[1247,2],[1272,2],[1311,2],[1373,2],[1410,2],[1441,2]]},"1369":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[364,2],[394,2],[419,2],[458,2],[481,2],[506,1]]},"1370":{"position":[[84,2],[123,2],[155,2],[192,2],[219,2],[247,2],[278,2],[300,2],[338,2],[365,2],[388,2],[452,2],[502,2],[525,2],[552,2],[580,1]]},"1371":{"position":[[75,2],[114,2],[146,2],[183,2],[210,2],[238,2],[269,2],[291,2],[329,2],[352,2],[382,1]]},"1372":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[353,2],[376,2],[405,2],[444,2],[484,2],[522,2],[564,2],[609,2],[664,2],[696,2],[750,2],[820,2],[857,2],[904,2],[958,2],[999,2],[1052,2],[1089,2],[1122,2],[1156,2],[1211,2],[1271,2],[1295,2],[1325,2],[1360,2],[1391,2],[1453,2],[1496,2],[1531,2],[1551,2],[1596,2],[1636,2],[1704,2],[1750,2],[1795,2],[1848,2],[1884,2],[1954,2],[1986,2],[2020,1]]},"1373":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[340,2],[367,2],[399,2],[424,2],[448,2],[469,2],[493,2],[510,2],[532,2],[569,2],[599,2],[634,2],[665,2],[690,2],[724,2],[763,2],[797,2],[827,2],[848,2],[876,2],[902,2],[928,2],[961,2],[991,2],[1010,2],[1047,2],[1074,2],[1109,2],[1143,2],[1167,2],[1201,2],[1242,2],[1287,2],[1323,2],[1346,2],[1393,2],[1462,2],[1535,2],[1586,2],[1612,2],[1637,2],[1670,2],[1698,2],[1854,2],[1882,2],[1919,2],[1948,2],[1978,2],[2008,2],[2061,2],[2104,2],[2167,2],[2218,2],[2275,2],[2337,2],[2371,2],[2427,2],[2463,2],[2498,2],[2529,2],[2564,2],[2592,2],[2632,2],[2652,2],[2686,2],[2723,1]]},"1374":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[349,2],[375,2],[396,2],[426,2],[451,2],[490,2],[515,2],[536,2],[559,2],[584,2],[618,2],[644,1]]},"1375":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[356,2],[390,2],[418,1]]},"1376":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[374,1]]},"1377":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[371,2],[413,2],[438,2],[477,2],[510,2],[533,2],[558,2],[584,2],[613,1]]},"1378":{"position":[[76,2],[115,2],[147,2],[184,2],[211,2],[239,2],[270,2],[292,2],[330,2],[360,1]]},"1379":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[358,2]]},"1380":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[357,2],[382,2],[421,2],[444,2],[469,2],[493,2]]},"1381":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[354,2],[384,2],[415,2],[440,2],[479,2],[500,2],[519,2],[562,2],[587,2],[618,2],[639,1]]},"1382":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[343,2],[368,2],[405,2],[438,2],[466,2],[502,2],[529,2],[559,2],[589,2],[620,2],[657,2],[682,2],[738,2],[772,2],[811,2],[845,2],[875,2],[896,2],[924,2],[950,2],[1001,2],[1039,2],[1072,2],[1123,2],[1142,2],[1179,2],[1206,2],[1240,2],[1281,2],[1326,2],[1362,2],[1385,2],[1432,2],[1501,2],[1574,2],[1625,2],[1651,2],[1676,2],[1709,2],[1752,2],[1780,2],[1812,2],[1968,2],[2018,2],[2064,2],[2095,2],[2123,2],[2145,2],[2182,2],[2211,2],[2264,2],[2307,2],[2370,2],[2421,2],[2478,2],[2540,2],[2574,2],[2630,2],[2666,2],[2701,2],[2732,2],[2767,2],[2795,2],[2838,2],[2878,2],[2898,2],[2932,2],[2969,1]]},"1383":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[383,2],[407,2],[436,2],[467,2],[489,2],[519,2],[547,2],[568,2],[593,2],[618,2],[657,2],[693,2],[726,2],[775,2],[798,2],[823,2],[857,2],[888,2],[918,2],[948,2],[969,2],[1008,2],[1033,2],[1090,2],[1128,2],[1150,2],[1174,1]]},"1384":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[344,2],[369,2],[408,2],[445,2],[473,2],[506,2],[536,2],[567,2],[598,2],[623,2],[679,2],[713,2],[752,2],[786,2],[816,2],[837,2],[865,2],[891,2],[924,2],[957,2],[987,2],[1019,2],[1069,2],[1151,2],[1211,2],[1249,2],[1300,2],[1352,2],[1424,2],[1484,2],[1550,2],[1593,2],[1658,2],[1702,2],[1736,2],[1772,2],[1791,2],[1828,2],[1859,2],[1886,2],[1915,2],[1949,2],[1990,2],[2035,2],[2071,2],[2118,2],[2141,2],[2188,2],[2257,2],[2330,2],[2381,2],[2407,2],[2432,2],[2465,2],[2508,2],[2536,2],[2692,2],[2723,2],[2751,2],[2780,2],[2817,2],[2846,2],[2881,2],[2910,2],[2963,2],[3006,2],[3069,2],[3120,2],[3177,2],[3239,2],[3273,2],[3329,2],[3365,2],[3400,2],[3428,2],[3459,2],[3494,2],[3537,2],[3587,2],[3615,2],[3666,2],[3709,2],[3737,2],[3761,2],[3801,2],[3842,2],[3885,2],[3930,2],[3972,2],[4013,2],[4050,2],[4070,2],[4100,2],[4131,2],[4168,2],[4201,2],[4235,2],[4272,1]]},"1385":{"position":[[75,2],[114,2],[146,2],[183,2],[210,2],[238,2],[269,2],[291,2],[329,2],[358,2],[388,2],[419,2],[444,2],[478,2],[517,2],[551,2],[581,2],[602,2],[635,2],[662,2],[696,2],[737,2],[782,2],[818,2],[841,2],[888,2],[957,2],[1030,2],[1081,2],[1107,2],[1132,2],[1169,2],[1198,2],[1251,2],[1294,2],[1357,2],[1408,2],[1465,2],[1527,2],[1561,2],[1617,2],[1653,2],[1684,2],[1719,2],[1747,2],[1787,2],[1821,1]]},"1386":{"position":[[80,2],[119,2],[151,2],[188,2],[215,2],[243,2],[274,2],[296,2],[334,2],[364,2],[389,2],[428,2],[449,2],[472,2],[497,2],[541,1]]},"1387":{"position":[[78,2],[117,2],[149,2],[186,2],[213,2],[241,2],[272,2],[294,2],[332,2],[353,2],[378,2],[406,2],[432,2],[469,2],[496,2],[523,2],[551,2],[580,2],[613,2],[643,2],[674,2],[705,2],[730,2],[786,2],[820,2],[859,2],[893,2],[923,2],[944,2],[970,2],[1003,2],[1036,2],[1066,2],[1098,2],[1148,2],[1230,2],[1290,2],[1328,2],[1379,2],[1431,2],[1503,2],[1563,2],[1629,2],[1672,2],[1737,2],[1781,2],[1815,2],[1851,2],[1870,2],[1907,2],[1938,2],[1965,2],[1999,2],[2040,2],[2085,2],[2121,2],[2168,2],[2191,2],[2238,2],[2307,2],[2380,2],[2431,2],[2457,2],[2482,2],[2510,2],[2666,2],[2697,2],[2725,2],[2747,2],[2784,2],[2813,2],[2848,2],[2877,2],[2930,2],[2973,2],[3036,2],[3087,2],[3144,2],[3206,2],[3240,2],[3296,2],[3332,2],[3360,2],[3391,2],[3426,2],[3469,2],[3519,2],[3547,2],[3598,2],[3641,2],[3669,2],[3693,2],[3733,2],[3774,2],[3796,2],[3832,2],[3875,2],[3917,2],[3937,2],[3964,2],[3994,2],[4025,2],[4062,2],[4095,2],[4129,2],[4166,1]]},"1388":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[320,2],[341,2],[366,2],[393,2],[436,2],[480,2],[517,2],[550,2],[571,2],[599,2],[635,2],[662,2],[692,2],[722,2],[753,2],[790,2],[815,2],[871,2],[905,2],[944,2],[978,2],[1008,2],[1029,2],[1057,2],[1083,2],[1134,2],[1172,2],[1197,2],[1230,2],[1281,2],[1300,2],[1337,2],[1364,2],[1391,2],[1425,2],[1466,2],[1511,2],[1547,2],[1570,2],[1617,2],[1686,2],[1759,2],[1810,2],[1836,2],[1861,2],[1894,2],[1937,2],[1965,2],[1997,2],[2153,2],[2203,2],[2249,2],[2280,2],[2308,2],[2330,2],[2367,2],[2396,2],[2449,2],[2492,2],[2555,2],[2606,2],[2663,2],[2725,2],[2759,2],[2815,2],[2851,2],[2886,2],[2917,2],[2952,2],[2980,2],[3091,2],[3146,2],[3189,2],[3227,2],[3267,2],[3305,2],[3325,2],[3365,2],[3399,2],[3436,1]]},"1389":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[356,2],[397,2],[419,2],[438,2],[468,2],[494,2],[521,2],[567,2],[605,2],[655,2],[690,2],[725,2],[759,2],[798,2],[837,2],[885,2],[925,2],[970,2],[1015,2],[1047,2],[1081,2],[1105,2],[1135,2],[1200,2],[1233,2],[1266,2],[1303,2],[1326,2],[1357,2],[1387,2],[1418,2],[1473,2],[1498,2],[1530,2],[1561,2],[1597,2],[1633,2],[1666,2],[1706,2],[1739,2],[1777,2],[1815,2],[1857,2],[1926,2],[1961,2],[1996,2],[2035,2],[2091,2],[2130,2],[2176,2],[2201,2],[2245,2],[2280,2],[2302,2],[2334,2],[2379,2],[2413,2],[2443,2],[2478,2],[2513,2],[2552,2],[2575,2],[2600,2],[2624,2],[2672,2],[2693,2],[2715,2],[2757,2],[2802,2],[2821,2],[2854,2],[2945,2],[2970,2],[3002,2],[3026,2],[3049,2],[3087,2],[3121,2],[3152,2],[3186,2],[3230,2],[3273,2],[3297,2],[3326,2],[3355,2],[3389,2],[3423,2],[3461,2],[3482,2],[3511,2],[3539,2],[3576,2],[3616,2],[3660,2],[3695,2],[3742,2],[3782,2],[3833,2],[3921,2],[3948,2],[3992,2],[4027,2],[4075,2],[4126,2],[4167,2],[4213,2],[4253,2],[4289,2],[4319,2],[4343,2],[4375,2],[4401,1]]},"1390":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[320,2],[350,2],[375,2],[414,2],[435,2],[458,2],[483,2],[512,2],[550,1]]},"1391":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[351,2],[376,2],[415,2],[436,2],[459,2],[484,2],[513,2],[551,1]]},"1392":{"position":[[64,2],[103,2],[135,2],[172,2],[199,2],[227,2],[258,2],[280,2],[318,2],[348,2],[373,2],[412,2],[433,2],[456,2],[481,2],[510,2],[548,2],[586,1]]},"1393":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[343,2],[368,2],[397,2],[427,2],[456,2],[481,2],[513,2],[545,2],[576,2],[633,2],[656,2],[694,2],[719,2],[742,2],[776,2],[811,2],[844,2],[870,2],[900,2],[927,2],[948,2],[987,2],[1005,2],[1038,2],[1071,1]]},"1394":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[352,2],[405,2],[430,2],[455,2],[478,2],[513,1]]},"1395":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[347,2],[377,2],[396,2],[420,2],[445,2],[487,2],[511,2],[534,2],[563,2],[598,2],[624,2],[653,1]]},"1396":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[361,2],[386,2],[444,2],[479,1]]},"1397":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[347,2],[415,2],[440,2],[464,2],[487,2],[526,2],[561,2],[597,2],[627,2],[645,1]]},"1398":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[377,2],[396,2],[417,2],[440,2],[467,2],[488,2],[517,2],[553,2],[583,2],[619,2],[648,2],[673,2],[694,2],[719,2],[750,2],[782,2],[805,2],[840,2],[859,2],[890,2],[1001,2],[1027,2],[1057,2],[1084,2]]},"1399":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[353,2],[378,2],[417,2],[440,2],[465,2],[487,2],[508,2],[529,1]]},"1400":{"position":[[78,2],[117,2],[149,2],[186,2],[213,2],[241,2],[272,2],[294,2],[332,2],[375,2],[400,2],[439,2],[462,2],[487,1]]},"1401":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[351,2],[376,2],[392,2],[431,2],[454,2],[479,2],[517,1]]},"1402":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[311,2],[349,2],[373,2],[399,2],[436,2],[466,2],[491,2],[530,2],[551,2],[573,2],[602,2],[625,2],[650,1]]},"1403":{"position":[[65,2],[104,2],[136,2],[173,2],[200,2],[228,2],[259,2],[281,2],[319,2],[354,2],[378,2],[407,2],[438,2],[460,2],[490,2],[518,2],[539,2],[564,2],[589,2],[628,2],[664,2],[697,2],[722,2],[771,2],[800,2],[823,2],[848,2],[882,2],[913,2],[943,2],[973,2],[994,2],[1033,2],[1058,2],[1115,2],[1153,2],[1175,2],[1199,1]]},"1404":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[347,2],[377,2],[402,2],[441,2],[464,2],[489,2]]},"1405":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[338,2],[362,2],[383,2],[407,2],[424,2],[446,2],[462,2],[494,2],[524,2],[554,2],[585,2],[610,2],[649,2],[670,2],[696,2],[734,2],[757,2],[782,2],[809,2],[837,2],[866,2],[896,2],[922,2],[982,2],[998,2],[1024,2],[1045,2],[1066,1]]},"1406":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[355,2],[379,2],[409,2],[437,2],[458,1]]},"1407":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[348,2],[372,2],[393,2],[417,2],[434,2],[456,2],[472,2],[504,2],[534,2],[581,2],[612,2],[637,2],[676,2],[697,2],[723,2],[761,2],[784,2],[809,2],[836,2],[864,2],[893,2],[923,2],[949,2],[1009,2],[1025,2],[1051,2],[1072,2],[1093,1]]},"1408":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[339,2],[370,2],[397,2],[429,2],[450,2],[474,2],[491,2],[513,2],[545,2],[575,2],[606,2],[631,2],[670,2],[691,2],[717,2],[747,2],[770,2],[795,2],[825,2],[855,2],[876,1]]},"1409":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[338,2],[369,2],[396,2],[420,2],[444,2],[461,2],[483,2],[513,1]]},"1410":{"position":[[65,2],[104,2],[136,2],[173,2],[200,2],[228,2],[259,2],[281,2],[319,2],[336,2],[368,2],[392,2],[413,2],[437,2],[464,2],[481,2],[524,2],[546,2],[569,2],[585,2],[617,2],[647,2],[677,2],[708,2],[733,2],[764,2],[803,2],[824,2],[850,2],[875,2],[913,2],[936,2],[961,2],[986,2],[1013,2],[1041,2],[1070,2],[1100,2],[1130,2],[1156,2],[1172,2],[1283,2],[1338,2],[1364,2],[1395,2],[1419,2],[1442,2],[1463,2],[1484,2],[1522,1]]},"1411":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[356,2],[381,2],[420,2],[443,2],[468,2]]},"1412":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[380,2],[422,2],[466,2],[504,2],[534,2],[559,2],[598,2],[619,2],[649,2],[688,2],[720,2],[760,2],[790,2],[813,2],[836,2],[861,2],[892,2],[922,2],[972,2],[1012,2],[1036,2],[1069,2],[1099,2],[1130,2],[1170,2],[1196,2],[1228,2],[1257,2],[1281,2],[1327,2],[1364,2],[1385,2],[1409,1]]},"1413":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[377,2],[419,2],[463,2],[501,2],[531,2],[556,2],[594,2],[632,2],[671,2],[692,2],[720,2],[745,2],[775,2],[814,2],[846,2],[886,2],[906,2],[936,2],[959,2],[982,2],[1007,2],[1038,2],[1068,2],[1118,2],[1158,2],[1182,2],[1215,2],[1245,2],[1276,2],[1316,2],[1342,2],[1374,2],[1405,2],[1434,2],[1458,2],[1504,2],[1541,2],[1562,2],[1603,2],[1644,2],[1668,2],[1706,2],[1744,2],[1771,2],[1807,2],[1856,2],[1880,1]]},"1414":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[346,2],[372,2],[402,2],[427,2],[466,2],[487,2],[512,2],[546,2],[569,2],[594,2],[618,2],[646,2],[670,2],[689,2],[707,2],[723,2],[747,1]]},"1415":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[356,2],[386,2],[417,2],[459,2],[499,2],[524,2],[558,2],[597,2],[631,2],[661,2],[682,2],[710,2],[736,2],[769,2],[788,2],[825,2],[852,2],[883,2],[917,2],[958,2],[1003,2],[1039,2],[1062,2],[1109,2],[1178,2],[1251,2],[1302,2],[1328,2],[1353,2],[1386,2],[1414,2],[1570,2],[1598,2],[1635,2],[1664,2],[1717,2],[1760,2],[1823,2],[1874,2],[1931,2],[1993,2],[2027,2],[2083,2],[2119,2],[2154,2],[2185,2],[2220,2],[2248,2],[2288,2],[2331,2],[2351,2],[2385,2],[2422,1]]},"1416":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[351,2],[380,2],[408,2],[438,2],[469,2],[494,2],[533,2],[554,2],[582,2],[610,2],[666,2],[700,2],[723,2],[748,2],[781,2],[813,2],[969,2],[1015,2],[1043,2],[1072,2],[1094,2],[1120,2],[1163,2],[1214,2],[1252,2],[1282,1]]},"1417":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[349,2],[378,2],[408,2],[439,2],[464,2],[503,2],[524,2],[552,2],[580,2],[619,2],[649,2],[676,2],[699,2],[724,2],[753,2],[779,2],[822,2],[873,2],[902,2],[940,2],[970,1]]},"1418":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[352,2],[381,2],[411,2],[436,2],[475,2],[496,2],[524,2],[554,2],[577,2],[602,2],[628,2],[671,1]]},"1419":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[352,2],[382,2],[413,2],[438,2],[477,2],[498,2],[526,2],[565,2],[598,2],[621,2],[646,2],[692,2],[718,2],[761,2],[799,1]]},"1420":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[352,2],[381,2],[411,2],[442,2],[467,2],[506,2],[527,2],[555,2],[611,2],[645,2],[675,2],[698,2],[723,2],[745,2],[774,2],[800,2],[843,2],[894,2],[922,2],[960,2],[990,1]]},"1421":{"position":[[82,2],[121,2],[153,2],[190,2],[217,2],[245,2],[276,2],[298,2],[336,2],[366,2],[391,2],[423,2],[471,2],[492,2],[520,2],[560,2],[598,2],[641,2],[654,2],[682,2],[705,2],[730,2],[771,2],[803,2],[840,2],[873,2],[901,2],[919,1]]},"1422":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[354,2],[379,2],[418,2],[443,2],[463,2],[486,2],[511,2],[532,2],[554,2],[578,2],[608,2],[636,2],[658,2],[679,2],[708,1]]},"1423":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[351,2],[376,2],[415,2],[444,2],[467,2],[492,2],[513,2],[535,2],[559,2],[580,2],[609,1]]},"1424":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[387,2],[413,2],[444,2],[466,2],[496,2],[524,2],[545,2],[570,2],[595,2],[634,2],[667,2],[716,2],[739,2],[764,2],[798,2],[829,2],[859,2],[889,2],[914,2],[971,2],[1009,2],[1031,2],[1055,1]]},"1425":{"position":[[83,2],[122,2],[154,2],[191,2],[218,2],[246,2],[277,2],[299,2],[337,2],[372,2],[402,2],[427,2],[466,2],[487,2],[518,2],[550,2],[573,2],[598,2],[624,2],[671,1]]},"1426":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[382,2],[421,2],[447,2],[473,2],[503,2],[528,2],[566,2],[605,2],[626,2],[661,2],[689,2],[728,2],[751,2],[776,2],[804,2],[835,2],[871,1]]},"1427":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[359,2],[397,2],[422,2],[446,2],[485,2],[511,2],[565,2],[602,2],[644,2],[688,2],[726,2],[756,2],[781,2],[820,2],[841,2],[871,2],[910,2],[942,2],[977,2],[1007,2],[1030,2],[1053,2],[1078,2],[1109,2],[1139,2],[1189,2],[1229,2],[1253,2],[1286,2],[1316,2],[1347,2],[1387,2],[1413,2],[1445,2],[1474,2],[1498,2],[1544,2],[1581,2],[1602,2],[1626,2],[1658,1]]},"1428":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[388,2],[413,2],[452,2],[473,2],[504,2],[536,2],[559,2],[584,2],[606,2],[653,1]]},"1429":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[356,2],[380,2],[407,2],[446,2],[477,2],[503,2],[546,2],[600,2],[637,2],[679,2],[723,2],[761,2],[791,2],[816,2],[854,2],[892,2],[931,2],[952,2],[980,2],[1005,2],[1035,2],[1074,2],[1106,2],[1126,2],[1161,2],[1183,2],[1211,2],[1241,2],[1264,2],[1287,2],[1312,2],[1343,2],[1373,2],[1423,2],[1463,2],[1487,2],[1520,2],[1550,2],[1661,2],[1716,2],[1747,2],[1787,2],[1813,2],[1845,2],[1876,2],[1900,2],[1929,2],[1953,2],[1999,2],[2036,2],[2059,2],[2080,2],[2121,2],[2162,2],[2186,2],[2224,2],[2263,2],[2301,2],[2328,2],[2370,2],[2406,2],[2455,2],[2479,1]]},"1430":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[382,2],[419,2],[461,2],[505,2],[543,2],[573,2],[598,2],[637,2],[658,2],[688,2],[727,2],[759,2],[789,2],[812,2],[835,2],[860,2],[881,2],[912,2],[942,2],[992,2],[1032,2],[1056,2],[1089,2],[1119,2],[1150,2],[1190,2],[1216,2],[1248,2],[1277,2],[1301,2],[1347,2],[1384,2],[1405,2],[1429,1]]},"1431":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[312,2],[350,2],[373,2],[393,2],[426,2],[456,2],[485,2],[531,2],[556,2],[595,2],[616,2],[668,2],[712,2],[735,2],[760,2]]},"1432":{"position":[[75,2],[114,2],[146,2],[183,2],[210,2],[238,2],[269,2],[291,2],[329,2],[364,2],[388,2],[417,2],[440,2],[460,2],[491,2],[513,2],[543,2],[572,2],[618,2],[646,2],[667,2],[692,2],[717,2],[756,2],[789,2],[838,2],[877,2],[902,2],[936,2],[967,2],[997,2],[1027,2],[1052,2],[1109,2],[1138,2],[1162,2],[1191,2],[1217,2],[1255,2],[1270,2],[1294,1]]},"1433":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[365,2],[400,2],[423,2],[443,2],[483,2],[522,2],[549,2],[579,2],[604,2],[643,2],[664,2],[692,2],[720,2],[743,2],[768,2],[802,2]]},"1434":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[351,2],[381,2],[402,2],[429,2],[457,2],[489,1]]},"1435":{"position":[[75,2],[114,2],[146,2],[183,2],[210,2],[238,2],[269,2],[291,2],[329,2],[356,2],[386,2]]},"1436":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[352,2],[382,2],[403,2],[448,2],[469,1]]},"1437":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[349,2],[376,2],[406,2],[431,2],[452,2],[479,2],[507,2],[539,1]]},"1438":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[320,2],[350,2],[375,2],[414,2],[435,2],[458,2],[483,2]]},"1439":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[361,2],[399,2],[424,2],[448,2],[487,2],[513,2],[541,2],[595,2],[632,2],[676,2],[718,2],[762,2],[800,2],[830,2],[855,2],[894,2],[915,2],[945,2],[984,2],[1016,2],[1056,2],[1085,2],[1108,2],[1143,2],[1173,2],[1196,2],[1210,2],[1266,2],[1289,2],[1314,2],[1345,2],[1375,2],[1425,2],[1465,2],[1489,2],[1522,2],[1552,2],[1583,2],[1623,2],[1649,2],[1681,2],[1710,2],[1734,2],[1780,2],[1817,2],[1838,2],[1862,2],[1896,2],[1928,1]]},"1440":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[358,2],[382,2],[409,2],[448,2],[479,2],[505,2],[533,2],[576,2],[630,2],[667,2],[711,2],[753,2],[797,2],[835,2],[865,2],[890,2],[928,2],[966,2],[1005,2],[1026,2],[1054,2],[1079,2],[1109,2],[1148,2],[1180,2],[1220,2],[1240,2],[1269,2],[1292,2],[1314,2],[1342,2],[1372,2],[1395,2],[1409,2],[1465,2],[1488,2],[1513,2],[1544,2],[1574,2],[1624,2],[1664,2],[1688,2],[1721,2],[1751,2],[1862,2],[1917,2],[1948,2],[1988,2],[2014,2],[2046,2],[2077,2],[2106,2],[2130,2],[2176,2],[2213,2],[2234,2],[2275,2],[2316,2],[2340,2],[2378,2],[2417,2],[2455,2],[2482,2],[2524,2],[2560,2],[2609,2],[2643,2],[2667,1]]},"1441":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[358,2],[383,2],[422,2],[445,2],[470,2],[495,1]]},"1442":{"position":[[75,2],[114,2],[146,2],[183,2],[210,2],[238,2],[269,2],[291,2],[329,2],[354,2],[384,2],[405,2],[433,2],[473,1]]},"1443":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[352,2],[377,2],[416,2],[437,2],[460,2],[485,2],[507,2],[547,2],[578,2],[604,2],[647,2],[680,1]]},"1444":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[352,2],[382,2],[407,2],[446,2],[467,2],[490,2],[515,2],[558,2],[596,1]]},"1445":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[354,2],[384,2]]},"1446":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[353,2],[378,2],[417,2],[438,2],[460,2],[480,2],[503,2],[528,2],[549,1]]},"1447":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[355,2],[380,2],[409,2],[468,2],[491,2],[516,2],[567,2],[611,1]]},"1448":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[349,2],[376,2],[406,2],[438,2],[469,2],[494,2],[533,2],[554,2],[577,2],[602,2],[631,2],[662,2],[688,2],[741,2],[784,2],[835,2],[880,2],[912,1]]},"1449":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[350,2],[377,2],[407,2],[432,2],[463,2],[488,2],[527,2],[548,2],[571,2],[596,2],[625,2],[650,2],[681,2],[734,2],[777,2],[822,2],[854,1]]},"1450":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[349,2],[376,2],[406,2],[438,2],[469,2],[494,2],[533,2],[554,2],[577,2],[602,2],[631,2],[662,2],[688,2],[731,2],[782,2],[827,2],[859,1]]},"1451":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[349,2],[376,2],[406,2],[438,2],[469,2],[494,2],[533,2],[554,2],[577,2],[602,2],[631,2],[662,2],[688,2],[731,2],[782,2],[827,2],[859,1]]},"1452":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[320,2],[350,2],[384,2],[405,1]]},"1453":{"position":[[82,2],[121,2],[153,2],[190,2],[217,2],[245,2],[276,2],[298,2],[336,2],[363,2],[386,2],[415,2],[445,2],[470,2],[509,2],[530,2],[568,2],[628,2],[655,2],[682,2],[705,2],[731,2],[756,2],[784,2],[811,2],[854,1]]},"1454":{"position":[[78,2],[117,2],[149,2],[186,2],[213,2],[241,2],[272,2],[294,2],[332,2],[357,2],[383,2],[420,2],[450,2],[474,2],[499,2],[538,2],[559,2],[589,2],[621,2],[671,2],[753,2],[813,2],[851,2],[903,2],[975,2],[1035,2],[1101,2],[1144,2],[1209,2],[1253,2],[1279,2],[1303,2],[1330,2],[1365,2],[1399,2],[1422,2],[1450,2],[1497,2],[1520,2],[1546,2],[1571,2],[1593,2],[1624,2],[1653,2],[1688,2],[1745,2],[1795,2],[1845,2],[1895,2],[1949,2],[1983,2],[2011,2],[2031,2],[2074,2],[2124,2],[2152,2],[2180,2],[2204,2],[2232,2],[2264,2],[2307,2],[2349,2],[2383,2],[2428,2],[2544,2],[2638,2],[2738,2],[2816,2],[2885,2],[2947,2],[3009,2],[3067,2],[3129,2],[3195,1]]},"1455":{"position":[[84,2],[123,2],[155,2],[192,2],[219,2],[247,2],[278,2],[300,2],[338,2],[363,2],[393,2],[418,2],[457,2],[478,2],[508,2],[560,2],[604,2],[637,2],[666,2],[713,2],[736,2],[761,2],[803,2],[836,2],[864,2],[892,2],[920,2],[952,2],[984,2],[1027,2],[1072,1]]},"1456":{"position":[[81,2],[120,2],[152,2],[189,2],[216,2],[244,2],[275,2],[297,2],[335,2],[380,2],[405,2],[444,2],[467,2],[492,1]]},"1457":{"position":[[77,2],[116,2],[148,2],[185,2],[212,2],[240,2],[271,2],[293,2],[331,2],[361,2],[386,2],[425,2],[446,2],[476,2],[499,2],[538,2],[568,1]]},"1458":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[359,2],[397,2],[422,2],[446,2],[480,2],[527,2],[552,2],[591,2],[612,2],[641,2],[665,2],[694,2],[717,2],[742,2],[772,2],[815,2],[855,2],[883,1]]},"1459":{"position":[[81,2],[120,2],[152,2],[189,2],[216,2],[244,2],[275,2],[297,2],[335,2],[365,2],[390,2],[429,2],[450,2],[477,2],[497,2],[520,2],[545,2]]},"1460":{"position":[[80,2],[119,2],[151,2],[188,2],[215,2],[243,2],[274,2],[296,2],[334,2],[364,2],[396,2],[426,2],[451,2],[474,2],[499,2],[538,2],[559,2],[588,2],[611,2],[629,2],[648,2],[673,2],[703,2],[731,2],[774,1]]},"1461":{"position":[[81,2],[120,2],[152,2],[189,2],[216,2],[244,2],[275,2],[297,2],[335,2],[377,2],[418,2],[437,2],[465,2],[512,2],[531,2],[556,2],[595,2],[634,2],[655,2],[699,2],[732,2],[765,2],[788,2],[813,2],[841,1]]},"1462":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[367,2],[388,2],[413,2],[437,2],[466,2],[494,2],[520,2],[557,2],[590,2],[618,2],[647,2],[683,2],[710,2],[740,2],[770,2],[797,2],[823,2],[854,2],[891,2],[916,2],[972,2],[991,2],[1021,2],[1055,2],[1103,2],[1142,2],[1176,2],[1206,2],[1227,2],[1255,2],[1281,2],[1332,2],[1363,2],[1401,2],[1433,2],[1466,2],[1517,2],[1544,2],[1563,2],[1600,2],[1627,2],[1661,2],[1702,2],[1747,2],[1783,2],[1818,2],[1841,2],[1888,2],[1957,2],[2030,2],[2081,2],[2107,2],[2132,2],[2165,2],[2208,2],[2236,2],[2268,2],[2424,2],[2474,2],[2520,2],[2551,2],[2572,2],[2594,2],[2631,2],[2660,2],[2682,2],[2713,2],[2742,2],[2775,2],[2857,2],[2895,2],[2930,2],[2961,2],[2988,2],[3014,2],[3067,2],[3110,2],[3173,2],[3224,2],[3275,2],[3332,2],[3394,2],[3428,2],[3484,2],[3520,2],[3562,2],[3597,2],[3628,2],[3657,2],[3692,2],[3738,2],[3766,2],[3793,2],[3824,2],[3867,2],[3895,2],[3935,2],[3973,2],[4007,2],[4040,2],[4063,2],[4088,2],[4108,2],[4126,2],[4160,2],[4197,2],[4224,1]]},"1463":{"position":[[81,2],[120,2],[152,2],[189,2],[216,2],[244,2],[275,2],[297,2],[335,2],[359,2],[397,2],[434,2],[464,2],[485,2]]},"1464":{"position":[[82,2],[121,2],[153,2],[190,2],[217,2],[245,2],[276,2],[298,2],[336,2],[366,2],[387,2]]},"1465":{"position":[[72,2],[111,2],[143,2],[180,2],[207,2],[235,2],[266,2],[288,2],[326,2],[368,2],[409,2],[434,2],[462,2],[491,2],[521,2],[546,2],[576,2],[615,2],[636,2],[680,2],[713,2],[736,2],[761,2],[787,2],[830,2],[895,2],[955,2],[1001,2],[1044,2],[1082,2],[1126,2],[1144,2],[1178,2],[1262,2],[1341,2],[1368,1]]},"1466":{"position":[[85,2],[124,2],[156,2],[193,2],[220,2],[248,2],[279,2],[301,2],[339,2],[366,2],[409,2],[439,2],[464,2],[489,2],[512,2],[563,2],[674,2],[729,2]]},"1467":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[365,2],[386,2],[411,2],[435,2],[462,2],[490,2],[533,2],[559,2],[580,2],[624,2],[657,2],[685,2],[714,2],[750,2],[777,2],[807,2],[837,2],[864,2],[890,2],[921,2],[958,2],[983,2],[1039,2],[1058,2],[1088,2],[1122,2],[1170,2],[1209,2],[1243,2],[1273,2],[1294,2],[1322,2],[1348,2],[1399,2],[1430,2],[1468,2],[1493,2],[1537,2],[1569,2],[1602,2],[1653,2],[1680,2],[1699,2],[1736,2],[1763,2],[1797,2],[1838,2],[1883,2],[1922,2],[1958,2],[1993,2],[2016,2],[2063,2],[2132,2],[2205,2],[2256,2],[2282,2],[2307,2],[2340,2],[2383,2],[2411,2],[2443,2],[2599,2],[2649,2],[2695,2],[2726,2],[2747,2],[2769,2],[2806,2],[2835,2],[2866,2],[2895,2],[2928,2],[3010,2],[3048,2],[3099,2],[3134,2],[3165,2],[3192,2],[3218,2],[3271,2],[3314,2],[3377,2],[3428,2],[3479,2],[3536,2],[3601,2],[3663,2],[3697,2],[3753,2],[3789,2],[3831,2],[3866,2],[3897,2],[3926,2],[3961,2],[4007,2],[4035,2],[4146,2],[4201,2],[4228,2],[4259,2],[4302,2],[4330,2],[4354,2],[4394,2],[4417,2],[4455,2],[4493,2],[4527,2],[4560,2],[4583,2],[4608,2],[4646,2],[4666,2],[4684,2],[4718,2],[4802,2],[4881,2],[4918,2],[4945,1]]},"1468":{"position":[[76,2],[115,2],[147,2],[184,2],[211,2],[239,2],[270,2],[292,2],[330,2],[360,2],[385,2],[424,2],[447,2],[472,2],[494,2]]},"1469":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[345,2],[375,2],[400,2],[439,2],[462,2],[487,2],[508,2],[530,2],[554,2],[576,2],[615,1]]},"1470":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[319,2],[357,2],[392,2],[416,2],[443,2],[482,2],[513,2],[539,2],[567,2],[610,2],[664,2],[701,2],[746,2],[790,2],[832,2],[876,2],[914,2],[944,2],[969,2],[1007,2],[1045,2],[1084,2],[1105,2],[1130,2],[1160,2],[1199,2],[1231,2],[1271,2],[1291,2],[1320,2],[1343,2],[1378,2],[1400,2],[1428,2],[1458,2],[1481,2],[1495,2],[1551,2],[1574,2],[1600,2],[1625,2],[1670,2],[1696,2],[1741,2],[1772,2],[1802,2],[1852,2],[1892,2],[1916,2],[1972,2],[2005,2],[2035,2],[2072,2],[2183,2],[2238,2],[2269,2],[2309,2],[2346,2],[2386,2],[2412,2],[2444,2],[2520,2],[2568,2],[2599,2],[2628,2],[2652,2],[2698,2],[2735,2],[2756,2],[2797,2],[2838,2],[2862,2],[2900,2],[2939,2],[2977,2],[3004,2],[3046,2],[3082,2],[3131,2],[3165,2],[3217,2],[3241,1]]},"1471":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[348,2],[372,2],[398,2],[424,2],[452,2],[489,2],[522,2],[550,2],[580,2],[618,2],[643,2],[663,2],[686,2],[714,2],[753,2],[787,2],[808,2],[833,2],[871,2],[896,2],[921,2],[963,2],[1003,2],[1034,2],[1057,2],[1082,2],[1110,2],[1266,2],[1316,2],[1344,2],[1373,2],[1406,2],[1457,2],[1500,2],[1517,2],[1545,2],[1575,2],[1596,2],[1630,1]]},"1472":{"position":[[70,2],[109,2],[141,2],[178,2],[205,2],[233,2],[264,2],[286,2],[324,2],[349,2],[373,2],[399,2],[425,2],[453,2],[483,2],[521,2],[546,2],[566,2],[589,2],[620,2],[648,2],[687,2],[721,2],[742,2],[767,2],[796,2],[828,2],[861,2],[916,2],[943,2],[968,2],[993,2],[1018,2],[1060,2],[1100,2],[1131,2],[1154,2],[1179,2],[1207,2],[1236,2],[1269,2],[1320,2],[1348,2],[1370,2],[1413,2],[1441,2],[1471,2],[1495,2],[1516,2],[1557,2],[1591,1]]},"1473":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[346,2],[370,2],[397,2],[440,2],[466,2],[492,2],[520,2],[553,2],[581,2],[611,2],[649,2],[674,2],[694,2],[717,2],[745,2],[784,2],[818,2],[839,2],[864,2],[902,2],[927,2],[952,2],[994,2],[1015,2],[1055,2],[1086,2],[1109,2],[1134,2],[1162,2],[1318,2],[1368,2],[1396,2],[1425,2],[1458,2],[1509,2],[1620,2],[1675,2],[1718,2],[1735,2],[1764,2],[1792,2],[1822,2],[1843,2],[1877,1]]},"1474":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[379,2],[416,2],[458,2],[502,2],[540,2],[570,2],[595,2],[634,2],[655,2],[685,2],[724,2],[756,2],[786,2],[809,2],[832,2],[857,2],[888,2],[918,2],[968,2],[1008,2],[1032,2],[1065,2],[1095,2],[1126,2],[1166,2],[1192,2],[1224,2],[1253,2],[1277,2],[1323,2],[1360,2],[1381,2],[1405,1]]},"1475":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[376,2],[413,2],[455,2],[499,2],[537,2],[567,2],[592,2],[630,2],[668,2],[707,2],[728,2],[756,2],[781,2],[811,2],[850,2],[882,2],[902,2],[932,2],[955,2],[978,2],[1003,2],[1034,2],[1064,2],[1114,2],[1154,2],[1178,2],[1211,2],[1241,2],[1272,2],[1312,2],[1338,2],[1370,2],[1401,2],[1430,2],[1454,2],[1500,2],[1537,2],[1558,2],[1599,2],[1640,2],[1664,2],[1702,2],[1740,2],[1767,2],[1803,2],[1852,2],[1876,1]]},"1476":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[358,2],[383,2],[422,2],[445,2],[470,2]]},"1477":{"position":[[67,2],[106,2],[138,2],[175,2],[202,2],[230,2],[261,2],[283,2],[321,2],[347,2],[382,2],[412,2],[437,2],[476,2],[497,2],[520,2],[545,2],[582,1]]},"1478":{"position":[[65,2],[104,2],[136,2],[173,2],[200,2],[228,2],[259,2],[281,2],[319,2],[346,2],[389,2],[410,2],[440,2],[465,2],[504,2],[525,2],[550,2],[573,2],[598,2],[631,2],[668,2],[779,2],[834,2],[860,2],[885,2],[914,2],[945,2],[967,2],[1005,2],[1027,1]]},"1479":{"position":[[82,2],[121,2],[153,2],[190,2],[217,2],[245,2],[276,2],[298,2],[336,2],[366,2],[391,2],[430,2],[451,2],[482,2],[505,2],[530,2],[559,2],[573,1]]},"1480":{"position":[[71,2],[110,2],[142,2],[179,2],[206,2],[234,2],[265,2],[287,2],[325,2],[358,2],[388,2],[419,2],[444,2],[483,2],[504,2],[534,2],[561,2],[606,2],[629,2],[655,2],[680,2],[709,2],[737,2],[765,2],[804,2],[828,2],[849,2],[892,2],[928,2],[961,2],[986,1]]},"1481":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[368,2],[404,2],[430,2],[460,2],[490,2],[543,2],[568,2],[607,2],[649,2],[672,2],[697,2],[726,2],[757,2],[781,2],[815,2],[846,2],[886,2],[916,2],[959,2],[1001,2],[1035,2],[1074,2],[1102,2],[1128,2],[1165,2],[1219,2],[1261,2],[1313,2],[1376,2],[1413,2],[1477,2],[1519,1]]},"1482":{"position":[[68,2],[107,2],[139,2],[176,2],[203,2],[231,2],[262,2],[284,2],[322,2],[352,2],[377,2],[416,2],[439,2],[464,2],[490,1]]},"1483":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[370,1]]},"1484":{"position":[[73,2],[112,2],[144,2],[181,2],[208,2],[236,2],[267,2],[289,2],[327,2],[357,2],[382,2],[421,2],[444,2],[469,2],[499,1]]},"1485":{"position":[[74,2],[113,2],[145,2],[182,2],[209,2],[237,2],[268,2],[290,2],[328,2],[353,2],[383,2],[417,2],[458,2],[494,2],[517,2],[580,2],[608,2],[648,1]]},"1486":{"position":[[69,2],[108,2],[140,2],[177,2],[204,2],[232,2],[263,2],[285,2],[323,2],[353,2],[380,2],[410,2],[435,2],[474,2],[499,2],[520,2],[543,2],[568,2],[597,2],[645,2],[674,1]]},"1487":{"position":[[66,2],[105,2],[137,2],[174,2],[201,2],[229,2],[260,2],[282,2],[320,2],[350,2],[380,2],[405,2],[444,2],[479,2],[502,2],[527,2],[556,2],[570,2],[591,2],[616,1]]}},"keywords":{}}],["__gener",{"_index":4306,"title":{},"content":{"896":{"position":[[80,11],[131,11],[311,11],[350,11],[455,11],[675,11],[714,11],[819,11]]}},"keywords":{}}],["__manifest__",{"_index":8331,"title":{},"content":{"1462":{"position":[[7868,12]]},"1467":{"position":[[8928,12]]}},"keywords":{}}],["__test_main__",{"_index":8367,"title":{},"content":{"1467":{"position":[[8733,14]]}},"keywords":{}}],["__test_main__.main(sys.argv",{"_index":8368,"title":{},"content":{"1467":{"position":[[8792,29]]}},"keywords":{}}],["_add_code_coverage_config",{"_index":5398,"title":{},"content":{"1057":{"position":[[1025,27]]}},"keywords":{}}],["_android_toolchain",{"_index":6326,"title":{},"content":{"1348":{"position":[[288,19]]},"1349":{"position":[[299,19]]},"1350":{"position":[[291,19]]},"1351":{"position":[[297,19]]},"1352":{"position":[[291,19]]},"1353":{"position":[[304,19]]},"1354":{"position":[[305,19]]},"1355":{"position":[[292,19]]},"1356":{"position":[[293,19]]},"1358":{"position":[[297,19]]},"1359":{"position":[[293,19]]},"1360":{"position":[[288,19]]},"1402":{"position":[[285,19]]},"1431":{"position":[[286,19]]},"1470":{"position":[[293,19]]}},"keywords":{}}],["_anon",{"_index":5269,"title":{},"content":{"1049":{"position":[[1004,5]]}},"keywords":{}}],["_anon_impl",{"_index":5166,"title":{},"content":{"1042":{"position":[[91,11],[156,11]]},"1043":{"position":[[268,11],[359,11]]},"1044":{"position":[[1044,11],[1582,11],[1724,11]]},"1049":{"position":[[1030,11]]}},"keywords":{}}],["_anon_impl(ctx",{"_index":5265,"title":{},"content":{"1049":{"position":[[741,15]]}},"keywords":{}}],["_anon_target_exampl",{"_index":3776,"title":{},"content":{"712":{"position":[[3207,21]]}},"keywords":{}}],["_anon_target_example(ctx",{"_index":3750,"title":{},"content":{"712":{"position":[[976,26]]}},"keywords":{}}],["_apple_platform",{"_index":6327,"title":{},"content":{"1348":{"position":[[317,17]]},"1349":{"position":[[328,17]]},"1350":{"position":[[320,17]]},"1351":{"position":[[326,17]]},"1352":{"position":[[320,17]]},"1353":{"position":[[333,17]]},"1354":{"position":[[334,17]]},"1355":{"position":[[321,17]]},"1356":{"position":[[322,17]]},"1357":{"position":[[293,17]]},"1358":{"position":[[326,17]]},"1359":{"position":[[322,17]]},"1360":{"position":[[317,17]]},"1361":{"position":[[296,17]]},"1362":{"position":[[289,17]]},"1363":{"position":[[289,17]]},"1364":{"position":[[290,17]]},"1365":{"position":[[290,17]]},"1366":{"position":[[291,17]]},"1367":{"position":[[287,17]]},"1368":{"position":[[292,17]]},"1369":{"position":[[296,17]]},"1370":{"position":[[303,17]]},"1371":{"position":[[294,17]]},"1372":{"position":[[291,17]]},"1373":{"position":[[288,17]]},"1374":{"position":[[290,17]]},"1375":{"position":[[291,17]]},"1376":{"position":[[296,17]]},"1377":{"position":[[293,17]]},"1378":{"position":[[295,17]]},"1379":{"position":[[293,17]]},"1380":{"position":[[292,17]]},"1381":{"position":[[291,17]]},"1382":{"position":[[287,17]]},"1383":{"position":[[288,17]]},"1384":{"position":[[288,17]]},"1385":{"position":[[294,17]]},"1386":{"position":[[299,17]]},"1387":{"position":[[297,17]]},"1388":{"position":[[285,17]]},"1389":{"position":[[290,17]]},"1390":{"position":[[285,17]]},"1391":{"position":[[286,17]]},"1392":{"position":[[283,17]]},"1393":{"position":[[287,17]]},"1394":{"position":[[296,17]]},"1395":{"position":[[291,17]]},"1396":{"position":[[296,17]]},"1397":{"position":[[291,17]]},"1398":{"position":[[288,17]]},"1399":{"position":[[288,17]]},"1400":{"position":[[297,17]]},"1401":{"position":[[286,17]]},"1402":{"position":[[314,17]]},"1403":{"position":[[284,17]]},"1404":{"position":[[286,17]]},"1405":{"position":[[286,17]]},"1406":{"position":[[296,17]]},"1407":{"position":[[296,17]]},"1408":{"position":[[287,17]]},"1409":{"position":[[286,17]]},"1410":{"position":[[284,17]]},"1411":{"position":[[291,17]]},"1412":{"position":[[291,17]]},"1413":{"position":[[288,17]]},"1414":{"position":[[287,17]]},"1415":{"position":[[291,17]]},"1416":{"position":[[291,17]]},"1417":{"position":[[289,17]]},"1418":{"position":[[292,17]]},"1419":{"position":[[288,17]]},"1420":{"position":[[292,17]]},"1421":{"position":[[301,17]]},"1422":{"position":[[289,17]]},"1423":{"position":[[286,17]]},"1424":{"position":[[288,17]]},"1425":{"position":[[302,17]]},"1426":{"position":[[288,17]]},"1427":{"position":[[289,17]]},"1428":{"position":[[288,17]]},"1429":{"position":[[286,17]]},"1430":{"position":[[293,17]]},"1431":{"position":[[315,17]]},"1432":{"position":[[294,17]]},"1433":{"position":[[287,17]]},"1434":{"position":[[289,17]]},"1435":{"position":[[294,17]]},"1436":{"position":[[290,17]]},"1437":{"position":[[287,17]]},"1438":{"position":[[285,17]]},"1439":{"position":[[291,17]]},"1440":{"position":[[288,17]]},"1441":{"position":[[293,17]]},"1442":{"position":[[294,17]]},"1443":{"position":[[287,17]]},"1444":{"position":[[288,17]]},"1445":{"position":[[291,17]]},"1446":{"position":[[288,17]]},"1447":{"position":[[290,17]]},"1448":{"position":[[289,17]]},"1449":{"position":[[290,17]]},"1450":{"position":[[289,17]]},"1451":{"position":[[289,17]]},"1452":{"position":[[285,17]]},"1453":{"position":[[301,17]]},"1454":{"position":[[297,17]]},"1455":{"position":[[303,17]]},"1456":{"position":[[300,17]]},"1457":{"position":[[296,17]]},"1458":{"position":[[289,17]]},"1459":{"position":[[300,17]]},"1460":{"position":[[299,17]]},"1461":{"position":[[300,17]]},"1462":{"position":[[290,17]]},"1463":{"position":[[300,17]]},"1464":{"position":[[301,17]]},"1465":{"position":[[291,17]]},"1466":{"position":[[304,17]]},"1467":{"position":[[288,17]]},"1468":{"position":[[295,17]]},"1469":{"position":[[288,17]]},"1470":{"position":[[322,17]]},"1471":{"position":[[288,17]]},"1472":{"position":[[289,17]]},"1473":{"position":[[286,17]]},"1474":{"position":[[290,17]]},"1475":{"position":[[287,17]]},"1476":{"position":[[293,17]]},"1477":{"position":[[286,17]]},"1478":{"position":[[284,17]]},"1479":{"position":[[301,17]]},"1480":{"position":[[290,17]]},"1481":{"position":[[292,17]]},"1482":{"position":[[287,17]]},"1483":{"position":[[292,17]]},"1484":{"position":[[292,17]]},"1485":{"position":[[293,17]]},"1486":{"position":[[288,17]]},"1487":{"position":[[285,17]]}},"keywords":{}}],["_apple_tool",{"_index":6690,"title":{},"content":{"1362":{"position":[[354,13]]},"1363":{"position":[[354,13]]},"1364":{"position":[[355,13]]},"1365":{"position":[[328,13]]},"1367":{"position":[[352,13]]},"1370":{"position":[[368,13]]},"1371":{"position":[[332,13]]},"1372":{"position":[[356,13]]},"1453":{"position":[[366,13]]}},"keywords":{}}],["_apple_toolchain",{"_index":6689,"title":{},"content":{"1362":{"position":[[327,17]]},"1363":{"position":[[327,17]]},"1364":{"position":[[328,17]]},"1367":{"position":[[325,17]]},"1370":{"position":[[341,17]]},"1372":{"position":[[329,17]]},"1453":{"position":[[339,17]]}},"keywords":{}}],["_apple_xctoolchain",{"_index":6691,"title":{},"content":{"1362":{"position":[[377,19]]},"1363":{"position":[[377,19]]},"1364":{"position":[[378,19]]},"1367":{"position":[[375,19]]},"1372":{"position":[[379,19]]}},"keywords":{}}],["_apple_xctoolchain_bundle_id",{"_index":6692,"title":{},"content":{"1362":{"position":[[406,29]]},"1363":{"position":[[406,29]]},"1364":{"position":[[407,29]]},"1367":{"position":[[404,29]]},"1372":{"position":[[408,29]]}},"keywords":{}}],["_archive_objects_locally_overrid",{"_index":6923,"title":{},"content":{"1364":{"position":[[446,34]]}},"keywords":{}}],["_artifact_annotation_mfa",{"_index":7599,"title":{},"content":{"1398":{"position":[[326,25]]}},"keywords":{}}],["_asan",{"_index":7025,"title":{},"content":{"1373":{"position":[[326,6]]},"1405":{"position":[[324,6]]},"1407":{"position":[[334,6]]},"1408":{"position":[[325,6]]},"1409":{"position":[[324,6]]},"1410":{"position":[[322,6]]}},"keywords":{}}],["_asset_dest_path_resolv",{"_index":8017,"title":{},"content":{"1433":{"position":[[325,26]]}},"keywords":{}}],["_build_only_native_cod",{"_index":6405,"title":{},"content":{"1349":{"position":[[366,24]]},"1351":{"position":[[364,24]]},"1355":{"position":[[359,24]]},"1358":{"position":[[364,24]]},"1359":{"position":[[360,24]]},"1360":{"position":[[355,24]]},"1383":{"position":[[326,24]]},"1403":{"position":[[322,24]]},"1424":{"position":[[326,24]]},"1425":{"position":[[340,24]]},"1426":{"position":[[326,24]]},"1427":{"position":[[327,24]]},"1428":{"position":[[326,24]]},"1429":{"position":[[324,24]]},"1432":{"position":[[332,24]]},"1433":{"position":[[368,24]]},"1439":{"position":[[329,24]]},"1440":{"position":[[326,24]]},"1458":{"position":[[327,24]]},"1470":{"position":[[360,24]]}},"keywords":{}}],["_buildfile_impl(ctx",{"_index":1786,"title":{},"content":{"327":{"position":[[376,21]]},"468":{"position":[[257,21]]}},"keywords":{}}],["_bundling_cache_bust",{"_index":6829,"title":{},"content":{"1363":{"position":[[445,23]]},"1367":{"position":[[443,23]]},"1372":{"position":[[447,23]]}},"keywords":{}}],["_bundling_log_file_en",{"_index":6830,"title":{},"content":{"1363":{"position":[[485,27]]},"1367":{"position":[[483,27]]},"1372":{"position":[[487,27]]}},"keywords":{}}],["_bundling_log_file_level",{"_index":6831,"title":{},"content":{"1363":{"position":[[523,25]]},"1367":{"position":[[521,25]]},"1372":{"position":[[525,25]]}},"keywords":{}}],["_cgo_en",{"_index":7781,"title":{},"content":{"1408":{"position":[[342,13]]},"1409":{"position":[[341,13]]}},"keywords":{}}],["_cli_lib",{"_index":7600,"title":{},"content":{"1398":{"position":[[361,9]]}},"keywords":{}}],["_code_signing_configur",{"_index":6832,"title":{},"content":{"1363":{"position":[[565,28]]},"1367":{"position":[[563,28]]},"1372":{"position":[[567,28]]}},"keywords":{}}],["_codesign_entitl",{"_index":6833,"title":{},"content":{"1363":{"position":[[610,23]]}},"keywords":{}}],["_codesign_identities_command_overrid",{"_index":6834,"title":{},"content":{"1363":{"position":[[650,38]]},"1367":{"position":[[608,38]]},"1372":{"position":[[612,38]]}},"keywords":{}}],["_codesign_typ",{"_index":6835,"title":{},"content":{"1363":{"position":[[705,15]]},"1367":{"position":[[663,15]]},"1372":{"position":[[667,15]]}},"keywords":{}}],["_compile_resources_locally_overrid",{"_index":6836,"title":{},"content":{"1363":{"position":[[737,36]]},"1367":{"position":[[695,36]]},"1372":{"position":[[699,36]]}},"keywords":{}}],["_compile_shar",{"_index":7026,"title":{},"content":{"1373":{"position":[[343,16]]},"1408":{"position":[[373,16]]},"1409":{"position":[[372,16]]}},"keywords":{}}],["_configured_alias_impl",{"_index":4570,"title":{},"content":{"930":{"position":[[141,23]]}},"keywords":{}}],["_configured_alias_impl(ctx",{"_index":4568,"title":{},"content":{"930":{"position":[[41,28]]}},"keywords":{}}],["_coverage_mod",{"_index":7027,"title":{},"content":{"1373":{"position":[[370,15]]},"1408":{"position":[[400,15]]},"1410":{"position":[[339,15]]}},"keywords":{}}],["_create_manifest_for_source_dir",{"_index":8254,"title":{},"content":{"1461":{"position":[[338,32]]},"1462":{"position":[[328,32]]},"1465":{"position":[[329,32]]},"1467":{"position":[[326,32]]}},"keywords":{}}],["_create_third_party_build_root",{"_index":8255,"title":{},"content":{"1461":{"position":[[380,31]]},"1465":{"position":[[371,31]]}},"keywords":{}}],["_csharp_toolchain",{"_index":7118,"title":{},"content":{"1381":{"position":[[329,18]]}},"keywords":{}}],["_ct_opt",{"_index":7601,"title":{},"content":{"1398":{"position":[[380,9]]}},"keywords":{}}],["_cxx_hack",{"_index":7140,"title":{},"content":{"1382":{"position":[[325,11]]},"1384":{"position":[[326,11]]},"1387":{"position":[[335,11]]},"1388":{"position":[[323,11]]},"1462":{"position":[[370,11]]},"1467":{"position":[[368,11]]}},"keywords":{}}],["_cxx_toolchain",{"_index":6328,"title":{},"content":{"1348":{"position":[[355,15]]},"1350":{"position":[[358,15]]},"1352":{"position":[[358,15]]},"1373":{"position":[[402,15]]},"1382":{"position":[[346,15]]},"1383":{"position":[[361,15]]},"1384":{"position":[[347,15]]},"1387":{"position":[[356,15]]},"1388":{"position":[[344,15]]},"1416":{"position":[[329,15]]},"1417":{"position":[[327,15]]},"1418":{"position":[[330,15]]},"1420":{"position":[[330,15]]},"1442":{"position":[[332,15]]},"1448":{"position":[[327,15]]},"1449":{"position":[[328,15]]},"1450":{"position":[[327,15]]},"1451":{"position":[[327,15]]},"1454":{"position":[[335,15]]},"1455":{"position":[[341,15]]},"1462":{"position":[[391,15]]},"1465":{"position":[[412,15]]},"1467":{"position":[[389,15]]},"1471":{"position":[[326,15]]},"1472":{"position":[[327,15]]},"1473":{"position":[[324,15]]},"1485":{"position":[[331,15]]}},"keywords":{}}],["_dep_files_processor",{"_index":7314,"title":{},"content":{"1389":{"position":[[328,21]]}},"keywords":{}}],["_dex_min_sdk_vers",{"_index":6547,"title":{},"content":{"1355":{"position":[[394,21]]},"1358":{"position":[[399,21]]},"1427":{"position":[[362,21]]},"1439":{"position":[[364,21]]},"1458":{"position":[[362,21]]}},"keywords":{}}],["_dex_toolchain",{"_index":6412,"title":{},"content":{"1350":{"position":[[383,15]]},"1352":{"position":[[383,15]]},"1353":{"position":[[371,15]]},"1355":{"position":[[432,15]]},"1358":{"position":[[437,15]]},"1427":{"position":[[400,15]]},"1439":{"position":[[402,15]]},"1458":{"position":[[400,15]]}},"keywords":{}}],["_dsymutil_extra_flag",{"_index":6693,"title":{},"content":{"1362":{"position":[[445,22]]},"1363":{"position":[[791,22]]},"1364":{"position":[[498,22]]},"1367":{"position":[[749,22]]},"1370":{"position":[[391,22]]}},"keywords":{}}],["_dumpbin_toolchain_path",{"_index":7315,"title":{},"content":{"1389":{"position":[[359,24]]}},"keywords":{}}],["_embed_provisioning_profile_when_adhoc_code_sign",{"_index":6837,"title":{},"content":{"1363":{"position":[[825,52]]},"1367":{"position":[[783,52]]},"1372":{"position":[[753,52]]}},"keywords":{}}],["_enable_library_evolut",{"_index":6694,"title":{},"content":{"1362":{"position":[[479,26]]},"1364":{"position":[[532,26]]},"1367":{"position":[[853,26]]},"1372":{"position":[[823,26]]}},"keywords":{}}],["_exec_os_typ",{"_index":6413,"title":{},"content":{"1350":{"position":[[408,14]]},"1352":{"position":[[408,14]]},"1353":{"position":[[396,14]]},"1354":{"position":[[372,14]]},"1355":{"position":[[457,14]]},"1358":{"position":[[462,14]]},"1360":{"position":[[390,14]]},"1373":{"position":[[427,14]]},"1374":{"position":[[328,14]]},"1383":{"position":[[386,14]]},"1402":{"position":[[352,14]]},"1403":{"position":[[357,14]]},"1405":{"position":[[341,14]]},"1406":{"position":[[334,14]]},"1407":{"position":[[351,14]]},"1409":{"position":[[399,14]]},"1410":{"position":[[371,14]]},"1414":{"position":[[325,14]]},"1426":{"position":[[361,14]]},"1427":{"position":[[425,14]]},"1429":{"position":[[359,14]]},"1432":{"position":[[367,14]]},"1439":{"position":[[427,14]]},"1440":{"position":[[361,14]]},"1458":{"position":[[425,14]]},"1462":{"position":[[416,14]]},"1463":{"position":[[338,14]]},"1467":{"position":[[414,14]]},"1470":{"position":[[395,14]]},"1471":{"position":[[351,14]]},"1472":{"position":[[352,14]]},"1473":{"position":[[349,14]]}},"keywords":{}}],["_extract",{"_index":8256,"title":{},"content":{"1461":{"position":[[421,9]]}},"keywords":{}}],["_fast_adhoc_signing_enabled_default",{"_index":6838,"title":{},"content":{"1363":{"position":[[895,36]]},"1367":{"position":[[890,36]]},"1372":{"position":[[860,36]]}},"keywords":{}}],["_fast_provisioning_profile_parsing_en",{"_index":6839,"title":{},"content":{"1363":{"position":[[942,43]]},"1367":{"position":[[937,43]]},"1372":{"position":[[907,43]]}},"keywords":{}}],["_genrule_toolchain",{"_index":6642,"title":{},"content":{"1360":{"position":[[414,19]]},"1383":{"position":[[410,19]]},"1403":{"position":[[381,19]]},"1424":{"position":[[361,19]]},"1432":{"position":[[391,19]]}},"keywords":{}}],["_git_fetch_tool",{"_index":7710,"title":{},"content":{"1404":{"position":[[324,16]]}},"keywords":{}}],["_go_stdlib",{"_index":7028,"title":{},"content":{"1373":{"position":[[451,11]]},"1405":{"position":[[365,11]]},"1407":{"position":[[375,11]]},"1408":{"position":[[432,11]]},"1410":{"position":[[395,11]]}},"keywords":{}}],["_go_toolchain",{"_index":7029,"title":{},"content":{"1373":{"position":[[472,14]]},"1405":{"position":[[386,14]]},"1406":{"position":[[358,14]]},"1407":{"position":[[396,14]]},"1408":{"position":[[453,14]]},"1409":{"position":[[423,14]]},"1410":{"position":[[416,14]]}},"keywords":{}}],["_haskell_toolchain",{"_index":7842,"title":{},"content":{"1416":{"position":[[354,19]]},"1417":{"position":[[352,19]]},"1418":{"position":[[355,19]]},"1419":{"position":[[326,19]]},"1420":{"position":[[355,19]]}},"keywords":{}}],["_impl",{"_index":3988,"title":{},"content":{"864":{"position":[[545,6],[1345,6]]},"905":{"position":[[730,8]]},"906":{"position":[[138,8],[469,8],[908,8]]}},"keywords":{}}],["_impl(ctx",{"_index":1502,"title":{},"content":{"245":{"position":[[164,11]]},"246":{"position":[[163,11]]},"864":{"position":[[417,11],[1001,11]]},"1054":{"position":[[239,10]]}},"keywords":{}}],["_impl(platform",{"_index":4996,"title":{},"content":{"1004":{"position":[[952,15]]}},"keywords":{}}],["_impl_abs_path(ctx",{"_index":1586,"title":{},"content":{"288":{"position":[[266,20]]},"510":{"position":[[298,20]]}},"keywords":{}}],["_impl_abs_path_unsafe(ctx",{"_index":1738,"title":{},"content":{"314":{"position":[[437,27]]}},"keywords":{}}],["_impl_action(ctx",{"_index":1424,"title":{},"content":{"168":{"position":[[123,18]]}},"keywords":{}}],["_impl_attributes(ctx",{"_index":2418,"title":{},"content":{"459":{"position":[[145,22]]}},"keywords":{}}],["_impl_attrregexfilter(ctx",{"_index":1778,"title":{},"content":{"326":{"position":[[417,27]]},"467":{"position":[[298,27]]}},"keywords":{}}],["_impl_attrs_eager(ctx",{"_index":1514,"title":{},"content":{"276":{"position":[[698,23]]}},"keywords":{}}],["_impl_attrs_lazy(ctx",{"_index":1523,"title":{},"content":{"277":{"position":[[734,22]]},"528":{"position":[[128,22]]}},"keywords":{}}],["_impl_audit_cell(ctx",{"_index":1490,"title":{},"content":{"242":{"position":[[545,22]]}},"keywords":{}}],["_impl_audit_output(ctx",{"_index":1496,"title":{},"content":{"243":{"position":[[582,24]]}},"keywords":{}}],["_impl_ctarget_set(ctx",{"_index":2191,"title":{},"content":{"409":{"position":[[149,23]]},"788":{"position":[[149,23]]}},"keywords":{}}],["_impl_dependency(ctx",{"_index":1452,"title":{},"content":{"233":{"position":[[416,22]]}},"keywords":{}}],["_impl_deps(ctx",{"_index":1791,"title":{},"content":{"328":{"position":[[432,16]]},"469":{"position":[[313,16]]}},"keywords":{}}],["_impl_dynamic_output",{"_index":4120,"title":{},"content":{"878":{"position":[[1592,21]]}},"keywords":{}}],["_impl_dynamic_output(ctx",{"_index":4097,"title":{},"content":{"878":{"position":[[248,26]]}},"keywords":{}}],["_impl_elapsed_millis(ctx",{"_index":2286,"title":{},"content":{"422":{"position":[[83,26]]},"513":{"position":[[94,26]]},"801":{"position":[[83,26]]}},"keywords":{}}],["_impl_elapsed_secs(ctx",{"_index":2490,"title":{},"content":{"514":{"position":[[90,24]]}},"keywords":{}}],["_impl_ensure(ctx",{"_index":1841,"title":{},"content":{"344":{"position":[[430,18]]}},"keywords":{}}],["_impl_ensure_multiple(ctx",{"_index":1850,"title":{},"content":{"345":{"position":[[924,27]]}},"keywords":{}}],["_impl_eval(ctx",{"_index":1481,"title":{},"content":{"240":{"position":[[358,16]]},"329":{"position":[[418,16]]},"470":{"position":[[358,16]]}},"keywords":{}}],["_impl_exampl",{"_index":3908,"title":{},"content":{"850":{"position":[[221,14]]}},"keywords":{}}],["_impl_example(_ctx",{"_index":3967,"title":{},"content":{"860":{"position":[[191,20]]}},"keywords":{}}],["_impl_example(ctx",{"_index":3907,"title":{},"content":{"850":{"position":[[163,19],[802,19]]},"851":{"position":[[113,19],[1797,19]]},"852":{"position":[[84,19]]},"853":{"position":[[135,19]]},"854":{"position":[[163,19]]},"856":{"position":[[500,19]]}},"keywords":{}}],["_impl_exists(ctx",{"_index":1743,"title":{},"content":{"315":{"position":[[241,18]]}},"keywords":{}}],["_impl_file_set(ctx",{"_index":2207,"title":{},"content":{"413":{"position":[[97,20]]},"792":{"position":[[97,20]]}},"keywords":{}}],["_impl_filter(ctx",{"_index":1802,"title":{},"content":{"330":{"position":[[373,18]]},"471":{"position":[[254,18]]}},"keywords":{}}],["_impl_get_path_without_materialization(ctx",{"_index":2225,"title":{},"content":{"416":{"position":[[727,44]]},"795":{"position":[[727,44]]}},"keywords":{}}],["_impl_get_paths_without_materialization(ctx",{"_index":2232,"title":{},"content":{"417":{"position":[[957,45]]},"796":{"position":[[957,45]]}},"keywords":{}}],["_impl_get_source(ctx",{"_index":1536,"title":{},"content":{"279":{"position":[[268,22]]}},"keywords":{}}],["_impl_inputs(ctx",{"_index":1806,"title":{},"content":{"331":{"position":[[353,18]]},"472":{"position":[[234,18]]}},"keywords":{}}],["_impl_is_dir(ctx",{"_index":1747,"title":{},"content":{"316":{"position":[[261,18]]}},"keywords":{}}],["_impl_is_file(ctx",{"_index":1751,"title":{},"content":{"317":{"position":[[264,19]]}},"keywords":{}}],["_impl_kind(ctx",{"_index":1809,"title":{},"content":{"332":{"position":[[374,16]]},"473":{"position":[[255,16]]}},"keywords":{}}],["_impl_label(ctx",{"_index":1530,"title":{},"content":{"278":{"position":[[130,17]]},"280":{"position":[[330,17]]},"460":{"position":[[134,17]]},"461":{"position":[[116,17]]}},"keywords":{}}],["_impl_list(ctx",{"_index":1756,"title":{},"content":{"318":{"position":[[403,16]]}},"keywords":{}}],["_impl_print(ctx",{"_index":1857,"title":{},"content":{"346":{"position":[[573,17]]}},"keywords":{}}],["_impl_print_json(ctx",{"_index":1862,"title":{},"content":{"347":{"position":[[469,22]]}},"keywords":{}}],["_impl_providers(ctx",{"_index":1456,"title":{},"content":{"234":{"position":[[196,21]]}},"keywords":{}}],["_impl_rdeps(ctx",{"_index":1824,"title":{},"content":{"335":{"position":[[648,17]]},"475":{"position":[[410,17]]}},"keywords":{}}],["_impl_rel_path(ctx",{"_index":1598,"title":{},"content":{"289":{"position":[[286,20]]},"511":{"position":[[318,20]]}},"keywords":{}}],["_impl_resolved_attrs_eager(ctx",{"_index":1547,"title":{},"content":{"281":{"position":[[799,32]]}},"keywords":{}}],["_impl_resolved_attrs_lazy(ctx",{"_index":1554,"title":{},"content":{"282":{"position":[[843,31]]},"322":{"position":[[147,31]]}},"keywords":{}}],["_impl_rule_kind(ctx",{"_index":1560,"title":{},"content":{"283":{"position":[[251,21]]},"462":{"position":[[253,21]]}},"keywords":{}}],["_impl_rule_type(ctx",{"_index":1565,"title":{},"content":{"284":{"position":[[169,21]]},"463":{"position":[[189,21]]}},"keywords":{}}],["_impl_run_action(ctx",{"_index":1650,"title":{},"content":{"298":{"position":[[2468,22]]}},"keywords":{}}],["_impl_sources(ctx",{"_index":1568,"title":{},"content":{"285":{"position":[[132,19]]}},"keywords":{}}],["_impl_sub_target(ctx",{"_index":932,"title":{},"content":{"63":{"position":[[245,22]]},"166":{"position":[[245,22]]},"492":{"position":[[245,22]]},"548":{"position":[[245,22]]}},"keywords":{}}],["_impl_type(ctx",{"_index":2464,"title":{},"content":{"480":{"position":[[81,16]]},"483":{"position":[[84,16]]}},"keywords":{}}],["_impl_unwrap_forward(ctx",{"_index":1576,"title":{},"content":{"286":{"position":[[359,26]]}},"keywords":{}}],["_impl_upp",{"_index":5228,"title":{},"content":{"1047":{"position":[[225,11]]}},"keywords":{}}],["_impl_upper(ctx",{"_index":5224,"title":{},"content":{"1047":{"position":[[84,17]]}},"keywords":{}}],["_impl_utarget_set(ctx",{"_index":2404,"title":{},"content":{"449":{"position":[[153,23]]},"828":{"position":[[153,23]]}},"keywords":{}}],["_impl_value(ctx",{"_index":2469,"title":{},"content":{"481":{"position":[[164,17]]},"484":{"position":[[136,17]]}},"keywords":{}}],["_impl_write_action(ctx",{"_index":1634,"title":{},"content":{"298":{"position":[[1209,24]]}},"keywords":{}}],["_incremental_bundling_en",{"_index":6840,"title":{},"content":{"1363":{"position":[[996,30]]},"1367":{"position":[[991,30]]},"1372":{"position":[[961,30]]}},"keywords":{}}],["_info_plist_identify_build_system_default",{"_index":6841,"title":{},"content":{"1363":{"position":[[1037,42]]},"1367":{"position":[[1032,42]]},"1372":{"position":[[1002,42]]}},"keywords":{}}],["_inject_test_env",{"_index":6519,"title":{},"content":{"1354":{"position":[[396,17]]},"1367":{"position":[[1085,17]]},"1388":{"position":[[369,17]]},"1410":{"position":[[440,17]]},"1429":{"position":[[383,17]]},"1437":{"position":[[325,17]]},"1440":{"position":[[385,17]]},"1466":{"position":[[342,17]]},"1467":{"position":[[438,17]]},"1470":{"position":[[419,17]]},"1473":{"position":[[373,17]]},"1478":{"position":[[322,17]]}},"keywords":{}}],["_internal_platform_path",{"_index":6980,"title":{},"content":{"1368":{"position":[[330,24]]},"1481":{"position":[[330,24]]}},"keywords":{}}],["_internal_sdk_path",{"_index":6981,"title":{},"content":{"1368":{"position":[[371,19]]},"1481":{"position":[[371,19]]}},"keywords":{}}],["_ios_booted_simul",{"_index":6962,"title":{},"content":{"1367":{"position":[[1112,22]]}},"keywords":{}}],["_ios_unbooted_simul",{"_index":6963,"title":{},"content":{"1367":{"position":[[1144,24]]}},"keywords":{}}],["_ipa_compression_level",{"_index":6936,"title":{},"content":{"1365":{"position":[[351,23]]}},"keywords":{}}],["_ipa_packag",{"_index":6937,"title":{},"content":{"1365":{"position":[[380,13]]}},"keywords":{}}],["_is_building_android_binari",{"_index":6329,"title":{},"content":{"1348":{"position":[[380,28]]},"1350":{"position":[[432,28]]},"1351":{"position":[[399,28]]},"1352":{"position":[[432,28]]},"1353":{"position":[[420,28]]},"1355":{"position":[[481,28]]},"1384":{"position":[[372,28]]},"1426":{"position":[[385,28]]},"1427":{"position":[[449,28]]},"1429":{"position":[[410,28]]},"1439":{"position":[[451,28]]},"1440":{"position":[[412,28]]},"1470":{"position":[[446,28]]}},"keywords":{}}],["_is_force_single_cpu",{"_index":6330,"title":{},"content":{"1348":{"position":[[419,21]]},"1350":{"position":[[471,21]]},"1352":{"position":[[471,21]]},"1353":{"position":[[459,21]]}},"keywords":{}}],["_is_force_single_default_cpu",{"_index":6331,"title":{},"content":{"1348":{"position":[[451,29]]},"1350":{"position":[[503,29]]},"1352":{"position":[[503,29]]},"1353":{"position":[[491,29]]}},"keywords":{}}],["_is_releas",{"_index":8004,"title":{},"content":{"1431":{"position":[[353,12]]},"1432":{"position":[[420,12]]},"1433":{"position":[[403,12]]}},"keywords":{}}],["_java_test_toolchain",{"_index":6520,"title":{},"content":{"1354":{"position":[[423,21]]},"1429":{"position":[[449,21]]},"1440":{"position":[[451,21]]},"1470":{"position":[[485,21]]}},"keywords":{}}],["_java_toolchain",{"_index":6332,"title":{},"content":{"1348":{"position":[[491,16]]},"1350":{"position":[[543,16]]},"1351":{"position":[[438,16]]},"1352":{"position":[[543,16]]},"1353":{"position":[[531,16]]},"1354":{"position":[[454,16]]},"1355":{"position":[[520,16]]},"1358":{"position":[[486,16]]},"1360":{"position":[[443,16]]},"1402":{"position":[[376,16]]},"1414":{"position":[[349,16]]},"1424":{"position":[[390,16]]},"1426":{"position":[[424,16]]},"1427":{"position":[[488,16]]},"1429":{"position":[[480,16]]},"1439":{"position":[[490,16]]},"1440":{"position":[[482,16]]},"1470":{"position":[[516,16]]}},"keywords":{}}],["_julia_toolchain",{"_index":8021,"title":{},"content":{"1434":{"position":[[327,17]]},"1435":{"position":[[332,17]]},"1436":{"position":[[328,17]]},"1437":{"position":[[352,17]]}},"keywords":{}}],["_kotlin_toolchain",{"_index":6548,"title":{},"content":{"1355":{"position":[[546,18]]},"1439":{"position":[[516,18]]},"1440":{"position":[[508,18]]},"1470":{"position":[[542,18]]}},"keywords":{}}],["_macos_idb_companion",{"_index":6964,"title":{},"content":{"1367":{"position":[[1178,21]]}},"keywords":{}}],["_matlab_toolchain",{"_index":8094,"title":{},"content":{"1445":{"position":[[329,18]]}},"keywords":{}}],["_mirror_impl",{"_index":3741,"title":{},"content":{"712":{"position":[[505,13]]}},"keywords":{}}],["_mirror_impl(ctx",{"_index":3734,"title":{},"content":{"712":{"position":[[218,17]]}},"keywords":{}}],["_mk_comp_db",{"_index":7316,"title":{},"content":{"1389":{"position":[[400,12]]}},"keywords":{}}],["_mk_hmap",{"_index":7317,"title":{},"content":{"1389":{"position":[[422,9]]}},"keywords":{}}],["_msvc_hermetic_exec",{"_index":7318,"title":{},"content":{"1389":{"position":[[441,20]]}},"keywords":{}}],["_my_anon_impl",{"_index":5200,"title":{},"content":{"1044":{"position":[[2839,14]]}},"keywords":{}}],["_my_anon_impl(ctx",{"_index":5208,"title":{},"content":{"1044":{"position":[[3134,18]]}},"keywords":{}}],["_my_impl",{"_index":5219,"title":{},"content":{"1046":{"position":[[57,9]]}},"keywords":{}}],["_my_impl(ctx",{"_index":3719,"title":{},"content":{"711":{"position":[[1315,14]]}},"keywords":{}}],["_my_rul",{"_index":2351,"title":{},"content":{"437":{"position":[[528,9]]},"816":{"position":[[528,9]]}},"keywords":{}}],["_my_rule(ctx",{"_index":2343,"title":{},"content":{"437":{"position":[[315,13]]},"816":{"position":[[315,13]]}},"keywords":{}}],["_ocaml_toolchain",{"_index":8116,"title":{},"content":{"1448":{"position":[[352,17]]},"1449":{"position":[[353,17]]},"1450":{"position":[[352,17]]},"1451":{"position":[[352,17]]}},"keywords":{}}],["_owner_impl(ctx",{"_index":1818,"title":{},"content":{"334":{"position":[[720,17]]},"474":{"position":[[459,17]]}},"keywords":{}}],["_packag",{"_index":5427,"title":{},"content":{"1058":{"position":[[493,8],[543,8],[1025,9]]}},"keywords":{}}],["_package_remot",{"_index":8292,"title":{},"content":{"1462":{"position":[[440,18]]}},"keywords":{}}],["_platform",{"_index":8005,"title":{},"content":{"1431":{"position":[[376,10]]},"1432":{"position":[[443,10]]},"1433":{"position":[[426,10]]}},"keywords":{}}],["_prebuilt_jar_toolchain",{"_index":8229,"title":{},"content":{"1458":{"position":[[449,24]]}},"keywords":{}}],["_profile_bundling_en",{"_index":6842,"title":{},"content":{"1363":{"position":[[1090,26]]},"1367":{"position":[[1209,26]]},"1372":{"position":[[1055,26]]}},"keywords":{}}],["_propagation_impl",{"_index":4912,"title":{},"content":{"991":{"position":[[74,18]]}},"keywords":{}}],["_propagation_impl(ctx",{"_index":4923,"title":{},"content":{"991":{"position":[[886,23]]}},"keywords":{}}],["_provid",{"_index":7602,"title":{},"content":{"1398":{"position":[[399,11]]}},"keywords":{}}],["_provisioning_profil",{"_index":6843,"title":{},"content":{"1363":{"position":[[1127,23]]},"1367":{"position":[[1246,23]]},"1372":{"position":[[1092,23]]}},"keywords":{}}],["_python_bootstrap_toolchain",{"_index":8345,"title":{},"content":{"1463":{"position":[[362,28]]}},"keywords":{}}],["_python_toolchain",{"_index":7291,"title":{},"content":{"1387":{"position":[[381,18]]},"1461":{"position":[[440,18]]},"1462":{"position":[[469,18]]},"1465":{"position":[[437,18]]},"1467":{"position":[[465,18]]}},"keywords":{}}],["_race",{"_index":7030,"title":{},"content":{"1373":{"position":[[496,6]]},"1405":{"position":[[410,6]]},"1407":{"position":[[420,6]]},"1408":{"position":[[477,6]]},"1409":{"position":[[447,6]]},"1410":{"position":[[467,6]]}},"keywords":{}}],["_recursive_allowlist",{"_index":5428,"title":{},"content":{"1058":{"position":[[505,21]]}},"keywords":{}}],["_remap_cwd_tool",{"_index":7319,"title":{},"content":{"1389":{"position":[[471,16]]}},"keywords":{}}],["_remote_test_execution_toolchain",{"_index":7306,"title":{},"content":{"1388":{"position":[[396,33]]},"1410":{"position":[[484,33]]},"1429":{"position":[[506,33]]},"1440":{"position":[[536,33]]},"1466":{"position":[[369,33]]},"1467":{"position":[[493,33]]},"1470":{"position":[[570,33]]},"1473":{"position":[[400,33]]},"1478":{"position":[[349,33]]}},"keywords":{}}],["_resolve_impl(ctx",{"_index":1697,"title":{},"content":{"306":{"position":[[256,19]]}},"keywords":{}}],["_resource_bundl",{"_index":6844,"title":{},"content":{"1363":{"position":[[1160,17]]},"1367":{"position":[[1279,17]]},"1372":{"position":[[1125,17]]}},"keywords":{}}],["_rust_toolchain",{"_index":8411,"title":{},"content":{"1471":{"position":[[375,16]]},"1472":{"position":[[376,16]]},"1473":{"position":[[443,16]]}},"keywords":{}}],["_silly_binary_impl",{"_index":5259,"title":{},"content":{"1048":{"position":[[1514,19]]}},"keywords":{}}],["_silly_binary_impl(ctx",{"_index":5252,"title":{},"content":{"1048":{"position":[[914,24]]}},"keywords":{}}],["_silly_compil",{"_index":5247,"title":{},"content":{"1048":{"position":[[770,18],[1351,21]]}},"keywords":{}}],["_silly_compilation_impl",{"_index":5248,"title":{},"content":{"1048":{"position":[[804,24]]}},"keywords":{}}],["_silly_compilation_impl(ctx",{"_index":5243,"title":{},"content":{"1048":{"position":[[520,29]]}},"keywords":{}}],["_sillycompil",{"_index":5241,"title":{},"content":{"1048":{"position":[[454,17]]}},"keywords":{}}],["_sillycompilation(compil",{"_index":5246,"title":{},"content":{"1048":{"position":[[735,26]]}},"keywords":{}}],["_similar_to_befor",{"_index":4915,"title":{},"content":{"991":{"position":[[196,19],[641,19]]}},"keywords":{}}],["_strict_provisioning_profile_search_default",{"_index":6845,"title":{},"content":{"1363":{"position":[[1194,44]]},"1367":{"position":[[1313,44]]},"1372":{"position":[[1159,44]]}},"keywords":{}}],["_stripped_default",{"_index":6695,"title":{},"content":{"1362":{"position":[[516,18]]},"1364":{"position":[[569,18]]},"1453":{"position":[[389,18]]}},"keywords":{}}],["_sum",{"_index":4876,"title":{},"content":{"984":{"position":[[108,7]]}},"keywords":{}}],["_swiftc_wrapp",{"_index":8493,"title":{},"content":{"1481":{"position":[[407,16]]}},"keywords":{}}],["_tag",{"_index":7031,"title":{},"content":{"1373":{"position":[[513,6]]},"1405":{"position":[[427,6]]},"1407":{"position":[[437,6]]},"1408":{"position":[[494,6]]},"1409":{"position":[[464,6]]},"1410":{"position":[[527,6]]}},"keywords":{}}],["_target_os_typ",{"_index":7081,"title":{},"content":{"1374":{"position":[[352,16]]},"1387":{"position":[[409,16]]},"1454":{"position":[[360,16]]},"1462":{"position":[[497,16]]},"1467":{"position":[[536,16]]},"1471":{"position":[[401,16]]},"1472":{"position":[[402,16]]},"1473":{"position":[[469,16]]},"1477":{"position":[[324,16]]}},"keywords":{}}],["_targets_in_buildfile_impl(ctx",{"_index":2453,"title":{},"content":{"477":{"position":[[198,32]]}},"keywords":{}}],["_test_binari",{"_index":7603,"title":{},"content":{"1398":{"position":[[420,13]]}},"keywords":{}}],["_test_binary_lib",{"_index":7604,"title":{},"content":{"1398":{"position":[[443,17]]}},"keywords":{}}],["_test_main",{"_index":8365,"title":{},"content":{"1467":{"position":[[562,11]]}},"keywords":{}}],["_testmaingen",{"_index":7788,"title":{},"content":{"1410":{"position":[[549,13]]}},"keywords":{}}],["_testsof_impl(ctx",{"_index":2460,"title":{},"content":{"478":{"position":[[261,19]]}},"keywords":{}}],["_toolchain",{"_index":7440,"title":{},"content":{"1393":{"position":[[325,11]]},"1394":{"position":[[334,11]]},"1395":{"position":[[329,11]]},"1397":{"position":[[329,11]]},"1398":{"position":[[470,11]]}},"keywords":{}}],["_tr",{"_index":5045,"title":{},"content":{"1009":{"position":[[722,4]]}},"keywords":{}}],["_tr(platform",{"_index":5039,"title":{},"content":{"1009":{"position":[[457,13]]}},"keywords":{}}],["_trampolin",{"_index":7605,"title":{},"content":{"1398":{"position":[[491,12],[520,13],[2306,12],[2335,12]]}},"keywords":{}}],["_unzip_tool",{"_index":8374,"title":{},"content":{"1469":{"position":[[326,12]]}},"keywords":{}}],["_use_entitlements_when_adhoc_code_sign",{"_index":6846,"title":{},"content":{"1363":{"position":[[1249,42]]},"1367":{"position":[[1368,42]]},"1372":{"position":[[1214,42]]}},"keywords":{}}],["_use_impl",{"_index":5282,"title":{},"content":{"1049":{"position":[[1647,10]]}},"keywords":{}}],["_use_impl(ctx",{"_index":5272,"title":{},"content":{"1049":{"position":[[1190,14]]}},"keywords":{}}],["_win_python_wrapp",{"_index":8346,"title":{},"content":{"1463":{"position":[[400,20]]}},"keywords":{}}],["_wip_java_plugin_argu",{"_index":6333,"title":{},"content":{"1348":{"position":[[517,27]]},"1355":{"position":[[574,27]]},"1412":{"position":[[329,27]]},"1413":{"position":[[326,27]]},"1427":{"position":[[514,27]]},"1429":{"position":[[549,27]]},"1430":{"position":[[331,27]]},"1439":{"position":[[544,27]]},"1440":{"position":[[579,27]]},"1470":{"position":[[613,27]]},"1474":{"position":[[328,27]]},"1475":{"position":[[325,27]]}},"keywords":{}}],["_worker_tool_runn",{"_index":8553,"title":{},"content":{"1486":{"position":[[326,20]]}},"keywords":{}}],["_workspac",{"_index":8412,"title":{},"content":{"1471":{"position":[[427,12],[2611,12]]},"1472":{"position":[[428,12],[2570,12]]},"1473":{"position":[[495,12],[2885,12]]}},"keywords":{}}],["_your_implement",{"_index":3848,"title":{},"content":{"840":{"position":[[304,21],[1006,21]]}},"keywords":{}}],["_your_implementation(ctx",{"_index":3846,"title":{},"content":{"840":{"position":[[228,26],[930,26]]}},"keywords":{}}],["_zip_file_toolchain",{"_index":8606,"title":{},"content":{"1487":{"position":[[323,20]]}},"keywords":{}}],["a'",{"_index":3541,"title":{},"content":{"693":{"position":[[3004,3]]},"947":{"position":[[355,3],[922,3]]}},"keywords":{}}],["a'hello_world",{"_index":484,"title":{},"content":{"17":{"position":[[36,14]]}},"keywords":{}}],["a.b",{"_index":4338,"title":{},"content":{"898":{"position":[[1926,6]]}},"keywords":{}}],["a.buckconfig",{"_index":3531,"title":{},"content":{"693":{"position":[[2271,13]]}},"keywords":{}}],["a.buckconfig.d(buckconfig.d",{"_index":2670,"title":{},"content":{"581":{"position":[[571,28]]}},"keywords":{}}],["a/b",{"_index":5450,"title":{},"content":{"1061":{"position":[[48,3]]}},"keywords":{}}],["a/b/buck",{"_index":7056,"title":{},"content":{"1373":{"position":[[5876,10]]},"1408":{"position":[[2240,10]]},"1410":{"position":[[4437,10]]},"1457":{"position":[[1827,10]]}},"keywords":{}}],["a1",{"_index":3286,"title":{},"content":{"662":{"position":[[11,3]]}},"keywords":{}}],["a2",{"_index":3287,"title":{},"content":{"662":{"position":[[20,3]]}},"keywords":{}}],["aab",{"_index":6643,"title":{},"content":{"1360":{"position":[[469,4],[2476,4],[2530,3],[2559,4],[2599,3],[2743,3],[5271,6]]}},"keywords":{}}],["aapt",{"_index":2065,"title":{},"content":{"389":{"position":[[368,7]]},"768":{"position":[[368,7]]},"1359":{"position":[[2239,4]]}},"keywords":{}}],["aapt.manifest",{"_index":6637,"title":{},"content":{"1359":{"position":[[1903,14]]}},"keywords":{}}],["aapt2_keep_raw_valu",{"_index":6414,"title":{},"content":{"1350":{"position":[[569,22]]},"1352":{"position":[[569,22]]}},"keywords":{}}],["aapt2_locale_filt",{"_index":6415,"title":{},"content":{"1350":{"position":[[602,23]]},"1352":{"position":[[602,23]]}},"keywords":{}}],["aapt2_preferred_dens",{"_index":6416,"title":{},"content":{"1350":{"position":[[636,24]]},"1352":{"position":[[636,24]]}},"keywords":{}}],["aapt_mod",{"_index":6417,"title":{},"content":{"1350":{"position":[[677,10]]},"1352":{"position":[[677,10]]},"1353":{"position":[[557,10]]}},"keywords":{}}],["aar",{"_index":6381,"title":{},"content":{"1348":{"position":[[2691,4],[3724,4],[3870,4],[3929,3],[4136,4],[4352,4],[4499,4]]},"1358":{"position":[[512,4],[958,4],[2017,4],[2111,4],[2274,4],[2365,4],[2731,4],[2879,4],[2949,3]]}},"keywords":{}}],["aar.source_jar",{"_index":6618,"title":{},"content":{"1358":{"position":[[2181,15]]}},"keywords":{}}],["aarch64",{"_index":5883,"title":{},"content":{"1136":{"position":[[2965,8]]},"1138":{"position":[[6627,8]]},"1140":{"position":[[5553,8]]},"1142":{"position":[[997,8]]},"1146":{"position":[[937,8]]},"1148":{"position":[[3977,8]]},"1155":{"position":[[1033,8]]},"1156":{"position":[[611,8]]},"1167":{"position":[[6557,8]]},"1169":{"position":[[396,8]]},"1186":{"position":[[2201,8]]},"1187":{"position":[[2214,8]]},"1188":{"position":[[6940,8]]},"1191":{"position":[[801,8]]},"1192":{"position":[[976,8]]},"1193":{"position":[[1028,8]]},"1194":{"position":[[668,8]]},"1195":{"position":[[646,8]]},"1196":{"position":[[456,8]]},"1197":{"position":[[1439,8]]},"1198":{"position":[[1449,8]]},"1199":{"position":[[1477,8]]},"1200":{"position":[[1344,8]]},"1201":{"position":[[604,8]]},"1202":{"position":[[1746,8],[6143,8]]},"1203":{"position":[[838,8]]},"1204":{"position":[[682,8]]},"1205":{"position":[[2011,8]]},"1206":{"position":[[482,8]]},"1207":{"position":[[639,8]]},"1209":{"position":[[1987,8]]},"1217":{"position":[[5298,8]]},"1219":{"position":[[1284,8]]},"1222":{"position":[[408,8]]},"1223":{"position":[[418,8]]},"1224":{"position":[[598,8]]},"1226":{"position":[[5766,8]]},"1228":{"position":[[7379,8]]},"1235":{"position":[[3247,8]]},"1237":{"position":[[5936,8]]}},"keywords":{}}],["ab",{"_index":2219,"title":{"627":{"position":[[0,4]]}},"content":{"416":{"position":[[78,4]]},"417":{"position":[[294,4]]},"627":{"position":[[93,4],[140,4]]},"795":{"position":[[78,4]]},"796":{"position":[[294,4]]}},"keywords":{}}],["ab[aba]ba(thi",{"_index":2776,"title":{},"content":{"591":{"position":[[712,14]]}},"keywords":{}}],["aba]a[aba",{"_index":2774,"title":{},"content":{"591":{"position":[[663,12]]}},"keywords":{}}],["abc'.startswith(('a",{"_index":3010,"title":{},"content":{"618":{"position":[[341,22],[378,22]]}},"keywords":{}}],["abi",{"_index":6562,"title":{},"content":{"1355":{"position":[[5837,3],[6031,3],[6155,3],[6836,3],[6955,3],[7168,3],[7343,3]]},"1386":{"position":[[6360,3]]},"1427":{"position":[[5010,3],[5204,3],[5328,3],[6035,3],[6154,3],[6367,3],[6542,3]]}},"keywords":{}}],["abi_generation_mod",{"_index":6334,"title":{},"content":{"1348":{"position":[[571,20]]},"1355":{"position":[[628,20]]},"1427":{"position":[[568,20]]},"1429":{"position":[[603,20]]},"1430":{"position":[[385,20]]},"1439":{"position":[[598,20]]},"1440":{"position":[[633,20]]},"1470":{"position":[[667,20]]},"1474":{"position":[[382,20]]},"1475":{"position":[[379,20]]}},"keywords":{}}],["abil",{"_index":714,"title":{},"content":{"23":{"position":[[1099,7],[1243,7]]},"676":{"position":[[19,7]]},"693":{"position":[[1952,7]]},"700":{"position":[[18,7]]},"937":{"position":[[2955,7]]},"964":{"position":[[336,7]]}},"keywords":{}}],["abort",{"_index":5942,"title":{},"content":{"1142":{"position":[[478,7]]}},"keywords":{}}],["aboutsourc",{"_index":6570,"title":{},"content":{"1355":{"position":[[7326,11]]},"1427":{"position":[[6525,11]]}},"keywords":{}}],["abov",{"_index":283,"title":{},"content":{"9":{"position":[[2330,5]]},"11":{"position":[[85,5]]},"15":{"position":[[543,5]]},"91":{"position":[[662,6]]},"94":{"position":[[3683,5]]},"223":{"position":[[662,6]]},"226":{"position":[[3683,5]]},"294":{"position":[[1141,6]]},"297":{"position":[[969,6]]},"301":{"position":[[856,6]]},"309":{"position":[[713,6]]},"310":{"position":[[561,6]]},"311":{"position":[[409,6]]},"418":{"position":[[686,5]]},"582":{"position":[[19,5]]},"663":{"position":[[168,5]]},"675":{"position":[[504,5]]},"706":{"position":[[1381,7]]},"712":{"position":[[2651,6],[2954,5]]},"797":{"position":[[686,5]]},"888":{"position":[[431,5]]},"890":{"position":[[437,5],[672,5],[1507,5],[2661,5],[3116,6],[5152,5],[5661,5]]},"892":{"position":[[370,5],[1991,5]]},"898":{"position":[[1300,5],[2068,5],[2434,5]]},"901":{"position":[[131,5]]},"906":{"position":[[625,5],[897,6]]},"924":{"position":[[2498,5]]},"951":{"position":[[1370,5]]},"959":{"position":[[9,5]]},"961":{"position":[[868,5]]},"969":{"position":[[197,5]]},"1006":{"position":[[593,5]]},"1024":{"position":[[1103,5]]},"1026":{"position":[[1073,6]]},"1040":{"position":[[2714,5]]},"1050":{"position":[[729,5]]},"1071":{"position":[[9,6],[966,5]]},"1082":{"position":[[1124,5]]},"1083":{"position":[[961,5]]},"1103":{"position":[[499,5],[1161,5]]},"1105":{"position":[[1529,6]]},"1113":{"position":[[191,5]]},"1131":{"position":[[696,5]]},"1133":{"position":[[551,6]]},"1255":{"position":[[194,5]]},"1346":{"position":[[739,6]]},"1362":{"position":[[6494,5],[12550,5]]},"1364":{"position":[[6523,5],[13055,5]]},"1366":{"position":[[2849,5]]},"1367":{"position":[[7921,5],[12458,5]]},"1373":{"position":[[4129,5],[7491,5]]},"1382":{"position":[[4406,5],[10266,5]]},"1384":{"position":[[5568,5],[16797,5]]},"1385":{"position":[[3212,5],[6491,5],[7454,5],[7609,6],[7652,6]]},"1386":{"position":[[4383,6]]},"1387":{"position":[[5483,5],[9864,5],[10784,5],[10940,6],[10983,6]]},"1388":{"position":[[5100,5],[8759,5]]},"1415":{"position":[[3811,5]]},"1485":{"position":[[4978,5]]},"1486":{"position":[[3641,5]]}},"keywords":{}}],["abs(0",{"_index":3050,"title":{},"content":{"627":{"position":[[81,6]]}},"keywords":{}}],["abs(10",{"_index":3052,"title":{},"content":{"627":{"position":[[108,7]]}},"keywords":{}}],["abs(10.0",{"_index":3053,"title":{},"content":{"627":{"position":[[122,9]]}},"keywords":{}}],["abs(x",{"_index":3049,"title":{},"content":{"627":{"position":[[4,6]]}},"keywords":{}}],["abs=tru",{"_index":2234,"title":{},"content":{"417":{"position":[[1171,9]]},"796":{"position":[[1171,9]]}},"keywords":{}}],["abs_path",{"_index":3826,"title":{},"content":{"834":{"position":[[112,10]]}},"keywords":{}}],["absenc",{"_index":695,"title":{},"content":{"23":{"position":[[272,7]]},"1138":{"position":[[5981,7]]},"1148":{"position":[[3331,7]]},"1186":{"position":[[1555,7]]},"1187":{"position":[[1568,7]]},"1188":{"position":[[6294,7]]},"1197":{"position":[[793,7]]},"1198":{"position":[[803,7]]},"1199":{"position":[[831,7]]},"1200":{"position":[[698,7]]}},"keywords":{}}],["absent",{"_index":1001,"title":{},"content":{"76":{"position":[[196,7]]},"505":{"position":[[196,7]]},"1000":{"position":[[117,6]]}},"keywords":{}}],["absh",{"_index":5454,"title":{},"content":{"1061":{"position":[[92,4]]}},"keywords":{}}],["absolut",{"_index":849,"title":{},"content":{"40":{"position":[[249,8]]},"98":{"position":[[398,9],[945,8],[999,8]]},"99":{"position":[[517,9],[1407,8]]},"131":{"position":[[346,8]]},"173":{"position":[[249,8]]},"230":{"position":[[398,9],[945,8],[999,8]]},"231":{"position":[[517,9],[1407,8]]},"242":{"position":[[503,8]]},"254":{"position":[[346,8]]},"279":{"position":[[235,8]]},"288":{"position":[[80,8],[134,8],[581,8],[754,8]]},"299":{"position":[[51,8]]},"304":{"position":[[457,8]]},"307":{"position":[[46,8]]},"314":{"position":[[95,8],[269,8],[364,8]]},"320":{"position":[[486,8]]},"408":{"position":[[154,9]]},"416":{"position":[[211,8]]},"417":{"position":[[440,8]]},"510":{"position":[[106,8],[160,8],[652,8],[822,8]]},"584":{"position":[[941,8]]},"627":{"position":[[55,8]]},"680":{"position":[[1185,8]]},"787":{"position":[[154,9]]},"795":{"position":[[211,8]]},"796":{"position":[[440,8]]},"834":{"position":[[47,8],[628,8]]},"861":{"position":[[215,8],[303,8]]},"991":{"position":[[2976,10]]},"1070":{"position":[[269,8]]},"1112":{"position":[[208,8],[4934,9]]},"1124":{"position":[[237,8]]},"1138":{"position":[[268,8],[465,8],[643,8]]},"1226":{"position":[[3447,8],[3644,8],[3822,8]]},"1231":{"position":[[161,8]]},"1237":{"position":[[3617,8],[3814,8],[3992,8]]},"1383":{"position":[[4677,8],[6163,8],[6191,8]]}},"keywords":{}}],["absolute_prefix",{"_index":2132,"title":{"408":{"position":[[0,15]]},"787":{"position":[[0,15]]}},"content":{"405":{"position":[[616,16]]},"408":{"position":[[274,15],[329,15]]},"784":{"position":[[616,16]]},"787":{"position":[[274,15],[329,15]]}},"keywords":{}}],["absolute_prefixto",{"_index":2178,"title":{},"content":{"408":{"position":[[205,17]]},"787":{"position":[[205,17]]}},"keywords":{}}],["absolute_suffix",{"_index":2133,"title":{"408":{"position":[[20,16]]},"787":{"position":[[20,16]]}},"content":{"405":{"position":[[642,16],[2115,15]]},"408":{"position":[[365,15]]},"784":{"position":[[642,16],[2115,15]]},"787":{"position":[[365,15]]}},"keywords":{}}],["abstract",{"_index":3621,"title":{},"content":{"702":{"position":[[310,10]]},"937":{"position":[[2966,8]]},"1393":{"position":[[6766,12]]}},"keywords":{}}],["abuck",{"_index":3569,"title":{},"content":{"693":{"position":[[5846,5]]}},"keywords":{}}],["abuck2",{"_index":5703,"title":{},"content":{"1106":{"position":[[71,6]]}},"keywords":{}}],["abuild",{"_index":3383,"title":{},"content":{"676":{"position":[[233,6]]},"1129":{"position":[[143,6]]}},"keywords":{}}],["abxl.aquerycontext",{"_index":3885,"title":{},"content":{"846":{"position":[[315,18]]}},"keywords":{}}],["abxl.buildresult",{"_index":3876,"title":{},"content":{"844":{"position":[[64,17]]}},"keywords":{}}],["abxl.cquerycontextctx.aqueri",{"_index":3884,"title":{},"content":{"846":{"position":[[276,30]]}},"keywords":{}}],["abxl.uquerycontextctx.cqueri",{"_index":3883,"title":{},"content":{"846":{"position":[[237,30]]}},"keywords":{}}],["academicresearch",{"_index":664,"title":{},"content":{"22":{"position":[[943,16]]}},"keywords":{}}],["acceler",{"_index":111,"title":{},"content":{"6":{"position":[[0,12]]}},"keywords":{}}],["accept",{"_index":1610,"title":{"882":{"position":[[0,9]]},"935":{"position":[[0,6]]}},"content":{"294":{"position":[[509,9]]},"297":{"position":[[487,9]]},"301":{"position":[[423,9],[897,6]]},"346":{"position":[[254,7]]},"636":{"position":[[172,7],[353,7]]},"841":{"position":[[263,7]]},"850":{"position":[[19,6]]},"851":{"position":[[648,7],[804,7],[948,7],[1168,7]]},"861":{"position":[[656,7],[714,6]]},"869":{"position":[[461,6]]},"872":{"position":[[551,6]]},"873":{"position":[[403,6]]},"904":{"position":[[193,7]]},"905":{"position":[[33,6]]},"924":{"position":[[136,7],[224,10],[2521,6]]},"929":{"position":[[222,7]]},"944":{"position":[[119,7]]},"954":{"position":[[157,7]]},"981":{"position":[[100,6]]},"1044":{"position":[[2543,7]]},"1096":{"position":[[97,7]]},"1129":{"position":[[136,6]]},"1136":{"position":[[5234,7]]},"1138":{"position":[[8896,7]]},"1140":{"position":[[7822,7]]},"1142":{"position":[[3266,7]]},"1146":{"position":[[3206,7]]},"1148":{"position":[[6246,7]]},"1155":{"position":[[3302,7]]},"1156":{"position":[[2880,7]]},"1161":{"position":[[773,7]]},"1167":{"position":[[8826,7]]},"1181":{"position":[[985,7]]},"1186":{"position":[[4470,7]]},"1187":{"position":[[4483,7]]},"1188":{"position":[[9209,7]]},"1191":{"position":[[3070,7]]},"1192":{"position":[[3245,7]]},"1193":{"position":[[3297,7]]},"1194":{"position":[[2937,7]]},"1195":{"position":[[2915,7]]},"1196":{"position":[[2725,7]]},"1197":{"position":[[3708,7]]},"1198":{"position":[[3718,7]]},"1199":{"position":[[3746,7]]},"1200":{"position":[[3613,7]]},"1201":{"position":[[2873,7]]},"1202":{"position":[[4015,7],[8412,7]]},"1203":{"position":[[3107,7]]},"1204":{"position":[[2951,7]]},"1205":{"position":[[4280,7]]},"1206":{"position":[[2751,7]]},"1207":{"position":[[2908,7]]},"1209":{"position":[[4256,7]]},"1217":{"position":[[7567,7]]},"1222":{"position":[[2677,7]]},"1223":{"position":[[2687,7]]},"1226":{"position":[[8035,7]]},"1228":{"position":[[9648,7]]},"1235":{"position":[[5516,7]]},"1237":{"position":[[8205,7]]},"1258":{"position":[[1162,6]]},"1289":{"position":[[1162,6]]},"1317":{"position":[[1162,6]]},"1345":{"position":[[1360,7]]},"1382":{"position":[[4533,7]]},"1388":{"position":[[5227,7]]},"1442":{"position":[[1523,7]]},"1473":{"position":[[4002,6]]}},"keywords":{}}],["acces",{"_index":3590,"title":{},"content":{"693":{"position":[[8199,7]]}},"keywords":{}}],["access",{"_index":355,"title":{"680":{"position":[[23,6]]},"962":{"position":[[0,9]]},"1009":{"position":[[0,6]]}},"content":{"10":{"position":[[1197,10]]},"11":{"position":[[681,10]]},"23":{"position":[[976,6]]},"37":{"position":[[186,11]]},"81":{"position":[[225,6]]},"84":{"position":[[131,10],[370,6]]},"94":{"position":[[4049,6],[4110,6]]},"182":{"position":[[186,11]]},"213":{"position":[[225,6]]},"216":{"position":[[131,10],[370,6]]},"226":{"position":[[4049,6],[4110,6]]},"234":{"position":[[36,6],[112,9]]},"276":{"position":[[209,6],[348,9],[662,6]]},"277":{"position":[[163,6],[295,9]]},"281":{"position":[[267,6],[419,9]]},"282":{"position":[[218,6],[368,9]]},"298":{"position":[[832,6],[1503,6],[2014,6],[2809,6]]},"300":{"position":[[253,8],[369,9]]},"344":{"position":[[243,10]]},"363":{"position":[[496,9]]},"366":{"position":[[326,9]]},"367":{"position":[[352,9]]},"368":{"position":[[2396,9],[2585,6],[2837,8]]},"372":{"position":[[267,9]]},"373":{"position":[[263,9]]},"374":{"position":[[509,9]]},"375":{"position":[[136,9],[205,9]]},"377":{"position":[[439,9],[573,9]]},"379":{"position":[[143,9],[272,9]]},"386":{"position":[[420,9]]},"389":{"position":[[1678,9]]},"396":{"position":[[357,9]]},"398":{"position":[[227,9]]},"399":{"position":[[230,9]]},"406":{"position":[[242,8]]},"422":{"position":[[305,10]]},"451":{"position":[[106,10]]},"587":{"position":[[134,6]]},"622":{"position":[[1017,10]]},"680":{"position":[[1012,6]]},"693":{"position":[[8283,8]]},"742":{"position":[[496,9]]},"745":{"position":[[326,9]]},"746":{"position":[[352,9]]},"747":{"position":[[2396,9],[2585,6],[2837,8]]},"751":{"position":[[267,9]]},"752":{"position":[[263,9]]},"753":{"position":[[509,9]]},"754":{"position":[[136,9],[205,9]]},"756":{"position":[[439,9],[573,9]]},"758":{"position":[[143,9],[272,9]]},"765":{"position":[[420,9]]},"768":{"position":[[1678,9]]},"775":{"position":[[357,9]]},"777":{"position":[[227,9]]},"778":{"position":[[230,9]]},"785":{"position":[[242,8]]},"801":{"position":[[305,10]]},"830":{"position":[[106,10]]},"840":{"position":[[1275,6]]},"851":{"position":[[521,6],[1275,6],[2135,6]]},"861":{"position":[[122,6]]},"877":{"position":[[587,11]]},"878":{"position":[[1236,6]]},"879":{"position":[[86,8]]},"888":{"position":[[1181,6]]},"890":{"position":[[647,6],[782,6],[865,8],[1728,9],[1907,8],[2248,8],[2882,8],[4894,6],[6690,6]]},"923":{"position":[[183,6]]},"924":{"position":[[1880,6]]},"950":{"position":[[585,6]]},"955":{"position":[[545,9],[604,6],[943,6]]},"958":{"position":[[227,6]]},"963":{"position":[[152,6]]},"983":{"position":[[24,9]]},"989":{"position":[[340,6]]},"997":{"position":[[65,10]]},"998":{"position":[[139,8]]},"1001":{"position":[[917,8],[1528,10]]},"1009":{"position":[[256,6],[337,8],[545,11]]},"1046":{"position":[[470,6]]},"1050":{"position":[[993,11]]},"1064":{"position":[[1017,8]]},"1071":{"position":[[178,7],[1311,6]]},"1079":{"position":[[111,9]]},"1095":{"position":[[72,6]]},"1097":{"position":[[57,6]]},"1098":{"position":[[401,6]]},"1103":{"position":[[855,8]]},"1105":{"position":[[2047,8]]},"1127":{"position":[[18,8]]},"1190":{"position":[[1055,6]]},"1204":{"position":[[0,6],[235,6],[10139,6],[10208,6]]},"1355":{"position":[[3586,6]]},"1360":{"position":[[2541,8],[2685,8],[3004,6],[3285,8],[4746,6]]},"1367":{"position":[[13792,10]]},"1383":{"position":[[2589,6],[2778,6],[2964,8],[5882,8],[6778,6]]},"1393":{"position":[[4179,8],[5198,10],[5853,8],[6107,10],[7916,8]]},"1395":{"position":[[2431,8],[2894,6],[3029,8]]},"1398":{"position":[[2962,6],[3254,6],[6533,6]]},"1401":{"position":[[552,6],[1492,10]]},"1403":{"position":[[2419,6],[2700,8],[4161,6]]},"1407":{"position":[[4110,6]]},"1422":{"position":[[3034,10]]},"1439":{"position":[[3407,6],[4562,6]]}},"keywords":{}}],["access.main_modul",{"_index":8084,"title":{},"content":{"1443":{"position":[[1699,19]]}},"keywords":{}}],["accessible.an",{"_index":5284,"title":{},"content":{"1050":{"position":[[449,13]]}},"keywords":{}}],["accessor",{"_index":3890,"title":{},"content":{"846":{"position":[[1030,9]]}},"keywords":{}}],["accident",{"_index":2221,"title":{},"content":{"416":{"position":[[435,12]]},"417":{"position":[[665,12]]},"795":{"position":[[435,12]]},"796":{"position":[[665,12]]}},"keywords":{}}],["accommod",{"_index":6785,"title":{},"content":{"1362":{"position":[[5226,11]]},"1364":{"position":[[5255,11]]}},"keywords":{}}],["accomplish",{"_index":1155,"title":{},"content":{"92":{"position":[[2326,12]]},"224":{"position":[[2326,12]]}},"keywords":{}}],["accord",{"_index":1631,"title":{},"content":{"298":{"position":[[738,9]]},"583":{"position":[[871,9]]},"591":{"position":[[387,9]]},"594":{"position":[[380,9]]}},"keywords":{}}],["accordingli",{"_index":5293,"title":{},"content":{"1050":{"position":[[2203,11]]}},"keywords":{}}],["accordingly.calcul",{"_index":5315,"title":{},"content":{"1050":{"position":[[4683,21]]}},"keywords":{}}],["account",{"_index":4717,"title":{},"content":{"945":{"position":[[314,7]]},"1071":{"position":[[496,7]]},"1462":{"position":[[7653,8]]}},"keywords":{}}],["accumul",{"_index":2302,"title":{},"content":{"427":{"position":[[615,10]]},"806":{"position":[[615,10]]},"990":{"position":[[28,12]]},"1079":{"position":[[1264,12]]},"1247":{"position":[[397,11]]},"1251":{"position":[[39,10]]}},"keywords":{}}],["accur",{"_index":3455,"title":{},"content":{"689":{"position":[[310,8]]}},"keywords":{}}],["acel",{"_index":3596,"title":{},"content":{"693":{"position":[[8724,5]]}},"keywords":{}}],["achiev",{"_index":799,"title":{},"content":{"24":{"position":[[1010,8]]},"956":{"position":[[164,8]]}},"keywords":{}}],["aconfiguredlabel",{"_index":4738,"title":{},"content":{"951":{"position":[[370,17]]}},"keywords":{}}],["aconfiguredstarlarktargetlabel",{"_index":4540,"title":{},"content":{"924":{"position":[[1318,30]]}},"keywords":{}}],["acquir",{"_index":5330,"title":{},"content":{"1053":{"position":[[1318,8]]}},"keywords":{}}],["act",{"_index":4895,"title":{},"content":{"988":{"position":[[343,3]]},"1370":{"position":[[2756,4]]},"1398":{"position":[[5086,3]]},"1483":{"position":[[402,4]]}},"keywords":{}}],["action",{"_index":46,"title":{"80":{"position":[[0,7]]},"167":{"position":[[0,6]]},"212":{"position":[[0,7]]},"723":{"position":[[10,6]]},"847":{"position":[[0,8]]},"851":{"position":[[8,8]]},"948":{"position":[[4,7]]},"949":{"position":[[0,7]]},"950":{"position":[[26,8]]},"964":{"position":[[0,8]]},"1050":{"position":[[12,7]]},"1078":{"position":[[16,8]]},"1105":{"position":[[0,8]]}},"content":{"4":{"position":[[199,7]]},"9":{"position":[[726,6],[752,7]]},"18":{"position":[[1688,7]]},"22":{"position":[[1400,7]]},"23":{"position":[[1229,7],[1263,6],[1662,8]]},"26":{"position":[[87,6]]},"27":{"position":[[94,6]]},"29":{"position":[[100,6]]},"30":{"position":[[139,6]]},"31":{"position":[[122,6]]},"42":{"position":[[53,7]]},"43":{"position":[[53,7]]},"49":{"position":[[178,7],[196,6]]},"71":{"position":[[17,7],[37,7],[89,7],[119,7]]},"89":{"position":[[680,7],[784,8]]},"92":{"position":[[513,7],[2155,6],[2496,7]]},"94":{"position":[[1420,6],[1903,6],[2160,6],[2324,6],[2658,7],[2728,8],[2818,6],[2953,6],[3945,7],[4026,7],[4083,7],[4352,6],[4374,7]]},"98":{"position":[[979,6],[1116,6],[1358,7]]},"99":{"position":[[1251,6],[1387,6],[1524,6]]},"168":{"position":[[97,7],[142,6]]},"175":{"position":[[53,7]]},"176":{"position":[[53,7]]},"178":{"position":[[87,6]]},"179":{"position":[[94,6]]},"185":{"position":[[100,6]]},"186":{"position":[[139,6]]},"187":{"position":[[122,6]]},"196":{"position":[[178,7],[196,6]]},"204":{"position":[[46,6],[68,6],[84,6]]},"205":{"position":[[100,6]]},"206":{"position":[[68,6]]},"207":{"position":[[53,6],[91,6]]},"209":{"position":[[21,7],[48,6],[86,7]]},"221":{"position":[[680,7],[784,8]]},"224":{"position":[[513,7],[2155,6],[2496,7]]},"226":{"position":[[1420,6],[1903,6],[2160,6],[2324,6],[2658,7],[2728,8],[2818,6],[2953,6],[3945,7],[4026,7],[4083,7],[4352,6],[4374,7]]},"230":{"position":[[979,6],[1116,6],[1358,7]]},"231":{"position":[[1251,6],[1387,6],[1524,6]]},"236":{"position":[[415,7],[566,8]]},"237":{"position":[[411,7]]},"243":{"position":[[119,6],[422,6]]},"288":{"position":[[287,7]]},"289":{"position":[[307,7]]},"298":{"position":[[629,7],[660,7],[852,6],[986,7],[1542,7],[1679,7],[1877,7],[2606,6]]},"306":{"position":[[40,8],[276,7]]},"314":{"position":[[288,7]]},"344":{"position":[[449,7]]},"362":{"position":[[939,7],[1456,6],[1525,6],[1596,6],[2504,7]]},"402":{"position":[[36,7]]},"406":{"position":[[812,7]]},"411":{"position":[[61,8],[227,6]]},"416":{"position":[[478,7],[684,8]]},"417":{"position":[[708,7],[914,8]]},"494":{"position":[[17,7],[37,7],[89,7],[119,7]]},"693":{"position":[[220,7],[534,6],[557,6],[647,6],[689,6],[731,7],[840,7],[1652,7],[2041,6],[6806,7],[6914,8],[6938,6],[7258,7]]},"704":{"position":[[1382,6],[1589,6],[1638,7],[1658,7],[1837,6],[1858,6],[2009,6],[2095,6],[2204,6],[2355,6],[2422,7]]},"705":{"position":[[12,6],[81,6],[179,7],[287,6],[345,7],[537,6]]},"706":{"position":[[723,6],[935,6],[1228,7],[1332,6],[2433,7],[2538,6]]},"710":{"position":[[273,8]]},"711":{"position":[[4,7],[990,7],[1007,8],[1435,7]]},"712":{"position":[[1035,7]]},"715":{"position":[[1395,6]]},"721":{"position":[[95,6]]},"722":{"position":[[514,8],[538,8],[815,8],[1089,7],[1116,6]]},"723":{"position":[[19,6]]},"724":{"position":[[118,8],[273,8],[363,7],[513,6],[613,7],[656,6],[776,6],[820,6],[899,6],[1052,6],[1186,7],[1329,6],[1490,6],[1606,6],[1737,6],[1865,7]]},"741":{"position":[[939,7],[1456,6],[1525,6],[1596,6],[2504,7]]},"781":{"position":[[36,7]]},"785":{"position":[[812,7]]},"790":{"position":[[61,8],[227,6]]},"795":{"position":[[478,7],[684,8]]},"796":{"position":[[708,7],[914,8]]},"832":{"position":[[699,6]]},"834":{"position":[[438,7],[561,6],[696,6],[759,7]]},"840":{"position":[[1371,7]]},"845":{"position":[[322,7]]},"846":{"position":[[139,6],[557,6],[1833,6],[1948,7]]},"847":{"position":[[15,7],[66,6],[118,7],[177,7],[480,8]]},"848":{"position":[[597,9],[683,7]]},"851":{"position":[[15,7],[133,7],[560,7],[774,7],[1084,7],[1932,6]]},"858":{"position":[[20,7]]},"861":{"position":[[291,7]]},"864":{"position":[[857,7],[1389,7],[1477,7],[1620,6]]},"867":{"position":[[207,6],[686,6],[784,7],[844,7],[981,6],[1055,6],[1115,6],[1345,6],[1410,6],[1515,6],[1680,6],[1715,6],[1769,6],[1794,6],[1831,6],[1914,6],[1954,6],[2021,6],[2097,6],[2143,6]]},"869":{"position":[[402,6]]},"872":{"position":[[876,7]]},"878":{"position":[[275,7]]},"881":{"position":[[25,7]]},"895":{"position":[[654,6],[687,7]]},"897":{"position":[[17,6],[264,8]]},"923":{"position":[[93,7]]},"949":{"position":[[4,7],[45,7],[142,8],[159,7]]},"950":{"position":[[38,8],[70,8],[402,6]]},"951":{"position":[[13,7],[44,7],[159,7],[283,6],[472,7],[933,7],[1021,7],[1198,7],[1285,8],[1304,6],[1401,7]]},"954":{"position":[[859,7]]},"955":{"position":[[639,6],[1113,8],[1320,7],[1422,7]]},"959":{"position":[[159,7]]},"964":{"position":[[113,8],[200,8],[354,7],[385,6],[488,7],[628,6],[687,7],[847,7],[861,6],[1065,6]]},"965":{"position":[[515,7]]},"1018":{"position":[[145,7]]},"1027":{"position":[[174,6]]},"1031":{"position":[[705,7]]},"1036":{"position":[[70,7]]},"1040":{"position":[[675,7]]},"1050":{"position":[[12,7],[56,7],[245,7],[386,6],[933,7],[1325,6],[1565,6],[1934,6],[3164,6],[4603,6]]},"1072":{"position":[[149,7]]},"1075":{"position":[[141,6]]},"1079":{"position":[[417,8]]},"1103":{"position":[[47,8],[992,7],[1227,7],[1688,7],[1740,7],[1897,7]]},"1104":{"position":[[1266,7]]},"1105":{"position":[[18,7],[78,7],[101,8],[118,6],[704,6],[1049,6],[1249,6],[2190,8]]},"1112":{"position":[[2814,6],[2870,6],[3147,6],[3180,6],[3226,6],[3286,6],[3346,6],[3447,6],[3580,7],[3774,6],[3830,6],[3885,6]]},"1114":{"position":[[88,6]]},"1120":{"position":[[755,6]]},"1136":{"position":[[23,6],[55,6],[97,7],[145,6],[184,7],[360,6],[479,7],[6355,8]]},"1138":{"position":[[2348,7],[2467,7],[2566,7],[2680,7],[2971,8],[3127,6],[3624,7],[3646,6],[3698,6],[3788,7],[3844,6],[3876,6],[3933,6],[4013,8],[5467,7],[10017,8]]},"1140":{"position":[[1837,7],[1956,7],[2055,7],[2169,7],[2460,8],[2616,6],[3113,7],[3135,6],[3187,6],[3277,7],[3333,6],[3365,6],[3422,6],[3502,8],[4956,7],[8943,8]]},"1142":{"position":[[486,7],[4387,8]]},"1144":{"position":[[715,8]]},"1146":{"position":[[4327,8]]},"1148":{"position":[[7918,8]]},"1150":{"position":[[950,8]]},"1152":{"position":[[648,8]]},"1154":{"position":[[803,8]]},"1155":{"position":[[4423,8]]},"1156":{"position":[[4001,8]]},"1157":{"position":[[586,8]]},"1158":{"position":[[580,8]]},"1159":{"position":[[580,8]]},"1161":{"position":[[1575,8]]},"1163":{"position":[[961,8]]},"1165":{"position":[[790,8]]},"1167":{"position":[[2841,7],[2960,7],[3059,7],[3173,7],[3464,8],[3620,6],[4117,7],[4139,6],[4191,6],[4281,7],[4337,6],[4369,6],[4426,6],[4506,8],[5960,7],[9947,8]]},"1169":{"position":[[3055,8]]},"1171":{"position":[[1296,8]]},"1172":{"position":[[411,6],[466,6],[604,6],[634,6],[1491,6],[1524,7],[2681,8]]},"1173":{"position":[[791,6],[824,7],[1368,8]]},"1174":{"position":[[796,8]]},"1175":{"position":[[792,8]]},"1176":{"position":[[961,8]]},"1177":{"position":[[438,7],[882,8]]},"1178":{"position":[[1199,8]]},"1179":{"position":[[996,8]]},"1180":{"position":[[1267,8]]},"1181":{"position":[[1787,8]]},"1182":{"position":[[830,8]]},"1183":{"position":[[785,8]]},"1185":{"position":[[630,8]]},"1186":{"position":[[5591,8]]},"1187":{"position":[[5604,8]]},"1188":{"position":[[1890,7],[2009,7],[2108,7],[2222,7],[2513,8],[2669,6],[3166,7],[3188,6],[3240,6],[3330,7],[3386,6],[3418,6],[3475,6],[3555,8],[5009,7],[10330,8]]},"1190":{"position":[[1123,6],[1961,8]]},"1191":{"position":[[4191,8]]},"1192":{"position":[[4366,8]]},"1193":{"position":[[4418,8]]},"1194":{"position":[[4058,8]]},"1195":{"position":[[4036,8]]},"1196":{"position":[[3846,8]]},"1197":{"position":[[4829,8]]},"1198":{"position":[[4839,8]]},"1199":{"position":[[4867,8]]},"1200":{"position":[[4734,8]]},"1201":{"position":[[3994,8]]},"1202":{"position":[[738,8],[5136,8],[9533,8]]},"1203":{"position":[[209,6],[238,6],[4228,8]]},"1204":{"position":[[4072,8],[4974,8],[5904,8],[6806,8],[7392,7],[7792,8],[8746,8],[9693,8],[10623,8]]},"1205":{"position":[[10,6],[5401,8]]},"1206":{"position":[[4100,8]]},"1207":{"position":[[4029,8]]},"1209":{"position":[[5377,8]]},"1211":{"position":[[701,8]]},"1213":{"position":[[472,8]]},"1215":{"position":[[556,8]]},"1217":{"position":[[1582,7],[1701,7],[1800,7],[1914,7],[2205,8],[2361,6],[2858,7],[2880,6],[2932,6],[3022,7],[3078,6],[3110,6],[3167,6],[3247,8],[4701,7],[8688,8]]},"1219":{"position":[[3943,8]]},"1221":{"position":[[675,8]]},"1222":{"position":[[3814,8]]},"1223":{"position":[[3824,8]]},"1224":{"position":[[3257,8]]},"1226":{"position":[[9156,8]]},"1228":{"position":[[3663,7],[3782,7],[3881,7],[3995,7],[4286,8],[4442,6],[4939,7],[4961,6],[5013,6],[5103,7],[5159,6],[5191,6],[5248,6],[5328,8],[6782,7],[10769,8]]},"1235":{"position":[[6637,8]]},"1237":{"position":[[9326,8]]},"1244":{"position":[[43,7],[184,7]]},"1285":{"position":[[52,7],[187,7]]},"1286":{"position":[[11,7]]},"1287":{"position":[[15,7],[166,8]]},"1345":{"position":[[195,6],[1175,6]]},"1346":{"position":[[76,7],[441,7]]},"1362":{"position":[[6303,6],[9819,6],[9907,6],[10131,6],[10220,6],[10319,6]]},"1364":{"position":[[6332,6],[10933,6],[11021,6],[11245,6],[11334,6],[11433,6]]},"1367":{"position":[[7730,6],[10736,6],[10824,6],[11048,6],[11137,6],[11236,6]]},"1373":{"position":[[3859,6]]},"1382":{"position":[[4215,6],[6545,6],[6633,6],[6857,6],[6946,6],[7045,6]]},"1384":{"position":[[5377,6],[12899,6],[12987,6],[13211,6],[13300,6],[13399,6]]},"1388":{"position":[[4515,6],[7414,6],[7502,6],[7726,6],[7815,6],[7914,6]]},"1389":{"position":[[5364,6],[5611,6]]},"1427":{"position":[[3982,6]]},"1454":{"position":[[4324,6]]},"1462":{"position":[[5337,6]]},"1471":{"position":[[2883,6]]},"1487":{"position":[[1775,6]]}},"keywords":{}}],["action'",{"_index":1444,"title":{},"content":{"209":{"position":[[146,8]]},"724":{"position":[[413,8],[948,8],[1130,8]]},"847":{"position":[[422,8]]},"867":{"position":[[1222,8]]}},"keywords":{}}],["action.identifi",{"_index":4289,"title":{},"content":{"894":{"position":[[392,17]]}},"keywords":{}}],["action.output",{"_index":4800,"title":{},"content":{"964":{"position":[[1121,14]]}},"keywords":{}}],["action.own",{"_index":1422,"title":{"168":{"position":[[0,13]]}},"content":{"168":{"position":[[4,14]]}},"keywords":{}}],["action_attr",{"_index":1409,"title":{"160":{"position":[[0,11]]}},"content":{},"keywords":{}}],["action_attr.valu",{"_index":1410,"title":{"161":{"position":[[0,18]]}},"content":{"161":{"position":[[4,19]]}},"keywords":{}}],["action_ctx",{"_index":4794,"title":{},"content":{"964":{"position":[[585,10],[876,11],[1024,10]]}},"keywords":{}}],["action_ctx.it",{"_index":4798,"title":{},"content":{"964":{"position":[[1075,18]]}},"keywords":{}}],["action_ctx.registry.write(some_output",{"_index":4796,"title":{},"content":{"964":{"position":[[750,38]]}},"keywords":{}}],["action_error",{"_index":5733,"title":{},"content":{"1112":{"position":[[2883,13]]}},"keywords":{}}],["action_metadata",{"_index":5304,"title":{},"content":{"1050":{"position":[[3094,15]]}},"keywords":{}}],["action_metadata=project/relative/path/to/target/action_metadata.json",{"_index":5302,"title":{},"content":{"1050":{"position":[[2935,68]]}},"keywords":{}}],["actionerror",{"_index":5737,"title":{},"content":{"1112":{"position":[[3127,11]]},"1126":{"position":[[1459,11]]}},"keywords":{}}],["actionerrorctx",{"_index":845,"title":{"39":{"position":[[0,14]]},"172":{"position":[[0,14]]},"349":{"position":[[0,15]]},"728":{"position":[[0,15]]}},"content":{"349":{"position":[[0,15]]},"728":{"position":[[0,15]]}},"keywords":{}}],["actionerrorctx.new_error_loc",{"_index":846,"title":{"40":{"position":[[0,34]]},"173":{"position":[[0,34]]}},"content":{"40":{"position":[[4,34]]},"173":{"position":[[4,34]]}},"keywords":{}}],["actionerrorctx.new_sub_error",{"_index":850,"title":{"41":{"position":[[0,29]]},"174":{"position":[[0,29]]}},"content":{"41":{"position":[[4,29]]},"174":{"position":[[4,29]]}},"keywords":{}}],["actionerrorctx.stderr",{"_index":865,"title":{"42":{"position":[[0,22]]},"175":{"position":[[0,22]]}},"content":{"42":{"position":[[0,22]]},"175":{"position":[[0,22]]}},"keywords":{}}],["actionerrorctx.stdout",{"_index":867,"title":{"43":{"position":[[0,22]]},"176":{"position":[[0,22]]}},"content":{"43":{"position":[[0,22]]},"176":{"position":[[0,22]]}},"keywords":{}}],["actionerrordiagnost",{"_index":5742,"title":{},"content":{"1112":{"position":[[3926,22]]}},"keywords":{}}],["actionerrorloc",{"_index":805,"title":{"25":{"position":[[0,19]]},"177":{"position":[[0,19]]},"350":{"position":[[0,20]]},"729":{"position":[[0,20]]}},"content":{"40":{"position":[[85,19]]},"173":{"position":[[85,19]]},"350":{"position":[[0,20]]},"729":{"position":[[0,20]]},"1112":{"position":[[4835,19]]}},"keywords":{}}],["actionerrorlocation.fil",{"_index":806,"title":{"26":{"position":[[0,25]]},"178":{"position":[[0,25]]}},"content":{"26":{"position":[[0,25]]},"178":{"position":[[0,25]]}},"keywords":{}}],["actionerrorlocation.lin",{"_index":811,"title":{"27":{"position":[[0,25]]},"179":{"position":[[0,25]]}},"content":{"27":{"position":[[0,25]]},"179":{"position":[[0,25]]}},"keywords":{}}],["actionexecutionend",{"_index":5808,"title":{},"content":{"1126":{"position":[[1163,18]]}},"keywords":{}}],["actionexecutionstart",{"_index":5803,"title":{},"content":{"1126":{"position":[[872,20]]}},"keywords":{}}],["actionkey",{"_index":5738,"title":{},"content":{"1112":{"position":[[3163,10],[3692,9]]}},"keywords":{}}],["actionnam",{"_index":5739,"title":{},"content":{"1112":{"position":[[3198,11],[3795,10]]}},"keywords":{}}],["actionregistri",{"_index":4742,"title":{},"content":{"951":{"position":[[1072,14]]}},"keywords":{}}],["actionremote_execution_use_cas",{"_index":1903,"title":{},"content":{"362":{"position":[[1917,32]]},"741":{"position":[[1917,32]]}},"keywords":{}}],["actions,dynam",{"_index":4053,"title":{},"content":{"869":{"position":[[623,15]]}},"keywords":{}}],["actions.anon_target",{"_index":1012,"title":{"81":{"position":[[0,20]]},"82":{"position":[[0,21]]},"213":{"position":[[0,20]]},"214":{"position":[[0,21]]}},"content":{"81":{"position":[[4,20]]},"82":{"position":[[4,21]]},"213":{"position":[[4,20]]},"214":{"position":[[4,21]]}},"keywords":{}}],["actions.anon_target(my_anon_rule1",{"_index":3722,"title":{},"content":{"711":{"position":[[1476,34]]}},"keywords":{}}],["actions.anon_target(my_anon_rule2",{"_index":3725,"title":{},"content":{"711":{"position":[[1541,34]]}},"keywords":{}}],["actions.anon_target(my_anon_targets_rul",{"_index":1710,"title":{},"content":{"306":{"position":[[522,41]]}},"keywords":{}}],["actions.anon_target(my_mirror_rul",{"_index":3766,"title":{},"content":{"712":{"position":[[2468,35]]}},"keywords":{}}],["actions.artifact_tag",{"_index":1022,"title":{"83":{"position":[[0,21]]},"215":{"position":[[0,21]]}},"content":{"83":{"position":[[4,22]]},"215":{"position":[[4,22]]}},"keywords":{}}],["actions.assert_short_path",{"_index":1027,"title":{"84":{"position":[[0,26]]},"216":{"position":[[0,26]]}},"content":{},"keywords":{}}],["actions.assert_short_path(artifact",{"_index":1028,"title":{},"content":{"84":{"position":[[4,35]]},"216":{"position":[[4,35]]}},"keywords":{}}],["actions.cas_artifact",{"_index":1038,"title":{"85":{"position":[[0,21]]},"217":{"position":[[0,21]]}},"content":{"85":{"position":[[4,21]]},"217":{"position":[[4,21]]}},"keywords":{}}],["actions.copied_dir",{"_index":1067,"title":{"86":{"position":[[0,19]]},"218":{"position":[[0,19]]}},"content":{"86":{"position":[[4,19]]},"218":{"position":[[4,19]]}},"keywords":{}}],["actions.copy_dir",{"_index":1070,"title":{"87":{"position":[[0,17]]},"219":{"position":[[0,17]]}},"content":{"87":{"position":[[4,17]]},"219":{"position":[[4,17]]}},"keywords":{}}],["actions.copy_fil",{"_index":1072,"title":{"88":{"position":[[0,18]]},"220":{"position":[[0,18]]}},"content":{"88":{"position":[[4,18]]},"220":{"position":[[4,18]]}},"keywords":{}}],["actions.declare_output",{"_index":1075,"title":{"89":{"position":[[0,23]]},"221":{"position":[[0,23]]}},"content":{"89":{"position":[[4,23]]},"221":{"position":[[4,23]]}},"keywords":{}}],["actions.declare_output("resolved_attrs"",{"_index":4106,"title":{},"content":{"878":{"position":[[585,50]]}},"keywords":{}}],["actions.digest_config",{"_index":1096,"title":{"90":{"position":[[0,22]]},"222":{"position":[[0,22]]}},"content":{"90":{"position":[[4,23]]},"222":{"position":[[4,23]]}},"keywords":{}}],["actions.download_fil",{"_index":1104,"title":{"91":{"position":[[0,22]]},"223":{"position":[[0,22]]}},"content":{"91":{"position":[[4,22]]},"223":{"position":[[4,22]]}},"keywords":{}}],["actions.dynamic_output",{"_index":1113,"title":{"92":{"position":[[0,23]]},"224":{"position":[[0,23]]}},"content":{"92":{"position":[[4,23]]},"224":{"position":[[4,23]]},"878":{"position":[[1374,23]]}},"keywords":{}}],["actions.dynamic_output_new",{"_index":1159,"title":{"93":{"position":[[0,27]]},"225":{"position":[[0,27]]}},"content":{},"keywords":{}}],["actions.dynamic_output_new(dynamic_act",{"_index":1160,"title":{},"content":{"93":{"position":[[4,43]]},"225":{"position":[[4,43]]}},"keywords":{}}],["actions.run",{"_index":1164,"title":{"94":{"position":[[0,12]]},"226":{"position":[[0,12]]}},"content":{"94":{"position":[[4,12]]},"226":{"position":[[4,12]]}},"keywords":{}}],["actions.symlink_fil",{"_index":1241,"title":{"95":{"position":[[0,21]]},"227":{"position":[[0,21]]}},"content":{"95":{"position":[[4,21]]},"227":{"position":[[4,21]]}},"keywords":{}}],["actions.symlinked_dir",{"_index":1242,"title":{"96":{"position":[[0,22]]},"228":{"position":[[0,22]]}},"content":{"96":{"position":[[4,22]]},"228":{"position":[[4,22]]}},"keywords":{}}],["actions.tset",{"_index":1243,"title":{"97":{"position":[[0,13]]},"229":{"position":[[0,13]]}},"content":{"97":{"position":[[4,13]]},"229":{"position":[[4,13]]}},"keywords":{}}],["actions.writ",{"_index":1249,"title":{"98":{"position":[[0,14]]},"230":{"position":[[0,14]]}},"content":{"98":{"position":[[4,14]]},"230":{"position":[[4,14]]}},"keywords":{}}],["actions.write("my_output"",{"_index":1588,"title":{},"content":{"288":{"position":[[332,36]]},"289":{"position":[[352,36]]},"344":{"position":[[494,36]]},"851":{"position":[[213,36]]}},"keywords":{}}],["actions.write_json",{"_index":1264,"title":{"99":{"position":[[0,19]]},"231":{"position":[[0,19]]}},"content":{"99":{"position":[[4,19]]},"231":{"position":[[4,19]]}},"keywords":{}}],["actions.write_json("query_params"",{"_index":4099,"title":{},"content":{"878":{"position":[[378,44]]}},"keywords":{}}],["actions_factori",{"_index":3913,"title":{},"content":{"851":{"position":[[42,16]]},"950":{"position":[[920,15]]}},"keywords":{}}],["actions_factory.write("file.txt"",{"_index":4732,"title":{},"content":{"950":{"position":[[975,43]]}},"keywords":{}}],["actionsbelow",{"_index":3880,"title":{},"content":{"845":{"position":[[372,14]]}},"keywords":{}}],["actionsuberror",{"_index":813,"title":{"28":{"position":[[0,14]]},"184":{"position":[[0,14]]},"351":{"position":[[0,15]]},"730":{"position":[[0,15]]}},"content":{"41":{"position":[[173,14]]},"174":{"position":[[173,14]]},"351":{"position":[[0,15]]},"730":{"position":[[0,15]]},"1112":{"position":[[4149,14]]}},"keywords":{}}],["actionsuberror.categori",{"_index":814,"title":{"29":{"position":[[0,24]]},"185":{"position":[[0,24]]}},"content":{"29":{"position":[[0,24]]},"185":{"position":[[0,24]]}},"keywords":{}}],["actionsuberror.loc",{"_index":817,"title":{"30":{"position":[[0,25]]},"186":{"position":[[0,25]]}},"content":{"30":{"position":[[0,25]]},"186":{"position":[[0,25]]}},"keywords":{}}],["actionsuberror.messag",{"_index":819,"title":{"31":{"position":[[0,23]]},"187":{"position":[[0,23]]}},"content":{"31":{"position":[[0,23]]},"187":{"position":[[0,23]]}},"keywords":{}}],["activ",{"_index":292,"title":{},"content":{"9":{"position":[[2534,8]]},"12":{"position":[[126,6]]},"553":{"position":[[181,6]]},"557":{"position":[[408,6]]},"558":{"position":[[263,6]]},"563":{"position":[[174,6]]},"564":{"position":[[168,6]]},"565":{"position":[[280,6]]},"567":{"position":[[453,6]]},"568":{"position":[[320,6]]},"569":{"position":[[233,6]]},"869":{"position":[[844,6]]},"888":{"position":[[993,7]]},"889":{"position":[[1023,6]]},"890":{"position":[[301,6]]},"1136":{"position":[[5534,7]]},"1138":{"position":[[9196,7]]},"1140":{"position":[[8122,7]]},"1142":{"position":[[3566,7]]},"1146":{"position":[[3506,7]]},"1148":{"position":[[6546,7]]},"1155":{"position":[[3602,7]]},"1156":{"position":[[3180,7]]},"1161":{"position":[[1073,7]]},"1167":{"position":[[356,9],[1105,8],[1139,8],[9126,7]]},"1181":{"position":[[1285,7]]},"1186":{"position":[[4770,7]]},"1187":{"position":[[4783,7]]},"1188":{"position":[[9509,7]]},"1191":{"position":[[3370,7]]},"1192":{"position":[[3545,7]]},"1193":{"position":[[3597,7]]},"1194":{"position":[[3237,7]]},"1195":{"position":[[3215,7]]},"1196":{"position":[[3025,7]]},"1197":{"position":[[4008,7]]},"1198":{"position":[[4018,7]]},"1199":{"position":[[4046,7]]},"1200":{"position":[[3913,7]]},"1201":{"position":[[3173,7]]},"1202":{"position":[[4315,7],[8712,7]]},"1203":{"position":[[3407,7]]},"1204":{"position":[[3251,7]]},"1205":{"position":[[4580,7]]},"1206":{"position":[[3051,7]]},"1207":{"position":[[3208,7]]},"1209":{"position":[[4556,7]]},"1217":{"position":[[7867,7]]},"1219":{"position":[[794,6]]},"1222":{"position":[[2977,7]]},"1223":{"position":[[2987,7]]},"1226":{"position":[[8335,7]]},"1228":{"position":[[9948,7]]},"1235":{"position":[[5816,7]]},"1237":{"position":[[8505,7]]},"1366":{"position":[[3242,6]]}},"keywords":{}}],["actool",{"_index":6875,"title":{},"content":{"1363":{"position":[[4035,9]]},"1368":{"position":[[407,7]]}},"keywords":{}}],["actual",{"_index":716,"title":{},"content":{"23":{"position":[[1153,8]]},"71":{"position":[[82,6]]},"92":{"position":[[2286,8],[2518,8]]},"224":{"position":[[2286,8],[2518,8]]},"344":{"position":[[391,6]]},"406":{"position":[[691,8]]},"416":{"position":[[353,8]]},"417":{"position":[[583,8]]},"494":{"position":[[82,6]]},"581":{"position":[[174,8]]},"590":{"position":[[445,8]]},"682":{"position":[[269,8]]},"688":{"position":[[1104,8]]},"704":{"position":[[1236,8]]},"705":{"position":[[325,6]]},"724":{"position":[[711,6],[1340,6],[1814,8]]},"725":{"position":[[157,6]]},"785":{"position":[[691,8]]},"795":{"position":[[353,8]]},"796":{"position":[[583,8]]},"834":{"position":[[661,8]]},"860":{"position":[[628,8]]},"904":{"position":[[1244,8]]},"927":{"position":[[76,6]]},"931":{"position":[[27,7],[74,6],[83,8]]},"951":{"position":[[670,6]]},"954":{"position":[[931,6]]},"955":{"position":[[1228,6]]},"980":{"position":[[1474,8],[1595,8]]},"991":{"position":[[1794,6],[1982,6]]},"993":{"position":[[341,6]]},"995":{"position":[[494,6],[1436,6]]},"1017":{"position":[[117,8]]},"1050":{"position":[[1220,8]]},"1054":{"position":[[173,6],[1562,8]]},"1071":{"position":[[393,8],[1322,6]]},"1072":{"position":[[227,8]]},"1093":{"position":[[208,8]]},"1102":{"position":[[901,6]]},"1103":{"position":[[1699,8]]},"1112":{"position":[[2858,8]]},"1247":{"position":[[632,6]]},"1376":{"position":[[334,7]]},"1377":{"position":[[331,7]]},"1455":{"position":[[3409,6],[3907,6],[4314,6]]},"1471":{"position":[[4286,6]]},"1472":{"position":[[4870,6]]},"1473":{"position":[[4607,6]]},"1483":{"position":[[330,7],[1302,6],[1439,6]]}},"keywords":{}}],["actual'",{"_index":4955,"title":{},"content":{"993":{"position":[[81,8]]},"994":{"position":[[91,8]]},"995":{"position":[[92,8]]}},"keywords":{}}],["actual_nod",{"_index":1577,"title":{},"content":{"286":{"position":[[453,11]]}},"keywords":{}}],["actx.actions.run",{"_index":5690,"title":{},"content":{"1105":{"position":[[1159,16]]}},"keywords":{}}],["acxx_librari",{"_index":3393,"title":{},"content":{"679":{"position":[[62,12]]}},"keywords":{}}],["acycl",{"_index":3427,"title":{},"content":{"684":{"position":[[53,7],[106,7]]},"695":{"position":[[355,8]]}},"keywords":{}}],["ad",{"_index":162,"title":{},"content":{"7":{"position":[[387,6]]},"23":{"position":[[501,5]]},"65":{"position":[[66,5]]},"99":{"position":[[1239,5]]},"231":{"position":[[1239,5]]},"377":{"position":[[1449,5]]},"405":{"position":[[1104,5],[1352,5],[1582,5],[1765,5],[2073,5],[2133,5]]},"406":{"position":[[599,5]]},"407":{"position":[[63,5]]},"453":{"position":[[66,5]]},"566":{"position":[[418,5]]},"567":{"position":[[303,6]]},"662":{"position":[[686,6]]},"681":{"position":[[495,5],[943,5]]},"708":{"position":[[476,5]]},"756":{"position":[[1449,5]]},"784":{"position":[[1104,5],[1352,5],[1582,5],[1765,5],[2073,5],[2133,5]]},"785":{"position":[[599,5]]},"786":{"position":[[63,5]]},"864":{"position":[[1744,5]]},"888":{"position":[[147,5],[1070,5],[1134,5],[1258,5],[1424,6]]},"889":{"position":[[712,5],[1184,6]]},"890":{"position":[[3162,5],[6110,6],[6171,5],[6221,5]]},"920":{"position":[[201,6]]},"929":{"position":[[138,6]]},"937":{"position":[[785,6],[2283,5]]},"954":{"position":[[902,6]]},"957":{"position":[[25,6]]},"990":{"position":[[608,5]]},"994":{"position":[[383,5]]},"1016":{"position":[[43,6]]},"1052":{"position":[[1471,5]]},"1079":{"position":[[430,6]]},"1105":{"position":[[315,6],[818,6]]},"1113":{"position":[[89,5]]},"1355":{"position":[[4408,5],[6884,5]]},"1362":{"position":[[7962,5],[8005,5],[11941,5]]},"1364":{"position":[[8563,5],[8811,5],[8854,5]]},"1367":{"position":[[8050,5],[8093,5],[13928,5]]},"1373":{"position":[[6962,5],[7902,5]]},"1382":{"position":[[6304,5],[9282,5],[10678,5]]},"1384":{"position":[[8749,5],[10190,5],[10233,5],[11251,5],[15627,5],[16925,5],[17173,5],[17752,5]]},"1385":{"position":[[5510,5]]},"1386":{"position":[[1961,5]]},"1387":{"position":[[8883,5]]},"1388":{"position":[[7173,5],[9171,5]]},"1393":{"position":[[5489,5]]},"1395":{"position":[[2361,5]]},"1398":{"position":[[3623,5]]},"1407":{"position":[[2513,5]]},"1415":{"position":[[4921,5]]},"1427":{"position":[[3553,5],[6083,5]]},"1439":{"position":[[4227,5]]},"1471":{"position":[[4443,5]]},"1472":{"position":[[5027,5]]},"1473":{"position":[[4764,5]]},"1485":{"position":[[2584,5],[3543,5]]},"1487":{"position":[[2009,5],[2360,5],[2958,5],[3433,5]]}},"keywords":{}}],["adapt",{"_index":6048,"title":{},"content":{"1221":{"position":[[196,7]]},"1224":{"position":[[23,7]]}},"keywords":{}}],["add",{"_index":27,"title":{},"content":{"3":{"position":[[225,4]]},"15":{"position":[[646,3]]},"18":{"position":[[410,3]]},"405":{"position":[[1255,3]]},"407":{"position":[[10,3],[145,4]]},"408":{"position":[[0,4]]},"639":{"position":[[376,3]]},"687":{"position":[[184,3]]},"784":{"position":[[1255,3]]},"786":{"position":[[10,3],[145,4]]},"787":{"position":[[0,4]]},"832":{"position":[[905,3]]},"840":{"position":[[855,3]]},"869":{"position":[[733,3]]},"872":{"position":[[516,3]]},"873":{"position":[[372,3]]},"908":{"position":[[80,3]]},"917":{"position":[[0,3]]},"937":{"position":[[1104,4]]},"938":{"position":[[746,4]]},"942":{"position":[[1039,3]]},"945":{"position":[[789,3]]},"947":{"position":[[1278,3]]},"961":{"position":[[316,3]]},"990":{"position":[[685,3],[1172,3]]},"1004":{"position":[[1335,3]]},"1054":{"position":[[873,3]]},"1076":{"position":[[36,3]]},"1077":{"position":[[270,3]]},"1078":{"position":[[127,3]]},"1082":{"position":[[799,3]]},"1083":{"position":[[635,3]]},"1093":{"position":[[80,3],[445,3]]},"1100":{"position":[[248,3]]},"1102":{"position":[[80,3]]},"1110":{"position":[[11,3]]},"1131":{"position":[[0,3]]},"1136":{"position":[[5295,4]]},"1138":{"position":[[8957,4]]},"1140":{"position":[[7883,4]]},"1142":{"position":[[3327,4]]},"1146":{"position":[[3267,4]]},"1148":{"position":[[6307,4]]},"1155":{"position":[[3363,4]]},"1156":{"position":[[2941,4]]},"1161":{"position":[[834,4]]},"1167":{"position":[[8887,4]]},"1181":{"position":[[1046,4]]},"1186":{"position":[[4531,4]]},"1187":{"position":[[4544,4]]},"1188":{"position":[[9270,4]]},"1191":{"position":[[3131,4]]},"1192":{"position":[[3306,4]]},"1193":{"position":[[3358,4]]},"1194":{"position":[[2998,4]]},"1195":{"position":[[2976,4]]},"1196":{"position":[[2786,4]]},"1197":{"position":[[3769,4]]},"1198":{"position":[[3779,4]]},"1199":{"position":[[3807,4]]},"1200":{"position":[[3674,4]]},"1201":{"position":[[2934,4]]},"1202":{"position":[[4076,4],[8473,4]]},"1203":{"position":[[3168,4]]},"1204":{"position":[[3012,4]]},"1205":{"position":[[4341,4]]},"1206":{"position":[[2812,4]]},"1207":{"position":[[2969,4]]},"1209":{"position":[[4317,4]]},"1217":{"position":[[7628,4]]},"1222":{"position":[[2738,4]]},"1223":{"position":[[2748,4]]},"1226":{"position":[[8096,4]]},"1228":{"position":[[9709,4]]},"1235":{"position":[[5577,4]]},"1237":{"position":[[8266,4]]},"1355":{"position":[[4031,3]]},"1362":{"position":[[7716,3],[11063,3],[13393,3]]},"1364":{"position":[[7955,3],[12030,3],[14093,3]]},"1367":{"position":[[11433,3],[13301,3]]},"1373":{"position":[[5578,3],[7698,3],[7853,3],[8004,3]]},"1382":{"position":[[7932,3],[10474,3],[10629,3],[10780,3]]},"1383":{"position":[[5792,4]]},"1384":{"position":[[7133,3],[9441,3],[13996,3],[14175,3],[17548,3],[17703,3],[17854,3]]},"1385":{"position":[[4163,3]]},"1387":{"position":[[7256,3],[7434,3]]},"1388":{"position":[[8546,3],[8967,3],[9122,3],[9273,3]]},"1393":{"position":[[5427,3],[5619,3]]},"1395":{"position":[[2835,4]]},"1397":{"position":[[2403,3]]},"1398":{"position":[[3325,3],[5417,4],[5614,3],[6557,3]]},"1415":{"position":[[4045,3]]},"1427":{"position":[[3176,3]]},"1439":{"position":[[3850,3]]},"1454":{"position":[[5534,3],[7648,3]]},"1471":{"position":[[3995,3],[4522,3]]},"1472":{"position":[[3473,3],[4579,3],[5106,3]]},"1473":{"position":[[4316,3],[4843,3]]},"1485":{"position":[[3339,3],[3494,3],[3645,3]]}},"keywords":{}}],["add_refer",{"_index":4169,"title":{},"content":{"888":{"position":[[733,14]]}},"keywords":{}}],["added.not",{"_index":4262,"title":{},"content":{"890":{"position":[[6657,11]]}},"keywords":{}}],["addit",{"_index":357,"title":{},"content":{"11":{"position":[[61,8]]},"52":{"position":[[184,10]]},"199":{"position":[[184,10]]},"314":{"position":[[247,9]]},"441":{"position":[[101,8]]},"579":{"position":[[3,8]]},"581":{"position":[[3,8],[134,10]]},"582":{"position":[[3,8],[72,10]]},"584":{"position":[[446,10]]},"679":{"position":[[314,8]]},"681":{"position":[[731,9]]},"690":{"position":[[2826,10]]},"708":{"position":[[449,10]]},"717":{"position":[[650,10]]},"820":{"position":[[101,8]]},"834":{"position":[[427,10],[734,9]]},"858":{"position":[[123,8]]},"865":{"position":[[625,9]]},"869":{"position":[[673,9]]},"890":{"position":[[3528,9],[4779,10],[6117,10]]},"900":{"position":[[2040,8]]},"959":{"position":[[297,10]]},"1000":{"position":[[374,10]]},"1019":{"position":[[77,9]]},"1024":{"position":[[3,8]]},"1093":{"position":[[758,10]]},"1096":{"position":[[109,10]]},"1098":{"position":[[192,10]]},"1112":{"position":[[1214,10]]},"1114":{"position":[[428,10]]},"1136":{"position":[[5195,10]]},"1138":{"position":[[8857,10]]},"1140":{"position":[[7783,10]]},"1142":{"position":[[3227,10]]},"1146":{"position":[[3167,10]]},"1148":{"position":[[6207,10]]},"1155":{"position":[[3263,10]]},"1156":{"position":[[2841,10]]},"1161":{"position":[[734,10]]},"1167":{"position":[[182,10],[8787,10]]},"1181":{"position":[[946,10]]},"1186":{"position":[[4431,10]]},"1187":{"position":[[4444,10]]},"1188":{"position":[[9170,10]]},"1191":{"position":[[3031,10]]},"1192":{"position":[[3206,10]]},"1193":{"position":[[3258,10]]},"1194":{"position":[[2898,10]]},"1195":{"position":[[2876,10]]},"1196":{"position":[[2686,10]]},"1197":{"position":[[3669,10]]},"1198":{"position":[[3679,10]]},"1199":{"position":[[3707,10]]},"1200":{"position":[[3574,10]]},"1201":{"position":[[2834,10]]},"1202":{"position":[[3976,10],[8373,10]]},"1203":{"position":[[3068,10]]},"1204":{"position":[[2912,10]]},"1205":{"position":[[4241,10]]},"1206":{"position":[[2712,10]]},"1207":{"position":[[2869,10]]},"1209":{"position":[[4217,10]]},"1217":{"position":[[298,10],[7528,10]]},"1222":{"position":[[2638,10]]},"1223":{"position":[[2648,10]]},"1226":{"position":[[4231,10],[4449,10],[4639,10],[7996,10]]},"1228":{"position":[[202,10],[9609,10]]},"1235":{"position":[[5477,10]]},"1237":{"position":[[4401,10],[4619,10],[4809,10],[8166,10]]},"1346":{"position":[[585,10]]},"1351":{"position":[[2154,10],[2536,10]]},"1355":{"position":[[4565,10],[4709,10]]},"1362":{"position":[[4943,8],[5006,10],[13138,8]]},"1364":{"position":[[4969,8],[5033,10],[13838,8]]},"1367":{"position":[[13046,8]]},"1373":{"position":[[4025,10],[4202,10],[4282,10]]},"1381":{"position":[[1650,10]]},"1382":{"position":[[7236,10],[11500,8]]},"1384":{"position":[[9609,10],[19154,8],[21300,10]]},"1385":{"position":[[7078,8]]},"1387":{"position":[[10451,8]]},"1388":{"position":[[4667,10],[8105,10],[9993,8]]},"1393":{"position":[[6499,10],[7469,10],[8539,8]]},"1394":{"position":[[1676,10]]},"1395":{"position":[[2723,10]]},"1396":{"position":[[1576,10]]},"1397":{"position":[[2274,10]]},"1398":{"position":[[3432,10],[3532,10],[3701,10],[4415,10]]},"1405":{"position":[[2160,10],[2409,10]]},"1407":{"position":[[2201,10],[2463,8],[2830,10]]},"1408":{"position":[[1870,10],[1947,10]]},"1410":{"position":[[2602,10],[2853,10]]},"1412":{"position":[[3061,10]]},"1416":{"position":[[2534,10]]},"1422":{"position":[[3768,10]]},"1423":{"position":[[2538,10]]},"1427":{"position":[[3710,10],[7441,10]]},"1429":{"position":[[5099,9]]},"1439":{"position":[[4392,10],[8267,10]]},"1440":{"position":[[5093,9]]},"1442":{"position":[[2873,8]]},"1446":{"position":[[2441,10]]},"1448":{"position":[[1936,10]]},"1449":{"position":[[1870,10]]},"1462":{"position":[[6154,10],[6439,10]]},"1467":{"position":[[7267,10],[7554,10]]},"1469":{"position":[[2350,10]]},"1470":{"position":[[4302,10]]},"1471":{"position":[[3942,10],[4997,10]]},"1472":{"position":[[3417,10],[4526,10],[5498,10]]},"1473":{"position":[[4263,10],[5447,10]]},"1485":{"position":[[4364,8]]}},"keywords":{}}],["addition",{"_index":442,"title":{},"content":{"15":{"position":[[79,13]]},"18":{"position":[[319,13]]},"297":{"position":[[684,12]]},"559":{"position":[[369,12]]},"587":{"position":[[674,12]]},"969":{"position":[[255,13]]},"1113":{"position":[[491,12]]},"1138":{"position":[[4881,12],[5770,13]]},"1140":{"position":[[612,12],[4370,12]]},"1148":{"position":[[3120,13]]},"1150":{"position":[[146,12]]},"1167":{"position":[[5374,12]]},"1186":{"position":[[1344,13]]},"1187":{"position":[[1357,13]]},"1188":{"position":[[665,12],[4423,12],[6083,13]]},"1197":{"position":[[582,13]]},"1198":{"position":[[592,13]]},"1199":{"position":[[620,13]]},"1200":{"position":[[487,13]]},"1217":{"position":[[4115,12]]},"1228":{"position":[[6196,12]]},"1360":{"position":[[1542,13]]},"1383":{"position":[[4944,13]]},"1398":{"position":[[3957,13]]}},"keywords":{}}],["addition/subtract",{"_index":2477,"title":{"858":{"position":[[4,20]]}},"content":{"498":{"position":[[71,21]]}},"keywords":{}}],["additional_aapt_param",{"_index":6418,"title":{},"content":{"1350":{"position":[[697,23]]},"1352":{"position":[[697,23]]}},"keywords":{}}],["additional_coverage_target",{"_index":7307,"title":{},"content":{"1388":{"position":[[439,28]]},"1467":{"position":[[583,28]]}},"keywords":{}}],["address",{"_index":3433,"title":{},"content":{"685":{"position":[[93,7]]},"724":{"position":[[1003,11],[1225,11]]},"1345":{"position":[[128,7],[179,7],[231,7],[255,11]]}},"keywords":{}}],["adef",{"_index":4234,"title":{},"content":{"890":{"position":[[3446,4]]}},"keywords":{}}],["adepend",{"_index":3603,"title":{},"content":{"693":{"position":[[9919,11]]}},"keywords":{}}],["adher",{"_index":2672,"title":{},"content":{"581":{"position":[[700,7]]}},"keywords":{}}],["adjac",{"_index":5708,"title":{},"content":{"1108":{"position":[[314,8]]}},"keywords":{}}],["adjust",{"_index":4281,"title":{},"content":{"892":{"position":[[1811,6]]}},"keywords":{}}],["admin",{"_index":479,"title":{},"content":{"16":{"position":[[70,5]]}},"keywords":{}}],["adotslash",{"_index":446,"title":{},"content":{"15":{"position":[[130,9]]}},"keywords":{}}],["advanc",{"_index":121,"title":{},"content":{"6":{"position":[[172,8]]},"22":{"position":[[2169,8]]},"890":{"position":[[3653,8]]}},"keywords":{}}],["advantag",{"_index":694,"title":{},"content":{"23":{"position":[[240,10],[317,11]]},"315":{"position":[[114,9]]},"687":{"position":[[144,9]]},"955":{"position":[[262,9],[1298,9],[1397,9]]},"961":{"position":[[144,10]]},"1105":{"position":[[2528,9]]},"1108":{"position":[[149,9]]}},"keywords":{}}],["advis",{"_index":7482,"title":{},"content":{"1393":{"position":[[6799,9]]}},"keywords":{}}],["affect",{"_index":3652,"title":{},"content":{"706":{"position":[[44,7]]},"937":{"position":[[1196,6],[1692,6]]},"1001":{"position":[[980,8]]},"1019":{"position":[[154,6]]},"1064":{"position":[[1080,8]]},"1370":{"position":[[2931,6]]},"1386":{"position":[[2377,6]]}},"keywords":{}}],["aforward(a",{"_index":4272,"title":{},"content":{"892":{"position":[[754,11]]}},"keywords":{}}],["afrozenheap",{"_index":4142,"title":{},"content":{"887":{"position":[[105,11]]},"889":{"position":[[669,11]]}},"keywords":{}}],["afrozenheapref",{"_index":4140,"title":{},"content":{"886":{"position":[[449,14]]}},"keywords":{}}],["afrozenheapref.a",{"_index":4147,"title":{},"content":{"887":{"position":[[394,16]]}},"keywords":{}}],["afterward",{"_index":2169,"title":{},"content":{"406":{"position":[[605,11]]},"785":{"position":[[605,11]]},"1386":{"position":[[2154,10]]}},"keywords":{}}],["ag",{"_index":6149,"title":{},"content":{"1232":{"position":[[3369,4]]}},"keywords":{}}],["again",{"_index":723,"title":{},"content":{"23":{"position":[[1315,6]]},"374":{"position":[[833,6]]},"704":{"position":[[2452,7]]},"753":{"position":[[833,6]]},"1037":{"position":[[387,6]]},"1046":{"position":[[178,5]]},"1079":{"position":[[1150,5]]},"1167":{"position":[[1710,6]]},"1360":{"position":[[5864,6]]}},"keywords":{}}],["against",{"_index":1817,"title":{},"content":{"334":{"position":[[539,7]]},"418":{"position":[[585,7]]},"474":{"position":[[278,7]]},"678":{"position":[[121,7]]},"797":{"position":[[585,7]]},"905":{"position":[[553,7]]},"937":{"position":[[3101,7]]},"944":{"position":[[487,7]]},"1024":{"position":[[1211,7]]},"1269":{"position":[[53,7],[107,7]]},"1300":{"position":[[53,7],[107,7]]},"1328":{"position":[[53,7],[107,7]]},"1351":{"position":[[843,8]]},"1353":{"position":[[2571,7]]},"1355":{"position":[[2242,7],[3443,7],[3538,7]]},"1358":{"position":[[3185,7]]},"1362":{"position":[[11401,7],[11734,7],[12210,7]]},"1364":{"position":[[8356,7],[12368,7],[12715,7]]},"1367":{"position":[[11771,7],[12118,7]]},"1373":{"position":[[6423,7],[6755,7],[7250,7]]},"1382":{"position":[[3190,7],[8270,7],[8620,7],[9075,7],[9571,7],[9926,7]]},"1384":{"position":[[7547,7],[7961,7],[8542,7],[9125,7],[14615,7],[14965,7],[15420,7],[15916,7],[16271,7]]},"1385":{"position":[[4500,7],[4849,7],[5303,7],[5798,7],[6152,7]]},"1387":{"position":[[7873,7],[8222,7],[8676,7],[9171,7],[9525,7]]},"1388":{"position":[[3492,7]]},"1415":{"position":[[4382,7],[4714,7]]},"1416":{"position":[[3238,7]]},"1420":{"position":[[2375,7]]},"1429":{"position":[[6191,7]]},"1439":{"position":[[3264,7],[3359,7]]},"1448":{"position":[[2321,7]]},"1449":{"position":[[2255,7]]},"1454":{"position":[[5947,7],[6360,7],[6913,7],[8083,7],[8395,7],[8715,7]]},"1455":{"position":[[2718,7]]},"1462":{"position":[[8238,7]]},"1465":{"position":[[3276,7],[3687,7]]},"1467":{"position":[[9300,7],[9545,7]]},"1485":{"position":[[2884,7],[4966,7]]}},"keywords":{}}],["aggreg",{"_index":2682,"title":{},"content":{"582":{"position":[[303,9]]},"937":{"position":[[371,10]]},"956":{"position":[[67,10]]},"1086":{"position":[[8,9]]},"1112":{"position":[[1536,11]]},"1178":{"position":[[630,9],[647,10]]},"1179":{"position":[[556,9],[573,10]]},"1284":{"position":[[533,11]]},"1315":{"position":[[533,11]]},"1343":{"position":[[533,11]]},"1446":{"position":[[2511,9]]}},"keywords":{}}],["agnost",{"_index":708,"title":{},"content":{"23":{"position":[[835,8]]},"715":{"position":[[192,9]]},"1487":{"position":[[699,8]]}},"keywords":{}}],["ahead",{"_index":300,"title":{},"content":{"9":{"position":[[2681,5]]}},"keywords":{}}],["aidl",{"_index":7663,"title":{},"content":{"1402":{"position":[[402,5],[721,5],[1602,5],[1659,5],[1682,4],[1817,4],[1870,4],[1946,4],[2057,4],[2193,10],[2326,7],[2334,4]]}},"keywords":{}}],["aidl_src",{"_index":7664,"title":{},"content":{"1402":{"position":[[413,10]]}},"keywords":{}}],["aim",{"_index":655,"title":{},"content":{"22":{"position":[[834,4]]},"977":{"position":[[595,6]]}},"keywords":{}}],["ajava_binari",{"_index":3417,"title":{},"content":{"681":{"position":[[570,12]]}},"keywords":{}}],["ajava_librari",{"_index":3413,"title":{},"content":{"681":{"position":[[339,13],[376,13],[598,13]]}},"keywords":{}}],["aka",{"_index":724,"title":{},"content":{"23":{"position":[[1343,4]]}},"keywords":{}}],["al",{"_index":4464,"title":{},"content":{"911":{"position":[[131,3]]}},"keywords":{}}],["albeit",{"_index":6100,"title":{},"content":{"1231":{"position":[[771,6]]}},"keywords":{}}],["algorithm",{"_index":2985,"title":{"1253":{"position":[[0,15]]}},"content":{"616":{"position":[[539,10]]},"666":{"position":[[209,9]]},"975":{"position":[[296,9]]},"977":{"position":[[212,9]]},"1226":{"position":[[1588,10],[1622,9]]},"1237":{"position":[[1758,10],[1792,9]]}},"keywords":{}}],["alia",{"_index":1386,"title":{"586":{"position":[[0,8]]},"992":{"position":[[0,5]]},"993":{"position":[[0,6]]}},"content":{"143":{"position":[[87,5]]},"266":{"position":[[87,5]]},"587":{"position":[[305,5]]},"676":{"position":[[179,7]]},"693":{"position":[[8927,7]]},"700":{"position":[[198,6]]},"940":{"position":[[1032,7]]},"969":{"position":[[106,6],[140,5]]},"991":{"position":[[3167,6],[3232,5],[3532,5]]},"993":{"position":[[4,5],[304,6]]},"995":{"position":[[773,5],[1046,5],[1295,5]]},"1052":{"position":[[1207,5],[1409,5]]},"1054":{"position":[[1016,5]]},"1093":{"position":[[567,6]]},"1209":{"position":[[0,5]]},"1226":{"position":[[0,5],[284,5]]},"1237":{"position":[[454,5]]},"1370":{"position":[[2770,8]]},"1384":{"position":[[20394,5]]},"1438":{"position":[[1673,5]]},"1471":{"position":[[4811,5]]},"1472":{"position":[[3762,5],[5395,5]]},"1473":{"position":[[5132,5]]},"1483":{"position":[[412,5]]}},"keywords":{}}],["alias",{"_index":1487,"title":{"700":{"position":[[7,8]]}},"content":{"242":{"position":[[84,8],[253,7],[277,7],[346,7],[389,7],[428,7]]},"443":{"position":[[54,7]]},"580":{"position":[[437,8]]},"586":{"position":[[50,8],[124,7]]},"676":{"position":[[37,7],[70,7]]},"700":{"position":[[36,7],[69,7],[160,7]]},"822":{"position":[[54,7]]},"940":{"position":[[906,7],[953,8],[997,7]]},"941":{"position":[[301,7]]},"942":{"position":[[311,7]]},"991":{"position":[[3299,8]]},"993":{"position":[[106,7],[213,7]]},"994":{"position":[[116,7]]},"995":{"position":[[117,7],[464,7]]},"1191":{"position":[[151,7],[175,7],[326,7],[361,7],[400,7]]},"1226":{"position":[[347,7]]},"1237":{"position":[[517,7]]},"1483":{"position":[[1333,8]]}},"keywords":{}}],["alias]app",{"_index":2725,"title":{},"content":{"586":{"position":[[59,10]]}},"keywords":{}}],["aliases_to_resolv",{"_index":1486,"title":{},"content":{"242":{"position":[[27,19],[219,18]]}},"keywords":{}}],["align",{"_index":2821,"title":{},"content":{"595":{"position":[[1302,10]]}},"keywords":{}}],["aliv",{"_index":4138,"title":{},"content":{"886":{"position":[[335,6],[560,6]]},"889":{"position":[[166,6]]}},"keywords":{}}],["all([0",{"_index":3059,"title":{},"content":{"628":{"position":[[169,7],[225,7],[246,7]]}},"keywords":{}}],["all([1",{"_index":3058,"title":{},"content":{"628":{"position":[[126,7],[149,7],[295,7]]}},"keywords":{}}],["all([tru",{"_index":3060,"title":{},"content":{"628":{"position":[[196,10],[271,10]]}},"keywords":{}}],["all(x",{"_index":3056,"title":{},"content":{"628":{"position":[[4,6]]}},"keywords":{}}],["all:src:9.2.10.v20150310",{"_index":8389,"title":{},"content":{"1469":{"position":[[3039,26],[3374,26]]}},"keywords":{}}],["all_actions(target",{"_index":6301,"title":{"1287":{"position":[[0,20]]}},"content":{"1285":{"position":[[131,20]]}},"keywords":{}}],["all_outputs(target",{"_index":6300,"title":{"1286":{"position":[[0,20]]}},"content":{"1285":{"position":[[0,20]]}},"keywords":{}}],["all_plugin",{"_index":1321,"title":{},"content":{"121":{"position":[[13,11]]},"131":{"position":[[132,11]]},"254":{"position":[[132,11]]},"530":{"position":[[13,11]]}},"keywords":{}}],["all_target",{"_index":5190,"title":{},"content":{"1044":{"position":[[1856,11]]}},"keywords":{}}],["all_targets.anon_targets[0].artifact("hello"",{"_index":5191,"title":{},"content":{"1044":{"position":[[1947,55]]}},"keywords":{}}],["all_targets.anon_targets[1].artifact("goodbye"",{"_index":5193,"title":{},"content":{"1044":{"position":[[2013,57]]}},"keywords":{}}],["all_test",{"_index":8516,"title":{},"content":{"1482":{"position":[[1848,9],[3014,12]]}},"keywords":{}}],["allbuildfiles(univers",{"_index":6243,"title":{"1267":{"position":[[0,23]]},"1298":{"position":[[0,23]]},"1326":{"position":[[0,23]]}},"content":{"1259":{"position":[[657,23]]},"1290":{"position":[[657,23]]},"1318":{"position":[[657,23]]}},"keywords":{}}],["alldef",{"_index":4042,"title":{},"content":{"867":{"position":[[1941,12]]}},"keywords":{}}],["alloc",{"_index":1024,"title":{"1251":{"position":[[11,10]]},"1252":{"position":[[7,10]]},"1255":{"position":[[0,10]]}},"content":{"83":{"position":[[47,8]]},"215":{"position":[[47,8]]},"444":{"position":[[83,9]]},"823":{"position":[[83,9]]},"886":{"position":[[93,9],[171,9]]},"887":{"position":[[90,10],[188,9]]},"888":{"position":[[499,8],[563,9],[698,10],[895,9]]},"892":{"position":[[629,8]]},"1056":{"position":[[275,9],[364,9],[482,10],[578,11],[903,10]]},"1057":{"position":[[39,10],[100,11],[259,6],[820,9],[925,9],[1320,10]]},"1059":{"position":[[82,12]]},"1148":{"position":[[7376,10],[7421,10]]},"1186":{"position":[[506,10],[801,10],[818,9],[928,10],[973,10]]},"1187":{"position":[[519,10],[814,10],[831,9],[941,10],[986,10]]},"1188":{"position":[[5245,10],[5540,10],[5557,9],[5667,10],[5712,10]]},"1251":{"position":[[64,10]]},"1252":{"position":[[88,9],[148,8]]},"1253":{"position":[[98,10]]},"1254":{"position":[[70,8],[241,10]]},"1255":{"position":[[28,10],[426,10]]}},"keywords":{}}],["allocated.a",{"_index":4152,"title":{},"content":{"887":{"position":[[510,11]]}},"keywords":{}}],["allow",{"_index":146,"title":{"699":{"position":[[30,7]]}},"content":{"7":{"position":[[198,6]]},"90":{"position":[[97,6]]},"92":{"position":[[318,6],[1872,5]]},"94":{"position":[[2792,5],[3225,5]]},"222":{"position":[[97,6]]},"224":{"position":[[318,6],[1872,5]]},"226":{"position":[[2792,5],[3225,5]]},"362":{"position":[[2101,5],[2162,5]]},"389":{"position":[[274,5]]},"406":{"position":[[71,6]]},"580":{"position":[[379,5]]},"693":{"position":[[3141,5],[4079,5],[4646,6],[4729,6],[9877,6]]},"710":{"position":[[91,5]]},"711":{"position":[[1228,5]]},"715":{"position":[[1445,5]]},"741":{"position":[[2101,5],[2162,5]]},"768":{"position":[[274,5]]},"785":{"position":[[71,6]]},"869":{"position":[[448,5],[717,6]]},"900":{"position":[[1770,6],[1823,6]]},"919":{"position":[[54,6],[912,5],[1165,7],[1716,5]]},"924":{"position":[[640,6]]},"937":{"position":[[3375,8]]},"944":{"position":[[53,5],[553,8]]},"945":{"position":[[358,6]]},"949":{"position":[[100,6]]},"950":{"position":[[4,6]]},"951":{"position":[[451,5],[1153,5]]},"955":{"position":[[319,8],[493,8]]},"958":{"position":[[265,5]]},"959":{"position":[[70,6],[276,5]]},"961":{"position":[[158,8],[245,8]]},"962":{"position":[[53,8],[152,5]]},"970":{"position":[[174,7]]},"990":{"position":[[1339,5]]},"991":{"position":[[1289,5],[3423,5]]},"1027":{"position":[[48,5]]},"1040":{"position":[[809,8],[1974,5]]},"1070":{"position":[[524,5],[686,5],[725,5]]},"1071":{"position":[[1193,6]]},"1072":{"position":[[353,6]]},"1077":{"position":[[77,6],[151,5]]},"1097":{"position":[[292,6]]},"1120":{"position":[[263,5]]},"1161":{"position":[[267,5]]},"1172":{"position":[[1062,5],[1119,5]]},"1173":{"position":[[362,5],[419,5]]},"1174":{"position":[[266,5],[323,5]]},"1175":{"position":[[286,5],[343,5]]},"1176":{"position":[[370,5],[427,5]]},"1177":{"position":[[282,5],[339,5]]},"1178":{"position":[[436,5],[493,5]]},"1179":{"position":[[302,5],[359,5]]},"1180":{"position":[[632,5],[689,5]]},"1181":{"position":[[34,6],[387,5],[444,5]]},"1182":{"position":[[324,5],[381,5]]},"1183":{"position":[[279,5],[336,5]]},"1219":{"position":[[54,6],[682,5]]},"1228":{"position":[[992,5],[1026,5],[1149,5],[1548,7]]},"1355":{"position":[[3401,6]]},"1362":{"position":[[6230,5],[6351,6],[13455,5]]},"1364":{"position":[[6259,5],[6380,6],[14155,5]]},"1366":{"position":[[2794,6]]},"1367":{"position":[[7657,5],[7778,6],[13363,5]]},"1373":{"position":[[3786,5],[3907,6]]},"1381":{"position":[[1905,6],[2368,6]]},"1382":{"position":[[4142,5],[4263,6]]},"1384":{"position":[[5304,5],[5425,6]]},"1387":{"position":[[6512,5]]},"1388":{"position":[[4442,5],[4563,6]]},"1389":{"position":[[5306,5],[5413,6],[5553,5],[5660,6]]},"1393":{"position":[[2226,6],[4050,6],[4386,6],[6485,6],[6633,6],[7312,6],[7452,6]]},"1394":{"position":[[1662,6]]},"1395":{"position":[[1792,6],[2709,6]]},"1396":{"position":[[1562,6]]},"1397":{"position":[[2260,6]]},"1398":{"position":[[1263,6],[3238,6],[3687,6],[4258,6],[4398,6],[5581,6]]},"1429":{"position":[[4180,6]]},"1439":{"position":[[3222,6],[6714,5]]},"1440":{"position":[[4173,6]]},"1454":{"position":[[4251,5],[4372,6]]},"1461":{"position":[[2529,5]]},"1462":{"position":[[5264,5],[5385,6],[6016,5]]},"1465":{"position":[[2988,5]]},"1467":{"position":[[7128,5]]},"1468":{"position":[[1406,5]]},"1471":{"position":[[2810,5],[2931,6],[4610,6]]},"1472":{"position":[[3561,6],[5194,6]]},"1473":{"position":[[4931,6]]},"1486":{"position":[[2280,5]]},"1487":{"position":[[645,6],[2152,6]]}},"keywords":{}}],["allow_arg",{"_index":1250,"title":{},"content":{"98":{"position":[[345,11]]},"230":{"position":[[345,11]]}},"keywords":{}}],["allow_cache_upload",{"_index":1181,"title":{},"content":{"94":{"position":[[879,19]]},"226":{"position":[[879,19]]},"362":{"position":[[599,20]]},"741":{"position":[[599,20]]},"1362":{"position":[[545,19],[6199,19]]},"1364":{"position":[[598,19],[6228,19]]},"1367":{"position":[[1428,19],[7626,19]]},"1373":{"position":[[535,19]]},"1382":{"position":[[371,19],[4111,19]]},"1384":{"position":[[411,19],[5273,19]]},"1387":{"position":[[435,19]]},"1388":{"position":[[483,19],[4411,19]]},"1454":{"position":[[386,19]]},"1462":{"position":[[523,19]]},"1471":{"position":[[455,19],[2779,19]]}},"keywords":{}}],["allow_dep_file_cache_upload",{"_index":1182,"title":{},"content":{"94":{"position":[[913,28]]},"226":{"position":[[913,28]]}},"keywords":{}}],["allow_directori",{"_index":1389,"title":{},"content":{"145":{"position":[[21,16]]},"268":{"position":[[21,16]]}},"keywords":{}}],["allow_embed",{"_index":7292,"title":{},"content":{"1387":{"position":[[472,16]]}},"keywords":{}}],["allow_hybrid_fallbacks_on_failur",{"_index":1882,"title":{},"content":{"362":{"position":[[469,34]]},"741":{"position":[[469,34]]}},"keywords":{}}],["allow_limited_hybrid_fallback",{"_index":1881,"title":{},"content":{"362":{"position":[[423,31]]},"741":{"position":[[423,31]]}},"keywords":{}}],["allow_r_dot_java_in_secondary_dex",{"_index":6419,"title":{},"content":{"1350":{"position":[[736,34]]},"1352":{"position":[[736,34]]}},"keywords":{}}],["allow_suffix",{"_index":7293,"title":{},"content":{"1387":{"position":[[499,16]]}},"keywords":{}}],["allowed_duplicate_resource_typ",{"_index":6420,"title":{},"content":{"1350":{"position":[[781,33]]},"1352":{"position":[[781,33]]}},"keywords":{}}],["allowlist",{"_index":4479,"title":{},"content":{"919":{"position":[[189,9],[273,9]]}},"keywords":{}}],["allowlisted_local",{"_index":6631,"title":{},"content":{"1359":{"position":[[395,20]]}},"keywords":{}}],["allpath",{"_index":1773,"title":{},"content":{"324":{"position":[[539,8]]},"465":{"position":[[301,8]]},"1260":{"position":[[447,10],[695,10]]},"1291":{"position":[[447,10],[695,10]]},"1319":{"position":[[447,10],[695,10]]}},"keywords":{}}],["allpaths(from",{"_index":6234,"title":{"1260":{"position":[[0,14]]},"1291":{"position":[[0,14]]},"1319":{"position":[[0,14]]}},"content":{"1259":{"position":[[0,14]]},"1260":{"position":[[35,14]]},"1290":{"position":[[0,14]]},"1291":{"position":[[35,14]]},"1318":{"position":[[0,14]]},"1319":{"position":[[35,14]]}},"keywords":{}}],["along",{"_index":2591,"title":{},"content":{"567":{"position":[[182,5]]},"1025":{"position":[[286,5]]},"1398":{"position":[[4018,5],[5334,5]]},"1415":{"position":[[2498,5]]},"1471":{"position":[[4012,5]]},"1472":{"position":[[4596,5]]},"1473":{"position":[[4333,5]]}},"keywords":{}}],["alreadi",{"_index":223,"title":{},"content":{"9":{"position":[[1100,7],[2673,7]]},"11":{"position":[[507,7]]},"99":{"position":[[1263,7]]},"231":{"position":[[1263,7]]},"438":{"position":[[73,7]]},"444":{"position":[[145,7]]},"451":{"position":[[178,7]]},"706":{"position":[[1941,7]]},"817":{"position":[[73,7]]},"823":{"position":[[145,7]]},"830":{"position":[[178,7]]},"861":{"position":[[418,7]]},"919":{"position":[[1510,7]]},"938":{"position":[[30,7]]},"955":{"position":[[763,7]]},"977":{"position":[[278,7]]},"991":{"position":[[3180,7]]},"1044":{"position":[[2254,7]]},"1046":{"position":[[89,7]]},"1070":{"position":[[742,7]]},"1077":{"position":[[242,7]]},"1078":{"position":[[325,7]]},"1083":{"position":[[1239,7]]},"1084":{"position":[[168,7]]},"1088":{"position":[[107,7]]},"1108":{"position":[[20,7]]},"1113":{"position":[[331,8]]},"1172":{"position":[[806,7]]},"1399":{"position":[[1947,7]]},"1458":{"position":[[2164,7]]}},"keywords":{}}],["alter",{"_index":5059,"title":{},"content":{"1015":{"position":[[140,7]]},"1386":{"position":[[5658,5]]}},"keywords":{}}],["altern",{"_index":1379,"title":{"932":{"position":[[0,13]]}},"content":{"139":{"position":[[106,11]]},"262":{"position":[[106,11]]},"587":{"position":[[713,11]]},"724":{"position":[[1768,14]]},"990":{"position":[[1101,14]]},"1095":{"position":[[188,11]]},"1113":{"position":[[288,12]]},"1120":{"position":[[269,9]]},"1136":{"position":[[2218,11]]},"1148":{"position":[[2574,11]]},"1209":{"position":[[1451,11]]},"1235":{"position":[[2711,11]]},"1362":{"position":[[13612,9]]},"1364":{"position":[[14312,9]]}},"keywords":{}}],["although",{"_index":653,"title":{},"content":{"22":{"position":[[773,9]]},"276":{"position":[[376,8]]},"277":{"position":[[324,8]]},"281":{"position":[[456,8]]},"282":{"position":[[406,8]]},"577":{"position":[[0,8]]},"675":{"position":[[294,8]]},"680":{"position":[[1245,8]]},"685":{"position":[[0,8]]},"693":{"position":[[2285,8]]},"889":{"position":[[980,8]]},"919":{"position":[[988,8]]},"924":{"position":[[2394,8]]},"942":{"position":[[438,8]]},"1017":{"position":[[939,9]]},"1398":{"position":[[2903,8],[5049,8]]}},"keywords":{}}],["altogeth",{"_index":3785,"title":{},"content":{"715":{"position":[[1172,11]]}},"keywords":{}}],["alway",{"_index":789,"title":{"682":{"position":[[26,6]]}},"content":{"24":{"position":[[408,6]]},"123":{"position":[[89,6]]},"133":{"position":[[243,6]]},"256":{"position":[[243,6]]},"300":{"position":[[307,6]]},"418":{"position":[[1044,6]]},"433":{"position":[[149,6]]},"446":{"position":[[280,6]]},"532":{"position":[[89,6]]},"675":{"position":[[312,6]]},"690":{"position":[[86,6]]},"693":{"position":[[2255,6]]},"705":{"position":[[731,6]]},"706":{"position":[[476,6],[916,6],[974,6],[1725,6],[1934,6],[2289,6]]},"715":{"position":[[2006,6]]},"722":{"position":[[891,6]]},"797":{"position":[[1044,6]]},"812":{"position":[[149,6]]},"825":{"position":[[280,6]]},"836":{"position":[[45,6]]},"865":{"position":[[376,6],[708,6]]},"867":{"position":[[38,6]]},"877":{"position":[[326,6]]},"890":{"position":[[1810,6],[6795,6],[6854,6]]},"905":{"position":[[540,6]]},"919":{"position":[[1245,6],[2518,6]]},"937":{"position":[[1641,6],[3820,6]]},"943":{"position":[[2038,6]]},"944":{"position":[[1365,6]]},"947":{"position":[[1048,6]]},"950":{"position":[[805,6]]},"1069":{"position":[[260,6]]},"1075":{"position":[[195,6]]},"1112":{"position":[[702,6]]},"1114":{"position":[[579,6],[1076,6]]},"1124":{"position":[[35,6]]},"1125":{"position":[[17,6]]},"1126":{"position":[[200,6]]},"1136":{"position":[[4239,7]]},"1138":{"position":[[7901,7]]},"1140":{"position":[[6827,7]]},"1142":{"position":[[2271,7]]},"1146":{"position":[[2211,7]]},"1148":{"position":[[5251,7]]},"1155":{"position":[[2307,7]]},"1156":{"position":[[1885,7]]},"1167":{"position":[[7831,7]]},"1169":{"position":[[1670,7]]},"1186":{"position":[[3475,7]]},"1187":{"position":[[3488,7]]},"1188":{"position":[[8214,7]]},"1191":{"position":[[2075,7]]},"1192":{"position":[[2250,7]]},"1193":{"position":[[2302,7]]},"1194":{"position":[[1942,7]]},"1195":{"position":[[1920,7]]},"1196":{"position":[[1730,7]]},"1197":{"position":[[2713,7]]},"1198":{"position":[[2723,7]]},"1199":{"position":[[2751,7]]},"1200":{"position":[[2618,7]]},"1201":{"position":[[1878,7]]},"1202":{"position":[[3020,7],[7417,7]]},"1203":{"position":[[2112,7]]},"1204":{"position":[[1956,7]]},"1205":{"position":[[3285,7]]},"1206":{"position":[[1756,7]]},"1207":{"position":[[1913,7]]},"1209":{"position":[[3261,7]]},"1217":{"position":[[6572,7]]},"1219":{"position":[[2558,7]]},"1222":{"position":[[1682,7]]},"1223":{"position":[[1692,7]]},"1224":{"position":[[1872,7]]},"1226":{"position":[[7040,7]]},"1228":{"position":[[622,7],[801,6],[827,6],[8653,7]]},"1232":{"position":[[3632,6]]},"1235":{"position":[[4521,7]]},"1237":{"position":[[7210,7]]},"1358":{"position":[[2761,6]]},"1360":{"position":[[4319,6]]},"1383":{"position":[[6352,6]]},"1386":{"position":[[5417,6]]},"1393":{"position":[[1266,6]]},"1394":{"position":[[715,6]]},"1395":{"position":[[3213,6]]},"1403":{"position":[[3734,6]]},"1422":{"position":[[2232,6]]}},"keywords":{}}],["always_print_stderr",{"_index":1175,"title":{},"content":{"94":{"position":[[674,20]]},"226":{"position":[[674,20]]},"1360":{"position":[[490,20]]},"1383":{"position":[[439,20]]},"1403":{"position":[[410,20]]},"1424":{"position":[[416,20]]},"1432":{"position":[[463,20]]}},"keywords":{}}],["amawher",{"_index":81,"title":{},"content":{"5":{"position":[[79,8]]}},"keywords":{}}],["amaz",{"_index":8619,"title":{},"content":{"1487":{"position":[[3461,8]]}},"keywords":{}}],["ambigu",{"_index":7484,"title":{},"content":{"1393":{"position":[[6897,10]]}},"keywords":{}}],["amend",{"_index":5311,"title":{},"content":{"1050":{"position":[[4311,8],[4674,5]]}},"keywords":{}}],["amongst",{"_index":6175,"title":{},"content":{"1243":{"position":[[323,7]]}},"keywords":{}}],["amort",{"_index":8556,"title":{},"content":{"1486":{"position":[[738,8]]}},"keywords":{}}],["amount",{"_index":4063,"title":{},"content":{"870":{"position":[[807,6]]},"981":{"position":[[696,6]]},"1177":{"position":[[476,6]]},"1247":{"position":[[27,6]]},"1354":{"position":[[2912,6]]},"1388":{"position":[[10139,6]]},"1392":{"position":[[2263,6]]},"1410":{"position":[[5362,6]]},"1429":{"position":[[5859,6]]},"1440":{"position":[[5759,6]]},"1467":{"position":[[10381,6]]}},"keywords":{}}],["amp",{"_index":116,"title":{},"content":{"6":{"position":[[86,5]]}},"keywords":{}}],["amp;&",{"_index":7684,"title":{},"content":{"1403":{"position":[[5756,10]]},"1407":{"position":[[5095,10]]}},"keywords":{}}],["amp;'v",{"_index":4181,"title":{},"content":{"889":{"position":[[301,7]]}},"keywords":{}}],["amp;frozenmodul",{"_index":4180,"title":{},"content":{"889":{"position":[[278,18]]}},"keywords":{}}],["amp;ltn>",{"_index":8602,"title":{},"content":{"1486":{"position":[[5611,13],[5856,13]]}},"keywords":{}}],["analog",{"_index":4530,"title":{},"content":{"924":{"position":[[670,9]]},"1405":{"position":[[2237,6]]},"1407":{"position":[[2658,6]]},"1410":{"position":[[2680,6]]}},"keywords":{}}],["analys",{"_index":3841,"title":{},"content":{"837":{"position":[[148,9]]}},"keywords":{}}],["analysi",{"_index":380,"title":{"722":{"position":[[9,9]]},"845":{"position":[[0,9]]},"852":{"position":[[26,9]]},"853":{"position":[[32,9]]},"854":{"position":[[33,9]]},"874":{"position":[[14,9]]},"922":{"position":[[27,8]]},"1017":{"position":[[30,9]]},"1186":{"position":[[13,9]]},"1199":{"position":[[11,8]]}},"content":{"11":{"position":[[571,8]]},"81":{"position":[[194,9]]},"84":{"position":[[202,8]]},"89":{"position":[[193,8]]},"92":{"position":[[405,8],[2131,8],[2354,8]]},"205":{"position":[[82,8]]},"207":{"position":[[79,8]]},"209":{"position":[[39,8]]},"213":{"position":[[194,9]]},"216":{"position":[[202,8]]},"221":{"position":[[193,8]]},"224":{"position":[[405,8],[2131,8],[2354,8]]},"233":{"position":[[70,8],[238,8]]},"236":{"position":[[443,8]]},"294":{"position":[[479,8],[728,8],[1288,8]]},"298":{"position":[[843,8]]},"710":{"position":[[375,8]]},"711":{"position":[[981,8]]},"715":{"position":[[1802,9]]},"721":{"position":[[64,8]]},"722":{"position":[[7,8]]},"835":{"position":[[247,8]]},"840":{"position":[[1328,9]]},"845":{"position":[[12,8],[62,8]]},"846":{"position":[[1885,8]]},"847":{"position":[[279,8],[344,8]]},"848":{"position":[[779,9]]},"852":{"position":[[14,11]]},"853":{"position":[[14,11]]},"872":{"position":[[609,8]]},"873":{"position":[[481,8]]},"874":{"position":[[19,8],[61,8]]},"876":{"position":[[146,8]]},"882":{"position":[[72,8]]},"924":{"position":[[276,8],[410,8],[474,8],[1207,8],[1887,8],[2384,9]]},"929":{"position":[[282,9]]},"963":{"position":[[58,8]]},"988":{"position":[[190,8]]},"989":{"position":[[310,8]]},"990":{"position":[[514,9]]},"991":{"position":[[963,8],[1180,8],[1439,8],[2172,8],[2465,8]]},"1017":{"position":[[138,8],[835,8],[889,10]]},"1021":{"position":[[631,8],[718,8]]},"1026":{"position":[[7,9],[740,8]]},"1046":{"position":[[504,8]]},"1049":{"position":[[388,9]]},"1056":{"position":[[87,8],[335,8]]},"1185":{"position":[[87,8],[104,8]]},"1186":{"position":[[8,8],[46,8],[188,8],[593,8],[789,9]]},"1187":{"position":[[201,8],[606,8],[802,9]]},"1188":{"position":[[5332,8],[5528,9]]},"1190":{"position":[[684,8],[712,8]]},"1199":{"position":[[11,8],[69,8]]},"1285":{"position":[[215,8]]},"1287":{"position":[[43,8]]}},"keywords":{}}],["analysis.artifact",{"_index":1128,"title":{},"content":{"92":{"position":[[981,18]]},"224":{"position":[[981,18]]}},"keywords":{}}],["analysis.output",{"_index":5137,"title":{},"content":{"1040":{"position":[[1083,16]]}},"keywords":{}}],["analysis_result",{"_index":1614,"title":{},"content":{"294":{"position":[[1178,15]]}},"keywords":{}}],["analysisact",{"_index":1865,"title":{"352":{"position":[[0,16]]},"731":{"position":[[0,16]]}},"content":{"352":{"position":[[0,16]]},"731":{"position":[[0,16]]}},"keywords":{}}],["analysisbuck2",{"_index":5353,"title":{},"content":{"1056":{"position":[[194,13]]}},"keywords":{}}],["analysiscontext",{"_index":1037,"title":{"353":{"position":[[0,16]]},"732":{"position":[[0,16]]}},"content":{"84":{"position":[[384,15]]},"216":{"position":[[384,15]]},"353":{"position":[[0,16]]},"437":{"position":[[329,16]]},"732":{"position":[[0,16]]},"816":{"position":[[329,16]]},"924":{"position":[[1936,15],[1958,15]]},"1044":{"position":[[3153,16]]},"1049":{"position":[[757,16],[1205,16]]},"1054":{"position":[[250,16],[1696,16]]},"1102":{"position":[[517,16]]},"1103":{"position":[[159,16]]}},"keywords":{}}],["analysisend",{"_index":5807,"title":{},"content":{"1126":{"position":[[1149,11]]}},"keywords":{}}],["analysisplugin",{"_index":991,"title":{},"content":{"74":{"position":[[17,15]]},"497":{"position":[[17,15]]}},"keywords":{}}],["analysisresult",{"_index":2105,"title":{},"content":{"402":{"position":[[52,14]]},"781":{"position":[[52,14]]},"923":{"position":[[193,14]]}},"keywords":{}}],["analysisstart",{"_index":5802,"title":{},"content":{"1126":{"position":[[856,13]]}},"keywords":{}}],["analyz",{"_index":2376,"title":{},"content":{"443":{"position":[[286,9],[382,9]]},"822":{"position":[[286,9],[382,9]]},"869":{"position":[[161,9]]},"870":{"position":[[440,9]]},"924":{"position":[[1372,9],[1605,11]]},"955":{"position":[[578,7]]},"964":{"position":[[918,9]]},"1017":{"position":[[323,8],[423,8]]},"1197":{"position":[[170,7]]},"1198":{"position":[[146,7]]},"1200":{"position":[[191,7]]},"1201":{"position":[[224,8]]}},"keywords":{}}],["anandroid_resourc",{"_index":6573,"title":{},"content":{"1355":{"position":[[7654,20]]}},"keywords":{}}],["anandroidmanifest.xml",{"_index":7688,"title":{},"content":{"1403":{"position":[[7434,21]]}},"keywords":{}}],["anartifact_promise_map",{"_index":5169,"title":{},"content":{"1042":{"position":[[489,27]]}},"keywords":{}}],["anatomi",{"_index":5470,"title":{"1067":{"position":[[0,7]]}},"content":{},"keywords":{}}],["ancestor",{"_index":972,"title":{},"content":{"69":{"position":[[369,8]]},"408":{"position":[[908,8]]},"457":{"position":[[369,8]]},"622":{"position":[[356,8],[468,10]]},"787":{"position":[[908,8]]}},"keywords":{}}],["anchor",{"_index":6812,"title":{},"content":{"1362":{"position":[[11350,8],[11719,8],[12159,8]]},"1364":{"position":[[8341,8],[12317,8],[12664,8]]},"1367":{"position":[[11720,8],[12067,8]]},"1373":{"position":[[6372,8],[6740,8],[7199,8]]},"1382":{"position":[[8219,8],[8569,8],[9060,8],[9520,8],[9875,8]]},"1384":{"position":[[7496,8],[7910,8],[8527,8],[9074,8],[14564,8],[14914,8],[15405,8],[15865,8],[16220,8],[19294,8]]},"1385":{"position":[[4449,8],[4798,8],[5288,8],[5747,8],[6101,8]]},"1387":{"position":[[7822,8],[8171,8],[8661,8],[9120,8],[9474,8]]},"1415":{"position":[[4331,8],[4699,8],[5271,8]]},"1416":{"position":[[3187,8]]},"1420":{"position":[[2324,8]]},"1448":{"position":[[2270,8]]},"1449":{"position":[[2204,8]]},"1454":{"position":[[5896,8],[6309,8],[6862,8],[8032,8],[8344,8],[8664,8],[9307,8]]},"1455":{"position":[[2667,8]]},"1465":{"position":[[3261,8],[3672,8]]},"1467":{"position":[[9530,8]]},"1485":{"position":[[2833,8]]}},"keywords":{}}],["and"socket_address"",{"_index":2046,"title":{},"content":{"377":{"position":[[1406,30]]},"756":{"position":[[1406,30]]}},"keywords":{}}],["and/or",{"_index":4008,"title":{},"content":{"867":{"position":[[200,6]]},"1167":{"position":[[977,6]]},"1245":{"position":[[235,6]]},"1415":{"position":[[5966,6]]}},"keywords":{}}],["and:p2_real",{"_index":4942,"title":{},"content":{"991":{"position":[[2397,12]]}},"keywords":{}}],["andanonym",{"_index":4054,"title":{},"content":{"869":{"position":[[648,12]]}},"keywords":{}}],["andapk_genrul",{"_index":5840,"title":{},"content":{"1132":{"position":[[365,15]]}},"keywords":{}}],["andattrs.exec_dep",{"_index":5069,"title":{},"content":{"1024":{"position":[[408,20]]}},"keywords":{}}],["andbuck",{"_index":3584,"title":{},"content":{"693":{"position":[[7923,7]]}},"keywords":{}}],["andbuck.execution_platform",{"_index":3500,"title":{},"content":{"690":{"position":[[2863,26]]}},"keywords":{}}],["andcqueri",{"_index":361,"title":{},"content":{"11":{"position":[[214,10]]},"690":{"position":[[629,9]]}},"keywords":{}}],["anddef",{"_index":5535,"title":{},"content":{"1079":{"position":[[399,11]]}},"keywords":{}}],["anddeps(//example:bar",{"_index":4405,"title":{},"content":{"904":{"position":[[660,22]]}},"keywords":{}}],["andfailur",{"_index":3877,"title":{},"content":{"844":{"position":[[104,13]]}},"keywords":{}}],["andfoo/bar/buck",{"_index":2244,"title":{},"content":{"418":{"position":[[715,15]]},"797":{"position":[[715,15]]}},"keywords":{}}],["andnix",{"_index":154,"title":{},"content":{"7":{"position":[[328,6]]}},"keywords":{}}],["andpackag",{"_index":4481,"title":{},"content":{"919":{"position":[[401,10]]}},"keywords":{}}],["andpulls_and_pushes_plugin",{"_index":4954,"title":{},"content":{"991":{"position":[[3477,28]]}},"keywords":{}}],["android",{"_index":3387,"title":{"955":{"position":[[0,7]]}},"content":{"678":{"position":[[133,7],[265,7]]},"693":{"position":[[7721,7]]},"708":{"position":[[210,7]]},"944":{"position":[[1330,7]]},"951":{"position":[[790,7]]},"955":{"position":[[0,7],[234,7],[1000,7]]},"980":{"position":[[1120,7]]},"1167":{"position":[[348,7],[505,8],[654,8],[778,7],[961,7],[1131,7],[1323,7],[1508,7]]},"1348":{"position":[[2683,7],[4455,7]]},"1351":{"position":[[994,7]]},"1353":{"position":[[1386,7]]},"1354":{"position":[[1222,7]]},"1355":{"position":[[2254,7],[4875,7],[7731,7]]},"1356":{"position":[[601,7]]},"1358":{"position":[[997,7],[2835,7]]},"1359":{"position":[[911,7],[1930,7]]},"1384":{"position":[[19488,8],[20605,7]]},"1429":{"position":[[3589,7]]},"1446":{"position":[[2194,7]]},"1454":{"position":[[10211,9],[10227,8],[10255,9],[10271,8],[10392,9],[10408,8],[10435,9],[10451,8]]},"1459":{"position":[[669,8],[2167,7]]},"1469":{"position":[[2539,8]]},"1470":{"position":[[4468,7]]}},"keywords":{}}],["android'",{"_index":6505,"title":{},"content":{"1353":{"position":[[2272,9]]}},"keywords":{}}],["android.mk",{"_index":8097,"title":{},"content":{"1446":{"position":[[625,10]]}},"keywords":{}}],["android:icon="@drawable/ic_launcher">",{"_index":6592,"title":{},"content":{"1356":{"position":[[2561,50]]}},"keywords":{}}],["android:label="@string/app_name"",{"_index":6591,"title":{},"content":{"1356":{"position":[[2518,42]]}},"keywords":{}}],["android:label="@string/app_name">",{"_index":6595,"title":{},"content":{"1356":{"position":[[2661,46]]}},"keywords":{}}],["android:name="android.intent.action.main"/>",{"_index":6599,"title":{},"content":{"1356":{"position":[[2741,56]]}},"keywords":{}}],["android:name="android.intent.category.launcher"/>",{"_index":6601,"title":{},"content":{"1356":{"position":[[2811,62]]}},"keywords":{}}],["android:name="myactivity"",{"_index":6594,"title":{},"content":{"1356":{"position":[[2625,35]]}},"keywords":{}}],["android:versioncode="1"",{"_index":6585,"title":{},"content":{"1356":{"position":[[2349,33]]}},"keywords":{}}],["android:versionname="1.0">",{"_index":6586,"title":{},"content":{"1356":{"position":[[2383,39]]}},"keywords":{}}],["android_aar",{"_index":6324,"title":{"1348":{"position":[[0,12]]}},"content":{"1348":{"position":[[4,12],[2641,13],[4675,12]]},"1356":{"position":[[653,13]]}},"keywords":{}}],["android_app_modular",{"_index":6404,"title":{"1349":{"position":[[0,23]]}},"content":{"1349":{"position":[[4,23]]}},"keywords":{}}],["android_binari",{"_index":3392,"title":{"1350":{"position":[[0,15]]}},"content":{"678":{"position":[[326,14]]},"1006":{"position":[[441,14],[622,15]]},"1350":{"position":[[4,15]]},"1351":{"position":[[2468,17],[2850,17],[3351,16],[3678,16],[4309,15],[5560,15]]},"1353":{"position":[[2940,17],[3057,15]]},"1354":{"position":[[2145,17],[3177,17],[3196,15]]},"1356":{"position":[[632,16]]},"1358":{"position":[[1033,16]]},"1360":{"position":[[2491,16],[2635,16],[5934,15]]},"1384":{"position":[[20010,17],[20617,16]]},"1438":{"position":[[665,16]]},"1446":{"position":[[2462,16]]}},"keywords":{}}],["android_build_config",{"_index":6469,"title":{"1351":{"position":[[0,21]]}},"content":{"1351":{"position":[[4,21],[692,22],[3579,22],[3853,21]]}},"keywords":{}}],["android_build_config().include_build_config_class",{"_index":6391,"title":{},"content":{"1348":{"position":[[3613,50]]}},"keywords":{}}],["android_bundl",{"_index":6500,"title":{"1352":{"position":[[0,15]]}},"content":{"1352":{"position":[[4,15]]}},"keywords":{}}],["android_home%\\tools\\zipalign",{"_index":6670,"title":{},"content":{"1360":{"position":[[6592,30]]}},"keywords":{}}],["android_home/tools/zipalign",{"_index":6669,"title":{},"content":{"1360":{"position":[[6535,29]]}},"keywords":{}}],["android_instrumentation_apk",{"_index":6503,"title":{"1353":{"position":[[0,28]]}},"content":{"1353":{"position":[[4,28],[1328,29],[2891,29],[3302,28]]},"1354":{"position":[[3375,28]]}},"keywords":{}}],["android_instrumentation_apk().clear_package_data",{"_index":6534,"title":{},"content":{"1354":{"position":[[2186,49]]}},"keywords":{}}],["android_instrumentation_test",{"_index":6518,"title":{"1354":{"position":[[0,29]]}},"content":{"1354":{"position":[[4,29],[1136,30],[3516,29]]}},"keywords":{}}],["android_instrumentation_test()rul",{"_index":6545,"title":{},"content":{"1354":{"position":[[3128,34]]}},"keywords":{}}],["android_librari",{"_index":6401,"title":{"1355":{"position":[[0,16]]}},"content":{"1348":{"position":[[4614,16]]},"1351":{"position":[[807,17],[4213,16]]},"1353":{"position":[[2990,16]]},"1355":{"position":[[4,16],[2151,17],[2289,17],[3658,15],[3746,16],[7612,15],[7896,16]]},"1356":{"position":[[1655,15],[1704,17]]},"1358":{"position":[[3125,16]]},"1382":{"position":[[4895,16]]},"1388":{"position":[[5589,16]]},"1402":{"position":[[2133,16]]},"1442":{"position":[[1885,16]]},"1459":{"position":[[2311,17],[2415,16]]}},"keywords":{}}],["android_manifest",{"_index":6397,"title":{"1356":{"position":[[0,17]]}},"content":{"1348":{"position":[[4268,18]]},"1355":{"position":[[4996,18]]},"1356":{"position":[[4,17],[554,18],[1993,18],[2031,17]]},"1359":{"position":[[2051,18]]},"1470":{"position":[[4594,18]]}},"keywords":{}}],["android_optional_jar",{"_index":6549,"title":{},"content":{"1355":{"position":[[665,22]]},"1470":{"position":[[704,22]]}},"keywords":{}}],["android_packag",{"_index":8006,"title":{},"content":{"1431":{"position":[[396,16]]}},"keywords":{}}],["android_platform",{"_index":6606,"title":{"1357":{"position":[[0,17]]}},"content":{"1357":{"position":[[4,17]]}},"keywords":{}}],["android_prebuilt_aar",{"_index":6609,"title":{"1358":{"position":[[0,21]]}},"content":{"1358":{"position":[[4,21],[921,22],[1082,22],[2903,21]]}},"keywords":{}}],["android_resourc",{"_index":3692,"title":{"1359":{"position":[[0,17]]}},"content":{"708":{"position":[[259,17],[511,17]]},"1348":{"position":[[4523,17]]},"1355":{"position":[[7824,17]]},"1359":{"position":[[4,17],[869,18],[1849,16],[2189,18],[2298,16],[2412,17]]}},"keywords":{}}],["android_sdk_proguard_config",{"_index":6421,"title":{},"content":{"1350":{"position":[[830,28]]},"1352":{"position":[[830,28]]}},"keywords":{}}],["androidinstrumentationmanifest.xml",{"_index":6517,"title":{},"content":{"1353":{"position":[[3367,37]]},"1354":{"position":[[3440,37]]}},"keywords":{}}],["androidmanifest.xml",{"_index":6396,"title":{},"content":{"1348":{"position":[[4219,19]]},"1351":{"position":[[4408,22],[5665,22]]},"1353":{"position":[[3104,22]]},"1354":{"position":[[3243,22]]},"1360":{"position":[[5981,22]]},"1403":{"position":[[7661,22],[7876,22],[7968,22]]}},"keywords":{}}],["androidmanifestskeleton.xml",{"_index":6403,"title":{},"content":{"1348":{"position":[[4722,30]]},"1356":{"position":[[2082,30],[2129,27]]}},"keywords":{}}],["andtoolchain",{"_index":4094,"title":{},"content":{"877":{"position":[[532,13]]}},"keywords":{}}],["andtyp",{"_index":4214,"title":{},"content":{"890":{"position":[[1850,7]]}},"keywords":{}}],["andunconfigur",{"_index":3528,"title":{},"content":{"693":{"position":[[2072,15]]}},"keywords":{}}],["andz.from",{"_index":4207,"title":{},"content":{"890":{"position":[[808,9]]}},"keywords":{}}],["anexecut",{"_index":6314,"title":{},"content":{"1346":{"position":[[27,11]]}},"keywords":{}}],["angl",{"_index":6792,"title":{},"content":{"1362":{"position":[[7668,5],[9684,5]]},"1364":{"position":[[7907,5],[10798,5]]},"1367":{"position":[[9772,5]]}},"keywords":{}}],["anim",{"_index":6539,"title":{},"content":{"1354":{"position":[[2458,10]]}},"keywords":{}}],["annot",{"_index":3126,"title":{},"content":{"638":{"position":[[568,10]]},"663":{"position":[[621,10]]},"901":{"position":[[583,10]]},"902":{"position":[[557,10]]},"1355":{"position":[[3305,10],[3421,10],[5928,12],[6229,12]]},"1387":{"position":[[6525,8]]},"1407":{"position":[[1274,11],[4908,11]]},"1427":{"position":[[5101,12],[5402,12]]},"1429":{"position":[[5312,9]]},"1439":{"position":[[3126,10],[3242,10],[6727,8]]},"1440":{"position":[[5306,9]]},"1461":{"position":[[2542,8]]},"1462":{"position":[[6029,8]]},"1465":{"position":[[3001,8]]},"1467":{"position":[[7141,8]]},"1468":{"position":[[1419,8]]}},"keywords":{}}],["annotation_processing_tool",{"_index":6335,"title":{},"content":{"1348":{"position":[[608,27]]},"1355":{"position":[[710,27],[3247,27]]},"1439":{"position":[[635,27],[3068,27]]},"1440":{"position":[[670,27]]},"1470":{"position":[[749,27]]}},"keywords":{}}],["annotation_processor",{"_index":6338,"title":{},"content":{"1348":{"position":[[738,22]]},"1355":{"position":[[840,22]]},"1412":{"position":[[469,22]]},"1413":{"position":[[466,22]]},"1427":{"position":[[691,22]]},"1429":{"position":[[726,22]]},"1430":{"position":[[508,22]]},"1439":{"position":[[765,22]]},"1440":{"position":[[800,22]]},"1470":{"position":[[879,22]]},"1474":{"position":[[505,22]]},"1475":{"position":[[502,22]]}},"keywords":{}}],["annotation_processor_dep",{"_index":6336,"title":{},"content":{"1348":{"position":[[652,26]]},"1355":{"position":[[754,26]]},"1412":{"position":[[383,26]]},"1413":{"position":[[380,26]]},"1427":{"position":[[605,26]]},"1429":{"position":[[640,26]]},"1430":{"position":[[422,26]]},"1439":{"position":[[679,26]]},"1440":{"position":[[714,26]]},"1470":{"position":[[793,26]]},"1474":{"position":[[419,26]]},"1475":{"position":[[416,26]]}},"keywords":{}}],["annotation_processor_param",{"_index":6337,"title":{},"content":{"1348":{"position":[[694,28]]},"1355":{"position":[[796,28]]},"1412":{"position":[[425,28]]},"1413":{"position":[[422,28]]},"1427":{"position":[[647,28]]},"1429":{"position":[[682,28]]},"1430":{"position":[[464,28]]},"1439":{"position":[[721,28]]},"1440":{"position":[[756,28]]},"1470":{"position":[[835,28]]},"1474":{"position":[[461,28]]},"1475":{"position":[[458,28]]}},"keywords":{}}],["annoying.refactor",{"_index":4841,"title":{},"content":{"977":{"position":[[333,17]]}},"keywords":{}}],["anon",{"_index":830,"title":{"835":{"position":[[51,4]]},"1042":{"position":[[0,4]]},"1043":{"position":[[0,4]]}},"content":{"34":{"position":[[89,4]]},"36":{"position":[[173,4]]},"38":{"position":[[81,4]]},"126":{"position":[[492,4]]},"181":{"position":[[173,4]]},"183":{"position":[[81,4]]},"190":{"position":[[89,4]]},"233":{"position":[[384,4]]},"249":{"position":[[492,4]]},"400":{"position":[[253,4],[533,4]]},"710":{"position":[[318,4]]},"712":{"position":[[1428,4]]},"779":{"position":[[253,4],[533,4]]},"835":{"position":[[151,4],[265,4]]},"837":{"position":[[324,4]]},"867":{"position":[[1547,4]]},"1042":{"position":[[629,4]]},"1044":{"position":[[190,4],[2083,4],[2515,4]]},"1045":{"position":[[222,4],[278,4]]},"1046":{"position":[[22,4],[215,4]]},"1049":{"position":[[221,4],[1252,4]]},"1112":{"position":[[3729,4]]},"1190":{"position":[[1205,4]]},"1205":{"position":[[92,4]]},"1422":{"position":[[1994,4],[2029,4],[2131,4],[2198,4]]}},"keywords":{}}],["anon.artifact("hello"",{"_index":5275,"title":{},"content":{"1049":{"position":[[1311,32]]}},"keywords":{}}],["anon.artifact("world"",{"_index":5277,"title":{},"content":{"1049":{"position":[[1361,32]]}},"keywords":{}}],["anon_bxl_rules.bzl",{"_index":3728,"title":{},"content":{"712":{"position":[[3,18],[2935,18]]}},"keywords":{}}],["anon_rul",{"_index":2099,"title":{"400":{"position":[[0,10]]},"779":{"position":[[0,10]]}},"content":{"400":{"position":[[4,10]]},"779":{"position":[[4,10]]},"1042":{"position":[[43,10],[138,10],[232,9],[422,10]]},"1043":{"position":[[250,10],[341,10]]},"1044":{"position":[[591,10],[1026,10],[1564,10],[1706,10],[2821,10]]},"1049":{"position":[[1012,10]]}},"keywords":{}}],["anon_target",{"_index":821,"title":{"32":{"position":[[0,12]]},"35":{"position":[[0,11]]},"180":{"position":[[0,11]]},"188":{"position":[[0,12]]}},"content":{"81":{"position":[[90,11]]},"82":{"position":[[153,12]]},"213":{"position":[[90,11]]},"214":{"position":[[153,12]]},"1043":{"position":[[436,11],[493,12]]},"1044":{"position":[[117,12],[1172,11],[1365,12]]},"1049":{"position":[[55,11],[169,12]]}},"keywords":{}}],["anon_target(rul",{"_index":3706,"title":{},"content":{"711":{"position":[[153,17]]}},"keywords":{}}],["anon_target.artifact",{"_index":831,"title":{"36":{"position":[[0,21]]},"37":{"position":[[0,22]]},"181":{"position":[[0,21]]},"182":{"position":[[0,22]]}},"content":{"37":{"position":[[4,23]]},"182":{"position":[[4,23]]}},"keywords":{}}],["anon_target.artifact("hello"",{"_index":5183,"title":{},"content":{"1044":{"position":[[1239,39]]}},"keywords":{}}],["anon_target.artifact(nam",{"_index":833,"title":{},"content":{"36":{"position":[[4,26]]},"181":{"position":[[4,26]]}},"keywords":{}}],["anon_target.artifacts()["hello"",{"_index":5185,"title":{},"content":{"1044":{"position":[[1300,42]]}},"keywords":{}}],["anon_target.promis",{"_index":844,"title":{"38":{"position":[[0,20]]},"183":{"position":[[0,20]]}},"content":{"38":{"position":[[0,20]]},"183":{"position":[[0,20]]}},"keywords":{}}],["anon_target_compat",{"_index":1342,"title":{},"content":{"126":{"position":[[76,23],[411,22]]},"249":{"position":[[76,23],[411,22]]},"1044":{"position":[[2612,22]]}},"keywords":{}}],["anon_target_exampl",{"_index":3775,"title":{},"content":{"712":{"position":[[3168,19]]}},"keywords":{}}],["anon_targets.anon_target",{"_index":822,"title":{"33":{"position":[[0,26]]},"189":{"position":[[0,26]]}},"content":{"33":{"position":[[0,26]]},"189":{"position":[[0,26]]}},"keywords":{}}],["anon_targets.promis",{"_index":826,"title":{"34":{"position":[[0,21]]},"190":{"position":[[0,21]]}},"content":{"34":{"position":[[0,21]]},"190":{"position":[[0,21]]}},"keywords":{}}],["anontarget",{"_index":1866,"title":{"354":{"position":[[0,11]]},"355":{"position":[[0,12]]},"733":{"position":[[0,11]]},"734":{"position":[[0,12]]},"1044":{"position":[[0,10],[15,12]]}},"content":{"354":{"position":[[0,11]]},"355":{"position":[[0,12]]},"733":{"position":[[0,11]]},"734":{"position":[[0,12]]},"1043":{"position":[[178,10],[193,11]]},"1044":{"position":[[0,10],[77,11],[507,11],[1348,12]]}},"keywords":{}}],["anonym",{"_index":1015,"title":{"709":{"position":[[8,9]]},"710":{"position":[[0,9]]},"1041":{"position":[[0,9]]}},"content":{"81":{"position":[[106,9],[249,9],[347,9]]},"82":{"position":[[188,9]]},"213":{"position":[[106,9],[249,9],[347,9]]},"214":{"position":[[188,9]]},"710":{"position":[[0,9],[40,9],[161,9]]},"711":{"position":[[134,9],[258,9],[418,9],[499,9]]},"712":{"position":[[47,9],[126,9],[1090,9],[1111,9],[2149,9]]},"1042":{"position":[[3,9]]},"1043":{"position":[[3,9]]},"1044":{"position":[[281,9]]},"1047":{"position":[[12,9],[248,9]]}},"keywords":{}}],["anonymous_link_group",{"_index":7141,"title":{},"content":{"1382":{"position":[[408,22]]},"1388":{"position":[[520,22]]},"1462":{"position":[[560,22]]},"1467":{"position":[[627,22]]},"1471":{"position":[[492,22]]},"1473":{"position":[[523,22]]}},"keywords":{}}],["anoth",{"_index":500,"title":{"578":{"position":[[39,8]]},"681":{"position":[[47,7]]},"934":{"position":[[31,7]]}},"content":{"17":{"position":[[570,7]]},"92":{"position":[[505,7]]},"98":{"position":[[1350,7],[1419,7]]},"224":{"position":[[505,7]]},"230":{"position":[[1350,7],[1419,7]]},"408":{"position":[[530,8]]},"560":{"position":[[277,7],[324,7]]},"565":{"position":[[87,7]]},"591":{"position":[[157,7]]},"680":{"position":[[992,7]]},"681":{"position":[[37,7],[405,7]]},"683":{"position":[[50,7]]},"693":{"position":[[4380,7],[10285,7]]},"704":{"position":[[1248,7]]},"706":{"position":[[2122,7]]},"724":{"position":[[1857,7]]},"787":{"position":[[530,8]]},"888":{"position":[[804,7]]},"890":{"position":[[996,7],[2723,7]]},"919":{"position":[[2181,8]]},"929":{"position":[[145,7]]},"947":{"position":[[813,7]]},"987":{"position":[[143,7]]},"995":{"position":[[666,7],[1155,7]]},"1013":{"position":[[444,7]]},"1050":{"position":[[3378,7]]},"1105":{"position":[[999,7],[1241,7],[1286,7]]},"1136":{"position":[[176,7],[3692,7],[4152,7],[4252,7],[4462,7]]},"1138":{"position":[[7354,7],[7814,7],[7914,7],[8124,7]]},"1140":{"position":[[6280,7],[6740,7],[6840,7],[7050,7]]},"1142":{"position":[[1724,7],[2184,7],[2284,7],[2494,7]]},"1146":{"position":[[1664,7],[2124,7],[2224,7],[2434,7]]},"1148":{"position":[[4704,7],[5164,7],[5264,7],[5474,7]]},"1155":{"position":[[1760,7],[2220,7],[2320,7],[2530,7]]},"1156":{"position":[[1338,7],[1798,7],[1898,7],[2108,7]]},"1167":{"position":[[7284,7],[7744,7],[7844,7],[8054,7]]},"1169":{"position":[[1123,7],[1583,7],[1683,7],[1893,7]]},"1186":{"position":[[2928,7],[3388,7],[3488,7],[3698,7]]},"1187":{"position":[[2941,7],[3401,7],[3501,7],[3711,7]]},"1188":{"position":[[7667,7],[8127,7],[8227,7],[8437,7]]},"1191":{"position":[[1528,7],[1988,7],[2088,7],[2298,7]]},"1192":{"position":[[1703,7],[2163,7],[2263,7],[2473,7]]},"1193":{"position":[[1755,7],[2215,7],[2315,7],[2525,7]]},"1194":{"position":[[1395,7],[1855,7],[1955,7],[2165,7]]},"1195":{"position":[[1373,7],[1833,7],[1933,7],[2143,7]]},"1196":{"position":[[1183,7],[1643,7],[1743,7],[1953,7]]},"1197":{"position":[[2166,7],[2626,7],[2726,7],[2936,7]]},"1198":{"position":[[2176,7],[2636,7],[2736,7],[2946,7]]},"1199":{"position":[[2204,7],[2664,7],[2764,7],[2974,7]]},"1200":{"position":[[2071,7],[2531,7],[2631,7],[2841,7]]},"1201":{"position":[[1331,7],[1791,7],[1891,7],[2101,7]]},"1202":{"position":[[2473,7],[2933,7],[3033,7],[3243,7],[6870,7],[7330,7],[7430,7],[7640,7]]},"1203":{"position":[[1565,7],[2025,7],[2125,7],[2335,7]]},"1204":{"position":[[1409,7],[1869,7],[1969,7],[2179,7]]},"1205":{"position":[[2738,7],[3198,7],[3298,7],[3508,7]]},"1206":{"position":[[1209,7],[1669,7],[1769,7],[1979,7]]},"1207":{"position":[[1366,7],[1826,7],[1926,7],[2136,7]]},"1209":{"position":[[2714,7],[3174,7],[3274,7],[3484,7]]},"1217":{"position":[[6025,7],[6485,7],[6585,7],[6795,7]]},"1219":{"position":[[2011,7],[2471,7],[2571,7],[2781,7]]},"1222":{"position":[[1135,7],[1595,7],[1695,7],[1905,7]]},"1223":{"position":[[1145,7],[1605,7],[1705,7],[1915,7]]},"1224":{"position":[[1325,7],[1785,7],[1885,7],[2095,7]]},"1226":{"position":[[6493,7],[6953,7],[7053,7],[7263,7]]},"1228":{"position":[[8106,7],[8566,7],[8666,7],[8876,7]]},"1235":{"position":[[3974,7],[4434,7],[4534,7],[4744,7]]},"1237":{"position":[[6663,7],[7123,7],[7223,7],[7433,7]]},"1243":{"position":[[636,7]]},"1252":{"position":[[0,7]]},"1253":{"position":[[0,7]]},"1255":{"position":[[9,7]]},"1258":{"position":[[344,7],[1108,7]]},"1289":{"position":[[344,7],[1108,7]]},"1317":{"position":[[344,7],[1108,7]]},"1355":{"position":[[3976,7]]},"1383":{"position":[[8711,7]]},"1384":{"position":[[14393,7],[16634,7]]},"1386":{"position":[[1906,7],[4104,7],[4248,7],[5477,7],[6112,7]]},"1387":{"position":[[7652,7]]},"1399":{"position":[[1897,7]]},"1427":{"position":[[3121,7]]},"1439":{"position":[[3795,7]]},"1442":{"position":[[3176,7]]},"1454":{"position":[[7866,7],[8933,7]]},"1471":{"position":[[4224,7]]},"1472":{"position":[[4808,7]]},"1473":{"position":[[4545,7]]},"1487":{"position":[[2417,7]]}},"keywords":{}}],["another>",{"_index":7685,"title":{},"content":{"1403":{"position":[[5772,11]]}},"keywords":{}}],["answer",{"_index":82,"title":{},"content":{"5":{"position":[[103,8]]},"9":{"position":[[2147,6]]},"1486":{"position":[[5579,6],[5824,6]]}},"keywords":{}}],["ant",{"_index":7994,"title":{},"content":{"1429":{"position":[[4170,3]]},"1440":{"position":[[4163,3]]}},"keywords":{}}],["antithet",{"_index":4602,"title":{},"content":{"937":{"position":[[2892,12]]}},"keywords":{}}],["any([0",{"_index":3062,"title":{},"content":{"629":{"position":[[125,7],[148,7],[168,7],[194,7],[215,7]]}},"keywords":{}}],["any(children",{"_index":5590,"title":{},"content":{"1086":{"position":[[589,13]]}},"keywords":{}}],["any(x",{"_index":3061,"title":{},"content":{"629":{"position":[[4,6]]}},"keywords":{}}],["any.whl"",{"_index":8277,"title":{},"content":{"1461":{"position":[[3572,14],[3689,14]]}},"keywords":{}}],["anyhow::error>",{"_index":6136,"title":{},"content":{"1232":{"position":[[2392,18]]}},"keywords":{}}],["anyhow::error>>",{"_index":6128,"title":{},"content":{"1232":{"position":[[1811,21]]}},"keywords":{}}],["anyhow::error>>::{closure#0}::{closure#0}::{closure#0}>",{"_index":6141,"title":{},"content":{"1232":{"position":[[2790,64]]}},"keywords":{}}],["anymor",{"_index":4170,"title":{},"content":{"888":{"position":[[908,8]]}},"keywords":{}}],["anyon",{"_index":4273,"title":{},"content":{"892":{"position":[[786,6]]},"898":{"position":[[1563,6]]}},"keywords":{}}],["anyselect()",{"_index":5070,"title":{},"content":{"1024":{"position":[[478,12],[1165,12]]}},"keywords":{}}],["anyth",{"_index":1135,"title":{},"content":{"92":{"position":[[1231,8]]},"98":{"position":[[1140,8]]},"99":{"position":[[1548,8]]},"224":{"position":[[1231,8]]},"230":{"position":[[1140,8]]},"231":{"position":[[1548,8]]},"407":{"position":[[104,8]]},"705":{"position":[[241,8]]},"786":{"position":[[104,8]]},"833":{"position":[[301,8]]},"892":{"position":[[1319,9]]},"1035":{"position":[[588,9]]},"1040":{"position":[[1657,8]]},"1105":{"position":[[771,9]]},"1120":{"position":[[228,8]]},"1386":{"position":[[4198,8]]}},"keywords":{}}],["anyway",{"_index":4556,"title":{},"content":{"924":{"position":[[2536,7]]},"1138":{"position":[[3092,6]]},"1140":{"position":[[2581,6]]},"1167":{"position":[[3585,6]]},"1188":{"position":[[2634,6]]},"1217":{"position":[[2326,6]]},"1228":{"position":[[4407,6]]}},"keywords":{}}],["anywher",{"_index":4697,"title":{},"content":{"944":{"position":[[820,8]]},"970":{"position":[[182,8]]},"1382":{"position":[[4715,8]]},"1388":{"position":[[5409,8]]},"1442":{"position":[[1705,8]]}},"keywords":{}}],["apach",{"_index":7993,"title":{},"content":{"1429":{"position":[[4163,6]]},"1440":{"position":[[4156,6]]}},"keywords":{}}],["apart",{"_index":5132,"title":{},"content":{"1040":{"position":[[427,5]]},"1247":{"position":[[687,5]]},"1393":{"position":[[3091,5],[3911,5]]}},"keywords":{}}],["api",{"_index":18,"title":{"20":{"position":[[0,4]]},"711":{"position":[[0,5]]},"836":{"position":[[35,6]]},"939":{"position":[[0,4]]},"948":{"position":[[22,3]]},"949":{"position":[[8,4]]},"960":{"position":[[0,4]]},"999":{"position":[[0,4]]},"1001":{"position":[[0,4]]},"1063":{"position":[[0,5]]},"1064":{"position":[[8,5]]},"1065":{"position":[[14,4]]},"1081":{"position":[[5,4]]},"1085":{"position":[[6,5]]}},"content":{"3":{"position":[[66,4],[95,4]]},"10":{"position":[[563,3],[617,4]]},"20":{"position":[[0,4],[42,5]]},"84":{"position":[[244,3]]},"216":{"position":[[244,3]]},"374":{"position":[[384,3]]},"693":{"position":[[993,4]]},"753":{"position":[[384,3]]},"836":{"position":[[31,3]]},"837":{"position":[[59,4],[181,3]]},"839":{"position":[[8,4],[140,4],[169,4],[245,5]]},"846":{"position":[[388,3]]},"847":{"position":[[47,4],[73,4]]},"848":{"position":[[158,4]]},"855":{"position":[[259,4]]},"859":{"position":[[22,4]]},"869":{"position":[[432,4]]},"888":{"position":[[763,3]]},"924":{"position":[[2290,3]]},"935":{"position":[[230,3]]},"937":{"position":[[3138,3]]},"949":{"position":[[12,3],[53,4],[180,4]]},"950":{"position":[[483,4]]},"951":{"position":[[1465,4]]},"954":{"position":[[894,3]]},"955":{"position":[[1430,3]]},"959":{"position":[[61,3],[251,3]]},"961":{"position":[[756,3]]},"962":{"position":[[236,3]]},"964":{"position":[[184,3]]},"975":{"position":[[334,3]]},"978":{"position":[[180,3]]},"1001":{"position":[[51,4],[1095,4]]},"1007":{"position":[[196,4]]},"1011":{"position":[[31,3]]},"1053":{"position":[[274,3]]},"1064":{"position":[[123,3],[1223,3],[1710,3]]},"1065":{"position":[[75,3]]},"1219":{"position":[[646,5],[657,3]]},"1355":{"position":[[3903,3],[5211,5]]},"1362":{"position":[[13480,4]]},"1364":{"position":[[14180,4]]},"1367":{"position":[[13388,4]]},"1427":{"position":[[3048,3],[4525,5]]},"1439":{"position":[[3722,3],[7024,5]]}},"keywords":{}}],["api'",{"_index":4729,"title":{},"content":{"950":{"position":[[537,5]]}},"keywords":{}}],["api.easi",{"_index":338,"title":{},"content":{"10":{"position":[[748,10]]}},"keywords":{}}],["api/cli",{"_index":4057,"title":{"870":{"position":[[33,9]]}},"content":{},"keywords":{}}],["apidigest",{"_index":4129,"title":{},"content":{"881":{"position":[[43,9]]}},"keywords":{}}],["apis:16",{"_index":6664,"title":{},"content":{"1360":{"position":[[6033,9]]}},"keywords":{}}],["apis:19",{"_index":6491,"title":{},"content":{"1351":{"position":[[4460,9],[5717,9]]}},"keywords":{}}],["apk",{"_index":3391,"title":{},"content":{"678":{"position":[[291,4],[354,4]]},"693":{"position":[[7729,3]]},"1351":{"position":[[2404,4],[2786,4],[3134,4],[3774,3]]},"1353":{"position":[[577,4],[1410,4],[3405,3]]},"1354":{"position":[[480,4],[1190,4],[2109,3],[3478,3],[3587,3]]},"1358":{"position":[[1148,4],[2803,5]]},"1360":{"position":[[521,4],[1381,4],[1476,5],[2592,3],[2620,4],[2674,3],[2703,4],[2736,3],[5261,6],[5809,4],[5860,3],[6216,3],[6295,4],[6378,5],[6489,3],[6570,4],[6628,5]]},"1384":{"position":[[19575,3],[19750,4],[20613,3]]},"1446":{"position":[[2039,3],[2590,3]]},"1459":{"position":[[1663,3],[1847,3],[2012,3]]}},"keywords":{}}],["apk_genrul",{"_index":6533,"title":{"1360":{"position":[[0,12]]}},"content":{"1354":{"position":[[2166,13]]},"1360":{"position":[[4,12],[1335,13],[1404,11],[1434,12],[1556,13],[1599,13],[5226,11],[5784,13],[6164,12],[6445,12]]}},"keywords":{}}],["aplatform",{"_index":5060,"title":{},"content":{"1017":{"position":[[71,9]]}},"keywords":{}}],["app",{"_index":2729,"title":{},"content":{"586":{"position":[[186,3]]},"919":{"position":[[572,3],[668,3]]},"995":{"position":[[1065,3],[1259,4]]},"1050":{"position":[[286,3]]},"1167":{"position":[[1688,3]]},"1348":{"position":[[4695,6]]},"1354":{"position":[[2257,3]]},"1361":{"position":[[2466,3]]},"1362":{"position":[[4787,3]]},"1363":{"position":[[4454,4],[4698,5],[6976,6],[7020,3],[7368,6],[7524,6],[7568,3],[7722,6]]},"1365":{"position":[[889,3]]},"1393":{"position":[[2346,5],[3237,5],[3334,5],[3510,5],[4153,4],[5832,4],[6267,5],[8442,5]]},"1402":{"position":[[1907,4]]}},"keywords":{}}],["app.src",{"_index":7457,"title":{},"content":{"1393":{"position":[[2259,9],[3224,9],[3321,9],[9287,9]]}},"keywords":{}}],["app/extens",{"_index":6904,"title":{},"content":{"1363":{"position":[[7050,13]]}},"keywords":{}}],["app/src/main/aidl",{"_index":7670,"title":{},"content":{"1402":{"position":[[2000,20]]}},"keywords":{}}],["app_a",{"_index":7472,"title":{},"content":{"1393":{"position":[[4733,5],[4881,5],[4989,5],[5057,5]]}},"keywords":{}}],["app_b",{"_index":7473,"title":{},"content":{"1393":{"position":[[4820,5],[4847,5],[4998,5],[5048,5]]}},"keywords":{}}],["app_icon",{"_index":6673,"title":{},"content":{"1361":{"position":[[334,9],[2572,8]]}},"keywords":{}}],["app_src",{"_index":7441,"title":{},"content":{"1393":{"position":[[346,8],[2199,8],[2212,7],[2845,7],[3665,7],[8473,7],[8646,7],[10082,7]]}},"keywords":{}}],["appar",{"_index":5667,"title":{},"content":{"1104":{"position":[[2019,8]]}},"keywords":{}}],["appbundl",{"_index":6902,"title":{},"content":{"1363":{"position":[[6929,12]]},"1365":{"position":[[1908,13]]}},"keywords":{}}],["appear",{"_index":2248,"title":{},"content":{"418":{"position":[[886,6]]},"693":{"position":[[3647,6]]},"797":{"position":[[886,6]]},"905":{"position":[[403,6]]},"987":{"position":[[424,6]]},"988":{"position":[[654,6]]},"989":{"position":[[157,6]]},"990":{"position":[[488,6],[579,7],[1033,6],[1361,6]]},"991":{"position":[[1027,6]]},"1018":{"position":[[19,6]]},"1083":{"position":[[315,6]]},"1105":{"position":[[1969,8]]},"1112":{"position":[[470,6],[4885,9]]},"1148":{"position":[[253,6]]},"1228":{"position":[[855,7],[897,7]]},"1235":{"position":[[170,7],[432,9]]},"1280":{"position":[[156,6]]},"1282":{"position":[[553,6]]},"1311":{"position":[[156,6]]},"1313":{"position":[[553,6]]},"1339":{"position":[[156,6]]},"1341":{"position":[[553,6]]},"1364":{"position":[[6609,6]]},"1382":{"position":[[4821,6]]},"1384":{"position":[[5654,6],[7363,6]]},"1388":{"position":[[5515,6]]},"1442":{"position":[[1811,6]]},"1454":{"position":[[4502,6],[5763,6]]},"1455":{"position":[[2150,6],[2534,6]]}},"keywords":{}}],["append",{"_index":2047,"title":{},"content":{"377":{"position":[[1547,9]]},"563":{"position":[[48,6],[89,7],[132,6]]},"565":{"position":[[127,7]]},"756":{"position":[[1547,9]]},"865":{"position":[[715,8]]},"1052":{"position":[[509,9]]},"1355":{"position":[[5538,8]]},"1363":{"position":[[4459,6]]},"1382":{"position":[[4576,7]]},"1388":{"position":[[5270,7]]},"1410":{"position":[[4388,9]]},"1439":{"position":[[5514,8]]},"1442":{"position":[[1566,7]]},"1471":{"position":[[5257,9]]},"1472":{"position":[[6143,9]]},"1473":{"position":[[5707,9]]},"1477":{"position":[[1624,9]]},"1487":{"position":[[2283,7]]}},"keywords":{}}],["append_script_extens",{"_index":8455,"title":{},"content":{"1477":{"position":[[350,24],[1504,24]]}},"keywords":{}}],["appex",{"_index":6887,"title":{},"content":{"1363":{"position":[[4733,7],[7163,8]]}},"keywords":{}}],["appfil",{"_index":7503,"title":{},"content":{"1393":{"position":[[9311,11]]}},"keywords":{}}],["appiconset",{"_index":6679,"title":{},"content":{"1361":{"position":[[1864,11]]}},"keywords":{}}],["appl",{"_index":4701,"title":{},"content":{"944":{"position":[[1321,5]]},"1050":{"position":[[280,5]]},"1102":{"position":[[733,5]]},"1361":{"position":[[667,5]]},"1362":{"position":[[5089,5],[13591,5]]},"1363":{"position":[[2850,5]]},"1364":{"position":[[5116,5],[14291,5]]}},"keywords":{}}],["apple'",{"_index":7114,"title":{},"content":{"1380":{"position":[[566,7]]}},"keywords":{}}],["apple.provisioning_profile_search_path",{"_index":6901,"title":{},"content":{"1363":{"position":[[6367,39],[6781,39]]}},"keywords":{}}],["apple/android",{"_index":4702,"title":{},"content":{"944":{"position":[[1388,13]]}},"keywords":{}}],["apple_asset_catalog",{"_index":6672,"title":{"1361":{"position":[[0,20]]}},"content":{"1361":{"position":[[4,20],[611,21],[859,21],[2357,20],[2492,20]]}},"keywords":{}}],["apple_binari",{"_index":6688,"title":{"1362":{"position":[[0,13]]}},"content":{"1362":{"position":[[4,13],[4716,14],[4980,14],[5126,14],[13765,13]]},"1363":{"position":[[5941,13]]},"1370":{"position":[[1840,14]]}},"keywords":{}}],["apple_bundl",{"_index":6677,"title":{"1363":{"position":[[0,13]]}},"content":{"1361":{"position":[[820,14]]},"1363":{"position":[[4,13],[2821,14],[6908,13],[7064,13],[7226,13],[7421,13],[7615,13]]},"1365":{"position":[[836,14]]},"1366":{"position":[[1098,14],[2684,12]]},"1367":{"position":[[13488,14]]},"1370":{"position":[[2950,14],[3116,14]]},"1380":{"position":[[715,14]]}},"keywords":{}}],["apple_bundle'",{"_index":6681,"title":{},"content":{"1361":{"position":[[2036,14],[2297,14]]}},"keywords":{}}],["apple_librari",{"_index":5384,"title":{"1364":{"position":[[0,14]]}},"content":{"1057":{"position":[[375,13]]},"1362":{"position":[[8455,14]]},"1364":{"position":[[4,14],[4813,15],[5006,15],[5153,15],[9569,14],[14465,14]]},"1366":{"position":[[2762,13]]},"1367":{"position":[[8543,14]]},"1370":{"position":[[1893,15]]}},"keywords":{}}],["apple_packag",{"_index":6935,"title":{"1365":{"position":[[0,14]]}},"content":{"1365":{"position":[[4,14],[792,15],[1863,14]]}},"keywords":{}}],["apple_resourc",{"_index":6942,"title":{"1366":{"position":[[0,15]]}},"content":{"1366":{"position":[[4,15],[847,16],[2564,15],[2710,14],[3277,15]]}},"keywords":{}}],["apple_test",{"_index":5346,"title":{"1367":{"position":[[0,11]]}},"content":{"1054":{"position":[[1350,10],[1367,10]]},"1367":{"position":[[4,11],[6607,12],[14375,11]]}},"keywords":{}}],["apple_test_impl",{"_index":5347,"title":{},"content":{"1054":{"position":[[1393,16]]}},"keywords":{}}],["apple_test_impl(ctx",{"_index":5350,"title":{},"content":{"1054":{"position":[[1675,20]]}},"keywords":{}}],["apple_toolchain",{"_index":6979,"title":{"1368":{"position":[[0,16]]}},"content":{"1368":{"position":[[4,16]]},"1369":{"position":[[334,17]]}},"keywords":{}}],["apple_toolchain_set",{"_index":7011,"title":{"1369":{"position":[[0,20]]}},"content":{"1369":{"position":[[4,20]]}},"keywords":{}}],["apple_universal_execut",{"_index":7012,"title":{"1370":{"position":[[0,27]]}},"content":{"1370":{"position":[[4,27],[599,28]]}},"keywords":{}}],["apple_xcframework",{"_index":7021,"title":{"1371":{"position":[[0,18]]}},"content":{"1371":{"position":[[4,18]]}},"keywords":{}}],["apple_xcuitest",{"_index":7022,"title":{"1372":{"position":[[0,15]]}},"content":{"1372":{"position":[[4,15]]}},"keywords":{}}],["appli",{"_index":259,"title":{},"content":{"9":{"position":[[1733,5]]},"11":{"position":[[100,6]]},"119":{"position":[[100,5]]},"286":{"position":[[168,8]]},"405":{"position":[[1415,5],[1858,7]]},"535":{"position":[[100,5]]},"590":{"position":[[462,5]]},"592":{"position":[[260,5]]},"643":{"position":[[92,5]]},"653":{"position":[[80,5]]},"654":{"position":[[285,7]]},"666":{"position":[[407,5]]},"690":{"position":[[501,8],[538,5]]},"693":{"position":[[3506,8],[10191,8]]},"711":{"position":[[797,7]]},"712":{"position":[[1394,7]]},"720":{"position":[[87,8],[392,8]]},"784":{"position":[[1415,5],[1858,7]]},"846":{"position":[[1356,7],[1641,7]]},"939":{"position":[[73,5],[375,8],[801,7]]},"940":{"position":[[89,5],[193,5],[275,5]]},"942":{"position":[[172,7],[279,5]]},"943":{"position":[[209,7],[1072,5],[1430,5],[1929,5]]},"946":{"position":[[70,7]]},"947":{"position":[[569,7]]},"970":{"position":[[24,7]]},"1004":{"position":[[2019,7],[2110,8]]},"1015":{"position":[[208,7]]},"1035":{"position":[[467,7]]},"1042":{"position":[[469,6],[614,7]]},"1044":{"position":[[395,7]]},"1064":{"position":[[1836,5],[2072,7]]},"1138":{"position":[[5314,5]]},"1140":{"position":[[4803,5]]},"1167":{"position":[[5807,5]]},"1188":{"position":[[4856,5]]},"1217":{"position":[[4548,5]]},"1228":{"position":[[6629,5]]},"1231":{"position":[[351,5]]},"1351":{"position":[[3442,7]]},"1354":{"position":[[2531,7]]},"1367":{"position":[[10346,7]]},"1374":{"position":[[747,5]]},"1384":{"position":[[6905,5],[7047,5]]},"1386":{"position":[[2191,7],[2802,7],[5810,8]]},"1392":{"position":[[1801,7]]},"1393":{"position":[[8165,7]]},"1403":{"position":[[4327,6]]},"1405":{"position":[[3857,5]]},"1407":{"position":[[4476,5]]},"1410":{"position":[[3285,7],[5268,5]]},"1429":{"position":[[4577,7]]},"1440":{"position":[[4659,7]]},"1462":{"position":[[6478,7],[6651,7]]},"1467":{"position":[[7593,7],[7766,7]]},"1471":{"position":[[5506,7]]},"1472":{"position":[[6392,7]]}},"keywords":{}}],["applic",{"_index":2657,"title":{},"content":{"580":{"position":[[286,10]]},"657":{"position":[[76,12]]},"935":{"position":[[155,12]]},"1167":{"position":[[21,11]]},"1351":{"position":[[2000,11],[3454,12]]},"1353":{"position":[[2582,11],[2661,11]]},"1361":{"position":[[1915,11],[2168,11]]},"1362":{"position":[[13220,12]]},"1363":{"position":[[4364,11],[4711,11],[4748,11]]},"1364":{"position":[[13920,12]]},"1366":{"position":[[958,11],[2027,11],[2320,11],[2997,11]]},"1367":{"position":[[13128,12],[13523,11],[13696,11]]},"1382":{"position":[[11582,12]]},"1384":{"position":[[19236,12]]},"1385":{"position":[[7160,12]]},"1387":{"position":[[10533,12]]},"1388":{"position":[[10075,12]]},"1393":{"position":[[371,13],[1125,13],[2371,12],[2878,11],[3115,13],[3161,12],[3265,11],[3390,11],[3529,12],[3546,12],[3698,11],[4068,11],[4428,13],[4468,12],[4545,12],[4721,11],[4759,12],[4808,11],[5014,12],[5216,11],[5289,11],[5435,12],[5819,12],[5931,11],[6059,13],[6735,13],[6996,12],[7871,11],[7951,11],[8181,11],[8315,13],[8370,12],[8960,12],[9160,12],[9561,11],[9640,12],[9753,11],[9786,11],[9856,12],[10042,12],[10245,12],[10400,12]]},"1394":{"position":[[574,13]]},"1395":{"position":[[1928,12],[2300,12],[3920,12]]},"1397":{"position":[[350,13],[1673,12],[1777,12],[1893,12],[2970,12],[3568,12]]},"1398":{"position":[[2373,11],[2422,12],[3091,12],[3295,12],[6066,12],[6098,11]]},"1442":{"position":[[2955,12]]},"1469":{"position":[[2049,11]]},"1485":{"position":[[4446,12]]}},"keywords":{}}],["application'",{"_index":7469,"title":{},"content":{"1393":{"position":[[4139,13],[6679,13],[7773,13]]}},"keywords":{}}],["application.mk",{"_index":8098,"title":{},"content":{"1446":{"position":[[643,14]]}},"keywords":{}}],["application:get_env/2",{"_index":7470,"title":{},"content":{"1393":{"position":[[4191,22]]}},"keywords":{}}],["application_module_blacklist",{"_index":6406,"title":{},"content":{"1349":{"position":[[401,29]]},"1350":{"position":[[875,29]]},"1352":{"position":[[875,29]]}},"keywords":{}}],["application_module_config",{"_index":6407,"title":{},"content":{"1349":{"position":[[453,27]]},"1350":{"position":[[927,27]]},"1352":{"position":[[927,27]]}},"keywords":{}}],["application_module_depend",{"_index":6408,"title":{},"content":{"1349":{"position":[[507,32]]},"1350":{"position":[[981,32]]},"1352":{"position":[[981,32]]}},"keywords":{}}],["application_nam",{"_index":7534,"title":{},"content":{"1394":{"position":[[355,17]]}},"keywords":{}}],["application_opt",{"_index":7479,"title":{},"content":{"1393":{"position":[[5759,18]]}},"keywords":{}}],["applicationsor",{"_index":7460,"title":{},"content":{"1393":{"position":[[2923,14]]}},"keywords":{}}],["apppackag",{"_index":6941,"title":{},"content":{"1365":{"position":[[1885,13]]}},"keywords":{}}],["appreci",{"_index":7257,"title":{},"content":{"1386":{"position":[[2248,11]]}},"keywords":{}}],["approach",{"_index":4553,"title":{},"content":{"924":{"position":[[2083,8]]}},"keywords":{}}],["appropri",{"_index":447,"title":{},"content":{"15":{"position":[[153,11]]},"74":{"position":[[167,11]]},"497":{"position":[[167,11]]},"584":{"position":[[387,11]]},"690":{"position":[[389,11]]},"990":{"position":[[313,11],[970,11]]},"1053":{"position":[[478,11]]},"1161":{"position":[[431,11]]},"1353":{"position":[[2745,11]]},"1363":{"position":[[4552,11]]},"1384":{"position":[[18430,11]]},"1386":{"position":[[5386,11]]},"1469":{"position":[[2022,11]]},"1472":{"position":[[5746,11]]},"1477":{"position":[[1582,11],[1762,11]]}},"keywords":{}}],["approxim",{"_index":24,"title":{},"content":{"3":{"position":[[186,13]]},"900":{"position":[[2022,14]]},"1058":{"position":[[698,13]]}},"keywords":{}}],["apps/myapp:app",{"_index":2726,"title":{},"content":{"586":{"position":[[72,16]]}},"keywords":{}}],["apps/myapp:test",{"_index":2728,"title":{},"content":{"586":{"position":[[99,17]]}},"keywords":{}}],["apptest",{"_index":2727,"title":{},"content":{"586":{"position":[[89,7],[203,7]]}},"keywords":{}}],["apt",{"_index":514,"title":{},"content":{"17":{"position":[[951,3]]}},"keywords":{}}],["aqueri",{"_index":1619,"title":{"1135":{"position":[[0,6]]},"1136":{"position":[[5,7]]},"1159":{"position":[[10,7]]},"1257":{"position":[[0,6]]}},"content":{"295":{"position":[[139,6]]},"693":{"position":[[791,7]]},"846":{"position":[[159,8],[465,7],[488,6],[992,7],[1749,7],[1757,6]]},"1040":{"position":[[550,6]]},"1136":{"position":[[208,7],[320,6],[410,6],[516,6],[673,6],[806,6]]},"1154":{"position":[[310,6],[341,6]]},"1159":{"position":[[24,6],[57,6]]},"1282":{"position":[[383,6],[468,6]]},"1283":{"position":[[400,6],[482,6]]},"1284":{"position":[[380,6],[461,6]]},"1313":{"position":[[383,6],[468,6]]},"1314":{"position":[[400,6],[482,6]]},"1315":{"position":[[380,6],[461,6]]},"1341":{"position":[[383,6],[468,6]]},"1342":{"position":[[400,6],[482,6]]},"1343":{"position":[[380,6],[461,6]]}},"keywords":{}}],["aquerycontext",{"_index":2106,"title":{},"content":{"402":{"position":[[75,13]]},"781":{"position":[[75,13]]}},"keywords":{}}],["aqueryctx",{"_index":1617,"title":{},"content":{"295":{"position":[[110,9]]}},"keywords":{}}],["ar",{"_index":4314,"title":{},"content":{"896":{"position":[[221,2],[585,2]]}},"keywords":{}}],["arbitrari",{"_index":2394,"title":{},"content":{"446":{"position":[[420,9]]},"476":{"position":[[359,9]]},"685":{"position":[[250,9]]},"686":{"position":[[132,9]]},"825":{"position":[[420,9]]},"915":{"position":[[116,9]]},"917":{"position":[[119,9]]},"1000":{"position":[[593,9]]},"1001":{"position":[[247,9]]},"1064":{"position":[[303,9]]},"1354":{"position":[[2572,9]]},"1367":{"position":[[10387,9]]},"1387":{"position":[[6488,9]]},"1392":{"position":[[1842,9]]},"1403":{"position":[[6354,9]]},"1410":{"position":[[3326,9]]},"1429":{"position":[[4618,9]]},"1439":{"position":[[6690,9]]},"1440":{"position":[[4700,9]]},"1461":{"position":[[2505,9]]},"1462":{"position":[[5992,9]]},"1465":{"position":[[2964,9]]},"1467":{"position":[[7104,9]]},"1468":{"position":[[1382,9]]}},"keywords":{}}],["arbitrarili",{"_index":3208,"title":{},"content":{"648":{"position":[[597,11]]}},"keywords":{}}],["arc",{"_index":4245,"title":{},"content":{"890":{"position":[[4628,3]]},"1362":{"position":[[13884,6]]},"1364":{"position":[[14592,6]]},"1367":{"position":[[14468,6]]}},"keywords":{}}],["arch",{"_index":3457,"title":{},"content":{"690":{"position":[[222,5]]},"1136":{"position":[[2920,4]]},"1138":{"position":[[6582,4]]},"1140":{"position":[[5508,4]]},"1142":{"position":[[952,4]]},"1146":{"position":[[892,4]]},"1148":{"position":[[3932,4]]},"1155":{"position":[[988,4]]},"1156":{"position":[[566,4]]},"1167":{"position":[[6512,4]]},"1169":{"position":[[351,4]]},"1186":{"position":[[2156,4]]},"1187":{"position":[[2169,4]]},"1188":{"position":[[6895,4]]},"1191":{"position":[[756,4]]},"1192":{"position":[[931,4]]},"1193":{"position":[[983,4]]},"1194":{"position":[[623,4]]},"1195":{"position":[[601,4]]},"1196":{"position":[[411,4]]},"1197":{"position":[[1394,4]]},"1198":{"position":[[1404,4]]},"1199":{"position":[[1432,4]]},"1200":{"position":[[1299,4]]},"1201":{"position":[[559,4]]},"1202":{"position":[[1701,4],[6098,4]]},"1203":{"position":[[793,4]]},"1204":{"position":[[637,4]]},"1205":{"position":[[1966,4]]},"1206":{"position":[[437,4]]},"1207":{"position":[[594,4]]},"1209":{"position":[[1942,4]]},"1217":{"position":[[5253,4]]},"1219":{"position":[[1239,4]]},"1222":{"position":[[363,4]]},"1223":{"position":[[373,4]]},"1224":{"position":[[553,4]]},"1226":{"position":[[5721,4]]},"1228":{"position":[[7334,4]]},"1235":{"position":[[3202,4]]},"1237":{"position":[[5891,4]]}},"keywords":{}}],["arch=struct",{"_index":2263,"title":{},"content":{"419":{"position":[[305,12]]},"798":{"position":[[305,12]]}},"keywords":{}}],["architectur",{"_index":452,"title":{"714":{"position":[[0,13]]}},"content":{"15":{"position":[[248,12]]},"419":{"position":[[103,12]]},"693":{"position":[[3315,15],[3878,13]]},"798":{"position":[[103,12]]},"937":{"position":[[129,13],[1843,14],[4146,12]]},"980":{"position":[[1138,12],[1302,13]]},"1368":{"position":[[420,13]]},"1370":{"position":[[697,13],[1707,14],[1799,14],[2221,12]]},"1384":{"position":[[22050,12]]},"1386":{"position":[[2527,13]]},"1415":{"position":[[2731,13],[5124,13]]},"1481":{"position":[[433,13]]}},"keywords":{}}],["archiv",{"_index":3664,"title":{},"content":{"706":{"position":[[453,10]]},"1382":{"position":[[3211,8]]},"1389":{"position":[[524,9]]},"1395":{"position":[[1759,8],[2882,8],[3050,7]]},"1422":{"position":[[779,8],[1890,7],[3015,7],[3284,7],[4022,9]]},"1469":{"position":[[2078,7]]}},"keywords":{}}],["archive)/bin/thrift",{"_index":7916,"title":{},"content":{"1422":{"position":[[4340,19]]}},"keywords":{}}],["archive_cont",{"_index":7320,"title":{},"content":{"1389":{"position":[[497,17]]}},"keywords":{}}],["archive_thin",{"_index":4308,"title":{},"content":{"896":{"position":[[98,13]]}},"keywords":{}}],["archiver_flag",{"_index":7321,"title":{},"content":{"1389":{"position":[[539,15]]}},"keywords":{}}],["archiver_supports_argfil",{"_index":7322,"title":{},"content":{"1389":{"position":[[570,27]]}},"keywords":{}}],["archiver_typ",{"_index":7323,"title":{},"content":{"1389":{"position":[[608,14]]}},"keywords":{}}],["aren't",{"_index":795,"title":{},"content":{"24":{"position":[[913,6]]},"1029":{"position":[[236,6]]},"1037":{"position":[[10,6],[100,6]]},"1082":{"position":[[5,6]]},"1226":{"position":[[3232,6]]},"1237":{"position":[[3402,6]]}},"keywords":{}}],["areplac",{"_index":4484,"title":{},"content":{"919":{"position":[[616,12]]}},"keywords":{}}],["arg",{"_index":1344,"title":{"850":{"position":[[25,5]]}},"content":{"126":{"position":[[468,4]]},"249":{"position":[[468,4]]},"300":{"position":[[63,4],[240,4],[249,3],[364,4]]},"386":{"position":[[13,5],[430,5]]},"389":{"position":[[906,3],[926,3],[961,3],[1401,3],[1518,3],[1561,3]]},"405":{"position":[[14,6],[1227,5],[1509,5]]},"411":{"position":[[148,4]]},"595":{"position":[[210,4]]},"657":{"position":[[22,6]]},"715":{"position":[[1276,5]]},"724":{"position":[[80,4]]},"765":{"position":[[13,5],[430,5]]},"768":{"position":[[906,3],[926,3],[961,3],[1401,3],[1518,3],[1561,3]]},"784":{"position":[[14,6],[1227,5],[1509,5]]},"790":{"position":[[148,4]]},"840":{"position":[[345,4],[879,4]]},"850":{"position":[[53,4],[255,4]]},"867":{"position":[[118,4]]},"921":{"position":[[94,4],[135,5]]},"961":{"position":[[506,4],[782,4],[812,4]]},"966":{"position":[[348,4]]},"1031":{"position":[[483,3],[774,3]]},"1044":{"position":[[2588,3]]},"1071":{"position":[[472,6]]},"1082":{"position":[[1153,4],[1215,4]]},"1083":{"position":[[131,3],[990,4]]},"1084":{"position":[[572,4]]},"1088":{"position":[[1122,4]]},"1124":{"position":[[84,4],[163,5]]},"1140":{"position":[[247,8]]},"1188":{"position":[[300,8]]},"1217":{"position":[[375,4]]},"1363":{"position":[[5921,3]]},"1374":{"position":[[378,5],[1659,5],[3144,4],[3365,4],[3461,4],[3557,4]]},"1388":{"position":[[553,5],[4651,5]]},"1403":{"position":[[4292,3]]},"1410":{"position":[[3924,5]]},"1455":{"position":[[4448,5]]},"1478":{"position":[[392,5],[1995,5],[2908,4],[3010,4],[3132,3]]},"1486":{"position":[[356,5],[1884,4],[3226,4]]}},"keywords":{}}],["arg"",{"_index":5685,"title":{},"content":{"1105":{"position":[[543,10]]}},"keywords":{}}],["arg.list(arg.str",{"_index":4775,"title":{},"content":{"961":{"position":[[533,20]]},"966":{"position":[[375,20]]}},"keywords":{}}],["arg1",{"_index":4778,"title":{},"content":{"961":{"position":[[687,4]]},"1486":{"position":[[3236,4],[3730,4],[5146,4]]}},"keywords":{}}],["arg2",{"_index":8569,"title":{},"content":{"1486":{"position":[[3243,5],[3737,4],[5153,4]]}},"keywords":{}}],["arga",{"_index":8573,"title":{},"content":{"1486":{"position":[[3399,6],[4468,5]]}},"keywords":{}}],["argb",{"_index":8576,"title":{},"content":{"1486":{"position":[[3493,6]]}},"keywords":{}}],["argc",{"_index":8579,"title":{},"content":{"1486":{"position":[[3587,6]]}},"keywords":{}}],["arghandle(index",{"_index":5498,"title":{},"content":{"1071":{"position":[[976,16]]}},"keywords":{}}],["arghandleand",{"_index":5500,"title":{},"content":{"1071":{"position":[[1096,12]]}},"keywords":{}}],["arglik",{"_index":1258,"title":{},"content":{"98":{"position":[[1264,7]]},"230":{"position":[[1264,7]]},"374":{"position":[[918,9]]},"753":{"position":[[918,9]]}},"keywords":{}}],["args>",{"_index":3871,"title":{},"content":{"841":{"position":[[96,8],[218,8]]},"1140":{"position":[[87,12]]},"1188":{"position":[[140,12]]}},"keywords":{}}],["args.link_styl",{"_index":7733,"title":{},"content":{"1405":{"position":[[2923,16]]},"1407":{"position":[[3344,16]]}},"keywords":{}}],["args.static_lib",{"_index":8208,"title":{},"content":{"1455":{"position":[[3646,17]]}},"keywords":{}}],["args.static_pic_lib",{"_index":8210,"title":{},"content":{"1455":{"position":[[4037,21]]}},"keywords":{}}],["args=",x",{"_index":2149,"title":{},"content":{"405":{"position":[[1660,15]]},"784":{"position":[[1660,15]]}},"keywords":{}}],["args={}"",{"_index":2144,"title":{},"content":{"405":{"position":[[1478,14]]},"784":{"position":[[1478,14]]}},"keywords":{}}],["args_project",{"_index":2401,"title":{},"content":{"448":{"position":[[23,17]]},"827":{"position":[[23,17]]},"1082":{"position":[[1133,19]]}},"keywords":{}}],["argset",{"_index":6242,"title":{"1266":{"position":[[39,7]]},"1297":{"position":[[39,7]]},"1325":{"position":[[39,7]]}},"content":{"1259":{"position":[[632,7]]},"1290":{"position":[[632,7]]},"1318":{"position":[[632,7]]}},"keywords":{}}],["argsfil",{"_index":5781,"title":{},"content":{"1124":{"position":[[186,9]]}},"keywords":{}}],["arguabl",{"_index":4741,"title":{},"content":{"951":{"position":[[691,8]]}},"keywords":{}}],["argument",{"_index":287,"title":{"699":{"position":[[50,9]]},"1071":{"position":[[9,9]]}},"content":{"9":{"position":[[2402,9]]},"65":{"position":[[50,9]]},"72":{"position":[[184,8]]},"83":{"position":[[97,8]]},"89":{"position":[[1152,8]]},"92":{"position":[[592,9],[881,8],[901,10],[1495,8],[1525,8]]},"94":{"position":[[17,10],[1191,10],[1817,9],[2517,10]]},"98":{"position":[[696,9]]},"126":{"position":[[153,8],[234,8]]},"130":{"position":[[145,9]]},"131":{"position":[[473,8]]},"215":{"position":[[97,8]]},"221":{"position":[[1152,8]]},"224":{"position":[[592,9],[881,8],[901,10],[1495,8],[1525,8]]},"226":{"position":[[17,10],[1191,10],[1817,9],[2517,10]]},"230":{"position":[[696,9]]},"249":{"position":[[153,8],[234,8]]},"253":{"position":[[145,9]]},"254":{"position":[[473,8]]},"294":{"position":[[1214,8],[1317,8]]},"297":{"position":[[1072,8]]},"310":{"position":[[634,8],[757,8]]},"405":{"position":[[1212,9],[1428,9],[1596,9],[1723,8],[1785,8],[1874,9],[2435,9]]},"408":{"position":[[1247,8]]},"453":{"position":[[50,9]]},"495":{"position":[[184,8]]},"560":{"position":[[233,8],[564,8]]},"595":{"position":[[195,9],[463,8],[799,9],[852,9],[1087,8]]},"604":{"position":[[186,9],[257,8]]},"606":{"position":[[200,8]]},"610":{"position":[[254,8],[911,8]]},"615":{"position":[[201,8]]},"617":{"position":[[309,9]]},"636":{"position":[[201,9],[383,10]]},"638":{"position":[[458,8]]},"642":{"position":[[79,8]]},"644":{"position":[[81,8],[355,10]]},"648":{"position":[[184,8],[700,8],[803,8],[849,9]]},"651":{"position":[[104,9],[143,8]]},"652":{"position":[[223,9]]},"662":{"position":[[403,10],[423,9],[526,10],[610,10]]},"663":{"position":[[492,9],[554,9]]},"664":{"position":[[44,8]]},"666":{"position":[[395,8]]},"668":{"position":[[42,8]]},"670":{"position":[[177,10]]},"673":{"position":[[212,9]]},"675":{"position":[[98,9]]},"679":{"position":[[187,9],[301,9],[381,10],[441,9]]},"680":{"position":[[516,9]]},"681":{"position":[[291,10]]},"683":{"position":[[201,8]]},"693":{"position":[[9049,9],[9149,8]]},"695":{"position":[[117,8]]},"699":{"position":[[51,8]]},"784":{"position":[[1212,9],[1428,9],[1596,9],[1723,8],[1785,8],[1874,9],[2435,9]]},"787":{"position":[[1247,8]]},"840":{"position":[[660,9]]},"841":{"position":[[235,9]]},"850":{"position":[[549,9],[702,10]]},"869":{"position":[[488,9]]},"872":{"position":[[538,9]]},"873":{"position":[[391,8]]},"901":{"position":[[454,9],[516,9]]},"902":{"position":[[447,8]]},"906":{"position":[[783,9]]},"924":{"position":[[517,8]]},"927":{"position":[[338,9]]},"959":{"position":[[502,9]]},"961":{"position":[[447,10],[735,10]]},"970":{"position":[[48,9]]},"995":{"position":[[748,9]]},"1004":{"position":[[230,8],[441,10],[751,10]]},"1040":{"position":[[112,9],[417,9],[983,8],[1003,10],[1267,8],[1297,8]]},"1069":{"position":[[236,10],[325,9]]},"1071":{"position":[[64,9],[519,9],[701,9],[855,9],[1356,10]]},"1082":{"position":[[206,10]]},"1084":{"position":[[219,9]]},"1105":{"position":[[237,9]]},"1133":{"position":[[289,8],[430,8],[623,9]]},"1136":{"position":[[853,10]]},"1138":{"position":[[86,10],[5907,8],[5997,9],[6090,9]]},"1140":{"position":[[100,10],[256,9]]},"1144":{"position":[[223,10]]},"1146":{"position":[[107,10]]},"1148":{"position":[[1209,10],[3257,8],[3347,9],[3440,9]]},"1150":{"position":[[534,10]]},"1155":{"position":[[119,10]]},"1161":{"position":[[70,10]]},"1167":{"position":[[113,10],[193,9]]},"1171":{"position":[[366,9]]},"1172":{"position":[[879,10]]},"1173":{"position":[[179,10]]},"1174":{"position":[[83,10]]},"1175":{"position":[[103,10]]},"1176":{"position":[[23,9],[187,10],[531,9]]},"1177":{"position":[[99,10]]},"1178":{"position":[[253,10]]},"1179":{"position":[[119,10]]},"1180":{"position":[[449,10]]},"1181":{"position":[[162,10],[253,9]]},"1182":{"position":[[141,10]]},"1183":{"position":[[96,10]]},"1186":{"position":[[128,10],[1481,8],[1571,9],[1664,9]]},"1187":{"position":[[141,10],[1494,8],[1584,9],[1677,9]]},"1188":{"position":[[153,10],[309,9],[6220,8],[6310,9],[6403,9]]},"1191":{"position":[[117,10]]},"1192":{"position":[[308,10]]},"1193":{"position":[[73,10]]},"1194":{"position":[[117,10]]},"1195":{"position":[[114,10]]},"1197":{"position":[[120,10],[719,8],[809,9],[902,9]]},"1198":{"position":[[96,10],[729,8],[819,9],[912,9]]},"1199":{"position":[[117,10],[757,8],[847,9],[940,9]]},"1200":{"position":[[147,10],[624,8],[714,9],[807,9]]},"1201":{"position":[[171,10]]},"1202":{"position":[[1325,10],[5737,10]]},"1203":{"position":[[135,10]]},"1204":{"position":[[7338,10]]},"1205":{"position":[[316,10]]},"1207":{"position":[[180,10]]},"1209":{"position":[[86,10]]},"1217":{"position":[[231,10],[309,9]]},"1226":{"position":[[81,10]]},"1228":{"position":[[129,10],[213,9]]},"1235":{"position":[[1346,10]]},"1237":{"position":[[251,10]]},"1251":{"position":[[262,9]]},"1259":{"position":[[2126,10],[2193,9],[2215,8],[2237,8],[2329,10]]},"1260":{"position":[[434,9]]},"1262":{"position":[[247,8],[880,8]]},"1282":{"position":[[45,10]]},"1283":{"position":[[13,9],[35,8],[57,8]]},"1284":{"position":[[38,10]]},"1290":{"position":[[2126,10],[2193,9],[2215,8],[2237,8],[2329,10]]},"1291":{"position":[[434,9]]},"1293":{"position":[[247,8],[880,8]]},"1313":{"position":[[45,10]]},"1314":{"position":[[13,9],[35,8],[57,8]]},"1315":{"position":[[38,10]]},"1318":{"position":[[2126,10],[2193,9],[2215,8],[2237,8],[2329,10]]},"1319":{"position":[[434,9]]},"1321":{"position":[[247,8],[880,8]]},"1341":{"position":[[45,10]]},"1342":{"position":[[13,9],[35,8],[57,8]]},"1343":{"position":[[38,10]]},"1348":{"position":[[3600,8]]},"1351":{"position":[[3335,8]]},"1355":{"position":[[4576,9],[4624,9],[4720,9]]},"1356":{"position":[[3062,9]]},"1360":{"position":[[2954,8],[3062,9],[3171,10],[3388,8],[3446,8],[3742,8],[4699,8],[4804,9],[5099,8]]},"1362":{"position":[[11632,8]]},"1363":{"position":[[5278,8]]},"1364":{"position":[[8254,8]]},"1366":{"position":[[3170,8]]},"1367":{"position":[[10194,8]]},"1373":{"position":[[4471,9],[6653,8]]},"1374":{"position":[[766,9],[1677,9],[1755,9],[2044,10]]},"1382":{"position":[[8973,8]]},"1383":{"position":[[2539,8],[2647,9],[5117,8],[6042,8],[6100,8],[6731,8],[6836,9],[7207,8],[8653,9]]},"1384":{"position":[[8440,8],[10030,8],[10094,9],[15318,8],[18456,8]]},"1385":{"position":[[5201,8]]},"1387":{"position":[[8574,8]]},"1388":{"position":[[4678,9],[4792,10]]},"1393":{"position":[[6371,9]]},"1398":{"position":[[3556,9],[3609,9],[3649,8]]},"1402":{"position":[[1847,8]]},"1403":{"position":[[2369,8],[2477,9],[2586,10],[2803,8],[2861,8],[3157,8],[4114,8],[4219,9],[5256,8]]},"1405":{"position":[[2633,9],[2646,8],[3100,8]]},"1407":{"position":[[2379,8],[3054,9],[3067,8],[3521,8]]},"1410":{"position":[[3156,9],[3169,8],[4102,8],[4190,9],[5620,9]]},"1412":{"position":[[3072,9]]},"1415":{"position":[[4612,8]]},"1426":{"position":[[2761,10]]},"1427":{"position":[[1916,9],[3721,9],[3769,9]]},"1429":{"position":[[4953,8],[5045,8],[5193,9],[5788,8],[6257,9]]},"1438":{"position":[[1660,8],[2096,8]]},"1439":{"position":[[2202,9],[4403,9],[5464,9]]},"1440":{"position":[[5039,8],[5187,9],[6056,9]]},"1455":{"position":[[3327,9],[3825,9],[4228,9]]},"1467":{"position":[[10752,10]]},"1470":{"position":[[4313,9]]},"1472":{"position":[[5772,8]]},"1478":{"position":[[2013,9]]},"1483":{"position":[[1446,8]]},"1487":{"position":[[2830,8]]}},"keywords":{}}],["argument.linker_flag",{"_index":7734,"title":{},"content":{"1405":{"position":[[3188,22]]},"1407":{"position":[[3609,22]]}},"keywords":{}}],["argument.quot",{"_index":2152,"title":{},"content":{"405":{"position":[[1806,14]]},"784":{"position":[[1806,14]]}},"keywords":{}}],["argumentsuse_persist",{"_index":1912,"title":{},"content":{"362":{"position":[[2351,23]]},"741":{"position":[[2351,23]]}},"keywords":{}}],["aris",{"_index":5607,"title":{},"content":{"1090":{"position":[[34,5]]}},"keywords":{}}],["aritfact",{"_index":3978,"title":{},"content":{"861":{"position":[[691,10]]}},"keywords":{}}],["ariti",{"_index":4373,"title":{},"content":{"900":{"position":[[919,5],[1022,5]]}},"keywords":{}}],["arm",{"_index":4581,"title":{},"content":{"937":{"position":[[153,5]]},"1454":{"position":[[10221,5],[10402,5]]}},"keywords":{}}],["arm).unblock",{"_index":4611,"title":{},"content":{"937":{"position":[[4169,12]]}},"keywords":{}}],["arm/libmylib.a",{"_index":8192,"title":{},"content":{"1454":{"position":[[10417,17]]}},"keywords":{}}],["arm/libmylib.so",{"_index":8189,"title":{},"content":{"1454":{"position":[[10236,18]]}},"keywords":{}}],["arm64"",{"_index":5029,"title":{},"content":{"1006":{"position":[[931,12],[1091,12]]}},"keywords":{}}],["armv7",{"_index":7229,"title":{},"content":{"1384":{"position":[[22120,12],[22234,11]]}},"keywords":{}}],["armv7"",{"_index":5031,"title":{},"content":{"1006":{"position":[[1008,12],[1169,12]]}},"keywords":{}}],["armv7.",{"_index":7230,"title":{},"content":{"1384":{"position":[[22133,11]]}},"keywords":{}}],["armv7.h",{"_index":7233,"title":{},"content":{"1384":{"position":[[22268,9]]}},"keywords":{}}],["around",{"_index":105,"title":{},"content":{"5":{"position":[[414,6]]},"9":{"position":[[863,6]]},"616":{"position":[[654,6]]},"715":{"position":[[485,6]]},"864":{"position":[[1675,6]]},"890":{"position":[[5058,6]]},"924":{"position":[[907,6],[1146,6],[1474,6]]},"937":{"position":[[1353,6]]},"1049":{"position":[[30,6]]},"1104":{"position":[[1489,6]]},"1232":{"position":[[3210,6]]}},"keywords":{}}],["arrang",{"_index":6574,"title":{},"content":{"1355":{"position":[[7704,11]]}},"keywords":{}}],["array",{"_index":3131,"title":{},"content":{"638":{"position":[[808,5],[929,6]]},"902":{"position":[[796,5],[916,6]]},"1446":{"position":[[1653,5]]}},"keywords":{}}],["articl",{"_index":75,"title":{"5":{"position":[[9,8]]}},"content":{},"keywords":{}}],["artifact",{"_index":836,"title":{"44":{"position":[[0,8]]},"191":{"position":[[0,8]]},"356":{"position":[[0,9]]},"735":{"position":[[0,9]]},"834":{"position":[[37,10]]},"861":{"position":[[23,8]]},"1049":{"position":[[19,9]]}},"content":{"36":{"position":[[155,9]]},"37":{"position":[[153,8],[254,8]]},"45":{"position":[[107,8],[129,9],[153,8]]},"46":{"position":[[46,9],[68,8]]},"47":{"position":[[52,9],[74,8]]},"48":{"position":[[38,8]]},"49":{"position":[[81,9],[147,8]]},"50":{"position":[[73,8],[93,8],[140,9],[166,8],[300,9],[378,8]]},"51":{"position":[[114,8]]},"52":{"position":[[72,8],[153,9],[195,10],[210,9]]},"53":{"position":[[50,8],[131,9],[167,9]]},"65":{"position":[[123,10]]},"69":{"position":[[37,8],[123,8],[277,9],[472,9]]},"84":{"position":[[40,9],[73,8],[102,8]]},"85":{"position":[[34,8],[219,8],[245,8]]},"86":{"position":[[32,8],[82,10],[103,8],[124,8],[276,9]]},"87":{"position":[[28,8],[67,9],[87,8]]},"88":{"position":[[29,8],[68,9],[88,8],[116,8],[204,9],[237,9]]},"89":{"position":[[92,8],[121,9],[242,8],[645,8],[706,8],[825,9],[913,8],[1052,8]]},"91":{"position":[[35,8],[234,8],[303,10]]},"92":{"position":[[271,11],[627,9],[790,9],[1019,9],[1100,8],[1346,9],[1472,9],[1549,10],[1580,9],[2108,9],[2180,8],[2304,9],[2372,8]]},"94":{"position":[[28,8],[335,8],[1289,10]]},"95":{"position":[[32,8],[71,9],[91,8],[133,8],[221,9],[254,9]]},"96":{"position":[[35,8],[85,10],[106,8],[127,8],[270,9]]},"98":{"position":[[27,8],[70,8],[429,8],[440,10],[479,8],[809,8],[851,8],[1043,8]]},"99":{"position":[[32,8],[82,8],[548,8],[591,8],[692,8],[833,9],[864,8],[1451,8]]},"107":{"position":[[115,8]]},"112":{"position":[[110,8]]},"145":{"position":[[155,8]]},"181":{"position":[[155,9]]},"182":{"position":[[153,8],[254,8]]},"192":{"position":[[107,8],[129,9],[153,8]]},"193":{"position":[[46,9],[68,8]]},"194":{"position":[[52,9],[74,8]]},"195":{"position":[[38,8]]},"196":{"position":[[81,9],[147,8]]},"197":{"position":[[73,8],[93,8],[140,9],[166,8],[300,9],[378,8]]},"198":{"position":[[114,8]]},"199":{"position":[[72,8],[153,9],[195,10],[210,9]]},"200":{"position":[[50,8],[131,9],[167,9]]},"216":{"position":[[40,9],[73,8],[102,8]]},"217":{"position":[[34,8],[219,8],[245,8]]},"218":{"position":[[32,8],[82,10],[103,8],[124,8],[276,9]]},"219":{"position":[[28,8],[67,9],[87,8]]},"220":{"position":[[29,8],[68,9],[88,8],[116,8],[204,9],[237,9]]},"221":{"position":[[92,8],[121,9],[242,8],[645,8],[706,8],[825,9],[913,8],[1052,8]]},"223":{"position":[[35,8],[234,8],[303,10]]},"224":{"position":[[271,11],[627,9],[790,9],[1019,9],[1100,8],[1346,9],[1472,9],[1549,10],[1580,9],[2108,9],[2180,8],[2304,9],[2372,8]]},"226":{"position":[[28,8],[335,8],[1289,10]]},"227":{"position":[[32,8],[71,9],[91,8],[133,8],[221,9],[254,9]]},"228":{"position":[[35,8],[85,10],[106,8],[127,8],[270,9]]},"230":{"position":[[27,8],[70,8],[429,8],[440,10],[479,8],[809,8],[851,8],[1043,8]]},"231":{"position":[[32,8],[82,8],[548,8],[591,8],[692,8],[833,9],[864,8],[1451,8]]},"245":{"position":[[107,9]]},"246":{"position":[[110,9]]},"268":{"position":[[155,8]]},"279":{"position":[[84,8],[110,8],[364,8]]},"288":{"position":[[50,8],[238,9],[676,8],[775,8]]},"289":{"position":[[50,8],[258,9],[696,8],[795,8]]},"297":{"position":[[638,9]]},"298":{"position":[[1149,9]]},"304":{"position":[[355,8]]},"314":{"position":[[41,8]]},"315":{"position":[[32,8],[182,8],[196,10]]},"316":{"position":[[32,8],[202,8],[216,10]]},"317":{"position":[[33,8],[205,8],[219,10]]},"318":{"position":[[31,8],[344,8],[358,10]]},"319":{"position":[[42,8]]},"320":{"position":[[33,8],[216,8],[245,8],[447,9]]},"344":{"position":[[38,9],[85,8],[100,8],[185,9]]},"345":{"position":[[38,10],[56,8],[414,10],[860,9]]},"356":{"position":[[0,9]]},"368":{"position":[[40,8],[2951,9],[3357,9],[3519,8]]},"375":{"position":[[51,10],[257,9]]},"377":{"position":[[33,8]]},"386":{"position":[[19,8]]},"397":{"position":[[53,9]]},"400":{"position":[[416,9],[485,9]]},"405":{"position":[[21,8],[269,8],[698,8],[736,9],[1007,8],[1051,10],[1962,9],[1992,9],[2026,9],[2198,9],[2276,8],[2366,8]]},"406":{"position":[[110,8],[530,9]]},"408":{"position":[[43,9],[228,9],[421,9],[653,8],[807,9],[1019,9]]},"411":{"position":[[70,10],[137,10]]},"416":{"position":[[44,9],[131,8],[271,8],[308,8],[502,8],[834,8],[1045,8]]},"417":{"position":[[49,8],[500,8],[537,8],[732,8],[1193,8]]},"427":{"position":[[381,9]]},"453":{"position":[[123,10]]},"457":{"position":[[37,8],[123,8],[277,9],[472,9]]},"510":{"position":[[53,8],[70,8],[264,8],[843,8]]},"511":{"position":[[53,8],[70,8],[284,8],[858,8]]},"519":{"position":[[115,8]]},"524":{"position":[[110,8]]},"570":{"position":[[28,9],[164,9],[358,8]]},"572":{"position":[[175,9],[240,10]]},"680":{"position":[[833,9]]},"693":{"position":[[316,9],[355,9],[441,8],[490,8],[799,9],[7270,9]]},"711":{"position":[[643,9]]},"715":{"position":[[1508,10]]},"722":{"position":[[737,8],[1206,11]]},"724":{"position":[[725,9]]},"735":{"position":[[0,9]]},"747":{"position":[[40,8],[2951,9],[3357,9],[3519,8]]},"754":{"position":[[51,10],[257,9]]},"756":{"position":[[33,8]]},"765":{"position":[[19,8]]},"776":{"position":[[53,9]]},"779":{"position":[[416,9],[485,9]]},"784":{"position":[[21,8],[269,8],[698,8],[736,9],[1007,8],[1051,10],[1962,9],[1992,9],[2026,9],[2198,9],[2276,8],[2366,8]]},"785":{"position":[[110,8],[530,9]]},"787":{"position":[[43,9],[228,9],[421,9],[653,8],[807,9],[1019,9]]},"790":{"position":[[70,10],[137,10]]},"795":{"position":[[44,9],[131,8],[271,8],[308,8],[502,8],[834,8],[1045,8]]},"796":{"position":[[49,8],[500,8],[537,8],[732,8],[1193,8]]},"806":{"position":[[381,9]]},"832":{"position":[[627,9],[661,9],[756,9]]},"834":{"position":[[169,8],[267,8],[524,8],[580,8]]},"837":{"position":[[296,10]]},"840":{"position":[[1399,9],[1525,8],[1721,9]]},"844":{"position":[[92,11],[158,9]]},"848":{"position":[[12,8],[45,8],[314,9],[364,8],[386,8],[526,8],[641,8],[732,9],[834,10]]},"861":{"position":[[13,8],[47,10],[67,10],[88,10],[406,8],[588,10],[729,9],[785,11]]},"864":{"position":[[1410,9],[1496,9],[1695,9]]},"867":{"position":[[2184,8],[2299,8]]},"869":{"position":[[505,10]]},"872":{"position":[[930,9]]},"877":{"position":[[79,9]]},"878":{"position":[[559,8],[716,10]]},"949":{"position":[[122,10]]},"950":{"position":[[223,9],[314,9],[964,8],[1061,9],[1225,10],[1259,8]]},"955":{"position":[[625,9]]},"959":{"position":[[333,10]]},"964":{"position":[[287,9]]},"966":{"position":[[586,8],[636,8],[696,8]]},"1031":{"position":[[79,10],[730,9]]},"1040":{"position":[[147,9],[276,9],[305,10],[892,9],[1119,9],[1244,9],[1321,10],[1352,9],[1444,9],[1525,8],[2397,10]]},"1042":{"position":[[555,8]]},"1044":{"position":[[40,10],[523,10],[538,11],[602,10],[625,8],[717,8],[735,11],[779,8],[801,8],[889,8],[931,8],[1228,8],[2557,9],[2578,9]]},"1049":{"position":[[128,8],[150,10],[194,10],[260,9],[275,8],[325,10],[425,8],[555,8],[619,8],[647,10]]},"1067":{"position":[[133,9]]},"1071":{"position":[[199,10]]},"1075":{"position":[[232,9],[270,9],[418,9],[612,9],[631,9],[722,10]]},"1079":{"position":[[73,10],[134,10],[942,9],[1097,10],[1280,10]]},"1082":{"position":[[373,9]]},"1083":{"position":[[1099,10],[1207,9]]},"1103":{"position":[[1200,8],[1260,8],[1312,8],[1470,10]]},"1104":{"position":[[1103,9],[1627,8],[1823,9]]},"1105":{"position":[[261,9],[322,9],[588,8],[740,8],[893,8],[1084,9],[1458,9],[1540,9],[1939,9]]},"1138":{"position":[[754,10],[1429,9]]},"1140":{"position":[[380,10]]},"1142":{"position":[[229,9],[374,9],[430,9]]},"1188":{"position":[[433,10]]},"1190":{"position":[[1155,9],[1210,10],[1457,10]]},"1205":{"position":[[42,9],[97,10],[378,9]]},"1206":{"position":[[86,10],[3688,9]]},"1245":{"position":[[176,10],[476,9]]},"1393":{"position":[[9501,9]]},"1422":{"position":[[2309,8],[2469,9]]},"1423":{"position":[[1997,9],[2138,9]]},"1469":{"position":[[1793,9]]}},"keywords":{}}],["artifact'",{"_index":839,"title":{},"content":{"37":{"position":[[73,10]]},"182":{"position":[[73,10]]},"304":{"position":[[434,10]]}},"keywords":{}}],["artifact.as_output",{"_index":869,"title":{"45":{"position":[[0,19]]},"192":{"position":[[0,19]]}},"content":{"45":{"position":[[4,20]]},"192":{"position":[[4,20]]}},"keywords":{}}],["artifact.basenam",{"_index":875,"title":{"46":{"position":[[0,18]]},"193":{"position":[[0,18]]}},"content":{"46":{"position":[[0,18]]},"193":{"position":[[0,18]]}},"keywords":{}}],["artifact.extens",{"_index":879,"title":{"47":{"position":[[0,19]]},"194":{"position":[[0,19]]}},"content":{"47":{"position":[[0,19]]},"194":{"position":[[0,19]]}},"keywords":{}}],["artifact.is_sourc",{"_index":884,"title":{"48":{"position":[[0,19]]},"195":{"position":[[0,19]]}},"content":{"48":{"position":[[0,19]]},"195":{"position":[[0,19]]}},"keywords":{}}],["artifact.own",{"_index":888,"title":{"49":{"position":[[0,15]]},"196":{"position":[[0,15]]}},"content":{"49":{"position":[[0,15]]},"196":{"position":[[0,15]]}},"keywords":{}}],["artifact.par",{"_index":2156,"title":{},"content":{"405":{"position":[[2168,15]]},"784":{"position":[[2168,15]]}},"keywords":{}}],["artifact.project",{"_index":890,"title":{"50":{"position":[[0,17]]},"197":{"position":[[0,17]]}},"content":{"50":{"position":[[4,17]]},"197":{"position":[[4,17]]}},"keywords":{}}],["artifact.short_path",{"_index":901,"title":{"51":{"position":[[0,20]]},"198":{"position":[[0,20]]}},"content":{"51":{"position":[[0,20]]},"198":{"position":[[0,20]]}},"keywords":{}}],["artifact.with_associated_artifact",{"_index":903,"title":{"52":{"position":[[0,35]]},"199":{"position":[[0,35]]}},"content":{},"keywords":{}}],["artifact.with_associated_artifacts(artifact",{"_index":904,"title":{},"content":{"52":{"position":[[4,45]]},"199":{"position":[[4,45]]}},"keywords":{}}],["artifact.without_associated_artifact",{"_index":908,"title":{"53":{"position":[[0,38]]},"200":{"position":[[0,38]]}},"content":{"53":{"position":[[4,39]]},"200":{"position":[[4,39]]}},"keywords":{}}],["artifact/act",{"_index":4727,"title":{},"content":{"950":{"position":[[118,15]]}},"keywords":{}}],["artifact_from_dict",{"_index":5184,"title":{},"content":{"1044":{"position":[[1279,18]]}},"keywords":{}}],["artifact_promise_map",{"_index":2101,"title":{},"content":{"400":{"position":[[127,26],[326,25]]},"779":{"position":[[127,26],[326,25]]},"1042":{"position":[[180,25]]},"1043":{"position":[[292,25],[383,25]]},"1044":{"position":[[669,25],[840,26],[1068,25],[1606,25],[1748,25],[3097,25]]},"1049":{"position":[[1054,25]]}},"keywords":{}}],["artifact_tag",{"_index":1023,"title":{},"content":{"83":{"position":[[33,12]]},"94":{"position":[[775,13]]},"215":{"position":[[33,12]]},"226":{"position":[[775,13]]}},"keywords":{}}],["artifact_valu",{"_index":1119,"title":{},"content":{"92":{"position":[[239,16]]},"224":{"position":[[239,16]]},"411":{"position":[[96,16]]},"790":{"position":[[96,16]]}},"keywords":{}}],["artifactcategori",{"_index":1190,"title":{},"content":{"94":{"position":[[1343,17]]},"226":{"position":[[1343,17]]}},"keywords":{}}],["artifactfor",{"_index":3714,"title":{},"content":{"711":{"position":[[675,11]]}},"keywords":{}}],["artifacts()funct",{"_index":5177,"title":{},"content":{"1044":{"position":[[55,21]]}},"keywords":{}}],["artifacts[dep_file].read_lin",{"_index":5156,"title":{},"content":{"1040":{"position":[[2449,32]]}},"keywords":{}}],["artifacts[query_params].read_json",{"_index":4108,"title":{},"content":{"878":{"position":[[793,35]]}},"keywords":{}}],["artifacttag",{"_index":1867,"title":{"357":{"position":[[0,12]]},"736":{"position":[[0,12]]}},"content":{"357":{"position":[[0,12]]},"736":{"position":[[0,12]]}},"keywords":{}}],["artifacttravers",{"_index":1997,"title":{},"content":{"368":{"position":[[3321,20],[3489,19]]},"747":{"position":[[3321,20],[3489,19]]}},"keywords":{}}],["artifactvalu",{"_index":1868,"title":{"358":{"position":[[0,14]]},"737":{"position":[[0,14]]}},"content":{"358":{"position":[[0,14]]},"737":{"position":[[0,14]]}},"keywords":{}}],["as$home/.cargo/bin",{"_index":465,"title":{},"content":{"15":{"position":[[604,19]]}},"keywords":{}}],["as.actu",{"_index":4956,"title":{},"content":{"993":{"position":[[114,9]]}},"keywords":{}}],["as.configured_actu",{"_index":4969,"title":{},"content":{"995":{"position":[[125,20]]}},"keywords":{}}],["as.vers",{"_index":4962,"title":{},"content":{"994":{"position":[[124,11]]}},"keywords":{}}],["as_output",{"_index":1090,"title":{},"content":{"89":{"position":[[623,9]]},"94":{"position":[[1330,12]]},"221":{"position":[[623,9]]},"226":{"position":[[1330,12]]},"1105":{"position":[[794,12],[1186,13]]}},"keywords":{}}],["asan",{"_index":4582,"title":{},"content":{"937":{"position":[[179,5],[2099,4],[2171,4],[2278,4]]},"942":{"position":[[180,4],[295,4]]},"1405":{"position":[[449,5]]},"1407":{"position":[[459,5]]},"1410":{"position":[[572,5],[2546,5],[2568,5]]}},"keywords":{}}],["asan.assembler_flag",{"_index":7725,"title":{},"content":{"1405":{"position":[[2127,21]]},"1407":{"position":[[2168,21]]}},"keywords":{}}],["asapple_bundle—wher",{"_index":3424,"title":{},"content":{"682":{"position":[[212,20]]}},"keywords":{}}],["asbuck2",{"_index":4663,"title":{},"content":{"942":{"position":[[45,7]]},"1282":{"position":[[460,7]]},"1283":{"position":[[474,7]]},"1284":{"position":[[453,7]]},"1313":{"position":[[460,7]]},"1314":{"position":[[474,7]]},"1315":{"position":[[453,7]]},"1341":{"position":[[460,7]]},"1342":{"position":[[474,7]]},"1343":{"position":[[453,7]]}},"keywords":{}}],["ascell_alias//path/to/package:target",{"_index":3594,"title":{},"content":{"693":{"position":[[8659,37]]}},"keywords":{}}],["ascend",{"_index":3295,"title":{},"content":{"662":{"position":[[457,9]]},"1178":{"position":[[612,9]]}},"keywords":{}}],["asconstraintsettinginfo",{"_index":5061,"title":{},"content":{"1017":{"position":[[713,24]]}},"keywords":{}}],["ashould_propag",{"_index":4896,"title":{},"content":{"988":{"position":[[594,17]]}},"keywords":{}}],["asimpl",{"_index":509,"title":{},"content":{"17":{"position":[[806,7]]}},"keywords":{}}],["asingl",{"_index":753,"title":{},"content":{"23":{"position":[[2480,7]]}},"keywords":{}}],["ask",{"_index":1017,"title":{},"content":{"81":{"position":[[330,3]]},"213":{"position":[[330,3]]},"416":{"position":[[293,6]]},"417":{"position":[[522,6]]},"704":{"position":[[1527,3]]},"705":{"position":[[446,3],[525,3],[1054,5]]},"795":{"position":[[293,6]]},"796":{"position":[[522,6]]},"1393":{"position":[[4587,3]]}},"keywords":{}}],["asm",{"_index":7203,"title":{},"content":{"1384":{"position":[[11826,3],[11834,3],[12759,3],[12776,3]]},"1410":{"position":[[2648,4]]}},"keywords":{}}],["asm.build_mod",{"_index":7750,"title":{},"content":{"1407":{"position":[[2247,15]]}},"keywords":{}}],["asm.cgo_en",{"_index":7726,"title":{},"content":{"1405":{"position":[[2206,16]]}},"keywords":{}}],["asm.compiler_flag",{"_index":7783,"title":{},"content":{"1408":{"position":[[1916,19]]}},"keywords":{}}],["asm.go_compiler_flag",{"_index":7047,"title":{},"content":{"1373":{"position":[[4248,22]]}},"keywords":{}}],["asm_compil",{"_index":7324,"title":{},"content":{"1389":{"position":[[628,13]]}},"keywords":{}}],["asm_compiler_flag",{"_index":7325,"title":{},"content":{"1389":{"position":[[658,19]]}},"keywords":{}}],["asm_compiler_typ",{"_index":7326,"title":{},"content":{"1389":{"position":[[693,18]]}},"keywords":{}}],["asm_preprocessor",{"_index":7327,"title":{},"content":{"1389":{"position":[[728,17]]}},"keywords":{}}],["asm_preprocessor_flag",{"_index":7328,"title":{},"content":{"1389":{"position":[[762,23]]}},"keywords":{}}],["asm_preprocessor_typ",{"_index":7329,"title":{},"content":{"1389":{"position":[[801,22]]}},"keywords":{}}],["aspect",{"_index":302,"title":{},"content":{"9":{"position":[[2714,8]]},"22":{"position":[[1038,7]]}},"keywords":{}}],["asplatform_src",{"_index":3396,"title":{},"content":{"679":{"position":[[397,15]]}},"keywords":{}}],["assembl",{"_index":6815,"title":{},"content":{"1362":{"position":[[12411,9],[12651,8],[12707,9]]},"1364":{"position":[[12916,9],[13351,8],[13407,9]]},"1367":{"position":[[12319,9],[12559,8],[12615,9]]},"1373":{"position":[[4213,9]]},"1381":{"position":[[1744,10],[2769,8]]},"1382":{"position":[[10127,9],[11013,8],[11069,9]]},"1384":{"position":[[11608,10],[11801,9],[11815,8],[12585,10],[12725,9],[12748,8],[16472,9],[18667,8],[18723,9]]},"1385":{"position":[[6353,9],[6591,8],[6647,9]]},"1387":{"position":[[9726,9],[9964,8],[10020,9]]},"1388":{"position":[[9506,8],[9562,9]]},"1389":{"position":[[840,10]]},"1405":{"position":[[2171,9],[3744,10]]},"1406":{"position":[[1503,10],[1586,10]]},"1407":{"position":[[2212,9],[4363,10]]},"1408":{"position":[[1881,9],[2742,10],[2825,10]]},"1410":{"position":[[2613,9],[5154,10],[5237,10]]},"1442":{"position":[[2386,8],[2442,9]]},"1456":{"position":[[338,9],[574,9],[1570,8]]},"1485":{"position":[[3877,8],[3933,9]]}},"keywords":{}}],["assembler.tag",{"_index":7738,"title":{},"content":{"1405":{"position":[[3827,15]]},"1407":{"position":[[4446,15]]}},"keywords":{}}],["assembler_flag",{"_index":7330,"title":{},"content":{"1389":{"position":[[856,16]]},"1405":{"position":[[465,16]]},"1407":{"position":[[475,16]]},"1408":{"position":[[516,16]]},"1410":{"position":[[588,16],[2574,16]]}},"keywords":{}}],["assembler_preprocessor",{"_index":7331,"title":{},"content":{"1389":{"position":[[888,23]]}},"keywords":{}}],["assembler_preprocessor_flag",{"_index":7332,"title":{},"content":{"1389":{"position":[[928,29]]}},"keywords":{}}],["assembler_preprocessor_typ",{"_index":7333,"title":{},"content":{"1389":{"position":[[973,28]]}},"keywords":{}}],["assembler_typ",{"_index":7334,"title":{},"content":{"1389":{"position":[[1018,15]]}},"keywords":{}}],["assert",{"_index":1031,"title":{},"content":{"84":{"position":[[186,8]]},"216":{"position":[[186,8]]},"1004":{"position":[[2136,6]]},"1107":{"position":[[79,6]]}},"keywords":{}}],["assert_eq(a",{"_index":3772,"title":{},"content":{"712":{"position":[[3091,12]]}},"keywords":{}}],["assert_eq(mirrored_fields.fals",{"_index":3756,"title":{},"content":{"712":{"position":[[1710,32]]}},"keywords":{}}],["assert_eq(mirrored_fields.int",{"_index":3757,"title":{},"content":{"712":{"position":[[1750,30]]}},"keywords":{}}],["assert_eq(mirrored_fields.list_str",{"_index":3759,"title":{},"content":{"712":{"position":[[1847,38]]}},"keywords":{}}],["assert_eq(mirrored_fields.str",{"_index":3758,"title":{},"content":{"712":{"position":[[1785,33]]}},"keywords":{}}],["assert_eq(mirrored_fields.tru",{"_index":3755,"title":{},"content":{"712":{"position":[[1672,31]]}},"keywords":{}}],["asset",{"_index":6400,"title":{},"content":{"1348":{"position":[[4568,6],[4577,9]]},"1358":{"position":[[2549,5]]},"1359":{"position":[[438,7],[970,6]]},"1361":{"position":[[673,5],[2445,5]]},"1363":{"position":[[2892,5],[4011,5]]}},"keywords":{}}],["asset_catalogs_compilation_opt",{"_index":6847,"title":{},"content":{"1363":{"position":[[1309,35],[3945,35]]},"1367":{"position":[[1465,35]]}},"keywords":{}}],["asset_compression_algorithm",{"_index":6422,"title":{},"content":{"1350":{"position":[[1047,28]]},"1352":{"position":[[1047,28]]}},"keywords":{}}],["asset_extens",{"_index":8018,"title":{},"content":{"1433":{"position":[[446,17]]}},"keywords":{}}],["asset_platform",{"_index":8019,"title":{},"content":{"1433":{"position":[[486,16]]}},"keywords":{}}],["assetcatalog",{"_index":6686,"title":{},"content":{"1361":{"position":[[2520,15]]}},"keywords":{}}],["assetcatalog.xcasset",{"_index":6687,"title":{},"content":{"1361":{"position":[[2545,23]]}},"keywords":{}}],["assets/lib",{"_index":8104,"title":{},"content":{"1446":{"position":[[2122,12],[2608,12]]},"1459":{"position":[[2095,12]]}},"keywords":{}}],["assign",{"_index":4205,"title":{},"content":{"890":{"position":[[713,6],[1297,6],[1354,10],[1583,11],[1602,10],[2952,8],[3004,12],[3212,10],[4371,8],[4736,12],[5808,8],[5939,10],[6743,6]]},"1004":{"position":[[318,8]]},"1363":{"position":[[5131,7]]},"1367":{"position":[[10047,7]]}},"keywords":{}}],["associ",{"_index":343,"title":{"1031":{"position":[[28,11]]}},"content":{"10":{"position":[[856,10]]},"30":{"position":[[74,10]]},"31":{"position":[[57,10]]},"53":{"position":[[156,10]]},"186":{"position":[[74,10]]},"187":{"position":[[57,10]]},"200":{"position":[[156,10]]},"692":{"position":[[118,10]]},"890":{"position":[[4467,10]]},"939":{"position":[[426,10]]},"951":{"position":[[651,10]]},"989":{"position":[[454,10]]},"1030":{"position":[[86,9]]},"1031":{"position":[[26,9]]},"1049":{"position":[[636,10]]},"1072":{"position":[[67,10]]},"1112":{"position":[[1253,10]]},"1134":{"position":[[32,10]]},"1228":{"position":[[2351,10]]},"1282":{"position":[[157,11]]},"1283":{"position":[[174,11]]},"1284":{"position":[[154,11]]},"1313":{"position":[[157,11]]},"1314":{"position":[[174,11]]},"1315":{"position":[[154,11]]},"1341":{"position":[[157,11]]},"1342":{"position":[[174,11]]},"1343":{"position":[[154,11]]},"1345":{"position":[[636,10]]},"1348":{"position":[[3460,10]]},"1349":{"position":[[1605,10]]},"1350":{"position":[[4576,10]]},"1351":{"position":[[1802,10]]},"1352":{"position":[[4575,10]]},"1353":{"position":[[2179,10]]},"1354":{"position":[[2017,10]]},"1355":{"position":[[3162,10]]},"1356":{"position":[[1523,10],[1916,10]]},"1357":{"position":[[1196,10]]},"1358":{"position":[[1917,10]]},"1359":{"position":[[1754,10]]},"1360":{"position":[[2391,10]]},"1361":{"position":[[1744,10]]},"1362":{"position":[[6114,10]]},"1363":{"position":[[3860,10]]},"1364":{"position":[[6143,10]]},"1365":{"position":[[1678,10]]},"1366":{"position":[[1890,10]]},"1367":{"position":[[7541,10]]},"1368":{"position":[[2234,10]]},"1369":{"position":[[1286,10]]},"1370":{"position":[[1539,10]]},"1371":{"position":[[1162,10]]},"1372":{"position":[[2800,10]]},"1373":{"position":[[3672,10]]},"1374":{"position":[[1574,10]]},"1375":{"position":[[1198,10]]},"1376":{"position":[[1154,10]]},"1377":{"position":[[1393,10]]},"1378":{"position":[[1140,10]]},"1379":{"position":[[1163,10]]},"1380":{"position":[[1634,10]]},"1381":{"position":[[1540,10]]},"1382":{"position":[[4026,10]]},"1383":{"position":[[2264,10]]},"1384":{"position":[[5188,10]]},"1385":{"position":[[2859,10]]},"1386":{"position":[[1497,10]]},"1387":{"position":[[5128,10]]},"1388":{"position":[[4326,10]]},"1389":{"position":[[5181,10]]},"1390":{"position":[[1433,10]]},"1391":{"position":[[1386,10]]},"1392":{"position":[[1536,10]]},"1393":{"position":[[2114,10]]},"1394":{"position":[[1556,10]]},"1395":{"position":[[1571,10]]},"1396":{"position":[[1362,10]]},"1397":{"position":[[1543,10]]},"1398":{"position":[[2221,10]]},"1399":{"position":[[1398,10]]},"1400":{"position":[[1267,10]]},"1401":{"position":[[1342,10]]},"1402":{"position":[[1498,10]]},"1403":{"position":[[2094,10]]},"1404":{"position":[[1331,10]]},"1405":{"position":[[2022,10]]},"1406":{"position":[[1238,10]]},"1407":{"position":[[2063,10]]},"1408":{"position":[[1759,10]]},"1409":{"position":[[1293,10]]},"1410":{"position":[[2461,10]]},"1411":{"position":[[1276,10]]},"1412":{"position":[[2482,10]]},"1413":{"position":[[2660,10]]},"1414":{"position":[[1527,10]]},"1415":{"position":[[3509,10]]},"1416":{"position":[[2161,10]]},"1417":{"position":[[1750,10]]},"1418":{"position":[[1451,10]]},"1419":{"position":[[1579,10]]},"1420":{"position":[[1843,10]]},"1421":{"position":[[1026,10],[1818,10]]},"1422":{"position":[[1727,10]]},"1423":{"position":[[1710,10]]},"1424":{"position":[[1835,10]]},"1425":{"position":[[1451,10]]},"1426":{"position":[[1800,10]]},"1427":{"position":[[2697,10]]},"1428":{"position":[[1433,10]]},"1429":{"position":[[3361,10]]},"1430":{"position":[[2209,10]]},"1431":{"position":[[1553,10]]},"1432":{"position":[[2074,10]]},"1433":{"position":[[1595,10]]},"1434":{"position":[[1269,10]]},"1435":{"position":[[1233,10]]},"1436":{"position":[[1249,10]]},"1437":{"position":[[1319,10]]},"1438":{"position":[[1459,10]]},"1439":{"position":[[2983,10]]},"1440":{"position":[[3549,10]]},"1441":{"position":[[1275,10]]},"1442":{"position":[[1354,10]]},"1443":{"position":[[1570,10]]},"1444":{"position":[[1486,10]]},"1445":{"position":[[1175,10]]},"1446":{"position":[[1509,10]]},"1447":{"position":[[1391,10]]},"1448":{"position":[[1826,10]]},"1449":{"position":[[1760,10]]},"1450":{"position":[[1639,10]]},"1451":{"position":[[1639,10]]},"1452":{"position":[[1185,10]]},"1453":{"position":[[1771,10]]},"1454":{"position":[[4137,10]]},"1455":{"position":[[2024,10]]},"1456":{"position":[[1369,10]]},"1457":{"position":[[1428,10]]},"1458":{"position":[[1963,10]]},"1459":{"position":[[1442,10]]},"1460":{"position":[[1554,10]]},"1461":{"position":[[1775,10]]},"1462":{"position":[[5150,10]]},"1463":{"position":[[1276,10]]},"1464":{"position":[[1184,10]]},"1465":{"position":[[2282,10]]},"1466":{"position":[[1520,10]]},"1467":{"position":[[5845,10]]},"1468":{"position":[[1284,10]]},"1469":{"position":[[1663,10]]},"1470":{"position":[[4186,10]]},"1471":{"position":[[2526,10]]},"1472":{"position":[[2485,10]]},"1473":{"position":[[2800,10]]},"1474":{"position":[[2185,10]]},"1475":{"position":[[2656,10]]},"1476":{"position":[[1261,10]]},"1477":{"position":[[1419,10]]},"1478":{"position":[[1910,10]]},"1479":{"position":[[1353,10]]},"1480":{"position":[[1766,10]]},"1481":{"position":[[2299,10]]},"1482":{"position":[[1373,10]]},"1483":{"position":[[1207,10]]},"1484":{"position":[[1279,10]]},"1485":{"position":[[1539,10]]},"1486":{"position":[[1783,10]]},"1487":{"position":[[1484,10]]}},"keywords":{}}],["assum",{"_index":4217,"title":{},"content":{"890":{"position":[[2034,8]]},"892":{"position":[[353,9]]},"898":{"position":[[826,9]]},"944":{"position":[[915,6]]},"1054":{"position":[[1203,6]]},"1351":{"position":[[4713,8]]},"1405":{"position":[[3778,7]]},"1406":{"position":[[1537,7]]},"1407":{"position":[[4397,7]]},"1408":{"position":[[2776,7]]},"1410":{"position":[[5188,7]]},"1415":{"position":[[5778,6]]},"1446":{"position":[[2327,7]]},"1477":{"position":[[2264,6]]},"1487":{"position":[[3662,9]]}},"keywords":{}}],["assumpt",{"_index":2606,"title":{},"content":{"570":{"position":[[116,11]]},"861":{"position":[[547,11]]},"1075":{"position":[[39,11]]}},"keywords":{}}],["ast",{"_index":4263,"title":{},"content":{"890":{"position":[[6885,3]]}},"keywords":{}}],["astarlark",{"_index":607,"title":{},"content":{"20":{"position":[[63,9]]},"693":{"position":[[7048,9]]}},"keywords":{}}],["astarlarkstr",{"_index":3799,"title":{},"content":{"722":{"position":[[389,16]]}},"keywords":{}}],["astoolchain_deps.buck2",{"_index":778,"title":{},"content":{"23":{"position":[[3351,22]]}},"keywords":{}}],["asynchron",{"_index":3836,"title":{"837":{"position":[[29,16]]}},"content":{"835":{"position":[[106,14]]},"837":{"position":[[78,15]]},"864":{"position":[[1536,14]]},"876":{"position":[[353,14]]}},"keywords":{}}],["as~/repo_root",{"_index":6170,"title":{},"content":{"1240":{"position":[[364,19]]}},"keywords":{}}],["as~/repo_root/cel",{"_index":6171,"title":{},"content":{"1240":{"position":[[519,24]]}},"keywords":{}}],["atarget",{"_index":3554,"title":{},"content":{"693":{"position":[[4531,7]]},"846":{"position":[[1708,7]]},"1107":{"position":[[151,8]]}},"keywords":{}}],["athttps://github.com/facebook/buck2/tree/main/prelud",{"_index":3571,"title":{},"content":{"693":{"position":[[6078,54]]}},"keywords":{}}],["atom",{"_index":341,"title":{},"content":{"10":{"position":[[833,6]]},"696":{"position":[[421,6]]},"898":{"position":[[865,10],[1050,10],[1981,10]]}},"keywords":{}}],["atprelude/declsto",{"_index":5631,"title":{},"content":{"1102":{"position":[[124,17]]}},"keywords":{}}],["attach",{"_index":4524,"title":{"1224":{"position":[[20,7]]}},"content":{"924":{"position":[[265,6]]},"951":{"position":[[31,8],[917,9],[1029,8],[1095,8]]},"964":{"position":[[721,8]]},"1060":{"position":[[293,6]]},"1221":{"position":[[166,6]]},"1224":{"position":[[259,6]]}},"keywords":{}}],["attempt",{"_index":4865,"title":{},"content":{"981":{"position":[[501,7]]},"1000":{"position":[[410,7]]},"1001":{"position":[[376,7],[1366,7]]},"1064":{"position":[[474,7],[1462,7]]},"1065":{"position":[[299,7]]},"1136":{"position":[[3817,7]]},"1138":{"position":[[4894,7],[7479,7]]},"1140":{"position":[[4383,7],[6405,7]]},"1142":{"position":[[1849,7]]},"1146":{"position":[[1789,7]]},"1148":{"position":[[4829,7]]},"1155":{"position":[[1885,7]]},"1156":{"position":[[1463,7]]},"1167":{"position":[[5387,7],[7409,7]]},"1169":{"position":[[1248,7]]},"1186":{"position":[[3053,7]]},"1187":{"position":[[3066,7]]},"1188":{"position":[[4436,7],[7792,7]]},"1191":{"position":[[1653,7]]},"1192":{"position":[[1828,7]]},"1193":{"position":[[1880,7]]},"1194":{"position":[[1520,7]]},"1195":{"position":[[1498,7]]},"1196":{"position":[[1308,7]]},"1197":{"position":[[2291,7]]},"1198":{"position":[[2301,7]]},"1199":{"position":[[2329,7]]},"1200":{"position":[[2196,7]]},"1201":{"position":[[1456,7]]},"1202":{"position":[[2598,7],[6995,7]]},"1203":{"position":[[1690,7]]},"1204":{"position":[[1534,7]]},"1205":{"position":[[2863,7]]},"1206":{"position":[[1334,7]]},"1207":{"position":[[1491,7]]},"1209":{"position":[[2839,7]]},"1217":{"position":[[4128,7],[6150,7]]},"1219":{"position":[[2136,7]]},"1222":{"position":[[1260,7]]},"1223":{"position":[[1270,7]]},"1224":{"position":[[1450,7]]},"1226":{"position":[[6618,7]]},"1228":{"position":[[6209,7],[8231,7]]},"1235":{"position":[[4099,7]]},"1237":{"position":[[6788,7]]},"1422":{"position":[[3519,7]]},"1423":{"position":[[2290,7]]},"1461":{"position":[[3090,7]]}},"keywords":{}}],["attent",{"_index":407,"title":{},"content":{"12":{"position":[[427,9]]},"1250":{"position":[[189,9]]}},"keywords":{}}],["attr",{"_index":984,"title":{"124":{"position":[[0,5]]},"247":{"position":[[0,5]]},"359":{"position":[[0,5]]},"401":{"position":[[0,6]]},"738":{"position":[[0,5]]},"780":{"position":[[0,6]]}},"content":{"72":{"position":[[178,5]]},"81":{"position":[[53,6]]},"213":{"position":[[53,6]]},"238":{"position":[[34,5]]},"276":{"position":[[228,5],[369,6],[421,5],[673,6],[786,5],[871,5]]},"277":{"position":[[128,4],[179,5],[317,6],[369,5],[821,5]]},"281":{"position":[[295,5],[449,6],[510,5],[774,6],[896,5],[993,5]]},"282":{"position":[[183,4],[243,5],[399,6],[460,5],[939,5]]},"322":{"position":[[243,5]]},"325":{"position":[[34,5]]},"333":{"position":[[35,5]]},"359":{"position":[[0,5]]},"368":{"position":[[1226,7]]},"400":{"position":[[73,6]]},"401":{"position":[[0,6],[7,5]]},"437":{"position":[[68,6],[538,5]]},"447":{"position":[[64,6]]},"466":{"position":[[34,5]]},"483":{"position":[[155,5]]},"484":{"position":[[208,5]]},"495":{"position":[[178,5]]},"528":{"position":[[215,5]]},"645":{"position":[[16,5]]},"646":{"position":[[15,5]]},"711":{"position":[[189,6]]},"712":{"position":[[519,5],[1067,5],[1540,6],[1591,5]]},"738":{"position":[[0,5]]},"747":{"position":[[1226,7]]},"779":{"position":[[73,6]]},"780":{"position":[[0,6],[7,5]]},"816":{"position":[[68,6],[538,5]]},"826":{"position":[[64,6]]},"856":{"position":[[138,6],[264,5],[482,5],[636,5],[739,5],[847,5],[980,5]]},"870":{"position":[[482,4]]},"929":{"position":[[303,4]]},"930":{"position":[[165,5]]},"961":{"position":[[768,5],[830,5]]},"991":{"position":[[93,5],[239,5],[684,5]]},"1006":{"position":[[4,5],[468,5]]},"1009":{"position":[[477,7],[527,5],[738,5]]},"1042":{"position":[[103,5],[168,5]]},"1043":{"position":[[280,5],[371,5]]},"1044":{"position":[[1056,5],[1594,5],[1736,5],[2854,5]]},"1046":{"position":[[67,5],[390,7]]},"1047":{"position":[[171,5]]},"1048":{"position":[[829,5],[1534,5]]},"1049":{"position":[[1042,5],[1658,5]]},"1054":{"position":[[1410,5]]},"1103":{"position":[[441,5]]},"1108":{"position":[[468,5]]},"1190":{"position":[[737,5]]},"1199":{"position":[[36,5]]}},"keywords":{}}],["attr.arg()attribut",{"_index":5553,"title":{},"content":{"1082":{"position":[[351,21]]}},"keywords":{}}],["attr.dep",{"_index":1323,"title":{},"content":{"121":{"position":[[141,10]]},"530":{"position":[[141,10]]},"1044":{"position":[[2361,9]]}},"keywords":{}}],["attr.dep(default",{"_index":5262,"title":{},"content":{"1048":{"position":[[1615,16]]}},"keywords":{}}],["attr.exec_dep",{"_index":3918,"title":{},"content":{"851":{"position":[[633,14]]},"1049":{"position":[[1691,16]]}},"keywords":{}}],["attr.exec_dep.toolchain",{"_index":1640,"title":{},"content":{"298":{"position":[[1615,24]]}},"keywords":{}}],["attr.list",{"_index":5047,"title":{},"content":{"1009":{"position":[[779,15]]}},"keywords":{}}],["attr.list(attr.src",{"_index":5260,"title":{},"content":{"1048":{"position":[[1562,22]]}},"keywords":{}}],["attr1",{"_index":5871,"title":{},"content":{"1136":{"position":[[1945,5]]},"1148":{"position":[[2301,5]]},"1205":{"position":[[1425,5]]},"1209":{"position":[[1178,5]]},"1226":{"position":[[3118,5]]},"1235":{"position":[[2438,5]]},"1237":{"position":[[3288,5]]}},"keywords":{}}],["attr2",{"_index":5872,"title":{},"content":{"1136":{"position":[[1951,6]]},"1148":{"position":[[2307,6]]},"1205":{"position":[[1431,6]]},"1209":{"position":[[1184,6]]},"1226":{"position":[[3124,6]]},"1235":{"position":[[2444,6]]},"1237":{"position":[[3294,6]]}},"keywords":{}}],["attrfilt",{"_index":1472,"title":{},"content":{"238":{"position":[[426,10]]},"325":{"position":[[326,10]]},"333":{"position":[[397,11]]},"466":{"position":[[207,10]]}},"keywords":{}}],["attrfilter(attr",{"_index":6236,"title":{"1262":{"position":[[0,16]]},"1293":{"position":[[0,16]]},"1321":{"position":[[0,16]]}},"content":{"1259":{"position":[[146,16]]},"1290":{"position":[[146,16]]},"1318":{"position":[[146,16]]}},"keywords":{}}],["attrfilter(attribut",{"_index":6237,"title":{},"content":{"1259":{"position":[[219,21]]},"1262":{"position":[[4,21]]},"1290":{"position":[[219,21]]},"1293":{"position":[[4,21]]},"1318":{"position":[[219,21]]},"1321":{"position":[[4,21]]}},"keywords":{}}],["attrfilterdepsexceptintersectfilterkindsetunion",{"_index":7150,"title":{},"content":{"1382":{"position":[[4630,47]]},"1388":{"position":[[5324,47]]},"1442":{"position":[[1620,47]]}},"keywords":{}}],["attribut",{"_index":982,"title":{"856":{"position":[[8,10],[31,10]]},"913":{"position":[[24,9]]},"917":{"position":[[19,10]]},"929":{"position":[[9,9]]},"935":{"position":[[38,10]]},"1006":{"position":[[4,9]]},"1009":{"position":[[12,10]]},"1012":{"position":[[11,11]]},"1045":{"position":[[0,9]]},"1046":{"position":[[5,9]]},"1131":{"position":[[17,9]]}},"content":{"72":{"position":[[39,10],[107,10]]},"81":{"position":[[153,11]]},"125":{"position":[[61,9]]},"126":{"position":[[121,9]]},"127":{"position":[[62,9]]},"128":{"position":[[64,9]]},"129":{"position":[[116,9]]},"130":{"position":[[31,10],[80,9]]},"131":{"position":[[221,9]]},"132":{"position":[[21,10],[39,10],[120,9]]},"133":{"position":[[106,9]]},"134":{"position":[[110,9]]},"135":{"position":[[61,9]]},"136":{"position":[[63,9]]},"137":{"position":[[23,10],[85,9]]},"138":{"position":[[33,10],[117,9]]},"139":{"position":[[24,10],[79,9],[118,11]]},"140":{"position":[[25,10],[87,9]]},"141":{"position":[[76,9]]},"142":{"position":[[50,9]]},"143":{"position":[[63,9]]},"144":{"position":[[27,10],[111,9]]},"145":{"position":[[97,9]]},"146":{"position":[[127,9]]},"147":{"position":[[80,9]]},"148":{"position":[[115,9]]},"149":{"position":[[121,9]]},"150":{"position":[[23,10],[78,9]]},"151":{"position":[[32,10],[77,9]]},"161":{"position":[[61,10]]},"206":{"position":[[48,10]]},"213":{"position":[[153,11]]},"238":{"position":[[452,9]]},"248":{"position":[[61,9]]},"249":{"position":[[121,9]]},"250":{"position":[[62,9]]},"251":{"position":[[64,9]]},"252":{"position":[[116,9]]},"253":{"position":[[31,10],[80,9]]},"254":{"position":[[221,9]]},"255":{"position":[[21,10],[39,10],[120,9]]},"256":{"position":[[106,9]]},"257":{"position":[[110,9]]},"258":{"position":[[61,9]]},"259":{"position":[[63,9]]},"260":{"position":[[23,10],[85,9]]},"261":{"position":[[33,10],[117,9]]},"262":{"position":[[24,10],[79,9],[118,11]]},"263":{"position":[[25,10],[87,9]]},"264":{"position":[[76,9]]},"265":{"position":[[50,9]]},"266":{"position":[[63,9]]},"267":{"position":[[27,10],[111,9]]},"268":{"position":[[97,9]]},"269":{"position":[[127,9]]},"270":{"position":[[80,9]]},"271":{"position":[[115,9]]},"272":{"position":[[121,9]]},"273":{"position":[[23,10],[78,9]]},"274":{"position":[[32,10],[77,9]]},"276":{"position":[[72,10],[131,10]]},"281":{"position":[[106,10],[165,10],[240,11]]},"298":{"position":[[1941,9],[2081,10]]},"300":{"position":[[435,9]]},"322":{"position":[[65,10],[107,10],[132,10]]},"325":{"position":[[352,9]]},"326":{"position":[[39,10],[367,9]]},"333":{"position":[[354,9],[436,9]]},"362":{"position":[[972,10]]},"363":{"position":[[397,10]]},"366":{"position":[[223,10]]},"367":{"position":[[251,10]]},"368":{"position":[[471,10]]},"374":{"position":[[405,10]]},"377":{"position":[[474,10]]},"379":{"position":[[178,10]]},"386":{"position":[[331,10]]},"389":{"position":[[156,9],[182,10],[254,9]]},"396":{"position":[[261,10]]},"397":{"position":[[116,10]]},"398":{"position":[[135,10]]},"399":{"position":[[135,10]]},"400":{"position":[[90,11]]},"405":{"position":[[1158,10]]},"434":{"position":[[75,10]]},"437":{"position":[[85,11]]},"459":{"position":[[63,10]]},"466":{"position":[[233,9]]},"467":{"position":[[39,10],[248,9]]},"480":{"position":[[53,9]]},"481":{"position":[[52,10]]},"483":{"position":[[56,9]]},"484":{"position":[[55,10]]},"495":{"position":[[39,10],[107,10]]},"528":{"position":[[74,10]]},"630":{"position":[[90,10]]},"636":{"position":[[96,10]]},"637":{"position":[[41,10],[106,10],[158,10]]},"644":{"position":[[124,10]]},"645":{"position":[[78,9],[130,9],[214,10]]},"646":{"position":[[75,9],[127,9]]},"648":{"position":[[109,10]]},"652":{"position":[[90,10]]},"662":{"position":[[105,10]]},"668":{"position":[[70,10]]},"669":{"position":[[52,10]]},"670":{"position":[[122,10]]},"671":{"position":[[91,10]]},"690":{"position":[[467,10],[2890,10]]},"693":{"position":[[998,10],[1263,10],[2602,10],[2658,9],[3050,9],[4329,9],[7001,9],[7072,9],[7101,10],[7178,10],[7443,11],[8528,11]]},"710":{"position":[[75,11]]},"712":{"position":[[194,10],[1158,10]]},"715":{"position":[[370,11],[758,10],[880,11]]},"717":{"position":[[570,11],[661,10]]},"718":{"position":[[272,10],[548,10]]},"722":{"position":[[108,10],[362,10],[841,11]]},"741":{"position":[[972,10]]},"742":{"position":[[397,10]]},"745":{"position":[[223,10]]},"746":{"position":[[251,10]]},"747":{"position":[[471,10]]},"753":{"position":[[405,10]]},"756":{"position":[[474,10]]},"758":{"position":[[178,10]]},"765":{"position":[[331,10]]},"768":{"position":[[156,9],[182,10],[254,9]]},"775":{"position":[[261,10]]},"776":{"position":[[116,10]]},"777":{"position":[[135,10]]},"778":{"position":[[135,10]]},"779":{"position":[[90,11]]},"784":{"position":[[1158,10]]},"813":{"position":[[75,10]]},"816":{"position":[[85,11]]},"846":{"position":[[1049,11],[1165,11],[1191,10]]},"850":{"position":[[37,9],[725,10],[753,9]]},"851":{"position":[[1145,9],[1398,11]]},"856":{"position":[[449,11]]},"857":{"position":[[123,11]]},"870":{"position":[[297,10]]},"872":{"position":[[750,10]]},"874":{"position":[[345,10]]},"878":{"position":[[165,10],[214,10],[1283,10]]},"881":{"position":[[80,9]]},"914":{"position":[[37,10],[100,9]]},"916":{"position":[[287,9]]},"917":{"position":[[21,9],[274,9]]},"919":{"position":[[376,10],[1759,12]]},"921":{"position":[[1060,10]]},"929":{"position":[[38,11],[153,10],[206,9]]},"935":{"position":[[4,9]]},"937":{"position":[[494,9]]},"941":{"position":[[56,10],[403,10]]},"955":{"position":[[564,10]]},"970":{"position":[[222,11]]},"983":{"position":[[162,9]]},"990":{"position":[[174,9]]},"993":{"position":[[42,11]]},"994":{"position":[[52,11]]},"995":{"position":[[53,11]]},"1004":{"position":[[259,9],[689,9]]},"1005":{"position":[[38,10]]},"1006":{"position":[[25,9],[112,10],[146,10]]},"1009":{"position":[[72,10],[173,11],[268,11],[350,10],[419,10],[642,10]]},"1012":{"position":[[16,10],[67,9],[100,11],[183,10],[227,10],[284,10],[393,10]]},"1013":{"position":[[21,10]]},"1014":{"position":[[457,10],[682,9]]},"1017":{"position":[[601,10]]},"1019":{"position":[[63,10],[203,9]]},"1043":{"position":[[110,10]]},"1044":{"position":[[25,10],[103,9],[130,10],[153,9],[1378,9],[2072,10],[2121,10],[2169,11],[2204,10],[2763,10],[3398,13]]},"1045":{"position":[[0,9],[100,10],[131,9],[155,10],[184,9]]},"1046":{"position":[[122,10],[330,10],[486,9]]},"1052":{"position":[[853,9]]},"1088":{"position":[[242,10]]},"1102":{"position":[[150,10],[269,10]]},"1103":{"position":[[25,10],[1612,10]]},"1108":{"position":[[278,10]]},"1131":{"position":[[17,9],[61,10],[151,10],[225,9],[275,9],[321,10],[484,10],[529,10],[608,11]]},"1136":{"position":[[1008,10],[1030,11],[1065,9],[1162,11],[1225,10],[1265,10],[1289,11],[1380,9],[1437,11],[1546,10],[1575,11],[1664,9],[1707,9],[1771,10],[1801,10],[1859,10],[1903,10],[1934,10]]},"1148":{"position":[[897,10],[978,11],[1364,10],[1386,11],[1421,9],[1518,11],[1581,10],[1621,10],[1645,11],[1736,9],[1793,11],[1902,10],[1931,11],[2020,9],[2063,9],[2127,10],[2157,10],[2215,10],[2259,10],[2290,10],[2819,10]]},"1199":{"position":[[181,10]]},"1205":{"position":[[488,10],[510,11],[545,9],[642,11],[705,10],[745,10],[769,11],[860,9],[917,11],[1026,10],[1055,11],[1144,9],[1187,9],[1251,10],[1281,10],[1339,10],[1383,10],[1414,10]]},"1206":{"position":[[3602,9]]},"1209":{"position":[[241,10],[263,11],[298,9],[395,11],[458,10],[498,10],[522,11],[613,9],[670,11],[779,10],[808,11],[897,9],[940,9],[1004,10],[1034,10],[1092,10],[1136,10],[1167,10]]},"1226":{"position":[[2181,10],[2203,11],[2238,9],[2335,11],[2398,10],[2438,10],[2462,11],[2553,9],[2610,11],[2719,10],[2748,11],[2837,9],[2880,9],[2944,10],[2974,10],[3032,10],[3076,10],[3107,10],[3178,11],[3204,10],[4460,9],[4650,9]]},"1228":{"position":[[2260,9],[2311,9]]},"1235":{"position":[[690,10],[771,10],[1501,10],[1523,11],[1558,9],[1655,11],[1718,10],[1758,10],[1782,11],[1873,9],[1930,11],[2039,10],[2068,11],[2157,9],[2200,9],[2264,10],[2294,10],[2352,10],[2396,10],[2427,10]]},"1237":{"position":[[2351,10],[2373,11],[2408,9],[2505,11],[2568,10],[2608,10],[2632,11],[2723,9],[2780,11],[2889,10],[2918,11],[3007,9],[3050,9],[3114,10],[3144,10],[3202,10],[3246,10],[3277,10],[3348,11],[3374,10],[4630,9],[4820,9]]},"1259":{"position":[[373,9]]},"1262":{"position":[[158,9],[224,9],[318,9],[444,9],[537,9]]},"1272":{"position":[[209,9]]},"1290":{"position":[[373,9]]},"1293":{"position":[[158,9],[224,9],[318,9],[444,9],[537,9]]},"1303":{"position":[[209,9]]},"1318":{"position":[[373,9]]},"1321":{"position":[[158,9],[224,9],[318,9],[444,9],[537,9]]},"1331":{"position":[[209,9]]},"1362":{"position":[[4928,11],[4968,11],[5017,10],[5314,10],[7321,10],[7577,9],[9337,10],[9593,9]]},"1364":{"position":[[4954,11],[4994,11],[5044,10],[5343,10],[7560,10],[7816,9],[10451,10],[10707,9]]},"1367":{"position":[[9425,10],[9681,9]]},"1370":{"position":[[663,10],[1998,9],[2131,10],[2681,9],[2793,10]]},"1373":{"position":[[5007,10]]},"1382":{"position":[[6077,10]]},"1384":{"position":[[6589,10],[11024,10]]},"1385":{"position":[[3990,10]]},"1387":{"position":[[6323,10]]},"1388":{"position":[[6946,10]]},"1389":{"position":[[5804,9]]},"1393":{"position":[[1210,10],[1230,10],[3959,9],[6475,9],[6623,9],[6821,9],[7302,9],[7442,9],[9190,10]]},"1394":{"position":[[659,10],[679,10],[1652,9]]},"1395":{"position":[[1782,9],[2699,9],[3533,9]]},"1396":{"position":[[1552,9]]},"1397":{"position":[[2250,9],[3415,9]]},"1398":{"position":[[3677,9],[4248,9],[4388,9],[4723,9],[4753,9],[5864,10],[5911,10]]},"1401":{"position":[[1644,10]]},"1422":{"position":[[2062,9],[2085,11]]},"1426":{"position":[[2530,9]]},"1454":{"position":[[5293,10]]},"1462":{"position":[[7325,9]]},"1467":{"position":[[8294,9]]},"1485":{"position":[[2358,10]]},"1486":{"position":[[5758,10]]}},"keywords":{}}],["attribute=cmd",{"_index":5862,"title":{},"content":{"1136":{"position":[[599,14]]}},"keywords":{}}],["attributesrun",{"_index":4088,"title":{},"content":{"874":{"position":[[235,13]]}},"keywords":{}}],["attrregexfilt",{"_index":1776,"title":{},"content":{"326":{"position":[[336,15]]},"467":{"position":[[217,15]]}},"keywords":{}}],["attrregexfilter(attr",{"_index":6239,"title":{"1264":{"position":[[0,21]]},"1295":{"position":[[0,21]]},"1323":{"position":[[0,21]]}},"content":{"1259":{"position":[[482,21]]},"1290":{"position":[[482,21]]},"1318":{"position":[[482,21]]}},"keywords":{}}],["attrs).in",{"_index":622,"title":{},"content":{"20":{"position":[[590,9]]}},"keywords":{}}],["attrs).promise.map(my_map_funct",{"_index":1711,"title":{},"content":{"306":{"position":[[564,35]]}},"keywords":{}}],["attrs.ani",{"_index":1335,"title":{"125":{"position":[[0,10]]},"248":{"position":[[0,10]]}},"content":{"125":{"position":[[4,12]]},"248":{"position":[[4,12]]}},"keywords":{}}],["attrs.arg",{"_index":1341,"title":{"126":{"position":[[0,10]]},"249":{"position":[[0,10]]}},"content":{"126":{"position":[[4,10]]},"249":{"position":[[4,10]]}},"keywords":{}}],["attrs.arg(anon_target_compat",{"_index":5198,"title":{},"content":{"1044":{"position":[[2672,32]]}},"keywords":{}}],["attrs.bool",{"_index":1346,"title":{"127":{"position":[[0,11]]},"250":{"position":[[0,11]]}},"content":{"127":{"position":[[4,13]]},"250":{"position":[[4,13]]},"712":{"position":[[548,13],[699,13]]}},"keywords":{}}],["attrs.bool(default",{"_index":4917,"title":{},"content":{"991":{"position":[[273,18]]}},"keywords":{}}],["attrs.configuration_label",{"_index":1347,"title":{"128":{"position":[[0,26]]},"251":{"position":[[0,26]]}},"content":{"128":{"position":[[4,28]]},"251":{"position":[[4,28]]}},"keywords":{}}],["attrs.configured_dep",{"_index":1348,"title":{"129":{"position":[[0,21]]},"252":{"position":[[0,21]]}},"content":{"129":{"position":[[4,21]]},"252":{"position":[[4,21]]},"929":{"position":[[164,20]]},"930":{"position":[[195,23]]}},"keywords":{}}],["attrs.default_onli",{"_index":1349,"title":{"130":{"position":[[0,19]]},"253":{"position":[[0,19]]}},"content":{"130":{"position":[[4,19]]},"253":{"position":[[4,19]]}},"keywords":{}}],["attrs.default_only(attrs.dep(default",{"_index":1353,"title":{},"content":{"130":{"position":[[240,36]]},"253":{"position":[[240,36]]},"1054":{"position":[[1452,36]]}},"keywords":{}}],["attrs.dep",{"_index":1355,"title":{"131":{"position":[[0,10]]},"254":{"position":[[0,10]]}},"content":{"131":{"position":[[4,10]]},"254":{"position":[[4,10]]},"990":{"position":[[982,11]]},"1024":{"position":[[396,11],[462,11]]},"1048":{"position":[[892,12]]}},"keywords":{}}],["attrs.dep(default="//tools:cc"",{"_index":1968,"title":{},"content":{"368":{"position":[[1408,41]]},"747":{"position":[[1408,41]]}},"keywords":{}}],["attrs.dep(default="//tools:strip"",{"_index":1971,"title":{},"content":{"368":{"position":[[1499,44]]},"747":{"position":[[1499,44]]}},"keywords":{}}],["attrs.depattrs.exec_depattrs.transition_depattrs.split_transition_dep",{"_index":4566,"title":{},"content":{"929":{"position":[[50,69]]}},"keywords":{}}],["attrs.dict",{"_index":1361,"title":{"132":{"position":[[0,11]]},"255":{"position":[[0,11]]}},"content":{"132":{"position":[[4,11]]},"255":{"position":[[4,11]]}},"keywords":{}}],["attrs.enum",{"_index":1363,"title":{"133":{"position":[[0,11]]},"256":{"position":[[0,11]]}},"content":{"133":{"position":[[4,11]]},"256":{"position":[[4,11]]}},"keywords":{}}],["attrs.exec_dep",{"_index":1369,"title":{"134":{"position":[[0,15]]},"257":{"position":[[0,15]]}},"content":{"134":{"position":[[4,15]]},"257":{"position":[[4,15]]},"1023":{"position":[[280,16]]},"1024":{"position":[[15,17],[731,17]]}},"keywords":{}}],["attrs.exec_dep()",{"_index":5071,"title":{},"content":{"1024":{"position":[[671,17]]}},"keywords":{}}],["attrs.exec_dep(default",{"_index":5075,"title":{},"content":{"1024":{"position":[[1055,22]]}},"keywords":{}}],["attrs.int",{"_index":1371,"title":{"135":{"position":[[0,10]]},"258":{"position":[[0,10]]}},"content":{"135":{"position":[[4,12]]},"258":{"position":[[4,12]]},"712":{"position":[[579,12]]},"1044":{"position":[[2884,12]]}},"keywords":{}}],["attrs.label",{"_index":1372,"title":{"136":{"position":[[0,12]]},"259":{"position":[[0,12]]}},"content":{"136":{"position":[[4,14]]},"259":{"position":[[4,14]]}},"keywords":{}}],["attrs.list",{"_index":1374,"title":{"137":{"position":[[0,11]]},"260":{"position":[[0,11]]}},"content":{"137":{"position":[[4,11]]},"260":{"position":[[4,11]]}},"keywords":{}}],["attrs.list(attrs.dep",{"_index":5709,"title":{},"content":{"1108":{"position":[[496,24]]}},"keywords":{}}],["attrs.list(attrs.dep(pulls_and_pushes_plugin",{"_index":4918,"title":{},"content":{"991":{"position":[[337,45]]}},"keywords":{}}],["attrs.list(attrs.dep(pulls_plugin",{"_index":4921,"title":{},"content":{"991":{"position":[[522,34],[712,34],[790,34]]}},"keywords":{}}],["attrs.list(attrs.label",{"_index":5207,"title":{},"content":{"1044":{"position":[[3067,26]]}},"keywords":{}}],["attrs.list(attrs.sourc",{"_index":1963,"title":{},"content":{"368":{"position":[[1252,27]]},"747":{"position":[[1252,27]]}},"keywords":{}}],["attrs.list(attrs.split_transition_dep(cfg",{"_index":5023,"title":{},"content":{"1006":{"position":[[496,41]]}},"keywords":{}}],["attrs.list(attrs.str",{"_index":3742,"title":{},"content":{"712":{"position":[[617,27]]}},"keywords":{}}],["attrs.my_list_attribut",{"_index":5042,"title":{},"content":{"1009":{"position":[[661,23]]}},"keywords":{}}],["attrs.named_set",{"_index":1375,"title":{"138":{"position":[[0,16]]},"261":{"position":[[0,16]]}},"content":{"138":{"position":[[4,16]]},"261":{"position":[[4,16]]}},"keywords":{}}],["attrs.one_of",{"_index":1377,"title":{"139":{"position":[[0,13]]},"262":{"position":[[0,13]]}},"content":{},"keywords":{}}],["attrs.one_of(*arg",{"_index":1378,"title":{},"content":{"139":{"position":[[4,19]]},"262":{"position":[[4,19]]}},"keywords":{}}],["attrs.opt",{"_index":1380,"title":{"140":{"position":[[0,13]]},"263":{"position":[[0,13]]}},"content":{"140":{"position":[[4,13]]},"263":{"position":[[4,13]]}},"keywords":{}}],["attrs.option(attr.str",{"_index":1381,"title":{},"content":{"140":{"position":[[261,27]]},"263":{"position":[[261,27]]}},"keywords":{}}],["attrs.option(attrs.bool",{"_index":2354,"title":{},"content":{"437":{"position":[[603,26]]},"816":{"position":[[603,26]]}},"keywords":{}}],["attrs.option(attrs.sourc",{"_index":5205,"title":{},"content":{"1044":{"position":[[3006,29]]}},"keywords":{}}],["attrs.output",{"_index":1965,"title":{},"content":{"368":{"position":[[1297,15],[1335,15],[1375,15]]},"747":{"position":[[1297,15],[1335,15],[1375,15]]}},"keywords":{}}],["attrs.plugin_dep",{"_index":1382,"title":{"141":{"position":[[0,17]]},"264":{"position":[[0,17]]}},"content":{"141":{"position":[[4,17]]},"264":{"position":[[4,17]]}},"keywords":{}}],["attrs.plugin_dep(kind",{"_index":4913,"title":{},"content":{"991":{"position":[[123,21]]}},"keywords":{}}],["attrs.queri",{"_index":1383,"title":{"142":{"position":[[0,12]]},"265":{"position":[[0,12]]}},"content":{"142":{"position":[[4,14]]},"265":{"position":[[4,14]]}},"keywords":{}}],["attrs.regex",{"_index":1384,"title":{"143":{"position":[[0,12]]},"266":{"position":[[0,12]]}},"content":{"143":{"position":[[4,14]]},"266":{"position":[[4,14]]}},"keywords":{}}],["attrs.set",{"_index":1387,"title":{"144":{"position":[[0,10]]},"267":{"position":[[0,10]]}},"content":{"144":{"position":[[4,10]]},"267":{"position":[[4,10]]}},"keywords":{}}],["attrs.sourc",{"_index":1388,"title":{"145":{"position":[[0,13]]},"268":{"position":[[0,13]]}},"content":{"145":{"position":[[4,13]]},"268":{"position":[[4,13]]},"1108":{"position":[[538,15]]}},"keywords":{}}],["attrs.split_transition_dep",{"_index":1392,"title":{"146":{"position":[[0,27]]},"269":{"position":[[0,27]]}},"content":{"146":{"position":[[4,27]]},"269":{"position":[[4,27]]},"1006":{"position":[[1298,27]]}},"keywords":{}}],["attrs.src",{"_index":5250,"title":{},"content":{"1048":{"position":[[856,12]]}},"keywords":{}}],["attrs.str",{"_index":986,"title":{"147":{"position":[[0,13]]},"270":{"position":[[0,13]]}},"content":{"72":{"position":[[214,16]]},"143":{"position":[[97,13]]},"147":{"position":[[4,13]]},"266":{"position":[[97,13]]},"270":{"position":[[4,13]]},"437":{"position":[[570,15]]},"495":{"position":[[214,16]]},"712":{"position":[[665,15]]},"816":{"position":[[570,15]]},"1047":{"position":[[201,16]]},"1103":{"position":[[468,15]]}},"keywords":{}}],["attrs.string(default",{"_index":5203,"title":{},"content":{"1044":{"position":[[2933,20]]}},"keywords":{}}],["attrs.toolchain_dep",{"_index":1394,"title":{"148":{"position":[[0,20]]},"271":{"position":[[0,20]]}},"content":{"148":{"position":[[4,20]]},"271":{"position":[[4,20]]},"1024":{"position":[[43,22],[357,21],[512,21],[593,21],[780,21]]}},"keywords":{}}],["attrs.toolchain_dep()",{"_index":5077,"title":{},"content":{"1024":{"position":[[1288,24]]}},"keywords":{}}],["attrs.toolchain_dep(default",{"_index":5073,"title":{},"content":{"1024":{"position":[[969,27]]}},"keywords":{}}],["attrs.transition_dep",{"_index":1395,"title":{"149":{"position":[[0,21]]},"272":{"position":[[0,21]]}},"content":{"149":{"position":[[4,21]]},"272":{"position":[[4,21]]},"1006":{"position":[[1247,20]]}},"keywords":{}}],["attrs.transition_dep(cfg)attrs.split_transition_dep(cfg",{"_index":5022,"title":{},"content":{"1006":{"position":[[49,56]]}},"keywords":{}}],["attrs.tupl",{"_index":1396,"title":{"150":{"position":[[0,12]]},"273":{"position":[[0,12]]}},"content":{},"keywords":{}}],["attrs.tuple(*arg",{"_index":1397,"title":{},"content":{"150":{"position":[[4,18]]},"273":{"position":[[4,18]]}},"keywords":{}}],["attrs.vers",{"_index":1398,"title":{"151":{"position":[[0,16]]},"274":{"position":[[0,16]]}},"content":{},"keywords":{}}],["attrs.versioned(value_typ",{"_index":1399,"title":{},"content":{"151":{"position":[[4,27]]},"274":{"position":[[4,27]]}},"keywords":{}}],["attrs/resolved_attr",{"_index":3938,"title":{},"content":{"856":{"position":[[30,21]]}},"keywords":{}}],["attrs_eag",{"_index":1521,"title":{},"content":{"277":{"position":[[252,13]]}},"keywords":{}}],["attrs_lazi",{"_index":1510,"title":{},"content":{"276":{"position":[[301,12]]}},"keywords":{}}],["attrs_valid",{"_index":6696,"title":{},"content":{"1362":{"position":[[582,17]]},"1364":{"position":[[635,17]]},"1367":{"position":[[1528,17]]}},"keywords":{}}],["atxplat/buck2/tests/appl",{"_index":5638,"title":{},"content":{"1102":{"position":[[767,30]]}},"keywords":{}}],["audit",{"_index":1622,"title":{"918":{"position":[[6,5]]},"920":{"position":[[19,5]]},"1189":{"position":[[0,5]]},"1190":{"position":[[5,6]]},"1191":{"position":[[5,5]]},"1192":{"position":[[5,5]]},"1193":{"position":[[5,5]]},"1194":{"position":[[5,5]]},"1195":{"position":[[5,5]]},"1196":{"position":[[5,5]]},"1197":{"position":[[5,5]]},"1198":{"position":[[5,5]]},"1199":{"position":[[5,5]]},"1200":{"position":[[5,5]]},"1201":{"position":[[5,5]]},"1202":{"position":[[5,5]]},"1203":{"position":[[5,5]]},"1204":{"position":[[5,5]]},"1205":{"position":[[5,5]]},"1206":{"position":[[5,5]]},"1207":{"position":[[5,5]]}},"content":{"296":{"position":[[89,5]]},"587":{"position":[[636,5]]},"700":{"position":[[185,5]]},"920":{"position":[[243,5],[552,5]]},"921":{"position":[[6,5],[572,5],[764,5]]},"946":{"position":[[262,5],[309,5]]},"1033":{"position":[[180,5]]},"1190":{"position":[[49,5],[345,5],[415,5],[706,5]]},"1191":{"position":[[78,5]]},"1192":{"position":[[182,5],[261,5],[359,5]]},"1193":{"position":[[5,5],[39,5]]},"1194":{"position":[[66,5],[166,5]]},"1195":{"position":[[72,5],[157,6]]},"1196":{"position":[[61,5]]},"1197":{"position":[[67,5]]},"1198":{"position":[[42,5]]},"1199":{"position":[[5,5],[63,5]]},"1200":{"position":[[80,5]]},"1201":{"position":[[123,5]]},"1202":{"position":[[48,5],[1150,5],[1273,5],[5548,5],[5683,5]]},"1203":{"position":[[63,5]]},"1204":{"position":[[72,5],[4484,5],[4539,5],[5386,5],[5455,5],[6316,5],[6371,5],[7218,5],[7276,5],[8204,5],[8300,5],[9158,5],[9218,5],[10105,5],[10174,5]]},"1205":{"position":[[273,5]]},"1206":{"position":[[118,5]]},"1207":{"position":[[135,5]]}},"keywords":{}}],["audit_ctx",{"_index":1621,"title":{},"content":{"296":{"position":[[60,9]]}},"keywords":{}}],["auditcontext",{"_index":2107,"title":{},"content":{"402":{"position":[[97,12]]},"781":{"position":[[97,12]]}},"keywords":{}}],["augment",{"_index":4260,"title":{},"content":{"890":{"position":[[6541,10]]}},"keywords":{}}],["augmentedcmd_arg",{"_index":3898,"title":{},"content":{"847":{"position":[[376,17]]}},"keywords":{}}],["author",{"_index":309,"title":{"10":{"position":[[18,8]]}},"content":{"10":{"position":[[255,8]]},"23":{"position":[[1520,8]]},"41":{"position":[[385,8]]},"174":{"position":[[385,8]]},"690":{"position":[[24,7]]},"961":{"position":[[349,7],[392,6]]},"1112":{"position":[[4276,8]]},"1354":{"position":[[2685,6]]},"1367":{"position":[[10500,6]]},"1392":{"position":[[1955,6]]},"1410":{"position":[[3439,6]]},"1429":{"position":[[4731,6]]},"1440":{"position":[[4813,6]]}},"keywords":{}}],["auto",{"_index":4083,"title":{},"content":{"873":{"position":[[227,4]]},"1136":{"position":[[5091,5],[5154,5]]},"1138":{"position":[[8753,5],[8816,5]]},"1140":{"position":[[7679,5],[7742,5]]},"1142":{"position":[[3123,5],[3186,5]]},"1146":{"position":[[3063,5],[3126,5]]},"1148":{"position":[[6103,5],[6166,5]]},"1155":{"position":[[3159,5],[3222,5]]},"1156":{"position":[[2737,5],[2800,5]]},"1161":{"position":[[630,5],[693,5]]},"1167":{"position":[[8683,5],[8746,5]]},"1181":{"position":[[842,5],[905,5]]},"1186":{"position":[[4327,5],[4390,5]]},"1187":{"position":[[4340,5],[4403,5]]},"1188":{"position":[[9066,5],[9129,5]]},"1191":{"position":[[2927,5],[2990,5]]},"1192":{"position":[[3102,5],[3165,5]]},"1193":{"position":[[3154,5],[3217,5]]},"1194":{"position":[[2794,5],[2857,5]]},"1195":{"position":[[2772,5],[2835,5]]},"1196":{"position":[[2582,5],[2645,5]]},"1197":{"position":[[3565,5],[3628,5]]},"1198":{"position":[[3575,5],[3638,5]]},"1199":{"position":[[3603,5],[3666,5]]},"1200":{"position":[[3470,5],[3533,5]]},"1201":{"position":[[2730,5],[2793,5]]},"1202":{"position":[[3872,5],[3935,5],[8269,5],[8332,5]]},"1203":{"position":[[2964,5],[3027,5]]},"1204":{"position":[[2808,5],[2871,5]]},"1205":{"position":[[4137,5],[4200,5]]},"1206":{"position":[[2608,5],[2671,5]]},"1207":{"position":[[2765,5],[2828,5]]},"1209":{"position":[[4113,5],[4176,5]]},"1217":{"position":[[7424,5],[7487,5]]},"1222":{"position":[[2534,5],[2597,5]]},"1223":{"position":[[2544,5],[2607,5]]},"1226":{"position":[[7892,5],[7955,5]]},"1228":{"position":[[9505,5],[9568,5]]},"1235":{"position":[[5373,5],[5436,5]]},"1237":{"position":[[8062,5],[8125,5]]},"1427":{"position":[[6807,4]]}},"keywords":{}}],["auto_link_group",{"_index":7142,"title":{},"content":{"1382":{"position":[[441,17]]},"1384":{"position":[[448,17]]},"1387":{"position":[[526,17]]},"1388":{"position":[[574,17]]},"1416":{"position":[[383,17]]},"1462":{"position":[[593,17]]},"1467":{"position":[[660,17]]},"1471":{"position":[[525,17]]},"1473":{"position":[[556,17]]}},"keywords":{}}],["autodetect",{"_index":7902,"title":{},"content":{"1422":{"position":[[3357,13]]}},"keywords":{}}],["autom",{"_index":5868,"title":{},"content":{"1136":{"position":[[1104,10],[1601,11]]},"1148":{"position":[[1460,10],[1957,11]]},"1205":{"position":[[584,10],[1081,11]]},"1209":{"position":[[337,10],[834,11]]},"1226":{"position":[[2277,10],[2774,11]]},"1235":{"position":[[1597,10],[2094,11]]},"1237":{"position":[[2447,10],[2944,11]]}},"keywords":{}}],["automat",{"_index":450,"title":{},"content":{"15":{"position":[[204,13]]},"41":{"position":[[626,14]]},"174":{"position":[[626,14]]},"688":{"position":[[155,13]]},"864":{"position":[[1653,14]]},"865":{"position":[[274,13]]},"907":{"position":[[94,15]]},"950":{"position":[[361,13]]},"955":{"position":[[368,13]]},"956":{"position":[[332,13]]},"1045":{"position":[[457,14]]},"1112":{"position":[[4523,14]]},"1167":{"position":[[408,13],[556,13],[705,13],[884,13],[1058,13],[1246,13],[1425,13],[1589,13],[1759,13],[1906,13]]},"1360":{"position":[[4113,13]]},"1362":{"position":[[13379,13]]},"1363":{"position":[[4523,13]]},"1364":{"position":[[13145,13],[14079,13]]},"1367":{"position":[[13287,13]]},"1373":{"position":[[6051,14],[7760,14]]},"1382":{"position":[[10536,14]]},"1383":{"position":[[4566,13]]},"1384":{"position":[[17610,14],[18076,13]]},"1388":{"position":[[9029,14]]},"1398":{"position":[[3176,13],[4059,13],[5403,13],[6145,13]]},"1403":{"position":[[3528,13]]},"1405":{"position":[[2886,13],[3375,14]]},"1407":{"position":[[3307,13],[3796,14]]},"1408":{"position":[[2415,14]]},"1410":{"position":[[3887,13],[4783,14]]},"1469":{"position":[[2100,13]]},"1485":{"position":[[3401,14]]}},"keywords":{}}],["avail",{"_index":19,"title":{"1068":{"position":[[12,9]]}},"content":{"3":{"position":[[100,9]]},"17":{"position":[[1141,9]]},"23":{"position":[[1048,9]]},"24":{"position":[[233,9]]},"71":{"position":[[160,10]]},"74":{"position":[[110,9]]},"92":{"position":[[364,9],[658,9]]},"224":{"position":[[364,9],[658,9]]},"297":{"position":[[1116,9]]},"299":{"position":[[116,9]]},"300":{"position":[[452,9]]},"305":{"position":[[368,9]]},"307":{"position":[[111,9]]},"344":{"position":[[124,9]]},"373":{"position":[[197,9]]},"418":{"position":[[178,9],[785,9]]},"494":{"position":[[160,10]]},"497":{"position":[[110,9]]},"581":{"position":[[380,9]]},"631":{"position":[[48,10]]},"680":{"position":[[811,9]]},"681":{"position":[[680,9],[842,9]]},"693":{"position":[[1253,9],[6555,9],[6891,9]]},"719":{"position":[[48,9]]},"721":{"position":[[46,9]]},"722":{"position":[[200,9]]},"723":{"position":[[50,9]]},"752":{"position":[[197,9]]},"797":{"position":[[178,9],[785,9]]},"839":{"position":[[99,9]]},"840":{"position":[[1587,9]]},"846":{"position":[[190,9]]},"847":{"position":[[56,9]]},"857":{"position":[[187,9]]},"877":{"position":[[18,9],[263,9]]},"890":{"position":[[2067,9],[6000,9]]},"955":{"position":[[308,10]]},"972":{"position":[[77,9]]},"981":{"position":[[273,9]]},"987":{"position":[[363,9]]},"990":{"position":[[849,9]]},"991":{"position":[[481,9]]},"995":{"position":[[510,9]]},"1000":{"position":[[684,10]]},"1001":{"position":[[1338,9]]},"1013":{"position":[[159,9]]},"1040":{"position":[[178,9]]},"1042":{"position":[[218,9]]},"1044":{"position":[[2294,9]]},"1064":{"position":[[135,9],[1235,9],[1430,9],[1722,9]]},"1065":{"position":[[87,9],[271,9]]},"1068":{"position":[[111,9]]},"1069":{"position":[[33,9]]},"1071":{"position":[[544,9]]},"1103":{"position":[[1843,9]]},"1104":{"position":[[100,9]]},"1105":{"position":[[1482,9]]},"1113":{"position":[[301,9]]},"1114":{"position":[[496,9],[526,9]]},"1120":{"position":[[97,9],[892,9]]},"1127":{"position":[[155,9]]},"1136":{"position":[[307,9]]},"1148":{"position":[[840,9]]},"1190":{"position":[[252,9]]},"1192":{"position":[[89,9]]},"1197":{"position":[[215,9]]},"1217":{"position":[[91,9]]},"1219":{"position":[[636,9]]},"1226":{"position":[[3976,10]]},"1232":{"position":[[3677,10]]},"1235":{"position":[[633,9]]},"1237":{"position":[[4146,10]]},"1358":{"position":[[981,9]]},"1360":{"position":[[3244,9],[5350,9],[5544,9]]},"1362":{"position":[[6741,9],[8882,9],[13514,12]]},"1364":{"position":[[6980,9],[9996,9],[14214,12]]},"1367":{"position":[[8970,9],[13422,12]]},"1373":{"position":[[4582,9]]},"1382":{"position":[[5652,9],[8786,9]]},"1383":{"position":[[2925,9],[7353,9],[7547,9],[8544,9],[8634,9]]},"1384":{"position":[[6168,9],[8127,9],[10599,9],[15131,9]]},"1385":{"position":[[3565,9],[5015,9]]},"1386":{"position":[[651,9],[4792,9]]},"1387":{"position":[[5898,9],[8388,9]]},"1388":{"position":[[6521,9]]},"1393":{"position":[[5305,9]]},"1398":{"position":[[3209,9],[6669,9]]},"1403":{"position":[[2659,9],[6453,9],[6647,9]]},"1405":{"position":[[2329,9]]},"1407":{"position":[[2750,9]]},"1410":{"position":[[2772,9],[5679,9]]},"1454":{"position":[[4872,9],[6526,9]]},"1461":{"position":[[2982,9]]},"1467":{"position":[[10812,9]]},"1477":{"position":[[2325,9]]},"1485":{"position":[[1933,9],[3050,9]]}},"keywords":{}}],["availablea",{"_index":767,"title":{},"content":{"23":{"position":[[2905,11]]}},"keywords":{}}],["availableallow_cache_upload",{"_index":1915,"title":{},"content":{"362":{"position":[[2450,29]]},"741":{"position":[[2450,29]]}},"keywords":{}}],["averag",{"_index":5434,"title":{},"content":{"1058":{"position":[[861,7]]}},"keywords":{}}],["avoid",{"_index":3893,"title":{},"content":{"846":{"position":[[1514,5]]},"900":{"position":[[1570,8]]},"919":{"position":[[1658,5]]},"920":{"position":[[447,5]]},"937":{"position":[[3342,6],[3521,6]]},"955":{"position":[[1437,5]]},"991":{"position":[[414,5]]},"1029":{"position":[[125,8]]},"1077":{"position":[[166,5]]},"1113":{"position":[[702,5]]},"1136":{"position":[[1079,5]]},"1138":{"position":[[2729,5]]},"1140":{"position":[[2218,5]]},"1148":{"position":[[1435,5]]},"1167":{"position":[[3222,5]]},"1188":{"position":[[2271,5]]},"1205":{"position":[[559,5]]},"1209":{"position":[[312,5]]},"1217":{"position":[[1963,5]]},"1226":{"position":[[2252,5]]},"1228":{"position":[[4044,5]]},"1235":{"position":[[1572,5]]},"1237":{"position":[[2422,5]]},"1355":{"position":[[7199,7],[7266,5]]},"1386":{"position":[[6195,8]]},"1393":{"position":[[2461,5]]},"1427":{"position":[[6398,7],[6465,5]]}},"keywords":{}}],["await",{"_index":1693,"title":{},"content":{"306":{"position":[[68,6]]},"835":{"position":[[282,5]]},"1486":{"position":[[4901,6]]}},"keywords":{}}],["awar",{"_index":2411,"title":{},"content":{"450":{"position":[[236,5]]},"688":{"position":[[1404,5]]},"829":{"position":[[236,5]]},"865":{"position":[[162,5]]},"879":{"position":[[180,5]]},"1383":{"position":[[5710,5]]},"1388":{"position":[[4988,5],[6398,5]]},"1467":{"position":[[6751,5]]}},"keywords":{}}],["away",{"_index":4283,"title":{},"content":{"892":{"position":[[1866,4]]},"937":{"position":[[2975,4]]},"1100":{"position":[[142,4]]}},"keywords":{}}],["awkward",{"_index":4526,"title":{},"content":{"924":{"position":[[441,7]]},"1471":{"position":[[4167,7]]},"1472":{"position":[[4751,7]]},"1473":{"position":[[4488,7]]}},"keywords":{}}],["ax",{"_index":5078,"title":{},"content":{"1025":{"position":[[296,5]]}},"keywords":{}}],["b",{"_index":3103,"title":{"720":{"position":[[6,2]]}},"content":{"636":{"position":[[629,6],[651,4]]},"665":{"position":[[204,4],[224,4]]},"693":{"position":[[2990,2],[2993,1],[4302,2],[9986,2],[10032,1],[10115,1]]},"704":{"position":[[60,1],[87,1],[154,1],[389,2],[632,1],[892,1],[1137,1],[1607,1],[2551,1]]},"712":{"position":[[3104,3],[3116,2],[3164,3]]},"892":{"position":[[1407,3],[1535,1],[1776,2],[1782,1],[1949,2],[1955,1]]},"947":{"position":[[318,1],[435,2],[446,1],[835,2],[883,2]]},"991":{"position":[[2478,2],[2748,2]]},"1024":{"position":[[1189,2]]},"1061":{"position":[[79,1]]},"1136":{"position":[[1247,2]]},"1148":{"position":[[1603,2]]},"1205":{"position":[[727,2]]},"1209":{"position":[[480,2]]},"1226":{"position":[[2420,2]]},"1235":{"position":[[1740,2]]},"1237":{"position":[[2590,2]]},"1259":{"position":[[2246,2]]},"1283":{"position":[[66,2]]},"1290":{"position":[[2246,2]]},"1314":{"position":[[66,2]]},"1318":{"position":[[2246,2]]},"1342":{"position":[[66,2]]}},"keywords":{}}],["b).if",{"_index":3640,"title":{},"content":{"704":{"position":[[1972,5]]}},"keywords":{}}],["b.librari",{"_index":4725,"title":{},"content":{"947":{"position":[[961,9]]}},"keywords":{}}],["b57c2b9213251180dcab794352bfc9a241bf2557",{"_index":8384,"title":{},"content":{"1469":{"position":[[2658,43]]}},"keywords":{}}],["back",{"_index":644,"title":{},"content":{"22":{"position":[[610,5]]},"23":{"position":[[2758,6]]},"99":{"position":[[1077,4]]},"106":{"position":[[128,4]]},"109":{"position":[[128,4]]},"110":{"position":[[131,4]]},"111":{"position":[[144,4]]},"231":{"position":[[1077,4]]},"518":{"position":[[128,4]]},"521":{"position":[[128,4]]},"522":{"position":[[131,4]]},"523":{"position":[[144,4]]},"622":{"position":[[1194,4]]},"715":{"position":[[2087,4]]},"722":{"position":[[425,6]]},"892":{"position":[[1628,4]]},"1053":{"position":[[1413,4]]},"1071":{"position":[[1128,4]]},"1083":{"position":[[1174,4]]},"1363":{"position":[[6080,4]]},"1386":{"position":[[2882,4]]},"1393":{"position":[[5038,4]]},"1477":{"position":[[2654,4]]},"1486":{"position":[[4806,4]]}},"keywords":{}}],["backcompat",{"_index":5716,"title":{},"content":{"1112":{"position":[[671,10],[1413,10]]},"1114":{"position":[[622,10]]}},"keywords":{}}],["backend",{"_index":5521,"title":{},"content":{"1075":{"position":[[79,8],[187,7],[334,8],[688,8]]},"1077":{"position":[[222,7]]},"1136":{"position":[[6744,7]]},"1138":{"position":[[10406,7]]},"1140":{"position":[[9332,7]]},"1142":{"position":[[4776,7]]},"1144":{"position":[[1104,7]]},"1146":{"position":[[4716,7]]},"1148":{"position":[[8307,7]]},"1150":{"position":[[1339,7]]},"1152":{"position":[[1037,7]]},"1154":{"position":[[1192,7]]},"1155":{"position":[[4812,7]]},"1156":{"position":[[4390,7]]},"1157":{"position":[[975,7]]},"1158":{"position":[[969,7]]},"1159":{"position":[[969,7]]},"1161":{"position":[[1964,7]]},"1163":{"position":[[1350,7]]},"1165":{"position":[[1179,7]]},"1167":{"position":[[10336,7]]},"1169":{"position":[[3444,7]]},"1171":{"position":[[1685,7]]},"1172":{"position":[[3070,7]]},"1173":{"position":[[1757,7]]},"1174":{"position":[[1185,7]]},"1175":{"position":[[1181,7]]},"1176":{"position":[[1350,7]]},"1177":{"position":[[1271,7]]},"1178":{"position":[[1588,7]]},"1179":{"position":[[1385,7]]},"1180":{"position":[[1656,7]]},"1181":{"position":[[2176,7]]},"1182":{"position":[[1219,7]]},"1183":{"position":[[1174,7]]},"1185":{"position":[[1019,7]]},"1186":{"position":[[5980,7]]},"1187":{"position":[[5993,7]]},"1188":{"position":[[10719,7]]},"1190":{"position":[[2350,7]]},"1191":{"position":[[4580,7]]},"1192":{"position":[[4755,7]]},"1193":{"position":[[4807,7]]},"1194":{"position":[[4447,7]]},"1195":{"position":[[4425,7]]},"1196":{"position":[[4235,7]]},"1197":{"position":[[5218,7]]},"1198":{"position":[[5228,7]]},"1199":{"position":[[5256,7]]},"1200":{"position":[[5123,7]]},"1201":{"position":[[4383,7]]},"1202":{"position":[[1127,7],[5525,7],[9922,7]]},"1203":{"position":[[4617,7]]},"1204":{"position":[[4461,7],[5363,7],[6293,7],[7195,7],[8181,7],[9135,7],[10082,7],[11012,7]]},"1205":{"position":[[5790,7]]},"1206":{"position":[[4489,7]]},"1207":{"position":[[4418,7]]},"1209":{"position":[[5766,7]]},"1211":{"position":[[1090,7]]},"1213":{"position":[[861,7]]},"1215":{"position":[[945,7]]},"1217":{"position":[[9077,7]]},"1219":{"position":[[4332,7]]},"1221":{"position":[[1064,7]]},"1222":{"position":[[4203,7]]},"1223":{"position":[[4213,7]]},"1224":{"position":[[3646,7]]},"1226":{"position":[[9545,7]]},"1228":{"position":[[11158,7]]},"1235":{"position":[[7026,7]]},"1237":{"position":[[9715,7]]}},"keywords":{}}],["backend'",{"_index":1102,"title":{},"content":{"90":{"position":[[212,9]]},"222":{"position":[[212,9]]}},"keywords":{}}],["background",{"_index":4621,"title":{"938":{"position":[[14,11]]},"987":{"position":[[0,10]]}},"content":{"1079":{"position":[[1034,10]]}},"keywords":{}}],["backport",{"_index":6558,"title":{},"content":{"1355":{"position":[[3472,11]]},"1439":{"position":[[3293,11]]}},"keywords":{}}],["backslash\\"",{"_index":2628,"title":{},"content":{"576":{"position":[[208,16]]}},"keywords":{}}],["backward",{"_index":4716,"title":{},"content":{"945":{"position":[[203,9]]},"1050":{"position":[[2047,9]]},"1112":{"position":[[1478,9]]},"1113":{"position":[[227,9],[637,9]]}},"keywords":{}}],["bad",{"_index":3655,"title":{},"content":{"706":{"position":[[155,3],[511,4]]},"919":{"position":[[2328,3]]},"937":{"position":[[2729,3]]},"1253":{"position":[[66,4]]},"1386":{"position":[[5330,3]]}},"keywords":{}}],["bake",{"_index":2164,"title":{},"content":{"406":{"position":[[286,5]]},"785":{"position":[[286,5]]}},"keywords":{}}],["banana",{"_index":2586,"title":{},"content":{"566":{"position":[[756,6],[796,6],[837,6]]}},"keywords":{}}],["banned.th",{"_index":5217,"title":{},"content":{"1045":{"position":[[115,10]]}},"keywords":{}}],["banned_duplicate_resource_typ",{"_index":6423,"title":{},"content":{"1350":{"position":[[1092,32]]},"1352":{"position":[[1092,32]]}},"keywords":{}}],["bar",{"_index":878,"title":{},"content":{"46":{"position":[[97,3]]},"50":{"position":[[212,4],[266,4]]},"193":{"position":[[97,3]]},"197":{"position":[[212,4],[266,4]]},"347":{"position":[[538,5]]},"414":{"position":[[259,4]]},"425":{"position":[[257,4]]},"577":{"position":[[394,3],[686,3],[741,3],[776,3]]},"712":{"position":[[1331,3],[1829,3]]},"793":{"position":[[259,4]]},"804":{"position":[[257,4]]},"890":{"position":[[402,6],[618,3],[769,4],[825,4],[1176,3],[1239,4]]},"961":{"position":[[696,3]]},"983":{"position":[[172,5]]},"1084":{"position":[[330,3],[356,3]]},"1088":{"position":[[1331,3],[1357,3]]},"1138":{"position":[[4225,6],[4335,7],[4416,6],[4575,7],[4637,6],[4825,6]]},"1140":{"position":[[3714,6],[3824,7],[3905,6],[4064,7],[4126,6],[4314,6]]},"1167":{"position":[[4718,6],[4828,7],[4909,6],[5068,7],[5130,6],[5318,6]]},"1188":{"position":[[3767,6],[3877,7],[3958,6],[4117,7],[4179,6],[4367,6]]},"1217":{"position":[[3459,6],[3569,7],[3650,6],[3809,7],[3871,6],[4059,6]]},"1228":{"position":[[5540,6],[5650,7],[5731,6],[5890,7],[5952,6],[6140,6]]}},"keywords":{}}],["bar((bar",{"_index":5578,"title":{},"content":{"1084":{"position":[[293,10]]},"1088":{"position":[[1294,10]]}},"keywords":{}}],["bar.baz",{"_index":8327,"title":{},"content":{"1462":{"position":[[7154,9]]},"1467":{"position":[[8123,9]]}},"keywords":{}}],["bar/baz",{"_index":2212,"title":{},"content":{"414":{"position":[[202,8]]},"425":{"position":[[200,8]]},"793":{"position":[[202,8]]},"804":{"position":[[200,8]]}},"keywords":{}}],["bar:baz",{"_index":1359,"title":{},"content":{"131":{"position":[[398,11]]},"254":{"position":[[398,11]]}},"keywords":{}}],["bare",{"_index":4855,"title":{},"content":{"980":{"position":[[1005,6]]}},"keywords":{}}],["barinfo",{"_index":4873,"title":{},"content":{"983":{"position":[[307,10]]}},"keywords":{}}],["barrier",{"_index":351,"title":{},"content":{"10":{"position":[[1044,7]]}},"keywords":{}}],["base",{"_index":876,"title":{},"content":{"46":{"position":[[28,4]]},"94":{"position":[[1961,5]]},"193":{"position":[[28,4]]},"226":{"position":[[1961,5]]},"389":{"position":[[510,5]]},"648":{"position":[[44,5],[162,6],[509,4],[558,4],[695,4],[756,4],[768,4],[798,4]]},"704":{"position":[[1320,5]]},"768":{"position":[[510,5]]},"869":{"position":[[18,5]]},"872":{"position":[[884,5]]},"879":{"position":[[160,4]]},"921":{"position":[[189,5]]},"937":{"position":[[1824,5]]},"939":{"position":[[891,5],[1003,5]]},"943":{"position":[[2192,5]]},"944":{"position":[[297,5],[400,5],[597,5],[661,5]]},"951":{"position":[[76,5],[252,4]]},"955":{"position":[[227,6],[1274,6]]},"962":{"position":[[227,5]]},"977":{"position":[[222,5]]},"980":{"position":[[715,5]]},"981":{"position":[[534,5]]},"994":{"position":[[330,5]]},"1011":{"position":[[230,4],[434,5]]},"1018":{"position":[[110,5]]},"1050":{"position":[[139,5]]},"1054":{"position":[[1067,5]]},"1136":{"position":[[3883,5]]},"1138":{"position":[[7545,5]]},"1140":{"position":[[6471,5]]},"1142":{"position":[[1915,5]]},"1146":{"position":[[1855,5]]},"1148":{"position":[[4895,5]]},"1155":{"position":[[1951,5]]},"1156":{"position":[[1529,5]]},"1167":{"position":[[7475,5]]},"1169":{"position":[[1314,5]]},"1186":{"position":[[3119,5]]},"1187":{"position":[[3132,5]]},"1188":{"position":[[7858,5]]},"1191":{"position":[[1719,5]]},"1192":{"position":[[1894,5]]},"1193":{"position":[[1946,5]]},"1194":{"position":[[1586,5]]},"1195":{"position":[[1564,5]]},"1196":{"position":[[1374,5]]},"1197":{"position":[[2357,5]]},"1198":{"position":[[2367,5]]},"1199":{"position":[[2395,5]]},"1200":{"position":[[2262,5]]},"1201":{"position":[[1522,5]]},"1202":{"position":[[2664,5],[7061,5]]},"1203":{"position":[[1756,5]]},"1204":{"position":[[1600,5]]},"1205":{"position":[[2929,5]]},"1206":{"position":[[1400,5]]},"1207":{"position":[[1557,5]]},"1209":{"position":[[2905,5]]},"1217":{"position":[[6216,5]]},"1219":{"position":[[2202,5]]},"1222":{"position":[[1326,5]]},"1223":{"position":[[1336,5]]},"1224":{"position":[[1516,5]]},"1226":{"position":[[6684,5]]},"1228":{"position":[[8297,5]]},"1235":{"position":[[4165,5]]},"1237":{"position":[[6854,5]]},"1351":{"position":[[1014,5]]},"1362":{"position":[[9844,5],[12785,5]]},"1363":{"position":[[4615,5],[6236,5],[6407,5],[6650,5],[6821,5]]},"1364":{"position":[[10958,5],[13485,5]]},"1366":{"position":[[3154,5],[3229,5]]},"1367":{"position":[[10761,5],[12693,5]]},"1373":{"position":[[8662,5]]},"1382":{"position":[[6570,5],[11147,5]]},"1384":{"position":[[12924,5],[18351,5],[18801,5]]},"1385":{"position":[[6725,5]]},"1387":{"position":[[10098,5]]},"1388":{"position":[[7439,5],[9640,5]]},"1402":{"position":[[1927,4]]},"1427":{"position":[[4737,5]]},"1439":{"position":[[7236,5]]},"1442":{"position":[[2520,5]]},"1461":{"position":[[2182,5]]},"1472":{"position":[[5667,5]]},"1485":{"position":[[4011,5]]}},"keywords":{}}],["base.lproj",{"_index":6954,"title":{},"content":{"1366":{"position":[[2482,11]]}},"keywords":{}}],["base_modul",{"_index":7236,"title":{},"content":{"1385":{"position":[[332,12],[1972,11],[7293,11]]},"1387":{"position":[[554,12],[4323,11],[10672,11]]},"1444":{"position":[[326,12]]},"1462":{"position":[[621,12],[7621,11]]},"1465":{"position":[[465,12]]},"1467":{"position":[[688,12],[5930,12]]}},"keywords":{}}],["base_path",{"_index":5429,"title":{},"content":{"1058":{"position":[[530,9]]},"1433":{"position":[[525,10]]}},"keywords":{}}],["base_path.startswith(_packag",{"_index":5430,"title":{},"content":{"1058":{"position":[[555,29]]}},"keywords":{}}],["base_platform",{"_index":6607,"title":{},"content":{"1357":{"position":[[331,14]]}},"keywords":{}}],["basekey",{"_index":4736,"title":{},"content":{"951":{"position":[[327,7]]}},"keywords":{}}],["basenam",{"_index":4294,"title":{},"content":{"895":{"position":[[234,8]]},"1395":{"position":[[3281,8]]}},"keywords":{}}],["basename.release_nam",{"_index":7577,"title":{},"content":{"1397":{"position":[[2581,22]]}},"keywords":{}}],["bash",{"_index":4445,"title":{"910":{"position":[[17,4]]}},"content":{"910":{"position":[[0,4]]},"1144":{"position":[[127,5],[312,5]]},"1351":{"position":[[5469,4]]},"1360":{"position":[[542,5],[2764,5],[2891,4],[2949,4],[2988,4],[3154,4],[6236,4],[6528,4]]},"1383":{"position":[[470,5],[2349,5],[2476,4],[2534,4],[2573,4],[2738,4]]},"1403":{"position":[[441,5],[2179,5],[2306,4],[2364,4],[2403,4],[2569,4],[7687,4],[7994,4]]},"1424":{"position":[[447,5]]},"1432":{"position":[[494,5]]}},"keywords":{}}],["basi",{"_index":69,"title":{},"content":{"4":{"position":[[536,6]]},"9":{"position":[[376,5]]}},"keywords":{}}],["basic",{"_index":167,"title":{"842":{"position":[[4,6]]}},"content":{"9":{"position":[[56,9]]},"18":{"position":[[2161,5]]},"99":{"position":[[761,5]]},"231":{"position":[[761,5]]},"303":{"position":[[76,5]]},"870":{"position":[[1312,9]]},"1136":{"position":[[1259,5],[1283,5]]},"1148":{"position":[[1615,5],[1639,5]]},"1205":{"position":[[739,5],[763,5]]},"1209":{"position":[[492,5],[516,5]]},"1226":{"position":[[2432,5],[2456,5]]},"1235":{"position":[[1752,5],[1776,5]]},"1237":{"position":[[2602,5],[2626,5]]},"1393":{"position":[[8981,5]]},"1487":{"position":[[669,5]]}},"keywords":{}}],["bat",{"_index":8456,"title":{},"content":{"1477":{"position":[[1617,6]]}},"keywords":{}}],["batch",{"_index":7181,"title":{},"content":{"1383":{"position":[[4802,5]]}},"keywords":{}}],["battl",{"_index":405,"title":{},"content":{"12":{"position":[[373,6]]}},"keywords":{}}],["baz",{"_index":1360,"title":{},"content":{"131":{"position":[[439,7]]},"254":{"position":[[439,7]]},"577":{"position":[[399,3]]},"961":{"position":[[700,3]]},"1155":{"position":[[288,5]]}},"keywords":{}}],["baz:lib",{"_index":6299,"title":{},"content":{"1282":{"position":[[603,10]]},"1283":{"position":[[597,9]]},"1284":{"position":[[579,9]]},"1313":{"position":[[603,10]]},"1314":{"position":[[597,9]]},"1315":{"position":[[579,9]]},"1341":{"position":[[603,10]]},"1342":{"position":[[597,9]]},"1343":{"position":[[579,9]]}},"keywords":{}}],["baz=1",{"_index":2622,"title":{},"content":{"575":{"position":[[205,5]]}},"keywords":{}}],["bazel",{"_index":109,"title":{"984":{"position":[[0,6]]}},"content":{"5":{"position":[[478,6]]},"22":{"position":[[498,6],[535,5],[644,5],[989,6],[1092,7]]},"23":{"position":[[167,7],[3280,6]]},"984":{"position":[[3,6]]}},"keywords":{}}],["bazel'",{"_index":744,"title":{},"content":{"23":{"position":[[2212,7]]}},"keywords":{}}],["bazel_skylib",{"_index":2732,"title":{},"content":{"587":{"position":[[195,12]]}},"keywords":{}}],["bdist_egg",{"_index":8271,"title":{},"content":{"1461":{"position":[[3250,9]]}},"keywords":{}}],["be",{"_index":565,"title":{"1239":{"position":[[13,5]]}},"content":{"18":{"position":[[804,5]]},"23":{"position":[[2244,5]]},"24":{"position":[[192,5]]},"73":{"position":[[81,5]]},"89":{"position":[[657,5]]},"221":{"position":[[657,5]]},"496":{"position":[[81,5]]},"560":{"position":[[690,5]]},"690":{"position":[[2935,5],[2965,5]]},"704":{"position":[[452,5]]},"888":{"position":[[203,5],[692,5],[1291,5]]},"892":{"position":[[1127,5]]},"900":{"position":[[943,5]]},"904":{"position":[[1372,5]]},"911":{"position":[[107,5]]},"912":{"position":[[87,5]]},"924":{"position":[[526,5]]},"937":{"position":[[3575,5]]},"956":{"position":[[17,5],[210,5]]},"1001":{"position":[[1061,5]]},"1017":{"position":[[758,5]]},"1067":{"position":[[685,5]]},"1103":{"position":[[1940,5]]},"1108":{"position":[[109,5]]},"1113":{"position":[[211,5],[627,5]]},"1142":{"position":[[612,5]]},"1180":{"position":[[330,5]]},"1217":{"position":[[538,5]]},"1244":{"position":[[197,5]]},"1355":{"position":[[6975,5],[7016,5]]},"1362":{"position":[[7192,5]]},"1364":{"position":[[7431,5]]},"1373":{"position":[[5775,5],[6036,5],[8567,5]]},"1381":{"position":[[2321,5]]},"1386":{"position":[[4207,5],[4464,5]]},"1405":{"position":[[3360,5]]},"1407":{"position":[[3781,5]]},"1408":{"position":[[2139,5],[2400,5]]},"1410":{"position":[[4304,5],[4768,5]]},"1427":{"position":[[6174,5],[6215,5]]},"1457":{"position":[[1726,5]]},"1469":{"position":[[2758,5]]},"1483":{"position":[[1327,5]]},"1486":{"position":[[2786,5],[2828,5]]}},"keywords":{}}],["be.remot",{"_index":672,"title":{},"content":{"22":{"position":[[1359,9]]}},"keywords":{}}],["beam",{"_index":5141,"title":{},"content":{"1040":{"position":[[2088,4],[2124,5]]},"1393":{"position":[[8065,6]]},"1398":{"position":[[2491,4]]}},"keywords":{}}],["beam_fil",{"_index":5150,"title":{},"content":{"1040":{"position":[[2303,9],[2376,9],[2647,12],[2753,9]]}},"keywords":{}}],["beams.valu",{"_index":5163,"title":{},"content":{"1040":{"position":[[2692,16]]}},"keywords":{}}],["beams[d",{"_index":5159,"title":{},"content":{"1040":{"position":[[2538,9]]}},"keywords":{}}],["beams[x",{"_index":5152,"title":{},"content":{"1040":{"position":[[2365,8]]}},"keywords":{}}],["bebuilt",{"_index":150,"title":{},"content":{"7":{"position":[[254,7]]}},"keywords":{}}],["becausejava/com/facebook/common/collect",{"_index":3044,"title":{},"content":{"622":{"position":[[1769,40]]}},"keywords":{}}],["becom",{"_index":2388,"title":{},"content":{"446":{"position":[[125,6]]},"706":{"position":[[1112,6]]},"825":{"position":[[125,6]]},"890":{"position":[[1031,6]]},"937":{"position":[[538,6]]},"980":{"position":[[418,7]]},"1024":{"position":[[724,6]]},"1104":{"position":[[2011,7]]},"1356":{"position":[[1752,6]]}},"keywords":{}}],["befor",{"_index":520,"title":{},"content":{"17":{"position":[[1097,6]]},"23":{"position":[[1607,6]]},"81":{"position":[[267,6]]},"89":{"position":[[186,6]]},"92":{"position":[[705,6]]},"94":{"position":[[2205,6]]},"213":{"position":[[267,6]]},"221":{"position":[[186,6]]},"224":{"position":[[705,6]]},"226":{"position":[[2205,6]]},"405":{"position":[[1515,6],[1545,6],[1794,6]]},"423":{"position":[[155,6]]},"443":{"position":[[255,6]]},"607":{"position":[[218,6]]},"675":{"position":[[597,6]]},"682":{"position":[[126,6],[295,6]]},"693":{"position":[[108,6],[10165,6]]},"784":{"position":[[1515,6],[1545,6],[1794,6]]},"802":{"position":[[155,6]]},"822":{"position":[[255,6]]},"870":{"position":[[487,6]]},"874":{"position":[[356,6]]},"888":{"position":[[1089,6]]},"890":{"position":[[962,6],[1576,6],[2997,6]]},"919":{"position":[[2483,6]]},"937":{"position":[[1981,6],[2314,6]]},"938":{"position":[[884,6]]},"942":{"position":[[684,6]]},"943":{"position":[[217,6],[970,6],[2508,6]]},"946":{"position":[[78,6]]},"950":{"position":[[725,6]]},"991":{"position":[[312,6]]},"1000":{"position":[[0,6]]},"1040":{"position":[[225,6]]},"1050":{"position":[[1213,6]]},"1053":{"position":[[973,6]]},"1079":{"position":[[764,6],[979,6]]},"1088":{"position":[[770,6]]},"1102":{"position":[[983,6]]},"1112":{"position":[[1343,6]]},"1138":{"position":[[3351,6],[4132,6],[5029,6]]},"1140":{"position":[[2840,6],[3621,6],[4518,6]]},"1167":{"position":[[1692,6],[3844,6],[4625,6],[5522,6]]},"1172":{"position":[[1981,6]]},"1180":{"position":[[307,6]]},"1188":{"position":[[2893,6],[3674,6],[4571,6]]},"1217":{"position":[[2585,6],[3366,6],[4263,6]]},"1228":{"position":[[4666,6],[5447,6],[6344,6]]},"1345":{"position":[[524,6],[801,6],[1096,6]]},"1351":{"position":[[3423,6],[4966,6],[5248,6],[5332,6]]},"1354":{"position":[[2279,6]]},"1383":{"position":[[4745,6]]},"1393":{"position":[[8024,6]]},"1402":{"position":[[1741,6]]},"1446":{"position":[[1629,6]]},"1458":{"position":[[2120,6]]},"1462":{"position":[[8389,6]]},"1467":{"position":[[9871,6]]},"1487":{"position":[[2964,6]]}},"keywords":{}}],["before_stmt",{"_index":5438,"title":{},"content":{"1058":{"position":[[1071,11]]}},"keywords":{}}],["beforehand",{"_index":5696,"title":{},"content":{"1105":{"position":[[1919,11]]},"1240":{"position":[[232,11]]}},"keywords":{}}],["begin",{"_index":2875,"title":{},"content":{"602":{"position":[[195,5]]},"943":{"position":[[848,10]]},"1079":{"position":[[1075,6]]},"1126":{"position":[[462,6]]}},"keywords":{}}],["behalf",{"_index":7256,"title":{},"content":{"1386":{"position":[[2049,6]]}},"keywords":{}}],["behav",{"_index":1210,"title":{},"content":{"94":{"position":[[2666,6],[3442,6]]},"226":{"position":[[2666,6],[3442,6]]},"939":{"position":[[1325,7]]},"1050":{"position":[[64,6]]},"1136":{"position":[[764,6],[3456,7]]},"1138":{"position":[[7118,7]]},"1140":{"position":[[6044,7]]},"1142":{"position":[[1488,7]]},"1146":{"position":[[1428,7]]},"1148":{"position":[[4468,7]]},"1155":{"position":[[1524,7]]},"1156":{"position":[[1102,7]]},"1167":{"position":[[7048,7]]},"1169":{"position":[[887,7]]},"1186":{"position":[[2692,7]]},"1187":{"position":[[2705,7]]},"1188":{"position":[[7431,7]]},"1191":{"position":[[1292,7]]},"1192":{"position":[[1467,7]]},"1193":{"position":[[1519,7]]},"1194":{"position":[[1159,7]]},"1195":{"position":[[1137,7]]},"1196":{"position":[[947,7]]},"1197":{"position":[[1930,7]]},"1198":{"position":[[1940,7]]},"1199":{"position":[[1968,7]]},"1200":{"position":[[1835,7]]},"1201":{"position":[[1095,7]]},"1202":{"position":[[2237,7],[6634,7]]},"1203":{"position":[[1329,7]]},"1204":{"position":[[1173,7]]},"1205":{"position":[[2502,7]]},"1206":{"position":[[973,7]]},"1207":{"position":[[1130,7]]},"1209":{"position":[[2478,7]]},"1217":{"position":[[5789,7]]},"1219":{"position":[[1775,7]]},"1222":{"position":[[899,7]]},"1223":{"position":[[909,7]]},"1224":{"position":[[1089,7]]},"1226":{"position":[[6257,7]]},"1228":{"position":[[7870,7]]},"1235":{"position":[[3738,7]]},"1237":{"position":[[6427,7]]},"1363":{"position":[[5552,7]]}},"keywords":{}}],["behavior",{"_index":2777,"title":{},"content":{"591":{"position":[[747,10]]},"666":{"position":[[457,8]]},"680":{"position":[[1332,8]]},"865":{"position":[[773,8]]},"921":{"position":[[320,8]]},"938":{"position":[[709,9]]},"944":{"position":[[2065,9]]},"990":{"position":[[1406,9]]},"1020":{"position":[[91,9]]},"1021":{"position":[[403,8]]},"1044":{"position":[[334,10]]},"1114":{"position":[[141,8]]},"1136":{"position":[[4031,8]]},"1138":{"position":[[4244,8],[4605,8],[4788,8],[7693,8]]},"1140":{"position":[[3733,8],[4094,8],[4277,8],[6619,8]]},"1142":{"position":[[2063,8]]},"1146":{"position":[[2003,8]]},"1148":{"position":[[5043,8]]},"1155":{"position":[[2099,8]]},"1156":{"position":[[1677,8]]},"1167":{"position":[[4737,8],[5098,8],[5281,8],[7623,8]]},"1169":{"position":[[1462,8]]},"1186":{"position":[[3267,8]]},"1187":{"position":[[3280,8]]},"1188":{"position":[[3786,8],[4147,8],[4330,8],[8006,8]]},"1191":{"position":[[1867,8]]},"1192":{"position":[[2042,8]]},"1193":{"position":[[2094,8]]},"1194":{"position":[[1734,8]]},"1195":{"position":[[1712,8]]},"1196":{"position":[[1522,8]]},"1197":{"position":[[2505,8]]},"1198":{"position":[[2515,8]]},"1199":{"position":[[2543,8]]},"1200":{"position":[[2410,8]]},"1201":{"position":[[1670,8]]},"1202":{"position":[[2812,8],[7209,8]]},"1203":{"position":[[1904,8]]},"1204":{"position":[[1748,8]]},"1205":{"position":[[3077,8]]},"1206":{"position":[[1548,8]]},"1207":{"position":[[1705,8]]},"1209":{"position":[[3053,8]]},"1217":{"position":[[3478,8],[3839,8],[4022,8],[6364,8]]},"1219":{"position":[[2350,8]]},"1222":{"position":[[1474,8]]},"1223":{"position":[[1484,8]]},"1224":{"position":[[1664,8]]},"1226":{"position":[[6832,8]]},"1228":{"position":[[5559,8],[5920,8],[6103,8],[8445,8]]},"1235":{"position":[[4313,8]]},"1237":{"position":[[7002,8]]},"1477":{"position":[[1695,8]]},"1487":{"position":[[2867,8]]}},"keywords":{}}],["behaviour",{"_index":2283,"title":{},"content":{"421":{"position":[[259,9]]},"800":{"position":[[259,9]]},"959":{"position":[[198,9],[308,9]]},"966":{"position":[[127,9]]},"1138":{"position":[[1845,9]]},"1140":{"position":[[1334,9]]},"1167":{"position":[[2338,9]]},"1188":{"position":[[1387,9]]},"1217":{"position":[[1079,9]]},"1228":{"position":[[3160,9]]}},"keywords":{}}],["behind",{"_index":296,"title":{},"content":{"9":{"position":[[2602,6]]},"92":{"position":[[2381,6]]},"224":{"position":[[2381,6]]},"890":{"position":[[128,6],[2816,7],[4618,6],[4647,6]]},"898":{"position":[[132,6]]},"924":{"position":[[1481,6]]}},"keywords":{}}],["behindarc",{"_index":4225,"title":{},"content":{"890":{"position":[[2738,9]]}},"keywords":{}}],["belong",{"_index":3520,"title":{},"content":{"693":{"position":[[739,9],[5567,9],[8796,7]]},"1126":{"position":[[483,7]]},"1362":{"position":[[7164,7]]},"1364":{"position":[[6619,6],[7403,7]]},"1384":{"position":[[5664,6],[7373,6]]},"1386":{"position":[[1856,6]]},"1454":{"position":[[4512,6],[5773,6]]},"1455":{"position":[[2160,6],[2544,6]]}},"keywords":{}}],["below",{"_index":374,"title":{},"content":{"11":{"position":[[462,5]]},"573":{"position":[[255,6]]},"585":{"position":[[0,5]]},"675":{"position":[[756,5]]},"693":{"position":[[3118,7]]},"712":{"position":[[766,5]]},"715":{"position":[[1865,7]]},"847":{"position":[[443,5]]},"864":{"position":[[871,5]]},"946":{"position":[[6,5]]},"947":{"position":[[607,5]]},"962":{"position":[[458,5]]},"965":{"position":[[579,6]]},"966":{"position":[[664,5]]},"991":{"position":[[233,5],[678,5]]},"1012":{"position":[[466,7]]},"1026":{"position":[[143,7]]},"1044":{"position":[[898,5]]},"1052":{"position":[[1590,7]]},"1093":{"position":[[432,6]]},"1104":{"position":[[1274,6]]},"1108":{"position":[[363,5]]},"1112":{"position":[[1449,5]]},"1126":{"position":[[633,5]]},"1250":{"position":[[122,5]]},"1251":{"position":[[107,5]]},"1252":{"position":[[139,5]]},"1351":{"position":[[2978,6]]},"1398":{"position":[[2735,6]]},"1469":{"position":[[2318,6]]}},"keywords":{}}],["below).label",{"_index":5480,"title":{},"content":{"1069":{"position":[[348,13]]}},"keywords":{}}],["benchmark",{"_index":203,"title":{"1061":{"position":[[0,13]]}},"content":{"9":{"position":[[688,12],[995,10]]},"276":{"position":[[444,12]]},"277":{"position":[[392,12]]},"281":{"position":[[533,12]]},"282":{"position":[[483,12]]},"1138":{"position":[[2992,13]]},"1140":{"position":[[2481,13]]},"1167":{"position":[[3485,13]]},"1181":{"position":[[660,12]]},"1188":{"position":[[2534,13]]},"1217":{"position":[[2226,13]]},"1228":{"position":[[4307,13]]}},"keywords":{}}],["beneath",{"_index":2700,"title":{},"content":{"584":{"position":[[375,7]]}},"keywords":{}}],["beneathbuck",{"_index":2607,"title":{},"content":{"570":{"position":[[205,11]]}},"keywords":{}}],["benefit",{"_index":11,"title":{"8":{"position":[[0,8]]},"9":{"position":[[0,8]]},"10":{"position":[[0,8]]},"11":{"position":[[0,8]]}},"content":{"2":{"position":[[69,8]]},"9":{"position":[[492,9]]},"11":{"position":[[91,8],[136,9]]},"12":{"position":[[21,9]]},"23":{"position":[[3496,9]]},"1087":{"position":[[441,9]]},"1090":{"position":[[16,8]]},"1386":{"position":[[2294,7]]}},"keywords":{}}],["benefits.al",{"_index":704,"title":{},"content":{"23":{"position":[[635,12]]}},"keywords":{}}],["besid",{"_index":1151,"title":{},"content":{"92":{"position":[[2001,7]]},"224":{"position":[[2001,7]]}},"keywords":{}}],["best",{"_index":657,"title":{},"content":{"22":{"position":[[851,4]]},"23":{"position":[[1822,4]]},"276":{"position":[[487,4]]},"277":{"position":[[435,4]]},"281":{"position":[[576,4]]},"282":{"position":[[526,4]]},"445":{"position":[[146,4]]},"587":{"position":[[544,4]]},"824":{"position":[[146,4]]},"856":{"position":[[102,5],[337,4]]},"920":{"position":[[170,4]]},"944":{"position":[[907,4]]},"1386":{"position":[[3056,4]]},"1399":{"position":[[2033,4]]}},"keywords":{}}],["better",{"_index":195,"title":{},"content":{"9":{"position":[[544,6],[2834,6]]},"23":{"position":[[337,6],[3100,6]]},"276":{"position":[[325,6]]},"277":{"position":[[277,6]]},"281":{"position":[[401,6]]},"282":{"position":[[350,6]]},"706":{"position":[[1618,6]]},"832":{"position":[[944,6]]},"856":{"position":[[183,7]]},"919":{"position":[[2584,6]]},"935":{"position":[[218,6]]},"983":{"position":[[0,6]]},"1105":{"position":[[2374,6]]},"1362":{"position":[[5219,6]]},"1364":{"position":[[5248,6]]},"1410":{"position":[[6097,6]]}},"keywords":{}}],["between",{"_index":148,"title":{"703":{"position":[[93,7]]},"833":{"position":[[22,7]]},"835":{"position":[[23,7]]}},"content":{"7":{"position":[[217,7]]},"10":{"position":[[462,7]]},"24":{"position":[[299,7],[576,7]]},"405":{"position":[[1588,7]]},"577":{"position":[[768,7]]},"581":{"position":[[914,7]]},"595":{"position":[[403,7]]},"604":{"position":[[224,7]]},"662":{"position":[[373,7]]},"689":{"position":[[82,7]]},"693":{"position":[[4040,7],[4101,7],[4238,7]]},"784":{"position":[[1588,7]]},"846":{"position":[[437,7]]},"870":{"position":[[24,7]]},"947":{"position":[[76,7]]},"955":{"position":[[110,7]]},"966":{"position":[[31,7]]},"987":{"position":[[578,7]]},"991":{"position":[[1223,7]]},"1098":{"position":[[587,7]]},"1127":{"position":[[642,7]]},"1247":{"position":[[222,7]]},"1260":{"position":[[102,7],[173,7],[607,7]]},"1291":{"position":[[102,7],[173,7],[607,7]]},"1319":{"position":[[102,7],[173,7],[607,7]]},"1353":{"position":[[2364,7]]},"1360":{"position":[[4861,7]]},"1383":{"position":[[6969,7]]},"1386":{"position":[[6009,7],[6258,7]]},"1403":{"position":[[4849,7]]},"1486":{"position":[[5408,7]]}},"keywords":{}}],["betwen",{"_index":3837,"title":{},"content":{"835":{"position":[[191,6]]}},"keywords":{}}],["beyond",{"_index":284,"title":{},"content":{"9":{"position":[[2340,6]]},"22":{"position":[[295,6]]},"951":{"position":[[363,6]]},"980":{"position":[[1287,6]]},"1105":{"position":[[2230,6]]}},"keywords":{}}],["bf",{"_index":5601,"title":{},"content":{"1088":{"position":[[698,3],[723,5],[1563,3]]}},"keywords":{}}],["bi",{"_index":444,"title":{},"content":{"15":{"position":[[102,2]]}},"keywords":{}}],["big",{"_index":4504,"title":{"1252":{"position":[[23,3]]}},"content":{"919":{"position":[[2655,3]]},"1252":{"position":[[105,3]]},"1253":{"position":[[298,3]]}},"keywords":{}}],["billion",{"_index":6207,"title":{},"content":{"1252":{"position":[[171,7]]}},"keywords":{}}],["billion_list",{"_index":6211,"title":{},"content":{"1252":{"position":[[238,12]]}},"keywords":{}}],["bin",{"_index":4887,"title":{},"content":{"987":{"position":[[922,4]]},"1422":{"position":[[4289,5],[4467,4]]},"1423":{"position":[[2783,5],[3269,5],[3461,4],[3582,5],[3863,5]]}},"keywords":{}}],["bin/sh",{"_index":8465,"title":{},"content":{"1477":{"position":[[2968,9]]},"1478":{"position":[[3118,9]]}},"keywords":{}}],["binari",{"_index":418,"title":{},"content":{"13":{"position":[[109,6],[208,6]]},"17":{"position":[[93,7],[1213,7],[1261,6]]},"23":{"position":[[746,7],[807,6],[903,7],[2004,8]]},"368":{"position":[[2104,7],[2193,7],[2279,6]]},"406":{"position":[[301,7]]},"693":{"position":[[525,8],[3248,6],[7663,7]]},"706":{"position":[[206,7],[254,8],[767,8],[1041,6]]},"747":{"position":[[2104,7],[2193,7],[2279,6]]},"785":{"position":[[301,7]]},"947":{"position":[[1099,6]]},"987":{"position":[[392,7]]},"1025":{"position":[[14,6],[103,10],[132,11],[167,6]]},"1071":{"position":[[266,6],[343,8],[421,6]]},"1095":{"position":[[141,7]]},"1103":{"position":[[202,6],[382,8],[1146,7]]},"1104":{"position":[[808,7],[1366,7]]},"1106":{"position":[[223,6]]},"1107":{"position":[[61,6]]},"1232":{"position":[[3817,6]]},"1355":{"position":[[4497,6],[4507,6]]},"1362":{"position":[[5049,8],[6611,7]]},"1363":{"position":[[1372,7],[2856,6],[5532,7],[6942,6],[7110,6],[7263,6],[7453,6],[7649,6]]},"1364":{"position":[[5076,8]]},"1367":{"position":[[1579,7],[13762,7]]},"1370":{"position":[[656,6],[749,6],[1667,6],[2101,6],[2117,6],[2252,7],[2300,6],[2373,7],[2577,7],[3074,6]]},"1372":{"position":[[1274,7]]},"1374":{"position":[[727,8],[2765,7]]},"1383":{"position":[[3349,8],[3468,8]]},"1384":{"position":[[20521,6]]},"1385":{"position":[[3074,7]]},"1386":{"position":[[4408,6],[4846,6]]},"1387":{"position":[[5341,7]]},"1388":{"position":[[3485,6]]},"1400":{"position":[[335,7]]},"1403":{"position":[[7583,8]]},"1410":{"position":[[1571,6]]},"1415":{"position":[[5156,6]]},"1416":{"position":[[3007,7]]},"1427":{"position":[[3642,6],[3652,6]]},"1439":{"position":[[4316,6],[4326,6]]},"1443":{"position":[[1687,6]]},"1444":{"position":[[1701,7]]},"1454":{"position":[[9577,8]]},"1458":{"position":[[1005,6]]},"1461":{"position":[[2270,6]]},"1462":{"position":[[5565,7],[5715,8],[5915,6],[6887,7],[6938,6],[7060,7],[7503,7],[7574,6]]},"1465":{"position":[[2495,7],[2730,6]]},"1467":{"position":[[6060,7],[6211,8],[6869,6],[8029,7]]},"1471":{"position":[[5517,8]]},"1472":{"position":[[6403,8]]},"1478":{"position":[[2205,6],[2453,6]]}},"keywords":{}}],["binaries,apple_universal_execut",{"_index":7020,"title":{},"content":{"1370":{"position":[[2996,37]]}},"keywords":{}}],["binary"",{"_index":1949,"title":{},"content":{"368":{"position":[[860,13]]},"747":{"position":[[860,13]]}},"keywords":{}}],["binary.as_output",{"_index":5646,"title":{},"content":{"1103":{"position":[[323,20]]}},"keywords":{}}],["binary_extens",{"_index":7335,"title":{},"content":{"1389":{"position":[[1050,17]]}},"keywords":{}}],["binary_jar",{"_index":3689,"title":{},"content":{"708":{"position":[[107,10],[942,10]]},"1423":{"position":[[3245,10]]},"1439":{"position":[[6159,10]]},"1458":{"position":[[483,11],[2150,10],[2397,11],[2511,10]]},"1469":{"position":[[2831,10]]}},"keywords":{}}],["binary_jar.source_jar",{"_index":8235,"title":{},"content":{"1458":{"position":[[2297,22]]}},"keywords":{}}],["binary_linker_flag",{"_index":6697,"title":{},"content":{"1362":{"position":[[633,20]]},"1382":{"position":[[469,20]]},"1388":{"position":[[602,20]]},"1462":{"position":[[650,20]]},"1467":{"position":[[717,20]]}},"keywords":{}}],["binary_src",{"_index":8257,"title":{},"content":{"1461":{"position":[[468,11],[1860,11],[3760,10],[3895,10],[4020,10]]}},"keywords":{}}],["binaryerlc",{"_index":7559,"title":{},"content":{"1396":{"position":[[1467,11]]}},"keywords":{}}],["binaryescript",{"_index":7560,"title":{},"content":{"1396":{"position":[[1497,14]]}},"keywords":{}}],["binaryos_env",{"_index":7561,"title":{},"content":{"1396":{"position":[[1533,13]]}},"keywords":{}}],["bind",{"_index":771,"title":{},"content":{"23":{"position":[[3005,10]]},"24":{"position":[[462,8]]},"45":{"position":[[174,4]]},"89":{"position":[[231,7],[694,7],[1190,7]]},"92":{"position":[[1537,4],[1709,4]]},"192":{"position":[[174,4]]},"221":{"position":[[231,7],[694,7],[1190,7]]},"224":{"position":[[1537,4],[1709,4]]},"421":{"position":[[160,7]]},"800":{"position":[[160,7]]},"890":{"position":[[3641,8],[3707,8],[3815,8]]},"1040":{"position":[[1309,4],[1811,4],[2768,5]]}},"keywords":{}}],["bisect",{"_index":6157,"title":{},"content":{"1232":{"position":[[3799,7]]}},"keywords":{}}],["bit",{"_index":658,"title":{},"content":{"22":{"position":[[856,4]]},"638":{"position":[[917,3]]},"648":{"position":[[675,5]]},"847":{"position":[[326,4]]},"869":{"position":[[835,3]]},"902":{"position":[[904,3]]},"924":{"position":[[822,3]]},"977":{"position":[[329,3]]},"991":{"position":[[3083,3]]},"1057":{"position":[[513,3]]},"1071":{"position":[[1442,3]]},"1126":{"position":[[400,3],[533,3]]},"1353":{"position":[[2757,4]]}},"keywords":{}}],["bitcod",{"_index":8077,"title":{},"content":{"1442":{"position":[[530,7],[567,7],[3129,7],[3189,7]]}},"keywords":{}}],["blackhol",{"_index":4271,"title":{},"content":{"892":{"position":[[724,11],[1062,9],[1525,9]]}},"keywords":{}}],["blacklist",{"_index":7947,"title":{},"content":{"1426":{"position":[[450,10],[1885,10],[2021,9]]}},"keywords":{}}],["blake3",{"_index":4829,"title":{},"content":{"972":{"position":[[165,7],[241,6]]},"977":{"position":[[529,6]]},"1226":{"position":[[1679,7]]},"1237":{"position":[[1849,7]]},"1345":{"position":[[1368,7],[1412,6]]}},"keywords":{}}],["blame",{"_index":5440,"title":{},"content":{"1058":{"position":[[1167,6],[1335,8]]}},"keywords":{}}],["blaze",{"_index":643,"title":{},"content":{"22":{"position":[[574,7]]}},"keywords":{}}],["blob",{"_index":1064,"title":{},"content":{"85":{"position":[[651,4],[707,4]]},"217":{"position":[[651,4],[707,4]]},"973":{"position":[[369,5]]}},"keywords":{}}],["block",{"_index":3842,"title":{"855":{"position":[[36,9]]}},"content":{"837":{"position":[[199,9]]},"855":{"position":[[147,8]]},"892":{"position":[[480,6]]},"1136":{"position":[[4059,5],[4218,5]]},"1138":{"position":[[7721,5],[7880,5]]},"1140":{"position":[[6647,5],[6806,5]]},"1142":{"position":[[2091,5],[2250,5]]},"1146":{"position":[[2031,5],[2190,5]]},"1148":{"position":[[5071,5],[5230,5]]},"1155":{"position":[[2127,5],[2286,5]]},"1156":{"position":[[1705,5],[1864,5]]},"1167":{"position":[[7651,5],[7810,5]]},"1169":{"position":[[1490,5],[1649,5]]},"1186":{"position":[[3295,5],[3454,5]]},"1187":{"position":[[3308,5],[3467,5]]},"1188":{"position":[[8034,5],[8193,5]]},"1191":{"position":[[1895,5],[2054,5]]},"1192":{"position":[[2070,5],[2229,5]]},"1193":{"position":[[2122,5],[2281,5]]},"1194":{"position":[[1762,5],[1921,5]]},"1195":{"position":[[1740,5],[1899,5]]},"1196":{"position":[[1550,5],[1709,5]]},"1197":{"position":[[2533,5],[2692,5]]},"1198":{"position":[[2543,5],[2702,5]]},"1199":{"position":[[2571,5],[2730,5]]},"1200":{"position":[[2438,5],[2597,5]]},"1201":{"position":[[1698,5],[1857,5]]},"1202":{"position":[[2840,5],[2999,5],[7237,5],[7396,5]]},"1203":{"position":[[1932,5],[2091,5]]},"1204":{"position":[[1776,5],[1935,5]]},"1205":{"position":[[3105,5],[3264,5]]},"1206":{"position":[[1576,5],[1735,5]]},"1207":{"position":[[1733,5],[1892,5]]},"1209":{"position":[[3081,5],[3240,5]]},"1217":{"position":[[6392,5],[6551,5]]},"1219":{"position":[[2378,5],[2537,5]]},"1222":{"position":[[1502,5],[1661,5]]},"1223":{"position":[[1512,5],[1671,5]]},"1224":{"position":[[1692,5],[1851,5]]},"1226":{"position":[[6860,5],[7019,5]]},"1228":{"position":[[8473,5],[8632,5]]},"1235":{"position":[[4341,5],[4500,5]]},"1237":{"position":[[7030,5],[7189,5]]},"1243":{"position":[[361,5]]},"1393":{"position":[[8996,5]]}},"keywords":{}}],["blocker",{"_index":4614,"title":{},"content":{"937":{"position":[[4310,7]]}},"keywords":{}}],["bob",{"_index":4517,"title":{},"content":{"923":{"position":[[3,3]]}},"keywords":{}}],["bob’",{"_index":4762,"title":{},"content":{"957":{"position":[[40,5]]}},"keywords":{}}],["bodi",{"_index":5131,"title":{},"content":{"1040":{"position":[[396,4]]}},"keywords":{}}],["boilerpl",{"_index":3783,"title":{},"content":{"715":{"position":[[696,11]]}},"keywords":{}}],["bolt_en",{"_index":7336,"title":{},"content":{"1389":{"position":[[1084,13]]}},"keywords":{}}],["bolt_flag",{"_index":7143,"title":{},"content":{"1382":{"position":[[505,11]]},"1388":{"position":[[638,11]]},"1462":{"position":[[686,11]]},"1467":{"position":[[753,11]]}},"keywords":{}}],["bolt_profil",{"_index":7144,"title":{},"content":{"1382":{"position":[[532,13]]},"1388":{"position":[[665,13]]},"1462":{"position":[[713,13]]},"1467":{"position":[[780,13]]}},"keywords":{}}],["bool",{"_index":885,"title":{"630":{"position":[[0,5]]}},"content":{"48":{"position":[[20,4]]},"50":{"position":[[52,4]]},"55":{"position":[[40,4]]},"85":{"position":[[147,4],[170,4],[198,4]]},"89":{"position":[[71,4]]},"91":{"position":[[184,4],[213,4]]},"94":{"position":[[573,4],[601,4],[630,4],[661,4],[695,4],[865,4],[899,4],[942,4],[986,4],[1055,4]]},"98":{"position":[[331,4],[357,4],[384,4],[408,4]]},"99":{"position":[[93,4],[481,4],[503,4],[527,4]]},"101":{"position":[[40,4]]},"102":{"position":[[46,4]]},"103":{"position":[[38,4]]},"104":{"position":[[40,4]]},"126":{"position":[[24,4],[100,4]]},"132":{"position":[[61,4]]},"138":{"position":[[58,4]]},"144":{"position":[[52,4]]},"145":{"position":[[38,4]]},"195":{"position":[[20,4]]},"197":{"position":[[52,4]]},"202":{"position":[[40,4]]},"217":{"position":[[147,4],[170,4],[198,4]]},"221":{"position":[[71,4]]},"223":{"position":[[184,4],[213,4]]},"226":{"position":[[573,4],[601,4],[630,4],[661,4],[695,4],[865,4],[899,4],[942,4],[986,4],[1055,4]]},"230":{"position":[[331,4],[357,4],[384,4],[408,4]]},"231":{"position":[[93,4],[481,4],[503,4],[527,4]]},"242":{"position":[[93,4]]},"249":{"position":[[24,4],[100,4]]},"255":{"position":[[61,4]]},"261":{"position":[[58,4]]},"267":{"position":[[52,4]]},"268":{"position":[[38,4]]},"294":{"position":[[393,4]]},"304":{"position":[[216,6]]},"308":{"position":[[48,4]]},"309":{"position":[[341,4]]},"315":{"position":[[69,4]]},"316":{"position":[[69,4]]},"317":{"position":[[70,4]]},"318":{"position":[[76,4]]},"347":{"position":[[50,4]]},"362":{"position":[[45,5],[67,5],[102,4],[146,4],[409,4],[455,4],[504,4],[547,4],[585,4],[620,4],[711,4]]},"374":{"position":[[1192,4],[1266,4]]},"397":{"position":[[73,4]]},"405":{"position":[[602,4]]},"416":{"position":[[83,4]]},"417":{"position":[[299,4]]},"424":{"position":[[25,4]]},"434":{"position":[[36,4]]},"435":{"position":[[47,4]]},"437":{"position":[[154,4],[187,4]]},"438":{"position":[[33,4]]},"440":{"position":[[48,4]]},"442":{"position":[[34,4]]},"446":{"position":[[58,4],[75,4]]},"447":{"position":[[111,4]]},"451":{"position":[[59,4]]},"500":{"position":[[40,4]]},"501":{"position":[[46,4]]},"502":{"position":[[38,4]]},"503":{"position":[[40,4]]},"593":{"position":[[60,4]]},"597":{"position":[[27,4]]},"598":{"position":[[27,4]]},"599":{"position":[[27,4]]},"600":{"position":[[27,4]]},"601":{"position":[[27,4]]},"602":{"position":[[27,4]]},"603":{"position":[[27,4]]},"617":{"position":[[32,4]]},"618":{"position":[[62,4]]},"624":{"position":[[7,4]]},"626":{"position":[[6,4]]},"628":{"position":[[37,4]]},"629":{"position":[[37,4]]},"630":{"position":[[25,4],[31,5],[136,6],[152,8],[300,8],[338,8]]},"644":{"position":[[13,4]]},"646":{"position":[[35,4]]},"648":{"position":[[11,4],[391,5]]},"649":{"position":[[41,4]]},"666":{"position":[[39,4]]},"741":{"position":[[45,5],[67,5],[102,4],[146,4],[409,4],[455,4],[504,4],[547,4],[585,4],[620,4],[711,4]]},"753":{"position":[[1192,4],[1266,4]]},"776":{"position":[[73,4]]},"784":{"position":[[602,4]]},"795":{"position":[[83,4]]},"796":{"position":[[299,4]]},"803":{"position":[[25,4]]},"813":{"position":[[36,4]]},"814":{"position":[[47,4]]},"816":{"position":[[154,4],[187,4]]},"817":{"position":[[33,4]]},"819":{"position":[[48,4]]},"821":{"position":[[34,4]]},"825":{"position":[[58,4],[75,4]]},"826":{"position":[[111,4]]},"830":{"position":[[59,4]]},"864":{"position":[[312,6]]},"900":{"position":[[565,5],[807,5],[886,5],[954,4],[1084,4]]},"988":{"position":[[612,5]]},"989":{"position":[[441,4]]},"1001":{"position":[[124,4]]},"1004":{"position":[[597,4]]},"1064":{"position":[[89,4],[1578,4]]},"1112":{"position":[[196,5]]},"1348":{"position":[[409,4],[441,4],[481,4],[910,4],[1050,4],[1224,4],[2008,4],[2083,4],[2112,4],[2275,4],[2557,4],[2615,4]]},"1349":{"position":[[391,4],[782,4],[818,4]]},"1350":{"position":[[461,4],[493,4],[533,4],[592,4],[626,4],[771,4],[1273,4],[1309,4],[1568,4],[1679,4],[1882,4],[1919,4],[1943,4],[1987,4],[2324,4],[2814,4],[2851,4],[2917,4],[2982,4],[3620,4],[3645,4],[3672,4],[3701,4],[3726,4]]},"1351":{"position":[[389,4],[428,4]]},"1352":{"position":[[461,4],[493,4],[533,4],[592,4],[626,4],[771,4],[1273,4],[1345,4],[1567,4],[1678,4],[1881,4],[1918,4],[1942,4],[1986,4],[2323,4],[2813,4],[2850,4],[2916,4],[2981,4],[3619,4],[3644,4],[3673,4],[3700,4],[3725,4]]},"1353":{"position":[[449,4],[481,4],[521,4],[766,4],[803,4],[836,4],[1302,4]]},"1354":{"position":[[540,4],[570,4],[664,4],[877,4],[1072,4]]},"1355":{"position":[[384,4],[510,4],[1176,4],[1278,4],[1545,4],[1780,4],[2093,4]]},"1358":{"position":[[389,4],[683,4],[830,4],[895,4]]},"1359":{"position":[[385,4],[619,4],[843,4]]},"1360":{"position":[[380,4],[511,4],[612,4],[791,4],[864,4],[1033,4],[1063,4],[1148,4],[1285,4]]},"1361":{"position":[[585,4]]},"1362":{"position":[[506,4],[535,4],[572,4],[753,4],[993,4],[1056,4],[1094,4],[1137,4],[1988,4],[2056,4],[2284,4],[3069,4],[3154,4],[3214,4],[3704,4],[4017,4],[4061,4],[4128,4],[4260,4],[4345,4],[4538,4],[4564,4],[4601,4],[4634,4],[4658,4]]},"1363":{"position":[[513,4],[781,4],[885,4],[932,4],[986,4],[1027,4],[1080,4],[1117,4],[1239,4],[1299,4],[1615,4],[1771,4],[1832,4],[1905,4],[1952,4],[2020,4],[2493,4],[2520,4],[2573,4],[2613,4],[2641,4],[2693,4],[2759,4]]},"1364":{"position":[[488,4],[559,4],[588,4],[625,4],[770,4],[1010,4],[1073,4],[1111,4],[1154,4],[1970,4],[2038,4],[2295,4],[3034,4],[3119,4],[3179,4],[4005,4],[4072,4],[4245,4],[4333,4],[4375,4],[4412,4],[4605,4],[4635,4],[4661,4],[4698,4],[4731,4],[4755,4]]},"1365":{"position":[[622,4]]},"1366":{"position":[[463,4],[796,4]]},"1367":{"position":[[511,4],[739,4],[843,4],[880,4],[927,4],[981,4],[1022,4],[1075,4],[1236,4],[1358,4],[1418,4],[1455,4],[1687,4],[2067,4],[2162,4],[2192,4],[2235,4],[3160,4],[3179,4],[3247,4],[3475,4],[3558,4],[3626,4],[3694,4],[4316,4],[4401,4],[4461,4],[5274,4],[5373,4],[5441,4],[5508,4],[5552,4],[5781,4],[5801,4],[5886,4],[6231,4],[6271,4],[6359,4],[6385,4],[6422,4],[6455,4],[6479,4],[6545,4]]},"1368":{"position":[[615,4],[1129,4],[1366,4]]},"1370":{"position":[[545,4],[573,4]]},"1372":{"position":[[515,4],[743,4],[813,4],[850,4],[897,4],[951,4],[992,4],[1045,4],[1082,4],[1204,4],[1264,4],[1446,4],[1489,4],[1589,4],[1629,4],[1697,4],[1841,4],[1947,4],[2013,4]]},"1373":{"position":[[333,4],[360,4],[503,4],[562,4],[895,4],[1003,4],[1663,4],[2491,4],[2645,4]]},"1377":{"position":[[606,4]]},"1382":{"position":[[398,4],[431,4],[459,4],[943,4],[994,4],[1032,4],[1116,4],[1135,4],[1702,4],[2138,4],[2694,4],[2891,4]]},"1383":{"position":[[351,4],[460,4],[540,4],[719,4],[911,4],[941,4],[1026,4]]},"1384":{"position":[[401,4],[438,4],[466,4],[560,4],[884,4],[1293,4],[1784,4],[1852,4],[2111,4],[2458,4],[2773,4],[3393,4],[3659,4],[3923,4],[3965,4],[4006,4],[4043,4],[4063,4],[4093,4],[4124,4],[4161,4],[4194,4]]},"1387":{"position":[[462,4],[489,4],[516,4],[544,4],[667,4],[963,4],[1372,4],[1863,4],[1931,4],[2161,4],[2740,4],[3591,4],[3789,4],[3825,4],[3910,4],[3930,4],[3987,4],[4018,4],[4055,4],[4088,4]]},"1388":{"position":[[510,4],[543,4],[592,4],[1076,4],[1127,4],[1165,4],[1274,4],[1293,4],[1887,4],[2323,4],[2879,4],[3031,4],[3220,4],[3318,4],[3358,4]]},"1389":{"position":[[598,4],[1098,4],[1193,4],[1319,4],[1380,4],[1919,4],[2169,4],[2273,4],[2295,4],[2327,4],[2665,4],[2938,4],[3223,4],[3266,4],[3475,4],[3504,4],[3532,4],[3569,4],[4246,4],[4312,4],[4336,4],[4368,4],[4394,4]]},"1393":{"position":[[449,4],[649,4],[837,4],[980,4]]},"1395":{"position":[[389,4],[504,4]]},"1397":{"position":[[457,4]]},"1398":{"position":[[941,4]]},"1401":{"position":[[385,4]]},"1403":{"position":[[347,4],[431,4],[511,4],[690,4],[793,4],[936,4],[966,4],[1051,4]]},"1405":{"position":[[331,4],[417,4],[455,4],[547,4],[991,4]]},"1407":{"position":[[341,4],[427,4],[465,4],[574,4],[1018,4]]},"1408":{"position":[[332,4],[363,4],[390,4],[484,4]]},"1409":{"position":[[331,4],[362,4],[389,4],[454,4]]},"1410":{"position":[[329,4],[474,4],[578,4],[670,4],[1165,4],[1223,4],[1388,4]]},"1412":{"position":[[965,4],[1163,4]]},"1413":{"position":[[1111,4],[1309,4],[1398,4],[1800,4],[1849,4]]},"1414":{"position":[[505,4],[700,4]]},"1415":{"position":[[729,4],[781,4],[1379,4],[2147,4],[2344,4]]},"1416":{"position":[[401,4],[603,4],[774,4]]},"1417":{"position":[[573,4]]},"1420":{"position":[[548,4],[738,4]]},"1421":{"position":[[513,4]]},"1423":{"position":[[437,4]]},"1424":{"position":[[351,4],[437,4],[517,4],[660,4],[852,4],[882,4],[907,4]]},"1425":{"position":[[365,4],[511,4],[543,4],[664,4]]},"1426":{"position":[[351,4],[414,4],[654,4],[682,4]]},"1427":{"position":[[352,4],[478,4],[1182,4],[1380,4]]},"1428":{"position":[[351,4],[497,4],[529,4],[646,4]]},"1429":{"position":[[349,4],[439,4],[1416,4],[1601,4],[1780,4],[1869,4],[2399,4],[2448,4]]},"1430":{"position":[[985,4],[1183,4]]},"1431":{"position":[[366,4]]},"1432":{"position":[[357,4],[433,4],[484,4],[639,4],[782,4],[990,4],[1020,4],[1045,4],[1131,4],[1155,4],[1184,4],[1210,4]]},"1433":{"position":[[393,4],[416,4]]},"1439":{"position":[[354,4],[480,4],[1101,4],[1203,4],[1418,4],[1616,4],[1889,4]]},"1440":{"position":[[351,4],[441,4],[1285,4],[1402,4],[1617,4],[1802,4],[1981,4],[2070,4],[2553,4],[2602,4],[2636,4]]},"1446":{"position":[[473,4]]},"1448":{"position":[[431,4]]},"1449":{"position":[[425,4],[643,4]]},"1450":{"position":[[431,4]]},"1451":{"position":[[431,4]]},"1453":{"position":[[408,4],[804,4]]},"1454":{"position":[[413,4],[467,4],[1272,4],[1296,4],[1415,4],[1490,4],[1586,4],[1617,4],[2024,4],[2342,4],[2376,4],[2421,4]]},"1455":{"position":[[706,4],[1065,4]]},"1458":{"position":[[352,4],[658,4],[808,4],[848,4]]},"1459":{"position":[[470,4],[490,4]]},"1460":{"position":[[444,4]]},"1461":{"position":[[524,4],[692,4],[725,4],[758,4],[834,4]]},"1462":{"position":[[459,4],[550,4],[583,4],[611,4],[816,4],[1096,4],[1274,4],[1325,4],[1394,4],[1510,4],[1556,4],[2158,4],[2587,4],[2923,4],[3555,4],[3590,4],[3888,4],[4081,4],[4101,4],[4119,4],[4217,4]]},"1465":{"position":[[673,4],[706,4],[1137,4],[1361,4]]},"1466":{"position":[[614,4]]},"1467":{"position":[[650,4],[678,4],[883,4],[1163,4],[1341,4],[1392,4],[1461,4],[1530,4],[1646,4],[1692,4],[2333,4],[2762,4],[3127,4],[3824,4],[3859,4],[4086,4],[4323,4],[4601,4],[4659,4],[4677,4],[4938,4]]},"1470":{"position":[[385,4],[475,4],[1336,4],[1488,4],[1845,4],[2123,4],[2302,4],[2592,4],[3075,4],[3124,4],[3158,4],[3210,4]]},"1471":{"position":[[482,4],[515,4],[543,4],[656,4],[864,4],[1027,4],[1510,4]]},"1472":{"position":[[559,4],[936,4],[1124,4],[1363,4],[1550,4]]},"1473":{"position":[[546,4],[574,4],[687,4],[895,4],[1008,4],[1079,4],[1560,4],[1728,4]]},"1474":{"position":[[961,4],[1159,4]]},"1475":{"position":[[1107,4],[1305,4],[1394,4],[1796,4],[1845,4]]},"1477":{"position":[[375,4]]},"1478":{"position":[[719,4],[938,4]]},"1480":{"position":[[527,4],[599,4],[797,4],[954,4]]},"1481":{"position":[[536,4],[642,4],[879,4],[1212,4],[1254,4],[1306,4],[1369,4]]},"1486":{"position":[[667,4]]}},"keywords":{}}],["bool>>",{"_index":4899,"title":{},"content":{"988":{"position":[[741,13]]}},"keywords":{}}],["bool(""",{"_index":3074,"title":{},"content":{"630":{"position":[[375,18]]}},"keywords":{}}],["bool("1"",{"_index":3075,"title":{},"content":{"630":{"position":[[403,19]]}},"keywords":{}}],["bool((1",{"_index":3073,"title":{},"content":{"630":{"position":[[356,10]]}},"keywords":{}}],["bool(0",{"_index":3071,"title":{},"content":{"630":{"position":[[283,7]]}},"keywords":{}}],["bool(1",{"_index":3070,"title":{},"content":{"630":{"position":[[267,7]]}},"keywords":{}}],["bool([1",{"_index":3065,"title":{},"content":{"630":{"position":[[170,9]]}},"keywords":{}}],["bool(bool",{"_index":3069,"title":{},"content":{"630":{"position":[[248,10]]},"898":{"position":[[2153,11]]}},"keywords":{}}],["bool(fals",{"_index":3067,"title":{},"content":{"630":{"position":[[207,11]]}},"keywords":{}}],["bool(non",{"_index":3068,"title":{},"content":{"630":{"position":[[228,10]]}},"keywords":{}}],["bool(tru",{"_index":3066,"title":{},"content":{"630":{"position":[[188,10]]}},"keywords":{}}],["bool(x",{"_index":3063,"title":{},"content":{"630":{"position":[[4,6]]}},"keywords":{}}],["bool({1:2",{"_index":3072,"title":{},"content":{"630":{"position":[[318,11]]}},"keywords":{}}],["bool.th",{"_index":4376,"title":{},"content":{"900":{"position":[[1135,8]]}},"keywords":{}}],["bool_arg",{"_index":3858,"title":{},"content":{"840":{"position":[[779,8]]},"850":{"position":[[609,8]]}},"keywords":{}}],["boolean",{"_index":1274,"title":{},"content":{"99":{"position":[[778,9]]},"127":{"position":[[81,7],[120,8]]},"231":{"position":[[778,9]]},"250":{"position":[[81,7],[120,8]]},"294":{"position":[[689,7]]},"318":{"position":[[237,7]]},"416":{"position":[[190,7]]},"417":{"position":[[419,7]]},"617":{"position":[[349,8]]},"795":{"position":[[190,7]]},"796":{"position":[[419,7]]},"1086":{"position":[[112,7]]},"1351":{"position":[[916,7],[3259,7],[4082,7]]}},"keywords":{}}],["boolintstrenumdep",{"_index":5194,"title":{},"content":{"1044":{"position":[[2181,17]]}},"keywords":{}}],["boolvalues.th",{"_index":4371,"title":{},"content":{"900":{"position":[[855,14]]}},"keywords":{}}],["boost",{"_index":5126,"title":{},"content":{"1037":{"position":[[269,5]]}},"keywords":{}}],["boot",{"_index":7579,"title":{},"content":{"1397":{"position":[[2877,4],[3119,4]]}},"keywords":{}}],["bootstrap",{"_index":415,"title":{"13":{"position":[[0,13]]}},"content":{"13":{"position":[[0,13]]}},"keywords":{}}],["borrow",{"_index":662,"title":{},"content":{"22":{"position":[[924,7]]},"1373":{"position":[[8517,7]]}},"keywords":{}}],["both",{"_index":260,"title":{},"content":{"9":{"position":[[1742,4]]},"11":{"position":[[554,4]]},"23":{"position":[[2987,5]]},"94":{"position":[[2058,4],[2070,4]]},"226":{"position":[[2058,4],[2070,4]]},"237":{"position":[[514,4]]},"298":{"position":[[2118,4]]},"362":{"position":[[1116,4]]},"363":{"position":[[206,4]]},"368":{"position":[[2261,4]]},"389":{"position":[[689,4]]},"594":{"position":[[252,4]]},"704":{"position":[[55,4]]},"715":{"position":[[819,4]]},"741":{"position":[[1116,4]]},"742":{"position":[[206,4]]},"747":{"position":[[2261,4]]},"768":{"position":[[689,4]]},"870":{"position":[[60,4],[84,4],[161,4]]},"892":{"position":[[203,4]]},"898":{"position":[[2446,4]]},"919":{"position":[[2450,4]]},"920":{"position":[[178,4]]},"939":{"position":[[1566,4]]},"942":{"position":[[1211,4]]},"972":{"position":[[236,4]]},"1009":{"position":[[185,4]]},"1044":{"position":[[167,4]]},"1048":{"position":[[173,4]]},"1050":{"position":[[717,4]]},"1070":{"position":[[754,4]]},"1105":{"position":[[215,4],[1404,4]]},"1107":{"position":[[186,5]]},"1112":{"position":[[1519,4]]},"1114":{"position":[[777,4]]},"1140":{"position":[[508,4]]},"1188":{"position":[[561,4]]},"1193":{"position":[[660,5]]},"1226":{"position":[[1757,4]]},"1237":{"position":[[1927,4]]},"1272":{"position":[[100,4]]},"1286":{"position":[[114,4]]},"1303":{"position":[[100,4]]},"1331":{"position":[[100,4]]},"1351":{"position":[[3640,4],[3795,4]]},"1362":{"position":[[9927,4],[13406,4]]},"1364":{"position":[[11041,4],[14106,4]]},"1367":{"position":[[10844,4],[13314,4]]},"1382":{"position":[[6653,4]]},"1384":{"position":[[13007,4]]},"1388":{"position":[[7522,4]]},"1393":{"position":[[2673,5]]},"1395":{"position":[[3408,4]]},"1427":{"position":[[3857,4],[3938,6],[7931,4]]},"1439":{"position":[[8755,4]]},"1448":{"position":[[957,4]]},"1471":{"position":[[4504,5]]},"1472":{"position":[[5088,5]]},"1473":{"position":[[4825,5]]}},"keywords":{}}],["bottom",{"_index":3623,"title":{"703":{"position":[[12,6]]}},"content":{"703":{"position":[[59,7]]}},"keywords":{}}],["bound",{"_index":873,"title":{},"content":{"45":{"position":[[147,5]]},"52":{"position":[[228,6]]},"86":{"position":[[270,5]]},"89":{"position":[[180,5]]},"92":{"position":[[846,5]]},"96":{"position":[[264,5]]},"123":{"position":[[111,5]]},"192":{"position":[[147,5]]},"199":{"position":[[228,6]]},"218":{"position":[[270,5]]},"221":{"position":[[180,5]]},"224":{"position":[[846,5]]},"228":{"position":[[264,5]]},"532":{"position":[[111,5]]},"722":{"position":[[1199,6]]},"724":{"position":[[209,5]]},"834":{"position":[[178,5]]},"1040":{"position":[[948,5]]},"1044":{"position":[[2551,5]]},"1105":{"position":[[762,5],[1150,5]]}},"keywords":{}}],["bound/build",{"_index":4726,"title":{},"content":{"950":{"position":[[92,15]]}},"keywords":{}}],["boundari",{"_index":3398,"title":{"680":{"position":[[8,10]]}},"content":{"919":{"position":[[889,11],[1070,11]]},"1093":{"position":[[366,11]]}},"keywords":{}}],["box",{"_index":4607,"title":{},"content":{"937":{"position":[[3843,3],[4637,4]]}},"keywords":{}}],["brace",{"_index":2805,"title":{},"content":{"595":{"position":[[263,6],[317,6],[343,5],[376,5],[440,6]]},"1383":{"position":[[5935,6]]}},"keywords":{}}],["bracket",{"_index":2804,"title":{},"content":{"595":{"position":[[154,9]]},"1362":{"position":[[7674,9],[9690,9]]},"1364":{"position":[[7913,9],[10804,9]]},"1367":{"position":[[9778,9]]}},"keywords":{}}],["brainer",{"_index":3682,"title":{},"content":{"706":{"position":[[2267,8]]}},"keywords":{}}],["branch",{"_index":3536,"title":{},"content":{"693":{"position":[[2697,6]]},"890":{"position":[[1408,9]]},"1096":{"position":[[397,6]]},"1235":{"position":[[449,8]]}},"keywords":{}}],["breadth",{"_index":5602,"title":{},"content":{"1088":{"position":[[702,7]]}},"keywords":{}}],["break",{"_index":1055,"title":{},"content":{"85":{"position":[[438,5]]},"217":{"position":[[438,5]]},"631":{"position":[[59,6]]},"688":{"position":[[652,7],[1050,7]]},"1026":{"position":[[1399,5]]},"1167":{"position":[[312,5]]},"1393":{"position":[[5086,5]]}},"keywords":{}}],["breakag",{"_index":4468,"title":{},"content":{"912":{"position":[[143,10]]},"1232":{"position":[[3961,9]]}},"keywords":{}}],["breakage/perf",{"_index":6158,"title":{},"content":{"1232":{"position":[[3885,13]]}},"keywords":{}}],["breakdown",{"_index":384,"title":{},"content":{"11":{"position":[[605,10]]},"1249":{"position":[[33,9]]}},"keywords":{}}],["breakpoint",{"_index":3076,"title":{"631":{"position":[[0,11]]}},"content":{"631":{"position":[[4,12]]}},"keywords":{}}],["breviti",{"_index":3382,"title":{},"content":{"676":{"position":[[90,7]]},"700":{"position":[[89,7]]}},"keywords":{}}],["bridg",{"_index":8133,"title":{},"content":{"1448":{"position":[[2947,10]]}},"keywords":{}}],["bridge.c",{"_index":8137,"title":{},"content":{"1448":{"position":[[3127,11]]}},"keywords":{}}],["bridging_head",{"_index":6698,"title":{},"content":{"1362":{"position":[[669,16]]},"1364":{"position":[[686,16]]},"1367":{"position":[[1603,16]]},"1384":{"position":[[476,16]]},"1387":{"position":[[583,16]]},"1480":{"position":[[328,16]]}},"keywords":{}}],["briefli",{"_index":3780,"title":{},"content":{"715":{"position":[[455,8]]}},"keywords":{}}],["brighter",{"_index":7834,"title":{},"content":{"1415":{"position":[[5483,11]]}},"keywords":{}}],["bring",{"_index":412,"title":{},"content":{"12":{"position":[[544,5]]},"977":{"position":[[569,5]]}},"keywords":{}}],["broken",{"_index":3891,"title":{},"content":{"846":{"position":[[1463,6]]},"904":{"position":[[1308,6]]},"907":{"position":[[28,6]]},"1114":{"position":[[941,8]]}},"keywords":{}}],["broker",{"_index":5334,"title":{},"content":{"1054":{"position":[[97,6],[136,6],[481,7],[1618,7]]}},"keywords":{}}],["bt",{"_index":6097,"title":{},"content":{"1231":{"position":[[361,3]]}},"keywords":{}}],["buck",{"_index":30,"title":{"570":{"position":[[0,4]]},"692":{"position":[[25,4]]},"879":{"position":[[0,4]]},"925":{"position":[[0,4]]},"928":{"position":[[23,4]]},"952":{"position":[[0,4]]},"1020":{"position":[[0,4]]},"1065":{"position":[[0,4]]},"1126":{"position":[[0,4]]},"1136":{"position":[[0,4]]},"1138":{"position":[[0,4]]},"1140":{"position":[[0,4]]},"1142":{"position":[[0,4]]},"1144":{"position":[[0,4]]},"1146":{"position":[[0,4]]},"1148":{"position":[[0,4]]},"1150":{"position":[[0,4]]},"1152":{"position":[[0,4]]},"1154":{"position":[[0,4]]},"1155":{"position":[[0,4]]},"1156":{"position":[[0,4]]},"1157":{"position":[[0,4]]},"1158":{"position":[[0,4]]},"1159":{"position":[[0,4]]},"1161":{"position":[[0,4]]},"1163":{"position":[[0,4]]},"1165":{"position":[[0,4]]},"1167":{"position":[[0,4]]},"1169":{"position":[[0,4]]},"1171":{"position":[[0,4]]},"1172":{"position":[[0,4]]},"1173":{"position":[[0,4]]},"1174":{"position":[[0,4]]},"1175":{"position":[[0,4]]},"1176":{"position":[[0,4]]},"1177":{"position":[[0,4]]},"1178":{"position":[[0,4]]},"1179":{"position":[[0,4]]},"1180":{"position":[[0,4]]},"1181":{"position":[[0,4]]},"1182":{"position":[[0,4]]},"1183":{"position":[[0,4]]},"1185":{"position":[[0,4]]},"1186":{"position":[[0,4]]},"1187":{"position":[[0,4]]},"1188":{"position":[[0,4]]},"1190":{"position":[[0,4]]},"1191":{"position":[[0,4]]},"1192":{"position":[[0,4]]},"1193":{"position":[[0,4]]},"1194":{"position":[[0,4]]},"1195":{"position":[[0,4]]},"1196":{"position":[[0,4]]},"1197":{"position":[[0,4]]},"1198":{"position":[[0,4]]},"1199":{"position":[[0,4]]},"1200":{"position":[[0,4]]},"1201":{"position":[[0,4]]},"1202":{"position":[[0,4]]},"1203":{"position":[[0,4]]},"1204":{"position":[[0,4]]},"1205":{"position":[[0,4]]},"1206":{"position":[[0,4]]},"1207":{"position":[[0,4]]},"1209":{"position":[[0,4]]},"1211":{"position":[[0,4]]},"1213":{"position":[[0,4]]},"1215":{"position":[[0,4]]},"1217":{"position":[[0,4]]},"1219":{"position":[[0,4]]},"1221":{"position":[[0,4]]},"1222":{"position":[[0,4]]},"1223":{"position":[[0,4]]},"1224":{"position":[[0,4]]},"1226":{"position":[[0,4]]},"1228":{"position":[[0,4]]},"1235":{"position":[[0,4]]},"1237":{"position":[[0,4]]}},"content":{"4":{"position":[[10,4],[361,4],[424,4]]},"5":{"position":[[140,4]]},"9":{"position":[[360,4],[397,4],[612,4],[822,4]]},"10":{"position":[[975,4],[1238,4]]},"11":{"position":[[202,4]]},"13":{"position":[[32,4]]},"17":{"position":[[1467,4]]},"18":{"position":[[604,4],[617,4],[1607,4],[1644,4]]},"20":{"position":[[211,4]]},"22":{"position":[[489,4],[582,4],[1188,4],[1828,4]]},"243":{"position":[[144,4],[223,4],[321,4],[463,4]]},"368":{"position":[[2150,4],[2321,4]]},"414":{"position":[[86,4]]},"415":{"position":[[75,4],[144,4],[253,4]]},"418":{"position":[[193,4],[625,4],[665,4]]},"423":{"position":[[49,4]]},"425":{"position":[[84,4]]},"429":{"position":[[121,4]]},"430":{"position":[[48,4]]},"433":{"position":[[209,4]]},"570":{"position":[[0,4],[59,4]]},"584":{"position":[[572,4]]},"587":{"position":[[186,4],[568,4]]},"622":{"position":[[51,5],[526,4],[957,4]]},"680":{"position":[[12,4],[102,4],[168,4],[236,4],[322,4],[663,4],[742,4],[872,4]]},"688":{"position":[[1417,4]]},"690":{"position":[[81,4]]},"692":{"position":[[4,4]]},"693":{"position":[[1312,4],[1325,4],[1518,4],[1735,4],[1804,4],[1837,5],[5536,4],[5606,4],[5668,4],[7399,4],[8392,4],[8867,4]]},"699":{"position":[[77,4]]},"700":{"position":[[0,4],[128,4]]},"715":{"position":[[266,4]]},"717":{"position":[[37,4]]},"724":{"position":[[1110,4],[1693,4]]},"747":{"position":[[2150,4],[2321,4]]},"793":{"position":[[86,4]]},"794":{"position":[[75,4],[144,4],[253,4]]},"797":{"position":[[193,4],[625,4],[665,4]]},"802":{"position":[[49,4]]},"804":{"position":[[84,4]]},"808":{"position":[[121,4]]},"809":{"position":[[48,4]]},"812":{"position":[[209,4]]},"840":{"position":[[1758,4]]},"879":{"position":[[0,4],[24,4]]},"896":{"position":[[230,4],[374,4],[594,4],[738,4]]},"916":{"position":[[445,4]]},"919":{"position":[[0,4],[597,4],[843,4],[1702,4]]},"926":{"position":[[11,4],[93,4],[165,4],[192,4]]},"937":{"position":[[226,4],[1121,4],[1404,4],[1468,4],[3276,4],[3638,4],[3802,4],[4444,4],[4609,4],[4877,5]]},"938":{"position":[[49,4],[962,4]]},"939":{"position":[[63,4]]},"943":{"position":[[281,4],[918,4],[2473,4]]},"944":{"position":[[804,4]]},"945":{"position":[[551,4],[665,4]]},"954":{"position":[[29,4],[373,4]]},"955":{"position":[[1068,4],[1209,4],[1265,4]]},"958":{"position":[[39,4],[200,4],[254,4]]},"1000":{"position":[[18,4],[614,4],[846,4]]},"1001":{"position":[[705,4],[771,4],[818,4],[854,4],[946,4],[1085,4],[1100,4],[1140,4],[1560,4]]},"1011":{"position":[[0,4]]},"1012":{"position":[[300,4]]},"1013":{"position":[[172,4]]},"1018":{"position":[[344,4]]},"1019":{"position":[[506,5]]},"1020":{"position":[[24,4]]},"1021":{"position":[[85,4],[103,4]]},"1048":{"position":[[255,4]]},"1056":{"position":[[55,4]]},"1057":{"position":[[168,4]]},"1058":{"position":[[115,4]]},"1064":{"position":[[803,4],[869,4],[918,4],[1046,4]]},"1065":{"position":[[100,4]]},"1078":{"position":[[272,4]]},"1079":{"position":[[159,4],[246,4],[970,4]]},"1103":{"position":[[1782,4],[2056,4]]},"1112":{"position":[[45,4]]},"1136":{"position":[[6083,4]]},"1138":{"position":[[4082,4],[4256,4],[4372,4],[4617,4],[4800,4],[4969,4],[9745,4]]},"1140":{"position":[[3571,4],[3745,4],[3861,4],[4106,4],[4289,4],[4458,4],[8671,4]]},"1142":{"position":[[244,4],[397,5],[593,5],[630,4],[4115,4]]},"1144":{"position":[[443,4]]},"1146":{"position":[[219,6],[341,6],[4055,4]]},"1148":{"position":[[7149,4],[7173,6],[7300,6],[7646,4]]},"1150":{"position":[[678,4]]},"1152":{"position":[[376,4]]},"1154":{"position":[[531,4]]},"1155":{"position":[[4151,4]]},"1156":{"position":[[3729,4]]},"1157":{"position":[[314,4]]},"1158":{"position":[[308,4]]},"1159":{"position":[[308,4]]},"1161":{"position":[[1303,4]]},"1163":{"position":[[9,4],[689,4]]},"1165":{"position":[[518,4]]},"1167":{"position":[[4575,4],[4749,4],[4865,4],[5110,4],[5293,4],[5462,4],[9675,4]]},"1169":{"position":[[2783,4]]},"1171":{"position":[[348,4],[1024,4]]},"1172":{"position":[[2409,4]]},"1173":{"position":[[1096,4]]},"1174":{"position":[[524,4]]},"1175":{"position":[[520,4]]},"1176":{"position":[[5,4],[689,4]]},"1177":{"position":[[610,4]]},"1178":{"position":[[927,4]]},"1179":{"position":[[724,4]]},"1180":{"position":[[995,4]]},"1181":{"position":[[1515,4]]},"1182":{"position":[[558,4]]},"1183":{"position":[[513,4]]},"1185":{"position":[[129,6],[358,4]]},"1186":{"position":[[5319,4]]},"1187":{"position":[[8,6],[5332,4]]},"1188":{"position":[[3624,4],[3798,4],[3914,4],[4159,4],[4342,4],[4511,4],[10058,4]]},"1190":{"position":[[410,4],[701,4],[1382,4],[1689,4]]},"1191":{"position":[[3919,4]]},"1192":{"position":[[4094,4]]},"1193":{"position":[[0,4],[4146,4]]},"1194":{"position":[[3786,4]]},"1195":{"position":[[3764,4]]},"1196":{"position":[[3574,4]]},"1197":{"position":[[4557,4]]},"1198":{"position":[[4567,4]]},"1199":{"position":[[0,4],[4595,4]]},"1200":{"position":[[4462,4]]},"1201":{"position":[[3722,4]]},"1202":{"position":[[466,4],[1145,4],[4864,4],[5543,4],[9261,4]]},"1203":{"position":[[3956,4]]},"1204":{"position":[[3800,4],[4479,4],[4702,4],[5381,4],[5632,4],[6311,4],[6534,4],[7213,4],[7520,4],[8199,4],[8474,4],[9153,4],[9421,4],[10100,4],[10351,4]]},"1205":{"position":[[351,4],[402,5],[5129,4]]},"1206":{"position":[[11,4],[3661,4],[3712,5],[3828,4]]},"1207":{"position":[[3757,4]]},"1209":{"position":[[5105,4]]},"1211":{"position":[[5,4],[429,4]]},"1213":{"position":[[200,4]]},"1215":{"position":[[284,4]]},"1217":{"position":[[3316,4],[3490,4],[3606,4],[3851,4],[4034,4],[4203,4],[8416,4]]},"1219":{"position":[[3671,4]]},"1221":{"position":[[403,4]]},"1222":{"position":[[3542,4]]},"1223":{"position":[[3552,4]]},"1224":{"position":[[121,4],[2985,4]]},"1226":{"position":[[8884,4]]},"1228":{"position":[[5397,4],[5571,4],[5687,4],[5932,4],[6115,4],[6284,4],[10497,4]]},"1235":{"position":[[6365,4]]},"1237":{"position":[[9054,4]]},"1247":{"position":[[258,4]]},"1260":{"position":[[827,4]]},"1291":{"position":[[827,4]]},"1319":{"position":[[827,4]]},"1351":{"position":[[4705,5],[4856,7],[5098,4],[5160,4]]},"1354":{"position":[[2622,4],[2792,4]]},"1355":{"position":[[6055,4],[6445,4],[7068,4]]},"1360":{"position":[[1460,4],[1499,4],[1515,4],[3235,4],[5339,4]]},"1362":{"position":[[13369,4],[13544,4]]},"1363":{"position":[[4513,4],[5697,4],[6024,5]]},"1364":{"position":[[14069,4],[14244,4]]},"1367":{"position":[[6759,4],[10437,4],[10607,4],[13277,4]]},"1373":{"position":[[5826,4],[5977,4],[6117,4],[7685,4],[8445,4]]},"1382":{"position":[[10461,4],[11954,4],[12017,4]]},"1383":{"position":[[1255,4],[1424,4],[2807,4],[5723,4],[5787,4],[7342,4],[7914,4],[8061,4],[8080,4],[8803,4],[8865,4],[8982,4]]},"1384":{"position":[[17535,4],[19894,4],[20110,4],[20123,5],[20136,4],[20208,4],[20428,4],[20809,4],[20914,4]]},"1385":{"position":[[3139,4]]},"1387":{"position":[[5359,4],[5418,4],[6619,4]]},"1388":{"position":[[5001,4],[6411,4],[8954,4]]},"1392":{"position":[[1892,4],[2066,4]]},"1399":{"position":[[1526,5],[1605,4]]},"1403":{"position":[[2650,4],[5120,4],[6442,4],[7014,4],[7161,4],[7180,4],[7538,4],[8396,4],[8449,4]]},"1405":{"position":[[3170,4],[3301,4],[3441,4]]},"1407":{"position":[[3591,4],[3722,4],[3862,4]]},"1408":{"position":[[2190,4],[2341,4],[2481,4]]},"1410":{"position":[[3376,4],[3546,4],[4172,4],[4355,4],[4709,4],[4849,4]]},"1422":{"position":[[2337,4],[2479,4]]},"1423":{"position":[[2007,4],[2148,4]]},"1427":{"position":[[4004,4],[5228,4],[5646,4],[6267,4]]},"1429":{"position":[[4153,4],[4668,4],[4838,4],[5634,4]]},"1439":{"position":[[5058,4],[6821,4],[7555,4]]},"1440":{"position":[[4146,4],[4750,4],[4920,4],[5626,4]]},"1444":{"position":[[1766,4]]},"1446":{"position":[[2322,4],[2744,4]]},"1448":{"position":[[2727,4]]},"1449":{"position":[[2661,4]]},"1454":{"position":[[7551,4]]},"1457":{"position":[[1777,4]]},"1458":{"position":[[1057,5]]},"1461":{"position":[[2636,4],[3076,4]]},"1462":{"position":[[5583,4],[5642,4],[6123,4],[8941,4],[8960,4]]},"1465":{"position":[[2513,4],[2572,4],[3095,4],[4297,4]]},"1467":{"position":[[6078,4],[6137,4],[6764,4],[7235,4],[8498,4],[8715,4]]},"1468":{"position":[[1513,4]]},"1469":{"position":[[1803,4],[1989,4]]},"1470":{"position":[[4695,5]]},"1471":{"position":[[5385,4],[5620,4]]},"1472":{"position":[[6271,4],[6506,4]]},"1473":{"position":[[5791,4]]},"1477":{"position":[[2236,5],[2402,4],[2570,4],[3154,4]]},"1478":{"position":[[3388,4]]},"1482":{"position":[[1497,4],[1628,4],[2360,5],[2691,4],[3004,4]]},"1485":{"position":[[3326,4]]},"1486":{"position":[[888,4],[2150,4],[2257,4],[2410,4],[2656,4],[2764,4],[3154,4],[3610,4],[3657,4],[3743,4],[3976,4],[4206,4],[4680,4],[4795,4],[4954,4],[5095,4]]},"1487":{"position":[[1797,4]]}},"keywords":{}}],["buck'",{"_index":1742,"title":{},"content":{"315":{"position":[[127,6]]},"572":{"position":[[122,6],[188,6]]},"574":{"position":[[207,6]]},"937":{"position":[[1009,6],[2908,6],[2927,6]]},"940":{"position":[[939,6]]},"944":{"position":[[1842,6]]},"1374":{"position":[[1785,6]]},"1383":{"position":[[8338,6]]}},"keywords":{}}],["buck'sselect",{"_index":4640,"title":{},"content":{"939":{"position":[[1346,14]]}},"keywords":{}}],["buck.error",{"_index":6064,"title":{},"content":{"1226":{"position":[[3889,10]]},"1237":{"position":[[4059,10]]}},"keywords":{}}],["buck.target_configur",{"_index":3499,"title":{},"content":{"690":{"position":[[2837,25]]}},"keywords":{}}],["buck/platform010/build/llvm",{"_index":4312,"title":{},"content":{"896":{"position":[[181,27],[545,27]]}},"keywords":{}}],["buck1",{"_index":164,"title":{"8":{"position":[[26,5]]},"701":{"position":[[0,5]]},"703":{"position":[[101,5]]}},"content":{"9":{"position":[[210,6],[591,6],[1094,5],[1244,6],[1937,5],[2000,5],[2356,6],[2651,6],[2690,5],[2909,6]]},"10":{"position":[[77,6],[292,6],[393,6],[670,6],[895,6],[1108,6]]},"12":{"position":[[358,5]]},"22":{"position":[[706,5],[864,5],[1056,5]]},"23":{"position":[[38,6],[202,5],[482,5],[698,6],[3461,6],[3530,6]]},"374":{"position":[[367,5]]},"436":{"position":[[102,6]]},"702":{"position":[[58,5],[75,5]]},"703":{"position":[[22,5],[155,5]]},"704":{"position":[[296,6],[356,5],[514,5],[689,5],[764,5],[843,5],[973,5],[1107,5],[1146,5],[1226,5]]},"705":{"position":[[431,6],[638,5],[840,5]]},"706":{"position":[[62,5],[119,5],[519,6],[1656,5],[1887,5],[2188,6]]},"753":{"position":[[367,5]]},"815":{"position":[[102,6]]},"914":{"position":[[3,5]]},"995":{"position":[[620,5]]},"1102":{"position":[[183,5]]},"1107":{"position":[[130,5],[228,5],[342,6]]},"1108":{"position":[[31,6]]},"1112":{"position":[[665,5],[1407,5],[1472,5]]},"1113":{"position":[[221,5]]},"1138":{"position":[[2074,5]]},"1140":{"position":[[1563,5]]},"1167":{"position":[[394,5],[542,5],[691,5],[870,5],[1044,5],[1232,5],[1411,5],[1575,5],[1745,5],[1892,5],[2567,5]]},"1188":{"position":[[1616,5]]},"1190":{"position":[[285,6]]},"1192":{"position":[[122,6]]},"1217":{"position":[[1308,5]]},"1228":{"position":[[3389,5]]},"1233":{"position":[[294,6]]},"1240":{"position":[[463,6]]},"1241":{"position":[[242,6]]},"1272":{"position":[[150,5]]},"1303":{"position":[[150,5]]},"1331":{"position":[[150,5]]}},"keywords":{}}],["buck1."",{"_index":315,"title":{},"content":{"10":{"position":[[157,12]]}},"keywords":{}}],["buck1’",{"_index":3643,"title":{},"content":{"705":{"position":[[49,7]]},"706":{"position":[[1545,7]]}},"keywords":{}}],["buck2",{"_index":1,"title":{"1":{"position":[[0,5]]},"4":{"position":[[28,6]]},"5":{"position":[[24,6]]},"6":{"position":[[22,6]]},"7":{"position":[[24,6]]},"13":{"position":[[14,5]]},"15":{"position":[[11,6]]},"21":{"position":[[4,5]]},"22":{"position":[[9,5]]},"23":{"position":[[23,7]]},"24":{"position":[[8,7]]},"572":{"position":[[22,5]]},"583":{"position":[[14,5]]},"696":{"position":[[9,5]]},"701":{"position":[[9,5]]},"703":{"position":[[111,6]]},"713":{"position":[[0,5]]},"869":{"position":[[0,5]]},"870":{"position":[[27,5]]},"893":{"position":[[22,5]]},"918":{"position":[[0,5]]},"1079":{"position":[[0,5]]},"1115":{"position":[[0,5]]},"1128":{"position":[[0,5]]},"1130":{"position":[[41,5]]},"1229":{"position":[[7,5]]},"1241":{"position":[[7,5]]},"1242":{"position":[[26,5]]}},"content":{"2":{"position":[[87,6]]},"4":{"position":[[249,5],[513,5]]},"5":{"position":[[12,5],[92,5],[298,5],[383,5],[421,5],[448,5]]},"6":{"position":[[51,5],[142,5],[367,6]]},"7":{"position":[[50,6],[313,6]]},"9":{"position":[[259,5],[463,5],[535,5],[704,6],[943,5],[1313,5],[1643,6],[1833,6],[2125,5],[2227,6],[2609,6],[2664,5],[2883,5]]},"10":{"position":[[43,5],[114,5],[233,5],[489,6],[569,5],[776,6],[1080,5]]},"11":{"position":[[31,5],[107,5],[228,6],[352,5],[501,5],[641,6]]},"12":{"position":[[111,5],[550,5]]},"13":{"position":[[14,5],[411,6],[481,5],[492,6],[499,5],[511,8]]},"15":{"position":[[18,5],[532,5],[566,5],[783,5],[828,6]]},"17":{"position":[[280,5],[415,5],[513,5],[545,5],[606,5],[674,5],[767,5],[1086,5],[1172,5],[1226,5],[1310,5]]},"18":{"position":[[187,5],[386,5],[522,5],[1731,5],[1785,5],[1818,5],[2072,5],[2247,5]]},"19":{"position":[[35,5]]},"20":{"position":[[14,5],[201,6]]},"22":{"position":[[810,5],[1066,5]]},"23":{"position":[[0,5],[175,5],[648,5],[801,5],[1322,5],[2561,5],[2872,5],[3084,5],[3424,5]]},"24":{"position":[[40,6],[183,5],[482,5],[1168,5]]},"41":{"position":[[578,5]]},"94":{"position":[[1706,5],[2279,5],[2450,5]]},"174":{"position":[[578,5]]},"226":{"position":[[1706,5],[2279,5],[2450,5]]},"305":{"position":[[210,5]]},"346":{"position":[[216,5]]},"347":{"position":[[314,5]]},"368":{"position":[[2642,5],[2870,5]]},"446":{"position":[[260,5]]},"570":{"position":[[9,5],[140,5],[447,5],[580,5],[602,5],[624,5],[667,5]]},"572":{"position":[[77,5],[219,5]]},"574":{"position":[[67,5]]},"575":{"position":[[75,5],[154,5],[470,5]]},"577":{"position":[[88,5]]},"581":{"position":[[80,5],[525,5],[657,5],[888,5],[990,5]]},"582":{"position":[[46,5],[112,5],[228,5]]},"583":{"position":[[57,5]]},"584":{"position":[[624,5],[677,5],[1220,5]]},"586":{"position":[[174,5],[192,5]]},"587":{"position":[[36,5],[51,5],[630,5]]},"622":{"position":[[133,5]]},"675":{"position":[[115,5],[130,5],[249,5],[303,5],[369,5],[520,5],[664,5],[838,5],[1035,5]]},"676":{"position":[[0,5],[129,5]]},"678":{"position":[[0,5],[171,5]]},"680":{"position":[[3,6]]},"682":{"position":[[0,5],[133,5]]},"683":{"position":[[364,6]]},"684":{"position":[[74,5]]},"685":{"position":[[9,5],[153,5],[318,5]]},"689":{"position":[[102,5],[171,5],[217,5]]},"690":{"position":[[682,5],[1659,5]]},"692":{"position":[[37,5],[52,5],[206,6]]},"693":{"position":[[126,5],[785,5],[1431,5],[1504,5],[2002,5],[2183,5],[2201,5],[2424,5],[4109,5],[4736,5],[5057,5],[5202,6],[5530,5],[5766,5],[5952,5],[5972,5],[6050,5],[6296,5],[6960,5],[7359,5],[7494,5],[7871,5],[8075,5],[8316,5],[9079,5],[9095,5],[9314,5],[9532,5],[9662,5],[10219,5]]},"695":{"position":[[324,5],[673,5],[760,5]]},"696":{"position":[[0,5]]},"697":{"position":[[58,5]]},"700":{"position":[[179,5]]},"702":{"position":[[68,6]]},"703":{"position":[[48,5],[182,6]]},"704":{"position":[[1500,6],[1531,5],[1571,5],[1819,5],[1896,5],[1994,5],[2117,5],[2153,5],[2435,5],[2561,5]]},"705":{"position":[[68,5],[479,6],[570,5],[606,5],[1010,5]]},"706":{"position":[[52,5],[162,5],[686,6],[1187,6],[1748,5],[1962,5],[2488,6]]},"713":{"position":[[0,5]]},"715":{"position":[[0,5],[142,5],[171,5],[1266,5],[1606,5],[1670,5]]},"717":{"position":[[91,5],[507,5]]},"718":{"position":[[7,5],[87,5],[670,5]]},"720":{"position":[[490,5]]},"722":{"position":[[23,5],[501,5],[1135,5]]},"724":{"position":[[19,5],[282,5],[450,5],[566,5],[874,5],[1027,5],[1310,5],[1358,5]]},"725":{"position":[[52,5],[105,5]]},"747":{"position":[[2642,5],[2870,5]]},"825":{"position":[[260,5]]},"832":{"position":[[303,5]]},"833":{"position":[[45,5],[205,5]]},"834":{"position":[[402,5]]},"840":{"position":[[730,5]]},"841":{"position":[[34,5],[49,5],[356,5],[432,5],[483,5]]},"846":{"position":[[0,5],[79,6],[116,6],[152,6],[754,5],[1874,5]]},"850":{"position":[[571,5]]},"860":{"position":[[12,5]]},"864":{"position":[[1642,5]]},"865":{"position":[[117,5],[153,5],[434,5],[785,5],[849,5]]},"866":{"position":[[0,5],[127,5],[314,5],[332,5]]},"867":{"position":[[1875,5]]},"869":{"position":[[89,5],[189,5],[234,5],[332,5],[559,5]]},"870":{"position":[[40,5],[174,6],[269,6],[360,5],[617,5],[978,5],[1030,5],[1101,5]]},"900":{"position":[[1817,5]]},"904":{"position":[[366,5]]},"914":{"position":[[79,5]]},"916":{"position":[[71,5]]},"919":{"position":[[1231,5],[1532,5]]},"920":{"position":[[102,5],[119,5],[230,6],[237,5]]},"921":{"position":[[0,5],[566,5]]},"937":{"position":[[4321,5]]},"942":{"position":[[126,5],[571,5],[705,5]]},"946":{"position":[[256,5],[303,5]]},"950":{"position":[[350,5]]},"955":{"position":[[993,6],[1107,5]]},"956":{"position":[[322,5]]},"959":{"position":[[103,5]]},"961":{"position":[[593,5],[654,5]]},"965":{"position":[[165,5]]},"968":{"position":[[8,5],[101,5]]},"969":{"position":[[224,5],[346,5]]},"972":{"position":[[0,5]]},"973":{"position":[[27,5]]},"975":{"position":[[129,5]]},"981":{"position":[[382,5]]},"987":{"position":[[499,6]]},"990":{"position":[[458,5]]},"991":{"position":[[2956,5],[3053,5]]},"1000":{"position":[[29,5]]},"1007":{"position":[[4,5]]},"1020":{"position":[[0,5]]},"1025":{"position":[[194,5]]},"1030":{"position":[[255,5]]},"1032":{"position":[[50,5],[164,5],[380,5]]},"1035":{"position":[[77,5],[280,5],[501,5]]},"1037":{"position":[[27,5],[336,5],[409,5],[619,5],[634,5]]},"1038":{"position":[[50,5]]},"1040":{"position":[[0,5],[544,5]]},"1045":{"position":[[415,5]]},"1050":{"position":[[50,5],[686,5],[877,5],[1173,5],[1381,5]]},"1052":{"position":[[141,5]]},"1053":{"position":[[211,5],[1466,5]]},"1054":{"position":[[691,5]]},"1056":{"position":[[0,5],[133,5],[159,5],[233,5],[321,5]]},"1060":{"position":[[126,5],[228,5],[276,5]]},"1067":{"position":[[17,5],[38,5],[426,5],[496,6]]},"1070":{"position":[[212,5],[549,5]]},"1071":{"position":[[215,5],[387,5],[479,5],[605,5],[1061,6],[1109,5]]},"1072":{"position":[[519,6]]},"1075":{"position":[[569,5]]},"1076":{"position":[[64,7]]},"1077":{"position":[[0,5],[84,5],[157,5],[299,7]]},"1078":{"position":[[27,5],[156,7]]},"1079":{"position":[[209,5],[462,7],[561,7],[1347,5]]},"1093":{"position":[[585,5]]},"1094":{"position":[[0,5]]},"1095":{"position":[[135,5]]},"1097":{"position":[[78,5]]},"1098":{"position":[[655,5]]},"1100":{"position":[[88,5],[277,7]]},"1102":{"position":[[13,5],[65,5],[211,6],[818,5],[1089,5]]},"1103":{"position":[[1047,5]]},"1104":{"position":[[483,5]]},"1105":{"position":[[2616,6]]},"1107":{"position":[[140,6],[308,5]]},"1110":{"position":[[40,7]]},"1112":{"position":[[4473,5]]},"1114":{"position":[[372,5]]},"1118":{"position":[[124,6]]},"1120":{"position":[[66,5],[242,6]]},"1121":{"position":[[39,5]]},"1124":{"position":[[291,5],[337,5]]},"1126":{"position":[[316,5]]},"1127":{"position":[[48,5],[122,5],[230,5],[245,5],[290,5],[331,5],[398,5],[413,5],[729,5]]},"1129":{"position":[[75,5],[111,5],[220,5]]},"1130":{"position":[[8,5],[125,5],[220,5]]},"1131":{"position":[[175,5],[332,5],[432,5]]},"1132":{"position":[[0,5]]},"1133":{"position":[[25,5],[68,5],[134,5],[811,5],[984,5]]},"1134":{"position":[[118,5]]},"1136":{"position":[[196,6],[403,6],[509,6],[792,5],[3806,5],[3984,5]]},"1138":{"position":[[35,5],[1384,5],[6007,5],[7468,5],[7646,5]]},"1140":{"position":[[23,5],[921,6],[6394,5],[6572,5]]},"1142":{"position":[[62,5],[83,5],[1838,5],[2016,5]]},"1144":{"position":[[174,5]]},"1146":{"position":[[53,5],[1778,5],[1956,5]]},"1148":{"position":[[729,6],[920,6],[1070,6],[1148,5],[3357,5],[4818,5],[4996,5]]},"1150":{"position":[[476,5]]},"1152":{"position":[[45,5],[58,5],[177,5]]},"1154":{"position":[[48,5]]},"1155":{"position":[[60,5],[1874,5],[2052,5]]},"1156":{"position":[[145,5],[1452,5],[1630,5]]},"1157":{"position":[[44,5]]},"1158":{"position":[[38,5]]},"1159":{"position":[[38,5]]},"1161":{"position":[[13,5],[34,5]]},"1163":{"position":[[40,6],[60,6],[75,6],[105,5],[137,6],[161,5],[195,5],[221,5]]},"1165":{"position":[[9,5],[47,5]]},"1167":{"position":[[40,5],[7398,5],[7576,5]]},"1169":{"position":[[46,5],[1237,5],[1415,5]]},"1171":{"position":[[30,5],[48,5],[129,5]]},"1172":{"position":[[18,5],[728,6],[835,5],[1814,5],[1872,5]]},"1173":{"position":[[132,5]]},"1174":{"position":[[43,5]]},"1175":{"position":[[63,5]]},"1176":{"position":[[123,6],[148,5]]},"1177":{"position":[[56,5]]},"1178":{"position":[[200,5]]},"1179":{"position":[[70,5]]},"1180":{"position":[[400,5]]},"1181":{"position":[[101,5]]},"1182":{"position":[[96,5]]},"1183":{"position":[[53,5]]},"1185":{"position":[[29,5]]},"1186":{"position":[[24,5],[1581,5],[3042,5],[3220,5]]},"1187":{"position":[[38,5],[1594,5],[3055,5],[3233,5]]},"1188":{"position":[[26,5],[974,6],[6320,5],[7781,5],[7959,5]]},"1190":{"position":[[35,5]]},"1191":{"position":[[64,5],[1642,5],[1820,5]]},"1192":{"position":[[247,5],[1817,5],[1995,5]]},"1193":{"position":[[25,5],[392,5],[1869,5],[2047,5]]},"1194":{"position":[[52,5],[1509,5],[1687,5]]},"1195":{"position":[[58,5],[1487,5],[1665,5]]},"1196":{"position":[[47,5],[1297,5],[1475,5]]},"1197":{"position":[[53,5],[819,5],[2280,5],[2458,5]]},"1198":{"position":[[28,5],[829,5],[2290,5],[2468,5]]},"1199":{"position":[[49,5],[857,5],[2318,5],[2496,5]]},"1200":{"position":[[66,5],[724,5],[2185,5],[2363,5]]},"1201":{"position":[[109,5],[1445,5],[1623,5]]},"1202":{"position":[[34,5],[1259,5],[2587,5],[2765,5],[5669,5],[6984,5],[7162,5]]},"1203":{"position":[[49,5],[1679,5],[1857,5]]},"1204":{"position":[[58,5],[1523,5],[1701,5],[4525,5],[5441,5],[6357,5],[7262,5],[8286,5],[9204,5],[10160,5]]},"1205":{"position":[[259,5],[2852,5],[3030,5]]},"1206":{"position":[[104,5],[1323,5],[1501,5]]},"1207":{"position":[[121,5],[1480,5],[1658,5]]},"1209":{"position":[[26,5],[2828,5],[3006,5]]},"1211":{"position":[[47,5]]},"1213":{"position":[[49,5]]},"1215":{"position":[[20,5]]},"1217":{"position":[[171,5],[658,7],[6139,5],[6317,5]]},"1219":{"position":[[35,5],[86,5],[749,5],[2125,5],[2303,5]]},"1221":{"position":[[31,5]]},"1222":{"position":[[32,5],[1249,5],[1427,5]]},"1223":{"position":[[37,5],[1259,5],[1437,5]]},"1224":{"position":[[230,5],[1439,5],[1617,5]]},"1226":{"position":[[28,5],[6607,5],[6785,5]]},"1228":{"position":[[44,5],[353,5],[1417,5],[8220,5],[8398,5]]},"1232":{"position":[[3340,5]]},"1233":{"position":[[26,5],[156,5],[170,6]]},"1235":{"position":[[522,6],[713,6],[862,6],[1285,5],[4088,5],[4266,5]]},"1237":{"position":[[197,5],[6777,5],[6955,5]]},"1239":{"position":[[0,5]]},"1241":{"position":[[3,5],[104,5],[118,6]]},"1242":{"position":[[42,5]]},"1243":{"position":[[350,5],[606,5],[644,5],[809,5],[854,5],[926,5],[963,5],[1009,5],[1154,5],[1231,5]]},"1248":{"position":[[154,5]]},"1258":{"position":[[429,5]]},"1259":{"position":[[1222,5]]},"1272":{"position":[[56,5]]},"1273":{"position":[[256,5]]},"1277":{"position":[[315,5]]},"1278":{"position":[[300,6]]},"1279":{"position":[[224,6]]},"1280":{"position":[[199,6]]},"1281":{"position":[[156,6]]},"1289":{"position":[[429,5]]},"1290":{"position":[[1222,5]]},"1303":{"position":[[56,5]]},"1304":{"position":[[256,5]]},"1308":{"position":[[315,5]]},"1309":{"position":[[300,6]]},"1310":{"position":[[224,6]]},"1311":{"position":[[199,6]]},"1312":{"position":[[156,6]]},"1317":{"position":[[429,5]]},"1318":{"position":[[1222,5]]},"1331":{"position":[[56,5]]},"1332":{"position":[[256,5]]},"1336":{"position":[[315,5]]},"1337":{"position":[[300,6]]},"1338":{"position":[[224,6]]},"1339":{"position":[[199,6]]},"1340":{"position":[[156,6]]},"1345":{"position":[[1207,5],[1350,7]]},"1393":{"position":[[2324,5],[2452,5],[2508,5],[2679,5],[2960,5],[3780,5],[7662,5],[9009,5]]},"1398":{"position":[[4608,5],[6231,5],[6480,5],[6595,5]]},"1471":{"position":[[2772,6]]},"1472":{"position":[[2731,6]]},"1473":{"position":[[3046,6]]}},"keywords":{}}],["buck2'",{"_index":36,"title":{"678":{"position":[[0,7]]},"695":{"position":[[0,7]]}},"content":{"4":{"position":[[72,7]]},"13":{"position":[[47,7]]},"94":{"position":[[1430,7]]},"226":{"position":[[1430,7]]},"570":{"position":[[250,7]]},"687":{"position":[[212,7]]},"696":{"position":[[176,7]]},"1075":{"position":[[0,7]]},"1136":{"position":[[6618,7]]},"1138":{"position":[[10280,7]]},"1140":{"position":[[9206,7]]},"1142":{"position":[[4650,7]]},"1144":{"position":[[978,7]]},"1146":{"position":[[4590,7]]},"1148":{"position":[[8181,7]]},"1150":{"position":[[1213,7]]},"1152":{"position":[[911,7]]},"1154":{"position":[[1066,7]]},"1155":{"position":[[4686,7]]},"1156":{"position":[[82,7],[4264,7]]},"1157":{"position":[[849,7]]},"1158":{"position":[[843,7]]},"1159":{"position":[[843,7]]},"1161":{"position":[[1838,7]]},"1163":{"position":[[1224,7]]},"1165":{"position":[[1053,7]]},"1167":{"position":[[10210,7]]},"1169":{"position":[[3318,7]]},"1171":{"position":[[1559,7]]},"1172":{"position":[[2944,7]]},"1173":{"position":[[1631,7]]},"1174":{"position":[[1059,7]]},"1175":{"position":[[1055,7]]},"1176":{"position":[[1224,7]]},"1177":{"position":[[1145,7]]},"1178":{"position":[[1462,7]]},"1179":{"position":[[1259,7]]},"1180":{"position":[[1530,7]]},"1181":{"position":[[2050,7]]},"1182":{"position":[[1093,7]]},"1183":{"position":[[1048,7]]},"1185":{"position":[[893,7]]},"1186":{"position":[[5854,7]]},"1187":{"position":[[5867,7]]},"1188":{"position":[[10593,7]]},"1190":{"position":[[2224,7]]},"1191":{"position":[[4454,7]]},"1192":{"position":[[4629,7]]},"1193":{"position":[[4681,7]]},"1194":{"position":[[4321,7]]},"1195":{"position":[[4299,7]]},"1196":{"position":[[4109,7]]},"1197":{"position":[[5092,7]]},"1198":{"position":[[5102,7]]},"1199":{"position":[[5130,7]]},"1200":{"position":[[4997,7]]},"1201":{"position":[[4257,7]]},"1202":{"position":[[1001,7],[5399,7],[9796,7]]},"1203":{"position":[[4491,7]]},"1204":{"position":[[4335,7],[5237,7],[6167,7],[7069,7],[8055,7],[9009,7],[9956,7],[10886,7]]},"1205":{"position":[[5664,7]]},"1206":{"position":[[4363,7]]},"1207":{"position":[[4292,7]]},"1209":{"position":[[5640,7]]},"1211":{"position":[[964,7]]},"1213":{"position":[[735,7]]},"1215":{"position":[[819,7]]},"1217":{"position":[[8951,7]]},"1219":{"position":[[4206,7]]},"1221":{"position":[[938,7]]},"1222":{"position":[[4077,7]]},"1223":{"position":[[4087,7]]},"1224":{"position":[[3520,7]]},"1226":{"position":[[9419,7]]},"1228":{"position":[[11032,7]]},"1235":{"position":[[6900,7]]},"1237":{"position":[[9589,7]]},"1362":{"position":[[9853,7],[9968,7]]},"1364":{"position":[[10967,7],[11082,7]]},"1367":{"position":[[10770,7],[10885,7]]},"1382":{"position":[[6579,7],[6694,7]]},"1384":{"position":[[12933,7],[13048,7]]},"1388":{"position":[[7448,7],[7563,7]]}},"keywords":{}}],["buck2.antlir2",{"_index":127,"title":{},"content":{"6":{"position":[[270,14]]}},"keywords":{}}],["buck2.awesom",{"_index":95,"title":{},"content":{"5":{"position":[[284,13]]}},"keywords":{}}],["buck2.benefit",{"_index":10,"title":{},"content":{"2":{"position":[[48,14]]}},"keywords":{}}],["buck2.buck2",{"_index":98,"title":{},"content":{"5":{"position":[[339,11]]},"7":{"position":[[267,11]]}},"keywords":{}}],["buck2.local_resourc",{"_index":5482,"title":{},"content":{"1069":{"position":[[604,21]]}},"keywords":{}}],["buck2.log_configured_graph_size=tru",{"_index":5728,"title":{},"content":{"1112":{"position":[[2472,37]]}},"keywords":{}}],["buck2.ocamlrep",{"_index":145,"title":{},"content":{"7":{"position":[[175,14]]}},"keywords":{}}],["buck2.reddit",{"_index":80,"title":{},"content":{"5":{"position":[[66,12]]}},"keywords":{}}],["buck2.th",{"_index":5754,"title":{},"content":{"1114":{"position":[[539,9]]}},"keywords":{}}],["buck2/app/buck2_core:buck2_cor",{"_index":3461,"title":{},"content":{"690":{"position":[[642,34]]}},"keywords":{}}],["buck2/examples/hello_world",{"_index":494,"title":{},"content":{"17":{"position":[[387,26]]}},"keywords":{}}],["buck2/hello",{"_index":1302,"title":{},"content":{"110":{"position":[[136,11]]},"522":{"position":[[136,11]]}},"keywords":{}}],["buck2_build_api::actions::artifact::artifact",{"_index":6105,"title":{},"content":{"1232":{"position":[[260,46],[691,46]]}},"keywords":{}}],["buck2_build_api::artifact_groups::artifact_group_values::artifactvalueidentity>",{"_index":6107,"title":{},"content":{"1232":{"position":[[354,82],[785,82]]}},"keywords":{}}],["buck2_compat",{"_index":6339,"title":{},"content":{"1348":{"position":[[776,20]]},"1349":{"position":[[573,20]]},"1350":{"position":[[1140,20]]},"1351":{"position":[[464,20]]},"1352":{"position":[[1140,20]]},"1353":{"position":[[587,20]]},"1354":{"position":[[490,20]]},"1355":{"position":[[878,20]]},"1356":{"position":[[360,20]]},"1357":{"position":[[351,20]]},"1358":{"position":[[522,20]]},"1359":{"position":[[479,20]]},"1360":{"position":[[564,20]]},"1361":{"position":[[360,20]]},"1362":{"position":[[702,20]]},"1363":{"position":[[1396,20]]},"1364":{"position":[[719,20]]},"1365":{"position":[[399,20]]},"1366":{"position":[[329,20]]},"1367":{"position":[[1636,20]]},"1368":{"position":[[443,20]]},"1369":{"position":[[367,20]]},"1370":{"position":[[425,20]]},"1371":{"position":[[355,20]]},"1372":{"position":[[1298,20]]},"1373":{"position":[[572,20]]},"1374":{"position":[[399,20]]},"1375":{"position":[[329,20]]},"1376":{"position":[[347,20]]},"1377":{"position":[[344,20]]},"1378":{"position":[[333,20]]},"1379":{"position":[[331,20]]},"1380":{"position":[[330,20]]},"1381":{"position":[[357,20]]},"1382":{"position":[[562,20]]},"1383":{"position":[[492,20]]},"1384":{"position":[[509,20]]},"1385":{"position":[[361,20]]},"1386":{"position":[[337,20]]},"1387":{"position":[[616,20]]},"1388":{"position":[[695,20]]},"1389":{"position":[[1108,20]]},"1390":{"position":[[323,20]]},"1391":{"position":[[324,20]]},"1392":{"position":[[321,20]]},"1393":{"position":[[400,20]]},"1394":{"position":[[378,20]]},"1395":{"position":[[350,20]]},"1396":{"position":[[334,20]]},"1397":{"position":[[388,20]]},"1398":{"position":[[556,20]]},"1399":{"position":[[326,20]]},"1400":{"position":[[348,20]]},"1401":{"position":[[324,20]]},"1402":{"position":[[439,20]]},"1403":{"position":[[463,20]]},"1404":{"position":[[350,20]]},"1405":{"position":[[497,20]]},"1406":{"position":[[382,20]]},"1407":{"position":[[507,20]]},"1408":{"position":[[548,20]]},"1409":{"position":[[486,20]]},"1410":{"position":[[620,20]]},"1411":{"position":[[329,20]]},"1412":{"position":[[507,20]]},"1413":{"position":[[504,20]]},"1414":{"position":[[375,20]]},"1415":{"position":[[329,20]]},"1416":{"position":[[411,20]]},"1417":{"position":[[381,20]]},"1418":{"position":[[384,20]]},"1419":{"position":[[355,20]]},"1420":{"position":[[384,20]]},"1421":{"position":[[339,20]]},"1422":{"position":[[327,20]]},"1423":{"position":[[324,20]]},"1424":{"position":[[469,20]]},"1425":{"position":[[375,20]]},"1426":{"position":[[476,20]]},"1427":{"position":[[729,20]]},"1428":{"position":[[361,20]]},"1429":{"position":[[764,20]]},"1430":{"position":[[546,20]]},"1431":{"position":[[429,20]]},"1432":{"position":[[516,20]]},"1433":{"position":[[552,20]]},"1434":{"position":[[354,20]]},"1435":{"position":[[359,20]]},"1436":{"position":[[355,20]]},"1437":{"position":[[379,20]]},"1438":{"position":[[323,20]]},"1439":{"position":[[803,20]]},"1440":{"position":[[838,20]]},"1441":{"position":[[331,20]]},"1442":{"position":[[357,20]]},"1443":{"position":[[325,20]]},"1444":{"position":[[355,20]]},"1445":{"position":[[357,20]]},"1446":{"position":[[326,20]]},"1447":{"position":[[328,20]]},"1448":{"position":[[379,20]]},"1449":{"position":[[380,20]]},"1450":{"position":[[379,20]]},"1451":{"position":[[379,20]]},"1452":{"position":[[323,20]]},"1453":{"position":[[418,20]]},"1454":{"position":[[423,20]]},"1455":{"position":[[366,20]]},"1456":{"position":[[353,20]]},"1457":{"position":[[334,20]]},"1458":{"position":[[500,20]]},"1459":{"position":[[338,20]]},"1460":{"position":[[337,20]]},"1461":{"position":[[485,20]]},"1462":{"position":[[743,20]]},"1463":{"position":[[437,20]]},"1464":{"position":[[339,20]]},"1465":{"position":[[494,20]]},"1466":{"position":[[412,20]]},"1467":{"position":[[810,20]]},"1468":{"position":[[333,20]]},"1469":{"position":[[348,20]]},"1470":{"position":[[917,20]]},"1471":{"position":[[553,20]]},"1472":{"position":[[456,20]]},"1473":{"position":[[584,20]]},"1474":{"position":[[543,20]]},"1475":{"position":[[540,20]]},"1476":{"position":[[331,20]]},"1477":{"position":[[385,20]]},"1478":{"position":[[413,20]]},"1479":{"position":[[339,20]]},"1480":{"position":[[361,20]]},"1481":{"position":[[463,20]]},"1482":{"position":[[325,20]]},"1483":{"position":[[343,20]]},"1484":{"position":[[330,20]]},"1485":{"position":[[356,20]]},"1486":{"position":[[383,20]]},"1487":{"position":[[353,20]]}},"keywords":{}}],["buck2_data::commandend",{"_index":6139,"title":{},"content":{"1232":{"position":[[2529,23]]}},"keywords":{}}],["buck2_data::commandend)>",{"_index":6137,"title":{},"content":{"1232":{"position":[[2411,28]]}},"keywords":{}}],["buck2_execute::artifact_value::artifactvalu",{"_index":6106,"title":{},"content":{"1232":{"position":[[307,46],[738,46]]}},"keywords":{}}],["buck2_re_cli",{"_index":6302,"title":{},"content":{"1345":{"position":[[54,17]]}},"keywords":{}}],["buck2_server::daemon::server::buckdserverdependencies>::build::{closure#0}>",{"_index":6144,"title":{},"content":{"1232":{"position":[[2998,81]]}},"keywords":{}}],["buck2_server_commands::commands::build::create_unhashed_output",{"_index":6114,"title":{},"content":{"1232":{"position":[[947,63]]}},"keywords":{}}],["buck2_server_ctx::ctx::servercommandcontexttrait>",{"_index":6123,"title":{},"content":{"1232":{"position":[[1398,52]]}},"keywords":{}}],["buck2_server_ctx::ctx::servercommanddicecontext>::with_dice_ctx<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::buildservercommand>::{closure#0}::{closure#0}::{closure#0",{"_index":6124,"title":{},"content":{"1232":{"position":[[1454,222]]}},"keywords":{}}],["buck2_server_ctx::template::servercommandtemplate>::command::{closure#0}>",{"_index":6118,"title":{},"content":{"1232":{"position":[[1162,79]]}},"keywords":{}}],["buck2_subscription_proto/subscription.proto",{"_index":6042,"title":{},"content":{"1219":{"position":[[457,46]]}},"keywords":{}}],["buck2andrea",{"_index":125,"title":{},"content":{"6":{"position":[[222,12]]}},"keywords":{}}],["buck2build",{"_index":3618,"title":{},"content":{"702":{"position":[[81,10]]}},"keywords":{}}],["buck2neil",{"_index":112,"title":{},"content":{"6":{"position":[[25,9]]}},"keywords":{}}],["buck2not",{"_index":564,"title":{},"content":{"18":{"position":[[795,8]]}},"keywords":{}}],["buck2talk",{"_index":131,"title":{},"content":{"6":{"position":[[317,10]]}},"keywords":{}}],["buck2’",{"_index":3678,"title":{},"content":{"706":{"position":[[1601,7]]},"718":{"position":[[436,7]]},"720":{"position":[[551,7]]},"722":{"position":[[435,7]]},"832":{"position":[[72,8]]},"870":{"position":[[1516,7]]},"955":{"position":[[750,7]]}},"keywords":{}}],["buck_consol",{"_index":5900,"title":{},"content":{"1136":{"position":[[5066,14]]},"1138":{"position":[[8728,14]]},"1140":{"position":[[7654,14]]},"1142":{"position":[[3098,14]]},"1146":{"position":[[3038,14]]},"1148":{"position":[[6078,14]]},"1155":{"position":[[3134,14]]},"1156":{"position":[[2712,14]]},"1161":{"position":[[605,14]]},"1167":{"position":[[8658,14]]},"1181":{"position":[[817,14]]},"1186":{"position":[[4302,14]]},"1187":{"position":[[4315,14]]},"1188":{"position":[[9041,14]]},"1191":{"position":[[2902,14]]},"1192":{"position":[[3077,14]]},"1193":{"position":[[3129,14]]},"1194":{"position":[[2769,14]]},"1195":{"position":[[2747,14]]},"1196":{"position":[[2557,14]]},"1197":{"position":[[3540,14]]},"1198":{"position":[[3550,14]]},"1199":{"position":[[3578,14]]},"1200":{"position":[[3445,14]]},"1201":{"position":[[2705,14]]},"1202":{"position":[[3847,14],[8244,14]]},"1203":{"position":[[2939,14]]},"1204":{"position":[[2783,14]]},"1205":{"position":[[4112,14]]},"1206":{"position":[[2583,14]]},"1207":{"position":[[2740,14]]},"1209":{"position":[[4088,14]]},"1217":{"position":[[7399,14]]},"1222":{"position":[[2509,14]]},"1223":{"position":[[2519,14]]},"1226":{"position":[[7867,14]]},"1228":{"position":[[9480,14]]},"1235":{"position":[[5348,14]]},"1237":{"position":[[8037,14]]}},"keywords":{}}],["buck_default_runtime_resources/data.dat",{"_index":8466,"title":{},"content":{"1477":{"position":[[2982,40]]}},"keywords":{}}],["buck_default_runtime_resourcesenviron",{"_index":8457,"title":{},"content":{"1477":{"position":[[2077,42]]}},"keywords":{}}],["buck_no_interactive_consol",{"_index":5909,"title":{},"content":{"1136":{"position":[[5671,29]]},"1138":{"position":[[9333,29]]},"1140":{"position":[[8259,29]]},"1142":{"position":[[3703,29]]},"1146":{"position":[[3643,29]]},"1148":{"position":[[6683,29]]},"1155":{"position":[[3739,29]]},"1156":{"position":[[3317,29]]},"1161":{"position":[[1210,29]]},"1167":{"position":[[9263,29]]},"1181":{"position":[[1422,29]]},"1186":{"position":[[4907,29]]},"1187":{"position":[[4920,29]]},"1188":{"position":[[9646,29]]},"1191":{"position":[[3507,29]]},"1192":{"position":[[3682,29]]},"1193":{"position":[[3734,29]]},"1194":{"position":[[3374,29]]},"1195":{"position":[[3352,29]]},"1196":{"position":[[3162,29]]},"1197":{"position":[[4145,29]]},"1198":{"position":[[4155,29]]},"1199":{"position":[[4183,29]]},"1200":{"position":[[4050,29]]},"1201":{"position":[[3310,29]]},"1202":{"position":[[4452,29],[8849,29]]},"1203":{"position":[[3544,29]]},"1204":{"position":[[3388,29]]},"1205":{"position":[[4717,29]]},"1206":{"position":[[3188,29]]},"1207":{"position":[[3345,29]]},"1209":{"position":[[4693,29]]},"1217":{"position":[[8004,29]]},"1222":{"position":[[3114,29]]},"1223":{"position":[[3124,29]]},"1226":{"position":[[8472,29]]},"1228":{"position":[[10085,29]]},"1235":{"position":[[5953,29]]},"1237":{"position":[[8642,29]]},"1239":{"position":[[82,27]]}},"keywords":{}}],["buck_offline_build",{"_index":5930,"title":{},"content":{"1138":{"position":[[2390,20],[3054,20]]},"1140":{"position":[[1879,20],[2543,20]]},"1167":{"position":[[2883,20],[3547,20]]},"1188":{"position":[[1932,20],[2596,20]]},"1217":{"position":[[1624,20],[2288,20]]},"1228":{"position":[[3705,20],[4369,20]]}},"keywords":{}}],["buck_project_root",{"_index":8458,"title":{},"content":{"1477":{"position":[[2443,18]]}},"keywords":{}}],["buck_regex",{"_index":910,"title":{"54":{"position":[[0,10]]},"201":{"position":[[0,10]]}},"content":{"405":{"position":[[831,11]]},"434":{"position":[[57,10]]},"784":{"position":[[831,11]]},"813":{"position":[[57,10]]}},"keywords":{}}],["buck_regex.match",{"_index":911,"title":{"55":{"position":[[0,17]]},"202":{"position":[[0,17]]}},"content":{},"keywords":{}}],["buck_regex.match(str",{"_index":912,"title":{},"content":{"55":{"position":[[4,21]]},"202":{"position":[[4,21]]}},"keywords":{}}],["buck_run_build_id",{"_index":6033,"title":{},"content":{"1217":{"position":[[122,19]]}},"keywords":{}}],["buck_scratch_path",{"_index":1236,"title":{},"content":{"94":{"position":[[4192,18]]},"226":{"position":[[4192,18]]}},"keywords":{}}],["buckconfig",{"_index":587,"title":{"571":{"position":[[0,11]]},"573":{"position":[[4,11]]},"1345":{"position":[[20,12]]}},"content":{"18":{"position":[[1575,11],[1844,11]]},"242":{"position":[[174,12]]},"429":{"position":[[102,11],[198,11],[585,11]]},"433":{"position":[[134,11]]},"573":{"position":[[4,11],[156,11]]},"576":{"position":[[49,11]]},"579":{"position":[[92,12]]},"580":{"position":[[213,11]]},"581":{"position":[[19,11],[263,11],[453,10]]},"583":{"position":[[255,11]]},"584":{"position":[[183,11],[1327,11],[1444,11],[1571,11]]},"585":{"position":[[41,12]]},"587":{"position":[[440,11]]},"622":{"position":[[191,12]]},"676":{"position":[[220,12]]},"693":{"position":[[18,12],[193,11],[2312,11],[2468,11],[6183,12],[6229,11],[6383,12],[8759,12]]},"717":{"position":[[406,11]]},"720":{"position":[[320,11]]},"808":{"position":[[102,11],[198,11],[585,11]]},"812":{"position":[[134,11]]},"937":{"position":[[283,11],[985,11],[1032,11],[1060,11],[1244,11],[2708,11]]},"976":{"position":[[35,11]]},"998":{"position":[[299,11]]},"1001":{"position":[[1021,12]]},"1011":{"position":[[191,12]]},"1064":{"position":[[1121,13],[2297,12]]},"1077":{"position":[[287,11]]},"1078":{"position":[[144,11]]},"1079":{"position":[[450,11]]},"1093":{"position":[[122,11],[480,10]]},"1097":{"position":[[269,10]]},"1098":{"position":[[60,12],[293,10]]},"1100":{"position":[[265,11]]},"1110":{"position":[[28,11]]},"1136":{"position":[[2700,10]]},"1138":{"position":[[775,11],[6362,10]]},"1140":{"position":[[401,11],[5288,10]]},"1142":{"position":[[732,10]]},"1146":{"position":[[672,10]]},"1148":{"position":[[3712,10]]},"1150":{"position":[[127,11],[218,11]]},"1155":{"position":[[768,10]]},"1156":{"position":[[346,10]]},"1167":{"position":[[6292,10]]},"1169":{"position":[[131,10]]},"1186":{"position":[[1936,10]]},"1187":{"position":[[1949,10]]},"1188":{"position":[[454,11],[6675,10]]},"1190":{"position":[[140,12]]},"1191":{"position":[[44,12],[536,10]]},"1192":{"position":[[711,10]]},"1193":{"position":[[763,10]]},"1194":{"position":[[403,10]]},"1195":{"position":[[381,10]]},"1196":{"position":[[191,10]]},"1197":{"position":[[1174,10]]},"1198":{"position":[[1184,10]]},"1199":{"position":[[1212,10]]},"1200":{"position":[[1079,10]]},"1201":{"position":[[339,10]]},"1202":{"position":[[1481,10],[5878,10]]},"1203":{"position":[[573,10]]},"1204":{"position":[[417,10]]},"1205":{"position":[[1746,10]]},"1206":{"position":[[217,10]]},"1207":{"position":[[374,10]]},"1209":{"position":[[1722,10]]},"1217":{"position":[[5033,10]]},"1219":{"position":[[1019,10]]},"1222":{"position":[[143,10]]},"1223":{"position":[[153,10]]},"1224":{"position":[[333,10]]},"1226":{"position":[[5501,10]]},"1228":{"position":[[7114,10]]},"1235":{"position":[[2982,10]]},"1237":{"position":[[5671,10]]},"1345":{"position":[[1326,11]]},"1354":{"position":[[3070,11]]},"1355":{"position":[[4663,12],[6738,12],[7577,12]]},"1362":{"position":[[13346,12]]},"1364":{"position":[[14046,12]]},"1365":{"position":[[1839,12]]},"1367":{"position":[[13254,12]]},"1373":{"position":[[5851,14]]},"1384":{"position":[[20383,10],[20411,12]]},"1385":{"position":[[2072,11]]},"1388":{"position":[[10297,11]]},"1392":{"position":[[2421,11]]},"1408":{"position":[[2215,14]]},"1410":{"position":[[4412,14],[5520,11]]},"1422":{"position":[[944,11]]},"1423":{"position":[[934,11]]},"1427":{"position":[[3808,12],[5683,11],[5937,12],[7066,12]]},"1429":{"position":[[6017,11]]},"1439":{"position":[[6306,11],[7592,11]]},"1440":{"position":[[5917,11]]},"1454":{"position":[[9603,11]]},"1457":{"position":[[1802,14]]},"1461":{"position":[[2291,12]]},"1462":{"position":[[5740,12],[6625,11],[6678,12],[8165,12]]},"1465":{"position":[[2751,12]]},"1467":{"position":[[6236,12],[6890,12],[7740,11],[7793,12],[9226,12],[9365,12],[9784,12],[10539,11]]},"1469":{"position":[[853,11]]},"1478":{"position":[[2680,11]]}},"keywords":{}}],["buckconfig#python",{"_index":8353,"title":{},"content":{"1465":{"position":[[3486,17],[3895,17]]},"1467":{"position":[[9755,17]]}},"keywords":{}}],["buckconfig#pythonsect",{"_index":8333,"title":{},"content":{"1462":{"position":[[8275,24]]},"1467":{"position":[[9337,24]]}},"keywords":{}}],["buckconfig.d",{"_index":2661,"title":{},"content":{"581":{"position":[[206,13],[289,13],[478,12],[742,13]]},"583":{"position":[[593,13],[680,13],[816,13],[830,14]]}},"keywords":{}}],["buckconfig.loc",{"_index":2653,"title":{"580":{"position":[[0,18]]}},"content":{"580":{"position":[[71,18],[152,17]]},"581":{"position":[[35,17]]},"1383":{"position":[[8395,18]]}},"keywords":{}}],["buckconfig.platform_src",{"_index":8354,"title":{},"content":{"1465":{"position":[[3515,26]]}},"keywords":{}}],["buckconfig.preload_dep",{"_index":8334,"title":{},"content":{"1462":{"position":[[8303,25]]}},"keywords":{}}],["buckconfig.py_version_for_type_check",{"_index":8355,"title":{},"content":{"1465":{"position":[[3924,41]]}},"keywords":{}}],["buckconfigand",{"_index":6819,"title":{},"content":{"1362":{"position":[[13706,14]]},"1364":{"position":[[14406,14]]},"1365":{"position":[[1824,14]]},"1383":{"position":[[8380,14]]}},"keywords":{}}],["buckconfigfil",{"_index":2686,"title":{},"content":{"583":{"position":[[296,15]]}},"keywords":{}}],["buckconfigfor",{"_index":6820,"title":{},"content":{"1362":{"position":[[13721,14]]},"1364":{"position":[[14421,14]]}},"keywords":{}}],["buckconfigproperti",{"_index":7963,"title":{},"content":{"1427":{"position":[[5660,19]]},"1439":{"position":[[7569,19]]}},"keywords":{}}],["buckconfig—can",{"_index":2731,"title":{},"content":{"587":{"position":[[118,15]]}},"keywords":{}}],["buckd",{"_index":2675,"title":{"691":{"position":[[7,7]]}},"content":{"581":{"position":[[803,6],[853,7]]},"693":{"position":[[4201,8]]},"1136":{"position":[[5435,5]]},"1138":{"position":[[9097,5]]},"1140":{"position":[[8023,5]]},"1142":{"position":[[3467,5]]},"1146":{"position":[[3407,5]]},"1148":{"position":[[6447,5]]},"1155":{"position":[[3503,5]]},"1156":{"position":[[3081,5]]},"1161":{"position":[[974,5]]},"1167":{"position":[[9027,5]]},"1181":{"position":[[1186,5]]},"1186":{"position":[[4671,5]]},"1187":{"position":[[4684,5]]},"1188":{"position":[[9410,5]]},"1191":{"position":[[3271,5]]},"1192":{"position":[[3446,5]]},"1193":{"position":[[3498,5]]},"1194":{"position":[[3138,5]]},"1195":{"position":[[3116,5]]},"1196":{"position":[[2926,5]]},"1197":{"position":[[3909,5]]},"1198":{"position":[[3919,5]]},"1199":{"position":[[3947,5]]},"1200":{"position":[[3814,5]]},"1201":{"position":[[3074,5]]},"1202":{"position":[[4216,5],[8613,5]]},"1203":{"position":[[3308,5]]},"1204":{"position":[[3152,5]]},"1205":{"position":[[4481,5]]},"1206":{"position":[[2952,5]]},"1207":{"position":[[3109,5]]},"1209":{"position":[[4457,5]]},"1215":{"position":[[0,5],[167,5]]},"1217":{"position":[[7768,5]]},"1222":{"position":[[2878,5]]},"1223":{"position":[[2888,5]]},"1226":{"position":[[8236,5]]},"1228":{"position":[[9849,5]]},"1235":{"position":[[5717,5]]},"1237":{"position":[[8406,5]]}},"keywords":{}}],["buckev",{"_index":5789,"title":{},"content":{"1126":{"position":[[34,11],[116,9]]}},"keywords":{}}],["buckfil",{"_index":5468,"title":{},"content":{"1064":{"position":[[955,8]]}},"keywords":{}}],["buckifi",{"_index":430,"title":{},"content":{"13":{"position":[[386,7],[467,7]]}},"keywords":{}}],["buckproject",{"_index":3533,"title":{},"content":{"693":{"position":[[2488,12]]}},"keywords":{}}],["buckvers",{"_index":5943,"title":{},"content":{"1142":{"position":[[529,11]]}},"keywords":{}}],["buck—in",{"_index":8594,"title":{},"content":{"1486":{"position":[[4587,7]]}},"keywords":{}}],["bug",{"_index":4065,"title":{},"content":{"870":{"position":[[1150,4]]},"1232":{"position":[[3346,3]]}},"keywords":{}}],["bug.it",{"_index":5752,"title":{},"content":{"1114":{"position":[[226,6],[337,6]]}},"keywords":{}}],["build",{"_index":41,"title":{"622":{"position":[[0,5]]},"674":{"position":[[0,5]]},"677":{"position":[[0,5]]},"678":{"position":[[22,5]]},"679":{"position":[[26,5]]},"699":{"position":[[0,5]]},"717":{"position":[[10,5]]},"725":{"position":[[10,5]]},"844":{"position":[[0,6]]},"855":{"position":[[0,8]]},"873":{"position":[[0,5]]},"908":{"position":[[4,5]]},"948":{"position":[[16,5]]},"950":{"position":[[13,8]]},"1111":{"position":[[0,5]]},"1137":{"position":[[0,5]]},"1138":{"position":[[5,6]]},"1244":{"position":[[11,5]]},"1248":{"position":[[16,5]]}},"content":{"4":{"position":[[121,8],[602,5]]},"5":{"position":[[148,5]]},"6":{"position":[[13,6],[247,8]]},"7":{"position":[[18,5],[150,5]]},"9":{"position":[[12,5],[402,5],[617,5],[720,5],[874,5],[1267,6],[1453,6],[2564,5]]},"11":{"position":[[713,5]]},"13":{"position":[[475,5],[505,5]]},"15":{"position":[[301,5],[808,5]]},"17":{"position":[[24,8],[467,9],[689,5],[773,5],[1114,6],[1316,5],[1353,5],[1439,5]]},"18":{"position":[[740,5],[1679,5],[1699,5],[1737,5]]},"20":{"position":[[426,5],[560,5]]},"22":{"position":[[334,5],[375,5],[461,5],[726,5],[964,5],[1134,5],[1385,5],[1576,6]]},"23":{"position":[[1568,5],[3242,7],[3440,6]]},"24":{"position":[[401,6],[972,5],[1059,6]]},"41":{"position":[[760,5]]},"85":{"position":[[427,5]]},"92":{"position":[[530,6],[2267,6],[2552,6]]},"94":{"position":[[1750,5]]},"174":{"position":[[760,5]]},"217":{"position":[[427,5]]},"224":{"position":[[530,6],[2267,6],[2552,6]]},"226":{"position":[[1750,5]]},"297":{"position":[[460,5],[615,7]]},"327":{"position":[[305,5]]},"362":{"position":[[1571,5]]},"368":{"position":[[2086,6],[2155,5],[2176,6],[2326,5],[2648,5],[2876,5]]},"373":{"position":[[216,6]]},"416":{"position":[[154,6]]},"444":{"position":[[120,5]]},"445":{"position":[[151,5]]},"468":{"position":[[186,5]]},"570":{"position":[[22,5],[158,5],[352,5],[453,5],[586,5],[673,5]]},"572":{"position":[[273,5]]},"586":{"position":[[37,5],[180,5]]},"587":{"position":[[57,6]]},"622":{"position":[[0,5],[13,5],[152,5],[293,5],[418,5],[644,5],[1033,5],[1065,5],[1112,5],[1140,5],[1393,5],[1822,5]]},"675":{"position":[[68,5],[121,5],[202,5],[234,5],[255,5],[339,5],[356,5],[400,5],[526,5],[670,5],[844,5],[1041,5],[1089,5],[1164,5],[1210,5]]},"676":{"position":[[49,5],[303,5],[360,5],[415,5]]},"678":{"position":[[42,5],[70,5],[190,5],[315,5]]},"679":{"position":[[5,5],[522,8]]},"680":{"position":[[1232,5]]},"681":{"position":[[2,5],[45,5],[131,5],[182,5],[268,5]]},"682":{"position":[[87,5],[139,6]]},"683":{"position":[[15,5],[58,5],[74,5],[141,5],[177,5]]},"684":{"position":[[0,5],[137,5]]},"685":{"position":[[47,5],[190,5]]},"686":{"position":[[17,5]]},"687":{"position":[[58,5]]},"688":{"position":[[115,5],[321,6],[495,5],[646,5],[694,5],[957,5],[1044,5],[1326,5],[1454,6]]},"690":{"position":[[62,8],[93,6],[3147,8]]},"693":{"position":[[907,5],[940,5],[1445,6],[1492,5],[1686,5],[2135,7],[2207,5],[2394,5],[3234,5],[3609,8],[3850,5],[4160,7],[5014,5],[5356,5],[6849,6],[7819,5],[7877,5],[8322,5],[8446,5],[9085,5],[9519,5]]},"695":{"position":[[6,5],[133,5],[232,5],[369,8],[394,5],[538,5],[798,5]]},"696":{"position":[[21,5]]},"699":{"position":[[0,5],[65,5],[174,5]]},"700":{"position":[[48,5]]},"702":{"position":[[110,5]]},"703":{"position":[[71,9]]},"704":{"position":[[26,8],[280,8],[1438,5],[1484,8],[1540,5]]},"705":{"position":[[377,5],[508,5],[949,5]]},"706":{"position":[[38,5],[881,5],[1002,6],[1100,5],[1211,5],[1553,5],[1662,6],[1754,6],[1893,6],[1968,6]]},"708":{"position":[[65,5],[460,5],[862,5]]},"715":{"position":[[11,5],[148,5],[252,5],[1969,5]]},"717":{"position":[[0,5],[132,5],[216,5],[268,5],[433,5]]},"718":{"position":[[25,5],[162,5],[632,5]]},"724":{"position":[[237,6]]},"725":{"position":[[19,5]]},"741":{"position":[[1571,5]]},"747":{"position":[[2086,6],[2155,5],[2176,6],[2326,5],[2648,5],[2876,5]]},"752":{"position":[[216,6]]},"795":{"position":[[154,6]]},"823":{"position":[[120,5]]},"824":{"position":[[151,5]]},"832":{"position":[[293,6],[371,5],[477,6]]},"837":{"position":[[128,7]]},"839":{"position":[[134,5]]},"840":{"position":[[1338,7],[1393,5],[1514,5]]},"844":{"position":[[8,5],[248,6]]},"846":{"position":[[1966,5]]},"848":{"position":[[495,8]]},"855":{"position":[[72,5],[132,6]]},"861":{"position":[[82,5],[685,5]]},"869":{"position":[[175,6]]},"870":{"position":[[93,5],[901,5],[1036,5]]},"872":{"position":[[924,5]]},"873":{"position":[[100,5],[343,8]]},"874":{"position":[[136,5]]},"876":{"position":[[181,5]]},"881":{"position":[[37,5]]},"894":{"position":[[279,5],[290,8],[362,5]]},"896":{"position":[[27,5],[893,5]]},"897":{"position":[[240,5]]},"908":{"position":[[14,6]]},"912":{"position":[[137,5]]},"919":{"position":[[766,5],[1826,5]]},"921":{"position":[[88,5]]},"923":{"position":[[25,5]]},"927":{"position":[[244,6]]},"937":{"position":[[47,5],[1156,5],[1279,6],[1329,6],[1409,5],[1541,5],[1772,5],[2461,5],[2687,5],[2820,6],[2980,6],[3178,5],[3331,7],[3421,5],[3643,5],[3711,8],[3807,5],[4013,5],[4188,8],[4333,8],[4347,8],[4449,5],[4577,8],[4586,5],[4614,5],[4674,5]]},"938":{"position":[[184,5],[891,8]]},"942":{"position":[[53,5],[132,5],[220,5],[361,5],[542,5],[577,5],[711,5],[874,5],[941,5],[1070,5],[1148,5],[1451,5],[1505,5]]},"944":{"position":[[809,5],[1199,5],[1229,5],[1269,5],[1375,8]]},"947":{"position":[[338,5]]},"950":{"position":[[20,5],[217,5],[375,5]]},"951":{"position":[[1185,5]]},"954":{"position":[[399,5]]},"956":{"position":[[126,6]]},"964":{"position":[[281,5]]},"965":{"position":[[155,6],[233,5]]},"968":{"position":[[14,5],[107,5]]},"969":{"position":[[230,5],[352,5]]},"988":{"position":[[141,5]]},"991":{"position":[[2962,5],[3059,5],[3112,8]]},"995":{"position":[[454,5],[854,6],[911,5]]},"997":{"position":[[147,8]]},"1004":{"position":[[899,5],[940,7]]},"1011":{"position":[[464,5]]},"1017":{"position":[[933,5]]},"1018":{"position":[[35,5]]},"1021":{"position":[[5,5],[90,5],[108,5],[333,8],[471,5],[768,5]]},"1022":{"position":[[77,5],[367,5]]},"1023":{"position":[[162,5]]},"1025":{"position":[[58,5],[200,6]]},"1033":{"position":[[147,5]]},"1035":{"position":[[255,5],[411,5]]},"1040":{"position":[[601,9]]},"1049":{"position":[[600,5]]},"1050":{"position":[[4555,6]]},"1058":{"position":[[1050,6]]},"1067":{"position":[[118,6],[210,5],[703,8]]},"1070":{"position":[[442,5]]},"1075":{"position":[[362,6],[490,7]]},"1078":{"position":[[19,7],[109,6]]},"1079":{"position":[[291,5],[320,8],[1069,5]]},"1098":{"position":[[483,8]]},"1102":{"position":[[824,5]]},"1103":{"position":[[602,5],[1132,5],[1181,5],[1288,5],[2061,6]]},"1104":{"position":[[489,5],[706,5]]},"1106":{"position":[[78,5],[126,6]]},"1112":{"position":[[283,6],[495,5],[592,5],[807,5],[929,8],[1065,8],[1914,5]]},"1113":{"position":[[18,5],[318,5],[478,5]]},"1114":{"position":[[4,5]]},"1121":{"position":[[68,5],[105,5]]},"1129":{"position":[[10,5],[198,5],[267,5]]},"1130":{"position":[[95,5],[168,5]]},"1134":{"position":[[21,5],[252,5]]},"1136":{"position":[[111,6],[491,8],[3060,5],[5783,5]]},"1138":{"position":[[0,5],[49,5],[130,5],[818,5],[837,5],[905,5],[952,5],[967,5],[1039,5],[1094,5],[1110,5],[1172,5],[1456,5],[1490,5],[1506,5],[1537,5],[1563,5],[1609,5],[1889,5],[1963,5],[3759,6],[4213,6],[4306,6],[4407,5],[4433,5],[4723,6],[4905,5],[5136,8],[5264,8],[6722,5],[9445,5]]},"1140":{"position":[[945,5],[979,5],[995,5],[1026,5],[1052,5],[1098,5],[1378,5],[1452,5],[3248,6],[3702,6],[3795,6],[3896,5],[3922,5],[4212,6],[4394,5],[4625,8],[4753,8],[5648,5],[8371,5]]},"1142":{"position":[[1092,5],[3815,5]]},"1146":{"position":[[1032,5],[3755,5]]},"1148":{"position":[[160,8],[4072,5],[6795,5]]},"1150":{"position":[[312,6]]},"1155":{"position":[[1128,5],[3851,5]]},"1156":{"position":[[706,5],[3429,5]]},"1163":{"position":[[389,5]]},"1165":{"position":[[218,5]]},"1167":{"position":[[0,5],[146,5],[1949,5],[1983,5],[1999,5],[2030,5],[2056,5],[2102,5],[2382,5],[2456,5],[4252,6],[4706,6],[4799,6],[4900,5],[4926,5],[5216,6],[5398,5],[5629,8],[5757,8],[6652,5],[9375,5]]},"1169":{"position":[[491,5],[2483,5]]},"1171":{"position":[[655,5],[835,5]]},"1172":{"position":[[204,5],[1889,5]]},"1180":{"position":[[38,6]]},"1183":{"position":[[40,5]]},"1186":{"position":[[2296,5],[5019,5]]},"1187":{"position":[[2309,5],[5032,5]]},"1188":{"position":[[998,5],[1032,5],[1048,5],[1079,5],[1105,5],[1151,5],[1431,5],[1505,5],[3301,6],[3755,6],[3848,6],[3949,5],[3975,5],[4265,6],[4447,5],[4678,8],[4806,8],[7035,5],[9758,5]]},"1190":{"position":[[502,5]]},"1191":{"position":[[896,5],[3619,5]]},"1192":{"position":[[1071,5],[3794,5]]},"1193":{"position":[[1123,5],[3846,5]]},"1194":{"position":[[763,5],[3486,5]]},"1195":{"position":[[5,5],[142,5],[741,5],[3464,5]]},"1196":{"position":[[551,5],[3274,5]]},"1197":{"position":[[1534,5],[4257,5]]},"1198":{"position":[[1544,5],[4267,5]]},"1199":{"position":[[1572,5],[4295,5]]},"1200":{"position":[[1439,5],[4162,5]]},"1201":{"position":[[699,5],[3422,5]]},"1202":{"position":[[1841,5],[4564,5],[6238,5],[8961,5]]},"1203":{"position":[[933,5],[3656,5]]},"1204":{"position":[[777,5],[3500,5]]},"1205":{"position":[[372,5],[2106,5],[4829,5]]},"1206":{"position":[[577,5],[3300,5],[3682,5]]},"1207":{"position":[[734,5],[3457,5]]},"1209":{"position":[[2082,5],[4805,5]]},"1217":{"position":[[0,5],[39,5],[67,5],[267,5],[690,5],[724,5],[740,5],[771,5],[797,5],[843,5],[1123,5],[1197,5],[2993,6],[3447,6],[3540,6],[3641,5],[3667,5],[3957,6],[4139,5],[4370,8],[4498,8],[5393,5],[8116,5]]},"1219":{"position":[[1379,5],[3371,5]]},"1222":{"position":[[503,5],[3226,5]]},"1223":{"position":[[513,5],[3236,5]]},"1224":{"position":[[693,5],[2685,5]]},"1226":{"position":[[316,5],[4159,5],[5861,5],[8584,5]]},"1228":{"position":[[0,5],[913,5],[939,5],[2771,5],[2805,5],[2821,5],[2852,5],[2878,5],[2924,5],[3204,5],[3278,5],[5074,6],[5528,6],[5621,6],[5722,5],[5748,5],[6038,6],[6220,5],[6451,8],[6579,8],[7474,5],[10197,5]]},"1235":{"position":[[130,5],[3342,5],[6065,5]]},"1237":{"position":[[486,5],[4329,5],[6031,5],[8754,5]]},"1240":{"position":[[54,5],[265,5]]},"1243":{"position":[[831,5],[860,6],[932,5],[1015,6],[1160,5]]},"1244":{"position":[[8,5],[374,6]]},"1245":{"position":[[21,5],[356,8],[533,5]]},"1247":{"position":[[556,5]]},"1248":{"position":[[43,5],[94,5]]},"1249":{"position":[[113,5]]},"1250":{"position":[[57,5]]},"1252":{"position":[[77,5]]},"1256":{"position":[[80,5]]},"1258":{"position":[[205,5]]},"1259":{"position":[[330,5]]},"1262":{"position":[[115,5],[261,5],[746,5],[829,5]]},"1278":{"position":[[222,6],[284,6]]},"1279":{"position":[[146,6],[208,6]]},"1289":{"position":[[205,5]]},"1290":{"position":[[330,5]]},"1293":{"position":[[115,5],[261,5],[746,5],[829,5]]},"1309":{"position":[[222,6],[284,6]]},"1310":{"position":[[146,6],[208,6]]},"1317":{"position":[[205,5]]},"1318":{"position":[[330,5]]},"1321":{"position":[[115,5],[261,5],[746,5],[829,5]]},"1337":{"position":[[222,6],[284,6]]},"1338":{"position":[[146,6],[208,6]]},"1346":{"position":[[11,5]]},"1348":{"position":[[3837,5],[4109,5]]},"1351":{"position":[[1002,5],[5103,5],[5165,5],[5318,5]]},"1353":{"position":[[3238,8]]},"1355":{"position":[[6091,5],[7104,5]]},"1356":{"position":[[1818,5]]},"1358":{"position":[[2047,5]]},"1360":{"position":[[4431,5],[5874,8]]},"1362":{"position":[[4736,6],[8018,5],[8286,5],[10674,5]]},"1363":{"position":[[4335,5],[5584,5],[6010,8]]},"1364":{"position":[[8867,5],[9135,5],[11641,5]]},"1366":{"position":[[2533,5]]},"1367":{"position":[[8106,5],[8374,5],[13460,5],[13513,6]]},"1370":{"position":[[674,6],[1638,5],[2974,8]]},"1373":{"position":[[2760,6],[5191,5],[8361,6],[8608,6]]},"1374":{"position":[[703,5],[2062,5],[2210,5],[2446,5]]},"1381":{"position":[[679,6]]},"1382":{"position":[[3005,6],[4875,5],[7272,8],[7543,5],[11629,6],[11929,5],[11959,5],[11976,5],[12022,5]]},"1383":{"position":[[1260,5],[2812,5],[3594,5],[3938,5],[4226,5],[4526,5],[4853,6],[5329,5],[5464,5],[5551,5],[5637,5],[5760,6],[6464,5],[8808,6],[8870,5],[8987,5]]},"1384":{"position":[[10246,5],[13607,5],[19836,8],[19907,6],[20129,6],[20216,5],[20307,5],[20433,6],[20572,5],[20669,6],[20817,5],[21013,5],[21088,5],[21129,5]]},"1385":{"position":[[7207,6],[7646,5]]},"1386":{"position":[[678,5],[2273,5],[2353,5],[2610,5],[2700,8],[2781,8],[4112,5],[4361,6],[4394,5],[4853,6],[5456,5],[5556,5],[5803,6],[5945,5],[6042,7]]},"1387":{"position":[[6536,5],[6667,5],[10580,6],[10977,5]]},"1388":{"position":[[3470,6],[4915,5],[5038,6],[5569,5],[6325,5],[6448,6],[8141,8],[8412,5],[10345,6]]},"1390":{"position":[[584,6],[1977,6]]},"1392":{"position":[[2469,6]]},"1393":{"position":[[3999,6],[5242,5],[8987,8],[9150,5],[9460,7],[9481,5]]},"1395":{"position":[[695,6]]},"1397":{"position":[[687,6]]},"1398":{"position":[[6237,5]]},"1399":{"position":[[1681,5]]},"1403":{"position":[[3846,5],[8362,5],[8401,5],[8454,5]]},"1405":{"position":[[1101,6],[2962,5],[3843,5]]},"1407":{"position":[[1138,6],[2278,5],[3383,5],[4462,5]]},"1408":{"position":[[912,6]]},"1410":{"position":[[1555,6],[3964,5],[5254,5]]},"1416":{"position":[[1376,5],[2570,8],[2839,5]]},"1421":{"position":[[2253,8],[2339,8]]},"1422":{"position":[[927,5],[2590,7]]},"1423":{"position":[[917,5]]},"1427":{"position":[[4896,6],[5264,5],[6303,5],[7909,6]]},"1429":{"position":[[3508,6],[3612,5],[6176,5]]},"1439":{"position":[[6738,5],[7395,6],[8733,6]]},"1442":{"position":[[516,6],[1865,5],[3002,6]]},"1446":{"position":[[694,5],[1606,5],[1623,5],[1693,6],[1816,5],[1905,5],[2396,6],[2705,5]]},"1448":{"position":[[950,6]]},"1449":{"position":[[893,6]]},"1454":{"position":[[9506,8],[9553,8],[10093,6]]},"1458":{"position":[[2206,6]]},"1461":{"position":[[2553,5]]},"1462":{"position":[[4274,5],[6040,5],[6190,8],[8232,5],[8892,5]]},"1465":{"position":[[3012,5]]},"1467":{"position":[[6678,5],[6801,6],[7152,5],[7303,8],[9294,5]]},"1468":{"position":[[1430,5]]},"1469":{"position":[[817,6]]},"1471":{"position":[[1667,6],[3806,5],[5351,5]]},"1472":{"position":[[1629,6],[3277,5],[4390,5],[6237,5]]},"1473":{"position":[[1912,6],[4127,5]]},"1477":{"position":[[1838,5],[1856,5],[1949,5],[3212,5]]},"1478":{"position":[[2544,5],[2562,5],[3454,9]]},"1486":{"position":[[774,5],[2074,5],[3136,5],[3615,5],[4178,8],[4931,5],[5180,6]]},"1487":{"position":[[652,6],[2049,5],[2159,6]]}},"keywords":{}}],["build>",{"_index":5886,"title":{},"content":{"1136":{"position":[[3014,9]]},"1138":{"position":[[6676,9]]},"1140":{"position":[[5602,9]]},"1142":{"position":[[1046,9]]},"1146":{"position":[[986,9]]},"1148":{"position":[[4026,9]]},"1155":{"position":[[1082,9]]},"1156":{"position":[[660,9]]},"1167":{"position":[[6606,9]]},"1169":{"position":[[445,9]]},"1186":{"position":[[2250,9]]},"1187":{"position":[[2263,9]]},"1188":{"position":[[6989,9]]},"1191":{"position":[[850,9]]},"1192":{"position":[[1025,9]]},"1193":{"position":[[1077,9]]},"1194":{"position":[[717,9]]},"1195":{"position":[[695,9]]},"1196":{"position":[[505,9]]},"1197":{"position":[[1488,9]]},"1198":{"position":[[1498,9]]},"1199":{"position":[[1526,9]]},"1200":{"position":[[1393,9]]},"1201":{"position":[[653,9]]},"1202":{"position":[[1795,9],[6192,9]]},"1203":{"position":[[887,9]]},"1204":{"position":[[731,9]]},"1205":{"position":[[2060,9]]},"1206":{"position":[[531,9]]},"1207":{"position":[[688,9]]},"1209":{"position":[[2036,9]]},"1217":{"position":[[5347,9]]},"1219":{"position":[[1333,9]]},"1222":{"position":[[457,9]]},"1223":{"position":[[467,9]]},"1224":{"position":[[647,9]]},"1226":{"position":[[5815,9]]},"1228":{"position":[[7428,9]]},"1235":{"position":[[3296,9]]},"1237":{"position":[[5985,9]]}},"keywords":{}}],["build)metadata_env_var",{"_index":1202,"title":{},"content":{"94":{"position":[[1993,22]]},"226":{"position":[[1993,22]]}},"keywords":{}}],["build,buck",{"_index":8109,"title":{},"content":{"1446":{"position":[[2658,10]]}},"keywords":{}}],["build.max_work",{"_index":8560,"title":{},"content":{"1486":{"position":[[2190,18]]}},"keywords":{}}],["build/targets/run/test",{"_index":4825,"title":{},"content":{"970":{"position":[[61,22]]}},"keywords":{}}],["build_arg",{"_index":8293,"title":{},"content":{"1462":{"position":[[773,11]]},"1467":{"position":[[840,11]]}},"keywords":{}}],["build_config",{"_index":6482,"title":{},"content":{"1351":{"position":[[3832,13],[3882,15],[4134,13],[4287,16]]}},"keywords":{}}],["build_config_release_valu",{"_index":6493,"title":{},"content":{"1351":{"position":[[4658,28],[4911,28],[5024,28],[5367,30],[5754,31]]}},"keywords":{}}],["build_config_release_values.txt",{"_index":6498,"title":{},"content":{"1351":{"position":[[5523,34]]}},"keywords":{}}],["build_config_valu",{"_index":6340,"title":{},"content":{"1348":{"position":[[806,20],[3766,19]]},"1350":{"position":[[1170,20]]},"1351":{"position":[[2417,19],[2799,19]]},"1352":{"position":[[1170,20]]}},"keywords":{}}],["build_config_values_fil",{"_index":6341,"title":{},"content":{"1348":{"position":[[842,25]]},"1350":{"position":[[1206,25]]},"1351":{"position":[[2440,24],[2822,24],[2922,24],[5727,24]]},"1352":{"position":[[1206,25]]}},"keywords":{}}],["build_edoc_chunk",{"_index":7442,"title":{},"content":{"1393":{"position":[[430,18],[3935,18]]}},"keywords":{}}],["build_fil",{"_index":6018,"title":{},"content":{"1195":{"position":[[97,16],[125,16]]}},"keywords":{}}],["build_mod",{"_index":7747,"title":{},"content":{"1407":{"position":[[537,11],[4669,10]]}},"keywords":{}}],["build_mode.bzl",{"_index":4986,"title":{},"content":{"998":{"position":[[246,14]]}},"keywords":{}}],["build_string_source_map",{"_index":6424,"title":{},"content":{"1350":{"position":[[1248,24]]},"1352":{"position":[[1248,24]]}},"keywords":{}}],["build_vers",{"_index":6982,"title":{},"content":{"1368":{"position":[[473,14]]}},"keywords":{}}],["buildabl",{"_index":3591,"title":{},"content":{"693":{"position":[[8425,9]]}},"keywords":{}}],["buildconfig",{"_index":6392,"title":{},"content":{"1348":{"position":[[3687,11],[3898,11],[4019,11]]},"1351":{"position":[[742,11],[892,11],[3022,11],[3102,11],[3507,11]]}},"keywords":{}}],["buildconfig.commit_id",{"_index":6486,"title":{},"content":{"1351":{"position":[[4190,22]]}},"keywords":{}}],["buildconfig.debug",{"_index":6479,"title":{},"content":{"1351":{"position":[[3267,17]]}},"keywords":{}}],["buildconfig.java",{"_index":6471,"title":{},"content":{"1351":{"position":[[951,16],[1945,16],[2226,16],[2608,16]]}},"keywords":{}}],["builder",{"_index":6889,"title":{},"content":{"1363":{"position":[[4846,7]]}},"keywords":{}}],["builderror",{"_index":5753,"title":{},"content":{"1114":{"position":[[397,11]]}},"keywords":{}}],["buildfil",{"_index":1529,"title":{"1134":{"position":[[18,9]]}},"content":{"278":{"position":[[64,9]]},"414":{"position":[[69,10]]},"425":{"position":[[67,10]]},"460":{"position":[[66,9]]},"477":{"position":[[131,11],[175,11]]},"622":{"position":[[170,9]]},"793":{"position":[[69,10]]},"804":{"position":[[67,10]]},"919":{"position":[[390,10]]},"1134":{"position":[[94,10]]},"1258":{"position":[[710,11]]},"1289":{"position":[[710,11]]},"1317":{"position":[[710,11]]}},"keywords":{}}],["buildfile(target",{"_index":6240,"title":{"1265":{"position":[[0,18]]},"1296":{"position":[[0,18]]},"1324":{"position":[[0,18]]}},"content":{"1259":{"position":[[555,18]]},"1290":{"position":[[555,18]]},"1318":{"position":[[555,18]]}},"keywords":{}}],["buildmod",{"_index":7748,"title":{},"content":{"1407":{"position":[[1234,9],[2305,11]]}},"keywords":{}}],["buildreport",{"_index":5711,"title":{},"content":{"1112":{"position":[[0,11],[2765,13]]}},"keywords":{}}],["buildreportentri",{"_index":5715,"title":{},"content":{"1112":{"position":[[352,18],[893,16]]}},"keywords":{}}],["buildrespons",{"_index":5786,"title":{},"content":{"1125":{"position":[[131,13]]}},"keywords":{}}],["buildresult",{"_index":2108,"title":{},"content":{"402":{"position":[[118,11]]},"781":{"position":[[118,11]]}},"keywords":{}}],["builds.url",{"_index":7929,"title":{},"content":{"1423":{"position":[[2259,12]]}},"keywords":{}}],["builds/test",{"_index":43,"title":{},"content":{"4":{"position":[[145,12]]}},"keywords":{}}],["built",{"_index":489,"title":{"682":{"position":[[33,5]]}},"content":{"17":{"position":[[160,6],[1255,5]]},"92":{"position":[[699,5]]},"224":{"position":[[699,5]]},"245":{"position":[[139,6]]},"246":{"position":[[138,6]]},"298":{"position":[[1021,5],[1070,5],[1184,6]]},"368":{"position":[[2312,6],[2970,5],[3387,5]]},"572":{"position":[[169,5]]},"675":{"position":[[1290,5]]},"678":{"position":[[33,5]]},"682":{"position":[[107,5],[289,5]]},"685":{"position":[[38,5]]},"688":{"position":[[1116,5]]},"690":{"position":[[2941,5],[2971,5]]},"693":{"position":[[7557,6],[9277,5]]},"695":{"position":[[452,5],[494,5],[725,5]]},"704":{"position":[[1476,7]]},"706":{"position":[[2045,5]]},"722":{"position":[[984,5]]},"747":{"position":[[2312,6],[2970,5],[3387,5]]},"900":{"position":[[2058,5]]},"912":{"position":[[93,5]]},"927":{"position":[[180,6]]},"937":{"position":[[29,5]]},"938":{"position":[[605,5]]},"950":{"position":[[1112,5]]},"1004":{"position":[[64,5]]},"1011":{"position":[[102,6]]},"1014":{"position":[[132,5]]},"1023":{"position":[[95,5]]},"1025":{"position":[[231,5]]},"1026":{"position":[[240,5]]},"1035":{"position":[[494,6]]},"1040":{"position":[[219,5]]},"1067":{"position":[[691,6]]},"1102":{"position":[[4,5]]},"1103":{"position":[[2030,5]]},"1104":{"position":[[453,5]]},"1112":{"position":[[168,5],[2016,5],[2052,5],[2225,5]]},"1138":{"position":[[1255,5],[2190,6]]},"1140":{"position":[[1679,6]]},"1155":{"position":[[679,5]]},"1167":{"position":[[2683,6]]},"1188":{"position":[[1732,6]]},"1217":{"position":[[1424,6]]},"1228":{"position":[[3505,6]]},"1240":{"position":[[134,5]]},"1351":{"position":[[4985,5]]},"1361":{"position":[[757,5]]},"1362":{"position":[[5073,5]]},"1364":{"position":[[5100,5]]},"1366":{"position":[[1035,5]]},"1367":{"position":[[6668,5]]},"1370":{"position":[[1688,5]]},"1380":{"position":[[652,5]]},"1381":{"position":[[2220,5]]},"1382":{"position":[[3237,5]]},"1383":{"position":[[8345,5]]},"1384":{"position":[[4410,6],[19415,5],[21188,6]]},"1385":{"position":[[1905,5]]},"1386":{"position":[[2323,5],[4213,6],[4941,5]]},"1387":{"position":[[4253,5]]},"1393":{"position":[[7206,5]]},"1397":{"position":[[2108,5]]},"1398":{"position":[[4149,5]]},"1402":{"position":[[1735,5]]},"1415":{"position":[[5392,5]]},"1416":{"position":[[3474,5]]},"1420":{"position":[[2611,5]]},"1429":{"position":[[5089,6],[5156,5]]},"1440":{"position":[[5083,6],[5150,5]]},"1454":{"position":[[9428,5]]},"1458":{"position":[[1036,5],[2074,5],[2114,5],[2172,6]]},"1486":{"position":[[2834,5]]}},"keywords":{}}],["builtin",{"_index":615,"title":{"1156":{"position":[[19,9]]}},"content":{"20":{"position":[[339,7]]},"125":{"position":[[83,7]]},"248":{"position":[[83,7]]},"688":{"position":[[78,7]]},"914":{"position":[[24,7]]},"917":{"position":[[4,7]]},"926":{"position":[[77,7]]},"1154":{"position":[[174,8],[219,8]]},"1155":{"position":[[648,8]]},"1156":{"position":[[36,9],[173,8]]},"1383":{"position":[[4479,7]]},"1388":{"position":[[4809,7],[6219,7]]},"1461":{"position":[[2789,7]]},"1467":{"position":[[6572,7]]}},"keywords":{}}],["bulid",{"_index":130,"title":{},"content":{"6":{"position":[[305,6]]}},"keywords":{}}],["bump",{"_index":347,"title":{},"content":{"10":{"position":[[988,4]]},"1050":{"position":[[2014,6]]}},"keywords":{}}],["bunch",{"_index":365,"title":{},"content":{"11":{"position":[[325,5]]},"1253":{"position":[[177,5]]}},"keywords":{}}],["bundl",{"_index":4975,"title":{"1095":{"position":[[4,7]]}},"content":{"995":{"position":[[970,7]]},"1004":{"position":[[915,6]]},"1050":{"position":[[290,8]]},"1093":{"position":[[688,7],[705,7]]},"1094":{"position":[[52,7]]},"1095":{"position":[[4,7],[112,7]]},"1345":{"position":[[331,7],[391,6]]},"1359":{"position":[[904,6]]},"1360":{"position":[[4534,7]]},"1361":{"position":[[896,6],[963,6]]},"1363":{"position":[[2961,6],[3024,6],[4325,6],[4417,6],[4678,7],[4723,6],[4770,7],[4940,7],[5473,7],[5521,6],[5726,7],[5792,6],[6455,6],[6869,6]]},"1365":{"position":[[429,7],[1899,6]]},"1366":{"position":[[944,7],[970,7],[2039,6],[2332,7],[2663,8],[2912,7],[3009,7]]},"1367":{"position":[[9856,7],[13535,7]]},"1380":{"position":[[786,6],[853,6]]},"1383":{"position":[[6566,7]]},"1395":{"position":[[380,8],[711,7],[1656,8],[1673,7],[1950,7]]},"1403":{"position":[[3949,7]]},"1459":{"position":[[623,6]]}},"keywords":{}}],["bundle'",{"_index":6898,"title":{},"content":{"1363":{"position":[[5932,8]]}},"keywords":{}}],["bundle_config_fil",{"_index":6501,"title":{},"content":{"1352":{"position":[[1283,19]]}},"keywords":{}}],["bundle_nam",{"_index":8007,"title":{},"content":{"1431":{"position":[[459,12]]},"1432":{"position":[[546,12]]}},"keywords":{}}],["bundle_name_for_flavor",{"_index":8008,"title":{},"content":{"1431":{"position":[[488,23]]},"1432":{"position":[[575,23]]}},"keywords":{}}],["bundle_typ",{"_index":6848,"title":{},"content":{"1363":{"position":[[1426,12]]}},"keywords":{}}],["busi",{"_index":6091,"title":{"1230":{"position":[[15,6]]}},"content":{"1231":{"position":[[17,4]]}},"keywords":{}}],["butandroid_binari",{"_index":3581,"title":{},"content":{"693":{"position":[[7671,17]]}},"keywords":{}}],["bxl",{"_index":32,"title":{"402":{"position":[[0,4]]},"709":{"position":[[0,3]]},"781":{"position":[[0,4]]},"832":{"position":[[11,3]]},"836":{"position":[[31,3]]},"840":{"position":[[10,4]]},"841":{"position":[[10,4]]},"842":{"position":[[0,3]]},"843":{"position":[[7,3]]},"860":{"position":[[36,3]]},"862":{"position":[[0,3]]},"864":{"position":[[26,3]]},"868":{"position":[[4,3]]},"869":{"position":[[25,6]]},"870":{"position":[[18,3]]},"875":{"position":[[0,3]]},"903":{"position":[[19,3]]},"904":{"position":[[0,3]]},"905":{"position":[[30,3]]},"908":{"position":[[0,3]]},"922":{"position":[[0,3]]},"948":{"position":[[0,3]]},"952":{"position":[[24,5]]},"961":{"position":[[11,3]]},"966":{"position":[[6,3]]},"1139":{"position":[[0,3]]},"1140":{"position":[[5,4]]},"1188":{"position":[[13,4]]}},"content":{"4":{"position":[[19,3]]},"20":{"position":[[600,4]]},"73":{"position":[[120,4]]},"209":{"position":[[142,3]]},"242":{"position":[[326,3],[460,3]]},"298":{"position":[[625,3],[677,3],[1005,3],[3089,4]]},"300":{"position":[[191,3],[271,3],[389,3],[469,3]]},"303":{"position":[[118,3]]},"305":{"position":[[161,3],[282,3]]},"334":{"position":[[565,3]]},"344":{"position":[[165,3],[277,3]]},"346":{"position":[[167,3],[350,3]]},"347":{"position":[[265,3],[386,3]]},"402":{"position":[[0,4]]},"416":{"position":[[474,3],[552,3]]},"417":{"position":[[704,3],[782,3]]},"422":{"position":[[324,4]]},"474":{"position":[[304,3]]},"496":{"position":[[120,4]]},"693":{"position":[[1828,4],[1833,3],[2015,3]]},"710":{"position":[[35,4],[344,3]]},"711":{"position":[[923,4]]},"781":{"position":[[0,4]]},"795":{"position":[[474,3],[552,3]]},"796":{"position":[[704,3],[782,3]]},"801":{"position":[[324,4]]},"832":{"position":[[11,3],[219,3],[402,3],[594,4],[608,3],[721,3],[778,3],[813,3],[868,4]]},"833":{"position":[[156,3],[367,3]]},"834":{"position":[[294,4],[367,3],[456,3],[797,3]]},"835":{"position":[[136,3],[207,5],[308,3]]},"836":{"position":[[27,3]]},"837":{"position":[[55,3]]},"839":{"position":[[4,3],[109,3],[165,3]]},"840":{"position":[[12,4],[118,3],[144,4],[199,3],[736,3],[1386,3],[1422,3],[1482,3],[1785,3]]},"841":{"position":[[9,3],[55,3],[318,3],[362,3],[438,3]]},"844":{"position":[[29,3]]},"845":{"position":[[39,3]]},"846":{"position":[[203,3],[767,3],[1103,4],[1236,4]]},"847":{"position":[[43,3]]},"848":{"position":[[129,3],[517,5]]},"850":{"position":[[2,3],[577,3],[675,3],[770,3]]},"851":{"position":[[30,3]]},"855":{"position":[[106,3]]},"856":{"position":[[321,3],[378,3]]},"858":{"position":[[16,3]]},"860":{"position":[[18,3],[440,3],[527,3],[611,3]]},"861":{"position":[[159,3],[460,3]]},"864":{"position":[[3,4],[237,3],[621,3],[1566,3],[1592,3]]},"865":{"position":[[44,4],[66,3],[440,3],[680,3]]},"867":{"position":[[240,3],[1566,3]]},"869":{"position":[[0,3],[454,3],[545,3],[683,3],[776,3],[789,3]]},"870":{"position":[[32,3],[166,3],[252,3],[722,4],[749,3],[959,3],[984,3],[1357,3]]},"872":{"position":[[464,3],[807,3]]},"873":{"position":[[330,3],[437,3],[545,3]]},"874":{"position":[[73,3]]},"876":{"position":[[40,3],[282,3],[378,3]]},"877":{"position":[[395,4],[645,3],[687,3]]},"878":{"position":[[100,3],[768,3],[1019,3],[1151,4]]},"904":{"position":[[0,3],[69,3],[1337,4]]},"905":{"position":[[0,3],[132,3],[1307,3]]},"907":{"position":[[77,4]]},"908":{"position":[[10,3]]},"923":{"position":[[35,3]]},"924":{"position":[[301,3]]},"950":{"position":[[0,3],[206,3],[274,4],[436,3],[551,3],[604,3],[716,3],[853,3]]},"951":{"position":[[155,3],[716,3],[960,3],[1132,4],[1159,3],[1256,3],[1356,4]]},"954":{"position":[[147,4],[712,3],[855,3]]},"955":{"position":[[439,4],[819,3],[935,3]]},"956":{"position":[[176,4]]},"958":{"position":[[355,4]]},"959":{"position":[[26,3],[215,3],[282,3],[470,3]]},"961":{"position":[[69,4],[109,3],[191,5],[222,4],[374,3],[442,4],[608,4],[660,3],[709,3],[855,3]]},"962":{"position":[[48,4]]},"963":{"position":[[34,3]]},"964":{"position":[[88,3],[151,3],[263,3],[310,3],[324,3],[709,3],[735,3],[807,3]]},"965":{"position":[[32,3],[80,3],[259,3],[429,3],[539,3],[557,3]]},"966":{"position":[[10,3],[142,3]]},"1056":{"position":[[216,3]]},"1112":{"position":[[3745,3]]},"1140":{"position":[[4,3],[37,3],[133,3],[236,4],[280,3]]},"1185":{"position":[[152,3],[164,3]]},"1188":{"position":[[8,3],[48,3],[186,3],[289,4],[333,3]]},"1190":{"position":[[1182,4]]},"1205":{"position":[[69,4]]}},"keywords":{}}],["bxl'",{"_index":4113,"title":{},"content":{"878":{"position":[[1168,5]]},"904":{"position":[[810,5]]}},"keywords":{}}],["bxl)bxl",{"_index":4132,"title":{},"content":{"882":{"position":[[40,8]]}},"keywords":{}}],["bxl.action",{"_index":1442,"title":{"208":{"position":[[0,11]]}},"content":{"298":{"position":[[600,11]]}},"keywords":{}}],["bxl.actionquerynod",{"_index":1435,"title":{"203":{"position":[[0,19]]}},"content":{"846":{"position":[[967,20]]}},"keywords":{}}],["bxl.actionquerynode.act",{"_index":1436,"title":{"204":{"position":[[0,27]]}},"content":{"204":{"position":[[4,28]]}},"keywords":{}}],["bxl.actionquerynode.analysi",{"_index":1438,"title":{"205":{"position":[[0,29]]}},"content":{"205":{"position":[[4,30]]}},"keywords":{}}],["bxl.actionquerynode.attr",{"_index":1440,"title":{"206":{"position":[[0,26]]}},"content":{"206":{"position":[[0,26]]}},"keywords":{}}],["bxl.actionquerynode.rule_typ",{"_index":1441,"title":{"207":{"position":[[0,30]]}},"content":{"207":{"position":[[0,30]]}},"keywords":{}}],["bxl.actions.act",{"_index":1443,"title":{"209":{"position":[[0,20]]}},"content":{"209":{"position":[[0,20]]}},"keywords":{}}],["bxl.actions.exec_dep",{"_index":1445,"title":{"210":{"position":[[0,22]]}},"content":{"210":{"position":[[0,22]]}},"keywords":{}}],["bxl.actions.toolchain",{"_index":1448,"title":{"211":{"position":[[0,23]]}},"content":{"211":{"position":[[0,23]]}},"keywords":{}}],["bxl.analysisresult",{"_index":1439,"title":{"232":{"position":[[0,18]]}},"content":{"205":{"position":[[48,18]]},"294":{"position":[[420,18],[453,19]]}},"keywords":{}}],["bxl.analysisresult.as_depend",{"_index":1449,"title":{"233":{"position":[[0,33]]}},"content":{"233":{"position":[[4,34]]}},"keywords":{}}],["bxl.analysisresult.provid",{"_index":1455,"title":{"234":{"position":[[0,29]]}},"content":{"234":{"position":[[4,30]]}},"keywords":{}}],["bxl.analyze(bxl.cquery.deps("foo"",{"_index":4536,"title":{},"content":{"924":{"position":[[1013,45]]}},"keywords":{}}],["bxl.aquerycontext",{"_index":1460,"title":{"235":{"position":[[0,17]]}},"content":{"295":{"position":[[79,17]]}},"keywords":{}}],["bxl.aquerycontext.all_act",{"_index":1461,"title":{"236":{"position":[[0,30]]}},"content":{"236":{"position":[[4,30]]}},"keywords":{}}],["bxl.aquerycontext.all_output",{"_index":1468,"title":{"237":{"position":[[0,30]]}},"content":{"237":{"position":[[4,30]]}},"keywords":{}}],["bxl.aquerycontext.attrfilt",{"_index":1471,"title":{"238":{"position":[[0,29]]}},"content":{"238":{"position":[[4,29]]}},"keywords":{}}],["bxl.aquerycontext.dep",{"_index":1474,"title":{"239":{"position":[[0,23]]}},"content":{"239":{"position":[[4,23]]}},"keywords":{}}],["bxl.aquerycontext.ev",{"_index":1478,"title":{"240":{"position":[[0,23]]}},"content":{"240":{"position":[[4,23]]}},"keywords":{}}],["bxl.auditcontext",{"_index":1484,"title":{"241":{"position":[[0,16]]}},"content":{"296":{"position":[[30,16]]}},"keywords":{}}],["bxl.auditcontext.cel",{"_index":1485,"title":{"242":{"position":[[0,22]]}},"content":{"242":{"position":[[4,22]]}},"keywords":{}}],["bxl.auditcontext.output",{"_index":1492,"title":{"243":{"position":[[0,24]]}},"content":{"243":{"position":[[4,24]]}},"keywords":{}}],["bxl.buildresult",{"_index":1498,"title":{"244":{"position":[[0,15]]}},"content":{"297":{"position":[[435,16]]},"345":{"position":[[67,15],[351,16]]}},"keywords":{}}],["bxl.buildresult.artifact",{"_index":1499,"title":{"245":{"position":[[0,26]]}},"content":{"245":{"position":[[4,27]]}},"keywords":{}}],["bxl.buildresult.failur",{"_index":1505,"title":{"246":{"position":[[0,25]]}},"content":{"246":{"position":[[4,26]]}},"keywords":{}}],["bxl.cliarg",{"_index":2129,"title":{},"content":{"403":{"position":[[60,13]]},"782":{"position":[[60,13]]}},"keywords":{}}],["bxl.configuredtargetnod",{"_index":1462,"title":{"275":{"position":[[0,24]]}},"content":{"236":{"position":[[44,24],[252,24]]},"237":{"position":[[44,24],[252,24]]},"238":{"position":[[66,24],[274,24]]},"239":{"position":[[38,24],[246,24]]},"286":{"position":[[52,24]]},"294":{"position":[[34,24]]},"297":{"position":[[31,24]]},"301":{"position":[[44,24],[346,24]]},"309":{"position":[[41,24]]},"324":{"position":[[38,24],[279,24]]},"325":{"position":[[66,24]]},"326":{"position":[[76,24]]},"327":{"position":[[42,24]]},"328":{"position":[[38,24]]},"330":{"position":[[51,24]]},"331":{"position":[[39,24]]},"332":{"position":[[49,24]]},"333":{"position":[[67,24]]},"334":{"position":[[99,24]]},"335":{"position":[[39,24],[282,24]]},"336":{"position":[[38,24],[279,24]]},"337":{"position":[[40,24]]},"338":{"position":[[69,24]]}},"keywords":{}}],["bxl.configuredtargetnode.attrs_eag",{"_index":1508,"title":{"276":{"position":[[0,37]]}},"content":{"276":{"position":[[4,38]]}},"keywords":{}}],["bxl.configuredtargetnode.attrs_lazi",{"_index":1519,"title":{"277":{"position":[[0,36]]}},"content":{"277":{"position":[[4,37]]}},"keywords":{}}],["bxl.configuredtargetnode.buildfile_path",{"_index":1527,"title":{"278":{"position":[[0,40]]}},"content":{"278":{"position":[[0,40]]}},"keywords":{}}],["bxl.configuredtargetnode.get_sourc",{"_index":1534,"title":{"279":{"position":[[0,36]]}},"content":{"279":{"position":[[4,36]]}},"keywords":{}}],["bxl.configuredtargetnode.label",{"_index":1540,"title":{"280":{"position":[[0,31]]}},"content":{"280":{"position":[[0,31]]}},"keywords":{}}],["bxl.configuredtargetnode.resolved_attrs_eag",{"_index":1543,"title":{"281":{"position":[[0,46]]}},"content":{},"keywords":{}}],["bxl.configuredtargetnode.resolved_attrs_eager(ctx",{"_index":1544,"title":{},"content":{"281":{"position":[[4,50]]}},"keywords":{}}],["bxl.configuredtargetnode.resolved_attrs_lazi",{"_index":1549,"title":{"282":{"position":[[0,45]]}},"content":{"282":{"position":[[4,45]]}},"keywords":{}}],["bxl.configuredtargetnode.rule_kind",{"_index":1556,"title":{"283":{"position":[[0,35]]}},"content":{"283":{"position":[[0,35]]}},"keywords":{}}],["bxl.configuredtargetnode.rule_typ",{"_index":1562,"title":{"284":{"position":[[0,35]]}},"content":{"284":{"position":[[0,35]]}},"keywords":{}}],["bxl.configuredtargetnode.sourc",{"_index":1567,"title":{"285":{"position":[[0,33]]}},"content":{"285":{"position":[[4,34]]}},"keywords":{}}],["bxl.configuredtargetnode.unwrap_forward",{"_index":1570,"title":{"286":{"position":[[0,40]]}},"content":{"286":{"position":[[4,41]]}},"keywords":{}}],["bxl.configuredtargetnodesfor",{"_index":3889,"title":{},"content":{"846":{"position":[[926,28]]}},"keywords":{}}],["bxl.configuredtargetset",{"_index":3963,"title":{},"content":{"859":{"position":[[225,23]]}},"keywords":{}}],["bxl.context",{"_index":1535,"title":{"293":{"position":[[0,11]]}},"content":{"279":{"position":[[57,11]]},"281":{"position":[[55,12]]},"282":{"position":[[55,11]]},"416":{"position":[[59,12]]},"417":{"position":[[275,12]]},"795":{"position":[[59,12]]},"796":{"position":[[275,12]]},"839":{"position":[[67,12]]},"840":{"position":[[1233,13]]}},"keywords":{}}],["bxl.context.analysi",{"_index":1606,"title":{"294":{"position":[[0,21]]}},"content":{"294":{"position":[[4,21]]}},"keywords":{}}],["bxl.context.aqueri",{"_index":1616,"title":{"295":{"position":[[0,19]]}},"content":{"295":{"position":[[4,19]]}},"keywords":{}}],["bxl.context.audit",{"_index":1620,"title":{"296":{"position":[[0,18]]}},"content":{"296":{"position":[[4,19]]}},"keywords":{}}],["bxl.context.build",{"_index":1623,"title":{"297":{"position":[[0,18]]}},"content":{"297":{"position":[[4,18]]}},"keywords":{}}],["bxl.context.bxl_act",{"_index":1628,"title":{"298":{"position":[[0,24]]}},"content":{"298":{"position":[[4,24]]}},"keywords":{}}],["bxl.context.cell_root",{"_index":1660,"title":{"299":{"position":[[0,22]]}},"content":{"299":{"position":[[4,23]]}},"keywords":{}}],["bxl.context.cli_arg",{"_index":1661,"title":{"300":{"position":[[0,21]]}},"content":{"300":{"position":[[0,21]]}},"keywords":{}}],["bxl.context.configured_target",{"_index":1668,"title":{"301":{"position":[[0,31]]}},"content":{"301":{"position":[[4,31]]}},"keywords":{}}],["bxl.context.cqueri",{"_index":1674,"title":{"302":{"position":[[0,19]]}},"content":{"302":{"position":[[4,19]]}},"keywords":{}}],["bxl.context.f",{"_index":1678,"title":{"303":{"position":[[0,15]]}},"content":{"303":{"position":[[0,15]]}},"keywords":{}}],["bxl.context.instant_ev",{"_index":1681,"title":{"304":{"position":[[0,26]]}},"content":{"304":{"position":[[4,28]]}},"keywords":{}}],["bxl.context.output",{"_index":1684,"title":{"305":{"position":[[0,19]]}},"content":{"305":{"position":[[0,19]]}},"keywords":{}}],["bxl.context.resolv",{"_index":1691,"title":{"306":{"position":[[0,20]]}},"content":{},"keywords":{}}],["bxl.context.resolve(action_factori",{"_index":1692,"title":{},"content":{"306":{"position":[[4,35]]}},"keywords":{}}],["bxl.context.root",{"_index":1716,"title":{"307":{"position":[[0,17]]}},"content":{"307":{"position":[[4,18]]}},"keywords":{}}],["bxl.context.target_exist",{"_index":1717,"title":{"308":{"position":[[0,26]]}},"content":{},"keywords":{}}],["bxl.context.target_exists(label",{"_index":1718,"title":{},"content":{"308":{"position":[[4,32]]}},"keywords":{}}],["bxl.context.target_univers",{"_index":1720,"title":{"309":{"position":[[0,28]]}},"content":{"309":{"position":[[4,28]]}},"keywords":{}}],["bxl.context.unconfigured_sub_target",{"_index":1726,"title":{"310":{"position":[[0,37]]}},"content":{"310":{"position":[[4,37]]}},"keywords":{}}],["bxl.context.unconfigured_target",{"_index":1729,"title":{"311":{"position":[[0,33]]}},"content":{"311":{"position":[[4,33]]}},"keywords":{}}],["bxl.context.uqueri",{"_index":1731,"title":{"312":{"position":[[0,19]]}},"content":{"312":{"position":[[4,20]]}},"keywords":{}}],["bxl.cquerycontext",{"_index":1675,"title":{"323":{"position":[[0,17]]}},"content":{"302":{"position":[[79,17]]}},"keywords":{}}],["bxl.cquerycontext.allpath",{"_index":1772,"title":{"324":{"position":[[0,27]]}},"content":{"324":{"position":[[4,27]]}},"keywords":{}}],["bxl.cquerycontext.attrfilt",{"_index":1774,"title":{"325":{"position":[[0,29]]}},"content":{"325":{"position":[[4,29]]}},"keywords":{}}],["bxl.cquerycontext.attrregexfilt",{"_index":1775,"title":{"326":{"position":[[0,34]]}},"content":{"326":{"position":[[4,34]]}},"keywords":{}}],["bxl.cquerycontext.buildfil",{"_index":1783,"title":{"327":{"position":[[0,28]]}},"content":{"327":{"position":[[4,28]]}},"keywords":{}}],["bxl.cquerycontext.dep",{"_index":1790,"title":{"328":{"position":[[0,23]]}},"content":{"328":{"position":[[4,23]]}},"keywords":{}}],["bxl.cquerycontext.ev",{"_index":1793,"title":{"329":{"position":[[0,23]]}},"content":{"329":{"position":[[4,23]]}},"keywords":{}}],["bxl.cquerycontext.filt",{"_index":1801,"title":{"330":{"position":[[0,25]]}},"content":{"330":{"position":[[4,25]]}},"keywords":{}}],["bxl.cquerycontext.input",{"_index":1805,"title":{"331":{"position":[[0,25]]}},"content":{"331":{"position":[[4,25]]}},"keywords":{}}],["bxl.cquerycontext.kind",{"_index":1808,"title":{"332":{"position":[[0,23]]}},"content":{"332":{"position":[[4,23]]}},"keywords":{}}],["bxl.cquerycontext.nattrfilt",{"_index":1812,"title":{"333":{"position":[[0,30]]}},"content":{"333":{"position":[[4,30]]}},"keywords":{}}],["bxl.cquerycontext.own",{"_index":1815,"title":{"334":{"position":[[0,24]]}},"content":{"334":{"position":[[4,24]]}},"keywords":{}}],["bxl.cquerycontext.rdep",{"_index":1821,"title":{"335":{"position":[[0,24]]}},"content":{"335":{"position":[[4,24]]}},"keywords":{}}],["bxl.cquerycontext.somepath",{"_index":1828,"title":{"336":{"position":[[0,27]]}},"content":{"336":{"position":[[4,27]]}},"keywords":{}}],["bxl.cquerycontext.testsof",{"_index":1829,"title":{"337":{"position":[[0,26]]}},"content":{"337":{"position":[[4,26]]}},"keywords":{}}],["bxl.cquerycontext.testsof_with_default_target_platform",{"_index":1831,"title":{"338":{"position":[[0,55]]}},"content":{"338":{"position":[[4,55]]}},"keywords":{}}],["bxl.ctarget_set([cnode_a",{"_index":2192,"title":{},"content":{"409":{"position":[[183,25]]},"788":{"position":[[183,25]]}},"keywords":{}}],["bxl.ctarget_set(nod",{"_index":3962,"title":{},"content":{"859":{"position":[[157,22]]}},"keywords":{}}],["bxl.ensuredartifact",{"_index":1579,"title":{"287":{"position":[[0,19]]}},"content":{"344":{"position":[[54,19]]}},"keywords":{}}],["bxl.ensuredartifact.abs_path",{"_index":1580,"title":{"288":{"position":[[0,29]]}},"content":{"288":{"position":[[4,30]]}},"keywords":{}}],["bxl.ensuredartifact.rel_path",{"_index":1597,"title":{"289":{"position":[[0,29]]}},"content":{"289":{"position":[[4,30]]}},"keywords":{}}],["bxl.filenod",{"_index":1528,"title":{"290":{"position":[[0,12]]}},"content":{"278":{"position":[[41,12]]},"314":{"position":[[52,12]]},"315":{"position":[[43,12]]},"316":{"position":[[43,12]]},"317":{"position":[[44,12]]},"318":{"position":[[42,12]]},"319":{"position":[[53,12]]},"320":{"position":[[44,12]]},"460":{"position":[[43,12]]}},"keywords":{}}],["bxl.filenode.cel",{"_index":1603,"title":{"291":{"position":[[0,18]]}},"content":{"291":{"position":[[0,18]]}},"keywords":{}}],["bxl.filenode.path",{"_index":1605,"title":{"292":{"position":[[0,18]]}},"content":{"292":{"position":[[0,18]]}},"keywords":{}}],["bxl.filesystem",{"_index":1679,"title":{"313":{"position":[[0,14]]}},"content":{"303":{"position":[[16,14],[44,14]]}},"keywords":{}}],["bxl.filesystem.abs_path_unsaf",{"_index":1734,"title":{"314":{"position":[[0,31]]}},"content":{},"keywords":{}}],["bxl.filesystem.abs_path_unsafe(expr",{"_index":1735,"title":{},"content":{"314":{"position":[[4,36]]}},"keywords":{}}],["bxl.filesystem.exist",{"_index":1740,"title":{"315":{"position":[[0,22]]}},"content":{},"keywords":{}}],["bxl.filesystem.exists(expr",{"_index":1741,"title":{},"content":{"315":{"position":[[4,27]]}},"keywords":{}}],["bxl.filesystem.is_dir",{"_index":1745,"title":{"316":{"position":[[0,22]]}},"content":{},"keywords":{}}],["bxl.filesystem.is_dir(expr",{"_index":1746,"title":{},"content":{"316":{"position":[[4,27]]}},"keywords":{}}],["bxl.filesystem.is_fil",{"_index":1749,"title":{"317":{"position":[[0,23]]}},"content":{},"keywords":{}}],["bxl.filesystem.is_file(expr",{"_index":1750,"title":{},"content":{"317":{"position":[[4,28]]}},"keywords":{}}],["bxl.filesystem.list",{"_index":1752,"title":{"318":{"position":[[0,20]]}},"content":{"318":{"position":[[4,20]]}},"keywords":{}}],["bxl.filesystem.project_rel_path",{"_index":1759,"title":{"319":{"position":[[0,32]]}},"content":{},"keywords":{}}],["bxl.filesystem.project_rel_path(expr",{"_index":1760,"title":{},"content":{"319":{"position":[[4,37]]}},"keywords":{}}],["bxl.filesystem.sourc",{"_index":1763,"title":{"320":{"position":[[0,22]]}},"content":{"320":{"position":[[4,22]]}},"keywords":{}}],["bxl.lazyresolvedattr",{"_index":1550,"title":{"321":{"position":[[0,21]]}},"content":{"282":{"position":[[75,21]]}},"keywords":{}}],["bxl.lazyresolvedattrs.get",{"_index":1769,"title":{"322":{"position":[[0,26]]}},"content":{},"keywords":{}}],["bxl.lazyresolvedattrs.get(attr",{"_index":1770,"title":{},"content":{"322":{"position":[[4,31]]}},"keywords":{}}],["bxl.outputstream",{"_index":1685,"title":{"343":{"position":[[0,16]]}},"content":{"305":{"position":[[20,16]]},"848":{"position":[[234,18]]}},"keywords":{}}],["bxl.outputstream.ensur",{"_index":1836,"title":{"344":{"position":[[0,24]]}},"content":{},"keywords":{}}],["bxl.outputstream.ensure(artifact",{"_index":1837,"title":{},"content":{"344":{"position":[[4,33]]}},"keywords":{}}],["bxl.outputstream.ensure_multipl",{"_index":1842,"title":{"345":{"position":[[0,33]]}},"content":{"345":{"position":[[4,33]]}},"keywords":{}}],["bxl.outputstream.print",{"_index":1854,"title":{"346":{"position":[[0,23]]}},"content":{},"keywords":{}}],["bxl.outputstream.print(*arg",{"_index":1855,"title":{},"content":{"346":{"position":[[4,29]]}},"keywords":{}}],["bxl.outputstream.print_json",{"_index":1859,"title":{"347":{"position":[[0,28]]}},"content":{},"keywords":{}}],["bxl.outputstream.print_json(valu",{"_index":1860,"title":{},"content":{"347":{"position":[[4,34]]}},"keywords":{}}],["bxl.targetunivers",{"_index":1722,"title":{"339":{"position":[[0,18]]}},"content":{"309":{"position":[[362,18]]}},"keywords":{}}],["bxl.targetuniverse.lookup",{"_index":1833,"title":{"340":{"position":[[0,26]]}},"content":{"340":{"position":[[4,26]]}},"keywords":{}}],["bxl.targetuniverse.target_set",{"_index":1834,"title":{"341":{"position":[[0,30]]}},"content":{"341":{"position":[[4,31]]}},"keywords":{}}],["bxl.targetuniverse.universe_target_set",{"_index":1835,"title":{"342":{"position":[[0,39]]}},"content":{"342":{"position":[[4,40]]}},"keywords":{}}],["bxl.unconfiguredtargetnod",{"_index":1463,"title":{"458":{"position":[[0,26]]}},"content":{"236":{"position":[[71,26],[279,26]]},"237":{"position":[[71,26],[279,26]]},"238":{"position":[[93,26],[301,26]]},"239":{"position":[[65,26],[273,26]]},"294":{"position":[[61,26],[221,26]]},"297":{"position":[[58,26],[218,26]]},"298":{"position":[[50,26],[230,26],[468,26]]},"301":{"position":[[71,26],[205,26]]},"309":{"position":[[68,26],[202,26]]},"310":{"position":[[50,26]]},"311":{"position":[[46,26],[171,26]]},"320":{"position":[[84,26]]},"324":{"position":[[65,26],[199,26],[306,26],[440,26]]},"325":{"position":[[93,26],[227,26]]},"326":{"position":[[103,26],[237,26]]},"327":{"position":[[69,26],[203,26]]},"328":{"position":[[65,26],[199,26]]},"330":{"position":[[78,26],[212,26]]},"331":{"position":[[66,26],[200,26]]},"332":{"position":[[76,26],[210,26]]},"333":{"position":[[94,26],[228,26]]},"334":{"position":[[126,26],[260,26]]},"335":{"position":[[66,26],[200,26],[309,26],[443,26]]},"336":{"position":[[65,26],[199,26],[306,26],[440,26]]},"337":{"position":[[67,26],[201,26]]},"338":{"position":[[96,26],[230,26]]},"340":{"position":[[40,26]]},"465":{"position":[[38,26],[160,26]]},"466":{"position":[[66,26]]},"467":{"position":[[76,26]]},"468":{"position":[[42,26]]},"469":{"position":[[38,26]]},"471":{"position":[[51,26]]},"472":{"position":[[39,26]]},"473":{"position":[[49,26]]},"475":{"position":[[39,26],[163,26]]},"476":{"position":[[38,26],[160,26]]},"478":{"position":[[40,26]]}},"keywords":{}}],["bxl.unconfiguredtargetnode.attr",{"_index":2416,"title":{"459":{"position":[[0,33]]}},"content":{"459":{"position":[[0,33]]}},"keywords":{}}],["bxl.unconfiguredtargetnode.buildfile_path",{"_index":2421,"title":{"460":{"position":[[0,42]]}},"content":{"460":{"position":[[0,42]]}},"keywords":{}}],["bxl.unconfiguredtargetnode.label",{"_index":2422,"title":{"461":{"position":[[0,33]]}},"content":{"461":{"position":[[0,33]]}},"keywords":{}}],["bxl.unconfiguredtargetnode.rule_kind",{"_index":2424,"title":{"462":{"position":[[0,37]]}},"content":{"462":{"position":[[0,37]]}},"keywords":{}}],["bxl.unconfiguredtargetnode.rule_typ",{"_index":2427,"title":{"463":{"position":[[0,37]]}},"content":{"463":{"position":[[0,37]]}},"keywords":{}}],["bxl.unconfiguredtargetset",{"_index":3961,"title":{},"content":{"859":{"position":[[126,25]]}},"keywords":{}}],["bxl.uquerycontext",{"_index":1732,"title":{"464":{"position":[[0,17]]}},"content":{"312":{"position":[[31,17]]}},"keywords":{}}],["bxl.uquerycontext.allpath",{"_index":2429,"title":{"465":{"position":[[0,27]]}},"content":{"465":{"position":[[4,27]]}},"keywords":{}}],["bxl.uquerycontext.attrfilt",{"_index":2430,"title":{"466":{"position":[[0,29]]}},"content":{"466":{"position":[[4,29]]}},"keywords":{}}],["bxl.uquerycontext.attrregexfilt",{"_index":2431,"title":{"467":{"position":[[0,34]]}},"content":{"467":{"position":[[4,34]]}},"keywords":{}}],["bxl.uquerycontext.buildfil",{"_index":2433,"title":{"468":{"position":[[0,28]]}},"content":{"468":{"position":[[4,28]]}},"keywords":{}}],["bxl.uquerycontext.dep",{"_index":2436,"title":{"469":{"position":[[0,23]]}},"content":{"469":{"position":[[4,23]]}},"keywords":{}}],["bxl.uquerycontext.ev",{"_index":2438,"title":{"470":{"position":[[0,23]]}},"content":{"470":{"position":[[4,23]]}},"keywords":{}}],["bxl.uquerycontext.filt",{"_index":2441,"title":{"471":{"position":[[0,25]]}},"content":{"471":{"position":[[4,25]]}},"keywords":{}}],["bxl.uquerycontext.input",{"_index":2443,"title":{"472":{"position":[[0,25]]}},"content":{"472":{"position":[[4,25]]}},"keywords":{}}],["bxl.uquerycontext.kind",{"_index":2445,"title":{"473":{"position":[[0,23]]}},"content":{"473":{"position":[[4,23]]}},"keywords":{}}],["bxl.uquerycontext.own",{"_index":2447,"title":{"474":{"position":[[0,24]]}},"content":{"474":{"position":[[4,24]]}},"keywords":{}}],["bxl.uquerycontext.rdep",{"_index":2448,"title":{"475":{"position":[[0,24]]}},"content":{"475":{"position":[[4,24]]}},"keywords":{}}],["bxl.uquerycontext.somepath",{"_index":2450,"title":{"476":{"position":[[0,27]]}},"content":{"476":{"position":[[4,27]]}},"keywords":{}}],["bxl.uquerycontext.targets_in_buildfil",{"_index":2452,"title":{"477":{"position":[[0,39]]}},"content":{"477":{"position":[[4,39]]}},"keywords":{}}],["bxl.uquerycontext.testsof",{"_index":2459,"title":{"478":{"position":[[0,26]]}},"content":{"478":{"position":[[4,26]]}},"keywords":{}}],["bxl.utarget_set([unode_a",{"_index":2405,"title":{},"content":{"449":{"position":[[187,25]]},"828":{"position":[[187,25]]}},"keywords":{}}],["bxl.utarget_set(nod",{"_index":3960,"title":{},"content":{"859":{"position":[[56,22]]}},"keywords":{}}],["bxl_action",{"_index":1635,"title":{},"content":{"298":{"position":[[1234,11],[2099,12],[2613,11],[2842,13],[2991,13]]},"711":{"position":[[1330,11]]},"712":{"position":[[1003,11]]},"851":{"position":[[1320,11],[1344,11],[1939,11],[2168,13]]},"877":{"position":[[422,11]]},"878":{"position":[[1033,13],[1174,13]]}},"keywords":{}}],["bxl_actions.act",{"_index":3720,"title":{},"content":{"711":{"position":[[1445,19]]},"712":{"position":[[1045,19]]}},"keywords":{}}],["bxl_actions.actions.run",{"_index":1655,"title":{},"content":{"298":{"position":[[2714,24]]},"851":{"position":[[2040,24]]}},"keywords":{}}],["bxl_actions.actions.write("my_output"",{"_index":1637,"title":{},"content":{"298":{"position":[[1275,48]]}},"keywords":{}}],["bxl_actions.exec_deps[my_exec_dep][runinfo",{"_index":1657,"title":{},"content":{"298":{"position":[[2762,44]]},"851":{"position":[[2088,44]]}},"keywords":{}}],["bxl_build_result",{"_index":1626,"title":{},"content":{"297":{"position":[[1034,17]]}},"keywords":{}}],["bxl_built_artifacts_iter",{"_index":1500,"title":{},"content":{"245":{"position":[[45,28]]},"345":{"position":[[85,28]]}},"keywords":{}}],["bxl_ctx",{"_index":1627,"title":{},"content":{"297":{"position":[[1133,7]]},"298":{"position":[[1135,8]]},"299":{"position":[[133,7]]},"305":{"position":[[385,7]]},"307":{"position":[[128,7]]},"711":{"position":[[928,7]]},"835":{"position":[[73,8]]},"876":{"position":[[93,8]]}},"keywords":{}}],["bxl_failed_artifacts_iter",{"_index":1506,"title":{},"content":{"246":{"position":[[44,29]]}},"keywords":{}}],["bxl_main",{"_index":2128,"title":{"403":{"position":[[0,9]]},"782":{"position":[[0,9]]}},"content":{"403":{"position":[[4,9]]},"712":{"position":[[3190,9]]},"782":{"position":[[4,9]]},"840":{"position":[[287,9],[989,9]]},"850":{"position":[[204,9]]},"864":{"position":[[528,9],[1328,9]]},"878":{"position":[[1575,9]]},"961":{"position":[[479,9],[566,9]]},"966":{"position":[[321,9],[538,9]]}},"keywords":{}}],["bxlcontext",{"_index":4539,"title":{},"content":{"924":{"position":[[1157,10]]}},"keywords":{}}],["bxlcontext::analysi",{"_index":4551,"title":{},"content":{"924":{"position":[[1912,23]]}},"keywords":{}}],["bxlcontext::analyze(targetlabel",{"_index":4520,"title":{},"content":{"924":{"position":[[44,32]]}},"keywords":{}}],["bxlfunctionlabel",{"_index":4739,"title":{},"content":{"951":{"position":[[409,16],[562,16]]}},"keywords":{}}],["bxlrespons",{"_index":5788,"title":{},"content":{"1125":{"position":[[164,11]]}},"keywords":{}}],["bxl’",{"_index":3966,"title":{},"content":{"860":{"position":[[162,5]]}},"keywords":{}}],["bybuild",{"_index":92,"title":{},"content":{"5":{"position":[[246,10]]}},"keywords":{}}],["byenabl",{"_index":480,"title":{},"content":{"16":{"position":[[108,10]]}},"keywords":{}}],["byhttp://developer.android.com/tools/projects/index.html",{"_index":6575,"title":{},"content":{"1355":{"position":[[7766,56]]}},"keywords":{}}],["bypass",{"_index":5921,"title":{},"content":{"1138":{"position":[[765,9]]},"1140":{"position":[[391,9]]},"1188":{"position":[[444,9]]}},"keywords":{}}],["bystev",{"_index":88,"title":{},"content":{"5":{"position":[[217,7]]}},"keywords":{}}],["byte",{"_index":1899,"title":{},"content":{"362":{"position":[[1727,6]]},"444":{"position":[[93,5]]},"592":{"position":[[88,5],[185,5],[253,6]]},"741":{"position":[[1727,6]]},"823":{"position":[[93,5]]},"867":{"position":[[1209,5]]},"1178":{"position":[[603,5]]}},"keywords":{}}],["bytecod",{"_index":5364,"title":{},"content":{"1056":{"position":[[1187,8],[1236,8],[1283,8],[1332,8]]},"1148":{"position":[[7466,9],[7476,8]]},"1186":{"position":[[1018,9],[1028,8]]},"1187":{"position":[[1031,9],[1041,8]]},"1188":{"position":[[5757,9],[5767,8]]},"1429":{"position":[[5724,8]]},"1448":{"position":[[973,8]]},"1449":{"position":[[915,8]]}},"keywords":{}}],["bytecode_c_lib",{"_index":8247,"title":{},"content":{"1460":{"position":[[367,16]]}},"keywords":{}}],["bytecode_lib",{"_index":8248,"title":{},"content":{"1460":{"position":[[399,13]]}},"keywords":{}}],["bytecode_onli",{"_index":8117,"title":{},"content":{"1448":{"position":[[409,14]]},"1449":{"position":[[410,14]]},"1450":{"position":[[409,14]]},"1451":{"position":[[409,14]]},"1460":{"position":[[429,14]]}},"keywords":{}}],["bzl",{"_index":2216,"title":{},"content":{"415":{"position":[[90,4],[352,4]]},"421":{"position":[[71,4]]},"423":{"position":[[218,4]]},"693":{"position":[[5723,4],[7918,4]]},"794":{"position":[[90,4],[352,4]]},"800":{"position":[[71,4]]},"802":{"position":[[218,4]]},"1000":{"position":[[559,3],[603,3],[648,3],[758,3]]},"1001":{"position":[[567,3],[606,3],[1116,3],[1351,3]]},"1004":{"position":[[32,4]]},"1064":{"position":[[166,3],[665,3],[704,3],[1266,3],[1506,3],[1753,3]]},"1065":{"position":[[115,3],[284,3]]},"1202":{"position":[[232,3],[5611,3]]}},"keywords":{}}],["c",{"_index":221,"title":{"722":{"position":[[6,2]]}},"content":{"9":{"position":[[1076,3],[2483,4]]},"17":{"position":[[89,3],[231,4],[814,3],[1209,3]]},"18":{"position":[[49,3],[518,3],[1714,3],[1768,3]]},"22":{"position":[[96,4],[140,2],[1718,1]]},"23":{"position":[[959,5]]},"407":{"position":[[295,1]]},"575":{"position":[[316,3]]},"582":{"position":[[268,2]]},"583":{"position":[[403,3]]},"665":{"position":[[209,5],[218,5]]},"679":{"position":[[221,4]]},"693":{"position":[[7659,3]]},"704":{"position":[[66,2],[93,1],[160,1],[166,3],[443,3],[483,3],[638,2],[898,2],[1143,2],[1742,3],[2557,3]]},"786":{"position":[[295,1]]},"873":{"position":[[354,3]]},"895":{"position":[[196,3]]},"937":{"position":[[326,1]]},"947":{"position":[[1022,3],[1095,3],[1148,3]]},"1024":{"position":[[1120,2]]},"1029":{"position":[[218,3],[337,3]]},"1112":{"position":[[2470,1]]},"1120":{"position":[[488,1]]},"1136":{"position":[[2721,2]]},"1138":{"position":[[6383,2]]},"1140":{"position":[[5309,2]]},"1142":{"position":[[753,2]]},"1146":{"position":[[693,2]]},"1148":{"position":[[3733,2]]},"1155":{"position":[[789,2]]},"1156":{"position":[[367,2]]},"1167":{"position":[[6313,2]]},"1169":{"position":[[152,2]]},"1172":{"position":[[1607,3]]},"1173":{"position":[[907,3]]},"1186":{"position":[[1957,2]]},"1187":{"position":[[1970,2]]},"1188":{"position":[[6696,2]]},"1191":{"position":[[557,2]]},"1192":{"position":[[732,2]]},"1193":{"position":[[784,2]]},"1194":{"position":[[424,2]]},"1195":{"position":[[402,2]]},"1196":{"position":[[212,2]]},"1197":{"position":[[1195,2]]},"1198":{"position":[[1205,2]]},"1199":{"position":[[1233,2]]},"1200":{"position":[[1100,2]]},"1201":{"position":[[360,2]]},"1202":{"position":[[1502,2],[5899,2]]},"1203":{"position":[[594,2]]},"1204":{"position":[[438,2]]},"1205":{"position":[[1767,2]]},"1206":{"position":[[238,2]]},"1207":{"position":[[395,2]]},"1209":{"position":[[1743,2]]},"1217":{"position":[[5054,2]]},"1219":{"position":[[1040,2]]},"1222":{"position":[[164,2]]},"1223":{"position":[[174,2]]},"1224":{"position":[[354,2]]},"1226":{"position":[[5522,2]]},"1228":{"position":[[7135,2]]},"1235":{"position":[[3003,2]]},"1237":{"position":[[5692,2]]},"1360":{"position":[[2994,2],[4735,3]]},"1362":{"position":[[12612,2],[12615,4],[12630,2],[12643,4],[13421,1]]},"1364":{"position":[[13312,2],[13315,4],[13330,2],[13343,4],[14121,1]]},"1367":{"position":[[12520,2],[12523,4],[12538,2],[12551,4],[13329,1]]},"1381":{"position":[[726,2]]},"1382":{"position":[[10974,2],[10977,4],[10992,2],[11005,4]]},"1383":{"position":[[2579,2],[3050,1],[3080,3],[3123,1],[3166,1],[3213,3],[3261,3],[5347,3],[6767,3]]},"1384":{"position":[[11466,1],[11590,1],[11599,3],[11603,4],[11669,1],[11671,3],[11690,3],[11704,1],[11731,1],[11743,3],[11772,3],[11954,1],[12206,1],[12443,1],[12567,1],[12576,3],[12580,4],[12631,1],[12637,1],[12639,3],[12647,3],[12661,1],[12677,1],[12689,3],[12707,3],[18628,2],[18631,4],[18646,2],[18659,4]]},"1385":{"position":[[2042,1],[6552,2],[6555,4],[6570,2],[6583,4]]},"1386":{"position":[[2063,2],[2066,4],[2081,2],[2097,3],[3231,3],[3627,3]]},"1387":{"position":[[9925,2],[9928,4],[9943,2],[9956,4]]},"1388":{"position":[[9467,2],[9470,4],[9485,2],[9498,4]]},"1403":{"position":[[2409,2],[4150,3]]},"1407":{"position":[[1147,1]]},"1442":{"position":[[2347,2],[2350,4],[2365,2],[2378,4]]},"1446":{"position":[[2403,2]]},"1448":{"position":[[1029,1],[2621,3],[2650,1]]},"1449":{"position":[[2555,3],[2584,1]]},"1485":{"position":[[3838,2],[3841,4],[3856,2],[3869,4]]}},"keywords":{}}],["c"",{"_index":1083,"title":{},"content":{"89":{"position":[[393,8]]},"221":{"position":[[393,8]]},"406":{"position":[[459,8]]},"595":{"position":[[1450,7]]},"785":{"position":[[459,8]]}},"keywords":{}}],["c".format(3",{"_index":2824,"title":{},"content":{"595":{"position":[[1419,17]]}},"keywords":{}}],["c.buck1",{"_index":3636,"title":{},"content":{"704":{"position":[[543,7]]}},"keywords":{}}],["c.buck2",{"_index":3641,"title":{},"content":{"704":{"position":[[2183,7]]}},"keywords":{}}],["c.go"",{"_index":7767,"title":{},"content":{"1407":{"position":[[4875,11]]}},"keywords":{}}],["c/c",{"_index":6784,"title":{},"content":{"1362":{"position":[[4828,5]]},"1367":{"position":[[6644,5]]},"1373":{"position":[[8549,5],[8673,5]]},"1382":{"position":[[3057,5],[3097,5],[11638,5],[11720,5]]},"1383":{"position":[[1476,5]]},"1384":{"position":[[4328,5],[20515,5]]},"1385":{"position":[[1882,5],[7630,5]]},"1387":{"position":[[4230,5],[10961,5]]},"1388":{"position":[[3479,5],[3502,5],[10361,5]]},"1442":{"position":[[3018,5]]},"1446":{"position":[[609,5]]},"1453":{"position":[[934,5]]},"1454":{"position":[[3282,5]]},"1462":{"position":[[8339,5]]},"1467":{"position":[[9821,5]]},"1471":{"position":[[4875,5]]},"1472":{"position":[[3826,5],[5459,5]]},"1473":{"position":[[5196,5]]}},"keywords":{}}],["c/c++/swift",{"_index":6930,"title":{},"content":{"1364":{"position":[[4864,11]]}},"keywords":{}}],["c24932ccabb66fffb2d7122298f7f1f91e0b1f14e05168e3036333f84bdf58dc",{"_index":7936,"title":{},"content":{"1423":{"position":[[3662,67]]}},"keywords":{}}],["c=3",{"_index":2549,"title":{},"content":{"560":{"position":[[803,4]]}},"keywords":{}}],["c_archiv",{"_index":7751,"title":{},"content":{"1407":{"position":[[2353,10]]}},"keywords":{}}],["c_compil",{"_index":7337,"title":{},"content":{"1389":{"position":[[1138,11]]}},"keywords":{}}],["c_compiler_allow_cache_upload",{"_index":7338,"title":{},"content":{"1389":{"position":[[1155,30]]}},"keywords":{}}],["c_compiler_flag",{"_index":7339,"title":{},"content":{"1389":{"position":[[1203,17]]}},"keywords":{}}],["c_compiler_typ",{"_index":7340,"title":{},"content":{"1389":{"position":[[1236,16]]}},"keywords":{}}],["c_lib",{"_index":8249,"title":{},"content":{"1460":{"position":[[454,7]]}},"keywords":{}}],["c_preprocessor_flag",{"_index":7341,"title":{},"content":{"1389":{"position":[[1269,21]]}},"keywords":{}}],["c_share",{"_index":7752,"title":{},"content":{"1407":{"position":[[2364,9]]}},"keywords":{}}],["ca",{"_index":1046,"title":{},"content":{"85":{"position":[[241,3]]},"217":{"position":[[241,3]]},"895":{"position":[[641,3]]},"1172":{"position":[[591,3]]},"1345":{"position":[[275,5],[315,2],[1193,3]]}},"keywords":{}}],["cach",{"_index":230,"title":{"832":{"position":[[22,8]]},"965":{"position":[[8,8]]},"966":{"position":[[10,9]]},"1099":{"position":[[10,5]]},"1100":{"position":[[23,6]]}},"content":{"9":{"position":[[1231,5],[1295,6],[1342,5],[1413,5]]},"10":{"position":[[426,5]]},"98":{"position":[[1209,8]]},"99":{"position":[[1617,8]]},"230":{"position":[[1209,8]]},"231":{"position":[[1617,8]]},"276":{"position":[[815,5]]},"277":{"position":[[849,5]]},"281":{"position":[[937,5]]},"282":{"position":[[979,5]]},"305":{"position":[[240,7]]},"315":{"position":[[134,6]]},"322":{"position":[[283,5]]},"346":{"position":[[246,7]]},"347":{"position":[[344,7]]},"362":{"position":[[2581,5]]},"528":{"position":[[243,5]]},"572":{"position":[[61,5],[95,7],[195,7]]},"693":{"position":[[678,5],[4089,5],[4625,5],[4666,5],[4828,5],[4868,7],[6930,7]]},"704":{"position":[[734,6],[821,5],[866,5],[1256,5],[1844,5],[2388,5]]},"705":{"position":[[266,7],[630,7],[710,5],[799,5],[853,5]]},"706":{"position":[[576,5],[730,5],[790,6],[942,5],[1132,5],[1307,6],[1455,5],[1698,5],[1790,5]]},"710":{"position":[[235,7],[261,5]]},"724":{"position":[[489,6],[555,5],[783,6],[804,5]]},"741":{"position":[[2581,5]]},"832":{"position":[[675,6],[786,6]]},"833":{"position":[[75,7],[479,7]]},"856":{"position":[[472,5]]},"867":{"position":[[1801,5],[2061,5]]},"877":{"position":[[98,6],[228,6]]},"894":{"position":[[520,6]]},"895":{"position":[[573,6]]},"897":{"position":[[30,5],[157,5]]},"920":{"position":[[530,7]]},"951":{"position":[[1475,7]]},"955":{"position":[[784,6],[959,6]]},"965":{"position":[[338,6],[561,7]]},"966":{"position":[[176,7]]},"1035":{"position":[[435,5]]},"1075":{"position":[[148,5]]},"1090":{"position":[[48,8]]},"1112":{"position":[[375,5],[2752,5]]},"1120":{"position":[[762,5]]},"1138":{"position":[[2841,5],[2869,5],[2886,5],[3086,5],[3134,5],[3861,6]]},"1140":{"position":[[2330,5],[2358,5],[2375,5],[2575,5],[2623,5],[3350,6]]},"1142":{"position":[[27,7]]},"1148":{"position":[[7277,6]]},"1167":{"position":[[3334,5],[3362,5],[3379,5],[3579,5],[3627,5],[4354,6]]},"1172":{"position":[[1321,5],[1342,5]]},"1173":{"position":[[621,5],[642,5]]},"1188":{"position":[[2383,5],[2411,5],[2428,5],[2628,5],[2676,5],[3403,6]]},"1217":{"position":[[2075,5],[2103,5],[2120,5],[2320,5],[2368,5],[3095,6]]},"1226":{"position":[[4111,5],[4123,5]]},"1228":{"position":[[4156,5],[4184,5],[4201,5],[4401,5],[4449,5],[5176,6]]},"1237":{"position":[[4281,5],[4293,5]]},"1345":{"position":[[202,5],[1182,6]]},"1351":{"position":[[4695,6],[5072,6],[5324,5]]},"1362":{"position":[[6288,5],[6375,5]]},"1364":{"position":[[6317,5],[6404,5]]},"1367":{"position":[[7715,5],[7802,5]]},"1373":{"position":[[3844,5],[3931,5]]},"1382":{"position":[[4200,5],[4287,5]]},"1384":{"position":[[5362,5],[5449,5]]},"1388":{"position":[[4500,5],[4587,5]]},"1389":{"position":[[5341,5],[5446,5],[5588,5],[5693,5]]},"1454":{"position":[[4309,5],[4396,5]]},"1462":{"position":[[5322,5],[5409,5]]},"1471":{"position":[[2868,5],[2955,5]]}},"keywords":{}}],["cache_link",{"_index":7342,"title":{},"content":{"1389":{"position":[[1306,12]]}},"keywords":{}}],["cacheabl",{"_index":3513,"title":{},"content":{"693":{"position":[[243,10]]},"834":{"position":[[778,9]]},"956":{"position":[[216,9]]},"966":{"position":[[21,9]]},"1360":{"position":[[594,10]]},"1383":{"position":[[522,10]]},"1403":{"position":[[493,10]]},"1424":{"position":[[499,10]]},"1432":{"position":[[621,10]]}},"keywords":{}}],["cached.lazi",{"_index":5608,"title":{},"content":{"1090":{"position":[[88,11]]}},"keywords":{}}],["cached.print",{"_index":3822,"title":{},"content":{"833":{"position":[[235,14]]}},"keywords":{}}],["cached.therefor",{"_index":3671,"title":{},"content":{"706":{"position":[[848,17]]}},"keywords":{}}],["cachemax_cache_upload_mebibyt",{"_index":1917,"title":{},"content":{"362":{"position":[[2522,32]]},"741":{"position":[[2522,32]]}},"keywords":{}}],["cachesremote_execution_properti",{"_index":1893,"title":{},"content":{"362":{"position":[[1312,34]]},"741":{"position":[[1312,34]]}},"keywords":{}}],["caching_sample.bxl",{"_index":4809,"title":{},"content":{"966":{"position":[[294,18]]}},"keywords":{}}],["cake.dl",{"_index":7134,"title":{},"content":{"1381":{"position":[[2581,11]]}},"keywords":{}}],["calcul",{"_index":4529,"title":{},"content":{"924":{"position":[[603,12]]}},"keywords":{}}],["call",{"_index":840,"title":{"1254":{"position":[[29,6]]}},"content":{"37":{"position":[[198,4]]},"92":{"position":[[1662,4]]},"94":{"position":[[3891,4]]},"170":{"position":[[64,4]]},"171":{"position":[[90,7]]},"182":{"position":[[198,4]]},"224":{"position":[[1662,4]]},"226":{"position":[[3891,4]]},"276":{"position":[[572,4]]},"277":{"position":[[101,4],[520,4],[676,6]]},"281":{"position":[[661,4]]},"282":{"position":[[148,4],[611,4],[785,6]]},"297":{"position":[[626,7],[697,4],[1146,6]]},"298":{"position":[[2672,4],[2961,6]]},"299":{"position":[[146,6]]},"305":{"position":[[398,6]]},"307":{"position":[[141,6]]},"314":{"position":[[236,7]]},"344":{"position":[[231,4]]},"345":{"position":[[713,4]]},"389":{"position":[[839,5]]},"408":{"position":[[250,6]]},"411":{"position":[[296,7]]},"414":{"position":[[59,6]]},"415":{"position":[[54,6],[171,4]]},"416":{"position":[[414,4]]},"417":{"position":[[644,4]]},"418":{"position":[[220,4],[274,4],[496,4],[567,4]]},"423":{"position":[[37,6],[134,6],[204,6]]},"425":{"position":[[57,6]]},"430":{"position":[[36,6],[145,4],[163,7]]},"432":{"position":[[125,6]]},"436":{"position":[[120,4]]},"443":{"position":[[142,6]]},"446":{"position":[[308,6]]},"550":{"position":[[64,4]]},"551":{"position":[[90,7]]},"569":{"position":[[333,4]]},"632":{"position":[[88,4],[268,4],[374,4]]},"633":{"position":[[101,4]]},"662":{"position":[[747,4]]},"685":{"position":[[202,6]]},"688":{"position":[[832,4]]},"693":{"position":[[499,6],[7482,6]]},"695":{"position":[[300,6]]},"704":{"position":[[1304,6]]},"705":{"position":[[964,6]]},"711":{"position":[[1290,5]]},"768":{"position":[[839,5]]},"787":{"position":[[250,6]]},"790":{"position":[[296,7]]},"793":{"position":[[59,6]]},"794":{"position":[[54,6],[171,4]]},"795":{"position":[[414,4]]},"796":{"position":[[644,4]]},"797":{"position":[[220,4],[274,4],[496,4],[567,4]]},"802":{"position":[[37,6],[134,6],[204,6]]},"804":{"position":[[57,6]]},"809":{"position":[[36,6],[145,4],[163,7]]},"811":{"position":[[125,6]]},"815":{"position":[[120,4]]},"822":{"position":[[142,6]]},"825":{"position":[[308,6]]},"832":{"position":[[232,5],[342,5]]},"834":{"position":[[100,6]]},"836":{"position":[[35,5]]},"837":{"position":[[185,5]]},"846":{"position":[[589,4]]},"851":{"position":[[67,6],[171,4],[1998,4]]},"852":{"position":[[6,7]]},"853":{"position":[[6,7]]},"856":{"position":[[584,4],[685,4],[786,4],[917,4]]},"860":{"position":[[228,4]]},"870":{"position":[[623,5],[690,4],[740,4],[885,4],[1457,4]]},"878":{"position":[[89,5]]},"887":{"position":[[266,4]]},"888":{"position":[[728,4]]},"890":{"position":[[1115,6],[6594,7]]},"892":{"position":[[715,6]]},"900":{"position":[[77,7],[1198,6]]},"905":{"position":[[1311,6]]},"923":{"position":[[237,4]]},"924":{"position":[[1367,4],[2178,4],[2376,7]]},"954":{"position":[[378,5]]},"965":{"position":[[93,5],[204,5]]},"1000":{"position":[[497,4],[638,6],[699,7]]},"1001":{"position":[[594,6],[1377,4]]},"1002":{"position":[[18,4]]},"1004":{"position":[[305,4]]},"1005":{"position":[[172,7]]},"1017":{"position":[[547,6]]},"1026":{"position":[[1512,4]]},"1040":{"position":[[1764,4]]},"1049":{"position":[[529,7]]},"1057":{"position":[[253,5],[674,5],[958,5],[1015,6],[1306,4]]},"1058":{"position":[[830,6],[891,5],[1289,6],[1323,4]]},"1060":{"position":[[52,4],[97,4]]},"1064":{"position":[[692,6],[1473,4],[2272,4]]},"1065":{"position":[[310,4]]},"1079":{"position":[[1339,7]]},"1082":{"position":[[104,6],[470,4],[1061,4]]},"1083":{"position":[[895,4]]},"1103":{"position":[[746,6]]},"1105":{"position":[[789,4],[1176,4]]},"1136":{"position":[[4780,4],[4802,4],[4923,4]]},"1138":{"position":[[8442,4],[8464,4],[8585,4]]},"1140":{"position":[[7368,4],[7390,4],[7511,4]]},"1142":{"position":[[2812,4],[2834,4],[2955,4]]},"1146":{"position":[[2752,4],[2774,4],[2895,4]]},"1148":{"position":[[5792,4],[5814,4],[5935,4]]},"1155":{"position":[[2848,4],[2870,4],[2991,4]]},"1156":{"position":[[2426,4],[2448,4],[2569,4]]},"1167":{"position":[[8372,4],[8394,4],[8515,4]]},"1169":{"position":[[2211,4],[2233,4],[2354,4]]},"1186":{"position":[[4016,4],[4038,4],[4159,4]]},"1187":{"position":[[4029,4],[4051,4],[4172,4]]},"1188":{"position":[[8755,4],[8777,4],[8898,4]]},"1191":{"position":[[2616,4],[2638,4],[2759,4]]},"1192":{"position":[[2791,4],[2813,4],[2934,4]]},"1193":{"position":[[2843,4],[2865,4],[2986,4]]},"1194":{"position":[[2483,4],[2505,4],[2626,4]]},"1195":{"position":[[2461,4],[2483,4],[2604,4]]},"1196":{"position":[[2271,4],[2293,4],[2414,4]]},"1197":{"position":[[3254,4],[3276,4],[3397,4]]},"1198":{"position":[[3264,4],[3286,4],[3407,4]]},"1199":{"position":[[3292,4],[3314,4],[3435,4]]},"1200":{"position":[[3159,4],[3181,4],[3302,4]]},"1201":{"position":[[2419,4],[2441,4],[2562,4]]},"1202":{"position":[[3561,4],[3583,4],[3704,4],[7958,4],[7980,4],[8101,4]]},"1203":{"position":[[2653,4],[2675,4],[2796,4]]},"1204":{"position":[[2497,4],[2519,4],[2640,4]]},"1205":{"position":[[3826,4],[3848,4],[3969,4]]},"1206":{"position":[[2297,4],[2319,4],[2440,4]]},"1207":{"position":[[2454,4],[2476,4],[2597,4]]},"1209":{"position":[[3802,4],[3824,4],[3945,4]]},"1217":{"position":[[7113,4],[7135,4],[7256,4]]},"1219":{"position":[[3099,4],[3121,4],[3242,4]]},"1222":{"position":[[2223,4],[2245,4],[2366,4]]},"1223":{"position":[[2233,4],[2255,4],[2376,4]]},"1224":{"position":[[2413,4],[2435,4],[2556,4]]},"1226":{"position":[[7581,4],[7603,4],[7724,4]]},"1228":{"position":[[9194,4],[9216,4],[9337,4]]},"1231":{"position":[[518,4]]},"1235":{"position":[[5062,4],[5084,4],[5205,4]]},"1237":{"position":[[7751,4],[7773,4],[7894,4]]},"1243":{"position":[[628,7]]},"1251":{"position":[[116,4],[313,4]]},"1254":{"position":[[59,5],[98,7],[152,5],[261,4],[402,4]]},"1358":{"position":[[2459,4]]},"1386":{"position":[[3158,6]]},"1395":{"position":[[2663,6],[3329,6],[3388,4]]},"1398":{"position":[[6226,4]]},"1399":{"position":[[1887,6]]},"1415":{"position":[[3961,5]]},"1416":{"position":[[2507,4]]},"1420":{"position":[[2189,4]]},"1422":{"position":[[2270,4]]},"1423":{"position":[[1977,4]]},"1469":{"position":[[1773,4]]},"1482":{"position":[[1676,5]]}},"keywords":{}}],["call_stack",{"_index":3078,"title":{"632":{"position":[[0,11]]}},"content":{"632":{"position":[[4,13],[398,12]]}},"keywords":{}}],["call_stack_fram",{"_index":3085,"title":{"633":{"position":[[0,17]]}},"content":{"633":{"position":[[136,16]]}},"keywords":{}}],["call_stack_frame(n",{"_index":3086,"title":{},"content":{"633":{"position":[[4,19]]}},"keywords":{}}],["callabl",{"_index":2103,"title":{},"content":{"400":{"position":[[449,8]]},"411":{"position":[[234,9],[268,9]]},"672":{"position":[[33,8]]},"779":{"position":[[449,8]]},"790":{"position":[[234,9],[268,9]]},"981":{"position":[[871,8]]}},"keywords":{}}],["calledmod",{"_index":2684,"title":{},"content":{"582":{"position":[[496,10]]}},"keywords":{}}],["caller",{"_index":4336,"title":{},"content":{"898":{"position":[[1406,7]]},"1044":{"position":[[2495,7],[2529,6]]},"1355":{"position":[[4020,7],[4149,7]]},"1427":{"position":[[3165,7],[3294,7]]},"1439":{"position":[[3839,7],[3968,7]]},"1477":{"position":[[1718,6]]}},"keywords":{}}],["callingattrs_eag",{"_index":1513,"title":{},"content":{"276":{"position":[[619,20]]}},"keywords":{}}],["callingattrs_lazi",{"_index":1522,"title":{},"content":{"277":{"position":[[567,19]]}},"keywords":{}}],["callingresolved_attrs_eag",{"_index":1546,"title":{},"content":{"281":{"position":[[708,29]]}},"keywords":{}}],["callingresolved_attrs_lazi",{"_index":1553,"title":{},"content":{"282":{"position":[[658,28]]}},"keywords":{}}],["callingwrite_package_fil",{"_index":4989,"title":{},"content":{"1001":{"position":[[653,25]]},"1064":{"position":[[751,25]]}},"keywords":{}}],["callproject_as_json",{"_index":5567,"title":{},"content":{"1083":{"position":[[228,19]]}},"keywords":{}}],["calls.a",{"_index":5391,"title":{},"content":{"1057":{"position":[[650,7]]}},"keywords":{}}],["calls.happili",{"_index":5396,"title":{},"content":{"1057":{"position":[[787,14]]}},"keywords":{}}],["calls/macro",{"_index":6188,"title":{},"content":{"1247":{"position":[[311,13]]}},"keywords":{}}],["callsi",{"_index":5776,"title":{},"content":{"1120":{"position":[[768,6]]}},"keywords":{}}],["came",{"_index":4224,"title":{},"content":{"890":{"position":[[2713,4]]}},"keywords":{}}],["can't",{"_index":1351,"title":{},"content":{"130":{"position":[[207,5]]},"253":{"position":[[207,5]]},"890":{"position":[[1154,5],[2386,5]]},"898":{"position":[[2008,5]]},"991":{"position":[[3211,5]]},"1044":{"position":[[2430,5]]},"1049":{"position":[[401,5]]}},"keywords":{}}],["can_be_asset",{"_index":6699,"title":{},"content":{"1362":{"position":[[732,13]]},"1364":{"position":[[749,13]]},"1367":{"position":[[1666,13]]},"1384":{"position":[[539,13],[19767,12]]},"1387":{"position":[[646,13]]},"1454":{"position":[[453,13]]}},"keywords":{}}],["can_toolchain_emit_obj_c_header_textu",{"_index":8494,"title":{},"content":{"1481":{"position":[[493,42]]}},"keywords":{}}],["cancel",{"_index":5933,"title":{},"content":{"1138":{"position":[[4539,9]]},"1140":{"position":[[4028,9]]},"1167":{"position":[[5032,9]]},"1188":{"position":[[4081,9]]},"1217":{"position":[[3773,9]]},"1228":{"position":[[1507,10],[5854,9]]}},"keywords":{}}],["can’t",{"_index":4089,"title":{},"content":{"877":{"position":[[66,5]]}},"keywords":{}}],["capabl",{"_index":637,"title":{},"content":{"22":{"position":[[306,12],[718,7]]},"900":{"position":[[1948,7]]},"944":{"position":[[264,7],[379,7]]},"1068":{"position":[[42,12]]},"1071":{"position":[[626,10]]},"1362":{"position":[[10019,7]]},"1364":{"position":[[11133,7]]},"1367":{"position":[[10936,7],[14158,12]]},"1382":{"position":[[6745,7]]},"1384":{"position":[[13099,7]]},"1388":{"position":[[7614,7]]}},"keywords":{}}],["capac",{"_index":241,"title":{},"content":{"9":{"position":[[1432,8],[1599,8]]},"693":{"position":[[4990,8]]}},"keywords":{}}],["captur",{"_index":4248,"title":{},"content":{"890":{"position":[[5424,8]]},"1186":{"position":[[208,7]]},"1187":{"position":[[221,7]]},"1228":{"position":[[2236,8],[2760,8]]},"1258":{"position":[[1067,7]]},"1289":{"position":[[1067,7]]},"1317":{"position":[[1067,7]]}},"keywords":{}}],["captured_expr",{"_index":6245,"title":{"1268":{"position":[[50,14]]},"1299":{"position":[[50,14]]},"1327":{"position":[[50,14]]}},"content":{"1259":{"position":[[750,14]]},"1290":{"position":[[750,14]]},"1318":{"position":[[750,14]]}},"keywords":{}}],["care",{"_index":1575,"title":{},"content":{"286":{"position":[[313,4]]},"575":{"position":[[382,7]]},"889":{"position":[[948,7],[1210,7]]},"1486":{"position":[[2859,7]]}},"keywords":{}}],["cargo",{"_index":422,"title":{},"content":{"13":{"position":[[193,5],[268,6],[275,5]]},"15":{"position":[[454,5]]}},"keywords":{}}],["carri",{"_index":1280,"title":{},"content":{"99":{"position":[[1127,7]]},"231":{"position":[[1127,7]]},"924":{"position":[[1140,5]]}},"keywords":{}}],["carriag",{"_index":2632,"title":{},"content":{"576":{"position":[[252,8]]}},"keywords":{}}],["cascad",{"_index":3422,"title":{},"content":{"681":{"position":[[974,7]]}},"keywords":{}}],["case",{"_index":404,"title":{"685":{"position":[[22,6]]},"871":{"position":[[12,6]]},"953":{"position":[[4,6]]},"972":{"position":[[4,7]]},"1029":{"position":[[4,6]]},"1255":{"position":[[20,6]]}},"content":{"12":{"position":[[350,5],[489,6]]},"22":{"position":[[1085,6]]},"23":{"position":[[441,4]]},"49":{"position":[[115,4]]},"79":{"position":[[119,5]]},"92":{"position":[[2053,4]]},"94":{"position":[[1798,5]]},"99":{"position":[[1009,4]]},"133":{"position":[[219,4]]},"196":{"position":[[115,4]]},"224":{"position":[[2053,4]]},"226":{"position":[[1798,5]]},"231":{"position":[[1009,4]]},"256":{"position":[[219,4]]},"300":{"position":[[234,5]]},"362":{"position":[[1958,4]]},"368":{"position":[[539,6]]},"389":{"position":[[694,5]]},"407":{"position":[[285,4]]},"410":{"position":[[116,5]]},"418":{"position":[[1110,4],[1182,4]]},"421":{"position":[[114,5]]},"451":{"position":[[270,4]]},"508":{"position":[[119,5]]},"584":{"position":[[310,5]]},"600":{"position":[[159,5]]},"602":{"position":[[77,6],[147,5],[221,5]]},"603":{"position":[[159,5]]},"606":{"position":[[172,5]]},"615":{"position":[[173,5]]},"616":{"position":[[614,4]]},"620":{"position":[[70,5]]},"643":{"position":[[184,4]]},"657":{"position":[[103,5]]},"681":{"position":[[748,4]]},"686":{"position":[[8,6]]},"693":{"position":[[5471,5]]},"703":{"position":[[97,5]]},"706":{"position":[[2109,6],[2522,5]]},"708":{"position":[[444,4]]},"741":{"position":[[1958,4]]},"747":{"position":[[539,6]]},"768":{"position":[[694,5]]},"786":{"position":[[285,4]]},"789":{"position":[[116,5]]},"797":{"position":[[1110,4],[1182,4]]},"800":{"position":[[114,5]]},"830":{"position":[[270,4]]},"870":{"position":[[136,4]]},"904":{"position":[[61,7],[319,6]]},"905":{"position":[[1139,4],[1327,6]]},"906":{"position":[[863,7]]},"933":{"position":[[14,4]]},"937":{"position":[[4538,5]]},"945":{"position":[[163,5]]},"950":{"position":[[686,5]]},"959":{"position":[[19,6],[372,5]]},"987":{"position":[[944,5]]},"991":{"position":[[3161,5],[3192,4]]},"1004":{"position":[[1673,4]]},"1026":{"position":[[815,5]]},"1082":{"position":[[454,5]]},"1104":{"position":[[2001,6],[2148,5]]},"1105":{"position":[[1524,4]]},"1136":{"position":[[4048,4]]},"1138":{"position":[[3911,5],[7710,4]]},"1140":{"position":[[3400,5],[6636,4]]},"1142":{"position":[[2080,4]]},"1146":{"position":[[2020,4]]},"1148":{"position":[[5060,4]]},"1155":{"position":[[2116,4]]},"1156":{"position":[[1694,4]]},"1167":{"position":[[4404,5],[7640,4]]},"1169":{"position":[[1479,4]]},"1186":{"position":[[3284,4]]},"1187":{"position":[[3297,4]]},"1188":{"position":[[3453,5],[8023,4]]},"1191":{"position":[[1884,4]]},"1192":{"position":[[2059,4]]},"1193":{"position":[[2111,4]]},"1194":{"position":[[1751,4]]},"1195":{"position":[[1729,4]]},"1196":{"position":[[1539,4]]},"1197":{"position":[[2522,4]]},"1198":{"position":[[2532,4]]},"1199":{"position":[[2560,4]]},"1200":{"position":[[2427,4]]},"1201":{"position":[[1687,4]]},"1202":{"position":[[2829,4],[7226,4]]},"1203":{"position":[[1921,4]]},"1204":{"position":[[1765,4]]},"1205":{"position":[[3094,4]]},"1206":{"position":[[1565,4]]},"1207":{"position":[[1722,4]]},"1209":{"position":[[3070,4]]},"1217":{"position":[[3145,5],[6381,4]]},"1219":{"position":[[2367,4]]},"1222":{"position":[[1491,4]]},"1223":{"position":[[1501,4]]},"1224":{"position":[[1681,4]]},"1226":{"position":[[6849,4]]},"1228":{"position":[[5226,5],[8462,4]]},"1235":{"position":[[4330,4]]},"1237":{"position":[[7019,4]]},"1240":{"position":[[156,4]]},"1250":{"position":[[116,5],[152,6]]},"1251":{"position":[[9,4]]},"1254":{"position":[[119,4],[646,4]]},"1255":{"position":[[59,6],[404,5]]},"1273":{"position":[[478,5]]},"1304":{"position":[[478,5]]},"1332":{"position":[[478,5]]},"1360":{"position":[[4212,4]]},"1361":{"position":[[850,4]]},"1362":{"position":[[7548,5],[7609,5],[9564,5],[9625,5],[13097,4]]},"1364":{"position":[[7787,5],[7848,5],[10678,5],[10739,5],[13797,4]]},"1367":{"position":[[9652,5],[9713,5],[13005,4],[14285,4]]},"1374":{"position":[[2436,5]]},"1380":{"position":[[744,4]]},"1382":{"position":[[11459,4]]},"1384":{"position":[[19113,4]]},"1385":{"position":[[7037,4]]},"1386":{"position":[[1929,5],[5009,5]]},"1387":{"position":[[10410,4]]},"1388":{"position":[[9952,4]]},"1393":{"position":[[4455,4],[4677,5]]},"1397":{"position":[[2177,5]]},"1398":{"position":[[1188,5],[6781,5]]},"1399":{"position":[[2116,4]]},"1403":{"position":[[3627,4],[9111,5]]},"1429":{"position":[[5390,4]]},"1439":{"position":[[5053,4]]},"1440":{"position":[[5384,4]]},"1442":{"position":[[2832,4]]},"1446":{"position":[[1741,5]]},"1462":{"position":[[7173,4]]},"1467":{"position":[[8142,4]]},"1471":{"position":[[4246,5]]},"1472":{"position":[[4830,5]]},"1473":{"position":[[4567,5]]},"1485":{"position":[[4323,4]]},"1486":{"position":[[4600,5]]}},"keywords":{}}],["caseexpires_after_timestamp",{"_index":1049,"title":{},"content":{"85":{"position":[[321,28]]},"217":{"position":[[321,28]]}},"keywords":{}}],["cases—such",{"_index":3423,"title":{},"content":{"682":{"position":[[201,10]]}},"keywords":{}}],["cat",{"_index":4462,"title":{},"content":{"910":{"position":[[481,3],[485,3]]},"1477":{"position":[[2630,4],[2949,3],[2978,3]]},"1478":{"position":[[3099,3]]}},"keywords":{}}],["catalog",{"_index":6676,"title":{},"content":{"1361":{"position":[[679,7],[2451,7]]},"1363":{"position":[[2898,8],[4017,8]]}},"keywords":{}}],["catastroph",{"_index":3654,"title":{},"content":{"706":{"position":[[138,16]]},"1386":{"position":[[6391,13]]}},"keywords":{}}],["categor",{"_index":854,"title":{},"content":{"41":{"position":[[348,15],[593,10]]},"174":{"position":[[348,15],[593,10]]},"1112":{"position":[[290,11],[3491,15],[4237,15],[4488,10]]}},"keywords":{}}],["categori",{"_index":815,"title":{},"content":{"29":{"position":[[34,8]]},"41":{"position":[[37,9],[233,8],[311,8],[675,8]]},"89":{"position":[[453,8]]},"94":{"position":[[274,9],[1361,8]]},"174":{"position":[[37,9],[233,8],[311,8],[675,8]]},"185":{"position":[[34,8]]},"221":{"position":[[453,8]]},"226":{"position":[[274,9],[1361,8]]},"298":{"position":[[2876,8]]},"446":{"position":[[16,9]]},"685":{"position":[[170,8]]},"825":{"position":[[16,9]]},"851":{"position":[[2202,8]]},"867":{"position":[[964,8]]},"898":{"position":[[1948,9]]},"1033":{"position":[[203,8]]},"1049":{"position":[[1537,8]]},"1050":{"position":[[2733,8],[4058,8]]},"1112":{"position":[[3814,8],[3837,9],[4186,9],[4200,8],[4572,8],[4624,9],[4719,9]]},"1172":{"position":[[1411,8],[1498,8],[1627,8]]},"1173":{"position":[[711,8],[798,8],[927,8]]},"1180":{"position":[[161,8]]},"1203":{"position":[[216,8]]}},"keywords":{}}],["caus",{"_index":2412,"title":{},"content":{"450":{"position":[[296,5]]},"666":{"position":[[277,6]]},"706":{"position":[[2138,6]]},"829":{"position":[[296,5]]},"912":{"position":[[131,5]]},"937":{"position":[[818,7]]},"991":{"position":[[3337,6]]},"1037":{"position":[[164,5]]},"1040":{"position":[[583,5]]},"1107":{"position":[[42,5],[324,5]]},"1112":{"position":[[512,5],[3003,5],[3029,6]]},"1113":{"position":[[144,5]]},"1114":{"position":[[855,5],[905,6],[1032,5]]},"1232":{"position":[[3781,5],[3954,6],[3988,6]]},"1233":{"position":[[150,5]]},"1241":{"position":[[48,6],[98,5]]},"1243":{"position":[[465,6]]},"1247":{"position":[[409,7]]},"1254":{"position":[[347,5]]},"1358":{"position":[[2644,6]]},"1387":{"position":[[6932,5]]}},"keywords":{}}],["cause_index",{"_index":5735,"title":{},"content":{"1112":{"position":[[3106,12]]}},"keywords":{}}],["caution",{"_index":3407,"title":{},"content":{"680":{"position":[[1117,7]]},"1058":{"position":[[1422,8]]}},"keywords":{}}],["caveat",{"_index":3894,"title":{},"content":{"847":{"position":[[158,6]]}},"keywords":{}}],["cc",{"_index":7167,"title":{},"content":{"1383":{"position":[[3027,5]]},"1446":{"position":[[2411,3]]}},"keywords":{}}],["cc)path",{"_index":7168,"title":{},"content":{"1383":{"position":[[3033,9]]}},"keywords":{}}],["cd",{"_index":431,"title":{},"content":{"13":{"position":[[408,2]]},"17":{"position":[[301,2],[384,2]]},"18":{"position":[[131,2],[161,2]]},"910":{"position":[[38,2],[41,2]]}},"keywords":{}}],["cell",{"_index":592,"title":{"587":{"position":[[0,8]]},"1092":{"position":[[9,5]]},"1093":{"position":[[23,5]]},"1097":{"position":[[19,6]]},"1149":{"position":[[16,4]]},"1150":{"position":[[21,5]]},"1191":{"position":[[11,5]]}},"content":{"18":{"position":[[1885,7]]},"107":{"position":[[70,4]]},"131":{"position":[[393,4]]},"242":{"position":[[158,7],[248,4],[314,4],[448,4],[490,4]]},"254":{"position":[[393,4]]},"291":{"position":[[28,4]]},"292":{"position":[[28,4]]},"299":{"position":[[72,4]]},"334":{"position":[[458,4],[551,4],[648,5],[691,4]]},"374":{"position":[[1343,4]]},"415":{"position":[[129,4]]},"433":{"position":[[185,4]]},"474":{"position":[[197,4],[290,4],[387,5],[430,4]]},"519":{"position":[[70,4]]},"587":{"position":[[10,5],[145,5],[178,7],[319,5],[397,4],[501,4],[642,4]]},"693":{"position":[[2143,5],[2234,6],[2245,4],[2356,5],[2374,5],[6219,5],[6331,5],[6358,9],[8779,4],[8922,4]]},"696":{"position":[[196,5]]},"753":{"position":[[1343,4]]},"794":{"position":[[129,4]]},"812":{"position":[[185,4]]},"879":{"position":[[107,5]]},"1070":{"position":[[484,4]]},"1073":{"position":[[26,4],[113,4]]},"1093":{"position":[[24,4],[67,5],[88,4],[100,5],[147,7],[361,4],[412,6],[553,4],[617,4]]},"1094":{"position":[[38,4]]},"1095":{"position":[[53,5]]},"1096":{"position":[[179,7]]},"1097":{"position":[[17,5],[112,4],[172,4],[226,5]]},"1098":{"position":[[9,5],[150,6],[172,4],[212,5],[239,5],[264,5],[287,5],[324,5],[393,4],[621,6],[677,4],[708,4],[764,5],[832,6]]},"1150":{"position":[[35,4],[114,4],[449,4],[506,4]]},"1190":{"position":[[91,4],[124,7]]},"1191":{"position":[[28,7],[84,4],[146,4],[225,5],[300,4],[433,5]]},"1193":{"position":[[323,4],[347,5],[381,5]]},"1195":{"position":[[225,5]]},"1211":{"position":[[10,5],[139,5],[172,5]]},"1240":{"position":[[508,4]]}},"keywords":{}}],["cell'",{"_index":5057,"title":{},"content":{"1014":{"position":[[491,6]]},"1093":{"position":[[189,6]]},"1096":{"position":[[42,6]]},"1097":{"position":[[331,6]]}},"keywords":{}}],["cell//foo:bar[baz",{"_index":1993,"title":{},"content":{"368":{"position":[[2654,19]]},"747":{"position":[[2654,19]]}},"keywords":{}}],["cell//foo:bar[baz][qux",{"_index":1995,"title":{},"content":{"368":{"position":[[2882,24]]},"693":{"position":[[8328,24]]},"747":{"position":[[2882,24]]}},"keywords":{}}],["cell//package:target",{"_index":6016,"title":{},"content":{"1194":{"position":[[182,21]]}},"keywords":{}}],["cell/packag",{"_index":5218,"title":{},"content":{"1045":{"position":[[365,12]]}},"keywords":{}}],["cell_alia",{"_index":3595,"title":{},"content":{"693":{"position":[[8703,12]]}},"keywords":{}}],["cell_alias",{"_index":5626,"title":{},"content":{"1098":{"position":[[785,12]]},"1191":{"position":[[99,17],[128,17]]}},"keywords":{}}],["cell_defs.bzl",{"_index":5411,"title":{},"content":{"1058":{"position":[[255,13]]}},"keywords":{}}],["cell_root",{"_index":965,"title":{},"content":{"69":{"position":[[48,9]]},"94":{"position":[[39,9],[346,9]]},"98":{"position":[[81,9]]},"99":{"position":[[100,9]]},"107":{"position":[[17,9]]},"226":{"position":[[39,9],[346,9]]},"230":{"position":[[81,9]]},"231":{"position":[[100,9]]},"345":{"position":[[116,9]]},"368":{"position":[[135,9],[3099,9]]},"377":{"position":[[44,9]]},"386":{"position":[[30,9]]},"405":{"position":[[32,9],[280,9],[709,9],[748,9]]},"417":{"position":[[60,9]]},"457":{"position":[[48,9]]},"519":{"position":[[17,9]]},"747":{"position":[[135,9],[3099,9]]},"756":{"position":[[44,9]]},"765":{"position":[[30,9]]},"784":{"position":[[32,9],[280,9],[709,9],[748,9]]},"796":{"position":[[60,9]]}},"keywords":{}}],["cellpath",{"_index":1869,"title":{"360":{"position":[[0,9]]},"739":{"position":[[0,9]]}},"content":{"360":{"position":[[0,9]]},"739":{"position":[[0,9]]}},"keywords":{}}],["cellroot",{"_index":1870,"title":{"361":{"position":[[0,9]]},"740":{"position":[[0,9]]}},"content":{"361":{"position":[[0,9]]},"740":{"position":[[0,9]]}},"keywords":{}}],["certain",{"_index":3657,"title":{},"content":{"706":{"position":[[217,7],[800,7]]},"837":{"position":[[47,7]]},"919":{"position":[[1145,7]]},"939":{"position":[[816,7]]},"1004":{"position":[[2259,7]]},"1050":{"position":[[42,7]]},"1053":{"position":[[87,7],[326,7]]},"1132":{"position":[[15,7]]},"1136":{"position":[[1154,7]]},"1148":{"position":[[1510,7]]},"1177":{"position":[[468,7]]},"1205":{"position":[[634,7]]},"1209":{"position":[[387,7]]},"1226":{"position":[[2327,7]]},"1235":{"position":[[1647,7]]},"1237":{"position":[[134,7],[2497,7]]},"1244":{"position":[[345,7]]}},"keywords":{}}],["certainli",{"_index":5394,"title":{},"content":{"1057":{"position":[[747,9]]}},"keywords":{}}],["certif",{"_index":6307,"title":{},"content":{"1345":{"position":[[318,12],[583,11]]}},"keywords":{}}],["cfg",{"_index":1393,"title":{},"content":{"146":{"position":[[77,4]]},"149":{"position":[[71,4]]},"269":{"position":[[77,4]]},"272":{"position":[[71,4]]},"437":{"position":[[97,3]]},"443":{"position":[[99,3],[218,3],[315,3],[409,3]]},"816":{"position":[[97,3]]},"822":{"position":[[99,3],[218,3],[315,3],[409,3]]},"980":{"position":[[564,3]]},"1005":{"position":[[34,3],[431,3]]},"1007":{"position":[[301,3]]},"1026":{"position":[[1115,5],[1199,5],[1359,5]]},"1471":{"position":[[3663,3]]},"1472":{"position":[[4247,3]]},"1473":{"position":[[3731,3]]}},"keywords":{}}],["cfg(featur",{"_index":8428,"title":{},"content":{"1471":{"position":[[3731,13]]},"1472":{"position":[[4315,13]]},"1473":{"position":[[3799,13]]}},"keywords":{}}],["cfg//compiler:_",{"_index":4652,"title":{},"content":{"940":{"position":[[1136,15]]},"943":{"position":[[1005,16]]}},"keywords":{}}],["cfg//compiler:clang",{"_index":4653,"title":{},"content":{"940":{"position":[[1160,19]]},"943":{"position":[[1821,20]]}},"keywords":{}}],["cfg//compiler:msvc",{"_index":4654,"title":{},"content":{"940":{"position":[[1187,18]]}},"keywords":{}}],["cfg//os:_",{"_index":4623,"title":{},"content":{"938":{"position":[[376,9]]},"939":{"position":[[724,9]]},"940":{"position":[[1045,9]]},"943":{"position":[[960,9],[1246,9]]}},"keywords":{}}],["cfg//os:linux",{"_index":4627,"title":{},"content":{"938":{"position":[[523,14]]},"939":{"position":[[598,13]]},"940":{"position":[[1063,13]]}},"keywords":{}}],["cfg//os:maco",{"_index":4625,"title":{},"content":{"938":{"position":[[447,14],[538,14]]},"940":{"position":[[1085,13]]}},"keywords":{}}],["cfg//os:window",{"_index":4626,"title":{},"content":{"938":{"position":[[466,16],[556,15]]},"940":{"position":[[1109,15]]}},"keywords":{}}],["cfg//sanitizer:asan",{"_index":4721,"title":{},"content":{"945":{"position":[[915,20]]}},"keywords":{}}],["cfg=tr",{"_index":5049,"title":{},"content":{"1009":{"position":[[820,7]]}},"keywords":{}}],["cfg_modifi",{"_index":4641,"title":{},"content":{"940":{"position":[[56,13],[388,13]]},"941":{"position":[[389,13]]}},"keywords":{}}],["cflags)flag",{"_index":7170,"title":{},"content":{"1383":{"position":[[3094,14]]}},"keywords":{}}],["cgo",{"_index":7070,"title":{},"content":{"1373":{"position":[[8275,3],[8394,3],[8650,3]]},"1405":{"position":[[3133,3]]},"1407":{"position":[[3554,3]]},"1410":{"position":[[4135,3]]}},"keywords":{}}],["cgo.compiler_flag",{"_index":7045,"title":{},"content":{"1373":{"position":[[4070,19]]}},"keywords":{}}],["cgo_compiler_flag",{"_index":7032,"title":{},"content":{"1373":{"position":[[602,19]]},"1407":{"position":[[4923,18]]}},"keywords":{}}],["cgo_en",{"_index":7720,"title":{},"content":{"1405":{"position":[[527,12],[2247,11]]},"1407":{"position":[[554,12],[2668,11]]},"1410":{"position":[[650,12],[2653,12],[2690,11]]}},"keywords":{}}],["cgo_librari",{"_index":7024,"title":{"1373":{"position":[[0,12]]}},"content":{"1373":{"position":[[4,12],[2741,13],[8486,11],[8786,12]]},"1405":{"position":[[2671,11]]},"1407":{"position":[[2430,11],[3092,11],[4777,12]]},"1410":{"position":[[3194,11]]}},"keywords":{}}],["chain",{"_index":1994,"title":{},"content":{"368":{"position":[[2849,8]]},"693":{"position":[[8295,8]]},"706":{"position":[[1219,5]]},"747":{"position":[[2849,8]]},"987":{"position":[[293,5]]},"1345":{"position":[[613,7]]}},"keywords":{}}],["challeng",{"_index":4883,"title":{},"content":{"987":{"position":[[486,9]]},"1049":{"position":[[10,11]]}},"keywords":{}}],["chanc",{"_index":238,"title":{},"content":{"9":{"position":[[1403,6]]},"1037":{"position":[[238,6]]}},"keywords":{}}],["chang",{"_index":38,"title":{"572":{"position":[[42,8]]}},"content":{"4":{"position":[[93,6],[167,7]]},"9":{"position":[[1035,8],[1156,9]]},"10":{"position":[[313,8],[847,8],[1006,8]]},"17":{"position":[[1062,8]]},"22":{"position":[[1346,6],[1786,7],[1889,7]]},"23":{"position":[[1197,7],[2620,7]]},"24":{"position":[[641,7]]},"69":{"position":[[216,7]]},"314":{"position":[[206,7]]},"408":{"position":[[746,7]]},"418":{"position":[[1172,6]]},"457":{"position":[[216,7]]},"570":{"position":[[295,6]]},"572":{"position":[[111,7]]},"622":{"position":[[112,6]]},"693":{"position":[[9905,6]]},"787":{"position":[[746,7]]},"797":{"position":[[1172,6]]},"832":{"position":[[133,8],[377,8]]},"879":{"position":[[257,7]]},"910":{"position":[[44,6]]},"937":{"position":[[976,8],[1023,8],[1167,7]]},"939":{"position":[[965,7]]},"946":{"position":[[429,7]]},"947":{"position":[[133,6],[210,6],[915,6],[1200,7]]},"951":{"position":[[1376,8],[1433,7]]},"965":{"position":[[239,8]]},"966":{"position":[[447,6],[492,6],[713,7]]},"1011":{"position":[[315,6]]},"1016":{"position":[[53,8]]},"1029":{"position":[[363,8],[441,8]]},"1035":{"position":[[219,6],[480,6]]},"1036":{"position":[[252,7]]},"1050":{"position":[[632,8],[2068,6],[4476,8]]},"1067":{"position":[[189,6]]},"1079":{"position":[[530,8]]},"1105":{"position":[[1629,7]]},"1112":{"position":[[99,6]]},"1114":{"position":[[606,7]]},"1123":{"position":[[40,7]]},"1138":{"position":[[4593,7],[4776,7]]},"1140":{"position":[[4082,7],[4265,7]]},"1142":{"position":[[546,7]]},"1150":{"position":[[420,6]]},"1161":{"position":[[351,7]]},"1167":{"position":[[5086,7],[5269,7]]},"1188":{"position":[[4135,7],[4318,7]]},"1217":{"position":[[3827,7],[4010,7]]},"1228":{"position":[[5908,7],[6091,7]]},"1243":{"position":[[487,7],[505,7]]},"1251":{"position":[[286,7]]},"1351":{"position":[[4946,7]]},"1355":{"position":[[7246,6],[7312,8]]},"1386":{"position":[[5573,7]]},"1403":{"position":[[6364,7]]},"1427":{"position":[[6445,6],[6511,8]]},"1486":{"position":[[2710,8]]}},"keywords":{}}],["changed).in",{"_index":3669,"title":{},"content":{"706":{"position":[[674,11]]}},"keywords":{}}],["changed.unfrozen",{"_index":4332,"title":{},"content":{"898":{"position":[[930,16]]}},"keywords":{}}],["channel",{"_index":6039,"title":{},"content":{"1219":{"position":[[20,7]]}},"keywords":{}}],["charact",{"_index":2397,"title":{"575":{"position":[[4,9]]},"576":{"position":[[0,9]]}},"content":{"446":{"position":[[563,10]]},"575":{"position":[[37,9],[415,9],[489,9]]},"576":{"position":[[19,9],[111,10],[288,9],[341,9],[400,9]]},"577":{"position":[[217,10],[486,9],[758,9]]},"579":{"position":[[79,9]]},"589":{"position":[[98,9],[154,10]]},"590":{"position":[[338,10]]},"601":{"position":[[61,10]]},"616":{"position":[[720,11]]},"656":{"position":[[62,9],[313,10]]},"825":{"position":[[563,10]]},"1148":{"position":[[1025,10]]},"1235":{"position":[[817,10]]}},"keywords":{}}],["chdir",{"_index":6036,"title":{},"content":{"1217":{"position":[[466,5]]}},"keywords":{}}],["cheap",{"_index":5565,"title":{},"content":{"1082":{"position":[[1309,6]]}},"keywords":{}}],["cheaper",{"_index":4505,"title":{},"content":{"919":{"position":[[2853,7]]},"1351":{"position":[[5291,7]]}},"keywords":{}}],["cheat",{"_index":4443,"title":{"909":{"position":[[8,5]]},"1128":{"position":[[6,5]]}},"content":{},"keywords":{}}],["check",{"_index":340,"title":{},"content":{"10":{"position":[[802,8]]},"308":{"position":[[54,6]]},"310":{"position":[[813,5]]},"315":{"position":[[75,5]]},"438":{"position":[[39,5],[143,6]]},"640":{"position":[[89,5]]},"649":{"position":[[47,5]]},"693":{"position":[[668,5]]},"706":{"position":[[713,5]]},"724":{"position":[[461,6]]},"817":{"position":[[39,5],[143,6]]},"889":{"position":[[871,8]]},"900":{"position":[[234,5],[420,5]]},"919":{"position":[[300,9],[1368,8],[1538,6],[1664,8],[1922,7],[2015,7],[2119,8],[2169,8],[2232,8],[2286,8],[2795,5]]},"920":{"position":[[33,5],[271,5],[333,8],[410,5],[512,8],[591,8]]},"921":{"position":[[239,5],[283,8],[343,8],[506,5],[632,5],[837,5],[976,5]]},"1021":{"position":[[590,6]]},"1033":{"position":[[83,5]]},"1136":{"position":[[4615,8]]},"1138":{"position":[[8277,8]]},"1140":{"position":[[7203,8]]},"1142":{"position":[[2647,8]]},"1146":{"position":[[2587,8]]},"1148":{"position":[[5627,8]]},"1155":{"position":[[2683,8]]},"1156":{"position":[[2261,8]]},"1167":{"position":[[8207,8]]},"1169":{"position":[[2046,8]]},"1186":{"position":[[3851,8]]},"1187":{"position":[[3864,8]]},"1188":{"position":[[8590,8]]},"1191":{"position":[[2451,8]]},"1192":{"position":[[2626,8]]},"1193":{"position":[[2678,8]]},"1194":{"position":[[2318,8]]},"1195":{"position":[[2296,8]]},"1196":{"position":[[2106,8]]},"1197":{"position":[[3089,8]]},"1198":{"position":[[3099,8]]},"1199":{"position":[[3127,8]]},"1200":{"position":[[2994,8]]},"1201":{"position":[[2254,8]]},"1202":{"position":[[3396,8],[7793,8]]},"1203":{"position":[[2488,8]]},"1204":{"position":[[2332,8]]},"1205":{"position":[[3661,8]]},"1206":{"position":[[2132,8]]},"1207":{"position":[[2289,8]]},"1209":{"position":[[3637,8]]},"1217":{"position":[[6948,8]]},"1219":{"position":[[2934,8]]},"1222":{"position":[[2058,8]]},"1223":{"position":[[2068,8]]},"1224":{"position":[[2248,8]]},"1226":{"position":[[7416,8]]},"1228":{"position":[[9029,8]]},"1235":{"position":[[4897,8]]},"1237":{"position":[[7586,8]]},"1244":{"position":[[28,5]]},"1354":{"position":[[2334,6]]},"1355":{"position":[[3937,7]]},"1362":{"position":[[13527,7]]},"1363":{"position":[[6164,7]]},"1364":{"position":[[14227,7]]},"1367":{"position":[[13435,7]]},"1381":{"position":[[2503,5]]},"1393":{"position":[[2526,5],[2690,5],[2966,6],[3786,6],[6031,5]]},"1405":{"position":[[3938,5]]},"1407":{"position":[[4557,5]]},"1408":{"position":[[2874,5]]},"1410":{"position":[[5739,5]]},"1427":{"position":[[3082,7]]},"1439":{"position":[[3756,7]]},"1448":{"position":[[2804,5]]},"1449":{"position":[[2738,5]]},"1457":{"position":[[1913,5]]},"1458":{"position":[[960,7]]},"1462":{"position":[[8726,8],[8825,8]]},"1465":{"position":[[4017,8],[4179,8]]},"1467":{"position":[[10209,8],[10596,8]]},"1471":{"position":[[5366,5],[5411,5],[5728,5]]},"1472":{"position":[[6252,5],[6297,5],[6614,5]]},"1473":{"position":[[5899,5]]}},"keywords":{}}],["checker",{"_index":8339,"title":{},"content":{"1462":{"position":[[8707,7]]},"1465":{"position":[[3998,7]]},"1467":{"position":[[10190,7]]}},"keywords":{}}],["checkin",{"_index":448,"title":{},"content":{"15":{"position":[[169,7]]}},"keywords":{}}],["checking).and",{"_index":4385,"title":{},"content":{"900":{"position":[[1877,13]]}},"keywords":{}}],["checkout",{"_index":7712,"title":{},"content":{"1404":{"position":[[526,8]]}},"keywords":{}}],["chef",{"_index":3600,"title":{},"content":{"693":{"position":[[9325,5]]}},"keywords":{}}],["child",{"_index":4685,"title":{},"content":{"943":{"position":[[224,5]]}},"keywords":{}}],["children",{"_index":1245,"title":{},"content":{"97":{"position":[[71,9]]},"229":{"position":[[71,9]]},"1081":{"position":[[271,8],[323,9],[394,9]]},"1082":{"position":[[1040,8]]},"1083":{"position":[[874,8]]},"1084":{"position":[[472,8],[547,8]]},"1086":{"position":[[244,9]]},"1087":{"position":[[576,8],[651,8]]},"1088":{"position":[[380,8],[788,9],[923,8],[998,8]]},"1258":{"position":[[1208,8]]},"1289":{"position":[[1208,8]]},"1317":{"position":[[1208,8]]}},"keywords":{}}],["chmod",{"_index":8467,"title":{},"content":{"1477":{"position":[[3062,5]]},"1478":{"position":[[3308,5]]}},"keywords":{}}],["choco",{"_index":517,"title":{},"content":{"17":{"position":[[1002,5]]}},"keywords":{}}],["choic",{"_index":2304,"title":{},"content":{"427":{"position":[[667,7]]},"806":{"position":[[667,7]]},"973":{"position":[[436,6]]}},"keywords":{}}],["choice.buck2",{"_index":595,"title":{},"content":{"18":{"position":[[1982,12]]}},"keywords":{}}],["choos",{"_index":2965,"title":{},"content":{"614":{"position":[[278,7]]},"866":{"position":[[151,6]]},"976":{"position":[[119,6]]}},"keywords":{}}],["chosen",{"_index":3585,"title":{},"content":{"693":{"position":[[8006,6]]}},"keywords":{}}],["chr",{"_index":3090,"title":{"634":{"position":[[0,4]]}},"content":{"634":{"position":[[30,4],[184,3]]}},"keywords":{}}],["chr(0x1f63f",{"_index":3095,"title":{},"content":{"634":{"position":[[251,12]]}},"keywords":{}}],["chr(1049",{"_index":3094,"title":{},"content":{"634":{"position":[[234,9]]}},"keywords":{}}],["chr(65",{"_index":3093,"title":{},"content":{"634":{"position":[[219,7]]}},"keywords":{}}],["chr(i",{"_index":3091,"title":{},"content":{"634":{"position":[[4,6],[74,6]]}},"keywords":{}}],["chri",{"_index":119,"title":{},"content":{"6":{"position":[[121,5]]}},"keywords":{}}],["chrome",{"_index":5443,"title":{},"content":{"1059":{"position":[[121,6]]}},"keywords":{}}],["chunk",{"_index":7467,"title":{},"content":{"1393":{"position":[[4023,7]]}},"keywords":{}}],["ci",{"_index":42,"title":{},"content":{"4":{"position":[[132,2],[241,2]]},"9":{"position":[[1264,2],[1580,2]]},"11":{"position":[[298,2]]},"916":{"position":[[365,2]]},"1102":{"position":[[1129,4]]}},"keywords":{}}],["circuit",{"_index":722,"title":{},"content":{"23":{"position":[[1276,7]]}},"keywords":{}}],["circular",{"_index":7475,"title":{},"content":{"1393":{"position":[[4964,8]]}},"keywords":{}}],["circumv",{"_index":7477,"title":{},"content":{"1393":{"position":[[5498,10]]}},"keywords":{}}],["clamp",{"_index":2592,"title":{},"content":{"567":{"position":[[328,7]]}},"keywords":{}}],["clang",{"_index":507,"title":{},"content":{"17":{"position":[[735,5],[861,5]]},"18":{"position":[[1028,9]]},"715":{"position":[[650,5],[1095,5]]},"873":{"position":[[530,5],[562,5]]},"916":{"position":[[144,5]]},"939":{"position":[[1277,5]]},"940":{"position":[[1152,5]]},"943":{"position":[[1849,5]]},"954":{"position":[[267,5]]},"1386":{"position":[[5637,7]]}},"keywords":{}}],["clang,xcod",{"_index":515,"title":{},"content":{"17":{"position":[[963,11]]}},"keywords":{}}],["clang_remark",{"_index":7343,"title":{},"content":{"1389":{"position":[[1329,14]]}},"keywords":{}}],["clang_trac",{"_index":7344,"title":{},"content":{"1389":{"position":[[1360,12]]}},"keywords":{}}],["clariti",{"_index":8342,"title":{},"content":{"1462":{"position":[[9181,9]]}},"keywords":{}}],["clash",{"_index":7286,"title":{},"content":{"1386":{"position":[[6180,6]]}},"keywords":{}}],["class",{"_index":4381,"title":{},"content":{"900":{"position":[[1599,5]]},"1029":{"position":[[435,5]]},"1348":{"position":[[3699,5],[3910,8],[4031,6],[4318,7],[4368,7]]},"1351":{"position":[[754,5],[3034,5]]},"1353":{"position":[[2646,7],[2698,5]]},"1355":{"position":[[2364,5],[3606,7],[5602,7],[5657,7],[6374,6]]},"1358":{"position":[[2161,6],[2260,6]]},"1412":{"position":[[1684,5]]},"1426":{"position":[[953,6],[2112,7],[2132,5],[2381,6],[2524,5],[2691,5],[3060,5]]},"1427":{"position":[[1848,5],[4691,7],[4762,6],[4806,5],[4840,5],[5546,6]]},"1429":{"position":[[4096,6],[4492,5],[4530,5],[5134,6],[5245,6],[5395,7]]},"1439":{"position":[[2134,5],[3427,7],[7190,7],[7261,6],[7305,5],[7339,5],[7455,6]]},"1440":{"position":[[4089,6],[4485,5],[4523,5],[5128,6],[5239,6],[5389,7]]},"1458":{"position":[[2277,6],[2383,6]]}},"keywords":{}}],["class.getresourc",{"_index":6565,"title":{},"content":{"1355":{"position":[[6418,20]]},"1427":{"position":[[5590,20]]},"1439":{"position":[[7499,20]]}},"keywords":{}}],["classifi",{"_index":7939,"title":{},"content":{"1423":{"position":[[3822,11]]},"1469":{"position":[[3527,11]]}},"keywords":{}}],["classpath",{"_index":3415,"title":{"1192":{"position":[[11,10]]}},"content":{"681":{"position":[[508,9],[697,9]]},"688":{"position":[[412,11],[468,9],[541,10],[599,10]]},"1190":{"position":[[153,9],[185,10]]},"1192":{"position":[[22,10],[267,9]]},"1355":{"position":[[3711,9],[3860,11],[4417,9],[5808,9],[6002,9]]},"1412":{"position":[[2664,9],[2885,11]]},"1427":{"position":[[2859,9],[3005,11],[3562,9],[4981,9],[5175,9]]},"1439":{"position":[[3531,9],[3679,11],[4236,9]]}},"keywords":{}}],["clean",{"_index":1197,"title":{"1079":{"position":[[6,5]]},"1141":{"position":[[0,5]]},"1142":{"position":[[5,6]]}},"content":{"94":{"position":[[1718,5]]},"226":{"position":[[1718,5]]},"692":{"position":[[43,5]]},"865":{"position":[[596,5]]},"1052":{"position":[[46,5]]},"1079":{"position":[[215,5],[781,5],[878,5],[986,8],[1004,5],[1112,5],[1304,5],[1353,5]]},"1142":{"position":[[97,5]]},"1163":{"position":[[67,7],[144,6]]}},"keywords":{}}],["clean_stale_artifact_ttl_hour",{"_index":5538,"title":{},"content":{"1079":{"position":[[580,30]]}},"keywords":{}}],["clean_stale_en",{"_index":5536,"title":{},"content":{"1079":{"position":[[470,19]]}},"keywords":{}}],["clean_stale_period_hour",{"_index":5540,"title":{},"content":{"1079":{"position":[[620,24]]}},"keywords":{}}],["clean_stale_start_offset_hour",{"_index":5541,"title":{},"content":{"1079":{"position":[[650,30],[687,30]]}},"keywords":{}}],["cleanup",{"_index":1200,"title":{},"content":{"94":{"position":[[1857,7]]},"226":{"position":[[1857,7]]},"1050":{"position":[[1096,8]]},"1053":{"position":[[1498,7]]},"1142":{"position":[[388,8]]},"1429":{"position":[[4308,7]]},"1440":{"position":[[4301,7]]}},"keywords":{}}],["clear",{"_index":2495,"title":{},"content":{"553":{"position":[[41,5]]},"564":{"position":[[41,5]]},"920":{"position":[[5,5]]},"1232":{"position":[[3761,5]]},"1354":{"position":[[2244,5]]}},"keywords":{}}],["clear_package_data",{"_index":6521,"title":{},"content":{"1354":{"position":[[520,19]]}},"keywords":{}}],["clever",{"_index":5437,"title":{},"content":{"1058":{"position":[[953,6]]}},"keywords":{}}],["cli",{"_index":1225,"title":{"850":{"position":[[21,3]]},"942":{"position":[[0,3]]}},"content":{"94":{"position":[[3535,3],[3550,3]]},"226":{"position":[[3535,3],[3550,3]]},"300":{"position":[[169,3]]},"693":{"position":[[9538,4],[9668,3]]},"715":{"position":[[1272,3],[1612,3]]},"720":{"position":[[381,4]]},"840":{"position":[[341,3],[875,3],[911,3]]},"846":{"position":[[760,3]]},"850":{"position":[[251,3]]},"904":{"position":[[48,3],[230,4],[300,4],[931,3]]},"939":{"position":[[1886,3]]},"943":{"position":[[1655,3]]},"1060":{"position":[[192,4]]},"1112":{"position":[[2238,4]]},"1124":{"position":[[80,3],[159,3]]},"1258":{"position":[[410,3]]},"1289":{"position":[[410,3]]},"1317":{"position":[[410,3]]},"1370":{"position":[[3142,3]]}},"keywords":{}}],["cli_arg",{"_index":1662,"title":{"404":{"position":[[0,9]]},"783":{"position":[[0,9]]}},"content":{"300":{"position":[[90,10]]},"402":{"position":[[462,8]]},"403":{"position":[[40,9]]},"404":{"position":[[0,9]]},"712":{"position":[[3229,8]]},"781":{"position":[[462,8]]},"782":{"position":[[40,9]]},"783":{"position":[[0,9]]},"840":{"position":[[326,8],[1028,8]]},"850":{"position":[[28,8],[236,8]]},"864":{"position":[[552,8],[1352,8]]},"878":{"position":[[1614,8]]}},"keywords":{}}],["cli_args.bool",{"_index":3850,"title":{},"content":{"840":{"position":[[419,16]]},"850":{"position":[[329,16]]}},"keywords":{}}],["cli_args.bool(tru",{"_index":3863,"title":{},"content":{"840":{"position":[[1062,19]]}},"keywords":{}}],["cli_args.list(cli_args.int",{"_index":3852,"title":{},"content":{"840":{"position":[[459,30]]},"850":{"position":[[369,30]]}},"keywords":{}}],["cli_args.option(cli_args.str",{"_index":3854,"title":{},"content":{"840":{"position":[[512,35]]},"850":{"position":[[422,35]]}},"keywords":{}}],["cli_args.target_label",{"_index":3856,"title":{},"content":{"840":{"position":[[568,24]]},"850":{"position":[[478,24]]}},"keywords":{}}],["cli_argsattrbut",{"_index":1665,"title":{},"content":{"300":{"position":[[285,16]]}},"keywords":{}}],["cli_proto::buildresponse>::{closure#0}>",{"_index":6130,"title":{},"content":{"1232":{"position":[[1863,45]]}},"keywords":{}}],["cliarg",{"_index":2109,"title":{},"content":{"402":{"position":[[138,7]]},"781":{"position":[[138,7]]}},"keywords":{}}],["client",{"_index":3789,"title":{},"content":{"715":{"position":[[1626,6],[1767,7],[2099,6]]},"1127":{"position":[[709,6]]},"1136":{"position":[[6538,6],[6635,6]]},"1138":{"position":[[10200,6],[10297,6]]},"1140":{"position":[[9126,6],[9223,6]]},"1142":{"position":[[4570,6],[4667,6]]},"1144":{"position":[[898,6],[995,6]]},"1146":{"position":[[4510,6],[4607,6]]},"1148":{"position":[[8101,6],[8198,6]]},"1150":{"position":[[1133,6],[1230,6]]},"1152":{"position":[[831,6],[928,6]]},"1154":{"position":[[986,6],[1083,6]]},"1155":{"position":[[4606,6],[4703,6]]},"1156":{"position":[[4184,6],[4281,6]]},"1157":{"position":[[769,6],[866,6]]},"1158":{"position":[[763,6],[860,6]]},"1159":{"position":[[763,6],[860,6]]},"1161":{"position":[[1758,6],[1855,6]]},"1163":{"position":[[1144,6],[1241,6]]},"1165":{"position":[[973,6],[1070,6]]},"1167":{"position":[[10130,6],[10227,6]]},"1169":{"position":[[3238,6],[3335,6]]},"1171":{"position":[[1479,6],[1576,6]]},"1172":{"position":[[2864,6],[2961,6]]},"1173":{"position":[[1551,6],[1648,6]]},"1174":{"position":[[979,6],[1076,6]]},"1175":{"position":[[975,6],[1072,6]]},"1176":{"position":[[1144,6],[1241,6]]},"1177":{"position":[[1065,6],[1162,6]]},"1178":{"position":[[1382,6],[1479,6]]},"1179":{"position":[[1179,6],[1276,6]]},"1180":{"position":[[1450,6],[1547,6]]},"1181":{"position":[[1970,6],[2067,6]]},"1182":{"position":[[1013,6],[1110,6]]},"1183":{"position":[[968,6],[1065,6]]},"1185":{"position":[[813,6],[910,6]]},"1186":{"position":[[5774,6],[5871,6]]},"1187":{"position":[[5787,6],[5884,6]]},"1188":{"position":[[10513,6],[10610,6]]},"1190":{"position":[[2144,6],[2241,6]]},"1191":{"position":[[4374,6],[4471,6]]},"1192":{"position":[[4549,6],[4646,6]]},"1193":{"position":[[4601,6],[4698,6]]},"1194":{"position":[[4241,6],[4338,6]]},"1195":{"position":[[4219,6],[4316,6]]},"1196":{"position":[[4029,6],[4126,6]]},"1197":{"position":[[5012,6],[5109,6]]},"1198":{"position":[[5022,6],[5119,6]]},"1199":{"position":[[5050,6],[5147,6]]},"1200":{"position":[[4917,6],[5014,6]]},"1201":{"position":[[4177,6],[4274,6]]},"1202":{"position":[[921,6],[1018,6],[5319,6],[5416,6],[9716,6],[9813,6]]},"1203":{"position":[[4411,6],[4508,6]]},"1204":{"position":[[4255,6],[4352,6],[5157,6],[5254,6],[6087,6],[6184,6],[6989,6],[7086,6],[7975,6],[8072,6],[8929,6],[9026,6],[9876,6],[9973,6],[10806,6],[10903,6]]},"1205":{"position":[[5584,6],[5681,6]]},"1206":{"position":[[4283,6],[4380,6]]},"1207":{"position":[[4212,6],[4309,6]]},"1209":{"position":[[5560,6],[5657,6]]},"1211":{"position":[[884,6],[981,6]]},"1213":{"position":[[655,6],[752,6]]},"1215":{"position":[[739,6],[836,6]]},"1217":{"position":[[8871,6],[8968,6]]},"1219":{"position":[[508,6],[4126,6],[4223,6]]},"1221":{"position":[[858,6],[955,6]]},"1222":{"position":[[3997,6],[4094,6]]},"1223":{"position":[[4007,6],[4104,6]]},"1224":{"position":[[3440,6],[3537,6]]},"1226":{"position":[[9339,6],[9436,6]]},"1228":{"position":[[10952,6],[11049,6]]},"1235":{"position":[[6820,6],[6917,6]]},"1237":{"position":[[9509,6],[9606,6]]},"1345":{"position":[[576,6]]},"1362":{"position":[[6400,6]]},"1364":{"position":[[6429,6]]},"1367":{"position":[[7827,6]]},"1373":{"position":[[3956,6]]},"1382":{"position":[[4312,6]]},"1384":{"position":[[5474,6]]},"1388":{"position":[[4612,6]]},"1389":{"position":[[5471,6],[5718,6]]},"1454":{"position":[[4421,6]]},"1462":{"position":[[5434,6]]},"1471":{"position":[[2980,6]]}},"keywords":{}}],["clippy_configur",{"_index":8413,"title":{},"content":{"1471":{"position":[[583,21]]},"1472":{"position":[[486,21]]},"1473":{"position":[[614,21]]}},"keywords":{}}],["clone",{"_index":492,"title":{},"content":{"17":{"position":[[270,5],[340,5]]},"886":{"position":[[123,6],[201,6],[287,6]]}},"keywords":{}}],["close",{"_index":2806,"title":{},"content":{"595":{"position":[[311,5],[370,5],[434,5]]},"1439":{"position":[[6389,7]]},"1486":{"position":[[4959,6]]}},"keywords":{}}],["closer",{"_index":213,"title":{},"content":{"9":{"position":[[966,6]]},"583":{"position":[[142,6]]},"1113":{"position":[[676,6]]}},"keywords":{}}],["closest",{"_index":2242,"title":{},"content":{"418":{"position":[[678,7]]},"622":{"position":[[341,7]]},"705":{"position":[[32,7]]},"797":{"position":[[678,7]]}},"keywords":{}}],["closur",{"_index":1477,"title":{},"content":{"239":{"position":[[489,7]]},"328":{"position":[[389,7]]},"335":{"position":[[597,7]]},"469":{"position":[[270,7]]},"475":{"position":[[359,7]]},"681":{"position":[[1038,8]]},"921":{"position":[[541,7],[725,7]]},"1104":{"position":[[2052,7]]},"1133":{"position":[[925,7]]},"1226":{"position":[[4386,8]]},"1237":{"position":[[4556,8]]},"1282":{"position":[[578,7]]},"1313":{"position":[[578,7]]},"1341":{"position":[[578,7]]}},"keywords":{}}],["cmd",{"_index":3438,"title":{"910":{"position":[[0,4]]},"1176":{"position":[[9,4]]}},"content":{"688":{"position":[[67,4]]},"910":{"position":[[16,3]]},"1105":{"position":[[463,3],[1303,3],[1760,3]]},"1171":{"position":[[339,3]]},"1176":{"position":[[166,3]]},"1360":{"position":[[622,4],[2829,4],[2940,4],[3058,3],[3072,4],[4627,4],[4682,4],[4800,3]]},"1374":{"position":[[2821,3]]},"1383":{"position":[[550,4],[2414,4],[2525,4],[2643,3],[2657,4],[6659,4],[6714,4],[6832,3],[7975,3]]},"1399":{"position":[[2947,3]]},"1401":{"position":[[1889,3]]},"1403":{"position":[[521,4],[2244,4],[2355,4],[2473,3],[2487,4],[4042,4],[4097,4],[4215,3],[5711,3],[7075,3]]},"1407":{"position":[[5067,3]]},"1422":{"position":[[4311,3]]},"1424":{"position":[[527,4]]},"1432":{"position":[[649,4]]},"1486":{"position":[[3030,3],[3365,3],[3459,3],[3553,3]]}},"keywords":{}}],["cmd.add("anoth",{"_index":5684,"title":{},"content":{"1105":{"position":[[521,21]]}},"keywords":{}}],["cmd.add(ctx.attrs.src",{"_index":5686,"title":{},"content":{"1105":{"position":[[554,22]]}},"keywords":{}}],["cmd.add(out.as_output",{"_index":5688,"title":{},"content":{"1105":{"position":[[653,24]]}},"keywords":{}}],["cmd.add.format",{"_index":2141,"title":{},"content":{"405":{"position":[[1363,14]]},"784":{"position":[[1363,14]]}},"keywords":{}}],["cmd.ex",{"_index":6660,"title":{},"content":{"1360":{"position":[[4720,7]]},"1383":{"position":[[6752,7]]},"1403":{"position":[[4135,7]]}},"keywords":{}}],["cmd="$(ex",{"_index":7919,"title":{},"content":{"1422":{"position":[[4434,15]]},"1423":{"position":[[3428,15]]}},"keywords":{}}],["cmd_arg",{"_index":941,"title":{"64":{"position":[[0,8]]},"405":{"position":[[0,9]]},"452":{"position":[[0,8]]},"784":{"position":[[0,9]]}},"content":{"65":{"position":[[30,8],[113,9],[212,9]]},"66":{"position":[[26,8],[58,8],[208,8]]},"69":{"position":[[104,8],[489,9]]},"94":{"position":[[51,8],[358,8],[1218,9]]},"98":{"position":[[93,8],[1366,8]]},"99":{"position":[[112,8],[1084,8]]},"126":{"position":[[191,8]]},"226":{"position":[[51,8],[358,8],[1218,9]]},"230":{"position":[[93,8],[1366,8]]},"231":{"position":[[112,8],[1084,8]]},"249":{"position":[[191,8]]},"345":{"position":[[128,8]]},"368":{"position":[[147,8],[3111,8],[3554,9]]},"377":{"position":[[56,8],[590,8]]},"386":{"position":[[42,8],[436,8]]},"398":{"position":[[242,8]]},"399":{"position":[[272,8]]},"405":{"position":[[4,9],[44,8],[292,8],[867,8],[881,8],[1136,8]]},"406":{"position":[[28,8],[559,8],[647,8]]},"408":{"position":[[1036,9]]},"417":{"position":[[72,8],[337,10]]},"453":{"position":[[30,8],[113,9],[212,9]]},"454":{"position":[[26,8],[58,8],[208,8]]},"457":{"position":[[104,8],[489,9]]},"747":{"position":[[147,8],[3111,8],[3554,9]]},"756":{"position":[[56,8],[590,8]]},"765":{"position":[[42,8],[436,8]]},"777":{"position":[[242,8]]},"778":{"position":[[272,8]]},"784":{"position":[[4,9],[44,8],[292,8],[867,8],[881,8],[1136,8]]},"785":{"position":[[28,8],[559,8],[647,8]]},"787":{"position":[[1036,9]]},"796":{"position":[[72,8],[337,10]]},"861":{"position":[[818,10]]},"1040":{"position":[[286,10]]},"1052":{"position":[[242,8]]},"1071":{"position":[[766,8]]},"1073":{"position":[[180,9]]},"1082":{"position":[[332,10]]},"1083":{"position":[[1181,8]]}},"keywords":{}}],["cmd_args().relative_to",{"_index":1296,"title":{},"content":{"107":{"position":[[159,23]]},"112":{"position":[[154,23]]},"519":{"position":[[159,23]]},"524":{"position":[[154,23]]}},"keywords":{}}],["cmd_args(["",{"_index":2148,"title":{},"content":{"405":{"position":[[1642,16]]},"784":{"position":[[1642,16]]}},"keywords":{}}],["cmd_args(["cp"",{"_index":5691,"title":{},"content":{"1105":{"position":[[1309,25]]}},"keywords":{}}],["cmd_args(["my_script.py"",{"_index":5296,"title":{},"content":{"1050":{"position":[[2628,35],[3901,35]]}},"keywords":{}}],["cmd_args(["sh",sh],hidden=[input",{"_index":5695,"title":{},"content":{"1105":{"position":[[1766,43]]}},"keywords":{}}],["cmd_args(["some"",{"_index":5682,"title":{},"content":{"1105":{"position":[[469,27]]}},"keywords":{}}],["cmd_args([ctx.attrs.broker[runinfo",{"_index":5336,"title":{},"content":{"1054":{"position":[[348,38]]}},"keywords":{}}],["cmd_args(artifact",{"_index":2184,"title":{},"content":{"408":{"position":[[544,18]]},"787":{"position":[[544,18]]}},"keywords":{}}],["cmd_args(cmd_args(dir",{"_index":975,"title":{},"content":{"69":{"position":[[535,22]]},"457":{"position":[[535,22]]}},"keywords":{}}],["cmd_args(dir",{"_index":2189,"title":{},"content":{"408":{"position":[[1082,13]]},"787":{"position":[[1082,13]]}},"keywords":{}}],["cmd_args(resource_fil",{"_index":2165,"title":{},"content":{"406":{"position":[[336,23]]},"785":{"position":[[336,23]]}},"keywords":{}}],["cmd_args(script",{"_index":2180,"title":{},"content":{"408":{"position":[[257,16],[312,16]]},"787":{"position":[[257,16],[312,16]]}},"keywords":{}}],["cmd_args(valu",{"_index":5557,"title":{},"content":{"1082":{"position":[[754,15]]}},"keywords":{}}],["cmd_args(x",{"_index":2142,"title":{},"content":{"405":{"position":[[1451,11]]},"784":{"position":[[1451,11]]}},"keywords":{}}],["cmd_args.add",{"_index":942,"title":{"65":{"position":[[0,13]]},"453":{"position":[[0,13]]}},"content":{},"keywords":{}}],["cmd_args.add(*arg",{"_index":943,"title":{},"content":{"65":{"position":[[4,19]]},"453":{"position":[[4,19]]}},"keywords":{}}],["cmd_args.copi",{"_index":950,"title":{"66":{"position":[[0,14]]},"454":{"position":[[0,14]]}},"content":{"66":{"position":[[4,15]]},"454":{"position":[[4,15]]}},"keywords":{}}],["cmd_args.input",{"_index":954,"title":{"67":{"position":[[0,16]]},"455":{"position":[[0,16]]}},"content":{"67":{"position":[[0,16]]},"455":{"position":[[0,16]]}},"keywords":{}}],["cmd_args.output",{"_index":962,"title":{"68":{"position":[[0,17]]},"456":{"position":[[0,17]]}},"content":{"68":{"position":[[0,17]]},"456":{"position":[[0,17]]}},"keywords":{}}],["cmd_args.relative_to",{"_index":964,"title":{"69":{"position":[[0,21]]},"457":{"position":[[0,21]]}},"content":{"69":{"position":[[4,21]]},"457":{"position":[[4,21]]}},"keywords":{}}],["cmd_ex",{"_index":6644,"title":{},"content":{"1360":{"position":[[643,8],[3163,7],[4559,8],[4691,7],[6316,7],[6582,7]]},"1383":{"position":[[571,8],[2747,8],[6591,8],[6723,7]]},"1403":{"position":[[542,8],[2578,7],[3974,8],[4106,7],[7776,7],[8103,7]]},"1424":{"position":[[548,8]]},"1432":{"position":[[670,8]]}},"keywords":{}}],["cmd_line",{"_index":2231,"title":{},"content":{"417":{"position":[[39,9]]},"796":{"position":[[39,9]]}},"keywords":{}}],["cnode_b",{"_index":2193,"title":{},"content":{"409":{"position":[[209,9]]},"788":{"position":[[209,9]]}},"keywords":{}}],["coalesc",{"_index":8320,"title":{},"content":{"1462":{"position":[[5753,8]]},"1467":{"position":[[6249,8]]}},"keywords":{}}],["code",{"_index":149,"title":{"1253":{"position":[[28,5]]}},"content":{"7":{"position":[[240,5]]},"18":{"position":[[425,4]]},"23":{"position":[[2032,4],[2067,4]]},"24":{"position":[[1101,4]]},"41":{"position":[[701,4]]},"174":{"position":[[701,4]]},"276":{"position":[[602,4]]},"277":{"position":[[550,4]]},"281":{"position":[[691,4]]},"282":{"position":[[641,4]]},"429":{"position":[[163,5]]},"576":{"position":[[303,4],[356,4],[415,4]]},"590":{"position":[[213,4],[263,4]]},"622":{"position":[[1100,4],[1182,5],[1232,4],[1296,4]]},"634":{"position":[[130,4]]},"656":{"position":[[125,4],[202,4],[238,4]]},"678":{"position":[[116,4]]},"687":{"position":[[247,5]]},"696":{"position":[[379,4]]},"708":{"position":[[240,4],[655,4]]},"715":{"position":[[708,4]]},"808":{"position":[[163,5]]},"869":{"position":[[142,4]]},"870":{"position":[[817,4]]},"888":{"position":[[250,5],[437,5]]},"889":{"position":[[240,4]]},"890":{"position":[[1513,5],[2667,5],[5158,4],[5667,5]]},"898":{"position":[[1306,4],[2440,5]]},"916":{"position":[[132,4]]},"954":{"position":[[511,4]]},"978":{"position":[[139,4]]},"981":{"position":[[706,4]]},"1001":{"position":[[222,4]]},"1026":{"position":[[1027,4]]},"1031":{"position":[[193,5]]},"1040":{"position":[[2720,4]]},"1045":{"position":[[56,5]]},"1048":{"position":[[14,4]]},"1050":{"position":[[2556,5]]},"1064":{"position":[[278,4]]},"1072":{"position":[[552,5]]},"1102":{"position":[[808,4]]},"1112":{"position":[[1789,4],[4600,4]]},"1113":{"position":[[374,4]]},"1136":{"position":[[2310,4]]},"1148":{"position":[[2666,4]]},"1209":{"position":[[1543,4]]},"1228":{"position":[[1590,4]]},"1232":{"position":[[3173,5]]},"1235":{"position":[[2803,4]]},"1253":{"position":[[58,4]]},"1254":{"position":[[318,4],[630,5]]},"1351":{"position":[[3538,5]]},"1355":{"position":[[5144,4],[6916,4],[7241,4],[7307,4],[7488,5]]},"1358":{"position":[[2427,4],[3168,4]]},"1362":{"position":[[8108,4],[13502,4]]},"1363":{"position":[[5848,4],[6483,4]]},"1364":{"position":[[8957,4],[14202,4]]},"1367":{"position":[[6650,4],[6691,4],[8196,4],[13410,4]]},"1383":{"position":[[3388,4],[3507,4]]},"1384":{"position":[[20713,6]]},"1386":{"position":[[4782,4],[5168,4]]},"1392":{"position":[[723,4]]},"1393":{"position":[[5995,4],[6845,5]]},"1407":{"position":[[1293,5]]},"1415":{"position":[[2534,4],[2693,4],[3909,5],[5197,4]]},"1427":{"position":[[4458,4],[6115,4],[6440,4],[6506,4],[6838,4],[6897,5],[6977,5]]},"1439":{"position":[[6957,4]]},"1456":{"position":[[599,5]]},"1462":{"position":[[6954,4]]},"1471":{"position":[[3721,4],[5421,4],[5495,5]]},"1472":{"position":[[4305,4],[6307,4],[6381,5]]},"1473":{"position":[[3789,4]]}},"keywords":{}}],["code_sign_entitl",{"_index":6899,"title":{},"content":{"1363":{"position":[[6092,22],[6538,22]]}},"keywords":{}}],["codebas",{"_index":4482,"title":{},"content":{"919":{"position":[[454,8]]}},"keywords":{}}],["codegen",{"_index":3656,"title":{},"content":{"706":{"position":[[173,7],[593,7],[744,7],[956,7],[1075,8],[1241,7],[1288,7],[1404,7]]},"1439":{"position":[[5086,7]]}},"keywords":{}}],["codepoint",{"_index":2747,"title":{},"content":{"590":{"position":[[106,9]]},"634":{"position":[[63,10]]},"656":{"position":[[47,9]]}},"keywords":{}}],["codesign",{"_index":6983,"title":{},"content":{"1368":{"position":[[504,9]]}},"keywords":{}}],["codesign_alloc",{"_index":6984,"title":{},"content":{"1368":{"position":[[519,18]]}},"keywords":{}}],["codesign_entitl",{"_index":6943,"title":{},"content":{"1366":{"position":[[359,22]]}},"keywords":{}}],["codesign_flag",{"_index":6849,"title":{},"content":{"1363":{"position":[[1455,15]]},"1367":{"position":[[1697,15]]}},"keywords":{}}],["codesign_flags_overrid",{"_index":6944,"title":{},"content":{"1366":{"position":[[398,24]]}},"keywords":{}}],["codesign_ident",{"_index":6850,"title":{},"content":{"1363":{"position":[[1486,18]]},"1367":{"position":[[1728,18]]},"1372":{"position":[[1328,18]]}},"keywords":{}}],["codesign_identities_command",{"_index":6985,"title":{},"content":{"1368":{"position":[[543,28]]}},"keywords":{}}],["codesign_on_copi",{"_index":6945,"title":{},"content":{"1366":{"position":[[445,17]]}},"keywords":{}}],["codesign_typ",{"_index":6851,"title":{},"content":{"1363":{"position":[[1521,14]]},"1367":{"position":[[1763,14]]},"1372":{"position":[[1363,14]]}},"keywords":{}}],["coerc",{"_index":2417,"title":{},"content":{"459":{"position":[[55,7]]},"870":{"position":[[504,8]]},"874":{"position":[[227,7]]}},"keywords":{}}],["coerced_attr",{"_index":2462,"title":{"479":{"position":[[0,12]]}},"content":{},"keywords":{}}],["coerced_attr.typ",{"_index":2463,"title":{"480":{"position":[[0,18]]}},"content":{"480":{"position":[[0,18]]}},"keywords":{}}],["coerced_attr.valu",{"_index":2467,"title":{"481":{"position":[[0,19]]}},"content":{"481":{"position":[[4,20]]}},"keywords":{}}],["coercibl",{"_index":2140,"title":{},"content":{"405":{"position":[[1302,9]]},"784":{"position":[[1302,9]]}},"keywords":{}}],["collect",{"_index":96,"title":{"678":{"position":[[8,10]]}},"content":{"5":{"position":[[309,10]]},"18":{"position":[[1955,10]]},"67":{"position":[[38,7]]},"68":{"position":[[41,7]]},"306":{"position":[[700,10]]},"368":{"position":[[2713,10]]},"405":{"position":[[981,10]]},"455":{"position":[[38,7]]},"456":{"position":[[41,7]]},"573":{"position":[[113,10]]},"622":{"position":[[974,7],[1431,10]]},"678":{"position":[[19,10]]},"693":{"position":[[8163,10]]},"747":{"position":[[2713,10]]},"784":{"position":[[981,10]]},"852":{"position":[[52,10]]},"853":{"position":[[57,10]]},"854":{"position":[[146,12]]},"887":{"position":[[234,10]]},"892":{"position":[[1205,10],[2029,8]]},"898":{"position":[[196,9]]},"938":{"position":[[91,10]]},"942":{"position":[[1597,10]]},"983":{"position":[[231,10]]},"1056":{"position":[[678,11]]},"1057":{"position":[[1111,11]]},"1186":{"position":[[876,10]]},"1187":{"position":[[889,10]]},"1188":{"position":[[5615,10]]},"1247":{"position":[[209,9],[285,9]]},"1354":{"position":[[2844,7]]},"1355":{"position":[[4093,10]]},"1356":{"position":[[1614,10]]},"1366":{"position":[[2638,10],[2697,8]]},"1373":{"position":[[8382,7]]},"1381":{"position":[[2426,10]]},"1427":{"position":[[3238,10]]},"1439":{"position":[[3912,10]]}},"keywords":{}}],["collect_tombston",{"_index":6522,"title":{},"content":{"1354":{"position":[[550,19]]}},"keywords":{}}],["collecti",{"_index":4274,"title":{},"content":{"892":{"position":[[821,8]]}},"keywords":{}}],["collection.get(fooinfo",{"_index":1000,"title":{},"content":{"76":{"position":[[162,23]]},"505":{"position":[[162,23]]}},"keywords":{}}],["collector",{"_index":4265,"title":{"891":{"position":[[17,9]]}},"content":{"892":{"position":[[607,10]]}},"keywords":{}}],["collis",{"_index":2677,"title":{},"content":{"581":{"position":[[903,10]]}},"keywords":{}}],["colon",{"_index":2819,"title":{},"content":{"595":{"position":[[1272,6]]},"675":{"position":[[608,6],[955,6]]},"1207":{"position":[[261,6]]}},"keywords":{}}],["color",{"_index":2410,"title":{},"content":{"450":{"position":[[141,9]]},"829":{"position":[[141,9]]}},"keywords":{}}],["com.exampl",{"_index":3694,"title":{},"content":{"708":{"position":[[317,14],[569,14]]},"1348":{"position":[[4597,14]]},"1355":{"position":[[7879,14]]},"1359":{"position":[[2490,14]]}},"keywords":{}}],["com.example.a",{"_index":7953,"title":{},"content":{"1426":{"position":[[2046,13],[2179,16]]}},"keywords":{}}],["com.example.allig",{"_index":7954,"title":{},"content":{"1426":{"position":[[2064,22]]}},"keywords":{}}],["com.example.pkg",{"_index":6483,"title":{},"content":{"1351":{"position":[[3908,18]]}},"keywords":{}}],["com.example.pkg.buildconfig.debug",{"_index":6481,"title":{},"content":{"1351":{"position":[[3714,33],[4092,33]]}},"keywords":{}}],["com.facebook.orca",{"_index":6475,"title":{},"content":{"1351":{"position":[[2098,18]]}},"keywords":{}}],["com.facebook/.loginact",{"_index":5978,"title":{},"content":{"1167":{"position":[[1163,28]]}},"keywords":{}}],["com.foo.processor",{"_index":7157,"title":{},"content":{"1382":{"position":[[5195,18]]},"1388":{"position":[[5889,18]]},"1442":{"position":[[2185,18]]}},"keywords":{}}],["com/example/amazinglibrary/source2.java",{"_index":8631,"title":{},"content":{"1487":{"position":[[3931,39]]}},"keywords":{}}],["combin",{"_index":5853,"title":{},"content":{"1134":{"position":[[63,7]]},"1136":{"position":[[6282,8]]},"1138":{"position":[[9944,8]]},"1140":{"position":[[8870,8]]},"1142":{"position":[[4314,8]]},"1144":{"position":[[642,8]]},"1146":{"position":[[4254,8]]},"1148":{"position":[[7845,8]]},"1150":{"position":[[877,8]]},"1152":{"position":[[575,8]]},"1154":{"position":[[730,8]]},"1155":{"position":[[4350,8]]},"1156":{"position":[[3928,8]]},"1157":{"position":[[513,8]]},"1158":{"position":[[507,8]]},"1159":{"position":[[507,8]]},"1161":{"position":[[1502,8]]},"1163":{"position":[[888,8]]},"1165":{"position":[[717,8]]},"1167":{"position":[[9874,8]]},"1169":{"position":[[2982,8]]},"1171":{"position":[[1223,8]]},"1172":{"position":[[2608,8]]},"1173":{"position":[[1295,8]]},"1174":{"position":[[723,8]]},"1175":{"position":[[719,8]]},"1176":{"position":[[888,8]]},"1177":{"position":[[809,8]]},"1178":{"position":[[1126,8]]},"1179":{"position":[[923,8]]},"1180":{"position":[[1194,8]]},"1181":{"position":[[1714,8]]},"1182":{"position":[[757,8]]},"1183":{"position":[[712,8]]},"1185":{"position":[[557,8]]},"1186":{"position":[[5518,8]]},"1187":{"position":[[5531,8]]},"1188":{"position":[[10257,8]]},"1190":{"position":[[1888,8]]},"1191":{"position":[[4118,8]]},"1192":{"position":[[4293,8]]},"1193":{"position":[[4345,8]]},"1194":{"position":[[3985,8]]},"1195":{"position":[[3963,8]]},"1196":{"position":[[3773,8]]},"1197":{"position":[[4756,8]]},"1198":{"position":[[4766,8]]},"1199":{"position":[[4794,8]]},"1200":{"position":[[4661,8]]},"1201":{"position":[[3921,8]]},"1202":{"position":[[665,8],[5063,8],[9460,8]]},"1203":{"position":[[4155,8]]},"1204":{"position":[[3999,8],[4901,8],[5831,8],[6733,8],[7719,8],[8673,8],[9620,8],[10550,8]]},"1205":{"position":[[5328,8]]},"1206":{"position":[[4027,8]]},"1207":{"position":[[3956,8]]},"1209":{"position":[[5304,8]]},"1211":{"position":[[628,8]]},"1213":{"position":[[399,8]]},"1215":{"position":[[483,8]]},"1217":{"position":[[8615,8]]},"1219":{"position":[[3870,8]]},"1221":{"position":[[602,8]]},"1222":{"position":[[3741,8]]},"1223":{"position":[[3751,8]]},"1224":{"position":[[3184,8]]},"1226":{"position":[[9083,8]]},"1228":{"position":[[10696,8]]},"1235":{"position":[[6564,8]]},"1237":{"position":[[9253,8]]},"1355":{"position":[[4321,11]]},"1370":{"position":[[715,8],[2276,8]]},"1374":{"position":[[2913,9]]},"1386":{"position":[[2338,11],[2474,11]]},"1393":{"position":[[7068,8]]},"1426":{"position":[[2951,8]]},"1427":{"position":[[3466,11]]},"1439":{"position":[[4140,11]]}},"keywords":{}}],["come",{"_index":3385,"title":{},"content":{"678":{"position":[[6,5]]},"870":{"position":[[1164,4],[1242,5]]},"988":{"position":[[253,4]]},"1398":{"position":[[2682,6]]},"1438":{"position":[[613,5]]}},"keywords":{}}],["comma",{"_index":5905,"title":{},"content":{"1136":{"position":[[5244,5]]},"1138":{"position":[[1689,5],[1939,5],[5615,5],[8906,5]]},"1140":{"position":[[1178,5],[1428,5],[7832,5]]},"1142":{"position":[[3276,5]]},"1146":{"position":[[3216,5]]},"1148":{"position":[[2965,5],[6256,5]]},"1155":{"position":[[3312,5]]},"1156":{"position":[[2890,5]]},"1161":{"position":[[783,5]]},"1167":{"position":[[2182,5],[2432,5],[8836,5]]},"1181":{"position":[[995,5]]},"1186":{"position":[[1189,5],[4480,5]]},"1187":{"position":[[1202,5],[4493,5]]},"1188":{"position":[[1231,5],[1481,5],[5928,5],[9219,5]]},"1191":{"position":[[3080,5]]},"1192":{"position":[[3255,5]]},"1193":{"position":[[3307,5]]},"1194":{"position":[[2947,5]]},"1195":{"position":[[2925,5]]},"1196":{"position":[[2735,5]]},"1197":{"position":[[427,5],[3718,5]]},"1198":{"position":[[437,5],[3728,5]]},"1199":{"position":[[465,5],[3756,5]]},"1200":{"position":[[332,5],[3623,5]]},"1201":{"position":[[2883,5]]},"1202":{"position":[[4025,5],[8422,5]]},"1203":{"position":[[3117,5]]},"1204":{"position":[[2961,5]]},"1205":{"position":[[4290,5]]},"1206":{"position":[[2761,5]]},"1207":{"position":[[2918,5]]},"1209":{"position":[[4266,5]]},"1217":{"position":[[923,5],[1173,5],[7577,5]]},"1222":{"position":[[2687,5]]},"1223":{"position":[[2697,5]]},"1226":{"position":[[8045,5]]},"1228":{"position":[[3004,5],[3254,5],[9658,5]]},"1235":{"position":[[5526,5]]},"1237":{"position":[[8215,5]]},"1345":{"position":[[896,5]]}},"keywords":{}}],["command",{"_index":362,"title":{"582":{"position":[[0,7]]},"675":{"position":[[0,7]]},"893":{"position":[[8,8]]},"910":{"position":[[22,7]]},"918":{"position":[[23,7]]},"920":{"position":[[36,8]]},"1008":{"position":[[22,7]]},"1082":{"position":[[38,7]]},"1125":{"position":[[0,7]]},"1242":{"position":[[17,8]]},"1243":{"position":[[24,8]]}},"content":{"11":{"position":[[241,8]]},"15":{"position":[[549,8]]},"18":{"position":[[236,7]]},"65":{"position":[[79,7]]},"67":{"position":[[99,7]]},"68":{"position":[[103,7]]},"69":{"position":[[192,7]]},"91":{"position":[[366,7]]},"94":{"position":[[1183,7],[1524,7],[1606,8],[1804,7],[2216,7],[2504,7]]},"99":{"position":[[847,7],[922,7]]},"126":{"position":[[140,7]]},"223":{"position":[[366,7]]},"226":{"position":[[1183,7],[1524,7],[1606,8],[1804,7],[2216,7],[2504,7]]},"231":{"position":[[847,7],[922,7]]},"249":{"position":[[140,7]]},"300":{"position":[[50,7],[115,7]]},"362":{"position":[[2215,7],[2338,7]]},"368":{"position":[[2122,7],[2237,8]]},"374":{"position":[[34,7],[589,8],[651,7],[729,8],[2073,7]]},"377":{"position":[[601,7],[661,7],[1210,8],[1468,8],[1573,7],[1641,7],[1735,8]]},"386":{"position":[[451,7]]},"405":{"position":[[1036,7],[1266,7],[1317,7],[2055,7]]},"406":{"position":[[737,8]]},"407":{"position":[[21,7],[172,7],[251,7]]},"408":{"position":[[722,7]]},"453":{"position":[[79,7]]},"455":{"position":[[99,7]]},"456":{"position":[[103,7]]},"457":{"position":[[192,7]]},"570":{"position":[[475,9]]},"575":{"position":[[577,7]]},"577":{"position":[[269,7]]},"582":{"position":[[118,7],[234,7]]},"583":{"position":[[373,7],[473,7]]},"586":{"position":[[158,7]]},"587":{"position":[[647,8]]},"675":{"position":[[85,7],[140,9],[240,8],[421,7],[483,7],[1305,7]]},"676":{"position":[[135,7]]},"688":{"position":[[143,7],[742,8]]},"690":{"position":[[343,9],[364,7],[521,7]]},"692":{"position":[[63,8]]},"693":{"position":[[271,7],[388,7],[3083,7],[5396,7],[6400,7],[9062,8]]},"700":{"position":[[133,7]]},"704":{"position":[[988,8],[1076,8],[1166,7],[1768,7],[2328,7]]},"705":{"position":[[1121,7]]},"706":{"position":[[2130,7]]},"715":{"position":[[521,8],[656,10],[1654,8]]},"724":{"position":[[94,7],[422,7],[597,7]]},"725":{"position":[[126,7]]},"741":{"position":[[2215,7],[2338,7]]},"747":{"position":[[2122,7],[2237,8]]},"753":{"position":[[34,7],[589,8],[651,7],[729,8],[2073,7]]},"756":{"position":[[601,7],[661,7],[1210,8],[1468,8],[1573,7],[1641,7],[1735,8]]},"765":{"position":[[451,7]]},"784":{"position":[[1036,7],[1266,7],[1317,7],[2055,7]]},"785":{"position":[[737,8]]},"786":{"position":[[21,7],[172,7],[251,7]]},"787":{"position":[[722,7]]},"840":{"position":[[384,7],[701,7]]},"841":{"position":[[40,8],[280,7],[489,7]]},"850":{"position":[[294,7],[516,7]]},"865":{"position":[[70,7]]},"867":{"position":[[105,7]]},"869":{"position":[[475,7]]},"872":{"position":[[525,7]]},"873":{"position":[[378,7]]},"879":{"position":[[407,7]]},"894":{"position":[[41,8]]},"895":{"position":[[50,7],[388,7]]},"896":{"position":[[1018,7]]},"911":{"position":[[156,7]]},"919":{"position":[[1801,8],[1863,8]]},"920":{"position":[[219,7],[397,7]]},"921":{"position":[[23,7]]},"937":{"position":[[421,7],[2063,7],[2214,7],[2552,7],[3219,7],[3504,7]]},"938":{"position":[[916,7]]},"939":{"position":[[1789,7]]},"942":{"position":[[7,7],[201,7],[339,7],[396,7],[803,7],[1537,7]]},"943":{"position":[[161,7],[1589,7],[1901,7],[2020,7]]},"946":{"position":[[278,8]]},"947":{"position":[[1242,7]]},"954":{"position":[[34,7],[132,8],[793,7]]},"959":{"position":[[432,7],[489,7]]},"961":{"position":[[629,7]]},"968":{"position":[[0,7]]},"969":{"position":[[189,7]]},"970":{"position":[[35,7]]},"1014":{"position":[[46,7],[372,7]]},"1021":{"position":[[16,7]]},"1030":{"position":[[214,7]]},"1031":{"position":[[49,8],[313,7],[470,7],[761,7]]},"1032":{"position":[[5,7],[334,7]]},"1033":{"position":[[15,7],[267,7]]},"1035":{"position":[[52,7],[318,7],[452,9]]},"1036":{"position":[[218,7]]},"1037":{"position":[[44,7],[76,7],[374,7]]},"1050":{"position":[[674,8],[1243,8],[1317,7],[2618,7],[2724,8],[3891,7],[4049,8]]},"1052":{"position":[[219,7],[321,7],[535,7],[627,8],[665,8],[1482,7]]},"1053":{"position":[[1002,7],[1477,7]]},"1054":{"position":[[499,7],[938,7]]},"1056":{"position":[[149,9]]},"1061":{"position":[[278,7]]},"1067":{"position":[[403,7],[475,7]]},"1069":{"position":[[170,7]]},"1070":{"position":[[448,10]]},"1071":{"position":[[412,8],[564,7],[722,7],[948,7],[1254,7]]},"1082":{"position":[[72,7],[193,7],[307,7],[546,7],[1225,7]]},"1083":{"position":[[8,7]]},"1097":{"position":[[117,8],[131,7]]},"1103":{"position":[[964,7]]},"1104":{"position":[[1171,7],[1243,7]]},"1105":{"position":[[183,7],[199,7],[335,7],[435,7],[833,7],[863,7],[1007,7],[1387,7],[1591,7],[1650,7],[1857,7],[1961,7],[1985,7],[2092,8],[2129,7],[2255,8],[2568,8]]},"1114":{"position":[[308,7],[378,7]]},"1120":{"position":[[317,8],[499,8]]},"1124":{"position":[[297,7],[343,7]]},"1126":{"position":[[322,8]]},"1127":{"position":[[33,8],[186,9],[236,8],[296,8],[404,8]]},"1129":{"position":[[124,7]]},"1130":{"position":[[51,7]]},"1131":{"position":[[86,7]]},"1136":{"position":[[462,8],[2647,7],[3203,8],[3266,7],[3388,7],[3448,7],[3557,7],[3662,7],[3700,7],[3763,8],[3870,8],[4076,7],[4160,7],[4229,7],[4260,7],[4291,8],[4470,7],[4543,7],[4864,7],[4904,9],[5052,7],[5811,7],[6345,9],[6528,7]]},"1138":{"position":[[3280,7],[3371,7],[3440,8],[3483,8],[3580,7],[5720,7],[5885,7],[6309,7],[6865,8],[6928,7],[7050,7],[7110,7],[7219,7],[7324,7],[7362,7],[7425,8],[7532,8],[7738,7],[7822,7],[7891,7],[7922,7],[7953,8],[8132,7],[8205,7],[8526,7],[8566,9],[8714,7],[9473,7],[10007,9],[10190,7]]},"1140":{"position":[[2769,7],[2860,7],[2929,8],[2972,8],[3069,7],[5235,7],[5791,8],[5854,7],[5976,7],[6036,7],[6145,7],[6250,7],[6288,7],[6351,8],[6458,8],[6664,7],[6748,7],[6817,7],[6848,7],[6879,8],[7058,7],[7131,7],[7452,7],[7492,9],[7640,7],[8399,7],[8933,9],[9116,7]]},"1142":{"position":[[39,7],[1235,8],[1298,7],[1420,7],[1480,7],[1589,7],[1694,7],[1732,7],[1795,8],[1902,8],[2108,7],[2192,7],[2261,7],[2292,7],[2323,8],[2502,7],[2575,7],[2896,7],[2936,9],[3084,7],[3843,7],[4377,9],[4560,7]]},"1144":{"position":[[88,9],[705,9],[888,7]]},"1146":{"position":[[619,7],[1175,8],[1238,7],[1360,7],[1420,7],[1529,7],[1634,7],[1672,7],[1735,8],[1842,8],[2048,7],[2132,7],[2201,7],[2232,7],[2263,8],[2442,7],[2515,7],[2836,7],[2876,9],[3024,7],[3783,7],[4317,9],[4500,7]]},"1148":{"position":[[3070,7],[3235,7],[3659,7],[4215,8],[4278,7],[4400,7],[4460,7],[4569,7],[4674,7],[4712,7],[4775,8],[4882,8],[5088,7],[5172,7],[5241,7],[5272,7],[5303,8],[5482,7],[5555,7],[5876,7],[5916,9],[6064,7],[6823,7],[7258,7],[7908,9],[8091,7]]},"1150":{"position":[[940,9],[1123,7]]},"1152":{"position":[[638,9],[821,7]]},"1154":{"position":[[93,9],[793,9],[976,7]]},"1155":{"position":[[1271,8],[1334,7],[1456,7],[1516,7],[1625,7],[1730,7],[1768,7],[1831,8],[1938,8],[2144,7],[2228,7],[2297,7],[2328,7],[2359,8],[2538,7],[2611,7],[2932,7],[2972,9],[3120,7],[3879,7],[4413,9],[4596,7]]},"1156":{"position":[[51,7],[849,8],[912,7],[1034,7],[1094,7],[1203,7],[1308,7],[1346,7],[1409,8],[1516,8],[1722,7],[1806,7],[1875,7],[1906,7],[1937,8],[2116,7],[2189,7],[2510,7],[2550,9],[2698,7],[3457,7],[3991,9],[4174,7]]},"1157":{"position":[[576,9],[759,7]]},"1158":{"position":[[570,9],[753,7]]},"1159":{"position":[[570,9],[753,7]]},"1161":{"position":[[591,7],[1565,9],[1748,7]]},"1163":{"position":[[417,7],[951,9],[1134,7]]},"1165":{"position":[[246,7],[780,9],[963,7]]},"1167":{"position":[[3773,7],[3864,7],[3933,8],[3976,8],[4073,7],[6239,7],[6795,8],[6858,7],[6980,7],[7040,7],[7149,7],[7254,7],[7292,7],[7355,8],[7462,8],[7668,7],[7752,7],[7821,7],[7852,7],[7883,8],[8062,7],[8135,7],[8456,7],[8496,9],[8644,7],[9403,7],[9937,9],[10120,7]]},"1169":{"position":[[634,8],[697,7],[819,7],[879,7],[988,7],[1093,7],[1131,7],[1194,8],[1301,8],[1507,7],[1591,7],[1660,7],[1691,7],[1722,8],[1901,7],[1974,7],[2295,7],[2335,9],[2511,7],[3045,9],[3228,7]]},"1171":{"position":[[0,8],[92,9],[190,7],[353,7],[1286,9],[1469,7]]},"1172":{"position":[[178,8],[243,8],[325,8],[441,8],[507,7],[782,8],[795,7],[1009,7],[1245,7],[1473,8],[1704,8],[1748,8],[1790,7],[1843,7],[1937,8],[1967,7],[2263,8],[2671,9],[2854,7]]},"1173":{"position":[[14,7],[309,7],[545,7],[773,8],[1358,9],[1541,7]]},"1174":{"position":[[213,7],[786,9],[969,7]]},"1175":{"position":[[233,7],[782,9],[965,7]]},"1176":{"position":[[10,7],[64,7],[317,7],[518,7],[565,7],[951,9],[1134,7]]},"1177":{"position":[[229,7],[872,9],[1055,7]]},"1178":{"position":[[383,7],[747,7],[1189,9],[1372,7]]},"1179":{"position":[[249,7],[485,7],[986,9],[1169,7]]},"1180":{"position":[[579,7],[815,7],[1257,9],[1440,7]]},"1181":{"position":[[26,7],[334,7],[803,7],[1777,9],[1960,7]]},"1182":{"position":[[271,7],[820,9],[1003,7]]},"1183":{"position":[[226,7],[775,9],[958,7]]},"1185":{"position":[[77,9],[620,9],[803,7]]},"1186":{"position":[[1294,7],[1459,7],[1883,7],[2439,8],[2502,7],[2624,7],[2684,7],[2793,7],[2898,7],[2936,7],[2999,8],[3106,8],[3312,7],[3396,7],[3465,7],[3496,7],[3527,8],[3706,7],[3779,7],[4100,7],[4140,9],[4288,7],[5047,7],[5581,9],[5764,7]]},"1187":{"position":[[1307,7],[1472,7],[1896,7],[2452,8],[2515,7],[2637,7],[2697,7],[2806,7],[2911,7],[2949,7],[3012,8],[3119,8],[3325,7],[3409,7],[3478,7],[3509,7],[3540,8],[3719,7],[3792,7],[4113,7],[4153,9],[4301,7],[5060,7],[5594,9],[5777,7]]},"1188":{"position":[[2822,7],[2913,7],[2982,8],[3025,8],[3122,7],[6033,7],[6198,7],[6622,7],[7178,8],[7241,7],[7363,7],[7423,7],[7532,7],[7637,7],[7675,7],[7738,8],[7845,8],[8051,7],[8135,7],[8204,7],[8235,7],[8266,8],[8445,7],[8518,7],[8839,7],[8879,9],[9027,7],[9786,7],[10320,9],[10503,7]]},"1190":{"position":[[81,9],[216,7],[313,7],[1025,7],[1951,9],[2134,7]]},"1191":{"position":[[1039,8],[1102,7],[1224,7],[1284,7],[1393,7],[1498,7],[1536,7],[1599,8],[1706,8],[1912,7],[1996,7],[2065,7],[2096,7],[2127,8],[2306,7],[2379,7],[2700,7],[2740,9],[2888,7],[3647,7],[4181,9],[4364,7]]},"1192":{"position":[[53,7],[150,7],[658,7],[1214,8],[1277,7],[1399,7],[1459,7],[1568,7],[1673,7],[1711,7],[1774,8],[1881,8],[2087,7],[2171,7],[2240,7],[2271,7],[2302,8],[2481,7],[2554,7],[2875,7],[2915,9],[3063,7],[3822,7],[4356,9],[4539,7]]},"1193":{"position":[[1266,8],[1329,7],[1451,7],[1511,7],[1620,7],[1725,7],[1763,7],[1826,8],[1933,8],[2139,7],[2223,7],[2292,7],[2323,7],[2354,8],[2533,7],[2606,7],[2927,7],[2967,9],[3115,7],[3874,7],[4408,9],[4591,7]]},"1194":{"position":[[906,8],[969,7],[1091,7],[1151,7],[1260,7],[1365,7],[1403,7],[1466,8],[1573,8],[1779,7],[1863,7],[1932,7],[1963,7],[1994,8],[2173,7],[2246,7],[2567,7],[2607,9],[2755,7],[3514,7],[4048,9],[4231,7]]},"1195":{"position":[[884,8],[947,7],[1069,7],[1129,7],[1238,7],[1343,7],[1381,7],[1444,8],[1551,8],[1757,7],[1841,7],[1910,7],[1941,7],[1972,8],[2151,7],[2224,7],[2545,7],[2585,9],[2733,7],[3492,7],[4026,9],[4209,7]]},"1196":{"position":[[694,8],[757,7],[879,7],[939,7],[1048,7],[1153,7],[1191,7],[1254,8],[1361,8],[1567,7],[1651,7],[1720,7],[1751,7],[1782,8],[1961,7],[2034,7],[2355,7],[2395,9],[2543,7],[3302,7],[3836,9],[4019,7]]},"1197":{"position":[[532,7],[697,7],[1121,7],[1677,8],[1740,7],[1862,7],[1922,7],[2031,7],[2136,7],[2174,7],[2237,8],[2344,8],[2550,7],[2634,7],[2703,7],[2734,7],[2765,8],[2944,7],[3017,7],[3338,7],[3378,9],[3526,7],[4285,7],[4819,9],[5002,7]]},"1198":{"position":[[542,7],[707,7],[1131,7],[1687,8],[1750,7],[1872,7],[1932,7],[2041,7],[2146,7],[2184,7],[2247,8],[2354,8],[2560,7],[2644,7],[2713,7],[2744,7],[2775,8],[2954,7],[3027,7],[3348,7],[3388,9],[3536,7],[4295,7],[4829,9],[5012,7]]},"1199":{"position":[[570,7],[735,7],[1159,7],[1715,8],[1778,7],[1900,7],[1960,7],[2069,7],[2174,7],[2212,7],[2275,8],[2382,8],[2588,7],[2672,7],[2741,7],[2772,7],[2803,8],[2982,7],[3055,7],[3376,7],[3416,9],[3564,7],[4323,7],[4857,9],[5040,7]]},"1200":{"position":[[437,7],[602,7],[1026,7],[1582,8],[1645,7],[1767,7],[1827,7],[1936,7],[2041,7],[2079,7],[2142,8],[2249,8],[2455,7],[2539,7],[2608,7],[2639,7],[2670,8],[2849,7],[2922,7],[3243,7],[3283,9],[3431,7],[4190,7],[4724,9],[4907,7]]},"1201":{"position":[[842,8],[905,7],[1027,7],[1087,7],[1196,7],[1301,7],[1339,7],[1402,8],[1509,8],[1715,7],[1799,7],[1868,7],[1899,7],[1930,8],[2109,7],[2182,7],[2503,7],[2543,9],[2691,7],[3450,7],[3984,9],[4167,7]]},"1202":{"position":[[89,9],[728,9],[911,7],[1984,8],[2047,7],[2169,7],[2229,7],[2338,7],[2443,7],[2481,7],[2544,8],[2651,8],[2857,7],[2941,7],[3010,7],[3041,7],[3072,8],[3251,7],[3324,7],[3645,7],[3685,9],[3833,7],[4592,7],[5126,9],[5309,7],[6381,8],[6444,7],[6566,7],[6626,7],[6735,7],[6840,7],[6878,7],[6941,8],[7048,8],[7254,7],[7338,7],[7407,7],[7438,7],[7469,8],[7648,7],[7721,7],[8042,7],[8082,9],[8230,7],[8989,7],[9523,9],[9706,7]]},"1203":{"position":[[34,7],[520,7],[1076,8],[1139,7],[1261,7],[1321,7],[1430,7],[1535,7],[1573,7],[1636,8],[1743,8],[1949,7],[2033,7],[2102,7],[2133,7],[2164,8],[2343,7],[2416,7],[2737,7],[2777,9],[2925,7],[3684,7],[4218,9],[4401,7]]},"1204":{"position":[[126,9],[920,8],[983,7],[1105,7],[1165,7],[1274,7],[1379,7],[1417,7],[1480,8],[1587,8],[1793,7],[1877,7],[1946,7],[1977,7],[2008,8],[2187,7],[2260,7],[2581,7],[2621,9],[2769,7],[3528,7],[4062,9],[4245,7],[4964,9],[5147,7],[5894,9],[6077,7],[6796,9],[6979,7],[7782,9],[7965,7],[8736,9],[8919,7],[9683,9],[9866,7],[10613,9],[10796,7]]},"1205":{"position":[[1693,7],[2249,8],[2312,7],[2434,7],[2494,7],[2603,7],[2708,7],[2746,7],[2809,8],[2916,8],[3122,7],[3206,7],[3275,7],[3306,7],[3337,8],[3516,7],[3589,7],[3910,7],[3950,9],[4098,7],[4857,7],[5391,9],[5574,7]]},"1206":{"position":[[720,8],[783,7],[905,7],[965,7],[1074,7],[1179,7],[1217,7],[1280,8],[1387,8],[1593,7],[1677,7],[1746,7],[1777,7],[1808,8],[1987,7],[2060,7],[2381,7],[2421,9],[2569,7],[3328,7],[4090,9],[4273,7]]},"1207":{"position":[[877,8],[940,7],[1062,7],[1122,7],[1231,7],[1336,7],[1374,7],[1437,8],[1544,8],[1750,7],[1834,7],[1903,7],[1934,7],[1965,8],[2144,7],[2217,7],[2538,7],[2578,9],[2726,7],[3485,7],[4019,9],[4202,7]]},"1209":{"position":[[2225,8],[2288,7],[2410,7],[2470,7],[2579,7],[2684,7],[2722,7],[2785,8],[2892,8],[3098,7],[3182,7],[3251,7],[3282,7],[3313,8],[3492,7],[3565,7],[3886,7],[3926,9],[4074,7],[4833,7],[5367,9],[5550,7]]},"1211":{"position":[[691,9],[874,7]]},"1213":{"position":[[462,9],[645,7]]},"1215":{"position":[[546,9],[729,7]]},"1217":{"position":[[367,7],[421,7],[584,8],[607,7],[2514,7],[2605,7],[2674,8],[2717,8],[2814,7],[4980,7],[5536,8],[5599,7],[5721,7],[5781,7],[5890,7],[5995,7],[6033,7],[6096,8],[6203,8],[6409,7],[6493,7],[6562,7],[6593,7],[6624,8],[6803,7],[6876,7],[7197,7],[7237,9],[7385,7],[8144,7],[8678,9],[8861,7]]},"1219":{"position":[[136,8],[262,7],[801,8],[829,7],[1522,8],[1585,7],[1707,7],[1767,7],[1876,7],[1981,7],[2019,7],[2082,8],[2189,8],[2395,7],[2479,7],[2548,7],[2579,7],[2610,8],[2789,7],[2862,7],[3183,7],[3223,9],[3399,7],[3933,9],[4116,7]]},"1221":{"position":[[80,9],[665,9],[848,7]]},"1222":{"position":[[646,8],[709,7],[831,7],[891,7],[1000,7],[1105,7],[1143,7],[1206,8],[1313,8],[1519,7],[1603,7],[1672,7],[1703,7],[1734,8],[1913,7],[1986,7],[2307,7],[2347,9],[2495,7],[3254,7],[3804,9],[3987,7]]},"1223":{"position":[[656,8],[719,7],[841,7],[901,7],[1010,7],[1115,7],[1153,7],[1216,8],[1323,8],[1529,7],[1613,7],[1682,7],[1713,7],[1744,8],[1923,7],[1996,7],[2317,7],[2357,9],[2505,7],[3264,7],[3814,9],[3997,7]]},"1224":{"position":[[836,8],[899,7],[1021,7],[1081,7],[1190,7],[1295,7],[1333,7],[1396,8],[1503,8],[1709,7],[1793,7],[1862,7],[1893,7],[1924,8],[2103,7],[2176,7],[2497,7],[2537,9],[2713,7],[3247,9],[3430,7]]},"1226":{"position":[[5448,7],[6004,8],[6067,7],[6189,7],[6249,7],[6358,7],[6463,7],[6501,7],[6564,8],[6671,8],[6877,7],[6961,7],[7030,7],[7061,7],[7092,8],[7271,7],[7344,7],[7665,7],[7705,9],[7853,7],[8612,7],[9146,9],[9329,7]]},"1228":{"position":[[4595,7],[4686,7],[4755,8],[4798,8],[4895,7],[7061,7],[7617,8],[7680,7],[7802,7],[7862,7],[7971,7],[8076,7],[8114,7],[8177,8],[8284,8],[8490,7],[8574,7],[8643,7],[8674,7],[8705,8],[8884,7],[8957,7],[9278,7],[9318,9],[9466,7],[10225,7],[10759,9],[10942,7]]},"1235":{"position":[[3485,8],[3548,7],[3670,7],[3730,7],[3839,7],[3944,7],[3982,7],[4045,8],[4152,8],[4358,7],[4442,7],[4511,7],[4542,7],[4573,8],[4752,7],[4825,7],[5146,7],[5186,9],[5334,7],[6093,7],[6627,9],[6810,7]]},"1237":{"position":[[47,7],[5618,7],[6174,8],[6237,7],[6359,7],[6419,7],[6528,7],[6633,7],[6671,7],[6734,8],[6841,8],[7047,7],[7131,7],[7200,7],[7231,7],[7262,8],[7441,7],[7514,7],[7835,7],[7875,9],[8023,7],[8782,7],[9316,9],[9499,7]]},"1242":{"position":[[28,8]]},"1243":{"position":[[57,9],[168,8],[335,9],[371,8],[612,7],[650,7],[790,7],[915,7],[952,7],[1108,7],[1143,7]]},"1245":{"position":[[309,7]]},"1258":{"position":[[414,8]]},"1289":{"position":[[414,8]]},"1317":{"position":[[414,8]]},"1348":{"position":[[2840,7]]},"1349":{"position":[[985,7]]},"1350":{"position":[[3956,7]]},"1351":{"position":[[1176,7]]},"1352":{"position":[[3955,7]]},"1353":{"position":[[1559,7]]},"1354":{"position":[[1397,7]]},"1355":{"position":[[2536,7]]},"1356":{"position":[[903,7]]},"1357":{"position":[[576,7]]},"1358":{"position":[[1297,7]]},"1359":{"position":[[1134,7]]},"1360":{"position":[[1485,8],[1765,7],[2811,7],[3087,7],[3267,8],[3615,8],[3912,7],[4036,7],[4345,8],[4609,7],[5133,7],[5373,7]]},"1361":{"position":[[1124,7]]},"1362":{"position":[[5488,7],[7734,7],[10970,7],[11081,7],[11961,7]]},"1363":{"position":[[3234,7]]},"1364":{"position":[[5517,7],[7973,7],[8583,7],[11937,7],[12048,7]]},"1365":{"position":[[1058,7]]},"1366":{"position":[[1264,7]]},"1367":{"position":[[6915,7],[11451,7]]},"1368":{"position":[[1614,7]]},"1369":{"position":[[666,7]]},"1370":{"position":[[913,7]]},"1371":{"position":[[542,7]]},"1372":{"position":[[2180,7]]},"1373":{"position":[[3052,7],[5486,7],[5596,7],[6982,7],[8368,7]]},"1374":{"position":[[753,7],[948,7],[2469,7],[2651,7],[2751,8],[3225,8],[3607,8]]},"1375":{"position":[[578,7]]},"1376":{"position":[[534,7]]},"1377":{"position":[[773,7]]},"1378":{"position":[[520,7]]},"1379":{"position":[[543,7]]},"1380":{"position":[[1014,7]]},"1381":{"position":[[920,7]]},"1382":{"position":[[3400,7],[6325,7],[7839,7],[7950,7],[9302,7]]},"1383":{"position":[[1231,8],[1638,7],[2396,7],[2672,7],[2766,7],[2948,7],[4436,8],[4554,7],[5261,8],[5859,7],[6261,8],[6378,8],[6641,7],[7241,7],[7376,7],[8072,7],[8440,7],[8503,7],[8572,8],[8780,7]]},"1384":{"position":[[4562,7],[7151,7],[8769,7],[9459,7],[9724,7],[9964,7],[11272,7],[13903,7],[14014,7],[14193,7],[15647,7],[16946,7],[17194,7],[19899,7],[20115,7],[20919,7]]},"1385":{"position":[[2239,7],[4181,7],[5530,7]]},"1386":{"position":[[877,7]]},"1387":{"position":[[4508,7],[7164,7],[7274,7],[7452,7],[8903,7]]},"1388":{"position":[[3700,7],[7194,7],[8564,7]]},"1389":{"position":[[4561,7]]},"1390":{"position":[[813,7]]},"1391":{"position":[[766,7]]},"1392":{"position":[[916,7]]},"1393":{"position":[[1488,7]]},"1394":{"position":[[936,7]]},"1395":{"position":[[945,7]]},"1396":{"position":[[742,7]]},"1397":{"position":[[923,7]]},"1398":{"position":[[1595,7],[3543,7],[3583,7],[6547,9],[6679,7]]},"1399":{"position":[[778,7]]},"1400":{"position":[[647,7]]},"1401":{"position":[[722,7]]},"1402":{"position":[[878,7],[1822,8],[1884,7]]},"1403":{"position":[[1266,8],[1468,7],[2226,7],[2502,7],[2682,8],[3030,8],[3327,7],[3451,7],[3760,8],[4024,7],[5290,7],[6476,7],[7172,7],[7517,8],[7605,8]]},"1404":{"position":[[711,7]]},"1405":{"position":[[1402,7]]},"1406":{"position":[[618,7]]},"1407":{"position":[[1443,7]]},"1408":{"position":[[1139,7]]},"1409":{"position":[[673,7]]},"1410":{"position":[[1681,8],[1835,7]]},"1411":{"position":[[656,7]]},"1412":{"position":[[1856,7]]},"1413":{"position":[[2040,7]]},"1414":{"position":[[907,7]]},"1415":{"position":[[2889,7],[4063,7],[4941,7]]},"1416":{"position":[[1541,7]]},"1417":{"position":[[1130,7]]},"1418":{"position":[[831,7]]},"1419":{"position":[[959,7]]},"1420":{"position":[[1223,7]]},"1421":{"position":[[1198,7]]},"1422":{"position":[[1101,7],[2529,7]]},"1423":{"position":[[1090,7],[2198,7]]},"1424":{"position":[[1215,7]]},"1425":{"position":[[831,7]]},"1426":{"position":[[1174,7],[2748,7]]},"1427":{"position":[[2071,7]]},"1428":{"position":[[813,7]]},"1429":{"position":[[2735,7]]},"1430":{"position":[[1589,7]]},"1431":{"position":[[933,7]]},"1432":{"position":[[1454,7]]},"1433":{"position":[[975,7]]},"1434":{"position":[[649,7]]},"1435":{"position":[[613,7]]},"1436":{"position":[[629,7]]},"1437":{"position":[[699,7]]},"1438":{"position":[[833,7]]},"1439":{"position":[[2357,7]]},"1440":{"position":[[2923,7]]},"1441":{"position":[[655,7]]},"1442":{"position":[[728,7]]},"1443":{"position":[[950,7]]},"1444":{"position":[[866,7]]},"1445":{"position":[[555,7]]},"1446":{"position":[[889,7]]},"1447":{"position":[[771,7]]},"1448":{"position":[[1206,7]]},"1449":{"position":[[1140,7]]},"1450":{"position":[[1019,7]]},"1451":{"position":[[1019,7]]},"1452":{"position":[[565,7]]},"1453":{"position":[[1151,7]]},"1454":{"position":[[3517,7],[5552,7],[7666,7]]},"1455":{"position":[[1404,7]]},"1456":{"position":[[749,7]]},"1457":{"position":[[808,7]]},"1458":{"position":[[1343,7]]},"1459":{"position":[[822,7]]},"1460":{"position":[[934,7]]},"1461":{"position":[[1149,7]]},"1462":{"position":[[4530,7]]},"1463":{"position":[[656,7]]},"1464":{"position":[[564,7]]},"1465":{"position":[[1662,7]]},"1466":{"position":[[900,7]]},"1467":{"position":[[5219,7],[8647,7]]},"1468":{"position":[[664,7]]},"1469":{"position":[[1037,7]]},"1470":{"position":[[3566,7]]},"1471":{"position":[[1900,7]]},"1472":{"position":[[1859,7]]},"1473":{"position":[[2174,7],[4018,7]]},"1474":{"position":[[1565,7]]},"1475":{"position":[[2036,7]]},"1476":{"position":[[641,7]]},"1477":{"position":[[793,7]]},"1478":{"position":[[1284,7]]},"1479":{"position":[[733,7]]},"1480":{"position":[[1146,7]]},"1481":{"position":[[1679,7]]},"1482":{"position":[[753,7]]},"1483":{"position":[[587,7]]},"1484":{"position":[[659,7]]},"1485":{"position":[[919,7],[2605,7]]},"1486":{"position":[[1163,7],[2769,8]]},"1487":{"position":[[858,7]]}},"keywords":{}}],["command>",{"_index":4003,"title":{},"content":{"865":{"position":[[799,11]]}},"keywords":{}}],["command'",{"_index":5815,"title":{},"content":{"1127":{"position":[[315,9]]},"1224":{"position":[[205,9]]}},"keywords":{}}],["command.declar",{"_index":5101,"title":{},"content":{"1030":{"position":[[109,15]]}},"keywords":{}}],["command:buck",{"_index":6269,"title":{},"content":{"1260":{"position":[[506,12]]},"1291":{"position":[[506,12]]},"1319":{"position":[[506,12]]}},"keywords":{}}],["command_alia",{"_index":7080,"title":{"1374":{"position":[[0,14]]}},"content":{"1374":{"position":[[4,14],[664,13],[2793,13],[3074,14],[3301,14],[3393,14],[3493,14],[3852,14]]}},"keywords":{}}],["command_executor_config",{"_index":1889,"title":{},"content":{"362":{"position":[[882,23]]},"372":{"position":[[102,23],[452,23]]},"374":{"position":[[1388,23],[1543,24]]},"741":{"position":[[882,23]]},"751":{"position":[[102,23],[452,23]]},"753":{"position":[[1388,23],[1543,24]]}},"keywords":{}}],["command_line_arg",{"_index":5780,"title":{},"content":{"1124":{"position":[[118,18]]}},"keywords":{}}],["command_line_input",{"_index":955,"title":{},"content":{"67":{"position":[[17,19]]},"455":{"position":[[17,19]]}},"keywords":{}}],["commandexecutorconfig",{"_index":1871,"title":{"362":{"position":[[0,22]]},"741":{"position":[[0,22]]}},"content":{"362":{"position":[[4,22]]},"741":{"position":[[4,22]]},"975":{"position":[[78,23]]},"1072":{"position":[[632,22],[1162,22]]}},"keywords":{}}],["commandexecutorconfig(local_en",{"_index":5517,"title":{},"content":{"1072":{"position":[[985,35]]}},"keywords":{}}],["commandlin",{"_index":2055,"title":{},"content":{"386":{"position":[[477,11]]},"765":{"position":[[477,11]]}},"keywords":{}}],["commandresult",{"_index":5785,"title":{},"content":{"1125":{"position":[[28,14],[81,13]]}},"keywords":{}}],["commandsprob",{"_index":4826,"title":{},"content":{"970":{"position":[[84,16]]}},"keywords":{}}],["commas>",{"_index":4665,"title":{},"content":{"942":{"position":[[101,11]]}},"keywords":{}}],["comment",{"_index":2649,"title":{"579":{"position":[[0,9]]},"880":{"position":[[12,8]]}},"content":{"579":{"position":[[71,7]]},"1097":{"position":[[235,10]]}},"keywords":{}}],["commit",{"_index":342,"title":{},"content":{"10":{"position":[[840,6]]},"15":{"position":[[328,6]]},"696":{"position":[[428,8]]},"1096":{"position":[[160,7]]},"1150":{"position":[[435,6]]},"1232":{"position":[[3838,7],[3854,6],[3942,6]]},"1404":{"position":[[537,6],[1484,7]]}},"keywords":{}}],["commit_hash",{"_index":5622,"title":{},"content":{"1096":{"position":[[310,11],[345,11]]}},"keywords":{}}],["commit_id",{"_index":6484,"title":{},"content":{"1351":{"position":[[3946,9],[4565,9]]}},"keywords":{}}],["common",{"_index":667,"title":{"843":{"position":[[0,6]]},"849":{"position":[[0,6]]},"1238":{"position":[[0,6]]},"1259":{"position":[[0,6]]},"1290":{"position":[[0,6]]},"1318":{"position":[[0,6]]}},"content":{"22":{"position":[[1046,6]]},"23":{"position":[[1671,6],[2095,12]]},"678":{"position":[[63,6],[150,6]]},"708":{"position":[[2,6],[173,6],[639,6]]},"722":{"position":[[977,6]]},"845":{"position":[[216,6]]},"846":{"position":[[430,6],[698,6],[1063,6]]},"847":{"position":[[247,6]]},"848":{"position":[[609,6]]},"860":{"position":[[418,6]]},"921":{"position":[[81,6]]},"937":{"position":[[3034,6],[3976,6],[4061,6]]},"1011":{"position":[[332,6]]},"1107":{"position":[[2,6]]},"1250":{"position":[[109,6]]},"1251":{"position":[[2,6]]},"1255":{"position":[[385,6]]},"1355":{"position":[[7697,6]]},"1362":{"position":[[4961,6]]},"1364":{"position":[[4987,6]]},"1386":{"position":[[3224,6]]},"1398":{"position":[[2415,6],[2969,6],[2987,6],[3443,6],[5001,6]]},"1399":{"position":[[2109,6]]},"1427":{"position":[[6774,6]]}},"keywords":{}}],["common.h",{"_index":7262,"title":{},"content":{"1386":{"position":[[3165,8],[3584,11],[4061,8]]}},"keywords":{}}],["common_app_env",{"_index":7606,"title":{},"content":{"1398":{"position":[[586,15],[2357,15]]}},"keywords":{}}],["common_paramet",{"_index":7193,"title":{},"content":{"1383":{"position":[[8485,17]]}},"keywords":{}}],["common_pch",{"_index":7272,"title":{},"content":{"1386":{"position":[[3564,13],[3819,14]]}},"keywords":{}}],["commonli",{"_index":281,"title":{},"content":{"9":{"position":[[2254,8]]},"570":{"position":[[490,8]]},"680":{"position":[[628,8]]},"717":{"position":[[12,9]]},"937":{"position":[[616,8]]},"938":{"position":[[130,9]]},"1243":{"position":[[706,8]]}},"keywords":{}}],["commun",{"_index":1904,"title":{},"content":{"362":{"position":[[1975,13]]},"741":{"position":[[1975,13]]},"1068":{"position":[[16,11]]},"1486":{"position":[[945,13],[3753,12]]}},"keywords":{}}],["commut",{"_index":6296,"title":{},"content":{"1282":{"position":[[104,12]]},"1283":{"position":[[121,12]]},"1284":{"position":[[97,12]]},"1313":{"position":[[104,12]]},"1314":{"position":[[121,12]]},"1315":{"position":[[97,12]]},"1341":{"position":[[104,12]]},"1342":{"position":[[121,12]]},"1343":{"position":[[97,12]]}},"keywords":{}}],["comp",{"_index":4744,"title":{},"content":{"954":{"position":[[310,4],[683,4],[938,4]]}},"keywords":{}}],["comp"",{"_index":5158,"title":{},"content":{"1040":{"position":[[2523,11]]}},"keywords":{}}],["compact",{"_index":5874,"title":{},"content":{"1136":{"position":[[2029,7],[2054,7],[2210,7]]},"1148":{"position":[[2385,7],[2410,7],[2566,7]]},"1209":{"position":[[1262,7],[1287,7],[1443,7]]},"1235":{"position":[[2522,7],[2547,7],[2703,7]]}},"keywords":{}}],["compar",{"_index":163,"title":{"8":{"position":[[14,8]]}},"content":{"23":{"position":[[3518,8]]},"67":{"position":[[131,8]]},"440":{"position":[[134,7]]},"455":{"position":[[131,8]]},"819":{"position":[[134,7]]},"1050":{"position":[[547,7]]},"1056":{"position":[[951,10]]},"1262":{"position":[[363,8]]},"1293":{"position":[[363,8]]},"1321":{"position":[[363,8]]}},"keywords":{}}],["comparison",{"_index":3251,"title":{"910":{"position":[[30,11]]}},"content":{"654":{"position":[[184,11],[318,11]]},"655":{"position":[[181,11]]},"702":{"position":[[44,10]]}},"keywords":{}}],["compat",{"_index":661,"title":{"1019":{"position":[[16,14]]},"1020":{"position":[[8,14]]},"1113":{"position":[[3,14]]}},"content":{"22":{"position":[[900,14]]},"126":{"position":[[200,10]]},"249":{"position":[[200,10]]},"298":{"position":[[1889,10]]},"374":{"position":[[373,10]]},"436":{"position":[[83,13]]},"753":{"position":[[373,10]]},"815":{"position":[[83,13]]},"851":{"position":[[1096,10]]},"900":{"position":[[1737,13]]},"907":{"position":[[368,10]]},"919":{"position":[[1563,14]]},"945":{"position":[[213,13]]},"995":{"position":[[584,13]]},"1019":{"position":[[292,13],[406,10],[491,11]]},"1020":{"position":[[313,11]]},"1021":{"position":[[597,13]]},"1026":{"position":[[983,14]]},"1050":{"position":[[2057,10]]},"1056":{"position":[[863,10]]},"1070":{"position":[[4,13],[692,10]]},"1105":{"position":[[2396,13]]},"1112":{"position":[[1488,13]]},"1113":{"position":[[237,13],[647,13]]},"1140":{"position":[[905,10]]},"1167":{"position":[[375,13],[523,13],[672,13],[851,13],[1025,13],[1213,13],[1392,13],[1556,13],[1726,13],[1873,13]]},"1188":{"position":[[958,10]]},"1190":{"position":[[266,13]]},"1192":{"position":[[103,13]]},"1228":{"position":[[998,10],[1047,10]]},"1348":{"position":[[2954,10],[3080,10],[3211,10]]},"1349":{"position":[[1099,10],[1225,10],[1356,10]]},"1350":{"position":[[4070,10],[4196,10],[4327,10]]},"1351":{"position":[[1291,10],[1418,10],[1550,10]]},"1352":{"position":[[4069,10],[4195,10],[4326,10]]},"1353":{"position":[[1673,10],[1799,10],[1930,10]]},"1354":{"position":[[1511,10],[1637,10],[1768,10]]},"1355":{"position":[[2651,10],[2778,10],[2910,10]]},"1356":{"position":[[1017,10],[1143,10],[1274,10]]},"1357":{"position":[[690,10],[816,10],[947,10]]},"1358":{"position":[[1411,10],[1537,10],[1668,10],[2576,10]]},"1359":{"position":[[1248,10],[1374,10],[1505,10]]},"1360":{"position":[[1880,10],[2007,10],[2139,10]]},"1361":{"position":[[1238,10],[1364,10],[1495,10]]},"1362":{"position":[[5603,10],[5730,10],[5862,10],[10162,10],[10353,10]]},"1363":{"position":[[3349,10],[3476,10],[3608,10]]},"1364":{"position":[[5632,10],[5759,10],[5891,10],[11276,10],[11467,10]]},"1365":{"position":[[1172,10],[1298,10],[1429,10]]},"1366":{"position":[[1379,10],[1506,10],[1638,10]]},"1367":{"position":[[7030,10],[7157,10],[7289,10],[11079,10],[11270,10]]},"1368":{"position":[[1728,10],[1854,10],[1985,10]]},"1369":{"position":[[780,10],[906,10],[1037,10]]},"1370":{"position":[[1028,10],[1155,10],[1287,10]]},"1371":{"position":[[656,10],[782,10],[913,10]]},"1372":{"position":[[2294,10],[2420,10],[2551,10]]},"1373":{"position":[[3166,10],[3292,10],[3423,10]]},"1374":{"position":[[1063,10],[1190,10],[1322,10]]},"1375":{"position":[[692,10],[818,10],[949,10]]},"1376":{"position":[[648,10],[774,10],[905,10]]},"1377":{"position":[[887,10],[1013,10],[1144,10]]},"1378":{"position":[[634,10],[760,10],[891,10]]},"1379":{"position":[[657,10],[783,10],[914,10]]},"1380":{"position":[[1128,10],[1254,10],[1385,10]]},"1381":{"position":[[1034,10],[1160,10],[1291,10]]},"1382":{"position":[[3515,10],[3642,10],[3774,10],[6888,10],[7079,10]]},"1383":{"position":[[1753,10],[1880,10],[2012,10]]},"1384":{"position":[[4677,10],[4804,10],[4936,10],[13242,10],[13433,10]]},"1385":{"position":[[2353,10],[2479,10],[2610,10]]},"1386":{"position":[[991,10],[1117,10],[1248,10],[2394,14],[5995,13]]},"1387":{"position":[[4622,10],[4748,10],[4879,10]]},"1388":{"position":[[3815,10],[3942,10],[4074,10],[7757,10],[7948,10]]},"1389":{"position":[[4675,10],[4801,10],[4932,10]]},"1390":{"position":[[927,10],[1053,10],[1184,10]]},"1391":{"position":[[880,10],[1006,10],[1137,10]]},"1392":{"position":[[1030,10],[1156,10],[1287,10]]},"1393":{"position":[[1603,10],[1730,10],[1862,10]]},"1394":{"position":[[1050,10],[1176,10],[1307,10]]},"1395":{"position":[[1060,10],[1187,10],[1319,10]]},"1396":{"position":[[856,10],[982,10],[1113,10]]},"1397":{"position":[[1037,10],[1163,10],[1294,10]]},"1398":{"position":[[1710,10],[1837,10],[1969,10]]},"1399":{"position":[[892,10],[1018,10],[1149,10]]},"1400":{"position":[[761,10],[887,10],[1018,10]]},"1401":{"position":[[836,10],[962,10],[1093,10]]},"1402":{"position":[[992,10],[1118,10],[1249,10]]},"1403":{"position":[[1583,10],[1710,10],[1842,10]]},"1404":{"position":[[825,10],[951,10],[1082,10]]},"1405":{"position":[[1516,10],[1642,10],[1773,10]]},"1406":{"position":[[732,10],[858,10],[989,10]]},"1407":{"position":[[1557,10],[1683,10],[1814,10]]},"1408":{"position":[[1253,10],[1379,10],[1510,10]]},"1409":{"position":[[787,10],[913,10],[1044,10]]},"1410":{"position":[[1950,10],[2077,10],[2209,10]]},"1411":{"position":[[770,10],[896,10],[1027,10]]},"1412":{"position":[[1971,10],[2098,10],[2230,10]]},"1413":{"position":[[2154,10],[2280,10],[2411,10]]},"1414":{"position":[[1021,10],[1147,10],[1278,10]]},"1415":{"position":[[3003,10],[3129,10],[3260,10]]},"1416":{"position":[[1655,10],[1781,10],[1912,10]]},"1417":{"position":[[1244,10],[1370,10],[1501,10]]},"1418":{"position":[[945,10],[1071,10],[1202,10]]},"1419":{"position":[[1073,10],[1199,10],[1330,10]]},"1420":{"position":[[1337,10],[1463,10],[1594,10]]},"1421":{"position":[[1312,10],[1438,10],[1569,10]]},"1422":{"position":[[1216,10],[1343,10],[1475,10]]},"1423":{"position":[[1204,10],[1330,10],[1461,10]]},"1424":{"position":[[1329,10],[1455,10],[1586,10]]},"1425":{"position":[[945,10],[1071,10],[1202,10]]},"1426":{"position":[[1289,10],[1416,10],[1548,10]]},"1427":{"position":[[2186,10],[2313,10],[2445,10]]},"1428":{"position":[[927,10],[1053,10],[1184,10]]},"1429":{"position":[[2850,10],[2977,10],[3109,10]]},"1430":{"position":[[1703,10],[1829,10],[1960,10]]},"1431":{"position":[[1047,10],[1173,10],[1304,10]]},"1432":{"position":[[1568,10],[1694,10],[1825,10]]},"1433":{"position":[[1089,10],[1215,10],[1346,10]]},"1434":{"position":[[763,10],[889,10],[1020,10]]},"1435":{"position":[[727,10],[853,10],[984,10]]},"1436":{"position":[[743,10],[869,10],[1000,10]]},"1437":{"position":[[813,10],[939,10],[1070,10]]},"1438":{"position":[[948,10],[1075,10],[1207,10]]},"1439":{"position":[[2472,10],[2599,10],[2731,10]]},"1440":{"position":[[3038,10],[3165,10],[3297,10]]},"1441":{"position":[[769,10],[895,10],[1026,10]]},"1442":{"position":[[843,10],[970,10],[1102,10]]},"1443":{"position":[[1064,10],[1190,10],[1321,10]]},"1444":{"position":[[980,10],[1106,10],[1237,10]]},"1445":{"position":[[669,10],[795,10],[926,10]]},"1446":{"position":[[1003,10],[1129,10],[1260,10]]},"1447":{"position":[[885,10],[1011,10],[1142,10]]},"1448":{"position":[[1320,10],[1446,10],[1577,10]]},"1449":{"position":[[1254,10],[1380,10],[1511,10]]},"1450":{"position":[[1133,10],[1259,10],[1390,10]]},"1451":{"position":[[1133,10],[1259,10],[1390,10]]},"1452":{"position":[[679,10],[805,10],[936,10]]},"1453":{"position":[[1265,10],[1391,10],[1522,10]]},"1454":{"position":[[3631,10],[3757,10],[3888,10]]},"1455":{"position":[[1518,10],[1644,10],[1775,10]]},"1456":{"position":[[863,10],[989,10],[1120,10]]},"1457":{"position":[[922,10],[1048,10],[1179,10]]},"1458":{"position":[[1457,10],[1583,10],[1714,10]]},"1459":{"position":[[936,10],[1062,10],[1193,10]]},"1460":{"position":[[1048,10],[1174,10],[1305,10]]},"1461":{"position":[[1264,10],[1391,10],[1523,10]]},"1462":{"position":[[4644,10],[4770,10],[4901,10]]},"1463":{"position":[[770,10],[896,10],[1027,10]]},"1464":{"position":[[678,10],[804,10],[935,10]]},"1465":{"position":[[1776,10],[1902,10],[2033,10]]},"1466":{"position":[[1014,10],[1140,10],[1271,10]]},"1467":{"position":[[5334,10],[5461,10],[5593,10]]},"1468":{"position":[[778,10],[904,10],[1035,10]]},"1469":{"position":[[1152,10],[1279,10],[1411,10]]},"1470":{"position":[[3680,10],[3806,10],[3937,10]]},"1471":{"position":[[2015,10],[2142,10],[2274,10]]},"1472":{"position":[[1974,10],[2101,10],[2233,10]]},"1473":{"position":[[2289,10],[2416,10],[2548,10]]},"1474":{"position":[[1679,10],[1805,10],[1936,10]]},"1475":{"position":[[2150,10],[2276,10],[2407,10]]},"1476":{"position":[[755,10],[881,10],[1012,10]]},"1477":{"position":[[908,10],[1035,10],[1167,10]]},"1478":{"position":[[1399,10],[1526,10],[1658,10]]},"1479":{"position":[[847,10],[973,10],[1104,10]]},"1480":{"position":[[1260,10],[1386,10],[1517,10]]},"1481":{"position":[[1793,10],[1919,10],[2050,10]]},"1482":{"position":[[867,10],[993,10],[1124,10]]},"1483":{"position":[[701,10],[827,10],[958,10]]},"1484":{"position":[[773,10],[899,10],[1030,10]]},"1485":{"position":[[1033,10],[1159,10],[1290,10]]},"1486":{"position":[[1277,10],[1403,10],[1534,10]]},"1487":{"position":[[973,10],[1100,10],[1232,10]]}},"keywords":{}}],["compatible.remot",{"_index":6808,"title":{},"content":{"1362":{"position":[[10290,17]]},"1364":{"position":[[11404,17]]},"1367":{"position":[[11207,17]]},"1382":{"position":[[7016,17]]},"1384":{"position":[[13370,17]]},"1388":{"position":[[7885,17]]}},"keywords":{}}],["compatible.target_compatible_with",{"_index":5065,"title":{},"content":{"1020":{"position":[[204,34]]}},"keywords":{}}],["compatible_with",{"_index":5064,"title":{},"content":{"1020":{"position":[[39,15],[113,16]]},"1348":{"position":[[111,16]]},"1349":{"position":[[122,16]]},"1350":{"position":[[114,16]]},"1351":{"position":[[120,16],[1323,16]]},"1352":{"position":[[114,16]]},"1353":{"position":[[127,16]]},"1354":{"position":[[128,16]]},"1355":{"position":[[115,16],[2683,16]]},"1356":{"position":[[116,16]]},"1357":{"position":[[116,16]]},"1358":{"position":[[120,16]]},"1359":{"position":[[116,16]]},"1360":{"position":[[111,16],[1912,16]]},"1361":{"position":[[119,16]]},"1362":{"position":[[112,16],[5635,16]]},"1363":{"position":[[112,16],[3381,16]]},"1364":{"position":[[113,16],[5664,16]]},"1365":{"position":[[113,16]]},"1366":{"position":[[114,16],[1411,16]]},"1367":{"position":[[110,16],[7062,16]]},"1368":{"position":[[115,16]]},"1369":{"position":[[119,16]]},"1370":{"position":[[126,16],[1060,16]]},"1371":{"position":[[117,16]]},"1372":{"position":[[114,16]]},"1373":{"position":[[111,16]]},"1374":{"position":[[113,16],[1095,16]]},"1375":{"position":[[114,16]]},"1376":{"position":[[119,16]]},"1377":{"position":[[116,16]]},"1378":{"position":[[118,16]]},"1379":{"position":[[116,16]]},"1380":{"position":[[115,16]]},"1381":{"position":[[114,16]]},"1382":{"position":[[110,16],[3547,16]]},"1383":{"position":[[111,16],[1785,16]]},"1384":{"position":[[111,16],[4709,16]]},"1385":{"position":[[117,16]]},"1386":{"position":[[122,16]]},"1387":{"position":[[120,16]]},"1388":{"position":[[108,16],[3847,16]]},"1389":{"position":[[113,16]]},"1390":{"position":[[108,16]]},"1391":{"position":[[109,16]]},"1392":{"position":[[106,16]]},"1393":{"position":[[110,16],[1635,16]]},"1394":{"position":[[119,16]]},"1395":{"position":[[114,16],[1092,16]]},"1396":{"position":[[119,16]]},"1397":{"position":[[114,16]]},"1398":{"position":[[111,16],[1742,16]]},"1399":{"position":[[111,16]]},"1400":{"position":[[120,16]]},"1401":{"position":[[109,16]]},"1402":{"position":[[108,16]]},"1403":{"position":[[107,16],[1615,16]]},"1404":{"position":[[109,16]]},"1405":{"position":[[109,16]]},"1406":{"position":[[119,16]]},"1407":{"position":[[119,16]]},"1408":{"position":[[110,16]]},"1409":{"position":[[109,16]]},"1410":{"position":[[107,16],[1982,16]]},"1411":{"position":[[114,16]]},"1412":{"position":[[114,16],[2003,16]]},"1413":{"position":[[111,16]]},"1414":{"position":[[110,16]]},"1415":{"position":[[114,16]]},"1416":{"position":[[114,16]]},"1417":{"position":[[112,16]]},"1418":{"position":[[115,16]]},"1419":{"position":[[111,16]]},"1420":{"position":[[115,16]]},"1421":{"position":[[124,16]]},"1422":{"position":[[112,16],[1248,16]]},"1423":{"position":[[109,16]]},"1424":{"position":[[111,16]]},"1425":{"position":[[125,16]]},"1426":{"position":[[111,16],[1321,16]]},"1427":{"position":[[112,16],[2218,16]]},"1428":{"position":[[111,16]]},"1429":{"position":[[109,16],[2882,16]]},"1430":{"position":[[116,16]]},"1431":{"position":[[109,16]]},"1432":{"position":[[117,16]]},"1433":{"position":[[110,16]]},"1434":{"position":[[112,16]]},"1435":{"position":[[117,16]]},"1436":{"position":[[113,16]]},"1437":{"position":[[110,16]]},"1438":{"position":[[108,16],[980,16]]},"1439":{"position":[[114,16],[2504,16]]},"1440":{"position":[[111,16],[3070,16]]},"1441":{"position":[[116,16]]},"1442":{"position":[[117,16],[875,16]]},"1443":{"position":[[110,16]]},"1444":{"position":[[111,16]]},"1445":{"position":[[114,16]]},"1446":{"position":[[111,16]]},"1447":{"position":[[113,16]]},"1448":{"position":[[112,16]]},"1449":{"position":[[113,16]]},"1450":{"position":[[112,16]]},"1451":{"position":[[112,16]]},"1452":{"position":[[108,16]]},"1453":{"position":[[124,16]]},"1454":{"position":[[120,16]]},"1455":{"position":[[126,16]]},"1456":{"position":[[123,16]]},"1457":{"position":[[119,16]]},"1458":{"position":[[112,16]]},"1459":{"position":[[123,16]]},"1460":{"position":[[122,16]]},"1461":{"position":[[123,16],[1296,16]]},"1462":{"position":[[113,16]]},"1463":{"position":[[123,16]]},"1464":{"position":[[124,16]]},"1465":{"position":[[114,16]]},"1466":{"position":[[127,16]]},"1467":{"position":[[111,16],[5366,16]]},"1468":{"position":[[118,16]]},"1469":{"position":[[111,16],[1184,16]]},"1470":{"position":[[116,16]]},"1471":{"position":[[111,16],[2047,16]]},"1472":{"position":[[112,16],[2006,16]]},"1473":{"position":[[109,16],[2321,16]]},"1474":{"position":[[113,16]]},"1475":{"position":[[110,16]]},"1476":{"position":[[116,16]]},"1477":{"position":[[109,16],[940,16]]},"1478":{"position":[[107,16],[1431,16]]},"1479":{"position":[[124,16]]},"1480":{"position":[[113,16]]},"1481":{"position":[[115,16]]},"1482":{"position":[[110,16]]},"1483":{"position":[[115,16]]},"1484":{"position":[[115,16]]},"1485":{"position":[[116,16]]},"1486":{"position":[[111,16]]},"1487":{"position":[[108,16],[1005,16]]}},"keywords":{}}],["compil",{"_index":323,"title":{"17":{"position":[[0,9]]}},"content":{"10":{"position":[[385,7]]},"13":{"position":[[124,8]]},"15":{"position":[[391,7]]},"23":{"position":[[2017,7]]},"134":{"position":[[340,12]]},"257":{"position":[[340,12]]},"407":{"position":[[297,12]]},"427":{"position":[[434,8]]},"429":{"position":[[232,7]]},"577":{"position":[[306,8]]},"678":{"position":[[101,9]]},"693":{"position":[[516,8],[1217,8],[3926,9]]},"704":{"position":[[170,12],[458,9],[487,8],[1599,7],[1802,8]]},"706":{"position":[[1255,7],[1471,7]]},"715":{"position":[[1050,12]]},"786":{"position":[[297,12]]},"806":{"position":[[434,8]]},"808":{"position":[[232,7]]},"872":{"position":[[254,8]]},"873":{"position":[[2,11],[72,7],[172,11],[589,11]]},"887":{"position":[[166,11]]},"890":{"position":[[2357,12],[4860,7]]},"895":{"position":[[200,12]]},"898":{"position":[[1491,9]]},"937":{"position":[[1864,10],[3441,8]]},"939":{"position":[[1571,8]]},"940":{"position":[[563,8],[1125,8]]},"943":{"position":[[1295,8],[1766,8],[2428,8],[2525,8],[2615,8],[2693,9]]},"954":{"position":[[87,11],[434,11],[781,11]]},"964":{"position":[[22,11]]},"987":{"position":[[21,8],[80,8],[129,8],[378,9]]},"1023":{"position":[[144,8]]},"1048":{"position":[[47,7],[102,9],[232,8],[1286,7]]},"1072":{"position":[[286,9]]},"1172":{"position":[[1611,8]]},"1173":{"position":[[911,8]]},"1278":{"position":[[253,8]]},"1279":{"position":[[177,8]]},"1309":{"position":[[253,8]]},"1310":{"position":[[177,8]]},"1337":{"position":[[253,8]]},"1338":{"position":[[177,8]]},"1351":{"position":[[835,7],[2357,11],[2739,11]]},"1353":{"position":[[2562,8]]},"1355":{"position":[[2224,8],[2355,8],[3617,7],[3733,7],[4608,9],[4754,9],[4804,12],[4843,9],[5152,8],[6365,8],[7391,7]]},"1358":{"position":[[3177,7]]},"1362":{"position":[[6473,9],[6523,13],[11256,8],[11499,9],[12360,11],[12398,8],[12693,9],[13029,11],[13196,9],[13433,11]]},"1363":{"position":[[4026,8],[4859,12]]},"1364":{"position":[[6502,9],[6552,13],[12223,8],[12466,9],[12865,11],[12903,8],[13393,9],[13729,11],[13896,9],[14133,11]]},"1367":{"position":[[7900,9],[7950,13],[11626,8],[11869,9],[12268,11],[12306,8],[12601,9],[12937,11],[13104,9],[13341,11],[14018,12]]},"1373":{"position":[[2897,10],[4036,8],[4108,9],[4293,8],[4374,8],[4416,8],[4437,9],[5781,9],[6278,8],[6521,9],[8216,8],[8257,8],[8279,9],[8573,9]]},"1381":{"position":[[1661,8],[2456,8]]},"1382":{"position":[[4385,9],[4435,13],[6317,7],[6337,9],[8125,8],[8368,9],[10076,11],[10114,8],[11055,9],[11391,11],[11558,9]]},"1383":{"position":[[3052,9],[3084,9],[3125,9],[3217,9]]},"1384":{"position":[[5547,9],[5597,13],[9683,8],[9923,8],[11264,7],[11284,9],[11412,8],[11900,8],[14470,8],[14713,9],[16421,11],[16459,8],[16938,7],[16958,9],[17186,7],[17206,9],[17285,8],[18709,9],[19045,11],[19212,9],[21320,12]]},"1385":{"position":[[3191,9],[4355,8],[4598,9],[6302,11],[6340,8],[6633,9],[6969,11],[7136,9]]},"1386":{"position":[[2221,11],[2437,11],[4511,9],[4576,12],[5038,8],[5285,8]]},"1387":{"position":[[5462,9],[7728,8],[7971,9],[9675,11],[9713,8],[10006,9],[10342,11],[10509,9]]},"1388":{"position":[[5079,9],[5129,13],[7186,7],[7206,9],[9548,9],[9884,11],[10051,9]]},"1389":{"position":[[5356,7],[5603,7]]},"1390":{"position":[[1843,8]]},"1391":{"position":[[1658,8]]},"1392":{"position":[[2113,8]]},"1393":{"position":[[4234,7],[4350,7],[7640,8],[8051,8]]},"1398":{"position":[[2820,7],[4586,8],[5202,8],[6266,7]]},"1405":{"position":[[2420,8],[3637,8],[3678,8],[3699,9],[3726,8]]},"1406":{"position":[[1396,8],[1437,8],[1458,9],[1485,8]]},"1407":{"position":[[2567,8],[2841,8],[4256,8],[4297,8],[4318,9],[4345,8]]},"1408":{"position":[[1958,8],[2145,9],[2635,8],[2676,8],[2697,9],[2724,8]]},"1410":{"position":[[2864,8],[2898,8],[4310,9],[5047,8],[5088,8],[5109,9],[5136,8]]},"1412":{"position":[[1501,8],[1549,7],[1675,8],[2686,7],[2976,12],[3106,9],[3153,12],[3340,12],[3418,7],[3524,11],[3612,12],[3698,8],[3814,8],[4004,8],[4111,9],[4152,8],[4200,13]]},"1415":{"position":[[2549,7],[2648,11],[3638,8],[3790,9],[4237,8],[4480,9],[5048,7],[5091,8],[5513,8],[5587,9]]},"1416":{"position":[[2289,8],[2303,9],[3037,8]]},"1420":{"position":[[1971,8],[1985,9]]},"1421":{"position":[[2011,8],[2055,9]]},"1422":{"position":[[4089,8],[4240,8],[4280,8],[4458,8]]},"1423":{"position":[[3452,8],[3573,8],[3642,10]]},"1426":{"position":[[944,8],[2362,8]]},"1427":{"position":[[1736,8],[1839,8],[2881,7],[3753,9],[4065,12],[4277,12],[4466,8],[5537,8],[6590,7],[6753,12],[6860,8],[7113,8],[7292,8],[7477,8]]},"1429":{"position":[[4915,10],[5062,8],[5750,10]]},"1439":{"position":[[2020,8],[2125,8],[3438,7],[3553,7],[4437,9],[4506,8],[4630,12],[4669,9],[4731,8],[4760,9],[5481,9],[5677,8],[6059,8],[6965,8],[7446,8],[7726,7],[7896,12],[7943,8],[8120,8],[8303,8]]},"1440":{"position":[[4579,12],[4618,9],[5056,8]]},"1442":{"position":[[2428,9],[2764,11],[2931,9]]},"1446":{"position":[[2282,7]]},"1448":{"position":[[1947,8],[1979,9],[2555,8]]},"1449":{"position":[[1881,8],[1913,9],[2489,8]]},"1457":{"position":[[1732,9]]},"1461":{"position":[[515,8]]},"1462":{"position":[[800,8]]},"1467":{"position":[[867,8]]},"1471":{"position":[[3347,8],[5008,8],[5082,8]]},"1472":{"position":[[3931,8],[5509,8],[5968,8]]},"1473":{"position":[[3381,8],[5458,8],[5532,8]]},"1485":{"position":[[747,8],[2597,7],[2617,9],[3919,9],[4255,11],[4422,9],[4482,8],[4529,8],[4825,8]]}},"keywords":{}}],["compilation).dep",{"_index":7298,"title":{},"content":{"1387":{"position":[[5512,18]]},"1415":{"position":[[3840,18]]}},"keywords":{}}],["compilation).go_assembler_flag",{"_index":7046,"title":{},"content":{"1373":{"position":[[4158,32]]}},"keywords":{}}],["compilation).header_namespac",{"_index":7241,"title":{},"content":{"1385":{"position":[[3241,30]]}},"keywords":{}}],["compilation.k2",{"_index":8407,"title":{},"content":{"1470":{"position":[[4396,15]]}},"keywords":{}}],["compile.dep",{"_index":7728,"title":{},"content":{"1405":{"position":[[2454,13]]},"1407":{"position":[[2875,13]]},"1408":{"position":[[1992,13]]}},"keywords":{}}],["compile.go_src",{"_index":7048,"title":{},"content":{"1373":{"position":[[4327,16]]}},"keywords":{}}],["compile_resources_loc",{"_index":6986,"title":{},"content":{"1368":{"position":[[588,26]]}},"keywords":{}}],["compiler'",{"_index":8426,"title":{},"content":{"1471":{"position":[[3404,10]]},"1472":{"position":[[3988,10]]},"1473":{"position":[[3438,10]]}},"keywords":{}}],["compiler.dep",{"_index":7124,"title":{},"content":{"1381":{"position":[[1691,14]]}},"keywords":{}}],["compiler.increment",{"_index":8406,"title":{},"content":{"1470":{"position":[[4347,21]]}},"keywords":{}}],["compiler.robolectric_manifest",{"_index":8408,"title":{},"content":{"1470":{"position":[[4434,30]]}},"keywords":{}}],["compiler/preprocessor",{"_index":7066,"title":{},"content":{"1373":{"position":[[7738,21]]},"1382":{"position":[[10514,21]]},"1384":{"position":[[17588,21]]},"1388":{"position":[[9007,21]]},"1485":{"position":[[3379,21]]}},"keywords":{}}],["compiler_dep",{"_index":7824,"title":{},"content":{"1415":{"position":[[359,14],[5699,13]]}},"keywords":{}}],["compiler_flag",{"_index":6700,"title":{},"content":{"1362":{"position":[[763,15],[6439,15],[11535,14]]},"1364":{"position":[[780,15],[6468,15],[12502,14]]},"1367":{"position":[[1794,15],[7866,15],[11905,14]]},"1373":{"position":[[637,15],[6557,14],[7917,15]]},"1381":{"position":[[387,15]]},"1382":{"position":[[592,15],[4351,15],[8404,14],[10693,15]]},"1384":{"position":[[570,15],[5513,15],[14749,14],[17767,15],[21431,14],[21819,14]]},"1385":{"position":[[391,15],[4634,14],[7346,14]]},"1386":{"position":[[3850,14]]},"1387":{"position":[[677,15],[8007,14]]},"1388":{"position":[[725,15],[5045,15],[9186,15]]},"1405":{"position":[[557,15]]},"1407":{"position":[[584,15],[4704,14],[4948,14]]},"1408":{"position":[[578,15]]},"1410":{"position":[[680,15],[2826,15]]},"1415":{"position":[[389,15],[4516,14]]},"1416":{"position":[[441,15]]},"1417":{"position":[[411,15]]},"1419":{"position":[[385,15]]},"1420":{"position":[[414,15]]},"1448":{"position":[[441,15]]},"1449":{"position":[[435,15]]},"1450":{"position":[[441,15]]},"1451":{"position":[[441,15]]},"1462":{"position":[[826,15]]},"1467":{"position":[[893,15]]},"1480":{"position":[[391,15]]},"1485":{"position":[[3558,15]]}},"keywords":{}}],["compiler_invocation_flag",{"_index":7825,"title":{},"content":{"1415":{"position":[[420,26]]}},"keywords":{}}],["compiler_typ",{"_index":7345,"title":{},"content":{"1389":{"position":[[1390,14]]}},"keywords":{}}],["complain",{"_index":4212,"title":{},"content":{"890":{"position":[[1546,8]]}},"keywords":{}}],["complet",{"_index":533,"title":{"712":{"position":[[0,8]]},"1143":{"position":[[0,10]]},"1144":{"position":[[5,11]]}},"content":{"17":{"position":[[1405,10]]},"23":{"position":[[3430,9]]},"584":{"position":[[174,8],[523,8]]},"675":{"position":[[772,11],[1121,9]]},"689":{"position":[[323,9]]},"693":{"position":[[1673,9]]},"725":{"position":[[28,9]]},"873":{"position":[[232,9]]},"900":{"position":[[1927,8]]},"1133":{"position":[[651,8]]},"1136":{"position":[[4100,10]]},"1138":{"position":[[4394,8],[4647,8],[7762,10]]},"1140":{"position":[[3883,8],[4136,8],[6688,10]]},"1142":{"position":[[2132,10]]},"1144":{"position":[[6,10],[116,10],[151,10],[188,10],[276,10]]},"1146":{"position":[[2072,10]]},"1148":{"position":[[5112,10]]},"1155":{"position":[[2168,10]]},"1156":{"position":[[1746,10]]},"1167":{"position":[[4887,8],[5140,8],[7692,10]]},"1169":{"position":[[1531,10]]},"1172":{"position":[[1771,10],[1988,11],[2226,10]]},"1186":{"position":[[602,9],[3336,10]]},"1187":{"position":[[615,9],[3349,10]]},"1188":{"position":[[3936,8],[4189,8],[5341,9],[8075,10]]},"1191":{"position":[[1936,10]]},"1192":{"position":[[2111,10]]},"1193":{"position":[[2163,10]]},"1194":{"position":[[1803,10]]},"1195":{"position":[[1781,10]]},"1196":{"position":[[1591,10]]},"1197":{"position":[[2574,10]]},"1198":{"position":[[2584,10]]},"1199":{"position":[[2612,10]]},"1200":{"position":[[2479,10]]},"1201":{"position":[[1739,10]]},"1202":{"position":[[2881,10],[7278,10]]},"1203":{"position":[[1973,10]]},"1204":{"position":[[1817,10]]},"1205":{"position":[[3146,10]]},"1206":{"position":[[1617,10]]},"1207":{"position":[[1774,10]]},"1209":{"position":[[3122,10]]},"1217":{"position":[[3628,8],[3881,8],[6433,10]]},"1219":{"position":[[2419,10]]},"1222":{"position":[[1543,10]]},"1223":{"position":[[1553,10]]},"1224":{"position":[[1733,10]]},"1226":{"position":[[6901,10]]},"1228":{"position":[[5709,8],[5962,8],[8514,10]]},"1235":{"position":[[4382,10]]},"1237":{"position":[[7071,10]]},"1354":{"position":[[2991,9]]},"1355":{"position":[[6065,10],[7078,10]]},"1360":{"position":[[5077,8]]},"1383":{"position":[[7185,8]]},"1388":{"position":[[10218,9]]},"1392":{"position":[[2342,9]]},"1403":{"position":[[5234,8],[6176,10],[6200,10]]},"1410":{"position":[[5441,9]]},"1427":{"position":[[5238,10],[6277,10]]},"1429":{"position":[[5938,9]]},"1440":{"position":[[5838,9]]},"1467":{"position":[[10460,9]]},"1477":{"position":[[3178,10]]}},"keywords":{}}],["complex",{"_index":710,"title":{},"content":{"23":{"position":[[934,7]]},"92":{"position":[[1244,7]]},"224":{"position":[[1244,7]]},"346":{"position":[[485,7]]},"584":{"position":[[457,11]]},"846":{"position":[[735,7]]},"961":{"position":[[330,10]]},"981":{"position":[[711,10]]},"1040":{"position":[[1670,7]]},"1045":{"position":[[83,7]]},"1461":{"position":[[3825,7]]}},"keywords":{}}],["complexvalue>",{"_index":4346,"title":{},"content":{"898":{"position":[[2266,17],[2363,18]]}},"keywords":{}}],["complexvalueen",{"_index":4353,"title":{},"content":{"898":{"position":[[2489,18]]}},"keywords":{}}],["complic",{"_index":4467,"title":{},"content":{"912":{"position":[[44,12]]},"1105":{"position":[[2178,11]]}},"keywords":{}}],["compon",{"_index":1895,"title":{},"content":{"362":{"position":[[1427,9]]},"595":{"position":[[523,11]]},"607":{"position":[[102,10]]},"741":{"position":[[1427,9]]},"900":{"position":[[932,10],[1042,10]]},"1058":{"position":[[1011,10]]},"1136":{"position":[[5222,11],[5281,10],[5447,10]]},"1138":{"position":[[8884,11],[8943,10],[9109,10]]},"1140":{"position":[[7810,11],[7869,10],[8035,10]]},"1142":{"position":[[3254,11],[3313,10],[3479,10]]},"1146":{"position":[[3194,11],[3253,10],[3419,10]]},"1148":{"position":[[6234,11],[6293,10],[6459,10]]},"1155":{"position":[[3290,11],[3349,10],[3515,10]]},"1156":{"position":[[2868,11],[2927,10],[3093,10]]},"1161":{"position":[[761,11],[820,10],[986,10]]},"1167":{"position":[[8814,11],[8873,10],[9039,10]]},"1181":{"position":[[973,11],[1032,10],[1198,10]]},"1186":{"position":[[4458,11],[4517,10],[4683,10]]},"1187":{"position":[[4471,11],[4530,10],[4696,10]]},"1188":{"position":[[9197,11],[9256,10],[9422,10]]},"1191":{"position":[[3058,11],[3117,10],[3283,10]]},"1192":{"position":[[3233,11],[3292,10],[3458,10]]},"1193":{"position":[[3285,11],[3344,10],[3510,10]]},"1194":{"position":[[2925,11],[2984,10],[3150,10]]},"1195":{"position":[[2903,11],[2962,10],[3128,10]]},"1196":{"position":[[2713,11],[2772,10],[2938,10]]},"1197":{"position":[[3696,11],[3755,10],[3921,10]]},"1198":{"position":[[3706,11],[3765,10],[3931,10]]},"1199":{"position":[[3734,11],[3793,10],[3959,10]]},"1200":{"position":[[3601,11],[3660,10],[3826,10]]},"1201":{"position":[[2861,11],[2920,10],[3086,10]]},"1202":{"position":[[4003,11],[4062,10],[4228,10],[8400,11],[8459,10],[8625,10]]},"1203":{"position":[[3095,11],[3154,10],[3320,10]]},"1204":{"position":[[2939,11],[2998,10],[3164,10]]},"1205":{"position":[[4268,11],[4327,10],[4493,10]]},"1206":{"position":[[2739,11],[2798,10],[2964,10]]},"1207":{"position":[[2896,11],[2955,10],[3121,10]]},"1209":{"position":[[4244,11],[4303,10],[4469,10]]},"1217":{"position":[[7555,11],[7614,10],[7780,10]]},"1222":{"position":[[2665,11],[2724,10],[2890,10]]},"1223":{"position":[[2675,11],[2734,10],[2900,10]]},"1226":{"position":[[8023,11],[8082,10],[8248,10]]},"1228":{"position":[[9636,11],[9695,10],[9861,10]]},"1235":{"position":[[5504,11],[5563,10],[5729,10]]},"1237":{"position":[[8193,11],[8252,10],[8418,10]]},"1362":{"position":[[13573,10]]},"1364":{"position":[[14273,10]]}},"keywords":{}}],["compos",{"_index":676,"title":{},"content":{"22":{"position":[[1507,13]]},"99":{"position":[[745,8]]},"231":{"position":[[745,8]]},"438":{"position":[[285,8]]},"597":{"position":[[69,8]]},"598":{"position":[[69,8]]},"599":{"position":[[69,8]]},"817":{"position":[[285,8]]},"937":{"position":[[2047,7]]}},"keywords":{}}],["composit",{"_index":4605,"title":{},"content":{"937":{"position":[[3581,11]]},"939":{"position":[[879,11]]},"944":{"position":[[72,13]]}},"keywords":{}}],["comprehens",{"_index":781,"title":{},"content":{"23":{"position":[[3474,13]]},"890":{"position":[[5556,13],[5590,13],[5844,14],[5887,13],[5909,13],[6076,14]]}},"keywords":{}}],["compress",{"_index":3997,"title":{},"content":{"865":{"position":[[255,8],[869,10]]},"1140":{"position":[[757,11],[828,11],[872,12]]},"1188":{"position":[[810,11],[881,11],[925,12]]},"1226":{"position":[[4997,11],[5024,8]]},"1237":{"position":[[5167,11],[5194,8]]},"1358":{"position":[[2533,12]]},"1365":{"position":[[860,10]]}},"keywords":{}}],["compress_asset_librari",{"_index":6342,"title":{},"content":{"1348":{"position":[[884,25]]},"1350":{"position":[[1283,25]]},"1352":{"position":[[1319,25]]}},"keywords":{}}],["comput",{"_index":222,"title":{},"content":{"9":{"position":[[1080,13]]},"23":{"position":[[573,8],[1381,11]]},"324":{"position":[[558,9]]},"445":{"position":[[35,8]]},"465":{"position":[[320,9]]},"690":{"position":[[377,7]]},"704":{"position":[[362,8],[556,8],[1613,8]]},"705":{"position":[[216,8]]},"722":{"position":[[464,11]]},"724":{"position":[[148,8]]},"824":{"position":[[35,8]]},"832":{"position":[[432,12],[562,11],[846,12]]},"846":{"position":[[1220,12]]},"861":{"position":[[163,13],[464,13]]},"965":{"position":[[4,12],[304,12]]},"973":{"position":[[207,7]]},"1050":{"position":[[4625,7]]},"1112":{"position":[[1524,8]]},"1226":{"position":[[596,11],[742,7],[1073,11],[1530,9]]},"1237":{"position":[[766,11],[912,7],[1243,11],[1700,9]]},"1250":{"position":[[255,13]]},"1259":{"position":[[58,8],[2081,8],[2180,8],[2291,8]]},"1260":{"position":[[0,8]]},"1282":{"position":[[0,8]]},"1283":{"position":[[0,8]]},"1284":{"position":[[0,8]]},"1290":{"position":[[58,8],[2081,8],[2180,8],[2291,8]]},"1291":{"position":[[0,8]]},"1313":{"position":[[0,8]]},"1314":{"position":[[0,8]]},"1315":{"position":[[0,8]]},"1318":{"position":[[58,8],[2081,8],[2180,8],[2291,8]]},"1319":{"position":[[0,8]]},"1341":{"position":[[0,8]]},"1342":{"position":[[0,8]]},"1343":{"position":[[0,8]]},"1429":{"position":[[4358,13]]},"1440":{"position":[[4351,13]]}},"keywords":{}}],["computation",{"_index":4803,"title":{},"content":{"965":{"position":[[445,15]]}},"keywords":{}}],["concat",{"_index":2468,"title":{},"content":{"481":{"position":[[91,8]]}},"keywords":{}}],["concaten",{"_index":2889,"title":{},"content":{"604":{"position":[[152,13]]},"1228":{"position":[[1696,13]]}},"keywords":{}}],["concept",{"_index":857,"title":{"689":{"position":[[0,7]]},"694":{"position":[[4,8]]},"1103":{"position":[[0,8]]}},"content":{"41":{"position":[[467,8]]},"174":{"position":[[467,8]]},"680":{"position":[[207,8]]},"683":{"position":[[339,7]]},"689":{"position":[[0,7],[16,7],[108,9],[245,7]]},"697":{"position":[[19,7],[64,8]]},"898":{"position":[[2074,8]]},"900":{"position":[[2123,9]]},"919":{"position":[[11,7]]},"980":{"position":[[272,8]]},"988":{"position":[[32,7]]},"1082":{"position":[[96,7]]},"1112":{"position":[[4360,8]]},"1114":{"position":[[697,7]]}},"keywords":{}}],["conceptu",{"_index":3627,"title":{},"content":{"703":{"position":[[131,12]]},"1017":{"position":[[998,12]]}},"keywords":{}}],["concert",{"_index":6572,"title":{},"content":{"1355":{"position":[[7641,7]]}},"keywords":{}}],["concret",{"_index":4154,"title":{},"content":{"888":{"position":[[223,8]]}},"keywords":{}}],["concur",{"_index":3718,"title":{},"content":{"711":{"position":[[1254,11]]}},"keywords":{}}],["concurr",{"_index":1214,"title":{"1243":{"position":[[13,10]]}},"content":{"94":{"position":[[2927,10],[3001,11]]},"226":{"position":[[2927,10],[3001,11]]},"398":{"position":[[28,12],[259,12]]},"622":{"position":[[1591,13],[1967,13]]},"777":{"position":[[28,12],[259,12]]},"1052":{"position":[[1287,12]]},"1067":{"position":[[739,13]]},"1136":{"position":[[3546,10]]},"1138":{"position":[[7208,10]]},"1140":{"position":[[6134,10]]},"1142":{"position":[[1578,10]]},"1146":{"position":[[1518,10]]},"1148":{"position":[[4558,10]]},"1155":{"position":[[1614,10]]},"1156":{"position":[[1192,10]]},"1167":{"position":[[7138,10]]},"1169":{"position":[[977,10]]},"1186":{"position":[[2782,10]]},"1187":{"position":[[2795,10]]},"1188":{"position":[[7521,10]]},"1191":{"position":[[1382,10]]},"1192":{"position":[[1557,10]]},"1193":{"position":[[1609,10]]},"1194":{"position":[[1249,10]]},"1195":{"position":[[1227,10]]},"1196":{"position":[[1037,10]]},"1197":{"position":[[2020,10]]},"1198":{"position":[[2030,10]]},"1199":{"position":[[2058,10]]},"1200":{"position":[[1925,10]]},"1201":{"position":[[1185,10]]},"1202":{"position":[[2327,10],[6724,10]]},"1203":{"position":[[1419,10]]},"1204":{"position":[[1263,10]]},"1205":{"position":[[2592,10]]},"1206":{"position":[[1063,10]]},"1207":{"position":[[1220,10]]},"1209":{"position":[[2568,10]]},"1217":{"position":[[5879,10]]},"1219":{"position":[[1865,10]]},"1222":{"position":[[989,10]]},"1223":{"position":[[999,10]]},"1224":{"position":[[1179,10]]},"1226":{"position":[[6347,10]]},"1228":{"position":[[7960,10]]},"1235":{"position":[[3828,10]]},"1237":{"position":[[6517,10]]},"1243":{"position":[[46,10]]}},"keywords":{}}],["concurrent/*.java",{"_index":3048,"title":{},"content":{"622":{"position":[[2012,22]]}},"keywords":{}}],["condit",{"_index":336,"title":{"944":{"position":[[0,11]]}},"content":{"10":{"position":[[718,10]]},"584":{"position":[[1182,9]]},"890":{"position":[[1396,11]]},"939":{"position":[[280,11],[756,11],[824,9],[939,11]]},"944":{"position":[[26,11],[163,12],[2110,9]]},"1013":{"position":[[259,10],[355,10],[541,9],[610,9]]},"1280":{"position":[[166,10]]},"1311":{"position":[[166,10]]},"1339":{"position":[[166,10]]},"1370":{"position":[[2722,10]]}},"keywords":{}}],["conf",{"_index":4305,"title":{},"content":{"896":{"position":[[75,4],[126,4],[306,4],[345,4],[450,4],[670,4],[709,4],[814,4]]}},"keywords":{}}],["conf.c.pic",{"_index":4322,"title":{},"content":{"896":{"position":[[855,11]]}},"keywords":{}}],["conf.c.pic.o",{"_index":4319,"title":{},"content":{"896":{"position":[[491,12]]}},"keywords":{}}],["config",{"_index":2002,"title":{"1193":{"position":[[11,7]]}},"content":{"372":{"position":[[491,6]]},"575":{"position":[[570,6]]},"578":{"position":[[120,8],[254,8]]},"582":{"position":[[142,6],[259,6]]},"583":{"position":[[394,6],[408,6]]},"700":{"position":[[191,6]]},"751":{"position":[[491,6]]},"921":{"position":[[104,6]]},"937":{"position":[[315,6]]},"976":{"position":[[109,6]]},"1004":{"position":[[1542,6]]},"1011":{"position":[[162,6]]},"1016":{"position":[[84,6]]},"1136":{"position":[[2726,6],[2770,6],[2787,6],[2820,6],[3118,6],[3140,7],[3295,7],[3324,6],[3944,7]]},"1138":{"position":[[6388,6],[6432,6],[6449,6],[6482,6],[6780,6],[6802,7],[6957,7],[6986,6],[7606,7]]},"1140":{"position":[[5314,6],[5358,6],[5375,6],[5408,6],[5706,6],[5728,7],[5883,7],[5912,6],[6532,7]]},"1142":{"position":[[758,6],[802,6],[819,6],[852,6],[1150,6],[1172,7],[1327,7],[1356,6],[1976,7]]},"1146":{"position":[[698,6],[742,6],[759,6],[792,6],[1090,6],[1112,7],[1267,7],[1296,6],[1916,7]]},"1148":{"position":[[3738,6],[3782,6],[3799,6],[3832,6],[4130,6],[4152,7],[4307,7],[4336,6],[4956,7]]},"1155":{"position":[[794,6],[838,6],[855,6],[888,6],[1186,6],[1208,7],[1363,7],[1392,6],[2012,7]]},"1156":{"position":[[372,6],[416,6],[433,6],[466,6],[764,6],[786,7],[941,7],[970,6],[1590,7]]},"1167":{"position":[[6318,6],[6362,6],[6379,6],[6412,6],[6710,6],[6732,7],[6887,7],[6916,6],[7536,7]]},"1169":{"position":[[157,6],[201,6],[218,6],[251,6],[549,6],[571,7],[726,7],[755,6],[1375,7]]},"1186":{"position":[[1962,6],[2006,6],[2023,6],[2056,6],[2354,6],[2376,7],[2531,7],[2560,6],[3180,7]]},"1187":{"position":[[1975,6],[2019,6],[2036,6],[2069,6],[2367,6],[2389,7],[2544,7],[2573,6],[3193,7]]},"1188":{"position":[[6701,6],[6745,6],[6762,6],[6795,6],[7093,6],[7115,7],[7270,7],[7299,6],[7919,7]]},"1190":{"position":[[403,6],[421,6],[1431,6]]},"1191":{"position":[[562,6],[606,6],[623,6],[656,6],[954,6],[976,7],[1131,7],[1160,6],[1780,7]]},"1192":{"position":[[737,6],[781,6],[798,6],[831,6],[1129,6],[1151,7],[1306,7],[1335,6],[1955,7]]},"1193":{"position":[[11,6],[45,6],[95,6],[789,6],[833,6],[850,6],[883,6],[1181,6],[1203,7],[1358,7],[1387,6],[2007,7]]},"1194":{"position":[[429,6],[473,6],[490,6],[523,6],[821,6],[843,7],[998,7],[1027,6],[1647,7]]},"1195":{"position":[[407,6],[451,6],[468,6],[501,6],[799,6],[821,7],[976,7],[1005,6],[1625,7]]},"1196":{"position":[[217,6],[261,6],[278,6],[311,6],[609,6],[631,7],[786,7],[815,6],[1435,7]]},"1197":{"position":[[1200,6],[1244,6],[1261,6],[1294,6],[1592,6],[1614,7],[1769,7],[1798,6],[2418,7]]},"1198":{"position":[[1210,6],[1254,6],[1271,6],[1304,6],[1602,6],[1624,7],[1779,7],[1808,6],[2428,7]]},"1199":{"position":[[1238,6],[1282,6],[1299,6],[1332,6],[1630,6],[1652,7],[1807,7],[1836,6],[2456,7]]},"1200":{"position":[[1105,6],[1149,6],[1166,6],[1199,6],[1497,6],[1519,7],[1674,7],[1703,6],[2323,7]]},"1201":{"position":[[365,6],[409,6],[426,6],[459,6],[757,6],[779,7],[934,7],[963,6],[1583,7]]},"1202":{"position":[[1507,6],[1551,6],[1568,6],[1601,6],[1899,6],[1921,7],[2076,7],[2105,6],[2725,7],[5904,6],[5948,6],[5965,6],[5998,6],[6296,6],[6318,7],[6473,7],[6502,6],[7122,7]]},"1203":{"position":[[599,6],[643,6],[660,6],[693,6],[991,6],[1013,7],[1168,7],[1197,6],[1817,7]]},"1204":{"position":[[443,6],[487,6],[504,6],[537,6],[835,6],[857,7],[1012,7],[1041,6],[1661,7]]},"1205":{"position":[[1772,6],[1816,6],[1833,6],[1866,6],[2164,6],[2186,7],[2341,7],[2370,6],[2990,7]]},"1206":{"position":[[60,6],[243,6],[287,6],[304,6],[337,6],[635,6],[657,7],[812,7],[841,6],[1461,7]]},"1207":{"position":[[400,6],[444,6],[461,6],[494,6],[792,6],[814,7],[969,7],[998,6],[1618,7]]},"1209":{"position":[[1748,6],[1792,6],[1809,6],[1842,6],[2140,6],[2162,7],[2317,7],[2346,6],[2966,7]]},"1217":{"position":[[5059,6],[5103,6],[5120,6],[5153,6],[5451,6],[5473,7],[5628,7],[5657,6],[6277,7]]},"1219":{"position":[[1045,6],[1089,6],[1106,6],[1139,6],[1437,6],[1459,7],[1614,7],[1643,6],[2263,7]]},"1222":{"position":[[169,6],[213,6],[230,6],[263,6],[561,6],[583,7],[738,7],[767,6],[1387,7]]},"1223":{"position":[[179,6],[223,6],[240,6],[273,6],[571,6],[593,7],[748,7],[777,6],[1397,7]]},"1224":{"position":[[359,6],[403,6],[420,6],[453,6],[751,6],[773,7],[928,7],[957,6],[1577,7]]},"1226":{"position":[[5527,6],[5571,6],[5588,6],[5621,6],[5919,6],[5941,7],[6096,7],[6125,6],[6745,7]]},"1228":{"position":[[7140,6],[7184,6],[7201,6],[7234,6],[7532,6],[7554,7],[7709,7],[7738,6],[8358,7]]},"1235":{"position":[[3008,6],[3052,6],[3069,6],[3102,6],[3400,6],[3422,7],[3577,7],[3606,6],[4226,7]]},"1237":{"position":[[5697,6],[5741,6],[5758,6],[5791,6],[6089,6],[6111,7],[6266,7],[6295,6],[6915,7]]},"1243":{"position":[[271,7],[498,6]]},"1365":{"position":[[1809,6]]},"1384":{"position":[[22260,7],[22312,7]]},"1393":{"position":[[4272,6],[7326,6]]},"1395":{"position":[[399,8],[1768,8],[1806,6]]},"1398":{"position":[[2467,6],[4272,6]]},"1415":{"position":[[462,8]]}},"keywords":{}}],["config.h",{"_index":2240,"title":{},"content":{"418":{"position":[[517,8]]},"797":{"position":[[517,8]]},"1384":{"position":[[22248,11],[22300,11]]}},"keywords":{}}],["config//cpu/constraints:univers",{"_index":7017,"title":{},"content":{"1370":{"position":[[2421,33],[2588,33]]}},"keywords":{}}],["config_fil",{"_index":7607,"title":{},"content":{"1398":{"position":[[622,13],[2435,13]]}},"keywords":{}}],["config_set",{"_index":1931,"title":{"1375":{"position":[[0,15]]}},"content":{"363":{"position":[[352,18]]},"742":{"position":[[352,18]]},"942":{"position":[[1553,14],[1709,14]]},"1013":{"position":[[408,15]]},"1017":{"position":[[475,17]]},"1375":{"position":[[4,15]]}},"keywords":{}}],["configur",{"_index":475,"title":{"16":{"position":[[8,14]]},"572":{"position":[[28,13]]},"582":{"position":[[24,14]]},"583":{"position":[[20,13]]},"584":{"position":[[0,13]]},"690":{"position":[[0,14]]},"720":{"position":[[9,14]]},"721":{"position":[[10,10]]},"856":{"position":[[59,10]]},"934":{"position":[[4,14]]},"936":{"position":[[6,13]]},"937":{"position":[[19,13]]},"938":{"position":[[0,13]]},"947":{"position":[[4,13]]},"967":{"position":[[0,14]]},"979":{"position":[[10,13]]},"1003":{"position":[[0,13]]},"1010":{"position":[[0,14]]},"1015":{"position":[[0,13]]},"1018":{"position":[[0,14]]},"1072":{"position":[[10,15]]},"1194":{"position":[[11,15]]},"1345":{"position":[[3,13]]},"1346":{"position":[[12,14]]}},"content":{"23":{"position":[[3169,14]]},"24":{"position":[[550,13]]},"58":{"position":[[43,13]]},"90":{"position":[[77,14]]},"108":{"position":[[84,10]]},"168":{"position":[[66,10]]},"210":{"position":[[102,10]]},"211":{"position":[[89,10]]},"222":{"position":[[77,14]]},"243":{"position":[[245,13],[295,13],[400,14]]},"278":{"position":[[88,10]]},"280":{"position":[[66,10],[142,10],[166,10],[201,10],[257,10],[287,10]]},"283":{"position":[[141,10],[165,13]]},"286":{"position":[[186,13]]},"294":{"position":[[576,13],[606,14],[1030,10],[1086,10]]},"295":{"position":[[245,13],[267,10]]},"297":{"position":[[554,13],[584,15],[860,10],[914,10]]},"298":{"position":[[954,13],[1814,13],[3015,10]]},"301":{"position":[[490,13],[520,14],[801,10],[922,10],[1017,10]]},"302":{"position":[[245,13],[267,10]]},"309":{"position":[[432,10],[603,10],[658,10],[772,9],[845,13]]},"310":{"position":[[451,10],[506,10]]},"322":{"position":[[96,10]]},"340":{"position":[[192,10]]},"362":{"position":[[916,14]]},"363":{"position":[[173,13],[231,14],[331,13]]},"372":{"position":[[51,14],[356,14],[395,13]]},"374":{"position":[[1984,13]]},"379":{"position":[[33,14],[301,14]]},"409":{"position":[[113,10]]},"413":{"position":[[61,10]]},"429":{"position":[[61,13]]},"443":{"position":[[262,13],[358,13]]},"462":{"position":[[143,10],[167,13]]},"481":{"position":[[113,13]]},"487":{"position":[[43,13]]},"520":{"position":[[84,10]]},"572":{"position":[[8,13],[129,13]]},"574":{"position":[[87,13],[214,13]]},"575":{"position":[[81,13]]},"580":{"position":[[46,13]]},"581":{"position":[[92,13],[663,13],[940,13],[996,13]]},"582":{"position":[[25,13],[83,13],[186,13],[423,13]]},"583":{"position":[[78,13],[342,13],[436,13],[496,13]]},"584":{"position":[[11,13],[114,13],[683,13],[1277,13]]},"690":{"position":[[0,14],[42,14],[150,13],[296,13],[401,13],[487,13],[546,14],[3294,10]]},"693":{"position":[[71,13],[1348,13],[1401,13],[2501,14],[2516,14],[2734,14],[2749,14],[2867,13],[3126,14],[3200,10],[3331,10],[3353,10],[3393,11],[3491,14],[3519,10],[3567,14],[3676,14],[3710,13],[5303,14],[7841,13],[9444,10],[9888,13],[10001,13],[10037,10],[10105,9],[10172,14]]},"711":{"position":[[1391,9]]},"715":{"position":[[382,15],[1343,10],[1787,14]]},"719":{"position":[[108,9]]},"720":{"position":[[55,11],[67,13],[286,10],[401,15],[455,10],[496,10]]},"721":{"position":[[19,10]]},"722":{"position":[[135,13]]},"724":{"position":[[1891,14]]},"741":{"position":[[916,14]]},"742":{"position":[[173,13],[231,14],[331,13]]},"751":{"position":[[51,14],[356,14],[395,13]]},"753":{"position":[[1984,13]]},"758":{"position":[[33,14],[301,14]]},"788":{"position":[[113,10]]},"792":{"position":[[61,10]]},"808":{"position":[[61,13]]},"822":{"position":[[262,13],[358,13]]},"846":{"position":[[99,10],[533,10],[1295,14],[1485,15],[1588,10],[1616,14]]},"851":{"position":[[1021,13]]},"869":{"position":[[375,11]]},"872":{"position":[[656,13]]},"874":{"position":[[297,14]]},"881":{"position":[[0,14]]},"905":{"position":[[40,10],[255,10],[701,15],[1048,13],[1083,14],[1200,14],[1262,10],[1351,10]]},"907":{"position":[[4,10]]},"914":{"position":[[119,10]]},"917":{"position":[[291,12]]},"919":{"position":[[1332,10],[1472,10],[1942,10],[2026,10],[2135,13],[2252,13],[2302,13],[2469,13],[2629,10],[2744,15],[2878,10]]},"924":{"position":[[2507,10]]},"927":{"position":[[225,14],[290,13]]},"929":{"position":[[260,14],[292,10],[360,14]]},"937":{"position":[[1315,13],[3281,14],[3317,13],[4844,11]]},"938":{"position":[[54,15],[72,13],[340,14],[490,13],[985,13],[1074,13]]},"939":{"position":[[44,14],[123,14],[201,13],[231,14],[463,13],[660,14],[1025,14],[1243,13]]},"943":{"position":[[863,13],[1263,14],[1401,13],[1469,13],[1878,14]]},"944":{"position":[[334,14],[615,14],[681,14],[706,13],[874,9],[1430,14]]},"945":{"position":[[117,13],[531,14],[594,14],[645,14],[771,13],[806,14],[983,13]]},"946":{"position":[[103,14],[415,13]]},"947":{"position":[[34,13],[144,13],[221,13],[366,13],[1067,13],[1186,13]]},"959":{"position":[[132,11]]},"962":{"position":[[208,10]]},"963":{"position":[[15,10],[97,10]]},"964":{"position":[[663,10]]},"969":{"position":[[77,13]]},"973":{"position":[[56,12],[269,13],[385,12]]},"975":{"position":[[43,14]]},"980":{"position":[[10,13],[87,14],[202,13],[330,14],[373,14],[478,13],[615,13],[721,13],[808,13],[985,13],[1053,14],[1182,14],[1273,13],[1377,13],[1460,13],[1519,13]]},"981":{"position":[[50,13],[566,14],[630,13],[743,14]]},"987":{"position":[[851,10],[889,13]]},"988":{"position":[[156,13],[449,10]]},"989":{"position":[[184,10]]},"990":{"position":[[351,10],[887,10],[1294,10]]},"991":{"position":[[2420,10],[2612,10]]},"995":{"position":[[150,10],[180,10],[819,13],[1181,14],[1324,13]]},"997":{"position":[[44,13]]},"1004":{"position":[[108,13],[501,13],[775,13],[1422,13],[1616,14],[1656,13],[1736,13],[1808,13],[2050,13],[2081,13]]},"1005":{"position":[[223,14],[261,13]]},"1006":{"position":[[261,14],[289,13],[916,10],[993,10],[1076,10],[1154,10]]},"1009":{"position":[[132,14]]},"1011":{"position":[[5,14],[111,13],[369,14],[447,14],[487,15],[580,10],[612,15]]},"1012":{"position":[[153,14]]},"1013":{"position":[[92,11],[142,13]]},"1014":{"position":[[99,13],[142,14],[626,14],[754,13]]},"1015":{"position":[[35,10],[86,13]]},"1016":{"position":[[26,13],[180,13]]},"1017":{"position":[[100,13],[350,14],[448,13],[554,14],[647,14],[814,14],[869,15]]},"1018":{"position":[[63,15],[221,13],[270,13]]},"1019":{"position":[[9,14],[541,13],[574,10]]},"1020":{"position":[[184,13],[293,13]]},"1021":{"position":[[652,10]]},"1022":{"position":[[373,10]]},"1024":{"position":[[263,10]]},"1025":{"position":[[382,13],[436,13],[619,13]]},"1026":{"position":[[58,10],[601,13],[722,10],[834,10]]},"1042":{"position":[[322,14],[369,13],[437,13]]},"1053":{"position":[[1166,10]]},"1069":{"position":[[529,14]]},"1072":{"position":[[46,13],[108,13]]},"1079":{"position":[[33,10],[516,10]]},"1093":{"position":[[0,11],[45,11],[769,14]]},"1096":{"position":[[120,13]]},"1098":{"position":[[27,10],[545,14]]},"1112":{"position":[[962,14],[977,11],[1280,13],[1372,11],[1563,10],[2395,10],[3710,10]]},"1120":{"position":[[815,15]]},"1136":{"position":[[2447,13],[2506,13],[2543,9],[2592,13],[2618,9],[3642,9],[5185,9]]},"1138":{"position":[[5244,14],[5546,13],[5662,10],[5845,9],[6168,13],[6205,9],[6254,13],[6280,9],[7304,9],[8847,9]]},"1140":{"position":[[4733,14],[5035,13],[5094,13],[5131,9],[5180,13],[5206,9],[6230,9],[7773,9]]},"1142":{"position":[[1674,9],[3217,9]]},"1144":{"position":[[17,13]]},"1146":{"position":[[27,10],[419,13],[478,13],[515,9],[564,13],[590,9],[1614,9],[3157,9]]},"1148":{"position":[[23,10],[51,10],[106,13],[185,10],[282,14],[316,13],[2896,13],[3012,10],[3195,9],[3518,13],[3555,9],[3604,13],[3630,9],[4654,9],[6197,9]]},"1155":{"position":[[1710,9],[3253,9]]},"1156":{"position":[[1288,9],[2831,9]]},"1161":{"position":[[724,9]]},"1167":{"position":[[5737,14],[6039,13],[6098,13],[6135,9],[6184,13],[6210,9],[7234,9],[8777,9]]},"1169":{"position":[[1073,9]]},"1181":{"position":[[936,9]]},"1186":{"position":[[1120,13],[1236,10],[1419,9],[1742,13],[1779,9],[1828,13],[1854,9],[2878,9],[4421,9]]},"1187":{"position":[[1133,13],[1249,10],[1432,9],[1755,13],[1792,9],[1841,13],[1867,9],[2891,9],[4434,9]]},"1188":{"position":[[4786,14],[5859,13],[5975,10],[6158,9],[6481,13],[6518,9],[6567,13],[6593,9],[7617,9],[9160,9]]},"1190":{"position":[[428,14],[470,13],[1228,13],[1302,14]]},"1191":{"position":[[1478,9],[3021,9]]},"1192":{"position":[[458,13],[517,13],[554,9],[603,13],[629,9],[1653,9],[3196,9]]},"1193":{"position":[[1705,9],[3248,9]]},"1194":{"position":[[27,13],[72,14],[97,19],[128,19],[148,14],[281,15],[1345,9],[2888,9]]},"1195":{"position":[[1323,9],[2866,9]]},"1196":{"position":[[1133,9],[2676,9]]},"1197":{"position":[[358,13],[474,10],[657,9],[980,13],[1017,9],[1066,13],[1092,9],[2116,9],[3659,9]]},"1198":{"position":[[368,13],[484,10],[667,9],[990,13],[1027,9],[1076,13],[1102,9],[2126,9],[3669,9]]},"1199":{"position":[[396,13],[512,10],[695,9],[1018,13],[1055,9],[1104,13],[1130,9],[2154,9],[3697,9]]},"1200":{"position":[[263,13],[379,10],[562,9],[885,13],[922,9],[971,13],[997,9],[2021,9],[3564,9]]},"1201":{"position":[[1281,9],[2824,9]]},"1202":{"position":[[2423,9],[3966,9],[6820,9],[8363,9]]},"1203":{"position":[[320,13],[379,13],[416,9],[465,13],[491,9],[1515,9],[3058,9]]},"1204":{"position":[[1359,9],[2902,9]]},"1205":{"position":[[115,13],[189,14],[431,13],[1493,13],[1552,13],[1589,9],[1638,13],[1664,9],[2688,9],[4231,9]]},"1206":{"position":[[1159,9],[2702,9],[3741,13]]},"1207":{"position":[[1316,9],[2859,9]]},"1209":{"position":[[2664,9],[4207,9]]},"1217":{"position":[[4478,14],[4780,13],[4839,13],[4876,9],[4925,13],[4951,9],[5975,9],[7518,9]]},"1219":{"position":[[1961,9]]},"1222":{"position":[[1085,9],[2628,9]]},"1223":{"position":[[1095,9],[2638,9]]},"1224":{"position":[[1275,9]]},"1226":{"position":[[5248,13],[5307,13],[5344,9],[5393,13],[5419,9],[6443,9],[7986,9]]},"1228":{"position":[[6559,14],[6861,13],[6920,13],[6957,9],[7006,13],[7032,9],[8056,9],[9599,9]]},"1235":{"position":[[306,10],[3924,9],[5467,9]]},"1237":{"position":[[170,10],[5418,13],[5477,13],[5514,9],[5563,13],[5589,9],[6613,9],[8156,9]]},"1278":{"position":[[170,14]]},"1280":{"position":[[123,13]]},"1309":{"position":[[170,14]]},"1311":{"position":[[123,13]]},"1337":{"position":[[170,14]]},"1339":{"position":[[123,13]]},"1345":{"position":[[0,13],[1312,10]]},"1346":{"position":[[294,9]]},"1351":{"position":[[772,13],[1309,13],[1436,13]]},"1355":{"position":[[2669,13],[2796,13]]},"1360":{"position":[[1898,13],[2025,13]]},"1362":{"position":[[5621,13],[5748,13],[6337,13],[6381,10],[9985,13]]},"1363":{"position":[[3367,13],[3494,13]]},"1364":{"position":[[5650,13],[5777,13],[6366,13],[6410,10],[11099,13]]},"1366":{"position":[[1397,13],[1524,13]]},"1367":{"position":[[7048,13],[7175,13],[7764,13],[7808,10],[10902,13]]},"1370":{"position":[[1046,13],[1173,13],[1769,15]]},"1373":{"position":[[3893,13],[3937,10]]},"1374":{"position":[[1081,13],[1208,13]]},"1382":{"position":[[3533,13],[3660,13],[4249,13],[4293,10],[6711,13]]},"1383":{"position":[[1390,13],[1771,13],[1898,13],[8296,13]]},"1384":{"position":[[4695,13],[4822,13],[5411,13],[5455,10],[13065,13]]},"1385":{"position":[[2052,11]]},"1388":{"position":[[3833,13],[3960,13],[4549,13],[4593,10],[7580,13]]},"1389":{"position":[[5399,13],[5452,10],[5646,13],[5699,10]]},"1393":{"position":[[1621,13],[1748,13]]},"1395":{"position":[[1078,13],[1205,13]]},"1398":{"position":[[1728,13],[1855,13],[5625,13]]},"1403":{"position":[[1601,13],[1728,13]]},"1405":{"position":[[2351,14]]},"1407":{"position":[[2772,14]]},"1410":{"position":[[1968,13],[2095,13],[2794,14]]},"1412":{"position":[[1989,13],[2116,13]]},"1422":{"position":[[1234,13],[1361,13]]},"1426":{"position":[[1307,13],[1434,13]]},"1427":{"position":[[2204,13],[2331,13]]},"1429":{"position":[[2868,13],[2995,13]]},"1438":{"position":[[966,13],[1093,13]]},"1439":{"position":[[2490,13],[2617,13]]},"1440":{"position":[[3056,13],[3183,13]]},"1442":{"position":[[861,13],[988,13]]},"1454":{"position":[[4358,13],[4402,10]]},"1461":{"position":[[1282,13],[1409,13]]},"1462":{"position":[[5371,13],[5415,10]]},"1467":{"position":[[5352,13],[5479,13]]},"1469":{"position":[[876,9],[1170,13],[1297,13]]},"1471":{"position":[[2033,13],[2160,13],[2917,13],[2961,10]]},"1472":{"position":[[1992,13],[2119,13]]},"1473":{"position":[[2307,13],[2434,13]]},"1477":{"position":[[926,13],[1053,13]]},"1478":{"position":[[1417,13],[1544,13],[2669,10]]},"1487":{"position":[[991,13],[1118,13]]}},"keywords":{}}],["configuraiton",{"_index":4691,"title":{},"content":{"943":{"position":[[1726,14]]}},"keywords":{}}],["configuration$ex",{"_index":5080,"title":{},"content":{"1025":{"position":[[509,18]]}},"keywords":{}}],["configuration$exe_target",{"_index":5081,"title":{},"content":{"1025":{"position":[[563,25]]}},"keywords":{}}],["configuration.for",{"_index":4069,"title":{},"content":{"872":{"position":[[174,17]]}},"keywords":{}}],["configuration.full_hybrid",{"_index":6805,"title":{},"content":{"1362":{"position":[[9870,25]]},"1364":{"position":[[10984,25]]},"1367":{"position":[[10787,25]]},"1382":{"position":[[6596,25]]},"1384":{"position":[[12950,25]]},"1388":{"position":[[7465,25]]}},"keywords":{}}],["configuration.th",{"_index":3542,"title":{},"content":{"693":{"position":[[3008,17]]}},"keywords":{}}],["configuration.when",{"_index":4852,"title":{},"content":{"980":{"position":[[521,18]]}},"keywords":{}}],["configuration_alia",{"_index":7110,"title":{"1376":{"position":[[0,20]]}},"content":{"1376":{"position":[[4,20]]}},"keywords":{}}],["configuration_dep",{"_index":6258,"title":{"1280":{"position":[[0,21]]},"1311":{"position":[[0,21]]},"1339":{"position":[[0,21]]}},"content":{"1259":{"position":[[1829,21]]},"1290":{"position":[[1829,21]]},"1318":{"position":[[1829,21]]}},"keywords":{}}],["configuration_deps())"",{"_index":6294,"title":{},"content":{"1280":{"position":[[240,29]]},"1311":{"position":[[240,29]]},"1339":{"position":[[240,29]]}},"keywords":{}}],["configurationcompatible_with",{"_index":6384,"title":{},"content":{"1348":{"position":[[2972,29]]},"1349":{"position":[[1117,29]]},"1350":{"position":[[4088,29]]},"1352":{"position":[[4087,29]]},"1353":{"position":[[1691,29]]},"1354":{"position":[[1529,29]]},"1356":{"position":[[1035,29]]},"1357":{"position":[[708,29]]},"1358":{"position":[[1429,29]]},"1359":{"position":[[1266,29]]},"1361":{"position":[[1256,29]]},"1365":{"position":[[1190,29]]},"1368":{"position":[[1746,29]]},"1369":{"position":[[798,29]]},"1371":{"position":[[674,29]]},"1372":{"position":[[2312,29]]},"1373":{"position":[[3184,29]]},"1375":{"position":[[710,29]]},"1376":{"position":[[666,29]]},"1377":{"position":[[905,29]]},"1378":{"position":[[652,29]]},"1379":{"position":[[675,29]]},"1380":{"position":[[1146,29]]},"1381":{"position":[[1052,29]]},"1385":{"position":[[2371,29]]},"1386":{"position":[[1009,29]]},"1387":{"position":[[4640,29]]},"1389":{"position":[[4693,29]]},"1390":{"position":[[945,29]]},"1391":{"position":[[898,29]]},"1392":{"position":[[1048,29]]},"1394":{"position":[[1068,29]]},"1396":{"position":[[874,29]]},"1397":{"position":[[1055,29]]},"1399":{"position":[[910,29]]},"1400":{"position":[[779,29]]},"1401":{"position":[[854,29]]},"1402":{"position":[[1010,29]]},"1404":{"position":[[843,29]]},"1405":{"position":[[1534,29]]},"1406":{"position":[[750,29]]},"1407":{"position":[[1575,29]]},"1408":{"position":[[1271,29]]},"1409":{"position":[[805,29]]},"1411":{"position":[[788,29]]},"1413":{"position":[[2172,29]]},"1414":{"position":[[1039,29]]},"1415":{"position":[[3021,29]]},"1416":{"position":[[1673,29]]},"1417":{"position":[[1262,29]]},"1418":{"position":[[963,29]]},"1419":{"position":[[1091,29]]},"1420":{"position":[[1355,29]]},"1421":{"position":[[1330,29]]},"1423":{"position":[[1222,29]]},"1424":{"position":[[1347,29]]},"1425":{"position":[[963,29]]},"1428":{"position":[[945,29]]},"1430":{"position":[[1721,29]]},"1431":{"position":[[1065,29]]},"1432":{"position":[[1586,29]]},"1433":{"position":[[1107,29]]},"1434":{"position":[[781,29]]},"1435":{"position":[[745,29]]},"1436":{"position":[[761,29]]},"1437":{"position":[[831,29]]},"1441":{"position":[[787,29]]},"1443":{"position":[[1082,29]]},"1444":{"position":[[998,29]]},"1445":{"position":[[687,29]]},"1446":{"position":[[1021,29]]},"1447":{"position":[[903,29]]},"1448":{"position":[[1338,29]]},"1449":{"position":[[1272,29]]},"1450":{"position":[[1151,29]]},"1451":{"position":[[1151,29]]},"1452":{"position":[[697,29]]},"1453":{"position":[[1283,29]]},"1454":{"position":[[3649,29]]},"1455":{"position":[[1536,29]]},"1456":{"position":[[881,29]]},"1457":{"position":[[940,29]]},"1458":{"position":[[1475,29]]},"1459":{"position":[[954,29]]},"1460":{"position":[[1066,29]]},"1462":{"position":[[4662,29]]},"1463":{"position":[[788,29]]},"1464":{"position":[[696,29]]},"1465":{"position":[[1794,29]]},"1466":{"position":[[1032,29]]},"1468":{"position":[[796,29]]},"1470":{"position":[[3698,29]]},"1474":{"position":[[1697,29]]},"1475":{"position":[[2168,29]]},"1476":{"position":[[773,29]]},"1479":{"position":[[865,29]]},"1480":{"position":[[1278,29]]},"1481":{"position":[[1811,29]]},"1482":{"position":[[885,29]]},"1483":{"position":[[719,29]]},"1484":{"position":[[791,29]]},"1485":{"position":[[1051,29]]},"1486":{"position":[[1295,29]]}},"keywords":{}}],["configurationexec_compatible_with",{"_index":6385,"title":{},"content":{"1348":{"position":[[3098,34]]},"1349":{"position":[[1243,34]]},"1350":{"position":[[4214,34]]},"1352":{"position":[[4213,34]]},"1353":{"position":[[1817,34]]},"1354":{"position":[[1655,34]]},"1356":{"position":[[1161,34]]},"1357":{"position":[[834,34]]},"1358":{"position":[[1555,34]]},"1359":{"position":[[1392,34]]},"1361":{"position":[[1382,34]]},"1365":{"position":[[1316,34]]},"1368":{"position":[[1872,34]]},"1369":{"position":[[924,34]]},"1371":{"position":[[800,34]]},"1372":{"position":[[2438,34]]},"1373":{"position":[[3310,34]]},"1375":{"position":[[836,34]]},"1376":{"position":[[792,34]]},"1377":{"position":[[1031,34]]},"1378":{"position":[[778,34]]},"1379":{"position":[[801,34]]},"1380":{"position":[[1272,34]]},"1381":{"position":[[1178,34]]},"1385":{"position":[[2497,34]]},"1386":{"position":[[1135,34]]},"1387":{"position":[[4766,34]]},"1389":{"position":[[4819,34]]},"1390":{"position":[[1071,34]]},"1391":{"position":[[1024,34]]},"1392":{"position":[[1174,34]]},"1394":{"position":[[1194,34]]},"1396":{"position":[[1000,34]]},"1397":{"position":[[1181,34]]},"1399":{"position":[[1036,34]]},"1400":{"position":[[905,34]]},"1401":{"position":[[980,34]]},"1402":{"position":[[1136,34]]},"1404":{"position":[[969,34]]},"1405":{"position":[[1660,34]]},"1406":{"position":[[876,34]]},"1407":{"position":[[1701,34]]},"1408":{"position":[[1397,34]]},"1409":{"position":[[931,34]]},"1411":{"position":[[914,34]]},"1413":{"position":[[2298,34]]},"1414":{"position":[[1165,34]]},"1415":{"position":[[3147,34]]},"1416":{"position":[[1799,34]]},"1417":{"position":[[1388,34]]},"1418":{"position":[[1089,34]]},"1419":{"position":[[1217,34]]},"1420":{"position":[[1481,34]]},"1421":{"position":[[1456,34]]},"1423":{"position":[[1348,34]]},"1424":{"position":[[1473,34]]},"1425":{"position":[[1089,34]]},"1428":{"position":[[1071,34]]},"1430":{"position":[[1847,34]]},"1431":{"position":[[1191,34]]},"1432":{"position":[[1712,34]]},"1433":{"position":[[1233,34]]},"1434":{"position":[[907,34]]},"1435":{"position":[[871,34]]},"1436":{"position":[[887,34]]},"1437":{"position":[[957,34]]},"1441":{"position":[[913,34]]},"1443":{"position":[[1208,34]]},"1444":{"position":[[1124,34]]},"1445":{"position":[[813,34]]},"1446":{"position":[[1147,34]]},"1447":{"position":[[1029,34]]},"1448":{"position":[[1464,34]]},"1449":{"position":[[1398,34]]},"1450":{"position":[[1277,34]]},"1451":{"position":[[1277,34]]},"1452":{"position":[[823,34]]},"1453":{"position":[[1409,34]]},"1454":{"position":[[3775,34]]},"1455":{"position":[[1662,34]]},"1456":{"position":[[1007,34]]},"1457":{"position":[[1066,34]]},"1458":{"position":[[1601,34]]},"1459":{"position":[[1080,34]]},"1460":{"position":[[1192,34]]},"1462":{"position":[[4788,34]]},"1463":{"position":[[914,34]]},"1464":{"position":[[822,34]]},"1465":{"position":[[1920,34]]},"1466":{"position":[[1158,34]]},"1468":{"position":[[922,34]]},"1470":{"position":[[3824,34]]},"1474":{"position":[[1823,34]]},"1475":{"position":[[2294,34]]},"1476":{"position":[[899,34]]},"1479":{"position":[[991,34]]},"1480":{"position":[[1404,34]]},"1481":{"position":[[1937,34]]},"1482":{"position":[[1011,34]]},"1483":{"position":[[845,34]]},"1484":{"position":[[917,34]]},"1485":{"position":[[1177,34]]},"1486":{"position":[[1421,34]]}},"keywords":{}}],["configurationexec_dep",{"_index":5195,"title":{},"content":{"1044":{"position":[[2267,22]]}},"keywords":{}}],["configurationinfo",{"_index":1925,"title":{"363":{"position":[[0,18]]},"742":{"position":[[0,18]]},"1017":{"position":[[0,18]]}},"content":{"363":{"position":[[4,18],[111,17]]},"372":{"position":[[66,18],[371,17]]},"379":{"position":[[48,17],[316,17]]},"742":{"position":[[4,18],[111,17]]},"751":{"position":[[66,18],[371,17]]},"758":{"position":[[48,17],[316,17]]},"981":{"position":[[109,17],[167,18],[210,18],[355,17],[444,17]]},"1004":{"position":[[1457,18]]},"1017":{"position":[[182,17]]}},"keywords":{}}],["configurations/mod",{"_index":3658,"title":{},"content":{"706":{"position":[[225,21],[808,21]]}},"keywords":{}}],["configured/resolv",{"_index":1646,"title":{},"content":{"298":{"position":[[2180,19]]},"851":{"position":[[1503,19]]}},"keywords":{}}],["configured/unconfigur",{"_index":3959,"title":{"859":{"position":[[13,23]]}},"content":{},"keywords":{}}],["configured_actu",{"_index":4971,"title":{},"content":{"995":{"position":[[273,17],[365,17]]},"1377":{"position":[[374,18]]}},"keywords":{}}],["configured_alia",{"_index":4557,"title":{"925":{"position":[[26,16]]},"927":{"position":[[8,18]]},"931":{"position":[[9,16]]},"933":{"position":[[3,17]]},"995":{"position":[[0,17]]},"1377":{"position":[[0,17]]}},"content":{"926":{"position":[[24,16],[55,16],[214,17]]},"927":{"position":[[16,17]]},"933":{"position":[[25,16],[144,16]]},"995":{"position":[[4,16],[524,16],[1379,17]]},"1377":{"position":[[4,17]]}},"keywords":{}}],["configured_alias(nam",{"_index":4571,"title":{},"content":{"931":{"position":[[4,22]]}},"keywords":{}}],["configured_alias_impl",{"_index":4567,"title":{"930":{"position":[[0,21]]}},"content":{"930":{"position":[[104,21]]}},"keywords":{}}],["configured_alias_impl(nam",{"_index":4572,"title":{},"content":{"931":{"position":[[46,27]]}},"keywords":{}}],["configured_aliasbuck",{"_index":4131,"title":{},"content":{"882":{"position":[[0,20]]}},"keywords":{}}],["configured_attr",{"_index":2471,"title":{"482":{"position":[[0,15]]}},"content":{"528":{"position":[[43,15],[105,18]]}},"keywords":{}}],["configured_attr.typ",{"_index":2472,"title":{"483":{"position":[[0,21]]}},"content":{"483":{"position":[[0,21]]}},"keywords":{}}],["configured_attr.valu",{"_index":2475,"title":{"484":{"position":[[0,22]]}},"content":{"484":{"position":[[4,23]]}},"keywords":{}}],["configured_dep",{"_index":4565,"title":{"929":{"position":[[25,15]]}},"content":{"929":{"position":[[185,14]]}},"keywords":{}}],["configured_graph_s",{"_index":5729,"title":{},"content":{"1112":{"position":[[2551,22]]}},"keywords":{}}],["configured_label",{"_index":935,"title":{},"content":{"63":{"position":[[350,16]]},"492":{"position":[[350,16]]}},"keywords":{}}],["configured_target",{"_index":1671,"title":{},"content":{"301":{"position":[[1059,20]]}},"keywords":{}}],["configured_target_label",{"_index":913,"title":{"56":{"position":[[0,23]]},"485":{"position":[[0,23]]},"935":{"position":[[7,23]]}},"content":{"108":{"position":[[36,23]]},"168":{"position":[[25,23]]},"236":{"position":[[100,23],[308,23]]},"237":{"position":[[100,23],[308,23]]},"238":{"position":[[122,23],[330,23]]},"239":{"position":[[94,23],[302,23]]},"280":{"position":[[32,23]]},"294":{"position":[[90,23],[250,23]]},"297":{"position":[[87,23],[247,23]]},"301":{"position":[[100,23],[234,23]]},"309":{"position":[[97,23],[231,23]]},"324":{"position":[[94,23],[228,23],[335,23],[469,23]]},"325":{"position":[[122,23],[256,23]]},"326":{"position":[[132,23],[266,23]]},"327":{"position":[[98,23],[232,23]]},"328":{"position":[[94,23],[228,23]]},"330":{"position":[[107,23],[241,23]]},"331":{"position":[[95,23],[229,23]]},"332":{"position":[[105,23],[239,23]]},"333":{"position":[[123,23],[257,23]]},"334":{"position":[[155,23],[289,23]]},"335":{"position":[[95,23],[229,23],[338,23],[472,23]]},"336":{"position":[[94,23],[228,23],[335,23],[469,23]]},"337":{"position":[[96,23],[230,23]]},"338":{"position":[[125,23],[259,23]]},"520":{"position":[[36,23]]},"935":{"position":[[101,23]]}},"keywords":{}}],["configured_target_label.cel",{"_index":914,"title":{"57":{"position":[[0,29]]},"486":{"position":[[0,29]]}},"content":{"57":{"position":[[0,29]]},"486":{"position":[[0,29]]}},"keywords":{}}],["configured_target_label.config",{"_index":915,"title":{"58":{"position":[[0,31]]},"487":{"position":[[0,31]]}},"content":{"58":{"position":[[4,32]]},"487":{"position":[[4,32]]}},"keywords":{}}],["configured_target_label.nam",{"_index":916,"title":{"59":{"position":[[0,29]]},"488":{"position":[[0,29]]}},"content":{"59":{"position":[[0,29]]},"488":{"position":[[0,29]]}},"keywords":{}}],["configured_target_label.packag",{"_index":917,"title":{"60":{"position":[[0,32]]},"489":{"position":[[0,32]]}},"content":{"60":{"position":[[0,32]]},"489":{"position":[[0,32]]}},"keywords":{}}],["configured_target_label.path",{"_index":918,"title":{"61":{"position":[[0,29]]},"490":{"position":[[0,29]]}},"content":{"61":{"position":[[0,29]]},"490":{"position":[[0,29]]}},"keywords":{}}],["configured_target_label.raw_target",{"_index":919,"title":{"62":{"position":[[0,35]]},"491":{"position":[[0,35]]}},"content":{"62":{"position":[[4,36]]},"491":{"position":[[4,36]]}},"keywords":{}}],["configured_target_label.with_sub_target",{"_index":922,"title":{"63":{"position":[[0,40]]},"492":{"position":[[0,40]]}},"content":{"63":{"position":[[4,40]]},"492":{"position":[[4,40]]}},"keywords":{}}],["configuredbuildreportentri",{"_index":5718,"title":{},"content":{"1112":{"position":[[1009,28],[1867,26]]}},"keywords":{}}],["configuredbuildreportentry`",{"_index":5719,"title":{},"content":{"1112":{"position":[[1162,30]]}},"keywords":{}}],["configuredlabel",{"_index":4735,"title":{},"content":{"951":{"position":[[88,16]]}},"keywords":{}}],["configuredproviderslabel",{"_index":1933,"title":{"364":{"position":[[0,25]]},"743":{"position":[[0,25]]}},"content":{"364":{"position":[[0,25]]},"743":{"position":[[0,25]]}},"keywords":{}}],["configuredtarget",{"_index":4532,"title":{},"content":{"924":{"position":[[743,16]]}},"keywords":{}}],["configuredtargetlabel",{"_index":927,"title":{"365":{"position":[[0,22]]},"744":{"position":[[0,22]]}},"content":{"63":{"position":[[107,21]]},"365":{"position":[[0,22]]},"492":{"position":[[107,21]]},"744":{"position":[[0,22]]}},"keywords":{}}],["configuredtargetlabel,configuredtargetnod",{"_index":4523,"title":{},"content":{"924":{"position":[[144,43]]}},"keywords":{}}],["configuredtargetlabel::analyz",{"_index":4537,"title":{},"content":{"924":{"position":[[1060,33]]}},"keywords":{}}],["configuredtargetlabellik",{"_index":4521,"title":{},"content":{"924":{"position":[[77,27],[2019,27]]}},"keywords":{}}],["configuredtargetnod",{"_index":2110,"title":{},"content":{"402":{"position":[[154,20]]},"781":{"position":[[154,20]]},"924":{"position":[[2346,20]]}},"keywords":{}}],["configuredtargetnode::analyz",{"_index":4538,"title":{},"content":{"924":{"position":[[1094,32]]}},"keywords":{}}],["configuredtargetset",{"_index":2111,"title":{},"content":{"402":{"position":[[183,19]]},"781":{"position":[[183,19]]}},"keywords":{}}],["confirm",{"_index":4753,"title":{},"content":{"955":{"position":[[809,9]]},"1233":{"position":[[270,7]]},"1241":{"position":[[218,7]]}},"keywords":{}}],["confiured_target_label(x",{"_index":4576,"title":{},"content":{"934":{"position":[[19,25]]}},"keywords":{}}],["conflicting_header_basename_exempt",{"_index":7346,"title":{},"content":{"1389":{"position":[[1421,39]]}},"keywords":{}}],["conform",{"_index":1101,"title":{},"content":{"90":{"position":[[194,7]]},"222":{"position":[[194,7]]},"890":{"position":[[3195,10],[3556,10],[3921,10]]},"951":{"position":[[905,7]]}},"keywords":{}}],["confus",{"_index":7289,"title":{},"content":{"1386":{"position":[[6328,8]]}},"keywords":{}}],["conjunct",{"_index":2177,"title":{},"content":{"408":{"position":[[188,11]]},"787":{"position":[[188,11]]},"1486":{"position":[[860,11]]}},"keywords":{}}],["connect",{"_index":3686,"title":{},"content":{"706":{"position":[[2652,11]]},"1167":{"position":[[951,9]]}},"keywords":{}}],["consdier",{"_index":6222,"title":{},"content":{"1255":{"position":[[80,8]]}},"keywords":{}}],["consecut",{"_index":2983,"title":{},"content":{"616":{"position":[[255,11],[666,11]]}},"keywords":{}}],["consequ",{"_index":709,"title":{},"content":{"23":{"position":[[851,11]]},"418":{"position":[[982,11]]},"797":{"position":[[982,11]]},"890":{"position":[[1273,12]]},"892":{"position":[[487,13]]},"900":{"position":[[1626,12]]}},"keywords":{}}],["consid",{"_index":609,"title":{},"content":{"20":{"position":[[116,10]]},"23":{"position":[[420,10]]},"305":{"position":[[127,10]]},"346":{"position":[[133,10]]},"347":{"position":[[231,10]]},"406":{"position":[[199,8]]},"587":{"position":[[530,8]]},"616":{"position":[[290,10]]},"632":{"position":[[185,10]]},"675":{"position":[[150,8]]},"688":{"position":[[169,10]]},"785":{"position":[[199,8]]},"833":{"position":[[122,10]]},"869":{"position":[[796,10]]},"1007":{"position":[[18,11]]},"1022":{"position":[[210,8]]},"1071":{"position":[[234,8]]},"1108":{"position":[[249,10]]},"1114":{"position":[[1004,10]]},"1138":{"position":[[4187,8]]},"1140":{"position":[[3676,8]]},"1142":{"position":[[356,9]]},"1167":{"position":[[4680,8]]},"1188":{"position":[[3729,8]]},"1217":{"position":[[3421,8]]},"1228":{"position":[[5502,8]]},"1232":{"position":[[6,8]]},"1273":{"position":[[173,8]]},"1304":{"position":[[173,8]]},"1332":{"position":[[173,8]]},"1360":{"position":[[4397,10]]},"1366":{"position":[[2590,10],[2880,10]]},"1383":{"position":[[4580,10],[6430,10]]},"1393":{"position":[[7860,10]]},"1403":{"position":[[3812,10]]},"1429":{"position":[[5337,10]]},"1440":{"position":[[5331,10]]},"1461":{"position":[[2756,10]]},"1486":{"position":[[3113,8]]}},"keywords":{}}],["consider",{"_index":3549,"title":{},"content":{"693":{"position":[[4138,12]]}},"keywords":{}}],["consist",{"_index":454,"title":{},"content":{"15":{"position":[[290,10]]},"22":{"position":[[36,10]]},"446":{"position":[[391,10]]},"595":{"position":[[505,8]]},"597":{"position":[[164,8]]},"598":{"position":[[153,8]]},"599":{"position":[[152,8]]},"601":{"position":[[159,8]]},"616":{"position":[[737,8]]},"638":{"position":[[227,8]]},"693":{"position":[[2531,7],[6986,8]]},"704":{"position":[[397,8],[589,7],[1681,8],[2227,8]]},"716":{"position":[[55,8]]},"718":{"position":[[485,8]]},"825":{"position":[[391,10]]},"890":{"position":[[1828,8]]},"902":{"position":[[205,8]]},"980":{"position":[[29,8]]},"1011":{"position":[[125,8]]},"1136":{"position":[[68,8]]},"1235":{"position":[[79,8]]},"1398":{"position":[[2594,7],[5184,10]]},"1426":{"position":[[2780,10]]},"1454":{"position":[[7499,8]]}},"keywords":{}}],["consol",{"_index":1686,"title":{"1115":{"position":[[6,8]]},"1121":{"position":[[3,8]]}},"content":{"305":{"position":[[68,7]]},"346":{"position":[[95,7]]},"347":{"position":[[98,7]]},"450":{"position":[[158,7]]},"829":{"position":[[158,7]]},"877":{"position":[[211,8]]},"910":{"position":[[516,7]]},"1112":{"position":[[2696,8]]},"1118":{"position":[[72,7]]},"1120":{"position":[[445,8]]},"1121":{"position":[[25,7]]},"1136":{"position":[[4970,7],[4989,7],[5028,7],[5628,7],[5644,7]]},"1138":{"position":[[8632,7],[8651,7],[8690,7],[9290,7],[9306,7]]},"1140":{"position":[[7558,7],[7577,7],[7616,7],[8216,7],[8232,7]]},"1142":{"position":[[3002,7],[3021,7],[3060,7],[3660,7],[3676,7]]},"1146":{"position":[[2942,7],[2961,7],[3000,7],[3600,7],[3616,7]]},"1148":{"position":[[5982,7],[6001,7],[6040,7],[6640,7],[6656,7]]},"1155":{"position":[[3038,7],[3057,7],[3096,7],[3696,7],[3712,7]]},"1156":{"position":[[2616,7],[2635,7],[2674,7],[3274,7],[3290,7]]},"1161":{"position":[[509,7],[528,7],[567,7],[1167,7],[1183,7]]},"1167":{"position":[[8562,7],[8581,7],[8620,7],[9220,7],[9236,7]]},"1181":{"position":[[721,7],[740,7],[779,7],[1379,7],[1395,7]]},"1186":{"position":[[4206,7],[4225,7],[4264,7],[4864,7],[4880,7]]},"1187":{"position":[[4219,7],[4238,7],[4277,7],[4877,7],[4893,7]]},"1188":{"position":[[8945,7],[8964,7],[9003,7],[9603,7],[9619,7]]},"1191":{"position":[[2806,7],[2825,7],[2864,7],[3464,7],[3480,7]]},"1192":{"position":[[2981,7],[3000,7],[3039,7],[3639,7],[3655,7]]},"1193":{"position":[[3033,7],[3052,7],[3091,7],[3691,7],[3707,7]]},"1194":{"position":[[2673,7],[2692,7],[2731,7],[3331,7],[3347,7]]},"1195":{"position":[[2651,7],[2670,7],[2709,7],[3309,7],[3325,7]]},"1196":{"position":[[2461,7],[2480,7],[2519,7],[3119,7],[3135,7]]},"1197":{"position":[[3444,7],[3463,7],[3502,7],[4102,7],[4118,7]]},"1198":{"position":[[3454,7],[3473,7],[3512,7],[4112,7],[4128,7]]},"1199":{"position":[[3482,7],[3501,7],[3540,7],[4140,7],[4156,7]]},"1200":{"position":[[3349,7],[3368,7],[3407,7],[4007,7],[4023,7]]},"1201":{"position":[[2609,7],[2628,7],[2667,7],[3267,7],[3283,7]]},"1202":{"position":[[3751,7],[3770,7],[3809,7],[4409,7],[4425,7],[8148,7],[8167,7],[8206,7],[8806,7],[8822,7]]},"1203":{"position":[[2843,7],[2862,7],[2901,7],[3501,7],[3517,7]]},"1204":{"position":[[2687,7],[2706,7],[2745,7],[3345,7],[3361,7]]},"1205":{"position":[[4016,7],[4035,7],[4074,7],[4674,7],[4690,7]]},"1206":{"position":[[2487,7],[2506,7],[2545,7],[3145,7],[3161,7]]},"1207":{"position":[[2644,7],[2663,7],[2702,7],[3302,7],[3318,7]]},"1209":{"position":[[3992,7],[4011,7],[4050,7],[4650,7],[4666,7]]},"1217":{"position":[[7303,7],[7322,7],[7361,7],[7961,7],[7977,7]]},"1222":{"position":[[2413,7],[2432,7],[2471,7],[3071,7],[3087,7]]},"1223":{"position":[[2423,7],[2442,7],[2481,7],[3081,7],[3097,7]]},"1226":{"position":[[7771,7],[7790,7],[7829,7],[8429,7],[8445,7]]},"1228":{"position":[[9384,7],[9403,7],[9442,7],[10042,7],[10058,7]]},"1232":{"position":[[3446,7],[3468,7]]},"1235":{"position":[[5252,7],[5271,7],[5310,7],[5910,7],[5926,7]]},"1237":{"position":[[7941,7],[7960,7],[7999,7],[8599,7],[8615,7]]},"1239":{"position":[[28,7],[137,7]]},"1245":{"position":[[46,7]]}},"keywords":{}}],["console,fail",{"_index":7962,"title":{},"content":{"1427":{"position":[[4254,13]]}},"keywords":{}}],["consolemessag",{"_index":5811,"title":{},"content":{"1126":{"position":[[1442,14]]}},"keywords":{}}],["constant",{"_index":4143,"title":{},"content":{"887":{"position":[[178,9]]},"1351":{"position":[[2284,8],[2666,8],[3052,8],[3233,8],[3492,9]]},"1355":{"position":[[5948,10],[6242,10]]},"1427":{"position":[[5121,10],[5415,10]]}},"keywords":{}}],["constitut",{"_index":2699,"title":{},"content":{"584":{"position":[[261,10]]},"587":{"position":[[21,10]]},"693":{"position":[[6281,10]]}},"keywords":{}}],["constrain",{"_index":4609,"title":{},"content":{"937":{"position":[[3957,11]]}},"keywords":{}}],["constraint",{"_index":1644,"title":{},"content":{"298":{"position":[[1853,12]]},"363":{"position":[[26,12],[506,12]]},"366":{"position":[[132,10]]},"367":{"position":[[162,10]]},"575":{"position":[[448,10]]},"622":{"position":[[681,12]]},"693":{"position":[[2551,11],[3761,11],[3775,10],[5245,10],[6676,12]]},"720":{"position":[[106,11]]},"742":{"position":[[26,12],[506,12]]},"745":{"position":[[132,10]]},"746":{"position":[[162,10]]},"851":{"position":[[1060,12]]},"938":{"position":[[155,13],[219,10],[391,10],[415,10],[618,10],[641,11]]},"939":{"position":[[172,10],[357,10],[437,10],[496,10],[539,10],[699,10],[734,10],[977,10],[1223,10],[1283,10],[1461,10]]},"940":{"position":[[442,10],[862,11]]},"942":{"position":[[1353,10],[1687,10]]},"943":{"position":[[35,10],[68,10],[310,10],[1689,10],[2080,10],[2138,10],[2221,11],[2326,12],[2359,11],[2460,12],[2598,11]]},"944":{"position":[[285,11],[306,11]]},"945":{"position":[[683,10],[734,10],[946,10],[1037,10]]},"964":{"position":[[372,12]]},"980":{"position":[[1574,10]]},"981":{"position":[[547,11]]},"994":{"position":[[363,10]]},"1004":{"position":[[1050,10],[1116,10],[1204,10],[1236,11],[1347,10],[1486,12],[1499,11],[1513,12]]},"1011":{"position":[[146,11]]},"1013":{"position":[[201,10],[387,11],[488,12]]},"1016":{"position":[[62,10]]},"1019":{"position":[[137,11]]},"1020":{"position":[[138,12],[247,12]]},"1026":{"position":[[1125,10],[1296,10]]},"1136":{"position":[[2675,10]]},"1138":{"position":[[6337,10]]},"1140":{"position":[[5263,10]]},"1146":{"position":[[647,10]]},"1148":{"position":[[3687,10]]},"1167":{"position":[[6267,10]]},"1186":{"position":[[1911,10]]},"1187":{"position":[[1924,10]]},"1188":{"position":[[6650,10]]},"1190":{"position":[[454,11]]},"1192":{"position":[[686,10]]},"1194":{"position":[[11,11]]},"1197":{"position":[[1149,10]]},"1198":{"position":[[1159,10]]},"1199":{"position":[[1187,10]]},"1200":{"position":[[1054,10]]},"1203":{"position":[[548,10]]},"1205":{"position":[[1721,10]]},"1217":{"position":[[5008,10]]},"1226":{"position":[[5476,10]]},"1228":{"position":[[7089,10]]},"1237":{"position":[[5646,10]]},"1254":{"position":[[412,11],[470,12]]},"1348":{"position":[[2886,11],[3012,11],[3143,11]]},"1349":{"position":[[1031,11],[1157,11],[1288,11]]},"1350":{"position":[[4002,11],[4128,11],[4259,11]]},"1351":{"position":[[1223,11],[1350,11],[1482,11]]},"1352":{"position":[[4001,11],[4127,11],[4258,11]]},"1353":{"position":[[1605,11],[1731,11],[1862,11]]},"1354":{"position":[[1443,11],[1569,11],[1700,11]]},"1355":{"position":[[2583,11],[2710,11],[2842,11]]},"1356":{"position":[[949,11],[1075,11],[1206,11]]},"1357":{"position":[[622,11],[748,11],[879,11]]},"1358":{"position":[[1343,11],[1469,11],[1600,11]]},"1359":{"position":[[1180,11],[1306,11],[1437,11]]},"1360":{"position":[[1812,11],[1939,11],[2071,11]]},"1361":{"position":[[1170,11],[1296,11],[1427,11]]},"1362":{"position":[[5535,11],[5662,11],[5794,11]]},"1363":{"position":[[3281,11],[3408,11],[3540,11]]},"1364":{"position":[[5564,11],[5691,11],[5823,11]]},"1365":{"position":[[1104,11],[1230,11],[1361,11]]},"1366":{"position":[[1311,11],[1438,11],[1570,11]]},"1367":{"position":[[6962,11],[7089,11],[7221,11]]},"1368":{"position":[[1660,11],[1786,11],[1917,11]]},"1369":{"position":[[712,11],[838,11],[969,11]]},"1370":{"position":[[960,11],[1087,11],[1219,11],[2463,11],[2838,11],[2910,10]]},"1371":{"position":[[588,11],[714,11],[845,11]]},"1372":{"position":[[2226,11],[2352,11],[2483,11]]},"1373":{"position":[[3098,11],[3224,11],[3355,11]]},"1374":{"position":[[995,11],[1122,11],[1254,11]]},"1375":{"position":[[624,11],[750,11],[881,11]]},"1376":{"position":[[580,11],[706,11],[837,11]]},"1377":{"position":[[819,11],[945,11],[1076,11]]},"1378":{"position":[[566,11],[692,11],[823,11]]},"1379":{"position":[[589,11],[715,11],[846,11]]},"1380":{"position":[[1060,11],[1186,11],[1317,11]]},"1381":{"position":[[966,11],[1092,11],[1223,11]]},"1382":{"position":[[3447,11],[3574,11],[3706,11]]},"1383":{"position":[[1685,11],[1812,11],[1944,11]]},"1384":{"position":[[4609,11],[4736,11],[4868,11]]},"1385":{"position":[[2285,11],[2411,11],[2542,11]]},"1386":{"position":[[923,11],[1049,11],[1180,11]]},"1387":{"position":[[4554,11],[4680,11],[4811,11]]},"1388":{"position":[[3747,11],[3874,11],[4006,11]]},"1389":{"position":[[4607,11],[4733,11],[4864,11]]},"1390":{"position":[[859,11],[985,11],[1116,11]]},"1391":{"position":[[812,11],[938,11],[1069,11]]},"1392":{"position":[[962,11],[1088,11],[1219,11]]},"1393":{"position":[[1535,11],[1662,11],[1794,11]]},"1394":{"position":[[982,11],[1108,11],[1239,11]]},"1395":{"position":[[992,11],[1119,11],[1251,11]]},"1396":{"position":[[788,11],[914,11],[1045,11]]},"1397":{"position":[[969,11],[1095,11],[1226,11]]},"1398":{"position":[[1642,11],[1769,11],[1901,11]]},"1399":{"position":[[824,11],[950,11],[1081,11]]},"1400":{"position":[[693,11],[819,11],[950,11]]},"1401":{"position":[[768,11],[894,11],[1025,11]]},"1402":{"position":[[924,11],[1050,11],[1181,11]]},"1403":{"position":[[1515,11],[1642,11],[1774,11]]},"1404":{"position":[[757,11],[883,11],[1014,11]]},"1405":{"position":[[1448,11],[1574,11],[1705,11]]},"1406":{"position":[[664,11],[790,11],[921,11]]},"1407":{"position":[[1489,11],[1615,11],[1746,11]]},"1408":{"position":[[1185,11],[1311,11],[1442,11]]},"1409":{"position":[[719,11],[845,11],[976,11]]},"1410":{"position":[[1882,11],[2009,11],[2141,11]]},"1411":{"position":[[702,11],[828,11],[959,11]]},"1412":{"position":[[1903,11],[2030,11],[2162,11]]},"1413":{"position":[[2086,11],[2212,11],[2343,11]]},"1414":{"position":[[953,11],[1079,11],[1210,11]]},"1415":{"position":[[2935,11],[3061,11],[3192,11]]},"1416":{"position":[[1587,11],[1713,11],[1844,11]]},"1417":{"position":[[1176,11],[1302,11],[1433,11]]},"1418":{"position":[[877,11],[1003,11],[1134,11]]},"1419":{"position":[[1005,11],[1131,11],[1262,11]]},"1420":{"position":[[1269,11],[1395,11],[1526,11]]},"1421":{"position":[[1244,11],[1370,11],[1501,11]]},"1422":{"position":[[1148,11],[1275,11],[1407,11]]},"1423":{"position":[[1136,11],[1262,11],[1393,11]]},"1424":{"position":[[1261,11],[1387,11],[1518,11]]},"1425":{"position":[[877,11],[1003,11],[1134,11]]},"1426":{"position":[[1221,11],[1348,11],[1480,11]]},"1427":{"position":[[2118,11],[2245,11],[2377,11]]},"1428":{"position":[[859,11],[985,11],[1116,11]]},"1429":{"position":[[2782,11],[2909,11],[3041,11]]},"1430":{"position":[[1635,11],[1761,11],[1892,11]]},"1431":{"position":[[979,11],[1105,11],[1236,11]]},"1432":{"position":[[1500,11],[1626,11],[1757,11]]},"1433":{"position":[[1021,11],[1147,11],[1278,11]]},"1434":{"position":[[695,11],[821,11],[952,11]]},"1435":{"position":[[659,11],[785,11],[916,11]]},"1436":{"position":[[675,11],[801,11],[932,11]]},"1437":{"position":[[745,11],[871,11],[1002,11]]},"1438":{"position":[[880,11],[1007,11],[1139,11]]},"1439":{"position":[[2404,11],[2531,11],[2663,11]]},"1440":{"position":[[2970,11],[3097,11],[3229,11]]},"1441":{"position":[[701,11],[827,11],[958,11]]},"1442":{"position":[[775,11],[902,11],[1034,11]]},"1443":{"position":[[996,11],[1122,11],[1253,11]]},"1444":{"position":[[912,11],[1038,11],[1169,11]]},"1445":{"position":[[601,11],[727,11],[858,11]]},"1446":{"position":[[935,11],[1061,11],[1192,11]]},"1447":{"position":[[817,11],[943,11],[1074,11]]},"1448":{"position":[[1252,11],[1378,11],[1509,11]]},"1449":{"position":[[1186,11],[1312,11],[1443,11]]},"1450":{"position":[[1065,11],[1191,11],[1322,11]]},"1451":{"position":[[1065,11],[1191,11],[1322,11]]},"1452":{"position":[[611,11],[737,11],[868,11]]},"1453":{"position":[[1197,11],[1323,11],[1454,11]]},"1454":{"position":[[3563,11],[3689,11],[3820,11]]},"1455":{"position":[[1450,11],[1576,11],[1707,11]]},"1456":{"position":[[795,11],[921,11],[1052,11]]},"1457":{"position":[[854,11],[980,11],[1111,11]]},"1458":{"position":[[1389,11],[1515,11],[1646,11]]},"1459":{"position":[[868,11],[994,11],[1125,11]]},"1460":{"position":[[980,11],[1106,11],[1237,11]]},"1461":{"position":[[1196,11],[1323,11],[1455,11]]},"1462":{"position":[[4576,11],[4702,11],[4833,11]]},"1463":{"position":[[702,11],[828,11],[959,11]]},"1464":{"position":[[610,11],[736,11],[867,11]]},"1465":{"position":[[1708,11],[1834,11],[1965,11]]},"1466":{"position":[[946,11],[1072,11],[1203,11]]},"1467":{"position":[[5266,11],[5393,11],[5525,11]]},"1468":{"position":[[710,11],[836,11],[967,11]]},"1469":{"position":[[1084,11],[1211,11],[1343,11]]},"1470":{"position":[[3612,11],[3738,11],[3869,11]]},"1471":{"position":[[1947,11],[2074,11],[2206,11]]},"1472":{"position":[[1906,11],[2033,11],[2165,11]]},"1473":{"position":[[2221,11],[2348,11],[2480,11]]},"1474":{"position":[[1611,11],[1737,11],[1868,11]]},"1475":{"position":[[2082,11],[2208,11],[2339,11]]},"1476":{"position":[[687,11],[813,11],[944,11]]},"1477":{"position":[[840,11],[967,11],[1099,11]]},"1478":{"position":[[1331,11],[1458,11],[1590,11]]},"1479":{"position":[[779,11],[905,11],[1036,11]]},"1480":{"position":[[1192,11],[1318,11],[1449,11]]},"1481":{"position":[[1725,11],[1851,11],[1982,11]]},"1482":{"position":[[799,11],[925,11],[1056,11]]},"1483":{"position":[[633,11],[759,11],[890,11]]},"1484":{"position":[[705,11],[831,11],[962,11]]},"1485":{"position":[[965,11],[1091,11],[1222,11]]},"1486":{"position":[[1209,11],[1335,11],[1466,11]]},"1487":{"position":[[905,11],[1032,11],[1164,11]]}},"keywords":{}}],["constraint_overrid",{"_index":6425,"title":{},"content":{"1350":{"position":[[1319,21]]},"1382":{"position":[[623,21]]},"1388":{"position":[[756,21]]},"1462":{"position":[[857,21]]},"1467":{"position":[[924,21]]}},"keywords":{}}],["constraint_set",{"_index":1935,"title":{"1378":{"position":[[0,19]]}},"content":{"366":{"position":[[188,20]]},"745":{"position":[[188,20]]},"938":{"position":[[250,19],[316,18]]},"1017":{"position":[[493,21]]},"1378":{"position":[[4,19]]},"1379":{"position":[[361,19]]}},"keywords":{}}],["constraint_valu",{"_index":1929,"title":{"1379":{"position":[[0,17]]}},"content":{"363":{"position":[[259,19],[371,19]]},"367":{"position":[[218,18]]},"742":{"position":[[259,19],[371,19]]},"746":{"position":[[218,18]]},"938":{"position":[[105,16]]},"1375":{"position":[[359,18]]},"1379":{"position":[[4,17]]},"1452":{"position":[[353,18]]}},"keywords":{}}],["constraints.item",{"_index":6219,"title":{},"content":{"1254":{"position":[[182,20],[269,20],[426,19]]}},"keywords":{}}],["constraints/config",{"_index":5063,"title":{},"content":{"1019":{"position":[[226,18]]}},"keywords":{}}],["constraints[watchos.setting.label",{"_index":5003,"title":{},"content":{"1004":{"position":[[1365,34]]}},"keywords":{}}],["constraintsettinginfo",{"_index":1934,"title":{"366":{"position":[[0,22]]},"745":{"position":[[0,22]]}},"content":{"366":{"position":[[4,24],[56,21]]},"367":{"position":[[37,22],[371,21]]},"745":{"position":[[4,24],[56,21]]},"746":{"position":[[37,22],[371,21]]}},"keywords":{}}],["constraintvalueinfo",{"_index":1927,"title":{"367":{"position":[[0,20]]},"746":{"position":[[0,20]]}},"content":{"363":{"position":[[58,21],[538,20]]},"367":{"position":[[4,20],[88,19]]},"742":{"position":[[58,21],[538,20]]},"746":{"position":[[4,20],[88,19]]}},"keywords":{}}],["construct",{"_index":332,"title":{},"content":{"10":{"position":[[653,13]]},"243":{"position":[[202,11]]},"341":{"position":[[90,9]]},"375":{"position":[[104,11]]},"377":{"position":[[407,11]]},"379":{"position":[[111,11]]},"405":{"position":[[1124,9]]},"652":{"position":[[66,9]]},"657":{"position":[[56,9]]},"693":{"position":[[9747,12]]},"713":{"position":[[43,12]]},"718":{"position":[[46,10],[331,9]]},"722":{"position":[[29,10]]},"725":{"position":[[114,9]]},"754":{"position":[[104,11]]},"756":{"position":[[407,11]]},"758":{"position":[[111,11]]},"784":{"position":[[1124,9]]},"846":{"position":[[1856,11]]},"847":{"position":[[363,9]]},"888":{"position":[[594,12]]},"898":{"position":[[1462,9]]},"904":{"position":[[474,11],[901,9]]},"905":{"position":[[176,9]]},"906":{"position":[[39,11],[397,11]]},"907":{"position":[[228,11]]},"919":{"position":[[1312,12],[1459,12],[1583,12]]},"920":{"position":[[345,12],[422,13]]},"921":{"position":[[149,9]]},"924":{"position":[[397,9],[653,9]]},"937":{"position":[[3265,10]]},"944":{"position":[[723,11]]},"1004":{"position":[[1412,9]]},"1013":{"position":[[75,12]]},"1138":{"position":[[5650,9]]},"1148":{"position":[[3000,9]]},"1186":{"position":[[1224,9]]},"1187":{"position":[[1237,9]]},"1188":{"position":[[5963,9]]},"1197":{"position":[[462,9]]},"1198":{"position":[[472,9]]},"1199":{"position":[[500,9]]},"1200":{"position":[[367,9]]},"1393":{"position":[[3462,9]]},"1455":{"position":[[1246,13]]}},"keywords":{}}],["constructor",{"_index":2308,"title":{},"content":{"428":{"position":[[135,12]]},"443":{"position":[[103,12],[222,11],[319,11]]},"807":{"position":[[135,12]]},"822":{"position":[[103,12],[222,11],[319,11]]},"980":{"position":[[568,11]]},"1004":{"position":[[269,12]]},"1006":{"position":[[35,13]]}},"keywords":{}}],["consult",{"_index":2327,"title":{},"content":{"433":{"position":[[156,10]]},"695":{"position":[[197,7]]},"812":{"position":[[156,10]]},"1393":{"position":[[4566,13],[9389,10]]}},"keywords":{}}],["consum",{"_index":2137,"title":{},"content":{"405":{"position":[[930,8]]},"704":{"position":[[234,8]]},"784":{"position":[[930,8]]},"890":{"position":[[6624,9]]},"1057":{"position":[[1376,7]]},"1103":{"position":[[1876,7],[1946,8]]},"1104":{"position":[[2455,9]]},"1136":{"position":[[152,8]]},"1244":{"position":[[212,9]]},"1348":{"position":[[3856,9],[4122,9]]},"1403":{"position":[[4357,8],[8511,7],[8880,8],[8951,8]]},"1471":{"position":[[5588,9]]},"1472":{"position":[[6474,9]]}},"keywords":{}}],["contact",{"_index":2006,"title":{},"content":{"374":{"position":[[77,8],[1004,9],[1060,8]]},"423":{"position":[[81,7]]},"753":{"position":[[77,8],[1004,9],[1060,8]]},"802":{"position":[[81,7]]},"1069":{"position":[[415,8],[436,8]]},"1348":{"position":[[920,9]]},"1349":{"position":[[603,9]]},"1350":{"position":[[1356,9]]},"1351":{"position":[[494,9]]},"1352":{"position":[[1355,9]]},"1353":{"position":[[617,9]]},"1354":{"position":[[580,9]]},"1355":{"position":[[908,9]]},"1356":{"position":[[390,9]]},"1358":{"position":[[552,9]]},"1359":{"position":[[509,9]]},"1360":{"position":[[668,9]]},"1361":{"position":[[390,9]]},"1362":{"position":[[794,9]]},"1363":{"position":[[1552,9]]},"1364":{"position":[[811,9]]},"1365":{"position":[[442,9]]},"1366":{"position":[[473,9]]},"1367":{"position":[[1825,9]]},"1368":{"position":[[625,9]]},"1369":{"position":[[397,9]]},"1373":{"position":[[668,9]]},"1374":{"position":[[429,9]]},"1377":{"position":[[416,9]]},"1380":{"position":[[360,9]]},"1381":{"position":[[418,9]]},"1382":{"position":[[660,9]]},"1383":{"position":[[596,9]]},"1384":{"position":[[601,9]]},"1385":{"position":[[422,9]]},"1386":{"position":[[367,9]]},"1387":{"position":[[708,9]]},"1388":{"position":[[793,9]]},"1389":{"position":[[1476,9]]},"1390":{"position":[[353,9]]},"1391":{"position":[[354,9]]},"1392":{"position":[[351,9]]},"1393":{"position":[[459,9]]},"1394":{"position":[[408,9]]},"1395":{"position":[[423,9]]},"1396":{"position":[[364,9]]},"1397":{"position":[[418,9]]},"1398":{"position":[[651,9],[6959,8],[7121,8]]},"1399":{"position":[[356,9]]},"1400":{"position":[[378,9]]},"1401":{"position":[[354,9]]},"1402":{"position":[[469,9]]},"1403":{"position":[[567,9]]},"1404":{"position":[[380,9]]},"1405":{"position":[[588,9]]},"1407":{"position":[[615,9]]},"1408":{"position":[[609,9]]},"1410":{"position":[[711,9]]},"1411":{"position":[[359,9]]},"1412":{"position":[[537,9]]},"1413":{"position":[[534,9]]},"1414":{"position":[[405,9]]},"1415":{"position":[[502,9]]},"1416":{"position":[[472,9]]},"1417":{"position":[[442,9]]},"1418":{"position":[[414,9]]},"1419":{"position":[[416,9]]},"1420":{"position":[[445,9]]},"1421":{"position":[[369,9]]},"1422":{"position":[[357,9]]},"1423":{"position":[[354,9]]},"1424":{"position":[[573,9]]},"1425":{"position":[[405,9]]},"1426":{"position":[[506,9]]},"1427":{"position":[[759,9]]},"1428":{"position":[[391,9]]},"1429":{"position":[[794,9]]},"1430":{"position":[[576,9]]},"1431":{"position":[[534,9]]},"1432":{"position":[[695,9]]},"1433":{"position":[[582,9]]},"1437":{"position":[[409,9]]},"1438":{"position":[[353,9]]},"1439":{"position":[[833,9]]},"1440":{"position":[[868,9]]},"1441":{"position":[[361,9]]},"1443":{"position":[[355,9]]},"1444":{"position":[[385,9]]},"1446":{"position":[[356,9]]},"1447":{"position":[[358,9]]},"1448":{"position":[[472,9]]},"1449":{"position":[[466,9]]},"1450":{"position":[[472,9]]},"1451":{"position":[[472,9]]},"1453":{"position":[[448,9]]},"1454":{"position":[[477,9]]},"1455":{"position":[[396,9]]},"1456":{"position":[[383,9]]},"1457":{"position":[[364,9]]},"1458":{"position":[[530,9]]},"1459":{"position":[[368,9]]},"1460":{"position":[[477,9]]},"1461":{"position":[[534,9]]},"1462":{"position":[[894,9]]},"1465":{"position":[[524,9]]},"1466":{"position":[[442,9]]},"1467":{"position":[[961,9]]},"1468":{"position":[[363,9]]},"1469":{"position":[[378,9]]},"1470":{"position":[[947,9]]},"1471":{"position":[[621,9]]},"1472":{"position":[[524,9]]},"1473":{"position":[[652,9]]},"1474":{"position":[[573,9]]},"1475":{"position":[[570,9]]},"1476":{"position":[[361,9]]},"1477":{"position":[[415,9]]},"1478":{"position":[[443,9]]},"1479":{"position":[[369,9]]},"1480":{"position":[[422,9]]},"1481":{"position":[[546,9]]},"1482":{"position":[[355,9]]},"1484":{"position":[[360,9]]},"1486":{"position":[[413,9]]},"1487":{"position":[[383,9]]}},"keywords":{}}],["contain",{"_index":486,"title":{"887":{"position":[[5,11]]},"1134":{"position":[[33,8]]}},"content":{"17":{"position":[[71,8],[216,8]]},"18":{"position":[[1944,8]]},"24":{"position":[[723,11]]},"50":{"position":[[194,10],[392,7]]},"69":{"position":[[449,10]]},"71":{"position":[[51,10]]},"72":{"position":[[259,10]]},"86":{"position":[[154,10]]},"92":{"position":[[1115,10]]},"94":{"position":[[1309,7],[2245,8]]},"96":{"position":[[156,10]]},"98":{"position":[[818,10]]},"99":{"position":[[901,10]]},"118":{"position":[[218,10]]},"119":{"position":[[133,9]]},"126":{"position":[[247,7]]},"197":{"position":[[194,10],[392,7]]},"218":{"position":[[154,10]]},"224":{"position":[[1115,10]]},"226":{"position":[[1309,7],[2245,8]]},"228":{"position":[[156,10]]},"230":{"position":[[818,10]]},"231":{"position":[[901,10]]},"249":{"position":[[247,7]]},"362":{"position":[[907,8]]},"363":{"position":[[164,8]]},"408":{"position":[[996,10]]},"427":{"position":[[423,10]]},"457":{"position":[[449,10]]},"494":{"position":[[51,10]]},"495":{"position":[[259,10]]},"534":{"position":[[218,10]]},"535":{"position":[[133,9]]},"554":{"position":[[185,8]]},"556":{"position":[[119,10]]},"557":{"position":[[226,8]]},"559":{"position":[[240,8]]},"561":{"position":[[127,10]]},"569":{"position":[[204,7]]},"573":{"position":[[102,8]]},"580":{"position":[[29,7],[259,8]]},"584":{"position":[[106,7],[166,7],[216,7],[515,7]]},"586":{"position":[[13,8]]},"587":{"position":[[426,8]]},"590":{"position":[[170,10]]},"592":{"position":[[150,10]]},"600":{"position":[[137,8]]},"602":{"position":[[125,8]]},"603":{"position":[[137,8]]},"607":{"position":[[312,7]]},"639":{"position":[[206,10]]},"652":{"position":[[163,10]]},"665":{"position":[[120,10]]},"666":{"position":[[131,10]]},"670":{"position":[[73,10]]},"673":{"position":[[254,8],[326,8]]},"680":{"position":[[89,8],[160,7],[440,8],[673,8]]},"693":{"position":[[61,7],[1791,10],[2262,8],[5519,8],[5658,7],[5998,7],[8854,8]]},"706":{"position":[[418,9]]},"712":{"position":[[2878,8]]},"715":{"position":[[277,10],[1330,8]]},"722":{"position":[[69,8]]},"741":{"position":[[907,8]]},"742":{"position":[[164,8]]},"787":{"position":[[996,10]]},"806":{"position":[[423,10]]},"839":{"position":[[86,8]]},"846":{"position":[[873,10]]},"861":{"position":[[933,7]]},"867":{"position":[[77,8]]},"872":{"position":[[991,10]]},"873":{"position":[[37,10]]},"886":{"position":[[488,8]]},"887":{"position":[[49,8],[424,8],[466,8],[530,8]]},"890":{"position":[[5163,8]]},"898":{"position":[[1698,10],[1817,7],[2639,10]]},"900":{"position":[[767,10]]},"912":{"position":[[99,7]]},"938":{"position":[[508,7]]},"978":{"position":[[117,8]]},"980":{"position":[[1012,7]]},"983":{"position":[[251,7]]},"984":{"position":[[124,7]]},"991":{"position":[[2209,8],[2276,8],[2362,8],[2502,7],[2562,7]]},"995":{"position":[[728,8]]},"1001":{"position":[[174,7]]},"1024":{"position":[[578,10]]},"1040":{"position":[[263,9],[1540,10]]},"1050":{"position":[[1266,7],[3600,7]]},"1064":{"position":[[230,7],[1857,9],[2018,9]]},"1102":{"position":[[377,7]]},"1103":{"position":[[1462,7]]},"1112":{"position":[[1714,10],[2260,7]]},"1114":{"position":[[416,7]]},"1126":{"position":[[26,7]]},"1136":{"position":[[956,10]]},"1142":{"position":[[412,7]]},"1148":{"position":[[1312,10]]},"1178":{"position":[[86,10]]},"1209":{"position":[[189,10]]},"1226":{"position":[[4522,10],[4704,10]]},"1235":{"position":[[1449,10]]},"1237":{"position":[[4692,10],[4874,10]]},"1243":{"position":[[798,8],[1000,8]]},"1254":{"position":[[705,10]]},"1259":{"position":[[383,8]]},"1262":{"position":[[168,8],[501,8]]},"1290":{"position":[[383,8]]},"1293":{"position":[[168,8],[501,8]]},"1318":{"position":[[383,8]]},"1321":{"position":[[168,8],[501,8]]},"1345":{"position":[[422,8],[700,7],[1000,7]]},"1346":{"position":[[636,9]]},"1351":{"position":[[4056,7]]},"1354":{"position":[[2113,10]]},"1355":{"position":[[2333,10],[5919,8],[6218,10]]},"1358":{"position":[[2221,8],[2375,8]]},"1360":{"position":[[4924,7],[5010,7]]},"1361":{"position":[[638,8],[1876,10],[2129,10]]},"1362":{"position":[[6983,7],[8745,7],[9071,7]]},"1363":{"position":[[2968,10]]},"1364":{"position":[[7222,7],[9356,7],[9859,7],[10185,7]]},"1366":{"position":[[869,8]]},"1367":{"position":[[6625,8],[6696,9],[8833,7],[9159,7]]},"1373":{"position":[[4770,7]]},"1380":{"position":[[546,8]]},"1382":{"position":[[5515,7],[5840,7]]},"1383":{"position":[[7032,7],[7118,7]]},"1384":{"position":[[6727,7],[10462,7],[10787,7]]},"1385":{"position":[[3429,7],[3753,7]]},"1386":{"position":[[3977,10]]},"1387":{"position":[[5405,8],[5762,7],[6086,7]]},"1388":{"position":[[6709,7]]},"1392":{"position":[[665,7]]},"1393":{"position":[[5953,8]]},"1397":{"position":[[2862,10],[3190,8]]},"1403":{"position":[[4912,7],[4998,7]]},"1412":{"position":[[1653,10]]},"1427":{"position":[[1817,10],[5092,8],[5391,10]]},"1429":{"position":[[2558,7]]},"1438":{"position":[[541,8],[1594,8],[2028,8]]},"1439":{"position":[[2103,10]]},"1440":{"position":[[2746,7]]},"1454":{"position":[[5431,7],[7366,7],[9672,10]]},"1458":{"position":[[2344,8]]},"1459":{"position":[[1782,8]]},"1462":{"position":[[5629,8],[7208,10]]},"1465":{"position":[[2559,8]]},"1467":{"position":[[5014,7],[6124,8],[8177,10],[10895,10]]},"1470":{"position":[[3327,7],[4732,10]]},"1477":{"position":[[2158,8],[2489,8]]},"1478":{"position":[[2123,7],[2386,7]]},"1485":{"position":[[1797,7],[2121,7]]},"1486":{"position":[[4459,8]]},"1487":{"position":[[1830,8],[3851,9]]}},"keywords":{}}],["containinglocalresourceinfo",{"_index":5329,"title":{},"content":{"1053":{"position":[[1190,27]]},"1054":{"position":[[1633,27]]}},"keywords":{}}],["content",{"_index":731,"title":{},"content":{"23":{"position":[[1598,8]]},"98":{"position":[[61,8],[494,8],[507,7],[829,7],[1222,7],[1382,7]]},"99":{"position":[[66,8],[606,8],[619,7]]},"230":{"position":[[61,8],[494,8],[507,7],[829,7],[1222,7],[1382,7]]},"231":{"position":[[66,8],[606,8],[619,7]]},"318":{"position":[[127,8]]},"565":{"position":[[106,8]]},"587":{"position":[[595,8]]},"724":{"position":[[995,7],[1217,7]]},"865":{"position":[[745,9]]},"867":{"position":[[253,9]]},"910":{"position":[[130,8],[505,7]]},"966":{"position":[[705,7]]},"977":{"position":[[235,8]]},"1078":{"position":[[314,7]]},"1082":{"position":[[44,9]]},"1096":{"position":[[49,7]]},"1150":{"position":[[11,8],[59,8]]},"1226":{"position":[[676,8]]},"1237":{"position":[[846,8]]},"1345":{"position":[[247,7]]},"1351":{"position":[[4500,8]]},"1358":{"position":[[1122,8]]},"1487":{"position":[[2647,7],[3404,8],[3627,8]]}},"keywords":{}}],["content_dir",{"_index":6946,"title":{},"content":{"1366":{"position":[[498,13]]}},"keywords":{}}],["contents—twic",{"_index":8566,"title":{},"content":{"1486":{"position":[[2961,15]]}},"keywords":{}}],["context",{"_index":623,"title":{"70":{"position":[[0,7]]},"493":{"position":[[0,7]]},"914":{"position":[[0,8]]},"915":{"position":[[0,8]]},"916":{"position":[[0,8]]},"919":{"position":[[0,8]]},"980":{"position":[[0,8]]},"1011":{"position":[[0,8]]}},"content":{"20":{"position":[[615,7]]},"92":{"position":[[916,9]]},"209":{"position":[[55,7]]},"224":{"position":[[916,9]]},"279":{"position":[[162,8]]},"283":{"position":[[179,8]]},"298":{"position":[[977,8]]},"300":{"position":[[473,7]]},"402":{"position":[[211,7]]},"432":{"position":[[145,8]]},"462":{"position":[[181,8]]},"575":{"position":[[547,8]]},"680":{"position":[[1277,7]]},"693":{"position":[[3856,9],[9497,7]]},"710":{"position":[[292,7],[348,8],[384,8]]},"722":{"position":[[42,7]]},"781":{"position":[[211,7]]},"811":{"position":[[145,8]]},"835":{"position":[[55,7],[217,7],[256,8]]},"840":{"position":[[1185,7]]},"877":{"position":[[691,7]]},"890":{"position":[[5069,8],[5097,7]]},"924":{"position":[[305,7],[565,7],[899,7],[1466,7]]},"939":{"position":[[1396,8]]},"950":{"position":[[857,7]]},"964":{"position":[[635,7]]},"1001":{"position":[[618,7],[694,7],[1399,7]]},"1017":{"position":[[790,7]]},"1021":{"position":[[494,8]]},"1040":{"position":[[1018,9]]},"1046":{"position":[[513,8]]},"1053":{"position":[[14,7]]},"1064":{"position":[[716,7],[792,7],[1495,7]]},"1065":{"position":[[332,7]]},"1069":{"position":[[852,7]]},"1103":{"position":[[1539,8]]},"1258":{"position":[[1027,7],[1116,8]]},"1262":{"position":[[206,8]]},"1273":{"position":[[92,8]]},"1289":{"position":[[1027,7],[1116,8]]},"1293":{"position":[[206,8]]},"1304":{"position":[[92,8]]},"1317":{"position":[[1027,7],[1116,8]]},"1321":{"position":[[206,8]]},"1332":{"position":[[92,8]]},"1462":{"position":[[6767,7]]},"1467":{"position":[[7882,7]]}},"keywords":{}}],["context'",{"_index":1664,"title":{},"content":{"300":{"position":[[275,9]]},"878":{"position":[[1023,9]]}},"keywords":{}}],["context.act",{"_index":979,"title":{"71":{"position":[[0,16]]},"494":{"position":[[0,16]]}},"content":{"71":{"position":[[0,16]]},"494":{"position":[[0,16]]}},"keywords":{}}],["context.attr",{"_index":980,"title":{"72":{"position":[[0,14]]},"495":{"position":[[0,14]]}},"content":{"72":{"position":[[0,14]]},"495":{"position":[[0,14]]}},"keywords":{}}],["context.label",{"_index":987,"title":{"73":{"position":[[0,14]]},"496":{"position":[[0,14]]}},"content":{"73":{"position":[[0,14]]},"496":{"position":[[0,14]]}},"keywords":{}}],["context.plugin",{"_index":990,"title":{"74":{"position":[[0,16]]},"497":{"position":[[0,16]]}},"content":{"74":{"position":[[0,16]]},"497":{"position":[[0,16]]}},"keywords":{}}],["continu",{"_index":2709,"title":{},"content":{"584":{"position":[[1240,9]]},"704":{"position":[[833,9]]},"923":{"position":[[13,8]]},"937":{"position":[[828,9]]},"1026":{"position":[[476,8]]},"1079":{"position":[[47,12]]},"1138":{"position":[[4382,8],[4989,8]]},"1140":{"position":[[3871,8],[4478,8]]},"1167":{"position":[[4875,8],[5482,8]]},"1188":{"position":[[3924,8],[4531,8]]},"1217":{"position":[[3616,8],[4223,8]]},"1226":{"position":[[3925,8]]},"1228":{"position":[[5697,8],[6304,8]]},"1237":{"position":[[4095,8]]}},"keywords":{}}],["contract",{"_index":3651,"title":{},"content":{"705":{"position":[[900,9]]}},"keywords":{}}],["contrari",{"_index":7462,"title":{},"content":{"1393":{"position":[[3291,8]]}},"keywords":{}}],["contrast",{"_index":701,"title":{},"content":{"23":{"position":[[470,8]]},"704":{"position":[[1510,9]]},"1035":{"position":[[386,9]]},"1070":{"position":[[657,9]]},"1373":{"position":[[4450,8]]}},"keywords":{}}],["contribut",{"_index":228,"title":{},"content":{"9":{"position":[[1206,10]]},"688":{"position":[[582,10]]},"1226":{"position":[[809,10]]},"1237":{"position":[[979,10]]}},"keywords":{}}],["control",{"_index":501,"title":{"582":{"position":[[13,7]]}},"content":{"17":{"position":[[586,7]]},"23":{"position":[[2775,7]]},"580":{"position":[[238,10],[368,7]]},"724":{"position":[[1929,7]]},"869":{"position":[[292,10]]},"1061":{"position":[[443,7]]},"1068":{"position":[[149,7]]},"1148":{"position":[[416,7]]},"1181":{"position":[[533,7]]},"1213":{"position":[[18,7]]},"1228":{"position":[[1598,10]]},"1370":{"position":[[2332,8]]},"1384":{"position":[[16653,7]]},"1393":{"position":[[3969,8],[5905,8]]},"1397":{"position":[[1872,8],[2069,8]]},"1398":{"position":[[5927,7]]},"1429":{"position":[[3981,8]]},"1440":{"position":[[3974,8]]},"1454":{"position":[[3331,7],[8952,7]]},"1487":{"position":[[2855,7]]}},"keywords":{}}],["conveni",{"_index":4573,"title":{},"content":{"933":{"position":[[166,10]]},"969":{"position":[[9,10]]},"1017":{"position":[[228,10]]}},"keywords":{}}],["convent",{"_index":2771,"title":{},"content":{"591":{"position":[[419,12]]},"594":{"position":[[412,12]]},"1359":{"position":[[2360,11]]},"1362":{"position":[[5247,12]]},"1364":{"position":[[5276,12]]},"1461":{"position":[[1956,10]]}},"keywords":{}}],["convers",{"_index":2809,"title":{},"content":{"595":{"position":[[565,10],[1048,10]]}},"keywords":{}}],["convert",{"_index":926,"title":{"1049":{"position":[[0,7]]}},"content":{"63":{"position":[[96,8]]},"94":{"position":[[1238,11]]},"166":{"position":[[95,8]]},"226":{"position":[[1238,11]]},"233":{"position":[[57,8]]},"288":{"position":[[36,8]]},"289":{"position":[[36,8]]},"345":{"position":[[595,9]]},"492":{"position":[[96,8]]},"510":{"position":[[39,8]]},"511":{"position":[[39,8]]},"548":{"position":[[95,8]]},"560":{"position":[[594,9]]},"589":{"position":[[120,9],[169,9]]},"595":{"position":[[1076,7],[1144,8],[1190,8]]},"605":{"position":[[44,7],[133,9]]},"620":{"position":[[44,7],[130,9],[166,9]]},"621":{"position":[[44,7],[133,9]]},"648":{"position":[[75,7]]},"718":{"position":[[287,7]]},"722":{"position":[[161,9],[317,9]]},"866":{"position":[[35,7]]},"890":{"position":[[2320,9]]},"898":{"position":[[2515,7]]},"955":{"position":[[94,10]]},"958":{"position":[[30,8]]},"1049":{"position":[[236,7]]},"1171":{"position":[[698,8]]},"1182":{"position":[[0,8]]},"1383":{"position":[[4704,7]]},"1402":{"position":[[1616,7]]},"1405":{"position":[[2294,9]]},"1407":{"position":[[2715,9]]},"1410":{"position":[[2737,9]]}},"keywords":{}}],["copi",{"_index":951,"title":{},"content":{"66":{"position":[[46,4],[189,5]]},"86":{"position":[[165,6]]},"87":{"position":[[104,4]]},"88":{"position":[[98,6],[251,4]]},"218":{"position":[[165,6]]},"219":{"position":[[104,4]]},"220":{"position":[[98,6],[251,4]]},"454":{"position":[[46,4],[189,5]]},"589":{"position":[[64,4]]},"604":{"position":[[203,4]]},"605":{"position":[[99,4]]},"606":{"position":[[110,4]]},"608":{"position":[[228,4]]},"609":{"position":[[228,4]]},"610":{"position":[[166,4]]},"615":{"position":[[110,4]]},"619":{"position":[[120,4]]},"620":{"position":[[96,4]]},"621":{"position":[[99,4]]},"892":{"position":[[524,7],[621,4],[1236,4],[1332,4]]},"898":{"position":[[654,8],[1624,7]]},"1095":{"position":[[84,4]]},"1097":{"position":[[151,4]]},"1138":{"position":[[1232,4]]},"1360":{"position":[[3587,6]]},"1366":{"position":[[2069,7]]},"1383":{"position":[[6233,6]]},"1399":{"position":[[1542,7],[1562,4],[2606,4]]},"1401":{"position":[[379,5]]},"1403":{"position":[[3002,6]]},"1410":{"position":[[3631,4]]},"1439":{"position":[[5990,6]]},"1461":{"position":[[2188,4]]}},"keywords":{}}],["copt",{"_index":3523,"title":{},"content":{"693":{"position":[[1146,6]]}},"keywords":{}}],["copy_public_framework_head",{"_index":6852,"title":{},"content":{"1363":{"position":[[1577,30]]}},"keywords":{}}],["copy_scene_kit_asset",{"_index":6987,"title":{},"content":{"1368":{"position":[[650,22]]}},"keywords":{}}],["core",{"_index":3620,"title":{},"content":{"702":{"position":[[292,4],[331,4],[359,4],[372,4]]},"715":{"position":[[30,4],[1216,5],[1523,4]]},"834":{"position":[[408,4]]},"864":{"position":[[1648,4]]},"919":{"position":[[576,4]]},"926":{"position":[[197,4]]},"1138":{"position":[[2287,6]]},"1140":{"position":[[1776,6]]},"1167":{"position":[[2780,6]]},"1188":{"position":[[1829,6]]},"1217":{"position":[[1521,6]]},"1226":{"position":[[5186,6]]},"1228":{"position":[[3602,6]]},"1237":{"position":[[5356,6]]},"1259":{"position":[[1234,4]]},"1272":{"position":[[68,4]]},"1290":{"position":[[1234,4]]},"1303":{"position":[[68,4]]},"1318":{"position":[[1234,4]]},"1331":{"position":[[68,4]]},"1380":{"position":[[574,4]]}},"keywords":{}}],["core'",{"_index":4050,"title":{},"content":{"869":{"position":[[565,6]]}},"keywords":{}}],["core::future::from_generator::genfuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::buildservercommand>::{closure#0}::{closure#0}>",{"_index":6140,"title":{},"content":{"1232":{"position":[[2553,186]]}},"keywords":{}}],["core::future::future::future>::pol",{"_index":6119,"title":{},"content":{"1232":{"position":[[1245,38],[1912,38],[2182,38],[3083,38]]}},"keywords":{}}],["core::future::future::future<output",{"_index":6126,"title":{},"content":{"1232":{"position":[[1720,38]]}},"keywords":{}}],["core::iter::traits::iterator::iterator>::next",{"_index":6108,"title":{},"content":{"1232":{"position":[[440,48]]}},"keywords":{}}],["core::marker::send>>",{"_index":6129,"title":{},"content":{"1232":{"position":[[1835,27]]}},"keywords":{}}],["core::pin::pin<alloc::boxed::box<dyn",{"_index":6125,"title":{},"content":{"1232":{"position":[[1677,42]]}},"keywords":{}}],["core::result::result<cli_proto::buildrespons",{"_index":6127,"title":{},"content":{"1232":{"position":[[1761,49],[2740,49]]}},"keywords":{}}],["core_data_model",{"_index":7113,"title":{"1380":{"position":[[0,16]]}},"content":{"1380":{"position":[[4,16],[523,17],[753,17],[1738,16]]}},"keywords":{}}],["cores).is_asset",{"_index":8103,"title":{},"content":{"1446":{"position":[[1950,16]]}},"keywords":{}}],["corner",{"_index":411,"title":{},"content":{"12":{"position":[[482,6]]},"1057":{"position":[[214,6]]},"1105":{"position":[[2427,7]]}},"keywords":{}}],["correct",{"_index":253,"title":{},"content":{"9":{"position":[[1626,11]]},"10":{"position":[[642,7]]},"15":{"position":[[228,7]]},"84":{"position":[[166,11]]},"216":{"position":[[166,11]]},"298":{"position":[[874,7]]},"696":{"position":[[356,7]]},"724":{"position":[[1673,7]]},"951":{"position":[[496,7],[705,7]]},"1105":{"position":[[400,8]]},"1355":{"position":[[6981,7]]},"1422":{"position":[[2501,7]]},"1423":{"position":[[2170,7]]},"1427":{"position":[[6180,7]]}},"keywords":{}}],["correctli",{"_index":1447,"title":{},"content":{"210":{"position":[[92,9]]},"987":{"position":[[841,9]]},"991":{"position":[[2410,9],[2602,9]]},"1403":{"position":[[6215,9]]}},"keywords":{}}],["correspond",{"_index":928,"title":{},"content":{"63":{"position":[[138,13]]},"140":{"position":[[185,13]]},"166":{"position":[[127,13]]},"209":{"position":[[120,13]]},"263":{"position":[[185,13]]},"279":{"position":[[124,11]]},"283":{"position":[[59,13]]},"284":{"position":[[59,13]]},"298":{"position":[[940,13]]},"374":{"position":[[1728,13],[1815,13]]},"462":{"position":[[61,13]]},"492":{"position":[[138,13]]},"548":{"position":[[127,13]]},"554":{"position":[[135,13]]},"557":{"position":[[136,13]]},"559":{"position":[[190,13]]},"560":{"position":[[670,13]]},"595":{"position":[[411,13]]},"673":{"position":[[141,13]]},"680":{"position":[[47,11]]},"753":{"position":[[1728,13],[1815,13]]},"951":{"position":[[116,11]]},"954":{"position":[[73,13]]},"1105":{"position":[[1564,10]]},"1108":{"position":[[210,13]]},"1240":{"position":[[112,13]]},"1351":{"position":[[3296,10]]},"1353":{"position":[[2469,11]]},"1362":{"position":[[7512,13],[9528,13]]},"1364":{"position":[[7751,13],[10642,13]]},"1366":{"position":[[2405,13]]},"1367":{"position":[[9616,13]]},"1382":{"position":[[11692,13]]},"1384":{"position":[[21256,13]]},"1393":{"position":[[3147,13],[6434,13]]},"1398":{"position":[[5426,13]]},"1429":{"position":[[4926,11],[5120,13],[5761,11]]},"1440":{"position":[[5114,13]]},"1486":{"position":[[5202,13]]}},"keywords":{}}],["correspondingli",{"_index":396,"title":{},"content":{"12":{"position":[[184,15]]}},"keywords":{}}],["correspondingslot",{"_index":4242,"title":{},"content":{"890":{"position":[[4418,18]]}},"keywords":{}}],["corrupt",{"_index":5313,"title":{},"content":{"1050":{"position":[[4504,9]]}},"keywords":{}}],["cost",{"_index":2751,"title":{},"content":{"590":{"position":[[399,4]]},"919":{"position":[[1502,4]]},"1486":{"position":[[728,6],[753,5]]}},"keywords":{}}],["costli",{"_index":4501,"title":{},"content":{"919":{"position":[[1644,7]]}},"keywords":{}}],["count",{"_index":2764,"title":{},"content":{"591":{"position":[[110,5],[461,5],[680,8]]},"610":{"position":[[40,6],[148,7],[263,6]]},"898":{"position":[[857,7],[1065,7],[1996,7]]},"1058":{"position":[[182,5]]},"1178":{"position":[[144,6]]},"1204":{"position":[[9277,5]]}},"keywords":{}}],["counter",{"_index":179,"title":{},"content":{"9":{"position":[[237,7]]}},"keywords":{}}],["countersp",{"_index":5777,"title":{},"content":{"1120":{"position":[[788,9]]}},"keywords":{}}],["counts2",{"_index":5774,"title":{},"content":{"1120":{"position":[[629,7]]}},"keywords":{}}],["coupl",{"_index":3881,"title":{},"content":{"846":{"position":[[17,6]]},"864":{"position":[[910,6]]},"1360":{"position":[[5777,6]]},"1487":{"position":[[2198,7]]}},"keywords":{}}],["cours",{"_index":6153,"title":{},"content":{"1232":{"position":[[3613,7]]},"1386":{"position":[[1767,6]]}},"keywords":{}}],["cousin",{"_index":7890,"title":{},"content":{"1422":{"position":[[2709,7]]}},"keywords":{}}],["cover",{"_index":483,"title":{"1036":{"position":[[27,9]]}},"content":{"17":{"position":[[13,6]]},"940":{"position":[[110,7]]},"945":{"position":[[721,7],[1015,7]]},"1030":{"position":[[142,7]]},"1031":{"position":[[159,7]]},"1036":{"position":[[33,5]]},"1038":{"position":[[91,7]]},"1226":{"position":[[4063,5]]},"1237":{"position":[[4233,5]]}},"keywords":{}}],["coverag",{"_index":5950,"title":{},"content":{"1148":{"position":[[7503,9]]},"1186":{"position":[[1055,9]]},"1187":{"position":[[1068,9]]},"1188":{"position":[[5794,9]]},"1471":{"position":[[646,9]]},"1472":{"position":[[549,9]]},"1473":{"position":[[677,9]]}},"keywords":{}}],["coverage_instrumentation_compiler_flag",{"_index":7145,"title":{},"content":{"1382":{"position":[[685,40]]},"1384":{"position":[[626,40]]},"1387":{"position":[[733,40]]},"1388":{"position":[[818,40]]},"1462":{"position":[[919,40]]},"1467":{"position":[[986,40]]}},"keywords":{}}],["coverage_mod",{"_index":7789,"title":{},"content":{"1410":{"position":[[736,14]]}},"keywords":{}}],["cp",{"_index":7191,"title":{},"content":{"1383":{"position":[[8000,2]]},"1399":{"position":[[2953,3]]},"1403":{"position":[[7100,2]]},"1422":{"position":[[4317,3]]}},"keywords":{}}],["cpp",{"_index":4743,"title":{"954":{"position":[[0,3]]}},"content":{"1382":{"position":[[11676,4]]},"1384":{"position":[[11654,3],[11675,3],[11706,3],[11747,3],[11781,3],[12740,3],[12768,3],[21238,4]]},"1385":{"position":[[7244,4]]},"1387":{"position":[[10620,4]]},"1446":{"position":[[2406,4]]}},"keywords":{}}],["cpp2",{"_index":7921,"title":{},"content":{"1422":{"position":[[4478,4]]},"1423":{"position":[[3472,4]]}},"keywords":{}}],["cpp2"",{"_index":7918,"title":{},"content":{"1422":{"position":[[4422,11],[4539,11]]},"1423":{"position":[[3416,11],[3533,11]]}},"keywords":{}}],["cpp_dep_tracking_mod",{"_index":7347,"title":{},"content":{"1389":{"position":[[1501,22]]}},"keywords":{}}],["cppfile",{"_index":3394,"title":{},"content":{"679":{"position":[[94,9]]}},"keywords":{}}],["cppflags)flag",{"_index":7171,"title":{},"content":{"1383":{"position":[[3135,16]]}},"keywords":{}}],["cpu",{"_index":1153,"title":{},"content":{"92":{"position":[[2221,3]]},"224":{"position":[[2221,3]]},"693":{"position":[[3311,3],[3874,3]]},"720":{"position":[[166,4]]},"980":{"position":[[1134,3],[1298,3]]},"1126":{"position":[[1028,3],[1193,3],[1610,4]]},"1233":{"position":[[64,3]]},"1386":{"position":[[5261,4]]}},"keywords":{}}],["cpu=x86_64",{"_index":3576,"title":{},"content":{"693":{"position":[[6735,11]]}},"keywords":{}}],["cpu_filt",{"_index":6343,"title":{},"content":{"1348":{"position":[[945,12]]},"1350":{"position":[[1381,12]]},"1352":{"position":[[1380,12]]},"1353":{"position":[[642,12]]}},"keywords":{}}],["cpu_split_transit",{"_index":5024,"title":{},"content":{"1006":{"position":[[540,22]]}},"keywords":{}}],["cqueri",{"_index":1677,"title":{"904":{"position":[[4,6]]},"905":{"position":[[34,7]]},"1130":{"position":[[47,8]]},"1147":{"position":[[0,6]]},"1148":{"position":[[5,7]]},"1158":{"position":[[10,7]]},"1288":{"position":[[0,6]]}},"content":{"302":{"position":[[139,6]]},"690":{"position":[[325,6],[357,6],[1665,6],[2808,6],[3223,6]]},"693":{"position":[[9508,6],[9857,7]]},"832":{"position":[[275,6],[359,7],[465,7]]},"846":{"position":[[123,8],[453,7],[477,6],[955,7],[1534,6],[1567,7],[1674,7],[1801,7]]},"870":{"position":[[73,6],[695,6],[890,6],[1019,6]]},"873":{"position":[[427,6]]},"874":{"position":[[251,6]]},"904":{"position":[[83,6],[372,6],[827,6]]},"905":{"position":[[4,6],[1384,6]]},"907":{"position":[[312,6]]},"919":{"position":[[1815,6],[2608,6],[2710,6]]},"921":{"position":[[355,7]]},"924":{"position":[[2133,6],[2183,6],[2327,6]]},"954":{"position":[[387,7]]},"962":{"position":[[559,6]]},"965":{"position":[[136,7],[221,7]]},"970":{"position":[[101,6]]},"990":{"position":[[464,6]]},"1129":{"position":[[81,6],[117,6]]},"1130":{"position":[[14,6],[226,6]]},"1131":{"position":[[181,6],[633,6]]},"1133":{"position":[[31,6],[74,6],[140,6],[817,6],[990,6]]},"1134":{"position":[[124,6]]},"1138":{"position":[[5964,9],[6050,6]]},"1148":{"position":[[715,9],[741,7],[853,6],[927,6],[1077,6],[1162,6],[3314,9],[3400,6]]},"1154":{"position":[[272,6],[303,6]]},"1158":{"position":[[24,6],[57,6]]},"1186":{"position":[[1538,9],[1624,6]]},"1187":{"position":[[1551,9],[1637,6]]},"1188":{"position":[[6277,9],[6363,6]]},"1197":{"position":[[776,9],[862,6]]},"1198":{"position":[[786,9],[872,6]]},"1199":{"position":[[814,9],[900,6]]},"1200":{"position":[[681,9],[767,6]]},"1243":{"position":[[815,7]]},"1277":{"position":[[236,6],[321,6]]},"1278":{"position":[[307,6]]},"1279":{"position":[[231,6]]},"1280":{"position":[[206,6]]},"1281":{"position":[[163,6]]},"1308":{"position":[[236,6],[321,6]]},"1309":{"position":[[307,6]]},"1310":{"position":[[231,6]]},"1311":{"position":[[206,6]]},"1312":{"position":[[163,6]]},"1336":{"position":[[236,6],[321,6]]},"1337":{"position":[[307,6]]},"1338":{"position":[[231,6]]},"1339":{"position":[[206,6]]},"1340":{"position":[[163,6]]}},"keywords":{}}],["cquerycontext",{"_index":2112,"title":{},"content":{"402":{"position":[[227,13]]},"781":{"position":[[227,13]]}},"keywords":{}}],["cqueryctx",{"_index":1676,"title":{},"content":{"302":{"position":[[110,9]]},"924":{"position":[[2158,9]]}},"keywords":{}}],["cqueryev",{"_index":3957,"title":{},"content":{"858":{"position":[[64,14]]}},"keywords":{}}],["cqueryif",{"_index":6177,"title":{},"content":{"1243":{"position":[[969,8]]}},"keywords":{}}],["cqueryrespons",{"_index":5787,"title":{},"content":{"1125":{"position":[[147,14]]}},"keywords":{}}],["crash",{"_index":6975,"title":{},"content":{"1367":{"position":[[14091,9]]}},"keywords":{}}],["crate",{"_index":53,"title":{},"content":{"4":{"position":[[307,6]]},"987":{"position":[[66,5],[151,5],[207,7],[609,6]]},"1471":{"position":[[666,6],[3081,6],[4526,5],[4619,5],[4669,5],[5155,6]]},"1472":{"position":[[569,6],[2800,6],[3477,5],[3570,5],[3620,5],[5110,5],[5203,5],[5253,5],[6041,6]]},"1473":{"position":[[697,6],[3115,6],[4847,5],[4940,5],[4990,5],[5605,6]]}},"keywords":{}}],["crate'",{"_index":8438,"title":{},"content":{"1471":{"position":[[5235,7]]},"1472":{"position":[[6121,7]]},"1473":{"position":[[5685,7]]}},"keywords":{}}],["crate_dynam",{"_index":8444,"title":{},"content":{"1472":{"position":[[592,14]]}},"keywords":{}}],["crate_root",{"_index":8414,"title":{},"content":{"1471":{"position":[[689,11],[3019,11],[5299,10]]},"1472":{"position":[[623,11],[2738,11],[6185,10]]},"1473":{"position":[[720,11],[3053,11],[5749,10]]}},"keywords":{}}],["crates.io",{"_index":54,"title":{},"content":{"4":{"position":[[319,10]]}},"keywords":{}}],["crates.ioand",{"_index":93,"title":{},"content":{"5":{"position":[[262,12]]}},"keywords":{}}],["creat",{"_index":540,"title":{"18":{"position":[[0,8]]},"950":{"position":[[0,8]]},"990":{"position":[[0,8]]}},"content":{"18":{"position":[[33,6]]},"23":{"position":[[1910,6]]},"40":{"position":[[106,6]]},"41":{"position":[[189,6]]},"49":{"position":[[68,7],[211,7]]},"50":{"position":[[83,6]]},"92":{"position":[[494,7],[565,7],[800,8]]},"94":{"position":[[2191,7]]},"95":{"position":[[101,7]]},"97":{"position":[[125,7]]},"99":{"position":[[701,7]]},"123":{"position":[[37,6]]},"173":{"position":[[106,6]]},"174":{"position":[[189,6]]},"196":{"position":[[68,7],[211,7]]},"197":{"position":[[83,6]]},"209":{"position":[[66,6]]},"224":{"position":[[494,7],[565,7],[800,8]]},"226":{"position":[[2191,7]]},"227":{"position":[[101,7]]},"229":{"position":[[125,7]]},"231":{"position":[[701,7]]},"233":{"position":[[198,6]]},"243":{"position":[[132,7]]},"286":{"position":[[157,7]]},"288":{"position":[[453,8],[547,6]]},"289":{"position":[[473,8],[567,6]]},"298":{"position":[[640,6],[994,7],[1529,8],[2446,6]]},"405":{"position":[[898,7]]},"406":{"position":[[630,6]]},"409":{"position":[[77,7]]},"411":{"position":[[208,6]]},"413":{"position":[[31,7]]},"422":{"position":[[25,7]]},"427":{"position":[[129,6]]},"428":{"position":[[65,6]]},"449":{"position":[[79,7]]},"510":{"position":[[514,8],[613,6]]},"511":{"position":[[534,8],[633,6]]},"532":{"position":[[37,6]]},"622":{"position":[[1133,6]]},"636":{"position":[[68,7],[147,7]]},"638":{"position":[[368,6]]},"640":{"position":[[39,6]]},"642":{"position":[[44,7]]},"663":{"position":[[384,6]]},"678":{"position":[[344,6]]},"693":{"position":[[1101,6],[1603,6],[2832,8],[5943,6],[7650,6],[7711,6]]},"711":{"position":[[1157,6]]},"712":{"position":[[2139,6]]},"715":{"position":[[241,8]]},"722":{"position":[[523,6],[550,6]]},"724":{"position":[[383,7]]},"784":{"position":[[898,7]]},"785":{"position":[[630,6]]},"788":{"position":[[77,7]]},"790":{"position":[[208,6]]},"792":{"position":[[31,7]]},"801":{"position":[[25,7]]},"806":{"position":[[129,6]]},"807":{"position":[[65,6]]},"828":{"position":[[79,7]]},"832":{"position":[[619,7]]},"834":{"position":[[279,7]]},"840":{"position":[[3,6],[24,6],[1355,6]]},"847":{"position":[[8,6]]},"848":{"position":[[579,8],[659,7]]},"851":{"position":[[8,6],[547,8],[796,7],[1775,6]]},"864":{"position":[[606,7]]},"876":{"position":[[78,7]]},"878":{"position":[[27,8],[1193,7]]},"888":{"position":[[209,8],[474,6]]},"901":{"position":[[346,6]]},"902":{"position":[[357,6]]},"910":{"position":[[96,6]]},"911":{"position":[[113,7]]},"937":{"position":[[2244,6]]},"949":{"position":[[133,8]]},"950":{"position":[[61,8]]},"951":{"position":[[725,7],[1005,6]]},"955":{"position":[[1311,8]]},"964":{"position":[[104,8],[347,6]]},"980":{"position":[[312,6]]},"988":{"position":[[300,7],[821,6]]},"990":{"position":[[17,7]]},"1004":{"position":[[98,7]]},"1005":{"position":[[98,8]]},"1031":{"position":[[208,6]]},"1040":{"position":[[902,8]]},"1045":{"position":[[266,8]]},"1050":{"position":[[1184,6]]},"1053":{"position":[[1071,6]]},"1082":{"position":[[915,6],[1280,8]]},"1083":{"position":[[749,6]]},"1086":{"position":[[330,6]]},"1087":{"position":[[178,8]]},"1091":{"position":[[160,8]]},"1102":{"position":[[342,6],[579,6]]},"1103":{"position":[[1677,6]]},"1105":{"position":[[41,6],[726,7]]},"1150":{"position":[[334,7]]},"1186":{"position":[[368,7],[734,8]]},"1187":{"position":[[381,7],[747,8]]},"1188":{"position":[[5107,7],[5473,8]]},"1226":{"position":[[4937,7]]},"1232":{"position":[[3374,8]]},"1237":{"position":[[5107,7]]},"1358":{"position":[[2249,6]]},"1360":{"position":[[4053,6],[4127,8]]},"1374":{"position":[[720,6]]},"1386":{"position":[[4895,7]]},"1393":{"position":[[4011,6],[4956,7],[6752,6]]},"1398":{"position":[[3016,7],[6162,8]]},"1403":{"position":[[3468,6],[3542,8]]},"1426":{"position":[[919,6]]},"1438":{"position":[[574,7]]},"1458":{"position":[[2372,6]]},"1461":{"position":[[3201,6]]},"1477":{"position":[[2895,6]]},"1478":{"position":[[3045,6]]},"1482":{"position":[[532,6]]},"1486":{"position":[[3668,7]]},"1487":{"position":[[662,6],[3025,6]]}},"keywords":{}}],["create.target_platform",{"_index":1642,"title":{},"content":{"298":{"position":[[1701,22]]}},"keywords":{}}],["create_unhashed_output",{"_index":6145,"title":{},"content":{"1232":{"position":[[3254,26]]}},"keywords":{}}],["createact",{"_index":3529,"title":{},"content":{"693":{"position":[[2109,13]]}},"keywords":{}}],["creation",{"_index":5820,"title":{},"content":{"1127":{"position":[[667,8]]},"1232":{"position":[[3236,8]]},"1486":{"position":[[2290,8]]}},"keywords":{}}],["creator",{"_index":4740,"title":{},"content":{"951":{"position":[[504,8]]}},"keywords":{}}],["creep",{"_index":3702,"title":{},"content":{"708":{"position":[[1091,6]]}},"keywords":{}}],["criteria",{"_index":4634,"title":{},"content":{"939":{"position":[[906,9]]}},"keywords":{}}],["critic",{"_index":214,"title":{"1180":{"position":[[9,8]]}},"content":{"9":{"position":[[980,8],[1122,8]]},"724":{"position":[[170,8]]},"1078":{"position":[[89,8]]},"1104":{"position":[[1512,8]]},"1171":{"position":[[603,8],[626,8]]},"1180":{"position":[[9,8],[106,8],[343,8],[418,8]]}},"keywords":{}}],["crop",{"_index":4951,"title":{},"content":{"991":{"position":[[3278,5]]}},"keywords":{}}],["cross",{"_index":373,"title":{},"content":{"11":{"position":[[453,8]]},"937":{"position":[[4182,5],[4327,5]]},"1072":{"position":[[280,5]]},"1093":{"position":[[355,5]]},"1105":{"position":[[2381,5]]},"1412":{"position":[[1543,5],[2970,5],[3147,5],[3334,5],[3518,5],[3606,5],[3998,5],[4193,6]]}},"keywords":{}}],["crypto",{"_index":6058,"title":{},"content":{"1226":{"position":[[1744,6]]},"1237":{"position":[[1914,6]]}},"keywords":{}}],["cryptograph",{"_index":6057,"title":{},"content":{"1226":{"position":[[1655,13]]},"1237":{"position":[[1825,13]]}},"keywords":{}}],["csc",{"_index":7122,"title":{},"content":{"1381":{"position":[[771,4]]}},"keywords":{}}],["csharp_librari",{"_index":7117,"title":{"1381":{"position":[[0,15]]}},"content":{"1381":{"position":[[4,15],[657,16],[1810,14],[2537,15]]},"1456":{"position":[[1598,15]]}},"keywords":{}}],["csv",{"_index":5368,"title":{},"content":{"1057":{"position":[[190,3],[892,3]]},"1058":{"position":[[136,3]]},"1172":{"position":[[1309,4]]},"1173":{"position":[[609,4]]},"1178":{"position":[[811,4]]},"1179":{"position":[[549,4]]},"1180":{"position":[[879,4]]}},"keywords":{}}],["ct",{"_index":7624,"title":{},"content":{"1398":{"position":[[5390,4]]}},"keywords":{}}],["ctarget",{"_index":5947,"title":{"1145":{"position":[[0,8]]},"1146":{"position":[[5,9]]}},"content":{"1146":{"position":[[67,8]]}},"keywords":{}}],["ctarget_set",{"_index":2123,"title":{"409":{"position":[[0,12]]},"788":{"position":[[0,12]]}},"content":{"402":{"position":[[865,11]]},"781":{"position":[[865,11]]}},"keywords":{}}],["ctarget_set(nod",{"_index":2190,"title":{},"content":{"409":{"position":[[4,18]]},"788":{"position":[[4,18]]}},"keywords":{}}],["ctx",{"_index":1127,"title":{},"content":{"92":{"position":[[912,3]]},"224":{"position":[[912,3]]},"279":{"position":[[52,4]]},"282":{"position":[[50,4]]},"416":{"position":[[54,4],[894,4],[977,4]]},"417":{"position":[[270,4]]},"444":{"position":[[126,4]]},"722":{"position":[[57,5],[411,3]]},"795":{"position":[[54,4],[894,4],[977,4]]},"796":{"position":[[270,4]]},"823":{"position":[[126,4]]},"850":{"position":[[774,3]]},"950":{"position":[[824,3]]},"1040":{"position":[[99,4],[1014,3]]},"1103":{"position":[[1516,4]]}},"keywords":{}}],["ctx.action",{"_index":1143,"title":{},"content":{"92":{"position":[[1667,11]]},"224":{"position":[[1667,11]]},"949":{"position":[[83,11]]},"1040":{"position":[[1769,11]]},"1103":{"position":[[1649,12]]}},"keywords":{}}],["ctx.action.anon_target",{"_index":1010,"title":{},"content":{"79":{"position":[[287,23]]},"508":{"position":[[287,23]]}},"keywords":{}}],["ctx.action.run",{"_index":1947,"title":{},"content":{"368":{"position":[[808,16]]},"747":{"position":[[808,16]]}},"keywords":{}}],["ctx.action.run([ctx.attrs._cc[runinfo",{"_index":1944,"title":{},"content":{"368":{"position":[[707,39]]},"747":{"position":[[707,39]]}},"keywords":{}}],["ctx.actions.anon_target",{"_index":5170,"title":{},"content":{"1043":{"position":[[30,23]]},"1046":{"position":[[252,24]]},"1048":{"position":[[1325,25]]}},"keywords":{}}],["ctx.actions.anon_target(_anon",{"_index":5273,"title":{},"content":{"1049":{"position":[[1259,30]]}},"keywords":{}}],["ctx.actions.anon_target(my_anon_rul",{"_index":5182,"title":{},"content":{"1044":{"position":[[1186,37]]}},"keywords":{}}],["ctx.actions.anon_target(my_anon_rule1",{"_index":5175,"title":{},"content":{"1043":{"position":[[450,38]]}},"keywords":{}}],["ctx.actions.anon_target(upp",{"_index":5231,"title":{},"content":{"1047":{"position":[[410,30]]}},"keywords":{}}],["ctx.actions.anon_target(xxx).artifact("foo"",{"_index":1034,"title":{},"content":{"84":{"position":[[254,54]]},"216":{"position":[[254,54]]}},"keywords":{}}],["ctx.actions.anon_targets([(my_anon_rule1",{"_index":5176,"title":{},"content":{"1043":{"position":[[508,41]]},"1044":{"position":[[1870,41]]}},"keywords":{}}],["ctx.actions.artifact_tag",{"_index":5105,"title":{},"content":{"1031":{"position":[[235,26]]}},"keywords":{}}],["ctx.actions.assert_short_path",{"_index":841,"title":{},"content":{"37":{"position":[[203,34]]},"182":{"position":[[203,34]]},"1049":{"position":[[493,31]]}},"keywords":{}}],["ctx.actions.build(ctx.analysis(ctx.target("foo")).providers[defaultinfo].default_output",{"_index":4734,"title":{},"content":{"950":{"position":[[1118,99]]}},"keywords":{}}],["ctx.actions.declare_output("an",{"_index":5687,"title":{},"content":{"1105":{"position":[[603,35]]}},"keywords":{}}],["ctx.actions.declare_output("deps").as_output",{"_index":5109,"title":{},"content":{"1031":{"position":[[570,56]]}},"keywords":{}}],["ctx.actions.declare_output("incremental_state.json"",{"_index":5307,"title":{},"content":{"1050":{"position":[[3828,62]]}},"keywords":{}}],["ctx.actions.declare_output("my_output"",{"_index":3736,"title":{},"content":{"712":{"position":[[293,49]]}},"keywords":{}}],["ctx.actions.declare_output("out.exe"",{"_index":5253,"title":{},"content":{"1048":{"position":[[1000,47]]}},"keywords":{}}],["ctx.actions.declare_output("output"",{"_index":5278,"title":{},"content":{"1049":{"position":[[1400,46]]}},"keywords":{}}],["ctx.actions.declare_output("output.o"",{"_index":1081,"title":{},"content":{"89":{"position":[[303,48]]},"221":{"position":[[303,48]]},"1048":{"position":[[556,48]]}},"keywords":{}}],["ctx.actions.declare_output("result"",{"_index":5295,"title":{},"content":{"1050":{"position":[[2571,46],[3773,46]]}},"keywords":{}}],["ctx.actions.declare_output(ctx.attrs.out",{"_index":5644,"title":{},"content":{"1103":{"position":[[211,41]]}},"keywords":{}}],["ctx.actions.declare_output(x",{"_index":5144,"title":{},"content":{"1040":{"position":[[2170,28],[2315,28]]}},"keywords":{}}],["ctx.actions.dynamic_output",{"_index":5863,"title":{},"content":{"1136":{"position":[[630,31]]}},"keywords":{}}],["ctx.actions.dynamic_output([dep_fil",{"_index":5161,"title":{},"content":{"1040":{"position":[[2596,38]]}},"keywords":{}}],["ctx.actions.dynamic_output(dynam",{"_index":5130,"title":{},"content":{"1040":{"position":[[39,35]]}},"keywords":{}}],["ctx.actions.dynamic_output_new",{"_index":2205,"title":{},"content":{"411":{"position":[[324,31]]},"790":{"position":[[324,31]]}},"keywords":{}}],["ctx.actions.label",{"_index":5167,"title":{},"content":{"1042":{"position":[[340,17]]}},"keywords":{}}],["ctx.actions.run",{"_index":1079,"title":{},"content":{"89":{"position":[[259,16]]},"92":{"position":[[1689,16]]},"221":{"position":[[259,16]]},"224":{"position":[[1689,16]]},"405":{"position":[[942,16]]},"784":{"position":[[942,16]]},"1031":{"position":[[859,16]]},"1040":{"position":[[1791,16],[2482,16]]},"1049":{"position":[[1447,17]]},"1050":{"position":[[700,16],[2707,16],[4032,16]]},"1072":{"position":[[157,17]]},"1103":{"position":[[933,16]]}},"keywords":{}}],["ctx.actions.run("erl"",{"_index":5146,"title":{},"content":{"1040":{"position":[[2219,32]]}},"keywords":{}}],["ctx.actions.run(["gcc"",{"_index":1082,"title":{},"content":{"89":{"position":[[352,33]]},"221":{"position":[[352,33]]}},"keywords":{}}],["ctx.actions.run(["pascalc"",{"_index":5645,"title":{},"content":{"1103":{"position":[[253,37]]}},"keywords":{}}],["ctx.actions.run(cmd",{"_index":5689,"title":{},"content":{"1105":{"position":[[678,20],[1363,20],[1831,20]]}},"keywords":{}}],["ctx.actions.run(cmd_arg",{"_index":5244,"title":{},"content":{"1048":{"position":[[605,25],[1106,25]]}},"keywords":{}}],["ctx.actions.run(cmd_args("gcc"",{"_index":2167,"title":{},"content":{"406":{"position":[[410,41]]},"785":{"position":[[410,41]]}},"keywords":{}}],["ctx.actions.tset",{"_index":5611,"title":{},"content":{"1091":{"position":[[179,17]]}},"keywords":{}}],["ctx.actions.tset(myset",{"_index":5551,"title":{},"content":{"1081":{"position":[[166,23],[222,23]]},"1082":{"position":[[935,23],[991,23]]},"1083":{"position":[[769,23],[825,23]]},"1084":{"position":[[367,23],[423,23],[498,23]]},"1087":{"position":[[471,23],[527,23],[602,23]]},"1088":{"position":[[818,23],[874,23],[949,23]]}},"keywords":{}}],["ctx.actions.write("hello.out"",{"_index":5266,"title":{},"content":{"1049":{"position":[[812,40]]}},"keywords":{}}],["ctx.actions.write("hello.txt"",{"_index":2345,"title":{},"content":{"437":{"position":[[377,40]]},"816":{"position":[[377,40]]}},"keywords":{}}],["ctx.actions.write("test.sh"",{"_index":5693,"title":{},"content":{"1105":{"position":[[1688,38]]}},"keywords":{}}],["ctx.actions.write("world.out"",{"_index":5267,"title":{},"content":{"1049":{"position":[[880,40]]}},"keywords":{}}],["ctx.actions.write(out",{"_index":3737,"title":{},"content":{"712":{"position":[[343,22]]}},"keywords":{}}],["ctx.analysi",{"_index":1451,"title":{},"content":{"233":{"position":[[364,14]]}},"keywords":{}}],["ctx.analysis("//:bin").provid",{"_index":1459,"title":{},"content":{"234":{"position":[[374,44]]}},"keywords":{}}],["ctx.analysis("root//bin/kind:target_with_outputs"",{"_index":2482,"title":{},"content":{"510":{"position":[[363,60]]},"511":{"position":[[383,60]]}},"keywords":{}}],["ctx.analysis().analyze("//lib:file1"",{"_index":4554,"title":{},"content":{"924":{"position":[[2216,47]]}},"keywords":{}}],["ctx.analysis(my_target).provid",{"_index":3927,"title":{},"content":{"852":{"position":[[119,35]]}},"keywords":{}}],["ctx.analysis(my_target).providers()[defaultinfo",{"_index":3930,"title":{},"content":{"853":{"position":[[170,48]]}},"keywords":{}}],["ctx.analysis(my_target).providers()[defaultinfo].sub_targets["my_subtarget"",{"_index":3933,"title":{},"content":{"854":{"position":[[195,86]]}},"keywords":{}}],["ctx.analysis(node).as_depend",{"_index":1454,"title":{},"content":{"233":{"position":[[516,34]]}},"keywords":{}}],["ctx.analysis(node).provid",{"_index":1457,"title":{},"content":{"234":{"position":[[294,30]]},"417":{"position":[[1079,30]]},"796":{"position":[[1079,30]]}},"keywords":{}}],["ctx.analysis(t).act",{"_index":4795,"title":{},"content":{"964":{"position":[[598,23],[1037,23]]}},"keywords":{}}],["ctx.analysis(target).provid",{"_index":4789,"title":{},"content":{"963":{"position":[[119,30]]}},"keywords":{}}],["ctx.aquery().eval(":foo"",{"_index":1482,"title":{},"content":{"240":{"position":[[384,35]]}},"keywords":{}}],["ctx.args.args_for_bxl",{"_index":4779,"title":{},"content":{"961":{"position":[[789,21]]}},"keywords":{}}],["ctx.attr",{"_index":3739,"title":{},"content":{"712":{"position":[[464,11]]},"1103":{"position":[[1582,10]]}},"keywords":{}}],["ctx.attr.src",{"_index":5143,"title":{},"content":{"1040":{"position":[[2144,14]]}},"keywords":{}}],["ctx.attrs._ios_simul",{"_index":5351,"title":{},"content":{"1054":{"position":[[1835,25]]}},"keywords":{}}],["ctx.attrs._silly_toolchain",{"_index":5258,"title":{},"content":{"1048":{"position":[[1420,26]]}},"keywords":{}}],["ctx.attrs._silly_toolchain.link",{"_index":5256,"title":{},"content":{"1048":{"position":[[1132,34]]}},"keywords":{}}],["ctx.attrs._strip[runinfo",{"_index":1948,"title":{},"content":{"368":{"position":[[825,26]]},"747":{"position":[[825,26]]}},"keywords":{}}],["ctx.attrs.actual.provid",{"_index":4569,"title":{},"content":{"930":{"position":[[77,26]]}},"keywords":{}}],["ctx.attrs.cont",{"_index":2346,"title":{},"content":{"437":{"position":[[418,19]]},"816":{"position":[[418,19]]}},"keywords":{}}],["ctx.attrs.debug_info",{"_index":1959,"title":{},"content":{"368":{"position":[[1132,23]]},"747":{"position":[[1132,23]]}},"keywords":{}}],["ctx.attrs.debug_info.as_output",{"_index":1955,"title":{},"content":{"368":{"position":[[982,33]]},"747":{"position":[[982,33]]}},"keywords":{}}],["ctx.attrs.dep",{"_index":5666,"title":{},"content":{"1104":{"position":[[1976,15],[2532,17]]}},"keywords":{}}],["ctx.attrs.dep[runinfo",{"_index":5493,"title":{},"content":{"1071":{"position":[[275,22]]}},"keywords":{}}],["ctx.attrs.ex",{"_index":2347,"title":{},"content":{"437":{"position":[[451,14]]},"816":{"position":[[451,14]]}},"keywords":{}}],["ctx.attrs.foo[unknowninfo].bar",{"_index":4870,"title":{},"content":{"983":{"position":[[72,30]]}},"keywords":{}}],["ctx.attrs.message.upp",{"_index":5226,"title":{},"content":{"1047":{"position":[[130,26]]}},"keywords":{}}],["ctx.attrs.my_int",{"_index":5210,"title":{},"content":{"1044":{"position":[[3201,16]]}},"keywords":{}}],["ctx.attrs.my_list_of_label",{"_index":5216,"title":{},"content":{"1044":{"position":[[3346,27]]}},"keywords":{}}],["ctx.attrs.my_optional_sourc",{"_index":5214,"title":{},"content":{"1044":{"position":[[3297,28]]}},"keywords":{}}],["ctx.attrs.my_string_with_default",{"_index":5212,"title":{},"content":{"1044":{"position":[[3243,32]]}},"keywords":{}}],["ctx.attrs.out",{"_index":1950,"title":{},"content":{"368":{"position":[[874,14],[1179,14]]},"747":{"position":[[874,14],[1179,14]]}},"keywords":{}}],["ctx.attrs.out).act",{"_index":5653,"title":{},"content":{"1103":{"position":[[868,22]]}},"keywords":{}}],["ctx.attrs.out.as_output",{"_index":1945,"title":{},"content":{"368":{"position":[[763,26]]},"747":{"position":[[763,26]]}},"keywords":{}}],["ctx.attrs.some_tool",{"_index":5279,"title":{},"content":{"1049":{"position":[[1465,20]]}},"keywords":{}}],["ctx.attrs.src",{"_index":1946,"title":{},"content":{"368":{"position":[[792,15]]},"747":{"position":[[792,15]]},"1048":{"position":[[661,14],[1461,15]]},"1103":{"position":[[291,15]]}},"keywords":{}}],["ctx.attrs.strip",{"_index":1958,"title":{},"content":{"368":{"position":[[1111,20]]},"747":{"position":[[1111,20]]}},"keywords":{}}],["ctx.attrs.stripped.as_output",{"_index":1953,"title":{},"content":{"368":{"position":[[917,31]]},"747":{"position":[[917,31]]}},"keywords":{}}],["ctx.attrs.toolchain.compil",{"_index":5245,"title":{},"content":{"1048":{"position":[[631,29]]}},"keywords":{}}],["ctx.audit().cell(alias",{"_index":1491,"title":{},"content":{"242":{"position":[[577,24]]}},"keywords":{}}],["ctx.audit().output("buck",{"_index":1425,"title":{},"content":{"168":{"position":[[151,29]]},"243":{"position":[[650,29]]}},"keywords":{}}],["ctx.build",{"_index":1845,"title":{},"content":{"345":{"position":[[496,11]]},"855":{"position":[[0,9]]}},"keywords":{}}],["ctx.build(act",{"_index":4801,"title":{},"content":{"964":{"position":[[1136,17]]}},"keywords":{}}],["ctx.build(ctx.cli_args.target).item",{"_index":1503,"title":{},"content":{"245":{"position":[[210,39]]},"246":{"position":[[209,39]]},"345":{"position":[[986,39]]}},"keywords":{}}],["ctx.bxl(":func1"",{"_index":4814,"title":{},"content":{"966":{"position":[[597,27]]}},"keywords":{}}],["ctx.bxl_action",{"_index":1636,"title":{},"content":{"298":{"position":[[1248,17]]},"711":{"position":[[1344,17]]},"712":{"position":[[1017,17]]}},"keywords":{}}],["ctx.bxl_actions().act",{"_index":1587,"title":{},"content":{"288":{"position":[[297,25]]},"289":{"position":[[317,25]]},"306":{"position":[[286,25]]},"344":{"position":[[459,25]]},"711":{"position":[[33,25]]},"851":{"position":[[143,25]]},"878":{"position":[[285,25]]}},"keywords":{}}],["ctx.bxl_actions().actions.write(outputs[resolved_attr",{"_index":4115,"title":{},"content":{"878":{"position":[[1299,56]]}},"keywords":{}}],["ctx.bxl_actions(exec_dep",{"_index":1653,"title":{},"content":{"298":{"position":[[2627,25]]},"851":{"position":[[1953,25]]}},"keywords":{}}],["ctx.bxl_actions.factori",{"_index":4731,"title":{},"content":{"950":{"position":[[938,25]]}},"keywords":{}}],["ctx.cli_args.bool_arg",{"_index":3912,"title":{},"content":{"850":{"position":[[836,21]]}},"keywords":{}}],["ctx.cli_args.my_arg",{"_index":1667,"title":{},"content":{"300":{"position":[[409,20]]}},"keywords":{}}],["ctx.configured_targets(":foo"",{"_index":3943,"title":{},"content":{"856":{"position":[[541,40]]}},"keywords":{}}],["ctx.configured_targets("my_cell//bin:the_binary"",{"_index":1541,"title":{},"content":{"280":{"position":[[355,59]]},"283":{"position":[[280,59]]},"284":{"position":[[198,59]]},"285":{"position":[[159,59]]},"286":{"position":[[393,59]]}},"keywords":{}}],["ctx.configured_targets("root//bin:the_binary"",{"_index":1453,"title":{},"content":{"233":{"position":[[446,56]]},"234":{"position":[[225,56]]},"417":{"position":[[1010,56]]},"796":{"position":[[1010,56]]}},"keywords":{}}],["ctx.configured_targets(target.label",{"_index":4111,"title":{},"content":{"878":{"position":[[927,36]]}},"keywords":{}}],["ctx.cquery("//foo"",{"_index":4786,"title":{},"content":{"962":{"position":[[497,29]]}},"keywords":{}}],["ctx.cquery().attrregexfilter("foo"",{"_index":1779,"title":{},"content":{"326":{"position":[[456,45]]}},"keywords":{}}],["ctx.cquery().buildfile(own",{"_index":1789,"title":{},"content":{"327":{"position":[[482,29]]}},"keywords":{}}],["ctx.cquery().deps("//example:bar"",{"_index":4411,"title":{},"content":{"904":{"position":[[1059,44]]}},"keywords":{}}],["ctx.cquery().deps("//example:foo"",{"_index":4408,"title":{},"content":{"904":{"position":[[970,44]]}},"keywords":{}}],["ctx.cquery().deps("root//bin:the_binary"",{"_index":1792,"title":{},"content":{"328":{"position":[[458,51]]}},"keywords":{}}],["ctx.cquery().deps(input",{"_index":4432,"title":{},"content":{"906":{"position":[[588,25]]}},"keywords":{}}],["ctx.cquery().eval("inputs(%s)"",{"_index":1798,"title":{},"content":{"329":{"position":[[541,41]]}},"keywords":{}}],["ctx.cquery().eval("inputs(root//bin:the_binary)"",{"_index":1795,"title":{},"content":{"329":{"position":[[445,59]]}},"keywords":{}}],["ctx.cquery().eval("owner('path/to/file')")[0",{"_index":1532,"title":{},"content":{"278":{"position":[[162,55]]}},"keywords":{}}],["ctx.cquery().filter(".*the_binary"",{"_index":1803,"title":{},"content":{"330":{"position":[[401,45]]}},"keywords":{}}],["ctx.cquery().inputs("root//bin:the_binary"",{"_index":1807,"title":{},"content":{"331":{"position":[[381,53]]}},"keywords":{}}],["ctx.cquery().kind",{"_index":4399,"title":{},"content":{"904":{"position":[[118,24]]}},"keywords":{}}],["ctx.cquery().kind(".*1"",{"_index":1810,"title":{},"content":{"332":{"position":[[398,34]]}},"keywords":{}}],["ctx.cquery().owner("bin/targets")[0",{"_index":2473,"title":{},"content":{"483":{"position":[[108,46]]},"484":{"position":[[161,46]]}},"keywords":{}}],["ctx.cquery().owner("bin/targets.fixture"",{"_index":934,"title":{},"content":{"63":{"position":[[277,51]]},"334":{"position":[[746,51]]},"492":{"position":[[277,51]]}},"keywords":{}}],["ctx.cquery().owner("cell//path/to/file")[0",{"_index":2226,"title":{},"content":{"416":{"position":[[780,53]]},"795":{"position":[[780,53]]}},"keywords":{}}],["ctx.cquery().owner("cell//path/to/targets")[0",{"_index":1515,"title":{},"content":{"276":{"position":[[729,56]]},"277":{"position":[[764,56]]},"281":{"position":[[839,56]]},"282":{"position":[[882,56]]},"322":{"position":[[186,56]]},"528":{"position":[[158,56]]}},"keywords":{}}],["ctx.cquery().owner("foobar"",{"_index":4428,"title":{},"content":{"906":{"position":[[289,38]]}},"keywords":{}}],["ctx.cquery().owner("project/relative/path/to/file")[0",{"_index":1537,"title":{},"content":{"279":{"position":[[299,64]]}},"keywords":{}}],["ctx.cquery().owner(["bin/target"",{"_index":1787,"title":{},"content":{"327":{"position":[[406,43]]}},"keywords":{}}],["ctx.cquery().rdeps("root//bin:the_binary"",{"_index":1825,"title":{},"content":{"335":{"position":[[675,52]]}},"keywords":{}}],["ctx.cquery().rdeps(from_nod",{"_index":4412,"title":{},"content":{"904":{"position":[[1146,29]]}},"keywords":{}}],["ctx.cquery().rdeps(to_nod",{"_index":4422,"title":{},"content":{"905":{"position":[[963,27]]}},"keywords":{}}],["ctx.cquery().rdeps(universe_nod",{"_index":4439,"title":{},"content":{"906":{"position":[[1153,33]]}},"keywords":{}}],["ctx.cquery(‘deps("//foo:rule"",{"_index":4793,"title":{},"content":{"964":{"position":[[524,42]]}},"keywords":{}}],["ctx.cquery.deps("foo"",{"_index":4547,"title":{},"content":{"924":{"position":[[1767,32]]}},"keywords":{}}],["ctx.cquery.ev",{"_index":4400,"title":{},"content":{"904":{"position":[[165,21]]}},"keywords":{}}],["ctx.fs.list("bin"",{"_index":1758,"title":{},"content":{"318":{"position":[[435,28]]}},"keywords":{}}],["ctx.instant_ev",{"_index":3981,"title":{},"content":{"864":{"position":[[39,20]]}},"keywords":{}}],["ctx.instant_event(id",{"_index":3984,"title":{},"content":{"864":{"position":[[429,20],[1090,20],[1236,20]]}},"keywords":{}}],["ctx.output",{"_index":3866,"title":{},"content":{"840":{"position":[[1608,12]]},"877":{"position":[[0,10]]}},"keywords":{}}],["ctx.output.ensur",{"_index":3900,"title":{},"content":{"848":{"position":[[177,19]]}},"keywords":{}}],["ctx.output.ensure(artifact",{"_index":1633,"title":{},"content":{"298":{"position":[[1079,27]]},"840":{"position":[[1687,27]]}},"keywords":{}}],["ctx.output.ensure(output",{"_index":1590,"title":{},"content":{"288":{"position":[[403,25]]},"289":{"position":[[423,25]]},"298":{"position":[[1358,25],[2929,25]]},"344":{"position":[[565,25]]},"851":{"position":[[2255,25]]}},"keywords":{}}],["ctx.output.ensure(promise_result[0].default_outputs[0",{"_index":3770,"title":{},"content":{"712":{"position":[[2773,55]]}},"keywords":{}}],["ctx.output.ensure_multiple()(se",{"_index":3901,"title":{},"content":{"848":{"position":[[201,32]]}},"keywords":{}}],["ctx.output.ensure_multiple(ctx.analysis(label).providers()[defaultinfo",{"_index":3937,"title":{},"content":{"855":{"position":[[273,72]]}},"keywords":{}}],["ctx.output.ensure_multiple(result.providers()[runinfo",{"_index":2483,"title":{},"content":{"510":{"position":[[434,55]]},"511":{"position":[[454,55]]}},"keywords":{}}],["ctx.output.ensure_multiple(value.artifact",{"_index":1852,"title":{},"content":{"345":{"position":[[1063,47]]}},"keywords":{}}],["ctx.output.print",{"_index":1582,"title":{"833":{"position":[[30,18]]}},"content":{"288":{"position":[[152,19]]},"289":{"position":[[172,19]]},"346":{"position":[[425,18]]},"510":{"position":[[178,19]]},"511":{"position":[[198,19]]},"833":{"position":[[0,18]]},"840":{"position":[[1636,20]]},"860":{"position":[[499,20]]}},"keywords":{}}],["ctx.output.print("test"",{"_index":1858,"title":{},"content":{"346":{"position":[[591,34]]}},"keywords":{}}],["ctx.output.print()to",{"_index":1840,"title":{},"content":{"344":{"position":[[360,20]]}},"keywords":{}}],["ctx.output.print(action.own",{"_index":1428,"title":{},"content":{"168":{"position":[[254,32]]}},"keywords":{}}],["ctx.output.print(artifact",{"_index":1539,"title":{},"content":{"279":{"position":[[394,26]]}},"keywords":{}}],["ctx.output.print(attr",{"_index":1517,"title":{},"content":{"276":{"position":[[826,23]]},"281":{"position":[[948,23]]}},"keywords":{}}],["ctx.output.print(attrs.get("some_attribute").label",{"_index":1526,"title":{},"content":{"277":{"position":[[925,61]]},"282":{"position":[[1055,61]]},"322":{"position":[[358,61]]},"528":{"position":[[319,61]]}},"keywords":{}}],["ctx.output.print(attrs.get("some_attribute").valu",{"_index":1771,"title":{},"content":{"322":{"position":[[294,63]]}},"keywords":{}}],["ctx.output.print(attrs.get("some_attributes").valu",{"_index":1525,"title":{},"content":{"277":{"position":[[860,64]]},"282":{"position":[[990,64]]},"528":{"position":[[254,64]]}},"keywords":{}}],["ctx.output.print(attrs.name.typ",{"_index":2474,"title":{},"content":{"483":{"position":[[182,33]]}},"keywords":{}}],["ctx.output.print(attrs.name.valu",{"_index":2476,"title":{},"content":{"484":{"position":[[235,36]]}},"keywords":{}}],["ctx.output.print(configured_label.with_sub_target",{"_index":937,"title":{},"content":{"63":{"position":[[381,52]]},"492":{"position":[[381,52]]}},"keywords":{}}],["ctx.output.print(configured_label.with_sub_target("subtarget1"",{"_index":938,"title":{},"content":{"63":{"position":[[434,74]]},"492":{"position":[[434,74]]}},"keywords":{}}],["ctx.output.print(configured_label.with_sub_target(["subtarget1"",{"_index":939,"title":{},"content":{"63":{"position":[[509,74]]},"492":{"position":[[509,74]]}},"keywords":{}}],["ctx.output.print(ctx.fs.abs_path_unsafe("bin"",{"_index":1739,"title":{},"content":{"314":{"position":[[465,57]]}},"keywords":{}}],["ctx.output.print(ctx.fs.exists("bin"",{"_index":1744,"title":{},"content":{"315":{"position":[[260,48]]}},"keywords":{}}],["ctx.output.print(ctx.fs.is_dir("bin"",{"_index":1748,"title":{},"content":{"316":{"position":[[280,48]]},"317":{"position":[[284,48]]}},"keywords":{}}],["ctx.output.print(ctx.fs.project_rel_path("bin"",{"_index":1762,"title":{},"content":{"319":{"position":[[199,58]]}},"keywords":{}}],["ctx.output.print(ctx.output.ensure(resolved_attrs).abs_path",{"_index":4118,"title":{},"content":{"878":{"position":[[1487,62]]}},"keywords":{}}],["ctx.output.print(default_info",{"_index":3931,"title":{},"content":{"853":{"position":[[219,30]]}},"keywords":{}}],["ctx.output.print(ensur",{"_index":1638,"title":{},"content":{"298":{"position":[[1384,25]]},"344":{"position":[[591,25]]},"712":{"position":[[2960,25]]},"840":{"position":[[1859,26]]}},"keywords":{}}],["ctx.output.print(ensured_with_abs_path",{"_index":1596,"title":{},"content":{"288":{"position":[[694,39]]},"510":{"position":[[762,39]]}},"keywords":{}}],["ctx.output.print(ensured_with_rel_path",{"_index":1602,"title":{},"content":{"289":{"position":[[714,39]]},"511":{"position":[[777,39]]}},"keywords":{}}],["ctx.output.print(filt",{"_index":1782,"title":{},"content":{"326":{"position":[[547,26]]},"467":{"position":[[428,26]]}},"keywords":{}}],["ctx.output.print(kind",{"_index":1811,"title":{},"content":{"332":{"position":[[459,22]]},"473":{"position":[[340,22]]}},"keywords":{}}],["ctx.output.print(len(fil",{"_index":2209,"title":{},"content":{"413":{"position":[[167,28]]},"792":{"position":[[167,28]]}},"keywords":{}}],["ctx.output.print(len(target",{"_index":2195,"title":{},"content":{"409":{"position":[[251,30]]},"449":{"position":[[255,30]]},"788":{"position":[[251,30]]},"828":{"position":[[255,30]]}},"keywords":{}}],["ctx.output.print(node.attrs.name.typ",{"_index":2466,"title":{},"content":{"480":{"position":[[152,38]]}},"keywords":{}}],["ctx.output.print(node.attrs.name.valu",{"_index":2470,"title":{},"content":{"481":{"position":[[236,41]]}},"keywords":{}}],["ctx.output.print(node.label",{"_index":1542,"title":{},"content":{"280":{"position":[[415,28]]}},"keywords":{}}],["ctx.output.print(node.rule_kind",{"_index":1561,"title":{},"content":{"283":{"position":[[340,32]]}},"keywords":{}}],["ctx.output.print(node.rule_typ",{"_index":1566,"title":{},"content":{"284":{"position":[[258,32]]}},"keywords":{}}],["ctx.output.print(node.sourc",{"_index":1569,"title":{},"content":{"285":{"position":[[219,32]]}},"keywords":{}}],["ctx.output.print(own",{"_index":1820,"title":{},"content":{"334":{"position":[[836,23]]},"474":{"position":[[537,23]]}},"keywords":{}}],["ctx.output.print(path",{"_index":2235,"title":{},"content":{"417":{"position":[[1233,22]]},"796":{"position":[[1233,22]]}},"keywords":{}}],["ctx.output.print(promise_result[1].my_str",{"_index":3771,"title":{},"content":{"712":{"position":[[3041,45]]}},"keywords":{}}],["ctx.output.print(providers[fooinfo",{"_index":1458,"title":{},"content":{"234":{"position":[[325,36],[419,36]]}},"keywords":{}}],["ctx.output.print(providers_result[0].my_field",{"_index":1715,"title":{},"content":{"306":{"position":[[726,46]]}},"keywords":{}}],["ctx.output.print(result",{"_index":1483,"title":{},"content":{"240":{"position":[[420,24]]},"242":{"position":[[610,24]]},"243":{"position":[[764,24]]},"318":{"position":[[492,24]]},"327":{"position":[[512,24]]},"328":{"position":[[513,24]]},"330":{"position":[[470,24]]},"331":{"position":[[435,24]]},"335":{"position":[[758,24]]},"468":{"position":[[393,24]]},"469":{"position":[[394,24]]},"471":{"position":[[351,24]]},"472":{"position":[[316,24]]},"475":{"position":[[520,24]]},"478":{"position":[[335,24]]}},"keywords":{}}],["ctx.output.print(result1",{"_index":1796,"title":{},"content":{"329":{"position":[[505,25]]},"470":{"position":[[450,25]]}},"keywords":{}}],["ctx.output.print(result2",{"_index":1800,"title":{},"content":{"329":{"position":[[637,25]]},"470":{"position":[[582,25]]}},"keywords":{}}],["ctx.output.print(source_artifact_project_rel_path",{"_index":2230,"title":{},"content":{"416":{"position":[[982,50]]},"795":{"position":[[982,50]]}},"keywords":{}}],["ctx.output.print(subtarget",{"_index":3934,"title":{},"content":{"854":{"position":[[282,27]]}},"keywords":{}}],["ctx.output.print(target",{"_index":2455,"title":{},"content":{"477":{"position":[[308,25]]}},"keywords":{}}],["ctx.output.print(target_node.attrs.my_attr",{"_index":2420,"title":{},"content":{"459":{"position":[[238,43]]}},"keywords":{}}],["ctx.output.print(target_node.buildfile_path",{"_index":1533,"title":{},"content":{"278":{"position":[[218,44]]},"460":{"position":[[222,44]]}},"keywords":{}}],["ctx.output.print(target_node.label",{"_index":2423,"title":{},"content":{"461":{"position":[[204,35]]}},"keywords":{}}],["ctx.output.print(target_node.rule_kind",{"_index":2426,"title":{},"content":{"462":{"position":[[327,39]]}},"keywords":{}}],["ctx.output.print(target_node.rule_typ",{"_index":2428,"title":{},"content":{"463":{"position":[[263,39]]}},"keywords":{}}],["ctx.output.print(time_a",{"_index":2290,"title":{},"content":{"422":{"position":[[232,24]]},"513":{"position":[[231,24]]},"514":{"position":[[221,24]]},"801":{"position":[[232,24]]}},"keywords":{}}],["ctx.output.print(time_b",{"_index":2291,"title":{},"content":{"422":{"position":[[257,24]]},"513":{"position":[[256,24]]},"514":{"position":[[246,24]]},"801":{"position":[[257,24]]}},"keywords":{}}],["ctx.output.print(type(fil",{"_index":2208,"title":{},"content":{"413":{"position":[[137,29]]},"792":{"position":[[137,29]]}},"keywords":{}}],["ctx.output.print(type(target",{"_index":2194,"title":{},"content":{"409":{"position":[[219,31]]},"449":{"position":[[223,31]]},"788":{"position":[[219,31]]},"828":{"position":[[223,31]]}},"keywords":{}}],["ctx.output.print(unconfigured_label.with_sub_target",{"_index":1419,"title":{},"content":{"166":{"position":[[383,54]]},"548":{"position":[[383,54]]}},"keywords":{}}],["ctx.output.print(unconfigured_label.with_sub_target("subtarget1"",{"_index":1420,"title":{},"content":{"166":{"position":[[438,76]]},"548":{"position":[[438,76]]}},"keywords":{}}],["ctx.output.print(unconfigured_label.with_sub_target(["subtarget1"",{"_index":1421,"title":{},"content":{"166":{"position":[[515,76]]},"548":{"position":[[515,76]]}},"keywords":{}}],["ctx.output.print(value.artifact",{"_index":1504,"title":{},"content":{"245":{"position":[[250,35]]}},"keywords":{}}],["ctx.output.print(value.failur",{"_index":1507,"title":{},"content":{"246":{"position":[[249,34]]}},"keywords":{}}],["ctx.output.print_json("test"",{"_index":1864,"title":{},"content":{"347":{"position":[[544,39]]}},"keywords":{}}],["ctx.output.print_json(output",{"_index":1853,"title":{},"content":{"345":{"position":[[1111,30]]}},"keywords":{}}],["ctx.plugin",{"_index":4924,"title":{},"content":{"991":{"position":[[1039,14]]}},"keywords":{}}],["ctx.plugins[mykind",{"_index":4901,"title":{},"content":{"989":{"position":[[399,20]]}},"keywords":{}}],["ctx.plugins[rustprocmacro",{"_index":4943,"title":{},"content":{"991":{"position":[[2529,26]]}},"keywords":{}}],["ctx.print(target.attribut",{"_index":4784,"title":{},"content":{"962":{"position":[[381,28]]}},"keywords":{}}],["ctx.print(target.label",{"_index":4785,"title":{},"content":{"962":{"position":[[464,23]]}},"keywords":{}}],["ctx.resolve(act",{"_index":1713,"title":{},"content":{"306":{"position":[[619,20]]},"711":{"position":[[1660,20]]},"712":{"position":[[2733,20]]}},"keywords":{}}],["ctx.return(some_artifact",{"_index":4811,"title":{},"content":{"966":{"position":[[504,25]]}},"keywords":{}}],["ctx.target_univers",{"_index":4416,"title":{},"content":{"905":{"position":[[142,21]]}},"keywords":{}}],["ctx.target_universe("//example:foo"",{"_index":4430,"title":{},"content":{"906":{"position":[[496,46],[935,46]]}},"keywords":{}}],["ctx.target_universe("//foo/..."",{"_index":4442,"title":{},"content":{"907":{"position":[[447,42]]}},"keywords":{}}],["ctx.target_universe(["//example:foo"",{"_index":4418,"title":{},"content":{"905":{"position":[[757,47]]}},"keywords":{}}],["ctx.target_universe(unconfigured_owners).target_set",{"_index":4427,"title":{},"content":{"906":{"position":[[226,53]]}},"keywords":{}}],["ctx.unconfigured_sub_target",{"_index":1647,"title":{},"content":{"298":{"position":[[2373,33]]},"851":{"position":[[1702,33]]}},"keywords":{}}],["ctx.unconfigured_sub_targets("foo//bar:baz"",{"_index":1652,"title":{},"content":{"298":{"position":[[2505,54]]},"851":{"position":[[1831,54]]}},"keywords":{}}],["ctx.uqueri",{"_index":3882,"title":{},"content":{"846":{"position":[[216,12]]}},"keywords":{}}],["ctx.uquery().attrregexfilter("foo"",{"_index":2432,"title":{},"content":{"467":{"position":[[337,45]]}},"keywords":{}}],["ctx.uquery().buildfile(own",{"_index":2435,"title":{},"content":{"468":{"position":[[363,29]]}},"keywords":{}}],["ctx.uquery().deps("root//bin:the_binary"",{"_index":2437,"title":{},"content":{"469":{"position":[[339,51]]}},"keywords":{}}],["ctx.uquery().eval("inputs(%s)"",{"_index":2440,"title":{},"content":{"470":{"position":[[486,41]]}},"keywords":{}}],["ctx.uquery().eval("inputs(cell//path/to/file:target)"",{"_index":2439,"title":{},"content":{"470":{"position":[[385,64]]}},"keywords":{}}],["ctx.uquery().eval("owner('path/to/file')")[0",{"_index":2419,"title":{},"content":{"459":{"position":[[182,55]]},"460":{"position":[[166,55]]},"461":{"position":[[148,55]]}},"keywords":{}}],["ctx.uquery().filter(".*the_binary"",{"_index":2442,"title":{},"content":{"471":{"position":[[282,45]]}},"keywords":{}}],["ctx.uquery().inputs("root//bin:the_binary"",{"_index":2444,"title":{},"content":{"472":{"position":[[262,53]]}},"keywords":{}}],["ctx.uquery().kind(".*1"",{"_index":2446,"title":{},"content":{"473":{"position":[[279,34]]}},"keywords":{}}],["ctx.uquery().kind(params["rule_type"",{"_index":4109,"title":{},"content":{"878":{"position":[[838,48]]}},"keywords":{}}],["ctx.uquery().own",{"_index":4424,"title":{},"content":{"906":{"position":[[100,24]]}},"keywords":{}}],["ctx.uquery().owner("bin/targets")[0",{"_index":2465,"title":{},"content":{"480":{"position":[[105,46]]},"481":{"position":[[189,46]]}},"keywords":{}}],["ctx.uquery().owner("bin/targets.fixture"",{"_index":1417,"title":{},"content":{"166":{"position":[[277,51]]},"474":{"position":[[485,51]]},"548":{"position":[[277,51]]}},"keywords":{}}],["ctx.uquery().owner("foobar"",{"_index":4426,"title":{},"content":{"906":{"position":[[169,38]]}},"keywords":{}}],["ctx.uquery().owner('path/to/file')[0",{"_index":2425,"title":{},"content":{"462":{"position":[[289,37]]},"463":{"position":[[225,37]]}},"keywords":{}}],["ctx.uquery().owner(["bin/target"",{"_index":2434,"title":{},"content":{"468":{"position":[[287,43]]}},"keywords":{}}],["ctx.uquery().rdeps("root//bin:the_binary"",{"_index":2449,"title":{},"content":{"475":{"position":[[437,52]]}},"keywords":{}}],["ctx.uquery().targets_in_buildfile("bin/targets.fixture"",{"_index":2454,"title":{},"content":{"477":{"position":[[241,66]]}},"keywords":{}}],["ctx.uquery().testsof("//:foo_lib"",{"_index":2461,"title":{},"content":{"478":{"position":[[290,44]]}},"keywords":{}}],["ctx.uquery(‘deps("//foo"",{"_index":4781,"title":{},"content":{"962":{"position":[[261,37]]}},"keywords":{}}],["cuda",{"_index":7202,"title":{},"content":{"1384":{"position":[[11776,4],[11796,4],[12711,4],[12720,4]]}},"keywords":{}}],["cuda_compil",{"_index":7348,"title":{},"content":{"1389":{"position":[[1533,14]]}},"keywords":{}}],["cuda_compiler_flag",{"_index":7349,"title":{},"content":{"1389":{"position":[[1564,20]]}},"keywords":{}}],["cuda_compiler_typ",{"_index":7350,"title":{},"content":{"1389":{"position":[[1600,19]]}},"keywords":{}}],["cuda_dep_tracking_mod",{"_index":7351,"title":{},"content":{"1389":{"position":[[1636,23]]}},"keywords":{}}],["cuda_preprocessor_flag",{"_index":7352,"title":{},"content":{"1389":{"position":[[1669,24]]}},"keywords":{}}],["culprit",{"_index":6098,"title":{},"content":{"1231":{"position":[[530,8]]},"1232":{"position":[[3313,8]]}},"keywords":{}}],["current",{"_index":1385,"title":{},"content":{"143":{"position":[[74,9]]},"210":{"position":[[121,7]]},"211":{"position":[[108,7]]},"233":{"position":[[105,10]]},"266":{"position":[[74,9]]},"288":{"position":[[431,9]]},"289":{"position":[[451,9]]},"309":{"position":[[889,9]]},"314":{"position":[[166,7]]},"405":{"position":[[1893,7]]},"418":{"position":[[1082,9]]},"419":{"position":[[78,7]]},"422":{"position":[[51,7]]},"510":{"position":[[492,9]]},"511":{"position":[[512,9]]},"578":{"position":[[51,7],[101,7]]},"581":{"position":[[318,7]]},"587":{"position":[[493,7]]},"595":{"position":[[1345,9]]},"784":{"position":[[1893,7]]},"797":{"position":[[1082,9]]},"798":{"position":[[78,7]]},"801":{"position":[[51,7]]},"864":{"position":[[1721,10]]},"890":{"position":[[2802,7]]},"892":{"position":[[1114,7],[1169,7]]},"908":{"position":[[21,9]]},"910":{"position":[[55,7]]},"919":{"position":[[632,7],[1015,7]]},"926":{"position":[[0,10],[119,9]]},"929":{"position":[[0,10]]},"937":{"position":[[941,9]]},"942":{"position":[[1778,9],[1807,9]]},"944":{"position":[[1021,9],[1856,9]]},"955":{"position":[[1027,9]]},"956":{"position":[[7,9]]},"964":{"position":[[255,7]]},"968":{"position":[[85,7]]},"977":{"position":[[47,9]]},"980":{"position":[[281,10],[652,9]]},"983":{"position":[[104,10]]},"991":{"position":[[1401,9]]},"998":{"position":[[0,10]]},"1000":{"position":[[250,7]]},"1018":{"position":[[287,9]]},"1021":{"position":[[486,7]]},"1029":{"position":[[291,9]]},"1049":{"position":[[380,7]]},"1050":{"position":[[120,7],[603,7],[2224,7],[3239,7]]},"1067":{"position":[[304,10]]},"1086":{"position":[[284,7]]},"1088":{"position":[[424,7]]},"1094":{"position":[[6,9]]},"1102":{"position":[[749,9]]},"1104":{"position":[[665,7]]},"1112":{"position":[[62,9],[692,9]]},"1114":{"position":[[17,9],[236,9]]},"1124":{"position":[[258,7]]},"1136":{"position":[[662,10],[3110,7],[3287,7]]},"1138":{"position":[[6772,7],[6949,7]]},"1140":{"position":[[5698,7],[5875,7]]},"1142":{"position":[[1142,7],[1319,7]]},"1146":{"position":[[1082,7],[1259,7]]},"1148":{"position":[[4122,7],[4299,7]]},"1155":{"position":[[1178,7],[1355,7]]},"1156":{"position":[[756,7],[933,7]]},"1167":{"position":[[6702,7],[6879,7]]},"1169":{"position":[[541,7],[718,7]]},"1172":{"position":[[1851,9]]},"1186":{"position":[[2346,7],[2523,7]]},"1187":{"position":[[2359,7],[2536,7]]},"1188":{"position":[[7085,7],[7262,7]]},"1190":{"position":[[242,9],[1285,7]]},"1191":{"position":[[946,7],[1123,7]]},"1192":{"position":[[79,9],[1121,7],[1298,7]]},"1193":{"position":[[1173,7],[1350,7]]},"1194":{"position":[[813,7],[990,7]]},"1195":{"position":[[791,7],[968,7]]},"1196":{"position":[[601,7],[778,7]]},"1197":{"position":[[1584,7],[1761,7]]},"1198":{"position":[[1594,7],[1771,7]]},"1199":{"position":[[1622,7],[1799,7]]},"1200":{"position":[[1489,7],[1666,7]]},"1201":{"position":[[749,7],[926,7]]},"1202":{"position":[[1891,7],[2068,7],[6288,7],[6465,7]]},"1203":{"position":[[983,7],[1160,7]]},"1204":{"position":[[827,7],[1004,7]]},"1205":{"position":[[172,7],[2156,7],[2333,7]]},"1206":{"position":[[627,7],[804,7]]},"1207":{"position":[[784,7],[961,7]]},"1209":{"position":[[2132,7],[2309,7]]},"1211":{"position":[[299,7]]},"1217":{"position":[[494,7],[5443,7],[5620,7]]},"1219":{"position":[[670,11],[1429,7],[1606,7]]},"1222":{"position":[[553,7],[730,7]]},"1223":{"position":[[563,7],[740,7]]},"1224":{"position":[[743,7],[920,7]]},"1226":{"position":[[5911,7],[6088,7]]},"1228":{"position":[[2162,7],[2690,7],[7524,7],[7701,7]]},"1235":{"position":[[3392,7],[3569,7]]},"1237":{"position":[[6081,7],[6258,7]]},"1258":{"position":[[475,7]]},"1289":{"position":[[475,7]]},"1317":{"position":[[475,7]]},"1351":{"position":[[852,10]]},"1360":{"position":[[4251,7]]},"1362":{"position":[[10176,7],[10266,7]]},"1364":{"position":[[11290,7],[11380,7]]},"1366":{"position":[[2616,7]]},"1367":{"position":[[11093,7],[11183,7]]},"1374":{"position":[[1879,10]]},"1382":{"position":[[6409,7],[6902,7],[6992,7]]},"1384":{"position":[[11356,7],[13256,7],[13346,7],[17066,7],[17368,7]]},"1388":{"position":[[7278,7],[7771,7],[7861,7]]},"1393":{"position":[[9260,9]]},"1403":{"position":[[3666,7]]},"1405":{"position":[[2343,7],[2506,10]]},"1407":{"position":[[2764,7],[2927,10]]},"1408":{"position":[[2044,10]]},"1410":{"position":[[2786,7],[2951,10]]},"1429":{"position":[[6085,9]]},"1440":{"position":[[5985,9]]},"1448":{"position":[[2735,9]]},"1449":{"position":[[2669,9]]},"1457":{"position":[[1555,10]]},"1462":{"position":[[6641,9]]},"1467":{"position":[[7756,9]]},"1471":{"position":[[3186,10],[5628,9]]},"1472":{"position":[[2905,10],[3024,10],[6514,9]]},"1473":{"position":[[3220,10],[5799,9]]},"1478":{"position":[[2724,9]]},"1485":{"position":[[2689,7]]}},"keywords":{}}],["custom",{"_index":136,"title":{},"content":{"7":{"position":[[72,6]]},"24":{"position":[[841,6]]},"575":{"position":[[266,6]]},"578":{"position":[[207,6]]},"692":{"position":[[134,6]]},"693":{"position":[[173,15],[1210,6]]},"848":{"position":[[676,6]]},"864":{"position":[[21,6]]},"865":{"position":[[559,6]]},"869":{"position":[[468,6]]},"933":{"position":[[80,6],[109,6]]},"937":{"position":[[261,14],[756,14],[856,6],[1806,9],[3083,6]]},"938":{"position":[[688,9]]},"939":{"position":[[1843,9]]},"958":{"position":[[115,6]]},"1104":{"position":[[275,6]]},"1105":{"position":[[2289,6]]},"1258":{"position":[[1230,9]]},"1289":{"position":[[1230,9]]},"1317":{"position":[[1230,9]]},"1362":{"position":[[10995,6]]},"1364":{"position":[[11962,6]]},"1365":{"position":[[1788,10]]},"1373":{"position":[[5511,6]]},"1382":{"position":[[7864,6]]},"1384":{"position":[[13928,6]]},"1387":{"position":[[7189,6]]},"1467":{"position":[[8622,6],[8677,6]]}},"keywords":{}}],["custom_section]custom_valu",{"_index":2647,"title":{},"content":{"578":{"position":[[223,28]]}},"keywords":{}}],["customis",{"_index":7498,"title":{},"content":{"1393":{"position":[[8757,10],[8859,10]]}},"keywords":{}}],["cut",{"_index":276,"title":{},"content":{"9":{"position":[[2166,7]]}},"keywords":{}}],["cutoff",{"_index":4802,"title":{},"content":{"965":{"position":[[292,7]]}},"keywords":{}}],["cvtres.ex",{"_index":8547,"title":{},"content":{"1485":{"position":[[4562,11]]}},"keywords":{}}],["cvtres_compil",{"_index":7353,"title":{},"content":{"1389":{"position":[[1709,16]]}},"keywords":{}}],["cvtres_compiler_flag",{"_index":7354,"title":{},"content":{"1389":{"position":[[1742,22]]}},"keywords":{}}],["cvtres_compiler_typ",{"_index":7355,"title":{},"content":{"1389":{"position":[[1780,21]]}},"keywords":{}}],["cvtres_preprocessor_flag",{"_index":7356,"title":{},"content":{"1389":{"position":[[1818,26]]}},"keywords":{}}],["cwd",{"_index":5488,"title":{},"content":{"1070":{"position":[[385,5]]}},"keywords":{}}],["cxx",{"_index":138,"title":{},"content":{"7":{"position":[[92,3]]},"389":{"position":[[358,6],[1251,6]]},"584":{"position":[[1585,5],[1761,3]]},"768":{"position":[[358,6],[1251,6]]},"905":{"position":[[481,3],[565,3],[668,3]]},"1446":{"position":[[2415,4]]}},"keywords":{}}],["cxx#other_platform",{"_index":2722,"title":{},"content":{"584":{"position":[[1790,20]]}},"keywords":{}}],["cxx)path",{"_index":7169,"title":{},"content":{"1383":{"position":[[3062,10]]}},"keywords":{}}],["cxx_binari",{"_index":555,"title":{"1382":{"position":[[0,11]]}},"content":{"18":{"position":[[581,10],[622,11]]},"680":{"position":[[1043,10]]},"693":{"position":[[7617,10]]},"715":{"position":[[589,10],[1017,10]]},"1007":{"position":[[265,11]]},"1362":{"position":[[4884,12],[5145,12]]},"1373":{"position":[[8530,12]]},"1374":{"position":[[2951,11]]},"1382":{"position":[[4,11],[2987,12],[11746,11]]},"1384":{"position":[[19994,12],[20528,12],[21021,10]]},"1386":{"position":[[719,13],[3750,11]]},"1485":{"position":[[5007,11]]}},"keywords":{}}],["cxx_binary()[shar",{"_index":7013,"title":{},"content":{"1370":{"position":[[1859,20]]}},"keywords":{}}],["cxx_binarymight",{"_index":3405,"title":{},"content":{"680":{"position":[[918,15]]}},"keywords":{}}],["cxx_compil",{"_index":4324,"title":{},"content":{"896":{"position":[[924,12]]},"1172":{"position":[[1645,16]]},"1173":{"position":[[945,16]]},"1389":{"position":[[1860,13]]}},"keywords":{}}],["cxx_compiler_allow_cache_upload",{"_index":7357,"title":{},"content":{"1389":{"position":[[1879,32]]}},"keywords":{}}],["cxx_compiler_flag",{"_index":7358,"title":{},"content":{"1389":{"position":[[1929,19]]}},"keywords":{}}],["cxx_compiler_typ",{"_index":7359,"title":{},"content":{"1389":{"position":[[1964,18]]}},"keywords":{}}],["cxx_gen",{"_index":7187,"title":{},"content":{"1383":{"position":[[7947,10],[8149,10]]},"1403":{"position":[[7047,10],[7249,10]]}},"keywords":{}}],["cxx_genrul",{"_index":7165,"title":{"1383":{"position":[[0,12]]}},"content":{"1383":{"position":[[4,12],[1192,13],[1277,13],[4314,11],[7864,11],[7927,12],[8598,12],[8678,13],[8719,14],[8763,11]]},"1384":{"position":[[20875,14]]},"1403":{"position":[[6964,11],[7027,12]]},"1407":{"position":[[4985,12]]}},"keywords":{}}],["cxx_gr_name#default",{"_index":7195,"title":{},"content":{"1383":{"position":[[8993,20]]}},"keywords":{}}],["cxx_gr_name#iphonesimul",{"_index":7194,"title":{},"content":{"1383":{"position":[[8876,28]]}},"keywords":{}}],["cxx_header_dir",{"_index":7870,"title":{},"content":{"1421":{"position":[[394,16]]},"1461":{"position":[[559,16]]}},"keywords":{}}],["cxx_librari",{"_index":3395,"title":{"1384":{"position":[[0,12]]}},"content":{"679":{"position":[[152,11],[270,11]]},"680":{"position":[[961,11]]},"917":{"position":[[170,12]]},"1364":{"position":[[4909,13],[5173,13]]},"1370":{"position":[[1946,13]]},"1373":{"position":[[8889,12]]},"1382":{"position":[[11845,12]]},"1384":{"position":[[4,12],[4290,13],[19918,11],[20061,12],[20226,12],[20740,11],[20841,11],[20966,12],[21052,12],[21105,11],[21152,11],[21333,12],[21535,12],[21932,12]]},"1386":{"position":[[700,13]]},"1429":{"position":[[3491,13],[6199,13]]},"1448":{"position":[[2127,11],[3092,12]]},"1449":{"position":[[2061,11]]},"1467":{"position":[[7926,14]]},"1485":{"position":[[4595,11]]}},"keywords":{}}],["cxx_library().main",{"_index":8324,"title":{},"content":{"1462":{"position":[[6811,19]]}},"keywords":{}}],["cxx_library()apple_librari",{"_index":7014,"title":{},"content":{"1370":{"position":[[1913,28]]}},"keywords":{}}],["cxx_library_whitelist",{"_index":7809,"title":{},"content":{"1413":{"position":[[559,22]]},"1429":{"position":[[819,22],[3446,22]]},"1440":{"position":[[893,22]]},"1470":{"position":[[972,22]]},"1475":{"position":[[595,22]]}},"keywords":{}}],["cxx_lua_extens",{"_index":7235,"title":{"1385":{"position":[[0,18]]}},"content":{"1385":{"position":[[4,18],[1839,19],[7255,18]]}},"keywords":{}}],["cxx_main",{"_index":8294,"title":{},"content":{"1462":{"position":[[975,9]]},"1467":{"position":[[1042,9]]}},"keywords":{}}],["cxx_platform",{"_index":8295,"title":{},"content":{"1462":{"position":[[994,13]]},"1465":{"position":[[549,13]]},"1467":{"position":[[1061,13]]}},"keywords":{}}],["cxx_precompiled_head",{"_index":7253,"title":{"1386":{"position":[[0,23]]}},"content":{"1386":{"position":[[4,23],[559,22],[3080,24],[3533,23],[3898,22],[4151,22]]}},"keywords":{}}],["cxx_preprocessor_flag",{"_index":7360,"title":{},"content":{"1389":{"position":[[1999,23]]}},"keywords":{}}],["cxx_python_extens",{"_index":7290,"title":{"1387":{"position":[[0,21]]}},"content":{"1387":{"position":[[4,21],[4184,22],[10631,21]]}},"keywords":{}}],["cxx_runtim",{"_index":8112,"title":{},"content":{"1447":{"position":[[383,12]]}},"keywords":{}}],["cxx_runtime_typ",{"_index":6701,"title":{},"content":{"1362":{"position":[[819,17]]},"1364":{"position":[[836,17]]},"1367":{"position":[[1850,17]]},"1373":{"position":[[693,17]]},"1382":{"position":[[741,17]]},"1384":{"position":[[682,17]]},"1385":{"position":[[447,17]]},"1387":{"position":[[789,17]]},"1388":{"position":[[874,17]]},"1415":{"position":[[527,17]]},"1462":{"position":[[1024,17]]},"1467":{"position":[[1091,17]]}},"keywords":{}}],["cxx_test",{"_index":7305,"title":{"1388":{"position":[[0,9]]}},"content":{"1388":{"position":[[4,9],[3454,10],[10385,9]]}},"keywords":{}}],["cxx_toolchain",{"_index":6988,"title":{"1389":{"position":[[0,14]]}},"content":{"1368":{"position":[[678,14]]},"1389":{"position":[[4,14]]},"1405":{"position":[[2315,13]]},"1407":{"position":[[2736,13]]},"1410":{"position":[[2758,13]]},"1447":{"position":[[412,14]]}},"keywords":{}}],["cxxflags)flag",{"_index":7172,"title":{},"content":{"1383":{"position":[[3182,16]]}},"keywords":{}}],["cxxppflags)flag",{"_index":7173,"title":{},"content":{"1383":{"position":[[3227,18]]}},"keywords":{}}],["cxxppflags="",{"_index":2715,"title":{},"content":{"584":{"position":[[1591,17],[1811,17]]}},"keywords":{}}],["cycl",{"_index":318,"title":{},"content":{"10":{"position":[[281,5]]},"892":{"position":[[806,5],[2084,6]]},"943":{"position":[[2581,5]]},"1040":{"position":[[644,5]]},"1233":{"position":[[0,5],[112,5],[202,5],[319,6]]},"1241":{"position":[[60,5],[150,5],[267,6]]}},"keywords":{}}],["cyclic",{"_index":4284,"title":{},"content":{"892":{"position":[[2040,6]]}},"keywords":{}}],["d",{"_index":2497,"title":{"724":{"position":[[6,2]]}},"content":{"553":{"position":[[108,1]]},"555":{"position":[[178,2]]},"556":{"position":[[153,2]]},"560":{"position":[[193,2],[381,2],[541,2],[658,2]]},"584":{"position":[[1609,1],[1829,1]]},"616":{"position":[[366,5]]},"645":{"position":[[299,2]]},"1040":{"position":[[2552,1]]},"1167":{"position":[[598,2]]},"1390":{"position":[[636,1],[1822,1],[1986,1],[2020,2]]},"1391":{"position":[[606,1],[1637,1]]},"1392":{"position":[[645,1],[2092,1],[2485,1]]}},"keywords":{}}],["d'",{"_index":7433,"title":{},"content":{"1392":{"position":[[690,3]]}},"keywords":{}}],["d.clear",{"_index":2496,"title":{},"content":{"553":{"position":[[60,9]]}},"keywords":{}}],["d.get(key",{"_index":2504,"title":{},"content":{"554":{"position":[[84,11]]}},"keywords":{}}],["d.item",{"_index":2511,"title":{},"content":{"555":{"position":[[99,9]]}},"keywords":{}}],["d.key",{"_index":2516,"title":{},"content":{"556":{"position":[[91,8]]}},"keywords":{}}],["d.pop(key",{"_index":2520,"title":{},"content":{"557":{"position":[[96,11]]}},"keywords":{}}],["d.popitem",{"_index":2527,"title":{},"content":{"558":{"position":[[127,11]]}},"keywords":{}}],["d.setdefault(key",{"_index":2532,"title":{},"content":{"559":{"position":[[132,18]]}},"keywords":{}}],["d.update([pair",{"_index":2543,"title":{},"content":{"560":{"position":[[98,18]]}},"keywords":{}}],["d.valu",{"_index":2557,"title":{},"content":{"561":{"position":[[97,10]]}},"keywords":{}}],["d36339960",{"_index":4845,"title":{},"content":{"978":{"position":[[107,9]]}},"keywords":{}}],["d_binari",{"_index":7420,"title":{"1390":{"position":[[0,9]]}},"content":{"1390":{"position":[[4,9],[568,10],[2056,9]]}},"keywords":{}}],["d_librari",{"_index":7421,"title":{"1391":{"position":[[0,10]]}},"content":{"1390":{"position":[[1605,9],[2126,10],[2199,10]]},"1391":{"position":[[4,10],[569,11],[1558,9],[1848,10],[1921,10]]},"1392":{"position":[[1708,9]]}},"keywords":{}}],["d_test",{"_index":7432,"title":{"1392":{"position":[[0,7]]}},"content":{"1392":{"position":[[4,7],[604,8],[2037,8],[2519,7]]}},"keywords":{}}],["daemon",{"_index":1099,"title":{"691":{"position":[[0,6]]},"692":{"position":[[30,7]]}},"content":{"90":{"position":[[139,6]]},"222":{"position":[[139,6]]},"581":{"position":[[846,6]]},"692":{"position":[[9,6],[111,6]]},"693":{"position":[[4007,7],[4019,6],[4194,6],[5071,6]]},"715":{"position":[[1676,6],[1697,6],[2057,6]]},"879":{"position":[[229,6]]},"1035":{"position":[[83,7],[122,6],[272,7]]},"1060":{"position":[[234,6]]},"1075":{"position":[[575,6]]},"1079":{"position":[[748,6]]},"1127":{"position":[[683,6]]},"1138":{"position":[[1390,6]]},"1142":{"position":[[68,7],[329,6]]},"1163":{"position":[[14,7],[167,6]]},"1211":{"position":[[187,7]]},"1219":{"position":[[41,7],[92,6],[170,6]]},"1224":{"position":[[126,7],[181,6]]}},"keywords":{}}],["daemon'",{"_index":1098,"title":{},"content":{"90":{"position":[[61,8]]},"222":{"position":[[61,8]]}},"keywords":{}}],["daemon.simpl",{"_index":331,"title":{},"content":{"10":{"position":[[549,13]]}},"keywords":{}}],["dag",{"_index":3428,"title":{},"content":{"684":{"position":[[67,6]]},"1084":{"position":[[21,5],[717,4]]}},"keywords":{}}],["daili",{"_index":186,"title":{},"content":{"9":{"position":[[370,5]]}},"keywords":{}}],["dand",{"_index":3185,"title":{},"content":{"645":{"position":[[357,4]]}},"keywords":{}}],["danger",{"_index":3976,"title":{},"content":{"861":{"position":[[109,9]]}},"keywords":{}}],["dap",{"_index":770,"title":{},"content":{"23":{"position":[[3001,3]]},"1224":{"position":[[134,3]]}},"keywords":{}}],["darwin",{"_index":8381,"title":{},"content":{"1469":{"position":[[2557,6],[2631,6]]}},"keywords":{}}],["data",{"_index":3448,"title":{"1252":{"position":[[27,4]]}},"content":{"688":{"position":[[1433,4]]},"693":{"position":[[6466,4],[7330,4]]},"722":{"position":[[619,4]]},"836":{"position":[[4,4]]},"887":{"position":[[28,4]]},"890":{"position":[[2448,4],[4437,4],[6150,4]]},"892":{"position":[[213,4],[505,4],[892,4],[2047,4],[2121,5]]},"898":{"position":[[1720,5],[1741,4],[1833,5]]},"950":{"position":[[720,4]]},"954":{"position":[[578,5]]},"1050":{"position":[[2150,4]]},"1104":{"position":[[18,4]]},"1126":{"position":[[656,5],[793,4],[850,5],[1088,4],[1143,5],[1381,4],[1436,5]]},"1148":{"position":[[7292,4]]},"1167":{"position":[[1840,4]]},"1186":{"position":[[349,5]]},"1187":{"position":[[362,5]]},"1188":{"position":[[5088,5]]},"1252":{"position":[[109,4]]},"1380":{"position":[[579,4]]},"1383":{"position":[[5739,4]]},"1388":{"position":[[5017,4],[6427,4]]},"1398":{"position":[[3974,4],[5230,4],[5531,4]]},"1405":{"position":[[3581,4]]},"1407":{"position":[[4002,4]]},"1410":{"position":[[4990,4]]},"1438":{"position":[[554,4]]},"1467":{"position":[[6780,4]]},"1469":{"position":[[1951,4]]},"1477":{"position":[[2039,4],[2644,4],[2806,4],[2821,4]]}},"keywords":{}}],["data("hello"",{"_index":4268,"title":{},"content":{"892":{"position":[[74,23],[1077,23],[1752,23],[1925,23]]}},"keywords":{}}],["data("universe"",{"_index":4269,"title":{},"content":{"892":{"position":[[109,26],[1030,26],[1493,26],[1720,26]]}},"keywords":{}}],["data("world"",{"_index":4267,"title":{},"content":{"892":{"position":[[45,23],[985,23],[1540,23],[1787,23],[1960,23]]}},"keywords":{}}],["data.dat",{"_index":7898,"title":{},"content":{"1422":{"position":[[2874,8]]},"1477":{"position":[[2884,8]]}},"keywords":{}}],["data.proto",{"_index":5779,"title":{},"content":{"1123":{"position":[[134,11]]},"1125":{"position":[[112,10]]},"1126":{"position":[[839,10],[1132,10],[1425,10]]}},"keywords":{}}],["data_dir",{"_index":7618,"title":{},"content":{"1398":{"position":[[3890,8],[4170,8],[5290,8],[5363,8]]}},"keywords":{}}],["data_dir)of",{"_index":7625,"title":{},"content":{"1398":{"position":[[5546,12]]}},"keywords":{}}],["databas",{"_index":4081,"title":{},"content":{"873":{"position":[[14,8],[28,8],[184,8],[601,8]]},"954":{"position":[[99,9],[446,8]]},"964":{"position":[[34,10]]},"1077":{"position":[[62,9]]}},"keywords":{}}],["datafil",{"_index":8470,"title":{},"content":{"1477":{"position":[[3234,8]]}},"keywords":{}}],["datafile"",{"_index":8463,"title":{},"content":{"1477":{"position":[[2864,14]]}},"keywords":{}}],["dataregular",{"_index":8375,"title":{},"content":{"1469":{"position":[[1939,11]]}},"keywords":{}}],["dataset",{"_index":5918,"title":{},"content":{"1136":{"position":[[6752,8]]},"1138":{"position":[[10414,8]]},"1140":{"position":[[9340,8]]},"1142":{"position":[[4784,8]]},"1144":{"position":[[1112,8]]},"1146":{"position":[[4724,8]]},"1148":{"position":[[8315,8]]},"1150":{"position":[[1347,8]]},"1152":{"position":[[1045,8]]},"1154":{"position":[[1200,8]]},"1155":{"position":[[4820,8]]},"1156":{"position":[[4398,8]]},"1157":{"position":[[983,8]]},"1158":{"position":[[977,8]]},"1159":{"position":[[977,8]]},"1161":{"position":[[1972,8]]},"1163":{"position":[[1358,8]]},"1165":{"position":[[1187,8]]},"1167":{"position":[[10344,8]]},"1169":{"position":[[3452,8]]},"1171":{"position":[[1693,8]]},"1172":{"position":[[3078,8]]},"1173":{"position":[[1765,8]]},"1174":{"position":[[1193,8]]},"1175":{"position":[[1189,8]]},"1176":{"position":[[1358,8]]},"1177":{"position":[[1279,8]]},"1178":{"position":[[1596,8]]},"1179":{"position":[[1393,8]]},"1180":{"position":[[1664,8]]},"1181":{"position":[[2184,8]]},"1182":{"position":[[1227,8]]},"1183":{"position":[[1182,8]]},"1185":{"position":[[1027,8]]},"1186":{"position":[[5988,8]]},"1187":{"position":[[6001,8]]},"1188":{"position":[[10727,8]]},"1190":{"position":[[2358,8]]},"1191":{"position":[[4588,8]]},"1192":{"position":[[4763,8]]},"1193":{"position":[[4815,8]]},"1194":{"position":[[4455,8]]},"1195":{"position":[[4433,8]]},"1196":{"position":[[4243,8]]},"1197":{"position":[[5226,8]]},"1198":{"position":[[5236,8]]},"1199":{"position":[[5264,8]]},"1200":{"position":[[5131,8]]},"1201":{"position":[[4391,8]]},"1202":{"position":[[1135,8],[5533,8],[9930,8]]},"1203":{"position":[[4625,8]]},"1204":{"position":[[4469,8],[5371,8],[6301,8],[7203,8],[8189,8],[9143,8],[10090,8],[11020,8]]},"1205":{"position":[[5798,8]]},"1206":{"position":[[4497,8]]},"1207":{"position":[[4426,8]]},"1209":{"position":[[5774,8]]},"1211":{"position":[[1098,8]]},"1213":{"position":[[869,8]]},"1215":{"position":[[953,8]]},"1217":{"position":[[9085,8]]},"1219":{"position":[[4340,8]]},"1221":{"position":[[1072,8]]},"1222":{"position":[[4211,8]]},"1223":{"position":[[4221,8]]},"1224":{"position":[[3654,8]]},"1226":{"position":[[9553,8]]},"1228":{"position":[[11166,8]]},"1235":{"position":[[7034,8]]},"1237":{"position":[[9723,8]]}},"keywords":{}}],["date",{"_index":4750,"title":{},"content":{"955":{"position":[[363,4]]}},"keywords":{}}],["day",{"_index":245,"title":{},"content":{"9":{"position":[[1491,3],[1498,4]]},"10":{"position":[[1029,4]]},"941":{"position":[[344,3]]},"1113":{"position":[[469,4]]}},"keywords":{}}],["db",{"_index":4745,"title":{},"content":{"954":{"position":[[315,2],[688,2],[943,2]]},"1421":{"position":[[426,3]]}},"keywords":{}}],["db]?asan",{"_index":4674,"title":{},"content":{"942":{"position":[[736,9]]}},"keywords":{}}],["dbar",{"_index":5563,"title":{},"content":{"1082":{"position":[[1258,4]]},"1084":{"position":[[654,5]]}},"keywords":{}}],["dbarski",{"_index":4760,"title":{},"content":{"957":{"position":[[11,9]]}},"keywords":{}}],["dead",{"_index":6156,"title":{},"content":{"1232":{"position":[[3701,4]]},"1351":{"position":[[3533,4]]}},"keywords":{}}],["deal",{"_index":4840,"title":{},"content":{"977":{"position":[[293,7]]}},"keywords":{}}],["debug",{"_index":1954,"title":{"635":{"position":[[0,6]]},"860":{"position":[[24,9]]},"946":{"position":[[0,9]]},"1106":{"position":[[0,10]]},"1224":{"position":[[14,5]]},"1230":{"position":[[7,5]]},"1233":{"position":[[7,5]]},"1246":{"position":[[0,9]]}},"content":{"368":{"position":[[957,5],[2294,5]]},"446":{"position":[[448,11]]},"632":{"position":[[126,9]]},"635":{"position":[[55,5],[126,9]]},"715":{"position":[[1063,5]]},"747":{"position":[[957,5],[2294,5]]},"825":{"position":[[448,11]]},"860":{"position":[[406,5],[432,5]]},"946":{"position":[[170,5],[667,5],[737,5]]},"973":{"position":[[169,9]]},"1035":{"position":[[159,5]]},"1037":{"position":[[521,5]]},"1058":{"position":[[1105,10]]},"1120":{"position":[[579,9]]},"1138":{"position":[[3430,9],[3749,9]]},"1140":{"position":[[2919,9],[3238,9]]},"1167":{"position":[[262,5],[3923,9],[4242,9]]},"1188":{"position":[[2972,9],[3291,9]]},"1190":{"position":[[954,5]]},"1197":{"position":[[243,5],[275,5]]},"1202":{"position":[[0,5]]},"1217":{"position":[[2664,9],[2983,9]]},"1219":{"position":[[961,9]]},"1221":{"position":[[160,5],[190,5]]},"1224":{"position":[[17,5],[93,5],[253,5]]},"1228":{"position":[[4745,9],[5064,9]]},"1231":{"position":[[5,9]]},"1351":{"position":[[930,6],[2254,6],[2636,6],[3645,5],[4332,8],[4356,8]]},"1358":{"position":[[2311,9]]},"1382":{"position":[[11997,5],[12040,5]]},"1386":{"position":[[2520,6],[5240,6]]},"1446":{"position":[[1839,5]]},"1458":{"position":[[2441,9]]}},"keywords":{}}],["debug(v",{"_index":3096,"title":{},"content":{"635":{"position":[[4,10]]}},"keywords":{}}],["debug_info",{"_index":1974,"title":{},"content":{"368":{"position":[[1693,10]]},"747":{"position":[[1693,10]]}},"keywords":{}}],["debug_path_prefix_map_sanitizer_format",{"_index":7361,"title":{},"content":{"1389":{"position":[[2038,39]]}},"keywords":{}}],["debugev",{"_index":5906,"title":{},"content":{"1136":{"position":[[5373,11],[5568,11]]},"1138":{"position":[[9035,11],[9230,11]]},"1140":{"position":[[7961,11],[8156,11]]},"1142":{"position":[[3405,11],[3600,11]]},"1146":{"position":[[3345,11],[3540,11]]},"1148":{"position":[[6385,11],[6580,11]]},"1155":{"position":[[3441,11],[3636,11]]},"1156":{"position":[[3019,11],[3214,11]]},"1161":{"position":[[912,11],[1107,11]]},"1167":{"position":[[8965,11],[9160,11]]},"1181":{"position":[[1124,11],[1319,11]]},"1186":{"position":[[4609,11],[4804,11]]},"1187":{"position":[[4622,11],[4817,11]]},"1188":{"position":[[9348,11],[9543,11]]},"1191":{"position":[[3209,11],[3404,11]]},"1192":{"position":[[3384,11],[3579,11]]},"1193":{"position":[[3436,11],[3631,11]]},"1194":{"position":[[3076,11],[3271,11]]},"1195":{"position":[[3054,11],[3249,11]]},"1196":{"position":[[2864,11],[3059,11]]},"1197":{"position":[[3847,11],[4042,11]]},"1198":{"position":[[3857,11],[4052,11]]},"1199":{"position":[[3885,11],[4080,11]]},"1200":{"position":[[3752,11],[3947,11]]},"1201":{"position":[[3012,11],[3207,11]]},"1202":{"position":[[4154,11],[4349,11],[8551,11],[8746,11]]},"1203":{"position":[[3246,11],[3441,11]]},"1204":{"position":[[3090,11],[3285,11]]},"1205":{"position":[[4419,11],[4614,11]]},"1206":{"position":[[2890,11],[3085,11]]},"1207":{"position":[[3047,11],[3242,11]]},"1209":{"position":[[4395,11],[4590,11]]},"1217":{"position":[[7706,11],[7901,11]]},"1222":{"position":[[2816,11],[3011,11]]},"1223":{"position":[[2826,11],[3021,11]]},"1226":{"position":[[8174,11],[8369,11]]},"1228":{"position":[[9787,11],[9982,11]]},"1235":{"position":[[5655,11],[5850,11]]},"1237":{"position":[[8344,11],[8539,11]]}},"keywords":{}}],["debugg",{"_index":3077,"title":{},"content":{"631":{"position":[[36,8],[75,9]]},"946":{"position":[[525,9],[714,8]]},"1167":{"position":[[1481,8],[1537,9]]}},"keywords":{}}],["decad",{"_index":406,"title":{},"content":{"12":{"position":[[400,7]]}},"keywords":{}}],["decid",{"_index":3804,"title":{},"content":{"724":{"position":[[880,7],[1033,7],[1373,6]]},"870":{"position":[[233,6]]},"990":{"position":[[1315,6]]},"1104":{"position":[[1579,6]]}},"keywords":{}}],["decim",{"_index":2813,"title":{},"content":{"595":{"position":[[717,7]]}},"keywords":{}}],["decis",{"_index":4509,"title":{},"content":{"921":{"position":[[387,8]]},"1053":{"position":[[70,8]]}},"keywords":{}}],["declar",{"_index":597,"title":{"1031":{"position":[[0,9]]}},"content":{"18":{"position":[[2115,8]]},"23":{"position":[[1110,7]]},"51":{"position":[[123,8]]},"74":{"position":[[208,12]]},"89":{"position":[[499,8]]},"198":{"position":[[123,8]]},"221":{"position":[[499,8]]},"236":{"position":[[423,8]]},"300":{"position":[[71,8]]},"406":{"position":[[48,8]]},"416":{"position":[[161,10]]},"423":{"position":[[62,7],[184,9]]},"497":{"position":[[208,12]]},"693":{"position":[[1009,8],[1159,7],[1563,7],[7087,8],[7246,7],[7413,7],[8490,8],[8877,9]]},"785":{"position":[[48,8]]},"795":{"position":[[161,10]]},"802":{"position":[[62,7],[184,9]]},"861":{"position":[[58,8],[672,9]]},"876":{"position":[[5,9],[233,7],[297,7]]},"878":{"position":[[313,7]]},"894":{"position":[[380,8]]},"916":{"position":[[357,7]]},"950":{"position":[[254,8],[1081,8],[1250,8]]},"951":{"position":[[1213,9]]},"961":{"position":[[92,7],[167,11],[422,11],[841,9]]},"984":{"position":[[132,8]]},"989":{"position":[[78,9]]},"990":{"position":[[240,9]]},"1004":{"position":[[390,14]]},"1007":{"position":[[156,11]]},"1030":{"position":[[48,7]]},"1031":{"position":[[3,7],[692,7]]},"1036":{"position":[[125,7]]},"1046":{"position":[[196,11]]},"1072":{"position":[[175,8]]},"1081":{"position":[[19,7]]},"1082":{"position":[[689,7]]},"1083":{"position":[[525,7]]},"1103":{"position":[[39,7],[895,8],[1029,9],[1623,8]]},"1105":{"position":[[1123,8],[2145,7]]},"1136":{"position":[[88,8]]},"1226":{"position":[[3312,11]]},"1237":{"position":[[3482,11]]},"1245":{"position":[[156,7],[206,8]]},"1285":{"position":[[195,8]]},"1287":{"position":[[23,8]]},"1351":{"position":[[2015,8],[2200,8],[2582,8]]},"1355":{"position":[[4903,7],[5458,9],[5554,8]]},"1359":{"position":[[1958,7]]},"1362":{"position":[[10807,8]]},"1364":{"position":[[11774,8]]},"1373":{"position":[[5323,8],[8334,9]]},"1382":{"position":[[4615,8],[4886,8],[7676,8]]},"1384":{"position":[[13740,8]]},"1386":{"position":[[3926,8]]},"1387":{"position":[[7001,8]]},"1388":{"position":[[5309,8],[5580,8]]},"1407":{"position":[[2442,8]]},"1442":{"position":[[1605,8],[1876,8]]},"1470":{"position":[[4501,7]]},"1487":{"position":[[2537,12]]}},"keywords":{}}],["declare_artifact",{"_index":1125,"title":{},"content":{"92":{"position":[[814,17]]},"224":{"position":[[814,17]]},"1040":{"position":[[916,17]]}},"keywords":{}}],["declare_output",{"_index":5164,"title":{},"content":{"1040":{"position":[[2730,14]]},"1105":{"position":[[711,14],[1132,17]]}},"keywords":{}}],["declare_outputcont",{"_index":1273,"title":{},"content":{"99":{"position":[[714,22]]},"231":{"position":[[714,22]]}},"keywords":{}}],["declared.head",{"_index":7049,"title":{},"content":{"1373":{"position":[[4526,17]]}},"keywords":{}}],["declared_dep",{"_index":7151,"title":{},"content":{"1382":{"position":[[4688,14],[4961,17],[4996,14]]},"1388":{"position":[[5382,14],[5655,17],[5690,14]]},"1442":{"position":[[1678,14],[1951,17],[1986,14]]}},"keywords":{}}],["declared_deps)"",{"_index":7158,"title":{},"content":{"1382":{"position":[[5214,21]]},"1388":{"position":[[5908,21]]},"1442":{"position":[[2204,21]]}},"keywords":{}}],["declared_deps)".format(name_regex",{"_index":7155,"title":{},"content":{"1382":{"position":[[5107,47]]},"1388":{"position":[[5801,47]]},"1442":{"position":[[2097,47]]}},"keywords":{}}],["declaringattrs.arg",{"_index":5197,"title":{},"content":{"1044":{"position":[[2648,18]]}},"keywords":{}}],["decod",{"_index":2752,"title":{},"content":{"590":{"position":[[407,8]]},"1469":{"position":[[2237,7]]}},"keywords":{}}],["decompress",{"_index":4005,"title":{},"content":{"865":{"position":[[910,13]]},"1178":{"position":[[177,15]]}},"keywords":{}}],["decor",{"_index":2408,"title":{},"content":{"450":{"position":[[69,9]]},"829":{"position":[[69,9]]}},"keywords":{}}],["decoupl",{"_index":5628,"title":{},"content":{"1100":{"position":[[155,8]]}},"keywords":{}}],["dedup",{"_index":2196,"title":{"410":{"position":[[0,7]]},"789":{"position":[[0,7]]}},"content":{},"keywords":{}}],["dedupe(flatten([x[pascallibraryinfo].link",{"_index":5675,"title":{},"content":{"1104":{"position":[[2480,42]]}},"keywords":{}}],["dedupe(v",{"_index":2197,"title":{},"content":{"410":{"position":[[4,11]]},"789":{"position":[[4,11]]}},"keywords":{}}],["dedupl",{"_index":3315,"title":{},"content":{"663":{"position":[[1166,13]]},"901":{"position":[[1120,13]]},"1112":{"position":[[425,13]]},"1114":{"position":[[714,13]]},"1138":{"position":[[2959,11]]},"1140":{"position":[[2448,11]]},"1167":{"position":[[3452,11]]},"1188":{"position":[[2501,11]]},"1217":{"position":[[2193,11]]},"1228":{"position":[[4274,11]]}},"keywords":{}}],["deduplicate_merged_link_root",{"_index":8296,"title":{},"content":{"1462":{"position":[[1058,30]]},"1467":{"position":[[1125,30],[6148,30]]}},"keywords":{}}],["deem",{"_index":6046,"title":{},"content":{"1219":{"position":[[913,6]]}},"keywords":{}}],["deep",{"_index":5679,"title":{},"content":{"1104":{"position":[[2678,4]]}},"keywords":{}}],["def",{"_index":832,"title":{},"content":{"36":{"position":[[0,3]]},"37":{"position":[[0,3]]},"40":{"position":[[0,3]]},"41":{"position":[[0,3]]},"45":{"position":[[0,3]]},"50":{"position":[[0,3]]},"52":{"position":[[0,3]]},"53":{"position":[[0,3]]},"55":{"position":[[0,3]]},"58":{"position":[[0,3]]},"62":{"position":[[0,3]]},"63":{"position":[[0,3],[241,3]]},"65":{"position":[[0,3]]},"66":{"position":[[0,3]]},"69":{"position":[[0,3]]},"76":{"position":[[0,3]]},"79":{"position":[[0,3]]},"81":{"position":[[0,3]]},"82":{"position":[[0,3]]},"83":{"position":[[0,3]]},"84":{"position":[[0,3]]},"85":{"position":[[0,3]]},"86":{"position":[[0,3]]},"87":{"position":[[0,3]]},"88":{"position":[[0,3]]},"89":{"position":[[0,3]]},"90":{"position":[[0,3]]},"91":{"position":[[0,3]]},"92":{"position":[[0,3],[1836,4]]},"93":{"position":[[0,3]]},"94":{"position":[[0,3]]},"95":{"position":[[0,3]]},"96":{"position":[[0,3]]},"97":{"position":[[0,3]]},"98":{"position":[[0,3]]},"99":{"position":[[0,3]]},"101":{"position":[[0,3]]},"102":{"position":[[0,3]]},"103":{"position":[[0,3]]},"104":{"position":[[0,3]]},"108":{"position":[[0,3]]},"113":{"position":[[0,3]]},"116":{"position":[[0,3]]},"118":{"position":[[0,3]]},"119":{"position":[[0,3]]},"123":{"position":[[0,3]]},"125":{"position":[[0,3]]},"126":{"position":[[0,3]]},"127":{"position":[[0,3]]},"128":{"position":[[0,3]]},"129":{"position":[[0,3]]},"130":{"position":[[0,3]]},"131":{"position":[[0,3]]},"132":{"position":[[0,3]]},"133":{"position":[[0,3]]},"134":{"position":[[0,3]]},"135":{"position":[[0,3]]},"136":{"position":[[0,3]]},"137":{"position":[[0,3]]},"138":{"position":[[0,3]]},"139":{"position":[[0,3]]},"140":{"position":[[0,3]]},"141":{"position":[[0,3]]},"142":{"position":[[0,3]]},"143":{"position":[[0,3]]},"144":{"position":[[0,3]]},"145":{"position":[[0,3]]},"146":{"position":[[0,3]]},"147":{"position":[[0,3]]},"148":{"position":[[0,3]]},"149":{"position":[[0,3]]},"150":{"position":[[0,3]]},"151":{"position":[[0,3]]},"153":{"position":[[0,3]]},"158":{"position":[[0,3]]},"161":{"position":[[0,3]]},"166":{"position":[[0,3],[241,3]]},"168":{"position":[[0,3],[119,3]]},"173":{"position":[[0,3]]},"174":{"position":[[0,3]]},"181":{"position":[[0,3]]},"182":{"position":[[0,3]]},"192":{"position":[[0,3]]},"197":{"position":[[0,3]]},"199":{"position":[[0,3]]},"200":{"position":[[0,3]]},"202":{"position":[[0,3]]},"204":{"position":[[0,3]]},"205":{"position":[[0,3]]},"213":{"position":[[0,3]]},"214":{"position":[[0,3]]},"215":{"position":[[0,3]]},"216":{"position":[[0,3]]},"217":{"position":[[0,3]]},"218":{"position":[[0,3]]},"219":{"position":[[0,3]]},"220":{"position":[[0,3]]},"221":{"position":[[0,3]]},"222":{"position":[[0,3]]},"223":{"position":[[0,3]]},"224":{"position":[[0,3],[1836,4]]},"225":{"position":[[0,3]]},"226":{"position":[[0,3]]},"227":{"position":[[0,3]]},"228":{"position":[[0,3]]},"229":{"position":[[0,3]]},"230":{"position":[[0,3]]},"231":{"position":[[0,3]]},"233":{"position":[[0,3],[412,3]]},"234":{"position":[[0,3],[192,3]]},"236":{"position":[[0,3]]},"237":{"position":[[0,3]]},"238":{"position":[[0,3]]},"239":{"position":[[0,3]]},"240":{"position":[[0,3],[354,3]]},"242":{"position":[[0,3],[541,3]]},"243":{"position":[[0,3],[578,3]]},"245":{"position":[[0,3],[160,3]]},"246":{"position":[[0,3],[159,3]]},"248":{"position":[[0,3]]},"249":{"position":[[0,3]]},"250":{"position":[[0,3]]},"251":{"position":[[0,3]]},"252":{"position":[[0,3]]},"253":{"position":[[0,3]]},"254":{"position":[[0,3]]},"255":{"position":[[0,3]]},"256":{"position":[[0,3]]},"257":{"position":[[0,3]]},"258":{"position":[[0,3]]},"259":{"position":[[0,3]]},"260":{"position":[[0,3]]},"261":{"position":[[0,3]]},"262":{"position":[[0,3]]},"263":{"position":[[0,3]]},"264":{"position":[[0,3]]},"265":{"position":[[0,3]]},"266":{"position":[[0,3]]},"267":{"position":[[0,3]]},"268":{"position":[[0,3]]},"269":{"position":[[0,3]]},"270":{"position":[[0,3]]},"271":{"position":[[0,3]]},"272":{"position":[[0,3]]},"273":{"position":[[0,3]]},"274":{"position":[[0,3]]},"276":{"position":[[0,3],[694,3]]},"277":{"position":[[0,3],[730,3]]},"278":{"position":[[126,3]]},"279":{"position":[[0,3],[264,3]]},"280":{"position":[[326,3]]},"281":{"position":[[0,3],[795,3]]},"282":{"position":[[0,3],[839,3]]},"283":{"position":[[247,3]]},"284":{"position":[[165,3]]},"285":{"position":[[0,3],[128,3]]},"286":{"position":[[0,3],[355,3]]},"288":{"position":[[0,3],[262,3]]},"289":{"position":[[0,3],[282,3]]},"294":{"position":[[0,3]]},"295":{"position":[[0,3]]},"296":{"position":[[0,3]]},"297":{"position":[[0,3]]},"298":{"position":[[0,3],[1205,3],[2464,3]]},"299":{"position":[[0,3]]},"301":{"position":[[0,3]]},"302":{"position":[[0,3]]},"304":{"position":[[0,3]]},"306":{"position":[[0,3],[252,3]]},"307":{"position":[[0,3]]},"308":{"position":[[0,3]]},"309":{"position":[[0,3]]},"310":{"position":[[0,3]]},"311":{"position":[[0,3]]},"312":{"position":[[0,3]]},"314":{"position":[[0,3],[433,3]]},"315":{"position":[[0,3],[237,3]]},"316":{"position":[[0,3],[257,3]]},"317":{"position":[[0,3],[260,3]]},"318":{"position":[[0,3],[399,3]]},"319":{"position":[[0,3],[172,3]]},"320":{"position":[[0,3]]},"322":{"position":[[0,3],[143,3]]},"324":{"position":[[0,3]]},"325":{"position":[[0,3]]},"326":{"position":[[0,3],[413,3]]},"327":{"position":[[0,3],[372,3]]},"328":{"position":[[0,3],[428,3]]},"329":{"position":[[0,3],[414,3]]},"330":{"position":[[0,3],[369,3]]},"331":{"position":[[0,3],[349,3]]},"332":{"position":[[0,3],[370,3]]},"333":{"position":[[0,3]]},"334":{"position":[[0,3],[716,3]]},"335":{"position":[[0,3],[644,3]]},"336":{"position":[[0,3]]},"337":{"position":[[0,3]]},"338":{"position":[[0,3]]},"340":{"position":[[0,3]]},"341":{"position":[[0,3]]},"342":{"position":[[0,3]]},"344":{"position":[[0,3],[426,3]]},"345":{"position":[[0,3],[920,3]]},"346":{"position":[[0,3],[569,3]]},"347":{"position":[[0,3],[465,3]]},"362":{"position":[[0,3]]},"363":{"position":[[0,3]]},"366":{"position":[[0,3]]},"367":{"position":[[0,3]]},"368":{"position":[[0,3],[692,3],[1567,3]]},"372":{"position":[[0,3]]},"373":{"position":[[0,3]]},"374":{"position":[[0,3]]},"375":{"position":[[0,3]]},"377":{"position":[[0,3]]},"379":{"position":[[0,3]]},"386":{"position":[[0,3]]},"389":{"position":[[0,3]]},"396":{"position":[[0,3]]},"397":{"position":[[0,3]]},"398":{"position":[[0,3]]},"399":{"position":[[0,3]]},"400":{"position":[[0,3]]},"403":{"position":[[0,3]]},"405":{"position":[[0,3]]},"409":{"position":[[0,3],[145,3]]},"410":{"position":[[0,3]]},"411":{"position":[[0,3]]},"412":{"position":[[0,3]]},"413":{"position":[[0,3],[93,3]]},"414":{"position":[[0,3]]},"415":{"position":[[0,3]]},"416":{"position":[[0,3],[723,3]]},"417":{"position":[[0,3],[953,3]]},"418":{"position":[[0,3]]},"419":{"position":[[0,3]]},"420":{"position":[[0,3]]},"421":{"position":[[0,3]]},"422":{"position":[[0,3],[79,3]]},"423":{"position":[[0,3]]},"424":{"position":[[0,3]]},"425":{"position":[[0,3]]},"427":{"position":[[0,3]]},"428":{"position":[[0,3]]},"429":{"position":[[0,3]]},"430":{"position":[[0,3]]},"431":{"position":[[0,3]]},"432":{"position":[[0,3]]},"433":{"position":[[0,3]]},"434":{"position":[[0,3]]},"435":{"position":[[0,3]]},"436":{"position":[[0,3]]},"437":{"position":[[0,3],[311,3]]},"438":{"position":[[0,3]]},"439":{"position":[[0,3]]},"440":{"position":[[0,3]]},"441":{"position":[[0,3],[218,3]]},"442":{"position":[[0,3]]},"443":{"position":[[0,3]]},"444":{"position":[[0,3]]},"445":{"position":[[0,3]]},"446":{"position":[[0,3]]},"447":{"position":[[0,3]]},"448":{"position":[[0,3]]},"449":{"position":[[0,3],[149,3]]},"450":{"position":[[0,3]]},"451":{"position":[[0,3]]},"453":{"position":[[0,3]]},"454":{"position":[[0,3]]},"457":{"position":[[0,3]]},"459":{"position":[[141,3]]},"460":{"position":[[130,3]]},"461":{"position":[[112,3]]},"462":{"position":[[249,3]]},"463":{"position":[[185,3]]},"465":{"position":[[0,3]]},"466":{"position":[[0,3]]},"467":{"position":[[0,3],[294,3]]},"468":{"position":[[0,3],[253,3]]},"469":{"position":[[0,3],[309,3]]},"470":{"position":[[0,3],[354,3]]},"471":{"position":[[0,3],[250,3]]},"472":{"position":[[0,3],[230,3]]},"473":{"position":[[0,3],[251,3]]},"474":{"position":[[0,3],[455,3]]},"475":{"position":[[0,3],[406,3]]},"476":{"position":[[0,3]]},"477":{"position":[[0,3],[194,3]]},"478":{"position":[[0,3],[257,3]]},"480":{"position":[[77,3]]},"481":{"position":[[0,3],[160,3]]},"483":{"position":[[80,3]]},"484":{"position":[[0,3],[132,3]]},"487":{"position":[[0,3]]},"491":{"position":[[0,3]]},"492":{"position":[[0,3],[241,3]]},"500":{"position":[[0,3]]},"501":{"position":[[0,3]]},"502":{"position":[[0,3]]},"503":{"position":[[0,3]]},"505":{"position":[[0,3]]},"508":{"position":[[0,3]]},"510":{"position":[[0,3],[294,3]]},"511":{"position":[[0,3],[314,3]]},"513":{"position":[[0,3],[90,3]]},"514":{"position":[[0,3],[86,3]]},"516":{"position":[[0,3]]},"520":{"position":[[0,3]]},"525":{"position":[[0,3]]},"528":{"position":[[0,3],[124,3]]},"532":{"position":[[0,3]]},"534":{"position":[[0,3]]},"535":{"position":[[0,3]]},"537":{"position":[[0,3]]},"542":{"position":[[0,3]]},"548":{"position":[[0,3],[241,3]]},"553":{"position":[[0,3]]},"554":{"position":[[0,3]]},"555":{"position":[[0,3]]},"556":{"position":[[0,3]]},"557":{"position":[[0,3]]},"558":{"position":[[0,3]]},"559":{"position":[[0,3]]},"560":{"position":[[0,3]]},"561":{"position":[[0,3]]},"563":{"position":[[0,3]]},"564":{"position":[[0,3]]},"565":{"position":[[0,3]]},"566":{"position":[[0,3]]},"567":{"position":[[0,3]]},"568":{"position":[[0,3]]},"569":{"position":[[0,3]]},"589":{"position":[[0,3]]},"590":{"position":[[0,3]]},"591":{"position":[[0,3]]},"592":{"position":[[0,3]]},"593":{"position":[[0,3]]},"594":{"position":[[0,3]]},"595":{"position":[[0,3]]},"596":{"position":[[0,3]]},"597":{"position":[[0,3]]},"598":{"position":[[0,3]]},"599":{"position":[[0,3]]},"600":{"position":[[0,3]]},"601":{"position":[[0,3]]},"602":{"position":[[0,3]]},"603":{"position":[[0,3]]},"604":{"position":[[0,3]]},"605":{"position":[[0,3]]},"606":{"position":[[0,3]]},"607":{"position":[[0,3]]},"608":{"position":[[0,3]]},"609":{"position":[[0,3]]},"610":{"position":[[0,3]]},"611":{"position":[[0,3]]},"612":{"position":[[0,3]]},"613":{"position":[[0,3]]},"614":{"position":[[0,3]]},"615":{"position":[[0,3]]},"616":{"position":[[0,3]]},"617":{"position":[[0,3]]},"618":{"position":[[0,3]]},"619":{"position":[[0,3]]},"620":{"position":[[0,3]]},"621":{"position":[[0,3]]},"627":{"position":[[0,3]]},"628":{"position":[[0,3]]},"629":{"position":[[0,3]]},"630":{"position":[[0,3]]},"631":{"position":[[0,3]]},"632":{"position":[[0,3]]},"633":{"position":[[0,3]]},"634":{"position":[[0,3]]},"635":{"position":[[0,3]]},"636":{"position":[[0,3]]},"637":{"position":[[0,3]]},"638":{"position":[[0,3]]},"639":{"position":[[0,3]]},"640":{"position":[[0,3]]},"641":{"position":[[0,3]]},"642":{"position":[[0,3]]},"643":{"position":[[0,3]]},"644":{"position":[[0,3]]},"645":{"position":[[0,3]]},"646":{"position":[[0,3]]},"647":{"position":[[0,3]]},"648":{"position":[[0,3]]},"649":{"position":[[0,3]]},"651":{"position":[[0,3]]},"652":{"position":[[0,3]]},"653":{"position":[[0,3]]},"654":{"position":[[0,3]]},"655":{"position":[[0,3]]},"656":{"position":[[0,3]]},"657":{"position":[[0,3]]},"658":{"position":[[0,3]]},"659":{"position":[[0,3]]},"660":{"position":[[0,3]]},"661":{"position":[[0,3]]},"662":{"position":[[0,3]]},"663":{"position":[[0,3]]},"664":{"position":[[0,3]]},"665":{"position":[[0,3]]},"666":{"position":[[0,3]]},"668":{"position":[[0,3]]},"669":{"position":[[0,3]]},"670":{"position":[[0,3]]},"671":{"position":[[0,3]]},"673":{"position":[[0,3]]},"711":{"position":[[1311,3]]},"712":{"position":[[214,3],[972,3],[1488,3],[3087,3]]},"741":{"position":[[0,3]]},"742":{"position":[[0,3]]},"745":{"position":[[0,3]]},"746":{"position":[[0,3]]},"747":{"position":[[0,3],[692,3],[1567,3]]},"751":{"position":[[0,3]]},"752":{"position":[[0,3]]},"753":{"position":[[0,3]]},"754":{"position":[[0,3]]},"756":{"position":[[0,3]]},"758":{"position":[[0,3]]},"765":{"position":[[0,3]]},"768":{"position":[[0,3]]},"775":{"position":[[0,3]]},"776":{"position":[[0,3]]},"777":{"position":[[0,3]]},"778":{"position":[[0,3]]},"779":{"position":[[0,3]]},"782":{"position":[[0,3]]},"784":{"position":[[0,3]]},"788":{"position":[[0,3],[145,3]]},"789":{"position":[[0,3]]},"790":{"position":[[0,3]]},"791":{"position":[[0,3]]},"792":{"position":[[0,3],[93,3]]},"793":{"position":[[0,3]]},"794":{"position":[[0,3]]},"795":{"position":[[0,3],[723,3]]},"796":{"position":[[0,3],[953,3]]},"797":{"position":[[0,3]]},"798":{"position":[[0,3]]},"799":{"position":[[0,3]]},"800":{"position":[[0,3]]},"801":{"position":[[0,3],[79,3]]},"802":{"position":[[0,3]]},"803":{"position":[[0,3]]},"804":{"position":[[0,3]]},"806":{"position":[[0,3]]},"807":{"position":[[0,3]]},"808":{"position":[[0,3]]},"809":{"position":[[0,3]]},"810":{"position":[[0,3]]},"811":{"position":[[0,3]]},"812":{"position":[[0,3]]},"813":{"position":[[0,3]]},"814":{"position":[[0,3]]},"815":{"position":[[0,3]]},"816":{"position":[[0,3],[311,3]]},"817":{"position":[[0,3]]},"818":{"position":[[0,3]]},"819":{"position":[[0,3]]},"820":{"position":[[0,3],[218,3]]},"821":{"position":[[0,3]]},"822":{"position":[[0,3]]},"823":{"position":[[0,3]]},"824":{"position":[[0,3]]},"825":{"position":[[0,3]]},"826":{"position":[[0,3]]},"827":{"position":[[0,3]]},"828":{"position":[[0,3],[149,3]]},"829":{"position":[[0,3]]},"830":{"position":[[0,3]]},"840":{"position":[[224,3],[926,3]]},"850":{"position":[[159,3],[798,3]]},"851":{"position":[[109,3],[1793,3]]},"852":{"position":[[80,3]]},"853":{"position":[[131,3]]},"854":{"position":[[159,3]]},"856":{"position":[[496,3]]},"859":{"position":[[52,3],[153,3]]},"860":{"position":[[187,3]]},"864":{"position":[[413,3],[997,3]]},"878":{"position":[[244,3],[695,3]]},"890":{"position":[[255,4],[378,3],[398,3],[1466,3],[3381,3]]},"898":{"position":[[1259,3],[1917,4]]},"905":{"position":[[726,3]]},"906":{"position":[[134,3],[465,3],[904,3]]},"930":{"position":[[37,3]]},"931":{"position":[[0,3]]},"950":{"position":[[903,3]]},"981":{"position":[[196,3]]},"991":{"position":[[882,3]]},"1001":{"position":[[56,3],[1176,3]]},"1004":{"position":[[948,3]]},"1009":{"position":[[453,3]]},"1026":{"position":[[1080,3]]},"1040":{"position":[[1938,4],[2107,3],[2386,3]]},"1044":{"position":[[3130,3]]},"1047":{"position":[[80,3],[265,3],[280,3]]},"1048":{"position":[[516,3],[910,3],[939,3]]},"1049":{"position":[[737,3],[1186,3]]},"1054":{"position":[[235,3],[1671,3]]},"1064":{"position":[[21,3],[1162,3],[1556,3]]},"1065":{"position":[[20,3]]},"1082":{"position":[[712,3]]},"1083":{"position":[[548,3]]},"1086":{"position":[[438,3]]},"1102":{"position":[[488,3]]},"1103":{"position":[[131,3]]},"1348":{"position":[[0,3]]},"1349":{"position":[[0,3]]},"1350":{"position":[[0,3]]},"1351":{"position":[[0,3]]},"1352":{"position":[[0,3]]},"1353":{"position":[[0,3]]},"1354":{"position":[[0,3]]},"1355":{"position":[[0,3]]},"1356":{"position":[[0,3]]},"1357":{"position":[[0,3]]},"1358":{"position":[[0,3]]},"1359":{"position":[[0,3]]},"1360":{"position":[[0,3]]},"1361":{"position":[[0,3]]},"1362":{"position":[[0,3]]},"1363":{"position":[[0,3]]},"1364":{"position":[[0,3]]},"1365":{"position":[[0,3]]},"1366":{"position":[[0,3]]},"1367":{"position":[[0,3]]},"1368":{"position":[[0,3]]},"1369":{"position":[[0,3]]},"1370":{"position":[[0,3]]},"1371":{"position":[[0,3]]},"1372":{"position":[[0,3]]},"1373":{"position":[[0,3]]},"1374":{"position":[[0,3]]},"1375":{"position":[[0,3]]},"1376":{"position":[[0,3]]},"1377":{"position":[[0,3]]},"1378":{"position":[[0,3]]},"1379":{"position":[[0,3]]},"1380":{"position":[[0,3]]},"1381":{"position":[[0,3]]},"1382":{"position":[[0,3]]},"1383":{"position":[[0,3]]},"1384":{"position":[[0,3]]},"1385":{"position":[[0,3]]},"1386":{"position":[[0,3]]},"1387":{"position":[[0,3]]},"1388":{"position":[[0,3]]},"1389":{"position":[[0,3]]},"1390":{"position":[[0,3]]},"1391":{"position":[[0,3]]},"1392":{"position":[[0,3]]},"1393":{"position":[[0,3]]},"1394":{"position":[[0,3]]},"1395":{"position":[[0,3]]},"1396":{"position":[[0,3]]},"1397":{"position":[[0,3]]},"1398":{"position":[[0,3]]},"1399":{"position":[[0,3]]},"1400":{"position":[[0,3]]},"1401":{"position":[[0,3]]},"1402":{"position":[[0,3]]},"1403":{"position":[[0,3]]},"1404":{"position":[[0,3]]},"1405":{"position":[[0,3]]},"1406":{"position":[[0,3]]},"1407":{"position":[[0,3]]},"1408":{"position":[[0,3]]},"1409":{"position":[[0,3]]},"1410":{"position":[[0,3]]},"1411":{"position":[[0,3]]},"1412":{"position":[[0,3]]},"1413":{"position":[[0,3]]},"1414":{"position":[[0,3]]},"1415":{"position":[[0,3]]},"1416":{"position":[[0,3]]},"1417":{"position":[[0,3]]},"1418":{"position":[[0,3]]},"1419":{"position":[[0,3]]},"1420":{"position":[[0,3]]},"1421":{"position":[[0,3]]},"1422":{"position":[[0,3]]},"1423":{"position":[[0,3]]},"1424":{"position":[[0,3]]},"1425":{"position":[[0,3]]},"1426":{"position":[[0,3]]},"1427":{"position":[[0,3]]},"1428":{"position":[[0,3]]},"1429":{"position":[[0,3]]},"1430":{"position":[[0,3]]},"1431":{"position":[[0,3]]},"1432":{"position":[[0,3]]},"1433":{"position":[[0,3]]},"1434":{"position":[[0,3]]},"1435":{"position":[[0,3]]},"1436":{"position":[[0,3]]},"1437":{"position":[[0,3]]},"1438":{"position":[[0,3]]},"1439":{"position":[[0,3]]},"1440":{"position":[[0,3]]},"1441":{"position":[[0,3]]},"1442":{"position":[[0,3]]},"1443":{"position":[[0,3]]},"1444":{"position":[[0,3]]},"1445":{"position":[[0,3]]},"1446":{"position":[[0,3]]},"1447":{"position":[[0,3]]},"1448":{"position":[[0,3]]},"1449":{"position":[[0,3]]},"1450":{"position":[[0,3]]},"1451":{"position":[[0,3]]},"1452":{"position":[[0,3]]},"1453":{"position":[[0,3]]},"1454":{"position":[[0,3]]},"1455":{"position":[[0,3]]},"1456":{"position":[[0,3]]},"1457":{"position":[[0,3]]},"1458":{"position":[[0,3]]},"1459":{"position":[[0,3]]},"1460":{"position":[[0,3]]},"1461":{"position":[[0,3]]},"1462":{"position":[[0,3]]},"1463":{"position":[[0,3]]},"1464":{"position":[[0,3]]},"1465":{"position":[[0,3]]},"1466":{"position":[[0,3]]},"1467":{"position":[[0,3]]},"1468":{"position":[[0,3]]},"1469":{"position":[[0,3]]},"1470":{"position":[[0,3]]},"1471":{"position":[[0,3]]},"1472":{"position":[[0,3]]},"1473":{"position":[[0,3]]},"1474":{"position":[[0,3]]},"1475":{"position":[[0,3]]},"1476":{"position":[[0,3]]},"1477":{"position":[[0,3]]},"1478":{"position":[[0,3]]},"1479":{"position":[[0,3]]},"1480":{"position":[[0,3]]},"1481":{"position":[[0,3]]},"1482":{"position":[[0,3]]},"1483":{"position":[[0,3]]},"1484":{"position":[[0,3]]},"1485":{"position":[[0,3]]},"1486":{"position":[[0,3]]},"1487":{"position":[[0,3]]}},"keywords":{}}],["def'.startswith(('a",{"_index":3011,"title":{},"content":{"618":{"position":[[415,22]]}},"keywords":{}}],["default",{"_index":255,"title":{},"content":{"9":{"position":[[1672,8]]},"16":{"position":[[54,7]]},"18":{"position":[[370,7],[2307,7]]},"22":{"position":[[1968,8]]},"24":{"position":[[649,7]]},"69":{"position":[[238,8]]},"99":{"position":[[1334,9],[1626,9]]},"125":{"position":[[42,7]]},"126":{"position":[[38,7]]},"127":{"position":[[18,7]]},"129":{"position":[[71,7]]},"130":{"position":[[123,7]]},"131":{"position":[[176,7]]},"132":{"position":[[75,7]]},"133":{"position":[[61,7]]},"134":{"position":[[65,7]]},"135":{"position":[[17,7]]},"136":{"position":[[19,7]]},"137":{"position":[[40,7]]},"138":{"position":[[72,7]]},"139":{"position":[[35,7]]},"140":{"position":[[42,7],[289,7]]},"141":{"position":[[31,7]]},"143":{"position":[[19,7]]},"144":{"position":[[66,7]]},"145":{"position":[[52,7]]},"146":{"position":[[82,7]]},"147":{"position":[[21,7]]},"148":{"position":[[70,7]]},"149":{"position":[[76,7]]},"150":{"position":[[34,7]]},"231":{"position":[[1334,9],[1626,9]]},"243":{"position":[[385,7],[539,7]]},"248":{"position":[[42,7]]},"249":{"position":[[38,7]]},"250":{"position":[[18,7]]},"252":{"position":[[71,7]]},"253":{"position":[[123,7]]},"254":{"position":[[176,7]]},"255":{"position":[[75,7]]},"256":{"position":[[61,7]]},"257":{"position":[[65,7]]},"258":{"position":[[17,7]]},"259":{"position":[[19,7]]},"260":{"position":[[40,7]]},"261":{"position":[[72,7]]},"262":{"position":[[35,7]]},"263":{"position":[[42,7],[289,7]]},"264":{"position":[[31,7]]},"266":{"position":[[19,7]]},"267":{"position":[[66,7]]},"268":{"position":[[52,7]]},"269":{"position":[[82,7]]},"270":{"position":[[21,7]]},"271":{"position":[[70,7]]},"272":{"position":[[76,7]]},"273":{"position":[[34,7]]},"288":{"position":[[441,8]]},"289":{"position":[[461,8]]},"298":{"position":[[1030,8]]},"318":{"position":[[283,8]]},"338":{"position":[[400,7]]},"346":{"position":[[289,8]]},"368":{"position":[[2979,7],[3396,7]]},"374":{"position":[[1414,7],[1478,7],[1613,7]]},"408":{"position":[[768,8]]},"420":{"position":[[39,7]]},"428":{"position":[[30,7]]},"429":{"position":[[40,7]]},"433":{"position":[[46,8]]},"437":{"position":[[630,7]]},"457":{"position":[[238,8]]},"510":{"position":[[502,8]]},"511":{"position":[[522,8]]},"554":{"position":[[18,7],[96,9],[255,7]]},"557":{"position":[[18,7],[108,9],[267,7]]},"559":{"position":[[25,7],[151,9],[328,7]]},"595":{"position":[[1233,8]]},"642":{"position":[[18,7]]},"645":{"position":[[27,7]]},"663":{"position":[[897,7],[1051,10]]},"666":{"position":[[449,7]]},"693":{"position":[[2940,8]]},"702":{"position":[[464,7]]},"705":{"position":[[191,9]]},"717":{"position":[[55,7]]},"722":{"position":[[945,7]]},"747":{"position":[[2979,7],[3396,7]]},"753":{"position":[[1414,7],[1478,7],[1613,7]]},"787":{"position":[[768,8]]},"799":{"position":[[39,7]]},"807":{"position":[[30,7]]},"808":{"position":[[40,7]]},"812":{"position":[[46,8]]},"816":{"position":[[630,7]]},"901":{"position":[[852,7],[1005,10]]},"944":{"position":[[1184,8]]},"993":{"position":[[176,7]]},"997":{"position":[[173,8]]},"1001":{"position":[[365,10]]},"1004":{"position":[[607,8]]},"1006":{"position":[[563,7]]},"1014":{"position":[[498,7]]},"1021":{"position":[[748,7]]},"1044":{"position":[[2422,7]]},"1064":{"position":[[463,10]]},"1070":{"position":[[192,7],[321,7]]},"1072":{"position":[[3,8],[214,7],[1068,7]]},"1079":{"position":[[545,7]]},"1088":{"position":[[70,8],[282,9]]},"1103":{"position":[[1971,8]]},"1104":{"position":[[954,10]]},"1136":{"position":[[388,7],[2155,9],[2881,8],[2956,8],[4023,7],[4137,9],[5081,9],[6162,8],[6465,9]]},"1138":{"position":[[824,7],[843,7],[869,8],[885,7],[911,7],[941,8],[1007,8],[1083,8],[1139,8],[1197,8],[1766,8],[2273,8],[4236,7],[6543,8],[6618,8],[7685,7],[7799,9],[8743,9],[9824,8],[10127,9]]},"1140":{"position":[[1255,8],[1762,8],[3725,7],[5469,8],[5544,8],[6611,7],[6725,9],[7669,9],[8750,8],[9053,9]]},"1142":{"position":[[913,8],[988,8],[2055,7],[2169,9],[3113,9],[4194,8],[4497,9]]},"1144":{"position":[[522,8],[825,9]]},"1146":{"position":[[853,8],[928,8],[1995,7],[2109,9],[3053,9],[4134,8],[4437,9]]},"1148":{"position":[[2511,9],[3893,8],[3968,8],[5035,7],[5149,9],[6093,9],[7725,8],[8028,9]]},"1150":{"position":[[757,8],[1060,9]]},"1152":{"position":[[455,8],[758,9]]},"1154":{"position":[[610,8],[913,9]]},"1155":{"position":[[430,9],[505,9],[590,9],[949,8],[1024,8],[2091,7],[2205,9],[3149,9],[4230,8],[4533,9]]},"1156":{"position":[[527,8],[602,8],[1669,7],[1783,9],[2727,9],[3808,8],[4111,9]]},"1157":{"position":[[145,9],[393,8],[696,9]]},"1158":{"position":[[139,9],[387,8],[690,9]]},"1159":{"position":[[139,9],[387,8],[690,9]]},"1161":{"position":[[161,9],[620,9],[1382,8],[1685,9]]},"1163":{"position":[[768,8],[1071,9]]},"1165":{"position":[[597,8],[900,9]]},"1167":{"position":[[2259,8],[2766,8],[4729,7],[6473,8],[6548,8],[7615,7],[7729,9],[8673,9],[9754,8],[10057,9]]},"1169":{"position":[[312,8],[387,8],[1454,7],[1568,9],[2862,8],[3165,9]]},"1171":{"position":[[1103,8],[1406,9]]},"1172":{"position":[[1253,9],[2488,8],[2791,9]]},"1173":{"position":[[553,9],[1175,8],[1478,9]]},"1174":{"position":[[603,8],[906,9]]},"1175":{"position":[[599,8],[902,9]]},"1176":{"position":[[768,8],[1071,9]]},"1177":{"position":[[689,8],[992,9]]},"1178":{"position":[[755,9],[1006,8],[1309,9]]},"1179":{"position":[[493,9],[803,8],[1106,9]]},"1180":{"position":[[823,9],[1074,8],[1377,9]]},"1181":{"position":[[832,9],[1594,8],[1897,9]]},"1182":{"position":[[637,8],[940,9]]},"1183":{"position":[[592,8],[895,9]]},"1185":{"position":[[437,8],[740,9]]},"1186":{"position":[[2117,8],[2192,8],[3259,7],[3373,9],[4317,9],[5398,8],[5701,9]]},"1187":{"position":[[2130,8],[2205,8],[3272,7],[3386,9],[4330,9],[5411,8],[5714,9]]},"1188":{"position":[[1308,8],[1815,8],[3778,7],[6856,8],[6931,8],[7998,7],[8112,9],[9056,9],[10137,8],[10440,9]]},"1190":{"position":[[1768,8],[2071,9]]},"1191":{"position":[[717,8],[792,8],[1859,7],[1973,9],[2917,9],[3998,8],[4301,9]]},"1192":{"position":[[892,8],[967,8],[2034,7],[2148,9],[3092,9],[4173,8],[4476,9]]},"1193":{"position":[[521,9],[607,9],[944,8],[1019,8],[2086,7],[2200,9],[3144,9],[4225,8],[4528,9]]},"1194":{"position":[[584,8],[659,8],[1726,7],[1840,9],[2784,9],[3865,8],[4168,9]]},"1195":{"position":[[562,8],[637,8],[1704,7],[1818,9],[2762,9],[3843,8],[4146,9]]},"1196":{"position":[[372,8],[447,8],[1514,7],[1628,9],[2572,9],[3653,8],[3956,9]]},"1197":{"position":[[1355,8],[1430,8],[2497,7],[2611,9],[3555,9],[4636,8],[4939,9]]},"1198":{"position":[[273,7],[1365,8],[1440,8],[2507,7],[2621,9],[3565,9],[4646,8],[4949,9]]},"1199":{"position":[[1393,8],[1468,8],[2535,7],[2649,9],[3593,9],[4674,8],[4977,9]]},"1200":{"position":[[1260,8],[1335,8],[2402,7],[2516,9],[3460,9],[4541,8],[4844,9]]},"1201":{"position":[[520,8],[595,8],[1662,7],[1776,9],[2720,9],[3801,8],[4104,9]]},"1202":{"position":[[545,8],[848,9],[1662,8],[1737,8],[2804,7],[2918,9],[3862,9],[4943,8],[5246,9],[6059,8],[6134,8],[7201,7],[7315,9],[8259,9],[9340,8],[9643,9]]},"1203":{"position":[[754,8],[829,8],[1896,7],[2010,9],[2954,9],[4035,8],[4338,9]]},"1204":{"position":[[598,8],[673,8],[1740,7],[1854,9],[2798,9],[3879,8],[4182,9],[4781,8],[5084,9],[5711,8],[6014,9],[6613,8],[6916,9],[7599,8],[7902,9],[8553,8],[8856,9],[9297,9],[9500,8],[9803,9],[10430,8],[10733,9]]},"1205":{"position":[[1927,8],[2002,8],[3069,7],[3183,9],[4127,9],[5208,8],[5511,9]]},"1206":{"position":[[398,8],[473,8],[1540,7],[1654,9],[2598,9],[3907,8],[4210,9]]},"1207":{"position":[[555,8],[630,8],[1697,7],[1811,9],[2755,9],[3836,8],[4139,9]]},"1209":{"position":[[1388,9],[1903,8],[1978,8],[3045,7],[3159,9],[4103,9],[5184,8],[5487,9]]},"1211":{"position":[[129,9],[508,8],[811,9]]},"1213":{"position":[[279,8],[582,9]]},"1215":{"position":[[363,8],[666,9]]},"1217":{"position":[[1000,8],[1507,8],[3470,7],[5214,8],[5289,8],[6356,7],[6470,9],[7414,9],[8495,8],[8798,9]]},"1219":{"position":[[1200,8],[1275,8],[2342,7],[2456,9],[3750,8],[4053,9]]},"1221":{"position":[[482,8],[785,9]]},"1222":{"position":[[324,8],[399,8],[1466,7],[1580,9],[2524,9],[3621,8],[3924,9]]},"1223":{"position":[[334,8],[409,8],[1476,7],[1590,9],[2534,9],[3631,8],[3934,9]]},"1224":{"position":[[514,8],[589,8],[1656,7],[1770,9],[3064,8],[3367,9]]},"1226":{"position":[[662,9],[911,9],[1875,9],[2117,9],[3141,8],[3170,7],[3288,7],[5044,9],[5172,8],[5682,8],[5757,8],[6824,7],[6938,9],[7882,9],[8963,8],[9266,9]]},"1228":{"position":[[754,7],[2191,7],[2719,7],[3081,8],[3588,8],[5551,7],[7295,8],[7370,8],[8437,7],[8551,9],[9495,9],[10576,8],[10879,9]]},"1235":{"position":[[2648,9],[3163,8],[3238,8],[4305,7],[4419,9],[5363,9],[6444,8],[6747,9]]},"1237":{"position":[[832,9],[1081,9],[2045,9],[2287,9],[3311,8],[3340,7],[3458,7],[5214,9],[5342,8],[5852,8],[5927,8],[6994,7],[7108,9],[8052,9],[9133,8],[9436,9]]},"1239":{"position":[[39,8]]},"1345":{"position":[[383,7],[1248,8]]},"1348":{"position":[[2771,7],[3971,8]]},"1349":{"position":[[916,7]]},"1350":{"position":[[3887,7]]},"1351":{"position":[[1107,7]]},"1352":{"position":[[3886,7]]},"1353":{"position":[[1490,7]]},"1354":{"position":[[1328,7],[3020,7]]},"1355":{"position":[[2467,7]]},"1356":{"position":[[834,7]]},"1357":{"position":[[507,7]]},"1358":{"position":[[1228,7]]},"1359":{"position":[[1065,7]]},"1360":{"position":[[1696,7]]},"1361":{"position":[[1055,7]]},"1362":{"position":[[926,9],[5419,7],[8699,8],[10411,7]]},"1363":{"position":[[3165,7],[4074,9],[4101,9],[4126,9],[4158,9],[4189,9],[4224,9],[4271,9],[5689,7]]},"1364":{"position":[[943,9],[5448,7],[9252,8],[9813,8],[11525,7]]},"1365":{"position":[[989,7]]},"1366":{"position":[[1195,7]]},"1367":{"position":[[1957,9],[6846,7],[8787,8],[11328,7],[14207,7],[14326,7]]},"1368":{"position":[[1545,7]]},"1369":{"position":[[597,7]]},"1370":{"position":[[844,7],[2028,8],[2178,8]]},"1371":{"position":[[473,7]]},"1372":{"position":[[2111,7]]},"1373":{"position":[[800,9],[2983,7],[5796,8],[5887,8],[5992,7]]},"1374":{"position":[[879,7]]},"1375":{"position":[[509,7]]},"1376":{"position":[[465,7]]},"1377":{"position":[[704,7]]},"1378":{"position":[[451,7]]},"1379":{"position":[[474,7]]},"1380":{"position":[[945,7]]},"1381":{"position":[[851,7]]},"1382":{"position":[[848,9],[3331,7],[5411,8],[7137,7]]},"1383":{"position":[[1569,7],[8945,7]]},"1384":{"position":[[789,9],[4493,7],[10358,8],[13491,7],[18334,7]]},"1385":{"position":[[554,9],[2170,7],[3325,8]]},"1386":{"position":[[808,7]]},"1387":{"position":[[896,9],[4439,7],[5658,8]]},"1388":{"position":[[981,9],[3631,7],[8006,7],[10247,7]]},"1389":{"position":[[4492,7],[5772,7]]},"1390":{"position":[[744,7]]},"1391":{"position":[[697,7]]},"1392":{"position":[[847,7],[2371,7]]},"1393":{"position":[[1419,7],[6963,7],[7511,7],[8797,8],[8899,8],[9718,7]]},"1394":{"position":[[867,7]]},"1395":{"position":[[876,7],[2494,7],[2852,7],[3205,7],[3492,7]]},"1396":{"position":[[673,7]]},"1397":{"position":[[854,7],[2678,7],[2934,7],[3373,7]]},"1398":{"position":[[1526,7],[3852,7],[4457,7],[5126,7],[5656,7]]},"1399":{"position":[[709,7]]},"1400":{"position":[[578,7]]},"1401":{"position":[[653,7]]},"1402":{"position":[[809,7]]},"1403":{"position":[[1399,7],[4243,7],[4395,7],[4427,7],[6253,8],[6326,7],[8928,7],[9088,7]]},"1404":{"position":[[642,7]]},"1405":{"position":[[1333,7],[3316,7]]},"1406":{"position":[[549,7]]},"1407":{"position":[[1374,7],[3737,7]]},"1408":{"position":[[1070,7],[2160,8],[2251,8],[2356,7]]},"1409":{"position":[[604,7]]},"1410":{"position":[[1766,7],[4325,8],[4448,8],[4724,7],[5470,7]]},"1411":{"position":[[587,7]]},"1412":{"position":[[1787,7]]},"1413":{"position":[[1971,7]]},"1414":{"position":[[838,7]]},"1415":{"position":[[634,9],[2820,7]]},"1416":{"position":[[1472,7],[3046,7]]},"1417":{"position":[[1061,7]]},"1418":{"position":[[762,7]]},"1419":{"position":[[890,7]]},"1420":{"position":[[1154,7]]},"1421":{"position":[[1129,7]]},"1422":{"position":[[1032,7],[2215,7],[2358,7]]},"1423":{"position":[[1021,7],[2028,7]]},"1424":{"position":[[1146,7]]},"1425":{"position":[[762,7]]},"1426":{"position":[[1105,7]]},"1427":{"position":[[2002,7],[4188,10],[4316,7]]},"1428":{"position":[[744,7]]},"1429":{"position":[[2666,7],[3625,7],[5967,7]]},"1430":{"position":[[1520,7]]},"1431":{"position":[[864,7]]},"1432":{"position":[[1385,7]]},"1433":{"position":[[906,7]]},"1434":{"position":[[580,7]]},"1435":{"position":[[544,7]]},"1436":{"position":[[560,7]]},"1437":{"position":[[630,7]]},"1438":{"position":[[764,7]]},"1439":{"position":[[2288,7],[5078,7]]},"1440":{"position":[[2854,7],[5867,7]]},"1441":{"position":[[586,7]]},"1442":{"position":[[659,7]]},"1443":{"position":[[881,7]]},"1444":{"position":[[797,7]]},"1445":{"position":[[486,7]]},"1446":{"position":[[820,7],[1915,8],[2632,7]]},"1447":{"position":[[702,7]]},"1448":{"position":[[1137,7]]},"1449":{"position":[[1071,7]]},"1450":{"position":[[950,7]]},"1451":{"position":[[950,7]]},"1452":{"position":[[496,7]]},"1453":{"position":[[1082,7]]},"1454":{"position":[[3448,7],[7262,8]]},"1455":{"position":[[1335,7]]},"1456":{"position":[[680,7]]},"1457":{"position":[[739,7],[1747,8],[1838,8]]},"1458":{"position":[[1274,7]]},"1459":{"position":[[753,7]]},"1460":{"position":[[865,7]]},"1461":{"position":[[1080,7]]},"1462":{"position":[[1179,9],[4461,7],[8249,7],[8855,7]]},"1463":{"position":[[587,7]]},"1464":{"position":[[495,7]]},"1465":{"position":[[1593,7],[4209,7]]},"1466":{"position":[[831,7]]},"1467":{"position":[[1246,9],[5150,7],[8518,7],[9311,7],[10489,7],[10626,7]]},"1468":{"position":[[595,7]]},"1469":{"position":[[968,7],[1824,7],[3190,7]]},"1470":{"position":[[3497,7]]},"1471":{"position":[[1831,7],[3122,7],[3415,7],[5165,7]]},"1472":{"position":[[1790,7],[2841,7],[3999,7],[5650,7],[6051,7]]},"1473":{"position":[[2105,7],[3156,7],[3449,7],[5615,7]]},"1474":{"position":[[1496,7]]},"1475":{"position":[[1967,7]]},"1476":{"position":[[572,7]]},"1477":{"position":[[724,7],[1532,8]]},"1478":{"position":[[1215,7]]},"1479":{"position":[[664,7]]},"1480":{"position":[[1077,7]]},"1481":{"position":[[1610,7]]},"1482":{"position":[[684,7]]},"1483":{"position":[[518,7]]},"1484":{"position":[[590,7]]},"1485":{"position":[[850,7],[1693,8]]},"1486":{"position":[[1094,7]]},"1487":{"position":[[789,7],[1908,10],[2243,7]]}},"keywords":{}}],["default"",{"_index":5514,"title":{},"content":{"1072":{"position":[[939,14],[1469,14]]}},"keywords":{}}],["default)d",{"_index":5772,"title":{},"content":{"1120":{"position":[[534,9]]}},"keywords":{}}],["default=255",{"_index":3155,"title":{},"content":{"642":{"position":[[180,13]]}},"keywords":{}}],["default_cxx_platform",{"_index":7810,"title":{},"content":{"1413":{"position":[[597,21]]},"1426":{"position":[[531,21]]},"1429":{"position":[[857,21]]},"1440":{"position":[[931,21]]},"1470":{"position":[[1010,21]]},"1475":{"position":[[633,21]]}},"keywords":{}}],["default_executor",{"_index":2009,"title":{},"content":{"374":{"position":[[159,16],[1370,17]]},"753":{"position":[[159,16],[1370,17]]},"1072":{"position":[[1143,16]]}},"keywords":{}}],["default_host_platform",{"_index":6344,"title":{},"content":{"1348":{"position":[[973,22]]},"1349":{"position":[[628,22]]},"1350":{"position":[[1409,22]]},"1351":{"position":[[519,22]]},"1352":{"position":[[1408,22]]},"1353":{"position":[[670,22]]},"1354":{"position":[[605,22]]},"1355":{"position":[[933,22]]},"1356":{"position":[[415,22]]},"1358":{"position":[[577,22]]},"1359":{"position":[[534,22]]},"1360":{"position":[[693,22]]},"1361":{"position":[[415,22]]},"1362":{"position":[[853,22]]},"1363":{"position":[[1625,22]]},"1364":{"position":[[870,22]]},"1365":{"position":[[467,22]]},"1366":{"position":[[527,22]]},"1367":{"position":[[1884,22]]},"1368":{"position":[[698,22]]},"1369":{"position":[[422,22]]},"1373":{"position":[[727,22]]},"1374":{"position":[[454,22]]},"1377":{"position":[[441,22]]},"1380":{"position":[[385,22]]},"1381":{"position":[[443,22]]},"1382":{"position":[[775,22]]},"1383":{"position":[[621,22]]},"1384":{"position":[[716,22]]},"1385":{"position":[[481,22]]},"1386":{"position":[[392,22]]},"1387":{"position":[[823,22]]},"1388":{"position":[[908,22]]},"1389":{"position":[[2094,22]]},"1390":{"position":[[378,22]]},"1391":{"position":[[379,22]]},"1392":{"position":[[376,22]]},"1399":{"position":[[381,22]]},"1400":{"position":[[403,22]]},"1401":{"position":[[395,22]]},"1402":{"position":[[494,22]]},"1403":{"position":[[592,22]]},"1404":{"position":[[405,22]]},"1405":{"position":[[613,22]]},"1407":{"position":[[640,22]]},"1408":{"position":[[634,22]]},"1410":{"position":[[767,22]]},"1411":{"position":[[384,22]]},"1412":{"position":[[562,22]]},"1413":{"position":[[635,22]]},"1414":{"position":[[430,22]]},"1415":{"position":[[561,22]]},"1416":{"position":[[497,22]]},"1417":{"position":[[467,22]]},"1418":{"position":[[439,22]]},"1419":{"position":[[441,22]]},"1420":{"position":[[470,22]]},"1421":{"position":[[435,22]]},"1422":{"position":[[382,22]]},"1423":{"position":[[379,22]]},"1424":{"position":[[598,22]]},"1425":{"position":[[430,22]]},"1426":{"position":[[569,22]]},"1427":{"position":[[784,22]]},"1428":{"position":[[416,22]]},"1429":{"position":[[895,22]]},"1430":{"position":[[601,22]]},"1431":{"position":[[559,22]]},"1432":{"position":[[720,22]]},"1433":{"position":[[607,22]]},"1438":{"position":[[378,22]]},"1439":{"position":[[858,22]]},"1440":{"position":[[969,22]]},"1441":{"position":[[386,22]]},"1443":{"position":[[380,22]]},"1444":{"position":[[410,22]]},"1446":{"position":[[381,22]]},"1447":{"position":[[432,22]]},"1448":{"position":[[497,22]]},"1449":{"position":[[491,22]]},"1450":{"position":[[497,22]]},"1451":{"position":[[497,22]]},"1453":{"position":[[473,22]]},"1454":{"position":[[502,22]]},"1455":{"position":[[421,22]]},"1456":{"position":[[408,22]]},"1457":{"position":[[389,22]]},"1458":{"position":[[555,22]]},"1459":{"position":[[393,22]]},"1460":{"position":[[502,22]]},"1461":{"position":[[598,22]]},"1462":{"position":[[1106,22]]},"1465":{"position":[[579,22]]},"1467":{"position":[[1173,22]]},"1468":{"position":[[388,22]]},"1469":{"position":[[403,22]]},"1470":{"position":[[1048,22]]},"1471":{"position":[[717,22]]},"1472":{"position":[[651,22]]},"1473":{"position":[[748,22]]},"1474":{"position":[[598,22]]},"1475":{"position":[[671,22]]},"1476":{"position":[[386,22]]},"1477":{"position":[[440,22]]},"1478":{"position":[[468,22]]},"1479":{"position":[[394,22]]},"1480":{"position":[[447,22]]},"1481":{"position":[[571,22]]},"1482":{"position":[[380,22]]},"1484":{"position":[[385,22]]},"1486":{"position":[[438,22]]},"1487":{"position":[[408,22]]}},"keywords":{}}],["default_info",{"_index":3929,"title":{},"content":{"853":{"position":[[155,12]]}},"keywords":{}}],["default_out",{"_index":1981,"title":{},"content":{"368":{"position":[[1868,12]]},"747":{"position":[[1868,12]]},"1360":{"position":[[732,13]]},"1383":{"position":[[660,13]]},"1403":{"position":[[631,13],[4229,13],[4590,12],[4651,12],[5670,12],[8288,12]]}},"keywords":{}}],["default_output",{"_index":1391,"title":{},"content":{"145":{"position":[[325,15]]},"237":{"position":[[523,15]]},"268":{"position":[[325,15]]},"368":{"position":[[17,15],[57,16],[1162,14],[1941,15],[2907,16]]},"747":{"position":[[17,15],[57,16],[1162,14],[1941,15],[2907,16]]},"1103":{"position":[[1984,14]]},"1104":{"position":[[406,15],[716,15]]},"1245":{"position":[[219,15]]},"1286":{"position":[[123,15]]},"1398":{"position":[[2605,14]]}},"keywords":{}}],["default_platform",{"_index":6702,"title":{},"content":{"1362":{"position":[[892,17]]},"1363":{"position":[[1664,17]]},"1364":{"position":[[909,17]]},"1365":{"position":[[506,17]]},"1367":{"position":[[1923,17]]},"1373":{"position":[[766,17]]},"1382":{"position":[[814,17]]},"1384":{"position":[[755,17]]},"1385":{"position":[[520,17]]},"1387":{"position":[[862,17]]},"1388":{"position":[[947,17]]},"1415":{"position":[[600,17]]},"1462":{"position":[[1145,17]]},"1467":{"position":[[1212,17]]},"1471":{"position":[[756,17]]},"1472":{"position":[[690,17]]},"1473":{"position":[[787,17]]}},"keywords":{}}],["default_target_platform",{"_index":3543,"title":{},"content":{"693":{"position":[[3026,23]]},"937":{"position":[[470,23]]},"1012":{"position":[[364,24]]},"1014":{"position":[[433,23]]},"1348":{"position":[[31,24]]},"1349":{"position":[[42,24]]},"1350":{"position":[[34,24]]},"1351":{"position":[[40,24],[1068,24]]},"1352":{"position":[[34,24]]},"1353":{"position":[[47,24]]},"1354":{"position":[[48,24]]},"1355":{"position":[[35,24],[2428,24]]},"1356":{"position":[[36,24]]},"1357":{"position":[[36,24]]},"1358":{"position":[[40,24]]},"1359":{"position":[[36,24]]},"1360":{"position":[[31,24],[1657,24]]},"1361":{"position":[[39,24]]},"1362":{"position":[[32,24],[5380,24]]},"1363":{"position":[[32,24],[3126,24]]},"1364":{"position":[[33,24],[5409,24]]},"1365":{"position":[[33,24]]},"1366":{"position":[[34,24],[1156,24]]},"1367":{"position":[[30,24],[6807,24]]},"1368":{"position":[[35,24]]},"1369":{"position":[[39,24]]},"1370":{"position":[[46,24],[805,24]]},"1371":{"position":[[37,24]]},"1372":{"position":[[34,24]]},"1373":{"position":[[31,24]]},"1374":{"position":[[33,24],[840,24]]},"1375":{"position":[[34,24]]},"1376":{"position":[[39,24]]},"1377":{"position":[[36,24]]},"1378":{"position":[[38,24]]},"1379":{"position":[[36,24]]},"1380":{"position":[[35,24]]},"1381":{"position":[[34,24]]},"1382":{"position":[[30,24],[3292,24]]},"1383":{"position":[[31,24],[1530,24]]},"1384":{"position":[[31,24],[4454,24]]},"1385":{"position":[[37,24]]},"1386":{"position":[[42,24]]},"1387":{"position":[[40,24]]},"1388":{"position":[[28,24],[3592,24]]},"1389":{"position":[[33,24]]},"1390":{"position":[[28,24]]},"1391":{"position":[[29,24]]},"1392":{"position":[[26,24]]},"1393":{"position":[[30,24],[1380,24]]},"1394":{"position":[[39,24]]},"1395":{"position":[[34,24],[837,24]]},"1396":{"position":[[39,24]]},"1397":{"position":[[34,24]]},"1398":{"position":[[31,24],[1487,24]]},"1399":{"position":[[31,24]]},"1400":{"position":[[40,24]]},"1401":{"position":[[29,24]]},"1402":{"position":[[28,24]]},"1403":{"position":[[27,24],[1360,24]]},"1404":{"position":[[29,24]]},"1405":{"position":[[29,24]]},"1406":{"position":[[39,24]]},"1407":{"position":[[39,24]]},"1408":{"position":[[30,24]]},"1409":{"position":[[29,24]]},"1410":{"position":[[27,24],[1727,24]]},"1411":{"position":[[34,24]]},"1412":{"position":[[34,24],[1748,24]]},"1413":{"position":[[31,24]]},"1414":{"position":[[30,24]]},"1415":{"position":[[34,24]]},"1416":{"position":[[34,24]]},"1417":{"position":[[32,24]]},"1418":{"position":[[35,24]]},"1419":{"position":[[31,24]]},"1420":{"position":[[35,24]]},"1421":{"position":[[44,24]]},"1422":{"position":[[32,24],[993,24]]},"1423":{"position":[[29,24]]},"1424":{"position":[[31,24]]},"1425":{"position":[[45,24]]},"1426":{"position":[[31,24],[1066,24]]},"1427":{"position":[[32,24],[1963,24]]},"1428":{"position":[[31,24]]},"1429":{"position":[[29,24],[2627,24]]},"1430":{"position":[[36,24]]},"1431":{"position":[[29,24]]},"1432":{"position":[[37,24]]},"1433":{"position":[[30,24]]},"1434":{"position":[[32,24]]},"1435":{"position":[[37,24]]},"1436":{"position":[[33,24]]},"1437":{"position":[[30,24]]},"1438":{"position":[[28,24],[725,24]]},"1439":{"position":[[34,24],[2249,24]]},"1440":{"position":[[31,24],[2815,24]]},"1441":{"position":[[36,24]]},"1442":{"position":[[37,24],[620,24]]},"1443":{"position":[[30,24]]},"1444":{"position":[[31,24]]},"1445":{"position":[[34,24]]},"1446":{"position":[[31,24]]},"1447":{"position":[[33,24]]},"1448":{"position":[[32,24]]},"1449":{"position":[[33,24]]},"1450":{"position":[[32,24]]},"1451":{"position":[[32,24]]},"1452":{"position":[[28,24]]},"1453":{"position":[[44,24]]},"1454":{"position":[[40,24]]},"1455":{"position":[[46,24]]},"1456":{"position":[[43,24]]},"1457":{"position":[[39,24]]},"1458":{"position":[[32,24]]},"1459":{"position":[[43,24]]},"1460":{"position":[[42,24]]},"1461":{"position":[[43,24],[1041,24]]},"1462":{"position":[[33,24]]},"1463":{"position":[[43,24]]},"1464":{"position":[[44,24]]},"1465":{"position":[[34,24]]},"1466":{"position":[[47,24]]},"1467":{"position":[[31,24],[5111,24]]},"1468":{"position":[[38,24]]},"1469":{"position":[[31,24],[929,24]]},"1470":{"position":[[36,24]]},"1471":{"position":[[31,24],[1792,24]]},"1472":{"position":[[32,24],[1751,24]]},"1473":{"position":[[29,24],[2066,24]]},"1474":{"position":[[33,24]]},"1475":{"position":[[30,24]]},"1476":{"position":[[36,24]]},"1477":{"position":[[29,24],[685,24]]},"1478":{"position":[[27,24],[1176,24]]},"1479":{"position":[[44,24]]},"1480":{"position":[[33,24]]},"1481":{"position":[[35,24]]},"1482":{"position":[[30,24]]},"1483":{"position":[[35,24]]},"1484":{"position":[[35,24]]},"1485":{"position":[[36,24]]},"1486":{"position":[[31,24]]},"1487":{"position":[[28,24],[750,24]]}},"keywords":{}}],["default_target_platformattribut",{"_index":4715,"title":{},"content":{"945":{"position":[[44,33]]}},"keywords":{}}],["defaultif",{"_index":596,"title":{},"content":{"18":{"position":[[2052,9]]}},"keywords":{}}],["defaultinfo",{"_index":1390,"title":{"368":{"position":[[0,12]]},"747":{"position":[[0,12]]}},"content":{"145":{"position":[[306,11]]},"237":{"position":[[455,11]]},"268":{"position":[[306,11]]},"368":{"position":[[4,12],[397,11],[1028,12],[2748,11]]},"712":{"position":[[2660,13]]},"722":{"position":[[879,11]]},"747":{"position":[[4,12],[397,11],[1028,12],[2748,11]]},"855":{"position":[[181,11]]},"1025":{"position":[[322,11],[475,11]]},"1044":{"position":[[3419,15]]},"1047":{"position":[[387,15]]},"1048":{"position":[[719,15]]},"1049":{"position":[[947,15]]},"1054":{"position":[[306,14]]},"1102":{"position":[[563,15]]},"1103":{"position":[[2006,11]]},"1104":{"position":[[174,11],[373,11],[1075,11],[1142,12]]},"1105":{"position":[[1027,12]]},"1285":{"position":[[96,11]]},"1286":{"position":[[55,11]]}},"keywords":{}}],["defaultinfo(default_output",{"_index":1957,"title":{},"content":{"368":{"position":[[1081,27]]},"712":{"position":[[397,28],[2035,28]]},"747":{"position":[[1081,27]]},"991":{"position":[[919,27]]},"1048":{"position":[[1218,26]]},"1049":{"position":[[1576,27]]},"1103":{"position":[[353,26]]}},"keywords":{}}],["defaultinfo(output",{"_index":2348,"title":{},"content":{"437":{"position":[[473,20]]},"816":{"position":[[473,20]]}},"keywords":{}}],["defaultinfocmd_arg",{"_index":6183,"title":{},"content":{"1245":{"position":[[259,19]]}},"keywords":{}}],["defer",{"_index":1100,"title":{"951":{"position":[[24,9]]},"1074":{"position":[[0,8]]},"1076":{"position":[[9,8]]},"1078":{"position":[[0,9]]},"1204":{"position":[[11,8]]}},"content":{"90":{"position":[[166,5]]},"222":{"position":[[166,5]]},"590":{"position":[[430,8]]},"705":{"position":[[971,9]]},"724":{"position":[[1793,8]]},"951":{"position":[[57,9],[257,8]]},"1075":{"position":[[8,8],[375,8]]},"1076":{"position":[[10,8],[91,8]]},"1079":{"position":[[4,8]]},"1100":{"position":[[200,8]]},"1190":{"position":[[1033,8],[1084,8]]},"1204":{"position":[[29,8],[78,8],[4490,8],[4545,8],[5392,8],[5461,8],[6322,8],[6377,8],[7224,8],[7282,8],[8210,8],[8306,8],[9164,8],[9224,8],[10111,8],[10180,8]]},"1395":{"position":[[2526,9]]}},"keywords":{}}],["defer_write_act",{"_index":5529,"title":{},"content":{"1078":{"position":[[164,19]]}},"keywords":{}}],["deferredkey",{"_index":4737,"title":{},"content":{"951":{"position":[[340,11]]}},"keywords":{}}],["defin",{"_index":554,"title":{"684":{"position":[[13,6]]},"930":{"position":[[27,7]]},"961":{"position":[[0,8]]}},"content":{"18":{"position":[[572,6],[862,6]]},"20":{"position":[[237,6]]},"22":{"position":[[1143,7]]},"71":{"position":[[75,6]]},"81":{"position":[[126,7],[214,6]]},"94":{"position":[[2096,7]]},"213":{"position":[[126,7],[214,6]]},"226":{"position":[[2096,7]]},"304":{"position":[[77,7]]},"327":{"position":[[324,7]]},"363":{"position":[[222,8],[283,8]]},"368":{"position":[[3372,6]]},"372":{"position":[[312,8]]},"389":{"position":[[298,7]]},"400":{"position":[[243,6],[296,8]]},"421":{"position":[[125,8]]},"423":{"position":[[117,8]]},"432":{"position":[[65,7]]},"437":{"position":[[275,6]]},"438":{"position":[[86,8]]},"468":{"position":[[205,7]]},"494":{"position":[[75,6]]},"575":{"position":[[250,6]]},"580":{"position":[[394,6]]},"622":{"position":[[62,7]]},"638":{"position":[[192,7],[324,8]]},"662":{"position":[[186,7]]},"663":{"position":[[184,7],[340,8]]},"676":{"position":[[30,6]]},"680":{"position":[[22,7],[726,7],[981,7]]},"684":{"position":[[35,6]]},"687":{"position":[[27,6]]},"693":{"position":[[2347,6],[2404,7],[5805,7],[5866,7],[6689,8],[7940,6],[8379,7],[8744,7]]},"700":{"position":[[29,6]]},"708":{"position":[[708,6],[816,6]]},"712":{"position":[[37,6],[1131,7],[2339,7],[2616,7],[2924,7]]},"742":{"position":[[222,8],[283,8]]},"747":{"position":[[3372,6]]},"751":{"position":[[312,8]]},"768":{"position":[[298,7]]},"779":{"position":[[243,6],[296,8]]},"800":{"position":[[125,8]]},"802":{"position":[[117,8]]},"811":{"position":[[65,7]]},"816":{"position":[[275,6]]},"817":{"position":[[86,8]]},"840":{"position":[[102,6],[190,6],[674,7]]},"845":{"position":[[190,7]]},"848":{"position":[[691,7]]},"879":{"position":[[142,7],[312,7]]},"890":{"position":[[509,8],[562,8],[593,8],[624,8],[664,7],[1196,7],[1317,7],[2461,7],[3108,7],[3399,7],[3575,8],[5078,7],[5611,7],[5687,7],[6038,7],[6825,6]]},"898":{"position":[[476,7],[2827,7]]},"901":{"position":[[147,7],[302,8]]},"902":{"position":[[170,7],[313,8]]},"919":{"position":[[70,7],[738,6]]},"926":{"position":[[149,7]]},"933":{"position":[[71,8]]},"938":{"position":[[172,7]]},"951":{"position":[[870,7]]},"961":{"position":[[817,7]]},"964":{"position":[[496,7]]},"969":{"position":[[26,6]]},"980":{"position":[[363,7],[466,7],[603,7]]},"981":{"position":[[39,6],[465,6]]},"983":{"position":[[274,7]]},"990":{"position":[[110,7]]},"1001":{"position":[[415,7]]},"1004":{"position":[[21,7],[373,7]]},"1017":{"position":[[396,8]]},"1019":{"position":[[107,6]]},"1022":{"position":[[112,7]]},"1024":{"position":[[1178,7]]},"1042":{"position":[[21,7]]},"1044":{"position":[[829,7]]},"1045":{"position":[[199,8]]},"1046":{"position":[[108,7],[168,6],[375,7]]},"1047":{"position":[[2,6]]},"1050":{"position":[[666,7]]},"1054":{"position":[[0,6]]},"1064":{"position":[[513,7],[1342,7],[1907,7]]},"1069":{"position":[[136,7]]},"1082":{"position":[[133,7],[220,6]]},"1083":{"position":[[101,7]]},"1086":{"position":[[179,8]]},"1103":{"position":[[1810,7]]},"1104":{"position":[[1686,6],[2290,8]]},"1108":{"position":[[51,6]]},"1132":{"position":[[63,8]]},"1134":{"position":[[292,6]]},"1140":{"position":[[160,7]]},"1154":{"position":[[140,7]]},"1155":{"position":[[28,7]]},"1188":{"position":[[213,7]]},"1235":{"position":[[115,7]]},"1245":{"position":[[187,7]]},"1351":{"position":[[2146,7],[2528,7]]},"1354":{"position":[[1183,6]]},"1355":{"position":[[2185,6],[3965,7],[7758,7]]},"1359":{"position":[[2320,7]]},"1362":{"position":[[8441,7]]},"1364":{"position":[[9343,8],[9555,7]]},"1367":{"position":[[8529,7],[13671,7]]},"1382":{"position":[[5502,8]]},"1383":{"position":[[7876,7]]},"1384":{"position":[[10449,8],[20400,7],[21496,7]]},"1385":{"position":[[3416,8]]},"1387":{"position":[[5749,8]]},"1390":{"position":[[1620,7]]},"1391":{"position":[[1573,7]]},"1392":{"position":[[629,6],[1723,7]]},"1393":{"position":[[4342,7],[5748,7],[7462,6]]},"1396":{"position":[[507,7],[577,7]]},"1398":{"position":[[1133,7],[1206,6],[4408,6],[5898,7]]},"1403":{"position":[[4498,7],[5390,8],[6976,7]]},"1412":{"position":[[1460,6],[3891,7],[4091,8]]},"1427":{"position":[[1696,7],[3110,7],[7367,7]]},"1429":{"position":[[2525,6]]},"1439":{"position":[[1979,6],[3784,7],[8193,7]]},"1440":{"position":[[2715,6]]},"1444":{"position":[[2130,8]]},"1446":{"position":[[593,6]]},"1454":{"position":[[7353,8]]},"1462":{"position":[[7265,7],[8260,7]]},"1465":{"position":[[3471,7],[3880,7],[4564,8]]},"1467":{"position":[[4982,7],[8234,7],[9322,7],[9740,7],[11093,8]]},"1470":{"position":[[3294,6]]},"1471":{"position":[[4549,6]]},"1472":{"position":[[3500,6],[5133,6]]},"1473":{"position":[[4870,6]]},"1485":{"position":[[1784,8]]},"1487":{"position":[[1709,7]]}},"keywords":{}}],["definit",{"_index":617,"title":{},"content":{"20":{"position":[[461,12]]},"22":{"position":[[2126,10]]},"97":{"position":[[18,11]]},"229":{"position":[[18,11]]},"421":{"position":[[380,12]]},"428":{"position":[[80,10]]},"438":{"position":[[260,11]]},"586":{"position":[[22,11]]},"800":{"position":[[380,12]]},"807":{"position":[[80,10]]},"817":{"position":[[260,11]]},"873":{"position":[[248,11]]},"1017":{"position":[[4,10]]},"1046":{"position":[[7,10]]},"1082":{"position":[[817,10]]},"1083":{"position":[[653,10]]},"1161":{"position":[[253,11]]},"1346":{"position":[[126,10]]},"1382":{"position":[[4842,11]]},"1386":{"position":[[6347,12]]},"1388":{"position":[[5536,11]]},"1393":{"position":[[2989,11],[3065,11],[3809,11],[3885,11]]},"1442":{"position":[[1832,11]]}},"keywords":{}}],["degrad",{"_index":6159,"title":{},"content":{"1232":{"position":[[3899,12]]}},"keywords":{}}],["degre",{"_index":660,"title":{},"content":{"22":{"position":[[883,6]]},"702":{"position":[[480,7]]},"900":{"position":[[1727,6]]}},"keywords":{}}],["del",{"_index":4458,"title":{},"content":{"910":{"position":[[425,3]]}},"keywords":{}}],["delay",{"_index":5819,"title":{},"content":{"1127":{"position":[[636,5]]}},"keywords":{}}],["delet",{"_index":4459,"title":{},"content":{"910":{"position":[[429,6],[462,6]]},"1050":{"position":[[901,8],[1067,7],[3454,7],[4282,6],[4293,8]]},"1079":{"position":[[60,6]]},"1098":{"position":[[753,6]]},"1142":{"position":[[0,6],[222,6],[510,7]]},"1163":{"position":[[183,7]]},"1351":{"position":[[5304,8]]},"1427":{"position":[[4815,6]]},"1439":{"position":[[7314,6]]}},"keywords":{}}],["deliber",{"_index":4171,"title":{},"content":{"888":{"position":[[940,10]]}},"keywords":{}}],["delight",{"_index":170,"title":{},"content":{"9":{"position":[[95,10]]},"24":{"position":[[12,10]]}},"keywords":{}}],["delimit",{"_index":1262,"title":{},"content":{"98":{"position":[[1427,9]]},"230":{"position":[[1427,9]]},"405":{"position":[[513,10]]},"575":{"position":[[502,7]]},"616":{"position":[[233,9],[304,7]]},"784":{"position":[[513,10]]},"1172":{"position":[[97,9]]},"1180":{"position":[[63,9]]},"1360":{"position":[[3397,9],[4851,9]]},"1383":{"position":[[6051,9],[6959,9]]},"1403":{"position":[[2812,9],[4839,9]]}},"keywords":{}}],["delimiter=""",{"_index":2150,"title":{},"content":{"405":{"position":[[1676,23]]},"784":{"position":[[1676,23]]}},"keywords":{}}],["deliv",{"_index":6916,"title":{},"content":{"1363":{"position":[[7593,10]]}},"keywords":{}}],["deliver",{"_index":3381,"title":{},"content":{"675":{"position":[[1193,11]]},"696":{"position":[[36,12]]}},"keywords":{}}],["demand",{"_index":3914,"title":{},"content":{"851":{"position":[[101,7]]}},"keywords":{}}],["demo",{"_index":5760,"title":{"1117":{"position":[[0,5]]},"1119":{"position":[[0,5]]}},"content":{"1399":{"position":[[2918,7]]}},"keywords":{}}],["demoapp",{"_index":6912,"title":{},"content":{"1363":{"position":[[7442,10]]}},"keywords":{}}],["demoappbinari",{"_index":6913,"title":{},"content":{"1363":{"position":[[7462,17]]}},"keywords":{}}],["demoibapp",{"_index":6918,"title":{},"content":{"1363":{"position":[[7636,12]]}},"keywords":{}}],["demoibappbinari",{"_index":6919,"title":{},"content":{"1363":{"position":[[7658,19]]}},"keywords":{}}],["demoibappresourc",{"_index":6920,"title":{},"content":{"1363":{"position":[[7685,24]]}},"keywords":{}}],["demonstr",{"_index":541,"title":{},"content":{"18":{"position":[[13,12]]},"1351":{"position":[[2950,12]]}},"keywords":{}}],["demowatchapp",{"_index":6908,"title":{},"content":{"1363":{"position":[[7247,15]]}},"keywords":{}}],["demowatchapp#watch",{"_index":6914,"title":{},"content":{"1363":{"position":[[7487,24]]}},"keywords":{}}],["demowatchappbinari",{"_index":6909,"title":{},"content":{"1363":{"position":[[7272,22]]}},"keywords":{}}],["demowatchappextens",{"_index":6905,"title":{},"content":{"1363":{"position":[[7085,24],[7329,26]]}},"keywords":{}}],["demowatchappextensionbinari",{"_index":6906,"title":{},"content":{"1363":{"position":[[7119,31]]}},"keywords":{}}],["demowatchappresourc",{"_index":6910,"title":{},"content":{"1363":{"position":[[7302,26]]}},"keywords":{}}],["denot",{"_index":6797,"title":{},"content":{"1362":{"position":[[8205,6]]},"1364":{"position":[[9054,6]]},"1367":{"position":[[8293,6]]}},"keywords":{}}],["dep",{"_index":273,"title":{"699":{"position":[[45,4]]},"935":{"position":[[34,3]]},"985":{"position":[[7,4]]},"986":{"position":[[7,5]]},"988":{"position":[[8,5]]},"1023":{"position":[[10,5]]},"1024":{"position":[[10,5]]},"1025":{"position":[[22,5]]},"1028":{"position":[[0,3]]},"1030":{"position":[[6,3]]},"1031":{"position":[[14,3]]},"1032":{"position":[[14,3]]},"1033":{"position":[[8,3]]},"1036":{"position":[[0,3]]},"1037":{"position":[[0,3]]},"1038":{"position":[[0,3]]},"1203":{"position":[[11,3]]}},"content":{"9":{"position":[[2095,6]]},"23":{"position":[[1083,3]]},"74":{"position":[[127,4]]},"121":{"position":[[195,3]]},"136":{"position":[[97,5]]},"210":{"position":[[77,4]]},"233":{"position":[[213,3]]},"239":{"position":[[451,4]]},"259":{"position":[[97,5]]},"283":{"position":[[228,4]]},"298":{"position":[[765,4],[928,4]]},"328":{"position":[[351,4]]},"389":{"position":[[1231,4]]},"462":{"position":[[230,4]]},"469":{"position":[[232,4]]},"481":{"position":[[127,4]]},"497":{"position":[[127,4]]},"530":{"position":[[195,3]]},"622":{"position":[[1160,4],[1467,4],[1641,4],[2035,4]]},"690":{"position":[[3026,4]]},"693":{"position":[[1137,4],[4325,3],[9484,5],[9823,5]]},"695":{"position":[[112,4]]},"699":{"position":[[46,4]]},"768":{"position":[[1231,4]]},"867":{"position":[[2052,3]]},"904":{"position":[[540,5]]},"905":{"position":[[632,4],[655,6]]},"906":{"position":[[581,4]]},"919":{"position":[[1435,4],[2037,4]]},"921":{"position":[[213,4],[303,4],[740,5],[863,4]]},"929":{"position":[[308,4]]},"935":{"position":[[0,3]]},"938":{"position":[[764,3],[781,4]]},"947":{"position":[[442,3],[1127,4]]},"970":{"position":[[217,4]]},"987":{"position":[[873,3]]},"988":{"position":[[97,4],[106,4],[248,4],[413,4]]},"989":{"position":[[172,4],[269,3],[304,5]]},"990":{"position":[[95,5],[196,6],[738,5],[1384,5]]},"991":{"position":[[476,4],[1114,5],[1174,5],[2051,4],[2144,4],[2198,4],[2491,4],[2742,5],[2884,4],[2909,6]]},"995":{"position":[[191,3],[357,4]]},"1006":{"position":[[142,3],[638,4]]},"1023":{"position":[[12,4],[32,6],[195,4],[228,4],[297,5]]},"1024":{"position":[[826,3]]},"1026":{"position":[[401,3],[629,4],[714,4],[1457,5]]},"1029":{"position":[[0,3],[277,3]]},"1030":{"position":[[7,3],[73,3],[157,3],[234,3],[322,3]]},"1031":{"position":[[13,3],[131,3],[289,3]]},"1032":{"position":[[26,3]]},"1033":{"position":[[39,3],[186,3]]},"1035":{"position":[[0,3],[91,3],[171,3],[521,3]]},"1036":{"position":[[16,3],[111,3]]},"1037":{"position":[[0,3],[148,3],[326,3],[436,3],[533,3],[606,3],[654,3]]},"1038":{"position":[[8,3],[107,3]]},"1040":{"position":[[2442,4],[2557,6],[2641,5]]},"1044":{"position":[[2199,4]]},"1064":{"position":[[2095,5],[2120,5]]},"1133":{"position":[[8,6],[216,4]]},"1138":{"position":[[3206,3],[3224,3],[3302,3],[3404,3],[3462,3],[3517,3],[3549,3]]},"1140":{"position":[[2695,3],[2713,3],[2791,3],[2893,3],[2951,3],[3006,3],[3038,3]]},"1148":{"position":[[606,4],[999,4]]},"1167":{"position":[[3699,3],[3717,3],[3795,3],[3897,3],[3955,3],[4010,3],[4042,3]]},"1188":{"position":[[2748,3],[2766,3],[2844,3],[2946,3],[3004,3],[3059,3],[3091,3]]},"1190":{"position":[[880,4],[981,3]]},"1201":{"position":[[37,4]]},"1202":{"position":[[193,4],[5571,5],[5706,4]]},"1203":{"position":[[69,3],[178,3]]},"1217":{"position":[[2440,3],[2458,3],[2536,3],[2638,3],[2696,3],[2751,3],[2783,3]]},"1228":{"position":[[4521,3],[4539,3],[4617,3],[4719,3],[4777,3],[4832,3],[4864,3]]},"1235":{"position":[[791,4]]},"1258":{"position":[[1142,6],[1244,4]]},"1259":{"position":[[1614,4],[1712,4],[1808,4],[1913,4],[2014,4]]},"1262":{"position":[[305,5],[875,4]]},"1277":{"position":[[62,4],[105,4]]},"1278":{"position":[[62,4]]},"1279":{"position":[[62,4],[105,4]]},"1280":{"position":[[62,4],[105,4]]},"1281":{"position":[[62,4],[105,4]]},"1289":{"position":[[1142,6],[1244,4]]},"1290":{"position":[[1614,4],[1712,4],[1808,4],[1913,4],[2014,4]]},"1293":{"position":[[305,5],[875,4]]},"1308":{"position":[[62,4],[105,4]]},"1309":{"position":[[62,4]]},"1310":{"position":[[62,4],[105,4]]},"1311":{"position":[[62,4],[105,4]]},"1312":{"position":[[62,4],[105,4]]},"1317":{"position":[[1142,6],[1244,4]]},"1318":{"position":[[1614,4],[1712,4],[1808,4],[1913,4],[2014,4]]},"1321":{"position":[[305,5],[875,4]]},"1336":{"position":[[62,4],[105,4]]},"1337":{"position":[[62,4]]},"1338":{"position":[[62,4],[105,4]]},"1339":{"position":[[62,4],[105,4]]},"1340":{"position":[[62,4],[105,4]]},"1348":{"position":[[1012,5],[4753,4]]},"1349":{"position":[[667,5]]},"1350":{"position":[[1448,5]]},"1351":{"position":[[4158,5],[4278,4],[4470,4],[4808,4],[5786,4]]},"1352":{"position":[[1447,5]]},"1353":{"position":[[709,5],[3218,4],[3425,4]]},"1354":{"position":[[3357,4],[3498,4]]},"1355":{"position":[[972,5],[3631,5],[4227,4],[5372,4],[5416,4],[5447,4],[5485,4],[5572,5],[7966,4]]},"1356":{"position":[[454,5],[753,5],[1944,5],[2024,5]]},"1358":{"position":[[616,5],[3261,4]]},"1359":{"position":[[573,5]]},"1360":{"position":[[6134,4]]},"1362":{"position":[[956,5],[13798,4]]},"1363":{"position":[[1698,5],[4288,5],[7295,4],[7480,4],[7678,4]]},"1364":{"position":[[973,5],[14500,4]]},"1367":{"position":[[1987,5],[14499,4]]},"1373":{"position":[[830,5],[8758,4],[8859,4]]},"1381":{"position":[[482,5],[2692,6]]},"1382":{"position":[[878,5],[4496,4],[4624,5],[4795,4],[4926,4],[5334,5],[11822,4]]},"1384":{"position":[[819,5]]},"1385":{"position":[[584,5],[7525,4]]},"1386":{"position":[[431,5],[1970,4],[2846,4],[3596,4],[3834,4],[4650,4]]},"1387":{"position":[[926,5],[10857,4]]},"1388":{"position":[[1011,5],[5190,4],[5318,5],[5489,4],[5620,4],[6028,5]]},"1390":{"position":[[417,5],[2101,6],[2178,6]]},"1391":{"position":[[418,5],[1900,6]]},"1392":{"position":[[415,5]]},"1395":{"position":[[448,5],[1907,5],[3737,4]]},"1398":{"position":[[676,5],[2742,5],[6923,4],[7091,4]]},"1402":{"position":[[533,5],[2244,4]]},"1405":{"position":[[652,5],[4018,6],[4097,6]]},"1407":{"position":[[679,5],[2454,5],[4744,4]]},"1408":{"position":[[673,5],[2962,6]]},"1410":{"position":[[806,5],[2907,5],[3663,4],[5827,6],[5913,6],[6047,6]]},"1412":{"position":[[601,5],[2567,5]]},"1413":{"position":[[674,5]]},"1414":{"position":[[469,5]]},"1415":{"position":[[664,5],[6010,4]]},"1416":{"position":[[536,5],[1365,4],[3347,5],[3410,4]]},"1417":{"position":[[506,5]]},"1418":{"position":[[478,5]]},"1419":{"position":[[480,5]]},"1420":{"position":[[509,5],[2484,5],[2547,4]]},"1421":{"position":[[474,5]]},"1425":{"position":[[469,5]]},"1426":{"position":[[608,5],[2254,4],[2303,5]]},"1427":{"position":[[823,5],[2782,5],[3372,4],[7202,4],[7605,4],[7753,4],[7967,5],[8074,4]]},"1428":{"position":[[455,5]]},"1429":{"position":[[934,5],[3643,5]]},"1430":{"position":[[640,5]]},"1431":{"position":[[598,5]]},"1433":{"position":[[646,5]]},"1434":{"position":[[384,5]]},"1436":{"position":[[385,5]]},"1437":{"position":[[434,5]]},"1438":{"position":[[417,5]]},"1439":{"position":[[897,5],[3452,5],[4046,4],[5814,5],[5897,4],[8030,4],[8429,4],[8577,4],[8791,5],[8896,4]]},"1440":{"position":[[1008,5],[3634,5]]},"1442":{"position":[[387,5],[1486,4],[1614,5],[1785,4],[1916,4],[2324,5]]},"1443":{"position":[[419,5],[1850,4]]},"1444":{"position":[[449,5]]},"1446":{"position":[[420,5]]},"1448":{"position":[[536,5],[2430,5],[2493,4],[2927,6],[3020,6]]},"1449":{"position":[[530,5],[2364,5],[2427,4],[2829,6]]},"1450":{"position":[[536,5]]},"1451":{"position":[[536,5]]},"1452":{"position":[[387,5]]},"1453":{"position":[[512,5]]},"1454":{"position":[[541,5]]},"1455":{"position":[[460,5]]},"1456":{"position":[[1681,4]]},"1457":{"position":[[428,5],[2032,6]]},"1458":{"position":[[594,5],[2716,4]]},"1459":{"position":[[432,5],[2474,4]]},"1460":{"position":[[541,5]]},"1461":{"position":[[637,5],[2034,5],[2350,4],[4089,4]]},"1462":{"position":[[1209,5],[9021,4]]},"1463":{"position":[[467,5]]},"1464":{"position":[[369,5]]},"1465":{"position":[[618,5],[1498,3],[2810,4],[4406,4]]},"1467":{"position":[[1276,5],[6327,5],[6949,4],[10980,4]]},"1470":{"position":[[1087,5]]},"1471":{"position":[[790,5],[3142,5],[5811,6],[5892,6]]},"1472":{"position":[[724,5],[2861,5],[6704,6]]},"1473":{"position":[[821,5],[3176,5],[5980,6],[6061,6]]},"1474":{"position":[[637,5]]},"1475":{"position":[[710,5]]},"1477":{"position":[[479,5]]},"1478":{"position":[[507,5]]},"1479":{"position":[[433,5]]},"1480":{"position":[[486,5]]},"1485":{"position":[[5077,4]]}},"keywords":{}}],["dep'",{"_index":2079,"title":{},"content":{"389":{"position":[[1307,5]]},"768":{"position":[[1307,5]]},"1044":{"position":[[2321,5]]}},"keywords":{}}],["dep_cfg",{"_index":5096,"title":{},"content":{"1026":{"position":[[1463,8],[1552,9]]}},"keywords":{}}],["dep_fil",{"_index":1026,"title":{},"content":{"83":{"position":[[87,9]]},"94":{"position":[[754,10]]},"215":{"position":[[87,9]]},"226":{"position":[[754,10]]},"1031":{"position":[[559,8],[803,11],[1000,9]]},"1040":{"position":[[2159,8],[2822,8]]}},"keywords":{}}],["dep_file.as_output",{"_index":5149,"title":{},"content":{"1040":{"position":[[2281,21]]}},"keywords":{}}],["dep_file=dep_fil",{"_index":5155,"title":{},"content":{"1040":{"position":[[2422,19]]}},"keywords":{}}],["depend",{"_index":122,"title":{"75":{"position":[[0,10]]},"369":{"position":[[0,11]]},"504":{"position":[[0,10]]},"681":{"position":[[0,13]]},"682":{"position":[[9,12]]},"684":{"position":[[0,12]]},"695":{"position":[[8,10]]},"748":{"position":[[0,11]]},"1039":{"position":[[8,12]]},"1133":{"position":[[18,12]]}},"content":{"6":{"position":[[181,10]]},"9":{"position":[[1689,12],[1865,12],[2049,13],[2373,12]]},"10":{"position":[[415,10],[631,10]]},"13":{"position":[[55,13],[394,13]]},"22":{"position":[[1205,6],[1663,7],[1705,7]]},"23":{"position":[[1413,12],[1537,12],[1629,12],[1707,10],[2302,10],[2361,10],[2464,12]]},"79":{"position":[[51,10],[74,10],[252,10]]},"92":{"position":[[548,12],[1782,7],[2017,13]]},"94":{"position":[[3752,12],[3807,10],[3928,11]]},"99":{"position":[[1164,12]]},"130":{"position":[[177,13]]},"131":{"position":[[290,10],[355,10],[537,11]]},"134":{"position":[[179,10],[207,10],[314,10]]},"136":{"position":[[194,10]]},"148":{"position":[[184,10],[212,10],[243,11],[291,12]]},"210":{"position":[[45,11]]},"211":{"position":[[46,11]]},"224":{"position":[[548,12],[1782,7],[2017,13]]},"226":{"position":[[3752,12],[3807,10],[3928,11]]},"231":{"position":[[1164,12]]},"233":{"position":[[45,10],[93,11],[135,10],[276,10],[503,10]]},"234":{"position":[[135,12]]},"239":{"position":[[500,13]]},"253":{"position":[[177,13]]},"254":{"position":[[290,10],[355,10],[537,11]]},"257":{"position":[[179,10],[207,10],[314,10]]},"259":{"position":[[194,10]]},"271":{"position":[[184,10],[212,10],[243,11],[291,12]]},"276":{"position":[[397,7]]},"277":{"position":[[345,7]]},"281":{"position":[[477,7]]},"282":{"position":[[427,7]]},"298":{"position":[[1478,12],[2034,12],[2200,10]]},"324":{"position":[[572,10]]},"328":{"position":[[400,13]]},"335":{"position":[[616,13]]},"362":{"position":[[2841,12]]},"368":{"position":[[3028,8],[3449,8]]},"369":{"position":[[0,11]]},"377":{"position":[[1590,9]]},"396":{"position":[[221,10]]},"406":{"position":[[57,13],[139,12],[218,10],[787,12],[848,12]]},"407":{"position":[[72,13],[207,7]]},"427":{"position":[[268,6],[463,10]]},"465":{"position":[[334,10]]},"469":{"position":[[281,13]]},"475":{"position":[[378,13]]},"508":{"position":[[51,10],[74,10],[252,10]]},"570":{"position":[[240,6]]},"622":{"position":[[1286,6]]},"647":{"position":[[211,8]]},"680":{"position":[[1086,11]]},"681":{"position":[[106,11],[156,12],[436,11],[543,7],[622,11],[791,12],[889,12],[907,12],[985,12]]},"682":{"position":[[26,12],[249,12]]},"683":{"position":[[36,10],[98,10],[163,11],[296,11]]},"684":{"position":[[22,12]]},"688":{"position":[[186,12],[1086,10]]},"690":{"position":[[3107,10],[3183,10],[3324,10],[3405,10]]},"693":{"position":[[707,10],[1192,13],[1287,6],[1463,12],[1621,12],[2966,10],[4210,11],[4281,10],[4366,10],[6585,6],[7225,13],[7342,10],[7583,10],[9968,7],[10307,11]]},"695":{"position":[[39,13],[75,12],[183,13],[264,12],[435,12],[575,7],[603,6]]},"696":{"position":[[265,12]]},"699":{"position":[[112,12]]},"704":{"position":[[44,7],[104,13]]},"705":{"position":[[391,12],[684,10],[755,13]]},"706":{"position":[[2441,9]]},"708":{"position":[[895,6],[1080,10]]},"715":{"position":[[402,14],[1306,10]]},"717":{"position":[[672,6]]},"718":{"position":[[451,10]]},"720":{"position":[[348,13],[566,10]]},"722":{"position":[[249,12],[443,10],[661,10],[703,10]]},"741":{"position":[[2841,12]]},"747":{"position":[[3028,8],[3449,8]]},"748":{"position":[[0,11]]},"756":{"position":[[1590,9]]},"775":{"position":[[221,10]]},"785":{"position":[[57,13],[139,12],[218,10],[787,12],[848,12]]},"786":{"position":[[72,13],[207,7]]},"806":{"position":[[268,6],[463,10]]},"832":{"position":[[90,10]]},"834":{"position":[[84,9]]},"835":{"position":[[37,13]]},"851":{"position":[[496,12],[1523,10]]},"856":{"position":[[226,7]]},"865":{"position":[[296,9]]},"867":{"position":[[222,9]]},"872":{"position":[[150,7]]},"894":{"position":[[412,7]]},"896":{"position":[[1031,6]]},"919":{"position":[[114,6],[145,6],[540,13],[1176,6],[2341,11]]},"921":{"position":[[462,13],[1004,6]]},"929":{"position":[[27,10]]},"943":{"position":[[2201,10]]},"947":{"position":[[300,7],[946,8]]},"954":{"position":[[809,12]]},"955":{"position":[[147,9],[586,13]]},"987":{"position":[[157,7],[282,10],[447,13],[638,13]]},"991":{"position":[[1562,10]]},"995":{"position":[[919,10],[1029,10]]},"1005":{"position":[[377,7]]},"1006":{"position":[[162,12],[369,10]]},"1009":{"position":[[147,9],[228,11],[384,12],[433,10]]},"1012":{"position":[[139,6],[448,12]]},"1015":{"position":[[117,12]]},"1019":{"position":[[325,10],[474,12]]},"1023":{"position":[[53,12]]},"1024":{"position":[[756,9],[1144,10]]},"1029":{"position":[[27,12],[141,13],[265,11]]},"1040":{"position":[[850,13],[1884,7],[2093,13]]},"1044":{"position":[[2240,13],[2446,11]]},"1052":{"position":[[561,9]]},"1054":{"position":[[1334,10]]},"1064":{"position":[[2061,6]]},"1098":{"position":[[413,10]]},"1103":{"position":[[1857,9]]},"1104":{"position":[[124,6],[856,7],[1400,10],[1897,12],[2125,6],[2683,10]]},"1105":{"position":[[276,6],[375,12],[977,10],[2157,11]]},"1112":{"position":[[2406,10]]},"1114":{"position":[[813,11],[866,10]]},"1133":{"position":[[240,12],[470,12],[582,13],[678,13],[718,12],[771,7],[841,13],[950,6]]},"1136":{"position":[[123,12]]},"1138":{"position":[[981,12],[1053,12],[4479,10],[4518,12],[4841,10],[4917,12]]},"1140":{"position":[[3968,10],[4007,12],[4330,10],[4406,12]]},"1167":{"position":[[4972,10],[5011,12],[5334,10],[5410,12]]},"1186":{"position":[[250,13]]},"1187":{"position":[[263,13]]},"1188":{"position":[[4021,10],[4060,12],[4383,10],[4459,12]]},"1202":{"position":[[236,12],[5615,12]]},"1217":{"position":[[3713,10],[3752,12],[4075,10],[4151,12]]},"1226":{"position":[[1190,12],[2053,12],[4305,12],[4353,12]]},"1228":{"position":[[5794,10],[5833,12],[6156,10],[6232,12]]},"1233":{"position":[[9,13],[126,13]]},"1235":{"position":[[419,12],[504,13]]},"1237":{"position":[[1360,12],[2223,12],[4475,12],[4523,12]]},"1241":{"position":[[74,13]]},"1259":{"position":[[71,10]]},"1260":{"position":[[13,10],[160,12],[285,10],[382,6]]},"1262":{"position":[[783,6]]},"1271":{"position":[[384,12]]},"1277":{"position":[[137,12]]},"1278":{"position":[[102,12],[123,10],[209,12],[234,13]]},"1279":{"position":[[133,12],[158,14]]},"1280":{"position":[[137,12]]},"1281":{"position":[[133,13]]},"1283":{"position":[[577,7],[616,6]]},"1284":{"position":[[589,6]]},"1290":{"position":[[71,10]]},"1291":{"position":[[13,10],[160,12],[285,10],[382,6]]},"1293":{"position":[[783,6]]},"1302":{"position":[[384,12]]},"1308":{"position":[[137,12]]},"1309":{"position":[[102,12],[123,10],[209,12],[234,13]]},"1310":{"position":[[133,12],[158,14]]},"1311":{"position":[[137,12]]},"1312":{"position":[[133,13]]},"1314":{"position":[[577,7],[616,6]]},"1315":{"position":[[589,6]]},"1318":{"position":[[71,10]]},"1319":{"position":[[13,10],[160,12],[285,10],[382,6]]},"1321":{"position":[[783,6]]},"1330":{"position":[[384,12]]},"1336":{"position":[[137,12]]},"1337":{"position":[[102,12],[123,10],[209,12],[234,13]]},"1338":{"position":[[133,12],[158,14]]},"1339":{"position":[[137,12]]},"1340":{"position":[[133,13]]},"1342":{"position":[[577,7],[616,6]]},"1343":{"position":[[589,6]]},"1348":{"position":[[3319,6],[3413,6],[4415,13]]},"1349":{"position":[[1464,6],[1558,6]]},"1350":{"position":[[4435,6],[4529,6]]},"1351":{"position":[[1659,6],[1754,6],[3813,6],[4760,7]]},"1352":{"position":[[4434,6],[4528,6]]},"1353":{"position":[[2038,6],[2132,6],[2962,7]]},"1354":{"position":[[1876,6],[1970,6]]},"1355":{"position":[[3019,6],[3114,6],[3795,6],[4044,11],[4160,6],[4441,6],[4514,7],[5054,12],[5716,13],[5869,7],[6293,12],[6783,12],[6867,12],[7003,12]]},"1356":{"position":[[1382,6],[1476,6],[1628,12],[1759,9]]},"1357":{"position":[[1055,6],[1149,6]]},"1358":{"position":[[1005,11],[1068,7],[1776,6],[1870,6]]},"1359":{"position":[[1613,6],[1707,6]]},"1360":{"position":[[2248,6],[2343,6]]},"1361":{"position":[[773,10],[908,7],[1603,6],[1697,6],[2323,13]]},"1362":{"position":[[4851,13],[5971,6],[6066,6],[6834,6],[7825,7],[10701,12]]},"1363":{"position":[[2932,12],[3717,6],[3812,6],[4304,12]]},"1364":{"position":[[6000,6],[6095,6],[6581,12],[6644,6],[6695,12],[6750,10],[6787,12],[7073,6],[8064,7],[8228,6],[8674,7],[11668,12],[13197,13]]},"1365":{"position":[[1537,6],[1631,6]]},"1366":{"position":[[1051,10],[1747,6],[1842,6]]},"1367":{"position":[[7398,6],[7493,6],[13716,12],[13853,10]]},"1368":{"position":[[2093,6],[2187,6]]},"1369":{"position":[[1145,6],[1239,6]]},"1370":{"position":[[1396,6],[1491,6]]},"1371":{"position":[[1021,6],[1115,6]]},"1372":{"position":[[2659,6],[2753,6]]},"1373":{"position":[[2824,13],[3531,6],[3625,6],[5218,12],[7671,6]]},"1374":{"position":[[1431,6],[1526,6]]},"1375":{"position":[[1057,6],[1151,6]]},"1376":{"position":[[1013,6],[1107,6]]},"1377":{"position":[[1252,6],[1346,6]]},"1378":{"position":[[999,6],[1093,6]]},"1379":{"position":[[1022,6],[1116,6]]},"1380":{"position":[[668,10],[798,7],[1493,6],[1587,6]]},"1381":{"position":[[746,12],[1399,6],[1493,6]]},"1382":{"position":[[3080,13],[3111,12],[3883,6],[3978,6],[7325,12],[7570,12],[10447,6],[11734,11]]},"1383":{"position":[[2121,6],[2216,6],[4597,12]]},"1384":{"position":[[5045,6],[5140,6],[5626,12],[5689,6],[5740,12],[5795,10],[5832,12],[5996,10],[6260,6],[6938,6],[7080,6],[7242,7],[7335,12],[7398,6],[7636,12],[8219,6],[8414,6],[8860,7],[9302,6],[9550,7],[9856,6],[13634,12],[16619,8],[16669,12],[17002,7],[17250,7],[17521,6],[18128,13],[20046,7],[20457,7],[20720,12],[20853,7],[20951,7],[21037,7],[21164,7]]},"1385":{"position":[[2027,7],[2718,6],[2812,6]]},"1386":{"position":[[1356,6],[1450,6],[1586,10],[2623,9],[2817,9],[2894,9],[3026,9],[4014,13],[4443,6],[4593,12],[4985,9],[6297,9]]},"1387":{"position":[[4987,6],[5081,6],[6597,10],[6694,12],[6821,13],[6835,9],[6915,12]]},"1388":{"position":[[4183,6],[4278,6],[8194,12],[8439,12],[8940,6]]},"1389":{"position":[[5040,6],[5134,6]]},"1390":{"position":[[655,13],[1292,6],[1386,6],[1533,12],[2044,11]]},"1391":{"position":[[1245,6],[1339,6],[1486,12],[1836,11]]},"1392":{"position":[[1395,6],[1489,6],[1636,12]]},"1393":{"position":[[1971,6],[2066,6],[3277,13],[3410,10],[4739,7],[4973,10],[5096,10],[5339,12],[5517,10],[6693,13],[7358,12],[7480,12],[8239,12],[9656,12],[9817,13]]},"1394":{"position":[[1415,6],[1509,6]]},"1395":{"position":[[1428,6],[1523,6],[1840,12],[2003,12]]},"1396":{"position":[[1221,6],[1315,6]]},"1397":{"position":[[1402,6],[1496,6]]},"1398":{"position":[[2078,6],[2173,6],[2759,12],[3120,12],[4304,12],[4426,12],[5093,12],[5664,12],[6018,6],[6191,12]]},"1399":{"position":[[1257,6],[1351,6],[1910,7]]},"1400":{"position":[[1126,6],[1220,6]]},"1401":{"position":[[1201,6],[1295,6]]},"1402":{"position":[[1357,6],[1451,6]]},"1403":{"position":[[1951,6],[2046,6],[6239,13]]},"1404":{"position":[[1190,6],[1284,6]]},"1405":{"position":[[1173,13],[1881,6],[1975,6],[2479,12],[2900,9],[2989,12],[3886,13]]},"1406":{"position":[[1097,6],[1191,6]]},"1407":{"position":[[1202,13],[1922,6],[2016,6],[2900,12],[3321,9],[3410,12],[4505,13]]},"1408":{"position":[[981,13],[1618,6],[1712,6],[2017,12]]},"1409":{"position":[[1152,6],[1246,6]]},"1410":{"position":[[2318,6],[2413,6],[2924,12],[3901,9],[3991,12],[5297,13]]},"1411":{"position":[[1135,6],[1229,6]]},"1412":{"position":[[2339,6],[2434,6],[2820,6]]},"1413":{"position":[[2519,6],[2613,6]]},"1414":{"position":[[1386,6],[1480,6]]},"1415":{"position":[[3368,6],[3462,6],[3611,12],[3668,6],[3863,12],[5565,12],[5620,6],[5878,12],[5931,6]]},"1416":{"position":[[2020,6],[2114,6],[2623,12],[2866,12],[3095,13],[3318,12]]},"1417":{"position":[[1609,6],[1703,6]]},"1418":{"position":[[1310,6],[1404,6]]},"1419":{"position":[[1438,6],[1532,6]]},"1420":{"position":[[1702,6],[1796,6],[2232,13],[2455,12]]},"1421":{"position":[[1677,6],[1771,6],[2034,9],[2127,9]]},"1422":{"position":[[820,12],[1584,6],[1679,6]]},"1423":{"position":[[703,12],[1569,6],[1663,6]]},"1424":{"position":[[1694,6],[1788,6]]},"1425":{"position":[[1310,6],[1404,6]]},"1426":{"position":[[1020,8],[1657,6],[1752,6]]},"1427":{"position":[[2554,6],[2649,6],[2940,6],[3189,11],[3305,6],[3586,6],[3659,7],[4027,12],[4145,13],[4368,12],[5042,7],[5466,12],[5982,12],[6066,12],[6202,12],[7452,13]]},"1428":{"position":[[1292,6],[1386,6]]},"1429":{"position":[[3218,6],[3313,6],[3572,12],[3777,10],[3866,12],[6213,12]]},"1430":{"position":[[2068,6],[2162,6]]},"1431":{"position":[[1412,6],[1506,6]]},"1432":{"position":[[1933,6],[2027,6]]},"1433":{"position":[[1454,6],[1548,6]]},"1434":{"position":[[1128,6],[1222,6]]},"1435":{"position":[[1092,6],[1186,6]]},"1436":{"position":[[1108,6],[1202,6]]},"1437":{"position":[[1178,6],[1272,6]]},"1438":{"position":[[1316,6],[1411,6]]},"1439":{"position":[[2840,6],[2935,6],[3614,6],[3863,11],[3979,6],[4260,6],[4333,7],[6799,10],[6867,12],[8278,13]]},"1440":{"position":[[3406,6],[3501,6],[3770,10],[3859,12]]},"1441":{"position":[[1134,6],[1228,6]]},"1442":{"position":[[1211,6],[1306,6]]},"1443":{"position":[[1429,6],[1523,6]]},"1444":{"position":[[1345,6],[1439,6]]},"1445":{"position":[[1034,6],[1128,6]]},"1446":{"position":[[1368,6],[1462,6]]},"1447":{"position":[[1250,6],[1344,6]]},"1448":{"position":[[1048,13],[1685,6],[1779,6],[2051,12],[2178,13],[2401,12]]},"1449":{"position":[[982,13],[1619,6],[1713,6],[1985,12],[2112,13],[2335,12]]},"1450":{"position":[[1498,6],[1592,6]]},"1451":{"position":[[1498,6],[1592,6]]},"1452":{"position":[[1044,6],[1138,6]]},"1453":{"position":[[1630,6],[1724,6]]},"1454":{"position":[[3996,6],[4090,6],[4474,12],[4537,6],[4588,12],[4643,10],[4680,12],[4964,6],[5643,7],[5735,12],[5798,6],[6036,12],[6618,6],[7090,6],[7605,7],[8918,8],[8968,12]]},"1455":{"position":[[1883,6],[1977,6],[2122,12],[2185,6],[2236,12],[2291,10],[2328,12],[2506,12],[2569,6],[2807,12]]},"1456":{"position":[[1228,6],[1322,6]]},"1457":{"position":[[1287,6],[1381,6],[1528,12]]},"1458":{"position":[[1161,12],[1822,6],[1916,6]]},"1459":{"position":[[1301,6],[1395,6]]},"1460":{"position":[[1413,6],[1507,6]]},"1461":{"position":[[1632,6],[1727,6],[2097,7],[2163,6],[2614,10],[3107,10],[3359,13]]},"1462":{"position":[[4372,13],[5009,6],[5103,6],[5949,12],[6101,10],[6243,12],[6575,9],[7291,12],[7581,7],[8353,12]]},"1463":{"position":[[1135,6],[1229,6]]},"1464":{"position":[[1043,6],[1137,6]]},"1465":{"position":[[2141,6],[2235,6],[3073,10]]},"1466":{"position":[[1379,6],[1473,6]]},"1467":{"position":[[5702,6],[5797,6],[7213,10],[7356,12],[7690,9],[8260,12],[9835,12]]},"1468":{"position":[[1143,6],[1237,6],[1491,10]]},"1469":{"position":[[710,12],[1520,6],[1615,6]]},"1470":{"position":[[4045,6],[4139,6]]},"1471":{"position":[[1741,13],[2383,6],[2478,6],[3159,12],[3833,12],[4532,12],[4590,10],[4642,12],[4768,12]]},"1472":{"position":[[1700,13],[2342,6],[2437,6],[2878,12],[2997,12],[3304,12],[3483,12],[3541,10],[3593,12],[3719,12],[4417,12],[5116,12],[5174,10],[5226,12],[5352,12]]},"1473":{"position":[[1996,12],[2657,6],[2752,6],[3193,12],[4154,12],[4853,12],[4911,10],[4963,12],[5089,12]]},"1474":{"position":[[2044,6],[2138,6]]},"1475":{"position":[[2515,6],[2609,6]]},"1476":{"position":[[1120,6],[1214,6]]},"1477":{"position":[[1276,6],[1371,6]]},"1478":{"position":[[1767,6],[1862,6]]},"1479":{"position":[[1212,6],[1306,6]]},"1480":{"position":[[1625,6],[1719,6]]},"1481":{"position":[[2158,6],[2252,6]]},"1482":{"position":[[1232,6],[1326,6],[1530,7],[1862,6]]},"1483":{"position":[[1066,6],[1160,6]]},"1484":{"position":[[1138,6],[1232,6]]},"1485":{"position":[[1398,6],[1492,6],[3312,6]]},"1486":{"position":[[1642,6],[1736,6]]},"1487":{"position":[[1341,6],[1436,6]]}},"keywords":{}}],["dependencies,warn",{"_index":7961,"title":{},"content":{"1427":{"position":[[4213,18]]}},"keywords":{}}],["dependencies.absolute_prefix",{"_index":2155,"title":{},"content":{"405":{"position":[[2082,28]]},"784":{"position":[[2082,28]]}},"keywords":{}}],["dependencies.buck2",{"_index":7632,"title":{},"content":{"1398":{"position":[[6307,18]]}},"keywords":{}}],["dependencies.launch_imag",{"_index":6682,"title":{},"content":{"1361":{"position":[[2062,26]]}},"keywords":{}}],["dependenciesdupl",{"_index":7507,"title":{},"content":{"1393":{"position":[[9586,22]]}},"keywords":{}}],["dependenciesneil",{"_index":118,"title":{},"content":{"6":{"position":[[100,16]]}},"keywords":{}}],["dependencies—a",{"_index":3411,"title":{},"content":{"681":{"position":[[252,15]]}},"keywords":{}}],["dependency.get",{"_index":995,"title":{"76":{"position":[[0,15]]},"505":{"position":[[0,15]]}},"content":{},"keywords":{}}],["dependency.get(index",{"_index":996,"title":{},"content":{"76":{"position":[[4,21]]},"505":{"position":[[4,21]]}},"keywords":{}}],["dependency.label",{"_index":1002,"title":{"77":{"position":[[0,17]]},"506":{"position":[[0,17]]}},"content":{"77":{"position":[[0,17]]},"506":{"position":[[0,17]]}},"keywords":{}}],["dependency.provid",{"_index":1003,"title":{"78":{"position":[[0,21]]},"507":{"position":[[0,21]]}},"content":{"78":{"position":[[0,21]]},"507":{"position":[[0,21]]}},"keywords":{}}],["dependency.sub_target",{"_index":1005,"title":{"79":{"position":[[0,22]]},"508":{"position":[[0,22]]}},"content":{},"keywords":{}}],["dependency.sub_target(subtarget",{"_index":1006,"title":{},"content":{"79":{"position":[[4,32]]},"508":{"position":[[4,32]]}},"keywords":{}}],["deploy",{"_index":339,"title":{},"content":{"10":{"position":[[759,10],[783,10]]},"1363":{"position":[[7761,10]]}},"keywords":{}}],["deprec",{"_index":2738,"title":{},"content":{"587":{"position":[[702,10]]},"945":{"position":[[88,10]]},"1136":{"position":[[1833,11]]},"1148":{"position":[[2189,11]]},"1190":{"position":[[227,10]]},"1192":{"position":[[64,10]]},"1205":{"position":[[1313,11]]},"1209":{"position":[[1066,11]]},"1226":{"position":[[3006,11]]},"1235":{"position":[[2326,11]]},"1237":{"position":[[3176,11]]},"1398":{"position":[[2319,11]]},"1416":{"position":[[3519,11]]},"1420":{"position":[[2656,11]]}},"keywords":{}}],["deprecated.manifest_module_entri",{"_index":8330,"title":{},"content":{"1462":{"position":[[7751,35]]}},"keywords":{}}],["deps"",{"_index":4890,"title":{},"content":{"988":{"position":[[56,10]]}},"keywords":{}}],["deps(<targets>",{"_index":6291,"title":{},"content":{"1277":{"position":[[196,21]]},"1308":{"position":[[196,21]]},"1336":{"position":[[196,21]]}},"keywords":{}}],["deps("//java/com/example/app:amazing+more"",{"_index":5861,"title":{},"content":{"1136":{"position":[[534,55]]},"1148":{"position":[[1084,56]]},"1235":{"position":[[876,56]]}},"keywords":{}}],["deps("foo:rule"",{"_index":4797,"title":{},"content":{"964":{"position":[[979,26]]}},"keywords":{}}],["deps('//baz:lib')"",{"_index":6297,"title":{},"content":{"1282":{"position":[[424,23]]},"1283":{"position":[[438,23]]},"1284":{"position":[[417,23]]},"1313":{"position":[[424,23]]},"1314":{"position":[[438,23]]},"1315":{"position":[[417,23]]},"1341":{"position":[[424,23]]},"1342":{"position":[[438,23]]},"1343":{"position":[[417,23]]}},"keywords":{}}],["deps('//baz:lib')"both",{"_index":6298,"title":{},"content":{"1282":{"position":[[501,27]]},"1283":{"position":[[515,27]]},"1284":{"position":[[494,27]]},"1313":{"position":[[501,27]]},"1314":{"position":[[515,27]]},"1315":{"position":[[494,27]]},"1341":{"position":[[501,27]]},"1342":{"position":[[515,27]]},"1343":{"position":[[494,27]]}},"keywords":{}}],["deps('//foo:bar'))"",{"_index":6284,"title":{},"content":{"1271":{"position":[[255,24]]},"1302":{"position":[[255,24]]},"1330":{"position":[[255,24]]}},"keywords":{}}],["deps(//example:bar))"",{"_index":4402,"title":{},"content":{"904":{"position":[[412,26]]}},"keywords":{}}],["deps(//example:foo",{"_index":4403,"title":{},"content":{"904":{"position":[[562,19],[640,19],[756,19],[1391,19],[1452,20]]}},"keywords":{}}],["deps(target",{"_index":6244,"title":{"1268":{"position":[[0,13]]},"1299":{"position":[[0,13]]},"1327":{"position":[[0,13]]}},"content":{"1259":{"position":[[700,13]]},"1290":{"position":[[700,13]]},"1318":{"position":[[700,13]]}},"keywords":{}}],["deps.dur",{"_index":4905,"title":{},"content":{"990":{"position":[[502,11]]}},"keywords":{}}],["deps/toolchain",{"_index":4114,"title":{},"content":{"878":{"position":[[1211,16]]}},"keywords":{}}],["deps_queri",{"_index":7033,"title":{},"content":{"1373":{"position":[[851,11]]},"1382":{"position":[[899,11],[4449,11],[4948,10]]},"1384":{"position":[[840,11]]},"1388":{"position":[[1032,11],[5143,11],[5642,10]]},"1413":{"position":[[695,11]]},"1415":{"position":[[685,11]]},"1416":{"position":[[557,11]]},"1417":{"position":[[527,11]]},"1418":{"position":[[499,11]]},"1419":{"position":[[501,11]]},"1429":{"position":[[955,11]]},"1433":{"position":[[667,11]]},"1440":{"position":[[1029,11]]},"1442":{"position":[[408,11],[1439,11],[1938,10]]},"1462":{"position":[[1230,11]]},"1467":{"position":[[1297,11]]},"1475":{"position":[[731,11]]}},"keywords":{}}],["depsargu",{"_index":3410,"title":{},"content":{"681":{"position":[[203,13]]}},"keywords":{}}],["depsattribut",{"_index":5027,"title":{},"content":{"1006":{"position":[[767,14]]}},"keywords":{}}],["depset",{"_index":745,"title":{},"content":{"23":{"position":[[2220,7]]}},"keywords":{}}],["depth",{"_index":1476,"title":{"1084":{"position":[[14,6]]},"1268":{"position":[[33,6]]},"1275":{"position":[[63,6]]},"1299":{"position":[[33,6]]},"1306":{"position":[[63,6]]},"1327":{"position":[[33,6]]},"1334":{"position":[[63,6]]}},"content":{"239":{"position":[[375,6]]},"328":{"position":[[275,6]]},"335":{"position":[[519,6]]},"469":{"position":[[156,6]]},"475":{"position":[[281,6]]},"1088":{"position":[[310,5]]},"1133":{"position":[[446,5]]},"1259":{"position":[[733,6],[1479,6]]},"1290":{"position":[[733,6],[1479,6]]},"1318":{"position":[[733,6],[1479,6]]}},"keywords":{}}],["deriv",{"_index":3524,"title":{},"content":{"693":{"position":[[1641,6]]},"704":{"position":[[1351,7]]},"1018":{"position":[[102,7]]},"1127":{"position":[[472,7]]},"1363":{"position":[[6228,7],[6642,7]]},"1403":{"position":[[7397,6]]}},"keywords":{}}],["descend",{"_index":3647,"title":{},"content":{"705":{"position":[[653,7]]},"1088":{"position":[[531,12]]}},"keywords":{}}],["describ",{"_index":2091,"title":{},"content":{"396":{"position":[[88,10]]},"671":{"position":[[49,10]]},"676":{"position":[[272,9]]},"717":{"position":[[472,8]]},"775":{"position":[[88,10]]},"943":{"position":[[268,8]]},"965":{"position":[[569,9]]},"980":{"position":[[258,8]]},"988":{"position":[[766,8]]},"1052":{"position":[[14,9]]},"1071":{"position":[[956,9]]},"1112":{"position":[[831,10]]},"1219":{"position":[[444,9]]},"1260":{"position":[[1071,8]]},"1291":{"position":[[1071,8]]},"1319":{"position":[[1071,8]]},"1384":{"position":[[11988,9],[12044,9],[12240,9],[12300,9]]},"1403":{"position":[[6225,9]]},"1469":{"position":[[2248,9]]},"1487":{"position":[[1620,8]]}},"keywords":{}}],["descript",{"_index":2676,"title":{},"content":{"581":{"position":[[869,11]]},"680":{"position":[[552,11]]}},"keywords":{}}],["descriptionpreord",{"_index":5598,"title":{},"content":{"1088":{"position":[[262,19]]}},"keywords":{}}],["design",{"_index":2769,"title":{"1103":{"position":[[13,7]]}},"content":{"591":{"position":[[339,10]]},"693":{"position":[[4067,8]]},"696":{"position":[[9,8],[159,6]]},"898":{"position":[[564,6]]},"1104":{"position":[[1452,9],[1524,9]]},"1156":{"position":[[62,8]]}},"keywords":{}}],["desir",{"_index":1768,"title":{},"content":{"320":{"position":[[439,7]]},"722":{"position":[[1173,7]]},"873":{"position":[[522,7]]},"954":{"position":[[243,7]]},"959":{"position":[[387,6]]},"1054":{"position":[[1161,7]]},"1393":{"position":[[3424,8],[4311,9],[5415,8]]},"1395":{"position":[[2123,9]]}},"keywords":{}}],["despit",{"_index":740,"title":{},"content":{"23":{"position":[[2048,7]]}},"keywords":{}}],["dest",{"_index":1071,"title":{},"content":{"87":{"position":[[22,5]]},"88":{"position":[[23,5]]},"95":{"position":[[26,5]]},"219":{"position":[[22,5]]},"220":{"position":[[23,5]]},"227":{"position":[[26,5]]}},"keywords":{}}],["destin",{"_index":1073,"title":{},"content":{"88":{"position":[[132,11]]},"95":{"position":[[149,11]]},"220":{"position":[[132,11]]},"227":{"position":[[149,11]]},"476":{"position":[[390,11]]},"1050":{"position":[[1536,11]]},"1155":{"position":[[337,11]]},"1366":{"position":[[566,12],[1975,12],[2002,11]]}},"keywords":{}}],["destination_specifi",{"_index":6965,"title":{},"content":{"1367":{"position":[[2008,22]]}},"keywords":{}}],["destroy",{"_index":1340,"title":{},"content":{"125":{"position":[[192,8]]},"248":{"position":[[192,8]]}},"keywords":{}}],["desugar_dep",{"_index":6610,"title":{},"content":{"1358":{"position":[[637,13]]},"1458":{"position":[[615,13]]}},"keywords":{}}],["detail",{"_index":1018,"title":{"1089":{"position":[[15,8]]},"1098":{"position":[[0,7]]}},"content":{"81":{"position":[[404,7]]},"92":{"position":[[1929,7]]},"94":{"position":[[2703,8]]},"97":{"position":[[159,8]]},"213":{"position":[[404,7]]},"224":{"position":[[1929,7]]},"226":{"position":[[2703,8]]},"229":{"position":[[159,8]]},"362":{"position":[[1028,8]]},"363":{"position":[[447,8]]},"366":{"position":[[277,8]]},"367":{"position":[[303,8]]},"368":{"position":[[515,8]]},"374":{"position":[[460,8]]},"377":{"position":[[524,8]]},"379":{"position":[[223,8]]},"386":{"position":[[371,8]]},"389":{"position":[[238,8]]},"396":{"position":[[308,8]]},"398":{"position":[[178,8]]},"399":{"position":[[181,8]]},"405":{"position":[[1199,8]]},"423":{"position":[[89,7]]},"450":{"position":[[108,8]]},"630":{"position":[[127,8]]},"636":{"position":[[133,8]]},"644":{"position":[[162,8]]},"648":{"position":[[145,8]]},"652":{"position":[[127,8]]},"662":{"position":[[143,8]]},"668":{"position":[[109,8]]},"670":{"position":[[160,8]]},"671":{"position":[[128,8]]},"680":{"position":[[535,8]]},"693":{"position":[[8026,8]]},"715":{"position":[[989,7]]},"716":{"position":[[153,8]]},"726":{"position":[[9,6]]},"741":{"position":[[1028,8]]},"742":{"position":[[447,8]]},"745":{"position":[[277,8]]},"746":{"position":[[303,8]]},"747":{"position":[[515,8]]},"753":{"position":[[460,8]]},"756":{"position":[[524,8]]},"758":{"position":[[223,8]]},"765":{"position":[[371,8]]},"768":{"position":[[238,8]]},"775":{"position":[[308,8]]},"777":{"position":[[178,8]]},"778":{"position":[[181,8]]},"784":{"position":[[1199,8]]},"802":{"position":[[89,7]]},"829":{"position":[[108,8]]},"840":{"position":[[1539,8]]},"898":{"position":[[338,8]]},"1016":{"position":[[167,8]]},"1050":{"position":[[3541,6]]},"1068":{"position":[[190,8]]},"1069":{"position":[[304,8]]},"1102":{"position":[[416,7]]},"1114":{"position":[[973,7]]},"1120":{"position":[[691,8]]},"1126":{"position":[[648,7],[1592,7]]},"1131":{"position":[[654,8]]},"1138":{"position":[[5072,8]]},"1140":{"position":[[4561,8]]},"1167":{"position":[[5565,8]]},"1172":{"position":[[367,7]]},"1188":{"position":[[4614,8]]},"1217":{"position":[[4306,8]]},"1228":{"position":[[6387,8]]},"1237":{"position":[[5,7]]},"1249":{"position":[[24,8],[143,7]]},"1348":{"position":[[4429,8],[4481,7]]},"1351":{"position":[[2985,8]]},"1353":{"position":[[2263,8]]},"1354":{"position":[[3084,8]]},"1355":{"position":[[7590,8]]},"1356":{"position":[[1950,8]]},"1358":{"position":[[2809,8],[2861,7]]},"1359":{"position":[[2163,8]]},"1360":{"position":[[5734,8]]},"1361":{"position":[[2337,8]]},"1362":{"position":[[5334,8],[12849,6],[13535,8]]},"1363":{"position":[[5839,8]]},"1364":{"position":[[5363,8],[13549,6],[14235,8]]},"1365":{"position":[[1762,8]]},"1366":{"position":[[3257,8]]},"1367":{"position":[[12757,6],[14355,8]]},"1370":{"position":[[2530,8]]},"1373":{"position":[[8344,8]]},"1374":{"position":[[2611,8]]},"1380":{"position":[[1718,8]]},"1381":{"position":[[2465,8]]},"1382":{"position":[[11211,6],[11595,8]]},"1383":{"position":[[8239,8]]},"1384":{"position":[[18865,6],[19827,8]]},"1385":{"position":[[6789,6],[7173,8]]},"1386":{"position":[[1985,8]]},"1387":{"position":[[10162,6],[10546,8]]},"1388":{"position":[[9704,6],[10311,8]]},"1390":{"position":[[1943,8]]},"1391":{"position":[[1758,8]]},"1392":{"position":[[2435,8]]},"1393":{"position":[[8833,8],[8935,8],[8944,8]]},"1395":{"position":[[776,7],[2241,8],[3114,8],[3184,8]]},"1396":{"position":[[1672,8]]},"1397":{"position":[[755,7],[2891,8]]},"1398":{"position":[[4941,8]]},"1399":{"position":[[2010,8]]},"1401":{"position":[[1473,8]]},"1402":{"position":[[2113,8]]},"1403":{"position":[[7339,8]]},"1404":{"position":[[1492,8]]},"1405":{"position":[[3900,8]]},"1407":{"position":[[4519,8]]},"1408":{"position":[[2836,8]]},"1410":{"position":[[5534,8]]},"1412":{"position":[[3664,8]]},"1415":{"position":[[5419,8]]},"1416":{"position":[[3531,8]]},"1420":{"position":[[2668,8]]},"1421":{"position":[[2386,8]]},"1422":{"position":[[3861,8]]},"1423":{"position":[[2631,8]]},"1427":{"position":[[7079,8]]},"1439":{"position":[[7909,8]]},"1442":{"position":[[2584,6],[2968,8]]},"1443":{"position":[[1777,8]]},"1444":{"position":[[1923,8]]},"1446":{"position":[[2432,8]]},"1448":{"position":[[2712,8]]},"1449":{"position":[[2646,8]]},"1453":{"position":[[1855,8]]},"1454":{"position":[[9634,8]]},"1455":{"position":[[4454,8]]},"1456":{"position":[[1507,8]]},"1457":{"position":[[1875,8]]},"1458":{"position":[[2461,8]]},"1459":{"position":[[2230,8]]},"1461":{"position":[[2889,8]]},"1462":{"position":[[8873,8]]},"1465":{"position":[[4227,8]]},"1467":{"position":[[10644,8]]},"1469":{"position":[[2442,8]]},"1471":{"position":[[2648,6],[5326,8]]},"1472":{"position":[[2607,6],[6212,8]]},"1473":{"position":[[2922,6],[5776,8]]},"1477":{"position":[[2589,8]]},"1478":{"position":[[2692,8]]},"1482":{"position":[[1457,8]]},"1483":{"position":[[1375,8]]},"1485":{"position":[[4075,6],[4459,8]]},"1486":{"position":[[2977,8]]},"1487":{"position":[[2988,8]]}},"keywords":{}}],["detailed_untracked_header_messag",{"_index":7362,"title":{},"content":{"1389":{"position":[[2133,35]]}},"keywords":{}}],["detect",{"_index":3796,"title":{},"content":{"718":{"position":[[210,8]]},"832":{"position":[[309,7]]},"890":{"position":[[2969,6]]},"965":{"position":[[171,7]]},"1050":{"position":[[619,6],[1032,6]]},"1112":{"position":[[2951,6]]},"1136":{"position":[[3591,8]]},"1138":{"position":[[7253,8]]},"1140":{"position":[[713,9],[6179,8]]},"1142":{"position":[[1623,8]]},"1146":{"position":[[1563,8]]},"1148":{"position":[[4603,8]]},"1155":{"position":[[1659,8]]},"1156":{"position":[[1237,8]]},"1167":{"position":[[7183,8]]},"1169":{"position":[[1022,8]]},"1186":{"position":[[2827,8]]},"1187":{"position":[[2840,8]]},"1188":{"position":[[766,9],[7566,8]]},"1191":{"position":[[1427,8]]},"1192":{"position":[[1602,8]]},"1193":{"position":[[1654,8]]},"1194":{"position":[[1294,8]]},"1195":{"position":[[1272,8]]},"1196":{"position":[[1082,8]]},"1197":{"position":[[2065,8]]},"1198":{"position":[[2075,8]]},"1199":{"position":[[2103,8]]},"1200":{"position":[[1970,8]]},"1201":{"position":[[1230,8]]},"1202":{"position":[[2372,8],[6769,8]]},"1203":{"position":[[1464,8]]},"1204":{"position":[[1308,8]]},"1205":{"position":[[2637,8]]},"1206":{"position":[[1108,8]]},"1207":{"position":[[1265,8]]},"1209":{"position":[[2613,8]]},"1217":{"position":[[5924,8]]},"1219":{"position":[[1910,8]]},"1222":{"position":[[1034,8]]},"1223":{"position":[[1044,8]]},"1224":{"position":[[1224,8]]},"1226":{"position":[[6392,8]]},"1228":{"position":[[8005,8]]},"1233":{"position":[[208,10]]},"1235":{"position":[[3873,8]]},"1237":{"position":[[6562,8]]},"1241":{"position":[[156,10]]},"1373":{"position":[[6042,8]]},"1393":{"position":[[9540,9]]},"1405":{"position":[[3366,8]]},"1407":{"position":[[3787,8]]},"1408":{"position":[[2406,8]]},"1410":{"position":[[4774,8],[5000,10]]},"1427":{"position":[[4009,7]]},"1487":{"position":[[1802,7]]}},"keywords":{}}],["detection.resourc",{"_index":7758,"title":{},"content":{"1407":{"position":[[4012,20]]}},"keywords":{}}],["detection.src",{"_index":7737,"title":{},"content":{"1405":{"position":[[3591,15]]}},"keywords":{}}],["detector",{"_index":39,"title":{},"content":{"4":{"position":[[100,8]]}},"keywords":{}}],["determin",{"_index":364,"title":{},"content":{"11":{"position":[[308,13]]},"593":{"position":[[83,9]]},"648":{"position":[[541,10]]},"693":{"position":[[4398,10],[10245,10]]},"695":{"position":[[769,9]]},"706":{"position":[[4,12],[21,11]]},"856":{"position":[[349,9]]},"860":{"position":[[62,9]]},"919":{"position":[[925,13]]},"943":{"position":[[286,10],[2181,10]]},"951":{"position":[[538,10]]},"964":{"position":[[446,10]]},"1011":{"position":[[214,10]]},"1014":{"position":[[161,10]]},"1040":{"position":[[2071,9]]},"1079":{"position":[[718,10],[830,10],[922,10]]},"1211":{"position":[[214,9]]},"1355":{"position":[[6499,9]]},"1360":{"position":[[3920,9]]},"1362":{"position":[[10652,10],[12734,9]]},"1364":{"position":[[11619,10],[13434,9]]},"1367":{"position":[[12642,9]]},"1373":{"position":[[5169,10]]},"1382":{"position":[[7521,10],[11096,9]]},"1384":{"position":[[13585,10],[16567,10],[18750,9],[19933,10]]},"1385":{"position":[[6674,9]]},"1387":{"position":[[6645,10],[10047,9]]},"1388":{"position":[[8390,10],[9589,9]]},"1403":{"position":[[3335,9]]},"1405":{"position":[[2741,10],[2940,10]]},"1407":{"position":[[2263,10],[3162,10],[3361,10]]},"1410":{"position":[[3742,10],[3942,10]]},"1416":{"position":[[2817,10]]},"1422":{"position":[[3300,10]]},"1427":{"position":[[5698,9]]},"1439":{"position":[[7607,9]]},"1442":{"position":[[2469,9]]},"1454":{"position":[[8866,10]]},"1462":{"position":[[8790,10]]},"1465":{"position":[[4144,10]]},"1467":{"position":[[10561,10]]},"1471":{"position":[[3784,10]]},"1472":{"position":[[3255,10],[4368,10]]},"1473":{"position":[[4105,10]]},"1477":{"position":[[2213,10]]},"1485":{"position":[[3960,9]]}},"keywords":{}}],["determinist",{"_index":128,"title":{},"content":{"6":{"position":[[285,13]]},"22":{"position":[[2049,13]]},"706":{"position":[[271,14],[487,14],[894,14],[1061,13],[1354,13],[1422,14]]},"715":{"position":[[76,14]]},"870":{"position":[[1324,14]]},"1226":{"position":[[1793,13],[4024,13]]},"1237":{"position":[[1963,13],[4194,13]]}},"keywords":{}}],["dev",{"_index":4593,"title":{},"content":{"937":{"position":[[1580,3],[4091,4]]},"1393":{"position":[[4607,3]]}},"keywords":{}}],["develop",{"_index":189,"title":{},"content":{"9":{"position":[[425,11],[804,10],[2543,9],[2638,7]]},"10":{"position":[[271,9],[1144,9]]},"12":{"position":[[133,12]]},"13":{"position":[[226,12]]},"16":{"position":[[119,9]]},"22":{"position":[[441,9]]},"23":{"position":[[3107,9]]},"678":{"position":[[273,11]]},"685":{"position":[[63,11]]},"693":{"position":[[7786,9]]},"696":{"position":[[336,10]]},"869":{"position":[[851,11]]},"955":{"position":[[328,10]]},"1037":{"position":[[572,12]]},"1102":{"position":[[1105,12]]},"1351":{"position":[[1973,10]]},"1393":{"position":[[4393,10],[5107,10],[5559,10]]}},"keywords":{}}],["developer_path",{"_index":6989,"title":{},"content":{"1368":{"position":[[737,15]]}},"keywords":{}}],["devic",{"_index":5973,"title":{},"content":{"1167":{"position":[[603,6],[638,7],[786,6],[935,7],[969,7]]}},"keywords":{}}],["device'",{"_index":8105,"title":{},"content":{"1446":{"position":[[2230,8]]},"1459":{"position":[[2203,8]]}},"keywords":{}}],["devirt_en",{"_index":6703,"title":{},"content":{"1362":{"position":[[977,15]]},"1364":{"position":[[994,15]]},"1367":{"position":[[2051,15]]},"1373":{"position":[[879,15]]},"1382":{"position":[[927,15]]},"1384":{"position":[[868,15]]},"1387":{"position":[[947,15]]},"1388":{"position":[[1060,15]]},"1415":{"position":[[713,15]]},"1462":{"position":[[1258,15]]},"1467":{"position":[[1325,15]]}},"keywords":{}}],["devop",{"_index":134,"title":{},"content":{"7":{"position":[[30,6]]}},"keywords":{}}],["devx",{"_index":4490,"title":{},"content":{"919":{"position":[[823,4]]},"997":{"position":[[0,4],[253,4]]}},"keywords":{}}],["dex_compress",{"_index":6426,"title":{},"content":{"1350":{"position":[[1469,16]]},"1352":{"position":[[1468,16]]}},"keywords":{}}],["dex_group_lib_limit",{"_index":6427,"title":{},"content":{"1350":{"position":[[1502,20]]},"1352":{"position":[[1501,20]]}},"keywords":{}}],["dex_tool",{"_index":6428,"title":{},"content":{"1350":{"position":[[1532,9]]},"1352":{"position":[[1531,9]]},"1353":{"position":[[730,9]]}},"keywords":{}}],["dfoo",{"_index":5564,"title":{},"content":{"1082":{"position":[[1264,5]]},"1084":{"position":[[648,4]]}},"keywords":{}}],["dfoo={}").ignore_artifact",{"_index":2166,"title":{},"content":{"406":{"position":[[376,33]]},"785":{"position":[[376,33]]}},"keywords":{}}],["diagnos",{"_index":5898,"title":{},"content":{"1136":{"position":[[4708,8]]},"1138":{"position":[[8370,8]]},"1140":{"position":[[7296,8]]},"1142":{"position":[[2740,8]]},"1146":{"position":[[2680,8]]},"1148":{"position":[[5720,8]]},"1155":{"position":[[2776,8]]},"1156":{"position":[[2354,8]]},"1167":{"position":[[8300,8]]},"1169":{"position":[[2139,8]]},"1186":{"position":[[3944,8]]},"1187":{"position":[[3957,8]]},"1188":{"position":[[8683,8]]},"1191":{"position":[[2544,8]]},"1192":{"position":[[2719,8]]},"1193":{"position":[[2771,8]]},"1194":{"position":[[2411,8]]},"1195":{"position":[[2389,8]]},"1196":{"position":[[2199,8]]},"1197":{"position":[[3182,8]]},"1198":{"position":[[3192,8]]},"1199":{"position":[[3220,8]]},"1200":{"position":[[3087,8]]},"1201":{"position":[[2347,8]]},"1202":{"position":[[3489,8],[7886,8]]},"1203":{"position":[[2581,8]]},"1204":{"position":[[2425,8]]},"1205":{"position":[[3754,8]]},"1206":{"position":[[2225,8]]},"1207":{"position":[[2382,8]]},"1209":{"position":[[3730,8]]},"1217":{"position":[[7041,8]]},"1219":{"position":[[3027,8]]},"1222":{"position":[[2151,8]]},"1223":{"position":[[2161,8]]},"1224":{"position":[[2341,8]]},"1226":{"position":[[7509,8]]},"1228":{"position":[[9122,8]]},"1235":{"position":[[4990,8]]},"1237":{"position":[[7679,8]]}},"keywords":{}}],["diagnost",{"_index":864,"title":{},"content":{"41":{"position":[[805,11]]},"174":{"position":[[805,11]]},"983":{"position":[[7,11]]},"1362":{"position":[[1003,12]]},"1364":{"position":[[1020,12]]},"1367":{"position":[[2077,12]]},"1384":{"position":[[894,12]]},"1387":{"position":[[973,12]]}},"keywords":{}}],["diagram",{"_index":3788,"title":{},"content":{"715":{"position":[[1562,7]]},"716":{"position":[[14,7]]},"1353":{"position":[[2328,7]]}},"keywords":{}}],["dialect",{"_index":3582,"title":{},"content":{"693":{"position":[[7757,7]]}},"keywords":{}}],["dice",{"_index":3816,"title":{},"content":{"832":{"position":[[61,4],[526,5]]},"951":{"position":[[1470,4]]},"955":{"position":[[758,4],[927,4]]},"965":{"position":[[349,5]]},"966":{"position":[[281,5]]},"1120":{"position":[[553,4]]},"1126":{"position":[[1642,4]]},"1136":{"position":[[5321,4],[5362,4],[5561,4]]},"1138":{"position":[[8983,4],[9024,4],[9223,4]]},"1140":{"position":[[7909,4],[7950,4],[8149,4]]},"1142":{"position":[[3353,4],[3394,4],[3593,4]]},"1146":{"position":[[3293,4],[3334,4],[3533,4]]},"1148":{"position":[[6333,4],[6374,4],[6573,4]]},"1155":{"position":[[3389,4],[3430,4],[3629,4]]},"1156":{"position":[[2967,4],[3008,4],[3207,4]]},"1161":{"position":[[860,4],[901,4],[1100,4]]},"1167":{"position":[[8913,4],[8954,4],[9153,4]]},"1181":{"position":[[1072,4],[1113,4],[1312,4]]},"1186":{"position":[[4557,4],[4598,4],[4797,4]]},"1187":{"position":[[4570,4],[4611,4],[4810,4]]},"1188":{"position":[[9296,4],[9337,4],[9536,4]]},"1191":{"position":[[3157,4],[3198,4],[3397,4]]},"1192":{"position":[[3332,4],[3373,4],[3572,4]]},"1193":{"position":[[3384,4],[3425,4],[3624,4]]},"1194":{"position":[[3024,4],[3065,4],[3264,4]]},"1195":{"position":[[3002,4],[3043,4],[3242,4]]},"1196":{"position":[[2812,4],[2853,4],[3052,4]]},"1197":{"position":[[3795,4],[3836,4],[4035,4]]},"1198":{"position":[[3805,4],[3846,4],[4045,4]]},"1199":{"position":[[3833,4],[3874,4],[4073,4]]},"1200":{"position":[[3700,4],[3741,4],[3940,4]]},"1201":{"position":[[2960,4],[3001,4],[3200,4]]},"1202":{"position":[[4102,4],[4143,4],[4342,4],[8499,4],[8540,4],[8739,4]]},"1203":{"position":[[3194,4],[3235,4],[3434,4]]},"1204":{"position":[[3038,4],[3079,4],[3278,4]]},"1205":{"position":[[4367,4],[4408,4],[4607,4]]},"1206":{"position":[[2838,4],[2879,4],[3078,4]]},"1207":{"position":[[2995,4],[3036,4],[3235,4]]},"1209":{"position":[[4343,4],[4384,4],[4583,4]]},"1217":{"position":[[7654,4],[7695,4],[7894,4]]},"1222":{"position":[[2764,4],[2805,4],[3004,4]]},"1223":{"position":[[2774,4],[2815,4],[3014,4]]},"1226":{"position":[[8122,4],[8163,4],[8362,4]]},"1228":{"position":[[9735,4],[9776,4],[9975,4]]},"1235":{"position":[[5603,4],[5644,4],[5843,4]]},"1237":{"position":[[8292,4],[8333,4],[8532,4]]}},"keywords":{}}],["dicethat",{"_index":754,"title":{},"content":{"23":{"position":[[2497,8]]}},"keywords":{}}],["dice’",{"_index":3821,"title":{},"content":{"832":{"position":[[958,6]]}},"keywords":{}}],["dict",{"_index":837,"title":{"552":{"position":[[0,4]]},"636":{"position":[[0,5]]}},"content":{"37":{"position":[[39,4],[283,5]]},"132":{"position":[[139,4],[170,4]]},"182":{"position":[[39,4],[283,5]]},"240":{"position":[[215,4]]},"242":{"position":[[482,4]]},"255":{"position":[[139,4],[170,4]]},"294":{"position":[[1253,4]]},"297":{"position":[[992,4]]},"298":{"position":[[2132,4]]},"301":{"position":[[1203,4]]},"310":{"position":[[671,4]]},"311":{"position":[[513,4]]},"329":{"position":[[275,4]]},"345":{"position":[[486,4],[543,4]]},"400":{"position":[[369,4]]},"470":{"position":[[215,4]]},"558":{"position":[[444,4]]},"560":{"position":[[285,5],[332,5]]},"636":{"position":[[62,5],[142,4],[343,4],[501,6]]},"779":{"position":[[369,4]]},"851":{"position":[[1420,5]]},"854":{"position":[[110,4]]},"864":{"position":[[258,5]]},"1004":{"position":[[1638,4]]},"1006":{"position":[[399,4],[802,4]]},"1042":{"position":[[547,4]]},"1044":{"position":[[695,5],[759,4]]},"1057":{"position":[[949,4]]},"1363":{"position":[[3983,4]]}},"keywords":{}}],["dict(**{'a",{"_index":3100,"title":{},"content":{"636":{"position":[[514,12]]}},"keywords":{}}],["dict(*arg",{"_index":3098,"title":{},"content":{"636":{"position":[[4,11]]}},"keywords":{}}],["dict([('x",{"_index":3107,"title":{},"content":{"636":{"position":[[737,11],[788,11]]}},"keywords":{}}],["dict([(1",{"_index":3102,"title":{},"content":{"636":{"position":[[570,9],[609,9],[699,9]]}},"keywords":{}}],["dict(one=1",{"_index":3104,"title":{},"content":{"636":{"position":[[656,11]]}},"keywords":{}}],["dict({'a",{"_index":3101,"title":{},"content":{"636":{"position":[[543,10]]}},"keywords":{}}],["dict.clear",{"_index":2494,"title":{"553":{"position":[[0,11]]}},"content":{"553":{"position":[[4,12],[29,11]]}},"keywords":{}}],["dict.get",{"_index":2502,"title":{"554":{"position":[[0,9]]}},"content":{"554":{"position":[[35,9]]}},"keywords":{}}],["dict.get(key",{"_index":2503,"title":{},"content":{"554":{"position":[[4,13]]}},"keywords":{}}],["dict.item",{"_index":2509,"title":{"555":{"position":[[0,11]]}},"content":{"555":{"position":[[4,12],[55,11]]},"1254":{"position":[[139,12]]}},"keywords":{}}],["dict.key",{"_index":2515,"title":{"556":{"position":[[0,10]]}},"content":{"556":{"position":[[4,11],[40,10]]}},"keywords":{}}],["dict.pop",{"_index":2518,"title":{"557":{"position":[[0,9]]}},"content":{"557":{"position":[[35,9]]}},"keywords":{}}],["dict.pop(key",{"_index":2519,"title":{},"content":{"557":{"position":[[4,13]]}},"keywords":{}}],["dict.popitem",{"_index":2526,"title":{"558":{"position":[[0,13]]}},"content":{"558":{"position":[[4,14],[51,13]]}},"keywords":{}}],["dict.setdefault",{"_index":2530,"title":{"559":{"position":[[0,16]]}},"content":{"559":{"position":[[42,16]]}},"keywords":{}}],["dict.setdefault(key",{"_index":2531,"title":{},"content":{"559":{"position":[[4,20]]}},"keywords":{}}],["dict.upd",{"_index":2540,"title":{"560":{"position":[[0,12]]}},"content":{"560":{"position":[[52,12]]}},"keywords":{}}],["dict.update(pair",{"_index":2541,"title":{},"content":{"560":{"position":[[4,17]]}},"keywords":{}}],["dict.valu",{"_index":2556,"title":{"561":{"position":[[0,12]]}},"content":{"561":{"position":[[4,13],[42,12]]}},"keywords":{}}],["dict[artifact",{"_index":1118,"title":{},"content":{"92":{"position":[[224,14],[256,14]]},"224":{"position":[[224,14],[256,14]]},"411":{"position":[[81,14],[122,14]]},"790":{"position":[[81,14],[122,14]]}},"keywords":{}}],["dict[configur",{"_index":5717,"title":{},"content":{"1112":{"position":[[989,19]]}},"keywords":{}}],["dict[int",{"_index":4370,"title":{},"content":{"900":{"position":[[797,9]]}},"keywords":{}}],["dict[label",{"_index":1609,"title":{},"content":{"294":{"position":[[441,11]]},"297":{"position":[[423,11]]}},"keywords":{}}],["dict[providers_label",{"_index":1446,"title":{},"content":{"210":{"position":[[23,21]]},"211":{"position":[[24,21]]}},"keywords":{}}],["dict[str",{"_index":1014,"title":{},"content":{"81":{"position":[[60,9]]},"82":{"position":[[61,9],[116,9]]},"86":{"position":[[72,9]]},"94":{"position":[[325,9],[765,9]]},"96":{"position":[[75,9]]},"213":{"position":[[60,9]]},"214":{"position":[[61,9],[116,9]]},"218":{"position":[[72,9]]},"226":{"position":[[325,9],[765,9]]},"228":{"position":[[75,9]]},"242":{"position":[[114,9]]},"310":{"position":[[229,9]]},"363":{"position":[[88,9],[575,9]]},"368":{"position":[[363,9],[2419,9]]},"374":{"position":[[743,9],[908,9],[1533,9],[1648,9]]},"375":{"position":[[41,9],[247,9]]},"377":{"position":[[292,9],[1496,9]]},"389":{"position":[[1707,9],[1754,9]]},"400":{"position":[[80,9],[154,9]]},"403":{"position":[[50,9]]},"421":{"position":[[26,9]]},"427":{"position":[[80,9]]},"437":{"position":[[75,9]]},"447":{"position":[[48,9]]},"448":{"position":[[41,9],[86,9],[125,9]]},"711":{"position":[[196,9],[353,9]]},"742":{"position":[[88,9],[575,9]]},"747":{"position":[[363,9],[2419,9]]},"753":{"position":[[743,9],[908,9],[1533,9],[1648,9]]},"754":{"position":[[41,9],[247,9]]},"756":{"position":[[292,9],[1496,9]]},"768":{"position":[[1707,9],[1754,9]]},"779":{"position":[[80,9],[154,9]]},"782":{"position":[[50,9]]},"800":{"position":[[26,9]]},"806":{"position":[[80,9]]},"816":{"position":[[75,9]]},"826":{"position":[[48,9]]},"827":{"position":[[41,9],[86,9],[125,9]]},"1112":{"position":[[647,9],[1665,9],[2341,9]]},"1348":{"position":[[335,9],[545,9],[1312,9],[1322,9],[1698,9],[1819,9]]},"1349":{"position":[[346,9],[481,9],[547,9]]},"1350":{"position":[[338,9],[955,9],[1021,9],[2162,9],[2513,9],[2634,9],[3067,9]]},"1351":{"position":[[344,9]]},"1352":{"position":[[338,9],[955,9],[1021,9],[2161,9],[2512,9],[2633,9],[3066,9]]},"1353":{"position":[[351,9],[1021,9]]},"1354":{"position":[[352,9],[679,9],[734,9],[951,9],[987,9],[997,9],[1038,9]]},"1355":{"position":[[339,9],[602,9],[1313,9],[1323,9]]},"1356":{"position":[[340,9]]},"1357":{"position":[[311,9],[399,9]]},"1358":{"position":[[344,9]]},"1359":{"position":[[340,9],[459,9],[807,9]]},"1360":{"position":[[335,9],[1107,9],[1233,9]]},"1361":{"position":[[314,9]]},"1362":{"position":[[307,9],[600,9],[936,9],[1016,9],[1307,9],[1370,9],[1443,9],[1609,9],[2184,9],[2384,9],[2448,9],[2504,9],[2577,9],[2641,9],[2916,9],[3361,9]]},"1363":{"position":[[307,9],[1345,9],[2056,9]]},"1364":{"position":[[308,9],[653,9],[953,9],[1033,9],[1289,9],[1352,9],[1425,9],[1591,9],[2195,9],[2395,9],[2459,9],[2515,9],[2588,9],[2652,9],[2927,9],[3326,9],[3823,9]]},"1365":{"position":[[308,9]]},"1366":{"position":[[309,9],[702,9]]},"1367":{"position":[[305,9],[1501,9],[1546,9],[1967,9],[2031,9],[2090,9],[2292,9],[2437,9],[2500,9],[2573,9],[2739,9],[3375,9],[3662,9],[3748,9],[3804,9],[3877,9],[3941,9],[4216,9],[4608,9],[6129,9]]},"1368":{"position":[[310,9]]},"1369":{"position":[[314,9]]},"1370":{"position":[[321,9]]},"1371":{"position":[[312,9]]},"1372":{"position":[[309,9],[1733,9]]},"1373":{"position":[[306,9],[810,9],[1225,9],[1370,9],[1426,9],[1499,9],[1563,9],[1828,9],[2148,9]]},"1374":{"position":[[308,9],[498,9],[601,9]]},"1375":{"position":[[309,9],[401,9]]},"1376":{"position":[[314,9]]},"1377":{"position":[[311,9]]},"1378":{"position":[[313,9]]},"1379":{"position":[[311,9]]},"1380":{"position":[[310,9]]},"1381":{"position":[[309,9],[601,9]]},"1382":{"position":[[305,9],[858,9],[1264,9],[1409,9],[1465,9],[1538,9],[1602,9],[1942,9],[2351,9],[2821,9]]},"1383":{"position":[[306,9],[985,9],[1111,9]]},"1384":{"position":[[306,9],[799,9],[907,9],[1052,9],[1115,9],[1188,9],[1405,9],[1973,9],[2165,9],[2221,9],[2294,9],[2358,9],[2666,9],[3050,9],[3692,9]]},"1385":{"position":[[312,9],[564,9],[720,9],[865,9],[921,9],[994,9],[1058,9],[1338,9]]},"1386":{"position":[[317,9]]},"1387":{"position":[[315,9],[906,9],[986,9],[1131,9],[1194,9],[1267,9],[1484,9],[2023,9],[2215,9],[2271,9],[2344,9],[2408,9],[2640,9],[3017,9],[3624,9]]},"1388":{"position":[[303,9],[991,9],[1180,9],[1449,9],[1594,9],[1650,9],[1723,9],[1787,9],[2127,9],[2536,9],[3014,9],[3073,9],[3172,9]]},"1389":{"position":[[308,9]]},"1390":{"position":[[303,9],[533,9]]},"1391":{"position":[[304,9],[534,9]]},"1392":{"position":[[301,9],[531,9]]},"1393":{"position":[[305,9],[496,9],[604,9],[794,9]]},"1394":{"position":[[314,9],[496,9]]},"1395":{"position":[[309,9],[581,9]]},"1396":{"position":[[314,9],[462,9]]},"1397":{"position":[[309,9],[544,9],[574,9]]},"1398":{"position":[[306,9],[602,9],[702,9],[823,9],[924,9],[983,9]]},"1399":{"position":[[306,9]]},"1400":{"position":[[315,9]]},"1401":{"position":[[304,9],[500,9]]},"1402":{"position":[[332,9]]},"1403":{"position":[[302,9],[705,9],[1010,9],[1136,9]]},"1404":{"position":[[304,9]]},"1405":{"position":[[304,9]]},"1406":{"position":[[314,9]]},"1407":{"position":[[314,9]]},"1408":{"position":[[305,9]]},"1409":{"position":[[304,9]]},"1410":{"position":[[302,9],[858,9],[1206,9],[1265,9]]},"1411":{"position":[[309,9]]},"1412":{"position":[[309,9],[357,9]]},"1413":{"position":[[306,9],[354,9],[728,9]]},"1414":{"position":[[305,9]]},"1415":{"position":[[309,9],[471,9],[481,9],[644,9],[941,9],[1086,9],[1142,9],[1215,9],[1279,9],[1544,9],[1804,9]]},"1416":{"position":[[309,9],[943,9],[1235,9]]},"1417":{"position":[[307,9],[923,9]]},"1418":{"position":[[310,9]]},"1419":{"position":[[306,9],[782,9]]},"1420":{"position":[[310,9],[943,9]]},"1421":{"position":[[319,9],[856,9]]},"1422":{"position":[[307,9]]},"1423":{"position":[[304,9]]},"1424":{"position":[[306,9],[992,9]]},"1425":{"position":[[320,9]]},"1426":{"position":[[306,9]]},"1427":{"position":[[307,9],[542,9]]},"1428":{"position":[[306,9]]},"1429":{"position":[[304,9],[577,9],[988,9],[1584,9],[1643,9]]},"1430":{"position":[[311,9],[359,9]]},"1431":{"position":[[333,9]]},"1432":{"position":[[312,9],[1238,9]]},"1433":{"position":[[305,9]]},"1434":{"position":[[307,9]]},"1435":{"position":[[312,9],[429,9]]},"1436":{"position":[[308,9]]},"1437":{"position":[[305,9]]},"1438":{"position":[[303,9]]},"1439":{"position":[[309,9],[572,9],[1238,9],[1248,9]]},"1440":{"position":[[306,9],[607,9],[1062,9],[1437,9],[1447,9],[1785,9],[1844,9]]},"1441":{"position":[[311,9]]},"1442":{"position":[[312,9]]},"1443":{"position":[[305,9]]},"1444":{"position":[[306,9],[579,9]]},"1445":{"position":[[309,9]]},"1446":{"position":[[306,9]]},"1447":{"position":[[308,9]]},"1448":{"position":[[307,9],[863,9]]},"1449":{"position":[[308,9],[805,9]]},"1450":{"position":[[307,9],[810,9]]},"1451":{"position":[[307,9],[810,9]]},"1452":{"position":[[303,9]]},"1453":{"position":[[319,9]]},"1454":{"position":[[315,9],[654,9],[717,9],[790,9],[956,9],[2506,9],[2613,9]]},"1455":{"position":[[321,9],[620,9],[786,9],[819,9]]},"1456":{"position":[[318,9]]},"1457":{"position":[[314,9]]},"1458":{"position":[[307,9]]},"1459":{"position":[[318,9]]},"1460":{"position":[[317,9]]},"1461":{"position":[[318,9]]},"1462":{"position":[[308,9],[1189,9],[1685,9],[1865,9],[1921,9],[1994,9],[2058,9],[2398,9],[2810,9],[2832,9],[3154,9],[3850,9],[3918,9]]},"1463":{"position":[[318,9]]},"1464":{"position":[[319,9]]},"1465":{"position":[[309,9],[876,9],[936,9],[1027,9],[1065,9],[1109,9],[1243,9],[1322,9]]},"1466":{"position":[[322,9],[472,9],[597,9],[656,9]]},"1467":{"position":[[306,9],[1256,9],[1476,9],[1821,9],[2040,9],[2096,9],[2169,9],[2233,9],[2573,9],[2963,9],[2985,9],[3358,9],[3582,9],[4069,9],[4128,9],[4285,9],[4377,9],[4438,9],[4783,9],[4862,9]]},"1468":{"position":[[313,9]]},"1469":{"position":[[306,9]]},"1470":{"position":[[340,9],[641,9],[1113,9],[1523,9],[1533,9],[1717,9],[2106,9],[2165,9]]},"1471":{"position":[[306,9],[879,9],[1240,9],[1389,9],[1440,9],[1483,9]]},"1472":{"position":[[307,9],[779,9],[899,9],[976,9],[1252,9],[1303,9],[1396,9]]},"1473":{"position":[[304,9],[910,9],[1292,9],[1441,9],[1492,9],[1543,9],[1602,9],[1701,9],[1747,9]]},"1474":{"position":[[308,9],[356,9]]},"1475":{"position":[[305,9],[353,9],[764,9]]},"1476":{"position":[[311,9]]},"1477":{"position":[[304,9]]},"1478":{"position":[[302,9],[533,9],[651,9],[702,9],[761,9],[897,9]]},"1479":{"position":[[319,9]]},"1480":{"position":[[308,9]]},"1481":{"position":[[310,9]]},"1482":{"position":[[305,9]]},"1483":{"position":[[310,9]]},"1484":{"position":[[310,9],[482,9]]},"1485":{"position":[[311,9],[441,9],[561,9]]},"1486":{"position":[[306,9],[482,9]]},"1487":{"position":[[303,9]]}},"keywords":{}}],["dict[target_label",{"_index":1926,"title":{},"content":{"363":{"position":[[39,18],[519,18]]},"742":{"position":[[39,18],[519,18]]}},"keywords":{}}],["dict[targetlabel",{"_index":5714,"title":{},"content":{"1112":{"position":[[334,17],[867,17]]}},"keywords":{}}],["dict[typing.ani",{"_index":1270,"title":{},"content":{"99":{"position":[[398,16]]},"231":{"position":[[398,16]]},"345":{"position":[[334,16]]},"636":{"position":[[32,16]]}},"keywords":{}}],["dictionari",{"_index":1068,"title":{},"content":{"86":{"position":[[198,10]]},"94":{"position":[[3821,10]]},"96":{"position":[[196,10]]},"99":{"position":[[816,11]]},"218":{"position":[[198,10]]},"226":{"position":[[3821,10]]},"228":{"position":[[196,10]]},"231":{"position":[[816,11]]},"304":{"position":[[146,10]]},"389":{"position":[[980,10],[1058,10],[1111,10],[1537,10]]},"553":{"position":[[49,10],[97,10],[144,10]]},"554":{"position":[[72,11],[118,10],[174,10]]},"555":{"position":[[167,10]]},"556":{"position":[[79,11],[142,10]]},"557":{"position":[[84,11],[196,11],[215,10],[380,10]]},"558":{"position":[[115,11],[194,11],[227,10]]},"559":{"position":[[78,11],[173,10],[229,10],[423,11],[487,10]]},"560":{"position":[[86,11],[182,10],[723,10]]},"561":{"position":[[85,11],[230,11]]},"636":{"position":[[78,11],[157,11],[331,11],[452,11]]},"663":{"position":[[1238,13]]},"768":{"position":[[980,10],[1058,10],[1111,10],[1537,10]]},"890":{"position":[[3801,10]]},"900":{"position":[[826,10]]},"901":{"position":[[1192,13]]},"940":{"position":[[428,10]]},"944":{"position":[[129,10],[1899,10],[2149,11]]},"1058":{"position":[[960,10]]},"1235":{"position":[[472,12]]},"1254":{"position":[[549,10]]},"1262":{"position":[[552,11],[647,11]]},"1293":{"position":[[552,11],[647,11]]},"1321":{"position":[[552,11],[647,11]]},"1362":{"position":[[6918,10],[7390,10],[9006,10],[9406,10]]},"1363":{"position":[[5115,10]]},"1364":{"position":[[7157,10],[7629,10],[10120,10],[10520,10]]},"1367":{"position":[[9094,10],[9494,10],[10031,10],[14135,10]]},"1373":{"position":[[4706,10]]},"1382":{"position":[[5776,10],[8725,10]]},"1384":{"position":[[6338,10],[8066,10],[10723,10],[15070,10]]},"1385":{"position":[[3689,10],[4954,10]]},"1387":{"position":[[6022,10],[8327,10]]},"1388":{"position":[[6645,10]]},"1416":{"position":[[3498,10]]},"1420":{"position":[[2635,10]]},"1454":{"position":[[5042,10],[6465,10]]},"1467":{"position":[[9140,11]]},"1485":{"position":[[2057,10],[2989,10]]}},"keywords":{}}],["dictionary'",{"_index":2558,"title":{},"content":{"561":{"position":[[142,12]]}},"keywords":{}}],["dictionary.package_styl",{"_index":8332,"title":{},"content":{"1462":{"position":[[8080,25]]}},"keywords":{}}],["didn't",{"_index":4043,"title":{},"content":{"867":{"position":[[1985,6]]}},"keywords":{}}],["diff",{"_index":5641,"title":{},"content":{"1102":{"position":[[1000,5]]}},"keywords":{}}],["diff/pr.buck2",{"_index":44,"title":{},"content":{"4":{"position":[[178,13]]}},"keywords":{}}],["differ",{"_index":108,"title":{"23":{"position":[[7,9]]},"703":{"position":[[62,10]]},"704":{"position":[[13,13]]},"833":{"position":[[11,10]]},"835":{"position":[[12,10]]},"947":{"position":[[28,6]]}},"content":{"5":{"position":[[465,7]]},"9":{"position":[[2727,10]]},"10":{"position":[[57,9]]},"22":{"position":[[186,9],[1544,9]]},"23":{"position":[[21,11],[152,9],[2593,9],[3333,12]]},"24":{"position":[[287,11],[564,11]]},"298":{"position":[[3033,9]]},"314":{"position":[[390,7]]},"334":{"position":[[638,9]]},"362":{"position":[[1549,9]]},"474":{"position":[[377,9]]},"582":{"position":[[453,9]]},"616":{"position":[[529,9]]},"688":{"position":[[380,9]]},"693":{"position":[[3258,9],[3301,9],[3666,9],[3817,6]]},"704":{"position":[[1276,9]]},"705":{"position":[[114,10]]},"706":{"position":[[68,12]]},"741":{"position":[[1549,9]]},"841":{"position":[[417,9]]},"846":{"position":[[24,9],[1775,9]]},"890":{"position":[[210,9],[1129,9]]},"900":{"position":[[1845,9],[1867,9]]},"904":{"position":[[1561,9]]},"924":{"position":[[733,9]]},"937":{"position":[[89,9],[1221,9],[1430,9],[1559,9],[2875,9],[2990,9]]},"947":{"position":[[65,10]]},"966":{"position":[[0,9]]},"987":{"position":[[769,9]]},"991":{"position":[[2668,9]]},"1009":{"position":[[122,9]]},"1011":{"position":[[50,9],[602,9]]},"1018":{"position":[[53,9]]},"1020":{"position":[[81,9]]},"1022":{"position":[[219,9],[279,9]]},"1024":{"position":[[88,6]]},"1026":{"position":[[204,9],[249,9]]},"1042":{"position":[[288,10]]},"1045":{"position":[[32,11]]},"1088":{"position":[[183,9],[1240,9]]},"1097":{"position":[[40,9]]},"1098":{"position":[[576,10]]},"1114":{"position":[[895,9]]},"1136":{"position":[[3511,9],[3572,9],[3779,9],[3892,9],[3934,9],[3955,9]]},"1138":{"position":[[7173,9],[7234,9],[7441,9],[7554,9],[7596,9],[7617,9]]},"1140":{"position":[[6099,9],[6160,9],[6367,9],[6480,9],[6522,9],[6543,9]]},"1142":{"position":[[444,9],[1543,9],[1604,9],[1811,9],[1924,9],[1966,9],[1987,9]]},"1146":{"position":[[1483,9],[1544,9],[1751,9],[1864,9],[1906,9],[1927,9]]},"1148":{"position":[[272,9],[4523,9],[4584,9],[4791,9],[4904,9],[4946,9],[4967,9]]},"1155":{"position":[[1579,9],[1640,9],[1847,9],[1960,9],[2002,9],[2023,9]]},"1156":{"position":[[1157,9],[1218,9],[1425,9],[1538,9],[1580,9],[1601,9]]},"1167":{"position":[[7103,9],[7164,9],[7371,9],[7484,9],[7526,9],[7547,9]]},"1169":{"position":[[942,9],[1003,9],[1210,9],[1323,9],[1365,9],[1386,9]]},"1172":{"position":[[1564,9]]},"1173":{"position":[[864,9]]},"1186":{"position":[[2747,9],[2808,9],[3015,9],[3128,9],[3170,9],[3191,9]]},"1187":{"position":[[2760,9],[2821,9],[3028,9],[3141,9],[3183,9],[3204,9]]},"1188":{"position":[[7486,9],[7547,9],[7754,9],[7867,9],[7909,9],[7930,9]]},"1191":{"position":[[1347,9],[1408,9],[1615,9],[1728,9],[1770,9],[1791,9]]},"1192":{"position":[[1522,9],[1583,9],[1790,9],[1903,9],[1945,9],[1966,9]]},"1193":{"position":[[1574,9],[1635,9],[1842,9],[1955,9],[1997,9],[2018,9]]},"1194":{"position":[[1214,9],[1275,9],[1482,9],[1595,9],[1637,9],[1658,9]]},"1195":{"position":[[1192,9],[1253,9],[1460,9],[1573,9],[1615,9],[1636,9]]},"1196":{"position":[[1002,9],[1063,9],[1270,9],[1383,9],[1425,9],[1446,9]]},"1197":{"position":[[1985,9],[2046,9],[2253,9],[2366,9],[2408,9],[2429,9]]},"1198":{"position":[[1995,9],[2056,9],[2263,9],[2376,9],[2418,9],[2439,9]]},"1199":{"position":[[2023,9],[2084,9],[2291,9],[2404,9],[2446,9],[2467,9]]},"1200":{"position":[[1890,9],[1951,9],[2158,9],[2271,9],[2313,9],[2334,9]]},"1201":{"position":[[1150,9],[1211,9],[1418,9],[1531,9],[1573,9],[1594,9]]},"1202":{"position":[[2292,9],[2353,9],[2560,9],[2673,9],[2715,9],[2736,9],[6689,9],[6750,9],[6957,9],[7070,9],[7112,9],[7133,9]]},"1203":{"position":[[1384,9],[1445,9],[1652,9],[1765,9],[1807,9],[1828,9]]},"1204":{"position":[[1228,9],[1289,9],[1496,9],[1609,9],[1651,9],[1672,9]]},"1205":{"position":[[2557,9],[2618,9],[2825,9],[2938,9],[2980,9],[3001,9]]},"1206":{"position":[[1028,9],[1089,9],[1296,9],[1409,9],[1451,9],[1472,9]]},"1207":{"position":[[1185,9],[1246,9],[1453,9],[1566,9],[1608,9],[1629,9]]},"1209":{"position":[[2533,9],[2594,9],[2801,9],[2914,9],[2956,9],[2977,9]]},"1217":{"position":[[5844,9],[5905,9],[6112,9],[6225,9],[6267,9],[6288,9]]},"1219":{"position":[[1830,9],[1891,9],[2098,9],[2211,9],[2253,9],[2274,9]]},"1222":{"position":[[954,9],[1015,9],[1222,9],[1335,9],[1377,9],[1398,9]]},"1223":{"position":[[964,9],[1025,9],[1232,9],[1345,9],[1387,9],[1408,9]]},"1224":{"position":[[1144,9],[1205,9],[1412,9],[1525,9],[1567,9],[1588,9]]},"1226":{"position":[[1261,9],[1841,9],[6312,9],[6373,9],[6580,9],[6693,9],[6735,9],[6756,9]]},"1228":{"position":[[7925,9],[7986,9],[8193,9],[8306,9],[8348,9],[8369,9]]},"1235":{"position":[[3793,9],[3854,9],[4061,9],[4174,9],[4216,9],[4237,9]]},"1237":{"position":[[1431,9],[2011,9],[6482,9],[6543,9],[6750,9],[6863,9],[6905,9],[6926,9]]},"1243":{"position":[[313,9],[444,9],[526,9]]},"1247":{"position":[[613,9]]},"1254":{"position":[[620,9]]},"1351":{"position":[[3756,9]]},"1362":{"position":[[5158,6]]},"1364":{"position":[[5187,6]]},"1366":{"position":[[3204,9]]},"1370":{"position":[[1759,9]]},"1383":{"position":[[4912,9]]},"1384":{"position":[[21889,9]]},"1386":{"position":[[6131,9],[6162,11],[6204,9]]},"1393":{"position":[[6312,11]]},"1399":{"position":[[2619,9]]},"1403":{"position":[[7564,9]]},"1482":{"position":[[1776,9]]},"1486":{"position":[[2951,9]]}},"keywords":{}}],["differenttarget",{"_index":3548,"title":{},"content":{"693":{"position":[[3831,15]]}},"keywords":{}}],["difficult",{"_index":4503,"title":{},"content":{"919":{"position":[[2392,9]]}},"keywords":{}}],["difficulti",{"_index":308,"title":{},"content":{"9":{"position":[[2865,12]]}},"keywords":{}}],["digest",{"_index":1039,"title":{"897":{"position":[[8,8]]},"971":{"position":[[0,6]]}},"content":{"85":{"position":[[68,7],[267,7],[453,6],[628,6],[684,6]]},"90":{"position":[[70,6],[127,7],[231,6]]},"94":{"position":[[2307,6]]},"217":{"position":[[68,7],[267,7],[453,6],[628,6],[684,6]]},"222":{"position":[[70,6],[127,7],[231,6]]},"226":{"position":[[2307,6]]},"445":{"position":[[53,6],[112,7]]},"693":{"position":[[541,7]]},"704":{"position":[[1666,8],[1865,6],[2362,7]]},"705":{"position":[[19,8],[88,7],[294,6],[544,7]]},"724":{"position":[[373,6],[533,7],[663,7],[676,6]]},"824":{"position":[[53,6],[112,7]]},"895":{"position":[[601,6]]},"973":{"position":[[41,7],[99,6],[152,6],[229,7],[291,7],[353,6]]},"975":{"position":[[228,7],[381,7]]},"1050":{"position":[[1299,7],[1553,6],[3673,7]]},"1112":{"position":[[3212,6],[3233,7]]},"1172":{"position":[[418,7],[549,6],[611,6]]}},"keywords":{}}],["digest'",{"_index":1052,"title":{},"content":{"85":{"position":[[381,8]]},"217":{"position":[[381,8]]}},"keywords":{}}],["digest_algorithm",{"_index":6313,"title":{},"content":{"1345":{"position":[[1392,17]]}},"keywords":{}}],["digest_config",{"_index":1097,"title":{"100":{"position":[[0,13]]},"499":{"position":[[0,13]]}},"content":{"90":{"position":[[34,13]]},"222":{"position":[[34,13]]}},"keywords":{}}],["digest_config.allows_blake3",{"_index":1284,"title":{"101":{"position":[[0,28]]},"500":{"position":[[0,28]]}},"content":{"101":{"position":[[4,29]]},"500":{"position":[[4,29]]}},"keywords":{}}],["digest_config.allows_blake3_key",{"_index":1285,"title":{"102":{"position":[[0,34]]},"501":{"position":[[0,34]]}},"content":{"102":{"position":[[4,35]]},"501":{"position":[[4,35]]}},"keywords":{}}],["digest_config.allows_sha1",{"_index":1286,"title":{"103":{"position":[[0,26]]},"502":{"position":[[0,26]]}},"content":{"103":{"position":[[4,27]]},"502":{"position":[[4,27]]}},"keywords":{}}],["digest_config.allows_sha256",{"_index":1287,"title":{"104":{"position":[[0,28]]},"503":{"position":[[0,28]]}},"content":{"104":{"position":[[4,29]]},"503":{"position":[[4,29]]}},"keywords":{}}],["digit",{"_index":2846,"title":{},"content":{"597":{"position":[[98,7],[198,7]]},"599":{"position":[[86,7],[177,7]]},"1404":{"position":[[1457,5]]}},"keywords":{}}],["dir",{"_index":434,"title":{"637":{"position":[[0,4]]}},"content":{"13":{"position":[[441,3]]},"69":{"position":[[460,4],[499,3]]},"89":{"position":[[66,4],[1148,3]]},"221":{"position":[[66,4],[1148,3]]},"316":{"position":[[114,4],[140,3]]},"408":{"position":[[1007,4],[1046,3]]},"457":{"position":[[460,4],[499,3]]},"637":{"position":[[31,4]]},"692":{"position":[[151,5],[195,3],[225,3]]},"693":{"position":[[5039,4]]},"787":{"position":[[1007,4],[1046,3]]},"910":{"position":[[121,3]]},"1136":{"position":[[3731,4]]},"1138":{"position":[[3031,3],[7393,4]]},"1140":{"position":[[2520,3],[6319,4]]},"1142":{"position":[[1763,4]]},"1146":{"position":[[1703,4]]},"1148":{"position":[[4743,4]]},"1155":{"position":[[349,3],[1799,4]]},"1156":{"position":[[201,3],[242,3],[1377,4]]},"1167":{"position":[[3524,3],[7323,4]]},"1169":{"position":[[1162,4]]},"1186":{"position":[[2967,4]]},"1187":{"position":[[2980,4]]},"1188":{"position":[[2573,3],[7706,4]]},"1191":{"position":[[1567,4]]},"1192":{"position":[[1742,4]]},"1193":{"position":[[1794,4]]},"1194":{"position":[[1434,4]]},"1195":{"position":[[221,3],[1412,4]]},"1196":{"position":[[1222,4]]},"1197":{"position":[[2205,4]]},"1198":{"position":[[2215,4]]},"1199":{"position":[[2243,4]]},"1200":{"position":[[2110,4]]},"1201":{"position":[[1370,4]]},"1202":{"position":[[2512,4],[6909,4]]},"1203":{"position":[[1604,4]]},"1204":{"position":[[1448,4]]},"1205":{"position":[[2777,4]]},"1206":{"position":[[1248,4]]},"1207":{"position":[[1405,4]]},"1209":{"position":[[2753,4]]},"1211":{"position":[[197,3]]},"1217":{"position":[[2265,3],[6064,4]]},"1219":{"position":[[2050,4]]},"1222":{"position":[[1174,4]]},"1223":{"position":[[1184,4]]},"1224":{"position":[[1364,4]]},"1226":{"position":[[6532,4]]},"1228":{"position":[[4346,3],[8145,4]]},"1235":{"position":[[4013,4]]},"1237":{"position":[[6702,4]]},"1243":{"position":[[1218,4]]},"1258":{"position":[[491,3]]},"1289":{"position":[[491,3]]},"1317":{"position":[[491,3]]},"1361":{"position":[[454,5],[2403,4],[2536,4]]},"1366":{"position":[[595,5],[3338,4]]},"1402":{"position":[[1932,3]]}},"keywords":{}}],["dir("abc"",{"_index":3114,"title":{},"content":{"637":{"position":[[260,20]]}},"keywords":{}}],["dir(list",{"_index":4219,"title":{},"content":{"890":{"position":[[2125,11]]}},"keywords":{}}],["dir(my_struct",{"_index":3952,"title":{},"content":{"857":{"position":[[12,14]]}},"keywords":{}}],["dir(v",{"_index":3311,"title":{},"content":{"663":{"position":[[818,6]]},"901":{"position":[[773,6]]}},"keywords":{}}],["dir(x",{"_index":3109,"title":{},"content":{"637":{"position":[[4,6],[64,6]]}},"keywords":{}}],["dir/file1.txt",{"_index":8628,"title":{},"content":{"1487":{"position":[[3886,13]]}},"keywords":{}}],["dir/subdir/file2.txt",{"_index":8629,"title":{},"content":{"1487":{"position":[[3900,20]]}},"keywords":{}}],["direactori",{"_index":7058,"title":{},"content":{"1373":{"position":[[5953,10]]},"1405":{"position":[[3277,10]]},"1407":{"position":[[3698,10]]},"1408":{"position":[[2317,10]]},"1410":{"position":[[4685,10]]}},"keywords":{}}],["direct",{"_index":3027,"title":{},"content":{"622":{"position":[[349,6]]},"684":{"position":[[44,8]]},"693":{"position":[[4224,8]]},"695":{"position":[[284,8]]},"958":{"position":[[220,6]]},"990":{"position":[[81,6]]},"991":{"position":[[1096,6],[1152,6]]},"1097":{"position":[[311,6]]},"1133":{"position":[[575,6]]},"1193":{"position":[[561,7]]},"1226":{"position":[[4346,6]]},"1237":{"position":[[4516,6]]},"1361":{"position":[[792,6]]},"1366":{"position":[[1070,6]]},"1373":{"position":[[8398,10]]},"1380":{"position":[[687,6]]},"1382":{"position":[[7318,6]]},"1386":{"position":[[5890,9]]},"1388":{"position":[[8187,6]]},"1416":{"position":[[2616,6]]},"1462":{"position":[[6236,6]]},"1467":{"position":[[7349,6]]}},"keywords":{}}],["direct_deps(target",{"_index":5097,"title":{},"content":{"1026":{"position":[[1475,20]]}},"keywords":{}}],["directli",{"_index":1142,"title":{},"content":{"92":{"position":[[1634,9]]},"224":{"position":[[1634,9]]},"693":{"position":[[1984,8]]},"846":{"position":[[807,8]]},"847":{"position":[[23,8]]},"858":{"position":[[152,8]]},"870":{"position":[[1372,8]]},"889":{"position":[[548,8]]},"905":{"position":[[1370,8]]},"955":{"position":[[1328,8]]},"958":{"position":[[341,8]]},"987":{"position":[[431,8]]},"991":{"position":[[3103,8]]},"1060":{"position":[[140,8]]},"1133":{"position":[[957,8]]},"1150":{"position":[[253,8]]},"1228":{"position":[[2428,8]]},"1358":{"position":[[2780,8]]},"1393":{"position":[[1333,9]]},"1394":{"position":[[782,9]]}},"keywords":{}}],["directly.artifact",{"_index":5139,"title":{},"content":{"1040":{"position":[[1406,18]]}},"keywords":{}}],["directori",{"_index":464,"title":{"977":{"position":[[10,12]]},"1073":{"position":[[8,10]]}},"content":{"15":{"position":[[588,10]]},"18":{"position":[[1927,10],[2100,9]]},"23":{"position":[[545,9]]},"50":{"position":[[184,9]]},"51":{"position":[[96,10]]},"69":{"position":[[26,10],[224,10],[378,10]]},"86":{"position":[[144,9],[252,10],[316,10]]},"87":{"position":[[114,10]]},"88":{"position":[[275,12]]},"89":{"position":[[579,9],[1208,10]]},"94":{"position":[[2134,9],[4072,10],[4268,9]]},"95":{"position":[[295,12]]},"96":{"position":[[146,9],[250,10],[310,10]]},"197":{"position":[[184,9]]},"198":{"position":[[96,10]]},"218":{"position":[[144,9],[252,10],[316,10]]},"219":{"position":[[114,10]]},"220":{"position":[[275,12]]},"221":{"position":[[579,9],[1208,10]]},"226":{"position":[[2134,9],[4072,10],[4268,9]]},"227":{"position":[[295,12]]},"228":{"position":[[146,9],[250,10],[310,10]]},"314":{"position":[[182,9]]},"318":{"position":[[172,10],[270,12]]},"405":{"position":[[2227,9],[2262,9]]},"408":{"position":[[448,10],[520,9],[754,10],[917,10]]},"418":{"position":[[318,10]]},"457":{"position":[[26,10],[224,10],[378,10]]},"570":{"position":[[43,9],[185,9]]},"581":{"position":[[183,12],[196,9],[279,9],[338,9],[468,9],[600,9],[756,9],[810,9]]},"583":{"position":[[331,10],[777,9],[845,9]]},"584":{"position":[[1512,9]]},"587":{"position":[[411,9]]},"622":{"position":[[853,10],[982,10]]},"675":{"position":[[1259,10]]},"680":{"position":[[74,9]]},"686":{"position":[[112,9],[156,10]]},"693":{"position":[[1753,9],[1775,11],[2153,9],[5109,9],[5147,9],[5504,9],[5589,9],[6156,9]]},"708":{"position":[[431,9]]},"717":{"position":[[173,9],[292,10],[386,9]]},"718":{"position":[[102,9]]},"784":{"position":[[2227,9],[2262,9]]},"787":{"position":[[448,10],[520,9],[754,10],[917,10]]},"797":{"position":[[318,10]]},"867":{"position":[[137,10]]},"910":{"position":[[63,9],[105,9],[144,9],[471,9]]},"911":{"position":[[54,10],[216,10],[251,9]]},"951":{"position":[[825,9]]},"955":{"position":[[217,9],[726,9]]},"977":{"position":[[35,11],[121,9],[251,9],[312,11],[355,9],[389,11]]},"997":{"position":[[34,9]]},"1000":{"position":[[79,9],[104,12],[233,9],[258,9]]},"1050":{"position":[[2468,9]]},"1064":{"position":[[887,10],[1878,10],[2047,9]]},"1102":{"position":[[588,9]]},"1124":{"position":[[274,9]]},"1156":{"position":[[269,9]]},"1172":{"position":[[682,9]]},"1191":{"position":[[215,9],[423,9]]},"1211":{"position":[[248,9],[307,10]]},"1217":{"position":[[510,9]]},"1359":{"position":[[977,12]]},"1360":{"position":[[3556,9],[3650,9],[3836,10],[3978,10],[4010,10],[4148,12],[4220,12],[4277,9],[4465,9],[5062,10]]},"1361":{"position":[[687,12]]},"1362":{"position":[[8321,10],[13672,11]]},"1364":{"position":[[9170,10],[9312,9],[14372,11]]},"1366":{"position":[[895,12],[2372,9],[3064,9]]},"1367":{"position":[[8409,10]]},"1382":{"position":[[5471,9],[6267,11],[6380,9]]},"1383":{"position":[[6497,9],[7170,10],[7896,9]]},"1384":{"position":[[10418,9],[11214,11],[11327,9],[16888,11],[17037,9],[17136,11],[17339,9]]},"1385":{"position":[[3113,9],[3385,9]]},"1387":{"position":[[5390,9],[5718,9]]},"1388":{"position":[[7136,11],[7249,9]]},"1393":{"position":[[2390,10],[5943,9],[5969,9],[7015,10],[7233,10],[9931,10]]},"1395":{"position":[[2318,9]]},"1398":{"position":[[3899,9],[3979,9],[4008,9],[4179,10],[5235,10],[5536,9]]},"1403":{"position":[[2971,9],[3065,9],[3251,10],[3393,10],[3425,10],[3563,12],[3635,12],[3692,9],[3880,9],[5219,10],[5459,10],[6996,9]]},"1407":{"position":[[4079,9]]},"1412":{"position":[[3858,9],[4060,9]]},"1415":{"position":[[5828,10]]},"1422":{"position":[[2279,9],[2686,10],[2943,9]]},"1427":{"position":[[7334,9]]},"1439":{"position":[[6020,10],[8160,9]]},"1444":{"position":[[1740,9],[2100,9]]},"1446":{"position":[[2010,9],[2561,9]]},"1454":{"position":[[7322,9]]},"1459":{"position":[[1767,9],[1983,9]]},"1462":{"position":[[5614,9],[8946,10]]},"1465":{"position":[[2544,9],[4533,9]]},"1467":{"position":[[6109,9],[11063,9]]},"1469":{"position":[[2138,10]]},"1470":{"position":[[4722,9]]},"1471":{"position":[[4101,9]]},"1472":{"position":[[4685,9]]},"1473":{"position":[[4422,9]]},"1477":{"position":[[2143,9],[2474,9]]},"1485":{"position":[[1753,9],[2547,11],[2660,9]]}},"keywords":{}}],["directories).accept",{"_index":4833,"title":{},"content":{"975":{"position":[[170,21]]}},"keywords":{}}],["directory'",{"_index":2158,"title":{},"content":{"405":{"position":[[2317,11]]},"784":{"position":[[2317,11]]},"1477":{"position":[[2189,11],[2275,11]]}},"keywords":{}}],["directory.fil",{"_index":2662,"title":{},"content":{"581":{"position":[[248,14]]},"583":{"position":[[659,15]]}},"keywords":{}}],["directory.th",{"_index":2691,"title":{},"content":{"583":{"position":[[716,13]]}},"keywords":{}}],["directory/etc",{"_index":2667,"title":{},"content":{"581":{"position":[[509,15]]}},"keywords":{}}],["directory/output.o",{"_index":1095,"title":{},"content":{"89":{"position":[[1124,19]]},"221":{"position":[[1124,19]]}},"keywords":{}}],["dirnam",{"_index":7772,"title":{},"content":{"1407":{"position":[[5125,8]]}},"keywords":{}}],["dirs_onli",{"_index":1754,"title":{},"content":{"318":{"position":[[65,10],[245,9]]}},"keywords":{}}],["dirti",{"_index":5966,"title":{},"content":{"1161":{"position":[[273,5]]}},"keywords":{}}],["disabl",{"_index":477,"title":{"692":{"position":[[11,9]]}},"content":{"16":{"position":[[42,8]]},"94":{"position":[[2919,7]]},"226":{"position":[[2919,7]]},"942":{"position":[[1817,8]]},"1056":{"position":[[660,9]]},"1120":{"position":[[252,7]]},"1136":{"position":[[4571,7],[4594,7],[5636,7]]},"1138":{"position":[[2807,7],[8233,7],[8256,7],[9298,7]]},"1140":{"position":[[2296,7],[7159,7],[7182,7],[8224,7]]},"1142":{"position":[[2603,7],[2626,7],[3668,7]]},"1146":{"position":[[2543,7],[2566,7],[3608,7]]},"1148":{"position":[[5583,7],[5606,7],[6648,7]]},"1155":{"position":[[2639,7],[2662,7],[3704,7]]},"1156":{"position":[[2217,7],[2240,7],[3282,7]]},"1161":{"position":[[1175,7]]},"1167":{"position":[[3300,7],[8163,7],[8186,7],[9228,7]]},"1169":{"position":[[2002,7],[2025,7]]},"1181":{"position":[[1387,7]]},"1186":{"position":[[3807,7],[3830,7],[4872,7]]},"1187":{"position":[[3820,7],[3843,7],[4885,7]]},"1188":{"position":[[2349,7],[8546,7],[8569,7],[9611,7]]},"1191":{"position":[[2407,7],[2430,7],[3472,7]]},"1192":{"position":[[2582,7],[2605,7],[3647,7]]},"1193":{"position":[[2634,7],[2657,7],[3699,7]]},"1194":{"position":[[2274,7],[2297,7],[3339,7]]},"1195":{"position":[[2252,7],[2275,7],[3317,7]]},"1196":{"position":[[2062,7],[2085,7],[3127,7]]},"1197":{"position":[[3045,7],[3068,7],[4110,7]]},"1198":{"position":[[3055,7],[3078,7],[4120,7]]},"1199":{"position":[[3083,7],[3106,7],[4148,7]]},"1200":{"position":[[2950,7],[2973,7],[4015,7]]},"1201":{"position":[[2210,7],[2233,7],[3275,7]]},"1202":{"position":[[3352,7],[3375,7],[4417,7],[7749,7],[7772,7],[8814,7]]},"1203":{"position":[[2444,7],[2467,7],[3509,7]]},"1204":{"position":[[2288,7],[2311,7],[3353,7]]},"1205":{"position":[[3617,7],[3640,7],[4682,7]]},"1206":{"position":[[2088,7],[2111,7],[3153,7]]},"1207":{"position":[[2245,7],[2268,7],[3310,7]]},"1209":{"position":[[3593,7],[3616,7],[4658,7]]},"1217":{"position":[[2041,7],[6904,7],[6927,7],[7969,7]]},"1219":{"position":[[2890,7],[2913,7]]},"1222":{"position":[[2014,7],[2037,7],[3079,7]]},"1223":{"position":[[2024,7],[2047,7],[3089,7]]},"1224":{"position":[[2204,7],[2227,7]]},"1226":{"position":[[7372,7],[7395,7],[8437,7]]},"1228":{"position":[[2397,7],[4122,7],[8985,7],[9008,7],[10050,7]]},"1235":{"position":[[4853,7],[4876,7],[5918,7]]},"1237":{"position":[[7542,7],[7565,7],[8607,7]]},"1239":{"position":[[51,7]]},"1354":{"position":[[2449,8]]}},"keywords":{}}],["disable_anim",{"_index":6523,"title":{},"content":{"1354":{"position":[[644,19]]}},"keywords":{}}],["disable_pre_dex",{"_index":6429,"title":{},"content":{"1350":{"position":[[1551,16]]},"1352":{"position":[[1550,16]]},"1353":{"position":[[749,16]]}},"keywords":{}}],["disappear",{"_index":4168,"title":{},"content":{"888":{"position":[[670,9]]}},"keywords":{}}],["discourag",{"_index":1337,"title":{},"content":{"125":{"position":[[141,12]]},"248":{"position":[[141,12]]},"429":{"position":[[600,11]]},"438":{"position":[[235,12]]},"808":{"position":[[600,11]]},"817":{"position":[[235,12]]},"1398":{"position":[[2926,12]]}},"keywords":{}}],["discov",{"_index":684,"title":{},"content":{"22":{"position":[[1863,8]]},"90":{"position":[[113,8]]},"222":{"position":[[113,8]]},"718":{"position":[[124,8]]},"890":{"position":[[4807,10]]},"1219":{"position":[[627,8]]}},"keywords":{}}],["discoveri",{"_index":4819,"title":{},"content":{"969":{"position":[[91,9]]}},"keywords":{}}],["discuss",{"_index":2616,"title":{},"content":{"573":{"position":[[245,9]]},"584":{"position":[[42,9]]},"1272":{"position":[[246,10]]},"1303":{"position":[[246,10]]},"1331":{"position":[[246,10]]}},"keywords":{}}],["disk",{"_index":1133,"title":{"1077":{"position":[[3,4]]}},"content":{"92":{"position":[[1206,4]]},"94":{"position":[[1783,5]]},"224":{"position":[[1206,4]]},"226":{"position":[[1783,5]]},"315":{"position":[[101,5]]},"344":{"position":[[406,5]]},"416":{"position":[[375,4]]},"417":{"position":[[605,4]]},"688":{"position":[[1445,4]]},"795":{"position":[[375,4]]},"796":{"position":[[605,4]]},"873":{"position":[[581,4]]},"954":{"position":[[302,4]]},"1040":{"position":[[1632,4]]},"1050":{"position":[[1208,4]]},"1077":{"position":[[45,4],[120,4],[253,5]]},"1078":{"position":[[245,4],[336,5]]},"1079":{"position":[[388,4]]},"1100":{"position":[[110,5],[191,4]]},"1103":{"position":[[1101,5]]},"1142":{"position":[[561,4]]},"1383":{"position":[[5751,4]]},"1388":{"position":[[5029,4],[6439,4]]},"1467":{"position":[[6792,4]]}},"keywords":{}}],["display",{"_index":1584,"title":{},"content":{"288":{"position":[[210,7]]},"289":{"position":[[230,7]]},"305":{"position":[[187,9]]},"346":{"position":[[193,9]]},"347":{"position":[[291,9]]},"510":{"position":[[236,7]]},"511":{"position":[[256,7]]},"632":{"position":[[148,7]]},"635":{"position":[[208,8]]},"690":{"position":[[432,7]]},"833":{"position":[[182,9]]},"867":{"position":[[861,8]]},"990":{"position":[[445,9]]},"1120":{"position":[[800,7]]},"1172":{"position":[[2003,7],[2106,7]]}},"keywords":{}}],["dist_lto_tool",{"_index":7363,"title":{},"content":{"1389":{"position":[[2179,15]]}},"keywords":{}}],["dist_thin_lto_codegen_flag",{"_index":7364,"title":{},"content":{"1389":{"position":[[2204,28]]}},"keywords":{}}],["distinct",{"_index":1016,"title":{},"content":{"81":{"position":[[309,8]]},"213":{"position":[[309,8]]},"581":{"position":[[769,8]]},"690":{"position":[[3235,11]]},"995":{"position":[[799,8]]},"1017":{"position":[[908,8],[964,8]]},"1370":{"position":[[1790,8]]},"1386":{"position":[[2424,8]]}},"keywords":{}}],["distinguish",{"_index":4884,"title":{},"content":{"987":{"position":[[566,11]]},"991":{"position":[[1211,11]]}},"keywords":{}}],["distribut",{"_index":733,"title":{},"content":{"23":{"position":[[1791,11]]},"92":{"position":[[449,11]]},"224":{"position":[[449,11]]},"693":{"position":[[6781,11]]},"1461":{"position":[[3282,13]]}},"keywords":{}}],["distributed_thinlto_partial_split_dwarf",{"_index":7146,"title":{},"content":{"1382":{"position":[[953,40]]},"1388":{"position":[[1086,40]]},"1462":{"position":[[1284,40]]},"1467":{"position":[[1351,40]]}},"keywords":{}}],["disturb",{"_index":5392,"title":{},"content":{"1057":{"position":[[658,10]]}},"keywords":{}}],["diverg",{"_index":4710,"title":{},"content":{"944":{"position":[[2007,7]]}},"keywords":{}}],["divid",{"_index":2614,"title":{},"content":{"573":{"position":[[61,7]]},"988":{"position":[[382,6]]}},"keywords":{}}],["dll",{"_index":7127,"title":{},"content":{"1381":{"position":[[1895,4],[1943,3],[1982,3],[2226,4],[2291,3]]},"1383":{"position":[[3727,7],[3855,7]]},"1456":{"position":[[1478,3]]}},"keywords":{}}],["dll_name",{"_index":7119,"title":{},"content":{"1381":{"position":[[503,9],[2570,8]]}},"keywords":{}}],["do",{"_index":1992,"title":{"1233":{"position":[[15,6]]}},"content":{"368":{"position":[[2636,5]]},"706":{"position":[[2076,5]]},"747":{"position":[[2636,5]]},"919":{"position":[[2866,5]]},"975":{"position":[[138,5]]},"1087":{"position":[[395,5]]},"1138":{"position":[[4998,5]]},"1140":{"position":[[4487,5]]},"1167":{"position":[[5491,5]]},"1188":{"position":[[4540,5]]},"1217":{"position":[[4232,5]]},"1228":{"position":[[6313,5]]},"1231":{"position":[[85,6],[446,5]]},"1233":{"position":[[44,5]]},"1241":{"position":[[21,5]]},"1486":{"position":[[3602,5]]}},"keywords":{}}],["do_not_create_inner_jar",{"_index":7948,"title":{},"content":{"1426":{"position":[[629,24]]}},"keywords":{}}],["doc",{"_index":1336,"title":{"839":{"position":[[15,5]]},"1153":{"position":[[0,4]]},"1154":{"position":[[5,5]]},"1155":{"position":[[5,4]]},"1156":{"position":[[5,4]]},"1157":{"position":[[5,4]]},"1158":{"position":[[5,4]]},"1159":{"position":[[5,4]]}},"content":{"125":{"position":[[17,4]]},"126":{"position":[[51,4]]},"127":{"position":[[31,4]]},"128":{"position":[[33,4]]},"129":{"position":[[84,4]]},"130":{"position":[[48,4]]},"131":{"position":[[189,4]]},"132":{"position":[[88,4]]},"133":{"position":[[74,4]]},"134":{"position":[[78,4]]},"135":{"position":[[30,4]]},"136":{"position":[[32,4]]},"137":{"position":[[53,4]]},"138":{"position":[[85,4]]},"139":{"position":[[48,4]]},"140":{"position":[[55,4]]},"141":{"position":[[44,4]]},"142":{"position":[[19,4]]},"143":{"position":[[32,4]]},"144":{"position":[[79,4]]},"145":{"position":[[65,4]]},"146":{"position":[[95,4]]},"147":{"position":[[48,4]]},"148":{"position":[[83,4]]},"149":{"position":[[89,4]]},"150":{"position":[[47,4]]},"151":{"position":[[46,4]]},"248":{"position":[[17,4]]},"249":{"position":[[51,4]]},"250":{"position":[[31,4]]},"251":{"position":[[33,4]]},"252":{"position":[[84,4]]},"253":{"position":[[48,4]]},"254":{"position":[[189,4]]},"255":{"position":[[88,4]]},"256":{"position":[[74,4]]},"257":{"position":[[78,4]]},"258":{"position":[[30,4]]},"259":{"position":[[32,4]]},"260":{"position":[[53,4]]},"261":{"position":[[85,4]]},"262":{"position":[[48,4]]},"263":{"position":[[55,4]]},"264":{"position":[[44,4]]},"265":{"position":[[19,4]]},"266":{"position":[[32,4]]},"267":{"position":[[79,4]]},"268":{"position":[[65,4]]},"269":{"position":[[95,4]]},"270":{"position":[[48,4]]},"271":{"position":[[83,4]]},"272":{"position":[[89,4]]},"273":{"position":[[47,4]]},"274":{"position":[[46,4]]},"400":{"position":[[102,4]]},"403":{"position":[[74,4]]},"427":{"position":[[17,4]]},"437":{"position":[[106,4]]},"779":{"position":[[102,4]]},"782":{"position":[[74,4]]},"806":{"position":[[17,4]]},"816":{"position":[[106,4]]},"846":{"position":[[392,5]]},"980":{"position":[[193,3]]},"991":{"position":[[1170,3],[2738,3]]},"1131":{"position":[[640,4]]},"1136":{"position":[[203,4]]},"1148":{"position":[[736,4]]},"1154":{"position":[[62,4]]},"1155":{"position":[[74,4]]},"1156":{"position":[[90,3],[159,4]]},"1157":{"position":[[58,4]]},"1158":{"position":[[52,4]]},"1159":{"position":[[52,4]]},"1235":{"position":[[529,4]]},"1370":{"position":[[2489,4]]}},"keywords":{}}],["doc_dep",{"_index":4936,"title":{},"content":{"991":{"position":[[2077,8]]},"1472":{"position":[[745,9],[2976,9]]}},"keywords":{}}],["doc_env",{"_index":8445,"title":{},"content":{"1472":{"position":[[770,8],[3095,8]]}},"keywords":{}}],["doc_link_styl",{"_index":8446,"title":{},"content":{"1472":{"position":[[799,15],[3239,15]]}},"keywords":{}}],["doc_linker_flag",{"_index":8447,"title":{},"content":{"1472":{"position":[[831,17],[3388,17]]}},"keywords":{}}],["doc_named_dep",{"_index":8448,"title":{},"content":{"1472":{"position":[[864,15],[3457,15]]}},"keywords":{}}],["docd",{"_index":4446,"title":{},"content":{"910":{"position":[[33,4]]}},"keywords":{}}],["doctest",{"_index":8449,"title":{},"content":{"1472":{"position":[[919,9]]}},"keywords":{}}],["document",{"_index":2,"title":{"1":{"position":[[6,13]]}},"content":{"3":{"position":[[73,13]]},"10":{"position":[[597,10]]},"676":{"position":[[202,13]]},"840":{"position":[[1215,13],[1572,14]]},"841":{"position":[[298,13]]},"890":{"position":[[1662,8]]},"1113":{"position":[[552,10],[613,10]]},"1136":{"position":[[273,13]]},"1148":{"position":[[806,13]]},"1154":{"position":[[6,13],[118,13],[192,13],[241,13],[285,13],[323,13]]},"1155":{"position":[[6,13],[259,13],[576,13],[661,13]]},"1156":{"position":[[9,13]]},"1157":{"position":[[6,13],[131,13]]},"1158":{"position":[[6,13],[125,13]]},"1159":{"position":[[6,13],[125,13]]},"1219":{"position":[[586,13]]},"1235":{"position":[[599,13]]},"1348":{"position":[[3572,13],[4463,13]]},"1353":{"position":[[2303,13]]},"1358":{"position":[[2843,13]]},"1362":{"position":[[12826,13]]},"1364":{"position":[[13526,13]]},"1367":{"position":[[12734,13]]},"1382":{"position":[[11188,13]]},"1384":{"position":[[18842,13]]},"1385":{"position":[[6766,13]]},"1387":{"position":[[10139,13]]},"1388":{"position":[[9681,13]]},"1393":{"position":[[6041,13],[9407,14]]},"1395":{"position":[[753,13],[2223,13]]},"1397":{"position":[[732,13]]},"1398":{"position":[[2561,14],[5024,14]]},"1442":{"position":[[2561,13]]},"1485":{"position":[[4052,13]]}},"keywords":{}}],["does_not_affect_abi",{"_index":7943,"title":{},"content":{"1425":{"position":[[490,20]]},"1428":{"position":[[476,20]]}},"keywords":{}}],["doesn't",{"_index":3502,"title":{},"content":{"690":{"position":[[3002,7]]},"693":{"position":[[2329,7]]},"900":{"position":[[320,7]]},"919":{"position":[[1237,7]]},"951":{"position":[[746,7]]},"984":{"position":[[116,7]]},"1050":{"position":[[4350,7]]},"1057":{"position":[[812,7]]},"1071":{"position":[[163,7],[1295,7]]},"1083":{"position":[[356,7]]},"1105":{"position":[[876,7]]},"1114":{"position":[[877,7]]},"1373":{"position":[[7690,7]]},"1382":{"position":[[10466,7]]},"1384":{"position":[[17540,7]]},"1388":{"position":[[8959,7]]},"1393":{"position":[[2788,7]]},"1422":{"position":[[2543,7]]},"1423":{"position":[[2212,7]]},"1485":{"position":[[3331,7]]}},"keywords":{}}],["doesn’t",{"_index":3665,"title":{},"content":{"706":{"position":[[531,7]]},"955":{"position":[[1037,7]]},"961":{"position":[[296,7]]},"966":{"position":[[484,7]]}},"keywords":{}}],["don't",{"_index":711,"title":{"1036":{"position":[[10,5]]}},"content":{"23":{"position":[[965,5]]},"99":{"position":[[1185,5]]},"231":{"position":[[1185,5]]},"286":{"position":[[307,5]]},"833":{"position":[[442,5]]},"879":{"position":[[60,5]]},"920":{"position":[[91,5]]},"924":{"position":[[876,5],[1678,5],[2406,5],[2435,5]]},"935":{"position":[[134,5]]},"937":{"position":[[2493,5]]},"977":{"position":[[549,5]]},"990":{"position":[[1418,5]]},"1024":{"position":[[128,5]]},"1037":{"position":[[158,5]]},"1060":{"position":[[108,5]]},"1086":{"position":[[351,5]]},"1087":{"position":[[339,5]]},"1102":{"position":[[1068,5]]},"1105":{"position":[[2008,6]]},"1161":{"position":[[196,5]]},"1191":{"position":[[282,5]]},"1226":{"position":[[1564,5],[4117,5]]},"1237":{"position":[[1734,5],[4287,5]]},"1251":{"position":[[280,5]]},"1255":{"position":[[413,5]]},"1355":{"position":[[4254,5]]},"1403":{"position":[[7485,5]]},"1410":{"position":[[3701,5]]},"1427":{"position":[[3399,5]]},"1439":{"position":[[4073,5]]},"1486":{"position":[[2907,5]]}},"keywords":{}}],["done",{"_index":3812,"title":{},"content":{"724":{"position":[[1710,4]]},"933":{"position":[[61,4]]},"1014":{"position":[[611,4]]},"1017":{"position":[[61,4]]},"1052":{"position":[[133,4]]},"1060":{"position":[[26,4],[342,4]]},"1098":{"position":[[350,4]]},"1100":{"position":[[231,5]]},"1345":{"position":[[980,4]]},"1346":{"position":[[665,4],[719,4]]},"1351":{"position":[[3418,4]]},"1355":{"position":[[5902,4]]},"1407":{"position":[[1224,4]]},"1427":{"position":[[5075,4]]},"1429":{"position":[[5445,4]]},"1440":{"position":[[5439,4]]},"1478":{"position":[[2107,5],[3233,4]]},"1486":{"position":[[4649,5]]}},"keywords":{}}],["done.if",{"_index":3638,"title":{},"content":{"704":{"position":[[803,7]]}},"keywords":{}}],["don’t",{"_index":271,"title":{},"content":{"9":{"position":[[2079,5]]},"10":{"position":[[518,5]]},"416":{"position":[[644,5]]},"417":{"position":[[874,5]]},"706":{"position":[[1145,5]]},"795":{"position":[[644,5]]},"796":{"position":[[874,5]]},"1231":{"position":[[475,5]]}},"keywords":{}}],["dot",{"_index":2619,"title":{"575":{"position":[[0,3]]}},"content":{"575":{"position":[[33,3],[411,3],[485,3]]},"915":{"position":[[86,3]]},"917":{"position":[[107,3]]},"1001":{"position":[[194,3]]},"1064":{"position":[[250,3]]},"1136":{"position":[[1989,3],[2012,3],[2025,3],[2083,3],[2172,3],[2178,3],[2233,3],[2358,4]]},"1148":{"position":[[2345,3],[2368,3],[2381,3],[2439,3],[2528,3],[2534,3],[2589,3],[2714,4]]},"1209":{"position":[[1222,3],[1245,3],[1258,3],[1316,3],[1405,3],[1411,3],[1466,3],[1591,4]]},"1235":{"position":[[2482,3],[2505,3],[2518,3],[2576,3],[2665,3],[2671,3],[2726,3],[2851,4]]},"1260":{"position":[[940,3],[1055,3]]},"1291":{"position":[[940,3],[1055,3]]},"1319":{"position":[[940,3],[1055,3]]}},"keywords":{}}],["dot_compact",{"_index":5876,"title":{},"content":{"1136":{"position":[[2196,11],[2369,12]]},"1148":{"position":[[2552,11],[2725,12]]},"1209":{"position":[[1429,11],[1602,12]]},"1235":{"position":[[2689,11],[2862,12]]}},"keywords":{}}],["doubl",{"_index":2629,"title":{},"content":{"576":{"position":[[225,6]]},"577":{"position":[[557,6]]},"664":{"position":[[96,6]]},"668":{"position":[[235,6]]},"1395":{"position":[[3477,7]]},"1397":{"position":[[3358,7]]}},"keywords":{}}],["down",{"_index":277,"title":{"703":{"position":[[4,4]]}},"content":{"9":{"position":[[2174,4]]},"703":{"position":[[38,5]]},"705":{"position":[[669,4]]},"906":{"position":[[721,4],[993,4]]},"947":{"position":[[427,4]]},"955":{"position":[[529,4]]},"1228":{"position":[[1564,4]]},"1462":{"position":[[8600,4]]},"1467":{"position":[[10082,4]]},"1486":{"position":[[2797,4]]}},"keywords":{}}],["download",{"_index":1045,"title":{},"content":{"85":{"position":[[229,9]]},"90":{"position":[[172,8]]},"91":{"position":[[244,9],[604,10]]},"217":{"position":[[229,9]]},"222":{"position":[[172,8]]},"223":{"position":[[244,9],[604,10]]},"704":{"position":[[770,9],[1113,9],[2132,8],[2567,9]]},"705":{"position":[[868,9],[919,8],[1021,8]]},"706":{"position":[[1823,11],[2016,11],[2156,11],[2342,8],[2566,8]]},"724":{"position":[[698,8],[1082,8],[1637,11]]},"848":{"position":[[83,10]]},"895":{"position":[[645,8]]},"897":{"position":[[75,11]]},"1037":{"position":[[112,10]]},"1077":{"position":[[175,11]]},"1120":{"position":[[740,10]]},"1138":{"position":[[3917,11]]},"1140":{"position":[[3406,11]]},"1167":{"position":[[4410,11]]},"1172":{"position":[[595,8],[1125,11]]},"1173":{"position":[[425,11]]},"1174":{"position":[[329,11]]},"1175":{"position":[[349,11]]},"1176":{"position":[[433,11]]},"1177":{"position":[[345,11]]},"1178":{"position":[[499,11]]},"1179":{"position":[[365,11]]},"1180":{"position":[[695,11]]},"1181":{"position":[[450,11]]},"1182":{"position":[[387,11]]},"1183":{"position":[[342,11]]},"1188":{"position":[[3459,11]]},"1217":{"position":[[3151,11]]},"1228":{"position":[[5232,11]]},"1354":{"position":[[2388,9]]},"1422":{"position":[[758,8],[866,10],[905,10],[2298,10],[2458,10],[3530,8],[3612,8],[3816,10],[3930,10]]},"1423":{"position":[[656,8],[748,9],[856,10],[895,10],[1861,12],[1986,10],[2127,10],[2301,8],[2383,8],[2586,10],[2697,10]]},"1461":{"position":[[2996,8],[3036,10]]},"1469":{"position":[[663,8],[756,10],[795,10],[1782,10],[1922,10],[2397,10]]}},"keywords":{}}],["download"",{"_index":8273,"title":{},"content":{"1461":{"position":[[3408,15],[3789,15]]}},"keywords":{}}],["downloadbuck2",{"_index":503,"title":{},"content":{"17":{"position":[[630,13]]}},"keywords":{}}],["downloaded.if",{"_index":3639,"title":{},"content":{"704":{"position":[[938,13]]}},"keywords":{}}],["downloaded.when",{"_index":3679,"title":{},"content":{"706":{"position":[[1732,15]]}},"keywords":{}}],["downsid",{"_index":388,"title":{"12":{"position":[[4,9]]}},"content":{"924":{"position":[[1422,9]]},"977":{"position":[[494,8]]},"991":{"position":[[2929,8]]}},"keywords":{}}],["dqux",{"_index":5583,"title":{},"content":{"1084":{"position":[[642,4]]}},"keywords":{}}],["draft",{"_index":4127,"title":{"881":{"position":[[0,7]]}},"content":{},"keywords":{}}],["draft_compil",{"_index":7819,"title":{},"content":{"1414":{"position":[[490,14]]}},"keywords":{}}],["dramat",{"_index":3379,"title":{},"content":{"675":{"position":[[790,12]]}},"keywords":{}}],["dri",{"_index":5939,"title":{},"content":{"1142":{"position":[[124,3],[143,3]]}},"keywords":{}}],["drift",{"_index":7461,"title":{},"content":{"1393":{"position":[[3082,8],[3902,8]]}},"keywords":{}}],["driven",{"_index":606,"title":{},"content":{"20":{"position":[[23,6]]},"706":{"position":[[187,6]]},"1384":{"position":[[14269,6]]},"1387":{"position":[[7528,6]]},"1454":{"position":[[7742,6]]}},"keywords":{}}],["drop",{"_index":1298,"title":{},"content":{"108":{"position":[[109,8]]},"520":{"position":[[109,8]]},"846":{"position":[[774,8]]},"892":{"position":[[545,8]]},"1035":{"position":[[105,7]]}},"keywords":{}}],["dsym",{"_index":7015,"title":{},"content":{"1370":{"position":[[2247,4],[2295,4]]}},"keywords":{}}],["dsymutil",{"_index":6990,"title":{},"content":{"1368":{"position":[[769,9]]}},"keywords":{}}],["due",{"_index":1221,"title":{},"content":{"94":{"position":[[3159,3]]},"226":{"position":[[3159,3]]},"406":{"position":[[772,3]]},"785":{"position":[[772,3]]},"846":{"position":[[1470,3]]},"1058":{"position":[[1255,3]]},"1090":{"position":[[40,3]]}},"keywords":{}}],["dummi",{"_index":4925,"title":{},"content":{"991":{"position":[[1261,5]]},"1102":{"position":[[451,5]]}},"keywords":{}}],["dummy_omnibu",{"_index":8297,"title":{},"content":{"1462":{"position":[[1335,14]]},"1467":{"position":[[1402,14]]}},"keywords":{}}],["dummy_state_file.txt",{"_index":6497,"title":{},"content":{"1351":{"position":[[5135,20],[5443,22]]}},"keywords":{}}],["dump",{"_index":5147,"title":{},"content":{"1040":{"position":[[2259,4]]},"1231":{"position":[[254,4]]}},"keywords":{}}],["duplic",{"_index":2199,"title":{},"content":{"410":{"position":[[27,10]]},"789":{"position":[[27,10]]},"890":{"position":[[6422,9]]},"1112":{"position":[[2958,9]]},"1136":{"position":[[4834,9]]},"1138":{"position":[[8496,9]]},"1140":{"position":[[7422,9]]},"1142":{"position":[[2866,9]]},"1146":{"position":[[2806,9]]},"1148":{"position":[[5846,9]]},"1155":{"position":[[2902,9]]},"1156":{"position":[[2480,9]]},"1167":{"position":[[8426,9]]},"1169":{"position":[[2265,9]]},"1186":{"position":[[4070,9]]},"1187":{"position":[[4083,9]]},"1188":{"position":[[8809,9]]},"1191":{"position":[[2670,9]]},"1192":{"position":[[2845,9]]},"1193":{"position":[[2897,9]]},"1194":{"position":[[2537,9]]},"1195":{"position":[[2515,9]]},"1196":{"position":[[2325,9]]},"1197":{"position":[[3308,9]]},"1198":{"position":[[3318,9]]},"1199":{"position":[[3346,9]]},"1200":{"position":[[3213,9]]},"1201":{"position":[[2473,9]]},"1202":{"position":[[3615,9],[8012,9]]},"1203":{"position":[[2707,9]]},"1204":{"position":[[2551,9]]},"1205":{"position":[[3880,9]]},"1206":{"position":[[2351,9]]},"1207":{"position":[[2508,9]]},"1209":{"position":[[3856,9]]},"1217":{"position":[[7167,9]]},"1219":{"position":[[3153,9]]},"1222":{"position":[[2277,9]]},"1223":{"position":[[2287,9]]},"1224":{"position":[[2467,9]]},"1226":{"position":[[4095,10],[7635,9]]},"1228":{"position":[[9248,9]]},"1235":{"position":[[5116,9]]},"1237":{"position":[[4265,10],[7805,9]]},"1393":{"position":[[2467,10],[9490,10],[9550,10]]},"1410":{"position":[[3715,9]]},"1487":{"position":[[2060,9]]}},"keywords":{}}],["duplicate_resource_behavior",{"_index":6430,"title":{},"content":{"1350":{"position":[[1578,28]]},"1352":{"position":[[1577,28]]}},"keywords":{}}],["duplicate_resource_whitelist",{"_index":6431,"title":{},"content":{"1350":{"position":[[1616,29]]},"1352":{"position":[[1615,29]]}},"keywords":{}}],["durat",{"_index":3802,"title":{},"content":{"724":{"position":[[223,8]]},"864":{"position":[[813,8],[978,8]]},"867":{"position":[[1099,8],[2274,8]]},"1126":{"position":[[987,8]]},"1142":{"position":[[299,9]]},"1180":{"position":[[202,8],[240,8],[249,9],[362,9]]}},"keywords":{}}],["duration(",{"_index":5403,"title":{},"content":{"1058":{"position":[[170,11]]}},"keywords":{}}],["duration_u",{"_index":5804,"title":{},"content":{"1126":{"position":[[1008,12]]}},"keywords":{}}],["dure",{"_index":263,"title":{},"content":{"9":{"position":[[1798,6],[1904,6]]},"81":{"position":[[187,6]]},"84":{"position":[[195,6]]},"213":{"position":[[187,6]]},"216":{"position":[[195,6]]},"444":{"position":[[99,6]]},"693":{"position":[[290,6]]},"823":{"position":[[99,6]]},"832":{"position":[[873,6]]},"855":{"position":[[95,6]]},"890":{"position":[[308,6],[2350,6]]},"929":{"position":[[275,6]]},"945":{"position":[[249,6]]},"950":{"position":[[511,6]]},"991":{"position":[[956,6]]},"995":{"position":[[843,6]]},"1026":{"position":[[0,6]]},"1037":{"position":[[565,6]]},"1042":{"position":[[651,6]]},"1046":{"position":[[184,6]]},"1103":{"position":[[2047,6]]},"1138":{"position":[[2256,6],[3568,6]]},"1140":{"position":[[1745,6],[3057,6]]},"1148":{"position":[[7192,6]]},"1167":{"position":[[2749,6],[4061,6]]},"1188":{"position":[[1798,6],[3110,6]]},"1217":{"position":[[1490,6],[2802,6]]},"1226":{"position":[[5155,6]]},"1228":{"position":[[3571,6],[4883,6]]},"1237":{"position":[[5325,6]]},"1247":{"position":[[49,6]]},"1355":{"position":[[5818,6],[6012,6],[6817,6]]},"1363":{"position":[[4829,6]]},"1367":{"position":[[14011,6]]},"1386":{"position":[[2199,6],[2599,6],[4724,6],[5788,6]]},"1393":{"position":[[2416,6],[3097,6],[3917,6],[5235,6],[9453,6]]},"1412":{"position":[[2963,6],[3140,6],[3327,6],[3599,6]]},"1427":{"position":[[4053,6],[4868,6],[4991,6],[5185,6],[6016,6]]},"1439":{"position":[[7367,6]]},"1473":{"position":[[3537,6],[5329,6]]},"1486":{"position":[[5169,6]]}},"keywords":{}}],["dwarfdump",{"_index":6991,"title":{},"content":{"1368":{"position":[[784,10]]}},"keywords":{}}],["dylib",{"_index":4878,"title":{},"content":{"987":{"position":[[94,6]]}},"keywords":{}}],["dyn",{"_index":4351,"title":{},"content":{"898":{"position":[[2465,3],[2485,3]]}},"keywords":{}}],["dynam",{"_index":117,"title":{"835":{"position":[[31,7]]},"875":{"position":[[8,7]]},"876":{"position":[[0,7]]},"1039":{"position":[[0,7]]}},"content":{"6":{"position":[[92,7]]},"23":{"position":[[1335,7],[1498,7],[1529,7]]},"92":{"position":[[31,8],[607,7],[1034,7],[1760,7],[2009,7],[2418,7]]},"224":{"position":[[31,8],[607,7],[1034,7],[1760,7],[2009,7],[2418,7]]},"300":{"position":[[494,7]]},"411":{"position":[[219,7]]},"645":{"position":[[183,7]]},"651":{"position":[[122,7]]},"722":{"position":[[530,7]]},"790":{"position":[[219,7]]},"835":{"position":[[0,7],[82,7]]},"837":{"position":[[307,7]]},"876":{"position":[[15,7],[56,7],[209,7],[250,7],[312,7],[329,7]]},"877":{"position":[[35,7],[122,7],[280,7],[311,7],[448,7],[679,7]]},"878":{"position":[[38,7],[535,7],[638,7],[1011,7],[1398,7]]},"949":{"position":[[151,7]]},"950":{"position":[[422,7],[468,7],[522,7],[736,7],[779,7],[835,7]]},"964":{"position":[[219,7]]},"1040":{"position":[[127,7],[454,7],[842,7],[1459,7],[1862,7]]},"1104":{"position":[[931,7],[1029,7]]},"1136":{"position":[[614,7],[702,7]]},"1362":{"position":[[10728,12]]},"1364":{"position":[[11695,12]]},"1373":{"position":[[5245,12]]},"1382":{"position":[[7597,12]]},"1383":{"position":[[3704,7],[3832,7]]},"1384":{"position":[[13661,12]]},"1386":{"position":[[4883,11]]},"1387":{"position":[[6721,12]]},"1388":{"position":[[8466,12]]},"1405":{"position":[[3016,12]]},"1407":{"position":[[3437,12]]},"1410":{"position":[[4018,12]]},"1416":{"position":[[2893,12]]},"1421":{"position":[[2264,11]]},"1462":{"position":[[8454,7],[8612,7]]},"1467":{"position":[[9936,7],[10094,7]]},"1471":{"position":[[3860,12]]},"1472":{"position":[[3331,12],[4444,12]]},"1473":{"position":[[4181,12]]}},"keywords":{}}],["dynamic_act",{"_index":2201,"title":{"411":{"position":[[0,16]]},"790":{"position":[[0,16]]}},"content":{"411":{"position":[[4,16]]},"790":{"position":[[4,16]]}},"keywords":{}}],["dynamic_lookup",{"_index":6973,"title":{},"content":{"1367":{"position":[[13898,17]]}},"keywords":{}}],["dynamic_output",{"_index":989,"title":{},"content":{"73":{"position":[[102,14]]},"92":{"position":[[303,14],[1619,14],[2062,15]]},"93":{"position":[[93,15],[171,15]]},"224":{"position":[[303,14],[1619,14],[2062,15]]},"225":{"position":[[93,15],[171,15]]},"297":{"position":[[1158,15]]},"298":{"position":[[2975,15]]},"299":{"position":[[158,15]]},"305":{"position":[[410,15]]},"307":{"position":[[153,15]]},"496":{"position":[[102,14]]},"878":{"position":[[680,14]]},"1040":{"position":[[1391,14]]}},"keywords":{}}],["dynamic_output'",{"_index":1139,"title":{},"content":{"92":{"position":[[1365,16],[2436,16]]},"224":{"position":[[1365,16],[2436,16]]},"1040":{"position":[[1138,16]]}},"keywords":{}}],["dynamic_output_exampl",{"_index":4119,"title":{},"content":{"878":{"position":[[1550,22]]}},"keywords":{}}],["dynamic_outputwith",{"_index":1156,"title":{},"content":{"92":{"position":[[2390,18]]},"224":{"position":[[2390,18]]}},"keywords":{}}],["dynamicact",{"_index":1161,"title":{"370":{"position":[[0,15]]},"749":{"position":[[0,15]]}},"content":{"93":{"position":[[48,14]]},"225":{"position":[[48,14]]},"370":{"position":[[0,15]]},"749":{"position":[[0,15]]}},"keywords":{}}],["dynamicactioncal",{"_index":2204,"title":{},"content":{"411":{"position":[[185,21]]},"790":{"position":[[185,21]]}},"keywords":{}}],["dynamicactionscal",{"_index":1999,"title":{"371":{"position":[[0,23]]},"750":{"position":[[0,23]]}},"content":{"371":{"position":[[0,23]]},"750":{"position":[[0,23]]}},"keywords":{}}],["d{}"",{"_index":5558,"title":{},"content":{"1082":{"position":[[786,10]]}},"keywords":{}}],["e",{"_index":3813,"title":{"726":{"position":[[6,2]]}},"content":{"983":{"position":[[52,2]]},"1167":{"position":[[450,2]]}},"keywords":{}}],["e.g",{"_index":620,"title":{},"content":{"20":{"position":[[576,5]]},"23":{"position":[[1765,5]]},"46":{"position":[[56,4]]},"47":{"position":[[62,4]]},"76":{"position":[[107,4]]},"79":{"position":[[268,5]]},"90":{"position":[[161,4]]},"193":{"position":[[56,4]]},"194":{"position":[[62,4]]},"222":{"position":[[161,4]]},"362":{"position":[[1566,4]]},"368":{"position":[[2864,5]]},"405":{"position":[[2237,5]]},"407":{"position":[[265,4]]},"408":{"position":[[539,4]]},"414":{"position":[[80,5],[153,4],[211,4]]},"425":{"position":[[78,5],[151,4],[209,4]]},"505":{"position":[[107,4]]},"508":{"position":[[268,5]]},"693":{"position":[[6730,4],[8310,5]]},"741":{"position":[[1566,4]]},"747":{"position":[[2864,5]]},"784":{"position":[[2237,5]]},"786":{"position":[[265,4]]},"787":{"position":[[539,4]]},"793":{"position":[[80,5],[153,4],[211,4]]},"804":{"position":[[78,5],[151,4],[209,4]]},"900":{"position":[[728,4],[1352,4]]},"970":{"position":[[208,5]]},"975":{"position":[[156,5]]},"976":{"position":[[194,5]]},"1052":{"position":[[1213,5]]},"1054":{"position":[[946,5]]},"1136":{"position":[[3066,6]]},"1138":{"position":[[2987,4],[6728,6]]},"1140":{"position":[[2476,4],[5654,6]]},"1142":{"position":[[518,6],[1098,6]]},"1146":{"position":[[1038,6]]},"1148":{"position":[[4078,6]]},"1155":{"position":[[1134,6]]},"1156":{"position":[[712,6]]},"1167":{"position":[[1158,4],[1352,4],[3480,4],[6658,6]]},"1169":{"position":[[497,6]]},"1186":{"position":[[2302,6]]},"1187":{"position":[[2315,6]]},"1188":{"position":[[2529,4],[7041,6]]},"1191":{"position":[[902,6]]},"1192":{"position":[[1077,6]]},"1193":{"position":[[1129,6]]},"1194":{"position":[[769,6]]},"1195":{"position":[[747,6]]},"1196":{"position":[[557,6]]},"1197":{"position":[[1540,6]]},"1198":{"position":[[1550,6]]},"1199":{"position":[[1578,6]]},"1200":{"position":[[1445,6]]},"1201":{"position":[[705,6]]},"1202":{"position":[[1847,6],[6244,6]]},"1203":{"position":[[939,6]]},"1204":{"position":[[783,6]]},"1205":{"position":[[2112,6]]},"1206":{"position":[[583,6]]},"1207":{"position":[[740,6]]},"1209":{"position":[[2088,6]]},"1217":{"position":[[2221,4],[5399,6]]},"1219":{"position":[[1385,6]]},"1222":{"position":[[509,6]]},"1223":{"position":[[519,6]]},"1224":{"position":[[699,6]]},"1226":{"position":[[4318,5],[5867,6]]},"1228":{"position":[[4302,4],[7480,6]]},"1233":{"position":[[58,5]]},"1235":{"position":[[3348,6]]},"1237":{"position":[[4488,5],[6037,6]]},"1354":{"position":[[2692,6]]},"1355":{"position":[[4086,4]]},"1362":{"position":[[12957,5],[13047,5]]},"1364":{"position":[[13657,5],[13747,5]]},"1366":{"position":[[2476,5],[3148,5]]},"1367":{"position":[[10507,6],[12865,5],[12955,5]]},"1373":{"position":[[5837,5]]},"1382":{"position":[[11319,5],[11409,5]]},"1384":{"position":[[6075,5],[6095,5],[14289,5],[18973,5],[19063,5]]},"1385":{"position":[[6897,5],[6987,5]]},"1386":{"position":[[2944,5],[5609,4]]},"1387":{"position":[[7548,5],[10270,5],[10360,5]]},"1388":{"position":[[9812,5],[9902,5]]},"1390":{"position":[[1638,5],[1784,5],[1923,5]]},"1391":{"position":[[1591,5],[1738,5]]},"1392":{"position":[[1741,5],[1962,6],[2193,5]]},"1393":{"position":[[2490,4],[2637,4],[4887,5],[5004,5],[7178,4],[9066,4]]},"1395":{"position":[[3306,4]]},"1397":{"position":[[3256,4]]},"1398":{"position":[[4121,4],[5677,4]]},"1402":{"position":[[1995,4]]},"1407":{"position":[[4171,4]]},"1408":{"position":[[2201,5]]},"1410":{"position":[[3446,6],[4398,5]]},"1427":{"position":[[3231,4]]},"1429":{"position":[[4738,6]]},"1439":{"position":[[3905,4],[5133,4]]},"1440":{"position":[[4820,6]]},"1442":{"position":[[2692,5],[2782,5]]},"1454":{"position":[[7762,5],[9586,5]]},"1457":{"position":[[1788,5]]},"1477":{"position":[[1604,5]]},"1485":{"position":[[4183,5],[4273,5]]}},"keywords":{}}],["e.g.ctx.actions.declare_output("directory"",{"_index":1093,"title":{},"content":{"89":{"position":[[971,53]]},"221":{"position":[[971,53]]}},"keywords":{}}],["e.g.glob).in",{"_index":616,"title":{},"content":{"20":{"position":[[442,13]]}},"keywords":{}}],["e.g.{"socket_address"",{"_index":5338,"title":{},"content":{"1054":{"position":[[815,33]]}},"keywords":{}}],["each",{"_index":443,"title":{},"content":{"15":{"position":[[97,4],[265,4],[323,4]]},"22":{"position":[[1300,4]]},"63":{"position":[[203,4]]},"66":{"position":[[149,4]]},"72":{"position":[[102,4]]},"94":{"position":[[3802,4]]},"166":{"position":[[203,4]]},"226":{"position":[[3802,4]]},"276":{"position":[[640,4]]},"277":{"position":[[587,4]]},"281":{"position":[[738,4]]},"282":{"position":[[687,4]]},"389":{"position":[[487,4]]},"396":{"position":[[433,4]]},"405":{"position":[[1280,4],[1552,4],[1801,4],[1869,4],[2163,4]]},"408":{"position":[[1242,4]]},"440":{"position":[[90,4]]},"441":{"position":[[45,4],[85,4]]},"454":{"position":[[149,4]]},"492":{"position":[[203,4]]},"495":{"position":[[102,4]]},"510":{"position":[[48,4]]},"511":{"position":[[48,4]]},"548":{"position":[[203,4]]},"560":{"position":[[476,4],[548,4]]},"573":{"position":[[89,4]]},"590":{"position":[[250,4]]},"595":{"position":[[324,4]]},"604":{"position":[[166,4]]},"616":{"position":[[661,4]]},"636":{"position":[[281,4],[394,4],[464,4]]},"638":{"position":[[1143,4]]},"639":{"position":[[201,4],[383,4]]},"643":{"position":[[113,4]]},"653":{"position":[[100,4]]},"654":{"position":[[296,4]]},"656":{"position":[[225,4]]},"663":{"position":[[85,4]]},"673":{"position":[[167,4],[284,4],[357,4]]},"697":{"position":[[87,4]]},"716":{"position":[[89,4]]},"717":{"position":[[127,4],[428,4],[528,4]]},"724":{"position":[[358,4]]},"768":{"position":[[487,4]]},"775":{"position":[[433,4]]},"784":{"position":[[1280,4],[1552,4],[1801,4],[1869,4],[2163,4]]},"787":{"position":[[1242,4]]},"819":{"position":[[90,4]]},"820":{"position":[[45,4],[85,4]]},"846":{"position":[[1000,4]]},"872":{"position":[[192,4],[327,4],[701,4]]},"890":{"position":[[4281,4],[5241,4]]},"892":{"position":[[1219,4]]},"901":{"position":[[48,4]]},"902":{"position":[[1128,4]]},"919":{"position":[[82,4],[1443,4]]},"920":{"position":[[603,4]]},"921":{"position":[[952,4]]},"924":{"position":[[1219,4]]},"933":{"position":[[0,4]]},"942":{"position":[[1682,4]]},"943":{"position":[[63,4]]},"944":{"position":[[86,4]]},"955":{"position":[[1471,4]]},"961":{"position":[[48,4],[82,4],[281,4]]},"966":{"position":[[39,4]]},"973":{"position":[[364,4]]},"981":{"position":[[414,4]]},"988":{"position":[[444,4],[507,4]]},"989":{"position":[[375,4],[470,4]]},"1000":{"position":[[509,4]]},"1006":{"position":[[364,4]]},"1013":{"position":[[196,4]]},"1027":{"position":[[169,4]]},"1052":{"position":[[1175,4]]},"1053":{"position":[[1543,4]]},"1056":{"position":[[560,4],[603,4],[1158,4]]},"1058":{"position":[[414,4],[1136,4]]},"1087":{"position":[[55,4]]},"1091":{"position":[[53,4]]},"1114":{"position":[[912,5]]},"1138":{"position":[[192,4],[300,4],[377,4],[497,4],[4316,4]]},"1140":{"position":[[3805,4]]},"1167":{"position":[[4809,4]]},"1188":{"position":[[3858,4]]},"1217":{"position":[[3550,4]]},"1226":{"position":[[397,4],[499,4],[3371,4],[3479,4],[3556,4],[3676,4],[4201,4]]},"1228":{"position":[[1747,4],[5631,4]]},"1235":{"position":[[158,4]]},"1237":{"position":[[567,4],[669,4],[3541,4],[3649,4],[3726,4],[3846,4],[4371,4]]},"1240":{"position":[[129,4]]},"1243":{"position":[[432,4]]},"1253":{"position":[[306,4],[441,4],[554,4]]},"1254":{"position":[[79,4],[213,4],[493,4]]},"1273":{"position":[[235,4]]},"1278":{"position":[[118,4]]},"1304":{"position":[[235,4]]},"1309":{"position":[[118,4]]},"1332":{"position":[[235,4]]},"1337":{"position":[[118,4]]},"1351":{"position":[[3769,4]]},"1360":{"position":[[3461,4]]},"1362":{"position":[[7415,4],[8134,4],[9431,4],[11700,4],[11853,4],[12767,4],[12896,4]]},"1363":{"position":[[5322,4]]},"1364":{"position":[[7654,4],[8322,4],[8475,4],[8983,4],[10545,4],[13467,4],[13596,4]]},"1367":{"position":[[8222,4],[9519,4],[10238,4],[12675,4],[12804,4]]},"1370":{"position":[[2216,4]]},"1373":{"position":[[6721,4],[6874,4],[8289,4]]},"1382":{"position":[[9041,4],[9194,4],[11129,4],[11258,4]]},"1383":{"position":[[6115,4]]},"1384":{"position":[[8508,4],[8661,4],[15386,4],[15539,4],[18783,4],[18912,4]]},"1385":{"position":[[5269,4],[5422,4],[6707,4],[6836,4]]},"1387":{"position":[[8642,4],[8795,4],[10080,4],[10209,4]]},"1388":{"position":[[9622,4],[9751,4]]},"1390":{"position":[[1560,4],[1727,4],[1866,4]]},"1391":{"position":[[1513,4],[1681,4]]},"1392":{"position":[[1663,4],[2136,4]]},"1398":{"position":[[1334,4],[4824,4],[4950,4],[5250,4],[5559,4]]},"1399":{"position":[[2638,4]]},"1403":{"position":[[2876,4]]},"1415":{"position":[[4680,4],[4833,4]]},"1429":{"position":[[4073,4],[4482,4]]},"1439":{"position":[[4807,4],[5388,4]]},"1440":{"position":[[4066,4],[4475,4]]},"1442":{"position":[[2502,4],[2631,4]]},"1465":{"position":[[3242,4],[3653,4]]},"1467":{"position":[[9511,4]]},"1485":{"position":[[3993,4],[4122,4]]},"1486":{"position":[[808,4]]},"1487":{"position":[[2343,4]]}},"keywords":{}}],["eager",{"_index":3939,"title":{},"content":{"856":{"position":[[74,5],[415,5],[642,5]]},"1037":{"position":[[600,5]]},"1138":{"position":[[3200,5]]},"1140":{"position":[[2689,5]]},"1167":{"position":[[3693,5]]},"1188":{"position":[[2742,5]]},"1217":{"position":[[2434,5]]},"1228":{"position":[[4515,5]]}},"keywords":{}}],["eager_attr",{"_index":4112,"title":{},"content":{"878":{"position":[[964,11]]}},"keywords":{}}],["eagerli",{"_index":5610,"title":{},"content":{"1091":{"position":[[41,7]]},"1138":{"position":[[3596,7]]},"1140":{"position":[[3085,7]]},"1167":{"position":[[4089,7]]},"1188":{"position":[[3138,7]]},"1217":{"position":[[2830,7]]},"1228":{"position":[[4911,7]]}},"keywords":{}}],["earli",{"_index":783,"title":{},"content":{"24":{"position":[[57,5]]},"965":{"position":[[286,5]]}},"keywords":{}}],["earlier",{"_index":2695,"title":{},"content":{"583":{"position":[[999,7]]},"704":{"position":[[2311,8]]},"942":{"position":[[1420,7]]}},"keywords":{}}],["earlier..buckconfig.loc",{"_index":2687,"title":{},"content":{"583":{"position":[[520,25]]}},"keywords":{}}],["eas",{"_index":4849,"title":{},"content":{"980":{"position":[[171,4]]}},"keywords":{}}],["easi",{"_index":4718,"title":{},"content":{"945":{"position":[[372,4]]},"946":{"position":[[162,4]]},"959":{"position":[[77,4]]},"997":{"position":[[214,4]]},"1050":{"position":[[539,4]]},"1232":{"position":[[3506,4],[3562,4],[3656,4]]}},"keywords":{}}],["easier",{"_index":299,"title":{},"content":{"9":{"position":[[2628,6]]},"10":{"position":[[1096,6]]},"675":{"position":[[1107,6]]},"695":{"position":[[638,6]]},"696":{"position":[[310,6]]},"940":{"position":[[874,6]]},"977":{"position":[[475,6]]},"1095":{"position":[[170,6]]},"1136":{"position":[[1741,6]]},"1148":{"position":[[2097,6]]},"1205":{"position":[[1221,6]]},"1209":{"position":[[974,6]]},"1226":{"position":[[2914,6]]},"1235":{"position":[[2234,6]]},"1237":{"position":[[3084,6]]}},"keywords":{}}],["easier.reind",{"_index":49,"title":{},"content":{"4":{"position":[[255,15]]}},"keywords":{}}],["easili",{"_index":386,"title":{},"content":{"11":{"position":[[674,6]]},"304":{"position":[[320,7]]},"937":{"position":[[3393,6]]},"987":{"position":[[673,6]]}},"keywords":{}}],["eat",{"_index":3602,"title":{},"content":{"693":{"position":[[9404,3]]}},"keywords":{}}],["ebin",{"_index":7458,"title":{},"content":{"1393":{"position":[[2384,5]]}},"keywords":{}}],["echo",{"_index":4454,"title":{},"content":{"910":{"position":[[311,4],[340,4],[369,4]]},"1382":{"position":[[11765,7],[11965,5]]},"1403":{"position":[[5767,4]]},"1477":{"position":[[2847,4]]},"1478":{"position":[[3198,4],[3238,4]]}},"keywords":{}}],["echo#strip",{"_index":7164,"title":{},"content":{"1382":{"position":[[12028,11]]}},"keywords":{}}],["echo.cpp",{"_index":7160,"title":{},"content":{"1382":{"position":[[11782,11]]}},"keywords":{}}],["echo.h",{"_index":7161,"title":{},"content":{"1382":{"position":[[11809,9]]}},"keywords":{}}],["echo_other.o",{"_index":8079,"title":{},"content":{"1442":{"position":[[3145,15]]}},"keywords":{}}],["echo_test",{"_index":7312,"title":{},"content":{"1388":{"position":[[10402,12]]},"1442":{"position":[[3068,12]]}},"keywords":{}}],["echo_test.cpp",{"_index":7313,"title":{},"content":{"1388":{"position":[[10424,16]]}},"keywords":{}}],["echo_test.o",{"_index":8078,"title":{},"content":{"1442":{"position":[[3090,14]]}},"keywords":{}}],["ed",{"_index":3838,"title":{},"content":{"835":{"position":[[288,2]]}},"keywords":{}}],["eden",{"_index":763,"title":{},"content":{"23":{"position":[[2801,4]]},"919":{"position":[[982,5]]},"976":{"position":[[219,4]]}},"keywords":{}}],["edg",{"_index":3540,"title":{},"content":{"693":{"position":[[2977,4],[4233,4],[9931,5]]},"987":{"position":[[722,4]]}},"keywords":{}}],["edit",{"_index":3437,"title":{},"content":{"687":{"position":[[228,7]]},"1097":{"position":[[318,5]]},"1150":{"position":[[238,4],[288,5]]},"1471":{"position":[[811,8],[3257,8],[3283,7],[3335,7]]},"1472":{"position":[[946,8],[3841,8],[3867,7],[3919,7]]},"1473":{"position":[[842,8],[3291,8],[3317,7],[3369,7]]}},"keywords":{}}],["edoc",{"_index":7466,"title":{},"content":{"1393":{"position":[[4018,4]]}},"keywords":{}}],["effect",{"_index":1256,"title":{},"content":{"98":{"position":[[1169,11]]},"99":{"position":[[1577,11]]},"230":{"position":[[1169,11]]},"231":{"position":[[1577,11]]},"566":{"position":[[406,11]]},"567":{"position":[[394,9]]},"690":{"position":[[282,6]]},"710":{"position":[[126,12]]},"1056":{"position":[[650,6]]},"1138":{"position":[[4166,6],[4713,6]]},"1140":{"position":[[3655,6],[4202,6]]},"1167":{"position":[[4659,6],[5206,6]]},"1188":{"position":[[3708,6],[4255,6]]},"1217":{"position":[[3400,6],[3947,6]]},"1226":{"position":[[1108,9]]},"1228":{"position":[[5481,6],[6028,6]]},"1237":{"position":[[1278,9]]},"1364":{"position":[[6677,8]]},"1384":{"position":[[5722,8]]},"1386":{"position":[[2687,6],[5485,6]]},"1454":{"position":[[4570,8]]},"1455":{"position":[[2218,8]]},"1459":{"position":[[1859,7]]},"1471":{"position":[[4839,6]]},"1472":{"position":[[3790,6],[5423,6]]},"1473":{"position":[[5160,6]]}},"keywords":{}}],["effici",{"_index":176,"title":{"856":{"position":[[42,11]]}},"content":{"9":{"position":[[195,9]]},"22":{"position":[[1897,12]]},"23":{"position":[[82,10],[624,10]]},"638":{"position":[[1175,11]]},"663":{"position":[[1223,9]]},"706":{"position":[[380,9]]},"860":{"position":[[98,10]]},"901":{"position":[[1177,9]]},"902":{"position":[[1160,11]]},"1235":{"position":[[352,11]]},"1253":{"position":[[39,10],[403,9]]}},"keywords":{}}],["effort",{"_index":295,"title":{},"content":{"9":{"position":[[2594,7]]}},"keywords":{}}],["eg",{"_index":1922,"title":{},"content":{"362":{"position":[[2772,4]]},"741":{"position":[[2772,4]]},"1096":{"position":[[392,2]]},"1150":{"position":[[417,2]]}},"keywords":{}}],["egg",{"_index":8264,"title":{},"content":{"1461":{"position":[[1896,4],[1915,4],[2950,4],[3211,3]]}},"keywords":{}}],["eitherlist.append(x",{"_index":4215,"title":{},"content":{"890":{"position":[[1992,21]]}},"keywords":{}}],["eitherspanstartev",{"_index":5790,"title":{},"content":{"1126":{"position":[[56,22]]}},"keywords":{}}],["el",{"_index":2589,"title":{},"content":{"567":{"position":[[28,3]]}},"keywords":{}}],["elaps",{"_index":535,"title":{},"content":{"17":{"position":[[1424,8]]},"513":{"position":[[42,7]]},"514":{"position":[[40,7]]},"1477":{"position":[[3197,8]]}},"keywords":{}}],["element",{"_index":2146,"title":{},"content":{"405":{"position":[[1557,7]]},"554":{"position":[[55,7]]},"555":{"position":[[156,7]]},"557":{"position":[[55,7]]},"563":{"position":[[58,7]]},"564":{"position":[[80,8]]},"565":{"position":[[139,8]]},"566":{"position":[[121,7]]},"567":{"position":[[70,7],[173,8]]},"568":{"position":[[72,7],[135,7]]},"569":{"position":[[386,7]]},"604":{"position":[[79,8],[171,7],[243,9],[292,8]]},"613":{"position":[[104,9]]},"617":{"position":[[169,8],[430,7]]},"636":{"position":[[254,7]]},"639":{"position":[[121,8]]},"643":{"position":[[118,7]]},"651":{"position":[[88,8]]},"652":{"position":[[178,8]]},"653":{"position":[[105,7]]},"654":{"position":[[93,7],[151,7],[301,7]]},"655":{"position":[[90,7],[148,7]]},"665":{"position":[[135,8]]},"666":{"position":[[146,8]]},"668":{"position":[[200,8]]},"670":{"position":[[88,8]]},"673":{"position":[[155,8],[273,7],[318,7],[346,7]]},"675":{"position":[[909,7]]},"784":{"position":[[1557,7]]},"988":{"position":[[529,8]]},"989":{"position":[[110,8],[475,7]]},"990":{"position":[[767,8]]},"1360":{"position":[[3466,7]]},"1362":{"position":[[11333,7],[11460,7],[11689,7],[11842,7],[12142,7],[12269,7],[12901,7]]},"1364":{"position":[[8311,7],[8464,7],[12300,7],[12427,7],[12647,7],[12774,7],[13601,7]]},"1367":{"position":[[11703,7],[11830,7],[12050,7],[12177,7],[12809,7]]},"1373":{"position":[[6355,7],[6482,7],[6710,7],[6863,7],[7182,7],[7309,7]]},"1382":{"position":[[8202,7],[8329,7],[8552,7],[8679,7],[9030,7],[9183,7],[9503,7],[9630,7],[9858,7],[9985,7],[11263,7]]},"1383":{"position":[[6120,7]]},"1384":{"position":[[7479,7],[7606,7],[7893,7],[8020,7],[8497,7],[8650,7],[9057,7],[9184,7],[14547,7],[14674,7],[14897,7],[15024,7],[15375,7],[15528,7],[15848,7],[15975,7],[16203,7],[16330,7],[18917,7]]},"1385":{"position":[[4432,7],[4559,7],[4781,7],[4908,7],[5258,7],[5411,7],[5730,7],[5857,7],[6084,7],[6211,7],[6841,7]]},"1387":{"position":[[7805,7],[7932,7],[8154,7],[8281,7],[8631,7],[8784,7],[9103,7],[9230,7],[9457,7],[9584,7],[10214,7]]},"1388":{"position":[[9756,7]]},"1390":{"position":[[1565,7],[1732,7],[1871,7]]},"1391":{"position":[[1518,7],[1686,7]]},"1392":{"position":[[1668,7],[2141,7]]},"1403":{"position":[[2881,7]]},"1415":{"position":[[4314,7],[4441,7],[4669,7],[4822,7]]},"1416":{"position":[[3170,7],[3297,7]]},"1420":{"position":[[2307,7],[2434,7]]},"1442":{"position":[[2636,7]]},"1448":{"position":[[2253,7],[2380,7]]},"1449":{"position":[[2187,7],[2314,7]]},"1454":{"position":[[5879,7],[6006,7],[6292,7],[6419,7],[6845,7],[6972,7],[8015,7],[8142,7],[8327,7],[8454,7],[8647,7],[8774,7]]},"1455":{"position":[[2650,7],[2777,7]]},"1465":{"position":[[3231,7],[3335,7],[3642,7],[3746,7]]},"1467":{"position":[[9500,7],[9604,7]]},"1485":{"position":[[2816,7],[2943,7],[4127,7]]}},"keywords":{}}],["elimin",{"_index":3559,"title":{},"content":{"693":{"position":[[4916,11]]},"1351":{"position":[[3523,9]]}},"keywords":{}}],["elsewher",{"_index":3020,"title":{},"content":{"620":{"position":[[222,10]]},"1046":{"position":[[242,9]]},"1390":{"position":[[1628,9]]},"1391":{"position":[[1581,9]]},"1392":{"position":[[1731,9]]}},"keywords":{}}],["emb",{"_index":6883,"title":{},"content":{"1363":{"position":[[4358,5],[5866,5],[6501,5]]},"1383":{"position":[[4965,5]]}},"keywords":{}}],["embed",{"_index":6787,"title":{},"content":{"1362":{"position":[[6595,8]]},"1363":{"position":[[7029,8]]},"1370":{"position":[[3101,8]]},"1381":{"position":[[2200,8]]},"1383":{"position":[[4752,9]]}},"keywords":{}}],["embed_provisioning_profile_when_adhoc_code_sign",{"_index":6853,"title":{},"content":{"1363":{"position":[[1719,51]]},"1367":{"position":[[2110,51]]},"1372":{"position":[[1394,51]]}},"keywords":{}}],["embedcfg",{"_index":7034,"title":{},"content":{"1373":{"position":[[905,9]]},"1405":{"position":[[673,9]]},"1407":{"position":[[700,9]]},"1408":{"position":[[694,9]]},"1410":{"position":[[827,9]]}},"keywords":{}}],["emit",{"_index":862,"title":{"864":{"position":[[0,8]]}},"content":{"41":{"position":[[745,7]]},"174":{"position":[[745,7]]},"304":{"position":[[64,5]]},"864":{"position":[[16,4],[1615,4],[1713,7]]},"867":{"position":[[675,7],[1637,7],[2368,7]]},"877":{"position":[[196,7]]},"1084":{"position":[[242,7]]},"1116":{"position":[[120,8]]},"1138":{"position":[[2121,4]]},"1140":{"position":[[1610,4]]},"1167":{"position":[[2614,4]]},"1172":{"position":[[1316,4]]},"1173":{"position":[[616,4]]},"1188":{"position":[[1663,4]]},"1217":{"position":[[550,4],[672,4],[1355,4]]},"1226":{"position":[[2016,4]]},"1228":{"position":[[3436,4]]},"1237":{"position":[[2186,4]]},"1362":{"position":[[10846,6],[11015,4]]},"1364":{"position":[[11813,6],[11982,4]]},"1373":{"position":[[5362,6],[5531,4]]},"1382":{"position":[[7715,6],[7884,4]]},"1384":{"position":[[13779,6],[13948,4]]},"1387":{"position":[[7040,6],[7209,4]]},"1427":{"position":[[4232,4]]}},"keywords":{}}],["employ",{"_index":626,"title":{},"content":{"22":{"position":[[5,7],[176,7]]},"1386":{"position":[[2572,6],[5593,6]]}},"keywords":{}}],["empti",{"_index":1157,"title":{},"content":{"92":{"position":[[2412,5]]},"224":{"position":[[2412,5]]},"413":{"position":[[42,5]]},"418":{"position":[[1061,5]]},"558":{"position":[[241,6],[438,5]]},"595":{"position":[[1366,6]]},"597":{"position":[[154,5]]},"598":{"position":[[143,5]]},"599":{"position":[[142,5]]},"601":{"position":[[149,5]]},"607":{"position":[[422,5]]},"616":{"position":[[312,5],[385,5],[453,5],[682,5],[785,5]]},"652":{"position":[[254,5]]},"654":{"position":[[218,6]]},"655":{"position":[[215,6]]},"670":{"position":[[208,5]]},"792":{"position":[[42,5]]},"797":{"position":[[1061,5]]},"939":{"position":[[38,5]]},"943":{"position":[[885,6]]},"945":{"position":[[525,5],[639,5]]},"977":{"position":[[306,5]]},"1000":{"position":[[153,5]]},"1112":{"position":[[709,6]]},"1114":{"position":[[586,6]]},"1136":{"position":[[1521,5]]},"1148":{"position":[[1877,5]]},"1172":{"position":[[2244,5],[2292,5]]},"1205":{"position":[[1001,5]]},"1209":{"position":[[754,5]]},"1226":{"position":[[2694,5],[4800,5]]},"1235":{"position":[[2014,5]]},"1237":{"position":[[2864,5],[4970,5]]},"1373":{"position":[[6066,5]]},"1405":{"position":[[2662,5],[3390,5]]},"1407":{"position":[[3083,5],[3811,5]]},"1408":{"position":[[2430,5]]},"1410":{"position":[[3185,5],[4798,5]]}},"keywords":{}}],["empty>"",{"_index":5997,"title":{},"content":{"1172":{"position":[[2134,16]]}},"keywords":{}}],["empty.javadoc_url",{"_index":8234,"title":{},"content":{"1458":{"position":[[2231,18]]}},"keywords":{}}],["emu_arg",{"_index":7537,"title":{},"content":{"1395":{"position":[[465,9],[2025,9],[3775,8]]}},"keywords":{}}],["emul",{"_index":5972,"title":{},"content":{"1167":{"position":[[455,8],[487,9],[796,8],[984,9]]},"1354":{"position":[[2412,8],[2476,8]]},"1395":{"position":[[2060,8]]}},"keywords":{}}],["en",{"_index":6959,"title":{},"content":{"1366":{"position":[[3160,4]]}},"keywords":{}}],["en.lproj",{"_index":6955,"title":{},"content":{"1366":{"position":[[2494,10]]}},"keywords":{}}],["enabl",{"_index":61,"title":{"1076":{"position":[[0,8]]},"1100":{"position":[[0,8]]},"1110":{"position":[[0,8]]}},"content":{"4":{"position":[[434,8],[543,7]]},"9":{"position":[[796,7],[2446,7]]},"12":{"position":[[529,6]]},"22":{"position":[[2113,8]]},"23":{"position":[[1552,6],[1894,6]]},"242":{"position":[[364,8]]},"675":{"position":[[714,7]]},"695":{"position":[[665,7],[752,7]]},"715":{"position":[[162,8]]},"840":{"position":[[1297,6]]},"869":{"position":[[36,7]]},"962":{"position":[[37,7]]},"990":{"position":[[1248,7]]},"1056":{"position":[[618,8]]},"1076":{"position":[[3,6]]},"1077":{"position":[[262,7]]},"1078":{"position":[[119,7]]},"1079":{"position":[[353,8],[376,8]]},"1100":{"position":[[240,7]]},"1110":{"position":[[3,7]]},"1131":{"position":[[292,7]]},"1138":{"position":[[1636,6],[2307,6],[2425,6],[2519,6],[2633,6],[2923,8],[3116,6],[3959,8]]},"1140":{"position":[[1125,6],[1796,6],[1914,6],[2008,6],[2122,6],[2412,8],[2605,6],[3448,8]]},"1148":{"position":[[7140,8]]},"1167":{"position":[[2129,6],[2800,6],[2918,6],[3012,6],[3126,6],[3416,8],[3609,6],[4452,8]]},"1188":{"position":[[1178,6],[1849,6],[1967,6],[2061,6],[2175,6],[2465,8],[2658,6],[3501,8]]},"1191":{"position":[[337,7]]},"1199":{"position":[[273,6]]},"1215":{"position":[[128,6]]},"1217":{"position":[[870,6],[1541,6],[1659,6],[1753,6],[1867,6],[2157,8],[2350,6],[3193,8]]},"1226":{"position":[[3150,7]]},"1228":{"position":[[2951,6],[3622,6],[3740,6],[3834,6],[3948,6],[4238,8],[4431,6],[5274,8]]},"1237":{"position":[[3320,7]]},"1346":{"position":[[269,6]]},"1355":{"position":[[4777,7],[4821,7]]},"1362":{"position":[[13549,7]]},"1364":{"position":[[14249,7]]},"1370":{"position":[[2207,8],[2455,7],[2622,7]]},"1374":{"position":[[683,7],[2224,7]]},"1383":{"position":[[1206,7]]},"1384":{"position":[[20661,7]]},"1405":{"position":[[2120,6],[3150,8],[3574,6]]},"1407":{"position":[[2161,6],[3571,8],[3995,6]]},"1410":{"position":[[2561,6],[4152,8],[4983,6]]},"1439":{"position":[[4603,7],[4647,7]]},"1440":{"position":[[4552,7],[4596,7]]},"1470":{"position":[[4369,7],[4412,7]]},"1471":{"position":[[3607,7]]},"1472":{"position":[[4191,7]]},"1473":{"position":[[3675,7]]}},"keywords":{}}],["enable_cxx_interop",{"_index":6704,"title":{},"content":{"1362":{"position":[[1036,19]]},"1364":{"position":[[1053,19]]},"1367":{"position":[[2172,19]]},"1480":{"position":[[507,19]]}},"keywords":{}}],["enable_distributed_thinlto",{"_index":6705,"title":{},"content":{"1362":{"position":[[1066,27]]},"1364":{"position":[[1083,27]]},"1382":{"position":[[1004,27]]},"1388":{"position":[[1137,27]]},"1462":{"position":[[1366,27]]},"1467":{"position":[[1433,27]]},"1471":{"position":[[836,27]]},"1473":{"position":[[867,27]]}},"keywords":{}}],["enable_library_evolut",{"_index":6706,"title":{},"content":{"1362":{"position":[[1104,25]]},"1364":{"position":[[1121,25]]},"1367":{"position":[[2202,25]]},"1372":{"position":[[1456,25]]}},"keywords":{}}],["enable_profil",{"_index":7843,"title":{},"content":{"1416":{"position":[[585,17]]},"1417":{"position":[[555,17]]},"1420":{"position":[[530,17]]},"1421":{"position":[[495,17]]}},"keywords":{}}],["enable_relink",{"_index":6345,"title":{},"content":{"1348":{"position":[[1033,16]]},"1350":{"position":[[1662,16]]},"1352":{"position":[[1661,16]]}},"keywords":{}}],["enable_sandbox",{"_index":6645,"title":{},"content":{"1360":{"position":[[768,15]]},"1383":{"position":[[696,15],[6846,15]]},"1403":{"position":[[667,15],[4726,15]]},"1424":{"position":[[637,15]]},"1432":{"position":[[759,15]]}},"keywords":{}}],["enabledef",{"_index":5103,"title":{},"content":{"1030":{"position":[[284,14]]}},"keywords":{}}],["enablingdef",{"_index":5627,"title":{},"content":{"1100":{"position":[[22,16]]}},"keywords":{}}],["encapsul",{"_index":3975,"title":{},"content":{"861":{"position":[[27,12]]}},"keywords":{}}],["enclos",{"_index":2312,"title":{},"content":{"429":{"position":[[92,9]]},"808":{"position":[[92,9]]},"1240":{"position":[[498,9]]},"1282":{"position":[[359,9]]},"1283":{"position":[[376,9]]},"1284":{"position":[[356,9]]},"1313":{"position":[[359,9]]},"1314":{"position":[[376,9]]},"1315":{"position":[[356,9]]},"1341":{"position":[[359,9]]},"1342":{"position":[[376,9]]},"1343":{"position":[[356,9]]}},"keywords":{}}],["encod",{"_index":2625,"title":{"576":{"position":[[10,9]]}},"content":{"576":{"position":[[36,7],[104,6]]},"590":{"position":[[225,7],[306,7]]},"634":{"position":[[52,8],[103,7]]},"650":{"position":[[44,6]]},"656":{"position":[[136,7],[175,6],[281,7]]},"693":{"position":[[549,7]]},"1018":{"position":[[239,7]]},"1026":{"position":[[941,7]]},"1235":{"position":[[942,9],[1009,9],[1087,7]]},"1345":{"position":[[356,8],[677,8]]}},"keywords":{}}],["encoding/compress",{"_index":4006,"title":{},"content":{"866":{"position":[[77,21]]}},"keywords":{}}],["encoding="utf",{"_index":6581,"title":{},"content":{"1356":{"position":[[2203,18]]}},"keywords":{}}],["encompass",{"_index":3990,"title":{},"content":{"864":{"position":[[768,9]]}},"keywords":{}}],["encount",{"_index":786,"title":{},"content":{"24":{"position":[[127,9]]},"981":{"position":[[427,10]]},"1075":{"position":[[590,10]]},"1112":{"position":[[1047,11]]}},"keywords":{}}],["encourag",{"_index":7996,"title":{},"content":{"1429":{"position":[[4284,10]]},"1440":{"position":[[4277,10]]}},"keywords":{}}],["end",{"_index":5,"title":{"2":{"position":[[4,3]]},"9":{"position":[[13,3]]}},"content":{"9":{"position":[[129,3],[2106,3]]},"344":{"position":[[154,3],[270,3]]},"405":{"position":[[2156,3]]},"408":{"position":[[30,3]]},"566":{"position":[[50,4],[162,6],[241,3]]},"591":{"position":[[57,4],[195,6],[310,3]]},"593":{"position":[[105,4]]},"594":{"position":[[56,4],[159,6],[269,3]]},"596":{"position":[[57,4],[190,6]]},"611":{"position":[[57,4],[168,6]]},"612":{"position":[[58,4],[193,6]]},"617":{"position":[[459,3]]},"693":{"position":[[8480,3]]},"720":{"position":[[7,3]]},"722":{"position":[[1051,3]]},"784":{"position":[[2156,3]]},"787":{"position":[[30,3]]},"833":{"position":[[358,3]]},"840":{"position":[[68,6],[1774,3]]},"848":{"position":[[118,3]]},"861":{"position":[[248,3]]},"864":{"position":[[751,3],[1059,3],[1164,5],[1205,3],[1310,5]]},"887":{"position":[[252,4]]},"890":{"position":[[5300,3]]},"892":{"position":[[1396,4]]},"900":{"position":[[397,3]]},"937":{"position":[[777,4]]},"943":{"position":[[243,3],[1215,3],[1501,4],[1942,4],[2566,4]]},"951":{"position":[[1245,3]]},"987":{"position":[[757,3]]},"997":{"position":[[182,3]]},"1011":{"position":[[542,3]]},"1017":{"position":[[751,3]]},"1048":{"position":[[95,3]]},"1049":{"position":[[369,3]]},"1067":{"position":[[548,3]]},"1071":{"position":[[680,4]]},"1126":{"position":[[908,5]]},"1171":{"position":[[452,5]]},"1177":{"position":[[43,5]]},"1232":{"position":[[3706,4]]},"1243":{"position":[[620,4]]},"1244":{"position":[[152,6]]},"1255":{"position":[[419,3]]},"1366":{"position":[[2452,3]]},"1386":{"position":[[2748,4]]},"1412":{"position":[[3464,3],[3504,3]]},"1427":{"position":[[6646,3],[6701,3]]},"1439":{"position":[[7782,3],[7837,3]]},"1446":{"position":[[1998,3]]},"1455":{"position":[[4663,3],[4797,3]]},"1459":{"position":[[1971,3]]},"1487":{"position":[[3740,5]]}},"keywords":{}}],["end1",{"_index":3969,"title":{},"content":{"860":{"position":[[305,4]]}},"keywords":{}}],["end2",{"_index":3971,"title":{},"content":{"860":{"position":[[375,4]]}},"keywords":{}}],["endi",{"_index":2583,"title":{},"content":{"566":{"position":[[592,5]]}},"keywords":{}}],["endpoint.cas_address",{"_index":6305,"title":{},"content":{"1345":{"position":[[208,20]]}},"keywords":{}}],["endpoint.tls_ca_cert",{"_index":6306,"title":{},"content":{"1345":{"position":[[281,21]]}},"keywords":{}}],["enforc",{"_index":4495,"title":{},"content":{"919":{"position":[[1050,9],[1252,7],[1289,8],[1836,7],[2375,11]]},"1001":{"position":[[214,7]]},"1004":{"position":[[2342,9]]},"1064":{"position":[[270,7]]},"1393":{"position":[[9433,8]]}},"keywords":{}}],["enforcerequir",{"_index":4496,"title":{},"content":{"919":{"position":[[1115,19]]}},"keywords":{}}],["engin",{"_index":184,"title":{},"content":{"9":{"position":[[323,8]]},"10":{"position":[[181,8]]},"23":{"position":[[1393,6]]},"1345":{"position":[[1268,6]]},"1346":{"position":[[618,6]]}},"keywords":{}}],["engine.action_cache_address",{"_index":6304,"title":{},"content":{"1345":{"position":[[149,27]]}},"keywords":{}}],["engine/opencvengineinterface.aidl",{"_index":7673,"title":{},"content":{"1402":{"position":[[2341,36]]}},"keywords":{}}],["engine_address",{"_index":6303,"title":{},"content":{"1345":{"position":[[111,14]]}},"keywords":{}}],["enough",{"_index":681,"title":{},"content":{"22":{"position":[[1753,6]]},"85":{"position":[[501,6]]},"217":{"position":[[501,6]]},"693":{"position":[[4983,6]]},"1104":{"position":[[987,6]]},"1138":{"position":[[4270,6]]},"1140":{"position":[[3759,6]]},"1167":{"position":[[4763,6]]},"1188":{"position":[[3812,6]]},"1217":{"position":[[3504,6]]},"1228":{"position":[[5585,6]]},"1386":{"position":[[5311,6]]}},"keywords":{}}],["ensur",{"_index":453,"title":{"834":{"position":[[29,7]]},"848":{"position":[[0,7]]}},"content":{"15":{"position":[[280,7]]},"131":{"position":[[482,7]]},"254":{"position":[[482,7]]},"288":{"position":[[230,7],[393,7]]},"289":{"position":[[250,7],[413,7]]},"297":{"position":[[702,8]]},"298":{"position":[[1169,6],[1348,7]]},"304":{"position":[[347,7],[426,7]]},"344":{"position":[[555,7]]},"345":{"position":[[389,7],[676,6],[834,8]]},"368":{"position":[[2246,7]]},"416":{"position":[[1061,7]]},"417":{"position":[[1209,7]]},"510":{"position":[[256,7],[424,7]]},"511":{"position":[[276,7],[444,7]]},"576":{"position":[[3,6]]},"584":{"position":[[331,6]]},"688":{"position":[[303,7]]},"696":{"position":[[320,6]]},"708":{"position":[[845,6]]},"712":{"position":[[2763,7]]},"747":{"position":[[2246,7]]},"795":{"position":[[1061,7]]},"796":{"position":[[1209,7]]},"832":{"position":[[641,7]]},"834":{"position":[[259,7]]},"837":{"position":[[287,8]]},"845":{"position":[[283,6]]},"847":{"position":[[411,6],[453,10]]},"848":{"position":[[0,8],[167,9],[296,8],[346,8],[631,6],[718,8],[826,7]]},"861":{"position":[[721,7],[777,7]]},"864":{"position":[[1401,8],[1489,6],[1682,8]]},"867":{"position":[[2177,6],[2286,8]]},"877":{"position":[[72,6]]},"991":{"position":[[1424,7]]},"1037":{"position":[[140,7]]},"1098":{"position":[[358,6]]},"1104":{"position":[[1002,6]]},"1105":{"position":[[363,7]]},"1113":{"position":[[123,6]]},"1254":{"position":[[533,6]]},"1282":{"position":[[250,6]]},"1283":{"position":[[267,6]]},"1284":{"position":[[247,6]]},"1313":{"position":[[250,6]]},"1314":{"position":[[267,6]]},"1315":{"position":[[247,6]]},"1341":{"position":[[250,6]]},"1342":{"position":[[267,6]]},"1343":{"position":[[247,6]]},"1351":{"position":[[4885,6],[4994,6]]},"1383":{"position":[[4835,7]]},"1386":{"position":[[5367,6],[5407,6],[5866,6],[5983,6]]},"1469":{"position":[[1999,6]]},"1477":{"position":[[1551,7],[1741,8]]}},"keywords":{}}],["ensure_multiple()on",{"_index":1847,"title":{},"content":{"345":{"position":[[718,19]]}},"keywords":{}}],["ensured.abs_path",{"_index":1593,"title":{},"content":{"288":{"position":[[526,18]]},"510":{"position":[[592,18]]}},"keywords":{}}],["ensured.rel_path",{"_index":1600,"title":{},"content":{"289":{"position":[[546,18]]},"511":{"position":[[612,18]]}},"keywords":{}}],["ensured_artifact",{"_index":1839,"title":{},"content":{"344":{"position":[[314,16]]},"345":{"position":[[608,19]]},"834":{"position":[[3,16]]}},"keywords":{}}],["ensured_artifact_group",{"_index":2479,"title":{"509":{"position":[[0,22]]}},"content":{},"keywords":{}}],["ensured_artifact_group.abs_path",{"_index":2480,"title":{"510":{"position":[[0,32]]}},"content":{"510":{"position":[[4,33]]}},"keywords":{}}],["ensured_artifact_group.rel_path",{"_index":2485,"title":{"511":{"position":[[0,32]]}},"content":{"511":{"position":[[4,33]]}},"keywords":{}}],["ensured_with_abs_path",{"_index":1592,"title":{},"content":{"288":{"position":[[502,21]]},"510":{"position":[[568,21]]}},"keywords":{}}],["ensured_with_rel_path",{"_index":1599,"title":{},"content":{"289":{"position":[[522,21]]},"511":{"position":[[588,21]]}},"keywords":{}}],["ensuredartifact",{"_index":1591,"title":{},"content":{"288":{"position":[[465,15],[560,15]]},"289":{"position":[[485,15],[580,15]]},"402":{"position":[[249,15]]},"511":{"position":[[646,15]]},"781":{"position":[[249,15]]}},"keywords":{}}],["ensuredartifactgroup",{"_index":2484,"title":{},"content":{"510":{"position":[[526,20],[626,20]]},"511":{"position":[[546,20]]}},"keywords":{}}],["entail",{"_index":4790,"title":{},"content":{"964":{"position":[[97,6]]}},"keywords":{}}],["enter",{"_index":5439,"title":{},"content":{"1058":{"position":[[1154,7]]},"1438":{"position":[[1743,7],[1872,7]]}},"keywords":{}}],["entir",{"_index":506,"title":{},"content":{"17":{"position":[[699,6]]},"23":{"position":[[817,8]]},"342":{"position":[[85,6]]},"590":{"position":[[511,6]]},"592":{"position":[[234,6]]},"676":{"position":[[369,6]]},"706":{"position":[[1093,6]]},"708":{"position":[[424,6]]},"832":{"position":[[4,6],[146,6],[395,6],[574,8]]},"846":{"position":[[662,6],[787,6]]},"955":{"position":[[1455,6]]},"956":{"position":[[194,6]]},"965":{"position":[[252,6]]},"1016":{"position":[[117,8]]},"1078":{"position":[[293,8]]},"1190":{"position":[[355,6]]},"1192":{"position":[[192,6]]},"1387":{"position":[[6590,6]]},"1395":{"position":[[2972,6]]},"1439":{"position":[[6792,6]]},"1461":{"position":[[2607,6]]},"1462":{"position":[[6094,6]]},"1465":{"position":[[3066,6]]},"1467":{"position":[[7206,6]]},"1468":{"position":[[1484,6]]},"1477":{"position":[[2224,8]]}},"keywords":{}}],["entiti",{"_index":2041,"title":{},"content":{"377":{"position":[[1226,6]]},"756":{"position":[[1226,6]]}},"keywords":{}}],["entitl",{"_index":6897,"title":{},"content":{"1363":{"position":[[5872,12],[5992,12],[6037,12],[6175,12],[6249,12],[6469,13],[6507,12],[6601,12],[6663,12],[6883,13]]}},"keywords":{}}],["entitlements_fil",{"_index":6707,"title":{},"content":{"1362":{"position":[[1147,18],[6537,18]]},"1363":{"position":[[5903,17]]},"1367":{"position":[[2245,18]]},"1372":{"position":[[1499,18]]}},"keywords":{}}],["entri",{"_index":352,"title":{},"content":{"10":{"position":[[1055,5]]},"170":{"position":[[51,5]]},"171":{"position":[[80,5]]},"550":{"position":[[51,5]]},"551":{"position":[[80,5]]},"553":{"position":[[86,7]]},"559":{"position":[[408,5]]},"890":{"position":[[4303,5],[6128,7]]},"897":{"position":[[163,5]]},"1057":{"position":[[1187,7]]},"1075":{"position":[[154,7]]},"1093":{"position":[[452,5]]},"1097":{"position":[[280,6]]},"1112":{"position":[[2272,5]]},"1150":{"position":[[170,5]]},"1226":{"position":[[251,7]]},"1237":{"position":[[421,7]]},"1248":{"position":[[125,5]]},"1362":{"position":[[8139,5]]},"1363":{"position":[[6115,5],[6561,5]]},"1364":{"position":[[8988,5]]},"1367":{"position":[[8227,5]]},"1393":{"position":[[2478,8]]},"1395":{"position":[[2673,5],[3293,5]]},"1416":{"position":[[2986,5]]},"1427":{"position":[[6672,7]]},"1431":{"position":[[619,6]]},"1439":{"position":[[4812,5],[7808,7]]},"1443":{"position":[[1750,5]]},"1462":{"position":[[6867,5],[7041,5],[7484,5],[7827,5],[8022,5]]},"1467":{"position":[[8010,5],[8887,5],[9082,5]]},"1487":{"position":[[1629,7],[1848,7],[1928,5],[1958,7],[1997,7],[2070,7],[2760,5],[2900,7],[2932,7]]}},"keywords":{}}],["entries_to_exclud",{"_index":8607,"title":{},"content":{"1487":{"position":[[447,19],[1569,19],[3499,18]]}},"keywords":{}}],["entry'",{"_index":8039,"title":{},"content":{"1439":{"position":[[4838,7]]}},"keywords":{}}],["entry/exit",{"_index":5399,"title":{},"content":{"1057":{"position":[[1176,10]]}},"keywords":{}}],["entrypoint",{"_index":7743,"title":{},"content":{"1406":{"position":[[412,12]]}},"keywords":{}}],["enum",{"_index":1265,"title":{"638":{"position":[[0,5]]},"902":{"position":[[0,4]]}},"content":{"99":{"position":[[123,4]]},"231":{"position":[[123,4]]},"402":{"position":[[509,4]]},"404":{"position":[[46,4]]},"638":{"position":[[26,4],[543,4],[612,4],[1019,5]]},"781":{"position":[[509,4]]},"783":{"position":[[46,4]]},"890":{"position":[[2473,4],[4122,4]]},"898":{"position":[[2118,4],[2212,4],[2329,4]]},"902":{"position":[[4,4],[532,4],[601,4]]},"1112":{"position":[[3921,4]]},"1355":{"position":[[5941,6],[6253,6]]},"1374":{"position":[[2579,4]]},"1427":{"position":[[5114,6],[5426,6]]}},"keywords":{}}],["enum("option1"",{"_index":3117,"title":{},"content":{"638":{"position":[[108,25]]},"902":{"position":[[86,25]]}},"keywords":{}}],["enum(*arg",{"_index":3115,"title":{},"content":{"638":{"position":[[4,11]]}},"keywords":{}}],["enumer",{"_index":3120,"title":{"639":{"position":[[0,10]]}},"content":{"638":{"position":[[203,11],[741,11],[1119,11],[1201,11]]},"639":{"position":[[85,10]]},"900":{"position":[[2086,12]]},"902":{"position":[[181,11],[1104,11],[1186,11]]}},"keywords":{}}],["enumerate(["one"",{"_index":3141,"title":{},"content":{"639":{"position":[[530,27]]}},"keywords":{}}],["enumerate(["zero"",{"_index":3139,"title":{},"content":{"639":{"position":[[395,28]]}},"keywords":{}}],["enumerate(it",{"_index":3136,"title":{},"content":{"639":{"position":[[4,13]]}},"keywords":{}}],["enumerate(x",{"_index":3138,"title":{},"content":{"639":{"position":[[148,12]]}},"keywords":{}}],["enumeration.get",{"_index":3125,"title":{},"content":{"638":{"position":[[511,15]]},"902":{"position":[[500,15]]}},"keywords":{}}],["enumerationv.index",{"_index":4394,"title":{},"content":{"902":{"position":[[730,18]]}},"keywords":{}}],["enums[x.valu",{"_index":4397,"title":{},"content":{"902":{"position":[[1005,13]]}},"keywords":{}}],["env",{"_index":1170,"title":{"1151":{"position":[[5,3]]},"1152":{"position":[[10,4]]}},"content":{"94":{"position":[[320,4]]},"226":{"position":[[320,4]]},"374":{"position":[[50,3],[738,4]]},"753":{"position":[[50,3],[738,4]]},"1069":{"position":[[182,3]]},"1071":{"position":[[752,5]]},"1136":{"position":[[5060,5],[5665,5]]},"1138":{"position":[[2384,5],[3048,5],[8722,5],[9327,5]]},"1140":{"position":[[1873,5],[2537,5],[7648,5],[8253,5]]},"1142":{"position":[[3092,5],[3697,5]]},"1146":{"position":[[3032,5],[3637,5]]},"1148":{"position":[[6072,5],[6677,5]]},"1152":{"position":[[77,3]]},"1155":{"position":[[3128,5],[3733,5]]},"1156":{"position":[[2706,5],[3311,5]]},"1161":{"position":[[599,5],[1204,5]]},"1167":{"position":[[2877,5],[3541,5],[8652,5],[9257,5]]},"1181":{"position":[[811,5],[1416,5]]},"1186":{"position":[[4296,5],[4901,5]]},"1187":{"position":[[4309,5],[4914,5]]},"1188":{"position":[[1926,5],[2590,5],[9035,5],[9640,5]]},"1191":{"position":[[2896,5],[3501,5]]},"1192":{"position":[[3071,5],[3676,5]]},"1193":{"position":[[3123,5],[3728,5]]},"1194":{"position":[[2763,5],[3368,5]]},"1195":{"position":[[2741,5],[3346,5]]},"1196":{"position":[[2551,5],[3156,5]]},"1197":{"position":[[3534,5],[4139,5]]},"1198":{"position":[[3544,5],[4149,5]]},"1199":{"position":[[3572,5],[4177,5]]},"1200":{"position":[[3439,5],[4044,5]]},"1201":{"position":[[2699,5],[3304,5]]},"1202":{"position":[[3841,5],[4446,5],[8238,5],[8843,5]]},"1203":{"position":[[2933,5],[3538,5]]},"1204":{"position":[[2777,5],[3382,5]]},"1205":{"position":[[4106,5],[4711,5]]},"1206":{"position":[[2577,5],[3182,5]]},"1207":{"position":[[2734,5],[3339,5]]},"1209":{"position":[[4082,5],[4687,5]]},"1217":{"position":[[1618,5],[2282,5],[7393,5],[7998,5]]},"1222":{"position":[[2503,5],[3108,5]]},"1223":{"position":[[2513,5],[3118,5]]},"1226":{"position":[[7861,5],[8466,5]]},"1228":{"position":[[289,4],[379,3],[3699,5],[4363,5],[9474,5],[10079,5]]},"1235":{"position":[[5342,5],[5947,5]]},"1237":{"position":[[8031,5],[8636,5]]},"1239":{"position":[[73,3]]},"1354":{"position":[[674,4]]},"1367":{"position":[[2280,4]]},"1374":{"position":[[493,4],[1890,4]]},"1388":{"position":[[1175,4],[6034,4]]},"1393":{"position":[[484,4],[4031,4],[4040,3],[4080,3]]},"1398":{"position":[[697,4],[3320,4]]},"1403":{"position":[[700,4]]},"1410":{"position":[[853,4],[2999,4]]},"1413":{"position":[[723,4]]},"1429":{"position":[[983,4],[3897,4]]},"1440":{"position":[[1057,4],[3890,4]]},"1466":{"position":[[467,4]]},"1467":{"position":[[1471,4],[6387,4]]},"1470":{"position":[[1108,4]]},"1471":{"position":[[874,4],[3431,4]]},"1472":{"position":[[971,4],[4015,4]]},"1473":{"position":[[905,4],[3465,4]]},"1475":{"position":[[759,4]]},"1478":{"position":[[528,4],[2232,4]]},"1486":{"position":[[477,4]]}},"keywords":{}}],["env:env_var",{"_index":4453,"title":{},"content":{"910":{"position":[[262,12]]}},"keywords":{}}],["env:path",{"_index":473,"title":{},"content":{"15":{"position":[[734,9]]}},"keywords":{}}],["env:var="value"",{"_index":4450,"title":{},"content":{"910":{"position":[[183,26]]}},"keywords":{}}],["env_var",{"_index":4452,"title":{},"content":{"910":{"position":[[253,8],[275,9]]}},"keywords":{}}],["environ",{"_index":455,"title":{"890":{"position":[[0,12]]},"1257":{"position":[[7,11]]},"1288":{"position":[[7,11]]},"1316":{"position":[[7,11]]}},"content":{"15":{"position":[[307,11]]},"94":{"position":[[2536,11],[4171,11]]},"226":{"position":[[2536,11],[4171,11]]},"374":{"position":[[801,11]]},"377":{"position":[[1327,11],[1526,11]]},"581":{"position":[[403,11]]},"688":{"position":[[398,13]]},"689":{"position":[[223,12]]},"693":{"position":[[6717,12]]},"753":{"position":[[801,11]]},"756":{"position":[[1327,11],[1526,11]]},"890":{"position":[[0,12],[276,12],[474,13],[495,11],[548,11],[1701,13],[1771,12],[1795,11],[1891,11],[3024,12],[3048,11],[3134,11],[3425,12],[3840,12],[4678,12],[5570,12]]},"910":{"position":[[231,11],[290,11]]},"1050":{"position":[[2337,11],[3110,11]]},"1052":{"position":[[488,11],[1431,11]]},"1054":{"position":[[877,11]]},"1120":{"position":[[391,11]]},"1152":{"position":[[15,11],[132,11]]},"1217":{"position":[[142,11]]},"1228":{"position":[[307,11]]},"1345":{"position":[[431,11],[708,11],[1008,11]]},"1360":{"position":[[3196,11],[4878,11],[5157,11],[5407,11]]},"1374":{"position":[[780,11],[1904,11],[1995,11]]},"1383":{"position":[[1429,12],[2818,11],[4930,13],[5828,11],[6986,11],[7265,11],[7410,11]]},"1388":{"position":[[6048,11],[6190,11]]},"1393":{"position":[[6542,11]]},"1394":{"position":[[1719,11]]},"1395":{"position":[[2766,11]]},"1396":{"position":[[1619,11]]},"1397":{"position":[[2317,11]]},"1398":{"position":[[2385,11],[3353,11],[3744,11]]},"1403":{"position":[[2611,11],[4866,11],[5314,11],[6510,11]]},"1405":{"position":[[2259,11]]},"1407":{"position":[[2680,11]]},"1410":{"position":[[2702,11],[3013,11]]},"1429":{"position":[[3911,11]]},"1440":{"position":[[3904,11]]},"1467":{"position":[[6401,11],[6543,11]]},"1471":{"position":[[3440,11],[3504,11]]},"1472":{"position":[[3108,11],[3172,11],[4024,11],[4088,11]]},"1473":{"position":[[3474,11],[3572,11],[5307,11],[5356,11]]},"1477":{"position":[[2422,11]]},"1478":{"position":[[2237,11]]},"1486":{"position":[[1974,11]]}},"keywords":{}}],["environment_expansion_separ",{"_index":6646,"title":{},"content":{"1360":{"position":[[801,32],[3414,31],[4814,32]]},"1383":{"position":[[729,32],[6068,31],[6922,32]]},"1403":{"position":[[725,32],[2829,31],[4802,32]]},"1424":{"position":[[670,32]]},"1432":{"position":[[792,32]]}},"keywords":{}}],["epilog",{"_index":7188,"title":{},"content":{"1383":{"position":[[7965,9],[8115,9]]},"1403":{"position":[[7065,9],[7215,9]]}},"keywords":{}}],["equal",{"_index":958,"title":{},"content":{"67":{"position":[[144,8]]},"408":{"position":[[850,6],[947,6]]},"410":{"position":[[98,9]]},"440":{"position":[[81,5]]},"455":{"position":[[144,8]]},"498":{"position":[[112,8]]},"587":{"position":[[286,6],[366,6]]},"633":{"position":[[198,5]]},"787":{"position":[[850,6],[947,6]]},"789":{"position":[[98,9]]},"819":{"position":[[81,5]]},"1050":{"position":[[2369,5]]},"1282":{"position":[[176,5]]},"1283":{"position":[[193,5]]},"1284":{"position":[[173,5]]},"1313":{"position":[[176,5]]},"1314":{"position":[[193,5]]},"1315":{"position":[[173,5]]},"1341":{"position":[[176,5]]},"1342":{"position":[[193,5]]},"1343":{"position":[[173,5]]},"1366":{"position":[[2392,5]]},"1393":{"position":[[3472,7]]},"1486":{"position":[[2510,5],[2538,5]]}},"keywords":{}}],["equival",{"_index":969,"title":{},"content":{"69":{"position":[[298,11]]},"94":{"position":[[3469,10]]},"226":{"position":[[3469,10]]},"408":{"position":[[828,11]]},"457":{"position":[[298,11]]},"645":{"position":[[254,10],[305,10],[516,10]]},"662":{"position":[[246,10],[296,10]]},"711":{"position":[[59,11]]},"787":{"position":[[828,11]]},"847":{"position":[[82,10]]},"857":{"position":[[144,10]]},"942":{"position":[[922,10],[1129,10],[1486,10],[1657,10]]},"968":{"position":[[71,10]]},"994":{"position":[[336,12]]},"1136":{"position":[[1042,10]]},"1148":{"position":[[1398,10]]},"1205":{"position":[[522,10]]},"1209":{"position":[[275,10]]},"1226":{"position":[[2215,10]]},"1235":{"position":[[1535,10]]},"1237":{"position":[[2385,10]]},"1277":{"position":[[182,10],[301,10]]},"1308":{"position":[[182,10],[301,10]]},"1336":{"position":[[182,10],[301,10]]},"1393":{"position":[[3037,10],[3129,10],[3857,10],[6233,10],[9220,10]]},"1399":{"position":[[2174,10],[2426,10]]},"1405":{"position":[[2766,11]]},"1407":{"position":[[2289,11],[3187,11]]},"1410":{"position":[[3767,11]]},"1427":{"position":[[3835,10]]}},"keywords":{}}],["eras",{"_index":4246,"title":{},"content":{"890":{"position":[[4850,6]]}},"keywords":{}}],["erl",{"_index":7490,"title":{},"content":{"1393":{"position":[[7696,6],[7932,5],[8012,5],[8035,5]]},"1396":{"position":[[389,4],[1463,3],[1738,3]]},"1398":{"position":[[3579,3]]}},"keywords":{}}],["erl_opt",{"_index":7443,"title":{},"content":{"1393":{"position":[[516,9],[4214,9],[4371,8]]}},"keywords":{}}],["erlang",{"_index":124,"title":{},"content":{"6":{"position":[[210,6]]},"1040":{"position":[[2081,6]]},"1393":{"position":[[1118,6],[5988,6],[6186,6],[6448,6],[6577,6],[8953,6],[9050,6],[9849,6]]},"1394":{"position":[[567,6],[1754,6]]},"1395":{"position":[[1921,6],[2801,6]]},"1396":{"position":[[539,6],[1654,6]]},"1397":{"position":[[1914,6],[2352,6]]},"1398":{"position":[[2484,6],[3493,6],[3779,6]]}},"keywords":{}}],["erlang(ctx",{"_index":5142,"title":{},"content":{"1040":{"position":[[2111,12]]}},"keywords":{}}],["erlang.erlang_tests_default_app",{"_index":7628,"title":{},"content":{"1398":{"position":[[5743,32]]}},"keywords":{}}],["erlang.erlang_tests_default_configrespect",{"_index":7629,"title":{},"content":{"1398":{"position":[[5780,47]]}},"keywords":{}}],["erlang_app",{"_index":7439,"title":{"1393":{"position":[[0,11]]}},"content":{"1393":{"position":[[4,11]]}},"keywords":{}}],["erlang_app(l",{"_index":7616,"title":{},"content":{"1398":{"position":[[2858,20]]}},"keywords":{}}],["erlang_app_includ",{"_index":7533,"title":{"1394":{"position":[[0,20]]}},"content":{"1394":{"position":[[4,20]]}},"keywords":{}}],["erlang_appl",{"_index":7456,"title":{},"content":{"1393":{"position":[[1170,18],[1281,18],[9123,18],[9869,19],[9942,19],[10273,19],[10628,19]]},"1394":{"position":[[619,18],[730,18]]},"1395":{"position":[[3826,19]]}},"keywords":{}}],["erlang_escript",{"_index":7487,"title":{"1395":{"position":[[0,15]]}},"content":{"1393":{"position":[[7259,14],[9071,15]]},"1395":{"position":[[4,15],[673,14],[3617,15]]},"1398":{"position":[[4205,14]]}},"keywords":{}}],["erlang_otp_binari",{"_index":7556,"title":{"1396":{"position":[[0,20]]}},"content":{"1396":{"position":[[4,20],[1691,20]]}},"keywords":{}}],["erlang_releas",{"_index":7502,"title":{"1397":{"position":[[0,15]]}},"content":{"1393":{"position":[[9103,15]]},"1397":{"position":[[4,15],[665,14],[2904,14],[3497,15]]}},"keywords":{}}],["erlang_test",{"_index":7501,"title":{"1398":{"position":[[0,12]]}},"content":{"1393":{"position":[[9087,12]]},"1398":{"position":[[4,12],[1116,11],[1244,12],[1288,11],[1397,11],[2882,11],[3062,12],[4779,11],[4889,13],[4955,11],[5832,12],[5882,12],[6833,12],[7004,13]]}},"keywords":{}}],["erlanginfo(object",{"_index":5162,"title":{},"content":{"1040":{"position":[[2670,19]]}},"keywords":{}}],["erlc",{"_index":7557,"title":{},"content":{"1396":{"position":[[399,5],[1492,4],[1767,4]]}},"keywords":{}}],["err",{"_index":2380,"title":{},"content":{"444":{"position":[[131,3]]},"823":{"position":[[131,3]]},"1026":{"position":[[513,3]]},"1172":{"position":[[1910,3],[2254,3]]},"1429":{"position":[[5555,4]]},"1440":{"position":[[5547,4]]}},"keywords":{}}],["error",{"_index":257,"title":{"982":{"position":[[7,5]]}},"content":{"9":{"position":[[1706,7]]},"12":{"position":[[455,5]]},"18":{"position":[[783,5]]},"26":{"position":[[47,5],[94,5]]},"27":{"position":[[54,5],[101,5]]},"29":{"position":[[60,6],[107,5]]},"30":{"position":[[99,6],[146,5]]},"31":{"position":[[82,6],[129,5]]},"36":{"position":[[97,5]]},"40":{"position":[[119,5]]},"41":{"position":[[206,6],[227,5],[290,5],[342,5],[486,6],[550,6],[619,6],[669,5],[695,5],[799,5]]},"94":{"position":[[3178,6],[3326,6],[3366,7],[3421,6]]},"173":{"position":[[119,5]]},"174":{"position":[[206,6],[227,5],[290,5],[342,5],[486,6],[550,6],[619,6],[669,5],[695,5],[799,5]]},"178":{"position":[[47,5],[94,5]]},"179":{"position":[[54,5],[101,5]]},"181":{"position":[[97,5]]},"185":{"position":[[60,6],[107,5]]},"186":{"position":[[99,6],[146,5]]},"187":{"position":[[82,6],[129,5]]},"226":{"position":[[3178,6],[3326,6],[3366,7],[3421,6]]},"277":{"position":[[709,6]]},"282":{"position":[[818,6]]},"309":{"position":[[859,7]]},"318":{"position":[[183,6]]},"406":{"position":[[762,5]]},"416":{"position":[[568,5]]},"417":{"position":[[798,5]]},"423":{"position":[[194,6]]},"430":{"position":[[136,5]]},"446":{"position":[[109,5],[139,5],[301,6]]},"451":{"position":[[221,5]]},"557":{"position":[[632,6]]},"558":{"position":[[431,6]]},"569":{"position":[[368,5],[465,6]]},"575":{"position":[[188,6]]},"584":{"position":[[1176,5]]},"596":{"position":[[491,6]]},"610":{"position":[[904,6]]},"612":{"position":[[511,6]]},"638":{"position":[[445,5]]},"641":{"position":[[115,5]]},"644":{"position":[[565,6],[603,5]]},"645":{"position":[[191,5],[382,6]]},"648":{"position":[[338,5],[1117,6],[1167,6],[1243,6]]},"651":{"position":[[130,5],[273,6]]},"652":{"position":[[351,6]]},"654":{"position":[[138,5]]},"655":{"position":[[135,5]]},"663":{"position":[[479,5]]},"680":{"position":[[1345,7]]},"785":{"position":[[762,5]]},"795":{"position":[[568,5]]},"796":{"position":[[798,5]]},"802":{"position":[[194,6]]},"809":{"position":[[136,5]]},"825":{"position":[[109,5],[139,5],[301,6]]},"830":{"position":[[221,5]]},"851":{"position":[[358,6]]},"861":{"position":[[504,7]]},"897":{"position":[[64,5]]},"900":{"position":[[351,6]]},"901":{"position":[[441,5]]},"902":{"position":[[434,5]]},"907":{"position":[[295,7],[328,5]]},"943":{"position":[[2714,6]]},"983":{"position":[[119,5],[192,5]]},"984":{"position":[[39,6],[57,6]]},"1000":{"position":[[741,6]]},"1001":{"position":[[685,5],[1448,6]]},"1006":{"position":[[1204,5]]},"1013":{"position":[[651,6]]},"1021":{"position":[[564,6]]},"1046":{"position":[[142,5]]},"1064":{"position":[[783,5],[1540,6]]},"1065":{"position":[[381,6]]},"1091":{"position":[[132,6]]},"1105":{"position":[[2450,5]]},"1107":{"position":[[330,6]]},"1112":{"position":[[385,5],[816,5],[1040,6],[1127,6],[1225,6],[1384,7],[2592,5],[2647,5],[2821,6],[2848,5],[2877,5],[2968,7],[2980,6],[3091,5],[3409,5],[3454,6],[3485,5],[3522,5],[3594,5],[3615,5],[3969,6],[3983,5],[4071,5],[4092,5],[4180,5],[4231,5],[4379,6],[4445,6],[4516,6],[4566,5],[4592,5],[4713,5],[4761,5],[4879,5]]},"1114":{"position":[[95,5],[463,5],[708,5],[834,6],[993,6]]},"1121":{"position":[[92,5]]},"1136":{"position":[[4852,6],[6132,6],[6191,7]]},"1138":{"position":[[4095,6],[4982,6],[5165,5],[5293,6],[8514,6],[9794,6],[9853,7]]},"1140":{"position":[[3584,6],[4471,6],[4654,5],[4782,6],[7440,6],[8720,6],[8779,7]]},"1142":{"position":[[2884,6],[4164,6],[4223,7]]},"1144":{"position":[[492,6],[551,7]]},"1146":{"position":[[331,6],[2824,6],[4104,6],[4163,7]]},"1148":{"position":[[5864,6],[7695,6],[7754,7]]},"1150":{"position":[[727,6],[786,7]]},"1152":{"position":[[425,6],[484,7]]},"1154":{"position":[[580,6],[639,7]]},"1155":{"position":[[2920,6],[4200,6],[4259,7]]},"1156":{"position":[[2498,6],[3778,6],[3837,7]]},"1157":{"position":[[363,6],[422,7]]},"1158":{"position":[[357,6],[416,7]]},"1159":{"position":[[357,6],[416,7]]},"1161":{"position":[[1352,6],[1411,7]]},"1163":{"position":[[738,6],[797,7]]},"1165":{"position":[[567,6],[626,7]]},"1167":{"position":[[4588,6],[5475,6],[5658,5],[5786,6],[8444,6],[9724,6],[9783,7]]},"1169":{"position":[[2283,6],[2832,6],[2891,7]]},"1171":{"position":[[1073,6],[1132,7]]},"1172":{"position":[[2096,6],[2458,6],[2517,7]]},"1173":{"position":[[1145,6],[1204,7]]},"1174":{"position":[[573,6],[632,7]]},"1175":{"position":[[569,6],[628,7]]},"1176":{"position":[[738,6],[797,7]]},"1177":{"position":[[659,6],[718,7]]},"1178":{"position":[[976,6],[1035,7]]},"1179":{"position":[[773,6],[832,7]]},"1180":{"position":[[1044,6],[1103,7]]},"1181":{"position":[[1564,6],[1623,7]]},"1182":{"position":[[607,6],[666,7]]},"1183":{"position":[[562,6],[621,7]]},"1185":{"position":[[407,6],[466,7]]},"1186":{"position":[[4088,6],[5368,6],[5427,7]]},"1187":{"position":[[4101,6],[5381,6],[5440,7]]},"1188":{"position":[[3637,6],[4524,6],[4707,5],[4835,6],[8827,6],[10107,6],[10166,7]]},"1190":{"position":[[1738,6],[1797,7]]},"1191":{"position":[[2688,6],[3968,6],[4027,7]]},"1192":{"position":[[2863,6],[4143,6],[4202,7]]},"1193":{"position":[[2915,6],[4195,6],[4254,7]]},"1194":{"position":[[2555,6],[3835,6],[3894,7]]},"1195":{"position":[[2533,6],[3813,6],[3872,7]]},"1196":{"position":[[2343,6],[3623,6],[3682,7]]},"1197":{"position":[[3326,6],[4606,6],[4665,7]]},"1198":{"position":[[3336,6],[4616,6],[4675,7]]},"1199":{"position":[[3364,6],[4644,6],[4703,7]]},"1200":{"position":[[3231,6],[4511,6],[4570,7]]},"1201":{"position":[[2491,6],[3771,6],[3830,7]]},"1202":{"position":[[515,6],[574,7],[3633,6],[4913,6],[4972,7],[8030,6],[9310,6],[9369,7]]},"1203":{"position":[[2725,6],[4005,6],[4064,7]]},"1204":{"position":[[2569,6],[3849,6],[3908,7],[4751,6],[4810,7],[5681,6],[5740,7],[6583,6],[6642,7],[7569,6],[7628,7],[8523,6],[8582,7],[9470,6],[9529,7],[10400,6],[10459,7]]},"1205":{"position":[[3898,6],[5178,6],[5237,7]]},"1206":{"position":[[2369,6],[3877,6],[3936,7]]},"1207":{"position":[[2526,6],[3806,6],[3865,7]]},"1209":{"position":[[3874,6],[5154,6],[5213,7]]},"1211":{"position":[[478,6],[537,7]]},"1213":{"position":[[249,6],[308,7]]},"1215":{"position":[[333,6],[392,7]]},"1217":{"position":[[3329,6],[4216,6],[4399,5],[4527,6],[7185,6],[8465,6],[8524,7]]},"1219":{"position":[[714,5],[3171,6],[3720,6],[3779,7]]},"1221":{"position":[[452,6],[511,7]]},"1222":{"position":[[2295,6],[3591,6],[3650,7]]},"1223":{"position":[[2305,6],[3601,6],[3660,7]]},"1224":{"position":[[2485,6],[3034,6],[3093,7]]},"1226":{"position":[[3877,7],[7653,6],[8933,6],[8992,7]]},"1228":{"position":[[5410,6],[6297,6],[6480,5],[6608,6],[9266,6],[10546,6],[10605,7]]},"1235":{"position":[[5134,6],[6414,6],[6473,7]]},"1237":{"position":[[4047,7],[7823,6],[9103,6],[9162,7]]},"1243":{"position":[[1252,6]]},"1353":{"position":[[2826,6]]},"1362":{"position":[[10253,5]]},"1364":{"position":[[11367,5]]},"1367":{"position":[[11170,5],[14004,6]]},"1382":{"position":[[6979,5]]},"1384":{"position":[[13333,5]]},"1388":{"position":[[7848,5]]},"1427":{"position":[[3951,6]]},"1462":{"position":[[7394,5]]},"1467":{"position":[[8363,5]]}},"keywords":{}}],["error"",{"_index":3147,"title":{},"content":{"641":{"position":[[83,12]]}},"keywords":{}}],["error_diagnost",{"_index":5740,"title":{},"content":{"1112":{"position":[[3637,18]]}},"keywords":{}}],["error_handl",{"_index":1186,"title":{},"content":{"94":{"position":[[1069,14]]},"226":{"position":[[1069,14]]}},"keywords":{}}],["errorarg",{"_index":2077,"title":{},"content":{"389":{"position":[[1087,8]]},"768":{"position":[[1087,8]]}},"keywords":{}}],["ert",{"_index":7572,"title":{},"content":{"1397":{"position":[[2015,4],[3226,4]]}},"keywords":{}}],["erts/.multi_toolchain",{"_index":7573,"title":{},"content":{"1397":{"position":[[2035,22]]}},"keywords":{}}],["erts_vsn="12.1.2"",{"_index":7587,"title":{},"content":{"1397":{"position":[[3261,27]]}},"keywords":{}}],["es",{"_index":5035,"title":{},"content":{"1007":{"position":[[334,2]]}},"keywords":{}}],["escap",{"_index":2626,"title":{},"content":{"576":{"position":[[84,6],[173,6]]},"912":{"position":[[0,8]]},"1087":{"position":[[263,6]]}},"keywords":{}}],["escript",{"_index":7486,"title":{},"content":{"1393":{"position":[[7212,7]]},"1395":{"position":[[719,9],[790,9],[1726,7],[1827,8],[1965,8],[2084,7],[2185,7],[2335,8],[2874,7],[2979,7],[3175,8],[3193,8],[3272,8],[3318,7],[3368,7],[3500,7],[3560,7]]},"1396":{"position":[[410,8],[1525,7],[1798,7]]},"1398":{"position":[[4155,7]]}},"keywords":{}}],["escript"extract/2",{"_index":7542,"title":{},"content":{"1395":{"position":[[2443,23]]}},"keywords":{}}],["escript:extract/2",{"_index":7544,"title":{},"content":{"1395":{"position":[[2930,18],[3087,17]]}},"keywords":{}}],["especi",{"_index":280,"title":{},"content":{"9":{"position":[[2234,10]]},"1104":{"position":[[2651,10]]},"1105":{"position":[[2435,11]]},"1254":{"position":[[290,10]]}},"keywords":{}}],["essenti",{"_index":4806,"title":{},"content":{"966":{"position":[[106,11]]},"1050":{"position":[[352,9]]}},"keywords":{}}],["etc",{"_index":57,"title":{},"content":{"4":{"position":[[340,3]]},"11":{"position":[[630,5]]},"690":{"position":[[251,4]]},"693":{"position":[[4002,4]]},"867":{"position":[[148,4]]},"907":{"position":[[150,4]]},"950":{"position":[[631,4]]},"1181":{"position":[[588,4]]},"1271":{"position":[[360,5]]},"1302":{"position":[[360,5]]},"1330":{"position":[[360,5]]},"1384":{"position":[[11619,6],[12596,6],[20146,4]]},"1386":{"position":[[5266,4]]},"1471":{"position":[[5456,5]]},"1472":{"position":[[6342,5]]},"1473":{"position":[[3973,4]]}},"keywords":{}}],["etc.).relative_to",{"_index":2159,"title":{},"content":{"405":{"position":[[2337,17]]},"784":{"position":[[2337,17]]}},"keywords":{}}],["etc..short_path",{"_index":5264,"title":{},"content":{"1049":{"position":[[461,15]]}},"keywords":{}}],["etc/buckconfig.d",{"_index":2693,"title":{},"content":{"583":{"position":[[787,17]]}},"keywords":{}}],["etc/buckconfigfil",{"_index":2692,"title":{},"content":{"583":{"position":[[742,20]]}},"keywords":{}}],["eval",{"_index":3886,"title":{},"content":{"846":{"position":[[605,6],[821,7]]},"904":{"position":[[243,4]]},"905":{"position":[[92,4]]},"924":{"position":[[992,4],[1175,4]]}},"keywords":{}}],["eval_typ",{"_index":3142,"title":{"640":{"position":[[0,10]]}},"content":{},"keywords":{}}],["eval_type(ti",{"_index":3143,"title":{},"content":{"640":{"position":[[4,13]]}},"keywords":{}}],["evalu",{"_index":1480,"title":{"718":{"position":[[9,11]]},"1091":{"position":[[0,11]]}},"content":{"240":{"position":[[92,9]]},"329":{"position":[[152,9]]},"334":{"position":[[601,8]]},"418":{"position":[[575,9],[1100,9]]},"429":{"position":[[144,10]]},"444":{"position":[[106,10]]},"470":{"position":[[92,9]]},"474":{"position":[[340,8]]},"693":{"position":[[1541,9],[2622,10]]},"710":{"position":[[211,10]]},"715":{"position":[[1775,11]]},"718":{"position":[[13,9],[148,9],[586,10]]},"720":{"position":[[14,11]]},"797":{"position":[[575,9],[1100,9]]},"808":{"position":[[144,10]]},"823":{"position":[[106,10]]},"832":{"position":[[512,9]]},"837":{"position":[[68,9],[243,9]]},"845":{"position":[[80,8]]},"876":{"position":[[382,11]]},"888":{"position":[[1096,10],[1214,10]]},"890":{"position":[[318,11],[2218,11]]},"900":{"position":[[189,9]]},"904":{"position":[[626,10],[1253,9],[1378,9],[1432,9]]},"951":{"position":[[1111,10]]},"959":{"position":[[219,10]]},"1000":{"position":[[7,10],[40,8],[327,10],[530,9],[772,9]]},"1001":{"position":[[501,10],[637,11],[710,11],[864,10],[1423,10]]},"1024":{"position":[[539,8],[1201,9]]},"1044":{"position":[[242,9]]},"1056":{"position":[[32,10]]},"1064":{"position":[[599,10],[735,11],[808,11],[964,10],[1515,10]]},"1065":{"position":[[356,10]]},"1088":{"position":[[1260,9]]},"1090":{"position":[[100,11],[138,9]]},"1091":{"position":[[31,9]]},"1129":{"position":[[226,9]]},"1136":{"position":[[891,8],[4717,10],[5352,9]]},"1138":{"position":[[8379,10],[9014,9]]},"1140":{"position":[[7305,10],[7940,9]]},"1142":{"position":[[2749,10],[3384,9]]},"1146":{"position":[[353,10],[2689,10],[3324,9]]},"1148":{"position":[[1247,8],[5729,10],[6364,9]]},"1155":{"position":[[2785,10],[3420,9]]},"1156":{"position":[[2363,10],[2998,9]]},"1161":{"position":[[891,9]]},"1167":{"position":[[8309,10],[8944,9]]},"1169":{"position":[[2148,10]]},"1181":{"position":[[1103,9]]},"1185":{"position":[[141,10]]},"1186":{"position":[[3953,10],[4588,9]]},"1187":{"position":[[20,10],[3966,10],[4601,9]]},"1188":{"position":[[8692,10],[9327,9]]},"1191":{"position":[[2553,10],[3188,9]]},"1192":{"position":[[2728,10],[3363,9]]},"1193":{"position":[[2780,10],[3415,9]]},"1194":{"position":[[2420,10],[3055,9]]},"1195":{"position":[[2398,10],[3033,9]]},"1196":{"position":[[2208,10],[2843,9]]},"1197":{"position":[[3191,10],[3826,9]]},"1198":{"position":[[3201,10],[3836,9]]},"1199":{"position":[[161,9],[236,9],[3229,10],[3864,9]]},"1200":{"position":[[3096,10],[3731,9]]},"1201":{"position":[[2356,10],[2991,9]]},"1202":{"position":[[3498,10],[4133,9],[7895,10],[8530,9]]},"1203":{"position":[[2590,10],[3225,9]]},"1204":{"position":[[2434,10],[3069,9]]},"1205":{"position":[[3763,10],[4398,9]]},"1206":{"position":[[2234,10],[2869,9]]},"1207":{"position":[[2391,10],[3026,9]]},"1209":{"position":[[124,8],[3739,10],[4374,9]]},"1217":{"position":[[7050,10],[7685,9]]},"1219":{"position":[[3036,10]]},"1222":{"position":[[2160,10],[2795,9]]},"1223":{"position":[[2170,10],[2805,9]]},"1224":{"position":[[2350,10]]},"1226":{"position":[[7518,10],[8153,9]]},"1228":{"position":[[9131,10],[9766,9]]},"1235":{"position":[[1384,8],[4999,10],[5634,9]]},"1237":{"position":[[7688,10],[8323,9]]},"1247":{"position":[[56,10],[152,10],[542,10],[709,11]]},"1249":{"position":[[99,10]]},"1250":{"position":[[38,10]]},"1258":{"position":[[994,9],[1093,8]]},"1259":{"position":[[266,9],[991,9]]},"1260":{"position":[[63,9]]},"1262":{"position":[[51,9]]},"1271":{"position":[[34,9]]},"1282":{"position":[[277,11]]},"1283":{"position":[[294,11]]},"1284":{"position":[[274,11]]},"1289":{"position":[[994,9],[1093,8]]},"1290":{"position":[[266,9],[991,9]]},"1291":{"position":[[63,9]]},"1293":{"position":[[51,9]]},"1302":{"position":[[34,9]]},"1313":{"position":[[277,11]]},"1314":{"position":[[294,11]]},"1315":{"position":[[274,11]]},"1317":{"position":[[994,9],[1093,8]]},"1318":{"position":[[266,9],[991,9]]},"1319":{"position":[[63,9]]},"1321":{"position":[[51,9]]},"1330":{"position":[[34,9]]},"1341":{"position":[[277,11]]},"1342":{"position":[[294,11]]},"1343":{"position":[[274,11]]},"1351":{"position":[[2310,8],[2692,8]]}},"keywords":{}}],["evalut",{"_index":4713,"title":{},"content":{"944":{"position":[[2125,8]]}},"keywords":{}}],["even",{"_index":328,"title":{},"content":{"10":{"position":[[524,4]]},"23":{"position":[[2729,4]]},"305":{"position":[[216,4]]},"346":{"position":[[222,4]]},"347":{"position":[[320,4]]},"374":{"position":[[1908,4]]},"418":{"position":[[925,4]]},"675":{"position":[[1102,4]]},"706":{"position":[[1275,4]]},"753":{"position":[[1908,4]]},"797":{"position":[[925,4]]},"833":{"position":[[51,4],[211,4]]},"840":{"position":[[1350,4]]},"890":{"position":[[1375,4],[6028,4],[6161,4]]},"956":{"position":[[281,4]]},"958":{"position":[[312,4]]},"961":{"position":[[360,4]]},"987":{"position":[[400,4],[811,4]]},"1026":{"position":[[167,4]]},"1037":{"position":[[107,4]]},"1046":{"position":[[341,4]]},"1053":{"position":[[936,4]]},"1069":{"position":[[811,4]]},"1084":{"position":[[660,4]]},"1113":{"position":[[586,4],[671,4]]},"1136":{"position":[[4300,5]]},"1138":{"position":[[7962,5]]},"1140":{"position":[[6888,5]]},"1142":{"position":[[2332,5]]},"1146":{"position":[[2272,5]]},"1148":{"position":[[5312,5]]},"1155":{"position":[[2368,5]]},"1156":{"position":[[1946,5]]},"1161":{"position":[[302,4]]},"1167":{"position":[[7892,5]]},"1169":{"position":[[1731,5]]},"1186":{"position":[[729,4],[3536,5]]},"1187":{"position":[[742,4],[3549,5]]},"1188":{"position":[[5468,4],[8275,5]]},"1191":{"position":[[2136,5]]},"1192":{"position":[[2311,5]]},"1193":{"position":[[2363,5]]},"1194":{"position":[[2003,5]]},"1195":{"position":[[1981,5]]},"1196":{"position":[[1791,5]]},"1197":{"position":[[2774,5]]},"1198":{"position":[[2784,5]]},"1199":{"position":[[2812,5]]},"1200":{"position":[[2679,5]]},"1201":{"position":[[1939,5]]},"1202":{"position":[[3081,5],[7478,5]]},"1203":{"position":[[2173,5]]},"1204":{"position":[[2017,5]]},"1205":{"position":[[3346,5]]},"1206":{"position":[[1817,5]]},"1207":{"position":[[1974,5]]},"1209":{"position":[[3322,5]]},"1217":{"position":[[6633,5]]},"1219":{"position":[[2619,5]]},"1222":{"position":[[1743,5]]},"1223":{"position":[[1753,5]]},"1224":{"position":[[1933,5]]},"1226":{"position":[[7101,5]]},"1228":{"position":[[1195,4],[8714,5]]},"1235":{"position":[[4582,5]]},"1237":{"position":[[7271,5]]},"1351":{"position":[[3778,4]]},"1384":{"position":[[19579,4]]},"1393":{"position":[[5410,4]]},"1459":{"position":[[1667,4]]}},"keywords":{}}],["event",{"_index":408,"title":{"864":{"position":[[9,6]]},"865":{"position":[[5,5]]},"866":{"position":[[15,5],[39,5]]},"867":{"position":[[0,5]]},"1123":{"position":[[0,5]]},"1126":{"position":[[5,7]]},"1127":{"position":[[12,5]]}},"content":{"12":{"position":[[440,6]]},"94":{"position":[[1438,5]]},"226":{"position":[[1438,5]]},"304":{"position":[[93,6],[290,6],[304,5]]},"864":{"position":[[28,6],[125,6],[157,5],[184,5],[583,6],[660,5],[755,6],[925,6],[1627,6],[1668,6]]},"865":{"position":[[21,5],[94,5],[142,6],[491,5],[566,5],[697,6],[813,5]]},"866":{"position":[[52,5],[109,6],[246,5],[272,5]]},"867":{"position":[[23,5],[193,6],[214,7],[271,5],[665,5],[693,5],[1627,5],[2193,5],[2358,5]]},"965":{"position":[[416,5]]},"1014":{"position":[[7,5]]},"1067":{"position":[[532,6]]},"1112":{"position":[[3562,5]]},"1116":{"position":[[56,5]]},"1118":{"position":[[96,5]]},"1120":{"position":[[589,7],[623,5]]},"1124":{"position":[[22,5]]},"1126":{"position":[[16,5],[156,5],[175,5],[456,5],[568,5],[1293,7],[1502,5],[1553,6]]},"1127":{"position":[[0,5],[82,5],[630,5],[661,5]]},"1136":{"position":[[5423,6],[5701,5],[5722,5],[5751,6]]},"1138":{"position":[[9085,6],[9363,5],[9384,5],[9413,6]]},"1140":{"position":[[449,5],[483,6],[531,6],[558,5],[601,6],[641,5],[8011,6],[8289,5],[8310,5],[8339,6]]},"1142":{"position":[[3455,6],[3733,5],[3754,5],[3783,6]]},"1146":{"position":[[3395,6],[3673,5],[3694,5],[3723,6]]},"1148":{"position":[[6435,6],[6713,5],[6734,5],[6763,6]]},"1155":{"position":[[3491,6],[3769,5],[3790,5],[3819,6]]},"1156":{"position":[[3069,6],[3347,5],[3368,5],[3397,6]]},"1161":{"position":[[962,6]]},"1163":{"position":[[307,5],[328,5],[357,6]]},"1165":{"position":[[136,5],[157,5],[186,6]]},"1167":{"position":[[9015,6],[9293,5],[9314,5],[9343,6]]},"1169":{"position":[[2401,5],[2422,5],[2451,6]]},"1171":{"position":[[678,5],[711,5],[760,5]]},"1172":{"position":[[910,5],[980,5]]},"1173":{"position":[[210,5],[280,5]]},"1174":{"position":[[114,5],[184,5]]},"1175":{"position":[[134,5],[204,5]]},"1176":{"position":[[218,5],[288,5]]},"1177":{"position":[[130,5],[200,5]]},"1178":{"position":[[284,5],[354,5]]},"1179":{"position":[[150,5],[220,5]]},"1180":{"position":[[480,5],[550,5]]},"1181":{"position":[[10,5],[65,5],[193,5],[305,5],[615,5],[1174,6]]},"1182":{"position":[[13,5],[62,5],[172,5],[242,5]]},"1183":{"position":[[127,5],[197,5]]},"1186":{"position":[[4659,6],[4937,5],[4958,5],[4987,6]]},"1187":{"position":[[4672,6],[4950,5],[4971,5],[5000,6]]},"1188":{"position":[[502,5],[536,6],[584,6],[611,5],[654,6],[694,5],[9398,6],[9676,5],[9697,5],[9726,6]]},"1191":{"position":[[3259,6],[3537,5],[3558,5],[3587,6]]},"1192":{"position":[[3434,6],[3712,5],[3733,5],[3762,6]]},"1193":{"position":[[3486,6],[3764,5],[3785,5],[3814,6]]},"1194":{"position":[[3126,6],[3404,5],[3425,5],[3454,6]]},"1195":{"position":[[3104,6],[3382,5],[3403,5],[3432,6]]},"1196":{"position":[[2914,6],[3192,5],[3213,5],[3242,6]]},"1197":{"position":[[3897,6],[4175,5],[4196,5],[4225,6]]},"1198":{"position":[[3907,6],[4185,5],[4206,5],[4235,6]]},"1199":{"position":[[3935,6],[4213,5],[4234,5],[4263,6]]},"1200":{"position":[[3802,6],[4080,5],[4101,5],[4130,6]]},"1201":{"position":[[3062,6],[3340,5],[3361,5],[3390,6]]},"1202":{"position":[[4204,6],[4482,5],[4503,5],[4532,6],[8601,6],[8879,5],[8900,5],[8929,6]]},"1203":{"position":[[3296,6],[3574,5],[3595,5],[3624,6]]},"1204":{"position":[[3140,6],[3418,5],[3439,5],[3468,6]]},"1205":{"position":[[4469,6],[4747,5],[4768,5],[4797,6]]},"1206":{"position":[[2940,6],[3218,5],[3239,5],[3268,6]]},"1207":{"position":[[3097,6],[3375,5],[3396,5],[3425,6]]},"1209":{"position":[[4445,6],[4723,5],[4744,5],[4773,6]]},"1217":{"position":[[7756,6],[8034,5],[8055,5],[8084,6]]},"1219":{"position":[[3289,5],[3310,5],[3339,6]]},"1222":{"position":[[2866,6],[3144,5],[3165,5],[3194,6]]},"1223":{"position":[[2876,6],[3154,5],[3175,5],[3204,6]]},"1224":{"position":[[138,6],[2603,5],[2624,5],[2653,6]]},"1226":{"position":[[8224,6],[8502,5],[8523,5],[8552,6]]},"1228":{"position":[[9837,6],[10115,5],[10136,5],[10165,6]]},"1235":{"position":[[5705,6],[5983,5],[6004,5],[6033,6]]},"1237":{"position":[[8394,6],[8672,5],[8693,5],[8722,6]]},"1244":{"position":[[142,5]]},"1248":{"position":[[75,5],[140,5]]}},"keywords":{}}],["event'",{"_index":5795,"title":{},"content":{"1126":{"position":[[429,7]]}},"keywords":{}}],["event.data.instant.data.snapshot.this_event_client_delay_m",{"_index":5821,"title":{},"content":{"1127":{"position":[[759,60]]}},"keywords":{}}],["events.clean_stale_artifact_ttl_hour",{"_index":5545,"title":{},"content":{"1079":{"position":[[884,37]]}},"keywords":{}}],["eventsr",{"_index":5775,"title":{},"content":{"1120":{"position":[[674,7]]}},"keywords":{}}],["eventu",{"_index":1162,"title":{},"content":{"93":{"position":[[144,10]]},"225":{"position":[[144,10]]},"1044":{"position":[[461,10]]},"1067":{"position":[[196,10]]},"1075":{"position":[[289,10]]},"1393":{"position":[[5319,8]]}},"keywords":{}}],["everyapple_test",{"_index":5344,"title":{},"content":{"1054":{"position":[[1282,15]]}},"keywords":{}}],["everyon",{"_index":233,"title":{},"content":{"9":{"position":[[1319,8]]}},"keywords":{}}],["everyth",{"_index":4429,"title":{},"content":{"906":{"position":[[350,10]]},"924":{"position":[[1557,10]]},"966":{"position":[[653,10]]},"1057":{"position":[[1143,11]]},"1104":{"position":[[2109,10]]},"1106":{"position":[[133,10]]},"1136":{"position":[[6219,11],[6251,10]]},"1138":{"position":[[9881,11],[9913,10]]},"1140":{"position":[[8807,11],[8839,10]]},"1142":{"position":[[4251,11],[4283,10]]},"1144":{"position":[[579,11],[611,10]]},"1146":{"position":[[4191,11],[4223,10]]},"1148":{"position":[[7782,11],[7814,10]]},"1150":{"position":[[814,11],[846,10]]},"1152":{"position":[[512,11],[544,10]]},"1154":{"position":[[667,11],[699,10]]},"1155":{"position":[[4287,11],[4319,10]]},"1156":{"position":[[3865,11],[3897,10]]},"1157":{"position":[[450,11],[482,10]]},"1158":{"position":[[444,11],[476,10]]},"1159":{"position":[[444,11],[476,10]]},"1161":{"position":[[1439,11],[1471,10]]},"1163":{"position":[[825,11],[857,10]]},"1165":{"position":[[654,11],[686,10]]},"1167":{"position":[[9811,11],[9843,10]]},"1169":{"position":[[2919,11],[2951,10]]},"1171":{"position":[[118,10],[1160,11],[1192,10]]},"1172":{"position":[[7,10],[2545,11],[2577,10]]},"1173":{"position":[[1232,11],[1264,10]]},"1174":{"position":[[660,11],[692,10]]},"1175":{"position":[[656,11],[688,10]]},"1176":{"position":[[825,11],[857,10]]},"1177":{"position":[[746,11],[778,10]]},"1178":{"position":[[1063,11],[1095,10]]},"1179":{"position":[[860,11],[892,10]]},"1180":{"position":[[1131,11],[1163,10]]},"1181":{"position":[[1651,11],[1683,10]]},"1182":{"position":[[694,11],[726,10]]},"1183":{"position":[[649,11],[681,10]]},"1185":{"position":[[494,11],[526,10]]},"1186":{"position":[[5455,11],[5487,10]]},"1187":{"position":[[5468,11],[5500,10]]},"1188":{"position":[[10194,11],[10226,10]]},"1190":{"position":[[1825,11],[1857,10]]},"1191":{"position":[[4055,11],[4087,10]]},"1192":{"position":[[4230,11],[4262,10]]},"1193":{"position":[[4282,11],[4314,10]]},"1194":{"position":[[3922,11],[3954,10]]},"1195":{"position":[[3900,11],[3932,10]]},"1196":{"position":[[3710,11],[3742,10]]},"1197":{"position":[[4693,11],[4725,10]]},"1198":{"position":[[4703,11],[4735,10]]},"1199":{"position":[[4731,11],[4763,10]]},"1200":{"position":[[4598,11],[4630,10]]},"1201":{"position":[[3858,11],[3890,10]]},"1202":{"position":[[602,11],[634,10],[5000,11],[5032,10],[9397,11],[9429,10]]},"1203":{"position":[[4092,11],[4124,10]]},"1204":{"position":[[3936,11],[3968,10],[4838,11],[4870,10],[5768,11],[5800,10],[6670,11],[6702,10],[7656,11],[7688,10],[8610,11],[8642,10],[9557,11],[9589,10],[10487,11],[10519,10]]},"1205":{"position":[[5265,11],[5297,10]]},"1206":{"position":[[3964,11],[3996,10]]},"1207":{"position":[[3893,11],[3925,10]]},"1209":{"position":[[5241,11],[5273,10]]},"1211":{"position":[[565,11],[597,10]]},"1213":{"position":[[336,11],[368,10]]},"1215":{"position":[[420,11],[452,10]]},"1217":{"position":[[8552,11],[8584,10]]},"1219":{"position":[[3807,11],[3839,10]]},"1221":{"position":[[539,11],[571,10]]},"1222":{"position":[[3678,11],[3710,10]]},"1223":{"position":[[3688,11],[3720,10]]},"1224":{"position":[[3121,11],[3153,10]]},"1226":{"position":[[9020,11],[9052,10]]},"1228":{"position":[[10633,11],[10665,10]]},"1235":{"position":[[6501,11],[6533,10]]},"1237":{"position":[[9190,11],[9222,10]]},"1405":{"position":[[3759,10]]},"1406":{"position":[[1518,10]]},"1407":{"position":[[4378,10]]},"1408":{"position":[[2757,10]]},"1410":{"position":[[5169,10]]}},"keywords":{}}],["everywher",{"_index":4535,"title":{},"content":{"924":{"position":[[914,11]]},"937":{"position":[[4400,11]]},"991":{"position":[[1346,10]]}},"keywords":{}}],["evolving).buck2",{"_index":774,"title":{},"content":{"23":{"position":[[3144,15]]}},"keywords":{}}],["ex",{"_index":513,"title":{},"content":{"17":{"position":[[946,4]]},"94":{"position":[[1000,4]]},"126":{"position":[[304,5]]},"226":{"position":[[1000,4]]},"249":{"position":[[304,5]]},"301":{"position":[[1080,4]]},"398":{"position":[[237,4]]},"399":{"position":[[41,3],[267,4]]},"441":{"position":[[214,3]]},"442":{"position":[[164,3]]},"688":{"position":[[660,5],[1065,5]]},"777":{"position":[[237,4]]},"778":{"position":[[41,3],[267,4]]},"820":{"position":[[214,3]]},"821":{"position":[[164,3]]},"867":{"position":[[1881,4]]},"904":{"position":[[113,4]]},"937":{"position":[[102,4],[143,4],[174,4],[1575,4],[4086,4],[4114,4],[4159,4],[4342,4]]},"942":{"position":[[701,3]]},"943":{"position":[[2610,4]]},"944":{"position":[[1195,3]]},"946":{"position":[[682,4]]},"1023":{"position":[[218,3],[247,5]]},"1025":{"position":[[126,5]]},"1044":{"position":[[2667,4]]},"1104":{"position":[[1188,6]]},"1140":{"position":[[792,4]]},"1188":{"position":[[845,4]]},"1190":{"position":[[1426,4]]},"1206":{"position":[[55,4]]},"1226":{"position":[[1674,4]]},"1237":{"position":[[1844,4]]},"1243":{"position":[[513,4]]},"1279":{"position":[[173,3]]},"1310":{"position":[[173,3]]},"1338":{"position":[[173,3]]},"1360":{"position":[[6243,6],[6326,6]]},"1374":{"position":[[518,4],[1733,3],[1847,5],[1979,3],[2055,4],[2248,3],[2283,3],[2395,3],[2863,3],[2875,5],[3116,3],[3340,3],[3436,3],[3532,3]]},"1383":{"position":[[5223,5]]},"1401":{"position":[[1895,6]]},"1403":{"position":[[5133,5],[7598,6],[7694,6],[7786,6],[8001,6],[8113,6]]},"1423":{"position":[[1921,5]]},"1486":{"position":[[502,4],[1937,3],[2044,3],[3078,5],[3203,3],[3371,6],[3465,6],[3559,6]]}},"keywords":{}}],["exact",{"_index":1719,"title":{},"content":{"308":{"position":[[133,5]]},"648":{"position":[[1199,5],[1275,5]]},"1114":{"position":[[967,5]]},"1226":{"position":[[1582,5]]},"1237":{"position":[[1752,5]]}},"keywords":{}}],["exactli",{"_index":3269,"title":{},"content":{"656":{"position":[[182,7]]},"686":{"position":[[37,7]]},"904":{"position":[[210,7],[283,7]]},"1001":{"position":[[182,7]]},"1064":{"position":[[238,7]]},"1231":{"position":[[732,7]]},"1235":{"position":[[178,7]]},"1381":{"position":[[1947,8]]},"1386":{"position":[[5916,7]]}},"keywords":{}}],["examin",{"_index":1145,"title":{},"content":{"92":{"position":[[1734,7]]},"224":{"position":[[1734,7]]},"951":{"position":[[978,7]]},"1040":{"position":[[1836,7]]},"1487":{"position":[[3596,7]]}},"keywords":{}}],["exampl",{"_index":140,"title":{"708":{"position":[[0,9]]},"712":{"position":[[9,8]]},"871":{"position":[[0,7]]},"878":{"position":[[6,8]]},"892":{"position":[[9,8]]},"896":{"position":[[0,9]]},"991":{"position":[[0,8]]},"1046":{"position":[[15,8]]},"1047":{"position":[[7,8]]},"1048":{"position":[[7,8]]},"1054":{"position":[[0,7]]},"1102":{"position":[[12,8]]}},"content":{"7":{"position":[[108,8]]},"9":{"position":[[245,9],[2363,9]]},"11":{"position":[[286,8]]},"17":{"position":[[51,7],[193,7]]},"22":{"position":[[1617,8]]},"24":{"position":[[627,8]]},"41":{"position":[[522,8],[644,7]]},"50":{"position":[[154,8]]},"69":{"position":[[393,7]]},"72":{"position":[[147,8]]},"89":{"position":[[282,8]]},"92":{"position":[[420,8],[1042,8],[1390,8]]},"94":{"position":[[1886,8]]},"99":{"position":[[1208,8]]},"174":{"position":[[522,8],[644,7]]},"197":{"position":[[154,8]]},"221":{"position":[[282,8]]},"224":{"position":[[420,8],[1042,8],[1390,8]]},"226":{"position":[[1886,8]]},"231":{"position":[[1208,8]]},"286":{"position":[[340,7]]},"300":{"position":[[335,8]]},"368":{"position":[[581,7]]},"377":{"position":[[769,7]]},"405":{"position":[[1442,8],[1633,8]]},"406":{"position":[[165,7],[315,8]]},"408":{"position":[[932,7]]},"415":{"position":[[187,8]]},"429":{"position":[[175,8]]},"435":{"position":[[152,8]]},"437":{"position":[[302,8]]},"446":{"position":[[466,8]]},"457":{"position":[[393,7]]},"495":{"position":[[147,8]]},"575":{"position":[[106,8],[351,8]]},"577":{"position":[[232,8],[576,8]]},"578":{"position":[[165,8]]},"583":{"position":[[242,8]]},"584":{"position":[[1314,8]]},"622":{"position":[[483,8],[1215,8]]},"632":{"position":[[336,8]]},"638":{"position":[[90,8],[622,8]]},"656":{"position":[[332,8]]},"663":{"position":[[115,8],[685,8],[957,8],[1088,8]]},"675":{"position":[[173,7]]},"676":{"position":[[322,8]]},"678":{"position":[[92,8]]},"679":{"position":[[53,8]]},"680":{"position":[[592,8],[907,8]]},"681":{"position":[[316,8],[558,8]]},"688":{"position":[[789,8]]},"693":{"position":[[380,7],[1122,8],[3222,8],[4309,8],[7604,8]]},"695":{"position":[[99,8]]},"704":{"position":[[680,8]]},"708":{"position":[[1119,10]]},"711":{"position":[[1302,8]]},"712":{"position":[[1555,8]]},"715":{"position":[[574,8],[1002,8]]},"722":{"position":[[227,8]]},"747":{"position":[[581,7]]},"756":{"position":[[769,7]]},"784":{"position":[[1442,8],[1633,8]]},"785":{"position":[[165,7],[315,8]]},"787":{"position":[[932,7]]},"794":{"position":[[187,8]]},"808":{"position":[[175,8]]},"814":{"position":[[152,8]]},"816":{"position":[[302,8]]},"825":{"position":[[466,8]]},"832":{"position":[[205,8]]},"850":{"position":[[141,8],[150,8],[194,7]]},"855":{"position":[[264,8]]},"861":{"position":[[181,8]]},"864":{"position":[[404,8]]},"865":{"position":[[425,8]]},"870":{"position":[[51,8],[861,8]]},"872":{"position":[[456,7]]},"873":{"position":[[322,7]]},"874":{"position":[[5,7]]},"878":{"position":[[16,7]]},"888":{"position":[[86,8],[232,7]]},"890":{"position":[[362,8],[443,7],[1451,8],[2116,8]]},"892":{"position":[[376,8]]},"895":{"position":[[171,8],[261,8]]},"898":{"position":[[1250,8],[1900,8]]},"900":{"position":[[471,8]]},"901":{"position":[[78,8],[911,8],[1042,8]]},"902":{"position":[[68,8],[611,8]]},"904":{"position":[[357,8]]},"905":{"position":[[455,8],[717,8]]},"906":{"position":[[125,8],[456,8],[884,7]]},"917":{"position":[[161,8]]},"919":{"position":[[562,9],[2194,8]]},"921":{"position":[[480,8]]},"937":{"position":[[67,8]]},"938":{"position":[[359,8],[723,8]]},"939":{"position":[[578,8],[1044,8],[1498,7]]},"940":{"position":[[142,8],[495,8],[524,7],[966,8]]},"941":{"position":[[71,8]]},"942":{"position":[[117,8]]},"943":{"position":[[2411,8]]},"944":{"position":[[850,8],[1051,7]]},"945":{"position":[[825,8],[858,8]]},"947":{"position":[[622,8]]},"969":{"position":[[117,8]]},"980":{"position":[[1107,8]]},"981":{"position":[[188,7]]},"993":{"position":[[229,7]]},"994":{"position":[[413,7]]},"995":{"position":[[865,8],[1200,8],[1371,7]]},"997":{"position":[[102,8]]},"1000":{"position":[[401,8]]},"1001":{"position":[[277,8]]},"1004":{"position":[[843,7],[887,8]]},"1005":{"position":[[321,8]]},"1006":{"position":[[432,8]]},"1009":{"position":[[88,8]]},"1012":{"position":[[267,8]]},"1021":{"position":[[76,8]]},"1022":{"position":[[246,8]]},"1023":{"position":[[133,8],[238,8]]},"1024":{"position":[[918,8]]},"1035":{"position":[[203,8]]},"1040":{"position":[[1467,8],[2038,7]]},"1042":{"position":[[54,8]]},"1043":{"position":[[225,8]]},"1044":{"position":[[950,8],[1433,8]]},"1046":{"position":[[549,8]]},"1048":{"position":[[131,8]]},"1049":{"position":[[658,8]]},"1050":{"position":[[1628,8],[2501,8]]},"1052":{"position":[[636,7],[1582,7]]},"1056":{"position":[[224,8]]},"1057":{"position":[[138,8]]},"1064":{"position":[[333,8]]},"1071":{"position":[[190,8],[257,8]]},"1082":{"position":[[678,8]]},"1083":{"position":[[514,8]]},"1084":{"position":[[260,8]]},"1086":{"position":[[165,8]]},"1087":{"position":[[455,8]]},"1088":{"position":[[802,8],[1225,7]]},"1103":{"position":[[115,8],[814,8],[1167,9]]},"1104":{"position":[[793,8],[2082,8]]},"1105":{"position":[[423,8],[1294,8],[2470,7]]},"1108":{"position":[[349,8]]},"1112":{"position":[[2157,8],[4415,8],[4541,7]]},"1127":{"position":[[592,8]]},"1131":{"position":[[582,8],[682,7]]},"1133":{"position":[[515,8],[543,7],[879,8]]},"1134":{"position":[[109,8]]},"1136":{"position":[[340,9],[1513,7],[1689,7],[6427,7]]},"1138":{"position":[[10089,7]]},"1140":{"position":[[9015,7]]},"1142":{"position":[[4459,7]]},"1144":{"position":[[787,7]]},"1146":{"position":[[4399,7]]},"1148":{"position":[[873,9],[1869,7],[2045,7],[7990,7]]},"1150":{"position":[[1022,7]]},"1152":{"position":[[720,7]]},"1154":{"position":[[875,7]]},"1155":{"position":[[4495,7]]},"1156":{"position":[[4073,7]]},"1157":{"position":[[658,7]]},"1158":{"position":[[652,7]]},"1159":{"position":[[652,7]]},"1161":{"position":[[1647,7]]},"1163":{"position":[[1033,7]]},"1165":{"position":[[862,7]]},"1167":{"position":[[10019,7]]},"1169":{"position":[[3127,7]]},"1171":{"position":[[1368,7]]},"1172":{"position":[[2753,7]]},"1173":{"position":[[1440,7]]},"1174":{"position":[[868,7]]},"1175":{"position":[[864,7]]},"1176":{"position":[[1033,7]]},"1177":{"position":[[954,7]]},"1178":{"position":[[1271,7]]},"1179":{"position":[[1068,7]]},"1180":{"position":[[1339,7]]},"1181":{"position":[[1859,7]]},"1182":{"position":[[902,7]]},"1183":{"position":[[857,7]]},"1185":{"position":[[702,7]]},"1186":{"position":[[5663,7]]},"1187":{"position":[[5676,7]]},"1188":{"position":[[10402,7]]},"1190":{"position":[[2033,7]]},"1191":{"position":[[4263,7]]},"1192":{"position":[[4438,7]]},"1193":{"position":[[4490,7]]},"1194":{"position":[[172,9],[4130,7]]},"1195":{"position":[[4108,7]]},"1196":{"position":[[3918,7]]},"1197":{"position":[[4901,7]]},"1198":{"position":[[4911,7]]},"1199":{"position":[[4939,7]]},"1200":{"position":[[4806,7]]},"1201":{"position":[[4066,7]]},"1202":{"position":[[810,7],[5208,7],[9605,7]]},"1203":{"position":[[4300,7]]},"1204":{"position":[[4144,7],[5046,7],[5976,7],[6878,7],[7864,7],[8818,7],[9765,7],[10695,7]]},"1205":{"position":[[993,7],[1169,7],[5473,7]]},"1206":{"position":[[4172,7]]},"1207":{"position":[[4101,7]]},"1209":{"position":[[746,7],[922,7],[5449,7]]},"1211":{"position":[[773,7]]},"1213":{"position":[[544,7]]},"1215":{"position":[[628,7]]},"1217":{"position":[[8760,7]]},"1219":{"position":[[4015,7]]},"1221":{"position":[[747,7]]},"1222":{"position":[[3886,7]]},"1223":{"position":[[3896,7]]},"1224":{"position":[[3329,7]]},"1226":{"position":[[2686,7],[2862,7],[4791,8],[9228,7]]},"1228":{"position":[[1899,8],[10841,7]]},"1232":{"position":[[18,7]]},"1235":{"position":[[666,9],[2006,7],[2182,7],[6709,7]]},"1237":{"position":[[2856,7],[3032,7],[4961,8],[9398,7]]},"1243":{"position":[[749,8]]},"1245":{"position":[[347,8]]},"1248":{"position":[[117,7]]},"1253":{"position":[[143,7]]},"1255":{"position":[[103,7]]},"1258":{"position":[[12,8],[697,8],[1129,8]]},"1260":{"position":[[192,8],[493,8],[816,8]]},"1273":{"position":[[247,8]]},"1278":{"position":[[291,8]]},"1279":{"position":[[215,8]]},"1280":{"position":[[190,8]]},"1281":{"position":[[147,8]]},"1289":{"position":[[12,8],[697,8],[1129,8]]},"1291":{"position":[[192,8],[493,8],[816,8]]},"1304":{"position":[[247,8]]},"1309":{"position":[[291,8]]},"1310":{"position":[[215,8]]},"1311":{"position":[[190,8]]},"1312":{"position":[[147,8]]},"1317":{"position":[[12,8],[697,8],[1129,8]]},"1319":{"position":[[192,8],[493,8],[816,8]]},"1332":{"position":[[247,8]]},"1337":{"position":[[291,8]]},"1338":{"position":[[215,8]]},"1339":{"position":[[190,8]]},"1340":{"position":[[147,8]]},"1346":{"position":[[231,8],[257,8],[731,7]]},"1348":{"position":[[4512,9]]},"1351":{"position":[[2089,8],[2970,7],[3544,9],[3565,7],[5083,8]]},"1353":{"position":[[2856,9],[2877,7]]},"1354":{"position":[[3093,9],[3114,7]]},"1355":{"position":[[5161,8],[7599,9]]},"1356":{"position":[[1959,9],[1979,7]]},"1358":{"position":[[2892,9]]},"1359":{"position":[[2267,9]]},"1360":{"position":[[3332,8],[5743,9],[5764,7]]},"1361":{"position":[[2346,9]]},"1362":{"position":[[8409,8],[13754,9]]},"1363":{"position":[[4690,7],[5262,7],[5603,8],[6897,9]]},"1364":{"position":[[9523,8],[14454,9]]},"1365":{"position":[[1852,9]]},"1366":{"position":[[3266,9]]},"1367":{"position":[[8497,8],[10178,7],[14364,9]]},"1370":{"position":[[2854,8]]},"1373":{"position":[[6160,7],[8583,9]]},"1374":{"position":[[2620,7],[2900,9]]},"1380":{"position":[[1727,9]]},"1381":{"position":[[2474,9],[2493,9]]},"1382":{"position":[[4858,8],[5063,7],[11604,9]]},"1383":{"position":[[3018,8],[4775,8],[5987,8],[7829,8],[8855,8]]},"1384":{"position":[[18514,7],[20504,8],[20983,8],[21195,9]]},"1385":{"position":[[7182,9]]},"1386":{"position":[[2413,8],[2837,8],[3042,9],[3127,8],[4036,7],[4375,7],[6054,8]]},"1387":{"position":[[10555,9]]},"1388":{"position":[[5552,8],[5757,7],[10320,9]]},"1390":{"position":[[1952,9]]},"1391":{"position":[[1767,9]]},"1392":{"position":[[2444,9]]},"1393":{"position":[[9831,9]]},"1395":{"position":[[3607,9]]},"1396":{"position":[[1681,9]]},"1397":{"position":[[3487,9]]},"1398":{"position":[[2727,7],[6586,8],[6823,9]]},"1399":{"position":[[2019,9],[2095,9],[2381,10],[2460,10],[2867,10],[2968,9]]},"1401":{"position":[[1674,9],[1692,7],[1785,10]]},"1402":{"position":[[2122,9]]},"1403":{"position":[[2747,8],[4581,8],[5510,8],[5884,8],[6929,8],[7348,9]]},"1404":{"position":[[1501,9]]},"1405":{"position":[[3484,7],[3909,9],[3928,9]]},"1407":{"position":[[3905,7],[4528,9],[4547,9]]},"1408":{"position":[[2524,7],[2845,9],[2864,9]]},"1410":{"position":[[4892,7],[5710,9],[5729,9]]},"1412":{"position":[[3673,9],[3753,10]]},"1415":{"position":[[3938,8],[5428,9],[5766,8]]},"1416":{"position":[[3540,9]]},"1420":{"position":[[2677,9]]},"1421":{"position":[[2395,9]]},"1422":{"position":[[2766,8],[3065,7],[3870,9]]},"1423":{"position":[[2640,9],[3762,7]]},"1426":{"position":[[1981,8],[2010,10]]},"1427":{"position":[[4475,8],[7088,9]]},"1439":{"position":[[5560,7],[6974,8],[7918,9]]},"1442":{"position":[[1848,8],[2053,7],[2977,9]]},"1443":{"position":[[1786,9]]},"1444":{"position":[[1932,9]]},"1446":{"position":[[1787,8]]},"1448":{"position":[[2660,7],[2702,9],[2775,9],[2794,9]]},"1449":{"position":[[2594,7],[2636,9],[2709,9],[2728,9]]},"1453":{"position":[[1864,9]]},"1454":{"position":[[9643,9]]},"1455":{"position":[[4463,9]]},"1456":{"position":[[1516,9],[1621,10]]},"1457":{"position":[[1884,9],[1903,9]]},"1458":{"position":[[2470,9]]},"1459":{"position":[[2239,9]]},"1461":{"position":[[3296,9],[3833,7]]},"1462":{"position":[[8882,9]]},"1465":{"position":[[4236,9]]},"1467":{"position":[[10843,9]]},"1469":{"position":[[2302,7],[2451,9],[2471,7],[2715,7],[3130,7],[3465,7]]},"1471":{"position":[[4202,8],[4348,7],[4685,8],[5699,9],[5718,9]]},"1472":{"position":[[3636,8],[4786,8],[4932,7],[5269,8],[5830,7],[6585,9],[6604,9]]},"1473":{"position":[[4523,8],[4669,7],[5006,8],[5870,9],[5889,9]]},"1477":{"position":[[2598,9]]},"1478":{"position":[[2160,8],[2756,9]]},"1482":{"position":[[1736,9]]},"1485":{"position":[[4769,9]]},"1486":{"position":[[3103,9],[5086,8]]},"1487":{"position":[[2997,9],[3012,7],[3114,10]]}},"keywords":{}}],["example).dep",{"_index":8121,"title":{},"content":{"1448":{"position":[[2025,14]]},"1449":{"position":[[1959,14]]}},"keywords":{}}],["example)/resources/file.xml",{"_index":7661,"title":{},"content":{"1401":{"position":[[1933,28]]}},"keywords":{}}],["example)testinfra",{"_index":4472,"title":{},"content":{"916":{"position":[[150,18]]}},"keywords":{}}],["example,buck2",{"_index":4512,"title":{},"content":{"921":{"position":[[750,13]]},"942":{"position":[[860,13],[1437,13]]},"1271":{"position":[[214,13]]},"1302":{"position":[[214,13]]},"1330":{"position":[[214,13]]}},"keywords":{}}],["example,buildbarn",{"_index":6317,"title":{},"content":{"1346":{"position":[[213,17]]}},"keywords":{}}],["example,v",{"_index":4390,"title":{},"content":{"901":{"position":[[642,9]]}},"keywords":{}}],["example.html",{"_index":7647,"title":{},"content":{"1399":{"position":[[2146,15],[2208,15],[2230,15],[2252,15],[2398,15],[2477,15],[2499,15],[2884,15]]}},"keywords":{}}],["example1",{"_index":7957,"title":{},"content":{"1426":{"position":[[2263,12]]}},"keywords":{}}],["example:bar",{"_index":4404,"title":{},"content":{"904":{"position":[[582,15],[776,15],[1124,13],[1411,15]]}},"keywords":{}}],["example:baz",{"_index":5850,"title":{},"content":{"1133":{"position":[[969,14],[1022,16]]}},"keywords":{}}],["example:buck2",{"_index":6280,"title":{},"content":{"1262":{"position":[[663,13]]},"1277":{"position":[[222,13]]},"1282":{"position":[[369,13]]},"1283":{"position":[[386,13]]},"1284":{"position":[[366,13]]},"1293":{"position":[[663,13]]},"1308":{"position":[[222,13]]},"1313":{"position":[[369,13]]},"1314":{"position":[[386,13]]},"1315":{"position":[[366,13]]},"1321":{"position":[[663,13]]},"1336":{"position":[[222,13]]},"1341":{"position":[[369,13]]},"1342":{"position":[[386,13]]},"1343":{"position":[[366,13]]}},"keywords":{}}],["example:foo",{"_index":4409,"title":{},"content":{"904":{"position":[[1035,13]]}},"keywords":{}}],["example:tool",{"_index":7660,"title":{},"content":{"1401":{"position":[[1902,15]]}},"keywords":{}}],["examples"socket_address"",{"_index":5340,"title":{},"content":{"1054":{"position":[[981,34]]}},"keywords":{}}],["examples/1.txt",{"_index":6288,"title":{},"content":{"1273":{"position":[[343,15]]},"1304":{"position":[[343,15]]},"1332":{"position":[[343,15]]}},"keywords":{}}],["examples:on",{"_index":6289,"title":{},"content":{"1273":{"position":[[390,15]]},"1304":{"position":[[390,15]]},"1332":{"position":[[390,15]]}},"keywords":{}}],["examplesfold",{"_index":602,"title":{},"content":{"19":{"position":[[91,15]]}},"keywords":{}}],["example{"socket_address"",{"_index":2043,"title":{},"content":{"377":{"position":[[1269,35]]},"756":{"position":[[1269,35]]}},"keywords":{}}],["exce",{"_index":1054,"title":{},"content":{"85":{"position":[[399,6]]},"217":{"position":[[399,6]]},"446":{"position":[[551,7]]},"825":{"position":[[551,7]]},"1075":{"position":[[202,7]]},"1253":{"position":[[369,6]]},"1370":{"position":[[2307,7]]}},"keywords":{}}],["exceed",{"_index":6076,"title":{},"content":{"1228":{"position":[[1407,9]]}},"keywords":{}}],["excel",{"_index":317,"title":{},"content":{"10":{"position":[[239,6]]}},"keywords":{}}],["except",{"_index":909,"title":{},"content":{"53":{"position":[[141,6]]},"94":{"position":[[3185,6]]},"200":{"position":[[141,6]]},"226":{"position":[[3185,6]]},"400":{"position":[[305,6]]},"596":{"position":[[283,6]]},"611":{"position":[[236,6]]},"612":{"position":[[262,6]]},"614":{"position":[[214,6]]},"622":{"position":[[864,6]]},"680":{"position":[[346,9]]},"688":{"position":[[618,9],[1016,9]]},"779":{"position":[[305,6]]},"904":{"position":[[152,9]]},"905":{"position":[[79,9]]},"924":{"position":[[2092,6]]},"1026":{"position":[[133,9]]},"1088":{"position":[[586,6]]},"1283":{"position":[[431,6]]},"1314":{"position":[[431,6]]},"1342":{"position":[[431,6]]},"1355":{"position":[[3945,10]]},"1383":{"position":[[5518,9]]},"1427":{"position":[[3090,10]]},"1439":{"position":[[3764,10]]}},"keywords":{}}],["except(left",{"_index":6262,"title":{"1283":{"position":[[0,12]]},"1314":{"position":[[0,12]]},"1342":{"position":[[0,12]]}},"content":{"1259":{"position":[[2137,12]]},"1290":{"position":[[2137,12]]},"1318":{"position":[[2137,12]]}},"keywords":{}}],["excess",{"_index":6186,"title":{"1246":{"position":[[10,6]]}},"content":{"1255":{"position":[[437,9]]}},"keywords":{}}],["exclud",{"_index":1207,"title":{},"content":{"94":{"position":[[2343,8]]},"226":{"position":[[2343,8]]},"333":{"position":[[450,8]]},"418":{"position":[[51,8],[368,7],[453,7]]},"580":{"position":[[346,8]]},"581":{"position":[[610,10]]},"797":{"position":[[51,8],[368,7],[453,7]]},"864":{"position":[[846,10]]},"867":{"position":[[1133,9]]},"1228":{"position":[[410,7],[458,7],[575,8],[630,8],[700,7],[762,8],[808,7],[834,7],[866,10],[960,8]]},"1278":{"position":[[156,9]]},"1309":{"position":[[156,9]]},"1337":{"position":[[156,9]]},"1353":{"position":[[2766,9]]},"1422":{"position":[[421,9],[1812,9]]},"1426":{"position":[[1938,7],[2037,8],[2198,8]]},"1427":{"position":[[4683,7],[4789,7],[7397,8],[7567,8],[8039,8]]},"1439":{"position":[[7182,7],[7288,7],[8223,8],[8393,8],[8863,8]]}},"keywords":{}}],["exclude_deps_from_merged_link",{"_index":8258,"title":{},"content":{"1461":{"position":[[658,33],[2209,33]]},"1465":{"position":[[639,33]]},"1467":{"position":[[1496,33],[6808,33]]}},"keywords":{}}],["excluded_java_dep",{"_index":6346,"title":{},"content":{"1348":{"position":[[1060,19]]}},"keywords":{}}],["exclus",{"_index":1234,"title":{},"content":{"94":{"position":[[4039,9],[4100,9]]},"226":{"position":[[4039,9],[4100,9]]},"1346":{"position":[[510,11]]},"1462":{"position":[[7688,9]]}},"keywords":{}}],["exe_target",{"_index":3446,"title":{},"content":{"688":{"position":[[1152,12]]},"1025":{"position":[[90,12]]}},"keywords":{}}],["exec",{"_index":1450,"title":{},"content":{"233":{"position":[[208,4]]},"878":{"position":[[1105,4],[1206,4]]},"905":{"position":[[650,4]]},"987":{"position":[[779,4],[868,4]]},"989":{"position":[[167,4],[264,4],[299,4]]},"1024":{"position":[[854,4]]},"1025":{"position":[[549,4]]}},"keywords":{}}],["exec_compatible_with",{"_index":1630,"title":{},"content":{"298":{"position":[[439,21],[1918,22]]},"1348":{"position":[[143,21]]},"1349":{"position":[[154,21]]},"1350":{"position":[[146,21]]},"1351":{"position":[[152,21],[1450,21]]},"1352":{"position":[[146,21]]},"1353":{"position":[[159,21]]},"1354":{"position":[[160,21]]},"1355":{"position":[[147,21],[2810,21]]},"1356":{"position":[[148,21]]},"1357":{"position":[[148,21]]},"1358":{"position":[[152,21]]},"1359":{"position":[[148,21]]},"1360":{"position":[[143,21],[2039,21]]},"1361":{"position":[[151,21]]},"1362":{"position":[[144,21],[5762,21]]},"1363":{"position":[[144,21],[3508,21]]},"1364":{"position":[[145,21],[5791,21]]},"1365":{"position":[[145,21]]},"1366":{"position":[[146,21],[1538,21]]},"1367":{"position":[[142,21],[7189,21]]},"1368":{"position":[[147,21]]},"1369":{"position":[[151,21]]},"1370":{"position":[[158,21],[1187,21]]},"1371":{"position":[[149,21]]},"1372":{"position":[[146,21]]},"1373":{"position":[[143,21]]},"1374":{"position":[[145,21],[1222,21]]},"1375":{"position":[[146,21]]},"1376":{"position":[[151,21]]},"1377":{"position":[[148,21]]},"1378":{"position":[[150,21]]},"1379":{"position":[[148,21]]},"1380":{"position":[[147,21]]},"1381":{"position":[[146,21]]},"1382":{"position":[[142,21],[3674,21]]},"1383":{"position":[[143,21],[1912,21]]},"1384":{"position":[[143,21],[4836,21]]},"1385":{"position":[[149,21]]},"1386":{"position":[[154,21]]},"1387":{"position":[[152,21]]},"1388":{"position":[[140,21],[3974,21]]},"1389":{"position":[[145,21]]},"1390":{"position":[[140,21]]},"1391":{"position":[[141,21]]},"1392":{"position":[[138,21]]},"1393":{"position":[[142,21],[1762,21]]},"1394":{"position":[[151,21]]},"1395":{"position":[[146,21],[1219,21]]},"1396":{"position":[[151,21]]},"1397":{"position":[[146,21]]},"1398":{"position":[[143,21],[1869,21]]},"1399":{"position":[[143,21]]},"1400":{"position":[[152,21]]},"1401":{"position":[[141,21]]},"1402":{"position":[[140,21]]},"1403":{"position":[[139,21],[1742,21]]},"1404":{"position":[[141,21]]},"1405":{"position":[[141,21]]},"1406":{"position":[[151,21]]},"1407":{"position":[[151,21]]},"1408":{"position":[[142,21]]},"1409":{"position":[[141,21]]},"1410":{"position":[[139,21],[2109,21]]},"1411":{"position":[[146,21]]},"1412":{"position":[[146,21],[2130,21]]},"1413":{"position":[[143,21]]},"1414":{"position":[[142,21]]},"1415":{"position":[[146,21]]},"1416":{"position":[[146,21]]},"1417":{"position":[[144,21]]},"1418":{"position":[[147,21]]},"1419":{"position":[[143,21]]},"1420":{"position":[[147,21]]},"1421":{"position":[[156,21]]},"1422":{"position":[[144,21],[1375,21]]},"1423":{"position":[[141,21]]},"1424":{"position":[[143,21]]},"1425":{"position":[[157,21]]},"1426":{"position":[[143,21],[1448,21]]},"1427":{"position":[[144,21],[2345,21]]},"1428":{"position":[[143,21]]},"1429":{"position":[[141,21],[3009,21]]},"1430":{"position":[[148,21]]},"1431":{"position":[[141,21]]},"1432":{"position":[[149,21]]},"1433":{"position":[[142,21]]},"1434":{"position":[[144,21]]},"1435":{"position":[[149,21]]},"1436":{"position":[[145,21]]},"1437":{"position":[[142,21]]},"1438":{"position":[[140,21],[1107,21]]},"1439":{"position":[[146,21],[2631,21]]},"1440":{"position":[[143,21],[3197,21]]},"1441":{"position":[[148,21]]},"1442":{"position":[[149,21],[1002,21]]},"1443":{"position":[[142,21]]},"1444":{"position":[[143,21]]},"1445":{"position":[[146,21]]},"1446":{"position":[[143,21]]},"1447":{"position":[[145,21]]},"1448":{"position":[[144,21]]},"1449":{"position":[[145,21]]},"1450":{"position":[[144,21]]},"1451":{"position":[[144,21]]},"1452":{"position":[[140,21]]},"1453":{"position":[[156,21]]},"1454":{"position":[[152,21]]},"1455":{"position":[[158,21]]},"1456":{"position":[[155,21]]},"1457":{"position":[[151,21]]},"1458":{"position":[[144,21]]},"1459":{"position":[[155,21]]},"1460":{"position":[[154,21]]},"1461":{"position":[[155,21],[1423,21]]},"1462":{"position":[[145,21]]},"1463":{"position":[[155,21]]},"1464":{"position":[[156,21]]},"1465":{"position":[[146,21]]},"1466":{"position":[[159,21]]},"1467":{"position":[[143,21],[5493,21]]},"1468":{"position":[[150,21]]},"1469":{"position":[[143,21],[1311,21]]},"1470":{"position":[[148,21]]},"1471":{"position":[[143,21],[2174,21]]},"1472":{"position":[[144,21],[2133,21]]},"1473":{"position":[[141,21],[2448,21]]},"1474":{"position":[[145,21]]},"1475":{"position":[[142,21]]},"1476":{"position":[[148,21]]},"1477":{"position":[[141,21],[1067,21]]},"1478":{"position":[[139,21],[1558,21]]},"1479":{"position":[[156,21]]},"1480":{"position":[[145,21]]},"1481":{"position":[[147,21]]},"1482":{"position":[[142,21]]},"1483":{"position":[[147,21]]},"1484":{"position":[[147,21]]},"1485":{"position":[[148,21]]},"1486":{"position":[[143,21]]},"1487":{"position":[[140,21],[1132,21]]}},"keywords":{}}],["exec_compatible_with(target",{"_index":5084,"title":{},"content":{"1026":{"position":[[357,28]]}},"keywords":{}}],["exec_dep",{"_index":1370,"title":{"1279":{"position":[[0,12]]},"1310":{"position":[[0,12]]},"1338":{"position":[[0,12]]}},"content":{"134":{"position":[[265,8]]},"257":{"position":[[265,8]]},"298":{"position":[[32,10],[1456,9],[1981,9],[2242,9],[2825,9]]},"851":{"position":[[474,9],[1242,9],[1373,9],[1565,9],[2151,9]]},"877":{"position":[[522,9]]},"878":{"position":[[1254,11]]},"1259":{"position":[[1733,12]]},"1290":{"position":[[1733,12]]},"1318":{"position":[[1733,12]]},"1422":{"position":[[446,10],[1953,10]]}},"keywords":{}}],["exec_dep.bin",{"_index":4885,"title":{},"content":{"987":{"position":[[730,12]]}},"keywords":{}}],["exec_deps())"",{"_index":6293,"title":{},"content":{"1279":{"position":[[265,20]]},"1310":{"position":[[265,20]]},"1338":{"position":[[265,20]]}},"keywords":{}}],["exec_depsand",{"_index":1645,"title":{},"content":{"298":{"position":[[2057,12]]}},"keywords":{}}],["execut",{"_index":236,"title":{"703":{"position":[[76,9]]},"716":{"position":[[0,9]]},"724":{"position":[[9,8]]},"726":{"position":[[9,7]]},"1022":{"position":[[0,9]]},"1023":{"position":[[0,9]]},"1025":{"position":[[12,9]]},"1026":{"position":[[0,9]]},"1027":{"position":[[0,9]]},"1051":{"position":[[26,9]]},"1053":{"position":[[5,10]]},"1066":{"position":[[5,9]]},"1070":{"position":[[28,10]]},"1072":{"position":[[0,9]]},"1200":{"position":[[11,9]]},"1242":{"position":[[32,8]]},"1344":{"position":[[7,9]]}},"content":{"9":{"position":[[1373,10]]},"15":{"position":[[24,11],[408,11]]},"22":{"position":[[1369,9],[1441,9]]},"23":{"position":[[383,9],[407,9],[456,10],[606,10]]},"24":{"position":[[386,9],[435,10],[503,10]]},"85":{"position":[[597,10]]},"91":{"position":[[481,10]]},"94":{"position":[[2938,10],[3013,9],[3080,9],[3791,10],[3953,8],[4017,8],[4359,9]]},"98":{"position":[[600,10]]},"134":{"position":[[241,9],[289,7]]},"148":{"position":[[272,9],[331,9]]},"209":{"position":[[101,9],[155,9]]},"210":{"position":[[67,9],[129,9]]},"211":{"position":[[116,9]]},"217":{"position":[[597,10]]},"223":{"position":[[481,10]]},"226":{"position":[[2938,10],[3013,9],[3080,9],[3791,10],[3953,8],[4017,8],[4359,9]]},"230":{"position":[[600,10]]},"257":{"position":[[241,9],[289,7]]},"271":{"position":[[272,9],[331,9]]},"298":{"position":[[710,9],[755,9],[882,9],[918,9],[1513,11],[3043,9]]},"362":{"position":[[957,8],[1074,9],[1093,9],[1233,9],[1252,9],[1369,9],[1746,9],[1886,9],[2428,9],[2865,9]]},"372":{"position":[[207,9],[416,9]]},"373":{"position":[[177,9]]},"374":{"position":[[1493,9],[1892,9],[2097,10]]},"377":{"position":[[1200,9],[1458,9],[1563,9]]},"437":{"position":[[438,10]]},"641":{"position":[[51,9]]},"688":{"position":[[724,10],[773,11],[885,10],[989,10]]},"693":{"position":[[115,10],[600,10],[4441,9],[4515,9],[4588,10],[4693,8],[4718,10],[4767,9],[4959,9],[6424,8],[6765,9],[6793,9],[9300,10]]},"702":{"position":[[392,9],[451,9]]},"704":{"position":[[1400,10]]},"706":{"position":[[1502,10]]},"711":{"position":[[1405,9]]},"715":{"position":[[1256,9],[1474,11],[1812,10],[1848,9]]},"716":{"position":[[32,9],[132,9]]},"722":{"position":[[1150,7]]},"723":{"position":[[83,9]]},"724":{"position":[[0,9],[320,10],[1347,10],[1404,9],[1757,10],[1844,9]]},"725":{"position":[[145,7]]},"726":{"position":[[39,10]]},"741":{"position":[[957,8],[1074,9],[1093,9],[1233,9],[1252,9],[1369,9],[1746,9],[1886,9],[2428,9],[2865,9]]},"751":{"position":[[207,9],[416,9]]},"752":{"position":[[177,9]]},"753":{"position":[[1493,9],[1892,9],[2097,10]]},"756":{"position":[[1200,9],[1458,9],[1563,9]]},"816":{"position":[[438,10]]},"832":{"position":[[725,10]]},"834":{"position":[[387,10],[801,10]]},"835":{"position":[[140,10]]},"837":{"position":[[162,9],[276,10],[402,9]]},"848":{"position":[[133,10]]},"851":{"position":[[385,9],[531,11]]},"855":{"position":[[110,10],[124,7]]},"861":{"position":[[282,8]]},"864":{"position":[[1577,10]]},"867":{"position":[[888,9],[1421,8],[1522,9],[1691,8],[1726,8],[1852,8],[1929,8],[1971,9],[2108,8],[2150,9]]},"877":{"position":[[346,9],[553,9]]},"879":{"position":[[415,9]]},"890":{"position":[[1387,8],[1522,9],[3080,9],[3479,9],[3945,9],[5261,9]]},"894":{"position":[[60,9],[88,9]]},"898":{"position":[[1014,7],[1113,10]]},"900":{"position":[[138,9]]},"964":{"position":[[126,9]]},"991":{"position":[[2439,9],[2635,9]]},"1000":{"position":[[197,8],[304,8]]},"1017":{"position":[[37,9]]},"1022":{"position":[[0,9],[83,9],[289,9],[318,7],[412,9]]},"1023":{"position":[[21,10],[109,9],[185,9]]},"1024":{"position":[[147,9],[292,9],[1134,9]]},"1025":{"position":[[245,9],[417,9]]},"1026":{"position":[[84,9],[259,9],[560,9],[619,9],[659,9],[704,9],[866,9],[915,9]]},"1027":{"position":[[0,9],[72,9]]},"1035":{"position":[[305,7],[544,10],[580,7]]},"1044":{"position":[[2327,9]]},"1050":{"position":[[1229,9],[1941,9],[2922,8]]},"1052":{"position":[[162,8],[267,8],[525,9]]},"1053":{"position":[[39,9],[57,10],[339,9],[379,8],[1036,8],[1388,8],[1449,10]]},"1054":{"position":[[705,8],[928,9]]},"1057":{"position":[[474,9],[1243,10]]},"1058":{"position":[[68,10],[1369,9]]},"1067":{"position":[[411,9],[444,7],[630,11],[716,9]]},"1069":{"position":[[589,9],[889,10]]},"1070":{"position":[[30,9],[783,7],[893,9]]},"1071":{"position":[[575,9],[1046,9]]},"1072":{"position":[[18,7],[36,9],[98,9],[443,9],[497,9],[1076,9]]},"1075":{"position":[[69,9],[177,9],[324,9]]},"1077":{"position":[[212,9]]},"1078":{"position":[[63,7]]},"1104":{"position":[[255,11],[356,12],[472,8],[820,10]]},"1120":{"position":[[707,9]]},"1126":{"position":[[1627,10]]},"1136":{"position":[[6513,9]]},"1138":{"position":[[1859,8],[2263,9],[2325,10],[2368,7],[2444,10],[2487,7],[2533,10],[2556,9],[2583,7],[2647,10],[2670,9],[2697,7],[2759,9],[2783,9],[2819,9],[2910,9],[3714,7],[3802,8],[10175,9]]},"1140":{"position":[[149,7],[1348,8],[1752,9],[1814,10],[1857,7],[1933,10],[1976,7],[2022,10],[2045,9],[2072,7],[2136,10],[2159,9],[2186,7],[2248,9],[2272,9],[2308,9],[2399,9],[3203,7],[3291,8],[9101,9]]},"1142":{"position":[[4545,9]]},"1144":{"position":[[873,9]]},"1146":{"position":[[4485,9]]},"1148":{"position":[[8076,9]]},"1150":{"position":[[1108,9]]},"1152":{"position":[[806,9]]},"1154":{"position":[[961,9]]},"1155":{"position":[[4581,9]]},"1156":{"position":[[4159,9]]},"1157":{"position":[[744,9]]},"1158":{"position":[[738,9]]},"1159":{"position":[[738,9]]},"1161":{"position":[[1733,9]]},"1163":{"position":[[1119,9]]},"1165":{"position":[[948,9]]},"1167":{"position":[[2352,8],[2756,9],[2818,10],[2861,7],[2937,10],[2980,7],[3026,10],[3049,9],[3076,7],[3140,10],[3163,9],[3190,7],[3252,9],[3276,9],[3312,9],[3403,9],[4207,7],[4295,8],[10105,9]]},"1169":{"position":[[3213,9]]},"1171":{"position":[[1454,9]]},"1172":{"position":[[160,9],[1367,10],[1391,10],[2839,9]]},"1173":{"position":[[667,10],[691,10],[1526,9]]},"1174":{"position":[[954,9]]},"1175":{"position":[[950,9]]},"1176":{"position":[[1119,9]]},"1177":{"position":[[1040,9]]},"1178":{"position":[[1357,9]]},"1179":{"position":[[1154,9]]},"1180":{"position":[[1425,9]]},"1181":{"position":[[1945,9]]},"1182":{"position":[[988,9]]},"1183":{"position":[[943,9]]},"1185":{"position":[[788,9]]},"1186":{"position":[[5749,9]]},"1187":{"position":[[5762,9]]},"1188":{"position":[[202,7],[1401,8],[1805,9],[1867,10],[1910,7],[1986,10],[2029,7],[2075,10],[2098,9],[2125,7],[2189,10],[2212,9],[2239,7],[2301,9],[2325,9],[2361,9],[2452,9],[3256,7],[3344,8],[10488,9]]},"1190":{"position":[[743,9],[802,9],[2119,9]]},"1191":{"position":[[4349,9]]},"1192":{"position":[[4524,9]]},"1193":{"position":[[4576,9]]},"1194":{"position":[[4216,9]]},"1195":{"position":[[4194,9]]},"1196":{"position":[[4004,9]]},"1197":{"position":[[4987,9]]},"1198":{"position":[[4997,9]]},"1199":{"position":[[5025,9]]},"1200":{"position":[[29,9],[86,9],[4892,9]]},"1201":{"position":[[4152,9]]},"1202":{"position":[[896,9],[5294,9],[9691,9]]},"1203":{"position":[[4386,9]]},"1204":{"position":[[4230,9],[5132,9],[6062,9],[6964,9],[7950,9],[8904,9],[9851,9],[10781,9]]},"1205":{"position":[[5559,9]]},"1206":{"position":[[4258,9]]},"1207":{"position":[[4187,9]]},"1209":{"position":[[5535,9]]},"1211":{"position":[[859,9]]},"1213":{"position":[[630,9]]},"1215":{"position":[[714,9]]},"1217":{"position":[[73,9],[450,9],[527,10],[1093,8],[1497,9],[1559,10],[1602,7],[1678,10],[1721,7],[1767,10],[1790,9],[1817,7],[1881,10],[1904,9],[1931,7],[1993,9],[2017,9],[2053,9],[2144,9],[2948,7],[3036,8],[8846,9]]},"1219":{"position":[[4101,9]]},"1221":{"position":[[833,9]]},"1222":{"position":[[3972,9]]},"1223":{"position":[[3982,9]]},"1224":{"position":[[3415,9]]},"1226":{"position":[[5162,9],[9314,9]]},"1228":{"position":[[1370,7],[3174,8],[3578,9],[3640,10],[3683,7],[3759,10],[3802,7],[3848,10],[3871,9],[3898,7],[3962,10],[3985,9],[4012,7],[4074,9],[4098,9],[4134,9],[4225,9],[5029,7],[5117,8],[10927,9]]},"1235":{"position":[[6795,9]]},"1237":{"position":[[5332,9],[9484,9]]},"1245":{"position":[[503,11]]},"1278":{"position":[[199,9]]},"1279":{"position":[[123,9]]},"1309":{"position":[[199,9]]},"1310":{"position":[[123,9]]},"1337":{"position":[[199,9]]},"1338":{"position":[[123,9]]},"1345":{"position":[[25,9],[1164,10]]},"1346":{"position":[[94,9],[153,9],[283,10]]},"1348":{"position":[[3230,9]]},"1349":{"position":[[1375,9]]},"1350":{"position":[[4346,9]]},"1351":{"position":[[1569,9]]},"1352":{"position":[[4345,9]]},"1353":{"position":[[1949,9]]},"1354":{"position":[[1787,9],[2782,9]]},"1355":{"position":[[2929,9]]},"1356":{"position":[[1293,9]]},"1357":{"position":[[966,9]]},"1358":{"position":[[1687,9]]},"1359":{"position":[[1524,9]]},"1360":{"position":[[2158,9],[4233,10],[4366,9],[5715,9]]},"1361":{"position":[[1514,9]]},"1362":{"position":[[4752,10],[5881,9],[6313,8],[9731,9],[9919,7],[10037,11],[10143,7],[10232,7],[10331,7],[10593,10],[11181,10]]},"1363":{"position":[[3627,9]]},"1364":{"position":[[5910,9],[6342,8],[10845,9],[11033,7],[11151,11],[11257,7],[11346,7],[11445,7],[12148,10]]},"1365":{"position":[[1448,9]]},"1366":{"position":[[1657,9]]},"1367":{"position":[[6739,8],[7308,9],[7740,8],[10597,9],[10648,9],[10836,7],[10954,11],[11060,7],[11149,7],[11248,7],[11551,10],[14184,10],[14303,10]]},"1368":{"position":[[2004,9]]},"1369":{"position":[[1056,9]]},"1370":{"position":[[455,11],[1306,9],[1624,11],[2063,10]]},"1371":{"position":[[932,9]]},"1372":{"position":[[2570,9]]},"1373":{"position":[[2869,10],[3442,9],[3869,8],[5696,10],[8627,10]]},"1374":{"position":[[1341,9],[1709,10],[1953,10],[2102,11],[2144,10]]},"1375":{"position":[[968,9]]},"1376":{"position":[[924,9]]},"1377":{"position":[[1163,9]]},"1378":{"position":[[910,9]]},"1379":{"position":[[933,9]]},"1380":{"position":[[1404,9]]},"1381":{"position":[[1310,9]]},"1382":{"position":[[3021,10],[3157,10],[3793,9],[4225,8],[6457,9],[6645,7],[6763,11],[6869,7],[6958,7],[7057,7],[7350,11],[7462,10],[8050,10],[11651,10]]},"1383":{"position":[[2031,9],[5013,7],[5291,10],[5351,11],[5414,10],[5496,10],[6399,9],[6892,8],[8220,9]]},"1384":{"position":[[4955,9],[5387,8],[12811,9],[12999,7],[13117,11],[13223,7],[13312,7],[13411,7],[14114,10]]},"1385":{"position":[[2629,9],[4281,10]]},"1386":{"position":[[1267,9]]},"1387":{"position":[[4898,9],[7374,10]]},"1388":{"position":[[4093,9],[4525,8],[7326,9],[7514,7],[7632,11],[7738,7],[7827,7],[7926,7],[8219,11],[8331,10],[8664,10]]},"1389":{"position":[[4951,9],[5374,8],[5621,8]]},"1390":{"position":[[600,10],[1203,9],[1995,10]]},"1391":{"position":[[1156,9]]},"1392":{"position":[[1306,9],[2056,9]]},"1393":{"position":[[1881,9]]},"1394":{"position":[[1326,9]]},"1395":{"position":[[1338,9],[2100,10]]},"1396":{"position":[[519,11],[1132,9]]},"1397":{"position":[[1313,9]]},"1398":{"position":[[1988,9],[3398,9]]},"1399":{"position":[[1168,9]]},"1400":{"position":[[1037,9]]},"1401":{"position":[[1112,9]]},"1402":{"position":[[1268,9]]},"1403":{"position":[[774,11],[1861,9],[3648,10],[3781,9],[4772,8],[5014,11],[5070,11],[5103,10],[6100,10],[6140,7],[7320,9],[7507,9],[7556,7]]},"1404":{"position":[[1101,9]]},"1405":{"position":[[1117,10],[1792,9]]},"1406":{"position":[[1008,9]]},"1407":{"position":[[1833,9]]},"1408":{"position":[[1529,9]]},"1409":{"position":[[1063,9]]},"1410":{"position":[[2228,9],[3536,9]]},"1411":{"position":[[1046,9]]},"1412":{"position":[[2249,9]]},"1413":{"position":[[2430,9]]},"1414":{"position":[[1297,9]]},"1415":{"position":[[3279,9],[4163,10]]},"1416":{"position":[[1385,11],[1931,9],[2759,10]]},"1417":{"position":[[1520,9]]},"1418":{"position":[[1221,9]]},"1419":{"position":[[1349,9]]},"1420":{"position":[[1613,9]]},"1421":{"position":[[1588,9]]},"1422":{"position":[[1494,9],[4367,10]]},"1423":{"position":[[418,11],[801,10],[1480,9],[1844,10],[3730,10]]},"1424":{"position":[[1605,9]]},"1425":{"position":[[1221,9]]},"1426":{"position":[[1567,9],[2635,10]]},"1427":{"position":[[2464,9]]},"1428":{"position":[[1203,9]]},"1429":{"position":[[3128,9],[4828,9]]},"1430":{"position":[[1979,9]]},"1431":{"position":[[1323,9]]},"1432":{"position":[[1844,9]]},"1433":{"position":[[1365,9]]},"1434":{"position":[[1039,9]]},"1435":{"position":[[1003,9]]},"1436":{"position":[[1019,9]]},"1437":{"position":[[1089,9]]},"1438":{"position":[[597,10],[1226,9]]},"1439":{"position":[[2750,9]]},"1440":{"position":[[3316,9],[4910,9]]},"1441":{"position":[[1045,9]]},"1442":{"position":[[1121,9]]},"1443":{"position":[[1340,9]]},"1444":{"position":[[1256,9]]},"1445":{"position":[[945,9]]},"1446":{"position":[[1279,9]]},"1447":{"position":[[1161,9]]},"1448":{"position":[[982,11],[1596,9]]},"1449":{"position":[[1530,9]]},"1450":{"position":[[1409,9]]},"1451":{"position":[[1409,9]]},"1452":{"position":[[955,9]]},"1453":{"position":[[1541,9]]},"1454":{"position":[[3907,9],[4334,8]]},"1455":{"position":[[1794,9]]},"1456":{"position":[[1139,9]]},"1457":{"position":[[1198,9]]},"1458":{"position":[[1733,9]]},"1459":{"position":[[1212,9]]},"1460":{"position":[[1324,9]]},"1461":{"position":[[1542,9]]},"1462":{"position":[[4283,10],[4920,9],[5347,8],[6379,10],[6921,9],[7895,11],[8901,10]]},"1463":{"position":[[1046,9]]},"1464":{"position":[[954,9]]},"1465":{"position":[[2052,9]]},"1466":{"position":[[1290,9]]},"1467":{"position":[[5612,9],[7381,11],[7493,10],[8955,11]]},"1468":{"position":[[1054,9]]},"1469":{"position":[[1430,9],[1972,10]]},"1470":{"position":[[3956,9]]},"1471":{"position":[[1683,10],[2293,9],[2893,8],[4930,10],[5215,12],[5484,10]]},"1472":{"position":[[2252,9],[6101,12],[6370,10]]},"1473":{"position":[[1938,10],[2567,9],[3544,9],[3937,10],[5251,10],[5341,10],[5665,12]]},"1474":{"position":[[1955,9]]},"1475":{"position":[[2426,9]]},"1476":{"position":[[1031,9]]},"1477":{"position":[[624,7],[1186,9],[1888,10],[3049,10]]},"1478":{"position":[[1677,9],[2594,10],[3295,10]]},"1479":{"position":[[1123,9]]},"1480":{"position":[[1536,9]]},"1481":{"position":[[2069,9]]},"1482":{"position":[[1143,9]]},"1483":{"position":[[977,9]]},"1484":{"position":[[1049,9]]},"1485":{"position":[[1309,9]]},"1486":{"position":[[1553,9],[1911,10],[2018,10],[2114,11],[2165,10]]},"1487":{"position":[[1251,9]]}},"keywords":{}}],["executable.link_group_public_deps_label",{"_index":7852,"title":{},"content":{"1416":{"position":[[2648,40]]},"1462":{"position":[[6268,40]]}},"keywords":{}}],["executable_dep",{"_index":8298,"title":{},"content":{"1462":{"position":[[1404,16]]},"1467":{"position":[[1540,16]]}},"keywords":{}}],["executable_nam",{"_index":6708,"title":{},"content":{"1362":{"position":[[1182,16]]},"1364":{"position":[[1164,16]]},"1367":{"position":[[2312,16]]},"1370":{"position":[[472,16],[2008,16],[2146,15]]},"1373":{"position":[[931,16]]},"1382":{"position":[[1042,16]]},"1384":{"position":[[927,16]]},"1385":{"position":[[605,16]]},"1387":{"position":[[1006,16]]},"1388":{"position":[[1200,16]]},"1415":{"position":[[739,16]]},"1462":{"position":[[1436,16]]},"1467":{"position":[[1572,16]]}},"keywords":{}}],["executables/](execut",{"_index":3663,"title":{},"content":{"706":{"position":[[428,24]]}},"keywords":{}}],["executed.localwork",{"_index":4045,"title":{},"content":{"867":{"position":[[2075,21]]}},"keywords":{}}],["executedsimpl",{"_index":4040,"title":{},"content":{"867":{"position":[[1815,15]]}},"keywords":{}}],["executerequest2",{"_index":5322,"title":{},"content":{"1053":{"position":[[253,15]]}},"keywords":{}}],["executing>"",{"_index":5995,"title":{},"content":{"1172":{"position":[[2044,20]]}},"keywords":{}}],["execution."",{"_index":3811,"title":{},"content":{"724":{"position":[[1570,16]]}},"keywords":{}}],["execution_kind",{"_index":4036,"title":{},"content":{"867":{"position":[[1648,14]]}},"keywords":{}}],["execution_platform",{"_index":5083,"title":{},"content":{"1026":{"position":[[333,20]]}},"keywords":{}}],["executionplatforminfo",{"_index":2000,"title":{"372":{"position":[[0,22]]},"751":{"position":[[0,22]]}},"content":{"372":{"position":[[4,22],[134,21]]},"751":{"position":[[4,22],[134,21]]}},"keywords":{}}],["executionplatformregistrationinfo",{"_index":2003,"title":{"373":{"position":[[0,34]]},"752":{"position":[[0,34]]}},"content":{"373":{"position":[[4,34],[106,33]]},"752":{"position":[[4,34],[106,33]]}},"keywords":{}}],["executionremote_execution_depend",{"_index":1924,"title":{},"content":{"362":{"position":[[2801,39]]},"741":{"position":[[2801,39]]}},"keywords":{}}],["executor",{"_index":1212,"title":{},"content":{"94":{"position":[[2843,8],[2889,9],[3067,10],[3246,8],[3281,8]]},"226":{"position":[[2843,8],[2889,9],[3067,10],[3246,8],[3281,8]]},"372":{"position":[[482,8]]},"374":{"position":[[1422,8],[1570,9],[1621,9]]},"751":{"position":[[482,8]]},"753":{"position":[[1422,8],[1570,9],[1621,9]]},"879":{"position":[[354,8]]},"894":{"position":[[188,8]]},"895":{"position":[[364,8],[554,8]]},"1069":{"position":[[520,8]]},"1070":{"position":[[852,8],[1005,8]]},"1172":{"position":[[307,8]]},"1228":{"position":[[242,9],[257,8],[1933,8],[1994,8],[2038,8],[2084,8],[2461,8],[2522,8],[2566,8],[2612,8]]},"1362":{"position":[[9861,8],[9976,8],[10007,8],[10094,8]]},"1364":{"position":[[10975,8],[11090,8],[11121,8],[11208,8]]},"1367":{"position":[[10778,8],[10893,8],[10924,8],[11011,8]]},"1382":{"position":[[6587,8],[6702,8],[6733,8],[6820,8]]},"1384":{"position":[[12941,8],[13056,8],[13087,8],[13174,8]]},"1388":{"position":[[7456,8],[7571,8],[7602,8],[7689,8]]}},"keywords":{}}],["executor'",{"_index":6087,"title":{},"content":{"1228":{"position":[[2208,10],[2732,10]]}},"keywords":{}}],["executor_config",{"_index":2001,"title":{},"content":{"372":{"position":[[85,16],[435,16]]},"751":{"position":[[85,16],[435,16]]}},"keywords":{}}],["executor_overrid",{"_index":2010,"title":{},"content":{"374":{"position":[[184,18],[1513,19]]},"753":{"position":[[184,18],[1513,19]]},"1070":{"position":[[818,18]]},"1072":{"position":[[582,18]]}},"keywords":{}}],["executoractioncach",{"_index":4038,"title":{},"content":{"867":{"position":[[1748,20]]}},"keywords":{}}],["executorallow_limited_hybrid_fallback",{"_index":1907,"title":{},"content":{"362":{"position":[[2050,39]]},"741":{"position":[[2050,39]]}},"keywords":{}}],["executorremote_en",{"_index":1891,"title":{},"content":{"362":{"position":[[1187,23]]},"741":{"position":[[1187,23]]}},"keywords":{}}],["exhaust",{"_index":3421,"title":{},"content":{"681":{"position":[[963,10]]}},"keywords":{}}],["exist",{"_index":625,"title":{"22":{"position":[[15,7]]}},"content":{"94":{"position":[[4337,5]]},"99":{"position":[[683,8]]},"136":{"position":[[161,7]]},"226":{"position":[[4337,5]]},"231":{"position":[[683,8]]},"243":{"position":[[162,7]]},"259":{"position":[[161,7]]},"308":{"position":[[79,7]]},"310":{"position":[[839,6]]},"315":{"position":[[91,6]]},"316":{"position":[[153,6]]},"317":{"position":[[156,6]]},"416":{"position":[[362,5]]},"417":{"position":[[592,5]]},"421":{"position":[[371,8]]},"438":{"position":[[158,9]]},"584":{"position":[[1054,6],[1213,6],[1394,6],[1559,7]]},"680":{"position":[[376,6]]},"693":{"position":[[3166,5]]},"700":{"position":[[168,6]]},"795":{"position":[[362,5]]},"796":{"position":[[592,5]]},"800":{"position":[[371,8]]},"817":{"position":[[158,9]]},"832":{"position":[[965,8]]},"861":{"position":[[325,5],[569,9]]},"865":{"position":[[731,8]]},"879":{"position":[[66,5]]},"900":{"position":[[1518,8]]},"937":{"position":[[2119,8],[2189,8],[2296,8]]},"939":{"position":[[192,8],[530,8],[690,8],[1016,8]]},"940":{"position":[[1005,5]]},"943":{"position":[[1392,8],[1677,8]]},"944":{"position":[[325,8]]},"946":{"position":[[651,8]]},"950":{"position":[[1052,8]]},"951":{"position":[[4,8],[944,8]]},"964":{"position":[[838,8]]},"1001":{"position":[[557,6],[1314,6]]},"1007":{"position":[[201,6]]},"1029":{"position":[[64,6]]},"1045":{"position":[[392,6]]},"1064":{"position":[[655,6],[1406,6]]},"1065":{"position":[[247,6]]},"1067":{"position":[[297,6]]},"1079":{"position":[[150,5]]},"1084":{"position":[[68,5]]},"1102":{"position":[[235,8]]},"1103":{"position":[[1243,9]]},"1114":{"position":[[271,8],[804,8],[885,6]]},"1161":{"position":[[155,5]]},"1181":{"position":[[56,8]]},"1186":{"position":[[391,6]]},"1187":{"position":[[404,6]]},"1188":{"position":[[5130,6]]},"1226":{"position":[[4960,6]]},"1228":{"position":[[2181,6],[2709,6]]},"1237":{"position":[[5130,6]]},"1262":{"position":[[600,6]]},"1293":{"position":[[600,6]]},"1321":{"position":[[600,6]]},"1362":{"position":[[5238,8],[10380,7]]},"1364":{"position":[[5267,8],[11494,7]]},"1367":{"position":[[11297,7],[14057,6]]},"1382":{"position":[[7106,7]]},"1384":{"position":[[13460,7]]},"1388":{"position":[[7975,7]]},"1477":{"position":[[1753,8]]}},"keywords":{}}],["existingconfigur",{"_index":3563,"title":{},"content":{"693":{"position":[[5265,21]]}},"keywords":{}}],["exit",{"_index":5891,"title":{},"content":{"1136":{"position":[[3501,4],[3536,7]]},"1138":{"position":[[4139,8],[5036,8],[7163,4],[7198,7]]},"1140":{"position":[[3628,8],[4525,8],[6089,4],[6124,7]]},"1142":{"position":[[1533,4],[1568,7]]},"1146":{"position":[[1473,4],[1508,7]]},"1148":{"position":[[4513,4],[4548,7]]},"1155":{"position":[[1569,4],[1604,7]]},"1156":{"position":[[1147,4],[1182,7]]},"1167":{"position":[[4632,8],[5529,8],[7093,4],[7128,7]]},"1169":{"position":[[932,4],[967,7]]},"1186":{"position":[[2737,4],[2772,7]]},"1187":{"position":[[2750,4],[2785,7]]},"1188":{"position":[[3681,8],[4578,8],[7476,4],[7511,7]]},"1191":{"position":[[1337,4],[1372,7]]},"1192":{"position":[[1512,4],[1547,7]]},"1193":{"position":[[1564,4],[1599,7]]},"1194":{"position":[[1204,4],[1239,7]]},"1195":{"position":[[1182,4],[1217,7]]},"1196":{"position":[[992,4],[1027,7]]},"1197":{"position":[[1975,4],[2010,7]]},"1198":{"position":[[1985,4],[2020,7]]},"1199":{"position":[[2013,4],[2048,7]]},"1200":{"position":[[1880,4],[1915,7]]},"1201":{"position":[[1140,4],[1175,7]]},"1202":{"position":[[2282,4],[2317,7],[6679,4],[6714,7]]},"1203":{"position":[[1374,4],[1409,7]]},"1204":{"position":[[1218,4],[1253,7]]},"1205":{"position":[[2547,4],[2582,7]]},"1206":{"position":[[1018,4],[1053,7]]},"1207":{"position":[[1175,4],[1210,7]]},"1209":{"position":[[2523,4],[2558,7]]},"1217":{"position":[[3373,8],[4270,8],[5834,4],[5869,7]]},"1219":{"position":[[1820,4],[1855,7]]},"1222":{"position":[[944,4],[979,7]]},"1223":{"position":[[954,4],[989,7]]},"1224":{"position":[[1134,4],[1169,7]]},"1226":{"position":[[6302,4],[6337,7]]},"1228":{"position":[[1428,4],[1585,4],[5454,8],[6351,8],[7915,4],[7950,7]]},"1235":{"position":[[3783,4],[3818,7]]},"1237":{"position":[[6472,4],[6507,7]]},"1478":{"position":[[3222,4],[3262,4]]},"1486":{"position":[[5038,4]]}},"keywords":{}}],["exopackag",{"_index":6623,"title":{},"content":{"1358":{"position":[[2521,11]]},"1384":{"position":[[19477,10]]},"1459":{"position":[[1556,11]]}},"keywords":{}}],["exopackage_mod",{"_index":6432,"title":{},"content":{"1350":{"position":[[1689,17]]},"1352":{"position":[[1688,17]]}},"keywords":{}}],["expand",{"_index":1279,"title":{"1097":{"position":[[0,9]]},"1149":{"position":[[0,6]]},"1150":{"position":[[5,6]]}},"content":{"99":{"position":[[1098,7]]},"231":{"position":[[1098,7]]},"368":{"position":[[3570,6]]},"688":{"position":[[23,6],[127,8],[442,7],[684,7],[820,6],[940,9],[1271,7]]},"718":{"position":[[191,7]]},"747":{"position":[[3570,6]]},"861":{"position":[[960,9]]},"991":{"position":[[1641,8],[1724,8],[1829,8],[1912,8]]},"1071":{"position":[[431,8]]},"1082":{"position":[[565,9],[596,6],[1247,6]]},"1083":{"position":[[402,9],[432,6]]},"1084":{"position":[[631,6]]},"1097":{"position":[[96,6]]},"1098":{"position":[[661,6]]},"1124":{"position":[[150,8],[175,6]]},"1150":{"position":[[0,6],[490,6]]},"1176":{"position":[[495,6],[509,8]]},"1382":{"position":[[5020,8]]},"1383":{"position":[[4386,6],[4538,8]]},"1388":{"position":[[4746,6],[5714,8],[6130,6]]},"1442":{"position":[[2010,8]]},"1467":{"position":[[6483,6]]},"1471":{"position":[[3561,9]]},"1472":{"position":[[3229,9],[4145,9]]},"1473":{"position":[[3629,9],[5413,9]]}},"keywords":{}}],["expanded_command_line_arg",{"_index":5782,"title":{},"content":{"1124":{"position":[[196,27]]}},"keywords":{}}],["expans",{"_index":2059,"title":{},"content":{"389":{"position":[[135,10],[474,9],[1627,10]]},"768":{"position":[[135,10],[474,9],[1627,10]]},"1360":{"position":[[3366,9]]},"1383":{"position":[[6020,9]]},"1403":{"position":[[2781,9],[5150,9]]}},"keywords":{}}],["expansion.keyed_vari",{"_index":2082,"title":{},"content":{"389":{"position":[[1469,26]]},"768":{"position":[[1469,26]]}},"keywords":{}}],["expect",{"_index":1103,"title":{},"content":{"90":{"position":[[222,8]]},"107":{"position":[[139,6]]},"112":{"position":[[134,6]]},"222":{"position":[[222,8]]},"362":{"position":[[1623,8]]},"374":{"position":[[1100,8]]},"389":{"position":[[716,6]]},"416":{"position":[[491,6]]},"417":{"position":[[721,6]]},"418":{"position":[[1157,6]]},"519":{"position":[[139,6]]},"524":{"position":[[134,6]]},"693":{"position":[[7121,7]]},"712":{"position":[[1609,7]]},"741":{"position":[[1623,8]]},"753":{"position":[[1100,8]]},"768":{"position":[[716,6]]},"795":{"position":[[491,6]]},"796":{"position":[[721,6]]},"797":{"position":[[1157,6]]},"861":{"position":[[392,9]]},"877":{"position":[[404,8]]},"895":{"position":[[435,8]]},"904":{"position":[[1551,7]]},"924":{"position":[[1403,6]]},"965":{"position":[[390,9]]},"970":{"position":[[140,6]]},"973":{"position":[[111,7]]},"987":{"position":[[544,6]]},"991":{"position":[[3032,10]]},"1021":{"position":[[380,6]]},"1032":{"position":[[56,8],[386,8]]},"1033":{"position":[[109,6]]},"1049":{"position":[[318,6]]},"1075":{"position":[[106,7]]},"1112":{"position":[[1605,7]]},"1114":{"position":[[132,8],[1095,7]]},"1142":{"position":[[618,8]]},"1195":{"position":[[174,8]]},"1228":{"position":[[269,8]]},"1358":{"position":[[1020,9]]},"1382":{"position":[[4752,8]]},"1388":{"position":[[5446,8]]},"1405":{"position":[[1210,8]]},"1426":{"position":[[2800,8]]},"1442":{"position":[[1742,8]]},"1473":{"position":[[3990,8]]},"1483":{"position":[[1458,8]]},"1486":{"position":[[2913,6]]}},"keywords":{}}],["expens",{"_index":200,"title":{},"content":{"9":{"position":[[658,9]]},"22":{"position":[[1817,10]]},"92":{"position":[[2192,10]]},"224":{"position":[[2192,10]]},"898":{"position":[[644,9]]},"919":{"position":[[1380,9]]},"966":{"position":[[733,9]]},"1104":{"position":[[2640,10]]},"1136":{"position":[[1133,9]]},"1148":{"position":[[1489,9]]},"1205":{"position":[[613,9]]},"1209":{"position":[[366,9]]},"1226":{"position":[[2306,9]]},"1235":{"position":[[1626,9]]},"1237":{"position":[[2476,9]]}},"keywords":{}}],["experi",{"_index":152,"title":{},"content":{"7":{"position":[[289,10]]},"9":{"position":[[106,11],[138,10]]},"23":{"position":[[3117,10]]},"696":{"position":[[233,10]]},"937":{"position":[[2345,11]]},"978":{"position":[[184,11]]}},"keywords":{}}],["experiment",{"_index":290,"title":{},"content":{"9":{"position":[[2501,12]]},"362":{"position":[[2643,12]]},"741":{"position":[[2643,12]]},"995":{"position":[[1232,12],[1309,14]]},"1136":{"position":[[36,14]]},"1138":{"position":[[1345,13],[2793,13]]},"1140":{"position":[[2282,13]]},"1167":{"position":[[3286,13]]},"1188":{"position":[[2335,13]]},"1217":{"position":[[2027,13]]},"1228":{"position":[[4108,13]]},"1405":{"position":[[2223,13]]},"1407":{"position":[[2644,13]]},"1410":{"position":[[2666,13]]},"1427":{"position":[[4104,12]]},"1429":{"position":[[3469,13]]}},"keywords":{}}],["experimental/unst",{"_index":6561,"title":{},"content":{"1355":{"position":[[5336,22]]},"1382":{"position":[[4469,22]]},"1388":{"position":[[5163,22]]},"1442":{"position":[[1459,22]]}},"keywords":{}}],["experimental_arg",{"_index":7820,"title":{},"content":{"1414":{"position":[[515,18]]}},"keywords":{}}],["experimental_low_pass_filt",{"_index":1886,"title":{},"content":{"362":{"position":[[681,29]]},"741":{"position":[[681,29]]}},"keywords":{}}],["expert",{"_index":356,"title":{},"content":{"10":{"position":[[1220,8],[1243,8]]}},"keywords":{}}],["expir",{"_index":1056,"title":{"897":{"position":[[0,7]]}},"content":{"85":{"position":[[460,8]]},"217":{"position":[[460,8]]},"897":{"position":[[198,8]]},"1075":{"position":[[300,6],[604,7]]},"1138":{"position":[[3894,8],[4048,10]]},"1140":{"position":[[3383,8],[3537,10]]},"1167":{"position":[[4387,8],[4541,10]]},"1188":{"position":[[3436,8],[3590,10]]},"1217":{"position":[[3128,8],[3282,10]]},"1228":{"position":[[5209,8],[5363,10]]},"1363":{"position":[[6422,7],[6836,7]]}},"keywords":{}}],["expires_after_timestamp",{"_index":1041,"title":{},"content":{"85":{"position":[[102,24]]},"217":{"position":[[102,24]]}},"keywords":{}}],["expiri",{"_index":1058,"title":{},"content":{"85":{"position":[[486,6]]},"217":{"position":[[486,6]]}},"keywords":{}}],["explain",{"_index":4328,"title":{},"content":{"898":{"position":[[248,8]]},"1102":{"position":[[428,9]]}},"keywords":{}}],["explan",{"_index":4197,"title":{},"content":{"890":{"position":[[80,11]]},"898":{"position":[[84,11]]}},"keywords":{}}],["explicit",{"_index":1489,"title":{},"content":{"242":{"position":[[380,8]]},"298":{"position":[[1797,8]]},"481":{"position":[[104,8]]},"595":{"position":[[998,8]]},"851":{"position":[[1004,8]]},"935":{"position":[[245,9]]},"973":{"position":[[72,8]]},"1191":{"position":[[352,8]]},"1382":{"position":[[4786,8]]},"1384":{"position":[[21504,8]]},"1388":{"position":[[5480,8]]},"1442":{"position":[[1776,8]]}},"keywords":{}}],["explicit_modules_uses_gmodul",{"_index":8495,"title":{},"content":{"1481":{"position":[[610,31]]}},"keywords":{}}],["explicitli",{"_index":1263,"title":{},"content":{"98":{"position":[[1440,10]]},"230":{"position":[[1440,10]]},"368":{"position":[[3013,11]]},"693":{"position":[[9644,10]]},"699":{"position":[[125,10]]},"747":{"position":[[3013,11]]},"898":{"position":[[1601,10]]},"951":{"position":[[1166,10]]},"1000":{"position":[[449,10]]},"1021":{"position":[[426,10],[509,10]]},"1046":{"position":[[364,10]]},"1140":{"position":[[734,10]]},"1188":{"position":[[787,10]]},"1226":{"position":[[3239,10]]},"1228":{"position":[[778,10]]},"1237":{"position":[[3409,10]]},"1383":{"position":[[8969,11]]},"1397":{"position":[[2625,10]]}},"keywords":{}}],["exploded_zip",{"_index":8377,"title":{},"content":{"1469":{"position":[[2061,12]]}},"keywords":{}}],["explor",{"_index":601,"title":{},"content":{"19":{"position":[[27,7],[79,7]]},"954":{"position":[[748,7]]}},"keywords":{}}],["exponenti",{"_index":4594,"title":{},"content":{"937":{"position":[[1747,11]]}},"keywords":{}}],["export",{"_index":469,"title":{},"content":{"15":{"position":[[679,6]]},"421":{"position":[[88,8],[307,8]]},"680":{"position":[[465,7]]},"800":{"position":[[88,8],[307,8]]},"890":{"position":[[1023,7]]},"910":{"position":[[154,6]]},"987":{"position":[[242,9]]},"1029":{"position":[[189,6]]},"1364":{"position":[[6686,8],[6862,8],[6914,9],[13162,6],[13173,8],[13243,8],[13285,9]]},"1384":{"position":[[5731,8],[5907,8],[5959,9],[6022,8],[7689,8],[8967,8],[18093,6],[18104,8],[18174,8],[18216,9]]},"1386":{"position":[[1609,6]]},"1387":{"position":[[6810,6]]},"1395":{"position":[[2630,6]]},"1399":{"position":[[2000,9],[2565,6]]},"1401":{"position":[[1709,7]]},"1407":{"position":[[4899,8]]},"1416":{"position":[[2470,9],[3362,8]]},"1420":{"position":[[2152,9],[2499,8]]},"1448":{"position":[[2445,8]]},"1449":{"position":[[2379,8]]},"1454":{"position":[[3363,9],[4579,8],[4755,8],[6089,8],[6755,8]]},"1455":{"position":[[2227,8],[2403,8],[2860,8]]}},"keywords":{}}],["export_fil",{"_index":7089,"title":{"1399":{"position":[[0,12]]}},"content":{"1374":{"position":[[3032,12],[3234,12],[3616,12],[3700,12],[3776,12]]},"1393":{"position":[[7082,12],[7404,11],[10163,12]]},"1395":{"position":[[1886,11]]},"1397":{"position":[[3779,12],[3859,12]]},"1398":{"position":[[2699,11],[4350,11]]},"1399":{"position":[[4,12],[548,13],[2057,13],[2126,12],[2188,12],[2361,12],[2440,12],[2652,12],[2711,12],[2811,13],[2847,12]]},"1403":{"position":[[8534,12],[8694,12]]}},"keywords":{}}],["export_file'd",{"_index":5234,"title":{},"content":{"1048":{"position":[[198,15]]}},"keywords":{}}],["exported.exported_head",{"_index":8167,"title":{},"content":{"1454":{"position":[[4807,26]]}},"keywords":{}}],["exported.exported_platform_dep",{"_index":8202,"title":{},"content":{"1455":{"position":[[2455,32]]}},"keywords":{}}],["exported_compiler_flag",{"_index":7871,"title":{},"content":{"1421":{"position":[[523,24]]}},"keywords":{}}],["exported_dep",{"_index":6550,"title":{},"content":{"1355":{"position":[[993,14],[3763,14],[3837,13],[4182,13],[4354,14]]},"1362":{"position":[[1215,14]]},"1364":{"position":[[1197,14],[6566,14]]},"1367":{"position":[[2345,14]]},"1373":{"position":[[964,14]]},"1384":{"position":[[960,14],[5611,14],[7665,14],[7737,13]]},"1387":{"position":[[1039,14]]},"1408":{"position":[[720,14]]},"1412":{"position":[[622,14],[2754,14],[2862,13]]},"1413":{"position":[[748,14]]},"1427":{"position":[[844,14],[2908,14],[2982,13],[3327,13],[3499,14]]},"1429":{"position":[[1008,14]]},"1430":{"position":[[661,14]]},"1439":{"position":[[918,14],[3582,14],[3656,13],[4001,13],[4173,14]]},"1440":{"position":[[1082,14]]},"1454":{"position":[[562,14],[6065,14],[6137,13]]},"1455":{"position":[[481,14],[2836,14],[2908,13]]},"1457":{"position":[[449,14]]},"1470":{"position":[[1133,14]]},"1474":{"position":[[658,14]]},"1475":{"position":[[784,14]]}},"keywords":{}}],["exported_head",{"_index":5828,"title":{},"content":{"1131":{"position":[[242,18]]},"1362":{"position":[[1277,17],[5297,16],[6685,17]]},"1364":{"position":[[1259,17],[5326,16],[6924,17]]},"1367":{"position":[[2407,17]]},"1373":{"position":[[8144,16]]},"1382":{"position":[[10920,16]]},"1384":{"position":[[1022,17],[6112,17],[17994,16],[21393,16],[21647,16],[22175,16]]},"1386":{"position":[[1881,16]]},"1387":{"position":[[1101,17]]},"1388":{"position":[[9413,16]]},"1454":{"position":[[624,17],[10022,16],[10546,16]]},"1485":{"position":[[3785,16]]}},"keywords":{}}],["exported_header_styl",{"_index":6709,"title":{},"content":{"1362":{"position":[[1245,22]]},"1364":{"position":[[1227,22]]},"1367":{"position":[[2375,22]]},"1384":{"position":[[990,22],[5969,22]]},"1387":{"position":[[1069,22]]},"1454":{"position":[[592,22]]}},"keywords":{}}],["exported_lang_platform_preprocessor_flag",{"_index":6710,"title":{},"content":{"1362":{"position":[[1327,42]]},"1364":{"position":[[1309,42]]},"1367":{"position":[[2457,42]]},"1384":{"position":[[1072,42],[6799,42]]},"1387":{"position":[[1151,42]]},"1454":{"position":[[674,42]]}},"keywords":{}}],["exported_lang_preprocessor_flag",{"_index":6712,"title":{},"content":{"1362":{"position":[[1409,33]]},"1364":{"position":[[1391,33]]},"1367":{"position":[[2539,33]]},"1384":{"position":[[1154,33],[6959,33]]},"1387":{"position":[[1233,33]]},"1454":{"position":[[756,33]]}},"keywords":{}}],["exported_linker_flag",{"_index":6713,"title":{},"content":{"1362":{"position":[[1469,22],[7684,22]]},"1364":{"position":[[1451,22],[7923,22]]},"1367":{"position":[[2599,22]]},"1384":{"position":[[1214,22],[7101,22]]},"1387":{"position":[[1293,22]]},"1421":{"position":[[563,22]]},"1453":{"position":[[533,22]]},"1454":{"position":[[816,22]]}},"keywords":{}}],["exported_needs_coverage_instrument",{"_index":7147,"title":{},"content":{"1382":{"position":[[1075,40]]},"1384":{"position":[[1252,40]]},"1387":{"position":[[1331,40]]},"1388":{"position":[[1233,40]]},"1462":{"position":[[1469,40]]},"1467":{"position":[[1605,40]]}},"keywords":{}}],["exported_platform_dep",{"_index":6714,"title":{},"content":{"1362":{"position":[[1507,23]]},"1364":{"position":[[1489,23]]},"1367":{"position":[[2637,23]]},"1384":{"position":[[1303,23],[7293,23]]},"1387":{"position":[[1382,23]]},"1454":{"position":[[854,23]]},"1455":{"position":[[511,23]]}},"keywords":{}}],["exported_platform_head",{"_index":6715,"title":{},"content":{"1362":{"position":[[1559,26]]},"1364":{"position":[[1541,26]]},"1367":{"position":[[2689,26]]},"1384":{"position":[[1355,26],[7773,26]]},"1387":{"position":[[1434,26]]},"1454":{"position":[[906,26]]}},"keywords":{}}],["exported_platform_linker_flag",{"_index":6716,"title":{},"content":{"1362":{"position":[[1631,31]]},"1364":{"position":[[1613,31],[8115,31]]},"1367":{"position":[[2761,31]]},"1384":{"position":[[1427,31],[8301,31],[10063,30]]},"1387":{"position":[[1506,31]]},"1453":{"position":[[571,31]]},"1454":{"position":[[978,31]]}},"keywords":{}}],["exported_platform_preprocessor_flag",{"_index":6717,"title":{},"content":{"1362":{"position":[[1691,37]]},"1364":{"position":[[1673,37]]},"1367":{"position":[[2821,37]]},"1384":{"position":[[1487,37],[8911,37]]},"1387":{"position":[[1566,37]]},"1454":{"position":[[1038,37]]}},"keywords":{}}],["exported_post_linker_flag",{"_index":6718,"title":{},"content":{"1362":{"position":[[1757,27]]},"1364":{"position":[[1739,27]]},"1367":{"position":[[2887,27]]},"1384":{"position":[[1553,27],[9404,27]]},"1387":{"position":[[1632,27]]},"1421":{"position":[[601,27]]},"1454":{"position":[[1104,27]]}},"keywords":{}}],["exported_post_platform_linker_flag",{"_index":6719,"title":{},"content":{"1362":{"position":[[1800,36]]},"1364":{"position":[[1782,36]]},"1367":{"position":[[2930,36]]},"1384":{"position":[[1596,36],[9738,36]]},"1387":{"position":[[1675,36]]},"1454":{"position":[[1147,36]]}},"keywords":{}}],["exported_preprocessor_flag",{"_index":6720,"title":{},"content":{"1362":{"position":[[1865,28]]},"1364":{"position":[[1847,28]]},"1367":{"position":[[2995,28]]},"1373":{"position":[[7956,27]]},"1382":{"position":[[10732,27]]},"1384":{"position":[[1661,28],[9354,27],[17806,27]]},"1387":{"position":[[1740,28]]},"1388":{"position":[[9225,27]]},"1454":{"position":[[1212,28],[7142,27]]},"1455":{"position":[[563,28]]},"1485":{"position":[[3597,27]]}},"keywords":{}}],["exported_provided_dep",{"_index":6551,"title":{},"content":{"1355":{"position":[[1023,23],[4287,23]]},"1412":{"position":[[652,23]]},"1413":{"position":[[778,23]]},"1427":{"position":[[874,23],[3432,23]]},"1429":{"position":[[1038,23]]},"1430":{"position":[[691,23]]},"1439":{"position":[[948,23],[4106,23]]},"1440":{"position":[[1112,23]]},"1470":{"position":[[1163,23]]},"1474":{"position":[[688,23]]},"1475":{"position":[[814,23]]}},"keywords":{}}],["expos",{"_index":730,"title":{"1069":{"position":[[7,7]]}},"content":{"23":{"position":[[1491,6]]},"94":{"position":[[4155,7]]},"226":{"position":[[4155,7]]},"722":{"position":[[647,6]]},"840":{"position":[[604,7]]},"950":{"position":[[327,6],[1238,7]]},"955":{"position":[[869,6]]},"973":{"position":[[262,6]]},"975":{"position":[[32,6]]},"976":{"position":[[6,6]]},"1011":{"position":[[358,7]]},"1053":{"position":[[746,8]]},"1071":{"position":[[791,7]]},"1075":{"position":[[704,6]]},"1351":{"position":[[881,7]]},"1355":{"position":[[4077,8]]},"1374":{"position":[[3212,8]]},"1383":{"position":[[1291,7],[8264,7]]},"1399":{"position":[[596,7]]},"1427":{"position":[[3222,8]]},"1439":{"position":[[3896,8]]}},"keywords":{}}],["exposed/access",{"_index":4059,"title":{},"content":{"870":{"position":[[321,18]]}},"keywords":{}}],["exposesanalysiscontext::analyze(targetlabel",{"_index":4552,"title":{},"content":{"924":{"position":[[1974,44]]}},"keywords":{}}],["expr",{"_index":1753,"title":{},"content":{"318":{"position":[[25,5]]},"320":{"position":[[27,5]]}},"keywords":{}}],["express",{"_index":692,"title":{"1260":{"position":[[22,11],[45,12]]},"1261":{"position":[[22,11],[45,12]]},"1262":{"position":[[56,12]]},"1263":{"position":[[57,12]]},"1264":{"position":[[61,12]]},"1265":{"position":[[26,12]]},"1266":{"position":[[27,11],[52,12]]},"1267":{"position":[[31,12]]},"1268":{"position":[[21,11],[72,12]]},"1269":{"position":[[42,12]]},"1270":{"position":[[23,12]]},"1271":{"position":[[36,12]]},"1272":{"position":[[37,12]]},"1273":{"position":[[18,12]]},"1274":{"position":[[33,12]]},"1275":{"position":[[23,11],[51,11]]},"1276":{"position":[[24,12]]},"1286":{"position":[[28,12]]},"1287":{"position":[[28,12]]},"1291":{"position":[[22,11],[45,12]]},"1292":{"position":[[22,11],[45,12]]},"1293":{"position":[[56,12]]},"1294":{"position":[[57,12]]},"1295":{"position":[[61,12]]},"1296":{"position":[[26,12]]},"1297":{"position":[[27,11],[52,12]]},"1298":{"position":[[31,12]]},"1299":{"position":[[21,11],[72,12]]},"1300":{"position":[[42,12]]},"1301":{"position":[[23,12]]},"1302":{"position":[[36,12]]},"1303":{"position":[[37,12]]},"1304":{"position":[[18,12]]},"1305":{"position":[[33,12]]},"1306":{"position":[[23,11],[51,11]]},"1307":{"position":[[24,12]]},"1319":{"position":[[22,11],[45,12]]},"1320":{"position":[[22,11],[45,12]]},"1321":{"position":[[56,12]]},"1322":{"position":[[57,12]]},"1323":{"position":[[61,12]]},"1324":{"position":[[26,12]]},"1325":{"position":[[27,11],[52,12]]},"1326":{"position":[[31,12]]},"1327":{"position":[[21,11],[72,12]]},"1328":{"position":[[42,12]]},"1329":{"position":[[23,12]]},"1330":{"position":[[36,12]]},"1331":{"position":[[37,12]]},"1332":{"position":[[18,12]]},"1333":{"position":[[33,12]]},"1334":{"position":[[23,11],[51,11]]},"1335":{"position":[[24,12]]}},"content":{"23":{"position":[[96,14]]},"94":{"position":[[4224,9]]},"226":{"position":[[4224,9]]},"294":{"position":[[922,11]]},"297":{"position":[[752,11]]},"309":{"position":[[495,11]]},"310":{"position":[[343,11]]},"314":{"position":[[125,11]]},"319":{"position":[[146,11]]},"362":{"position":[[2699,7]]},"405":{"position":[[2460,11]]},"408":{"position":[[1203,10],[1226,12]]},"435":{"position":[[71,10],[121,10]]},"442":{"position":[[66,10]]},"637":{"position":[[222,11]]},"693":{"position":[[1040,7]]},"741":{"position":[[2699,7]]},"784":{"position":[[2460,11]]},"787":{"position":[[1203,10],[1226,12]]},"814":{"position":[[71,10],[121,10]]},"821":{"position":[[66,10]]},"890":{"position":[[5967,13]]},"900":{"position":[[21,10],[171,10],[1786,11]]},"939":{"position":[[862,7]]},"969":{"position":[[210,9],[293,10]]},"1011":{"position":[[38,7]]},"1044":{"position":[[2436,7]]},"1131":{"position":[[120,11],[420,11],[565,12]]},"1136":{"position":[[327,12],[1416,11],[1457,11],[1640,10]]},"1138":{"position":[[6057,10]]},"1148":{"position":[[860,12],[1772,11],[1813,11],[1996,10],[3407,10]]},"1172":{"position":[[1452,10]]},"1173":{"position":[[752,10]]},"1186":{"position":[[1631,10]]},"1187":{"position":[[1644,10]]},"1188":{"position":[[6370,10]]},"1197":{"position":[[869,10]]},"1198":{"position":[[879,10]]},"1199":{"position":[[907,10]]},"1200":{"position":[[774,10]]},"1205":{"position":[[896,11],[937,11],[1120,10]]},"1209":{"position":[[649,11],[690,11],[873,10]]},"1226":{"position":[[2589,11],[2630,11],[2813,10],[4590,11],[4735,11]]},"1235":{"position":[[653,12],[1909,11],[1950,11],[2133,10]]},"1237":{"position":[[2759,11],[2800,11],[2983,10],[4760,11],[4905,11]]},"1258":{"position":[[118,11],[383,11],[527,11],[748,11],[774,10],[795,11],[956,11],[982,11],[1078,10],[1172,10]]},"1259":{"position":[[22,11],[45,12],[111,11],[134,11],[202,12],[293,10],[470,11],[543,11],[581,11],[620,11],[645,11],[688,11],[721,11],[772,11],[826,12],[896,11],[944,12],[1022,11],[1153,12],[1274,12],[1404,11],[1439,11],[1467,11],[1520,11],[1600,10],[1698,10],[1794,10],[1899,10],[2000,10]]},"1260":{"position":[[121,11],[476,12]]},"1262":{"position":[[78,10]]},"1271":{"position":[[65,11],[198,11]]},"1277":{"position":[[48,10]]},"1278":{"position":[[48,10]]},"1279":{"position":[[48,10]]},"1280":{"position":[[48,10]]},"1281":{"position":[[48,10]]},"1282":{"position":[[305,10],[345,10]]},"1283":{"position":[[322,10],[362,10]]},"1284":{"position":[[302,10],[342,10]]},"1285":{"position":[[28,12],[159,12]]},"1289":{"position":[[118,11],[383,11],[527,11],[748,11],[774,10],[795,11],[956,11],[982,11],[1078,10],[1172,10]]},"1290":{"position":[[22,11],[45,12],[111,11],[134,11],[202,12],[293,10],[470,11],[543,11],[581,11],[620,11],[645,11],[688,11],[721,11],[772,11],[826,12],[896,11],[944,12],[1022,11],[1153,12],[1274,12],[1404,11],[1439,11],[1467,11],[1520,11],[1600,10],[1698,10],[1794,10],[1899,10],[2000,10]]},"1291":{"position":[[121,11],[476,12]]},"1293":{"position":[[78,10]]},"1302":{"position":[[65,11],[198,11]]},"1308":{"position":[[48,10]]},"1309":{"position":[[48,10]]},"1310":{"position":[[48,10]]},"1311":{"position":[[48,10]]},"1312":{"position":[[48,10]]},"1313":{"position":[[305,10],[345,10]]},"1314":{"position":[[322,10],[362,10]]},"1315":{"position":[[302,10],[342,10]]},"1317":{"position":[[118,11],[383,11],[527,11],[748,11],[774,10],[795,11],[956,11],[982,11],[1078,10],[1172,10]]},"1318":{"position":[[22,11],[45,12],[111,11],[134,11],[202,12],[293,10],[470,11],[543,11],[581,11],[620,11],[645,11],[688,11],[721,11],[772,11],[826,12],[896,11],[944,12],[1022,11],[1153,12],[1274,12],[1404,11],[1439,11],[1467,11],[1520,11],[1600,10],[1698,10],[1794,10],[1899,10],[2000,10]]},"1319":{"position":[[121,11],[476,12]]},"1321":{"position":[[78,10]]},"1330":{"position":[[65,11],[198,11]]},"1336":{"position":[[48,10]]},"1337":{"position":[[48,10]]},"1338":{"position":[[48,10]]},"1339":{"position":[[48,10]]},"1340":{"position":[[48,10]]},"1341":{"position":[[305,10],[345,10]]},"1342":{"position":[[322,10],[362,10]]},"1343":{"position":[[302,10],[342,10]]},"1351":{"position":[[2293,11],[2675,11],[3061,11],[4791,9]]},"1362":{"position":[[10428,10]]},"1364":{"position":[[11542,10]]},"1367":{"position":[[11345,10]]},"1382":{"position":[[7154,10]]},"1383":{"position":[[3566,10],[3910,10],[4198,10]]},"1384":{"position":[[13508,10]]},"1388":{"position":[[8023,10]]},"1487":{"position":[[1603,11]]}},"keywords":{}}],["expressions).th",{"_index":6478,"title":{},"content":{"1351":{"position":[[3242,16]]}},"keywords":{}}],["ext",{"_index":6001,"title":{},"content":{"1178":{"position":[[643,3]]},"1179":{"position":[[569,3]]},"1365":{"position":[[540,4]]},"1384":{"position":[[18390,6]]},"1472":{"position":[[5706,6]]}},"keywords":{}}],["extend",{"_index":29,"title":{},"content":{"4":{"position":[[0,9]]},"565":{"position":[[68,6],[211,6]]},"574":{"position":[[33,8]]},"715":{"position":[[131,6]]},"890":{"position":[[4526,8]]},"951":{"position":[[316,6]]},"1193":{"position":[[569,9]]},"1470":{"position":[[3391,7]]}},"keywords":{}}],["extens",{"_index":359,"title":{"869":{"position":[[6,9]]},"952":{"position":[[5,9]]},"970":{"position":[[16,11]]}},"content":{"11":{"position":[[185,9]]},"47":{"position":[[34,9],[117,9]]},"194":{"position":[[34,9],[117,9]]},"584":{"position":[[586,9]]},"693":{"position":[[1843,9]]},"865":{"position":[[190,11],[313,10],[331,9]]},"882":{"position":[[21,9]]},"937":{"position":[[4418,9]]},"1049":{"position":[[449,11]]},"1140":{"position":[[698,10],[782,9]]},"1178":{"position":[[677,9]]},"1179":{"position":[[603,9]]},"1188":{"position":[[751,10],[835,9]]},"1190":{"position":[[513,10]]},"1195":{"position":[[16,10]]},"1361":{"position":[[1938,9],[2199,9]]},"1362":{"position":[[12803,10],[12868,10]]},"1363":{"position":[[1781,10],[4376,10],[4636,10],[4651,9],[4760,9],[5656,9],[6964,9],[7151,9],[7356,9],[7512,9],[7710,9]]},"1364":{"position":[[13503,10],[13568,10]]},"1367":{"position":[[3039,10],[12711,10],[12776,10]]},"1372":{"position":[[1534,10]]},"1382":{"position":[[11165,10],[11230,10]]},"1384":{"position":[[18442,10],[18819,10],[18884,10]]},"1385":{"position":[[6743,10],[6808,10],[7220,9],[7460,10],[7636,9]]},"1387":{"position":[[10116,10],[10181,10],[10596,9],[10790,10],[10967,9]]},"1388":{"position":[[9658,10],[9723,10]]},"1405":{"position":[[3137,9]]},"1407":{"position":[[3558,9]]},"1410":{"position":[[4139,9]]},"1422":{"position":[[3325,10]]},"1442":{"position":[[2538,10],[2603,10]]},"1446":{"position":[[2369,10]]},"1461":{"position":[[2425,10],[2695,10],[2866,9]]},"1462":{"position":[[1520,10]]},"1465":{"position":[[2885,10]]},"1467":{"position":[[1656,10],[7024,10]]},"1472":{"position":[[5758,10]]},"1477":{"position":[[1594,9],[1774,10]]},"1485":{"position":[[4029,10],[4094,10]]}},"keywords":{}}],["extension'",{"_index":6884,"title":{},"content":{"1363":{"position":[[4405,11]]}},"keywords":{}}],["extern",{"_index":74,"title":{"5":{"position":[[0,8]]},"6":{"position":[[0,8]]},"7":{"position":[[0,8]]},"1092":{"position":[[0,8]]},"1093":{"position":[[14,8]]},"1097":{"position":[[10,8]]},"1149":{"position":[[7,8]]},"1150":{"position":[[12,8]]}},"content":{"17":{"position":[[1044,8]]},"23":{"position":[[887,8]]},"374":{"position":[[338,8],[678,8],[844,8]]},"753":{"position":[[338,8],[678,8],[844,8]]},"955":{"position":[[1149,8]]},"956":{"position":[[84,8]]},"1067":{"position":[[602,11]]},"1093":{"position":[[15,8],[180,8],[403,8],[544,8]]},"1094":{"position":[[29,8]]},"1096":{"position":[[33,8]]},"1097":{"position":[[8,8],[103,8],[163,8]]},"1098":{"position":[[0,8],[141,8],[163,8],[203,8],[230,8],[315,8],[384,8],[595,8],[612,8],[668,8]]},"1150":{"position":[[26,8],[497,8]]},"1384":{"position":[[7627,8]]},"1405":{"position":[[2582,8],[2835,9]]},"1407":{"position":[[3003,8],[3256,9]]},"1410":{"position":[[3105,8],[3244,9],[3836,9]]},"1415":{"position":[[3970,8]]},"1454":{"position":[[6027,8]]},"1455":{"position":[[2798,8]]},"1461":{"position":[[3350,8]]},"1482":{"position":[[1689,8]]},"1486":{"position":[[695,8],[909,8]]}},"keywords":{}}],["external.link_mod",{"_index":7732,"title":{},"content":{"1405":{"position":[[2721,19]]},"1407":{"position":[[3142,19]]}},"keywords":{}}],["external/libcxx:head",{"_index":7273,"title":{},"content":{"1386":{"position":[[3640,28]]}},"keywords":{}}],["external_cel",{"_index":5614,"title":{},"content":{"1093":{"position":[[465,14],[661,16]]},"1096":{"position":[[212,16]]},"1097":{"position":[[254,14]]},"1150":{"position":[[185,16]]}},"keywords":{}}],["external_cell_libfoo",{"_index":5619,"title":{},"content":{"1096":{"position":[[242,22]]}},"keywords":{}}],["external_linker_flag",{"_index":7721,"title":{},"content":{"1405":{"position":[[699,22]]},"1407":{"position":[[726,22]]},"1410":{"position":[[878,22],[3076,22]]}},"keywords":{}}],["external_test_runn",{"_index":7653,"title":{"1400":{"position":[[0,21]]}},"content":{"1400":{"position":[[4,21]]}},"keywords":{}}],["external_tool.sh",{"_index":8570,"title":{},"content":{"1486":{"position":[[3292,19],[3709,18],[5125,18]]}},"keywords":{}}],["externalrunnertestinfo",{"_index":2005,"title":{"374":{"position":[[0,23]]},"753":{"position":[[0,23]]},"1068":{"position":[[25,23]]}},"content":{"374":{"position":[[4,23],[257,22]]},"753":{"position":[[4,23],[257,22]]},"1054":{"position":[[1760,23]]},"1069":{"position":[[46,23]]},"1070":{"position":[[98,22]]},"1071":{"position":[[95,23]]},"1072":{"position":[[330,22],[558,23],[1119,23]]},"1245":{"position":[[320,22]]}},"keywords":{}}],["externalrunnertestinfo(command",{"_index":5495,"title":{},"content":{"1071":{"position":[[310,30]]}},"keywords":{}}],["externalrunnertestinfo.buck2",{"_index":5471,"title":{},"content":{"1067":{"position":[[89,28]]}},"keywords":{}}],["externalrunnertestinfo.local_resourc",{"_index":5326,"title":{},"content":{"1053":{"position":[[518,38]]}},"keywords":{}}],["externalrunnertestinfo.th",{"_index":5474,"title":{},"content":{"1067":{"position":[[352,26]]}},"keywords":{}}],["externalrunnertestinfoprovid",{"_index":5325,"title":{},"content":{"1053":{"position":[[429,30]]}},"keywords":{}}],["externaltool",{"_index":8568,"title":{},"content":{"1486":{"position":[[3209,16],[3269,15]]}},"keywords":{}}],["externaltoolwork",{"_index":8567,"title":{},"content":{"1486":{"position":[[3181,21],[3378,20],[3472,20],[3566,20]]}},"keywords":{}}],["extld",{"_index":7731,"title":{},"content":{"1405":{"position":[[2627,5]]},"1407":{"position":[[3048,5]]},"1410":{"position":[[3150,5]]}},"keywords":{}}],["extra",{"_index":2102,"title":{"1034":{"position":[[0,5]]}},"content":{"400":{"position":[[320,5]]},"779":{"position":[[320,5]]},"846":{"position":[[505,5]]},"1040":{"position":[[475,5]]},"1112":{"position":[[4669,5]]},"1355":{"position":[[4038,5]]},"1362":{"position":[[10816,5],[11020,5]]},"1364":{"position":[[11783,5],[11987,5]]},"1373":{"position":[[5332,5],[5536,5]]},"1382":{"position":[[7685,5],[7889,5]]},"1384":{"position":[[13749,5],[13953,5]]},"1387":{"position":[[7010,5],[7214,5]]},"1393":{"position":[[5709,5]]},"1405":{"position":[[2576,5],[3211,5]]},"1407":{"position":[[2997,5],[3632,5]]},"1410":{"position":[[3099,5],[4214,5]]},"1427":{"position":[[3183,5]]},"1439":{"position":[[3857,5],[5458,5]]}},"keywords":{}}],["extra_argu",{"_index":6347,"title":{},"content":{"1348":{"position":[[1095,16]]},"1355":{"position":[[1062,16],[4540,16]]},"1412":{"position":[[691,16],[2936,16],[4275,15]]},"1413":{"position":[[817,16]]},"1427":{"position":[[913,16],[3685,16]]},"1429":{"position":[[1077,16]]},"1430":{"position":[[730,16]]},"1439":{"position":[[987,16]]},"1440":{"position":[[1151,16]]},"1470":{"position":[[1202,16]]},"1474":{"position":[[727,16]]},"1475":{"position":[[853,16]]}},"keywords":{}}],["extra_ct_hook",{"_index":7608,"title":{},"content":{"1398":{"position":[[722,15],[3408,15]]}},"keywords":{}}],["extra_erl_flag",{"_index":7609,"title":{},"content":{"1398":{"position":[[753,16],[3507,16]]}},"keywords":{}}],["extra_filtered_resourc",{"_index":6433,"title":{},"content":{"1350":{"position":[[1722,25]]},"1352":{"position":[[1721,25]]}},"keywords":{}}],["extra_groovyc_argu",{"_index":7802,"title":{},"content":{"1412":{"position":[[723,24],[3028,24]]},"1413":{"position":[[849,24]]}},"keywords":{}}],["extra_includ",{"_index":7444,"title":{},"content":{"1393":{"position":[[548,15],[4653,15],[5145,14]]}},"keywords":{}}],["extra_instrumentation_arg",{"_index":6524,"title":{},"content":{"1354":{"position":[[699,27]]}},"keywords":{}}],["extra_json",{"_index":8009,"title":{},"content":{"1431":{"position":[[643,11]]},"1433":{"position":[[695,11]]}},"keywords":{}}],["extra_kotlinc_argu",{"_index":6348,"title":{},"content":{"1348":{"position":[[1127,24]]},"1355":{"position":[[1094,24],[4676,24]]},"1439":{"position":[[1019,24],[4359,24],[4932,24]]},"1440":{"position":[[1183,24]]},"1470":{"position":[[1234,24]]}},"keywords":{}}],["extra_linker_output",{"_index":6992,"title":{},"content":{"1368":{"position":[[811,21]]}},"keywords":{}}],["extra_no_compress_asset_extens",{"_index":6434,"title":{},"content":{"1350":{"position":[[1763,35]]},"1352":{"position":[[1762,35]]}},"keywords":{}}],["extra_properti",{"_index":7445,"title":{},"content":{"1393":{"position":[[579,17],[5641,17],[5663,16]]}},"keywords":{}}],["extra_script_templ",{"_index":7859,"title":{},"content":{"1417":{"position":[[583,23]]},"1419":{"position":[[529,23]]}},"keywords":{}}],["extra_xcode_fil",{"_index":6721,"title":{},"content":{"1362":{"position":[[1909,18],[7876,18]]},"1364":{"position":[[1891,18],[8725,18]]},"1367":{"position":[[3055,18],[7964,18]]},"1384":{"position":[[1705,18],[10104,18]]},"1387":{"position":[[1784,18]]}},"keywords":{}}],["extra_xcode_sourc",{"_index":6722,"title":{},"content":{"1362":{"position":[[1943,20]]},"1364":{"position":[[1925,20]]},"1367":{"position":[[3089,20]]},"1384":{"position":[[1739,20]]},"1387":{"position":[[1818,20]]}},"keywords":{}}],["extract",{"_index":4078,"title":{},"content":{"872":{"position":[[764,7]]},"889":{"position":[[1073,7]]},"1395":{"position":[[2960,7]]},"1422":{"position":[[771,7],[1880,9],[2321,9],[2650,9],[2744,9],[2891,10],[2917,9]]},"1446":{"position":[[2207,10]]},"1459":{"position":[[2180,10]]}},"keywords":{}}],["extract_sonam",{"_index":8144,"title":{},"content":{"1454":{"position":[[1256,15]]}},"keywords":{}}],["f",{"_index":1116,"title":{},"content":{"92":{"position":[[192,2]]},"224":{"position":[[192,2]]},"616":{"position":[[356,5]]},"878":{"position":[[1468,1]]},"890":{"position":[[1470,4],[1532,4]]},"1040":{"position":[[2660,2],[2797,2]]},"1360":{"position":[[6566,1],[6624,1]]}},"keywords":{}}],["f(ctx",{"_index":5153,"title":{},"content":{"1040":{"position":[[2390,6]]}},"keywords":{}}],["facebook",{"_index":639,"title":{},"content":{"22":{"position":[[421,8]]}},"keywords":{}}],["facebook'",{"_index":3614,"title":{},"content":{"696":{"position":[[222,10]]}},"keywords":{}}],["fact",{"_index":5121,"title":{},"content":{"1035":{"position":[[370,4]]},"1040":{"position":[[614,5]]}},"keywords":{}}],["factori",{"_index":1632,"title":{},"content":{"298":{"position":[[859,7]]},"916":{"position":[[328,7]]},"950":{"position":[[134,9],[409,8]]}},"keywords":{}}],["fail",{"_index":866,"title":{"641":{"position":[[0,5]]},"1173":{"position":[[14,7]]}},"content":{"42":{"position":[[46,6]]},"43":{"position":[[46,6]]},"45":{"position":[[94,5]]},"91":{"position":[[379,5]]},"94":{"position":[[3153,5]]},"175":{"position":[[46,6]]},"176":{"position":[[46,6]]},"192":{"position":[[94,5]]},"223":{"position":[[379,5]]},"226":{"position":[[3153,5]]},"246":{"position":[[125,6]]},"362":{"position":[[2223,6]]},"406":{"position":[[871,4]]},"435":{"position":[[100,5]]},"553":{"position":[[131,5]]},"554":{"position":[[289,5]]},"557":{"position":[[334,6],[345,5]]},"558":{"position":[[214,5]]},"559":{"position":[[446,5]]},"560":{"position":[[710,5]]},"563":{"position":[[139,5]]},"564":{"position":[[124,5]]},"565":{"position":[[218,5]]},"566":{"position":[[547,5]]},"567":{"position":[[418,5]]},"568":{"position":[[216,5]]},"569":{"position":[[177,5]]},"596":{"position":[[146,7],[340,6]]},"607":{"position":[[384,5]]},"612":{"position":[[148,7]]},"616":{"position":[[473,6]]},"634":{"position":[[188,5]]},"641":{"position":[[36,5],[42,4],[98,5],[156,5]]},"647":{"position":[[166,5]]},"656":{"position":[[218,6]]},"662":{"position":[[761,5]]},"741":{"position":[[2223,6]]},"785":{"position":[[871,4]]},"814":{"position":[[100,5]]},"900":{"position":[[1371,4],[1415,4]]},"919":{"position":[[283,5],[2153,4],[2270,4]]},"939":{"position":[[1527,5]]},"976":{"position":[[144,4]]},"1000":{"position":[[478,4]]},"1001":{"position":[[451,5]]},"1036":{"position":[[171,4]]},"1050":{"position":[[4464,5]]},"1064":{"position":[[549,5]]},"1075":{"position":[[404,4]]},"1106":{"position":[[14,5]]},"1112":{"position":[[797,6],[3573,6],[3629,7],[4106,6]]},"1113":{"position":[[166,5]]},"1114":{"position":[[105,6]]},"1121":{"position":[[111,7]]},"1138":{"position":[[3953,5],[4069,4],[4453,7],[4504,7],[4672,7],[4866,7],[5052,4],[5422,6],[5460,6]]},"1140":{"position":[[3442,5],[3558,4],[3942,7],[3993,7],[4161,7],[4355,7],[4541,4],[4911,6],[4949,6]]},"1167":{"position":[[4446,5],[4562,4],[4946,7],[4997,7],[5165,7],[5359,7],[5545,4],[5915,6],[5953,6]]},"1171":{"position":[[169,6],[203,6]]},"1172":{"position":[[1687,6],[1718,6],[1975,5]]},"1173":{"position":[[27,6],[155,6]]},"1188":{"position":[[3495,5],[3611,4],[3995,7],[4046,7],[4214,7],[4408,7],[4594,4],[4964,6],[5002,6]]},"1217":{"position":[[3187,5],[3303,4],[3687,7],[3738,7],[3906,7],[4100,7],[4286,4],[4656,6],[4694,6]]},"1228":{"position":[[5268,5],[5384,4],[5768,7],[5819,7],[5987,7],[6181,7],[6367,4],[6737,6],[6775,6]]},"1255":{"position":[[183,9],[359,9]]},"1353":{"position":[[2776,7]]},"1374":{"position":[[2457,4]]},"1383":{"position":[[5562,5]]},"1393":{"position":[[9472,5]]},"1412":{"position":[[4100,7]]},"1422":{"position":[[2513,5],[3621,6],[3642,6]]},"1423":{"position":[[2182,5],[2392,6],[2413,6]]},"1427":{"position":[[4268,4]]},"1429":{"position":[[5348,6]]},"1440":{"position":[[5342,6]]},"1461":{"position":[[2814,4]]},"1478":{"position":[[2781,5],[3380,5],[3570,5],[3618,4],[3654,6],[3723,6],[3766,6],[3794,7],[3812,6],[3842,4]]},"1482":{"position":[[2851,6],[2940,6],[3183,6],[3272,6],[3353,6]]},"1487":{"position":[[2040,4]]}},"keywords":{}}],["fail"",{"_index":8479,"title":{},"content":{"1478":{"position":[[3026,12]]}},"keywords":{}}],["fail("expect",{"_index":3773,"title":{},"content":{"712":{"position":[[3119,19]]}},"keywords":{}}],["fail("oops"",{"_index":3148,"title":{},"content":{"641":{"position":[[121,22]]}},"keywords":{}}],["fail("thi",{"_index":3146,"title":{},"content":{"641":{"position":[[61,15]]}},"keywords":{}}],["fail(*arg",{"_index":3144,"title":{},"content":{"641":{"position":[[4,11]]}},"keywords":{}}],["fail_no_stacktrac",{"_index":2124,"title":{"412":{"position":[[0,19]]},"791":{"position":[[0,19]]}},"content":{"402":{"position":[[901,18]]},"781":{"position":[[901,18]]}},"keywords":{}}],["fail_no_stacktrace(*arg",{"_index":2206,"title":{},"content":{"412":{"position":[[4,25]]},"791":{"position":[[4,25]]}},"keywords":{}}],["failur",{"_index":1736,"title":{},"content":{"314":{"position":[[345,8]]},"362":{"position":[[2197,7]]},"557":{"position":[[598,8]]},"558":{"position":[[407,8]]},"741":{"position":[[2197,7]]},"844":{"position":[[171,9]]},"1112":{"position":[[848,8],[857,9]]},"1138":{"position":[[2032,10],[2052,8]]},"1140":{"position":[[1521,10],[1541,8]]},"1167":{"position":[[2525,10],[2545,8]]},"1188":{"position":[[1574,10],[1594,8]]},"1217":{"position":[[1266,10],[1286,8]]},"1228":{"position":[[3347,10],[3367,8]]},"1255":{"position":[[396,7]]},"1360":{"position":[[4410,8]]},"1383":{"position":[[6443,8]]},"1403":{"position":[[3825,8]]},"1478":{"position":[[3428,7],[3676,7],[3804,7]]}},"keywords":{}}],["fake",{"_index":5880,"title":{},"content":{"1136":{"position":[[2840,4],[2915,4],[2983,4]]},"1138":{"position":[[6502,4],[6577,4],[6645,4]]},"1140":{"position":[[5428,4],[5503,4],[5571,4]]},"1142":{"position":[[872,4],[947,4],[1015,4]]},"1146":{"position":[[812,4],[887,4],[955,4]]},"1148":{"position":[[3852,4],[3927,4],[3995,4]]},"1155":{"position":[[908,4],[983,4],[1051,4]]},"1156":{"position":[[486,4],[561,4],[629,4]]},"1167":{"position":[[6432,4],[6507,4],[6575,4]]},"1169":{"position":[[271,4],[346,4],[414,4]]},"1186":{"position":[[2076,4],[2151,4],[2219,4]]},"1187":{"position":[[2089,4],[2164,4],[2232,4]]},"1188":{"position":[[6815,4],[6890,4],[6958,4]]},"1191":{"position":[[676,4],[751,4],[819,4]]},"1192":{"position":[[851,4],[926,4],[994,4]]},"1193":{"position":[[903,4],[978,4],[1046,4]]},"1194":{"position":[[543,4],[618,4],[686,4]]},"1195":{"position":[[521,4],[596,4],[664,4]]},"1196":{"position":[[331,4],[406,4],[474,4]]},"1197":{"position":[[1314,4],[1389,4],[1457,4]]},"1198":{"position":[[1324,4],[1399,4],[1467,4]]},"1199":{"position":[[1352,4],[1427,4],[1495,4]]},"1200":{"position":[[1219,4],[1294,4],[1362,4]]},"1201":{"position":[[479,4],[554,4],[622,4]]},"1202":{"position":[[1621,4],[1696,4],[1764,4],[6018,4],[6093,4],[6161,4]]},"1203":{"position":[[713,4],[788,4],[856,4]]},"1204":{"position":[[557,4],[632,4],[700,4]]},"1205":{"position":[[1886,4],[1961,4],[2029,4]]},"1206":{"position":[[357,4],[432,4],[500,4]]},"1207":{"position":[[514,4],[589,4],[657,4]]},"1209":{"position":[[1862,4],[1937,4],[2005,4]]},"1217":{"position":[[5173,4],[5248,4],[5316,4]]},"1219":{"position":[[1159,4],[1234,4],[1302,4]]},"1222":{"position":[[283,4],[358,4],[426,4]]},"1223":{"position":[[293,4],[368,4],[436,4]]},"1224":{"position":[[473,4],[548,4],[616,4]]},"1226":{"position":[[5641,4],[5716,4],[5784,4]]},"1228":{"position":[[7254,4],[7329,4],[7397,4]]},"1235":{"position":[[3122,4],[3197,4],[3265,4]]},"1237":{"position":[[5811,4],[5886,4],[5954,4]]}},"keywords":{}}],["fall",{"_index":4339,"title":{},"content":{"898":{"position":[[1933,4]]},"919":{"position":[[252,5]]},"1363":{"position":[[6074,5]]}},"keywords":{}}],["fallback",{"_index":1909,"title":{},"content":{"362":{"position":[[2168,9]]},"373":{"position":[[82,8],[320,9]]},"741":{"position":[[2168,9]]},"752":{"position":[[82,8],[320,9]]},"995":{"position":[[308,8]]},"1360":{"position":[[3141,8]]},"1374":{"position":[[2305,8]]},"1383":{"position":[[2726,8]]},"1393":{"position":[[8687,8]]},"1403":{"position":[[2556,8]]}},"keywords":{}}],["fallback_actu",{"_index":7111,"title":{},"content":{"1377":{"position":[[480,16]]}},"keywords":{}}],["fallback_transform_profil",{"_index":8010,"title":{},"content":{"1431":{"position":[[671,27]]}},"keywords":{}}],["fallbacksallow_hybrid_fallbacks_on_failur",{"_index":1908,"title":{},"content":{"362":{"position":[[2107,43]]},"741":{"position":[[2107,43]]}},"keywords":{}}],["fals",{"_index":892,"title":{"624":{"position":[[0,6]]}},"content":{"50":{"position":[[59,5]]},"85":{"position":[[154,6],[177,6],[205,5]]},"89":{"position":[[78,5]]},"91":{"position":[[191,6],[220,5]]},"94":{"position":[[580,6],[608,6],[637,6],[702,6],[872,6],[906,6],[949,6],[993,6],[1062,6]]},"98":{"position":[[338,6],[364,6],[391,6],[415,5]]},"99":{"position":[[488,6],[510,6],[534,5],[1639,6]]},"126":{"position":[[31,6],[107,5]]},"132":{"position":[[68,6]]},"138":{"position":[[65,6]]},"144":{"position":[[59,6]]},"145":{"position":[[45,6]]},"197":{"position":[[59,5]]},"217":{"position":[[154,6],[177,6],[205,5]]},"221":{"position":[[78,5]]},"223":{"position":[[191,6],[220,5]]},"226":{"position":[[580,6],[608,6],[637,6],[702,6],[872,6],[906,6],[949,6],[993,6],[1062,6]]},"230":{"position":[[338,6],[364,6],[391,6],[415,5]]},"231":{"position":[[488,6],[510,6],[534,5],[1639,6]]},"242":{"position":[[100,5]]},"249":{"position":[[31,6],[107,5]]},"255":{"position":[[68,6]]},"261":{"position":[[65,6]]},"267":{"position":[[59,6]]},"268":{"position":[[45,6]]},"306":{"position":[[344,6]]},"309":{"position":[[348,5]]},"316":{"position":[[127,5]]},"317":{"position":[[129,5]]},"318":{"position":[[83,5],[295,6]]},"362":{"position":[[153,6],[416,6],[462,6],[511,6],[554,6],[592,6],[627,6],[718,6]]},"397":{"position":[[80,5]]},"405":{"position":[[609,6]]},"416":{"position":[[90,5]]},"417":{"position":[[306,5]]},"424":{"position":[[32,6]]},"434":{"position":[[43,5]]},"435":{"position":[[277,5]]},"437":{"position":[[161,6],[194,6],[640,7]]},"442":{"position":[[157,6],[244,5]]},"447":{"position":[[118,5]]},"451":{"position":[[66,5]]},"597":{"position":[[277,5]]},"598":{"position":[[255,5],[287,5]]},"599":{"position":[[253,5],[285,5]]},"600":{"position":[[294,5],[329,5]]},"601":{"position":[[287,5]]},"602":{"position":[[344,5],[379,5]]},"603":{"position":[[290,5],[325,5]]},"617":{"position":[[39,6]]},"618":{"position":[[335,5],[447,5]]},"624":{"position":[[0,6]]},"628":{"position":[[190,5],[240,5],[254,7],[265,5],[289,5],[303,7],[314,5]]},"629":{"position":[[209,5],[223,7],[234,5]]},"630":{"position":[[146,5],[164,5],[222,5],[242,5],[294,5],[312,5],[350,5],[397,5]]},"641":{"position":[[147,6],[169,5]]},"643":{"position":[[267,6],[371,7],[389,6]]},"648":{"position":[[417,5]]},"666":{"position":[[46,5]]},"712":{"position":[[1201,6],[1743,6]]},"741":{"position":[[153,6],[416,6],[462,6],[511,6],[554,6],[592,6],[627,6],[718,6]]},"776":{"position":[[80,5]]},"784":{"position":[[609,6]]},"795":{"position":[[90,5]]},"796":{"position":[[306,5]]},"803":{"position":[[32,6]]},"813":{"position":[[43,5]]},"814":{"position":[[277,5]]},"816":{"position":[[161,6],[194,6],[640,7]]},"821":{"position":[[157,6],[244,5]]},"826":{"position":[[118,5]]},"830":{"position":[[66,5]]},"890":{"position":[[1487,6]]},"991":{"position":[[294,7]]},"1001":{"position":[[131,6],[359,5]]},"1004":{"position":[[616,6]]},"1026":{"position":[[1212,5],[1286,5],[1447,5],[1569,5]]},"1064":{"position":[[96,6],[457,5],[1585,6]]},"1070":{"position":[[462,8]]},"1072":{"position":[[671,6],[1046,7],[1201,6]]},"1073":{"position":[[72,7]]},"1198":{"position":[[264,5]]},"1226":{"position":[[2084,6],[2157,6]]},"1233":{"position":[[244,5]]},"1237":{"position":[[2254,6],[2327,6]]},"1241":{"position":[[192,5]]},"1346":{"position":[[485,5]]},"1364":{"position":[[6850,6],[13231,6]]},"1370":{"position":[[2878,6]]},"1384":{"position":[[5895,6],[18162,6]]},"1403":{"position":[[6265,6]]},"1410":{"position":[[2819,6]]},"1454":{"position":[[4743,6]]},"1455":{"position":[[2391,6]]},"1462":{"position":[[8866,6]]},"1465":{"position":[[4220,6]]},"1467":{"position":[[10637,6]]},"1473":{"position":[[3902,6]]},"1477":{"position":[[1675,5]]}},"keywords":{}}],["false)absolut",{"_index":1283,"title":{},"content":{"99":{"position":[[1347,14]]},"231":{"position":[[1347,14]]}},"keywords":{}}],["false.compiler_flag",{"_index":7727,"title":{},"content":{"1405":{"position":[[2376,21]]},"1407":{"position":[[2797,21]]}},"keywords":{}}],["famili",{"_index":7201,"title":{},"content":{"1384":{"position":[[11468,6],[11592,6],[11956,6],[12208,6],[12445,6],[12569,6]]}},"keywords":{}}],["familiar",{"_index":7504,"title":{},"content":{"1393":{"position":[[9330,11]]}},"keywords":{}}],["fanci",{"_index":2329,"title":{},"content":{"434":{"position":[[29,6]]},"813":{"position":[[29,6]]}},"keywords":{}}],["faq",{"_index":3815,"title":{"831":{"position":[[0,4]]}},"content":{},"keywords":{}}],["far",{"_index":2697,"title":{},"content":{"584":{"position":[[55,3]]},"1105":{"position":[[131,3]]}},"keywords":{}}],["fashion",{"_index":3608,"title":{},"content":{"695":{"position":[[527,8]]},"1486":{"position":[[4889,7]]}},"keywords":{}}],["fast",{"_index":120,"title":{},"content":{"6":{"position":[[151,4]]},"9":{"position":[[565,4],[581,4],[775,4],[784,5]]},"23":{"position":[[3377,4],[3453,4]]},"1138":{"position":[[4074,4],[5057,5]]},"1140":{"position":[[3563,4],[4546,5]]},"1167":{"position":[[4567,4],[5550,5]]},"1188":{"position":[[3616,4],[4599,5]]},"1217":{"position":[[3308,4],[4291,5]]},"1226":{"position":[[1885,5],[1937,5]]},"1228":{"position":[[5389,4],[6372,5]]},"1237":{"position":[[2055,5],[2107,5]]},"1354":{"position":[[2708,6]]},"1367":{"position":[[10523,6]]},"1392":{"position":[[1978,6]]},"1410":{"position":[[3462,6]]},"1429":{"position":[[4754,6]]},"1440":{"position":[[4836,6]]},"1461":{"position":[[2819,4]]}},"keywords":{}}],["fast.buck2",{"_index":114,"title":{},"content":{"6":{"position":[[60,11]]}},"keywords":{}}],["fast_adhoc_signing_en",{"_index":6854,"title":{},"content":{"1363":{"position":[[1797,27]]},"1367":{"position":[[3125,27]]},"1372":{"position":[[1554,27]]}},"keywords":{}}],["faster",{"_index":173,"title":{},"content":{"9":{"position":[[172,6],[903,6],[1024,6],[1149,6],[1463,6],[1530,7]]},"10":{"position":[[264,6]]},"11":{"position":[[146,6],[254,6],[365,6],[394,6]]}},"keywords":{}}],["faster.th",{"_index":707,"title":{},"content":{"23":{"position":[[790,10]]}},"keywords":{}}],["fat_lto",{"_index":6723,"title":{},"content":{"1362":{"position":[[1979,8]]},"1364":{"position":[[1961,8]]},"1367":{"position":[[3170,8]]},"1373":{"position":[[994,8]]},"1382":{"position":[[1126,8]]},"1384":{"position":[[1775,8]]},"1387":{"position":[[1854,8]]},"1388":{"position":[[1284,8]]},"1415":{"position":[[772,8]]},"1462":{"position":[[1547,8]]},"1467":{"position":[[1683,8]]}},"keywords":{}}],["favor",{"_index":2457,"title":{},"content":{"477":{"position":[[378,5]]},"1471":{"position":[[2731,5]]},"1472":{"position":[[2690,5]]},"1473":{"position":[[3005,5]]}},"keywords":{}}],["favour",{"_index":2319,"title":{},"content":{"429":{"position":[[615,6]]},"808":{"position":[[615,6]]}},"keywords":{}}],["fb/bin/llvm",{"_index":4313,"title":{},"content":{"896":{"position":[[209,11],[573,11]]}},"keywords":{}}],["fb4a",{"_index":7980,"title":{},"content":{"1427":{"position":[[8089,6]]},"1439":{"position":[[8911,6]]}},"keywords":{}}],["fb://profil",{"_index":5981,"title":{},"content":{"1167":{"position":[[1357,13]]}},"keywords":{}}],["fbchain_config",{"_index":5375,"title":{},"content":{"1057":{"position":[[303,15],[581,15],[834,15],[989,15]]}},"keywords":{}}],["fbcode",{"_index":1291,"title":{},"content":{"106":{"position":[[92,6],[133,6]]},"109":{"position":[[92,6]]},"110":{"position":[[95,6]]},"111":{"position":[[108,6]]},"113":{"position":[[118,6]]},"518":{"position":[[92,6],[133,6]]},"521":{"position":[[92,6]]},"522":{"position":[[95,6]]},"523":{"position":[[108,6]]},"525":{"position":[[118,6]]},"916":{"position":[[91,6]]},"998":{"position":[[14,7]]}},"keywords":{}}],["fbcode//buck2/hello:world",{"_index":1289,"title":{},"content":{"106":{"position":[[31,25]]},"109":{"position":[[31,25]]},"110":{"position":[[34,25]]},"111":{"position":[[47,25]]},"113":{"position":[[57,25],[197,27]]},"518":{"position":[[31,25]]},"521":{"position":[[31,25]]},"522":{"position":[[34,25]]},"523":{"position":[[47,25]]},"525":{"position":[[57,25],[197,27]]}},"keywords":{}}],["fbcode//buck2/starlark",{"_index":4513,"title":{},"content":{"921":{"position":[[781,22]]}},"keywords":{}}],["fbcode//buck2/tests/targets/rules/pasc",{"_index":5639,"title":{},"content":{"1102":{"position":[[830,42]]},"1106":{"position":[[84,41]]}},"keywords":{}}],["fbcode//buck2/tests/targets/rules/pascal:my_binari",{"_index":5704,"title":{},"content":{"1106":{"position":[[156,50]]}},"keywords":{}}],["fbcode//common/init:kil",{"_index":4323,"title":{},"content":{"896":{"position":[[899,24]]}},"keywords":{}}],["fbcode//scripts/torozco/getenv:getenv",{"_index":4303,"title":{},"content":{"896":{"position":[[33,37]]}},"keywords":{}}],["fbcode/buck2/hello",{"_index":1304,"title":{},"content":{"111":{"position":[[149,18]]},"523":{"position":[[149,18]]}},"keywords":{}}],["fbcode/buck2/prelud",{"_index":5706,"title":{},"content":{"1108":{"position":[[118,21]]}},"keywords":{}}],["fbcode/buck2/tests/targets/rules/pasc",{"_index":5636,"title":{},"content":{"1102":{"position":[[601,39]]}},"keywords":{}}],["fbcode/my/stuff.cpp",{"_index":4295,"title":{},"content":{"895":{"position":[[274,20]]}},"keywords":{}}],["fbcode/script",{"_index":4497,"title":{},"content":{"919":{"position":[[1197,15]]}},"keywords":{}}],["fbcode/third",{"_index":4311,"title":{},"content":{"896":{"position":[[162,12],[526,12]]}},"keywords":{}}],["fbcode_allowed_list.bzl",{"_index":5406,"title":{},"content":{"1058":{"position":[[207,23]]}},"keywords":{}}],["fbobjc",{"_index":4510,"title":{},"content":{"921":{"position":[[552,6]]}},"keywords":{}}],["fbode_allowed_list.bzl",{"_index":5426,"title":{},"content":{"1058":{"position":[[465,23]]}},"keywords":{}}],["fbsource//fbobjc",{"_index":4511,"title":{},"content":{"921":{"position":[[589,20]]}},"keywords":{}}],["featur",{"_index":279,"title":{},"content":{"9":{"position":[[2203,8],[2321,8]]},"23":{"position":[[1001,9],[1024,8],[1477,8],[2113,7],[2152,7],[2954,8],[3055,8]]},"584":{"position":[[663,8]]},"873":{"position":[[213,8]]},"890":{"position":[[451,8],[2645,8]]},"945":{"position":[[452,7]]},"954":{"position":[[358,8],[657,8]]},"987":{"position":[[959,7]]},"995":{"position":[[715,7]]},"1027":{"position":[[30,7]]},"1075":{"position":[[741,7]]},"1100":{"position":[[5,7]]},"1384":{"position":[[9620,7]]},"1427":{"position":[[4093,7]]},"1471":{"position":[[899,9],[3571,9],[3592,8]]},"1472":{"position":[[996,9],[4155,9],[4176,8]]},"1473":{"position":[[930,9],[3639,9],[3660,8]]}},"keywords":{}}],["feature="{feature}"",{"_index":8427,"title":{},"content":{"1471":{"position":[[3667,30]]},"1472":{"position":[[4251,30]]},"1473":{"position":[[3735,30]]}},"keywords":{}}],["features.build",{"_index":123,"title":{},"content":{"6":{"position":[[192,17]]}},"keywords":{}}],["feedback",{"_index":185,"title":{},"content":{"9":{"position":[[332,8]]},"10":{"position":[[190,8]]},"12":{"position":[[515,8],[597,9]]},"1232":{"position":[[3454,9]]}},"keywords":{}}],["feel",{"_index":158,"title":{},"content":{"7":{"position":[[365,4]]},"938":{"position":[[0,4]]}},"keywords":{}}],["fetch",{"_index":451,"title":{},"content":{"15":{"position":[[218,5]]},"23":{"position":[[2783,8]]},"1422":{"position":[[888,6],[2523,5]]},"1423":{"position":[[878,6],[2192,5],[3331,7]]},"1439":{"position":[[5788,5]]},"1469":{"position":[[778,6]]}},"keywords":{}}],["few",{"_index":349,"title":{},"content":{"10":{"position":[[1025,3]]},"20":{"position":[[415,3]]},"22":{"position":[[652,3]]},"276":{"position":[[365,3]]},"277":{"position":[[175,3]]},"281":{"position":[[436,3]]},"282":{"position":[[230,3]]},"345":{"position":[[845,3]]},"856":{"position":[[127,3],[735,3],[967,3]]},"858":{"position":[[12,3]]},"1017":{"position":[[679,3]]},"1044":{"position":[[322,3]]},"1088":{"position":[[179,3]]},"1113":{"position":[[514,3]]},"1231":{"position":[[675,3]]},"1250":{"position":[[105,3]]}},"keywords":{}}],["fewer",{"_index":5699,"title":{},"content":{"1105":{"position":[[2414,5]]},"1120":{"position":[[857,5]]}},"keywords":{}}],["fi",{"_index":8482,"title":{},"content":{"1478":{"position":[[3230,2]]}},"keywords":{}}],["fib",{"_index":4359,"title":{},"content":{"900":{"position":[[110,3],[151,3]]}},"keywords":{}}],["fib(3",{"_index":4358,"title":{},"content":{"900":{"position":[[67,6]]}},"keywords":{}}],["field",{"_index":983,"title":{"642":{"position":[[0,6]]},"1069":{"position":[[0,6]]},"1070":{"position":[[0,6]]}},"content":{"72":{"position":[[92,5],[236,5],[272,5]]},"98":{"position":[[927,6]]},"230":{"position":[[927,6]]},"276":{"position":[[116,6]]},"281":{"position":[[150,6]]},"363":{"position":[[477,6],[561,5],[592,5]]},"366":{"position":[[307,6],[358,5]]},"367":{"position":[[333,6],[395,5],[423,5]]},"368":{"position":[[639,6],[2377,6]]},"372":{"position":[[248,6]]},"373":{"position":[[244,6],[314,5],[343,5]]},"374":{"position":[[490,6]]},"375":{"position":[[129,6],[186,6],[234,5],[269,5]]},"377":{"position":[[432,6],[554,6]]},"379":{"position":[[136,6],[253,6],[295,5],[336,5]]},"386":{"position":[[401,6]]},"389":{"position":[[1352,7],[1659,6],[1731,5],[1778,5]]},"396":{"position":[[338,6]]},"398":{"position":[[208,6],[253,5],[285,5]]},"399":{"position":[[211,6],[261,5],[283,5]]},"400":{"position":[[352,6]]},"427":{"position":[[42,7]]},"428":{"position":[[74,5]]},"495":{"position":[[92,5],[236,5],[272,5]]},"595":{"position":[[551,5],[633,7],[690,5],[881,5],[1289,5]]},"637":{"position":[[117,7]]},"642":{"position":[[37,5],[54,5]]},"645":{"position":[[140,6]]},"646":{"position":[[137,6]]},"663":{"position":[[217,7],[659,6],[937,5],[1029,5],[1186,5]]},"742":{"position":[[477,6],[561,5],[592,5]]},"745":{"position":[[307,6],[358,5]]},"746":{"position":[[333,6],[395,5],[423,5]]},"747":{"position":[[639,6],[2377,6]]},"751":{"position":[[248,6]]},"752":{"position":[[244,6],[314,5],[343,5]]},"753":{"position":[[490,6]]},"754":{"position":[[129,6],[186,6],[234,5],[269,5]]},"756":{"position":[[432,6],[554,6]]},"758":{"position":[[136,6],[253,6],[295,5],[336,5]]},"765":{"position":[[401,6]]},"768":{"position":[[1352,7],[1659,6],[1731,5],[1778,5]]},"775":{"position":[[338,6]]},"777":{"position":[[208,6],[253,5],[285,5]]},"778":{"position":[[211,6],[261,5],[283,5]]},"779":{"position":[[352,6]]},"806":{"position":[[42,7]]},"807":{"position":[[74,5]]},"901":{"position":[[180,7],[616,6],[983,5],[1140,5]]},"924":{"position":[[997,6],[1187,5]]},"995":{"position":[[501,5]]},"1020":{"position":[[55,5]]},"1042":{"position":[[517,5]]},"1046":{"position":[[398,5]]},"1050":{"position":[[2005,5]]},"1052":{"position":[[203,7],[1541,5]]},"1053":{"position":[[244,5],[413,5]]},"1054":{"position":[[1111,6]]},"1068":{"position":[[104,6]]},"1070":{"position":[[60,6],[580,6],[765,6],[987,6]]},"1103":{"position":[[788,6],[1571,6]]},"1104":{"position":[[400,5]]},"1105":{"position":[[2116,5]]},"1112":{"position":[[578,6],[1442,6]]},"1113":{"position":[[75,6],[184,6],[263,6],[518,6],[575,6]]},"1114":{"position":[[570,5]]},"1346":{"position":[[318,6]]},"1351":{"position":[[2165,6],[2547,6],[2998,6],[3189,6],[3285,5]]},"1366":{"position":[[2788,5]]},"1393":{"position":[[2220,5],[2536,6],[2585,6],[2853,5],[3200,6],[3307,6],[3439,6],[3486,6],[3673,5],[4044,5],[4380,5],[4798,6],[5027,6],[5160,6],[5458,6],[5605,6],[5680,5],[5899,5],[6213,5],[6244,5],[6933,5],[7049,5],[7850,5],[8113,5],[8350,5],[8419,5],[8481,5],[8563,6],[8678,6],[9246,6],[9379,6],[10266,6]]},"1395":{"position":[[2040,5],[2389,6]]},"1397":{"position":[[1645,5],[1866,5],[2063,5],[2651,6],[2728,5]]},"1398":{"position":[[2654,5],[3049,5],[3822,5]]}},"keywords":{}}],["field!conv",{"_index":2811,"title":{},"content":{"595":{"position":[[654,12]]}},"keywords":{}}],["field!conv:spec",{"_index":2812,"title":{},"content":{"595":{"position":[[667,17]]}},"keywords":{}}],["field(typ",{"_index":3150,"title":{},"content":{"642":{"position":[[4,10]]}},"keywords":{}}],["field:spec",{"_index":2810,"title":{},"content":{"595":{"position":[[641,12]]}},"keywords":{}}],["field_ref_count_buffer_spac",{"_index":6435,"title":{},"content":{"1350":{"position":[[1814,29]]},"1352":{"position":[[1813,29]]}},"keywords":{}}],["fieldfunct",{"_index":4392,"title":{},"content":{"901":{"position":[[892,14]]}},"keywords":{}}],["figur",{"_index":6225,"title":{},"content":{"1256":{"position":[[21,6]]}},"keywords":{}}],["file",{"_index":59,"title":{"573":{"position":[[16,4],[34,4]]},"574":{"position":[[10,4]]},"581":{"position":[[21,6]]},"584":{"position":[[14,5],[38,6]]},"622":{"position":[[6,4]]},"679":{"position":[[7,5]]},"680":{"position":[[40,6]]},"686":{"position":[[16,5]]},"717":{"position":[[16,6]]},"976":{"position":[[10,6]]},"1000":{"position":[[8,6]]},"1028":{"position":[[4,5]]},"1030":{"position":[[10,6]]},"1031":{"position":[[18,5]]},"1032":{"position":[[18,5]]},"1033":{"position":[[12,6]]},"1036":{"position":[[4,5]]},"1037":{"position":[[4,5]]},"1038":{"position":[[4,5]]},"1062":{"position":[[8,5]]},"1134":{"position":[[72,6]]},"1203":{"position":[[15,6]]},"1240":{"position":[[19,6]]},"1266":{"position":[[22,4],[47,4]]},"1269":{"position":[[37,4]]},"1273":{"position":[[13,4]]},"1274":{"position":[[28,4]]},"1297":{"position":[[22,4],[47,4]]},"1300":{"position":[[37,4]]},"1304":{"position":[[13,4]]},"1305":{"position":[[28,4]]},"1325":{"position":[[22,4],[47,4]]},"1328":{"position":[[37,4]]},"1332":{"position":[[13,4]]},"1333":{"position":[[28,4]]}},"content":{"4":{"position":[[366,4],[429,4]]},"9":{"position":[[1053,4],[1175,4],[1768,5]]},"13":{"position":[[37,5]]},"15":{"position":[[140,4]]},"18":{"position":[[359,5],[609,5],[1517,6],[1856,4],[2203,5]]},"20":{"position":[[216,6]]},"22":{"position":[[1193,6],[1794,5],[1878,5]]},"23":{"position":[[1087,5],[1139,5],[1576,4],[2743,4],[2836,4]]},"24":{"position":[[636,4]]},"26":{"position":[[35,4]]},"40":{"position":[[42,5],[148,4],[191,4]]},"47":{"position":[[29,4]]},"48":{"position":[[67,4]]},"49":{"position":[[130,6]]},"50":{"position":[[207,4],[261,4]]},"85":{"position":[[570,4]]},"86":{"position":[[172,6]]},"88":{"position":[[266,5]]},"89":{"position":[[152,4]]},"91":{"position":[[318,4],[454,4]]},"92":{"position":[[486,4]]},"94":{"position":[[2150,4],[2481,4]]},"95":{"position":[[286,5]]},"98":{"position":[[573,4],[713,4],[755,5]]},"99":{"position":[[1118,4]]},"145":{"position":[[123,4],[188,4]]},"173":{"position":[[42,5],[148,4],[191,4]]},"178":{"position":[[35,4]]},"194":{"position":[[29,4]]},"195":{"position":[[67,4]]},"196":{"position":[[130,6]]},"197":{"position":[[207,4],[261,4]]},"217":{"position":[[570,4]]},"218":{"position":[[172,6]]},"220":{"position":[[266,5]]},"221":{"position":[[152,4]]},"223":{"position":[[318,4],[454,4]]},"224":{"position":[[486,4]]},"226":{"position":[[2150,4],[2481,4]]},"227":{"position":[[286,5]]},"230":{"position":[[573,4],[713,4],[755,5]]},"231":{"position":[[1118,4]]},"268":{"position":[[123,4],[188,4]]},"279":{"position":[[223,5]]},"314":{"position":[[120,4]]},"317":{"position":[[115,5],[142,4]]},"318":{"position":[[213,5]]},"319":{"position":[[141,4]]},"331":{"position":[[328,6]]},"334":{"position":[[29,6],[417,6],[612,4]]},"346":{"position":[[549,5]]},"362":{"position":[[1713,4]]},"375":{"position":[[34,6],[240,6]]},"407":{"position":[[218,5]]},"408":{"position":[[148,5],[483,4]]},"413":{"position":[[48,4],[118,5]]},"414":{"position":[[91,6],[109,6]]},"415":{"position":[[80,4],[95,5],[149,4],[258,4],[357,4]]},"418":{"position":[[151,5],[198,6],[301,5],[396,5],[526,5],[605,5],[630,5],[638,4],[670,4],[735,4],[826,4],[1075,6],[1136,4]]},"421":{"position":[[76,4]]},"423":{"position":[[54,4],[223,5]]},"425":{"position":[[89,6],[107,6]]},"429":{"position":[[126,4]]},"430":{"position":[[53,4]]},"431":{"position":[[73,5]]},"432":{"position":[[93,5]]},"433":{"position":[[214,5]]},"443":{"position":[[182,5]]},"451":{"position":[[139,6]]},"472":{"position":[[209,6]]},"474":{"position":[[29,6],[156,6],[351,4]]},"477":{"position":[[44,6]]},"573":{"position":[[16,4],[33,4],[222,4]]},"574":{"position":[[50,4],[101,6],[125,4],[228,5]]},"575":{"position":[[95,6]]},"580":{"position":[[60,4],[249,4]]},"581":{"position":[[53,5],[621,5],[677,5],[954,6]]},"582":{"position":[[39,6],[97,5],[149,4],[338,5],[382,4],[437,4],[476,5],[507,5],[523,6]]},"583":{"position":[[267,4],[415,4],[737,4],[805,5],[919,4],[931,5],[993,5]]},"584":{"position":[[25,5],[95,5],[156,5],[356,4],[424,5],[504,5],[561,5],[607,4],[697,5],[759,4],[797,4],[866,4],[916,4],[976,4],[1019,4],[1199,4],[1291,5],[1339,4],[1456,4],[1554,4]]},"587":{"position":[[452,5]]},"622":{"position":[[6,4],[19,4],[29,5],[158,4],[213,4],[299,5],[383,4],[407,4],[424,4],[531,6],[749,4],[836,5],[962,4],[1011,5],[1039,4],[1828,5]]},"675":{"position":[[362,6],[1216,4]]},"679":{"position":[[32,5],[143,6],[237,5],[476,5]]},"680":{"position":[[17,4],[107,4],[173,6],[241,4],[270,4],[306,4],[394,6],[460,4],[485,4],[668,4],[697,5],[747,5],[777,5],[877,5],[1223,5]]},"681":{"position":[[367,5],[456,4],[642,4],[777,5]]},"686":{"position":[[56,5],[142,5]]},"688":{"position":[[870,5]]},"693":{"position":[[85,4],[143,4],[467,5],[858,5],[931,5],[1185,6],[1317,5],[1330,4],[1415,4],[1523,4],[1555,4],[1740,4],[1809,4],[2324,4],[5541,4],[5561,5],[5611,5],[5673,4],[5728,4],[5852,5],[7404,5],[7931,5],[8397,5],[8872,4]]},"702":{"position":[[92,5],[116,5]]},"704":{"position":[[204,7],[447,4],[1026,4],[1746,6],[1943,4],[2082,5],[2283,5]]},"706":{"position":[[660,5]]},"715":{"position":[[258,4],[271,5]]},"717":{"position":[[6,5],[42,6],[138,4],[222,5],[274,5],[418,4],[439,4]]},"718":{"position":[[31,5],[168,5],[638,4]]},"722":{"position":[[307,5],[561,6],[767,4],[782,4],[831,6]]},"724":{"position":[[56,5]]},"741":{"position":[[1713,4]]},"754":{"position":[[34,6],[240,6]]},"786":{"position":[[218,5]]},"787":{"position":[[148,5],[483,4]]},"792":{"position":[[48,4],[118,5]]},"793":{"position":[[91,6],[109,6]]},"794":{"position":[[80,4],[95,5],[149,4],[258,4],[357,4]]},"797":{"position":[[151,5],[198,6],[301,5],[396,5],[526,5],[605,5],[630,5],[638,4],[670,4],[735,4],[826,4],[1075,6],[1136,4]]},"800":{"position":[[76,4]]},"802":{"position":[[54,4],[223,5]]},"804":{"position":[[89,6],[107,6]]},"808":{"position":[[126,4]]},"809":{"position":[[53,4]]},"810":{"position":[[73,5]]},"811":{"position":[[93,5]]},"812":{"position":[[214,5]]},"822":{"position":[[182,5]]},"830":{"position":[[139,6]]},"840":{"position":[[126,5],[153,4]]},"865":{"position":[[185,4],[268,5],[615,6],[740,4],[880,5]]},"867":{"position":[[2056,4]]},"872":{"position":[[386,4],[986,4]]},"873":{"position":[[110,5]]},"878":{"position":[[238,5]]},"894":{"position":[[471,4]]},"895":{"position":[[251,4]]},"910":{"position":[[438,4],[500,4]]},"911":{"position":[[45,4],[291,4]]},"915":{"position":[[8,5]]},"916":{"position":[[461,5]]},"919":{"position":[[412,6]]},"921":{"position":[[126,5]]},"939":{"position":[[1760,5]]},"940":{"position":[[13,5],[607,4]]},"954":{"position":[[55,5],[167,4],[251,4],[459,5],[839,4],[946,5]]},"955":{"position":[[687,5],[966,4],[1059,5],[1243,6]]},"956":{"position":[[301,5]]},"961":{"position":[[53,4],[87,4],[239,5],[382,5]]},"964":{"position":[[65,6]]},"976":{"position":[[81,5]]},"981":{"position":[[898,4]]},"997":{"position":[[58,6]]},"998":{"position":[[261,5]]},"1000":{"position":[[23,5],[61,5],[132,5],[159,6],[187,5],[291,5],[346,5],[522,4],[563,6],[578,5],[607,6],[652,5],[729,5],[762,5],[851,5]]},"1001":{"position":[[8,5],[46,4],[441,4],[496,4],[610,4],[740,4],[776,4],[823,5],[859,4],[951,5],[1090,4],[1105,5],[1120,5],[1145,6],[1355,6],[1418,4],[1565,6]]},"1002":{"position":[[8,5]]},"1004":{"position":[[37,5]]},"1029":{"position":[[4,5],[281,5]]},"1030":{"position":[[11,6],[77,4],[161,4],[238,4],[326,6]]},"1031":{"position":[[17,4],[135,5],[293,4]]},"1032":{"position":[[30,5]]},"1033":{"position":[[43,5],[190,5]]},"1035":{"position":[[4,5],[95,5],[175,6],[525,4]]},"1036":{"position":[[20,4],[115,4]]},"1037":{"position":[[4,5],[152,5],[330,5],[440,4],[537,7],[610,5],[658,5]]},"1038":{"position":[[12,4],[111,5]]},"1048":{"position":[[121,4],[224,4],[1312,5]]},"1050":{"position":[[1198,4],[1256,4],[1356,4],[1987,5],[2096,5],[2294,4],[3150,4],[3515,4],[4407,4],[4619,5]]},"1056":{"position":[[60,5]]},"1057":{"position":[[173,5],[194,4],[896,4]]},"1058":{"position":[[120,4],[140,4],[160,4]]},"1061":{"position":[[405,4]]},"1064":{"position":[[156,6],[170,5],[195,6],[539,4],[594,4],[708,4],[838,4],[874,4],[923,5],[1051,5],[1256,6],[1270,5],[1295,6],[1370,5],[1451,6],[1510,4],[1743,6],[1757,5],[1782,6],[2254,5]]},"1065":{"position":[[105,6],[119,5],[141,6],[288,6],[351,4]]},"1077":{"position":[[107,5]]},"1093":{"position":[[196,5],[336,6],[635,5]]},"1097":{"position":[[71,6],[338,5]]},"1102":{"position":[[351,4],[673,5]]},"1103":{"position":[[1092,5]]},"1104":{"position":[[435,4],[530,4],[613,4],[1660,5],[1841,4]]},"1107":{"position":[[160,4]]},"1112":{"position":[[4859,4],[4944,5]]},"1130":{"position":[[101,4],[174,4]]},"1134":{"position":[[27,4],[57,5],[258,6]]},"1136":{"position":[[2794,4],[2827,4],[5770,4],[5843,4]]},"1138":{"position":[[1313,4],[1369,4],[1629,4],[3210,5],[3228,5],[3306,7],[3408,7],[3466,6],[3521,5],[3553,5],[6456,4],[6489,4],[9432,4],[9505,4]]},"1140":{"position":[[502,5],[777,4],[1118,4],[2699,5],[2717,5],[2795,7],[2897,7],[2955,6],[3010,5],[3042,5],[5382,4],[5415,4],[8358,4],[8431,4]]},"1142":{"position":[[17,5],[826,4],[859,4],[3802,4],[3875,4]]},"1146":{"position":[[226,5],[348,4],[766,4],[799,4],[3742,4],[3815,4]]},"1148":{"position":[[3806,4],[3839,4],[6782,4],[6855,4],[7180,4],[7307,5]]},"1150":{"position":[[247,5],[372,5]]},"1155":{"position":[[331,5],[388,5],[459,5],[862,4],[895,4],[3838,4],[3911,4]]},"1156":{"position":[[289,5],[440,4],[473,4],[3416,4],[3489,4]]},"1161":{"position":[[456,4]]},"1163":{"position":[[207,6],[376,4],[449,4]]},"1165":{"position":[[205,4],[278,4]]},"1167":{"position":[[2122,4],[3703,5],[3721,5],[3799,7],[3901,7],[3959,6],[4014,5],[4046,5],[6386,4],[6419,4],[9362,4],[9435,4]]},"1169":{"position":[[33,5],[225,4],[258,4],[2470,4],[2543,4]]},"1172":{"position":[[920,4],[990,4]]},"1173":{"position":[[220,4],[290,4]]},"1174":{"position":[[124,4],[194,4]]},"1175":{"position":[[144,4],[214,4]]},"1176":{"position":[[228,4],[298,4]]},"1177":{"position":[[140,4],[210,4]]},"1178":{"position":[[139,4],[294,4],[364,4],[672,4]]},"1179":{"position":[[160,4],[230,4],[598,4]]},"1180":{"position":[[490,4],[560,4]]},"1181":{"position":[[203,4],[315,4]]},"1182":{"position":[[182,4],[252,4]]},"1183":{"position":[[137,4],[207,4]]},"1185":{"position":[[136,4]]},"1186":{"position":[[327,4],[355,4],[2030,4],[2063,4],[5006,4],[5079,4]]},"1187":{"position":[[15,4],[340,4],[368,4],[2043,4],[2076,4],[5019,4],[5092,4]]},"1188":{"position":[[555,5],[830,4],[1171,4],[2752,5],[2770,5],[2848,7],[2950,7],[3008,6],[3063,5],[3095,5],[5066,4],[5094,4],[6769,4],[6802,4],[9745,4],[9818,4]]},"1190":{"position":[[508,4],[985,5],[1013,5],[1444,4]]},"1191":{"position":[[630,4],[663,4],[3606,4],[3679,4]]},"1192":{"position":[[805,4],[838,4],[3781,4],[3854,4]]},"1193":{"position":[[857,4],[890,4],[3833,4],[3906,4]]},"1194":{"position":[[497,4],[530,4],[3473,4],[3546,4]]},"1195":{"position":[[11,4],[148,5],[475,4],[508,4],[3451,4],[3524,4]]},"1196":{"position":[[285,4],[318,4],[3261,4],[3334,4]]},"1197":{"position":[[1268,4],[1301,4],[4244,4],[4317,4]]},"1198":{"position":[[1278,4],[1311,4],[4254,4],[4327,4]]},"1199":{"position":[[1306,4],[1339,4],[4282,4],[4355,4]]},"1200":{"position":[[1173,4],[1206,4],[4149,4],[4222,4]]},"1201":{"position":[[433,4],[466,4],[3409,4],[3482,4]]},"1202":{"position":[[223,4],[1575,4],[1608,4],[4551,4],[4624,4],[5602,4],[5972,4],[6005,4],[8948,4],[9021,4]]},"1203":{"position":[[22,5],[73,5],[182,5],[667,4],[700,4],[3643,4],[3716,4]]},"1204":{"position":[[511,4],[544,4],[3487,4],[3560,4]]},"1205":{"position":[[1840,4],[1873,4],[4816,4],[4889,4]]},"1206":{"position":[[73,4],[311,4],[344,4],[3287,4],[3360,4]]},"1207":{"position":[[107,6],[468,4],[501,4],[3444,4],[3517,4]]},"1209":{"position":[[1816,4],[1849,4],[4792,4],[4865,4]]},"1217":{"position":[[380,4],[434,4],[863,4],[2444,5],[2462,5],[2540,7],[2642,7],[2700,6],[2755,5],[2787,5],[5127,4],[5160,4],[8103,4],[8176,4]]},"1219":{"position":[[1113,4],[1146,4],[3358,4],[3431,4]]},"1222":{"position":[[237,4],[270,4],[3213,4],[3286,4]]},"1223":{"position":[[247,4],[280,4],[3223,4],[3296,4]]},"1224":{"position":[[427,4],[460,4],[2672,4],[2745,4]]},"1226":{"position":[[547,4],[692,5],[796,6],[853,5],[1137,4],[1215,4],[4866,4],[4924,4],[5595,4],[5628,4],[8571,4],[8644,4]]},"1228":{"position":[[2170,4],[2698,4],[2944,4],[4525,5],[4543,5],[4621,7],[4723,7],[4781,6],[4836,5],[4868,5],[7208,4],[7241,4],[10184,4],[10257,4]]},"1235":{"position":[[136,6],[3076,4],[3109,4],[6052,4],[6125,4]]},"1237":{"position":[[717,4],[862,5],[966,6],[1023,5],[1307,4],[1385,4],[5036,4],[5094,4],[5765,4],[5798,4],[8741,4],[8814,4]]},"1243":{"position":[[290,6],[482,4]]},"1245":{"position":[[428,5]]},"1247":{"position":[[95,5],[170,5],[263,5],[562,6],[583,4]]},"1248":{"position":[[49,5],[100,5]]},"1249":{"position":[[119,6]]},"1250":{"position":[[63,4]]},"1252":{"position":[[83,4]]},"1256":{"position":[[86,6]]},"1258":{"position":[[522,4],[606,4],[686,5],[743,4],[769,4],[932,5]]},"1259":{"position":[[615,4],[640,4],[821,4],[1269,4],[1399,4]]},"1260":{"position":[[768,4]]},"1269":{"position":[[89,5]]},"1272":{"position":[[105,5],[179,5]]},"1273":{"position":[[145,4],[338,4],[439,4],[538,4]]},"1289":{"position":[[522,4],[606,4],[686,5],[743,4],[769,4],[932,5]]},"1290":{"position":[[615,4],[640,4],[821,4],[1269,4],[1399,4]]},"1291":{"position":[[768,4]]},"1300":{"position":[[89,5]]},"1303":{"position":[[105,5],[179,5]]},"1304":{"position":[[145,4],[338,4],[439,4],[538,4]]},"1317":{"position":[[522,4],[606,4],[686,5],[743,4],[769,4],[932,5]]},"1318":{"position":[[615,4],[640,4],[821,4],[1269,4],[1399,4]]},"1319":{"position":[[768,4]]},"1328":{"position":[[89,5]]},"1331":{"position":[[105,5],[179,5]]},"1332":{"position":[[145,4],[338,4],[439,4],[538,4]]},"1348":{"position":[[3705,5],[3729,5],[3875,4],[4187,4],[4257,4]]},"1351":{"position":[[1962,5],[2243,5],[2349,4],[2518,4],[2625,5],[2731,4],[2909,5],[4030,5],[4516,4]]},"1353":{"position":[[3272,4]]},"1355":{"position":[[2206,5],[2328,4],[2370,5],[4985,4],[6338,5],[6381,6],[6394,5],[6567,5],[6645,5],[7382,5]]},"1356":{"position":[[1691,5],[1776,5],[1846,4],[3011,4]]},"1358":{"position":[[963,4],[2022,5],[2168,5],[2211,4],[2240,5],[2370,4],[2703,5],[2736,5],[2750,5]]},"1359":{"position":[[2040,4],[2114,4],[2220,4]]},"1360":{"position":[[3125,5],[3642,4],[3968,4],[4165,6],[4269,4],[5054,4],[5278,5],[5327,5],[5463,5],[5529,5],[5643,4],[5908,4]]},"1362":{"position":[[4841,5],[5200,6],[6584,4],[6721,5],[6779,5],[6907,5],[6955,6],[7032,5],[7154,4],[7379,5],[7534,5],[7946,5],[7990,5],[8862,5],[8920,5],[8995,5],[9043,6],[9120,5],[9395,5],[9550,5],[11033,6],[12074,6],[12304,5],[12340,5],[12667,5],[12798,4],[12863,4],[12952,4],[13010,4],[13211,4]]},"1363":{"position":[[2992,6],[4854,4],[4908,4],[4962,4],[5228,4],[5365,4],[5441,4],[6050,4],[6188,4],[6614,4]]},"1364":{"position":[[4883,5],[5229,6],[6960,5],[7018,5],[7146,5],[7194,6],[7271,5],[7393,4],[7618,5],[7773,5],[8795,5],[8839,5],[9976,5],[10034,5],[10109,5],[10157,6],[10234,5],[10509,5],[10664,5],[12000,6],[12579,6],[12809,5],[12845,5],[13367,5],[13498,4],[13563,4],[13652,4],[13710,4],[13911,4]]},"1365":{"position":[[908,5]]},"1366":{"position":[[616,6],[908,5],[918,4],[2280,4],[2346,5],[2955,4],[3021,5],[3223,5],[3310,5]]},"1367":{"position":[[8034,5],[8078,5],[8950,5],[9008,5],[9083,5],[9131,6],[9208,5],[9483,5],[9638,5],[9824,4],[9878,4],[10144,4],[10281,4],[11982,6],[12212,5],[12248,5],[12575,5],[12706,4],[12771,4],[12860,4],[12918,4],[13119,4]]},"1373":{"position":[[2814,5],[4362,5],[4406,5],[4487,5],[4562,5],[4620,5],[4695,5],[4743,6],[5099,4],[5982,6],[6122,4],[7566,5],[7617,5],[8204,5],[8243,5],[8294,4],[8425,6]]},"1374":{"position":[[2162,5]]},"1381":{"position":[[736,5],[2447,5]]},"1382":{"position":[[3070,5],[5632,5],[5690,5],[5765,5],[5813,6],[6169,4],[7902,6],[8484,6],[8714,5],[8762,5],[8824,5],[9790,6],[10020,5],[10056,5],[10342,5],[10393,5],[11029,5],[11160,4],[11225,4],[11314,4],[11372,4],[11573,4],[11681,4]]},"1383":{"position":[[2710,5],[4808,5],[6287,4],[6315,4],[7162,4],[7330,5],[7466,5],[7532,5],[7646,4]]},"1384":{"position":[[4341,5],[4394,5],[6148,5],[6206,5],[6327,5],[6375,6],[6681,4],[7825,6],[8055,5],[8103,5],[8165,5],[9248,5],[9704,5],[9944,5],[10174,5],[10218,5],[10579,5],[10637,5],[10712,5],[10760,6],[11116,4],[11553,5],[12530,5],[13966,6],[14829,6],[15059,5],[15107,5],[15169,5],[16135,6],[16365,5],[16401,5],[17416,5],[17467,5],[18683,5],[18814,4],[18879,4],[18968,4],[19026,4],[19227,4],[21243,4],[21998,4]]},"1385":{"position":[[3144,4],[3545,5],[3603,5],[3678,5],[3726,6],[4082,4],[4713,6],[4943,5],[4991,5],[5053,5],[6016,6],[6246,5],[6282,5],[6607,5],[6738,4],[6803,4],[6892,4],[6950,4],[7151,4],[7249,5]]},"1386":{"position":[[613,4],[1688,4],[1737,4],[2006,4],[3235,6],[3999,4]]},"1387":{"position":[[5266,5],[5878,5],[5936,5],[6011,5],[6059,6],[6415,4],[8086,6],[8316,5],[8364,5],[8426,5],[9389,6],[9619,5],[9655,5],[9980,5],[10111,4],[10176,4],[10265,4],[10323,4],[10524,4],[10625,5]]},"1388":{"position":[[6501,5],[6559,5],[6634,5],[6682,6],[7038,4],[8835,5],[8886,5],[9522,5],[9653,4],[9718,4],[9807,4],[9865,4],[10066,4]]},"1389":{"position":[[5332,5],[5579,5]]},"1390":{"position":[[645,5],[1831,5],[1918,4],[2023,4]]},"1391":{"position":[[615,6],[1646,5],[1733,4],[1818,4]]},"1392":{"position":[[654,5],[2101,5],[2188,4],[2513,5]]},"1393":{"position":[[2278,5],[2298,4],[2359,4],[2899,4],[3243,5],[3340,6],[3516,4],[3719,4],[4158,4],[4279,6],[4839,4],[4871,4],[5188,5],[5837,4],[6101,5],[6193,6],[6273,6],[7038,5],[7333,5],[7807,5],[7825,6],[7938,5],[7987,5],[8018,5],[8041,5],[8072,6],[8448,5],[8777,4],[8879,4],[9297,5],[9708,5]]},"1395":{"position":[[1813,5],[2355,5],[2413,5],[2907,6],[3011,5]]},"1397":{"position":[[2407,5],[2525,5],[2817,5],[3038,4],[3185,4]]},"1398":{"position":[[2474,5],[3001,4],[3280,5],[4279,5],[4644,4],[5639,5],[5990,5],[6123,5],[6283,5]]},"1399":{"position":[[577,4],[1491,5],[1651,4],[1874,4],[1980,4],[2310,4],[2574,4]]},"1401":{"position":[[571,6],[1442,5],[1482,5],[1722,5]]},"1402":{"position":[[710,5],[727,6],[1608,4],[1665,5],[1687,4],[1951,5],[2062,4]]},"1403":{"position":[[1247,5],[1307,4],[2540,5],[3057,4],[3383,4],[3580,6],[3684,4],[5211,4],[6430,5],[6566,5],[6632,5],[6746,4]]},"1405":{"position":[[1163,5],[1191,5],[3306,6],[3446,4],[3625,5],[3664,5],[3712,5],[3792,5]]},"1406":{"position":[[1350,4],[1384,5],[1423,5],[1471,5],[1551,5]]},"1407":{"position":[[1192,5],[3727,6],[3867,4],[4040,5],[4146,5],[4244,5],[4283,5],[4331,5],[4411,5],[4889,4]]},"1408":{"position":[[971,5],[2346,6],[2486,4],[2623,5],[2662,5],[2710,5],[2790,5]]},"1410":{"position":[[1647,5],[4648,6],[4714,6],[4854,4],[5035,5],[5074,5],[5122,5],[5202,5],[5572,5],[5658,6]]},"1412":{"position":[[1483,5],[1582,6],[1648,4],[1690,5],[3409,5],[3498,5],[3724,5],[3842,5],[4042,5],[4132,5]]},"1421":{"position":[[1047,6],[2439,7]]},"1422":{"position":[[1862,4],[2620,5],[3226,4]]},"1423":{"position":[[665,5],[765,6],[1824,4]]},"1426":{"position":[[932,4],[960,5],[1929,5],[1975,5],[2138,5],[2211,5],[2388,5],[2448,5],[2568,4],[2594,5],[2942,5],[3000,4]]},"1427":{"position":[[1718,5],[1812,4],[1854,6],[1883,5],[5511,5],[5553,6],[5566,5],[5766,5],[5844,5],[6581,5],[6627,5],[6691,4],[7137,5],[7318,5],[7422,4]]},"1429":{"position":[[2547,5],[5017,5],[5141,5],[5252,5]]},"1438":{"position":[[1584,4],[2018,4]]},"1439":{"position":[[2002,5],[2098,4],[2140,6],[2169,5],[7420,5],[7462,6],[7475,5],[7675,5],[7717,5],[7763,5],[7827,4],[7965,5],[8144,5],[8248,4]]},"1440":{"position":[[2735,5],[5011,5],[5135,5],[5246,5]]},"1442":{"position":[[2402,5],[2533,4],[2598,4],[2687,4],[2745,4],[2946,4]]},"1444":{"position":[[1771,4],[1891,5],[1979,5],[2164,4]]},"1446":{"position":[[615,6],[658,4],[2273,5],[2344,5],[2695,5]]},"1448":{"position":[[1038,5],[2543,5],[2625,6]]},"1449":{"position":[[972,5],[2477,5],[2559,6]]},"1453":{"position":[[947,5]]},"1454":{"position":[[3295,5],[4852,5],[4910,5],[5031,5],[5079,6],[5385,4],[6224,6],[6454,5],[6502,5],[6564,5],[7036,5]]},"1457":{"position":[[658,5]]},"1458":{"position":[[947,4],[1119,5],[2284,5],[2334,4],[2363,5]]},"1459":{"position":[[658,6]]},"1461":{"position":[[1920,5],[2941,5]]},"1462":{"position":[[6842,4],[8928,5]]},"1465":{"position":[[1448,5],[2420,5],[3163,6],[3365,6],[3574,6],[3774,6],[4103,5],[4268,5],[4287,6],[4341,5],[4518,5],[4610,4],[4650,5]]},"1467":{"position":[[5003,5],[5985,5],[6142,5],[9432,6],[9634,6],[10296,5],[10682,5],[10791,6],[10890,4],[11127,4]]},"1469":{"position":[[672,5],[1933,5],[1983,5]]},"1470":{"position":[[3316,5],[4583,4]]},"1471":{"position":[[1731,5],[3068,4],[4006,5],[4087,6],[4189,4],[4475,4],[5070,5],[5123,5]]},"1472":{"position":[[1690,5],[2787,4],[4590,5],[4671,6],[4773,4],[5059,4],[5956,5],[6009,5]]},"1473":{"position":[[1986,5],[3102,4],[4327,5],[4408,6],[4510,4],[4796,4],[5520,5],[5573,5]]},"1477":{"position":[[1844,6],[1875,4],[1940,5],[2044,6],[2649,4],[2811,4]]},"1478":{"position":[[2550,6],[2581,4]]},"1485":{"position":[[727,4],[768,6],[1913,5],[1971,5],[2046,5],[2094,6],[2450,4],[2748,6],[2978,5],[3026,5],[3088,5],[3207,5],[3258,5],[3893,5],[4024,4],[4089,4],[4178,4],[4236,4],[4437,4],[4472,5],[4501,5],[4550,5],[4695,5],[4816,4],[4852,5]]},"1486":{"position":[[4442,4],[4569,5]]},"1487":{"position":[[679,5],[1683,5],[2116,4],[2228,4],[2314,5],[2483,4],[2509,4],[2599,4],[2635,5],[2684,5],[2713,5],[2796,6],[2971,5],[3045,5],[3140,5],[3724,4],[3796,6],[3877,7]]}},"keywords":{}}],["file'",{"_index":3401,"title":{"1248":{"position":[[22,6]]}},"content":{"680":{"position":[[327,6]]},"1422":{"position":[[3318,6]]}},"keywords":{}}],["file(",{"_index":1785,"title":{},"content":{"327":{"position":[[311,7]]},"468":{"position":[[192,7]]}},"keywords":{}}],["file)"",{"_index":7922,"title":{},"content":{"1422":{"position":[[4512,12]]},"1423":{"position":[[3506,12]]}},"keywords":{}}],["file)pretti",{"_index":1282,"title":{},"content":{"99":{"position":[[1289,11]]},"231":{"position":[[1289,11]]}},"keywords":{}}],["file*>",{"_index":2705,"title":{},"content":{"584":{"position":[[832,9],[1128,9]]}},"keywords":{}}],["file.aidl_src",{"_index":7667,"title":{},"content":{"1402":{"position":[[1635,15]]}},"keywords":{}}],["file.compiler_flag",{"_index":7297,"title":{},"content":{"1387":{"position":[[5423,20]]}},"keywords":{}}],["file.deduplicate_merged_link_root",{"_index":8319,"title":{},"content":{"1462":{"position":[[5647,35]]}},"keywords":{}}],["file.dep",{"_index":8233,"title":{},"content":{"1458":{"position":[[2084,10]]},"1465":{"position":[[2577,10]]}},"keywords":{}}],["file.execut",{"_index":8376,"title":{},"content":{"1469":{"position":[[1956,15]]}},"keywords":{}}],["file.fail",{"_index":8610,"title":{},"content":{"1487":{"position":[[2029,10]]}},"keywords":{}}],["file.http_head",{"_index":6311,"title":{},"content":{"1345":{"position":[[820,17]]}},"keywords":{}}],["file.instance_nam",{"_index":6312,"title":{},"content":{"1345":{"position":[[1115,18]]}},"keywords":{}}],["file.javadoc_url",{"_index":6616,"title":{},"content":{"1358":{"position":[[2116,17]]}},"keywords":{}}],["file.main_funct",{"_index":8325,"title":{},"content":{"1462":{"position":[[6967,19]]}},"keywords":{}}],["file.manifest_skeleton",{"_index":6394,"title":{},"content":{"1348":{"position":[[4141,23]]}},"keywords":{}}],["file.tls_client_cert",{"_index":6309,"title":{},"content":{"1345":{"position":[[543,20]]}},"keywords":{}}],["file:///opt/android",{"_index":6629,"title":{},"content":{"1358":{"position":[[3046,20]]}},"keywords":{}}],["file:consult/1",{"_index":7480,"title":{},"content":{"1393":{"position":[[5865,15]]}},"keywords":{}}],["file=result.dot",{"_index":6274,"title":{},"content":{"1260":{"position":[[922,15]]},"1291":{"position":[[922,15]]},"1319":{"position":[[922,15]]}},"keywords":{}}],["file_nod",{"_index":1604,"title":{},"content":{"291":{"position":[[46,10]]},"315":{"position":[[212,10]]},"316":{"position":[[232,10]]},"317":{"position":[[235,10]]},"318":{"position":[[374,10]]},"498":{"position":[[23,11]]}},"keywords":{}}],["file_set",{"_index":1784,"title":{"413":{"position":[[0,9]]},"498":{"position":[[0,8]]},"792":{"position":[[0,9]]}},"content":{"327":{"position":[[286,8]]},"331":{"position":[[283,8]]},"334":{"position":[[36,8]]},"402":{"position":[[944,8]]},"413":{"position":[[4,10],[21,8],[126,10]]},"468":{"position":[[167,8]]},"472":{"position":[[164,8]]},"474":{"position":[[36,8]]},"477":{"position":[[51,8]]},"498":{"position":[[0,8]]},"781":{"position":[[944,8]]},"792":{"position":[[4,10],[21,8],[126,10]]}},"keywords":{}}],["filecxx",{"_index":2711,"title":{},"content":{"584":{"position":[[1357,7]]}},"keywords":{}}],["filefutur",{"_index":2714,"title":{},"content":{"584":{"position":[[1483,10]]}},"keywords":{}}],["filegroup",{"_index":4958,"title":{"1401":{"position":[[0,10]]}},"content":{"993":{"position":[[237,10]]},"1393":{"position":[[7095,10]]},"1401":{"position":[[4,10],[1613,11],[1767,10]]}},"keywords":{}}],["filenam",{"_index":1074,"title":{},"content":{"88":{"position":[[182,8]]},"89":{"position":[[41,9],[527,8]]},"91":{"position":[[273,9]]},"95":{"position":[[199,8]]},"220":{"position":[[182,8]]},"221":{"position":[[41,9],[527,8]]},"223":{"position":[[273,9]]},"227":{"position":[[199,8]]},"865":{"position":[[647,8]]},"1061":{"position":[[462,10]]},"1362":{"position":[[7356,8],[9372,8]]},"1364":{"position":[[7595,8],[10486,8]]},"1367":{"position":[[9460,8]]},"1373":{"position":[[5076,8]]},"1382":{"position":[[6146,8]]},"1384":{"position":[[6658,8],[11093,8]]},"1385":{"position":[[4059,8]]},"1387":{"position":[[6392,8]]},"1388":{"position":[[7015,8]]},"1395":{"position":[[2569,9],[3150,8],[3568,8]]},"1454":{"position":[[5362,8]]},"1485":{"position":[[2427,8]]}},"keywords":{}}],["filenod",{"_index":2113,"title":{},"content":{"402":{"position":[[273,8]]},"781":{"position":[[273,8]]}},"keywords":{}}],["filepath",{"_index":6086,"title":{},"content":{"1228":{"position":[[2136,9],[2664,9]]},"1360":{"position":[[3875,9],[3943,8],[3996,8]]},"1403":{"position":[[3290,9],[3358,8],[3411,8]]},"1422":{"position":[[2994,9]]}},"keywords":{}}],["filepath_length_limit",{"_index":7365,"title":{},"content":{"1389":{"position":[[2248,24]]}},"keywords":{}}],["filerun",{"_index":4085,"title":{},"content":{"873":{"position":[[412,7],[473,7]]}},"keywords":{}}],["files.linker_flag",{"_index":7054,"title":{},"content":{"1373":{"position":[[5549,19]]},"1387":{"position":[[7227,19]]}},"keywords":{}}],["filesinput",{"_index":4072,"title":{},"content":{"872":{"position":[[299,11]]}},"keywords":{}}],["filestoenforc",{"_index":4492,"title":{},"content":{"919":{"position":[[869,14]]}},"keywords":{}}],["filesystem",{"_index":1680,"title":{},"content":{"303":{"position":[[89,10]]},"315":{"position":[[141,11]]},"402":{"position":[[290,10]]},"781":{"position":[[290,10]]},"872":{"position":[[816,10]]},"1136":{"position":[[3965,10]]},"1138":{"position":[[7627,10]]},"1140":{"position":[[6553,10]]},"1142":{"position":[[1997,10]]},"1146":{"position":[[1937,10]]},"1148":{"position":[[4977,10]]},"1155":{"position":[[2033,10]]},"1156":{"position":[[1611,10]]},"1167":{"position":[[7557,10]]},"1169":{"position":[[1396,10]]},"1186":{"position":[[3201,10]]},"1187":{"position":[[3214,10]]},"1188":{"position":[[7940,10]]},"1191":{"position":[[1801,10]]},"1192":{"position":[[1976,10]]},"1193":{"position":[[2028,10]]},"1194":{"position":[[1668,10]]},"1195":{"position":[[1646,10]]},"1196":{"position":[[1456,10]]},"1197":{"position":[[2439,10]]},"1198":{"position":[[2449,10]]},"1199":{"position":[[2477,10]]},"1200":{"position":[[2344,10]]},"1201":{"position":[[1604,10]]},"1202":{"position":[[2746,10],[7143,10]]},"1203":{"position":[[1838,10]]},"1204":{"position":[[1682,10]]},"1205":{"position":[[3011,10]]},"1206":{"position":[[1482,10]]},"1207":{"position":[[1639,10]]},"1209":{"position":[[2987,10]]},"1217":{"position":[[6298,10]]},"1219":{"position":[[2284,10]]},"1222":{"position":[[1408,10]]},"1223":{"position":[[1418,10]]},"1224":{"position":[[1598,10]]},"1226":{"position":[[6766,10]]},"1228":{"position":[[8379,10]]},"1235":{"position":[[4247,10]]},"1237":{"position":[[6936,10]]}},"keywords":{}}],["filesystemeden",{"_index":761,"title":{},"content":{"23":{"position":[[2680,14]]}},"keywords":{}}],["files—and",{"_index":7790,"title":{},"content":{"1410":{"position":[[1620,9]]}},"keywords":{}}],["fileutil",{"_index":7212,"title":{},"content":{"1384":{"position":[[21353,11]]},"1420":{"position":[[2712,11]]},"1444":{"position":[[2005,11]]},"1465":{"position":[[4370,11]]},"1467":{"position":[[10989,12],[11207,11]]}},"keywords":{}}],["fileutil.cpp",{"_index":7213,"title":{},"content":{"1384":{"position":[[21374,15]]}},"keywords":{}}],["fileutil.h",{"_index":7214,"title":{},"content":{"1384":{"position":[[21414,13]]},"1420":{"position":[[2733,14]]}},"keywords":{}}],["fileutil.lua",{"_index":8091,"title":{},"content":{"1444":{"position":[[2024,17]]}},"keywords":{}}],["fileutil.pi",{"_index":8358,"title":{},"content":{"1465":{"position":[[4389,16]]}},"keywords":{}}],["fileutil_test",{"_index":8369,"title":{},"content":{"1467":{"position":[[10933,16]]}},"keywords":{}}],["fileutil_tests.pi",{"_index":8370,"title":{},"content":{"1467":{"position":[[10957,22]]}},"keywords":{}}],["file—irrespect",{"_index":2668,"title":{},"content":{"581":{"position":[[542,17]]}},"keywords":{}}],["fill",{"_index":3784,"title":{},"content":{"715":{"position":[[976,4]]},"1112":{"position":[[724,6]]},"1138":{"position":[[2022,5],[2043,4]]},"1140":{"position":[[1511,5],[1532,4]]},"1167":{"position":[[2515,5],[2536,4]]},"1188":{"position":[[1564,5],[1585,4]]},"1217":{"position":[[1256,5],[1277,4]]},"1228":{"position":[[3337,5],[3358,4]]},"1393":{"position":[[2572,4]]},"1398":{"position":[[2663,6]]}},"keywords":{}}],["filter",{"_index":1473,"title":{"643":{"position":[[0,7]]}},"content":{"238":{"position":[[462,10]]},"239":{"position":[[401,7]]},"325":{"position":[[362,10]]},"326":{"position":[[377,9],[445,8]]},"328":{"position":[[301,7]]},"330":{"position":[[311,6],[328,9]]},"332":{"position":[[324,9]]},"333":{"position":[[364,10],[417,7]]},"466":{"position":[[243,10]]},"467":{"position":[[258,9],[326,8]]},"469":{"position":[[182,7]]},"471":{"position":[[192,6],[209,9]]},"473":{"position":[[205,9]]},"643":{"position":[[4,7]]},"872":{"position":[[103,9],[673,6]]},"1172":{"position":[[1404,6],[1466,6]]},"1173":{"position":[[704,6],[766,6]]},"1228":{"position":[[919,8]]},"1259":{"position":[[308,7],[839,6],[1554,6],[1652,6],[1748,6],[1853,6],[1954,6]]},"1262":{"position":[[93,7]]},"1269":{"position":[[0,6]]},"1277":{"position":[[2,6]]},"1278":{"position":[[2,6]]},"1279":{"position":[[2,6]]},"1280":{"position":[[2,6]]},"1281":{"position":[[2,6]]},"1290":{"position":[[308,7],[839,6],[1554,6],[1652,6],[1748,6],[1853,6],[1954,6]]},"1293":{"position":[[93,7]]},"1300":{"position":[[0,6]]},"1308":{"position":[[2,6]]},"1309":{"position":[[2,6]]},"1310":{"position":[[2,6]]},"1311":{"position":[[2,6]]},"1312":{"position":[[2,6]]},"1318":{"position":[[308,7],[839,6],[1554,6],[1652,6],[1748,6],[1853,6],[1954,6]]},"1321":{"position":[[93,7]]},"1328":{"position":[[0,6]]},"1336":{"position":[[2,6]]},"1337":{"position":[[2,6]]},"1338":{"position":[[2,6]]},"1339":{"position":[[2,6]]},"1340":{"position":[[2,6]]},"1354":{"position":[[2738,6]]},"1356":{"position":[[1736,8]]},"1367":{"position":[[10553,6]]},"1383":{"position":[[3414,6],[3752,6],[4068,6]]},"1392":{"position":[[2008,6]]},"1410":{"position":[[3492,6]]},"1429":{"position":[[4784,6]]},"1440":{"position":[[4866,6]]}},"keywords":{}}],["filter>",{"_index":6597,"title":{},"content":{"1356":{"position":[[2719,10],[2886,10]]}},"keywords":{}}],["filter(bool",{"_index":3165,"title":{},"content":{"643":{"position":[[247,12]]}},"keywords":{}}],["filter(lambda",{"_index":3166,"title":{},"content":{"643":{"position":[[294,13]]}},"keywords":{}}],["filter(non",{"_index":3167,"title":{},"content":{"643":{"position":[[345,12]]}},"keywords":{}}],["filter(regex",{"_index":6246,"title":{"1269":{"position":[[0,13]]},"1300":{"position":[[0,13]]},"1328":{"position":[[0,13]]}},"content":{"1259":{"position":[[784,13]]},"1290":{"position":[[784,13]]},"1318":{"position":[[784,13]]}},"keywords":{}}],["filter(target",{"_index":4782,"title":{},"content":{"962":{"position":[[309,15]]}},"keywords":{}}],["filterremote_output_path",{"_index":1920,"title":{},"content":{"362":{"position":[[2665,26]]},"741":{"position":[[2665,26]]}},"keywords":{}}],["final",{"_index":568,"title":{"931":{"position":[[0,8]]}},"content":{"18":{"position":[[845,5]]},"617":{"position":[[424,5]]},"675":{"position":[[882,8],[898,5]]},"678":{"position":[[243,5]]},"687":{"position":[[0,8]]},"693":{"position":[[1709,5],[9261,5]]},"708":{"position":[[1009,8]]},"715":{"position":[[1906,5]]},"725":{"position":[[80,5]]},"900":{"position":[[1891,8]]},"943":{"position":[[1872,5]]},"946":{"position":[[97,5]]},"950":{"position":[[148,10],[387,10]]},"951":{"position":[[1272,8]]},"966":{"position":[[469,5]]},"1012":{"position":[[112,5]]},"1031":{"position":[[683,8]]},"1114":{"position":[[660,8]]},"1138":{"position":[[748,5]]},"1140":{"position":[[374,5]]},"1188":{"position":[[427,5]]},"1255":{"position":[[0,8]]},"1348":{"position":[[3718,5],[4013,5],[4213,5]]},"1361":{"position":[[950,5]]},"1366":{"position":[[2021,5]]},"1380":{"position":[[840,5]]},"1383":{"position":[[5778,8]]},"1385":{"position":[[3042,5]]},"1386":{"position":[[4840,5]]},"1387":{"position":[[5309,5]]},"1399":{"position":[[2518,8]]},"1426":{"position":[[1955,5]]},"1444":{"position":[[1669,5]]},"1462":{"position":[[5543,5]]},"1465":{"position":[[2463,5]]},"1467":{"position":[[6028,5]]}},"keywords":{}}],["find",{"_index":566,"title":{"893":{"position":[[0,7]]},"1129":{"position":[[9,4]]},"1133":{"position":[[9,4]]},"1134":{"position":[[9,4]]}},"content":{"18":{"position":[[818,4]]},"239":{"position":[[466,7]]},"327":{"position":[[296,4]]},"328":{"position":[[366,7]]},"331":{"position":[[314,7]]},"334":{"position":[[382,7]]},"335":{"position":[[574,7]]},"468":{"position":[[177,4]]},"469":{"position":[[247,7]]},"472":{"position":[[195,7]]},"474":{"position":[[121,7]]},"475":{"position":[[336,7]]},"566":{"position":[[169,5]]},"594":{"position":[[108,4]]},"611":{"position":[[110,4]]},"612":{"position":[[112,4]]},"873":{"position":[[264,4]]},"895":{"position":[[527,4]]},"911":{"position":[[73,4]]},"955":{"position":[[56,4]]},"1060":{"position":[[258,4]]},"1091":{"position":[[146,4]]},"1127":{"position":[[566,4]]},"1133":{"position":[[230,5],[701,4]]},"1134":{"position":[[12,4],[187,5]]},"1172":{"position":[[759,4]]},"1211":{"position":[[0,4],[276,5]]},"1228":{"position":[[2340,4]]},"1240":{"position":[[3,4]]},"1258":{"position":[[1199,4]]},"1289":{"position":[[1199,4]]},"1317":{"position":[[1199,4]]},"1393":{"position":[[3216,4]]}},"keywords":{}}],["fine",{"_index":3653,"title":{},"content":{"706":{"position":[[111,4]]},"1136":{"position":[[6391,4]]},"1138":{"position":[[10053,4]]},"1140":{"position":[[8979,4]]},"1142":{"position":[[4423,4]]},"1144":{"position":[[751,4]]},"1146":{"position":[[4363,4]]},"1148":{"position":[[7954,4]]},"1150":{"position":[[986,4]]},"1152":{"position":[[684,4]]},"1154":{"position":[[839,4]]},"1155":{"position":[[4459,4]]},"1156":{"position":[[4037,4]]},"1157":{"position":[[622,4]]},"1158":{"position":[[616,4]]},"1159":{"position":[[616,4]]},"1161":{"position":[[1611,4]]},"1163":{"position":[[997,4]]},"1165":{"position":[[826,4]]},"1167":{"position":[[9983,4]]},"1169":{"position":[[3091,4]]},"1171":{"position":[[1332,4]]},"1172":{"position":[[2717,4]]},"1173":{"position":[[1404,4]]},"1174":{"position":[[832,4]]},"1175":{"position":[[828,4]]},"1176":{"position":[[997,4]]},"1177":{"position":[[918,4]]},"1178":{"position":[[1235,4]]},"1179":{"position":[[1032,4]]},"1180":{"position":[[1303,4]]},"1181":{"position":[[1823,4]]},"1182":{"position":[[866,4]]},"1183":{"position":[[821,4]]},"1185":{"position":[[666,4]]},"1186":{"position":[[5627,4]]},"1187":{"position":[[5640,4]]},"1188":{"position":[[10366,4]]},"1190":{"position":[[1997,4]]},"1191":{"position":[[4227,4]]},"1192":{"position":[[4402,4]]},"1193":{"position":[[4454,4]]},"1194":{"position":[[4094,4]]},"1195":{"position":[[4072,4]]},"1196":{"position":[[3882,4]]},"1197":{"position":[[4865,4]]},"1198":{"position":[[4875,4]]},"1199":{"position":[[4903,4]]},"1200":{"position":[[4770,4]]},"1201":{"position":[[4030,4]]},"1202":{"position":[[774,4],[5172,4],[9569,4]]},"1203":{"position":[[4264,4]]},"1204":{"position":[[4108,4],[5010,4],[5940,4],[6842,4],[7828,4],[8782,4],[9729,4],[10659,4]]},"1205":{"position":[[5437,4]]},"1206":{"position":[[4136,4]]},"1207":{"position":[[4065,4]]},"1209":{"position":[[5413,4]]},"1211":{"position":[[737,4]]},"1213":{"position":[[508,4]]},"1215":{"position":[[592,4]]},"1217":{"position":[[8724,4]]},"1219":{"position":[[3979,4]]},"1221":{"position":[[711,4]]},"1222":{"position":[[3850,4]]},"1223":{"position":[[3860,4]]},"1224":{"position":[[3293,4]]},"1226":{"position":[[9192,4]]},"1228":{"position":[[10805,4]]},"1235":{"position":[[6673,4]]},"1237":{"position":[[9362,4]]},"1422":{"position":[[2239,5]]}},"keywords":{}}],["finer",{"_index":852,"title":{},"content":{"41":{"position":[[330,5],[657,5]]},"174":{"position":[[330,5],[657,5]]},"832":{"position":[[909,5]]},"1029":{"position":[[40,5]]},"1112":{"position":[[4219,5],[4554,5]]}},"keywords":{}}],["fingerprint",{"_index":4838,"title":{},"content":{"977":{"position":[[83,14],[426,13]]}},"keywords":{}}],["finish",{"_index":797,"title":{},"content":{"24":{"position":[[930,9]]},"693":{"position":[[4795,8]]},"715":{"position":[[2031,9]]},"724":{"position":[[1497,8],[1748,8]]},"834":{"position":[[378,8]]},"898":{"position":[[1104,8]]},"1001":{"position":[[515,9]]},"1053":{"position":[[1440,8],[1488,9]]},"1064":{"position":[[613,9]]},"1126":{"position":[[965,9]]},"1172":{"position":[[2037,6],[2071,8]]},"1247":{"position":[[141,6]]},"1478":{"position":[[3464,8],[3540,8]]},"1486":{"position":[[4944,9]]}},"keywords":{}}],["finish.txt",{"_index":7190,"title":{},"content":{"1383":{"position":[[7988,11],[8003,10],[8027,12]]},"1403":{"position":[[7088,11],[7103,10],[7127,12]]}},"keywords":{}}],["finit",{"_index":3203,"title":{},"content":{"648":{"position":[[356,6]]}},"keywords":{}}],["fire",{"_index":5476,"title":{},"content":{"1067":{"position":[[523,4]]},"1126":{"position":[[185,6]]}},"keywords":{}}],["first",{"_index":322,"title":{"17":{"position":[[15,5]]},"18":{"position":[[14,5]]},"682":{"position":[[39,6]]}},"content":{"10":{"position":[[371,5]]},"13":{"position":[[239,6]]},"15":{"position":[[364,5]]},"17":{"position":[[263,6]]},"22":{"position":[[553,5],[604,5]]},"23":{"position":[[393,5]]},"92":{"position":[[392,5]]},"94":{"position":[[2995,5]]},"139":{"position":[[142,5]]},"224":{"position":[[392,5]]},"226":{"position":[[2995,5]]},"262":{"position":[[142,5]]},"443":{"position":[[212,5]]},"558":{"position":[[89,5],[151,5]]},"569":{"position":[[103,5]]},"589":{"position":[[92,5]]},"594":{"position":[[191,5]]},"596":{"position":[[222,5]]},"607":{"position":[[229,5]]},"663":{"position":[[229,5]]},"673":{"position":[[242,5],[267,5]]},"693":{"position":[[2691,5],[4804,5]]},"695":{"position":[[458,6]]},"705":{"position":[[404,6],[514,5]]},"706":{"position":[[1585,7],[1643,7]]},"718":{"position":[[0,6]]},"724":{"position":[[924,5],[1076,5],[1506,5]]},"822":{"position":[[212,5]]},"840":{"position":[[17,6]]},"867":{"position":[[4,5]]},"901":{"position":[[192,5]]},"937":{"position":[[1908,5],[3593,6]]},"943":{"position":[[928,5],[1078,6],[2388,6]]},"944":{"position":[[2104,5]]},"977":{"position":[[462,5]]},"988":{"position":[[234,6]]},"990":{"position":[[63,5]]},"1031":{"position":[[201,6]]},"1057":{"position":[[4,5]]},"1064":{"position":[[2083,5]]},"1079":{"position":[[775,5]]},"1081":{"position":[[0,6]]},"1088":{"position":[[316,5],[710,5]]},"1093":{"position":[[73,6]]},"1098":{"position":[[778,6]]},"1100":{"position":[[55,6]]},"1105":{"position":[[1676,6]]},"1124":{"position":[[4,5]]},"1126":{"position":[[232,5]]},"1133":{"position":[[283,5]]},"1134":{"position":[[181,5]]},"1136":{"position":[[4094,5]]},"1138":{"position":[[7756,5]]},"1140":{"position":[[6682,5]]},"1142":{"position":[[2126,5]]},"1146":{"position":[[2066,5]]},"1148":{"position":[[5106,5]]},"1155":{"position":[[2162,5]]},"1156":{"position":[[1740,5]]},"1167":{"position":[[7686,5]]},"1169":{"position":[[1525,5]]},"1186":{"position":[[3330,5]]},"1187":{"position":[[3343,5]]},"1188":{"position":[[8069,5]]},"1191":{"position":[[1930,5]]},"1192":{"position":[[2105,5]]},"1193":{"position":[[2157,5]]},"1194":{"position":[[1797,5]]},"1195":{"position":[[1775,5]]},"1196":{"position":[[1585,5]]},"1197":{"position":[[2568,5]]},"1198":{"position":[[236,5],[2578,5]]},"1199":{"position":[[2606,5]]},"1200":{"position":[[2473,5]]},"1201":{"position":[[1733,5]]},"1202":{"position":[[2875,5],[7272,5]]},"1203":{"position":[[1967,5]]},"1204":{"position":[[1811,5]]},"1205":{"position":[[3140,5]]},"1206":{"position":[[1611,5]]},"1207":{"position":[[1768,5]]},"1209":{"position":[[3116,5]]},"1217":{"position":[[6427,5]]},"1219":{"position":[[2413,5]]},"1222":{"position":[[1537,5]]},"1223":{"position":[[1547,5]]},"1224":{"position":[[1727,5]]},"1226":{"position":[[6895,5]]},"1228":{"position":[[584,5],[905,5],[8508,5]]},"1231":{"position":[[32,5]]},"1235":{"position":[[4376,5]]},"1237":{"position":[[7065,5]]},"1362":{"position":[[11327,5],[11683,5],[12136,5]]},"1364":{"position":[[8305,5],[12294,5],[12641,5]]},"1367":{"position":[[11697,5],[12044,5]]},"1373":{"position":[[6349,5],[6704,5],[7176,5]]},"1382":{"position":[[8196,5],[8546,5],[9024,5],[9497,5],[9852,5]]},"1384":{"position":[[7473,5],[7887,5],[8491,5],[9051,5],[14541,5],[14891,5],[15369,5],[15842,5],[16197,5]]},"1385":{"position":[[4426,5],[4775,5],[5252,5],[5724,5],[6078,5]]},"1386":{"position":[[5824,5]]},"1387":{"position":[[7799,5],[8148,5],[8625,5],[9097,5],[9451,5]]},"1415":{"position":[[4308,5],[4663,5]]},"1416":{"position":[[3164,5]]},"1420":{"position":[[2301,5]]},"1448":{"position":[[2247,5]]},"1449":{"position":[[2181,5]]},"1454":{"position":[[5873,5],[6286,5],[6839,5],[8009,5],[8321,5],[8641,5]]},"1455":{"position":[[2644,5]]},"1465":{"position":[[3225,5],[3636,5]]},"1467":{"position":[[9494,5]]},"1485":{"position":[[2810,5]]},"1486":{"position":[[3662,5],[4191,5],[4820,5]]}},"keywords":{}}],["first_order_dep",{"_index":6256,"title":{"1277":{"position":[[0,19]]},"1308":{"position":[[0,19]]},"1336":{"position":[[0,19]]}},"content":{"1259":{"position":[[1532,19]]},"1290":{"position":[[1532,19]]},"1318":{"position":[[1532,19]]}},"keywords":{}}],["first_order_deps())"",{"_index":5843,"title":{},"content":{"1133":{"position":[[108,25]]},"1277":{"position":[[270,27]]},"1308":{"position":[[270,27]]},"1336":{"position":[[270,27]]}},"keywords":{}}],["fit",{"_index":4494,"title":{},"content":{"919":{"position":[[1042,3]]},"950":{"position":[[890,4]]},"951":{"position":[[754,3]]},"1258":{"position":[[99,3]]},"1289":{"position":[[99,3]]},"1317":{"position":[[99,3]]}},"keywords":{}}],["five",{"_index":378,"title":{},"content":{"11":{"position":[[526,4]]}},"keywords":{}}],["fix",{"_index":181,"title":{},"content":{"9":{"position":[[292,5],[1888,6],[1991,5]]},"12":{"position":[[246,5]]},"16":{"position":[[99,3]]},"890":{"position":[[3878,5]]},"1022":{"position":[[386,5]]},"1104":{"position":[[2704,3]]},"1232":{"position":[[3511,4],[3661,3],[3743,4]]},"1254":{"position":[[382,3]]}},"keywords":{}}],["fixm",{"_index":4888,"title":{},"content":{"987":{"position":[[927,6]]}},"keywords":{}}],["flag",{"_index":525,"title":{},"content":{"17":{"position":[[1304,5]]},"94":{"position":[[1689,4],[3436,5],[3539,6],[3554,5]]},"126":{"position":[[434,5],[561,5]]},"226":{"position":[[1689,4],[3436,5],[3539,6],[3554,5]]},"242":{"position":[[354,4]]},"249":{"position":[[434,5],[561,5]]},"309":{"position":[[817,4]]},"577":{"position":[[282,5],[353,5],[380,5],[588,5],[666,5]]},"582":{"position":[[333,4],[377,4],[471,4]]},"704":{"position":[[496,6],[659,5],[1811,7]]},"715":{"position":[[1069,5]]},"865":{"position":[[104,4],[540,4]]},"872":{"position":[[913,6]]},"873":{"position":[[568,5]]},"907":{"position":[[260,4]]},"921":{"position":[[111,5]]},"937":{"position":[[328,6],[351,5],[525,6],[601,5],[2565,6],[3090,5],[3697,6]]},"942":{"position":[[850,5],[999,4],[1227,4],[1770,4]]},"945":{"position":[[36,4]]},"954":{"position":[[273,6]]},"1004":{"position":[[602,4]]},"1014":{"position":[[405,5]]},"1050":{"position":[[858,4]]},"1086":{"position":[[120,5]]},"1112":{"position":[[739,4]]},"1114":{"position":[[640,4]]},"1120":{"position":[[424,4]]},"1136":{"position":[[1096,4],[3226,4],[3404,4],[3427,4],[3474,4]]},"1138":{"position":[[4181,5],[4588,4],[4696,4],[5824,5],[6888,4],[7066,4],[7089,4],[7136,4]]},"1140":{"position":[[577,4],[3670,5],[4077,4],[4185,4],[5814,4],[5992,4],[6015,4],[6062,4]]},"1142":{"position":[[1258,4],[1436,4],[1459,4],[1506,4]]},"1146":{"position":[[1198,4],[1376,4],[1399,4],[1446,4]]},"1148":{"position":[[408,4],[1452,4],[3174,5],[4238,4],[4416,4],[4439,4],[4486,4]]},"1155":{"position":[[1294,4],[1472,4],[1495,4],[1542,4]]},"1156":{"position":[[872,4],[1050,4],[1073,4],[1120,4]]},"1167":{"position":[[4674,5],[5081,4],[5189,4],[6818,4],[6996,4],[7019,4],[7066,4]]},"1169":{"position":[[657,4],[835,4],[858,4],[905,4]]},"1186":{"position":[[1398,5],[2462,4],[2640,4],[2663,4],[2710,4]]},"1187":{"position":[[1411,5],[2475,4],[2653,4],[2676,4],[2723,4]]},"1188":{"position":[[630,4],[3723,5],[4130,4],[4238,4],[6137,5],[7201,4],[7379,4],[7402,4],[7449,4]]},"1191":{"position":[[1062,4],[1240,4],[1263,4],[1310,4]]},"1192":{"position":[[1237,4],[1415,4],[1438,4],[1485,4]]},"1193":{"position":[[1289,4],[1467,4],[1490,4],[1537,4]]},"1194":{"position":[[929,4],[1107,4],[1130,4],[1177,4]]},"1195":{"position":[[907,4],[1085,4],[1108,4],[1155,4]]},"1196":{"position":[[717,4],[895,4],[918,4],[965,4]]},"1197":{"position":[[636,5],[1700,4],[1878,4],[1901,4],[1948,4]]},"1198":{"position":[[646,5],[1710,4],[1888,4],[1911,4],[1958,4]]},"1199":{"position":[[674,5],[1738,4],[1916,4],[1939,4],[1986,4]]},"1200":{"position":[[541,5],[1605,4],[1783,4],[1806,4],[1853,4]]},"1201":{"position":[[865,4],[1043,4],[1066,4],[1113,4]]},"1202":{"position":[[2007,4],[2185,4],[2208,4],[2255,4],[6404,4],[6582,4],[6605,4],[6652,4]]},"1203":{"position":[[1099,4],[1277,4],[1300,4],[1347,4]]},"1204":{"position":[[943,4],[1121,4],[1144,4],[1191,4]]},"1205":{"position":[[576,4],[2272,4],[2450,4],[2473,4],[2520,4]]},"1206":{"position":[[743,4],[921,4],[944,4],[991,4]]},"1207":{"position":[[900,4],[1078,4],[1101,4],[1148,4]]},"1209":{"position":[[329,4],[2248,4],[2426,4],[2449,4],[2496,4]]},"1217":{"position":[[3415,5],[3822,4],[3930,4],[5559,4],[5737,4],[5760,4],[5807,4]]},"1219":{"position":[[1545,4],[1723,4],[1746,4],[1793,4]]},"1222":{"position":[[669,4],[847,4],[870,4],[917,4]]},"1223":{"position":[[679,4],[857,4],[880,4],[927,4]]},"1224":{"position":[[859,4],[1037,4],[1060,4],[1107,4]]},"1226":{"position":[[2269,4],[6027,4],[6205,4],[6228,4],[6275,4]]},"1228":{"position":[[294,4],[639,5],[2387,4],[5496,5],[5903,4],[6011,4],[7640,4],[7818,4],[7841,4],[7888,4]]},"1235":{"position":[[1589,4],[3508,4],[3686,4],[3709,4],[3756,4]]},"1237":{"position":[[142,5],[2439,4],[6197,4],[6375,4],[6398,4],[6445,4]]},"1239":{"position":[[115,5]]},"1362":{"position":[[6455,5],[7707,5],[11054,5],[11265,6],[11481,5],[11620,6],[11883,6],[11931,5],[12372,5],[12507,5],[13041,5],[13116,5],[13167,5],[13397,5]]},"1363":{"position":[[4800,5]]},"1364":{"position":[[6484,5],[7946,5],[8172,5],[8505,6],[8553,5],[12021,5],[12232,6],[12448,5],[12877,5],[13012,5],[13741,5],[13816,5],[13867,5],[14097,5]]},"1367":{"position":[[7882,5],[11424,5],[11635,6],[11851,5],[12280,5],[12415,5],[12949,5],[13024,5],[13075,5],[13305,5]]},"1373":{"position":[[4045,5],[4090,5],[4223,5],[4302,5],[5569,5],[6287,6],[6503,5],[6641,6],[6904,6],[6952,5],[7114,6],[7330,5],[7448,5],[8454,5]]},"1381":{"position":[[1670,5]]},"1382":{"position":[[4367,5],[7923,5],[8134,6],[8350,5],[8961,6],[9224,6],[9272,5],[9435,6],[9651,5],[10088,5],[10223,5],[11403,5],[11478,5],[11529,5]]},"1383":{"position":[[3623,6],[3967,6],[4255,6]]},"1384":{"position":[[4365,5],[5529,5],[6894,5],[7036,5],[7124,5],[8358,5],[8691,6],[8739,5],[8989,6],[9205,5],[9432,5],[9639,5],[9800,5],[11421,6],[11508,5],[11536,5],[11909,6],[12161,6],[12398,6],[12485,5],[12513,5],[13987,5],[14166,5],[14479,6],[14695,5],[15306,6],[15569,6],[15617,5],[15780,6],[15996,5],[16433,5],[16754,5],[19057,5],[19132,5],[19183,5],[21311,4]]},"1385":{"position":[[3173,5],[4154,5],[4364,6],[4580,5],[5189,6],[5452,6],[5500,5],[5662,6],[5878,5],[6314,5],[6448,5],[6981,5],[7056,5],[7107,5]]},"1386":{"position":[[2359,5],[2489,5],[2588,5],[4952,5],[5047,5],[5134,6],[5562,5]]},"1387":{"position":[[5444,5],[7247,5],[7425,5],[7737,6],[7953,5],[8562,6],[8825,6],[8873,5],[9035,6],[9251,5],[9687,5],[9821,5],[10354,5],[10429,5],[10480,5]]},"1388":{"position":[[5061,5],[8537,5],[8716,5],[9896,5],[9971,5],[10022,5]]},"1390":{"position":[[1693,5],[1779,4]]},"1395":{"position":[[2069,5],[2277,5]]},"1405":{"position":[[2181,5],[2429,5],[2598,5],[3224,5]]},"1407":{"position":[[1244,4],[2222,5],[2586,4],[2850,5],[3019,5],[3645,5]]},"1408":{"position":[[1891,5],[1967,5]]},"1410":{"position":[[2623,5],[2873,5],[3121,5],[4227,5]]},"1415":{"position":[[3772,5],[4036,5],[4246,6],[4462,5],[4600,6],[4863,6],[4911,5]]},"1416":{"position":[[2260,5]]},"1420":{"position":[[1942,5]]},"1421":{"position":[[2020,5],[2113,5]]},"1442":{"position":[[2776,5],[2851,5],[2902,5]]},"1446":{"position":[[441,6]]},"1448":{"position":[[1956,5]]},"1449":{"position":[[1890,5]]},"1454":{"position":[[3322,5],[5525,5],[6777,6],[6993,5],[7639,5]]},"1462":{"position":[[6457,5],[6557,5]]},"1467":{"position":[[7572,5],[7672,5]]},"1471":{"position":[[3953,5],[5017,5]]},"1472":{"position":[[3428,5],[4537,5],[5518,5]]},"1473":{"position":[[4274,5],[5467,5]]},"1485":{"position":[[4267,5],[4342,5],[4393,5]]}},"keywords":{}}],["flag.transit",{"_index":3544,"title":{},"content":{"693":{"position":[[3096,16]]}},"keywords":{}}],["flagfil",{"_index":2683,"title":{},"content":{"582":{"position":[[355,8]]},"583":{"position":[[426,9]]}},"keywords":{}}],["flagged_dep",{"_index":8415,"title":{},"content":{"1471":{"position":[[924,13]]},"1472":{"position":[[1021,13]]},"1473":{"position":[[955,13]]}},"keywords":{}}],["flags.delet",{"_index":4619,"title":{},"content":{"937":{"position":[[4742,12]]}},"keywords":{}}],["flagslink",{"_index":4070,"title":{},"content":{"872":{"position":[[263,11]]}},"keywords":{}}],["flagspath",{"_index":4071,"title":{},"content":{"872":{"position":[[275,10]]}},"keywords":{}}],["flagsus",{"_index":4086,"title":{},"content":{"873":{"position":[[536,8]]}},"keywords":{}}],["flame",{"_index":381,"title":{"1059":{"position":[[0,5]]}},"content":{"11":{"position":[[580,6]]},"1056":{"position":[[841,6],[897,5],[985,5],[1011,6]]},"1059":{"position":[[4,5],[154,5]]},"1148":{"position":[[7358,6],[7370,5],[7392,5]]},"1186":{"position":[[910,6],[922,5],[944,5]]},"1187":{"position":[[923,6],[935,5],[957,5]]},"1188":{"position":[[5649,6],[5661,5],[5683,5]]}},"keywords":{}}],["flamegraph",{"_index":5442,"title":{},"content":{"1059":{"position":[[42,10]]}},"keywords":{}}],["flat",{"_index":7576,"title":{},"content":{"1397":{"position":[[2542,4]]}},"keywords":{}}],["flatten",{"_index":6564,"title":{},"content":{"1355":{"position":[[6076,10],[7089,10]]},"1427":{"position":[[5249,10],[6288,10]]}},"keywords":{}}],["flatten/dedup",{"_index":5669,"title":{},"content":{"1104":{"position":[[2264,14]]}},"keywords":{}}],["flatten/dup",{"_index":5678,"title":{},"content":{"1104":{"position":[[2611,12]]}},"keywords":{}}],["flavor",{"_index":2623,"title":{},"content":{"575":{"position":[[304,7]]},"1363":{"position":[[4470,6],[4573,6]]},"1383":{"position":[[4291,6],[8843,7],[8962,6]]},"1462":{"position":[[8222,6]]},"1465":{"position":[[3464,6],[3873,6]]},"1467":{"position":[[9284,6],[9733,6]]},"1471":{"position":[[5372,7]]},"1472":{"position":[[6258,7]]}},"keywords":{}}],["flexibl",{"_index":3374,"title":{},"content":{"675":{"position":[[378,8]]},"939":{"position":[[1821,11]]}},"keywords":{}}],["flight",{"_index":6077,"title":{},"content":{"1228":{"position":[[1486,6]]}},"keywords":{}}],["flip",{"_index":3683,"title":{},"content":{"706":{"position":[[2472,4]]}},"keywords":{}}],["float",{"_index":2028,"title":{"644":{"position":[[0,6]]}},"content":{"377":{"position":[[338,5],[1692,5]]},"402":{"position":[[538,5]]},"404":{"position":[[75,5]]},"513":{"position":[[35,5],[70,5]]},"514":{"position":[[33,5],[66,5]]},"627":{"position":[[11,5],[33,5]]},"644":{"position":[[20,5],[52,5],[59,6],[95,8],[181,6],[247,8],[323,8],[366,7],[387,7],[591,9]]},"648":{"position":[[18,5],[251,6]]},"756":{"position":[[338,5],[1692,5]]},"781":{"position":[[538,5]]},"783":{"position":[[75,5]]},"1181":{"position":[[568,5]]}},"keywords":{}}],["float("hello"",{"_index":3180,"title":{},"content":{"644":{"position":[[538,24]]}},"keywords":{}}],["float('.25",{"_index":3174,"title":{},"content":{"644":{"position":[[456,12]]}},"keywords":{}}],["float('1",{"_index":3172,"title":{},"content":{"644":{"position":[[418,10]]}},"keywords":{}}],["float('1.0",{"_index":3173,"title":{},"content":{"644":{"position":[[436,12]]}},"keywords":{}}],["float('1e2",{"_index":3176,"title":{},"content":{"644":{"position":[[477,12]]}},"keywords":{}}],["float(1",{"_index":3170,"title":{},"content":{"644":{"position":[[402,8]]}},"keywords":{}}],["float(a",{"_index":3168,"title":{},"content":{"644":{"position":[[4,8]]}},"keywords":{}}],["float(fals",{"_index":3178,"title":{},"content":{"644":{"position":[[499,12]]}},"keywords":{}}],["float(tru",{"_index":3179,"title":{},"content":{"644":{"position":[[519,11]]}},"keywords":{}}],["flow",{"_index":3779,"title":{},"content":{"715":{"position":[[217,4]]},"722":{"position":[[686,4]]},"872":{"position":[[468,4]]},"873":{"position":[[334,4]]},"924":{"position":[[2124,4]]},"1021":{"position":[[699,5]]},"1104":{"position":[[1483,5]]},"1136":{"position":[[5415,4]]},"1138":{"position":[[9077,4]]},"1140":{"position":[[8003,4]]},"1142":{"position":[[3447,4]]},"1146":{"position":[[3387,4]]},"1148":{"position":[[6427,4]]},"1155":{"position":[[3483,4]]},"1156":{"position":[[3061,4]]},"1161":{"position":[[954,4]]},"1167":{"position":[[9007,4]]},"1181":{"position":[[1166,4]]},"1186":{"position":[[4651,4]]},"1187":{"position":[[4664,4]]},"1188":{"position":[[9390,4]]},"1191":{"position":[[3251,4]]},"1192":{"position":[[3426,4]]},"1193":{"position":[[3478,4]]},"1194":{"position":[[3118,4]]},"1195":{"position":[[3096,4]]},"1196":{"position":[[2906,4]]},"1197":{"position":[[3889,4]]},"1198":{"position":[[3899,4]]},"1199":{"position":[[3927,4]]},"1200":{"position":[[3794,4]]},"1201":{"position":[[3054,4]]},"1202":{"position":[[4196,4],[8593,4]]},"1203":{"position":[[3288,4]]},"1204":{"position":[[3132,4]]},"1205":{"position":[[4461,4]]},"1206":{"position":[[2932,4]]},"1207":{"position":[[3089,4]]},"1209":{"position":[[4437,4]]},"1217":{"position":[[7748,4]]},"1222":{"position":[[2858,4]]},"1223":{"position":[[2868,4]]},"1226":{"position":[[8216,4]]},"1228":{"position":[[9829,4]]},"1235":{"position":[[5697,4]]},"1237":{"position":[[8386,4]]}},"keywords":{}}],["flowchart",{"_index":5575,"title":{},"content":{"1084":{"position":[[269,9]]},"1088":{"position":[[1270,9]]}},"keywords":{}}],["flush",{"_index":5119,"title":{},"content":{"1035":{"position":[[165,5]]},"1037":{"position":[[527,5],[548,5]]},"1204":{"position":[[229,5],[10133,5],[10202,5]]}},"keywords":{}}],["fn",{"_index":4178,"title":{},"content":{"889":{"position":[[254,2]]}},"keywords":{}}],["fno",{"_index":7215,"title":{},"content":{"1384":{"position":[[21452,3],[21840,3]]},"1385":{"position":[[7367,3]]}},"keywords":{}}],["fobjc",{"_index":6824,"title":{},"content":{"1362":{"position":[[13878,5]]},"1364":{"position":[[14586,5]]},"1367":{"position":[[14462,5]]}},"keywords":{}}],["focused_list_target",{"_index":6724,"title":{},"content":{"1362":{"position":[[1998,20]]},"1364":{"position":[[1980,20]]},"1367":{"position":[[3189,20]]},"1373":{"position":[[1013,20]]},"1382":{"position":[[1145,20]]},"1384":{"position":[[1794,20]]},"1387":{"position":[[1873,20]]},"1388":{"position":[[1303,20]]},"1415":{"position":[[791,20]]},"1462":{"position":[[1566,20]]},"1467":{"position":[[1702,20]]}},"keywords":{}}],["folder",{"_index":542,"title":{},"content":{"18":{"position":[[103,6]]},"583":{"position":[[607,6],[694,6]]},"708":{"position":[[748,6]]},"916":{"position":[[214,7]]},"1102":{"position":[[51,6]]},"1161":{"position":[[131,6]]},"1393":{"position":[[7792,7],[9765,6]]},"1395":{"position":[[1705,6],[2405,7]]},"1397":{"position":[[2020,6],[2855,6]]},"1399":{"position":[[585,6]]},"1403":{"position":[[1315,7]]}},"keywords":{}}],["folder'",{"_index":8041,"title":{},"content":{"1439":{"position":[[5094,8]]}},"keywords":{}}],["folli",{"_index":5367,"title":{},"content":{"1057":{"position":[[162,5]]},"1386":{"position":[[3405,5],[3686,5]]}},"keywords":{}}],["follow",{"_index":90,"title":{},"content":{"5":{"position":[[234,8]]},"9":{"position":[[482,9]]},"11":{"position":[[126,9]]},"13":{"position":[[373,9]]},"18":{"position":[[1507,9]]},"22":{"position":[[632,8],[1024,9]]},"23":{"position":[[1750,6]]},"94":{"position":[[3841,9]]},"226":{"position":[[3841,9]]},"242":{"position":[[197,9]]},"429":{"position":[[277,9]]},"575":{"position":[[119,9]]},"576":{"position":[[163,9]]},"578":{"position":[[73,9]]},"581":{"position":[[124,9]]},"583":{"position":[[4,9]]},"584":{"position":[[1304,9]]},"591":{"position":[[730,9]]},"607":{"position":[[284,9]]},"622":{"position":[[516,9],[671,9],[1742,9]]},"638":{"position":[[357,10]]},"663":{"position":[[373,10]]},"675":{"position":[[163,9]]},"693":{"position":[[2954,9]]},"702":{"position":[[4,9]]},"704":{"position":[[303,9]]},"708":{"position":[[827,9]]},"711":{"position":[[110,9]]},"715":{"position":[[1552,9]]},"716":{"position":[[4,9],[169,9]]},"808":{"position":[[277,9]]},"840":{"position":[[215,8]]},"850":{"position":[[131,9],[562,8],[789,8]]},"859":{"position":[[12,9]]},"865":{"position":[[175,9]]},"870":{"position":[[181,9]]},"872":{"position":[[37,8]]},"888":{"position":[[447,9],[1018,9]]},"890":{"position":[[352,9],[464,9],[3175,9]]},"892":{"position":[[22,9],[554,9],[969,10],[1340,6],[1445,10],[1672,10],[1909,10]]},"894":{"position":[[118,8],[245,8]]},"895":{"position":[[16,8],[348,8],[700,6]]},"896":{"position":[[4,9],[872,9]]},"898":{"position":[[2107,10]]},"901":{"position":[[335,10]]},"902":{"position":[[346,10]]},"904":{"position":[[335,9]]},"924":{"position":[[35,8]]},"937":{"position":[[688,9]]},"938":{"position":[[736,9]]},"939":{"position":[[1488,9]]},"940":{"position":[[508,9],[987,9],[1259,8]]},"941":{"position":[[84,9]]},"943":{"position":[[394,8],[1085,8]]},"944":{"position":[[1117,8]]},"951":{"position":[[217,6],[817,7]]},"961":{"position":[[645,8]]},"973":{"position":[[240,7]]},"980":{"position":[[59,8]]},"990":{"position":[[270,8],[758,8]]},"993":{"position":[[23,9]]},"994":{"position":[[33,9]]},"995":{"position":[[34,9]]},"1006":{"position":[[613,8],[750,9]]},"1007":{"position":[[254,10]]},"1014":{"position":[[310,8]]},"1024":{"position":[[908,9]]},"1026":{"position":[[302,8],[1010,9]]},"1030":{"position":[[37,10]]},"1031":{"position":[[183,9]]},"1040":{"position":[[19,9],[2022,9]]},"1048":{"position":[[4,9]]},"1050":{"position":[[1613,9],[2546,9],[3753,10]]},"1054":{"position":[[520,9]]},"1056":{"position":[[460,8]]},"1057":{"position":[[457,10]]},"1068":{"position":[[206,9]]},"1069":{"position":[[4,9]]},"1071":{"position":[[247,9]]},"1072":{"position":[[542,9]]},"1079":{"position":[[738,9]]},"1081":{"position":[[77,8]]},"1082":{"position":[[662,9]]},"1083":{"position":[[498,9]]},"1086":{"position":[[139,9]]},"1088":{"position":[[1209,9]]},"1102":{"position":[[477,10]]},"1104":{"position":[[1697,9]]},"1105":{"position":[[409,9]]},"1114":{"position":[[44,9]]},"1120":{"position":[[300,6],[469,9]]},"1126":{"position":[[147,8]]},"1130":{"position":[[41,9]]},"1131":{"position":[[100,8],[732,10]]},"1133":{"position":[[869,9]]},"1138":{"position":[[1989,9]]},"1140":{"position":[[1478,9]]},"1144":{"position":[[78,9]]},"1167":{"position":[[2482,9]]},"1172":{"position":[[124,9],[497,9],[520,6]]},"1188":{"position":[[1531,9]]},"1217":{"position":[[1223,9]]},"1219":{"position":[[344,8]]},"1228":{"position":[[2292,6],[3304,9]]},"1232":{"position":[[47,9]]},"1251":{"position":[[365,8]]},"1255":{"position":[[93,9],[230,8]]},"1260":{"position":[[146,9]]},"1291":{"position":[[146,9]]},"1319":{"position":[[146,9]]},"1345":{"position":[[1341,8]]},"1346":{"position":[[308,9],[351,8]]},"1355":{"position":[[4634,6]]},"1360":{"position":[[3186,9]]},"1362":{"position":[[8598,9]]},"1364":{"position":[[9712,9]]},"1367":{"position":[[8686,9]]},"1382":{"position":[[4545,9]]},"1383":{"position":[[2904,9],[2983,9],[4455,9],[5801,9],[5901,9],[7854,9],[8051,9]]},"1386":{"position":[[3188,10]]},"1388":{"position":[[5239,9]]},"1403":{"position":[[2601,9],[6954,9],[7151,9],[8384,10]]},"1405":{"position":[[2807,9],[3047,9]]},"1407":{"position":[[2335,9],[3228,9],[3468,9]]},"1410":{"position":[[3808,9],[4049,9]]},"1427":{"position":[[3779,6]]},"1438":{"position":[[1607,9]]},"1442":{"position":[[1535,9]]},"1446":{"position":[[2359,9]]},"1461":{"position":[[1980,8]]},"1471":{"position":[[4121,7]]},"1472":{"position":[[4705,7]]},"1473":{"position":[[4442,7]]},"1486":{"position":[[3126,9]]},"1487":{"position":[[2380,8]]}},"keywords":{}}],["folly/io/async:async",{"_index":7275,"title":{},"content":{"1386":{"position":[[3719,25]]}},"keywords":{}}],["folly:folli",{"_index":7274,"title":{},"content":{"1386":{"position":[[3702,16]]}},"keywords":{}}],["foo",{"_index":894,"title":{},"content":{"50":{"position":[[175,3]]},"72":{"position":[[278,3]]},"197":{"position":[[175,3]]},"368":{"position":[[2098,5],[2187,5]]},"415":{"position":[[240,4],[375,4]]},"418":{"position":[[314,3]]},"495":{"position":[[278,3]]},"577":{"position":[[389,3],[675,3],[732,3]]},"747":{"position":[[2098,5],[2187,5]]},"794":{"position":[[240,4],[375,4]]},"797":{"position":[[314,3]]},"890":{"position":[[382,6],[587,3],[1108,3],[3366,3],[3385,7],[3407,3],[3677,3],[3719,3]]},"961":{"position":[[692,3]]},"994":{"position":[[495,3]]},"1011":{"position":[[529,8]]},"1014":{"position":[[294,6]]},"1021":{"position":[[114,11]]},"1061":{"position":[[219,3],[355,4]]},"1084":{"position":[[326,3],[341,3]]},"1088":{"position":[[1327,3],[1342,3]]},"1138":{"position":[[4220,4],[4324,6],[4442,6],[4493,6],[4661,6],[4855,6],[4933,6]]},"1140":{"position":[[3709,4],[3813,6],[3931,6],[3982,6],[4150,6],[4344,6],[4422,6]]},"1167":{"position":[[4713,4],[4817,6],[4935,6],[4986,6],[5154,6],[5348,6],[5426,6]]},"1188":{"position":[[3762,4],[3866,6],[3984,6],[4035,6],[4203,6],[4397,6],[4475,6]]},"1217":{"position":[[3454,4],[3558,6],[3676,6],[3727,6],[3895,6],[4089,6],[4167,6]]},"1228":{"position":[[5535,4],[5639,6],[5757,6],[5808,6],[5976,6],[6170,6],[6248,6]]},"1390":{"position":[[1644,6]]},"1391":{"position":[[1597,6]]},"1392":{"position":[[1747,6]]},"1416":{"position":[[3574,6]]}},"keywords":{}}],["foo((foo",{"_index":5577,"title":{},"content":{"1084":{"position":[[282,10]]},"1088":{"position":[[1283,10]]}},"keywords":{}}],["foo.a'.package_nam",{"_index":8226,"title":{},"content":{"1457":{"position":[[1670,21]]}},"keywords":{}}],["foo.bar",{"_index":2621,"title":{},"content":{"575":{"position":[[195,9]]},"1385":{"position":[[7307,10]]},"1387":{"position":[[10686,10],[10995,7]]}},"keywords":{}}],["foo.bar.baz",{"_index":8326,"title":{},"content":{"1462":{"position":[[7115,11]]},"1467":{"position":[[8084,11]]}},"keywords":{}}],["foo.h",{"_index":7857,"title":{},"content":{"1416":{"position":[[3590,9]]}},"keywords":{}}],["foo.if",{"_index":5054,"title":{},"content":{"1014":{"position":[[358,9]]}},"keywords":{}}],["foo.project("bar")yield",{"_index":895,"title":{},"content":{"50":{"position":[[222,34]]},"197":{"position":[[222,34]]}},"keywords":{}}],["foo.trac",{"_index":5464,"title":{},"content":{"1061":{"position":[[369,9]]}},"keywords":{}}],["foo//bar/baz",{"_index":6022,"title":{},"content":{"1202":{"position":[[270,12],[5649,12]]}},"keywords":{}}],["foo//bar/baz/buck",{"_index":2211,"title":{},"content":{"414":{"position":[[165,17]]},"415":{"position":[[203,17]]},"425":{"position":[[163,17]]},"793":{"position":[[165,17]]},"794":{"position":[[203,17]]},"804":{"position":[[163,17]]}},"keywords":{}}],["foo//bar/packag",{"_index":2213,"title":{},"content":{"414":{"position":[[223,16]]},"425":{"position":[[221,16]]},"793":{"position":[[223,16]]},"804":{"position":[[221,16]]}},"keywords":{}}],["foo//bar:baz",{"_index":1357,"title":{},"content":{"131":{"position":[[366,13]]},"254":{"position":[[366,13]]}},"keywords":{}}],["foo//bar:baz.bzl",{"_index":6021,"title":{},"content":{"1202":{"position":[[168,16],[1235,16]]}},"keywords":{}}],["foo/bar",{"_index":877,"title":{},"content":{"46":{"position":[[80,8]]},"51":{"position":[[135,8],[152,8]]},"193":{"position":[[80,8]]},"198":{"position":[[135,8],[152,8]]},"1207":{"position":[[236,12]]}},"keywords":{}}],["foo/bar.d",{"_index":7424,"title":{},"content":{"1390":{"position":[[1929,13]]},"1391":{"position":[[1744,13]]}},"keywords":{}}],["foo/bar.d').test_rule_timeout_m",{"_index":7437,"title":{},"content":{"1392":{"position":[[2199,34]]}},"keywords":{}}],["foo/bar.sh",{"_index":880,"title":{},"content":{"47":{"position":[[86,11]]},"194":{"position":[[86,11]]}},"keywords":{}}],["foo/bar/bar",{"_index":7892,"title":{},"content":{"1422":{"position":[[2804,11]]}},"keywords":{}}],["foo/bar/buck",{"_index":5857,"title":{},"content":{"1134":{"position":[[273,13]]}},"keywords":{}}],["foo/bar/buckand",{"_index":2247,"title":{},"content":{"418":{"position":[[866,15]]},"797":{"position":[[866,15]]}},"keywords":{}}],["foo/bar/file.txt",{"_index":2246,"title":{},"content":{"418":{"position":[[831,16]]},"797":{"position":[[831,16]]}},"keywords":{}}],["foo/bar/lib:baz",{"_index":6268,"title":{},"content":{"1260":{"position":[[407,18]]},"1291":{"position":[[407,18]]},"1319":{"position":[[407,18]]}},"keywords":{}}],["foo/bar/lib:baz')"",{"_index":6273,"title":{},"content":{"1260":{"position":[[866,26]]},"1291":{"position":[[866,26]]},"1319":{"position":[[866,26]]}},"keywords":{}}],["foo/bar/lib:baz')"i",{"_index":6267,"title":{},"content":{"1260":{"position":[[252,28]]},"1291":{"position":[[252,28]]},"1319":{"position":[[252,28]]}},"keywords":{}}],["foo/bar/main.cpp",{"_index":5856,"title":{},"content":{"1134":{"position":[[214,16]]}},"keywords":{}}],["foo/baz/baz",{"_index":7894,"title":{},"content":{"1422":{"position":[[2831,11]]}},"keywords":{}}],["foo/baz:util'))"",{"_index":5846,"title":{},"content":{"1133":{"position":[[186,24]]}},"keywords":{}}],["foo/buck",{"_index":2243,"title":{},"content":{"418":{"position":[[706,8],[771,8],[915,9]]},"797":{"position":[[706,8],[771,8],[915,9]]}},"keywords":{}}],["foo/file.txt",{"_index":2245,"title":{},"content":{"418":{"position":[[740,12]]},"797":{"position":[[740,12]]}},"keywords":{}}],["foo:bar",{"_index":3860,"title":{},"content":{"840":{"position":[[830,10]]},"850":{"position":[[660,9]]},"945":{"position":[[898,7]]},"968":{"position":[[113,9]]},"1006":{"position":[[906,9],[983,9]]},"1228":{"position":[[364,9]]},"1240":{"position":[[60,9],[161,9],[271,9]]},"1260":{"position":[[335,10],[665,10]]},"1262":{"position":[[706,12],[793,10],[856,9]]},"1271":{"position":[[400,10]]},"1282":{"position":[[589,9]]},"1283":{"position":[[567,9]]},"1284":{"position":[[565,9]]},"1291":{"position":[[335,10],[665,10]]},"1293":{"position":[[706,12],[793,10],[856,9]]},"1302":{"position":[[400,10]]},"1313":{"position":[[589,9]]},"1314":{"position":[[567,9]]},"1315":{"position":[[565,9]]},"1319":{"position":[[335,10],[665,10]]},"1321":{"position":[[706,12],[793,10],[856,9]]},"1330":{"position":[[400,10]]},"1341":{"position":[[589,9]]},"1342":{"position":[[567,9]]},"1343":{"position":[[565,9]]}},"keywords":{}}],["foo:bar')"show",{"_index":6271,"title":{},"content":{"1260":{"position":[[569,23]]},"1291":{"position":[[569,23]]},"1319":{"position":[[569,23]]}},"keywords":{}}],["foo:bar').label",{"_index":7435,"title":{},"content":{"1392":{"position":[[1757,20]]}},"keywords":{}}],["foo:bar').linker_flag",{"_index":7422,"title":{},"content":{"1390":{"position":[[1654,26]]}},"keywords":{}}],["foo:bar').src",{"_index":7431,"title":{},"content":{"1391":{"position":[[1607,18]]}},"keywords":{}}],["foo:bar','//hello:world",{"_index":3703,"title":{},"content":{"708":{"position":[[1170,29]]}},"keywords":{}}],["foo:bar.bzl",{"_index":5956,"title":{},"content":{"1155":{"position":[[174,13],[208,15],[297,13]]}},"keywords":{}}],["foo:bar.bzl:baz",{"_index":5957,"title":{},"content":{"1155":{"position":[[224,17]]}},"keywords":{}}],["foo:bar@config//platform:linux",{"_index":4815,"title":{},"content":{"968":{"position":[[20,32]]}},"keywords":{}}],["foo:bar@releas",{"_index":4821,"title":{},"content":{"969":{"position":[[236,17]]}},"keywords":{}}],["foo:bar@release+gcc",{"_index":4824,"title":{},"content":{"969":{"position":[[358,21]]}},"keywords":{}}],["foo:baz?releas",{"_index":4679,"title":{},"content":{"942":{"position":[[969,18]]}},"keywords":{}}],["foo:foo",{"_index":7152,"title":{},"content":{"1382":{"position":[[4933,14]]},"1388":{"position":[[5627,14]]},"1442":{"position":[[1923,14]]}},"keywords":{}}],["foo:lib",{"_index":5845,"title":{},"content":{"1133":{"position":[[174,11]]}},"keywords":{}}],["foo_binari",{"_index":1960,"title":{},"content":{"368":{"position":[[1196,10],[1603,11]]},"747":{"position":[[1196,10],[1603,11]]}},"keywords":{}}],["foo_binary.bzl",{"_index":1942,"title":{},"content":{"368":{"position":[[675,16]]},"747":{"position":[[675,16]]}},"keywords":{}}],["foo_binary_wrapper(nam",{"_index":1972,"title":{},"content":{"368":{"position":[[1571,24],[1980,23]]},"747":{"position":[[1571,24],[1980,23]]}},"keywords":{}}],["foo_prime/bar",{"_index":7896,"title":{},"content":{"1422":{"position":[[2849,13]]}},"keywords":{}}],["food'.split('o",{"_index":2984,"title":{},"content":{"616":{"position":[[330,17]]}},"keywords":{}}],["fooinfo",{"_index":998,"title":{},"content":{"76":{"position":[[112,7],[206,7]]},"505":{"position":[[112,7],[206,7]]},"983":{"position":[[296,10]]}},"keywords":{}}],["fooon",{"_index":5457,"title":{},"content":{"1061":{"position":[[186,5]]}},"keywords":{}}],["footer",{"_index":5784,"title":{"1125":{"position":[[15,7]]}},"content":{},"keywords":{}}],["footprint",{"_index":6199,"title":{"1250":{"position":[[23,11]]}},"content":{"1256":{"position":[[62,9]]}},"keywords":{}}],["for_primary_apk",{"_index":6611,"title":{},"content":{"1358":{"position":[[666,16]]}},"keywords":{}}],["forc",{"_index":5068,"title":{},"content":{"1024":{"position":[[187,6]]},"1037":{"position":[[628,5]]},"1462":{"position":[[8692,5]]},"1465":{"position":[[3983,5]]},"1467":{"position":[[10175,5]]}},"keywords":{}}],["force_full_hybrid_if_cap",{"_index":1183,"title":{},"content":{"94":{"position":[[956,29],[3583,30]]},"226":{"position":[[956,29],[3583,30]]}},"keywords":{}}],["force_stat",{"_index":6725,"title":{},"content":{"1362":{"position":[[2035,13]]},"1364":{"position":[[2017,13]]},"1367":{"position":[[3226,13]]},"1384":{"position":[[1831,13]]},"1387":{"position":[[1910,13]]},"1454":{"position":[[1282,13]]}},"keywords":{}}],["fordict.key",{"_index":6221,"title":{},"content":{"1254":{"position":[[658,14]]}},"keywords":{}}],["fordynam",{"_index":3835,"title":{},"content":{"835":{"position":[[26,10]]}},"keywords":{}}],["forev",{"_index":3887,"title":{},"content":{"846":{"position":[[709,9]]}},"keywords":{}}],["forexpand",{"_index":5613,"title":{},"content":{"1093":{"position":[[393,9]]}},"keywords":{}}],["forexported_head",{"_index":3403,"title":{},"content":{"680":{"position":[[564,19]]}},"keywords":{}}],["forgenrul",{"_index":5839,"title":{},"content":{"1132":{"position":[[354,10]]}},"keywords":{}}],["fork",{"_index":4768,"title":{},"content":{"958":{"position":[[122,4]]}},"keywords":{}}],["fork="yes"",{"_index":7995,"title":{},"content":{"1429":{"position":[[4208,20]]},"1440":{"position":[[4201,20]]}},"keywords":{}}],["fork_mod",{"_index":7811,"title":{},"content":{"1413":{"position":[[889,10]]},"1429":{"position":[[1109,10],[3970,10]]},"1440":{"position":[[1223,10],[3963,10]]},"1470":{"position":[[1274,10]]},"1475":{"position":[[885,10]]}},"keywords":{}}],["forloop",{"_index":2513,"title":{},"content":{"555":{"position":[[230,8]]}},"keywords":{}}],["form",{"_index":2070,"title":{},"content":{"389":{"position":[[605,4]]},"595":{"position":[[893,4],[1020,5]]},"604":{"position":[[142,6]]},"617":{"position":[[230,6]]},"662":{"position":[[663,6]]},"673":{"position":[[129,6]]},"695":{"position":[[277,4]]},"768":{"position":[[605,4]]},"841":{"position":[[143,4]]},"872":{"position":[[46,4]]},"919":{"position":[[1023,4]]},"1014":{"position":[[737,4]]},"1040":{"position":[[637,4],[834,4]]},"1045":{"position":[[91,5]]},"1050":{"position":[[3648,4]]},"1083":{"position":[[32,4]]},"1084":{"position":[[16,4]]},"1136":{"position":[[6666,4]]},"1138":{"position":[[10328,4]]},"1140":{"position":[[184,4],[9254,4]]},"1142":{"position":[[4698,4]]},"1144":{"position":[[1026,4]]},"1146":{"position":[[4638,4]]},"1148":{"position":[[8229,4]]},"1150":{"position":[[1261,4]]},"1152":{"position":[[959,4]]},"1154":{"position":[[1114,4]]},"1155":{"position":[[4734,4]]},"1156":{"position":[[4312,4]]},"1157":{"position":[[897,4]]},"1158":{"position":[[891,4]]},"1159":{"position":[[891,4]]},"1161":{"position":[[1886,4]]},"1163":{"position":[[1272,4]]},"1165":{"position":[[1101,4]]},"1167":{"position":[[10258,4]]},"1169":{"position":[[3366,4]]},"1171":{"position":[[1607,4]]},"1172":{"position":[[566,4],[2992,4]]},"1173":{"position":[[1679,4]]},"1174":{"position":[[1107,4]]},"1175":{"position":[[1103,4]]},"1176":{"position":[[1272,4]]},"1177":{"position":[[1193,4]]},"1178":{"position":[[1510,4]]},"1179":{"position":[[1307,4]]},"1180":{"position":[[1578,4]]},"1181":{"position":[[2098,4]]},"1182":{"position":[[1141,4]]},"1183":{"position":[[1096,4]]},"1185":{"position":[[941,4]]},"1186":{"position":[[5902,4]]},"1187":{"position":[[5915,4]]},"1188":{"position":[[237,4],[10641,4]]},"1190":{"position":[[2272,4]]},"1191":{"position":[[4502,4]]},"1192":{"position":[[4677,4]]},"1193":{"position":[[127,4],[4729,4]]},"1194":{"position":[[4369,4]]},"1195":{"position":[[4347,4]]},"1196":{"position":[[4157,4]]},"1197":{"position":[[5140,4]]},"1198":{"position":[[5150,4]]},"1199":{"position":[[5178,4]]},"1200":{"position":[[5045,4]]},"1201":{"position":[[4305,4]]},"1202":{"position":[[1049,4],[5447,4],[9844,4]]},"1203":{"position":[[4539,4]]},"1204":{"position":[[4383,4],[5285,4],[6215,4],[7117,4],[8103,4],[9057,4],[10004,4],[10934,4]]},"1205":{"position":[[5712,4]]},"1206":{"position":[[4411,4]]},"1207":{"position":[[4340,4]]},"1209":{"position":[[5688,4]]},"1211":{"position":[[1012,4]]},"1213":{"position":[[783,4]]},"1215":{"position":[[867,4]]},"1217":{"position":[[8999,4]]},"1219":{"position":[[4254,4]]},"1221":{"position":[[986,4]]},"1222":{"position":[[4125,4]]},"1223":{"position":[[4135,4]]},"1224":{"position":[[3568,4]]},"1226":{"position":[[9467,4]]},"1228":{"position":[[11080,4]]},"1233":{"position":[[194,4]]},"1235":{"position":[[229,5],[6948,4]]},"1237":{"position":[[9637,4]]},"1241":{"position":[[142,4]]},"1260":{"position":[[86,6]]},"1291":{"position":[[86,6]]},"1319":{"position":[[86,6]]},"1385":{"position":[[1958,6]]},"1387":{"position":[[4309,6]]},"1457":{"position":[[1665,4]]}},"keywords":{}}],["format",{"_index":976,"title":{"573":{"position":[[39,7]]},"894":{"position":[[16,7]]},"1123":{"position":[[10,7]]}},"content":{"69":{"position":[[558,6]]},"90":{"position":[[238,7]]},"92":{"position":[[1222,8]]},"99":{"position":[[1319,9]]},"222":{"position":[[238,7]]},"224":{"position":[[1222,8]]},"231":{"position":[[1319,9]]},"334":{"position":[[479,6]]},"405":{"position":[[533,7],[1405,6]]},"406":{"position":[[360,6]]},"408":{"position":[[1096,6]]},"457":{"position":[[558,6]]},"474":{"position":[[218,6]]},"573":{"position":[[38,7],[227,7]]},"577":{"position":[[26,6]]},"580":{"position":[[94,6]]},"595":{"position":[[61,6],[129,6],[238,6],[490,6],[599,6],[1246,6]]},"635":{"position":[[61,11]]},"664":{"position":[[32,7]]},"668":{"position":[[30,7]]},"784":{"position":[[533,7],[1405,6]]},"785":{"position":[[360,6]]},"787":{"position":[[1096,6]]},"865":{"position":[[403,7]]},"870":{"position":[[1114,6]]},"872":{"position":[[424,6]]},"873":{"position":[[610,6]]},"954":{"position":[[318,7]]},"975":{"position":[[214,6],[369,6]]},"976":{"position":[[187,6]]},"995":{"position":[[608,6]]},"1030":{"position":[[248,6]]},"1032":{"position":[[43,6],[264,6],[373,6]]},"1040":{"position":[[1648,8]]},"1050":{"position":[[2082,6],[3498,6]]},"1082":{"position":[[770,6]]},"1113":{"position":[[4,6]]},"1123":{"position":[[86,7]]},"1126":{"position":[[126,6]]},"1127":{"position":[[102,7]]},"1131":{"position":[[521,7]]},"1136":{"position":[[1980,6],[2016,6],[2062,6],[2096,6],[2148,6],[2188,7],[2237,7],[2257,7],[3038,9],[6013,6]]},"1138":{"position":[[595,6],[667,6],[1447,6],[6700,9],[9675,6]]},"1140":{"position":[[656,6],[5626,9],[8601,6]]},"1142":{"position":[[572,7],[1070,9],[4045,6]]},"1146":{"position":[[1010,9],[3985,6]]},"1148":{"position":[[2336,6],[2372,6],[2418,6],[2452,6],[2504,6],[2544,7],[2593,7],[2613,7],[4050,9],[7025,6]]},"1155":{"position":[[527,6],[556,6],[1106,9],[4081,6]]},"1156":{"position":[[684,9],[3659,6]]},"1157":{"position":[[91,6],[120,6]]},"1158":{"position":[[85,6],[114,6]]},"1159":{"position":[[85,6],[114,6]]},"1163":{"position":[[619,6]]},"1165":{"position":[[448,6]]},"1167":{"position":[[6630,9],[9605,6]]},"1169":{"position":[[469,9],[2713,6]]},"1171":{"position":[[307,6],[780,6]]},"1172":{"position":[[1187,6],[1222,6]]},"1173":{"position":[[117,7],[487,6],[522,6]]},"1175":{"position":[[24,6]]},"1178":{"position":[[689,6],[724,6]]},"1179":{"position":[[427,6],[462,6]]},"1180":{"position":[[757,6],[792,6]]},"1182":{"position":[[82,6]]},"1186":{"position":[[2274,9],[5249,6]]},"1187":{"position":[[2287,9],[5262,6]]},"1188":{"position":[[709,6],[7013,9],[9988,6]]},"1191":{"position":[[262,6],[874,9],[3849,6]]},"1192":{"position":[[396,6],[1049,9],[4024,6]]},"1193":{"position":[[419,6],[1101,9],[4076,6]]},"1194":{"position":[[741,9],[3716,6]]},"1195":{"position":[[719,9],[3694,6]]},"1196":{"position":[[529,9],[3504,6]]},"1197":{"position":[[281,6],[1512,9],[4487,6]]},"1198":{"position":[[1522,9],[4497,6]]},"1199":{"position":[[1550,9],[4525,6]]},"1200":{"position":[[1417,9],[4392,6]]},"1201":{"position":[[677,9],[3652,6]]},"1202":{"position":[[1819,9],[4794,6],[6216,9],[9191,6]]},"1203":{"position":[[911,9],[3886,6]]},"1204":{"position":[[755,9],[3730,6]]},"1205":{"position":[[2084,9],[5059,6]]},"1206":{"position":[[555,9],[3530,6]]},"1207":{"position":[[712,9],[3687,6]]},"1209":{"position":[[1213,6],[1249,6],[1295,6],[1329,6],[1381,6],[1421,7],[1470,7],[1490,7],[2060,9],[5035,6]]},"1217":{"position":[[615,9],[5371,9],[8346,6]]},"1219":{"position":[[304,6],[903,6],[1357,9],[3601,6]]},"1222":{"position":[[481,9],[3456,6]]},"1223":{"position":[[491,9],[3466,6]]},"1224":{"position":[[671,9],[2915,6]]},"1226":{"position":[[3774,6],[3846,6],[5839,9],[8814,6]]},"1228":{"position":[[1684,6],[7452,9],[10427,6]]},"1235":{"position":[[2473,6],[2509,6],[2555,6],[2589,6],[2641,6],[2681,7],[2730,7],[2750,7],[3320,9],[6295,6]]},"1237":{"position":[[3944,6],[4016,6],[6009,9],[8984,6]]},"1348":{"position":[[3933,6],[4504,7]]},"1358":{"position":[[2884,7]]},"1381":{"position":[[2235,6]]},"1384":{"position":[[7655,6]]},"1393":{"position":[[6284,6]]},"1415":{"position":[[2574,6]]},"1416":{"position":[[3337,6]]},"1420":{"position":[[2474,6]]},"1448":{"position":[[2420,6]]},"1449":{"position":[[2354,6]]},"1454":{"position":[[6055,6]]},"1455":{"position":[[2826,6]]}},"keywords":{}}],["format="",{"_index":2143,"title":{},"content":{"405":{"position":[[1463,13]]},"408":{"position":[[563,13]]},"784":{"position":[[1463,13]]},"787":{"position":[[563,13]]}},"keywords":{}}],["format=dot",{"_index":6272,"title":{},"content":{"1260":{"position":[[724,10],[902,10]]},"1291":{"position":[[724,10],[902,10]]},"1319":{"position":[[724,10],[902,10]]}},"keywords":{}}],["former",{"_index":3902,"title":{},"content":{"848":{"position":[[282,6]]}},"keywords":{}}],["formhash:s",{"_index":4299,"title":{},"content":{"895":{"position":[[615,14]]}},"keywords":{}}],["forrun",{"_index":4052,"title":{},"content":{"869":{"position":[[612,10]]}},"keywords":{}}],["fortun",{"_index":7283,"title":{},"content":{"1386":{"position":[[5339,12]]}},"keywords":{}}],["forward",{"_index":1572,"title":{},"content":{"286":{"position":[[103,7],[134,7],[324,9]]},"675":{"position":[[583,7]]},"892":{"position":[[1598,9]]},"1044":{"position":[[2478,7]]},"1167":{"position":[[422,9],[570,9],[719,9],[898,9],[1072,9],[1260,9],[1439,9],[1603,9],[1773,9],[1920,9]]},"1224":{"position":[[52,8]]},"1362":{"position":[[6991,7],[8753,7],[9079,7]]},"1364":{"position":[[7230,7],[9364,7],[9867,7],[10193,7]]},"1367":{"position":[[8841,7],[9167,7]]},"1373":{"position":[[4778,7]]},"1382":{"position":[[5523,7],[5848,7]]},"1384":{"position":[[6735,7],[10470,7],[10795,7]]},"1385":{"position":[[3437,7],[3761,7]]},"1387":{"position":[[5770,7],[6094,7]]},"1388":{"position":[[6717,7]]},"1398":{"position":[[5851,8]]},"1422":{"position":[[2101,7]]},"1454":{"position":[[5439,7],[7374,7]]},"1485":{"position":[[1805,7],[2129,7]]}},"keywords":{}}],["forward(a",{"_index":4277,"title":{},"content":{"892":{"position":[[1014,10],[1477,10],[1704,10]]}},"keywords":{}}],["forward(a)nod",{"_index":4278,"title":{},"content":{"892":{"position":[[1278,15]]}},"keywords":{}}],["forward(b",{"_index":4279,"title":{},"content":{"892":{"position":[[1461,10],[1688,10]]}},"keywords":{}}],["forwarded).fallback_actu",{"_index":4970,"title":{},"content":{"995":{"position":[[241,26]]}},"keywords":{}}],["found",{"_index":438,"title":{},"content":{"15":{"position":[[43,5]]},"17":{"position":[[1275,5]]},"36":{"position":[[123,5]]},"181":{"position":[[123,5]]},"243":{"position":[[438,5]]},"338":{"position":[[464,6]]},"557":{"position":[[643,5]]},"566":{"position":[[565,5]]},"569":{"position":[[403,6],[476,5]]},"581":{"position":[[627,5]]},"594":{"position":[[445,6],[452,5]]},"596":{"position":[[161,6],[319,6],[502,5]]},"612":{"position":[[163,6],[522,5]]},"718":{"position":[[184,6]]},"839":{"position":[[20,5]]},"847":{"position":[[105,5],[331,5]]},"848":{"position":[[431,5],[543,5],[742,5]]},"884":{"position":[[66,5]]},"895":{"position":[[325,5]]},"897":{"position":[[116,6]]},"905":{"position":[[1098,5]]},"906":{"position":[[435,5]]},"1044":{"position":[[656,5]]},"1082":{"position":[[171,5]]},"1112":{"position":[[1143,5]]},"1172":{"position":[[1171,5]]},"1173":{"position":[[471,5]]},"1174":{"position":[[375,5]]},"1175":{"position":[[395,5]]},"1176":{"position":[[479,5]]},"1177":{"position":[[391,5]]},"1178":{"position":[[545,5]]},"1179":{"position":[[411,5]]},"1180":{"position":[[741,5]]},"1181":{"position":[[496,5]]},"1182":{"position":[[433,5]]},"1183":{"position":[[388,5]]},"1232":{"position":[[3302,5]]},"1273":{"position":[[546,6],[595,5]]},"1304":{"position":[[546,6],[595,5]]},"1332":{"position":[[546,6],[595,5]]},"1345":{"position":[[42,5]]},"1356":{"position":[[740,5]]},"1412":{"position":[[3550,5]]},"1461":{"position":[[2016,5]]},"1462":{"position":[[8498,5]]},"1467":{"position":[[9980,5]]},"1487":{"position":[[3154,5],[3317,5],[3786,5]]}},"keywords":{}}],["found_satisfied_constraint",{"_index":5094,"title":{},"content":{"1026":{"position":[[1257,26],[1365,26],[1412,27]]}},"keywords":{}}],["four",{"_index":196,"title":{},"content":{"9":{"position":[[554,4]]},"389":{"position":[[877,4]]},"768":{"position":[[877,4]]},"892":{"position":[[1997,4]]},"898":{"position":[[2590,4]]}},"keywords":{}}],["fpic",{"_index":7277,"title":{},"content":{"1386":{"position":[[3883,7],[5061,4]]}},"keywords":{}}],["frame",{"_index":3083,"title":{},"content":{"632":{"position":[[241,6]]},"633":{"position":[[112,6]]},"1231":{"position":[[508,5]]},"1384":{"position":[[21461,5],[21849,5]]},"1385":{"position":[[7376,5]]}},"keywords":{}}],["framework",{"_index":1941,"title":{"951":{"position":[[34,11]]}},"content":{"368":{"position":[[662,10]]},"747":{"position":[[662,10]]},"860":{"position":[[562,9]]},"951":{"position":[[21,9],[1409,9]]},"1362":{"position":[[2066,11],[8059,11],[8088,10],[13946,10]]},"1364":{"position":[[2048,11],[8908,11],[8937,10],[14672,10]]},"1367":{"position":[[3257,11],[8147,11],[8176,10],[14525,10]]},"1373":{"position":[[1050,11]]},"1380":{"position":[[584,10]]},"1381":{"position":[[2074,9]]},"1382":{"position":[[1182,11]]},"1384":{"position":[[1862,11]]},"1385":{"position":[[638,11]]},"1387":{"position":[[1941,11]]},"1388":{"position":[[1340,10],[1367,11],[3516,9],[6455,10]]},"1415":{"position":[[828,11]]},"1429":{"position":[[6063,9]]},"1440":{"position":[[5963,9]]},"1453":{"position":[[631,10],[658,11],[1931,9]]},"1454":{"position":[[1306,11]]},"1462":{"position":[[1603,11]]},"1467":{"position":[[1739,11],[5063,10]]},"1473":{"position":[[997,10],[3840,10],[3873,10],[4082,10]]},"1480":{"position":[[537,11]]}},"keywords":{}}],["framework_v",{"_index":7120,"title":{},"content":{"1381":{"position":[[522,14],[2593,13]]},"1456":{"position":[[1656,13]]}},"keywords":{}}],["frecli",{"_index":4300,"title":{},"content":{"895":{"position":[[634,6]]},"1172":{"position":[[584,6]]}},"keywords":{}}],["free",{"_index":159,"title":{},"content":{"7":{"position":[[370,4]]},"938":{"position":[[5,4]]},"1102":{"position":[[1055,4]]}},"keywords":{}}],["freebsdlinuxmacoswindow",{"_index":7085,"title":{},"content":{"1374":{"position":[[2586,24]]}},"keywords":{}}],["freeli",{"_index":207,"title":{},"content":{"9":{"position":[[832,7]]},"898":{"position":[[1165,7]]}},"keywords":{}}],["freez",{"_index":4145,"title":{},"content":{"887":{"position":[[271,7]]},"888":{"position":[[1309,8]]},"890":{"position":[[6313,8],[6373,6],[6584,6],[6717,7]]}},"keywords":{}}],["frequenc",{"_index":6101,"title":{},"content":{"1231":{"position":[[790,10]]}},"keywords":{}}],["frequent",{"_index":5543,"title":{},"content":{"1079":{"position":[[845,10]]},"1358":{"position":[[2287,10]]},"1386":{"position":[[3372,10]]},"1429":{"position":[[5434,10]]},"1440":{"position":[[5428,10]]},"1458":{"position":[[1063,11],[2417,10]]}},"keywords":{}}],["fresh",{"_index":5120,"title":{},"content":{"1035":{"position":[[266,5]]}},"keywords":{}}],["friend",{"_index":5702,"title":{},"content":{"1106":{"position":[[46,8]]},"1439":{"position":[[4518,6]]}},"keywords":{}}],["friend_path",{"_index":6349,"title":{},"content":{"1348":{"position":[[1167,13]]},"1355":{"position":[[1134,13]]},"1439":{"position":[[1059,13],[4447,13]]},"1440":{"position":[[1243,13]]},"1470":{"position":[[1294,13]]}},"keywords":{}}],["from.get("value").unwrap",{"_index":4182,"title":{},"content":{"889":{"position":[[346,37]]}},"keywords":{}}],["from_nod",{"_index":4407,"title":{},"content":{"904":{"position":[[958,9],[1225,9]]},"905":{"position":[[893,9],[991,10]]},"906":{"position":[[1083,9],[1187,10]]}},"keywords":{}}],["fromctx.bxl_actions().act",{"_index":3716,"title":{},"content":{"711":{"position":[[1032,30]]}},"keywords":{}}],["fromexported_dep",{"_index":6931,"title":{},"content":{"1364":{"position":[[13260,17]]},"1384":{"position":[[18191,17]]}},"keywords":{}}],["frompackag",{"_index":4987,"title":{},"content":{"1000":{"position":[[717,11]]}},"keywords":{}}],["fromprovid",{"_index":3925,"title":{},"content":{"852":{"position":[[63,16]]},"853":{"position":[[68,15]]}},"keywords":{}}],["fromrepo//foo:bar'",{"_index":4687,"title":{},"content":{"943":{"position":[[1155,19]]}},"keywords":{}}],["fromruninfo",{"_index":5660,"title":{},"content":{"1104":{"position":[[1203,12]]}},"keywords":{}}],["front",{"_index":7617,"title":{},"content":{"1398":{"position":[[3636,5]]}},"keywords":{}}],["frozen",{"_index":2498,"title":{},"content":{"553":{"position":[[158,6]]},"557":{"position":[[394,6]]},"558":{"position":[[248,7]]},"559":{"position":[[501,7]]},"560":{"position":[[737,7]]},"563":{"position":[[160,6]]},"564":{"position":[[145,6]]},"565":{"position":[[266,6]]},"567":{"position":[[439,6]]},"568":{"position":[[306,6]]},"569":{"position":[[218,7]]},"887":{"position":[[145,6]]},"890":{"position":[[1038,7],[1817,6],[2699,7],[3454,6],[3517,7],[5329,7],[5438,6]]},"898":{"position":[[422,9],[696,6],[739,6],[786,6],[1140,6],[1474,6]]},"1001":{"position":[[476,6]]},"1064":{"position":[[574,6]]},"1186":{"position":[[566,6],[710,6]]},"1187":{"position":[[579,6],[723,6]]},"1188":{"position":[[5305,6],[5449,6]]}},"keywords":{}}],["frozen(frozennam",{"_index":4236,"title":{},"content":{"890":{"position":[[4135,20]]}},"keywords":{}}],["frozen(frozenslot",{"_index":4221,"title":{},"content":{"890":{"position":[[2486,20]]}},"keywords":{}}],["frozen.stat",{"_index":5362,"title":{},"content":{"1056":{"position":[[1072,17]]}},"keywords":{}}],["frozen.th",{"_index":4235,"title":{},"content":{"890":{"position":[[3758,10]]}},"keywords":{}}],["frozen.tim",{"_index":5360,"title":{},"content":{"1056":{"position":[[829,11]]}},"keywords":{}}],["frozen.via",{"_index":4233,"title":{},"content":{"890":{"position":[[3370,10]]}},"keywords":{}}],["frozencontext",{"_index":4249,"title":{},"content":{"890":{"position":[[5457,14],[5479,13]]}},"keywords":{}}],["frozenheap",{"_index":4135,"title":{},"content":{"886":{"position":[[142,10],[239,10],[413,10],[473,10],[534,11]]},"887":{"position":[[337,10],[362,10],[477,10]]},"888":{"position":[[483,10],[1332,11]]},"889":{"position":[[786,10]]}},"keywords":{}}],["frozenheap::new",{"_index":4157,"title":{},"content":{"888":{"position":[[265,18]]}},"keywords":{}}],["frozenheapref",{"_index":4137,"title":{},"content":{"886":{"position":[[220,13],[308,13]]},"887":{"position":[[541,14]]},"888":{"position":[[329,13]]},"889":{"position":[[103,13]]}},"keywords":{}}],["frozenheapref'",{"_index":4141,"title":{},"content":{"886":{"position":[[506,15]]}},"keywords":{}}],["frozenheapref.a",{"_index":4149,"title":{},"content":{"887":{"position":[[435,15]]}},"keywords":{}}],["frozenmodul",{"_index":4148,"title":{},"content":{"887":{"position":[[411,12]]},"889":{"position":[[28,13]]}},"keywords":{}}],["frozenmodulethat",{"_index":4174,"title":{},"content":{"888":{"position":[[1271,16]]}},"keywords":{}}],["frozennam",{"_index":4250,"title":{},"content":{"890":{"position":[[5502,12]]}},"keywords":{}}],["frozennames(arc<hashmap<str",{"_index":4239,"title":{},"content":{"890":{"position":[[4227,37]]}},"keywords":{}}],["frozenslots(arc<vec<option<frozenvalue>>>",{"_index":4223,"title":{},"content":{"890":{"position":[[2580,61]]}},"keywords":{}}],["frozenvalu",{"_index":4139,"title":{},"content":{"886":{"position":[[359,12]]},"888":{"position":[[28,11],[787,11]]},"889":{"position":[[123,12],[822,12],[920,12],[1164,11],[1258,11]]},"898":{"position":[[2123,11],[2796,11]]}},"keywords":{}}],["frozenvalue'",{"_index":4136,"title":{},"content":{"886":{"position":[[157,13]]}},"keywords":{}}],["fsck",{"_index":6027,"title":{},"content":{"1204":{"position":[[160,4],[6344,5],[6399,4]]}},"keywords":{}}],["full",{"_index":1149,"title":{},"content":{"92":{"position":[[1924,4]]},"224":{"position":[[1924,4]]},"570":{"position":[[521,4]]},"635":{"position":[[50,4]]},"1013":{"position":[[137,4]]},"1057":{"position":[[887,4]]},"1138":{"position":[[246,4],[431,4],[609,4]]},"1172":{"position":[[1673,4]]},"1173":{"position":[[973,4]]},"1226":{"position":[[3425,4],[3610,4],[3788,4]]},"1237":{"position":[[3595,4],[3780,4],[3958,4]]},"1240":{"position":[[392,4],[413,4],[434,4]]},"1373":{"position":[[5750,4]]},"1384":{"position":[[18364,4]]},"1386":{"position":[[5990,4]]},"1399":{"position":[[1557,4]]},"1408":{"position":[[2114,4]]},"1410":{"position":[[4274,4]]},"1457":{"position":[[1701,4]]},"1472":{"position":[[5680,4]]}},"keywords":{}}],["full_failed_command",{"_index":5912,"title":{},"content":{"1136":{"position":[[6324,20]]},"1138":{"position":[[9986,20]]},"1140":{"position":[[8912,20]]},"1142":{"position":[[4356,20]]},"1144":{"position":[[684,20]]},"1146":{"position":[[4296,20]]},"1148":{"position":[[7887,20]]},"1150":{"position":[[919,20]]},"1152":{"position":[[617,20]]},"1154":{"position":[[772,20]]},"1155":{"position":[[4392,20]]},"1156":{"position":[[3970,20]]},"1157":{"position":[[555,20]]},"1158":{"position":[[549,20]]},"1159":{"position":[[549,20]]},"1161":{"position":[[1544,20]]},"1163":{"position":[[930,20]]},"1165":{"position":[[759,20]]},"1167":{"position":[[9916,20]]},"1169":{"position":[[3024,20]]},"1171":{"position":[[1265,20]]},"1172":{"position":[[2650,20]]},"1173":{"position":[[1337,20]]},"1174":{"position":[[765,20]]},"1175":{"position":[[761,20]]},"1176":{"position":[[930,20]]},"1177":{"position":[[851,20]]},"1178":{"position":[[1168,20]]},"1179":{"position":[[965,20]]},"1180":{"position":[[1236,20]]},"1181":{"position":[[1756,20]]},"1182":{"position":[[799,20]]},"1183":{"position":[[754,20]]},"1185":{"position":[[599,20]]},"1186":{"position":[[5560,20]]},"1187":{"position":[[5573,20]]},"1188":{"position":[[10299,20]]},"1190":{"position":[[1930,20]]},"1191":{"position":[[4160,20]]},"1192":{"position":[[4335,20]]},"1193":{"position":[[4387,20]]},"1194":{"position":[[4027,20]]},"1195":{"position":[[4005,20]]},"1196":{"position":[[3815,20]]},"1197":{"position":[[4798,20]]},"1198":{"position":[[4808,20]]},"1199":{"position":[[4836,20]]},"1200":{"position":[[4703,20]]},"1201":{"position":[[3963,20]]},"1202":{"position":[[707,20],[5105,20],[9502,20]]},"1203":{"position":[[4197,20]]},"1204":{"position":[[4041,20],[4943,20],[5873,20],[6775,20],[7761,20],[8715,20],[9662,20],[10592,20]]},"1205":{"position":[[5370,20]]},"1206":{"position":[[4069,20]]},"1207":{"position":[[3998,20]]},"1209":{"position":[[5346,20]]},"1211":{"position":[[670,20]]},"1213":{"position":[[441,20]]},"1215":{"position":[[525,20]]},"1217":{"position":[[8657,20]]},"1219":{"position":[[3912,20]]},"1221":{"position":[[644,20]]},"1222":{"position":[[3783,20]]},"1223":{"position":[[3793,20]]},"1224":{"position":[[3226,20]]},"1226":{"position":[[9125,20]]},"1228":{"position":[[10738,20]]},"1235":{"position":[[6606,20]]},"1237":{"position":[[9295,20]]}},"keywords":{}}],["fulli",{"_index":1563,"title":{},"content":{"284":{"position":[[98,5]]},"334":{"position":[[675,5]]},"463":{"position":[[52,5]]},"474":{"position":[[414,5]]},"484":{"position":[[88,5]]},"675":{"position":[[186,5]]},"693":{"position":[[3472,5]]},"699":{"position":[[146,5]]},"1079":{"position":[[235,5]]},"1148":{"position":[[217,5]]},"1202":{"position":[[133,5],[1200,5]]},"1226":{"position":[[300,5]]},"1237":{"position":[[470,5]]},"1269":{"position":[[67,5]]},"1300":{"position":[[67,5]]},"1328":{"position":[[67,5]]},"1386":{"position":[[5173,5]]},"1427":{"position":[[7951,5]]},"1439":{"position":[[8775,5]]},"1462":{"position":[[7089,5]]},"1467":{"position":[[8058,5]]}},"keywords":{}}],["fun",{"_index":313,"title":{},"content":{"10":{"position":[[109,4]]}},"keywords":{}}],["func",{"_index":2363,"title":{},"content":{"441":{"position":[[18,5]]},"442":{"position":[[19,5]]},"643":{"position":[[12,5]]},"657":{"position":[[13,5]]},"820":{"position":[[18,5]]},"821":{"position":[[19,5]]}},"keywords":{}}],["func1",{"_index":4772,"title":{},"content":{"961":{"position":[[471,5]]},"966":{"position":[[313,5]]}},"keywords":{}}],["func2",{"_index":4776,"title":{},"content":{"961":{"position":[[558,5]]},"966":{"position":[[530,5]]}},"keywords":{}}],["function",{"_index":613,"title":{"843":{"position":[[11,16]]},"961":{"position":[[15,9]]},"979":{"position":[[31,8]]},"1009":{"position":[[37,8]]},"1259":{"position":[[13,10]]},"1285":{"position":[[6,10]]},"1290":{"position":[[13,10]]},"1318":{"position":[[13,10]]}},"content":{"20":{"position":[[276,9],[356,9],[432,9],[519,10],[566,9]]},"22":{"position":[[200,12]]},"29":{"position":[[72,8]]},"30":{"position":[[111,8]]},"31":{"position":[[94,8]]},"71":{"position":[[62,9]]},"92":{"position":[[675,9],[716,8],[872,8],[1486,8],[1648,8],[1809,8],[2453,8]]},"119":{"position":[[108,8]]},"171":{"position":[[124,10]]},"185":{"position":[[72,8]]},"186":{"position":[[111,8]]},"187":{"position":[[94,8]]},"224":{"position":[[675,9],[716,8],[872,8],[1486,8],[1648,8],[1809,8],[2453,8]]},"243":{"position":[[368,9]]},"276":{"position":[[563,8]]},"277":{"position":[[511,8]]},"281":{"position":[[652,8]]},"282":{"position":[[602,8]]},"295":{"position":[[146,10],[162,8]]},"296":{"position":[[95,10]]},"297":{"position":[[1100,8]]},"298":{"position":[[681,9],[804,9]]},"299":{"position":[[100,8]]},"301":{"position":[[879,8]]},"302":{"position":[[146,10],[162,8]]},"305":{"position":[[352,8]]},"307":{"position":[[95,8]]},"310":{"position":[[795,8]]},"312":{"position":[[94,10]]},"314":{"position":[[224,8]]},"344":{"position":[[294,8]]},"368":{"position":[[616,8]]},"400":{"position":[[458,9]]},"405":{"position":[[914,8]]},"408":{"position":[[241,8]]},"414":{"position":[[269,8]]},"416":{"position":[[402,8]]},"417":{"position":[[632,8]]},"418":{"position":[[123,8]]},"419":{"position":[[50,8]]},"421":{"position":[[398,8]]},"422":{"position":[[288,8]]},"430":{"position":[[176,9]]},"432":{"position":[[104,8]]},"438":{"position":[[134,8],[223,8]]},"441":{"position":[[140,9]]},"442":{"position":[[93,9]]},"443":{"position":[[121,8]]},"446":{"position":[[271,8]]},"494":{"position":[[62,9]]},"535":{"position":[[108,8]]},"551":{"position":[[124,10]]},"582":{"position":[[404,13]]},"642":{"position":[[102,9]]},"643":{"position":[[196,8]]},"653":{"position":[[88,8]]},"654":{"position":[[270,8]]},"657":{"position":[[46,8]]},"663":{"position":[[27,8],[943,9]]},"666":{"position":[[379,8],[482,9]]},"680":{"position":[[753,13],[942,13],[1024,14]]},"687":{"position":[[34,9],[195,13]]},"693":{"position":[[6492,9],[7058,9]]},"711":{"position":[[120,9],[780,10],[807,8],[952,9]]},"712":{"position":[[740,8],[1379,8],[2109,8],[3015,8]]},"715":{"position":[[915,9]]},"747":{"position":[[616,8]]},"779":{"position":[[458,9]]},"784":{"position":[[914,8]]},"787":{"position":[[241,8]]},"793":{"position":[[269,8]]},"795":{"position":[[402,8]]},"796":{"position":[[632,8]]},"797":{"position":[[123,8]]},"798":{"position":[[50,8]]},"800":{"position":[[398,8]]},"801":{"position":[[288,8]]},"809":{"position":[[176,9]]},"811":{"position":[[104,8]]},"817":{"position":[[134,8],[223,8]]},"820":{"position":[[140,9]]},"821":{"position":[[93,9]]},"822":{"position":[[121,8]]},"825":{"position":[[271,8]]},"832":{"position":[[223,8]]},"835":{"position":[[312,9]]},"839":{"position":[[113,16]]},"840":{"position":[[203,8],[636,9],[1161,8],[1282,9],[1426,9],[1789,9]]},"841":{"position":[[13,9],[254,8],[322,8],[512,9]]},"844":{"position":[[118,9]]},"847":{"position":[[227,17]]},"850":{"position":[[6,8],[679,10]]},"864":{"position":[[954,8]]},"874":{"position":[[28,15]]},"878":{"position":[[104,9],[653,8]]},"890":{"position":[[1230,8],[1840,9],[2159,10],[3769,8],[4669,8],[4693,8],[4876,8],[4920,9],[5246,9],[5406,8]]},"898":{"position":[[1235,10],[1761,9],[1885,9]]},"900":{"position":[[408,9]]},"904":{"position":[[90,9],[104,8],[834,10]]},"905":{"position":[[11,9],[164,8],[232,8],[341,13],[1391,10]]},"915":{"position":[[21,9]]},"940":{"position":[[70,8],[402,8]]},"944":{"position":[[105,8]]},"950":{"position":[[555,9],[608,9]]},"951":{"position":[[964,9],[1052,8],[1260,8]]},"961":{"position":[[713,9],[859,8]]},"962":{"position":[[19,9]]},"964":{"position":[[314,9]]},"965":{"position":[[36,8],[84,8],[433,8]]},"980":{"position":[[457,8],[580,8],[678,8],[1340,8]]},"981":{"position":[[27,8],[85,8],[405,8],[487,8],[727,8],[775,9],[790,8],[849,8]]},"998":{"position":[[189,9],[209,9]]},"1000":{"position":[[628,9],[669,10],[707,9]]},"1001":{"position":[[28,9],[331,9],[1166,9],[1224,8],[1326,8],[1387,8]]},"1002":{"position":[[35,9]]},"1004":{"position":[[89,8],[247,8],[296,8],[420,8],[732,8],[2010,8]]},"1005":{"position":[[9,8],[127,9]]},"1006":{"position":[[857,9]]},"1009":{"position":[[38,8]]},"1026":{"position":[[1064,8]]},"1040":{"position":[[29,9],[195,9],[236,8],[408,8],[557,14],[974,8],[1258,8],[1750,8],[1911,8],[2059,8],[2788,8]]},"1042":{"position":[[589,9]]},"1043":{"position":[[162,9]]},"1044":{"position":[[358,9],[382,8],[550,9]]},"1049":{"position":[[81,9],[205,8],[434,9]]},"1056":{"position":[[565,8],[608,9]]},"1057":{"position":[[83,8],[225,8],[623,8],[1167,8]]},"1058":{"position":[[1280,8],[1314,8]]},"1064":{"position":[[387,9],[1307,8],[1418,8],[1483,8]]},"1065":{"position":[[153,8],[259,8],[320,8]]},"1082":{"position":[[253,8]]},"1083":{"position":[[151,8]]},"1104":{"position":[[2279,10]]},"1106":{"position":[[4,9]]},"1108":{"position":[[392,9]]},"1112":{"position":[[3749,8]]},"1136":{"position":[[297,9]]},"1140":{"position":[[137,8]]},"1148":{"position":[[830,9]]},"1155":{"position":[[688,10]]},"1188":{"position":[[190,8]]},"1207":{"position":[[83,8]]},"1226":{"position":[[1394,8],[1506,8],[1714,8],[1762,9]]},"1232":{"position":[[3245,8]]},"1235":{"position":[[623,9]]},"1237":{"position":[[1564,8],[1676,8],[1884,8],[1932,9]]},"1247":{"position":[[302,8]]},"1251":{"position":[[140,8]]},"1254":{"position":[[607,12]]},"1258":{"position":[[172,8],[352,8],[581,8],[664,8],[722,10],[910,8],[1009,8],[1052,9],[1149,8]]},"1259":{"position":[[1171,8],[1561,8],[1625,9],[1659,8],[1723,9],[1755,8],[1819,9],[1860,8],[1924,9],[1961,8],[2025,9]]},"1260":{"position":[[54,8]]},"1272":{"position":[[5,8],[137,9]]},"1277":{"position":[[9,8],[73,9],[110,8]]},"1278":{"position":[[9,8],[73,9]]},"1279":{"position":[[9,8],[73,9],[110,8]]},"1280":{"position":[[9,8],[73,9],[110,8]]},"1281":{"position":[[9,8],[73,9],[110,8]]},"1289":{"position":[[172,8],[352,8],[581,8],[664,8],[722,10],[910,8],[1009,8],[1052,9],[1149,8]]},"1290":{"position":[[1171,8],[1561,8],[1625,9],[1659,8],[1723,9],[1755,8],[1819,9],[1860,8],[1924,9],[1961,8],[2025,9]]},"1291":{"position":[[54,8]]},"1303":{"position":[[5,8],[137,9]]},"1308":{"position":[[9,8],[73,9],[110,8]]},"1309":{"position":[[9,8],[73,9]]},"1310":{"position":[[9,8],[73,9],[110,8]]},"1311":{"position":[[9,8],[73,9],[110,8]]},"1312":{"position":[[9,8],[73,9],[110,8]]},"1317":{"position":[[172,8],[352,8],[581,8],[664,8],[722,10],[910,8],[1009,8],[1052,9],[1149,8]]},"1318":{"position":[[1171,8],[1561,8],[1625,9],[1659,8],[1723,9],[1755,8],[1819,9],[1860,8],[1924,9],[1961,8],[2025,9]]},"1319":{"position":[[54,8]]},"1331":{"position":[[5,8],[137,9]]},"1336":{"position":[[9,8],[73,9],[110,8]]},"1337":{"position":[[9,8],[73,9]]},"1338":{"position":[[9,8],[73,9],[110,8]]},"1339":{"position":[[9,8],[73,9],[110,8]]},"1340":{"position":[[9,8],[73,9],[110,8]]},"1355":{"position":[[5383,9]]},"1382":{"position":[[4561,10]]},"1388":{"position":[[5255,10]]},"1392":{"position":[[762,9]]},"1395":{"position":[[2646,8]]},"1415":{"position":[[3979,8]]},"1442":{"position":[[1551,10]]},"1462":{"position":[[7004,8],[7256,8]]},"1467":{"position":[[7973,8],[8225,8],[8780,8]]}},"keywords":{}}],["function>",{"_index":3869,"title":{},"content":{"841":{"position":[[67,12],[120,12],[374,12]]}},"keywords":{}}],["function>:<funct",{"_index":3873,"title":{},"content":{"841":{"position":[[165,25]]}},"keywords":{}}],["function.a",{"_index":4361,"title":{},"content":{"900":{"position":[[223,10]]}},"keywords":{}}],["function.ref",{"_index":4993,"title":{},"content":{"1004":{"position":[[471,13]]}},"keywords":{}}],["function.split",{"_index":4994,"title":{},"content":{"1004":{"position":[[569,14]]}},"keywords":{}}],["function.td",{"_index":4475,"title":{},"content":{"916":{"position":[[336,11]]}},"keywords":{}}],["function.th",{"_index":1126,"title":{},"content":{"92":{"position":[[859,12]]},"224":{"position":[[859,12]]},"900":{"position":[[1210,12]]},"1040":{"position":[[961,12]]}},"keywords":{}}],["function_nam",{"_index":7826,"title":{},"content":{"1415":{"position":[[855,14]]}},"keywords":{}}],["functionality.us",{"_index":687,"title":{},"content":{"22":{"position":[[2005,18]]}},"keywords":{}}],["functions.th",{"_index":4365,"title":{},"content":{"900":{"position":[[627,13]]}},"keywords":{}}],["functions.when",{"_index":4173,"title":{},"content":{"888":{"position":[[1199,14]]}},"keywords":{}}],["fundament",{"_index":5757,"title":{},"content":{"1114":{"position":[[737,11]]},"1351":{"position":[[4831,11]]},"1353":{"position":[[2290,12]]}},"keywords":{}}],["further",{"_index":424,"title":{},"content":{"13":{"position":[[218,7]]},"276":{"position":[[581,7]]},"277":{"position":[[529,7]]},"281":{"position":[[670,7]]},"282":{"position":[[620,7]]},"405":{"position":[[1331,7]]},"416":{"position":[[466,7],[676,7]]},"417":{"position":[[696,7],[906,7]]},"705":{"position":[[661,7]]},"784":{"position":[[1331,7]]},"795":{"position":[[466,7],[676,7]]},"796":{"position":[[696,7],[906,7]]},"846":{"position":[[1212,7]]},"861":{"position":[[151,7],[452,7]]},"990":{"position":[[1279,7]]},"1067":{"position":[[622,7]]},"1078":{"position":[[3,7]]},"1079":{"position":[[508,7]]},"1105":{"position":[[2520,7]]},"1228":{"position":[[1468,7]]},"1462":{"position":[[8059,7]]},"1467":{"position":[[9119,7]]}},"keywords":{}}],["furthermor",{"_index":2681,"title":{},"content":{"582":{"position":[[282,12]]},"954":{"position":[[728,12]]}},"keywords":{}}],["futur",{"_index":605,"title":{"970":{"position":[[9,6]]}},"content":{"19":{"position":[[142,7]]},"23":{"position":[[1655,6]]},"233":{"position":[[311,7]]},"418":{"position":[[1209,7]]},"446":{"position":[[166,7]]},"477":{"position":[[368,6]]},"584":{"position":[[1522,6]]},"595":{"position":[[1396,6]]},"797":{"position":[[1209,7]]},"825":{"position":[[166,7]]},"921":{"position":[[403,6]]},"942":{"position":[[1295,6]]},"947":{"position":[[1263,7]]},"950":{"position":[[872,7]]},"955":{"position":[[296,6]]},"980":{"position":[[797,6]]},"1001":{"position":[[1493,7],[1600,7]]},"1027":{"position":[[23,6]]},"1040":{"position":[[716,7]]},"1044":{"position":[[413,7]]},"1065":{"position":[[426,7]]},"1112":{"position":[[113,7],[761,7]]},"1114":{"position":[[652,7]]},"1150":{"position":[[461,7]]},"1190":{"position":[[395,7]]},"1192":{"position":[[232,7]]},"1403":{"position":[[6379,7]]},"1471":{"position":[[2754,6]]},"1472":{"position":[[2713,6]]},"1473":{"position":[[3028,6]]}},"keywords":{}}],["futureal",{"_index":5178,"title":{},"content":{"1044":{"position":[[437,9]]}},"keywords":{}}],["g",{"_index":4869,"title":{},"content":{"983":{"position":[[55,2]]},"1060":{"position":[[48,1]]},"1386":{"position":[[3870,3],[5054,1]]}},"keywords":{}}],["gain",{"_index":3454,"title":{},"content":{"689":{"position":[[188,4]]}},"keywords":{}}],["garbag",{"_index":4144,"title":{"891":{"position":[[9,7]]}},"content":{"887":{"position":[[226,7]]},"892":{"position":[[599,7],[1197,7],[2021,7]]},"898":{"position":[[188,7]]},"1056":{"position":[[670,7]]},"1057":{"position":[[1103,7]]},"1186":{"position":[[868,7]]},"1187":{"position":[[881,7]]},"1188":{"position":[[5607,7]]},"1247":{"position":[[201,7],[277,7]]}},"keywords":{}}],["gc",{"_index":696,"title":{},"content":{"23":{"position":[[283,2]]},"898":{"position":[[839,3]]},"1247":{"position":[[473,2]]}},"keywords":{}}],["gcc",{"_index":3516,"title":{},"content":{"693":{"position":[[405,3]]},"1362":{"position":[[12822,3]]},"1364":{"position":[[13522,3]]},"1367":{"position":[[12730,3]]},"1382":{"position":[[11184,3]]},"1384":{"position":[[18838,3]]},"1385":{"position":[[6762,3]]},"1387":{"position":[[10135,3]]},"1388":{"position":[[9677,3]]},"1442":{"position":[[2557,3]]},"1485":{"position":[[4048,3]]}},"keywords":{}}],["gcno_fil",{"_index":7366,"title":{},"content":{"1389":{"position":[[2283,11]]}},"keywords":{}}],["gdb",{"_index":6096,"title":{},"content":{"1231":{"position":[[326,3]]}},"keywords":{}}],["gen",{"_index":7920,"title":{},"content":{"1422":{"position":[[4474,3]]},"1423":{"position":[[3468,3]]}},"keywords":{}}],["gen_aidl",{"_index":7662,"title":{"1402":{"position":[[0,9]]}},"content":{"1402":{"position":[[4,9],[668,10],[2309,9]]}},"keywords":{}}],["gener",{"_index":58,"title":{"719":{"position":[[39,10]]},"721":{"position":[[37,10]]},"723":{"position":[[41,10]]},"725":{"position":[[28,10]]},"872":{"position":[[0,8]]}},"content":{"4":{"position":[[348,10],[413,8]]},"5":{"position":[[365,7]]},"13":{"position":[[23,8]]},"18":{"position":[[341,8],[2269,8]]},"22":{"position":[[285,9]]},"23":{"position":[[1848,9]]},"82":{"position":[[167,8]]},"84":{"position":[[83,8]]},"98":{"position":[[1063,9],[1311,10]]},"99":{"position":[[1471,9]]},"214":{"position":[[167,8]]},"216":{"position":[[83,8]]},"230":{"position":[[1063,9],[1311,10]]},"231":{"position":[[1471,9]]},"240":{"position":[[107,7]]},"243":{"position":[[449,9]]},"329":{"position":[[167,7]]},"405":{"position":[[1027,8]]},"406":{"position":[[620,9]]},"421":{"position":[[232,10]]},"429":{"position":[[566,7]]},"438":{"position":[[203,7]]},"470":{"position":[[107,7]]},"477":{"position":[[394,7]]},"584":{"position":[[747,7]]},"685":{"position":[[182,7]]},"687":{"position":[[49,8],[74,8]]},"688":{"position":[[905,9],[977,8]]},"693":{"position":[[3380,9]]},"711":{"position":[[239,9],[398,9]]},"715":{"position":[[533,8],[608,8]]},"721":{"position":[[82,8]]},"784":{"position":[[1027,8]]},"785":{"position":[[620,9]]},"800":{"position":[[232,10]]},"808":{"position":[[566,7]]},"817":{"position":[[203,7]]},"839":{"position":[[228,7]]},"841":{"position":[[456,9]]},"846":{"position":[[1501,9]]},"872":{"position":[[12,10],[205,8],[289,9],[477,10],[585,8],[953,8]]},"889":{"position":[[470,8]]},"898":{"position":[[2552,7]]},"937":{"position":[[1733,10],[1914,8],[3561,10]]},"951":{"position":[[806,10]]},"954":{"position":[[425,8]]},"955":{"position":[[701,10],[1016,10]]},"956":{"position":[[291,9]]},"958":{"position":[[156,8],[330,10]]},"964":{"position":[[13,8],[48,8]]},"980":{"position":[[496,9],[692,9],[836,10],[873,9],[1172,9]]},"987":{"position":[[534,9]]},"991":{"position":[[1315,10]]},"1021":{"position":[[370,9]]},"1045":{"position":[[426,8]]},"1053":{"position":[[6,7]]},"1087":{"position":[[138,9]]},"1093":{"position":[[220,9]]},"1108":{"position":[[239,9]]},"1112":{"position":[[2105,9]]},"1113":{"position":[[34,9]]},"1114":{"position":[[250,9],[1046,9]]},"1138":{"position":[[3248,9],[4680,10]]},"1140":{"position":[[2737,9],[4169,10]]},"1142":{"position":[[7,9]]},"1144":{"position":[[267,8]]},"1154":{"position":[[183,8]]},"1156":{"position":[[0,8],[94,10]]},"1161":{"position":[[234,8]]},"1167":{"position":[[3741,9],[5173,10]]},"1188":{"position":[[2790,9],[4222,10]]},"1217":{"position":[[2482,9],[3914,10]]},"1228":{"position":[[4563,9],[5995,10]]},"1245":{"position":[[456,8]]},"1253":{"position":[[460,8],[588,9]]},"1260":{"position":[[748,8]]},"1291":{"position":[[748,8]]},"1319":{"position":[[748,8]]},"1348":{"position":[[2671,8],[3889,8],[4200,8]]},"1351":{"position":[[731,8],[968,9],[1935,9],[2216,9],[2598,9],[2899,9],[3012,9],[4521,9]]},"1353":{"position":[[1374,8],[2798,8]]},"1354":{"position":[[2358,9]]},"1355":{"position":[[3596,9],[3698,8],[5841,10],[6035,10],[6159,11],[6553,9],[6840,11],[6959,10],[7172,11],[7347,11],[7479,8]]},"1356":{"position":[[589,8],[2989,8]]},"1358":{"position":[[1138,9]]},"1359":{"position":[[2132,9],[2225,9]]},"1360":{"position":[[3105,8]]},"1362":{"position":[[7915,10]]},"1363":{"position":[[2949,9],[3014,9],[4668,9],[5707,8]]},"1364":{"position":[[8764,10]]},"1367":{"position":[[8003,10]]},"1382":{"position":[[3140,9]]},"1383":{"position":[[2690,8],[5302,9],[5484,8]]},"1384":{"position":[[10143,10]]},"1393":{"position":[[1147,9],[2333,8],[3500,9],[5921,9],[6257,9],[7141,8],[8432,9]]},"1394":{"position":[[596,9]]},"1395":{"position":[[1694,8]]},"1398":{"position":[[1279,8],[1380,9],[2640,8],[4809,10],[4930,10],[5463,9],[5955,10]]},"1402":{"position":[[695,8]]},"1403":{"position":[[1238,8],[2520,8]]},"1410":{"position":[[1632,9]]},"1412":{"position":[[2651,8],[4138,9]]},"1415":{"position":[[2706,9],[3883,9],[5900,9]]},"1422":{"position":[[2347,8]]},"1423":{"position":[[2017,8]]},"1426":{"position":[[1961,9],[2434,9],[2580,9],[2923,10]]},"1427":{"position":[[2846,8],[5014,10],[5208,10],[5332,11],[5752,9],[6039,11],[6158,10],[6371,11],[6546,11],[6812,8],[6968,8]]},"1439":{"position":[[3417,9],[3518,8],[7661,9]]},"1446":{"position":[[708,8]]},"1462":{"position":[[7851,9]]},"1467":{"position":[[8911,9]]},"1469":{"position":[[1813,8]]},"1471":{"position":[[4211,9],[5472,8]]},"1472":{"position":[[4795,9],[6358,8]]},"1473":{"position":[[4532,9]]},"1478":{"position":[[2195,9],[2443,9]]},"1487":{"position":[[2136,10],[3232,9],[3446,9],[3608,9]]}},"keywords":{}}],["generate_abi",{"_index":8230,"title":{},"content":{"1458":{"position":[[644,13]]}},"keywords":{}}],["generate_linker_map",{"_index":7367,"title":{},"content":{"1389":{"position":[[2305,21]]}},"keywords":{}}],["generate_manifest",{"_index":7690,"title":{},"content":{"1403":{"position":[[7631,20]]}},"keywords":{}}],["generate_manifest_with_named_output",{"_index":7694,"title":{},"content":{"1403":{"position":[[7919,39],[8407,39]]}},"keywords":{}}],["generate_manifest_with_named_outputs'",{"_index":7706,"title":{},"content":{"1403":{"position":[[8889,38],[8960,38]]}},"keywords":{}}],["generate_manifest_with_named_outputs[manifest",{"_index":7699,"title":{},"content":{"1403":{"position":[[8460,49]]}},"keywords":{}}],["generate_release_build_config.pi",{"_index":6494,"title":{},"content":{"1351":{"position":[[4727,32],[5205,32],[5407,35],[5476,33]]}},"keywords":{}}],["generate_target(i",{"_index":6217,"title":{},"content":{"1253":{"position":[[501,18]]}},"keywords":{}}],["generate_targets(n",{"_index":6214,"title":{},"content":{"1253":{"position":[[219,19]]}},"keywords":{}}],["generate_wrapp",{"_index":7949,"title":{},"content":{"1426":{"position":[[664,17]]}},"keywords":{}}],["generating/upd",{"_index":3787,"title":{},"content":{"715":{"position":[[1282,19]]}},"keywords":{}}],["genrul",{"_index":270,"title":{"685":{"position":[[29,8]]},"686":{"position":[[27,9]]},"1403":{"position":[[0,8]]}},"content":{"9":{"position":[[2032,8]]},"685":{"position":[[209,9],[224,9],[296,8]]},"686":{"position":[[76,9]]},"688":{"position":[[206,10],[920,10]]},"1107":{"position":[[31,7]]},"1243":{"position":[[725,8],[772,7],[841,7]]},"1351":{"position":[[5351,8]]},"1356":{"position":[[2976,9]]},"1358":{"position":[[2081,10]]},"1360":{"position":[[1423,7],[3668,10],[5690,7]]},"1374":{"position":[[2840,9]]},"1383":{"position":[[4617,10],[6300,10],[7691,8],[7765,8],[8195,7]]},"1399":{"position":[[2902,8]]},"1401":{"position":[[1835,8]]},"1403":{"position":[[4,8],[1217,9],[3083,10],[5052,7],[5519,8],[6079,7],[6150,7],[6791,8],[6865,8],[7295,7],[7363,9],[7615,8],[7903,8]]},"1422":{"position":[[4256,8],[4388,8]]},"1423":{"position":[[3370,10],[3382,8]]},"1426":{"position":[[2651,10]]},"1427":{"position":[[6794,9]]},"1486":{"position":[[877,10],[3049,7],[3314,8],[3408,8],[3502,8],[3647,9],[4197,8],[5229,8]]}},"keywords":{}}],["genrule'",{"_index":8600,"title":{},"content":{"1486":{"position":[[4826,9],[4863,9]]}},"keywords":{}}],["genrule()",{"_index":7655,"title":{},"content":{"1401":{"position":[[1506,10]]}},"keywords":{}}],["genrule(nam",{"_index":1979,"title":{},"content":{"368":{"position":[[1824,12]]},"747":{"position":[[1824,12]]}},"keywords":{}}],["genruleapk_genrulecxx_genrul",{"_index":3436,"title":{},"content":{"685":{"position":[[329,29]]}},"keywords":{}}],["get",{"_index":7,"title":{"14":{"position":[[0,7]]},"838":{"position":[[0,7]]},"852":{"position":[[0,7]]},"856":{"position":[[0,7]]},"861":{"position":[[0,7]]},"866":{"position":[[0,7]]},"1231":{"position":[[0,7]]}},"content":{"2":{"position":[[0,7]]},"36":{"position":[[37,4]]},"76":{"position":[[49,4]]},"168":{"position":[[50,4]]},"181":{"position":[[37,4]]},"204":{"position":[[54,4]]},"205":{"position":[[68,4]]},"206":{"position":[[39,4]]},"207":{"position":[[36,4]]},"209":{"position":[[30,4]]},"210":{"position":[[58,4]]},"211":{"position":[[59,4]]},"277":{"position":[[120,4]]},"278":{"position":[[55,4]]},"279":{"position":[[94,4]]},"280":{"position":[[57,4]]},"282":{"position":[[167,4]]},"283":{"position":[[41,4]]},"284":{"position":[[41,4]]},"301":{"position":[[385,4]]},"305":{"position":[[38,4]]},"310":{"position":[[257,4]]},"311":{"position":[[212,4]]},"322":{"position":[[42,4],[118,4]]},"459":{"position":[[46,4]]},"460":{"position":[[57,4]]},"461":{"position":[[48,4]]},"462":{"position":[[43,4]]},"463":{"position":[[43,4]]},"505":{"position":[[49,4]]},"528":{"position":[[60,4]]},"705":{"position":[[703,4],[846,4]]},"706":{"position":[[1691,4],[1783,4]]},"856":{"position":[[441,7]]},"861":{"position":[[801,7]]},"892":{"position":[[2095,7]]},"937":{"position":[[1485,7]]},"977":{"position":[[9,4]]},"1006":{"position":[[726,4]]},"1024":{"position":[[637,4],[1270,4]]},"1048":{"position":[[193,4]]},"1142":{"position":[[502,7]]},"1370":{"position":[[2234,4]]},"1393":{"position":[[1142,4]]},"1394":{"position":[[591,4]]},"1444":{"position":[[2174,4]]},"1462":{"position":[[7846,4]]},"1465":{"position":[[4620,4]]},"1467":{"position":[[8906,4],[11137,4]]}},"keywords":{}}],["get_analysis_result",{"_index":4555,"title":{},"content":{"924":{"position":[[2461,19]]}},"keywords":{}}],["get_base_path",{"_index":2210,"title":{"414":{"position":[[0,14]]},"793":{"position":[[0,14]]}},"content":{"414":{"position":[[4,15],[31,15]]},"793":{"position":[[4,15],[31,15]]}},"keywords":{}}],["get_cell_nam",{"_index":2215,"title":{"415":{"position":[[0,14]]},"794":{"position":[[0,14]]}},"content":{"415":{"position":[[4,15],[31,15]]},"436":{"position":[[38,15],[125,15]]},"794":{"position":[[4,15],[31,15]]},"815":{"position":[[38,15],[125,15]]}},"keywords":{}}],["get_mod",{"_index":4983,"title":{},"content":{"998":{"position":[[30,9],[51,9],[199,9],[375,9]]}},"keywords":{}}],["get_path_without_materi",{"_index":2125,"title":{"416":{"position":[[0,33]]},"795":{"position":[[0,33]]}},"content":{"402":{"position":[[977,32]]},"416":{"position":[[4,33]]},"781":{"position":[[977,32]]},"795":{"position":[[4,33]]}},"keywords":{}}],["get_path_without_materialization(artifact",{"_index":2229,"title":{},"content":{"416":{"position":[[934,42]]},"795":{"position":[[934,42]]}},"keywords":{}}],["get_paths_without_materi",{"_index":2126,"title":{"417":{"position":[[0,34]]},"796":{"position":[[0,34]]}},"content":{"402":{"position":[[1034,33]]},"417":{"position":[[4,34]]},"781":{"position":[[1034,33]]},"796":{"position":[[4,34]]}},"keywords":{}}],["get_paths_without_materialization(providers[runinfo",{"_index":2233,"title":{},"content":{"417":{"position":[[1117,53]]},"796":{"position":[[1117,53]]}},"keywords":{}}],["getattr",{"_index":3181,"title":{"645":{"position":[[0,8]]}},"content":{"645":{"position":[[4,8],[45,8]]}},"keywords":{}}],["getattr("banana"",{"_index":3186,"title":{},"content":{"645":{"position":[[389,27]]}},"keywords":{}}],["getattr(x",{"_index":3182,"title":{},"content":{"645":{"position":[[88,10],[225,10],[273,10]]}},"keywords":{}}],["getreturn",{"_index":2505,"title":{},"content":{"554":{"position":[[209,10]]}},"keywords":{}}],["ghci_bin_dep",{"_index":7860,"title":{},"content":{"1417":{"position":[[622,13]]}},"keywords":{}}],["ghci_init",{"_index":7861,"title":{},"content":{"1417":{"position":[[652,10]]}},"keywords":{}}],["ghci_platform_preload_dep",{"_index":7844,"title":{},"content":{"1416":{"position":[[613,27]]},"1420":{"position":[[558,27]]}},"keywords":{}}],["ghci_preload_dep",{"_index":7845,"title":{},"content":{"1416":{"position":[[669,18]]},"1420":{"position":[[614,18]]}},"keywords":{}}],["git",{"_index":55,"title":{"1096":{"position":[[4,3]]}},"content":{"4":{"position":[[330,3]]},"13":{"position":[[300,3]]},"15":{"position":[[490,3]]},"17":{"position":[[336,3],[428,3],[491,3],[558,3]]},"18":{"position":[[200,3],[274,3],[399,3],[2035,3],[2260,3]]},"693":{"position":[[5985,4]]},"1094":{"position":[[64,4]]},"1096":{"position":[[4,3],[84,3],[238,3]]},"1098":{"position":[[429,3],[444,3]]},"1150":{"position":[[431,3]]},"1161":{"position":[[314,3],[361,3],[383,3]]},"1404":{"position":[[551,3],[1438,3],[1480,3]]}},"keywords":{}}],["git_fetch",{"_index":7709,"title":{"1404":{"position":[[0,10]]}},"content":{"1404":{"position":[[4,10],[1511,10]]}},"keywords":{}}],["git_origin",{"_index":5620,"title":{},"content":{"1096":{"position":[[265,10]]}},"keywords":{}}],["git_originand",{"_index":5617,"title":{},"content":{"1096":{"position":[[146,13]]}},"keywords":{}}],["github",{"_index":45,"title":{},"content":{"4":{"position":[[192,6],[234,6]]},"24":{"position":[[168,6]]},"884":{"position":[[84,6]]},"1061":{"position":[[104,6]]},"1104":{"position":[[2248,7]]},"1256":{"position":[[114,6]]}},"keywords":{}}],["gitignor",{"_index":5968,"title":{},"content":{"1161":{"position":[[443,12]]}},"keywords":{}}],["gitmodul",{"_index":588,"title":{},"content":{"18":{"position":[[1591,11]]}},"keywords":{}}],["give",{"_index":106,"title":{},"content":{"5":{"position":[[427,5]]},"9":{"position":[[2131,5]]},"23":{"position":[[73,4],[617,6],[3093,4]]},"24":{"position":[[1163,4]]},"92":{"position":[[1091,5],[1453,5]]},"106":{"position":[[122,5]]},"109":{"position":[[122,5]]},"110":{"position":[[125,5]]},"111":{"position":[[138,5]]},"133":{"position":[[168,5]]},"139":{"position":[[165,5]]},"150":{"position":[[117,5]]},"224":{"position":[[1091,5],[1453,5]]},"256":{"position":[[168,5]]},"262":{"position":[[165,5]]},"273":{"position":[[117,5]]},"276":{"position":[[474,4]]},"277":{"position":[[422,4]]},"281":{"position":[[563,4]]},"282":{"position":[[513,4]]},"373":{"position":[[155,5]]},"374":{"position":[[707,5]]},"518":{"position":[[122,5]]},"521":{"position":[[122,5]]},"522":{"position":[[125,5]]},"523":{"position":[[138,5]]},"693":{"position":[[1931,4]]},"752":{"position":[[155,5]]},"753":{"position":[[707,5]]},"889":{"position":[[1139,5]]},"892":{"position":[[1662,5]]},"943":{"position":[[1842,6]]},"1031":{"position":[[819,4]]},"1037":{"position":[[248,6]]},"1040":{"position":[[1225,5],[1516,5]]},"1058":{"position":[[125,5]]},"1478":{"position":[[2172,4]]}},"keywords":{}}],["given",{"_index":286,"title":{},"content":{"9":{"position":[[2393,5]]},"63":{"position":[[158,5]]},"69":{"position":[[152,5]]},"72":{"position":[[156,5]]},"91":{"position":[[348,5]]},"92":{"position":[[893,5]]},"94":{"position":[[1477,5]]},"118":{"position":[[94,5]]},"119":{"position":[[83,5]]},"133":{"position":[[157,6]]},"139":{"position":[[90,5]]},"166":{"position":[[156,5]]},"223":{"position":[[348,5]]},"224":{"position":[[893,5]]},"226":{"position":[[1477,5]]},"236":{"position":[[457,5]]},"256":{"position":[[157,6]]},"262":{"position":[[90,5]]},"279":{"position":[[143,5],[154,5]]},"294":{"position":[[495,5],[894,5],[1201,5],[1304,5]]},"297":{"position":[[473,5],[724,5],[1059,5]]},"301":{"position":[[669,5],[1164,5],[1253,5]]},"309":{"position":[[470,5]]},"310":{"position":[[298,5],[315,5],[621,5],[744,5]]},"311":{"position":[[266,5],[474,5],[572,5]]},"314":{"position":[[110,5]]},"318":{"position":[[143,5],[197,5]]},"319":{"position":[[131,5]]},"320":{"position":[[386,6]]},"396":{"position":[[105,5]]},"405":{"position":[[2395,5]]},"408":{"position":[[682,5]]},"418":{"position":[[700,5]]},"427":{"position":[[455,5]]},"442":{"position":[[87,5]]},"457":{"position":[[152,5]]},"477":{"position":[[116,5]]},"492":{"position":[[158,5]]},"495":{"position":[[156,5]]},"534":{"position":[[94,5]]},"535":{"position":[[83,5]]},"548":{"position":[[156,5]]},"554":{"position":[[156,5]]},"559":{"position":[[211,5]]},"593":{"position":[[117,5]]},"616":{"position":[[812,5]]},"618":{"position":[[123,5]]},"640":{"position":[[118,5]]},"649":{"position":[[76,5]]},"693":{"position":[[3242,5]]},"724":{"position":[[527,5]]},"775":{"position":[[105,5]]},"784":{"position":[[2395,5]]},"787":{"position":[[682,5]]},"797":{"position":[[700,5]]},"806":{"position":[[455,5]]},"821":{"position":[[87,5]]},"889":{"position":[[989,5]]},"890":{"position":[[3662,5],[4294,5]]},"892":{"position":[[0,5]]},"895":{"position":[[108,5]]},"900":{"position":[[1443,5]]},"923":{"position":[[107,5]]},"929":{"position":[[354,5]]},"954":{"position":[[47,5]]},"958":{"position":[[194,5]]},"964":{"position":[[168,5]]},"989":{"position":[[146,5]]},"1005":{"position":[[294,5]]},"1006":{"position":[[324,5]]},"1040":{"position":[[995,5]]},"1068":{"position":[[163,5]]},"1072":{"position":[[401,5]]},"1084":{"position":[[94,5]]},"1093":{"position":[[558,5]]},"1103":{"position":[[124,6]]},"1112":{"position":[[956,5]]},"1127":{"position":[[305,5]]},"1154":{"position":[[391,5]]},"1161":{"position":[[405,5]]},"1171":{"position":[[884,5]]},"1172":{"position":[[172,5],[1485,5]]},"1173":{"position":[[785,5]]},"1185":{"position":[[218,5]]},"1190":{"position":[[1549,5]]},"1202":{"position":[[326,5]]},"1204":{"position":[[291,5]]},"1221":{"position":[[263,5]]},"1232":{"position":[[3879,5]]},"1259":{"position":[[280,5],[2120,5],[2323,5]]},"1262":{"position":[[65,5]]},"1272":{"position":[[203,5],[226,5]]},"1277":{"position":[[157,5]]},"1278":{"position":[[141,5]]},"1282":{"position":[[39,5]]},"1284":{"position":[[32,5]]},"1285":{"position":[[229,5]]},"1287":{"position":[[57,5]]},"1290":{"position":[[280,5],[2120,5],[2323,5]]},"1293":{"position":[[65,5]]},"1303":{"position":[[203,5],[226,5]]},"1308":{"position":[[157,5]]},"1309":{"position":[[141,5]]},"1313":{"position":[[39,5]]},"1315":{"position":[[32,5]]},"1318":{"position":[[280,5],[2120,5],[2323,5]]},"1321":{"position":[[65,5]]},"1331":{"position":[[203,5],[226,5]]},"1336":{"position":[[157,5]]},"1337":{"position":[[141,5]]},"1341":{"position":[[39,5]]},"1343":{"position":[[32,5]]},"1361":{"position":[[2030,5],[2291,5]]},"1373":{"position":[[5843,5]]},"1385":{"position":[[2981,5]]},"1393":{"position":[[6392,5]]},"1397":{"position":[[1723,5],[1798,5]]},"1398":{"position":[[3333,5],[3566,5]]},"1408":{"position":[[2207,5]]},"1410":{"position":[[4404,5]]},"1422":{"position":[[1921,5]]},"1427":{"position":[[3887,5]]},"1442":{"position":[[552,5]]},"1444":{"position":[[1608,5]]},"1457":{"position":[[1794,5]]},"1462":{"position":[[8841,5]]},"1465":{"position":[[4195,5]]},"1467":{"position":[[10612,5]]},"1482":{"position":[[1488,5]]},"1486":{"position":[[5466,5]]}},"keywords":{}}],["given.get",{"_index":3306,"title":{},"content":{"663":{"position":[[568,9]]},"901":{"position":[[530,9]]}},"keywords":{}}],["glanc",{"_index":3450,"title":{"702":{"position":[[5,7]]}},"content":{"689":{"position":[[45,6]]},"702":{"position":[[37,6]]}},"keywords":{}}],["glob",{"_index":2236,"title":{"418":{"position":[[0,5]]},"797":{"position":[[0,5]]}},"content":{"418":{"position":[[4,5],[116,6],[215,4],[560,6],[804,4],[900,4],[1092,4]]},"797":{"position":[[4,5],[116,6],[215,4],[560,6],[804,4],[900,4],[1092,4]]},"1138":{"position":[[5346,4]]},"1140":{"position":[[4835,4]]},"1146":{"position":[[241,4]]},"1167":{"position":[[5839,4]]},"1188":{"position":[[4888,4]]},"1217":{"position":[[4580,4]]},"1228":{"position":[[6661,4]]},"1366":{"position":[[3318,6]]},"1412":{"position":[[3905,6]]},"1427":{"position":[[7381,7]]},"1439":{"position":[[8207,7]]},"1444":{"position":[[2063,6]]},"1462":{"position":[[9164,4]]},"1465":{"position":[[4482,6]]},"1467":{"position":[[11026,6]]},"1487":{"position":[[3781,4]]}},"keywords":{}}],["glob(["**/*.h"",{"_index":6799,"title":{},"content":{"1362":{"position":[[8508,27]]},"1364":{"position":[[9622,27]]},"1367":{"position":[[8596,27]]}},"keywords":{}}],["glob(["*.cpp"",{"_index":1985,"title":{},"content":{"368":{"position":[[2030,25]]},"747":{"position":[[2030,25]]}},"keywords":{}}],["glob(["*.kt"",{"_index":8052,"title":{},"content":{"1439":{"position":[[5871,25]]}},"keywords":{}}],["glob(["../foo.txt"",{"_index":2250,"title":{},"content":{"418":{"position":[[1008,30]]},"797":{"position":[[1008,30]]}},"keywords":{}}],["glob(["bar/file.txt"",{"_index":2249,"title":{},"content":{"418":{"position":[[943,33]]},"797":{"position":[[943,33]]}},"keywords":{}}],["glob(["foo/**/*.h"",{"_index":2237,"title":{},"content":{"418":{"position":[[237,30],[422,30]]},"797":{"position":[[237,30],[422,30]]}},"keywords":{}}],["glob(['**/*.groovi",{"_index":7807,"title":{},"content":{"1412":{"position":[[3957,22],[4221,20]]}},"keywords":{}}],["glob(['**/*.java",{"_index":6402,"title":{},"content":{"1348":{"position":[[4652,20]]},"1402":{"position":[[2171,19]]},"1427":{"position":[[7547,19]]}},"keywords":{}}],["glob(['**/*.kt",{"_index":8068,"title":{},"content":{"1439":{"position":[[8375,17]]}},"keywords":{}}],["glob(['**/*test.java",{"_index":7999,"title":{},"content":{"1429":{"position":[[5472,24]]}},"keywords":{}}],["glob(['**/*test.kt",{"_index":8073,"title":{},"content":{"1440":{"position":[[5466,22]]}},"keywords":{}}],["glob(['*.java",{"_index":3040,"title":{},"content":{"622":{"position":[[1449,17]]},"1358":{"position":[[3243,17]]},"1459":{"position":[[2456,17]]}},"keywords":{}}],["glob(['*.lua",{"_index":8087,"title":{},"content":{"1443":{"position":[[1922,16]]}},"keywords":{}}],["glob(['collect/*.java",{"_index":3047,"title":{},"content":{"622":{"position":[[1988,23]]}},"keywords":{}}],["glob(['concurrent/*.java",{"_index":3042,"title":{},"content":{"622":{"position":[[1612,28]]}},"keywords":{}}],["glob(['dir",{"_index":8615,"title":{},"content":{"1487":{"position":[[3194,18]]}},"keywords":{}}],["glob(['fileutil/**/*.pi",{"_index":8371,"title":{},"content":{"1467":{"position":[[11226,27]]}},"keywords":{}}],["glob(['resources/**/*.xml",{"_index":7657,"title":{},"content":{"1401":{"position":[[1803,29]]}},"keywords":{}}],["glob(['src/**/*.java",{"_index":6488,"title":{},"content":{"1351":{"position":[[4253,24]]},"1355":{"position":[[7941,24]]}},"keywords":{}}],["glob(['tailer.pi",{"_index":8343,"title":{},"content":{"1462":{"position":[[9198,18]]}},"keywords":{}}],["glob(['test/**/*.java",{"_index":6511,"title":{},"content":{"1353":{"position":[[3029,25]]}},"keywords":{}}],["glob(['tests/**/*.java",{"_index":7978,"title":{},"content":{"1427":{"position":[[8013,25]]}},"keywords":{}}],["glob(['tests/**/*.kt",{"_index":8070,"title":{},"content":{"1439":{"position":[[8839,23]]}},"keywords":{}}],["glob(['tests/**/*test.java",{"_index":8239,"title":{},"content":{"1458":{"position":[[2685,30]]}},"keywords":{}}],["glob(['testutil/**/*.lua",{"_index":8092,"title":{},"content":{"1444":{"position":[[2260,27]]}},"keywords":{}}],["glob(['testutil/**/*.pi",{"_index":8361,"title":{},"content":{"1465":{"position":[[4698,27]]}},"keywords":{}}],["global",{"_index":1333,"title":{"348":{"position":[[0,7]]},"623":{"position":[[0,7]]},"727":{"position":[[0,7]]}},"content":{"123":{"position":[[122,7]]},"443":{"position":[[92,6]]},"532":{"position":[[122,7]]},"583":{"position":[[730,6],[770,6]]},"822":{"position":[[92,6]]},"851":{"position":[[79,8]]},"864":{"position":[[941,6]]},"887":{"position":[[522,7]]},"888":{"position":[[1147,7],[1192,6]]},"890":{"position":[[488,6],[1088,6],[1258,6],[1764,6],[1788,6],[1884,6],[2152,6]]},"924":{"position":[[985,6],[1180,6]]},"937":{"position":[[344,6],[1084,6]]},"969":{"position":[[33,6]]},"998":{"position":[[292,6]]},"1001":{"position":[[21,6],[571,8],[1159,6],[1542,6]]},"1004":{"position":[[332,6]]},"1064":{"position":[[116,6],[669,8],[1216,6],[1703,6]]},"1065":{"position":[[68,6]]},"1351":{"position":[[765,6],[909,6]]},"1387":{"position":[[6966,6]]},"1393":{"position":[[4265,6],[8132,6],[8275,6],[9518,6]]},"1398":{"position":[[5618,6],[5649,6],[5726,6]]},"1462":{"position":[[8127,6]]},"1467":{"position":[[9188,6]]}},"keywords":{}}],["globalsbuild",{"_index":4150,"title":{},"content":{"887":{"position":[[451,14]]}},"keywords":{}}],["glossari",{"_index":3509,"title":{"693":{"position":[[0,8]]}},"content":{"693":{"position":[[0,8]]},"697":{"position":[[112,9]]}},"keywords":{}}],["go",{"_index":243,"title":{"907":{"position":[[5,6]]}},"content":{"9":{"position":[[1460,2],[1979,5],[2746,5]]},"24":{"position":[[1176,3]]},"41":{"position":[[568,2]]},"89":{"position":[[162,3]]},"174":{"position":[[568,2]]},"221":{"position":[[162,3]]},"622":{"position":[[1188,5]]},"693":{"position":[[4944,5]]},"706":{"position":[[2305,3]]},"873":{"position":[[242,2]]},"904":{"position":[[1510,5]]},"905":{"position":[[1413,5]]},"924":{"position":[[2316,2]]},"942":{"position":[[681,2]]},"1021":{"position":[[220,2]]},"1100":{"position":[[139,2]]},"1112":{"position":[[4463,2]]},"1114":{"position":[[162,5],[199,5]]},"1118":{"position":[[108,5]]},"1138":{"position":[[4769,6],[4960,5]]},"1140":{"position":[[4258,6],[4449,5]]},"1167":{"position":[[5262,6],[5453,5]]},"1188":{"position":[[4311,6],[4502,5]]},"1217":{"position":[[4003,6],[4194,5]]},"1226":{"position":[[3860,5]]},"1228":{"position":[[6084,6],[6275,5]]},"1237":{"position":[[4030,5]]},"1373":{"position":[[2866,2],[4062,2],[4240,2],[4319,2],[4397,2],[4400,5],[4434,2],[5942,2],[6082,2],[8239,3],[8357,3],[8617,2]]},"1398":{"position":[[1236,3]]},"1405":{"position":[[1153,2],[2198,2],[2446,2],[2614,2],[3240,2],[3266,2],[3406,2],[3660,3],[3696,2]]},"1406":{"position":[[1419,3],[1455,2]]},"1407":{"position":[[1182,2],[2239,2],[2539,2],[2867,2],[3035,2],[3661,2],[3687,2],[3827,2],[4279,3],[4315,2]]},"1408":{"position":[[961,2],[1908,2],[1984,2],[2306,2],[2446,2],[2658,3],[2694,2]]},"1410":{"position":[[1597,2],[1673,2],[2640,2],[2890,2],[3137,2],[4243,2],[4674,2],[4814,2],[5070,3],[5106,2]]},"1457":{"position":[[1635,2]]}},"keywords":{}}],["go.vendor_path",{"_index":2648,"title":{},"content":{"578":{"position":[[263,15]]}},"keywords":{}}],["go/c",{"_index":7042,"title":{},"content":{"1373":{"position":[[2802,4]]}},"keywords":{}}],["go].vendor_path",{"_index":2646,"title":{},"content":{"578":{"position":[[185,16]]}},"keywords":{}}],["go_assembler_flag",{"_index":7035,"title":{},"content":{"1373":{"position":[[1077,19]]}},"keywords":{}}],["go_binari",{"_index":7071,"title":{"1405":{"position":[[0,10]]}},"content":{"1373":{"position":[[8693,10]]},"1405":{"position":[[4,10],[1084,11],[3972,10]]}},"keywords":{}}],["go_bootstrap_binari",{"_index":7742,"title":{"1406":{"position":[[0,20]]}},"content":{"1406":{"position":[[4,20]]}},"keywords":{}}],["go_compiler_flag",{"_index":7036,"title":{},"content":{"1373":{"position":[[1112,18]]}},"keywords":{}}],["go_exported_librari",{"_index":7746,"title":{"1407":{"position":[[0,20]]}},"content":{"1407":{"position":[[4,20],[1111,21],[4591,20]]}},"keywords":{}}],["go_librari",{"_index":7729,"title":{"1408":{"position":[[0,11]]}},"content":{"1405":{"position":[[2536,10],[4043,11],[4118,11]]},"1407":{"position":[[2957,10]]},"1408":{"position":[[4,11],[894,12],[2074,10],[2908,11]]},"1410":{"position":[[2981,10],[5773,11]]},"1457":{"position":[[1585,10]]}},"keywords":{}}],["go_src",{"_index":7037,"title":{},"content":{"1373":{"position":[[1146,8]]}},"keywords":{}}],["go_stdlib",{"_index":7786,"title":{"1409":{"position":[[0,10]]}},"content":{"1409":{"position":[[4,10]]}},"keywords":{}}],["go_test",{"_index":7787,"title":{"1410":{"position":[[0,8]]}},"content":{"1410":{"position":[[4,8],[1540,9],[5848,8],[5937,8],[6073,8]]}},"keywords":{}}],["go_test_runn",{"_index":7799,"title":{"1411":{"position":[[0,15]]}},"content":{"1411":{"position":[[4,15]]}},"keywords":{}}],["goal",{"_index":4378,"title":{"959":{"position":[[0,6]]}},"content":{"900":{"position":[[1477,5],[1906,4]]},"937":{"position":[[3604,5]]},"1393":{"position":[[5550,4]]}},"keywords":{}}],["goe",{"_index":3791,"title":{},"content":{"715":{"position":[[1704,4],[1975,4]]},"937":{"position":[[3096,4]]},"947":{"position":[[514,4]]}},"keywords":{}}],["gone",{"_index":3505,"title":{},"content":{"690":{"position":[[3419,5]]}},"keywords":{}}],["good",{"_index":762,"title":{},"content":{"23":{"position":[[2711,4]]},"427":{"position":[[662,4]]},"806":{"position":[[662,4]]},"839":{"position":[[34,4],[210,4]]},"889":{"position":[[1242,4]]},"980":{"position":[[934,5]]},"1070":{"position":[[964,4]]},"1104":{"position":[[1534,4]]},"1136":{"position":[[4350,4]]},"1138":{"position":[[8012,4]]},"1140":{"position":[[6938,4]]},"1142":{"position":[[2382,4]]},"1146":{"position":[[2322,4]]},"1148":{"position":[[5362,4]]},"1155":{"position":[[2418,4]]},"1156":{"position":[[1996,4]]},"1167":{"position":[[7942,4]]},"1169":{"position":[[1781,4]]},"1186":{"position":[[3586,4]]},"1187":{"position":[[3599,4]]},"1188":{"position":[[8325,4]]},"1191":{"position":[[2186,4]]},"1192":{"position":[[2361,4]]},"1193":{"position":[[2413,4]]},"1194":{"position":[[2053,4]]},"1195":{"position":[[2031,4]]},"1196":{"position":[[1841,4]]},"1197":{"position":[[2824,4]]},"1198":{"position":[[2834,4]]},"1199":{"position":[[2862,4]]},"1200":{"position":[[2729,4]]},"1201":{"position":[[1989,4]]},"1202":{"position":[[3131,4],[7528,4]]},"1203":{"position":[[2223,4]]},"1204":{"position":[[2067,4]]},"1205":{"position":[[3396,4]]},"1206":{"position":[[1867,4]]},"1207":{"position":[[2024,4]]},"1209":{"position":[[3372,4]]},"1217":{"position":[[6683,4]]},"1219":{"position":[[2669,4]]},"1222":{"position":[[1793,4]]},"1223":{"position":[[1803,4]]},"1224":{"position":[[1983,4]]},"1226":{"position":[[7151,4]]},"1228":{"position":[[8764,4]]},"1235":{"position":[[4632,4]]},"1237":{"position":[[7321,4]]}},"keywords":{}}],["goodby",{"_index":5192,"title":{},"content":{"1044":{"position":[[2003,7]]}},"keywords":{}}],["goodbyeinfo",{"_index":5187,"title":{},"content":{"1044":{"position":[[1494,11]]}},"keywords":{}}],["googl",{"_index":633,"title":{},"content":{"22":{"position":[[169,6],[434,6]]},"693":{"position":[[7799,6]]},"1059":{"position":[[114,6]]},"1351":{"position":[[4440,7],[5697,7]]},"1360":{"position":[[6013,7]]}},"keywords":{}}],["gpu",{"_index":1923,"title":{},"content":{"362":{"position":[[2777,5]]},"741":{"position":[[2777,5]]}},"keywords":{}}],["grab",{"_index":3928,"title":{},"content":{"853":{"position":[[89,4]]},"857":{"position":[[107,4]]},"892":{"position":[[907,7]]},"1104":{"position":[[1887,4]]},"1231":{"position":[[652,4]]}},"keywords":{}}],["gracefulli",{"_index":6079,"title":{},"content":{"1228":{"position":[[1569,11]]}},"keywords":{}}],["gradl",{"_index":6472,"title":{},"content":{"1351":{"position":[[1023,7]]}},"keywords":{}}],["gradual",{"_index":5548,"title":{},"content":{"1079":{"position":[[1225,7]]}},"keywords":{}}],["grain",{"_index":853,"title":{},"content":{"41":{"position":[[336,5],[663,5]]},"174":{"position":[[336,5],[663,5]]},"832":{"position":[[915,5]]},"1029":{"position":[[46,7]]},"1112":{"position":[[4225,5],[4560,5]]}},"keywords":{}}],["graph",{"_index":382,"title":{"684":{"position":[[22,6]]},"695":{"position":[[19,6]]},"719":{"position":[[30,5]]},"721":{"position":[[28,5]]},"723":{"position":[[17,5]]},"874":{"position":[[8,5]]}},"content":{"11":{"position":[[587,7]]},"22":{"position":[[1235,5]]},"23":{"position":[[1357,5],[1919,5],[1970,6],[2313,6],[2433,5],[2488,5]]},"476":{"position":[[336,5]]},"684":{"position":[[61,5],[94,5]]},"693":{"position":[[696,6],[718,5],[1612,5],[2008,6],[2065,6],[2088,6],[3211,5],[3342,6],[3371,5],[3444,6],[3530,5],[10139,6],[10148,5]]},"695":{"position":[[293,6],[317,6],[343,5],[485,5],[632,5]]},"715":{"position":[[1317,5]]},"718":{"position":[[80,6],[399,6],[462,6],[696,6]]},"719":{"position":[[39,5],[146,6]]},"720":{"position":[[514,6],[577,6]]},"721":{"position":[[37,5],[102,6]]},"722":{"position":[[454,5],[714,7],[1123,6]]},"723":{"position":[[26,5]]},"832":{"position":[[66,5],[101,7]]},"846":{"position":[[73,5],[110,5],[146,5],[544,5],[564,6],[1275,5],[1378,5],[1454,5],[1599,5],[1663,6],[1840,6]]},"869":{"position":[[95,6],[240,5],[338,5]]},"872":{"position":[[62,5],[120,5],[684,5]]},"874":{"position":[[13,5]]},"876":{"position":[[187,5]]},"907":{"position":[[15,5]]},"916":{"position":[[84,6]]},"919":{"position":[[1350,6],[1490,6],[1620,6],[1960,5],[2441,5],[2573,6],[2647,7],[2835,5],[2896,6]]},"920":{"position":[[77,6],[315,6],[385,6]]},"921":{"position":[[183,5],[255,5]]},"947":{"position":[[179,6]]},"951":{"position":[[769,5]]},"955":{"position":[[47,5],[208,5],[448,5],[538,6],[1180,5],[1347,5],[1462,5]]},"956":{"position":[[260,5]]},"959":{"position":[[109,5]]},"988":{"position":[[147,5]]},"990":{"position":[[299,6],[362,6],[1305,6]]},"1004":{"position":[[2318,7]]},"1011":{"position":[[591,5]]},"1015":{"position":[[236,6]]},"1019":{"position":[[535,5]]},"1026":{"position":[[227,5]]},"1029":{"position":[[85,6]]},"1059":{"position":[[160,6]]},"1060":{"position":[[102,5]]},"1104":{"position":[[2694,6]]},"1112":{"position":[[2417,5]]},"1136":{"position":[[30,5],[62,5],[2182,5]]},"1148":{"position":[[41,5],[69,5],[196,6],[2538,5]]},"1190":{"position":[[939,5]]},"1201":{"position":[[96,5]]},"1209":{"position":[[1415,5]]},"1226":{"position":[[4165,5]]},"1235":{"position":[[43,5],[73,5],[151,6],[271,5],[317,5],[412,6],[2675,5]]},"1237":{"position":[[4335,5]]},"1260":{"position":[[80,5],[296,5],[1002,5],[1080,7]]},"1291":{"position":[[80,5],[296,5],[1002,5],[1080,7]]},"1319":{"position":[[80,5],[296,5],[1002,5],[1080,7]]},"1355":{"position":[[6097,6],[7110,6]]},"1427":{"position":[[5270,6],[6309,6]]}},"keywords":{}}],["graph,configur",{"_index":3527,"title":{},"content":{"693":{"position":[[2048,16]]}},"keywords":{}}],["graph."",{"_index":4927,"title":{},"content":{"991":{"position":[[1573,12]]}},"keywords":{}}],["graph.buck2",{"_index":750,"title":{},"content":{"23":{"position":[[2372,11]]}},"keywords":{}}],["graph.introspect",{"_index":4048,"title":{},"content":{"869":{"position":[[195,16]]}},"keywords":{}}],["graph/act",{"_index":752,"title":{},"content":{"23":{"position":[[2420,12]]}},"keywords":{}}],["graph=dwarf,20000",{"_index":5445,"title":{},"content":{"1060":{"position":[[57,17]]}},"keywords":{}}],["graphs.buck2",{"_index":37,"title":{},"content":{"4":{"position":[[80,12]]}},"keywords":{}}],["graphviz",{"_index":5873,"title":{},"content":{"1136":{"position":[[2003,8],[2074,8]]},"1148":{"position":[[2359,8],[2430,8]]},"1209":{"position":[[1236,8],[1307,8]]},"1235":{"position":[[2496,8],[2567,8]]},"1260":{"position":[[759,8],[975,8],[1037,8]]},"1291":{"position":[[759,8],[975,8],[1037,8]]},"1319":{"position":[[759,8],[975,8],[1037,8]]}},"keywords":{}}],["great",{"_index":6197,"title":{},"content":{"1249":{"position":[[196,5]]}},"keywords":{}}],["greater",{"_index":3089,"title":{},"content":{"633":{"position":[[182,7]]},"1486":{"position":[[2494,7]]}},"keywords":{}}],["greatest",{"_index":3250,"title":{},"content":{"654":{"position":[[84,8],[460,8]]}},"keywords":{}}],["greet",{"_index":7427,"title":{},"content":{"1390":{"position":[[2108,12]]},"1405":{"position":[[4025,12]]},"1410":{"position":[[5920,11]]},"1448":{"position":[[2934,12]]},"1471":{"position":[[5818,12]]},"1473":{"position":[[5987,12]]}},"keywords":{}}],["greet.d",{"_index":7426,"title":{},"content":{"1390":{"position":[[2087,10]]}},"keywords":{}}],["greet.r",{"_index":8441,"title":{},"content":{"1471":{"position":[[5796,11]]},"1473":{"position":[[5965,11]]}},"keywords":{}}],["greeting.d",{"_index":7428,"title":{},"content":{"1390":{"position":[[2161,13]]},"1391":{"position":[[1883,13]]}},"keywords":{}}],["greeting.go",{"_index":7740,"title":{},"content":{"1405":{"position":[[4079,14]]},"1408":{"position":[[2944,14]]},"1410":{"position":[[5809,14],[6009,14]]}},"keywords":{}}],["greeting.ml",{"_index":8134,"title":{},"content":{"1448":{"position":[[3002,14]]},"1449":{"position":[[2811,14]]}},"keywords":{}}],["greeting.r",{"_index":8442,"title":{},"content":{"1471":{"position":[[5874,14]]},"1472":{"position":[[6686,14]]},"1473":{"position":[[6043,14]]}},"keywords":{}}],["greeting.txt",{"_index":7137,"title":{},"content":{"1381":{"position":[[2656,15]]}},"keywords":{}}],["greeting_ext_test.go",{"_index":7794,"title":{},"content":{"1410":{"position":[[5886,23]]}},"keywords":{}}],["greeting_test.go",{"_index":7796,"title":{},"content":{"1410":{"position":[[6024,19]]}},"keywords":{}}],["grep",{"_index":4292,"title":{},"content":{"895":{"position":[[86,4],[134,4],[217,8],[295,4]]}},"keywords":{}}],["groovi",{"_index":7803,"title":{},"content":{"1412":{"position":[[1476,6],[1566,6],[3099,6],[3471,8],[3716,7],[3834,7],[3935,7],[4024,7]]},"1469":{"position":[[3560,7]]}},"keywords":{}}],["groovy_librari",{"_index":7801,"title":{"1412":{"position":[[0,15]]}},"content":{"1412":{"position":[[4,15],[1427,16],[1610,16],[2594,14],[2699,15],[2775,14],[3730,15],[3912,15],[4170,15]]}},"keywords":{}}],["groovy_test",{"_index":7808,"title":{"1413":{"position":[[0,12]]}},"content":{"1413":{"position":[[4,12]]}},"keywords":{}}],["groovylibraryinfo",{"_index":2301,"title":{},"content":{"427":{"position":[[577,18]]},"806":{"position":[[577,18]]}},"keywords":{}}],["groovylibraryinfo(field",{"_index":2297,"title":{},"content":{"427":{"position":[[319,24]]},"806":{"position":[[319,24]]}},"keywords":{}}],["groovysh",{"_index":8393,"title":{},"content":{"1469":{"position":[[3568,8]]}},"keywords":{}}],["groovysh:jar:indy:2.4.1",{"_index":8396,"title":{},"content":{"1469":{"position":[[3670,25]]}},"keywords":{}}],["group",{"_index":2481,"title":{"1027":{"position":[[10,7]]}},"content":{"510":{"position":[[79,5],[273,6],[747,5]]},"511":{"position":[[79,5],[293,6],[762,5]]},"584":{"position":[[226,5]]},"679":{"position":[[459,6]]},"919":{"position":[[750,6]]},"955":{"position":[[81,8]]},"961":{"position":[[205,8]]},"1027":{"position":[[10,6]]},"1245":{"position":[[414,6]]},"1362":{"position":[[10632,7]]},"1382":{"position":[[7286,7],[7501,7]]},"1383":{"position":[[7756,8]]},"1384":{"position":[[14413,5]]},"1387":{"position":[[7672,5]]},"1388":{"position":[[8155,7],[8370,7]]},"1393":{"position":[[4634,5]]},"1403":{"position":[[6856,8]]},"1416":{"position":[[1335,6],[2584,7]]},"1420":{"position":[[1053,5]]},"1443":{"position":[[728,5]]},"1444":{"position":[[644,5]]},"1454":{"position":[[7886,5]]},"1455":{"position":[[1137,5],[3370,5],[3868,5],[4271,5],[4492,5],[4624,7],[4667,7],[4758,7],[4801,7]]},"1462":{"position":[[6204,7]]},"1465":{"position":[[1419,5]]},"1467":{"position":[[7317,7],[7532,7]]},"1482":{"position":[[541,8]]}},"keywords":{}}],["group.mycas",{"_index":7636,"title":{},"content":{"1398":{"position":[[6743,12],[6810,12]]}},"keywords":{}}],["groups.link_styl",{"_index":7853,"title":{},"content":{"1416":{"position":[[2798,18]]}},"keywords":{}}],["groups.linker_flag",{"_index":8323,"title":{},"content":{"1462":{"position":[[6418,20]]}},"keywords":{}}],["grow",{"_index":303,"title":{},"content":{"9":{"position":[[2755,4]]}},"keywords":{}}],["grpc",{"_index":3790,"title":{},"content":{"715":{"position":[[1687,5],[2110,5]]}},"keywords":{}}],["gt",{"_index":847,"title":{},"content":{"40":{"position":[[80,4]]},"41":{"position":[[168,4]]},"45":{"position":[[26,4]]},"50":{"position":[[68,4]]},"52":{"position":[[67,4]]},"53":{"position":[[45,4]]},"55":{"position":[[35,4]]},"58":{"position":[[38,4]]},"62":{"position":[[42,4]]},"63":{"position":[[84,4]]},"65":{"position":[[25,4]]},"66":{"position":[[21,4]]},"69":{"position":[[99,4]]},"76":{"position":[[27,4]]},"79":{"position":[[46,4]]},"81":{"position":[[85,4]]},"82":{"position":[[148,4]]},"83":{"position":[[28,4]]},"84":{"position":[[68,4]]},"85":{"position":[[214,4]]},"86":{"position":[[98,4]]},"87":{"position":[[82,4]]},"88":{"position":[[83,4]]},"89":{"position":[[87,4]]},"90":{"position":[[29,4]]},"91":{"position":[[229,4]]},"92":{"position":[[292,4]]},"93":{"position":[[67,4]]},"94":{"position":[[1165,4]]},"95":{"position":[[86,4]]},"96":{"position":[[101,4]]},"97":{"position":[[104,4]]},"98":{"position":[[424,4]]},"99":{"position":[[543,4]]},"101":{"position":[[35,4]]},"102":{"position":[[41,4]]},"103":{"position":[[33,4]]},"104":{"position":[[35,4]]},"108":{"position":[[31,4]]},"113":{"position":[[24,4]]},"116":{"position":[[39,4]]},"118":{"position":[[25,4]]},"119":{"position":[[69,4]]},"123":{"position":[[20,4]]},"125":{"position":[[56,4]]},"126":{"position":[[116,4]]},"127":{"position":[[57,4]]},"128":{"position":[[59,4]]},"129":{"position":[[111,4]]},"130":{"position":[[75,4]]},"131":{"position":[[216,4]]},"132":{"position":[[115,4]]},"133":{"position":[[101,4]]},"134":{"position":[[105,4]]},"135":{"position":[[56,4]]},"136":{"position":[[58,4]]},"137":{"position":[[80,4]]},"138":{"position":[[112,4]]},"139":{"position":[[74,4]]},"140":{"position":[[82,4]]},"141":{"position":[[71,4]]},"142":{"position":[[45,4]]},"143":{"position":[[58,4]]},"144":{"position":[[106,4]]},"145":{"position":[[92,4]]},"146":{"position":[[122,4]]},"147":{"position":[[75,4]]},"148":{"position":[[110,4]]},"149":{"position":[[116,4]]},"150":{"position":[[73,4]]},"151":{"position":[[72,4]]},"153":{"position":[[36,4]]},"158":{"position":[[34,4]]},"161":{"position":[[25,4]]},"166":{"position":[[73,4]]},"168":{"position":[[20,4]]},"173":{"position":[[80,4]]},"174":{"position":[[168,4]]},"192":{"position":[[26,4]]},"197":{"position":[[68,4]]},"199":{"position":[[67,4]]},"200":{"position":[[45,4]]},"202":{"position":[[35,4]]},"204":{"position":[[34,4]]},"205":{"position":[[36,4]]},"213":{"position":[[85,4]]},"214":{"position":[[148,4]]},"215":{"position":[[28,4]]},"216":{"position":[[68,4]]},"217":{"position":[[214,4]]},"218":{"position":[[98,4]]},"219":{"position":[[82,4]]},"220":{"position":[[83,4]]},"221":{"position":[[87,4]]},"222":{"position":[[29,4]]},"223":{"position":[[229,4]]},"224":{"position":[[292,4]]},"225":{"position":[[67,4]]},"226":{"position":[[1165,4]]},"227":{"position":[[86,4]]},"228":{"position":[[101,4]]},"229":{"position":[[104,4]]},"230":{"position":[[424,4]]},"231":{"position":[[543,4]]},"233":{"position":[[40,4]]},"236":{"position":[[383,4]]},"237":{"position":[[383,4]]},"238":{"position":[[405,4]]},"239":{"position":[[430,4]]},"242":{"position":[[109,4]]},"245":{"position":[[33,4]]},"246":{"position":[[32,4]]},"248":{"position":[[56,4]]},"249":{"position":[[116,4]]},"250":{"position":[[57,4]]},"251":{"position":[[59,4]]},"252":{"position":[[111,4]]},"253":{"position":[[75,4]]},"254":{"position":[[216,4]]},"255":{"position":[[115,4]]},"256":{"position":[[101,4]]},"257":{"position":[[105,4]]},"258":{"position":[[56,4]]},"259":{"position":[[58,4]]},"260":{"position":[[80,4]]},"261":{"position":[[112,4]]},"262":{"position":[[74,4]]},"263":{"position":[[82,4]]},"264":{"position":[[71,4]]},"265":{"position":[[45,4]]},"266":{"position":[[58,4]]},"267":{"position":[[106,4]]},"268":{"position":[[92,4]]},"269":{"position":[[122,4]]},"270":{"position":[[75,4]]},"271":{"position":[[110,4]]},"272":{"position":[[116,4]]},"273":{"position":[[73,4]]},"274":{"position":[[72,4]]},"277":{"position":[[43,4]]},"279":{"position":[[72,4]]},"282":{"position":[[70,4]]},"285":{"position":[[40,4]]},"286":{"position":[[47,4]]},"288":{"position":[[689,4]]},"289":{"position":[[709,4]]},"294":{"position":[[408,4]]},"295":{"position":[[74,4]]},"296":{"position":[[25,4]]},"297":{"position":[[418,4]]},"298":{"position":[[595,4]]},"299":{"position":[[29,4]]},"301":{"position":[[334,4]]},"302":{"position":[[74,4]]},"304":{"position":[[53,4]]},"307":{"position":[[24,4]]},"308":{"position":[[43,4]]},"309":{"position":[[357,4]]},"310":{"position":[[206,4]]},"311":{"position":[[166,4]]},"312":{"position":[[26,4]]},"314":{"position":[[73,4]]},"315":{"position":[[64,4]]},"316":{"position":[[64,4]]},"317":{"position":[[65,4]]},"318":{"position":[[92,4]]},"319":{"position":[[74,4]]},"320":{"position":[[211,4]]},"324":{"position":[[518,4]]},"325":{"position":[[305,4]]},"326":{"position":[[315,4]]},"327":{"position":[[281,4]]},"328":{"position":[[330,4]]},"330":{"position":[[290,4]]},"331":{"position":[[278,4]]},"332":{"position":[[288,4]]},"333":{"position":[[306,4]]},"334":{"position":[[345,4]]},"335":{"position":[[537,4]]},"336":{"position":[[518,4]]},"337":{"position":[[279,4]]},"338":{"position":[[308,4]]},"340":{"position":[[160,4]]},"341":{"position":[[37,4]]},"342":{"position":[[46,4]]},"344":{"position":[[49,4]]},"346":{"position":[[61,4]]},"347":{"position":[[64,4]]},"362":{"position":[[877,4]]},"363":{"position":[[106,4]]},"366":{"position":[[51,4]]},"367":{"position":[[83,4]]},"368":{"position":[[392,4]]},"372":{"position":[[129,4]]},"373":{"position":[[101,4]]},"374":{"position":[[252,4]]},"375":{"position":[[63,4]]},"377":{"position":[[360,4]]},"379":{"position":[[69,4]]},"386":{"position":[[265,4]]},"389":{"position":[[77,4]]},"396":{"position":[[58,4]]},"397":{"position":[[89,4]]},"398":{"position":[[61,4]]},"399":{"position":[[52,4]]},"400":{"position":[[216,4]]},"405":{"position":[[862,4]]},"409":{"position":[[60,4]]},"411":{"position":[[180,4]]},"412":{"position":[[31,4]]},"413":{"position":[[16,4]]},"414":{"position":[[21,4]]},"415":{"position":[[21,4]]},"416":{"position":[[99,4]]},"418":{"position":[[96,4]]},"419":{"position":[[17,4]]},"421":{"position":[[50,4]]},"422":{"position":[[11,4]]},"423":{"position":[[26,4]]},"424":{"position":[[134,4]]},"425":{"position":[[20,4]]},"427":{"position":[[105,4]]},"428":{"position":[[45,4]]},"430":{"position":[[19,4]]},"433":{"position":[[79,4]]},"434":{"position":[[52,4]]},"435":{"position":[[42,4]]},"436":{"position":[[23,4]]},"437":{"position":[[248,4],[347,4]]},"438":{"position":[[28,4]]},"439":{"position":[[18,4]]},"440":{"position":[[43,4]]},"442":{"position":[[29,4],[233,4],[318,4],[402,4]]},"443":{"position":[[72,4]]},"444":{"position":[[59,4]]},"445":{"position":[[25,4]]},"446":{"position":[[87,4]]},"447":{"position":[[127,4]]},"448":{"position":[[154,4]]},"449":{"position":[[62,4]]},"450":{"position":[[24,4]]},"451":{"position":[[75,4]]},"453":{"position":[[25,4]]},"454":{"position":[[21,4]]},"457":{"position":[[99,4]]},"465":{"position":[[280,4]]},"466":{"position":[[186,4]]},"467":{"position":[[196,4]]},"468":{"position":[[162,4]]},"469":{"position":[[211,4]]},"471":{"position":[[171,4]]},"472":{"position":[[159,4]]},"473":{"position":[[169,4]]},"474":{"position":[[84,4]]},"475":{"position":[[299,4]]},"476":{"position":[[280,4]]},"477":{"position":[[99,4]]},"478":{"position":[[160,4]]},"487":{"position":[[38,4]]},"491":{"position":[[42,4]]},"492":{"position":[[84,4]]},"500":{"position":[[35,4]]},"501":{"position":[[41,4]]},"502":{"position":[[33,4]]},"503":{"position":[[35,4]]},"505":{"position":[[27,4]]},"508":{"position":[[46,4]]},"510":{"position":[[757,4]]},"511":{"position":[[772,4]]},"513":{"position":[[30,4]]},"514":{"position":[[28,4]]},"516":{"position":[[39,4]]},"520":{"position":[[31,4]]},"525":{"position":[[24,4]]},"528":{"position":[[31,4]]},"532":{"position":[[20,4]]},"534":{"position":[[25,4]]},"535":{"position":[[69,4]]},"537":{"position":[[36,4]]},"542":{"position":[[34,4]]},"548":{"position":[[73,4]]},"553":{"position":[[18,4]]},"555":{"position":[[18,4]]},"556":{"position":[[17,4]]},"558":{"position":[[20,4]]},"560":{"position":[[41,4]]},"561":{"position":[[19,4]]},"563":{"position":[[24,4]]},"564":{"position":[[18,4]]},"565":{"position":[[44,4]]},"566":{"position":[[79,4]]},"567":{"position":[[36,4]]},"569":{"position":[[28,4]]},"589":{"position":[[25,4]]},"590":{"position":[[25,4]]},"591":{"position":[[86,4]]},"592":{"position":[[20,4]]},"593":{"position":[[55,4]]},"594":{"position":[[85,4]]},"595":{"position":[[36,4]]},"596":{"position":[[86,4]]},"597":{"position":[[22,4]]},"598":{"position":[[22,4]]},"599":{"position":[[22,4]]},"600":{"position":[[22,4]]},"601":{"position":[[22,4]]},"602":{"position":[[22,4]]},"603":{"position":[[22,4]]},"604":{"position":[[51,4]]},"605":{"position":[[20,4]]},"606":{"position":[[38,4]]},"607":{"position":[[38,4]]},"608":{"position":[[41,4]]},"609":{"position":[[41,4]]},"610":{"position":[[61,4]]},"611":{"position":[[86,4]]},"612":{"position":[[87,4]]},"613":{"position":[[39,4]]},"614":{"position":[[77,4]]},"615":{"position":[[38,4]]},"616":{"position":[[76,4]]},"617":{"position":[[50,4]]},"618":{"position":[[57,4]]},"619":{"position":[[37,4]]},"620":{"position":[[20,4]]},"621":{"position":[[20,4]]},"627":{"position":[[28,4]]},"628":{"position":[[32,4]]},"629":{"position":[[32,4]]},"630":{"position":[[20,4]]},"631":{"position":[[18,4]]},"632":{"position":[[42,4]]},"633":{"position":[[33,4]]},"634":{"position":[[20,4]]},"635":{"position":[[19,4]]},"636":{"position":[[27,4]]},"637":{"position":[[15,4]]},"639":{"position":[[55,4]]},"640":{"position":[[28,4]]},"641":{"position":[[17,4]]},"642":{"position":[[32,4]]},"643":{"position":[[69,4],[313,4]]},"644":{"position":[[47,4]]},"646":{"position":[[30,4]]},"647":{"position":[[21,4]]},"648":{"position":[[60,4]]},"649":{"position":[[36,4]]},"651":{"position":[[15,4]]},"652":{"position":[[37,4]]},"653":{"position":[[57,4]]},"656":{"position":[[20,4]]},"657":{"position":[[41,4]]},"658":{"position":[[19,4]]},"659":{"position":[[17,4]]},"660":{"position":[[18,4]]},"661":{"position":[[16,4]]},"662":{"position":[[53,4]]},"663":{"position":[[22,4]]},"664":{"position":[[16,4]]},"665":{"position":[[37,4]]},"666":{"position":[[55,4]]},"668":{"position":[[15,4]]},"669":{"position":[[29,4]]},"670":{"position":[[38,4]]},"671":{"position":[[16,4]]},"673":{"position":[[33,4]]},"690":{"position":[[677,4],[1654,4]]},"693":{"position":[[2985,4]]},"706":{"position":[[1250,4],[1264,4]]},"711":{"position":[[213,4],[372,4],[565,4]]},"712":{"position":[[258,4]]},"741":{"position":[[877,4]]},"742":{"position":[[106,4]]},"745":{"position":[[51,4]]},"746":{"position":[[83,4]]},"747":{"position":[[392,4]]},"751":{"position":[[129,4]]},"752":{"position":[[101,4]]},"753":{"position":[[252,4]]},"754":{"position":[[63,4]]},"756":{"position":[[360,4]]},"758":{"position":[[69,4]]},"765":{"position":[[265,4]]},"768":{"position":[[77,4]]},"775":{"position":[[58,4]]},"776":{"position":[[89,4]]},"777":{"position":[[61,4]]},"778":{"position":[[52,4]]},"779":{"position":[[216,4]]},"784":{"position":[[862,4]]},"788":{"position":[[60,4]]},"790":{"position":[[180,4]]},"791":{"position":[[31,4]]},"792":{"position":[[16,4]]},"793":{"position":[[21,4]]},"794":{"position":[[21,4]]},"795":{"position":[[99,4]]},"797":{"position":[[96,4]]},"798":{"position":[[17,4]]},"800":{"position":[[50,4]]},"801":{"position":[[11,4]]},"802":{"position":[[26,4]]},"803":{"position":[[134,4]]},"804":{"position":[[20,4]]},"806":{"position":[[105,4]]},"807":{"position":[[45,4]]},"809":{"position":[[19,4]]},"812":{"position":[[79,4]]},"813":{"position":[[52,4]]},"814":{"position":[[42,4]]},"815":{"position":[[23,4]]},"816":{"position":[[248,4],[347,4]]},"817":{"position":[[28,4]]},"818":{"position":[[18,4]]},"819":{"position":[[43,4]]},"821":{"position":[[29,4],[233,4],[318,4],[402,4]]},"822":{"position":[[72,4]]},"823":{"position":[[59,4]]},"824":{"position":[[25,4]]},"825":{"position":[[87,4]]},"826":{"position":[[127,4]]},"827":{"position":[[154,4]]},"828":{"position":[[62,4]]},"829":{"position":[[24,4]]},"830":{"position":[[75,4]]},"859":{"position":[[121,4],[220,4]]},"881":{"position":[[66,4]]},"981":{"position":[[230,4]]},"987":{"position":[[308,4],[318,4],[706,4]]},"1004":{"position":[[1007,4]]},"1026":{"position":[[1249,4]]},"1044":{"position":[[3171,4]]},"1049":{"position":[[775,4],[1223,4]]},"1054":{"position":[[268,4],[1714,4]]},"1064":{"position":[[1687,4]]},"1084":{"position":[[321,4],[336,4],[351,4]]},"1088":{"position":[[1322,4],[1337,4],[1352,4]]},"1102":{"position":[[535,4]]},"1103":{"position":[[177,4]]},"1348":{"position":[[2627,4]]},"1349":{"position":[[830,4]]},"1350":{"position":[[3801,4]]},"1351":{"position":[[678,4],[5130,4]]},"1352":{"position":[[3800,4]]},"1353":{"position":[[1314,4]]},"1354":{"position":[[1122,4]]},"1355":{"position":[[2137,4]]},"1356":{"position":[[540,4]]},"1357":{"position":[[421,4]]},"1358":{"position":[[907,4]]},"1359":{"position":[[855,4]]},"1360":{"position":[[1321,4]]},"1361":{"position":[[597,4]]},"1362":{"position":[[4702,4],[8642,4],[8680,4]]},"1363":{"position":[[2807,4]]},"1364":{"position":[[4799,4],[9756,4],[9794,4]]},"1365":{"position":[[778,4]]},"1366":{"position":[[833,4]]},"1367":{"position":[[6593,4],[8730,4],[8768,4]]},"1368":{"position":[[1459,4]]},"1369":{"position":[[511,4]]},"1370":{"position":[[585,4]]},"1371":{"position":[[387,4]]},"1372":{"position":[[2025,4]]},"1373":{"position":[[2728,4]]},"1374":{"position":[[649,4]]},"1375":{"position":[[423,4]]},"1376":{"position":[[379,4]]},"1377":{"position":[[618,4]]},"1378":{"position":[[365,4]]},"1379":{"position":[[388,4]]},"1380":{"position":[[509,4]]},"1381":{"position":[[644,4]]},"1382":{"position":[[2974,4]]},"1383":{"position":[[1179,4]]},"1384":{"position":[[4277,4]]},"1385":{"position":[[1826,4]]},"1386":{"position":[[546,4]]},"1387":{"position":[[4171,4]]},"1388":{"position":[[3441,4]]},"1389":{"position":[[4406,4]]},"1390":{"position":[[555,4]]},"1391":{"position":[[556,4]]},"1392":{"position":[[591,4]]},"1393":{"position":[[1076,4]]},"1394":{"position":[[518,4]]},"1395":{"position":[[658,4]]},"1396":{"position":[[484,4]]},"1397":{"position":[[650,4]]},"1398":{"position":[[1101,4]]},"1399":{"position":[[534,4]]},"1400":{"position":[[492,4]]},"1401":{"position":[[522,4],[1962,4]]},"1402":{"position":[[655,4]]},"1403":{"position":[[1204,4],[7764,4],[7857,4],[8071,4],[8184,4]]},"1404":{"position":[[515,4]]},"1405":{"position":[[1071,4]]},"1406":{"position":[[463,4]]},"1407":{"position":[[1098,4],[5168,4]]},"1408":{"position":[[881,4]]},"1409":{"position":[[518,4]]},"1410":{"position":[[1527,4]]},"1411":{"position":[[501,4]]},"1412":{"position":[[1414,4]]},"1413":{"position":[[1885,4]]},"1414":{"position":[[752,4]]},"1415":{"position":[[2427,4]]},"1416":{"position":[[1287,4]]},"1417":{"position":[[975,4]]},"1418":{"position":[[676,4]]},"1419":{"position":[[804,4]]},"1420":{"position":[[995,4]]},"1421":{"position":[[924,4]]},"1422":{"position":[[713,4]]},"1423":{"position":[[614,4]]},"1424":{"position":[[1060,4]]},"1425":{"position":[[676,4]]},"1426":{"position":[[876,4]]},"1427":{"position":[[1663,4]]},"1428":{"position":[[658,4]]},"1429":{"position":[[2484,4]]},"1430":{"position":[[1434,4]]},"1431":{"position":[[778,4]]},"1432":{"position":[[1299,4]]},"1433":{"position":[[820,4]]},"1434":{"position":[[494,4]]},"1435":{"position":[[458,4]]},"1436":{"position":[[474,4]]},"1437":{"position":[[544,4]]},"1438":{"position":[[517,4]]},"1439":{"position":[[1933,4]]},"1440":{"position":[[2672,4]]},"1441":{"position":[[500,4]]},"1442":{"position":[[478,4]]},"1443":{"position":[[685,4]]},"1444":{"position":[[601,4]]},"1445":{"position":[[400,4]]},"1446":{"position":[[554,4]]},"1447":{"position":[[616,4]]},"1448":{"position":[[917,4]]},"1449":{"position":[[859,4]]},"1450":{"position":[[864,4]]},"1451":{"position":[[864,4]]},"1452":{"position":[[410,4]]},"1453":{"position":[[859,4]]},"1454":{"position":[[3200,4]]},"1455":{"position":[[1077,4]]},"1456":{"position":[[497,4]]},"1457":{"position":[[573,4]]},"1458":{"position":[[888,4]]},"1459":{"position":[[568,4]]},"1460":{"position":[[779,4]]},"1461":{"position":[[846,4]]},"1462":{"position":[[4229,4],[7822,4]]},"1463":{"position":[[501,4]]},"1464":{"position":[[409,4]]},"1465":{"position":[[1373,4]]},"1466":{"position":[[745,4]]},"1467":{"position":[[4950,4],[8882,4]]},"1468":{"position":[[509,4]]},"1469":{"position":[[620,4]]},"1470":{"position":[[3246,4]]},"1471":{"position":[[1635,4]]},"1472":{"position":[[1596,4]]},"1473":{"position":[[1882,4]]},"1474":{"position":[[1410,4]]},"1475":{"position":[[1881,4]]},"1476":{"position":[[486,4]]},"1477":{"position":[[587,4],[2879,4],[2953,4]]},"1478":{"position":[[1032,4],[3103,4]]},"1479":{"position":[[578,4]]},"1480":{"position":[[991,4]]},"1481":{"position":[[1524,4]]},"1482":{"position":[[495,4]]},"1483":{"position":[[375,4]]},"1484":{"position":[[504,4]]},"1485":{"position":[[653,4]]},"1486":{"position":[[679,4]]},"1487":{"position":[[621,4]]}},"keywords":{}}],["gtest",{"_index":7311,"title":{},"content":{"1388":{"position":[[10378,6]]},"1442":{"position":[[3035,6]]}},"keywords":{}}],["guarante",{"_index":1238,"title":{},"content":{"94":{"position":[[4323,10]]},"226":{"position":[[4323,10]]},"635":{"position":[[149,10]]},"682":{"position":[[6,10]]},"1000":{"position":[[385,11]]},"1136":{"position":[[5951,10]]},"1138":{"position":[[9613,10]]},"1140":{"position":[[8539,10]]},"1142":{"position":[[3983,10]]},"1146":{"position":[[3923,10]]},"1148":{"position":[[6963,10]]},"1155":{"position":[[4019,10]]},"1156":{"position":[[3597,10]]},"1163":{"position":[[557,10]]},"1165":{"position":[[386,10]]},"1167":{"position":[[9543,10]]},"1169":{"position":[[2651,10]]},"1186":{"position":[[5187,10]]},"1187":{"position":[[5200,10]]},"1188":{"position":[[9926,10]]},"1191":{"position":[[3787,10]]},"1192":{"position":[[3962,10]]},"1193":{"position":[[4014,10]]},"1194":{"position":[[3654,10]]},"1195":{"position":[[3632,10]]},"1196":{"position":[[3442,10]]},"1197":{"position":[[4425,10]]},"1198":{"position":[[4435,10]]},"1199":{"position":[[4463,10]]},"1200":{"position":[[4330,10]]},"1201":{"position":[[3590,10]]},"1202":{"position":[[4732,10],[9129,10]]},"1203":{"position":[[3824,10]]},"1204":{"position":[[3668,10]]},"1205":{"position":[[4997,10]]},"1206":{"position":[[3468,10]]},"1207":{"position":[[3625,10]]},"1209":{"position":[[4973,10]]},"1217":{"position":[[8284,10]]},"1219":{"position":[[3539,10]]},"1222":{"position":[[3394,10]]},"1223":{"position":[[3404,10]]},"1224":{"position":[[2853,10]]},"1226":{"position":[[1776,10],[8752,10]]},"1228":{"position":[[10365,10]]},"1235":{"position":[[6233,10]]},"1237":{"position":[[1946,10],[8922,10]]},"1384":{"position":[[9649,10],[9889,10]]},"1422":{"position":[[2569,9]]},"1423":{"position":[[2238,9]]},"1486":{"position":[[5103,10]]}},"keywords":{}}],["guard",{"_index":6818,"title":{},"content":{"1362":{"position":[[13493,8]]},"1364":{"position":[[14193,8]]},"1367":{"position":[[13401,8]]}},"keywords":{}}],["guava",{"_index":3687,"title":{},"content":{"708":{"position":[[22,5],[98,8],[120,6]]},"1423":{"position":[[2773,6],[2991,6],[3233,6],[3258,7],[3288,7],[3853,6]]}},"keywords":{}}],["guess",{"_index":1767,"title":{},"content":{"320":{"position":[[429,5]]}},"keywords":{}}],["guidanc",{"_index":6200,"title":{},"content":{"1250":{"position":[[170,8]]}},"keywords":{}}],["guidelin",{"_index":4433,"title":{},"content":{"906":{"position":[[631,9]]}},"keywords":{}}],["gwt_binari",{"_index":7818,"title":{"1414":{"position":[[0,11]]}},"content":{"1414":{"position":[[4,11]]}},"keywords":{}}],["gyp",{"_index":4769,"title":{},"content":{"958":{"position":[[127,3]]}},"keywords":{}}],["gzip",{"_index":5937,"title":{},"content":{"1140":{"position":[[823,4]]},"1188":{"position":[[876,4]]},"1226":{"position":[[5084,5]]},"1237":{"position":[[5254,5]]}},"keywords":{}}],["h",{"_index":5766,"title":{},"content":{"1120":{"position":[[126,2]]},"1136":{"position":[[2393,2],[2436,3],[5500,3]]},"1138":{"position":[[5492,2],[5535,3],[9162,3]]},"1140":{"position":[[4981,2],[5024,3],[8088,3]]},"1142":{"position":[[685,2],[728,3],[3532,3]]},"1144":{"position":[[333,2],[376,3]]},"1146":{"position":[[365,2],[408,3],[3472,3]]},"1148":{"position":[[2842,2],[2885,3],[6512,3]]},"1150":{"position":[[568,2],[611,3]]},"1152":{"position":[[266,2],[309,3]]},"1154":{"position":[[421,2],[464,3]]},"1155":{"position":[[721,2],[764,3],[3568,3]]},"1156":{"position":[[299,2],[342,3],[3146,3]]},"1157":{"position":[[204,2],[247,3]]},"1158":{"position":[[198,2],[241,3]]},"1159":{"position":[[198,2],[241,3]]},"1161":{"position":[[462,2],[505,3],[1039,3]]},"1163":{"position":[[260,2],[303,3]]},"1165":{"position":[[89,2],[132,3]]},"1167":{"position":[[5985,2],[6028,3],[9092,3]]},"1169":{"position":[[84,2],[127,3]]},"1171":{"position":[[914,2],[957,3]]},"1172":{"position":[[2299,2],[2342,3]]},"1173":{"position":[[986,2],[1029,3]]},"1174":{"position":[[414,2],[457,3]]},"1175":{"position":[[410,2],[453,3]]},"1176":{"position":[[579,2],[622,3]]},"1177":{"position":[[500,2],[543,3]]},"1178":{"position":[[817,2],[860,3]]},"1179":{"position":[[614,2],[657,3]]},"1180":{"position":[[885,2],[928,3]]},"1181":{"position":[[674,2],[717,3],[1251,3]]},"1182":{"position":[[448,2],[491,3]]},"1183":{"position":[[403,2],[446,3]]},"1185":{"position":[[248,2],[291,3]]},"1186":{"position":[[1066,2],[1109,3],[4736,3]]},"1187":{"position":[[1079,2],[1122,3],[4749,3]]},"1188":{"position":[[5805,2],[5848,3],[9475,3]]},"1190":{"position":[[1579,2],[1622,3]]},"1191":{"position":[[489,2],[532,3],[3336,3]]},"1192":{"position":[[404,2],[447,3],[3511,3]]},"1193":{"position":[[716,2],[759,3],[3563,3]]},"1194":{"position":[[356,2],[399,3],[3203,3]]},"1195":{"position":[[334,2],[377,3],[3181,3]]},"1196":{"position":[[144,2],[187,3],[2991,3]]},"1197":{"position":[[304,2],[347,3],[3974,3]]},"1198":{"position":[[314,2],[357,3],[3984,3]]},"1199":{"position":[[342,2],[385,3],[4012,3]]},"1200":{"position":[[209,2],[252,3],[3879,3]]},"1201":{"position":[[292,2],[335,3],[3139,3]]},"1202":{"position":[[356,2],[399,3],[1434,2],[1477,3],[4281,3],[5831,2],[5874,3],[8678,3]]},"1203":{"position":[[266,2],[309,3],[3373,3]]},"1204":{"position":[[370,2],[413,3],[3217,3],[4592,2],[4635,3],[5522,2],[5565,3],[6424,2],[6467,3],[7410,2],[7453,3],[8364,2],[8407,3],[9311,2],[9354,3],[10241,2],[10284,3]]},"1205":{"position":[[1439,2],[1482,3],[4546,3]]},"1206":{"position":[[170,2],[213,3],[3017,3]]},"1207":{"position":[[327,2],[370,3],[3174,3]]},"1209":{"position":[[1675,2],[1718,3],[4522,3]]},"1211":{"position":[[319,2],[362,3]]},"1213":{"position":[[90,2],[133,3]]},"1215":{"position":[[174,2],[217,3]]},"1217":{"position":[[4726,2],[4769,3],[7833,3]]},"1219":{"position":[[972,2],[1015,3]]},"1221":{"position":[[293,2],[336,3]]},"1222":{"position":[[96,2],[139,3],[2943,3]]},"1223":{"position":[[106,2],[149,3],[2953,3]]},"1224":{"position":[[286,2],[329,3]]},"1226":{"position":[[5194,2],[5237,3],[8301,3]]},"1228":{"position":[[1893,1],[6807,2],[6850,3],[9914,3]]},"1235":{"position":[[2935,2],[2978,3],[5782,3]]},"1237":{"position":[[5364,2],[5407,3],[8471,3]]},"1446":{"position":[[2420,2]]}},"keywords":{}}],["h1",{"_index":4156,"title":{},"content":{"888":{"position":[[260,2],[324,2],[586,2],[660,2]]}},"keywords":{}}],["h1.into_ref",{"_index":4159,"title":{},"content":{"888":{"position":[[345,14]]}},"keywords":{}}],["h2",{"_index":4160,"title":{},"content":{"888":{"position":[[364,2]]}},"keywords":{}}],["h2.add_reference(h1",{"_index":4162,"title":{},"content":{"888":{"position":[[382,21]]}},"keywords":{}}],["h2.for",{"_index":4166,"title":{},"content":{"888":{"position":[[618,6]]}},"keywords":{}}],["hack",{"_index":4613,"title":{},"content":{"937":{"position":[[4243,4]]}},"keywords":{}}],["hackabl",{"_index":314,"title":{},"content":{"10":{"position":[[143,8]]}},"keywords":{}}],["haddock_flag",{"_index":7865,"title":{},"content":{"1418":{"position":[[527,14]]},"1420":{"position":[[648,14]]}},"keywords":{}}],["hadn't",{"_index":6154,"title":{},"content":{"1232":{"position":[[3665,6]]}},"keywords":{}}],["half",{"_index":5395,"title":{},"content":{"1057":{"position":[[773,4]]}},"keywords":{}}],["halid",{"_index":7827,"title":{},"content":{"1415":{"position":[[2482,6],[2590,6],[2624,6],[2663,6],[3631,6],[3893,6],[5030,6],[5210,6]]}},"keywords":{}}],["halide/main.cpp",{"_index":7835,"title":{},"content":{"1415":{"position":[[5538,20]]}},"keywords":{}}],["halide::func::define_extern.linker_flag",{"_index":7831,"title":{},"content":{"1415":{"position":[[3994,41]]}},"keywords":{}}],["halide_librari",{"_index":7823,"title":{"1415":{"position":[[0,15]]}},"content":{"1415":{"position":[[4,15],[2440,16],[3682,14],[5439,15]]}},"keywords":{}}],["halt",{"_index":6658,"title":{},"content":{"1360":{"position":[[4419,7]]},"1383":{"position":[[6452,7]]},"1403":{"position":[[3834,7]]}},"keywords":{}}],["hamcrest",{"_index":7991,"title":{},"content":{"1429":{"position":[[3852,8]]},"1440":{"position":[[3845,8]]}},"keywords":{}}],["hand",{"_index":2736,"title":{},"content":{"587":{"position":[[269,4],[349,4]]},"924":{"position":[[629,5]]},"1427":{"position":[[6879,4]]}},"keywords":{}}],["handl",{"_index":3431,"title":{"685":{"position":[[7,6]]},"1071":{"position":[[23,8]]}},"content":{"724":{"position":[[1965,8]]},"870":{"position":[[150,7]]},"872":{"position":[[841,6]]},"1045":{"position":[[24,7]]},"1052":{"position":[[1066,7]]},"1054":{"position":[[164,8]]},"1069":{"position":[[339,8]]},"1071":{"position":[[828,8]]},"1093":{"position":[[319,8]]},"1237":{"position":[[72,6]]},"1355":{"position":[[4961,7]]},"1359":{"position":[[2016,7]]},"1401":{"position":[[1606,6]]},"1427":{"position":[[4130,6]]},"1455":{"position":[[1179,7]]},"1470":{"position":[[4559,7]]}},"keywords":{}}],["handler",{"_index":809,"title":{},"content":{"26":{"position":[[100,7]]},"27":{"position":[[107,7]]},"29":{"position":[[113,7]]},"30":{"position":[[152,7]]},"31":{"position":[[135,7]]},"178":{"position":[[100,7]]},"179":{"position":[[107,7]]},"185":{"position":[[113,7]]},"186":{"position":[[152,7]]},"187":{"position":[[135,7]]},"1112":{"position":[[3528,7],[3621,7],[3989,7],[4098,7]]}},"keywords":{}}],["handler_invocation_error",{"_index":5745,"title":{},"content":{"1112":{"position":[[4113,25]]}},"keywords":{}}],["handshak",{"_index":8580,"title":{},"content":{"1486":{"position":[[3823,10],[5502,10]]}},"keywords":{}}],["hang",{"_index":6090,"title":{"1229":{"position":[[13,8]]},"1230":{"position":[[22,5]]},"1233":{"position":[[31,5]]},"1241":{"position":[[13,9]]}},"content":{"1231":{"position":[[22,5]]},"1233":{"position":[[165,4]]},"1241":{"position":[[113,4]]}},"keywords":{}}],["happen",{"_index":1216,"title":{},"content":{"94":{"position":[[3028,7]]},"226":{"position":[[3028,7]]},"416":{"position":[[539,8]]},"417":{"position":[[769,8]]},"591":{"position":[[546,6]]},"693":{"position":[[7531,6]]},"704":{"position":[[347,8],[1562,8]]},"795":{"position":[[539,8]]},"796":{"position":[[769,8]]},"837":{"position":[[366,6]]},"897":{"position":[[131,8],[215,7]]},"904":{"position":[[714,6]]},"980":{"position":[[1073,7],[1504,6]]},"1013":{"position":[[62,7]]},"1022":{"position":[[93,8]]},"1057":{"position":[[1229,7]]},"1070":{"position":[[916,6]]},"1075":{"position":[[353,8]]},"1232":{"position":[[3492,10]]},"1403":{"position":[[9040,6]]},"1426":{"position":[[2149,6]]}},"keywords":{}}],["hard",{"_index":2389,"title":{},"content":{"446":{"position":[[134,4]]},"703":{"position":[[165,4]]},"825":{"position":[[134,4]]},"856":{"position":[[212,4]]},"1247":{"position":[[506,4]]}},"keywords":{}}],["harder",{"_index":5869,"title":{},"content":{"1136":{"position":[[1195,6]]},"1148":{"position":[[1551,6]]},"1205":{"position":[[675,6]]},"1209":{"position":[[428,6]]},"1226":{"position":[[2368,6]]},"1232":{"position":[[3736,6]]},"1235":{"position":[[1688,6]]},"1237":{"position":[[2538,6]]}},"keywords":{}}],["hardwar",{"_index":6189,"title":{},"content":{"1247":{"position":[[350,8]]}},"keywords":{}}],["harmoni",{"_index":156,"title":{},"content":{"7":{"position":[[349,10]]}},"keywords":{}}],["has.src",{"_index":7646,"title":{},"content":{"1399":{"position":[[1955,8]]}},"keywords":{}}],["has_whitelisted_str",{"_index":6632,"title":{},"content":{"1359":{"position":[[594,24]]}},"keywords":{}}],["has_wrap_script",{"_index":8241,"title":{},"content":{"1459":{"position":[[453,16],[1892,15]]}},"keywords":{}}],["hasattr",{"_index":3189,"title":{"646":{"position":[[0,8]]}},"content":{"646":{"position":[[41,8]]}},"keywords":{}}],["hasattr(a",{"_index":3190,"title":{},"content":{"646":{"position":[[4,10]]}},"keywords":{}}],["hasattr(x",{"_index":3184,"title":{},"content":{"645":{"position":[[326,10]]},"646":{"position":[[85,10]]}},"keywords":{}}],["hasdepend",{"_index":3593,"title":{},"content":{"693":{"position":[[8549,16]]}},"keywords":{}}],["hash",{"_index":702,"title":{"647":{"position":[[0,5]]},"975":{"position":[[0,6]]},"976":{"position":[[0,6]]},"977":{"position":[[0,6]]}},"content":{"23":{"position":[[555,6]]},"81":{"position":[[141,4]]},"94":{"position":[[2302,4]]},"213":{"position":[[141,4]]},"226":{"position":[[2302,4]]},"243":{"position":[[259,6],[309,4]]},"647":{"position":[[31,5],[49,4],[100,4],[161,4],[206,4]]},"704":{"position":[[429,6],[1626,4],[1704,6],[1872,5],[1914,4],[2063,4],[2263,6]]},"712":{"position":[[1146,4]]},"722":{"position":[[787,8]]},"724":{"position":[[402,4]]},"966":{"position":[[207,6]]},"973":{"position":[[453,4]]},"975":{"position":[[112,4],[148,7],[162,7],[192,7]]},"976":{"position":[[17,4],[71,6],[135,5],[182,4]]},"977":{"position":[[204,7]]},"980":{"position":[[75,4]]},"1018":{"position":[[314,4],[336,7]]},"1050":{"position":[[1294,4],[1548,4],[3668,4]]},"1112":{"position":[[2618,4],[2709,4],[3260,4],[3320,4],[3380,4],[4059,4],[4657,4]]},"1138":{"position":[[1306,6]]},"1190":{"position":[[1242,4],[1438,5]]},"1205":{"position":[[129,4]]},"1206":{"position":[[67,5]]},"1226":{"position":[[369,4],[389,4],[458,4],[491,4],[542,4],[618,7],[761,5],[827,5],[891,4],[1006,4],[1095,7],[1132,4],[1248,4],[1328,4],[1389,4],[1501,4],[1547,7],[1669,4],[1751,5],[1960,4],[2025,4],[2091,4]]},"1237":{"position":[[539,4],[559,4],[628,4],[661,4],[712,4],[788,7],[931,5],[997,5],[1061,4],[1176,4],[1265,7],[1302,4],[1418,4],[1498,4],[1559,4],[1671,4],[1717,7],[1839,4],[1921,5],[2130,4],[2195,4],[2261,4]]},"1345":{"position":[[1237,7]]},"1422":{"position":[[2446,4]]},"1423":{"position":[[2115,4]]}},"keywords":{}}],["hash("hello"",{"_index":3196,"title":{},"content":{"647":{"position":[[235,23]]}},"keywords":{}}],["hash("world"",{"_index":3197,"title":{},"content":{"647":{"position":[[262,23]]}},"keywords":{}}],["hash(a",{"_index":3191,"title":{},"content":{"647":{"position":[[4,7]]}},"keywords":{}}],["hash(i",{"_index":3194,"title":{},"content":{"647":{"position":[[152,8]]}},"keywords":{}}],["hash(x",{"_index":3192,"title":{},"content":{"647":{"position":[[73,7],[141,7]]}},"keywords":{}}],["hash3",{"_index":6061,"title":{},"content":{"1226":{"position":[[1930,6]]},"1237":{"position":[[2100,6]]}},"keywords":{}}],["hash:siz",{"_index":4301,"title":{},"content":{"895":{"position":[[661,9]]},"1172":{"position":[[571,12]]}},"keywords":{}}],["hash_all_command",{"_index":5629,"title":{},"content":{"1100":{"position":[[285,17]]}},"keywords":{}}],["hasher",{"_index":4843,"title":{},"content":{"977":{"position":[[450,7]]}},"keywords":{}}],["hashmap<str",{"_index":4897,"title":{},"content":{"988":{"position":[[703,18]]}},"keywords":{}}],["hashmap<target",{"_index":4898,"title":{},"content":{"988":{"position":[[722,18]]}},"keywords":{}}],["hashtable.c",{"_index":8132,"title":{},"content":{"1448":{"position":[[2909,14]]}},"keywords":{}}],["haskel",{"_index":282,"title":{},"content":{"9":{"position":[[2287,8],[2438,7]]},"22":{"position":[[143,8]]},"23":{"position":[[1771,8]]},"1416":{"position":[[1345,7],[2281,7],[3452,7]]},"1420":{"position":[[1062,7],[1963,7],[2589,7]]},"1421":{"position":[[989,7]]}},"keywords":{}}],["haskell_binari",{"_index":7841,"title":{"1416":{"position":[[0,15]]}},"content":{"1416":{"position":[[4,15],[1300,16],[3551,15]]}},"keywords":{}}],["haskell_ghci",{"_index":7858,"title":{"1417":{"position":[[0,13]]}},"content":{"1417":{"position":[[4,13]]}},"keywords":{}}],["haskell_haddock",{"_index":7864,"title":{"1418":{"position":[[0,16]]}},"content":{"1418":{"position":[[4,16]]}},"keywords":{}}],["haskell_id",{"_index":7866,"title":{"1419":{"position":[[0,12]]}},"content":{"1419":{"position":[[4,12]]}},"keywords":{}}],["haskell_librari",{"_index":7848,"title":{"1420":{"position":[[0,16]]}},"content":{"1416":{"position":[[2346,17]]},"1420":{"position":[[4,16],[1008,17],[2028,17],[2688,16]]}},"keywords":{}}],["haskell_prebuilt_librari",{"_index":7869,"title":{"1421":{"position":[[0,25]]}},"content":{"1421":{"position":[[4,25]]}},"keywords":{}}],["hasprofilingcap",{"_index":4055,"title":{},"content":{"869":{"position":[[687,25]]}},"keywords":{}}],["hatch",{"_index":5595,"title":{},"content":{"1087":{"position":[[270,5]]}},"keywords":{}}],["hatch,"",{"_index":3435,"title":{},"content":{"685":{"position":[[140,12]]}},"keywords":{}}],["have",{"_index":307,"title":{},"content":{"9":{"position":[[2858,6]]},"23":{"position":[[866,6]]},"89":{"position":[[1079,6]]},"221":{"position":[[1079,6]]},"706":{"position":[[2332,6]]},"834":{"position":[[589,6]]},"919":{"position":[[1904,6],[2779,6]]},"933":{"position":[[137,6]]},"951":{"position":[[243,6]]},"958":{"position":[[213,6]]},"995":{"position":[[1020,6]]},"1040":{"position":[[2806,6]]},"1355":{"position":[[5974,6],[7031,6]]},"1398":{"position":[[6110,6]]},"1427":{"position":[[5147,6],[6230,6]]}},"keywords":{}}],["haveconfigur",{"_index":4822,"title":{},"content":{"969":{"position":[[275,17]]}},"keywords":{}}],["haveexecut",{"_index":3915,"title":{},"content":{"851":{"position":[[285,13]]}},"keywords":{}}],["haven't",{"_index":5530,"title":{},"content":{"1079":{"position":[[89,7]]}},"keywords":{}}],["haven’t",{"_index":3668,"title":{},"content":{"706":{"position":[[666,7]]}},"keywords":{}}],["haveout",{"_index":5652,"title":{},"content":{"1103":{"position":[[833,8]]}},"keywords":{}}],["header",{"_index":218,"title":{"1124":{"position":[[11,7]]}},"content":{"9":{"position":[[1046,6],[2023,8],[2470,7]]},"407":{"position":[[270,7]]},"418":{"position":[[294,6]]},"679":{"position":[[230,6],[293,7],[335,8]]},"680":{"position":[[387,6],[453,6],[478,6]]},"715":{"position":[[621,6]]},"786":{"position":[[270,7]]},"797":{"position":[[294,6]]},"1029":{"position":[[222,8],[356,6]]},"1035":{"position":[[236,7],[356,6]]},"1124":{"position":[[57,7]]},"1126":{"position":[[358,6]]},"1136":{"position":[[1717,12]]},"1148":{"position":[[2073,12]]},"1193":{"position":[[240,7]]},"1205":{"position":[[1197,12]]},"1209":{"position":[[950,12]]},"1226":{"position":[[2890,12]]},"1235":{"position":[[2210,12]]},"1237":{"position":[[3060,12]]},"1262":{"position":[[287,8]]},"1293":{"position":[[287,8]]},"1321":{"position":[[287,8]]},"1345":{"position":[[845,7],[920,7],[969,7]]},"1362":{"position":[[2163,8],[5193,6],[5285,7],[6714,6],[6900,6],[6932,6],[6948,6],[6966,6],[7025,6],[7056,7],[7147,6],[7372,6],[7420,6],[8381,7],[8418,7],[8498,7],[8805,7],[8835,8],[8855,6],[8988,6],[9020,6],[9036,6],[9054,6],[9113,6],[9144,7],[9388,6],[9436,6],[13891,7]]},"1364":{"position":[[2174,8],[5222,6],[5314,7],[6871,7],[6953,6],[7139,6],[7171,6],[7187,6],[7205,6],[7264,6],[7295,7],[7386,6],[7611,6],[7659,6],[9228,7],[9416,7],[9495,7],[9532,7],[9612,7],[9919,7],[9949,8],[9969,6],[10102,6],[10134,6],[10150,6],[10168,6],[10227,6],[10258,7],[10502,6],[10550,6],[13182,7],[13252,7],[14599,7]]},"1367":{"position":[[3354,8],[8469,7],[8506,7],[8586,7],[8893,7],[8923,8],[8943,6],[9076,6],[9108,6],[9124,6],[9142,6],[9201,6],[9232,7],[9476,6],[9524,6]]},"1373":{"position":[[1204,8],[4555,6],[4688,6],[4720,6],[4736,6],[4754,6],[4803,7],[5042,6],[5092,6],[7559,6],[7706,7],[7861,7],[8017,7],[8133,7],[8956,7]]},"1374":{"position":[[3009,7]]},"1382":{"position":[[1243,8],[5387,7],[5575,7],[5605,8],[5625,6],[5758,6],[5790,6],[5806,6],[5824,6],[5873,7],[6112,6],[6162,6],[8477,6],[8707,6],[8739,6],[8755,6],[8883,7],[10335,6],[10482,7],[10637,7],[10793,7],[10909,7],[11706,7],[11797,7],[11897,7]]},"1384":{"position":[[1952,8],[5916,7],[6031,7],[6141,6],[6320,6],[6352,6],[6368,6],[6386,7],[6624,6],[6674,6],[6711,6],[7818,6],[8048,6],[8080,6],[8096,6],[8271,7],[10334,7],[10522,7],[10552,8],[10572,6],[10705,6],[10737,6],[10753,6],[10771,6],[10820,7],[11059,6],[11109,6],[14822,6],[15052,6],[15084,6],[15100,6],[15228,7],[17409,6],[17556,7],[17711,7],[17867,7],[17983,7],[18113,7],[18183,7],[21270,6],[21527,7],[21899,7],[22072,6]]},"1385":{"position":[[699,8],[3301,7],[3489,7],[3538,6],[3671,6],[3703,6],[3719,6],[3737,6],[3786,7],[4025,6],[4075,6],[4706,6],[4936,6],[4968,6],[4984,6],[5112,7]]},"1386":{"position":[[606,6],[1616,7],[1636,6],[1681,6],[1730,6],[1779,6],[1820,8],[1842,7],[1999,6],[2181,6],[2456,6],[2924,6],[3151,6],[3388,7],[3631,8],[3949,6],[3992,6],[4313,6],[4457,6],[4636,6],[4809,6],[4876,6],[5113,6],[5522,6],[5680,6],[5732,6],[6246,6],[6282,6]]},"1387":{"position":[[2002,8],[5634,7],[5822,7],[5871,6],[6004,6],[6036,6],[6052,6],[6070,6],[6119,7],[6358,6],[6408,6],[8079,6],[8309,6],[8341,6],[8357,6],[8485,7]]},"1388":{"position":[[1428,8],[6474,8],[6494,6],[6627,6],[6659,6],[6675,6],[6693,6],[6742,7],[6981,6],[7031,6],[8828,6],[8975,7],[9130,7],[9286,7],[9402,7]]},"1393":{"position":[[4864,6],[6094,6],[7800,6],[7891,8],[9701,6]]},"1398":{"position":[[3273,6]]},"1407":{"position":[[4969,7]]},"1415":{"position":[[920,8]]},"1454":{"position":[[3288,6],[4764,7],[4845,6],[5024,6],[5056,6],[5072,6],[5090,7],[5328,6],[5378,6],[5415,6],[6217,6],[6447,6],[6479,6],[6495,6],[6670,7],[7238,7],[7426,7],[7511,7],[9688,7]]},"1455":{"position":[[2412,7]]},"1462":{"position":[[1664,8]]},"1467":{"position":[[1800,8]]},"1485":{"position":[[420,8],[1669,7],[1857,7],[1906,6],[2039,6],[2071,6],[2087,6],[2105,6],[2154,7],[2393,6],[2443,6],[2741,6],[2971,6],[3003,6],[3019,6],[3147,7],[3200,6],[3347,7],[3502,7],[3658,7],[3774,7]]}},"keywords":{}}],["header_dir",{"_index":7777,"title":{},"content":{"1407":{"position":[[5264,11]]},"1454":{"position":[[1333,12],[9788,11]]}},"keywords":{}}],["header_mod",{"_index":6924,"title":{},"content":{"1364":{"position":[[2075,12]]},"1384":{"position":[[1889,12]]}},"keywords":{}}],["header_nam",{"_index":6791,"title":{},"content":{"1362":{"position":[[7336,12],[7488,12],[9352,12],[9504,12]]},"1364":{"position":[[7575,12],[7727,12],[10466,12],[10618,12]]},"1367":{"position":[[9440,12],[9592,12]]},"1373":{"position":[[5022,12]]},"1382":{"position":[[6092,12]]},"1384":{"position":[[6604,12],[11039,12]]},"1385":{"position":[[4005,12]]},"1387":{"position":[[6338,12]]},"1388":{"position":[[6961,12]]},"1454":{"position":[[5308,12]]},"1485":{"position":[[2373,12]]}},"keywords":{}}],["header_namespac",{"_index":6726,"title":{},"content":{"1362":{"position":[[2093,17]]},"1364":{"position":[[2104,17],[9181,17]]},"1367":{"position":[[3284,17]]},"1373":{"position":[[1170,17],[4943,17],[4990,16],[5119,16]]},"1382":{"position":[[1209,17],[5340,17],[6013,17],[6060,16],[6189,16]]},"1384":{"position":[[1918,17],[6525,17],[6572,16],[6760,16],[10287,17],[10960,17],[11007,16],[11136,16],[21568,16]]},"1385":{"position":[[665,17],[3926,17],[3973,16],[4102,16]]},"1387":{"position":[[1968,17],[6259,17],[6306,16],[6435,16]]},"1388":{"position":[[1394,17],[6882,17],[6929,16],[7058,16]]},"1415":{"position":[[886,17]]},"1454":{"position":[[1368,17],[5229,17],[5276,16],[5464,16]]},"1462":{"position":[[1630,17]]},"1467":{"position":[[1766,17]]},"1485":{"position":[[386,17],[2294,17],[2341,16],[2470,16]]}},"keywords":{}}],["header_onli",{"_index":8145,"title":{},"content":{"1454":{"position":[[1402,12],[9768,11]]}},"keywords":{}}],["header_path_prefix",{"_index":6727,"title":{},"content":{"1362":{"position":[[2127,19],[7253,19],[7302,18],[7558,18],[8332,19],[8536,18],[9269,19],[9318,18],[9574,18]]},"1364":{"position":[[2138,19],[7492,19],[7541,18],[7797,18],[9446,19],[9650,18],[10383,19],[10432,18],[10688,18]]},"1367":{"position":[[3318,19],[8420,19],[8624,18],[9357,19],[9406,18],[9662,18]]}},"keywords":{}}],["headers_as_raw_headers_mod",{"_index":6728,"title":{},"content":{"1362":{"position":[[2204,28]]},"1364":{"position":[[2215,28]]},"1367":{"position":[[3395,28]]},"1373":{"position":[[1245,28]]},"1382":{"position":[[1284,28]]},"1384":{"position":[[1993,28]]},"1385":{"position":[[740,28]]},"1387":{"position":[[2043,28]]},"1388":{"position":[[1469,28]]},"1389":{"position":[[2337,28]]},"1415":{"position":[[961,28]]},"1462":{"position":[[1705,28]]},"1467":{"position":[[1841,28]]}},"keywords":{}}],["headers_tag",{"_index":5104,"title":{},"content":{"1031":{"position":[[221,11],[1035,11]]}},"keywords":{}}],["headers_tag.tag_artifacts(dep_fil",{"_index":5111,"title":{},"content":{"1031":{"position":[[645,35]]}},"keywords":{}}],["headers_tag.tag_artifacts(head",{"_index":5108,"title":{},"content":{"1031":{"position":[[524,34]]}},"keywords":{}}],["headers_whitelist",{"_index":7368,"title":{},"content":{"1389":{"position":[[2382,18]]}},"keywords":{}}],["heap",{"_index":385,"title":{"885":{"position":[[0,5],[10,4]]},"886":{"position":[[0,6]]},"887":{"position":[[0,4]]},"888":{"position":[[0,4]]}},"content":{"11":{"position":[[616,4]]},"886":{"position":[[41,4],[76,4],[330,4]]},"887":{"position":[[0,5],[60,4],[152,5],[210,4]]},"888":{"position":[[120,4],[175,4],[533,4],[655,4],[812,5],[838,4],[1001,5],[1050,4]]},"889":{"position":[[694,4],[895,4],[974,5],[1030,4]]},"892":{"position":[[8,4],[314,4],[328,4],[657,4],[1884,5]]},"898":{"position":[[206,4]]},"1056":{"position":[[288,4],[377,4],[469,4],[497,4],[761,4],[919,4],[1006,4]]},"1057":{"position":[[25,5],[1130,4],[1205,4],[1258,4]]},"1148":{"position":[[7365,4],[7387,4],[7408,4],[7432,4]]},"1186":{"position":[[582,4],[717,4],[917,4],[939,4],[960,4],[984,4]]},"1187":{"position":[[595,4],[730,4],[930,4],[952,4],[973,4],[997,4]]},"1188":{"position":[[5321,4],[5456,4],[5656,4],[5678,4],[5699,4],[5723,4]]}},"keywords":{}}],["heap::new",{"_index":4161,"title":{},"content":{"888":{"position":[[369,12]]}},"keywords":{}}],["hear",{"_index":8599,"title":{},"content":{"1486":{"position":[[4800,5]]}},"keywords":{}}],["heavi",{"_index":1194,"title":{},"content":{"94":{"position":[[1514,5]]},"226":{"position":[[1514,5]]},"710":{"position":[[196,5]]},"965":{"position":[[461,6]]}},"keywords":{}}],["heavili",{"_index":619,"title":{},"content":{"20":{"position":[[539,7]]},"23":{"position":[[3260,7]]},"690":{"position":[[571,7]]}},"keywords":{}}],["held",{"_index":5018,"title":{},"content":{"1004":{"position":[[2253,5]]}},"keywords":{}}],["hello",{"_index":2907,"title":{},"content":{"606":{"position":[[245,5]]},"615":{"position":[[246,5]]},"619":{"position":[[194,5]]},"910":{"position":[[374,5]]},"1044":{"position":[[1939,5]]},"1049":{"position":[[804,5],[981,6]]}},"keywords":{}}],["hello!x".rstrip("",{"_index":2979,"title":{},"content":{"615":{"position":[[297,27]]}},"keywords":{}}],["hello"",{"_index":2978,"title":{},"content":{"615":{"position":[[278,11],[345,11]]}},"keywords":{}}],["hello.c",{"_index":7136,"title":{},"content":{"1381":{"position":[[2627,11]]},"1456":{"position":[[1641,11]]}},"keywords":{}}],["hello.txt",{"_index":8630,"title":{},"content":{"1487":{"position":[[3921,9]]}},"keywords":{}}],["hello_artifact",{"_index":5274,"title":{},"content":{"1049":{"position":[[1294,14],[1486,15]]}},"keywords":{}}],["hello_world",{"_index":493,"title":{"18":{"position":[[20,11]]}},"content":{"17":{"position":[[313,13]]},"18":{"position":[[53,13],[149,11],[164,11]]}},"keywords":{}}],["helloinfo",{"_index":5179,"title":{},"content":{"1044":{"position":[[959,9],[1442,9]]},"1049":{"position":[[667,9]]}},"keywords":{}}],["helloinfo(hello",{"_index":5268,"title":{},"content":{"1049":{"position":[[963,15]]}},"keywords":{}}],["help",{"_index":2610,"title":{"1151":{"position":[[0,4]]},"1152":{"position":[[5,4]]},"1256":{"position":[[18,6]]}},"content":{"570":{"position":[[594,4],[618,5]]},"687":{"position":[[175,4]]},"689":{"position":[[146,4]]},"840":{"position":[[920,5]]},"841":{"position":[[392,5],[444,5],[470,4]]},"864":{"position":[[132,7]]},"870":{"position":[[228,4]]},"1086":{"position":[[74,7]]},"1120":{"position":[[877,4]]},"1127":{"position":[[139,4]]},"1136":{"position":[[2398,4],[2409,4],[5508,4]]},"1138":{"position":[[5497,4],[5508,4],[9170,4]]},"1140":{"position":[[4986,4],[4997,4],[8096,4]]},"1142":{"position":[[690,4],[701,4],[3540,4]]},"1144":{"position":[[338,4],[349,4]]},"1146":{"position":[[370,4],[381,4],[3480,4]]},"1148":{"position":[[2847,4],[2858,4],[6520,4]]},"1150":{"position":[[573,4],[584,4]]},"1152":{"position":[[6,4],[72,4],[271,4],[282,4]]},"1154":{"position":[[348,4],[379,4],[426,4],[437,4]]},"1155":{"position":[[726,4],[737,4],[3576,4]]},"1156":{"position":[[304,4],[315,4],[3154,4]]},"1157":{"position":[[209,4],[220,4]]},"1158":{"position":[[203,4],[214,4]]},"1159":{"position":[[203,4],[214,4]]},"1161":{"position":[[467,4],[478,4],[1047,4]]},"1163":{"position":[[265,4],[276,4]]},"1165":{"position":[[94,4],[105,4]]},"1167":{"position":[[5990,4],[6001,4],[9100,4]]},"1169":{"position":[[89,4],[100,4]]},"1171":{"position":[[841,4],[872,4],[919,4],[930,4]]},"1172":{"position":[[2304,4],[2315,4]]},"1173":{"position":[[74,4],[991,4],[1002,4]]},"1174":{"position":[[419,4],[430,4]]},"1175":{"position":[[415,4],[426,4]]},"1176":{"position":[[584,4],[595,4]]},"1177":{"position":[[505,4],[516,4]]},"1178":{"position":[[822,4],[833,4]]},"1179":{"position":[[619,4],[630,4]]},"1180":{"position":[[890,4],[901,4]]},"1181":{"position":[[679,4],[690,4],[1259,4]]},"1182":{"position":[[453,4],[464,4]]},"1183":{"position":[[408,4],[419,4]]},"1185":{"position":[[175,4],[206,4],[253,4],[264,4]]},"1186":{"position":[[1071,4],[1082,4],[4744,4]]},"1187":{"position":[[1084,4],[1095,4],[4757,4]]},"1188":{"position":[[5810,4],[5821,4],[9483,4]]},"1190":{"position":[[1506,4],[1537,4],[1584,4],[1595,4]]},"1191":{"position":[[494,4],[505,4],[3344,4]]},"1192":{"position":[[409,4],[420,4],[3519,4]]},"1193":{"position":[[721,4],[732,4],[3571,4]]},"1194":{"position":[[361,4],[372,4],[3211,4]]},"1195":{"position":[[339,4],[350,4],[3189,4]]},"1196":{"position":[[149,4],[160,4],[2999,4]]},"1197":{"position":[[309,4],[320,4],[3982,4]]},"1198":{"position":[[319,4],[330,4],[3992,4]]},"1199":{"position":[[347,4],[358,4],[4020,4]]},"1200":{"position":[[214,4],[225,4],[3887,4]]},"1201":{"position":[[297,4],[308,4],[3147,4]]},"1202":{"position":[[283,4],[314,4],[361,4],[372,4],[1439,4],[1450,4],[4289,4],[5836,4],[5847,4],[8686,4]]},"1203":{"position":[[271,4],[282,4],[3381,4]]},"1204":{"position":[[248,4],[279,4],[375,4],[386,4],[3225,4],[4597,4],[4608,4],[5527,4],[5538,4],[6429,4],[6440,4],[7415,4],[7426,4],[8369,4],[8380,4],[9316,4],[9327,4],[10246,4],[10257,4]]},"1205":{"position":[[1444,4],[1455,4],[4554,4]]},"1206":{"position":[[175,4],[186,4],[3025,4]]},"1207":{"position":[[332,4],[343,4],[3182,4]]},"1209":{"position":[[1680,4],[1691,4],[4530,4]]},"1211":{"position":[[324,4],[335,4]]},"1213":{"position":[[95,4],[106,4]]},"1215":{"position":[[179,4],[190,4]]},"1217":{"position":[[4731,4],[4742,4],[7841,4]]},"1219":{"position":[[977,4],[988,4]]},"1221":{"position":[[220,4],[251,4],[298,4],[309,4]]},"1222":{"position":[[101,4],[112,4],[2951,4]]},"1223":{"position":[[111,4],[122,4],[2961,4]]},"1224":{"position":[[291,4],[302,4]]},"1226":{"position":[[5199,4],[5210,4],[8309,4]]},"1228":{"position":[[6812,4],[6823,4],[9922,4]]},"1235":{"position":[[2940,4],[2951,4],[5790,4]]},"1237":{"position":[[5369,4],[5380,4],[8479,4]]},"1355":{"position":[[6494,4]]},"1398":{"position":[[6637,4]]}},"keywords":{}}],["help`"",{"_index":3864,"title":{},"content":{"840":{"position":[[1123,12]]}},"keywords":{}}],["helpdoc",{"_index":3861,"title":{},"content":{"840":{"position":[[859,8]]}},"keywords":{}}],["helper",{"_index":5700,"title":{},"content":{"1105":{"position":[[2490,7]]},"1398":{"position":[[2994,6]]}},"keywords":{}}],["henc",{"_index":1326,"title":{},"content":{"121":{"position":[[326,5]]},"530":{"position":[[326,5]]},"1024":{"position":[[229,6]]}},"keywords":{}}],["here",{"_index":860,"title":{},"content":{"41":{"position":[[571,4]]},"174":{"position":[[571,4]]},"374":{"position":[[828,4]]},"421":{"position":[[316,4]]},"484":{"position":[[76,4]]},"675":{"position":[[0,4]]},"690":{"position":[[561,4]]},"704":{"position":[[1549,4]]},"753":{"position":[[828,4]]},"800":{"position":[[316,4]]},"839":{"position":[[26,5]]},"860":{"position":[[300,4],[370,4]]},"864":{"position":[[398,5]]},"869":{"position":[[863,4]]},"878":{"position":[[332,4],[779,4],[1294,4]]},"904":{"position":[[459,4],[1208,5],[1215,5]]},"946":{"position":[[192,4]]},"964":{"position":[[643,4]]},"991":{"position":[[406,4],[3287,5]]},"1026":{"position":[[537,4]]},"1112":{"position":[[4466,4]]},"1113":{"position":[[563,5]]},"1167":{"position":[[366,4],[514,4],[663,4],[842,4],[1016,4],[1204,4],[1383,4],[1547,4],[1717,4],[1864,4]]},"1248":{"position":[[106,4]]},"1345":{"position":[[985,5]]},"1351":{"position":[[3554,4]]},"1353":{"position":[[2866,4]]},"1354":{"position":[[3103,4]]},"1360":{"position":[[5753,4]]},"1364":{"position":[[6902,4]]},"1366":{"position":[[3037,4]]},"1384":{"position":[[5947,4]]},"1393":{"position":[[7395,4]]},"1395":{"position":[[1877,4]]},"1398":{"position":[[4341,4]]},"1446":{"position":[[1777,5]]},"1454":{"position":[[4795,4]]},"1455":{"position":[[2443,4]]},"1462":{"position":[[8584,4],[9132,5]]},"1467":{"position":[[10066,4]]}},"keywords":{}}],["here'",{"_index":4892,"title":{},"content":{"988":{"position":[[205,6]]},"1356":{"position":[[1969,6]]},"1423":{"position":[[3752,6]]},"1469":{"position":[[2461,6],[2705,6],[3120,6],[3455,6]]}},"keywords":{}}],["hermet",{"_index":254,"title":{},"content":{"9":{"position":[[1660,8]]},"688":{"position":[[332,9]]},"693":{"position":[[262,8]]},"1383":{"position":[[4864,9]]},"1403":{"position":[[6187,8]]}},"keywords":{}}],["heterological?"",{"_index":2839,"title":{},"content":{"595":{"position":[[1772,20]]}},"keywords":{}}],["heurist",{"_index":4767,"title":{},"content":{"958":{"position":[[87,10],[288,10]]}},"keywords":{}}],["hex",{"_index":2382,"title":{},"content":{"445":{"position":[[86,3]]},"576":{"position":[[321,4],[376,4],[439,4]]},"824":{"position":[[86,3]]},"1404":{"position":[[1463,3]]}},"keywords":{}}],["hidden",{"_index":956,"title":{"407":{"position":[[0,7]]},"786":{"position":[[0,7]]}},"content":{"67":{"position":[[72,7]]},"68":{"position":[[76,7]]},"98":{"position":[[920,6]]},"99":{"position":[[1217,6]]},"230":{"position":[[920,6]]},"231":{"position":[[1217,6]]},"405":{"position":[[261,7]]},"455":{"position":[[72,7]]},"456":{"position":[[76,7]]},"784":{"position":[[261,7]]},"1071":{"position":[[512,6]]},"1083":{"position":[[1254,8]]},"1105":{"position":[[2109,6],[2420,6]]},"1398":{"position":[[1390,6]]}},"keywords":{}}],["hide",{"_index":896,"title":{},"content":{"50":{"position":[[313,4]]},"197":{"position":[[313,4]]},"632":{"position":[[303,4],[365,4]]}},"keywords":{}}],["hide_prefix",{"_index":891,"title":{},"content":{"50":{"position":[[39,12]]},"197":{"position":[[39,12]]}},"keywords":{}}],["high",{"_index":659,"title":{"715":{"position":[[0,4]]}},"content":{"22":{"position":[[878,4]]},"715":{"position":[[206,4],[1580,4]]},"840":{"position":[[1624,4]]},"981":{"position":[[691,4]]},"1171":{"position":[[803,4]]},"1183":{"position":[[8,4]]},"1250":{"position":[[159,4]]},"1486":{"position":[[715,4]]}},"keywords":{}}],["higher",{"_index":397,"title":{},"content":{"12":{"position":[[200,7]]},"94":{"position":[[1566,6]]},"226":{"position":[[1566,6]]},"567":{"position":[[157,6]]},"583":{"position":[[177,6]]},"1231":{"position":[[783,6]]},"1360":{"position":[[2919,6],[4661,6]]},"1383":{"position":[[2504,6],[6693,6]]},"1403":{"position":[[2334,6],[4076,6]]}},"keywords":{}}],["hint",{"_index":1765,"title":{},"content":{"320":{"position":[[288,4],[378,4]]}},"keywords":{}}],["hip_compil",{"_index":7369,"title":{},"content":{"1389":{"position":[[2416,13]]}},"keywords":{}}],["hip_compiler_flag",{"_index":7370,"title":{},"content":{"1389":{"position":[[2446,19]]}},"keywords":{}}],["hip_compiler_typ",{"_index":7371,"title":{},"content":{"1389":{"position":[[2481,18]]}},"keywords":{}}],["hip_preprocessor_flag",{"_index":7372,"title":{},"content":{"1389":{"position":[[2516,23]]}},"keywords":{}}],["histor",{"_index":6168,"title":{},"content":{"1237":{"position":[[109,10]]}},"keywords":{}}],["hit",{"_index":239,"title":{},"content":{"9":{"position":[[1419,5]]},"126":{"position":[[541,3]]},"249":{"position":[[541,3]]},"693":{"position":[[684,4],[4672,4],[4834,4]]},"704":{"position":[[754,4],[914,4],[1891,4]]},"705":{"position":[[805,4]]},"706":{"position":[[582,3],[1461,4],[1704,4],[1796,4]]},"724":{"position":[[561,4]]},"897":{"position":[[36,3]]},"1035":{"position":[[441,3]]},"1037":{"position":[[184,3]]},"1138":{"position":[[4040,3],[4087,4],[4974,4]]},"1140":{"position":[[3529,3],[3576,4],[4463,4]]},"1167":{"position":[[4533,3],[4580,4],[5467,4]]},"1172":{"position":[[1348,4]]},"1173":{"position":[[648,4]]},"1188":{"position":[[3582,3],[3629,4],[4516,4]]},"1217":{"position":[[3274,3],[3321,4],[4208,4]]},"1228":{"position":[[5355,3],[5402,4],[6289,4]]}},"keywords":{}}],["hit.buck2",{"_index":3648,"title":{},"content":{"705":{"position":[[716,9]]}},"keywords":{}}],["hoist",{"_index":6205,"title":{},"content":{"1251":{"position":[[303,5]]},"1254":{"position":[[392,5]]}},"keywords":{}}],["hold",{"_index":1618,"title":{},"content":{"295":{"position":[[125,5]]},"296":{"position":[[75,5]]},"302":{"position":[[125,5]]},"312":{"position":[[77,5]]},"1052":{"position":[[901,5]]},"1053":{"position":[[1556,7]]},"1363":{"position":[[3988,7]]}},"keywords":{}}],["home",{"_index":2664,"title":{},"content":{"581":{"position":[[333,4]]},"583":{"position":[[326,4],[654,4],[711,4]]}},"keywords":{}}],["homogen",{"_index":5316,"title":{},"content":{"1052":{"position":[[65,11]]}},"keywords":{}}],["hood",{"_index":1832,"title":{},"content":{"338":{"position":[[445,4]]},"994":{"position":[[222,5]]},"995":{"position":[[205,4],[570,4]]}},"keywords":{}}],["hook",{"_index":790,"title":{},"content":{"24":{"position":[[415,6]]},"877":{"position":[[666,6]]},"1058":{"position":[[1083,4]]},"1398":{"position":[[3455,6]]}},"keywords":{}}],["host",{"_index":2255,"title":{},"content":{"419":{"position":[[123,5]]},"663":{"position":[[241,4]]},"798":{"position":[[123,5]]},"937":{"position":[[4280,4]]},"944":{"position":[[610,4],[701,4],[971,4],[1168,4],[1423,4]]},"993":{"position":[[184,4]]},"1136":{"position":[[2845,4]]},"1138":{"position":[[2612,4],[6507,4]]},"1140":{"position":[[2101,4],[5433,4]]},"1142":{"position":[[877,4]]},"1146":{"position":[[817,4]]},"1148":{"position":[[3857,4]]},"1155":{"position":[[913,4]]},"1156":{"position":[[491,4]]},"1167":{"position":[[3105,4],[6437,4]]},"1169":{"position":[[276,4]]},"1186":{"position":[[2081,4]]},"1187":{"position":[[2094,4]]},"1188":{"position":[[2154,4],[6820,4]]},"1191":{"position":[[681,4]]},"1192":{"position":[[856,4]]},"1193":{"position":[[908,4]]},"1194":{"position":[[548,4]]},"1195":{"position":[[526,4]]},"1196":{"position":[[336,4]]},"1197":{"position":[[1319,4]]},"1198":{"position":[[1329,4]]},"1199":{"position":[[1357,4]]},"1200":{"position":[[1224,4]]},"1201":{"position":[[484,4]]},"1202":{"position":[[1626,4],[6023,4]]},"1203":{"position":[[718,4]]},"1204":{"position":[[562,4]]},"1205":{"position":[[1891,4]]},"1206":{"position":[[362,4]]},"1207":{"position":[[519,4]]},"1209":{"position":[[1867,4]]},"1217":{"position":[[1846,4],[5178,4]]},"1219":{"position":[[1164,4]]},"1222":{"position":[[288,4]]},"1223":{"position":[[298,4]]},"1224":{"position":[[478,4]]},"1226":{"position":[[5646,4]]},"1228":{"position":[[3927,4],[7259,4]]},"1235":{"position":[[3127,4]]},"1237":{"position":[[5816,4]]},"1362":{"position":[[10184,4]]},"1364":{"position":[[11298,4]]},"1367":{"position":[[11101,4],[13595,4],[13691,4]]},"1374":{"position":[[2256,4],[2317,4]]},"1382":{"position":[[6910,4]]},"1384":{"position":[[13264,4]]},"1388":{"position":[[7779,4]]},"1415":{"position":[[5119,4]]},"1469":{"position":[[3215,5]]}},"keywords":{}}],["host_info",{"_index":2252,"title":{"419":{"position":[[0,10]]},"798":{"position":[[0,10]]}},"content":{"419":{"position":[[4,11],[38,11]]},"798":{"position":[[4,11],[38,11]]},"937":{"position":[[4226,11]]}},"keywords":{}}],["host_select",{"_index":4707,"title":{},"content":{"944":{"position":[[1628,13]]}},"keywords":{}}],["hot",{"_index":6220,"title":{},"content":{"1254":{"position":[[314,3]]}},"keywords":{}}],["hour",{"_index":6080,"title":{},"content":{"1228":{"position":[[1876,6],[1883,5]]}},"keywords":{}}],["hous",{"_index":7239,"title":{},"content":{"1385":{"position":[[3128,6]]},"1444":{"position":[[1755,6]]}},"keywords":{}}],["hpp",{"_index":8107,"title":{},"content":{"1446":{"position":[[2423,4]]}},"keywords":{}}],["hr",{"_index":6081,"title":{},"content":{"1228":{"position":[[1889,3]]}},"keywords":{}}],["hrl",{"_index":7491,"title":{},"content":{"1393":{"position":[[7703,6],[7819,5]]}},"keywords":{}}],["http",{"_index":6032,"title":{},"content":{"1213":{"position":[[30,4]]},"1345":{"position":[[840,4]]},"1422":{"position":[[3949,5]]},"1423":{"position":[[2716,5]]},"1469":{"position":[[2173,5],[2179,6],[2507,5]]}},"keywords":{}}],["http://kentbeck.github.com/junit/javadoc/4.8",{"_index":8238,"title":{},"content":{"1458":{"position":[[2597,48]]}},"keywords":{}}],["http://search.maven.org/remotecontent?filepath=com/google/guava/guava/23.0/guava",{"_index":7931,"title":{},"content":{"1423":{"position":[[2798,81],[3020,81]]}},"keywords":{}}],["http_archiv",{"_index":7886,"title":{"1422":{"position":[[0,13]]}},"content":{"1422":{"position":[[4,13],[727,14],[1975,12],[2166,12],[3087,12],[3886,15],[3993,13]]}},"keywords":{}}],["http_file",{"_index":7924,"title":{"1423":{"position":[[0,10]]}},"content":{"1423":{"position":[[4,10],[628,11],[2656,12],[2755,10],[2973,10],[3344,11],[3547,10],[3775,11],[3835,10]]}},"keywords":{}}],["http_file()execut",{"_index":7925,"title":{},"content":{"1423":{"position":[[817,22]]}},"keywords":{}}],["https://buck2.build/docs/rule_authors/anon_target",{"_index":1019,"title":{},"content":{"81":{"position":[[416,51]]},"213":{"position":[[416,51]]}},"keywords":{}}],["https://buck2.build/docs/rule_authors/transitive_set",{"_index":1248,"title":{},"content":{"97":{"position":[[172,55]]},"229":{"position":[[172,55]]}},"keywords":{}}],["https://buck2.build/docs/users/query/aqueri",{"_index":5858,"title":{},"content":{"1136":{"position":[[219,44]]}},"keywords":{}}],["https://buck2.build/docs/users/query/cqueri",{"_index":5948,"title":{},"content":{"1148":{"position":[[752,44]]}},"keywords":{}}],["https://buck2.build/docs/users/query/uqueri",{"_index":6163,"title":{},"content":{"1235":{"position":[[545,44]]}},"keywords":{}}],["https://dl.google.com/android/ndk/android",{"_index":8382,"title":{},"content":{"1469":{"position":[[2579,42]]}},"keywords":{}}],["https://engineering.fb.com/2018/07/13/data",{"_index":3660,"title":{},"content":{"706":{"position":[[308,44]]}},"keywords":{}}],["https://github.com/facebook/buck2.git",{"_index":462,"title":{},"content":{"15":{"position":[[494,37]]},"17":{"position":[[346,37]]}},"keywords":{}}],["https://github.com/facebook/foo",{"_index":5621,"title":{},"content":{"1096":{"position":[[278,31]]}},"keywords":{}}],["https://github.com/facebookincubator/reind",{"_index":427,"title":{},"content":{"13":{"position":[[304,45]]}},"keywords":{}}],["https://github.com/kotlin/kotlinx.serialization/issues/64",{"_index":8060,"title":{},"content":{"1439":{"position":[[6326,57]]}},"keywords":{}}],["https://intern",{"_index":7910,"title":{},"content":{"1422":{"position":[[4041,17]]},"1423":{"position":[[3594,17]]}},"keywords":{}}],["huge",{"_index":266,"title":{},"content":{"9":{"position":[[1842,4]]},"924":{"position":[[939,4]]}},"keywords":{}}],["huge_target_list",{"_index":6203,"title":{},"content":{"1251":{"position":[[188,17],[414,17]]},"1255":{"position":[[125,17],[301,17]]}},"keywords":{}}],["human",{"_index":3081,"title":{},"content":{"632":{"position":[[161,5]]},"1363":{"position":[[4237,6]]}},"keywords":{}}],["hybrid",{"_index":1213,"title":{},"content":{"94":{"position":[[2882,6],[3060,6],[3656,7]]},"226":{"position":[[2882,6],[3060,6],[3656,7]]},"362":{"position":[[1180,6],[2043,6]]},"693":{"position":[[4581,6],[4711,6]]},"706":{"position":[[1495,6]]},"724":{"position":[[339,6],[1563,6]]},"741":{"position":[[1180,6],[2043,6]]},"1138":{"position":[[2526,6],[2640,6]]},"1140":{"position":[[2015,6],[2129,6]]},"1167":{"position":[[3019,6],[3133,6]]},"1188":{"position":[[2068,6],[2182,6]]},"1217":{"position":[[1760,6],[1874,6]]},"1228":{"position":[[3841,6],[3955,6]]},"1362":{"position":[[10030,6],[10087,6]]},"1364":{"position":[[11144,6],[11201,6]]},"1367":{"position":[[10947,6],[11004,6]]},"1382":{"position":[[6756,6],[6813,6]]},"1384":{"position":[[13110,6],[13167,6]]},"1388":{"position":[[7625,6],[7682,6]]}},"keywords":{}}],["hypothet",{"_index":5661,"title":{},"content":{"1104":{"position":[[1552,12]]}},"keywords":{}}],["i"",{"_index":5114,"title":{},"content":{"1031":{"position":[[902,8]]}},"keywords":{}}],["i'm",{"_index":4844,"title":{},"content":{"977":{"position":[[591,3]]},"1477":{"position":[[3228,3]]}},"keywords":{}}],["i'v",{"_index":4854,"title":{},"content":{"980":{"position":[[954,4],[1489,4]]}},"keywords":{}}],["i.",{"_index":1237,"title":{},"content":{"94":{"position":[[4278,5]]},"226":{"position":[[4278,5]]},"333":{"position":[[409,4]]},"345":{"position":[[463,5]]},"362":{"position":[[2205,5]]},"416":{"position":[[336,5]]},"417":{"position":[[566,5]]},"741":{"position":[[2205,5]]},"795":{"position":[[336,5]]},"796":{"position":[[566,5]]},"951":{"position":[[785,4]]},"954":{"position":[[141,3]]},"966":{"position":[[287,4]]},"1138":{"position":[[3258,5],[3345,5]]},"1140":{"position":[[2747,5],[2834,5]]},"1167":{"position":[[3751,5],[3838,5]]},"1172":{"position":[[1507,5]]},"1173":{"position":[[807,5]]},"1181":{"position":[[574,5]]},"1188":{"position":[[2800,5],[2887,5]]},"1217":{"position":[[2492,5],[2579,5]]},"1228":{"position":[[4573,5],[4660,5]]},"1232":{"position":[[3807,4]]},"1253":{"position":[[71,4]]},"1345":{"position":[[486,5],[763,5]]},"1351":{"position":[[3226,6]]},"1362":{"position":[[6358,5]]},"1364":{"position":[[6387,5]]},"1367":{"position":[[7785,5]]},"1373":{"position":[[3914,5]]},"1382":{"position":[[4270,5]]},"1384":{"position":[[5432,5]]},"1386":{"position":[[5211,4]]},"1388":{"position":[[4570,5]]},"1389":{"position":[[5428,6],[5675,6]]},"1393":{"position":[[7813,5]]},"1410":{"position":[[4536,5]]},"1454":{"position":[[4379,5]]},"1459":{"position":[[647,6]]},"1462":{"position":[[5392,5]]},"1471":{"position":[[2938,5]]}},"keywords":{}}],["i.when",{"_index":4360,"title":{},"content":{"900":{"position":[[127,6]]}},"keywords":{}}],["i/o",{"_index":4836,"title":{},"content":{"976":{"position":[[224,5]]},"1120":{"position":[[784,3]]},"1126":{"position":[[1615,4]]},"1136":{"position":[[5586,3]]},"1138":{"position":[[9248,3]]},"1140":{"position":[[8174,3]]},"1142":{"position":[[3618,3]]},"1146":{"position":[[3558,3]]},"1148":{"position":[[6598,3]]},"1155":{"position":[[3654,3]]},"1156":{"position":[[3232,3]]},"1161":{"position":[[1125,3]]},"1167":{"position":[[9178,3]]},"1181":{"position":[[1337,3]]},"1186":{"position":[[4822,3]]},"1187":{"position":[[4835,3]]},"1188":{"position":[[9561,3]]},"1191":{"position":[[3422,3]]},"1192":{"position":[[3597,3]]},"1193":{"position":[[3649,3]]},"1194":{"position":[[3289,3]]},"1195":{"position":[[3267,3]]},"1196":{"position":[[3077,3]]},"1197":{"position":[[4060,3]]},"1198":{"position":[[4070,3]]},"1199":{"position":[[4098,3]]},"1200":{"position":[[3965,3]]},"1201":{"position":[[3225,3]]},"1202":{"position":[[4367,3],[8764,3]]},"1203":{"position":[[3459,3]]},"1204":{"position":[[3303,3]]},"1205":{"position":[[4632,3]]},"1206":{"position":[[3103,3]]},"1207":{"position":[[3260,3]]},"1209":{"position":[[4608,3]]},"1217":{"position":[[7919,3]]},"1222":{"position":[[3029,3]]},"1223":{"position":[[3039,3]]},"1226":{"position":[[8387,3]]},"1228":{"position":[[10000,3]]},"1235":{"position":[[5868,3]]},"1237":{"position":[[8557,3]]}},"keywords":{}}],["ibtool",{"_index":6888,"title":{},"content":{"1363":{"position":[[4822,6]]},"1368":{"position":[[848,7]]}},"keywords":{}}],["ibtool_flag",{"_index":6855,"title":{},"content":{"1363":{"position":[[1842,13],[4778,13],[7729,12]]}},"keywords":{}}],["ibtool_module_flag",{"_index":6856,"title":{},"content":{"1363":{"position":[[1878,19]]}},"keywords":{}}],["icon",{"_index":6680,"title":{},"content":{"1361":{"position":[[1927,5],[2470,4],[2583,7]]}},"keywords":{}}],["id",{"_index":526,"title":{"872":{"position":[[23,4]]}},"content":{"17":{"position":[[1359,3]]},"23":{"position":[[2971,3]]},"304":{"position":[[33,3],[128,2],[236,2]]},"864":{"position":[[97,3],[196,3]]},"872":{"position":[[0,3],[449,3],[502,3]]},"955":{"position":[[353,3]]},"964":{"position":[[4,5]]},"1112":{"position":[[25,2]]},"1126":{"position":[[442,3]]},"1127":{"position":[[354,2]]},"1136":{"position":[[5789,2],[5830,2]]},"1138":{"position":[[9451,2],[9492,2]]},"1140":{"position":[[8377,2],[8418,2]]},"1142":{"position":[[3821,2],[3862,2]]},"1146":{"position":[[3761,2],[3802,2]]},"1148":{"position":[[6801,2],[6842,2]]},"1155":{"position":[[3857,2],[3898,2]]},"1156":{"position":[[3435,2],[3476,2]]},"1163":{"position":[[395,2],[436,2]]},"1165":{"position":[[224,2],[265,2]]},"1167":{"position":[[9381,2],[9422,2]]},"1169":{"position":[[2489,2],[2530,2]]},"1172":{"position":[[1025,2],[1057,2]]},"1173":{"position":[[325,2],[357,2]]},"1174":{"position":[[229,2],[261,2]]},"1175":{"position":[[249,2],[281,2]]},"1176":{"position":[[333,2],[365,2]]},"1177":{"position":[[245,2],[277,2]]},"1178":{"position":[[399,2],[431,2]]},"1179":{"position":[[265,2],[297,2]]},"1180":{"position":[[595,2],[627,2]]},"1181":{"position":[[350,2],[382,2]]},"1182":{"position":[[287,2],[319,2]]},"1183":{"position":[[242,2],[274,2]]},"1186":{"position":[[5025,2],[5066,2]]},"1187":{"position":[[5038,2],[5079,2]]},"1188":{"position":[[9764,2],[9805,2]]},"1190":{"position":[[484,3]]},"1191":{"position":[[3625,2],[3666,2]]},"1192":{"position":[[3800,2],[3841,2]]},"1193":{"position":[[3852,2],[3893,2]]},"1194":{"position":[[41,3],[3492,2],[3533,2]]},"1195":{"position":[[3470,2],[3511,2]]},"1196":{"position":[[3280,2],[3321,2]]},"1197":{"position":[[4263,2],[4304,2]]},"1198":{"position":[[4273,2],[4314,2]]},"1199":{"position":[[4301,2],[4342,2]]},"1200":{"position":[[4168,2],[4209,2]]},"1201":{"position":[[3428,2],[3469,2]]},"1202":{"position":[[4570,2],[4611,2],[8967,2],[9008,2]]},"1203":{"position":[[3662,2],[3703,2]]},"1204":{"position":[[3506,2],[3547,2]]},"1205":{"position":[[4835,2],[4876,2]]},"1206":{"position":[[3306,2],[3347,2]]},"1207":{"position":[[3463,2],[3504,2]]},"1209":{"position":[[4811,2],[4852,2]]},"1217":{"position":[[45,2],[8122,2],[8163,2]]},"1219":{"position":[[3377,2],[3418,2]]},"1222":{"position":[[3232,2],[3273,2]]},"1223":{"position":[[3242,2],[3283,2]]},"1224":{"position":[[2691,2],[2732,2]]},"1226":{"position":[[8590,2],[8631,2]]},"1228":{"position":[[10203,2],[10244,2]]},"1235":{"position":[[6071,2],[6112,2]]},"1237":{"position":[[8760,2],[8801,2]]},"1351":{"position":[[2012,2]]},"1363":{"position":[[6462,2],[6876,2]]},"1421":{"position":[[644,3]]},"1486":{"position":[[5310,2]]}},"keywords":{}}],["idb_companion=bar:2",{"_index":5339,"title":{},"content":{"1054":{"position":[[952,21]]}},"keywords":{}}],["ide/editor",{"_index":4084,"title":{},"content":{"873":{"position":[[307,11]]}},"keywords":{}}],["idea",{"_index":663,"title":{},"content":{"22":{"position":[[932,5]]},"954":{"position":[[760,4]]},"1070":{"position":[[969,4]]}},"keywords":{}}],["ideal",{"_index":3514,"title":{},"content":{"693":{"position":[[254,7]]},"856":{"position":[[605,7],[706,7],[807,7],[938,7]]},"998":{"position":[[324,6]]},"1355":{"position":[[6204,8]]},"1427":{"position":[[5377,8]]}},"keywords":{}}],["ident",{"_index":907,"title":{},"content":{"52":{"position":[[127,9]]},"53":{"position":[[105,9]]},"199":{"position":[[127,9]]},"200":{"position":[[105,9]]},"410":{"position":[[54,8]]},"414":{"position":[[281,9]]},"666":{"position":[[473,8]]},"693":{"position":[[5122,10]]},"789":{"position":[[54,8]]},"793":{"position":[[281,9]]},"1004":{"position":[[2064,9]]},"1172":{"position":[[226,8]]},"1393":{"position":[[2710,10],[8594,10]]},"1420":{"position":[[1042,8]]},"1462":{"position":[[5788,9]]},"1467":{"position":[[6284,9]]}},"keywords":{}}],["identfi",{"_index":6002,"title":{},"content":{"1180":{"position":[[174,10]]}},"keywords":{}}],["identifi",{"_index":269,"title":{},"content":{"9":{"position":[[1955,10]]},"94":{"position":[[289,11],[1374,10],[1407,8]]},"226":{"position":[[289,11],[1374,10],[1407,8]]},"280":{"position":[[240,10]]},"304":{"position":[[269,8]]},"693":{"position":[[8623,10]]},"695":{"position":[[682,8]]},"717":{"position":[[155,10],[634,11]]},"864":{"position":[[109,10],[143,8]]},"867":{"position":[[1036,10]]},"894":{"position":[[165,10]]},"895":{"position":[[34,11],[142,10]]},"898":{"position":[[377,11]]},"988":{"position":[[350,11]]},"1033":{"position":[[212,11]]},"1035":{"position":[[338,8]]},"1067":{"position":[[44,10]]},"1112":{"position":[[28,11],[3867,10],[3892,11]]},"1126":{"position":[[412,11],[537,11]]},"1136":{"position":[[6712,11]]},"1138":{"position":[[10374,11]]},"1140":{"position":[[9300,11]]},"1142":{"position":[[4744,11]]},"1144":{"position":[[1072,11]]},"1146":{"position":[[4684,11]]},"1148":{"position":[[8275,11]]},"1150":{"position":[[1307,11]]},"1152":{"position":[[1005,11]]},"1154":{"position":[[1160,11]]},"1155":{"position":[[4780,11]]},"1156":{"position":[[4358,11]]},"1157":{"position":[[943,11]]},"1158":{"position":[[937,11]]},"1159":{"position":[[937,11]]},"1161":{"position":[[1932,11]]},"1163":{"position":[[1318,11]]},"1165":{"position":[[1147,11]]},"1167":{"position":[[10304,11]]},"1169":{"position":[[3412,11]]},"1171":{"position":[[1653,11]]},"1172":{"position":[[3038,11]]},"1173":{"position":[[1725,11]]},"1174":{"position":[[1153,11]]},"1175":{"position":[[1149,11]]},"1176":{"position":[[1318,11]]},"1177":{"position":[[1239,11]]},"1178":{"position":[[1556,11]]},"1179":{"position":[[1353,11]]},"1180":{"position":[[1624,11]]},"1181":{"position":[[2144,11]]},"1182":{"position":[[1187,11]]},"1183":{"position":[[1142,11]]},"1185":{"position":[[987,11]]},"1186":{"position":[[5948,11]]},"1187":{"position":[[5961,11]]},"1188":{"position":[[10687,11]]},"1190":{"position":[[2318,11]]},"1191":{"position":[[4548,11]]},"1192":{"position":[[4723,11]]},"1193":{"position":[[4775,11]]},"1194":{"position":[[4415,11]]},"1195":{"position":[[4393,11]]},"1196":{"position":[[4203,11]]},"1197":{"position":[[5186,11]]},"1198":{"position":[[5196,11]]},"1199":{"position":[[5224,11]]},"1200":{"position":[[5091,11]]},"1201":{"position":[[4351,11]]},"1202":{"position":[[1095,11],[5493,11],[9890,11]]},"1203":{"position":[[122,12],[225,12],[245,10],[4585,11]]},"1204":{"position":[[4429,11],[5331,11],[6261,11],[7163,11],[8149,11],[9103,11],[10050,11],[10980,11]]},"1205":{"position":[[5758,11]]},"1206":{"position":[[4457,11]]},"1207":{"position":[[4386,11]]},"1209":{"position":[[5734,11]]},"1211":{"position":[[1058,11]]},"1213":{"position":[[829,11]]},"1215":{"position":[[913,11]]},"1217":{"position":[[9045,11]]},"1219":{"position":[[4300,11]]},"1221":{"position":[[1032,11]]},"1222":{"position":[[4171,11]]},"1223":{"position":[[4181,11]]},"1224":{"position":[[3614,11]]},"1226":{"position":[[9513,11]]},"1228":{"position":[[11126,11]]},"1232":{"position":[[3927,8]]},"1235":{"position":[[6994,11]]},"1237":{"position":[[9683,11]]},"1362":{"position":[[10859,11]]},"1364":{"position":[[11826,11]]},"1367":{"position":[[13473,11]]},"1370":{"position":[[1651,11]]},"1373":{"position":[[5375,11]]},"1381":{"position":[[2397,10]]},"1382":{"position":[[7728,11]]},"1384":{"position":[[13792,11]]},"1387":{"position":[[7053,11]]},"1421":{"position":[[980,8]]},"1426":{"position":[[1920,8]]},"1458":{"position":[[932,8]]},"1462":{"position":[[8005,13]]},"1467":{"position":[[9065,13]]}},"keywords":{}}],["ie",{"_index":1152,"title":{},"content":{"92":{"position":[[2203,2]]},"224":{"position":[[2203,2]]},"1098":{"position":[[157,2]]}},"keywords":{}}],["ifstat",{"_index":5431,"title":{},"content":{"1058":{"position":[[681,11]]}},"keywords":{}}],["ignor",{"_index":2020,"title":{},"content":{"374":{"position":[[1879,7]]},"406":{"position":[[574,8]]},"450":{"position":[[324,7]]},"675":{"position":[[621,8]]},"753":{"position":[[1879,7]]},"785":{"position":[[574,8]]},"829":{"position":[[324,7]]},"898":{"position":[[313,8]]},"927":{"position":[[190,7]]},"989":{"position":[[498,7]]},"1021":{"position":[[691,7]]},"1069":{"position":[[803,7]]},"1088":{"position":[[83,7]]},"1098":{"position":[[333,8]]},"1136":{"position":[[3234,8],[3340,8],[3435,8]]},"1138":{"position":[[6896,8],[7002,8],[7097,8]]},"1140":{"position":[[5822,8],[5928,8],[6023,8]]},"1142":{"position":[[1266,8],[1372,8],[1467,8]]},"1146":{"position":[[324,6],[1206,8],[1312,8],[1407,8]]},"1148":{"position":[[4246,8],[4352,8],[4447,8]]},"1155":{"position":[[1302,8],[1408,8],[1503,8]]},"1156":{"position":[[880,8],[986,8],[1081,8]]},"1167":{"position":[[6826,8],[6932,8],[7027,8]]},"1169":{"position":[[665,8],[771,8],[866,8]]},"1186":{"position":[[2470,8],[2576,8],[2671,8]]},"1187":{"position":[[2483,8],[2589,8],[2684,8]]},"1188":{"position":[[7209,8],[7315,8],[7410,8]]},"1191":{"position":[[1070,8],[1176,8],[1271,8]]},"1192":{"position":[[1245,8],[1351,8],[1446,8]]},"1193":{"position":[[1297,8],[1403,8],[1498,8]]},"1194":{"position":[[937,8],[1043,8],[1138,8]]},"1195":{"position":[[915,8],[1021,8],[1116,8]]},"1196":{"position":[[725,8],[831,8],[926,8]]},"1197":{"position":[[1708,8],[1814,8],[1909,8]]},"1198":{"position":[[1718,8],[1824,8],[1919,8]]},"1199":{"position":[[1746,8],[1852,8],[1947,8]]},"1200":{"position":[[1613,8],[1719,8],[1814,8]]},"1201":{"position":[[873,8],[979,8],[1074,8]]},"1202":{"position":[[2015,8],[2121,8],[2216,8],[6412,8],[6518,8],[6613,8]]},"1203":{"position":[[1107,8],[1213,8],[1308,8]]},"1204":{"position":[[951,8],[1057,8],[1152,8]]},"1205":{"position":[[2280,8],[2386,8],[2481,8]]},"1206":{"position":[[751,8],[857,8],[952,8]]},"1207":{"position":[[908,8],[1014,8],[1109,8]]},"1209":{"position":[[2256,8],[2362,8],[2457,8]]},"1217":{"position":[[5567,8],[5673,8],[5768,8]]},"1219":{"position":[[1553,8],[1659,8],[1754,8]]},"1222":{"position":[[677,8],[783,8],[878,8]]},"1223":{"position":[[687,8],[793,8],[888,8]]},"1224":{"position":[[867,8],[973,8],[1068,8]]},"1226":{"position":[[6035,8],[6141,8],[6236,8]]},"1228":{"position":[[2247,6],[7648,8],[7754,8],[7849,8]]},"1235":{"position":[[3516,8],[3622,8],[3717,8]]},"1237":{"position":[[6205,8],[6311,8],[6406,8]]},"1362":{"position":[[7590,8],[9606,8]]},"1364":{"position":[[7829,8],[10720,8]]},"1367":{"position":[[9694,8]]},"1405":{"position":[[3175,7]]},"1407":{"position":[[3596,7]]},"1410":{"position":[[4177,7]]},"1427":{"position":[[4181,6],[4199,6]]},"1471":{"position":[[4820,8]]},"1472":{"position":[[3771,8],[5404,8]]},"1473":{"position":[[5141,8]]},"1485":{"position":[[4634,7]]}},"keywords":{}}],["ignore_aapt_proguard_config",{"_index":6436,"title":{},"content":{"1350":{"position":[[1853,28]]},"1352":{"position":[[1852,28]]}},"keywords":{}}],["ignore_artifact",{"_index":2131,"title":{"406":{"position":[[0,17]]},"785":{"position":[[0,17]]}},"content":{"405":{"position":[[584,17]]},"406":{"position":[[504,16]]},"784":{"position":[[584,17]]},"785":{"position":[[504,16]]}},"keywords":{}}],["ignore_artifacts=tru",{"_index":2162,"title":{},"content":{"406":{"position":[[0,21]]},"785":{"position":[[0,21]]}},"keywords":{}}],["ignore_compile_error",{"_index":8259,"title":{},"content":{"1461":{"position":[[702,22]]},"1465":{"position":[[683,22]]}},"keywords":{}}],["ignored.loc",{"_index":6806,"title":{},"content":{"1362":{"position":[[10106,13]]},"1364":{"position":[[11220,13]]},"1367":{"position":[[11023,13]]},"1382":{"position":[[6832,13]]},"1384":{"position":[[13186,13]]},"1388":{"position":[[7701,13]]}},"keywords":{}}],["ignored.output",{"_index":1124,"title":{},"content":{"92":{"position":[[754,15]]},"224":{"position":[[754,15]]}},"keywords":{}}],["illustr",{"_index":4199,"title":{},"content":{"890":{"position":[[333,11]]},"1024":{"position":[[889,11]]},"1138":{"position":[[4151,10]]},"1140":{"position":[[3640,10]]},"1167":{"position":[[4644,10]]},"1188":{"position":[[3693,10]]},"1217":{"position":[[3385,10]]},"1228":{"position":[[5466,10]]}},"keywords":{}}],["imag",{"_index":129,"title":{},"content":{"6":{"position":[[299,5]]},"1260":{"position":[[805,6]]},"1291":{"position":[[805,6]]},"1319":{"position":[[805,6]]},"1346":{"position":[[646,6],[690,5],[702,5]]},"1361":{"position":[[1889,5],[2142,5],[2187,6],[2486,5]]},"1366":{"position":[[3300,9]]}},"keywords":{}}],["image.png",{"_index":6277,"title":{},"content":{"1260":{"position":[[964,9]]},"1291":{"position":[[964,9]]},"1319":{"position":[[964,9]]}},"keywords":{}}],["imagin",{"_index":3632,"title":{},"content":{"704":{"position":[[10,7],[146,7]]},"1026":{"position":[[998,7]]},"1105":{"position":[[1609,7]]},"1487":{"position":[[3219,7]]}},"keywords":{}}],["immedi",{"_index":1332,"title":{},"content":{"123":{"position":[[99,11]]},"532":{"position":[[99,11]]},"724":{"position":[[1715,11]]},"890":{"position":[[5716,11]]},"892":{"position":[[835,11]]},"921":{"position":[[452,9]]},"990":{"position":[[866,9]]},"1098":{"position":[[713,12]]},"1277":{"position":[[127,9]]},"1308":{"position":[[127,9]]},"1336":{"position":[[127,9]]}},"keywords":{}}],["immut",{"_index":3778,"title":{},"content":{"715":{"position":[[91,9]]},"836":{"position":[[52,10]]},"870":{"position":[[1339,9]]},"898":{"position":[[548,10],[1688,9],[1803,9],[2629,9],[2705,9]]}},"keywords":{}}],["immutable(frozenvalu",{"_index":4344,"title":{},"content":{"898":{"position":[[2225,23]]}},"keywords":{}}],["immutablepseudo",{"_index":4354,"title":{},"content":{"898":{"position":[[2611,15]]}},"keywords":{}}],["impact",{"_index":320,"title":{"572":{"position":[[12,6]]}},"content":{"10":{"position":[[343,6]]},"22":{"position":[[1334,6]]},"66":{"position":[[142,6]]},"454":{"position":[[142,6]]},"572":{"position":[[261,6]]},"1079":{"position":[[284,6]]}},"keywords":{}}],["impart",{"_index":8269,"title":{},"content":{"1461":{"position":[[3176,8]]}},"keywords":{}}],["impl",{"_index":2100,"title":{},"content":{"400":{"position":[[18,5]]},"403":{"position":[[17,5]]},"411":{"position":[[24,5]]},"437":{"position":[[13,5]]},"447":{"position":[[19,5]]},"712":{"position":[[3200,4]]},"779":{"position":[[18,5]]},"782":{"position":[[17,5]]},"790":{"position":[[24,5]]},"816":{"position":[[13,5]]},"826":{"position":[[19,5]]},"840":{"position":[[297,4],[999,4]]},"850":{"position":[[214,4]]},"864":{"position":[[538,4],[1338,4]]},"878":{"position":[[1585,4]]},"930":{"position":[[134,4]]},"961":{"position":[[489,4]]},"966":{"position":[[331,4],[548,4]]},"991":{"position":[[67,4],[189,4],[634,4]]},"1006":{"position":[[852,4]]},"1042":{"position":[[84,4],[149,4]]},"1043":{"position":[[261,4],[352,4]]},"1044":{"position":[[1037,4],[1575,4],[1717,4],[2832,4]]},"1046":{"position":[[50,4]]},"1047":{"position":[[218,4]]},"1048":{"position":[[797,4],[1507,4]]},"1049":{"position":[[1023,4]]},"1054":{"position":[[1386,4]]},"1108":{"position":[[441,4]]}},"keywords":{}}],["impl(ctx",{"_index":1943,"title":{},"content":{"368":{"position":[[696,10]]},"747":{"position":[[696,10]]},"1047":{"position":[[269,10]]}},"keywords":{}}],["impl=impl",{"_index":1961,"title":{},"content":{"368":{"position":[[1215,10]]},"747":{"position":[[1215,10]]}},"keywords":{}}],["implement",{"_index":766,"title":{"883":{"position":[[0,12]]},"924":{"position":[[7,9]]},"925":{"position":[[16,9]]},"928":{"position":[[7,9]]},"974":{"position":[[0,15]]},"1009":{"position":[[46,15]]},"1034":{"position":[[19,12]]},"1040":{"position":[[0,15]]},"1089":{"position":[[0,14]]}},"content":{"23":{"position":[[2887,14]]},"234":{"position":[[162,15]]},"368":{"position":[[437,15],[601,14]]},"427":{"position":[[195,16]]},"570":{"position":[[258,14]]},"573":{"position":[[168,14]]},"591":{"position":[[437,14]]},"693":{"position":[[7023,15],[7150,14],[7464,14]]},"715":{"position":[[900,14]]},"718":{"position":[[517,15]]},"747":{"position":[[437,15],[601,14]]},"806":{"position":[[195,16]]},"840":{"position":[[1146,14]]},"845":{"position":[[109,14]]},"890":{"position":[[192,11],[6095,11]]},"896":{"position":[[1059,14]]},"898":{"position":[[2026,14]]},"924":{"position":[[839,16],[1197,9],[1529,14]]},"926":{"position":[[129,11]]},"930":{"position":[[9,14]]},"942":{"position":[[1788,12],[1839,12]]},"944":{"position":[[1035,12],[2029,9]]},"946":{"position":[[571,11]]},"951":{"position":[[290,15]]},"956":{"position":[[23,11]]},"977":{"position":[[65,14],[365,14],[617,14]]},"991":{"position":[[2791,14]]},"1004":{"position":[[452,14],[554,14],[717,14]]},"1006":{"position":[[711,14]]},"1007":{"position":[[34,14]]},"1009":{"position":[[322,14]]},"1017":{"position":[[247,14]]},"1019":{"position":[[520,11]]},"1021":{"position":[[575,14]]},"1050":{"position":[[2523,14],[3526,14],[3708,14]]},"1054":{"position":[[192,14]]},"1057":{"position":[[1076,11]]},"1087":{"position":[[303,9]]},"1102":{"position":[[395,16],[929,9]]},"1103":{"position":[[546,11],[1490,14]]},"1233":{"position":[[182,9]]},"1241":{"position":[[130,9]]},"1247":{"position":[[479,12]]},"1259":{"position":[[1187,12]]},"1272":{"position":[[21,12]]},"1290":{"position":[[1187,12]]},"1303":{"position":[[21,12]]},"1318":{"position":[[1187,12]]},"1331":{"position":[[21,12]]},"1398":{"position":[[4974,10]]},"1471":{"position":[[2633,14]]},"1472":{"position":[[2592,14]]},"1473":{"position":[[2907,14]]}},"keywords":{}}],["implementationpascal_binary_impl",{"_index":5650,"title":{},"content":{"1103":{"position":[[705,32]]}},"keywords":{}}],["impli",{"_index":2814,"title":{},"content":{"595":{"position":[[976,8]]},"1058":{"position":[[849,8]]},"1103":{"position":[[1278,5]]},"1167":{"position":[[1192,7],[1371,7]]},"1367":{"position":[[13619,7]]}},"keywords":{}}],["implic",{"_index":3624,"title":{"703":{"position":[[42,12]]},"705":{"position":[[5,13]]},"706":{"position":[[13,13]]}},"content":{"706":{"position":[[1868,13]]}},"keywords":{}}],["implicit",{"_index":2815,"title":{},"content":{"595":{"position":[[1011,8]]},"998":{"position":[[97,8]]},"1045":{"position":[[175,8]]},"1226":{"position":[[4296,8]]},"1237":{"position":[[4466,8]]},"1398":{"position":[[4880,8]]}},"keywords":{}}],["implicit_package_symbol",{"_index":2275,"title":{"420":{"position":[[0,24]]},"799":{"position":[[0,24]]}},"content":{},"keywords":{}}],["implicit_package_symbol(nam",{"_index":2276,"title":{},"content":{"420":{"position":[[4,29]]},"799":{"position":[[4,29]]}},"keywords":{}}],["implicit_test_librari",{"_index":8366,"title":{},"content":{"1467":{"position":[[1886,22]]}},"keywords":{}}],["implicitli",{"_index":2174,"title":{},"content":{"407":{"position":[[196,10]]},"693":{"position":[[5772,10]]},"704":{"position":[[1786,11]]},"786":{"position":[[196,10]]},"1046":{"position":[[97,10]]},"1148":{"position":[[643,10]]},"1355":{"position":[[4200,10]]},"1384":{"position":[[20288,10]]},"1385":{"position":[[2016,10]]},"1405":{"position":[[1246,11]]},"1427":{"position":[[3345,10]]},"1439":{"position":[[4019,10]]}},"keywords":{}}],["import",{"_index":51,"title":{},"content":{"4":{"position":[[292,9]]},"9":{"position":[[2704,9]]},"20":{"position":[[647,9]]},"23":{"position":[[920,9],[1757,7]]},"284":{"position":[[138,6]]},"463":{"position":[[150,6]]},"693":{"position":[[5901,8]]},"706":{"position":[[1858,9]]},"886":{"position":[[378,9]]},"888":{"position":[[6,9],[715,9]]},"890":{"position":[[984,8],[3358,7],[6355,9],[6934,9]]},"898":{"position":[[411,6],[511,8],[603,7],[675,7],[814,7]]},"919":{"position":[[433,9]]},"944":{"position":[[784,9]]},"946":{"position":[[124,9]]},"950":{"position":[[664,9]]},"991":{"position":[[3145,9]]},"1024":{"position":[[101,9]]},"1026":{"position":[[522,9]]},"1050":{"position":[[4334,9]]},"1071":{"position":[[591,9]]},"1102":{"position":[[1011,9]]},"1103":{"position":[[1561,9]]},"1105":{"position":[[144,10]]},"1190":{"position":[[524,8]]},"1195":{"position":[[27,8]]},"1202":{"position":[[149,6],[1216,6],[1363,6]]},"1226":{"position":[[4173,7],[4190,7]]},"1237":{"position":[[4343,7],[4360,7]]},"1362":{"position":[[5186,6],[7071,8],[7085,7],[7198,9],[7213,7],[7434,8],[7448,7],[7629,6],[8583,8],[9159,8],[9173,7],[9229,7],[9450,8],[9464,7],[9645,6]]},"1364":{"position":[[5215,6],[7310,8],[7324,7],[7437,9],[7452,7],[7673,8],[7687,7],[7868,6],[9697,8],[10273,8],[10287,7],[10343,7],[10564,8],[10578,7],[10759,6]]},"1367":{"position":[[8671,8],[9247,8],[9261,7],[9317,7],[9538,8],[9552,7],[9733,6]]},"1373":{"position":[[4505,6],[8313,6]]},"1385":{"position":[[7440,9],[7619,6]]},"1387":{"position":[[10770,9],[10950,6],[11003,6]]},"1402":{"position":[[1791,6]]},"1416":{"position":[[2430,6]]},"1420":{"position":[[2112,6]]},"1421":{"position":[[1970,7]]},"1444":{"position":[[1853,7]]},"1461":{"position":[[2879,9]]},"1465":{"position":[[2653,7]]},"1467":{"position":[[8695,6]]}},"keywords":{}}],["import_dir",{"_index":7872,"title":{},"content":{"1421":{"position":[[657,12]]}},"keywords":{}}],["import_lib",{"_index":8146,"title":{},"content":{"1454":{"position":[[1425,11]]},"1455":{"position":[[607,12]]}},"keywords":{}}],["import_obj_c_forward_declar",{"_index":6729,"title":{},"content":{"1362":{"position":[[2249,34]]},"1364":{"position":[[2260,34]]},"1367":{"position":[[3440,34]]},"1480":{"position":[[564,34]]}},"keywords":{}}],["import_path",{"_index":7665,"title":{},"content":{"1402":{"position":[[554,12],[576,13],[2378,11]]}},"keywords":{}}],["importantli",{"_index":4243,"title":{},"content":{"890":{"position":[[4496,12]]},"898":{"position":[[347,12],[1839,12]]}},"keywords":{}}],["imported.valu",{"_index":4357,"title":{},"content":{"898":{"position":[[2810,14]]}},"keywords":{}}],["imports.dep",{"_index":7668,"title":{},"content":{"1402":{"position":[[1692,13]]}},"keywords":{}}],["imports.header_namespac",{"_index":7299,"title":{},"content":{"1387":{"position":[[5579,25]]}},"keywords":{}}],["imposs",{"_index":4414,"title":{},"content":{"904":{"position":[[1478,10]]},"937":{"position":[[2794,10]]}},"keywords":{}}],["improv",{"_index":304,"title":{},"content":{"9":{"position":[[2773,12]]},"676":{"position":[[82,7]]},"700":{"position":[[81,7]]},"1050":{"position":[[217,7]]},"1180":{"position":[[272,8],[295,11]]}},"keywords":{}}],["in.buckconfig",{"_index":2655,"title":{},"content":{"580":{"position":[[185,14]]},"1345":{"position":[[72,14]]}},"keywords":{}}],["in.buckconfigto",{"_index":6567,"title":{},"content":{"1355":{"position":[[6478,15]]}},"keywords":{}}],["in.bxl",{"_index":3845,"title":{},"content":{"840":{"position":[[75,7]]}},"keywords":{}}],["in:gcflag",{"_index":7756,"title":{},"content":{"1407":{"position":[[2599,11]]}},"keywords":{}}],["inbuck",{"_index":4126,"title":{},"content":{"879":{"position":[[363,6]]},"1065":{"position":[[134,6]]}},"keywords":{}}],["inbuck2",{"_index":544,"title":{},"content":{"18":{"position":[[287,7]]}},"keywords":{}}],["inc.:googl",{"_index":6490,"title":{},"content":{"1351":{"position":[[4448,11],[5705,11]]},"1360":{"position":[[6021,11]]}},"keywords":{}}],["incident",{"_index":4329,"title":{},"content":{"898":{"position":[[327,10]]}},"keywords":{}}],["includ",{"_index":144,"title":{"584":{"position":[[24,7]]},"1195":{"position":[[11,9]]}},"content":{"7":{"position":[[165,9]]},"12":{"position":[[57,7],[418,8]]},"18":{"position":[[441,8]]},"22":{"position":[[86,9],[979,9]]},"23":{"position":[[1072,10]]},"65":{"position":[[103,9]]},"67":{"position":[[61,10]]},"68":{"position":[[65,10]]},"92":{"position":[[429,7]]},"224":{"position":[[429,7]]},"237":{"position":[[505,8]]},"284":{"position":[[124,9]]},"368":{"position":[[2729,7]]},"374":{"position":[[2108,9]]},"389":{"position":[[416,7]]},"406":{"position":[[583,9]]},"418":{"position":[[10,8]]},"450":{"position":[[117,9]]},"453":{"position":[[103,9]]},"455":{"position":[[61,10]]},"456":{"position":[[65,10]]},"463":{"position":[[137,8]]},"572":{"position":[[45,8]]},"584":{"position":[[68,7],[147,8],[347,8],[414,9],[491,7],[787,7],[823,8],[857,8],[906,9],[1034,8],[1119,8],[1344,8],[1471,7]]},"587":{"position":[[481,7]]},"690":{"position":[[174,8],[3133,8]]},"693":{"position":[[3536,8],[4481,8],[10277,7]]},"708":{"position":[[49,8]]},"717":{"position":[[582,9]]},"722":{"position":[[1003,7]]},"747":{"position":[[2729,7]]},"753":{"position":[[2108,9]]},"768":{"position":[[416,7]]},"785":{"position":[[583,9]]},"797":{"position":[[10,8]]},"829":{"position":[[117,9]]},"867":{"position":[[1663,9]]},"870":{"position":[[383,8]]},"872":{"position":[[243,10]]},"887":{"position":[[10,8]]},"888":{"position":[[95,8]]},"921":{"position":[[887,10]]},"937":{"position":[[4053,7]]},"945":{"position":[[906,8]]},"964":{"position":[[209,9]]},"980":{"position":[[976,8]]},"991":{"position":[[1068,8]]},"995":{"position":[[952,7]]},"1001":{"position":[[1126,8]]},"1012":{"position":[[276,7]]},"1023":{"position":[[205,8],[267,8]]},"1024":{"position":[[214,8]]},"1040":{"position":[[346,7]]},"1050":{"position":[[1418,8]]},"1064":{"position":[[176,8],[1276,8],[1763,8]]},"1065":{"position":[[125,8]]},"1083":{"position":[[1074,7],[1090,8]]},"1103":{"position":[[88,8]]},"1112":{"position":[[1115,7],[1205,8],[1459,8],[2456,8]]},"1114":{"position":[[70,8]]},"1126":{"position":[[1566,8]]},"1136":{"position":[[1557,9],[4822,8]]},"1138":{"position":[[8484,8]]},"1140":{"position":[[7410,8]]},"1142":{"position":[[2854,8]]},"1146":{"position":[[2794,8]]},"1148":{"position":[[75,8],[543,8],[1913,9],[5834,8]]},"1155":{"position":[[2890,8]]},"1156":{"position":[[2468,8]]},"1161":{"position":[[202,7]]},"1167":{"position":[[8414,8]]},"1169":{"position":[[2253,8]]},"1172":{"position":[[262,7]]},"1180":{"position":[[124,8]]},"1186":{"position":[[836,9],[4058,8]]},"1187":{"position":[[849,9],[4071,8]]},"1188":{"position":[[5575,9],[8797,8]]},"1190":{"position":[[488,8]]},"1191":{"position":[[288,7],[2658,8]]},"1192":{"position":[[2833,8]]},"1193":{"position":[[2885,8]]},"1194":{"position":[[2525,8]]},"1195":{"position":[[78,8],[2503,8]]},"1196":{"position":[[2313,8]]},"1197":{"position":[[3296,8]]},"1198":{"position":[[3306,8]]},"1199":{"position":[[257,7],[3334,8]]},"1200":{"position":[[3201,8]]},"1201":{"position":[[2461,8]]},"1202":{"position":[[3603,8],[8000,8]]},"1203":{"position":[[2695,8]]},"1204":{"position":[[2539,8]]},"1205":{"position":[[417,9],[1037,9],[3868,8]]},"1206":{"position":[[2339,8],[3727,9]]},"1207":{"position":[[2496,8]]},"1209":{"position":[[790,9],[3844,8]]},"1215":{"position":[[82,7]]},"1217":{"position":[[7155,8]]},"1219":{"position":[[3141,8]]},"1222":{"position":[[2265,8]]},"1223":{"position":[[2275,8]]},"1224":{"position":[[2455,8]]},"1226":{"position":[[2730,9],[3133,7],[4286,9],[7623,8]]},"1228":{"position":[[479,7],[527,7],[648,7],[789,9],[9236,8]]},"1235":{"position":[[2050,9],[5104,8]]},"1237":{"position":[[2900,9],[3303,7],[4456,9],[7793,8]]},"1247":{"position":[[666,7]]},"1260":{"position":[[351,8]]},"1262":{"position":[[848,7]]},"1286":{"position":[[105,8]]},"1291":{"position":[[351,8]]},"1293":{"position":[[848,7]]},"1319":{"position":[[351,8]]},"1321":{"position":[[848,7]]},"1345":{"position":[[102,8]]},"1348":{"position":[[3675,7]]},"1351":{"position":[[3628,8]]},"1353":{"position":[[2317,8],[2616,7]]},"1354":{"position":[[2748,7]]},"1355":{"position":[[3825,7],[4211,8],[4483,8],[5187,7],[5235,8],[6347,7]]},"1356":{"position":[[1646,8]]},"1358":{"position":[[1110,7]]},"1359":{"position":[[1875,7]]},"1361":{"position":[[1969,10],[2230,10]]},"1362":{"position":[[8371,9]]},"1363":{"position":[[4057,8],[4435,7]]},"1364":{"position":[[6721,8],[9218,9],[9485,9]]},"1367":{"position":[[8459,9],[10563,7]]},"1373":{"position":[[4818,8],[4832,8],[4887,8]]},"1374":{"position":[[2633,7]]},"1382":{"position":[[5287,8],[5377,9],[5888,8],[5902,8],[5957,8],[6259,7],[6372,7]]},"1383":{"position":[[5064,7],[8824,7]]},"1384":{"position":[[5766,8],[6014,7],[6401,8],[6415,8],[6470,8],[10324,9],[10835,8],[10849,8],[10904,8],[11206,7],[11319,7],[16880,7],[17029,7],[17128,7],[17331,7],[19551,8],[20156,7],[21220,8],[21680,8],[22007,7]]},"1385":{"position":[[3291,9],[3801,8],[3815,8],[3870,8]]},"1386":{"position":[[1792,7],[1833,8],[2757,7],[3004,7],[3216,7],[3245,8],[3269,8],[3290,8],[3311,8],[3340,8],[3423,8],[3453,8],[3487,8],[3692,9],[4824,8],[5615,7],[5881,8]]},"1387":{"position":[[5624,9],[6134,8],[6148,8],[6203,8]]},"1388":{"position":[[5981,8],[6757,8],[6771,8],[6826,8],[7128,7],[7241,7]]},"1392":{"position":[[2018,7]]},"1393":{"position":[[697,9],[4853,8],[5180,7],[5263,8],[6073,9],[6663,8],[6863,8],[7594,8],[10027,8],[10385,8]]},"1394":{"position":[[433,9]]},"1395":{"position":[[1979,8]]},"1397":{"position":[[1946,8]]},"1398":{"position":[[2794,8],[3028,8],[3108,8],[3163,7],[4540,8],[6175,8]]},"1401":{"position":[[1451,7]]},"1405":{"position":[[3810,9]]},"1406":{"position":[[1569,9]]},"1407":{"position":[[4429,9]]},"1408":{"position":[[2808,9]]},"1410":{"position":[[3502,7],[4622,7],[5220,9]]},"1412":{"position":[[2850,7]]},"1415":{"position":[[3711,7],[5651,7],[5958,7]]},"1426":{"position":[[2418,8]]},"1427":{"position":[[2970,7],[3356,8],[3628,8],[4501,7],[4549,8],[5520,7],[6722,8]]},"1429":{"position":[[3735,7],[3810,7],[4794,7]]},"1439":{"position":[[3644,7],[4030,8],[4302,8],[7000,7],[7048,8],[7429,7],[7865,8]]},"1440":{"position":[[3728,7],[3803,7],[4876,7]]},"1442":{"position":[[2277,8]]},"1444":{"position":[[1897,8],[1957,8],[2073,7]]},"1446":{"position":[[2484,8]]},"1448":{"position":[[2087,7]]},"1449":{"position":[[2021,7]]},"1454":{"position":[[4614,8],[5105,8],[5119,8],[5174,8],[7228,9],[9804,10]]},"1455":{"position":[[2262,8]]},"1456":{"position":[[552,7]]},"1459":{"position":[[1639,8],[1823,8]]},"1461":{"position":[[901,7]]},"1462":{"position":[[4314,8],[5900,7],[5924,9]]},"1465":{"position":[[4112,7],[4246,7],[4316,8],[4492,7]]},"1467":{"position":[[10305,7],[10868,8],[11036,7]]},"1471":{"position":[[3536,7]]},"1472":{"position":[[3204,7],[4120,7]]},"1473":{"position":[[3604,7],[5388,7]]},"1485":{"position":[[1659,9],[2169,8],[2183,8],[2238,8],[2539,7],[2652,7],[4709,9],[4794,8]]},"1487":{"position":[[1656,8],[2323,7],[2450,8],[2561,8],[2658,7],[2773,8]]}},"keywords":{}}],["include_build_config_class",{"_index":6350,"title":{},"content":{"1348":{"position":[[1196,27]]}},"keywords":{}}],["include_dir",{"_index":8196,"title":{},"content":{"1455":{"position":[[640,13]]},"1460":{"position":[[562,12]]}},"keywords":{}}],["include_directori",{"_index":6730,"title":{},"content":{"1362":{"position":[[2294,20]]},"1364":{"position":[[2305,20]]},"1367":{"position":[[3485,20]]},"1373":{"position":[[1290,20],[7775,19]]},"1382":{"position":[[1329,20],[6228,20],[10551,19]]},"1384":{"position":[[2038,20],[11175,20],[17625,19]]},"1385":{"position":[[785,20]]},"1387":{"position":[[2088,20]]},"1388":{"position":[[1514,20],[7097,20],[9044,19]]},"1415":{"position":[[1006,20]]},"1462":{"position":[[1750,20]]},"1467":{"position":[[1925,20]]},"1485":{"position":[[461,20],[3416,19]]}},"keywords":{}}],["include_ert",{"_index":7566,"title":{},"content":{"1397":{"position":[[443,13]]}},"keywords":{}}],["include_in_android_merge_map_output",{"_index":7196,"title":{},"content":{"1384":{"position":[[2074,36]]},"1387":{"position":[[2124,36]]},"1454":{"position":[[1453,36]]},"1455":{"position":[[669,36]]}},"keywords":{}}],["include_lib",{"_index":7476,"title":{},"content":{"1393":{"position":[[5069,13]]}},"keywords":{}}],["include_lib("app_a/include/header.hrl",{"_index":7474,"title":{},"content":{"1393":{"position":[[4894,44]]}},"keywords":{}}],["include_lib("appname/include/header.hrl"",{"_index":7481,"title":{},"content":{"1393":{"position":[[6123,51]]}},"keywords":{}}],["include_priv",{"_index":7538,"title":{},"content":{"1395":{"position":[[490,13],[2250,13]]}},"keywords":{}}],["include_project",{"_index":7867,"title":{},"content":{"1419":{"position":[[568,17]]}},"keywords":{}}],["include_src",{"_index":7446,"title":{},"content":{"1393":{"position":[[636,12],[5881,12]]}},"keywords":{}}],["includecmd_arg",{"_index":3903,"title":{},"content":{"848":{"position":[[407,15]]}},"keywords":{}}],["included_appl",{"_index":7447,"title":{},"content":{"1393":{"position":[[659,22],[2938,21],[3178,21],[3758,21],[4776,21],[6008,22]]}},"keywords":{}}],["includefil",{"_index":7500,"title":{},"content":{"1393":{"position":[[8810,11],[8912,11]]}},"keywords":{}}],["includes_vector_draw",{"_index":6437,"title":{},"content":{"1350":{"position":[[1892,26]]},"1352":{"position":[[1891,26]]},"1353":{"position":[[776,26]]}},"keywords":{}}],["inclus",{"_index":2701,"title":{},"content":{"584":{"position":[[548,9]]},"1082":{"position":[[531,9]]},"1362":{"position":[[6755,9],[8896,9]]},"1364":{"position":[[6994,9],[10010,9]]},"1366":{"position":[[2895,9]]},"1367":{"position":[[8984,9]]},"1373":{"position":[[4596,9],[7593,9],[8047,9]]},"1382":{"position":[[5666,9],[8800,9],[10369,9],[10823,9]]},"1384":{"position":[[6182,9],[8141,9],[10613,9],[15145,9],[17443,9],[17897,9],[19951,9]]},"1385":{"position":[[3579,9],[5029,9]]},"1387":{"position":[[5912,9],[8402,9]]},"1388":{"position":[[6535,9],[8862,9],[9316,9]]},"1454":{"position":[[4886,9],[6540,9]]},"1485":{"position":[[1947,9],[3064,9],[3234,9],[3688,9]]}},"keywords":{}}],["incom",{"_index":1571,"title":{},"content":{"286":{"position":[[83,8],[177,8]]},"1009":{"position":[[190,8]]}},"keywords":{}}],["incommandexecutorconfiga",{"_index":6319,"title":{},"content":{"1346":{"position":[[325,25]]}},"keywords":{}}],["incompat",{"_index":1611,"title":{"1021":{"position":[[0,12]]}},"content":{"294":{"position":[[755,12]]},"877":{"position":[[166,12]]},"907":{"position":[[56,12],[179,12]]},"1019":{"position":[[342,12],[366,13],[630,12]]},"1021":{"position":[[319,13],[541,13]]},"1107":{"position":[[210,12]]},"1138":{"position":[[5178,12],[5212,12]]},"1140":{"position":[[4667,12],[4701,12]]},"1167":{"position":[[5671,12],[5705,12]]},"1188":{"position":[[4720,12],[4754,12]]},"1217":{"position":[[4412,12],[4446,12]]},"1228":{"position":[[6493,12],[6527,12]]},"1386":{"position":[[6364,16]]},"1461":{"position":[[2846,12]]}},"keywords":{}}],["incomplet",{"_index":2724,"title":{},"content":{"585":{"position":[[12,10]]},"1172":{"position":[[1727,10]]}},"keywords":{}}],["inconfigur",{"_index":4474,"title":{},"content":{"916":{"position":[[312,15]]}},"keywords":{}}],["inconsist",{"_index":8604,"title":{},"content":{"1486":{"position":[[5794,12]]}},"keywords":{}}],["incorpor",{"_index":3512,"title":{},"content":{"693":{"position":[[151,11]]},"1104":{"position":[[309,12]]}},"keywords":{}}],["incorrect",{"_index":5019,"title":{},"content":{"1004":{"position":[[2286,9]]},"1050":{"position":[[4545,9]]},"1136":{"position":[[733,9]]}},"keywords":{}}],["incorrectli",{"_index":4859,"title":{},"content":{"980":{"position":[[1349,11]]}},"keywords":{}}],["increas",{"_index":237,"title":{},"content":{"9":{"position":[[1389,9]]},"10":{"position":[[1129,10]]},"22":{"position":[[1451,10]]},"890":{"position":[[4328,10]]},"1112":{"position":[[540,9]]},"1113":{"position":[[415,9]]},"1429":{"position":[[4337,9]]},"1440":{"position":[[4330,9]]},"1486":{"position":[[5356,10]]}},"keywords":{}}],["increment",{"_index":1201,"title":{"1050":{"position":[[0,11]]}},"content":{"94":{"position":[[1924,11],[2679,11],[2716,11]]},"226":{"position":[[1924,11],[2679,11],[2716,11]]},"702":{"position":[[491,14],[528,14]]},"715":{"position":[[1455,14]]},"832":{"position":[[498,13],[921,14],[974,14]]},"937":{"position":[[1144,11]]},"954":{"position":[[618,14]]},"955":{"position":[[1410,11]]},"959":{"position":[[186,11]]},"1050":{"position":[[0,11],[71,14],[182,14],[316,11],[393,12],[3987,11],[4389,11]]},"1355":{"position":[[1163,12],[4764,12],[4792,11]]},"1439":{"position":[[1088,12],[4590,12],[4618,11]]},"1440":{"position":[[1272,12],[4539,12],[4567,11]]},"1470":{"position":[[1323,12],[4384,11]]}},"keywords":{}}],["increment_item",{"_index":2368,"title":{},"content":{"441":{"position":[[318,16]]},"820":{"position":[[318,16]]}},"keywords":{}}],["increment_items(a",{"_index":2364,"title":{},"content":{"441":{"position":[[222,19]]},"820":{"position":[[222,19]]}},"keywords":{}}],["incremental_build_mod",{"_index":8416,"title":{},"content":{"1471":{"position":[[966,23]]},"1472":{"position":[[1063,23]]},"1473":{"position":[[1018,23]]}},"keywords":{}}],["incremental_bundling_en",{"_index":6857,"title":{},"content":{"1363":{"position":[[1915,29]]},"1367":{"position":[[3521,29]]},"1372":{"position":[[1599,29]]}},"keywords":{}}],["incremental_en",{"_index":8417,"title":{},"content":{"1471":{"position":[[1006,20]]},"1472":{"position":[[1103,20]]},"1473":{"position":[[1058,20]]}},"keywords":{}}],["incremental_state.json",{"_index":5310,"title":{},"content":{"1050":{"position":[[4255,22],[4745,23]]}},"keywords":{}}],["incrementalcach",{"_index":4051,"title":{},"content":{"869":{"position":[[572,19]]}},"keywords":{}}],["inde",{"_index":6147,"title":{},"content":{"1232":{"position":[[3331,6]]}},"keywords":{}}],["independ",{"_index":3429,"title":{},"content":{"684":{"position":[[143,11]]},"695":{"position":[[691,11]]},"1014":{"position":[[534,13]]},"1026":{"position":[[114,13]]},"1082":{"position":[[1331,11]]},"1098":{"position":[[469,13]]},"1383":{"position":[[3376,11],[3495,11]]},"1384":{"position":[[20701,11]]},"1462":{"position":[[5805,11]]},"1467":{"position":[[6301,11]]}},"keywords":{}}],["index",{"_index":992,"title":{},"content":{"74":{"position":[[62,7]]},"76":{"position":[[68,8]]},"92":{"position":[[480,5]]},"224":{"position":[[480,5]]},"497":{"position":[[62,7]]},"498":{"position":[[125,9]]},"505":{"position":[[68,8]]},"566":{"position":[[109,5],[211,6],[377,5],[443,5],[531,9],[541,5],[610,5]]},"567":{"position":[[141,5],[227,5],[404,6]]},"568":{"position":[[178,5],[205,6],[229,5]]},"591":{"position":[[410,8]]},"594":{"position":[[178,5],[403,8]]},"595":{"position":[[777,5]]},"596":{"position":[[209,5]]},"611":{"position":[[124,5],[187,5],[266,5]]},"612":{"position":[[126,5],[212,5],[293,5]]},"638":{"position":[[728,5]]},"639":{"position":[[113,7],[179,7],[268,5],[388,6]]},"712":{"position":[[2680,5],[2708,5]]},"890":{"position":[[4092,5],[4344,6]]},"902":{"position":[[717,5]]},"1112":{"position":[[2925,5],[3009,5]]},"1455":{"position":[[3795,5],[4013,8],[4194,5],[4424,8]]}},"keywords":{}}],["index.opt",{"_index":4230,"title":{},"content":{"890":{"position":[[2903,12]]}},"keywords":{}}],["indi",{"_index":8394,"title":{},"content":{"1469":{"position":[[3577,6]]}},"keywords":{}}],["indic",{"_index":1061,"title":{},"content":{"85":{"position":[[546,9]]},"91":{"position":[[422,9],[556,9]]},"94":{"position":[[1582,8]]},"98":{"position":[[541,9]]},"121":{"position":[[155,8]]},"126":{"position":[[446,9]]},"217":{"position":[[546,9]]},"223":{"position":[[422,9],[556,9]]},"226":{"position":[[1582,8]]},"230":{"position":[[541,9]]},"249":{"position":[[446,9]]},"276":{"position":[[492,10]]},"277":{"position":[[440,10]]},"281":{"position":[[581,10]]},"282":{"position":[[531,10]]},"294":{"position":[[702,9]]},"405":{"position":[[1823,9]]},"530":{"position":[[155,8]]},"566":{"position":[[350,7]]},"690":{"position":[[3078,8]]},"722":{"position":[[926,9]]},"784":{"position":[[1823,9]]},"848":{"position":[[267,10]]},"897":{"position":[[91,10]]},"938":{"position":[[575,8]]},"1004":{"position":[[626,8]]},"1014":{"position":[[80,10]]},"1019":{"position":[[603,9]]},"1053":{"position":[[875,9]]},"1096":{"position":[[15,9]]},"1126":{"position":[[728,9],[931,9]]},"1219":{"position":[[379,9]]},"1244":{"position":[[170,8]]},"1355":{"position":[[5760,9]]},"1386":{"position":[[4047,8]]},"1393":{"position":[[8119,9]]},"1426":{"position":[[2678,8]]},"1427":{"position":[[4933,9]]},"1454":{"position":[[7468,9]]}},"keywords":{}}],["indicesstart",{"_index":2768,"title":{},"content":{"591":{"position":[[293,12]]}},"keywords":{}}],["indistinguish",{"_index":3504,"title":{},"content":{"690":{"position":[[3350,17]]}},"keywords":{}}],["individu",{"_index":1849,"title":{},"content":{"345":{"position":[[849,10]]},"693":{"position":[[231,11]]},"846":{"position":[[362,10]]},"857":{"position":[[112,10]]},"860":{"position":[[117,10]]},"904":{"position":[[816,10]]},"1001":{"position":[[1039,10]]},"1048":{"position":[[1301,10]]},"1082":{"position":[[153,10],[633,10]]},"1083":{"position":[[469,10]]},"1084":{"position":[[47,10]]},"1114":{"position":[[928,12]]},"1393":{"position":[[4417,10],[6354,10]]},"1427":{"position":[[7411,10]]},"1439":{"position":[[8237,10]]}},"keywords":{}}],["ineffici",{"_index":6213,"title":{"1253":{"position":[[16,11]]},"1254":{"position":[[9,11]]}},"content":{"1253":{"position":[[194,14]]}},"keywords":{}}],["inf",{"_index":3205,"title":{},"content":{"648":{"position":[[375,5]]}},"keywords":{}}],["inf/manifest.mf",{"_index":7958,"title":{},"content":{"1426":{"position":[[2552,15]]}},"keywords":{}}],["infer",{"_index":1940,"title":{},"content":{"368":{"position":[[558,8]]},"693":{"position":[[9735,8]]},"747":{"position":[[558,8]]},"904":{"position":[[11,5],[274,8],[942,9]]},"975":{"position":[[285,5]]},"1461":{"position":[[3101,5]]}},"keywords":{}}],["infer_cxx_header_dir",{"_index":8260,"title":{},"content":{"1461":{"position":[[735,22]]}},"keywords":{}}],["infinit",{"_index":5020,"title":{},"content":{"1004":{"position":[[2309,8]]}},"keywords":{}}],["influenc",{"_index":3562,"title":{},"content":{"693":{"position":[[5162,10]]},"1093":{"position":[[304,10]]}},"keywords":{}}],["info",{"_index":1585,"title":{},"content":{"288":{"position":[[218,4]]},"289":{"position":[[238,4]]},"363":{"position":[[187,5]]},"427":{"position":[[306,4]]},"510":{"position":[[244,4]]},"511":{"position":[[264,4]]},"693":{"position":[[214,5]]},"711":{"position":[[692,4]]},"742":{"position":[[187,5]]},"806":{"position":[[306,4]]},"1086":{"position":[[495,6],[524,6],[531,4]]},"1120":{"position":[[717,5]]},"1136":{"position":[[6180,4],[6208,4],[6240,4]]},"1138":{"position":[[832,4],[851,4],[893,4],[919,4],[962,4],[1027,4],[1105,4],[1160,4],[9842,4],[9870,4],[9902,4]]},"1140":{"position":[[8768,4],[8796,4],[8828,4]]},"1142":{"position":[[4212,4],[4240,4],[4272,4]]},"1144":{"position":[[540,4],[568,4],[600,4]]},"1146":{"position":[[4152,4],[4180,4],[4212,4]]},"1148":{"position":[[7743,4],[7771,4],[7803,4]]},"1150":{"position":[[775,4],[803,4],[835,4]]},"1152":{"position":[[473,4],[501,4],[533,4]]},"1154":{"position":[[628,4],[656,4],[688,4]]},"1155":{"position":[[4248,4],[4276,4],[4308,4]]},"1156":{"position":[[3826,4],[3854,4],[3886,4]]},"1157":{"position":[[411,4],[439,4],[471,4]]},"1158":{"position":[[405,4],[433,4],[465,4]]},"1159":{"position":[[405,4],[433,4],[465,4]]},"1161":{"position":[[1400,4],[1428,4],[1460,4]]},"1163":{"position":[[786,4],[814,4],[846,4]]},"1165":{"position":[[615,4],[643,4],[675,4]]},"1167":{"position":[[9772,4],[9800,4],[9832,4]]},"1169":{"position":[[2880,4],[2908,4],[2940,4]]},"1171":{"position":[[1121,4],[1149,4],[1181,4]]},"1172":{"position":[[2506,4],[2534,4],[2566,4]]},"1173":{"position":[[1193,4],[1221,4],[1253,4]]},"1174":{"position":[[621,4],[649,4],[681,4]]},"1175":{"position":[[617,4],[645,4],[677,4]]},"1176":{"position":[[786,4],[814,4],[846,4]]},"1177":{"position":[[707,4],[735,4],[767,4]]},"1178":{"position":[[1024,4],[1052,4],[1084,4]]},"1179":{"position":[[821,4],[849,4],[881,4]]},"1180":{"position":[[1092,4],[1120,4],[1152,4]]},"1181":{"position":[[1612,4],[1640,4],[1672,4]]},"1182":{"position":[[655,4],[683,4],[715,4]]},"1183":{"position":[[610,4],[638,4],[670,4]]},"1185":{"position":[[455,4],[483,4],[515,4]]},"1186":{"position":[[5416,4],[5444,4],[5476,4]]},"1187":{"position":[[5429,4],[5457,4],[5489,4]]},"1188":{"position":[[10155,4],[10183,4],[10215,4]]},"1190":{"position":[[1786,4],[1814,4],[1846,4]]},"1191":{"position":[[4016,4],[4044,4],[4076,4]]},"1192":{"position":[[4191,4],[4219,4],[4251,4]]},"1193":{"position":[[4243,4],[4271,4],[4303,4]]},"1194":{"position":[[3883,4],[3911,4],[3943,4]]},"1195":{"position":[[3861,4],[3889,4],[3921,4]]},"1196":{"position":[[3671,4],[3699,4],[3731,4]]},"1197":{"position":[[4654,4],[4682,4],[4714,4]]},"1198":{"position":[[4664,4],[4692,4],[4724,4]]},"1199":{"position":[[4692,4],[4720,4],[4752,4]]},"1200":{"position":[[4559,4],[4587,4],[4619,4]]},"1201":{"position":[[3819,4],[3847,4],[3879,4]]},"1202":{"position":[[563,4],[591,4],[623,4],[4961,4],[4989,4],[5021,4],[9358,4],[9386,4],[9418,4]]},"1203":{"position":[[4053,4],[4081,4],[4113,4]]},"1204":{"position":[[3897,4],[3925,4],[3957,4],[4799,4],[4827,4],[4859,4],[5729,4],[5757,4],[5789,4],[6631,4],[6659,4],[6691,4],[7617,4],[7645,4],[7677,4],[8571,4],[8599,4],[8631,4],[9518,4],[9546,4],[9578,4],[10448,4],[10476,4],[10508,4]]},"1205":{"position":[[5226,4],[5254,4],[5286,4]]},"1206":{"position":[[3925,4],[3953,4],[3985,4]]},"1207":{"position":[[3854,4],[3882,4],[3914,4]]},"1209":{"position":[[5202,4],[5230,4],[5262,4]]},"1211":{"position":[[526,4],[554,4],[586,4]]},"1213":{"position":[[297,4],[325,4],[357,4]]},"1215":{"position":[[381,4],[409,4],[441,4]]},"1217":{"position":[[8513,4],[8541,4],[8573,4]]},"1219":{"position":[[3768,4],[3796,4],[3828,4]]},"1221":{"position":[[500,4],[528,4],[560,4]]},"1222":{"position":[[3639,4],[3667,4],[3699,4]]},"1223":{"position":[[3649,4],[3677,4],[3709,4]]},"1224":{"position":[[3082,4],[3110,4],[3142,4]]},"1226":{"position":[[8981,4],[9009,4],[9041,4]]},"1228":{"position":[[10594,4],[10622,4],[10654,4]]},"1235":{"position":[[6462,4],[6490,4],[6522,4]]},"1237":{"position":[[9151,4],[9179,4],[9211,4]]}},"keywords":{}}],["info.filelist",{"_index":5589,"title":{},"content":{"1086":{"position":[[555,14]]}},"keywords":{}}],["info.plist",{"_index":6890,"title":{},"content":{"1363":{"position":[[4897,10],[6996,13],[7544,13],[7817,13]]},"1367":{"position":[[9813,10],[14425,12]]}},"keywords":{}}],["info_plist",{"_index":6731,"title":{},"content":{"1362":{"position":[[2330,11]]},"1363":{"position":[[1962,11],[4872,11],[5246,11],[6983,10],[7172,10],[7375,10],[7531,10],[7804,10]]},"1364":{"position":[[2341,11]]},"1367":{"position":[[3568,11],[9788,11],[10162,11],[14404,10]]},"1372":{"position":[[1639,11]]}},"keywords":{}}],["info_plist_identify_build_system",{"_index":6858,"title":{},"content":{"1363":{"position":[[1979,33]]},"1367":{"position":[[3585,33]]},"1372":{"position":[[1656,33]]}},"keywords":{}}],["info_plist_substitut",{"_index":6732,"title":{},"content":{"1362":{"position":[[2358,25]]},"1363":{"position":[[2030,25],[5039,24],[5087,25]]},"1364":{"position":[[2369,25]]},"1367":{"position":[[3636,25],[9955,24],[10003,25]]},"1372":{"position":[[1707,25]]}},"keywords":{}}],["inform",{"_index":1120,"title":{"1068":{"position":[[0,11]]}},"content":{"92":{"position":[[339,11]]},"224":{"position":[[339,11]]},"242":{"position":[[136,11]]},"372":{"position":[[335,11]]},"427":{"position":[[225,11]]},"450":{"position":[[306,11]]},"584":{"position":[[128,12]]},"676":{"position":[[158,12],[394,12]]},"683":{"position":[[317,11]]},"690":{"position":[[183,11]]},"693":{"position":[[964,12],[3545,11],[4177,12],[4490,11],[6525,11],[6624,12],[9178,12],[10328,12]]},"695":{"position":[[154,11]]},"722":{"position":[[87,11],[746,11]]},"751":{"position":[[335,11]]},"806":{"position":[[225,11]]},"829":{"position":[[306,11]]},"840":{"position":[[1465,11]]},"845":{"position":[[336,11]]},"846":{"position":[[1205,6]]},"864":{"position":[[886,13]]},"872":{"position":[[794,12]]},"873":{"position":[[48,11]]},"890":{"position":[[25,11]]},"898":{"position":[[33,11]]},"937":{"position":[[4258,11]]},"955":{"position":[[517,11],[646,11],[1186,11],[1353,11]]},"959":{"position":[[412,11]]},"980":{"position":[[1031,11]]},"991":{"position":[[1497,11]]},"1008":{"position":[[4,12]]},"1042":{"position":[[383,12]]},"1044":{"position":[[913,11]]},"1050":{"position":[[3206,11],[3299,11],[3352,11]]},"1056":{"position":[[524,11],[779,11],[1022,11],[1126,11],[1218,11],[1314,11]]},"1103":{"position":[[1404,11]]},"1104":{"position":[[70,11],[1225,11],[1326,11],[1383,11],[1466,11]]},"1105":{"position":[[2077,6]]},"1136":{"position":[[5334,11],[5393,11]]},"1138":{"position":[[8996,11],[9055,11]]},"1140":{"position":[[7922,11],[7981,11]]},"1142":{"position":[[3366,11],[3425,11]]},"1146":{"position":[[3306,11],[3365,11]]},"1148":{"position":[[84,11],[6346,11],[6405,11]]},"1155":{"position":[[3402,11],[3461,11]]},"1156":{"position":[[2980,11],[3039,11]]},"1161":{"position":[[873,11],[932,11]]},"1167":{"position":[[8926,11],[8985,11]]},"1181":{"position":[[1085,11],[1144,11]]},"1186":{"position":[[4570,11],[4629,11]]},"1187":{"position":[[4583,11],[4642,11]]},"1188":{"position":[[9309,11],[9368,11]]},"1190":{"position":[[102,11],[784,11]]},"1191":{"position":[[6,11],[3170,11],[3229,11]]},"1192":{"position":[[3345,11],[3404,11]]},"1193":{"position":[[361,11],[3397,11],[3456,11]]},"1194":{"position":[[253,11],[3037,11],[3096,11]]},"1195":{"position":[[3015,11],[3074,11]]},"1196":{"position":[[2825,11],[2884,11]]},"1197":{"position":[[3808,11],[3867,11]]},"1198":{"position":[[3818,11],[3877,11]]},"1199":{"position":[[3846,11],[3905,11]]},"1200":{"position":[[11,11],[3713,11],[3772,11]]},"1201":{"position":[[2973,11],[3032,11]]},"1202":{"position":[[4115,11],[4174,11],[8512,11],[8571,11]]},"1203":{"position":[[3207,11],[3266,11]]},"1204":{"position":[[3051,11],[3110,11]]},"1205":{"position":[[4380,11],[4439,11]]},"1206":{"position":[[2851,11],[2910,11]]},"1207":{"position":[[3008,11],[3067,11]]},"1209":{"position":[[4356,11],[4415,11]]},"1217":{"position":[[7667,11],[7726,11]]},"1222":{"position":[[2777,11],[2836,11]]},"1223":{"position":[[2787,11],[2846,11]]},"1226":{"position":[[4140,11],[8135,11],[8194,11]]},"1228":{"position":[[9748,11],[9807,11]]},"1235":{"position":[[5616,11],[5675,11]]},"1237":{"position":[[4310,11],[8305,11],[8364,11]]},"1242":{"position":[[4,12]]},"1348":{"position":[[4053,11]]},"1355":{"position":[[7287,11]]},"1362":{"position":[[8822,12],[11559,12],[12474,12],[13741,12]]},"1363":{"position":[[5073,13]]},"1364":{"position":[[9433,12],[9936,12],[12526,12],[12979,12],[14441,12]]},"1367":{"position":[[8910,12],[9989,13],[11929,12],[12382,12]]},"1370":{"position":[[2503,11]]},"1382":{"position":[[5592,12],[6215,12],[8428,12],[8900,12],[9737,12],[10190,12]]},"1383":{"position":[[1358,11],[2785,11],[8252,11],[8529,11],[8615,11]]},"1384":{"position":[[6786,12],[7760,12],[8288,12],[9391,12],[10539,12],[11162,12],[14773,12],[15245,12],[16082,12],[16535,12]]},"1388":{"position":[[7084,12]]},"1393":{"position":[[2601,11],[2744,11],[3005,11],[3825,11]]},"1415":{"position":[[2606,11]]},"1427":{"position":[[6486,11]]},"1461":{"position":[[3118,11],[3148,11]]}},"keywords":{}}],["information.exported_linker_flag",{"_index":8168,"title":{},"content":{"1454":{"position":[[5490,34]]}},"keywords":{}}],["information.exported_platform_head",{"_index":8170,"title":{},"content":{"1454":{"position":[[6160,38]]}},"keywords":{}}],["information.exported_platform_preprocessor_flag",{"_index":8171,"title":{},"content":{"1454":{"position":[[6687,49]]}},"keywords":{}}],["information.head",{"_index":7242,"title":{},"content":{"1385":{"position":[[3506,20]]},"1387":{"position":[[5839,20]]},"1485":{"position":[[1874,20]]}},"keywords":{}}],["information.header_namespac",{"_index":8172,"title":{},"content":{"1454":{"position":[[7179,29]]}},"keywords":{}}],["information.header_onli",{"_index":8173,"title":{},"content":{"1454":{"position":[[7443,24]]}},"keywords":{}}],["information.include_directori",{"_index":8543,"title":{},"content":{"1485":{"position":[[2496,32]]}},"keywords":{}}],["information.label",{"_index":7300,"title":{},"content":{"1387":{"position":[[6461,19]]}},"keywords":{}}],["information.link_styl",{"_index":7052,"title":{},"content":{"1373":{"position":[[5145,23]]}},"keywords":{}}],["information.linker_flag",{"_index":7243,"title":{},"content":{"1385":{"position":[[4128,25]]}},"keywords":{}}],["information.platform_head",{"_index":7245,"title":{},"content":{"1385":{"position":[[4658,29]]},"1387":{"position":[[8031,29]]}},"keywords":{}}],["information.platform_linker_flag",{"_index":7061,"title":{},"content":{"1373":{"position":[[6581,34]]},"1385":{"position":[[5129,34]]},"1387":{"position":[[8502,34]]},"1415":{"position":[[4540,34]]}},"keywords":{}}],["information.platform_src",{"_index":7246,"title":{},"content":{"1385":{"position":[[5964,26]]},"1387":{"position":[[9337,26]]}},"keywords":{}}],["information.platform_static_lib",{"_index":8176,"title":{},"content":{"1454":{"position":[[8199,32]]}},"keywords":{}}],["information.platform_static_pic_lib",{"_index":8177,"title":{},"content":{"1454":{"position":[[8511,36]]}},"keywords":{}}],["information.preferred_linkag",{"_index":8178,"title":{},"content":{"1454":{"position":[[8835,30]]}},"keywords":{}}],["information.preprocessor_flag",{"_index":7064,"title":{},"content":{"1373":{"position":[[7416,31]]},"1385":{"position":[[6416,31]]},"1387":{"position":[[9789,31]]}},"keywords":{}}],["information.provided_shared_lib",{"_index":8203,"title":{},"content":{"1455":{"position":[[2931,33]]}},"keywords":{}}],["information.raw_head",{"_index":8545,"title":{},"content":{"1485":{"position":[[3164,24]]}},"keywords":{}}],["information.src",{"_index":7856,"title":{},"content":{"1416":{"position":[[3424,17]]},"1420":{"position":[[2561,17]]},"1448":{"position":[[2507,17]]},"1449":{"position":[[2441,17]]}},"keywords":{}}],["infos.default",{"_index":5588,"title":{},"content":{"1086":{"position":[[538,13]]}},"keywords":{}}],["infra",{"_index":387,"title":{},"content":{"11":{"position":[[719,5]]},"41":{"position":[[544,5]]},"174":{"position":[[544,5]]},"362":{"position":[[2254,5]]},"741":{"position":[[2254,5]]},"1112":{"position":[[4439,5]]},"1393":{"position":[[4611,5]]}},"keywords":{}}],["infrastructur",{"_index":4982,"title":{},"content":{"997":{"position":[[291,14]]}},"keywords":{}}],["infrastructure/xar",{"_index":3661,"title":{},"content":{"706":{"position":[[353,19]]}},"keywords":{}}],["ingest",{"_index":4831,"title":{},"content":{"973":{"position":[[33,7]]}},"keywords":{}}],["inherit",{"_index":2293,"title":{},"content":{"424":{"position":[[16,8]]},"693":{"position":[[2923,11],[2995,8]]},"803":{"position":[[16,8]]},"877":{"position":[[333,8]]},"878":{"position":[[1092,8]]},"947":{"position":[[851,7],[1055,7]]},"990":{"position":[[714,10]]},"1024":{"position":[[432,8],[642,9],[1275,9]]},"1025":{"position":[[369,8],[500,8],[610,8]]},"1064":{"position":[[1569,8],[2129,7],[2190,9]]}},"keywords":{}}],["ini",{"_index":2612,"title":{"573":{"position":[[30,3]]},"574":{"position":[[6,3]]}},"content":{"573":{"position":[[218,3]]},"574":{"position":[[46,3],[121,3]]},"577":{"position":[[22,3]]},"584":{"position":[[603,3],[755,3]]}},"keywords":{}}],["ininfo_plist_substitut",{"_index":6900,"title":{},"content":{"1363":{"position":[[6121,27],[6567,27]]}},"keywords":{}}],["init",{"_index":495,"title":{"1160":{"position":[[0,4]]},"1161":{"position":[[5,5]]}},"content":{"17":{"position":[[421,4],[551,4],[612,4],[680,4]]},"18":{"position":[[193,4],[392,4],[1995,4],[2253,4]]},"693":{"position":[[5978,4]]},"1161":{"position":[[48,4]]},"1387":{"position":[[6955,4]]}},"keywords":{}}],["initi",{"_index":77,"title":{"581":{"position":[[6,14]]},"859":{"position":[[0,12]]}},"content":{"5":{"position":[[24,7],[189,7]]},"7":{"position":[[7,10]]},"18":{"position":[[207,10]]},"92":{"position":[[968,7]]},"224":{"position":[[968,7]]},"377":{"position":[[619,10]]},"418":{"position":[[541,7]]},"756":{"position":[[619,10]]},"797":{"position":[[541,7]]},"856":{"position":[[57,12],[150,12]]},"859":{"position":[[30,10]]},"1011":{"position":[[258,7]]},"1014":{"position":[[746,7]]},"1040":{"position":[[1070,7]]},"1052":{"position":[[31,10],[108,11],[279,10],[907,11]]},"1053":{"position":[[805,14]]},"1069":{"position":[[727,14]]},"1161":{"position":[[0,10],[100,10],[279,10],[370,10]]},"1462":{"position":[[6911,9]]},"1467":{"position":[[8629,14]]},"1486":{"position":[[1944,7],[2051,7],[5494,7]]}},"keywords":{}}],["initialis",{"_index":4253,"title":{},"content":{"890":{"position":[[5728,11]]}},"keywords":{}}],["inject",{"_index":1896,"title":{},"content":{"362":{"position":[[1440,6],[1497,6]]},"741":{"position":[[1440,6],[1497,6]]},"890":{"position":[[3629,8],[3689,9],[3791,7],[3969,11]]},"1136":{"position":[[6606,6]]},"1138":{"position":[[10268,6]]},"1140":{"position":[[9194,6]]},"1142":{"position":[[4638,6]]},"1144":{"position":[[966,6]]},"1146":{"position":[[4578,6]]},"1148":{"position":[[8169,6]]},"1150":{"position":[[1201,6]]},"1152":{"position":[[899,6]]},"1154":{"position":[[1054,6]]},"1155":{"position":[[4674,6]]},"1156":{"position":[[4252,6]]},"1157":{"position":[[837,6]]},"1158":{"position":[[831,6]]},"1159":{"position":[[831,6]]},"1161":{"position":[[1826,6]]},"1163":{"position":[[1212,6]]},"1165":{"position":[[1041,6]]},"1167":{"position":[[10198,6]]},"1169":{"position":[[3306,6]]},"1171":{"position":[[1547,6]]},"1172":{"position":[[2932,6]]},"1173":{"position":[[1619,6]]},"1174":{"position":[[1047,6]]},"1175":{"position":[[1043,6]]},"1176":{"position":[[1212,6]]},"1177":{"position":[[1133,6]]},"1178":{"position":[[1450,6]]},"1179":{"position":[[1247,6]]},"1180":{"position":[[1518,6]]},"1181":{"position":[[2038,6]]},"1182":{"position":[[1081,6]]},"1183":{"position":[[1036,6]]},"1185":{"position":[[881,6]]},"1186":{"position":[[5842,6]]},"1187":{"position":[[5855,6]]},"1188":{"position":[[10581,6]]},"1190":{"position":[[2212,6]]},"1191":{"position":[[4442,6]]},"1192":{"position":[[4617,6]]},"1193":{"position":[[4669,6]]},"1194":{"position":[[4309,6]]},"1195":{"position":[[4287,6]]},"1196":{"position":[[4097,6]]},"1197":{"position":[[5080,6]]},"1198":{"position":[[5090,6]]},"1199":{"position":[[5118,6]]},"1200":{"position":[[4985,6]]},"1201":{"position":[[4245,6]]},"1202":{"position":[[989,6],[5387,6],[9784,6]]},"1203":{"position":[[4479,6]]},"1204":{"position":[[4323,6],[5225,6],[6155,6],[7057,6],[8043,6],[8997,6],[9944,6],[10874,6]]},"1205":{"position":[[5652,6]]},"1206":{"position":[[4351,6]]},"1207":{"position":[[4280,6]]},"1209":{"position":[[5628,6]]},"1211":{"position":[[952,6]]},"1213":{"position":[[723,6]]},"1215":{"position":[[807,6]]},"1217":{"position":[[8939,6]]},"1219":{"position":[[4194,6]]},"1221":{"position":[[926,6]]},"1222":{"position":[[4065,6]]},"1223":{"position":[[4075,6]]},"1224":{"position":[[3508,6]]},"1226":{"position":[[9407,6]]},"1228":{"position":[[11020,6]]},"1235":{"position":[[6888,6]]},"1237":{"position":[[9577,6]]},"1345":{"position":[[856,6]]},"1348":{"position":[[3995,8]]}},"keywords":{}}],["inlin",{"_index":3839,"title":{},"content":{"835":{"position":[[291,6]]},"855":{"position":[[88,6]]},"867":{"position":[[1861,6]]},"1136":{"position":[[3155,7]]},"1138":{"position":[[6817,7]]},"1140":{"position":[[5743,7]]},"1142":{"position":[[1187,7]]},"1146":{"position":[[1127,7]]},"1148":{"position":[[4167,7]]},"1155":{"position":[[1223,7]]},"1156":{"position":[[801,7]]},"1167":{"position":[[6747,7]]},"1169":{"position":[[586,7]]},"1186":{"position":[[2391,7]]},"1187":{"position":[[2404,7]]},"1188":{"position":[[7130,7]]},"1191":{"position":[[991,7]]},"1192":{"position":[[1166,7]]},"1193":{"position":[[1218,7]]},"1194":{"position":[[858,7]]},"1195":{"position":[[836,7]]},"1196":{"position":[[646,7]]},"1197":{"position":[[1629,7]]},"1198":{"position":[[1639,7]]},"1199":{"position":[[1667,7]]},"1200":{"position":[[1534,7]]},"1201":{"position":[[794,7]]},"1202":{"position":[[1936,7],[6333,7]]},"1203":{"position":[[1028,7]]},"1204":{"position":[[872,7]]},"1205":{"position":[[2201,7]]},"1206":{"position":[[672,7]]},"1207":{"position":[[829,7]]},"1209":{"position":[[2177,7]]},"1217":{"position":[[5488,7]]},"1219":{"position":[[1474,7]]},"1222":{"position":[[598,7]]},"1223":{"position":[[608,7]]},"1224":{"position":[[788,7]]},"1226":{"position":[[5956,7]]},"1228":{"position":[[7569,7]]},"1235":{"position":[[3437,7]]},"1237":{"position":[[6126,7]]}},"keywords":{}}],["inner",{"_index":190,"title":{},"content":{"9":{"position":[[437,5]]},"66":{"position":[[202,5]]},"130":{"position":[[24,6],[139,5]]},"137":{"position":[[16,6]]},"140":{"position":[[18,6],[137,5],[206,5]]},"253":{"position":[[24,6],[139,5]]},"260":{"position":[[16,6]]},"263":{"position":[[18,6],[137,5],[206,5]]},"454":{"position":[[202,5]]},"890":{"position":[[5275,5],[6757,5]]},"1243":{"position":[[946,5],[1137,5]]},"1426":{"position":[[2106,5]]}},"keywords":{}}],["inotifi",{"_index":686,"title":{},"content":{"22":{"position":[[1986,7]]},"24":{"position":[[660,7]]}},"keywords":{}}],["inpackag",{"_index":5467,"title":{},"content":{"1064":{"position":[[185,9],[1285,9],[1772,9]]}},"keywords":{}}],["inplace_build_arg",{"_index":8299,"title":{},"content":{"1462":{"position":[[1786,19]]},"1467":{"position":[[1961,19]]}},"keywords":{}}],["inprelude/toolchainsbuck",{"_index":599,"title":{},"content":{"18":{"position":[[2178,24]]}},"keywords":{}}],["input",{"_index":949,"title":{"679":{"position":[[16,6]]},"681":{"position":[[38,5]]},"1031":{"position":[[40,7]]}},"content":{"65":{"position":[[206,5]]},"67":{"position":[[54,6],[209,7]]},"83":{"position":[[62,5]]},"89":{"position":[[763,5]]},"92":{"position":[[79,7],[1797,7]]},"94":{"position":[[2331,5]]},"98":{"position":[[1130,5]]},"99":{"position":[[1154,6],[1538,5]]},"215":{"position":[[62,5]]},"221":{"position":[[763,5]]},"224":{"position":[[79,7],[1797,7]]},"226":{"position":[[2331,5]]},"230":{"position":[[1130,5]]},"231":{"position":[[1154,6],[1538,5]]},"237":{"position":[[493,6]]},"300":{"position":[[156,5]]},"309":{"position":[[923,5]]},"316":{"position":[[164,5]]},"317":{"position":[[167,5]]},"318":{"position":[[149,5],[306,5]]},"331":{"position":[[297,6],[322,5]]},"345":{"position":[[456,6]]},"362":{"position":[[1707,5]]},"368":{"position":[[3590,7]]},"406":{"position":[[711,6]]},"417":{"position":[[348,7]]},"453":{"position":[[206,5]]},"455":{"position":[[54,6],[209,7]]},"472":{"position":[[178,6],[203,5]]},"673":{"position":[[446,5]]},"679":{"position":[[41,7],[107,7],[505,6]]},"680":{"position":[[281,5],[1217,5]]},"681":{"position":[[70,6]]},"693":{"position":[[329,6],[654,6],[818,5],[884,6],[1531,5]]},"704":{"position":[[1314,5],[1368,6],[1722,6],[2277,5]]},"705":{"position":[[166,6],[332,6]]},"706":{"position":[[654,5],[1339,6],[1923,6],[1998,6],[2575,6]]},"715":{"position":[[353,6],[865,5]]},"717":{"position":[[82,5]]},"724":{"position":[[49,6],[442,7],[957,6],[1139,7],[1153,6]]},"741":{"position":[[1707,5]]},"747":{"position":[[3590,7]]},"785":{"position":[[711,6]]},"796":{"position":[[348,7]]},"832":{"position":[[127,5]]},"837":{"position":[[118,6],[217,6]]},"845":{"position":[[132,8]]},"846":{"position":[[1741,7]]},"848":{"position":[[378,7],[400,6]]},"860":{"position":[[661,6]]},"861":{"position":[[829,7],[920,6]]},"867":{"position":[[1143,5],[1331,6]]},"878":{"position":[[82,6],[326,5],[748,6],[1424,6]]},"897":{"position":[[186,6]]},"905":{"position":[[62,7]]},"906":{"position":[[543,6]]},"940":{"position":[[420,5]]},"954":{"position":[[175,6]]},"958":{"position":[[103,6]]},"959":{"position":[[515,7]]},"965":{"position":[[64,7]]},"977":{"position":[[134,6]]},"1004":{"position":[[1220,5]]},"1030":{"position":[[131,6]]},"1031":{"position":[[149,6],[274,6],[421,6]]},"1032":{"position":[[99,6],[189,7]]},"1033":{"position":[[98,6],[255,6]]},"1036":{"position":[[55,6],[141,6],[191,6]]},"1040":{"position":[[75,7],[334,6],[362,6],[481,6],[524,6],[626,6],[763,6],[1899,7]]},"1050":{"position":[[555,6],[587,6],[1332,6],[3224,6],[3317,6]]},"1105":{"position":[[582,5],[908,5],[1232,5],[1335,6],[1744,6],[2056,5]]},"1138":{"position":[[5429,6],[5449,6]]},"1140":{"position":[[81,5],[241,5],[4918,6],[4938,6]]},"1167":{"position":[[5922,6],[5942,6]]},"1172":{"position":[[1574,7]]},"1173":{"position":[[874,7]]},"1188":{"position":[[134,5],[294,5],[4971,6],[4991,6]]},"1217":{"position":[[4663,6],[4683,6]]},"1228":{"position":[[6744,6],[6764,6]]},"1273":{"position":[[156,6],[198,8]]},"1286":{"position":[[93,6]]},"1304":{"position":[[156,6],[198,8]]},"1332":{"position":[[156,6],[198,8]]},"1351":{"position":[[4901,6]]},"1360":{"position":[[1583,6],[2485,5],[2629,5],[6289,5],[6372,5]]},"1362":{"position":[[12772,5]]},"1364":{"position":[[13472,5]]},"1367":{"position":[[12680,5]]},"1382":{"position":[[11134,5]]},"1383":{"position":[[8702,5]]},"1384":{"position":[[18788,5]]},"1385":{"position":[[6712,5]]},"1387":{"position":[[10085,5]]},"1388":{"position":[[9627,5]]},"1393":{"position":[[7733,6]]},"1427":{"position":[[6743,6]]},"1438":{"position":[[652,5]]},"1439":{"position":[[7886,6]]},"1442":{"position":[[575,7],[2507,5]]},"1485":{"position":[[3998,5]]},"1487":{"position":[[1824,5]]}},"keywords":{}}],["inputfil",{"_index":6252,"title":{},"content":{"1259":{"position":[[1360,10]]},"1273":{"position":[[73,10]]},"1290":{"position":[[1360,10]]},"1304":{"position":[[73,10]]},"1318":{"position":[[1360,10]]},"1332":{"position":[[73,10]]}},"keywords":{}}],["inputs(target",{"_index":6247,"title":{"1270":{"position":[[0,15]]},"1301":{"position":[[0,15]]},"1329":{"position":[[0,15]]}},"content":{"1259":{"position":[[873,15]]},"1290":{"position":[[873,15]]},"1318":{"position":[[873,15]]}},"keywords":{}}],["inputs).hav",{"_index":5102,"title":{},"content":{"1030":{"position":[[196,12]]}},"keywords":{}}],["input—with",{"_index":8565,"title":{},"content":{"1486":{"position":[[2940,10]]}},"keywords":{}}],["inrequired_local_resourc",{"_index":5321,"title":{},"content":{"1053":{"position":[[217,26]]}},"keywords":{}}],["inresource_env_varsfield",{"_index":2045,"title":{},"content":{"377":{"position":[[1381,24]]},"756":{"position":[[1381,24]]}},"keywords":{}}],["insensit",{"_index":1367,"title":{},"content":{"133":{"position":[[224,14]]},"256":{"position":[[224,14]]},"418":{"position":[[1115,13]]},"797":{"position":[[1115,13]]}},"keywords":{}}],["insert",{"_index":2534,"title":{},"content":{"559":{"position":[[382,7]]},"560":{"position":[[166,10],[367,8],[527,8],[643,9]]},"567":{"position":[[60,6],[104,7],[411,6]]},"718":{"position":[[360,6]]},"722":{"position":[[1097,9]]},"890":{"position":[[3731,8]]},"898":{"position":[[1513,6]]},"939":{"position":[[415,6],[994,8],[1211,6]]},"943":{"position":[[1704,6]]},"944":{"position":[[275,9]]},"945":{"position":[[965,8]]}},"keywords":{}}],["insertcfg//os:linux",{"_index":4632,"title":{},"content":{"939":{"position":[[631,19]]}},"keywords":{}}],["insid",{"_index":1352,"title":{"1132":{"position":[[25,8]]}},"content":{"130":{"position":[[225,6]]},"253":{"position":[[225,6]]},"414":{"position":[[158,6],[216,6]]},"415":{"position":[[196,6]]},"425":{"position":[[156,6],[214,6]]},"578":{"position":[[90,6]]},"596":{"position":[[129,6]]},"793":{"position":[[158,6],[216,6]]},"794":{"position":[[196,6]]},"804":{"position":[[156,6],[214,6]]},"890":{"position":[[762,6],[818,6],[5876,6]]},"904":{"position":[[721,6]]},"942":{"position":[[1698,6]]},"1098":{"position":[[270,6]]},"1245":{"position":[[298,6]]},"1247":{"position":[[295,6]]},"1254":{"position":[[575,7]]},"1362":{"position":[[13507,6]]},"1364":{"position":[[14207,6]]},"1367":{"position":[[13415,6]]}},"keywords":{}}],["inspect",{"_index":2578,"title":{"857":{"position":[[0,10]]},"963":{"position":[[0,7]]}},"content":{"566":{"position":[[295,10]]},"693":{"position":[[1963,7]]},"845":{"position":[[238,7]]},"846":{"position":[[1151,7]]},"848":{"position":[[442,10],[554,10]]},"857":{"position":[[30,7]]},"869":{"position":[[59,7]]},"872":{"position":[[724,7]]},"874":{"position":[[107,7],[198,7],[316,7]]},"876":{"position":[[169,7]]},"923":{"position":[[67,7]]},"962":{"position":[[434,7]]},"1049":{"position":[[410,9]]},"1059":{"position":[[132,7]]},"1120":{"position":[[50,7]]},"1138":{"position":[[3780,7]]},"1140":{"position":[[3269,7]]},"1167":{"position":[[4273,7]]},"1188":{"position":[[3322,7]]},"1190":{"position":[[1483,7]]},"1202":{"position":[[106,7],[198,7],[1173,7],[5577,7]]},"1207":{"position":[[0,7],[222,7]]},"1217":{"position":[[3014,7]]},"1228":{"position":[[5095,7]]},"1248":{"position":[[63,7]]}},"keywords":{}}],["inspir",{"_index":776,"title":{},"content":{"23":{"position":[[3268,8]]},"947":{"position":[[22,8]]}},"keywords":{}}],["instagram'",{"_index":4488,"title":{},"content":{"919":{"position":[[684,11]]}},"keywords":{}}],["instal",{"_index":47,"title":{"15":{"position":[[0,10]]},"1166":{"position":[[0,7]]},"1167":{"position":[[5,8]]}},"content":{"4":{"position":[[207,9]]},"13":{"position":[[246,7],[281,7]]},"15":{"position":[[370,7],[427,7],[480,7],[558,7],[789,10]]},"17":{"position":[[873,9],[911,9],[955,7],[984,7],[1008,7],[1029,10]]},"375":{"position":[[215,10]]},"693":{"position":[[3916,9]]},"754":{"position":[[215,10]]},"1095":{"position":[[180,7]]},"1167":{"position":[[10,7],[54,7],[156,7],[217,7],[252,9],[275,9],[439,9],[587,9],[736,9],[915,9],[1001,7],[1089,9],[1277,9],[1456,9],[1620,9],[1678,9],[1699,10],[1790,9],[1937,9]]},"1360":{"position":[[1504,7],[2899,10]]},"1368":{"position":[[861,10]]},"1383":{"position":[[2484,10]]},"1403":{"position":[[2314,10]]}},"keywords":{}}],["install_arg",{"_index":5971,"title":{},"content":{"1167":{"position":[[164,17]]}},"keywords":{}}],["installinfo",{"_index":2023,"title":{"375":{"position":[[0,12]]},"754":{"position":[[0,12]]}},"content":{"375":{"position":[[68,11]]},"722":{"position":[[1034,12]]},"754":{"position":[[68,11]]}},"keywords":{}}],["installinfo(instal",{"_index":2024,"title":{},"content":{"375":{"position":[[4,22]]},"754":{"position":[[4,22]]}},"keywords":{}}],["instanc",{"_index":872,"title":{},"content":{"45":{"position":[[81,9]]},"52":{"position":[[109,8]]},"53":{"position":[[87,8]]},"76":{"position":[[214,8]]},"192":{"position":[[81,9]]},"199":{"position":[[109,8]]},"200":{"position":[[87,8]]},"505":{"position":[[214,8]]},"591":{"position":[[596,9]]},"693":{"position":[[1079,8],[5044,9]]},"711":{"position":[[998,8]]},"1006":{"position":[[201,9],[252,8]]},"1011":{"position":[[563,9]]},"1017":{"position":[[86,9],[209,10],[698,9]]},"1019":{"position":[[165,10]]},"1052":{"position":[[1164,10],[1377,9]]},"1053":{"position":[[1097,10]]},"1232":{"position":[[3535,9]]},"1251":{"position":[[97,9]]},"1252":{"position":[[129,9]]},"1255":{"position":[[70,9]]},"1345":{"position":[[1139,8]]}},"keywords":{}}],["instances.dll_nam",{"_index":7126,"title":{},"content":{"1381":{"position":[[1852,19]]}},"keywords":{}}],["instant",{"_index":1682,"title":{"512":{"position":[[0,7]]}},"content":{"304":{"position":[[85,7],[282,7]]},"422":{"position":[[16,7],[36,7],[110,7]]},"801":{"position":[[16,7],[36,7],[110,7]]},"864":{"position":[[575,7],[917,7],[1013,7]]},"867":{"position":[[185,7],[263,7]]},"1120":{"position":[[615,7]]},"1126":{"position":[[684,8],[1285,7],[1494,7]]}},"keywords":{}}],["instant.elapsed_milli",{"_index":2288,"title":{"513":{"position":[[0,23]]}},"content":{"422":{"position":[[135,24],[207,24]]},"513":{"position":[[4,24]]},"801":{"position":[[135,24],[207,24]]},"864":{"position":[[1065,24],[1211,24]]}},"keywords":{}}],["instant.elapsed_sec",{"_index":2488,"title":{"514":{"position":[[0,21]]}},"content":{"514":{"position":[[4,22]]}},"keywords":{}}],["instantan",{"_index":168,"title":{},"content":{"9":{"position":[[66,13]]}},"keywords":{}}],["instantev",{"_index":5792,"title":{},"content":{"1126":{"position":[[97,14],[1305,12],[1353,12],[1395,12]]}},"keywords":{}}],["instanti",{"_index":3538,"title":{},"content":{"693":{"position":[[2768,12],[7383,12],[7951,11],[8502,13]]},"877":{"position":[[469,11]]},"1005":{"position":[[186,13]]},"1007":{"position":[[118,13]]},"1046":{"position":[[227,14]]}},"keywords":{}}],["instantiatingbxl_act",{"_index":3917,"title":{},"content":{"851":{"position":[[448,25]]}},"keywords":{}}],["instead",{"_index":746,"title":{},"content":{"23":{"position":[[2233,7]]},"298":{"position":[[1039,8]]},"410":{"position":[[154,8]]},"436":{"position":[[141,8]]},"450":{"position":[[224,8]]},"570":{"position":[[313,8]]},"577":{"position":[[446,7]]},"606":{"position":[[178,7]]},"615":{"position":[[179,7]]},"688":{"position":[[1180,8]]},"693":{"position":[[10117,8]]},"724":{"position":[[621,8]]},"789":{"position":[[154,8]]},"815":{"position":[[141,8]]},"829":{"position":[[224,8]]},"841":{"position":[[497,7]]},"846":{"position":[[1558,8]]},"870":{"position":[[1487,7]]},"904":{"position":[[1342,7]]},"905":{"position":[[1062,7],[1402,7]]},"919":{"position":[[1272,8]]},"920":{"position":[[322,7]]},"924":{"position":[[1735,7]]},"934":{"position":[[0,7]]},"937":{"position":[[2228,8],[3793,8]]},"950":{"position":[[279,8]]},"981":{"position":[[373,8]]},"983":{"position":[[179,8]]},"988":{"position":[[176,7]]},"1024":{"position":[[171,7]]},"1037":{"position":[[275,8]]},"1098":{"position":[[730,7]]},"1105":{"position":[[2336,7]]},"1112":{"position":[[1193,8]]},"1131":{"position":[[353,7]]},"1136":{"position":[[1870,8]]},"1138":{"position":[[5145,7],[5273,7]]},"1140":{"position":[[4634,7],[4762,7]]},"1148":{"position":[[2226,8],[2804,7]]},"1167":{"position":[[5638,7],[5766,7]]},"1176":{"position":[[541,7]]},"1188":{"position":[[4687,7],[4815,7]]},"1205":{"position":[[1350,8]]},"1209":{"position":[[1103,8]]},"1217":{"position":[[439,7],[561,7],[4379,7],[4507,7]]},"1226":{"position":[[3043,8],[3272,7]]},"1228":{"position":[[6460,7],[6588,7]]},"1231":{"position":[[539,8]]},"1235":{"position":[[2363,8]]},"1237":{"position":[[3213,8],[3442,7]]},"1251":{"position":[[237,8]]},"1253":{"position":[[387,8]]},"1254":{"position":[[361,8]]},"1384":{"position":[[16725,8]]},"1393":{"position":[[1306,7]]},"1394":{"position":[[755,7]]},"1395":{"position":[[1745,7],[2515,7]]},"1397":{"position":[[3478,8]]},"1398":{"position":[[2348,8],[4733,8]]},"1399":{"position":[[1924,7]]},"1410":{"position":[[4587,7]]},"1422":{"position":[[3417,8]]},"1439":{"position":[[5124,8]]}},"keywords":{}}],["instead.shared_lib",{"_index":8179,"title":{},"content":{"1454":{"position":[[9024,19]]}},"keywords":{}}],["instruct",{"_index":4302,"title":{},"content":{"895":{"position":[[711,12]]},"997":{"position":[[219,11],[274,12]]},"1056":{"position":[[1245,11],[1341,11]]},"1061":{"position":[[148,13]]},"1078":{"position":[[45,10]]},"1172":{"position":[[531,13]]}},"keywords":{}}],["instrument",{"_index":5447,"title":{},"content":{"1060":{"position":[[352,12]]},"1353":{"position":[[1394,15]]},"1354":{"position":[[1230,15]]}},"keywords":{}}],["instrumentation_test_listen",{"_index":6525,"title":{},"content":{"1354":{"position":[[754,30]]}},"keywords":{}}],["instrumentation_test_listener_class",{"_index":6526,"title":{},"content":{"1354":{"position":[[801,36]]}},"keywords":{}}],["instrumentation_tests/buck",{"_index":8518,"title":{},"content":{"1482":{"position":[[1916,27]]}},"keywords":{}}],["instrumentation_tests:instrumentation_test",{"_index":8533,"title":{},"content":{"1482":{"position":[[2731,45],[2858,45],[3039,45],[3190,45]]}},"keywords":{}}],["int",{"_index":548,"title":{"648":{"position":[[0,4]]}},"content":{"18":{"position":[[467,3]]},"27":{"position":[[33,3]]},"40":{"position":[[66,3]]},"69":{"position":[[88,3]]},"85":{"position":[[127,4]]},"94":{"position":[[717,3],[745,3]]},"99":{"position":[[130,3]]},"135":{"position":[[81,3],[112,3]]},"173":{"position":[[66,3]]},"179":{"position":[[33,3]]},"217":{"position":[[127,4]]},"226":{"position":[[717,3],[745,3]]},"231":{"position":[[130,3]]},"239":{"position":[[389,3]]},"258":{"position":[[81,3],[112,3]]},"304":{"position":[[226,5]]},"328":{"position":[[289,3]]},"335":{"position":[[526,3]]},"362":{"position":[[283,3],[343,3],[669,3],[805,3]]},"377":{"position":[[346,3],[1700,3]]},"398":{"position":[[48,3],[279,3]]},"402":{"position":[[568,3]]},"404":{"position":[[105,3]]},"405":{"position":[[676,3],[774,4]]},"444":{"position":[[50,4]]},"457":{"position":[[88,3]]},"469":{"position":[[170,3]]},"475":{"position":[[288,3]]},"566":{"position":[[38,3],[62,3],[84,3],[366,4],[616,4]]},"567":{"position":[[23,4],[246,4]]},"568":{"position":[[20,3]]},"591":{"position":[[45,3],[69,3],[91,3]]},"594":{"position":[[44,3],[68,3],[90,3]]},"596":{"position":[[45,3],[69,3],[91,3]]},"610":{"position":[[47,3],[287,4]]},"611":{"position":[[45,3],[69,3],[91,3]]},"612":{"position":[[46,3],[70,3],[92,3]]},"614":{"position":[[60,3]]},"616":{"position":[[59,3]]},"627":{"position":[[19,4],[41,3],[76,4]]},"632":{"position":[[32,3]]},"633":{"position":[[24,4]]},"634":{"position":[[11,4]]},"639":{"position":[[45,3]]},"644":{"position":[[28,3],[216,4]]},"647":{"position":[[26,3]]},"648":{"position":[[26,3],[50,3],[65,3],[70,4],[219,4],[835,5],[870,5],[1042,4]]},"651":{"position":[[20,3]]},"656":{"position":[[25,3]]},"662":{"position":[[15,4],[24,3],[39,3]]},"663":{"position":[[319,4]]},"741":{"position":[[283,3],[343,3],[669,3],[805,3]]},"756":{"position":[[346,3],[1700,3]]},"777":{"position":[[48,3],[279,3]]},"781":{"position":[[568,3]]},"783":{"position":[[105,3]]},"784":{"position":[[676,3],[774,4]]},"823":{"position":[[50,4]]},"864":{"position":[[319,5]]},"900":{"position":[[182,3],[219,3],[302,4],[560,4],[717,3],[842,3],[949,4],[1078,3],[1126,3]]},"901":{"position":[[281,4]]},"1348":{"position":[[1552,3]]},"1350":{"position":[[1523,3],[1844,3],[2085,3],[2255,3],[2288,3],[2948,3],[3586,3],[3790,3]]},"1352":{"position":[[1522,3],[1843,3],[2084,3],[2254,3],[2287,3],[2947,3],[3585,3],[3789,3]]},"1353":{"position":[[979,3]]},"1354":{"position":[[1111,3]]},"1355":{"position":[[423,3]]},"1358":{"position":[[428,3]]},"1360":{"position":[[1310,3]]},"1367":{"position":[[6212,3]]},"1382":{"position":[[2012,3]]},"1383":{"position":[[1168,3]]},"1388":{"position":[[2197,3],[3038,3],[3299,3]]},"1389":{"position":[[2709,3]]},"1392":{"position":[[580,3]]},"1398":{"position":[[948,3]]},"1403":{"position":[[1193,3]]},"1410":{"position":[[1230,3],[1516,3]]},"1413":{"position":[[1591,3],[1632,3],[1700,3],[1738,3]]},"1414":{"position":[[612,3],[683,3]]},"1424":{"position":[[1049,3]]},"1427":{"position":[[391,3]]},"1429":{"position":[[1608,3],[2109,3],[2150,3],[2218,3],[2295,3]]},"1432":{"position":[[1288,3]]},"1439":{"position":[[393,3]]},"1440":{"position":[[1809,3],[2263,3],[2304,3],[2372,3],[2449,3]]},"1458":{"position":[[391,3]]},"1462":{"position":[[2468,3]]},"1466":{"position":[[621,3]]},"1467":{"position":[[2643,3],[4093,3],[4640,3]]},"1470":{"position":[[2130,3],[2785,3],[2826,3],[2894,3],[2971,3]]},"1471":{"position":[[1310,3]]},"1473":{"position":[[1362,3],[1567,3]]},"1475":{"position":[[1587,3],[1628,3],[1696,3],[1734,3]]},"1478":{"position":[[726,3],[999,3]]},"1486":{"position":[[591,3],[639,3]]}},"keywords":{}}],["int("hello"",{"_index":3226,"title":{},"content":{"648":{"position":[[1092,22]]}},"keywords":{}}],["int('1",{"_index":3214,"title":{},"content":{"648":{"position":[[924,8]]}},"keywords":{}}],["int('16",{"_index":3215,"title":{},"content":{"648":{"position":[[938,9],[954,9],[974,9],[993,9]]}},"keywords":{}}],["int(0.0",{"_index":3220,"title":{},"content":{"648":{"position":[[1013,8]]}},"keywords":{}}],["int(1",{"_index":3211,"title":{},"content":{"648":{"position":[[881,6]]}},"keywords":{}}],["int(2e9",{"_index":3224,"title":{},"content":{"648":{"position":[[1069,8]]}},"keywords":{}}],["int(3.14",{"_index":3221,"title":{},"content":{"648":{"position":[[1027,9]]}},"keywords":{}}],["int(a",{"_index":3198,"title":{},"content":{"648":{"position":[[4,6]]}},"keywords":{}}],["int(fals",{"_index":3212,"title":{},"content":{"648":{"position":[[893,10]]}},"keywords":{}}],["int(float("inf"",{"_index":3228,"title":{},"content":{"648":{"position":[[1213,27]]}},"keywords":{}}],["int(float("nan"",{"_index":3227,"title":{},"content":{"648":{"position":[[1137,27]]}},"keywords":{}}],["int(i64",{"_index":4341,"title":{},"content":{"898":{"position":[[2165,9]]}},"keywords":{}}],["int(tru",{"_index":3213,"title":{},"content":{"648":{"position":[[909,9]]}},"keywords":{}}],["int(x",{"_index":3199,"title":{},"content":{"648":{"position":[[154,7]]}},"keywords":{}}],["int.th",{"_index":4375,"title":{},"content":{"900":{"position":[[1065,7]]}},"keywords":{}}],["intarget",{"_index":4818,"title":{},"content":{"969":{"position":[[68,8]]}},"keywords":{}}],["integ",{"_index":2749,"title":{"1268":{"position":[[40,9]]},"1275":{"position":[[70,10]]},"1299":{"position":[[40,9]]},"1306":{"position":[[70,10]]},"1327":{"position":[[40,9]]},"1334":{"position":[[70,10]]}},"content":{"590":{"position":[[197,7]]},"634":{"position":[[173,7]]},"639":{"position":[[359,7]]},"647":{"position":[[92,7]]},"648":{"position":[[94,8],[199,8],[276,7],[615,8],[637,7],[1205,7],[1281,7]]},"656":{"position":[[91,7]]},"662":{"position":[[90,8],[177,8],[395,7],[492,8],[569,8],[654,8]]},"890":{"position":[[2260,9]]},"1001":{"position":[[289,8],[308,8]]},"1064":{"position":[[345,8],[364,8]]},"1126":{"position":[[404,7]]},"1228":{"position":[[1768,7]]},"1252":{"position":[[179,9]]},"1258":{"position":[[69,8]]},"1259":{"position":[[740,9],[1486,9]]},"1289":{"position":[[69,8]]},"1290":{"position":[[740,9],[1486,9]]},"1317":{"position":[[69,8]]},"1318":{"position":[[740,9],[1486,9]]},"1486":{"position":[[2458,7]]}},"keywords":{}}],["integr",{"_index":28,"title":{"4":{"position":[[11,11]]},"11":{"position":[[13,12]]}},"content":{"7":{"position":[[303,9]]},"11":{"position":[[21,9],[168,11]]},"22":{"position":[[1837,9]]},"23":{"position":[[2653,9],[2975,11],[3068,10]]},"693":{"position":[[1936,11]]},"869":{"position":[[44,11],[102,11]]},"937":{"position":[[2585,12]]},"1152":{"position":[[183,11]]},"1381":{"position":[[2517,11]]},"1393":{"position":[[9015,11]]},"1405":{"position":[[3952,11]]},"1407":{"position":[[4571,11]]},"1408":{"position":[[2888,11]]},"1410":{"position":[[5753,11]]},"1448":{"position":[[2818,11]]},"1449":{"position":[[2752,11]]},"1457":{"position":[[1927,11]]},"1471":{"position":[[5742,11]]},"1472":{"position":[[6628,11]]},"1473":{"position":[[5913,11]]}},"keywords":{}}],["integration_tests/buck",{"_index":8521,"title":{},"content":{"1482":{"position":[[2079,23]]}},"keywords":{}}],["integration_tests:integration_test",{"_index":8534,"title":{},"content":{"1482":{"position":[[2777,37],[2947,37],[3085,37],[3279,37]]}},"keywords":{}}],["intend",{"_index":1641,"title":{},"content":{"298":{"position":[[1691,6],[1730,8]]},"346":{"position":[[447,8]]},"400":{"position":[[508,8]]},"632":{"position":[[108,8]]},"635":{"position":[[113,8]]},"689":{"position":[[290,8]]},"693":{"position":[[5422,8]]},"711":{"position":[[1147,6]]},"779":{"position":[[508,8]]},"851":{"position":[[786,6],[902,8]]},"900":{"position":[[1999,8]]},"908":{"position":[[70,6]]},"980":{"position":[[756,8]]},"1362":{"position":[[5058,8]]},"1364":{"position":[[5085,8]]},"1384":{"position":[[19649,8]]},"1459":{"position":[[1737,8]]}},"keywords":{}}],["intens",{"_index":3968,"title":{},"content":{"860":{"position":[[290,9],[360,9]]},"864":{"position":[[1049,9],[1195,9]]},"1251":{"position":[[130,9]]}},"keywords":{}}],["intent",{"_index":3830,"title":{},"content":{"834":{"position":[[230,11]]},"1167":{"position":[[1293,6],[1331,6]]},"1355":{"position":[[4930,7]]},"1359":{"position":[[1985,7]]},"1470":{"position":[[4528,7]]}},"keywords":{}}],["intention",{"_index":5751,"title":{},"content":{"1113":{"position":[[534,13]]}},"keywords":{}}],["inter",{"_index":4804,"title":{"966":{"position":[[0,5]]}},"content":{"965":{"position":[[551,5]]}},"keywords":{}}],["interact",{"_index":3526,"title":{},"content":{"693":{"position":[[1975,8]]},"697":{"position":[[73,8]]},"869":{"position":[[71,8],[216,8]]},"962":{"position":[[123,11]]},"964":{"position":[[820,8]]},"975":{"position":[[4,12]]},"1069":{"position":[[101,9]]},"1071":{"position":[[37,9]]},"1118":{"position":[[60,11]]},"1120":{"position":[[433,11]]},"1136":{"position":[[680,9],[5479,14],[5616,11],[5652,12]]},"1138":{"position":[[9141,14],[9278,11],[9314,12]]},"1140":{"position":[[8067,14],[8204,11],[8240,12]]},"1142":{"position":[[3511,14],[3648,11],[3684,12]]},"1146":{"position":[[3451,14],[3588,11],[3624,12]]},"1148":{"position":[[6491,14],[6628,11],[6664,12]]},"1155":{"position":[[3547,14],[3684,11],[3720,12]]},"1156":{"position":[[3125,14],[3262,11],[3298,12]]},"1161":{"position":[[1018,14],[1155,11],[1191,12]]},"1167":{"position":[[9071,14],[9208,11],[9244,12]]},"1171":{"position":[[13,11]]},"1181":{"position":[[1230,14],[1367,11],[1403,12]]},"1186":{"position":[[4715,14],[4852,11],[4888,12]]},"1187":{"position":[[4728,14],[4865,11],[4901,12]]},"1188":{"position":[[9454,14],[9591,11],[9627,12]]},"1190":{"position":[[1066,8]]},"1191":{"position":[[3315,14],[3452,11],[3488,12]]},"1192":{"position":[[3490,14],[3627,11],[3663,12]]},"1193":{"position":[[3542,14],[3679,11],[3715,12]]},"1194":{"position":[[3182,14],[3319,11],[3355,12]]},"1195":{"position":[[3160,14],[3297,11],[3333,12]]},"1196":{"position":[[2970,14],[3107,11],[3143,12]]},"1197":{"position":[[3953,14],[4090,11],[4126,12]]},"1198":{"position":[[3963,14],[4100,11],[4136,12]]},"1199":{"position":[[3991,14],[4128,11],[4164,12]]},"1200":{"position":[[3858,14],[3995,11],[4031,12]]},"1201":{"position":[[3118,14],[3255,11],[3291,12]]},"1202":{"position":[[4260,14],[4397,11],[4433,12],[8657,14],[8794,11],[8830,12]]},"1203":{"position":[[3352,14],[3489,11],[3525,12]]},"1204":{"position":[[11,8],[3196,14],[3333,11],[3369,12]]},"1205":{"position":[[4525,14],[4662,11],[4698,12]]},"1206":{"position":[[2996,14],[3133,11],[3169,12]]},"1207":{"position":[[3153,14],[3290,11],[3326,12]]},"1209":{"position":[[4501,14],[4638,11],[4674,12]]},"1217":{"position":[[7812,14],[7949,11],[7985,12]]},"1219":{"position":[[68,8]]},"1222":{"position":[[2922,14],[3059,11],[3095,12]]},"1223":{"position":[[2932,14],[3069,11],[3105,12]]},"1226":{"position":[[8280,14],[8417,11],[8453,12]]},"1228":{"position":[[9893,14],[10030,11],[10066,12]]},"1235":{"position":[[5761,14],[5898,11],[5934,12]]},"1237":{"position":[[8450,14],[8587,11],[8623,12]]},"1239":{"position":[[16,11],[125,11]]},"1398":{"position":[[6420,11]]}},"keywords":{}}],["interchang",{"_index":4850,"title":{},"content":{"980":{"position":[[239,15]]}},"keywords":{}}],["interest",{"_index":488,"title":{},"content":{"17":{"position":[[112,10]]},"20":{"position":[[264,11]]},"51":{"position":[[30,11]]},"198":{"position":[[30,11]]},"632":{"position":[[312,11]]},"847":{"position":[[314,11]]},"886":{"position":[[29,11],[64,9]]},"919":{"position":[[801,8]]},"955":{"position":[[833,11]]},"1060":{"position":[[164,10]]},"1126":{"position":[[1528,8],[1580,11]]},"1131":{"position":[[165,9]]},"1133":{"position":[[324,9]]},"1353":{"position":[[2532,11]]}},"keywords":{}}],["interfac",{"_index":6563,"title":{},"content":{"1355":{"position":[[5962,11],[6264,11]]},"1363":{"position":[[4836,9]]},"1421":{"position":[[1037,9],[2469,13]]},"1427":{"position":[[5135,11],[5437,11]]}},"keywords":{}}],["interfaces_dyn",{"_index":7883,"title":{},"content":{"1421":{"position":[[2508,17]]}},"keywords":{}}],["interfer",{"_index":6176,"title":{},"content":{"1243":{"position":[[417,9]]}},"keywords":{}}],["intermedi",{"_index":3525,"title":{},"content":{"693":{"position":[[1692,12]]},"870":{"position":[[547,12]]},"1345":{"position":[[600,12]]},"1360":{"position":[[4497,12]]},"1383":{"position":[[6529,12]]},"1403":{"position":[[3912,12]]},"1446":{"position":[[2682,12]]}},"keywords":{}}],["intermediari",{"_index":3642,"title":{},"content":{"704":{"position":[[2530,12]]}},"keywords":{}}],["intern",{"_index":641,"title":{"951":{"position":[[0,8]]}},"content":{"22":{"position":[[515,8]]},"23":{"position":[[992,8],[3391,8]]},"24":{"position":[[203,10],[311,8],[359,8],[604,8],[781,9]]},"91":{"position":[[511,9]]},"223":{"position":[[511,9]]},"693":{"position":[[6028,10]]},"832":{"position":[[81,8]]},"937":{"position":[[886,11]]},"958":{"position":[[241,9]]},"973":{"position":[[119,11]]},"1140":{"position":[[522,8]]},"1188":{"position":[[575,8]]},"1399":{"position":[[1512,10],[1672,8]]},"1405":{"position":[[2825,9]]},"1407":{"position":[[3246,9]]},"1410":{"position":[[3595,8],[3826,9],[4525,10],[5961,8],[6104,8]]},"1422":{"position":[[3846,8]]},"1423":{"position":[[2616,8]]},"1439":{"position":[[4572,8]]},"1446":{"position":[[2239,8]]},"1459":{"position":[[2212,8]]},"1469":{"position":[[2427,8]]},"1471":{"position":[[2624,8]]},"1472":{"position":[[2583,8]]},"1473":{"position":[[2898,8]]}},"keywords":{}}],["internally.th",{"_index":793,"title":{},"content":{"24":{"position":[[700,14]]}},"keywords":{}}],["internet",{"_index":7888,"title":{},"content":{"1422":{"position":[[797,8]]},"1423":{"position":[[680,8]]},"1469":{"position":[[687,8]]}},"keywords":{}}],["interop",{"_index":147,"title":{},"content":{"7":{"position":[[209,7]]},"1448":{"position":[[2652,7]]},"1449":{"position":[[2586,7]]}},"keywords":{}}],["interpol",{"_index":6038,"title":{},"content":{"1217":{"position":[[635,14]]},"1345":{"position":[[465,13],[742,13],[1042,13]]},"1362":{"position":[[10926,11]]},"1364":{"position":[[11893,11]]},"1373":{"position":[[5442,11]]},"1382":{"position":[[7795,11]]},"1384":{"position":[[13859,11]]},"1387":{"position":[[7120,11]]},"1478":{"position":[[2090,13]]}},"keywords":{}}],["interpret",{"_index":2640,"title":{"1232":{"position":[[0,12]]}},"content":{"577":{"position":[[499,11],[609,11],[798,11]]},"583":{"position":[[63,10]]},"591":{"position":[[375,11]]},"594":{"position":[[368,11]]},"595":{"position":[[758,11]]},"617":{"position":[[332,11]]},"636":{"position":[[220,11]]},"644":{"position":[[66,10],[306,11]]},"648":{"position":[[169,10],[462,11],[736,11]]},"693":{"position":[[8131,11]]},"898":{"position":[[300,12]]},"946":{"position":[[243,12]]},"1136":{"position":[[4636,12]]},"1138":{"position":[[8298,12]]},"1140":{"position":[[7224,12]]},"1142":{"position":[[2668,12]]},"1146":{"position":[[151,9],[2608,12]]},"1148":{"position":[[5648,12]]},"1155":{"position":[[163,10],[2704,12]]},"1156":{"position":[[2282,12]]},"1167":{"position":[[8228,12]]},"1169":{"position":[[2067,12]]},"1186":{"position":[[3872,12]]},"1187":{"position":[[3885,12]]},"1188":{"position":[[8611,12]]},"1190":{"position":[[566,11],[969,11]]},"1191":{"position":[[2472,12]]},"1192":{"position":[[2647,12]]},"1193":{"position":[[2699,12]]},"1194":{"position":[[2339,12]]},"1195":{"position":[[2317,12]]},"1196":{"position":[[10,11],[2127,12]]},"1197":{"position":[[3110,12]]},"1198":{"position":[[3120,12]]},"1199":{"position":[[3148,12]]},"1200":{"position":[[3015,12]]},"1201":{"position":[[2275,12]]},"1202":{"position":[[15,11],[3417,12],[7814,12]]},"1203":{"position":[[2509,12]]},"1204":{"position":[[2353,12]]},"1205":{"position":[[3682,12]]},"1206":{"position":[[2153,12]]},"1207":{"position":[[2310,12]]},"1209":{"position":[[3658,12]]},"1217":{"position":[[6969,12]]},"1219":{"position":[[2955,12]]},"1222":{"position":[[2079,12]]},"1223":{"position":[[2089,12]]},"1224":{"position":[[2269,12]]},"1226":{"position":[[125,9],[7437,12]]},"1228":{"position":[[9050,12]]},"1235":{"position":[[4918,12]]},"1237":{"position":[[295,9],[7607,12]]},"1355":{"position":[[6628,9]]},"1362":{"position":[[12883,12]]},"1364":{"position":[[13583,12]]},"1367":{"position":[[12791,12]]},"1374":{"position":[[2707,12],[2926,11]]},"1382":{"position":[[11245,12]]},"1384":{"position":[[18899,12]]},"1385":{"position":[[6823,12]]},"1387":{"position":[[10196,12]]},"1388":{"position":[[9738,12]]},"1398":{"position":[[3478,11]]},"1427":{"position":[[5827,9]]},"1442":{"position":[[2618,12]]},"1462":{"position":[[6899,11]]},"1467":{"position":[[10253,12]]},"1485":{"position":[[4109,12]]},"1486":{"position":[[5559,9],[5733,10]]}},"keywords":{}}],["interpreter.src",{"_index":8356,"title":{},"content":{"1465":{"position":[[4061,17]]}},"keywords":{}}],["interpreter.typ",{"_index":8340,"title":{},"content":{"1462":{"position":[[8770,19]]}},"keywords":{}}],["interrupt",{"_index":5547,"title":{},"content":{"1079":{"position":[[1126,11]]},"1136":{"position":[[4276,9],[4528,9]]},"1138":{"position":[[7938,9],[8190,9]]},"1140":{"position":[[6864,9],[7116,9]]},"1142":{"position":[[2308,9],[2560,9]]},"1146":{"position":[[2248,9],[2500,9]]},"1148":{"position":[[5288,9],[5540,9]]},"1155":{"position":[[2344,9],[2596,9]]},"1156":{"position":[[1922,9],[2174,9]]},"1167":{"position":[[7868,9],[8120,9]]},"1169":{"position":[[1707,9],[1959,9]]},"1186":{"position":[[3512,9],[3764,9]]},"1187":{"position":[[3525,9],[3777,9]]},"1188":{"position":[[8251,9],[8503,9]]},"1191":{"position":[[2112,9],[2364,9]]},"1192":{"position":[[2287,9],[2539,9]]},"1193":{"position":[[2339,9],[2591,9]]},"1194":{"position":[[1979,9],[2231,9]]},"1195":{"position":[[1957,9],[2209,9]]},"1196":{"position":[[1767,9],[2019,9]]},"1197":{"position":[[2750,9],[3002,9]]},"1198":{"position":[[2760,9],[3012,9]]},"1199":{"position":[[2788,9],[3040,9]]},"1200":{"position":[[2655,9],[2907,9]]},"1201":{"position":[[1915,9],[2167,9]]},"1202":{"position":[[3057,9],[3309,9],[7454,9],[7706,9]]},"1203":{"position":[[2149,9],[2401,9]]},"1204":{"position":[[1993,9],[2245,9]]},"1205":{"position":[[3322,9],[3574,9]]},"1206":{"position":[[1793,9],[2045,9]]},"1207":{"position":[[1950,9],[2202,9]]},"1209":{"position":[[3298,9],[3550,9]]},"1217":{"position":[[6609,9],[6861,9]]},"1219":{"position":[[2595,9],[2847,9]]},"1222":{"position":[[1719,9],[1971,9]]},"1223":{"position":[[1729,9],[1981,9]]},"1224":{"position":[[1909,9],[2161,9]]},"1226":{"position":[[7077,9],[7329,9]]},"1228":{"position":[[8690,9],[8942,9]]},"1235":{"position":[[4558,9],[4810,9]]},"1237":{"position":[[7247,9],[7499,9]]}},"keywords":{}}],["intersect",{"_index":6261,"title":{},"content":{"1259":{"position":[[2098,12]]},"1282":{"position":[[17,12],[414,9]]},"1290":{"position":[[2098,12]]},"1313":{"position":[[17,12],[414,9]]},"1318":{"position":[[2098,12]]},"1341":{"position":[[17,12],[414,9]]}},"keywords":{}}],["intersect(left",{"_index":6260,"title":{"1282":{"position":[[0,15]]},"1313":{"position":[[0,15]]},"1341":{"position":[[0,15]]}},"content":{"1259":{"position":[[2035,15]]},"1290":{"position":[[2035,15]]},"1318":{"position":[[2035,15]]}},"keywords":{}}],["interv",{"_index":3289,"title":{},"content":{"662":{"position":[[211,8]]}},"keywords":{}}],["inth",{"_index":3586,"title":{},"content":{"693":{"position":[[8035,5]]}},"keywords":{}}],["into.link_group_dep",{"_index":7851,"title":{},"content":{"1416":{"position":[[2512,21]]}},"keywords":{}}],["into.platform_dep",{"_index":7868,"title":{},"content":{"1420":{"position":[[2194,19]]}},"keywords":{}}],["intro",{"_index":4516,"title":{"923":{"position":[[0,6]]},"926":{"position":[[0,6]]}},"content":{},"keywords":{}}],["introduc",{"_index":76,"title":{},"content":{"5":{"position":[[0,11]]},"136":{"position":[[182,9]]},"259":{"position":[[182,9]]},"406":{"position":[[127,11]]},"575":{"position":[[397,9]]},"785":{"position":[[127,11]]},"879":{"position":[[31,10]]},"890":{"position":[[1418,10],[4721,10]]},"937":{"position":[[3142,10]]},"944":{"position":[[219,10]]},"945":{"position":[[410,10]]},"950":{"position":[[176,9]]},"988":{"position":[[18,11]]},"1232":{"position":[[3866,10]]},"1429":{"position":[[3708,10]]},"1440":{"position":[[3701,10]]}},"keywords":{}}],["introduct",{"_index":0,"title":{"0":{"position":[[0,12]]}},"content":{"5":{"position":[[32,12]]}},"keywords":{}}],["introspect",{"_index":35,"title":{},"content":{"4":{"position":[[55,13]]},"869":{"position":[[311,13]]},"870":{"position":[[392,13],[533,13],[1381,10]]},"959":{"position":[[82,13]]},"962":{"position":[[158,13],[338,10]]},"1071":{"position":[[1219,10]]}},"keywords":{}}],["invalid",{"_index":324,"title":{},"content":{"10":{"position":[[400,10]]},"572":{"position":[[147,10]]},"590":{"position":[[255,7]]},"622":{"position":[[1761,7]]},"656":{"position":[[230,7]]},"832":{"position":[[161,11]]},"937":{"position":[[997,11],[1072,11],[1504,12]]},"1001":{"position":[[755,11],[935,10]]},"1037":{"position":[[318,7],[448,7]]},"1064":{"position":[[853,11],[1035,10]]},"1148":{"position":[[7322,12]]},"1219":{"position":[[688,7]]}},"keywords":{}}],["invari",{"_index":4386,"title":{},"content":{"900":{"position":[[1983,10]]},"1004":{"position":[[2236,9]]},"1351":{"position":[[4843,9]]}},"keywords":{}}],["invent",{"_index":4380,"title":{},"content":{"900":{"position":[[1579,9]]}},"keywords":{}}],["invers",{"_index":6286,"title":{},"content":{"1273":{"position":[[223,8]]},"1304":{"position":[[223,8]]},"1332":{"position":[[223,8]]}},"keywords":{}}],["investig",{"_index":6160,"title":{},"content":{"1232":{"position":[[3971,11]]}},"keywords":{}}],["invoc",{"_index":1838,"title":{"921":{"position":[[10,11]]},"1124":{"position":[[0,10]]}},"content":{"344":{"position":[[169,11]]},"693":{"position":[[4048,11],[4115,12],[6408,11]]},"865":{"position":[[684,12]]},"866":{"position":[[174,11],[197,11]]},"867":{"position":[[52,10]]},"920":{"position":[[608,11]]},"921":{"position":[[492,10]]},"937":{"position":[[1415,11]]},"964":{"position":[[267,10]]},"990":{"position":[[994,11]]},"1035":{"position":[[34,10]]},"1050":{"position":[[128,10]]},"1112":{"position":[[50,11]]},"1124":{"position":[[46,10],[65,10]]},"1126":{"position":[[347,10]]},"1136":{"position":[[5819,10],[5865,10],[5906,10]]},"1138":{"position":[[4199,10],[9481,10],[9527,10],[9568,10]]},"1140":{"position":[[3688,10],[8407,10],[8453,10],[8494,10]]},"1142":{"position":[[3851,10],[3897,10],[3938,10]]},"1146":{"position":[[3791,10],[3837,10],[3878,10]]},"1148":{"position":[[6831,10],[6877,10],[6918,10]]},"1155":{"position":[[3887,10],[3933,10],[3974,10]]},"1156":{"position":[[3465,10],[3511,10],[3552,10]]},"1163":{"position":[[425,10],[471,10],[512,10]]},"1165":{"position":[[254,10],[300,10],[341,10]]},"1167":{"position":[[4692,10],[9411,10],[9457,10],[9498,10]]},"1169":{"position":[[2519,10],[2565,10],[2606,10]]},"1171":{"position":[[153,10],[226,10],[328,10],[390,10],[515,10],[592,10],[737,10]]},"1172":{"position":[[42,11],[1590,11]]},"1173":{"position":[[50,11],[890,11]]},"1175":{"position":[[45,10]]},"1176":{"position":[[47,11]]},"1178":{"position":[[39,11]]},"1179":{"position":[[52,10]]},"1182":{"position":[[39,10]]},"1186":{"position":[[5055,10],[5101,10],[5142,10]]},"1187":{"position":[[5068,10],[5114,10],[5155,10]]},"1188":{"position":[[3741,10],[9794,10],[9840,10],[9881,10]]},"1191":{"position":[[3655,10],[3701,10],[3742,10]]},"1192":{"position":[[3830,10],[3876,10],[3917,10]]},"1193":{"position":[[3882,10],[3928,10],[3969,10]]},"1194":{"position":[[3522,10],[3568,10],[3609,10]]},"1195":{"position":[[3500,10],[3546,10],[3587,10]]},"1196":{"position":[[3310,10],[3356,10],[3397,10]]},"1197":{"position":[[4293,10],[4339,10],[4380,10]]},"1198":{"position":[[4303,10],[4349,10],[4390,10]]},"1199":{"position":[[4331,10],[4377,10],[4418,10]]},"1200":{"position":[[4198,10],[4244,10],[4285,10]]},"1201":{"position":[[3458,10],[3504,10],[3545,10]]},"1202":{"position":[[4600,10],[4646,10],[4687,10],[8997,10],[9043,10],[9084,10]]},"1203":{"position":[[3692,10],[3738,10],[3779,10]]},"1204":{"position":[[3536,10],[3582,10],[3623,10]]},"1205":{"position":[[4865,10],[4911,10],[4952,10]]},"1206":{"position":[[3336,10],[3382,10],[3423,10]]},"1207":{"position":[[3493,10],[3539,10],[3580,10]]},"1209":{"position":[[4841,10],[4887,10],[4928,10]]},"1217":{"position":[[3433,10],[8152,10],[8198,10],[8239,10]]},"1219":{"position":[[3407,10],[3453,10],[3494,10]]},"1222":{"position":[[3262,10],[3308,10],[3349,10]]},"1223":{"position":[[3272,10],[3318,10],[3359,10]]},"1224":{"position":[[2721,10],[2767,10],[2808,10]]},"1226":{"position":[[8620,10],[8666,10],[8707,10]]},"1228":{"position":[[5514,10],[10233,10],[10279,10],[10320,10]]},"1235":{"position":[[6101,10],[6147,10],[6188,10]]},"1237":{"position":[[8790,10],[8836,10],[8877,10]]},"1243":{"position":[[79,12],[109,12],[131,12],[553,12],[578,10],[685,11],[888,10],[1081,10],[1176,11]]},"1393":{"position":[[6558,11]]},"1394":{"position":[[1735,11]]},"1395":{"position":[[2782,11]]},"1396":{"position":[[1635,11]]},"1397":{"position":[[2333,11]]},"1398":{"position":[[3591,11],[3760,11]]},"1422":{"position":[[2143,11]]},"1446":{"position":[[2640,10]]},"1471":{"position":[[3478,11]]},"1472":{"position":[[3146,11],[4062,11]]},"1473":{"position":[[3512,11]]},"1486":{"position":[[818,11]]}},"keywords":{}}],["invok",{"_index":988,"title":{},"content":{"73":{"position":[[87,7]]},"300":{"position":[[178,8]]},"368":{"position":[[2139,8]]},"443":{"position":[[247,7],[344,7]]},"496":{"position":[[87,7]]},"690":{"position":[[613,8]]},"693":{"position":[[2433,8]]},"747":{"position":[[2139,8]]},"822":{"position":[[247,7],[344,7]]},"840":{"position":[[722,7]]},"841":{"position":[[23,6]]},"850":{"position":[[538,6]]},"860":{"position":[[637,6]]},"879":{"position":[[335,6]]},"898":{"position":[[1874,7]]},"943":{"position":[[1554,7]]},"956":{"position":[[118,7]]},"958":{"position":[[145,7]]},"961":{"position":[[586,6]]},"981":{"position":[[393,6]]},"1006":{"position":[[602,7]]},"1105":{"position":[[173,7],[2237,8]]},"1112":{"position":[[3545,7]]},"1254":{"position":[[42,8]]},"1374":{"position":[[2480,7]]},"1381":{"position":[[762,8]]},"1402":{"position":[[1861,8]]},"1422":{"position":[[2016,8]]},"1426":{"position":[[2725,7]]},"1467":{"position":[[8756,6]]},"1471":{"position":[[5342,6],[5395,6]]},"1472":{"position":[[6228,6],[6281,6]]},"1478":{"position":[[1114,8],[2026,6]]},"1482":{"position":[[1549,8]]},"1486":{"position":[[3698,9],[5117,6]]}},"keywords":{}}],["involv",{"_index":2222,"title":{},"content":{"416":{"position":[[650,7]]},"417":{"position":[[880,7]]},"693":{"position":[[2217,7],[2380,8]]},"724":{"position":[[1628,8]]},"795":{"position":[[650,7]]},"796":{"position":[[880,7]]},"1011":{"position":[[474,7]]},"1017":{"position":[[384,8]]},"1148":{"position":[[148,8]]}},"keywords":{}}],["io",{"_index":4755,"title":{"956":{"position":[[0,3]]}},"content":{"955":{"position":[[893,2]]},"956":{"position":[[0,3]]},"995":{"position":[[886,3],[1009,3]]},"1004":{"position":[[867,3],[936,3]]},"1005":{"position":[[366,3]]},"1136":{"position":[[5582,3]]},"1138":{"position":[[9244,3]]},"1140":{"position":[[8170,3]]},"1142":{"position":[[3614,3]]},"1146":{"position":[[3554,3]]},"1148":{"position":[[6594,3]]},"1155":{"position":[[3650,3]]},"1156":{"position":[[3228,3]]},"1161":{"position":[[1121,3]]},"1167":{"position":[[9174,3]]},"1181":{"position":[[1333,3]]},"1186":{"position":[[4818,3]]},"1187":{"position":[[4831,3]]},"1188":{"position":[[9557,3]]},"1191":{"position":[[3418,3]]},"1192":{"position":[[3593,3]]},"1193":{"position":[[3645,3]]},"1194":{"position":[[3285,3]]},"1195":{"position":[[3263,3]]},"1196":{"position":[[3073,3]]},"1197":{"position":[[4056,3]]},"1198":{"position":[[4066,3]]},"1199":{"position":[[4094,3]]},"1200":{"position":[[3961,3]]},"1201":{"position":[[3221,3]]},"1202":{"position":[[4363,3],[8760,3]]},"1203":{"position":[[3455,3]]},"1204":{"position":[[3299,3]]},"1205":{"position":[[4628,3]]},"1206":{"position":[[3099,3]]},"1207":{"position":[[3256,3]]},"1209":{"position":[[4604,3]]},"1217":{"position":[[7915,3]]},"1222":{"position":[[3025,3]]},"1223":{"position":[[3035,3]]},"1226":{"position":[[8383,3]]},"1228":{"position":[[9996,3]]},"1235":{"position":[[5864,3]]},"1237":{"position":[[8553,3]]},"1362":{"position":[[4776,3]]},"1363":{"position":[[7016,3],[7564,3],[7607,3]]},"1365":{"position":[[884,4]]}},"keywords":{}}],["ioutil.readfile("testdata/input").src",{"_index":7759,"title":{},"content":{"1407":{"position":[[4176,49]]}},"keywords":{}}],["ipa",{"_index":6940,"title":{},"content":{"1365":{"position":[[880,3]]}},"keywords":{}}],["iphone_to_watch_transit",{"_index":5009,"title":{},"content":{"1004":{"position":[[1835,26]]},"1005":{"position":[[437,27]]}},"keywords":{}}],["iphoneo",{"_index":4610,"title":{},"content":{"937":{"position":[[4131,10]]}},"keywords":{}}],["iphonesimul",{"_index":6788,"title":{},"content":{"1362":{"position":[[6639,15]]},"1454":{"position":[[10299,17],[10326,16],[10478,17],[10505,16]]}},"keywords":{}}],["iquot",{"_index":7068,"title":{},"content":{"1373":{"position":[[8074,6]]},"1382":{"position":[[10850,6]]},"1384":{"position":[[17924,6]]},"1388":{"position":[[9343,6]]},"1485":{"position":[[3715,6]]}},"keywords":{}}],["is).if",{"_index":4298,"title":{},"content":{"895":{"position":[[543,6]]}},"keywords":{}}],["is__codegen_dir__",{"_index":8040,"title":{},"content":{"1439":{"position":[[5025,18]]}},"keywords":{}}],["is_aarch64=true|fals",{"_index":2264,"title":{},"content":{"419":{"position":[[318,22]]},"798":{"position":[[318,22]]}},"keywords":{}}],["is_arm=true|fals",{"_index":2265,"title":{},"content":{"419":{"position":[[341,18]]},"798":{"position":[[341,18]]}},"keywords":{}}],["is_armeb=true|fals",{"_index":2266,"title":{},"content":{"419":{"position":[[360,20]]},"798":{"position":[[360,20]]}},"keywords":{}}],["is_asset",{"_index":8096,"title":{},"content":{"1446":{"position":[[463,9]]},"1459":{"position":[[480,9],[1879,8]]}},"keywords":{}}],["is_cach",{"_index":6438,"title":{},"content":{"1350":{"position":[[1929,13]]},"1352":{"position":[[1928,13]]},"1360":{"position":[[850,13]]}},"keywords":{}}],["is_configuration_rul",{"_index":2341,"title":{},"content":{"437":{"position":[[131,22]]},"816":{"position":[[131,22]]}},"keywords":{}}],["is_deferr",{"_index":1109,"title":{},"content":{"91":{"position":[[198,14]]},"223":{"position":[[198,14]]}},"keywords":{}}],["is_directori",{"_index":1044,"title":{},"content":{"85":{"position":[[184,13]]},"217":{"position":[[184,13]]}},"keywords":{}}],["is_execut",{"_index":1042,"title":{},"content":{"85":{"position":[[132,14]]},"91":{"position":[[169,14],[408,13]]},"98":{"position":[[316,14],[515,13]]},"217":{"position":[[132,14]]},"223":{"position":[[169,14],[408,13]]},"230":{"position":[[316,14],[515,13]]}},"keywords":{}}],["is_freebsd=true|fals",{"_index":2261,"title":{},"content":{"419":{"position":[[256,22]]},"798":{"position":[[256,22]]}},"keywords":{}}],["is_i386=true|fals",{"_index":2267,"title":{},"content":{"419":{"position":[[381,19]]},"798":{"position":[[381,19]]}},"keywords":{}}],["is_linux=true|fals",{"_index":2258,"title":{},"content":{"419":{"position":[[191,20]]},"798":{"position":[[191,20]]}},"keywords":{}}],["is_macos=true|fals",{"_index":2259,"title":{},"content":{"419":{"position":[[212,20]]},"798":{"position":[[212,20]]}},"keywords":{}}],["is_mips64=true|fals",{"_index":2269,"title":{},"content":{"419":{"position":[[421,21]]},"798":{"position":[[421,21]]}},"keywords":{}}],["is_mips=true|fals",{"_index":2268,"title":{},"content":{"419":{"position":[[401,19]]},"798":{"position":[[401,19]]}},"keywords":{}}],["is_mipsel64=true|fals",{"_index":2271,"title":{},"content":{"419":{"position":[[465,23]]},"798":{"position":[[465,23]]}},"keywords":{}}],["is_mipsel=true|fals",{"_index":2270,"title":{},"content":{"419":{"position":[[443,21]]},"798":{"position":[[443,21]]}},"keywords":{}}],["is_powerpc=true|fals",{"_index":2272,"title":{},"content":{"419":{"position":[[489,22]]},"798":{"position":[[489,22]]}},"keywords":{}}],["is_ppc64=true|fals",{"_index":2273,"title":{},"content":{"419":{"position":[[512,20]]},"798":{"position":[[512,20]]}},"keywords":{}}],["is_self_instru",{"_index":6504,"title":{},"content":{"1353":{"position":[[813,22]]},"1354":{"position":[[854,22]]}},"keywords":{}}],["is_str",{"_index":5380,"title":{},"content":{"1057":{"position":[[343,9],[802,9]]}},"keywords":{}}],["is_toolchain_rul",{"_index":2342,"title":{},"content":{"437":{"position":[[168,18]]},"816":{"position":[[168,18]]}},"keywords":{}}],["is_tre",{"_index":1043,"title":{},"content":{"85":{"position":[[161,8]]},"217":{"position":[[161,8]]}},"keywords":{}}],["is_ui_test",{"_index":6966,"title":{},"content":{"1367":{"position":[[3682,11]]}},"keywords":{}}],["is_unknown=true|fals",{"_index":2262,"title":{},"content":{"419":{"position":[[279,22],[555,22]]},"798":{"position":[[279,22],[555,22]]}},"keywords":{}}],["is_voltron_language_pack_en",{"_index":6439,"title":{},"content":{"1350":{"position":[[1953,33]]},"1352":{"position":[[1952,33]]}},"keywords":{}}],["is_windows=true|fals",{"_index":2260,"title":{},"content":{"419":{"position":[[233,22]]},"798":{"position":[[233,22]]}},"keywords":{}}],["is_x86_64=true|fals",{"_index":2274,"title":{},"content":{"419":{"position":[[533,21]]},"798":{"position":[[533,21]]}},"keywords":{}}],["isbuck2",{"_index":6179,"title":{},"content":{"1243":{"position":[[1116,7]]}},"keywords":{}}],["ish",{"_index":4525,"title":{},"content":{"924":{"position":[[369,3]]}},"keywords":{}}],["isinst",{"_index":3229,"title":{"649":{"position":[[0,11]]}},"content":{},"keywords":{}}],["isinstance(valu",{"_index":3230,"title":{},"content":{"649":{"position":[[4,17]]}},"keywords":{}}],["isn't",{"_index":4208,"title":{},"content":{"890":{"position":[[1061,5]]},"924":{"position":[[931,5]]},"1025":{"position":[[50,5]]},"1427":{"position":[[5635,5]]},"1439":{"position":[[7544,5]]}},"keywords":{}}],["isn't.b",{"_index":4192,"title":{},"content":{"889":{"position":[[939,8]]}},"keywords":{}}],["isn’t",{"_index":3670,"title":{},"content":{"706":{"position":[[842,5],[1301,5]]}},"keywords":{}}],["isol",{"_index":3506,"title":{"1242":{"position":[[68,11]]}},"content":{"692":{"position":[[141,9],[185,9],[215,9]]},"693":{"position":[[5029,9],[5099,9],[5137,9]]},"1105":{"position":[[2594,10]]},"1136":{"position":[[3721,9]]},"1138":{"position":[[3021,9],[7383,9]]},"1140":{"position":[[2510,9],[6309,9]]},"1142":{"position":[[1753,9]]},"1146":{"position":[[1693,9]]},"1148":{"position":[[4733,9]]},"1155":{"position":[[1789,9]]},"1156":{"position":[[1367,9]]},"1167":{"position":[[3514,9],[7313,9]]},"1169":{"position":[[1152,9]]},"1186":{"position":[[2957,9]]},"1187":{"position":[[2970,9]]},"1188":{"position":[[2563,9],[7696,9]]},"1191":{"position":[[1557,9]]},"1192":{"position":[[1732,9]]},"1193":{"position":[[1784,9]]},"1194":{"position":[[1424,9]]},"1195":{"position":[[1402,9]]},"1196":{"position":[[1212,9]]},"1197":{"position":[[2195,9]]},"1198":{"position":[[2205,9]]},"1199":{"position":[[2233,9]]},"1200":{"position":[[2100,9]]},"1201":{"position":[[1360,9]]},"1202":{"position":[[2502,9],[6899,9]]},"1203":{"position":[[1594,9]]},"1204":{"position":[[1438,9]]},"1205":{"position":[[2767,9]]},"1206":{"position":[[1238,9]]},"1207":{"position":[[1395,9]]},"1209":{"position":[[2743,9]]},"1217":{"position":[[2255,9],[6054,9]]},"1219":{"position":[[2040,9]]},"1222":{"position":[[1164,9]]},"1223":{"position":[[1174,9]]},"1224":{"position":[[1354,9]]},"1226":{"position":[[6522,9]]},"1228":{"position":[[4336,9],[8135,9]]},"1235":{"position":[[4003,9]]},"1237":{"position":[[6692,9]]},"1243":{"position":[[1208,9]]}},"keywords":{}}],["isolate_class_load",{"_index":7944,"title":{},"content":{"1425":{"position":[[521,21]]},"1428":{"position":[[507,21]]}},"keywords":{}}],["issu",{"_index":268,"title":{"1238":{"position":[[7,6]]}},"content":{"9":{"position":[[1943,6]]},"12":{"position":[[91,7],[221,7]]},"24":{"position":[[112,7],[140,6],[175,7]]},"575":{"position":[[169,5]]},"907":{"position":[[121,7],[159,6]]},"950":{"position":[[500,5]]},"965":{"position":[[379,6]]},"981":{"position":[[601,5]]},"1037":{"position":[[558,6]]},"1075":{"position":[[549,5]]},"1138":{"position":[[4059,7]]},"1140":{"position":[[3548,7]]},"1167":{"position":[[4552,7]]},"1188":{"position":[[3601,7]]},"1217":{"position":[[3293,7]]},"1228":{"position":[[5374,7]]},"1232":{"position":[[3598,6],[3999,6]]},"1247":{"position":[[453,6]]},"1256":{"position":[[101,5]]}},"keywords":{}}],["isystem",{"_index":7067,"title":{},"content":{"1373":{"position":[[8062,7]]},"1382":{"position":[[10838,7]]},"1384":{"position":[[6102,9],[17270,7],[17912,7]]},"1386":{"position":[[2957,7]]},"1388":{"position":[[9331,7]]},"1485":{"position":[[3703,7]]}},"keywords":{}}],["it'",{"_index":297,"title":{},"content":{"9":{"position":[[2616,4]]},"362":{"position":[[1544,4]]},"368":{"position":[[3444,4]]},"374":{"position":[[1133,4]]},"638":{"position":[[333,4]]},"663":{"position":[[349,4]]},"690":{"position":[[2960,4]]},"693":{"position":[[5220,4],[6502,4]]},"717":{"position":[[192,4]]},"741":{"position":[[1544,4]]},"747":{"position":[[3444,4]]},"753":{"position":[[1133,4]]},"846":{"position":[[1405,4]]},"890":{"position":[[3474,4],[6350,4]]},"895":{"position":[[430,4]]},"897":{"position":[[107,4],[140,4]]},"898":{"position":[[1124,4],[1188,4],[1596,4]]},"900":{"position":[[1994,4]]},"901":{"position":[[311,4]]},"902":{"position":[[322,4]]},"919":{"position":[[2073,4]]},"920":{"position":[[0,4]]},"924":{"position":[[427,4],[1284,4],[2104,4]]},"937":{"position":[[2138,4],[2404,4],[2615,4],[2789,4]]},"944":{"position":[[902,4]]},"975":{"position":[[389,4]]},"1036":{"position":[[0,4]]},"1046":{"position":[[353,4]]},"1050":{"position":[[20,4],[1584,4]]},"1058":{"position":[[897,4]]},"1064":{"position":[[1915,4]]},"1070":{"position":[[957,4]]},"1093":{"position":[[378,4]]},"1098":{"position":[[628,4]]},"1102":{"position":[[1006,4]]},"1104":{"position":[[2713,4]]},"1105":{"position":[[155,4]]},"1114":{"position":[[669,4]]},"1138":{"position":[[3821,4]]},"1140":{"position":[[3310,4]]},"1167":{"position":[[4314,4]]},"1172":{"position":[[1162,4]]},"1173":{"position":[[462,4]]},"1174":{"position":[[366,4]]},"1175":{"position":[[386,4]]},"1176":{"position":[[470,4]]},"1177":{"position":[[382,4]]},"1178":{"position":[[536,4]]},"1179":{"position":[[402,4]]},"1180":{"position":[[732,4]]},"1181":{"position":[[487,4]]},"1182":{"position":[[424,4]]},"1183":{"position":[[379,4]]},"1188":{"position":[[3363,4]]},"1217":{"position":[[3055,4]]},"1228":{"position":[[5136,4]]},"1243":{"position":[[661,4]]},"1355":{"position":[[4056,4]]},"1388":{"position":[[4713,4]]},"1393":{"position":[[6790,4]]},"1410":{"position":[[1653,4]]},"1415":{"position":[[5785,4]]},"1427":{"position":[[3201,4]]},"1439":{"position":[[3875,4]]},"1467":{"position":[[8763,4]]}},"keywords":{}}],["it'll",{"_index":5486,"title":{},"content":{"1070":{"position":[[255,5],[471,5],[910,5]]}},"keywords":{}}],["it).base_modul",{"_index":8318,"title":{},"content":{"1462":{"position":[[5468,16]]}},"keywords":{}}],["it).cgo_compiler_flag",{"_index":7044,"title":{},"content":{"1373":{"position":[[3990,23]]}},"keywords":{}}],["it).cxx_compiler_allow_cache_upload",{"_index":7418,"title":{},"content":{"1389":{"position":[[5505,36]]}},"keywords":{}}],["it).exported_dep",{"_index":8166,"title":{},"content":{"1454":{"position":[[4455,18]]}},"keywords":{}}],["it).link_styl",{"_index":7419,"title":{},"content":{"1389":{"position":[[5752,15]]}},"keywords":{}}],["it.local_linker_flag",{"_index":8174,"title":{},"content":{"1454":{"position":[[7616,22]]}},"keywords":{}}],["it.turn",{"_index":4164,"title":{},"content":{"888":{"position":[[521,7]]}},"keywords":{}}],["item",{"_index":1687,"title":{},"content":{"305":{"position":[[88,5]]},"405":{"position":[[1339,5]]},"577":{"position":[[82,5],[139,6],[176,5],[466,5],[634,5]]},"784":{"position":[[1339,5]]},"833":{"position":[[26,5],[83,5]]},"892":{"position":[[1122,4]]},"1126":{"position":[[211,4]]},"1136":{"position":[[6309,5]]},"1138":{"position":[[9971,5]]},"1140":{"position":[[8897,5]]},"1142":{"position":[[4341,5]]},"1144":{"position":[[669,5]]},"1146":{"position":[[4281,5]]},"1148":{"position":[[7872,5]]},"1150":{"position":[[904,5]]},"1152":{"position":[[602,5]]},"1154":{"position":[[757,5]]},"1155":{"position":[[4377,5]]},"1156":{"position":[[3955,5]]},"1157":{"position":[[540,5]]},"1158":{"position":[[534,5]]},"1159":{"position":[[534,5]]},"1161":{"position":[[1529,5]]},"1163":{"position":[[915,5]]},"1165":{"position":[[744,5]]},"1167":{"position":[[9901,5]]},"1169":{"position":[[3009,5]]},"1171":{"position":[[1250,5]]},"1172":{"position":[[2635,5]]},"1173":{"position":[[1322,5]]},"1174":{"position":[[750,5]]},"1175":{"position":[[746,5]]},"1176":{"position":[[915,5]]},"1177":{"position":[[836,5]]},"1178":{"position":[[1153,5]]},"1179":{"position":[[950,5]]},"1180":{"position":[[1221,5]]},"1181":{"position":[[1741,5]]},"1182":{"position":[[784,5]]},"1183":{"position":[[739,5]]},"1185":{"position":[[584,5]]},"1186":{"position":[[5545,5]]},"1187":{"position":[[5558,5]]},"1188":{"position":[[10284,5]]},"1190":{"position":[[1915,5]]},"1191":{"position":[[4145,5]]},"1192":{"position":[[4320,5]]},"1193":{"position":[[4372,5]]},"1194":{"position":[[4012,5]]},"1195":{"position":[[3990,5]]},"1196":{"position":[[3800,5]]},"1197":{"position":[[4783,5]]},"1198":{"position":[[4793,5]]},"1199":{"position":[[4821,5]]},"1200":{"position":[[4688,5]]},"1201":{"position":[[3948,5]]},"1202":{"position":[[692,5],[5090,5],[9487,5]]},"1203":{"position":[[4182,5]]},"1204":{"position":[[4026,5],[4928,5],[5858,5],[6760,5],[7746,5],[8700,5],[9647,5],[10577,5]]},"1205":{"position":[[5355,5]]},"1206":{"position":[[4054,5]]},"1207":{"position":[[3983,5]]},"1209":{"position":[[5331,5]]},"1211":{"position":[[655,5]]},"1213":{"position":[[426,5]]},"1215":{"position":[[510,5]]},"1217":{"position":[[8642,5]]},"1219":{"position":[[3897,5]]},"1221":{"position":[[629,5]]},"1222":{"position":[[3768,5]]},"1223":{"position":[[3778,5]]},"1224":{"position":[[3211,5]]},"1226":{"position":[[4011,5],[9110,5]]},"1228":{"position":[[10723,5]]},"1235":{"position":[[6591,5]]},"1237":{"position":[[4181,5],[9280,5]]}},"keywords":{}}],["iter",{"_index":706,"title":{"1087":{"position":[[15,10]]}},"content":{"23":{"position":[[766,9]]},"245":{"position":[[95,8]]},"246":{"position":[[98,8]]},"345":{"position":[[896,9]]},"498":{"position":[[101,10]]},"553":{"position":[[188,10]]},"557":{"position":[[415,10]]},"558":{"position":[[270,10]]},"560":{"position":[[305,9],[396,9],[452,9]]},"563":{"position":[[181,10]]},"564":{"position":[[175,10]]},"565":{"position":[[168,9],[236,9],[287,10]]},"567":{"position":[[460,10]]},"568":{"position":[[327,10]]},"569":{"position":[[240,10]]},"590":{"position":[[82,8],[155,8],[373,9]]},"592":{"position":[[72,8],[135,8]]},"604":{"position":[[277,8]]},"628":{"position":[[82,8]]},"629":{"position":[[81,8]]},"636":{"position":[[238,8]]},"638":{"position":[[1004,9]]},"639":{"position":[[138,9],[242,8]]},"643":{"position":[[133,9]]},"652":{"position":[[194,8]]},"653":{"position":[[120,9]]},"654":{"position":[[108,8]]},"655":{"position":[[105,8]]},"665":{"position":[[151,8]]},"666":{"position":[[162,8]]},"670":{"position":[[104,8]]},"672":{"position":[[61,8]]},"673":{"position":[[73,9],[181,8]]},"844":{"position":[[141,9]]},"846":{"position":[[863,9],[1112,7]]},"900":{"position":[[1277,8]]},"902":{"position":[[990,9]]},"964":{"position":[[896,9]]},"1058":{"position":[[876,10],[987,9]]},"1087":{"position":[[8,7],[85,7]]},"1088":{"position":[[15,9]]},"1204":{"position":[[224,4],[9191,5],[9251,4]]},"1398":{"position":[[6467,12]]}},"keywords":{}}],["iterable"",{"_index":3242,"title":{},"content":{"652":{"position":[[333,15]]}},"keywords":{}}],["iterable'",{"_index":2571,"title":{},"content":{"565":{"position":[[95,10]]}},"keywords":{}}],["itertools::itertools>::exactly_on",{"_index":6111,"title":{},"content":{"1232":{"position":[[871,37]]}},"keywords":{}}],["itself",{"_index":1573,"title":{},"content":{"286":{"position":[[259,7]]},"368":{"position":[[3542,8]]},"607":{"position":[[260,7]]},"632":{"position":[[411,7]]},"633":{"position":[[153,7]]},"682":{"position":[[155,7]]},"693":{"position":[[2340,6],[7365,7]]},"747":{"position":[[3542,8]]},"832":{"position":[[824,7]]},"837":{"position":[[9,6]]},"886":{"position":[[424,7]]},"892":{"position":[[275,8]]},"924":{"position":[[313,7]]},"951":{"position":[[1206,6]]},"956":{"position":[[403,6]]},"959":{"position":[[230,7]]},"965":{"position":[[317,6]]},"1019":{"position":[[96,6],[441,6]]},"1031":{"position":[[298,6]]},"1044":{"position":[[818,7]]},"1052":{"position":[[147,6]]},"1057":{"position":[[597,6]]},"1108":{"position":[[335,7]]},"1127":{"position":[[517,6]]},"1138":{"position":[[3883,6],[3940,6]]},"1140":{"position":[[3372,6],[3429,6]]},"1167":{"position":[[4376,6],[4433,6]]},"1188":{"position":[[3425,6],[3482,6]]},"1217":{"position":[[3117,6],[3174,6]]},"1228":{"position":[[5198,6],[5255,6]]},"1354":{"position":[[2627,7]]},"1361":{"position":[[1948,6],[2209,6]]},"1362":{"position":[[10485,7]]},"1364":{"position":[[11599,7]]},"1367":{"position":[[10442,7],[11402,7]]},"1382":{"position":[[7211,7]]},"1383":{"position":[[5425,7]]},"1384":{"position":[[13565,7],[21117,7]]},"1386":{"position":[[2717,7],[4138,7]]},"1388":{"position":[[8080,7]]},"1392":{"position":[[1897,7]]},"1393":{"position":[[7963,7]]},"1403":{"position":[[5063,6]]},"1410":{"position":[[3381,7]]},"1415":{"position":[[3647,7]]},"1429":{"position":[[4673,7]]},"1440":{"position":[[4755,7]]},"1477":{"position":[[1638,6]]},"1482":{"position":[[1606,7]]},"1483":{"position":[[1404,6]]},"1486":{"position":[[2703,6]]}},"keywords":{}}],["it’",{"_index":2223,"title":{},"content":{"416":{"position":[[698,4]]},"417":{"position":[[928,4]]},"705":{"position":[[131,4]]},"706":{"position":[[2284,4]]},"795":{"position":[[698,4]]},"796":{"position":[[928,4]]},"870":{"position":[[109,4]]},"904":{"position":[[1427,4],[1473,4]]},"954":{"position":[[326,4]]}},"keywords":{}}],["it’ll",{"_index":6094,"title":{},"content":{"1231":{"position":[[231,5]]}},"keywords":{}}],["i’m",{"_index":4761,"title":{},"content":{"957":{"position":[[21,3]]}},"keywords":{}}],["i’v",{"_index":177,"title":{},"content":{"9":{"position":[[227,4]]}},"keywords":{}}],["j",{"_index":5927,"title":{},"content":{"1138":{"position":[[2198,2]]},"1140":{"position":[[1687,2]]},"1167":{"position":[[2691,2]]},"1188":{"position":[[1740,2]]},"1217":{"position":[[1432,2]]},"1226":{"position":[[5097,2]]},"1228":{"position":[[3513,2]]},"1237":{"position":[[5267,2]]}},"keywords":{}}],["jar",{"_index":3414,"title":{},"content":{"681":{"position":[[363,3],[452,3],[638,3],[773,3]]},"688":{"position":[[845,3]]},"1355":{"position":[[2324,3],[5636,4],[6563,3]]},"1358":{"position":[[2207,3]]},"1412":{"position":[[1644,3]]},"1426":{"position":[[928,3],[1971,3],[2444,3],[2590,3],[2824,3],[2938,3]]},"1427":{"position":[[1808,3],[4708,4],[5762,3]]},"1439":{"position":[[2094,3],[7207,4],[7671,3]]},"1458":{"position":[[943,3],[1115,3],[2080,3],[2330,3]]},"1470":{"position":[[4751,4]]}},"keywords":{}}],["jar_genrul",{"_index":7941,"title":{"1424":{"position":[[0,12]]}},"content":{"1424":{"position":[[4,12]]}},"keywords":{}}],["jar_postprocessor",{"_index":6552,"title":{},"content":{"1355":{"position":[[1186,18]]},"1427":{"position":[[945,18]]},"1429":{"position":[[1129,18]]},"1439":{"position":[[1111,18]]},"1470":{"position":[[1346,18]]}},"keywords":{}}],["java",{"_index":693,"title":{},"content":{"23":{"position":[[223,5],[303,4],[726,4]]},"678":{"position":[[111,4]]},"688":{"position":[[536,4]]},"702":{"position":[[181,4],[367,4]]},"708":{"position":[[235,4],[727,4]]},"955":{"position":[[65,4]]},"1029":{"position":[[393,4]]},"1271":{"position":[[325,6]]},"1302":{"position":[[325,6]]},"1330":{"position":[[325,6]]},"1351":{"position":[[1908,4],[4024,5]]},"1353":{"position":[[2641,4]]},"1355":{"position":[[2201,4],[3416,4],[3491,4],[3546,4],[4603,4],[6606,4],[7376,5],[7447,4]]},"1358":{"position":[[2234,5],[2422,4],[3163,4]]},"1359":{"position":[[2086,4]]},"1402":{"position":[[704,5],[1629,5],[2392,8]]},"1412":{"position":[[1577,4],[3511,6],[4036,5],[4127,4],[4242,14]]},"1423":{"position":[[2738,4]]},"1426":{"position":[[2818,4]]},"1427":{"position":[[1713,4],[3748,4],[4060,4],[5805,4],[6575,5],[6708,5],[6826,4],[6892,4],[6936,4],[7131,5],[7312,5]]},"1429":{"position":[[1164,5],[2541,5],[4139,4],[4891,4],[5011,5]]},"1439":{"position":[[3237,4],[3312,4],[3367,4],[7703,5],[7844,5]]},"1440":{"position":[[1295,5],[4132,4]]},"1458":{"position":[[2357,5]]},"1470":{"position":[[1381,5],[3310,5]]},"1487":{"position":[[3865,4]]}},"keywords":{}}],["java.util.logging.level",{"_index":8000,"title":{},"content":{"1429":{"position":[[5685,23]]},"1440":{"position":[[5677,23]]}},"keywords":{}}],["java.util.regex.pattern",{"_index":6813,"title":{},"content":{"1362":{"position":[[11369,23],[11799,23],[12178,23]]},"1364":{"position":[[8421,23],[12336,23],[12683,23]]},"1367":{"position":[[11739,23],[12086,23]]},"1373":{"position":[[6391,23],[6820,23],[7218,23]]},"1382":{"position":[[8238,23],[8588,23],[9140,23],[9539,23],[9894,23]]},"1384":{"position":[[7515,23],[7929,23],[8607,23],[9093,23],[14583,23],[14933,23],[15485,23],[15884,23],[16239,23],[19313,23]]},"1385":{"position":[[4468,23],[4817,23],[5368,23],[5766,23],[6120,23]]},"1387":{"position":[[7841,23],[8190,23],[8741,23],[9139,23],[9493,23]]},"1415":{"position":[[4350,23],[4779,23],[5290,23]]},"1416":{"position":[[3206,23]]},"1420":{"position":[[2343,23]]},"1448":{"position":[[2289,23]]},"1449":{"position":[[2223,23]]},"1454":{"position":[[5915,23],[6328,23],[6881,23],[8051,23],[8363,23],[8683,23],[9326,23]]},"1455":{"position":[[2686,23]]},"1465":{"position":[[3393,23],[3802,23]]},"1467":{"position":[[9662,23]]},"1485":{"position":[[2852,23]]},"1487":{"position":[[1723,23]]}},"keywords":{}}],["java/com/example/app:amaz",{"_index":5859,"title":{},"content":{"1136":{"position":[[417,31]]},"1148":{"position":[[934,30]]},"1235":{"position":[[727,30]]}},"keywords":{}}],["java/com/example/ui",{"_index":3697,"title":{},"content":{"708":{"position":[[597,26]]}},"keywords":{}}],["java/com/example/ui/buck",{"_index":3696,"title":{},"content":{"708":{"position":[[485,25]]}},"keywords":{}}],["java/com/example/ui:ui",{"_index":3695,"title":{},"content":{"708":{"position":[[345,28]]}},"keywords":{}}],["java/com/facebook/base/buck",{"_index":3029,"title":{},"content":{"622":{"position":[[538,27],[703,27]]}},"keywords":{}}],["java/com/facebook/base:bas",{"_index":3041,"title":{},"content":{"622":{"position":[[1474,36],[2042,36]]},"1427":{"position":[[8096,32]]},"1439":{"position":[[8918,32]]}},"keywords":{}}],["java/com/facebook/base:base','//java/com/facebook/common/collect:collect",{"_index":3043,"title":{},"content":{"622":{"position":[[1648,81]]}},"keywords":{}}],["java/com/facebook/common",{"_index":3033,"title":{},"content":{"622":{"position":[[792,25]]}},"keywords":{}}],["java/com/facebook/common/buck",{"_index":3030,"title":{},"content":{"622":{"position":[[566,29],[1516,29]]}},"keywords":{}}],["java/com/facebook/common/collect",{"_index":3034,"title":{},"content":{"622":{"position":[[887,34],[1304,34]]}},"keywords":{}}],["java/com/facebook/common/collect/buck",{"_index":3031,"title":{},"content":{"622":{"position":[[596,37]]}},"keywords":{}}],["java/com/facebook/common/concurr",{"_index":3037,"title":{},"content":{"622":{"position":[[1240,36]]}},"keywords":{}}],["java/com/facebook/shar",{"_index":3380,"title":{},"content":{"675":{"position":[[1047,24]]}},"keywords":{}}],["java/com/facebook/share/:shar",{"_index":3376,"title":{},"content":{"675":{"position":[[676,30],[850,30]]}},"keywords":{}}],["java/com/facebook/share:shar",{"_index":3372,"title":{},"content":{"675":{"position":[[261,31],[532,29],[1002,32]]}},"keywords":{}}],["java/com/facebook/sign:super_sign",{"_index":6666,"title":{},"content":{"1360":{"position":[[6250,36],[6333,36]]}},"keywords":{}}],["java_ag",{"_index":7984,"title":{},"content":{"1429":{"position":[[1186,12]]},"1440":{"position":[[1317,12]]},"1470":{"position":[[1403,12]]}},"keywords":{}}],["java_annotation_processor",{"_index":7942,"title":{"1425":{"position":[[0,26]]}},"content":{"1425":{"position":[[4,26]]}},"keywords":{}}],["java_args_for_run_info",{"_index":7950,"title":{},"content":{"1426":{"position":[[692,23]]}},"keywords":{}}],["java_binari",{"_index":3419,"title":{"1426":{"position":[[0,12]]}},"content":{"681":{"position":[[715,12],[756,12],[859,11]]},"688":{"position":[[800,13]]},"1271":{"position":[[347,12]]},"1302":{"position":[[347,12]]},"1330":{"position":[[347,12]]},"1426":{"position":[[4,12],[889,13],[1990,12]]}},"keywords":{}}],["java_hom",{"_index":7805,"title":{},"content":{"1412":{"position":[[3559,9]]}},"keywords":{}}],["java_librari",{"_index":3039,"title":{"1427":{"position":[[0,13]]}},"content":{"622":{"position":[[1410,13],[1570,13],[1946,13]]},"681":{"position":[[413,12]]},"708":{"position":[[1098,13]]},"1260":{"position":[[619,12]]},"1271":{"position":[[332,14]]},"1291":{"position":[[619,12]]},"1302":{"position":[[332,14]]},"1319":{"position":[[619,12]]},"1330":{"position":[[332,14]]},"1412":{"position":[[2612,14],[2738,15],[2794,14],[2920,15],[3012,15],[3189,15],[3243,15],[3293,15],[3376,15],[3648,15]]},"1426":{"position":[[987,14],[2333,13]]},"1427":{"position":[[4,13],[1676,14],[1776,14],[2809,12],[2894,13],[7143,13],[7506,13],[7680,13],[7973,13]]},"1429":{"position":[[3657,15],[4867,15],[4984,15]]},"1458":{"position":[[1177,14],[2648,13]]}},"keywords":{}}],["java_plugin",{"_index":7981,"title":{"1428":{"position":[[0,12]]}},"content":{"1428":{"position":[[4,12]]}},"keywords":{}}],["java_test",{"_index":7983,"title":{"1429":{"position":[[0,10]]}},"content":{"1429":{"position":[[4,10],[2497,11]]},"1470":{"position":[[3404,11]]}},"keywords":{}}],["java_test_runn",{"_index":8002,"title":{"1430":{"position":[[0,17]]}},"content":{"1430":{"position":[[4,17]]}},"keywords":{}}],["java_vers",{"_index":5037,"title":{},"content":{"1009":{"position":[[160,12]]},"1348":{"position":[[1234,13]]},"1355":{"position":[[1221,13]]},"1412":{"position":[[763,13],[3116,13],[4257,12]]},"1413":{"position":[[909,13]]},"1427":{"position":[[980,13],[3821,13]]},"1429":{"position":[[1214,13]]},"1430":{"position":[[762,13]]},"1439":{"position":[[1146,13]]},"1440":{"position":[[1345,13]]},"1470":{"position":[[1431,13]]},"1474":{"position":[[759,13]]},"1475":{"position":[[905,13]]}},"keywords":{}}],["javac",{"_index":6351,"title":{},"content":{"1348":{"position":[[1264,6]]},"1355":{"position":[[1251,6]]},"1412":{"position":[[793,6]]},"1413":{"position":[[939,6]]},"1427":{"position":[[1010,6]]},"1429":{"position":[[1244,6],[4966,6],[5801,6]]},"1430":{"position":[[792,6]]},"1439":{"position":[[1176,6]]},"1440":{"position":[[1375,6]]},"1470":{"position":[[1461,6]]},"1474":{"position":[[789,6]]},"1475":{"position":[[935,6]]}},"keywords":{}}],["javadoc",{"_index":6617,"title":{},"content":{"1358":{"position":[[2145,7]]},"1458":{"position":[[2261,7]]},"1469":{"position":[[2265,8]]}},"keywords":{}}],["javadoc_url",{"_index":6612,"title":{},"content":{"1358":{"position":[[693,12],[3032,11]]},"1458":{"position":[[668,12],[2583,11]]}},"keywords":{}}],["javatest",{"_index":3698,"title":{},"content":{"708":{"position":[[761,10],[880,10],[986,19]]}},"keywords":{}}],["jdk",{"_index":7804,"title":{},"content":{"1412":{"position":[[3546,3]]},"1438":{"position":[[628,4]]}},"keywords":{}}],["jee",{"_index":6559,"title":{},"content":{"1355":{"position":[[5199,3]]},"1427":{"position":[[4513,3]]},"1439":{"position":[[7012,3]]}},"keywords":{}}],["jetti",{"_index":8385,"title":{},"content":{"1469":{"position":[[2818,6],[2844,6],[2891,7],[2930,6],[2952,6],[3242,6],[3264,6],[3590,6]]}},"keywords":{}}],["jive",{"_index":7281,"title":{},"content":{"1386":{"position":[[5179,5]]}},"keywords":{}}],["jl",{"_index":6476,"title":{},"content":{"1351":{"position":[[3078,3]]}},"keywords":{}}],["jll_name",{"_index":8025,"title":{},"content":{"1435":{"position":[[389,9]]}},"keywords":{}}],["job",{"_index":532,"title":{},"content":{"17":{"position":[[1400,4]]},"704":{"position":[[799,3]]},"916":{"position":[[376,4]]},"1446":{"position":[[1885,4]]},"1477":{"position":[[3173,4]]},"1478":{"position":[[3495,5]]},"1486":{"position":[[4526,3],[4642,3],[4836,4],[4873,3],[5197,4],[5472,3]]}},"keywords":{}}],["job'",{"_index":8593,"title":{},"content":{"1486":{"position":[[4549,5]]}},"keywords":{}}],["join",{"_index":829,"title":{},"content":{"34":{"position":[[82,6]]},"118":{"position":[[39,4]]},"190":{"position":[[82,6]]},"405":{"position":[[1609,4]]},"534":{"position":[[39,4]]},"604":{"position":[[74,4]]},"711":{"position":[[773,6],[846,6],[1616,6],[1681,7]]},"784":{"position":[[1609,4]]},"1112":{"position":[[2118,7]]},"1390":{"position":[[2185,8]]},"1391":{"position":[[1907,8]]},"1405":{"position":[[4104,8]]},"1408":{"position":[[2969,8]]},"1410":{"position":[[5834,8],[6054,8]]},"1448":{"position":[[3027,8]]},"1449":{"position":[[2836,8]]},"1457":{"position":[[2039,8]]},"1471":{"position":[[5899,8]]},"1472":{"position":[[6711,8]]},"1473":{"position":[[6068,8]]}},"keywords":{}}],["join.d",{"_index":7430,"title":{},"content":{"1390":{"position":[[2230,9]]},"1391":{"position":[[1952,9]]}},"keywords":{}}],["join.go",{"_index":7741,"title":{},"content":{"1405":{"position":[[4150,10]]}},"keywords":{}}],["join.ml",{"_index":8135,"title":{},"content":{"1448":{"position":[[3076,10]]}},"keywords":{}}],["join.r",{"_index":8443,"title":{},"content":{"1471":{"position":[[5947,10]]},"1473":{"position":[[6116,10]]}},"keywords":{}}],["joined=tru",{"_index":1278,"title":{},"content":{"99":{"position":[[980,11]]},"231":{"position":[[980,11]]}},"keywords":{}}],["jq",{"_index":5818,"title":{},"content":{"1127":{"position":[[546,2],[606,2],[746,2]]}},"keywords":{}}],["js"",{"_index":7088,"title":{},"content":{"1374":{"position":[[2981,9],[3134,9]]}},"keywords":{}}],["js_bundl",{"_index":8003,"title":{"1431":{"position":[[0,10]]}},"content":{"1431":{"position":[[4,10]]},"1432":{"position":[[841,10]]}},"keywords":{}}],["js_bundle_genrul",{"_index":8011,"title":{"1432":{"position":[[0,18]]}},"content":{"1432":{"position":[[4,18]]}},"keywords":{}}],["js_librari",{"_index":8016,"title":{"1433":{"position":[[0,11]]}},"content":{"1433":{"position":[[4,11]]}},"keywords":{}}],["json",{"_index":1272,"title":{"650":{"position":[[0,5]]}},"content":{"99":{"position":[[640,4],[767,4],[1113,4],[1284,4],[1329,4]]},"126":{"position":[[18,5]]},"231":{"position":[[640,4],[767,4],[1113,4],[1284,4],[1329,4]]},"249":{"position":[[18,5]]},"347":{"position":[[135,5]]},"377":{"position":[[678,4],[699,4],[777,4],[1649,4]]},"402":{"position":[[596,4]]},"404":{"position":[[133,4]]},"650":{"position":[[0,5]]},"756":{"position":[[678,4],[699,4],[777,4],[1649,4]]},"781":{"position":[[596,4]]},"783":{"position":[[133,4]]},"865":{"position":[[202,5],[230,5]]},"915":{"position":[[173,5]]},"917":{"position":[[151,5]]},"1040":{"position":[[1740,5]]},"1050":{"position":[[1193,4],[1623,4],[1982,4],[2289,4],[3145,4]]},"1052":{"position":[[344,4],[365,4],[606,4],[644,4],[824,4]]},"1054":{"position":[[530,5]]},"1064":{"position":[[433,5]]},"1083":{"position":[[37,4],[82,4],[1224,4]]},"1127":{"position":[[457,4]]},"1131":{"position":[[516,4]]},"1136":{"position":[[1960,4],[1975,4],[2245,4],[2252,4],[2363,5],[5928,5]]},"1138":{"position":[[522,4],[590,4],[614,4],[662,4],[1442,4],[9590,5]]},"1140":{"position":[[797,6],[840,6],[8516,5]]},"1142":{"position":[[3960,5]]},"1146":{"position":[[3900,5]]},"1148":{"position":[[2316,4],[2331,4],[2601,4],[2608,4],[2719,5],[6940,5]]},"1155":{"position":[[600,5],[624,5],[3996,5]]},"1156":{"position":[[3574,5]]},"1163":{"position":[[534,5]]},"1165":{"position":[[363,5]]},"1167":{"position":[[9520,5]]},"1169":{"position":[[2628,5]]},"1171":{"position":[[302,4]]},"1172":{"position":[[1303,5],[2184,5]]},"1173":{"position":[[603,5]]},"1175":{"position":[[19,4]]},"1178":{"position":[[805,5]]},"1179":{"position":[[543,5]]},"1180":{"position":[[873,5]]},"1186":{"position":[[5164,5]]},"1187":{"position":[[5177,5]]},"1188":{"position":[[850,6],[893,6],[9903,5]]},"1191":{"position":[[242,4],[257,4],[3764,5]]},"1192":{"position":[[376,4],[391,4],[3939,5]]},"1193":{"position":[[474,5],[482,4],[3991,5]]},"1194":{"position":[[3631,5]]},"1195":{"position":[[242,4],[253,4],[3609,5]]},"1196":{"position":[[3419,5]]},"1197":{"position":[[4402,5]]},"1198":{"position":[[283,4],[308,4],[4412,5]]},"1199":{"position":[[4440,5]]},"1200":{"position":[[4307,5]]},"1201":{"position":[[3567,5]]},"1202":{"position":[[4709,5],[9106,5]]},"1203":{"position":[[3801,5]]},"1204":{"position":[[3645,5]]},"1205":{"position":[[466,4],[4974,5]]},"1206":{"position":[[3445,5],[3588,4]]},"1207":{"position":[[3602,5]]},"1209":{"position":[[1193,4],[1208,4],[1478,4],[1485,4],[1596,5],[4950,5]]},"1217":{"position":[[8261,5]]},"1219":{"position":[[858,4],[888,5],[898,4],[3516,5]]},"1222":{"position":[[3371,5]]},"1223":{"position":[[3381,5]]},"1224":{"position":[[2830,5]]},"1226":{"position":[[146,4],[168,4],[175,4],[203,4],[3701,4],[3769,4],[3793,4],[3841,4],[8729,5]]},"1228":{"position":[[10342,5]]},"1235":{"position":[[1004,4],[2453,4],[2468,4],[2738,4],[2745,4],[2856,5],[6210,5]]},"1237":{"position":[[316,4],[338,4],[345,4],[373,4],[3871,4],[3939,4],[3963,4],[4011,4],[8899,5]]},"1486":{"position":[[1004,4],[3790,4],[4970,4]]}},"keywords":{}}],["json.output",{"_index":1138,"title":{},"content":{"92":{"position":[[1314,12]]},"224":{"position":[[1314,12]]}},"keywords":{}}],["json_project",{"_index":2402,"title":{},"content":{"448":{"position":[[68,17]]},"827":{"position":[[68,17]]},"1083":{"position":[[970,19]]}},"keywords":{}}],["jsonl",{"_index":3998,"title":{},"content":{"865":{"position":[[397,5]]},"1127":{"position":[[96,5]]},"1140":{"position":[[666,6]]},"1171":{"position":[[774,5]]},"1182":{"position":[[76,5]]},"1188":{"position":[[719,6]]}},"keywords":{}}],["jsonutil",{"_index":7966,"title":{},"content":{"1427":{"position":[[7164,11]]},"1439":{"position":[[7994,11]]}},"keywords":{}}],["jsonutil.java",{"_index":7967,"title":{},"content":{"1427":{"position":[[7183,18]]}},"keywords":{}}],["jsonutil.kt",{"_index":8067,"title":{},"content":{"1439":{"position":[[8013,16]]}},"keywords":{}}],["julia_arg",{"_index":8022,"title":{},"content":{"1434":{"position":[[405,11]]},"1437":{"position":[[455,11]]}},"keywords":{}}],["julia_binari",{"_index":8020,"title":{"1434":{"position":[[0,13]]}},"content":{"1434":{"position":[[4,13]]}},"keywords":{}}],["julia_flag",{"_index":8023,"title":{},"content":{"1434":{"position":[[432,12]]},"1437":{"position":[[482,12]]}},"keywords":{}}],["julia_jll_librari",{"_index":8024,"title":{"1435":{"position":[[0,18]]}},"content":{"1435":{"position":[[4,18]]}},"keywords":{}}],["julia_librari",{"_index":8027,"title":{"1436":{"position":[[0,14]]}},"content":{"1436":{"position":[[4,14]]}},"keywords":{}}],["julia_test",{"_index":8029,"title":{"1437":{"position":[[0,11]]}},"content":{"1437":{"position":[[4,11]]}},"keywords":{}}],["junit",{"_index":3699,"title":{},"content":{"708":{"position":[[905,6],[933,8],[955,6]]},"1429":{"position":[[2583,6],[3743,5],[3792,5],[4187,5],[5206,5],[5277,5],[6117,7]]},"1440":{"position":[[2771,6],[3736,5],[3785,5],[4180,5],[5200,5],[5271,5],[6017,7]]},"1458":{"position":[[2502,8],[2524,6],[2556,6],[2725,9]]},"1470":{"position":[[3352,5]]}},"keywords":{}}],["junit.jar",{"_index":8231,"title":{},"content":{"1458":{"position":[[1134,10]]}},"keywords":{}}],["jvm",{"_index":8001,"title":{},"content":{"1429":{"position":[[6274,3]]},"1440":{"position":[[6073,3]]}},"keywords":{}}],["k",{"_index":5984,"title":{},"content":{"1167":{"position":[[1801,2]]},"1211":{"position":[[86,2]]}},"keywords":{}}],["k(provid",{"_index":5229,"title":{},"content":{"1047":{"position":[[284,13]]},"1048":{"position":[[943,13]]}},"keywords":{}}],["k2",{"_index":6553,"title":{},"content":{"1355":{"position":[[1274,3],[4817,3],[4840,2]]},"1439":{"position":[[1199,3],[4643,3],[4666,2]]},"1440":{"position":[[1398,3],[4592,3],[4615,2]]},"1470":{"position":[[1484,3],[4431,2]]}},"keywords":{}}],["kebab",{"_index":1663,"title":{},"content":{"300":{"position":[[228,5]]}},"keywords":{}}],["keep",{"_index":656,"title":{"907":{"position":[[0,4]]}},"content":{"22":{"position":[[842,4]]},"886":{"position":[[322,5],[525,4]]},"889":{"position":[[150,5]]},"919":{"position":[[501,4]]},"935":{"position":[[225,4]]},"937":{"position":[[1479,5],[2648,4]]},"955":{"position":[[342,4]]},"973":{"position":[[138,4]]},"995":{"position":[[579,4]]},"1004":{"position":[[1528,4]]},"1100":{"position":[[164,7]]},"1114":{"position":[[157,4],[194,4]]},"1138":{"position":[[4764,4],[4955,4]]},"1140":{"position":[[4253,4],[4444,4]]},"1167":{"position":[[1806,4],[1830,4],[5257,4],[5448,4]]},"1188":{"position":[[4306,4],[4497,4]]},"1217":{"position":[[3998,4],[4189,4]]},"1226":{"position":[[3855,4]]},"1228":{"position":[[6079,4],[6270,4]]},"1237":{"position":[[4025,4]]}},"keywords":{}}],["keep_go",{"_index":1721,"title":{},"content":{"309":{"position":[[329,11],[804,12],[877,11]]},"907":{"position":[[249,10],[349,10],[490,10]]}},"keywords":{}}],["keepend",{"_index":2998,"title":{},"content":{"617":{"position":[[319,9]]}},"keywords":{}}],["kept",{"_index":5546,"title":{},"content":{"1079":{"position":[[962,4]]},"1186":{"position":[[558,4]]},"1187":{"position":[[571,4]]},"1188":{"position":[[5297,4]]},"1355":{"position":[[6193,4]]},"1427":{"position":[[5366,4]]}},"keywords":{}}],["key",{"_index":838,"title":{"577":{"position":[[0,3]]},"578":{"position":[[32,3]]},"694":{"position":[[0,3]]}},"content":{"37":{"position":[[54,3]]},"94":{"position":[[3851,5]]},"132":{"position":[[16,4]]},"182":{"position":[[54,3]]},"226":{"position":[[3851,5]]},"255":{"position":[[16,4]]},"294":{"position":[[1258,5]]},"297":{"position":[[997,5]]},"298":{"position":[[2234,4]]},"301":{"position":[[1208,5]]},"304":{"position":[[167,4]]},"311":{"position":[[518,5]]},"345":{"position":[[558,3]]},"362":{"position":[[1463,3],[1532,3],[1603,3]]},"366":{"position":[[143,4]]},"367":{"position":[[173,4]]},"368":{"position":[[2499,4]]},"377":{"position":[[1437,3],[1627,4]]},"389":{"position":[[433,3]]},"400":{"position":[[384,4]]},"429":{"position":[[30,4]]},"433":{"position":[[36,4]]},"443":{"position":[[44,4],[392,4],[401,3]]},"446":{"position":[[332,3]]},"451":{"position":[[25,4],[199,4]]},"554":{"position":[[162,4],[298,3]]},"555":{"position":[[79,5]]},"556":{"position":[[67,4],[134,4]]},"557":{"position":[[167,4],[354,3]]},"559":{"position":[[217,4],[459,3]]},"560":{"position":[[632,3]]},"572":{"position":[[67,4]]},"573":{"position":[[127,3]]},"575":{"position":[[528,3]]},"576":{"position":[[61,3]]},"577":{"position":[[47,3],[103,3],[243,3],[416,3],[599,3]]},"578":{"position":[[18,4],[59,3],[109,3]]},"584":{"position":[[235,3]]},"654":{"position":[[15,3],[254,3]]},"655":{"position":[[15,3]]},"666":{"position":[[21,3],[363,3],[440,4]]},"710":{"position":[[62,5]]},"741":{"position":[[1463,3],[1532,3],[1603,3]]},"745":{"position":[[143,4]]},"746":{"position":[[173,4]]},"747":{"position":[[2499,4]]},"756":{"position":[[1437,3],[1627,4]]},"768":{"position":[[433,3]]},"779":{"position":[[384,4]]},"808":{"position":[[30,4]]},"812":{"position":[[36,4]]},"822":{"position":[[44,4],[392,4],[401,3]]},"825":{"position":[[332,3]]},"830":{"position":[[25,4],[199,4]]},"851":{"position":[[1436,4],[1557,4]]},"856":{"position":[[309,3]]},"864":{"position":[[270,4]]},"900":{"position":[[846,4]]},"915":{"position":[[72,3]]},"938":{"position":[[239,5]]},"943":{"position":[[2250,4]]},"944":{"position":[[150,4],[454,4],[1887,4],[1930,3]]},"951":{"position":[[266,3]]},"964":{"position":[[746,3]]},"972":{"position":[[158,6]]},"977":{"position":[[523,5],[582,5]]},"1001":{"position":[[1078,6]]},"1006":{"position":[[790,3]]},"1050":{"position":[[2365,3]]},"1052":{"position":[[454,3],[598,4],[829,5],[1452,3]]},"1053":{"position":[[562,3],[613,4]]},"1064":{"position":[[1193,4]]},"1069":{"position":[[127,3],[215,3],[499,3],[630,3]]},"1082":{"position":[[1115,3]]},"1083":{"position":[[949,3]]},"1112":{"position":[[555,4],[2096,4],[2731,3],[3154,3],[3158,4]]},"1120":{"position":[[558,3]]},"1136":{"position":[[6587,3],[6690,5]]},"1138":{"position":[[10249,3],[10352,5]]},"1140":{"position":[[9175,3],[9278,5]]},"1142":{"position":[[4619,3],[4722,5]]},"1144":{"position":[[947,3],[1050,5]]},"1146":{"position":[[4559,3],[4662,5]]},"1148":{"position":[[8150,3],[8253,5]]},"1150":{"position":[[1182,3],[1285,5]]},"1152":{"position":[[880,3],[983,5]]},"1154":{"position":[[1035,3],[1138,5]]},"1155":{"position":[[4655,3],[4758,5]]},"1156":{"position":[[4233,3],[4336,5]]},"1157":{"position":[[818,3],[921,5]]},"1158":{"position":[[812,3],[915,5]]},"1159":{"position":[[812,3],[915,5]]},"1161":{"position":[[1807,3],[1910,5]]},"1163":{"position":[[1193,3],[1296,5]]},"1165":{"position":[[1022,3],[1125,5]]},"1167":{"position":[[10179,3],[10282,5]]},"1169":{"position":[[3287,3],[3390,5]]},"1171":{"position":[[1528,3],[1631,5]]},"1172":{"position":[[2913,3],[3016,5]]},"1173":{"position":[[1600,3],[1703,5]]},"1174":{"position":[[1028,3],[1131,5]]},"1175":{"position":[[1024,3],[1127,5]]},"1176":{"position":[[1193,3],[1296,5]]},"1177":{"position":[[1114,3],[1217,5]]},"1178":{"position":[[1431,3],[1534,5]]},"1179":{"position":[[1228,3],[1331,5]]},"1180":{"position":[[1499,3],[1602,5]]},"1181":{"position":[[2019,3],[2122,5]]},"1182":{"position":[[1062,3],[1165,5]]},"1183":{"position":[[1017,3],[1120,5]]},"1185":{"position":[[862,3],[965,5]]},"1186":{"position":[[5823,3],[5926,5]]},"1187":{"position":[[5836,3],[5939,5]]},"1188":{"position":[[10562,3],[10665,5]]},"1190":{"position":[[2193,3],[2296,5]]},"1191":{"position":[[4423,3],[4526,5]]},"1192":{"position":[[4598,3],[4701,5]]},"1193":{"position":[[289,3],[4650,3],[4753,5]]},"1194":{"position":[[4290,3],[4393,5]]},"1195":{"position":[[4268,3],[4371,5]]},"1196":{"position":[[4078,3],[4181,5]]},"1197":{"position":[[5061,3],[5164,5]]},"1198":{"position":[[5071,3],[5174,5]]},"1199":{"position":[[5099,3],[5202,5]]},"1200":{"position":[[4966,3],[5069,5]]},"1201":{"position":[[4226,3],[4329,5]]},"1202":{"position":[[970,3],[1073,5],[5368,3],[5471,5],[9765,3],[9868,5]]},"1203":{"position":[[4460,3],[4563,5]]},"1204":{"position":[[4304,3],[4407,5],[5206,3],[5309,5],[6136,3],[6239,5],[7038,3],[7141,5],[8024,3],[8127,5],[8978,3],[9081,5],[9925,3],[10028,5],[10855,3],[10958,5]]},"1205":{"position":[[5633,3],[5736,5]]},"1206":{"position":[[4332,3],[4435,5]]},"1207":{"position":[[4261,3],[4364,5]]},"1209":{"position":[[5609,3],[5712,5]]},"1211":{"position":[[933,3],[1036,5]]},"1213":{"position":[[704,3],[807,5]]},"1215":{"position":[[788,3],[891,5]]},"1217":{"position":[[8920,3],[9023,5]]},"1219":{"position":[[4175,3],[4278,5]]},"1221":{"position":[[907,3],[1010,5]]},"1222":{"position":[[4046,3],[4149,5]]},"1223":{"position":[[4056,3],[4159,5]]},"1224":{"position":[[3489,3],[3592,5]]},"1226":{"position":[[9388,3],[9491,5]]},"1228":{"position":[[11001,3],[11104,5]]},"1235":{"position":[[6869,3],[6972,5]]},"1237":{"position":[[9558,3],[9661,5]]},"1254":{"position":[[720,5]]},"1262":{"position":[[621,4]]},"1293":{"position":[[621,4]]},"1321":{"position":[[621,4]]},"1345":{"position":[[87,4],[655,4]]},"1348":{"position":[[3434,3]]},"1349":{"position":[[1579,3]]},"1350":{"position":[[4550,3]]},"1351":{"position":[[1776,3]]},"1352":{"position":[[4549,3]]},"1353":{"position":[[2153,3]]},"1354":{"position":[[1991,3]]},"1355":{"position":[[3136,3]]},"1356":{"position":[[1497,3]]},"1357":{"position":[[1170,3]]},"1358":{"position":[[1891,3]]},"1359":{"position":[[1728,3]]},"1360":{"position":[[2365,3],[5574,4]]},"1361":{"position":[[1718,3]]},"1362":{"position":[[6088,3],[7508,3],[9524,3]]},"1363":{"position":[[3834,3]]},"1364":{"position":[[6117,3],[7747,3],[10638,3]]},"1365":{"position":[[1652,3]]},"1366":{"position":[[1864,3],[2419,3],[2440,4]]},"1367":{"position":[[7515,3],[9612,3]]},"1368":{"position":[[2208,3]]},"1369":{"position":[[1260,3]]},"1370":{"position":[[1513,3]]},"1371":{"position":[[1136,3]]},"1372":{"position":[[2774,3]]},"1373":{"position":[[3646,3]]},"1374":{"position":[[1548,3]]},"1375":{"position":[[1172,3]]},"1376":{"position":[[1128,3]]},"1377":{"position":[[1367,3]]},"1378":{"position":[[1114,3]]},"1379":{"position":[[1137,3]]},"1380":{"position":[[1608,3]]},"1381":{"position":[[1514,3],[2302,4],[2386,4]]},"1382":{"position":[[4000,3]]},"1383":{"position":[[2238,3],[7577,4]]},"1384":{"position":[[5162,3],[11630,4],[12607,4]]},"1385":{"position":[[2833,3]]},"1386":{"position":[[1471,3]]},"1387":{"position":[[5102,3]]},"1388":{"position":[[4300,3]]},"1389":{"position":[[5155,3]]},"1390":{"position":[[1407,3]]},"1391":{"position":[[1360,3]]},"1392":{"position":[[1510,3]]},"1393":{"position":[[2088,3],[4099,3],[5715,3],[5782,3]]},"1394":{"position":[[1530,3]]},"1395":{"position":[[1545,3]]},"1396":{"position":[[1336,3]]},"1397":{"position":[[1517,3]]},"1398":{"position":[[2195,3]]},"1399":{"position":[[1372,3]]},"1400":{"position":[[1241,3]]},"1401":{"position":[[1316,3]]},"1402":{"position":[[1472,3]]},"1403":{"position":[[2068,3],[6677,4]]},"1404":{"position":[[1305,3]]},"1405":{"position":[[1996,3]]},"1406":{"position":[[1212,3]]},"1407":{"position":[[2037,3]]},"1408":{"position":[[1733,3]]},"1409":{"position":[[1267,3]]},"1410":{"position":[[2435,3]]},"1411":{"position":[[1250,3]]},"1412":{"position":[[2456,3]]},"1413":{"position":[[2634,3]]},"1414":{"position":[[1501,3]]},"1415":{"position":[[3483,3]]},"1416":{"position":[[2135,3]]},"1417":{"position":[[1724,3]]},"1418":{"position":[[1425,3]]},"1419":{"position":[[1553,3]]},"1420":{"position":[[1817,3]]},"1421":{"position":[[1792,3]]},"1422":{"position":[[1701,3]]},"1423":{"position":[[1684,3]]},"1424":{"position":[[1809,3]]},"1425":{"position":[[1425,3]]},"1426":{"position":[[1774,3]]},"1427":{"position":[[2671,3]]},"1428":{"position":[[1407,3]]},"1429":{"position":[[3335,3]]},"1430":{"position":[[2183,3]]},"1431":{"position":[[1527,3]]},"1432":{"position":[[2048,3]]},"1433":{"position":[[1569,3]]},"1434":{"position":[[1243,3]]},"1435":{"position":[[1207,3]]},"1436":{"position":[[1223,3]]},"1437":{"position":[[1293,3]]},"1438":{"position":[[565,3],[1433,3],[1913,3],[2041,4]]},"1439":{"position":[[2957,3],[4846,3],[4909,3]]},"1440":{"position":[[3523,3]]},"1441":{"position":[[1249,3]]},"1442":{"position":[[1328,3]]},"1443":{"position":[[1544,3]]},"1444":{"position":[[1460,3]]},"1445":{"position":[[1149,3]]},"1446":{"position":[[1483,3]]},"1447":{"position":[[1365,3]]},"1448":{"position":[[1800,3]]},"1449":{"position":[[1734,3]]},"1450":{"position":[[1613,3]]},"1451":{"position":[[1613,3]]},"1452":{"position":[[1159,3]]},"1453":{"position":[[1745,3]]},"1454":{"position":[[4111,3]]},"1455":{"position":[[1998,3]]},"1456":{"position":[[1343,3]]},"1457":{"position":[[1402,3]]},"1458":{"position":[[1937,3]]},"1459":{"position":[[1416,3]]},"1460":{"position":[[1528,3]]},"1461":{"position":[[1749,3]]},"1462":{"position":[[5124,3],[7924,4],[8074,5]]},"1463":{"position":[[1250,3]]},"1464":{"position":[[1158,3]]},"1465":{"position":[[2256,3]]},"1466":{"position":[[1494,3]]},"1467":{"position":[[5819,3],[8984,4],[9134,5]]},"1468":{"position":[[1258,3]]},"1469":{"position":[[1637,3]]},"1470":{"position":[[4160,3]]},"1471":{"position":[[2500,3]]},"1472":{"position":[[2459,3]]},"1473":{"position":[[2774,3]]},"1474":{"position":[[2159,3]]},"1475":{"position":[[2630,3]]},"1476":{"position":[[1235,3]]},"1477":{"position":[[1393,3]]},"1478":{"position":[[1884,3],[2317,3]]},"1479":{"position":[[1327,3]]},"1480":{"position":[[1740,3]]},"1481":{"position":[[2273,3]]},"1482":{"position":[[1347,3]]},"1483":{"position":[[1181,3]]},"1484":{"position":[[1253,3]]},"1485":{"position":[[1513,3]]},"1486":{"position":[[1757,3]]},"1487":{"position":[[1458,3]]}},"keywords":{}}],["key.alias.password=alias_password",{"_index":8037,"title":{},"content":{"1438":{"position":[[1961,33]]}},"keywords":{}}],["key.alias=my_alia",{"_index":8031,"title":{},"content":{"1438":{"position":[[1703,18]]}},"keywords":{}}],["key.store.password=store_password",{"_index":8034,"title":{},"content":{"1438":{"position":[[1817,33]]}},"keywords":{}}],["key/valu",{"_index":2512,"title":{},"content":{"555":{"position":[[131,9]]},"558":{"position":[[95,9],[157,9]]},"559":{"position":[[398,9]]},"560":{"position":[[156,9],[347,9],[506,9]]},"636":{"position":[[299,9],[420,9]]}},"keywords":{}}],["key=len",{"_index":3256,"title":{},"content":{"654":{"position":[[527,8]]},"655":{"position":[[417,8]]},"666":{"position":[[667,8],[819,8]]}},"keywords":{}}],["key=valu",{"_index":5917,"title":{},"content":{"1136":{"position":[[6671,12]]},"1138":{"position":[[10333,12]]},"1140":{"position":[[9259,12]]},"1142":{"position":[[4703,12]]},"1144":{"position":[[1031,12]]},"1146":{"position":[[4643,12]]},"1148":{"position":[[8234,12]]},"1150":{"position":[[1266,12]]},"1152":{"position":[[964,12]]},"1154":{"position":[[1119,12]]},"1155":{"position":[[4739,12]]},"1156":{"position":[[4317,12]]},"1157":{"position":[[902,12]]},"1158":{"position":[[896,12]]},"1159":{"position":[[896,12]]},"1161":{"position":[[1891,12]]},"1163":{"position":[[1277,12]]},"1165":{"position":[[1106,12]]},"1167":{"position":[[10263,12]]},"1169":{"position":[[3371,12]]},"1171":{"position":[[1612,12]]},"1172":{"position":[[2997,12]]},"1173":{"position":[[1684,12]]},"1174":{"position":[[1112,12]]},"1175":{"position":[[1108,12]]},"1176":{"position":[[1277,12]]},"1177":{"position":[[1198,12]]},"1178":{"position":[[1515,12]]},"1179":{"position":[[1312,12]]},"1180":{"position":[[1583,12]]},"1181":{"position":[[2103,12]]},"1182":{"position":[[1146,12]]},"1183":{"position":[[1101,12]]},"1185":{"position":[[946,12]]},"1186":{"position":[[5907,12]]},"1187":{"position":[[5920,12]]},"1188":{"position":[[10646,12]]},"1190":{"position":[[2277,12]]},"1191":{"position":[[4507,12]]},"1192":{"position":[[4682,12]]},"1193":{"position":[[4734,12]]},"1194":{"position":[[4374,12]]},"1195":{"position":[[4352,12]]},"1196":{"position":[[4162,12]]},"1197":{"position":[[5145,12]]},"1198":{"position":[[5155,12]]},"1199":{"position":[[5183,12]]},"1200":{"position":[[5050,12]]},"1201":{"position":[[4310,12]]},"1202":{"position":[[1054,12],[5452,12],[9849,12]]},"1203":{"position":[[4544,12]]},"1204":{"position":[[4388,12],[5290,12],[6220,12],[7122,12],[8108,12],[9062,12],[10009,12],[10939,12]]},"1205":{"position":[[5717,12]]},"1206":{"position":[[4416,12]]},"1207":{"position":[[4345,12]]},"1209":{"position":[[5693,12]]},"1211":{"position":[[1017,12]]},"1213":{"position":[[788,12]]},"1215":{"position":[[872,12]]},"1217":{"position":[[9004,12]]},"1219":{"position":[[4259,12]]},"1221":{"position":[[991,12]]},"1222":{"position":[[4130,12]]},"1223":{"position":[[4140,12]]},"1224":{"position":[[3573,12]]},"1226":{"position":[[9472,12]]},"1228":{"position":[[11085,12]]},"1235":{"position":[[6953,12]]},"1237":{"position":[[9642,12]]}},"keywords":{}}],["keyed_vari",{"_index":2058,"title":{},"content":{"389":{"position":[[53,15],[823,15],[1737,16]]},"768":{"position":[[53,15],[823,15],[1737,16]]}},"keywords":{}}],["keystor",{"_index":6440,"title":{"1438":{"position":[[0,9]]}},"content":{"1350":{"position":[[1997,9]]},"1351":{"position":[[4365,8],[5620,8]]},"1352":{"position":[[1996,9]]},"1353":{"position":[[3127,8]]},"1354":{"position":[[3266,8]]},"1360":{"position":[[874,9],[6043,8]]},"1438":{"position":[[4,9],[530,10],[1784,8],[2087,8]]}},"keywords":{}}],["keystores:debug",{"_index":6489,"title":{},"content":{"1351":{"position":[[4376,20]]}},"keywords":{}}],["keystores:prod",{"_index":6513,"title":{},"content":{"1353":{"position":[[3138,19]]},"1354":{"position":[[3277,19]]},"1360":{"position":[[6054,19]]}},"keywords":{}}],["keystores:releas",{"_index":6499,"title":{},"content":{"1351":{"position":[[5631,22]]}},"keywords":{}}],["keytool",{"_index":8030,"title":{},"content":{"1438":{"position":[[589,7],[1694,8],[2118,8]]}},"keywords":{}}],["keyvalu",{"_index":2615,"title":{},"content":{"573":{"position":[[141,10]]}},"keywords":{}}],["keyword",{"_index":1861,"title":{},"content":{"347":{"position":[[189,7]]},"595":{"position":[[737,8],[811,7],[844,7]]},"636":{"position":[[375,7],[469,7]]}},"keywords":{}}],["kill",{"_index":519,"title":{"692":{"position":[[0,7]]},"1162":{"position":[[0,4]]},"1163":{"position":[[5,5]]}},"content":{"17":{"position":[[1092,4]]},"692":{"position":[[27,6],[58,4],[102,4]]},"937":{"position":[[4520,4]]},"945":{"position":[[143,6]]},"1075":{"position":[[450,4]]},"1142":{"position":[[52,5],[317,7]]},"1163":{"position":[[0,4],[91,5],[151,5],[235,4]]},"1165":{"position":[[0,4]]},"1172":{"position":[[1832,7]]}},"keywords":{}}],["kill.cpp",{"_index":4325,"title":{},"content":{"896":{"position":[[937,8]]}},"keywords":{}}],["killal",{"_index":5969,"title":{"1164":{"position":[[0,7]]},"1165":{"position":[[5,8]]}},"content":{"1163":{"position":[[47,8],[82,8]]},"1165":{"position":[[61,7]]}},"keywords":{}}],["kind",{"_index":856,"title":{"971":{"position":[[7,5]]}},"content":{"41":{"position":[[452,4]]},"74":{"position":[[84,4],[140,5]]},"121":{"position":[[180,5]]},"123":{"position":[[57,5]]},"141":{"position":[[25,5]]},"174":{"position":[[452,4]]},"207":{"position":[[45,4],[98,5]]},"264":{"position":[[25,5]]},"276":{"position":[[413,4]]},"277":{"position":[[361,4]]},"281":{"position":[[493,4]]},"282":{"position":[[443,4]]},"283":{"position":[[80,4]]},"332":{"position":[[309,4],[391,4]]},"462":{"position":[[82,4]]},"473":{"position":[[190,4],[272,4]]},"497":{"position":[[84,4],[140,5]]},"530":{"position":[[180,5]]},"532":{"position":[[57,5]]},"711":{"position":[[635,4]]},"867":{"position":[[776,4],[2160,4]]},"895":{"position":[[511,4]]},"987":{"position":[[58,4]]},"988":{"position":[[287,5],[519,5]]},"989":{"position":[[152,4]]},"1112":{"position":[[4345,4]]},"1172":{"position":[[742,4]]},"1180":{"position":[[137,4]]},"1211":{"position":[[91,4]]},"1403":{"position":[[7574,5]]}},"keywords":{}}],["kind(regex",{"_index":6248,"title":{"1271":{"position":[[0,11]]},"1302":{"position":[[0,11]]},"1330":{"position":[[0,11]]}},"content":{"1259":{"position":[[908,11],[961,11]]},"1271":{"position":[[4,11]]},"1290":{"position":[[908,11],[961,11]]},"1302":{"position":[[4,11]]},"1318":{"position":[[908,11],[961,11]]},"1330":{"position":[[4,11]]}},"keywords":{}}],["kind(run",{"_index":5860,"title":{},"content":{"1136":{"position":[[523,10]]}},"keywords":{}}],["kindslabel",{"_index":4130,"title":{},"content":{"881":{"position":[[53,11]]}},"keywords":{}}],["klabnik",{"_index":89,"title":{},"content":{"5":{"position":[[225,8]]}},"keywords":{}}],["know",{"_index":741,"title":{"834":{"position":[[18,4]]}},"content":{"23":{"position":[[2076,7]]},"695":{"position":[[549,5]]},"717":{"position":[[516,4]]},"848":{"position":[[815,4]]},"861":{"position":[[766,4]]},"904":{"position":[[1492,4]]},"919":{"position":[[2494,4]]},"935":{"position":[[140,4]]},"938":{"position":[[976,4]]},"975":{"position":[[357,7]]},"1071":{"position":[[221,5]]},"1100":{"position":[[94,5]]},"1193":{"position":[[398,5]]},"1251":{"position":[[252,4]]},"1403":{"position":[[7543,5]]}},"keywords":{}}],["known",{"_index":642,"title":{},"content":{"22":{"position":[[565,5]]},"622":{"position":[[1052,5]]},"693":{"position":[[6201,5]]},"704":{"position":[[1448,5]]},"717":{"position":[[614,5]]},"720":{"position":[[238,5]]},"722":{"position":[[1190,5]]},"724":{"position":[[760,5],[1440,5],[1554,5]]},"890":{"position":[[2280,5]]},"892":{"position":[[337,5]]},"898":{"position":[[1658,6]]},"938":{"position":[[929,6]]},"943":{"position":[[1961,5]]},"944":{"position":[[429,5]]},"1026":{"position":[[641,6]]},"1035":{"position":[[63,5]]},"1140":{"position":[[692,5]]},"1188":{"position":[[745,5]]},"1194":{"position":[[275,5]]},"1254":{"position":[[113,5]]},"1355":{"position":[[5076,5]]},"1360":{"position":[[1451,5]]},"1427":{"position":[[4390,5]]},"1439":{"position":[[6889,5]]}},"keywords":{}}],["kotlin",{"_index":630,"title":{},"content":{"22":{"position":[[115,7]]},"1355":{"position":[[3451,6],[3560,6],[4747,6],[4785,6],[4833,6]]},"1439":{"position":[[1995,6],[3272,6],[3381,6],[4430,6],[4499,6],[4611,6],[4659,6],[4724,6]]},"1440":{"position":[[4560,6],[4608,6]]},"1470":{"position":[[4340,6],[4377,6],[4424,6]]}},"keywords":{}}],["kotlin_compiler_plugin",{"_index":6352,"title":{},"content":{"1348":{"position":[[1287,24]]},"1355":{"position":[[1288,24]]},"1439":{"position":[[1213,24],[4679,24],[5138,23],[5703,23],[5953,23]]},"1440":{"position":[[1412,24]]},"1470":{"position":[[1498,24]]}},"keywords":{}}],["kotlin_hom",{"_index":8055,"title":{},"content":{"1439":{"position":[[6007,12]]}},"keywords":{}}],["kotlin_librari",{"_index":8038,"title":{"1439":{"position":[[0,15]]}},"content":{"1439":{"position":[[4,15],[1946,16],[2060,16],[3479,14],[3566,15],[5617,17],[5820,15],[7971,15],[8332,15],[8504,15],[8797,15]]},"1440":{"position":[[3648,17],[4949,17],[4978,17]]}},"keywords":{}}],["kotlin_test",{"_index":8072,"title":{"1440":{"position":[[0,12]]}},"content":{"1440":{"position":[[4,12],[2685,13]]}},"keywords":{}}],["kotlinx",{"_index":8049,"title":{},"content":{"1439":{"position":[[5655,7],[5731,7]]}},"keywords":{}}],["kotlinx.serializationwith",{"_index":8048,"title":{},"content":{"1439":{"position":[[5591,25]]}},"keywords":{}}],["kt",{"_index":8066,"title":{},"content":{"1439":{"position":[[7698,4],[7712,4],[7853,3],[7961,3],[8140,3]]},"1440":{"position":[[2731,3],[5007,3]]}},"keywords":{}}],["kwarg",{"_index":2542,"title":{},"content":{"560":{"position":[[30,9]]},"595":{"position":[[25,9],[94,9],[219,7]]},"636":{"position":[[16,9]]},"657":{"position":[[29,8]]},"669":{"position":[[18,9]]}},"keywords":{}}],["l",{"_index":2563,"title":{},"content":{"563":{"position":[[111,2]]},"564":{"position":[[101,1]]},"565":{"position":[[190,2],[261,1]]},"566":{"position":[[193,1],[285,1],[574,2]]},"567":{"position":[[136,1]]},"568":{"position":[[155,2]]},"569":{"position":[[149,2]]},"991":{"position":[[2185,2],[2461,3],[2527,1]]},"1197":{"position":[[196,2]]}},"keywords":{}}],["l'",{"_index":4944,"title":{},"content":{"991":{"position":[[2683,6]]}},"keywords":{}}],["l.append(x",{"_index":2562,"title":{},"content":{"563":{"position":[[77,11]]}},"keywords":{}}],["l.clear",{"_index":2568,"title":{},"content":{"564":{"position":[[54,9]]}},"keywords":{}}],["l.extend(x",{"_index":2572,"title":{},"content":{"565":{"position":[[115,11]]}},"keywords":{}}],["l.index(x",{"_index":2577,"title":{},"content":{"566":{"position":[[142,11]]}},"keywords":{}}],["l.insert(i",{"_index":2590,"title":{},"content":{"567":{"position":[[89,11]]}},"keywords":{}}],["l.pop([index",{"_index":2598,"title":{},"content":{"568":{"position":[[91,14]]}},"keywords":{}}],["l.remove(x",{"_index":2602,"title":{},"content":{"569":{"position":[[79,11]]}},"keywords":{}}],["l[dir",{"_index":8206,"title":{},"content":{"1455":{"position":[[3614,6]]}},"keywords":{}}],["l[name",{"_index":8207,"title":{},"content":{"1455":{"position":[[3622,7]]}},"keywords":{}}],["label",{"_index":889,"title":{"105":{"position":[[0,5]]},"376":{"position":[[0,6]]},"517":{"position":[[0,5]]},"755":{"position":[[0,6]]},"913":{"position":[[5,6]]},"914":{"position":[[9,7]]}},"content":{"49":{"position":[[23,5],[34,5]]},"62":{"position":[[104,6]]},"63":{"position":[[89,5],[152,5]]},"73":{"position":[[22,5],[39,5]]},"77":{"position":[[18,5]]},"94":{"position":[[62,5],[369,5]]},"98":{"position":[[104,5]]},"99":{"position":[[136,5]]},"106":{"position":[[25,5]]},"108":{"position":[[102,6]]},"109":{"position":[[25,5]]},"110":{"position":[[28,5]]},"111":{"position":[[41,5]]},"113":{"position":[[51,5],[191,5]]},"136":{"position":[[116,5]]},"158":{"position":[[96,6]]},"168":{"position":[[84,5]]},"196":{"position":[[23,5],[34,5]]},"226":{"position":[[62,5],[369,5]]},"230":{"position":[[104,5]]},"231":{"position":[[136,5]]},"236":{"position":[[126,5],[334,5]]},"237":{"position":[[126,5],[334,5]]},"238":{"position":[[148,5],[356,5]]},"239":{"position":[[120,5],[328,5]]},"240":{"position":[[230,6]]},"259":{"position":[[116,5]]},"280":{"position":[[84,5],[153,5],[268,6],[305,6]]},"294":{"position":[[26,7],[116,5],[276,5],[501,7],[864,6],[883,6],[900,6],[1023,6],[1079,6],[1207,6],[1278,6],[1310,6]]},"295":{"position":[[341,6],[377,6]]},"297":{"position":[[23,7],[113,5],[273,5],[479,7],[730,6],[853,6],[907,6],[1017,6],[1065,6]]},"298":{"position":[[2163,6],[2298,6],[2353,7],[2457,6]]},"301":{"position":[[36,7],[415,7],[639,6],[658,6],[675,6],[794,6],[904,5],[942,7],[968,5],[1035,5],[1224,6],[1259,6]]},"302":{"position":[[341,6],[377,6]]},"308":{"position":[[73,5],[94,5]]},"309":{"position":[[33,7],[476,6],[596,6],[651,6],[929,6]]},"310":{"position":[[42,7],[304,6],[321,6],[444,6],[499,6],[627,6],[750,6]]},"311":{"position":[[38,7],[255,6],[272,6],[375,5],[534,6],[578,6]]},"320":{"position":[[314,5]]},"329":{"position":[[290,6]]},"340":{"position":[[337,7]]},"345":{"position":[[139,5]]},"366":{"position":[[29,6],[336,6]]},"367":{"position":[[60,6],[401,6]]},"368":{"position":[[158,5],[3122,5]]},"372":{"position":[[30,6],[277,6],[299,5]]},"374":{"position":[[62,6],[928,7],[982,6],[1665,6]]},"375":{"position":[[27,6],[226,5]]},"376":{"position":[[0,6]]},"377":{"position":[[67,5]]},"379":{"position":[[21,6],[282,6]]},"386":{"position":[[53,5]]},"405":{"position":[[55,5],[303,5]]},"417":{"position":[[83,5]]},"461":{"position":[[57,5]]},"470":{"position":[[230,6]]},"491":{"position":[[104,6]]},"492":{"position":[[89,5],[152,5]]},"496":{"position":[[22,5],[39,5]]},"506":{"position":[[18,5]]},"518":{"position":[[25,5]]},"520":{"position":[[102,6]]},"521":{"position":[[25,5]]},"522":{"position":[[28,5]]},"523":{"position":[[41,5]]},"525":{"position":[[51,5],[191,5]]},"542":{"position":[[96,6]]},"693":{"position":[[8612,6]]},"715":{"position":[[342,6]]},"717":{"position":[[627,6]]},"745":{"position":[[29,6],[336,6]]},"746":{"position":[[60,6],[401,6]]},"747":{"position":[[158,5],[3122,5]]},"751":{"position":[[30,6],[277,6],[299,5]]},"753":{"position":[[62,6],[928,7],[982,6],[1665,6]]},"754":{"position":[[27,6],[226,5]]},"755":{"position":[[0,6]]},"756":{"position":[[67,5]]},"758":{"position":[[21,6],[282,6]]},"765":{"position":[[53,5]]},"784":{"position":[[55,5],[303,5]]},"796":{"position":[[83,5]]},"851":{"position":[[685,7],[700,7],[841,7],[856,7],[1202,7],[1472,7],[1621,6],[1682,7],[1786,6]]},"854":{"position":[[127,6]]},"867":{"position":[[1540,6],[1559,6],[1570,6]]},"905":{"position":[[525,6]]},"914":{"position":[[17,6],[93,6]]},"923":{"position":[[120,6]]},"924":{"position":[[363,5],[789,7],[1244,5],[2530,5]]},"935":{"position":[[51,5],[84,5]]},"951":{"position":[[602,6],[1061,6]]},"980":{"position":[[412,5]]},"990":{"position":[[215,5],[376,5],[556,6]]},"993":{"position":[[90,5]]},"994":{"position":[[100,5],[204,7],[484,6]]},"995":{"position":[[101,5],[161,5]]},"1004":{"position":[[1750,6],[1757,5]]},"1011":{"position":[[523,5]]},"1014":{"position":[[242,7]]},"1024":{"position":[[281,6]]},"1053":{"position":[[709,6],[1184,5]]},"1069":{"position":[[380,6]]},"1140":{"position":[[175,5]]},"1148":{"position":[[2834,6]]},"1188":{"position":[[228,5]]},"1190":{"position":[[1341,5]]},"1205":{"position":[[228,5]]},"1228":{"position":[[437,6],[506,6],[849,5],[973,7]]},"1348":{"position":[[1343,7]]},"1349":{"position":[[688,7]]},"1350":{"position":[[2012,7]]},"1351":{"position":[[558,7]]},"1352":{"position":[[2011,7]]},"1353":{"position":[[846,7]]},"1354":{"position":[[887,7],[2518,6],[2561,6],[2717,5]]},"1355":{"position":[[1344,7]]},"1356":{"position":[[475,7]]},"1358":{"position":[[722,7]]},"1359":{"position":[[629,7]]},"1360":{"position":[[900,7]]},"1361":{"position":[[475,7]]},"1362":{"position":[[2404,7],[10547,5]]},"1363":{"position":[[2076,7]]},"1364":{"position":[[2415,7]]},"1365":{"position":[[554,7]]},"1366":{"position":[[638,7]]},"1367":{"position":[[3704,7],[10315,7],[10333,6],[10376,6],[10532,5]]},"1368":{"position":[[881,7]]},"1369":{"position":[[461,7]]},"1370":{"position":[[505,7]]},"1373":{"position":[[1326,7]]},"1374":{"position":[[539,7]]},"1377":{"position":[[513,7]]},"1380":{"position":[[424,7]]},"1381":{"position":[[542,7]]},"1382":{"position":[[1365,7],[7416,5]]},"1383":{"position":[[778,7]]},"1384":{"position":[[2121,7]]},"1385":{"position":[[821,7]]},"1386":{"position":[[452,7]]},"1387":{"position":[[2171,7]]},"1388":{"position":[[1550,7],[8285,5]]},"1389":{"position":[[2555,7]]},"1390":{"position":[[438,7]]},"1391":{"position":[[439,7]]},"1392":{"position":[[436,7],[1788,6],[1831,6],[1987,5]]},"1393":{"position":[[722,7]]},"1394":{"position":[[458,7]]},"1395":{"position":[[514,7]]},"1396":{"position":[[424,7]]},"1397":{"position":[[467,7]]},"1398":{"position":[[785,7]]},"1399":{"position":[[420,7]]},"1400":{"position":[[442,7]]},"1401":{"position":[[434,7]]},"1402":{"position":[[605,7]]},"1403":{"position":[[803,7],[4384,6]]},"1404":{"position":[[444,7]]},"1405":{"position":[[737,7]]},"1407":{"position":[[764,7]]},"1408":{"position":[[750,7]]},"1410":{"position":[[916,7],[3254,7],[3272,6],[3315,6],[3471,5]]},"1411":{"position":[[423,7]]},"1412":{"position":[[816,7]]},"1413":{"position":[[962,7]]},"1414":{"position":[[549,7]]},"1415":{"position":[[1042,7]]},"1416":{"position":[[703,7],[2713,5]]},"1417":{"position":[[679,7]]},"1418":{"position":[[557,7]]},"1419":{"position":[[601,7]]},"1420":{"position":[[678,7]]},"1421":{"position":[[685,7]]},"1422":{"position":[[466,7]]},"1423":{"position":[[447,7]]},"1424":{"position":[[719,7]]},"1425":{"position":[[553,7]]},"1426":{"position":[[731,7]]},"1427":{"position":[[1033,7]]},"1428":{"position":[[539,7]]},"1429":{"position":[[1267,7],[4546,7],[4564,6],[4607,6],[4763,5]]},"1430":{"position":[[815,7]]},"1431":{"position":[[715,7]]},"1432":{"position":[[857,7]]},"1433":{"position":[[723,7]]},"1438":{"position":[[438,7]]},"1439":{"position":[[1269,7],[6675,7]]},"1440":{"position":[[1468,7],[4628,7],[4646,6],[4689,6],[4845,5]]},"1441":{"position":[[425,7]]},"1443":{"position":[[440,7]]},"1444":{"position":[[470,7]]},"1446":{"position":[[483,7]]},"1447":{"position":[[471,7]]},"1448":{"position":[[557,7]]},"1449":{"position":[[551,7]]},"1450":{"position":[[557,7]]},"1451":{"position":[[557,7]]},"1453":{"position":[[685,7]]},"1454":{"position":[[1500,7]]},"1455":{"position":[[716,7]]},"1456":{"position":[[447,7]]},"1457":{"position":[[479,7]]},"1458":{"position":[[697,7]]},"1459":{"position":[[500,7]]},"1460":{"position":[[591,7]]},"1461":{"position":[[768,7],[2490,7]]},"1462":{"position":[[1821,7],[6333,5]]},"1465":{"position":[[716,7]]},"1466":{"position":[[492,7]]},"1467":{"position":[[1996,7],[7089,7],[7447,5]]},"1468":{"position":[[427,7]]},"1469":{"position":[[442,7]]},"1470":{"position":[[1554,7]]},"1471":{"position":[[1037,7]]},"1472":{"position":[[1134,7]]},"1473":{"position":[[1089,7]]},"1474":{"position":[[812,7]]},"1475":{"position":[[958,7]]},"1476":{"position":[[425,7]]},"1477":{"position":[[500,7]]},"1478":{"position":[[553,7]]},"1479":{"position":[[485,7]]},"1480":{"position":[[609,7]]},"1481":{"position":[[652,7]]},"1482":{"position":[[419,7]]},"1484":{"position":[[424,7]]},"1485":{"position":[[497,7]]},"1486":{"position":[[523,7]]},"1487":{"position":[[482,7]]}},"keywords":{}}],["label>",{"_index":5935,"title":{},"content":{"1140":{"position":[[59,9],[119,9]]},"1188":{"position":[[112,9],[172,9]]}},"keywords":{}}],["label'",{"_index":1295,"title":{},"content":{"107":{"position":[[62,7]]},"519":{"position":[[62,7]]}},"keywords":{}}],["label.cel",{"_index":1288,"title":{"106":{"position":[[0,11]]},"518":{"position":[[0,11]]}},"content":{"106":{"position":[[0,11]]},"518":{"position":[[0,11]]}},"keywords":{}}],["label.cell_root",{"_index":1293,"title":{"107":{"position":[[0,16]]},"519":{"position":[[0,16]]}},"content":{"107":{"position":[[0,16]]},"519":{"position":[[0,16]]}},"keywords":{}}],["label.configured_target",{"_index":1297,"title":{"108":{"position":[[0,24]]},"520":{"position":[[0,24]]}},"content":{"108":{"position":[[4,25]]},"520":{"position":[[4,25]]}},"keywords":{}}],["label.default_host_platform",{"_index":4957,"title":{},"content":{"993":{"position":[[146,27]]}},"keywords":{}}],["label.exec_compatible_with",{"_index":3921,"title":{},"content":{"851":{"position":[[975,26]]}},"keywords":{}}],["label.nam",{"_index":1299,"title":{"109":{"position":[[0,11]]},"521":{"position":[[0,11]]}},"content":{"109":{"position":[[0,11]]},"521":{"position":[[0,11]]}},"keywords":{}}],["label.packag",{"_index":1301,"title":{"110":{"position":[[0,14]]},"522":{"position":[[0,14]]}},"content":{"110":{"position":[[0,14]]},"522":{"position":[[0,14]]}},"keywords":{}}],["label.path",{"_index":1303,"title":{"111":{"position":[[0,11]]},"523":{"position":[[0,11]]}},"content":{"111":{"position":[[0,11]]},"523":{"position":[[0,11]]}},"keywords":{}}],["label.project_root",{"_index":1305,"title":{"112":{"position":[[0,19]]},"524":{"position":[[0,19]]}},"content":{"112":{"position":[[0,19]]},"524":{"position":[[0,19]]}},"keywords":{}}],["label.raw_target",{"_index":1307,"title":{"113":{"position":[[0,17]]},"525":{"position":[[0,17]]}},"content":{"113":{"position":[[4,18]]},"525":{"position":[[4,18]]}},"keywords":{}}],["label.sub_target",{"_index":1308,"title":{"114":{"position":[[0,17]]},"526":{"position":[[0,17]]}},"content":{"114":{"position":[[0,17]]},"526":{"position":[[0,17]]}},"keywords":{}}],["label_pattern",{"_index":8490,"title":{},"content":{"1479":{"position":[[454,14]]}},"keywords":{}}],["label_relative_path",{"_index":1165,"title":{"115":{"position":[[0,19]]},"515":{"position":[[0,19]]}},"content":{"94":{"position":[[70,19],[377,19]]},"98":{"position":[[112,19]]},"99":{"position":[[144,19]]},"111":{"position":[[12,19]]},"116":{"position":[[44,19]]},"226":{"position":[[70,19],[377,19]]},"230":{"position":[[112,19]]},"231":{"position":[[144,19]]},"345":{"position":[[147,19]]},"368":{"position":[[166,19],[3130,19]]},"377":{"position":[[75,19]]},"386":{"position":[[61,19]]},"405":{"position":[[63,19],[311,19]]},"417":{"position":[[91,19]]},"516":{"position":[[44,19]]},"523":{"position":[[12,19]]},"747":{"position":[[166,19],[3130,19]]},"756":{"position":[[75,19]]},"765":{"position":[[61,19]]},"784":{"position":[[63,19],[311,19]]},"796":{"position":[[91,19]]}},"keywords":{}}],["label_relative_path.add",{"_index":1309,"title":{"116":{"position":[[0,24]]},"516":{"position":[[0,24]]}},"content":{},"keywords":{}}],["label_relative_path.add(arg",{"_index":1310,"title":{},"content":{"116":{"position":[[4,28]]},"516":{"position":[[4,28]]}},"keywords":{}}],["labellisttupledictone_ofopt",{"_index":5199,"title":{},"content":{"1044":{"position":[[2714,30]]}},"keywords":{}}],["labels(attr",{"_index":6249,"title":{"1272":{"position":[[0,12]]},"1303":{"position":[[0,12]]},"1331":{"position":[[0,12]]}},"content":{"1259":{"position":[[1116,12]]},"1290":{"position":[[1116,12]]},"1318":{"position":[[1116,12]]}},"keywords":{}}],["labelsi",{"_index":1673,"title":{},"content":{"301":{"position":[[1170,8]]},"311":{"position":[[480,8]]}},"keywords":{}}],["labelus",{"_index":1670,"title":{},"content":{"301":{"position":[[1048,10]]}},"keywords":{}}],["lack",{"_index":3892,"title":{},"content":{"846":{"position":[[1477,4]]},"926":{"position":[[18,5]]}},"keywords":{}}],["laid",{"_index":1069,"title":{},"content":{"86":{"position":[[300,4]]},"96":{"position":[[294,4]]},"218":{"position":[[300,4]]},"228":{"position":[[294,4]]},"419":{"position":[[155,4]]},"798":{"position":[[155,4]]},"1477":{"position":[[2517,4]]}},"keywords":{}}],["lambda",{"_index":1147,"title":{},"content":{"92":{"position":[[1844,6]]},"224":{"position":[[1844,6]]},"300":{"position":[[502,7]]},"442":{"position":[[216,6],[301,6],[385,6]]},"821":{"position":[[216,6],[301,6],[385,6]]},"876":{"position":[[64,6],[217,7]]},"877":{"position":[[43,7],[319,6],[456,6]]},"878":{"position":[[356,6],[646,6]]},"898":{"position":[[1909,7]]},"950":{"position":[[543,7]]},"1040":{"position":[[92,6],[1946,6]]},"1044":{"position":[[1117,6],[1655,6],[1799,6]]},"1049":{"position":[[1103,6],[1152,6]]}},"keywords":{}}],["lambda'",{"_index":4104,"title":{},"content":{"878":{"position":[[543,8]]}},"keywords":{}}],["lambda.error",{"_index":4090,"title":{},"content":{"877":{"position":[[130,12]]}},"keywords":{}}],["lambdabxl_act",{"_index":4092,"title":{},"content":{"877":{"position":[[288,17]]}},"keywords":{}}],["lamdba",{"_index":3278,"title":{},"content":{"657":{"position":[[132,7]]}},"keywords":{}}],["lang_compiler_flag",{"_index":6733,"title":{},"content":{"1362":{"position":[[2427,20]]},"1364":{"position":[[2438,20]]},"1367":{"position":[[3727,20]]},"1373":{"position":[[1349,20]]},"1382":{"position":[[1388,20]]},"1384":{"position":[[2144,20],[11373,20],[12001,20]]},"1385":{"position":[[844,20]]},"1387":{"position":[[2194,20]]},"1388":{"position":[[1573,20]]},"1415":{"position":[[1065,20]]},"1462":{"position":[[1844,20]]},"1467":{"position":[[2019,20]]}},"keywords":{}}],["lang_platform_compiler_flag",{"_index":6734,"title":{},"content":{"1362":{"position":[[2474,29]]},"1364":{"position":[[2485,29]]},"1367":{"position":[[3774,29]]},"1373":{"position":[[1396,29]]},"1382":{"position":[[1435,29]]},"1384":{"position":[[2191,29],[11838,29]]},"1385":{"position":[[891,29]]},"1387":{"position":[[2241,29]]},"1388":{"position":[[1620,29]]},"1415":{"position":[[1112,29]]},"1462":{"position":[[1891,29]]},"1467":{"position":[[2066,29]]}},"keywords":{}}],["lang_platform_preprocessor_flag",{"_index":6735,"title":{},"content":{"1362":{"position":[[2543,33]]},"1364":{"position":[[2554,33]]},"1367":{"position":[[3843,33]]},"1373":{"position":[[1465,33]]},"1382":{"position":[[1504,33]]},"1384":{"position":[[2260,33],[6850,33],[12082,33]]},"1385":{"position":[[960,33]]},"1387":{"position":[[2310,33]]},"1388":{"position":[[1689,33]]},"1415":{"position":[[1181,33]]},"1462":{"position":[[1960,33]]},"1467":{"position":[[2135,33]]}},"keywords":{}}],["lang_preprocessor_flag",{"_index":6736,"title":{},"content":{"1362":{"position":[[2616,24]]},"1364":{"position":[[2627,24]]},"1367":{"position":[[3916,24]]},"1373":{"position":[[1538,24]]},"1382":{"position":[[1577,24]]},"1384":{"position":[[2333,24],[7001,24],[12253,24],[12342,24]]},"1385":{"position":[[1033,24]]},"1387":{"position":[[2383,24]]},"1388":{"position":[[1762,24]]},"1415":{"position":[[1254,24]]},"1462":{"position":[[2033,24]]},"1467":{"position":[[2208,24]]}},"keywords":{}}],["languag",{"_index":262,"title":{"869":{"position":[[16,8]]},"884":{"position":[[9,8]]},"952":{"position":[[15,8]]}},"content":{"9":{"position":[[1782,8],[2268,9]]},"10":{"position":[[13,8],[1211,8]]},"17":{"position":[[143,9]]},"22":{"position":[[75,10],[259,8],[1498,8],[1554,9],[2075,8]]},"23":{"position":[[826,8],[1687,9]]},"41":{"position":[[409,8]]},"174":{"position":[[409,8]]},"574":{"position":[[156,9]]},"679":{"position":[[202,10]]},"693":{"position":[[1853,9],[7855,8],[7898,8]]},"715":{"position":[[183,8]]},"857":{"position":[[220,8]]},"870":{"position":[[1195,9]]},"873":{"position":[[130,8],[204,8]]},"882":{"position":[[31,8]]},"884":{"position":[[9,8],[45,8]]},"937":{"position":[[2764,8],[3000,9],[4653,8]]},"954":{"position":[[541,10]]},"1048":{"position":[[64,8]]},"1102":{"position":[[97,9]]},"1112":{"position":[[4300,8]]},"1260":{"position":[[1059,8]]},"1291":{"position":[[1059,8]]},"1319":{"position":[[1059,8]]},"1348":{"position":[[1366,9]]},"1355":{"position":[[1367,9]]},"1374":{"position":[[2682,8]]},"1384":{"position":[[11394,8],[11475,8],[11574,8],[11868,8],[11963,8],[12116,8],[12215,8],[12367,8],[12452,8],[12551,8]]},"1429":{"position":[[4896,8]]},"1470":{"position":[[1577,9]]},"1471":{"position":[[3274,8]]},"1472":{"position":[[3858,8]]},"1473":{"position":[[3308,8]]}},"keywords":{}}],["languages.build",{"_index":17,"title":{},"content":{"3":{"position":[[50,15]]}},"keywords":{}}],["languages/rul",{"_index":858,"title":{},"content":{"41":{"position":[[501,16]]},"174":{"position":[[501,16]]},"1112":{"position":[[4394,16]]}},"keywords":{}}],["larg",{"_index":172,"title":{},"content":{"9":{"position":[[164,7],[1185,5]]},"22":{"position":[[20,5],[237,5],[406,5],[1747,5]]},"374":{"position":[[1092,7]]},"648":{"position":[[609,5]]},"753":{"position":[[1092,7]]},"861":{"position":[[984,6]]},"947":{"position":[[14,7]]},"1127":{"position":[[539,6]]},"1235":{"position":[[239,5]]},"1247":{"position":[[328,5]]}},"keywords":{}}],["larger",{"_index":337,"title":{},"content":{"10":{"position":[[741,6]]},"11":{"position":[[42,6]]},"718":{"position":[[444,6]]},"720":{"position":[[559,6]]},"916":{"position":[[235,6]]}},"keywords":{}}],["last",{"_index":2597,"title":{},"content":{"568":{"position":[[67,4],[130,4]]},"611":{"position":[[119,4],[291,4]]},"612":{"position":[[121,4],[318,4]]},"613":{"position":[[177,4]]},"1054":{"position":[[1122,4]]},"1088":{"position":[[681,4]]},"1125":{"position":[[4,4]]},"1231":{"position":[[503,4]]},"1244":{"position":[[38,4]]},"1373":{"position":[[2887,4]]},"1487":{"position":[[1923,4]]}},"keywords":{}}],["later",{"_index":648,"title":{},"content":{"22":{"position":[[662,5]]},"421":{"position":[[321,5]]},"583":{"position":[[460,5],[937,5]]},"706":{"position":[[2457,7]]},"724":{"position":[[740,5]]},"800":{"position":[[321,5]]},"879":{"position":[[265,5]]},"904":{"position":[[1537,5]]},"942":{"position":[[1396,5]]},"990":{"position":[[1322,6]]},"1102":{"position":[[438,6]]},"1186":{"position":[[862,5]]},"1187":{"position":[[875,5]]},"1188":{"position":[[5601,5]]},"1427":{"position":[[4877,5]]},"1429":{"position":[[3765,6],[3841,6]]},"1439":{"position":[[7376,5]]},"1440":{"position":[[3758,6],[3834,6]]}},"keywords":{}}],["later.artifact",{"_index":5654,"title":{},"content":{"1103":{"position":[[1066,15]]}},"keywords":{}}],["later.low",{"_index":350,"title":{},"content":{"10":{"position":[[1034,9]]}},"keywords":{}}],["latest",{"_index":437,"title":{},"content":{"15":{"position":[[4,6]]}},"keywords":{}}],["latter",{"_index":3553,"title":{},"content":{"693":{"position":[[4433,7]]},"848":{"position":[[332,6]]},"1362":{"position":[[13090,6]]},"1364":{"position":[[13790,6]]},"1367":{"position":[[12998,6]]},"1382":{"position":[[11452,6]]},"1384":{"position":[[19106,6]]},"1385":{"position":[[7030,6]]},"1387":{"position":[[10403,6]]},"1388":{"position":[[9945,6]]},"1397":{"position":[[2170,6]]},"1398":{"position":[[2916,6]]},"1442":{"position":[[2825,6]]},"1485":{"position":[[4316,6]]}},"keywords":{}}],["launch",{"_index":5462,"title":{},"content":{"1061":{"position":[[345,6]]},"1167":{"position":[[1151,6],[1345,6],[1499,8]]},"1361":{"position":[[2180,6],[2479,6]]}},"keywords":{}}],["launch_imag",{"_index":6674,"title":{},"content":{"1361":{"position":[[498,13],[2591,12]]}},"keywords":{}}],["launcher",{"_index":66,"title":{},"content":{"4":{"position":[[500,8]]}},"keywords":{}}],["launchimag",{"_index":6683,"title":{},"content":{"1361":{"position":[[2116,12],[2606,14]]}},"keywords":{}}],["layer",{"_index":132,"title":{},"content":{"6":{"position":[[334,8]]},"63":{"position":[[208,5]]},"166":{"position":[[208,5]]},"492":{"position":[[208,5]]},"548":{"position":[[208,5]]},"715":{"position":[[1155,5]]},"946":{"position":[[43,6]]}},"keywords":{}}],["layout",{"_index":4266,"title":{},"content":{"892":{"position":[[32,7]]},"1422":{"position":[[2796,7]]},"1471":{"position":[[4070,6]]},"1472":{"position":[[4654,6]]},"1473":{"position":[[4391,6]]}},"keywords":{}}],["lazi",{"_index":3940,"title":{"1037":{"position":[[14,5]]}},"content":{"856":{"position":[[167,4],[424,4],[745,4]]}},"keywords":{}}],["lazili",{"_index":5609,"title":{},"content":{"1090":{"position":[[148,7]]}},"keywords":{}}],["lazy_attr",{"_index":1520,"title":{"527":{"position":[[0,10]]}},"content":{"277":{"position":[[48,10],[70,10],[608,10]]}},"keywords":{}}],["lazy_attrs.get",{"_index":2492,"title":{"528":{"position":[[0,15]]}},"content":{},"keywords":{}}],["lazy_attrs.get(attr",{"_index":2493,"title":{},"content":{"528":{"position":[[4,20]]}},"keywords":{}}],["lazy_resolved_attr",{"_index":1551,"title":{},"content":{"282":{"position":[[108,19],[708,19]]}},"keywords":{}}],["lazyresolvedattr",{"_index":2114,"title":{},"content":{"402":{"position":[[309,17]]},"781":{"position":[[309,17]]}},"keywords":{}}],["ld)path",{"_index":7174,"title":{},"content":{"1383":{"position":[[3279,9]]}},"keywords":{}}],["ld_preload",{"_index":8337,"title":{},"content":{"1462":{"position":[[8486,11]]},"1467":{"position":[[9968,11]]}},"keywords":{}}],["ldflag",{"_index":7175,"title":{},"content":{"1383":{"position":[[3304,9],[3400,9],[3630,9],[3735,9],[3974,9],[4051,9]]}},"keywords":{}}],["ldflagsandasmflags``cgo_en",{"_index":7757,"title":{},"content":{"1407":{"position":[[2611,32]]}},"keywords":{}}],["lead",{"_index":2339,"title":{},"content":{"436":{"position":[[69,7]]},"606":{"position":[[68,7],[136,7]]},"616":{"position":[[565,7]]},"619":{"position":[[66,7],[146,7]]},"675":{"position":[[453,7]]},"680":{"position":[[1313,4]]},"815":{"position":[[69,7]]},"892":{"position":[[1432,5]]},"1017":{"position":[[281,5]]},"1050":{"position":[[4526,4]]}},"keywords":{}}],["leagu",{"_index":311,"title":{},"content":{"10":{"position":[[67,6]]}},"keywords":{}}],["learn",{"_index":400,"title":{"19":{"position":[[0,8]]}},"content":{"12":{"position":[[288,8]]},"680":{"position":[[184,5]]},"978":{"position":[[61,7]]},"1487":{"position":[[2842,5]]}},"keywords":{}}],["leex",{"_index":7529,"title":{},"content":{"1393":{"position":[[10622,5]]}},"keywords":{}}],["left",{"_index":2735,"title":{},"content":{"587":{"position":[[264,4]]},"1057":{"position":[[209,4]]},"1088":{"position":[[32,4],[345,4],[389,4],[756,4]]},"1112":{"position":[[2537,4]]},"1282":{"position":[[152,4]]},"1283":{"position":[[169,4]]},"1284":{"position":[[149,4]]},"1313":{"position":[[152,4]]},"1314":{"position":[[169,4]]},"1315":{"position":[[149,4]]},"1341":{"position":[[152,4]]},"1342":{"position":[[169,4]]},"1343":{"position":[[149,4]]}},"keywords":{}}],["legaci",{"_index":4714,"title":{"945":{"position":[[0,6]]}},"content":{"1020":{"position":[[32,6]]}},"keywords":{}}],["legacy_toolchain",{"_index":8074,"title":{"1441":{"position":[[0,17]]}},"content":{"1441":{"position":[[4,17]]}},"keywords":{}}],["legal",{"_index":4167,"title":{},"content":{"888":{"position":[[636,6]]}},"keywords":{}}],["len",{"_index":959,"title":{"651":{"position":[[0,4]]}},"content":{"67":{"position":[[166,3]]},"455":{"position":[[166,3]]},"651":{"position":[[25,4],[171,7],[184,7],[197,7]]},"890":{"position":[[2178,4]]}},"keywords":{}}],["len([1",{"_index":3233,"title":{},"content":{"651":{"position":[[210,8]]}},"keywords":{}}],["len([1,2",{"_index":3234,"title":{},"content":{"651":{"position":[[224,10]]}},"keywords":{}}],["len(a",{"_index":2372,"title":{},"content":{"442":{"position":[[226,6],[311,6],[395,6]]},"651":{"position":[[4,6]]},"821":{"position":[[226,6],[311,6],[395,6]]}},"keywords":{}}],["len(l",{"_index":2580,"title":{},"content":{"566":{"position":[[396,6]]}},"keywords":{}}],["len(myenum",{"_index":3134,"title":{},"content":{"638":{"position":[[941,11]]},"902":{"position":[[928,11]]}},"keywords":{}}],["len(target.compatible_with",{"_index":5093,"title":{},"content":{"1026":{"position":[[1221,27]]}},"keywords":{}}],["len(tru",{"_index":3236,"title":{},"content":{"651":{"position":[[261,9]]}},"keywords":{}}],["len(x",{"_index":3232,"title":{},"content":{"651":{"position":[[59,6]]}},"keywords":{}}],["len({'16",{"_index":3235,"title":{},"content":{"651":{"position":[[240,10]]}},"keywords":{}}],["length",{"_index":2478,"title":{},"content":{"498":{"position":[[93,7]]},"560":{"position":[[465,6]]},"567":{"position":[[281,6]]},"568":{"position":[[268,6]]},"651":{"position":[[38,6]]},"1219":{"position":[[273,6],[372,6]]}},"keywords":{}}],["less",{"_index":250,"title":{},"content":{"9":{"position":[[1558,4],[2249,4]]},"11":{"position":[[269,4],[418,4]]},"24":{"position":[[521,4]]},"94":{"position":[[1596,4]]},"226":{"position":[[1596,4]]},"568":{"position":[[254,4]]},"662":{"position":[[501,4],[582,4]]},"675":{"position":[[1323,4]]},"1113":{"position":[[591,4]]},"1486":{"position":[[2525,4]]}},"keywords":{}}],["lesson",{"_index":399,"title":{},"content":{"12":{"position":[[280,7]]},"978":{"position":[[53,7]]}},"keywords":{}}],["let",{"_index":3867,"title":{},"content":{"840":{"position":[[1824,4]]},"939":{"position":[[853,4]]},"1103":{"position":[[1668,4]]}},"keywords":{}}],["let'",{"_index":5342,"title":{},"content":{"1054":{"position":[[1197,5]]},"1232":{"position":[[0,5]]},"1253":{"position":[[126,5]]}},"keywords":{}}],["letter",{"_index":2845,"title":{},"content":{"597":{"position":[[86,7],[186,7]]},"598":{"position":[[86,8],[178,8]]},"600":{"position":[[61,7],[173,7],[194,7]]},"602":{"position":[[161,7],[182,7]]},"603":{"position":[[61,7],[173,7],[194,7]]},"605":{"position":[[125,7]]},"620":{"position":[[122,7],[154,7]]},"621":{"position":[[125,7]]}},"keywords":{}}],["let’",{"_index":4406,"title":{},"content":{"904":{"position":[[849,5]]}},"keywords":{}}],["level",{"_index":413,"title":{"715":{"position":[[5,5]]}},"content":{"12":{"position":[[568,6]]},"421":{"position":[[154,5]]},"690":{"position":[[244,6]]},"693":{"position":[[3281,6],[3949,6],[5409,6]]},"715":{"position":[[211,5],[1585,5]]},"800":{"position":[[154,5]]},"840":{"position":[[1629,6]]},"890":{"position":[[6021,6]]},"937":{"position":[[3232,6],[4860,5]]},"938":{"position":[[947,5],[1102,5]]},"939":{"position":[[10,5],[1890,6]]},"947":{"position":[[244,5],[501,5],[1142,5]]},"1015":{"position":[[13,5]]},"1083":{"position":[[383,5]]},"1171":{"position":[[808,5]]},"1183":{"position":[[13,5]]},"1190":{"position":[[14,5]]},"1198":{"position":[[242,6]]},"1247":{"position":[[234,5]]},"1250":{"position":[[164,5]]},"1373":{"position":[[6108,5]]},"1384":{"position":[[19870,5],[19970,5],[20181,5],[20275,5],[20362,5],[20486,5],[20771,5],[20933,5]]},"1385":{"position":[[3068,5]]},"1387":{"position":[[5335,5]]},"1397":{"position":[[1771,5]]},"1405":{"position":[[3432,5]]},"1407":{"position":[[3853,5]]},"1408":{"position":[[2472,5]]},"1410":{"position":[[4840,5]]},"1421":{"position":[[2287,5],[2372,5]]},"1429":{"position":[[4905,5],[5583,5],[5740,5]]},"1440":{"position":[[5575,5]]},"1443":{"position":[[781,5]]},"1444":{"position":[[697,5],[1695,5]]},"1461":{"position":[[959,5],[2264,5]]},"1462":{"position":[[5709,5],[7911,5]]},"1465":{"position":[[2489,5],[2724,5]]},"1467":{"position":[[6054,5],[6205,5],[6863,5],[8971,5]]},"1471":{"position":[[3055,5]]},"1472":{"position":[[2774,5]]},"1473":{"position":[[3089,5]]}},"keywords":{}}],["leverag",{"_index":4049,"title":{},"content":{"869":{"position":[[549,9]]}},"keywords":{}}],["lex.mll",{"_index":8130,"title":{},"content":{"1448":{"position":[[2884,10]]}},"keywords":{}}],["lexer",{"_index":8127,"title":{},"content":{"1448":{"position":[[2696,5]]},"1449":{"position":[[2630,5]]}},"keywords":{}}],["lexicograph",{"_index":2694,"title":{},"content":{"583":{"position":[[888,15],[950,15]]},"654":{"position":[[442,17]]},"655":{"position":[[335,17]]}},"keywords":{}}],["lib",{"_index":4881,"title":{},"content":{"987":{"position":[[313,3],[701,3],[747,3]]},"1348":{"position":[[4638,6],[4770,7]]},"1358":{"position":[[2607,5],[3149,6]]},"1382":{"position":[[4919,6]]},"1388":{"position":[[5613,6]]},"1402":{"position":[[2157,6]]},"1422":{"position":[[4418,3]]},"1423":{"position":[[3412,3]]},"1427":{"position":[[8083,5]]},"1439":{"position":[[8905,5]]},"1442":{"position":[[1909,6]]},"1446":{"position":[[2049,5],[2600,4]]},"1454":{"position":[[9863,5]]},"1455":{"position":[[3109,4],[3280,4],[3509,5],[3543,3],[3778,4],[4007,5],[4177,4],[4418,5],[4632,6],[4644,6],[4766,6],[4778,6],[4890,3],[4912,3]]},"1459":{"position":[[2022,5],[2405,7]]}},"keywords":{}}],["lib.r",{"_index":8436,"title":{},"content":{"1471":{"position":[[5181,6]]},"1472":{"position":[[6067,6]]},"1473":{"position":[[5631,6]]}},"keywords":{}}],["lib/header1.h",{"_index":6802,"title":{},"content":{"1362":{"position":[[8647,13]]},"1364":{"position":[[9761,13]]},"1367":{"position":[[8735,13]]}},"keywords":{}}],["lib/header2.h",{"_index":6804,"title":{},"content":{"1362":{"position":[[8685,13]]},"1364":{"position":[[9799,13]]},"1367":{"position":[[8773,13]]}},"keywords":{}}],["lib/liba.a",{"_index":8213,"title":{},"content":{"1455":{"position":[[4694,13]]}},"keywords":{}}],["lib/liba.so",{"_index":8219,"title":{},"content":{"1455":{"position":[[4957,14]]}},"keywords":{}}],["lib/liba_pic.a",{"_index":8215,"title":{},"content":{"1455":{"position":[[4828,17]]}},"keywords":{}}],["lib/libb.a",{"_index":8214,"title":{},"content":{"1455":{"position":[[4708,13]]}},"keywords":{}}],["lib/libb.so",{"_index":8220,"title":{},"content":{"1455":{"position":[[5011,14]]}},"keywords":{}}],["lib/libb_pic.a",{"_index":8216,"title":{},"content":{"1455":{"position":[[4846,17]]}},"keywords":{}}],["lib__",{"_index":4307,"title":{},"content":{"896":{"position":[[92,5]]}},"keywords":{}}],["lib__.pic.a",{"_index":4310,"title":{},"content":{"896":{"position":[[143,12],[362,11],[726,11]]}},"keywords":{}}],["lib____/__objects__/san",{"_index":4318,"title":{},"content":{"896":{"position":[[467,23],[831,23]]}},"keywords":{}}],["lib____/libgetenv",{"_index":4317,"title":{},"content":{"896":{"position":[[323,17],[687,17]]}},"keywords":{}}],["lib_dir",{"_index":8250,"title":{},"content":{"1460":{"position":[[614,8]]}},"keywords":{}}],["lib_map",{"_index":8026,"title":{},"content":{"1435":{"position":[[404,12]]}},"keywords":{}}],["lib_nam",{"_index":8251,"title":{},"content":{"1460":{"position":[[632,9]]}},"keywords":{}}],["liba.so",{"_index":8217,"title":{},"content":{"1455":{"position":[[4894,10],[4946,10]]}},"keywords":{}}],["libb.so",{"_index":8218,"title":{},"content":{"1455":{"position":[[4916,10],[5000,10]]}},"keywords":{}}],["libfileutil.a",{"_index":7884,"title":{},"content":{"1421":{"position":[[2545,16]]}},"keywords":{}}],["libfileutil.so",{"_index":7885,"title":{},"content":{"1421":{"position":[[2581,17],[2599,17]]}},"keywords":{}}],["libfoo",{"_index":5618,"title":{},"content":{"1096":{"position":[[196,6],[205,6],[229,6]]}},"keywords":{}}],["libfoo.$(ext",{"_index":7207,"title":{},"content":{"1384":{"position":[[18531,13]]},"1472":{"position":[[5847,13]]}},"keywords":{}}],["libfoo.2.3.dylib",{"_index":7209,"title":{},"content":{"1384":{"position":[[18559,16]]},"1472":{"position":[[5875,16]]}},"keywords":{}}],["libfoo.so.2.3",{"_index":7210,"title":{},"content":{"1384":{"position":[[18587,13]]},"1472":{"position":[[5903,13]]}},"keywords":{}}],["libgetenv",{"_index":4309,"title":{},"content":{"896":{"position":[[112,9]]}},"keywords":{}}],["libhalid",{"_index":7837,"title":{},"content":{"1415":{"position":[[5731,9]]}},"keywords":{}}],["libmylib.a",{"_index":8186,"title":{},"content":{"1454":{"position":[[9945,13]]}},"keywords":{}}],["libmylib.so",{"_index":8185,"title":{},"content":{"1454":{"position":[[9917,14],[10007,14],[10172,14]]}},"keywords":{}}],["libmylib_pic.a",{"_index":8187,"title":{},"content":{"1454":{"position":[[9976,17]]}},"keywords":{}}],["librari",{"_index":139,"title":{"1254":{"position":[[21,7]]}},"content":{"7":{"position":[[96,7],[190,7]]},"22":{"position":[[1650,7],[1681,8]]},"23":{"position":[[2930,7]]},"574":{"position":[[169,9]]},"693":{"position":[[3986,7]]},"704":{"position":[[270,9],[1202,8]]},"708":{"position":[[9,7]]},"937":{"position":[[3014,9]]},"947":{"position":[[1026,7],[1152,7]]},"955":{"position":[[70,10],[137,9]]},"991":{"position":[[981,10]]},"1104":{"position":[[843,9],[892,8],[939,7],[1037,7],[1285,10],[1348,7],[1418,7],[1611,7],[1791,7],[2067,9],[2095,9]]},"1118":{"position":[[38,7]]},"1245":{"position":[[571,7]]},"1254":{"position":[[51,7]]},"1351":{"position":[[4044,7]]},"1355":{"position":[[7739,7]]},"1358":{"position":[[2404,9],[2443,9]]},"1362":{"position":[[2667,10],[8433,7],[11204,8],[13285,7]]},"1364":{"position":[[2678,10],[9547,7],[12171,8],[13985,7]]},"1367":{"position":[[3967,10],[8521,7],[11574,8],[13193,7]]},"1373":{"position":[[1589,10],[8654,7],[8684,8]]},"1381":{"position":[[693,7],[2094,7]]},"1382":{"position":[[1628,10],[3103,7],[8073,8],[11726,7]]},"1383":{"position":[[3685,10],[3717,9],[3813,10],[3845,9],[4040,10],[4140,10]]},"1384":{"position":[[2384,10],[14137,8],[14325,8],[14382,7],[16608,7],[16690,7],[18297,7],[18493,7],[19382,7],[19540,7],[19594,9],[19669,9],[20444,7],[20585,8]]},"1385":{"position":[[1084,10],[1888,7],[2044,7],[7401,7]]},"1386":{"position":[[4746,9]]},"1387":{"position":[[2434,10],[4236,7],[6797,9],[6864,9],[7584,8],[7641,7],[10731,7]]},"1388":{"position":[[1813,10],[8687,8]]},"1390":{"position":[[2036,7]]},"1391":{"position":[[1789,7]]},"1407":{"position":[[1149,7]]},"1408":{"position":[[928,7]]},"1410":{"position":[[939,8],[3556,8],[3577,7]]},"1415":{"position":[[1305,10],[5359,7],[5462,7]]},"1421":{"position":[[1006,9],[1962,7],[2203,7],[2227,7],[2317,9]]},"1422":{"position":[[3977,7]]},"1423":{"position":[[2743,10]]},"1427":{"position":[[7918,7]]},"1439":{"position":[[4775,8],[8742,7]]},"1444":{"position":[[1914,8]]},"1446":{"position":[[1826,9],[2498,7]]},"1449":{"position":[[924,9]]},"1453":{"position":[[708,10]]},"1454":{"position":[[1523,10],[3268,9],[7486,7],[7575,7],[7592,7],[7798,8],[7855,7],[7945,8],[8166,8],[8257,8],[8478,8],[8577,8],[8798,8],[8907,7],[8989,7],[9060,7],[9134,7],[9212,7],[9395,7],[9664,7],[9707,9],[9832,7],[10071,7]]},"1455":{"position":[[1153,9],[2999,7],[3126,7],[3170,7],[3297,7],[3362,7],[3425,9],[3578,7],[3681,9],[3860,7],[3923,9],[4076,9],[4263,7],[4330,9],[4484,7],[4511,9]]},"1457":{"position":[[502,8],[631,7],[1638,7]]},"1459":{"position":[[637,9],[1611,9],[1682,9],[1759,7]]},"1461":{"position":[[2089,7],[2200,8],[2363,8],[2395,7],[2473,7],[2722,8],[2913,9]]},"1462":{"position":[[2084,10],[6734,9],[7640,7],[8345,7],[8406,9],[8567,9]]},"1465":{"position":[[2823,8],[2855,7],[2933,7]]},"1467":{"position":[[2259,10],[6962,8],[6994,7],[7072,7],[7849,9],[9827,7],[9888,9],[10049,9],[10321,8]]},"1471":{"position":[[4881,8],[5192,10],[5553,9],[5605,8]]},"1472":{"position":[[1645,7],[3832,8],[5465,8],[5613,7],[5809,7],[6078,10],[6439,9],[6491,8]]},"1473":{"position":[[5202,8],[5642,10]]},"1480":{"position":[[632,10]]},"1485":{"position":[[4745,7]]},"1487":{"position":[[3470,7],[3821,7]]}},"keywords":{}}],["libraries:anotherlibrari",{"_index":6823,"title":{},"content":{"1362":{"position":[[13821,29]]}},"keywords":{}}],["libraries:yetanotherlibrari",{"_index":6933,"title":{},"content":{"1364":{"position":[[14526,32]]}},"keywords":{}}],["library.exported_linker_flag",{"_index":7878,"title":{},"content":{"1421":{"position":[[2075,30]]}},"keywords":{}}],["library.fil",{"_index":679,"title":{},"content":{"22":{"position":[[1720,12]]}},"keywords":{}}],["library.local_linker_flag",{"_index":7302,"title":{},"content":{"1387":{"position":[[7397,27]]}},"keywords":{}}],["library.package_nam",{"_index":7055,"title":{},"content":{"1373":{"position":[[5719,21]]}},"keywords":{}}],["library.platform_compiler_flag",{"_index":7244,"title":{},"content":{"1385":{"position":[[4304,32]]},"1415":{"position":[[4186,32]]}},"keywords":{}}],["library.shared_lib",{"_index":7879,"title":{},"content":{"1421":{"position":[[2166,20]]}},"keywords":{}}],["library.typ",{"_index":8357,"title":{},"content":{"1465":{"position":[[4128,15]]}},"keywords":{}}],["library/header2.h",{"_index":6803,"title":{},"content":{"1362":{"position":[[8661,17]]},"1364":{"position":[[9775,17]]},"1367":{"position":[[8749,17]]}},"keywords":{}}],["library/subdir/header1.h",{"_index":6801,"title":{},"content":{"1362":{"position":[[8616,24]]},"1364":{"position":[[9730,24]]},"1367":{"position":[[8704,24]]}},"keywords":{}}],["library=':greet",{"_index":7798,"title":{},"content":{"1410":{"position":[[6147,20]]}},"keywords":{}}],["library='greeting.a",{"_index":8228,"title":{},"content":{"1457":{"position":[[2010,21]]}},"keywords":{}}],["libraryarticl",{"_index":3587,"title":{},"content":{"693":{"position":[[8055,15]]}},"keywords":{}}],["libraryotp",{"_index":7621,"title":{},"content":{"1398":{"position":[[5013,10]]}},"keywords":{}}],["libraryparamet",{"_index":7793,"title":{},"content":{"1410":{"position":[[4570,16]]}},"keywords":{}}],["libtool",{"_index":6993,"title":{},"content":{"1368":{"position":[[904,8]]}},"keywords":{}}],["licens",{"_index":6353,"title":{},"content":{"1348":{"position":[[1392,9]]},"1349":{"position":[[711,9]]},"1350":{"position":[[2035,9]]},"1351":{"position":[[581,9]]},"1352":{"position":[[2034,9]]},"1353":{"position":[[869,9]]},"1354":{"position":[[910,9]]},"1355":{"position":[[1393,9]]},"1356":{"position":[[498,9]]},"1358":{"position":[[745,9]]},"1359":{"position":[[652,9]]},"1360":{"position":[[923,9]]},"1361":{"position":[[528,9]]},"1362":{"position":[[2693,9]]},"1363":{"position":[[2099,9]]},"1364":{"position":[[2704,9]]},"1365":{"position":[[577,9]]},"1366":{"position":[[661,9]]},"1367":{"position":[[3993,9]]},"1368":{"position":[[918,9]]},"1369":{"position":[[484,9]]},"1373":{"position":[[1615,9]]},"1374":{"position":[[562,9]]},"1377":{"position":[[536,9]]},"1380":{"position":[[447,9]]},"1381":{"position":[[565,9]]},"1382":{"position":[[1654,9]]},"1383":{"position":[[801,9]]},"1384":{"position":[[2410,9]]},"1385":{"position":[[1110,9]]},"1386":{"position":[[475,9]]},"1387":{"position":[[2460,9]]},"1388":{"position":[[1839,9]]},"1389":{"position":[[2578,9]]},"1390":{"position":[[461,9]]},"1391":{"position":[[462,9]]},"1392":{"position":[[459,9]]},"1399":{"position":[[443,9]]},"1400":{"position":[[465,9]]},"1401":{"position":[[457,9]]},"1402":{"position":[[628,9]]},"1403":{"position":[[826,9]]},"1404":{"position":[[467,9]]},"1405":{"position":[[760,9]]},"1407":{"position":[[787,9]]},"1408":{"position":[[773,9]]},"1410":{"position":[[964,9]]},"1411":{"position":[[446,9]]},"1412":{"position":[[839,9]]},"1413":{"position":[[985,9]]},"1414":{"position":[[572,9]]},"1415":{"position":[[1331,9]]},"1416":{"position":[[726,9]]},"1417":{"position":[[702,9]]},"1418":{"position":[[580,9]]},"1419":{"position":[[624,9]]},"1420":{"position":[[701,9]]},"1421":{"position":[[708,9]]},"1422":{"position":[[489,9]]},"1423":{"position":[[470,9]]},"1424":{"position":[[742,9]]},"1425":{"position":[[576,9]]},"1426":{"position":[[754,9]]},"1427":{"position":[[1056,9]]},"1428":{"position":[[562,9]]},"1429":{"position":[[1290,9]]},"1430":{"position":[[838,9]]},"1431":{"position":[[738,9]]},"1432":{"position":[[880,9]]},"1433":{"position":[[746,9]]},"1438":{"position":[[461,9]]},"1439":{"position":[[1292,9]]},"1440":{"position":[[1491,9]]},"1441":{"position":[[448,9]]},"1443":{"position":[[463,9]]},"1444":{"position":[[493,9]]},"1446":{"position":[[506,9]]},"1447":{"position":[[494,9]]},"1448":{"position":[[580,9]]},"1449":{"position":[[574,9]]},"1450":{"position":[[580,9]]},"1451":{"position":[[580,9]]},"1453":{"position":[[734,9]]},"1454":{"position":[[1549,9]]},"1455":{"position":[[739,9]]},"1456":{"position":[[470,9]]},"1457":{"position":[[516,9]]},"1458":{"position":[[720,9]]},"1459":{"position":[[523,9]]},"1460":{"position":[[651,9]]},"1461":{"position":[[791,9]]},"1462":{"position":[[2110,9]]},"1465":{"position":[[739,9]]},"1467":{"position":[[2285,9]]},"1468":{"position":[[450,9]]},"1469":{"position":[[465,9]]},"1470":{"position":[[1603,9]]},"1471":{"position":[[1060,9]]},"1472":{"position":[[1157,9]]},"1473":{"position":[[1112,9]]},"1474":{"position":[[835,9]]},"1475":{"position":[[981,9]]},"1476":{"position":[[448,9]]},"1477":{"position":[[523,9]]},"1478":{"position":[[576,9]]},"1479":{"position":[[508,9]]},"1480":{"position":[[658,9]]},"1481":{"position":[[675,9]]},"1482":{"position":[[442,9]]},"1484":{"position":[[447,9]]},"1486":{"position":[[546,9]]},"1487":{"position":[[505,9]]}},"keywords":{}}],["lifetim",{"_index":4191,"title":{},"content":{"889":{"position":[[862,8]]}},"keywords":{}}],["lift",{"_index":4683,"title":{},"content":{"942":{"position":[[1281,6]]},"1001":{"position":[[1479,6]]},"1065":{"position":[[412,6]]}},"keywords":{}}],["like",{"_index":5112,"title":{},"content":{"1031":{"position":[[778,6]]}},"keywords":{}}],["like$(cxxppflag",{"_index":2067,"title":{},"content":{"389":{"position":[[437,16]]},"768":{"position":[[437,16]]}},"keywords":{}}],["likealia",{"_index":1325,"title":{},"content":{"121":{"position":[[253,10]]},"530":{"position":[[253,10]]}},"keywords":{}}],["likebin",{"_index":4880,"title":{},"content":{"987":{"position":[[299,7]]}},"keywords":{}}],["likefbcode//buck2/tests/targets/rules/pascal:my_binari",{"_index":5649,"title":{},"content":{"1103":{"position":[[640,55]]}},"keywords":{}}],["likelyhood",{"_index":5750,"title":{},"content":{"1113":{"position":[[429,10]]}},"keywords":{}}],["likemykind",{"_index":4894,"title":{},"content":{"988":{"position":[[308,10]]}},"keywords":{}}],["likes.split",{"_index":2963,"title":{},"content":{"614":{"position":[[201,12]]}},"keywords":{}}],["likewis",{"_index":4606,"title":{},"content":{"937":{"position":[[3771,8]]}},"keywords":{}}],["limit",{"_index":1906,"title":{"877":{"position":[[0,12]]},"1035":{"position":[[0,12]]},"1098":{"position":[[10,12]]},"1114":{"position":[[0,12]]}},"content":{"362":{"position":[[2035,7]]},"481":{"position":[[63,7]]},"708":{"position":[[649,5]]},"741":{"position":[[2035,7]]},"950":{"position":[[190,10],[762,7]]},"955":{"position":[[878,7]]},"1052":{"position":[[1357,7]]},"1114":{"position":[[54,12],[749,12]]},"1247":{"position":[[521,5],[588,6]]},"1253":{"position":[[380,6]]}},"keywords":{}}],["line",{"_index":812,"title":{"582":{"position":[[8,4]]},"675":{"position":[[8,4]]},"1008":{"position":[[30,5]]},"1082":{"position":[[46,6]]}},"content":{"27":{"position":[[42,4]]},"40":{"position":[[53,5],[174,4]]},"65":{"position":[[87,5]]},"67":{"position":[[107,5]]},"68":{"position":[[111,5]]},"99":{"position":[[855,5],[930,4]]},"126":{"position":[[148,4]]},"173":{"position":[[53,5],[174,4]]},"179":{"position":[[42,4]]},"231":{"position":[[855,5],[930,4]]},"249":{"position":[[148,4]]},"300":{"position":[[58,4],[123,5]]},"362":{"position":[[2346,4]]},"405":{"position":[[1044,6],[1274,5],[1325,5],[2063,5]]},"407":{"position":[[29,4],[259,5]]},"450":{"position":[[56,4]]},"453":{"position":[[87,5]]},"455":{"position":[[107,5]]},"456":{"position":[[111,5]]},"575":{"position":[[585,4]]},"577":{"position":[[277,4]]},"582":{"position":[[126,4],[242,4]]},"583":{"position":[[381,4],[481,4]]},"586":{"position":[[166,5]]},"617":{"position":[[104,5],[197,5],[255,4],[367,4],[470,4]]},"632":{"position":[[324,5]]},"675":{"position":[[93,4],[429,5],[491,5],[1313,4]]},"676":{"position":[[143,5]]},"693":{"position":[[3091,4],[5404,4]]},"700":{"position":[[141,5]]},"704":{"position":[[1776,4],[2336,4]]},"705":{"position":[[1129,6]]},"724":{"position":[[102,6]]},"741":{"position":[[2346,4]]},"784":{"position":[[1044,6],[1274,5],[1325,5],[2063,5]]},"786":{"position":[[29,4],[259,5]]},"829":{"position":[[56,4]]},"840":{"position":[[392,4],[709,4]]},"841":{"position":[[288,5]]},"850":{"position":[[302,4],[524,5]]},"856":{"position":[[217,5]]},"867":{"position":[[10,4],[113,4],[168,5]]},"869":{"position":[[483,4]]},"872":{"position":[[533,4]]},"873":{"position":[[386,4]]},"937":{"position":[[2071,5],[2222,5],[2560,4],[3227,4],[3512,5]]},"938":{"position":[[924,4]]},"939":{"position":[[1797,5]]},"942":{"position":[[15,5],[347,5],[404,4],[811,5],[1545,5]]},"943":{"position":[[169,5],[1597,5],[1909,4],[2028,4]]},"947":{"position":[[1250,5]]},"959":{"position":[[440,4],[497,4]]},"961":{"position":[[637,4]]},"970":{"position":[[43,4]]},"1014":{"position":[[54,5]]},"1031":{"position":[[321,5],[478,4],[769,4]]},"1032":{"position":[[130,5]]},"1058":{"position":[[1035,4]]},"1061":{"position":[[286,5]]},"1071":{"position":[[1262,5]]},"1082":{"position":[[80,5],[201,4],[315,4],[554,5],[1233,5]]},"1083":{"position":[[16,6]]},"1103":{"position":[[972,5]]},"1104":{"position":[[1179,4],[1251,6]]},"1105":{"position":[[191,5],[207,4],[343,5],[443,4],[841,4],[871,4],[1015,5],[1599,5],[1993,5],[2137,4]]},"1112":{"position":[[4966,4],[4978,5]]},"1114":{"position":[[316,5]]},"1116":{"position":[[69,4],[77,5]]},"1120":{"position":[[650,5],[843,5]]},"1124":{"position":[[10,4]]},"1125":{"position":[[9,4]]},"1130":{"position":[[59,4]]},"1131":{"position":[[94,5]]},"1136":{"position":[[2655,5]]},"1138":{"position":[[6317,5]]},"1140":{"position":[[5243,5]]},"1146":{"position":[[627,5]]},"1148":{"position":[[3667,5]]},"1167":{"position":[[6247,5]]},"1171":{"position":[[361,4]]},"1176":{"position":[[18,4],[526,4],[573,4]]},"1186":{"position":[[1891,5]]},"1187":{"position":[[1904,5]]},"1188":{"position":[[6630,5]]},"1192":{"position":[[666,5]]},"1197":{"position":[[1129,5]]},"1198":{"position":[[1139,5]]},"1199":{"position":[[1167,5]]},"1200":{"position":[[1034,5]]},"1203":{"position":[[528,5]]},"1205":{"position":[[1701,5]]},"1217":{"position":[[4988,5]]},"1226":{"position":[[180,5],[208,5],[5456,5]]},"1228":{"position":[[7069,5]]},"1237":{"position":[[350,5],[378,5],[5626,5]]},"1351":{"position":[[1184,4]]},"1355":{"position":[[2544,4]]},"1360":{"position":[[1773,4]]},"1362":{"position":[[5496,4],[7742,4],[10978,5],[11089,4],[11969,4]]},"1363":{"position":[[3242,4]]},"1364":{"position":[[5525,4],[6742,4],[7981,4],[8591,4],[11945,5],[12056,4]]},"1366":{"position":[[1272,4]]},"1367":{"position":[[6923,4],[11459,4]]},"1370":{"position":[[921,4]]},"1373":{"position":[[5494,5],[5604,4],[6990,4]]},"1374":{"position":[[761,4],[956,4]]},"1382":{"position":[[3408,4],[7847,5],[7958,4],[9310,4]]},"1383":{"position":[[1646,4],[8448,4],[8511,4],[8788,4]]},"1384":{"position":[[4570,4],[5787,4],[7159,4],[8777,4],[9467,4],[9732,5],[9972,5],[13911,5],[14022,4],[14201,4],[15655,4]]},"1385":{"position":[[4189,4],[5538,4]]},"1387":{"position":[[7172,5],[7282,4],[7460,4],[8911,4]]},"1388":{"position":[[3708,4],[8572,4]]},"1393":{"position":[[1496,4]]},"1395":{"position":[[953,4]]},"1398":{"position":[[1603,4],[3551,4],[6687,4]]},"1402":{"position":[[1892,5]]},"1403":{"position":[[1476,4]]},"1410":{"position":[[1843,4]]},"1412":{"position":[[1864,4]]},"1415":{"position":[[4071,4],[4949,4]]},"1422":{"position":[[1109,4]]},"1426":{"position":[[1182,4],[2756,4]]},"1427":{"position":[[2079,4]]},"1429":{"position":[[2743,4]]},"1438":{"position":[[841,4]]},"1439":{"position":[[2365,4]]},"1440":{"position":[[2931,4]]},"1442":{"position":[[736,4]]},"1454":{"position":[[4635,4],[5560,4],[7674,4]]},"1455":{"position":[[1241,4],[2283,4]]},"1461":{"position":[[1157,4]]},"1467":{"position":[[5227,4],[8655,4]]},"1469":{"position":[[1045,4]]},"1471":{"position":[[1908,4]]},"1472":{"position":[[1867,4]]},"1473":{"position":[[2182,4],[4026,4]]},"1477":{"position":[[801,4]]},"1478":{"position":[[1292,4]]},"1487":{"position":[[866,4]]}},"keywords":{}}],["line).target",{"_index":4587,"title":{},"content":{"937":{"position":[[429,12]]}},"keywords":{}}],["line.buck2",{"_index":4667,"title":{},"content":{"942":{"position":[[209,10]]}},"keywords":{}}],["linear_alloc_hard_limit",{"_index":6441,"title":{},"content":{"1350":{"position":[[2060,24]]},"1352":{"position":[[2059,24]]}},"keywords":{}}],["lines,json",{"_index":3994,"title":{},"content":{"865":{"position":[[208,10]]}},"keywords":{}}],["lines.gz",{"_index":3996,"title":{},"content":{"865":{"position":[[236,9],[514,8]]},"1140":{"position":[[804,9]]},"1188":{"position":[[857,9]]}},"keywords":{}}],["lines.zst",{"_index":3995,"title":{},"content":{"865":{"position":[[219,10]]},"1140":{"position":[[847,10]]},"1188":{"position":[[900,10]]}},"keywords":{}}],["linesh",{"_index":5778,"title":{},"content":{"1120":{"position":[[863,6]]}},"keywords":{}}],["linetarget_compatible_with",{"_index":6383,"title":{},"content":{"1348":{"position":[[2848,27]]},"1349":{"position":[[993,27]]},"1350":{"position":[[3964,27]]},"1352":{"position":[[3963,27]]},"1353":{"position":[[1567,27]]},"1354":{"position":[[1405,27]]},"1356":{"position":[[911,27]]},"1357":{"position":[[584,27]]},"1358":{"position":[[1305,27]]},"1359":{"position":[[1142,27]]},"1361":{"position":[[1132,27]]},"1365":{"position":[[1066,27]]},"1368":{"position":[[1622,27]]},"1369":{"position":[[674,27]]},"1371":{"position":[[550,27]]},"1372":{"position":[[2188,27]]},"1373":{"position":[[3060,27]]},"1375":{"position":[[586,27]]},"1376":{"position":[[542,27]]},"1377":{"position":[[781,27]]},"1378":{"position":[[528,27]]},"1379":{"position":[[551,27]]},"1380":{"position":[[1022,27]]},"1381":{"position":[[928,27]]},"1385":{"position":[[2247,27]]},"1386":{"position":[[885,27]]},"1387":{"position":[[4516,27]]},"1389":{"position":[[4569,27]]},"1390":{"position":[[821,27]]},"1391":{"position":[[774,27]]},"1392":{"position":[[924,27]]},"1394":{"position":[[944,27]]},"1396":{"position":[[750,27]]},"1397":{"position":[[931,27]]},"1399":{"position":[[786,27]]},"1400":{"position":[[655,27]]},"1401":{"position":[[730,27]]},"1402":{"position":[[886,27]]},"1404":{"position":[[719,27]]},"1405":{"position":[[1410,27]]},"1406":{"position":[[626,27]]},"1407":{"position":[[1451,27]]},"1408":{"position":[[1147,27]]},"1409":{"position":[[681,27]]},"1411":{"position":[[664,27]]},"1413":{"position":[[2048,27]]},"1414":{"position":[[915,27]]},"1415":{"position":[[2897,27]]},"1416":{"position":[[1549,27]]},"1417":{"position":[[1138,27]]},"1418":{"position":[[839,27]]},"1419":{"position":[[967,27]]},"1420":{"position":[[1231,27]]},"1421":{"position":[[1206,27]]},"1423":{"position":[[1098,27]]},"1424":{"position":[[1223,27]]},"1425":{"position":[[839,27]]},"1428":{"position":[[821,27]]},"1430":{"position":[[1597,27]]},"1431":{"position":[[941,27]]},"1432":{"position":[[1462,27]]},"1433":{"position":[[983,27]]},"1434":{"position":[[657,27]]},"1435":{"position":[[621,27]]},"1436":{"position":[[637,27]]},"1437":{"position":[[707,27]]},"1441":{"position":[[663,27]]},"1443":{"position":[[958,27]]},"1444":{"position":[[874,27]]},"1445":{"position":[[563,27]]},"1446":{"position":[[897,27]]},"1447":{"position":[[779,27]]},"1448":{"position":[[1214,27]]},"1449":{"position":[[1148,27]]},"1450":{"position":[[1027,27]]},"1451":{"position":[[1027,27]]},"1452":{"position":[[573,27]]},"1453":{"position":[[1159,27]]},"1454":{"position":[[3525,27]]},"1455":{"position":[[1412,27]]},"1456":{"position":[[757,27]]},"1457":{"position":[[816,27]]},"1458":{"position":[[1351,27]]},"1459":{"position":[[830,27]]},"1460":{"position":[[942,27]]},"1462":{"position":[[4538,27]]},"1463":{"position":[[664,27]]},"1464":{"position":[[572,27]]},"1465":{"position":[[1670,27]]},"1466":{"position":[[908,27]]},"1468":{"position":[[672,27]]},"1470":{"position":[[3574,27]]},"1474":{"position":[[1573,27]]},"1475":{"position":[[2044,27]]},"1476":{"position":[[649,27]]},"1479":{"position":[[741,27]]},"1480":{"position":[[1154,27]]},"1481":{"position":[[1687,27]]},"1482":{"position":[[761,27]]},"1483":{"position":[[595,27]]},"1484":{"position":[[667,27]]},"1485":{"position":[[927,27]]},"1486":{"position":[[1171,27]]}},"keywords":{}}],["link",{"_index":4,"title":{"1":{"position":[[28,6]]}},"content":{"704":{"position":[[223,4],[2214,4]]},"706":{"position":[[1269,5],[1483,4]]},"911":{"position":[[190,5]]},"919":{"position":[[745,4]]},"1048":{"position":[[59,4],[971,4]]},"1050":{"position":[[302,7],[328,9]]},"1104":{"position":[[1857,7]]},"1362":{"position":[[7860,4],[9756,8],[9814,4],[9902,4],[10126,4],[10215,4],[10314,4],[10609,7],[10627,4],[10684,4],[11142,4],[11166,6],[12018,4]]},"1364":{"position":[[6737,4],[8099,4],[8709,4],[10870,8],[10928,4],[11016,4],[11240,4],[11329,4],[11428,4],[11651,4],[12109,4],[12133,6]]},"1367":{"position":[[10673,8],[10731,4],[10819,4],[11043,4],[11132,4],[11231,4],[11512,4],[11536,6],[13741,6]]},"1373":{"position":[[2854,6],[5201,4],[5657,4],[5681,6],[7039,4],[8643,6]]},"1382":{"position":[[3185,4],[6482,8],[6540,4],[6628,4],[6852,4],[6941,4],[7040,4],[7281,4],[7478,7],[7496,4],[7553,4],[8011,4],[8035,6],[9359,4]]},"1383":{"position":[[3712,4],[3840,4],[4033,6],[4133,6]]},"1384":{"position":[[5782,4],[7277,4],[8895,4],[9585,4],[12836,8],[12894,4],[12982,4],[13206,4],[13295,4],[13394,4],[13617,4],[14075,4],[14099,6],[14254,4],[14310,5],[14361,6],[14408,4],[14419,7],[15704,4],[16702,7]]},"1385":{"position":[[4242,4],[4266,6],[5587,4]]},"1386":{"position":[[4731,4]]},"1387":{"position":[[6677,4],[7335,4],[7359,6],[7513,4],[7569,5],[7620,6],[7667,4],[8960,4]]},"1388":{"position":[[7351,8],[7409,4],[7497,4],[7721,4],[7810,4],[7909,4],[8150,4],[8347,7],[8365,4],[8422,4],[8625,4],[8649,6]]},"1405":{"position":[[2617,4],[2696,4],[2756,4],[2972,4]]},"1407":{"position":[[3038,4],[3117,4],[3177,4],[3393,4]]},"1410":{"position":[[3140,4],[3219,4],[3757,4],[3974,4],[4246,4]]},"1415":{"position":[[3722,4],[4124,4],[4148,6],[4998,4],[5104,6],[5662,4],[5973,4]]},"1416":{"position":[[2579,4],[2775,7],[2793,4],[2849,4]]},"1421":{"position":[[2148,7],[2276,6],[2361,6]]},"1429":{"position":[[6186,4]]},"1454":{"position":[[3352,6],[4630,4],[5678,4],[7565,4],[7727,4],[7783,5],[7834,6],[7881,4],[9001,7],[9531,7]]},"1455":{"position":[[1236,4],[2278,4],[3049,4],[3220,4],[3349,7],[3393,4],[3596,6],[3718,4],[3847,7],[3891,4],[4113,4],[4250,7],[4298,4],[4534,6]]},"1461":{"position":[[2248,7],[2323,4],[2455,6]]},"1462":{"position":[[5688,7],[5767,4],[6199,4],[6395,7],[6413,4],[6493,7],[6599,4],[6704,4],[6753,6]]},"1465":{"position":[[2708,7],[2783,4],[2915,6]]},"1467":{"position":[[6184,7],[6263,4],[6320,6],[6847,7],[6922,4],[7054,6],[7312,4],[7509,7],[7527,4],[7608,7],[7714,4],[7819,4],[7868,6]]},"1471":{"position":[[3816,4],[4961,4]]},"1472":{"position":[[3287,4],[4400,4]]},"1473":{"position":[[4137,4],[5282,4]]},"1485":{"position":[[4960,5]]}},"keywords":{}}],["link_deps_query_whol",{"_index":7038,"title":{},"content":{"1373":{"position":[[1640,22]]},"1382":{"position":[[1679,22]]},"1384":{"position":[[2435,22]]},"1388":{"position":[[1864,22]]},"1415":{"position":[[1356,22]]},"1416":{"position":[[751,22]]},"1462":{"position":[[2135,22]]},"1467":{"position":[[2310,22]]}},"keywords":{}}],["link_execution_prefer",{"_index":6737,"title":{},"content":{"1362":{"position":[[2718,26],[9700,26]]},"1364":{"position":[[2729,26],[10814,26]]},"1367":{"position":[[4018,26],[10617,26]]},"1382":{"position":[[1712,26],[6426,26]]},"1384":{"position":[[2468,26],[12780,26]]},"1388":{"position":[[1897,26],[7295,26]]},"1462":{"position":[[2168,26]]},"1467":{"position":[[2343,26]]}},"keywords":{}}],["link_group",{"_index":6738,"title":{},"content":{"1362":{"position":[[2761,11]]},"1364":{"position":[[2772,11]]},"1367":{"position":[[4061,11]]},"1373":{"position":[[1673,11]]},"1382":{"position":[[1755,11]]},"1384":{"position":[[2511,11]]},"1387":{"position":[[2485,11]]},"1388":{"position":[[1940,11]]},"1415":{"position":[[1389,11]]},"1462":{"position":[[2211,11]]},"1467":{"position":[[2386,11]]},"1471":{"position":[[1085,11]]},"1473":{"position":[[1137,11]]}},"keywords":{}}],["link_group_dep",{"_index":7148,"title":{},"content":{"1382":{"position":[[1783,16],[7219,16]]},"1388":{"position":[[1968,16],[8088,16]]},"1416":{"position":[[784,16]]},"1462":{"position":[[2239,16],[6136,17]]},"1467":{"position":[[2414,16],[7250,16]]}},"keywords":{}}],["link_group_map",{"_index":6739,"title":{},"content":{"1362":{"position":[[2789,15]]},"1364":{"position":[[2800,15]]},"1367":{"position":[[4089,15]]},"1373":{"position":[[1701,15]]},"1382":{"position":[[1815,15]]},"1384":{"position":[[2539,15]]},"1387":{"position":[[2513,15]]},"1388":{"position":[[2000,15]]},"1415":{"position":[[1417,15]]},"1416":{"position":[[816,15]]},"1462":{"position":[[2271,15]]},"1467":{"position":[[2446,15]]},"1471":{"position":[[1113,15]]},"1473":{"position":[[1165,15]]}},"keywords":{}}],["link_group_min_binary_node_count",{"_index":7149,"title":{},"content":{"1382":{"position":[[1971,33]]},"1388":{"position":[[2156,33]]},"1462":{"position":[[2427,33]]},"1467":{"position":[[2602,33]]},"1471":{"position":[[1269,33]]},"1473":{"position":[[1321,33]]}},"keywords":{}}],["link_group_public_deps_label",{"_index":6742,"title":{},"content":{"1362":{"position":[[2945,29],[10493,29]]},"1382":{"position":[[2021,29],[7362,29]]},"1388":{"position":[[2206,29],[8231,29]]},"1416":{"position":[[972,29]]},"1462":{"position":[[2477,29]]},"1467":{"position":[[2652,29],[7393,29]]}},"keywords":{}}],["link_info_has_default_filelist",{"_index":5593,"title":{},"content":{"1086":{"position":[[703,31]]}},"keywords":{}}],["link_info_has_default_filelist(children",{"_index":5585,"title":{},"content":{"1086":{"position":[[442,40]]}},"keywords":{}}],["link_mod",{"_index":7722,"title":{},"content":{"1405":{"position":[[785,10]]},"1407":{"position":[[812,10]]},"1410":{"position":[[989,10],[3731,10]]}},"keywords":{}}],["link_ord",{"_index":6743,"title":{},"content":{"1362":{"position":[[2991,14]]},"1364":{"position":[[2956,14]]},"1367":{"position":[[4245,14]]},"1382":{"position":[[2067,14]]},"1384":{"position":[[2695,14]]},"1387":{"position":[[2669,14]]},"1388":{"position":[[2252,14]]},"1389":{"position":[[2603,14]]},"1462":{"position":[[2523,14]]},"1467":{"position":[[2698,14]]}},"keywords":{}}],["link_path_normalization_args_en",{"_index":7373,"title":{},"content":{"1389":{"position":[[2627,37]]}},"keywords":{}}],["link_styl",{"_index":560,"title":{},"content":{"18":{"position":[[690,10]]},"1362":{"position":[[3022,11],[10640,11]]},"1364":{"position":[[2987,11],[11607,11]]},"1367":{"position":[[4276,11]]},"1373":{"position":[[1857,11]]},"1382":{"position":[[2098,11],[7509,11]]},"1384":{"position":[[2726,11],[13573,11],[16714,10]]},"1387":{"position":[[2700,11],[6632,12]]},"1388":{"position":[[2283,11],[8378,11]]},"1389":{"position":[[2675,11],[5793,10]]},"1405":{"position":[[812,11]]},"1407":{"position":[[839,11]]},"1410":{"position":[[1016,11],[3930,11]]},"1415":{"position":[[1573,11]]},"1416":{"position":[[1018,11]]},"1419":{"position":[[649,11]]},"1454":{"position":[[9013,10]]},"1462":{"position":[[2554,11]]},"1467":{"position":[[2729,11]]},"1471":{"position":[[1319,11],[3772,11]]},"1472":{"position":[[1182,11],[4356,11]]},"1473":{"position":[[1371,11],[4093,11]]}},"keywords":{}}],["link_weight",{"_index":7374,"title":{},"content":{"1389":{"position":[[2696,12]]}},"keywords":{}}],["link_whol",{"_index":6744,"title":{},"content":{"1362":{"position":[[3050,11]]},"1364":{"position":[[3015,11]]},"1367":{"position":[[4297,11]]},"1382":{"position":[[2126,11]]},"1384":{"position":[[2754,11]]},"1387":{"position":[[2728,11]]},"1388":{"position":[[2311,11]]},"1420":{"position":[[726,11]]},"1454":{"position":[[1574,11]]},"1462":{"position":[[2575,11]]},"1467":{"position":[[2750,11]]}},"keywords":{}}],["link_without_sonam",{"_index":8147,"title":{},"content":{"1454":{"position":[[1596,20]]}},"keywords":{}}],["linkabl",{"_index":7850,"title":{},"content":{"1416":{"position":[[2455,8]]},"1420":{"position":[[2137,8]]}},"keywords":{}}],["linkag",{"_index":7204,"title":{},"content":{"1384":{"position":[[16583,7]]},"1454":{"position":[[8882,7]]}},"keywords":{}}],["linkdata",{"_index":5671,"title":{},"content":{"1104":{"position":[[2375,8],[2384,8]]}},"keywords":{}}],["linker",{"_index":3637,"title":{},"content":{"704":{"position":[[652,6]]},"1362":{"position":[[7727,6],[10839,6],[10963,6],[11002,7],[11074,6],[11613,6],[11876,6],[11954,6]]},"1364":{"position":[[7966,6],[8165,6],[8498,6],[8576,6],[11806,6],[11930,6],[11969,7],[12041,6]]},"1367":{"position":[[11444,6]]},"1373":{"position":[[5355,6],[5479,6],[5518,7],[5589,6],[6634,6],[6897,6],[6975,6]]},"1382":{"position":[[7708,6],[7832,6],[7871,7],[7943,6],[8954,6],[9217,6],[9295,6]]},"1383":{"position":[[3296,7],[3338,6],[3457,6],[3667,6],[3795,6],[4011,6],[4111,6]]},"1384":{"position":[[7144,6],[8351,6],[8684,6],[8762,6],[9452,6],[9717,6],[9793,6],[9957,6],[13772,6],[13896,6],[13935,7],[14007,6],[14186,6],[15299,6],[15562,6],[15640,6]]},"1385":{"position":[[4174,6],[5182,6],[5445,6],[5523,6]]},"1387":{"position":[[7033,6],[7157,6],[7196,7],[7267,6],[7445,6],[8555,6],[8818,6],[8896,6]]},"1388":{"position":[[8557,6]]},"1389":{"position":[[2718,7]]},"1390":{"position":[[1719,7],[1772,6]]},"1405":{"position":[[2591,6],[3217,6]]},"1407":{"position":[[3012,6],[3638,6]]},"1410":{"position":[[3114,6],[4220,6]]},"1415":{"position":[[4056,6],[4593,6],[4856,6],[4934,6]]},"1421":{"position":[[2106,6]]},"1454":{"position":[[5545,6],[7659,6]]},"1462":{"position":[[6450,6],[8620,6]]},"1467":{"position":[[7565,6],[10102,6]]},"1471":{"position":[[3974,7]]},"1472":{"position":[[3449,7],[4558,7]]},"1473":{"position":[[4295,7]]},"1485":{"position":[[4627,6]]}},"keywords":{}}],["linker/compil",{"_index":4079,"title":{},"content":{"872":{"position":[[897,15]]}},"keywords":{}}],["linker_extra_output",{"_index":6745,"title":{},"content":{"1362":{"position":[[3079,21],[10785,21]]},"1364":{"position":[[3044,21],[11752,21]]},"1367":{"position":[[4326,21]]},"1373":{"position":[[1885,21]]},"1382":{"position":[[2148,21],[7654,21]]},"1384":{"position":[[2783,21],[13718,21]]},"1385":{"position":[[1135,21]]},"1387":{"position":[[2750,21]]},"1388":{"position":[[2333,21]]},"1415":{"position":[[1601,21]]},"1462":{"position":[[2597,21]]},"1467":{"position":[[2772,21]]}},"keywords":{}}],["linker_flag",{"_index":6746,"title":{},"content":{"1362":{"position":[[3116,13],[10910,12],[11040,13]]},"1364":{"position":[[3081,13],[11877,12],[12007,13]]},"1367":{"position":[[4363,13],[11410,13],[13951,12]]},"1373":{"position":[[1922,13],[5426,12]]},"1382":{"position":[[2185,13],[7779,12],[7909,13]]},"1384":{"position":[[2820,13],[13843,12],[13973,13]]},"1385":{"position":[[1172,13]]},"1387":{"position":[[2787,13],[7104,12]]},"1388":{"position":[[2370,13],[8523,13]]},"1389":{"position":[[2731,13]]},"1390":{"position":[[486,13]]},"1391":{"position":[[487,13]]},"1392":{"position":[[484,13]]},"1405":{"position":[[840,13]]},"1407":{"position":[[867,13]]},"1410":{"position":[[1044,13],[4200,13]]},"1415":{"position":[[1638,13]]},"1416":{"position":[[1046,13]]},"1417":{"position":[[727,13]]},"1419":{"position":[[666,13]]},"1420":{"position":[[748,13]]},"1448":{"position":[[605,13]]},"1449":{"position":[[599,13]]},"1450":{"position":[[605,13]]},"1451":{"position":[[605,13]]},"1454":{"position":[[1627,13]]},"1462":{"position":[[2634,13]]},"1467":{"position":[[2809,13],[7540,13]]},"1471":{"position":[[1347,13],[3917,13]]},"1472":{"position":[[1210,13],[4501,13]]},"1473":{"position":[[1399,13],[4238,13]]}},"keywords":{}}],["linker_typ",{"_index":7375,"title":{},"content":{"1389":{"position":[[2760,12]]}},"keywords":{}}],["linkinfo",{"_index":5587,"title":{},"content":{"1086":{"position":[[502,9],[612,9]]}},"keywords":{}}],["linkinfostset",{"_index":5591,"title":{},"content":{"1086":{"position":[[622,13]]}},"keywords":{}}],["linking.static_lib",{"_index":8180,"title":{},"content":{"1454":{"position":[[9098,19]]}},"keywords":{}}],["linking.static_pic_lib",{"_index":8181,"title":{},"content":{"1454":{"position":[[9172,23]]}},"keywords":{}}],["linking.supported_platforms_regex",{"_index":8182,"title":{},"content":{"1454":{"position":[[9254,34]]}},"keywords":{}}],["linkpackage_root",{"_index":7735,"title":{},"content":{"1405":{"position":[[3243,17]]},"1407":{"position":[[3664,17]]}},"keywords":{}}],["links).platform_compiler_flag",{"_index":7303,"title":{},"content":{"1387":{"position":[[7678,31]]}},"keywords":{}}],["links).platform_shared_lib",{"_index":8175,"title":{},"content":{"1454":{"position":[[7892,27]]}},"keywords":{}}],["links.dep",{"_index":8321,"title":{},"content":{"1462":{"position":[[5824,11]]}},"keywords":{}}],["lint",{"_index":6047,"title":{"1222":{"position":[[14,5]]}},"content":{"1221":{"position":[[90,4]]},"1222":{"position":[[55,4]]}},"keywords":{}}],["linter",{"_index":772,"title":{},"content":{"23":{"position":[[3016,8]]},"1221":{"position":[[112,7]]},"1222":{"position":[[17,7]]}},"keywords":{}}],["linux",{"_index":466,"title":{},"content":{"15":{"position":[[665,5]]},"24":{"position":[[1126,6]]},"690":{"position":[[3213,6],[3309,6]]},"919":{"position":[[2246,5],[2455,5]]},"927":{"position":[[55,5]]},"937":{"position":[[107,6],[4119,6],[4385,6]]},"938":{"position":[[753,5]]},"940":{"position":[[1055,5]]},"942":{"position":[[285,5]]},"943":{"position":[[1034,5],[1635,5],[1711,5],[1859,5]]},"944":{"position":[[1205,5],[1214,5]]},"1060":{"position":[[13,5]]},"1061":{"position":[[165,6]]},"1136":{"position":[[2890,6]]},"1138":{"position":[[6552,6]]},"1140":{"position":[[5478,6]]},"1142":{"position":[[922,6]]},"1146":{"position":[[862,6]]},"1148":{"position":[[3902,6]]},"1155":{"position":[[958,6]]},"1156":{"position":[[536,6]]},"1167":{"position":[[6482,6]]},"1169":{"position":[[321,6]]},"1186":{"position":[[2126,6]]},"1187":{"position":[[2139,6]]},"1188":{"position":[[6865,6]]},"1191":{"position":[[726,6]]},"1192":{"position":[[901,6]]},"1193":{"position":[[953,6]]},"1194":{"position":[[593,6]]},"1195":{"position":[[571,6]]},"1196":{"position":[[381,6]]},"1197":{"position":[[1364,6]]},"1198":{"position":[[1374,6]]},"1199":{"position":[[1402,6]]},"1200":{"position":[[1269,6]]},"1201":{"position":[[529,6]]},"1202":{"position":[[1671,6],[6068,6]]},"1203":{"position":[[763,6]]},"1204":{"position":[[607,6]]},"1205":{"position":[[1936,6]]},"1206":{"position":[[407,6]]},"1207":{"position":[[564,6]]},"1209":{"position":[[1912,6]]},"1217":{"position":[[5223,6]]},"1219":{"position":[[1209,6]]},"1222":{"position":[[333,6]]},"1223":{"position":[[343,6]]},"1224":{"position":[[523,6]]},"1226":{"position":[[5691,6]]},"1228":{"position":[[7304,6]]},"1235":{"position":[[3172,6]]},"1237":{"position":[[5861,6]]},"1360":{"position":[[2845,5]]},"1383":{"position":[[2430,5]]},"1384":{"position":[[18604,6]]},"1403":{"position":[[2260,5]]},"1472":{"position":[[5920,6]]}},"keywords":{}}],["linux"",{"_index":7104,"title":{},"content":{"1374":{"position":[[3731,12],[3988,12]]}},"keywords":{}}],["lipo",{"_index":6994,"title":{},"content":{"1368":{"position":[[943,5]]},"1370":{"position":[[762,5]]}},"keywords":{}}],["list",{"_index":390,"title":{"562":{"position":[[0,4]]},"577":{"position":[[14,6]]},"652":{"position":[[0,5]]},"989":{"position":[[24,6]]},"990":{"position":[[27,6]]}},"content":{"12":{"position":[[73,4]]},"17":{"position":[[1124,4]]},"18":{"position":[[1901,7]]},"23":{"position":[[3488,4]]},"33":{"position":[[49,4]]},"41":{"position":[[282,4]]},"63":{"position":[[194,4]]},"65":{"position":[[42,4],[154,5]]},"74":{"position":[[98,4]]},"92":{"position":[[619,4],[774,4],[2426,5]]},"94":{"position":[[1269,4],[3676,6],[3744,4]]},"98":{"position":[[843,4]]},"99":{"position":[[956,4]]},"137":{"position":[[104,4],[135,4]]},"139":{"position":[[98,4]]},"166":{"position":[[194,4]]},"174":{"position":[[282,4]]},"189":{"position":[[49,4]]},"224":{"position":[[619,4],[774,4],[2426,5]]},"226":{"position":[[1269,4],[3676,6],[3744,4]]},"230":{"position":[[843,4]]},"231":{"position":[[956,4]]},"240":{"position":[[188,4]]},"242":{"position":[[166,4],[240,4]]},"260":{"position":[[104,4],[135,4]]},"262":{"position":[[98,4]]},"285":{"position":[[71,4]]},"294":{"position":[[1117,4],[1329,4]]},"297":{"position":[[945,4],[1084,4]]},"298":{"position":[[1806,4]]},"301":{"position":[[832,4],[1269,4]]},"309":{"position":[[689,4]]},"310":{"position":[[537,4],[769,4]]},"311":{"position":[[385,4],[588,4]]},"329":{"position":[[248,4]]},"337":{"position":[[318,7]]},"338":{"position":[[347,7]]},"368":{"position":[[2943,4],[3313,4]]},"373":{"position":[[165,4]]},"374":{"position":[[2118,8]]},"396":{"position":[[403,4]]},"402":{"position":[[625,4]]},"404":{"position":[[162,4]]},"405":{"position":[[1083,5],[1237,4],[1539,5]]},"409":{"position":[[105,4]]},"410":{"position":[[43,5]]},"417":{"position":[[395,5]]},"418":{"position":[[597,4],[1067,4]]},"427":{"position":[[373,4]]},"449":{"position":[[107,4]]},"453":{"position":[[42,4],[154,5]]},"470":{"position":[[188,4]]},"478":{"position":[[199,7]]},"492":{"position":[[194,4]]},"497":{"position":[[98,4]]},"548":{"position":[[194,4]]},"555":{"position":[[71,4],[123,4]]},"556":{"position":[[59,4],[114,4]]},"561":{"position":[[63,4],[122,4]]},"563":{"position":[[71,5],[106,4],[152,4]]},"564":{"position":[[49,4],[96,4],[137,4]]},"565":{"position":[[77,4],[185,4],[256,4]]},"566":{"position":[[136,5],[188,4],[280,4],[345,4]]},"567":{"position":[[83,5],[131,4],[295,4],[431,4]]},"568":{"position":[[85,5],[150,4],[282,5],[298,4]]},"569":{"position":[[74,4],[144,4],[190,4]]},"570":{"position":[[526,4]]},"577":{"position":[[131,4],[189,4],[261,4],[341,4],[441,4],[626,4]]},"583":{"position":[[14,4],[167,4],[232,5]]},"585":{"position":[[23,4]]},"587":{"position":[[0,5]]},"590":{"position":[[389,5],[468,9]]},"592":{"position":[[266,9]]},"616":{"position":[[176,4],[791,5]]},"617":{"position":[[96,4],[158,4]]},"637":{"position":[[36,4],[81,4]]},"638":{"position":[[772,4]]},"639":{"position":[[105,4],[171,4]]},"652":{"position":[[60,5],[78,5],[158,4],[233,6],[260,5],[266,6]]},"665":{"position":[[115,4]]},"666":{"position":[[126,4]]},"668":{"position":[[214,4]]},"673":{"position":[[112,4],[402,4]]},"681":{"position":[[174,4]]},"682":{"position":[[51,5],[242,6]]},"683":{"position":[[215,4]]},"711":{"position":[[410,4],[491,4]]},"718":{"position":[[112,8],[602,4]]},"720":{"position":[[98,4]]},"722":{"position":[[591,4],[873,5],[1067,4]]},"747":{"position":[[2943,4],[3313,4]]},"752":{"position":[[165,4]]},"753":{"position":[[2118,8]]},"775":{"position":[[403,4]]},"781":{"position":[[625,4]]},"783":{"position":[[162,4]]},"784":{"position":[[1083,5],[1237,4],[1539,5]]},"788":{"position":[[105,4]]},"789":{"position":[[43,5]]},"796":{"position":[[395,5]]},"797":{"position":[[597,4],[1067,4]]},"806":{"position":[[373,4]]},"828":{"position":[[107,4]]},"846":{"position":[[1926,4]]},"851":{"position":[[658,4],[814,4],[1013,4],[1178,4]]},"888":{"position":[[109,6]]},"890":{"position":[[1095,5],[2057,5],[5551,4],[5585,4],[5839,4],[6071,4]]},"898":{"position":[[486,5],[536,4],[1216,4],[1332,4],[1360,4],[1481,4],[1590,5]]},"900":{"position":[[709,4],[762,4]]},"902":{"position":[[760,4]]},"910":{"position":[[125,4]]},"911":{"position":[[164,5]]},"914":{"position":[[59,4]]},"921":{"position":[[46,4]]},"924":{"position":[[200,5]]},"939":{"position":[[81,4]]},"942":{"position":[[772,4]]},"955":{"position":[[736,8]]},"988":{"position":[[478,6],[498,4],[547,4],[804,5]]},"989":{"position":[[13,5],[133,4],[349,4],[490,4]]},"990":{"position":[[7,5],[635,4],[703,4],[790,5],[1054,4],[1202,5]]},"1001":{"position":[[300,4]]},"1019":{"position":[[218,4]]},"1020":{"position":[[130,4],[239,4]]},"1022":{"position":[[392,4]]},"1032":{"position":[[83,4]]},"1040":{"position":[[139,4],[297,4],[444,6],[876,4]]},"1044":{"position":[[485,4],[1398,4]]},"1048":{"position":[[178,4]]},"1050":{"position":[[1276,4],[3610,4]]},"1052":{"position":[[1147,4],[1396,5]]},"1053":{"position":[[166,4]]},"1064":{"position":[[356,4],[1805,4],[1962,4]]},"1067":{"position":[[435,4]]},"1069":{"position":[[14,4],[204,4],[428,4]]},"1082":{"position":[[399,4],[610,4]]},"1083":{"position":[[446,4]]},"1088":{"position":[[490,6]]},"1104":{"position":[[1095,4],[2205,4],[2367,4]]},"1105":{"position":[[222,4],[253,4],[1450,4]]},"1112":{"position":[[2027,4],[2250,4],[3477,4],[3957,4],[4753,4]]},"1124":{"position":[[102,4]]},"1126":{"position":[[216,5]]},"1136":{"position":[[449,4],[916,4],[1879,4],[2165,6],[2762,4],[2812,4],[5260,4]]},"1138":{"position":[[1412,4],[1705,4],[1955,4],[5631,4],[6424,4],[6474,4],[8922,4]]},"1140":{"position":[[1194,4],[1444,4],[5350,4],[5400,4],[7848,4]]},"1142":{"position":[[794,4],[844,4],[3292,4]]},"1146":{"position":[[734,4],[784,4],[3232,4]]},"1148":{"position":[[990,4],[1272,4],[2235,4],[2521,6],[2981,4],[3774,4],[3824,4],[6272,4]]},"1155":{"position":[[830,4],[880,4],[3328,4]]},"1156":{"position":[[408,4],[458,4],[2906,4]]},"1161":{"position":[[799,4]]},"1167":{"position":[[2198,4],[2448,4],[6354,4],[6404,4],[8852,4]]},"1169":{"position":[[193,4],[243,4]]},"1174":{"position":[[395,4]]},"1178":{"position":[[81,4]]},"1180":{"position":[[80,7]]},"1181":{"position":[[1011,4]]},"1186":{"position":[[1205,4],[1998,4],[2048,4],[4496,4]]},"1187":{"position":[[1218,4],[2011,4],[2061,4],[4509,4]]},"1188":{"position":[[1247,4],[1497,4],[5944,4],[6737,4],[6787,4],[9235,4]]},"1190":{"position":[[132,4],[497,4]]},"1191":{"position":[[36,4],[598,4],[648,4],[3096,4]]},"1192":{"position":[[773,4],[823,4],[3271,4]]},"1193":{"position":[[825,4],[875,4],[3323,4]]},"1194":{"position":[[465,4],[515,4],[2963,4]]},"1195":{"position":[[0,4],[443,4],[493,4],[2941,4]]},"1196":{"position":[[253,4],[303,4],[2751,4]]},"1197":{"position":[[201,4],[206,4],[443,4],[1236,4],[1286,4],[3734,4]]},"1198":{"position":[[453,4],[1246,4],[1296,4],[3744,4]]},"1199":{"position":[[481,4],[1274,4],[1324,4],[3772,4]]},"1200":{"position":[[348,4],[1141,4],[1191,4],[3639,4]]},"1201":{"position":[[401,4],[451,4],[2899,4]]},"1202":{"position":[[1543,4],[1593,4],[4041,4],[5940,4],[5990,4],[8438,4]]},"1203":{"position":[[635,4],[685,4],[3133,4]]},"1204":{"position":[[136,4],[141,4],[479,4],[529,4],[2977,4],[4512,5],[4567,4],[5414,4],[5483,4]]},"1205":{"position":[[1359,4],[1808,4],[1858,4],[4306,4]]},"1206":{"position":[[279,4],[329,4],[2777,4]]},"1207":{"position":[[436,4],[486,4],[2934,4]]},"1209":{"position":[[149,4],[1112,4],[1398,6],[1784,4],[1834,4],[4282,4]]},"1217":{"position":[[939,4],[1189,4],[5095,4],[5145,4],[7593,4]]},"1219":{"position":[[1081,4],[1131,4]]},"1222":{"position":[[205,4],[255,4],[2703,4]]},"1223":{"position":[[215,4],[265,4],[2713,4]]},"1224":{"position":[[395,4],[445,4]]},"1226":{"position":[[3052,4],[5563,4],[5613,4],[8061,4]]},"1228":{"position":[[3020,4],[3270,4],[7176,4],[7226,4],[9674,4]]},"1235":{"position":[[782,4],[1409,4],[2372,4],[2658,6],[3044,4],[3094,4],[5542,4]]},"1237":{"position":[[3222,4],[5733,4],[5783,4],[8231,4]]},"1250":{"position":[[98,4]]},"1252":{"position":[[159,4],[335,5]]},"1253":{"position":[[290,4]]},"1254":{"position":[[696,4]]},"1262":{"position":[[459,5],[496,4],[889,5]]},"1293":{"position":[[459,5],[496,4],[889,5]]},"1321":{"position":[[459,5],[496,4],[889,5]]},"1345":{"position":[[912,4]]},"1348":{"position":[[2878,4],[3004,4],[3135,4],[3262,4],[3352,4],[3496,4],[4310,4]]},"1349":{"position":[[1023,4],[1149,4],[1280,4],[1407,4],[1497,4],[1641,4]]},"1350":{"position":[[3994,4],[4120,4],[4251,4],[4378,4],[4468,4],[4612,4]]},"1351":{"position":[[1215,4],[1342,4],[1474,4],[1602,4],[1693,4],[1839,4],[2125,4]]},"1352":{"position":[[3993,4],[4119,4],[4250,4],[4377,4],[4467,4],[4611,4]]},"1353":{"position":[[1597,4],[1723,4],[1854,4],[1981,4],[2071,4],[2215,4]]},"1354":{"position":[[1435,4],[1561,4],[1692,4],[1819,4],[1909,4],[2053,4],[2510,4]]},"1355":{"position":[[2575,4],[2702,4],[2834,4],[2962,4],[3053,4],[3199,4],[4375,6],[4557,4],[4701,4],[5594,4]]},"1356":{"position":[[941,4],[1067,4],[1198,4],[1325,4],[1415,4],[1559,4]]},"1357":{"position":[[614,4],[740,4],[871,4],[998,4],[1088,4],[1232,4]]},"1358":{"position":[[1335,4],[1461,4],[1592,4],[1719,4],[1809,4],[1953,4]]},"1359":{"position":[[1172,4],[1298,4],[1429,4],[1556,4],[1646,4],[1790,4]]},"1360":{"position":[[1804,4],[1931,4],[2063,4],[2191,4],[2282,4],[2428,4],[5299,4],[5446,5],[5490,5]]},"1361":{"position":[[1162,4],[1288,4],[1419,4],[1546,4],[1636,4],[1780,4]]},"1362":{"position":[[5527,4],[5654,4],[5786,4],[5914,4],[6005,4],[6151,4],[6892,4],[7017,4],[7938,4],[8073,4],[8980,4],[9105,4],[11303,4],[11473,4],[11659,4],[11868,4],[12112,4],[12289,4],[12315,4],[12352,4],[13021,4]]},"1363":{"position":[[3273,4],[3400,4],[3532,4],[3660,4],[3751,4],[3897,4],[4296,4],[4792,4]]},"1364":{"position":[[5556,4],[5683,4],[5815,4],[5943,4],[6034,4],[6180,4],[7131,4],[7256,4],[8281,4],[8490,4],[8787,4],[8922,4],[10094,4],[10219,4],[12270,4],[12440,4],[12617,4],[12794,4],[12820,4],[12857,4],[13721,4]]},"1365":{"position":[[1096,4],[1222,4],[1353,4],[1480,4],[1570,4],[1714,4]]},"1366":{"position":[[1303,4],[1430,4],[1562,4],[1690,4],[1781,4],[1927,4],[2263,4]]},"1367":{"position":[[6954,4],[7081,4],[7213,4],[7341,4],[7432,4],[7578,4],[8026,4],[8161,4],[9068,4],[9193,4],[10325,4],[11673,4],[11843,4],[12020,4],[12197,4],[12223,4],[12260,4],[12929,4]]},"1368":{"position":[[1652,4],[1778,4],[1909,4],[2036,4],[2126,4],[2270,4]]},"1369":{"position":[[704,4],[830,4],[961,4],[1088,4],[1178,4],[1322,4]]},"1370":{"position":[[952,4],[1079,4],[1211,4],[1339,4],[1430,4],[1576,4]]},"1371":{"position":[[580,4],[706,4],[837,4],[964,4],[1054,4],[1198,4]]},"1372":{"position":[[2218,4],[2344,4],[2475,4],[2602,4],[2692,4],[2836,4]]},"1373":{"position":[[3090,4],[3216,4],[3347,4],[3474,4],[3564,4],[3708,4],[4680,4],[6325,4],[6495,4],[6680,4],[6889,4],[7152,4],[7322,4]]},"1374":{"position":[[987,4],[1114,4],[1246,4],[1374,4],[1465,4],[1611,4]]},"1375":{"position":[[616,4],[742,4],[873,4],[1000,4],[1090,4],[1234,4]]},"1376":{"position":[[572,4],[698,4],[829,4],[956,4],[1046,4],[1190,4]]},"1377":{"position":[[811,4],[937,4],[1068,4],[1195,4],[1285,4],[1429,4]]},"1378":{"position":[[558,4],[684,4],[815,4],[942,4],[1032,4],[1176,4]]},"1379":{"position":[[581,4],[707,4],[838,4],[965,4],[1055,4],[1199,4]]},"1380":{"position":[[1052,4],[1178,4],[1309,4],[1436,4],[1526,4],[1670,4]]},"1381":{"position":[[958,4],[1084,4],[1215,4],[1342,4],[1432,4],[1576,4]]},"1382":{"position":[[3128,7],[3439,4],[3566,4],[3698,4],[3826,4],[3917,4],[4063,4],[5750,4],[6251,4],[8172,4],[8342,4],[8522,4],[8699,4],[9000,4],[9209,4],[9473,4],[9643,4],[9828,4],[10005,4],[10031,4],[10068,4],[11383,4]]},"1383":{"position":[[1677,4],[1804,4],[1936,4],[2064,4],[2155,4],[2301,4],[7302,4],[7449,5],[7493,5]]},"1384":{"position":[[4601,4],[4728,4],[4860,4],[4988,4],[5079,4],[5225,4],[6312,4],[7449,4],[7619,4],[7863,4],[8040,4],[8467,4],[8676,4],[9027,4],[9197,4],[10166,4],[10697,4],[11198,4],[11499,5],[12025,5],[12281,5],[12476,5],[14517,4],[14687,4],[14867,4],[15044,4],[15345,4],[15554,4],[15818,4],[15988,4],[16173,4],[16350,4],[16376,4],[16413,4],[16872,4],[17120,4],[19037,4]]},"1385":{"position":[[2277,4],[2403,4],[2534,4],[2661,4],[2751,4],[2895,4],[3663,4],[4402,4],[4572,4],[4751,4],[4928,4],[5228,4],[5437,4],[5700,4],[5870,4],[6054,4],[6231,4],[6257,4],[6294,4],[6961,4]]},"1386":{"position":[[915,4],[1041,4],[1172,4],[1299,4],[1389,4],[1533,4],[2996,4],[5548,4],[5768,5]]},"1387":{"position":[[4546,4],[4672,4],[4803,4],[4930,4],[5020,4],[5164,4],[5548,4],[5996,4],[7775,4],[7945,4],[8124,4],[8301,4],[8601,4],[8810,4],[9073,4],[9243,4],[9427,4],[9604,4],[9630,4],[9667,4],[10334,4]]},"1388":{"position":[[3739,4],[3866,4],[3998,4],[4126,4],[4217,4],[4363,4],[4659,4],[6619,4],[7120,4],[9876,4]]},"1389":{"position":[[4599,4],[4725,4],[4856,4],[4983,4],[5073,4],[5217,4]]},"1390":{"position":[[851,4],[977,4],[1108,4],[1235,4],[1325,4],[1469,4],[1685,4]]},"1391":{"position":[[804,4],[930,4],[1061,4],[1188,4],[1278,4],[1422,4]]},"1392":{"position":[[954,4],[1080,4],[1211,4],[1338,4],[1428,4],[1572,4],[1780,4]]},"1393":{"position":[[1527,4],[1654,4],[1786,4],[1914,4],[2005,4],[2151,4],[4481,6],[7688,4]]},"1394":{"position":[[974,4],[1100,4],[1231,4],[1358,4],[1448,4],[1592,4]]},"1395":{"position":[[984,4],[1111,4],[1243,4],[1371,4],[1462,4],[1608,4],[1913,4]]},"1396":{"position":[[780,4],[906,4],[1037,4],[1164,4],[1254,4],[1398,4]]},"1397":{"position":[[961,4],[1087,4],[1218,4],[1345,4],[1435,4],[1579,4],[1665,4],[2496,4]]},"1398":{"position":[[1634,4],[1761,4],[1893,4],[2021,4],[2112,4],[2258,4],[3424,4],[3524,4],[3658,5],[6657,4]]},"1399":{"position":[[816,4],[942,4],[1073,4],[1200,4],[1290,4],[1434,4]]},"1400":{"position":[[685,4],[811,4],[942,4],[1069,4],[1159,4],[1303,4]]},"1401":{"position":[[760,4],[886,4],[1017,4],[1144,4],[1234,4],[1378,4]]},"1402":{"position":[[916,4],[1042,4],[1173,4],[1300,4],[1390,4],[1534,4],[1708,4]]},"1403":{"position":[[1507,4],[1634,4],[1766,4],[1894,4],[1985,4],[2131,4],[4571,5],[5862,4],[6402,4],[6549,5],[6593,5]]},"1404":{"position":[[749,4],[875,4],[1006,4],[1133,4],[1223,4],[1367,4]]},"1405":{"position":[[1440,4],[1566,4],[1697,4],[1824,4],[1914,4],[2058,4]]},"1406":{"position":[[656,4],[782,4],[913,4],[1040,4],[1130,4],[1274,4]]},"1407":{"position":[[1481,4],[1607,4],[1738,4],[1865,4],[1955,4],[2099,4]]},"1408":{"position":[[1177,4],[1303,4],[1434,4],[1561,4],[1651,4],[1795,4]]},"1409":{"position":[[711,4],[837,4],[968,4],[1095,4],[1185,4],[1329,4]]},"1410":{"position":[[1874,4],[2001,4],[2133,4],[2261,4],[2352,4],[2498,4],[3264,4]]},"1411":{"position":[[694,4],[820,4],[951,4],[1078,4],[1168,4],[1312,4]]},"1412":{"position":[[1895,4],[2022,4],[2154,4],[2282,4],[2373,4],[2519,4],[3053,4]]},"1413":{"position":[[2078,4],[2204,4],[2335,4],[2462,4],[2552,4],[2696,4]]},"1414":{"position":[[945,4],[1071,4],[1202,4],[1329,4],[1419,4],[1563,4]]},"1415":{"position":[[2927,4],[3053,4],[3184,4],[3311,4],[3401,4],[3545,4],[4284,4],[4454,4],[4639,4],[4848,4]]},"1416":{"position":[[1579,4],[1705,4],[1836,4],[1963,4],[2053,4],[2197,4],[3140,4],[3310,4],[3444,4]]},"1417":{"position":[[1168,4],[1294,4],[1425,4],[1552,4],[1642,4],[1786,4]]},"1418":{"position":[[869,4],[995,4],[1126,4],[1253,4],[1343,4],[1487,4]]},"1419":{"position":[[997,4],[1123,4],[1254,4],[1381,4],[1471,4],[1615,4]]},"1420":{"position":[[1261,4],[1387,4],[1518,4],[1645,4],[1735,4],[1879,4],[2277,4],[2447,4],[2581,4]]},"1421":{"position":[[1236,4],[1362,4],[1493,4],[1620,4],[1710,4],[1854,4]]},"1422":{"position":[[1140,4],[1267,4],[1399,4],[1527,4],[1618,4],[1764,4],[1834,4],[2986,4],[3503,4]]},"1423":{"position":[[1128,4],[1254,4],[1385,4],[1512,4],[1602,4],[1746,4],[2274,4]]},"1424":{"position":[[1253,4],[1379,4],[1510,4],[1637,4],[1727,4],[1871,4]]},"1425":{"position":[[869,4],[995,4],[1126,4],[1253,4],[1343,4],[1487,4]]},"1426":{"position":[[1213,4],[1340,4],[1472,4],[1600,4],[1691,4],[1837,4],[1898,4]]},"1427":{"position":[[2110,4],[2237,4],[2369,4],[2497,4],[2588,4],[2734,4],[3520,6],[3702,4],[4649,4],[6641,4]]},"1428":{"position":[[851,4],[977,4],[1108,4],[1235,4],[1325,4],[1469,4]]},"1429":{"position":[[2774,4],[2901,4],[3033,4],[3161,4],[3252,4],[3398,4],[3483,4],[4556,4]]},"1430":{"position":[[1627,4],[1753,4],[1884,4],[2011,4],[2101,4],[2245,4]]},"1431":{"position":[[971,4],[1097,4],[1228,4],[1355,4],[1445,4],[1589,4]]},"1432":{"position":[[1492,4],[1618,4],[1749,4],[1876,4],[1966,4],[2110,4]]},"1433":{"position":[[1013,4],[1139,4],[1270,4],[1397,4],[1487,4],[1631,4]]},"1434":{"position":[[687,4],[813,4],[944,4],[1071,4],[1161,4],[1305,4]]},"1435":{"position":[[651,4],[777,4],[908,4],[1035,4],[1125,4],[1269,4]]},"1436":{"position":[[667,4],[793,4],[924,4],[1051,4],[1141,4],[1285,4]]},"1437":{"position":[[737,4],[863,4],[994,4],[1121,4],[1211,4],[1355,4]]},"1438":{"position":[[872,4],[999,4],[1131,4],[1259,4],[1350,4],[1496,4]]},"1439":{"position":[[2396,4],[2523,4],[2655,4],[2783,4],[2874,4],[3020,4],[4194,6],[4384,4],[4461,4],[7148,4],[7777,4]]},"1440":{"position":[[2962,4],[3089,4],[3221,4],[3349,4],[3440,4],[3586,4],[4638,4]]},"1441":{"position":[[693,4],[819,4],[950,4],[1077,4],[1167,4],[1311,4]]},"1442":{"position":[[767,4],[894,4],[1026,4],[1154,4],[1245,4],[1391,4],[2756,4]]},"1443":{"position":[[988,4],[1114,4],[1245,4],[1372,4],[1462,4],[1606,4]]},"1444":{"position":[[904,4],[1030,4],[1161,4],[1288,4],[1378,4],[1522,4],[1822,4],[2147,5]]},"1445":{"position":[[593,4],[719,4],[850,4],[977,4],[1067,4],[1211,4]]},"1446":{"position":[[927,4],[1053,4],[1184,4],[1311,4],[1401,4],[1545,4],[1598,4]]},"1447":{"position":[[809,4],[935,4],[1066,4],[1193,4],[1283,4],[1427,4]]},"1448":{"position":[[1244,4],[1370,4],[1501,4],[1628,4],[1718,4],[1862,4],[2223,4],[2393,4]]},"1449":{"position":[[1178,4],[1304,4],[1435,4],[1562,4],[1652,4],[1796,4],[2157,4],[2327,4]]},"1450":{"position":[[1057,4],[1183,4],[1314,4],[1441,4],[1531,4],[1675,4]]},"1451":{"position":[[1057,4],[1183,4],[1314,4],[1441,4],[1531,4],[1675,4]]},"1452":{"position":[[603,4],[729,4],[860,4],[987,4],[1077,4],[1221,4]]},"1453":{"position":[[1189,4],[1315,4],[1446,4],[1573,4],[1663,4],[1807,4]]},"1454":{"position":[[3555,4],[3681,4],[3812,4],[3939,4],[4029,4],[4173,4],[5016,4],[5849,4],[6019,4],[6262,4],[6439,4],[6815,4],[6985,4],[7985,4],[8297,4],[8617,4]]},"1455":{"position":[[1442,4],[1568,4],[1699,4],[1826,4],[1916,4],[2060,4],[2620,4],[2790,4],[3445,6],[3943,6],[4350,6]]},"1456":{"position":[[787,4],[913,4],[1044,4],[1171,4],[1261,4],[1405,4]]},"1457":{"position":[[846,4],[972,4],[1103,4],[1230,4],[1320,4],[1464,4]]},"1458":{"position":[[1381,4],[1507,4],[1638,4],[1765,4],[1855,4],[1999,4]]},"1459":{"position":[[860,4],[986,4],[1117,4],[1244,4],[1334,4],[1478,4]]},"1460":{"position":[[972,4],[1098,4],[1229,4],[1356,4],[1446,4],[1590,4]]},"1461":{"position":[[1188,4],[1315,4],[1447,4],[1575,4],[1666,4],[1812,4]]},"1462":{"position":[[4568,4],[4694,4],[4825,4],[4952,4],[5042,4],[5186,4],[5838,4],[8037,4],[8331,4],[8526,4],[8577,6]]},"1463":{"position":[[694,4],[820,4],[951,4],[1078,4],[1168,4],[1312,4]]},"1464":{"position":[[602,4],[728,4],[859,4],[986,4],[1076,4],[1220,4]]},"1465":{"position":[[1700,4],[1826,4],[1957,4],[2084,4],[2174,4],[2318,4],[2622,4],[3201,4],[3348,4],[3612,4],[3759,4]]},"1466":{"position":[[938,4],[1064,4],[1195,4],[1322,4],[1412,4],[1556,4]]},"1467":{"position":[[5258,4],[5385,4],[5517,4],[5645,4],[5736,4],[5882,4],[9097,4],[9470,4],[9617,4],[9813,4],[10008,4],[10059,6],[11110,5]]},"1468":{"position":[[702,4],[828,4],[959,4],[1086,4],[1176,4],[1320,4]]},"1469":{"position":[[1076,4],[1203,4],[1335,4],[1463,4],[1554,4],[1700,4]]},"1470":{"position":[[3604,4],[3730,4],[3861,4],[3988,4],[4078,4],[4222,4],[4294,4]]},"1471":{"position":[[1939,4],[2066,4],[2198,4],[2326,4],[2417,4],[2563,4],[4494,6]]},"1472":{"position":[[1898,4],[2025,4],[2157,4],[2285,4],[2376,4],[2522,4],[5078,6]]},"1473":{"position":[[2213,4],[2340,4],[2472,4],[2600,4],[2691,4],[2837,4],[4815,6]]},"1474":{"position":[[1603,4],[1729,4],[1860,4],[1987,4],[2077,4],[2221,4]]},"1475":{"position":[[2074,4],[2200,4],[2331,4],[2458,4],[2548,4],[2692,4]]},"1476":{"position":[[679,4],[805,4],[936,4],[1063,4],[1153,4],[1297,4]]},"1477":{"position":[[832,4],[959,4],[1091,4],[1219,4],[1310,4],[1456,4],[1932,4]]},"1478":{"position":[[1323,4],[1450,4],[1582,4],[1710,4],[1801,4],[1947,4],[2005,4]]},"1479":{"position":[[771,4],[897,4],[1028,4],[1155,4],[1245,4],[1389,4]]},"1480":{"position":[[1184,4],[1310,4],[1441,4],[1568,4],[1658,4],[1802,4]]},"1481":{"position":[[1717,4],[1843,4],[1974,4],[2101,4],[2191,4],[2335,4]]},"1482":{"position":[[791,4],[917,4],[1048,4],[1175,4],[1265,4],[1409,4]]},"1483":{"position":[[625,4],[751,4],[882,4],[1009,4],[1099,4],[1243,4]]},"1484":{"position":[[697,4],[823,4],[954,4],[1081,4],[1171,4],[1315,4]]},"1485":{"position":[[957,4],[1083,4],[1214,4],[1341,4],[1431,4],[1575,4],[2031,4],[2531,4],[2786,4],[2963,4],[4247,4]]},"1486":{"position":[[1201,4],[1327,4],[1458,4],[1585,4],[1675,4],[1819,4]]},"1487":{"position":[[897,4],[1024,4],[1156,4],[1284,4],[1375,4],[1521,4],[1589,4]]}},"keywords":{}}],["list("hello",{"_index":2753,"title":{},"content":{"590":{"position":[[528,17]]},"592":{"position":[[291,17]]}},"keywords":{}}],["list("str",{"_index":3241,"title":{},"content":{"652":{"position":[[306,18]]}},"keywords":{}}],["list((1,2,3",{"_index":3240,"title":{},"content":{"652":{"position":[[279,13]]}},"keywords":{}}],["list(a",{"_index":3237,"title":{},"content":{"652":{"position":[[4,7]]}},"keywords":{}}],["list(range(10",{"_index":3297,"title":{},"content":{"662":{"position":[[797,15],[929,14]]}},"keywords":{}}],["list(range(3",{"_index":3298,"title":{},"content":{"662":{"position":[[847,13],[891,13]]}},"keywords":{}}],["list(set3.travers",{"_index":5596,"title":{},"content":{"1087":{"position":[[685,21]]}},"keywords":{}}],["list(set3.traverse(ord",{"_index":5603,"title":{},"content":{"1088":{"position":[[1032,27]]}},"keywords":{}}],["list(x",{"_index":3239,"title":{},"content":{"652":{"position":[[136,7]]}},"keywords":{}}],["list.append",{"_index":2560,"title":{"563":{"position":[[0,12]]}},"content":{"563":{"position":[[35,12]]},"890":{"position":[[789,12],[1953,12]]}},"keywords":{}}],["list.append(el",{"_index":2561,"title":{},"content":{"563":{"position":[[4,15]]}},"keywords":{}}],["list.append(x",{"_index":4201,"title":{},"content":{"890":{"position":[[415,14],[895,14]]}},"keywords":{}}],["list.appendmodul",{"_index":4202,"title":{},"content":{"890":{"position":[[530,17]]}},"keywords":{}}],["list.clear",{"_index":2567,"title":{"564":{"position":[[0,11]]}},"content":{"564":{"position":[[4,12],[29,11]]}},"keywords":{}}],["list.extend",{"_index":2569,"title":{"565":{"position":[[0,12]]}},"content":{"565":{"position":[[55,12]]}},"keywords":{}}],["list.extend(oth",{"_index":2570,"title":{},"content":{"565":{"position":[[4,18]]}},"keywords":{}}],["list.index",{"_index":2575,"title":{"566":{"position":[[0,11]]}},"content":{"566":{"position":[[4,11],[89,11]]}},"keywords":{}}],["list.insert",{"_index":2587,"title":{"567":{"position":[[0,12]]}},"content":{"567":{"position":[[47,12]]}},"keywords":{}}],["list.insert(index",{"_index":2588,"title":{},"content":{"567":{"position":[[4,18]]}},"keywords":{}}],["list.pop",{"_index":2595,"title":{"568":{"position":[[0,9]]}},"content":{"568":{"position":[[33,9]]}},"keywords":{}}],["list.pop(index",{"_index":2596,"title":{},"content":{"568":{"position":[[4,15]]}},"keywords":{}}],["list.remov",{"_index":2600,"title":{"569":{"position":[[0,12]]}},"content":{"569":{"position":[[39,12]]}},"keywords":{}}],["list.remove(needl",{"_index":2601,"title":{},"content":{"569":{"position":[[4,19]]}},"keywords":{}}],["list/tupl",{"_index":1275,"title":{},"content":{"99":{"position":[[804,11]]},"231":{"position":[[804,11]]}},"keywords":{}}],["list[("function"",{"_index":1020,"title":{},"content":{"82":{"position":[[33,27]]},"214":{"position":[[33,27]]}},"keywords":{}}],["list[(buck_regex",{"_index":2136,"title":{},"content":{"405":{"position":[[799,16]]},"784":{"position":[[799,16]]}},"keywords":{}}],["list[(dict[str",{"_index":8156,"title":{},"content":{"1454":{"position":[[2484,15],[2591,15],[2689,15],[2780,15],[2849,15],[2917,15],[2979,15],[3037,15],[3099,15],[3165,15]]},"1465":{"position":[[1209,15],[1288,15]]},"1467":{"position":[[4749,15],[4828,15]]}},"keywords":{}}],["list[(int",{"_index":3137,"title":{},"content":{"639":{"position":[[60,10]]},"1466":{"position":[[532,10]]},"1467":{"position":[[3068,10]]}},"keywords":{}}],["list[(non",{"_index":6740,"title":{},"content":{"1362":{"position":[[2829,10]]},"1364":{"position":[[2840,10]]},"1367":{"position":[[4129,10]]},"1373":{"position":[[1741,10]]},"1382":{"position":[[1855,10]]},"1384":{"position":[[2579,10]]},"1387":{"position":[[2553,10]]},"1388":{"position":[[2040,10]]},"1415":{"position":[[1457,10]]},"1416":{"position":[[856,10]]},"1462":{"position":[[2311,10]]},"1467":{"position":[[2486,10]]},"1471":{"position":[[1153,10]]},"1473":{"position":[[1205,10]]}},"keywords":{}}],["list[(str",{"_index":6711,"title":{},"content":{"1362":{"position":[[1380,10],[1531,10],[1586,10],[1663,10],[1729,10],[1837,10],[2514,10],[2587,10],[2818,10],[3249,10],[3292,10],[3338,10],[3406,10],[3463,10],[3506,10],[3615,10]]},"1363":{"position":[[2176,10]]},"1364":{"position":[[1362,10],[1513,10],[1568,10],[1645,10],[1711,10],[1819,10],[2525,10],[2598,10],[2829,10],[3214,10],[3257,10],[3303,10],[3371,10],[3428,10],[3471,10],[3580,10]]},"1367":{"position":[[2510,10],[2661,10],[2716,10],[2793,10],[2859,10],[2967,10],[3814,10],[3887,10],[4118,10],[4496,10],[4539,10],[4585,10],[4653,10],[4710,10],[4753,10],[4862,10]]},"1373":{"position":[[1436,10],[1509,10],[1730,10],[2036,10],[2079,10],[2125,10],[2193,10],[2250,10],[2293,10],[2402,10]]},"1382":{"position":[[1475,10],[1548,10],[1844,10],[2239,10],[2282,10],[2328,10],[2396,10],[2453,10],[2496,10],[2605,10]]},"1384":{"position":[[1125,10],[1327,10],[1382,10],[1459,10],[1525,10],[1633,10],[2231,10],[2304,10],[2568,10],[2938,10],[2981,10],[3027,10],[3095,10],[3152,10],[3195,10],[3304,10]]},"1385":{"position":[[931,10],[1004,10],[1226,10],[1269,10],[1315,10],[1383,10],[1440,10],[1483,10],[1592,10]]},"1387":{"position":[[1204,10],[1406,10],[1461,10],[1538,10],[1604,10],[1712,10],[2281,10],[2354,10],[2542,10],[2905,10],[2948,10],[2994,10],[3062,10],[3119,10],[3162,10],[3271,10]]},"1388":{"position":[[1660,10],[1733,10],[2029,10],[2424,10],[2467,10],[2513,10],[2581,10],[2638,10],[2681,10],[2790,10]]},"1405":{"position":[[957,10]]},"1407":{"position":[[984,10]]},"1415":{"position":[[1152,10],[1225,10],[1446,10],[1692,10],[1735,10],[1781,10],[1849,10],[1906,10],[1949,10],[2058,10]]},"1416":{"position":[[641,10],[845,10],[1138,10],[1189,10]]},"1417":{"position":[[797,10],[848,10]]},"1418":{"position":[[646,10]]},"1419":{"position":[[736,10]]},"1420":{"position":[[586,10],[818,10],[869,10]]},"1431":{"position":[[512,10]]},"1432":{"position":[[599,10]]},"1443":{"position":[[622,10]]},"1444":{"position":[[533,10]]},"1448":{"position":[[716,10],[759,10],[810,10]]},"1449":{"position":[[709,10],[752,10]]},"1450":{"position":[[706,10],[757,10]]},"1451":{"position":[[706,10],[757,10]]},"1453":{"position":[[603,10]]},"1454":{"position":[[727,10],[878,10],[933,10],[1010,10],[1076,10],[1184,10],[1720,10],[1776,10],[1826,10],[1876,10],[1930,10],[2516,10],[2711,10]]},"1455":{"position":[[535,10]]},"1460":{"position":[[749,10]]},"1462":{"position":[[1931,10],[2004,10],[2300,10],[3042,10],[3085,10],[3131,10],[3199,10],[3250,10],[3307,10],[3350,10],[3459,10]]},"1465":{"position":[[805,10],[853,10],[913,10]]},"1467":{"position":[[2106,10],[2179,10],[2475,10],[3246,10],[3289,10],[3335,10],[3403,10],[3454,10],[3511,10],[3559,10],[3619,10],[3728,10]]},"1471":{"position":[[938,10],[1142,10],[1421,10]]},"1472":{"position":[[880,10],[1035,10],[1284,10]]},"1473":{"position":[[969,10],[1194,10],[1473,10]]},"1485":{"position":[[538,10]]}},"keywords":{}}],["list[(typing.ani",{"_index":2510,"title":{},"content":{"555":{"position":[[23,17]]}},"keywords":{}}],["list[actionerrorloc",{"_index":818,"title":{},"content":{"30":{"position":[[33,25]]},"41":{"position":[[98,25]]},"174":{"position":[[98,25]]},"186":{"position":[[33,25]]}},"keywords":{}}],["list[actionsuberror",{"_index":5744,"title":{},"content":{"1112":{"position":[[4019,21]]}},"keywords":{}}],["list[artifact",{"_index":905,"title":{},"content":{"52":{"position":[[50,15]]},"92":{"position":[[40,14],[87,14]]},"98":{"position":[[451,15]]},"199":{"position":[[50,15]]},"224":{"position":[[40,14],[87,14]]},"230":{"position":[[451,15]]},"285":{"position":[[45,14]]},"345":{"position":[[317,14]]},"368":{"position":[[81,14],[119,13],[2924,14],[3083,13]]},"747":{"position":[[81,14],[119,13],[2924,14],[3083,13]]}},"keywords":{}}],["list[bool",{"_index":5586,"title":{},"content":{"1086":{"position":[[483,11]]}},"keywords":{}}],["list[bxl.actionquerynod",{"_index":1465,"title":{},"content":{"236":{"position":[[225,24]]},"237":{"position":[[225,24]]},"238":{"position":[[247,24]]},"239":{"position":[[219,24]]}},"keywords":{}}],["list[bxl.configuredtargetnod",{"_index":1607,"title":{},"content":{"294":{"position":[[189,29]]},"297":{"position":[[186,29]]},"301":{"position":[[173,29]]},"309":{"position":[[170,29]]},"324":{"position":[[167,29],[408,29]]},"325":{"position":[[195,29]]},"326":{"position":[[205,29]]},"327":{"position":[[171,29]]},"328":{"position":[[167,29]]},"330":{"position":[[180,29]]},"331":{"position":[[168,29]]},"332":{"position":[[178,29]]},"333":{"position":[[196,29]]},"334":{"position":[[228,29]]},"335":{"position":[[168,29],[411,29]]},"336":{"position":[[167,29],[408,29]]},"337":{"position":[[169,29]]},"338":{"position":[[198,29]]},"409":{"position":[[23,30]]},"788":{"position":[[23,30]]},"859":{"position":[[187,31]]}},"keywords":{}}],["list[bxl.unconfiguredtargetnod",{"_index":1629,"title":{},"content":{"298":{"position":[[131,31],[311,31],[531,31]]},"310":{"position":[[131,31]]},"311":{"position":[[109,31]]},"320":{"position":[[147,31]]},"340":{"position":[[103,31]]},"449":{"position":[[23,32]]},"465":{"position":[[101,31],[223,31]]},"466":{"position":[[129,31]]},"467":{"position":[[139,31]]},"468":{"position":[[105,31]]},"469":{"position":[[101,31]]},"471":{"position":[[114,31]]},"472":{"position":[[102,31]]},"473":{"position":[[112,31]]},"475":{"position":[[102,31],[226,31]]},"476":{"position":[[101,31],[223,31]]},"478":{"position":[[103,31]]},"828":{"position":[[23,32]]},"859":{"position":[[86,33]]}},"keywords":{}}],["list[dict[str",{"_index":1189,"title":{},"content":{"94":{"position":[[1136,14]]},"226":{"position":[[1136,14]]},"362":{"position":[[848,14]]},"741":{"position":[[848,14]]},"1360":{"position":[[1189,14]]},"1383":{"position":[[1067,14]]},"1388":{"position":[[3050,14]]},"1398":{"position":[[960,14]]},"1403":{"position":[[1092,14]]},"1410":{"position":[[1242,14]]},"1424":{"position":[[948,14]]},"1429":{"position":[[1620,14]]},"1432":{"position":[[1086,14]]},"1440":{"position":[[1821,14]]},"1466":{"position":[[633,14]]},"1467":{"position":[[4105,14]]},"1470":{"position":[[2142,14]]},"1473":{"position":[[1579,14]]},"1478":{"position":[[738,14]]}},"keywords":{}}],["list[error",{"_index":5720,"title":{},"content":{"1112":{"position":[[1392,12]]}},"keywords":{}}],["list[executionplatforminfo",{"_index":2004,"title":{},"content":{"373":{"position":[[53,28],[284,27]]},"752":{"position":[[53,28],[284,27]]}},"keywords":{}}],["list[int",{"_index":4367,"title":{},"content":{"900":{"position":[[686,9]]}},"keywords":{}}],["list[non",{"_index":6741,"title":{},"content":{"1362":{"position":[[2848,9]]},"1364":{"position":[[2859,9]]},"1367":{"position":[[4148,9]]},"1373":{"position":[[1760,9]]},"1382":{"position":[[1874,9]]},"1384":{"position":[[2598,9]]},"1387":{"position":[[2572,9]]},"1388":{"position":[[2059,9]]},"1415":{"position":[[1476,9]]},"1416":{"position":[[875,9]]},"1462":{"position":[[2330,9]]},"1467":{"position":[[2505,9]]},"1471":{"position":[[1172,9]]},"1473":{"position":[[1224,9]]}},"keywords":{}}],["list[output_artifact",{"_index":963,"title":{},"content":{"68":{"position":[[18,21]]},"92":{"position":[[139,21]]},"224":{"position":[[139,21]]},"456":{"position":[[18,21]]}},"keywords":{}}],["list[path",{"_index":5723,"title":{},"content":{"1112":{"position":[[1675,12],[2351,12]]}},"keywords":{}}],["list[provid",{"_index":2344,"title":{},"content":{"437":{"position":[[352,15]]},"816":{"position":[[352,15]]},"1044":{"position":[[3176,15]]},"1102":{"position":[[540,15]]},"1103":{"position":[[182,15]]}},"keywords":{}}],["list[str",{"_index":924,"title":{},"content":{"63":{"position":[[67,9]]},"114":{"position":[[25,9]]},"133":{"position":[[26,9]]},"159":{"position":[[35,9]]},"166":{"position":[[56,9]]},"240":{"position":[[72,9]]},"242":{"position":[[47,9]]},"256":{"position":[[26,9]]},"329":{"position":[[72,9],[114,9]]},"334":{"position":[[53,9]]},"374":{"position":[[936,9],[1014,9]]},"418":{"position":[[19,9],[60,9],[101,9]]},"424":{"position":[[51,9],[98,9]]},"427":{"position":[[50,9]]},"447":{"position":[[71,9]]},"470":{"position":[[72,9]]},"474":{"position":[[53,9]]},"477":{"position":[[68,9]]},"492":{"position":[[67,9]]},"526":{"position":[[25,9]]},"543":{"position":[[35,9]]},"548":{"position":[[56,9]]},"614":{"position":[[82,9]]},"616":{"position":[[81,9]]},"617":{"position":[[55,9]]},"637":{"position":[[20,9]]},"753":{"position":[[936,9],[1014,9]]},"797":{"position":[[19,9],[60,9],[101,9]]},"803":{"position":[[51,9],[98,9]]},"806":{"position":[[50,9]]},"826":{"position":[[71,9]]},"1064":{"position":[[1604,9],[1651,9]]},"1124":{"position":[[137,10],[224,10]]},"1348":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[555,10],[679,9],[723,9],[761,9],[827,9],[930,9],[958,9],[1018,9],[1080,9],[1112,9],[1152,9],[1181,9],[1351,9],[1402,9],[1708,10],[1771,9],[1829,10],[1953,9],[2131,9],[2199,9],[2230,9],[2336,9],[2397,9],[2504,9],[2525,9]]},"1349":{"position":[[107,9],[139,9],[176,9],[203,9],[231,9],[284,9],[438,9],[491,10],[557,10],[613,9],[673,9],[696,9],[721,9],[743,9]]},"1350":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[721,9],[815,9],[912,9],[965,10],[1031,10],[1125,9],[1191,9],[1341,9],[1366,9],[1394,9],[1454,9],[1707,9],[1748,9],[1799,9],[2020,9],[2045,9],[2103,9],[2523,10],[2586,9],[2644,10],[2768,9],[2868,9],[3033,9],[3077,10],[3257,9],[3294,9],[3361,9],[3396,9],[3459,9],[3753,9]]},"1351":{"position":[[105,9],[137,9],[174,9],[201,9],[229,9],[282,9],[504,9],[566,9],[591,9],[632,9]]},"1352":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[721,9],[815,9],[912,9],[965,10],[1031,10],[1125,9],[1191,9],[1365,9],[1393,9],[1453,9],[1706,9],[1747,9],[1798,9],[2019,9],[2044,9],[2102,9],[2522,10],[2585,9],[2643,10],[2767,9],[2867,9],[3032,9],[3076,10],[3256,9],[3293,9],[3360,9],[3395,9],[3458,9],[3752,9]]},"1353":{"position":[[112,9],[144,9],[181,9],[208,9],[236,9],[289,9],[627,9],[655,9],[715,9],[854,9],[879,9],[1031,10],[1228,9],[1265,9]]},"1354":{"position":[[113,9],[145,9],[182,9],[209,9],[237,9],[290,9],[590,9],[895,9],[920,9]]},"1355":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[612,10],[695,9],[781,9],[825,9],[863,9],[918,9],[978,9],[1008,9],[1047,9],[1079,9],[1119,9],[1148,9],[1352,9],[1403,9],[1604,9],[1667,9],[1735,9],[1841,9],[1902,9],[2009,9],[2030,9],[2120,9]]},"1356":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[400,9],[460,9],[483,9],[508,9]]},"1357":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9]]},"1358":{"position":[[105,9],[137,9],[174,9],[201,9],[229,9],[282,9],[562,9],[622,9],[651,9],[730,9],[755,9]]},"1359":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[423,9],[519,9],[579,9],[637,9],[662,9]]},"1360":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[678,9],[753,9],[908,9],[933,9],[1117,10],[1221,9]]},"1361":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[400,9],[460,9],[483,9],[538,9]]},"1362":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[468,10],[610,11],[654,9],[779,9],[804,9],[962,9],[1230,9],[1295,9],[1391,12],[1453,10],[1492,9],[1542,11],[1597,9],[1674,11],[1740,11],[1785,9],[1848,11],[1894,9],[1928,9],[1964,9],[2078,9],[2172,9],[2315,9],[2412,9],[2458,10],[2525,12],[2598,12],[2651,10],[2678,9],[2703,9],[2884,10],[3101,9],[3130,9],[3260,11],[3303,11],[3349,9],[3417,11],[3474,11],[3517,8],[3534,13],[3572,9],[3626,11],[3793,9],[3883,9],[3933,9],[3961,9],[4084,9],[4168,8],[4185,11],[4410,9],[4685,9]]},"1363":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[814,10],[1471,9],[1562,9],[1704,9],[1863,9],[2084,9],[2109,9],[2720,9]]},"1364":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[521,10],[663,11],[796,9],[821,9],[979,9],[1212,9],[1277,9],[1373,12],[1435,10],[1474,9],[1524,11],[1579,9],[1656,11],[1722,11],[1767,9],[1830,11],[1876,9],[1910,9],[1946,9],[2060,9],[2183,9],[2326,9],[2423,9],[2469,10],[2536,12],[2609,12],[2662,10],[2689,9],[2714,9],[2895,10],[3066,9],[3095,9],[3225,11],[3268,11],[3314,9],[3382,11],[3439,11],[3482,8],[3499,13],[3537,9],[3591,11],[3723,9],[3811,9],[3871,9],[3921,9],[3949,9],[4028,9],[4153,8],[4170,11],[4477,9],[4782,9]]},"1365":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[452,9],[562,9],[587,9],[703,9],[742,8],[759,11]]},"1366":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[430,9],[483,9],[512,9],[601,9],[623,9],[646,9],[671,9],[712,10],[749,9],[816,9]]},"1367":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[772,10],[1556,11],[1713,9],[1810,9],[1835,9],[1993,9],[2360,9],[2425,9],[2521,12],[2583,10],[2622,9],[2672,11],[2727,9],[2804,11],[2870,11],[2915,9],[2978,11],[3024,9],[3074,9],[3110,9],[3269,9],[3363,9],[3506,9],[3712,9],[3758,10],[3825,12],[3898,12],[3951,10],[3978,9],[4003,9],[4184,10],[4348,9],[4377,9],[4507,11],[4550,11],[4596,9],[4664,11],[4721,11],[4764,8],[4781,13],[4819,9],[4873,11],[5005,9],[5140,9],[5190,9],[5218,9],[5464,9],[5663,8],[5680,11],[5951,9],[6506,9]]},"1368":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[635,9],[833,9],[889,9],[928,9]]},"1369":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[352,9],[407,9],[469,9],[494,9]]},"1370":{"position":[[111,9],[143,9],[180,9],[207,9],[235,9],[288,9],[414,10],[513,9]]},"1371":{"position":[[102,9],[134,9],[171,9],[198,9],[226,9],[279,9]]},"1372":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[1974,9]]},"1373":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[520,9],[622,9],[653,9],[678,9],[836,9],[979,9],[1062,9],[1097,9],[1131,9],[1155,9],[1213,9],[1311,9],[1334,9],[1380,10],[1447,12],[1520,12],[1573,10],[1600,9],[1625,9],[1796,10],[1907,9],[1936,9],[2047,11],[2090,11],[2136,9],[2204,11],[2261,11],[2304,8],[2321,13],[2359,9],[2413,11],[2552,9],[2580,9],[2601,8],[2618,11],[2711,9]]},"1374":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[384,9],[439,9],[547,9],[572,9],[632,9]]},"1375":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[378,9]]},"1376":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9]]},"1377":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[426,9],[521,9],[546,9]]},"1378":{"position":[[103,9],[135,9],[172,9],[199,9],[227,9],[280,9]]},"1379":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9]]},"1380":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[370,9],[432,9],[457,9]]},"1381":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[403,9],[428,9],[488,9],[550,9],[575,9],[627,9]]},"1382":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[490,9],[517,9],[608,9],[645,9],[670,9],[726,9],[884,9],[1194,9],[1252,9],[1350,9],[1373,9],[1419,10],[1486,12],[1559,12],[1612,10],[1639,9],[1664,9],[1800,9],[1910,10],[2170,9],[2199,9],[2250,11],[2293,11],[2339,9],[2407,11],[2464,11],[2507,8],[2524,13],[2562,9],[2616,11],[2755,9],[2783,9],[2809,9],[2847,8],[2864,11],[2957,9]]},"1383":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[606,9],[681,9],[786,9],[811,9],[995,10],[1099,9]]},"1384":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[586,9],[611,9],[667,9],[825,9],[975,9],[1040,9],[1136,12],[1198,10],[1237,9],[1338,11],[1393,9],[1470,11],[1536,11],[1581,9],[1644,11],[1690,9],[1724,9],[1760,9],[1874,9],[1961,9],[2059,9],[2129,9],[2175,10],[2242,12],[2315,12],[2368,10],[2395,9],[2420,9],[2634,10],[2805,9],[2834,9],[2869,9],[2949,11],[2992,11],[3038,9],[3106,11],[3163,11],[3206,8],[3223,13],[3261,9],[3315,11],[3482,9],[3525,9],[3575,9],[3603,9],[3680,9],[3725,9],[3770,8],[3787,11],[4260,9]]},"1385":{"position":[[102,9],[134,9],[171,9],[198,9],[226,9],[279,9],[407,9],[432,9],[590,9],[650,9],[708,9],[806,9],[829,9],[875,10],[942,12],[1015,12],[1068,10],[1095,9],[1120,9],[1157,9],[1186,9],[1237,11],[1280,11],[1326,9],[1394,11],[1451,11],[1494,8],[1511,13],[1549,9],[1603,11],[1707,9],[1735,9],[1756,8],[1773,11]]},"1386":{"position":[[107,9],[139,9],[176,9],[203,9],[231,9],[284,9],[377,9],[437,9],[460,9],[485,9]]},"1387":{"position":[[105,9],[137,9],[174,9],[201,9],[229,9],[282,9],[693,9],[718,9],[774,9],[932,9],[1054,9],[1119,9],[1215,12],[1277,10],[1316,9],[1417,11],[1472,9],[1549,11],[1615,11],[1660,9],[1723,11],[1769,9],[1803,9],[1839,9],[1953,9],[2011,9],[2109,9],[2179,9],[2225,10],[2292,12],[2365,12],[2418,10],[2445,9],[2470,9],[2608,10],[2772,9],[2801,9],[2836,9],[2916,11],[2959,11],[3005,9],[3073,11],[3130,11],[3173,8],[3190,13],[3228,9],[3282,11],[3414,9],[3457,9],[3507,9],[3535,9],[3612,9],[3657,9],[3702,8],[3719,11],[4154,9]]},"1388":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[468,9],[559,9],[623,9],[650,9],[741,9],[778,9],[803,9],[859,9],[1017,9],[1379,9],[1437,9],[1535,9],[1558,9],[1604,10],[1671,12],[1744,12],[1797,10],[1824,9],[1849,9],[1985,9],[2095,10],[2355,9],[2384,9],[2435,11],[2478,11],[2524,9],[2592,11],[2649,11],[2692,8],[2709,13],[2747,9],[2801,11],[2940,9],[2968,9],[3160,9],[3236,8],[3253,11],[3424,9]]},"1389":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[555,9],[678,9],[786,9],[873,9],[958,9],[1221,9],[1291,9],[1461,9],[1486,9],[1585,9],[1694,9],[1765,9],[1845,9],[1949,9],[2023,9],[2233,9],[2401,9],[2466,9],[2540,9],[2563,9],[2588,9],[2745,9],[3174,9],[3314,9],[3377,9],[3449,9],[3604,9],[3648,9],[3730,9],[3980,9],[4063,9],[4114,9],[4155,9],[4201,9]]},"1390":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[363,9],[423,9],[446,9],[471,9],[500,9],[521,9]]},"1391":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[364,9],[424,9],[447,9],[472,9],[501,9],[522,9]]},"1392":{"position":[[91,9],[123,9],[160,9],[187,9],[215,9],[268,9],[361,9],[421,9],[444,9],[469,9],[498,9],[519,9]]},"1393":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[385,9],[469,9],[533,9],[564,9],[620,10],[682,9],[707,9],[730,9],[763,10],[858,9],[888,9],[915,9],[936,9]]},"1394":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[418,9],[443,9],[466,9]]},"1395":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[408,9],[433,9],[454,10],[475,9],[522,9],[612,9]]},"1396":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[374,9],[432,9]]},"1397":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[364,8],[428,9],[475,9],[514,9],[584,10]]},"1398":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[541,9],[636,9],[661,9],[682,9],[738,9],[770,9],[793,9],[878,9],[1015,9],[1045,9],[1072,9]]},"1399":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[366,9],[428,9],[453,9]]},"1400":{"position":[[105,9],[137,9],[174,9],[201,9],[229,9],[282,9],[388,9],[450,9],[475,9]]},"1401":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[364,9],[442,9],[467,9],[488,9]]},"1402":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[424,9],[479,9],[539,9],[590,9],[613,9],[638,9]]},"1403":{"position":[[92,9],[124,9],[161,9],[188,9],[216,9],[269,9],[577,9],[652,9],[811,9],[836,9],[1020,10],[1124,9]]},"1404":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[390,9],[452,9],[477,9]]},"1405":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[434,9],[482,9],[573,9],[598,9],[658,9],[722,9],[745,9],[770,9],[854,9],[968,11],[1012,9],[1033,9],[1054,9]]},"1406":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[425,9],[446,9]]},"1407":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[444,9],[492,9],[600,9],[625,9],[685,9],[749,9],[772,9],[797,9],[881,9],[995,11],[1039,9],[1060,9],[1081,9]]},"1408":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[501,9],[533,9],[594,9],[619,9],[679,9],[735,9],[758,9],[783,9],[864,9]]},"1409":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[471,9]]},"1410":{"position":[[92,9],[124,9],[161,9],[188,9],[216,9],[269,9],[534,9],[605,9],[696,9],[721,9],[812,9],[901,9],[924,9],[974,9],[1058,9],[1352,9],[1451,9],[1472,9]]},"1411":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[369,9],[431,9],[456,9]]},"1412":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[367,10],[410,9],[454,9],[492,9],[547,9],[607,9],[637,9],[676,9],[708,9],[748,9],[824,9],[849,9],[1024,9],[1087,9],[1118,9],[1184,9],[1245,9],[1352,9],[1373,9]]},"1413":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[364,10],[407,9],[451,9],[489,9],[544,9],[582,9],[680,9],[763,9],[802,9],[834,9],[874,9],[970,9],[995,9],[1170,9],[1233,9],[1264,9],[1330,9],[1422,9],[1529,9],[1550,9],[1868,9]]},"1414":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[415,9],[475,9],[534,9],[557,9],[582,9],[634,9],[658,9],[735,9]]},"1415":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[374,9],[405,9],[447,9],[512,9],[670,9],[840,9],[929,9],[1027,9],[1050,9],[1096,10],[1163,12],[1236,12],[1289,10],[1316,9],[1341,9],[1512,10],[1623,9],[1652,9],[1703,11],[1746,11],[1792,9],[1860,11],[1917,11],[1960,8],[1977,13],[2015,9],[2069,11],[2208,9],[2236,9],[2257,8],[2274,11],[2410,9]]},"1416":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[457,9],[482,9],[542,9],[652,11],[688,9],[711,9],[736,9],[801,9],[911,10],[1060,9],[1149,11],[1200,11],[1223,9],[1270,9]]},"1417":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[427,9],[452,9],[512,9],[607,9],[687,9],[712,9],[741,9],[808,11],[859,11],[890,9],[911,9],[958,9]]},"1418":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[424,9],[484,9],[542,9],[565,9],[590,9],[657,11]]},"1419":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[401,9],[426,9],[486,9],[553,9],[586,9],[609,9],[634,9],[680,9],[747,11],[770,9]]},"1420":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[430,9],[455,9],[515,9],[597,11],[633,9],[663,9],[686,9],[711,9],[762,9],[829,11],[880,11],[931,9],[978,9]]},"1421":{"position":[[109,9],[141,9],[178,9],[205,9],[233,9],[286,9],[379,9],[411,9],[480,9],[548,9],[586,9],[629,9],[670,9],[693,9],[718,9],[759,9],[791,9],[828,9],[889,9]]},"1422":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[367,9],[431,9],[474,9],[499,9],[624,9],[667,9],[696,9]]},"1423":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[364,9],[455,9],[480,9],[568,9],[597,9]]},"1424":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[583,9],[727,9],[752,9],[980,9]]},"1425":{"position":[[110,9],[142,9],[179,9],[206,9],[234,9],[287,9],[415,9],[475,9],[561,9],[586,9]]},"1426":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[461,9],[516,9],[614,9],[716,9],[739,9],[764,9]]},"1427":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[552,10],[632,9],[676,9],[714,9],[769,9],[829,9],[859,9],[898,9],[930,9],[1041,9],[1066,9],[1241,9],[1304,9],[1335,9],[1401,9],[1462,9],[1569,9],[1590,9],[1646,9]]},"1428":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[401,9],[461,9],[547,9],[572,9]]},"1429":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[587,10],[667,9],[711,9],[749,9],[804,9],[842,9],[940,9],[1023,9],[1062,9],[1094,9],[1199,9],[1275,9],[1300,9],[1475,9],[1538,9],[1735,9],[1801,9],[1917,9],[2024,9],[2068,9],[2467,9]]},"1430":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[369,10],[449,9],[493,9],[531,9],[586,9],[646,9],[676,9],[715,9],[747,9],[823,9],[848,9],[1044,9],[1107,9],[1138,9],[1204,9],[1265,9],[1372,9],[1393,9]]},"1431":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[544,9],[604,9],[632,10],[723,9],[748,9]]},"1432":{"position":[[102,9],[134,9],[171,9],[198,9],[226,9],[279,9],[705,9],[865,9],[890,9],[1226,9]]},"1433":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[471,9],[510,9],[592,9],[652,9],[731,9],[756,9],[777,8]]},"1434":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[390,9],[417,9],[445,9],[477,9]]},"1435":{"position":[[102,9],[134,9],[171,9],[198,9],[226,9],[279,9],[417,9]]},"1436":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[391,9],[436,9],[457,9]]},"1437":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[419,9],[440,9],[467,9],[495,9],[527,9]]},"1438":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[363,9],[423,9],[446,9],[471,9]]},"1439":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[582,10],[706,9],[750,9],[788,9],[843,9],[903,9],[933,9],[972,9],[1004,9],[1044,9],[1073,9],[1277,9],[1302,9],[1477,9],[1540,9],[1571,9],[1637,9],[1698,9],[1805,9],[1826,9],[1916,9]]},"1440":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[617,10],[741,9],[785,9],[823,9],[878,9],[916,9],[1014,9],[1097,9],[1136,9],[1168,9],[1208,9],[1257,9],[1330,9],[1476,9],[1501,9],[1676,9],[1739,9],[1936,9],[2002,9],[2094,9],[2201,9],[2222,9],[2655,9]]},"1441":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[371,9],[433,9],[458,9]]},"1442":{"position":[[102,9],[134,9],[171,9],[198,9],[226,9],[279,9],[393,9],[442,8],[459,11]]},"1443":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[365,9],[425,9],[448,9],[473,9],[633,11]]},"1444":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[395,9],[455,9],[478,9],[503,9],[544,11],[567,9]]},"1445":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9]]},"1446":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[366,9],[426,9],[448,9],[491,9],[516,9],[537,9]]},"1447":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[368,9],[479,9],[504,9],[599,9]]},"1448":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[457,9],[482,9],[542,9],[565,9],[590,9],[619,9],[650,9],[727,11],[770,11],[821,11],[851,9]]},"1449":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[451,9],[476,9],[536,9],[559,9],[584,9],[613,9],[669,9],[720,11],[763,11],[793,9]]},"1450":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[457,9],[482,9],[542,9],[565,9],[590,9],[619,9],[650,9],[717,11],[768,11],[798,9]]},"1451":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[457,9],[482,9],[542,9],[565,9],[590,9],[619,9],[650,9],[717,11],[768,11],[798,9]]},"1452":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[372,9],[393,9]]},"1453":{"position":[[109,9],[141,9],[178,9],[205,9],[233,9],[286,9],[458,9],[518,9],[556,9],[614,11],[670,9],[693,9],[719,9],[744,9]]},"1454":{"position":[[105,9],[137,9],[174,9],[201,9],[229,9],[282,9],[487,9],[547,9],[577,9],[642,9],[738,12],[800,10],[839,9],[889,11],[944,9],[1021,11],[1087,11],[1132,9],[1195,11],[1241,9],[1318,9],[1353,9],[1508,9],[1534,9],[1559,9],[1641,9],[1676,9],[1731,11],[1971,9],[2062,9],[2112,9],[2140,9],[2527,14],[2623,12],[2722,13],[2802,11],[2871,11]]},"1455":{"position":[[111,9],[143,9],[180,9],[207,9],[235,9],[288,9],[406,9],[466,9],[496,9],[546,11],[592,9],[654,9],[724,9],[749,9],[852,9],[880,9],[908,9],[940,9],[972,9]]},"1456":{"position":[[108,9],[140,9],[177,9],[204,9],[232,9],[285,9],[393,9],[455,9],[480,9]]},"1457":{"position":[[104,9],[136,9],[173,9],[200,9],[228,9],[281,9],[374,9],[434,9],[464,9],[487,9],[526,9]]},"1458":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[540,9],[600,9],[629,9],[705,9],[730,9]]},"1459":{"position":[[108,9],[140,9],[177,9],[204,9],[232,9],[285,9],[378,9],[438,9],[508,9],[533,9]]},"1460":{"position":[[107,9],[139,9],[176,9],[203,9],[231,9],[284,9],[384,9],[462,9],[487,9],[547,9],[599,9],[661,9],[691,9],[760,11]]},"1461":{"position":[[108,9],[140,9],[177,9],[204,9],[232,9],[285,9],[544,9],[583,9],[643,9],[776,9],[801,9]]},"1462":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[671,9],[698,9],[785,9],[842,9],[879,9],[904,9],[960,9],[1215,9],[1421,9],[1615,9],[1673,9],[1771,9],[1806,9],[1829,9],[1875,10],[1942,12],[2015,12],[2068,10],[2095,9],[2120,9],[2256,9],[2366,10],[2619,9],[2648,9],[2820,9],[3053,11],[3096,11],[3142,9],[3210,11],[3261,11],[3318,11],[3361,8],[3378,13],[3416,9],[3470,11],[3645,9],[3680,9],[3754,9],[3812,9],[3838,9],[3961,9],[4185,9]]},"1463":{"position":[[108,9],[140,9],[177,9],[204,9],[232,9],[285,9],[473,9]]},"1464":{"position":[[109,9],[141,9],[178,9],[205,9],[233,9],[286,9],[375,9],[396,9]]},"1465":{"position":[[99,9],[131,9],[168,9],[195,9],[223,9],[276,9],[534,9],[624,9],[724,9],[749,9],[816,11],[864,9],[924,9],[1015,9],[1053,9],[1097,9],[1231,9],[1310,9]]},"1466":{"position":[[112,9],[144,9],[181,9],[208,9],[236,9],[289,9],[452,9],[500,9]]},"1467":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[612,9],[738,9],[765,9],[852,9],[909,9],[946,9],[971,9],[1027,9],[1282,9],[1557,9],[1751,9],[1809,9],[1946,9],[1981,9],[2004,9],[2050,10],[2117,12],[2190,12],[2243,10],[2270,9],[2295,9],[2431,9],[2541,10],[2794,9],[2823,9],[2973,9],[3257,11],[3300,11],[3346,9],[3414,11],[3465,11],[3522,11],[3570,9],[3630,8],[3647,13],[3685,9],[3739,11],[3914,9],[3949,9],[4023,9],[4247,9],[4273,9],[4426,9],[4481,9],[4771,9],[4850,9],[4906,9]]},"1468":{"position":[[103,9],[135,9],[172,9],[199,9],[227,9],[280,9],[373,9],[435,9],[460,9]]},"1469":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[388,9],[450,9],[475,9]]},"1470":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[651,10],[734,9],[820,9],[864,9],[902,9],[957,9],[995,9],[1093,9],[1148,9],[1187,9],[1219,9],[1259,9],[1308,9],[1416,9],[1562,9],[1613,9],[1658,9],[1904,9],[2023,9],[2257,9],[2400,9],[2508,9],[2616,9],[2723,9],[2744,9],[3229,9]]},"1471":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[440,9],[631,9],[796,9],[909,9],[949,11],[1045,9],[1070,9],[1208,10],[1361,9],[1471,9],[1533,9],[1563,9],[1584,9]]},"1472":{"position":[[97,9],[129,9],[166,9],[193,9],[221,9],[274,9],[441,9],[534,9],[730,9],[755,9],[849,9],[1006,9],[1046,11],[1142,9],[1167,9],[1224,9],[1384,9],[1429,9],[1459,9],[1504,9]]},"1473":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[508,9],[662,9],[827,9],[940,9],[980,11],[1097,9],[1122,9],[1260,10],[1413,9],[1689,9],[1780,9],[1810,9],[1831,9]]},"1474":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[366,10],[446,9],[490,9],[528,9],[583,9],[643,9],[673,9],[712,9],[744,9],[820,9],[845,9],[1020,9],[1083,9],[1114,9],[1180,9],[1241,9],[1348,9],[1369,9]]},"1475":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[363,10],[443,9],[487,9],[525,9],[580,9],[618,9],[716,9],[799,9],[838,9],[870,9],[966,9],[991,9],[1166,9],[1229,9],[1260,9],[1326,9],[1418,9],[1525,9],[1546,9],[1864,9]]},"1476":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[371,9],[433,9],[458,9]]},"1477":{"position":[[94,9],[126,9],[163,9],[190,9],[218,9],[271,9],[425,9],[485,9],[508,9],[533,9],[570,9]]},"1478":{"position":[[92,9],[124,9],[161,9],[188,9],[216,9],[269,9],[398,9],[453,9],[513,9],[561,9],[586,9],[619,9],[848,9],[873,9]]},"1479":{"position":[[109,9],[141,9],[178,9],[205,9],[233,9],[286,9],[379,9],[439,9],[493,9],[518,9]]},"1480":{"position":[[98,9],[130,9],[167,9],[194,9],[222,9],[275,9],[407,9],[432,9],[492,9],[549,9],[617,9],[643,9],[668,9],[753,9],[837,9]]},"1481":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[556,9],[660,9],[685,9],[947,9],[989,9],[1023,9],[1090,9],[1153,9],[1465,9],[1507,9]]},"1482":{"position":[[95,9],[127,9],[164,9],[191,9],[219,9],[272,9],[365,9],[427,9],[452,9],[478,9]]},"1483":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9]]},"1484":{"position":[[100,9],[132,9],[169,9],[196,9],[224,9],[277,9],[370,9],[432,9],[457,9]]},"1485":{"position":[[101,9],[133,9],[170,9],[197,9],[225,9],[278,9],[429,9],[482,9],[505,9],[549,9],[596,9],[617,8],[634,11]]},"1486":{"position":[[96,9],[128,9],[165,9],[192,9],[220,9],[273,9],[368,9],[423,9],[531,9],[556,9]]},"1487":{"position":[[93,9],[125,9],[162,9],[189,9],[217,9],[270,9],[393,9],[467,9],[490,9],[515,9],[579,9],[604,9]]}},"keywords":{}}],["list[typing.ani",{"_index":1004,"title":{},"content":{"78":{"position":[[22,16]]},"94":{"position":[[240,16]]},"98":{"position":[[282,16]]},"99":{"position":[[371,16]]},"129":{"position":[[40,16]]},"131":{"position":[[29,16],[75,16],[146,16]]},"134":{"position":[[34,16]]},"146":{"position":[[46,16]]},"148":{"position":[[39,16]]},"149":{"position":[[40,16]]},"226":{"position":[[240,16]]},"230":{"position":[[282,16]]},"231":{"position":[[371,16]]},"252":{"position":[[40,16]]},"254":{"position":[[29,16],[75,16],[146,16]]},"257":{"position":[[34,16]]},"269":{"position":[[46,16]]},"271":{"position":[[39,16]]},"272":{"position":[[40,16]]},"374":{"position":[[598,16]]},"377":{"position":[[245,16]]},"386":{"position":[[231,16]]},"400":{"position":[[54,18],[194,18]]},"405":{"position":[[233,16],[481,16]]},"437":{"position":[[49,18],[215,16]]},"507":{"position":[[22,16]]},"556":{"position":[[22,16]]},"561":{"position":[[24,16]]},"643":{"position":[[74,16]]},"652":{"position":[[42,16]]},"653":{"position":[[62,16]]},"665":{"position":[[42,16]]},"666":{"position":[[60,16]]},"673":{"position":[[38,16]]},"753":{"position":[[598,16]]},"756":{"position":[[245,16]]},"765":{"position":[[231,16]]},"779":{"position":[[54,18],[194,18]]},"784":{"position":[[233,16],[481,16]]},"816":{"position":[[49,18],[215,16]]},"1348":{"position":[[1883,16]]},"1350":{"position":[[2698,16]]},"1352":{"position":[[2697,16]]},"1353":{"position":[[1085,16]]}},"keywords":{}}],["list[typing.any]repres",{"_index":4368,"title":{},"content":{"900":{"position":[[733,26]]}},"keywords":{}}],["list[u64",{"_index":5794,"title":{},"content":{"1126":{"position":[[291,10]]}},"keywords":{}}],["list[validationspec",{"_index":2090,"title":{},"content":{"396":{"position":[[35,21],[380,20]]},"775":{"position":[[35,21],[380,20]]}},"keywords":{}}],["list_arg",{"_index":8472,"title":{},"content":{"1478":{"position":[[601,10]]}},"keywords":{}}],["list_env",{"_index":8473,"title":{},"content":{"1478":{"position":[[634,9]]}},"keywords":{}}],["list_result",{"_index":1757,"title":{},"content":{"318":{"position":[[420,12],[478,13]]}},"keywords":{}}],["list_typ",{"_index":3859,"title":{},"content":{"840":{"position":[[795,9],[809,9]]},"850":{"position":[[625,9],[639,9]]}},"keywords":{}}],["listing"",{"_index":5516,"title":{},"content":{"1072":{"position":[[970,14]]}},"keywords":{}}],["listjava/com/facebook/common/collect/*.java",{"_index":3046,"title":{},"content":{"622":{"position":[[1889,43]]}},"keywords":{}}],["lists/dict",{"_index":3983,"title":{},"content":{"864":{"position":[[328,11]]}},"keywords":{}}],["liter",{"_index":688,"title":{},"content":{"22":{"position":[[2151,8]]},"125":{"position":[[91,8]]},"145":{"position":[[215,7]]},"236":{"position":[[515,7]]},"237":{"position":[[602,7]]},"248":{"position":[[91,8]]},"268":{"position":[[215,7]]},"308":{"position":[[117,8]]},"309":{"position":[[975,8]]},"315":{"position":[[164,8]]},"316":{"position":[[184,8]]},"317":{"position":[[187,8]]},"318":{"position":[[326,8]]},"340":{"position":[[277,9]]},"595":{"position":[[295,7]]},"644":{"position":[[338,8]]},"648":{"position":[[488,8],[645,8]]},"693":{"position":[[9547,8],[9792,8]]},"846":{"position":[[687,8]]},"898":{"position":[[1221,8]]},"904":{"position":[[201,8],[510,8],[889,8]]},"906":{"position":[[426,8],[1020,8]]},"907":{"position":[[399,7]]},"1021":{"position":[[36,7],[530,7]]},"1136":{"position":[[924,8]]},"1138":{"position":[[6033,8]]},"1148":{"position":[[428,8],[470,8],[700,7],[1280,8],[3383,8]]},"1186":{"position":[[1607,8]]},"1187":{"position":[[1620,8]]},"1188":{"position":[[6346,8]]},"1197":{"position":[[845,8]]},"1198":{"position":[[855,8]]},"1199":{"position":[[883,8]]},"1200":{"position":[[750,8]]},"1209":{"position":[[157,8]]},"1235":{"position":[[1417,8]]},"1258":{"position":[[139,7],[197,7],[443,8],[548,7],[611,7],[823,7]]},"1286":{"position":[[202,7]]},"1287":{"position":[[115,7]]},"1289":{"position":[[139,7],[197,7],[443,8],[548,7],[611,7],[823,7]]},"1317":{"position":[[139,7],[197,7],[443,8],[548,7],[611,7],[823,7]]},"1351":{"position":[[3211,7]]},"1382":{"position":[[4733,7],[5034,7]]},"1388":{"position":[[5427,7],[5728,7]]},"1442":{"position":[[1723,7],[2024,7]]},"1478":{"position":[[2061,7]]}},"keywords":{}}],["littl",{"_index":1338,"title":{},"content":{"125":{"position":[[169,6]]},"248":{"position":[[169,6]]},"924":{"position":[[434,6]]},"977":{"position":[[16,6]]},"980":{"position":[[1256,6]]},"1072":{"position":[[242,6]]},"1138":{"position":[[4108,6]]},"1140":{"position":[[3597,6]]},"1167":{"position":[[4601,6]]},"1188":{"position":[[3650,6]]},"1217":{"position":[[3342,6]]},"1228":{"position":[[5423,6]]}},"keywords":{}}],["live",{"_index":893,"title":{},"content":{"50":{"position":[[107,5]]},"197":{"position":[[107,5]]},"334":{"position":[[576,5],[627,5]]},"415":{"position":[[176,6]]},"474":{"position":[[315,5],[366,5]]},"693":{"position":[[4034,5]]},"794":{"position":[[176,6]]},"890":{"position":[[5870,5]]}},"keywords":{}}],["lld",{"_index":508,"title":{},"content":{"17":{"position":[[745,3]]}},"keywords":{}}],["llvm",{"_index":518,"title":{},"content":{"17":{"position":[[1016,6]]},"997":{"position":[[162,4]]},"1442":{"position":[[525,4],[562,4],[3124,4],[3184,4]]}},"keywords":{}}],["llvm_link",{"_index":7376,"title":{},"content":{"1389":{"position":[[2778,10]]}},"keywords":{}}],["llvm_link_bitcod",{"_index":8076,"title":{"1442":{"position":[[0,18]]}},"content":{"1442":{"position":[[4,18],[491,19],[3042,18]]}},"keywords":{}}],["load",{"_index":379,"title":{"1187":{"position":[[13,8]]}},"content":{"11":{"position":[[559,7]]},"309":{"position":[[834,7]]},"693":{"position":[[5783,5],[5840,5],[5916,6]]},"888":{"position":[[1227,4]]},"987":{"position":[[115,6]]},"1000":{"position":[[588,4],[823,6]]},"1056":{"position":[[247,7]]},"1096":{"position":[[67,6]]},"1108":{"position":[[224,5]]},"1138":{"position":[[3604,6]]},"1140":{"position":[[3093,6]]},"1148":{"position":[[7111,8],[7185,6]]},"1167":{"position":[[4097,6]]},"1185":{"position":[[113,7]]},"1186":{"position":[[653,8],[698,7]]},"1187":{"position":[[60,7],[666,8],[711,7]]},"1188":{"position":[[3146,6],[5392,8],[5437,7]]},"1217":{"position":[[2838,6]]},"1226":{"position":[[3869,7]]},"1228":{"position":[[4919,6]]},"1237":{"position":[[4039,7]]},"1249":{"position":[[171,7]]},"1355":{"position":[[6407,6]]},"1393":{"position":[[7630,5]]},"1398":{"position":[[2529,5],[4576,5]]},"1427":{"position":[[5579,6]]},"1439":{"position":[[7488,6]]},"1462":{"position":[[8382,6]]},"1467":{"position":[[9864,6]]}},"keywords":{}}],["load("//:foo_binary.bzl"",{"_index":1977,"title":{},"content":{"368":{"position":[[1756,35]]},"747":{"position":[[1756,35]]}},"keywords":{}}],["load("//path/to/rules:rules.bzl"",{"_index":1694,"title":{},"content":{"306":{"position":[[145,43]]}},"keywords":{}}],["load(":anon_bxl_rules.bzl"",{"_index":3746,"title":{},"content":{"712":{"position":[[858,37]]}},"keywords":{}}],["load(":silly.bzl"",{"_index":5235,"title":{},"content":{"1048":{"position":[[275,29]]}},"keywords":{}}],["load("@prelude//toolchains:cxx.bzl"",{"_index":576,"title":{},"content":{"18":{"position":[[1092,46]]}},"keywords":{}}],["load("@prelude//toolchains:python.bzl"",{"_index":578,"title":{},"content":{"18":{"position":[[1173,49]]}},"keywords":{}}],["load("a.bzl"",{"_index":4232,"title":{},"content":{"890":{"position":[[3310,23]]}},"keywords":{}}],["load("hello//world.bzl"",{"_index":2217,"title":{},"content":{"415":{"position":[[270,34]]},"794":{"position":[[270,34]]}},"keywords":{}}],["load_symbol",{"_index":2277,"title":{"421":{"position":[[0,13]]},"800":{"position":[[0,13]]}},"content":{"890":{"position":[[3778,12],[4020,14]]}},"keywords":{}}],["load_symbols(symbol",{"_index":2278,"title":{},"content":{"421":{"position":[[4,21]]},"800":{"position":[[4,21]]}},"keywords":{}}],["load_symbolsfunct",{"_index":4244,"title":{},"content":{"890":{"position":[[4553,21]]}},"keywords":{}}],["loaded.when",{"_index":4175,"title":{},"content":{"888":{"position":[[1297,11]]}},"keywords":{}}],["loader",{"_index":8336,"title":{},"content":{"1462":{"position":[[8462,6]]},"1467":{"position":[[9944,6]]}},"keywords":{}}],["loadingbuck2",{"_index":5352,"title":{},"content":{"1056":{"position":[[173,12]]}},"keywords":{}}],["local",{"_index":699,"title":{"996":{"position":[[8,5]]},"1051":{"position":[[0,5]]}},"content":{"23":{"position":[[401,5]]},"94":{"position":[[3509,6],[3523,5],[4386,8]]},"226":{"position":[[3509,6],[3523,5],[4386,8]]},"314":{"position":[[398,7]]},"362":{"position":[[1068,5],[2422,5],[2498,5]]},"374":{"position":[[1689,5],[1854,5]]},"377":{"position":[[632,5],[725,5],[1142,5],[1608,5]]},"693":{"position":[[4570,6],[4702,8],[4750,5],[5020,8]]},"704":{"position":[[1089,7],[2038,8]]},"706":{"position":[[1578,6],[1910,8],[1985,8],[2051,7],[2213,7],[2545,8]]},"710":{"position":[[267,5]]},"724":{"position":[[299,7],[862,8],[1059,8],[1268,5],[1387,5],[1838,5]]},"741":{"position":[[1068,5],[2422,5],[2498,5]]},"753":{"position":[[1689,5],[1854,5]]},"756":{"position":[[632,5],[725,5],[1142,5],[1608,5]]},"867":{"position":[[1673,6],[2046,5],[2123,5]]},"882":{"position":[[99,5]]},"890":{"position":[[1206,5],[1431,5],[1629,5],[3493,5],[5360,5],[6834,5],[6962,5]]},"895":{"position":[[377,6]]},"896":{"position":[[18,8],[156,5]]},"898":{"position":[[974,5],[2835,8]]},"998":{"position":[[231,6]]},"1001":{"position":[[899,5]]},"1022":{"position":[[350,5]]},"1052":{"position":[[77,5],[292,5],[391,5],[579,5],[919,5],[1117,5]]},"1053":{"position":[[95,5],[388,8]]},"1054":{"position":[[697,7],[760,5]]},"1064":{"position":[[999,5]]},"1075":{"position":[[439,8]]},"1102":{"position":[[1099,5]]},"1105":{"position":[[1217,7]]},"1136":{"position":[[4697,7]]},"1138":{"position":[[2296,5],[2319,5],[2376,7],[2513,5],[2591,7],[2606,5],[2742,5],[8359,7]]},"1140":{"position":[[1785,5],[1808,5],[1865,7],[2002,5],[2080,7],[2095,5],[2231,5],[7285,7]]},"1142":{"position":[[2729,7]]},"1146":{"position":[[2669,7]]},"1148":{"position":[[5709,7]]},"1155":{"position":[[2765,7]]},"1156":{"position":[[2343,7]]},"1167":{"position":[[2789,5],[2812,5],[2869,7],[3006,5],[3084,7],[3099,5],[3235,5],[8289,7]]},"1169":{"position":[[2128,7]]},"1172":{"position":[[360,6],[430,6],[650,8],[1177,7],[1385,5]]},"1173":{"position":[[477,7],[685,5]]},"1174":{"position":[[381,7]]},"1175":{"position":[[401,7]]},"1176":{"position":[[485,7]]},"1177":{"position":[[397,7]]},"1178":{"position":[[551,7]]},"1179":{"position":[[417,7]]},"1180":{"position":[[747,7]]},"1181":{"position":[[502,7]]},"1182":{"position":[[439,7]]},"1183":{"position":[[394,7]]},"1186":{"position":[[3933,7]]},"1187":{"position":[[3946,7]]},"1188":{"position":[[1838,5],[1861,5],[1918,7],[2055,5],[2133,7],[2148,5],[2284,5],[8672,7]]},"1191":{"position":[[2533,7]]},"1192":{"position":[[2708,7]]},"1193":{"position":[[2760,7]]},"1194":{"position":[[2400,7]]},"1195":{"position":[[2378,7]]},"1196":{"position":[[2188,7]]},"1197":{"position":[[3171,7]]},"1198":{"position":[[3181,7]]},"1199":{"position":[[3209,7]]},"1200":{"position":[[3076,7]]},"1201":{"position":[[2336,7]]},"1202":{"position":[[3478,7],[7875,7]]},"1203":{"position":[[2570,7]]},"1204":{"position":[[2414,7]]},"1205":{"position":[[3743,7]]},"1206":{"position":[[2214,7]]},"1207":{"position":[[2371,7]]},"1209":{"position":[[3719,7]]},"1217":{"position":[[1530,5],[1553,5],[1610,7],[1747,5],[1825,7],[1840,5],[1976,5],[7030,7]]},"1219":{"position":[[3016,7]]},"1222":{"position":[[2140,7]]},"1223":{"position":[[2150,7]]},"1224":{"position":[[2330,7]]},"1226":{"position":[[7498,7]]},"1228":{"position":[[3611,5],[3634,5],[3691,7],[3828,5],[3906,7],[3921,5],[4057,5],[9111,7]]},"1235":{"position":[[4979,7]]},"1237":{"position":[[7668,7]]},"1350":{"position":[[2094,8]]},"1352":{"position":[[2093,8]]},"1360":{"position":[[5672,5],[5725,8]]},"1362":{"position":[[6322,7],[9932,7],[10151,7],[10240,8],[10398,8]]},"1364":{"position":[[6351,7],[11046,7],[11265,7],[11354,8],[11512,8]]},"1366":{"position":[[3249,7]]},"1367":{"position":[[7749,7],[10849,7],[11068,7],[11157,8],[11315,8]]},"1373":{"position":[[3878,7]]},"1382":{"position":[[4234,7],[6658,7],[6877,7],[6966,8],[7124,8]]},"1383":{"position":[[8177,5],[8230,8]]},"1384":{"position":[[5396,7],[6069,5],[13012,7],[13231,7],[13320,8],[13478,8]]},"1388":{"position":[[4534,7],[7527,7],[7746,7],[7835,8],[7993,8]]},"1389":{"position":[[5383,7],[5630,7]]},"1403":{"position":[[7277,5],[7330,8]]},"1427":{"position":[[4824,5]]},"1439":{"position":[[7323,5]]},"1454":{"position":[[4343,7]]},"1462":{"position":[[5356,7]]},"1471":{"position":[[2902,7],[4025,5],[4335,8],[4558,5]]},"1472":{"position":[[3509,5],[4609,5],[4919,8],[5142,5]]},"1473":{"position":[[4346,5],[4656,8],[4879,5]]}},"keywords":{}}],["local.reproduc",{"_index":4291,"title":{},"content":{"894":{"position":[[533,16]]}},"keywords":{}}],["local_en",{"_index":1872,"title":{},"content":{"362":{"position":[[30,14],[1037,13],[1140,13]]},"741":{"position":[[30,14],[1037,13],[1140,13]]},"1072":{"position":[[655,13],[1185,13]]}},"keywords":{}}],["local_linker_flag",{"_index":7197,"title":{},"content":{"1384":{"position":[[2849,19],[14146,19]]},"1387":{"position":[[2816,19]]},"1454":{"position":[[1656,19]]}},"keywords":{}}],["local_onli",{"_index":1171,"title":{},"content":{"94":{"position":[[561,11],[2773,10],[3196,13],[3302,13]]},"226":{"position":[[561,11],[2773,10],[3196,13],[3302,13]]},"298":{"position":[[2908,10]]},"851":{"position":[[2234,10]]}},"keywords":{}}],["local_resourc",{"_index":2011,"title":{},"content":{"374":{"position":[[211,15],[1631,16]]},"753":{"position":[[211,15],[1631,16]]},"1053":{"position":[[397,15]]},"1054":{"position":[[1788,15]]}},"keywords":{}}],["local_work",{"_index":7821,"title":{},"content":{"1414":{"position":[[597,14]]}},"keywords":{}}],["locales_for_binary_resourc",{"_index":8399,"title":{},"content":{"1470":{"position":[[1628,29]]}},"keywords":{}}],["locally)no_outputs_cleanup",{"_index":1195,"title":{},"content":{"94":{"position":[[1653,27]]},"226":{"position":[[1653,27]]}},"keywords":{}}],["locally.use_limited_hybrid",{"_index":6321,"title":{},"content":{"1346":{"position":[[449,26]]}},"keywords":{}}],["locallyremot",{"_index":4037,"title":{},"content":{"867":{"position":[[1700,14]]}},"keywords":{}}],["localresourceinfo",{"_index":2025,"title":{"377":{"position":[[0,18]]},"756":{"position":[[0,18]]},"1052":{"position":[[0,17]]}},"content":{"377":{"position":[[4,18],[365,17]]},"756":{"position":[[4,18],[365,17]]},"1052":{"position":[[1550,17]]},"1053":{"position":[[490,17],[759,17]]},"1054":{"position":[[26,17],[321,18],[1169,17],[1529,22]]}},"keywords":{}}],["locat",{"_index":808,"title":{},"content":{"26":{"position":[[53,9]]},"27":{"position":[[60,9]]},"30":{"position":[[64,9]]},"40":{"position":[[125,9]]},"41":{"position":[[80,10],[296,10]]},"69":{"position":[[158,9]]},"89":{"position":[[557,7],[1113,7]]},"126":{"position":[[278,10]]},"173":{"position":[[125,9]]},"174":{"position":[[80,10],[296,10]]},"178":{"position":[[53,9]]},"179":{"position":[[60,9]]},"186":{"position":[[64,9]]},"221":{"position":[[557,7],[1113,7]]},"249":{"position":[[278,10]]},"405":{"position":[[2288,8]]},"408":{"position":[[688,9]]},"457":{"position":[[158,9]]},"570":{"position":[[230,9],[336,8],[558,9]]},"581":{"position":[[145,10],[220,7],[303,7],[491,7]]},"632":{"position":[[386,8]]},"688":{"position":[[1242,10],[1286,8]]},"693":{"position":[[5733,7]]},"712":{"position":[[2848,8]]},"717":{"position":[[197,8]]},"724":{"position":[[1681,8]]},"784":{"position":[[2288,8]]},"787":{"position":[[688,9]]},"892":{"position":[[166,10],[190,8]]},"954":{"position":[[527,9]]},"964":{"position":[[434,8]]},"1025":{"position":[[464,10]]},"1058":{"position":[[639,8]]},"1102":{"position":[[759,7]]},"1104":{"position":[[571,10],[1117,11]]},"1112":{"position":[[1794,8],[4767,10],[4785,10]]},"1193":{"position":[[489,8]]},"1240":{"position":[[12,8]]},"1374":{"position":[[1827,10]]},"1383":{"position":[[5568,10]]},"1385":{"position":[[3048,8]]},"1387":{"position":[[5315,8]]},"1388":{"position":[[4842,10],[4885,8],[6252,10],[6295,8]]},"1393":{"position":[[7759,7]]},"1397":{"position":[[2561,8]]},"1399":{"position":[[1593,8],[2957,10]]},"1401":{"position":[[1554,11],[1922,10]]},"1407":{"position":[[5134,10]]},"1415":{"position":[[5792,7]]},"1422":{"position":[[4321,10],[4491,10]]},"1423":{"position":[[3485,10]]},"1444":{"position":[[1675,8]]},"1446":{"position":[[2176,8]]},"1459":{"position":[[2149,8]]},"1462":{"position":[[5549,8]]},"1465":{"position":[[2469,8]]},"1467":{"position":[[6034,8],[6605,10],[6648,8]]},"1477":{"position":[[2201,8],[2287,9],[2374,9],[2535,9]]},"1478":{"position":[[2181,8],[2429,8]]}},"keywords":{}}],["location.replace_regex",{"_index":2160,"title":{},"content":{"405":{"position":[[2401,22]]},"784":{"position":[[2401,22]]}},"keywords":{}}],["lock",{"_index":426,"title":{},"content":{"13":{"position":[[291,6]]}},"keywords":{}}],["log",{"_index":1683,"title":{"865":{"position":[[11,4]]},"866":{"position":[[21,3],[45,4]]},"867":{"position":[[6,3]]},"1122":{"position":[[0,7]]},"1123":{"position":[[6,3]]},"1127":{"position":[[18,4]]},"1170":{"position":[[0,3]]},"1171":{"position":[[5,4]]},"1172":{"position":[[5,3]]},"1173":{"position":[[5,3]]},"1174":{"position":[[5,3]]},"1175":{"position":[[5,3]]},"1176":{"position":[[5,3]]},"1177":{"position":[[5,3]]},"1178":{"position":[[5,3]]},"1179":{"position":[[5,3]]},"1180":{"position":[[5,3]]},"1181":{"position":[[5,3]]},"1182":{"position":[[5,3]]},"1183":{"position":[[5,3]]}},"content":{"304":{"position":[[310,4]]},"446":{"position":[[208,6]]},"705":{"position":[[576,3]]},"825":{"position":[[208,6]]},"864":{"position":[[190,5]]},"865":{"position":[[27,3],[100,3],[366,4],[497,3],[572,4],[611,3],[819,3]]},"866":{"position":[[6,3],[58,3],[133,3],[252,4],[278,4],[320,3],[338,3]]},"867":{"position":[[29,3]]},"1031":{"position":[[849,9]]},"1067":{"position":[[597,4]]},"1124":{"position":[[28,3]]},"1126":{"position":[[22,3]]},"1127":{"position":[[6,4],[54,3],[88,4],[128,3],[205,4],[251,3],[270,4],[337,3],[380,4],[419,3],[513,3],[735,3]]},"1136":{"position":[[5707,3],[5728,3],[5766,3],[6104,8],[6305,3],[6422,4],[6626,8]]},"1138":{"position":[[9369,3],[9390,3],[9428,3],[9766,8],[9967,3],[10084,4],[10288,8]]},"1140":{"position":[[455,3],[498,3],[564,4],[647,4],[652,3],[895,3],[928,3],[8295,3],[8316,3],[8354,3],[8692,8],[8893,3],[9010,4],[9214,8]]},"1142":{"position":[[3739,3],[3760,3],[3798,3],[4136,8],[4337,3],[4454,4],[4658,8]]},"1144":{"position":[[464,8],[665,3],[782,4],[986,8]]},"1146":{"position":[[3679,3],[3700,3],[3738,3],[4076,8],[4277,3],[4394,4],[4598,8]]},"1148":{"position":[[6719,3],[6740,3],[6778,3],[7667,8],[7868,3],[7985,4],[8189,8]]},"1150":{"position":[[699,8],[900,3],[1017,4],[1221,8]]},"1152":{"position":[[397,8],[598,3],[715,4],[919,8]]},"1154":{"position":[[552,8],[753,3],[870,4],[1074,8]]},"1155":{"position":[[3775,3],[3796,3],[3834,3],[4172,8],[4373,3],[4490,4],[4694,8]]},"1156":{"position":[[3353,3],[3374,3],[3412,3],[3750,8],[3951,3],[4068,4],[4272,8]]},"1157":{"position":[[335,8],[536,3],[653,4],[857,8]]},"1158":{"position":[[329,8],[530,3],[647,4],[851,8]]},"1159":{"position":[[329,8],[530,3],[647,4],[851,8]]},"1161":{"position":[[1324,8],[1525,3],[1642,4],[1846,8]]},"1163":{"position":[[313,3],[334,3],[372,3],[710,8],[911,3],[1028,4],[1232,8]]},"1165":{"position":[[142,3],[163,3],[201,3],[539,8],[740,3],[857,4],[1061,8]]},"1167":{"position":[[9299,3],[9320,3],[9358,3],[9696,8],[9897,3],[10014,4],[10218,8]]},"1169":{"position":[[2407,3],[2428,3],[2466,3],[2804,8],[3005,3],[3122,4],[3326,8]]},"1171":{"position":[[36,4],[62,3],[274,3],[295,3],[448,3],[684,3],[717,3],[766,4],[1045,8],[1246,3],[1363,4],[1567,8]]},"1172":{"position":[[849,3],[916,3],[986,3],[1044,3],[1141,3],[2430,8],[2631,3],[2748,4],[2952,8]]},"1173":{"position":[[146,3],[216,3],[286,3],[344,3],[441,3],[1117,8],[1318,3],[1435,4],[1639,8]]},"1174":{"position":[[32,3],[57,3],[120,3],[190,3],[248,3],[345,3],[408,4],[545,8],[746,3],[863,4],[1067,8]]},"1175":{"position":[[12,3],[77,3],[140,3],[210,3],[268,3],[365,3],[541,8],[742,3],[859,4],[1063,8]]},"1176":{"position":[[130,3],[162,3],[224,3],[294,3],[352,3],[449,3],[710,8],[911,3],[1028,4],[1232,8]]},"1177":{"position":[[39,3],[70,3],[136,3],[206,3],[264,3],[361,3],[631,8],[832,3],[949,4],[1153,8]]},"1178":{"position":[[214,3],[290,3],[360,3],[418,3],[515,3],[948,8],[1149,3],[1266,4],[1470,8]]},"1179":{"position":[[84,3],[156,3],[226,3],[284,3],[381,3],[745,8],[946,3],[1063,4],[1267,8]]},"1180":{"position":[[414,3],[486,3],[556,3],[614,3],[711,3],[1016,8],[1217,3],[1334,4],[1538,8]]},"1181":{"position":[[16,4],[71,3],[115,3],[199,3],[311,3],[369,3],[466,3],[621,4],[1536,8],[1737,3],[1854,4],[2058,8]]},"1182":{"position":[[19,3],[68,4],[110,3],[178,3],[248,3],[306,3],[403,3],[579,8],[780,3],[897,4],[1101,8]]},"1183":{"position":[[67,3],[133,3],[203,3],[261,3],[358,3],[534,8],[735,3],[852,4],[1056,8]]},"1185":{"position":[[379,8],[580,3],[697,4],[901,8]]},"1186":{"position":[[4943,3],[4964,3],[5002,3],[5340,8],[5541,3],[5658,4],[5862,8]]},"1187":{"position":[[4956,3],[4977,3],[5015,3],[5353,8],[5554,3],[5671,4],[5875,8]]},"1188":{"position":[[508,3],[551,3],[617,4],[700,4],[705,3],[948,3],[981,3],[9682,3],[9703,3],[9741,3],[10079,8],[10280,3],[10397,4],[10601,8]]},"1190":{"position":[[1710,8],[1911,3],[2028,4],[2232,8]]},"1191":{"position":[[3543,3],[3564,3],[3602,3],[3940,8],[4141,3],[4258,4],[4462,8]]},"1192":{"position":[[3718,3],[3739,3],[3777,3],[4115,8],[4316,3],[4433,4],[4637,8]]},"1193":{"position":[[3770,3],[3791,3],[3829,3],[4167,8],[4368,3],[4485,4],[4689,8]]},"1194":{"position":[[3410,3],[3431,3],[3469,3],[3807,8],[4008,3],[4125,4],[4329,8]]},"1195":{"position":[[3388,3],[3409,3],[3447,3],[3785,8],[3986,3],[4103,4],[4307,8]]},"1196":{"position":[[3198,3],[3219,3],[3257,3],[3595,8],[3796,3],[3913,4],[4117,8]]},"1197":{"position":[[4181,3],[4202,3],[4240,3],[4578,8],[4779,3],[4896,4],[5100,8]]},"1198":{"position":[[4191,3],[4212,3],[4250,3],[4588,8],[4789,3],[4906,4],[5110,8]]},"1199":{"position":[[4219,3],[4240,3],[4278,3],[4616,8],[4817,3],[4934,4],[5138,8]]},"1200":{"position":[[4086,3],[4107,3],[4145,3],[4483,8],[4684,3],[4801,4],[5005,8]]},"1201":{"position":[[3346,3],[3367,3],[3405,3],[3743,8],[3944,3],[4061,4],[4265,8]]},"1202":{"position":[[487,8],[688,3],[805,4],[1009,8],[4488,3],[4509,3],[4547,3],[4885,8],[5086,3],[5203,4],[5407,8],[8885,3],[8906,3],[8944,3],[9282,8],[9483,3],[9600,4],[9804,8]]},"1203":{"position":[[3580,3],[3601,3],[3639,3],[3977,8],[4178,3],[4295,4],[4499,8]]},"1204":{"position":[[185,3],[197,3],[3424,3],[3445,3],[3483,3],[3821,8],[4022,3],[4139,4],[4343,8],[4723,8],[4924,3],[5041,4],[5245,8],[5653,8],[5854,3],[5971,4],[6175,8],[6555,8],[6756,3],[6873,4],[7077,8],[7541,8],[7742,3],[7859,4],[8063,8],[8244,4],[8257,3],[8340,3],[8495,8],[8696,3],[8813,4],[9017,8],[9442,8],[9643,3],[9760,4],[9964,8],[10372,8],[10573,3],[10690,4],[10894,8]]},"1205":{"position":[[4753,3],[4774,3],[4812,3],[5150,8],[5351,3],[5468,4],[5672,8]]},"1206":{"position":[[3224,3],[3245,3],[3283,3],[3849,8],[4050,3],[4167,4],[4371,8]]},"1207":{"position":[[3381,3],[3402,3],[3440,3],[3778,8],[3979,3],[4096,4],[4300,8]]},"1209":{"position":[[4729,3],[4750,3],[4788,3],[5126,8],[5327,3],[5444,4],[5648,8]]},"1211":{"position":[[450,8],[651,3],[768,4],[972,8]]},"1213":{"position":[[221,8],[422,3],[539,4],[743,8]]},"1215":{"position":[[305,8],[506,3],[623,4],[827,8]]},"1217":{"position":[[8040,3],[8061,3],[8099,3],[8437,8],[8638,3],[8755,4],[8959,8]]},"1219":{"position":[[3295,3],[3316,3],[3354,3],[3692,8],[3893,3],[4010,4],[4214,8]]},"1221":{"position":[[424,8],[625,3],[742,4],[946,8]]},"1222":{"position":[[3150,3],[3171,3],[3209,3],[3563,8],[3764,3],[3881,4],[4085,8]]},"1223":{"position":[[3160,3],[3181,3],[3219,3],[3573,8],[3774,3],[3891,4],[4095,8]]},"1224":{"position":[[2609,3],[2630,3],[2668,3],[3006,8],[3207,3],[3324,4],[3528,8]]},"1226":{"position":[[8508,3],[8529,3],[8567,3],[8905,8],[9106,3],[9223,4],[9427,8]]},"1228":{"position":[[10121,3],[10142,3],[10180,3],[10518,8],[10719,3],[10836,4],[11040,8]]},"1235":{"position":[[5989,3],[6010,3],[6048,3],[6386,8],[6587,3],[6704,4],[6908,8]]},"1237":{"position":[[8678,3],[8699,3],[8737,3],[9075,8],[9276,3],[9393,4],[9597,8]]},"1244":{"position":[[73,3],[148,3]]},"1248":{"position":[[81,3],[146,3]]},"1383":{"position":[[7717,7]]},"1403":{"position":[[6817,7]]},"1429":{"position":[[5579,3]]},"1440":{"position":[[5571,3]]}},"keywords":{}}],["log4net",{"_index":8222,"title":{},"content":{"1456":{"position":[[1559,10],[1690,11]]}},"keywords":{}}],["log4net.dl",{"_index":8223,"title":{},"content":{"1456":{"position":[[1581,14]]}},"keywords":{}}],["log_extractor",{"_index":6527,"title":{},"content":{"1354":{"position":[[935,15]]}},"keywords":{}}],["logger",{"_index":5402,"title":{},"content":{"1058":{"position":[[108,6]]}},"keywords":{}}],["logic",{"_index":3619,"title":{},"content":{"702":{"position":[[225,9],[264,9]]},"867":{"position":[[1961,9]]},"916":{"position":[[227,7],[417,5]]},"1001":{"position":[[745,9]]},"1022":{"position":[[200,9]]},"1064":{"position":[[843,9]]},"1105":{"position":[[2224,5]]},"1126":{"position":[[577,9]]},"1383":{"position":[[7799,7]]},"1399":{"position":[[2346,7]]},"1403":{"position":[[6899,7]]}},"keywords":{}}],["long",{"_index":1059,"title":{},"content":{"85":{"position":[[496,4]]},"217":{"position":[[496,4]]},"422":{"position":[[188,4]]},"513":{"position":[[191,4]]},"514":{"position":[[183,4]]},"673":{"position":[[418,4]]},"706":{"position":[[642,4],[1392,4]]},"801":{"position":[[188,4]]},"867":{"position":[[1299,4]]},"1071":{"position":[[1284,4]]},"1072":{"position":[[272,4]]},"1079":{"position":[[937,4],[1254,4]]},"1120":{"position":[[147,4]]},"1228":{"position":[[1362,4]]}},"keywords":{}}],["longer",{"_index":2039,"title":{"1048":{"position":[[0,6]]}},"content":{"377":{"position":[[1069,6]]},"756":{"position":[[1069,6]]},"980":{"position":[[1407,6]]},"981":{"position":[[266,6]]},"1052":{"position":[[1034,6]]}},"keywords":{}}],["longest",{"_index":3257,"title":{},"content":{"654":{"position":[[563,7]]},"666":{"position":[[748,7],[902,7]]}},"keywords":{}}],["look",{"_index":490,"title":{},"content":{"17":{"position":[[174,4]]},"19":{"position":[[107,4]]},"22":{"position":[[1774,7]]},"23":{"position":[[1586,4]]},"85":{"position":[[280,4]]},"217":{"position":[[280,4]]},"300":{"position":[[399,4]]},"340":{"position":[[177,5]]},"418":{"position":[[225,5]]},"697":{"position":[[7,4]]},"704":{"position":[[700,5]]},"797":{"position":[[225,5]]},"856":{"position":[[278,7]]},"864":{"position":[[168,7]]},"890":{"position":[[2408,6]]},"895":{"position":[[65,7]]},"924":{"position":[[1748,5]]},"945":{"position":[[670,4]]},"988":{"position":[[222,5]]},"1014":{"position":[[319,4]]},"1021":{"position":[[616,7]]},"1050":{"position":[[3729,4]]},"1058":{"position":[[430,7],[730,7]]},"1093":{"position":[[29,5]]},"1102":{"position":[[119,4],[462,5]]},"1123":{"position":[[126,4]]},"1131":{"position":[[708,4]]},"1173":{"position":[[62,4]]},"1231":{"position":[[486,4],[548,4],[710,4]]},"1232":{"position":[[3161,4]]},"1253":{"position":[[132,4]]},"1346":{"position":[[194,4]]},"1356":{"position":[[2157,5]]},"1398":{"position":[[2549,4]]},"1487":{"position":[[3642,4]]}},"keywords":{}}],["lookup",{"_index":1724,"title":{},"content":{"309":{"position":[[419,6]]},"389":{"position":[[704,6]]},"704":{"position":[[1262,6]]},"768":{"position":[[704,6]]},"905":{"position":[[223,8],[244,6],[334,6],[1443,7]]},"951":{"position":[[1311,6]]},"1013":{"position":[[181,6]]},"1021":{"position":[[737,6]]},"1058":{"position":[[971,7]]},"1112":{"position":[[399,7]]}},"keywords":{}}],["lookup<key>",{"_index":2074,"title":{},"content":{"389":{"position":[[798,17]]},"768":{"position":[[798,17]]}},"keywords":{}}],["loop",{"_index":191,"title":{"1251":{"position":[[48,5]]}},"content":{"9":{"position":[[443,6]]},"345":{"position":[[651,4]]},"556":{"position":[[209,5]]},"561":{"position":[[216,4]]},"890":{"position":[[3264,5],[4753,6]]},"1058":{"position":[[817,4],[921,4]]},"1250":{"position":[[202,5]]},"1251":{"position":[[87,5],[154,4],[357,4]]}},"keywords":{}}],["lose",{"_index":1257,"title":{},"content":{"98":{"position":[[1191,6]]},"99":{"position":[[1599,6]]},"230":{"position":[[1191,6]]},"231":{"position":[[1599,6]]},"1087":{"position":[[411,4]]}},"keywords":{}}],["lossi",{"_index":4387,"title":{},"content":{"900":{"position":[[2016,5]]}},"keywords":{}}],["lost."",{"_index":4953,"title":{},"content":{"991":{"position":[[3369,11]]}},"keywords":{}}],["lot",{"_index":219,"title":{},"content":{"9":{"position":[[1058,5]]},"10":{"position":[[699,3]]},"20":{"position":[[7,3]]},"22":{"position":[[1536,4]]},"92":{"position":[[2214,3]]},"224":{"position":[[2214,3]]},"450":{"position":[[256,4]]},"829":{"position":[[256,4]]},"919":{"position":[[446,4]]},"966":{"position":[[456,4]]},"980":{"position":[[1083,3]]},"1087":{"position":[[418,3]]},"1250":{"position":[[80,3]]},"1252":{"position":[[35,3]]},"1253":{"position":[[111,3],[326,3]]}},"keywords":{}}],["low",{"_index":1919,"title":{},"content":{"362":{"position":[[2656,3]]},"741":{"position":[[2656,3]]}},"keywords":{}}],["low_pass_filt",{"_index":1174,"title":{},"content":{"94":{"position":[[644,16]]},"226":{"position":[[644,16]]}},"keywords":{}}],["lower",{"_index":2685,"title":{},"content":{"583":{"position":[[219,5]]},"724":{"position":[[203,5]]},"1190":{"position":[[8,5]]}},"keywords":{}}],["lowercas",{"_index":1368,"title":{},"content":{"133":{"position":[[269,10]]},"256":{"position":[[269,10]]},"589":{"position":[[182,10]]},"600":{"position":[[85,10],[206,10]]},"605":{"position":[[68,10],[146,10]]},"620":{"position":[[212,9]]}},"keywords":{}}],["lp",{"_index":5459,"title":{},"content":{"1061":{"position":[[216,2]]}},"keywords":{}}],["lproj",{"_index":6953,"title":{},"content":{"1366":{"position":[[2461,6]]}},"keywords":{}}],["ls",{"_index":4448,"title":{},"content":{"910":{"position":[[115,2],[118,2]]}},"keywords":{}}],["lsp",{"_index":769,"title":{"873":{"position":[[9,4]]},"954":{"position":[[4,4]]},"955":{"position":[[8,4]]},"957":{"position":[[5,4]]},"1168":{"position":[[0,3]]},"1169":{"position":[[5,4]]}},"content":{"23":{"position":[[2993,3]]},"873":{"position":[[156,6],[358,3]]},"954":{"position":[[0,3],[488,3]]},"955":{"position":[[242,3]]},"959":{"position":[[383,3]]},"1169":{"position":[[9,3],[60,3]]}},"keywords":{}}],["lt;$header_namespace/$header_name>",{"_index":7051,"title":{},"content":{"1373":{"position":[[4896,38]]},"1382":{"position":[[5966,38]]},"1384":{"position":[[6479,39],[10913,38]]},"1385":{"position":[[3879,38]]},"1387":{"position":[[6212,38]]},"1388":{"position":[[6835,38]]},"1454":{"position":[[5183,39]]},"1485":{"position":[[2247,38]]}},"keywords":{}}],["lt;<",{"_index":550,"title":{},"content":{"18":{"position":[[490,8],[543,8]]},"1252":{"position":[[224,8],[271,8]]}},"keywords":{}}],["lt;(buck2",{"_index":5944,"title":{},"content":{"1144":{"position":[[105,10],[140,10]]}},"keywords":{}}],["lt;/activity>",{"_index":6603,"title":{},"content":{"1356":{"position":[[2897,17]]}},"keywords":{}}],["lt;/application>",{"_index":6604,"title":{},"content":{"1356":{"position":[[2915,20]]}},"keywords":{}}],["lt;/intent",{"_index":6602,"title":{},"content":{"1356":{"position":[[2874,11]]}},"keywords":{}}],["lt;/manifest>",{"_index":6605,"title":{},"content":{"1356":{"position":[[2936,17]]}},"keywords":{}}],["lt;100m",{"_index":8488,"title":{},"content":{"1478":{"position":[[3623,9],[3735,9]]},"1482":{"position":[[2820,9],[2909,9],[3152,9],[3241,9],[3322,9]]}},"keywords":{}}],["lt;?file:*path",{"_index":2707,"title":{},"content":{"584":{"position":[[1100,15]]}},"keywords":{}}],["lt;?file:futur",{"_index":2720,"title":{},"content":{"584":{"position":[[1703,16]]}},"keywords":{}}],["lt;?xml",{"_index":6579,"title":{},"content":{"1356":{"position":[[2170,8]]}},"keywords":{}}],["lt;action",{"_index":6598,"title":{},"content":{"1356":{"position":[[2730,10]]}},"keywords":{}}],["lt;activ",{"_index":6593,"title":{},"content":{"1356":{"position":[[2612,12]]}},"keywords":{}}],["lt;activity>",{"_index":5977,"title":{},"content":{"1167":{"position":[[1114,16]]}},"keywords":{}}],["lt;ani",{"_index":4002,"title":{},"content":{"865":{"position":[[791,7]]}},"keywords":{}}],["lt;applic",{"_index":6590,"title":{},"content":{"1356":{"position":[[2502,15]]}},"keywords":{}}],["lt;arch>",{"_index":5882,"title":{},"content":{"1136":{"position":[[2925,12]]},"1138":{"position":[[6587,12]]},"1140":{"position":[[5513,12]]},"1142":{"position":[[957,12]]},"1146":{"position":[[897,12]]},"1148":{"position":[[3937,12]]},"1155":{"position":[[993,12]]},"1156":{"position":[[571,12]]},"1167":{"position":[[6517,12]]},"1169":{"position":[[356,12]]},"1186":{"position":[[2161,12]]},"1187":{"position":[[2174,12]]},"1188":{"position":[[6900,12]]},"1191":{"position":[[761,12]]},"1192":{"position":[[936,12]]},"1193":{"position":[[988,12]]},"1194":{"position":[[628,12]]},"1195":{"position":[[606,12]]},"1196":{"position":[[416,12]]},"1197":{"position":[[1399,12]]},"1198":{"position":[[1409,12]]},"1199":{"position":[[1437,12]]},"1200":{"position":[[1304,12]]},"1201":{"position":[[564,12]]},"1202":{"position":[[1706,12],[6103,12]]},"1203":{"position":[[798,12]]},"1204":{"position":[[642,12]]},"1205":{"position":[[1971,12]]},"1206":{"position":[[442,12]]},"1207":{"position":[[599,12]]},"1209":{"position":[[1947,12]]},"1217":{"position":[[5258,12]]},"1219":{"position":[[1244,12]]},"1222":{"position":[[368,12]]},"1223":{"position":[[378,12]]},"1224":{"position":[[558,12]]},"1226":{"position":[[5726,12]]},"1228":{"position":[[7339,12]]},"1235":{"position":[[3207,12]]},"1237":{"position":[[5896,12]]}},"keywords":{}}],["lt;arg>",{"_index":2073,"title":{},"content":{"389":{"position":[[672,13]]},"768":{"position":[[672,13]]}},"keywords":{}}],["lt;args>",{"_index":7960,"title":{},"content":{"1426":{"position":[[2847,15]]}},"keywords":{}}],["lt;attribute>",{"_index":5826,"title":{},"content":{"1131":{"position":[[27,17]]},"1136":{"position":[[1390,17],[1812,20]]},"1148":{"position":[[1746,17],[2168,20]]},"1205":{"position":[[870,17],[1292,20]]},"1209":{"position":[[623,17],[1045,20]]},"1226":{"position":[[2563,17],[2985,20]]},"1235":{"position":[[1883,17],[2305,20]]},"1237":{"position":[[2733,17],[3155,20]]}},"keywords":{}}],["lt;buck2_build_api::artifact_groups::artifact_group_values::transitivesetiterator<buck2_build_api::artifact_groups::artifact_group_values::artifactgroupvalu",{"_index":6104,"title":{},"content":{"1232":{"position":[[96,163],[527,163]]}},"keywords":{}}],["lt;buck2_events::dispatch::eventdispatcher>::span_async<buck2_data::commandstart",{"_index":6138,"title":{},"content":{"1232":{"position":[[2440,88]]}},"keywords":{}}],["lt;buck2_events::dispatch::span>::call_in_span::<core::task::poll::poll<(core::result::result<cli_proto::buildrespons",{"_index":6135,"title":{},"content":{"1232":{"position":[[2259,132]]}},"keywords":{}}],["lt;build_report_options>",{"_index":5926,"title":{},"content":{"1138":{"position":[[1910,28]]},"1140":{"position":[[1399,28]]},"1167":{"position":[[2403,28]]},"1188":{"position":[[1452,28]]},"1217":{"position":[[1144,28]]},"1228":{"position":[[3225,28]]}},"keywords":{}}],["lt;bxl",{"_index":3868,"title":{},"content":{"841":{"position":[[59,7],[112,7],[366,7]]},"1140":{"position":[[51,7],[73,7],[111,7]]},"1188":{"position":[[104,7],[126,7],[164,7]]}},"keywords":{}}],["lt;categori",{"_index":6600,"title":{},"content":{"1356":{"position":[[2798,12]]}},"keywords":{}}],["lt;category>",{"_index":6026,"title":{},"content":{"1203":{"position":[[105,16],[192,16]]}},"keywords":{}}],["lt;cell",{"_index":3872,"title":{},"content":{"841":{"position":[[148,8]]}},"keywords":{}}],["lt;cell>",{"_index":5952,"title":{},"content":{"1150":{"position":[[521,12],[545,12]]},"1193":{"position":[[328,12]]}},"keywords":{}}],["lt;cell>//path/file.bxl:<function>",{"_index":5936,"title":{},"content":{"1140":{"position":[[189,46]]},"1188":{"position":[[242,46]]}},"keywords":{}}],["lt;cell>//path/to/fil",{"_index":1816,"title":{},"content":{"334":{"position":[[489,28]]},"474":{"position":[[228,28]]}},"keywords":{}}],["lt;chdir>",{"_index":6037,"title":{},"content":{"1217":{"position":[[472,13]]}},"keywords":{}}],["lt;client_metadata>",{"_index":5916,"title":{},"content":{"1136":{"position":[[6554,23]]},"1138":{"position":[[10216,23]]},"1140":{"position":[[9142,23]]},"1142":{"position":[[4586,23]]},"1144":{"position":[[914,23]]},"1146":{"position":[[4526,23]]},"1148":{"position":[[8117,23]]},"1150":{"position":[[1149,23]]},"1152":{"position":[[847,23]]},"1154":{"position":[[1002,23]]},"1155":{"position":[[4622,23]]},"1156":{"position":[[4200,23]]},"1157":{"position":[[785,23]]},"1158":{"position":[[779,23]]},"1159":{"position":[[779,23]]},"1161":{"position":[[1774,23]]},"1163":{"position":[[1160,23]]},"1165":{"position":[[989,23]]},"1167":{"position":[[10146,23]]},"1169":{"position":[[3254,23]]},"1171":{"position":[[1495,23]]},"1172":{"position":[[2880,23]]},"1173":{"position":[[1567,23]]},"1174":{"position":[[995,23]]},"1175":{"position":[[991,23]]},"1176":{"position":[[1160,23]]},"1177":{"position":[[1081,23]]},"1178":{"position":[[1398,23]]},"1179":{"position":[[1195,23]]},"1180":{"position":[[1466,23]]},"1181":{"position":[[1986,23]]},"1182":{"position":[[1029,23]]},"1183":{"position":[[984,23]]},"1185":{"position":[[829,23]]},"1186":{"position":[[5790,23]]},"1187":{"position":[[5803,23]]},"1188":{"position":[[10529,23]]},"1190":{"position":[[2160,23]]},"1191":{"position":[[4390,23]]},"1192":{"position":[[4565,23]]},"1193":{"position":[[4617,23]]},"1194":{"position":[[4257,23]]},"1195":{"position":[[4235,23]]},"1196":{"position":[[4045,23]]},"1197":{"position":[[5028,23]]},"1198":{"position":[[5038,23]]},"1199":{"position":[[5066,23]]},"1200":{"position":[[4933,23]]},"1201":{"position":[[4193,23]]},"1202":{"position":[[937,23],[5335,23],[9732,23]]},"1203":{"position":[[4427,23]]},"1204":{"position":[[4271,23],[5173,23],[6103,23],[7005,23],[7991,23],[8945,23],[9892,23],[10822,23]]},"1205":{"position":[[5600,23]]},"1206":{"position":[[4299,23]]},"1207":{"position":[[4228,23]]},"1209":{"position":[[5576,23]]},"1211":{"position":[[900,23]]},"1213":{"position":[[671,23]]},"1215":{"position":[[755,23]]},"1217":{"position":[[8887,23]]},"1219":{"position":[[4142,23]]},"1221":{"position":[[874,23]]},"1222":{"position":[[4013,23]]},"1223":{"position":[[4023,23]]},"1224":{"position":[[3456,23]]},"1226":{"position":[[9355,23]]},"1228":{"position":[[10968,23]]},"1235":{"position":[[6836,23]]},"1237":{"position":[[9525,23]]}},"keywords":{}}],["lt;command>",{"_index":3508,"title":{},"content":{"692":{"position":[[241,16]]},"1154":{"position":[[77,15]]},"1171":{"position":[[76,15]]},"1185":{"position":[[61,15]]},"1190":{"position":[[65,15]]},"1202":{"position":[[73,15]]},"1204":{"position":[[110,15]]},"1221":{"position":[[64,15]]}},"keywords":{}}],["lt;command_args_file>",{"_index":6035,"title":{},"content":{"1217":{"position":[[385,25]]}},"keywords":{}}],["lt;core::future::from_generator::genfuture<<alloc::boxed::box<dyn",{"_index":6122,"title":{},"content":{"1232":{"position":[[1322,75]]}},"keywords":{}}],["lt;core::future::from_generator::genfuture<<buck2_server_commands::commands::build::buildservercommand",{"_index":6117,"title":{},"content":{"1232":{"position":[[1049,109]]}},"keywords":{}}],["lt;core::future::from_generator::genfuture<<cli::commands::daemon::buckdserverdependenciesimpl",{"_index":6143,"title":{},"content":{"1232":{"position":[[2893,101]]}},"keywords":{}}],["lt;core::future::from_generator::genfuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::buildservercommand>::{closure#0}::{closure#0}>",{"_index":6132,"title":{},"content":{"1232":{"position":[[1989,189]]}},"keywords":{}}],["lt;count>",{"_index":6029,"title":{},"content":{"1204":{"position":[[9283,13]]}},"keywords":{}}],["lt;cstring>",{"_index":7288,"title":{},"content":{"1386":{"position":[[6230,15]]}},"keywords":{}}],["lt;destination_dir>",{"_index":5959,"title":{},"content":{"1155":{"position":[[353,23]]}},"keywords":{}}],["lt;dir>",{"_index":3507,"title":{},"content":{"692":{"position":[[229,11]]}},"keywords":{}}],["lt;dot|dot_compact|json|starlark>",{"_index":5875,"title":{},"content":{"1136":{"position":[[2103,37]]},"1148":{"position":[[2459,37]]},"1209":{"position":[[1336,37]]},"1235":{"position":[[2596,37]]}},"keywords":{}}],["lt;duration>",{"_index":5940,"title":{},"content":{"1142":{"position":[[203,18]]}},"keywords":{}}],["lt;elsewhere>",{"_index":5174,"title":{},"content":{"1043":{"position":[[418,17]]},"1044":{"position":[[1154,17],[1838,17]]}},"keywords":{}}],["lt;ensur",{"_index":1595,"title":{},"content":{"288":{"position":[[664,11]]},"289":{"position":[[684,11]]},"510":{"position":[[735,11]]},"511":{"position":[[750,11]]},"834":{"position":[[157,11]]}},"keywords":{}}],["lt;exclude>",{"_index":6071,"title":{},"content":{"1228":{"position":[[418,18]]}},"keywords":{}}],["lt;file>",{"_index":6290,"title":{},"content":{"1273":{"position":[[605,12]]},"1304":{"position":[[605,12]]},"1332":{"position":[[605,12]]}},"keywords":{}}],["lt;file:*path",{"_index":2704,"title":{},"content":{"584":{"position":[[805,14]]}},"keywords":{}}],["lt;file:cxx",{"_index":2717,"title":{},"content":{"584":{"position":[[1644,12]]}},"keywords":{}}],["lt;filter_category>",{"_index":5991,"title":{},"content":{"1172":{"position":[[1420,23]]},"1173":{"position":[[720,23]]}},"keywords":{}}],["lt;folly/conv.h>",{"_index":7269,"title":{},"content":{"1386":{"position":[[3432,20]]}},"keywords":{}}],["lt;folly/executor.h>",{"_index":7270,"title":{},"content":{"1386":{"position":[[3462,24]]}},"keywords":{}}],["lt;folly/io/async/eventbase.h>",{"_index":7271,"title":{},"content":{"1386":{"position":[[3496,34]]}},"keywords":{}}],["lt;format>",{"_index":5963,"title":{},"content":{"1155":{"position":[[534,14]]},"1157":{"position":[[98,14]]},"1158":{"position":[[92,14]]},"1159":{"position":[[92,14]]},"1180":{"position":[[764,14]]}},"keywords":{}}],["lt;function",{"_index":3870,"title":{},"content":{"841":{"position":[[83,12],[205,12]]}},"keywords":{}}],["lt;host>",{"_index":5881,"title":{},"content":{"1136":{"position":[[2850,12]]},"1138":{"position":[[6512,12]]},"1140":{"position":[[5438,12]]},"1142":{"position":[[882,12]]},"1146":{"position":[[822,12]]},"1148":{"position":[[3862,12]]},"1155":{"position":[[918,12]]},"1156":{"position":[[496,12]]},"1167":{"position":[[6442,12]]},"1169":{"position":[[281,12]]},"1186":{"position":[[2086,12]]},"1187":{"position":[[2099,12]]},"1188":{"position":[[6825,12]]},"1191":{"position":[[686,12]]},"1192":{"position":[[861,12]]},"1193":{"position":[[913,12]]},"1194":{"position":[[553,12]]},"1195":{"position":[[531,12]]},"1196":{"position":[[341,12]]},"1197":{"position":[[1324,12]]},"1198":{"position":[[1334,12]]},"1199":{"position":[[1362,12]]},"1200":{"position":[[1229,12]]},"1201":{"position":[[489,12]]},"1202":{"position":[[1631,12],[6028,12]]},"1203":{"position":[[723,12]]},"1204":{"position":[[567,12]]},"1205":{"position":[[1896,12]]},"1206":{"position":[[367,12]]},"1207":{"position":[[524,12]]},"1209":{"position":[[1872,12]]},"1217":{"position":[[5183,12]]},"1219":{"position":[[1169,12]]},"1222":{"position":[[293,12]]},"1223":{"position":[[303,12]]},"1224":{"position":[[483,12]]},"1226":{"position":[[5651,12]]},"1228":{"position":[[7264,12]]},"1235":{"position":[[3132,12]]},"1237":{"position":[[5821,12]]}},"keywords":{}}],["lt;id>",{"_index":5987,"title":{},"content":{"1172":{"position":[[1028,10]]},"1173":{"position":[[328,10]]},"1174":{"position":[[232,10]]},"1175":{"position":[[252,10]]},"1176":{"position":[[336,10]]},"1177":{"position":[[248,10]]},"1178":{"position":[[402,10]]},"1179":{"position":[[268,10]]},"1180":{"position":[[598,10]]},"1181":{"position":[[353,10]]},"1182":{"position":[[290,10]]},"1183":{"position":[[245,10]]}},"keywords":{}}],["lt;import_path>",{"_index":6023,"title":{},"content":{"1202":{"position":[[1305,19],[1336,19]]}},"keywords":{}}],["lt;include>",{"_index":6072,"title":{},"content":{"1228":{"position":[[487,18]]}},"keywords":{}}],["lt;install_args>",{"_index":5970,"title":{},"content":{"1167":{"position":[[88,24]]}},"keywords":{}}],["lt;intent",{"_index":6596,"title":{},"content":{"1356":{"position":[[2708,10]]}},"keywords":{}}],["lt;intent_uri>",{"_index":5980,"title":{},"content":{"1167":{"position":[[1304,18]]}},"keywords":{}}],["lt;iostream>",{"_index":547,"title":{},"content":{"18":{"position":[[450,16]]}},"keywords":{}}],["lt;key>",{"_index":2071,"title":{},"content":{"389":{"position":[[610,13],[643,13]]},"768":{"position":[[610,13],[643,13]]}},"keywords":{}}],["lt;kind>",{"_index":6031,"title":{},"content":{"1211":{"position":[[96,12]]}},"keywords":{}}],["lt;location_style>",{"_index":6014,"title":{},"content":{"1193":{"position":[[498,22]]}},"keywords":{}}],["lt;macro>",{"_index":7166,"title":{},"content":{"1383":{"position":[[3001,16]]}},"keywords":{}}],["lt;manifest",{"_index":6473,"title":{},"content":{"1351":{"position":[[2044,12]]},"1356":{"position":[[2235,12]]}},"keywords":{}}],["lt;map>",{"_index":7265,"title":{},"content":{"1386":{"position":[[3278,11]]}},"keywords":{}}],["lt;materializations>",{"_index":5920,"title":{},"content":{"1138":{"position":[[697,24]]},"1140":{"position":[[323,24]]},"1188":{"position":[[376,24]]}},"keywords":{}}],["lt;math/trig/cos.h>",{"_index":7220,"title":{},"content":{"1384":{"position":[[21692,23]]}},"keywords":{}}],["lt;math/trig/tan.h>",{"_index":7221,"title":{},"content":{"1384":{"position":[[21720,23]]}},"keywords":{}}],["lt;millis>",{"_index":6182,"title":{},"content":{"1244":{"position":[[296,14]]}},"keywords":{}}],["lt;min_ttl>",{"_index":6028,"title":{},"content":{"1204":{"position":[[7322,15],[7349,15]]}},"keywords":{}}],["lt;mode>",{"_index":6008,"title":{},"content":{"1186":{"position":[[94,12],[433,12]]},"1187":{"position":[[107,12],[446,12]]},"1188":{"position":[[91,12],[5172,12]]}},"keywords":{}}],["lt;modefile>",{"_index":4586,"title":{},"content":{"937":{"position":[[395,18]]}},"keywords":{}}],["lt;my_alias>"",{"_index":8036,"title":{},"content":{"1438":{"position":[[1930,22]]}},"keywords":{}}],["lt;name>.escript",{"_index":7547,"title":{},"content":{"1395":{"position":[[3585,21]]}},"keywords":{}}],["lt;name>_suit",{"_index":7615,"title":{},"content":{"1398":{"position":[[1430,19]]}},"keywords":{}}],["lt;name>_suite.erl",{"_index":7614,"title":{},"content":{"1398":{"position":[[1345,22],[5261,23]]}},"keywords":{}}],["lt;name>_suite_data",{"_index":7623,"title":{},"content":{"1398":{"position":[[5299,23]]}},"keywords":{}}],["lt;name.jar>",{"_index":7959,"title":{},"content":{"1426":{"position":[[2828,18]]}},"keywords":{}}],["lt;native_subdir>",{"_index":5961,"title":{},"content":{"1155":{"position":[[408,21]]}},"keywords":{}}],["lt;number>",{"_index":5817,"title":{},"content":{"1127":{"position":[[437,14]]},"1172":{"position":[[956,14]]},"1173":{"position":[[256,14]]},"1174":{"position":[[160,14]]},"1175":{"position":[[180,14]]},"1176":{"position":[[264,14]]},"1177":{"position":[[176,14],[413,14]]},"1178":{"position":[[330,14]]},"1179":{"position":[[196,14]]},"1180":{"position":[[526,14]]},"1181":{"position":[[281,14],[518,14]]},"1182":{"position":[[218,14]]},"1183":{"position":[[173,14]]}},"keywords":{}}],["lt;oncall>",{"_index":5915,"title":{},"content":{"1136":{"position":[[6487,14]]},"1138":{"position":[[10149,14]]},"1140":{"position":[[9075,14]]},"1142":{"position":[[4519,14]]},"1144":{"position":[[847,14]]},"1146":{"position":[[4459,14]]},"1148":{"position":[[8050,14]]},"1150":{"position":[[1082,14]]},"1152":{"position":[[780,14]]},"1154":{"position":[[935,14]]},"1155":{"position":[[4555,14]]},"1156":{"position":[[4133,14]]},"1157":{"position":[[718,14]]},"1158":{"position":[[712,14]]},"1159":{"position":[[712,14]]},"1161":{"position":[[1707,14]]},"1163":{"position":[[1093,14]]},"1165":{"position":[[922,14]]},"1167":{"position":[[10079,14]]},"1169":{"position":[[3187,14]]},"1171":{"position":[[1428,14]]},"1172":{"position":[[2813,14]]},"1173":{"position":[[1500,14]]},"1174":{"position":[[928,14]]},"1175":{"position":[[924,14]]},"1176":{"position":[[1093,14]]},"1177":{"position":[[1014,14]]},"1178":{"position":[[1331,14]]},"1179":{"position":[[1128,14]]},"1180":{"position":[[1399,14]]},"1181":{"position":[[1919,14]]},"1182":{"position":[[962,14]]},"1183":{"position":[[917,14]]},"1185":{"position":[[762,14]]},"1186":{"position":[[5723,14]]},"1187":{"position":[[5736,14]]},"1188":{"position":[[10462,14]]},"1190":{"position":[[2093,14]]},"1191":{"position":[[4323,14]]},"1192":{"position":[[4498,14]]},"1193":{"position":[[4550,14]]},"1194":{"position":[[4190,14]]},"1195":{"position":[[4168,14]]},"1196":{"position":[[3978,14]]},"1197":{"position":[[4961,14]]},"1198":{"position":[[4971,14]]},"1199":{"position":[[4999,14]]},"1200":{"position":[[4866,14]]},"1201":{"position":[[4126,14]]},"1202":{"position":[[870,14],[5268,14],[9665,14]]},"1203":{"position":[[4360,14]]},"1204":{"position":[[4204,14],[5106,14],[6036,14],[6938,14],[7924,14],[8878,14],[9825,14],[10755,14]]},"1205":{"position":[[5533,14]]},"1206":{"position":[[4232,14]]},"1207":{"position":[[4161,14]]},"1209":{"position":[[5509,14]]},"1211":{"position":[[833,14]]},"1213":{"position":[[604,14]]},"1215":{"position":[[688,14]]},"1217":{"position":[[8820,14]]},"1219":{"position":[[4075,14]]},"1221":{"position":[[807,14]]},"1222":{"position":[[3946,14]]},"1223":{"position":[[3956,14]]},"1224":{"position":[[3389,14]]},"1226":{"position":[[9288,14]]},"1228":{"position":[[10901,14]]},"1235":{"position":[[6769,14]]},"1237":{"position":[[9458,14]]}},"keywords":{}}],["lt;output>",{"_index":5989,"title":{},"content":{"1172":{"position":[[1194,14]]},"1173":{"position":[[494,14]]},"1178":{"position":[[696,14]]},"1179":{"position":[[434,14]]}},"keywords":{}}],["lt;output_attribute>",{"_index":6030,"title":{},"content":{"1206":{"position":[[3612,24]]}},"keywords":{}}],["lt;output_dir>",{"_index":5965,"title":{},"content":{"1156":{"position":[[205,18],[246,18]]}},"keywords":{}}],["lt;output_format>",{"_index":6013,"title":{},"content":{"1193":{"position":[[426,21]]}},"keywords":{}}],["lt;output_hashes_file>",{"_index":5923,"title":{},"content":{"1138":{"position":[[1318,26]]}},"keywords":{}}],["lt;output_path>",{"_index":5922,"title":{},"content":{"1138":{"position":[[1212,19]]},"1205":{"position":[[296,19],[327,19]]},"1206":{"position":[[140,19],[3637,19]]}},"keywords":{}}],["lt;package>",{"_index":6024,"title":{},"content":{"1202":{"position":[[5721,15],[5748,15]]}},"keywords":{}}],["lt;path>",{"_index":4004,"title":{},"content":{"865":{"position":[[823,13]]},"911":{"position":[[138,13],[203,12]]},"1136":{"position":[[2799,12],[5732,12],[5792,12],[5883,12]]},"1138":{"position":[[1469,12],[6461,12],[9394,12],[9454,12],[9545,12]]},"1140":{"position":[[459,12],[958,12],[5387,12],[8320,12],[8380,12],[8471,12]]},"1142":{"position":[[831,12],[3764,12],[3824,12],[3915,12]]},"1146":{"position":[[771,12],[3704,12],[3764,12],[3855,12]]},"1148":{"position":[[3811,12],[6744,12],[6804,12],[6895,12]]},"1155":{"position":[[867,12],[3800,12],[3860,12],[3951,12]]},"1156":{"position":[[445,12],[3378,12],[3438,12],[3529,12]]},"1163":{"position":[[338,12],[398,12],[489,12]]},"1165":{"position":[[167,12],[227,12],[318,12]]},"1167":{"position":[[1962,12],[6391,12],[9324,12],[9384,12],[9475,12]]},"1169":{"position":[[230,12],[2432,12],[2492,12],[2583,12]]},"1186":{"position":[[74,12],[307,12],[2035,12],[4968,12],[5028,12],[5119,12]]},"1187":{"position":[[87,12],[320,12],[2048,12],[4981,12],[5041,12],[5132,12]]},"1188":{"position":[[71,12],[512,12],[1011,12],[5046,12],[6774,12],[9707,12],[9767,12],[9858,12]]},"1191":{"position":[[635,12],[3568,12],[3628,12],[3719,12]]},"1192":{"position":[[810,12],[3743,12],[3803,12],[3894,12]]},"1193":{"position":[[862,12],[3795,12],[3855,12],[3946,12]]},"1194":{"position":[[502,12],[3435,12],[3495,12],[3586,12]]},"1195":{"position":[[480,12],[3413,12],[3473,12],[3564,12]]},"1196":{"position":[[290,12],[3223,12],[3283,12],[3374,12]]},"1197":{"position":[[1273,12],[4206,12],[4266,12],[4357,12]]},"1198":{"position":[[1283,12],[4216,12],[4276,12],[4367,12]]},"1199":{"position":[[1311,12],[4244,12],[4304,12],[4395,12]]},"1200":{"position":[[1178,12],[4111,12],[4171,12],[4262,12]]},"1201":{"position":[[438,12],[3371,12],[3431,12],[3522,12]]},"1202":{"position":[[1580,12],[4513,12],[4573,12],[4664,12],[5977,12],[8910,12],[8970,12],[9061,12]]},"1203":{"position":[[672,12],[3605,12],[3665,12],[3756,12]]},"1204":{"position":[[516,12],[3449,12],[3509,12],[3600,12]]},"1205":{"position":[[1845,12],[4778,12],[4838,12],[4929,12]]},"1206":{"position":[[316,12],[3249,12],[3309,12],[3400,12]]},"1207":{"position":[[473,12],[3406,12],[3466,12],[3557,12]]},"1209":{"position":[[1821,12],[4754,12],[4814,12],[4905,12]]},"1211":{"position":[[201,12]]},"1217":{"position":[[703,12],[5132,12],[8065,12],[8125,12],[8216,12]]},"1219":{"position":[[1118,12],[3320,12],[3380,12],[3471,12]]},"1222":{"position":[[70,15],[242,12],[3175,12],[3235,12],[3326,12],[3463,15]]},"1223":{"position":[[80,15],[252,12],[3185,12],[3245,12],[3336,12],[3473,15]]},"1224":{"position":[[432,12],[2634,12],[2694,12],[2785,12]]},"1226":{"position":[[4853,12],[5600,12],[8533,12],[8593,12],[8684,12]]},"1228":{"position":[[2784,12],[7213,12],[10146,12],[10206,12],[10297,12]]},"1235":{"position":[[3081,12],[6014,12],[6074,12],[6165,12]]},"1237":{"position":[[5023,12],[5770,12],[8703,12],[8763,12],[8854,12]]}},"keywords":{}}],["lt;pattern>",{"_index":6025,"title":{},"content":{"1203":{"position":[[89,15],[146,15]]}},"keywords":{}}],["lt;pattern>)flag",{"_index":7177,"title":{},"content":{"1383":{"position":[[3421,21],[3759,21],[4075,21]]}},"keywords":{}}],["lt;platform>",{"_index":5877,"title":{},"content":{"1136":{"position":[[2489,16]]},"1138":{"position":[[6151,16]]},"1140":{"position":[[5077,16]]},"1146":{"position":[[461,16]]},"1148":{"position":[[3501,16]]},"1167":{"position":[[6081,16]]},"1186":{"position":[[1725,16]]},"1187":{"position":[[1738,16]]},"1188":{"position":[[6464,16]]},"1192":{"position":[[500,16]]},"1197":{"position":[[963,16]]},"1198":{"position":[[973,16]]},"1199":{"position":[[1001,16]]},"1200":{"position":[[868,16]]},"1203":{"position":[[362,16]]},"1205":{"position":[[1535,16]]},"1217":{"position":[[4822,16]]},"1226":{"position":[[5290,16]]},"1228":{"position":[[6903,16]]},"1237":{"position":[[5460,16]]}},"keywords":{}}],["lt;preemptible>",{"_index":5893,"title":{},"content":{"1136":{"position":[[3614,19]]},"1138":{"position":[[7276,19]]},"1140":{"position":[[6202,19]]},"1142":{"position":[[1646,19]]},"1146":{"position":[[1586,19]]},"1148":{"position":[[4626,19]]},"1155":{"position":[[1682,19]]},"1156":{"position":[[1260,19]]},"1167":{"position":[[7206,19]]},"1169":{"position":[[1045,19]]},"1186":{"position":[[2850,19]]},"1187":{"position":[[2863,19]]},"1188":{"position":[[7589,19]]},"1191":{"position":[[1450,19]]},"1192":{"position":[[1625,19]]},"1193":{"position":[[1677,19]]},"1194":{"position":[[1317,19]]},"1195":{"position":[[1295,19]]},"1196":{"position":[[1105,19]]},"1197":{"position":[[2088,19]]},"1198":{"position":[[2098,19]]},"1199":{"position":[[2126,19]]},"1200":{"position":[[1993,19]]},"1201":{"position":[[1253,19]]},"1202":{"position":[[2395,19],[6792,19]]},"1203":{"position":[[1487,19]]},"1204":{"position":[[1331,19]]},"1205":{"position":[[2660,19]]},"1206":{"position":[[1131,19]]},"1207":{"position":[[1288,19]]},"1209":{"position":[[2636,19]]},"1217":{"position":[[5947,19]]},"1219":{"position":[[1933,19]]},"1222":{"position":[[1057,19]]},"1223":{"position":[[1067,19]]},"1224":{"position":[[1247,19]]},"1226":{"position":[[6415,19]]},"1228":{"position":[[8028,19]]},"1235":{"position":[[3896,19]]},"1237":{"position":[[6585,19]]}},"keywords":{}}],["lt;profile_mode>",{"_index":5949,"title":{},"content":{"1148":{"position":[[7075,20]]}},"keywords":{}}],["lt;profile_output>",{"_index":5951,"title":{},"content":{"1148":{"position":[[7530,22]]}},"keywords":{}}],["lt;query>",{"_index":5866,"title":{},"content":{"1136":{"position":[[823,13],[864,13]]},"1148":{"position":[[1179,13],[1220,13]]},"1209":{"position":[[56,13],[97,13]]},"1235":{"position":[[1316,13],[1357,13]]}},"keywords":{}}],["lt;relname>.rel",{"_index":7581,"title":{},"content":{"1397":{"position":[[3043,19]]}},"keywords":{}}],["lt;scheme>",{"_index":6067,"title":{},"content":{"1226":{"position":[[5009,14]]},"1237":{"position":[[5179,14]]}},"keywords":{}}],["lt;section>.<field>",{"_index":2645,"title":{},"content":{"578":{"position":[[129,30]]}},"keywords":{}}],["lt;section.option=value>",{"_index":5879,"title":{},"content":{"1136":{"position":[[2733,28]]},"1138":{"position":[[6395,28]]},"1140":{"position":[[5321,28]]},"1142":{"position":[[765,28]]},"1146":{"position":[[705,28]]},"1148":{"position":[[3745,28]]},"1155":{"position":[[801,28]]},"1156":{"position":[[379,28]]},"1167":{"position":[[6325,28]]},"1169":{"position":[[164,28]]},"1186":{"position":[[1969,28]]},"1187":{"position":[[1982,28]]},"1188":{"position":[[6708,28]]},"1191":{"position":[[569,28]]},"1192":{"position":[[744,28]]},"1193":{"position":[[796,28]]},"1194":{"position":[[436,28]]},"1195":{"position":[[414,28]]},"1196":{"position":[[224,28]]},"1197":{"position":[[1207,28]]},"1198":{"position":[[1217,28]]},"1199":{"position":[[1245,28]]},"1200":{"position":[[1112,28]]},"1201":{"position":[[372,28]]},"1202":{"position":[[1514,28],[5911,28]]},"1203":{"position":[[606,28]]},"1204":{"position":[[450,28]]},"1205":{"position":[[1779,28]]},"1206":{"position":[[250,28]]},"1207":{"position":[[407,28]]},"1209":{"position":[[1755,28]]},"1217":{"position":[[5066,28]]},"1219":{"position":[[1052,28]]},"1222":{"position":[[176,28]]},"1223":{"position":[[186,28]]},"1224":{"position":[[366,28]]},"1226":{"position":[[5534,28]]},"1228":{"position":[[7147,28]]},"1235":{"position":[[3015,28]]},"1237":{"position":[[5704,28]]}},"keywords":{}}],["lt;serial>",{"_index":5975,"title":{},"content":{"1167":{"position":[[759,14]]}},"keywords":{}}],["lt;set>",{"_index":7266,"title":{},"content":{"1386":{"position":[[3299,11]]}},"keywords":{}}],["lt;sha1sum>",{"_index":5623,"title":{},"content":{"1096":{"position":[[324,15]]}},"keywords":{}}],["lt;shell>",{"_index":5946,"title":{},"content":{"1144":{"position":[[209,13],[234,13]]}},"keywords":{}}],["lt;some",{"_index":3828,"title":{},"content":{"834":{"position":[[187,8]]},"963":{"position":[[88,8]]}},"keywords":{}}],["lt;starlark_subdir>",{"_index":5962,"title":{},"content":{"1155":{"position":[[481,23]]}},"keywords":{}}],["lt;string>",{"_index":7264,"title":{},"content":{"1386":{"position":[[3254,14]]}},"keywords":{}}],["lt;super|simple|...>",{"_index":5899,"title":{},"content":{"1136":{"position":[[4997,24]]},"1138":{"position":[[8659,24]]},"1140":{"position":[[7585,24]]},"1142":{"position":[[3029,24]]},"1146":{"position":[[2969,24]]},"1148":{"position":[[6009,24]]},"1155":{"position":[[3065,24]]},"1156":{"position":[[2643,24]]},"1161":{"position":[[536,24]]},"1167":{"position":[[8589,24]]},"1181":{"position":[[748,24]]},"1186":{"position":[[4233,24]]},"1187":{"position":[[4246,24]]},"1188":{"position":[[8972,24]]},"1191":{"position":[[2833,24]]},"1192":{"position":[[3008,24]]},"1193":{"position":[[3060,24]]},"1194":{"position":[[2700,24]]},"1195":{"position":[[2678,24]]},"1196":{"position":[[2488,24]]},"1197":{"position":[[3471,24]]},"1198":{"position":[[3481,24]]},"1199":{"position":[[3509,24]]},"1200":{"position":[[3376,24]]},"1201":{"position":[[2636,24]]},"1202":{"position":[[3778,24],[8175,24]]},"1203":{"position":[[2870,24]]},"1204":{"position":[[2714,24]]},"1205":{"position":[[4043,24]]},"1206":{"position":[[2514,24]]},"1207":{"position":[[2671,24]]},"1209":{"position":[[4019,24]]},"1217":{"position":[[7330,24]]},"1222":{"position":[[2440,24]]},"1223":{"position":[[2450,24]]},"1226":{"position":[[7798,24]]},"1228":{"position":[[9411,24]]},"1235":{"position":[[5279,24]]},"1237":{"position":[[7968,24]]}},"keywords":{}}],["lt;symlinkd^>",{"_index":4465,"title":{},"content":{"911":{"position":[[227,18]]}},"keywords":{}}],["lt;tab>",{"_index":4287,"title":{},"content":{"894":{"position":[[134,11],[153,11],[176,11],[197,11]]}},"keywords":{}}],["lt;target",{"_index":4874,"title":{},"content":{"984":{"position":[[64,10]]}},"keywords":{}}],["lt;target>",{"_index":2072,"title":{},"content":{"389":{"position":[[624,15],[657,14],[769,15]]},"570":{"position":[[652,14],[693,14]]},"768":{"position":[[624,15],[657,14],[769,15]]},"1217":{"position":[[199,14],[242,14]]}},"keywords":{}}],["lt;target>?<modifi",{"_index":4664,"title":{},"content":{"942":{"position":[[59,28]]}},"keywords":{}}],["lt;target_hash_file_mode>",{"_index":6050,"title":{},"content":{"1226":{"position":[[557,29]]},"1237":{"position":[[727,29]]}},"keywords":{}}],["lt;target_hash_function>",{"_index":6054,"title":{},"content":{"1226":{"position":[[1403,28]]},"1237":{"position":[[1573,28]]}},"keywords":{}}],["lt;target_hash_modified_paths>",{"_index":6053,"title":{},"content":{"1226":{"position":[[1026,37]]},"1237":{"position":[[1196,37]]}},"keywords":{}}],["lt;target_hash_recursive>",{"_index":6063,"title":{},"content":{"1226":{"position":[[1975,29]]},"1237":{"position":[[2145,29]]}},"keywords":{}}],["lt;target_patterns>",{"_index":6019,"title":{},"content":{"1197":{"position":[[93,26],[131,26]]},"1198":{"position":[[69,26],[107,26]]}},"keywords":{}}],["lt;target_universe>",{"_index":5934,"title":{},"content":{"1138":{"position":[[5591,23]]},"1148":{"position":[[2941,23]]},"1186":{"position":[[1165,23]]},"1187":{"position":[[1178,23]]},"1188":{"position":[[5904,23]]},"1197":{"position":[[403,23]]},"1198":{"position":[[413,23]]},"1199":{"position":[[441,23]]},"1200":{"position":[[308,23]]}},"keywords":{}}],["lt;test_executor_args>",{"_index":6068,"title":{},"content":{"1228":{"position":[[98,30]]}},"keywords":{}}],["lt;test_executor_stderr>",{"_index":6088,"title":{},"content":{"1228":{"position":[[2477,28]]}},"keywords":{}}],["lt;test_executor_stdout>",{"_index":6084,"title":{},"content":{"1228":{"position":[[1949,28]]}},"keywords":{}}],["lt;threads>",{"_index":5929,"title":{},"content":{"1138":{"position":[[2215,15]]},"1140":{"position":[[1704,15]]},"1167":{"position":[[2708,15]]},"1188":{"position":[[1757,15]]},"1217":{"position":[[1449,15]]},"1226":{"position":[[5114,15]]},"1228":{"position":[[3530,15]]},"1237":{"position":[[5284,15]]}},"keywords":{}}],["lt;timeout>",{"_index":6075,"title":{},"content":{"1228":{"position":[[1342,15]]}},"keywords":{}}],["lt;type_traits>",{"_index":7267,"title":{},"content":{"1386":{"position":[[3320,19]]}},"keywords":{}}],["lt;ui>",{"_index":5904,"title":{},"content":{"1136":{"position":[[5171,13]]},"1138":{"position":[[8833,13]]},"1140":{"position":[[7759,13]]},"1142":{"position":[[3203,13]]},"1146":{"position":[[3143,13]]},"1148":{"position":[[6183,13]]},"1155":{"position":[[3239,13]]},"1156":{"position":[[2817,13]]},"1161":{"position":[[710,13]]},"1167":{"position":[[8763,13]]},"1181":{"position":[[922,13]]},"1186":{"position":[[4407,13]]},"1187":{"position":[[4420,13]]},"1188":{"position":[[9146,13]]},"1191":{"position":[[3007,13]]},"1192":{"position":[[3182,13]]},"1193":{"position":[[3234,13]]},"1194":{"position":[[2874,13]]},"1195":{"position":[[2852,13]]},"1196":{"position":[[2662,13]]},"1197":{"position":[[3645,13]]},"1198":{"position":[[3655,13]]},"1199":{"position":[[3683,13]]},"1200":{"position":[[3550,13]]},"1201":{"position":[[2810,13]]},"1202":{"position":[[3952,13],[8349,13]]},"1203":{"position":[[3044,13]]},"1204":{"position":[[2888,13]]},"1205":{"position":[[4217,13]]},"1206":{"position":[[2688,13]]},"1207":{"position":[[2845,13]]},"1209":{"position":[[4193,13]]},"1217":{"position":[[7504,13]]},"1222":{"position":[[2614,13]]},"1223":{"position":[[2624,13]]},"1226":{"position":[[7972,13]]},"1228":{"position":[[9585,13]]},"1235":{"position":[[5453,13]]},"1237":{"position":[[8142,13]]}},"keywords":{}}],["lt;use",{"_index":6587,"title":{},"content":{"1356":{"position":[[2423,8]]}},"keywords":{}}],["lt;uuid>",{"_index":5816,"title":{},"content":{"1127":{"position":[[357,12]]}},"keywords":{}}],["lt;validation_names>",{"_index":5925,"title":{},"content":{"1138":{"position":[[1664,24]]},"1140":{"position":[[1153,24]]},"1167":{"position":[[2157,24]]},"1188":{"position":[[1206,24]]},"1217":{"position":[[898,24]]},"1228":{"position":[[2979,24]]}},"keywords":{}}],["lt;value>",{"_index":5878,"title":{},"content":{"1136":{"position":[[2576,13]]},"1138":{"position":[[6238,13]]},"1140":{"position":[[5164,13]]},"1142":{"position":[[646,13]]},"1146":{"position":[[548,13]]},"1148":{"position":[[3588,13]]},"1167":{"position":[[6168,13]]},"1186":{"position":[[1812,13]]},"1187":{"position":[[1825,13]]},"1188":{"position":[[6551,13]]},"1191":{"position":[[450,13]]},"1192":{"position":[[587,13]]},"1193":{"position":[[677,13]]},"1194":{"position":[[317,13]]},"1195":{"position":[[295,13]]},"1196":{"position":[[105,13]]},"1197":{"position":[[1050,13]]},"1198":{"position":[[1060,13]]},"1199":{"position":[[1088,13]]},"1200":{"position":[[955,13]]},"1201":{"position":[[253,13]]},"1202":{"position":[[1395,13],[5792,13]]},"1203":{"position":[[449,13]]},"1204":{"position":[[331,13]]},"1205":{"position":[[1622,13]]},"1206":{"position":[[3548,13]]},"1207":{"position":[[288,13]]},"1209":{"position":[[1636,13]]},"1217":{"position":[[4909,13]]},"1226":{"position":[[5377,13]]},"1228":{"position":[[6990,13]]},"1235":{"position":[[2896,13]]},"1237":{"position":[[5547,13]]}},"keywords":{}}],["lt;value_style>",{"_index":6015,"title":{},"content":{"1193":{"position":[[587,19]]}},"keywords":{}}],["lt;values>",{"_index":6066,"title":{},"content":{"1226":{"position":[[4567,14]]},"1237":{"position":[[4737,14]]}},"keywords":{}}],["lt;variable>",{"_index":6654,"title":{},"content":{"1360":{"position":[[3312,19]]},"1383":{"position":[[5967,19]]},"1403":{"position":[[2727,19]]}},"keywords":{}}],["lt;vector>",{"_index":7268,"title":{},"content":{"1386":{"position":[[3349,14]]}},"keywords":{}}],["lt;verbosity>",{"_index":5911,"title":{},"content":{"1136":{"position":[[6053,17]]},"1138":{"position":[[9715,17]]},"1140":{"position":[[8641,17]]},"1142":{"position":[[4085,17]]},"1144":{"position":[[413,17]]},"1146":{"position":[[4025,17]]},"1148":{"position":[[7616,17]]},"1150":{"position":[[648,17]]},"1152":{"position":[[346,17]]},"1154":{"position":[[501,17]]},"1155":{"position":[[4121,17]]},"1156":{"position":[[3699,17]]},"1157":{"position":[[284,17]]},"1158":{"position":[[278,17]]},"1159":{"position":[[278,17]]},"1161":{"position":[[1273,17]]},"1163":{"position":[[659,17]]},"1165":{"position":[[488,17]]},"1167":{"position":[[9645,17]]},"1169":{"position":[[2753,17]]},"1171":{"position":[[994,17]]},"1172":{"position":[[2379,17]]},"1173":{"position":[[1066,17]]},"1174":{"position":[[494,17]]},"1175":{"position":[[490,17]]},"1176":{"position":[[659,17]]},"1177":{"position":[[580,17]]},"1178":{"position":[[897,17]]},"1179":{"position":[[694,17]]},"1180":{"position":[[965,17]]},"1181":{"position":[[1485,17]]},"1182":{"position":[[528,17]]},"1183":{"position":[[483,17]]},"1185":{"position":[[328,17]]},"1186":{"position":[[5289,17]]},"1187":{"position":[[5302,17]]},"1188":{"position":[[10028,17]]},"1190":{"position":[[1659,17]]},"1191":{"position":[[3889,17]]},"1192":{"position":[[4064,17]]},"1193":{"position":[[4116,17]]},"1194":{"position":[[3756,17]]},"1195":{"position":[[3734,17]]},"1196":{"position":[[3544,17]]},"1197":{"position":[[4527,17]]},"1198":{"position":[[4537,17]]},"1199":{"position":[[4565,17]]},"1200":{"position":[[4432,17]]},"1201":{"position":[[3692,17]]},"1202":{"position":[[436,17],[4834,17],[9231,17]]},"1203":{"position":[[3926,17]]},"1204":{"position":[[3770,17],[4672,17],[5602,17],[6504,17],[7490,17],[8444,17],[9391,17],[10321,17]]},"1205":{"position":[[5099,17]]},"1206":{"position":[[3798,17]]},"1207":{"position":[[3727,17]]},"1209":{"position":[[5075,17]]},"1211":{"position":[[399,17]]},"1213":{"position":[[170,17]]},"1215":{"position":[[254,17]]},"1217":{"position":[[8386,17]]},"1219":{"position":[[3641,17]]},"1221":{"position":[[373,17]]},"1222":{"position":[[3512,17]]},"1223":{"position":[[3522,17]]},"1224":{"position":[[2955,17]]},"1226":{"position":[[8854,17]]},"1228":{"position":[[10467,17]]},"1235":{"position":[[6335,17]]},"1237":{"position":[[9024,17]]}},"keywords":{}}],["lt;version",{"_index":5885,"title":{},"content":{"1136":{"position":[[3002,11]]},"1138":{"position":[[6664,11]]},"1140":{"position":[[5590,11]]},"1142":{"position":[[1034,11]]},"1146":{"position":[[974,11]]},"1148":{"position":[[4014,11]]},"1155":{"position":[[1070,11]]},"1156":{"position":[[648,11]]},"1167":{"position":[[6594,11]]},"1169":{"position":[[433,11]]},"1186":{"position":[[2238,11]]},"1187":{"position":[[2251,11]]},"1188":{"position":[[6977,11]]},"1191":{"position":[[838,11]]},"1192":{"position":[[1013,11]]},"1193":{"position":[[1065,11]]},"1194":{"position":[[705,11]]},"1195":{"position":[[683,11]]},"1196":{"position":[[493,11]]},"1197":{"position":[[1476,11]]},"1198":{"position":[[1486,11]]},"1199":{"position":[[1514,11]]},"1200":{"position":[[1381,11]]},"1201":{"position":[[641,11]]},"1202":{"position":[[1783,11],[6180,11]]},"1203":{"position":[[875,11]]},"1204":{"position":[[719,11]]},"1205":{"position":[[2048,11]]},"1206":{"position":[[519,11]]},"1207":{"position":[[676,11]]},"1209":{"position":[[2024,11]]},"1217":{"position":[[5335,11]]},"1219":{"position":[[1321,11]]},"1222":{"position":[[445,11]]},"1223":{"position":[[455,11]]},"1224":{"position":[[635,11]]},"1226":{"position":[[5803,11]]},"1228":{"position":[[7416,11]]},"1235":{"position":[[3284,11]]},"1237":{"position":[[5973,11]]}},"keywords":{}}],["lto_mod",{"_index":7377,"title":{},"content":{"1389":{"position":[[2805,9]]}},"keywords":{}}],["lua",{"_index":7237,"title":{},"content":{"1385":{"position":[[1916,3],[2038,3],[7216,3]]},"1443":{"position":[[743,3]]},"1444":{"position":[[659,3],[1886,4]]}},"keywords":{}}],["lua_binari",{"_index":8080,"title":{"1443":{"position":[[0,11]]}},"content":{"1443":{"position":[[4,11],[787,12],[1797,11]]},"1444":{"position":[[703,12]]}},"keywords":{}}],["lua_librari",{"_index":7250,"title":{"1444":{"position":[[0,12]]}},"content":{"1385":{"position":[[7471,12]]},"1443":{"position":[[698,13],[1659,13],[1880,12]]},"1444":{"position":[[4,12],[614,13],[1796,13],[1985,12],[2221,12]]}},"keywords":{}}],["luong",{"_index":102,"title":{},"content":{"5":{"position":[[396,5]]}},"keywords":{}}],["l{}"",{"_index":2185,"title":{},"content":{"408":{"position":[[577,10]]},"787":{"position":[[577,10]]}},"keywords":{}}],["m",{"_index":4675,"title":{},"content":{"942":{"position":[[848,1],[909,1],[1802,1]]},"1136":{"position":[[2562,2]]},"1138":{"position":[[675,2],[6224,2]]},"1140":{"position":[[301,2],[5150,2]]},"1146":{"position":[[534,2]]},"1148":{"position":[[3574,2]]},"1167":{"position":[[6154,2]]},"1186":{"position":[[1798,2]]},"1187":{"position":[[1811,2]]},"1188":{"position":[[354,2],[6537,2]]},"1192":{"position":[[573,2]]},"1197":{"position":[[1036,2]]},"1198":{"position":[[1046,2]]},"1199":{"position":[[1074,2]]},"1200":{"position":[[941,2]]},"1203":{"position":[[435,2]]},"1205":{"position":[[1608,2]]},"1217":{"position":[[4895,2]]},"1226":{"position":[[5363,2]]},"1228":{"position":[[1873,2],[6976,2]]},"1237":{"position":[[5533,2]]}},"keywords":{}}],["mac",{"_index":4502,"title":{},"content":{"919":{"position":[[2298,3],[2332,3],[2465,3]]},"937":{"position":[[114,4],[3722,3],[3736,3],[3757,3],[3898,3],[3910,4],[4126,4],[4358,3]]},"944":{"position":[[1275,3],[1282,3]]},"1060":{"position":[[331,3]]},"1061":{"position":[[192,4],[226,4]]},"1384":{"position":[[18579,3]]},"1472":{"position":[[5895,3]]}},"keywords":{}}],["machin",{"_index":3440,"title":{},"content":{"688":{"position":[[390,7]]},"848":{"position":[[102,8]]},"861":{"position":[[345,8]]},"937":{"position":[[4285,7]]},"944":{"position":[[976,8],[1173,7],[1220,8],[1254,8],[1286,8]]},"1022":{"position":[[356,8]]},"1163":{"position":[[128,8]]},"1165":{"position":[[32,7]]},"1176":{"position":[[86,7]]},"1244":{"position":[[240,7]]},"1383":{"position":[[4922,7]]},"1398":{"position":[[2496,7]]}},"keywords":{}}],["machine.onli",{"_index":3807,"title":{},"content":{"724":{"position":[[1274,12]]}},"keywords":{}}],["machineri",{"_index":4379,"title":{},"content":{"900":{"position":[[1527,9]]}},"keywords":{}}],["maco",{"_index":468,"title":{},"content":{"15":{"position":[[673,5]]},"17":{"position":[[995,6]]},"940":{"position":[[1077,5]]},"943":{"position":[[1097,5]]},"1136":{"position":[[2897,6]]},"1138":{"position":[[6559,6]]},"1140":{"position":[[5485,6]]},"1142":{"position":[[929,6]]},"1146":{"position":[[869,6]]},"1148":{"position":[[3909,6]]},"1155":{"position":[[965,6]]},"1156":{"position":[[543,6]]},"1167":{"position":[[6489,6]]},"1169":{"position":[[328,6]]},"1186":{"position":[[2133,6]]},"1187":{"position":[[2146,6]]},"1188":{"position":[[6872,6]]},"1191":{"position":[[733,6]]},"1192":{"position":[[908,6]]},"1193":{"position":[[960,6]]},"1194":{"position":[[600,6]]},"1195":{"position":[[578,6]]},"1196":{"position":[[388,6]]},"1197":{"position":[[1371,6]]},"1198":{"position":[[1381,6]]},"1199":{"position":[[1409,6]]},"1200":{"position":[[1276,6]]},"1201":{"position":[[536,6]]},"1202":{"position":[[1678,6],[6075,6]]},"1203":{"position":[[770,6]]},"1204":{"position":[[614,6]]},"1205":{"position":[[1943,6]]},"1206":{"position":[[414,6]]},"1207":{"position":[[571,6]]},"1209":{"position":[[1919,6]]},"1217":{"position":[[5230,6]]},"1219":{"position":[[1216,6]]},"1222":{"position":[[340,6]]},"1223":{"position":[[350,6]]},"1224":{"position":[[530,6]]},"1226":{"position":[[5698,6]]},"1228":{"position":[[7311,6]]},"1235":{"position":[[3179,6]]},"1237":{"position":[[5868,6]]}},"keywords":{}}],["macos"",{"_index":7106,"title":{},"content":{"1374":{"position":[[3807,12],[4032,12]]}},"keywords":{}}],["macosx",{"_index":8285,"title":{},"content":{"1461":{"position":[[3935,6],[4058,6]]}},"keywords":{}}],["macro",{"_index":344,"title":{"685":{"position":[[42,7]]},"687":{"position":[[0,7]]},"688":{"position":[[17,7]]},"931":{"position":[[26,6]]},"987":{"position":[[24,7]]},"991":{"position":[[14,7]]}},"content":{"10":{"position":[[867,6]]},"98":{"position":[[734,6],[888,7]]},"126":{"position":[[263,6]]},"230":{"position":[[734,6],[888,7]]},"249":{"position":[[263,6]]},"688":{"position":[[103,7],[255,6]]},"702":{"position":[[134,6],[153,6],[214,6],[253,6]]},"715":{"position":[[433,5],[466,5],[667,6],[798,6],[949,6],[965,5],[1149,5]]},"718":{"position":[[203,6]]},"987":{"position":[[10,6],[177,6],[220,6],[344,5],[466,6],[591,6]]},"991":{"position":[[1015,6],[1108,5],[1164,5],[1390,6],[1653,5],[1736,5],[1841,5],[1924,5],[2878,5],[3126,6]]},"997":{"position":[[90,7]]},"998":{"position":[[153,6]]},"1023":{"position":[[222,5]]},"1025":{"position":[[274,6]]},"1132":{"position":[[40,6],[104,6],[328,6]]},"1360":{"position":[[3030,6],[4772,6]]},"1362":{"position":[[10900,6]]},"1364":{"position":[[11867,6]]},"1373":{"position":[[5416,6]]},"1374":{"position":[[1809,6],[1858,6],[2034,6],[2867,6]]},"1382":{"position":[[4682,5],[4990,5],[7769,6]]},"1383":{"position":[[1335,6],[2615,6],[2847,7],[2869,7],[2892,7],[2914,6],[4355,7],[4504,7],[4666,6],[5215,7],[6804,6]]},"1384":{"position":[[13833,6],[18384,5]]},"1387":{"position":[[7094,6]]},"1388":{"position":[[4834,7],[5376,5],[5684,5],[6244,7]]},"1393":{"position":[[1189,6],[1300,5]]},"1394":{"position":[[638,6],[749,5]]},"1398":{"position":[[1257,5],[3943,5],[4690,6],[5845,5]]},"1401":{"position":[[1583,6]]},"1403":{"position":[[2445,6],[4187,6],[5144,5]]},"1442":{"position":[[1672,5],[1980,5]]},"1455":{"position":[[3523,5],[3555,6],[4022,5],[4433,5]]},"1467":{"position":[[6597,7]]},"1471":{"position":[[3544,6]]},"1472":{"position":[[3212,6],[4128,6],[5700,5]]},"1473":{"position":[[3612,6],[5396,6]]},"1478":{"position":[[2148,7]]},"1486":{"position":[[3070,6]]}},"keywords":{}}],["macrosout",{"_index":7927,"title":{},"content":{"1423":{"position":[[1946,10]]}},"keywords":{}}],["macrossuch",{"_index":8475,"title":{},"content":{"1478":{"position":[[2411,10]]}},"keywords":{}}],["made",{"_index":713,"title":{},"content":{"23":{"position":[[1043,4]]},"680":{"position":[[806,4]]},"681":{"position":[[837,4]]},"722":{"position":[[195,4]]},"890":{"position":[[6288,4]]},"900":{"position":[[248,4],[429,4]]},"987":{"position":[[358,4]]},"990":{"position":[[844,4]]},"1009":{"position":[[540,4]]},"1053":{"position":[[143,4]]},"1071":{"position":[[1419,4]]},"1114":{"position":[[491,4]]},"1136":{"position":[[5977,4]]},"1138":{"position":[[9639,4]]},"1140":{"position":[[8565,4]]},"1142":{"position":[[4009,4]]},"1146":{"position":[[3949,4]]},"1148":{"position":[[6989,4]]},"1155":{"position":[[4045,4]]},"1156":{"position":[[3623,4]]},"1163":{"position":[[583,4]]},"1165":{"position":[[412,4]]},"1167":{"position":[[9569,4]]},"1169":{"position":[[2677,4]]},"1186":{"position":[[5213,4]]},"1187":{"position":[[5226,4]]},"1188":{"position":[[9952,4]]},"1191":{"position":[[3813,4]]},"1192":{"position":[[3988,4]]},"1193":{"position":[[4040,4]]},"1194":{"position":[[3680,4]]},"1195":{"position":[[3658,4]]},"1196":{"position":[[3468,4]]},"1197":{"position":[[4451,4]]},"1198":{"position":[[4461,4]]},"1199":{"position":[[4489,4]]},"1200":{"position":[[4356,4]]},"1201":{"position":[[3616,4]]},"1202":{"position":[[4758,4],[9155,4]]},"1203":{"position":[[3850,4]]},"1204":{"position":[[3694,4]]},"1205":{"position":[[5023,4]]},"1206":{"position":[[3494,4]]},"1207":{"position":[[3651,4]]},"1209":{"position":[[4999,4]]},"1217":{"position":[[86,4],[8310,4]]},"1219":{"position":[[3565,4]]},"1222":{"position":[[3420,4]]},"1223":{"position":[[3430,4]]},"1224":{"position":[[2879,4]]},"1226":{"position":[[8778,4]]},"1228":{"position":[[10391,4]]},"1235":{"position":[[6259,4]]},"1237":{"position":[[8948,4]]},"1360":{"position":[[5539,4]]},"1362":{"position":[[6736,4],[8877,4]]},"1364":{"position":[[6975,4],[9991,4]]},"1367":{"position":[[8965,4]]},"1373":{"position":[[4577,4]]},"1382":{"position":[[5647,4],[8781,4]]},"1383":{"position":[[7542,4]]},"1384":{"position":[[6163,4],[8122,4],[10594,4],[15126,4]]},"1385":{"position":[[3560,4],[5010,4]]},"1386":{"position":[[646,4],[4787,4]]},"1387":{"position":[[5893,4],[8383,4]]},"1388":{"position":[[6516,4]]},"1398":{"position":[[3204,4]]},"1399":{"position":[[1575,4]]},"1403":{"position":[[6642,4]]},"1422":{"position":[[3029,4]]},"1423":{"position":[[1839,4]]},"1454":{"position":[[4867,4],[6521,4]]},"1477":{"position":[[2320,4]]},"1485":{"position":[[1928,4],[3045,4]]}},"keywords":{}}],["magic",{"_index":712,"title":{},"content":{"23":{"position":[[986,5]]},"935":{"position":[[177,6]]},"1465":{"position":[[4450,7]]}},"keywords":{}}],["magic1",{"_index":7705,"title":{},"content":{"1403":{"position":[[8873,6]]}},"keywords":{}}],["magic2",{"_index":7707,"title":{},"content":{"1403":{"position":[[8944,6]]}},"keywords":{}}],["magic:python",{"_index":8360,"title":{},"content":{"1465":{"position":[[4437,12]]}},"keywords":{}}],["main",{"_index":521,"title":{},"content":{"17":{"position":[[1204,4],[1236,7],[1322,7]]},"18":{"position":[[471,6],[746,7],[1709,4],[1743,7],[1763,4],[1795,7]]},"20":{"position":[[163,4]]},"693":{"position":[[412,4],[506,4],[1396,4]]},"717":{"position":[[77,4]]},"860":{"position":[[589,4]]},"937":{"position":[[237,4],[2934,4],[4305,4]]},"1130":{"position":[[83,4],[244,9]]},"1140":{"position":[[553,4]]},"1188":{"position":[[606,4]]},"1355":{"position":[[2271,4]]},"1358":{"position":[[2798,4]]},"1362":{"position":[[10588,4]]},"1382":{"position":[[7345,4],[7457,4]]},"1383":{"position":[[5441,5]]},"1386":{"position":[[2289,4],[3769,7]]},"1388":{"position":[[8214,4],[8326,4]]},"1392":{"position":[[755,6]]},"1393":{"position":[[1104,4],[4446,4]]},"1395":{"position":[[2502,4],[2540,4],[3422,4]]},"1405":{"position":[[1232,4]]},"1410":{"position":[[1642,4]]},"1412":{"position":[[1593,4]]},"1416":{"position":[[1075,5],[2643,4],[2754,4],[2959,4]]},"1426":{"position":[[2519,4],[2703,6],[3055,4]]},"1427":{"position":[[1759,4]]},"1434":{"position":[[460,5]]},"1437":{"position":[[510,5]]},"1439":{"position":[[2043,4]]},"1445":{"position":[[387,5]]},"1462":{"position":[[2663,5],[5510,4],[6263,4],[6374,4],[7036,4],[7375,5],[7703,5],[7736,5],[9095,4]]},"1463":{"position":[[488,5]]},"1467":{"position":[[7376,4],[7488,4],[8005,4],[8344,5],[8421,4],[8526,4],[8725,4],[8775,4]]},"1473":{"position":[[3965,7]]},"1477":{"position":[[548,5],[1785,5],[2724,4]]},"1486":{"position":[[3285,4]]}},"keywords":{}}],["main'",{"_index":7280,"title":{},"content":{"1386":{"position":[[4569,6],[5015,6]]}},"keywords":{}}],["main.c",{"_index":3518,"title":{},"content":{"693":{"position":[[417,7],[450,6]]}},"keywords":{}}],["main.cpp",{"_index":546,"title":{},"content":{"18":{"position":[[430,8],[1616,8]]},"1386":{"position":[[3784,13],[4521,9]]}},"keywords":{}}],["main.go",{"_index":7739,"title":{},"content":{"1405":{"position":[[4004,10]]}},"keywords":{}}],["main.ml",{"_index":8129,"title":{},"content":{"1448":{"position":[[2873,10]]}},"keywords":{}}],["main.r",{"_index":8437,"title":{},"content":{"1471":{"position":[[5203,7]]},"1472":{"position":[[6089,7]]},"1473":{"position":[[5653,7]]}},"keywords":{}}],["main/1",{"_index":7543,"title":{},"content":{"1395":{"position":[[2639,6]]}},"keywords":{}}],["main_class",{"_index":7951,"title":{},"content":{"1426":{"position":[[779,11],[2454,11],[2662,10],[2965,11],[3026,10]]},"1430":{"position":[[863,11]]}},"keywords":{}}],["main_funct",{"_index":8300,"title":{},"content":{"1462":{"position":[[2685,14]]},"1467":{"position":[[2838,14],[7941,14]]}},"keywords":{}}],["main_modul",{"_index":7539,"title":{},"content":{"1395":{"position":[[537,12],[2467,12],[3521,11],[3660,11]]},"1443":{"position":[[488,12],[1826,11]]},"1462":{"position":[[2716,12],[7360,11],[8997,11]]},"1467":{"position":[[2869,12],[8329,11],[8404,12]]},"1468":{"position":[[475,12]]}},"keywords":{}}],["mainli",{"_index":7992,"title":{},"content":{"1429":{"position":[[4112,6]]},"1440":{"position":[[4105,6]]}},"keywords":{}}],["maintain",{"_index":3588,"title":{},"content":{"693":{"position":[[8089,9]]},"696":{"position":[[249,11]]},"919":{"position":[[463,11]]},"945":{"position":[[194,8]]},"954":{"position":[[502,8]]},"959":{"position":[[174,11]]}},"keywords":{}}],["major",{"_index":4612,"title":{},"content":{"937":{"position":[[4205,8]]},"965":{"position":[[361,5]]}},"keywords":{}}],["make",{"_index":48,"title":{},"content":{"4":{"position":[[229,4]]},"10":{"position":[[914,4]]},"11":{"position":[[180,4]]},"18":{"position":[[92,4]]},"22":{"position":[[353,5]]},"23":{"position":[[760,5]]},"69":{"position":[[114,4],[339,4],[418,4]]},"85":{"position":[[472,4]]},"87":{"position":[[97,4]]},"92":{"position":[[1890,6]]},"94":{"position":[[2651,6]]},"140":{"position":[[239,4]]},"217":{"position":[[472,4]]},"219":{"position":[[97,4]]},"224":{"position":[[1890,6]]},"226":{"position":[[2651,6]]},"236":{"position":[[491,5]]},"237":{"position":[[578,5]]},"263":{"position":[[239,4]]},"405":{"position":[[2357,4]]},"406":{"position":[[22,5]]},"408":{"position":[[143,4],[644,4],[878,4],[965,4]]},"438":{"position":[[254,5]]},"457":{"position":[[114,4],[339,4],[418,4]]},"560":{"position":[[136,5]]},"570":{"position":[[111,4]]},"638":{"position":[[796,4]]},"663":{"position":[[1199,6]]},"675":{"position":[[1079,5]]},"684":{"position":[[117,4]]},"695":{"position":[[622,5]]},"696":{"position":[[301,5],[414,6]]},"708":{"position":[[401,4]]},"720":{"position":[[174,4]]},"784":{"position":[[2357,4]]},"785":{"position":[[22,5]]},"787":{"position":[[143,4],[644,4],[878,4],[965,4]]},"817":{"position":[[254,5]]},"832":{"position":[[939,4]]},"834":{"position":[[747,5]]},"861":{"position":[[536,6]]},"870":{"position":[[604,4]]},"889":{"position":[[1221,4]]},"890":{"position":[[1619,5]]},"901":{"position":[[1153,6]]},"902":{"position":[[784,4]]},"912":{"position":[[57,4]]},"919":{"position":[[2358,5]]},"937":{"position":[[3633,4],[4500,4]]},"940":{"position":[[857,4]]},"944":{"position":[[797,6]]},"956":{"position":[[414,4]]},"973":{"position":[[0,4],[375,6]]},"987":{"position":[[692,4]]},"989":{"position":[[101,4]]},"990":{"position":[[1016,4]]},"991":{"position":[[465,4]]},"995":{"position":[[763,5]]},"1029":{"position":[[22,4]]},"1040":{"position":[[1992,6]]},"1050":{"position":[[37,4],[378,4]]},"1058":{"position":[[1273,6]]},"1071":{"position":[[533,4]]},"1072":{"position":[[236,5]]},"1075":{"position":[[33,5]]},"1079":{"position":[[1220,4]]},"1082":{"position":[[429,5]]},"1097":{"position":[[144,4],[306,4]]},"1136":{"position":[[1189,5],[1733,4]]},"1148":{"position":[[1545,5],[2089,4]]},"1172":{"position":[[659,4]]},"1205":{"position":[[669,5],[1213,4]]},"1209":{"position":[[422,5],[966,4]]},"1226":{"position":[[2362,5],[2906,4]]},"1235":{"position":[[1682,5],[2226,4]]},"1237":{"position":[[2532,5],[3076,4]]},"1286":{"position":[[178,5]]},"1287":{"position":[[91,5]]},"1351":{"position":[[5189,5]]},"1353":{"position":[[2729,6]]},"1358":{"position":[[972,5]]},"1360":{"position":[[5344,5]]},"1366":{"position":[[3179,5]]},"1367":{"position":[[13773,4]]},"1383":{"position":[[7347,5]]},"1393":{"position":[[8211,5]]},"1403":{"position":[[5114,5],[6447,5]]},"1407":{"position":[[2483,4]]},"1423":{"position":[[791,4]]},"1429":{"position":[[5365,4]]},"1440":{"position":[[5359,4]]},"1471":{"position":[[4323,5]]},"1472":{"position":[[4907,5]]},"1473":{"position":[[4644,5]]},"1477":{"position":[[1708,5],[3025,4]]},"1478":{"position":[[3271,4]]}},"keywords":{}}],["make_py_packag",{"_index":8301,"title":{},"content":{"1462":{"position":[[2745,16]]},"1467":{"position":[[2898,16]]}},"keywords":{}}],["make_swift_comp_db",{"_index":8496,"title":{},"content":{"1481":{"position":[[700,19]]}},"keywords":{}}],["make_swift_interfac",{"_index":8497,"title":{},"content":{"1481":{"position":[[729,21]]}},"keywords":{}}],["malform",{"_index":2333,"title":{},"content":{"435":{"position":[[135,10]]},"814":{"position":[[135,10]]}},"keywords":{}}],["manag",{"_index":512,"title":{},"content":{"17":{"position":[[938,7]]},"1052":{"position":[[94,10]]},"1393":{"position":[[4254,7],[5363,7]]}},"keywords":{}}],["mani",{"_index":301,"title":{},"content":{"9":{"position":[[2699,4]]},"10":{"position":[[353,4]]},"11":{"position":[[73,4],[163,4]]},"12":{"position":[[16,4]]},"22":{"position":[[783,4]]},"23":{"position":[[10,4]]},"276":{"position":[[216,4]]},"277":{"position":[[305,4]]},"281":{"position":[[274,4]]},"282":{"position":[[378,4]]},"368":{"position":[[527,4]]},"410":{"position":[[111,4]]},"678":{"position":[[58,4]]},"693":{"position":[[7980,4]]},"705":{"position":[[620,4]]},"747":{"position":[[527,4]]},"789":{"position":[[111,4]]},"846":{"position":[[408,4]]},"870":{"position":[[10,4]]},"890":{"position":[[2298,4]]},"937":{"position":[[719,4]]},"946":{"position":[[38,4]]},"1011":{"position":[[482,4]]},"1029":{"position":[[196,4]]},"1052":{"position":[[1372,4]]},"1104":{"position":[[1996,4]]},"1112":{"position":[[477,4]]},"1226":{"position":[[246,4]]},"1231":{"position":[[102,4]]},"1237":{"position":[[416,4]]},"1250":{"position":[[10,4]]},"1358":{"position":[[2494,4]]},"1360":{"position":[[5667,4]]},"1362":{"position":[[4923,4]]},"1364":{"position":[[4949,4]]},"1383":{"position":[[8172,4]]},"1393":{"position":[[9039,4],[9185,4]]},"1402":{"position":[[1902,4]]},"1403":{"position":[[7272,4]]},"1486":{"position":[[2305,4]]}},"keywords":{}}],["manifest",{"_index":6354,"title":{},"content":{"1348":{"position":[[1417,9],[4178,8]]},"1350":{"position":[[2118,9]]},"1351":{"position":[[2031,8],[4397,8],[5654,8]]},"1352":{"position":[[2117,9]]},"1353":{"position":[[894,9],[3093,8],[3356,8]]},"1354":{"position":[[3232,8],[3429,8]]},"1355":{"position":[[1418,9],[4853,9],[4883,8]]},"1356":{"position":[[609,8],[701,9],[730,9],[1682,8],[1868,8],[1906,9],[2060,10],[3002,8]]},"1359":{"position":[[677,9],[1938,8]]},"1360":{"position":[[5970,8]]},"1402":{"position":[[2204,8]]},"1426":{"position":[[2896,8],[2991,8],[3073,9]]},"1470":{"position":[[1673,9],[4476,8]]}},"keywords":{}}],["manifest.skeleton",{"_index":6578,"title":{},"content":{"1356":{"position":[[1790,18]]}},"keywords":{}}],["manifest_entri",{"_index":6442,"title":{},"content":{"1350":{"position":[[2144,17]]},"1352":{"position":[[2143,17]]},"1470":{"position":[[1699,17]]}},"keywords":{}}],["manifest_fil",{"_index":6355,"title":{},"content":{"1348":{"position":[[1443,14]]},"1355":{"position":[[1444,14]]},"1412":{"position":[[864,14]]},"1413":{"position":[[1010,14]]},"1426":{"position":[[807,14],[2863,14]]},"1427":{"position":[[1081,14]]},"1429":{"position":[[1315,14]]},"1430":{"position":[[884,14]]},"1439":{"position":[[1317,14]]},"1440":{"position":[[1516,14]]},"1470":{"position":[[1744,14]]},"1474":{"position":[[860,14]]},"1475":{"position":[[1006,14]]}},"keywords":{}}],["manifest_module_entri",{"_index":8302,"title":{},"content":{"1462":{"position":[[2778,24]]},"1467":{"position":[[2931,24],[8822,24]]}},"keywords":{}}],["manifest_skeleton",{"_index":6356,"title":{},"content":{"1348":{"position":[[1474,18],[4702,17]]},"1350":{"position":[[2189,18]]},"1352":{"position":[[2188,18]]},"1353":{"position":[[920,18]]}},"keywords":{}}],["manifold",{"_index":5988,"title":{},"content":{"1172":{"position":[[1150,8]]},"1173":{"position":[[450,8]]},"1174":{"position":[[354,8]]},"1175":{"position":[[374,8]]},"1176":{"position":[[458,8]]},"1177":{"position":[[370,8]]},"1178":{"position":[[524,8]]},"1179":{"position":[[390,8]]},"1180":{"position":[[720,8]]},"1181":{"position":[[475,8]]},"1182":{"position":[[412,8]]},"1183":{"position":[[367,8]]}},"keywords":{}}],["manipul",{"_index":4226,"title":{},"content":{"890":{"position":[[2783,11]]},"1105":{"position":[[448,14]]}},"keywords":{}}],["manipulation/shar",{"_index":689,"title":{},"content":{"22":{"position":[[2178,21]]}},"keywords":{}}],["manner",{"_index":1211,"title":{},"content":{"94":{"position":[[2691,6]]},"226":{"position":[[2691,6]]},"724":{"position":[[346,7]]},"869":{"position":[[303,7]]},"1022":{"position":[[133,6]]}},"keywords":{}}],["manual",{"_index":502,"title":{},"content":{"17":{"position":[[621,8]]},"864":{"position":[[597,8]]},"870":{"position":[[1086,8],[1174,6]]},"955":{"position":[[401,8]]},"1050":{"position":[[1089,6]]},"1079":{"position":[[1317,8]]},"1348":{"position":[[4093,8]]},"1373":{"position":[[8498,8]]},"1393":{"position":[[5371,9]]},"1471":{"position":[[2698,8]]},"1472":{"position":[[2657,8]]},"1473":{"position":[[2972,8]]}},"keywords":{}}],["map",{"_index":828,"title":{"653":{"position":[[0,4]]},"689":{"position":[[8,3]]}},"content":{"34":{"position":[[56,4]]},"38":{"position":[[55,4]]},"183":{"position":[[55,4]]},"190":{"position":[[56,4]]},"240":{"position":[[237,6]]},"242":{"position":[[517,9]]},"297":{"position":[[1024,6]]},"329":{"position":[[297,6]]},"368":{"position":[[2454,7]]},"374":{"position":[[1674,7]]},"377":{"position":[[1373,7],[1513,7]]},"389":{"position":[[1381,7],[1498,7]]},"441":{"position":[[28,4],[74,3],[132,7]]},"470":{"position":[[237,6]]},"689":{"position":[[8,3],[24,3],[253,3]]},"693":{"position":[[8716,4],[8915,6]]},"697":{"position":[[27,3]]},"711":{"position":[[763,5],[791,5]]},"712":{"position":[[736,3],[2388,3]]},"715":{"position":[[628,3]]},"718":{"position":[[643,6]]},"747":{"position":[[2454,7]]},"753":{"position":[[1674,7]]},"756":{"position":[[1373,7],[1513,7]]},"768":{"position":[[1381,7],[1498,7]]},"820":{"position":[[28,4],[74,3],[132,7]]},"890":{"position":[[4066,7],[4316,3],[5176,7]]},"994":{"position":[[151,3]]},"995":{"position":[[167,7]]},"1018":{"position":[[159,3]]},"1042":{"position":[[585,3]]},"1044":{"position":[[354,3]]},"1052":{"position":[[464,7],[869,4],[1185,7],[1418,6]]},"1054":{"position":[[1138,3],[1571,3]]},"1069":{"position":[[225,7],[509,7],[640,7]]},"1112":{"position":[[775,3],[1988,3]]},"1127":{"position":[[754,4]]},"1348":{"position":[[3444,3]]},"1349":{"position":[[1589,3]]},"1350":{"position":[[4560,3]]},"1351":{"position":[[1786,3]]},"1352":{"position":[[4559,3]]},"1353":{"position":[[2163,3]]},"1354":{"position":[[2001,3]]},"1355":{"position":[[3146,3]]},"1356":{"position":[[1507,3]]},"1357":{"position":[[1180,3]]},"1358":{"position":[[1901,3]]},"1359":{"position":[[1738,3]]},"1360":{"position":[[2375,3],[5309,3],[5513,4],[5586,4],[5615,3]]},"1361":{"position":[[1728,3]]},"1362":{"position":[[6098,3],[8608,7]]},"1363":{"position":[[3844,3]]},"1364":{"position":[[6127,3],[9722,7]]},"1365":{"position":[[1662,3]]},"1366":{"position":[[1874,3],[2228,7],[2431,8]]},"1367":{"position":[[7525,3],[8696,7]]},"1368":{"position":[[2218,3]]},"1369":{"position":[[1270,3]]},"1370":{"position":[[1523,3]]},"1371":{"position":[[1146,3]]},"1372":{"position":[[2784,3]]},"1373":{"position":[[3656,3]]},"1374":{"position":[[1558,3],[1897,3],[2184,7],[2523,8]]},"1375":{"position":[[1182,3]]},"1376":{"position":[[1138,3]]},"1377":{"position":[[1377,3]]},"1378":{"position":[[1124,3]]},"1379":{"position":[[1147,3]]},"1380":{"position":[[1618,3]]},"1381":{"position":[[1524,3],[2275,6]]},"1382":{"position":[[4010,3]]},"1383":{"position":[[2248,3],[7312,3],[7516,4],[7589,4],[7618,3]]},"1384":{"position":[[5172,3],[11459,3],[11642,3],[11947,3],[12199,3],[12436,3],[12619,3]]},"1385":{"position":[[2843,3]]},"1386":{"position":[[1481,3]]},"1387":{"position":[[5112,3]]},"1388":{"position":[[4310,3],[6041,3]]},"1389":{"position":[[5165,3]]},"1390":{"position":[[1417,3]]},"1391":{"position":[[1370,3]]},"1392":{"position":[[1520,3]]},"1393":{"position":[[2098,3]]},"1394":{"position":[[1540,3]]},"1395":{"position":[[1555,3]]},"1396":{"position":[[1346,3]]},"1397":{"position":[[1527,3],[2451,7]]},"1398":{"position":[[2205,3]]},"1399":{"position":[[1382,3]]},"1400":{"position":[[1251,3]]},"1401":{"position":[[1326,3]]},"1402":{"position":[[1482,3]]},"1403":{"position":[[2078,3],[5382,7],[5875,4],[6412,3],[6616,4],[6689,4],[6718,3]]},"1404":{"position":[[1315,3]]},"1405":{"position":[[2006,3]]},"1406":{"position":[[1222,3]]},"1407":{"position":[[2047,3]]},"1408":{"position":[[1743,3]]},"1409":{"position":[[1277,3]]},"1410":{"position":[[2445,3],[3006,3]]},"1411":{"position":[[1260,3]]},"1412":{"position":[[2466,3]]},"1413":{"position":[[2644,3]]},"1414":{"position":[[1511,3]]},"1415":{"position":[[3493,3]]},"1416":{"position":[[2145,3]]},"1417":{"position":[[1734,3]]},"1418":{"position":[[1435,3]]},"1419":{"position":[[1563,3]]},"1420":{"position":[[1827,3]]},"1421":{"position":[[1802,3],[2189,3]]},"1422":{"position":[[1711,3]]},"1423":{"position":[[1694,3]]},"1424":{"position":[[1819,3]]},"1425":{"position":[[1435,3]]},"1426":{"position":[[1784,3]]},"1427":{"position":[[2681,3]]},"1428":{"position":[[1417,3]]},"1429":{"position":[[3345,3],[3904,3]]},"1430":{"position":[[2193,3]]},"1431":{"position":[[1537,3]]},"1432":{"position":[[2058,3]]},"1433":{"position":[[1579,3]]},"1434":{"position":[[1253,3]]},"1435":{"position":[[1217,3]]},"1436":{"position":[[1233,3]]},"1437":{"position":[[1303,3]]},"1438":{"position":[[1443,3]]},"1439":{"position":[[2967,3],[4797,4],[4888,3]]},"1440":{"position":[[3533,3],[3897,3]]},"1441":{"position":[[1259,3]]},"1442":{"position":[[1338,3]]},"1443":{"position":[[1554,3]]},"1444":{"position":[[1470,3]]},"1445":{"position":[[1159,3]]},"1446":{"position":[[1493,3]]},"1447":{"position":[[1375,3]]},"1448":{"position":[[1810,3]]},"1449":{"position":[[1744,3]]},"1450":{"position":[[1623,3]]},"1451":{"position":[[1623,3]]},"1452":{"position":[[1169,3]]},"1453":{"position":[[1755,3]]},"1454":{"position":[[4121,3]]},"1455":{"position":[[2008,3],[2969,3],[3156,3]]},"1456":{"position":[[1353,3]]},"1457":{"position":[[1412,3]]},"1458":{"position":[[1947,3]]},"1459":{"position":[[1426,3]]},"1460":{"position":[[1538,3]]},"1461":{"position":[[1759,3]]},"1462":{"position":[[5134,3],[7833,7]]},"1463":{"position":[[1260,3]]},"1464":{"position":[[1168,3]]},"1465":{"position":[[2266,3]]},"1466":{"position":[[1504,3]]},"1467":{"position":[[5829,3],[6394,3],[8893,7]]},"1468":{"position":[[1268,3]]},"1469":{"position":[[1647,3]]},"1470":{"position":[[4170,3]]},"1471":{"position":[[2510,3],[4036,8],[4269,7]]},"1472":{"position":[[2469,3],[4620,8],[4853,7]]},"1473":{"position":[[2784,3],[4357,8],[4590,7]]},"1474":{"position":[[2169,3]]},"1475":{"position":[[2640,3]]},"1476":{"position":[[1245,3]]},"1477":{"position":[[1403,3]]},"1478":{"position":[[1894,3]]},"1479":{"position":[[1337,3]]},"1480":{"position":[[1750,3]]},"1481":{"position":[[2283,3]]},"1482":{"position":[[1357,3]]},"1483":{"position":[[1191,3]]},"1484":{"position":[[1263,3]]},"1485":{"position":[[1523,3]]},"1486":{"position":[[1767,3],[1967,3]]},"1487":{"position":[[1468,3]]}},"keywords":{}}],["map(ab",{"_index":3244,"title":{},"content":{"653":{"position":[[153,8]]}},"keywords":{}}],["map(func",{"_index":3243,"title":{},"content":{"653":{"position":[[4,9]]}},"keywords":{}}],["map(k",{"_index":5233,"title":{},"content":{"1047":{"position":[[522,7]]},"1048":{"position":[[1477,8]]}},"keywords":{}}],["map(lambda",{"_index":3246,"title":{},"content":{"653":{"position":[[188,10]]}},"keywords":{}}],["mapc",{"_index":6995,"title":{},"content":{"1368":{"position":[[954,5]]}},"keywords":{}}],["mapped_src",{"_index":8418,"title":{},"content":{"1471":{"position":[[1376,12],[3982,12],[4356,11]]},"1472":{"position":[[1239,12],[4566,12],[4940,11]]},"1473":{"position":[[1428,12],[4303,12],[4677,11]]}},"keywords":{}}],["mapping{str",{"_index":5327,"title":{},"content":{"1053":{"position":[[572,12]]}},"keywords":{}}],["march",{"_index":645,"title":{},"content":{"22":{"position":[[619,5],[668,6]]}},"keywords":{}}],["mark",{"_index":1062,"title":{},"content":{"85":{"position":[[585,6]]},"91":{"position":[[469,6]]},"98":{"position":[[588,6]]},"217":{"position":[[585,6]]},"223":{"position":[[469,6]]},"230":{"position":[[588,6]]},"298":{"position":[[1057,6],[1159,6]]},"344":{"position":[[75,5]]},"584":{"position":[[1090,4]]},"693":{"position":[[1745,5]]},"840":{"position":[[1715,5]]},"916":{"position":[[200,4]]},"1113":{"position":[[201,6]]},"1138":{"position":[[1746,6],[1787,6]]},"1140":{"position":[[1235,6],[1276,6]]},"1167":{"position":[[2239,6],[2280,6]]},"1188":{"position":[[1288,6],[1329,6]]},"1217":{"position":[[980,6],[1021,6]]},"1228":{"position":[[3061,6],[3102,6]]},"1403":{"position":[[5082,7]]}},"keywords":{}}],["markdown",{"_index":5958,"title":{},"content":{"1155":{"position":[[322,8],[379,8],[450,8]]},"1157":{"position":[[183,9]]},"1158":{"position":[[177,9]]},"1159":{"position":[[177,9]]}},"keywords":{}}],["markdown_fil",{"_index":5964,"title":{},"content":{"1155":{"position":[[630,15]]}},"keywords":{}}],["marker",{"_index":5006,"title":{},"content":{"1004":{"position":[[1646,6]]},"1006":{"position":[[407,6],[814,6]]}},"keywords":{}}],["mask=field(int",{"_index":3154,"title":{},"content":{"642":{"position":[[164,15]]}},"keywords":{}}],["match",{"_index":1366,"title":{},"content":{"133":{"position":[[211,7]]},"139":{"position":[[153,7]]},"243":{"position":[[273,6],[335,7]]},"256":{"position":[[211,7]]},"262":{"position":[[153,7]]},"333":{"position":[[470,6]]},"389":{"position":[[1208,8]]},"408":{"position":[[1178,8]]},"418":{"position":[[284,5],[402,8],[549,6]]},"435":{"position":[[82,7]]},"595":{"position":[[357,7]]},"640":{"position":[[106,7]]},"643":{"position":[[164,6]]},"649":{"position":[[64,7]]},"675":{"position":[[917,7]]},"693":{"position":[[2722,7],[9576,8]]},"768":{"position":[[1208,8]]},"787":{"position":[[1178,8]]},"797":{"position":[[284,5],[402,8],[549,6]]},"814":{"position":[[82,7]]},"900":{"position":[[270,7],[328,6],[510,7]]},"905":{"position":[[547,5]]},"921":{"position":[[308,7]]},"943":{"position":[[2311,5],[2446,7],[2590,7],[2633,7],[2682,7]]},"944":{"position":[[481,5],[541,7],[1956,6]]},"1013":{"position":[[286,6],[371,6],[627,8]]},"1020":{"position":[[174,5],[283,5]]},"1053":{"position":[[648,5]]},"1067":{"position":[[59,8]]},"1129":{"position":[[286,5]]},"1131":{"position":[[404,5],[596,7]]},"1136":{"position":[[1431,5],[1534,7],[1654,5]]},"1148":{"position":[[499,8],[1787,5],[1890,7],[2010,5]]},"1172":{"position":[[1662,7]]},"1173":{"position":[[962,7]]},"1190":{"position":[[1275,5]]},"1193":{"position":[[199,8],[293,8]]},"1199":{"position":[[204,8]]},"1205":{"position":[[162,5],[911,5],[1014,7],[1134,5]]},"1209":{"position":[[664,5],[767,7],[887,5]]},"1226":{"position":[[2604,5],[2707,7],[2827,5],[4605,5],[4813,7]]},"1228":{"position":[[590,5]]},"1235":{"position":[[1924,5],[2027,7],[2147,5]]},"1237":{"position":[[2774,5],[2877,7],[2997,5],[4775,5],[4983,7]]},"1259":{"position":[[866,6],[1087,7]]},"1269":{"position":[[27,6],[45,7],[99,7]]},"1271":{"position":[[130,7],[305,5]]},"1290":{"position":[[866,6],[1087,7]]},"1300":{"position":[[27,6],[45,7],[99,7]]},"1302":{"position":[[130,7],[305,5]]},"1318":{"position":[[866,6],[1087,7]]},"1328":{"position":[[27,6],[45,7],[99,7]]},"1330":{"position":[[130,7],[305,5]]},"1362":{"position":[[11436,8],[11769,8],[11903,7],[12245,8],[12437,7]]},"1363":{"position":[[6443,7],[6857,7]]},"1364":{"position":[[8391,8],[8525,7],[12403,8],[12750,8],[12942,7]]},"1367":{"position":[[11806,8],[12153,8],[12345,7]]},"1373":{"position":[[6458,8],[6790,8],[6924,7],[7285,8]]},"1382":{"position":[[8305,8],[8655,8],[8860,7],[9110,8],[9244,7],[9606,8],[9961,8],[10153,7]]},"1383":{"position":[[3582,7],[3926,7],[4214,7]]},"1384":{"position":[[7582,8],[7714,7],[7996,8],[8248,7],[8577,8],[8711,7],[9160,8],[9331,7],[14650,8],[15000,8],[15205,7],[15455,8],[15589,7],[15951,8],[16306,8],[16498,7],[19350,7]]},"1385":{"position":[[4535,8],[4884,8],[5089,7],[5338,8],[5472,7],[5833,8],[6187,8],[6379,7]]},"1387":{"position":[[7908,8],[8257,8],[8462,7],[8711,8],[8845,7],[9206,8],[9560,8],[9752,7]]},"1398":{"position":[[6792,5]]},"1415":{"position":[[4417,8],[4749,8],[4883,7],[5327,7]]},"1416":{"position":[[3273,8],[3387,7]]},"1420":{"position":[[2410,8],[2524,7]]},"1422":{"position":[[1904,5],[2551,5]]},"1423":{"position":[[2220,5]]},"1426":{"position":[[2159,5]]},"1427":{"position":[[4725,8]]},"1439":{"position":[[7224,8]]},"1448":{"position":[[2356,8],[2470,7]]},"1449":{"position":[[2290,8],[2404,7]]},"1454":{"position":[[5982,8],[6114,7],[6395,8],[6647,7],[6948,8],[7119,7],[8118,8],[8430,8],[8750,8],[9363,7]]},"1455":{"position":[[2753,8],[2885,7]]},"1465":{"position":[[3311,8],[3722,8]]},"1467":{"position":[[9580,8]]},"1478":{"position":[[2808,5]]},"1485":{"position":[[2919,8],[3124,7]]},"1486":{"position":[[5402,5]]}},"keywords":{}}],["match"",{"_index":4712,"title":{},"content":{"944":{"position":[[2053,11]]}},"keywords":{}}],["match.if",{"_index":6278,"title":{},"content":{"1262":{"position":[[431,8]]},"1293":{"position":[[431,8]]},"1321":{"position":[[431,8]]}},"keywords":{}}],["match_host",{"_index":4699,"title":{},"content":{"944":{"position":[[1006,10]]}},"keywords":{}}],["match_rul",{"_index":4698,"title":{},"content":{"944":{"position":[[991,10]]}},"keywords":{}}],["matchesdefault",{"_index":5196,"title":{},"content":{"1044":{"position":[[2346,14]]}},"keywords":{}}],["matchesint",{"_index":4363,"title":{},"content":{"900":{"position":[[451,11]]}},"keywords":{}}],["mater",{"_index":5531,"title":{},"content":{"1079":{"position":[[183,11]]}},"keywords":{}}],["materi",{"_index":1624,"title":{"1074":{"position":[[9,15]]},"1076":{"position":[[18,16]]},"1178":{"position":[[14,13]]},"1204":{"position":[[20,13]]}},"content":{"297":{"position":[[371,17],[652,12]]},"416":{"position":[[323,12],[517,13],[608,15],[1072,12]]},"417":{"position":[[552,13],[747,13],[838,15],[1220,12]]},"590":{"position":[[495,11]]},"592":{"position":[[218,11]]},"705":{"position":[[818,16],[981,18]]},"715":{"position":[[1490,13],[1827,15]]},"724":{"position":[[1095,11],[1587,15],[1946,15]]},"795":{"position":[[323,12],[517,13],[608,15],[1072,12]]},"796":{"position":[[552,13],[747,13],[838,15],[1220,12]]},"834":{"position":[[315,12],[344,12],[601,12]]},"840":{"position":[[1740,12]]},"848":{"position":[[60,12]]},"861":{"position":[[436,12]]},"867":{"position":[[1149,15],[1315,11]]},"1030":{"position":[[299,15]]},"1075":{"position":[[17,15],[384,15]]},"1076":{"position":[[19,16],[72,16]]},"1079":{"position":[[13,12],[1085,11]]},"1100":{"position":[[39,15],[209,16]]},"1103":{"position":[[1766,12]]},"1138":{"position":[[680,16],[722,11],[5410,11],[5436,12]]},"1140":{"position":[[306,16],[348,11],[4899,11],[4925,12]]},"1167":{"position":[[5903,11],[5929,12]]},"1171":{"position":[[463,12],[484,16]]},"1178":{"position":[[8,16],[111,15],[223,12]]},"1188":{"position":[[359,16],[401,11],[4952,11],[4978,12]]},"1190":{"position":[[1042,12],[1093,12]]},"1204":{"position":[[38,12],[87,12],[4499,12],[4554,12],[5401,12],[5470,12],[6331,12],[6386,12],[7233,12],[7291,12],[8219,12],[8315,12],[9173,12],[9233,12],[10120,12],[10189,12]]},"1217":{"position":[[4644,11],[4670,12]]},"1228":{"position":[[6725,11],[6751,12]]},"1393":{"position":[[8399,12]]}},"keywords":{}}],["materialis",{"_index":7468,"title":{},"content":{"1393":{"position":[[4120,11]]}},"keywords":{}}],["math",{"_index":7217,"title":{},"content":{"1384":{"position":[[21587,7]]}},"keywords":{}}],["mathutil",{"_index":7216,"title":{},"content":{"1384":{"position":[[21555,12]]}},"keywords":{}}],["matlab_program",{"_index":8093,"title":{"1445":{"position":[[0,15]]}},"content":{"1445":{"position":[[4,15]]}},"keywords":{}}],["matter",{"_index":3666,"title":{},"content":{"706":{"position":[[546,7]]},"944":{"position":[[1412,6]]},"1487":{"position":[[2731,7]]}},"keywords":{}}],["maven",{"_index":7938,"title":{},"content":{"1423":{"position":[[3816,5]]},"1439":{"position":[[5799,6]]},"1469":{"position":[[3198,5],[3521,5]]}},"keywords":{}}],["maven_coord",{"_index":6357,"title":{},"content":{"1348":{"position":[[1498,13]]},"1355":{"position":[[1475,13]]},"1358":{"position":[[770,13]]},"1412":{"position":[[895,13]]},"1413":{"position":[[1041,13]]},"1427":{"position":[[1112,13]]},"1429":{"position":[[1346,13]]},"1430":{"position":[[915,13]]},"1439":{"position":[[1348,13]]},"1440":{"position":[[1547,13]]},"1458":{"position":[[745,13]]},"1470":{"position":[[1775,13]]},"1474":{"position":[[891,13]]},"1475":{"position":[[1037,13]]}},"keywords":{}}],["maven_repo=http://jcenter.bintray.com",{"_index":8059,"title":{},"content":{"1439":{"position":[[6259,38]]}},"keywords":{}}],["mavenurldecod",{"_index":8379,"title":{},"content":{"1469":{"position":[[2278,15]]}},"keywords":{}}],["max",{"_index":3247,"title":{"654":{"position":[[0,4]]}},"content":{"654":{"position":[[25,4]]},"1127":{"position":[[626,3],[844,4]]}},"keywords":{}}],["max("two"",{"_index":3255,"title":{},"content":{"654":{"position":[[359,20],[469,20]]}},"keywords":{}}],["max(*arg",{"_index":3248,"title":{},"content":{"654":{"position":[[4,10]]}},"keywords":{}}],["max([3",{"_index":3253,"title":{},"content":{"654":{"position":[[330,7]]}},"keywords":{}}],["max(x",{"_index":3249,"title":{},"content":{"654":{"position":[[65,6]]}},"keywords":{}}],["max_cache_upload_mebibyt",{"_index":1885,"title":{},"content":{"362":{"position":[[634,27]]},"741":{"position":[[634,27]]}},"keywords":{}}],["max_poll_time_u",{"_index":5809,"title":{},"content":{"1126":{"position":[[1234,17]]}},"keywords":{}}],["max_work",{"_index":8554,"title":{},"content":{"1486":{"position":[[571,12],[2564,11]]}},"keywords":{}}],["max_workers_per_thread_perc",{"_index":8555,"title":{},"content":{"1486":{"position":[[600,31],[2580,30]]}},"keywords":{}}],["maximum",{"_index":1898,"title":{},"content":{"362":{"position":[[1699,7],[1812,7],[2555,7]]},"610":{"position":[[324,7]]},"614":{"position":[[233,7]]},"616":{"position":[[851,7]]},"654":{"position":[[42,7]]},"741":{"position":[[1699,7],[1812,7],[2555,7]]},"1247":{"position":[[19,7]]},"1354":{"position":[[2904,7]]},"1388":{"position":[[10131,7]]},"1392":{"position":[[2255,7]]},"1403":{"position":[[4527,7],[5819,7]]},"1410":{"position":[[5354,7]]},"1429":{"position":[[5851,7]]},"1440":{"position":[[5751,7]]},"1467":{"position":[[10373,7]]},"1486":{"position":[[2213,7],[2367,7]]}},"keywords":{}}],["maxsplit",{"_index":2961,"title":{},"content":{"614":{"position":[[43,9],[157,11]]},"616":{"position":[[42,9],[152,11],[800,8]]}},"keywords":{}}],["md",{"_index":4447,"title":{},"content":{"910":{"position":[[93,2]]}},"keywords":{}}],["md"",{"_index":5115,"title":{},"content":{"1031":{"position":[[934,9]]}},"keywords":{}}],["meadata_path",{"_index":1203,"title":{},"content":{"94":{"position":[[2020,12]]},"226":{"position":[[2020,12]]}},"keywords":{}}],["meal",{"_index":3601,"title":{},"content":{"693":{"position":[[9353,5],[9412,5]]}},"keywords":{}}],["mean",{"_index":248,"title":{"900":{"position":[[17,6]]}},"content":{"9":{"position":[[1543,5]]},"10":{"position":[[1165,5]]},"12":{"position":[[152,5]]},"23":{"position":[[519,5],[2550,5]]},"148":{"position":[[255,7]]},"233":{"position":[[176,5]]},"271":{"position":[[255,7]]},"374":{"position":[[713,7],[883,8],[1848,5]]},"622":{"position":[[331,5]]},"688":{"position":[[1343,5]]},"695":{"position":[[470,5]]},"705":{"position":[[359,5],[416,5]]},"706":{"position":[[2173,5]]},"720":{"position":[[81,5]]},"753":{"position":[[713,7],[883,8],[1848,5]]},"832":{"position":[[741,5]]},"845":{"position":[[71,5]]},"846":{"position":[[1281,5],[1394,5],[1605,5]]},"848":{"position":[[21,5],[73,9]]},"864":{"position":[[645,5]]},"876":{"position":[[108,5]]},"877":{"position":[[56,5]]},"888":{"position":[[955,4]]},"890":{"position":[[1052,5]]},"898":{"position":[[438,5],[571,5]]},"900":{"position":[[43,7],[1855,7]]},"914":{"position":[[167,8]]},"917":{"position":[[304,6]]},"919":{"position":[[1790,5]]},"946":{"position":[[612,5]]},"951":{"position":[[620,5]]},"987":{"position":[[257,5],[657,5],[800,5]]},"989":{"position":[[226,5]]},"1014":{"position":[[644,5]]},"1017":{"position":[[582,5],[858,5]]},"1024":{"position":[[1109,5]]},"1026":{"position":[[156,5]]},"1032":{"position":[[203,5]]},"1035":{"position":[[187,5]]},"1037":{"position":[[289,5]]},"1050":{"position":[[946,5]]},"1053":{"position":[[1242,5]]},"1058":{"position":[[1233,5]]},"1071":{"position":[[907,5]]},"1078":{"position":[[266,5]]},"1081":{"position":[[338,5]]},"1084":{"position":[[41,5],[207,5]]},"1091":{"position":[[92,5]]},"1098":{"position":[[83,5]]},"1112":{"position":[[3060,4]]},"1138":{"position":[[4361,5]]},"1140":{"position":[[3850,5]]},"1167":{"position":[[4854,5]]},"1186":{"position":[[545,5],[812,5]]},"1187":{"position":[[558,5],[825,5]]},"1188":{"position":[[3903,5],[5284,5],[5551,5]]},"1217":{"position":[[3595,5]]},"1228":{"position":[[566,5],[5676,5]]},"1245":{"position":[[117,5]]},"1273":{"position":[[105,5]]},"1304":{"position":[[105,5]]},"1332":{"position":[[105,5]]},"1354":{"position":[[2607,7],[2659,7]]},"1367":{"position":[[10422,7],[10474,7]]},"1383":{"position":[[5654,5]]},"1388":{"position":[[4932,5],[6342,5]]},"1392":{"position":[[1877,7],[1929,7]]},"1393":{"position":[[9231,7]]},"1410":{"position":[[3361,7],[3413,7]]},"1429":{"position":[[4653,7],[4705,7]]},"1440":{"position":[[4735,7],[4787,7]]},"1467":{"position":[[6695,5]]},"1485":{"position":[[4701,7]]},"1486":{"position":[[2724,5]]}},"keywords":{}}],["meaning",{"_index":5697,"title":{},"content":{"1105":{"position":[[2213,10]]},"1487":{"position":[[2175,10],[2213,10]]}},"keywords":{}}],["meant",{"_index":3452,"title":{},"content":{"689":{"position":[[124,5]]},"835":{"position":[[20,5],[168,5]]},"1112":{"position":[[415,5]]},"1152":{"position":[[233,5]]},"1237":{"position":[[58,5]]}},"keywords":{}}],["measur",{"_index":3964,"title":{},"content":{"860":{"position":[[45,13]]},"864":{"position":[[799,9],[966,7],[1370,9],[1444,7]]},"1061":{"position":[[126,7]]}},"keywords":{}}],["mechan",{"_index":798,"title":{},"content":{"24":{"position":[[958,10]]},"693":{"position":[[2902,11]]},"998":{"position":[[40,10],[385,10]]},"1078":{"position":[[197,9]]},"1367":{"position":[[14225,10],[14344,10]]},"1393":{"position":[[5476,9],[7668,11]]},"1398":{"position":[[4614,11]]}},"keywords":{}}],["meck",{"_index":7627,"title":{},"content":{"1398":{"position":[[5682,6]]}},"keywords":{}}],["meet",{"_index":3296,"title":{},"content":{"662":{"position":[[723,5]]}},"keywords":{}}],["member",{"_index":2658,"title":{},"content":{"580":{"position":[[309,8]]},"1427":{"position":[[4799,6]]},"1439":{"position":[[7298,6]]}},"keywords":{}}],["memori",{"_index":175,"title":{"1099":{"position":[[3,6]]},"1100":{"position":[[16,6]]},"1246":{"position":[[31,6]]},"1247":{"position":[[4,8]]},"1248":{"position":[[34,6]]},"1250":{"position":[[16,6]]},"1251":{"position":[[22,6]]}},"content":{"9":{"position":[[188,6]]},"11":{"position":[[274,7],[423,6]]},"23":{"position":[[344,6],[2257,6]]},"126":{"position":[[534,6]]},"249":{"position":[[534,6]]},"362":{"position":[[1632,6]]},"663":{"position":[[1216,6]]},"741":{"position":[[1632,6]]},"890":{"position":[[6432,6]]},"892":{"position":[[159,6],[183,6],[473,6]]},"901":{"position":[[1170,6]]},"919":{"position":[[1390,6]]},"920":{"position":[[147,6],[457,6]]},"1056":{"position":[[806,6],[1049,6]]},"1057":{"position":[[1403,7]]},"1186":{"position":[[460,6],[551,6],[673,6],[828,7],[846,6]]},"1187":{"position":[[473,6],[564,6],[686,6],[841,7],[859,6]]},"1188":{"position":[[5199,6],[5290,6],[5412,6],[5567,7],[5585,6]]},"1244":{"position":[[222,7],[259,7]]},"1247":{"position":[[5,6],[37,6],[105,6],[378,6],[647,6]]},"1248":{"position":[[25,6]]},"1249":{"position":[[53,6]]},"1250":{"position":[[87,7]]},"1251":{"position":[[20,6],[75,6],[123,6]]},"1252":{"position":[[42,6]]},"1253":{"position":[[32,6],[118,7],[342,7],[350,6],[648,7]]},"1255":{"position":[[39,6],[447,7]]},"1256":{"position":[[55,6]]},"1395":{"position":[[2990,7]]}},"keywords":{}}],["memory_intensive_condition([target",{"_index":6223,"title":{},"content":{"1255":{"position":[[146,36],[322,36]]}},"keywords":{}}],["memory_intensive_condition(huge_target_list",{"_index":6224,"title":{},"content":{"1255":{"position":[[242,44]]}},"keywords":{}}],["memory_intensive_fun",{"_index":6206,"title":{},"content":{"1251":{"position":[[321,20]]}},"keywords":{}}],["memory_intensive_fun(x,i",{"_index":6204,"title":{},"content":{"1251":{"position":[[206,25],[374,25]]}},"keywords":{}}],["mention",{"_index":2618,"title":{},"content":{"574":{"position":[[3,9]]},"706":{"position":[[1371,9]]},"864":{"position":[[347,9]]},"924":{"position":[[2488,9]]},"1366":{"position":[[3027,9]]}},"keywords":{}}],["mentionsb",{"_index":3551,"title":{},"content":{"693":{"position":[[4344,10]]}},"keywords":{}}],["mere",{"_index":5659,"title":{},"content":{"1104":{"position":[[969,6]]},"1245":{"position":[[407,6]]}},"keywords":{}}],["merg",{"_index":4123,"title":{},"content":{"879":{"position":[[154,5]]},"1086":{"position":[[388,5]]},"1102":{"position":[[990,7]]},"1148":{"position":[[7213,5]]},"1186":{"position":[[279,6]]},"1187":{"position":[[292,6]]},"1356":{"position":[[715,6],[1890,6]]},"1361":{"position":[[923,6]]},"1380":{"position":[[813,6]]},"1381":{"position":[[2355,7]]},"1454":{"position":[[9524,6],[9617,6]]},"1461":{"position":[[2284,6],[2311,5],[2481,8]]},"1462":{"position":[[5733,6],[5817,6],[6671,6]]},"1465":{"position":[[2744,6],[2771,5]]},"1467":{"position":[[6229,6],[6313,6],[6883,6],[6910,5],[7080,8],[7786,6]]}},"keywords":{}}],["merging.label",{"_index":8352,"title":{},"content":{"1465":{"position":[[2941,15]]}},"keywords":{}}],["mess",{"_index":3833,"title":{},"content":{"834":{"position":[[670,4]]}},"keywords":{}}],["messag",{"_index":409,"title":{},"content":{"12":{"position":[[461,8]]},"31":{"position":[[49,7]]},"41":{"position":[[52,8],[257,8],[729,7]]},"174":{"position":[[52,8],[257,8],[729,7]]},"187":{"position":[[49,7]]},"372":{"position":[[347,8]]},"446":{"position":[[31,8],[430,7]]},"751":{"position":[[347,8]]},"825":{"position":[[31,8],[430,7]]},"877":{"position":[[143,8]]},"1047":{"position":[[476,8]]},"1053":{"position":[[287,8]]},"1112":{"position":[[391,7],[822,8],[2653,7],[3097,8],[3415,7],[3600,7],[4077,7],[4675,7]]},"1114":{"position":[[469,8]]},"1116":{"position":[[43,8]]},"1154":{"position":[[364,7]]},"1171":{"position":[[857,7]]},"1185":{"position":[[191,7]]},"1190":{"position":[[1522,7]]},"1202":{"position":[[299,7]]},"1204":{"position":[[264,7]]},"1221":{"position":[[236,7]]},"1245":{"position":[[54,7]]},"1273":{"position":[[573,8]]},"1304":{"position":[[573,8]]},"1332":{"position":[[573,8]]},"1429":{"position":[[5593,8]]},"1440":{"position":[[5585,8]]},"1486":{"position":[[5327,8],[5428,7],[5453,7],[5536,7],[5713,7],[5776,7]]}},"keywords":{}}],["message_cont",{"_index":5732,"title":{},"content":{"1112":{"position":[[2779,16],[4729,16]]}},"keywords":{}}],["messeng",{"_index":6512,"title":{},"content":{"1353":{"position":[[3080,12],[3411,13]]},"1354":{"position":[[3219,12],[3484,13]]},"1360":{"position":[[5957,12],[6222,13]]},"1427":{"position":[[7527,12]]},"1439":{"position":[[8355,12]]}},"keywords":{}}],["messenger.apk",{"_index":6663,"title":{},"content":{"1360":{"position":[[5919,14]]}},"keywords":{}}],["messenger_instrumentation_test",{"_index":6546,"title":{},"content":{"1354":{"position":[[3553,33]]}},"keywords":{}}],["messenger_super_sign",{"_index":6668,"title":{},"content":{"1360":{"position":[[6465,23]]}},"keywords":{}}],["messenger_super_sign.apk",{"_index":6671,"title":{},"content":{"1360":{"position":[[6648,27]]}},"keywords":{}}],["messenger_super_sign_unalign",{"_index":6665,"title":{},"content":{"1360":{"position":[[6184,31],[6495,32]]}},"keywords":{}}],["messenger_super_sign_unalign.apk",{"_index":6667,"title":{},"content":{"1360":{"position":[[6407,35]]}},"keywords":{}}],["messenger_test",{"_index":6516,"title":{},"content":{"1353":{"position":[[3338,17]]},"1354":{"position":[[3411,17],[3593,18]]}},"keywords":{}}],["messenger_test.apk",{"_index":6515,"title":{},"content":{"1353":{"position":[[3283,18]]}},"keywords":{}}],["messengermodul",{"_index":7972,"title":{},"content":{"1427":{"position":[[7701,18]]},"1439":{"position":[[8527,18]]}},"keywords":{}}],["messengermodule.java",{"_index":7970,"title":{},"content":{"1427":{"position":[[7578,26],[7727,25]]}},"keywords":{}}],["messengermodule.kt",{"_index":8069,"title":{},"content":{"1439":{"position":[[8404,24],[8553,23]]}},"keywords":{}}],["met",{"_index":5285,"title":{},"content":{"1050":{"position":[[752,3]]},"1370":{"position":[[2737,4]]}},"keywords":{}}],["meta",{"_index":293,"title":{},"content":{"9":{"position":[[2559,4],[2812,4]]},"12":{"position":[[536,4]]},"22":{"position":[[0,4],[768,4]]},"24":{"position":[[221,4],[346,4]]},"91":{"position":[[505,5]]},"223":{"position":[[505,5]]},"693":{"position":[[6042,4],[7997,4]]},"1075":{"position":[[625,5],[774,5]]},"1422":{"position":[[3841,4]]},"1423":{"position":[[2611,4]]},"1426":{"position":[[2547,4]]},"1469":{"position":[[2422,4]]}},"keywords":{}}],["meta'",{"_index":401,"title":{},"content":{"12":{"position":[[317,6]]}},"keywords":{}}],["meta_inf_directori",{"_index":7952,"title":{},"content":{"1426":{"position":[[838,19]]}},"keywords":{}}],["metadata",{"_index":1205,"title":{"913":{"position":[[15,8]]},"916":{"position":[[9,8]]},"917":{"position":[[10,8]]}},"content":{"94":{"position":[[2167,9],[2472,8]]},"226":{"position":[[2167,9],[2472,8]]},"304":{"position":[[42,9],[137,8],[382,9]]},"443":{"position":[[445,9]]},"822":{"position":[[445,9]]},"864":{"position":[[380,8],[469,8],[1130,8],[1276,8]]},"872":{"position":[[233,9],[408,8],[785,8],[1006,8]]},"881":{"position":[[71,8]]},"916":{"position":[[46,8],[278,8],[472,8]]},"917":{"position":[[12,8],[51,8],[209,8],[265,8]]},"941":{"position":[[47,8],[194,8]]},"943":{"position":[[762,8]]},"1050":{"position":[[1430,8],[1572,8],[3171,9],[3188,8],[4610,8]]},"1114":{"position":[[439,8],[514,8]]},"1136":{"position":[[6545,8],[6578,8],[6642,8]]},"1138":{"position":[[10207,8],[10240,8],[10304,8]]},"1140":{"position":[[9133,8],[9166,8],[9230,8]]},"1142":{"position":[[4577,8],[4610,8],[4674,8]]},"1144":{"position":[[905,8],[938,8],[1002,8]]},"1146":{"position":[[4517,8],[4550,8],[4614,8]]},"1148":{"position":[[8108,8],[8141,8],[8205,8]]},"1150":{"position":[[1140,8],[1173,8],[1237,8]]},"1152":{"position":[[838,8],[871,8],[935,8]]},"1154":{"position":[[993,8],[1026,8],[1090,8]]},"1155":{"position":[[4613,8],[4646,8],[4710,8]]},"1156":{"position":[[4191,8],[4224,8],[4288,8]]},"1157":{"position":[[776,8],[809,8],[873,8]]},"1158":{"position":[[770,8],[803,8],[867,8]]},"1159":{"position":[[770,8],[803,8],[867,8]]},"1161":{"position":[[1765,8],[1798,8],[1862,8]]},"1163":{"position":[[1151,8],[1184,8],[1248,8]]},"1165":{"position":[[980,8],[1013,8],[1077,8]]},"1167":{"position":[[10137,8],[10170,8],[10234,8]]},"1169":{"position":[[3245,8],[3278,8],[3342,8]]},"1171":{"position":[[1486,8],[1519,8],[1583,8]]},"1172":{"position":[[2871,8],[2904,8],[2968,8]]},"1173":{"position":[[1558,8],[1591,8],[1655,8]]},"1174":{"position":[[986,8],[1019,8],[1083,8]]},"1175":{"position":[[982,8],[1015,8],[1079,8]]},"1176":{"position":[[1151,8],[1184,8],[1248,8]]},"1177":{"position":[[1072,8],[1105,8],[1169,8]]},"1178":{"position":[[1389,8],[1422,8],[1486,8]]},"1179":{"position":[[1186,8],[1219,8],[1283,8]]},"1180":{"position":[[1457,8],[1490,8],[1554,8]]},"1181":{"position":[[1977,8],[2010,8],[2074,8]]},"1182":{"position":[[1020,8],[1053,8],[1117,8]]},"1183":{"position":[[975,8],[1008,8],[1072,8]]},"1185":{"position":[[820,8],[853,8],[917,8]]},"1186":{"position":[[5781,8],[5814,8],[5878,8]]},"1187":{"position":[[5794,8],[5827,8],[5891,8]]},"1188":{"position":[[10520,8],[10553,8],[10617,8]]},"1190":{"position":[[2151,8],[2184,8],[2248,8]]},"1191":{"position":[[4381,8],[4414,8],[4478,8]]},"1192":{"position":[[4556,8],[4589,8],[4653,8]]},"1193":{"position":[[4608,8],[4641,8],[4705,8]]},"1194":{"position":[[4248,8],[4281,8],[4345,8]]},"1195":{"position":[[4226,8],[4259,8],[4323,8]]},"1196":{"position":[[4036,8],[4069,8],[4133,8]]},"1197":{"position":[[5019,8],[5052,8],[5116,8]]},"1198":{"position":[[5029,8],[5062,8],[5126,8]]},"1199":{"position":[[5057,8],[5090,8],[5154,8]]},"1200":{"position":[[4924,8],[4957,8],[5021,8]]},"1201":{"position":[[4184,8],[4217,8],[4281,8]]},"1202":{"position":[[928,8],[961,8],[1025,8],[5326,8],[5359,8],[5423,8],[9723,8],[9756,8],[9820,8]]},"1203":{"position":[[4418,8],[4451,8],[4515,8]]},"1204":{"position":[[4262,8],[4295,8],[4359,8],[5164,8],[5197,8],[5261,8],[6094,8],[6127,8],[6191,8],[6996,8],[7029,8],[7093,8],[7982,8],[8015,8],[8079,8],[8936,8],[8969,8],[9033,8],[9883,8],[9916,8],[9980,8],[10813,8],[10846,8],[10910,8]]},"1205":{"position":[[5591,8],[5624,8],[5688,8]]},"1206":{"position":[[4290,8],[4323,8],[4387,8]]},"1207":{"position":[[4219,8],[4252,8],[4316,8]]},"1209":{"position":[[5567,8],[5600,8],[5664,8]]},"1211":{"position":[[891,8],[924,8],[988,8]]},"1213":{"position":[[662,8],[695,8],[759,8]]},"1215":{"position":[[746,8],[779,8],[843,8]]},"1217":{"position":[[8878,8],[8911,8],[8975,8]]},"1219":{"position":[[4133,8],[4166,8],[4230,8]]},"1221":{"position":[[865,8],[898,8],[962,8]]},"1222":{"position":[[4004,8],[4037,8],[4101,8]]},"1223":{"position":[[4014,8],[4047,8],[4111,8]]},"1224":{"position":[[3447,8],[3480,8],[3544,8]]},"1226":{"position":[[9346,8],[9379,8],[9443,8]]},"1228":{"position":[[10959,8],[10992,8],[11056,8]]},"1235":{"position":[[6827,8],[6860,8],[6924,8]]},"1237":{"position":[[9516,8],[9549,8],[9613,8]]},"1348":{"position":[[235,9],[3451,8]]},"1349":{"position":[[246,9],[1596,8]]},"1350":{"position":[[238,9],[4567,8]]},"1351":{"position":[[244,9],[1764,9],[1793,8]]},"1352":{"position":[[238,9],[4566,8]]},"1353":{"position":[[251,9],[2170,8]]},"1354":{"position":[[252,9],[2008,8]]},"1355":{"position":[[239,9],[3124,9],[3153,8]]},"1356":{"position":[[240,9],[1514,8]]},"1357":{"position":[[240,9],[1187,8]]},"1358":{"position":[[244,9],[1908,8]]},"1359":{"position":[[240,9],[1745,8]]},"1360":{"position":[[235,9],[2353,9],[2382,8]]},"1361":{"position":[[243,9],[1735,8]]},"1362":{"position":[[236,9],[6076,9],[6105,8]]},"1363":{"position":[[236,9],[3822,9],[3851,8]]},"1364":{"position":[[237,9],[6105,9],[6134,8]]},"1365":{"position":[[237,9],[1669,8]]},"1366":{"position":[[238,9],[1852,9],[1881,8]]},"1367":{"position":[[234,9],[7503,9],[7532,8]]},"1368":{"position":[[239,9],[2225,8]]},"1369":{"position":[[243,9],[1277,8]]},"1370":{"position":[[250,9],[1501,9],[1530,8]]},"1371":{"position":[[241,9],[1153,8]]},"1372":{"position":[[238,9],[2791,8]]},"1373":{"position":[[235,9],[3663,8]]},"1374":{"position":[[237,9],[1536,9],[1565,8]]},"1375":{"position":[[238,9],[1189,8]]},"1376":{"position":[[243,9],[1145,8]]},"1377":{"position":[[240,9],[1384,8]]},"1378":{"position":[[242,9],[1131,8]]},"1379":{"position":[[240,9],[1154,8]]},"1380":{"position":[[239,9],[1625,8]]},"1381":{"position":[[238,9],[1531,8]]},"1382":{"position":[[234,9],[3988,9],[4017,8]]},"1383":{"position":[[235,9],[2226,9],[2255,8]]},"1384":{"position":[[235,9],[5150,9],[5179,8]]},"1385":{"position":[[241,9],[2850,8]]},"1386":{"position":[[246,9],[1488,8]]},"1387":{"position":[[244,9],[5119,8]]},"1388":{"position":[[232,9],[4288,9],[4317,8]]},"1389":{"position":[[237,9],[5172,8]]},"1390":{"position":[[232,9],[1424,8]]},"1391":{"position":[[233,9],[1377,8]]},"1392":{"position":[[230,9],[1527,8]]},"1393":{"position":[[234,9],[2076,9],[2105,8]]},"1394":{"position":[[243,9],[1547,8]]},"1395":{"position":[[238,9],[1533,9],[1562,8]]},"1396":{"position":[[243,9],[1353,8]]},"1397":{"position":[[238,9],[1534,8]]},"1398":{"position":[[235,9],[2183,9],[2212,8]]},"1399":{"position":[[235,9],[1389,8]]},"1400":{"position":[[244,9],[1258,8]]},"1401":{"position":[[233,9],[1333,8]]},"1402":{"position":[[232,9],[1489,8]]},"1403":{"position":[[231,9],[2056,9],[2085,8]]},"1404":{"position":[[233,9],[1322,8]]},"1405":{"position":[[233,9],[2013,8]]},"1406":{"position":[[243,9],[1229,8]]},"1407":{"position":[[243,9],[2054,8]]},"1408":{"position":[[234,9],[1750,8]]},"1409":{"position":[[233,9],[1284,8]]},"1410":{"position":[[231,9],[2423,9],[2452,8]]},"1411":{"position":[[238,9],[1267,8]]},"1412":{"position":[[238,9],[2444,9],[2473,8]]},"1413":{"position":[[235,9],[2651,8]]},"1414":{"position":[[234,9],[1518,8]]},"1415":{"position":[[238,9],[3500,8]]},"1416":{"position":[[238,9],[2152,8]]},"1417":{"position":[[236,9],[1741,8]]},"1418":{"position":[[239,9],[1442,8]]},"1419":{"position":[[235,9],[1570,8]]},"1420":{"position":[[239,9],[1834,8]]},"1421":{"position":[[248,9],[1809,8]]},"1422":{"position":[[236,9],[1689,9],[1718,8]]},"1423":{"position":[[233,9],[1701,8]]},"1424":{"position":[[235,9],[1826,8]]},"1425":{"position":[[249,9],[1442,8]]},"1426":{"position":[[235,9],[1762,9],[1791,8]]},"1427":{"position":[[236,9],[2659,9],[2688,8]]},"1428":{"position":[[235,9],[1424,8]]},"1429":{"position":[[233,9],[3323,9],[3352,8]]},"1430":{"position":[[240,9],[2200,8]]},"1431":{"position":[[233,9],[1544,8]]},"1432":{"position":[[241,9],[2065,8]]},"1433":{"position":[[234,9],[1586,8]]},"1434":{"position":[[236,9],[1260,8]]},"1435":{"position":[[241,9],[1224,8]]},"1436":{"position":[[237,9],[1240,8]]},"1437":{"position":[[234,9],[1310,8]]},"1438":{"position":[[232,9],[1421,9],[1450,8]]},"1439":{"position":[[238,9],[2945,9],[2974,8]]},"1440":{"position":[[235,9],[3511,9],[3540,8]]},"1441":{"position":[[240,9],[1266,8]]},"1442":{"position":[[241,9],[1316,9],[1345,8]]},"1443":{"position":[[234,9],[1561,8]]},"1444":{"position":[[235,9],[1477,8]]},"1445":{"position":[[238,9],[1166,8]]},"1446":{"position":[[235,9],[1500,8]]},"1447":{"position":[[237,9],[1382,8]]},"1448":{"position":[[236,9],[1817,8]]},"1449":{"position":[[237,9],[1751,8]]},"1450":{"position":[[236,9],[1630,8]]},"1451":{"position":[[236,9],[1630,8]]},"1452":{"position":[[232,9],[1176,8]]},"1453":{"position":[[248,9],[1762,8]]},"1454":{"position":[[244,9],[4128,8]]},"1455":{"position":[[250,9],[2015,8]]},"1456":{"position":[[247,9],[1360,8]]},"1457":{"position":[[243,9],[1419,8]]},"1458":{"position":[[236,9],[1954,8]]},"1459":{"position":[[247,9],[1433,8]]},"1460":{"position":[[246,9],[1545,8]]},"1461":{"position":[[247,9],[1737,9],[1766,8]]},"1462":{"position":[[237,9],[5141,8]]},"1463":{"position":[[247,9],[1267,8]]},"1464":{"position":[[248,9],[1175,8]]},"1465":{"position":[[238,9],[2273,8]]},"1466":{"position":[[251,9],[1511,8]]},"1467":{"position":[[235,9],[5807,9],[5836,8]]},"1468":{"position":[[242,9],[1275,8]]},"1469":{"position":[[235,9],[1625,9],[1654,8]]},"1470":{"position":[[240,9],[4177,8]]},"1471":{"position":[[235,9],[2488,9],[2517,8],[2740,8],[5575,8]]},"1472":{"position":[[236,9],[2447,9],[2476,8],[2699,8],[6461,8]]},"1473":{"position":[[233,9],[2762,9],[2791,8],[3014,8]]},"1474":{"position":[[237,9],[2176,8]]},"1475":{"position":[[234,9],[2647,8]]},"1476":{"position":[[240,9],[1252,8]]},"1477":{"position":[[233,9],[1381,9],[1410,8]]},"1478":{"position":[[231,9],[1872,9],[1901,8]]},"1479":{"position":[[248,9],[1344,8]]},"1480":{"position":[[237,9],[1757,8]]},"1481":{"position":[[239,9],[2290,8]]},"1482":{"position":[[234,9],[1364,8]]},"1483":{"position":[[239,9],[1198,8]]},"1484":{"position":[[239,9],[1270,8]]},"1485":{"position":[[240,9],[1530,8]]},"1486":{"position":[[235,9],[1774,8]]},"1487":{"position":[[232,9],[1446,9],[1475,8]]}},"keywords":{}}],["metadata_env_var",{"_index":1178,"title":{},"content":{"94":{"position":[[794,17],[2600,16]]},"226":{"position":[[794,17],[2600,16]]},"1050":{"position":[[1114,16],[2378,17],[2769,16],[4094,16]]},"1360":{"position":[[948,17]]},"1383":{"position":[[826,17]]},"1403":{"position":[[851,17]]},"1424":{"position":[[767,17]]},"1432":{"position":[[905,17]]}},"keywords":{}}],["metadata_env_var,metadata_path",{"_index":5286,"title":{},"content":{"1050":{"position":[[764,30]]}},"keywords":{}}],["metadata_env_varboth",{"_index":1209,"title":{},"content":{"94":{"position":[[2579,20]]},"226":{"position":[[2579,20]]}},"keywords":{}}],["metadata_path",{"_index":1179,"title":{},"content":{"94":{"position":[[821,14],[2081,14],[2621,13]]},"226":{"position":[[821,14],[2081,14],[2621,13]]},"1050":{"position":[[1135,13],[2482,14],[2817,13],[4142,13]]},"1360":{"position":[[982,14]]},"1383":{"position":[[860,14]]},"1403":{"position":[[885,14]]},"1424":{"position":[[801,14]]},"1432":{"position":[[939,14]]}},"keywords":{}}],["method",{"_index":1011,"title":{},"content":{"79":{"position":[[325,7]]},"84":{"position":[[429,7]]},"216":{"position":[[429,7]]},"276":{"position":[[512,6]]},"277":{"position":[[460,6],[668,7]]},"281":{"position":[[601,6]]},"282":{"position":[[551,6],[777,7]]},"345":{"position":[[809,6]]},"416":{"position":[[253,6]]},"417":{"position":[[482,6]]},"508":{"position":[[325,7]]},"583":{"position":[[135,6]]},"637":{"position":[[129,8]]},"645":{"position":[[150,7]]},"646":{"position":[[147,7]]},"795":{"position":[[253,6]]},"796":{"position":[[482,6]]},"840":{"position":[[1448,6]]},"860":{"position":[[178,8],[594,6]]},"861":{"position":[[1001,7]]},"870":{"position":[[1462,7]]},"889":{"position":[[564,7],[624,7],[1101,7]]},"890":{"position":[[2077,7]]},"898":{"position":[[2571,8]]},"924":{"position":[[285,6],[503,6],[2190,7],[2481,6]]},"937":{"position":[[656,7]]},"1031":{"position":[[367,6],[394,6]]},"1040":{"position":[[1555,7]]},"1178":{"position":[[127,7]]},"1398":{"position":[[2976,8]]},"1426":{"position":[[2710,6]]},"1429":{"position":[[5304,7]]},"1439":{"position":[[4581,8]]},"1440":{"position":[[5298,7]]}},"keywords":{}}],["method_ref_count_buffer_spac",{"_index":6443,"title":{},"content":{"1350":{"position":[[2224,30]]},"1352":{"position":[[2223,30]]}},"keywords":{}}],["methodsread_str",{"_index":1130,"title":{},"content":{"92":{"position":[[1130,19]]},"224":{"position":[[1130,19]]}},"keywords":{}}],["metric",{"_index":5814,"title":{},"content":{"1126":{"position":[[1647,8]]}},"keywords":{}}],["mf"",{"_index":5116,"title":{},"content":{"1031":{"position":[[951,9]]}},"keywords":{}}],["micro",{"_index":5793,"title":{},"content":{"1126":{"position":[[273,6]]}},"keywords":{}}],["microsecond",{"_index":6003,"title":{},"content":{"1180":{"position":[[379,13]]}},"keywords":{}}],["microsoft'",{"_index":8548,"title":{},"content":{"1485":{"position":[[4615,11]]}},"keywords":{}}],["mid",{"_index":3449,"title":{},"content":{"688":{"position":[[1450,3]]},"1383":{"position":[[5756,3]]},"1388":{"position":[[5034,3],[6444,3]]},"1467":{"position":[[6797,3]]}},"keywords":{}}],["middl",{"_index":2775,"title":{},"content":{"591":{"position":[[693,6]]}},"keywords":{}}],["migrat",{"_index":265,"title":{},"content":{"9":{"position":[[1820,9]]},"22":{"position":[[799,10]]},"846":{"position":[[725,7]]},"919":{"position":[[942,7]]},"945":{"position":[[169,7],[260,9],[377,9]]},"972":{"position":[[134,7]]},"1393":{"position":[[2427,9],[3104,10],[3924,10]]}},"keywords":{}}],["milli",{"_index":2486,"title":{},"content":{"513":{"position":[[58,6]]},"867":{"position":[[1125,7]]},"1126":{"position":[[249,7]]}},"keywords":{}}],["million_list",{"_index":6208,"title":{},"content":{"1252":{"position":[[189,12],[253,12]]}},"keywords":{}}],["millisecond",{"_index":6000,"title":{},"content":{"1177":{"position":[[486,12]]},"1354":{"position":[[2931,13]]},"1388":{"position":[[10158,13]]},"1392":{"position":[[2282,13]]},"1410":{"position":[[5381,13]]},"1429":{"position":[[5878,13]]},"1440":{"position":[[5778,13]]},"1467":{"position":[[10400,13]]}},"keywords":{}}],["min",{"_index":3258,"title":{"655":{"position":[[0,4]]}},"content":{"655":{"position":[[25,4]]},"1228":{"position":[[1868,4]]}},"keywords":{}}],["min("two"",{"_index":3263,"title":{},"content":{"655":{"position":[[251,20],[359,20]]}},"keywords":{}}],["min(*arg",{"_index":3259,"title":{},"content":{"655":{"position":[[4,10]]}},"keywords":{}}],["min([3",{"_index":3262,"title":{},"content":{"655":{"position":[[222,7]]}},"keywords":{}}],["min(x",{"_index":3261,"title":{},"content":{"655":{"position":[[65,6]]}},"keywords":{}}],["min_sdk_vers",{"_index":6358,"title":{},"content":{"1348":{"position":[[1528,16]]},"1350":{"position":[[2264,16]]},"1352":{"position":[[2263,16]]},"1353":{"position":[[955,16]]},"1389":{"position":[[2824,16]]}},"keywords":{}}],["min_vers",{"_index":6996,"title":{},"content":{"1368":{"position":[[976,12]]}},"keywords":{}}],["minim",{"_index":3609,"title":{},"content":{"695":{"position":[[783,7]]},"959":{"position":[[243,7]]},"1345":{"position":[[941,7]]},"1355":{"position":[[6285,7]]},"1393":{"position":[[9841,7]]},"1427":{"position":[[5458,7]]}},"keywords":{}}],["minimize_primary_dex_s",{"_index":6444,"title":{},"content":{"1350":{"position":[[2297,26]]},"1352":{"position":[[2296,26]]}},"keywords":{}}],["minimum",{"_index":3260,"title":{},"content":{"655":{"position":[[42,7]]},"1033":{"position":[[74,8]]},"1204":{"position":[[7365,7]]},"1362":{"position":[[13257,7],[13331,7]]},"1363":{"position":[[7753,7]]},"1364":{"position":[[13957,7],[14031,7]]},"1367":{"position":[[13165,7],[13239,7]]}},"keywords":{}}],["minor",{"_index":691,"title":{},"content":{"23":{"position":[[15,5]]}},"keywords":{}}],["minsdkversion="17"/>",{"_index":6589,"title":{},"content":{"1356":{"position":[[2468,33]]}},"keywords":{}}],["minut",{"_index":321,"title":{},"content":{"10":{"position":[[358,8]]},"1228":{"position":[[1851,8],[1860,7]]}},"keywords":{}}],["mirror",{"_index":3733,"title":{},"content":{"712":{"position":[[182,7]]},"839":{"position":[[149,8]]},"1102":{"position":[[197,8]]},"1422":{"position":[[2050,6]]},"1477":{"position":[[2360,7]]}},"keywords":{}}],["mirror.example.com/bin/thrift",{"_index":7911,"title":{},"content":{"1422":{"position":[[4059,29]]},"1423":{"position":[[3612,29]]}},"keywords":{}}],["mirrored_field",{"_index":3753,"title":{},"content":{"712":{"position":[[1617,15]]}},"keywords":{}}],["mirrorinfo",{"_index":3729,"title":{},"content":{"712":{"position":[[63,10]]}},"keywords":{}}],["mirrorinfo(mirrored_attr",{"_index":3738,"title":{},"content":{"712":{"position":[[436,25]]}},"keywords":{}}],["misfeatur",{"_index":5707,"title":{},"content":{"1108":{"position":[[262,11]]}},"keywords":{}}],["mislead",{"_index":4861,"title":{},"content":{"980":{"position":[[1424,10]]},"981":{"position":[[619,10]]}},"keywords":{}}],["miss",{"_index":256,"title":{},"content":{"9":{"position":[[1681,7],[1857,7],[2015,7]]},"406":{"position":[[779,7]]},"663":{"position":[[506,7]]},"704":{"position":[[827,5],[962,5],[1040,7],[1988,5]]},"705":{"position":[[859,5]]},"706":{"position":[[923,4],[1138,6]]},"724":{"position":[[810,5],[973,7],[1253,7]]},"785":{"position":[[779,7]]},"901":{"position":[[468,7]]},"1138":{"position":[[5088,7],[5117,8]]},"1140":{"position":[[4577,7],[4606,8]]},"1146":{"position":[[177,7],[198,7],[294,7]]},"1167":{"position":[[5581,7],[5610,8]]},"1188":{"position":[[4630,7],[4659,8]]},"1217":{"position":[[4322,7],[4351,8]]},"1228":{"position":[[1212,7],[6403,7],[6432,8]]}},"keywords":{}}],["misus",{"_index":3832,"title":{},"content":{"834":{"position":[[511,8]]}},"keywords":{}}],["mitig",{"_index":4866,"title":{},"content":{"981":{"position":[[587,9]]},"1075":{"position":[[535,8]]}},"keywords":{}}],["mix",{"_index":2816,"title":{},"content":{"595":{"position":[[1037,6]]},"704":{"position":[[409,6],[600,6],[1693,6],[2239,6]]},"1024":{"position":[[389,3]]}},"keywords":{}}],["mk",{"_index":8108,"title":{},"content":{"1446":{"position":[[2428,3]]}},"keywords":{}}],["mkdir",{"_index":543,"title":{},"content":{"18":{"position":[[143,5]]},"910":{"position":[[73,5],[79,5],[85,5]]}},"keywords":{}}],["ml",{"_index":8124,"title":{},"content":{"1448":{"position":[[2590,5]]},"1449":{"position":[[2524,5]]}},"keywords":{}}],["mli",{"_index":8125,"title":{},"content":{"1448":{"position":[[2596,6],[2603,6]]},"1449":{"position":[[2530,6],[2537,6]]}},"keywords":{}}],["mll",{"_index":8126,"title":{},"content":{"1448":{"position":[[2610,6]]},"1449":{"position":[[2544,6]]}},"keywords":{}}],["mock",{"_index":3973,"title":{},"content":{"860":{"position":[[576,8]]}},"keywords":{}}],["mod",{"_index":7448,"title":{},"content":{"1393":{"position":[[745,4],[6200,4],[6209,3],[10262,3],[10480,3]]}},"keywords":{}}],["mode",{"_index":481,"title":{},"content":{"16":{"position":[[129,5]]},"24":{"position":[[989,4]]},"94":{"position":[[1936,4]]},"226":{"position":[[1936,4]]},"362":{"position":[[1577,5]]},"741":{"position":[[1577,5]]},"921":{"position":[[121,4]]},"937":{"position":[[1440,6],[1569,5],[2397,6],[2441,5],[2667,5],[2834,5],[2885,6],[3761,5],[3902,4],[3926,4],[4081,4]]},"1040":{"position":[[803,5]]},"1056":{"position":[[447,5],[510,4],[632,4],[705,4],[1112,4],[1204,4],[1300,4]]},"1057":{"position":[[20,4],[1068,4],[1367,4]]},"1058":{"position":[[21,4]]},"1059":{"position":[[20,5]]},"1120":{"position":[[656,4]]},"1136":{"position":[[1500,5]]},"1148":{"position":[[1856,5],[7070,4]]},"1167":{"position":[[1009,6]]},"1186":{"position":[[89,4],[428,4],[454,5],[477,5]]},"1187":{"position":[[102,4],[441,4],[467,5],[490,5]]},"1188":{"position":[[86,4],[5167,4],[5193,5],[5216,5]]},"1205":{"position":[[980,5]]},"1209":{"position":[[733,5]]},"1226":{"position":[[552,4],[1142,4],[2673,5],[4778,4]]},"1235":{"position":[[1993,5]]},"1237":{"position":[[722,4],[1312,4],[2843,5],[4948,4]]},"1243":{"position":[[536,6]]},"1399":{"position":[[468,5],[1717,4]]},"1405":{"position":[[2701,4],[2761,4],[2782,6],[2874,4]]},"1407":{"position":[[2284,4],[3122,4],[3182,4],[3203,6],[3295,4]]},"1410":{"position":[[3224,4],[3762,4],[3783,6],[3875,4]]},"1446":{"position":[[1845,4]]},"1470":{"position":[[4685,4]]}},"keywords":{}}],["mode=heap",{"_index":5354,"title":{},"content":{"1056":{"position":[[257,9],[346,9]]}},"keywords":{}}],["modefil",{"_index":4585,"title":{},"content":{"937":{"position":[[385,9],[639,10],[724,10],[807,10],[863,9],[912,9],[1047,9],[1231,9],[3349,8],[4729,9],[4760,9]]},"1136":{"position":[[3170,10]]},"1138":{"position":[[6832,10]]},"1140":{"position":[[5758,10]]},"1142":{"position":[[1202,10]]},"1146":{"position":[[1142,10]]},"1148":{"position":[[4182,10]]},"1155":{"position":[[1238,10]]},"1156":{"position":[[816,10]]},"1167":{"position":[[6762,10]]},"1169":{"position":[[601,10]]},"1186":{"position":[[2406,10]]},"1187":{"position":[[2419,10]]},"1188":{"position":[[7145,10]]},"1191":{"position":[[1006,10]]},"1192":{"position":[[1181,10]]},"1193":{"position":[[1233,10]]},"1194":{"position":[[873,10]]},"1195":{"position":[[851,10]]},"1196":{"position":[[661,10]]},"1197":{"position":[[1644,10]]},"1198":{"position":[[1654,10]]},"1199":{"position":[[1682,10]]},"1200":{"position":[[1549,10]]},"1201":{"position":[[809,10]]},"1202":{"position":[[1951,10],[6348,10]]},"1203":{"position":[[1043,10]]},"1204":{"position":[[887,10]]},"1205":{"position":[[2216,10]]},"1206":{"position":[[687,10]]},"1207":{"position":[[844,10]]},"1209":{"position":[[2192,10]]},"1217":{"position":[[5503,10]]},"1219":{"position":[[1489,10]]},"1222":{"position":[[613,10]]},"1223":{"position":[[623,10]]},"1224":{"position":[[803,10]]},"1226":{"position":[[5971,10]]},"1228":{"position":[[7584,10]]},"1235":{"position":[[3452,10]]},"1237":{"position":[[6141,10]]}},"keywords":{}}],["model",{"_index":3625,"title":{"703":{"position":[[86,6]]},"714":{"position":[[14,5]]},"716":{"position":[[10,6]]}},"content":{"715":{"position":[[1858,6]]},"716":{"position":[[42,6],[142,6]]},"947":{"position":[[715,7]]},"961":{"position":[[19,6]]},"1380":{"position":[[555,6]]}},"keywords":{}}],["modif",{"_index":952,"title":{},"content":{"66":{"position":[[81,13]]},"454":{"position":[[81,13]]},"573":{"position":[[197,13]]},"693":{"position":[[5227,12]]},"939":{"position":[[154,12]]}},"keywords":{}}],["modifi",{"_index":800,"title":{"936":{"position":[[20,9]]},"940":{"position":[[8,9]]},"941":{"position":[[7,9]]},"942":{"position":[[4,9]]},"943":{"position":[[0,8]]},"944":{"position":[[12,10]]},"946":{"position":[[10,10]]},"947":{"position":[[18,9]]}},"content":{"24":{"position":[[1022,9]]},"66":{"position":[[230,9]]},"443":{"position":[[413,9]]},"454":{"position":[[230,9]]},"693":{"position":[[5209,10]]},"822":{"position":[[413,9]]},"890":{"position":[[1163,9]]},"937":{"position":[[3129,8],[3983,9],[4483,9],[4815,9]]},"938":{"position":[[1028,9]]},"939":{"position":[[140,8],[269,10],[310,10],[338,8],[401,8],[617,8],[768,8],[782,8],[951,8],[1055,8],[1387,8],[1445,6],[1543,8],[1559,6],[1721,8]]},"940":{"position":[[19,9],[151,9],[229,9],[464,8],[542,9],[918,8],[1229,9]]},"941":{"position":[[13,9],[104,9],[278,9]]},"942":{"position":[[21,9],[185,8],[300,10],[409,9],[483,9],[647,8],[691,9],[757,9],[835,8],[990,8],[1052,9],[1218,8],[1331,9],[1611,9],[1629,8],[1738,9],[1761,8]]},"943":{"position":[[0,9],[88,9],[180,8],[349,9],[907,10],[946,9],[991,9],[1040,8],[1103,8],[1146,8],[1182,10],[1304,9],[1448,9],[1621,9],[1641,8],[1775,9],[1914,9],[1979,10],[1994,8],[2058,8],[2168,9],[2301,9],[2339,9],[2437,8],[2498,9],[2534,10],[2624,8],[2668,8]]},"944":{"position":[[0,9],[38,9],[191,10],[750,10],[1992,9]]},"945":{"position":[[180,10],[279,8],[393,9],[501,9],[612,9],[762,8],[1006,8]]},"946":{"position":[[53,9],[139,8],[216,8],[268,9],[374,9],[442,8],[535,8]]},"947":{"position":[[0,9],[84,8],[192,8],[402,9],[469,8],[583,9],[653,8],[747,9],[989,9],[1212,9],[1294,8],[1340,10]]},"980":{"position":[[542,8],[593,9],[706,8],[742,9]]},"1001":{"position":[[722,9]]},"1064":{"position":[[820,9]]},"1071":{"position":[[1234,6]]},"1136":{"position":[[2567,8],[2606,8]]},"1138":{"position":[[5813,10],[6229,8],[6268,8]]},"1140":{"position":[[5155,8],[5194,8]]},"1142":{"position":[[637,8]]},"1146":{"position":[[539,8],[578,8]]},"1148":{"position":[[3163,10],[3579,8],[3618,8]]},"1167":{"position":[[6159,8],[6198,8]]},"1186":{"position":[[1387,10],[1803,8],[1842,8]]},"1187":{"position":[[1400,10],[1816,8],[1855,8]]},"1188":{"position":[[6126,10],[6542,8],[6581,8]]},"1191":{"position":[[441,8]]},"1192":{"position":[[578,8],[617,8]]},"1193":{"position":[[668,8]]},"1194":{"position":[[308,8]]},"1195":{"position":[[286,8]]},"1196":{"position":[[96,8]]},"1197":{"position":[[625,10],[1041,8],[1080,8]]},"1198":{"position":[[635,10],[1051,8],[1090,8]]},"1199":{"position":[[663,10],[1079,8],[1118,8]]},"1200":{"position":[[530,10],[946,8],[985,8]]},"1201":{"position":[[244,8]]},"1202":{"position":[[1386,8],[5783,8]]},"1203":{"position":[[440,8],[479,8]]},"1204":{"position":[[322,8]]},"1205":{"position":[[1613,8],[1652,8]]},"1206":{"position":[[3539,8]]},"1207":{"position":[[279,8]]},"1209":{"position":[[1627,8]]},"1217":{"position":[[4900,8],[4939,8]]},"1226":{"position":[[587,8],[896,8],[1011,8],[1064,8],[5368,8],[5407,8]]},"1228":{"position":[[6981,8],[7020,8]]},"1235":{"position":[[2887,8]]},"1237":{"position":[[757,8],[1066,8],[1181,8],[1234,8],[5538,8],[5577,8]]}},"keywords":{}}],["modifier=linux",{"_index":4680,"title":{},"content":{"942":{"position":[[1078,14]]}},"keywords":{}}],["modifier=releas",{"_index":4681,"title":{},"content":{"942":{"position":[[1095,16]]}},"keywords":{}}],["modifiers.match",{"_index":4635,"title":{},"content":{"939":{"position":[[916,17],[1069,17],[1307,17],[1407,17],[1588,17]]},"940":{"position":[[713,17],[1338,17]]},"943":{"position":[[479,17],[1318,15],[1789,15],[2545,15]]},"944":{"position":[[202,16]]}},"keywords":{}}],["modifiers.match_host",{"_index":4694,"title":{},"content":{"944":{"position":[[562,21],[1090,20]]}},"keywords":{}}],["modifiers.match_hosti",{"_index":4696,"title":{},"content":{"944":{"position":[[761,22]]}},"keywords":{}}],["modifiers.match_rul",{"_index":4693,"title":{},"content":{"944":{"position":[[349,21],[1065,20],[1481,22]]}},"keywords":{}}],["modifiers.matchspecifi",{"_index":4692,"title":{},"content":{"943":{"position":[[2262,25]]}},"keywords":{}}],["modifierscommand",{"_index":4723,"title":{},"content":{"946":{"position":[[315,16]]}},"keywords":{}}],["modul",{"_index":1433,"title":{},"content":{"171":{"position":[[58,6]]},"298":{"position":[[1121,6]]},"300":{"position":[[101,7]]},"421":{"position":[[339,7]]},"551":{"position":[[58,6]]},"800":{"position":[[339,7]]},"887":{"position":[[42,6],[313,6]]},"888":{"position":[[1320,7],[1351,7]]},"889":{"position":[[228,6],[309,7]]},"890":{"position":[[974,6],[1004,7],[1139,7],[2731,6],[3017,6],[3041,6],[3073,6],[3127,6],[3418,6],[3614,7],[3670,6],[3748,6],[3833,6],[3865,6],[5004,7],[5201,6],[5230,6],[5445,7],[6063,7],[6194,7],[6919,8]]},"898":{"position":[[394,7],[464,6],[524,7],[987,7],[1006,7],[1093,6]]},"955":{"position":[[118,7]]},"1056":{"position":[[819,6],[1062,6]]},"1202":{"position":[[99,6],[123,6],[1165,7],[1190,6],[1288,6],[1356,6]]},"1380":{"position":[[472,7]]},"1385":{"position":[[1920,7],[1946,6]]},"1387":{"position":[[4271,7],[4297,6]]},"1393":{"position":[[6333,6],[7618,6],[7649,7],[9609,6]]},"1395":{"position":[[2507,7],[2545,6],[2593,6],[2614,6],[3235,6],[3427,6]]},"1398":{"position":[[4564,6],[4595,7]]},"1414":{"position":[[649,8]]},"1416":{"position":[[2437,7],[2964,6]]},"1420":{"position":[[2119,7]]},"1439":{"position":[[4541,7]]},"1443":{"position":[[1723,6]]},"1462":{"position":[[5515,6],[5889,7],[7458,6],[7528,6],[7603,6],[7881,6],[7968,6],[9100,7]]},"1467":{"position":[[8426,6],[8531,6],[8604,6],[8684,6],[8941,6],[9028,6]]},"1471":{"position":[[4133,6],[5141,6]]},"1472":{"position":[[4717,6],[6027,6]]},"1473":{"position":[[4454,6],[5591,6]]}},"keywords":{}}],["modular",{"_index":4487,"title":{},"content":{"919":{"position":[[672,11],[723,10]]},"1362":{"position":[[3145,8]]},"1364":{"position":[[3110,8]]},"1367":{"position":[[4392,8]]}},"keywords":{}}],["module"",{"_index":8431,"title":{},"content":{"1471":{"position":[[4387,13]]},"1472":{"position":[[4971,13]]},"1473":{"position":[[4708,13]]}},"keywords":{}}],["module.executor",{"_index":4290,"title":{},"content":{"894":{"position":[[486,15]]}},"keywords":{}}],["module_dep",{"_index":7822,"title":{},"content":{"1414":{"position":[[621,12]]}},"keywords":{}}],["module_manifest_skeleton",{"_index":6445,"title":{},"content":{"1350":{"position":[[2334,25]]},"1352":{"position":[[2333,25]]}},"keywords":{}}],["module_map",{"_index":6859,"title":{},"content":{"1363":{"position":[[2124,11]]}},"keywords":{}}],["module_nam",{"_index":6747,"title":{},"content":{"1362":{"position":[[3164,12]]},"1364":{"position":[[3129,12]]},"1367":{"position":[[4411,12]]},"1384":{"position":[[2884,12]]},"1387":{"position":[[2851,12]]},"1480":{"position":[[683,12]]}},"keywords":{}}],["module_requires_cxx",{"_index":6748,"title":{},"content":{"1362":{"position":[[3193,20]]},"1364":{"position":[[3158,20]]},"1367":{"position":[[4440,20]]}},"keywords":{}}],["modules.exclude_deps_from_merged_link",{"_index":8351,"title":{},"content":{"1465":{"position":[[2661,41]]}},"keywords":{}}],["modules.exported_compiler_flag",{"_index":7877,"title":{},"content":{"1421":{"position":[[1978,32]]}},"keywords":{}}],["modules.src",{"_index":8089,"title":{},"content":{"1444":{"position":[[1861,13]]}},"keywords":{}}],["modulesambigu",{"_index":7508,"title":{},"content":{"1393":{"position":[[9669,16]]}},"keywords":{}}],["momc",{"_index":6997,"title":{},"content":{"1368":{"position":[[998,5]]}},"keywords":{}}],["moment",{"_index":4441,"title":{},"content":{"907":{"position":[[439,7]]},"1007":{"position":[[215,7]]},"1244":{"position":[[131,6]]},"1397":{"position":[[2004,6]]}},"keywords":{}}],["monad",{"_index":725,"title":{},"content":{"23":{"position":[[1348,8]]}},"keywords":{}}],["monorepo",{"_index":628,"title":{},"content":{"22":{"position":[[26,9],[221,9]]},"696":{"position":[[150,8]]},"937":{"position":[[929,8]]}},"keywords":{}}],["monorepo—rath",{"_index":3612,"title":{},"content":{"696":{"position":[[85,15]]}},"keywords":{}}],["monthli",{"_index":445,"title":{},"content":{"15":{"position":[[105,7]]}},"keywords":{}}],["more",{"_index":174,"title":{"19":{"position":[[9,5]]},"1017":{"position":[[44,5]]},"1130":{"position":[[17,4]]},"1256":{"position":[[13,4]]}},"content":{"9":{"position":[[183,4],[827,4],[2154,4]]},"10":{"position":[[138,4]]},"11":{"position":[[669,4]]},"19":{"position":[[120,4]]},"20":{"position":[[642,4]]},"22":{"position":[[163,5],[1018,5],[2164,4]]},"23":{"position":[[1934,4],[3043,5]]},"81":{"position":[[399,4]]},"94":{"position":[[3384,4]]},"213":{"position":[[399,4]]},"226":{"position":[[3384,4]]},"276":{"position":[[855,4]]},"281":{"position":[[977,4]]},"304":{"position":[[315,4]]},"346":{"position":[[480,4]]},"477":{"position":[[389,4]]},"584":{"position":[[742,4]]},"659":{"position":[[51,4]]},"661":{"position":[[49,4]]},"663":{"position":[[1211,4]]},"676":{"position":[[153,4],[298,4],[389,4]]},"680":{"position":[[190,5],[530,4],[623,4]]},"683":{"position":[[312,4]]},"693":{"position":[[209,4],[959,4],[2178,4],[4172,4],[6619,4],[9173,4],[10323,4]]},"695":{"position":[[34,4],[149,4]]},"705":{"position":[[625,4]]},"706":{"position":[[375,4]]},"710":{"position":[[121,4]]},"711":{"position":[[687,4],[1699,4]]},"715":{"position":[[295,4]]},"726":{"position":[[4,4]]},"846":{"position":[[347,4],[575,4]]},"864":{"position":[[881,4]]},"869":{"position":[[839,4]]},"870":{"position":[[1209,4]]},"886":{"position":[[435,4]]},"890":{"position":[[3989,4]]},"901":{"position":[[1165,4]]},"919":{"position":[[2387,4]]},"924":{"position":[[486,4]]},"951":{"position":[[700,4]]},"961":{"position":[[325,4]]},"972":{"position":[[23,4]]},"973":{"position":[[215,4]]},"988":{"position":[[661,4]]},"1016":{"position":[[162,4]]},"1022":{"position":[[407,4]]},"1040":{"position":[[820,4]]},"1044":{"position":[[908,4]]},"1045":{"position":[[78,4]]},"1057":{"position":[[1398,4]]},"1067":{"position":[[661,4]]},"1069":{"position":[[299,4]]},"1071":{"position":[[467,4]]},"1084":{"position":[[74,4]]},"1088":{"position":[[625,4]]},"1093":{"position":[[419,4]]},"1104":{"position":[[1220,4]]},"1105":{"position":[[2173,4]]},"1120":{"position":[[838,4]]},"1126":{"position":[[643,4]]},"1131":{"position":[[649,4]]},"1136":{"position":[[268,4],[2049,4],[6175,4],[6203,4],[6235,4]]},"1138":{"position":[[4350,5],[5067,4],[9837,4],[9865,4],[9897,4]]},"1140":{"position":[[3839,5],[4556,4],[8763,4],[8791,4],[8823,4]]},"1142":{"position":[[4207,4],[4235,4],[4267,4]]},"1144":{"position":[[535,4],[563,4],[595,4]]},"1146":{"position":[[4147,4],[4175,4],[4207,4]]},"1148":{"position":[[801,4],[2405,4],[7738,4],[7766,4],[7798,4]]},"1150":{"position":[[770,4],[798,4],[830,4]]},"1152":{"position":[[468,4],[496,4],[528,4]]},"1154":{"position":[[623,4],[651,4],[683,4]]},"1155":{"position":[[4243,4],[4271,4],[4303,4]]},"1156":{"position":[[3821,4],[3849,4],[3881,4]]},"1157":{"position":[[406,4],[434,4],[466,4]]},"1158":{"position":[[400,4],[428,4],[460,4]]},"1159":{"position":[[400,4],[428,4],[460,4]]},"1161":{"position":[[1395,4],[1423,4],[1455,4]]},"1163":{"position":[[781,4],[809,4],[841,4]]},"1165":{"position":[[610,4],[638,4],[670,4]]},"1167":{"position":[[4843,5],[5560,4],[9767,4],[9795,4],[9827,4]]},"1169":{"position":[[2875,4],[2903,4],[2935,4]]},"1171":{"position":[[1116,4],[1144,4],[1176,4]]},"1172":{"position":[[2501,4],[2529,4],[2561,4]]},"1173":{"position":[[1188,4],[1216,4],[1248,4]]},"1174":{"position":[[616,4],[644,4],[676,4]]},"1175":{"position":[[612,4],[640,4],[672,4]]},"1176":{"position":[[781,4],[809,4],[841,4]]},"1177":{"position":[[702,4],[730,4],[762,4]]},"1178":{"position":[[1019,4],[1047,4],[1079,4]]},"1179":{"position":[[816,4],[844,4],[876,4]]},"1180":{"position":[[1087,4],[1115,4],[1147,4]]},"1181":{"position":[[1607,4],[1635,4],[1667,4]]},"1182":{"position":[[650,4],[678,4],[710,4]]},"1183":{"position":[[605,4],[633,4],[665,4]]},"1185":{"position":[[450,4],[478,4],[510,4]]},"1186":{"position":[[5411,4],[5439,4],[5471,4]]},"1187":{"position":[[5424,4],[5452,4],[5484,4]]},"1188":{"position":[[3892,5],[4609,4],[10150,4],[10178,4],[10210,4]]},"1190":{"position":[[1781,4],[1809,4],[1841,4]]},"1191":{"position":[[4011,4],[4039,4],[4071,4]]},"1192":{"position":[[4186,4],[4214,4],[4246,4]]},"1193":{"position":[[4238,4],[4266,4],[4298,4]]},"1194":{"position":[[3878,4],[3906,4],[3938,4]]},"1195":{"position":[[3856,4],[3884,4],[3916,4]]},"1196":{"position":[[3666,4],[3694,4],[3726,4]]},"1197":{"position":[[4649,4],[4677,4],[4709,4]]},"1198":{"position":[[4659,4],[4687,4],[4719,4]]},"1199":{"position":[[4687,4],[4715,4],[4747,4]]},"1200":{"position":[[4554,4],[4582,4],[4614,4]]},"1201":{"position":[[3814,4],[3842,4],[3874,4]]},"1202":{"position":[[558,4],[586,4],[618,4],[4956,4],[4984,4],[5016,4],[9353,4],[9381,4],[9413,4]]},"1203":{"position":[[4048,4],[4076,4],[4108,4]]},"1204":{"position":[[3892,4],[3920,4],[3952,4],[4794,4],[4822,4],[4854,4],[5724,4],[5752,4],[5784,4],[6626,4],[6654,4],[6686,4],[7612,4],[7640,4],[7672,4],[8566,4],[8594,4],[8626,4],[9513,4],[9541,4],[9573,4],[10443,4],[10471,4],[10503,4]]},"1205":{"position":[[5221,4],[5249,4],[5281,4]]},"1206":{"position":[[3920,4],[3948,4],[3980,4]]},"1207":{"position":[[3849,4],[3877,4],[3909,4]]},"1209":{"position":[[1282,4],[5197,4],[5225,4],[5257,4]]},"1211":{"position":[[521,4],[549,4],[581,4]]},"1213":{"position":[[292,4],[320,4],[352,4]]},"1215":{"position":[[376,4],[404,4],[436,4]]},"1217":{"position":[[3584,5],[4301,4],[8508,4],[8536,4],[8568,4]]},"1219":{"position":[[3763,4],[3791,4],[3823,4]]},"1221":{"position":[[495,4],[523,4],[555,4]]},"1222":{"position":[[3634,4],[3662,4],[3694,4]]},"1223":{"position":[[3644,4],[3672,4],[3704,4]]},"1224":{"position":[[3077,4],[3105,4],[3137,4]]},"1226":{"position":[[8976,4],[9004,4],[9036,4]]},"1228":{"position":[[5665,5],[6382,4],[10589,4],[10617,4],[10649,4]]},"1231":{"position":[[590,4]]},"1235":{"position":[[347,4],[594,4],[2542,4],[6457,4],[6485,4],[6517,4]]},"1237":{"position":[[9146,4],[9174,4],[9206,4]]},"1247":{"position":[[371,6]]},"1249":{"position":[[19,4]]},"1250":{"position":[[147,4]]},"1253":{"position":[[398,4],[624,4]]},"1254":{"position":[[2,4]]},"1262":{"position":[[807,4]]},"1293":{"position":[[807,4]]},"1321":{"position":[[807,4]]},"1355":{"position":[[7282,4]]},"1362":{"position":[[5329,4],[8817,4],[11554,4],[12469,4],[12844,4],[13736,4]]},"1363":{"position":[[5068,4]]},"1364":{"position":[[5358,4],[9428,4],[9931,4],[12521,4],[12974,4],[13544,4],[14436,4]]},"1367":{"position":[[8905,4],[9984,4],[11924,4],[12377,4],[12752,4]]},"1370":{"position":[[2498,4]]},"1373":{"position":[[5140,4],[6576,4],[7411,4]]},"1381":{"position":[[2488,4]]},"1382":{"position":[[5587,4],[6210,4],[8423,4],[8895,4],[9732,4],[10185,4],[11206,4]]},"1384":{"position":[[6781,4],[7755,4],[8283,4],[9386,4],[10534,4],[11157,4],[14768,4],[15240,4],[16077,4],[16530,4],[18860,4]]},"1385":{"position":[[3501,4],[4123,4],[4653,4],[5124,4],[5959,4],[6411,4],[6784,4]]},"1387":{"position":[[5834,4],[6456,4],[8026,4],[8497,4],[9332,4],[9784,4],[10157,4]]},"1388":{"position":[[7079,4],[9699,4]]},"1393":{"position":[[5627,4]]},"1395":{"position":[[771,4],[3109,4]]},"1397":{"position":[[750,4]]},"1399":{"position":[[1834,4],[2341,4],[2579,4]]},"1405":{"position":[[3923,4]]},"1407":{"position":[[4542,4]]},"1408":{"position":[[2859,4]]},"1410":{"position":[[5724,4]]},"1415":{"position":[[4535,4]]},"1416":{"position":[[3419,4]]},"1420":{"position":[[2556,4]]},"1427":{"position":[[6481,4]]},"1442":{"position":[[2579,4]]},"1446":{"position":[[724,4]]},"1448":{"position":[[2502,4],[2789,4]]},"1449":{"position":[[2436,4],[2723,4]]},"1454":{"position":[[5485,4],[6155,4],[6682,4],[7174,4],[7438,4],[8194,4],[8506,4],[8830,4]]},"1455":{"position":[[2926,4]]},"1457":{"position":[[1898,4]]},"1461":{"position":[[3820,4]]},"1462":{"position":[[7411,4]]},"1467":{"position":[[8380,4]]},"1471":{"position":[[5713,4]]},"1472":{"position":[[6599,4]]},"1473":{"position":[[5884,4]]},"1485":{"position":[[1869,4],[2491,4],[3159,4],[4070,4]]},"1486":{"position":[[2840,4]]}},"keywords":{}}],["morebuild",{"_index":3025,"title":{},"content":{"622":{"position":[[77,9]]}},"keywords":{}}],["most/al",{"_index":3945,"title":{},"content":{"856":{"position":[[627,8],[829,8]]}},"keywords":{}}],["mostli",{"_index":803,"title":{},"content":{"24":{"position":[[1109,6]]},"67":{"position":[[234,6]]},"455":{"position":[[234,6]]},"869":{"position":[[813,6]]},"889":{"position":[[1056,6]]},"1057":{"position":[[1008,6]]}},"keywords":{}}],["motiv",{"_index":3613,"title":{},"content":{"696":{"position":[[166,9]]}},"keywords":{}}],["move",{"_index":369,"title":{"891":{"position":[[2,6]]}},"content":{"11":{"position":[[379,7]]},"567":{"position":[[150,6]]},"887":{"position":[[324,5]]},"888":{"position":[[1362,5]]},"889":{"position":[[181,4]]},"892":{"position":[[456,5],[1427,4]]},"955":{"position":[[1256,5]]},"958":{"position":[[317,4]]},"965":{"position":[[499,4]]},"1104":{"position":[[2181,4]]}},"keywords":{}}],["move<'v>(from",{"_index":4179,"title":{},"content":{"889":{"position":[[257,20]]}},"keywords":{}}],["msvc",{"_index":4639,"title":{},"content":{"939":{"position":[[1218,4]]},"940":{"position":[[1180,4]]},"943":{"position":[[1526,5]]},"1050":{"position":[[310,5]]}},"keywords":{}}],["much",{"_index":306,"title":{},"content":{"9":{"position":[[2829,4]]},"10":{"position":[[133,4],[736,4]]},"11":{"position":[[664,4]]},"23":{"position":[[785,4]]},"675":{"position":[[815,4]]},"832":{"position":[[832,4]]},"900":{"position":[[1552,4]]},"919":{"position":[[2848,4]]},"961":{"position":[[320,4]]},"966":{"position":[[499,4]]},"1058":{"position":[[392,4]]},"1093":{"position":[[35,4]]},"1138":{"position":[[5007,4]]},"1140":{"position":[[4496,4]]},"1167":{"position":[[5500,4]]},"1188":{"position":[[4549,4]]},"1217":{"position":[[4241,4]]},"1228":{"position":[[6322,4]]},"1235":{"position":[[284,4],[342,4]]},"1351":{"position":[[937,4],[5286,4]]}},"keywords":{}}],["multi",{"_index":636,"title":{},"content":{"22":{"position":[[253,5]]},"23":{"position":[[3214,5]]},"937":{"position":[[1309,5],[3311,5]]},"1136":{"position":[[939,5]]},"1148":{"position":[[1295,5]]},"1167":{"position":[[994,6]]},"1209":{"position":[[172,5]]},"1235":{"position":[[1432,5]]}},"keywords":{}}],["multi_toolchain",{"_index":7567,"title":{},"content":{"1397":{"position":[[490,16]]}},"keywords":{}}],["multipl",{"_index":326,"title":{"686":{"position":[[0,8]]},"696":{"position":[[0,8]]},"1243":{"position":[[4,8]]}},"content":{"10":{"position":[[470,8]]},"18":{"position":[[350,8]]},"345":{"position":[[405,8]]},"693":{"position":[[2225,8],[3175,8],[3657,8]]},"696":{"position":[[27,8],[111,8]]},"711":{"position":[[859,8],[1164,8]]},"835":{"position":[[198,8]]},"837":{"position":[[109,8]]},"840":{"position":[[135,8]]},"848":{"position":[[355,8]]},"876":{"position":[[241,8]]},"898":{"position":[[616,8],[902,8]]},"905":{"position":[[410,8],[692,8]]},"937":{"position":[[38,8],[1395,8]]},"942":{"position":[[1021,8],[1043,8]]},"951":{"position":[[986,8]]},"961":{"position":[[10,8],[100,8],[135,8],[182,8]]},"1011":{"position":[[554,8]]},"1013":{"position":[[250,8]]},"1018":{"position":[[44,8],[136,8]]},"1022":{"position":[[270,8]]},"1027":{"position":[[102,8]]},"1049":{"position":[[141,8]]},"1138":{"position":[[4743,8]]},"1140":{"position":[[4232,8]]},"1148":{"position":[[263,8]]},"1167":{"position":[[5236,8]]},"1188":{"position":[[4285,8]]},"1217":{"position":[[3977,8]]},"1226":{"position":[[4045,8]]},"1228":{"position":[[6058,8]]},"1237":{"position":[[4215,8]]},"1273":{"position":[[452,8]]},"1304":{"position":[[452,8]]},"1332":{"position":[[452,8]]},"1360":{"position":[[4932,8]]},"1370":{"position":[[688,8],[1698,8]]},"1383":{"position":[[7040,8]]},"1387":{"position":[[6848,8]]},"1397":{"position":[[2142,8]]},"1398":{"position":[[1213,8],[1312,8]]},"1403":{"position":[[4920,8]]},"1454":{"position":[[10084,8],[10104,8]]},"1462":{"position":[[5696,8]]},"1467":{"position":[[6192,8]]},"1471":{"position":[[4633,8]]},"1472":{"position":[[3584,8],[5217,8]]},"1473":{"position":[[4954,8]]},"1486":{"position":[[2755,8]]},"1487":{"position":[[1839,8],[2787,8],[2891,8]]}},"keywords":{}}],["murmur",{"_index":6060,"title":{},"content":{"1226":{"position":[[1923,6]]},"1237":{"position":[[2093,6]]}},"keywords":{}}],["mutabl",{"_index":2138,"title":{},"content":{"405":{"position":[[973,7]]},"784":{"position":[[973,7]]},"890":{"position":[[6393,7],[6805,8],[6861,8],[6954,7]]},"898":{"position":[[1642,7],[1712,7],[1825,7],[2334,7],[2653,7]]}},"keywords":{}}],["mutable(box<dyn",{"_index":4348,"title":{},"content":{"898":{"position":[[2344,18]]}},"keywords":{}}],["mutable(rc<refcell<mutable>>",{"_index":4347,"title":{},"content":{"898":{"position":[[2284,42]]}},"keywords":{}}],["mutat",{"_index":948,"title":{"836":{"position":[[6,6]]}},"content":{"65":{"position":[[194,7]]},"453":{"position":[[194,7]]},"890":{"position":[[692,6],[838,6],[1079,6],[4635,6]]},"898":{"position":[[1077,8],[1391,7],[1579,6],[2017,8]]},"1031":{"position":[[410,6]]},"1254":{"position":[[567,7]]}},"keywords":{}}],["mutation).vec",{"_index":4229,"title":{},"content":{"890":{"position":[[2865,13]]}},"keywords":{}}],["mutual",{"_index":8329,"title":{},"content":{"1462":{"position":[[7679,8]]}},"keywords":{}}],["mvn",{"_index":7937,"title":{},"content":{"1423":{"position":[[3795,3]]},"1469":{"position":[[2191,3],[2217,3],[2750,3],[3165,3],[3500,3]]}},"keywords":{}}],["mvn:com.google.guava:guava:jar:23.0",{"_index":7940,"title":{},"content":{"1423":{"position":[[3878,38]]}},"keywords":{}}],["mvn:https://maven",{"_index":8391,"title":{},"content":{"1469":{"position":[[3312,18]]}},"keywords":{}}],["mvn:org.codehaus.groovy:groovi",{"_index":8395,"title":{},"content":{"1469":{"position":[[3638,31]]}},"keywords":{}}],["mvn:org.eclipse.jetty.aggregate:jetti",{"_index":8388,"title":{},"content":{"1469":{"position":[[3000,38]]}},"keywords":{}}],["my_anon_rul",{"_index":5165,"title":{},"content":{"1042":{"position":[[63,12],[123,12]]},"1044":{"position":[[1011,12],[2806,12]]}},"keywords":{}}],["my_anon_rule1",{"_index":5172,"title":{},"content":{"1043":{"position":[[234,13]]},"1044":{"position":[[1548,13]]}},"keywords":{}}],["my_anon_rule2",{"_index":5173,"title":{},"content":{"1043":{"position":[[325,13],[555,15]]},"1044":{"position":[[1690,13],[1917,15]]}},"keywords":{}}],["my_app:other_test_suit",{"_index":7633,"title":{},"content":{"1398":{"position":[[6331,25],[6383,25],[6606,25],[6714,25]]}},"keywords":{}}],["my_app:test_suit",{"_index":7631,"title":{},"content":{"1398":{"position":[[6243,19]]}},"keywords":{}}],["my_attr",{"_index":1698,"title":{},"content":{"306":{"position":[[312,8]]},"712":{"position":[[1169,8]]}},"keywords":{}}],["my_attrs).promise.map(my_funct",{"_index":3767,"title":{},"content":{"712":{"position":[[2504,34]]}},"keywords":{}}],["my_attrs1).promis",{"_index":3723,"title":{},"content":{"711":{"position":[[1511,18]]}},"keywords":{}}],["my_attrs2).promise.map(my_map_funct",{"_index":3726,"title":{},"content":{"711":{"position":[[1576,39]]}},"keywords":{}}],["my_bool_arg",{"_index":3911,"title":{},"content":{"850":{"position":[[822,11]]}},"keywords":{}}],["my_bxl(ctx",{"_index":4730,"title":{},"content":{"950":{"position":[[907,12]]}},"keywords":{}}],["my_configured_nod",{"_index":3942,"title":{},"content":{"856":{"position":[[520,18]]}},"keywords":{}}],["my_configured_node.attrs_eag",{"_index":3946,"title":{},"content":{"856":{"position":[[650,32]]}},"keywords":{}}],["my_configured_node.attrs_lazi",{"_index":3947,"title":{},"content":{"856":{"position":[[752,31]]}},"keywords":{}}],["my_configured_node.resolved_attrs_eager(ctx",{"_index":3949,"title":{},"content":{"856":{"position":[[870,44]]}},"keywords":{}}],["my_configured_node.resolved_attrs_lazy(ctx",{"_index":3951,"title":{},"content":{"856":{"position":[[1002,43]]}},"keywords":{}}],["my_def",{"_index":4117,"title":{},"content":{"878":{"position":[[1472,12]]}},"keywords":{}}],["my_deferred(ctx",{"_index":4107,"title":{},"content":{"878":{"position":[[699,16]]}},"keywords":{}}],["my_dep",{"_index":5664,"title":{},"content":{"1104":{"position":[[1935,7]]}},"keywords":{}}],["my_dep[groovylibraryinfo]which",{"_index":2300,"title":{},"content":{"427":{"position":[[507,30]]},"806":{"position":[[507,30]]}},"keywords":{}}],["my_depend",{"_index":3445,"title":{},"content":{"688":{"position":[[1071,14],[1165,14]]}},"keywords":{}}],["my_exec_dep",{"_index":1651,"title":{},"content":{"298":{"position":[[2491,11],[2655,14]]},"851":{"position":[[1817,11],[1981,14]]}},"keywords":{}}],["my_file.json",{"_index":4001,"title":{},"content":{"865":{"position":[[501,12]]}},"keywords":{}}],["my_filt",{"_index":4783,"title":{},"content":{"962":{"position":[[325,10]]}},"keywords":{}}],["my_func1",{"_index":4773,"title":{},"content":{"961":{"position":[[496,9]]},"966":{"position":[[338,9]]}},"keywords":{}}],["my_func1(ctx",{"_index":4810,"title":{},"content":{"966":{"position":[[400,14]]}},"keywords":{}}],["my_func2",{"_index":4812,"title":{},"content":{"966":{"position":[[555,9]]}},"keywords":{}}],["my_func2(ctx",{"_index":4813,"title":{},"content":{"966":{"position":[[571,14]]}},"keywords":{}}],["my_function(provid",{"_index":3752,"title":{},"content":{"712":{"position":[[1492,23]]}},"keywords":{}}],["my_info",{"_index":5676,"title":{},"content":{"1104":{"position":[[2550,7]]}},"keywords":{}}],["my_int",{"_index":5209,"title":{},"content":{"1044":{"position":[[3192,6]]}},"keywords":{}}],["my_label.configured_target",{"_index":1672,"title":{},"content":{"301":{"position":[[1085,30]]}},"keywords":{}}],["my_lib",{"_index":8245,"title":{},"content":{"1459":{"position":[[2439,9]]}},"keywords":{}}],["my_librari",{"_index":6576,"title":{},"content":{"1355":{"position":[[7920,13]]}},"keywords":{}}],["my_link",{"_index":5674,"title":{},"content":{"1104":{"position":[[2469,8],[2586,9]]}},"keywords":{}}],["my_list",{"_index":4337,"title":{},"content":{"898":{"position":[[1501,7]]}},"keywords":{}}],["my_list(x",{"_index":4335,"title":{},"content":{"898":{"position":[[1263,11]]}},"keywords":{}}],["my_list_attribut",{"_index":5050,"title":{},"content":{"1009":{"position":[[842,17]]}},"keywords":{}}],["my_list_of_label",{"_index":5215,"title":{},"content":{"1044":{"position":[[3326,17]]}},"keywords":{}}],["my_mirror_rul",{"_index":3740,"title":{},"content":{"712":{"position":[[476,14]]}},"keywords":{}}],["my_optional_sourc",{"_index":5213,"title":{},"content":{"1044":{"position":[[3276,18]]}},"keywords":{}}],["my_output",{"_index":1080,"title":{},"content":{"89":{"position":[[291,9],[740,9]]},"221":{"position":[[291,9],[740,9]]}},"keywords":{}}],["my_output.as_output",{"_index":1086,"title":{},"content":{"89":{"position":[[429,23]]},"221":{"position":[[429,23]]}},"keywords":{}}],["my_provid",{"_index":3926,"title":{},"content":{"852":{"position":[[104,12]]}},"keywords":{}}],["my_resourc",{"_index":5345,"title":{},"content":{"1054":{"position":[[1309,12]]}},"keywords":{}}],["my_rul",{"_index":5048,"title":{},"content":{"1009":{"position":[[800,7],[828,8]]},"1046":{"position":[[34,7],[277,8],[408,9]]}},"keywords":{}}],["my_script",{"_index":3987,"title":{},"content":{"864":{"position":[[516,9],[1316,9]]}},"keywords":{}}],["my_script.bxl",{"_index":3743,"title":{},"content":{"712":{"position":[[752,13],[831,13]]}},"keywords":{}}],["my_script.pi",{"_index":5301,"title":{},"content":{"1050":{"position":[[2901,12],[3004,12],[3050,12]]}},"keywords":{}}],["my_sourc",{"_index":1084,"title":{},"content":{"89":{"position":[[402,10]]},"221":{"position":[[402,10]]}},"keywords":{}}],["my_string_with_default",{"_index":5211,"title":{},"content":{"1044":{"position":[[3218,22]]}},"keywords":{}}],["my_struct.my_attr",{"_index":3955,"title":{},"content":{"857":{"position":[[158,18]]}},"keywords":{}}],["my_target",{"_index":1343,"title":{},"content":{"126":{"position":[[289,11],[310,11]]},"249":{"position":[[289,11],[310,11]]}},"keywords":{}}],["myapp.app",{"_index":6894,"title":{},"content":{"1363":{"position":[[5716,9]]}},"keywords":{}}],["myassetcatalog",{"_index":6684,"title":{},"content":{"1361":{"position":[[2385,17]]}},"keywords":{}}],["mybinari",{"_index":6821,"title":{},"content":{"1362":{"position":[[13786,11]]},"1363":{"position":[[6951,12]]}},"keywords":{}}],["myclass",{"_index":5824,"title":{},"content":{"1130":{"position":[[186,7],[254,12]]}},"keywords":{}}],["mycoredatamodel",{"_index":7115,"title":{},"content":{"1380":{"position":[[1762,18]]}},"keywords":{}}],["mycoredatamodel.xcdatamodeld",{"_index":7116,"title":{},"content":{"1380":{"position":[[1788,31]]}},"keywords":{}}],["myenum",{"_index":3116,"title":{},"content":{"638":{"position":[[99,6],[215,6],[314,6],[908,6],[1043,7]]},"902":{"position":[[77,6],[193,6],[303,6],[895,6],[1028,7]]}},"keywords":{}}],["myenum("option2"",{"_index":3123,"title":{},"content":{"638":{"position":[[400,28],[635,29],[972,27]]},"902":{"position":[[389,28],[624,29],[958,27]]}},"keywords":{}}],["myenum.given",{"_index":3127,"title":{},"content":{"638":{"position":[[584,12]]},"902":{"position":[[573,12]]}},"keywords":{}}],["myenum.valu",{"_index":3132,"title":{},"content":{"638":{"position":[[819,15]]}},"keywords":{}}],["myenum[1",{"_index":3135,"title":{},"content":{"638":{"position":[[959,9]]}},"keywords":{}}],["myheader.h",{"_index":6825,"title":{},"content":{"1362":{"position":[[13903,13]]},"1364":{"position":[[14611,13]]}},"keywords":{}}],["mykind",{"_index":4900,"title":{},"content":{"989":{"position":[[64,8]]},"990":{"position":[[621,6],[1160,8]]}},"keywords":{}}],["mykind]in",{"_index":4908,"title":{},"content":{"990":{"position":[[955,10]]}},"keywords":{}}],["mylib",{"_index":6487,"title":{},"content":{"1351":{"position":[[4237,8],[4479,9],[5795,9]]},"1454":{"position":[[9899,8],[10154,8]]}},"keywords":{}}],["mylib.h",{"_index":8188,"title":{},"content":{"1454":{"position":[[10043,10],[10567,10]]}},"keywords":{}}],["mylibrari",{"_index":6822,"title":{},"content":{"1362":{"position":[[13807,13]]},"1364":{"position":[[14487,12]]},"1367":{"position":[[14508,13]]}},"keywords":{}}],["mymacro=\\"buck\\""",{"_index":2716,"title":{},"content":{"584":{"position":[[1611,32]]}},"keywords":{}}],["mymacro=\\"watchman\\""",{"_index":2723,"title":{},"content":{"584":{"position":[[1831,36]]}},"keywords":{}}],["mymodul",{"_index":7248,"title":{},"content":{"1385":{"position":[[7281,11],[7534,12]]},"1387":{"position":[[10660,11],[10866,12],[11010,8]]}},"keywords":{}}],["mymodule.cpp",{"_index":7249,"title":{},"content":{"1385":{"position":[[7327,15]]},"1387":{"position":[[10706,15]]}},"keywords":{}}],["mypluginkind",{"_index":1334,"title":{},"content":{"123":{"position":[[135,12]]},"532":{"position":[[135,12]]}},"keywords":{}}],["myprebuiltframework",{"_index":8142,"title":{},"content":{"1453":{"position":[[1908,22]]}},"keywords":{}}],["myprebuiltframework.framework",{"_index":8143,"title":{},"content":{"1453":{"position":[[1943,32]]}},"keywords":{}}],["myrecord",{"_index":3300,"title":{},"content":{"663":{"position":[[124,8],[201,8],[328,8],[966,8]]},"901":{"position":[[87,8],[164,8],[290,8],[920,8]]}},"keywords":{}}],["myrecord(host="localhost"",{"_index":3304,"title":{},"content":{"663":{"position":[[416,36],[698,36]]},"901":{"position":[[378,36],[654,36]]}},"keywords":{}}],["myrecord(host="localhost").port",{"_index":3314,"title":{},"content":{"663":{"position":[[1097,41]]},"901":{"position":[[1051,41]]}},"keywords":{}}],["myrecord.get",{"_index":4389,"title":{},"content":{"901":{"position":[[599,12]]}},"keywords":{}}],["myrecord.type.get",{"_index":3307,"title":{},"content":{"663":{"position":[[637,17]]}},"keywords":{}}],["myresources.xcasset",{"_index":6685,"title":{},"content":{"1361":{"position":[[2412,23]]}},"keywords":{}}],["myrul",{"_index":2349,"title":{},"content":{"437":{"position":[[507,6]]},"816":{"position":[[507,6]]}},"keywords":{}}],["myscript.bxl:exampl",{"_index":3909,"title":{},"content":{"850":{"position":[[581,22]]}},"keywords":{}}],["myscript.bxl:your_function_nam",{"_index":3857,"title":{},"content":{"840":{"position":[[740,33]]}},"keywords":{}}],["myset",{"_index":5549,"title":{},"content":{"1081":{"position":[[105,5]]},"1082":{"position":[[828,5]]},"1083":{"position":[[664,5]]}},"keywords":{}}],["mysource.m",{"_index":6826,"title":{},"content":{"1362":{"position":[[13929,13]]},"1364":{"position":[[14637,13]]}},"keywords":{}}],["mysource.swift",{"_index":6934,"title":{},"content":{"1364":{"position":[[14651,17]]}},"keywords":{}}],["mysourcefile.groovi",{"_index":7806,"title":{},"content":{"1412":{"position":[[3771,24]]}},"keywords":{}}],["mysteri",{"_index":6510,"title":{},"content":{"1353":{"position":[[2807,10]]}},"keywords":{}}],["mytest",{"_index":6976,"title":{},"content":{"1367":{"position":[[14394,9],[14417,7]]}},"keywords":{}}],["mytest.m",{"_index":6977,"title":{},"content":{"1367":{"position":[[14484,11]]}},"keywords":{}}],["myvalu",{"_index":6891,"title":{},"content":{"1363":{"position":[[5305,11],[5390,8]]},"1367":{"position":[[10221,11],[10306,8]]}},"keywords":{}}],["n",{"_index":2630,"title":{},"content":{"576":{"position":[[238,2]]},"617":{"position":[[272,6]]},"632":{"position":[[239,1]]},"633":{"position":[[96,1],[177,1]]},"673":{"position":[[120,1],[179,1]]},"924":{"position":[[1804,1]]}},"keywords":{}}],["n=0",{"_index":3088,"title":{},"content":{"633":{"position":[[124,3]]}},"keywords":{}}],["nakedfrozenvalu",{"_index":4189,"title":{},"content":{"889":{"position":[[732,17]]}},"keywords":{}}],["name",{"_index":556,"title":{"575":{"position":[[39,6]]},"912":{"position":[[7,6]]},"979":{"position":[[24,6]]},"1046":{"position":[[0,4]]},"1131":{"position":[[27,5]]}},"content":{"18":{"position":[[634,4],[1292,4],[1388,4]]},"22":{"position":[[700,5]]},"29":{"position":[[43,4]]},"36":{"position":[[80,5],[110,4]]},"37":{"position":[[84,5]]},"41":{"position":[[242,5]]},"46":{"position":[[33,4]]},"50":{"position":[[356,4]]},"63":{"position":[[178,4]]},"81":{"position":[[181,5]]},"89":{"position":[[878,5],[927,5],[1086,4]]},"94":{"position":[[2567,4],[3867,4],[3916,4]]},"131":{"position":[[434,4]]},"166":{"position":[[176,6]]},"170":{"position":[[39,4]]},"174":{"position":[[242,5]]},"181":{"position":[[80,5],[110,4]]},"182":{"position":[[84,5]]},"185":{"position":[[43,4]]},"193":{"position":[[33,4]]},"197":{"position":[[356,4]]},"213":{"position":[[181,5]]},"221":{"position":[[878,5],[927,5],[1086,4]]},"226":{"position":[[2567,4],[3867,4],[3916,4]]},"242":{"position":[[495,4]]},"254":{"position":[[434,4]]},"276":{"position":[[142,6]]},"281":{"position":[[176,6]]},"284":{"position":[[80,5],[119,4]]},"291":{"position":[[33,4]]},"298":{"position":[[1438,5]]},"330":{"position":[[349,5]]},"368":{"position":[[1615,4],[1622,5],[1646,5],[1663,4],[1706,4],[2465,5]]},"377":{"position":[[1353,4]]},"389":{"position":[[1392,5],[1509,5]]},"397":{"position":[[23,5]]},"400":{"position":[[404,4]]},"408":{"position":[[488,4]]},"414":{"position":[[132,4]]},"415":{"position":[[117,4]]},"418":{"position":[[362,5]]},"421":{"position":[[201,5]]},"425":{"position":[[130,4]]},"427":{"position":[[292,5]]},"438":{"position":[[64,4]]},"463":{"position":[[68,4]]},"471":{"position":[[230,5]]},"480":{"position":[[41,4]]},"483":{"position":[[44,4]]},"492":{"position":[[178,4]]},"548":{"position":[[176,6]]},"550":{"position":[[39,4]]},"560":{"position":[[586,4]]},"570":{"position":[[53,5]]},"573":{"position":[[131,5]]},"575":{"position":[[62,5],[436,6],[518,5],[532,5]]},"580":{"position":[[65,5]]},"581":{"position":[[797,5]]},"583":{"position":[[924,6]]},"587":{"position":[[725,4]]},"595":{"position":[[557,5],[696,4],[887,5]]},"622":{"position":[[45,5],[123,4],[1424,4],[1584,4],[1960,4]]},"637":{"position":[[93,5]]},"645":{"position":[[99,5],[163,5],[169,5]]},"646":{"position":[[96,5],[155,5],[161,5]]},"648":{"position":[[829,5]]},"654":{"position":[[238,5]]},"663":{"position":[[71,5],[235,5],[287,5],[1192,6]]},"666":{"position":[[243,5],[347,5]]},"675":{"position":[[1152,4],[1230,5]]},"693":{"position":[[1340,4],[6663,5],[8210,5],[8963,5]]},"708":{"position":[[91,4],[277,4],[529,4],[755,5],[926,4],[1112,4]]},"717":{"position":[[63,5],[242,5],[564,5],[603,4]]},"747":{"position":[[1615,4],[1622,5],[1646,5],[1663,4],[1706,4],[2465,5]]},"756":{"position":[[1353,4]]},"768":{"position":[[1392,5],[1509,5]]},"776":{"position":[[23,5]]},"779":{"position":[[404,4]]},"787":{"position":[[488,4]]},"793":{"position":[[132,4]]},"794":{"position":[[117,4]]},"797":{"position":[[362,5]]},"800":{"position":[[201,5]]},"804":{"position":[[130,4]]},"806":{"position":[[292,5]]},"817":{"position":[[64,4]]},"848":{"position":[[260,6]]},"850":{"position":[[58,5]]},"851":{"position":[[426,5]]},"864":{"position":[[79,5]]},"867":{"position":[[832,4]]},"877":{"position":[[496,5]]},"878":{"position":[[1064,5]]},"887":{"position":[[301,4]]},"890":{"position":[[1919,5],[2421,4],[3090,6],[4079,4],[4127,5],[4286,4],[4353,4],[4489,6],[4837,5],[5107,6],[5114,6],[5187,5],[5495,6],[5986,5],[6207,5],[6230,6],[6324,5],[6572,6]]},"894":{"position":[[350,4],[476,4]]},"901":{"position":[[34,5],[249,5],[1146,6]]},"917":{"position":[[183,4]]},"927":{"position":[[34,4]]},"941":{"position":[[164,4]]},"943":{"position":[[732,4]]},"944":{"position":[[418,4],[504,4]]},"973":{"position":[[309,8]]},"980":{"position":[[24,4],[216,4],[234,4],[323,4],[508,4],[637,5],[671,6],[735,6],[822,5],[883,5],[999,5],[1162,5],[1391,4],[1546,4]]},"981":{"position":[[64,6],[155,4],[476,5],[529,4],[644,6],[762,5]]},"991":{"position":[[1673,4],[1771,4],[1861,4],[1959,4],[2029,4],[2122,4]]},"993":{"position":[[54,4],[248,4],[311,4]]},"994":{"position":[[64,4],[438,4]]},"995":{"position":[[65,4],[1397,4]]},"1001":{"position":[[81,5],[146,4],[1200,5]]},"1007":{"position":[[277,4]]},"1012":{"position":[[355,4]]},"1024":{"position":[[935,4],[1026,4]]},"1031":{"position":[[826,4]]},"1042":{"position":[[572,5]]},"1044":{"position":[[634,5],[788,5]]},"1045":{"position":[[126,4],[437,4]]},"1046":{"position":[[79,6],[314,6],[481,4]]},"1047":{"position":[[443,5]]},"1048":{"position":[[345,4]]},"1054":{"position":[[65,4]]},"1061":{"position":[[387,4]]},"1064":{"position":[[46,5],[202,4]]},"1065":{"position":[[44,5],[182,4]]},"1072":{"position":[[409,5],[478,4]]},"1096":{"position":[[404,5]]},"1104":{"position":[[1599,4],[1779,4]]},"1112":{"position":[[3187,4],[3192,5],[4168,4]]},"1131":{"position":[[235,6],[378,5],[450,5]]},"1136":{"position":[[1301,6],[1362,4]]},"1138":{"position":[[1724,5]]},"1140":{"position":[[1213,5]]},"1148":{"position":[[1657,6],[1718,4]]},"1167":{"position":[[2217,5]]},"1180":{"position":[[155,5]]},"1188":{"position":[[1266,5]]},"1191":{"position":[[305,4]]},"1202":{"position":[[260,4],[5639,4]]},"1205":{"position":[[781,6],[842,4]]},"1207":{"position":[[213,5]]},"1209":{"position":[[534,6],[595,4]]},"1217":{"position":[[958,5]]},"1226":{"position":[[426,4],[528,4],[2474,6],[2535,4]]},"1228":{"position":[[3039,5]]},"1235":{"position":[[1794,6],[1855,4]]},"1237":{"position":[[596,4],[698,4],[2644,6],[2705,4]]},"1262":{"position":[[281,5],[351,5]]},"1269":{"position":[[83,5]]},"1293":{"position":[[281,5],[351,5]]},"1300":{"position":[[83,5]]},"1321":{"position":[[281,5],[351,5]]},"1328":{"position":[[83,5]]},"1345":{"position":[[1148,4]]},"1348":{"position":[[20,5],[2708,5],[2714,4],[4541,4],[4631,4],[4688,4]]},"1349":{"position":[[31,5],[853,5],[859,4]]},"1350":{"position":[[23,5],[3824,5],[3830,4]]},"1351":{"position":[[29,5],[924,5],[1043,5],[1049,4],[1896,4],[3875,4],[4230,4],[4325,4],[5360,4],[5576,4]]},"1352":{"position":[[23,5],[3823,5],[3829,4]]},"1353":{"position":[[36,5],[1427,5],[1433,4],[3007,4],[3073,4],[3277,5],[3331,4]]},"1354":{"position":[[37,5],[1265,5],[1271,4],[3212,4],[3404,4],[3546,4]]},"1355":{"position":[[24,5],[2403,5],[2409,4],[7842,4],[7913,4]]},"1356":{"position":[[25,5],[771,5],[777,4],[2049,4]]},"1357":{"position":[[25,5],[444,5],[450,4]]},"1358":{"position":[[29,5],[1165,5],[1171,4],[2925,4],[3142,4]]},"1359":{"position":[[25,5],[1002,5],[1008,4],[2333,5],[2400,5],[2430,4]]},"1360":{"position":[[20,5],[1632,5],[1638,4],[3764,5],[3788,5],[4076,5],[5035,4],[5477,5],[5561,5],[5648,6],[5913,5],[5950,4],[6177,4],[6458,4]]},"1361":{"position":[[28,5],[992,5],[998,4],[2378,4],[2513,4]]},"1362":{"position":[[21,5],[5355,5],[5361,4],[6568,4],[6939,5],[6973,5],[8470,4],[8721,4],[9027,5],[9061,5],[11428,4],[11761,4],[12237,4],[13779,4]]},"1363":{"position":[[21,5],[3101,5],[3107,4],[5010,5],[5148,5],[5499,4],[5628,5],[5762,4],[5833,5],[6922,4],[7078,4],[7240,4],[7435,4],[7629,4]]},"1364":{"position":[[22,5],[5384,5],[5390,4],[7178,5],[7212,5],[8383,4],[9584,4],[9835,4],[10141,5],[10175,5],[12395,4],[12742,4],[14480,4]]},"1365":{"position":[[22,5],[926,5],[932,4],[1878,4]]},"1366":{"position":[[23,5],[1131,5],[1137,4],[2251,4],[2387,4],[3074,5],[3128,4],[3293,4]]},"1367":{"position":[[19,5],[6782,5],[6788,4],[8558,4],[8809,4],[9115,5],[9149,5],[9926,5],[10064,5],[11798,4],[12145,4],[14266,4],[14387,4]]},"1368":{"position":[[24,5],[1482,5],[1488,4]]},"1369":{"position":[[28,5],[534,5],[540,4]]},"1370":{"position":[[35,5],[780,5],[786,4],[2041,4],[2089,4]]},"1371":{"position":[[26,5],[410,5],[416,4]]},"1372":{"position":[[23,5],[2048,5],[2054,4]]},"1373":{"position":[[20,5],[2920,5],[2926,4],[4727,5],[4761,4],[5049,4],[5755,4],[6154,5],[6450,4],[6782,4],[7277,4],[8704,4],[8799,4],[8902,4]]},"1374":{"position":[[22,5],[815,5],[821,4],[2963,4],[3045,4],[3089,4],[3247,4],[3316,4],[3408,4],[3508,4],[3629,4],[3713,4],[3789,4],[3867,4]]},"1375":{"position":[[23,5],[446,5],[452,4]]},"1376":{"position":[[28,5],[402,5],[408,4]]},"1377":{"position":[[25,5],[641,5],[647,4]]},"1378":{"position":[[27,5],[388,5],[394,4]]},"1379":{"position":[[25,5],[411,5],[417,4]]},"1380":{"position":[[24,5],[882,5],[888,4],[1755,4]]},"1381":{"position":[[23,5],[788,5],[794,4],[1883,4],[1931,4],[1994,5],[2016,4],[2249,4],[2553,4],[2753,4]]},"1382":{"position":[[19,5],[3267,5],[3273,4],[4912,4],[5797,5],[5831,4],[6119,4],[8297,4],[8647,4],[8746,5],[9102,4],[9598,4],[9953,4],[11758,4],[11858,4]]},"1383":{"position":[[20,5],[1505,5],[1511,4],[5395,4],[7143,4],[7480,5],[7564,5],[7651,6],[7940,4]]},"1384":{"position":[[20,5],[4429,5],[4435,4],[6359,5],[6631,4],[6718,4],[7574,4],[7988,4],[8087,5],[8569,4],[9152,4],[10744,5],[10778,4],[11066,4],[11490,5],[11978,6],[12230,6],[12467,5],[14642,4],[14992,4],[15091,5],[15447,4],[15943,4],[16298,4],[18374,5],[21346,4],[21513,5],[21548,4],[21945,4]]},"1385":{"position":[[26,5],[1953,4],[2007,4],[2107,5],[2113,4],[3710,5],[3744,4],[4032,4],[4527,4],[4876,4],[4975,5],[5330,4],[5825,4],[6179,4],[7274,4],[7484,4]]},"1386":{"position":[[31,5],[745,5],[751,4],[3557,4],[3762,4],[4415,5]]},"1387":{"position":[[29,5],[4304,4],[4358,5],[4376,5],[4382,4],[6043,5],[6077,4],[6365,4],[7900,4],[8249,4],[8348,5],[8703,4],[9198,4],[9552,4],[10653,4],[10817,4]]},"1388":{"position":[[17,5],[3567,5],[3573,4],[5606,4],[6060,5],[6666,5],[6700,4],[6988,4],[10395,4]]},"1389":{"position":[[22,5],[4429,5],[4435,4]]},"1390":{"position":[[17,5],[681,5],[687,4]]},"1391":{"position":[[18,5],[634,5],[640,4]]},"1392":{"position":[[15,5],[784,5],[790,4],[2527,4]]},"1393":{"position":[[19,5],[1355,5],[1361,4],[3480,5],[6340,5],[9573,5],[9616,5],[9889,4],[9962,4],[10176,4],[10293,4],[10648,4]]},"1394":{"position":[[28,5],[804,5],[810,4]]},"1395":{"position":[[23,5],[812,5],[818,4],[3260,4],[3413,4],[3472,4],[3508,5],[3633,4],[3846,4]]},"1396":{"position":[[28,5],[610,5],[616,4],[1712,4]]},"1397":{"position":[[23,5],[791,5],[797,4],[2616,4],[3207,5],[3353,4],[3389,5],[3446,4],[3513,4],[3792,4],[3872,4]]},"1398":{"position":[[20,5],[1422,4],[1462,5],[1468,4],[5372,6],[6846,4]]},"1399":{"position":[[20,5],[646,5],[652,4],[1859,4],[1939,4],[2139,4],[2201,4],[2354,5],[2374,4],[2453,4],[2629,4],[2665,4],[2724,4],[2860,4],[2911,4]]},"1400":{"position":[[29,5],[515,5],[521,4]]},"1401":{"position":[[18,5],[590,5],[596,4],[1778,4],[1844,4]]},"1402":{"position":[[17,5],[746,5],[752,4],[2150,4],[2319,4]]},"1403":{"position":[[16,5],[1335,5],[1341,4],[3179,5],[3203,5],[3491,5],[4484,5],[5192,4],[5399,5],[5528,4],[6580,5],[6664,5],[6751,6],[7040,4],[7624,4],[7912,4],[8347,5],[8547,4],[8707,4],[8999,5]]},"1404":{"position":[[18,5],[579,5],[585,4],[1522,4]]},"1405":{"position":[[18,5],[1270,5],[1276,4],[3478,5]]},"1406":{"position":[[28,5],[486,5],[492,4],[1342,4]]},"1407":{"position":[[28,5],[1311,5],[1317,4],[3899,5],[4612,4],[4790,4],[4998,4],[5225,4]]},"1408":{"position":[[19,5],[1007,5],[1013,4],[2119,4],[2518,5]]},"1409":{"position":[[18,5],[541,5],[547,4]]},"1410":{"position":[[16,5],[1702,5],[1708,4],[4279,4],[4555,6],[4886,5]]},"1411":{"position":[[23,5],[524,5],[530,4]]},"1412":{"position":[[23,5],[1723,5],[1729,4],[3746,4],[3928,4],[4186,4]]},"1413":{"position":[[20,5],[1908,5],[1914,4]]},"1414":{"position":[[19,5],[775,5],[781,4]]},"1415":{"position":[[23,5],[2757,5],[2763,4],[4409,4],[4741,4],[5470,5],[5476,4]]},"1416":{"position":[[23,5],[1409,5],[1415,4],[3265,4],[3567,4]]},"1417":{"position":[[21,5],[998,5],[1004,4]]},"1418":{"position":[[24,5],[699,5],[705,4]]},"1419":{"position":[[20,5],[827,5],[833,4]]},"1420":{"position":[[24,5],[1091,5],[1097,4],[2402,4],[2705,4]]},"1421":{"position":[[33,5],[1066,5],[1072,4],[2211,5],[2432,4]]},"1422":{"position":[[21,5],[968,5],[974,4],[2262,4],[2366,4],[2408,4],[3105,4],[4007,4],[4265,4]]},"1423":{"position":[[18,5],[958,5],[964,4],[1969,4],[2036,4],[2078,4],[2766,4],[2984,4],[3226,4],[3558,4],[3846,4]]},"1424":{"position":[[20,5],[1083,5],[1089,4]]},"1425":{"position":[[34,5],[699,5],[705,4]]},"1426":{"position":[[20,5],[1041,5],[1047,4],[2003,4]]},"1427":{"position":[[21,5],[1938,5],[1944,4],[4750,4],[7157,4],[7520,4],[7694,4],[7987,4]]},"1428":{"position":[[20,5],[681,5],[687,4]]},"1429":{"position":[[18,5],[2602,5],[2608,4],[3923,5]]},"1430":{"position":[[25,5],[1457,5],[1463,4]]},"1431":{"position":[[18,5],[801,5],[807,4]]},"1432":{"position":[[26,5],[1322,5],[1328,4]]},"1433":{"position":[[19,5],[843,5],[849,4]]},"1434":{"position":[[21,5],[517,5],[523,4]]},"1435":{"position":[[26,5],[481,5],[487,4]]},"1436":{"position":[[22,5],[497,5],[503,4]]},"1437":{"position":[[19,5],[567,5],[573,4]]},"1438":{"position":[[17,5],[700,5],[706,4]]},"1439":{"position":[[23,5],[2224,5],[2230,4],[5836,4],[6109,4],[6410,4],[7249,4],[7987,4],[8348,4],[8520,4],[8813,4]]},"1440":{"position":[[20,5],[2790,5],[2796,4],[3916,5]]},"1441":{"position":[[25,5],[523,5],[529,4]]},"1442":{"position":[[26,5],[595,5],[601,4],[1902,4],[3061,4]]},"1443":{"position":[[19,5],[818,5],[824,4],[1809,4],[1893,4]]},"1444":{"position":[[20,5],[734,5],[740,4],[1998,4],[2234,4]]},"1445":{"position":[[23,5],[423,5],[429,4]]},"1446":{"position":[[20,5],[757,5],[763,4],[2043,5],[2594,5]]},"1447":{"position":[[22,5],[639,5],[645,4]]},"1448":{"position":[[21,5],[1074,5],[1080,4],[2348,4]]},"1449":{"position":[[22,5],[1008,5],[1014,4],[2282,4]]},"1450":{"position":[[21,5],[887,5],[893,4]]},"1451":{"position":[[21,5],[887,5],[893,4]]},"1452":{"position":[[17,5],[433,5],[439,4]]},"1453":{"position":[[33,5],[1019,5],[1025,4],[1901,4]]},"1454":{"position":[[29,5],[3385,5],[3391,4],[5063,5],[5335,4],[5422,4],[5974,4],[6387,4],[6486,5],[6940,4],[8110,4],[8422,4],[8742,4],[9750,4],[9892,4],[10147,4]]},"1455":{"position":[[35,5],[1272,5],[1278,4],[2745,4],[3007,5],[3178,5],[3515,7],[3547,7],[4580,4]]},"1456":{"position":[[32,5],[617,5],[623,4],[1552,4],[1614,4]]},"1457":{"position":[[28,5],[676,5],[682,4],[1706,4]]},"1458":{"position":[[21,5],[1211,5],[1217,4],[2495,4],[2662,4]]},"1459":{"position":[[32,5],[690,5],[696,4],[2016,5],[2369,4],[2432,4]]},"1460":{"position":[[31,5],[802,5],[808,4]]},"1461":{"position":[[32,5],[1016,5],[1022,4],[1949,6],[3386,4],[3731,4],[3866,4],[3993,4]]},"1462":{"position":[[22,5],[4398,5],[4404,4],[6987,4],[7072,4],[7105,4],[7535,4],[7610,5],[7941,5],[8194,4],[8980,4],[9067,4]]},"1463":{"position":[[32,5],[524,5],[530,4]]},"1464":{"position":[[33,5],[432,5],[438,4]]},"1465":{"position":[[23,5],[1530,5],[1536,4],[3303,4],[3438,4],[3714,4],[3847,4],[4363,4],[4672,4]]},"1466":{"position":[[36,5],[768,5],[774,4]]},"1467":{"position":[[20,5],[5086,5],[5092,4],[6413,5],[7956,4],[8041,4],[8074,4],[9001,5],[9256,4],[9572,4],[9707,4],[10926,4],[11200,4]]},"1468":{"position":[[27,5],[532,5],[538,4]]},"1469":{"position":[[20,5],[904,5],[910,4],[1765,4],[1832,4],[1874,4],[2532,4],[2811,4],[2923,4],[3235,4],[3553,4]]},"1470":{"position":[[25,5],[3434,5],[3440,4]]},"1471":{"position":[[20,5],[1767,5],[1773,4],[3039,4],[4564,4],[4675,5],[5243,4]]},"1472":{"position":[[21,5],[1726,5],[1732,4],[2758,4],[3515,4],[3626,5],[5148,4],[5259,5],[5690,5],[6129,4]]},"1473":{"position":[[18,5],[2041,5],[2047,4],[3073,4],[4885,4],[4996,5],[5693,4]]},"1474":{"position":[[22,5],[1433,5],[1439,4]]},"1475":{"position":[[19,5],[1904,5],[1910,4]]},"1476":{"position":[[25,5],[509,5],[515,4]]},"1477":{"position":[[18,5],[660,5],[666,4],[2697,4]]},"1478":{"position":[[16,5],[1151,5],[1157,4],[2337,5],[2846,4],[2948,4]]},"1479":{"position":[[33,5],[601,5],[607,4]]},"1480":{"position":[[22,5],[1014,5],[1020,4]]},"1481":{"position":[[24,5],[1547,5],[1553,4]]},"1482":{"position":[[19,5],[621,5],[627,4],[1953,4],[2112,4],[2256,4],[2378,4],[2546,4]]},"1483":{"position":[[24,5],[455,5],[461,4]]},"1484":{"position":[[24,5],[527,5],[533,4]]},"1485":{"position":[[25,5],[787,5],[793,4],[2078,5],[2112,4],[2400,4],[2911,4],[3010,5],[4876,4],[5019,4]]},"1486":{"position":[[20,5],[1031,5],[1037,4],[3174,4],[3262,4],[3323,4],[3417,4],[3511,4]]},"1487":{"position":[[17,5],[725,5],[731,4],[1870,5],[2100,4],[2193,4],[2233,5],[2274,4],[2604,5],[2922,5],[3107,4]]}},"keywords":{}}],["name>",{"_index":3874,"title":{},"content":{"841":{"position":[[191,9]]}},"keywords":{}}],["name"",{"_index":7206,"title":{},"content":{"1384":{"position":[[18271,11]]},"1472":{"position":[[5587,11]]}},"keywords":{}}],["name(cfg",{"_index":4864,"title":{},"content":{"981":{"position":[[200,9]]}},"keywords":{}}],["name)th",{"_index":7180,"title":{},"content":{"1383":{"position":[[4273,8]]}},"keywords":{}}],["name.a",{"_index":4851,"title":{},"content":{"980":{"position":[[439,6]]}},"keywords":{}}],["name.append",{"_index":8609,"title":{},"content":{"1487":{"position":[[1980,12]]}},"keywords":{}}],["name.if",{"_index":8612,"title":{},"content":{"1487":{"position":[[2488,7]]}},"keywords":{}}],["name.os_env",{"_index":7574,"title":{},"content":{"1397":{"position":[[2232,12]]}},"keywords":{}}],["name.shared_lib",{"_index":8204,"title":{},"content":{"1455":{"position":[[3134,17]]}},"keywords":{}}],["name.shared_link",{"_index":8205,"title":{},"content":{"1455":{"position":[[3305,17]]}},"keywords":{}}],["name.vers",{"_index":7578,"title":{},"content":{"1397":{"position":[[2702,13]]}},"keywords":{}}],["name/valu",{"_index":2698,"title":{},"content":{"584":{"position":[[239,10]]}},"keywords":{}}],["name="mi",{"_index":7917,"title":{},"content":{"1422":{"position":[[4397,13]]},"1423":{"position":[[3391,13]]}},"keywords":{}}],["name='bridg",{"_index":8136,"title":{},"content":{"1448":{"position":[[3105,14]]}},"keywords":{}}],["name='greet",{"_index":7425,"title":{},"content":{"1390":{"position":[[2066,13],[2137,16]]},"1391":{"position":[[1859,16]]},"1405":{"position":[[3983,13],[4055,16]]},"1408":{"position":[[2920,16]]},"1410":{"position":[[5785,16],[5857,14],[5946,14],[6082,14]]},"1448":{"position":[[2852,13],[2978,16]]},"1449":{"position":[[2787,16]]},"1457":{"position":[[1968,16]]},"1471":{"position":[[5775,13],[5850,16]]},"1472":{"position":[[6662,16]]},"1473":{"position":[[5944,13],[6019,16]]}},"keywords":{}}],["name='join",{"_index":7429,"title":{},"content":{"1390":{"position":[[2210,12]]},"1391":{"position":[[1932,12]]},"1405":{"position":[[4130,12]]},"1448":{"position":[[3056,12]]},"1471":{"position":[[5927,12]]},"1473":{"position":[[6096,12]]}},"keywords":{}}],["name=valu",{"_index":2544,"title":{},"content":{"560":{"position":[[117,12],[553,10]]}},"keywords":{}}],["named.buckconfig",{"_index":3511,"title":{},"content":{"693":{"position":[[90,17]]}},"keywords":{}}],["named_dep",{"_index":8419,"title":{},"content":{"1471":{"position":[[1409,11],[4510,11],[4694,10]]},"1472":{"position":[[1272,11],[3645,10],[5094,11],[5278,10]]},"1473":{"position":[[1461,11],[4831,11],[5015,10]]}},"keywords":{}}],["named_vari",{"_index":6947,"title":{},"content":{"1366":{"position":[[686,15],[2212,15]]}},"keywords":{}}],["namedhost",{"_index":4388,"title":{},"content":{"901":{"position":[[198,9]]}},"keywords":{}}],["names(rc<refcell<hashmap<str",{"_index":4237,"title":{},"content":{"890":{"position":[[4156,41]]}},"keywords":{}}],["namesf",{"_index":3111,"title":{},"content":{"637":{"position":[[190,6]]}},"keywords":{}}],["namespac",{"_index":7506,"title":{},"content":{"1393":{"position":[[9525,10]]}},"keywords":{}}],["namessrc",{"_index":7745,"title":{},"content":{"1406":{"position":[[1355,10]]}},"keywords":{}}],["name—in",{"_index":2669,"title":{},"content":{"581":{"position":[[563,7]]}},"keywords":{}}],["nan,+inf",{"_index":3204,"title":{},"content":{"648":{"position":[[363,10]]}},"keywords":{}}],["narrow",{"_index":4434,"title":{},"content":{"906":{"position":[[712,8],[984,8]]}},"keywords":{}}],["nativ",{"_index":1434,"title":{"1060":{"position":[[0,6]]}},"content":{"171":{"position":[[112,6]]},"551":{"position":[[112,6]]},"869":{"position":[[257,9]]},"1155":{"position":[[394,6],[440,7]]},"1358":{"position":[[2384,6]]},"1362":{"position":[[4745,6]]},"1373":{"position":[[8620,6]]},"1382":{"position":[[3014,6],[3150,6],[11644,6]]},"1384":{"position":[[19587,6],[19662,6]]},"1390":{"position":[[593,6],[1988,6]]},"1401":{"position":[[1631,8]]},"1405":{"position":[[1110,6]]},"1408":{"position":[[921,6]]},"1410":{"position":[[1564,6]]},"1416":{"position":[[2448,6]]},"1420":{"position":[[2130,6]]},"1446":{"position":[[1976,6],[2532,6]]},"1448":{"position":[[962,6]]},"1449":{"position":[[902,6]]},"1454":{"position":[[3261,6],[9570,6]]},"1455":{"position":[[1146,6]]},"1457":{"position":[[624,6]]},"1459":{"position":[[630,6],[1675,6],[1752,6],[1949,6]]},"1461":{"position":[[2332,6],[2418,6],[2859,6]]},"1462":{"position":[[6592,6]]},"1465":{"position":[[2792,6],[2878,6]]},"1467":{"position":[[6931,6],[7017,6],[7707,6]]},"1471":{"position":[[1676,6]]},"1472":{"position":[[1638,6]]},"1473":{"position":[[1931,6]]}},"keywords":{}}],["native_c_lib",{"_index":8252,"title":{},"content":{"1460":{"position":[[676,14]]}},"keywords":{}}],["native_lib",{"_index":8242,"title":{},"content":{"1459":{"position":[[548,12],[2376,14],[2391,11],[2483,15]]},"1460":{"position":[[706,11]]}},"keywords":{}}],["native_library_merge_code_gener",{"_index":6359,"title":{},"content":{"1348":{"position":[[1561,36]]},"1350":{"position":[[2376,36]]},"1352":{"position":[[2375,36]]}},"keywords":{}}],["native_library_merge_glu",{"_index":6360,"title":{},"content":{"1348":{"position":[[1614,26]]},"1350":{"position":[[2429,26]]},"1352":{"position":[[2428,26]]}},"keywords":{}}],["native_library_merge_linker_arg",{"_index":6361,"title":{},"content":{"1348":{"position":[[1657,33]]},"1350":{"position":[[2472,33]]},"1352":{"position":[[2471,33]]}},"keywords":{}}],["native_library_merge_localized_symbol",{"_index":6362,"title":{},"content":{"1348":{"position":[[1724,39]]},"1350":{"position":[[2539,39]]},"1352":{"position":[[2538,39]]}},"keywords":{}}],["native_library_merge_map",{"_index":6363,"title":{},"content":{"1348":{"position":[[1786,25]]},"1350":{"position":[[2601,25]]},"1352":{"position":[[2600,25]]},"1353":{"position":[[988,25]]}},"keywords":{}}],["native_library_merge_sequ",{"_index":6364,"title":{},"content":{"1348":{"position":[[1845,30]]},"1350":{"position":[[2660,30]]},"1352":{"position":[[2659,30]]},"1353":{"position":[[1047,30]]}},"keywords":{}}],["native_library_merge_sequence_blocklist",{"_index":6365,"title":{},"content":{"1348":{"position":[[1905,40]]},"1350":{"position":[[2720,40]]},"1352":{"position":[[2719,40]]}},"keywords":{}}],["native_link_strategi",{"_index":8303,"title":{},"content":{"1462":{"position":[[2860,21]]},"1467":{"position":[[3013,21]]}},"keywords":{}}],["native_platform",{"_index":6608,"title":{},"content":{"1357":{"position":[[381,17]]}},"keywords":{}}],["native_plugin",{"_index":8138,"title":{},"content":{"1449":{"position":[[628,14]]}},"keywords":{}}],["native_starter_librari",{"_index":8081,"title":{},"content":{"1443":{"position":[[510,23]]}},"keywords":{}}],["nattrfilt",{"_index":1813,"title":{},"content":{"333":{"position":[[327,11]]}},"keywords":{}}],["nattrfilter(attr",{"_index":6238,"title":{"1263":{"position":[[0,17]]},"1294":{"position":[[0,17]]},"1322":{"position":[[0,17]]}},"content":{"1259":{"position":[[413,17]]},"1290":{"position":[[413,17]]},"1318":{"position":[[413,17]]}},"keywords":{}}],["natur",{"_index":4527,"title":{},"content":{"924":{"position":[[491,9],[1295,7]]}},"keywords":{}}],["navig",{"_index":3843,"title":{"839":{"position":[[0,10]]}},"content":{},"keywords":{}}],["nb",{"_index":5040,"title":{},"content":{"1009":{"position":[[487,3]]},"1026":{"position":[[1498,3]]}},"keywords":{}}],["ndk",{"_index":8100,"title":{},"content":{"1446":{"position":[[690,3],[1689,3],[1901,3],[2654,3]]},"1469":{"position":[[2548,3],[2622,3]]}},"keywords":{}}],["ndk'",{"_index":8099,"title":{},"content":{"1446":{"position":[[684,5]]}},"keywords":{}}],["ndk_debug=1",{"_index":8102,"title":{},"content":{"1446":{"position":[[1850,13]]}},"keywords":{}}],["ndk_librari",{"_index":8095,"title":{"1446":{"position":[[0,12]]}},"content":{"1446":{"position":[[4,12],[568,13]]}},"keywords":{}}],["ndk_toolchain",{"_index":8111,"title":{"1447":{"position":[[0,14]]}},"content":{"1447":{"position":[[4,14]]}},"keywords":{}}],["near",{"_index":2251,"title":{},"content":{"418":{"position":[[1204,4]]},"797":{"position":[[1204,4]]}},"keywords":{}}],["nearest",{"_index":1766,"title":{},"content":{"320":{"position":[[397,7]]},"429":{"position":[[84,7]]},"566":{"position":[[486,7]]},"567":{"position":[[343,7]]},"622":{"position":[[460,7]]},"644":{"position":[[239,7]]},"648":{"position":[[290,7]]},"808":{"position":[[84,7]]},"1001":{"position":[[1245,7]]},"1064":{"position":[[2209,7]]},"1065":{"position":[[174,7]]}},"keywords":{}}],["nearli",{"_index":224,"title":{},"content":{"9":{"position":[[1108,6]]},"12":{"position":[[391,6]]}},"keywords":{}}],["necessari",{"_index":570,"title":{},"content":{"18":{"position":[[873,9],[1012,9]]},"587":{"position":[[468,9]]},"688":{"position":[[751,9]]},"715":{"position":[[511,9],[640,9]]},"860":{"position":[[260,9]]},"895":{"position":[[156,10]]},"942":{"position":[[472,10]]},"1075":{"position":[[458,9]]},"1100":{"position":[[70,9]]},"1103":{"position":[[1905,9]]},"1383":{"position":[[5270,9]]},"1393":{"position":[[3353,9]]},"1477":{"position":[[1648,10]]},"1486":{"position":[[4502,9]]}},"keywords":{}}],["necessarili",{"_index":2999,"title":{},"content":{"617":{"position":[[447,11]]},"706":{"position":[[1151,11],[2506,11]]},"961":{"position":[[304,11]]},"1486":{"position":[[5344,11]]}},"keywords":{}}],["necessary.max_workers_per_thread_perc",{"_index":8561,"title":{},"content":{"1486":{"position":[[2321,41]]}},"keywords":{}}],["need",{"_index":329,"title":{"834":{"position":[[10,4]]},"916":{"position":[[31,5]]},"937":{"position":[[10,4]]},"1036":{"position":[[16,4]]},"1256":{"position":[[8,4]]}},"content":{"10":{"position":[[529,4]]},"17":{"position":[[453,4]]},"18":{"position":[[924,4]]},"26":{"position":[[76,6]]},"27":{"position":[[83,6]]},"29":{"position":[[89,6]]},"30":{"position":[[128,6]]},"31":{"position":[[111,6]]},"79":{"position":[[240,4]]},"89":{"position":[[946,4]]},"94":{"position":[[2407,8]]},"178":{"position":[[76,6]]},"179":{"position":[[83,6]]},"185":{"position":[[89,6]]},"186":{"position":[[128,6]]},"187":{"position":[[111,6]]},"221":{"position":[[946,4]]},"226":{"position":[[2407,8]]},"276":{"position":[[201,4],[654,4]]},"277":{"position":[[155,4]]},"281":{"position":[[259,4],[752,4]]},"282":{"position":[[210,4]]},"297":{"position":[[673,7]]},"298":{"position":[[1664,6],[2698,6]]},"334":{"position":[[593,4]]},"368":{"position":[[2215,6]]},"374":{"position":[[1998,6]]},"377":{"position":[[1186,6]]},"474":{"position":[[332,4]]},"508":{"position":[[240,4]]},"575":{"position":[[242,4]]},"584":{"position":[[323,4]]},"590":{"position":[[454,7]]},"675":{"position":[[824,4]]},"682":{"position":[[278,4]]},"685":{"position":[[114,6]]},"687":{"position":[[121,4],[188,6]]},"688":{"position":[[1390,7]]},"690":{"position":[[3197,6]]},"693":{"position":[[7500,5]]},"695":{"position":[[817,4]]},"704":{"position":[[997,6],[1394,5]]},"705":{"position":[[369,4]]},"706":{"position":[[697,4],[2421,4],[2558,4],[2616,7]]},"715":{"position":[[549,6]]},"720":{"position":[[215,5]]},"722":{"position":[[898,5],[1141,5]]},"724":{"position":[[581,4],[827,5],[1823,6]]},"747":{"position":[[2215,6]]},"753":{"position":[[1998,6]]},"756":{"position":[[1186,6]]},"832":{"position":[[177,5]]},"846":{"position":[[1956,6]]},"848":{"position":[[807,4]]},"851":{"position":[[197,6],[277,4],[759,6],[2024,6]]},"853":{"position":[[125,5]]},"855":{"position":[[81,6]]},"856":{"position":[[7,4],[120,4],[622,4],[728,4],[824,4],[960,4]]},"861":{"position":[[758,4]]},"864":{"position":[[708,4]]},"870":{"position":[[596,4],[826,4],[877,4],[1078,4]]},"872":{"position":[[137,7],[943,6]]},"892":{"position":[[512,5],[1308,4]]},"898":{"position":[[2762,7]]},"916":{"position":[[41,4]]},"920":{"position":[[19,4]]},"921":{"position":[[424,4]]},"923":{"position":[[156,4]]},"924":{"position":[[581,6]]},"937":{"position":[[17,5],[750,5],[1297,4],[1625,4],[1900,4],[2376,5],[2451,6],[2677,6],[2869,5],[3066,4],[3882,4],[4693,4]]},"938":{"position":[[967,5]]},"939":{"position":[[1833,6]]},"942":{"position":[[1316,5]]},"947":{"position":[[905,6]]},"951":{"position":[[1428,4]]},"955":{"position":[[390,7],[658,6],[801,4]]},"956":{"position":[[307,4]]},"957":{"position":[[73,8]]},"970":{"position":[[194,4]]},"972":{"position":[[6,5],[220,4]]},"988":{"position":[[435,4],[758,4]]},"991":{"position":[[1189,5],[1514,4],[3048,4]]},"995":{"position":[[902,5]]},"998":{"position":[[267,4]]},"1012":{"position":[[305,5]]},"1014":{"position":[[569,4]]},"1021":{"position":[[415,7]]},"1030":{"position":[[22,4]]},"1031":{"position":[[62,4]]},"1035":{"position":[[297,4],[572,4]]},"1037":{"position":[[52,5]]},"1049":{"position":[[120,4]]},"1050":{"position":[[506,4],[1589,7],[3267,5],[4641,6]]},"1052":{"position":[[1041,7]]},"1071":{"position":[[1303,4]]},"1075":{"position":[[432,6]]},"1079":{"position":[[1294,7]]},"1081":{"position":[[11,4]]},"1083":{"position":[[364,4]]},"1086":{"position":[[380,4]]},"1087":{"position":[[295,4]]},"1093":{"position":[[262,4]]},"1102":{"position":[[700,4]]},"1104":{"position":[[1308,4],[1851,5],[2032,4]]},"1138":{"position":[[3705,5],[4565,6]]},"1140":{"position":[[3194,5],[4054,6]]},"1161":{"position":[[147,4]]},"1167":{"position":[[4198,5],[5058,6]]},"1188":{"position":[[3247,5],[4107,6]]},"1217":{"position":[[2939,5],[3799,6]]},"1228":{"position":[[5020,5],[5880,6]]},"1231":{"position":[[585,4]]},"1232":{"position":[[3423,4]]},"1245":{"position":[[525,4]]},"1253":{"position":[[610,4]]},"1254":{"position":[[525,4]]},"1282":{"position":[[242,4]]},"1283":{"position":[[259,4]]},"1284":{"position":[[239,4]]},"1313":{"position":[[242,4]]},"1314":{"position":[[259,4]]},"1315":{"position":[[239,4]]},"1341":{"position":[[242,4]]},"1342":{"position":[[259,4]]},"1343":{"position":[[239,4]]},"1346":{"position":[[22,4]]},"1348":{"position":[[3735,5],[3823,6],[4071,4]]},"1355":{"position":[[4260,4],[4945,4],[7256,6]]},"1359":{"position":[[2000,4]]},"1360":{"position":[[4044,5]]},"1367":{"position":[[13827,4],[13916,5]]},"1370":{"position":[[3042,6]]},"1373":{"position":[[8084,7],[8299,5],[8460,5]]},"1382":{"position":[[10860,7]]},"1383":{"position":[[5696,7]]},"1384":{"position":[[17934,7]]},"1386":{"position":[[3607,6],[3671,6]]},"1388":{"position":[[4974,7],[6384,7],[9353,7]]},"1393":{"position":[[5352,4],[6381,4],[8583,4]]},"1395":{"position":[[2621,5],[2918,4]]},"1398":{"position":[[2772,6],[2954,4]]},"1403":{"position":[[3459,5],[4451,4],[7491,4]]},"1415":{"position":[[2539,6],[5726,4]]},"1422":{"position":[[2041,5]]},"1427":{"position":[[3405,4],[6455,6],[6848,5]]},"1439":{"position":[[4079,4],[5639,4]]},"1446":{"position":[[1721,7]]},"1454":{"position":[[9721,5]]},"1462":{"position":[[8371,4]]},"1467":{"position":[[6737,7],[8487,7],[9853,4]]},"1470":{"position":[[4543,4]]},"1477":{"position":[[2829,4]]},"1485":{"position":[[3725,7]]}},"keywords":{}}],["need_android_tool",{"_index":6647,"title":{},"content":{"1360":{"position":[[1013,19]]},"1365":{"position":[[602,19]]},"1383":{"position":[[891,19]]},"1403":{"position":[[916,19]]},"1424":{"position":[[832,19]]},"1432":{"position":[[970,19]]}},"keywords":{}}],["needed').src",{"_index":7423,"title":{},"content":{"1390":{"position":[[1796,14]]}},"keywords":{}}],["needed."resources"map",{"_index":2040,"title":{},"content":{"377":{"position":[[1076,32]]},"756":{"position":[[1076,32]]}},"keywords":{}}],["needed_coverag",{"_index":8364,"title":{},"content":{"1466":{"position":[[515,16]]},"1467":{"position":[[3051,16]]}},"keywords":{}}],["needl",{"_index":2576,"title":{},"content":{"566":{"position":[[16,7]]},"591":{"position":[[18,7]]},"594":{"position":[[17,7]]},"596":{"position":[[18,7]]},"611":{"position":[[18,7]]},"612":{"position":[[19,7]]}},"keywords":{}}],["neg",{"_index":2579,"title":{},"content":{"566":{"position":[[386,9]]},"567":{"position":[[267,9]]},"568":{"position":[[238,8]]},"610":{"position":[[299,9],[924,8]]},"616":{"position":[[826,9]]},"662":{"position":[[483,8]]},"1079":{"position":[[273,10]]},"1233":{"position":[[250,11]]},"1241":{"position":[[198,11]]}},"keywords":{}}],["ness",{"_index":4728,"title":{},"content":{"950":{"position":[[430,5],[787,5]]}},"keywords":{}}],["nest",{"_index":2415,"title":{},"content":{"451":{"position":[[124,6]]},"830":{"position":[[124,6]]},"876":{"position":[[305,6]]},"890":{"position":[[248,6],[4947,6]]},"904":{"position":[[683,6]]},"947":{"position":[[789,6]]},"1098":{"position":[[257,6]]},"1198":{"position":[[202,6]]}},"keywords":{}}],["net",{"_index":7121,"title":{},"content":{"1381":{"position":[[688,4],[2069,4]]},"1456":{"position":[[569,4],[594,4]]}},"keywords":{}}],["net35",{"_index":7129,"title":{},"content":{"1381":{"position":[[2126,8]]}},"keywords":{}}],["net40",{"_index":7130,"title":{},"content":{"1381":{"position":[[2135,8]]}},"keywords":{}}],["net45",{"_index":7131,"title":{},"content":{"1381":{"position":[[2144,7]]}},"keywords":{}}],["net46",{"_index":7135,"title":{},"content":{"1381":{"position":[[2609,8]]},"1456":{"position":[[1672,8]]}},"keywords":{}}],["net46'.resourc",{"_index":7132,"title":{},"content":{"1381":{"position":[[2156,18]]}},"keywords":{}}],["network",{"_index":232,"title":{},"content":{"9":{"position":[[1287,7]]},"706":{"position":[[2644,7]]}},"keywords":{}}],["never",{"_index":1986,"title":{},"content":{"368":{"position":[[2133,5]]},"645":{"position":[[367,5]]},"672":{"position":[[89,5]]},"706":{"position":[[1817,5]]},"747":{"position":[[2133,5]]},"890":{"position":[[5320,5]]},"898":{"position":[[924,5]]},"900":{"position":[[1424,5]]},"973":{"position":[[201,5],[423,5]]},"1136":{"position":[[4130,6]]},"1138":{"position":[[7792,6]]},"1140":{"position":[[6718,6]]},"1142":{"position":[[2162,6]]},"1146":{"position":[[2102,6]]},"1148":{"position":[[5142,6]]},"1155":{"position":[[2198,6]]},"1156":{"position":[[1776,6]]},"1167":{"position":[[7722,6]]},"1169":{"position":[[1561,6]]},"1186":{"position":[[3366,6]]},"1187":{"position":[[3379,6]]},"1188":{"position":[[8105,6]]},"1191":{"position":[[1966,6]]},"1192":{"position":[[2141,6]]},"1193":{"position":[[2193,6]]},"1194":{"position":[[1833,6]]},"1195":{"position":[[1811,6]]},"1196":{"position":[[1621,6]]},"1197":{"position":[[2604,6]]},"1198":{"position":[[2614,6]]},"1199":{"position":[[2642,6]]},"1200":{"position":[[2509,6]]},"1201":{"position":[[1769,6]]},"1202":{"position":[[2911,6],[7308,6]]},"1203":{"position":[[2003,6]]},"1204":{"position":[[1847,6]]},"1205":{"position":[[3176,6]]},"1206":{"position":[[1647,6]]},"1207":{"position":[[1804,6]]},"1209":{"position":[[3152,6]]},"1217":{"position":[[6463,6]]},"1219":{"position":[[2449,6]]},"1222":{"position":[[1573,6]]},"1223":{"position":[[1583,6]]},"1224":{"position":[[1763,6]]},"1226":{"position":[[6931,6]]},"1228":{"position":[[8544,6]]},"1235":{"position":[[4412,6]]},"1237":{"position":[[7101,6]]},"1253":{"position":[[604,5]]}},"keywords":{}}],["never_mark_as_unused_depend",{"_index":6366,"title":{},"content":{"1348":{"position":[[1968,32]]},"1355":{"position":[[1505,32]]},"1412":{"position":[[925,32]]},"1413":{"position":[[1071,32]]},"1427":{"position":[[1142,32]]},"1429":{"position":[[1376,32]]},"1430":{"position":[[945,32]]},"1439":{"position":[[1378,32]]},"1440":{"position":[[1577,32]]},"1458":{"position":[[775,32]]},"1470":{"position":[[1805,32]]},"1474":{"position":[[921,32]]},"1475":{"position":[[1067,32]]}},"keywords":{}}],["new",{"_index":16,"title":{"929":{"position":[[0,3]]},"937":{"position":[[15,3]]},"1108":{"position":[[0,3]]}},"content":{"3":{"position":[[46,3]]},"10":{"position":[[950,3]]},"18":{"position":[[99,3]]},"23":{"position":[[78,3]]},"40":{"position":[[115,3]]},"41":{"position":[[198,3]]},"83":{"position":[[58,3]]},"93":{"position":[[78,3]]},"97":{"position":[[135,3]]},"123":{"position":[[46,3]]},"173":{"position":[[115,3]]},"174":{"position":[[198,3]]},"215":{"position":[[58,3]]},"225":{"position":[[78,3]]},"229":{"position":[[135,3]]},"288":{"position":[[556,3]]},"289":{"position":[[576,3]]},"374":{"position":[[2016,3]]},"411":{"position":[[215,3]]},"510":{"position":[[622,3]]},"511":{"position":[[642,3]]},"532":{"position":[[46,3]]},"555":{"position":[[119,3]]},"556":{"position":[[110,3]]},"559":{"position":[[106,3],[394,3]]},"561":{"position":[[118,3]]},"610":{"position":[[30,4],[142,5],[233,4]]},"652":{"position":[[154,3],[250,3]]},"665":{"position":[[111,3]]},"666":{"position":[[122,3]]},"673":{"position":[[108,3]]},"693":{"position":[[5299,3],[7254,3]]},"722":{"position":[[557,3]]},"753":{"position":[[2016,3]]},"790":{"position":[[215,3]]},"888":{"position":[[190,3]]},"892":{"position":[[469,3],[653,3],[874,3]]},"916":{"position":[[140,3]]},"937":{"position":[[2253,3]]},"938":{"position":[[1044,3]]},"939":{"position":[[227,3]]},"981":{"position":[[440,3]]},"1004":{"position":[[1612,3]]},"1016":{"position":[[126,3]]},"1044":{"position":[[433,3]]},"1050":{"position":[[4709,3],[4741,3]]},"1103":{"position":[[1684,3]]},"1105":{"position":[[736,3]]},"1107":{"position":[[254,3]]},"1113":{"position":[[71,3],[370,3]]},"1126":{"position":[[471,3]]},"1142":{"position":[[525,3]]},"1254":{"position":[[692,3]]},"1351":{"position":[[3166,3]]},"1362":{"position":[[13476,3]]},"1364":{"position":[[14176,3]]},"1367":{"position":[[13384,3]]},"1399":{"position":[[1589,3]]},"1422":{"position":[[3651,3]]},"1423":{"position":[[2422,3]]},"1429":{"position":[[4265,3]]},"1440":{"position":[[4258,3]]}},"keywords":{}}],["new_cfg",{"_index":5004,"title":{},"content":{"1004":{"position":[[1447,7],[1824,8]]}},"keywords":{}}],["newandroidmanifest.xml",{"_index":7687,"title":{},"content":{"1403":{"position":[[7406,22]]}},"keywords":{}}],["newattrs.plugin_dep(kind",{"_index":4903,"title":{},"content":{"990":{"position":[[124,24]]}},"keywords":{}}],["newer",{"_index":5294,"title":{},"content":{"1050":{"position":[[2243,5]]}},"keywords":{}}],["newli",{"_index":522,"title":{},"content":{"17":{"position":[[1249,5]]}},"keywords":{}}],["newlin",{"_index":1260,"title":{},"content":{"98":{"position":[[1394,7]]},"230":{"position":[[1394,7]]},"576":{"position":[[241,7]]}},"keywords":{}}],["next",{"_index":428,"title":{},"content":{"13":{"position":[[359,5]]},"18":{"position":[[177,5],[404,5]]},"719":{"position":[[66,4]]},"943":{"position":[[1278,5]]},"1026":{"position":[[311,5],[485,4]]},"1058":{"position":[[1212,4],[1354,4]]},"1079":{"position":[[1172,4]]},"1093":{"position":[[439,5]]},"1232":{"position":[[3728,5]]},"1346":{"position":[[0,5]]}},"keywords":{}}],["ngoc.a",{"_index":103,"title":{},"content":{"5":{"position":[[402,6]]}},"keywords":{}}],["nice",{"_index":4533,"title":{},"content":{"924":{"position":[[826,4],[1754,4]]}},"keywords":{}}],["nicer",{"_index":5896,"title":{},"content":{"1136":{"position":[[4411,5]]},"1138":{"position":[[8073,5]]},"1140":{"position":[[6999,5]]},"1142":{"position":[[2443,5]]},"1146":{"position":[[2383,5]]},"1148":{"position":[[5423,5]]},"1155":{"position":[[2479,5]]},"1156":{"position":[[2057,5]]},"1167":{"position":[[8003,5]]},"1169":{"position":[[1842,5]]},"1186":{"position":[[3647,5]]},"1187":{"position":[[3660,5]]},"1188":{"position":[[8386,5]]},"1191":{"position":[[2247,5]]},"1192":{"position":[[2422,5]]},"1193":{"position":[[2474,5]]},"1194":{"position":[[2114,5]]},"1195":{"position":[[2092,5]]},"1196":{"position":[[1902,5]]},"1197":{"position":[[2885,5]]},"1198":{"position":[[2895,5]]},"1199":{"position":[[2923,5]]},"1200":{"position":[[2790,5]]},"1201":{"position":[[2050,5]]},"1202":{"position":[[3192,5],[7589,5]]},"1203":{"position":[[2284,5]]},"1204":{"position":[[2128,5]]},"1205":{"position":[[3457,5]]},"1206":{"position":[[1928,5]]},"1207":{"position":[[2085,5]]},"1209":{"position":[[3433,5]]},"1217":{"position":[[6744,5]]},"1219":{"position":[[2730,5]]},"1222":{"position":[[1854,5]]},"1223":{"position":[[1864,5]]},"1224":{"position":[[2044,5]]},"1226":{"position":[[7212,5]]},"1228":{"position":[[8825,5]]},"1235":{"position":[[4693,5]]},"1237":{"position":[[7382,5]]}},"keywords":{}}],["niceti",{"_index":5681,"title":{},"content":{"1105":{"position":[[302,8]]}},"keywords":{}}],["nightli",{"_index":458,"title":{},"content":{"15":{"position":[[435,7],[460,8]]}},"keywords":{}}],["nix",{"_index":151,"title":{},"content":{"7":{"position":[[279,3]]},"690":{"position":[[3179,3],[3320,3]]}},"keywords":{}}],["nm",{"_index":7378,"title":{},"content":{"1389":{"position":[[2857,3]]}},"keywords":{}}],["nnn",{"_index":4980,"title":{},"content":{"997":{"position":[[121,3]]}},"keywords":{}}],["no_auto_add_overlay_resourc",{"_index":6446,"title":{},"content":{"1350":{"position":[[2783,30]]},"1352":{"position":[[2782,30]]}},"keywords":{}}],["no_auto_version_resourc",{"_index":6447,"title":{},"content":{"1350":{"position":[[2824,26]]},"1352":{"position":[[2823,26]]}},"keywords":{}}],["no_dx",{"_index":6409,"title":{},"content":{"1349":{"position":[[736,6]]},"1350":{"position":[[2861,6]]},"1352":{"position":[[2860,6]]}},"keywords":{}}],["no_outputs_cleanup",{"_index":1180,"title":{},"content":{"94":{"position":[[845,19]]},"226":{"position":[[845,19]]},"1050":{"position":[[799,18],[839,18],[2867,18],[4192,18]]},"1360":{"position":[[1043,19]]},"1383":{"position":[[921,19]]},"1403":{"position":[[946,19]]},"1424":{"position":[[862,19]]},"1432":{"position":[[1000,19]]}},"keywords":{}}],["no_remote_cach",{"_index":5932,"title":{},"content":{"1138":{"position":[[3169,15]]},"1140":{"position":[[2658,15]]},"1167":{"position":[[3662,15]]},"1188":{"position":[[2711,15]]},"1217":{"position":[[2403,15]]},"1228":{"position":[[4484,15]]}},"keywords":{}}],["no_version_transitions_resourc",{"_index":6448,"title":{},"content":{"1350":{"position":[[2883,33]]},"1352":{"position":[[2882,33]]}},"keywords":{}}],["node",{"_index":1437,"title":{"856":{"position":[[77,5]]},"962":{"position":[[17,6]]}},"content":{"204":{"position":[[104,5]]},"205":{"position":[[120,5]]},"206":{"position":[[81,5]]},"207":{"position":[[66,5]]},"233":{"position":[[439,4]]},"234":{"position":[[218,4]]},"240":{"position":[[176,6]]},"276":{"position":[[98,5],[246,5],[438,5],[722,4]]},"277":{"position":[[197,5],[386,5],[757,4]]},"278":{"position":[[106,5]]},"280":{"position":[[105,5],[184,4],[219,4],[348,4]]},"281":{"position":[[132,5],[313,5],[527,5],[832,4]]},"282":{"position":[[261,5],[477,5],[875,4]]},"283":{"position":[[273,4]]},"284":{"position":[[191,4]]},"285":{"position":[[108,5],[152,4]]},"286":{"position":[[111,5],[142,5],[334,5],[386,4]]},"294":{"position":[[648,6],[740,5],[1015,4]]},"295":{"position":[[302,6]]},"297":{"position":[[845,4]]},"298":{"position":[[1828,5]]},"301":{"position":[[401,5],[562,6],[786,4]]},"302":{"position":[[302,6]]},"309":{"position":[[443,5],[588,4],[786,5]]},"310":{"position":[[436,4]]},"311":{"position":[[241,5],[367,4]]},"320":{"position":[[323,5]]},"322":{"position":[[179,4]]},"329":{"position":[[236,6]]},"340":{"position":[[210,5],[307,6]]},"341":{"position":[[76,5]]},"396":{"position":[[118,4]]},"409":{"position":[[124,6]]},"413":{"position":[[72,6]]},"417":{"position":[[1003,4]]},"449":{"position":[[128,6]]},"459":{"position":[[103,5]]},"460":{"position":[[110,5]]},"461":{"position":[[92,5]]},"463":{"position":[[114,4]]},"470":{"position":[[176,6]]},"476":{"position":[[345,5]]},"480":{"position":[[98,4]]},"481":{"position":[[182,4]]},"483":{"position":[[101,4]]},"484":{"position":[[154,4]]},"528":{"position":[[151,4]]},"693":{"position":[[3412,5],[6885,5]]},"715":{"position":[[1361,6],[1388,6],[1402,6],[1430,5]]},"718":{"position":[[350,5],[480,4],[662,4]]},"719":{"position":[[129,5]]},"720":{"position":[[37,5],[428,5],[473,5]]},"775":{"position":[[118,4]]},"788":{"position":[[124,6]]},"792":{"position":[[72,6]]},"796":{"position":[[1003,4]]},"828":{"position":[[128,6]]},"832":{"position":[[49,4],[153,4]]},"846":{"position":[[1014,4],[1142,5]]},"851":{"position":[[1035,5],[1220,6]]},"856":{"position":[[248,5]]},"870":{"position":[[1435,6]]},"874":{"position":[[220,6],[338,6]]},"878":{"position":[[188,5],[920,4]]},"890":{"position":[[6889,4]]},"905":{"position":[[1280,5]]},"906":{"position":[[80,5]]},"919":{"position":[[1448,5]]},"924":{"position":[[782,6],[1759,5],[1809,6]]},"989":{"position":[[195,5]]},"1012":{"position":[[341,4]]},"1013":{"position":[[111,6]]},"1014":{"position":[[349,4],[776,5]]},"1015":{"position":[[19,5],[223,5]]},"1017":{"position":[[313,5],[979,4]]},"1019":{"position":[[398,4],[436,4],[592,4],[622,4]]},"1020":{"position":[[64,5]]},"1021":{"position":[[663,5]]},"1024":{"position":[[122,5]]},"1026":{"position":[[69,4],[214,5],[852,4]]},"1084":{"position":[[58,5],[152,5]]},"1086":{"position":[[292,4]]},"1088":{"position":[[91,5],[339,5],[432,5],[480,5],[507,5],[603,5],[750,5]]},"1091":{"position":[[58,4]]},"1136":{"position":[[5367,5]]},"1138":{"position":[[9029,5]]},"1140":{"position":[[7955,5]]},"1142":{"position":[[3399,5]]},"1146":{"position":[[3339,5]]},"1148":{"position":[[6379,5]]},"1155":{"position":[[3435,5]]},"1156":{"position":[[3013,5]]},"1161":{"position":[[906,5]]},"1167":{"position":[[8959,5]]},"1180":{"position":[[94,4],[145,5],[228,6],[319,4]]},"1181":{"position":[[1118,5]]},"1186":{"position":[[4603,5]]},"1187":{"position":[[4616,5]]},"1188":{"position":[[9342,5]]},"1191":{"position":[[3203,5]]},"1192":{"position":[[3378,5]]},"1193":{"position":[[3430,5]]},"1194":{"position":[[3070,5]]},"1195":{"position":[[3048,5]]},"1196":{"position":[[2858,5]]},"1197":{"position":[[3841,5]]},"1198":{"position":[[3851,5]]},"1199":{"position":[[3879,5]]},"1200":{"position":[[3746,5]]},"1201":{"position":[[3006,5]]},"1202":{"position":[[4148,5],[8545,5]]},"1203":{"position":[[3240,5]]},"1204":{"position":[[3084,5]]},"1205":{"position":[[4413,5]]},"1206":{"position":[[2884,5]]},"1207":{"position":[[3041,5]]},"1209":{"position":[[4389,5]]},"1217":{"position":[[7700,5]]},"1222":{"position":[[2810,5]]},"1223":{"position":[[2820,5]]},"1226":{"position":[[2040,4],[2112,4],[8168,5]]},"1228":{"position":[[9781,5]]},"1235":{"position":[[5649,5]]},"1237":{"position":[[2210,4],[2282,4],[8338,5]]},"1258":{"position":[[1222,4]]},"1260":{"position":[[181,6],[330,4],[371,5]]},"1289":{"position":[[1222,4]]},"1291":{"position":[[181,6],[330,4],[371,5]]},"1317":{"position":[[1222,4]]},"1319":{"position":[[181,6],[330,4],[371,5]]},"1362":{"position":[[10531,5],[10575,5]]},"1382":{"position":[[7400,5],[7444,5]]},"1388":{"position":[[8269,5],[8313,5]]},"1416":{"position":[[2697,5],[2741,5]]},"1462":{"position":[[6317,5],[6361,5]]},"1467":{"position":[[7431,5],[7475,5]]}},"keywords":{}}],["node'",{"_index":5555,"title":{},"content":{"1082":{"position":[[626,6]]},"1083":{"position":[[462,6]]},"1086":{"position":[[424,6]]}},"keywords":{}}],["node.attrs_eag",{"_index":1516,"title":{},"content":{"276":{"position":[[794,18]]},"483":{"position":[[163,18]]},"484":{"position":[[216,18]]}},"keywords":{}}],["node.attrs_lazi",{"_index":1524,"title":{},"content":{"277":{"position":[[829,17]]},"528":{"position":[[223,17]]}},"keywords":{}}],["node.resolved_attrs_eager(ctx",{"_index":1548,"title":{},"content":{"281":{"position":[[904,30]]},"878":{"position":[[978,30]]}},"keywords":{}}],["node.resolved_attrs_lazy(ctx",{"_index":1555,"title":{},"content":{"282":{"position":[[947,29]]},"322":{"position":[[251,29]]}},"keywords":{}}],["node.unwrap_forward",{"_index":1578,"title":{},"content":{"286":{"position":[[467,21]]}},"keywords":{}}],["nodes.analysi",{"_index":4550,"title":{},"content":{"924":{"position":[[1896,14]]}},"keywords":{}}],["nodes.attrs.field",{"_index":4549,"title":{},"content":{"924":{"position":[[1850,17]]}},"keywords":{}}],["nodes.label",{"_index":4548,"title":{},"content":{"924":{"position":[[1838,11]]}},"keywords":{}}],["nodes.target_platform",{"_index":3920,"title":{},"content":{"851":{"position":[[874,21]]}},"keywords":{}}],["nodes.toolchain",{"_index":3919,"title":{},"content":{"851":{"position":[[718,16]]}},"keywords":{}}],["non",{"_index":478,"title":{"1025":{"position":[[8,3]]}},"content":{"16":{"position":[[66,3]]},"280":{"position":[[138,3],[253,3]]},"389":{"position":[[1054,3]]},"597":{"position":[[150,3]]},"598":{"position":[[139,3]]},"599":{"position":[[138,3]]},"601":{"position":[[145,3]]},"610":{"position":[[295,3]]},"616":{"position":[[678,3],[822,3]]},"632":{"position":[[308,3]]},"648":{"position":[[686,3]]},"662":{"position":[[479,3]]},"706":{"position":[[0,3],[17,3],[267,3],[483,3],[890,3],[1057,3],[1350,3]]},"768":{"position":[[1054,3]]},"890":{"position":[[1383,3],[3542,3]]},"898":{"position":[[1046,3],[1977,3]]},"900":{"position":[[1902,3]]},"906":{"position":[[848,3]]},"937":{"position":[[1109,3]]},"945":{"position":[[635,3]]},"995":{"position":[[1168,3]]},"1006":{"position":[[1274,3]]},"1019":{"position":[[4,4]]},"1021":{"position":[[32,3],[687,3]]},"1050":{"position":[[2043,3]]},"1052":{"position":[[951,3]]},"1071":{"position":[[689,3],[1343,3]]},"1098":{"position":[[608,3]]},"1114":{"position":[[267,3],[800,3]]},"1138":{"position":[[5952,3]]},"1146":{"position":[[237,3]]},"1148":{"position":[[3302,3]]},"1172":{"position":[[2222,3]]},"1186":{"position":[[1526,3]]},"1187":{"position":[[1539,3]]},"1188":{"position":[[6265,3]]},"1197":{"position":[[764,3]]},"1198":{"position":[[774,3]]},"1199":{"position":[[802,3]]},"1200":{"position":[[669,3]]},"1226":{"position":[[1740,3],[4020,3]]},"1237":{"position":[[1910,3],[4190,3]]},"1255":{"position":[[392,3]]},"1351":{"position":[[2280,3],[2662,3],[3048,3]]},"1363":{"position":[[6418,3],[6832,3]]},"1381":{"position":[[2375,3]]},"1384":{"position":[[20564,3]]},"1393":{"position":[[6893,3]]},"1405":{"position":[[2658,3]]},"1407":{"position":[[3079,3]]},"1410":{"position":[[3181,3]]},"1426":{"position":[[2128,3]]},"1446":{"position":[[2163,3]]},"1454":{"position":[[9566,3]]},"1459":{"position":[[2136,3]]},"1469":{"position":[[3186,3]]},"1471":{"position":[[4793,3]]},"1472":{"position":[[3744,3],[5377,3]]},"1473":{"position":[[5114,3]]}},"keywords":{}}],["non_quoted_str",{"_index":6227,"title":{},"content":{"1258":{"position":[[21,17]]},"1289":{"position":[[21,17]]},"1317":{"position":[[21,17]]}},"keywords":{}}],["none",{"_index":804,"title":{"625":{"position":[[0,5]]}},"content":{"24":{"position":[[1136,4]]},"27":{"position":[[26,4]]},"30":{"position":[[26,4]]},"31":{"position":[[24,4]]},"40":{"position":[[59,4],[72,4]]},"41":{"position":[[61,4],[74,5],[91,4],[160,4]]},"49":{"position":[[16,4],[103,4]]},"73":{"position":[[15,4],[73,4]]},"76":{"position":[[32,4],[188,4]]},"91":{"position":[[98,4],[111,5],[123,4],[136,5],[150,4],[163,5]]},"92":{"position":[[283,5],[297,4]]},"93":{"position":[[72,4]]},"94":{"position":[[301,4],[314,5],[1170,4]]},"99":{"position":[[75,4]]},"114":{"position":[[18,4]]},"140":{"position":[[124,4],[167,4],[299,5]]},"153":{"position":[[41,4]]},"159":{"position":[[28,4]]},"171":{"position":[[24,4],[101,6]]},"173":{"position":[[59,4],[72,4]]},"174":{"position":[[61,4],[74,5],[91,4],[160,4]]},"179":{"position":[[26,4]]},"186":{"position":[[26,4]]},"187":{"position":[[24,4]]},"196":{"position":[[16,4],[103,4]]},"204":{"position":[[39,4]]},"205":{"position":[[41,4]]},"223":{"position":[[98,4],[111,5],[123,4],[136,5],[150,4],[163,5]]},"224":{"position":[[283,5],[297,4]]},"225":{"position":[[72,4]]},"226":{"position":[[301,4],[314,5],[1170,4]]},"231":{"position":[[75,4]]},"239":{"position":[[382,4],[395,5],[409,4],[422,4]]},"240":{"position":[[52,4],[84,4]]},"243":{"position":[[64,4],[282,5]]},"245":{"position":[[38,4]]},"246":{"position":[[37,4]]},"263":{"position":[[124,4],[167,4],[299,5]]},"277":{"position":[[653,5],[686,4]]},"279":{"position":[[77,4]]},"282":{"position":[[762,5],[795,4]]},"294":{"position":[[340,4],[413,4]]},"295":{"position":[[41,4]]},"297":{"position":[[337,4]]},"298":{"position":[[43,4],[205,5],[223,4],[385,5],[408,4],[461,4],[587,4]]},"301":{"position":[[301,4],[339,4]]},"302":{"position":[[41,4]]},"304":{"position":[[58,4]]},"309":{"position":[[295,4]]},"320":{"position":[[77,4],[203,4]]},"328":{"position":[[282,4],[295,5],[309,4],[322,4]]},"329":{"position":[[52,4],[84,5],[107,4],[144,4]]},"334":{"position":[[92,4],[337,4]]},"345":{"position":[[49,4]]},"346":{"position":[[66,4]]},"347":{"position":[[69,4]]},"362":{"position":[[95,4],[109,5],[190,5],[226,5],[276,4],[289,5],[336,4],[349,5],[383,5],[662,4],[675,5],[746,4],[759,5],[798,4],[811,5]]},"368":{"position":[[33,4],[51,5],[74,4],[98,5]]},"373":{"position":[[93,4]]},"374":{"position":[[44,5],[56,5],[71,5],[88,5],[123,5],[153,5],[178,5],[205,5],[229,5],[244,4],[1455,4],[1658,4]]},"377":{"position":[[331,4],[352,4],[1685,4]]},"398":{"position":[[41,4],[54,5],[272,4]]},"411":{"position":[[171,5]]},"412":{"position":[[36,4]]},"421":{"position":[[55,4]]},"423":{"position":[[31,4]]},"424":{"position":[[139,4]]},"427":{"position":[[553,4]]},"429":{"position":[[448,4]]},"430":{"position":[[24,4],[100,4],[108,4]]},"431":{"position":[[87,4]]},"432":{"position":[[162,4]]},"433":{"position":[[55,4],[68,5],[84,4]]},"443":{"position":[[64,4],[77,4]]},"444":{"position":[[64,4]]},"446":{"position":[[92,4]]},"450":{"position":[[29,4]]},"451":{"position":[[80,4]]},"469":{"position":[[163,4],[176,5],[190,4],[203,4]]},"470":{"position":[[52,4],[84,4]]},"496":{"position":[[15,4],[73,4]]},"505":{"position":[[32,4],[188,4]]},"526":{"position":[[18,4]]},"528":{"position":[[36,4]]},"537":{"position":[[41,4]]},"543":{"position":[[28,4]]},"551":{"position":[[24,4],[101,6]]},"553":{"position":[[23,4],[122,5]]},"554":{"position":[[220,5],[418,4]]},"557":{"position":[[583,5],[592,4]]},"559":{"position":[[294,4],[731,4],[822,5]]},"560":{"position":[[46,4],[209,5],[271,5]]},"563":{"position":[[29,4],[126,5]]},"564":{"position":[[23,4],[115,5]]},"565":{"position":[[49,4],[205,5]]},"566":{"position":[[31,4],[44,5],[55,4],[68,5],[326,5],[624,6]]},"567":{"position":[[41,4],[207,5]]},"569":{"position":[[33,4],[164,5]]},"591":{"position":[[38,4],[51,5],[62,4],[75,5]]},"594":{"position":[[37,4],[50,5],[61,4],[74,5]]},"596":{"position":[[38,4],[51,5],[62,4],[75,5]]},"611":{"position":[[38,4],[51,5],[62,4],[75,5],[395,5]]},"612":{"position":[[39,4],[52,5],[63,4],[76,5],[424,5]]},"614":{"position":[[24,4],[37,5],[53,4],[66,5]]},"616":{"position":[[23,4],[36,5],[52,4],[65,5],[510,5]]},"625":{"position":[[0,5],[6,4]]},"631":{"position":[[23,4]]},"633":{"position":[[38,4],[169,4]]},"643":{"position":[[18,4],[208,4],[234,4],[365,5]]},"658":{"position":[[24,4]]},"660":{"position":[[23,4]]},"741":{"position":[[95,4],[109,5],[190,5],[226,5],[276,4],[289,5],[336,4],[349,5],[383,5],[662,4],[675,5],[746,4],[759,5],[798,4],[811,5]]},"747":{"position":[[33,4],[51,5],[74,4],[98,5]]},"752":{"position":[[93,4]]},"753":{"position":[[44,5],[56,5],[71,5],[88,5],[123,5],[153,5],[178,5],[205,5],[229,5],[244,4],[1455,4],[1658,4]]},"756":{"position":[[331,4],[352,4],[1685,4]]},"777":{"position":[[41,4],[54,5],[272,4]]},"790":{"position":[[171,5]]},"791":{"position":[[36,4]]},"800":{"position":[[55,4]]},"802":{"position":[[31,4]]},"803":{"position":[[139,4]]},"806":{"position":[[553,4]]},"808":{"position":[[448,4]]},"809":{"position":[[24,4],[100,4],[108,4]]},"810":{"position":[[87,4]]},"811":{"position":[[162,4]]},"812":{"position":[[55,4],[68,5],[84,4]]},"822":{"position":[[64,4],[77,4]]},"823":{"position":[[64,4]]},"825":{"position":[[92,4]]},"829":{"position":[[29,4]]},"830":{"position":[[80,4]]},"859":{"position":[[79,4],[180,4]]},"900":{"position":[[646,4]]},"912":{"position":[[67,4]]},"991":{"position":[[2987,4]]},"1001":{"position":[[1286,4]]},"1053":{"position":[[605,7],[866,5]]},"1064":{"position":[[1692,4]]},"1069":{"position":[[781,4]]},"1086":{"position":[[316,4],[514,6]]},"1112":{"position":[[2545,5]]},"1121":{"position":[[20,4]]},"1136":{"position":[[5160,5]]},"1138":{"position":[[810,5],[8822,5]]},"1140":{"position":[[436,5],[7748,5]]},"1142":{"position":[[3192,5]]},"1146":{"position":[[3132,5]]},"1148":{"position":[[6172,5]]},"1155":{"position":[[3228,5]]},"1156":{"position":[[2806,5]]},"1161":{"position":[[699,5]]},"1167":{"position":[[8752,5]]},"1181":{"position":[[911,5]]},"1186":{"position":[[4396,5]]},"1187":{"position":[[4409,5]]},"1188":{"position":[[489,5],[9135,5]]},"1191":{"position":[[2996,5]]},"1192":{"position":[[3171,5]]},"1193":{"position":[[531,5],[555,5],[3223,5]]},"1194":{"position":[[227,4],[2863,5]]},"1195":{"position":[[2841,5]]},"1196":{"position":[[2651,5]]},"1197":{"position":[[3634,5]]},"1198":{"position":[[3644,5]]},"1199":{"position":[[3672,5]]},"1200":{"position":[[3539,5]]},"1201":{"position":[[2799,5]]},"1202":{"position":[[3941,5],[8338,5]]},"1203":{"position":[[3033,5]]},"1204":{"position":[[2877,5]]},"1205":{"position":[[4206,5]]},"1206":{"position":[[2677,5]]},"1207":{"position":[[2834,5]]},"1209":{"position":[[4182,5]]},"1217":{"position":[[7493,5]]},"1222":{"position":[[2603,5]]},"1223":{"position":[[2613,5]]},"1226":{"position":[[843,6],[991,5],[5054,5],[5078,5],[7961,5]]},"1228":{"position":[[9574,5]]},"1235":{"position":[[5442,5]]},"1237":{"position":[[1013,6],[1161,5],[5224,5],[5248,5],[8131,5]]},"1345":{"position":[[368,4]]},"1348":{"position":[[56,4],[592,4],[636,4],[868,4],[996,4],[1248,4],[1271,4],[1376,4],[1427,4],[1458,4],[1512,4],[1545,4],[1598,4],[1641,4],[1691,4],[1764,4],[1812,4],[1876,4],[1946,4],[2001,4],[2042,4],[2163,4],[2309,4],[2367,4],[2420,4],[2466,4],[2575,4],[2608,4],[2632,4]]},"1349":{"position":[[67,4],[431,4],[540,4],[651,4],[835,4]]},"1350":{"position":[[59,4],[661,4],[859,4],[905,4],[1014,4],[1076,4],[1232,4],[1432,4],[1486,4],[1646,4],[2128,4],[2208,4],[2281,4],[2360,4],[2413,4],[2456,4],[2506,4],[2579,4],[2627,4],[2691,4],[2761,4],[3120,4],[3166,4],[3211,4],[3326,4],[3495,4],[3535,4],[3579,4],[3613,4],[3806,4]]},"1351":{"position":[[65,4],[542,4],[660,4],[683,4]]},"1352":{"position":[[59,4],[661,4],[859,4],[905,4],[1014,4],[1076,4],[1232,4],[1303,4],[1431,4],[1485,4],[1645,4],[2127,4],[2207,4],[2280,4],[2359,4],[2412,4],[2455,4],[2505,4],[2578,4],[2626,4],[2690,4],[2760,4],[3119,4],[3165,4],[3210,4],[3325,4],[3494,4],[3534,4],[3578,4],[3612,4],[3805,4]]},"1353":{"position":[[72,4],[693,4],[904,4],[939,4],[972,4],[1014,4],[1078,4],[1137,4],[1182,4],[1295,4],[1319,4]]},"1354":{"position":[[73,4],[628,4],[727,4],[785,4],[838,4],[980,4],[1031,4],[1104,4],[1127,4]]},"1355":{"position":[[60,4],[416,4],[649,4],[688,4],[738,4],[956,4],[1205,4],[1235,4],[1258,4],[1377,4],[1428,4],[1459,4],[1489,4],[1538,4],[1579,4],[1636,4],[1703,4],[1814,4],[1872,4],[1925,4],[1971,4],[2053,4],[2086,4],[2142,4]]},"1356":{"position":[[61,4],[438,4],[545,4]]},"1357":{"position":[[61,4],[426,4]]},"1358":{"position":[[65,4],[421,4],[600,4],[706,4],[784,4],[852,4],[912,4]]},"1359":{"position":[[61,4],[416,4],[446,4],[557,4],[687,4],[712,4],[744,4],[773,4],[794,4],[860,4]]},"1360":{"position":[[56,4],[474,4],[526,4],[548,4],[605,4],[627,4],[652,4],[716,4],[746,4],[784,4],[834,4],[884,4],[966,4],[997,4],[1078,4],[1100,4],[1141,4],[1303,4],[1326,4]]},"1361":{"position":[[64,4],[344,4],[438,4],[512,4],[602,4]]},"1362":{"position":[[57,4],[565,4],[686,4],[746,4],[837,4],[876,4],[910,4],[1130,4],[1166,4],[1199,4],[2019,4],[2049,4],[2111,4],[2147,4],[2233,4],[2342,4],[2745,4],[2773,4],[2805,4],[2871,4],[2895,4],[2909,4],[2975,4],[3006,4],[3034,4],[3062,4],[3177,4],[3663,4],[3757,4],[3839,4],[4010,4],[4054,4],[4146,4],[4227,4],[4253,4],[4297,4],[4338,4],[4445,4],[4476,4],[4512,4],[4707,4],[10422,5]]},"1363":{"position":[[57,4],[469,4],[549,4],[594,4],[634,4],[689,4],[721,4],[774,4],[878,4],[1178,4],[1292,4],[1380,4],[1439,4],[1505,4],[1536,4],[1608,4],[1648,4],[1682,4],[1825,4],[1856,4],[1898,4],[1945,4],[2013,4],[2136,4],[2169,4],[2216,4],[2246,4],[2293,4],[2338,4],[2370,4],[2406,4],[2443,4],[2486,4],[2566,4],[2606,4],[2634,4],[2789,4],[2812,4]]},"1364":{"position":[[58,4],[481,4],[618,4],[703,4],[763,4],[854,4],[893,4],[927,4],[1147,4],[1181,4],[2001,4],[2031,4],[2088,4],[2122,4],[2158,4],[2244,4],[2353,4],[2756,4],[2784,4],[2816,4],[2882,4],[2906,4],[2920,4],[2971,4],[2999,4],[3027,4],[3142,4],[3628,4],[3687,4],[3769,4],[3998,4],[4131,4],[4212,4],[4238,4],[4282,4],[4368,4],[4512,4],[4543,4],[4579,4],[4628,4],[4804,4],[11536,5]]},"1365":{"position":[[58,4],[490,4],[524,4],[646,4],[672,4],[783,4]]},"1366":{"position":[[59,4],[382,4],[423,4],[550,4],[579,4],[838,4]]},"1367":{"position":[[55,4],[467,4],[547,4],[592,4],[647,4],[679,4],[732,4],[836,4],[1297,4],[1411,4],[1448,4],[1587,4],[1620,4],[1680,4],[1747,4],[1778,4],[1868,4],[1907,4],[1941,4],[2228,4],[2264,4],[2285,4],[2329,4],[3153,4],[3210,4],[3240,4],[3302,4],[3338,4],[3424,4],[3551,4],[3619,4],[4045,4],[4073,4],[4105,4],[4171,4],[4195,4],[4209,4],[4260,4],[4309,4],[4424,4],[4910,4],[4969,4],[5051,4],[5096,4],[5267,4],[5300,4],[5336,4],[5391,4],[5434,4],[5545,4],[5594,4],[5618,4],[5641,4],[5722,4],[5774,4],[5838,4],[5879,4],[5986,4],[6017,4],[6053,4],[6084,4],[6122,4],[6167,4],[6205,4],[6264,4],[6301,4],[6575,4],[6598,4],[11339,5]]},"1368":{"position":[[60,4],[355,4],[391,4],[488,4],[572,4],[721,4],[753,4],[795,4],[960,4],[1018,4],[1052,4],[1083,4],[1156,4],[1201,4],[1234,4],[1259,4],[1298,4],[1359,4],[1397,4],[1428,4],[1464,4]]},"1369":{"position":[[64,4],[445,4],[516,4]]},"1370":{"position":[[71,4],[489,4],[566,4],[590,4],[2710,4]]},"1371":{"position":[[62,4],[392,4]]},"1372":{"position":[[59,4],[471,4],[551,4],[596,4],[651,4],[683,4],[736,4],[806,4],[1143,4],[1257,4],[1282,4],[1347,4],[1378,4],[1482,4],[1518,4],[1582,4],[1690,4],[1782,4],[1834,4],[1871,4],[2030,4]]},"1373":{"position":[[56,4],[386,4],[555,4],[711,4],[750,4],[784,4],[863,4],[915,4],[948,4],[1034,4],[1188,4],[1274,4],[1685,4],[1717,4],[1783,4],[1807,4],[1821,4],[1869,4],[1965,4],[1995,4],[2450,4],[2516,4],[2673,4],[2733,4],[6007,4]]},"1374":{"position":[[58,4],[477,4],[523,4],[654,4]]},"1375":{"position":[[59,4],[428,4]]},"1376":{"position":[[64,4],[384,4]]},"1377":{"position":[[61,4],[393,4],[464,4],[497,4],[571,4],[623,4]]},"1378":{"position":[[63,4],[370,4]]},"1379":{"position":[[61,4],[393,4]]},"1380":{"position":[[60,4],[408,4],[480,4],[514,4]]},"1381":{"position":[[59,4],[466,4],[649,4]]},"1382":{"position":[[55,4],[391,4],[546,4],[759,4],[798,4],[832,4],[911,4],[1059,4],[1166,4],[1227,4],[1313,4],[1739,4],[1767,4],[1831,4],[1897,4],[1921,4],[1935,4],[2005,4],[2051,4],[2082,4],[2110,4],[2653,4],[2719,4],[2919,4],[2979,4],[7148,5]]},"1383":{"position":[[56,4],[476,4],[533,4],[555,4],[580,4],[644,4],[674,4],[712,4],[762,4],[844,4],[875,4],[956,4],[978,4],[1019,4],[1137,4],[1161,4],[1184,4]]},"1384":{"position":[[56,4],[431,4],[493,4],[553,4],[700,4],[739,4],[773,4],[852,4],[944,4],[1815,4],[1845,4],[1902,4],[1936,4],[2022,4],[2495,4],[2523,4],[2555,4],[2621,4],[2645,4],[2659,4],[2710,4],[2738,4],[2766,4],[2897,4],[3352,4],[3446,4],[3652,4],[3748,4],[3829,4],[3872,4],[3958,4],[3999,4],[4086,4],[4222,4],[4282,4],[13502,5]]},"1385":{"position":[[62,4],[345,4],[465,4],[504,4],[538,4],[622,4],[683,4],[769,4],[1640,4],[1671,4],[1808,4],[1831,4]]},"1386":{"position":[[67,4],[415,4],[528,4],[551,4]]},"1387":{"position":[[65,4],[455,4],[567,4],[600,4],[660,4],[807,4],[846,4],[880,4],[1023,4],[1894,4],[1924,4],[1986,4],[2072,4],[2497,4],[2529,4],[2595,4],[2619,4],[2633,4],[2684,4],[2712,4],[2864,4],[3319,4],[3378,4],[3584,4],[3680,4],[3761,4],[3862,4],[3903,4],[3951,4],[3980,4],[4116,4],[4176,4]]},"1388":{"position":[[53,4],[503,4],[679,4],[892,4],[931,4],[965,4],[1044,4],[1217,4],[1324,4],[1351,4],[1412,4],[1498,4],[1924,4],[1952,4],[2016,4],[2082,4],[2106,4],[2120,4],[2190,4],[2236,4],[2267,4],[2295,4],[2838,4],[2904,4],[3001,4],[3024,4],[3133,4],[3213,4],[3292,4],[3351,4],[3386,4],[3446,4],[8017,5]]},"1389":{"position":[[58,4],[384,4],[642,4],[712,4],[746,4],[824,4],[912,4],[1002,4],[1034,4],[1068,4],[1186,4],[1253,4],[1344,4],[1373,4],[1405,4],[1548,4],[1620,4],[1726,4],[1802,4],[1912,4],[1983,4],[2078,4],[2117,4],[2366,4],[2430,4],[2500,4],[2789,4],[2841,4],[2957,4],[3108,4],[3139,4],[3284,4],[3342,4],[3410,4],[3820,4],[4107,4],[4148,4],[4194,4],[4276,4],[4361,4],[4411,4]]},"1390":{"position":[[53,4],[401,4],[560,4]]},"1391":{"position":[[54,4],[402,4],[561,4]]},"1392":{"position":[[51,4],[399,4],[573,4],[596,4]]},"1393":{"position":[[55,4],[355,4],[489,4],[526,4],[597,4],[750,4],[787,4],[1025,4],[1058,4],[1081,4]]},"1394":{"position":[[64,4],[489,4],[523,4]]},"1395":{"position":[[59,4],[550,4],[574,4],[640,4],[663,4]]},"1396":{"position":[[64,4],[455,4],[489,4]]},"1397":{"position":[[59,4],[507,4],[537,4],[614,4],[655,4]]},"1398":{"position":[[56,4],[504,4],[534,4],[816,4],[911,4],[934,4],[1106,4]]},"1399":{"position":[[56,4],[404,4],[474,4],[495,4],[516,4],[539,4]]},"1400":{"position":[[65,4],[426,4],[497,4]]},"1401":{"position":[[54,4],[418,4],[527,4]]},"1402":{"position":[[53,4],[517,4],[660,4]]},"1403":{"position":[[52,4],[447,4],[504,4],[526,4],[551,4],[615,4],[645,4],[683,4],[758,4],[786,4],[869,4],[900,4],[981,4],[1003,4],[1044,4],[1162,4],[1186,4],[1209,4]]},"1404":{"position":[[54,4],[428,4],[520,4]]},"1405":{"position":[[54,4],[540,4],[636,4],[683,4],[796,4],[824,4],[883,4],[909,4],[1076,4],[2281,4],[3331,4]]},"1406":{"position":[[64,4],[468,4]]},"1407":{"position":[[64,4],[567,4],[663,4],[710,4],[823,4],[851,4],[910,4],[936,4],[1103,4],[2702,4],[3752,4]]},"1408":{"position":[[55,4],[356,4],[416,4],[657,4],[704,4],[812,4],[842,4],[886,4],[2371,4]]},"1409":{"position":[[54,4],[355,4],[523,4]]},"1410":{"position":[[52,4],[355,4],[663,4],[751,4],[790,4],[837,4],[948,4],[1000,4],[1028,4],[1087,4],[1117,4],[1143,4],[1193,4],[1216,4],[1325,4],[1406,4],[1429,4],[1509,4],[1532,4],[2724,4],[4739,4]]},"1411":{"position":[[59,4],[407,4],[506,4]]},"1412":{"position":[[59,4],[585,4],[777,4],[800,4],[879,4],[909,4],[958,4],[999,4],[1056,4],[1215,4],[1268,4],[1314,4],[1396,4],[1419,4]]},"1413":{"position":[[56,4],[619,4],[658,4],[707,4],[923,4],[946,4],[1025,4],[1055,4],[1104,4],[1145,4],[1202,4],[1361,4],[1445,4],[1491,4],[1584,4],[1625,4],[1655,4],[1693,4],[1731,4],[1758,4],[1793,4],[1842,4],[1890,4]]},"1414":{"position":[[55,4],[453,4],[757,4]]},"1415":{"position":[[59,4],[545,4],[584,4],[618,4],[697,4],[756,4],[812,4],[870,4],[904,4],[990,4],[1401,4],[1433,4],[1499,4],[1523,4],[1537,4],[1585,4],[2106,4],[2172,4],[2318,4],[2372,4],[2432,4]]},"1416":{"position":[[59,4],[520,4],[569,4],[832,4],[898,4],[922,4],[936,4],[1002,4],[1030,4],[1081,4],[1107,4],[1292,4]]},"1417":{"position":[[57,4],[490,4],[539,4],[636,4],[663,4],[766,4],[980,4]]},"1418":{"position":[[60,4],[462,4],[511,4],[615,4],[681,4]]},"1419":{"position":[[56,4],[464,4],[513,4],[705,4],[809,4]]},"1420":{"position":[[60,4],[493,4],[787,4],[1000,4]]},"1421":{"position":[[69,4],[458,4],[929,4]]},"1422":{"position":[[57,4],[405,4],[519,4],[541,4],[565,4],[595,4],[645,4],[718,4]]},"1423":{"position":[[54,4],[402,4],[430,4],[500,4],[522,4],[546,4],[619,4]]},"1424":{"position":[[56,4],[453,4],[510,4],[532,4],[557,4],[621,4],[653,4],[703,4],[785,4],[816,4],[900,4],[1018,4],[1042,4],[1065,4]]},"1425":{"position":[[70,4],[453,4],[681,4]]},"1426":{"position":[[56,4],[553,4],[592,4],[791,4],[822,4],[858,4],[881,4]]},"1427":{"position":[[57,4],[384,4],[589,4],[807,4],[964,4],[994,4],[1017,4],[1096,4],[1126,4],[1175,4],[1216,4],[1273,4],[1432,4],[1485,4],[1531,4],[1613,4],[1668,4]]},"1428":{"position":[[56,4],[439,4],[663,4]]},"1429":{"position":[[54,4],[624,4],[879,4],[918,4],[967,4],[1148,4],[1170,4],[1228,4],[1251,4],[1330,4],[1360,4],[1409,4],[1450,4],[1507,4],[1571,4],[1594,4],[1703,4],[1832,4],[1887,4],[1940,4],[1986,4],[2046,4],[2102,4],[2143,4],[2173,4],[2211,4],[2250,4],[2288,4],[2315,4],[2357,4],[2392,4],[2441,4],[2489,4]]},"1430":{"position":[[61,4],[406,4],[624,4],[776,4],[799,4],[899,4],[929,4],[978,4],[1019,4],[1076,4],[1235,4],[1288,4],[1334,4],[1416,4],[1439,4]]},"1431":{"position":[[54,4],[413,4],[472,4],[582,4],[655,4],[699,4],[783,4]]},"1432":{"position":[[62,4],[500,4],[559,4],[632,4],[654,4],[679,4],[743,4],[775,4],[825,4],[923,4],[954,4],[1038,4],[1281,4],[1304,4]]},"1433":{"position":[[55,4],[352,4],[464,4],[503,4],[536,4],[630,4],[679,4],[707,4],[825,4]]},"1434":{"position":[[57,4],[499,4]]},"1435":{"position":[[62,4],[463,4]]},"1436":{"position":[[58,4],[479,4]]},"1437":{"position":[[55,4],[549,4]]},"1438":{"position":[[53,4],[401,4],[522,4]]},"1439":{"position":[[59,4],[386,4],[619,4],[663,4],[881,4],[1130,4],[1160,4],[1183,4],[1332,4],[1362,4],[1411,4],[1452,4],[1509,4],[1668,4],[1721,4],[1767,4],[1849,4],[1882,4],[1938,4]]},"1440":{"position":[[56,4],[654,4],[698,4],[953,4],[992,4],[1041,4],[1301,4],[1359,4],[1382,4],[1531,4],[1561,4],[1610,4],[1651,4],[1708,4],[1772,4],[1795,4],[1904,4],[2033,4],[2117,4],[2163,4],[2256,4],[2297,4],[2327,4],[2365,4],[2404,4],[2442,4],[2469,4],[2511,4],[2546,4],[2595,4],[2629,4],[2677,4]]},"1441":{"position":[[61,4],[409,4],[505,4]]},"1442":{"position":[[62,4],[420,4],[483,4]]},"1443":{"position":[[55,4],[403,4],[534,4],[565,4],[591,4],[667,4],[690,4]]},"1444":{"position":[[56,4],[339,4],[433,4],[606,4]]},"1445":{"position":[[59,4],[405,4]]},"1446":{"position":[[56,4],[404,4],[559,4]]},"1447":{"position":[[58,4],[396,4],[455,4],[554,4],[592,4],[621,4]]},"1448":{"position":[[57,4],[424,4],[520,4],[675,4],[844,4],[899,4],[922,4]]},"1449":{"position":[[58,4],[514,4],[786,4],[841,4],[864,4]]},"1450":{"position":[[57,4],[424,4],[520,4],[675,4],[791,4],[846,4],[869,4]]},"1451":{"position":[[57,4],[424,4],[520,4],[675,4],[791,4],[846,4],[869,4]]},"1452":{"position":[[53,4],[415,4]]},"1453":{"position":[[69,4],[496,4],[642,4],[797,4],[841,4],[864,4]]},"1454":{"position":[[65,4],[406,4],[525,4],[1346,4],[1386,4],[1437,4],[1713,4],[1769,4],[1819,4],[1869,4],[1923,4],[2167,4],[2191,4],[2219,4],[2251,4],[2294,4],[2335,4],[2842,4],[2910,4],[2972,4],[3030,4],[3092,4],[3158,4],[3205,4]]},"1455":{"position":[[71,4],[444,4],[1014,4],[1082,4]]},"1456":{"position":[[68,4],[431,4],[502,4]]},"1457":{"position":[[64,4],[412,4],[555,4],[578,4]]},"1458":{"position":[[57,4],[384,4],[578,4],[681,4],[759,4],[870,4],[893,4]]},"1459":{"position":[[68,4],[416,4],[573,4]]},"1460":{"position":[[67,4],[413,4],[525,4],[575,4],[718,4],[784,4]]},"1461":{"position":[[68,4],[576,4],[621,4],[851,4],[3567,4],[3684,4]]},"1462":{"position":[[58,4],[543,4],[634,4],[727,4],[809,4],[1008,4],[1042,4],[1089,4],[1129,4],[1163,4],[1242,4],[1350,4],[1453,4],[1531,4],[1587,4],[1648,4],[1734,4],[2195,4],[2223,4],[2287,4],[2353,4],[2377,4],[2391,4],[2461,4],[2507,4],[2538,4],[2669,4],[2700,4],[2729,4],[2762,4],[2803,4],[2882,4],[2948,4],[2975,4],[3001,4],[3507,4],[3615,4],[3725,4],[3780,4],[3911,4],[4147,4],[4210,4],[4234,4]]},"1463":{"position":[[68,4],[421,4],[506,4]]},"1464":{"position":[[69,4],[414,4]]},"1465":{"position":[[59,4],[478,4],[563,4],[602,4],[774,4],[988,4],[1165,4],[1202,4],[1281,4],[1354,4],[1378,4]]},"1466":{"position":[[72,4],[548,4],[584,4],[607,4],[716,4],[750,4]]},"1467":{"position":[[56,4],[701,4],[794,4],[876,4],[1075,4],[1109,4],[1156,4],[1196,4],[1230,4],[1309,4],[1417,4],[1589,4],[1667,4],[1723,4],[1784,4],[1870,4],[1909,4],[2370,4],[2398,4],[2462,4],[2528,4],[2552,4],[2566,4],[2636,4],[2682,4],[2713,4],[2853,4],[2882,4],[2915,4],[2956,4],[3035,4],[3084,4],[3152,4],[3179,4],[3205,4],[3776,4],[3884,4],[3994,4],[4056,4],[4079,4],[4188,4],[4215,4],[4341,4],[4370,4],[4404,4],[4633,4],[4705,4],[4742,4],[4821,4],[4931,4],[4955,4]]},"1468":{"position":[[63,4],[411,4],[514,4]]},"1469":{"position":[[56,4],[426,4],[495,4],[517,4],[541,4],[563,4],[602,4],[625,4]]},"1470":{"position":[[61,4],[688,4],[727,4],[777,4],[1032,4],[1071,4],[1365,4],[1387,4],[1445,4],[1468,4],[1587,4],[1683,4],[1759,4],[1789,4],[1838,4],[1879,4],[1959,4],[1992,4],[2059,4],[2093,4],[2116,4],[2225,4],[2333,4],[2373,4],[2431,4],[2555,4],[2639,4],[2685,4],[2778,4],[2819,4],[2849,4],[2887,4],[2926,4],[2964,4],[2991,4],[3033,4],[3068,4],[3117,4],[3151,4],[3251,4]]},"1471":{"position":[[56,4],[475,4],[605,4],[673,4],[701,4],[740,4],[774,4],[820,4],[990,4],[1097,4],[1129,4],[1195,4],[1219,4],[1233,4],[1303,4],[1331,4],[1617,4],[1640,4]]},"1472":{"position":[[57,4],[508,4],[576,4],[607,4],[635,4],[674,4],[708,4],[815,4],[929,4],[955,4],[1087,4],[1194,4],[1482,4],[1543,4],[1578,4],[1601,4]]},"1473":{"position":[[54,4],[636,4],[704,4],[732,4],[771,4],[805,4],[851,4],[1042,4],[1149,4],[1181,4],[1247,4],[1271,4],[1285,4],[1355,4],[1383,4],[1530,4],[1553,4],[1662,4],[1864,4],[1887,4]]},"1474":{"position":[[58,4],[403,4],[621,4],[773,4],[796,4],[875,4],[905,4],[954,4],[995,4],[1052,4],[1211,4],[1264,4],[1310,4],[1392,4],[1415,4]]},"1475":{"position":[[55,4],[400,4],[655,4],[694,4],[743,4],[919,4],[942,4],[1021,4],[1051,4],[1100,4],[1141,4],[1198,4],[1357,4],[1441,4],[1487,4],[1580,4],[1621,4],[1651,4],[1689,4],[1727,4],[1754,4],[1789,4],[1838,4],[1886,4]]},"1476":{"position":[[61,4],[409,4],[491,4]]},"1477":{"position":[[54,4],[463,4],[592,4]]},"1478":{"position":[[52,4],[491,4],[612,4],[644,4],[689,4],[712,4],[821,4],[954,4],[992,4],[1014,4],[1037,4]]},"1479":{"position":[[69,4],[417,4],[469,4],[583,4]]},"1480":{"position":[[58,4],[345,4],[470,4],[696,4],[815,4],[879,4],[915,4],[973,4],[996,4]]},"1481":{"position":[[60,4],[355,4],[391,4],[447,4],[594,4],[802,4],[833,4],[903,4],[1061,4],[1115,4],[1400,4],[1529,4]]},"1482":{"position":[[55,4],[403,4],[500,4]]},"1483":{"position":[[60,4],[380,4]]},"1484":{"position":[[60,4],[408,4],[509,4]]},"1485":{"position":[[61,4],[404,4],[658,4]]},"1486":{"position":[[56,4],[461,4],[507,4],[584,4],[632,4],[660,4],[684,4]]},"1487":{"position":[[53,4],[431,4],[626,4]]}},"keywords":{}}],["none(nonetyp",{"_index":4340,"title":{},"content":{"898":{"position":[[2137,15]]}},"keywords":{}}],["none.th",{"_index":4366,"title":{},"content":{"900":{"position":[[672,8]]}},"keywords":{}}],["noneal",{"_index":7997,"title":{},"content":{"1429":{"position":[[4401,7]]},"1440":{"position":[[4394,7]]}},"keywords":{}}],["nonetheless",{"_index":5522,"title":{},"content":{"1075":{"position":[[257,12]]}},"keywords":{}}],["nonetyp",{"_index":4871,"title":{},"content":{"983":{"position":[[144,10]]}},"keywords":{}}],["nonexist",{"_index":4440,"title":{},"content":{"907":{"position":[[129,11]]}},"keywords":{}}],["nop",{"_index":7019,"title":{},"content":{"1370":{"position":[[2766,3]]}},"keywords":{}}],["norm",{"_index":5501,"title":{},"content":{"1072":{"position":[[307,5]]}},"keywords":{}}],["normal",{"_index":764,"title":{"866":{"position":[[32,6]]}},"content":{"23":{"position":[[2829,6]]},"283":{"position":[[103,6]]},"400":{"position":[[281,6]]},"407":{"position":[[113,8]]},"462":{"position":[[105,6]]},"693":{"position":[[9946,9]]},"710":{"position":[[363,6]]},"711":{"position":[[88,6]]},"779":{"position":[[281,6]]},"786":{"position":[[113,8]]},"835":{"position":[[235,6]]},"847":{"position":[[135,6]]},"866":{"position":[[45,6],[234,6]]},"870":{"position":[[353,6]]},"887":{"position":[[72,6]]},"890":{"position":[[2756,6]]},"987":{"position":[[602,6]]},"991":{"position":[[3225,6]]},"1024":{"position":[[655,7]]},"1026":{"position":[[804,6]]},"1042":{"position":[[265,6]]},"1044":{"position":[[2137,6],[2792,6]]},"1045":{"position":[[49,6]]},"1053":{"position":[[1227,9]]},"1057":{"position":[[529,7]]},"1093":{"position":[[139,7]]},"1105":{"position":[[1504,9]]},"1136":{"position":[[3736,9]]},"1138":{"position":[[7398,9]]},"1140":{"position":[[6324,9]]},"1142":{"position":[[1768,9]]},"1146":{"position":[[1708,9]]},"1148":{"position":[[4748,9]]},"1155":{"position":[[1804,9]]},"1156":{"position":[[1382,9]]},"1167":{"position":[[7328,9]]},"1169":{"position":[[1167,9]]},"1186":{"position":[[2972,9]]},"1187":{"position":[[2985,9]]},"1188":{"position":[[7711,9]]},"1191":{"position":[[1572,9]]},"1192":{"position":[[1747,9]]},"1193":{"position":[[1799,9]]},"1194":{"position":[[1439,9]]},"1195":{"position":[[1417,9]]},"1196":{"position":[[1227,9]]},"1197":{"position":[[2210,9]]},"1198":{"position":[[2220,9]]},"1199":{"position":[[2248,9]]},"1200":{"position":[[2115,9]]},"1201":{"position":[[1375,9]]},"1202":{"position":[[2517,9],[6914,9]]},"1203":{"position":[[1609,9]]},"1204":{"position":[[1453,9]]},"1205":{"position":[[2782,9]]},"1206":{"position":[[1253,9]]},"1207":{"position":[[1410,9]]},"1209":{"position":[[2758,9]]},"1217":{"position":[[6069,9]]},"1219":{"position":[[2055,9]]},"1222":{"position":[[1179,9]]},"1223":{"position":[[1189,9]]},"1224":{"position":[[1369,9]]},"1226":{"position":[[6537,9]]},"1228":{"position":[[1641,8],[2270,8],[8150,9]]},"1235":{"position":[[4018,9]]},"1237":{"position":[[6707,9]]},"1348":{"position":[[3809,8]]},"1364":{"position":[[6780,6]]},"1384":{"position":[[5825,6]]},"1422":{"position":[[2179,8],[3274,9]]},"1426":{"position":[[2315,9]]},"1446":{"position":[[1700,8],[1967,8]]},"1454":{"position":[[4673,6]]},"1455":{"position":[[2321,6]]},"1459":{"position":[[1940,8]]},"1467":{"position":[[8474,8],[8768,6]]},"1473":{"position":[[3930,6]]},"1482":{"position":[[1716,6]]}},"keywords":{}}],["notabl",{"_index":4879,"title":{},"content":{"987":{"position":[[184,8]]},"1082":{"position":[[1316,8]]},"1084":{"position":[[27,8]]}},"keywords":{}}],["note",{"_index":417,"title":{"1034":{"position":[[6,5]]}},"content":{"13":{"position":[[85,4]]},"17":{"position":[[720,5],[786,4]]},"23":{"position":[[123,4]]},"65":{"position":[[169,4]]},"66":{"position":[[161,4]]},"89":{"position":[[607,4]]},"94":{"position":[[1505,4]]},"126":{"position":[[506,4]]},"221":{"position":[[607,4]]},"226":{"position":[[1505,4]]},"249":{"position":[[506,4]]},"277":{"position":[[627,4]]},"280":{"position":[[111,4]]},"282":{"position":[[736,4]]},"288":{"position":[[95,4]]},"289":{"position":[[115,4]]},"297":{"position":[[600,4]]},"298":{"position":[[2220,4]]},"301":{"position":[[864,4]]},"309":{"position":[[867,4]]},"310":{"position":[[780,4]]},"334":{"position":[[424,4]]},"345":{"position":[[628,4]]},"346":{"position":[[415,4]]},"406":{"position":[[494,4]]},"416":{"position":[[238,4],[1035,4]]},"417":{"position":[[467,4],[1183,4]]},"438":{"position":[[119,4]]},"453":{"position":[[169,4]]},"454":{"position":[[161,4]]},"474":{"position":[[163,4]]},"510":{"position":[[121,4]]},"511":{"position":[[141,4]]},"575":{"position":[[212,4]]},"581":{"position":[[730,4]]},"584":{"position":[[542,5]]},"622":{"position":[[94,4]]},"682":{"position":[[163,4]]},"687":{"position":[[9,4]]},"688":{"position":[[217,4]]},"689":{"position":[[236,4]]},"692":{"position":[[81,4]]},"705":{"position":[[1000,4]]},"706":{"position":[[1535,4]]},"710":{"position":[[282,5]]},"713":{"position":[[16,4]]},"715":{"position":[[1931,4]]},"785":{"position":[[494,4]]},"795":{"position":[[238,4],[1035,4]]},"796":{"position":[[467,4],[1183,4]]},"817":{"position":[[119,4]]},"833":{"position":[[417,5]]},"840":{"position":[[83,5]]},"841":{"position":[[399,4]]},"851":{"position":[[1543,4]]},"861":{"position":[[889,4]]},"866":{"position":[[257,4]]},"888":{"position":[[748,4]]},"890":{"position":[[1344,4],[3853,4]]},"897":{"position":[[0,4]]},"898":{"position":[[173,4]]},"907":{"position":[[339,4]]},"908":{"position":[[0,4]]},"919":{"position":[[1691,5]]},"941":{"position":[[335,4]]},"942":{"position":[[1748,5]]},"944":{"position":[[985,5]]},"946":{"position":[[0,5]]},"950":{"position":[[1042,4]]},"957":{"position":[[0,5]]},"980":{"position":[[0,5]]},"991":{"position":[[227,5],[672,5],[2690,4]]},"995":{"position":[[485,4]]},"1001":{"position":[[525,4]]},"1006":{"position":[[1190,4]]},"1015":{"position":[[165,4]]},"1026":{"position":[[532,4]]},"1037":{"position":[[478,6]]},"1064":{"position":[[623,4]]},"1067":{"position":[[653,4]]},"1068":{"position":[[3,6]]},"1070":{"position":[[495,4],[803,4]]},"1071":{"position":[[3,5]]},"1082":{"position":[[1084,4],[1270,4]]},"1083":{"position":[[918,4],[1039,4]]},"1087":{"position":[[120,4]]},"1102":{"position":[[727,5],[978,4]]},"1103":{"position":[[978,4]]},"1112":{"position":[[1091,4],[3036,4]]},"1113":{"position":[[61,4]]},"1120":{"position":[[882,5]]},"1132":{"position":[[298,5]]},"1138":{"position":[[3473,4]]},"1140":{"position":[[2962,4]]},"1150":{"position":[[319,4]]},"1163":{"position":[[22,4]]},"1167":{"position":[[3966,4]]},"1188":{"position":[[3015,4]]},"1217":{"position":[[2707,4]]},"1228":{"position":[[4788,4]]},"1231":{"position":[[392,4]]},"1232":{"position":[[3183,4]]},"1240":{"position":[[454,5]]},"1247":{"position":[[595,4]]},"1348":{"position":[[3919,5]]},"1351":{"position":[[2868,4],[4634,4]]},"1353":{"position":[[2500,4]]},"1355":{"position":[[6439,5]]},"1362":{"position":[[5106,5]]},"1364":{"position":[[5133,5]]},"1382":{"position":[[5269,5]]},"1383":{"position":[[4512,4],[4628,4],[5919,4],[8734,4]]},"1384":{"position":[[6697,4],[20239,4]]},"1386":{"position":[[4124,4]]},"1387":{"position":[[6778,5]]},"1388":{"position":[[5963,5]]},"1393":{"position":[[2824,5],[3644,5],[5381,5],[5465,5]]},"1397":{"position":[[1986,5]]},"1403":{"position":[[4515,4],[5807,4],[6111,4],[7476,4],[8863,4]]},"1410":{"position":[[4490,5]]},"1415":{"position":[[5597,4]]},"1427":{"position":[[4078,4],[5611,5]]},"1439":{"position":[[6227,4],[7520,5]]},"1442":{"position":[[2259,5]]},"1446":{"position":[[2452,6]]},"1448":{"position":[[2721,5]]},"1449":{"position":[[2655,5]]},"1454":{"position":[[5401,4]]},"1461":{"position":[[1909,5],[2731,4]]},"1462":{"position":[[6533,4],[7593,4]]},"1467":{"position":[[7648,4]]},"1469":{"position":[[832,4]]},"1471":{"position":[[5614,5]]},"1472":{"position":[[6500,5]]},"1473":{"position":[[5785,5]]},"1478":{"position":[[2701,5]]},"1482":{"position":[[1558,4],[1838,4]]},"1486":{"position":[[5296,4]]},"1487":{"position":[[2690,4]]}},"keywords":{}}],["noth",{"_index":199,"title":{"1233":{"position":[[22,8]]}},"content":{"9":{"position":[[637,7]]},"237":{"position":[[619,7]]},"1172":{"position":[[1092,7]]},"1173":{"position":[[392,7]]},"1174":{"position":[[296,7]]},"1175":{"position":[[316,7]]},"1176":{"position":[[400,7]]},"1177":{"position":[[312,7]]},"1178":{"position":[[466,7]]},"1179":{"position":[[332,7]]},"1180":{"position":[[662,7]]},"1181":{"position":[[417,7]]},"1182":{"position":[[354,7]]},"1183":{"position":[[309,7]]},"1232":{"position":[[3481,7]]},"1233":{"position":[[50,7]]},"1241":{"position":[[27,8]]},"1286":{"position":[[219,7]]},"1458":{"position":[[2195,7]]}},"keywords":{}}],["notic",{"_index":6876,"title":{},"content":{"1363":{"position":[[4066,7]]}},"keywords":{}}],["notifi",{"_index":5473,"title":{},"content":{"1067":{"position":[[255,8]]}},"keywords":{}}],["notsupported—although",{"_index":2620,"title":{},"content":{"575":{"position":[[132,21]]}},"keywords":{}}],["now",{"_index":354,"title":{"422":{"position":[[0,4]]},"801":{"position":[[0,4]]},"998":{"position":[[13,4]]}},"content":{"10":{"position":[[1193,3]]},"18":{"position":[[1650,4]]},"19":{"position":[[11,3]]},"402":{"position":[[1092,3]]},"422":{"position":[[4,5],[120,5]]},"446":{"position":[[182,3]]},"513":{"position":[[121,3],[127,5]]},"514":{"position":[[115,3],[121,5]]},"638":{"position":[[310,3]]},"663":{"position":[[324,3],[1016,3]]},"781":{"position":[[1092,3]]},"801":{"position":[[4,5],[120,5]]},"825":{"position":[[182,3]]},"860":{"position":[[220,5]]},"864":{"position":[[948,5],[1023,5],[1435,5]]},"886":{"position":[[258,3],[280,3]]},"898":{"position":[[214,3],[544,3],[2715,3]]},"901":{"position":[[286,3],[970,3]]},"902":{"position":[[299,3]]},"919":{"position":[[2410,3]]},"924":{"position":[[1831,3]]},"966":{"position":[[627,3]]},"970":{"position":[[4,4]]},"977":{"position":[[636,4]]},"981":{"position":[[347,3]]},"1009":{"position":[[587,3],[657,3]]},"1048":{"position":[[967,3]]},"1102":{"position":[[925,3]]},"1105":{"position":[[949,3],[1910,3],[1999,3]]},"1172":{"position":[[1895,3]]},"1471":{"position":[[3377,5]]},"1472":{"position":[[3961,5]]},"1473":{"position":[[3411,5]]}},"keywords":{}}],["now.elapsed_milli",{"_index":2487,"title":{},"content":{"513":{"position":[[142,20],[210,20]]}},"keywords":{}}],["now.elapsed_sec",{"_index":2491,"title":{},"content":{"514":{"position":[[136,18],[202,18]]}},"keywords":{}}],["nth",{"_index":4007,"title":{},"content":{"866":{"position":[[193,3]]}},"keywords":{}}],["null",{"_index":5822,"title":{},"content":{"1127":{"position":[[834,5]]},"1172":{"position":[[2213,4]]}},"keywords":{}}],["num",{"_index":5928,"title":{},"content":{"1138":{"position":[[2203,3]]},"1140":{"position":[[1692,3]]},"1167":{"position":[[2696,3]]},"1188":{"position":[[1745,3]]},"1217":{"position":[[1437,3]]},"1226":{"position":[[5102,3]]},"1228":{"position":[[3518,3]]},"1237":{"position":[[5272,3]]}},"keywords":{}}],["number",{"_index":83,"title":{},"content":{"5":{"position":[[114,6]]},"9":{"position":[[1478,7],[1847,6]]},"10":{"position":[[211,6]]},"23":{"position":[[61,6],[3317,6]]},"40":{"position":[[179,7]]},"99":{"position":[[788,7]]},"173":{"position":[[179,7]]},"231":{"position":[[788,7]]},"363":{"position":[[467,6]]},"366":{"position":[[297,6]]},"367":{"position":[[323,6]]},"368":{"position":[[2367,6]]},"372":{"position":[[238,6]]},"373":{"position":[[234,6]]},"374":{"position":[[480,6]]},"375":{"position":[[176,6]]},"377":{"position":[[544,6]]},"379":{"position":[[243,6]]},"386":{"position":[[391,6]]},"389":{"position":[[1649,6]]},"396":{"position":[[328,6]]},"398":{"position":[[198,6]]},"399":{"position":[[201,6]]},"567":{"position":[[164,8]]},"591":{"position":[[120,6],[214,6]]},"595":{"position":[[725,6],[748,6]]},"610":{"position":[[332,6]]},"614":{"position":[[241,6]]},"616":{"position":[[859,6]]},"636":{"position":[[365,6]]},"644":{"position":[[110,7],[584,6]]},"647":{"position":[[54,6]]},"651":{"position":[[78,6]]},"690":{"position":[[3053,6]]},"742":{"position":[[467,6]]},"745":{"position":[[297,6]]},"746":{"position":[[323,6]]},"747":{"position":[[2367,6]]},"751":{"position":[[238,6]]},"752":{"position":[[234,6]]},"753":{"position":[[480,6]]},"754":{"position":[[176,6]]},"756":{"position":[[544,6]]},"758":{"position":[[243,6]]},"765":{"position":[[391,6]]},"768":{"position":[[1649,6]]},"775":{"position":[[328,6]]},"777":{"position":[[198,6]]},"778":{"position":[[201,6]]},"890":{"position":[[6264,6]]},"919":{"position":[[2734,6]]},"937":{"position":[[846,6],[902,6],[1762,6]]},"955":{"position":[[164,6]]},"1052":{"position":[[1277,6]]},"1061":{"position":[[138,6]]},"1068":{"position":[[94,6]]},"1112":{"position":[[2370,6],[4971,6]]},"1113":{"position":[[174,6]]},"1138":{"position":[[2231,6]]},"1140":{"position":[[1720,6]]},"1167":{"position":[[834,7],[2724,6]]},"1188":{"position":[[1773,6]]},"1217":{"position":[[1465,6]]},"1226":{"position":[[5130,6]]},"1228":{"position":[[1776,6],[3546,6]]},"1237":{"position":[[5300,6]]},"1386":{"position":[[1804,6]]},"1395":{"position":[[2148,6]]},"1446":{"position":[[1875,6],[1940,6]]},"1486":{"position":[[2221,6]]}},"keywords":{}}],["number.static_link",{"_index":8209,"title":{},"content":{"1455":{"position":[[3801,19]]}},"keywords":{}}],["number.static_pic_link",{"_index":8211,"title":{},"content":{"1455":{"position":[[4200,23]]}},"keywords":{}}],["numer",{"_index":2784,"title":{},"content":{"592":{"position":[[177,7]]},"595":{"position":[[873,7],[1326,7]]}},"keywords":{}}],["o",{"_index":3517,"title":{},"content":{"693":{"position":[[410,1]]},"919":{"position":[[2659,1],[2686,3],[2729,4]]},"1056":{"position":[[286,1],[375,1]]},"1186":{"position":[[295,2]]},"1187":{"position":[[308,2]]},"1188":{"position":[[5034,2]]},"1226":{"position":[[4841,2]]},"1237":{"position":[[5011,2]]},"1260":{"position":[[962,1]]},"1291":{"position":[[962,1]]},"1319":{"position":[[962,1]]},"1384":{"position":[[9699,4],[9939,4]]},"1422":{"position":[[4484,1]]},"1423":{"position":[[3478,1]]}},"keywords":{}}],["o"",{"_index":1085,"title":{},"content":{"89":{"position":[[420,8]]},"221":{"position":[[420,8]]},"368":{"position":[[754,8]]},"747":{"position":[[754,8]]},"1031":{"position":[[985,8]]},"1048":{"position":[[683,8],[1180,8]]},"1103":{"position":[[314,8]]}},"keywords":{}}],["o(set",{"_index":5594,"title":{},"content":{"1087":{"position":[[229,7]]}},"keywords":{}}],["o2",{"_index":7276,"title":{},"content":{"1386":{"position":[[3876,4],[5057,2]]}},"keywords":{}}],["obey",{"_index":333,"title":{},"content":{"10":{"position":[[692,4]]}},"keywords":{}}],["obj",{"_index":5254,"title":{},"content":{"1048":{"position":[[1048,4],[1167,5]]}},"keywords":{}}],["obj(arc<dyn",{"_index":4342,"title":{},"content":{"898":{"position":[[2175,14]]}},"keywords":{}}],["objcopy_for_shared_library_interfac",{"_index":7379,"title":{},"content":{"1389":{"position":[[2866,37]]}},"keywords":{}}],["objcopy_recalculates_layout",{"_index":7380,"title":{},"content":{"1389":{"position":[[2909,28]]}},"keywords":{}}],["objdump",{"_index":6998,"title":{},"content":{"1368":{"position":[[1009,8]]},"1389":{"position":[[2948,8]]},"1447":{"position":[[519,8]]}},"keywords":{}}],["object",{"_index":632,"title":{},"content":{"22":{"position":[[130,9]]},"76":{"position":[[99,7]]},"277":{"position":[[81,6],[619,7]]},"282":{"position":[[128,6],[728,7]]},"298":{"position":[[2211,8]]},"345":{"position":[[664,7],[746,7]]},"411":{"position":[[253,6]]},"428":{"position":[[91,6]]},"505":{"position":[[99,7]]},"628":{"position":[[91,6]]},"629":{"position":[[90,6]]},"640":{"position":[[61,6]]},"646":{"position":[[61,6]]},"693":{"position":[[8364,6]]},"704":{"position":[[197,6],[1019,6],[1936,6],[2075,6]]},"710":{"position":[[300,6]]},"711":{"position":[[12,6],[1016,6]]},"722":{"position":[[50,6],[415,6]]},"790":{"position":[[253,6]]},"807":{"position":[[91,6]]},"840":{"position":[[1812,6]]},"850":{"position":[[778,7]]},"851":{"position":[[1305,7],[1332,7],[1356,6],[1534,8]]},"856":{"position":[[488,7]]},"870":{"position":[[419,6],[463,6],[1401,7],[1479,7]]},"924":{"position":[[2168,6]]},"983":{"position":[[129,6]]},"1004":{"position":[[130,7],[152,6]]},"1005":{"position":[[91,6]]},"1006":{"position":[[10,6],[1237,6]]},"1052":{"position":[[251,6]]},"1082":{"position":[[325,6]]},"1104":{"position":[[2414,6]]},"1362":{"position":[[4818,9],[12620,9],[12633,9],[13411,9]]},"1364":{"position":[[4854,9],[13320,9],[13333,9],[14111,9]]},"1367":{"position":[[6634,9],[12528,9],[12541,9],[13319,9]]},"1373":{"position":[[2770,6]]},"1382":{"position":[[10982,9],[10995,9]]},"1384":{"position":[[9692,6],[9932,6],[11694,9],[11721,9],[11733,9],[11762,9],[12651,9],[12667,9],[12679,9],[12697,9],[18264,6],[18636,9],[18649,9]]},"1385":{"position":[[6560,9],[6573,9]]},"1386":{"position":[[2071,9],[2087,9]]},"1387":{"position":[[9933,9],[9946,9]]},"1388":{"position":[[9475,9],[9488,9]]},"1389":{"position":[[5325,6],[5572,6]]},"1415":{"position":[[2567,6],[2686,6],[5190,6]]},"1442":{"position":[[538,6],[2355,9],[2368,9],[3137,7],[3197,7]]},"1446":{"position":[[736,8],[1990,7],[2100,7],[2150,7],[2546,7]]},"1453":{"position":[[924,9]]},"1459":{"position":[[1963,7],[2073,7],[2123,7]]},"1472":{"position":[[5580,6]]},"1485":{"position":[[761,6],[3846,9],[3859,9],[4543,6],[4688,6],[4845,6]]}},"keywords":{}}],["object_file_extens",{"_index":7381,"title":{},"content":{"1389":{"position":[[2973,22]]}},"keywords":{}}],["object_format",{"_index":7382,"title":{},"content":{"1389":{"position":[[3005,14]]},"1481":{"position":[[760,14]]}},"keywords":{}}],["observ",{"_index":779,"title":{"1055":{"position":[[0,13]]}},"content":{"23":{"position":[[3410,8]]},"900":{"position":[[1433,9]]}},"keywords":{}}],["obtain",{"_index":1007,"title":{},"content":{"79":{"position":[[63,6]]},"90":{"position":[[49,6]]},"92":{"position":[[1179,6]]},"107":{"position":[[28,6]]},"112":{"position":[[34,6]]},"222":{"position":[[49,6]]},"224":{"position":[[1179,6]]},"236":{"position":[[400,6]]},"237":{"position":[[400,6]]},"427":{"position":[[482,6]]},"508":{"position":[[63,6]]},"519":{"position":[[28,6]]},"524":{"position":[[34,6]]},"570":{"position":[[325,6]]},"666":{"position":[[416,6]]},"693":{"position":[[5290,6]]},"704":{"position":[[1902,7],[2051,7]]},"806":{"position":[[482,6]]},"872":{"position":[[1015,8]]},"923":{"position":[[222,8]]},"924":{"position":[[2337,6]]},"937":{"position":[[4251,6]]},"939":{"position":[[114,6],[218,6]]},"946":{"position":[[85,9]]},"1040":{"position":[[1605,6]]},"1050":{"position":[[3284,6]]},"1285":{"position":[[41,6],[172,6]]},"1286":{"position":[[0,6]]},"1287":{"position":[[0,6]]}},"keywords":{}}],["ocaml",{"_index":62,"title":{},"content":{"4":{"position":[[454,5]]},"7":{"position":[[225,5]]},"9":{"position":[[2067,5],[2296,6]]},"17":{"position":[[248,5]]},"22":{"position":[[152,6]]},"23":{"position":[[1780,6]]},"92":{"position":[[524,5]]},"224":{"position":[[524,5]]},"1448":{"position":[[1019,5],[1973,5],[2761,5]]},"1449":{"position":[[959,5],[1907,5],[2695,5]]}},"keywords":{}}],["ocaml_binari",{"_index":8115,"title":{"1448":{"position":[[0,13]]}},"content":{"1448":{"position":[[4,13],[930,14],[2838,13]]}},"keywords":{}}],["ocaml_librari",{"_index":8122,"title":{"1449":{"position":[[0,14]]}},"content":{"1448":{"position":[[2109,13],[2963,14],[3041,14]]},"1449":{"position":[[4,14],[872,15],[2043,13],[2772,14]]}},"keywords":{}}],["ocaml_object",{"_index":8139,"title":{"1450":{"position":[[0,13]]}},"content":{"1450":{"position":[[4,13]]}},"keywords":{}}],["ocaml_shar",{"_index":8140,"title":{"1451":{"position":[[0,13]]}},"content":{"1451":{"position":[[4,13]]}},"keywords":{}}],["ocamldep",{"_index":1121,"title":{},"content":{"92":{"position":[[576,11]]},"224":{"position":[[576,11]]}},"keywords":{}}],["ocamldep_flag",{"_index":8118,"title":{},"content":{"1448":{"position":[[634,15]]},"1449":{"position":[[653,15]]},"1450":{"position":[[634,15]]},"1451":{"position":[[634,15]]}},"keywords":{}}],["occas",{"_index":7648,"title":{},"content":{"1399":{"position":[[2537,9]]}},"keywords":{}}],["occasion",{"_index":1259,"title":{},"content":{"98":{"position":[[1287,12]]},"230":{"position":[[1287,12]]}},"keywords":{}}],["occur",{"_index":2611,"title":{},"content":{"572":{"position":[[211,7]]},"577":{"position":[[539,6]]},"864":{"position":[[1530,5]]},"869":{"position":[[348,5]]},"1112":{"position":[[1334,8]]},"1254":{"position":[[651,6]]},"1386":{"position":[[2463,6]]},"1412":{"position":[[3574,6]]}},"keywords":{}}],["occurr",{"_index":2603,"title":{},"content":{"569":{"position":[[109,10]]},"591":{"position":[[130,11],[224,11],[467,10],[519,10],[700,11]]},"594":{"position":[[197,10],[431,10]]},"596":{"position":[[228,10]]},"607":{"position":[[235,10]]},"610":{"position":[[99,11],[192,11],[342,11]]},"611":{"position":[[296,11]]},"612":{"position":[[323,11]]},"613":{"position":[[182,10]]},"616":{"position":[[214,11],[267,11]]},"1088":{"position":[[686,11]]},"1363":{"position":[[5327,10]]},"1367":{"position":[[10243,10]]}},"keywords":{}}],["of"1.0.0"",{"_index":7497,"title":{},"content":{"1393":{"position":[[8711,19]]}},"keywords":{}}],["of.buckconfig",{"_index":2654,"title":{},"content":{"580":{"position":[[121,14]]},"693":{"position":[[5477,15]]}},"keywords":{}}],["of//foo:bar",{"_index":5849,"title":{},"content":{"1133":{"position":[[933,11]]}},"keywords":{}}],["ofanalyz",{"_index":4543,"title":{},"content":{"924":{"position":[[1544,9]]}},"keywords":{}}],["ofbuck",{"_index":6265,"title":{},"content":{"1260":{"position":[[211,6]]},"1291":{"position":[[211,6]]},"1319":{"position":[[211,6]]}},"keywords":{}}],["ofbuild",{"_index":3426,"title":{},"content":{"683":{"position":[[220,7]]}},"keywords":{}}],["ofbxl.unconfiguredtargetnod",{"_index":3888,"title":{},"content":{"846":{"position":[[884,29]]}},"keywords":{}}],["ofctx.act",{"_index":3705,"title":{},"content":{"711":{"position":[[71,13]]}},"keywords":{}}],["ofdeps(//example:foo",{"_index":4413,"title":{},"content":{"904":{"position":[[1350,21]]}},"keywords":{}}],["offer",{"_index":3823,"title":{},"content":{"833":{"position":[[253,7]]},"869":{"position":[[437,7]]},"959":{"position":[[37,5],[265,7]]},"1239":{"position":[[6,6]]}},"keywords":{}}],["offici",{"_index":6399,"title":{},"content":{"1348":{"position":[[4446,8]]},"1351":{"position":[[985,8]]},"1358":{"position":[[2826,8]]}},"keywords":{}}],["offlin",{"_index":8410,"title":{},"content":{"1470":{"position":[[4677,7]]}},"keywords":{}}],["ofhost_info",{"_index":4617,"title":{},"content":{"937":{"position":[[4544,11]]}},"keywords":{}}],["oflib",{"_index":4886,"title":{},"content":{"987":{"position":[[877,6]]}},"keywords":{}}],["ofrul",{"_index":594,"title":{},"content":{"18":{"position":[[1966,7]]}},"keywords":{}}],["ofsub",{"_index":2766,"title":{},"content":{"591":{"position":[[236,5]]}},"keywords":{}}],["ok",{"_index":5123,"title":{},"content":{"1036":{"position":[[5,2]]}},"keywords":{}}],["old",{"_index":346,"title":{},"content":{"10":{"position":[[942,3]]},"93":{"position":[[167,3]]},"225":{"position":[[167,3]]},"610":{"position":[[20,4],[217,3]]},"980":{"position":[[1373,3]]},"1050":{"position":[[913,3]]},"1136":{"position":[[3320,3]]},"1138":{"position":[[6982,3]]},"1140":{"position":[[5908,3]]},"1142":{"position":[[1352,3]]},"1146":{"position":[[1292,3]]},"1148":{"position":[[4332,3]]},"1155":{"position":[[1388,3]]},"1156":{"position":[[966,3]]},"1167":{"position":[[6912,3]]},"1169":{"position":[[751,3]]},"1186":{"position":[[2556,3]]},"1187":{"position":[[2569,3]]},"1188":{"position":[[7295,3]]},"1191":{"position":[[1156,3]]},"1192":{"position":[[1331,3]]},"1193":{"position":[[1383,3]]},"1194":{"position":[[1023,3]]},"1195":{"position":[[1001,3]]},"1196":{"position":[[811,3]]},"1197":{"position":[[1794,3]]},"1198":{"position":[[1804,3]]},"1199":{"position":[[1832,3]]},"1200":{"position":[[1699,3]]},"1201":{"position":[[959,3]]},"1202":{"position":[[2101,3],[6498,3]]},"1203":{"position":[[1193,3]]},"1204":{"position":[[1037,3]]},"1205":{"position":[[2366,3]]},"1206":{"position":[[837,3]]},"1207":{"position":[[994,3]]},"1209":{"position":[[2342,3]]},"1217":{"position":[[5653,3]]},"1219":{"position":[[1639,3]]},"1222":{"position":[[763,3]]},"1223":{"position":[[773,3]]},"1224":{"position":[[953,3]]},"1226":{"position":[[6121,3]]},"1228":{"position":[[7734,3]]},"1235":{"position":[[3602,3]]},"1237":{"position":[[6291,3]]}},"keywords":{}}],["older",{"_index":5941,"title":{},"content":{"1142":{"position":[[253,5],[274,5]]}},"keywords":{}}],["omit",{"_index":1358,"title":{},"content":{"131":{"position":[[380,8],[413,8]]},"254":{"position":[[380,8],[413,8]]},"374":{"position":[[1837,7]]},"595":{"position":[[943,7]]},"663":{"position":[[1042,8]]},"675":{"position":[[972,8]]},"693":{"position":[[9698,8]]},"753":{"position":[[1837,7]]},"901":{"position":[[996,8]]},"1078":{"position":[[281,4]]},"1172":{"position":[[2239,4],[2258,4]]},"1226":{"position":[[1295,8],[1372,7]]},"1237":{"position":[[1465,8],[1542,7]]},"1363":{"position":[[6622,8]]},"1374":{"position":[[2390,4]]},"1384":{"position":[[21456,4],[21844,4]]},"1385":{"position":[[7371,4]]},"1422":{"position":[[1944,8]]}},"keywords":{}}],["on",{"_index":624,"title":{"578":{"position":[[28,3]]},"681":{"position":[[26,3]]},"1130":{"position":[[27,3]]}},"content":{"20":{"position":[[631,3],[657,5]]},"23":{"position":[[229,3]]},"92":{"position":[[1008,3],[1335,3],[2485,3]]},"94":{"position":[[1326,3],[3394,3]]},"107":{"position":[[146,4]]},"112":{"position":[[141,4]]},"133":{"position":[[137,3]]},"224":{"position":[[1008,3],[1335,3],[2485,3]]},"226":{"position":[[1326,3],[3394,3]]},"243":{"position":[[347,3]]},"256":{"position":[[137,3]]},"277":{"position":[[133,3]]},"282":{"position":[[188,3]]},"283":{"position":[[94,3]]},"298":{"position":[[1590,3]]},"345":{"position":[[688,3],[695,3]]},"408":{"position":[[503,3]]},"441":{"position":[[209,4]]},"462":{"position":[[96,3]]},"519":{"position":[[146,4]]},"524":{"position":[[141,4]]},"555":{"position":[[148,3]]},"557":{"position":[[607,7]]},"567":{"position":[[191,4]]},"570":{"position":[[404,3]]},"600":{"position":[[155,3]]},"602":{"position":[[143,3]]},"603":{"position":[[155,3]]},"622":{"position":[[70,3]]},"636":{"position":[[186,3],[678,7]]},"638":{"position":[[47,3],[474,3]]},"656":{"position":[[190,3]]},"662":{"position":[[381,3],[419,3]]},"666":{"position":[[391,3]]},"676":{"position":[[291,3]]},"681":{"position":[[59,3]]},"686":{"position":[[45,3]]},"690":{"position":[[256,3]]},"693":{"position":[[2171,3],[7572,3]]},"706":{"position":[[81,3]]},"711":{"position":[[1135,4]]},"715":{"position":[[288,3]]},"787":{"position":[[503,3]]},"820":{"position":[[209,4]]},"846":{"position":[[571,3]]},"847":{"position":[[100,4]]},"851":{"position":[[608,3]]},"865":{"position":[[348,3]]},"870":{"position":[[128,3]]},"888":{"position":[[989,3]]},"889":{"position":[[515,3],[1019,3]]},"902":{"position":[[25,3],[463,3]]},"919":{"position":[[2131,3]]},"924":{"position":[[1272,3]]},"937":{"position":[[3030,3]]},"939":{"position":[[858,3]]},"941":{"position":[[340,3]]},"942":{"position":[[1402,3],[1428,4]]},"945":{"position":[[421,3]]},"961":{"position":[[370,3]]},"973":{"position":[[225,3],[349,3]]},"977":{"position":[[5,3],[267,3],[468,3]]},"981":{"position":[[771,3]]},"988":{"position":[[494,3]]},"991":{"position":[[2925,3]]},"995":{"position":[[698,3]]},"1001":{"position":[[190,3]]},"1013":{"position":[[636,5]]},"1022":{"position":[[190,3],[400,3]]},"1025":{"position":[[219,3]]},"1026":{"position":[[518,3]]},"1032":{"position":[[122,3]]},"1040":{"position":[[1108,3],[1433,3]]},"1050":{"position":[[2268,4]]},"1054":{"position":[[788,3]]},"1064":{"position":[[246,3]]},"1067":{"position":[[671,3]]},"1079":{"position":[[571,3]]},"1088":{"position":[[635,3]]},"1105":{"position":[[164,3]]},"1112":{"position":[[2268,3],[2301,3]]},"1113":{"position":[[465,3],[608,4]]},"1114":{"position":[[84,3]]},"1125":{"position":[[54,3]]},"1126":{"position":[[336,3],[494,4],[782,3],[1077,3],[1370,3],[1481,3]]},"1136":{"position":[[141,3],[951,4],[2527,5],[4213,4],[4523,4]]},"1138":{"position":[[4475,3],[4837,3],[6189,5],[7875,4],[8185,4]]},"1140":{"position":[[3964,3],[4326,3],[5115,5],[6801,4],[7111,4]]},"1142":{"position":[[2245,4],[2555,4]]},"1144":{"position":[[47,3],[67,3]]},"1146":{"position":[[499,5],[2185,4],[2495,4]]},"1148":{"position":[[1307,4],[3539,5],[5225,4],[5535,4]]},"1155":{"position":[[2281,4],[2591,4]]},"1156":{"position":[[1859,4],[2169,4]]},"1167":{"position":[[4968,3],[5330,3],[6119,5],[7805,4],[8115,4]]},"1169":{"position":[[1644,4],[1954,4]]},"1186":{"position":[[1763,5],[3449,4],[3759,4]]},"1187":{"position":[[1776,5],[3462,4],[3772,4]]},"1188":{"position":[[4017,3],[4379,3],[6502,5],[8188,4],[8498,4]]},"1190":{"position":[[206,4]]},"1191":{"position":[[2049,4],[2359,4]]},"1192":{"position":[[43,4],[538,5],[2224,4],[2534,4]]},"1193":{"position":[[2276,4],[2586,4]]},"1194":{"position":[[1916,4],[2226,4]]},"1195":{"position":[[1894,4],[2204,4]]},"1196":{"position":[[1704,4],[2014,4]]},"1197":{"position":[[1001,5],[2687,4],[2997,4]]},"1198":{"position":[[1011,5],[2697,4],[3007,4]]},"1199":{"position":[[1039,5],[2725,4],[3035,4]]},"1200":{"position":[[906,5],[2592,4],[2902,4]]},"1201":{"position":[[1852,4],[2162,4]]},"1202":{"position":[[2994,4],[3304,4],[7391,4],[7701,4]]},"1203":{"position":[[400,5],[2086,4],[2396,4]]},"1204":{"position":[[1930,4],[2240,4]]},"1205":{"position":[[1573,5],[3259,4],[3569,4]]},"1206":{"position":[[1730,4],[2040,4]]},"1207":{"position":[[1887,4],[2197,4]]},"1209":{"position":[[184,4],[3235,4],[3545,4]]},"1217":{"position":[[3709,3],[4071,3],[4860,5],[6546,4],[6856,4]]},"1219":{"position":[[729,3],[2532,4],[2842,4]]},"1222":{"position":[[1656,4],[1966,4]]},"1223":{"position":[[1666,4],[1976,4]]},"1224":{"position":[[1846,4],[2156,4]]},"1226":{"position":[[5328,5],[7014,4],[7324,4]]},"1228":{"position":[[5790,3],[6152,3],[6941,5],[8627,4],[8937,4]]},"1231":{"position":[[179,3]]},"1233":{"position":[[82,3]]},"1235":{"position":[[1444,4],[4495,4],[4805,4]]},"1237":{"position":[[5498,5],[7184,4],[7494,4]]},"1253":{"position":[[634,3]]},"1349":{"position":[[1685,3]]},"1350":{"position":[[4656,3]]},"1351":{"position":[[1674,3],[1883,3]]},"1352":{"position":[[4655,3]]},"1353":{"position":[[2259,3]]},"1355":{"position":[[3034,3],[3243,3],[4645,4]]},"1357":{"position":[[1276,3]]},"1360":{"position":[[2263,3],[2472,3],[2585,3],[2729,3],[5184,3]]},"1362":{"position":[[5986,3],[6195,3],[6849,4],[8796,4]]},"1363":{"position":[[3732,3],[3941,3]]},"1364":{"position":[[6015,3],[6224,3],[6659,4],[7088,4],[9407,4],[9910,4]]},"1365":{"position":[[1758,3]]},"1366":{"position":[[1762,3],[1971,3]]},"1367":{"position":[[7413,3],[7622,3],[8884,4]]},"1368":{"position":[[2314,3]]},"1369":{"position":[[1366,3]]},"1370":{"position":[[1411,3],[1620,3],[1832,3]]},"1371":{"position":[[1242,3]]},"1372":{"position":[[2880,3]]},"1374":{"position":[[1446,3],[1655,3]]},"1375":{"position":[[1278,3]]},"1376":{"position":[[1234,3]]},"1377":{"position":[[1473,3]]},"1378":{"position":[[1220,3]]},"1379":{"position":[[1243,3]]},"1380":{"position":[[1714,3]]},"1381":{"position":[[2119,3]]},"1382":{"position":[[3898,3],[4107,3],[5566,4]]},"1383":{"position":[[2136,3],[2345,3]]},"1384":{"position":[[5060,3],[5269,3],[5704,4],[7413,4],[10513,4],[19760,3],[20164,3]]},"1385":{"position":[[3480,4]]},"1386":{"position":[[1726,3],[6086,3]]},"1387":{"position":[[5813,4]]},"1388":{"position":[[4198,3],[4407,3]]},"1393":{"position":[[1986,3],[2195,3]]},"1395":{"position":[[1443,3],[1652,3]]},"1398":{"position":[[1232,3],[2093,3],[2302,3],[2582,4],[4040,3],[5695,4],[6218,3]]},"1400":{"position":[[1347,3]]},"1403":{"position":[[1966,3],[2175,3],[4538,3],[5341,3],[5475,3],[5830,3]]},"1405":{"position":[[2796,3],[3036,3]]},"1407":{"position":[[2324,3],[2426,3],[3217,3],[3457,3]]},"1409":{"position":[[1373,3]]},"1410":{"position":[[2333,3],[2542,3],[3797,3],[4038,3]]},"1411":{"position":[[1356,3]]},"1412":{"position":[[2354,3],[2563,3]]},"1413":{"position":[[2740,3]]},"1414":{"position":[[1607,3]]},"1417":{"position":[[1830,3]]},"1418":{"position":[[1531,3]]},"1419":{"position":[[1659,3]]},"1422":{"position":[[1599,3],[1808,3],[2374,3],[3585,4]]},"1423":{"position":[[2044,3],[2356,4]]},"1424":{"position":[[1915,3]]},"1425":{"position":[[1531,3]]},"1426":{"position":[[1672,3],[1881,3]]},"1427":{"position":[[2569,3],[2778,3],[3790,4]]},"1428":{"position":[[1513,3]]},"1429":{"position":[[3233,3],[3442,3]]},"1430":{"position":[[2289,3]]},"1431":{"position":[[1633,3]]},"1432":{"position":[[2154,3]]},"1433":{"position":[[1675,3]]},"1434":{"position":[[1349,3]]},"1435":{"position":[[1313,3]]},"1436":{"position":[[1329,3]]},"1437":{"position":[[1399,3]]},"1438":{"position":[[1331,3],[1540,3]]},"1439":{"position":[[2855,3],[3064,3],[4826,3]]},"1440":{"position":[[3421,3],[3630,3]]},"1441":{"position":[[1355,3]]},"1442":{"position":[[1226,3],[1435,3]]},"1445":{"position":[[1255,3]]},"1446":{"position":[[717,3]]},"1447":{"position":[[1471,3]]},"1450":{"position":[[1719,3]]},"1451":{"position":[[1719,3]]},"1452":{"position":[[1265,3]]},"1453":{"position":[[1851,3]]},"1454":{"position":[[4552,4],[5813,4],[7417,4]]},"1455":{"position":[[2200,4],[2584,4]]},"1458":{"position":[[1024,3]]},"1459":{"position":[[1872,3]]},"1460":{"position":[[1634,3]]},"1461":{"position":[[1647,3],[1856,3]]},"1462":{"position":[[7280,3],[7421,3]]},"1463":{"position":[[1356,3]]},"1464":{"position":[[1264,3]]},"1466":{"position":[[1600,3]]},"1467":{"position":[[5717,3],[5926,3],[8249,3],[8390,3]]},"1469":{"position":[[1535,3],[1744,3],[1840,3]]},"1471":{"position":[[2398,3],[2607,3],[5105,3]]},"1472":{"position":[[2357,3],[2566,3],[5991,3]]},"1473":{"position":[[2672,3],[2881,3],[5555,3]]},"1474":{"position":[[2265,3]]},"1475":{"position":[[2736,3]]},"1476":{"position":[[1341,3]]},"1477":{"position":[[1291,3],[1500,3],[1634,3]]},"1478":{"position":[[1782,3],[1991,3],[3359,3],[3376,3]]},"1479":{"position":[[1433,3]]},"1480":{"position":[[1846,3]]},"1481":{"position":[[2379,3]]},"1482":{"position":[[1453,3]]},"1484":{"position":[[1359,3]]},"1485":{"position":[[1848,4]]},"1486":{"position":[[2557,3]]},"1487":{"position":[[1356,3],[1565,3]]}},"keywords":{}}],["on.1.163",{"_index":5390,"title":{},"content":{"1057":{"position":[[558,9]]}},"keywords":{}}],["on.th",{"_index":4377,"title":{},"content":{"900":{"position":[[1286,6]]}},"keywords":{}}],["on.transit",{"_index":4858,"title":{},"content":{"980":{"position":[[1326,13]]}},"keywords":{}}],["on/off",{"_index":5907,"title":{},"content":{"1136":{"position":[[5472,6]]},"1138":{"position":[[9134,6]]},"1140":{"position":[[8060,6]]},"1142":{"position":[[3504,6]]},"1146":{"position":[[3444,6]]},"1148":{"position":[[6484,6]]},"1155":{"position":[[3540,6]]},"1156":{"position":[[3118,6]]},"1161":{"position":[[1011,6]]},"1167":{"position":[[9064,6]]},"1181":{"position":[[1223,6]]},"1186":{"position":[[4708,6]]},"1187":{"position":[[4721,6]]},"1188":{"position":[[9447,6]]},"1191":{"position":[[3308,6]]},"1192":{"position":[[3483,6]]},"1193":{"position":[[3535,6]]},"1194":{"position":[[3175,6]]},"1195":{"position":[[3153,6]]},"1196":{"position":[[2963,6]]},"1197":{"position":[[3946,6]]},"1198":{"position":[[3956,6]]},"1199":{"position":[[3984,6]]},"1200":{"position":[[3851,6]]},"1201":{"position":[[3111,6]]},"1202":{"position":[[4253,6],[8650,6]]},"1203":{"position":[[3345,6]]},"1204":{"position":[[3189,6]]},"1205":{"position":[[4518,6]]},"1206":{"position":[[2989,6]]},"1207":{"position":[[3146,6]]},"1209":{"position":[[4494,6]]},"1217":{"position":[[7805,6]]},"1222":{"position":[[2915,6]]},"1223":{"position":[[2925,6]]},"1226":{"position":[[8273,6]]},"1228":{"position":[[9886,6]]},"1235":{"position":[[5754,6]]},"1237":{"position":[[8443,6]]}},"keywords":{}}],["on_duplicate_entri",{"_index":8491,"title":{},"content":{"1479":{"position":[[533,19]]},"1487":{"position":[[530,19],[1755,19],[2811,18]]}},"keywords":{}}],["on_unused_depend",{"_index":6367,"title":{},"content":{"1348":{"position":[[2018,23]]},"1355":{"position":[[1555,23]]},"1412":{"position":[[975,23]]},"1413":{"position":[[1121,23]]},"1427":{"position":[[1192,23],[3958,23]]},"1429":{"position":[[1426,23]]},"1430":{"position":[[995,23]]},"1439":{"position":[[1428,23]]},"1440":{"position":[[1627,23]]},"1470":{"position":[[1855,23]]},"1474":{"position":[[971,23]]},"1475":{"position":[[1117,23]]}},"keywords":{}}],["onboard",{"_index":3453,"title":{},"content":{"689":{"position":[[157,10]]}},"keywords":{}}],["onc",{"_index":739,"title":{},"content":{"23":{"position":[[2042,5]]},"85":{"position":[[444,4]]},"217":{"position":[[444,4]]},"276":{"position":[[821,4]]},"277":{"position":[[855,4]]},"281":{"position":[[943,4]]},"282":{"position":[[985,4]]},"298":{"position":[[2677,5]]},"322":{"position":[[289,4]]},"345":{"position":[[757,4]]},"423":{"position":[[149,5]]},"528":{"position":[[249,4]]},"638":{"position":[[1154,5]]},"693":{"position":[[2827,4]]},"704":{"position":[[2430,4]]},"802":{"position":[[149,5]]},"851":{"position":[[74,4],[176,5],[2003,5]]},"854":{"position":[[0,4]]},"856":{"position":[[88,4],[589,4],[690,4],[791,4],[922,4]]},"860":{"position":[[233,4]]},"870":{"position":[[760,4],[988,5]]},"890":{"position":[[4387,5],[6409,5]]},"895":{"position":[[316,4]]},"898":{"position":[[497,4],[1086,4]]},"902":{"position":[[1139,5]]},"905":{"position":[[616,4],[641,4]]},"945":{"position":[[150,4]]},"988":{"position":[[671,5]]},"1000":{"position":[[548,4],[787,4]]},"1004":{"position":[[2130,5]]},"1015":{"position":[[0,4]]},"1048":{"position":[[246,5]]},"1084":{"position":[[84,4],[250,5]]},"1087":{"position":[[66,5]]},"1100":{"position":[[147,4],[226,4]]},"1103":{"position":[[753,4]]},"1138":{"position":[[4470,4],[4656,4],[4832,4]]},"1140":{"position":[[3959,4],[4145,4],[4321,4]]},"1167":{"position":[[4963,4],[5149,4],[5325,4]]},"1188":{"position":[[4012,4],[4198,4],[4374,4]]},"1217":{"position":[[3704,4],[3890,4],[4066,4]]},"1228":{"position":[[5785,4],[5971,4],[6147,4]]},"1232":{"position":[[3918,4]]},"1235":{"position":[[186,4]]},"1361":{"position":[[2020,4],[2281,4]]},"1381":{"position":[[2270,4]]},"1386":{"position":[[2329,4],[3208,4]]},"1399":{"position":[[2589,4]]},"1486":{"position":[[923,4],[2181,4],[2850,5],[4633,4],[4790,4],[5164,4]]}},"keywords":{}}],["oncal",{"_index":2015,"title":{"423":{"position":[[0,7]]},"802":{"position":[[0,7]]}},"content":{"374":{"position":[[1118,7]]},"423":{"position":[[74,6]]},"430":{"position":[[89,7],[150,6]]},"753":{"position":[[1118,7]]},"802":{"position":[[74,6]]},"809":{"position":[[89,7],[150,6]]},"1136":{"position":[[6480,6],[6506,6]]},"1138":{"position":[[10142,6],[10168,6]]},"1140":{"position":[[9068,6],[9094,6]]},"1142":{"position":[[4512,6],[4538,6]]},"1144":{"position":[[840,6],[866,6]]},"1146":{"position":[[4452,6],[4478,6]]},"1148":{"position":[[8043,6],[8069,6]]},"1150":{"position":[[1075,6],[1101,6]]},"1152":{"position":[[773,6],[799,6]]},"1154":{"position":[[928,6],[954,6]]},"1155":{"position":[[4548,6],[4574,6]]},"1156":{"position":[[4126,6],[4152,6]]},"1157":{"position":[[711,6],[737,6]]},"1158":{"position":[[705,6],[731,6]]},"1159":{"position":[[705,6],[731,6]]},"1161":{"position":[[1700,6],[1726,6]]},"1163":{"position":[[1086,6],[1112,6]]},"1165":{"position":[[915,6],[941,6]]},"1167":{"position":[[10072,6],[10098,6]]},"1169":{"position":[[3180,6],[3206,6]]},"1171":{"position":[[1421,6],[1447,6]]},"1172":{"position":[[2806,6],[2832,6]]},"1173":{"position":[[1493,6],[1519,6]]},"1174":{"position":[[921,6],[947,6]]},"1175":{"position":[[917,6],[943,6]]},"1176":{"position":[[1086,6],[1112,6]]},"1177":{"position":[[1007,6],[1033,6]]},"1178":{"position":[[1324,6],[1350,6]]},"1179":{"position":[[1121,6],[1147,6]]},"1180":{"position":[[1392,6],[1418,6]]},"1181":{"position":[[1912,6],[1938,6]]},"1182":{"position":[[955,6],[981,6]]},"1183":{"position":[[910,6],[936,6]]},"1185":{"position":[[755,6],[781,6]]},"1186":{"position":[[5716,6],[5742,6]]},"1187":{"position":[[5729,6],[5755,6]]},"1188":{"position":[[10455,6],[10481,6]]},"1190":{"position":[[2086,6],[2112,6]]},"1191":{"position":[[4316,6],[4342,6]]},"1192":{"position":[[4491,6],[4517,6]]},"1193":{"position":[[4543,6],[4569,6]]},"1194":{"position":[[4183,6],[4209,6]]},"1195":{"position":[[4161,6],[4187,6]]},"1196":{"position":[[3971,6],[3997,6]]},"1197":{"position":[[4954,6],[4980,6]]},"1198":{"position":[[4964,6],[4990,6]]},"1199":{"position":[[4992,6],[5018,6]]},"1200":{"position":[[4859,6],[4885,6]]},"1201":{"position":[[4119,6],[4145,6]]},"1202":{"position":[[863,6],[889,6],[5261,6],[5287,6],[9658,6],[9684,6]]},"1203":{"position":[[4353,6],[4379,6]]},"1204":{"position":[[4197,6],[4223,6],[5099,6],[5125,6],[6029,6],[6055,6],[6931,6],[6957,6],[7917,6],[7943,6],[8871,6],[8897,6],[9818,6],[9844,6],[10748,6],[10774,6]]},"1205":{"position":[[5526,6],[5552,6]]},"1206":{"position":[[4225,6],[4251,6]]},"1207":{"position":[[4154,6],[4180,6]]},"1209":{"position":[[5502,6],[5528,6]]},"1211":{"position":[[826,6],[852,6]]},"1213":{"position":[[597,6],[623,6]]},"1215":{"position":[[681,6],[707,6]]},"1217":{"position":[[8813,6],[8839,6]]},"1219":{"position":[[4068,6],[4094,6]]},"1221":{"position":[[800,6],[826,6]]},"1222":{"position":[[3939,6],[3965,6]]},"1223":{"position":[[3949,6],[3975,6]]},"1224":{"position":[[3382,6],[3408,6]]},"1226":{"position":[[9281,6],[9307,6]]},"1228":{"position":[[10894,6],[10920,6]]},"1235":{"position":[[6762,6],[6788,6]]},"1237":{"position":[[9451,6],[9477,6]]}},"keywords":{}}],["oncall(nam",{"_index":2292,"title":{},"content":{"423":{"position":[[4,12]]},"802":{"position":[[4,12]]}},"keywords":{}}],["oncalls.executor_overrid",{"_index":5481,"title":{},"content":{"1069":{"position":[[468,26]]}},"keywords":{}}],["ondifferentst",{"_index":5897,"title":{},"content":{"1136":{"position":[[4439,17]]},"1138":{"position":[[8101,17]]},"1140":{"position":[[7027,17]]},"1142":{"position":[[2471,17]]},"1146":{"position":[[2411,17]]},"1148":{"position":[[5451,17]]},"1155":{"position":[[2507,17]]},"1156":{"position":[[2085,17]]},"1167":{"position":[[8031,17]]},"1169":{"position":[[1870,17]]},"1186":{"position":[[3675,17]]},"1187":{"position":[[3688,17]]},"1188":{"position":[[8414,17]]},"1191":{"position":[[2275,17]]},"1192":{"position":[[2450,17]]},"1193":{"position":[[2502,17]]},"1194":{"position":[[2142,17]]},"1195":{"position":[[2120,17]]},"1196":{"position":[[1930,17]]},"1197":{"position":[[2913,17]]},"1198":{"position":[[2923,17]]},"1199":{"position":[[2951,17]]},"1200":{"position":[[2818,17]]},"1201":{"position":[[2078,17]]},"1202":{"position":[[3220,17],[7617,17]]},"1203":{"position":[[2312,17]]},"1204":{"position":[[2156,17]]},"1205":{"position":[[3485,17]]},"1206":{"position":[[1956,17]]},"1207":{"position":[[2113,17]]},"1209":{"position":[[3461,17]]},"1217":{"position":[[6772,17]]},"1219":{"position":[[2758,17]]},"1222":{"position":[[1882,17]]},"1223":{"position":[[1892,17]]},"1224":{"position":[[2072,17]]},"1226":{"position":[[7240,17]]},"1228":{"position":[[8853,17]]},"1235":{"position":[[4721,17]]},"1237":{"position":[[7410,17]]}},"keywords":{}}],["one.heap",{"_index":5359,"title":{},"content":{"1056":{"position":[[729,8]]}},"keywords":{}}],["oneaar",{"_index":6615,"title":{},"content":{"1358":{"position":[[1997,7]]}},"keywords":{}}],["oneactu",{"_index":8537,"title":{},"content":{"1483":{"position":[[1287,10]]}},"keywords":{}}],["oneaidl",{"_index":7666,"title":{},"content":{"1402":{"position":[[1578,8]]}},"keywords":{}}],["oneallow_cache_upload",{"_index":7043,"title":{},"content":{"1373":{"position":[[3752,22]]},"1454":{"position":[[4217,22]]},"1462":{"position":[[5230,22]]}},"keywords":{}}],["oneapk",{"_index":6532,"title":{},"content":{"1354":{"position":[[2097,7]]}},"keywords":{}}],["oneapp_icon",{"_index":6678,"title":{},"content":{"1361":{"position":[[1824,12]]}},"keywords":{}}],["oneappl",{"_index":7570,"title":{},"content":{"1397":{"position":[[1623,16]]}},"keywords":{}}],["onearg",{"_index":8557,"title":{},"content":{"1486":{"position":[[1863,8]]}},"keywords":{}}],["oneasan",{"_index":7724,"title":{},"content":{"1405":{"position":[[2102,8]]},"1407":{"position":[[2143,8]]}},"keywords":{}}],["oneassembl",{"_index":8221,"title":{},"content":{"1456":{"position":[[1449,12]]}},"keywords":{}}],["oneassembler_flag",{"_index":7782,"title":{},"content":{"1408":{"position":[[1839,19]]}},"keywords":{}}],["onebase_modul",{"_index":7238,"title":{},"content":{"1385":{"position":[[2939,15]]},"1387":{"position":[[5208,15]]},"1444":{"position":[[1566,15]]},"1465":{"position":[[2362,15]]}},"keywords":{}}],["onebinary_jar",{"_index":8232,"title":{},"content":{"1458":{"position":[[2043,14]]}},"keywords":{}}],["onebuild_config_valu",{"_index":6390,"title":{},"content":{"1348":{"position":[[3540,23]]}},"keywords":{}}],["onec_compiler_allow_cache_upload",{"_index":7417,"title":{},"content":{"1389":{"position":[[5261,33]]}},"keywords":{}}],["onecompiler_dep",{"_index":7829,"title":{},"content":{"1415":{"position":[[3589,17]]}},"keywords":{}}],["onecompiler_flag",{"_index":7123,"title":{},"content":{"1381":{"position":[[1620,18]]},"1416":{"position":[[2241,18]]},"1420":{"position":[[1923,18]]},"1448":{"position":[[1906,18]]},"1449":{"position":[[1840,18]]}},"keywords":{}}],["oneconstraint_valu",{"_index":4622,"title":{},"content":{"938":{"position":[[291,19]]}},"keywords":{}}],["onedep",{"_index":6577,"title":{},"content":{"1356":{"position":[[1603,8]]},"1359":{"position":[[1834,8]]},"1386":{"position":[[1577,8]]},"1390":{"position":[[1513,8]]},"1391":{"position":[[1466,8]]},"1392":{"position":[[1616,8]]},"1421":{"position":[[1898,8]]},"1443":{"position":[[1650,8]]},"1446":{"position":[[1589,8]]},"1457":{"position":[[1508,8]]}},"keywords":{}}],["oneentrypoint",{"_index":7744,"title":{},"content":{"1406":{"position":[[1318,15]]}},"keywords":{}}],["oneerl",{"_index":7558,"title":{},"content":{"1396":{"position":[[1442,7]]}},"keywords":{}}],["oneexecut",{"_index":7926,"title":{},"content":{"1423":{"position":[[1790,14]]}},"keywords":{}}],["oneexported_dep",{"_index":8201,"title":{},"content":{"1455":{"position":[[2104,17]]}},"keywords":{}}],["oneextra_kotlinc_argu",{"_index":8405,"title":{},"content":{"1470":{"position":[[4266,27]]}},"keywords":{}}],["onehas_wrap_script",{"_index":8243,"title":{},"content":{"1459":{"position":[[1522,19]]}},"keywords":{}}],["oneheader_namespac",{"_index":8542,"title":{},"content":{"1485":{"position":[[1619,20]]}},"keywords":{}}],["onelabel",{"_index":8373,"title":{},"content":{"1468":{"position":[[1364,10]]}},"keywords":{}}],["onemod",{"_index":7644,"title":{},"content":{"1399":{"position":[[1478,8]]}},"keywords":{}}],["oneos_env",{"_index":7536,"title":{},"content":{"1394":{"position":[[1636,10]]}},"keywords":{}}],["oner",{"_index":4599,"title":{},"content":{"937":{"position":[[2409,7],[2625,7]]}},"keywords":{}}],["onerepo",{"_index":7713,"title":{},"content":{"1404":{"position":[[1411,8]]}},"keywords":{}}],["onesrc",{"_index":7654,"title":{},"content":{"1401":{"position":[[1422,8]]}},"keywords":{}}],["onewithin_view",{"_index":6387,"title":{},"content":{"1348":{"position":[[3334,15]]},"1349":{"position":[[1479,15]]},"1350":{"position":[[4450,15]]},"1352":{"position":[[4449,15]]},"1353":{"position":[[2053,15]]},"1354":{"position":[[1891,15]]},"1356":{"position":[[1397,15]]},"1357":{"position":[[1070,15]]},"1358":{"position":[[1791,15]]},"1359":{"position":[[1628,15]]},"1361":{"position":[[1618,15]]},"1365":{"position":[[1552,15]]},"1368":{"position":[[2108,15]]},"1369":{"position":[[1160,15]]},"1371":{"position":[[1036,15]]},"1372":{"position":[[2674,15]]},"1373":{"position":[[3546,15]]},"1375":{"position":[[1072,15]]},"1376":{"position":[[1028,15]]},"1377":{"position":[[1267,15]]},"1378":{"position":[[1014,15]]},"1379":{"position":[[1037,15]]},"1380":{"position":[[1508,15]]},"1381":{"position":[[1414,15]]},"1385":{"position":[[2733,15]]},"1386":{"position":[[1371,15]]},"1387":{"position":[[5002,15]]},"1389":{"position":[[5055,15]]},"1390":{"position":[[1307,15]]},"1391":{"position":[[1260,15]]},"1392":{"position":[[1410,15]]},"1394":{"position":[[1430,15]]},"1396":{"position":[[1236,15]]},"1397":{"position":[[1417,15]]},"1399":{"position":[[1272,15]]},"1400":{"position":[[1141,15]]},"1401":{"position":[[1216,15]]},"1402":{"position":[[1372,15]]},"1404":{"position":[[1205,15]]},"1405":{"position":[[1896,15]]},"1406":{"position":[[1112,15]]},"1407":{"position":[[1937,15]]},"1408":{"position":[[1633,15]]},"1409":{"position":[[1167,15]]},"1411":{"position":[[1150,15]]},"1413":{"position":[[2534,15]]},"1414":{"position":[[1401,15]]},"1415":{"position":[[3383,15]]},"1416":{"position":[[2035,15]]},"1417":{"position":[[1624,15]]},"1418":{"position":[[1325,15]]},"1419":{"position":[[1453,15]]},"1420":{"position":[[1717,15]]},"1421":{"position":[[1692,15]]},"1423":{"position":[[1584,15]]},"1424":{"position":[[1709,15]]},"1425":{"position":[[1325,15]]},"1428":{"position":[[1307,15]]},"1430":{"position":[[2083,15]]},"1431":{"position":[[1427,15]]},"1432":{"position":[[1948,15]]},"1433":{"position":[[1469,15]]},"1434":{"position":[[1143,15]]},"1435":{"position":[[1107,15]]},"1436":{"position":[[1123,15]]},"1437":{"position":[[1193,15]]},"1441":{"position":[[1149,15]]},"1443":{"position":[[1444,15]]},"1444":{"position":[[1360,15]]},"1445":{"position":[[1049,15]]},"1446":{"position":[[1383,15]]},"1447":{"position":[[1265,15]]},"1448":{"position":[[1700,15]]},"1449":{"position":[[1634,15]]},"1450":{"position":[[1513,15]]},"1451":{"position":[[1513,15]]},"1452":{"position":[[1059,15]]},"1453":{"position":[[1645,15]]},"1454":{"position":[[4011,15]]},"1455":{"position":[[1898,15]]},"1456":{"position":[[1243,15]]},"1457":{"position":[[1302,15]]},"1458":{"position":[[1837,15]]},"1459":{"position":[[1316,15]]},"1460":{"position":[[1428,15]]},"1462":{"position":[[5024,15]]},"1463":{"position":[[1150,15]]},"1464":{"position":[[1058,15]]},"1465":{"position":[[2156,15]]},"1466":{"position":[[1394,15]]},"1468":{"position":[[1158,15]]},"1470":{"position":[[4060,15]]},"1474":{"position":[[2059,15]]},"1475":{"position":[[2530,15]]},"1476":{"position":[[1135,15]]},"1479":{"position":[[1227,15]]},"1480":{"position":[[1640,15]]},"1481":{"position":[[2173,15]]},"1482":{"position":[[1247,15]]},"1483":{"position":[[1081,15]]},"1484":{"position":[[1153,15]]},"1485":{"position":[[1413,15]]},"1486":{"position":[[1657,15]]}},"keywords":{}}],["onexternalrunnertestinfo",{"_index":5478,"title":{},"content":{"1068":{"position":[[121,24]]}},"keywords":{}}],["ongo",{"_index":5764,"title":{},"content":{"1120":{"position":[[58,7]]}},"keywords":{}}],["onlocalresourceinfo.resource_env_var",{"_index":5341,"title":{},"content":{"1054":{"position":[[1073,37]]}},"keywords":{}}],["onmetadata",{"_index":6388,"title":{},"content":{"1348":{"position":[[3420,11]]},"1349":{"position":[[1565,11]]},"1350":{"position":[[4536,11]]},"1352":{"position":[[4535,11]]},"1353":{"position":[[2139,11]]},"1354":{"position":[[1977,11]]},"1356":{"position":[[1483,11]]},"1357":{"position":[[1156,11]]},"1358":{"position":[[1877,11]]},"1359":{"position":[[1714,11]]},"1361":{"position":[[1704,11]]},"1365":{"position":[[1638,11]]},"1368":{"position":[[2194,11]]},"1369":{"position":[[1246,11]]},"1371":{"position":[[1122,11]]},"1372":{"position":[[2760,11]]},"1373":{"position":[[3632,11]]},"1375":{"position":[[1158,11]]},"1376":{"position":[[1114,11]]},"1377":{"position":[[1353,11]]},"1378":{"position":[[1100,11]]},"1379":{"position":[[1123,11]]},"1380":{"position":[[1594,11]]},"1381":{"position":[[1500,11]]},"1385":{"position":[[2819,11]]},"1386":{"position":[[1457,11]]},"1387":{"position":[[5088,11]]},"1389":{"position":[[5141,11]]},"1390":{"position":[[1393,11]]},"1391":{"position":[[1346,11]]},"1392":{"position":[[1496,11]]},"1394":{"position":[[1516,11]]},"1396":{"position":[[1322,11]]},"1397":{"position":[[1503,11]]},"1399":{"position":[[1358,11]]},"1400":{"position":[[1227,11]]},"1401":{"position":[[1302,11]]},"1402":{"position":[[1458,11]]},"1404":{"position":[[1291,11]]},"1405":{"position":[[1982,11]]},"1406":{"position":[[1198,11]]},"1407":{"position":[[2023,11]]},"1408":{"position":[[1719,11]]},"1409":{"position":[[1253,11]]},"1411":{"position":[[1236,11]]},"1413":{"position":[[2620,11]]},"1414":{"position":[[1487,11]]},"1415":{"position":[[3469,11]]},"1416":{"position":[[2121,11]]},"1417":{"position":[[1710,11]]},"1418":{"position":[[1411,11]]},"1419":{"position":[[1539,11]]},"1420":{"position":[[1803,11]]},"1421":{"position":[[1778,11]]},"1423":{"position":[[1670,11]]},"1424":{"position":[[1795,11]]},"1425":{"position":[[1411,11]]},"1428":{"position":[[1393,11]]},"1430":{"position":[[2169,11]]},"1431":{"position":[[1513,11]]},"1432":{"position":[[2034,11]]},"1433":{"position":[[1555,11]]},"1434":{"position":[[1229,11]]},"1435":{"position":[[1193,11]]},"1436":{"position":[[1209,11]]},"1437":{"position":[[1279,11]]},"1441":{"position":[[1235,11]]},"1443":{"position":[[1530,11]]},"1444":{"position":[[1446,11]]},"1445":{"position":[[1135,11]]},"1446":{"position":[[1469,11]]},"1447":{"position":[[1351,11]]},"1448":{"position":[[1786,11]]},"1449":{"position":[[1720,11]]},"1450":{"position":[[1599,11]]},"1451":{"position":[[1599,11]]},"1452":{"position":[[1145,11]]},"1453":{"position":[[1731,11]]},"1454":{"position":[[4097,11]]},"1455":{"position":[[1984,11]]},"1456":{"position":[[1329,11]]},"1457":{"position":[[1388,11]]},"1458":{"position":[[1923,11]]},"1459":{"position":[[1402,11]]},"1460":{"position":[[1514,11]]},"1462":{"position":[[5110,11]]},"1463":{"position":[[1236,11]]},"1464":{"position":[[1144,11]]},"1465":{"position":[[2242,11]]},"1466":{"position":[[1480,11]]},"1468":{"position":[[1244,11]]},"1470":{"position":[[4146,11]]},"1474":{"position":[[2145,11]]},"1475":{"position":[[2616,11]]},"1476":{"position":[[1221,11]]},"1479":{"position":[[1313,11]]},"1480":{"position":[[1726,11]]},"1481":{"position":[[2259,11]]},"1482":{"position":[[1333,11]]},"1483":{"position":[[1167,11]]},"1484":{"position":[[1239,11]]},"1485":{"position":[[1499,11]]},"1486":{"position":[[1743,11]]}},"keywords":{}}],["onpackag",{"_index":4491,"title":{},"content":{"919":{"position":[[859,9]]}},"keywords":{}}],["onpulls_plugin",{"_index":1327,"title":{},"content":{"121":{"position":[[349,15]]},"530":{"position":[[349,15]]}},"keywords":{}}],["ontarget_label",{"_index":1649,"title":{},"content":{"298":{"position":[[2428,14]]},"851":{"position":[[1757,14]]}},"keywords":{}}],["onto",{"_index":4151,"title":{},"content":{"887":{"position":[[488,4]]},"919":{"position":[[977,4]]},"924":{"position":[[292,4]]},"1386":{"position":[[2987,4]]}},"keywords":{}}],["oom",{"_index":6180,"title":{"1244":{"position":[[17,5]]}},"content":{"1244":{"position":[[14,5]]},"1247":{"position":[[430,4]]},"1254":{"position":[[356,4]]}},"keywords":{}}],["oop",{"_index":3149,"title":{},"content":{"641":{"position":[[162,4]]}},"keywords":{}}],["opam",{"_index":64,"title":{},"content":{"4":{"position":[[477,4]]}},"keywords":{}}],["opaqu",{"_index":961,"title":{},"content":{"67":{"position":[[241,7]]},"74":{"position":[[37,6]]},"455":{"position":[[241,7]]},"497":{"position":[[37,6]]},"1004":{"position":[[162,7]]},"1071":{"position":[[821,6]]}},"keywords":{}}],["opaque_metadata",{"_index":6325,"title":{},"content":{"1348":{"position":[[245,15]]},"1349":{"position":[[256,15]]},"1350":{"position":[[248,15]]},"1351":{"position":[[254,15]]},"1352":{"position":[[248,15]]},"1353":{"position":[[261,15]]},"1354":{"position":[[262,15]]},"1355":{"position":[[249,15]]},"1356":{"position":[[250,15]]},"1357":{"position":[[250,15]]},"1358":{"position":[[254,15]]},"1359":{"position":[[250,15]]},"1360":{"position":[[245,15]]},"1361":{"position":[[253,15]]},"1362":{"position":[[246,15]]},"1363":{"position":[[246,15]]},"1364":{"position":[[247,15]]},"1365":{"position":[[247,15]]},"1366":{"position":[[248,15]]},"1367":{"position":[[244,15]]},"1368":{"position":[[249,15]]},"1369":{"position":[[253,15]]},"1370":{"position":[[260,15]]},"1371":{"position":[[251,15]]},"1372":{"position":[[248,15]]},"1373":{"position":[[245,15]]},"1374":{"position":[[247,15]]},"1375":{"position":[[248,15]]},"1376":{"position":[[253,15]]},"1377":{"position":[[250,15]]},"1378":{"position":[[252,15]]},"1379":{"position":[[250,15]]},"1380":{"position":[[249,15]]},"1381":{"position":[[248,15]]},"1382":{"position":[[244,15]]},"1383":{"position":[[245,15]]},"1384":{"position":[[245,15]]},"1385":{"position":[[251,15]]},"1386":{"position":[[256,15]]},"1387":{"position":[[254,15]]},"1388":{"position":[[242,15]]},"1389":{"position":[[247,15]]},"1390":{"position":[[242,15]]},"1391":{"position":[[243,15]]},"1392":{"position":[[240,15]]},"1393":{"position":[[244,15]]},"1394":{"position":[[253,15]]},"1395":{"position":[[248,15]]},"1396":{"position":[[253,15]]},"1397":{"position":[[248,15]]},"1398":{"position":[[245,15]]},"1399":{"position":[[245,15]]},"1400":{"position":[[254,15]]},"1401":{"position":[[243,15]]},"1402":{"position":[[242,15]]},"1403":{"position":[[241,15]]},"1404":{"position":[[243,15]]},"1405":{"position":[[243,15]]},"1406":{"position":[[253,15]]},"1407":{"position":[[253,15]]},"1408":{"position":[[244,15]]},"1409":{"position":[[243,15]]},"1410":{"position":[[241,15]]},"1411":{"position":[[248,15]]},"1412":{"position":[[248,15]]},"1413":{"position":[[245,15]]},"1414":{"position":[[244,15]]},"1415":{"position":[[248,15]]},"1416":{"position":[[248,15]]},"1417":{"position":[[246,15]]},"1418":{"position":[[249,15]]},"1419":{"position":[[245,15]]},"1420":{"position":[[249,15]]},"1421":{"position":[[258,15]]},"1422":{"position":[[246,15]]},"1423":{"position":[[243,15]]},"1424":{"position":[[245,15]]},"1425":{"position":[[259,15]]},"1426":{"position":[[245,15]]},"1427":{"position":[[246,15]]},"1428":{"position":[[245,15]]},"1429":{"position":[[243,15]]},"1430":{"position":[[250,15]]},"1431":{"position":[[243,15]]},"1432":{"position":[[251,15]]},"1433":{"position":[[244,15]]},"1434":{"position":[[246,15]]},"1435":{"position":[[251,15]]},"1436":{"position":[[247,15]]},"1437":{"position":[[244,15]]},"1438":{"position":[[242,15]]},"1439":{"position":[[248,15]]},"1440":{"position":[[245,15]]},"1441":{"position":[[250,15]]},"1442":{"position":[[251,15]]},"1443":{"position":[[244,15]]},"1444":{"position":[[245,15]]},"1445":{"position":[[248,15]]},"1446":{"position":[[245,15]]},"1447":{"position":[[247,15]]},"1448":{"position":[[246,15]]},"1449":{"position":[[247,15]]},"1450":{"position":[[246,15]]},"1451":{"position":[[246,15]]},"1452":{"position":[[242,15]]},"1453":{"position":[[258,15]]},"1454":{"position":[[254,15]]},"1455":{"position":[[260,15]]},"1456":{"position":[[257,15]]},"1457":{"position":[[253,15]]},"1458":{"position":[[246,15]]},"1459":{"position":[[257,15]]},"1460":{"position":[[256,15]]},"1461":{"position":[[257,15]]},"1462":{"position":[[247,15]]},"1463":{"position":[[257,15]]},"1464":{"position":[[258,15]]},"1465":{"position":[[248,15]]},"1466":{"position":[[261,15]]},"1467":{"position":[[245,15]]},"1468":{"position":[[252,15]]},"1469":{"position":[[245,15]]},"1470":{"position":[[250,15]]},"1471":{"position":[[245,15]]},"1472":{"position":[[246,15]]},"1473":{"position":[[243,15]]},"1474":{"position":[[247,15]]},"1475":{"position":[[244,15]]},"1476":{"position":[[250,15]]},"1477":{"position":[[243,15]]},"1478":{"position":[[241,15]]},"1479":{"position":[[258,15]]},"1480":{"position":[[247,15]]},"1481":{"position":[[249,15]]},"1482":{"position":[[244,15]]},"1483":{"position":[[249,15]]},"1484":{"position":[[249,15]]},"1485":{"position":[[250,15]]},"1486":{"position":[[245,15]]},"1487":{"position":[[242,15]]}},"keywords":{}}],["open",{"_index":78,"title":{},"content":{"5":{"position":[[53,4]]},"22":{"position":[[591,4],[1948,4]]},"24":{"position":[[246,4],[324,4],[450,4],[588,4],[671,4],[766,4],[814,4],[1089,4]]},"446":{"position":[[237,4]]},"595":{"position":[[303,4],[338,4],[425,4]]},"693":{"position":[[8111,4]]},"706":{"position":[[390,4]]},"825":{"position":[[237,4]]},"972":{"position":[[47,4]]},"1059":{"position":[[103,4]]},"1075":{"position":[[673,4]]},"1171":{"position":[[434,4]]},"1172":{"position":[[971,4]]},"1173":{"position":[[271,4]]},"1174":{"position":[[175,4]]},"1175":{"position":[[195,4]]},"1176":{"position":[[279,4]]},"1177":{"position":[[25,4],[191,4],[457,4]]},"1178":{"position":[[345,4]]},"1179":{"position":[[211,4]]},"1180":{"position":[[541,4]]},"1181":{"position":[[296,4]]},"1182":{"position":[[233,4]]},"1183":{"position":[[188,4]]},"1219":{"position":[[0,4]]},"1244":{"position":[[329,4]]},"1260":{"position":[[990,4]]},"1291":{"position":[[990,4]]},"1319":{"position":[[990,4]]},"1360":{"position":[[5798,4]]},"1398":{"position":[[6412,4]]},"1407":{"position":[[4134,7]]}},"keywords":{}}],["oper",{"_index":947,"title":{},"content":{"65":{"position":[[184,9]]},"71":{"position":[[140,10]]},"236":{"position":[[476,9]]},"237":{"position":[[563,9]]},"303":{"position":[[100,10]]},"453":{"position":[[184,9]]},"494":{"position":[[140,10]]},"498":{"position":[[48,10]]},"596":{"position":[[330,9]]},"685":{"position":[[260,10]]},"715":{"position":[[1237,10]]},"870":{"position":[[366,11]]},"872":{"position":[[827,10]]},"889":{"position":[[534,7]]},"944":{"position":[[91,8],[1974,9]]},"955":{"position":[[896,10],[971,10]]},"959":{"position":[[455,11]]},"962":{"position":[[81,11]]},"1004":{"position":[[191,11],[1033,9],[1187,9],[2267,10]]},"1087":{"position":[[216,9]]},"1130":{"position":[[27,9]]},"1133":{"position":[[15,9],[221,8],[855,9]]},"1134":{"position":[[80,8]]},"1172":{"position":[[1553,7]]},"1173":{"position":[[853,7]]},"1221":{"position":[[13,10]]},"1259":{"position":[[257,8],[982,8],[1308,8]]},"1262":{"position":[[42,8]]},"1271":{"position":[[25,8]]},"1273":{"position":[[21,8],[207,9]]},"1282":{"position":[[92,8],[140,8]]},"1283":{"position":[[105,8],[157,8]]},"1284":{"position":[[85,8],[137,8]]},"1286":{"position":[[163,9]]},"1287":{"position":[[76,9]]},"1290":{"position":[[257,8],[982,8],[1308,8]]},"1293":{"position":[[42,8]]},"1302":{"position":[[25,8]]},"1304":{"position":[[21,8],[207,9]]},"1313":{"position":[[92,8],[140,8]]},"1314":{"position":[[105,8],[157,8]]},"1315":{"position":[[85,8],[137,8]]},"1318":{"position":[[257,8],[982,8],[1308,8]]},"1321":{"position":[[42,8]]},"1330":{"position":[[25,8]]},"1332":{"position":[[21,8],[207,9]]},"1341":{"position":[[92,8],[140,8]]},"1342":{"position":[[105,8],[157,8]]},"1343":{"position":[[85,8],[137,8]]},"1362":{"position":[[7865,10],[11147,10],[12023,10]]},"1364":{"position":[[8104,10],[8714,10],[12114,10]]},"1367":{"position":[[11517,10]]},"1373":{"position":[[5662,10]]},"1382":{"position":[[8016,10],[9364,10]]},"1384":{"position":[[7282,10],[8900,10],[14080,10],[14259,9],[15709,10]]},"1385":{"position":[[4247,10]]},"1387":{"position":[[7340,10],[7518,9]]},"1388":{"position":[[8630,10]]},"1393":{"position":[[6525,9]]},"1394":{"position":[[1702,9]]},"1395":{"position":[[2749,9]]},"1396":{"position":[[1602,9]]},"1397":{"position":[[2300,9]]},"1398":{"position":[[3727,9]]},"1399":{"position":[[1803,11]]},"1415":{"position":[[4129,10]]},"1454":{"position":[[7732,9]]}},"keywords":{}}],["operand",{"_index":3110,"title":{},"content":{"637":{"position":[[145,8]]},"671":{"position":[[76,8]]}},"keywords":{}}],["operation.exported_platform_dep",{"_index":8169,"title":{},"content":{"1454":{"position":[[5683,33]]}},"keywords":{}}],["operation.platform_preprocessor_flag",{"_index":7062,"title":{},"content":{"1373":{"position":[[7044,38]]},"1385":{"position":[[5592,38]]},"1387":{"position":[[8965,38]]}},"keywords":{}}],["operation.src",{"_index":7832,"title":{},"content":{"1415":{"position":[[5003,15]]}},"keywords":{}}],["operation—with",{"_index":7200,"title":{},"content":{"1384":{"position":[[9590,14]]}},"keywords":{}}],["oppos",{"_index":2017,"title":{},"content":{"374":{"position":[[1328,7]]},"753":{"position":[[1328,7]]},"1007":{"position":[[140,7]]}},"keywords":{}}],["opposit",{"_index":1814,"title":{},"content":{"333":{"position":[[385,8]]}},"keywords":{}}],["opt",{"_index":3459,"title":{},"content":{"690":{"position":[[240,3]]},"937":{"position":[[1588,4],[4096,4]]},"1114":{"position":[[633,3]]},"1403":{"position":[[6069,4]]}},"keywords":{}}],["optim",{"_index":115,"title":{"1055":{"position":[[18,12]]}},"content":{"6":{"position":[[72,13]]},"9":{"position":[[278,9]]},"22":{"position":[[362,8]]},"23":{"position":[[1827,12],[2264,13]]},"693":{"position":[[3268,12],[3936,12]]},"919":{"position":[[778,14]]},"1255":{"position":[[217,9]]},"1358":{"position":[[2664,13]]},"1386":{"position":[[2506,13],[5247,13]]},"1414":{"position":[[673,9]]}},"keywords":{}}],["optimis",{"_index":419,"title":{},"content":{"13":{"position":[[141,13]]},"890":{"position":[[2209,8],[6237,14],[6274,13]]},"898":{"position":[[1439,8]]},"900":{"position":[[1643,13]]}},"keywords":{}}],["optimization_pass",{"_index":6449,"title":{},"content":{"1350":{"position":[[2927,20]]},"1352":{"position":[[2926,20]]}},"keywords":{}}],["optimizations—such",{"_index":6622,"title":{},"content":{"1358":{"position":[[2499,18]]}},"keywords":{}}],["optimizationwhich",{"_index":6152,"title":{},"content":{"1232":{"position":[[3567,17]]}},"keywords":{}}],["option",{"_index":820,"title":{"879":{"position":[[16,7]]}},"content":{"31":{"position":[[40,8]]},"40":{"position":[[165,8]]},"41":{"position":[[248,8],[273,8]]},"91":{"position":[[389,8],[525,8]]},"94":{"position":[[2784,7],[2911,7],[3343,7],[3407,7],[3614,6],[3668,7]]},"98":{"position":[[529,11],[633,11],[954,11]]},"99":{"position":[[1301,11],[1362,11]]},"126":{"position":[[402,8]]},"140":{"position":[[251,9]]},"173":{"position":[[165,8]]},"174":{"position":[[248,8],[273,8]]},"187":{"position":[[40,8]]},"204":{"position":[[59,8]]},"205":{"position":[[73,8]]},"223":{"position":[[389,8],[525,8]]},"226":{"position":[[2784,7],[2911,7],[3343,7],[3407,7],[3614,6],[3668,7]]},"230":{"position":[[529,11],[633,11],[954,11]]},"231":{"position":[[1301,11],[1362,11]]},"243":{"position":[[490,8]]},"245":{"position":[[86,8]]},"246":{"position":[[86,8]]},"249":{"position":[[402,8]]},"263":{"position":[[251,9]]},"276":{"position":[[332,6]]},"277":{"position":[[284,6]]},"281":{"position":[[408,6]]},"282":{"position":[[357,6]]},"294":{"position":[[522,8],[662,8],[1133,7]]},"295":{"position":[[180,8]]},"297":{"position":[[500,8],[961,7]]},"298":{"position":[[1429,8]]},"301":{"position":[[436,8],[848,7]]},"302":{"position":[[180,8]]},"306":{"position":[[100,8]]},"309":{"position":[[705,7],[738,8]]},"310":{"position":[[553,7]]},"311":{"position":[[401,7]]},"318":{"position":[[228,8]]},"320":{"position":[[272,8]]},"322":{"position":[[87,8]]},"346":{"position":[[265,8]]},"397":{"position":[[63,9]]},"402":{"position":[[654,6]]},"404":{"position":[[191,6]]},"416":{"position":[[181,8]]},"417":{"position":[[410,8]]},"427":{"position":[[443,7]]},"528":{"position":[[96,8]]},"554":{"position":[[246,8]]},"557":{"position":[[258,8]]},"559":{"position":[[319,8]]},"566":{"position":[[222,8]]},"568":{"position":[[169,8]]},"591":{"position":[[274,8]]},"595":{"position":[[389,8],[539,9]]},"610":{"position":[[245,8]]},"617":{"position":[[300,8]]},"639":{"position":[[312,8]]},"648":{"position":[[500,8]]},"654":{"position":[[229,8]]},"666":{"position":[[234,8],[338,8]]},"675":{"position":[[467,8]]},"687":{"position":[[162,6]]},"692":{"position":[[199,6]]},"693":{"position":[[1226,8]]},"711":{"position":[[1099,8]]},"776":{"position":[[63,9]]},"781":{"position":[[654,6]]},"783":{"position":[[191,6]]},"795":{"position":[[181,8]]},"796":{"position":[[410,8]]},"806":{"position":[[443,7]]},"873":{"position":[[80,7]]},"879":{"position":[[16,7],[47,7]]},"924":{"position":[[20,7]]},"937":{"position":[[4068,7]]},"977":{"position":[[186,8]]},"1004":{"position":[[586,10]]},"1005":{"position":[[25,8]]},"1045":{"position":[[246,10]]},"1046":{"position":[[298,10]]},"1052":{"position":[[844,8]]},"1077":{"position":[[15,10]]},"1081":{"position":[[302,9]]},"1086":{"position":[[261,8]]},"1112":{"position":[[3468,8],[3858,8],[4957,8]]},"1127":{"position":[[165,8]]},"1131":{"position":[[72,6],[285,6]]},"1133":{"position":[[414,8]]},"1136":{"position":[[813,9],[982,8],[2461,8],[2711,8],[2777,7],[4560,8],[4654,6],[4978,8],[5711,8],[6030,8]]},"1138":{"position":[[55,9],[136,8],[1643,8],[1753,9],[1797,8],[1824,6],[1902,7],[1976,8],[1999,7],[3973,6],[5560,8],[5699,6],[6373,8],[6439,7],[8222,8],[8316,6],[8640,8],[9373,8],[9692,8]]},"1140":{"position":[[41,9],[291,8],[1132,8],[1242,9],[1286,8],[1313,6],[1391,7],[1465,8],[1488,7],[3462,6],[5049,8],[5299,8],[5365,7],[7148,8],[7242,6],[7566,8],[8299,8],[8618,8]]},"1142":{"position":[[103,9],[113,8],[665,6],[743,8],[809,7],[2592,8],[2686,6],[3010,8],[3743,8],[4062,8]]},"1144":{"position":[[199,9],[323,8],[390,8]]},"1146":{"position":[[76,9],[161,8],[273,6],[433,8],[683,8],[749,7],[2532,8],[2626,6],[2950,8],[3683,8],[4002,8]]},"1148":{"position":[[1169,9],[1338,8],[2910,8],[3049,6],[3723,8],[3789,7],[5572,8],[5666,6],[5990,8],[6723,8],[7051,8],[7130,6],[7593,8]]},"1150":{"position":[[511,9],[558,8],[625,8]]},"1152":{"position":[[81,9],[91,8],[323,8]]},"1154":{"position":[[67,9],[411,8],[478,8]]},"1155":{"position":[[88,9],[311,8],[779,8],[845,7],[2628,8],[2722,6],[3046,8],[3779,8],[4098,8]]},"1156":{"position":[[182,9],[224,8],[357,8],[423,7],[2206,8],[2300,6],[2624,8],[3357,8],[3676,8]]},"1157":{"position":[[70,9],[80,8],[261,8]]},"1158":{"position":[[64,9],[74,8],[255,8]]},"1159":{"position":[[64,9],[74,8],[255,8]]},"1161":{"position":[[53,9],[174,8],[517,8],[1250,8]]},"1163":{"position":[[240,9],[250,8],[317,8],[636,8]]},"1165":{"position":[[69,9],[79,8],[146,8],[465,8]]},"1167":{"position":[[62,9],[241,8],[473,6],[619,6],[1655,6],[1820,6],[2136,8],[2246,9],[2290,8],[2317,6],[2395,7],[2469,8],[2492,7],[4466,6],[6053,8],[6303,8],[6369,7],[8152,8],[8246,6],[8570,8],[9303,8],[9622,8]]},"1169":{"position":[[64,9],[74,8],[142,8],[208,7],[1991,8],[2085,6],[2411,8],[2730,8]]},"1171":{"position":[[66,9],[904,8],[971,8]]},"1172":{"position":[[862,9],[938,8],[1080,6],[2356,8]]},"1173":{"position":[[162,9],[238,8],[380,6],[1043,8]]},"1174":{"position":[[66,9],[142,8],[284,6],[471,8]]},"1175":{"position":[[86,9],[162,8],[304,6],[467,8]]},"1176":{"position":[[170,9],[246,8],[388,6],[636,8]]},"1177":{"position":[[82,9],[158,8],[300,6],[557,8]]},"1178":{"position":[[236,9],[312,8],[454,6],[874,8]]},"1179":{"position":[[102,9],[178,8],[320,6],[671,8]]},"1180":{"position":[[432,9],[508,8],[650,6],[942,8]]},"1181":{"position":[[126,9],[263,8],[405,6],[729,8],[1462,8]]},"1182":{"position":[[124,9],[200,8],[342,6],[505,8]]},"1183":{"position":[[79,9],[155,8],[297,6],[460,8]]},"1185":{"position":[[51,9],[238,8],[305,8]]},"1186":{"position":[[55,9],[160,8],[1134,8],[1273,6],[1947,8],[2013,7],[3796,8],[3890,6],[4214,8],[4947,8],[5266,8]]},"1187":{"position":[[68,9],[173,8],[1147,8],[1286,6],[1960,8],[2026,7],[3809,8],[3903,6],[4227,8],[4960,8],[5279,8]]},"1188":{"position":[[52,9],[344,8],[1185,8],[1295,9],[1339,8],[1366,6],[1444,7],[1518,8],[1541,7],[3515,6],[5873,8],[6012,6],[6686,8],[6752,7],[8535,8],[8629,6],[8953,8],[9686,8],[10005,8]]},"1190":{"position":[[55,9],[1569,8],[1636,8]]},"1191":{"position":[[89,9],[231,8],[469,6],[547,8],[613,7],[2396,8],[2490,6],[2814,8],[3547,8],[3866,8]]},"1192":{"position":[[277,9],[365,8],[472,8],[722,8],[788,7],[2571,8],[2665,6],[2989,8],[3722,8],[4041,8]]},"1193":{"position":[[52,9],[312,8],[696,6],[774,8],[840,7],[2623,8],[2717,6],[3041,8],[3774,8],[4093,8]]},"1194":{"position":[[87,9],[297,8],[336,6],[414,8],[480,7],[2263,8],[2357,6],[2681,8],[3414,8],[3733,8]]},"1195":{"position":[[87,9],[231,8],[314,6],[392,8],[458,7],[2241,8],[2335,6],[2659,8],[3392,8],[3711,8]]},"1196":{"position":[[75,9],[85,8],[124,6],[202,8],[268,7],[2051,8],[2145,6],[2469,8],[3202,8],[3521,8]]},"1197":{"position":[[83,9],[178,8],[372,8],[511,6],[1185,8],[1251,7],[3034,8],[3128,6],[3452,8],[4185,8],[4504,8]]},"1198":{"position":[[59,9],[154,8],[382,8],[521,6],[1195,8],[1261,7],[3044,8],[3138,6],[3462,8],[4195,8],[4514,8]]},"1199":{"position":[[86,9],[246,8],[410,8],[549,6],[1223,8],[1289,7],[3072,8],[3166,6],[3490,8],[4223,8],[4542,8]]},"1200":{"position":[[116,9],[199,8],[277,8],[416,6],[1090,8],[1156,7],[2939,8],[3033,6],[3357,8],[4090,8],[4409,8]]},"1201":{"position":[[140,9],[233,8],[272,6],[350,8],[416,7],[2199,8],[2293,6],[2617,8],[3350,8],[3669,8]]},"1202":{"position":[[63,9],[346,8],[413,8],[1295,9],[1375,8],[1414,6],[1492,8],[1558,7],[3341,8],[3435,6],[3759,8],[4492,8],[4811,8],[5711,9],[5772,8],[5811,6],[5889,8],[5955,7],[7738,8],[7832,6],[8156,8],[8889,8],[9208,8]]},"1203":{"position":[[79,9],[256,8],[334,8],[584,8],[650,7],[2433,8],[2527,6],[2851,8],[3584,8],[3903,8]]},"1204":{"position":[[100,9],[311,8],[350,6],[428,8],[494,7],[2277,8],[2371,6],[2695,8],[3428,8],[3747,8],[4572,9],[4582,8],[4649,8],[5502,9],[5512,8],[5579,8],[6404,9],[6414,8],[6481,8],[7312,9],[7400,8],[7467,8],[8344,9],[8354,8],[8421,8],[9256,9],[9266,8],[9368,8],[10221,9],[10231,8],[10298,8]]},"1205":{"position":[[286,9],[455,8],[1507,8],[1757,8],[1823,7],[3606,8],[3700,6],[4024,8],[4757,8],[5076,8]]},"1206":{"position":[[130,9],[160,8],[228,8],[294,7],[2077,8],[2171,6],[2495,8],[3228,8],[3567,6],[3775,8]]},"1207":{"position":[[156,9],[268,8],[307,6],[385,8],[451,7],[2234,8],[2328,6],[2652,8],[3385,8],[3704,8]]},"1209":{"position":[[46,9],[215,8],[1655,6],[1733,8],[1799,7],[3582,8],[3676,6],[4000,8],[4733,8],[5052,8]]},"1211":{"position":[[66,9],[76,8],[376,8]]},"1213":{"position":[[70,9],[80,8],[147,8]]},"1215":{"position":[[41,9],[51,8],[231,8]]},"1217":{"position":[[189,9],[356,8],[877,8],[987,9],[1031,8],[1058,6],[1136,7],[1210,8],[1233,7],[3207,6],[4794,8],[5044,8],[5110,7],[6893,8],[6987,6],[7311,8],[8044,8],[8363,8]]},"1219":{"position":[[773,9],[783,8],[1030,8],[1096,7],[2879,8],[2973,6],[3299,8],[3618,8]]},"1221":{"position":[[54,9],[283,8],[350,8]]},"1222":{"position":[[60,9],[86,8],[154,8],[220,7],[2003,8],[2097,6],[2421,8],[3154,8],[3489,8]]},"1223":{"position":[[70,9],[96,8],[164,8],[230,7],[2013,8],[2107,6],[2431,8],[3164,8],[3499,8]]},"1224":{"position":[[266,9],[276,8],[344,8],[410,7],[2193,8],[2287,6],[2613,8],[2932,8]]},"1226":{"position":[[50,9],[135,8],[1284,6],[1361,6],[5262,8],[5512,8],[5578,7],[7361,8],[7455,6],[7779,8],[8512,8],[8831,8]]},"1228":{"position":[[63,9],[399,8],[2958,8],[3068,9],[3112,8],[3139,6],[3217,7],[3291,8],[3314,7],[5288,6],[6875,8],[7125,8],[7191,7],[8974,8],[9068,6],[9392,8],[10125,8],[10444,8]]},"1235":{"position":[[1306,9],[1475,8],[2915,6],[2993,8],[3059,7],[4842,8],[4936,6],[5260,8],[5993,8],[6312,8]]},"1237":{"position":[[220,9],[305,8],[1454,6],[1531,6],[5432,8],[5682,8],[5748,7],[7531,8],[7625,6],[7949,8],[8682,8],[9001,8]]},"1244":{"position":[[311,6]]},"1351":{"position":[[2499,8]]},"1355":{"position":[[4866,8]]},"1359":{"position":[[1921,8]]},"1361":{"position":[[1840,8],[2092,8]]},"1362":{"position":[[6559,8],[9765,7]]},"1363":{"position":[[2999,10],[4049,7]]},"1364":{"position":[[10879,7]]},"1365":{"position":[[1816,7]]},"1367":{"position":[[10682,7],[14126,8],[14257,8]]},"1382":{"position":[[6491,7]]},"1383":{"position":[[1404,7],[8310,7],[8516,7]]},"1384":{"position":[[12845,7]]},"1386":{"position":[[2965,8],[5271,8]]},"1388":{"position":[[7360,7]]},"1393":{"position":[[2236,10],[4242,7],[4358,8],[4510,6],[8822,6],[8924,6]]},"1397":{"position":[[1740,10]]},"1416":{"position":[[3509,6]]},"1420":{"position":[[2646,6]]},"1422":{"position":[[1825,8],[2253,8]]},"1423":{"position":[[780,10],[1960,8]]},"1427":{"position":[[4295,6]]},"1429":{"position":[[6105,7]]},"1439":{"position":[[4902,6],[5012,6],[5111,6],[5498,7]]},"1440":{"position":[[6005,7]]},"1462":{"position":[[8680,6]]},"1465":{"position":[[3971,6]]},"1467":{"position":[[10163,6]]},"1469":{"position":[[1756,8],[1901,8],[2341,8]]}},"keywords":{}}],["option<frozenslots>)>>",{"_index":4259,"title":{},"content":{"890":{"position":[[6502,34]]}},"keywords":{}}],["option3",{"_index":3122,"title":{},"content":{"638":{"position":[[301,8]]}},"keywords":{}}],["optional[actionerror",{"_index":5734,"title":{},"content":{"1112":{"position":[[2897,22]]}},"keywords":{}}],["optional[actionerrordiagnost",{"_index":5741,"title":{},"content":{"1112":{"position":[[3656,33]]}},"keywords":{}}],["optional[list[actionerrorloc",{"_index":5746,"title":{},"content":{"1112":{"position":[[4796,36]]}},"keywords":{}}],["optional[str",{"_index":5725,"title":{},"content":{"1112":{"position":[[1851,13],[3904,14]]}},"keywords":{}}],["optional[u64",{"_index":5748,"title":{},"content":{"1112":{"position":[[4984,13]]}},"keywords":{}}],["optional[uint",{"_index":5730,"title":{},"content":{"1112":{"position":[[2574,15]]}},"keywords":{}}],["optional_provider:n2>",{"_index":4875,"title":{},"content":{"984":{"position":[[75,26]]}},"keywords":{}}],["optionallocalresourceinfo",{"_index":5483,"title":{},"content":{"1069":{"position":[[670,25]]}},"keywords":{}}],["orbuck2",{"_index":2609,"title":{},"content":{"570":{"position":[[459,7]]},"1106":{"position":[[144,7]]}},"keywords":{}}],["orbuild",{"_index":5848,"title":{},"content":{"1133":{"position":[[367,7]]}},"keywords":{}}],["orchestr",{"_index":3786,"title":{},"content":{"715":{"position":[[1196,12]]},"1228":{"position":[[1527,12],[1621,12]]}},"keywords":{}}],["orctx.actions.anon_target",{"_index":5171,"title":{},"content":{"1043":{"position":[[54,27]]}},"keywords":{}}],["ord",{"_index":3265,"title":{"656":{"position":[[0,4]]}},"content":{"656":{"position":[[30,4],[214,3]]}},"keywords":{}}],["ord(",{"_index":3267,"title":{},"content":{"656":{"position":[[72,6]]}},"keywords":{}}],["ord("a"",{"_index":3270,"title":{},"content":{"656":{"position":[[341,18]]}},"keywords":{}}],["ord("й"",{"_index":3272,"title":{},"content":{"656":{"position":[[366,18]]}},"keywords":{}}],["ord("😿"",{"_index":3274,"title":{},"content":{"656":{"position":[[393,19]]}},"keywords":{}}],["ord(a",{"_index":3266,"title":{},"content":{"656":{"position":[[4,6]]}},"keywords":{}}],["order",{"_index":898,"title":{"706":{"position":[[7,5]]},"1088":{"position":[[0,9]]}},"content":{"50":{"position":[[332,5]]},"197":{"position":[[332,5]]},"368":{"position":[[2576,5]]},"555":{"position":[[193,5]]},"556":{"position":[[168,5]]},"561":{"position":[[175,5]]},"583":{"position":[[29,5],[904,5],[966,5],[1015,6]]},"654":{"position":[[176,7]]},"655":{"position":[[173,7]]},"665":{"position":[[182,6]]},"666":{"position":[[193,6],[327,6]]},"682":{"position":[[78,5]]},"683":{"position":[[3,5]]},"747":{"position":[[2576,5]]},"923":{"position":[[130,5]]},"937":{"position":[[958,5]]},"938":{"position":[[1002,5]]},"940":{"position":[[331,6]]},"943":{"position":[[26,5],[131,5],[301,5],[2126,8],[2212,5]]},"977":{"position":[[167,6]]},"1035":{"position":[[329,5]]},"1057":{"position":[[1281,5]]},"1064":{"position":[[2089,5]]},"1088":{"position":[[51,5],[134,5],[203,6],[233,8],[253,8],[569,5],[668,5],[1171,8],[1250,9],[1361,8]]},"1134":{"position":[[3,5]]},"1178":{"position":[[622,5]]},"1226":{"position":[[3991,5]]},"1237":{"position":[[4161,5]]},"1245":{"position":[[582,5]]},"1282":{"position":[[268,5]]},"1283":{"position":[[285,5]]},"1284":{"position":[[265,5]]},"1313":{"position":[[268,5]]},"1314":{"position":[[285,5]]},"1315":{"position":[[265,5]]},"1341":{"position":[[268,5]]},"1342":{"position":[[285,5]]},"1343":{"position":[[265,5]]},"1355":{"position":[[5130,5]]},"1362":{"position":[[5210,5]]},"1364":{"position":[[5239,5]]},"1382":{"position":[[4764,5]]},"1384":{"position":[[20198,5],[20799,5]]},"1388":{"position":[[5458,5]]},"1397":{"position":[[1729,6]]},"1422":{"position":[[2560,5],[3563,6]]},"1423":{"position":[[2229,5],[2334,6]]},"1427":{"position":[[4444,5]]},"1439":{"position":[[6943,5]]},"1442":{"position":[[1754,5]]},"1462":{"position":[[8534,5]]},"1467":{"position":[[10016,5],[10121,6]]},"1477":{"position":[[1902,5],[1988,5]]},"1478":{"position":[[2608,5]]},"1487":{"position":[[2704,5]]}},"keywords":{}}],["order.py_version_for_type_check",{"_index":8338,"title":{},"content":{"1462":{"position":[[8639,35]]}},"keywords":{}}],["ordinari",{"_index":7965,"title":{},"content":{"1427":{"position":[[6734,8]]},"1439":{"position":[[7877,8]]}},"keywords":{}}],["orfrozenvalu",{"_index":4153,"title":{},"content":{"888":{"position":[[67,13]]}},"keywords":{}}],["org.junit.rules.timeout",{"_index":7987,"title":{},"content":{"1429":{"position":[[3676,23]]},"1440":{"position":[[3669,23]]}},"keywords":{}}],["org.slf4j",{"_index":7956,"title":{},"content":{"1426":{"position":[[2238,12]]}},"keywords":{}}],["org/slf4j",{"_index":7955,"title":{},"content":{"1426":{"position":[[2222,15]]}},"keywords":{}}],["origin",{"_index":737,"title":{"1094":{"position":[[0,8]]},"1095":{"position":[[12,7]]},"1096":{"position":[[8,7]]}},"content":{"23":{"position":[[1956,8]]},"49":{"position":[[57,10]]},"52":{"position":[[144,8]]},"53":{"position":[[122,8]]},"66":{"position":[[102,8]]},"196":{"position":[[57,10]]},"199":{"position":[[144,8]]},"200":{"position":[[122,8]]},"433":{"position":[[197,11]]},"454":{"position":[[102,8]]},"608":{"position":[[240,8]]},"609":{"position":[[240,8]]},"693":{"position":[[7775,10]]},"812":{"position":[[197,11]]},"888":{"position":[[133,10]]},"890":{"position":[[6606,8]]},"892":{"position":[[1875,8]]},"978":{"position":[[130,8]]},"995":{"position":[[1354,8]]},"1004":{"position":[[1533,8]]},"1093":{"position":[[713,7],[738,7]]},"1094":{"position":[[43,8]]},"1095":{"position":[[12,6]]},"1096":{"position":[[8,6]]},"1176":{"position":[[556,8]]},"1358":{"position":[[2709,11]]},"1360":{"position":[[5627,8]]},"1383":{"position":[[7630,8]]},"1399":{"position":[[1642,8]]},"1403":{"position":[[6730,8]]},"1477":{"position":[[2561,8]]}},"keywords":{}}],["original_script.relative_to(dir",{"_index":978,"title":{},"content":{"69":{"position":[[587,32]]},"457":{"position":[[587,32]]}},"keywords":{}}],["orjemalloc",{"_index":420,"title":{},"content":{"13":{"position":[[155,11]]}},"keywords":{}}],["ornon",{"_index":5469,"title":{},"content":{"1064":{"position":[[1376,6]]},"1065":{"position":[[217,6]]}},"keywords":{}}],["os",{"_index":2253,"title":{},"content":{"419":{"position":[[86,2]]},"690":{"position":[[211,3]]},"798":{"position":[[86,2]]},"937":{"position":[[99,2],[1835,5],[4111,2]]},"938":{"position":[[590,2]]},"939":{"position":[[1260,2],[1584,3]]},"940":{"position":[[556,2],[1040,2]]},"943":{"position":[[1026,3],[1618,2],[1686,2],[2457,2],[2495,2]]},"944":{"position":[[868,2],[961,2],[1151,2],[1405,3]]},"1004":{"position":[[1070,2]]},"1362":{"position":[[13265,2]]},"1364":{"position":[[13965,2]]},"1367":{"position":[[13173,2]]}},"keywords":{}}],["os.label",{"_index":5002,"title":{},"content":{"1004":{"position":[[1322,8]]}},"keywords":{}}],["os=struct",{"_index":2257,"title":{},"content":{"419":{"position":[[180,10]]},"798":{"position":[[180,10]]}},"keywords":{}}],["os=window",{"_index":3577,"title":{},"content":{"693":{"position":[[6747,10]]}},"keywords":{}}],["os_env",{"_index":7449,"title":{},"content":{"1393":{"position":[[779,7],[6462,7]]},"1394":{"position":[[481,7]]},"1395":{"position":[[566,7],[2686,7]]},"1396":{"position":[[447,7]]},"1397":{"position":[[529,7]]},"1398":{"position":[[808,7],[3664,7]]}},"keywords":{}}],["oss",{"_index":327,"title":{},"content":{"10":{"position":[[479,4]]}},"keywords":{}}],["osx",{"_index":6783,"title":{},"content":{"1362":{"position":[[4783,3]]}},"keywords":{}}],["osx—on",{"_index":6650,"title":{},"content":{"1360":{"position":[[2878,6]]},"1383":{"position":[[2463,6]]},"1403":{"position":[[2293,6]]}},"keywords":{}}],["other",{"_index":4066,"title":{},"content":{"870":{"position":[[1227,6]]},"1013":{"position":[[572,7]]}},"keywords":{}}],["other'",{"_index":5053,"title":{},"content":{"1013":{"position":[[480,7]]}},"keywords":{}}],["other_output",{"_index":1469,"title":{},"content":{"237":{"position":[[543,14]]},"368":{"position":[[104,14],[3068,14]]},"747":{"position":[[104,14],[3068,14]]},"1245":{"position":[[242,13]]},"1286":{"position":[[143,14]]}},"keywords":{}}],["otherdynamic_output",{"_index":5135,"title":{},"content":{"1040":{"position":[[655,19]]}},"keywords":{}}],["otherlibrari",{"_index":6932,"title":{},"content":{"1364":{"position":[[14509,16]]}},"keywords":{}}],["otherwis",{"_index":960,"title":{},"content":{"67":{"position":[[224,9]]},"130":{"position":[[197,9]]},"240":{"position":[[301,9]]},"243":{"position":[[516,9]]},"253":{"position":[[197,9]]},"276":{"position":[[284,10]]},"277":{"position":[[235,10]]},"281":{"position":[[351,10]]},"282":{"position":[[299,10]]},"286":{"position":[[242,9]]},"329":{"position":[[361,9]]},"455":{"position":[[224,9]]},"470":{"position":[[301,9]]},"557":{"position":[[320,10]]},"576":{"position":[[133,9]]},"608":{"position":[[208,10]]},"609":{"position":[[208,10]]},"706":{"position":[[2597,9]]},"939":{"position":[[1294,10]]},"1083":{"position":[[198,9]]},"1112":{"position":[[460,9],[2520,10]]},"1136":{"position":[[754,9],[3212,9]]},"1138":{"position":[[6874,9]]},"1140":{"position":[[5800,9]]},"1142":{"position":[[1244,9]]},"1146":{"position":[[1184,9]]},"1148":{"position":[[4224,9]]},"1155":{"position":[[1280,9]]},"1156":{"position":[[858,9]]},"1167":{"position":[[6804,9]]},"1169":{"position":[[643,9]]},"1172":{"position":[[2151,10]]},"1186":{"position":[[2448,9]]},"1187":{"position":[[2461,9]]},"1188":{"position":[[7187,9]]},"1191":{"position":[[1048,9]]},"1192":{"position":[[1223,9]]},"1193":{"position":[[1275,9]]},"1194":{"position":[[915,9]]},"1195":{"position":[[893,9]]},"1196":{"position":[[703,9]]},"1197":{"position":[[1686,9]]},"1198":{"position":[[1696,9]]},"1199":{"position":[[1724,9]]},"1200":{"position":[[1591,9]]},"1201":{"position":[[851,9]]},"1202":{"position":[[1993,9],[6390,9]]},"1203":{"position":[[1085,9]]},"1204":{"position":[[929,9]]},"1205":{"position":[[2258,9]]},"1206":{"position":[[729,9]]},"1207":{"position":[[886,9]]},"1209":{"position":[[2234,9]]},"1217":{"position":[[5545,9]]},"1219":{"position":[[1531,9]]},"1222":{"position":[[655,9]]},"1223":{"position":[[665,9]]},"1224":{"position":[[845,9]]},"1226":{"position":[[1304,10],[6013,9]]},"1228":{"position":[[7626,9]]},"1235":{"position":[[3494,9]]},"1237":{"position":[[1474,10],[6183,9]]},"1254":{"position":[[583,9]]},"1355":{"position":[[4002,9]]},"1360":{"position":[[4091,10]]},"1362":{"position":[[10388,9]]},"1364":{"position":[[11502,9]]},"1367":{"position":[[11305,9]]},"1373":{"position":[[5104,10],[6127,9]]},"1382":{"position":[[6174,10],[7114,9]]},"1384":{"position":[[6686,10],[11121,10],[13468,9],[17316,11],[19610,9]]},"1385":{"position":[[4087,10]]},"1387":{"position":[[6420,10]]},"1388":{"position":[[7043,10],[7983,9]]},"1393":{"position":[[2721,10]]},"1403":{"position":[[3506,10],[4308,9]]},"1405":{"position":[[2366,9],[3159,10],[3451,9]]},"1407":{"position":[[2787,9],[3580,10],[3872,9]]},"1408":{"position":[[2491,9]]},"1410":{"position":[[2809,9],[4161,10],[4859,9]]},"1427":{"position":[[3147,9]]},"1439":{"position":[[3821,9]]},"1454":{"position":[[5390,10]]},"1459":{"position":[[1698,9]]},"1461":{"position":[[1991,9]]},"1485":{"position":[[2455,10]]}},"keywords":{}}],["otp",{"_index":7463,"title":{},"content":{"1393":{"position":[[3542,3],[5431,3],[8311,3],[9156,3],[9307,3],[10241,3]]},"1395":{"position":[[749,3],[2219,3]]},"1397":{"position":[[694,3],[728,3],[1889,3]]},"1398":{"position":[[2557,3]]}},"keywords":{}}],["out",{"_index":603,"title":{"570":{"position":[[5,3]]}},"content":{"19":{"position":[[112,3]]},"24":{"position":[[36,3]]},"86":{"position":[[305,3]]},"96":{"position":[[299,3]]},"218":{"position":[[305,3]]},"228":{"position":[[299,3]]},"243":{"position":[[149,3],[228,3],[326,3],[468,3]]},"288":{"position":[[126,3],[202,3]]},"289":{"position":[[146,3],[222,3]]},"368":{"position":[[1640,3]]},"406":{"position":[[768,3]]},"416":{"position":[[574,4]]},"417":{"position":[[804,4]]},"419":{"position":[[160,3]]},"510":{"position":[[152,3],[228,3]]},"511":{"position":[[172,3],[248,3]]},"570":{"position":[[5,3],[64,3],[217,3]]},"712":{"position":[[287,3],[428,7],[2844,3],[3001,3]]},"724":{"position":[[1115,3],[1698,4]]},"747":{"position":[[1640,3]]},"785":{"position":[[768,3]]},"795":{"position":[[574,4]]},"796":{"position":[[804,4]]},"798":{"position":[[160,3]]},"834":{"position":[[27,3],[153,3]]},"840":{"position":[[1763,3]]},"846":{"position":[[594,3]]},"889":{"position":[[1068,4]]},"907":{"position":[[334,4]]},"911":{"position":[[78,3]]},"923":{"position":[[31,3]]},"937":{"position":[[3832,3],[4626,3]]},"947":{"position":[[1363,3]]},"955":{"position":[[1073,4],[1270,3]]},"970":{"position":[[246,3]]},"1018":{"position":[[349,6]]},"1037":{"position":[[554,3]]},"1046":{"position":[[150,3]]},"1048":{"position":[[550,3],[764,5],[994,3],[1247,5],[1268,5]]},"1049":{"position":[[1394,3],[1606,5]]},"1050":{"position":[[4415,3]]},"1061":{"position":[[419,3]]},"1071":{"position":[[1387,3]]},"1072":{"position":[[265,3]]},"1079":{"position":[[164,3],[251,3],[975,3]]},"1091":{"position":[[151,3]]},"1097":{"position":[[246,3]]},"1103":{"position":[[1787,4]]},"1105":{"position":[[597,3],[960,3]]},"1138":{"position":[[1208,3],[2028,3],[2048,3]]},"1140":{"position":[[1517,3],[1537,3]]},"1142":{"position":[[249,3],[403,4],[599,4]]},"1167":{"position":[[2521,3],[2541,3]]},"1188":{"position":[[1570,3],[1590,3]]},"1190":{"position":[[170,3],[613,3],[780,3],[998,3],[1387,3]]},"1192":{"position":[[7,3]]},"1197":{"position":[[7,3]]},"1200":{"position":[[7,3]]},"1203":{"position":[[7,3]]},"1205":{"position":[[356,3],[408,4]]},"1206":{"position":[[16,3],[3666,3],[3718,4]]},"1217":{"position":[[599,3],[1262,3],[1282,3]]},"1219":{"position":[[720,3]]},"1228":{"position":[[3343,3],[3363,3]]},"1231":{"position":[[61,3]]},"1244":{"position":[[252,3]]},"1254":{"position":[[407,4]]},"1256":{"position":[[28,3]]},"1351":{"position":[[5510,6],[5517,3]]},"1356":{"position":[[1745,3]]},"1360":{"position":[[1073,4],[1094,5],[3624,6],[3738,3],[5026,4],[5153,3],[5191,3],[5198,4],[6309,6],[6393,7],[6401,3],[6575,6],[6634,7],[6642,3]]},"1381":{"position":[[2509,3]]},"1383":{"position":[[951,4],[972,5],[7134,4],[7261,3],[8014,6],[8021,3]]},"1393":{"position":[[2577,3]]},"1399":{"position":[[490,4],[1610,4],[1766,5],[2246,3],[2493,3],[2772,3],[2926,3],[2978,6]]},"1401":{"position":[[1866,3],[1967,6]]},"1403":{"position":[[976,4],[997,5],[3039,6],[3153,3],[4287,4],[4349,4],[4509,5],[5183,4],[5310,3],[5348,3],[5355,4],[5376,5],[5482,3],[5489,4],[5562,4],[5893,4],[5971,4],[7114,6],[7121,3],[7769,6],[7862,7],[7870,3],[8217,4],[8631,3],[8801,3]]},"1405":{"position":[[3944,3]]},"1407":{"position":[[4563,3],[5039,3],[5090,4]]},"1408":{"position":[[2880,3]]},"1410":{"position":[[5745,3]]},"1422":{"position":[[514,4],[2245,4],[2966,4],[4295,3],[4360,6],[4486,4]]},"1423":{"position":[[495,4],[3480,4]]},"1429":{"position":[[5658,4]]},"1439":{"position":[[6467,3]]},"1440":{"position":[[5650,4]]},"1448":{"position":[[2810,3]]},"1449":{"position":[[2744,3]]},"1457":{"position":[[1919,3]]},"1461":{"position":[[3648,3]]},"1462":{"position":[[9151,3]]},"1469":{"position":[[490,4],[1748,4],[2946,3],[3258,3],[3584,3]]},"1471":{"position":[[5734,3]]},"1472":{"position":[[6620,3]]},"1473":{"position":[[5905,3]]},"1477":{"position":[[2407,3],[2522,3],[2930,3],[3123,3]]},"1478":{"position":[[3080,3],[3715,7]]},"1479":{"position":[[562,4]]},"1486":{"position":[[3344,3],[3438,3],[3532,3]]},"1487":{"position":[[559,4],[2091,4]]}},"keywords":{}}],["out%\\androidmanifest.xml",{"_index":7696,"title":{},"content":{"1403":{"position":[[8189,27]]}},"keywords":{}}],["out"",{"_index":1952,"title":{},"content":{"368":{"position":[[906,10],[971,10]]},"747":{"position":[[906,10],[971,10]]}},"keywords":{}}],["out.as_output",{"_index":1658,"title":{},"content":{"298":{"position":[[2856,16]]},"851":{"position":[[2182,16]]},"1048":{"position":[[692,16],[1189,16]]},"1049":{"position":[[1518,15]]}},"keywords":{}}],["out/_cgo_export.h"",{"_index":7774,"title":{},"content":{"1407":{"position":[[5173,24]]}},"keywords":{}}],["out/androidmanifest.xml",{"_index":7695,"title":{},"content":{"1403":{"position":[[8076,26]]}},"keywords":{}}],["out/gen",{"_index":8110,"title":{},"content":{"1446":{"position":[[2749,8]]}},"keywords":{}}],["out/gen/foo/hello.txt"",{"_index":8616,"title":{},"content":{"1487":{"position":[[3266,28]]}},"keywords":{}}],["out/out1.txt",{"_index":7683,"title":{},"content":{"1403":{"position":[[5742,13]]}},"keywords":{}}],["out/out2.txt"",{"_index":7686,"title":{},"content":{"1403":{"position":[[5784,20]]}},"keywords":{}}],["out/path/to/__target__/artifact"",{"_index":1426,"title":{},"content":{"168":{"position":[[181,38]]}},"keywords":{}}],["out/v2/gen/cell/configuration_hash/path/to/target/__target_name__/generated_file"",{"_index":5290,"title":{},"content":{"1050":{"position":[[1717,87]]}},"keywords":{}}],["out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv",{"_index":4316,"title":{},"content":{"896":{"position":[[235,66],[379,66],[599,66],[743,66]]}},"keywords":{}}],["out/v2/gen/fbcode/some_cfg_hash/path/to/__target__/artifact"",{"_index":1497,"title":{},"content":{"243":{"position":[[680,66]]}},"keywords":{}}],["out/v2/gen/root/9f4d83578bb24895/__main__/main",{"_index":539,"title":{},"content":{"17":{"position":[[1472,46]]}},"keywords":{}}],["out="gen",{"_index":7923,"title":{},"content":{"1422":{"position":[[4525,13]]},"1423":{"position":[[3519,13]]}},"keywords":{}}],["outcellsa",{"_index":593,"title":{},"content":{"18":{"position":[[1909,9]]}},"keywords":{}}],["outdat",{"_index":4196,"title":{},"content":{"890":{"position":[[57,9]]},"898":{"position":[[61,9]]}},"keywords":{}}],["outer",{"_index":4210,"title":{},"content":{"890":{"position":[[1331,5]]},"1058":{"position":[[745,5]]},"1243":{"position":[[600,5],[909,5],[1102,5]]}},"keywords":{}}],["outermost",{"_index":3572,"title":{},"content":{"693":{"position":[[6146,9]]}},"keywords":{}}],["outgo",{"_index":5038,"title":{},"content":{"1009":{"position":[[214,8],[284,8]]}},"keywords":{}}],["outlin",{"_index":4213,"title":{},"content":{"890":{"position":[[1671,8]]}},"keywords":{}}],["output",{"_index":524,"title":{"681":{"position":[[14,6]]},"686":{"position":[[9,6]]},"725":{"position":[[16,7]]},"835":{"position":[[39,7]]},"867":{"position":[[10,7]]},"875":{"position":[[16,7]]},"876":{"position":[[8,7]]},"894":{"position":[[9,6]]},"895":{"position":[[19,7]]},"1018":{"position":[[19,6]]},"1205":{"position":[[11,7]]},"1240":{"position":[[12,6]]},"1245":{"position":[[32,9]]}},"content":{"17":{"position":[[1297,6],[1337,6],[1345,7]]},"41":{"position":[[716,8]]},"51":{"position":[[89,6]]},"67":{"position":[[117,6]]},"68":{"position":[[57,7]]},"85":{"position":[[26,7],[260,6]]},"86":{"position":[[24,7]]},"88":{"position":[[197,6],[230,6]]},"89":{"position":[[511,6],[572,6],[666,6]]},"91":{"position":[[27,7],[266,6],[296,6]]},"92":{"position":[[130,8],[1382,7],[1517,7],[1542,6],[1599,7],[1718,8],[2101,6],[2167,7],[2507,7]]},"94":{"position":[[1728,7],[1949,7],[4065,6]]},"95":{"position":[[214,6],[247,6]]},"96":{"position":[[27,7]]},"98":{"position":[[19,7],[1021,6]]},"99":{"position":[[24,7],[652,7],[1429,6]]},"174":{"position":[[716,8]]},"198":{"position":[[89,6]]},"217":{"position":[[26,7],[260,6]]},"218":{"position":[[24,7]]},"220":{"position":[[197,6],[230,6]]},"221":{"position":[[511,6],[572,6],[666,6]]},"223":{"position":[[27,7],[266,6],[296,6]]},"224":{"position":[[130,8],[1382,7],[1517,7],[1542,6],[1599,7],[1718,8],[2101,6],[2167,7],[2507,7]]},"226":{"position":[[1728,7],[1949,7],[4065,6]]},"227":{"position":[[214,6],[247,6]]},"228":{"position":[[27,7]]},"230":{"position":[[19,7],[1021,6]]},"231":{"position":[[24,7],[652,7],[1429,6]]},"237":{"position":[[431,7]]},"245":{"position":[[176,7]]},"246":{"position":[[175,7]]},"288":{"position":[[323,6]]},"289":{"position":[[343,6]]},"298":{"position":[[1114,6],[1266,6],[2705,6]]},"304":{"position":[[406,6]]},"305":{"position":[[47,6],[109,6]]},"344":{"position":[[485,6]]},"345":{"position":[[526,6],[952,7]]},"346":{"position":[[72,7],[121,7],[467,8],[493,8]]},"347":{"position":[[75,7],[219,7],[492,7]]},"362":{"position":[[2707,6]]},"377":{"position":[[1654,7]]},"411":{"position":[[113,8]]},"414":{"position":[[187,6],[244,6]]},"415":{"position":[[225,6]]},"416":{"position":[[113,6]]},"417":{"position":[[319,6],[360,6]]},"425":{"position":[[185,6],[242,6]]},"437":{"position":[[368,6],[496,10]]},"450":{"position":[[264,6]]},"455":{"position":[[117,6]]},"456":{"position":[[57,7]]},"510":{"position":[[346,7]]},"511":{"position":[[366,7]]},"570":{"position":[[505,7],[551,6],[645,6],[686,6]]},"635":{"position":[[179,6]]},"659":{"position":[[79,6]]},"660":{"position":[[54,7]]},"661":{"position":[[77,6]]},"681":{"position":[[25,6],[329,6]]},"686":{"position":[[49,6],[105,6]]},"688":{"position":[[1000,7],[1302,6],[1375,6]]},"690":{"position":[[602,7],[2815,6]]},"693":{"position":[[368,8],[827,6],[894,7],[946,8],[1724,8],[4856,6],[5177,6],[6945,7],[9267,6],[9339,6]]},"695":{"position":[[382,6]]},"704":{"position":[[784,6],[928,6],[1127,6],[1962,6],[2145,7],[2485,6],[2543,7]]},"705":{"position":[[928,7],[1034,7]]},"706":{"position":[[601,6],[1412,6],[1713,7],[1805,7],[2355,6],[2407,6]]},"712":{"position":[[165,7],[1933,7],[2066,9],[2864,7]]},"722":{"position":[[730,6],[953,7],[1181,8]]},"724":{"position":[[136,7],[649,6],[718,6],[1169,7],[1613,7]]},"741":{"position":[[2707,6]]},"756":{"position":[[1654,7]]},"790":{"position":[[113,8]]},"793":{"position":[[187,6],[244,6]]},"794":{"position":[[225,6]]},"795":{"position":[[113,6]]},"796":{"position":[[319,6],[360,6]]},"804":{"position":[[185,6],[242,6]]},"816":{"position":[[368,6],[496,10]]},"829":{"position":[[264,6]]},"833":{"position":[[104,6]]},"835":{"position":[[8,7],[90,7]]},"837":{"position":[[315,8]]},"840":{"position":[[1843,6]]},"847":{"position":[[431,6]]},"851":{"position":[[204,6],[2031,6]]},"860":{"position":[[684,8]]},"867":{"position":[[1231,7]]},"869":{"position":[[498,6],[639,8]]},"870":{"position":[[1107,6],[1524,7]]},"872":{"position":[[315,7]]},"876":{"position":[[23,7],[258,7],[320,8],[337,7]]},"877":{"position":[[105,7]]},"878":{"position":[[46,6],[231,6],[552,6],[727,9],[1437,7]]},"894":{"position":[[10,6]]},"895":{"position":[[95,6],[406,7]]},"950":{"position":[[476,6],[530,6],[744,8]]},"951":{"position":[[135,6],[193,6],[517,6],[639,7],[733,7]]},"955":{"position":[[668,6]]},"958":{"position":[[63,6]]},"959":{"position":[[326,6]]},"964":{"position":[[227,7],[427,6],[932,8]]},"973":{"position":[[302,6]]},"995":{"position":[[601,6]]},"1018":{"position":[[79,6],[175,9],[252,6]]},"1021":{"position":[[756,7]]},"1026":{"position":[[952,6]]},"1029":{"position":[[201,7]]},"1030":{"position":[[61,6]]},"1031":{"position":[[119,6],[456,7]]},"1032":{"position":[[322,6]]},"1036":{"position":[[281,7]]},"1040":{"position":[[83,8],[466,8],[864,7],[1289,7],[1314,6],[1371,7],[1820,8],[2408,8]]},"1050":{"position":[[917,7],[3019,6],[3386,6]]},"1052":{"position":[[611,6],[649,6]]},"1053":{"position":[[1053,6]]},"1056":{"position":[[856,6],[944,6]]},"1061":{"position":[[433,6],[455,6]]},"1075":{"position":[[225,6]]},"1077":{"position":[[187,7]]},"1102":{"position":[[908,6]]},"1103":{"position":[[1138,7],[1187,8],[1726,6],[1818,7],[1932,7],[2040,6]]},"1105":{"position":[[936,7],[1111,7],[1751,8],[2066,7]]},"1112":{"position":[[1656,8],[2060,7],[2332,8],[4615,8]]},"1113":{"position":[[504,7]]},"1127":{"position":[[70,7]]},"1131":{"position":[[10,6],[50,6],[218,6],[268,6],[667,6]]},"1133":{"position":[[637,6]]},"1136":{"position":[[165,7],[396,6],[592,6],[622,7],[710,8],[997,6],[1019,6],[1058,6],[1252,6],[1276,6],[1373,6],[1700,6],[1794,6],[1852,6],[1917,7],[1927,6],[1965,6],[1993,6],[2037,6],[2089,6],[2141,6],[4430,6],[4872,7]]},"1138":{"position":[[152,6],[181,6],[251,6],[289,6],[332,6],[366,6],[443,6],[486,6],[527,6],[544,6],[619,6],[636,6],[1241,6],[1299,6],[8092,6],[8534,7]]},"1140":{"position":[[7018,6],[7460,7]]},"1142":{"position":[[465,7],[2462,6],[2904,7]]},"1146":{"position":[[2402,6],[2844,7]]},"1148":{"position":[[967,6],[1353,6],[1375,6],[1414,6],[1608,6],[1632,6],[1729,6],[2056,6],[2150,6],[2208,6],[2273,7],[2283,6],[2321,6],[2349,6],[2393,6],[2445,6],[2497,6],[5442,6],[5884,7],[7523,6],[7576,6]]},"1155":{"position":[[2498,6],[2940,7]]},"1156":{"position":[[130,7],[194,6],[235,6],[282,6],[2076,6],[2518,7]]},"1167":{"position":[[285,6],[8022,6],[8464,7]]},"1169":{"position":[[1861,6],[2303,7]]},"1171":{"position":[[111,6],[176,7],[242,6],[283,7],[476,7],[540,7],[795,7]]},"1172":{"position":[[0,6],[58,6],[1215,6]]},"1173":{"position":[[0,7],[110,6],[515,6]]},"1174":{"position":[[0,6]]},"1175":{"position":[[0,7]]},"1176":{"position":[[72,6]]},"1178":{"position":[[0,7],[55,6],[587,6],[662,6],[717,6]]},"1179":{"position":[[0,7],[455,6],[588,6]]},"1180":{"position":[[73,6],[785,6]]},"1183":{"position":[[0,7]]},"1186":{"position":[[67,6],[268,6],[300,6],[320,6],[3666,6],[4108,7]]},"1187":{"position":[[80,6],[281,6],[313,6],[333,6],[3679,6],[4121,7]]},"1188":{"position":[[64,6],[5039,6],[5059,6],[8405,6],[8847,7]]},"1190":{"position":[[1106,6],[1148,6],[1254,6]]},"1191":{"position":[[247,6],[317,6],[2266,6],[2708,7]]},"1192":{"position":[[381,6],[2441,6],[2883,7]]},"1193":{"position":[[412,6],[2493,6],[2935,7]]},"1194":{"position":[[2133,6],[2575,7]]},"1195":{"position":[[276,7],[2111,6],[2553,7]]},"1196":{"position":[[1921,6],[2363,7]]},"1197":{"position":[[2904,6],[3346,7]]},"1198":{"position":[[2914,6],[3356,7]]},"1199":{"position":[[265,7],[293,7],[2942,6],[3384,7]]},"1200":{"position":[[2809,6],[3251,7]]},"1201":{"position":[[2069,6],[2511,7]]},"1202":{"position":[[3211,6],[3653,7],[7608,6],[8050,7]]},"1203":{"position":[[2303,6],[2745,7]]},"1204":{"position":[[2147,6],[2589,7]]},"1205":{"position":[[35,6],[141,6],[279,6],[477,6],[499,6],[538,6],[732,6],[756,6],[853,6],[1180,6],[1274,6],[1332,6],[1397,7],[1407,6],[3476,6],[3918,7]]},"1206":{"position":[[1947,6],[2389,7],[3595,6]]},"1207":{"position":[[2104,6],[2546,7]]},"1209":{"position":[[230,6],[252,6],[291,6],[485,6],[509,6],[606,6],[933,6],[1027,6],[1085,6],[1150,7],[1160,6],[1198,6],[1226,6],[1270,6],[1322,6],[1374,6],[3452,6],[3894,7]]},"1215":{"position":[[114,7]]},"1217":{"position":[[6763,6],[7205,7]]},"1219":{"position":[[878,6],[2749,6],[3191,7]]},"1222":{"position":[[1873,6],[2315,7]]},"1223":{"position":[[1883,6],[2325,7]]},"1224":{"position":[[2063,6],[2505,7]]},"1226":{"position":[[2170,6],[2192,6],[2231,6],[2425,6],[2449,6],[2546,6],[2873,6],[2967,6],[3025,6],[3090,7],[3100,6],[3331,6],[3360,6],[3430,6],[3468,6],[3511,6],[3545,6],[3622,6],[3665,6],[3706,6],[3723,6],[3798,6],[3815,6],[3907,6],[3952,6],[4004,6],[4242,6],[4846,6],[4882,6],[5037,6],[7231,6],[7673,7]]},"1228":{"position":[[8844,6],[9286,7]]},"1232":{"position":[[3221,6],[3392,6]]},"1235":{"position":[[760,6],[1490,6],[1512,6],[1551,6],[1745,6],[1769,6],[1866,6],[2193,6],[2287,6],[2345,6],[2410,7],[2420,6],[2458,6],[2486,6],[2530,6],[2582,6],[2634,6],[4712,6],[5154,7]]},"1237":{"position":[[2340,6],[2362,6],[2401,6],[2595,6],[2619,6],[2716,6],[3043,6],[3137,6],[3195,6],[3260,7],[3270,6],[3501,6],[3530,6],[3600,6],[3638,6],[3681,6],[3715,6],[3792,6],[3835,6],[3876,6],[3893,6],[3968,6],[3985,6],[4077,6],[4122,6],[4174,6],[4412,6],[5016,6],[5052,6],[5207,6],[7401,6],[7843,7]]},"1240":{"position":[[24,6],[77,7],[105,6],[200,6],[295,7],[418,6],[446,7]]},"1245":{"position":[[103,8],[168,7],[198,7],[469,6],[598,7]]},"1260":{"position":[[717,6],[895,6],[915,6]]},"1273":{"position":[[561,7]]},"1277":{"position":[[95,6],[172,6]]},"1279":{"position":[[95,6]]},"1280":{"position":[[95,6]]},"1281":{"position":[[95,6]]},"1285":{"position":[[72,7]]},"1286":{"position":[[31,7]]},"1291":{"position":[[717,6],[895,6],[915,6]]},"1304":{"position":[[561,7]]},"1308":{"position":[[95,6],[172,6]]},"1310":{"position":[[95,6]]},"1311":{"position":[[95,6]]},"1312":{"position":[[95,6]]},"1319":{"position":[[717,6],[895,6],[915,6]]},"1332":{"position":[[561,7]]},"1336":{"position":[[95,6],[172,6]]},"1338":{"position":[[95,6]]},"1339":{"position":[[95,6]]},"1340":{"position":[[95,6]]},"1348":{"position":[[4345,6]]},"1351":{"position":[[4648,6],[5010,6]]},"1355":{"position":[[2276,6],[5299,7],[5629,6]]},"1358":{"position":[[2098,6]]},"1359":{"position":[[2176,6],[2246,6]]},"1360":{"position":[[3118,6],[3635,6],[3770,8],[3794,8],[3829,6],[4082,8],[4140,7],[4551,7],[5047,6],[5242,6],[6302,6],[6386,6]]},"1361":{"position":[[728,6],[956,6]]},"1362":{"position":[[6250,6],[7756,6],[7786,6],[10822,7],[10886,8],[10942,6],[11026,6],[11107,6],[11983,6]]},"1364":{"position":[[6279,6],[7995,6],[8025,6],[8605,6],[8635,6],[11789,7],[11853,8],[11909,6],[11993,6],[12074,6]]},"1365":{"position":[[823,6]]},"1366":{"position":[[1006,6]]},"1367":{"position":[[7677,6],[11477,6],[13543,6]]},"1370":{"position":[[2353,6],[2543,6],[2942,7]]},"1373":{"position":[[2842,7],[3806,6],[5338,7],[5402,8],[5458,6],[5542,6],[5622,6],[7004,6]]},"1374":{"position":[[2091,7]]},"1380":{"position":[[623,6],[846,6]]},"1381":{"position":[[1876,6]]},"1382":{"position":[[4162,6],[4588,6],[7691,7],[7755,8],[7811,6],[7895,6],[7976,6],[9324,6]]},"1383":{"position":[[2703,6],[5407,6],[5507,7],[5623,6],[6280,6],[6583,7],[7155,6]]},"1384":{"position":[[5324,6],[7173,6],[7203,6],[8791,6],[8821,6],[9481,6],[9511,6],[11658,6],[11679,6],[11710,6],[11751,6],[11785,6],[13755,7],[13819,8],[13875,6],[13959,6],[14040,6],[14219,6],[14351,6],[15669,6]]},"1385":{"position":[[4207,6],[5552,6]]},"1387":{"position":[[7016,7],[7080,8],[7136,6],[7220,6],[7300,6],[7478,6],[7610,6],[8925,6]]},"1388":{"position":[[4462,6],[4901,6],[5282,6],[6311,6],[8590,6]]},"1393":{"position":[[2352,6],[3985,6],[6971,6],[9726,6]]},"1395":{"position":[[2860,6]]},"1397":{"position":[[2187,6]]},"1398":{"position":[[3860,6],[5134,6]]},"1399":{"position":[[2643,7]]},"1403":{"position":[[1300,6],[2533,6],[3050,6],[3185,8],[3209,8],[3244,6],[3497,8],[3555,7],[3966,7],[4251,6],[4377,6],[4403,6],[4435,6],[4490,7],[5038,6],[5093,6],[5204,6],[5405,7],[5416,6],[5452,6],[8353,8],[8936,7],[9005,6],[9074,6],[9096,6],[9159,7]]},"1412":{"position":[[1598,6]]},"1415":{"position":[[3731,7],[4089,6],[4963,6]]},"1422":{"position":[[2679,6],[2936,6]]},"1427":{"position":[[1764,6],[4613,7]]},"1429":{"position":[[5644,6]]},"1439":{"position":[[2048,6],[7112,7]]},"1440":{"position":[[5636,6]]},"1442":{"position":[[1578,6]]},"1446":{"position":[[2711,6]]},"1454":{"position":[[4271,6],[5574,6],[5604,6],[7692,6],[7824,6]]},"1461":{"position":[[943,6]]},"1462":{"position":[[5284,6]]},"1467":{"position":[[6664,6]]},"1469":{"position":[[2011,6],[2131,6]]},"1471":{"position":[[2830,6],[5541,7]]},"1472":{"position":[[6427,7]]},"1473":{"position":[[4063,6]]},"1482":{"position":[[1728,7],[2661,6]]},"1486":{"position":[[2103,7],[4555,6]]},"1487":{"position":[[1672,6],[2022,6],[2407,6],[2435,6],[2673,6],[3068,6],[3246,6],[3300,6],[3676,6]]}},"keywords":{}}],["output"",{"_index":5148,"title":{},"content":{"1040":{"position":[[2264,13]]},"1050":{"position":[[2672,13],[3945,13]]},"1105":{"position":[[639,13]]}},"keywords":{}}],["output'",{"_index":8611,"title":{},"content":{"1487":{"position":[[2474,8]]}},"keywords":{}}],["output(",{"_index":7836,"title":{},"content":{"1415":{"position":[[5671,9],[5982,9]]}},"keywords":{}}],["output.as_output",{"_index":5692,"title":{},"content":{"1105":{"position":[[1342,20],[1810,20]]}},"keywords":{}}],["output.o",{"_index":1089,"title":{},"content":{"89":{"position":[[536,8],[933,8],[1091,9]]},"221":{"position":[[536,8],[933,8],[1091,9]]}},"keywords":{}}],["output_artifact",{"_index":870,"title":{},"content":{"45":{"position":[[31,15]]},"85":{"position":[[45,15]]},"86":{"position":[[43,15]]},"87":{"position":[[39,15]]},"88":{"position":[[40,15]]},"91":{"position":[[46,15]]},"94":{"position":[[92,15],[399,15]]},"95":{"position":[[43,15]]},"96":{"position":[[46,15]]},"98":{"position":[[38,15],[134,15]]},"99":{"position":[[43,15],[166,15]]},"192":{"position":[[31,15]]},"217":{"position":[[45,15]]},"218":{"position":[[43,15]]},"219":{"position":[[39,15]]},"220":{"position":[[40,15]]},"223":{"position":[[46,15]]},"226":{"position":[[92,15],[399,15]]},"227":{"position":[[43,15]]},"228":{"position":[[46,15]]},"230":{"position":[[38,15],[134,15]]},"231":{"position":[[43,15],[166,15]]},"345":{"position":[[169,15]]},"368":{"position":[[188,15],[3152,15]]},"377":{"position":[[97,15]]},"386":{"position":[[83,15]]},"405":{"position":[[85,15],[333,15]]},"417":{"position":[[113,15]]},"747":{"position":[[188,15],[3152,15]]},"756":{"position":[[97,15]]},"765":{"position":[[83,15]]},"784":{"position":[[85,15],[333,15]]},"796":{"position":[[113,15]]}},"keywords":{}}],["output_path",{"_index":1493,"title":{},"content":{"243":{"position":[[29,12]]},"1240":{"position":[[171,12]]}},"keywords":{}}],["outputa.txt",{"_index":8572,"title":{},"content":{"1486":{"position":[[3350,14]]}},"keywords":{}}],["outputartifact",{"_index":2048,"title":{"378":{"position":[[0,15]]},"757":{"position":[[0,15]]}},"content":{"378":{"position":[[0,15]]},"757":{"position":[[0,15]]}},"keywords":{}}],["outputb.txt",{"_index":8575,"title":{},"content":{"1486":{"position":[[3444,14]]}},"keywords":{}}],["outputc.txt",{"_index":8578,"title":{},"content":{"1486":{"position":[[3538,14]]}},"keywords":{}}],["outputopt",{"_index":2608,"title":{},"content":{"570":{"position":[[424,13]]}},"keywords":{}}],["outputs(exampl",{"_index":5138,"title":{},"content":{"1040":{"position":[[1155,15]]}},"keywords":{}}],["outputs.buck2",{"_index":3650,"title":{},"content":{"705":{"position":[[882,14]]}},"keywords":{}}],["outputs.update({"foo"",{"_index":1863,"title":{},"content":{"347":{"position":[[505,32]]}},"keywords":{}}],["outputs.update({target.raw_target",{"_index":1851,"title":{},"content":{"345":{"position":[[1026,36]]}},"keywords":{}}],["outputs[artifact_from_dynamic_output_output",{"_index":1140,"title":{},"content":{"92":{"position":[[1406,46]]},"224":{"position":[[1406,46]]},"1040":{"position":[[1178,46]]}},"keywords":{}}],["outputs[beams[x]].as_output",{"_index":5160,"title":{},"content":{"1040":{"position":[[2564,29]]}},"keywords":{}}],["outputstream",{"_index":2115,"title":{},"content":{"402":{"position":[[335,12]]},"781":{"position":[[335,12]]}},"keywords":{}}],["outsid",{"_index":2581,"title":{},"content":{"566":{"position":[[452,7]]},"577":{"position":[[546,7]]},"693":{"position":[[5874,7]]},"832":{"position":[[706,7]]},"835":{"position":[[121,7]]},"864":{"position":[[1551,7]]},"892":{"position":[[302,7],[437,8]]},"919":{"position":[[258,7]]},"921":{"position":[[699,7]]},"995":{"position":[[636,7]]},"1075":{"position":[[763,7]]},"1105":{"position":[[2605,7]]},"1114":{"position":[[448,7]]},"1251":{"position":[[342,7]]}},"keywords":{}}],["out|prelude|.git"",{"_index":586,"title":{},"content":{"18":{"position":[[1548,22]]}},"keywords":{}}],["out}th",{"_index":7185,"title":{},"content":{"1383":{"position":[[6270,9]]}},"keywords":{}}],["over",{"_index":133,"title":{"870":{"position":[[22,4]]}},"content":{"6":{"position":[[362,4]]},"11":{"position":[[438,4]]},"561":{"position":[[221,4]]},"570":{"position":[[302,4]]},"583":{"position":[[988,4]]},"635":{"position":[[102,4]]},"638":{"position":[[1014,4]]},"870":{"position":[[256,4],[1511,4]]},"892":{"position":[[1633,4]]},"902":{"position":[[1000,4]]},"977":{"position":[[415,4]]},"1057":{"position":[[155,4]]},"1058":{"position":[[90,4],[997,4]]},"1087":{"position":[[16,4],[93,4]]},"1259":{"position":[[2111,4],[2314,4]]},"1282":{"position":[[30,4]]},"1284":{"position":[[23,4]]},"1290":{"position":[[2111,4],[2314,4]]},"1313":{"position":[[30,4]]},"1315":{"position":[[23,4]]},"1318":{"position":[[2111,4],[2314,4]]},"1341":{"position":[[30,4]]},"1343":{"position":[[23,4]]},"1370":{"position":[[2833,4]]},"1387":{"position":[[6582,4]]},"1439":{"position":[[6784,4]]},"1461":{"position":[[2599,4]]},"1462":{"position":[[6086,4],[7355,4]]},"1465":{"position":[[3058,4]]},"1467":{"position":[[7198,4],[8324,4]]},"1468":{"position":[[1476,4]]},"1486":{"position":[[759,4],[967,4],[3795,4]]}},"keywords":{}}],["overal",{"_index":6074,"title":{},"content":{"1228":{"position":[[1326,7]]}},"keywords":{}}],["overhead",{"_index":3560,"title":{},"content":{"693":{"position":[[4932,8]]},"937":{"position":[[1126,8]]}},"keywords":{}}],["overlap",{"_index":2284,"title":{},"content":{"421":{"position":[[358,7]]},"591":{"position":[[505,7]]},"800":{"position":[[358,7]]},"870":{"position":[[15,8]]},"1387":{"position":[[6896,11]]}},"keywords":{}}],["overlay",{"_index":7568,"title":{},"content":{"1397":{"position":[[564,9],[2379,8],[2951,9],[3654,8]]}},"keywords":{}}],["overrid",{"_index":1227,"title":{},"content":{"94":{"position":[[3621,9]]},"226":{"position":[[3621,9]]},"374":{"position":[[1600,8]]},"580":{"position":[[170,8]]},"583":{"position":[[204,8],[284,9],[486,9]]},"753":{"position":[[1600,8]]},"939":{"position":[[675,10]]},"942":{"position":[[1406,9]]},"943":{"position":[[1664,8],[2045,8]]},"1000":{"position":[[421,8]]},"1070":{"position":[[565,8],[861,8],[1014,9]]},"1072":{"position":[[371,8]]},"1136":{"position":[[3353,10]]},"1138":{"position":[[1831,9],[7015,10]]},"1140":{"position":[[1320,9],[5941,10]]},"1142":{"position":[[1385,10]]},"1146":{"position":[[1325,10]]},"1148":{"position":[[4365,10]]},"1155":{"position":[[1421,10]]},"1156":{"position":[[999,10]]},"1167":{"position":[[2324,9],[6945,10]]},"1169":{"position":[[784,10]]},"1181":{"position":[[240,8]]},"1186":{"position":[[2589,10]]},"1187":{"position":[[2602,10]]},"1188":{"position":[[1373,9],[7328,10]]},"1191":{"position":[[1189,10]]},"1192":{"position":[[1364,10]]},"1193":{"position":[[1416,10]]},"1194":{"position":[[1056,10]]},"1195":{"position":[[1034,10]]},"1196":{"position":[[844,10]]},"1197":{"position":[[1827,10]]},"1198":{"position":[[1837,10]]},"1199":{"position":[[1865,10]]},"1200":{"position":[[1732,10]]},"1201":{"position":[[992,10]]},"1202":{"position":[[2134,10],[6531,10]]},"1203":{"position":[[1226,10]]},"1204":{"position":[[1070,10]]},"1205":{"position":[[2399,10]]},"1206":{"position":[[870,10]]},"1207":{"position":[[1027,10]]},"1209":{"position":[[2375,10]]},"1217":{"position":[[1065,9],[5686,10]]},"1219":{"position":[[1672,10]]},"1222":{"position":[[796,10]]},"1223":{"position":[[806,10]]},"1224":{"position":[[986,10]]},"1226":{"position":[[6154,10]]},"1228":{"position":[[3146,9],[7767,10]]},"1235":{"position":[[3635,10]]},"1237":{"position":[[6324,10]]},"1351":{"position":[[2378,8],[2760,8]]},"1354":{"position":[[3006,9]]},"1355":{"position":[[6655,9],[7494,9]]},"1362":{"position":[[13316,10],[13564,8]]},"1364":{"position":[[14016,10],[14264,8]]},"1367":{"position":[[13224,10],[14195,9],[14314,9]]},"1370":{"position":[[2165,8],[2391,9]]},"1374":{"position":[[2239,8]]},"1383":{"position":[[8453,9]]},"1388":{"position":[[10233,9]]},"1392":{"position":[[2357,9]]},"1395":{"position":[[2480,9],[3136,9]]},"1410":{"position":[[5456,9]]},"1426":{"position":[[3042,8]]},"1427":{"position":[[4302,9],[5854,9],[6983,9]]},"1429":{"position":[[5953,9]]},"1440":{"position":[[5853,9]]},"1462":{"position":[[8114,8]]},"1467":{"position":[[8576,8],[9175,8],[10475,9]]},"1471":{"position":[[3109,8]]},"1472":{"position":[[2828,8]]},"1473":{"position":[[3143,8]]},"1478":{"position":[[2258,9]]}},"keywords":{}}],["overridden",{"_index":5518,"title":{},"content":{"1072":{"position":[[1107,11]]},"1228":{"position":[[608,10],[1313,10]]},"1422":{"position":[[3374,11]]},"1471":{"position":[[5279,10]]},"1472":{"position":[[6165,10]]},"1473":{"position":[[5729,10]]}},"keywords":{}}],["override_arg",{"_index":6004,"title":{},"content":{"1181":{"position":[[143,18],[221,18]]}},"keywords":{}}],["oversimplifi",{"_index":3634,"title":{},"content":{"704":{"position":[[319,14]]}},"keywords":{}}],["overview",{"_index":107,"title":{"715":{"position":[[11,9]]}},"content":{"5":{"position":[[436,8]]},"689":{"position":[[52,8]]},"715":{"position":[[1591,9]]}},"keywords":{}}],["overwrit",{"_index":2414,"title":{},"content":{"451":{"position":[[48,10],[243,9]]},"830":{"position":[[48,10],[243,9]]},"1001":{"position":[[113,10],[346,9],[387,9]]},"1064":{"position":[[78,10],[444,9],[485,9]]},"1228":{"position":[[2146,11],[2674,11]]},"1393":{"position":[[4324,9]]},"1397":{"position":[[2663,10]]},"1487":{"position":[[1898,9],[1934,10]]}},"keywords":{}}],["overwritten",{"_index":6009,"title":{},"content":{"1186":{"position":[[402,11]]},"1187":{"position":[[415,11]]},"1188":{"position":[[5141,11]]},"1226":{"position":[[4971,11]]},"1237":{"position":[[5141,11]]},"1395":{"position":[[3441,11]]}},"keywords":{}}],["ovr_config//platform/linux:<omitted>)"",{"_index":3488,"title":{},"content":{"690":{"position":[[1771,51],[2284,51],[2378,51],[2470,51],[2567,51],[2660,51],[2749,50]]}},"keywords":{}}],["ovr_config//platform/linux:x86_64",{"_index":1290,"title":{},"content":{"106":{"position":[[57,34]]},"109":{"position":[[57,34]]},"110":{"position":[[60,34]]},"111":{"position":[[73,34]]},"113":{"position":[[83,34]]},"518":{"position":[[57,34]]},"521":{"position":[[57,34]]},"522":{"position":[[60,34]]},"523":{"position":[[73,34]]},"525":{"position":[[83,34]]}},"keywords":{}}],["own",{"_index":1423,"title":{"1134":{"position":[[58,4]]}},"content":{"168":{"position":[[59,6]]},"320":{"position":[[349,6]]},"418":{"position":[[611,5],[646,5],[762,5],[857,5]]},"797":{"position":[[611,5],[646,5],[762,5],[857,5]]},"873":{"position":[[452,6],[497,6]]},"954":{"position":[[220,6]]},"1112":{"position":[[3764,4]]},"1273":{"position":[[329,4]]},"1304":{"position":[[329,4]]},"1332":{"position":[[329,4]]}},"keywords":{}}],["owned_frozen_valu",{"_index":4188,"title":{},"content":{"889":{"position":[[637,19]]}},"keywords":{}}],["owned_valu",{"_index":4190,"title":{},"content":{"889":{"position":[[840,12]]}},"keywords":{}}],["ownedfrozenvalu",{"_index":4177,"title":{"889":{"position":[[0,17]]}},"content":{"889":{"position":[[55,17],[191,16],[327,16],[495,16]]}},"keywords":{}}],["owner",{"_index":933,"title":{},"content":{"63":{"position":[[268,6],[333,5],[342,7]]},"166":{"position":[[268,6],[333,5],[342,7]]},"279":{"position":[[291,5]]},"327":{"position":[[398,5]]},"334":{"position":[[366,5],[738,5]]},"416":{"position":[[772,5]]},"468":{"position":[[279,5]]},"474":{"position":[[105,5],[477,5]]},"492":{"position":[[268,6],[333,5],[342,7]]},"548":{"position":[[268,6],[333,5],[342,7]]},"795":{"position":[[772,5]]},"867":{"position":[[1502,5]]},"873":{"position":[[420,6]]},"906":{"position":[[4,5],[280,6]]},"951":{"position":[[457,5]]},"954":{"position":[[191,6],[492,6]]},"1112":{"position":[[3781,6]]},"1273":{"position":[[186,7],[461,7],[484,7],[524,5],[553,7],[585,5]]},"1304":{"position":[[186,7],[461,7],[484,7],[524,5],[553,7],[585,5]]},"1332":{"position":[[186,7],[461,7],[484,7],[524,5],[553,7],[585,5]]}},"keywords":{}}],["owner(fil",{"_index":6250,"title":{"1273":{"position":[[0,12]]},"1304":{"position":[[0,12]]},"1332":{"position":[[0,12]]}},"content":{"1259":{"position":[[1256,12]]},"1290":{"position":[[1256,12]]},"1318":{"position":[[1256,12]]}},"keywords":{}}],["owner(inputfil",{"_index":6251,"title":{},"content":{"1259":{"position":[[1291,16]]},"1273":{"position":[[4,16]]},"1290":{"position":[[1291,16]]},"1304":{"position":[[4,16]]},"1318":{"position":[[1291,16]]},"1332":{"position":[[4,16]]}},"keywords":{}}],["owner.get_source("cell//path/to/file"",{"_index":2227,"title":{},"content":{"416":{"position":[[845,48]]},"795":{"position":[[845,48]]}},"keywords":{}}],["owner.label",{"_index":936,"title":{},"content":{"63":{"position":[[369,11]]},"166":{"position":[[371,11]]},"492":{"position":[[369,11]]},"548":{"position":[[371,11]]}},"keywords":{}}],["owner.sources()[0",{"_index":1538,"title":{},"content":{"279":{"position":[[375,18]]}},"keywords":{}}],["ownerqueri",{"_index":4436,"title":{},"content":{"906":{"position":[[852,10]]}},"keywords":{}}],["p",{"_index":4946,"title":{},"content":{"991":{"position":[[2968,2]]},"1048":{"position":[[1090,1]]},"1231":{"position":[[219,1],[331,1]]},"1407":{"position":[[5088,1]]},"1439":{"position":[[5546,2]]}},"keywords":{}}],["p1",{"_index":1316,"title":{},"content":{"118":{"position":[[258,3]]},"534":{"position":[[258,3]]}},"keywords":{}}],["p1.join(p2",{"_index":1314,"title":{},"content":{"118":{"position":[[127,11]]},"534":{"position":[[127,11]]}},"keywords":{}}],["p1_real",{"_index":4941,"title":{},"content":{"991":{"position":[[2388,8],[2587,9]]}},"keywords":{}}],["p2",{"_index":1317,"title":{},"content":{"118":{"position":[[262,2]]},"534":{"position":[[262,2]]}},"keywords":{}}],["p2_real",{"_index":4945,"title":{},"content":{"991":{"position":[[2764,9]]}},"keywords":{}}],["p3",{"_index":1315,"title":{},"content":{"118":{"position":[[139,3],[269,2]]},"534":{"position":[[139,3],[269,2]]}},"keywords":{}}],["p4",{"_index":1313,"title":{},"content":{"118":{"position":[[122,2]]},"534":{"position":[[122,2]]}},"keywords":{}}],["p50",{"_index":368,"title":{},"content":{"11":{"position":[[375,3]]}},"keywords":{}}],["p95",{"_index":371,"title":{},"content":{"11":{"position":[[404,4]]}},"keywords":{}}],["p[_sillycompilation].compil",{"_index":5255,"title":{},"content":{"1048":{"position":[[1055,30]]}},"keywords":{}}],["p_real",{"_index":4947,"title":{},"content":{"991":{"position":[[3065,8]]}},"keywords":{}}],["packag",{"_index":63,"title":{"424":{"position":[[0,8]]},"680":{"position":[[0,7]]},"803":{"position":[[0,8]]},"915":{"position":[[9,7]]},"940":{"position":[[0,7]]},"996":{"position":[[0,7]]},"1000":{"position":[[0,7]]},"1062":{"position":[[0,7]]},"1064":{"position":[[0,7]]},"1129":{"position":[[36,9]]},"1207":{"position":[[11,7]]}},"content":{"4":{"position":[[460,8]]},"6":{"position":[[345,9]]},"17":{"position":[[930,7]]},"131":{"position":[[426,7]]},"145":{"position":[[265,9]]},"254":{"position":[[426,7]]},"268":{"position":[[265,9]]},"320":{"position":[[356,8],[405,7]]},"414":{"position":[[101,7],[144,8]]},"424":{"position":[[4,8]]},"425":{"position":[[99,7],[142,8]]},"431":{"position":[[65,7]]},"432":{"position":[[51,7],[85,7],[137,7]]},"443":{"position":[[174,7],[426,7]]},"451":{"position":[[131,7],[160,7]]},"622":{"position":[[1071,8],[1118,8]]},"680":{"position":[[32,8],[334,8],[427,7],[649,7],[794,8],[893,9],[1000,8]]},"693":{"position":[[1819,8],[2189,9],[5493,8]]},"708":{"position":[[307,7],[559,7]]},"718":{"position":[[133,9]]},"793":{"position":[[101,7],[144,8]]},"803":{"position":[[4,8]]},"804":{"position":[[99,7],[142,8]]},"810":{"position":[[65,7]]},"811":{"position":[[51,7],[85,7],[137,7]]},"822":{"position":[[174,7],[426,7]]},"830":{"position":[[131,7],[160,7]]},"915":{"position":[[0,7]]},"916":{"position":[[107,7],[182,7],[399,8],[453,7]]},"917":{"position":[[86,7]]},"939":{"position":[[1752,7]]},"940":{"position":[[5,7],[129,8],[599,7],[1221,7]]},"943":{"position":[[140,8],[201,7],[230,8]]},"946":{"position":[[344,8]]},"951":{"position":[[861,8]]},"981":{"position":[[890,7]]},"998":{"position":[[89,7],[223,7],[344,7]]},"1000":{"position":[[53,7],[124,7],[179,7],[283,7],[338,7],[514,7],[570,7],[835,7]]},"1001":{"position":[[0,7],[38,7],[401,7],[433,7],[488,7],[629,7],[732,7],[789,8],[806,7],[891,7],[1274,8],[1410,7],[1505,7]]},"1002":{"position":[[0,7]]},"1048":{"position":[[161,7]]},"1050":{"position":[[261,9]]},"1064":{"position":[[148,7],[499,7],[531,7],[586,7],[727,7],[830,7],[906,7],[936,9],[991,7],[1248,7],[1328,7],[1362,7],[1443,7],[1547,8],[1560,8],[1735,7],[2039,7],[2224,8],[2246,7]]},"1065":{"position":[[208,8],[343,7]]},"1112":{"position":[[1706,7]]},"1114":{"position":[[280,7]]},"1129":{"position":[[66,8]]},"1136":{"position":[[1354,7]]},"1138":{"position":[[2087,8],[2155,8]]},"1140":{"position":[[1576,8],[1644,8]]},"1146":{"position":[[302,8]]},"1148":{"position":[[1710,7]]},"1167":{"position":[[2580,8],[2648,8]]},"1188":{"position":[[1629,8],[1697,8]]},"1190":{"position":[[1468,7],[1491,7]]},"1202":{"position":[[185,7],[215,7],[252,7],[5563,7],[5594,7],[5631,7],[5698,7],[5764,7]]},"1205":{"position":[[834,7]]},"1207":{"position":[[8,7],[24,7],[97,9],[141,7],[166,13],[191,13],[205,7]]},"1209":{"position":[[587,7]]},"1211":{"position":[[27,7],[163,8]]},"1217":{"position":[[1321,8],[1389,8]]},"1226":{"position":[[2527,7],[4397,7],[4421,7],[4491,7],[4514,7],[4546,7],[4611,7],[4673,7],[4696,7],[4825,7]]},"1228":{"position":[[3402,8],[3470,8]]},"1235":{"position":[[1847,7]]},"1237":{"position":[[2697,7],[4567,7],[4591,7],[4661,7],[4684,7],[4716,7],[4781,7],[4843,7],[4866,7],[4995,7]]},"1348":{"position":[[4587,7]]},"1351":{"position":[[606,8],[1887,8],[1913,7],[3117,8],[3381,9],[3898,7]]},"1353":{"position":[[2491,8],[2517,7],[2594,8],[2673,8],[2980,8]]},"1354":{"position":[[2270,8]]},"1355":{"position":[[5281,8],[7869,7]]},"1358":{"position":[[2771,8]]},"1359":{"position":[[703,8],[2091,7],[2348,8],[2480,7]]},"1365":{"position":[[662,9],[899,8]]},"1373":{"position":[[5767,7],[5899,7],[5945,7],[6085,7]]},"1382":{"position":[[6417,8]]},"1384":{"position":[[11364,8],[17074,8],[17376,8]]},"1385":{"position":[[2959,7]]},"1387":{"position":[[5228,7]]},"1388":{"position":[[7286,8]]},"1395":{"position":[[2288,7]]},"1397":{"position":[[2961,8]]},"1405":{"position":[[1237,8],[3269,7],[3409,7]]},"1406":{"position":[[1334,7]]},"1407":{"position":[[3690,7],[3830,7]]},"1408":{"position":[[2131,7],[2263,7],[2309,7],[2449,7]]},"1410":{"position":[[4296,7],[4460,7],[4516,8],[4547,7],[4677,7],[4817,7]]},"1422":{"position":[[3914,8]]},"1423":{"position":[[2681,8]]},"1427":{"position":[[4595,8]]},"1439":{"position":[[7094,8]]},"1443":{"position":[[761,8]]},"1444":{"position":[[677,8],[1586,7],[2179,8]]},"1457":{"position":[[1718,7],[1850,7]]},"1461":{"position":[[925,8],[2969,8],[3221,8],[3267,7]]},"1462":{"position":[[4301,7],[5489,7],[7200,7],[8134,9]]},"1465":{"position":[[2382,7],[4625,8]]},"1467":{"position":[[5947,7],[8169,7],[9195,9],[11142,8]]}},"keywords":{}}],["package"",{"_index":6507,"title":{},"content":{"1353":{"position":[[2393,13],[2424,13]]}},"keywords":{}}],["package.platform_head",{"_index":8544,"title":{},"content":{"1485":{"position":[[2697,25]]}},"keywords":{}}],["package/import",{"_index":6065,"title":{},"content":{"1226":{"position":[[4206,15],[4253,14]]},"1237":{"position":[[4376,15],[4423,14]]}},"keywords":{}}],["package="app_id">",{"_index":6474,"title":{},"content":{"1351":{"position":[[2057,31]]}},"keywords":{}}],["package="com.example"",{"_index":6584,"title":{},"content":{"1356":{"position":[[2317,31]]}},"keywords":{}}],["package_asset_librari",{"_index":6368,"title":{},"content":{"1348":{"position":[[2058,24]]},"1350":{"position":[[2957,24]]},"1352":{"position":[[2956,24]]}},"keywords":{}}],["package_nam",{"_index":2214,"title":{"425":{"position":[[0,13]]},"804":{"position":[[0,13]]}},"content":{"414":{"position":[[294,13]]},"425":{"position":[[4,14],[30,14]]},"793":{"position":[[294,13]]},"804":{"position":[[4,14],[30,14]]},"1365":{"position":[[632,13]]},"1373":{"position":[[1951,13]]},"1407":{"position":[[4818,12]]},"1408":{"position":[[798,13]]},"1410":{"position":[[1073,13],[3646,12],[4251,13],[4606,12]]},"1457":{"position":[[541,13]]}},"keywords":{}}],["package_name='greet",{"_index":7795,"title":{},"content":{"1410":{"position":[[5977,24]]},"1457":{"position":[[1985,24]]}},"keywords":{}}],["package_opt",{"_index":2313,"title":{},"content":{"429":{"position":[[214,17]]},"808":{"position":[[214,17]]}},"keywords":{}}],["package_project_relative_path",{"_index":5724,"title":{},"content":{"1112":{"position":[[1820,30]]}},"keywords":{}}],["package_resourc",{"_index":6369,"title":{},"content":{"1348":{"position":[[2093,18]]}},"keywords":{}}],["package_root",{"_index":7039,"title":{},"content":{"1373":{"position":[[1981,13],[6020,12],[6205,12]]},"1405":{"position":[[869,13],[3344,12],[3529,12]]},"1407":{"position":[[896,13],[3765,12],[3950,12]]},"1408":{"position":[[828,13],[2384,12],[2569,12]]},"1410":{"position":[[1103,13],[4655,13],[4752,12],[4937,12]]}},"keywords":{}}],["package_split_dwarf_dwp",{"_index":8304,"title":{},"content":{"1462":{"position":[[2898,24]]},"1467":{"position":[[3102,24]]}},"keywords":{}}],["package_styl",{"_index":8082,"title":{},"content":{"1443":{"position":[[550,14]]},"1462":{"position":[[2933,14]]},"1467":{"position":[[3137,14],[9152,14]]}},"keywords":{}}],["package_typ",{"_index":6450,"title":{},"content":{"1350":{"position":[[2992,13]]},"1351":{"position":[[3322,12],[4341,12],[5594,12]]},"1352":{"position":[[2991,13]]},"1353":{"position":[[3158,12]]},"1354":{"position":[[3297,12]]},"1360":{"position":[[6074,12]]}},"keywords":{}}],["packaged_local",{"_index":6451,"title":{},"content":{"1350":{"position":[[3015,17]]},"1352":{"position":[[3014,17]]}},"keywords":{}}],["packagedirectori",{"_index":3598,"title":{},"content":{"693":{"position":[[8832,16]]}},"keywords":{}}],["packager_arg",{"_index":6938,"title":{},"content":{"1365":{"position":[[688,14]]}},"keywords":{}}],["packaging_opt",{"_index":6452,"title":{},"content":{"1350":{"position":[[3048,18]]},"1352":{"position":[[3047,18]]}},"keywords":{}}],["packaging—may",{"_index":6624,"title":{},"content":{"1358":{"position":[[2555,13]]}},"keywords":{}}],["pad",{"_index":2822,"title":{},"content":{"595":{"position":[[1313,8]]}},"keywords":{}}],["page",{"_index":441,"title":{},"content":{"15":{"position":[[73,5]]},"695":{"position":[[219,4]]},"713":{"position":[[29,4]]},"890":{"position":[[49,4]]},"898":{"position":[[53,4],[243,4]]},"1102":{"position":[[971,6]]},"1249":{"position":[[134,4]]}},"keywords":{}}],["paid",{"_index":4500,"title":{},"content":{"919":{"position":[[1518,4]]}},"keywords":{}}],["pair",{"_index":1253,"title":{},"content":{"98":{"position":[[797,4]]},"230":{"position":[[797,4]]},"555":{"position":[[92,6],[141,6]]},"558":{"position":[[105,4],[167,5]]},"560":{"position":[[242,5],[357,5],[436,5],[516,4]]},"584":{"position":[[250,5]]},"595":{"position":[[255,4]]},"636":{"position":[[272,8],[309,4],[430,4]]},"639":{"position":[[194,6]]},"889":{"position":[[93,4]]},"929":{"position":[[232,4]]},"1056":{"position":[[1272,6]]},"1136":{"position":[[6597,5]]},"1138":{"position":[[10259,5]]},"1140":{"position":[[9185,5]]},"1142":{"position":[[4629,5]]},"1144":{"position":[[957,5]]},"1146":{"position":[[4569,5]]},"1148":{"position":[[7485,6],[8160,5]]},"1150":{"position":[[1192,5]]},"1152":{"position":[[890,5]]},"1154":{"position":[[1045,5]]},"1155":{"position":[[4665,5]]},"1156":{"position":[[4243,5]]},"1157":{"position":[[828,5]]},"1158":{"position":[[822,5]]},"1159":{"position":[[822,5]]},"1161":{"position":[[1817,5]]},"1163":{"position":[[1203,5]]},"1165":{"position":[[1032,5]]},"1167":{"position":[[10189,5]]},"1169":{"position":[[3297,5]]},"1171":{"position":[[1538,5]]},"1172":{"position":[[2923,5]]},"1173":{"position":[[1610,5]]},"1174":{"position":[[1038,5]]},"1175":{"position":[[1034,5]]},"1176":{"position":[[1203,5]]},"1177":{"position":[[1124,5]]},"1178":{"position":[[1441,5]]},"1179":{"position":[[1238,5]]},"1180":{"position":[[1509,5]]},"1181":{"position":[[2029,5]]},"1182":{"position":[[1072,5]]},"1183":{"position":[[1027,5]]},"1185":{"position":[[872,5]]},"1186":{"position":[[1037,6],[5833,5]]},"1187":{"position":[[1050,6],[5846,5]]},"1188":{"position":[[5776,6],[10572,5]]},"1190":{"position":[[2203,5]]},"1191":{"position":[[4433,5]]},"1192":{"position":[[4608,5]]},"1193":{"position":[[4660,5]]},"1194":{"position":[[4300,5]]},"1195":{"position":[[4278,5]]},"1196":{"position":[[4088,5]]},"1197":{"position":[[5071,5]]},"1198":{"position":[[5081,5]]},"1199":{"position":[[5109,5]]},"1200":{"position":[[4976,5]]},"1201":{"position":[[4236,5]]},"1202":{"position":[[980,5],[5378,5],[9775,5]]},"1203":{"position":[[4470,5]]},"1204":{"position":[[4314,5],[5216,5],[6146,5],[7048,5],[8034,5],[8988,5],[9935,5],[10865,5]]},"1205":{"position":[[5643,5]]},"1206":{"position":[[4342,5]]},"1207":{"position":[[4271,5]]},"1209":{"position":[[5619,5]]},"1211":{"position":[[943,5]]},"1213":{"position":[[714,5]]},"1215":{"position":[[798,5]]},"1217":{"position":[[8930,5]]},"1219":{"position":[[4185,5]]},"1221":{"position":[[917,5]]},"1222":{"position":[[4056,5]]},"1223":{"position":[[4066,5]]},"1224":{"position":[[3499,5]]},"1226":{"position":[[9398,5]]},"1228":{"position":[[11011,5]]},"1235":{"position":[[6879,5]]},"1237":{"position":[[9568,5]]},"1345":{"position":[[934,6]]},"1362":{"position":[[11311,5],[11667,5],[11705,4],[11858,4],[12120,5]]},"1364":{"position":[[8289,5],[8327,4],[8480,4],[12278,5],[12625,5]]},"1367":{"position":[[11681,5],[12028,5]]},"1373":{"position":[[6333,5],[6688,5],[6726,4],[6879,4],[7160,5]]},"1382":{"position":[[8180,5],[8530,5],[9008,5],[9046,4],[9199,4],[9481,5],[9836,5]]},"1384":{"position":[[7457,5],[7871,5],[8475,5],[8513,4],[8666,4],[9035,5],[12034,6],[12290,6],[14525,5],[14875,5],[15353,5],[15391,4],[15544,4],[15826,5],[16181,5]]},"1385":{"position":[[4410,5],[4759,5],[5236,5],[5274,4],[5427,4],[5708,5],[6062,5]]},"1387":{"position":[[7783,5],[8132,5],[8609,5],[8647,4],[8800,4],[9081,5],[9435,5]]},"1393":{"position":[[4109,5],[5725,5],[5792,4]]},"1415":{"position":[[4292,5],[4647,5],[4685,4],[4838,4]]},"1416":{"position":[[3148,5]]},"1420":{"position":[[2285,5]]},"1438":{"position":[[569,4]]},"1439":{"position":[[4919,5]]},"1448":{"position":[[2231,5]]},"1449":{"position":[[2165,5]]},"1454":{"position":[[5857,5],[6270,5],[6823,5],[7993,5],[8305,5],[8625,5]]},"1455":{"position":[[2628,5]]},"1465":{"position":[[3209,5],[3247,4],[3620,5],[3658,4]]},"1467":{"position":[[9478,5],[9516,4]]},"1485":{"position":[[2794,5]]}},"keywords":{}}],["pairs.bytecod",{"_index":5365,"title":{},"content":{"1056":{"position":[[1257,14]]}},"keywords":{}}],["pairs.typecheck",{"_index":5366,"title":{},"content":{"1056":{"position":[[1353,16]]}},"keywords":{}}],["panel",{"_index":5908,"title":{},"content":{"1136":{"position":[[5590,5],[5605,5]]},"1138":{"position":[[9252,5],[9267,5]]},"1140":{"position":[[8178,5],[8193,5]]},"1142":{"position":[[3622,5],[3637,5]]},"1146":{"position":[[3562,5],[3577,5]]},"1148":{"position":[[6602,5],[6617,5]]},"1155":{"position":[[3658,5],[3673,5]]},"1156":{"position":[[3236,5],[3251,5]]},"1161":{"position":[[1129,5],[1144,5]]},"1167":{"position":[[9182,5],[9197,5]]},"1181":{"position":[[1341,5],[1356,5]]},"1186":{"position":[[4826,5],[4841,5]]},"1187":{"position":[[4839,5],[4854,5]]},"1188":{"position":[[9565,5],[9580,5]]},"1191":{"position":[[3426,5],[3441,5]]},"1192":{"position":[[3601,5],[3616,5]]},"1193":{"position":[[3653,5],[3668,5]]},"1194":{"position":[[3293,5],[3308,5]]},"1195":{"position":[[3271,5],[3286,5]]},"1196":{"position":[[3081,5],[3096,5]]},"1197":{"position":[[4064,5],[4079,5]]},"1198":{"position":[[4074,5],[4089,5]]},"1199":{"position":[[4102,5],[4117,5]]},"1200":{"position":[[3969,5],[3984,5]]},"1201":{"position":[[3229,5],[3244,5]]},"1202":{"position":[[4371,5],[4386,5],[8768,5],[8783,5]]},"1203":{"position":[[3463,5],[3478,5]]},"1204":{"position":[[3307,5],[3322,5]]},"1205":{"position":[[4636,5],[4651,5]]},"1206":{"position":[[3107,5],[3122,5]]},"1207":{"position":[[3264,5],[3279,5]]},"1209":{"position":[[4612,5],[4627,5]]},"1217":{"position":[[7923,5],[7938,5]]},"1222":{"position":[[3033,5],[3048,5]]},"1223":{"position":[[3043,5],[3058,5]]},"1226":{"position":[[8391,5],[8406,5]]},"1228":{"position":[[10004,5],[10019,5]]},"1235":{"position":[[5872,5],[5887,5]]},"1237":{"position":[[8561,5],[8576,5]]}},"keywords":{}}],["pants,shak",{"_index":665,"title":{},"content":{"22":{"position":[[996,12]]}},"keywords":{}}],["par_styl",{"_index":8305,"title":{},"content":{"1462":{"position":[[2964,10]]},"1467":{"position":[[3168,10]]}},"keywords":{}}],["parallel",{"_index":220,"title":{},"content":{"9":{"position":[[1067,8]]},"22":{"position":[[1466,11]]},"94":{"position":[[1632,8]]},"226":{"position":[[1632,8]]},"684":{"position":[[168,9]]},"693":{"position":[[6905,8]]},"695":{"position":[[734,9]]},"702":{"position":[[508,11],[545,11]]},"837":{"position":[[256,8]]},"898":{"position":[[686,9]]},"937":{"position":[[2843,8]]},"1000":{"position":[[316,10]]},"1136":{"position":[[3840,9],[4009,9],[4194,8],[4327,10],[4504,8]]},"1138":{"position":[[7502,9],[7671,9],[7856,8],[7989,10],[8166,8]]},"1140":{"position":[[6428,9],[6597,9],[6782,8],[6915,10],[7092,8]]},"1142":{"position":[[1872,9],[2041,9],[2226,8],[2359,10],[2536,8]]},"1146":{"position":[[1812,9],[1981,9],[2166,8],[2299,10],[2476,8]]},"1148":{"position":[[4852,9],[5021,9],[5206,8],[5339,10],[5516,8]]},"1155":{"position":[[1908,9],[2077,9],[2262,8],[2395,10],[2572,8]]},"1156":{"position":[[1486,9],[1655,9],[1840,8],[1973,10],[2150,8]]},"1167":{"position":[[7432,9],[7601,9],[7786,8],[7919,10],[8096,8]]},"1169":{"position":[[1271,9],[1440,9],[1625,8],[1758,10],[1935,8]]},"1186":{"position":[[3076,9],[3245,9],[3430,8],[3563,10],[3740,8]]},"1187":{"position":[[3089,9],[3258,9],[3443,8],[3576,10],[3753,8]]},"1188":{"position":[[7815,9],[7984,9],[8169,8],[8302,10],[8479,8]]},"1191":{"position":[[1676,9],[1845,9],[2030,8],[2163,10],[2340,8]]},"1192":{"position":[[1851,9],[2020,9],[2205,8],[2338,10],[2515,8]]},"1193":{"position":[[1903,9],[2072,9],[2257,8],[2390,10],[2567,8]]},"1194":{"position":[[1543,9],[1712,9],[1897,8],[2030,10],[2207,8]]},"1195":{"position":[[1521,9],[1690,9],[1875,8],[2008,10],[2185,8]]},"1196":{"position":[[1331,9],[1500,9],[1685,8],[1818,10],[1995,8]]},"1197":{"position":[[2314,9],[2483,9],[2668,8],[2801,10],[2978,8]]},"1198":{"position":[[2324,9],[2493,9],[2678,8],[2811,10],[2988,8]]},"1199":{"position":[[2352,9],[2521,9],[2706,8],[2839,10],[3016,8]]},"1200":{"position":[[2219,9],[2388,9],[2573,8],[2706,10],[2883,8]]},"1201":{"position":[[1479,9],[1648,9],[1833,8],[1966,10],[2143,8]]},"1202":{"position":[[2621,9],[2790,9],[2975,8],[3108,10],[3285,8],[7018,9],[7187,9],[7372,8],[7505,10],[7682,8]]},"1203":{"position":[[1713,9],[1882,9],[2067,8],[2200,10],[2377,8]]},"1204":{"position":[[1557,9],[1726,9],[1911,8],[2044,10],[2221,8]]},"1205":{"position":[[2886,9],[3055,9],[3240,8],[3373,10],[3550,8]]},"1206":{"position":[[1357,9],[1526,9],[1711,8],[1844,10],[2021,8]]},"1207":{"position":[[1514,9],[1683,9],[1868,8],[2001,10],[2178,8]]},"1209":{"position":[[2862,9],[3031,9],[3216,8],[3349,10],[3526,8]]},"1217":{"position":[[6173,9],[6342,9],[6527,8],[6660,10],[6837,8]]},"1219":{"position":[[2159,9],[2328,9],[2513,8],[2646,10],[2823,8]]},"1222":{"position":[[1283,9],[1452,9],[1637,8],[1770,10],[1947,8]]},"1223":{"position":[[1293,9],[1462,9],[1647,8],[1780,10],[1957,8]]},"1224":{"position":[[1473,9],[1642,9],[1827,8],[1960,10],[2137,8]]},"1226":{"position":[[6641,9],[6810,9],[6995,8],[7128,10],[7305,8]]},"1228":{"position":[[8254,9],[8423,9],[8608,8],[8741,10],[8918,8]]},"1235":{"position":[[4122,9],[4291,9],[4476,8],[4609,10],[4786,8]]},"1237":{"position":[[6811,9],[6980,9],[7165,8],[7298,10],[7475,8]]},"1243":{"position":[[70,8],[122,8]]}},"keywords":{}}],["parallelis",{"_index":758,"title":{},"content":{"23":{"position":[[2581,11]]}},"keywords":{}}],["param",{"_index":1725,"title":{},"content":{"309":{"position":[[763,5]]},"711":{"position":[[1381,6]]},"878":{"position":[[784,6]]}},"keywords":{}}],["paramet",{"_index":1110,"title":{"688":{"position":[[7,9]]}},"content":{"91":{"position":[[398,9],[534,9]]},"92":{"position":[[741,9]]},"98":{"position":[[686,9]]},"223":{"position":[[398,9],[534,9]]},"224":{"position":[[741,9]]},"230":{"position":[[686,9]]},"242":{"position":[[207,11]]},"295":{"position":[[189,9]]},"298":{"position":[[1444,11]]},"302":{"position":[[189,9]]},"347":{"position":[[202,10]]},"418":{"position":[[376,9]]},"443":{"position":[[188,11]]},"554":{"position":[[263,9]]},"557":{"position":[[275,9]]},"559":{"position":[[336,9]]},"566":{"position":[[245,10]]},"575":{"position":[[590,10]]},"582":{"position":[[154,10],[271,10],[364,10]]},"639":{"position":[[328,10]]},"654":{"position":[[244,9]]},"663":{"position":[[916,10]]},"666":{"position":[[249,9],[353,9]]},"688":{"position":[[93,9]]},"797":{"position":[[376,9]]},"822":{"position":[[188,11]]},"840":{"position":[[1196,9]]},"851":{"position":[[432,10]]},"864":{"position":[[85,11]]},"877":{"position":[[502,11]]},"878":{"position":[[1070,10]]},"890":{"position":[[4764,11]]},"900":{"position":[[117,9]]},"901":{"position":[[871,10]]},"994":{"position":[[242,10]]},"1050":{"position":[[818,11],[1149,10]]},"1096":{"position":[[134,11]]},"1129":{"position":[[170,10]]},"1132":{"position":[[30,9]]},"1260":{"position":[[735,9]]},"1291":{"position":[[735,9]]},"1319":{"position":[[735,9]]},"1348":{"position":[[2696,11]]},"1349":{"position":[[841,11]]},"1350":{"position":[[3812,11]]},"1351":{"position":[[1031,11]]},"1352":{"position":[[3811,11]]},"1353":{"position":[[1415,11]]},"1354":{"position":[[1253,11]]},"1355":{"position":[[2391,11],[4390,9]]},"1356":{"position":[[759,11]]},"1357":{"position":[[432,11]]},"1358":{"position":[[1153,11],[2626,9]]},"1359":{"position":[[990,11]]},"1360":{"position":[[1620,11],[2819,9],[4617,9],[4981,9]]},"1361":{"position":[[980,11],[1985,9],[2246,9]]},"1362":{"position":[[5343,11]]},"1363":{"position":[[3089,11],[3996,10]]},"1364":{"position":[[5372,11]]},"1365":{"position":[[914,11]]},"1366":{"position":[[1119,11]]},"1367":{"position":[[6770,11]]},"1368":{"position":[[1470,11]]},"1369":{"position":[[522,11]]},"1370":{"position":[[768,11]]},"1371":{"position":[[398,11]]},"1372":{"position":[[2036,11]]},"1373":{"position":[[2908,11]]},"1374":{"position":[[803,11],[1799,9],[2825,9]]},"1375":{"position":[[434,11]]},"1376":{"position":[[390,11]]},"1377":{"position":[[629,11]]},"1378":{"position":[[376,11]]},"1379":{"position":[[399,11]]},"1380":{"position":[[870,11]]},"1381":{"position":[[776,11]]},"1382":{"position":[[3255,11]]},"1383":{"position":[[1325,9],[1493,11],[2404,9],[3535,9],[3879,9],[4167,9],[4494,9],[5205,9],[6649,9],[7089,9]]},"1384":{"position":[[4417,11],[19505,9]]},"1385":{"position":[[1984,9],[2084,10],[2095,11]]},"1386":{"position":[[733,11],[2143,10]]},"1387":{"position":[[4335,9],[4364,11]]},"1388":{"position":[[3555,11],[4824,9],[6234,9]]},"1389":{"position":[[4417,11]]},"1390":{"position":[[669,11]]},"1391":{"position":[[622,11]]},"1392":{"position":[[772,11]]},"1393":{"position":[[1343,11]]},"1394":{"position":[[792,11]]},"1395":{"position":[[800,11]]},"1396":{"position":[[598,11]]},"1397":{"position":[[779,11]]},"1398":{"position":[[1450,11]]},"1399":{"position":[[634,11]]},"1400":{"position":[[503,11]]},"1401":{"position":[[578,11],[1573,9]]},"1402":{"position":[[734,11]]},"1403":{"position":[[1323,11],[2234,9],[4032,9],[4969,9],[6277,9]]},"1404":{"position":[[567,11]]},"1405":{"position":[[1258,11]]},"1406":{"position":[[474,11]]},"1407":{"position":[[1299,11]]},"1408":{"position":[[995,11]]},"1409":{"position":[[529,11]]},"1410":{"position":[[1690,11]]},"1411":{"position":[[512,11]]},"1412":{"position":[[1711,11]]},"1413":{"position":[[1896,11]]},"1414":{"position":[[763,11]]},"1415":{"position":[[2745,11]]},"1416":{"position":[[1397,11]]},"1417":{"position":[[986,11]]},"1418":{"position":[[687,11]]},"1419":{"position":[[815,11]]},"1420":{"position":[[1079,11]]},"1421":{"position":[[1054,11]]},"1422":{"position":[[956,11]]},"1423":{"position":[[946,11],[1936,9]]},"1424":{"position":[[1071,11]]},"1425":{"position":[[687,11]]},"1426":{"position":[[1029,11]]},"1427":{"position":[[1926,11],[3535,9]]},"1428":{"position":[[669,11]]},"1429":{"position":[[2590,11]]},"1430":{"position":[[1445,11]]},"1431":{"position":[[789,11]]},"1432":{"position":[[1310,11]]},"1433":{"position":[[831,11]]},"1434":{"position":[[505,11]]},"1435":{"position":[[469,11]]},"1436":{"position":[[485,11]]},"1437":{"position":[[555,11]]},"1438":{"position":[[688,11]]},"1439":{"position":[[2212,11],[4209,9]]},"1440":{"position":[[2778,11]]},"1441":{"position":[[511,11]]},"1442":{"position":[[583,11]]},"1443":{"position":[[806,11]]},"1444":{"position":[[722,11]]},"1445":{"position":[[411,11]]},"1446":{"position":[[745,11],[2063,9]]},"1447":{"position":[[627,11]]},"1448":{"position":[[1062,11]]},"1449":{"position":[[996,11]]},"1450":{"position":[[875,11]]},"1451":{"position":[[875,11]]},"1452":{"position":[[421,11]]},"1453":{"position":[[1007,11]]},"1454":{"position":[[3373,11]]},"1455":{"position":[[1260,11],[3077,9],[3248,9],[3471,10],[3746,9],[3969,10],[4145,9],[4380,10]]},"1456":{"position":[[605,11]]},"1457":{"position":[[664,11]]},"1458":{"position":[[1199,11]]},"1459":{"position":[[678,11],[1576,9],[2036,9]]},"1460":{"position":[[790,11]]},"1461":{"position":[[1004,11]]},"1462":{"position":[[4386,11]]},"1463":{"position":[[512,11]]},"1464":{"position":[[420,11]]},"1465":{"position":[[1518,11]]},"1466":{"position":[[756,11]]},"1467":{"position":[[5074,11],[6587,9],[8461,9]]},"1468":{"position":[[520,11]]},"1469":{"position":[[892,11]]},"1470":{"position":[[3422,11]]},"1471":{"position":[[1755,11],[5315,10]]},"1472":{"position":[[1714,11],[6201,10]]},"1473":{"position":[[2029,11],[4031,10],[5765,10]]},"1474":{"position":[[1421,11]]},"1475":{"position":[[1892,11]]},"1476":{"position":[[497,11]]},"1477":{"position":[[648,11]]},"1478":{"position":[[1139,11],[2138,9],[2401,9]]},"1479":{"position":[[589,11]]},"1480":{"position":[[1002,11]]},"1481":{"position":[[1535,11]]},"1482":{"position":[[609,11]]},"1483":{"position":[[443,11]]},"1484":{"position":[[515,11]]},"1485":{"position":[[775,11]]},"1486":{"position":[[1019,11],[3034,9]]},"1487":{"position":[[713,11]]}},"keywords":{}}],["parameter",{"_index":4842,"title":{},"content":{"977":{"position":[[401,13]]},"1383":{"position":[[2855,13],[4341,13]]}},"keywords":{}}],["parameters.buck2",{"_index":7635,"title":{},"content":{"1398":{"position":[[6692,16]]}},"keywords":{}}],["params["universe"])[0",{"_index":4110,"title":{},"content":{"878":{"position":[[887,32]]}},"keywords":{}}],["parent",{"_index":967,"title":{},"content":{"69":{"position":[[80,7],[329,6],[401,6]]},"298":{"position":[[3082,6]]},"405":{"position":[[668,7],[2243,6],[2297,6],[2329,7]]},"408":{"position":[[399,7],[441,6],[636,7],[843,6],[868,6],[940,6]]},"432":{"position":[[78,6]]},"451":{"position":[[153,6],[295,6]]},"457":{"position":[[80,7],[329,6],[401,6]]},"675":{"position":[[1252,6]]},"784":{"position":[[668,7],[2243,6],[2297,6],[2329,7]]},"787":{"position":[[399,7],[441,6],[636,7],[843,6],[868,6],[940,6]]},"811":{"position":[[78,6]]},"830":{"position":[[153,6],[295,6]]},"943":{"position":[[194,6]]},"947":{"position":[[1088,6]]},"1000":{"position":[[97,6]]},"1001":{"position":[[426,6]]},"1064":{"position":[[524,6],[1355,6],[2217,6]]},"1088":{"position":[[639,6]]},"1126":{"position":[[589,8]]},"1363":{"position":[[4628,7]]},"1402":{"position":[[1987,7]]}},"keywords":{}}],["parent=1",{"_index":2186,"title":{},"content":{"408":{"position":[[588,10]]},"787":{"position":[[588,10]]}},"keywords":{}}],["parent_id",{"_index":5798,"title":{},"content":{"1126":{"position":[[602,10]]}},"keywords":{}}],["parenthes",{"_index":3547,"title":{},"content":{"693":{"position":[[3747,13]]},"1148":{"position":[[353,13]]},"1282":{"position":[[223,11],[291,13]]},"1283":{"position":[[240,11],[308,13]]},"1284":{"position":[[220,11],[288,13]]},"1313":{"position":[[223,11],[291,13]]},"1314":{"position":[[240,11],[308,13]]},"1315":{"position":[[220,11],[288,13]]},"1341":{"position":[[223,11],[291,13]]},"1342":{"position":[[240,11],[308,13]]},"1343":{"position":[[220,11],[288,13]]},"1383":{"position":[[5954,12]]}},"keywords":{}}],["parentth",{"_index":2157,"title":{},"content":{"405":{"position":[[2218,8]]},"784":{"position":[[2218,8]]}},"keywords":{}}],["pariti",{"_index":4720,"title":{},"content":{"945":{"position":[[460,6]]}},"keywords":{}}],["pars",{"_index":1612,"title":{"1206":{"position":[[11,6]]}},"content":{"294":{"position":[[845,6]]},"301":{"position":[[620,6]]},"574":{"position":[[81,5],[201,5]]},"577":{"position":[[429,6]]},"648":{"position":[[1131,5]]},"675":{"position":[[331,7],[392,7]]},"870":{"position":[[1095,5],[1181,8],[1498,7]]},"924":{"position":[[704,5]]},"954":{"position":[[556,5]]},"1037":{"position":[[17,6],[643,5]]},"1050":{"position":[[1970,7],[3135,7],[3181,6],[4249,5]]},"1113":{"position":[[155,7],[395,5],[717,7]]},"1190":{"position":[[536,5],[1365,5],[1371,6]]},"1195":{"position":[[39,5]]},"1206":{"position":[[0,6],[124,5]]}},"keywords":{}}],["parsabl",{"_index":2703,"title":{},"content":{"584":{"position":[[724,8]]}},"keywords":{}}],["parse_tranform",{"_index":7494,"title":{},"content":{"1393":{"position":[[8139,15]]}},"keywords":{}}],["parse_transform",{"_index":7495,"title":{},"content":{"1393":{"position":[[8282,17]]}},"keywords":{}}],["parseabl",{"_index":3082,"title":{},"content":{"632":{"position":[[206,10]]}},"keywords":{}}],["parser",{"_index":2617,"title":{"574":{"position":[[15,8]]}},"content":{"574":{"position":[[55,6],[130,7]]},"584":{"position":[[612,6],[764,8]]},"1282":{"position":[[121,6]]},"1283":{"position":[[138,6]]},"1284":{"position":[[114,6]]},"1313":{"position":[[121,6]]},"1314":{"position":[[138,6]]},"1315":{"position":[[114,6]]},"1341":{"position":[[121,6]]},"1342":{"position":[[138,6]]},"1343":{"position":[[114,6]]},"1448":{"position":[[2685,6]]},"1449":{"position":[[2619,6]]}},"keywords":{}}],["parser.mli",{"_index":8131,"title":{},"content":{"1448":{"position":[[2895,13]]}},"keywords":{}}],["parsing.bxl",{"_index":4067,"title":{},"content":{"870":{"position":[[1258,11]]}},"keywords":{}}],["part",{"_index":188,"title":{},"content":{"9":{"position":[[411,4]]},"23":{"position":[[734,4]]},"51":{"position":[[42,4]]},"92":{"position":[[2540,4]]},"98":{"position":[[1342,4]]},"134":{"position":[[328,4]]},"198":{"position":[[42,4]]},"224":{"position":[[2540,4]]},"230":{"position":[[1342,4]]},"257":{"position":[[328,4]]},"363":{"position":[[214,4]]},"408":{"position":[[1172,5]]},"584":{"position":[[272,4]]},"587":{"position":[[73,4]]},"607":{"position":[[171,5]]},"608":{"position":[[107,4]]},"609":{"position":[[107,4]]},"705":{"position":[[939,4]]},"742":{"position":[[214,4]]},"787":{"position":[[1172,5]]},"840":{"position":[[1112,4],[1412,4],[1600,4]]},"845":{"position":[[290,5]]},"846":{"position":[[1434,5]]},"857":{"position":[[200,4]]},"964":{"position":[[300,4]]},"1004":{"position":[[925,4]]},"1017":{"position":[[126,4]]},"1050":{"position":[[486,5],[1045,5],[1923,4],[2428,4]]},"1054":{"position":[[1127,4]]},"1071":{"position":[[1241,5]]},"1095":{"position":[[123,4]]},"1190":{"position":[[1401,5]]},"1206":{"position":[[30,5]]},"1278":{"position":[[272,4]]},"1279":{"position":[[196,4]]},"1309":{"position":[[272,4]]},"1310":{"position":[[196,4]]},"1337":{"position":[[272,4]]},"1338":{"position":[[196,4]]},"1366":{"position":[[2604,4]]},"1383":{"position":[[1243,4]]},"1388":{"position":[[3541,4]]},"1397":{"position":[[1958,4],[2830,4]]},"1398":{"position":[[6045,4]]},"1422":{"position":[[919,4]]},"1423":{"position":[[909,4]]},"1446":{"position":[[2384,4]]},"1461":{"position":[[2465,4]]},"1465":{"position":[[2925,4]]},"1467":{"position":[[7064,4]]},"1469":{"position":[[809,4]]},"1485":{"position":[[4587,4]]}},"keywords":{}}],["parti",{"_index":433,"title":{},"content":{"13":{"position":[[435,5]]},"896":{"position":[[175,5],[539,5]]},"1393":{"position":[[4497,7],[8233,5]]},"1422":{"position":[[3908,5]]},"1423":{"position":[[2675,5]]},"1426":{"position":[[2284,5]]},"1458":{"position":[[1109,5]]}},"keywords":{}}],["partial",{"_index":3276,"title":{"657":{"position":[[0,8]]}},"content":{"657":{"position":[[4,8],[68,7]]},"944":{"position":[[533,7]]},"1259":{"position":[[858,7]]},"1269":{"position":[[19,7]]},"1290":{"position":[[858,7]]},"1300":{"position":[[19,7]]},"1318":{"position":[[858,7]]},"1328":{"position":[[19,7]]}},"keywords":{}}],["particip",{"_index":3521,"title":{},"content":{"693":{"position":[[869,11]]},"989":{"position":[[249,11]]},"1024":{"position":[[839,11]]}},"keywords":{}}],["particular",{"_index":729,"title":{},"content":{"23":{"position":[[1466,10]]},"98":{"position":[[722,11]]},"230":{"position":[[722,11]]},"377":{"position":[[1167,10]]},"570":{"position":[[373,10]]},"690":{"position":[[108,10]]},"693":{"position":[[1068,10],[3975,10]]},"756":{"position":[[1167,10]]},"864":{"position":[[827,10]]},"867":{"position":[[903,10]]},"890":{"position":[[6382,10]]},"896":{"position":[[1045,10]]},"898":{"position":[[162,10]]},"964":{"position":[[405,10]]},"975":{"position":[[259,10]]},"1011":{"position":[[505,10]]},"1026":{"position":[[823,10]]},"1054":{"position":[[741,10]]},"1075":{"position":[[91,11]]},"1104":{"position":[[503,10]]},"1232":{"position":[[3524,10]]},"1247":{"position":[[75,10]]},"1461":{"position":[[1938,10]]}},"keywords":{}}],["particularli",{"_index":1574,"title":{},"content":{"286":{"position":[[278,12]]},"1138":{"position":[[5919,12]]},"1148":{"position":[[3269,12]]},"1186":{"position":[[1493,12]]},"1187":{"position":[[1506,12]]},"1188":{"position":[[6232,12]]},"1197":{"position":[[731,12]]},"1198":{"position":[[741,12]]},"1199":{"position":[[769,12]]},"1200":{"position":[[636,12]]},"1383":{"position":[[7732,12]]},"1403":{"position":[[6832,12]]}},"keywords":{}}],["partit",{"_index":2913,"title":{},"content":{"607":{"position":[[78,9],[323,9],[374,9]]},"613":{"position":[[80,9],[146,10]]}},"keywords":{}}],["party/halid",{"_index":7838,"title":{},"content":{"1415":{"position":[[5814,13]]}},"keywords":{}}],["party/halide:halid",{"_index":7839,"title":{},"content":{"1415":{"position":[[5848,20]]}},"keywords":{}}],["party/rust",{"_index":436,"title":{},"content":{"13":{"position":[[456,10]]}},"keywords":{}}],["party/rust:anyhow",{"_index":3493,"title":{},"content":{"690":{"position":[[2266,17]]}},"keywords":{}}],["party/rust:anyhow"",{"_index":3473,"title":{},"content":{"690":{"position":[[1060,24]]}},"keywords":{}}],["party/rust:arc",{"_index":3474,"title":{},"content":{"690":{"position":[[1107,14],[2358,14]]}},"keywords":{}}],["party/rust:blake3",{"_index":3495,"title":{},"content":{"690":{"position":[[2452,17]]}},"keywords":{}}],["party/rust:blake3"",{"_index":3476,"title":{},"content":{"690":{"position":[[1156,24]]}},"keywords":{}}],["party/rust:common",{"_index":3483,"title":{},"content":{"690":{"position":[[1433,17]]}},"keywords":{}}],["party/rust:compact_str",{"_index":3496,"title":{},"content":{"690":{"position":[[2544,22]]}},"keywords":{}}],["party/rust:compact_str"",{"_index":3477,"title":{},"content":{"690":{"position":[[1203,29]]}},"keywords":{}}],["party/rust:dashmap",{"_index":3497,"title":{},"content":{"690":{"position":[[2641,18]]}},"keywords":{}}],["party/rust:dashmap"",{"_index":3478,"title":{},"content":{"690":{"position":[[1255,25]]}},"keywords":{}}],["party/rust:nix",{"_index":3498,"title":{},"content":{"690":{"position":[[2734,14]]}},"keywords":{}}],["party/rust:nix"",{"_index":3486,"title":{},"content":{"690":{"position":[[1619,20]]}},"keywords":{}}],["party/skylark/bazel",{"_index":2733,"title":{},"content":{"587":{"position":[[218,19]]}},"keywords":{}}],["pascal",{"_index":5630,"title":{},"content":{"1102":{"position":[[111,7],[221,6]]}},"keywords":{}}],["pascal.bzl",{"_index":5634,"title":{},"content":{"1102":{"position":[[356,10]]}},"keywords":{}}],["pascal_binari",{"_index":5633,"title":{},"content":{"1102":{"position":[[326,15]]},"1103":{"position":[[393,13],[522,14]]},"1108":{"position":[[419,13]]}},"keywords":{}}],["pascal_binary_impl",{"_index":5647,"title":{},"content":{"1103":{"position":[[421,19],[561,19]]},"1108":{"position":[[373,18],[448,19]]}},"keywords":{}}],["pascal_binary_impl(_ctx",{"_index":5635,"title":{},"content":{"1102":{"position":[[492,24]]}},"keywords":{}}],["pascal_binary_impl(ctx",{"_index":5643,"title":{},"content":{"1103":{"position":[[135,23]]}},"keywords":{}}],["pascal_librari",{"_index":5632,"title":{},"content":{"1102":{"position":[[307,14]]}},"keywords":{}}],["pascallibraryinfo",{"_index":5662,"title":{},"content":{"1104":{"position":[[1717,17],[2306,17]]}},"keywords":{}}],["pascallibraryinfo(link",{"_index":5677,"title":{},"content":{"1104":{"position":[[2560,23]]}},"keywords":{}}],["pass",{"_index":842,"title":{"850":{"position":[[0,7]]}},"content":{"37":{"position":[[242,4]]},"84":{"position":[[408,7]]},"92":{"position":[[954,6],[1607,6]]},"94":{"position":[[2494,6],[3774,6]]},"99":{"position":[[1041,4]]},"121":{"position":[[99,6]]},"125":{"position":[[104,6]]},"126":{"position":[[480,6]]},"127":{"position":[[93,6]]},"133":{"position":[[250,6]]},"136":{"position":[[107,6]]},"140":{"position":[[153,6]]},"182":{"position":[[242,4]]},"216":{"position":[[408,7]]},"224":{"position":[[954,6],[1607,6]]},"226":{"position":[[2494,6],[3774,6]]},"231":{"position":[[1041,4]]},"233":{"position":[[338,7]]},"236":{"position":[[556,6]]},"237":{"position":[[483,6],[630,6]]},"240":{"position":[[290,6]]},"242":{"position":[[401,7]]},"243":{"position":[[351,6]]},"248":{"position":[[104,6]]},"249":{"position":[[480,6]]},"250":{"position":[[93,6]]},"256":{"position":[[250,6]]},"259":{"position":[[107,6]]},"263":{"position":[[153,6]]},"298":{"position":[[789,4],[1600,4],[1971,6]]},"300":{"position":[[218,4],[351,6]]},"304":{"position":[[336,4]]},"314":{"position":[[257,7]]},"329":{"position":[[350,6]]},"334":{"position":[[448,4],[663,4]]},"340":{"position":[[249,6]]},"345":{"position":[[511,6]]},"362":{"position":[[2660,4]]},"374":{"position":[[1463,6],[1771,6],[1926,6]]},"406":{"position":[[208,7]]},"407":{"position":[[137,4],[237,6]]},"408":{"position":[[496,6]]},"411":{"position":[[314,6]]},"416":{"position":[[448,4],[658,7]]},"417":{"position":[[678,4],[888,7]]},"418":{"position":[[355,4]]},"427":{"position":[[220,4]]},"428":{"position":[[111,6]]},"441":{"position":[[118,6]]},"442":{"position":[[144,7]]},"446":{"position":[[315,7]]},"451":{"position":[[238,4]]},"470":{"position":[[290,6]]},"474":{"position":[[187,4],[402,4]]},"530":{"position":[[99,6]]},"577":{"position":[[294,6]]},"606":{"position":[[189,7]]},"615":{"position":[[190,7]]},"662":{"position":[[732,6]]},"693":{"position":[[7325,4],[9637,6]]},"711":{"position":[[1364,4]]},"712":{"position":[[1076,4],[2169,7]]},"720":{"position":[[365,6]]},"741":{"position":[[2660,4]]},"753":{"position":[[1463,6],[1771,6],[1926,6]]},"785":{"position":[[208,7]]},"786":{"position":[[137,4],[237,6]]},"787":{"position":[[496,6]]},"790":{"position":[[314,6]]},"795":{"position":[[448,4],[658,7]]},"796":{"position":[[678,4],[888,7]]},"797":{"position":[[355,4]]},"806":{"position":[[220,4]]},"807":{"position":[[111,6]]},"820":{"position":[[118,6]]},"821":{"position":[[144,7]]},"825":{"position":[[315,7]]},"830":{"position":[[238,4]]},"834":{"position":[[542,7],[617,7]]},"837":{"position":[[101,4]]},"840":{"position":[[261,4],[963,4]]},"844":{"position":[[203,4]]},"850":{"position":[[189,4]]},"851":{"position":[[618,4]]},"861":{"position":[[255,7]]},"866":{"position":[[302,6]]},"889":{"position":[[801,6],[903,7],[959,4]]},"890":{"position":[[5053,4]]},"900":{"position":[[100,6]]},"905":{"position":[[1342,4]]},"919":{"position":[[2103,4],[2216,4]]},"924":{"position":[[344,4],[532,6],[890,4]]},"934":{"position":[[11,7],[48,4]]},"991":{"position":[[1279,6],[1337,6],[1411,7]]},"1004":{"position":[[540,6]]},"1006":{"position":[[1213,4]]},"1024":{"position":[[812,6]]},"1031":{"position":[[787,4]]},"1037":{"position":[[593,4]]},"1040":{"position":[[495,6],[750,4],[1056,6],[1379,6]]},"1043":{"position":[[82,7]]},"1044":{"position":[[2311,6],[2471,6]]},"1046":{"position":[[309,4]]},"1049":{"position":[[25,4],[291,6]]},"1053":{"position":[[201,6],[665,6]]},"1054":{"position":[[1304,4]]},"1061":{"position":[[427,4]]},"1069":{"position":[[390,4]]},"1070":{"position":[[505,7],[667,7]]},"1071":{"position":[[869,6]]},"1072":{"position":[[464,7]]},"1083":{"position":[[287,6],[339,6]]},"1086":{"position":[[357,4]]},"1104":{"position":[[1316,4]]},"1112":{"position":[[747,6]]},"1114":{"position":[[175,7],[208,7]]},"1140":{"position":[[266,6]]},"1148":{"position":[[564,6]]},"1167":{"position":[[203,6]]},"1188":{"position":[[319,6]]},"1191":{"position":[[373,7]]},"1217":{"position":[[319,6]]},"1228":{"position":[[223,6],[302,4],[2374,7]]},"1285":{"position":[[124,6]]},"1286":{"position":[[83,6],[230,6]]},"1287":{"position":[[156,6]]},"1345":{"position":[[1156,4]]},"1348":{"position":[[3966,4]]},"1355":{"position":[[4589,4],[4733,4]]},"1363":{"position":[[4812,6]]},"1373":{"position":[[4054,4],[4232,4],[4311,4],[6012,7],[8472,6]]},"1374":{"position":[[1695,6],[1939,6]]},"1381":{"position":[[1679,4]]},"1383":{"position":[[3109,6],[3152,6],[3199,6],[3249,4],[3324,6],[3443,6],[3653,6],[3781,6],[3997,6],[4097,6],[5186,4]]},"1388":{"position":[[4691,4]]},"1390":{"position":[[1705,6]]},"1405":{"position":[[2190,4],[2438,4],[2604,6],[3230,6],[3336,7]]},"1407":{"position":[[2231,4],[2859,4],[3025,6],[3651,6],[3757,7]]},"1408":{"position":[[1900,4],[1976,4],[2376,7]]},"1410":{"position":[[2632,4],[2882,4],[3127,6],[4233,6],[4744,7]]},"1412":{"position":[[3085,4]]},"1416":{"position":[[2269,4]]},"1420":{"position":[[1951,4]]},"1427":{"position":[[3734,4]]},"1429":{"position":[[5183,6],[5267,6]]},"1438":{"position":[[1646,6],[2072,6]]},"1439":{"position":[[4416,4],[4485,4],[5448,6]]},"1440":{"position":[[5177,6],[5261,6]]},"1446":{"position":[[1670,6]]},"1448":{"position":[[1965,4]]},"1449":{"position":[[1899,4]]},"1462":{"position":[[8593,6]]},"1465":{"position":[[1474,6]]},"1467":{"position":[[10075,6]]},"1470":{"position":[[4326,4]]},"1471":{"position":[[3640,6],[3962,4],[5026,4]]},"1472":{"position":[[3437,4],[4224,6],[4546,4],[5527,4]]},"1473":{"position":[[3708,6],[4283,4],[5476,4]]},"1478":{"position":[[1079,4],[3368,7],[3635,6],[3730,4],[3747,6]]},"1482":{"position":[[2815,4],[2832,6],[2904,4],[2921,6],[2991,6],[3147,4],[3164,6],[3236,4],[3253,6],[3317,4],[3334,6],[3390,6]]},"1486":{"position":[[1897,6],[2004,6]]}},"keywords":{}}],["pass"",{"_index":8477,"title":{},"content":{"1478":{"position":[[2924,12],[3179,10]]}},"keywords":{}}],["pass/1",{"_index":8487,"title":{},"content":{"1478":{"position":[[3563,6]]}},"keywords":{}}],["passinghide_prefix",{"_index":899,"title":{},"content":{"50":{"position":[[423,18]]},"197":{"position":[[423,18]]}},"keywords":{}}],["passthrough",{"_index":1467,"title":{},"content":{"236":{"position":[[539,11]]},"1287":{"position":[[139,11]]}},"keywords":{}}],["password",{"_index":8035,"title":{},"content":{"1438":{"position":[[1917,8]]}},"keywords":{}}],["password:"",{"_index":8032,"title":{},"content":{"1438":{"position":[[1793,15]]}},"keywords":{}}],["past",{"_index":5769,"title":{},"content":{"1120":{"position":[[310,6]]}},"keywords":{}}],["path",{"_index":215,"title":{"861":{"position":[[12,4]]},"1018":{"position":[[26,6]]},"1174":{"position":[[9,5]]},"1180":{"position":[[18,5]]}},"content":{"9":{"position":[[989,5],[1131,5]]},"15":{"position":[[658,6]]},"17":{"position":[[762,4],[1076,5]]},"37":{"position":[[178,4]]},"40":{"position":[[153,4],[196,4],[237,5],[258,5]]},"50":{"position":[[22,5],[116,4],[414,5]]},"51":{"position":[[54,5]]},"69":{"position":[[132,5],[251,5],[348,5],[427,5]]},"84":{"position":[[126,4]]},"86":{"position":[[212,4]]},"94":{"position":[[2106,4],[2258,4],[2429,4],[4142,4],[4216,4],[4239,4],[4315,4],[4407,4]]},"96":{"position":[[210,4]]},"98":{"position":[[1008,5],[1052,6]]},"99":{"position":[[1416,5],[1460,6]]},"145":{"position":[[248,4]]},"171":{"position":[[46,4]]},"173":{"position":[[153,4],[196,4],[237,5],[258,5]]},"182":{"position":[[178,4]]},"197":{"position":[[22,5],[116,4],[414,5]]},"198":{"position":[[54,5]]},"216":{"position":[[126,4]]},"218":{"position":[[212,4]]},"226":{"position":[[2106,4],[2258,4],[2429,4],[4142,4],[4216,4],[4239,4],[4315,4],[4407,4]]},"228":{"position":[[210,4]]},"230":{"position":[[1008,5],[1052,6]]},"231":{"position":[[1416,5],[1460,6]]},"242":{"position":[[512,4]]},"243":{"position":[[153,5],[232,5],[330,4],[472,5]]},"268":{"position":[[248,4]]},"278":{"position":[[74,4]]},"279":{"position":[[41,5],[149,4],[175,4],[211,4],[244,5]]},"284":{"position":[[145,5]]},"288":{"position":[[89,5],[143,4],[497,4],[590,4],[763,4]]},"289":{"position":[[80,4],[163,4],[517,4],[610,4],[783,4]]},"292":{"position":[[42,4]]},"299":{"position":[[60,4]]},"304":{"position":[[466,4]]},"307":{"position":[[55,4]]},"314":{"position":[[104,5],[278,4],[373,4]]},"315":{"position":[[86,4]]},"316":{"position":[[104,4]]},"317":{"position":[[105,4]]},"318":{"position":[[203,4]]},"319":{"position":[[105,4]]},"320":{"position":[[260,4],[461,4],[495,5],[523,5]]},"324":{"position":[[583,6]]},"334":{"position":[[463,4],[522,4],[617,4],[696,5]]},"344":{"position":[[398,4]]},"362":{"position":[[2319,4],[2714,5]]},"374":{"position":[[1237,5]]},"405":{"position":[[1972,5],[2375,5]]},"406":{"position":[[99,4],[273,4]]},"408":{"position":[[662,5],[781,5],[887,5],[974,5]]},"416":{"position":[[120,4],[232,5],[280,4],[458,4],[595,4]]},"417":{"position":[[326,5],[367,5],[461,5],[509,4],[688,4],[825,4],[1110,4]]},"457":{"position":[[132,5],[251,5],[348,5],[427,5]]},"460":{"position":[[76,4]]},"463":{"position":[[157,4]]},"465":{"position":[[345,6]]},"474":{"position":[[202,4],[261,4],[356,4],[435,5]]},"476":{"position":[[369,4]]},"510":{"position":[[115,5],[169,4],[563,4],[661,4],[831,4]]},"511":{"position":[[106,4],[189,4],[583,4],[676,4],[846,4]]},"551":{"position":[[46,4]]},"584":{"position":[[849,4],[892,4],[950,4]]},"587":{"position":[[385,4]]},"675":{"position":[[904,4]]},"688":{"position":[[231,5],[275,6],[297,5]]},"690":{"position":[[3102,4],[3400,4]]},"693":{"position":[[5184,5],[8735,4]]},"717":{"position":[[347,4]]},"722":{"position":[[772,5]]},"724":{"position":[[179,4]]},"741":{"position":[[2319,4],[2714,5]]},"753":{"position":[[1237,5]]},"784":{"position":[[1972,5],[2375,5]]},"785":{"position":[[99,4],[273,4]]},"787":{"position":[[662,5],[781,5],[887,5],[974,5]]},"795":{"position":[[120,4],[232,5],[280,4],[458,4],[595,4]]},"796":{"position":[[326,5],[367,5],[461,5],[509,4],[688,4],[825,4],[1110,4]]},"834":{"position":[[56,4],[533,4],[637,4]]},"840":{"position":[[1850,4]]},"841":{"position":[[157,4]]},"861":{"position":[[129,5],[224,5],[312,4],[382,5],[809,5]]},"866":{"position":[[222,4]]},"872":{"position":[[343,5],[366,4],[848,5]]},"951":{"position":[[142,4],[200,4],[524,4]]},"1018":{"position":[[86,5],[259,6]]},"1025":{"position":[[269,4],[302,4],[487,4],[536,4],[597,4]]},"1026":{"position":[[959,6]]},"1032":{"position":[[140,5],[158,5],[209,5]]},"1050":{"position":[[1284,5],[1343,5],[1520,4],[2277,4],[2440,4]]},"1058":{"position":[[1006,4]]},"1070":{"position":[[240,6]]},"1071":{"position":[[445,4]]},"1073":{"position":[[91,5]]},"1078":{"position":[[98,4]]},"1093":{"position":[[280,4],[299,4]]},"1097":{"position":[[186,4]]},"1105":{"position":[[2456,7]]},"1112":{"position":[[217,4],[256,5],[1694,4],[4864,4]]},"1124":{"position":[[246,4]]},"1136":{"position":[[2832,5],[5942,5]]},"1138":{"position":[[169,4],[277,4],[354,4],[474,4],[551,5],[652,6],[1276,4],[1359,4],[2113,7],[2147,4],[6494,5],[9604,5]]},"1140":{"position":[[1602,7],[1636,4],[5420,5],[8530,5]]},"1142":{"position":[[166,5],[864,5],[3974,5]]},"1146":{"position":[[804,5],[3914,5]]},"1148":{"position":[[3844,5],[6954,5]]},"1150":{"position":[[86,4]]},"1155":{"position":[[900,5],[4010,5]]},"1156":{"position":[[478,5],[3588,5]]},"1161":{"position":[[63,6],[81,6],[92,4],[326,8],[411,5]]},"1163":{"position":[[548,5]]},"1165":{"position":[[377,5]]},"1167":{"position":[[2606,7],[2640,4],[6424,5],[9534,5]]},"1169":{"position":[[263,5],[2642,5]]},"1171":{"position":[[237,4],[253,4],[612,4],[635,4]]},"1172":{"position":[[872,6],[890,6],[899,4]]},"1173":{"position":[[172,6],[190,6],[199,4]]},"1174":{"position":[[11,4],[61,4],[76,6],[94,6],[103,4]]},"1175":{"position":[[96,6],[114,6],[123,4]]},"1176":{"position":[[180,6],[198,6],[207,4]]},"1177":{"position":[[92,6],[110,6],[119,4]]},"1178":{"position":[[101,5],[246,6],[264,6],[273,4]]},"1179":{"position":[[112,6],[130,6],[139,4]]},"1180":{"position":[[18,4],[115,5],[352,5],[427,4],[442,6],[460,6],[469,4]]},"1181":{"position":[[136,6],[173,6],[182,4]]},"1182":{"position":[[134,6],[152,6],[161,4]]},"1183":{"position":[[89,6],[107,6],[116,4]]},"1186":{"position":[[332,4],[2068,5],[5178,5]]},"1187":{"position":[[345,4],[2081,5],[5191,5]]},"1188":{"position":[[1655,7],[1689,4],[5071,4],[6807,5],[9917,5]]},"1190":{"position":[[1261,4],[1391,4],[1449,4]]},"1191":{"position":[[271,5],[668,5],[3778,5]]},"1192":{"position":[[843,5],[3953,5]]},"1193":{"position":[[895,5],[4005,5]]},"1194":{"position":[[535,5],[3645,5]]},"1195":{"position":[[198,5],[513,5],[3623,5]]},"1196":{"position":[[323,5],[3433,5]]},"1197":{"position":[[1306,5],[4416,5]]},"1198":{"position":[[1316,5],[4426,5]]},"1199":{"position":[[1344,5],[4454,5]]},"1200":{"position":[[1211,5],[4321,5]]},"1201":{"position":[[471,5],[3581,5]]},"1202":{"position":[[1370,4],[1613,5],[4723,5],[6010,5],[9120,5]]},"1203":{"position":[[705,5],[3815,5]]},"1204":{"position":[[549,5],[3659,5]]},"1205":{"position":[[148,4],[360,4],[1878,5],[4988,5]]},"1206":{"position":[[20,4],[78,4],[349,5],[3459,5],[3670,4]]},"1207":{"position":[[506,5],[3616,5]]},"1209":{"position":[[1854,5],[4964,5]]},"1217":{"position":[[1347,7],[1381,4],[5165,5],[8275,5]]},"1219":{"position":[[1151,5],[3530,5]]},"1222":{"position":[[275,5],[3385,5]]},"1223":{"position":[[285,5],[3395,5]]},"1224":{"position":[[465,5],[2844,5]]},"1226":{"position":[[803,5],[905,5],[1020,5],[3348,4],[3456,4],[3533,4],[3653,4],[3730,5],[3831,6],[5633,5],[8743,5]]},"1228":{"position":[[1116,6],[1272,7],[2026,4],[2554,4],[3428,7],[3462,4],[7246,5],[10356,5]]},"1235":{"position":[[3114,5],[6224,5]]},"1237":{"position":[[973,5],[1075,5],[1190,5],[3518,4],[3626,4],[3703,4],[3823,4],[3900,5],[4001,6],[5803,5],[8913,5]]},"1240":{"position":[[207,4],[317,4],[397,4],[474,4]]},"1259":{"position":[[82,6]]},"1260":{"position":[[24,6],[96,5],[601,5]]},"1269":{"position":[[126,4]]},"1290":{"position":[[82,6]]},"1291":{"position":[[24,6],[96,5],[601,5]]},"1300":{"position":[[126,4]]},"1318":{"position":[[82,6]]},"1319":{"position":[[24,6],[96,5],[601,5]]},"1328":{"position":[[126,4]]},"1345":{"position":[[305,4],[417,4],[566,4],[691,4]]},"1351":{"position":[[2508,4]]},"1356":{"position":[[1836,4]]},"1358":{"position":[[2005,4],[2197,4]]},"1360":{"position":[[2518,4],[2662,4],[3517,5],[3546,4],[4869,5],[4941,6],[4998,5],[5086,4],[5388,4]]},"1362":{"position":[[8157,4],[8233,4],[8354,4],[10949,4],[13658,5]]},"1363":{"position":[[4886,4],[5419,4]]},"1364":{"position":[[9006,4],[9082,4],[9201,4],[9268,4],[9468,4],[11916,4],[14358,5]]},"1366":{"position":[[2285,5],[2937,5]]},"1367":{"position":[[8245,4],[8321,4],[8442,4],[9802,4]]},"1373":{"position":[[5465,4],[5812,4],[7728,4],[7883,4],[8039,4]]},"1380":{"position":[[496,5],[1781,4]]},"1382":{"position":[[5360,4],[5427,4],[7818,4],[10504,4],[10659,4],[10815,4]]},"1383":{"position":[[4642,5],[4686,6],[4718,5],[4739,5],[4829,5],[4977,5],[5094,5],[5611,4],[6172,5],[6200,4],[6977,5],[7049,6],[7106,5],[7194,4],[7391,4]]},"1384":{"position":[[10307,4],[10374,4],[13882,4],[17578,4],[17733,4],[17889,4]]},"1385":{"position":[[3274,4],[3341,4]]},"1386":{"position":[[1669,4],[2765,5],[2938,5],[3012,5],[4004,5],[5694,6],[5777,5],[5848,6]]},"1387":{"position":[[5607,4],[5674,4],[7143,4]]},"1388":{"position":[[8997,4],[9152,4],[9308,4]]},"1393":{"position":[[3377,5],[3589,4]]},"1397":{"position":[[2194,5],[2464,4],[2842,4]]},"1399":{"position":[[1968,4],[2326,5]]},"1401":{"position":[[1541,4]]},"1402":{"position":[[1591,4],[1651,4],[1782,4],[2045,4]]},"1403":{"position":[[2932,5],[2961,4],[4857,5],[4929,6],[4986,5],[5243,4],[5423,5],[6491,4]]},"1407":{"position":[[4164,6]]},"1408":{"position":[[2176,4]]},"1410":{"position":[[4341,4]]},"1421":{"position":[[2235,5]]},"1422":{"position":[[1867,5],[2637,4]]},"1438":{"position":[[1560,4],[2006,4],[2058,4]]},"1439":{"position":[[4476,5],[4525,6],[4867,5],[4977,6],[5103,4],[5407,4]]},"1454":{"position":[[7211,4],[7278,4],[8154,4],[8466,4],[8786,4],[9048,4],[9122,4],[9200,4]]},"1455":{"position":[[3016,5],[3187,5],[3416,5],[3668,5],[3914,5],[4063,5],[4321,5]]},"1456":{"position":[[1466,4]]},"1457":{"position":[[1611,4],[1763,4]]},"1458":{"position":[[2058,4],[2320,4]]},"1461":{"position":[[1876,4]]},"1471":{"position":[[4031,4],[4300,4]]},"1472":{"position":[[4615,4],[4884,4]]},"1473":{"position":[[4352,4],[4621,4]]},"1476":{"position":[[473,5]]},"1477":{"position":[[1802,4]]},"1478":{"position":[[2508,4]]},"1485":{"position":[[1642,4],[1709,4],[3369,4],[3524,4],[3680,4]]},"1487":{"position":[[3735,4]]}},"keywords":{}}],["path>>",{"_index":3829,"title":{},"content":{"834":{"position":[[196,12]]}},"keywords":{}}],["path"",{"_index":3484,"title":{},"content":{"690":{"position":[[1451,10]]}},"keywords":{}}],["path'",{"_index":1030,"title":{},"content":{"84":{"position":[[159,6]]},"216":{"position":[[159,6]]}},"keywords":{}}],["path//to/my_script/script.bxl:my_script",{"_index":4000,"title":{},"content":{"865":{"position":[[444,39]]}},"keywords":{}}],["path/to/a.fil",{"_index":6233,"title":{},"content":{"1258":{"position":[[624,14],[836,14]]},"1289":{"position":[[624,14],[836,14]]},"1317":{"position":[[624,14],[836,14]]}},"keywords":{}}],["path/to/dir",{"_index":5823,"title":{},"content":{"1129":{"position":[[88,17]]}},"keywords":{}}],["path/to/packag",{"_index":3597,"title":{},"content":{"693":{"position":[[8809,15]]}},"keywords":{}}],["path/to/target.jar",{"_index":3444,"title":{},"content":{"688":{"position":[[849,18]]}},"keywords":{}}],["path/to:target",{"_index":3441,"title":{},"content":{"688":{"position":[[424,17],[666,17],[1253,17]]},"1374":{"position":[[2881,17]]},"1486":{"position":[[3084,17]]}},"keywords":{}}],["path/to:target)expand",{"_index":7182,"title":{},"content":{"1383":{"position":[[5229,24],[5579,24]]},"1388":{"position":[[4853,24],[6263,24]]},"1467":{"position":[[6616,24]]}},"keywords":{}}],["path=$home/.cargo/bin:$path",{"_index":470,"title":{},"content":{"15":{"position":[[686,27]]}},"keywords":{}}],["patha",{"_index":1277,"title":{},"content":{"99":{"position":[[916,5]]},"231":{"position":[[916,5]]}},"keywords":{}}],["paths.run_from_project_root",{"_index":5487,"title":{},"content":{"1070":{"position":[[278,27]]}},"keywords":{}}],["paths_and_cont",{"_index":6051,"title":{},"content":{"1226":{"position":[[636,20],[921,19],[971,19]]},"1237":{"position":[[806,20],[1091,19],[1141,19]]}},"keywords":{}}],["paths_onli",{"_index":6052,"title":{},"content":{"1226":{"position":[[777,13],[959,11],[1157,13]]},"1237":{"position":[[947,13],[1129,11],[1327,13]]}},"keywords":{}}],["pattern",{"_index":1613,"title":{"698":{"position":[[7,7]]},"699":{"position":[[13,8]]}},"content":{"294":{"position":[[987,9]]},"297":{"position":[[817,9]]},"301":{"position":[[758,9]]},"309":{"position":[[560,9],[955,7]]},"310":{"position":[[408,9]]},"311":{"position":[[326,9]]},"408":{"position":[[1187,7]]},"418":{"position":[[163,9],[413,8]]},"676":{"position":[[247,7],[335,7],[428,7]]},"683":{"position":[[235,8]]},"693":{"position":[[8976,8],[9202,8]]},"699":{"position":[[13,8]]},"787":{"position":[[1187,7]]},"797":{"position":[[163,9],[413,8]]},"844":{"position":[[237,7]]},"898":{"position":[[1453,8]]},"907":{"position":[[424,7]]},"919":{"position":[[217,9],[321,7]]},"921":{"position":[[61,8]]},"942":{"position":[[525,8],[787,8],[1248,8]]},"944":{"position":[[469,8]]},"964":{"position":[[469,7]]},"1021":{"position":[[51,7],[137,7]]},"1057":{"position":[[1331,9]]},"1064":{"position":[[1824,8],[1935,9],[1981,8]]},"1104":{"position":[[2167,7],[2624,7]]},"1129":{"position":[[23,7],[157,7],[211,8],[241,7]]},"1133":{"position":[[382,8]]},"1138":{"position":[[118,8],[5351,8]]},"1140":{"position":[[4840,8]]},"1146":{"position":[[15,8],[139,8],[246,7]]},"1155":{"position":[[151,8]]},"1167":{"position":[[5844,8]]},"1188":{"position":[[4893,8]]},"1190":{"position":[[644,7]]},"1192":{"position":[[347,8]]},"1197":{"position":[[38,7],[158,8]]},"1198":{"position":[[134,8]]},"1199":{"position":[[149,8],[219,8]]},"1200":{"position":[[179,8]]},"1217":{"position":[[4585,8]]},"1226":{"position":[[113,8],[4054,8]]},"1228":{"position":[[161,8],[656,8],[708,8],[6666,8]]},"1237":{"position":[[283,8],[4224,8]]},"1255":{"position":[[17,7]]},"1258":{"position":[[255,7]]},"1271":{"position":[[173,7]]},"1289":{"position":[[255,7]]},"1302":{"position":[[173,7]]},"1317":{"position":[[255,7]]},"1330":{"position":[[173,7]]},"1348":{"position":[[3281,8],[3371,8]]},"1349":{"position":[[1426,8],[1516,8]]},"1350":{"position":[[4397,8],[4487,8]]},"1351":{"position":[[1621,8],[1712,8]]},"1352":{"position":[[4396,8],[4486,8]]},"1353":{"position":[[2000,8],[2090,8]]},"1354":{"position":[[1838,8],[1928,8]]},"1355":{"position":[[2981,8],[3072,8]]},"1356":{"position":[[1344,8],[1434,8]]},"1357":{"position":[[1017,8],[1107,8]]},"1358":{"position":[[1738,8],[1828,8]]},"1359":{"position":[[1575,8],[1665,8]]},"1360":{"position":[[2210,8],[2301,8]]},"1361":{"position":[[1565,8],[1655,8]]},"1362":{"position":[[5933,8],[6024,8]]},"1363":{"position":[[3679,8],[3770,8]]},"1364":{"position":[[5962,8],[6053,8]]},"1365":{"position":[[1499,8],[1589,8]]},"1366":{"position":[[1709,8],[1800,8]]},"1367":{"position":[[7360,8],[7451,8]]},"1368":{"position":[[2055,8],[2145,8]]},"1369":{"position":[[1107,8],[1197,8]]},"1370":{"position":[[1358,8],[1449,8]]},"1371":{"position":[[983,8],[1073,8]]},"1372":{"position":[[2621,8],[2711,8]]},"1373":{"position":[[3493,8],[3583,8]]},"1374":{"position":[[1393,8],[1484,8]]},"1375":{"position":[[1019,8],[1109,8]]},"1376":{"position":[[975,8],[1065,8]]},"1377":{"position":[[1214,8],[1304,8]]},"1378":{"position":[[961,8],[1051,8]]},"1379":{"position":[[984,8],[1074,8]]},"1380":{"position":[[1455,8],[1545,8]]},"1381":{"position":[[1361,8],[1451,8]]},"1382":{"position":[[3845,8],[3936,8],[4741,7]]},"1383":{"position":[[2083,8],[2174,8],[3527,7],[3871,7],[4159,7]]},"1384":{"position":[[5007,8],[5098,8],[20320,7]]},"1385":{"position":[[2680,8],[2770,8]]},"1386":{"position":[[1318,8],[1408,8]]},"1387":{"position":[[4949,8],[5039,8]]},"1388":{"position":[[4145,8],[4236,8],[5435,7]]},"1389":{"position":[[5002,8],[5092,8]]},"1390":{"position":[[1254,8],[1344,8]]},"1391":{"position":[[1207,8],[1297,8]]},"1392":{"position":[[1357,8],[1447,8]]},"1393":{"position":[[1933,8],[2024,8]]},"1394":{"position":[[1377,8],[1467,8]]},"1395":{"position":[[1390,8],[1481,8]]},"1396":{"position":[[1183,8],[1273,8]]},"1397":{"position":[[1364,8],[1454,8]]},"1398":{"position":[[2040,8],[2131,8],[6802,7]]},"1399":{"position":[[1219,8],[1309,8]]},"1400":{"position":[[1088,8],[1178,8]]},"1401":{"position":[[1163,8],[1253,8]]},"1402":{"position":[[1319,8],[1409,8]]},"1403":{"position":[[1913,8],[2004,8]]},"1404":{"position":[[1152,8],[1242,8]]},"1405":{"position":[[1843,8],[1933,8]]},"1406":{"position":[[1059,8],[1149,8]]},"1407":{"position":[[1884,8],[1974,8]]},"1408":{"position":[[1580,8],[1670,8]]},"1409":{"position":[[1114,8],[1204,8]]},"1410":{"position":[[2280,8],[2371,8]]},"1411":{"position":[[1097,8],[1187,8]]},"1412":{"position":[[2301,8],[2392,8]]},"1413":{"position":[[2481,8],[2571,8]]},"1414":{"position":[[1348,8],[1438,8]]},"1415":{"position":[[3330,8],[3420,8]]},"1416":{"position":[[1982,8],[2072,8]]},"1417":{"position":[[1571,8],[1661,8]]},"1418":{"position":[[1272,8],[1362,8]]},"1419":{"position":[[1400,8],[1490,8]]},"1420":{"position":[[1664,8],[1754,8]]},"1421":{"position":[[1639,8],[1729,8]]},"1422":{"position":[[1546,8],[1637,8],[1848,9],[1927,8]]},"1423":{"position":[[1531,8],[1621,8]]},"1424":{"position":[[1656,8],[1746,8]]},"1425":{"position":[[1272,8],[1362,8]]},"1426":{"position":[[1619,8],[1710,8],[1906,8],[2171,7]]},"1427":{"position":[[2516,8],[2607,8],[4657,8],[4717,7]]},"1428":{"position":[[1254,8],[1344,8]]},"1429":{"position":[[3180,8],[3271,8]]},"1430":{"position":[[2030,8],[2120,8]]},"1431":{"position":[[1374,8],[1464,8]]},"1432":{"position":[[1895,8],[1985,8]]},"1433":{"position":[[1416,8],[1506,8]]},"1434":{"position":[[1090,8],[1180,8]]},"1435":{"position":[[1054,8],[1144,8]]},"1436":{"position":[[1070,8],[1160,8]]},"1437":{"position":[[1140,8],[1230,8]]},"1438":{"position":[[1278,8],[1369,8]]},"1439":{"position":[[2802,8],[2893,8],[7156,8],[7216,7]]},"1440":{"position":[[3368,8],[3459,8]]},"1441":{"position":[[1096,8],[1186,8]]},"1442":{"position":[[1173,8],[1264,8],[1731,7]]},"1443":{"position":[[1391,8],[1481,8]]},"1444":{"position":[[1307,8],[1397,8]]},"1445":{"position":[[996,8],[1086,8]]},"1446":{"position":[[1330,8],[1420,8]]},"1447":{"position":[[1212,8],[1302,8]]},"1448":{"position":[[1647,8],[1737,8]]},"1449":{"position":[[1581,8],[1671,8]]},"1450":{"position":[[1460,8],[1550,8]]},"1451":{"position":[[1460,8],[1550,8]]},"1452":{"position":[[1006,8],[1096,8]]},"1453":{"position":[[1592,8],[1682,8]]},"1454":{"position":[[3958,8],[4048,8]]},"1455":{"position":[[1845,8],[1935,8]]},"1456":{"position":[[1190,8],[1280,8]]},"1457":{"position":[[1249,8],[1339,8]]},"1458":{"position":[[1784,8],[1874,8]]},"1459":{"position":[[1263,8],[1353,8]]},"1460":{"position":[[1375,8],[1465,8]]},"1461":{"position":[[1594,8],[1685,8]]},"1462":{"position":[[4971,8],[5061,8],[9169,7]]},"1463":{"position":[[1097,8],[1187,8]]},"1464":{"position":[[1005,8],[1095,8]]},"1465":{"position":[[2103,8],[2193,8]]},"1466":{"position":[[1341,8],[1431,8]]},"1467":{"position":[[5664,8],[5755,8]]},"1468":{"position":[[1105,8],[1195,8]]},"1469":{"position":[[1482,8],[1573,8]]},"1470":{"position":[[4007,8],[4097,8]]},"1471":{"position":[[2345,8],[2436,8]]},"1472":{"position":[[2304,8],[2395,8]]},"1473":{"position":[[2619,8],[2710,8]]},"1474":{"position":[[2006,8],[2096,8]]},"1475":{"position":[[2477,8],[2567,8]]},"1476":{"position":[[1082,8],[1172,8]]},"1477":{"position":[[1238,8],[1329,8]]},"1478":{"position":[[1729,8],[1820,8]]},"1479":{"position":[[1174,8],[1264,8]]},"1480":{"position":[[1587,8],[1677,8]]},"1481":{"position":[[2120,8],[2210,8]]},"1482":{"position":[[1194,8],[1284,8]]},"1483":{"position":[[1028,8],[1118,8]]},"1484":{"position":[[1100,8],[1190,8]]},"1485":{"position":[[1360,8],[1450,8]]},"1486":{"position":[[1604,8],[1694,8]]},"1487":{"position":[[1303,8],[1394,8]]}},"keywords":{}}],["pattern(",{"_index":6020,"title":{},"content":{"1201":{"position":[[210,10]]}},"keywords":{}}],["paus",{"_index":697,"title":{},"content":{"23":{"position":[[286,7]]}},"keywords":{}}],["pay",{"_index":6201,"title":{},"content":{"1250":{"position":[[185,3]]},"1486":{"position":[[792,6]]}},"keywords":{}}],["pch",{"_index":7258,"title":{},"content":{"1386":{"position":[[2305,5],[2316,3],[2579,4],[2713,3],[2794,3],[2858,3],[4357,3],[4549,3],[4711,4],[5206,4],[5334,4],[5431,3],[5600,3],[5623,3],[5799,3],[5975,4],[6021,3],[6070,3]]}},"keywords":{}}],["pch'",{"_index":7259,"title":{},"content":{"1386":{"position":[[2388,5],[2918,5]]}},"keywords":{}}],["peak",{"_index":2379,"title":{"1246":{"position":[[26,4]]},"1248":{"position":[[29,4]]}},"content":{"444":{"position":[[78,4]]},"823":{"position":[[78,4]]},"1247":{"position":[[0,4]]},"1248":{"position":[[20,4]]}},"keywords":{}}],["peek_private_includ",{"_index":7450,"title":{},"content":{"1393":{"position":[[814,22],[6595,22]]}},"keywords":{}}],["pem",{"_index":6308,"title":{},"content":{"1345":{"position":[[352,3],[673,3]]}},"keywords":{}}],["peopl",{"_index":12,"title":{"3":{"position":[[4,6]]},"4":{"position":[[4,6]]}},"content":{"9":{"position":[[345,6]]},"11":{"position":[[10,6],[695,6]]},"693":{"position":[[9392,6]]},"834":{"position":[[499,6]]},"933":{"position":[[196,7]]},"997":{"position":[[5,6],[258,6]]}},"keywords":{}}],["per",{"_index":67,"title":{"1005":{"position":[[0,3]]},"1006":{"position":[[0,3]]},"1007":{"position":[[0,3]]}},"content":{"4":{"position":[[524,3]]},"72":{"position":[[131,3]]},"136":{"position":[[93,3]]},"259":{"position":[[93,3]]},"300":{"position":[[142,3]]},"495":{"position":[[131,3]]},"555":{"position":[[152,3]]},"840":{"position":[[122,3],[149,3]]},"904":{"position":[[100,3]]},"916":{"position":[[103,3],[267,3],[381,3],[395,3]]},"947":{"position":[[529,3]]},"954":{"position":[[455,3],[831,3]]},"961":{"position":[[378,3]]},"969":{"position":[[44,3]]},"997":{"position":[[30,3]]},"998":{"position":[[85,3],[340,3]]},"1001":{"position":[[397,3],[1270,3],[1501,3]]},"1004":{"position":[[685,3]]},"1007":{"position":[[52,3]]},"1009":{"position":[[199,4],[223,4]]},"1032":{"position":[[126,3]]},"1057":{"position":[[954,3]]},"1058":{"position":[[887,3]]},"1064":{"position":[[495,3]]},"1065":{"position":[[204,3]]},"1103":{"position":[[758,3]]},"1114":{"position":[[101,3]]},"1226":{"position":[[4249,3],[4273,3]]},"1237":{"position":[[4419,3],[4443,3]]},"1247":{"position":[[579,3]]},"1374":{"position":[[2252,3]]},"1384":{"position":[[21919,3]]},"1386":{"position":[[2334,3],[2470,3]]},"1398":{"position":[[5355,3]]},"1486":{"position":[[2186,3],[2422,3]]}},"keywords":{}}],["percentag",{"_index":8563,"title":{},"content":{"1486":{"position":[[2466,10]]}},"keywords":{}}],["perf",{"_index":4498,"title":{},"content":{"919":{"position":[[1217,4]]},"1060":{"position":[[83,4],[300,4]]},"1061":{"position":[[176,4]]}},"keywords":{}}],["perform",{"_index":194,"title":{"572":{"position":[[0,11]]},"874":{"position":[[0,7]]},"922":{"position":[[16,10]]},"1090":{"position":[[0,12]]},"1132":{"position":[[9,7]]}},"content":{"9":{"position":[[502,11],[520,11]]},"22":{"position":[[385,11]]},"23":{"position":[[2716,12]]},"81":{"position":[[385,9]]},"213":{"position":[[385,9]]},"276":{"position":[[457,11]]},"277":{"position":[[405,11]]},"281":{"position":[[546,11]]},"282":{"position":[[496,11]]},"303":{"position":[[63,10]]},"338":{"position":[[391,8]]},"685":{"position":[[242,7]]},"715":{"position":[[1228,8]]},"718":{"position":[[93,8]]},"724":{"position":[[1524,12]]},"834":{"position":[[413,8]]},"840":{"position":[[1311,7]]},"856":{"position":[[294,11]]},"882":{"position":[[61,10]]},"892":{"position":[[1184,10],[1411,10]]},"919":{"position":[[2591,11]]},"924":{"position":[[591,7]]},"937":{"position":[[2737,11]]},"954":{"position":[[182,8]]},"955":{"position":[[717,8],[771,8]]},"965":{"position":[[367,11]]},"1009":{"position":[[100,7]]},"1014":{"position":[[175,10],[524,9]]},"1026":{"position":[[770,9],[857,8]]},"1027":{"position":[[64,7]]},"1037":{"position":[[172,11],[257,11]]},"1050":{"position":[[225,11],[889,7],[1079,7]]},"1053":{"position":[[1509,9]]},"1056":{"position":[[590,9]]},"1057":{"position":[[121,10]]},"1079":{"position":[[297,11]]},"1087":{"position":[[429,11]]},"1090":{"position":[[4,11]]},"1103":{"position":[[1748,9]]},"1105":{"position":[[2205,7]]},"1136":{"position":[[0,7],[4728,11]]},"1138":{"position":[[2854,7],[8390,11]]},"1140":{"position":[[2343,7],[7316,11]]},"1142":{"position":[[132,8],[2760,11]]},"1146":{"position":[[2700,11]]},"1148":{"position":[[0,7],[5740,11]]},"1155":{"position":[[2796,11]]},"1156":{"position":[[2374,11]]},"1167":{"position":[[3347,7],[8320,11]]},"1169":{"position":[[2159,11]]},"1186":{"position":[[3964,11]]},"1187":{"position":[[3977,11]]},"1188":{"position":[[2396,7],[8703,11]]},"1190":{"position":[[0,7]]},"1191":{"position":[[2564,11]]},"1192":{"position":[[2739,11]]},"1193":{"position":[[2791,11]]},"1194":{"position":[[2431,11]]},"1195":{"position":[[2409,11]]},"1196":{"position":[[2219,11]]},"1197":{"position":[[3202,11]]},"1198":{"position":[[3212,11]]},"1199":{"position":[[3240,11]]},"1200":{"position":[[3107,11]]},"1201":{"position":[[2367,11]]},"1202":{"position":[[3509,11],[7906,11]]},"1203":{"position":[[2601,11]]},"1204":{"position":[[2445,11]]},"1205":{"position":[[3774,11]]},"1206":{"position":[[2245,11]]},"1207":{"position":[[2402,11]]},"1209":{"position":[[3750,11]]},"1217":{"position":[[2088,7],[7061,11]]},"1219":{"position":[[3047,11]]},"1222":{"position":[[2171,11]]},"1223":{"position":[[2181,11]]},"1224":{"position":[[2361,11]]},"1226":{"position":[[7529,11]]},"1228":{"position":[[4169,7],[9142,11]]},"1235":{"position":[[0,7],[364,9],[5010,11]]},"1237":{"position":[[7699,11]]},"1355":{"position":[[6122,11],[7135,11]]},"1362":{"position":[[9834,9]]},"1364":{"position":[[10948,9]]},"1367":{"position":[[10751,9]]},"1382":{"position":[[6560,9]]},"1384":{"position":[[12914,9]]},"1388":{"position":[[7429,9]]},"1427":{"position":[[3989,9],[5295,11],[6334,11]]},"1454":{"position":[[9080,10],[9154,10],[9232,10]]},"1462":{"position":[[8718,7],[8812,7]]},"1465":{"position":[[4009,7],[4166,7]]},"1467":{"position":[[8614,7],[10201,7],[10583,7]]},"1486":{"position":[[4490,7]]},"1487":{"position":[[1782,9]]}},"keywords":{}}],["performant.out",{"_index":7645,"title":{},"content":{"1399":{"position":[[1839,15]]}},"keywords":{}}],["perhap",{"_index":325,"title":{},"content":{"10":{"position":[[449,7],[1015,7]]},"688":{"position":[[896,8]]},"845":{"position":[[275,7]]},"1058":{"position":[[979,7]]},"1455":{"position":[[1214,7]]}},"keywords":{}}],["period",{"_index":4830,"title":{},"content":{"972":{"position":[[204,6]]},"1075":{"position":[[645,12]]},"1079":{"position":[[1187,7]]}},"keywords":{}}],["permanent.include_ert",{"_index":7571,"title":{},"content":{"1397":{"position":[[1837,23]]}},"keywords":{}}],["permiss",{"_index":1111,"title":{},"content":{"91":{"position":[[492,12]]},"223":{"position":[[492,12]]},"407":{"position":[[122,11]]},"786":{"position":[[122,11]]},"1040":{"position":[[792,10]]},"1355":{"position":[[4915,11]]},"1359":{"position":[[1970,11]]},"1362":{"position":[[6411,10]]},"1364":{"position":[[6440,10]]},"1367":{"position":[[7838,10]]},"1373":{"position":[[3967,10]]},"1382":{"position":[[4323,10]]},"1384":{"position":[[5485,10]]},"1388":{"position":[[4623,10]]},"1389":{"position":[[5482,10],[5729,10]]},"1454":{"position":[[4432,10]]},"1462":{"position":[[5445,10]]},"1469":{"position":[[2034,11]]},"1470":{"position":[[4513,11]]},"1471":{"position":[[2991,10]]}},"keywords":{}}],["permissionsallow_arg",{"_index":1252,"title":{},"content":{"98":{"position":[[611,21]]},"230":{"position":[[611,21]]}},"keywords":{}}],["permissionsis_tre",{"_index":1063,"title":{},"content":{"85":{"position":[[608,19]]},"217":{"position":[[608,19]]}},"keywords":{}}],["permit",{"_index":3210,"title":{},"content":{"648":{"position":[[783,10]]},"890":{"position":[[5932,6]]},"1044":{"position":[[2404,10]]}},"keywords":{}}],["permut",{"_index":4596,"title":{},"content":{"937":{"position":[[1930,12]]}},"keywords":{}}],["persist",{"_index":1914,"title":{},"content":{"362":{"position":[[2399,10]]},"741":{"position":[[2399,10]]},"1486":{"position":[[648,11],[2739,8]]}},"keywords":{}}],["person",{"_index":2660,"title":{},"content":{"580":{"position":[[401,8],[428,8]]}},"keywords":{}}],["perspect",{"_index":3592,"title":{},"content":{"693":{"position":[[8461,11]]},"1231":{"position":[[595,12]]}},"keywords":{}}],["pertin",{"_index":5485,"title":{"1070":{"position":[[7,9]]}},"content":{},"keywords":{}}],["pex",{"_index":8335,"title":{},"content":{"1462":{"position":[[8425,3]]},"1467":{"position":[[9907,3]]}},"keywords":{}}],["phase",{"_index":751,"title":{"718":{"position":[[0,5]]},"720":{"position":[[0,5]]},"722":{"position":[[0,5]]},"724":{"position":[[0,5]]},"726":{"position":[[0,5]]}},"content":{"23":{"position":[[2391,6],[2439,7],[2603,6]]},"715":{"position":[[1725,6],[1955,6],[2045,7]]},"716":{"position":[[69,6],[101,6]]},"722":{"position":[[16,6]]},"1017":{"position":[[917,6]]},"1362":{"position":[[8024,5]]},"1364":{"position":[[8873,5]]},"1367":{"position":[[8112,5]]},"1384":{"position":[[10252,5]]}},"keywords":{}}],["pic",{"_index":4326,"title":{},"content":{"896":{"position":[[946,6]]},"1382":{"position":[[3249,5]]},"1383":{"position":[[3393,6],[3410,3],[3512,6]]},"1384":{"position":[[20568,3],[20657,3],[20676,4]]},"1454":{"position":[[8573,3],[9250,3]]},"1455":{"position":[[4294,3]]}},"keywords":{}}],["pic)flag",{"_index":7176,"title":{},"content":{"1383":{"position":[[3314,9]]}},"keywords":{}}],["pic_behavior",{"_index":7383,"title":{},"content":{"1389":{"position":[[3029,13]]}},"keywords":{}}],["pic_profiled_static_lib",{"_index":7873,"title":{},"content":{"1421":{"position":[[733,25]]}},"keywords":{}}],["pic_static_lib",{"_index":7874,"title":{},"content":{"1421":{"position":[[774,16]]}},"keywords":{}}],["pic_type_for_shared_link",{"_index":7384,"title":{},"content":{"1389":{"position":[[3052,28]]}},"keywords":{}}],["pick",{"_index":574,"title":{},"content":{"18":{"position":[[1000,4]]},"638":{"position":[[57,6]]},"902":{"position":[[35,6]]},"977":{"position":[[195,4],[261,5]]},"1103":{"position":[[1599,5]]}},"keywords":{}}],["pid",{"_index":2036,"title":{},"content":{"377":{"position":[[973,3]]},"756":{"position":[[973,3]]},"1052":{"position":[[835,3],[879,3]]},"1060":{"position":[[267,3],[313,4]]},"1231":{"position":[[221,5],[333,5]]}},"keywords":{}}],["piec",{"_index":3965,"title":{},"content":{"860":{"position":[[128,6]]}},"keywords":{}}],["pile",{"_index":4765,"title":{},"content":{"958":{"position":[[10,4]]}},"keywords":{}}],["pip",{"_index":8268,"title":{},"content":{"1461":{"position":[[3135,4]]}},"keywords":{}}],["pipe",{"_index":1136,"title":{},"content":{"92":{"position":[[1262,5]]},"224":{"position":[[1262,5]]},"1040":{"position":[[1688,5]]},"1120":{"position":[[221,6]]}},"keywords":{}}],["pipelin",{"_index":291,"title":{},"content":{"9":{"position":[[2514,10]]},"1415":{"position":[[2670,11],[3900,8],[3952,8],[5502,8]]}},"keywords":{}}],["pipeline.support",{"_index":305,"title":{},"content":{"9":{"position":[[2793,16]]}},"keywords":{}}],["pipeline.supported_platforms_regex",{"_index":7833,"title":{},"content":{"1415":{"position":[[5217,35]]}},"keywords":{}}],["pitfal",{"_index":5520,"title":{"1075":{"position":[[0,9]]}},"content":{},"keywords":{}}],["place",{"_index":612,"title":{},"content":{"20":{"position":[[168,6]]},"107":{"position":[[127,6]]},"112":{"position":[[122,6]]},"519":{"position":[[127,6]]},"524":{"position":[[122,6]]},"570":{"position":[[146,6]]},"724":{"position":[[1653,7]]},"839":{"position":[[39,5]]},"888":{"position":[[1037,6]]},"900":{"position":[[1810,6]]},"951":{"position":[[433,6]]},"981":{"position":[[300,5]]},"1108":{"position":[[307,6]]},"1150":{"position":[[72,6]]},"1355":{"position":[[6535,6]]},"1361":{"position":[[934,6]]},"1363":{"position":[[4926,6],[5459,6]]},"1366":{"position":[[2307,6],[2360,6],[2984,6],[3052,6]]},"1367":{"position":[[9842,6]]},"1380":{"position":[[824,6]]},"1384":{"position":[[9666,6],[9906,6],[19627,6],[19728,6]]},"1393":{"position":[[6982,6],[7198,5]]},"1397":{"position":[[2535,6]]},"1398":{"position":[[3871,6],[4141,5],[5517,6]]},"1399":{"position":[[1696,6]]},"1427":{"position":[[5734,6]]},"1439":{"position":[[7643,6]]},"1446":{"position":[[2112,6],[2135,7]]},"1459":{"position":[[1715,6],[2085,6],[2108,7]]}},"keywords":{}}],["placehold",{"_index":2062,"title":{},"content":{"389":{"position":[[306,13],[910,12],[965,12],[1039,12],[1096,12]]},"768":{"position":[[306,13],[910,12],[965,12],[1039,12],[1096,12]]}},"keywords":{}}],["placeholder"",{"_index":2081,"title":{},"content":{"389":{"position":[[1451,17],[1609,17]]},"768":{"position":[[1451,17],[1609,17]]}},"keywords":{}}],["placeholder_tool",{"_index":6999,"title":{},"content":{"1368":{"position":[[1034,17]]},"1389":{"position":[[3090,17]]},"1481":{"position":[[784,17]]}},"keywords":{}}],["placeholders"",{"_index":2064,"title":{},"content":{"389":{"position":[[334,18],[392,18],[569,18],[1173,18]]},"768":{"position":[[334,18],[392,18],[569,18],[1173,18]]}},"keywords":{}}],["plan",{"_index":735,"title":{"973":{"position":[[9,5]]}},"content":{"23":{"position":[[1840,4]]},"98":{"position":[[1099,4]]},"99":{"position":[[1507,4]]},"134":{"position":[[281,4]]},"230":{"position":[[1099,4]]},"231":{"position":[[1507,4]]},"257":{"position":[[281,4]]},"832":{"position":[[897,4]]},"1007":{"position":[[187,5]]}},"keywords":{}}],["platform",{"_index":1215,"title":{"945":{"position":[[14,9]]},"1014":{"position":[[7,8]]},"1017":{"position":[[19,10]]},"1019":{"position":[[7,8]]},"1022":{"position":[[10,10]]},"1026":{"position":[[10,8]]},"1200":{"position":[[21,8]]},"1346":{"position":[[3,8]]},"1452":{"position":[[0,9]]}},"content":{"94":{"position":[[2986,8],[3138,8]]},"134":{"position":[[251,9]]},"148":{"position":[[282,8],[341,8]]},"209":{"position":[[111,8],[165,8]]},"210":{"position":[[139,8]]},"211":{"position":[[126,8]]},"226":{"position":[[2986,8],[3138,8]]},"243":{"position":[[506,9],[554,9]]},"257":{"position":[[251,9]]},"271":{"position":[[282,8],[341,8]]},"294":{"position":[[567,8],[784,9]]},"295":{"position":[[236,8]]},"297":{"position":[[545,8]]},"298":{"position":[[720,8],[892,9],[1746,8],[1840,9],[3053,8]]},"301":{"position":[[481,8]]},"302":{"position":[[236,8]]},"338":{"position":[[415,8]]},"362":{"position":[[1103,9],[2884,8]]},"363":{"position":[[246,12]]},"372":{"position":[[217,9],[426,8]]},"373":{"position":[[42,10],[187,9],[273,10]]},"374":{"position":[[1503,9]]},"575":{"position":[[295,8]]},"584":{"position":[[1430,9],[1494,8]]},"679":{"position":[[544,10]]},"688":{"position":[[1138,9],[1218,8]]},"693":{"position":[[3073,9],[4451,9],[5448,9],[6651,9],[9218,9],[9243,8],[9370,8]]},"711":{"position":[[1415,8]]},"720":{"position":[[254,8]]},"741":{"position":[[1103,9],[2884,8]]},"742":{"position":[[246,12]]},"751":{"position":[[217,9],[426,8]]},"752":{"position":[[42,10],[187,9],[273,10]]},"753":{"position":[[1503,9]]},"846":{"position":[[1319,9]]},"851":{"position":[[395,8],[918,8],[1047,9]]},"877":{"position":[[356,8],[563,8]]},"878":{"position":[[1110,8]]},"927":{"position":[[103,8]]},"931":{"position":[[35,10],[92,10]]},"937":{"position":[[442,9],[515,9],[591,9],[1210,10],[1706,10],[1724,8],[1887,10],[1964,8],[2029,8],[2128,9],[2198,8],[2257,8],[2305,8],[3251,10],[3552,8],[3661,8],[3854,8],[4801,9]]},"944":{"position":[[836,9]]},"945":{"position":[[7,8],[26,9],[239,9],[333,8],[477,9],[578,8],[708,8],[878,8]]},"980":{"position":[[225,8],[347,8],[396,8],[430,8],[776,10]]},"987":{"position":[[784,10]]},"991":{"position":[[2449,8],[2645,8]]},"993":{"position":[[189,8]]},"994":{"position":[[403,9]]},"995":{"position":[[442,8],[739,8],[1074,8],[1468,8]]},"1004":{"position":[[762,8],[1226,9]]},"1011":{"position":[[235,8]]},"1012":{"position":[[421,10]]},"1014":{"position":[[194,8],[261,8],[395,9],[506,9],[576,9],[723,8]]},"1015":{"position":[[61,8],[181,8]]},"1016":{"position":[[148,9]]},"1017":{"position":[[20,8],[161,8],[407,8],[462,12]]},"1019":{"position":[[283,8],[659,9]]},"1021":{"position":[[237,8],[295,8]]},"1022":{"position":[[61,9],[150,10],[229,12],[299,9],[422,10]]},"1023":{"position":[[119,9]]},"1024":{"position":[[157,9],[302,8],[448,8],[628,8],[859,8],[1235,8],[1261,8]]},"1025":{"position":[[255,9],[427,8],[554,8]]},"1026":{"position":[[31,8],[94,8],[194,9],[269,10],[321,8],[386,10],[465,10],[497,8],[570,8],[669,8],[876,8],[925,8]]},"1027":{"position":[[82,8],[159,9]]},"1044":{"position":[[2337,8]]},"1052":{"position":[[963,9]]},"1072":{"position":[[380,10],[1086,8]]},"1105":{"position":[[2387,8]]},"1136":{"position":[[2479,9]]},"1138":{"position":[[5794,11],[6141,9]]},"1140":{"position":[[5067,9]]},"1146":{"position":[[451,9]]},"1148":{"position":[[120,11],[3144,11],[3491,9]]},"1167":{"position":[[6071,9]]},"1186":{"position":[[1368,11],[1715,9]]},"1187":{"position":[[1381,11],[1728,9]]},"1188":{"position":[[6107,11],[6454,9]]},"1190":{"position":[[753,8],[812,8],[1293,8]]},"1192":{"position":[[490,9]]},"1197":{"position":[[606,11],[953,9]]},"1198":{"position":[[616,11],[963,9]]},"1199":{"position":[[644,11],[991,9]]},"1200":{"position":[[39,8],[96,8],[511,11],[858,9]]},"1203":{"position":[[352,9]]},"1205":{"position":[[180,8],[445,9],[1525,9]]},"1206":{"position":[[3755,9]]},"1217":{"position":[[4812,9]]},"1226":{"position":[[5280,9]]},"1228":{"position":[[6893,9]]},"1237":{"position":[[5450,9]]},"1346":{"position":[[117,8],[163,8]]},"1348":{"position":[[2786,9],[2809,9]]},"1349":{"position":[[931,9],[954,9]]},"1350":{"position":[[3902,9],[3925,9]]},"1351":{"position":[[1122,9],[1145,9],[1579,8]]},"1352":{"position":[[3901,9],[3924,9]]},"1353":{"position":[[1505,9],[1528,9]]},"1354":{"position":[[1343,9],[1366,9]]},"1355":{"position":[[2482,9],[2505,9],[2939,8]]},"1356":{"position":[[849,9],[872,9]]},"1357":{"position":[[522,9],[545,9]]},"1358":{"position":[[1243,9],[1266,9]]},"1359":{"position":[[1080,9],[1103,9]]},"1360":{"position":[[1711,9],[1734,9],[2168,8],[2772,8],[4570,8]]},"1361":{"position":[[1070,9],[1093,9]]},"1362":{"position":[[5434,9],[5457,9],[5891,8],[6624,9],[8302,8],[10274,8],[10371,8],[11238,8],[11419,8],[11595,8],[11752,8],[11915,9],[12049,8],[12228,8],[12428,8]]},"1363":{"position":[[3180,9],[3203,9],[3637,8],[4564,8]]},"1364":{"position":[[5463,9],[5486,9],[5920,8],[8147,8],[8374,8],[8537,9],[9151,8],[11388,8],[11485,8],[12205,8],[12386,8],[12554,8],[12733,8],[12933,8]]},"1365":{"position":[[1004,9],[1027,9]]},"1366":{"position":[[1210,9],[1233,9],[1667,8]]},"1367":{"position":[[6861,9],[6884,9],[7318,8],[8390,8],[11191,8],[11288,8],[11608,8],[11789,8],[11957,8],[12136,8],[12336,8]]},"1368":{"position":[[1560,9],[1583,9]]},"1369":{"position":[[612,9],[635,9]]},"1370":{"position":[[859,9],[882,9],[1316,8]]},"1371":{"position":[[488,9],[511,9]]},"1372":{"position":[[2126,9],[2149,9]]},"1373":{"position":[[2998,9],[3021,9],[6260,8],[6441,8],[6616,8],[6773,8],[6936,9],[7083,8],[7268,8]]},"1374":{"position":[[894,9],[917,9],[1351,8],[2197,9],[2261,9],[2322,9],[2493,8],[2538,9],[2570,8],[3589,8]]},"1375":{"position":[[524,9],[547,9]]},"1376":{"position":[[480,9],[503,9]]},"1377":{"position":[[561,9],[719,9],[742,9]]},"1378":{"position":[[466,9],[489,9]]},"1379":{"position":[[489,9],[512,9]]},"1380":{"position":[[960,9],[983,9]]},"1381":{"position":[[866,9],[889,9]]},"1382":{"position":[[3346,9],[3369,9],[3803,8],[7000,8],[7097,8],[8107,8],[8288,8],[8459,8],[8638,8],[8851,8],[8936,8],[9093,8],[9256,9],[9404,8],[9589,8],[9765,8],[9944,8],[10144,8]]},"1383":{"position":[[1584,9],[1607,9],[2041,8],[2357,8],[4262,10],[4282,8],[6602,8],[8834,8],[8953,8]]},"1384":{"position":[[4508,9],[4531,9],[4965,8],[7317,8],[7565,8],[7705,8],[7800,8],[7979,8],[8239,8],[8333,8],[8560,8],[8723,9],[8949,8],[9143,8],[9322,8],[9775,8],[11882,8],[12130,8],[13354,8],[13451,8],[14452,8],[14633,8],[14804,8],[14983,8],[15196,8],[15281,8],[15438,8],[15601,9],[15749,8],[15934,8],[16110,8],[16289,8],[16489,8],[18421,8],[19362,9],[19431,10],[21923,8]]},"1385":{"position":[[2185,9],[2208,9],[4337,8],[4518,8],[4688,8],[4867,8],[5080,8],[5164,8],[5321,8],[5484,9],[5631,8],[5816,8],[5991,8],[6170,8],[6370,8]]},"1386":{"position":[[823,9],[846,9]]},"1387":{"position":[[4454,9],[4477,9],[7710,8],[7891,8],[8061,8],[8240,8],[8453,8],[8537,8],[8694,8],[8857,9],[9004,8],[9189,8],[9364,8],[9543,8],[9743,8]]},"1388":{"position":[[3646,9],[3669,9],[4103,8],[7869,8],[7966,8]]},"1389":{"position":[[4507,9],[4530,9]]},"1390":{"position":[[759,9],[782,9]]},"1391":{"position":[[712,9],[735,9]]},"1392":{"position":[[862,9],[885,9]]},"1393":{"position":[[1434,9],[1457,9],[1891,8]]},"1394":{"position":[[882,9],[905,9]]},"1395":{"position":[[891,9],[914,9],[1348,8]]},"1396":{"position":[[688,9],[711,9]]},"1397":{"position":[[869,9],[892,9]]},"1398":{"position":[[1541,9],[1564,9],[1998,8]]},"1399":{"position":[[724,9],[747,9]]},"1400":{"position":[[593,9],[616,9]]},"1401":{"position":[[668,9],[691,9]]},"1402":{"position":[[824,9],[847,9]]},"1403":{"position":[[1414,9],[1437,9],[1871,8],[2187,8],[3985,8]]},"1404":{"position":[[657,9],[680,9]]},"1405":{"position":[[899,9],[1348,9],[1371,9]]},"1406":{"position":[[564,9],[587,9]]},"1407":{"position":[[926,9],[1389,9],[1412,9]]},"1408":{"position":[[1085,9],[1108,9]]},"1409":{"position":[[619,9],[642,9]]},"1410":{"position":[[1133,9],[1781,9],[1804,9],[2238,8]]},"1411":{"position":[[602,9],[625,9]]},"1412":{"position":[[1802,9],[1825,9],[2259,8]]},"1413":{"position":[[1986,9],[2009,9]]},"1414":{"position":[[853,9],[876,9]]},"1415":{"position":[[2835,9],[2858,9],[4219,8],[4400,8],[4575,8],[4732,8],[4895,9],[5339,9],[5408,10]]},"1416":{"position":[[1097,9],[1487,9],[1510,9],[3077,8],[3256,8],[3378,8]]},"1417":{"position":[[756,9],[1076,9],[1099,9]]},"1418":{"position":[[605,9],[777,9],[800,9]]},"1419":{"position":[[695,9],[905,9],[928,9]]},"1420":{"position":[[777,9],[1169,9],[1192,9],[2214,8],[2393,8],[2515,8]]},"1421":{"position":[[1144,9],[1167,9]]},"1422":{"position":[[1047,9],[1070,9],[1504,8]]},"1423":{"position":[[1036,9],[1059,9]]},"1424":{"position":[[1161,9],[1184,9]]},"1425":{"position":[[777,9],[800,9]]},"1426":{"position":[[1120,9],[1143,9],[1577,8]]},"1427":{"position":[[2017,9],[2040,9],[2474,8]]},"1428":{"position":[[759,9],[782,9]]},"1429":{"position":[[2681,9],[2704,9],[3138,8],[3633,9]]},"1430":{"position":[[1535,9],[1558,9]]},"1431":{"position":[[879,9],[902,9]]},"1432":{"position":[[1400,9],[1423,9]]},"1433":{"position":[[921,9],[944,9]]},"1434":{"position":[[595,9],[618,9]]},"1435":{"position":[[559,9],[582,9]]},"1436":{"position":[[575,9],[598,9]]},"1437":{"position":[[645,9],[668,9]]},"1438":{"position":[[779,9],[802,9],[1236,8]]},"1439":{"position":[[2303,9],[2326,9],[2760,8]]},"1440":{"position":[[2869,9],[2892,9],[3326,8]]},"1441":{"position":[[601,9],[624,9]]},"1442":{"position":[[674,9],[697,9],[1131,8]]},"1443":{"position":[[581,9],[896,9],[919,9]]},"1444":{"position":[[812,9],[835,9]]},"1445":{"position":[[501,9],[524,9]]},"1446":{"position":[[835,9],[858,9]]},"1447":{"position":[[717,9],[740,9]]},"1448":{"position":[[665,9],[1152,9],[1175,9],[2160,8],[2339,8],[2461,8]]},"1449":{"position":[[1086,9],[1109,9],[2094,8],[2273,8],[2395,8]]},"1450":{"position":[[665,9],[965,9],[988,9]]},"1451":{"position":[[665,9],[965,9],[988,9]]},"1452":{"position":[[4,9],[511,9],[534,9]]},"1453":{"position":[[1097,9],[1120,9]]},"1454":{"position":[[3463,9],[3486,9],[5717,8],[5965,8],[6105,8],[6199,8],[6378,8],[6638,8],[6737,8],[6931,8],[7110,8],[7920,8],[8101,8],[8232,8],[8413,8],[8548,8],[8733,8],[9375,9],[10113,10]]},"1455":{"position":[[1350,9],[1373,9],[2488,8],[2736,8],[2876,8]]},"1456":{"position":[[695,9],[718,9]]},"1457":{"position":[[754,9],[777,9]]},"1458":{"position":[[1289,9],[1312,9]]},"1459":{"position":[[768,9],[791,9]]},"1460":{"position":[[880,9],[903,9]]},"1461":{"position":[[1095,9],[1118,9],[1552,8]]},"1462":{"position":[[2991,9],[4476,9],[4499,9],[8178,11],[8213,8]]},"1463":{"position":[[602,9],[625,9]]},"1464":{"position":[[510,9],[533,9]]},"1465":{"position":[[764,9],[1608,9],[1631,9],[3136,8],[3294,8],[3429,8],[3455,8],[3549,8],[3705,8],[3838,8],[3864,8]]},"1466":{"position":[[846,9],[869,9]]},"1467":{"position":[[3195,9],[5165,9],[5188,9],[5622,8],[9242,9],[9275,8],[9405,8],[9563,8],[9698,8],[9724,8]]},"1468":{"position":[[610,9],[633,9]]},"1469":{"position":[[983,9],[1006,9],[1440,8]]},"1470":{"position":[[3512,9],[3535,9]]},"1471":{"position":[[1846,9],[1869,9],[2303,8]]},"1472":{"position":[[1805,9],[1828,9],[2262,8],[5737,8]]},"1473":{"position":[[2120,9],[2143,9],[2577,8]]},"1474":{"position":[[1511,9],[1534,9]]},"1475":{"position":[[1982,9],[2005,9]]},"1476":{"position":[[587,9],[610,9]]},"1477":{"position":[[739,9],[762,9],[1196,8]]},"1478":{"position":[[1230,9],[1253,9],[1687,8]]},"1479":{"position":[[679,9],[702,9]]},"1480":{"position":[[1092,9],[1115,9]]},"1481":{"position":[[1625,9],[1648,9]]},"1482":{"position":[[699,9],[722,9]]},"1483":{"position":[[533,9],[556,9]]},"1484":{"position":[[605,9],[628,9]]},"1485":{"position":[[865,9],[888,9],[2723,8],[2902,8],[3115,8]]},"1486":{"position":[[1109,9],[1132,9]]},"1487":{"position":[[690,8],[804,9],[827,9],[1261,8]]}},"keywords":{}}],["platform"",{"_index":4616,"title":{},"content":{"937":{"position":[[4467,15]]}},"keywords":{}}],["platform.configuration.constraints.item",{"_index":5001,"title":{},"content":{"1004":{"position":[[1271,42]]}},"keywords":{}}],["platform.configuration.valu",{"_index":5005,"title":{},"content":{"1004":{"position":[[1566,30]]}},"keywords":{}}],["platform.if",{"_index":7018,"title":{},"content":{"1370":{"position":[[2655,11]]}},"keywords":{}}],["platform.includ",{"_index":2712,"title":{},"content":{"584":{"position":[[1371,16],[1529,16],[1771,16]]}},"keywords":{}}],["platform.include>",{"_index":2719,"title":{},"content":{"584":{"position":[[1682,20],[1736,20]]}},"keywords":{}}],["platform.local_onli",{"_index":6807,"title":{},"content":{"1362":{"position":[[10189,19]]},"1364":{"position":[[11303,19]]},"1367":{"position":[[11106,19]]},"1382":{"position":[[6915,19]]},"1384":{"position":[[13269,19]]},"1388":{"position":[[7784,19]]}},"keywords":{}}],["platform/architectur",{"_index":775,"title":{},"content":{"23":{"position":[[3220,21]]}},"keywords":{}}],["platform/cxx",{"_index":2718,"title":{},"content":{"584":{"position":[[1663,12]]}},"keywords":{}}],["platform/futur",{"_index":2721,"title":{},"content":{"584":{"position":[[1720,15]]}},"keywords":{}}],["platform1"",{"_index":4977,"title":{},"content":{"995":{"position":[[1419,16]]}},"keywords":{}}],["platform_binari",{"_index":6860,"title":{},"content":{"1363":{"position":[[2152,16]]}},"keywords":{}}],["platform_compiler_flag",{"_index":6749,"title":{},"content":{"1362":{"position":[[3224,24],[11213,24]]},"1364":{"position":[[3189,24],[12180,24]]},"1367":{"position":[[4471,24],[11583,24]]},"1373":{"position":[[2011,24]]},"1382":{"position":[[2214,24],[8082,24]]},"1384":{"position":[[2913,24],[12057,24],[14427,24]]},"1385":{"position":[[1201,24]]},"1387":{"position":[[2880,24]]},"1388":{"position":[[2399,24]]},"1415":{"position":[[1667,24]]},"1448":{"position":[[691,24]]},"1449":{"position":[[684,24]]},"1462":{"position":[[3017,24]]},"1467":{"position":[[3221,24]]}},"keywords":{}}],["platform_dep",{"_index":6750,"title":{},"content":{"1362":{"position":[[3277,14]]},"1364":{"position":[[3242,14]]},"1367":{"position":[[4524,14]]},"1373":{"position":[[2064,14]]},"1382":{"position":[[2267,14]]},"1384":{"position":[[2966,14]]},"1385":{"position":[[1254,14]]},"1387":{"position":[[2933,14]]},"1388":{"position":[[2452,14]]},"1415":{"position":[[1720,14]]},"1416":{"position":[[1123,14]]},"1417":{"position":[[782,14]]},"1418":{"position":[[631,14]]},"1419":{"position":[[721,14]]},"1420":{"position":[[803,14]]},"1443":{"position":[[607,14]]},"1444":{"position":[[518,14]]},"1448":{"position":[[744,14]]},"1449":{"position":[[737,14]]},"1450":{"position":[[691,14]]},"1451":{"position":[[691,14]]},"1460":{"position":[[734,14]]},"1462":{"position":[[3070,14]]},"1465":{"position":[[790,14]]},"1467":{"position":[[3274,14]]}},"keywords":{}}],["platform_dir",{"_index":6796,"title":{},"content":{"1362":{"position":[[8188,13]]},"1364":{"position":[[9037,13]]},"1367":{"position":[[8276,13]]}},"keywords":{}}],["platform_dir/developer/library/frameworks/xctest.framework",{"_index":6978,"title":{},"content":{"1367":{"position":[[14653,62]]}},"keywords":{}}],["platform_ex",{"_index":7082,"title":{},"content":{"1374":{"position":[[587,13],[2168,13],[2358,13],[2414,13],[3892,12]]}},"keywords":{}}],["platform_external_linker_flag",{"_index":7723,"title":{},"content":{"1405":{"position":[[925,31]]},"1407":{"position":[[952,31]]}},"keywords":{}}],["platform_head",{"_index":3397,"title":{},"content":{"679":{"position":[[417,17]]},"1362":{"position":[[3320,17]]},"1364":{"position":[[3285,17]]},"1367":{"position":[[4567,17]]},"1373":{"position":[[2107,17]]},"1382":{"position":[[2310,17],[8441,17]]},"1384":{"position":[[3009,17],[14786,17],[21975,17],[22211,16]]},"1385":{"position":[[1297,17]]},"1387":{"position":[[2976,17]]},"1388":{"position":[[2495,17]]},"1415":{"position":[[1763,17]]},"1462":{"position":[[3113,17]]},"1467":{"position":[[3317,17]]},"1485":{"position":[[520,17]]}},"keywords":{}}],["platform_header_dir",{"_index":8148,"title":{},"content":{"1454":{"position":[[1691,21]]}},"keywords":{}}],["platform_import_lib",{"_index":8149,"title":{},"content":{"1454":{"position":[[1748,20]]}},"keywords":{}}],["platform_linker_flag",{"_index":6751,"title":{},"content":{"1362":{"position":[[3383,22],[11572,22]]},"1364":{"position":[[3348,22]]},"1367":{"position":[[4630,22]]},"1373":{"position":[[2170,22]]},"1382":{"position":[[2373,22],[8913,22]]},"1384":{"position":[[3072,22],[15258,22]]},"1385":{"position":[[1360,22]]},"1387":{"position":[[3039,22]]},"1388":{"position":[[2558,22]]},"1415":{"position":[[1826,22]]},"1416":{"position":[[1166,22]]},"1420":{"position":[[846,22]]},"1448":{"position":[[787,22]]},"1450":{"position":[[734,22]]},"1451":{"position":[[734,22]]},"1462":{"position":[[3176,22]]},"1467":{"position":[[3380,22]]}},"keywords":{}}],["platform_nam",{"_index":7385,"title":{},"content":{"1389":{"position":[[3124,14]]}},"keywords":{}}],["platform_path",{"_index":7000,"title":{},"content":{"1368":{"position":[[1068,14]]},"1481":{"position":[[818,14]]}},"keywords":{}}],["platform_preload_dep",{"_index":7862,"title":{},"content":{"1417":{"position":[[825,22]]},"1462":{"position":[[3227,22]]},"1467":{"position":[[3431,22]]}},"keywords":{}}],["platform_preprocessor_flag",{"_index":6752,"title":{},"content":{"1362":{"position":[[3434,28]]},"1364":{"position":[[3399,28]]},"1367":{"position":[[4681,28]]},"1373":{"position":[[2221,28]]},"1382":{"position":[[2424,28],[9375,28]]},"1384":{"position":[[3123,28],[12313,28],[15720,28]]},"1385":{"position":[[1411,28]]},"1387":{"position":[[3090,28]]},"1388":{"position":[[2609,28]]},"1415":{"position":[[1877,28]]},"1462":{"position":[[3278,28]]},"1467":{"position":[[3482,28]]}},"keywords":{}}],["platform_resourc",{"_index":8348,"title":{},"content":{"1465":{"position":[[833,19],[3108,20]]},"1467":{"position":[[3539,19],[9378,19],[10733,18]]}},"keywords":{}}],["platform_shared_lib",{"_index":8150,"title":{},"content":{"1454":{"position":[[1798,20],[10187,19]]}},"keywords":{}}],["platform_src",{"_index":6753,"title":{},"content":{"1362":{"position":[[3491,14],[12034,14]]},"1364":{"position":[[3456,14],[12539,14]]},"1367":{"position":[[4738,14],[11942,14]]},"1373":{"position":[[2278,14]]},"1382":{"position":[[2481,14],[9750,14]]},"1384":{"position":[[3180,14],[16095,14],[22102,13]]},"1385":{"position":[[1468,14]]},"1387":{"position":[[3147,14]]},"1388":{"position":[[2666,14]]},"1415":{"position":[[1934,14]]},"1462":{"position":[[3335,14]]},"1465":{"position":[[898,14]]},"1467":{"position":[[3604,14]]}},"keywords":{}}],["platform_static_lib",{"_index":8151,"title":{},"content":{"1454":{"position":[[1848,20],[10368,19]]}},"keywords":{}}],["platform_static_pic_lib",{"_index":8152,"title":{},"content":{"1454":{"position":[[1898,24]]}},"keywords":{}}],["platforminfo",{"_index":2049,"title":{"379":{"position":[[0,13]]},"758":{"position":[[0,13]]}},"content":{"379":{"position":[[4,13],[74,12]]},"758":{"position":[[4,13],[74,12]]},"981":{"position":[[247,12],[329,12]]},"1004":{"position":[[1706,13]]}},"keywords":{}}],["platforminfo.typ",{"_index":4997,"title":{},"content":{"1004":{"position":[[968,18],[1012,18]]}},"keywords":{}}],["platforminfonam",{"_index":4848,"title":{},"content":{"980":{"position":[[141,17]]}},"keywords":{}}],["platforminfoprovid",{"_index":3539,"title":{},"content":{"693":{"position":[[2805,21]]}},"keywords":{}}],["platformremote_cache_en",{"_index":1892,"title":{},"content":{"362":{"position":[[1262,29]]},"741":{"position":[[1262,29]]}},"keywords":{}}],["platformremote_execution_action_key",{"_index":1894,"title":{},"content":{"362":{"position":[[1388,36]]},"741":{"position":[[1388,36]]}},"keywords":{}}],["platforms.supports_merged_link",{"_index":8183,"title":{},"content":{"1454":{"position":[[9444,34]]}},"keywords":{}}],["platforms/architectur",{"_index":6059,"title":{},"content":{"1226":{"position":[[1851,23]]},"1237":{"position":[[2021,23]]}},"keywords":{}}],["platforms/configur",{"_index":5067,"title":{},"content":{"1022":{"position":[[10,24]]}},"keywords":{}}],["platforms=//platform:linux",{"_index":4817,"title":{},"content":{"968":{"position":[[132,26]]}},"keywords":{}}],["platformsen",{"_index":3916,"title":{},"content":{"851":{"position":[[299,16]]}},"keywords":{}}],["platformthat",{"_index":6315,"title":{},"content":{"1346":{"position":[[39,12]]}},"keywords":{}}],["platformvis",{"_index":6386,"title":{},"content":{"1348":{"position":[[3240,19]]},"1349":{"position":[[1385,19]]},"1350":{"position":[[4356,19]]},"1352":{"position":[[4355,19]]},"1353":{"position":[[1959,19]]},"1354":{"position":[[1797,19]]},"1356":{"position":[[1303,19]]},"1357":{"position":[[976,19]]},"1358":{"position":[[1697,19]]},"1359":{"position":[[1534,19]]},"1361":{"position":[[1524,19]]},"1365":{"position":[[1458,19]]},"1368":{"position":[[2014,19]]},"1369":{"position":[[1066,19]]},"1371":{"position":[[942,19]]},"1372":{"position":[[2580,19]]},"1373":{"position":[[3452,19]]},"1375":{"position":[[978,19]]},"1376":{"position":[[934,19]]},"1377":{"position":[[1173,19]]},"1378":{"position":[[920,19]]},"1379":{"position":[[943,19]]},"1380":{"position":[[1414,19]]},"1381":{"position":[[1320,19]]},"1385":{"position":[[2639,19]]},"1386":{"position":[[1277,19]]},"1387":{"position":[[4908,19]]},"1389":{"position":[[4961,19]]},"1390":{"position":[[1213,19]]},"1391":{"position":[[1166,19]]},"1392":{"position":[[1316,19]]},"1394":{"position":[[1336,19]]},"1396":{"position":[[1142,19]]},"1397":{"position":[[1323,19]]},"1399":{"position":[[1178,19]]},"1400":{"position":[[1047,19]]},"1401":{"position":[[1122,19]]},"1402":{"position":[[1278,19]]},"1404":{"position":[[1111,19]]},"1405":{"position":[[1802,19]]},"1406":{"position":[[1018,19]]},"1407":{"position":[[1843,19]]},"1408":{"position":[[1539,19]]},"1409":{"position":[[1073,19]]},"1411":{"position":[[1056,19]]},"1413":{"position":[[2440,19]]},"1414":{"position":[[1307,19]]},"1415":{"position":[[3289,19]]},"1416":{"position":[[1941,19]]},"1417":{"position":[[1530,19]]},"1418":{"position":[[1231,19]]},"1419":{"position":[[1359,19]]},"1420":{"position":[[1623,19]]},"1421":{"position":[[1598,19]]},"1423":{"position":[[1490,19]]},"1424":{"position":[[1615,19]]},"1425":{"position":[[1231,19]]},"1428":{"position":[[1213,19]]},"1430":{"position":[[1989,19]]},"1431":{"position":[[1333,19]]},"1432":{"position":[[1854,19]]},"1433":{"position":[[1375,19]]},"1434":{"position":[[1049,19]]},"1435":{"position":[[1013,19]]},"1436":{"position":[[1029,19]]},"1437":{"position":[[1099,19]]},"1441":{"position":[[1055,19]]},"1443":{"position":[[1350,19]]},"1444":{"position":[[1266,19]]},"1445":{"position":[[955,19]]},"1446":{"position":[[1289,19]]},"1447":{"position":[[1171,19]]},"1448":{"position":[[1606,19]]},"1449":{"position":[[1540,19]]},"1450":{"position":[[1419,19]]},"1451":{"position":[[1419,19]]},"1452":{"position":[[965,19]]},"1453":{"position":[[1551,19]]},"1454":{"position":[[3917,19]]},"1455":{"position":[[1804,19]]},"1456":{"position":[[1149,19]]},"1457":{"position":[[1208,19]]},"1458":{"position":[[1743,19]]},"1459":{"position":[[1222,19]]},"1460":{"position":[[1334,19]]},"1462":{"position":[[4930,19]]},"1463":{"position":[[1056,19]]},"1464":{"position":[[964,19]]},"1465":{"position":[[2062,19]]},"1466":{"position":[[1300,19]]},"1468":{"position":[[1064,19]]},"1470":{"position":[[3966,19]]},"1474":{"position":[[1965,19]]},"1475":{"position":[[2436,19]]},"1476":{"position":[[1041,19]]},"1479":{"position":[[1133,19]]},"1480":{"position":[[1546,19]]},"1481":{"position":[[2079,19]]},"1482":{"position":[[1153,19]]},"1483":{"position":[[987,19]]},"1484":{"position":[[1059,19]]},"1485":{"position":[[1319,19]]},"1486":{"position":[[1563,19]]}},"keywords":{}}],["play",{"_index":6625,"title":{},"content":{"1358":{"position":[[2932,5],[2955,5],[2996,5],[3193,4],[3270,6]]}},"keywords":{}}],["playback",{"_index":6005,"title":{},"content":{"1181":{"position":[[545,8]]}},"keywords":{}}],["pleas",{"_index":414,"title":{},"content":{"12":{"position":[[575,6]]},"24":{"position":[[147,6]]},"900":{"position":[[1706,8]]},"1113":{"position":[[695,6]]},"1136":{"position":[[1613,6]]},"1148":{"position":[[1969,6]]},"1176":{"position":[[112,6]]},"1205":{"position":[[1093,6]]},"1209":{"position":[[846,6]]},"1226":{"position":[[2786,6]]},"1235":{"position":[[2106,6]]},"1237":{"position":[[2956,6]]},"1393":{"position":[[4580,6],[9323,6]]},"1395":{"position":[[729,6],[2199,6],[3067,6]]},"1397":{"position":[[708,6],[1979,6]]}},"keywords":{}}],["plist",{"_index":6786,"title":{},"content":{"1362":{"position":[[6578,5]]}},"keywords":{}}],["plu",{"_index":1276,"title":{},"content":{"99":{"position":[[828,4]]},"231":{"position":[[828,4]]},"954":{"position":[[234,4]]},"1136":{"position":[[1335,4]]},"1148":{"position":[[1691,4]]},"1205":{"position":[[815,4]]},"1209":{"position":[[568,4]]},"1226":{"position":[[2508,4]]},"1235":{"position":[[1828,4]]},"1237":{"position":[[2678,4]]}},"keywords":{}}],["plugin",{"_index":993,"title":{"120":{"position":[[0,7]]},"426":{"position":[[0,8]]},"529":{"position":[[0,7]]},"805":{"position":[[0,8]]},"985":{"position":[[0,6]]},"986":{"position":[[0,6]]},"988":{"position":[[0,7]]},"989":{"position":[[17,6]]},"990":{"position":[[20,6]]}},"content":{"74":{"position":[[77,6],[120,6]]},"121":{"position":[[173,6]]},"123":{"position":[[50,6]]},"426":{"position":[[0,8],[9,7]]},"497":{"position":[[77,6],[120,6]]},"530":{"position":[[173,6]]},"532":{"position":[[50,6]]},"805":{"position":[[0,8],[9,7]]},"987":{"position":[[30,8]]},"988":{"position":[[90,6],[241,6],[280,6],[406,6],[471,6],[512,6]]},"989":{"position":[[6,6],[126,6],[241,7],[387,7]]},"990":{"position":[[0,6],[88,6],[628,6],[696,6],[783,6],[1047,6],[1195,6],[1345,6]]},"991":{"position":[[1537,6],[3329,7],[3348,7]]},"1348":{"position":[[2122,8]]},"1355":{"position":[[1595,8]]},"1412":{"position":[[1015,8]]},"1413":{"position":[[1161,8]]},"1427":{"position":[[1232,8]]},"1429":{"position":[[1466,8]]},"1430":{"position":[[1035,8]]},"1439":{"position":[[1468,8],[4740,7],[4830,7],[4853,6],[4895,6],[5393,6],[5491,6],[5533,6]]},"1440":{"position":[[1667,8]]},"1470":{"position":[[1895,8]]},"1474":{"position":[[1011,8]]},"1475":{"position":[[1157,8]]}},"keywords":{}}],["plugin.jar",{"_index":8050,"title":{},"content":{"1439":{"position":[[5686,10]]}},"keywords":{}}],["plugin.jar"",{"_index":8057,"title":{},"content":{"1439":{"position":[[6068,17]]}},"keywords":{}}],["plugin_dep",{"_index":4906,"title":{},"content":{"990":{"position":[[594,10]]}},"keywords":{}}],["plugin_nam",{"_index":7982,"title":{},"content":{"1428":{"position":[[587,12]]}},"keywords":{}}],["pluginkind",{"_index":1330,"title":{},"content":{"122":{"position":[[42,11]]},"123":{"position":[[25,10]]},"531":{"position":[[42,11]]},"532":{"position":[[25,10]]}},"keywords":{}}],["plugins.al",{"_index":1320,"title":{"121":{"position":[[0,12]]},"530":{"position":[[0,12]]}},"content":{"121":{"position":[[0,12]]},"530":{"position":[[0,12]]},"991":{"position":[[3429,11]]}},"keywords":{}}],["plugins.kind",{"_index":1331,"title":{"123":{"position":[[0,13]]},"532":{"position":[[0,13]]}},"content":{"123":{"position":[[4,14],[150,14]]},"532":{"position":[[4,14],[150,14]]},"988":{"position":[[321,15]]},"991":{"position":[[16,14]]}},"keywords":{}}],["plugins.pluginkind",{"_index":1328,"title":{"122":{"position":[[0,19]]},"531":{"position":[[0,19]]}},"content":{"122":{"position":[[0,19]]},"531":{"position":[[0,19]]}},"keywords":{}}],["pm",{"_index":6535,"title":{},"content":{"1354":{"position":[[2241,2]]}},"keywords":{}}],["png",{"_index":6960,"title":{},"content":{"1366":{"position":[[3325,8]]}},"keywords":{}}],["point",{"_index":562,"title":{},"content":{"18":{"position":[[762,6],[1471,6]]},"85":{"position":[[640,5],[696,5]]},"217":{"position":[[640,5],[696,5]]},"318":{"position":[[160,6]]},"320":{"position":[[335,6]]},"446":{"position":[[153,5]]},"576":{"position":[[308,5],[361,5],[420,5]]},"590":{"position":[[218,6]]},"634":{"position":[[135,5]]},"644":{"position":[[104,5],[256,5],[332,5]]},"656":{"position":[[130,5],[207,6]]},"704":{"position":[[1219,6],[1425,5]]},"719":{"position":[[8,6]]},"721":{"position":[[8,6]]},"723":{"position":[[8,6]]},"725":{"position":[[8,6]]},"825":{"position":[[153,5]]},"864":{"position":[[686,5]]},"886":{"position":[[54,6]]},"888":{"position":[[776,5]]},"892":{"position":[[1266,6],[1828,8],[1845,5]]},"951":{"position":[[483,5]]},"995":{"position":[[654,8],[1338,8]]},"1013":{"position":[[126,6]]},"1026":{"position":[[788,7]]},"1037":{"position":[[219,5],[403,5]]},"1053":{"position":[[728,5],[1145,8]]},"1054":{"position":[[143,6]]},"1126":{"position":[[1338,5]]},"1150":{"position":[[344,5]]},"1231":{"position":[[457,5],[679,6]]},"1232":{"position":[[3146,6]]},"1244":{"position":[[353,5]]},"1249":{"position":[[211,5]]},"1250":{"position":[[222,6]]},"1363":{"position":[[5885,7],[6353,7],[6520,7],[6767,7]]},"1395":{"position":[[2679,6],[3299,6]]},"1403":{"position":[[9053,8],[9141,5]]},"1416":{"position":[[2992,5]]},"1443":{"position":[[1756,5]]},"1462":{"position":[[6873,5],[7047,5],[7490,5]]},"1467":{"position":[[8016,5]]}},"keywords":{}}],["pointer",{"_index":2200,"title":{},"content":{"410":{"position":[[72,10]]},"789":{"position":[[72,10]]},"892":{"position":[[257,8],[288,8],[766,8],[922,8],[1153,8],[1580,8]]},"1384":{"position":[[21467,9],[21855,9]]},"1385":{"position":[[7382,9]]}},"keywords":{}}],["polished.ther",{"_index":791,"title":{},"content":{"24":{"position":[[526,14]]}},"keywords":{}}],["poll",{"_index":5805,"title":{},"content":{"1126":{"position":[[1032,4],[1197,4]]}},"keywords":{}}],["pool",{"_index":353,"title":{},"content":{"10":{"position":[[1154,5]]},"377":{"position":[[717,4],[1034,4],[1116,4],[1178,4],[1259,5]]},"756":{"position":[[717,4],[1034,4],[1116,4],[1178,4],[1259,5]]},"1052":{"position":[[57,4],[383,4]]},"1053":{"position":[[1080,4],[1113,4],[1248,4],[1362,4],[1425,4],[1566,4]]},"1054":{"position":[[810,4]]}},"keywords":{}}],["poor",{"_index":4598,"title":{},"content":{"937":{"position":[[2335,4],[2572,4]]}},"keywords":{}}],["poorli",{"_index":5864,"title":{},"content":{"1136":{"position":[[690,6]]}},"keywords":{}}],["pop",{"_index":2522,"title":{},"content":{"557":{"position":[[341,3]]},"568":{"position":[[212,3]]},"632":{"position":[[235,3]]}},"keywords":{}}],["popitem",{"_index":2528,"title":{},"content":{"558":{"position":[[206,7],[416,12]]}},"keywords":{}}],["popreturn",{"_index":2521,"title":{},"content":{"557":{"position":[[297,10]]}},"keywords":{}}],["popul",{"_index":6653,"title":{},"content":{"1360":{"position":[[3222,9]]},"1403":{"position":[[2637,9]]}},"keywords":{}}],["port",{"_index":3303,"title":{},"content":{"663":{"position":[[293,4],[1024,4]]},"901":{"position":[[255,4],[978,4]]},"1429":{"position":[[4131,7]]},"1440":{"position":[[4124,7]]}},"keywords":{}}],["port=80",{"_index":3158,"title":{},"content":{"642":{"position":[[237,8]]},"663":{"position":[[453,9],[735,8]]},"901":{"position":[[415,9],[691,8]]}},"keywords":{}}],["port=field(int",{"_index":3153,"title":{},"content":{"642":{"position":[[147,16]]},"663":{"position":[[994,15]]},"901":{"position":[[948,15]]}},"keywords":{}}],["port=int",{"_index":3302,"title":{},"content":{"663":{"position":[[152,9]]},"901":{"position":[[115,9]]}},"keywords":{}}],["portion",{"_index":1991,"title":{},"content":{"368":{"position":[[2545,7]]},"566":{"position":[[269,7]]},"595":{"position":[[164,8]]},"607":{"position":[[210,7],[276,7]]},"718":{"position":[[425,7]]},"720":{"position":[[540,7]]},"747":{"position":[[2545,7]]},"887":{"position":[[215,7]]},"1058":{"position":[[454,7]]}},"keywords":{}}],["pose",{"_index":4754,"title":{},"content":{"955":{"position":[[823,5]]},"987":{"position":[[478,5]]}},"keywords":{}}],["posit",{"_index":2546,"title":{},"content":{"560":{"position":[[222,10]]},"595":{"position":[[788,10]]},"636":{"position":[[190,10]]},"1258":{"position":[[86,8]]},"1289":{"position":[[86,8]]},"1317":{"position":[[86,8]]},"1383":{"position":[[3367,8],[3486,8]]},"1384":{"position":[[20692,8]]},"1486":{"position":[[2449,8]]}},"keywords":{}}],["possibl",{"_index":398,"title":{"970":{"position":[[0,8]]}},"content":{"12":{"position":[[266,8]]},"50":{"position":[[277,8]]},"197":{"position":[[277,8]]},"345":{"position":[[766,10]]},"389":{"position":[[888,14]]},"638":{"position":[[338,8]]},"663":{"position":[[354,8],[877,8]]},"684":{"position":[[125,8]]},"685":{"position":[[105,8]]},"688":{"position":[[11,8]]},"768":{"position":[[888,14]]},"846":{"position":[[1415,8]]},"870":{"position":[[114,8]]},"890":{"position":[[1067,8]]},"900":{"position":[[1560,9]]},"901":{"position":[[316,8],[832,8]]},"902":{"position":[[327,8]]},"919":{"position":[[2078,8]]},"937":{"position":[[2147,8],[4508,8]]},"954":{"position":[[331,8]]},"955":{"position":[[845,11]]},"958":{"position":[[303,8]]},"961":{"position":[[26,9]]},"987":{"position":[[680,8]]},"988":{"position":[[397,8]]},"1004":{"position":[[2300,8]]},"1015":{"position":[[130,9]]},"1040":{"position":[[734,8]]},"1050":{"position":[[25,8],[1453,8]]},"1056":{"position":[[417,8]]},"1058":{"position":[[902,8]]},"1071":{"position":[[455,8]]},"1098":{"position":[[633,8]]},"1113":{"position":[[741,9]]},"1136":{"position":[[2340,9],[2863,9],[2938,9],[4111,8],[5097,9],[5300,8],[5542,8]]},"1138":{"position":[[787,9],[3826,8],[4123,8],[4943,9],[5020,8],[6525,9],[6600,9],[7773,8],[8759,9],[8962,8],[9204,8]]},"1140":{"position":[[413,9],[3315,8],[3612,8],[4432,9],[4509,8],[5451,9],[5526,9],[6699,8],[7685,9],[7888,8],[8130,8]]},"1142":{"position":[[895,9],[970,9],[2143,8],[3129,9],[3332,8],[3574,8]]},"1144":{"position":[[294,9]]},"1146":{"position":[[835,9],[910,9],[2083,8],[3069,9],[3272,8],[3514,8]]},"1148":{"position":[[2696,9],[3875,9],[3950,9],[5123,8],[6109,9],[6312,8],[6554,8],[7335,9]]},"1155":{"position":[[606,9],[931,9],[1006,9],[2179,8],[3165,9],[3368,8],[3610,8]]},"1156":{"position":[[509,9],[584,9],[1757,8],[2743,9],[2946,8],[3188,8]]},"1157":{"position":[[165,9]]},"1158":{"position":[[159,9]]},"1159":{"position":[[159,9]]},"1161":{"position":[[636,9],[839,8],[1081,8]]},"1167":{"position":[[4319,8],[4616,8],[5436,9],[5513,8],[6455,9],[6530,9],[7703,8],[8689,9],[8892,8],[9134,8]]},"1169":{"position":[[294,9],[369,9],[1542,8]]},"1172":{"position":[[1274,9]]},"1173":{"position":[[574,9]]},"1178":{"position":[[776,9]]},"1179":{"position":[[514,9]]},"1180":{"position":[[844,9]]},"1181":{"position":[[848,9],[1051,8],[1293,8]]},"1186":{"position":[[887,9],[2099,9],[2174,9],[3347,8],[4333,9],[4536,8],[4778,8]]},"1187":{"position":[[900,9],[2112,9],[2187,9],[3360,8],[4346,9],[4549,8],[4791,8]]},"1188":{"position":[[466,9],[3368,8],[3665,8],[4485,9],[4562,8],[5626,9],[6838,9],[6913,9],[8086,8],[9072,9],[9275,8],[9517,8]]},"1191":{"position":[[699,9],[774,9],[1947,8],[2933,9],[3136,8],[3378,8]]},"1192":{"position":[[874,9],[949,9],[2122,8],[3108,9],[3311,8],[3553,8]]},"1193":{"position":[[448,9],[537,9],[627,9],[926,9],[1001,9],[2174,8],[3160,9],[3363,8],[3605,8]]},"1194":{"position":[[566,9],[641,9],[1814,8],[2800,9],[3003,8],[3245,8]]},"1195":{"position":[[544,9],[619,9],[1792,8],[2778,9],[2981,8],[3223,8]]},"1196":{"position":[[354,9],[429,9],[1602,8],[2588,9],[2791,8],[3033,8]]},"1197":{"position":[[1337,9],[1412,9],[2585,8],[3571,9],[3774,8],[4016,8]]},"1198":{"position":[[1347,9],[1422,9],[2595,8],[3581,9],[3784,8],[4026,8]]},"1199":{"position":[[1375,9],[1450,9],[2623,8],[3609,9],[3812,8],[4054,8]]},"1200":{"position":[[1242,9],[1317,9],[2490,8],[3476,9],[3679,8],[3921,8]]},"1201":{"position":[[502,9],[577,9],[1750,8],[2736,9],[2939,8],[3181,8]]},"1202":{"position":[[1644,9],[1719,9],[2892,8],[3878,9],[4081,8],[4323,8],[6041,9],[6116,9],[7289,8],[8275,9],[8478,8],[8720,8]]},"1203":{"position":[[736,9],[811,9],[1984,8],[2970,9],[3173,8],[3415,8]]},"1204":{"position":[[580,9],[655,9],[1828,8],[2814,9],[3017,8],[3259,8]]},"1205":{"position":[[1909,9],[1984,9],[3157,8],[4143,9],[4346,8],[4588,8]]},"1206":{"position":[[380,9],[455,9],[1628,8],[2614,9],[2817,8],[3059,8]]},"1207":{"position":[[537,9],[612,9],[1785,8],[2771,9],[2974,8],[3216,8]]},"1209":{"position":[[1573,9],[1885,9],[1960,9],[3133,8],[4119,9],[4322,8],[4564,8]]},"1211":{"position":[[145,9]]},"1217":{"position":[[3060,8],[3357,8],[4177,9],[4254,8],[5196,9],[5271,9],[6444,8],[7430,9],[7633,8],[7875,8]]},"1219":{"position":[[1182,9],[1257,9],[2430,8]]},"1222":{"position":[[306,9],[381,9],[1554,8],[2540,9],[2743,8],[2985,8]]},"1223":{"position":[[316,9],[391,9],[1564,8],[2550,9],[2753,8],[2995,8]]},"1224":{"position":[[496,9],[571,9],[1744,8]]},"1226":{"position":[[941,9],[1891,9],[2133,9],[5060,9],[5664,9],[5739,9],[6912,8],[7898,9],[8101,8],[8343,8]]},"1228":{"position":[[1447,8],[5141,8],[5438,8],[6258,9],[6335,8],[7277,9],[7352,9],[8525,8],[9511,9],[9714,8],[9956,8]]},"1232":{"position":[[3639,9]]},"1235":{"position":[[2833,9],[3145,9],[3220,9],[4393,8],[5379,9],[5582,8],[5824,8]]},"1237":{"position":[[1111,9],[2061,9],[2303,9],[5230,9],[5834,9],[5909,9],[7082,8],[8068,9],[8271,8],[8513,8]]},"1273":{"position":[[412,8]]},"1304":{"position":[[412,8]]},"1332":{"position":[[412,8]]},"1355":{"position":[[3328,8],[7212,9]]},"1366":{"position":[[2077,8],[3188,8]]},"1374":{"position":[[2378,8]]},"1383":{"position":[[4374,8]]},"1388":{"position":[[4734,8],[6118,8]]},"1393":{"position":[[5397,8]]},"1427":{"position":[[6411,9]]},"1439":{"position":[[3149,8]]},"1467":{"position":[[6471,8]]},"1485":{"position":[[4729,8]]}},"keywords":{}}],["possible.remote_execution_properti",{"_index":6322,"title":{},"content":{"1346":{"position":[[540,36]]}},"keywords":{}}],["post",{"_index":6648,"title":{},"content":{"1360":{"position":[[1365,4]]}},"keywords":{}}],["post_filter_resources_cmd",{"_index":6453,"title":{},"content":{"1350":{"position":[[3093,26]]},"1352":{"position":[[3092,26]]}},"keywords":{}}],["post_linker_flag",{"_index":6754,"title":{},"content":{"1362":{"position":[[3553,18]]},"1364":{"position":[[3518,18]]},"1367":{"position":[[4800,18]]},"1373":{"position":[[2340,18]]},"1382":{"position":[[2543,18]]},"1384":{"position":[[3242,18]]},"1385":{"position":[[1530,18]]},"1387":{"position":[[3209,18]]},"1388":{"position":[[2728,18]]},"1389":{"position":[[3155,18]]},"1415":{"position":[[1996,18]]},"1454":{"position":[[1952,18]]},"1462":{"position":[[3397,18]]},"1467":{"position":[[3666,18]]}},"keywords":{}}],["post_platform_linker_flag",{"_index":6755,"title":{},"content":{"1362":{"position":[[3587,27]]},"1364":{"position":[[3552,27]]},"1367":{"position":[[4834,27]]},"1373":{"position":[[2374,27]]},"1382":{"position":[[2577,27]]},"1384":{"position":[[3276,27]]},"1385":{"position":[[1564,27]]},"1387":{"position":[[3243,27]]},"1388":{"position":[[2762,27]]},"1415":{"position":[[2030,27]]},"1462":{"position":[[3431,27]]},"1467":{"position":[[3700,27]]}},"keywords":{}}],["postord",{"_index":5599,"title":{},"content":{"1088":{"position":[[360,9],[1437,9]]}},"keywords":{}}],["potententi",{"_index":8266,"title":{},"content":{"1461":{"position":[[2831,14]]}},"keywords":{}}],["potenti",{"_index":671,"title":{},"content":{"22":{"position":[[1324,9]]},"52":{"position":[[172,11]]},"199":{"position":[[172,11]]},"570":{"position":[[283,11]]},"704":{"position":[[2026,11],[2398,11]]},"870":{"position":[[782,11]]},"955":{"position":[[1380,11]]},"972":{"position":[[145,12]]},"981":{"position":[[906,11]]},"1001":{"position":[[968,11]]},"1017":{"position":[[764,11]]},"1053":{"position":[[364,11],[1333,9]]},"1064":{"position":[[1068,11]]},"1180":{"position":[[285,9]]},"1254":{"position":[[372,9]]}},"keywords":{}}],["pound",{"_index":2651,"title":{},"content":{"579":{"position":[[50,5]]}},"keywords":{}}],["power",{"_index":33,"title":{},"content":{"4":{"position":[[25,8]]},"23":{"position":[[1506,5]]},"939":{"position":[[870,8]]},"944":{"position":[[63,8]]},"950":{"position":[[770,5]]},"1040":{"position":[[825,8]]}},"keywords":{}}],["powershel",{"_index":472,"title":{"910":{"position":[[5,11]]}},"content":{"15":{"position":[[723,10]]},"910":{"position":[[5,10]]}},"keywords":{}}],["pprint",{"_index":1690,"title":{"658":{"position":[[0,7]]}},"content":{"305":{"position":[[339,7]]},"346":{"position":[[407,7]]},"347":{"position":[[443,7]]},"860":{"position":[[486,8]]},"1106":{"position":[[30,6]]}},"keywords":{}}],["pprint(*arg",{"_index":3279,"title":{},"content":{"658":{"position":[[4,13]]}},"keywords":{}}],["ppx",{"_index":8120,"title":{},"content":{"1448":{"position":[[2012,3]]},"1449":{"position":[[1946,3]]}},"keywords":{}}],["pr",{"_index":161,"title":{},"content":{"7":{"position":[[384,2]]}},"keywords":{}}],["practic",{"_index":2656,"title":{"906":{"position":[[44,10]]}},"content":{"580":{"position":[[203,9]]},"587":{"position":[[549,8]]},"919":{"position":[[1775,9]]},"935":{"position":[[145,9]]},"980":{"position":[[967,8]]}},"keywords":{}}],["pragma",{"_index":7263,"title":{},"content":{"1386":{"position":[[3200,7]]}},"keywords":{}}],["pre",{"_index":703,"title":{},"content":{"23":{"position":[[569,3]]},"890":{"position":[[3941,3]]},"1070":{"position":[[626,3]]},"1088":{"position":[[47,3],[565,3]]},"1374":{"position":[[743,3]]},"1386":{"position":[[2433,3]]},"1393":{"position":[[4338,3]]},"1458":{"position":[[2070,3]]}},"keywords":{}}],["preambl",{"_index":7610,"title":{},"content":{"1398":{"position":[[843,9]]}},"keywords":{}}],["prebuilt",{"_index":6620,"title":{},"content":{"1358":{"position":[[2391,8],[2598,8],[2690,8]]},"1421":{"position":[[997,8]]},"1454":{"position":[[9655,8],[9823,8],[10062,8]]},"1455":{"position":[[4475,8]]},"1456":{"position":[[560,8]]},"1461":{"position":[[909,8],[2409,8],[2713,8],[2904,8]]},"1465":{"position":[[2869,8]]},"1467":{"position":[[7008,8]]}},"keywords":{}}],["prebuilt_apple_framework",{"_index":8141,"title":{"1453":{"position":[[0,25]]}},"content":{"1453":{"position":[[4,25],[872,26],[1875,25]]}},"keywords":{}}],["prebuilt_cxx_librari",{"_index":7775,"title":{"1454":{"position":[[0,21]]}},"content":{"1407":{"position":[[5203,21]]},"1453":{"position":[[978,22]]},"1454":{"position":[[4,21],[3213,22],[9728,21],[9870,21],[10125,21]]}},"keywords":{}}],["prebuilt_cxx_library_group",{"_index":8195,"title":{"1455":{"position":[[0,27]]}},"content":{"1455":{"position":[[4,27],[1090,28],[4552,27]]}},"keywords":{}}],["prebuilt_dotnet_librari",{"_index":7125,"title":{"1456":{"position":[[0,24]]}},"content":{"1381":{"position":[[1828,23],[2728,24]]},"1456":{"position":[[4,24],[510,25],[1527,24]]}},"keywords":{}}],["prebuilt_go_librari",{"_index":8224,"title":{"1457":{"position":[[0,20]]}},"content":{"1457":{"position":[[4,20],[586,21],[1947,20]]}},"keywords":{}}],["prebuilt_haskell_librari",{"_index":7849,"title":{},"content":{"1416":{"position":[[2367,26]]},"1420":{"position":[[2049,26]]},"1421":{"position":[[937,26],[1913,26],[2406,25]]}},"keywords":{}}],["prebuilt_jar",{"_index":3688,"title":{"1458":{"position":[[0,13]]}},"content":{"708":{"position":[[77,13],[912,13]]},"1355":{"position":[[4107,12]]},"1427":{"position":[[3252,12]]},"1439":{"position":[[3926,12],[6095,13]]},"1458":{"position":[[4,13],[901,14],[2481,13]]},"1469":{"position":[[2780,15],[2797,13]]}},"keywords":{}}],["prebuilt_java_librari",{"_index":7935,"title":{},"content":{"1423":{"position":[[3203,22]]}},"keywords":{}}],["prebuilt_native_librari",{"_index":8240,"title":{"1459":{"position":[[0,24]]}},"content":{"1459":{"position":[[4,24],[581,25],[2269,23],[2344,24]]}},"keywords":{}}],["prebuilt_ocaml_librari",{"_index":8246,"title":{"1460":{"position":[[0,23]]}},"content":{"1460":{"position":[[4,23]]}},"keywords":{}}],["prebuilt_python_librari",{"_index":8253,"title":{"1461":{"position":[[0,24]]}},"content":{"1461":{"position":[[4,24],[859,25],[2046,25],[3318,23],[3706,24],[3841,24],[3968,24]]}},"keywords":{}}],["prebuilt_rust_librari",{"_index":8424,"title":{},"content":{"1471":{"position":[[3228,21]]},"1472":{"position":[[2947,21],[3066,21]]},"1473":{"position":[[3262,21]]}},"keywords":{}}],["preced",{"_index":1226,"title":{"583":{"position":[[0,10]]}},"content":{"94":{"position":[[3565,11],[3694,10]]},"226":{"position":[[3565,11],[3694,10]]},"583":{"position":[[38,10],[184,10],[860,10],[977,10]]},"595":{"position":[[576,8],[616,8]]},"1282":{"position":[[182,11]]},"1283":{"position":[[199,11]]},"1284":{"position":[[179,11]]},"1313":{"position":[[182,11]]},"1314":{"position":[[199,11]]},"1315":{"position":[[179,11]]},"1341":{"position":[[182,11]]},"1342":{"position":[[199,11]]},"1343":{"position":[[179,11]]},"1370":{"position":[[2822,10]]}},"keywords":{}}],["precis",{"_index":2823,"title":{},"content":{"595":{"position":[[1334,10]]},"991":{"position":[[1299,9]]},"1136":{"position":[[1674,10]]},"1148":{"position":[[2030,10]]},"1205":{"position":[[1154,10]]},"1209":{"position":[[907,10]]},"1226":{"position":[[2847,10]]},"1235":{"position":[[2167,10]]},"1237":{"position":[[3017,10]]},"1262":{"position":[[812,10]]},"1293":{"position":[[812,10]]},"1321":{"position":[[812,10]]}},"keywords":{}}],["precisely.buck2",{"_index":759,"title":{},"content":{"23":{"position":[[2633,15]]}},"keywords":{}}],["precompil",{"_index":7254,"title":{},"content":{"1386":{"position":[[630,11],[1708,12],[2014,11],[2169,11],[3937,11],[4079,11],[4301,11],[4470,11],[4624,11],[4864,11],[5101,11],[5156,11],[5510,11],[5720,11],[6270,11]]},"1457":{"position":[[1623,11]]},"1458":{"position":[[993,11]]}},"keywords":{}}],["precompiled_head",{"_index":6756,"title":{},"content":{"1362":{"position":[[3643,19]]},"1364":{"position":[[3608,19]]},"1367":{"position":[[4890,19]]},"1373":{"position":[[2430,19]]},"1382":{"position":[[2633,19]]},"1384":{"position":[[3332,19]]},"1385":{"position":[[1620,19]]},"1386":{"position":[[2124,18],[3798,18]]},"1387":{"position":[[3299,19]]},"1388":{"position":[[2818,19]]},"1415":{"position":[[2086,19]]},"1462":{"position":[[3487,19]]},"1467":{"position":[[3756,19]]}},"keywords":{}}],["predeclar",{"_index":3124,"title":{},"content":{"638":{"position":[[485,11]]},"902":{"position":[[474,11]]}},"keywords":{}}],["predic",{"_index":3164,"title":{},"content":{"643":{"position":[[100,9]]}},"keywords":{}}],["preempt",{"_index":5894,"title":{},"content":{"1136":{"position":[[3679,9]]},"1138":{"position":[[7341,9]]},"1140":{"position":[[6267,9]]},"1142":{"position":[[1711,9]]},"1146":{"position":[[1651,9]]},"1148":{"position":[[4691,9]]},"1155":{"position":[[1747,9]]},"1156":{"position":[[1325,9]]},"1167":{"position":[[7271,9]]},"1169":{"position":[[1110,9]]},"1186":{"position":[[2915,9]]},"1187":{"position":[[2928,9]]},"1188":{"position":[[7654,9]]},"1191":{"position":[[1515,9]]},"1192":{"position":[[1690,9]]},"1193":{"position":[[1742,9]]},"1194":{"position":[[1382,9]]},"1195":{"position":[[1360,9]]},"1196":{"position":[[1170,9]]},"1197":{"position":[[2153,9]]},"1198":{"position":[[2163,9]]},"1199":{"position":[[2191,9]]},"1200":{"position":[[2058,9]]},"1201":{"position":[[1318,9]]},"1202":{"position":[[2460,9],[6857,9]]},"1203":{"position":[[1552,9]]},"1204":{"position":[[1396,9]]},"1205":{"position":[[2725,9]]},"1206":{"position":[[1196,9]]},"1207":{"position":[[1353,9]]},"1209":{"position":[[2701,9]]},"1217":{"position":[[6012,9]]},"1219":{"position":[[1998,9]]},"1222":{"position":[[1122,9]]},"1223":{"position":[[1132,9]]},"1224":{"position":[[1312,9]]},"1226":{"position":[[6480,9]]},"1228":{"position":[[8093,9]]},"1235":{"position":[[3961,9]]},"1237":{"position":[[6650,9]]}},"keywords":{}}],["preemptibl",{"_index":5892,"title":{},"content":{"1136":{"position":[[3602,11]]},"1138":{"position":[[7264,11]]},"1140":{"position":[[6190,11]]},"1142":{"position":[[1634,11]]},"1146":{"position":[[1574,11]]},"1148":{"position":[[4614,11]]},"1155":{"position":[[1670,11]]},"1156":{"position":[[1248,11]]},"1167":{"position":[[7194,11]]},"1169":{"position":[[1033,11]]},"1186":{"position":[[2838,11]]},"1187":{"position":[[2851,11]]},"1188":{"position":[[7577,11]]},"1191":{"position":[[1438,11]]},"1192":{"position":[[1613,11]]},"1193":{"position":[[1665,11]]},"1194":{"position":[[1305,11]]},"1195":{"position":[[1283,11]]},"1196":{"position":[[1093,11]]},"1197":{"position":[[2076,11]]},"1198":{"position":[[2086,11]]},"1199":{"position":[[2114,11]]},"1200":{"position":[[1981,11]]},"1201":{"position":[[1241,11]]},"1202":{"position":[[2383,11],[6780,11]]},"1203":{"position":[[1475,11]]},"1204":{"position":[[1319,11]]},"1205":{"position":[[2648,11]]},"1206":{"position":[[1119,11]]},"1207":{"position":[[1276,11]]},"1209":{"position":[[2624,11]]},"1217":{"position":[[5935,11]]},"1219":{"position":[[1921,11]]},"1222":{"position":[[1045,11]]},"1223":{"position":[[1055,11]]},"1224":{"position":[[1235,11]]},"1226":{"position":[[6403,11]]},"1228":{"position":[[8016,11]]},"1235":{"position":[[3884,11]]},"1237":{"position":[[6573,11]]}},"keywords":{}}],["prefer",{"_index":1033,"title":{},"content":{"84":{"position":[[233,6]]},"85":{"position":[[508,12]]},"94":{"position":[[2976,9],[3483,6],[3502,6]]},"216":{"position":[[233,6]]},"217":{"position":[[508,12]]},"226":{"position":[[2976,9],[3483,6],[3502,6]]},"276":{"position":[[269,9]]},"277":{"position":[[220,9]]},"281":{"position":[[336,9]]},"282":{"position":[[284,9]]},"846":{"position":[[1548,9]]},"954":{"position":[[4,7]]},"975":{"position":[[102,9]]},"1021":{"position":[[391,6]]},"1108":{"position":[[87,10]]},"1113":{"position":[[358,6]]},"1138":{"position":[[2506,6],[2549,6],[2619,6],[2663,6],[3038,9]]},"1140":{"position":[[1995,6],[2038,6],[2108,6],[2152,6],[2527,9]]},"1167":{"position":[[2999,6],[3042,6],[3112,6],[3156,6],[3531,9]]},"1188":{"position":[[2048,6],[2091,6],[2161,6],[2205,6],[2580,9]]},"1217":{"position":[[1740,6],[1783,6],[1853,6],[1897,6],[2272,9]]},"1228":{"position":[[3821,6],[3864,6],[3934,6],[3978,6],[4353,9]]},"1362":{"position":[[9741,10],[9787,10],[10447,10]]},"1363":{"position":[[5967,9]]},"1364":{"position":[[10855,10],[10901,10],[11561,10]]},"1367":{"position":[[10658,10],[10704,10],[11364,10]]},"1382":{"position":[[6467,10],[6513,10],[7173,10]]},"1384":{"position":[[12821,10],[12867,10],[13527,10]]},"1388":{"position":[[7336,10],[7382,10],[8042,10]]},"1462":{"position":[[7345,9],[7723,9]]},"1467":{"position":[[8314,9]]}},"keywords":{}}],["prefer_loc",{"_index":1172,"title":{},"content":{"94":{"position":[[587,13],[2741,13]]},"226":{"position":[[587,13],[2741,13]]}},"keywords":{}}],["prefer_remot",{"_index":1173,"title":{},"content":{"94":{"position":[[615,14],[2755,13]]},"226":{"position":[[615,14],[2755,13]]}},"keywords":{}}],["prefer_stripped_native_object",{"_index":8306,"title":{},"content":{"1462":{"position":[[3523,31]]},"1467":{"position":[[3792,31]]}},"keywords":{}}],["prefer_stripped_object",{"_index":6757,"title":{},"content":{"1362":{"position":[[3679,24]]},"1373":{"position":[[2466,24]]},"1382":{"position":[[2669,24]]},"1384":{"position":[[3368,24]]},"1388":{"position":[[2854,24]]},"1415":{"position":[[2122,24]]},"1462":{"position":[[3565,24]]},"1467":{"position":[[3834,24]]}},"keywords":{}}],["prefergdb",{"_index":6095,"title":{},"content":{"1231":{"position":[[303,10]]}},"keywords":{}}],["preferr",{"_index":5747,"title":{},"content":{"1112":{"position":[[4895,11]]}},"keywords":{}}],["preferred"",{"_index":1220,"title":{},"content":{"94":{"position":[[3122,15]]},"226":{"position":[[3122,15]]}},"keywords":{}}],["preferred_density_for_binary_resourc",{"_index":8400,"title":{},"content":{"1470":{"position":[[1919,39]]}},"keywords":{}}],["preferred_linkag",{"_index":6758,"title":{},"content":{"1362":{"position":[[3714,18]]},"1364":{"position":[[3644,18]]},"1367":{"position":[[4926,18]]},"1370":{"position":[[1971,17]]},"1384":{"position":[[3403,18],[16548,18]]},"1387":{"position":[[3335,18]]},"1420":{"position":[[897,18]]},"1453":{"position":[[759,18],[1976,17]]},"1454":{"position":[[1986,18]]},"1472":{"position":[[1323,18]]},"1480":{"position":[[712,18]]}},"keywords":{}}],["prefix",{"_index":897,"title":{},"content":{"50":{"position":[[322,6]]},"89":{"position":[[28,7],[963,7]]},"197":{"position":[[322,6]]},"221":{"position":[[28,7],[963,7]]},"408":{"position":[[7,6],[53,6]]},"584":{"position":[[1064,9],[1155,7]]},"591":{"position":[[578,6]]},"608":{"position":[[81,6],[164,6]]},"609":{"position":[[81,6],[164,6]]},"618":{"position":[[129,7],[205,7]]},"648":{"position":[[514,6],[773,6]]},"787":{"position":[[7,6],[53,6]]},"951":{"position":[[147,7],[205,7],[582,6]]},"964":{"position":[[739,6]]},"1219":{"position":[[280,8]]},"1228":{"position":[[547,9]]},"1362":{"position":[[8359,6]]},"1364":{"position":[[9206,6],[9473,6]]},"1367":{"position":[[8447,6]]},"1382":{"position":[[5365,6]]},"1384":{"position":[[10312,6]]},"1385":{"position":[[3279,6]]},"1386":{"position":[[2978,8]]},"1387":{"position":[[5612,6]]},"1397":{"position":[[2204,8]]},"1422":{"position":[[2725,6]]},"1439":{"position":[[5420,8]]},"1454":{"position":[[7216,6]]},"1485":{"position":[[1647,6]]}},"keywords":{}}],["prefix_head",{"_index":6759,"title":{},"content":{"1362":{"position":[[3742,14]]},"1364":{"position":[[3672,14]]},"1367":{"position":[[4954,14]]},"1373":{"position":[[2501,14]]},"1382":{"position":[[2704,14]]},"1384":{"position":[[3431,14]]},"1385":{"position":[[1656,14]]},"1387":{"position":[[3363,14]]},"1388":{"position":[[2889,14]]},"1415":{"position":[[2157,14]]},"1462":{"position":[[3600,14]]},"1467":{"position":[[3869,14]]}},"keywords":{}}],["prefix_serialized_debug_info",{"_index":8498,"title":{},"content":{"1481":{"position":[[849,29]]}},"keywords":{}}],["preload",{"_index":6007,"title":{},"content":{"1181":{"position":[[595,7],[603,7]]},"1462":{"position":[[8559,7]]},"1467":{"position":[[10041,7]]}},"keywords":{}}],["preload_dep",{"_index":7863,"title":{},"content":{"1417":{"position":[[876,13]]},"1462":{"position":[[3631,13]]},"1467":{"position":[[3900,13],[9797,13]]}},"keywords":{}}],["prelud",{"_index":504,"title":{"1196":{"position":[[11,8]]}},"content":{"17":{"position":[[644,7],[657,7]]},"18":{"position":[[295,7],[1919,7],[2022,7],[2078,8]]},"24":{"position":[[715,7]]},"693":{"position":[[5690,8],[5703,7],[5820,7],[5886,7],[6015,7]]},"914":{"position":[[133,8]]},"946":{"position":[[598,8]]},"981":{"position":[[918,8]]},"1093":{"position":[[155,7],[678,7]]},"1095":{"position":[[45,7],[96,7],[232,8]]},"1098":{"position":[[537,7]]},"1102":{"position":[[43,7]]},"1108":{"position":[[166,7]]},"1161":{"position":[[188,7],[223,7]]},"1190":{"position":[[548,7],[578,7]]},"1196":{"position":[[22,7],[67,7]]},"1226":{"position":[[4328,8]]},"1237":{"position":[[4498,8]]}},"keywords":{}}],["prelude.bzl",{"_index":5421,"title":{},"content":{"1058":{"position":[[331,11]]}},"keywords":{}}],["prelude.rust",{"_index":137,"title":{},"content":{"7":{"position":[[79,12]]}},"keywords":{}}],["prelude//erlang/applications:<application>",{"_index":7464,"title":{},"content":{"1393":{"position":[[3594,49]]}},"keywords":{}}],["prelude//prelude.bzl",{"_index":3567,"title":{},"content":{"693":{"position":[[5744,21]]}},"keywords":{}}],["preludeinto",{"_index":499,"title":{},"content":{"17":{"position":[[519,11]]}},"keywords":{}}],["prepackaged_valid",{"_index":6939,"title":{},"content":{"1365":{"position":[[718,23]]}},"keywords":{}}],["prepend",{"_index":2130,"title":{},"content":{"405":{"position":[[550,8],[1499,7]]},"436":{"position":[[58,8],[180,7]]},"784":{"position":[[550,8],[1499,7]]},"815":{"position":[[58,8],[180,7]]},"1403":{"position":[[7499,7]]}},"keywords":{}}],["prepr",{"_index":3280,"title":{"659":{"position":[[0,6]]}},"content":{},"keywords":{}}],["prepr(a",{"_index":3281,"title":{},"content":{"659":{"position":[[4,8]]}},"keywords":{}}],["preprocess",{"_index":6814,"title":{},"content":{"1362":{"position":[[12384,13],[12525,13],[12579,15],[12679,13],[13178,13]]},"1364":{"position":[[12889,13],[13030,13],[13084,15],[13379,13],[13878,13]]},"1367":{"position":[[12292,13],[12433,13],[12487,15],[12587,13],[13086,13]]},"1373":{"position":[[7348,13],[7466,13]]},"1382":{"position":[[9669,13],[10100,13],[10241,13],[10295,15],[11041,13],[11540,13]]},"1384":{"position":[[9223,13],[16014,13],[16445,13],[16772,13],[16826,15],[18695,13],[19194,13]]},"1385":{"position":[[5896,13],[6326,13],[6466,13],[6619,13],[7118,13]]},"1387":{"position":[[9269,13],[9699,13],[9839,13],[9992,13],[10491,13]]},"1388":{"position":[[8734,13],[8788,15],[9534,13],[10033,13]]},"1442":{"position":[[2414,13],[2913,13]]},"1454":{"position":[[7011,13]]},"1485":{"position":[[3905,13],[4404,13]]}},"keywords":{}}],["preprocess_java_classes_bash",{"_index":6454,"title":{},"content":{"1350":{"position":[[3136,29]]},"1352":{"position":[[3135,29]]},"1353":{"position":[[1107,29]]}},"keywords":{}}],["preprocess_java_classes_cmd",{"_index":6455,"title":{},"content":{"1350":{"position":[[3182,28]]},"1352":{"position":[[3181,28]]},"1353":{"position":[[1153,28]]}},"keywords":{}}],["preprocess_java_classes_dep",{"_index":6456,"title":{},"content":{"1350":{"position":[[3227,29]]},"1352":{"position":[[3226,29]]},"1353":{"position":[[1198,29]]}},"keywords":{}}],["preprocessing).raw_head",{"_index":7065,"title":{},"content":{"1373":{"position":[[7520,27]]}},"keywords":{}}],["preprocessing).src",{"_index":7247,"title":{},"content":{"1385":{"position":[[6520,20]]},"1387":{"position":[[9893,20]]}},"keywords":{}}],["preprocessor",{"_index":7063,"title":{},"content":{"1373":{"position":[[7101,12]]},"1382":{"position":[[9422,12]]},"1383":{"position":[[3168,13],[3265,13]]},"1384":{"position":[[8976,12],[12148,12],[12385,12],[15767,12]]},"1385":{"position":[[5649,12]]},"1386":{"position":[[2033,12]]},"1387":{"position":[[9022,12]]},"1454":{"position":[[6764,12]]}},"keywords":{}}],["preprocessor_flag",{"_index":6760,"title":{},"content":{"1362":{"position":[[3773,19],[12487,19],[13854,18]]},"1364":{"position":[[3703,19],[12992,19],[14562,18]]},"1367":{"position":[[4985,19],[12395,19],[14438,18]]},"1373":{"position":[[2532,19],[7388,18],[7933,18]]},"1382":{"position":[[2735,19],[9709,18],[10203,19],[10709,18]]},"1384":{"position":[[3462,19],[16054,18],[16734,19],[17783,18]]},"1385":{"position":[[1687,19],[5936,18]]},"1387":{"position":[[3394,19],[9309,18]]},"1388":{"position":[[2920,19],[8696,19],[9202,18]]},"1415":{"position":[[2188,19]]},"1462":{"position":[[3660,19]]},"1467":{"position":[[3929,19]]},"1485":{"position":[[3574,18]]}},"keywords":{}}],["presenc",{"_index":3532,"title":{},"content":{"693":{"position":[[2298,8]]},"1370":{"position":[[2405,8],[2894,8]]}},"keywords":{}}],["present",{"_index":882,"title":{},"content":{"47":{"position":[[130,8]]},"76":{"position":[[226,7]]},"94":{"position":[[1770,7]]},"131":{"position":[[522,7]]},"194":{"position":[[130,8]]},"226":{"position":[[1770,7]]},"254":{"position":[[522,7]]},"405":{"position":[[2040,7]]},"505":{"position":[[226,7]]},"554":{"position":[[276,8]]},"557":{"position":[[288,8]]},"559":{"position":[[123,8],[349,8]]},"560":{"position":[[251,8],[573,8]]},"663":{"position":[[1075,7]]},"690":{"position":[[3338,7]]},"784":{"position":[[2040,7]]},"901":{"position":[[1029,7]]},"1045":{"position":[[294,8],[406,8]]},"1050":{"position":[[1164,8]]},"1052":{"position":[[939,8]]},"1071":{"position":[[711,7]]},"1112":{"position":[[2828,7]]},"1172":{"position":[[68,9]]},"1228":{"position":[[669,8],[721,8]]},"1355":{"position":[[5793,7],[5987,7],[6809,7],[7022,8]]},"1360":{"position":[[5210,8]]},"1363":{"position":[[6062,8]]},"1370":{"position":[[2633,7],[2807,8]]},"1374":{"position":[[2274,8]]},"1382":{"position":[[5323,7]]},"1384":{"position":[[19279,8]]},"1388":{"position":[[6017,7]]},"1393":{"position":[[2543,7]]},"1398":{"position":[[3928,7],[3993,7],[5326,7]]},"1403":{"position":[[4272,7],[4299,8],[4462,7],[4555,7],[5367,8],[5501,8],[5847,7]]},"1407":{"position":[[2591,7]]},"1415":{"position":[[5256,8]]},"1427":{"position":[[4966,7],[5160,7],[6008,7],[6221,8]]},"1442":{"position":[[2313,7]]},"1454":{"position":[[9292,8]]},"1462":{"position":[[7790,8]]},"1467":{"position":[[8850,8]]},"1487":{"position":[[2082,8]]}},"keywords":{}}],["present.when",{"_index":3680,"title":{},"content":{"706":{"position":[[1949,12]]}},"keywords":{}}],["preserv",{"_index":1843,"title":{},"content":{"345":{"position":[[430,8],[565,10]]},"617":{"position":[[388,9]]},"888":{"position":[[1388,10]]},"892":{"position":[[2069,10]]}},"keywords":{}}],["press",{"_index":5765,"title":{},"content":{"1120":{"position":[[115,5]]},"1136":{"position":[[5494,5]]},"1138":{"position":[[9156,5]]},"1140":{"position":[[8082,5]]},"1142":{"position":[[3526,5]]},"1146":{"position":[[3466,5]]},"1148":{"position":[[6506,5]]},"1155":{"position":[[3562,5]]},"1156":{"position":[[3140,5]]},"1161":{"position":[[1033,5]]},"1167":{"position":[[9086,5]]},"1181":{"position":[[1245,5]]},"1186":{"position":[[4730,5]]},"1187":{"position":[[4743,5]]},"1188":{"position":[[9469,5]]},"1191":{"position":[[3330,5]]},"1192":{"position":[[3505,5]]},"1193":{"position":[[3557,5]]},"1194":{"position":[[3197,5]]},"1195":{"position":[[3175,5]]},"1196":{"position":[[2985,5]]},"1197":{"position":[[3968,5]]},"1198":{"position":[[3978,5]]},"1199":{"position":[[4006,5]]},"1200":{"position":[[3873,5]]},"1201":{"position":[[3133,5]]},"1202":{"position":[[4275,5],[8672,5]]},"1203":{"position":[[3367,5]]},"1204":{"position":[[3211,5]]},"1205":{"position":[[4540,5]]},"1206":{"position":[[3011,5]]},"1207":{"position":[[3168,5]]},"1209":{"position":[[4516,5]]},"1217":{"position":[[7827,5]]},"1222":{"position":[[2937,5]]},"1223":{"position":[[2947,5]]},"1226":{"position":[[8295,5]]},"1228":{"position":[[9908,5]]},"1235":{"position":[[5776,5]]},"1237":{"position":[[8465,5]]}},"keywords":{}}],["presumablyjava/com/facebook/common/collect/buck",{"_index":3038,"title":{},"content":{"622":{"position":[[1339,47]]}},"keywords":{}}],["pretti",{"_index":1271,"title":{},"content":{"99":{"position":[[495,7]]},"231":{"position":[[495,7]]},"347":{"position":[[42,7],[120,6],[141,6],[182,6]]},"659":{"position":[[64,6]]},"661":{"position":[[62,6]]},"1013":{"position":[[35,6]]}},"keywords":{}}],["prettyimag",{"_index":6961,"title":{},"content":{"1366":{"position":[[3347,15]]}},"keywords":{}}],["prevent",{"_index":3701,"title":{},"content":{"708":{"position":[[1069,10]]},"834":{"position":[[491,7]]},"955":{"position":[[1084,8]]},"1079":{"position":[[1246,7]]},"1247":{"position":[[440,7]]},"1355":{"position":[[6046,8],[6934,8],[7059,8]]},"1386":{"position":[[6317,10]]},"1393":{"position":[[3051,7],[3871,7]]},"1427":{"position":[[5219,8],[6133,8],[6258,8]]},"1446":{"position":[[2185,8]]},"1459":{"position":[[2158,8]]},"1477":{"position":[[1681,8]]}},"keywords":{}}],["previou",{"_index":1198,"title":{},"content":{"94":{"position":[[1741,8],[1984,8]]},"226":{"position":[[1741,8],[1984,8]]},"622":{"position":[[1206,8]]},"872":{"position":[[1029,8]]},"943":{"position":[[2402,8]]},"944":{"position":[[237,8]]},"945":{"position":[[849,8]]},"1035":{"position":[[25,8]]},"1050":{"position":[[168,8],[426,8],[569,8],[972,8],[3333,8],[3425,8]]},"1136":{"position":[[3194,8],[3257,8],[3379,8]]},"1138":{"position":[[6856,8],[6919,8],[7041,8]]},"1140":{"position":[[5782,8],[5845,8],[5967,8]]},"1142":{"position":[[1226,8],[1289,8],[1411,8]]},"1146":{"position":[[1166,8],[1229,8],[1351,8]]},"1148":{"position":[[4206,8],[4269,8],[4391,8]]},"1155":{"position":[[1262,8],[1325,8],[1447,8]]},"1156":{"position":[[840,8],[903,8],[1025,8]]},"1167":{"position":[[6786,8],[6849,8],[6971,8]]},"1169":{"position":[[625,8],[688,8],[810,8]]},"1186":{"position":[[2430,8],[2493,8],[2615,8]]},"1187":{"position":[[2443,8],[2506,8],[2628,8]]},"1188":{"position":[[7169,8],[7232,8],[7354,8]]},"1191":{"position":[[1030,8],[1093,8],[1215,8]]},"1192":{"position":[[1205,8],[1268,8],[1390,8]]},"1193":{"position":[[1257,8],[1320,8],[1442,8]]},"1194":{"position":[[897,8],[960,8],[1082,8]]},"1195":{"position":[[875,8],[938,8],[1060,8]]},"1196":{"position":[[685,8],[748,8],[870,8]]},"1197":{"position":[[1668,8],[1731,8],[1853,8]]},"1198":{"position":[[1678,8],[1741,8],[1863,8]]},"1199":{"position":[[1706,8],[1769,8],[1891,8]]},"1200":{"position":[[1573,8],[1636,8],[1758,8]]},"1201":{"position":[[833,8],[896,8],[1018,8]]},"1202":{"position":[[1975,8],[2038,8],[2160,8],[6372,8],[6435,8],[6557,8]]},"1203":{"position":[[1067,8],[1130,8],[1252,8]]},"1204":{"position":[[911,8],[974,8],[1096,8]]},"1205":{"position":[[2240,8],[2303,8],[2425,8]]},"1206":{"position":[[711,8],[774,8],[896,8]]},"1207":{"position":[[868,8],[931,8],[1053,8]]},"1209":{"position":[[2216,8],[2279,8],[2401,8]]},"1217":{"position":[[5527,8],[5590,8],[5712,8]]},"1219":{"position":[[1513,8],[1576,8],[1698,8]]},"1222":{"position":[[637,8],[700,8],[822,8]]},"1223":{"position":[[647,8],[710,8],[832,8]]},"1224":{"position":[[827,8],[890,8],[1012,8]]},"1226":{"position":[[5995,8],[6058,8],[6180,8]]},"1228":{"position":[[7608,8],[7671,8],[7793,8]]},"1235":{"position":[[3476,8],[3539,8],[3661,8]]},"1237":{"position":[[6165,8],[6228,8],[6350,8]]},"1487":{"position":[[1949,8]]}},"keywords":{}}],["previous",{"_index":2321,"title":{},"content":{"430":{"position":[[74,10]]},"572":{"position":[[158,10]]},"574":{"position":[[13,11]]},"809":{"position":[[74,10]]},"981":{"position":[[311,10]]},"1138":{"position":[[3384,10],[3497,10]]},"1140":{"position":[[2873,10],[2986,10]]},"1167":{"position":[[3877,10],[3990,10]]},"1188":{"position":[[2926,10],[3039,10]]},"1217":{"position":[[2618,10],[2731,10]]},"1228":{"position":[[4699,10],[4812,10]]}},"keywords":{}}],["primari",{"_index":1910,"title":{},"content":{"362":{"position":[[2237,8]]},"675":{"position":[[1185,7]]},"741":{"position":[[2237,8]]},"840":{"position":[[1440,7]]},"1384":{"position":[[19567,7],[19742,7]]},"1459":{"position":[[1655,7],[1839,7]]}},"keywords":{}}],["primary_dex_pattern",{"_index":6457,"title":{},"content":{"1350":{"position":[[3272,21]]},"1352":{"position":[[3271,21]]},"1353":{"position":[[1243,21]]}},"keywords":{}}],["primit",{"_index":5041,"title":{},"content":{"1009":{"position":[[566,9]]}},"keywords":{}}],["principl",{"_index":4519,"title":{},"content":{"924":{"position":[[10,9]]},"937":{"position":[[2915,11],[3114,10]]}},"keywords":{}}],["print",{"_index":1581,"title":{"660":{"position":[[0,6]]},"833":{"position":[[53,9]]}},"content":{"288":{"position":[[65,7],[120,5],[183,7],[196,5]]},"289":{"position":[[65,7],[140,5],[203,7],[216,5]]},"305":{"position":[[248,6],[296,7]]},"344":{"position":[[348,7],[381,5]]},"346":{"position":[[316,6],[364,7]]},"347":{"position":[[127,7],[148,8],[352,6],[400,7]]},"416":{"position":[[201,5]]},"417":{"position":[[430,5]]},"450":{"position":[[35,5],[218,5],[247,8]]},"510":{"position":[[91,7],[146,5],[209,7],[222,5]]},"511":{"position":[[91,7],[166,5],[229,7],[242,5]]},"635":{"position":[[29,5]]},"659":{"position":[[71,7]]},"660":{"position":[[29,5]]},"661":{"position":[[69,7]]},"693":{"position":[[3697,8]]},"712":{"position":[[2838,5],[2995,5]]},"795":{"position":[[201,5]]},"796":{"position":[[430,5]]},"829":{"position":[[35,5],[218,5],[247,8]]},"833":{"position":[[294,6],[400,5],[423,7]]},"834":{"position":[[20,6],[147,5],[213,8]]},"840":{"position":[[1101,7],[1499,5],[1657,6],[1833,5]]},"860":{"position":[[459,5],[476,9]]},"869":{"position":[[520,5]]},"877":{"position":[[92,5]]},"910":{"position":[[389,5],[494,5]]},"946":{"position":[[505,5],[687,5]]},"955":{"position":[[1198,7]]},"959":{"position":[[348,5]]},"962":{"position":[[412,6]]},"1106":{"position":[[20,5]]},"1116":{"position":[[18,6]]},"1121":{"position":[[55,5]]},"1136":{"position":[[350,5],[2288,7],[2403,5],[4943,7]]},"1138":{"position":[[159,5],[258,5],[339,5],[450,5],[534,5],[626,5],[1482,5],[1527,5],[5502,5],[8605,7]]},"1140":{"position":[[971,5],[1016,5],[4991,5],[7531,7]]},"1142":{"position":[[155,6],[695,5],[2975,7]]},"1144":{"position":[[0,5],[343,5]]},"1146":{"position":[[375,5],[2915,7]]},"1148":{"position":[[303,8],[883,5],[2644,7],[2852,5],[5955,7]]},"1150":{"position":[[578,5]]},"1152":{"position":[[0,5],[120,5],[276,5]]},"1154":{"position":[[0,5],[112,5],[235,5],[279,5],[317,5],[353,5],[431,5]]},"1155":{"position":[[0,5],[731,5],[3011,7]]},"1156":{"position":[[309,5],[2589,7]]},"1157":{"position":[[0,5],[214,5]]},"1158":{"position":[[0,5],[208,5]]},"1159":{"position":[[0,5],[208,5]]},"1161":{"position":[[472,5]]},"1163":{"position":[[270,5]]},"1165":{"position":[[99,5]]},"1167":{"position":[[268,6],[1975,5],[2020,5],[5995,5],[8535,7]]},"1169":{"position":[[94,5],[2374,7]]},"1171":{"position":[[846,5],[924,5]]},"1172":{"position":[[2309,5]]},"1173":{"position":[[996,5]]},"1174":{"position":[[424,5]]},"1175":{"position":[[420,5]]},"1176":{"position":[[589,5]]},"1177":{"position":[[428,5],[510,5]]},"1178":{"position":[[827,5]]},"1179":{"position":[[624,5]]},"1180":{"position":[[895,5]]},"1181":{"position":[[684,5]]},"1182":{"position":[[458,5]]},"1183":{"position":[[413,5]]},"1185":{"position":[[180,5],[258,5]]},"1186":{"position":[[1076,5],[4179,7]]},"1187":{"position":[[1089,5],[4192,7]]},"1188":{"position":[[1024,5],[1069,5],[5815,5],[8918,7]]},"1190":{"position":[[163,6],[443,6],[556,5],[606,6],[663,5],[773,6],[991,6],[1511,5],[1589,5]]},"1191":{"position":[[499,5],[2779,7]]},"1192":{"position":[[0,6],[414,5],[2954,7]]},"1193":{"position":[[223,7],[256,7],[726,5],[3006,7]]},"1194":{"position":[[0,6],[247,5],[366,5],[2646,7]]},"1195":{"position":[[247,5],[344,5],[2624,7]]},"1196":{"position":[[0,5],[154,5],[2434,7]]},"1197":{"position":[[0,6],[237,5],[249,5],[314,5],[3417,7]]},"1198":{"position":[[0,5],[192,5],[221,5],[288,5],[324,5],[3427,7]]},"1199":{"position":[[283,5],[352,5],[3455,7]]},"1200":{"position":[[0,6],[219,5],[3322,7]]},"1201":{"position":[[302,5],[2582,7]]},"1202":{"position":[[288,5],[366,5],[1444,5],[3724,7],[5841,5],[8121,7]]},"1203":{"position":[[0,6],[276,5],[2816,7]]},"1204":{"position":[[253,5],[380,5],[2660,7],[4602,5],[5532,5],[6434,5],[7420,5],[8374,5],[9321,5],[10251,5]]},"1205":{"position":[[1449,5],[3989,7]]},"1206":{"position":[[180,5],[2460,7]]},"1207":{"position":[[337,5],[2617,7]]},"1209":{"position":[[1521,7],[1685,5],[3965,7]]},"1211":{"position":[[123,5],[329,5]]},"1213":{"position":[[100,5]]},"1215":{"position":[[135,8],[184,5]]},"1217":{"position":[[593,5],[716,5],[761,5],[4736,5],[7276,7]]},"1219":{"position":[[982,5],[3262,7]]},"1221":{"position":[[225,5],[303,5]]},"1222":{"position":[[106,5],[2386,7]]},"1223":{"position":[[116,5],[2396,7]]},"1224":{"position":[[296,5],[2576,7]]},"1226":{"position":[[151,5],[186,5],[222,5],[290,5],[374,5],[463,5],[3158,8],[3338,5],[3437,5],[3518,5],[3629,5],[3713,5],[3805,5],[5204,5],[7744,7]]},"1228":{"position":[[2797,5],[2842,5],[6817,5],[9357,7]]},"1235":{"position":[[676,5],[957,8],[2781,7],[2945,5],[5225,7]]},"1237":{"position":[[321,5],[356,5],[392,5],[460,5],[544,5],[633,5],[3328,8],[3508,5],[3607,5],[3688,5],[3799,5],[3883,5],[3975,5],[5374,5],[7914,7]]},"1240":{"position":[[95,5]]},"1244":{"position":[[95,5]]},"1398":{"position":[[6647,5]]},"1477":{"position":[[2923,6],[3116,6]]},"1478":{"position":[[3073,6]]}},"keywords":{}}],["print(*arg",{"_index":3283,"title":{},"content":{"660":{"position":[[4,12]]}},"keywords":{}}],["print(ensured_with_abs_path",{"_index":1594,"title":{},"content":{"288":{"position":[[604,28]]},"510":{"position":[[675,28]]}},"keywords":{}}],["print(ensured_with_rel_path",{"_index":1601,"title":{},"content":{"289":{"position":[[624,28]]},"511":{"position":[[690,28]]}},"keywords":{}}],["print(providers[upperinfo].messag",{"_index":5230,"title":{},"content":{"1047":{"position":[[298,35]]}},"keywords":{}}],["print(x",{"_index":4211,"title":{},"content":{"890":{"position":[[1475,8]]}},"keywords":{}}],["printand",{"_index":1689,"title":{},"content":{"305":{"position":[[330,8]]},"346":{"position":[[398,8]]},"347":{"position":[[434,8]]}},"keywords":{}}],["prior",{"_index":3252,"title":{},"content":{"654":{"position":[[309,5]]},"693":{"position":[[2613,5]]},"924":{"position":[[2367,5]]},"1050":{"position":[[4302,5]]},"1053":{"position":[[1367,5]]},"1360":{"position":[[3594,5]]},"1383":{"position":[[6240,5]]},"1386":{"position":[[4502,5]]},"1403":{"position":[[3009,5]]}},"keywords":{}}],["prioriti",{"_index":6651,"title":{},"content":{"1360":{"position":[[2926,8],[4668,8]]},"1383":{"position":[[2511,8],[6700,8]]},"1403":{"position":[[2341,8],[4083,8]]}},"keywords":{}}],["priv",{"_index":7485,"title":{},"content":{"1393":{"position":[[7009,5],[7227,5],[9925,5]]},"1395":{"position":[[2313,4],[2400,4]]}},"keywords":{}}],["privacy_manifest",{"_index":6861,"title":{},"content":{"1363":{"position":[[2198,17],[5399,17]]}},"keywords":{}}],["privat",{"_index":6310,"title":{},"content":{"1345":{"position":[[647,7]]},"1393":{"position":[[6655,7],[6855,7],[7883,7]]},"1398":{"position":[[3155,7],[3265,7]]},"1459":{"position":[[2296,7]]}},"keywords":{}}],["private_headers_symlinks_en",{"_index":7386,"title":{},"content":{"1389":{"position":[[3189,33]]}},"keywords":{}}],["private_key=123",{"_index":6070,"title":{},"content":{"1228":{"position":[[383,15]]}},"keywords":{}}],["pro",{"_index":3369,"title":{"675":{"position":[[13,3]]}},"content":{"924":{"position":[[944,3],[1260,3],[2070,4]]}},"keywords":{}}],["probabl",{"_index":1144,"title":{},"content":{"92":{"position":[[1679,9]]},"224":{"position":[[1679,9]]},"584":{"position":[[708,8]]},"898":{"position":[[1417,8]]},"941":{"position":[[365,8]]},"991":{"position":[[3023,8],[3414,8]]},"1040":{"position":[[1781,9]]},"1104":{"position":[[1045,8]]},"1186":{"position":[[751,8]]},"1187":{"position":[[764,8]]},"1188":{"position":[[5490,8]]},"1439":{"position":[[6236,8]]}},"keywords":{}}],["problem",{"_index":3629,"title":{},"content":{"703":{"position":[[170,8]]},"846":{"position":[[1525,8]]},"890":{"position":[[99,8]]},"898":{"position":[[103,8]]},"937":{"position":[[3540,8]]},"980":{"position":[[940,8]]},"988":{"position":[[81,8]]},"1136":{"position":[[4740,9]]},"1138":{"position":[[8402,9]]},"1140":{"position":[[7328,9]]},"1142":{"position":[[2772,9]]},"1146":{"position":[[2712,9]]},"1148":{"position":[[5752,9]]},"1155":{"position":[[2808,9]]},"1156":{"position":[[2386,9]]},"1167":{"position":[[8332,9]]},"1169":{"position":[[2171,9]]},"1186":{"position":[[3976,9]]},"1187":{"position":[[3989,9]]},"1188":{"position":[[8715,9]]},"1191":{"position":[[2576,9]]},"1192":{"position":[[2751,9]]},"1193":{"position":[[2803,9]]},"1194":{"position":[[2443,9]]},"1195":{"position":[[2421,9]]},"1196":{"position":[[2231,9]]},"1197":{"position":[[3214,9]]},"1198":{"position":[[3224,9]]},"1199":{"position":[[3252,9]]},"1200":{"position":[[3119,9]]},"1201":{"position":[[2379,9]]},"1202":{"position":[[3521,9],[7918,9]]},"1203":{"position":[[2613,9]]},"1204":{"position":[[2457,9]]},"1205":{"position":[[3786,9]]},"1206":{"position":[[2257,9]]},"1207":{"position":[[2414,9]]},"1209":{"position":[[3762,9]]},"1217":{"position":[[7073,9]]},"1219":{"position":[[3059,9]]},"1222":{"position":[[2183,9]]},"1223":{"position":[[2193,9]]},"1224":{"position":[[2373,9]]},"1226":{"position":[[7541,9]]},"1228":{"position":[[9154,9]]},"1235":{"position":[[5022,9]]},"1237":{"position":[[7711,9]]},"1387":{"position":[[6938,8]]}},"keywords":{}}],["problemat",{"_index":2627,"title":{},"content":{"576":{"position":[[146,12]]},"919":{"position":[[1969,11]]},"937":{"position":[[668,11]]}},"keywords":{}}],["proc",{"_index":4877,"title":{"987":{"position":[[19,4]]},"991":{"position":[[9,4]]}},"content":{"987":{"position":[[5,4],[172,4],[215,4],[339,4],[461,4],[586,4]]},"991":{"position":[[1010,4],[1103,4],[1159,4],[1385,4],[2873,4],[3121,4]]}},"keywords":{}}],["proc_macro",{"_index":4882,"title":{},"content":{"987":{"position":[[323,11],[711,10],[819,10]]},"991":{"position":[[1701,10],[1889,10]]},"1472":{"position":[[1351,11]]}},"keywords":{}}],["proce",{"_index":5128,"title":{},"content":{"1037":{"position":[[470,7]]},"1067":{"position":[[731,7]]}},"keywords":{}}],["procedur",{"_index":3386,"title":{},"content":{"678":{"position":[[76,11],[157,10]]}},"keywords":{}}],["process",{"_index":264,"title":{},"content":{"9":{"position":[[1809,7],[1920,8]]},"377":{"position":[[982,7]]},"584":{"position":[[1253,7]]},"692":{"position":[[16,7]]},"693":{"position":[[4026,7]]},"696":{"position":[[403,7]]},"715":{"position":[[1633,8]]},"723":{"position":[[66,9]]},"724":{"position":[[1432,7]]},"756":{"position":[[982,7]]},"864":{"position":[[1520,9]]},"890":{"position":[[120,7]]},"892":{"position":[[1133,10],[1351,7]]},"898":{"position":[[124,7]]},"945":{"position":[[270,8]]},"946":{"position":[[462,7],[555,7],[758,8]]},"955":{"position":[[1168,7],[1365,10]]},"1052":{"position":[[888,7],[977,7]]},"1053":{"position":[[1548,7]]},"1060":{"position":[[132,7],[241,8]]},"1138":{"position":[[3216,7]]},"1140":{"position":[[2705,7]]},"1163":{"position":[[111,9]]},"1165":{"position":[[15,9]]},"1167":{"position":[[1516,7],[3709,7]]},"1172":{"position":[[1820,7]]},"1188":{"position":[[2758,7]]},"1217":{"position":[[2450,7]]},"1226":{"position":[[264,9]]},"1228":{"position":[[4531,7]]},"1231":{"position":[[74,7],[287,8],[435,7]]},"1237":{"position":[[434,9]]},"1247":{"position":[[639,7]]},"1253":{"position":[[167,7],[433,7],[569,9]]},"1254":{"position":[[205,7],[485,7]]},"1355":{"position":[[3316,11]]},"1360":{"position":[[1370,7],[4437,8]]},"1363":{"position":[[4975,9],[5213,10]]},"1367":{"position":[[9891,9],[10129,10]]},"1383":{"position":[[1266,8],[6470,8]]},"1393":{"position":[[7997,9]]},"1403":{"position":[[3852,8]]},"1426":{"position":[[2736,7]]},"1429":{"position":[[4032,7],[4045,7],[4454,7]]},"1439":{"position":[[3137,11]]},"1440":{"position":[[4025,7],[4038,7],[4447,7]]},"1467":{"position":[[8660,11]]},"1486":{"position":[[2923,7],[3687,7],[3776,7],[5287,8]]}},"keywords":{}}],["process(target",{"_index":6215,"title":{},"content":{"1253":{"position":[[262,15],[520,15]]}},"keywords":{}}],["process.corn",{"_index":403,"title":{},"content":{"12":{"position":[[335,14]]}},"keywords":{}}],["process.per_testa",{"_index":7998,"title":{},"content":{"1429":{"position":[[4436,17]]},"1440":{"position":[[4429,17]]}},"keywords":{}}],["process_xml",{"_index":7658,"title":{},"content":{"1401":{"position":[[1851,14]]}},"keywords":{}}],["processed.xml",{"_index":7659,"title":{},"content":{"1401":{"position":[[1872,16]]}},"keywords":{}}],["processor",{"_index":2254,"title":{},"content":{"419":{"position":[[93,9]]},"798":{"position":[[93,9]]},"1355":{"position":[[3432,10]]},"1439":{"position":[[3253,10]]}},"keywords":{}}],["processor_class",{"_index":7945,"title":{},"content":{"1425":{"position":[[601,16]]}},"keywords":{}}],["produc",{"_index":423,"title":{"1032":{"position":[[0,9]]}},"content":{"13":{"position":[[199,8]]},"81":{"position":[[274,9]]},"92":{"position":[[2143,7]]},"98":{"position":[[991,7]]},"99":{"position":[[1399,7]]},"118":{"position":[[148,7]]},"119":{"position":[[143,9]]},"213":{"position":[[274,9]]},"224":{"position":[[2143,7]]},"230":{"position":[[991,7]]},"231":{"position":[[1399,7]]},"362":{"position":[[983,8]]},"363":{"position":[[408,8]]},"366":{"position":[[234,8]]},"367":{"position":[[262,8]]},"368":{"position":[[482,8]]},"374":{"position":[[416,8]]},"377":{"position":[[485,8]]},"379":{"position":[[189,8]]},"386":{"position":[[342,8]]},"389":{"position":[[193,8]]},"396":{"position":[[272,8]]},"397":{"position":[[127,8]]},"398":{"position":[[146,8]]},"399":{"position":[[146,8]]},"400":{"position":[[473,7]]},"405":{"position":[[1169,8],[1706,7]]},"434":{"position":[[86,8]]},"446":{"position":[[98,7]]},"534":{"position":[[148,7]]},"535":{"position":[[143,9]]},"630":{"position":[[101,8]]},"635":{"position":[[163,7]]},"636":{"position":[[107,8]]},"644":{"position":[[135,8]]},"648":{"position":[[120,8]]},"652":{"position":[[101,8]]},"659":{"position":[[42,8]]},"661":{"position":[[40,8]]},"662":{"position":[[116,8]]},"668":{"position":[[81,8]]},"669":{"position":[[63,8]]},"670":{"position":[[133,8]]},"671":{"position":[[102,8]]},"675":{"position":[[729,7]]},"680":{"position":[[843,8]]},"681":{"position":[[461,8]]},"686":{"position":[[28,8]]},"693":{"position":[[340,8],[477,8],[2795,7],[10092,7]]},"704":{"position":[[189,7],[252,8],[1007,7],[1183,7],[1577,7],[2191,8],[2344,7],[2441,8]]},"706":{"position":[[1048,8]]},"711":{"position":[[1198,7]]},"712":{"position":[[1442,9]]},"722":{"position":[[1161,7]]},"741":{"position":[[983,8]]},"742":{"position":[[408,8]]},"745":{"position":[[234,8]]},"746":{"position":[[262,8]]},"747":{"position":[[482,8]]},"753":{"position":[[416,8]]},"756":{"position":[[485,8]]},"758":{"position":[[189,8]]},"765":{"position":[[342,8]]},"768":{"position":[[193,8]]},"775":{"position":[[272,8]]},"776":{"position":[[127,8]]},"777":{"position":[[146,8]]},"778":{"position":[[146,8]]},"779":{"position":[[473,7]]},"784":{"position":[[1169,8],[1706,7]]},"813":{"position":[[86,8]]},"825":{"position":[[98,7]]},"832":{"position":[[766,8]]},"836":{"position":[[15,8]]},"845":{"position":[[154,7]]},"846":{"position":[[1913,8]]},"848":{"position":[[480,9]]},"887":{"position":[[386,7]]},"892":{"position":[[1896,8]]},"900":{"position":[[600,8]]},"976":{"position":[[63,7]]},"1004":{"position":[[2038,7],[2095,8],[2278,7]]},"1017":{"position":[[776,8]]},"1030":{"position":[[222,7]]},"1032":{"position":[[18,7],[281,9],[342,8]]},"1033":{"position":[[28,8]]},"1037":{"position":[[307,7],[676,9]]},"1049":{"position":[[543,8]]},"1050":{"position":[[98,7]]},"1054":{"position":[[507,8]]},"1057":{"position":[[179,8]]},"1059":{"position":[[26,8]]},"1070":{"position":[[223,7],[261,7]]},"1073":{"position":[[83,7]]},"1086":{"position":[[411,7]]},"1098":{"position":[[690,7]]},"1102":{"position":[[915,9]]},"1103":{"position":[[1212,8],[1918,7]]},"1105":{"position":[[918,8],[1071,7]]},"1107":{"position":[[52,8]]},"1136":{"position":[[367,9],[1146,7],[2326,7]]},"1138":{"position":[[1420,8],[3293,8],[3395,8],[3454,7],[3508,8],[3559,8]]},"1140":{"position":[[2782,8],[2884,8],[2943,7],[2997,8],[3048,8]]},"1148":{"position":[[1502,7],[2682,7]]},"1167":{"position":[[3786,8],[3888,8],[3947,7],[4001,8],[4052,8]]},"1180":{"position":[[50,8]]},"1188":{"position":[[2835,8],[2937,8],[2996,7],[3050,8],[3101,8]]},"1190":{"position":[[1135,8]]},"1193":{"position":[[353,7]]},"1205":{"position":[[22,8],[626,7]]},"1209":{"position":[[379,7],[1559,7]]},"1217":{"position":[[2527,8],[2629,8],[2688,7],[2742,8],[2793,8]]},"1226":{"position":[[2319,7],[4437,8],[4627,8]]},"1228":{"position":[[4608,8],[4710,8],[4769,7],[4823,8],[4874,8]]},"1235":{"position":[[1639,7],[2819,7]]},"1237":{"position":[[2489,7],[4607,8],[4797,8]]},"1353":{"position":[[3262,7]]},"1360":{"position":[[1468,7],[5898,7]]},"1384":{"position":[[18305,8]]},"1395":{"position":[[3166,8]]},"1403":{"position":[[1283,7]]},"1415":{"position":[[5178,7]]},"1471":{"position":[[5438,7],[5529,8],[5566,8]]},"1472":{"position":[[5621,8],[6324,7],[6415,8],[6452,8]]},"1473":{"position":[[4046,7]]}},"keywords":{}}],["produceartifact",{"_index":5642,"title":{},"content":{"1103":{"position":[[62,16]]}},"keywords":{}}],["product",{"_index":3390,"title":{},"content":{"678":{"position":[[249,7]]},"705":{"position":[[138,7]]},"1363":{"position":[[5754,7]]},"1386":{"position":[[5085,10]]}},"keywords":{}}],["product_nam",{"_index":6862,"title":{},"content":{"1363":{"position":[[2232,13],[5481,13],[5565,12]]}},"keywords":{}}],["productus",{"_index":135,"title":{},"content":{"7":{"position":[[37,12]]}},"keywords":{}}],["produt",{"_index":7483,"title":{},"content":{"1393":{"position":[[6835,9]]}},"keywords":{}}],["profil",{"_index":377,"title":{"860":{"position":[[0,10]]},"1056":{"position":[[9,10]]},"1057":{"position":[[8,10]]},"1058":{"position":[[10,10]]},"1059":{"position":[[6,10]]},"1060":{"position":[[7,10]]},"1184":{"position":[[0,7]]},"1185":{"position":[[5,8]]},"1186":{"position":[[5,7]]},"1187":{"position":[[5,7]]},"1188":{"position":[[5,7]]},"1249":{"position":[[0,8]]}},"content":{"11":{"position":[[489,9],[540,9],[621,8]]},"23":{"position":[[351,9]]},"856":{"position":[[382,9]]},"860":{"position":[[22,9]]},"877":{"position":[[649,9]]},"919":{"position":[[964,8]]},"1056":{"position":[[15,9],[70,9],[139,9],[165,7],[186,7],[208,7],[239,7],[327,7],[437,9],[502,7],[695,9],[924,8],[1104,7],[1196,7],[1292,7],[1370,7]]},"1057":{"position":[[10,9],[545,9],[1058,9],[1359,7]]},"1058":{"position":[[11,9],[374,7],[768,7],[1040,9]]},"1059":{"position":[[10,9]]},"1060":{"position":[[0,9],[114,7],[178,9],[216,7],[318,9]]},"1061":{"position":[[262,8],[333,9]]},"1148":{"position":[[7041,9],[7062,7],[7096,7],[7159,7],[7245,8],[7284,7],[7515,7],[7568,7]]},"1185":{"position":[[13,8],[43,7],[96,7],[121,7],[156,7]]},"1186":{"position":[[0,7],[38,7],[197,10],[220,7],[286,7],[341,7],[446,7],[467,9],[643,9],[779,9]]},"1187":{"position":[[0,7],[52,7],[210,10],[233,7],[299,7],[354,7],[459,7],[480,9],[656,9],[792,9]]},"1188":{"position":[[0,7],[40,7],[5080,7],[5185,7],[5206,9],[5382,9],[5518,9]]},"1231":{"position":[[142,10],[623,8],[756,8]]},"1249":{"position":[[80,7],[154,9]]},"1363":{"position":[[3079,9],[6291,8],[6313,8],[6344,8],[6430,7],[6705,8],[6727,8],[6758,8],[6844,7]]}},"keywords":{}}],["profiled_static_lib",{"_index":7875,"title":{},"content":{"1421":{"position":[[806,21]]}},"keywords":{}}],["program",{"_index":629,"title":{},"content":{"22":{"position":[[63,11]]},"870":{"position":[[641,8],[848,8],[1133,8]]},"879":{"position":[[324,7]]},"888":{"position":[[970,8]]},"889":{"position":[[1000,8]]},"890":{"position":[[6725,8]]},"900":{"position":[[1453,7]]},"1255":{"position":[[200,7]]}},"keywords":{}}],["program!"",{"_index":552,"title":{},"content":{"18":{"position":[[528,14]]}},"keywords":{}}],["programat",{"_index":2281,"title":{},"content":{"421":{"position":[[216,15]]},"800":{"position":[[216,15]]}},"keywords":{}}],["progress",{"_index":802,"title":{},"content":{"24":{"position":[[1079,9]]},"93":{"position":[[125,9]]},"225":{"position":[[125,9]]},"1079":{"position":[[1233,8]]}},"keywords":{}}],["proguard",{"_index":6480,"title":{},"content":{"1351":{"position":[[3430,8]]}},"keywords":{}}],["proguard.cfg",{"_index":6514,"title":{},"content":{"1353":{"position":[[3202,15]]},"1354":{"position":[[3341,15]]},"1360":{"position":[[6118,15]]}},"keywords":{}}],["proguard_config",{"_index":6370,"title":{},"content":{"1348":{"position":[[2146,16]]},"1350":{"position":[[3309,16]]},"1352":{"position":[[3308,16]]},"1353":{"position":[[3184,15]]},"1354":{"position":[[3323,15]]},"1355":{"position":[[1619,16]]},"1360":{"position":[[6100,15]]},"1412":{"position":[[1039,16]]},"1413":{"position":[[1185,16]]},"1427":{"position":[[1256,16]]},"1429":{"position":[[1490,16]]},"1430":{"position":[[1059,16]]},"1439":{"position":[[1492,16]]},"1440":{"position":[[1691,16]]},"1470":{"position":[[1975,16]]},"1474":{"position":[[1035,16]]},"1475":{"position":[[1181,16]]}},"keywords":{}}],["proguard_jvm_arg",{"_index":6458,"title":{},"content":{"1350":{"position":[[3342,18]]},"1352":{"position":[[3341,18]]}},"keywords":{}}],["prohibit",{"_index":682,"title":{},"content":{"22":{"position":[[1803,13]]},"942":{"position":[[1189,10]]}},"keywords":{}}],["project",{"_index":68,"title":{"7":{"position":[[9,8]]},"17":{"position":[[21,8]]},"18":{"position":[[32,8]]},"696":{"position":[[15,8]]},"872":{"position":[[11,7]]},"956":{"position":[[4,8]]},"958":{"position":[[14,7]]},"1082":{"position":[[0,12]]},"1083":{"position":[[0,12]]}},"content":{"4":{"position":[[528,7],[553,7]]},"5":{"position":[[159,8],[208,8]]},"7":{"position":[[399,8]]},"9":{"position":[[1512,8]]},"15":{"position":[[814,8]]},"17":{"position":[[201,8],[327,8],[536,8],[706,8],[1158,8]]},"18":{"position":[[67,8],[119,7],[222,8],[261,7],[911,8],[1483,7],[1824,7],[2239,7]]},"19":{"position":[[61,9]]},"23":{"position":[[1737,7]]},"40":{"position":[[220,7]]},"50":{"position":[[290,9],[404,9],[452,10]]},"94":{"position":[[2285,7],[2456,7],[4300,9]]},"173":{"position":[[220,7]]},"197":{"position":[[290,9],[404,9],[452,10]]},"226":{"position":[[2285,7],[2456,7],[4300,9]]},"279":{"position":[[194,7]]},"289":{"position":[[101,7]]},"319":{"position":[[117,7]]},"320":{"position":[[506,7]]},"374":{"position":[[1311,7]]},"433":{"position":[[121,7]]},"511":{"position":[[127,7]]},"580":{"position":[[17,7]]},"581":{"position":[[66,7],[235,7]]},"587":{"position":[[42,8]]},"622":{"position":[[226,7],[500,7]]},"676":{"position":[[376,8]]},"693":{"position":[[48,7],[1367,8],[5958,7],[6133,8],[6249,7],[6302,8],[6442,7],[8081,7]]},"696":{"position":[[206,9]]},"708":{"position":[[792,8]]},"717":{"position":[[373,7]]},"753":{"position":[[1311,7]]},"812":{"position":[[121,7]]},"851":{"position":[[325,8]]},"872":{"position":[[4,7],[76,7],[218,7],[490,7],[625,7]]},"873":{"position":[[121,8]]},"895":{"position":[[486,7],[516,7]]},"919":{"position":[[506,8]]},"937":{"position":[[737,7],[2368,7],[3075,7],[3198,8],[3404,7],[3618,7],[4712,7]]},"939":{"position":[[1866,8]]},"951":{"position":[[798,7]]},"955":{"position":[[8,7],[129,7],[425,8],[679,7],[693,7],[1008,7],[1051,7],[1235,7]]},"958":{"position":[[179,8],[322,7]]},"964":{"position":[[57,7]]},"997":{"position":[[113,7]]},"1001":{"position":[[1067,10]]},"1011":{"position":[[74,8]]},"1032":{"position":[[231,7]]},"1050":{"position":[[1387,7]]},"1070":{"position":[[365,7],[403,7]]},"1082":{"position":[[113,13],[229,11],[580,10],[644,9],[701,10],[1070,11],[1289,11]]},"1083":{"position":[[42,11],[87,10],[135,11],[416,10],[480,9],[537,10],[904,11],[1057,9]]},"1087":{"position":[[98,12],[199,11],[357,11]]},"1088":{"position":[[156,11],[1110,11]]},"1090":{"position":[[57,11],[112,10]]},"1091":{"position":[[0,11],[111,10]]},"1098":{"position":[[45,7],[492,7]]},"1102":{"position":[[718,8]]},"1112":{"position":[[229,7],[1754,7],[4914,7]]},"1130":{"position":[[131,7]]},"1138":{"position":[[226,7],[411,7],[573,7],[2096,7],[2130,7]]},"1140":{"position":[[1585,7],[1619,7]]},"1161":{"position":[[19,7],[115,7],[294,7]]},"1167":{"position":[[2589,7],[2623,7]]},"1172":{"position":[[699,7],[747,8]]},"1188":{"position":[[1638,7],[1672,7]]},"1211":{"position":[[16,7],[178,8]]},"1217":{"position":[[1330,7],[1364,7]]},"1226":{"position":[[3405,7],[3590,7],[3752,7]]},"1228":{"position":[[3411,7],[3445,7]]},"1237":{"position":[[3575,7],[3760,7],[3922,7]]},"1254":{"position":[[162,8],[218,7],[450,8],[498,7]]},"1256":{"position":[[121,8]]},"1355":{"position":[[7747,7]]},"1362":{"position":[[7904,7],[7975,8]]},"1364":{"position":[[8753,7],[8824,8]]},"1367":{"position":[[7992,7],[8063,8]]},"1383":{"position":[[7919,7]]},"1384":{"position":[[10132,7],[10203,8]]},"1385":{"position":[[3096,7]]},"1386":{"position":[[3411,8]]},"1387":{"position":[[5373,7]]},"1402":{"position":[[1967,7]]},"1403":{"position":[[7019,7]]},"1444":{"position":[[1723,7]]},"1462":{"position":[[5597,7]]},"1465":{"position":[[2527,7]]},"1467":{"position":[[6092,7]]},"1477":{"position":[[2575,7]]}},"keywords":{}}],["project'",{"_index":1306,"title":{},"content":{"112":{"position":[[60,9]]},"524":{"position":[[60,9]]},"622":{"position":[[373,9]]}},"keywords":{}}],["project).us",{"_index":227,"title":{},"content":{"9":{"position":[[1191,14]]}},"keywords":{}}],["project,target",{"_index":3565,"title":{},"content":{"693":{"position":[[5376,15]]}},"keywords":{}}],["project.watchman_merge_bas",{"_index":4122,"title":{},"content":{"879":{"position":[[113,28]]}},"keywords":{}}],["project_as_arg",{"_index":5554,"title":{},"content":{"1082":{"position":[[475,15]]}},"keywords":{}}],["project_as_defin",{"_index":5561,"title":{},"content":{"1082":{"position":[[892,17]]}},"keywords":{}}],["project_as_define(valu",{"_index":5556,"title":{},"content":{"1082":{"position":[[716,24]]}},"keywords":{}}],["project_as_json",{"_index":5572,"title":{},"content":{"1083":{"position":[[728,15]]}},"keywords":{}}],["project_as_json(valu",{"_index":5569,"title":{},"content":{"1083":{"position":[[552,22]]}},"keywords":{}}],["project_asset",{"_index":6633,"title":{},"content":{"1359":{"position":[[728,15]]}},"keywords":{}}],["project_r",{"_index":6634,"title":{},"content":{"1359":{"position":[[760,12]]}},"keywords":{}}],["project_rel_path(ctx",{"_index":1761,"title":{},"content":{"319":{"position":[[176,22]]}},"keywords":{}}],["project_root",{"_index":966,"title":{},"content":{"69":{"position":[[60,13]]},"94":{"position":[[110,12],[417,12]]},"98":{"position":[[152,12]]},"99":{"position":[[184,12]]},"112":{"position":[[20,12]]},"226":{"position":[[110,12],[417,12]]},"230":{"position":[[152,12]]},"231":{"position":[[184,12]]},"345":{"position":[[187,12]]},"368":{"position":[[206,12],[3170,12]]},"377":{"position":[[115,12]]},"386":{"position":[[101,12]]},"405":{"position":[[103,12],[351,12],[721,12],[760,13]]},"417":{"position":[[131,12]]},"457":{"position":[[60,13]]},"524":{"position":[[20,12]]},"747":{"position":[[206,12],[3170,12]]},"756":{"position":[[115,12]]},"765":{"position":[[101,12]]},"784":{"position":[[103,12],[351,12],[721,12],[760,13]]},"796":{"position":[[131,12]]},"1112":{"position":[[242,13]]}},"keywords":{}}],["project_toml",{"_index":8028,"title":{},"content":{"1436":{"position":[[406,13]]}},"keywords":{}}],["projectit",{"_index":4473,"title":{},"content":{"916":{"position":[[242,9]]}},"keywords":{}}],["projectroot",{"_index":2051,"title":{"380":{"position":[[0,12]]},"759":{"position":[[0,12]]}},"content":{"380":{"position":[[0,12]]},"759":{"position":[[0,12]]}},"keywords":{}}],["projectrun",{"_index":4076,"title":{},"content":{"872":{"position":[[598,10],[865,10]]}},"keywords":{}}],["projectthat",{"_index":485,"title":{},"content":{"17":{"position":[[59,11]]}},"keywords":{}}],["projectwrit",{"_index":4080,"title":{},"content":{"872":{"position":[[964,12]]}},"keywords":{}}],["project—that",{"_index":2730,"title":{},"content":{"587":{"position":[[86,12]]}},"keywords":{}}],["prolifer",{"_index":4604,"title":{},"content":{"937":{"position":[[3358,13]]}},"keywords":{}}],["prologu",{"_index":7499,"title":{},"content":{"1393":{"position":[[8768,8],[8870,8]]}},"keywords":{}}],["promis",{"_index":827,"title":{"117":{"position":[[0,7]]},"381":{"position":[[0,8]]},"533":{"position":[[0,7]]},"760":{"position":[[0,8]]},"1049":{"position":[[8,7]]}},"content":{"34":{"position":[[22,7],[43,7]]},"36":{"position":[[147,7]]},"37":{"position":[[65,7],[145,7]]},"38":{"position":[[21,7],[42,7]]},"84":{"position":[[94,7]]},"118":{"position":[[30,7],[53,8],[85,8],[112,9],[158,7],[185,7]]},"119":{"position":[[74,7],[91,8],[155,7]]},"181":{"position":[[147,7]]},"182":{"position":[[65,7],[145,7]]},"183":{"position":[[21,7],[42,7]]},"190":{"position":[[22,7],[43,7]]},"216":{"position":[[94,7]]},"306":{"position":[[49,8],[58,8],[77,7],[122,8],[512,7],[640,8]]},"381":{"position":[[0,8]]},"534":{"position":[[30,7],[53,8],[85,8],[112,9],[158,7],[185,7]]},"535":{"position":[[74,7],[91,8],[155,7]]},"711":{"position":[[466,7],[620,7],[664,7],[746,7],[868,8],[891,8],[911,8],[1076,7],[1108,7],[1173,9],[1215,7]]},"712":{"position":[[1409,7],[1454,7],[2458,7],[2555,7],[2754,8]]},"760":{"position":[[0,8]]},"837":{"position":[[352,8]]},"1042":{"position":[[564,7],[643,7]]},"1044":{"position":[[17,7],[95,7],[145,7],[204,7],[221,9],[303,7],[447,8],[726,8],[771,7],[810,7],[878,7],[940,9],[2570,7]]},"1047":{"position":[[513,8]]},"1049":{"position":[[41,8],[246,7],[574,7]]}},"keywords":{}}],["promise'",{"_index":3715,"title":{},"content":{"711":{"position":[[823,9]]}},"keywords":{}}],["promise.anon_targets(rul",{"_index":3710,"title":{},"content":{"711":{"position":[[305,27]]}},"keywords":{}}],["promise.join",{"_index":1311,"title":{"118":{"position":[[0,13]]},"534":{"position":[[0,13]]}},"content":{},"keywords":{}}],["promise.join(*arg",{"_index":1312,"title":{},"content":{"118":{"position":[[4,19]]},"534":{"position":[[4,19]]}},"keywords":{}}],["promise.map",{"_index":1318,"title":{"119":{"position":[[0,12]]},"535":{"position":[[0,12]]}},"content":{},"keywords":{}}],["promise.map(func",{"_index":1319,"title":{},"content":{"119":{"position":[[4,17]]},"535":{"position":[[4,17]]}},"keywords":{}}],["promise1",{"_index":3721,"title":{},"content":{"711":{"position":[[1465,8]]}},"keywords":{}}],["promise1.join(promise2",{"_index":3727,"title":{},"content":{"711":{"position":[[1625,23]]}},"keywords":{}}],["promise2",{"_index":3724,"title":{},"content":{"711":{"position":[[1530,8]]}},"keywords":{}}],["promise_result",{"_index":3769,"title":{},"content":{"712":{"position":[[2716,14]]}},"keywords":{}}],["prompt",{"_index":8033,"title":{},"content":{"1438":{"position":[[1809,7],[1953,7]]}},"keywords":{}}],["propag",{"_index":3675,"title":{"1015":{"position":[[14,12]]}},"content":{"706":{"position":[[1163,10]]},"720":{"position":[[332,10]]},"924":{"position":[[1452,9]]},"947":{"position":[[416,10]]},"955":{"position":[[502,11]]},"959":{"position":[[402,9]]},"988":{"position":[[123,10]]},"990":{"position":[[1267,11]]},"991":{"position":[[2842,9]]},"1015":{"position":[[103,10]]},"1086":{"position":[[100,11]]},"1351":{"position":[[3482,9]]},"1386":{"position":[[2871,10],[4681,9]]}},"keywords":{}}],["propagate_flavor",{"_index":7112,"title":{},"content":{"1377":{"position":[[587,18]]}},"keywords":{}}],["propagated_target_sdk_vers",{"_index":6761,"title":{},"content":{"1362":{"position":[[3808,30]]},"1363":{"position":[[2262,30]]},"1364":{"position":[[3738,30]]},"1367":{"position":[[5020,30]]}},"keywords":{}}],["proper",{"_index":5448,"title":{},"content":{"1061":{"position":[[18,6]]},"1247":{"position":[[466,6]]}},"keywords":{}}],["properli",{"_index":4808,"title":{},"content":{"966":{"position":[[234,8]]},"1033":{"position":[[127,9]]},"1233":{"position":[[326,9]]},"1241":{"position":[[274,9]]},"1243":{"position":[[380,8]]},"1362":{"position":[[6675,9]]}},"keywords":{}}],["properti",{"_index":1558,"title":{},"content":{"283":{"position":[[127,11]]},"362":{"position":[[1347,10]]},"446":{"position":[[542,8]]},"462":{"position":[[129,11]]},"693":{"position":[[1052,10],[3799,8]]},"741":{"position":[[1347,10]]},"825":{"position":[[542,8]]},"998":{"position":[[352,10]]},"1000":{"position":[[432,8]]},"1001":{"position":[[1050,10]]},"1107":{"position":[[91,10]]},"1346":{"position":[[596,11]]},"1355":{"position":[[6469,8],[6900,8]]},"1399":{"position":[[1772,8]]},"1427":{"position":[[6099,8]]},"1429":{"position":[[4229,9]]},"1438":{"position":[[486,11],[1544,11],[1572,11]]},"1440":{"position":[[4222,9]]},"1462":{"position":[[7667,8]]}},"keywords":{}}],["property_test",{"_index":7611,"title":{},"content":{"1398":{"position":[[862,15]]}},"keywords":{}}],["propos",{"_index":4476,"title":{"917":{"position":[[0,9]]},"920":{"position":[[0,8]]},"973":{"position":[[0,8]]},"981":{"position":[[0,9]]}},"content":{"920":{"position":[[193,7]]},"926":{"position":[[183,8]]},"929":{"position":[[129,8]]},"951":{"position":[[1456,8]]},"969":{"position":[[59,8]]},"970":{"position":[[267,9]]},"988":{"position":[[9,8]]},"998":{"position":[[331,8]]}},"keywords":{}}],["protect",{"_index":4486,"title":{},"content":{"919":{"position":[[657,10]]},"1461":{"position":[[2797,11]]}},"keywords":{}}],["protobuf",{"_index":5323,"title":{},"content":{"1053":{"position":[[278,8]]},"1125":{"position":[[95,8]]},"1126":{"position":[[822,8],[1115,8],[1408,8]]},"1127":{"position":[[489,8]]},"1219":{"position":[[289,9],[409,8]]}},"keywords":{}}],["protocol",{"_index":4082,"title":{},"content":{"873":{"position":[[146,9]]},"1219":{"position":[[240,8]]},"1221":{"position":[[204,8]]},"1224":{"position":[[31,8]]},"1422":{"position":[[3682,9]]},"1423":{"position":[[2453,9]]},"1486":{"position":[[1009,9]]}},"keywords":{}}],["provid",{"_index":193,"title":{"382":{"position":[[0,9]]},"427":{"position":[[0,9]]},"723":{"position":[[27,9]]},"761":{"position":[[0,9]]},"806":{"position":[[0,9]]},"852":{"position":[[8,9]]},"853":{"position":[[15,8]]},"963":{"position":[[8,10]]},"982":{"position":[[51,8]]},"1052":{"position":[[18,9]]},"1104":{"position":[[0,10]]},"1197":{"position":[[11,10]]}},"content":{"9":{"position":[[469,8],[2821,7]]},"11":{"position":[[113,8]]},"18":{"position":[[2148,7]]},"23":{"position":[[2320,9],[2702,8],[2945,8],[3206,7]]},"41":{"position":[[364,8]]},"76":{"position":[[39,8],[56,8]]},"79":{"position":[[201,9]]},"81":{"position":[[236,9],[294,10]]},"89":{"position":[[815,9]]},"99":{"position":[[452,9]]},"125":{"position":[[160,8]]},"129":{"position":[[29,10]]},"131":{"position":[[18,10],[463,9],[504,9]]},"134":{"position":[[23,10]]},"146":{"position":[[35,10]]},"148":{"position":[[28,10]]},"149":{"position":[[29,10]]},"153":{"position":[[48,8]]},"174":{"position":[[364,8]]},"213":{"position":[[236,9],[294,10]]},"221":{"position":[[815,9]]},"231":{"position":[[452,9]]},"234":{"position":[[47,9],[122,9],[282,9],[362,9]]},"237":{"position":[[439,8]]},"248":{"position":[[160,8]]},"252":{"position":[[29,10]]},"254":{"position":[[18,10],[463,9],[504,9]]},"257":{"position":[[23,10]]},"269":{"position":[[35,10]]},"271":{"position":[[28,10]]},"272":{"position":[[29,10]]},"294":{"position":[[912,9]]},"297":{"position":[[742,9],[898,8]]},"298":{"position":[[2571,8]]},"301":{"position":[[933,8]]},"310":{"position":[[333,9]]},"316":{"position":[[95,8]]},"317":{"position":[[96,8]]},"363":{"position":[[130,8],[456,8]]},"366":{"position":[[79,8],[165,8],[286,8]]},"367":{"position":[[109,8],[195,8],[312,8]]},"368":{"position":[[412,8],[2356,8],[2596,9],[2760,9]]},"372":{"position":[[157,8],[227,8]]},"373":{"position":[[141,8],[223,8]]},"374":{"position":[[281,8],[469,8],[1742,9]]},"375":{"position":[[83,8],[165,8]]},"377":{"position":[[386,8],[533,8]]},"379":{"position":[[90,8],[232,8]]},"382":{"position":[[0,9]]},"386":{"position":[[279,8],[380,8]]},"389":{"position":[[109,8],[546,10],[756,9],[1638,8]]},"396":{"position":[[79,8],[196,8],[317,8]]},"398":{"position":[[78,8],[187,8]]},"399":{"position":[[72,8],[190,8]]},"405":{"position":[[1394,8]]},"417":{"position":[[1067,9]]},"427":{"position":[[4,9],[493,8],[600,9]]},"428":{"position":[[121,8]]},"505":{"position":[[39,8],[56,8]]},"508":{"position":[[201,9]]},"537":{"position":[[48,8]]},"560":{"position":[[414,7]]},"566":{"position":[[309,8]]},"568":{"position":[[187,9]]},"574":{"position":[[138,8]]},"581":{"position":[[683,8]]},"582":{"position":[[387,8]]},"591":{"position":[[318,9]]},"648":{"position":[[712,9]]},"663":{"position":[[749,7]]},"673":{"position":[[200,8]]},"678":{"position":[[177,8]]},"679":{"position":[[169,8],[282,8],[355,7]]},"685":{"position":[[15,8],[159,8]]},"688":{"position":[[507,8]]},"689":{"position":[[28,8]]},"693":{"position":[[4885,7],[5190,8],[5323,7],[6456,9],[7208,9],[7510,10],[8177,9]]},"702":{"position":[[20,8]]},"712":{"position":[[1998,9],[2246,10]]},"722":{"position":[[599,10],[796,9],[993,9],[1075,9]]},"723":{"position":[[36,9]]},"724":{"position":[[39,9]]},"742":{"position":[[130,8],[456,8]]},"745":{"position":[[79,8],[165,8],[286,8]]},"746":{"position":[[109,8],[195,8],[312,8]]},"747":{"position":[[412,8],[2356,8],[2596,9],[2760,9]]},"751":{"position":[[157,8],[227,8]]},"752":{"position":[[141,8],[223,8]]},"753":{"position":[[281,8],[469,8],[1742,9]]},"754":{"position":[[83,8],[165,8]]},"756":{"position":[[386,8],[533,8]]},"758":{"position":[[90,8],[232,8]]},"761":{"position":[[0,9]]},"765":{"position":[[279,8],[380,8]]},"768":{"position":[[109,8],[546,10],[756,9],[1638,8]]},"775":{"position":[[79,8],[196,8],[317,8]]},"777":{"position":[[78,8],[187,8]]},"778":{"position":[[72,8],[190,8]]},"784":{"position":[[1394,8]]},"796":{"position":[[1067,9]]},"806":{"position":[[4,9],[493,8],[600,9]]},"807":{"position":[[121,8]]},"833":{"position":[[332,8]]},"844":{"position":[[133,7]]},"845":{"position":[[166,9],[260,10],[305,9],[357,9]]},"846":{"position":[[1934,9]]},"847":{"position":[[211,8]]},"848":{"position":[[565,10],[755,9]]},"851":{"position":[[1897,8]]},"852":{"position":[[42,9]]},"853":{"position":[[47,9],[112,8]]},"854":{"position":[[16,9],[118,8],[137,8]]},"855":{"position":[[211,9]]},"866":{"position":[[212,7]]},"869":{"position":[[387,10]]},"870":{"position":[[429,10]]},"872":{"position":[[736,9]]},"873":{"position":[[196,7]]},"874":{"position":[[121,10]]},"890":{"position":[[4447,8]]},"895":{"position":[[587,8]]},"900":{"position":[[1917,7],[2103,8]]},"901":{"position":[[705,7]]},"923":{"position":[[79,9],[175,7]]},"924":{"position":[[1518,7]]},"929":{"position":[[329,9]]},"939":{"position":[[1808,8]]},"954":{"position":[[601,7],[867,8]]},"955":{"position":[[611,9]]},"959":{"position":[[144,10],[289,7]]},"963":{"position":[[163,9]]},"972":{"position":[[90,9]]},"975":{"position":[[338,8]]},"976":{"position":[[164,7]]},"981":{"position":[[512,7]]},"983":{"position":[[42,9],[222,8],[282,9]]},"984":{"position":[[24,8],[141,8]]},"989":{"position":[[361,9]]},"991":{"position":[[996,9],[1267,8],[1367,9],[2375,9],[2514,9],[2574,9],[2856,9]]},"995":{"position":[[217,9]]},"997":{"position":[[265,8]]},"1000":{"position":[[365,8]]},"1004":{"position":[[381,8]]},"1006":{"position":[[417,10]]},"1009":{"position":[[591,10]]},"1011":{"position":[[20,7]]},"1014":{"position":[[30,8]]},"1017":{"position":[[200,8],[689,8]]},"1021":{"position":[[62,8]]},"1040":{"position":[[6,8]]},"1044":{"position":[[264,9],[493,9]]},"1047":{"position":[[350,9]]},"1048":{"position":[[1095,10]]},"1050":{"position":[[2141,8],[2302,8],[3197,8]]},"1052":{"position":[[5,8],[1568,8]]},"1053":{"position":[[508,9],[777,8],[926,9],[1024,8],[1218,8]]},"1054":{"position":[[44,9],[1187,9],[1517,9],[1661,9]]},"1056":{"position":[[515,8],[848,7],[1117,8],[1209,8],[1305,8]]},"1057":{"position":[[50,8]]},"1069":{"position":[[696,9],[706,8]]},"1070":{"position":[[1028,9]]},"1071":{"position":[[74,8],[1178,9]]},"1093":{"position":[[270,7]]},"1095":{"position":[[63,8]]},"1097":{"position":[[84,8]]},"1103":{"position":[[100,10],[1371,9],[1829,9],[2018,8]]},"1104":{"position":[[0,9],[186,9],[282,8],[385,8],[1438,10],[1500,8],[1707,9],[1924,10],[2191,8]]},"1105":{"position":[[1273,9],[1395,8]]},"1112":{"position":[[3431,8],[3507,8],[4255,8],[4683,8]]},"1118":{"position":[[49,7]]},"1120":{"position":[[22,8]]},"1133":{"position":[[610,7]]},"1136":{"position":[[4393,8]]},"1138":{"position":[[8055,8]]},"1140":{"position":[[6981,8]]},"1142":{"position":[[2425,8]]},"1146":{"position":[[2365,8]]},"1148":{"position":[[456,9],[630,9],[2755,9],[2774,9],[5405,8]]},"1155":{"position":[[710,9],[2461,8]]},"1156":{"position":[[2039,8]]},"1167":{"position":[[7985,8]]},"1169":{"position":[[1824,8]]},"1186":{"position":[[3629,8]]},"1187":{"position":[[3642,8]]},"1188":{"position":[[8368,8]]},"1190":{"position":[[596,9],[621,9]]},"1191":{"position":[[2229,8]]},"1192":{"position":[[2404,8]]},"1193":{"position":[[177,9],[2456,8]]},"1194":{"position":[[232,9],[2096,8]]},"1195":{"position":[[2074,8]]},"1196":{"position":[[1884,8]]},"1197":{"position":[[15,9],[73,9],[225,9],[259,9],[2867,8]]},"1198":{"position":[[2877,8]]},"1199":{"position":[[2905,8]]},"1200":{"position":[[2772,8]]},"1201":{"position":[[2032,8]]},"1202":{"position":[[3174,8],[7571,8]]},"1203":{"position":[[2266,8]]},"1204":{"position":[[2110,8]]},"1205":{"position":[[3439,8]]},"1206":{"position":[[1910,8]]},"1207":{"position":[[2067,8]]},"1209":{"position":[[3415,8]]},"1211":{"position":[[266,9]]},"1217":{"position":[[6726,8]]},"1219":{"position":[[2712,8]]},"1222":{"position":[[1836,8]]},"1223":{"position":[[1846,8]]},"1224":{"position":[[2026,8]]},"1226":{"position":[[7194,8]]},"1228":{"position":[[2017,8],[2127,8],[2545,8],[2655,8],[8807,8]]},"1235":{"position":[[4675,8]]},"1237":{"position":[[7364,8]]},"1285":{"position":[[80,8]]},"1286":{"position":[[39,8]]},"1348":{"position":[[3517,7]]},"1349":{"position":[[1662,7]]},"1350":{"position":[[4633,7]]},"1351":{"position":[[1860,7]]},"1352":{"position":[[4632,7]]},"1353":{"position":[[2236,7]]},"1354":{"position":[[2074,7]]},"1355":{"position":[[3220,7],[5088,8],[5363,8],[5476,8],[5563,8]]},"1356":{"position":[[1580,7]]},"1357":{"position":[[1253,7]]},"1358":{"position":[[1974,7],[2298,8]]},"1359":{"position":[[1811,7]]},"1360":{"position":[[2449,7],[2610,9],[2754,9],[5111,8]]},"1361":{"position":[[1801,7]]},"1362":{"position":[[6172,7]]},"1363":{"position":[[3918,7]]},"1364":{"position":[[6201,7]]},"1365":{"position":[[1735,7]]},"1366":{"position":[[1948,7]]},"1367":{"position":[[7599,7]]},"1368":{"position":[[2291,7]]},"1369":{"position":[[1343,7]]},"1370":{"position":[[1597,7]]},"1371":{"position":[[1219,7]]},"1372":{"position":[[2857,7]]},"1373":{"position":[[3729,7]]},"1374":{"position":[[1632,7],[2404,9]]},"1375":{"position":[[1255,7]]},"1376":{"position":[[1211,7]]},"1377":{"position":[[1450,7]]},"1378":{"position":[[1197,7]]},"1379":{"position":[[1220,7]]},"1380":{"position":[[1691,7]]},"1381":{"position":[[1597,7],[1735,8]]},"1382":{"position":[[4084,7]]},"1383":{"position":[[2322,7],[7219,8]]},"1384":{"position":[[4356,8],[5246,7],[18472,9]]},"1385":{"position":[[2916,7]]},"1386":{"position":[[1554,7]]},"1387":{"position":[[5185,7]]},"1388":{"position":[[4384,7]]},"1389":{"position":[[5238,7]]},"1390":{"position":[[1490,7]]},"1391":{"position":[[1443,7]]},"1392":{"position":[[745,7],[1593,7]]},"1393":{"position":[[2172,7],[2613,8]]},"1394":{"position":[[1613,7]]},"1395":{"position":[[1629,7]]},"1396":{"position":[[1419,7]]},"1397":{"position":[[1600,7]]},"1398":{"position":[[2279,7]]},"1399":{"position":[[1455,7]]},"1400":{"position":[[1324,7]]},"1401":{"position":[[543,8],[1399,7]]},"1402":{"position":[[1555,7]]},"1403":{"position":[[2152,7],[5268,8]]},"1404":{"position":[[1388,7]]},"1405":{"position":[[2079,7],[2860,9]]},"1406":{"position":[[1295,7]]},"1407":{"position":[[2120,7],[3281,9]]},"1408":{"position":[[1816,7]]},"1409":{"position":[[1350,7]]},"1410":{"position":[[2519,7],[3861,9]]},"1411":{"position":[[1333,7]]},"1412":{"position":[[2540,7]]},"1413":{"position":[[2717,7]]},"1414":{"position":[[1584,7]]},"1415":{"position":[[3566,7]]},"1416":{"position":[[2218,7]]},"1417":{"position":[[1807,7]]},"1418":{"position":[[1508,7]]},"1419":{"position":[[1636,7]]},"1420":{"position":[[1900,7]]},"1421":{"position":[[1875,7]]},"1422":{"position":[[1785,7],[2113,8],[2385,8]]},"1423":{"position":[[1767,7],[2055,8]]},"1424":{"position":[[1892,7]]},"1425":{"position":[[1508,7]]},"1426":{"position":[[1858,7],[2469,9],[2881,9]]},"1427":{"position":[[2755,7],[4402,8]]},"1428":{"position":[[1490,7]]},"1429":{"position":[[3419,7]]},"1430":{"position":[[2266,7]]},"1431":{"position":[[1610,7]]},"1432":{"position":[[2131,7]]},"1433":{"position":[[1652,7]]},"1434":{"position":[[1326,7]]},"1435":{"position":[[1290,7]]},"1436":{"position":[[1306,7]]},"1437":{"position":[[1376,7]]},"1438":{"position":[[1517,7]]},"1439":{"position":[[3041,7],[5068,7],[6901,8]]},"1440":{"position":[[3607,7]]},"1441":{"position":[[1332,7]]},"1442":{"position":[[1412,7]]},"1443":{"position":[[1627,7]]},"1444":{"position":[[1543,7]]},"1445":{"position":[[1232,7]]},"1446":{"position":[[1566,7],[2312,9]]},"1447":{"position":[[1448,7]]},"1448":{"position":[[1883,7]]},"1449":{"position":[[1817,7]]},"1450":{"position":[[1696,7]]},"1451":{"position":[[1696,7]]},"1452":{"position":[[1242,7]]},"1453":{"position":[[1828,7]]},"1454":{"position":[[2014,9],[3305,8],[4194,7]]},"1455":{"position":[[2081,7],[2983,8]]},"1456":{"position":[[1426,7],[1497,9]]},"1457":{"position":[[613,8],[1485,7]]},"1458":{"position":[[2020,7],[2428,8]]},"1459":{"position":[[1499,7]]},"1460":{"position":[[1611,7]]},"1461":{"position":[[1833,7]]},"1462":{"position":[[5207,7]]},"1463":{"position":[[1333,7]]},"1464":{"position":[[1241,7]]},"1465":{"position":[[2339,7]]},"1466":{"position":[[1577,7]]},"1467":{"position":[[5903,7],[8508,7]]},"1468":{"position":[[1341,7]]},"1469":{"position":[[1721,7],[1851,8]]},"1470":{"position":[[4243,7]]},"1471":{"position":[[2584,7],[4861,8]]},"1472":{"position":[[2543,7],[3812,8],[5445,8],[5788,9]]},"1473":{"position":[[2858,7],[5182,8]]},"1474":{"position":[[2242,7]]},"1475":{"position":[[2713,7]]},"1476":{"position":[[1318,7]]},"1477":{"position":[[1477,7],[3143,8]]},"1478":{"position":[[1968,7],[2634,9]]},"1479":{"position":[[1410,7]]},"1480":{"position":[[1823,7]]},"1481":{"position":[[2356,7]]},"1482":{"position":[[1430,7]]},"1483":{"position":[[1264,7]]},"1484":{"position":[[1336,7]]},"1485":{"position":[[1596,7]]},"1486":{"position":[[1840,7]]},"1487":{"position":[[1542,7]]}},"keywords":{}}],["provided_dep",{"_index":6554,"title":{},"content":{"1355":{"position":[[1652,14],[4336,13],[5023,14],[5173,13],[5255,13]]},"1412":{"position":[[1072,14],[3205,14]]},"1413":{"position":[[1218,14]]},"1427":{"position":[[1289,14],[3481,13],[4337,14],[4487,13],[4569,13]]},"1429":{"position":[[1523,14]]},"1430":{"position":[[1092,14]]},"1439":{"position":[[1525,14],[4155,13],[6836,14],[6986,13],[7068,13]]},"1440":{"position":[[1724,14]]},"1470":{"position":[[2008,14]]},"1474":{"position":[[1068,14]]},"1475":{"position":[[1214,14]]}},"keywords":{}}],["provided_deps_queri",{"_index":6555,"title":{},"content":{"1355":{"position":[[1682,20],[5307,20]]},"1470":{"position":[[2038,20]]}},"keywords":{}}],["provided_shared_lib",{"_index":8197,"title":{},"content":{"1455":{"position":[[764,21],[4975,20]]}},"keywords":{}}],["provider(field",{"_index":3730,"title":{},"content":{"712":{"position":[[76,15],[785,15]]},"1044":{"position":[[971,15],[1454,15],[1508,15]]},"1047":{"position":[[39,15]]},"1048":{"position":[[474,15]]},"1049":{"position":[[679,15]]},"1104":{"position":[[1737,17]]}},"keywords":{}}],["provider(fields=["bar"",{"_index":999,"title":{},"content":{"76":{"position":[[122,34]]},"505":{"position":[[122,34]]}},"keywords":{}}],["provider(fields=["links"",{"_index":5670,"title":{},"content":{"1104":{"position":[[2326,36]]}},"keywords":{}}],["provider_cal",{"_index":2295,"title":{},"content":{"427":{"position":[[110,17]]},"806":{"position":[[110,17]]}},"keywords":{}}],["provider_collect",{"_index":1400,"title":{"152":{"position":[[0,19]]},"536":{"position":[[0,19]]}},"content":{"234":{"position":[[80,19]]},"306":{"position":[[661,21]]},"368":{"position":[[2429,20]]},"747":{"position":[[2429,20]]}},"keywords":{}}],["provider_collection.get",{"_index":1401,"title":{"153":{"position":[[0,24]]},"537":{"position":[[0,24]]}},"content":{},"keywords":{}}],["provider_collection.get(index",{"_index":1402,"title":{},"content":{"153":{"position":[[4,30]]},"537":{"position":[[4,30]]}},"keywords":{}}],["provider_field",{"_index":2305,"title":{"428":{"position":[[0,15]]},"807":{"position":[[0,15]]}},"content":{"428":{"position":[[4,15]]},"807":{"position":[[4,15]]}},"keywords":{}}],["provider`",{"_index":1714,"title":{},"content":{"306":{"position":[[714,11]]}},"keywords":{}}],["providercal",{"_index":997,"title":{},"content":{"76":{"position":[[82,16]]},"505":{"position":[[82,16]]}},"keywords":{}}],["providercollect",{"_index":1989,"title":{"383":{"position":[[0,19]]},"762":{"position":[[0,19]]},"982":{"position":[[16,20]]}},"content":{"368":{"position":[[2474,20],[2688,19]]},"383":{"position":[[0,19]]},"722":{"position":[[280,19]]},"747":{"position":[[2474,20],[2688,19]]},"762":{"position":[[0,19]]},"883":{"position":[[0,20]]}},"keywords":{}}],["providerfield",{"_index":2307,"title":{},"content":{"428":{"position":[[50,13]]},"807":{"position":[[50,13]]}},"keywords":{}}],["providernam",{"_index":1990,"title":{},"content":{"368":{"position":[[2532,12]]},"747":{"position":[[2532,12]]}},"keywords":{}}],["providers),bxl.buildresult",{"_index":3904,"title":{},"content":{"848":{"position":[[453,26]]}},"keywords":{}}],["providers=[runinfo",{"_index":1969,"title":{},"content":{"368":{"position":[[1450,21],[1544,20]]},"747":{"position":[[1450,21],[1544,20]]}},"keywords":{}}],["providers[defaultinfo].default_output",{"_index":3760,"title":{},"content":{"712":{"position":[[1943,38]]}},"keywords":{}}],["providers[mirrorinfo].mirrored_attr",{"_index":3754,"title":{},"content":{"712":{"position":[[1635,36]]}},"keywords":{}}],["providers_label",{"_index":1403,"title":{"154":{"position":[[0,15]]},"538":{"position":[[0,15]]}},"content":{"166":{"position":[[78,15]]},"236":{"position":[[134,15],[342,15]]},"237":{"position":[[134,15],[342,15]]},"238":{"position":[[156,15],[364,15]]},"239":{"position":[[128,15],[336,15]]},"294":{"position":[[124,15],[284,15]]},"297":{"position":[[121,15],[281,15]]},"298":{"position":[[79,15],[165,15],[259,15],[345,15],[2305,19]]},"310":{"position":[[79,15],[165,15],[211,15],[239,16],[598,15]]},"548":{"position":[[78,15]]}},"keywords":{}}],["providers_label.cel",{"_index":1404,"title":{"155":{"position":[[0,21]]},"539":{"position":[[0,21]]}},"content":{"155":{"position":[[0,21]]},"539":{"position":[[0,21]]}},"keywords":{}}],["providers_label.nam",{"_index":1405,"title":{"156":{"position":[[0,21]]},"540":{"position":[[0,21]]}},"content":{"156":{"position":[[0,21]]},"540":{"position":[[0,21]]}},"keywords":{}}],["providers_label.path",{"_index":1406,"title":{"157":{"position":[[0,21]]},"541":{"position":[[0,21]]}},"content":{"157":{"position":[[0,21]]},"541":{"position":[[0,21]]}},"keywords":{}}],["providers_label.raw_target",{"_index":1407,"title":{"158":{"position":[[0,27]]},"542":{"position":[[0,27]]}},"content":{"158":{"position":[[4,28]]},"542":{"position":[[4,28]]}},"keywords":{}}],["providers_label.sub_target",{"_index":1408,"title":{"159":{"position":[[0,27]]},"543":{"position":[[0,27]]}},"content":{"159":{"position":[[0,27]]},"543":{"position":[[0,27]]}},"keywords":{}}],["providers_result",{"_index":1712,"title":{},"content":{"306":{"position":[[600,16]]}},"keywords":{}}],["providersconfigur",{"_index":5079,"title":{},"content":{"1025":{"position":[[345,23]]}},"keywords":{}}],["providerslabel",{"_index":1416,"title":{"384":{"position":[[0,15]]},"763":{"position":[[0,15]]}},"content":{"166":{"position":[[141,14]]},"368":{"position":[[2558,14]]},"384":{"position":[[0,15]]},"548":{"position":[[141,14]]},"747":{"position":[[2558,14]]},"763":{"position":[[0,15]]}},"keywords":{}}],["provis",{"_index":6874,"title":{},"content":{"1363":{"position":[[3066,12],[6278,12],[6300,12],[6692,12],[6714,12]]}},"keywords":{}}],["provisioning_profile_filt",{"_index":6863,"title":{},"content":{"1363":{"position":[[2309,28]]},"1367":{"position":[[5067,28]]},"1372":{"position":[[1753,28]]}},"keywords":{}}],["pseudo",{"_index":4155,"title":{},"content":{"888":{"position":[[243,6]]},"1026":{"position":[[1020,6]]}},"keywords":{}}],["pseudo(rc<dyn",{"_index":4345,"title":{},"content":{"898":{"position":[[2249,16]]}},"keywords":{}}],["pstr",{"_index":3284,"title":{"661":{"position":[[0,5]]}},"content":{},"keywords":{}}],["pstr(a",{"_index":3285,"title":{},"content":{"661":{"position":[[4,7]]}},"keywords":{}}],["public",{"_index":3691,"title":{},"content":{"708":{"position":[[153,10],[1143,12]]},"1355":{"position":[[3896,6]]},"1393":{"position":[[5173,6],[6087,6]]},"1402":{"position":[[2295,8]]},"1427":{"position":[[3041,6]]},"1439":{"position":[[3715,6]]},"1453":{"position":[[2021,8]]}},"keywords":{}}],["public_framework_head",{"_index":6925,"title":{},"content":{"1364":{"position":[[3785,25]]}},"keywords":{}}],["public_headers_symlinks_en",{"_index":7387,"title":{},"content":{"1389":{"position":[[3233,32]]}},"keywords":{}}],["public_include_directori",{"_index":6762,"title":{},"content":{"1362":{"position":[[3855,27]]},"1364":{"position":[[3843,27]]},"1367":{"position":[[5112,27]]},"1373":{"position":[[7799,26]]},"1382":{"position":[[10575,26]]},"1384":{"position":[[3497,27],[16842,27],[17649,26]]},"1387":{"position":[[3429,27]]},"1388":{"position":[[9068,26]]},"1454":{"position":[[2034,27]]},"1485":{"position":[[3440,26]]}},"keywords":{}}],["public_system_include_directori",{"_index":6763,"title":{},"content":{"1362":{"position":[[3898,34]]},"1364":{"position":[[3886,34]]},"1367":{"position":[[5155,34]]},"1384":{"position":[[3540,34],[17083,34]]},"1387":{"position":[[3472,34]]},"1454":{"position":[[2077,34]]}},"keywords":{}}],["publicli",{"_index":4827,"title":{},"content":{"972":{"position":[[68,8]]}},"keywords":{}}],["pull",{"_index":498,"title":{},"content":{"17":{"position":[[508,4]]},"18":{"position":[[282,4],[2005,4]]},"121":{"position":[[209,6]]},"368":{"position":[[1931,5]]},"530":{"position":[[209,6]]},"722":{"position":[[119,6]]},"747":{"position":[[1931,5]]},"919":{"position":[[520,7]]},"1098":{"position":[[221,4]]},"1351":{"position":[[5060,6]]},"1398":{"position":[[3193,6],[4052,6]]},"1462":{"position":[[6718,5]]},"1467":{"position":[[7833,5]]}},"keywords":{}}],["pulled.hidden",{"_index":2154,"title":{},"content":{"405":{"position":[[2010,13]]},"784":{"position":[[2010,13]]}},"keywords":{}}],["pulls_and_push",{"_index":4919,"title":{},"content":{"991":{"position":[[420,18]]}},"keywords":{}}],["pulls_and_pushes_plugin",{"_index":1322,"title":{},"content":{"121":{"position":[[55,25],[109,24]]},"131":{"position":[[106,25]]},"254":{"position":[[106,25]]},"530":{"position":[[55,25],[109,24]]},"990":{"position":[[1133,24]]}},"keywords":{}}],["pulls_plugin",{"_index":1356,"title":{},"content":{"131":{"position":[[60,14]]},"254":{"position":[[60,14]]},"990":{"position":[[939,13]]},"991":{"position":[[3463,13]]}},"keywords":{}}],["pure",{"_index":5504,"title":{},"content":{"1072":{"position":[[775,4],[1305,4]]}},"keywords":{}}],["purpos",{"_index":608,"title":{},"content":{"20":{"position":[[97,8]]},"23":{"position":[[2201,7]]},"632":{"position":[[136,8]]},"635":{"position":[[136,8]]},"973":{"position":[[179,9]]},"1458":{"position":[[2451,9]]}},"keywords":{}}],["purposes.use_system_library_load",{"_index":6619,"title":{},"content":{"1358":{"position":[[2321,35]]}},"keywords":{}}],["push",{"_index":1324,"title":{},"content":{"121":{"position":[[220,7]]},"530":{"position":[[220,7]]},"956":{"position":[[346,4],[426,4]]},"991":{"position":[[2733,4],[3322,6]]},"1057":{"position":[[1159,7]]}},"keywords":{}}],["put",{"_index":294,"title":{},"content":{"9":{"position":[[2578,7]]},"22":{"position":[[1599,3]]},"24":{"position":[[1149,4]]},"92":{"position":[[2342,7]]},"224":{"position":[[2342,7]]},"705":{"position":[[1110,3]]},"864":{"position":[[372,3]]},"870":{"position":[[930,3]]},"898":{"position":[[2050,7]]},"1226":{"position":[[3885,3],[4874,3]]},"1237":{"position":[[4055,3],[5044,3]]},"1446":{"position":[[1763,3],[2674,3]]}},"keywords":{}}],["py",{"_index":8090,"title":{},"content":{"1444":{"position":[[1975,3]]},"1462":{"position":[[9217,9]]},"1465":{"position":[[4097,5]]},"1467":{"position":[[4999,3],[10290,5],[10886,3]]}},"keywords":{}}],["py2.7",{"_index":8284,"title":{},"content":{"1461":{"position":[[3929,5],[4052,5]]}},"keywords":{}}],["py2.py3",{"_index":8276,"title":{},"content":{"1461":{"position":[[3559,7],[3676,7]]}},"keywords":{}}],["py3.10",{"_index":4863,"title":{},"content":{"980":{"position":[[1604,7]]}},"keywords":{}}],["py3.8",{"_index":4862,"title":{},"content":{"980":{"position":[[1537,5]]}},"keywords":{}}],["py_version_for_type_check",{"_index":8307,"title":{},"content":{"1462":{"position":[[3695,29]]},"1465":{"position":[[958,29]]},"1467":{"position":[[3964,29],[10128,29]]}},"keywords":{}}],["pypi",{"_index":8267,"title":{},"content":{"1461":{"position":[[3010,5]]}},"keywords":{}}],["python",{"_index":25,"title":{},"content":{"3":{"position":[[200,8]]},"17":{"position":[[236,7]]},"18":{"position":[[1038,7]]},"20":{"position":[[139,7],[400,8]]},"22":{"position":[[101,7],[1643,6],[2063,6]]},"92":{"position":[[1278,6]]},"224":{"position":[[1278,6]]},"575":{"position":[[323,7]]},"591":{"position":[[740,6]]},"693":{"position":[[1919,7],[7768,6]]},"706":{"position":[[199,6],[247,6],[1034,6]]},"715":{"position":[[112,7]]},"717":{"position":[[119,7]]},"870":{"position":[[1349,7]]},"890":{"position":[[5623,9]]},"900":{"position":[[1756,7]]},"947":{"position":[[690,6],[863,6],[926,6]]},"956":{"position":[[93,6]]},"958":{"position":[[18,6]]},"980":{"position":[[1559,6]]},"1040":{"position":[[1704,6]]},"1105":{"position":[[2296,6],[2312,6],[2483,6],[2547,6]]},"1245":{"position":[[496,6]]},"1387":{"position":[[4264,6],[10589,6]]},"1403":{"position":[[7380,6]]},"1461":{"position":[[918,6],[3234,6]]},"1462":{"position":[[4294,6],[4323,6],[5882,6],[6835,6],[6997,6],[7451,6],[7998,6],[8206,6],[8763,6],[8921,6]]},"1465":{"position":[[1434,6],[3129,6],[3448,6],[3542,6],[3857,6],[4054,6],[4090,6],[4254,6],[4334,6],[4504,6]]},"1467":{"position":[[5043,6],[7966,6],[9058,6],[9268,6],[9398,6],[9717,6],[10246,6],[10283,6]]}},"keywords":{}}],["python/android:basic_to_ful",{"_index":7691,"title":{},"content":{"1403":{"position":[[7701,31],[7793,31],[8008,31],[8120,31]]}},"keywords":{}}],["python_binari",{"_index":4661,"title":{"1462":{"position":[[0,14]]}},"content":{"941":{"position":[[149,14]]},"943":{"position":[[717,14]]},"947":{"position":[[773,13],[821,13]]},"1245":{"position":[[541,13]]},"1461":{"position":[[965,15]]},"1462":{"position":[[4,14],[4242,15],[8965,14]]}},"keywords":{}}],["python_bootstrap_binari",{"_index":8344,"title":{"1463":{"position":[[0,24]]}},"content":{"1463":{"position":[[4,24]]}},"keywords":{}}],["python_bootstrap_librari",{"_index":8347,"title":{"1464":{"position":[[0,25]]}},"content":{"1464":{"position":[[4,25]]}},"keywords":{}}],["python_librari",{"_index":6185,"title":{"1465":{"position":[[0,15]]}},"content":{"1245":{"position":[[387,14]]},"1387":{"position":[[10801,15]]},"1461":{"position":[[2127,14]]},"1462":{"position":[[5846,16],[7549,14],[9051,15]]},"1465":{"position":[[4,15],[1386,16],[2594,16],[4347,15],[4656,15]]},"1467":{"position":[[11184,15]]}},"keywords":{}}],["python_needed_coverage_test",{"_index":8363,"title":{"1466":{"position":[[0,28]]}},"content":{"1466":{"position":[[4,28]]}},"keywords":{}}],["python_platform",{"_index":8083,"title":{},"content":{"1443":{"position":[[650,16]]}},"keywords":{}}],["python_test",{"_index":8262,"title":{"1467":{"position":[[0,12]]}},"content":{"1461":{"position":[[984,13]]},"1467":{"position":[[4,12],[4963,13],[10913,12]]}},"keywords":{}}],["python_test_runn",{"_index":8372,"title":{"1468":{"position":[[0,19]]}},"content":{"1468":{"position":[[4,19]]}},"keywords":{}}],["q&aworkplac",{"_index":7471,"title":{},"content":{"1393":{"position":[[4617,16]]}},"keywords":{}}],["qcstd",{"_index":4315,"title":{},"content":{"896":{"position":[[224,5],[588,5]]}},"keywords":{}}],["qualifi",{"_index":1564,"title":{},"content":{"284":{"position":[[104,9]]},"334":{"position":[[681,9]]},"463":{"position":[[58,9]]},"474":{"position":[[420,9]]},"675":{"position":[[192,9]]},"699":{"position":[[152,9]]},"1202":{"position":[[139,9],[1206,9]]},"1226":{"position":[[306,9]]},"1237":{"position":[[476,9]]},"1269":{"position":[[73,9]]},"1300":{"position":[[73,9]]},"1328":{"position":[[73,9]]},"1427":{"position":[[7957,9]]},"1439":{"position":[[8781,9]]},"1462":{"position":[[7095,9]]},"1467":{"position":[[8064,9]]}},"keywords":{}}],["queri",{"_index":358,"title":{"846":{"position":[[0,6]]},"1131":{"position":[[74,7]]},"1132":{"position":[[19,5]]},"1199":{"position":[[20,8]]},"1208":{"position":[[0,5]]},"1209":{"position":[[5,6]]},"1258":{"position":[[0,5]]},"1259":{"position":[[7,5]]},"1268":{"position":[[65,6]]},"1285":{"position":[[0,5]]},"1289":{"position":[[0,5]]},"1290":{"position":[[7,5]]},"1299":{"position":[[65,6]]},"1317":{"position":[[0,5]]},"1318":{"position":[[7,5]]},"1327":{"position":[[65,6]]}},"content":{"11":{"position":[[153,7]]},"22":{"position":[[1120,7],[1259,7]]},"204":{"position":[[91,5]]},"205":{"position":[[107,5]]},"206":{"position":[[75,5]]},"207":{"position":[[60,5]]},"238":{"position":[[437,5]]},"239":{"position":[[456,5]]},"240":{"position":[[28,6],[115,5]]},"242":{"position":[[130,5],[264,6],[414,5]]},"324":{"position":[[548,5]]},"325":{"position":[[337,5]]},"326":{"position":[[352,5]]},"328":{"position":[[356,5]]},"329":{"position":[[28,6],[175,5]]},"330":{"position":[[318,5]]},"331":{"position":[[304,5]]},"332":{"position":[[314,5]]},"333":{"position":[[339,5]]},"334":{"position":[[372,5]]},"335":{"position":[[564,5]]},"337":{"position":[[308,5]]},"338":{"position":[[337,5]]},"362":{"position":[[1303,5]]},"465":{"position":[[310,5]]},"466":{"position":[[218,5]]},"467":{"position":[[233,5]]},"469":{"position":[[237,5]]},"470":{"position":[[28,6],[115,5]]},"471":{"position":[[199,5]]},"472":{"position":[[185,5]]},"473":{"position":[[195,5]]},"474":{"position":[[111,5]]},"475":{"position":[[326,5]]},"476":{"position":[[311,6]]},"478":{"position":[[189,5]]},"693":{"position":[[772,7],[2031,5],[9840,5],[10207,7]]},"704":{"position":[[854,7],[1825,7],[2375,8]]},"705":{"position":[[253,8],[612,7]]},"741":{"position":[[1303,5]]},"837":{"position":[[136,8]]},"840":{"position":[[1319,8]]},"846":{"position":[[34,5],[47,8],[174,7],[373,7],[413,7],[511,7],[612,6],[638,5],[669,5],[743,5],[794,5],[833,5],[1094,5],[1249,8],[1575,8],[1735,5],[1823,5]]},"869":{"position":[[152,8]]},"870":{"position":[[560,5]]},"876":{"position":[[158,7]]},"879":{"position":[[186,7]]},"890":{"position":[[2103,7]]},"904":{"position":[[248,6],[345,5],[615,6],[703,5],[1235,5],[1322,5],[1531,5]]},"906":{"position":[[10,6],[449,6]]},"919":{"position":[[2426,5],[2539,9],[2615,9]]},"950":{"position":[[622,8],[710,5]]},"954":{"position":[[198,8]]},"956":{"position":[[50,7]]},"962":{"position":[[13,5],[75,5]]},"970":{"position":[[108,5]]},"995":{"position":[[626,9]]},"1009":{"position":[[61,5]]},"1131":{"position":[[414,5],[690,5]]},"1132":{"position":[[98,5],[322,5]]},"1136":{"position":[[8,7],[882,5],[945,5]]},"1138":{"position":[[2875,7]]},"1140":{"position":[[2364,7]]},"1148":{"position":[[8,7],[1238,5],[1301,5],[2791,5],[7203,5]]},"1167":{"position":[[3368,7]]},"1172":{"position":[[1327,7]]},"1173":{"position":[[627,7]]},"1188":{"position":[[2417,7]]},"1190":{"position":[[20,7],[96,5],[693,7],[731,5],[1113,5]]},"1191":{"position":[[0,5],[162,6],[386,5]]},"1199":{"position":[[30,5],[78,7],[175,5],[333,7]]},"1203":{"position":[[172,5]]},"1205":{"position":[[0,5]]},"1209":{"position":[[40,5],[115,5],[178,5]]},"1213":{"position":[[7,6]]},"1217":{"position":[[2109,7]]},"1228":{"position":[[4190,7]]},"1235":{"position":[[8,7],[245,8],[327,7],[386,8],[1375,5],[1438,5]]},"1258":{"position":[[399,7],[435,7],[950,5],[976,5],[1275,5]]},"1259":{"position":[[765,6],[1228,5],[1594,5],[1619,5],[1692,5],[1717,5],[1788,5],[1813,5],[1893,5],[1918,5],[1994,5],[2019,5]]},"1260":{"position":[[218,5],[519,5],[832,5]]},"1262":{"position":[[677,5]]},"1271":{"position":[[228,5]]},"1272":{"position":[[62,5]]},"1273":{"position":[[262,5]]},"1277":{"position":[[42,5],[67,5]]},"1278":{"position":[[42,5],[67,5]]},"1279":{"position":[[42,5],[67,5]]},"1280":{"position":[[42,5],[67,5]]},"1281":{"position":[[42,5],[67,5]]},"1289":{"position":[[399,7],[435,7],[950,5],[976,5],[1275,5]]},"1290":{"position":[[765,6],[1228,5],[1594,5],[1619,5],[1692,5],[1717,5],[1788,5],[1813,5],[1893,5],[1918,5],[1994,5],[2019,5]]},"1291":{"position":[[218,5],[519,5],[832,5]]},"1293":{"position":[[677,5]]},"1302":{"position":[[228,5]]},"1303":{"position":[[62,5]]},"1304":{"position":[[262,5]]},"1308":{"position":[[42,5],[67,5]]},"1309":{"position":[[42,5],[67,5]]},"1310":{"position":[[42,5],[67,5]]},"1311":{"position":[[42,5],[67,5]]},"1312":{"position":[[42,5],[67,5]]},"1317":{"position":[[399,7],[435,7],[950,5],[976,5],[1275,5]]},"1318":{"position":[[765,6],[1228,5],[1594,5],[1619,5],[1692,5],[1717,5],[1788,5],[1813,5],[1893,5],[1918,5],[1994,5],[2019,5]]},"1319":{"position":[[218,5],[519,5],[832,5]]},"1321":{"position":[[677,5]]},"1330":{"position":[[228,5]]},"1331":{"position":[[62,5]]},"1332":{"position":[[262,5]]},"1336":{"position":[[42,5],[67,5]]},"1337":{"position":[[42,5],[67,5]]},"1338":{"position":[[42,5],[67,5]]},"1339":{"position":[[42,5],[67,5]]},"1340":{"position":[[42,5],[67,5]]},"1355":{"position":[[5377,5],[5421,6],[5528,5]]},"1382":{"position":[[4501,5],[4515,5],[4555,5],[4602,5],[5071,8],[5304,5]]},"1383":{"position":[[8066,5],[8085,5]]},"1387":{"position":[[6624,7]]},"1388":{"position":[[5195,5],[5209,5],[5249,5],[5296,5],[5765,8],[5998,5]]},"1403":{"position":[[7166,5],[7185,5]]},"1439":{"position":[[6826,7]]},"1442":{"position":[[1491,5],[1505,5],[1545,5],[1592,5],[2061,8],[2294,5]]},"1461":{"position":[[2641,7]]},"1462":{"position":[[6128,7]]},"1465":{"position":[[3100,7]]},"1467":{"position":[[7240,7]]},"1468":{"position":[[1518,7]]}},"keywords":{}}],["query/buck",{"_index":4766,"title":{},"content":{"958":{"position":[[44,10]]}},"keywords":{}}],["query/uqueri",{"_index":5953,"title":{},"content":{"1154":{"position":[[259,12]]},"1157":{"position":[[24,12]]}},"keywords":{}}],["query_arg",{"_index":1479,"title":{},"content":{"240":{"position":[[40,11],[129,10],[275,10]]},"329":{"position":[[40,11],[189,10],[335,10],[583,10]]},"470":{"position":[[40,11],[129,10],[275,10],[528,10]]},"1136":{"position":[[837,15],[900,15]]},"1148":{"position":[[1193,15],[1256,15]]},"1209":{"position":[[70,15],[133,15]]},"1235":{"position":[[1330,15],[1393,15]]}},"keywords":{}}],["query_output",{"_index":5837,"title":{},"content":{"1132":{"position":[[171,15]]}},"keywords":{}}],["query_param",{"_index":4098,"title":{},"content":{"878":{"position":[[363,12],[1408,15]]}},"keywords":{}}],["query_target",{"_index":5835,"title":{},"content":{"1132":{"position":[[120,15]]}},"keywords":{}}],["query_targets_and_output",{"_index":5838,"title":{},"content":{"1132":{"position":[[222,27]]}},"keywords":{}}],["question",{"_index":2706,"title":{},"content":{"584":{"position":[[1081,8]]}},"keywords":{}}],["questions.us",{"_index":84,"title":{},"content":{"5":{"position":[[124,15]]}},"keywords":{}}],["queu",{"_index":5331,"title":{},"content":{"1053":{"position":[[1343,8]]}},"keywords":{}}],["queue",{"_index":1902,"title":{},"content":{"362":{"position":[[1869,5]]},"741":{"position":[[1869,5]]}},"keywords":{}}],["quickli",{"_index":180,"title":{},"content":{"9":{"position":[[270,7]]},"12":{"position":[[255,7]]},"689":{"position":[[180,7]]},"1228":{"position":[[1436,7]]}},"keywords":{}}],["quickly.src",{"_index":7133,"title":{},"content":{"1381":{"position":[[2408,13]]}},"keywords":{}}],["quickstack",{"_index":6093,"title":{},"content":{"1231":{"position":[[186,11],[207,10]]}},"keywords":{}}],["quiet",{"_index":2387,"title":{},"content":{"446":{"position":[[51,6]]},"825":{"position":[[51,6]]},"1136":{"position":[[6125,6]]},"1138":{"position":[[9787,6]]},"1140":{"position":[[8713,6]]},"1142":{"position":[[4157,6]]},"1144":{"position":[[485,6]]},"1146":{"position":[[4097,6]]},"1148":{"position":[[7688,6]]},"1150":{"position":[[720,6]]},"1152":{"position":[[418,6]]},"1154":{"position":[[573,6]]},"1155":{"position":[[4193,6]]},"1156":{"position":[[3771,6]]},"1157":{"position":[[356,6]]},"1158":{"position":[[350,6]]},"1159":{"position":[[350,6]]},"1161":{"position":[[1345,6]]},"1163":{"position":[[731,6]]},"1165":{"position":[[560,6]]},"1167":{"position":[[9717,6]]},"1169":{"position":[[2825,6]]},"1171":{"position":[[1066,6]]},"1172":{"position":[[2451,6]]},"1173":{"position":[[1138,6]]},"1174":{"position":[[566,6]]},"1175":{"position":[[562,6]]},"1176":{"position":[[731,6]]},"1177":{"position":[[652,6]]},"1178":{"position":[[969,6]]},"1179":{"position":[[766,6]]},"1180":{"position":[[1037,6]]},"1181":{"position":[[1557,6]]},"1182":{"position":[[600,6]]},"1183":{"position":[[555,6]]},"1185":{"position":[[400,6]]},"1186":{"position":[[5361,6]]},"1187":{"position":[[5374,6]]},"1188":{"position":[[10100,6]]},"1190":{"position":[[1731,6]]},"1191":{"position":[[3961,6]]},"1192":{"position":[[4136,6]]},"1193":{"position":[[4188,6]]},"1194":{"position":[[3828,6]]},"1195":{"position":[[3806,6]]},"1196":{"position":[[3616,6]]},"1197":{"position":[[189,5],[4599,6]]},"1198":{"position":[[4609,6]]},"1199":{"position":[[4637,6]]},"1200":{"position":[[4504,6]]},"1201":{"position":[[3764,6]]},"1202":{"position":[[508,6],[4906,6],[9303,6]]},"1203":{"position":[[3998,6]]},"1204":{"position":[[3842,6],[4744,6],[5674,6],[6576,6],[7562,6],[8516,6],[9463,6],[10393,6]]},"1205":{"position":[[5171,6]]},"1206":{"position":[[3870,6]]},"1207":{"position":[[3799,6]]},"1209":{"position":[[5147,6]]},"1211":{"position":[[471,6]]},"1213":{"position":[[242,6]]},"1215":{"position":[[326,6]]},"1217":{"position":[[8458,6]]},"1219":{"position":[[3713,6]]},"1221":{"position":[[445,6]]},"1222":{"position":[[3584,6]]},"1223":{"position":[[3594,6]]},"1224":{"position":[[3027,6]]},"1226":{"position":[[8926,6]]},"1228":{"position":[[10539,6]]},"1235":{"position":[[6407,6]]},"1237":{"position":[[9096,6]]}},"keywords":{}}],["quirk",{"_index":6509,"title":{},"content":{"1353":{"position":[[2544,5]]}},"keywords":{}}],["quit",{"_index":796,"title":{},"content":{"24":{"position":[[920,5]]},"92":{"position":[[1900,5]]},"224":{"position":[[1900,5]]},"406":{"position":[[669,5]]},"785":{"position":[[669,5]]},"846":{"position":[[1769,5]]},"912":{"position":[[38,5]]},"924":{"position":[[1289,5]]},"1040":{"position":[[2002,5]]},"1127":{"position":[[533,5]]}},"keywords":{}}],["quot",{"_index":171,"title":{},"content":{"9":{"position":[[118,8]]},"69":{"position":[[576,10]]},"89":{"position":[[386,6],[413,6]]},"221":{"position":[[386,6],[413,6]]},"346":{"position":[[45,6],[52,7],[301,6],[308,7]]},"368":{"position":[[747,6],[852,6],[889,6],[949,6]]},"405":{"position":[[568,6],[1841,7]]},"406":{"position":[[369,6],[452,6]]},"408":{"position":[[1114,9]]},"446":{"position":[[577,6]]},"457":{"position":[[576,10]]},"576":{"position":[[232,5]]},"577":{"position":[[564,7],[679,6]]},"592":{"position":[[421,6],[428,7]]},"601":{"position":[[192,6]]},"604":{"position":[[314,7],[354,7],[410,7]]},"606":{"position":[[238,6],[282,6],[326,7],[349,6]]},"607":{"position":[[129,6],[136,7]]},"608":{"position":[[318,7]]},"609":{"position":[[332,6]]},"615":{"position":[[239,6],[271,6],[290,6],[338,6]]},"616":{"position":[[1007,7]]},"619":{"position":[[187,6]]},"664":{"position":[[103,7],[338,10]]},"668":{"position":[[242,7]]},"747":{"position":[[747,6],[852,6],[889,6],[949,6]]},"784":{"position":[[568,6],[1841,7]]},"785":{"position":[[369,6],[452,6]]},"787":{"position":[[1114,9]]},"825":{"position":[[577,6]]},"1031":{"position":[[895,6],[927,6],[944,6],[978,6]]},"1040":{"position":[[2252,6],[2516,6]]},"1048":{"position":[[676,6],[1173,6]]},"1050":{"position":[[2664,6],[3937,6],[3979,6]]},"1082":{"position":[[779,6]]},"1103":{"position":[[307,6]]},"1130":{"position":[[267,7]]},"1136":{"position":[[6441,6]]},"1138":{"position":[[10103,6]]},"1140":{"position":[[9029,6]]},"1142":{"position":[[4473,6]]},"1144":{"position":[[801,6]]},"1146":{"position":[[4413,6]]},"1148":{"position":[[1061,8],[8004,6]]},"1150":{"position":[[1036,6]]},"1152":{"position":[[734,6]]},"1154":{"position":[[889,6]]},"1155":{"position":[[4509,6]]},"1156":{"position":[[4087,6]]},"1157":{"position":[[672,6]]},"1158":{"position":[[666,6]]},"1159":{"position":[[666,6]]},"1161":{"position":[[1661,6]]},"1163":{"position":[[1047,6]]},"1165":{"position":[[876,6]]},"1167":{"position":[[10033,6]]},"1169":{"position":[[3141,6]]},"1171":{"position":[[1382,6]]},"1172":{"position":[[820,7],[2767,6]]},"1173":{"position":[[1454,6]]},"1174":{"position":[[882,6]]},"1175":{"position":[[878,6]]},"1176":{"position":[[1047,6]]},"1177":{"position":[[968,6]]},"1178":{"position":[[1285,6]]},"1179":{"position":[[1082,6]]},"1180":{"position":[[1353,6]]},"1181":{"position":[[1873,6]]},"1182":{"position":[[916,6]]},"1183":{"position":[[871,6]]},"1185":{"position":[[716,6]]},"1186":{"position":[[5677,6]]},"1187":{"position":[[5690,6]]},"1188":{"position":[[10416,6]]},"1190":{"position":[[2047,6]]},"1191":{"position":[[4277,6]]},"1192":{"position":[[4452,6]]},"1193":{"position":[[4504,6]]},"1194":{"position":[[4144,6]]},"1195":{"position":[[4122,6]]},"1196":{"position":[[3932,6]]},"1197":{"position":[[4915,6]]},"1198":{"position":[[4925,6]]},"1199":{"position":[[4953,6]]},"1200":{"position":[[4820,6]]},"1201":{"position":[[4080,6]]},"1202":{"position":[[824,6],[5222,6],[9619,6]]},"1203":{"position":[[4314,6]]},"1204":{"position":[[4158,6],[5060,6],[5990,6],[6892,6],[7878,6],[8832,6],[9779,6],[10709,6]]},"1205":{"position":[[5487,6]]},"1206":{"position":[[4186,6]]},"1207":{"position":[[4115,6]]},"1209":{"position":[[5463,6]]},"1211":{"position":[[787,6]]},"1213":{"position":[[558,6]]},"1215":{"position":[[642,6]]},"1217":{"position":[[8774,6]]},"1219":{"position":[[4029,6]]},"1221":{"position":[[761,6]]},"1222":{"position":[[3900,6]]},"1223":{"position":[[3910,6]]},"1224":{"position":[[3343,6]]},"1226":{"position":[[9242,6]]},"1228":{"position":[[10855,6]]},"1235":{"position":[[853,8],[6723,6]]},"1237":{"position":[[9412,6]]},"1262":{"position":[[719,14]]},"1293":{"position":[[719,14]]},"1321":{"position":[[719,14]]},"1362":{"position":[[7615,6],[9631,6]]},"1363":{"position":[[7744,7]]},"1364":{"position":[[7854,6],[10745,6]]},"1367":{"position":[[9719,6]]},"1383":{"position":[[8133,7]]},"1403":{"position":[[7233,7]]},"1407":{"position":[[4721,7],[5106,6]]},"1478":{"position":[[2915,7],[3017,7],[3171,6]]}},"keywords":{}}],["quot;$(loc",{"_index":7093,"title":{},"content":{"1374":{"position":[[3153,16]]}},"keywords":{}}],["quot;$arg"",{"_index":8480,"title":{},"content":{"1478":{"position":[[3151,16]]}},"keywords":{}}],["quot;$header_name"",{"_index":6790,"title":{},"content":{"1362":{"position":[[7221,25],[7456,25],[9237,25],[9472,25]]},"1364":{"position":[[7460,25],[7695,25],[10351,25],[10586,25]]},"1367":{"position":[[9325,25],[9560,25]]}},"keywords":{}}],["quot;$header_namespace/$header_name"",{"_index":7050,"title":{},"content":{"1373":{"position":[[4841,42]]},"1382":{"position":[[5911,42]]},"1384":{"position":[[6424,42],[10858,42]]},"1385":{"position":[[3824,42]]},"1387":{"position":[[6157,42]]},"1388":{"position":[[6780,42]]},"1454":{"position":[[5128,42]]},"1485":{"position":[[2192,42]]}},"keywords":{}}],["quot;$header_path_prefix/$header_name"",{"_index":6789,"title":{},"content":{"1362":{"position":[[7093,44],[9181,44]]},"1364":{"position":[[7332,44],[10295,44]]},"1367":{"position":[[9269,44]]}},"keywords":{}}],["quot;$root/"",{"_index":2181,"title":{},"content":{"408":{"position":[[292,19]]},"787":{"position":[[292,19]]}},"keywords":{}}],["quot;<command",{"_index":5994,"title":{},"content":{"1172":{"position":[[2011,17]]}},"keywords":{}}],["quot;<stderr",{"_index":5996,"title":{},"content":{"1172":{"position":[[2114,16]]}},"keywords":{}}],["quot;<transit",{"_index":5007,"title":{},"content":{"1004":{"position":[[1765,22]]}},"keywords":{}}],["quot;"",{"_index":883,"title":{},"content":{"47":{"position":[[139,12]]},"125":{"position":[[28,13]]},"126":{"position":[[62,13]]},"127":{"position":[[42,13]]},"128":{"position":[[44,13]]},"129":{"position":[[95,12]]},"130":{"position":[[59,12]]},"131":{"position":[[200,12]]},"132":{"position":[[99,12]]},"133":{"position":[[85,12]]},"134":{"position":[[89,12]]},"135":{"position":[[41,13]]},"136":{"position":[[43,13]]},"137":{"position":[[64,12]]},"138":{"position":[[96,12]]},"139":{"position":[[59,13]]},"140":{"position":[[66,12]]},"141":{"position":[[55,12]]},"142":{"position":[[30,13]]},"143":{"position":[[43,13]]},"144":{"position":[[90,12]]},"145":{"position":[[76,12]]},"146":{"position":[[106,12]]},"147":{"position":[[59,12]]},"148":{"position":[[94,12]]},"149":{"position":[[100,12]]},"150":{"position":[[58,13]]},"151":{"position":[[57,13]]},"194":{"position":[[139,12]]},"248":{"position":[[28,13]]},"249":{"position":[[62,13]]},"250":{"position":[[42,13]]},"251":{"position":[[44,13]]},"252":{"position":[[95,12]]},"253":{"position":[[59,12]]},"254":{"position":[[200,12]]},"255":{"position":[[99,12]]},"256":{"position":[[85,12]]},"257":{"position":[[89,12]]},"258":{"position":[[41,13]]},"259":{"position":[[43,13]]},"260":{"position":[[64,12]]},"261":{"position":[[96,12]]},"262":{"position":[[59,13]]},"263":{"position":[[66,12]]},"264":{"position":[[55,12]]},"265":{"position":[[30,13]]},"266":{"position":[[43,13]]},"267":{"position":[[90,12]]},"268":{"position":[[76,12]]},"269":{"position":[[106,12]]},"270":{"position":[[59,12]]},"271":{"position":[[94,12]]},"272":{"position":[[100,12]]},"273":{"position":[[58,13]]},"274":{"position":[[57,13]]},"400":{"position":[[113,13]]},"403":{"position":[[85,12]]},"427":{"position":[[28,13]]},"437":{"position":[[117,13]]},"589":{"position":[[358,12]]},"604":{"position":[[341,12]]},"607":{"position":[[345,13],[359,14],[608,13],[622,13]]},"608":{"position":[[481,12]]},"609":{"position":[[479,12]]},"613":{"position":[[355,14],[370,13]]},"616":{"position":[[1053,13]]},"617":{"position":[[544,13]]},"645":{"position":[[500,13]]},"664":{"position":[[388,18]]},"779":{"position":[[113,13]]},"782":{"position":[[85,12]]},"806":{"position":[[28,13]]},"816":{"position":[[117,13]]},"1001":{"position":[[99,13]]},"1064":{"position":[[64,13]]},"1112":{"position":[[2282,14]]}},"keywords":{}}],["quot;".capit",{"_index":2744,"title":{},"content":{"589":{"position":[[329,25]]}},"keywords":{}}],["quot;".isalpha",{"_index":2855,"title":{},"content":{"598":{"position":[[261,22]]}},"keywords":{}}],["quot;".isdigit",{"_index":2860,"title":{},"content":{"599":{"position":[[259,22]]}},"keywords":{}}],["quot;".isspac",{"_index":2871,"title":{},"content":{"601":{"position":[[261,22]]}},"keywords":{}}],["quot;".replace(""",{"_index":2941,"title":{},"content":{"610":{"position":[[774,34]]}},"keywords":{}}],["quot;"som",{"_index":7524,"title":{},"content":{"1393":{"position":[[10531,16]]}},"keywords":{}}],["quot;'"",{"_index":3324,"title":{},"content":{"664":{"position":[[254,15]]}},"keywords":{}}],["quot;'\\""",{"_index":3326,"title":{},"content":{"664":{"position":[[291,23]]}},"keywords":{}}],["quot;(on",{"_index":2833,"title":{},"content":{"595":{"position":[[1646,11]]}},"keywords":{}}],["quot;({1",{"_index":2831,"title":{},"content":{"595":{"position":[[1578,11]]}},"keywords":{}}],["quot;)"",{"_index":2183,"title":{},"content":{"408":{"position":[[383,14]]},"787":{"position":[[383,14]]}},"keywords":{}}],["quot;**/config.h"",{"_index":2239,"title":{},"content":{"418":{"position":[[463,26]]},"797":{"position":[[463,26]]}},"keywords":{}}],["quot;+a1"",{"_index":7553,"title":{},"content":{"1395":{"position":[[3806,17]]}},"keywords":{}}],["quot;+sbtu"",{"_index":7552,"title":{},"content":{"1395":{"position":[[3786,19]]}},"keywords":{}}],["quot;,"",{"_index":2789,"title":{},"content":{"592":{"position":[[406,14]]}},"keywords":{}}],["quot;.beam"",{"_index":5151,"title":{},"content":{"1040":{"position":[[2346,18]]}},"keywords":{}}],["quot;.codepoint",{"_index":2754,"title":{},"content":{"590":{"position":[[546,22]]}},"keywords":{}}],["quot;.debug_info"",{"_index":1975,"title":{},"content":{"368":{"position":[[1713,24]]},"747":{"position":[[1713,24]]}},"keywords":{}}],["quot;.elem",{"_index":2785,"title":{},"content":{"592":{"position":[[309,17]]}},"keywords":{}}],["quot;.format(a",{"_index":3774,"title":{},"content":{"712":{"position":[[3145,18]]}},"keywords":{}}],["quot;.isspac",{"_index":2869,"title":{},"content":{"601":{"position":[[199,16]]}},"keywords":{}}],["quot;.join",{"_index":2891,"title":{},"content":{"604":{"position":[[322,15]]}},"keywords":{}}],["quot;.join(("x"",{"_index":2892,"title":{},"content":{"604":{"position":[[362,27]]}},"keywords":{}}],["quot;.join(["one"",{"_index":2894,"title":{},"content":{"604":{"position":[[418,29]]}},"keywords":{}}],["quot;.lstrip",{"_index":2908,"title":{},"content":{"606":{"position":[[251,15]]}},"keywords":{}}],["quot;.lstrip("!x",{"_index":2910,"title":{},"content":{"606":{"position":[[303,22]]}},"keywords":{}}],["quot;.out"",{"_index":5145,"title":{},"content":{"1040":{"position":[[2201,17]]}},"keywords":{}}],["quot;.rstrip",{"_index":2977,"title":{},"content":{"615":{"position":[[252,15]]}},"keywords":{}}],["quot;.strip",{"_index":3015,"title":{},"content":{"619":{"position":[[200,14]]}},"keywords":{}}],["quot;.stripped"",{"_index":1973,"title":{},"content":{"368":{"position":[[1670,22]]},"747":{"position":[[1670,22]]}},"keywords":{}}],["quot;/"",{"_index":2917,"title":{},"content":{"607":{"position":[[508,14]]},"613":{"position":[[276,14]]},"1058":{"position":[[587,15]]}},"keywords":{}}],["quot;//:a"",{"_index":6167,"title":{},"content":{"1235":{"position":[[1228,18]]}},"keywords":{}}],["quot;//apps//app_a:app_a"",{"_index":7591,"title":{},"content":{"1397":{"position":[[3585,32]]}},"keywords":{}}],["quot;//apps//app_b:app_b"",{"_index":7592,"title":{},"content":{"1397":{"position":[[3618,32]]}},"keywords":{}}],["quot;//buck2/app/buck2_core:buck2_core"",{"_index":3462,"title":{},"content":{"690":{"position":[[698,47],[1675,47]]}},"keywords":{}}],["quot;//constraints:os"",{"_index":5012,"title":{},"content":{"1004":{"position":[[1907,29]]}},"keywords":{}}],["quot;//constraints:watchos"",{"_index":5014,"title":{},"content":{"1004":{"position":[[1958,34]]}},"keywords":{}}],["quot;//example:bar"",{"_index":4419,"title":{},"content":{"905":{"position":[[805,27]]}},"keywords":{}}],["quot;//export"",{"_index":7749,"title":{},"content":{"1407":{"position":[[1253,20]]}},"keywords":{}}],["quot;//foo/bar/lib:lib"",{"_index":5829,"title":{},"content":{"1131":{"position":[[743,30]]}},"keywords":{}}],["quot;//foo:bar"",{"_index":5025,"title":{},"content":{"1006":{"position":[[645,23]]}},"keywords":{}}],["quot;//instrumentation_tests:instrumentation_tests"",{"_index":8528,"title":{},"content":{"1482":{"position":[[2419,58]]}},"keywords":{}}],["quot;//integration_tests:integration_tests"",{"_index":8529,"title":{},"content":{"1482":{"position":[[2478,50]]}},"keywords":{}}],["quot;//lib:file1"",{"_index":1826,"title":{},"content":{"335":{"position":[[728,24]]},"475":{"position":[[490,24]]}},"keywords":{}}],["quot;//lib:foo"",{"_index":4978,"title":{},"content":{"995":{"position":[[1445,22]]}},"keywords":{}}],["quot;//path/to/lib/1.1:foo"",{"_index":4966,"title":{},"content":{"994":{"position":[[525,34]]}},"keywords":{}}],["quot;//path/to/lib/1.2:foo"",{"_index":4968,"title":{},"content":{"994":{"position":[[577,34]]}},"keywords":{}}],["quot;//qux:quux"",{"_index":5026,"title":{},"content":{"1006":{"position":[[669,24]]}},"keywords":{}}],["quot;//some/other:target"",{"_index":8622,"title":{},"content":{"1487":{"position":[[3686,31]]}},"keywords":{}}],["quot;//some_config:platform1"",{"_index":4979,"title":{},"content":{"995":{"position":[[1479,36]]}},"keywords":{}}],["quot;//the/desired/watchos:platform".us",{"_index":4976,"title":{},"content":{"995":{"position":[[1085,48]]}},"keywords":{}}],["quot;//transitions:opengl",{"_index":5034,"title":{},"content":{"1007":{"position":[[307,26]]}},"keywords":{}}],["quot;//unit_tests:unit_tests"",{"_index":8532,"title":{},"content":{"1482":{"position":[[2611,36]]}},"keywords":{}}],["quot;//x86").attribut",{"_index":4787,"title":{},"content":{"962":{"position":[[527,29]]}},"keywords":{}}],["quot;/tmp/1.args"",{"_index":8587,"title":{},"content":{"1486":{"position":[[4313,24]]}},"keywords":{}}],["quot;/tmp/1.err"",{"_index":8591,"title":{},"content":{"1486":{"position":[[4412,22]]}},"keywords":{}}],["quot;/tmp/1.out"",{"_index":8589,"title":{},"content":{"1486":{"position":[[4363,23]]}},"keywords":{}}],["quot;0"",{"_index":8583,"title":{},"content":{"1486":{"position":[[3929,14],[4120,14]]}},"keywords":{}}],["quot;0000000000000000000000000000000000000000"",{"_index":6485,"title":{},"content":{"1351":{"position":[[3958,54]]}},"keywords":{}}],["quot;1.0.0"",{"_index":7590,"title":{},"content":{"1397":{"position":[[3549,18]]}},"keywords":{}}],["quot;1.1"",{"_index":4965,"title":{},"content":{"994":{"position":[[508,16]]}},"keywords":{}}],["quot;1.2"",{"_index":4967,"title":{},"content":{"994":{"position":[[560,16]]}},"keywords":{}}],["quot;123".isdigit",{"_index":2858,"title":{},"content":{"599":{"position":[[185,25]]}},"keywords":{}}],["quot;123".islow",{"_index":2865,"title":{},"content":{"600":{"position":[[300,25]]}},"keywords":{}}],["quot;123".istitl",{"_index":2880,"title":{},"content":{"602":{"position":[[350,25]]}},"keywords":{}}],["quot;123".isupp",{"_index":2885,"title":{},"content":{"603":{"position":[[296,25]]}},"keywords":{}}],["quot;1234"",{"_index":2337,"title":{},"content":{"435":{"position":[[256,17]]},"814":{"position":[[256,17]]}},"keywords":{}}],["quot;23d777a5282c1957c7ce35946374fff0adab114c"",{"_index":8065,"title":{},"content":{"1439":{"position":[[6620,52]]}},"keywords":{}}],["quot;7bf804bdf71fdbfc99cce3b155b3643f022c6fa4"",{"_index":6492,"title":{},"content":{"1351":{"position":[[4577,52]]}},"keywords":{}}],["quot;9.0"",{"_index":6922,"title":{},"content":{"1363":{"position":[[7786,17]]}},"keywords":{}}],["quot;:app_b"",{"_index":7512,"title":{},"content":{"1393":{"position":[[10059,19]]}},"keywords":{}}],["quot;:app_c"",{"_index":7522,"title":{},"content":{"1393":{"position":[[10457,19]]}},"keywords":{}}],["quot;:archive[src/lib.rs]"",{"_index":7901,"title":{},"content":{"1422":{"position":[[3234,33]]}},"keywords":{}}],["quot;:b"",{"_index":5074,"title":{},"content":{"1024":{"position":[[999,16]]}},"keywords":{}}],["quot;:broker"",{"_index":5335,"title":{},"content":{"1054":{"position":[[106,20]]}},"keywords":{}}],["quot;:c"",{"_index":5076,"title":{},"content":{"1024":{"position":[[1080,15]]}},"keywords":{}}],["quot;:cgo_exported_headers"",{"_index":7778,"title":{},"content":{"1407":{"position":[[5278,36]]}},"keywords":{}}],["quot;:escript_app"",{"_index":7551,"title":{},"content":{"1395":{"position":[[3746,25]]}},"keywords":{}}],["quot;:example"",{"_index":7763,"title":{},"content":{"1407":{"position":[[4751,23]]}},"keywords":{}}],["quot;:foo"",{"_index":4560,"title":{},"content":{"927":{"position":[[85,17]]},"993":{"position":[[350,17]]}},"keywords":{}}],["quot;:gen_stuff"",{"_index":1983,"title":{},"content":{"368":{"position":[[1908,22],[2058,25]]},"747":{"position":[[1908,22],[2058,25]]}},"keywords":{}}],["quot;:gener",{"_index":8430,"title":{},"content":{"1471":{"position":[[4370,16]]},"1472":{"position":[[4954,16]]},"1473":{"position":[[4691,16]]}},"keywords":{}}],["quot;:generate_manifest_with_named_outputs"",{"_index":7701,"title":{},"content":{"1403":{"position":[[8580,50]]}},"keywords":{}}],["quot;:generate_manifest_with_named_outputs[manifest]"",{"_index":7704,"title":{},"content":{"1403":{"position":[[8740,60]]}},"keywords":{}}],["quot;:greenlet"",{"_index":8291,"title":{},"content":{"1461":{"position":[[4098,22]]}},"keywords":{}}],["quot;:kotlinx",{"_index":8053,"title":{},"content":{"1439":{"position":[[5906,14],[6172,14]]}},"keywords":{}}],["quot;:l"",{"_index":4938,"title":{},"content":{"991":{"position":[[2151,17]]}},"keywords":{}}],["quot;:lib"",{"_index":7074,"title":{},"content":{"1373":{"position":[[8765,18]]}},"keywords":{}}],["quot;:linux_only_dep"",{"_index":4629,"title":{},"content":{"938":{"position":[[824,30]]}},"keywords":{}}],["quot;:my_app"",{"_index":7643,"title":{},"content":{"1398":{"position":[[7098,22]]}},"keywords":{}}],["quot;:my_other_app"",{"_index":7639,"title":{},"content":{"1398":{"position":[[6930,28]]}},"keywords":{}}],["quot;:my_resource"",{"_index":5349,"title":{},"content":{"1054":{"position":[[1491,25]]}},"keywords":{}}],["quot;:my_target"",{"_index":5657,"title":{},"content":{"1104":{"position":[[634,26]]}},"keywords":{}}],["quot;:nod",{"_index":7092,"title":{},"content":{"1374":{"position":[[3122,11],[3930,11],[3976,11],[4020,11]]}},"keywords":{}}],["quot;:p1"",{"_index":4935,"title":{},"content":{"991":{"position":[[2058,18]]}},"keywords":{}}],["quot;:p1_real"",{"_index":4931,"title":{},"content":{"991":{"position":[[1803,21]]}},"keywords":{}}],["quot;:p2"",{"_index":4937,"title":{},"content":{"991":{"position":[[2088,18]]}},"keywords":{}}],["quot;:p2_real"",{"_index":4934,"title":{},"content":{"991":{"position":[[1991,21]]}},"keywords":{}}],["quot;:readme"",{"_index":7514,"title":{},"content":{"1393":{"position":[[10137,20]]}},"keywords":{}}],["quot;:request",{"_index":8280,"title":{},"content":{"1461":{"position":[[3773,15]]}},"keywords":{}}],["quot;:resources"",{"_index":8551,"title":{},"content":{"1485":{"position":[[5086,22]]}},"keywords":{}}],["quot;:shared"",{"_index":7780,"title":{},"content":{"1407":{"position":[[5328,20]]}},"keywords":{}}],["quot;:slow_tests"",{"_index":8531,"title":{},"content":{"1482":{"position":[[2586,24]]}},"keywords":{}}],["quot;:some_rust_crate"",{"_index":8434,"title":{},"content":{"1471":{"position":[[4732,28]]},"1472":{"position":[[3683,28],[5316,28]]},"1473":{"position":[[5053,28]]}},"keywords":{}}],["quot;:start.sh"",{"_index":7595,"title":{},"content":{"1397":{"position":[[3748,22]]}},"keywords":{}}],["quot;:sys.config.src"",{"_index":7594,"title":{},"content":{"1397":{"position":[[3697,28]]}},"keywords":{}}],["quot;:util"",{"_index":7076,"title":{},"content":{"1373":{"position":[[8866,20]]}},"keywords":{}}],["quot;:yarn"",{"_index":7099,"title":{},"content":{"1374":{"position":[[3346,18],[3442,18],[3538,18]]}},"keywords":{}}],["quot;;$home\\.cargo\\bin"",{"_index":474,"title":{},"content":{"15":{"position":[[747,29]]}},"keywords":{}}],["quot;@"",{"_index":4577,"title":{},"content":{"934":{"position":[[57,13]]}},"keywords":{}}],["quot;[1",{"_index":3321,"title":{},"content":{"664":{"position":[[205,9]]},"668":{"position":[[317,9]]}},"keywords":{}}],["quot;\\"test",{"_index":3325,"title":{},"content":{"664":{"position":[[273,17]]}},"keywords":{}}],["quot;\\"x\\""",{"_index":3319,"title":{},"content":{"664":{"position":[[149,27]]}},"keywords":{}}],["quot;\\"x\\\\\\"y\\\\u0001f63f",{"_index":3328,"title":{},"content":{"664":{"position":[[352,35]]}},"keywords":{}}],["quot;\\n"",{"_index":3003,"title":{},"content":{"617":{"position":[[638,15]]}},"keywords":{}}],["quot;\\r\\t\\n".isspac",{"_index":2870,"title":{},"content":{"601":{"position":[[224,28]]}},"keywords":{}}],["quot;__codegen_dir__"",{"_index":8046,"title":{},"content":{"1439":{"position":[[5353,28]]}},"keywords":{}}],["quot;__type"",{"_index":3479,"title":{},"content":{"690":{"position":[[1283,19],[1471,19]]},"1235":{"position":[[1099,21],[1164,20]]}},"keywords":{}}],["quot;_cc"",{"_index":1967,"title":{},"content":{"368":{"position":[[1391,16]]},"747":{"position":[[1391,16]]}},"keywords":{}}],["quot;_ios_simulator"",{"_index":5348,"title":{},"content":{"1054":{"position":[[1424,27]]}},"keywords":{}}],["quot;_silly_toolchain"",{"_index":5261,"title":{},"content":{"1048":{"position":[[1585,29]]}},"keywords":{}}],["quot;_strip_script"",{"_index":1970,"title":{},"content":{"368":{"position":[[1472,26]]},"747":{"position":[[1472,26]]}},"keywords":{}}],["quot;_test"",{"_index":7791,"title":{},"content":{"1410":{"position":[[4370,17]]}},"keywords":{}}],["quot;a",{"_index":1707,"title":{},"content":{"306":{"position":[[464,7]]},"595":{"position":[[1408,7],[1440,7]]}},"keywords":{}}],["quot;a"",{"_index":1703,"title":{},"content":{"306":{"position":[[397,15]]},"560":{"position":[[856,15]]},"566":{"position":[[651,14],[681,14],[711,14]]},"567":{"position":[[533,14],[581,15]]},"614":{"position":[[369,14],[384,14],[465,14]]},"616":{"position":[[1231,14],[1246,14]]},"617":{"position":[[704,15]]},"673":{"position":[[570,15]]},"712":{"position":[[1254,15],[1886,15]]},"867":{"position":[[504,14]]},"1024":{"position":[[942,14]]}},"keywords":{}}],["quot;a".join("ctmrn".elem",{"_index":2897,"title":{},"content":{"604":{"position":[[516,45]]}},"keywords":{}}],["quot;a/b"",{"_index":8227,"title":{},"content":{"1457":{"position":[[1858,16]]}},"keywords":{}}],["quot;a/b")package_root",{"_index":7057,"title":{},"content":{"1373":{"position":[[5907,29]]},"1408":{"position":[[2271,29]]}},"keywords":{}}],["quot;a/b_test"",{"_index":7792,"title":{},"content":{"1410":{"position":[[4468,21]]}},"keywords":{}}],["quot;a1b2c"",{"_index":2830,"title":{},"content":{"595":{"position":[[1560,17]]}},"keywords":{}}],["quot;a2b3c1"",{"_index":2828,"title":{},"content":{"595":{"position":[[1505,18]]}},"keywords":{}}],["quot;a\\nb".splitlin",{"_index":3004,"title":{},"content":{"617":{"position":[[671,29]]}},"keywords":{}}],["quot;a_default"",{"_index":2318,"title":{},"content":{"429":{"position":[[514,22],[540,21]]},"808":{"position":[[514,22],[540,21]]}},"keywords":{}}],["quot;abababa".count("aba"",{"_index":2773,"title":{},"content":{"591":{"position":[[606,42],[810,42]]}},"keywords":{}}],["quot;abc".elem",{"_index":3368,"title":{},"content":{"673":{"position":[[537,24]]}},"keywords":{}}],["quot;abc".isalpha",{"_index":2853,"title":{},"content":{"598":{"position":[[187,25]]}},"keywords":{}}],["quot;action_metadata"",{"_index":5299,"title":{},"content":{"1050":{"position":[[2788,28],[4113,28]]}},"keywords":{}}],["quot;action_metadata.json"",{"_index":5300,"title":{},"content":{"1050":{"position":[[2833,33],[4158,33]]}},"keywords":{}}],["quot;actionexecutionevent"",{"_index":4022,"title":{},"content":{"867":{"position":[[701,33]]}},"keywords":{}}],["quot;actual"",{"_index":4563,"title":{},"content":{"927":{"position":[[255,18]]},"930":{"position":[[175,19]]},"991":{"position":[[103,19]]}},"keywords":{}}],["quot;add"",{"_index":7098,"title":{},"content":{"1374":{"position":[[3323,16],[3372,18]]}},"keywords":{}}],["quot;all_tests"",{"_index":8530,"title":{},"content":{"1482":{"position":[[2553,22]]}},"keywords":{}}],["quot;allpaths('//foo:bar",{"_index":6266,"title":{},"content":{"1260":{"position":[[224,27],[838,27]]},"1291":{"position":[[224,27],[838,27]]},"1319":{"position":[[224,27],[838,27]]}},"keywords":{}}],["quot;allpaths(kind(java_librari",{"_index":6270,"title":{},"content":{"1260":{"position":[[525,33]]},"1291":{"position":[[525,33]]},"1319":{"position":[[525,33]]}},"keywords":{}}],["quot;amaz",{"_index":8626,"title":{},"content":{"1487":{"position":[[3807,13]]}},"keywords":{}}],["quot;ana"",{"_index":2993,"title":{},"content":{"616":{"position":[[1324,16]]}},"keywords":{}}],["quot;android_.*"",{"_index":4705,"title":{},"content":{"944":{"position":[[1554,23]]}},"keywords":{}}],["quot;androidmanifest.xml"",{"_index":7698,"title":{},"content":{"1403":{"position":[[8250,31],[8305,31]]}},"keywords":{}}],["quot;app"",{"_index":5834,"title":{},"content":{"1131":{"position":[[976,17]]},"1363":{"position":[[5669,16]]},"1485":{"position":[[5026,16]]}},"keywords":{}}],["quot;app/lib.h"",{"_index":5833,"title":{},"content":{"1131":{"position":[[933,21]]}},"keywords":{}}],["quot;app/util.h"",{"_index":5831,"title":{},"content":{"1131":{"position":[[810,22]]}},"keywords":{}}],["quot;app_a"",{"_index":7510,"title":{},"content":{"1393":{"position":[[9969,18]]}},"keywords":{}}],["quot;app_b"",{"_index":7517,"title":{},"content":{"1393":{"position":[[10300,18],[10486,19]]}},"keywords":{}}],["quot;appl",{"_index":6506,"title":{},"content":{"1353":{"position":[[2375,17]]}},"keywords":{}}],["quot;apple_.*"",{"_index":4703,"title":{},"content":{"944":{"position":[[1504,21]]}},"keywords":{}}],["quot;apple_bundle"",{"_index":4101,"title":{},"content":{"878":{"position":[[447,25]]}},"keywords":{}}],["quot;archive"",{"_index":7899,"title":{},"content":{"1422":{"position":[[3112,19]]}},"keywords":{}}],["quot;arg1"",{"_index":4774,"title":{},"content":{"961":{"position":[[515,17]]},"966":{"position":[[357,17]]}},"keywords":{}}],["quot;args_path"",{"_index":8586,"title":{},"content":{"1486":{"position":[[4290,22]]}},"keywords":{}}],["quot;arguments"",{"_index":5683,"title":{},"content":{"1105":{"position":[[497,23]]}},"keywords":{}}],["quot;arm64"",{"_index":4857,"title":{},"content":{"980":{"position":[[1220,18]]},"1006":{"position":[[867,18],[1026,18]]}},"keywords":{}}],["quot;armv7"",{"_index":5030,"title":{},"content":{"1006":{"position":[[944,18],[1104,18]]}},"keywords":{}}],["quot;artifact"",{"_index":5673,"title":{},"content":{"1104":{"position":[[2423,21]]}},"keywords":{}}],["quot;attrfilt",{"_index":7192,"title":{},"content":{"1383":{"position":[[8091,17]]},"1403":{"position":[[7191,17]]}},"keywords":{}}],["quot;attrfilter(annotation_processor",{"_index":7156,"title":{},"content":{"1382":{"position":[[5155,39]]},"1388":{"position":[[5849,39]]},"1442":{"position":[[2145,39]]}},"keywords":{}}],["quot;attrfilter(dep",{"_index":6281,"title":{},"content":{"1262":{"position":[[683,22]]},"1293":{"position":[[683,22]]},"1321":{"position":[[683,22]]}},"keywords":{}}],["quot;author@email.com"",{"_index":7640,"title":{},"content":{"1398":{"position":[[6970,31],[7132,31]]}},"keywords":{}}],["quot;a{x}b{y}c{}".format(1",{"_index":2825,"title":{},"content":{"595":{"position":[[1458,33]]}},"keywords":{}}],["quot;a{}b{}c".format(1",{"_index":2829,"title":{},"content":{"595":{"position":[[1524,29]]}},"keywords":{}}],["quot;b"",{"_index":1704,"title":{},"content":{"306":{"position":[[413,14]]},"560":{"position":[[782,15],[875,14]]},"566":{"position":[[635,15]]},"567":{"position":[[475,15],[597,14]]},"617":{"position":[[720,14]]},"645":{"position":[[454,15]]},"673":{"position":[[590,15]]},"712":{"position":[[1270,14],[1902,14]]},"867":{"position":[[519,14]]},"991":{"position":[[2129,14]]},"1024":{"position":[[1033,14]]}},"keywords":{}}],["quot;ba"",{"_index":2968,"title":{},"content":{"614":{"position":[[352,16]]},"616":{"position":[[1214,16],[1307,16]]}},"keywords":{}}],["quot;bana"",{"_index":2969,"title":{},"content":{"614":{"position":[[446,18]]}},"keywords":{}}],["quot;banana"",{"_index":2937,"title":{},"content":{"610":{"position":[[587,18]]}},"keywords":{}}],["quot;banana".replace(""",{"_index":2938,"title":{},"content":{"610":{"position":[[606,40],[691,40]]}},"keywords":{}}],["quot;banana".replace("a"",{"_index":2933,"title":{},"content":{"610":{"position":[[366,41],[445,41],[841,41]]}},"keywords":{}}],["quot;banana".replace("z"",{"_index":2936,"title":{},"content":{"610":{"position":[[527,41]]}},"keywords":{}}],["quot;banana".rsplit("n"",{"_index":2967,"title":{},"content":{"614":{"position":[[308,40],[399,40]]}},"keywords":{}}],["quot;banana".split("a"",{"_index":3188,"title":{},"content":{"645":{"position":[[530,39]]}},"keywords":{}}],["quot;banana".split("n"",{"_index":2992,"title":{},"content":{"616":{"position":[[1171,39],[1261,39]]}},"keywords":{}}],["quot;bar"",{"_index":3986,"title":{},"content":{"864":{"position":[[498,17]]},"867":{"position":[[594,15]]},"941":{"position":[[171,16]]},"943":{"position":[[739,16]]},"1081":{"position":[[254,16]]},"1082":{"position":[[1023,16]]},"1083":{"position":[[857,16]]},"1084":{"position":[[455,16]]},"1087":{"position":[[559,16],[759,17]]},"1088":{"position":[[906,16],[1420,16],[1465,16],[1529,16],[1602,16]]}},"keywords":{}}],["quot;bar:2"",{"_index":2034,"title":{},"content":{"377":{"position":[[918,18]]},"756":{"position":[[918,18]]},"1052":{"position":[[800,18]]},"1054":{"position":[[662,18],[849,19]]}},"keywords":{}}],["quot;bar:2"}and",{"_index":2044,"title":{},"content":{"377":{"position":[[1305,21]]},"756":{"position":[[1305,21]]}},"keywords":{}}],["quot;base64".isalnum",{"_index":2848,"title":{},"content":{"597":{"position":[[206,28]]}},"keywords":{}}],["quot;bb99a3f19ecba6c4d2c7cd321b63b669684c713881baae21a6b1d759b3ec6ac9"",{"_index":2385,"title":{},"content":{"445":{"position":[[174,76]]},"824":{"position":[[174,76]]}},"keywords":{}}],["quot;belong"",{"_index":3035,"title":{},"content":{"622":{"position":[[931,18]]}},"keywords":{}}],["quot;bin"",{"_index":7072,"title":{},"content":{"1373":{"position":[[8711,16]]},"1397":{"position":[[3729,16]]}},"keywords":{}}],["quot;bin/kind"",{"_index":1788,"title":{},"content":{"327":{"position":[[450,22]]},"468":{"position":[[331,22]]}},"keywords":{}}],["quot;bin/kind/..."",{"_index":1781,"title":{},"content":{"326":{"position":[[521,25]]},"332":{"position":[[433,25]]},"467":{"position":[[402,25]]},"473":{"position":[[314,25]]}},"keywords":{}}],["quot;bonbo"",{"_index":2953,"title":{},"content":{"612":{"position":[[443,17]]}},"keywords":{}}],["quot;bonbon".find("on"",{"_index":2800,"title":{},"content":{"594":{"position":[[470,39],[515,39],[563,39]]}},"keywords":{}}],["quot;bonbon".index("on"",{"_index":2843,"title":{},"content":{"596":{"position":[[347,40],[393,40],[442,40]]}},"keywords":{}}],["quot;bonbon".rfind("on"",{"_index":2947,"title":{},"content":{"611":{"position":[[308,40],[354,40],[409,40]]}},"keywords":{}}],["quot;bonbon".rindex("on"",{"_index":2952,"title":{},"content":{"612":{"position":[[335,41],[382,41],[461,41]]}},"keywords":{}}],["quot;bonona"",{"_index":2935,"title":{},"content":{"610":{"position":[[508,18]]}},"keywords":{}}],["quot;bonono"",{"_index":2934,"title":{},"content":{"610":{"position":[[426,18]]}},"keywords":{}}],["quot;bool"",{"_index":3064,"title":{},"content":{"630":{"position":[[110,16]]}},"keywords":{}}],["quot;bool_arg"",{"_index":3849,"title":{},"content":{"840":{"position":[[397,21]]},"850":{"position":[[307,21]]}},"keywords":{}}],["quot;bool_value"",{"_index":4013,"title":{},"content":{"867":{"position":[[377,23]]}},"keywords":{}}],["quot;bottom",{"_index":3606,"title":{},"content":{"695":{"position":[[505,12]]}},"keywords":{}}],["quot;buck",{"_index":585,"title":{},"content":{"18":{"position":[[1537,10]]},"1050":{"position":[[1706,10]]},"1487":{"position":[[3255,10]]}},"keywords":{}}],["quot;buck.cfg_modifiers"",{"_index":4662,"title":{},"content":{"941":{"position":[[205,32]]},"943":{"position":[[773,32]]}},"keywords":{}}],["quot;buck.execution_platform"",{"_index":3491,"title":{},"content":{"690":{"position":[[2045,36]]}},"keywords":{}}],["quot;buck.package"",{"_index":3466,"title":{},"content":{"690":{"position":[[852,25],[1874,25]]}},"keywords":{}}],["quot;buck.target_configuration"",{"_index":3489,"title":{},"content":{"690":{"position":[[1950,38]]}},"keywords":{}}],["quot;buck.type"",{"_index":3464,"title":{},"content":{"690":{"position":[[803,22],[1825,22]]}},"keywords":{}}],["quot;buck2",{"_index":165,"title":{},"content":{"9":{"position":[[0,11],[149,11]]}},"keywords":{}}],["quot;buck2_core"",{"_index":3469,"title":{},"content":{"690":{"position":[[946,23],[2152,23]]}},"keywords":{}}],["quot;buck_regex"",{"_index":2330,"title":{},"content":{"434":{"position":[[95,22]]},"813":{"position":[[95,22]]}},"keywords":{}}],["quot;buildfile(owner('foo/bar/main.cpp'))"",{"_index":5855,"title":{},"content":{"1134":{"position":[[131,48]]}},"keywords":{}}],["quot;bxlensureartifactsevent"",{"_index":4047,"title":{},"content":{"867":{"position":[[2201,36]]}},"keywords":{}}],["quot;c"",{"_index":1705,"title":{},"content":{"306":{"position":[[428,15]]},"560":{"position":[[893,14]]},"567":{"position":[[491,14],[612,14]]},"673":{"position":[[610,15]]},"712":{"position":[[1285,15],[1917,15]]},"867":{"position":[[534,13]]},"1373":{"position":[[4512,13],[8320,13]]}},"keywords":{}}],["quot;c_shared"",{"_index":7761,"title":{},"content":{"1407":{"position":[[4682,21]]}},"keywords":{}}],["quot;call"",{"_index":2182,"title":{},"content":{"408":{"position":[[347,17]]},"787":{"position":[[347,17]]}},"keywords":{}}],["quot;capabilities"",{"_index":8584,"title":{},"content":{"1486":{"position":[[3944,25],[4135,25]]}},"keywords":{}}],["quot;capitalize"",{"_index":3113,"title":{},"content":{"637":{"position":[[234,22]]}},"keywords":{}}],["quot;cat",{"_index":7771,"title":{},"content":{"1407":{"position":[[5115,9]]}},"keywords":{}}],["quot;catamaran"",{"_index":2898,"title":{},"content":{"604":{"position":[[565,21]]}},"keywords":{}}],["quot;catch",{"_index":2849,"title":{},"content":{"597":{"position":[[243,11]]},"598":{"position":[[221,11]]},"599":{"position":[[219,11]]},"600":{"position":[[260,11]]},"602":{"position":[[271,11]]},"603":{"position":[[256,11]]}},"keywords":{}}],["quot;category"",{"_index":4025,"title":{},"content":{"867":{"position":[[921,21]]}},"keywords":{}}],["quot;cd",{"_index":977,"title":{},"content":{"69":{"position":[[567,8]]},"408":{"position":[[1105,8]]},"457":{"position":[[567,8]]},"787":{"position":[[1105,8]]}},"keywords":{}}],["quot;cell//package:"",{"_index":6231,"title":{},"content":{"1258":{"position":[[263,27]]},"1289":{"position":[[263,27]]},"1317":{"position":[[263,27]]}},"keywords":{}}],["quot;cell//path/to/file:target"",{"_index":1799,"title":{},"content":{"329":{"position":[[596,40]]},"470":{"position":[[541,40]]}},"keywords":{}}],["quot;cell//path/to/script.bxl:function_name"",{"_index":4035,"title":{},"content":{"867":{"position":[[1449,50]]}},"keywords":{}}],["quot;cell//recursive/..."",{"_index":6232,"title":{},"content":{"1258":{"position":[[294,32]]},"1289":{"position":[[294,32]]},"1317":{"position":[[294,32]]}},"keywords":{}}],["quot;cell//some:target"",{"_index":6230,"title":{},"content":{"1258":{"position":[[218,31],[854,30]]},"1289":{"position":[[218,31],[854,30]]},"1317":{"position":[[218,31],[854,30]]}},"keywords":{}}],["quot;cfg//:linux"",{"_index":4650,"title":{},"content":{"940":{"position":[[688,24]]},"943":{"position":[[454,24]]}},"keywords":{}}],["quot;cfg//compiler:clang"",{"_index":4638,"title":{},"content":{"939":{"position":[[1169,32]]},"940":{"position":[[752,32]]},"943":{"position":[[518,32]]}},"keywords":{}}],["quot;cfg//compiler:msvc"",{"_index":4637,"title":{},"content":{"939":{"position":[[1116,31],[1635,31]]},"940":{"position":[[814,31]]},"943":{"position":[[580,31]]}},"keywords":{}}],["quot;cfg//os:android"",{"_index":4706,"title":{},"content":{"944":{"position":[[1578,28]]}},"keywords":{}}],["quot;cfg//os:iphone"",{"_index":4704,"title":{},"content":{"944":{"position":[[1526,27]]}},"keywords":{}}],["quot;cfg//os:linux"",{"_index":4628,"title":{},"content":{"938":{"position":[[797,26]]},"939":{"position":[[1688,26]]},"944":{"position":[[1642,26],[1669,26]]}},"keywords":{}}],["quot;cfg//os:macos"",{"_index":4686,"title":{},"content":{"943":{"position":[[672,28]]},"944":{"position":[[1696,26],[1723,26]]}},"keywords":{}}],["quot;cfg//os:windows"",{"_index":4636,"title":{},"content":{"939":{"position":[[1087,28],[1606,28]]},"940":{"position":[[785,28]]},"941":{"position":[[240,28]]},"943":{"position":[[551,28],[806,31]]},"944":{"position":[[1750,28],[1779,28]]}},"keywords":{}}],["quot;cgo"",{"_index":7765,"title":{},"content":{"1407":{"position":[[4833,16]]}},"keywords":{}}],["quot;cgo_exported_headers"",{"_index":7768,"title":{},"content":{"1407":{"position":[[5005,33]]}},"keywords":{}}],["quot;cgo_source.go"",{"_index":7075,"title":{},"content":{"1373":{"position":[[8830,28]]}},"keywords":{}}],["quot;clang"",{"_index":4656,"title":{},"content":{"940":{"position":[[1377,18]]},"941":{"position":[[309,18]]}},"keywords":{}}],["quot;cmd_args"",{"_index":2139,"title":{},"content":{"405":{"position":[[1178,20]]},"784":{"position":[[1178,20]]}},"keywords":{}}],["quot;com/example/amazinglibrary/source1.java"",{"_index":8621,"title":{},"content":{"1487":{"position":[[3522,52]]}},"keywords":{}}],["quot;command"",{"_index":1659,"title":{},"content":{"298":{"position":[[2887,20]]},"851":{"position":[[2213,20]]},"1486":{"position":[[4269,20]]}},"keywords":{}}],["quot;command_executor_config"",{"_index":1890,"title":{},"content":{"362":{"position":[[992,35]]},"741":{"position":[[992,35]]}},"keywords":{}}],["quot;compil",{"_index":6793,"title":{},"content":{"1362":{"position":[[8030,13]]},"1364":{"position":[[8879,13]]},"1367":{"position":[[8118,13]]},"1384":{"position":[[10258,13]]}},"keywords":{}}],["quot;compile"",{"_index":1087,"title":{},"content":{"89":{"position":[[464,20]]},"221":{"position":[[464,20]]},"429":{"position":[[337,20]]},"808":{"position":[[337,20]]}},"keywords":{}}],["quot;compiled"",{"_index":5242,"title":{},"content":{"1048":{"position":[[492,23]]}},"keywords":{}}],["quot;compiler"",{"_index":7828,"title":{},"content":{"1415":{"position":[[2513,20]]}},"keywords":{}}],["quot;concat"",{"_index":6165,"title":{},"content":{"1235":{"position":[[1121,19]]}},"keywords":{}}],["quot;config.h"",{"_index":7227,"title":{},"content":{"1384":{"position":[[22015,20]]}},"keywords":{}}],["quot;config//platforms:linux",{"_index":4561,"title":{},"content":{"927":{"position":[[114,29]]}},"keywords":{}}],["quot;configuration"",{"_index":4588,"title":{},"content":{"937":{"position":[[556,26]]}},"keywords":{}}],["quot;configuration."",{"_index":3456,"title":{},"content":{"690":{"position":[[119,26]]}},"keywords":{}}],["quot;configurationinfo"",{"_index":1932,"title":{},"content":{"363":{"position":[[417,29]]},"742":{"position":[[417,29]]}},"keywords":{}}],["quot;constraintsettinginfo"",{"_index":1936,"title":{},"content":{"366":{"position":[[243,33]]},"745":{"position":[[243,33]]}},"keywords":{}}],["quot;constraintvalueinfo"",{"_index":1937,"title":{},"content":{"367":{"position":[[271,31]]},"746":{"position":[[271,31]]}},"keywords":{}}],["quot;content"",{"_index":4733,"title":{},"content":{"950":{"position":[[1019,20]]}},"keywords":{}}],["quot;contents"",{"_index":2352,"title":{},"content":{"437":{"position":[[548,21]]},"816":{"position":[[548,21]]}},"keywords":{}}],["quot;context"",{"_index":3735,"title":{},"content":{"712":{"position":[[236,20]]}},"keywords":{}}],["quot;cp"",{"_index":5694,"title":{},"content":{"1105":{"position":[[1727,16]]}},"keywords":{}}],["quot;current"",{"_index":4562,"title":{},"content":{"927":{"position":[[198,19]]}},"keywords":{}}],["quot;cxx"",{"_index":580,"title":{},"content":{"18":{"position":[[1299,16]]},"389":{"position":[[1278,15]]},"768":{"position":[[1278,15]]}},"keywords":{}}],["quot;cxx_so_with_header"",{"_index":7776,"title":{},"content":{"1407":{"position":[[5232,31]]}},"keywords":{}}],["quot;d"",{"_index":2553,"title":{},"content":{"560":{"position":[[911,14]]},"567":{"position":[[561,14],[627,14]]},"665":{"position":[[314,15]]}},"keywords":{}}],["quot;da39a3ee5e6b4b0d3255bfef95601890afd80709:10"",{"_index":5292,"title":{},"content":{"1050":{"position":[[1825,55]]}},"keywords":{}}],["quot;data.dat"",{"_index":8461,"title":{},"content":{"1477":{"position":[[2768,21]]}},"keywords":{}}],["quot;debug_info"",{"_index":1966,"title":{},"content":{"368":{"position":[[1351,23]]},"747":{"position":[[1351,23]]}},"keywords":{}}],["quot;default"",{"_index":1625,"title":{},"content":{"297":{"position":[[395,19]]},"690":{"position":[[1348,20],[1536,20]]},"938":{"position":[[855,20]]},"939":{"position":[[1148,20],[1667,20]]},"940":{"position":[[731,20],[1356,20]]},"943":{"position":[[497,20]]},"944":{"position":[[512,20],[1607,20]]},"1235":{"position":[[1053,20],[1250,20]]}},"keywords":{}}],["quot;defaultinfo"",{"_index":1939,"title":{},"content":{"368":{"position":[[491,23]]},"712":{"position":[[2284,23]]},"747":{"position":[[491,23]]}},"keywords":{}}],["quot;define"",{"_index":5560,"title":{},"content":{"1082":{"position":[[872,19],[1089,18]]},"1083":{"position":[[708,19],[923,18]]}},"keywords":{}}],["quot;deps"",{"_index":3471,"title":{},"content":{"690":{"position":[[1018,17],[2224,17]]},"991":{"position":[[319,17],[694,17]]},"1006":{"position":[[478,17]]},"1108":{"position":[[478,17]]}},"keywords":{}}],["quot;deps('//foo:bar",{"_index":5842,"title":{},"content":{"1133":{"position":[[81,23]]},"1277":{"position":[[243,23],[328,23]]},"1278":{"position":[[314,23]]},"1279":{"position":[[238,23]]},"1280":{"position":[[213,23]]},"1281":{"position":[[170,23]]},"1282":{"position":[[390,23],[475,23]]},"1283":{"position":[[407,23],[489,23]]},"1284":{"position":[[387,23],[468,23]]},"1308":{"position":[[243,23],[328,23]]},"1309":{"position":[[314,23]]},"1310":{"position":[[238,23]]},"1311":{"position":[[213,23]]},"1312":{"position":[[170,23]]},"1313":{"position":[[390,23],[475,23]]},"1314":{"position":[[407,23],[489,23]]},"1315":{"position":[[387,23],[468,23]]},"1336":{"position":[[243,23],[328,23]]},"1337":{"position":[[314,23]]},"1338":{"position":[[238,23]]},"1339":{"position":[[213,23]]},"1340":{"position":[[170,23]]},"1341":{"position":[[390,23],[475,23]]},"1342":{"position":[[407,23],[489,23]]},"1343":{"position":[[387,23],[468,23]]}},"keywords":{}}],["quot;deps('//foo:bar')"",{"_index":5841,"title":{},"content":{"1133":{"position":[[38,29]]}},"keywords":{}}],["quot;deps('//foo:foo",{"_index":7159,"title":{},"content":{"1382":{"position":[[5236,23]]},"1388":{"position":[[5930,23]]},"1442":{"position":[[2226,23]]}},"keywords":{}}],["quot;deps(//foo:bar)"",{"_index":5827,"title":{},"content":{"1131":{"position":[[188,27]]}},"keywords":{}}],["quot;deps(set('//foo:bar",{"_index":5844,"title":{},"content":{"1133":{"position":[[147,26]]}},"keywords":{}}],["quot;dict"",{"_index":3099,"title":{},"content":{"636":{"position":[[116,16]]}},"keywords":{}}],["quot;dict_value"",{"_index":4019,"title":{},"content":{"867":{"position":[[551,23]]}},"keywords":{}}],["quot;digest"",{"_index":5291,"title":{},"content":{"1050":{"position":[[1805,19]]}},"keywords":{}}],["quot;digests"",{"_index":5288,"title":{},"content":{"1050":{"position":[[1663,20]]}},"keywords":{}}],["quot;dir"",{"_index":8625,"title":{},"content":{"1487":{"position":[[3765,15]]}},"keywords":{}}],["quot;dir/"",{"_index":8614,"title":{},"content":{"1487":{"position":[[3177,16]]}},"keywords":{}}],["quot;doc_deps"",{"_index":4920,"title":{},"content":{"991":{"position":[[500,21],[768,21]]}},"keywords":{}}],["quot;duration"",{"_index":3991,"title":{},"content":{"864":{"position":[[1141,22],[1287,22]]}},"keywords":{}}],["quot;duration_millis"",{"_index":4028,"title":{},"content":{"867":{"position":[[1065,28],[2240,28]]}},"keywords":{}}],["quot;e"",{"_index":2554,"title":{},"content":{"560":{"position":[[929,14]]},"567":{"position":[[506,14],[642,14]]},"592":{"position":[[346,14]]},"665":{"position":[[330,14],[375,14]]}},"keywords":{}}],["quot;e1fc28120002395fe1f2da9aacea4e15a449d9ee"",{"_index":8278,"title":{},"content":{"1461":{"position":[[3594,53]]}},"keywords":{}}],["quot;echo",{"_index":7681,"title":{},"content":{"1403":{"position":[[5717,10]]}},"keywords":{}}],["quot;ent",{"_index":4926,"title":{},"content":{"991":{"position":[[1544,13]]},"1438":{"position":[[1772,11],[1901,11]]}},"keywords":{}}],["quot;entries"",{"_index":3481,"title":{},"content":{"690":{"position":[[1325,20],[1513,20]]},"1235":{"position":[[1207,20]]}},"keywords":{}}],["quot;epoch_millis"",{"_index":4020,"title":{},"content":{"867":{"position":[[618,25],[1580,25],[2311,25]]}},"keywords":{}}],["quot;erl"",{"_index":5157,"title":{},"content":{"1040":{"position":[[2499,16]]}},"keywords":{}}],["quot;error"",{"_index":8603,"title":{},"content":{"1486":{"position":[[5643,18],[5888,18]]}},"keywords":{}}],["quot;escap",{"_index":3434,"title":{},"content":{"685":{"position":[[127,12]]}},"keywords":{}}],["quot;escript_app"",{"_index":7554,"title":{},"content":{"1395":{"position":[[3853,24]]}},"keywords":{}}],["quot;event":{..."data":{"load":{"module_id":"target:buck","cell":"...","error":null,"starlark_peak_allocated_bytes":1610608640",{"_index":6194,"title":{},"content":{"1248":{"position":[[202,219]]}},"keywords":{}}],["quot;example"",{"_index":7764,"title":{},"content":{"1407":{"position":[[4797,20]]},"1439":{"position":[[5843,20]]}},"keywords":{}}],["quot;example.zip"",{"_index":8613,"title":{},"content":{"1487":{"position":[[3083,23]]}},"keywords":{}}],["quot;exe"",{"_index":2353,"title":{},"content":{"437":{"position":[[586,16]]},"816":{"position":[[586,16]]}},"keywords":{}}],["quot;executables"",{"_index":6950,"title":{},"content":{"1366":{"position":[[2141,24]]}},"keywords":{}}],["quot;execution_kind"",{"_index":4032,"title":{},"content":{"867":{"position":[[1352,27]]}},"keywords":{}}],["quot;exit_code"",{"_index":8598,"title":{},"content":{"1486":{"position":[[4762,22],[5662,22],[5907,22]]}},"keywords":{}}],["quot;export",{"_index":7766,"title":{},"content":{"1407":{"position":[[4859,12]]}},"keywords":{}}],["quot;exported_headers"",{"_index":5830,"title":{},"content":{"1131":{"position":[[776,29],[899,29]]}},"keywords":{}}],["quot;externalrunnertestinfo"",{"_index":2013,"title":{},"content":{"374":{"position":[[425,34]]},"753":{"position":[[425,34]]}},"keywords":{}}],["quot;f"",{"_index":3183,"title":{},"content":{"645":{"position":[[236,14],[284,14],[337,14]]}},"keywords":{}}],["quot;fail"",{"_index":5721,"title":{},"content":{"1112":{"position":[[1622,16],[1950,16]]}},"keywords":{}}],["quot;failed"",{"_index":8483,"title":{},"content":{"1478":{"position":[[3243,18]]}},"keywords":{}}],["quot;failures"",{"_index":5755,"title":{},"content":{"1114":{"position":[[549,20]]}},"keywords":{}}],["quot;false"",{"_index":1699,"title":{},"content":{"306":{"position":[[325,18]]},"712":{"position":[[529,18],[1182,18]]}},"keywords":{}}],["quot;fast"",{"_index":6055,"title":{},"content":{"1226":{"position":[[1451,16],[1697,16]]},"1237":{"position":[[1621,16],[1867,16]]}},"keywords":{}}],["quot;fbcode//buck2/app/buck2_core:buck2_cor",{"_index":3487,"title":{},"content":{"690":{"position":[[1725,45]]}},"keywords":{}}],["quot;fbcode//buck2/app/buck2_core:buck2_core"",{"_index":3463,"title":{},"content":{"690":{"position":[[748,52]]}},"keywords":{}}],["quot;fbcode//buck2/app/buck2_core:targets"",{"_index":3467,"title":{},"content":{"690":{"position":[[878,49],[1900,49]]}},"keywords":{}}],["quot;fbcode//buck2/platform/<omitted>"",{"_index":3492,"title":{},"content":{"690":{"position":[[2082,51]]}},"keywords":{}}],["quot;fbcode//buck2/tests/..."",{"_index":4103,"title":{},"content":{"878":{"position":[[495,37]]}},"keywords":{}}],["quot;fbsource//third",{"_index":3472,"title":{},"content":{"690":{"position":[[1038,21],[1085,21],[1134,21],[1181,21],[1233,21],[1411,21],[1597,21],[2244,21],[2336,21],[2430,21],[2522,21],[2619,21],[2712,21]]}},"keywords":{}}],["quot;fccb9499bccbaca0b7eef91a3a82dfcb31e0b149"",{"_index":7719,"title":{},"content":{"1404":{"position":[[1612,53]]}},"keywords":{}}],["quot;filename.sky".endswith(".sky"",{"_index":2795,"title":{},"content":{"593":{"position":[[205,51]]}},"keywords":{}}],["quot;filename.sky".startswith("filename"",{"_index":3008,"title":{},"content":{"618":{"position":[[213,57]]}},"keywords":{}}],["quot;filename.sky".startswith("sky"",{"_index":3009,"title":{},"content":{"618":{"position":[[279,52]]}},"keywords":{}}],["quot;filter({name_regex",{"_index":7154,"title":{},"content":{"1382":{"position":[[5080,26]]},"1388":{"position":[[5774,26]]},"1442":{"position":[[2070,26]]}},"keywords":{}}],["quot;first",{"_index":4711,"title":{},"content":{"944":{"position":[[2041,11]]}},"keywords":{}}],["quot;float"",{"_index":3169,"title":{},"content":{"644":{"position":[[144,17]]}},"keywords":{}}],["quot;foo",{"_index":3751,"title":{},"content":{"712":{"position":[[1321,9],[1819,9]]},"927":{"position":[[41,9]]},"995":{"position":[[1404,9]]}},"keywords":{}}],["quot;foo"",{"_index":985,"title":{},"content":{"72":{"position":[[196,17]]},"243":{"position":[[625,15]]},"368":{"position":[[2006,16]]},"495":{"position":[[196,17]]},"565":{"position":[[368,16]]},"747":{"position":[[2006,16]]},"864":{"position":[[480,17]]},"867":{"position":[[336,16],[577,16]]},"890":{"position":[[3334,17]]},"964":{"position":[[789,16]]},"990":{"position":[[151,17]]},"993":{"position":[[255,16]]},"994":{"position":[[445,16]]},"1007":{"position":[[284,16]]},"1044":{"position":[[2956,17]]},"1081":{"position":[[198,16]]},"1082":{"position":[[967,16]]},"1083":{"position":[[601,16],[801,16]]},"1084":{"position":[[399,16],[677,17]]},"1087":{"position":[[503,16],[742,16]]},"1088":{"position":[[850,16],[1403,16],[1447,17],[1546,16],[1585,16]]},"1410":{"position":[[4952,15]]}},"keywords":{}}],["quot;foo"platform_compiler_flag",{"_index":7060,"title":{},"content":{"1373":{"position":[[6220,39]]}},"keywords":{}}],["quot;foo"rac",{"_index":7736,"title":{},"content":{"1405":{"position":[[3544,20]]},"1407":{"position":[[3965,20]]}},"keywords":{}}],["quot;foo"src",{"_index":7785,"title":{},"content":{"1408":{"position":[[2584,20]]}},"keywords":{}}],["quot;foo.bar.mymodule"",{"_index":7252,"title":{},"content":{"1385":{"position":[[7667,28]]}},"keywords":{}}],["quot;foo.cpp"",{"_index":1982,"title":{},"content":{"368":{"position":[[1883,22]]},"747":{"position":[[1883,22]]}},"keywords":{}}],["quot;foo.txt"",{"_index":4959,"title":{},"content":{"993":{"position":[[279,22]]}},"keywords":{}}],["quot;foo//bar:baz"",{"_index":5220,"title":{},"content":{"1046":{"position":[[436,24]]}},"keywords":{}}],["quot;foo//my_package:my_target"",{"_index":1354,"title":{},"content":{"130":{"position":[[279,39]]},"253":{"position":[[279,39]]}},"keywords":{}}],["quot;foo//target/universe/..."",{"_index":1819,"title":{},"content":{"334":{"position":[[798,37]]}},"keywords":{}}],["quot;foo/bar.go"",{"_index":7059,"title":{},"content":{"1373":{"position":[[6179,25]]},"1405":{"position":[[3503,25]]},"1407":{"position":[[3924,25]]},"1408":{"position":[[2543,25]]},"1410":{"position":[[4911,25]]}},"keywords":{}}],["quot;foo/path"",{"_index":4799,"title":{},"content":{"964":{"position":[[1097,20]]}},"keywords":{}}],["quot;foo:1"",{"_index":2033,"title":{},"content":{"377":{"position":[[869,19]]},"756":{"position":[[869,19]]},"1052":{"position":[[751,19]]},"1054":{"position":[[613,19]]}},"keywords":{}}],["quot;foo_binary_wrapper"",{"_index":1978,"title":{},"content":{"368":{"position":[[1792,31]]},"747":{"position":[[1792,31]]}},"keywords":{}}],["quot;foo|bar"",{"_index":5727,"title":{},"content":{"1112":{"position":[[2309,22]]}},"keywords":{}}],["quot;forward"",{"_index":4275,"title":{},"content":{"892":{"position":[[847,19]]}},"keywords":{}}],["quot;four"",{"_index":2539,"title":{},"content":{"559":{"position":[[804,17]]},"654":{"position":[[399,17],[509,17]]},"655":{"position":[[291,17],[312,16],[399,17]]},"666":{"position":[[648,18],[697,17],[800,18],[865,17]]}},"keywords":{}}],["quot;frameworks"",{"_index":6949,"title":{},"content":{"1366":{"position":[[2117,23]]}},"keywords":{}}],["quot;full"",{"_index":1217,"title":{},"content":{"94":{"position":[[3043,16]]},"226":{"position":[[3043,16]]}},"keywords":{}}],["quot;function"",{"_index":1013,"title":{},"content":{"81":{"position":[[31,21]]},"213":{"position":[[31,21]]},"400":{"position":[[221,20]]},"402":{"position":[[487,21],[516,21],[546,21],[574,21],[603,21],[632,21],[663,21],[694,21],[729,21],[769,21],[805,21],[842,22],[879,21],[922,21],[955,21],[1012,21],[1070,21],[1098,21],[1134,21]]},"404":{"position":[[24,21],[53,21],[83,21],[111,21],[140,21],[169,21],[200,21],[231,21],[266,21],[306,21],[342,21],[379,21]]},"437":{"position":[[253,20]]},"650":{"position":[[22,21],[53,21]]},"667":{"position":[[51,21]]},"779":{"position":[[221,20]]},"781":{"position":[[487,21],[516,21],[546,21],[574,21],[603,21],[632,21],[663,21],[694,21],[729,21],[769,21],[805,21],[842,22],[879,21],[922,21],[955,21],[1012,21],[1070,21],[1098,21],[1134,21]]},"783":{"position":[[24,21],[53,21],[83,21],[111,21],[140,21],[169,21],[200,21],[231,21],[266,21],[306,21],[342,21],[379,21]]},"816":{"position":[[253,20]]}},"keywords":{}}],["quot;gen_stuff"",{"_index":1980,"title":{},"content":{"368":{"position":[[1839,22]]},"747":{"position":[[1839,22]]}},"keywords":{}}],["quot;get",{"_index":4952,"title":{},"content":{"991":{"position":[[3359,9]]}},"keywords":{}}],["quot;gev",{"_index":8289,"title":{},"content":{"1461":{"position":[[4033,12]]}},"keywords":{}}],["quot;gevent"",{"_index":8288,"title":{},"content":{"1461":{"position":[[4000,19]]}},"keywords":{}}],["quot;goodbye"",{"_index":5188,"title":{},"content":{"1044":{"position":[[1778,20]]}},"keywords":{}}],["quot;greenlet",{"_index":8282,"title":{},"content":{"1461":{"position":[[3908,14]]}},"keywords":{}}],["quot;greenlet"",{"_index":8281,"title":{},"content":{"1461":{"position":[[3873,21]]}},"keywords":{}}],["quot;h"",{"_index":2786,"title":{},"content":{"592":{"position":[[330,15]]}},"keywords":{}}],["quot;hal",{"_index":2878,"title":{},"content":{"602":{"position":[[310,9]]},"603":{"position":[[217,9]]}},"keywords":{}}],["quot;handshake"",{"_index":8581,"title":{},"content":{"1486":{"position":[[3876,22],[4067,22]]}},"keywords":{}}],["quot;has_default_filelist"",{"_index":5592,"title":{},"content":{"1086":{"position":[[669,33]]}},"keywords":{}}],["quot;he.lo"",{"_index":1780,"title":{},"content":{"326":{"position":[[502,18]]},"467":{"position":[[383,18]]}},"keywords":{}}],["quot;headers"",{"_index":5117,"title":{},"content":{"1031":{"position":[[1014,20]]}},"keywords":{}}],["quot;hello",{"_index":551,"title":{},"content":{"18":{"position":[[499,11]]},"589":{"position":[[193,12],[235,12],[261,12],[303,12]]},"591":{"position":[[758,12],[858,12]]},"600":{"position":[[217,12]]},"602":{"position":[[227,12]]},"605":{"position":[[157,12],[194,12]]},"606":{"position":[[270,11],[337,11]]},"608":{"position":[[257,12],[339,12],[402,12]]},"609":{"position":[[257,12],[319,12],[339,12],[400,12]]},"620":{"position":[[233,12],[270,12]]},"621":{"position":[[157,12],[194,12]]},"910":{"position":[[316,11],[345,11]]},"1047":{"position":[[485,11]]}},"keywords":{}}],["quot;hello"",{"_index":2336,"title":{},"content":{"435":{"position":[[195,18]]},"619":{"position":[[218,17],[283,17]]},"814":{"position":[[195,18]]},"892":{"position":[[229,19]]},"1044":{"position":[[1098,18],[1636,18]]},"1048":{"position":[[352,18]]},"1049":{"position":[[697,19],[853,18],[1084,18]]}},"keywords":{}}],["quot;hello".removeprefix("hello"",{"_index":2925,"title":{},"content":{"608":{"position":[[428,49]]}},"keywords":{}}],["quot;hello".removesuffix("hello"",{"_index":2930,"title":{},"content":{"609":{"position":[[426,49]]}},"keywords":{}}],["quot;hello.sil"",{"_index":5238,"title":{},"content":{"1048":{"position":[[378,23]]}},"keywords":{}}],["quot;hello.txt"",{"_index":8617,"title":{},"content":{"1487":{"position":[[3337,21]]}},"keywords":{}}],["quot;heterological\\"",{"_index":2838,"title":{},"content":{"595":{"position":[[1744,27]]}},"keywords":{}}],["quot;host"",{"_index":3312,"title":{},"content":{"663":{"position":[[828,18]]},"901":{"position":[[783,18]]}},"keywords":{}}],["quot;http"",{"_index":7907,"title":{},"content":{"1422":{"position":[[3696,17]]},"1423":{"position":[[2467,17]]}},"keywords":{}}],["quot;https"",{"_index":7908,"title":{},"content":{"1422":{"position":[[3714,18]]},"1423":{"position":[[2485,18]]}},"keywords":{}}],["quot;https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/request",{"_index":8274,"title":{},"content":{"1461":{"position":[[3430,121]]}},"keywords":{}}],["quot;https://github.com/serd",{"_index":7717,"title":{},"content":{"1404":{"position":[[1559,30]]}},"keywords":{}}],["quot;i",{"_index":2835,"title":{},"content":{"595":{"position":[[1670,8],[1735,8]]}},"keywords":{}}],["quot;i'm",{"_index":8462,"title":{},"content":{"1477":{"position":[[2852,9]]}},"keywords":{}}],["quot;id"",{"_index":4011,"title":{},"content":{"867":{"position":[[320,15]]},"1486":{"position":[[3839,15],[4030,15],[4232,15],[4705,15],[5595,15],[5840,15]]}},"keywords":{}}],["quot;id1"",{"_index":3985,"title":{},"content":{"864":{"position":[[452,16],[1113,16]]}},"keywords":{}}],["quot;id2"",{"_index":3992,"title":{},"content":{"864":{"position":[[1259,16]]}},"keywords":{}}],["quot;idb_companion"",{"_index":5337,"title":{},"content":{"1054":{"position":[[409,26],[1041,25]]}},"keywords":{}}],["quot;identifier"",{"_index":4026,"title":{},"content":{"867":{"position":[[988,23]]}},"keywords":{}}],["quot;includes"",{"_index":7769,"title":{},"content":{"1407":{"position":[[5045,21]]}},"keywords":{}}],["quot;inherit"",{"_index":7284,"title":{},"content":{"1386":{"position":[[5744,19]]}},"keywords":{}}],["quot;input_materialization_duration_millis"",{"_index":4030,"title":{},"content":{"867":{"position":[[1239,50]]}},"keywords":{}}],["quot;install"",{"_index":7100,"title":{},"content":{"1374":{"position":[[3415,20],[3468,22]]}},"keywords":{}}],["quot;instantiation"",{"_index":7279,"title":{},"content":{"1386":{"position":[[4267,25]]}},"keywords":{}}],["quot;instrumentation_tests"",{"_index":8519,"title":{},"content":{"1482":{"position":[[1960,34]]}},"keywords":{}}],["quot;instrumentation_tests.sh"",{"_index":8520,"title":{},"content":{"1482":{"position":[[2002,37]]}},"keywords":{}}],["quot;int"",{"_index":1700,"title":{},"content":{"306":{"position":[[351,16]]},"648":{"position":[[129,15]]},"671":{"position":[[183,15],[210,15]]},"712":{"position":[[562,16],[1208,16]]}},"keywords":{}}],["quot;int_value"",{"_index":4016,"title":{},"content":{"867":{"position":[[450,22]]}},"keywords":{}}],["quot;integration_tests"",{"_index":8522,"title":{},"content":{"1482":{"position":[[2119,30]]}},"keywords":{}}],["quot;integration_tests.sh"",{"_index":8523,"title":{},"content":{"1482":{"position":[[2157,33]]}},"keywords":{}}],["quot;invoke"",{"_index":4770,"title":{},"content":{"961":{"position":[[262,18]]}},"keywords":{}}],["quot;io",{"_index":5502,"title":{},"content":{"1072":{"position":[[605,9],[755,9],[1285,9]]}},"keywords":{}}],["quot;ios_simulator"",{"_index":5343,"title":{},"content":{"1054":{"position":[[1252,25],[1575,25],[1808,26]]}},"keywords":{}}],["quot;iphon",{"_index":5507,"title":{},"content":{"1072":{"position":[[815,12],[1345,12]]}},"keywords":{}}],["quot;items"",{"_index":6166,"title":{},"content":{"1235":{"position":[[1141,18]]}},"keywords":{}}],["quot;java"",{"_index":6569,"title":{},"content":{"1355":{"position":[[6710,16],[7549,16]]},"1427":{"position":[[5909,16],[7038,16]]}},"keywords":{}}],["quot;javac"",{"_index":6557,"title":{},"content":{"1355":{"position":[[3365,18],[3509,17]]},"1439":{"position":[[3186,18],[3330,17]]}},"keywords":{}}],["quot;kapt"",{"_index":6556,"title":{},"content":{"1355":{"position":[[3345,16],[3384,16]]},"1439":{"position":[[3166,16],[3205,16]]}},"keywords":{}}],["quot;kernel"",{"_index":7520,"title":{},"content":{"1393":{"position":[[10417,19]]},"1395":{"position":[[3937,19]]}},"keywords":{}}],["quot;key",{"_index":2066,"title":{},"content":{"389":{"position":[[380,11],[557,11],[1597,11]]},"768":{"position":[[380,11],[557,11],[1597,11]]}},"keywords":{}}],["quot;kind"",{"_index":4023,"title":{},"content":{"867":{"position":[[737,17]]}},"keywords":{}}],["quot;kind('java",{"_index":6283,"title":{},"content":{"1271":{"position":[[234,20]]},"1302":{"position":[[234,20]]},"1330":{"position":[[234,20]]}},"keywords":{}}],["quot;kinds."",{"_index":4893,"title":{},"content":{"988":{"position":[[261,18]]}},"keywords":{}}],["quot;kotlinx",{"_index":8056,"title":{},"content":{"1439":{"position":[[6031,13],[6116,13],[6417,13],[6473,13]]}},"keywords":{}}],["quot;l"",{"_index":2787,"title":{},"content":{"592":{"position":[[361,14],[376,14]]},"991":{"position":[[2036,14]]}},"keywords":{}}],["quot;label"",{"_index":5328,"title":{},"content":{"1053":{"position":[[585,19]]}},"keywords":{}}],["quot;length",{"_index":2396,"title":{},"content":{"446":{"position":[[526,12]]},"825":{"position":[[526,12]]}},"keywords":{}}],["quot;lib"",{"_index":6800,"title":{},"content":{"1362":{"position":[[8557,16]]},"1364":{"position":[[9671,16]]},"1367":{"position":[[8645,16]]},"1373":{"position":[[8806,16]]}},"keywords":{}}],["quot;lib"},"//foo/bar:app"",{"_index":5832,"title":{},"content":{"1131":{"position":[[854,42]]}},"keywords":{}}],["quot;library"",{"_index":6798,"title":{},"content":{"1362":{"position":[[8477,20]]},"1364":{"position":[[9591,20]]},"1367":{"position":[[8565,20]]}},"keywords":{}}],["quot;linker"",{"_index":2317,"title":{},"content":{"429":{"position":[[425,19],[494,19]]},"808":{"position":[[425,19],[494,19]]}},"keywords":{}}],["quot;linux"",{"_index":4655,"title":{},"content":{"940":{"position":[[1319,18]]},"1374":{"position":[[3957,18]]}},"keywords":{}}],["quot;linux/node"",{"_index":7105,"title":{},"content":{"1374":{"position":[[3750,23]]}},"keywords":{}}],["quot;list"",{"_index":3238,"title":{},"content":{"652":{"position":[[110,16]]}},"keywords":{}}],["quot;list_string"",{"_index":1702,"title":{},"content":{"306":{"position":[[372,24]]},"712":{"position":[[592,24],[1229,24]]}},"keywords":{}}],["quot;list_type"",{"_index":3851,"title":{},"content":{"840":{"position":[[436,22]]},"850":{"position":[[346,22]]}},"keywords":{}}],["quot;list_value"",{"_index":4018,"title":{},"content":{"867":{"position":[[478,23]]}},"keywords":{}}],["quot;local"",{"_index":7562,"title":{},"content":{"1396":{"position":[[1719,18]]}},"keywords":{}}],["quot;local/erl"",{"_index":7563,"title":{},"content":{"1396":{"position":[[1744,22]]}},"keywords":{}}],["quot;local/erlc"",{"_index":7564,"title":{},"content":{"1396":{"position":[[1774,23]]}},"keywords":{}}],["quot;local/escript"",{"_index":7565,"title":{},"content":{"1396":{"position":[[1808,26]]}},"keywords":{}}],["quot;local_name"",{"_index":8433,"title":{},"content":{"1471":{"position":[[4707,24]]},"1472":{"position":[[3658,24],[5291,24]]},"1473":{"position":[[5028,24]]}},"keywords":{}}],["quot;localhost"",{"_index":3309,"title":{},"content":{"663":{"position":[[767,21]]}},"keywords":{}}],["quot;localhost"and",{"_index":4391,"title":{},"content":{"901":{"position":[[723,24]]}},"keywords":{}}],["quot;localresourceinfo"",{"_index":2029,"title":{},"content":{"377":{"position":[[494,29]]},"756":{"position":[[494,29]]}},"keywords":{}}],["quot;macos"",{"_index":7109,"title":{},"content":{"1374":{"position":[[4001,18]]}},"keywords":{}}],["quot;macos/node"",{"_index":7107,"title":{},"content":{"1374":{"position":[[3826,23]]}},"keywords":{}}],["quot;magic1"",{"_index":7700,"title":{},"content":{"1403":{"position":[[8554,19]]}},"keywords":{}}],["quot;magic2"",{"_index":7703,"title":{},"content":{"1403":{"position":[[8714,19]]}},"keywords":{}}],["quot;main"",{"_index":557,"title":{},"content":{"18":{"position":[[641,17]]},"1386":{"position":[[4421,16]]}},"keywords":{}}],["quot;main.cpp"",{"_index":559,"title":{},"content":{"18":{"position":[[666,23]]},"1485":{"position":[[5052,21]]}},"keywords":{}}],["quot;main.go"",{"_index":7073,"title":{},"content":{"1373":{"position":[[8735,22]]},"1407":{"position":[[4646,22]]}},"keywords":{}}],["quot;main_module"",{"_index":7549,"title":{},"content":{"1395":{"position":[[3674,24]]}},"keywords":{}}],["quot;mak",{"_index":4615,"title":{},"content":{"937":{"position":[[4431,12]]}},"keywords":{}}],["quot;manifest"",{"_index":7697,"title":{},"content":{"1403":{"position":[[8226,21]]}},"keywords":{}}],["quot;manifest,"",{"_index":7708,"title":{},"content":{"1403":{"position":[[9012,21]]}},"keywords":{}}],["quot;map",{"_index":3762,"title":{},"content":{"712":{"position":[[2099,9],[3005,9]]}},"keywords":{}}],["quot;matches"",{"_index":1930,"title":{},"content":{"363":{"position":[[309,19]]},"742":{"position":[[309,19]]}},"keywords":{}}],["quot;message"",{"_index":5223,"title":{},"content":{"1047":{"position":[[57,22],[179,21]]}},"keywords":{}}],["quot;meta"",{"_index":7630,"title":{},"content":{"1398":{"position":[[6081,16]]}},"keywords":{}}],["quot;metadata"",{"_index":4012,"title":{},"content":{"867":{"position":[[353,21]]}},"keywords":{}}],["quot;minimal"",{"_index":7509,"title":{},"content":{"1393":{"position":[[9896,20]]}},"keywords":{}}],["quot;mirrored_attrs"",{"_index":3731,"title":{},"content":{"712":{"position":[[94,29]]}},"keywords":{}}],["quot;mirrorinfo"",{"_index":3747,"title":{},"content":{"712":{"position":[[896,23],[2312,23]]}},"keywords":{}}],["quot;mkdir",{"_index":7770,"title":{},"content":{"1407":{"position":[[5075,11]]}},"keywords":{}}],["quot;modifi",{"_index":4646,"title":{},"content":{"940":{"position":[[342,14]]}},"keywords":{}}],["quot;modifiers"",{"_index":4630,"title":{},"content":{"939":{"position":[[89,21]]}},"keywords":{}}],["quot;msvc"",{"_index":4658,"title":{},"content":{"940":{"position":[[1417,17]]}},"keywords":{}}],["quot;mvn"",{"_index":7909,"title":{},"content":{"1422":{"position":[[3737,16]]}},"keywords":{}}],["quot;mvn".vpnless_url",{"_index":7930,"title":{},"content":{"1423":{"position":[[2508,29]]}},"keywords":{}}],["quot;mvn:org.jetbrains.kotlinx:kotlinx",{"_index":8063,"title":{},"content":{"1439":{"position":[[6533,39]]}},"keywords":{}}],["quot;my//:greeting"",{"_index":5232,"title":{},"content":{"1047":{"position":[[449,26]]}},"keywords":{}}],["quot;my_anon_targets_rule"",{"_index":1695,"title":{},"content":{"306":{"position":[[189,33]]}},"keywords":{}}],["quot;my_attr"",{"_index":3954,"title":{},"content":{"857":{"position":[[83,20]]}},"keywords":{}}],["quot;my_attrs"",{"_index":3764,"title":{},"content":{"712":{"position":[[2180,20]]}},"keywords":{}}],["quot;my_bool"",{"_index":3862,"title":{},"content":{"840":{"position":[[1041,20]]}},"keywords":{}}],["quot;my_category"",{"_index":5298,"title":{},"content":{"1050":{"position":[[2744,24],[4069,24]]}},"keywords":{}}],["quot;my_content"",{"_index":1589,"title":{},"content":{"288":{"position":[[369,23]]},"289":{"position":[[389,23]]},"298":{"position":[[1324,23]]},"344":{"position":[[531,23]]},"712":{"position":[[366,23],[2891,22]]}},"keywords":{}}],["quot;my_function"",{"_index":3765,"title":{},"content":{"712":{"position":[[2406,24],[2627,23]]}},"keywords":{}}],["quot;my_int"",{"_index":5201,"title":{},"content":{"1044":{"position":[[2864,19]]}},"keywords":{}}],["quot;my_list_attribute"",{"_index":5046,"title":{},"content":{"1009":{"position":[[748,30]]}},"keywords":{}}],["quot;my_list_of_labels"",{"_index":5206,"title":{},"content":{"1044":{"position":[[3036,30]]}},"keywords":{}}],["quot;my_map_function"",{"_index":1696,"title":{},"content":{"306":{"position":[[223,28]]}},"keywords":{}}],["quot;my_mirror_rule"",{"_index":3749,"title":{},"content":{"712":{"position":[[944,27],[2206,27],[2350,26]]}},"keywords":{}}],["quot;my_optional_source"",{"_index":5204,"title":{},"content":{"1044":{"position":[[2974,31]]}},"keywords":{}}],["quot;my_output"",{"_index":4027,"title":{},"content":{"867":{"position":[[1012,21]]}},"keywords":{}}],["quot;my_resource"",{"_index":5333,"title":{},"content":{"1054":{"position":[[72,24]]}},"keywords":{}}],["quot;my_string"",{"_index":3745,"title":{},"content":{"712":{"position":[[803,24]]}},"keywords":{}}],["quot;my_string_with_default"",{"_index":5202,"title":{},"content":{"1044":{"position":[[2897,35]]}},"keywords":{}}],["quot;myapp"",{"_index":6893,"title":{},"content":{"1363":{"position":[[5634,17]]}},"keywords":{}}],["quot;mycc"",{"_index":5113,"title":{},"content":{"1031":{"position":[[876,18]]}},"keywords":{}}],["quot;mylib"",{"_index":4477,"title":{},"content":{"917":{"position":[[190,18]]}},"keywords":{}}],["quot;n"",{"_index":2584,"title":{},"content":{"566":{"position":[[666,14],[696,14]]},"645":{"position":[[470,14],[485,14]]}},"keywords":{}}],["quot;name"",{"_index":3468,"title":{},"content":{"690":{"position":[[928,17],[2134,17]]},"867":{"position":[[810,17]]},"1046":{"position":[[418,17]]},"1104":{"position":[[1755,17]]},"1131":{"position":[[833,18],[955,18]]}},"keywords":{}}],["quot;named_outputs"",{"_index":7676,"title":{},"content":{"1403":{"position":[[5535,26]]}},"keywords":{}}],["quot;nearest"",{"_index":3026,"title":{},"content":{"622":{"position":[[273,19],[311,19]]}},"keywords":{}}],["quot;nod",{"_index":7087,"title":{},"content":{"1374":{"position":[[2970,10],[3636,10],[3720,10],[3796,10]]}},"keywords":{}}],["quot;node"",{"_index":7108,"title":{},"content":{"1374":{"position":[[3874,17]]}},"keywords":{}}],["quot;non",{"_index":1219,"title":{},"content":{"94":{"position":[[3112,9]]},"226":{"position":[[3112,9]]}},"keywords":{}}],["quot;nonetype"",{"_index":3359,"title":{},"content":{"671":{"position":[[151,20]]}},"keywords":{}}],["quot;o"",{"_index":2788,"title":{},"content":{"592":{"position":[[391,14]]},"610":{"position":[[408,14],[487,14],[883,14]]}},"keywords":{}}],["quot;object"",{"_index":5663,"title":{},"content":{"1104":{"position":[[1799,18]]}},"keywords":{}}],["quot;objects"",{"_index":2298,"title":{},"content":{"427":{"position":[[348,20]]},"806":{"position":[[348,20]]}},"keywords":{}}],["quot;on",{"_index":2895,"title":{},"content":{"604":{"position":[[488,10]]},"614":{"position":[[480,9],[525,10]]},"616":{"position":[[877,9],[968,9],[1086,9]]}},"keywords":{}}],["quot;one"",{"_index":2499,"title":{},"content":{"553":{"position":[[203,17]]},"554":{"position":[[321,17]]},"555":{"position":[[243,17],[297,18]]},"556":{"position":[[219,17],[272,17]]},"557":{"position":[[430,17]]},"558":{"position":[[285,17],[341,17]]},"559":{"position":[[513,17],[634,17],[741,17]]},"561":{"position":[[246,17]]},"595":{"position":[[1626,16]]},"607":{"position":[[490,17],[590,17]]},"613":{"position":[[384,16]]},"616":{"position":[[914,17],[1018,17],[1130,17]]},"617":{"position":[[526,17]]},"639":{"position":[[424,16],[490,17],[587,17]]},"665":{"position":[[514,16]]}},"keywords":{}}],["quot;one".partition("/"",{"_index":2919,"title":{},"content":{"607":{"position":[[546,40]]}},"keywords":{}}],["quot;one".rpartition("/"",{"_index":2959,"title":{},"content":{"613":{"position":[[310,41]]}},"keywords":{}}],["quot;one/two"",{"_index":2958,"title":{},"content":{"613":{"position":[[254,21]]}},"keywords":{}}],["quot;one/two/three".partition("/"",{"_index":2916,"title":{},"content":{"607":{"position":[[436,50]]}},"keywords":{}}],["quot;one/two/three".rpartition("/"",{"_index":2957,"title":{},"content":{"613":{"position":[[199,51]]}},"keywords":{}}],["quot;one\\n"",{"_index":3002,"title":{},"content":{"617":{"position":[[618,19]]}},"keywords":{}}],["quot;one\\n\\ntwo".splitlin",{"_index":3000,"title":{},"content":{"617":{"position":[[487,35]]}},"keywords":{}}],["quot;one\\n\\ntwo".splitlines(tru",{"_index":3001,"title":{},"content":{"617":{"position":[[575,39]]}},"keywords":{}}],["quot;option1"",{"_index":3121,"title":{},"content":{"638":{"position":[[256,20],[838,21],[1054,21]]},"902":{"position":[[825,21],[1039,21]]}},"keywords":{}}],["quot;option2"",{"_index":3118,"title":{},"content":{"638":{"position":[[134,20],[277,19],[701,19],[860,20],[1076,20]]},"902":{"position":[[112,20],[254,19],[690,19],[847,20],[1061,20]]}},"keywords":{}}],["quot;option3"",{"_index":3119,"title":{},"content":{"638":{"position":[[155,20],[1097,21]]},"902":{"position":[[133,20],[278,20],[1082,21]]}},"keywords":{}}],["quot;option3"].treat",{"_index":3133,"title":{},"content":{"638":{"position":[[881,26]]},"902":{"position":[[868,26]]}},"keywords":{}}],["quot;optional"",{"_index":3853,"title":{},"content":{"840":{"position":[[490,21]]},"850":{"position":[[400,21]]}},"keywords":{}}],["quot;options"",{"_index":2299,"title":{},"content":{"427":{"position":[[391,20]]},"806":{"position":[[391,20]]}},"keywords":{}}],["quot;origin"",{"_index":5615,"title":{},"content":{"1093":{"position":[[518,18]]}},"keywords":{}}],["quot;os"",{"_index":5011,"title":{},"content":{"1004":{"position":[[1891,15]]}},"keywords":{}}],["quot;other_foo"",{"_index":4960,"title":{},"content":{"993":{"position":[[318,22]]}},"keywords":{}}],["quot;other_test_suite".erl",{"_index":7642,"title":{},"content":{"1398":{"position":[[7056,34]]}},"keywords":{}}],["quot;out"",{"_index":1964,"title":{},"content":{"368":{"position":[[1280,16]]},"747":{"position":[[1280,16]]},"851":{"position":[[250,16]]},"1103":{"position":[[451,16]]}},"keywords":{}}],["quot;out1.txt"",{"_index":7678,"title":{},"content":{"1403":{"position":[[5594,21],[5687,20],[5925,21],[6003,21]]}},"keywords":{}}],["quot;out2.txt"",{"_index":7680,"title":{},"content":{"1403":{"position":[[5642,21],[6025,21]]}},"keywords":{}}],["quot;output"",{"_index":5180,"title":{},"content":{"1044":{"position":[[989,21],[1472,21],[1526,21]]}},"keywords":{}}],["quot;output.o"",{"_index":1094,"title":{},"content":{"89":{"position":[[1025,22]]},"221":{"position":[[1025,22]]}},"keywords":{}}],["quot;output1"",{"_index":7677,"title":{},"content":{"1403":{"position":[[5571,20],[5902,20],[5980,20]]}},"keywords":{}}],["quot;output2"",{"_index":7679,"title":{},"content":{"1403":{"position":[[5619,20]]}},"keywords":{}}],["quot;output_one"",{"_index":7674,"title":{},"content":{"1403":{"position":[[4607,23],[4668,23]]}},"keywords":{}}],["quot;output_size"",{"_index":4029,"title":{},"content":{"867":{"position":[[1170,24]]}},"keywords":{}}],["quot;output_two"",{"_index":7675,"title":{},"content":{"1403":{"position":[[4692,23]]}},"keywords":{}}],["quot;outputs"/artifact",{"_index":4805,"title":{},"content":{"966":{"position":[[67,30]]}},"keywords":{}}],["quot;ovr_config//os:linux"",{"_index":3485,"title":{},"content":{"690":{"position":[[1561,33]]}},"keywords":{}}],["quot;ovr_config//os:windows"",{"_index":3482,"title":{},"content":{"690":{"position":[[1373,35]]}},"keywords":{}}],["quot;ovr_config//platform/linux:<omitted>"",{"_index":3490,"title":{},"content":{"690":{"position":[[1989,55]]}},"keywords":{}}],["quot;owner"",{"_index":4034,"title":{},"content":{"867":{"position":[[1430,18]]}},"keywords":{}}],["quot;owner('examples/1.txt')"",{"_index":6287,"title":{},"content":{"1273":{"position":[[268,35]]},"1304":{"position":[[268,35]]},"1332":{"position":[[268,35]]}},"keywords":{}}],["quot;p1"",{"_index":4930,"title":{},"content":{"991":{"position":[[1778,15]]}},"keywords":{}}],["quot;p1_real"",{"_index":4929,"title":{},"content":{"991":{"position":[[1680,20]]}},"keywords":{}}],["quot;p2"",{"_index":4933,"title":{},"content":{"991":{"position":[[1966,15]]}},"keywords":{}}],["quot;p2_real"",{"_index":4932,"title":{},"content":{"991":{"position":[[1868,20]]}},"keywords":{}}],["quot;passed"",{"_index":8481,"title":{},"content":{"1478":{"position":[[3203,18]]}},"keywords":{}}],["quot;path"",{"_index":5289,"title":{},"content":{"1050":{"position":[[1688,17]]}},"keywords":{}}],["quot;path_to_suite/suite_suite.erl"",{"_index":7619,"title":{},"content":{"1398":{"position":[[4835,41]]}},"keywords":{}}],["quot;pch",{"_index":7260,"title":{},"content":{"1386":{"position":[[2652,9]]}},"keywords":{}}],["quot;pid"",{"_index":2030,"title":{},"content":{"377":{"position":[[794,16]]},"756":{"position":[[794,16]]},"1052":{"position":[[676,16]]},"1054":{"position":[[538,16]]}},"keywords":{}}],["quot;pid"map",{"_index":2035,"title":{},"content":{"377":{"position":[[947,20]]},"756":{"position":[[947,20]]}},"keywords":{}}],["quot;platform"",{"_index":4564,"title":{},"content":{"927":{"position":[[317,20]]},"1072":{"position":[[733,21],[1263,21]]}},"keywords":{}}],["quot;platforminfo"",{"_index":2050,"title":{},"content":{"379":{"position":[[198,24]]},"758":{"position":[[198,24]]}},"keywords":{}}],["quot;plugin",{"_index":4889,"title":{},"content":{"988":{"position":[[43,12]]}},"keywords":{}}],["quot;plugin:somepluginid:somedirectoryrelatedoptionkey"",{"_index":8045,"title":{},"content":{"1439":{"position":[[5290,62]]}},"keywords":{}}],["quot;plugin:somepluginid:somepluginoptionkey"",{"_index":8043,"title":{},"content":{"1439":{"position":[[5202,52]]}},"keywords":{}}],["quot;plugins"",{"_index":6951,"title":{},"content":{"1366":{"position":[[2166,20]]}},"keywords":{}}],["quot;port"",{"_index":3313,"title":{},"content":{"663":{"position":[[847,18]]},"901":{"position":[[802,18]]}},"keywords":{}}],["quot;prelude//erlang/shell:buck2_shell_utils"",{"_index":7488,"title":{},"content":{"1393":{"position":[[7534,53]]},"1398":{"position":[[4480,53]]}},"keywords":{}}],["quot;proc_macro"",{"_index":4916,"title":{},"content":{"991":{"position":[[249,23]]}},"keywords":{}}],["quot;process"",{"_index":5280,"title":{},"content":{"1049":{"position":[[1548,20]]}},"keywords":{}}],["quot;promise"",{"_index":3708,"title":{},"content":{"711":{"position":[[218,20],[377,20],[543,20]]}},"keywords":{}}],["quot;promise_artifact"",{"_index":3712,"title":{},"content":{"711":{"position":[[570,29]]}},"keywords":{}}],["quot;protocol_version"",{"_index":8582,"title":{},"content":{"1486":{"position":[[3899,29],[4090,29]]}},"keywords":{}}],["quot;provid",{"_index":5028,"title":{},"content":{"1006":{"position":[[886,15],[963,15],[1045,15],[1123,15]]}},"keywords":{}}],["quot;provider"",{"_index":2296,"title":{},"content":{"427":{"position":[[138,20]]},"712":{"position":[[263,23]]},"806":{"position":[[138,20]]},"1049":{"position":[[780,23],[1228,23]]},"1054":{"position":[[273,23],[1719,23]]}},"keywords":{}}],["quot;provider_collection"",{"_index":3768,"title":{},"content":{"712":{"position":[[2573,32]]}},"keywords":{}}],["quot;public"",{"_index":582,"title":{},"content":{"18":{"position":[[1329,21],[1438,21]]},"690":{"position":[[996,18],[2202,18]]},"994":{"position":[[630,19]]},"995":{"position":[[1529,21]]},"1362":{"position":[[10556,18]]},"1382":{"position":[[7425,18]]},"1388":{"position":[[8294,18]]},"1416":{"position":[[2722,18]]},"1462":{"position":[[6342,18]]},"1467":{"position":[[7456,18]]},"1482":{"position":[[2053,21],[2204,21],[2334,21]]}},"keywords":{}}],["quot;python3"",{"_index":1656,"title":{},"content":{"298":{"position":[[2741,20]]},"851":{"position":[[2067,20]]}},"keywords":{}}],["quot;python_bootstrap"",{"_index":583,"title":{},"content":{"18":{"position":[[1395,29]]}},"keywords":{}}],["quot;queryfunction(//:foo)"",{"_index":5836,"title":{},"content":{"1132":{"position":[[136,34],[187,34],[262,34]]}},"keywords":{}}],["quot;quot",{"_index":6228,"title":{},"content":{"1258":{"position":[[42,12]]},"1289":{"position":[[42,12]]},"1317":{"position":[[42,12]]}},"keywords":{}}],["quot;qux"",{"_index":5581,"title":{},"content":{"1084":{"position":[[530,16]]},"1087":{"position":[[634,16],[724,17]]},"1088":{"position":[[981,16],[1385,17],[1482,16],[1511,17],[1567,17]]}},"keywords":{}}],["quot;r"",{"_index":3335,"title":{},"content":{"665":{"position":[[390,14]]}},"keywords":{}}],["quot;range"",{"_index":3288,"title":{},"content":{"662":{"position":[[125,17]]}},"keywords":{}}],["quot;rdeps('//foo:bar",{"_index":5851,"title":{},"content":{"1133":{"position":[[997,24]]}},"keywords":{}}],["quot;rdeps(deps(//example:foo",{"_index":4401,"title":{},"content":{"904":{"position":[[379,32]]}},"keywords":{}}],["quot;readme"",{"_index":7515,"title":{},"content":{"1393":{"position":[[10183,19]]}},"keywords":{}}],["quot;readme.md"",{"_index":7516,"title":{},"content":{"1393":{"position":[[10209,22]]}},"keywords":{}}],["quot;releases/1.0.0"",{"_index":7593,"title":{},"content":{"1397":{"position":[[3667,27]]}},"keywords":{}}],["quot;request",{"_index":8272,"title":{},"content":{"1461":{"position":[[3393,14],[3654,14]]}},"keywords":{}}],["quot;requests"",{"_index":8279,"title":{},"content":{"1461":{"position":[[3738,21]]}},"keywords":{}}],["quot;resources"",{"_index":2031,"title":{},"content":{"377":{"position":[[815,22]]},"756":{"position":[[815,22]]},"1052":{"position":[[697,22]]},"1054":{"position":[[559,22]]},"1366":{"position":[[2094,22]]},"1485":{"position":[[4883,22]]}},"keywords":{}}],["quot;resources.rc"",{"_index":8550,"title":{},"content":{"1485":{"position":[[4915,25]]}},"keywords":{}}],["quot;result"",{"_index":8597,"title":{},"content":{"1486":{"position":[[4742,19]]}},"keywords":{}}],["quot;root//..."",{"_index":1804,"title":{},"content":{"330":{"position":[[447,22]]},"471":{"position":[[328,22]]}},"keywords":{}}],["quot;root//bin:the_binary".analyz",{"_index":4545,"title":{},"content":{"924":{"position":[[1626,42]]}},"keywords":{}}],["quot;root//bin:the_binary".rdep",{"_index":4546,"title":{},"content":{"924":{"position":[[1692,40]]}},"keywords":{}}],["quot;rpath"",{"_index":8435,"title":{},"content":{"1471":{"position":[[4905,17]]},"1473":{"position":[[5226,17]]}},"keywords":{}}],["quot;rule"",{"_index":3707,"title":{},"content":{"711":{"position":[[171,17],[333,19]]}},"keywords":{}}],["quot;rule_type"",{"_index":4100,"title":{},"content":{"878":{"position":[[423,23]]}},"keywords":{}}],["quot;run",{"_index":5496,"title":{},"content":{"1071":{"position":[[352,9]]}},"keywords":{}}],["quot;run"",{"_index":7101,"title":{},"content":{"1374":{"position":[[3515,16],[3564,18]]}},"keywords":{}}],["quot;runinfo"",{"_index":2054,"title":{},"content":{"386":{"position":[[351,19]]},"765":{"position":[[351,19]]}},"keywords":{}}],["quot;rust_library"",{"_index":3465,"title":{},"content":{"690":{"position":[[826,25],[1848,25]]}},"keywords":{}}],["quot;s"",{"_index":3334,"title":{},"content":{"665":{"position":[[345,14],[360,14],[420,14]]}},"keywords":{}}],["quot;scratch"",{"_index":1235,"title":{},"content":{"94":{"position":[[4122,19]]},"226":{"position":[[4122,19]]}},"keywords":{}}],["quot;script"",{"_index":7548,"title":{},"content":{"1395":{"position":[[3640,19]]},"1477":{"position":[[2704,19]]}},"keywords":{}}],["quot;script.sh"",{"_index":8460,"title":{},"content":{"1477":{"position":[[2731,22]]},"1478":{"position":[[2885,22],[2987,22]]}},"keywords":{}}],["quot;script_fail"",{"_index":8478,"title":{},"content":{"1478":{"position":[[2955,24]]}},"keywords":{}}],["quot;script_pass"",{"_index":8476,"title":{},"content":{"1478":{"position":[[2853,24]]}},"keywords":{}}],["quot;scripts"",{"_index":7090,"title":{},"content":{"1374":{"position":[[3052,19]]}},"keywords":{}}],["quot;search"",{"_index":5870,"title":{},"content":{"1136":{"position":[[1481,18]]},"1148":{"position":[[1837,18]]},"1205":{"position":[[961,18]]},"1209":{"position":[[714,18]]},"1226":{"position":[[2654,18],[4759,18]]},"1235":{"position":[[1974,18]]},"1237":{"position":[[2824,18],[4929,18]]}},"keywords":{}}],["quot;selector"",{"_index":3480,"title":{},"content":{"690":{"position":[[1303,21],[1491,21]]},"1235":{"position":[[1185,21]]}},"keywords":{}}],["quot;serde.git"",{"_index":7716,"title":{},"content":{"1404":{"position":[[1529,22]]}},"keywords":{}}],["quot;server"",{"_index":7091,"title":{},"content":{"1374":{"position":[[3096,19]]}},"keywords":{}}],["quot;set",{"_index":5825,"title":{},"content":{"1130":{"position":[[233,10]]}},"keywords":{}}],["quot;shar",{"_index":7205,"title":{},"content":{"1384":{"position":[[18250,13]]},"1472":{"position":[[5566,13]]}},"keywords":{}}],["quot;shared"",{"_index":7760,"title":{},"content":{"1407":{"position":[[4619,19]]}},"keywords":{}}],["quot;shell".ignore_artifact",{"_index":2153,"title":{},"content":{"405":{"position":[[1916,34]]},"784":{"position":[[1916,34]]}},"keywords":{}}],["quot;silly_binary"",{"_index":5236,"title":{},"content":{"1048":{"position":[[305,25]]}},"keywords":{}}],["quot;simple"",{"_index":4033,"title":{},"content":{"867":{"position":[[1380,19]]}},"keywords":{}}],["quot;singular"",{"_index":1615,"title":{},"content":{"294":{"position":[[1226,21]]},"301":{"position":[[1179,21]]},"310":{"position":[[646,21]]},"311":{"position":[[489,21]]}},"keywords":{}}],["quot;slow_tests"",{"_index":8527,"title":{},"content":{"1482":{"position":[[2385,23]]}},"keywords":{}}],["quot;socket_address"",{"_index":2032,"title":{},"content":{"377":{"position":[[840,28],[889,28]]},"756":{"position":[[840,28],[889,28]]},"1052":{"position":[[722,28],[771,28]]},"1054":{"position":[[436,26],[584,28],[633,28]]}},"keywords":{}}],["quot;some_atom"",{"_index":7523,"title":{},"content":{"1393":{"position":[[10508,22]]}},"keywords":{}}],["quot;some_dir_to_copy_to/androidmanifest.xml"",{"_index":7702,"title":{},"content":{"1403":{"position":[[8637,52],[8807,52]]}},"keywords":{}}],["quot;some_tool"",{"_index":5283,"title":{},"content":{"1049":{"position":[[1668,22]]}},"keywords":{}}],["quot;somepluginoptionvalue"",{"_index":8044,"title":{},"content":{"1439":{"position":[[5255,34]]}},"keywords":{}}],["quot;somepluginsourcepath"",{"_index":8042,"title":{},"content":{"1439":{"position":[[5166,33]]}},"keywords":{}}],["quot;something"",{"_index":2218,"title":{},"content":{"415":{"position":[[305,22]]},"794":{"position":[[305,22]]}},"keywords":{}}],["quot;source"",{"_index":1996,"title":{},"content":{"368":{"position":[[3048,19],[3469,19]]},"747":{"position":[[3048,19],[3469,19]]}},"keywords":{}}],["quot;source_level"",{"_index":6568,"title":{},"content":{"1355":{"position":[[6678,24]]},"1427":{"position":[[5877,24]]}},"keywords":{}}],["quot;split")("a"",{"_index":3187,"title":{},"content":{"645":{"position":[[417,33]]}},"keywords":{}}],["quot;src"",{"_index":5249,"title":{},"content":{"1048":{"position":[[839,16],[1375,16]]},"1108":{"position":[[521,16]]}},"keywords":{}}],["quot;src/app_a.app.src"",{"_index":7513,"title":{},"content":{"1393":{"position":[[10092,30]]}},"keywords":{}}],["quot;src/app_a.erl"",{"_index":7511,"title":{},"content":{"1393":{"position":[[9997,26]]}},"keywords":{}}],["quot;src/app_b.erl"",{"_index":7518,"title":{},"content":{"1393":{"position":[[10328,26]]}},"keywords":{}}],["quot;src/app_b.hrl"",{"_index":7519,"title":{},"content":{"1393":{"position":[[10355,26]]}},"keywords":{}}],["quot;src/generated.rs"",{"_index":8432,"title":{},"content":{"1471":{"position":[[4401,28]]},"1472":{"position":[[4985,28]]},"1473":{"position":[[4722,28]]}},"keywords":{}}],["quot;src/leex_stub.xrl"",{"_index":7531,"title":{},"content":{"1393":{"position":[[10687,30]]}},"keywords":{}}],["quot;src/lib.rs"",{"_index":7900,"title":{},"content":{"1422":{"position":[[3150,25]]}},"keywords":{}}],["quot;src/main_module.erl"",{"_index":7555,"title":{},"content":{"1395":{"position":[[3885,34]]}},"keywords":{}}],["quot;src/yecc_stub.yrl"",{"_index":7532,"title":{},"content":{"1393":{"position":[[10718,30]]}},"keywords":{}}],["quot;srcs"",{"_index":1962,"title":{},"content":{"368":{"position":[[1234,17]]},"747":{"position":[[1234,17]]},"1048":{"position":[[1544,17]]}},"keywords":{}}],["quot;starlark_rule_is_too_long"",{"_index":2395,"title":{},"content":{"446":{"position":[[487,38]]},"825":{"position":[[487,38]]}},"keywords":{}}],["quot;starlarkuserevent"",{"_index":4010,"title":{},"content":{"867":{"position":[[287,30]]}},"keywords":{}}],["quot;start.sh"",{"_index":7598,"title":{},"content":{"1397":{"position":[[3879,21],[3907,21]]}},"keywords":{}}],["quot;stat",{"_index":5515,"title":{},"content":{"1072":{"position":[[957,12]]}},"keywords":{}}],["quot;state"",{"_index":6174,"title":{},"content":{"1243":{"position":[[228,17]]}},"keywords":{}}],["quot;static"",{"_index":561,"title":{},"content":{"18":{"position":[[703,19]]}},"keywords":{}}],["quot;stderr_path"",{"_index":8590,"title":{},"content":{"1486":{"position":[[4387,24]]}},"keywords":{}}],["quot;stdlib"",{"_index":7521,"title":{},"content":{"1393":{"position":[[10437,19]]},"1395":{"position":[[3957,19]]}},"keywords":{}}],["quot;stdout_path"",{"_index":8588,"title":{},"content":{"1486":{"position":[[4338,24]]}},"keywords":{}}],["quot;str"",{"_index":4015,"title":{},"content":{"867":{"position":[[433,16]]}},"keywords":{}}],["quot;string"",{"_index":1706,"title":{},"content":{"306":{"position":[[444,19]]},"668":{"position":[[90,18]]},"671":{"position":[[283,18]]},"712":{"position":[[645,19],[1301,19]]}},"keywords":{}}],["quot;string_value"",{"_index":4014,"title":{},"content":{"867":{"position":[[407,25]]}},"keywords":{}}],["quot;stringinfo"",{"_index":3748,"title":{},"content":{"712":{"position":[[920,23]]}},"keywords":{}}],["quot;stripped"",{"_index":1956,"title":{},"content":{"368":{"position":[[1057,21],[1313,21]]},"747":{"position":[[1057,21],[1313,21]]}},"keywords":{}}],["quot;strong"",{"_index":6056,"title":{},"content":{"1226":{"position":[[1475,18],[1603,18]]},"1237":{"position":[[1645,18],[1773,18]]}},"keywords":{}}],["quot;struct"",{"_index":3352,"title":{},"content":{"669":{"position":[[72,18]]}},"keywords":{}}],["quot;subplatform"",{"_index":5506,"title":{},"content":{"1072":{"position":[[790,24],[1320,24]]}},"keywords":{}}],["quot;subtarget2"",{"_index":940,"title":{},"content":{"63":{"position":[[584,25]]},"166":{"position":[[592,25]]},"492":{"position":[[584,25]]},"548":{"position":[[592,25]]}},"keywords":{}}],["quot;success",{"_index":5722,"title":{},"content":{"1112":{"position":[[1641,14],[1969,14]]}},"keywords":{}}],["quot;successful".pars",{"_index":5314,"title":{},"content":{"1050":{"position":[[4574,28]]}},"keywords":{}}],["quot;super_fast"",{"_index":2316,"title":{},"content":{"429":{"position":[[361,22]]},"808":{"position":[[361,22]]}},"keywords":{}}],["quot;superapp"",{"_index":6895,"title":{},"content":{"1363":{"position":[[5770,21]]}},"keywords":{}}],["quot;superapp.app"",{"_index":6896,"title":{},"content":{"1363":{"position":[[5808,24]]}},"keywords":{}}],["quot;sys.config"",{"_index":7597,"title":{},"content":{"1397":{"position":[[3833,23]]}},"keywords":{}}],["quot;sys.config.src"",{"_index":7596,"title":{},"content":{"1397":{"position":[[3799,27]]}},"keywords":{}}],["quot;system_cxx_toolchain"",{"_index":577,"title":{},"content":{"18":{"position":[[1139,33]]}},"keywords":{}}],["quot;system_python_bootstrap_toolchain"",{"_index":579,"title":{},"content":{"18":{"position":[[1223,46]]}},"keywords":{}}],["quot;t"",{"_index":3336,"title":{},"content":{"665":{"position":[[405,14]]}},"keywords":{}}],["quot;target"",{"_index":3855,"title":{},"content":{"840":{"position":[[548,19]]},"850":{"position":[[458,19]]}},"keywords":{}}],["quot;target_level"",{"_index":6571,"title":{},"content":{"1355":{"position":[[7517,24]]},"1427":{"position":[[7006,24]]}},"keywords":{}}],["quot;td.run_on_windows"",{"_index":4478,"title":{},"content":{"917":{"position":[[222,30]]}},"keywords":{}}],["quot;template"",{"_index":7278,"title":{},"content":{"1386":{"position":[[3956,20],[4912,20]]}},"keywords":{}}],["quot;templateplaceholderinfo"",{"_index":2061,"title":{},"content":{"389":{"position":[[202,35]]},"768":{"position":[[202,35]]}},"keywords":{}}],["quot;test",{"_index":6508,"title":{},"content":{"1353":{"position":[[2413,10]]}},"keywords":{}}],["quot;test".alloc(h1",{"_index":4158,"title":{},"content":{"888":{"position":[[292,27]]}},"keywords":{}}],["quot;test_folder"",{"_index":7622,"title":{},"content":{"1398":{"position":[[5159,24]]}},"keywords":{}}],["quot;test_suite.erl"",{"_index":7641,"title":{},"content":{"1398":{"position":[[7027,28]]}},"keywords":{}}],["quot;the_script"",{"_index":7550,"title":{},"content":{"1395":{"position":[[3713,23]]}},"keywords":{}}],["quot;thi",{"_index":312,"title":{},"content":{"10":{"position":[[84,10]]},"840":{"position":[[1082,10]]}},"keywords":{}}],["quot;three"",{"_index":2537,"title":{},"content":{"559":{"position":[[675,18],[782,18]]},"604":{"position":[[465,19]]},"613":{"position":[[291,18]]},"614":{"position":[[547,18]]},"616":{"position":[[949,18],[1067,18]]},"654":{"position":[[380,18],[490,18],[539,17]]},"655":{"position":[[272,18],[380,18]]},"666":{"position":[[629,18],[715,18],[781,18],[845,19]]}},"keywords":{}}],["quot;to"",{"_index":4437,"title":{},"content":{"906":{"position":[[1005,14]]}},"keywords":{}}],["quot;to"/"destination"",{"_index":4435,"title":{},"content":{"906":{"position":[[733,38]]}},"keywords":{}}],["quot;toolchain"",{"_index":5251,"title":{},"content":{"1048":{"position":[[869,22],[1397,22]]}},"keywords":{}}],["quot;toolchains//:silly"",{"_index":5263,"title":{},"content":{"1048":{"position":[[1634,32]]}},"keywords":{}}],["quot;topological"",{"_index":5604,"title":{},"content":{"1088":{"position":[[1062,25],[1182,25]]}},"keywords":{}}],["quot;tpx",{"_index":5513,"title":{},"content":{"1072":{"position":[[929,9],[1459,9]]}},"keywords":{}}],["quot;transitive"",{"_index":5625,"title":{},"content":{"1098":{"position":[[118,22]]}},"keywords":{}}],["quot;true"",{"_index":1709,"title":{},"content":{"306":{"position":[[486,17]]},"712":{"position":[[681,17],[1349,17]]}},"keywords":{}}],["quot;tuple"",{"_index":3354,"title":{},"content":{"670":{"position":[[142,17]]},"671":{"position":[[238,17]]}},"keywords":{}}],["quot;two",{"_index":2991,"title":{},"content":{"616":{"position":[[1148,9]]}},"keywords":{}}],["quot;two"",{"_index":2500,"title":{},"content":{"553":{"position":[[224,16]]},"554":{"position":[[342,16]]},"555":{"position":[[264,16],[320,17]]},"556":{"position":[[240,16],[290,16]]},"557":{"position":[[451,16],[504,17]]},"558":{"position":[[306,16],[377,17]]},"559":{"position":[[534,16],[655,16],[762,16]]},"561":{"position":[[267,16]]},"604":{"position":[[448,16]]},"616":{"position":[[932,16],[1036,16]]},"617":{"position":[[558,16],[654,16]]},"639":{"position":[[441,17],[512,17],[558,17],[609,17]]},"654":{"position":[[420,15]]},"655":{"position":[[429,15]]},"665":{"position":[[465,16],[496,17]]},"666":{"position":[[679,17],[883,16]]}},"keywords":{}}],["quot;two/three"",{"_index":2918,"title":{},"content":{"607":{"position":[[523,22]]}},"keywords":{}}],["quot;type"",{"_index":3357,"title":{},"content":{"671":{"position":[[111,16]]},"1383":{"position":[[7807,17]]},"1403":{"position":[[6907,17]]},"1486":{"position":[[3858,17],[4049,17],[4251,17],[4724,17],[5625,17],[5870,17]]}},"keywords":{}}],["quot;unit_test_suite"",{"_index":7637,"title":{},"content":{"1398":{"position":[[6853,28]]}},"keywords":{}}],["quot;unit_test_sutie.erl"",{"_index":7638,"title":{},"content":{"1398":{"position":[[6890,32]]}},"keywords":{}}],["quot;unit_tests"",{"_index":8525,"title":{},"content":{"1482":{"position":[[2263,23]]}},"keywords":{}}],["quot;unit_tests.sh"",{"_index":8526,"title":{},"content":{"1482":{"position":[[2294,26]]}},"keywords":{}}],["quot;universe"",{"_index":4102,"title":{},"content":{"878":{"position":[[473,21]]}},"keywords":{}}],["quot;unkey",{"_index":2063,"title":{},"content":{"389":{"position":[[320,13],[1159,13],[1437,13]]},"768":{"position":[[320,13],[1159,13],[1437,13]]}},"keywords":{}}],["quot;util"",{"_index":7077,"title":{},"content":{"1373":{"position":[[8909,17]]}},"keywords":{}}],["quot;util.c"",{"_index":7078,"title":{},"content":{"1373":{"position":[[8934,21]]}},"keywords":{}}],["quot;util.h"",{"_index":7079,"title":{},"content":{"1373":{"position":[[8966,21]]}},"keywords":{}}],["quot;validationinfo"",{"_index":2092,"title":{},"content":{"396":{"position":[[281,26]]},"775":{"position":[[281,26]]}},"keywords":{}}],["quot;validationspec"",{"_index":2095,"title":{},"content":{"397":{"position":[[136,26]]},"776":{"position":[[136,26]]}},"keywords":{}}],["quot;version"",{"_index":5287,"title":{},"content":{"1050":{"position":[[1639,20]]}},"keywords":{}}],["quot;visibility"",{"_index":3470,"title":{},"content":{"690":{"position":[[970,23],[2176,23]]}},"keywords":{}}],["quot;watchos"",{"_index":5013,"title":{},"content":{"1004":{"position":[[1937,20]]}},"keywords":{}}],["quot;windows"",{"_index":4657,"title":{},"content":{"940":{"position":[[1396,20]]},"1374":{"position":[[3909,20]]}},"keywords":{}}],["quot;windows/node.exe"",{"_index":7103,"title":{},"content":{"1374":{"position":[[3668,29]]}},"keywords":{}}],["quot;workerinfo"",{"_index":2097,"title":{},"content":{"398":{"position":[[155,22]]},"777":{"position":[[155,22]]}},"keywords":{}}],["quot;workerruninfo"",{"_index":2098,"title":{},"content":{"399":{"position":[[155,25]]},"778":{"position":[[155,25]]}},"keywords":{}}],["quot;world"",{"_index":2781,"title":{},"content":{"591":{"position":[[922,17]]},"1049":{"position":[[717,19],[921,18],[1133,18]]},"1397":{"position":[[3520,18]]}},"keywords":{}}],["quot;world.sil"",{"_index":5239,"title":{},"content":{"1048":{"position":[[402,23]]}},"keywords":{}}],["quot;write"",{"_index":4024,"title":{},"content":{"867":{"position":[[755,18],[943,18]]}},"keywords":{}}],["quot;x!hello",{"_index":2909,"title":{},"content":{"606":{"position":[[289,13]]}},"keywords":{}}],["quot;x"",{"_index":2893,"title":{},"content":{"604":{"position":[[396,13]]},"610":{"position":[[569,14],[647,14],[732,14],[809,14],[827,13]]},"664":{"position":[[186,15]]},"668":{"position":[[298,15]]}},"keywords":{}}],["quot;x86_64"",{"_index":4856,"title":{},"content":{"980":{"position":[[1197,18]]}},"keywords":{}}],["quot;x\\"]"",{"_index":3322,"title":{},"content":{"664":{"position":[[215,22]]},"668":{"position":[[327,22]]}},"keywords":{}}],["quot;xbxanana"",{"_index":2940,"title":{},"content":{"610":{"position":[[753,20]]}},"keywords":{}}],["quot;xbxaxnxaxnxax"",{"_index":2939,"title":{},"content":{"610":{"position":[[665,25]]}},"keywords":{}}],["quot;xcod",{"_index":5510,"title":{},"content":{"1072":{"position":[[846,11],[1376,11]]}},"keywords":{}}],["quot;xcodestable"",{"_index":5512,"title":{},"content":{"1072":{"position":[[873,24],[1403,24]]}},"keywords":{}}],["quot;xpcservices"",{"_index":6952,"title":{},"content":{"1366":{"position":[[2187,24]]}},"keywords":{}}],["quot;xxhello!!".strip("x!"",{"_index":3016,"title":{},"content":{"619":{"position":[[236,43]]}},"keywords":{}}],["quot;yarn"",{"_index":7096,"title":{},"content":{"1374":{"position":[[3254,17]]}},"keywords":{}}],["quot;yarn.sh"",{"_index":7097,"title":{},"content":{"1374":{"position":[[3278,20]]}},"keywords":{}}],["quot;yecc_leex"",{"_index":7530,"title":{},"content":{"1393":{"position":[[10655,22]]}},"keywords":{}}],["quot;your_target_platform"",{"_index":1427,"title":{},"content":{"168":{"position":[[220,33]]}},"keywords":{}}],["quot;zero"",{"_index":3140,"title":{},"content":{"639":{"position":[[467,18]]}},"keywords":{}}],["quot;{feature}"",{"_index":8429,"title":{},"content":{"1471":{"position":[[3747,24]]},"1472":{"position":[[4331,24]]},"1473":{"position":[[3815,24]]}},"keywords":{}}],["quot;{tagged_tupl",{"_index":7526,"title":{},"content":{"1393":{"position":[[10568,20]]}},"keywords":{}}],["quot;世"",{"_index":2790,"title":{},"content":{"592":{"position":[[436,14]]}},"keywords":{}}],["quot;界"",{"_index":2791,"title":{},"content":{"592":{"position":[[451,14]]}},"keywords":{}}],["quotat",{"_index":3347,"title":{},"content":{"668":{"position":[[161,11]]}},"keywords":{}}],["qux",{"_index":2639,"title":{},"content":{"577":{"position":[[404,3]]},"1084":{"position":[[315,3],[345,3]]},"1088":{"position":[[1316,3],[1346,3]]}},"keywords":{}}],["qux((qux",{"_index":5579,"title":{},"content":{"1084":{"position":[[304,10]]},"1088":{"position":[[1305,10]]}},"keywords":{}}],["qux:quux",{"_index":5032,"title":{},"content":{"1006":{"position":[[1065,10],[1143,10]]}},"keywords":{}}],["r",{"_index":2631,"title":{},"content":{"576":{"position":[[249,2]]},"595":{"position":[[1134,3]]},"617":{"position":[[279,4]]},"1167":{"position":[[332,2],[1201,2],[1380,2]]},"1186":{"position":[[170,2]]},"1187":{"position":[[183,2]]}},"keywords":{}}],["r.java",{"_index":6639,"title":{},"content":{"1359":{"position":[[2107,6]]}},"keywords":{}}],["r.txt",{"_index":6640,"title":{},"content":{"1359":{"position":[[2214,5]]}},"keywords":{}}],["r10e",{"_index":8380,"title":{},"content":{"1469":{"position":[[2552,4],[2626,4]]}},"keywords":{}}],["r\\n",{"_index":2997,"title":{},"content":{"617":{"position":[[287,8]]}},"keywords":{}}],["race",{"_index":3555,"title":{},"content":{"693":{"position":[[4745,4]]},"724":{"position":[[1449,8]]},"1138":{"position":[[2735,6]]},"1140":{"position":[[2224,6]]},"1167":{"position":[[3228,6]]},"1188":{"position":[[2277,6]]},"1217":{"position":[[1969,6]]},"1228":{"position":[[4050,6]]},"1405":{"position":[[985,5],[3586,4]]},"1407":{"position":[[1012,5],[4007,4]]},"1410":{"position":[[1159,5],[4968,5],[4995,4]]}},"keywords":{}}],["rais",{"_index":1224,"title":{},"content":{"94":{"position":[[3360,5]]},"226":{"position":[[3360,5]]},"451":{"position":[[212,5]]},"645":{"position":[[373,5]]},"830":{"position":[[212,5]]},"1114":{"position":[[680,7]]}},"keywords":{}}],["raisean",{"_index":6226,"title":{},"content":{"1256":{"position":[[93,7]]}},"keywords":{}}],["ran",{"_index":3646,"title":{"893":{"position":[[28,3]]},"894":{"position":[[5,3]]},"895":{"position":[[15,3]]},"1172":{"position":[[14,4]]}},"content":{"705":{"position":[[585,3]]},"725":{"position":[[48,3]]},"835":{"position":[[102,3]]},"895":{"position":[[9,3]]},"896":{"position":[[14,3],[882,3]]},"964":{"position":[[964,4]]},"1037":{"position":[[84,3]]},"1138":{"position":[[5481,3]]},"1140":{"position":[[4970,3]]},"1167":{"position":[[5974,3]]},"1171":{"position":[[107,3],[135,3]]},"1172":{"position":[[24,3],[286,3],[478,3],[646,3],[858,3]]},"1173":{"position":[[88,3]]},"1188":{"position":[[5023,3]]},"1217":{"position":[[4715,3]]},"1228":{"position":[[6796,3]]},"1242":{"position":[[48,4]]},"1244":{"position":[[248,3]]},"1438":{"position":[[1690,3],[2114,3]]}},"keywords":{}}],["random",{"_index":5931,"title":{},"content":{"1138":{"position":[[3014,6]]},"1140":{"position":[[2503,6]]},"1167":{"position":[[3507,6]]},"1188":{"position":[[2556,6]]},"1217":{"position":[[2248,6]]},"1228":{"position":[[4329,6]]},"1477":{"position":[[2032,6]]}},"keywords":{}}],["rang",{"_index":216,"title":{"662":{"position":[[0,6]]}},"content":{"9":{"position":[[1006,5]]},"566":{"position":[[464,5],[512,5]]},"567":{"position":[[364,5]]},"662":{"position":[[4,6],[58,5],[65,6],[81,5],[152,5],[358,5],[755,5]]},"864":{"position":[[780,5]]},"890":{"position":[[2183,6]]}},"keywords":{}}],["range(0",{"_index":3292,"title":{},"content":{"662":{"position":[[260,8]]}},"keywords":{}}],["range(1",{"_index":6209,"title":{},"content":{"1252":{"position":[[216,7]]}},"keywords":{}}],["range(n",{"_index":6216,"title":{},"content":{"1253":{"position":[[482,9]]}},"keywords":{}}],["range(start",{"_index":3294,"title":{},"content":{"662":{"position":[[275,12],[310,12],[332,12],[537,12],[621,12]]}},"keywords":{}}],["range(stop",{"_index":3291,"title":{},"content":{"662":{"position":[[232,11],[433,11]]}},"keywords":{}}],["ranlib",{"_index":7388,"title":{},"content":{"1389":{"position":[[3276,7]]}},"keywords":{}}],["ranlib_flag",{"_index":7389,"title":{},"content":{"1389":{"position":[[3300,13]]}},"keywords":{}}],["rare",{"_index":2285,"title":{"1255":{"position":[[15,4]]}},"content":{"421":{"position":[[422,7]]},"800":{"position":[[422,7]]},"1255":{"position":[[54,4]]}},"keywords":{}}],["ratio",{"_index":8562,"title":{},"content":{"1486":{"position":[[2375,5]]}},"keywords":{}}],["raw",{"_index":5998,"title":{},"content":{"1172":{"position":[[2198,3]]},"1193":{"position":[[655,4]]},"1373":{"position":[[7702,3],[7857,3],[8013,3]]},"1382":{"position":[[10478,3],[10633,3],[10789,3]]},"1384":{"position":[[17552,3],[17707,3],[17863,3]]},"1388":{"position":[[8971,3],[9126,3],[9282,3]]},"1485":{"position":[[3343,3],[3498,3],[3654,3]]}},"keywords":{}}],["raw_head",{"_index":6764,"title":{},"content":{"1362":{"position":[[3948,12]]},"1364":{"position":[[3936,12]]},"1367":{"position":[[5205,12]]},"1373":{"position":[[2567,12],[8092,11]]},"1382":{"position":[[2770,12],[6285,12],[10311,12],[10868,11]]},"1384":{"position":[[3590,12],[11232,12],[16906,12],[17154,12],[17385,12],[17942,11]]},"1385":{"position":[[1722,12]]},"1387":{"position":[[3522,12]]},"1388":{"position":[[2955,12],[7154,12],[8804,12],[9361,11]]},"1415":{"position":[[2223,12]]},"1454":{"position":[[2127,12]]},"1462":{"position":[[3741,12]]},"1467":{"position":[[4010,12]]},"1485":{"position":[[583,12],[2565,12],[3733,11]]}},"keywords":{}}],["rbuildfiles(univers",{"_index":6241,"title":{"1266":{"position":[[0,21]]},"1297":{"position":[[0,21]]},"1325":{"position":[[0,21]]}},"content":{"1259":{"position":[[593,21]]},"1290":{"position":[[593,21]]},"1318":{"position":[[593,21]]}},"keywords":{}}],["rc",{"_index":8541,"title":{},"content":{"1485":{"position":[[732,5],[4812,3]]}},"keywords":{}}],["rc<refcell<(_",{"_index":4258,"title":{},"content":{"890":{"position":[[6481,20]]}},"keywords":{}}],["rc.ex",{"_index":8546,"title":{},"content":{"1485":{"position":[[4513,6]]}},"keywords":{}}],["rc/refcel",{"_index":4227,"title":{},"content":{"890":{"position":[[2826,10],[4657,11]]}},"keywords":{}}],["rc_compil",{"_index":7390,"title":{},"content":{"1389":{"position":[[3329,12]]}},"keywords":{}}],["rc_compiler_flag",{"_index":7391,"title":{},"content":{"1389":{"position":[[3358,18]]}},"keywords":{}}],["rc_compiler_typ",{"_index":7392,"title":{},"content":{"1389":{"position":[[3392,17]]}},"keywords":{}}],["rc_preprocessor_flag",{"_index":7393,"title":{},"content":{"1389":{"position":[[3426,22]]}},"keywords":{}}],["rdep",{"_index":1822,"title":{},"content":{"335":{"position":[[558,5]]},"475":{"position":[[320,5]]},"904":{"position":[[697,5],[1138,5],[1525,5]]},"905":{"position":[[955,5]]},"906":{"position":[[657,5],[676,5],[1032,5],[1145,5]]},"990":{"position":[[876,5],[910,4],[1067,4],[1120,4]]},"991":{"position":[[494,5]]},"1133":{"position":[[824,7]]}},"keywords":{}}],["rdeps(univers",{"_index":6254,"title":{"1275":{"position":[[0,15]]},"1306":{"position":[[0,15]]},"1334":{"position":[[0,15]]}},"content":{"1259":{"position":[[1416,15]]},"1290":{"position":[[1416,15]]},"1318":{"position":[[1416,15]]}},"keywords":{}}],["re",{"_index":1048,"title":{"975":{"position":[[21,3]]},"1345":{"position":[[0,2]]},"1346":{"position":[[0,2]]}},"content":{"85":{"position":[[314,2]]},"90":{"position":[[209,2]]},"94":{"position":[[3899,2]]},"217":{"position":[[314,2]]},"222":{"position":[[209,2]]},"226":{"position":[[3899,2]]},"362":{"position":[[1309,2],[1583,3],[1866,2],[2519,2]]},"693":{"position":[[6775,5]]},"702":{"position":[[402,4]]},"704":{"position":[[1103,3],[2019,2],[2463,4]]},"706":{"position":[[2086,3],[2367,2]]},"708":{"position":[[294,3],[300,6],[546,3],[552,6]]},"724":{"position":[[503,2],[634,2],[773,2]]},"741":{"position":[[1309,2],[1583,3],[1866,2],[2519,2]]},"834":{"position":[[647,3],[678,2]]},"894":{"position":[[527,2],[564,2]]},"895":{"position":[[567,2],[598,2]]},"896":{"position":[[889,3],[953,2],[1056,2]]},"897":{"position":[[43,3]]},"966":{"position":[[217,3]]},"972":{"position":[[87,2]]},"973":{"position":[[328,4]]},"975":{"position":[[22,3],[252,2],[331,2]]},"987":{"position":[[239,2]]},"991":{"position":[[2730,2]]},"1035":{"position":[[491,2]]},"1036":{"position":[[235,2]]},"1037":{"position":[[61,2],[91,3]]},"1070":{"position":[[40,5],[146,3],[543,2],[650,3],[712,2],[794,3],[906,3],[926,2],[997,2]]},"1075":{"position":[[685,2]]},"1077":{"position":[[172,2]]},"1136":{"position":[[3125,2],[5598,3],[5602,2]]},"1138":{"position":[[2717,2],[2936,2],[3154,2],[3358,2],[3536,2],[3660,2],[3725,3],[5488,2],[6787,2],[9260,3],[9264,2]]},"1140":{"position":[[2206,2],[2425,2],[2643,2],[2847,2],[3025,2],[3149,2],[3214,3],[4977,2],[5713,2],[8186,3],[8190,2]]},"1142":{"position":[[1157,2],[3630,3],[3634,2]]},"1146":{"position":[[1097,2],[3570,3],[3574,2]]},"1148":{"position":[[4137,2],[6610,3],[6614,2]]},"1155":{"position":[[1193,2],[3666,3],[3670,2]]},"1156":{"position":[[771,2],[3244,3],[3248,2]]},"1161":{"position":[[1137,3],[1141,2]]},"1167":{"position":[[3210,2],[3429,2],[3647,2],[3851,2],[4029,2],[4153,2],[4218,3],[5981,2],[6717,2],[9190,3],[9194,2]]},"1169":{"position":[[556,2]]},"1171":{"position":[[571,2]]},"1172":{"position":[[354,2],[396,3],[485,3]]},"1179":{"position":[[31,2]]},"1181":{"position":[[1349,3],[1353,2]]},"1186":{"position":[[2361,2],[4834,3],[4838,2]]},"1187":{"position":[[2374,2],[4847,3],[4851,2]]},"1188":{"position":[[2259,2],[2478,2],[2696,2],[2900,2],[3078,2],[3202,2],[3267,3],[5030,2],[7100,2],[9573,3],[9577,2]]},"1191":{"position":[[961,2],[3434,3],[3438,2]]},"1192":{"position":[[1136,2],[3609,3],[3613,2]]},"1193":{"position":[[1188,2],[3661,3],[3665,2]]},"1194":{"position":[[828,2],[3301,3],[3305,2]]},"1195":{"position":[[806,2],[3279,3],[3283,2]]},"1196":{"position":[[616,2],[3089,3],[3093,2]]},"1197":{"position":[[1599,2],[4072,3],[4076,2]]},"1198":{"position":[[1609,2],[4082,3],[4086,2]]},"1199":{"position":[[1637,2],[4110,3],[4114,2]]},"1200":{"position":[[1504,2],[3977,3],[3981,2]]},"1201":{"position":[[764,2],[3237,3],[3241,2]]},"1202":{"position":[[1906,2],[4379,3],[4383,2],[6303,2],[8776,3],[8780,2]]},"1203":{"position":[[998,2],[3471,3],[3475,2]]},"1204":{"position":[[842,2],[3315,3],[3319,2]]},"1205":{"position":[[2171,2],[4644,3],[4648,2]]},"1206":{"position":[[642,2],[3115,3],[3119,2]]},"1207":{"position":[[799,2],[3272,3],[3276,2]]},"1209":{"position":[[2147,2],[4620,3],[4624,2]]},"1217":{"position":[[1951,2],[2170,2],[2388,2],[2592,2],[2770,2],[2894,2],[2959,3],[4722,2],[5458,2],[7931,3],[7935,2]]},"1219":{"position":[[1444,2]]},"1222":{"position":[[568,2],[3041,3],[3045,2]]},"1223":{"position":[[578,2],[3051,3],[3055,2]]},"1224":{"position":[[758,2]]},"1226":{"position":[[5926,2],[8399,3],[8403,2]]},"1228":{"position":[[1018,2],[1063,2],[1135,2],[1168,2],[1192,2],[4032,2],[4251,2],[4469,2],[4673,2],[4851,2],[4975,2],[5040,3],[6803,2],[7539,2],[10012,3],[10016,2]]},"1235":{"position":[[3407,2],[5880,3],[5884,2]]},"1237":{"position":[[6096,2],[8569,3],[8573,2]]},"1345":{"position":[[882,3],[1265,2]]},"1346":{"position":[[183,3],[615,2]]},"1348":{"position":[[4548,6],[4555,3],[4561,6],[4762,7]]},"1351":{"position":[[5241,2]]},"1355":{"position":[[7849,6],[7856,3],[7862,6],[7975,7]]},"1359":{"position":[[789,4],[962,3],[2339,4],[2406,4],[2437,6],[2444,3]]},"1360":{"position":[[6143,7]]},"1364":{"position":[[6911,2],[13159,2],[13282,2]]},"1367":{"position":[[14155,2],[14278,2]]},"1384":{"position":[[5956,2],[18090,2],[18213,2]]},"1387":{"position":[[6807,2]]},"1454":{"position":[[4804,2]]},"1455":{"position":[[2452,2]]},"1461":{"position":[[2320,2],[2452,2]]},"1465":{"position":[[2780,2],[2912,2]]},"1467":{"position":[[6919,2],[7051,2]]},"1485":{"position":[[4496,4]]}},"keywords":{}}],["re"",{"_index":5505,"title":{},"content":{"1072":{"position":[[780,9],[1310,9]]}},"keywords":{}}],["re'",{"_index":3805,"title":{},"content":{"724":{"position":[[990,4],[1212,4]]},"1345":{"position":[[144,4]]}},"keywords":{}}],["re_cap",{"_index":6528,"title":{},"content":{"1354":{"position":[[971,8]]}},"keywords":{}}],["re_use_cas",{"_index":6529,"title":{},"content":{"1354":{"position":[[1018,12]]}},"keywords":{}}],["reach",{"_index":4719,"title":{},"content":{"945":{"position":[[443,8]]}},"keywords":{}}],["reachabl",{"_index":6956,"title":{},"content":{"1366":{"position":[[2744,9],[2829,9]]}},"keywords":{}}],["read",{"_index":2311,"title":{},"content":{"429":{"position":[[54,4]]},"431":{"position":[[37,4]]},"432":{"position":[[44,4]]},"581":{"position":[[86,5]]},"693":{"position":[[132,5]]},"718":{"position":[[618,4]]},"808":{"position":[[54,4]]},"810":{"position":[[37,4]]},"811":{"position":[[44,4]]},"846":{"position":[[342,4]]},"850":{"position":[[693,4]]},"878":{"position":[[59,5],[340,4],[739,4]]},"879":{"position":[[215,4],[384,4]]},"886":{"position":[[262,4]]},"910":{"position":[[285,4]]},"961":{"position":[[726,4]]},"966":{"position":[[631,4]]},"1012":{"position":[[314,4]]},"1040":{"position":[[2813,4]]},"1050":{"position":[[3082,7]]},"1064":{"position":[[2292,4]]},"1172":{"position":[[928,4]]},"1173":{"position":[[228,4]]},"1174":{"position":[[132,4]]},"1175":{"position":[[152,4]]},"1176":{"position":[[236,4]]},"1177":{"position":[[148,4]]},"1178":{"position":[[302,4]]},"1179":{"position":[[168,4]]},"1180":{"position":[[498,4]]},"1181":{"position":[[211,4]]},"1182":{"position":[[190,4]]},"1183":{"position":[[145,4]]},"1219":{"position":[[548,5]]},"1345":{"position":[[531,7],[808,7],[1103,7]]},"1355":{"position":[[7321,4]]},"1370":{"position":[[2475,4]]},"1399":{"position":[[1793,4]]},"1427":{"position":[[6520,4]]}},"keywords":{}}],["read_config",{"_index":2309,"title":{"429":{"position":[[0,12]]},"808":{"position":[[0,12]]},"1002":{"position":[[0,12]]}},"content":{"433":{"position":[[101,11]]},"812":{"position":[[101,11]]},"1002":{"position":[[23,11]]},"1064":{"position":[[2233,12],[2277,11]]}},"keywords":{}}],["read_config("package_options"",{"_index":2315,"title":{},"content":{"429":{"position":[[296,40],[384,40],[453,40]]},"808":{"position":[[296,40],[384,40],[453,40]]}},"keywords":{}}],["read_config(sect",{"_index":2310,"title":{},"content":{"429":{"position":[[4,20]]},"808":{"position":[[4,20]]}},"keywords":{}}],["read_configs.bzl",{"_index":5416,"title":{},"content":{"1058":{"position":[[292,16]]}},"keywords":{}}],["read_dir_set",{"_index":1755,"title":{},"content":{"318":{"position":[[97,12]]}},"keywords":{}}],["read_json",{"_index":1132,"title":{},"content":{"92":{"position":[[1166,9]]},"224":{"position":[[1166,9]]},"1040":{"position":[[1592,9]]}},"keywords":{}}],["read_lin",{"_index":1131,"title":{},"content":{"92":{"position":[[1150,11]]},"224":{"position":[[1150,11]]},"1040":{"position":[[1576,11],[2836,11]]}},"keywords":{}}],["read_oncal",{"_index":2320,"title":{"430":{"position":[[0,12]]},"809":{"position":[[0,12]]}},"content":{"430":{"position":[[4,13]]},"809":{"position":[[4,13]]}},"keywords":{}}],["read_package_valu",{"_index":2322,"title":{"431":{"position":[[0,19]]},"810":{"position":[[0,19]]}},"content":{"1001":{"position":[[1180,19]]},"1065":{"position":[[0,19],[24,19]]}},"keywords":{}}],["read_package_value(key",{"_index":2323,"title":{},"content":{"431":{"position":[[4,23]]},"810":{"position":[[4,23]]}},"keywords":{}}],["read_parent_package_valu",{"_index":2324,"title":{"432":{"position":[[0,26]]},"811":{"position":[[0,26]]}},"content":{"1064":{"position":[[1135,26],[1166,26]]}},"keywords":{}}],["read_parent_package_value(key",{"_index":2325,"title":{},"content":{"432":{"position":[[4,30]]},"811":{"position":[[4,30]]}},"keywords":{}}],["read_root_config",{"_index":2326,"title":{"433":{"position":[[0,17]]},"812":{"position":[[0,17]]}},"content":{"433":{"position":[[4,17]]},"812":{"position":[[4,17]]}},"keywords":{}}],["read_str",{"_index":5140,"title":{},"content":{"1040":{"position":[[1563,12]]}},"keywords":{}}],["readabl",{"_index":4846,"title":{},"content":{"980":{"position":[[43,8],[106,8]]},"1176":{"position":[[94,9]]},"1360":{"position":[[4180,9]]},"1363":{"position":[[4244,8]]},"1403":{"position":[[3595,9]]}},"keywords":{}}],["readi",{"_index":590,"title":{},"content":{"18":{"position":[[1662,5]]},"19":{"position":[[18,5]]},"23":{"position":[[582,5]]},"377":{"position":[[751,5]]},"706":{"position":[[2296,5]]},"756":{"position":[[751,5]]},"1052":{"position":[[417,5]]},"1104":{"position":[[780,8]]}},"keywords":{}}],["real",{"_index":211,"title":{},"content":{"9":{"position":[[926,4]]},"79":{"position":[[247,4]]},"508":{"position":[[247,4]]},"1086":{"position":[[154,4]]},"1167":{"position":[[633,4]]}},"keywords":{}}],["realiz",{"_index":4600,"title":{},"content":{"937":{"position":[[2499,7]]}},"keywords":{}}],["realli",{"_index":1511,"title":{},"content":{"276":{"position":[[390,6]]},"277":{"position":[[338,6]]},"281":{"position":[[470,6]]},"282":{"position":[[420,6]]},"436":{"position":[[161,6]]},"706":{"position":[[539,6]]},"815":{"position":[[161,6]]},"856":{"position":[[203,6]]},"924":{"position":[[2059,6]]}},"keywords":{}}],["reason",{"_index":316,"title":{},"content":{"10":{"position":[[221,7]]},"18":{"position":[[2296,10]]},"675":{"position":[[1140,7]]},"693":{"position":[[7985,7]]},"695":{"position":[[648,6]]},"889":{"position":[[1247,6]]},"894":{"position":[[127,6],[254,6]]},"907":{"position":[[47,8]]},"919":{"position":[[1222,8],[1987,8]]},"937":{"position":[[698,8]]},"950":{"position":[[699,10]]},"970":{"position":[[126,10]]},"987":{"position":[[514,8]]},"1018":{"position":[[194,7]]},"1071":{"position":[[123,6]]},"1136":{"position":[[4355,6]]},"1138":{"position":[[8017,6]]},"1140":{"position":[[6943,6]]},"1142":{"position":[[454,8],[2387,6]]},"1146":{"position":[[2327,6]]},"1148":{"position":[[5367,6]]},"1155":{"position":[[2423,6]]},"1156":{"position":[[2001,6]]},"1167":{"position":[[7947,6]]},"1169":{"position":[[1786,6]]},"1172":{"position":[[149,6]]},"1186":{"position":[[3591,6]]},"1187":{"position":[[3604,6]]},"1188":{"position":[[8330,6]]},"1191":{"position":[[2191,6]]},"1192":{"position":[[2366,6]]},"1193":{"position":[[2418,6]]},"1194":{"position":[[2058,6]]},"1195":{"position":[[2036,6]]},"1196":{"position":[[1846,6]]},"1197":{"position":[[2829,6]]},"1198":{"position":[[2839,6]]},"1199":{"position":[[2867,6]]},"1200":{"position":[[2734,6]]},"1201":{"position":[[1994,6]]},"1202":{"position":[[3136,6],[7533,6]]},"1203":{"position":[[2228,6]]},"1204":{"position":[[2072,6]]},"1205":{"position":[[3401,6]]},"1206":{"position":[[1872,6]]},"1207":{"position":[[2029,6]]},"1209":{"position":[[3377,6]]},"1217":{"position":[[6688,6]]},"1219":{"position":[[2674,6]]},"1222":{"position":[[1798,6]]},"1223":{"position":[[1808,6]]},"1224":{"position":[[1988,6]]},"1226":{"position":[[1644,10],[7156,6]]},"1228":{"position":[[8769,6]]},"1233":{"position":[[93,7]]},"1235":{"position":[[4637,6]]},"1237":{"position":[[120,8],[1814,10],[7326,6]]},"1250":{"position":[[15,7]]},"1252":{"position":[[8,6]]},"1253":{"position":[[8,6]]},"1254":{"position":[[14,6]]}},"keywords":{}}],["rebar3",{"_index":7459,"title":{},"content":{"1393":{"position":[[2442,6],[9274,7]]}},"keywords":{}}],["rebas",{"_index":5533,"title":{},"content":{"1079":{"position":[[333,8]]}},"keywords":{}}],["rebuild",{"_index":2173,"title":{},"content":{"406":{"position":[[879,7]]},"572":{"position":[[225,8]]},"785":{"position":[[879,7]]},"1351":{"position":[[5339,11]]}},"keywords":{}}],["rebuilt",{"_index":3610,"title":{},"content":{"695":{"position":[[828,8]]},"1351":{"position":[[5269,8]]}},"keywords":{}}],["rec",{"_index":3156,"title":{},"content":{"642":{"position":[[194,3]]}},"keywords":{}}],["rec.mask",{"_index":3161,"title":{},"content":{"642":{"position":[[261,8]]}},"keywords":{}}],["rec.port",{"_index":3159,"title":{},"content":{"642":{"position":[[246,8]]}},"keywords":{}}],["rec_typ",{"_index":3151,"title":{},"content":{"642":{"position":[[112,8]]}},"keywords":{}}],["rec_type(host="localhost"",{"_index":3157,"title":{},"content":{"642":{"position":[[200,36]]}},"keywords":{}}],["receiv",{"_index":1281,"title":{"975":{"position":[[7,8]]}},"content":{"99":{"position":[[1271,8]]},"231":{"position":[[1271,8]]},"693":{"position":[[2853,7],[7132,8],[7165,8]]},"712":{"position":[[205,8]]},"715":{"position":[[1738,9]]},"840":{"position":[[367,7]]},"850":{"position":[[277,7]]},"975":{"position":[[239,7]]},"977":{"position":[[103,8]]},"1067":{"position":[[331,8],[466,8]]},"1071":{"position":[[1271,9]]},"1086":{"position":[[205,7]]},"1127":{"position":[[716,8]]},"1224":{"position":[[70,8]]},"1486":{"position":[[5525,8],[5702,8]]}},"keywords":{}}],["recent",{"_index":511,"title":{},"content":{"17":{"position":[[843,6]]},"866":{"position":[[167,6]]},"1079":{"position":[[102,8]]},"1127":{"position":[[223,6],[391,6],[430,6]]},"1172":{"position":[[949,6],[1002,6]]},"1173":{"position":[[249,6],[302,6]]},"1174":{"position":[[153,6],[206,6]]},"1175":{"position":[[173,6],[226,6]]},"1176":{"position":[[257,6],[310,6]]},"1177":{"position":[[169,6],[222,6]]},"1178":{"position":[[323,6],[376,6]]},"1179":{"position":[[189,6],[242,6]]},"1180":{"position":[[519,6],[572,6]]},"1181":{"position":[[274,6],[327,6]]},"1182":{"position":[[211,6],[264,6]]},"1183":{"position":[[166,6],[219,6]]}},"keywords":{}}],["recommend",{"_index":421,"title":{},"content":{"13":{"position":[[173,9]]},"346":{"position":[[506,14]]},"584":{"position":[[472,9],[921,13]]},"680":{"position":[[1139,9]]},"870":{"position":[[209,15]]},"965":{"position":[[472,14]]},"1056":{"position":[[717,11]]},"1078":{"position":[[210,11]]},"1087":{"position":[[152,12]]},"1104":{"position":[[2718,11]]},"1123":{"position":[[61,9]]},"1138":{"position":[[5932,11]]},"1148":{"position":[[3282,11]]},"1186":{"position":[[1506,11]]},"1187":{"position":[[1519,11]]},"1188":{"position":[[6245,11]]},"1197":{"position":[[744,11]]},"1198":{"position":[[754,11]]},"1199":{"position":[[782,11]]},"1200":{"position":[[649,11]]},"1260":{"position":[[679,9]]},"1282":{"position":[[200,9]]},"1283":{"position":[[217,9]]},"1284":{"position":[[197,9]]},"1291":{"position":[[679,9]]},"1313":{"position":[[200,9]]},"1314":{"position":[[217,9]]},"1315":{"position":[[197,9]]},"1319":{"position":[[679,9]]},"1341":{"position":[[200,9]]},"1342":{"position":[[217,9]]},"1343":{"position":[[197,9]]},"1373":{"position":[[7834,11]]},"1382":{"position":[[10610,11]]},"1384":{"position":[[17684,11]]},"1388":{"position":[[9103,11]]},"1398":{"position":[[5068,12]]},"1485":{"position":[[3475,11]]}},"keywords":{}}],["recompil",{"_index":5100,"title":{},"content":{"1029":{"position":[[314,13],[406,13]]}},"keywords":{}}],["recomput",{"_index":3818,"title":{},"content":{"832":{"position":[[189,11]]}},"keywords":{}}],["reconsid",{"_index":4991,"title":{},"content":{"1001":{"position":[[1579,10]]}},"keywords":{}}],["reconstruct",{"_index":5401,"title":{},"content":{"1057":{"position":[[1290,11]]}},"keywords":{}}],["record",{"_index":1266,"title":{"663":{"position":[[0,7]]},"901":{"position":[[0,6]]}},"content":{"99":{"position":[[199,6]]},"231":{"position":[[199,6]]},"642":{"position":[[60,7],[95,6]]},"663":{"position":[[39,6],[194,6],[594,6],[673,7],[1147,7]]},"832":{"position":[[333,8]]},"867":{"position":[[63,7]]},"900":{"position":[[2074,7]]},"901":{"position":[[2,6],[157,6],[556,6],[630,7],[1101,7]]},"965":{"position":[[195,8]]},"1024":{"position":[[247,8]]},"1058":{"position":[[1119,7]]},"1060":{"position":[[40,6]]},"1061":{"position":[[309,6]]},"1104":{"position":[[2213,6]]},"1136":{"position":[[4758,6],[5876,6],[5917,6]]},"1138":{"position":[[8420,6],[9538,6],[9579,6]]},"1140":{"position":[[7346,6],[8464,6],[8505,6]]},"1142":{"position":[[2790,6],[3908,6],[3949,6]]},"1146":{"position":[[2730,6],[3848,6],[3889,6]]},"1148":{"position":[[5770,6],[6888,6],[6929,6]]},"1155":{"position":[[2826,6],[3944,6],[3985,6]]},"1156":{"position":[[2404,6],[3522,6],[3563,6]]},"1163":{"position":[[482,6],[523,6]]},"1165":{"position":[[311,6],[352,6]]},"1167":{"position":[[8350,6],[9468,6],[9509,6]]},"1169":{"position":[[2189,6],[2576,6],[2617,6]]},"1172":{"position":[[107,7]]},"1186":{"position":[[3994,6],[5112,6],[5153,6]]},"1187":{"position":[[4007,6],[5125,6],[5166,6]]},"1188":{"position":[[8733,6],[9851,6],[9892,6]]},"1191":{"position":[[2594,6],[3712,6],[3753,6]]},"1192":{"position":[[2769,6],[3887,6],[3928,6]]},"1193":{"position":[[2821,6],[3939,6],[3980,6]]},"1194":{"position":[[2461,6],[3579,6],[3620,6]]},"1195":{"position":[[2439,6],[3557,6],[3598,6]]},"1196":{"position":[[2249,6],[3367,6],[3408,6]]},"1197":{"position":[[3232,6],[4350,6],[4391,6]]},"1198":{"position":[[3242,6],[4360,6],[4401,6]]},"1199":{"position":[[3270,6],[4388,6],[4429,6]]},"1200":{"position":[[3137,6],[4255,6],[4296,6]]},"1201":{"position":[[2397,6],[3515,6],[3556,6]]},"1202":{"position":[[3539,6],[4657,6],[4698,6],[7936,6],[9054,6],[9095,6]]},"1203":{"position":[[2631,6],[3749,6],[3790,6]]},"1204":{"position":[[2475,6],[3593,6],[3634,6]]},"1205":{"position":[[3804,6],[4922,6],[4963,6]]},"1206":{"position":[[2275,6],[3393,6],[3434,6]]},"1207":{"position":[[2432,6],[3550,6],[3591,6]]},"1209":{"position":[[3780,6],[4898,6],[4939,6]]},"1217":{"position":[[7091,6],[8209,6],[8250,6]]},"1219":{"position":[[358,6],[433,7],[3077,6],[3464,6],[3505,6]]},"1222":{"position":[[2201,6],[3319,6],[3360,6]]},"1223":{"position":[[2211,6],[3329,6],[3370,6]]},"1224":{"position":[[2391,6],[2778,6],[2819,6]]},"1226":{"position":[[7559,6],[8677,6],[8718,6]]},"1228":{"position":[[9172,6],[10290,6],[10331,6]]},"1235":{"position":[[5040,6],[6158,6],[6199,6]]},"1237":{"position":[[7729,6],[8847,6],[8888,6]]},"1354":{"position":[[2815,6]]}},"keywords":{}}],["record(**kwarg",{"_index":3299,"title":{},"content":{"663":{"position":[[4,16]]}},"keywords":{}}],["record(host=field(str",{"_index":3152,"title":{},"content":{"642":{"position":[[123,23]]}},"keywords":{}}],["record(host=str",{"_index":3301,"title":{},"content":{"663":{"position":[[135,16],[977,16]]},"901":{"position":[[98,16],[931,16]]}},"keywords":{}}],["record(nam",{"_index":5672,"title":{},"content":{"1104":{"position":[[2395,11]]}},"keywords":{}}],["record_video",{"_index":6530,"title":{},"content":{"1354":{"position":[[1058,13]]}},"keywords":{}}],["recov",{"_index":5523,"title":{},"content":{"1075":{"position":[[471,7]]}},"keywords":{}}],["recur",{"_index":5544,"title":{},"content":{"1079":{"position":[[868,9]]}},"keywords":{}}],["recurs",{"_index":2238,"title":{},"content":{"418":{"position":[[329,12]]},"797":{"position":[[329,12]]},"1026":{"position":[[1502,9]]},"1186":{"position":[[175,9]]},"1187":{"position":[[188,9]]},"1198":{"position":[[180,11]]},"1226":{"position":[[1965,9],[2066,12]]},"1237":{"position":[[2135,9],[2236,12]]},"1243":{"position":[[99,9],[543,9],[568,9],[675,9],[878,9],[1071,9],[1166,9]]}},"keywords":{}}],["red",{"_index":3377,"title":{},"content":{"675":{"position":[[741,3]]}},"keywords":{}}],["reduc",{"_index":3371,"title":{"1250":{"position":[[9,6]]}},"content":{"675":{"position":[[32,6],[803,7]]},"715":{"position":[[689,6]]},"870":{"position":[[794,8]]},"1086":{"position":[[217,7]]},"1256":{"position":[[39,6]]},"1355":{"position":[[6109,8],[7122,8]]},"1393":{"position":[[5583,6]]},"1427":{"position":[[5282,8],[6321,8]]}},"keywords":{}}],["reduce/elimin",{"_index":4061,"title":{},"content":{"870":{"position":[[575,16],[1057,16]]}},"keywords":{}}],["reduct",{"_index":748,"title":{"1086":{"position":[[15,11]]}},"content":{"23":{"position":[[2332,9]]},"448":{"position":[[113,11]]},"827":{"position":[[113,11]]},"1086":{"position":[[51,10],[190,10],[654,10]]},"1087":{"position":[[372,11]]},"1090":{"position":[[73,10]]},"1091":{"position":[[16,10]]},"1386":{"position":[[2260,9]]}},"keywords":{}}],["reexport_all_header_depend",{"_index":6765,"title":{},"content":{"1362":{"position":[[3976,33]]},"1364":{"position":[[3964,33],[6815,32],[13100,33]]},"1367":{"position":[[5233,33]]},"1384":{"position":[[3618,33],[5860,32],[18031,33]]},"1387":{"position":[[3550,33]]},"1454":{"position":[[4708,32]]},"1455":{"position":[[2356,32]]}},"keywords":{}}],["ref",{"_index":2399,"title":{},"content":{"447":{"position":[[42,5]]},"826":{"position":[[42,5]]},"889":{"position":[[146,3]]},"898":{"position":[[853,3],[1061,3],[1992,3]]},"1004":{"position":[[987,5],[1882,4]]},"1009":{"position":[[471,5],[727,4]]}},"keywords":{}}],["refactor",{"_index":4839,"title":{},"content":{"977":{"position":[[149,11]]},"1071":{"position":[[1449,11]]}},"keywords":{}}],["refer",{"_index":1294,"title":{"885":{"position":[[15,10]]},"888":{"position":[[5,11]]}},"content":{"107":{"position":[[37,9]]},"112":{"position":[[43,9]]},"126":{"position":[[350,10]]},"249":{"position":[[350,10]]},"406":{"position":[[85,9]]},"519":{"position":[[37,9]]},"524":{"position":[[43,9]]},"584":{"position":[[79,9]]},"622":{"position":[[735,9],[822,9],[1091,5],[1168,5]]},"681":{"position":[[1001,8]]},"688":{"position":[[30,10],[1362,5]]},"689":{"position":[[264,9]]},"693":{"position":[[8576,10]]},"695":{"position":[[209,9]]},"717":{"position":[[22,8]]},"718":{"position":[[499,9]]},"785":{"position":[[85,9]]},"873":{"position":[[273,10]]},"886":{"position":[[549,10]]},"887":{"position":[[125,10]]},"888":{"position":[[158,9],[866,10],[1055,10],[1121,9],[1245,9],[1403,10]]},"889":{"position":[[699,9],[1195,11]]},"890":{"position":[[2916,6],[6898,9]]},"898":{"position":[[1529,9]]},"938":{"position":[[140,8]]},"951":{"position":[[1329,5]]},"955":{"position":[[174,11]]},"995":{"position":[[1146,5]]},"1004":{"position":[[487,10],[819,10]]},"1005":{"position":[[63,9]]},"1017":{"position":[[667,9]]},"1045":{"position":[[354,5]]},"1075":{"position":[[245,11]]},"1112":{"position":[[610,9]]},"1114":{"position":[[782,5]]},"1226":{"position":[[1203,9]]},"1237":{"position":[[1373,9]]},"1243":{"position":[[249,9]]},"1262":{"position":[[234,6]]},"1293":{"position":[[234,6]]},"1321":{"position":[[234,6]]},"1351":{"position":[[4064,10],[4180,9]]},"1356":{"position":[[3020,9]]},"1358":{"position":[[3211,9]]},"1361":{"position":[[1849,9],[2101,9]]},"1367":{"position":[[13994,9]]},"1374":{"position":[[2781,9]]},"1382":{"position":[[4773,5]]},"1383":{"position":[[4393,10],[5673,5]]},"1388":{"position":[[4753,10],[4951,5],[5467,5],[6137,10],[6361,5]]},"1393":{"position":[[2247,9],[2867,10],[3687,10]]},"1395":{"position":[[736,5],[2206,5],[3074,5]]},"1396":{"position":[[1450,9],[1479,9],[1512,9]]},"1397":{"position":[[715,5]]},"1398":{"position":[[2539,9]]},"1399":{"position":[[1625,12],[1815,11],[2297,5]]},"1422":{"position":[[3212,5]]},"1442":{"position":[[1763,5]]},"1448":{"position":[[2095,10]]},"1449":{"position":[[2029,10]]},"1455":{"position":[[3094,5],[3265,5],[3763,5],[4162,5]]},"1458":{"position":[[1093,9]]},"1467":{"position":[[6490,10],[6714,5]]}},"keywords":{}}],["referenc",{"_index":957,"title":{},"content":{"67":{"position":[[80,10]]},"68":{"position":[[84,10]]},"406":{"position":[[540,10],[718,10]]},"455":{"position":[[80,10]]},"456":{"position":[[84,10]]},"584":{"position":[[364,10]]},"622":{"position":[[246,10]]},"638":{"position":[[1187,10]]},"785":{"position":[[540,10],[718,10]]},"887":{"position":[[287,10]]},"888":{"position":[[45,10]]},"890":{"position":[[1565,10],[2986,10]]},"902":{"position":[[1172,10]]},"1007":{"position":[[97,10]]},"1040":{"position":[[378,10]]},"1067":{"position":[[143,10]]},"1226":{"position":[[698,10]]},"1237":{"position":[[868,10]]},"1272":{"position":[[185,10]]},"1303":{"position":[[185,10]]},"1331":{"position":[[185,10]]},"1355":{"position":[[5436,10]]},"1393":{"position":[[8516,10]]},"1399":{"position":[[1501,10]]},"1455":{"position":[[3486,10],[3984,10],[4395,10]]},"1469":{"position":[[2764,10]]},"1486":{"position":[[3012,10]]}},"keywords":{}}],["reference.us",{"_index":4165,"title":{},"content":{"888":{"position":[[545,13]]}},"keywords":{}}],["refin",{"_index":4709,"title":{},"content":{"944":{"position":[[1948,7]]},"1013":{"position":[[339,8],[435,8],[511,8],[556,7],[601,8]]}},"keywords":{}}],["reflect",{"_index":5597,"title":{},"content":{"1088":{"position":[[143,9]]},"1150":{"position":[[294,9]]},"1383":{"position":[[8323,10]]}},"keywords":{}}],["refresh",{"_index":5525,"title":{},"content":{"1075":{"position":[[658,10]]},"1204":{"position":[[165,7],[177,7],[209,9],[7246,8],[7304,7],[8236,7],[8269,9],[8332,7]]}},"keywords":{}}],["refs.os[constraintsettinginfo",{"_index":4999,"title":{},"content":{"1004":{"position":[[1075,30]]}},"keywords":{}}],["refs.watchos[constraintvalueinfo",{"_index":5000,"title":{},"content":{"1004":{"position":[[1144,33]]}},"keywords":{}}],["refs=ref",{"_index":5016,"title":{},"content":{"1004":{"position":[[2168,11],[2180,10],[2216,10]]}},"keywords":{}}],["refus",{"_index":5127,"title":{},"content":{"1037":{"position":[[460,6]]}},"keywords":{}}],["regard",{"_index":5088,"title":{},"content":{"1026":{"position":[[966,9]]},"1136":{"position":[[5982,9]]},"1138":{"position":[[9644,9]]},"1140":{"position":[[8570,9]]},"1142":{"position":[[4014,9]]},"1146":{"position":[[3954,9]]},"1148":{"position":[[6994,9]]},"1155":{"position":[[4050,9]]},"1156":{"position":[[3628,9]]},"1163":{"position":[[588,9]]},"1165":{"position":[[417,9]]},"1167":{"position":[[9574,9]]},"1169":{"position":[[2682,9]]},"1186":{"position":[[5218,9]]},"1187":{"position":[[5231,9]]},"1188":{"position":[[9957,9]]},"1191":{"position":[[3818,9]]},"1192":{"position":[[3993,9]]},"1193":{"position":[[4045,9]]},"1194":{"position":[[3685,9]]},"1195":{"position":[[3663,9]]},"1196":{"position":[[3473,9]]},"1197":{"position":[[4456,9]]},"1198":{"position":[[4466,9]]},"1199":{"position":[[4494,9]]},"1200":{"position":[[4361,9]]},"1201":{"position":[[3621,9]]},"1202":{"position":[[4763,9],[9160,9]]},"1203":{"position":[[3855,9]]},"1204":{"position":[[3699,9]]},"1205":{"position":[[5028,9]]},"1206":{"position":[[3499,9]]},"1207":{"position":[[3656,9]]},"1209":{"position":[[5004,9]]},"1217":{"position":[[8315,9]]},"1219":{"position":[[3570,9]]},"1222":{"position":[[3425,9]]},"1223":{"position":[[3435,9]]},"1224":{"position":[[2884,9]]},"1226":{"position":[[8783,9]]},"1228":{"position":[[10396,9]]},"1235":{"position":[[6264,9]]},"1237":{"position":[[8953,9]]}},"keywords":{}}],["regardless",{"_index":2328,"title":{},"content":{"433":{"position":[[167,10]]},"704":{"position":[[1048,10]]},"705":{"position":[[769,10]]},"812":{"position":[[167,10]]},"856":{"position":[[392,11]]},"866":{"position":[[62,11]]},"1000":{"position":[[792,10]]},"1138":{"position":[[3672,10]]},"1140":{"position":[[3161,10]]},"1167":{"position":[[4165,10]]},"1188":{"position":[[3214,10]]},"1217":{"position":[[2906,10]]},"1228":{"position":[[678,10],[877,10],[4987,10]]},"1362":{"position":[[9954,10]]},"1364":{"position":[[11068,10]]},"1367":{"position":[[10871,10]]},"1382":{"position":[[6680,10]]},"1384":{"position":[[13034,10]]},"1388":{"position":[[7549,10]]}},"keywords":{}}],["regener",{"_index":4751,"title":{},"content":{"955":{"position":[[410,10]]}},"keywords":{}}],["regex",{"_index":1777,"title":{"434":{"position":[[0,6]]},"813":{"position":[[0,6]]}},"content":{"326":{"position":[[392,6]]},"330":{"position":[[30,6]]},"332":{"position":[[28,6]]},"434":{"position":[[4,6],[11,6]]},"467":{"position":[[273,6]]},"471":{"position":[[30,6]]},"473":{"position":[[28,6]]},"813":{"position":[[4,6],[11,6]]},"944":{"position":[[463,5]]},"1226":{"position":[[4561,5]]},"1237":{"position":[[4731,5]]},"1259":{"position":[[852,5],[1109,6]]},"1269":{"position":[[13,5]]},"1271":{"position":[[152,6]]},"1290":{"position":[[852,5],[1109,6]]},"1300":{"position":[[13,5]]},"1302":{"position":[[152,6]]},"1318":{"position":[[852,5],[1109,6]]},"1328":{"position":[[13,5]]},"1330":{"position":[[152,6]]},"1362":{"position":[[11359,5],[11728,5],[11782,5],[11897,5],[12168,5],[12449,6]]},"1364":{"position":[[8350,5],[8404,5],[8519,5],[12326,5],[12673,5],[12954,6]]},"1367":{"position":[[11729,5],[12076,5],[12357,6]]},"1373":{"position":[[6381,5],[6749,5],[6803,5],[6918,5],[7208,5]]},"1382":{"position":[[8228,5],[8578,5],[8872,6],[9069,5],[9123,5],[9238,5],[9529,5],[9884,5],[10165,6]]},"1384":{"position":[[7505,5],[7726,6],[7919,5],[8260,6],[8536,5],[8590,5],[8705,5],[9083,5],[9343,6],[14573,5],[14923,5],[15217,6],[15414,5],[15468,5],[15583,5],[15874,5],[16229,5],[16510,6],[19303,5]]},"1385":{"position":[[4458,5],[4807,5],[5101,6],[5297,5],[5351,5],[5466,5],[5756,5],[6110,5],[6391,6]]},"1387":{"position":[[7831,5],[8180,5],[8474,6],[8670,5],[8724,5],[8839,5],[9129,5],[9483,5],[9764,6]]},"1415":{"position":[[4340,5],[4708,5],[4762,5],[4877,5],[5280,5]]},"1416":{"position":[[3196,5],[3399,6]]},"1420":{"position":[[2333,5],[2536,6]]},"1422":{"position":[[1842,5]]},"1448":{"position":[[2279,5],[2482,6]]},"1449":{"position":[[2213,5],[2416,6]]},"1454":{"position":[[5905,5],[6126,6],[6318,5],[6659,6],[6871,5],[7131,6],[8041,5],[8353,5],[8673,5],[9316,5]]},"1455":{"position":[[2676,5],[2897,6]]},"1465":{"position":[[3270,5],[3376,5],[3681,5],[3785,5]]},"1467":{"position":[[9539,5],[9645,5]]},"1485":{"position":[[2842,5],[3136,6]]},"1487":{"position":[[1597,5],[1693,7]]}},"keywords":{}}],["regex_match",{"_index":2331,"title":{"435":{"position":[[0,12]]},"814":{"position":[[0,12]]}},"content":{},"keywords":{}}],["regex_match("^[a",{"_index":2334,"title":{},"content":{"435":{"position":[[161,21],[222,21]]},"814":{"position":[[161,21],[222,21]]}},"keywords":{}}],["regex_match(regex",{"_index":2332,"title":{},"content":{"435":{"position":[[4,18]]},"814":{"position":[[4,18]]}},"keywords":{}}],["regist",{"_index":835,"title":{},"content":{"36":{"position":[[136,10]]},"181":{"position":[[136,10]]},"209":{"position":[[77,8]]},"298":{"position":[[651,8]]},"344":{"position":[[211,10]]},"443":{"position":[[83,8]]},"822":{"position":[[83,8]]},"949":{"position":[[107,11]]},"964":{"position":[[191,8],[695,10]]},"981":{"position":[[0,8],[819,10]]},"998":{"position":[[71,10],[278,10]]},"1001":{"position":[[1259,10]]},"1065":{"position":[[193,10]]}},"keywords":{}}],["regress",{"_index":395,"title":{},"content":{"12":{"position":[[170,10]]},"920":{"position":[[136,7],[464,11]]}},"keywords":{}}],["regular",{"_index":2161,"title":{},"content":{"405":{"position":[[2452,7]]},"408":{"position":[[1195,7],[1218,7]]},"435":{"position":[[63,7],[113,7]]},"784":{"position":[[2452,7]]},"787":{"position":[[1195,7],[1218,7]]},"814":{"position":[[63,7],[113,7]]},"870":{"position":[[261,7]]},"935":{"position":[[36,7]]},"950":{"position":[[596,7]]},"964":{"position":[[480,7]]},"990":{"position":[[730,7]]},"991":{"position":[[2901,7]]},"1031":{"position":[[753,7]]},"1093":{"position":[[59,7]]},"1098":{"position":[[824,7]]},"1131":{"position":[[112,7],[557,7]]},"1136":{"position":[[1408,7],[1449,7],[1632,7]]},"1148":{"position":[[1764,7],[1805,7],[1988,7]]},"1172":{"position":[[1444,7]]},"1173":{"position":[[744,7]]},"1205":{"position":[[888,7],[929,7],[1112,7]]},"1209":{"position":[[641,7],[682,7],[865,7]]},"1226":{"position":[[2581,7],[2622,7],[2805,7],[4582,7],[4727,7]]},"1235":{"position":[[1901,7],[1942,7],[2125,7]]},"1237":{"position":[[2751,7],[2792,7],[2975,7],[4752,7],[4897,7]]},"1271":{"position":[[190,7]]},"1302":{"position":[[190,7]]},"1330":{"position":[[190,7]]},"1383":{"position":[[3558,7],[3902,7],[4190,7]]},"1393":{"position":[[7030,7]]},"1471":{"position":[[4456,7]]},"1472":{"position":[[5040,7]]},"1473":{"position":[[4777,7]]}},"keywords":{}}],["regular/exec",{"_index":4909,"title":{},"content":{"990":{"position":[[1371,12]]}},"keywords":{}}],["regularli",{"_index":5534,"title":{},"content":{"1079":{"position":[[342,10]]}},"keywords":{}}],["reindeer",{"_index":425,"title":{},"content":{"13":{"position":[[254,8],[350,8],[418,8]]}},"keywords":{}}],["reject",{"_index":1350,"title":{},"content":{"130":{"position":[[91,7]]},"253":{"position":[[91,7]]},"1138":{"position":[[2341,6],[2460,6]]},"1140":{"position":[[1830,6],[1949,6]]},"1167":{"position":[[2834,6],[2953,6]]},"1188":{"position":[[1883,6],[2002,6]]},"1217":{"position":[[1575,6],[1694,6]]},"1228":{"position":[[3656,6],[3775,6]]},"1386":{"position":[[5321,6]]}},"keywords":{}}],["rel",{"_index":848,"title":{},"content":{"40":{"position":[[228,8]]},"50":{"position":[[121,8]]},"51":{"position":[[60,8]]},"69":{"position":[[138,8],[261,8],[354,8],[433,8]]},"86":{"position":[[229,8]]},"94":{"position":[[2111,8],[2263,8],[2434,8],[4244,8],[4284,8]]},"96":{"position":[[227,8]]},"173":{"position":[[228,8]]},"197":{"position":[[121,8]]},"198":{"position":[[60,8]]},"218":{"position":[[229,8]]},"226":{"position":[[2111,8],[2263,8],[2434,8],[4244,8],[4284,8]]},"228":{"position":[[227,8]]},"279":{"position":[[202,8]]},"288":{"position":[[488,8]]},"289":{"position":[[85,8],[154,8],[508,8],[601,8],[774,8]]},"292":{"position":[[33,8]]},"304":{"position":[[445,8]]},"319":{"position":[[96,8]]},"320":{"position":[[514,8]]},"374":{"position":[[1228,8]]},"405":{"position":[[2381,8]]},"408":{"position":[[668,8],[791,8],[893,8],[980,8]]},"416":{"position":[[223,8]]},"417":{"position":[[452,8]]},"457":{"position":[[138,8],[261,8],[354,8],[433,8]]},"510":{"position":[[554,8]]},"511":{"position":[[111,8],[180,8],[574,8],[667,8],[837,8]]},"584":{"position":[[883,8]]},"688":{"position":[[266,8],[288,8]]},"693":{"position":[[8898,9]]},"699":{"position":[[165,8]]},"717":{"position":[[338,8]]},"753":{"position":[[1228,8]]},"784":{"position":[[2381,8]]},"787":{"position":[[668,8],[791,8],[893,8],[980,8]]},"795":{"position":[[223,8]]},"796":{"position":[[452,8]]},"834":{"position":[[35,8]]},"872":{"position":[[349,8]]},"1032":{"position":[[215,8]]},"1050":{"position":[[1365,8],[2445,8]]},"1070":{"position":[[231,8]]},"1073":{"position":[[97,8]]},"1112":{"position":[[1738,8],[4922,8]]},"1138":{"position":[[210,8],[395,8],[557,8],[2104,8],[2138,8]]},"1140":{"position":[[1593,8],[1627,8]]},"1167":{"position":[[2597,8],[2631,8]]},"1188":{"position":[[1646,8],[1680,8]]},"1195":{"position":[[189,8]]},"1217":{"position":[[1338,8],[1372,8]]},"1226":{"position":[[3389,8],[3574,8],[3736,8]]},"1228":{"position":[[1107,8],[1263,8],[3419,8],[3453,8]]},"1237":{"position":[[3559,8],[3744,8],[3906,8]]},"1240":{"position":[[325,8],[482,8]]},"1258":{"position":[[459,8]]},"1289":{"position":[[459,8]]},"1317":{"position":[[459,8]]},"1360":{"position":[[3508,8],[3537,8]]},"1362":{"position":[[8241,8]]},"1364":{"position":[[9090,8]]},"1367":{"position":[[8329,8]]},"1373":{"position":[[5964,9]]},"1382":{"position":[[6393,8]]},"1383":{"position":[[4730,8],[4820,8]]},"1384":{"position":[[11340,8],[17050,8],[17352,8]]},"1385":{"position":[[3104,8]]},"1387":{"position":[[5381,8]]},"1388":{"position":[[7262,8]]},"1401":{"position":[[1532,8]]},"1402":{"position":[[2067,8]]},"1403":{"position":[[2923,8],[2952,8],[5429,8]]},"1405":{"position":[[3288,9]]},"1407":{"position":[[3709,9],[4155,8]]},"1408":{"position":[[2328,9]]},"1410":{"position":[[4696,9]]},"1427":{"position":[[7936,8]]},"1439":{"position":[[8760,8]]},"1444":{"position":[[1731,8]]},"1455":{"position":[[3537,5],[4883,6],[4905,6]]},"1462":{"position":[[5605,8],[7184,8]]},"1465":{"position":[[2535,8]]},"1467":{"position":[[6100,8],[8153,8]]},"1470":{"position":[[4713,8]]},"1477":{"position":[[1821,9],[2545,8]]},"1478":{"position":[[2527,9]]},"1485":{"position":[[2673,8]]},"1487":{"position":[[2514,8],[2590,8]]}},"keywords":{}}],["rel(4))binari",{"_index":7584,"title":{},"content":{"1397":{"position":[[3105,13]]}},"keywords":{}}],["rel(4))boot",{"_index":7582,"title":{},"content":{"1397":{"position":[[3068,11]]}},"keywords":{}}],["rel_name="rel1"",{"_index":7588,"title":{},"content":{"1397":{"position":[[3289,25]]}},"keywords":{}}],["rel_path",{"_index":3827,"title":{},"content":{"834":{"position":[[126,11]]}},"keywords":{}}],["rel_vsn="1.0.0"",{"_index":7589,"title":{},"content":{"1397":{"position":[[3315,25]]}},"keywords":{}}],["relat",{"_index":670,"title":{},"content":{"22":{"position":[[1290,6]]},"374":{"position":[[2081,7]]},"753":{"position":[[2081,7]]},"886":{"position":[[46,7]]},"1004":{"position":[[122,7]]},"1052":{"position":[[1106,7]]},"1383":{"position":[[1461,7]]},"1386":{"position":[[2495,7]]}},"keywords":{}}],["relationship",{"_index":3451,"title":{},"content":{"689":{"position":[[68,13]]},"1353":{"position":[[2351,12]]},"1393":{"position":[[5528,13]]}},"keywords":{}}],["relative_to",{"_index":2134,"title":{},"content":{"405":{"position":[[685,12]]},"784":{"position":[[685,12]]}},"keywords":{}}],["relative_to=(dir",{"_index":2188,"title":{},"content":{"408":{"position":[[618,17]]},"787":{"position":[[618,17]]}},"keywords":{}}],["relative_to=dir",{"_index":2187,"title":{},"content":{"408":{"position":[[599,15],[1124,17]]},"787":{"position":[[599,15],[1124,17]]}},"keywords":{}}],["relative—to",{"_index":3409,"title":{},"content":{"680":{"position":[[1197,11]]}},"keywords":{}}],["releas",{"_index":440,"title":{},"content":{"15":{"position":[[65,7],[113,7]]},"24":{"position":[[981,7]]},"377":{"position":[[1022,7]]},"756":{"position":[[1022,7]]},"937":{"position":[[4101,9]]},"942":{"position":[[911,7]]},"969":{"position":[[176,7]]},"1052":{"position":[[1077,7]]},"1136":{"position":[[798,7]]},"1138":{"position":[[41,7]]},"1140":{"position":[[29,7]]},"1142":{"position":[[89,7]]},"1144":{"position":[[180,7]]},"1146":{"position":[[59,7]]},"1148":{"position":[[1154,7]]},"1150":{"position":[[482,7]]},"1152":{"position":[[64,7]]},"1154":{"position":[[54,7]]},"1155":{"position":[[66,7]]},"1156":{"position":[[151,7]]},"1157":{"position":[[50,7]]},"1158":{"position":[[44,7]]},"1159":{"position":[[44,7]]},"1161":{"position":[[40,7]]},"1163":{"position":[[227,7]]},"1165":{"position":[[53,7]]},"1167":{"position":[[46,7]]},"1169":{"position":[[52,7]]},"1171":{"position":[[54,7]]},"1172":{"position":[[841,7]]},"1173":{"position":[[138,7]]},"1174":{"position":[[49,7]]},"1175":{"position":[[69,7]]},"1176":{"position":[[154,7]]},"1177":{"position":[[62,7]]},"1178":{"position":[[206,7]]},"1179":{"position":[[76,7]]},"1180":{"position":[[406,7]]},"1181":{"position":[[107,7]]},"1182":{"position":[[102,7]]},"1183":{"position":[[59,7]]},"1185":{"position":[[35,7]]},"1186":{"position":[[30,7]]},"1187":{"position":[[44,7]]},"1188":{"position":[[32,7]]},"1190":{"position":[[41,7]]},"1191":{"position":[[70,7]]},"1192":{"position":[[253,7]]},"1193":{"position":[[31,7]]},"1194":{"position":[[58,7]]},"1195":{"position":[[64,7]]},"1196":{"position":[[53,7]]},"1197":{"position":[[59,7]]},"1198":{"position":[[34,7]]},"1199":{"position":[[55,7]]},"1200":{"position":[[72,7]]},"1201":{"position":[[115,7]]},"1202":{"position":[[40,7],[1265,7],[5675,7]]},"1203":{"position":[[55,7]]},"1204":{"position":[[64,7],[4531,7],[5447,7],[6363,7],[7268,7],[8292,7],[9210,7],[10166,7]]},"1205":{"position":[[265,7]]},"1206":{"position":[[110,7]]},"1207":{"position":[[127,7]]},"1209":{"position":[[32,7]]},"1211":{"position":[[53,7]]},"1213":{"position":[[55,7]]},"1215":{"position":[[26,7]]},"1217":{"position":[[177,7]]},"1219":{"position":[[755,7]]},"1221":{"position":[[37,7]]},"1222":{"position":[[38,7]]},"1223":{"position":[[43,7]]},"1224":{"position":[[236,7]]},"1226":{"position":[[34,7]]},"1228":{"position":[[50,7]]},"1235":{"position":[[1291,7]]},"1237":{"position":[[203,7]]},"1247":{"position":[[123,8]]},"1351":{"position":[[3655,7],[4973,8],[5109,8],[5171,8],[5257,8],[5583,10],[5609,10]]},"1353":{"position":[[3173,10]]},"1354":{"position":[[3312,10]]},"1360":{"position":[[6089,10]]},"1397":{"position":[[698,9],[769,9],[1695,7],[1970,8],[2090,7],[2420,8],[2479,7],[2608,7],[2748,7],[2769,7],[2800,7],[3199,7],[3381,7],[3438,7]]}},"keywords":{}}],["release"",{"_index":4559,"title":{},"content":{"927":{"position":[[61,14],[144,14]]}},"keywords":{}}],["release=//config:linux",{"_index":4820,"title":{},"content":{"969":{"position":[[146,22]]}},"keywords":{}}],["release_nam",{"_index":7569,"title":{},"content":{"1397":{"position":[[600,13],[3402,12]]}},"keywords":{}}],["release_vari",{"_index":7586,"title":{},"content":{"1397":{"position":[[3167,17]]}},"keywords":{}}],["releasereleas",{"_index":7580,"title":{},"content":{"1397":{"position":[[3014,14]]}},"keywords":{}}],["relev",{"_index":598,"title":{},"content":{"18":{"position":[[2124,8]]},"711":{"position":[[1372,8]]},"722":{"position":[[78,8]]},"980":{"position":[[1414,9]]},"993":{"position":[[33,8]]},"994":{"position":[[43,8]]},"995":{"position":[[44,8]]},"1000":{"position":[[170,8]]},"1058":{"position":[[445,8]]},"1061":{"position":[[39,8]]},"1228":{"position":[[1797,8]]},"1395":{"position":[[3002,8]]},"1398":{"position":[[4081,8]]},"1405":{"position":[[3112,8]]},"1407":{"position":[[3533,8]]},"1410":{"position":[[4114,8]]}},"keywords":{}}],["reli",{"_index":4756,"title":{},"content":{"955":{"position":[[1138,4]]},"994":{"position":[[355,4]]},"1123":{"position":[[71,7]]},"1381":{"position":[[1758,4]]},"1398":{"position":[[6496,4]]}},"keywords":{}}],["relinker_whitelist",{"_index":6371,"title":{},"content":{"1348":{"position":[[2179,19]]},"1350":{"position":[[3376,19]]},"1352":{"position":[[3375,19]]}},"keywords":{}}],["remain",{"_index":4195,"title":{},"content":{"889":{"position":[[1270,7]]},"890":{"position":[[139,7]]},"898":{"position":[[143,7]]}},"keywords":{}}],["remap_cwd",{"_index":7394,"title":{},"content":{"1389":{"position":[[3464,10]]}},"keywords":{}}],["rememb",{"_index":4834,"title":{},"content":{"975":{"position":[[316,10]]},"1077":{"position":[[93,8]]},"1103":{"position":[[1321,11]]}},"keywords":{}}],["remiss",{"_index":389,"title":{},"content":{"12":{"position":[[43,6]]}},"keywords":{}}],["remot",{"_index":235,"title":{"1070":{"position":[[21,6]]},"1344":{"position":[[0,6]]}},"content":{"9":{"position":[[1366,6]]},"22":{"position":[[1420,6]]},"23":{"position":[[376,6],[449,6],[599,6]]},"24":{"position":[[379,6],[428,6],[496,6]]},"94":{"position":[[3269,6],[3490,8],[3784,6]]},"226":{"position":[[3269,6],[3490,8],[3784,6]]},"314":{"position":[[309,8],[409,9]]},"362":{"position":[[1226,6],[1362,6],[1739,6],[1879,6],[2794,6],[2858,6]]},"406":{"position":[[820,9]]},"693":{"position":[[4562,7],[4760,6],[6758,6],[6817,6]]},"702":{"position":[[385,6],[444,6]]},"704":{"position":[[2107,9]]},"706":{"position":[[1635,7],[1679,8],[1771,8]]},"724":{"position":[[313,6],[850,8],[906,9],[1397,6]]},"741":{"position":[[1226,6],[1362,6],[1739,6],[1879,6],[2794,6],[2858,6]]},"785":{"position":[[820,9]]},"861":{"position":[[273,8],[338,6]]},"867":{"position":[[1741,6]]},"1035":{"position":[[428,6]]},"1070":{"position":[[23,6]]},"1075":{"position":[[62,6],[170,6],[317,6]]},"1077":{"position":[[205,6]]},"1120":{"position":[[700,6]]},"1126":{"position":[[1620,6]]},"1138":{"position":[[2413,6],[2437,6],[2495,8],[2626,6],[2705,8],[2752,6],[2834,6],[2862,6],[2903,6],[3811,9]]},"1140":{"position":[[1902,6],[1926,6],[1984,8],[2115,6],[2194,8],[2241,6],[2323,6],[2351,6],[2392,6],[3300,9]]},"1167":{"position":[[2906,6],[2930,6],[2988,8],[3119,6],[3198,8],[3245,6],[3327,6],[3355,6],[3396,6],[4304,9]]},"1172":{"position":[[1068,6],[1105,6],[1360,6]]},"1173":{"position":[[368,6],[405,6],[660,6]]},"1174":{"position":[[272,6],[309,6]]},"1175":{"position":[[292,6],[329,6]]},"1176":{"position":[[376,6],[413,6]]},"1177":{"position":[[288,6],[325,6]]},"1178":{"position":[[442,6],[479,6]]},"1179":{"position":[[308,6],[345,6]]},"1180":{"position":[[638,6],[675,6]]},"1181":{"position":[[393,6],[430,6]]},"1182":{"position":[[330,6],[367,6]]},"1183":{"position":[[285,6],[322,6]]},"1188":{"position":[[1955,6],[1979,6],[2037,8],[2168,6],[2247,8],[2294,6],[2376,6],[2404,6],[2445,6],[3353,9]]},"1217":{"position":[[1647,6],[1671,6],[1729,8],[1860,6],[1939,8],[1986,6],[2068,6],[2096,6],[2137,6],[3045,9]]},"1228":{"position":[[3728,6],[3752,6],[3810,8],[3941,6],[4020,8],[4067,6],[4149,6],[4177,6],[4218,6],[5126,9]]},"1345":{"position":[[18,6]]},"1346":{"position":[[276,6],[526,8]]},"1360":{"position":[[1133,7]]},"1362":{"position":[[9944,9],[10339,8],[10364,6]]},"1364":{"position":[[11058,9],[11453,8],[11478,6]]},"1367":{"position":[[10861,9],[11256,8],[11281,6]]},"1382":{"position":[[6670,9],[7065,8],[7090,6]]},"1383":{"position":[[1011,7]]},"1384":{"position":[[13024,9],[13419,8],[13444,6]]},"1388":{"position":[[7539,9],[7934,8],[7959,6]]},"1403":{"position":[[1036,7],[6061,7],[6093,6],[6158,8]]},"1424":{"position":[[892,7]]},"1432":{"position":[[1030,7]]}},"keywords":{}}],["remote.rev",{"_index":7714,"title":{},"content":{"1404":{"position":[[1442,11]]}},"keywords":{}}],["remote_cache_en",{"_index":1874,"title":{},"content":{"362":{"position":[[73,21]]},"741":{"position":[[73,21]]}},"keywords":{}}],["remote_dep_file_cache_en",{"_index":1875,"title":{},"content":{"362":{"position":[[115,30]]},"741":{"position":[[115,30]]}},"keywords":{}}],["remote_en",{"_index":1873,"title":{},"content":{"362":{"position":[[51,15],[1121,14]]},"741":{"position":[[51,15],[1121,14]]},"1072":{"position":[[678,14],[1029,14],[1208,14]]},"1346":{"position":[[360,14]]}},"keywords":{}}],["remote_execut",{"_index":7308,"title":{},"content":{"1388":{"position":[[2983,17]]},"1398":{"position":[[893,17]]},"1410":{"position":[[1175,17]]},"1429":{"position":[[1553,17]]},"1440":{"position":[[1754,17]]},"1466":{"position":[[566,17]]},"1467":{"position":[[4038,17]]},"1470":{"position":[[2075,17]]},"1473":{"position":[[1512,17]]},"1478":{"position":[[671,17]]}},"keywords":{}}],["remote_execution_action_key",{"_index":1877,"title":{},"content":{"362":{"position":[[196,27]]},"741":{"position":[[196,27]]}},"keywords":{}}],["remote_execution_action_key_provid",{"_index":7309,"title":{},"content":{"1388":{"position":[[3094,38]]},"1410":{"position":[[1286,38]]},"1429":{"position":[[1664,38]]},"1440":{"position":[[1865,38]]},"1466":{"position":[[677,38]]},"1467":{"position":[[4149,38]]},"1470":{"position":[[2186,38]]},"1473":{"position":[[1623,38]]},"1478":{"position":[[782,38]]}},"keywords":{}}],["remote_execution_depend",{"_index":1188,"title":{},"content":{"94":{"position":[[1105,30],[3713,30]]},"226":{"position":[[1105,30],[3713,30]]},"362":{"position":[[817,30]]},"741":{"position":[[817,30]]},"1360":{"position":[[1158,30]]},"1383":{"position":[[1036,30]]},"1403":{"position":[[1061,30]]},"1424":{"position":[[917,30]]},"1432":{"position":[[1055,30]]}},"keywords":{}}],["remote_execution_max_input_files_mebibyt",{"_index":1878,"title":{},"content":{"362":{"position":[[232,43]]},"741":{"position":[[232,43]]}},"keywords":{}}],["remote_execution_properti",{"_index":1876,"title":{},"content":{"362":{"position":[[160,27]]},"741":{"position":[[160,27]]},"1072":{"position":[[701,27],[1231,27]]}},"keywords":{}}],["remote_execution_queue_time_threshold_",{"_index":1879,"title":{},"content":{"362":{"position":[[295,40]]},"741":{"position":[[295,40]]}},"keywords":{}}],["remote_execution_resource_unit",{"_index":1888,"title":{},"content":{"362":{"position":[[765,32]]},"741":{"position":[[765,32]]}},"keywords":{}}],["remote_execution_use_cas",{"_index":1880,"title":{},"content":{"362":{"position":[[355,25]]},"741":{"position":[[355,25]]},"1072":{"position":[[901,25],[1431,25]]}},"keywords":{}}],["remote_fil",{"_index":8061,"title":{"1469":{"position":[[0,12]]}},"content":{"1439":{"position":[[6397,12]]},"1461":{"position":[[3052,14],[3373,12]]},"1469":{"position":[[4,12],[633,13],[2484,13],[2519,12],[2728,13],[2910,12],[3143,13],[3222,12],[3478,13],[3540,12]]}},"keywords":{}}],["remote_output_path",{"_index":1887,"title":{},"content":{"362":{"position":[[725,20]]},"741":{"position":[[725,20]]}},"keywords":{}}],["remoterunner.hta",{"_index":7651,"title":{},"content":{"1399":{"position":[[2778,19]]}},"keywords":{}}],["remoterunner.html",{"_index":7649,"title":{},"content":{"1399":{"position":[[2688,20],[2751,20]]}},"keywords":{}}],["remov",{"_index":2198,"title":{},"content":{"410":{"position":[[20,6]]},"418":{"position":[[389,6],[506,6]]},"477":{"position":[[357,7]]},"553":{"position":[[70,7]]},"557":{"position":[[67,6],[176,7]]},"558":{"position":[[77,7],[173,8]]},"564":{"position":[[64,7]]},"568":{"position":[[43,7],[106,7]]},"569":{"position":[[52,6],[91,7],[170,6]]},"606":{"position":[[155,8]]},"608":{"position":[[72,6]]},"609":{"position":[[72,6]]},"615":{"position":[[156,8]]},"616":{"position":[[553,7]]},"619":{"position":[[178,8]]},"643":{"position":[[218,7]]},"789":{"position":[[20,6]]},"797":{"position":[[389,6],[506,6]]},"957":{"position":[[62,7]]},"958":{"position":[[277,6]]},"1004":{"position":[[1180,6]]},"1113":{"position":[[457,7],[686,8]]},"1142":{"position":[[186,8]]},"1150":{"position":[[159,6]]},"1348":{"position":[[4329,6],[4360,7]]},"1355":{"position":[[5613,6],[5649,7]]},"1403":{"position":[[6317,8]]},"1461":{"position":[[2781,7]]}},"keywords":{}}],["remove_class",{"_index":6372,"title":{},"content":{"1348":{"position":[[2214,15]]},"1355":{"position":[[1719,15],[5578,15]]},"1412":{"position":[[1102,15]]},"1413":{"position":[[1248,15]]},"1427":{"position":[[1319,15],[4621,15]]},"1429":{"position":[[1719,15]]},"1430":{"position":[[1122,15]]},"1439":{"position":[[1555,15],[7120,15]]},"1440":{"position":[[1920,15]]},"1470":{"position":[[2241,15]]},"1474":{"position":[[1098,15]]},"1475":{"position":[[1244,15]]}},"keywords":{}}],["removeprefix",{"_index":2906,"title":{},"content":{"606":{"position":[[224,13]]}},"keywords":{}}],["removesuffix",{"_index":2976,"title":{},"content":{"615":{"position":[[225,13]]}},"keywords":{}}],["render",{"_index":1254,"title":{},"content":{"98":{"position":[[1033,9]]},"99":{"position":[[1441,9]]},"230":{"position":[[1033,9]]},"231":{"position":[[1441,9]]},"834":{"position":[[685,6]]},"1157":{"position":[[155,9],[193,9]]},"1158":{"position":[[149,9],[187,9]]},"1159":{"position":[[149,9],[187,9]]},"1260":{"position":[[790,8]]},"1291":{"position":[[790,8]]},"1319":{"position":[[790,8]]}},"keywords":{}}],["repeat",{"_index":6040,"title":{},"content":{"1219":{"position":[[316,8]]},"1355":{"position":[[4271,8]]},"1422":{"position":[[2579,10]]},"1423":{"position":[[2248,10]]},"1427":{"position":[[3416,8]]},"1439":{"position":[[4090,8]]}},"keywords":{}}],["repeatedli",{"_index":4592,"title":{"1251":{"position":[[0,10]]}},"content":{"937":{"position":[[1493,10]]},"1251":{"position":[[53,10]]}},"keywords":{}}],["repl_main",{"_index":8308,"title":{},"content":{"1462":{"position":[[3769,10]]},"1467":{"position":[[4204,10]]}},"keywords":{}}],["repl_only_dep",{"_index":8309,"title":{},"content":{"1462":{"position":[[3796,15]]},"1467":{"position":[[4231,15]]}},"keywords":{}}],["replac",{"_index":1163,"title":{},"content":{"93":{"position":[[155,7]]},"126":{"position":[[336,8]]},"225":{"position":[[155,7]]},"249":{"position":[[336,8]]},"405":{"position":[[2426,8]]},"408":{"position":[[1159,8],[1261,11]]},"451":{"position":[[283,7]]},"590":{"position":[[326,11]]},"595":{"position":[[183,8]]},"610":{"position":[[87,7],[221,8],[357,8]]},"656":{"position":[[301,11]]},"784":{"position":[[2426,8]]},"787":{"position":[[1159,8],[1261,11]]},"830":{"position":[[283,7]]},"892":{"position":[[1564,7]]},"898":{"position":[[2730,8]]},"939":{"position":[[516,9]]},"950":{"position":[[812,7]]},"980":{"position":[[768,7]]},"998":{"position":[[367,7]]},"1190":{"position":[[300,7]]},"1192":{"position":[[137,7]]},"1351":{"position":[[3150,8]]},"1362":{"position":[[7654,8],[9670,8]]},"1363":{"position":[[5378,8]]},"1364":{"position":[[7893,8],[10784,8]]},"1367":{"position":[[9758,8],[10294,8]]},"1384":{"position":[[18405,8]]},"1393":{"position":[[8785,7],[8887,7]]},"1427":{"position":[[4859,8]]},"1439":{"position":[[7358,8]]},"1471":{"position":[[2719,8]]},"1472":{"position":[[2678,8],[5721,8]]},"1473":{"position":[[2993,8]]}},"keywords":{}}],["replace_regex",{"_index":2135,"title":{},"content":{"405":{"position":[[784,14]]},"408":{"position":[[1145,13]]},"784":{"position":[[784,14]]},"787":{"position":[[1145,13]]}},"keywords":{}}],["replacetarget",{"_index":3566,"title":{},"content":{"693":{"position":[[5434,13]]}},"keywords":{}}],["replay",{"_index":5985,"title":{"1181":{"position":[[9,7]]}},"content":{"1171":{"position":[[661,6],[668,6]]},"1181":{"position":[[0,6],[119,6]]}},"keywords":{}}],["repli",{"_index":8585,"title":{},"content":{"1486":{"position":[[4008,5],[4671,5],[5049,8]]}},"keywords":{}}],["replic",{"_index":6393,"title":{},"content":{"1348":{"position":[[4082,10]]}},"keywords":{}}],["repo",{"_index":56,"title":{},"content":{"4":{"position":[[334,5]]},"10":{"position":[[923,4]]},"15":{"position":[[342,5]]},"310":{"position":[[853,5]]},"583":{"position":[[279,4]]},"919":{"position":[[884,4],[1065,4]]},"937":{"position":[[880,5],[3480,4],[4037,5]]},"940":{"position":[[631,5]]},"943":{"position":[[2116,5]]},"945":{"position":[[891,6]]},"1040":{"position":[[777,4]]},"1093":{"position":[[237,5],[655,5]]},"1096":{"position":[[88,5]]},"1097":{"position":[[198,4],[352,5]]},"1098":{"position":[[433,5],[448,4]]},"1102":{"position":[[71,5]]},"1150":{"position":[[49,5],[269,4],[385,4]]},"1161":{"position":[[318,4]]},"1228":{"position":[[1089,4]]},"1240":{"position":[[353,4]]},"1269":{"position":[[121,4]]},"1300":{"position":[[121,4]]},"1328":{"position":[[121,4]]},"1404":{"position":[[492,5],[1552,4]]}},"keywords":{}}],["repo'",{"_index":4648,"title":{},"content":{"940":{"position":[[588,6]]}},"keywords":{}}],["repo..buckconfig",{"_index":2688,"title":{},"content":{"583":{"position":[[553,16]]}},"keywords":{}}],["repo..buckconfig.loc",{"_index":2690,"title":{},"content":{"583":{"position":[[621,22]]}},"keywords":{}}],["repo.com:org.eclipse.jetty.aggregate:jetti",{"_index":8392,"title":{},"content":{"1469":{"position":[[3331,42]]}},"keywords":{}}],["repo.deprec",{"_index":4620,"title":{},"content":{"937":{"position":[[4779,14]]}},"keywords":{}}],["repo.fil",{"_index":2689,"title":{},"content":{"583":{"position":[[577,10]]}},"keywords":{}}],["repo.simplifi",{"_index":4618,"title":{},"content":{"937":{"position":[[4563,13]]}},"keywords":{}}],["repo/.buckconfig",{"_index":4651,"title":{},"content":{"940":{"position":[[1014,17]]}},"keywords":{}}],["repo//foo",{"_index":4645,"title":{},"content":{"940":{"position":[[301,13]]}},"keywords":{}}],["repo//foo/...?asan",{"_index":4671,"title":{},"content":{"942":{"position":[[548,18]]}},"keywords":{}}],["repo//foo/bar/baz.pi",{"_index":6282,"title":{},"content":{"1269":{"position":[[136,21]]},"1300":{"position":[[136,21]]},"1328":{"position":[[136,21]]}},"keywords":{}}],["repo//foo:?asan",{"_index":4672,"title":{},"content":{"942":{"position":[[583,15]]}},"keywords":{}}],["repo//foo:bar",{"_index":4659,"title":{},"content":{"941":{"position":[[118,14]]},"942":{"position":[[880,13],[1112,13]]},"943":{"position":[[363,13],[1196,13],[1487,13]]}},"keywords":{}}],["repo//foo:bar?asan",{"_index":4670,"title":{},"content":{"942":{"position":[[367,18]]}},"keywords":{}}],["repo//foo:bar?cfg//os:linux,cfg//sanitizer:asan",{"_index":4668,"title":{},"content":{"942":{"position":[[226,47]]}},"keywords":{}}],["repo//foo:bar?cfg//sanitizer:asan",{"_index":4666,"title":{},"content":{"942":{"position":[[138,33]]}},"keywords":{}}],["repo//foo:bar?dev,releas",{"_index":4684,"title":{},"content":{"942":{"position":[[1457,25]]}},"keywords":{}}],["repo//foo:bar?linux",{"_index":4690,"title":{},"content":{"943":{"position":[[1562,19]]}},"keywords":{}}],["repo//foo:bar?linux,releas",{"_index":4682,"title":{},"content":{"942":{"position":[[1154,28]]}},"keywords":{}}],["repo//foo:bar?releas",{"_index":4678,"title":{},"content":{"942":{"position":[[947,21],[1511,22]]}},"keywords":{}}],["repo//foo:bar[comp",{"_index":4673,"title":{},"content":{"942":{"position":[[717,18]]}},"keywords":{}}],["repo//foo:baz",{"_index":4676,"title":{},"content":{"942":{"position":[[894,13]]}},"keywords":{}}],["repo/buck",{"_index":8459,"title":{},"content":{"1477":{"position":[[2675,10]]},"1478":{"position":[[2826,10]]}},"keywords":{}}],["repo/foo/buck",{"_index":4660,"title":{},"content":{"941":{"position":[[135,13]]},"943":{"position":[[703,13]]}},"keywords":{}}],["repo/foo/packag",{"_index":4644,"title":{},"content":{"940":{"position":[[252,16]]},"943":{"position":[[621,16],[1117,16]]}},"keywords":{}}],["repo/packag",{"_index":4642,"title":{},"content":{"940":{"position":[[174,12],[639,12],[1270,12]]},"943":{"position":[[405,12],[1054,12],[1339,12]]}},"keywords":{}}],["report",{"_index":787,"title":{"1111":{"position":[[6,6]]}},"content":{"24":{"position":[[154,6]]},"41":{"position":[[766,7]]},"89":{"position":[[1072,6]]},"174":{"position":[[766,7]]},"221":{"position":[[1072,6]]},"446":{"position":[[402,10]]},"593":{"position":[[150,7]]},"597":{"position":[[118,7]]},"598":{"position":[[107,7]]},"599":{"position":[[106,7]]},"600":{"position":[[108,7]]},"601":{"position":[[113,7]]},"602":{"position":[[96,7]]},"603":{"position":[[108,7]]},"618":{"position":[[158,7]]},"646":{"position":[[102,7]]},"825":{"position":[[402,10]]},"1036":{"position":[[179,6]]},"1037":{"position":[[351,6],[420,6]]},"1038":{"position":[[17,7]]},"1050":{"position":[[4562,8]]},"1060":{"position":[[88,6]]},"1112":{"position":[[501,6],[600,6]]},"1113":{"position":[[24,6],[324,6],[484,6]]},"1114":{"position":[[10,6]]},"1138":{"position":[[1462,6],[1496,6],[1512,7],[1543,6],[1615,6],[1895,6],[1969,6]]},"1140":{"position":[[951,6],[985,6],[1001,7],[1032,6],[1104,6],[1384,6],[1458,6]]},"1167":{"position":[[1955,6],[1989,6],[2005,7],[2036,6],[2108,6],[2388,6],[2462,6]]},"1188":{"position":[[1004,6],[1038,6],[1054,7],[1085,6],[1157,6],[1437,6],[1511,6]]},"1217":{"position":[[696,6],[730,6],[746,7],[777,6],[849,6],[1129,6],[1203,6]]},"1228":{"position":[[1657,6],[2777,6],[2811,6],[2827,7],[2858,6],[2930,6],[3210,6],[3284,6]]},"1232":{"position":[[31,6]]},"1233":{"position":[[312,6]]},"1241":{"position":[[260,6]]}},"keywords":{}}],["report=<filepath>",{"_index":5924,"title":{},"content":{"1138":{"position":[[1569,24]]},"1140":{"position":[[1058,24]]},"1167":{"position":[[2062,24]]},"1188":{"position":[[1111,24]]},"1217":{"position":[[803,24]]},"1228":{"position":[[2884,24]]}},"keywords":{}}],["repositori",{"_index":449,"title":{"696":{"position":[[36,11]]}},"content":{"15":{"position":[[182,11]]},"17":{"position":[[286,10]]},"22":{"position":[[268,12]]},"94":{"position":[[3997,11]]},"226":{"position":[[3997,11]]},"299":{"position":[[84,10]]},"307":{"position":[[79,10]]},"443":{"position":[[158,10]]},"587":{"position":[[656,14]]},"696":{"position":[[120,13],[290,10]]},"822":{"position":[[158,10]]},"840":{"position":[[57,10]]},"884":{"position":[[91,11]]},"1161":{"position":[[387,10]]},"1260":{"position":[[639,10]]},"1262":{"position":[[767,10]]},"1291":{"position":[[639,10]]},"1293":{"position":[[767,10]]},"1319":{"position":[[639,10]]},"1321":{"position":[[767,10]]},"1364":{"position":[[9294,10]]},"1382":{"position":[[5453,10]]},"1384":{"position":[[10400,10]]},"1385":{"position":[[3367,10]]},"1387":{"position":[[5700,10]]},"1399":{"position":[[1743,12]]},"1404":{"position":[[555,11]]},"1454":{"position":[[7304,10]]},"1458":{"position":[[977,10]]},"1469":{"position":[[3204,10]]},"1485":{"position":[[1735,10]]}},"keywords":{}}],["repository).to",{"_index":5455,"title":{},"content":{"1061":{"position":[[111,14]]}},"keywords":{}}],["repository_nam",{"_index":2338,"title":{"436":{"position":[[0,16]]},"815":{"position":[[0,16]]}},"content":{"436":{"position":[[4,17]]},"815":{"position":[[4,17]]}},"keywords":{}}],["repository—that",{"_index":3611,"title":{},"content":{"696":{"position":[[63,15]]}},"keywords":{}}],["repr",{"_index":3282,"title":{"664":{"position":[[0,5]]}},"content":{"659":{"position":[[32,5]]},"664":{"position":[[26,5]]}},"keywords":{}}],["repr("test",{"_index":3323,"title":{},"content":{"664":{"position":[[238,15]]}},"keywords":{}}],["repr("x"",{"_index":3318,"title":{},"content":{"664":{"position":[[126,19]]}},"keywords":{}}],["repr("x\\"i",{"_index":3327,"title":{},"content":{"664":{"position":[[315,22]]}},"keywords":{}}],["repr(1",{"_index":3317,"title":{},"content":{"664":{"position":[[111,7]]}},"keywords":{}}],["repr([1",{"_index":3320,"title":{},"content":{"664":{"position":[[177,8]]}},"keywords":{}}],["repr(a",{"_index":3316,"title":{},"content":{"664":{"position":[[4,7]]}},"keywords":{}}],["repr(ctx.label",{"_index":2398,"title":{},"content":{"446":{"position":[[586,16]]},"825":{"position":[[586,16]]}},"keywords":{}}],["repres",{"_index":887,"title":{},"content":{"48":{"position":[[47,10]]},"73":{"position":[[45,12]]},"79":{"position":[[85,12]]},"88":{"position":[[167,12]]},"89":{"position":[[131,12]]},"95":{"position":[[184,12]]},"145":{"position":[[230,13]]},"195":{"position":[[47,10]]},"220":{"position":[[167,12]]},"221":{"position":[[131,12]]},"227":{"position":[[184,12]]},"268":{"position":[[230,13]]},"372":{"position":[[193,10]]},"374":{"position":[[553,12],[634,12],[784,12],[965,12],[1043,12]]},"377":{"position":[[704,10]]},"396":{"position":[[438,12]]},"496":{"position":[[45,12]]},"508":{"position":[[85,12]]},"577":{"position":[[63,9],[119,9],[324,11]]},"638":{"position":[[36,10]]},"648":{"position":[[1184,11],[1260,11]]},"663":{"position":[[51,10]]},"693":{"position":[[3786,10],[8411,9],[9228,10]]},"711":{"position":[[474,12]]},"717":{"position":[[319,11]]},"751":{"position":[[193,10]]},"753":{"position":[[553,12],[634,12],[784,12],[965,12],[1043,12]]},"756":{"position":[[704,10]]},"775":{"position":[[438,12]]},"832":{"position":[[25,11]]},"864":{"position":[[666,10]]},"890":{"position":[[5345,10]]},"898":{"position":[[272,11]]},"900":{"position":[[287,11],[579,9],[651,10],[696,10],[813,10],[897,10],[992,10],[1089,10],[1165,10],[1244,10],[1311,10],[1959,12]]},"901":{"position":[[14,10]]},"902":{"position":[[14,10]]},"995":{"position":[[990,11],[1274,9]]},"1018":{"position":[[297,11]]},"1022":{"position":[[47,9]]},"1048":{"position":[[19,10]]},"1052":{"position":[[227,11],[370,10],[1252,10]]},"1053":{"position":[[618,9]]},"1054":{"position":[[898,12]]},"1097":{"position":[[28,9]]},"1103":{"position":[[1082,9]]},"1104":{"position":[[1641,10]]},"1126":{"position":[[1318,10]]},"1129":{"position":[[36,10]]},"1131":{"position":[[137,9]]},"1133":{"position":[[298,10]]},"1226":{"position":[[4470,12],[4660,12]]},"1237":{"position":[[4640,12],[4830,12]]},"1355":{"position":[[5044,9]]},"1356":{"position":[[1851,12]]},"1361":{"position":[[1899,12],[2152,12]]},"1364":{"position":[[4834,10]]},"1374":{"position":[[1964,11]]},"1391":{"position":[[586,10]]},"1415":{"position":[[2462,10]]},"1416":{"position":[[1322,10]]},"1427":{"position":[[4358,9]]},"1439":{"position":[[6857,9]]},"1453":{"position":[[904,10]]},"1454":{"position":[[3241,10]]},"1455":{"position":[[1124,10]]},"1486":{"position":[[1922,11],[2029,11]]}},"keywords":{}}],["represent",{"_index":1727,"title":{"898":{"position":[[6,14]]},"951":{"position":[[9,14]]}},"content":{"310":{"position":[[700,14]]},"440":{"position":[[155,16]]},"445":{"position":[[90,14]]},"632":{"position":[[66,14]]},"633":{"position":[[74,14]]},"693":{"position":[[564,15]]},"819":{"position":[[155,16]]},"824":{"position":[[90,14]]},"898":{"position":[[6,14]]},"1195":{"position":[[258,14]]},"1393":{"position":[[6412,14]]}},"keywords":{}}],["repro",{"_index":4320,"title":{},"content":{"896":{"position":[[508,6]]}},"keywords":{}}],["reproduc",{"_index":3439,"title":{"1242":{"position":[[50,9]]}},"content":{"688":{"position":[[360,12]]},"894":{"position":[[209,10]]},"895":{"position":[[335,9]]},"896":{"position":[[1001,11]]},"1172":{"position":[[378,9],[453,9],[621,9]]},"1383":{"position":[[4892,12]]}},"keywords":{}}],["request",{"_index":756,"title":{"880":{"position":[[0,7]]},"1008":{"position":[[0,7]]}},"content":{"23":{"position":[[2534,10]]},"67":{"position":[[170,9]]},"92":{"position":[[2527,9]]},"210":{"position":[[82,9]]},"211":{"position":[[79,9]]},"224":{"position":[[2527,9]]},"368":{"position":[[3003,9],[3420,10]]},"396":{"position":[[237,9]]},"455":{"position":[[170,9]]},"704":{"position":[[2496,9]]},"715":{"position":[[1750,7]]},"747":{"position":[[3003,9],[3420,10]]},"775":{"position":[[237,9]]},"937":{"position":[[2808,7]]},"946":{"position":[[473,9]]},"947":{"position":[[328,7],[1227,9]]},"951":{"position":[[1177,7]]},"954":{"position":[[844,10]]},"957":{"position":[[46,8]]},"963":{"position":[[42,7]]},"964":{"position":[[944,10]]},"965":{"position":[[17,9]]},"1000":{"position":[[460,10]]},"1005":{"position":[[213,9],[251,9]]},"1021":{"position":[[669,9]]},"1053":{"position":[[960,8]]},"1067":{"position":[[395,7],[614,7]]},"1069":{"position":[[578,10]]},"1071":{"position":[[1035,10]]},"1072":{"position":[[435,7],[507,8]]},"1112":{"position":[[150,9],[2175,7]]},"1114":{"position":[[354,9]]},"1219":{"position":[[154,8],[696,8],[821,7]]},"1224":{"position":[[61,8]]},"1345":{"position":[[870,8],[1197,9]]},"1382":{"position":[[3173,7]]},"1486":{"position":[[5420,7]]}},"keywords":{}}],["requestingctx.build",{"_index":4807,"title":{},"content":{"966":{"position":[[146,20]]}},"keywords":{}}],["requir",{"_index":345,"title":{"682":{"position":[[0,8]]}},"content":{"10":{"position":[[880,10]]},"17":{"position":[[726,8],[832,8]]},"18":{"position":[[1832,9]]},"23":{"position":[[2813,9]]},"24":{"position":[[832,8]]},"304":{"position":[[112,8]]},"374":{"position":[[1752,8],[1936,8]]},"662":{"position":[[364,8]]},"680":{"position":[[703,8]]},"682":{"position":[[66,8]]},"684":{"position":[[80,8]]},"695":{"position":[[330,8]]},"699":{"position":[[82,8]]},"705":{"position":[[312,8]]},"753":{"position":[[1752,8],[1936,8]]},"846":{"position":[[1685,7]]},"860":{"position":[[652,8]]},"872":{"position":[[776,8]]},"892":{"position":[[572,8]]},"919":{"position":[[1413,8]]},"924":{"position":[[325,7],[2297,7]]},"937":{"position":[[3746,8]]},"943":{"position":[[1970,8]]},"944":{"position":[[1866,8]]},"946":{"position":[[365,8]]},"954":{"position":[[114,8],[479,8],[822,8]]},"955":{"position":[[16,8]]},"966":{"position":[[251,7]]},"993":{"position":[[61,10],[126,10]]},"994":{"position":[[71,10],[138,10]]},"995":{"position":[[72,10]]},"1050":{"position":[[362,12],[735,12]]},"1052":{"position":[[177,9],[1319,7],[1490,9]]},"1053":{"position":[[113,8],[174,8],[311,8],[1273,9]]},"1054":{"position":[[727,8],[1224,8]]},"1069":{"position":[[835,8]]},"1079":{"position":[[367,8]]},"1093":{"position":[[750,7]]},"1098":{"position":[[738,7]]},"1100":{"position":[[13,8],[121,11]]},"1103":{"position":[[1361,9]]},"1148":{"position":[[1053,7]]},"1172":{"position":[[290,8]]},"1204":{"position":[[7380,7]]},"1228":{"position":[[1220,8],[1286,8]]},"1235":{"position":[[845,7]]},"1345":{"position":[[1275,8]]},"1346":{"position":[[625,8]]},"1348":{"position":[[2907,8],[3033,8],[3164,8]]},"1349":{"position":[[1052,8],[1178,8],[1309,8]]},"1350":{"position":[[4023,8],[4149,8],[4280,8]]},"1351":{"position":[[1244,8],[1371,8],[1503,8]]},"1352":{"position":[[4022,8],[4148,8],[4279,8]]},"1353":{"position":[[1626,8],[1752,8],[1883,8]]},"1354":{"position":[[1464,8],[1590,8],[1721,8]]},"1355":{"position":[[2604,8],[2731,8],[2863,8],[3721,8],[4012,7],[5118,8]]},"1356":{"position":[[970,8],[1096,8],[1227,8]]},"1357":{"position":[[643,8],[769,8],[900,8]]},"1358":{"position":[[1364,8],[1490,8],[1621,8]]},"1359":{"position":[[1201,8],[1327,8],[1458,8]]},"1360":{"position":[[1833,8],[1960,8],[2092,8]]},"1361":{"position":[[1191,8],[1317,8],[1448,8]]},"1362":{"position":[[5556,8],[5683,8],[5815,8],[6515,7],[6655,7],[12571,7]]},"1363":{"position":[[3302,8],[3429,8],[3561,8]]},"1364":{"position":[[5585,8],[5712,8],[5844,8],[6544,7],[13076,7]]},"1365":{"position":[[1125,8],[1251,8],[1382,8]]},"1366":{"position":[[1332,8],[1459,8],[1591,8]]},"1367":{"position":[[6983,8],[7110,8],[7242,8],[7942,7],[12479,7]]},"1368":{"position":[[1681,8],[1807,8],[1938,8]]},"1369":{"position":[[733,8],[859,8],[990,8]]},"1370":{"position":[[981,8],[1108,8],[1240,8]]},"1371":{"position":[[609,8],[735,8],[866,8]]},"1372":{"position":[[2247,8],[2373,8],[2504,8]]},"1373":{"position":[[3119,8],[3245,8],[3376,8],[4150,7],[7512,7]]},"1374":{"position":[[1016,8],[1143,8],[1275,8]]},"1375":{"position":[[645,8],[771,8],[902,8]]},"1376":{"position":[[601,8],[727,8],[858,8]]},"1377":{"position":[[840,8],[966,8],[1097,8]]},"1378":{"position":[[587,8],[713,8],[844,8]]},"1379":{"position":[[610,8],[736,8],[867,8]]},"1380":{"position":[[1081,8],[1207,8],[1338,8]]},"1381":{"position":[[987,8],[1113,8],[1244,8]]},"1382":{"position":[[3468,8],[3595,8],[3727,8],[4427,7],[10287,7]]},"1383":{"position":[[1706,8],[1833,8],[1965,8]]},"1384":{"position":[[4630,8],[4757,8],[4889,8],[5589,7],[16818,7],[19845,8],[20547,7],[20640,7],[20757,7]]},"1385":{"position":[[2306,8],[2432,8],[2563,8],[3233,7],[6512,7],[7659,7]]},"1386":{"position":[[944,8],[1070,8],[1201,8],[4766,8]]},"1387":{"position":[[4575,8],[4701,8],[4832,8],[5504,7],[9885,7]]},"1388":{"position":[[3768,8],[3895,8],[4027,8],[5121,7],[8780,7]]},"1389":{"position":[[4628,8],[4754,8],[4885,8]]},"1390":{"position":[[880,8],[1006,8],[1137,8]]},"1391":{"position":[[833,8],[959,8],[1090,8]]},"1392":{"position":[[983,8],[1109,8],[1240,8]]},"1393":{"position":[[1556,8],[1683,8],[1815,8]]},"1394":{"position":[[1003,8],[1129,8],[1260,8]]},"1395":{"position":[[1013,8],[1140,8],[1272,8]]},"1396":{"position":[[565,8],[809,8],[935,8],[1066,8]]},"1397":{"position":[[990,8],[1116,8],[1247,8],[2992,8]]},"1398":{"position":[[1663,8],[1790,8],[1922,8]]},"1399":{"position":[[845,8],[971,8],[1102,8]]},"1400":{"position":[[714,8],[840,8],[971,8]]},"1401":{"position":[[789,8],[915,8],[1046,8]]},"1402":{"position":[[945,8],[1071,8],[1202,8]]},"1403":{"position":[[1536,8],[1663,8],[1795,8]]},"1404":{"position":[[778,8],[904,8],[1035,8]]},"1405":{"position":[[1469,8],[1595,8],[1726,8]]},"1406":{"position":[[685,8],[811,8],[942,8]]},"1407":{"position":[[1510,8],[1636,8],[1767,8]]},"1408":{"position":[[1206,8],[1332,8],[1463,8]]},"1409":{"position":[[740,8],[866,8],[997,8]]},"1410":{"position":[[1903,8],[2030,8],[2162,8],[5556,8]]},"1411":{"position":[[723,8],[849,8],[980,8]]},"1412":{"position":[[1924,8],[2051,8],[2183,8],[2674,8]]},"1413":{"position":[[2107,8],[2233,8],[2364,8]]},"1414":{"position":[[974,8],[1100,8],[1231,8]]},"1415":{"position":[[2956,8],[3082,8],[3213,8],[3832,7]]},"1416":{"position":[[1608,8],[1734,8],[1865,8]]},"1417":{"position":[[1197,8],[1323,8],[1454,8]]},"1418":{"position":[[898,8],[1024,8],[1155,8]]},"1419":{"position":[[1026,8],[1152,8],[1283,8]]},"1420":{"position":[[1290,8],[1416,8],[1547,8]]},"1421":{"position":[[1265,8],[1391,8],[1522,8]]},"1422":{"position":[[1169,8],[1296,8],[1428,8]]},"1423":{"position":[[1157,8],[1283,8],[1414,8]]},"1424":{"position":[[1282,8],[1408,8],[1539,8]]},"1425":{"position":[[898,8],[1024,8],[1155,8]]},"1426":{"position":[[1242,8],[1369,8],[1501,8]]},"1427":{"position":[[2139,8],[2266,8],[2398,8],[2869,8],[3157,7],[4432,8]]},"1428":{"position":[[880,8],[1006,8],[1137,8]]},"1429":{"position":[[2803,8],[2930,8],[3062,8]]},"1430":{"position":[[1656,8],[1782,8],[1913,8]]},"1431":{"position":[[1000,8],[1126,8],[1257,8]]},"1432":{"position":[[1521,8],[1647,8],[1778,8]]},"1433":{"position":[[1042,8],[1168,8],[1299,8]]},"1434":{"position":[[716,8],[842,8],[973,8]]},"1435":{"position":[[680,8],[806,8],[937,8]]},"1436":{"position":[[696,8],[822,8],[953,8]]},"1437":{"position":[[766,8],[892,8],[1023,8]]},"1438":{"position":[[643,8],[901,8],[1028,8],[1160,8]]},"1439":{"position":[[2425,8],[2552,8],[2684,8],[3541,8],[3831,7],[6931,8]]},"1440":{"position":[[2991,8],[3118,8],[3250,8]]},"1441":{"position":[[722,8],[848,8],[979,8]]},"1442":{"position":[[796,8],[923,8],[1055,8]]},"1443":{"position":[[1017,8],[1143,8],[1274,8]]},"1444":{"position":[[933,8],[1059,8],[1190,8]]},"1445":{"position":[[622,8],[748,8],[879,8]]},"1446":{"position":[[956,8],[1082,8],[1213,8]]},"1447":{"position":[[838,8],[964,8],[1095,8]]},"1448":{"position":[[1273,8],[1399,8],[1530,8]]},"1449":{"position":[[1207,8],[1333,8],[1464,8]]},"1450":{"position":[[1086,8],[1212,8],[1343,8]]},"1451":{"position":[[1086,8],[1212,8],[1343,8]]},"1452":{"position":[[632,8],[758,8],[889,8]]},"1453":{"position":[[1218,8],[1344,8],[1475,8]]},"1454":{"position":[[3584,8],[3710,8],[3841,8]]},"1455":{"position":[[1471,8],[1597,8],[1728,8]]},"1456":{"position":[[816,8],[942,8],[1073,8]]},"1457":{"position":[[875,8],[1001,8],[1132,8]]},"1458":{"position":[[1410,8],[1536,8],[1667,8]]},"1459":{"position":[[889,8],[1015,8],[1146,8]]},"1460":{"position":[[1001,8],[1127,8],[1258,8]]},"1461":{"position":[[1217,8],[1344,8],[1476,8]]},"1462":{"position":[[4597,8],[4723,8],[4854,8],[8445,8]]},"1463":{"position":[[723,8],[849,8],[980,8]]},"1464":{"position":[[631,8],[757,8],[888,8]]},"1465":{"position":[[1729,8],[1855,8],[1986,8]]},"1466":{"position":[[967,8],[1093,8],[1224,8]]},"1467":{"position":[[5287,8],[5414,8],[5546,8],[9927,8],[10666,8]]},"1468":{"position":[[731,8],[857,8],[988,8]]},"1469":{"position":[[1105,8],[1232,8],[1364,8]]},"1470":{"position":[[3633,8],[3759,8],[3890,8]]},"1471":{"position":[[1968,8],[2095,8],[2227,8]]},"1472":{"position":[[1927,8],[2054,8],[2186,8]]},"1473":{"position":[[2242,8],[2369,8],[2501,8],[3954,8]]},"1474":{"position":[[1632,8],[1758,8],[1889,8]]},"1475":{"position":[[2103,8],[2229,8],[2360,8]]},"1476":{"position":[[708,8],[834,8],[965,8]]},"1477":{"position":[[861,8],[988,8],[1120,8],[1976,8]]},"1478":{"position":[[1352,8],[1479,8],[1611,8]]},"1479":{"position":[[800,8],[926,8],[1057,8]]},"1480":{"position":[[1213,8],[1339,8],[1470,8]]},"1481":{"position":[[1746,8],[1872,8],[2003,8]]},"1482":{"position":[[820,8],[946,8],[1077,8]]},"1483":{"position":[[654,8],[780,8],[911,8]]},"1484":{"position":[[726,8],[852,8],[983,8]]},"1485":{"position":[[986,8],[1112,8],[1243,8]]},"1486":{"position":[[1230,8],[1356,8],[1487,8]]},"1487":{"position":[[926,8],[1053,8],[1185,8]]}},"keywords":{}}],["required.in",{"_index":5136,"title":{},"content":{"1040":{"position":[[700,11]]}},"keywords":{}}],["required_for_source_only_abi",{"_index":6373,"title":{},"content":{"1348":{"position":[[2245,29]]},"1355":{"position":[[1750,29],[5730,29]]},"1358":{"position":[[800,29]]},"1412":{"position":[[1133,29]]},"1413":{"position":[[1279,29]]},"1427":{"position":[[1350,29],[4903,29]]},"1429":{"position":[[1750,29]]},"1430":{"position":[[1153,29]]},"1439":{"position":[[1586,29]]},"1440":{"position":[[1951,29]]},"1458":{"position":[[818,29]]},"1470":{"position":[[2272,29]]},"1474":{"position":[[1129,29]]},"1475":{"position":[[1275,29]]}},"keywords":{}}],["requires_arch",{"_index":7395,"title":{},"content":{"1389":{"position":[[3485,18]]}},"keywords":{}}],["requires_object",{"_index":7396,"title":{},"content":{"1389":{"position":[[3514,17]]}},"keywords":{}}],["requires_xcode_version_match",{"_index":7001,"title":{},"content":{"1368":{"position":[[1099,29]]}},"keywords":{}}],["requisit",{"_index":5490,"title":{},"content":{"1070":{"position":[[630,9]]}},"keywords":{}}],["reran",{"_index":3819,"title":{},"content":{"832":{"position":[[421,6]]},"965":{"position":[[271,6]]},"966":{"position":[[683,5]]}},"keywords":{}}],["reremote_execution_resource_unit",{"_index":1921,"title":{},"content":{"362":{"position":[[2723,34]]},"741":{"position":[[2723,34]]}},"keywords":{}}],["rerun",{"_index":3820,"title":{},"content":{"832":{"position":[[546,9]]},"920":{"position":[[542,9],[574,5]]}},"keywords":{}}],["res/org/opencv:manifest",{"_index":7671,"title":{},"content":{"1402":{"position":[[2215,28]]}},"keywords":{}}],["res/org/opencv:r",{"_index":7672,"title":{},"content":{"1402":{"position":[[2253,23]]}},"keywords":{}}],["rescu",{"_index":6195,"title":{"1249":{"position":[[16,8]]}},"content":{},"keywords":{}}],["reseri",{"_index":4746,"title":{},"content":{"954":{"position":[[566,11]]}},"keywords":{}}],["reserv",{"_index":2042,"title":{},"content":{"377":{"position":[[1241,8]]},"595":{"position":[[1383,8]]},"756":{"position":[[1241,8]]},"1045":{"position":[[146,8]]},"1054":{"position":[[779,8]]}},"keywords":{}}],["resid",{"_index":3599,"title":{},"content":{"693":{"position":[[9287,8]]},"1385":{"position":[[3026,6]]},"1387":{"position":[[5293,6]]},"1444":{"position":[[1653,6]]},"1462":{"position":[[5529,6]]},"1465":{"position":[[2447,6]]},"1467":{"position":[[6012,6]]}},"keywords":{}}],["resolut",{"_index":742,"title":{"943":{"position":[[9,11]]},"1013":{"position":[[11,11]]},"1014":{"position":[[16,11]]},"1026":{"position":[[19,11]]},"1045":{"position":[[10,11]]},"1200":{"position":[[30,11]]}},"content":{"23":{"position":[[2160,11]]},"209":{"position":[[174,11]]},"298":{"position":[[3062,10]]},"338":{"position":[[424,10]]},"711":{"position":[[1424,10]]},"720":{"position":[[263,11]]},"851":{"position":[[404,10]]},"870":{"position":[[517,11]]},"874":{"position":[[373,10]]},"877":{"position":[[365,10],[572,10]]},"878":{"position":[[1119,10]]},"940":{"position":[[320,10]]},"944":{"position":[[1830,11]]},"945":{"position":[[288,10]]},"946":{"position":[[148,10],[225,10],[451,10],[544,10],[747,10]]},"947":{"position":[[478,11]]},"989":{"position":[[273,10]]},"1011":{"position":[[420,10]]},"1014":{"position":[[203,11],[270,10],[597,10]]},"1015":{"position":[[70,11],[190,10]]},"1021":{"position":[[246,11]]},"1024":{"position":[[311,10],[868,12]]},"1026":{"position":[[40,11],[103,10],[885,10]]},"1027":{"position":[[91,10]]},"1042":{"position":[[663,11]]},"1045":{"position":[[10,10]]},"1190":{"position":[[762,10],[821,10]]},"1200":{"position":[[48,10],[105,10]]},"1370":{"position":[[2518,11]]}},"keywords":{}}],["resolution"",{"_index":4647,"title":{},"content":{"940":{"position":[[357,16]]}},"keywords":{}}],["resolv",{"_index":1208,"title":{"856":{"position":[[22,8]]}},"content":{"94":{"position":[[2378,8],[2420,8]]},"118":{"position":[[198,8]]},"130":{"position":[[169,7],[216,8]]},"226":{"position":[[2378,8],[2420,8]]},"242":{"position":[[293,8]]},"253":{"position":[[169,7],[216,8]]},"281":{"position":[[97,8],[286,8],[440,8],[501,8],[765,8]]},"282":{"position":[[174,8],[234,8],[390,8],[451,8]]},"294":{"position":[[598,7]]},"297":{"position":[[576,7]]},"298":{"position":[[729,8],[2025,8],[2816,8]]},"300":{"position":[[133,8]]},"301":{"position":[[512,7]]},"322":{"position":[[56,8]]},"334":{"position":[[530,8]]},"368":{"position":[[2518,9]]},"377":{"position":[[1358,8]]},"389":{"position":[[942,7],[998,7],[1129,7],[1196,8],[1263,7]]},"474":{"position":[[269,8]]},"484":{"position":[[94,8]]},"534":{"position":[[198,8]]},"581":{"position":[[894,8]]},"690":{"position":[[3256,9]]},"693":{"position":[[3478,8],[8999,8],[9560,8]]},"711":{"position":[[903,7],[942,9],[1241,7],[1280,9],[1649,8]]},"712":{"position":[[2541,9]]},"720":{"position":[[127,9]]},"747":{"position":[[2518,9]]},"756":{"position":[[1358,8]]},"768":{"position":[[942,7],[998,7],[1129,7],[1196,8],[1263,7]]},"837":{"position":[[342,9]]},"851":{"position":[[2142,8]]},"856":{"position":[[838,8],[971,8]]},"870":{"position":[[288,8]]},"878":{"position":[[156,8]]},"919":{"position":[[2060,9]]},"929":{"position":[[317,8],[339,8]]},"938":{"position":[[1011,7],[1055,7]]},"943":{"position":[[14,8],[119,8],[332,8],[897,9],[934,7],[977,9],[1287,7],[1357,7],[1608,9],[1752,9],[1810,7],[2160,7],[2379,8],[2483,7],[2515,9]]},"944":{"position":[[740,9],[1914,8],[2088,8]]},"945":{"position":[[511,7],[622,7]]},"947":{"position":[[389,8],[597,9]]},"962":{"position":[[578,8]]},"990":{"position":[[258,8]]},"1004":{"position":[[527,8],[810,8]]},"1006":{"position":[[179,8],[225,8],[383,8]]},"1009":{"position":[[610,9]]},"1012":{"position":[[118,8]]},"1013":{"position":[[0,9],[317,8]]},"1021":{"position":[[153,8],[282,7]]},"1026":{"position":[[687,8]]},"1027":{"position":[[150,8]]},"1044":{"position":[[472,7]]},"1049":{"position":[[352,8],[587,7]]},"1050":{"position":[[1485,7],[1511,8]]},"1138":{"position":[[5743,8]]},"1146":{"position":[[0,7]]},"1148":{"position":[[223,9],[441,9],[484,7],[3093,8]]},"1186":{"position":[[1317,8]]},"1187":{"position":[[1330,8]]},"1188":{"position":[[6056,8]]},"1190":{"position":[[721,9]]},"1191":{"position":[[191,8]]},"1193":{"position":[[617,9],[645,9]]},"1197":{"position":[[555,8]]},"1198":{"position":[[565,8]]},"1199":{"position":[[20,9],[324,8],[593,8]]},"1200":{"position":[[460,8]]},"1226":{"position":[[276,7]]},"1232":{"position":[[3585,8]]},"1237":{"position":[[446,7]]},"1282":{"position":[[316,8]]},"1283":{"position":[[333,8]]},"1284":{"position":[[313,8]]},"1313":{"position":[[316,8]]},"1314":{"position":[[333,8]]},"1315":{"position":[[313,8]]},"1341":{"position":[[316,8]]},"1342":{"position":[[333,8]]},"1343":{"position":[[313,8]]},"1386":{"position":[[5905,7]]},"1393":{"position":[[9691,9]]}},"keywords":{}}],["resolved,th",{"_index":5087,"title":{},"content":{"1026":{"position":[[588,12]]}},"keywords":{}}],["resolved/path/to/result",{"_index":5303,"title":{},"content":{"1050":{"position":[[3026,23]]}},"keywords":{}}],["resolved_attr",{"_index":4105,"title":{},"content":{"878":{"position":[[568,14],[1449,15]]}},"keywords":{}}],["resolved_attrs_eag",{"_index":1552,"title":{},"content":{"282":{"position":[[316,22]]}},"keywords":{}}],["resolved_attrs_lazi",{"_index":1545,"title":{},"content":{"281":{"position":[[368,21]]}},"keywords":{}}],["resolved_eag",{"_index":3948,"title":{},"content":{"856":{"position":[[853,14]]}},"keywords":{}}],["resolved_lazi",{"_index":3950,"title":{},"content":{"856":{"position":[[986,13]]}},"keywords":{}}],["resolved_macro",{"_index":1166,"title":{},"content":{"94":{"position":[[125,14],[432,14]]},"98":{"position":[[167,14]]},"99":{"position":[[208,14]]},"226":{"position":[[125,14],[432,14]]},"230":{"position":[[167,14]]},"231":{"position":[[208,14]]},"345":{"position":[[202,14]]},"368":{"position":[[221,14],[3185,14]]},"377":{"position":[[130,14]]},"386":{"position":[[116,14]]},"405":{"position":[[118,14],[366,14]]},"417":{"position":[[146,14]]},"747":{"position":[[221,14],[3185,14]]},"756":{"position":[[130,14]]},"765":{"position":[[116,14]]},"784":{"position":[[118,14],[366,14]]},"796":{"position":[[146,14]]}},"keywords":{}}],["resolveddepend",{"_index":3923,"title":{},"content":{"851":{"position":[[1286,18]]}},"keywords":{}}],["resolvedstringwithmacro",{"_index":2052,"title":{"385":{"position":[[0,25]]},"764":{"position":[[0,25]]}},"content":{"385":{"position":[[0,25]]},"764":{"position":[[0,25]]}},"keywords":{}}],["resolveselect",{"_index":3534,"title":{},"content":{"693":{"position":[[2588,13]]}},"keywords":{}}],["resourc",{"_index":97,"title":{"1051":{"position":[[6,9]]}},"content":{"5":{"position":[[323,9]]},"91":{"position":[[588,8]]},"223":{"position":[[588,8]]},"362":{"position":[[2762,9]]},"374":{"position":[[1695,8],[1860,8]]},"377":{"position":[[638,9],[731,9],[1042,9],[1124,10],[1148,8],[1614,9]]},"406":{"position":[[324,9],[481,11]]},"706":{"position":[[2241,9]]},"708":{"position":[[218,9]]},"741":{"position":[[2762,9]]},"753":{"position":[[1695,8],[1860,8]]},"756":{"position":[[638,9],[731,9],[1042,9],[1124,10],[1148,8],[1614,9]]},"785":{"position":[[324,9],[481,11]]},"839":{"position":[[215,8]]},"947":{"position":[[801,8]]},"1005":{"position":[[396,9]]},"1052":{"position":[[83,10],[120,9],[192,10],[298,9],[397,9],[585,9],[925,10],[1017,9],[1096,9],[1155,8],[1263,9],[1327,9],[1505,9]]},"1053":{"position":[[101,8],[183,9],[299,8],[628,8],[827,8],[892,8],[1088,8],[1288,8],[1306,8],[1574,10]]},"1054":{"position":[[766,9],[792,8],[916,8],[1144,8],[1235,8],[1601,8]]},"1069":{"position":[[653,8],[750,8],[786,8],[869,9]]},"1116":{"position":[[95,8]]},"1348":{"position":[[2325,10]]},"1353":{"position":[[2628,9]]},"1355":{"position":[[1830,10],[2380,10],[6320,10],[6515,9]]},"1358":{"position":[[3225,10]]},"1359":{"position":[[919,9],[2152,10]]},"1361":{"position":[[647,9]]},"1363":{"position":[[2878,9]]},"1366":{"position":[[886,8],[2052,8],[2271,8],[2624,8],[2649,9],[2805,9],[2946,8],[3214,8]]},"1374":{"position":[[621,10]]},"1381":{"position":[[590,10],[2175,9],[2261,8],[2331,8],[2642,9]]},"1382":{"position":[[2798,10]]},"1383":{"position":[[5107,9]]},"1384":{"position":[[3669,10]]},"1385":{"position":[[3009,9]]},"1387":{"position":[[3601,10],[5276,9]]},"1388":{"position":[[3149,10]]},"1393":{"position":[[847,10],[2890,8],[3710,8],[6908,10],[6923,9],[10123,9]]},"1395":{"position":[[601,10],[2379,9],[2819,10]]},"1397":{"position":[[2808,8],[3029,8]]},"1398":{"position":[[1004,10],[3797,10],[3812,9],[5440,8],[5499,9]]},"1401":{"position":[[1663,10],[1755,10]]},"1405":{"position":[[1001,10]]},"1407":{"position":[[1028,10]]},"1410":{"position":[[1341,10],[1611,8],[5610,9]]},"1412":{"position":[[1173,10],[1700,10],[3259,10]]},"1413":{"position":[[1319,10]]},"1422":{"position":[[3800,8]]},"1423":{"position":[[2570,8]]},"1426":{"position":[[970,9],[2398,9]]},"1427":{"position":[[1390,10],[1906,9],[5493,10],[5714,9]]},"1429":{"position":[[1790,10],[4372,9],[4848,10]]},"1430":{"position":[[1193,10]]},"1436":{"position":[[425,10]]},"1439":{"position":[[1626,10],[2192,9],[7402,10],[7623,9]]},"1440":{"position":[[1991,10],[4365,9],[4930,10]]},"1444":{"position":[[1636,9],[2155,8]]},"1462":{"position":[[3827,10],[4342,9]]},"1465":{"position":[[1004,10],[1458,9],[2430,9],[3154,8],[3356,8],[4278,8],[4601,8],[4726,9]]},"1467":{"position":[[4262,10],[5995,9],[9423,8],[9625,8],[10720,9],[11118,8],[11254,9]]},"1469":{"position":[[2381,8]]},"1470":{"position":[[2389,10]]},"1471":{"position":[[1460,10]]},"1472":{"position":[[1373,10]]},"1473":{"position":[[1678,10]]},"1474":{"position":[[1169,10]]},"1475":{"position":[[1315,10]]},"1477":{"position":[[559,10],[1919,10],[2173,10],[2301,9],[2506,10],[2754,9],[2938,8],[3131,8]]},"1478":{"position":[[837,10],[3088,8]]},"1485":{"position":[[718,8],[4646,9]]}},"keywords":{}}],["resource_compress",{"_index":6459,"title":{},"content":{"1350":{"position":[[3411,21]]},"1352":{"position":[[3410,21]]}},"keywords":{}}],["resource_dir",{"_index":8499,"title":{},"content":{"1481":{"position":[[889,13]]}},"keywords":{}}],["resource_env_var",{"_index":2026,"title":{},"content":{"377":{"position":[[273,18],[1477,18]]},"756":{"position":[[273,18],[1477,18]]},"1052":{"position":[[1523,17]]},"1054":{"position":[[387,17]]}},"keywords":{}}],["resource_filt",{"_index":6460,"title":{},"content":{"1350":{"position":[[3442,16]]},"1352":{"position":[[3441,16]]}},"keywords":{}}],["resource_group",{"_index":6864,"title":{},"content":{"1363":{"position":[[2354,15]]},"1367":{"position":[[5284,15]]}},"keywords":{}}],["resource_group_map",{"_index":6865,"title":{},"content":{"1363":{"position":[[2386,19]]},"1367":{"position":[[5316,19]]}},"keywords":{}}],["resource_stable_id",{"_index":6461,"title":{},"content":{"1350":{"position":[[3474,20]]},"1352":{"position":[[3473,20]]},"1470":{"position":[[2312,20]]}},"keywords":{}}],["resource_union",{"_index":6635,"title":{},"content":{"1359":{"position":[[827,15]]}},"keywords":{}}],["resource_union_packag",{"_index":6374,"title":{},"content":{"1348":{"position":[[2285,23]]},"1350":{"position":[[3511,23]]},"1352":{"position":[[3510,23]]},"1355":{"position":[[1790,23]]},"1470":{"position":[[2349,23]]}},"keywords":{}}],["resources.resourc",{"_index":5318,"title":{},"content":{"1052":{"position":[[1123,19]]}},"keywords":{}}],["resources_from_dep",{"_index":6948,"title":{},"content":{"1366":{"position":[[728,20],[2505,20]]}},"keywords":{}}],["resources_root",{"_index":6375,"title":{},"content":{"1348":{"position":[[2351,15]]},"1355":{"position":[[1856,15]]},"1412":{"position":[[1199,15]]},"1413":{"position":[[1345,15]]},"1427":{"position":[[1416,15],[5620,14]]},"1429":{"position":[[1816,15]]},"1430":{"position":[[1219,15]]},"1439":{"position":[[1652,15],[7529,14]]},"1440":{"position":[[2017,15]]},"1470":{"position":[[2415,15]]},"1474":{"position":[[1195,15]]},"1475":{"position":[[1341,15]]}},"keywords":{}}],["respect",{"_index":640,"title":{},"content":{"22":{"position":[[476,12]]},"118":{"position":[[272,13]]},"534":{"position":[[272,13]]},"690":{"position":[[2981,13]]},"693":{"position":[[1235,13]]},"844":{"position":[[181,13]]},"900":{"position":[[616,10]]},"921":{"position":[[680,7],[941,7],[1023,7]]},"939":{"position":[[485,10]]},"994":{"position":[[176,10]]},"1043":{"position":[[211,13]]},"1069":{"position":[[188,13]]},"1384":{"position":[[9987,9]]}},"keywords":{}}],["respons",{"_index":1199,"title":{},"content":{"94":{"position":[[1837,11]]},"226":{"position":[[1837,11]]},"715":{"position":[[2078,8]]},"865":{"position":[[894,11]]},"1050":{"position":[[1954,11],[3066,11]]},"1057":{"position":[[757,11]]},"1219":{"position":[[212,9]]},"1224":{"position":[[149,9]]},"1353":{"position":[[2710,14]]},"1438":{"position":[[1754,8],[1883,8]]},"1477":{"position":[[1725,11]]},"1486":{"position":[[4912,9],[5444,8]]}},"keywords":{}}],["rest",{"_index":2710,"title":{},"content":{"584":{"position":[[1265,4]]},"890":{"position":[[1649,4]]},"951":{"position":[[1389,4]]},"955":{"position":[[985,4]]},"1102":{"position":[[958,4]]},"1126":{"position":[[4,4]]},"1362":{"position":[[8221,4]]},"1364":{"position":[[9070,4]]},"1367":{"position":[[8309,4]]}},"keywords":{}}],["restart",{"_index":330,"title":{"1109":{"position":[[0,9]]},"1110":{"position":[[13,10]]}},"content":{"10":{"position":[[537,7]]},"1035":{"position":[[129,8]]},"1075":{"position":[[558,10]]},"1077":{"position":[[132,9]]},"1110":{"position":[[48,9]]},"1486":{"position":[[2670,7]]}},"keywords":{}}],["restart.test.v2_test_executor",{"_index":4125,"title":{},"content":{"879":{"position":[[281,30]]}},"keywords":{}}],["restrict",{"_index":258,"title":{},"content":{"9":{"position":[[1720,12]]},"91":{"position":[[642,12]]},"223":{"position":[[642,12]]},"566":{"position":[[256,8]]},"594":{"position":[[347,11]]},"648":{"position":[[658,10]]},"680":{"position":[[364,11]]},"693":{"position":[[1898,10]]},"708":{"position":[[183,8],[1018,11]]},"888":{"position":[[923,12]]},"924":{"position":[[2277,8]]},"942":{"position":[[1262,11]]},"1001":{"position":[[1460,11]]},"1009":{"position":[[506,12]]},"1042":{"position":[[451,12]]},"1064":{"position":[[1990,11]]},"1065":{"position":[[393,11]]},"1348":{"position":[[3290,11],[3380,11]]},"1349":{"position":[[1435,11],[1525,11]]},"1350":{"position":[[4406,11],[4496,11]]},"1351":{"position":[[1630,11],[1721,11]]},"1352":{"position":[[4405,11],[4495,11]]},"1353":{"position":[[2009,11],[2099,11]]},"1354":{"position":[[1847,11],[1937,11]]},"1355":{"position":[[2990,11],[3081,11]]},"1356":{"position":[[1353,11],[1443,11]]},"1357":{"position":[[1026,11],[1116,11]]},"1358":{"position":[[1747,11],[1837,11]]},"1359":{"position":[[1584,11],[1674,11]]},"1360":{"position":[[2219,11],[2310,11]]},"1361":{"position":[[1574,11],[1664,11]]},"1362":{"position":[[5942,11],[6033,11]]},"1363":{"position":[[3688,11],[3779,11]]},"1364":{"position":[[5971,11],[6062,11]]},"1365":{"position":[[1508,11],[1598,11]]},"1366":{"position":[[1718,11],[1809,11]]},"1367":{"position":[[7369,11],[7460,11]]},"1368":{"position":[[2064,11],[2154,11]]},"1369":{"position":[[1116,11],[1206,11]]},"1370":{"position":[[1367,11],[1458,11]]},"1371":{"position":[[992,11],[1082,11]]},"1372":{"position":[[2630,11],[2720,11]]},"1373":{"position":[[3502,11],[3592,11]]},"1374":{"position":[[1402,11],[1493,11]]},"1375":{"position":[[1028,11],[1118,11]]},"1376":{"position":[[984,11],[1074,11]]},"1377":{"position":[[1223,11],[1313,11]]},"1378":{"position":[[970,11],[1060,11]]},"1379":{"position":[[993,11],[1083,11]]},"1380":{"position":[[1464,11],[1554,11]]},"1381":{"position":[[1370,11],[1460,11]]},"1382":{"position":[[3854,11],[3945,11]]},"1383":{"position":[[2092,11],[2183,11]]},"1384":{"position":[[5016,11],[5107,11]]},"1385":{"position":[[2689,11],[2779,11]]},"1386":{"position":[[1327,11],[1417,11]]},"1387":{"position":[[4958,11],[5048,11]]},"1388":{"position":[[4154,11],[4245,11]]},"1389":{"position":[[5011,11],[5101,11]]},"1390":{"position":[[1263,11],[1353,11]]},"1391":{"position":[[1216,11],[1306,11]]},"1392":{"position":[[1366,11],[1456,11]]},"1393":{"position":[[1942,11],[2033,11]]},"1394":{"position":[[1386,11],[1476,11]]},"1395":{"position":[[1399,11],[1490,11]]},"1396":{"position":[[1192,11],[1282,11]]},"1397":{"position":[[1373,11],[1463,11]]},"1398":{"position":[[2049,11],[2140,11]]},"1399":{"position":[[1228,11],[1318,11]]},"1400":{"position":[[1097,11],[1187,11]]},"1401":{"position":[[1172,11],[1262,11]]},"1402":{"position":[[1328,11],[1418,11]]},"1403":{"position":[[1922,11],[2013,11]]},"1404":{"position":[[1161,11],[1251,11]]},"1405":{"position":[[1852,11],[1942,11]]},"1406":{"position":[[1068,11],[1158,11]]},"1407":{"position":[[1893,11],[1983,11]]},"1408":{"position":[[1589,11],[1679,11]]},"1409":{"position":[[1123,11],[1213,11]]},"1410":{"position":[[2289,11],[2380,11]]},"1411":{"position":[[1106,11],[1196,11]]},"1412":{"position":[[2310,11],[2401,11]]},"1413":{"position":[[2490,11],[2580,11]]},"1414":{"position":[[1357,11],[1447,11]]},"1415":{"position":[[3339,11],[3429,11]]},"1416":{"position":[[1991,11],[2081,11]]},"1417":{"position":[[1580,11],[1670,11]]},"1418":{"position":[[1281,11],[1371,11]]},"1419":{"position":[[1409,11],[1499,11]]},"1420":{"position":[[1673,11],[1763,11]]},"1421":{"position":[[1648,11],[1738,11]]},"1422":{"position":[[1555,11],[1646,11]]},"1423":{"position":[[1540,11],[1630,11]]},"1424":{"position":[[1665,11],[1755,11]]},"1425":{"position":[[1281,11],[1371,11]]},"1426":{"position":[[1628,11],[1719,11]]},"1427":{"position":[[2525,11],[2616,11]]},"1428":{"position":[[1263,11],[1353,11]]},"1429":{"position":[[3189,11],[3280,11]]},"1430":{"position":[[2039,11],[2129,11]]},"1431":{"position":[[1383,11],[1473,11]]},"1432":{"position":[[1904,11],[1994,11]]},"1433":{"position":[[1425,11],[1515,11]]},"1434":{"position":[[1099,11],[1189,11]]},"1435":{"position":[[1063,11],[1153,11]]},"1436":{"position":[[1079,11],[1169,11]]},"1437":{"position":[[1149,11],[1239,11]]},"1438":{"position":[[1287,11],[1378,11]]},"1439":{"position":[[2811,11],[2902,11]]},"1440":{"position":[[3377,11],[3468,11]]},"1441":{"position":[[1105,11],[1195,11]]},"1442":{"position":[[1182,11],[1273,11]]},"1443":{"position":[[1400,11],[1490,11]]},"1444":{"position":[[1316,11],[1406,11]]},"1445":{"position":[[1005,11],[1095,11]]},"1446":{"position":[[1339,11],[1429,11]]},"1447":{"position":[[1221,11],[1311,11]]},"1448":{"position":[[1656,11],[1746,11]]},"1449":{"position":[[1590,11],[1680,11]]},"1450":{"position":[[1469,11],[1559,11]]},"1451":{"position":[[1469,11],[1559,11]]},"1452":{"position":[[1015,11],[1105,11]]},"1453":{"position":[[1601,11],[1691,11]]},"1454":{"position":[[3967,11],[4057,11]]},"1455":{"position":[[1854,11],[1944,11]]},"1456":{"position":[[1199,11],[1289,11]]},"1457":{"position":[[1258,11],[1348,11]]},"1458":{"position":[[1793,11],[1883,11]]},"1459":{"position":[[1272,11],[1362,11]]},"1460":{"position":[[1384,11],[1474,11]]},"1461":{"position":[[1603,11],[1694,11]]},"1462":{"position":[[4980,11],[5070,11]]},"1463":{"position":[[1106,11],[1196,11]]},"1464":{"position":[[1014,11],[1104,11]]},"1465":{"position":[[2112,11],[2202,11]]},"1466":{"position":[[1350,11],[1440,11]]},"1467":{"position":[[5673,11],[5764,11]]},"1468":{"position":[[1114,11],[1204,11]]},"1469":{"position":[[1491,11],[1582,11]]},"1470":{"position":[[4016,11],[4106,11]]},"1471":{"position":[[2354,11],[2445,11]]},"1472":{"position":[[2313,11],[2404,11]]},"1473":{"position":[[2628,11],[2719,11]]},"1474":{"position":[[2015,11],[2105,11]]},"1475":{"position":[[2486,11],[2576,11]]},"1476":{"position":[[1091,11],[1181,11]]},"1477":{"position":[[1247,11],[1338,11]]},"1478":{"position":[[1738,11],[1829,11]]},"1479":{"position":[[1183,11],[1273,11]]},"1480":{"position":[[1596,11],[1686,11]]},"1481":{"position":[[2129,11],[2219,11]]},"1482":{"position":[[1203,11],[1293,11]]},"1483":{"position":[[1037,11],[1127,11]]},"1484":{"position":[[1109,11],[1199,11]]},"1485":{"position":[[1369,11],[1459,11]]},"1486":{"position":[[1613,11],[1703,11]]},"1487":{"position":[[1312,11],[1403,11]]}},"keywords":{}}],["restrictions.th",{"_index":4364,"title":{},"content":{"900":{"position":[[537,16]]}},"keywords":{}}],["restructur",{"_index":4749,"title":{},"content":{"955":{"position":[[190,13]]}},"keywords":{}}],["resu",{"_index":3944,"title":{},"content":{"856":{"position":[[598,6]]}},"keywords":{}}],["result",{"_index":274,"title":{"1125":{"position":[[8,6]]}},"content":{"9":{"position":[[2110,6]]},"13":{"position":[[99,9]]},"23":{"position":[[1016,7],[1982,7],[2506,6]]},"34":{"position":[[68,6]]},"38":{"position":[[67,6]]},"50":{"position":[[368,9]]},"85":{"position":[[560,9]]},"86":{"position":[[245,6]]},"89":{"position":[[803,6]]},"91":{"position":[[444,9]]},"94":{"position":[[1970,6],[2127,6]]},"96":{"position":[[243,6]]},"98":{"position":[[563,9],[780,6],[1181,6]]},"99":{"position":[[1589,6]]},"119":{"position":[[172,9]]},"183":{"position":[[67,6]]},"190":{"position":[[68,6]]},"197":{"position":[[368,9]]},"217":{"position":[[560,9]]},"218":{"position":[[245,6]]},"221":{"position":[[803,6]]},"223":{"position":[[444,9]]},"226":{"position":[[1970,6],[2127,6]]},"228":{"position":[[243,6]]},"230":{"position":[[563,9],[780,6],[1181,6]]},"231":{"position":[[1589,6]]},"233":{"position":[[79,6],[247,7],[353,7]]},"240":{"position":[[264,7],[375,6]]},"242":{"position":[[568,6]]},"243":{"position":[[641,6]]},"276":{"position":[[548,6]]},"277":{"position":[[496,6],[696,6]]},"281":{"position":[[637,6]]},"282":{"position":[[587,6],[805,6]]},"304":{"position":[[396,9]]},"305":{"position":[[148,7],[268,6]]},"306":{"position":[[651,6]]},"314":{"position":[[335,6]]},"318":{"position":[[468,6]]},"327":{"position":[[473,6]]},"328":{"position":[[449,6]]},"329":{"position":[[324,7]]},"330":{"position":[[392,6]]},"331":{"position":[[372,6]]},"335":{"position":[[666,6]]},"345":{"position":[[476,9]]},"346":{"position":[[80,7],[154,7],[336,6]]},"347":{"position":[[83,7],[252,7],[372,6]]},"362":{"position":[[2187,6]]},"411":{"position":[[286,6]]},"415":{"position":[[337,6]]},"418":{"position":[[809,8],[905,6]]},"429":{"position":[[287,8]]},"446":{"position":[[287,7]]},"468":{"position":[[354,6]]},"469":{"position":[[330,6]]},"470":{"position":[[264,7]]},"471":{"position":[[273,6]]},"472":{"position":[[253,6]]},"475":{"position":[[428,6]]},"478":{"position":[[281,6]]},"510":{"position":[[354,6]]},"511":{"position":[[374,6]]},"535":{"position":[[172,9]]},"574":{"position":[[113,7]]},"577":{"position":[[704,7]]},"590":{"position":[[485,6]]},"592":{"position":[[283,7]]},"617":{"position":[[405,7]]},"635":{"position":[[77,6]]},"636":{"position":[[321,9],[442,9]]},"644":{"position":[[192,6],[225,6]]},"648":{"position":[[228,6],[262,6],[401,6]]},"653":{"position":[[144,8]]},"664":{"position":[[85,6]]},"666":{"position":[[301,7]]},"668":{"position":[[140,6]]},"673":{"position":[[395,6]]},"688":{"position":[[710,7]]},"703":{"position":[[86,7]]},"704":{"position":[[1926,9]]},"711":{"position":[[736,9],[833,8]]},"712":{"position":[[1417,7],[1471,9],[2396,6]]},"718":{"position":[[576,6]]},"722":{"position":[[1055,6]]},"724":{"position":[[157,8],[482,6],[1470,6]]},"741":{"position":[[2187,6]]},"790":{"position":[[286,6]]},"794":{"position":[[337,6]]},"797":{"position":[[809,8],[905,6]]},"808":{"position":[[287,8]]},"825":{"position":[[287,7]]},"832":{"position":[[260,6]]},"833":{"position":[[143,7]]},"840":{"position":[[1664,7]]},"844":{"position":[[54,6]]},"845":{"position":[[250,9]]},"846":{"position":[[839,7],[1132,9]]},"847":{"position":[[353,6]]},"855":{"position":[[58,6]]},"861":{"position":[[494,6]]},"869":{"position":[[526,7]]},"870":{"position":[[566,8]]},"872":{"position":[[706,9]]},"874":{"position":[[210,9],[328,9]]},"892":{"position":[[954,7]]},"898":{"position":[[1552,7],[2092,7]]},"900":{"position":[[439,6],[1361,6]]},"904":{"position":[[741,9]]},"905":{"position":[[1286,9]]},"924":{"position":[[419,7],[1004,6],[1617,6],[2207,6]]},"951":{"position":[[1122,6],[1342,6]]},"954":{"position":[[673,9]]},"959":{"position":[[354,8]]},"965":{"position":[[121,6]]},"966":{"position":[[475,6]]},"991":{"position":[[2779,7]]},"1001":{"position":[[1434,7]]},"1017":{"position":[[147,6]]},"1021":{"position":[[640,7],[727,6]]},"1050":{"position":[[106,7],[152,6],[410,6],[499,6],[956,6],[2461,6],[2562,6],[3434,7],[3657,6],[3764,6],[4324,6],[4358,6],[4436,6],[4489,7],[4662,7]]},"1057":{"position":[[1346,7]]},"1058":{"position":[[1384,7],[1402,7]]},"1059":{"position":[[144,9]]},"1064":{"position":[[1526,7]]},"1065":{"position":[[367,7]]},"1067":{"position":[[483,7],[580,9]]},"1070":{"position":[[882,7]]},"1112":{"position":[[268,7],[325,8],[918,7]]},"1114":{"position":[[955,7]]},"1125":{"position":[[43,6],[65,6],[123,7]]},"1136":{"position":[[743,7]]},"1138":{"position":[[3851,6],[4291,6]]},"1140":{"position":[[885,9],[3340,6],[3780,6]]},"1148":{"position":[[2797,6],[7223,7]]},"1167":{"position":[[4344,6],[4784,6]]},"1188":{"position":[[938,9],[3393,6],[3833,6]]},"1217":{"position":[[3085,6],[3525,6]]},"1228":{"position":[[5166,6],[5606,6]]},"1240":{"position":[[307,9]]},"1258":{"position":[[334,6]]},"1259":{"position":[[320,9]]},"1262":{"position":[[105,9]]},"1289":{"position":[[334,6]]},"1290":{"position":[[320,9]]},"1293":{"position":[[105,9]]},"1317":{"position":[[334,6]]},"1318":{"position":[[320,9]]},"1321":{"position":[[105,9]]},"1355":{"position":[[5513,7]]},"1360":{"position":[[4510,7]]},"1363":{"position":[[5511,9]]},"1367":{"position":[[14073,6]]},"1370":{"position":[[728,6]]},"1383":{"position":[[6542,7],[8422,6]]},"1386":{"position":[[4188,6],[4539,9],[5071,6]]},"1403":{"position":[[3925,7]]},"1415":{"position":[[5146,9]]},"1473":{"position":[[3918,6]]},"1478":{"position":[[1084,7],[3576,7]]},"1482":{"position":[[2719,7],[3027,7]]}},"keywords":{}}],["result.as_output",{"_index":5297,"title":{},"content":{"1050":{"position":[[2686,20],[3959,19]]}},"keywords":{}}],["result.dot",{"_index":6276,"title":{},"content":{"1260":{"position":[[950,10]]},"1291":{"position":[[950,10]]},"1319":{"position":[[950,10]]}},"keywords":{}}],["result.html",{"_index":7652,"title":{},"content":{"1399":{"position":[[2932,14]]}},"keywords":{}}],["result1",{"_index":1794,"title":{},"content":{"329":{"position":[[435,7]]},"470":{"position":[[375,7]]}},"keywords":{}}],["result2",{"_index":1797,"title":{},"content":{"329":{"position":[[531,7]]},"470":{"position":[[476,7]]}},"keywords":{}}],["resultpreord",{"_index":5606,"title":{},"content":{"1088":{"position":[[1370,14]]}},"keywords":{}}],["retain",{"_index":4860,"title":{},"content":{"980":{"position":[[1361,7]]},"1056":{"position":[[746,9],[797,8],[991,9],[1040,8]]},"1057":{"position":[[1135,7]]},"1071":{"position":[[614,6]]},"1148":{"position":[[7398,9],[7445,9]]},"1186":{"position":[[522,10],[535,9],[614,9],[683,8],[950,9],[997,9]]},"1187":{"position":[[535,10],[548,9],[627,9],[696,8],[963,9],[1010,9]]},"1188":{"position":[[5261,10],[5274,9],[5353,9],[5422,8],[5689,9],[5736,9]]}},"keywords":{}}],["retri",{"_index":1218,"title":{},"content":{"94":{"position":[[3097,7]]},"226":{"position":[[3097,7]]}},"keywords":{}}],["retriev",{"_index":843,"title":{},"content":{"37":{"position":[[263,9]]},"182":{"position":[[263,9]]},"430":{"position":[[61,8]]},"693":{"position":[[638,8]]},"704":{"position":[[2301,9]]},"809":{"position":[[61,8]]},"855":{"position":[[168,8]]},"890":{"position":[[7018,8]]},"895":{"position":[[674,8]]}},"keywords":{}}],["retroact",{"_index":650,"title":{},"content":{"22":{"position":[[686,13]]}},"keywords":{}}],["return",{"_index":824,"title":{"836":{"position":[[19,8]]},"982":{"position":[[0,6]]},"1131":{"position":[[60,8]]}},"content":{"33":{"position":[[39,7]]},"34":{"position":[[31,7]]},"36":{"position":[[86,7]]},"37":{"position":[[29,7]]},"38":{"position":[[30,7]]},"45":{"position":[[48,7]]},"47":{"position":[[155,9]]},"52":{"position":[[82,7]]},"53":{"position":[[60,7]]},"62":{"position":[[61,7]]},"66":{"position":[[36,7],[118,8]]},"71":{"position":[[26,7]]},"72":{"position":[[27,7]]},"73":{"position":[[29,7]]},"86":{"position":[[113,7]]},"88":{"position":[[218,7]]},"89":{"position":[[102,7]]},"95":{"position":[[235,7]]},"96":{"position":[[116,7]]},"98":{"position":[[468,7]]},"99":{"position":[[580,7]]},"108":{"position":[[61,7]]},"113":{"position":[[148,7]]},"123":{"position":[[73,8]]},"158":{"position":[[53,7]]},"161":{"position":[[35,7]]},"170":{"position":[[27,7]]},"171":{"position":[[36,7]]},"181":{"position":[[86,7]]},"182":{"position":[[29,7]]},"183":{"position":[[30,7]]},"189":{"position":[[39,7]]},"190":{"position":[[31,7]]},"192":{"position":[[48,7]]},"194":{"position":[[155,9]]},"199":{"position":[[82,7]]},"200":{"position":[[60,7]]},"206":{"position":[[87,7]]},"218":{"position":[[113,7]]},"220":{"position":[[218,7]]},"221":{"position":[[102,7]]},"227":{"position":[[235,7]]},"228":{"position":[[116,7]]},"230":{"position":[[468,7]]},"231":{"position":[[580,7]]},"234":{"position":[[70,7]]},"240":{"position":[[205,7],[311,7]]},"242":{"position":[[472,7]]},"243":{"position":[[97,7]]},"245":{"position":[[75,7]]},"246":{"position":[[75,7]]},"276":{"position":[[44,7]]},"277":{"position":[[60,7]]},"281":{"position":[[69,7]]},"282":{"position":[[98,7]]},"285":{"position":[[61,7]]},"286":{"position":[[212,6],[252,6]]},"288":{"position":[[642,6],[743,6]]},"289":{"position":[[662,6],[763,6]]},"294":{"position":[[1154,7]]},"295":{"position":[[98,7]]},"296":{"position":[[48,7]]},"297":{"position":[[982,7]]},"298":{"position":[[613,7],[2123,6]]},"299":{"position":[[39,7]]},"301":{"position":[[1121,7]]},"302":{"position":[[98,7]]},"303":{"position":[[32,7]]},"306":{"position":[[89,7]]},"307":{"position":[[34,7]]},"309":{"position":[[382,7]]},"310":{"position":[[574,7]]},"311":{"position":[[422,7]]},"312":{"position":[[50,7]]},"314":{"position":[[83,7]]},"316":{"position":[[75,7],[119,7]]},"317":{"position":[[76,7],[121,7]]},"318":{"position":[[111,7],[263,6]]},"319":{"position":[[84,7]]},"320":{"position":[[226,7]]},"322":{"position":[[76,7]]},"329":{"position":[[265,7],[371,7]]},"344":{"position":[[303,7]]},"366":{"position":[[174,8]]},"367":{"position":[[204,8]]},"368":{"position":[[458,6],[1019,6]]},"375":{"position":[[146,8]]},"377":{"position":[[449,8]]},"379":{"position":[[153,8]]},"411":{"position":[[244,8]]},"414":{"position":[[120,7]]},"415":{"position":[[105,7]]},"416":{"position":[[260,7]]},"417":{"position":[[381,8],[489,7]]},"418":{"position":[[1051,6]]},"419":{"position":[[143,8]]},"425":{"position":[[118,7]]},"427":{"position":[[176,8],[538,7]]},"431":{"position":[[79,7]]},"432":{"position":[[154,7]]},"437":{"position":[[466,6]]},"438":{"position":[[95,7]]},"441":{"position":[[154,8],[242,6]]},"442":{"position":[[103,7]]},"445":{"position":[[74,7]]},"454":{"position":[[36,7],[118,8]]},"459":{"position":[[109,7]]},"470":{"position":[[205,7],[311,7]]},"476":{"position":[[324,7]]},"477":{"position":[[143,6]]},"480":{"position":[[24,7]]},"481":{"position":[[26,7]]},"483":{"position":[[27,7]]},"484":{"position":[[29,7]]},"491":{"position":[[61,7]]},"494":{"position":[[26,7]]},"495":{"position":[[27,7]]},"496":{"position":[[29,7]]},"510":{"position":[[713,6],[811,6]]},"511":{"position":[[728,6],[826,6]]},"520":{"position":[[61,7]]},"525":{"position":[[148,7]]},"528":{"position":[[85,7]]},"532":{"position":[[73,8]]},"542":{"position":[[53,7]]},"550":{"position":[[27,7]]},"551":{"position":[[36,7]]},"553":{"position":[[114,7]]},"554":{"position":[[45,6],[106,7]]},"555":{"position":[[109,7],[216,8]]},"556":{"position":[[100,7],[191,8]]},"557":{"position":[[45,6],[118,7]]},"558":{"position":[[65,7],[139,7]]},"559":{"position":[[161,7],[286,7]]},"560":{"position":[[201,7]]},"561":{"position":[[108,7],[198,8]]},"563":{"position":[[118,7]]},"564":{"position":[[107,7]]},"565":{"position":[[197,7]]},"566":{"position":[[199,7]]},"567":{"position":[[199,7]]},"568":{"position":[[55,7],[118,7]]},"569":{"position":[[156,7]]},"576":{"position":[[261,6]]},"589":{"position":[[54,7]]},"590":{"position":[[71,7],[144,7],[360,9]]},"591":{"position":[[202,7],[649,7]]},"592":{"position":[[61,7],[124,7]]},"594":{"position":[[166,7],[458,7]]},"595":{"position":[[104,7]]},"596":{"position":[[197,7]]},"604":{"position":[[123,7]]},"605":{"position":[[89,7]]},"606":{"position":[[100,7]]},"607":{"position":[[181,7],[333,7]]},"608":{"position":[[179,6],[219,6]]},"609":{"position":[[179,6],[219,6]]},"610":{"position":[[156,7]]},"611":{"position":[[175,7],[254,7]]},"612":{"position":[[200,7],[281,7]]},"615":{"position":[[100,7]]},"616":{"position":[[164,7],[348,7],[425,7],[773,7]]},"617":{"position":[[85,6],[148,7]]},"619":{"position":[[110,7]]},"620":{"position":[[86,7]]},"621":{"position":[[89,7]]},"628":{"position":[[48,7]]},"629":{"position":[[48,7]]},"630":{"position":[[37,7]]},"633":{"position":[[128,7],[161,7]]},"634":{"position":[[35,7],[81,7]]},"637":{"position":[[71,7]]},"639":{"position":[[96,6],[161,7]]},"643":{"position":[[143,9]]},"644":{"position":[[374,7]]},"645":{"position":[[54,7],[105,7]]},"647":{"position":[[37,7],[81,7]]},"648":{"position":[[859,7]]},"651":{"position":[[66,7]]},"652":{"position":[[144,7],[240,7]]},"653":{"position":[[130,9]]},"654":{"position":[[30,7],[72,7]]},"655":{"position":[[30,7],[72,7]]},"656":{"position":[[35,7],[79,7]]},"662":{"position":[[72,6],[158,7],[445,7],[556,7],[646,7]]},"665":{"position":[[101,7]]},"666":{"position":[[112,7],[294,6]]},"670":{"position":[[57,7],[196,7]]},"671":{"position":[[32,7]]},"673":{"position":[[98,7]]},"688":{"position":[[237,8]]},"693":{"position":[[6471,8]]},"711":{"position":[[19,8],[276,6],[437,6],[1023,8],[1088,7]]},"712":{"position":[[390,6],[2020,7],[2028,6],[2238,7],[2276,7],[2563,7]]},"722":{"position":[[582,6],[864,8],[910,9]]},"724":{"position":[[637,7]]},"745":{"position":[[174,8]]},"746":{"position":[[204,8]]},"747":{"position":[[458,6],[1019,6]]},"754":{"position":[[146,8]]},"756":{"position":[[449,8]]},"758":{"position":[[153,8]]},"790":{"position":[[244,8]]},"793":{"position":[[120,7]]},"794":{"position":[[105,7]]},"795":{"position":[[260,7]]},"796":{"position":[[381,8],[489,7]]},"797":{"position":[[1051,6]]},"798":{"position":[[143,8]]},"804":{"position":[[118,7]]},"806":{"position":[[176,8],[538,7]]},"810":{"position":[[79,7]]},"811":{"position":[[154,7]]},"816":{"position":[[466,6]]},"817":{"position":[[95,7]]},"820":{"position":[[154,8],[242,6]]},"821":{"position":[[103,7]]},"824":{"position":[[74,7]]},"840":{"position":[[1458,6],[1799,9]]},"846":{"position":[[229,7],[268,7],[307,7]]},"858":{"position":[[33,6]]},"877":{"position":[[603,6]]},"889":{"position":[[722,7]]},"898":{"position":[[1209,6],[1275,6],[1311,7]]},"900":{"position":[[1399,6]]},"905":{"position":[[305,6]]},"906":{"position":[[86,8]]},"924":{"position":[[2149,6]]},"930":{"position":[[70,6]]},"950":{"position":[[298,6],[1218,6]]},"954":{"position":[[61,7]]},"981":{"position":[[131,6]]},"991":{"position":[[910,6]]},"1001":{"position":[[1233,7]]},"1004":{"position":[[1605,6],[1699,6]]},"1006":{"position":[[821,8]]},"1019":{"position":[[555,9]]},"1026":{"position":[[490,6],[506,6],[1205,6],[1440,6],[1562,6],[1575,6]]},"1040":{"position":[[2663,6]]},"1043":{"position":[[139,6]]},"1044":{"position":[[178,7],[252,7],[421,9],[565,6],[705,7],[747,7],[1388,7],[3412,6]]},"1047":{"position":[[102,6],[372,7],[380,6],[403,6]]},"1048":{"position":[[712,6],[1209,6],[1318,6]]},"1049":{"position":[[940,6],[1569,6]]},"1053":{"position":[[1404,8]]},"1054":{"position":[[297,6],[1747,6]]},"1058":{"position":[[603,6],[1300,6]]},"1064":{"position":[[1316,7]]},"1065":{"position":[[162,7]]},"1075":{"position":[[127,8]]},"1082":{"position":[[297,7],[747,6]]},"1083":{"position":[[167,6],[581,6]]},"1086":{"position":[[570,6],[582,6]]},"1088":{"position":[[652,8]]},"1102":{"position":[[556,6]]},"1103":{"position":[[344,6],[1385,9]]},"1104":{"position":[[23,8],[154,6],[215,6],[876,9]]},"1105":{"position":[[1259,8]]},"1106":{"position":[[235,7]]},"1130":{"position":[[64,7]]},"1131":{"position":[[345,7],[364,9],[438,7]]},"1133":{"position":[[558,7],[888,7]]},"1134":{"position":[[240,7]]},"1136":{"position":[[726,6]]},"1148":{"position":[[7270,6]]},"1155":{"position":[[247,7],[567,8]]},"1190":{"position":[[1355,9]]},"1205":{"position":[[242,9]]},"1224":{"position":[[163,8]]},"1243":{"position":[[1242,6]]},"1254":{"position":[[682,7]]},"1258":{"position":[[154,6],[366,7],[563,6],[646,6],[678,7],[892,6],[924,7]]},"1259":{"position":[[1047,7],[1317,7]]},"1262":{"position":[[414,8],[479,8],[578,8],[734,7]]},"1271":{"position":[[90,7],[280,7]]},"1272":{"position":[[90,9],[159,7]]},"1273":{"position":[[30,7],[304,7],[492,7]]},"1277":{"position":[[83,7]]},"1278":{"position":[[83,7]]},"1279":{"position":[[83,7]]},"1280":{"position":[[83,7]]},"1281":{"position":[[83,7]]},"1282":{"position":[[529,6]]},"1283":{"position":[[543,6]]},"1284":{"position":[[522,6]]},"1289":{"position":[[154,6],[366,7],[563,6],[646,6],[678,7],[892,6],[924,7]]},"1290":{"position":[[1047,7],[1317,7]]},"1293":{"position":[[414,8],[479,8],[578,8],[734,7]]},"1302":{"position":[[90,7],[280,7]]},"1303":{"position":[[90,9],[159,7]]},"1304":{"position":[[30,7],[304,7],[492,7]]},"1308":{"position":[[83,7]]},"1309":{"position":[[83,7]]},"1310":{"position":[[83,7]]},"1311":{"position":[[83,7]]},"1312":{"position":[[83,7]]},"1313":{"position":[[529,6]]},"1314":{"position":[[543,6]]},"1315":{"position":[[522,6]]},"1317":{"position":[[154,6],[366,7],[563,6],[646,6],[678,7],[892,6],[924,7]]},"1318":{"position":[[1047,7],[1317,7]]},"1321":{"position":[[414,8],[479,8],[578,8],[734,7]]},"1330":{"position":[[90,7],[280,7]]},"1331":{"position":[[90,9],[159,7]]},"1332":{"position":[[30,7],[304,7],[492,7]]},"1336":{"position":[[83,7]]},"1337":{"position":[[83,7]]},"1338":{"position":[[83,7]]},"1339":{"position":[[83,7]]},"1340":{"position":[[83,7]]},"1341":{"position":[[529,6]]},"1342":{"position":[[543,6]]},"1343":{"position":[[522,6]]},"1355":{"position":[[3921,6]]},"1383":{"position":[[4648,8],[8141,7]]},"1402":{"position":[[2093,8]]},"1403":{"position":[[4413,9],[7241,7]]},"1427":{"position":[[3066,6]]},"1439":{"position":[[3740,6]]}},"keywords":{}}],["returnprovid",{"_index":3580,"title":{},"content":{"693":{"position":[[7289,15]]}},"keywords":{}}],["returnstat",{"_index":4362,"title":{},"content":{"900":{"position":[[372,17]]}},"keywords":{}}],["reus",{"_index":1141,"title":{},"content":{"92":{"position":[[1572,7]]},"224":{"position":[[1572,7]]},"288":{"position":[[598,5]]},"289":{"position":[[618,5]]},"298":{"position":[[2683,5]]},"510":{"position":[[669,5]]},"511":{"position":[[684,5]]},"693":{"position":[[4095,5]]},"851":{"position":[[182,5],[2009,5]]},"856":{"position":[[699,6],[800,6],[931,6]]},"860":{"position":[[242,5]]},"890":{"position":[[4393,7]]},"898":{"position":[[1158,6]]},"900":{"position":[[1508,5]]},"945":{"position":[[561,5]]},"951":{"position":[[273,5]]},"1040":{"position":[[1344,7]]},"1136":{"position":[[3104,5],[3281,5]]},"1138":{"position":[[6766,5],[6943,5]]},"1140":{"position":[[5692,5],[5869,5]]},"1142":{"position":[[1136,5],[1313,5]]},"1146":{"position":[[1076,5],[1253,5]]},"1148":{"position":[[4116,5],[4293,5]]},"1155":{"position":[[1172,5],[1349,5]]},"1156":{"position":[[750,5],[927,5]]},"1167":{"position":[[6696,5],[6873,5]]},"1169":{"position":[[535,5],[712,5]]},"1186":{"position":[[2340,5],[2517,5]]},"1187":{"position":[[2353,5],[2530,5]]},"1188":{"position":[[7079,5],[7256,5]]},"1191":{"position":[[940,5],[1117,5]]},"1192":{"position":[[1115,5],[1292,5]]},"1193":{"position":[[1167,5],[1344,5]]},"1194":{"position":[[807,5],[984,5]]},"1195":{"position":[[785,5],[962,5]]},"1196":{"position":[[595,5],[772,5]]},"1197":{"position":[[1578,5],[1755,5]]},"1198":{"position":[[1588,5],[1765,5]]},"1199":{"position":[[1616,5],[1793,5]]},"1200":{"position":[[1483,5],[1660,5]]},"1201":{"position":[[743,5],[920,5]]},"1202":{"position":[[1885,5],[2062,5],[6282,5],[6459,5]]},"1203":{"position":[[977,5],[1154,5]]},"1204":{"position":[[821,5],[998,5]]},"1205":{"position":[[2150,5],[2327,5]]},"1206":{"position":[[621,5],[798,5]]},"1207":{"position":[[778,5],[955,5]]},"1209":{"position":[[2126,5],[2303,5]]},"1217":{"position":[[5437,5],[5614,5]]},"1219":{"position":[[1423,5],[1600,5]]},"1222":{"position":[[547,5],[724,5]]},"1223":{"position":[[557,5],[734,5]]},"1224":{"position":[[737,5],[914,5]]},"1226":{"position":[[5905,5],[6082,5]]},"1228":{"position":[[7518,5],[7695,5]]},"1235":{"position":[[3386,5],[3563,5]]},"1237":{"position":[[6075,5],[6252,5]]},"1486":{"position":[[932,6]]}},"keywords":{}}],["reuse_limited_hybrid",{"_index":1905,"title":{},"content":{"362":{"position":[[1994,21]]},"741":{"position":[[1994,21]]}},"keywords":{}}],["reused.provid",{"_index":4383,"title":{},"content":{"900":{"position":[[1689,14]]}},"keywords":{}}],["rev",{"_index":7711,"title":{},"content":{"1404":{"position":[[503,4],[1606,3]]}},"keywords":{}}],["reveal",{"_index":5389,"title":{},"content":{"1057":{"position":[[445,7],[914,7]]}},"keywords":{}}],["revers",{"_index":1823,"title":{"665":{"position":[[0,9]]}},"content":{"335":{"position":[[608,7]]},"475":{"position":[[370,7]]},"665":{"position":[[60,9],[70,7],[174,7]]},"666":{"position":[[30,8],[259,8],[312,7]]},"1133":{"position":[[710,7],[832,8]]},"1403":{"position":[[6334,9]]}},"keywords":{}}],["reverse=tru",{"_index":3342,"title":{},"content":{"666":{"position":[[568,13],[828,13]]}},"keywords":{}}],["reversed("stressed".elem",{"_index":3333,"title":{},"content":{"665":{"position":[[272,38]]}},"keywords":{}}],["reversed(['a",{"_index":3331,"title":{},"content":{"665":{"position":[[189,14]]}},"keywords":{}}],["reversed(a",{"_index":3329,"title":{},"content":{"665":{"position":[[4,11]]}},"keywords":{}}],["reversed(range(5",{"_index":3332,"title":{},"content":{"665":{"position":[[234,18]]}},"keywords":{}}],["reversed(x",{"_index":3330,"title":{},"content":{"665":{"position":[[89,11]]}},"keywords":{}}],["reversed({"one"",{"_index":3337,"title":{},"content":{"665":{"position":[[435,26]]}},"keywords":{}}],["review",{"_index":100,"title":{},"content":{"5":{"position":[[373,6]]},"12":{"position":[[328,6]]}},"keywords":{}}],["reviewtest",{"_index":3814,"title":{},"content":{"726":{"position":[[28,10]]}},"keywords":{}}],["revisit",{"_index":4508,"title":{},"content":{"921":{"position":[[374,7]]},"942":{"position":[[459,9]]}},"keywords":{}}],["rewrit",{"_index":654,"title":{},"content":{"22":{"position":[[821,7]]},"1032":{"position":[[355,7]]}},"keywords":{}}],["rewrite_deps_fil",{"_index":8012,"title":{},"content":{"1432":{"position":[[1112,18]]}},"keywords":{}}],["rewrite_misc",{"_index":8013,"title":{},"content":{"1432":{"position":[[1141,13]]}},"keywords":{}}],["rewrite_sourcemap",{"_index":8014,"title":{},"content":{"1432":{"position":[[1165,18]]}},"keywords":{}}],["rewritten",{"_index":5436,"title":{},"content":{"1058":{"position":[[935,9]]}},"keywords":{}}],["rf",{"_index":4460,"title":{},"content":{"910":{"position":[[447,2]]}},"keywords":{}}],["rfc",{"_index":4469,"title":{"913":{"position":[[0,4]]},"934":{"position":[[39,5]]},"936":{"position":[[0,5]]},"978":{"position":[[0,4]]}},"content":{"926":{"position":[[179,3]]},"929":{"position":[[125,3]]},"947":{"position":[[1388,4]]},"969":{"position":[[101,4]]},"978":{"position":[[0,4],[24,3]]},"988":{"position":[[5,3]]},"1008":{"position":[[21,4]]}},"keywords":{}}],["rfcimplement",{"_index":4823,"title":{},"content":{"969":{"position":[[304,15]]}},"keywords":{}}],["rfind",{"_index":2945,"title":{},"content":{"611":{"position":[[248,5]]}},"keywords":{}}],["rich",{"_index":3432,"title":{},"content":{"685":{"position":[[26,4]]}},"keywords":{}}],["richer",{"_index":3897,"title":{},"content":{"847":{"position":[[220,6]]}},"keywords":{}}],["rid",{"_index":4285,"title":{},"content":{"892":{"position":[[2103,3]]}},"keywords":{}}],["right",{"_index":275,"title":{"1282":{"position":[[27,6]]},"1283":{"position":[[24,6]]},"1284":{"position":[[23,6]]},"1313":{"position":[[27,6]]},"1314":{"position":[[24,6]]},"1315":{"position":[[23,6]]},"1341":{"position":[[27,6]]},"1342":{"position":[[24,6]]},"1343":{"position":[[23,6]]}},"content":{"9":{"position":[[2141,5]]},"94":{"position":[[2199,5]]},"226":{"position":[[2199,5]]},"440":{"position":[[32,6]]},"587":{"position":[[343,5]]},"720":{"position":[[160,5]]},"819":{"position":[[32,6]]},"889":{"position":[[889,5],[968,5]]},"976":{"position":[[176,5]]},"991":{"position":[[3385,5]]},"1057":{"position":[[873,6]]},"1088":{"position":[[40,6],[353,6],[397,6],[764,5]]},"1259":{"position":[[2062,6],[2161,6],[2272,6]]},"1290":{"position":[[2062,6],[2161,6],[2272,6]]},"1318":{"position":[[2062,6],[2161,6],[2272,6]]},"1471":{"position":[[3371,5]]},"1472":{"position":[[3955,5]]},"1473":{"position":[[3405,5]]}},"keywords":{}}],["rightmost",{"_index":2966,"title":{},"content":{"614":{"position":[[290,9]]}},"keywords":{}}],["rindex",{"_index":2951,"title":{},"content":{"612":{"position":[[274,6]]}},"keywords":{}}],["rise",{"_index":4589,"title":{},"content":{"937":{"position":[[838,4]]}},"keywords":{}}],["risk",{"_index":394,"title":{},"content":{"12":{"position":[[162,4]]},"314":{"position":[[153,5]]},"861":{"position":[[1021,5]]},"981":{"position":[[666,5]]}},"keywords":{}}],["riski",{"_index":2220,"title":{},"content":{"416":{"position":[[396,5]]},"417":{"position":[[626,5]]},"795":{"position":[[396,5]]},"796":{"position":[[626,5]]},"861":{"position":[[902,5]]}},"keywords":{}}],["rm",{"_index":4457,"title":{},"content":{"910":{"position":[[419,2],[422,2],[443,2]]}},"keywords":{}}],["rmdir",{"_index":4461,"title":{},"content":{"910":{"position":[[450,5],[456,5]]}},"keywords":{}}],["robolectr",{"_index":8404,"title":{},"content":{"1470":{"position":[[3363,11],[4652,11],[4756,11]]}},"keywords":{}}],["robolectric_manifest",{"_index":8401,"title":{},"content":{"1470":{"position":[[2447,21]]}},"keywords":{}}],["robolectric_runtime_depend",{"_index":8402,"title":{},"content":{"1470":{"position":[[2474,33],[2523,31]]}},"keywords":{}}],["robolectric_test",{"_index":8398,"title":{"1470":{"position":[[0,17]]}},"content":{"1470":{"position":[[4,17],[3259,18]]}},"keywords":{}}],["robot",{"_index":5999,"title":{},"content":{"1176":{"position":[[104,7]]}},"keywords":{}}],["robust",{"_index":3972,"title":{},"content":{"860":{"position":[[547,6]]}},"keywords":{}}],["root",{"_index":505,"title":{"1210":{"position":[[0,4]]},"1211":{"position":[[5,5]]}},"content":{"17":{"position":[[668,5]]},"18":{"position":[[599,4],[1868,4]]},"94":{"position":[[2293,4],[3985,4]]},"107":{"position":[[75,5]]},"112":{"position":[[70,5]]},"226":{"position":[[2293,4],[3985,4]]},"242":{"position":[[309,4],[443,4]]},"289":{"position":[[109,5]]},"307":{"position":[[67,4]]},"319":{"position":[[125,5]]},"374":{"position":[[1319,5]]},"408":{"position":[[88,5]]},"433":{"position":[[129,4]]},"443":{"position":[[169,4]]},"511":{"position":[[135,5]]},"519":{"position":[[75,5]]},"524":{"position":[[70,5]]},"570":{"position":[[75,4]]},"580":{"position":[[4,4]]},"581":{"position":[[74,5],[243,4]]},"584":{"position":[[964,4]]},"693":{"position":[[35,4],[2250,4],[6214,4],[6450,5],[8730,4]]},"708":{"position":[[779,4]]},"717":{"position":[[361,4]]},"753":{"position":[[1319,5]]},"787":{"position":[[88,5]]},"812":{"position":[[129,4]]},"822":{"position":[[169,4]]},"878":{"position":[[1163,4]]},"879":{"position":[[102,4]]},"890":{"position":[[4992,4],[6053,4],[6184,4]]},"892":{"position":[[346,6],[404,5],[1822,5]]},"895":{"position":[[473,4],[504,4]]},"898":{"position":[[2784,4]]},"981":{"position":[[885,4]]},"1000":{"position":[[228,4]]},"1032":{"position":[[239,5]]},"1050":{"position":[[1395,5]]},"1070":{"position":[[373,4],[411,5],[489,5]]},"1073":{"position":[[31,4],[118,4]]},"1096":{"position":[[187,4]]},"1112":{"position":[[237,4],[1764,5]]},"1130":{"position":[[113,4],[214,5]]},"1138":{"position":[[234,4],[419,4],[581,5]]},"1148":{"position":[[677,6]]},"1172":{"position":[[707,4],[735,4]]},"1211":{"position":[[35,4],[61,4],[115,4],[228,4],[286,4]]},"1226":{"position":[[3413,4],[3598,4],[3760,5]]},"1228":{"position":[[1094,4],[1256,4]]},"1232":{"position":[[3776,4]]},"1237":{"position":[[3583,4],[3768,4],[3930,5]]},"1240":{"position":[[341,4]]},"1260":{"position":[[302,6]]},"1291":{"position":[[302,6]]},"1319":{"position":[[302,6]]},"1362":{"position":[[8257,4]]},"1364":{"position":[[9106,4],[9282,4]]},"1367":{"position":[[8345,4]]},"1373":{"position":[[5831,5]]},"1382":{"position":[[5441,4]]},"1383":{"position":[[7891,4]]},"1384":{"position":[[10388,4]]},"1385":{"position":[[3355,4]]},"1387":{"position":[[5688,4]]},"1397":{"position":[[2487,5]]},"1402":{"position":[[1975,4],[2107,5]]},"1403":{"position":[[6991,4]]},"1408":{"position":[[2195,5]]},"1410":{"position":[[4360,4]]},"1422":{"position":[[2667,4]]},"1446":{"position":[[2027,4],[2578,4]]},"1454":{"position":[[7292,4]]},"1457":{"position":[[1782,5]]},"1459":{"position":[[2000,4]]},"1462":{"position":[[5762,4]]},"1467":{"position":[[6258,4]]},"1471":{"position":[[5136,4]]},"1472":{"position":[[6022,4]]},"1473":{"position":[[5586,4]]},"1477":{"position":[[2583,5]]},"1485":{"position":[[1723,4]]}},"keywords":{}}],["root'",{"_index":5624,"title":{},"content":{"1098":{"position":[[53,6]]}},"keywords":{}}],["root//:main",{"_index":538,"title":{},"content":{"17":{"position":[[1455,11]]}},"keywords":{}}],["root/packag",{"_index":4700,"title":{},"content":{"944":{"position":[[1128,12]]}},"keywords":{}}],["root/par",{"_index":4093,"title":{},"content":{"877":{"position":[[383,11],[633,11]]},"878":{"position":[[1139,11]]}},"keywords":{}}],["rootdefault",{"_index":2018,"title":{},"content":{"374":{"position":[[1348,12]]},"753":{"position":[[1348,12]]}},"keywords":{}}],["roughli",{"_index":3399,"title":{},"content":{"680":{"position":[[59,7]]},"872":{"position":[[26,7]]},"1026":{"position":[[291,7]]},"1126":{"position":[[136,7]]}},"keywords":{}}],["rpath",{"_index":8420,"title":{},"content":{"1471":{"position":[[1503,6],[4890,6]]},"1473":{"position":[[1721,6],[5211,6]]}},"keywords":{}}],["rs",{"_index":8439,"title":{},"content":{"1471":{"position":[[5253,3]]},"1472":{"position":[[6139,3]]},"1473":{"position":[[5703,3]]}},"keywords":{}}],["rs/serde"",{"_index":7718,"title":{},"content":{"1404":{"position":[[1590,15]]}},"keywords":{}}],["rsplit",{"_index":2986,"title":{},"content":{"616":{"position":[[622,8]]}},"keywords":{}}],["rss",{"_index":5813,"title":{},"content":{"1126":{"position":[[1605,4]]}},"keywords":{}}],["rul",{"_index":7613,"title":{},"content":{"1398":{"position":[[1128,4]]}},"keywords":{}}],["rule",{"_index":14,"title":{"3":{"position":[[19,6]]},"10":{"position":[[13,4]]},"437":{"position":[[0,5]]},"677":{"position":[[6,4]]},"678":{"position":[[28,6]]},"679":{"position":[[32,6]]},"681":{"position":[[30,4],[55,5]]},"816":{"position":[[0,5]]},"929":{"position":[[4,4]]},"930":{"position":[[35,5]]},"1004":{"position":[[11,5]]},"1005":{"position":[[4,4]]},"1009":{"position":[[7,4]]},"1042":{"position":[[5,5]]},"1081":{"position":[[0,4]]},"1101":{"position":[[8,5]]},"1107":{"position":[[8,6]]},"1108":{"position":[[4,6]]},"1132":{"position":[[39,6]]},"1347":{"position":[[0,5]]}},"content":{"3":{"position":[[8,5],[29,5],[146,5]]},"9":{"position":[[1650,5],[1791,6],[2073,5],[2198,4],[2218,5]]},"10":{"position":[[31,6],[120,5],[250,4],[324,4],[575,5],[681,5],[815,5],[954,5],[1071,5],[1184,5]]},"16":{"position":[[12,5]]},"20":{"position":[[248,6],[294,5],[456,4]]},"23":{"position":[[654,5],[779,5],[881,5],[942,4],[1065,6],[1515,4],[1559,5],[1901,5],[2135,5]]},"24":{"position":[[743,6]]},"34":{"position":[[94,6]]},"38":{"position":[[86,5]]},"41":{"position":[[380,4]]},"49":{"position":[[47,4],[224,5]]},"72":{"position":[[135,5],[164,4]]},"74":{"position":[[150,4]]},"81":{"position":[[25,5],[204,5],[318,5]]},"82":{"position":[[26,6]]},"90":{"position":[[104,5]]},"92":{"position":[[327,4],[383,4],[976,4]]},"121":{"position":[[247,5]]},"125":{"position":[[123,4]]},"126":{"position":[[224,5],[384,5]]},"127":{"position":[[110,4]]},"130":{"position":[[234,5]]},"131":{"position":[[308,5]]},"132":{"position":[[182,5]]},"133":{"position":[[193,5],[264,4]]},"134":{"position":[[197,5]]},"135":{"position":[[123,5]]},"136":{"position":[[129,5]]},"137":{"position":[[147,5]]},"139":{"position":[[183,5]]},"140":{"position":[[219,5],[246,4]]},"145":{"position":[[171,5]]},"147":{"position":[[146,5]]},"148":{"position":[[202,5],[359,5]]},"150":{"position":[[138,5]]},"174":{"position":[[380,4]]},"183":{"position":[[86,5]]},"190":{"position":[[94,6]]},"196":{"position":[[47,4],[224,5]]},"213":{"position":[[25,5],[204,5],[318,5]]},"214":{"position":[[26,6]]},"222":{"position":[[104,5]]},"224":{"position":[[327,4],[383,4],[976,4]]},"234":{"position":[[64,5],[157,4]]},"238":{"position":[[447,4]]},"248":{"position":[[123,4]]},"249":{"position":[[224,5],[384,5]]},"250":{"position":[[110,4]]},"253":{"position":[[234,5]]},"254":{"position":[[308,5]]},"255":{"position":[[182,5]]},"256":{"position":[[193,5],[264,4]]},"257":{"position":[[197,5]]},"258":{"position":[[123,5]]},"259":{"position":[[129,5]]},"260":{"position":[[147,5]]},"262":{"position":[[183,5]]},"263":{"position":[[219,5],[246,4]]},"268":{"position":[[171,5]]},"270":{"position":[[146,5]]},"271":{"position":[[202,5],[359,5]]},"273":{"position":[[138,5]]},"284":{"position":[[114,4]]},"325":{"position":[[347,4]]},"326":{"position":[[362,4]]},"332":{"position":[[345,4]]},"333":{"position":[[349,4]]},"363":{"position":[[159,4]]},"368":{"position":[[430,6],[1209,5],[2995,4],[3412,4]]},"372":{"position":[[321,5]]},"374":{"position":[[310,4]]},"375":{"position":[[158,6]]},"377":{"position":[[461,6]]},"379":{"position":[[165,6]]},"386":{"position":[[308,4]]},"398":{"position":[[107,4]]},"399":{"position":[[101,4]]},"400":{"position":[[258,5],[288,4]]},"418":{"position":[[1002,5]]},"427":{"position":[[190,4],[244,4]]},"437":{"position":[[4,5],[284,5]]},"438":{"position":[[194,5],[275,5]]},"443":{"position":[[276,5],[372,5]]},"463":{"position":[[80,4]]},"466":{"position":[[228,4]]},"467":{"position":[[243,4]]},"473":{"position":[[226,4]]},"484":{"position":[[111,6]]},"495":{"position":[[135,5],[164,4]]},"497":{"position":[[150,4]]},"530":{"position":[[247,5]]},"622":{"position":[[87,6],[260,5],[650,5],[694,5],[1146,5],[1399,4],[1559,4]]},"678":{"position":[[48,5],[321,4]]},"679":{"position":[[11,5],[75,4],[164,4],[349,5]]},"680":{"position":[[226,4],[415,4],[720,5],[859,5],[1238,6]]},"681":{"position":[[8,4],[51,4],[96,4],[137,4],[230,4],[353,4],[390,4],[426,4],[487,4],[583,4],[612,4],[823,4]]},"682":{"position":[[46,4],[98,4],[150,4],[306,5]]},"683":{"position":[[21,4],[64,5],[80,4],[147,4],[261,5],[286,4]]},"684":{"position":[[6,5]]},"685":{"position":[[53,5],[196,5]]},"686":{"position":[[23,4]]},"687":{"position":[[64,6]]},"688":{"position":[[50,5],[121,5],[501,5],[525,4],[559,4],[700,4],[963,4],[1332,5]]},"690":{"position":[[19,4]]},"693":{"position":[[1023,4],[1093,4],[1301,4],[2784,5],[4471,4],[6487,4],[6547,4],[6574,5],[6973,5],[6981,4],[7116,4],[7145,4],[7373,5],[7459,4],[7628,4],[7689,4],[7963,6],[8518,4],[9163,5]]},"695":{"position":[[12,4],[139,5],[238,4],[400,5],[544,4],[566,5],[597,5]]},"699":{"position":[[71,5]]},"702":{"position":[[172,5],[186,5],[204,5],[243,5],[282,5],[321,5],[430,5]]},"708":{"position":[[71,5],[466,5],[837,4],[868,5]]},"710":{"position":[[330,4],[370,4]]},"711":{"position":[[95,6]]},"712":{"position":[[57,5],[136,4]]},"715":{"position":[[442,4],[494,5],[775,4],[809,5],[1134,5]]},"718":{"position":[[241,6],[267,4],[512,4]]},"722":{"position":[[217,5],[480,5],[572,4],[633,4]]},"742":{"position":[[159,4]]},"747":{"position":[[430,6],[1209,5],[2995,4],[3412,4]]},"751":{"position":[[321,5]]},"753":{"position":[[310,4]]},"754":{"position":[[158,6]]},"756":{"position":[[461,6]]},"758":{"position":[[165,6]]},"765":{"position":[[308,4]]},"777":{"position":[[107,4]]},"778":{"position":[[101,4]]},"779":{"position":[[258,5],[288,4]]},"797":{"position":[[1002,5]]},"806":{"position":[[190,4],[244,4]]},"816":{"position":[[4,5],[284,5]]},"817":{"position":[[194,5],[275,5]]},"822":{"position":[[276,5],[372,5]]},"835":{"position":[[242,4]]},"840":{"position":[[175,7]]},"845":{"position":[[104,4],[185,4]]},"847":{"position":[[142,6]]},"870":{"position":[[1418,5]]},"914":{"position":[[32,4]]},"926":{"position":[[41,4],[85,4],[157,4]]},"927":{"position":[[172,4]]},"930":{"position":[[4,4],[128,5]]},"933":{"position":[[127,5]]},"944":{"position":[[413,4],[438,4],[499,4],[1313,4]]},"947":{"position":[[533,4]]},"949":{"position":[[38,6]]},"950":{"position":[[1099,5]]},"951":{"position":[[677,5],[953,6],[995,5]]},"961":{"position":[[118,6],[763,4]]},"963":{"position":[[74,4]]},"964":{"position":[[178,5],[243,4],[508,5]]},"984":{"position":[[102,5]]},"989":{"position":[[39,4],[210,5]]},"990":{"position":[[1352,5]]},"991":{"position":[[61,5],[183,5],[628,5],[2826,4],[3238,4],[3538,5]]},"993":{"position":[[10,4]]},"994":{"position":[[20,4]]},"995":{"position":[[21,4],[779,4]]},"1000":{"position":[[664,4]]},"1004":{"position":[[11,5],[242,4],[515,5]]},"1005":{"position":[[4,4],[164,4],[300,4],[425,5]]},"1006":{"position":[[196,4],[247,4],[458,5],[706,4]]},"1007":{"position":[[113,4],[151,4]]},"1009":{"position":[[67,4],[204,5],[263,4],[317,4],[810,9]]},"1012":{"position":[[11,4],[432,5]]},"1017":{"position":[[81,4],[373,4],[569,7],[621,5]]},"1019":{"position":[[24,5],[91,4]]},"1027":{"position":[[56,4]]},"1040":{"position":[[1078,4]]},"1042":{"position":[[13,4],[35,4],[78,5],[249,5],[272,6],[658,4]]},"1043":{"position":[[13,4],[97,4],[129,5]]},"1044":{"position":[[2144,5],[2799,6]]},"1045":{"position":[[210,4]]},"1046":{"position":[[2,4],[44,5],[191,4]]},"1047":{"position":[[22,4],[165,5]]},"1048":{"position":[[791,5],[1501,5]]},"1050":{"position":[[2518,4],[3703,4]]},"1054":{"position":[[220,4],[1298,5],[1361,5],[1380,5]]},"1068":{"position":[[10,5]]},"1070":{"position":[[72,5]]},"1071":{"position":[[86,5]]},"1102":{"position":[[19,5],[86,4],[244,5],[390,4],[457,4],[943,5]]},"1103":{"position":[[2,4],[514,4],[585,4],[700,4],[911,4],[1019,5],[1427,5],[1485,4],[1534,4],[1639,5],[1867,5]]},"1104":{"position":[[39,4],[92,4],[113,5],[144,4],[673,4],[736,4],[1539,6],[1565,5]]},"1105":{"position":[[1621,4]]},"1107":{"position":[[119,4],[258,6]]},"1108":{"position":[[8,4],[182,5],[330,4],[435,5]]},"1112":{"position":[[4271,4]]},"1136":{"position":[[1340,4]]},"1138":{"position":[[204,5],[312,5],[389,5],[509,5]]},"1148":{"position":[[1696,4]]},"1155":{"position":[[699,6]]},"1205":{"position":[[820,4]]},"1209":{"position":[[573,4]]},"1226":{"position":[[2513,4],[3307,4],[3383,5],[3491,5],[3568,5],[3688,5]]},"1235":{"position":[[1833,4]]},"1237":{"position":[[2683,4],[3477,4],[3553,5],[3661,5],[3738,5],[3858,5]]},"1245":{"position":[[143,4],[402,4]]},"1259":{"position":[[1077,4]]},"1262":{"position":[[267,5]]},"1271":{"position":[[120,4],[315,4]]},"1290":{"position":[[1077,4]]},"1293":{"position":[[267,5]]},"1302":{"position":[[120,4],[315,4]]},"1318":{"position":[[1077,4]]},"1321":{"position":[[267,5]]},"1330":{"position":[[120,4],[315,4]]},"1348":{"position":[[2655,4]]},"1351":{"position":[[715,4],[825,5],[3368,4],[3602,4],[3695,5],[3846,5],[4539,4]]},"1353":{"position":[[1358,4],[2464,4],[2921,4],[3252,4]]},"1354":{"position":[[1167,4],[2772,4],[2979,4]]},"1355":{"position":[[2169,4],[2307,4],[3637,5],[3674,6],[3784,5],[3810,4],[3912,4],[3984,5],[4120,5],[4240,5],[4369,5],[4430,5],[4456,5],[5227,4],[5780,4],[5859,4],[5914,4],[5981,5],[6177,5],[6929,4],[7408,5],[7628,4],[7675,5]]},"1356":{"position":[[573,4],[667,6],[679,4],[1671,6],[1722,5]]},"1358":{"position":[[944,4],[2065,4]]},"1359":{"position":[[888,4],[1866,5],[2315,4],[2384,5]]},"1360":{"position":[[1349,4],[1570,5],[1613,6],[2508,5],[2652,5],[4384,4],[5888,4]]},"1361":{"position":[[633,4],[705,4],[835,5],[881,5],[903,4]]},"1362":{"position":[[4731,4],[4897,4],[6265,4],[7184,4],[7773,5],[7802,4],[7841,5],[11124,4],[12000,4],[12725,5]]},"1363":{"position":[[2836,4],[5620,4]]},"1364":{"position":[[4829,4],[4923,4],[6294,4],[6633,5],[6769,6],[6886,5],[7423,4],[8012,5],[8041,4],[8080,5],[8187,4],[8204,5],[8243,5],[8622,5],[8651,4],[8690,5],[12091,4],[13425,5]]},"1365":{"position":[[808,4],[851,4],[1776,4]]},"1366":{"position":[[864,4],[983,4],[1113,5],[2725,5],[2776,6]]},"1367":{"position":[[6620,4],[6715,6],[7692,4],[10587,4],[11494,4],[12633,5],[13503,4],[13567,4]]},"1370":{"position":[[628,4],[2484,4],[2557,4],[2751,4]]},"1373":{"position":[[2755,4],[3821,4],[4391,5],[5639,4],[5868,4],[7021,4],[8233,5],[8512,4],[8598,4]]},"1374":{"position":[[678,4],[709,5],[2081,4]]},"1380":{"position":[[541,4],[600,4],[730,4],[771,5],[793,4]]},"1381":{"position":[[674,4]]},"1382":{"position":[[3000,4],[4177,4],[4808,4],[4881,4],[7993,4],[9341,4],[11087,5],[11619,4]]},"1383":{"position":[[4413,5],[4532,5],[5055,4],[5144,5],[5335,5],[5470,4],[5643,5],[6417,4],[8670,5]]},"1384":{"position":[[4304,4],[5339,4],[5678,5],[5814,6],[5931,5],[6049,5],[6914,5],[6953,5],[7056,5],[7095,5],[7190,5],[7219,4],[7258,5],[7387,5],[8373,4],[8390,5],[8429,5],[8808,5],[8837,4],[8876,5],[9498,5],[9527,4],[9566,5],[9815,4],[9832,5],[14057,4],[14236,4],[14284,4],[14305,4],[15686,4],[18324,5],[18369,4],[18741,5],[19821,5],[21210,4],[21486,4],[21874,4]]},"1385":{"position":[[1859,4],[2002,4],[4224,4],[5569,4],[6665,5],[7197,4],[7409,4],[7604,4]]},"1386":{"position":[[582,4],[684,5],[1597,5],[1914,5],[1939,4],[2101,4],[2560,5],[2633,4],[2827,5],[2862,4],[2904,5],[3036,5],[3105,4],[3921,4],[4118,5],[4174,4],[4238,4],[4256,4],[4694,5],[4995,5],[5190,5],[5497,4],[5705,4],[6120,4],[6307,5]]},"1387":{"position":[[4207,4],[4353,4],[5537,5],[5574,4],[6542,4],[7317,4],[7495,4],[7543,4],[7564,4],[8942,4],[10038,5],[10570,4],[10739,4],[10935,4]]},"1388":{"position":[[3465,4],[4477,4],[4773,5],[4921,5],[5502,4],[5575,4],[6157,5],[6331,5],[8607,4],[9580,5],[10206,4],[10335,4]]},"1389":{"position":[[5818,5]]},"1390":{"position":[[579,4],[1554,5],[1615,4],[1860,5],[1967,4]]},"1391":{"position":[[581,4],[1507,5],[1568,4],[1675,5]]},"1392":{"position":[[613,4],[1657,5],[1718,4],[2046,4],[2130,5],[2330,4],[2459,4]]},"1393":{"position":[[1092,4],[1109,4],[1249,5],[1328,4],[9741,4]]},"1394":{"position":[[534,4],[558,4],[698,5],[777,4]]},"1398":{"position":[[2711,5],[5149,4],[5606,4]]},"1399":{"position":[[616,5],[1687,5],[1905,4],[2071,4],[2825,4]]},"1401":{"position":[[538,4],[1467,5],[1596,5],[1625,5]]},"1402":{"position":[[679,4],[1716,5]]},"1403":{"position":[[3799,4],[4339,4]]},"1405":{"position":[[1096,4],[2500,5],[3654,5]]},"1406":{"position":[[1413,5]]},"1407":{"position":[[1133,4],[2921,5],[4273,5]]},"1408":{"position":[[907,4],[2038,5],[2232,4],[2652,5]]},"1410":{"position":[[1550,4],[2945,5],[2992,6],[3526,4],[4429,4],[5064,5],[5429,4]]},"1412":{"position":[[1444,4],[1627,4],[2573,5],[2627,6],[2809,5],[2835,4],[3435,5],[3688,4],[3804,4],[3883,4],[3988,4],[4083,4]]},"1415":{"position":[[2457,4],[3697,4],[4106,4],[4980,4],[5065,5],[5637,4],[5753,5],[5948,4]]},"1416":{"position":[[1317,4],[2394,5],[2416,5],[2464,5],[2493,5],[3488,5]]},"1420":{"position":[[1026,4],[2076,5],[2098,5],[2146,5],[2175,5],[2625,5]]},"1421":{"position":[[964,4],[1940,5],[2044,5],[2137,5]]},"1422":{"position":[[742,4],[843,6],[856,5],[2011,4],[2420,5]]},"1423":{"position":[[640,4],[726,6],[738,4],[846,5]]},"1426":{"position":[[903,4],[1002,5],[2309,5],[2616,4]]},"1427":{"position":[[1691,4],[1791,4],[2788,5],[2822,6],[2929,5],[2955,4],[3057,4],[3129,5],[3265,5],[3385,5],[3514,5],[3575,5],[3601,5],[4541,4],[4953,4],[5032,4],[5087,4],[5154,5],[5350,5],[6128,4],[6607,5],[7103,4],[7282,4],[7359,4],[7500,5],[7899,4]]},"1429":{"position":[[2509,4],[4818,4],[5081,4],[5170,4],[5222,4],[5926,4]]},"1438":{"position":[[682,5]]},"1439":{"position":[[1963,4],[2077,4],[3458,5],[3494,6],[3603,5],[3629,4],[3731,4],[3803,5],[3939,5],[4059,5],[4188,5],[4249,5],[4275,5],[6744,4],[7040,4],[7743,5],[7933,4],[8110,4],[8185,4],[8326,5],[8723,4]]},"1440":{"position":[[2699,4],[4900,4],[5075,4],[5164,4],[5216,4],[5826,4]]},"1442":{"position":[[511,4],[1798,4],[1871,4],[2460,5],[2992,4]]},"1443":{"position":[[712,4],[800,5],[1673,5],[1771,5]]},"1444":{"position":[[628,4],[716,5],[1810,5],[1848,4],[1947,4],[2048,4],[2122,4],[2215,5]]},"1446":{"position":[[2299,5]]},"1448":{"position":[[945,4],[2072,5],[2572,5]]},"1449":{"position":[[888,4],[2006,5],[2506,5]]},"1453":{"position":[[899,4],[1001,5]]},"1454":{"position":[[3236,4],[4286,4],[4526,5],[4662,6],[4779,5],[5591,5],[5620,4],[5659,5],[5787,5],[7709,4],[7757,4],[7778,4],[9492,4]]},"1455":{"position":[[1119,4],[1208,5],[2174,5],[2310,6],[2427,5],[2558,5]]},"1456":{"position":[[536,4],[1492,4]]},"1457":{"position":[[608,4],[1549,5],[1819,4]]},"1458":{"position":[[916,4],[1192,6],[2095,5],[2132,5]]},"1459":{"position":[[607,4],[1630,4]]},"1461":{"position":[[885,4],[998,5],[2072,5],[2142,5],[2559,4]]},"1462":{"position":[[4258,4],[5299,4],[5772,5],[5863,5],[6046,4],[6527,5],[6782,5]]},"1465":{"position":[[1403,4],[1511,6],[2611,5],[2648,4],[3018,4],[4306,4],[4467,4],[4556,4],[4577,4]]},"1467":{"position":[[4977,4],[6268,5],[6339,5],[6510,5],[6684,5],[7158,4],[7642,5],[7897,5],[10448,4],[10858,4],[11011,4],[11085,4],[11178,5]]},"1468":{"position":[[1436,4]]},"1469":{"position":[[647,4],[733,6],[746,5],[1886,5]]},"1470":{"position":[[3278,4],[3416,5],[4493,4]]},"1471":{"position":[[1662,4],[2845,4],[3180,5],[3250,6],[3311,5],[3624,5],[4232,5],[5099,5],[5310,4]]},"1472":{"position":[[1624,4],[2899,5],[2969,6],[3018,5],[3088,6],[3895,5],[4208,5],[4816,5],[5640,5],[5685,4],[5985,5],[6196,4]]},"1473":{"position":[[1907,4],[3214,5],[3284,6],[3345,5],[3692,5],[4553,5],[5549,5],[5760,4]]},"1477":{"position":[[1955,5],[1971,4]]},"1478":{"position":[[1065,4],[2712,4]]},"1482":{"position":[[603,5],[1471,4]]},"1483":{"position":[[436,6],[1369,5],[1426,4]]},"1485":{"position":[[685,4],[3951,5],[4784,4],[4950,4],[5001,5]]},"1486":{"position":[[813,4],[852,4],[2093,4],[2823,4],[3000,4],[3142,6]]},"1487":{"position":[[2425,5]]}},"keywords":{}}],["rule"",{"_index":7261,"title":{},"content":{"1386":{"position":[[2668,11]]}},"keywords":{}}],["rule'",{"_index":1557,"title":{},"content":{"283":{"position":[[73,6]]},"284":{"position":[[73,6]]},"298":{"position":[[1608,6]]},"368":{"position":[[594,6]]},"462":{"position":[[75,6]]},"681":{"position":[[1020,6]]},"682":{"position":[[235,6]]},"683":{"position":[[183,6]]},"695":{"position":[[417,6]]},"747":{"position":[[594,6]]},"851":{"position":[[626,6]]},"1356":{"position":[[1937,6]]},"1362":{"position":[[10694,6],[13154,6]]},"1363":{"position":[[2914,6]]},"1364":{"position":[[11661,6],[13854,6]]},"1367":{"position":[[13062,6]]},"1373":{"position":[[5211,6]]},"1382":{"position":[[4835,6],[7563,6],[11516,6]]},"1384":{"position":[[13627,6],[14401,6],[19170,6]]},"1385":{"position":[[7094,6]]},"1386":{"position":[[2210,6],[4643,6],[5541,6],[6035,6]]},"1387":{"position":[[6687,6],[7660,6],[10467,6]]},"1388":{"position":[[5529,6],[8432,6],[10009,6]]},"1403":{"position":[[5445,6]]},"1405":{"position":[[2982,6]]},"1407":{"position":[[3403,6]]},"1410":{"position":[[3984,6]]},"1416":{"position":[[2318,6],[2859,6]]},"1420":{"position":[[2000,6]]},"1442":{"position":[[1825,6],[2889,6]]},"1454":{"position":[[7874,6]]},"1467":{"position":[[6371,6]]},"1471":{"position":[[3471,6],[3826,6]]},"1472":{"position":[[3139,6],[3297,6],[4055,6],[4410,6]]},"1473":{"position":[[3505,6],[4147,6]]},"1485":{"position":[[4380,6]]},"1487":{"position":[[2267,6],[2530,6]]}},"keywords":{}}],["rule(impl",{"_index":2350,"title":{},"content":{"437":{"position":[[516,9]]},"712":{"position":[[493,9]]},"816":{"position":[[516,9]]},"1049":{"position":[[1635,9]]},"1103":{"position":[[409,9]]}},"keywords":{}}],["rule.flag",{"_index":8101,"title":{},"content":{"1446":{"position":[[1641,11]]}},"keywords":{}}],["rule.import_path",{"_index":7669,"title":{},"content":{"1402":{"position":[[1753,17]]}},"keywords":{}}],["rule.is_asset",{"_index":8244,"title":{},"content":{"1459":{"position":[[1925,14]]}},"keywords":{}}],["rule.sha256",{"_index":7928,"title":{},"content":{"1423":{"position":[[2090,12]]}},"keywords":{}}],["rule_exist",{"_index":2355,"title":{"438":{"position":[[0,12]]},"817":{"position":[[0,12]]}},"content":{},"keywords":{}}],["rule_exists(nam",{"_index":2356,"title":{},"content":{"438":{"position":[[4,17]]},"817":{"position":[[4,17]]}},"keywords":{}}],["rule_timeout",{"_index":6544,"title":{},"content":{"1354":{"position":[[3028,12]]},"1388":{"position":[[10255,12]]},"1392":{"position":[[2379,12]]},"1410":{"position":[[5478,12]]},"1429":{"position":[[5975,12]]},"1440":{"position":[[5875,12]]},"1467":{"position":[[10497,12]]}},"keywords":{}}],["ruleanalysiscalculation::get_analysis_result",{"_index":4518,"title":{},"content":{"923":{"position":[[245,45]]}},"keywords":{}}],["ruleand",{"_index":621,"title":{},"content":{"20":{"position":[[582,7]]}},"keywords":{}}],["ruleandroid_librari",{"_index":3389,"title":{},"content":{"678":{"position":[[196,19]]}},"keywords":{}}],["ruleimplement",{"_index":3535,"title":{},"content":{"693":{"position":[[2633,20]]}},"keywords":{}}],["rulekey",{"_index":3635,"title":{},"content":{"704":{"position":[[375,9],[569,7],[620,8],[713,7],[880,8],[1286,8],[1326,8],[1340,7]]},"705":{"position":[[0,8],[57,7],[201,7],[454,8]]}},"keywords":{}}],["rules.external_linker_flag",{"_index":7730,"title":{},"content":{"1405":{"position":[[2547,28]]},"1407":{"position":[[2968,28]]}},"keywords":{}}],["rules.label",{"_index":8322,"title":{},"content":{"1462":{"position":[[5971,13]]}},"keywords":{}}],["rules.librari",{"_index":8225,"title":{},"content":{"1457":{"position":[[1596,14]]}},"keywords":{}}],["rules.package_nam",{"_index":7784,"title":{},"content":{"1408":{"position":[[2085,19]]}},"keywords":{}}],["rules.platform_dep",{"_index":8123,"title":{},"content":{"1448":{"position":[[2139,20]]},"1449":{"position":[[2073,20]]}},"keywords":{}}],["rules.starlark",{"_index":20,"title":{},"content":{"3":{"position":[[123,14]]}},"keywords":{}}],["rule—and",{"_index":3420,"title":{},"content":{"681":{"position":[[871,8]]},"1384":{"position":[[9871,8]]}},"keywords":{}}],["rule’",{"_index":4060,"title":{},"content":{"870":{"position":[[475,6]]}},"keywords":{}}],["run",{"_index":429,"title":{"837":{"position":[[8,3]]},"841":{"position":[[0,7]]},"851":{"position":[[0,7]]},"1025":{"position":[[0,7]]},"1067":{"position":[[18,4]]},"1216":{"position":[[0,3]]},"1217":{"position":[[5,4]]}},"content":{"13":{"position":[[365,3]]},"17":{"position":[[602,3],[715,4],[1082,3],[1104,7],[1167,4],[1196,3],[1221,4],[1232,3]]},"18":{"position":[[183,3],[1726,4],[1755,3],[1780,4],[1791,3]]},"23":{"position":[[1311,3]]},"24":{"position":[[92,3]]},"69":{"position":[[208,7]]},"71":{"position":[[106,4]]},"83":{"position":[[109,4]]},"92":{"position":[[398,3],[2474,3]]},"94":{"position":[[1176,4],[1625,3],[1645,7],[2832,3],[2965,3],[4382,3]]},"98":{"position":[[1333,3]]},"215":{"position":[[109,4]]},"224":{"position":[[398,3],[2474,3]]},"226":{"position":[[1176,4],[1625,3],[1645,7],[2832,3],[2965,3],[4382,3]]},"230":{"position":[[1333,3]]},"294":{"position":[[474,4]]},"297":{"position":[[453,4]]},"314":{"position":[[305,3]]},"362":{"position":[[1905,7]]},"374":{"position":[[1298,3],[1441,3],[2056,3]]},"377":{"position":[[612,3],[648,7]]},"386":{"position":[[462,4]]},"396":{"position":[[160,3]]},"399":{"position":[[110,3]]},"406":{"position":[[804,7]]},"407":{"position":[[188,7]]},"408":{"position":[[738,7]]},"457":{"position":[[208,7]]},"494":{"position":[[106,4]]},"570":{"position":[[576,3]]},"675":{"position":[[136,3]]},"688":{"position":[[764,3]]},"692":{"position":[[76,4],[169,3]]},"693":{"position":[[286,3]]},"704":{"position":[[979,4],[1085,3],[1157,4],[2000,4],[2102,4],[2410,7]]},"705":{"position":[[233,7],[500,3]]},"706":{"position":[[989,3],[2195,7],[2429,3],[2531,3]]},"715":{"position":[[506,4],[636,3],[1616,4]]},"720":{"position":[[202,3]]},"722":{"position":[[510,3]]},"724":{"position":[[109,4],[295,3],[589,3],[839,3],[891,3],[1044,3],[1383,3]]},"741":{"position":[[1905,7]]},"753":{"position":[[1298,3],[1441,3],[2056,3]]},"756":{"position":[[612,3],[648,7]]},"765":{"position":[[462,4]]},"775":{"position":[[160,3]]},"778":{"position":[[110,3]]},"785":{"position":[[804,7]]},"786":{"position":[[188,7]]},"787":{"position":[[738,7]]},"837":{"position":[[19,3]]},"841":{"position":[[3,3],[346,8]]},"845":{"position":[[8,3],[318,3]]},"846":{"position":[[1085,3],[1880,4]]},"847":{"position":[[275,3],[397,4]]},"848":{"position":[[771,7]]},"864":{"position":[[1473,3]]},"865":{"position":[[36,7],[57,3]]},"867":{"position":[[806,3]]},"870":{"position":[[69,3],[658,7],[974,3]]},"874":{"position":[[54,3]]},"876":{"position":[[142,3],[349,3]]},"894":{"position":[[321,7],[567,3]]},"895":{"position":[[422,3],[630,3],[727,3]]},"896":{"position":[[521,4]]},"897":{"position":[[231,3]]},"904":{"position":[[607,3]]},"937":{"position":[[1305,3]]},"962":{"position":[[71,3]]},"1025":{"position":[[38,4],[154,3]]},"1027":{"position":[[181,4]]},"1035":{"position":[[249,3]]},"1036":{"position":[[238,3]]},"1037":{"position":[[64,4],[382,4]]},"1050":{"position":[[177,4],[435,3],[578,3],[611,3],[657,3],[981,3],[1914,3],[3247,4],[3342,4]]},"1052":{"position":[[308,7],[1300,7]]},"1053":{"position":[[980,7]]},"1054":{"position":[[471,7]]},"1057":{"position":[[147,7]]},"1058":{"position":[[79,7],[693,4]]},"1061":{"position":[[234,3]]},"1067":{"position":[[12,4]]},"1070":{"position":[[139,3],[352,3],[643,3]]},"1071":{"position":[[402,4],[642,7]]},"1072":{"position":[[145,3]]},"1073":{"position":[[13,3]]},"1079":{"position":[[1019,7],[1146,3]]},"1098":{"position":[[647,7]]},"1103":{"position":[[1008,3],[1057,3],[1303,4],[1348,3],[1963,4]]},"1104":{"position":[[566,4],[1262,3]]},"1105":{"position":[[74,3],[114,3],[1064,3],[1914,4],[2088,3]]},"1106":{"position":[[152,3],[207,4]]},"1107":{"position":[[71,3]]},"1127":{"position":[[118,3]]},"1136":{"position":[[192,3],[475,3],[3755,3],[3828,3],[3997,3],[4187,3],[4320,3],[4497,3]]},"1138":{"position":[[958,3],[1023,3],[1733,3],[3270,7],[3361,7],[3539,4],[7417,3],[7490,3],[7659,3],[7849,3],[7982,3],[8159,3]]},"1140":{"position":[[0,3],[1222,3],[2759,7],[2850,7],[3028,4],[6343,3],[6416,3],[6585,3],[6775,3],[6908,3],[7085,3]]},"1142":{"position":[[128,3],[147,3],[1787,3],[1860,3],[2029,3],[2219,3],[2352,3],[2529,3]]},"1144":{"position":[[63,3]]},"1146":{"position":[[1727,3],[1800,3],[1969,3],[2159,3],[2292,3],[2469,3]]},"1148":{"position":[[725,3],[4767,3],[4840,3],[5009,3],[5199,3],[5332,3],[5509,3]]},"1155":{"position":[[1823,3],[1896,3],[2065,3],[2255,3],[2388,3],[2565,3]]},"1156":{"position":[[1401,3],[1474,3],[1643,3],[1833,3],[1966,3],[2143,3]]},"1167":{"position":[[230,7],[337,3],[341,3],[2226,3],[3763,7],[3854,7],[4032,4],[7347,3],[7420,3],[7589,3],[7779,3],[7912,3],[8089,3]]},"1169":{"position":[[1186,3],[1259,3],[1428,3],[1618,3],[1751,3],[1928,3]]},"1172":{"position":[[774,3],[1803,7],[1861,7],[1881,7],[1955,4]]},"1185":{"position":[[0,3]]},"1186":{"position":[[2991,3],[3064,3],[3233,3],[3423,3],[3556,3],[3733,3]]},"1187":{"position":[[3004,3],[3077,3],[3246,3],[3436,3],[3569,3],[3746,3]]},"1188":{"position":[[1275,3],[2812,7],[2903,7],[3081,4],[7730,3],[7803,3],[7972,3],[8162,3],[8295,3],[8472,3]]},"1191":{"position":[[1591,3],[1664,3],[1833,3],[2023,3],[2156,3],[2333,3]]},"1192":{"position":[[1766,3],[1839,3],[2008,3],[2198,3],[2331,3],[2508,3]]},"1193":{"position":[[1818,3],[1891,3],[2060,3],[2250,3],[2383,3],[2560,3]]},"1194":{"position":[[1458,3],[1531,3],[1700,3],[1890,3],[2023,3],[2200,3]]},"1195":{"position":[[1436,3],[1509,3],[1678,3],[1868,3],[2001,3],[2178,3]]},"1196":{"position":[[1246,3],[1319,3],[1488,3],[1678,3],[1811,3],[1988,3]]},"1197":{"position":[[2229,3],[2302,3],[2471,3],[2661,3],[2794,3],[2971,3]]},"1198":{"position":[[2239,3],[2312,3],[2481,3],[2671,3],[2804,3],[2981,3]]},"1199":{"position":[[2267,3],[2340,3],[2509,3],[2699,3],[2832,3],[3009,3]]},"1200":{"position":[[2134,3],[2207,3],[2376,3],[2566,3],[2699,3],[2876,3]]},"1201":{"position":[[1394,3],[1467,3],[1636,3],[1826,3],[1959,3],[2136,3]]},"1202":{"position":[[2536,3],[2609,3],[2778,3],[2968,3],[3101,3],[3278,3],[6933,3],[7006,3],[7175,3],[7365,3],[7498,3],[7675,3]]},"1203":{"position":[[1628,3],[1701,3],[1870,3],[2060,3],[2193,3],[2370,3]]},"1204":{"position":[[1472,3],[1545,3],[1714,3],[1904,3],[2037,3],[2214,3]]},"1205":{"position":[[2801,3],[2874,3],[3043,3],[3233,3],[3366,3],[3543,3]]},"1206":{"position":[[1272,3],[1345,3],[1514,3],[1704,3],[1837,3],[2014,3]]},"1207":{"position":[[1429,3],[1502,3],[1671,3],[1861,3],[1994,3],[2171,3]]},"1209":{"position":[[2777,3],[2850,3],[3019,3],[3209,3],[3342,3],[3519,3]]},"1215":{"position":[[159,7]]},"1217":{"position":[[10,3],[185,3],[277,3],[345,7],[544,3],[572,7],[666,3],[967,3],[2504,7],[2595,7],[2773,4],[6088,3],[6161,3],[6330,3],[6520,3],[6653,3],[6830,3]]},"1219":{"position":[[2074,3],[2147,3],[2316,3],[2506,3],[2639,3],[2816,3]]},"1221":{"position":[[0,3],[95,3],[130,3],[173,3]]},"1222":{"position":[[0,3],[1198,3],[1271,3],[1440,3],[1630,3],[1763,3],[1940,3]]},"1223":{"position":[[0,3],[1208,3],[1281,3],[1450,3],[1640,3],[1773,3],[1950,3]]},"1224":{"position":[[0,3],[106,7],[1388,3],[1461,3],[1630,3],[1820,3],[1953,3],[2130,3]]},"1226":{"position":[[6556,3],[6629,3],[6798,3],[6988,3],[7121,3],[7298,3]]},"1228":{"position":[[1076,3],[1126,3],[1176,3],[1238,8],[1464,3],[2420,3],[3048,3],[4585,7],[4676,7],[4854,4],[8169,3],[8242,3],[8411,3],[8601,3],[8734,3],[8911,3]]},"1231":{"position":[[203,3]]},"1233":{"position":[[286,7]]},"1235":{"position":[[518,3],[4037,3],[4110,3],[4279,3],[4469,3],[4602,3],[4779,3]]},"1237":{"position":[[6726,3],[6799,3],[6968,3],[7158,3],[7291,3],[7468,3]]},"1241":{"position":[[234,7]]},"1243":{"position":[[206,3],[666,8],[1030,3]]},"1244":{"position":[[51,7],[203,3]]},"1346":{"position":[[437,3],[522,3]]},"1351":{"position":[[5244,3]]},"1353":{"position":[[2443,7],[2838,7]]},"1354":{"position":[[1218,3],[2236,4],[2295,3],[2836,3]]},"1355":{"position":[[3408,7],[5100,3]]},"1359":{"position":[[1895,7]]},"1360":{"position":[[2837,4],[2966,3],[3098,3],[3603,7],[4635,4],[4711,3]]},"1362":{"position":[[6671,3],[12760,3]]},"1364":{"position":[[13460,3]]},"1367":{"position":[[6751,7],[12668,3]]},"1374":{"position":[[2641,7]]},"1382":{"position":[[11122,3]]},"1383":{"position":[[1221,3],[2422,4],[2551,3],[2683,3],[5283,3],[5867,5],[6249,7],[6667,4],[6743,3]]},"1384":{"position":[[18776,3],[20141,4]]},"1385":{"position":[[6700,3]]},"1387":{"position":[[10073,3]]},"1388":{"position":[[3530,4],[4718,4],[6089,7],[9615,3],[10356,4]]},"1392":{"position":[[682,3],[2480,4]]},"1395":{"position":[[706,4],[3356,7]]},"1398":{"position":[[2504,7],[2832,4],[6360,3],[6379,3],[6463,3],[6511,3],[6766,3]]},"1403":{"position":[[2252,4],[2381,3],[2513,3],[3018,7],[4050,4],[4126,3],[5125,3]]},"1410":{"position":[[3058,7],[5704,5]]},"1415":{"position":[[5171,3]]},"1422":{"position":[[880,7]]},"1423":{"position":[[870,7],[1909,3]]},"1427":{"position":[[4414,3]]},"1429":{"position":[[2575,3],[3952,7],[4016,3],[4386,7],[4420,3],[4541,4],[5230,3],[6278,7]]},"1439":{"position":[[3229,7],[6913,3]]},"1440":{"position":[[2763,3],[3945,7],[4009,3],[4379,7],[4413,3],[4534,4],[5224,3],[6077,7]]},"1442":{"position":[[2495,3],[3013,4]]},"1461":{"position":[[3230,3]]},"1467":{"position":[[5031,3],[6442,7],[8441,3],[8543,4],[10837,5]]},"1469":{"position":[[770,7]]},"1470":{"position":[[3344,3],[4669,4]]},"1473":{"position":[[2013,4]]},"1477":{"position":[[1914,4],[1997,4],[2067,5],[3084,3],[3159,3]]},"1478":{"position":[[2293,7],[2620,4],[3330,3]]},"1482":{"position":[[578,3],[1636,3],[1803,4],[1908,4],[2683,4]]},"1485":{"position":[[3986,3]]},"1486":{"position":[[2155,4]]}},"keywords":{}}],["run.input",{"_index":1123,"title":{},"content":{"92":{"position":[[728,10]]},"224":{"position":[[728,10]]},"1040":{"position":[[248,10]]}},"keywords":{}}],["run.metadata",{"_index":1206,"title":{},"content":{"94":{"position":[[2232,12]]},"226":{"position":[[2232,12]]}},"keywords":{}}],["run_arg",{"_index":8474,"title":{},"content":{"1478":{"position":[[863,9]]}},"keywords":{}}],["run_env",{"_index":8451,"title":{},"content":{"1473":{"position":[[1738,8],[5294,8]]},"1478":{"position":[[888,8]]}},"keywords":{}}],["run_from_project_root",{"_index":2008,"title":{},"content":{"374":{"position":[[129,21],[1243,22]]},"753":{"position":[[129,21],[1243,22]]},"1073":{"position":[[47,22]]}},"keywords":{}}],["run_test_separ",{"_index":6967,"title":{},"content":{"1367":{"position":[[5352,20],[13627,20]]},"1388":{"position":[[3192,20]]},"1410":{"position":[[1367,20]]},"1413":{"position":[[1377,20]]},"1429":{"position":[[1848,20]]},"1440":{"position":[[2049,20]]},"1470":{"position":[[2571,20]]},"1475":{"position":[[1373,20]]},"1478":{"position":[[917,20]]}},"keywords":{}}],["run_with_inplac",{"_index":8310,"title":{},"content":{"1462":{"position":[[3870,17]]},"1467":{"position":[[4305,17]]}},"keywords":{}}],["runbuck2",{"_index":5118,"title":{},"content":{"1035":{"position":[[150,8]]}},"keywords":{}}],["runinfo",{"_index":945,"title":{"386":{"position":[[0,8]]},"765":{"position":[[0,8]]}},"content":{"65":{"position":[[143,7]]},"94":{"position":[[259,8],[547,8],[1005,7]]},"98":{"position":[[301,8]]},"99":{"position":[[442,7]]},"226":{"position":[[259,8],[547,8],[1005,7]]},"230":{"position":[[301,8]]},"231":{"position":[[442,7]]},"345":{"position":[[370,7]]},"368":{"position":[[336,8],[3300,8]]},"377":{"position":[[264,8]]},"386":{"position":[[4,8],[250,7],[270,7]]},"405":{"position":[[252,8],[500,7],[1071,7]]},"417":{"position":[[261,8]]},"453":{"position":[[143,7]]},"510":{"position":[[338,7]]},"511":{"position":[[358,7]]},"722":{"position":[[1011,8]]},"747":{"position":[[336,8],[3300,8]]},"756":{"position":[[264,8]]},"765":{"position":[[4,8],[250,7],[270,7]]},"784":{"position":[[252,8],[500,7],[1071,7]]},"796":{"position":[[261,8]]},"1025":{"position":[[337,7],[528,7],[589,7]]},"1071":{"position":[[778,8]]},"1104":{"position":[[229,7],[1155,7]]},"1106":{"position":[[245,8]]}},"keywords":{}}],["runinfo(arg",{"_index":5257,"title":{},"content":{"1048":{"position":[[1253,12]]}},"keywords":{}}],["runinfocmd_arg",{"_index":6184,"title":{},"content":{"1245":{"position":[[282,15]]}},"keywords":{}}],["runnabl",{"_index":2053,"title":{},"content":{"386":{"position":[[316,8]]},"765":{"position":[[316,8]]},"1054":{"position":[[155,8]]}},"keywords":{}}],["runner",{"_index":2012,"title":{"1069":{"position":[[27,7]]}},"content":{"374":{"position":[[347,7],[692,6],[858,6],[1788,7],[1955,7]]},"753":{"position":[[347,7],[692,6],[858,6],[1788,7],[1955,7]]},"1053":{"position":[[158,7],[686,7],[953,6]]},"1054":{"position":[[1217,6]]},"1067":{"position":[[273,6],[324,6],[384,6],[512,6]]},"1069":{"position":[[90,6],[287,6],[407,7],[558,6],[828,6]]},"1071":{"position":[[25,6],[156,6],[664,7],[811,6],[894,7],[927,6],[1077,6],[1209,6],[1473,8]]},"1072":{"position":[[424,6]]},"1367":{"position":[[5383,7]]},"1399":{"position":[[2672,9]]},"1410":{"position":[[1398,7]]},"1429":{"position":[[1879,7]]},"1467":{"position":[[4333,7]]},"1470":{"position":[[3380,7]]},"1478":{"position":[[1104,6]]},"1482":{"position":[[1698,6]]}},"keywords":{}}],["runner_hta",{"_index":7650,"title":{},"content":{"1399":{"position":[[2731,13]]}},"keywords":{}}],["runningbuck2",{"_index":4064,"title":{},"content":{"870":{"position":[[1006,12]]}},"keywords":{}}],["runtim",{"_index":2163,"title":{},"content":{"406":{"position":[[254,8]]},"638":{"position":[[437,7]]},"640":{"position":[[48,7]]},"663":{"position":[[471,7]]},"693":{"position":[[6709,7]]},"785":{"position":[[254,8]]},"890":{"position":[[2429,8],[4007,7],[4538,7],[4821,8],[5042,7]]},"900":{"position":[[343,7]]},"901":{"position":[[433,7]]},"902":{"position":[[426,7]]},"1056":{"position":[[1378,7]]},"1104":{"position":[[835,7]]},"1136":{"position":[[4602,7]]},"1138":{"position":[[973,7],[1045,7],[8264,7]]},"1140":{"position":[[7190,7]]},"1142":{"position":[[2634,7]]},"1146":{"position":[[2574,7]]},"1148":{"position":[[5614,7]]},"1155":{"position":[[2670,7]]},"1156":{"position":[[2248,7]]},"1167":{"position":[[8194,7]]},"1169":{"position":[[2033,7]]},"1180":{"position":[[211,8]]},"1186":{"position":[[3838,7]]},"1187":{"position":[[3851,7]]},"1188":{"position":[[8577,7]]},"1191":{"position":[[2438,7]]},"1192":{"position":[[2613,7]]},"1193":{"position":[[2665,7]]},"1194":{"position":[[2305,7]]},"1195":{"position":[[2283,7]]},"1196":{"position":[[2093,7]]},"1197":{"position":[[3076,7]]},"1198":{"position":[[3086,7]]},"1199":{"position":[[3114,7]]},"1200":{"position":[[2981,7]]},"1201":{"position":[[2241,7]]},"1202":{"position":[[3383,7],[7780,7]]},"1203":{"position":[[2475,7]]},"1204":{"position":[[2319,7]]},"1205":{"position":[[3648,7]]},"1206":{"position":[[2119,7]]},"1207":{"position":[[2276,7]]},"1209":{"position":[[3624,7]]},"1217":{"position":[[6935,7]]},"1219":{"position":[[2921,7]]},"1222":{"position":[[2045,7]]},"1223":{"position":[[2055,7]]},"1224":{"position":[[2235,7]]},"1226":{"position":[[7403,7]]},"1228":{"position":[[9016,7]]},"1235":{"position":[[4884,7]]},"1237":{"position":[[7573,7]]},"1353":{"position":[[2818,7]]},"1367":{"position":[[14083,7]]},"1397":{"position":[[1921,7]]},"1427":{"position":[[4137,7]]},"1429":{"position":[[6249,7]]},"1439":{"position":[[6201,7],[6445,7],[6501,7]]},"1440":{"position":[[6048,7]]},"1461":{"position":[[2025,8]]},"1470":{"position":[[4776,8]]},"1477":{"position":[[2837,7]]}},"keywords":{}}],["runtime"",{"_index":8054,"title":{},"content":{"1439":{"position":[[5935,14],[6144,14]]}},"keywords":{}}],["runtime.jar",{"_index":8051,"title":{},"content":{"1439":{"position":[[5753,11]]}},"keywords":{}}],["runtime:jar:0.10.0"",{"_index":8064,"title":{},"content":{"1439":{"position":[[6587,25]]}},"keywords":{}}],["runtime_dep",{"_index":6376,"title":{},"content":{"1348":{"position":[[2383,13]]},"1355":{"position":[[1888,13]]},"1412":{"position":[[1231,13]]},"1413":{"position":[[1408,13]]},"1427":{"position":[[1448,13]]},"1429":{"position":[[1903,13]]},"1430":{"position":[[1251,13]]},"1439":{"position":[[1684,13]]},"1440":{"position":[[2080,13]]},"1470":{"position":[[2602,13]]},"1474":{"position":[[1227,13]]},"1475":{"position":[[1404,13]]}},"keywords":{}}],["runtime_env",{"_index":8311,"title":{},"content":{"1462":{"position":[[3898,12]]},"1467":{"position":[[4357,12]]}},"keywords":{}}],["runtime_paths_for_bundl",{"_index":8500,"title":{},"content":{"1481":{"position":[[919,27]]}},"keywords":{}}],["runtime_paths_for_link",{"_index":8501,"title":{},"content":{"1481":{"position":[[962,26]]}},"keywords":{}}],["runtime_run_path",{"_index":8502,"title":{},"content":{"1481":{"position":[[1004,18]]}},"keywords":{}}],["rust",{"_index":52,"title":{"957":{"position":[[0,4]]},"987":{"position":[[14,4]]}},"content":{"4":{"position":[[302,4]]},"5":{"position":[[154,4],[203,4]]},"7":{"position":[[235,4]]},"9":{"position":[[2307,5],[2492,4]]},"17":{"position":[[225,5]]},"22":{"position":[[109,5],[1676,4]]},"23":{"position":[[195,4],[260,4]]},"171":{"position":[[119,4]]},"551":{"position":[[119,4]]},"693":{"position":[[8041,4],[8146,5]]},"702":{"position":[[380,4]]},"715":{"position":[[49,5],[1542,5]]},"718":{"position":[[317,4]]},"898":{"position":[[2044,5]]},"987":{"position":[[0,4],[202,4],[523,4]]},"991":{"position":[[976,4],[1380,4]]},"1471":{"position":[[1719,4],[2658,4],[4045,4],[4797,5],[5058,4],[5693,5]]},"1472":{"position":[[1678,4],[2617,4],[3748,5],[4629,4],[5381,5],[5944,4],[6579,5]]},"1473":{"position":[[1921,4],[1974,4],[2932,4],[4366,4],[5118,5],[5508,4],[5864,5]]}},"keywords":{}}],["rust/starlark:starlark",{"_index":4514,"title":{},"content":{"921":{"position":[[804,22]]}},"keywords":{}}],["rust_binari",{"_index":4922,"title":{"1471":{"position":[[0,12]]}},"content":{"991":{"position":[[614,11],[1470,13],[2109,12]]},"1471":{"position":[[4,12],[1648,13],[5762,12]]}},"keywords":{}}],["rust_librari",{"_index":4914,"title":{"1472":{"position":[[0,13]]}},"content":{"991":{"position":[[168,12],[1451,14],[1659,13],[1847,13],[2015,13],[2708,12],[2813,12]]},"1471":{"position":[[3211,12],[5836,13],[5913,13]]},"1472":{"position":[[4,13],[1609,14],[2930,12],[3049,12],[6648,13]]},"1473":{"position":[[3245,12],[6005,13],[6082,13]]}},"keywords":{}}],["rust_proc_macro_propag",{"_index":4911,"title":{},"content":{"991":{"position":[[31,27],[1742,28],[1930,28]]}},"keywords":{}}],["rust_test",{"_index":8450,"title":{"1473":{"position":[[0,10]]}},"content":{"1473":{"position":[[4,10],[1895,11],[5933,10]]}},"keywords":{}}],["rustc",{"_index":861,"title":{},"content":{"41":{"position":[[710,5]]},"174":{"position":[[710,5]]},"1112":{"position":[[4609,5]]},"1471":{"position":[[3493,6],[3650,5],[5034,6],[5402,5]]},"1472":{"position":[[3161,6],[4077,6],[4234,5],[5535,6],[6288,5]]},"1473":{"position":[[3527,5],[3718,5],[5484,6]]}},"keywords":{}}],["rustc_flag",{"_index":8421,"title":{},"content":{"1471":{"position":[[1520,12],[4973,12]]},"1472":{"position":[[1416,12],[5474,12]]},"1473":{"position":[[1767,12],[5423,12]]}},"keywords":{}}],["rustdoc_flag",{"_index":8422,"title":{},"content":{"1471":{"position":[[1548,14]]},"1472":{"position":[[1444,14]]},"1473":{"position":[[1795,14]]}},"keywords":{}}],["rustprocmacro",{"_index":4910,"title":{},"content":{"991":{"position":[[0,13],[147,15],[385,18],[559,18],[596,15],[749,18],[827,18],[864,15]]}},"keywords":{}}],["rustprocmacromarker("p")doc_dep",{"_index":4939,"title":{},"content":{"991":{"position":[[2227,42]]}},"keywords":{}}],["rustprocmacromarker("p2")ctx.plugins[rustprocmacro",{"_index":4940,"title":{},"content":{"991":{"position":[[2294,61]]}},"keywords":{}}],["rustprocmacromarker(ctx.attrs.actu",{"_index":4928,"title":{},"content":{"991":{"position":[[1586,38]]}},"keywords":{}}],["rustup",{"_index":456,"title":{},"content":{"15":{"position":[[378,7],[420,6]]}},"keywords":{}}],["s",{"_index":2740,"title":{},"content":{"589":{"position":[[79,2]]},"590":{"position":[[247,2]]},"591":{"position":[[260,2],[363,2],[533,1],[571,1],[588,3]]},"592":{"position":[[212,2]]},"593":{"position":[[177,1]]},"594":{"position":[[236,2],[315,1]]},"595":{"position":[[143,1],[1180,3]]},"596":{"position":[[267,2]]},"597":{"position":[[145,1]]},"598":{"position":[[134,1]]},"599":{"position":[[133,1]]},"600":{"position":[[135,1]]},"601":{"position":[[140,1]]},"602":{"position":[[123,1]]},"603":{"position":[[135,1]]},"604":{"position":[[222,1]]},"605":{"position":[[118,1]]},"606":{"position":[[129,1]]},"607":{"position":[[158,1],[301,1],[341,3]]},"610":{"position":[[181,1]]},"611":{"position":[[220,2]]},"612":{"position":[[245,2]]},"613":{"position":[[168,1]]},"615":{"position":[[129,1]]},"616":{"position":[[198,2],[585,1],[735,1]]},"617":{"position":[[206,2],[250,1]]},"618":{"position":[[185,1]]},"619":{"position":[[139,1]]},"620":{"position":[[115,1]]},"621":{"position":[[118,1]]},"656":{"position":[[158,2],[164,1]]},"888":{"position":[[288,1],[579,1]]},"911":{"position":[[135,2]]},"1004":{"position":[[1252,2],[1261,3],[1317,1]]},"1127":{"position":[[750,1]]},"1136":{"position":[[967,4]]},"1148":{"position":[[1323,4]]},"1167":{"position":[[747,2]]},"1178":{"position":[[560,2]]},"1209":{"position":[[200,4]]},"1228":{"position":[[1848,2]]},"1235":{"position":[[1460,4]]},"1359":{"position":[[1888,1]]},"1405":{"position":[[3709,2]]},"1406":{"position":[[1468,2]]},"1407":{"position":[[4328,2]]},"1408":{"position":[[2707,2]]},"1410":{"position":[[5119,2]]},"1454":{"position":[[9615,1]]}},"keywords":{}}],["s.codepoint",{"_index":2748,"title":{},"content":{"590":{"position":[[129,14]]}},"keywords":{}}],["s.count(sub",{"_index":2765,"title":{},"content":{"591":{"position":[[173,13]]}},"keywords":{}}],["s.elem",{"_index":2783,"title":{},"content":{"592":{"position":[[114,9]]}},"keywords":{}}],["s.endswith(suffix",{"_index":2794,"title":{},"content":{"593":{"position":[[131,18]]}},"keywords":{}}],["s.find",{"_index":2842,"title":{},"content":{"596":{"position":[[275,7]]},"611":{"position":[[228,7]]}},"keywords":{}}],["s.find(sub",{"_index":2797,"title":{},"content":{"594":{"position":[[138,12]]}},"keywords":{}}],["s.format(*arg",{"_index":2803,"title":{},"content":{"595":{"position":[[78,15]]}},"keywords":{}}],["s.index",{"_index":2950,"title":{},"content":{"612":{"position":[[253,8]]}},"keywords":{}}],["s.index(sub",{"_index":2841,"title":{},"content":{"596":{"position":[[168,13]]}},"keywords":{}}],["s.isalnum",{"_index":2847,"title":{},"content":{"597":{"position":[[106,11]]}},"keywords":{}}],["s.isalpha",{"_index":2852,"title":{},"content":{"598":{"position":[[95,11]]}},"keywords":{}}],["s.isdigit",{"_index":2857,"title":{},"content":{"599":{"position":[[94,11]]}},"keywords":{}}],["s.islow",{"_index":2862,"title":{},"content":{"600":{"position":[[96,11]]}},"keywords":{}}],["s.isspac",{"_index":2868,"title":{},"content":{"601":{"position":[[101,11]]}},"keywords":{}}],["s.istitl",{"_index":2874,"title":{},"content":{"602":{"position":[[84,11]]}},"keywords":{}}],["s.isupp",{"_index":2882,"title":{},"content":{"603":{"position":[[96,11]]}},"keywords":{}}],["s.join(iter",{"_index":2888,"title":{},"content":{"604":{"position":[[106,16]]}},"keywords":{}}],["s.lower",{"_index":2900,"title":{},"content":{"605":{"position":[[79,9]]}},"keywords":{}}],["s.lstrip",{"_index":2905,"title":{},"content":{"606":{"position":[[89,10]]}},"keywords":{}}],["s.partition(x",{"_index":2914,"title":{},"content":{"607":{"position":[[113,13]]}},"keywords":{}}],["s.replace(old",{"_index":2932,"title":{},"content":{"610":{"position":[[127,14]]}},"keywords":{}}],["s.rfind(sub",{"_index":2943,"title":{},"content":{"611":{"position":[[146,13]]}},"keywords":{}}],["s.rindex(sub",{"_index":2949,"title":{},"content":{"612":{"position":[[170,14]]}},"keywords":{}}],["s.rpartition([x",{"_index":2956,"title":{},"content":{"613":{"position":[[114,15]]}},"keywords":{}}],["s.rsplit([sep",{"_index":2962,"title":{},"content":{"614":{"position":[[141,15]]}},"keywords":{}}],["s.rstrip",{"_index":2975,"title":{},"content":{"615":{"position":[[89,10]]}},"keywords":{}}],["s.split([sep",{"_index":2982,"title":{},"content":{"616":{"position":[[136,12]]}},"keywords":{}}],["s.splitlines([keepend",{"_index":2996,"title":{},"content":{"617":{"position":[[123,24]]}},"keywords":{}}],["s.startswith(suffix",{"_index":3007,"title":{},"content":{"618":{"position":[[137,20]]}},"keywords":{}}],["s.strip",{"_index":3014,"title":{},"content":{"619":{"position":[[100,9]]}},"keywords":{}}],["s.titl",{"_index":3018,"title":{},"content":{"620":{"position":[[76,9]]}},"keywords":{}}],["s.upper",{"_index":3023,"title":{},"content":{"621":{"position":[[79,9]]}},"keywords":{}}],["sad",{"_index":4948,"title":{},"content":{"991":{"position":[[3087,4]]}},"keywords":{}}],["safe",{"_index":2224,"title":{},"content":{"416":{"position":[[703,5]]},"417":{"position":[[933,5]]},"795":{"position":[[703,5]]},"796":{"position":[[933,5]]},"869":{"position":[[286,5]]},"889":{"position":[[609,6],[773,4]]},"898":{"position":[[590,6]]},"1403":{"position":[[6132,4]]}},"keywords":{}}],["safeareainset",{"_index":6915,"title":{},"content":{"1363":{"position":[[7578,14]]}},"keywords":{}}],["safeguard",{"_index":3831,"title":{},"content":{"834":{"position":[[478,9]]}},"keywords":{}}],["safeti",{"_index":1339,"title":{},"content":{"125":{"position":[[181,6]]},"248":{"position":[[181,6]]}},"keywords":{}}],["sake",{"_index":3633,"title":{},"content":{"704":{"position":[[126,4]]},"980":{"position":[[163,4]]}},"keywords":{}}],["same",{"_index":204,"title":{},"content":{"9":{"position":[[715,4],[1615,4],[1915,4]]},"12":{"position":[[563,4]]},"20":{"position":[[389,4],[496,4]]},"24":{"position":[[757,4]]},"81":{"position":[[342,4]]},"89":{"position":[[873,4]]},"91":{"position":[[637,4]]},"92":{"position":[[941,4]]},"94":{"position":[[3453,4]]},"213":{"position":[[342,4]]},"221":{"position":[[873,4]]},"223":{"position":[[637,4]]},"224":{"position":[[941,4]]},"226":{"position":[[3453,4]]},"234":{"position":[[104,4]]},"276":{"position":[[241,4]]},"277":{"position":[[192,4]]},"281":{"position":[[308,4]]},"282":{"position":[[256,4]]},"298":{"position":[[1570,4]]},"345":{"position":[[381,4]]},"421":{"position":[[334,4]]},"441":{"position":[[186,4]]},"451":{"position":[[194,4]]},"555":{"position":[[188,4]]},"556":{"position":[[163,4]]},"561":{"position":[[170,4]]},"580":{"position":[[108,4]]},"675":{"position":[[1240,4]]},"688":{"position":[[1213,4]]},"693":{"position":[[3631,4],[5584,4],[6010,4]]},"696":{"position":[[285,4]]},"704":{"position":[[534,4],[2168,4]]},"715":{"position":[[746,4]]},"717":{"position":[[237,4],[287,4]]},"800":{"position":[[334,4]]},"820":{"position":[[186,4]]},"830":{"position":[[194,4]]},"851":{"position":[[588,4]]},"865":{"position":[[642,4],[768,4]]},"877":{"position":[[614,4]]},"900":{"position":[[1805,4]]},"917":{"position":[[68,4]]},"919":{"position":[[2436,4]]},"937":{"position":[[1274,4],[1600,4]]},"940":{"position":[[1216,4]]},"942":{"position":[[1348,4]]},"943":{"position":[[2075,4]]},"944":{"position":[[956,4]]},"949":{"position":[[30,4],[78,4],[175,4]]},"951":{"position":[[228,4]]},"954":{"position":[[353,4],[613,4]]},"955":{"position":[[954,4]]},"956":{"position":[[152,4]]},"961":{"position":[[234,4]]},"964":{"position":[[464,4]]},"966":{"position":[[122,4]]},"988":{"position":[[622,4]]},"991":{"position":[[304,4]]},"1000":{"position":[[74,4]]},"1018":{"position":[[170,4]]},"1024":{"position":[[1223,4]]},"1025":{"position":[[162,4]]},"1040":{"position":[[1043,4]]},"1048":{"position":[[116,4],[156,4]]},"1052":{"position":[[1344,4]]},"1053":{"position":[[1161,4],[1283,4]]},"1070":{"position":[[430,4]]},"1072":{"position":[[191,4]]},"1078":{"position":[[309,4]]},"1079":{"position":[[1052,4]]},"1083":{"position":[[116,4]]},"1112":{"position":[[2630,4],[2998,4],[3024,4],[3086,4],[3392,4]]},"1114":{"position":[[795,4],[850,4],[1027,4]]},"1126":{"position":[[331,4]]},"1136":{"position":[[3716,4]]},"1138":{"position":[[2065,4],[7378,4]]},"1140":{"position":[[1554,4],[6304,4]]},"1142":{"position":[[1748,4]]},"1146":{"position":[[1688,4]]},"1148":{"position":[[237,4],[4728,4]]},"1155":{"position":[[1784,4]]},"1156":{"position":[[1362,4]]},"1167":{"position":[[2558,4],[7308,4]]},"1169":{"position":[[1147,4]]},"1186":{"position":[[2952,4]]},"1187":{"position":[[2965,4]]},"1188":{"position":[[1607,4],[7691,4]]},"1191":{"position":[[1552,4]]},"1192":{"position":[[1727,4]]},"1193":{"position":[[1779,4]]},"1194":{"position":[[1419,4]]},"1195":{"position":[[1397,4]]},"1196":{"position":[[1207,4]]},"1197":{"position":[[2190,4]]},"1198":{"position":[[2200,4]]},"1199":{"position":[[2228,4]]},"1200":{"position":[[2095,4]]},"1201":{"position":[[1355,4]]},"1202":{"position":[[2497,4],[6894,4]]},"1203":{"position":[[1589,4]]},"1204":{"position":[[1433,4]]},"1205":{"position":[[2762,4]]},"1206":{"position":[[1233,4]]},"1207":{"position":[[1390,4]]},"1209":{"position":[[2738,4]]},"1217":{"position":[[1299,4],[6049,4]]},"1219":{"position":[[2035,4]]},"1222":{"position":[[1159,4]]},"1223":{"position":[[1169,4]]},"1224":{"position":[[1349,4]]},"1226":{"position":[[1345,4],[1823,4],[4073,4],[6517,4]]},"1228":{"position":[[3380,4],[8130,4]]},"1231":{"position":[[380,4]]},"1235":{"position":[[3998,4]]},"1237":{"position":[[1515,4],[1993,4],[4243,4],[6687,4]]},"1243":{"position":[[185,5],[217,4],[266,4]]},"1282":{"position":[[455,4]]},"1283":{"position":[[469,4]]},"1284":{"position":[[448,4]]},"1313":{"position":[[455,4]]},"1314":{"position":[[469,4]]},"1315":{"position":[[448,4]]},"1341":{"position":[[455,4]]},"1342":{"position":[[469,4]]},"1343":{"position":[[448,4]]},"1351":{"position":[[3827,4]]},"1355":{"position":[[5400,4]]},"1360":{"position":[[3018,4],[4760,4]]},"1362":{"position":[[7179,4]]},"1364":{"position":[[7418,4]]},"1370":{"position":[[2077,4]]},"1373":{"position":[[6103,4],[8168,4]]},"1374":{"position":[[2029,4]]},"1382":{"position":[[10944,4]]},"1383":{"position":[[2603,4],[5164,4],[6792,4]]},"1384":{"position":[[7649,5],[10047,4],[18018,4]]},"1386":{"position":[[2743,4],[5129,4],[5235,4],[5928,4]]},"1388":{"position":[[9437,4]]},"1393":{"position":[[1225,4]]},"1394":{"position":[[674,4]]},"1395":{"position":[[3255,4]]},"1402":{"position":[[2033,4]]},"1403":{"position":[[2433,4],[4175,4],[9069,4],[9154,4]]},"1405":{"position":[[3427,4]]},"1407":{"position":[[3848,4]]},"1408":{"position":[[2467,4]]},"1410":{"position":[[4542,4],[4835,4]]},"1412":{"position":[[2727,4],[2909,4],[3001,4],[3178,4],[3232,4],[3282,4],[3365,4],[3637,4]]},"1416":{"position":[[3331,5]]},"1420":{"position":[[2468,5]]},"1429":{"position":[[3649,4],[4027,4],[4431,4],[4859,4],[5516,4]]},"1440":{"position":[[3640,4],[4020,4],[4424,4],[4941,4],[5508,4]]},"1446":{"position":[[1928,4]]},"1448":{"position":[[2414,5]]},"1449":{"position":[[2348,5]]},"1454":{"position":[[6049,5]]},"1455":{"position":[[2820,5]]},"1462":{"position":[[8634,4]]},"1467":{"position":[[10116,4]]},"1471":{"position":[[4664,4]]},"1472":{"position":[[3615,4],[5248,4]]},"1473":{"position":[[4013,4],[4058,4],[4985,4]]},"1485":{"position":[[3809,4]]},"1486":{"position":[[2818,4],[2935,4],[4884,4]]},"1487":{"position":[[1865,4],[1975,4],[2751,4],[2917,4]]}},"keywords":{}}],["sampl",{"_index":930,"title":{},"content":{"63":{"position":[[227,6]]},"166":{"position":[[227,6]]},"168":{"position":[[105,6]]},"233":{"position":[[398,6]]},"234":{"position":[[178,6]]},"240":{"position":[[340,6]]},"242":{"position":[[527,6]]},"243":{"position":[[564,6]]},"245":{"position":[[146,6]]},"246":{"position":[[145,6]]},"276":{"position":[[680,6]]},"277":{"position":[[716,6]]},"278":{"position":[[112,6]]},"279":{"position":[[250,6]]},"280":{"position":[[312,6]]},"281":{"position":[[781,6]]},"282":{"position":[[825,6]]},"283":{"position":[[233,6]]},"284":{"position":[[151,6]]},"285":{"position":[[114,6]]},"288":{"position":[[248,6]]},"289":{"position":[[268,6]]},"298":{"position":[[1191,6]]},"306":{"position":[[131,6]]},"314":{"position":[[419,6]]},"315":{"position":[[223,6]]},"316":{"position":[[243,6]]},"317":{"position":[[246,6]]},"318":{"position":[[385,6]]},"319":{"position":[[158,6]]},"326":{"position":[[399,6]]},"327":{"position":[[358,6]]},"328":{"position":[[414,6]]},"329":{"position":[[400,6]]},"330":{"position":[[355,6]]},"331":{"position":[[335,6]]},"332":{"position":[[356,6]]},"334":{"position":[[702,6]]},"335":{"position":[[630,6]]},"344":{"position":[[412,6]]},"345":{"position":[[906,6]]},"346":{"position":[[555,6]]},"347":{"position":[[451,6]]},"409":{"position":[[131,6]]},"413":{"position":[[79,6]]},"416":{"position":[[709,6]]},"417":{"position":[[939,6]]},"422":{"position":[[65,6]]},"449":{"position":[[135,6]]},"459":{"position":[[127,6]]},"460":{"position":[[116,6]]},"461":{"position":[[98,6]]},"462":{"position":[[235,6]]},"463":{"position":[[171,6]]},"467":{"position":[[280,6]]},"468":{"position":[[239,6]]},"469":{"position":[[295,6]]},"470":{"position":[[340,6]]},"471":{"position":[[236,6]]},"472":{"position":[[216,6]]},"473":{"position":[[237,6]]},"474":{"position":[[441,6]]},"475":{"position":[[392,6]]},"478":{"position":[[243,6]]},"480":{"position":[[63,6]]},"481":{"position":[[146,6]]},"483":{"position":[[66,6]]},"484":{"position":[[118,6]]},"492":{"position":[[227,6]]},"510":{"position":[[280,6]]},"511":{"position":[[300,6]]},"513":{"position":[[76,6]]},"514":{"position":[[72,6]]},"548":{"position":[[227,6]]},"788":{"position":[[131,6]]},"792":{"position":[[79,6]]},"795":{"position":[[709,6]]},"796":{"position":[[939,6]]},"801":{"position":[[65,6]]},"828":{"position":[[135,6]]},"867":{"position":[[277,7]]},"950":{"position":[[895,7]]},"1231":{"position":[[614,8],[747,8]]},"1346":{"position":[[110,6]]},"1477":{"position":[[2637,6],[2799,6]]}},"keywords":{}}],["sample.bxl",{"_index":4771,"title":{},"content":{"961":{"position":[[460,10]]}},"keywords":{}}],["sample.bxl::func1",{"_index":4777,"title":{},"content":{"961":{"position":[[664,17]]}},"keywords":{}}],["san",{"_index":4304,"title":{},"content":{"896":{"position":[[71,3],[122,3],[302,3],[341,3],[446,3],[666,3],[705,3],[810,3]]}},"keywords":{}}],["sandbox",{"_index":234,"title":{},"content":{"9":{"position":[[1356,9]]},"1383":{"position":[[6906,7]]},"1403":{"position":[[4786,7]]}},"keywords":{}}],["sanit",{"_index":3458,"title":{},"content":{"690":{"position":[[228,11]]},"937":{"position":[[163,10]]},"943":{"position":[[2644,9],[2658,9]]},"945":{"position":[[1027,9]]}},"keywords":{}}],["sanitizer_runtime_en",{"_index":6766,"title":{},"content":{"1362":{"position":[[4027,26]]},"1367":{"position":[[5407,26]]},"1389":{"position":[[3542,26]]}},"keywords":{}}],["sanitizer_runtime_fil",{"_index":7397,"title":{},"content":{"1389":{"position":[[3579,24]]}},"keywords":{}}],["sapl",{"_index":153,"title":{},"content":{"7":{"position":[[320,7]]}},"keywords":{}}],["satisfi",{"_index":4633,"title":{},"content":{"939":{"position":[[837,10]]},"1013":{"position":[[229,9]]},"1348":{"position":[[2922,9],[3048,9],[3179,9]]},"1349":{"position":[[1067,9],[1193,9],[1324,9]]},"1350":{"position":[[4038,9],[4164,9],[4295,9]]},"1351":{"position":[[1259,9],[1386,9],[1518,9]]},"1352":{"position":[[4037,9],[4163,9],[4294,9]]},"1353":{"position":[[1641,9],[1767,9],[1898,9]]},"1354":{"position":[[1479,9],[1605,9],[1736,9]]},"1355":{"position":[[2619,9],[2746,9],[2878,9]]},"1356":{"position":[[985,9],[1111,9],[1242,9]]},"1357":{"position":[[658,9],[784,9],[915,9]]},"1358":{"position":[[1379,9],[1505,9],[1636,9]]},"1359":{"position":[[1216,9],[1342,9],[1473,9]]},"1360":{"position":[[1848,9],[1975,9],[2107,9]]},"1361":{"position":[[1206,9],[1332,9],[1463,9]]},"1362":{"position":[[5571,9],[5698,9],[5830,9]]},"1363":{"position":[[3317,9],[3444,9],[3576,9]]},"1364":{"position":[[5600,9],[5727,9],[5859,9]]},"1365":{"position":[[1140,9],[1266,9],[1397,9]]},"1366":{"position":[[1347,9],[1474,9],[1606,9]]},"1367":{"position":[[6998,9],[7125,9],[7257,9]]},"1368":{"position":[[1696,9],[1822,9],[1953,9]]},"1369":{"position":[[748,9],[874,9],[1005,9]]},"1370":{"position":[[996,9],[1123,9],[1255,9]]},"1371":{"position":[[624,9],[750,9],[881,9]]},"1372":{"position":[[2262,9],[2388,9],[2519,9]]},"1373":{"position":[[3134,9],[3260,9],[3391,9]]},"1374":{"position":[[1031,9],[1158,9],[1290,9]]},"1375":{"position":[[660,9],[786,9],[917,9]]},"1376":{"position":[[616,9],[742,9],[873,9]]},"1377":{"position":[[855,9],[981,9],[1112,9]]},"1378":{"position":[[602,9],[728,9],[859,9]]},"1379":{"position":[[625,9],[751,9],[882,9]]},"1380":{"position":[[1096,9],[1222,9],[1353,9]]},"1381":{"position":[[1002,9],[1128,9],[1259,9]]},"1382":{"position":[[3483,9],[3610,9],[3742,9]]},"1383":{"position":[[1721,9],[1848,9],[1980,9]]},"1384":{"position":[[4645,9],[4772,9],[4904,9]]},"1385":{"position":[[2321,9],[2447,9],[2578,9]]},"1386":{"position":[[959,9],[1085,9],[1216,9]]},"1387":{"position":[[4590,9],[4716,9],[4847,9]]},"1388":{"position":[[3783,9],[3910,9],[4042,9]]},"1389":{"position":[[4643,9],[4769,9],[4900,9]]},"1390":{"position":[[895,9],[1021,9],[1152,9]]},"1391":{"position":[[848,9],[974,9],[1105,9]]},"1392":{"position":[[998,9],[1124,9],[1255,9]]},"1393":{"position":[[1571,9],[1698,9],[1830,9]]},"1394":{"position":[[1018,9],[1144,9],[1275,9]]},"1395":{"position":[[1028,9],[1155,9],[1287,9]]},"1396":{"position":[[824,9],[950,9],[1081,9]]},"1397":{"position":[[1005,9],[1131,9],[1262,9]]},"1398":{"position":[[1678,9],[1805,9],[1937,9]]},"1399":{"position":[[860,9],[986,9],[1117,9]]},"1400":{"position":[[729,9],[855,9],[986,9]]},"1401":{"position":[[804,9],[930,9],[1061,9]]},"1402":{"position":[[960,9],[1086,9],[1217,9]]},"1403":{"position":[[1551,9],[1678,9],[1810,9]]},"1404":{"position":[[793,9],[919,9],[1050,9]]},"1405":{"position":[[1484,9],[1610,9],[1741,9]]},"1406":{"position":[[700,9],[826,9],[957,9]]},"1407":{"position":[[1525,9],[1651,9],[1782,9]]},"1408":{"position":[[1221,9],[1347,9],[1478,9]]},"1409":{"position":[[755,9],[881,9],[1012,9]]},"1410":{"position":[[1918,9],[2045,9],[2177,9]]},"1411":{"position":[[738,9],[864,9],[995,9]]},"1412":{"position":[[1939,9],[2066,9],[2198,9]]},"1413":{"position":[[2122,9],[2248,9],[2379,9]]},"1414":{"position":[[989,9],[1115,9],[1246,9]]},"1415":{"position":[[2971,9],[3097,9],[3228,9]]},"1416":{"position":[[1623,9],[1749,9],[1880,9]]},"1417":{"position":[[1212,9],[1338,9],[1469,9]]},"1418":{"position":[[913,9],[1039,9],[1170,9]]},"1419":{"position":[[1041,9],[1167,9],[1298,9]]},"1420":{"position":[[1305,9],[1431,9],[1562,9]]},"1421":{"position":[[1280,9],[1406,9],[1537,9]]},"1422":{"position":[[1184,9],[1311,9],[1443,9]]},"1423":{"position":[[1172,9],[1298,9],[1429,9]]},"1424":{"position":[[1297,9],[1423,9],[1554,9]]},"1425":{"position":[[913,9],[1039,9],[1170,9]]},"1426":{"position":[[1257,9],[1384,9],[1516,9]]},"1427":{"position":[[2154,9],[2281,9],[2413,9]]},"1428":{"position":[[895,9],[1021,9],[1152,9]]},"1429":{"position":[[2818,9],[2945,9],[3077,9]]},"1430":{"position":[[1671,9],[1797,9],[1928,9]]},"1431":{"position":[[1015,9],[1141,9],[1272,9]]},"1432":{"position":[[1536,9],[1662,9],[1793,9]]},"1433":{"position":[[1057,9],[1183,9],[1314,9]]},"1434":{"position":[[731,9],[857,9],[988,9]]},"1435":{"position":[[695,9],[821,9],[952,9]]},"1436":{"position":[[711,9],[837,9],[968,9]]},"1437":{"position":[[781,9],[907,9],[1038,9]]},"1438":{"position":[[916,9],[1043,9],[1175,9]]},"1439":{"position":[[2440,9],[2567,9],[2699,9]]},"1440":{"position":[[3006,9],[3133,9],[3265,9]]},"1441":{"position":[[737,9],[863,9],[994,9]]},"1442":{"position":[[811,9],[938,9],[1070,9]]},"1443":{"position":[[1032,9],[1158,9],[1289,9]]},"1444":{"position":[[948,9],[1074,9],[1205,9]]},"1445":{"position":[[637,9],[763,9],[894,9]]},"1446":{"position":[[971,9],[1097,9],[1228,9]]},"1447":{"position":[[853,9],[979,9],[1110,9]]},"1448":{"position":[[1288,9],[1414,9],[1545,9]]},"1449":{"position":[[1222,9],[1348,9],[1479,9]]},"1450":{"position":[[1101,9],[1227,9],[1358,9]]},"1451":{"position":[[1101,9],[1227,9],[1358,9]]},"1452":{"position":[[647,9],[773,9],[904,9]]},"1453":{"position":[[1233,9],[1359,9],[1490,9]]},"1454":{"position":[[3599,9],[3725,9],[3856,9]]},"1455":{"position":[[1486,9],[1612,9],[1743,9]]},"1456":{"position":[[831,9],[957,9],[1088,9]]},"1457":{"position":[[890,9],[1016,9],[1147,9]]},"1458":{"position":[[1425,9],[1551,9],[1682,9]]},"1459":{"position":[[904,9],[1030,9],[1161,9]]},"1460":{"position":[[1016,9],[1142,9],[1273,9]]},"1461":{"position":[[1232,9],[1359,9],[1491,9]]},"1462":{"position":[[4612,9],[4738,9],[4869,9]]},"1463":{"position":[[738,9],[864,9],[995,9]]},"1464":{"position":[[646,9],[772,9],[903,9]]},"1465":{"position":[[1744,9],[1870,9],[2001,9]]},"1466":{"position":[[982,9],[1108,9],[1239,9]]},"1467":{"position":[[5302,9],[5429,9],[5561,9]]},"1468":{"position":[[746,9],[872,9],[1003,9]]},"1469":{"position":[[1120,9],[1247,9],[1379,9]]},"1470":{"position":[[3648,9],[3774,9],[3905,9]]},"1471":{"position":[[1983,9],[2110,9],[2242,9]]},"1472":{"position":[[1942,9],[2069,9],[2201,9]]},"1473":{"position":[[2257,9],[2384,9],[2516,9]]},"1474":{"position":[[1647,9],[1773,9],[1904,9]]},"1475":{"position":[[2118,9],[2244,9],[2375,9]]},"1476":{"position":[[723,9],[849,9],[980,9]]},"1477":{"position":[[876,9],[1003,9],[1135,9]]},"1478":{"position":[[1367,9],[1494,9],[1626,9]]},"1479":{"position":[[815,9],[941,9],[1072,9]]},"1480":{"position":[[1228,9],[1354,9],[1485,9]]},"1481":{"position":[[1761,9],[1887,9],[2018,9]]},"1482":{"position":[[835,9],[961,9],[1092,9]]},"1483":{"position":[[669,9],[795,9],[926,9]]},"1484":{"position":[[741,9],[867,9],[998,9]]},"1485":{"position":[[1001,9],[1127,9],[1258,9]]},"1486":{"position":[[1245,9],[1371,9],[1502,9]]},"1487":{"position":[[941,9],[1068,9],[1200,9]]}},"keywords":{}}],["satisfied(constraint",{"_index":5092,"title":{},"content":{"1026":{"position":[[1177,21],[1337,21]]}},"keywords":{}}],["save",{"_index":240,"title":{},"content":{"9":{"position":[[1425,6],[1587,6]]},"11":{"position":[[430,7]]},"706":{"position":[[2320,4]]}},"keywords":{}}],["scala_librari",{"_index":8452,"title":{"1474":{"position":[[0,14]]}},"content":{"1474":{"position":[[4,14]]}},"keywords":{}}],["scala_test",{"_index":8453,"title":{"1475":{"position":[[0,11]]}},"content":{"1475":{"position":[[4,11]]}},"keywords":{}}],["scalabl",{"_index":4597,"title":{},"content":{"937":{"position":[[2012,9],[3528,11]]}},"keywords":{}}],["scale",{"_index":635,"title":{},"content":{"22":{"position":[[243,5],[1760,6]]},"693":{"position":[[6873,7]]},"919":{"position":[[2674,6],[2717,6]]}},"keywords":{}}],["scan",{"_index":5400,"title":{},"content":{"1057":{"position":[[1270,7]]}},"keywords":{}}],["scenario",{"_index":2624,"title":{},"content":{"575":{"position":[[337,9]]},"704":{"position":[[0,9]]},"706":{"position":[[85,8]]},"924":{"position":[[252,9]]},"995":{"position":[[808,10]]},"1048":{"position":[[32,8]]}},"keywords":{}}],["scene",{"_index":4541,"title":{},"content":{"924":{"position":[[1492,7]]}},"keywords":{}}],["scene_kit_asset",{"_index":8454,"title":{"1476":{"position":[[0,17]]}},"content":{"1476":{"position":[[4,17]]}},"keywords":{}}],["schedul",{"_index":3808,"title":{},"content":{"724":{"position":[[1316,8]]},"1079":{"position":[[859,8],[1177,9]]},"1395":{"position":[[2170,10]]}},"keywords":{}}],["scheduled.clean_stale_period_hour",{"_index":5542,"title":{},"content":{"1079":{"position":[[795,34]]}},"keywords":{}}],["scheduler.id",{"_index":1232,"title":{},"content":{"94":{"position":[[3902,13]]},"226":{"position":[[3902,13]]}},"keywords":{}}],["schema",{"_index":5710,"title":{"1112":{"position":[[0,7]]}},"content":{"1123":{"position":[[13,7]]},"1127":{"position":[[462,6]]}},"keywords":{}}],["scheme",{"_index":4256,"title":{},"content":{"890":{"position":[[6300,7]]},"1398":{"position":[[5379,6]]}},"keywords":{}}],["scm",{"_index":4124,"title":{},"content":{"879":{"position":[[176,3]]}},"keywords":{}}],["scope",{"_index":2170,"title":{},"content":{"406":{"position":[[660,5]]},"785":{"position":[[660,5]]},"890":{"position":[[637,5],[1337,6],[2810,5],[6985,5],[7001,5]]},"947":{"position":[[1374,5]]},"970":{"position":[[253,5]]}},"keywords":{}}],["scope.th",{"_index":4254,"title":{},"content":{"890":{"position":[[5777,9]]}},"keywords":{}}],["scratch",{"_index":1239,"title":{},"content":{"94":{"position":[[4399,7]]},"226":{"position":[[4399,7]]},"1190":{"position":[[1193,8]]},"1205":{"position":[[80,8]]}},"keywords":{}}],["screen",{"_index":4456,"title":{},"content":{"910":{"position":[[412,6]]}},"keywords":{}}],["script",{"_index":34,"title":{"832":{"position":[[15,6]]},"860":{"position":[[40,7]]},"864":{"position":[[30,7]]}},"content":{"4":{"position":[[43,7],[219,6],[392,7],[402,7]]},"69":{"position":[[524,6]]},"92":{"position":[[1285,6]]},"94":{"position":[[2397,6]]},"98":{"position":[[1322,7]]},"224":{"position":[[1285,6]]},"226":{"position":[[2397,6]]},"230":{"position":[[1322,7]]},"242":{"position":[[464,7]]},"300":{"position":[[195,7]]},"305":{"position":[[165,7],[230,6]]},"334":{"position":[[569,6]]},"344":{"position":[[281,7]]},"346":{"position":[[171,7],[236,6]]},"347":{"position":[[269,7],[334,6]]},"408":{"position":[[114,6],[1071,6]]},"416":{"position":[[556,6]]},"417":{"position":[[786,6]]},"457":{"position":[[524,6]]},"474":{"position":[[308,6]]},"685":{"position":[[283,8]]},"693":{"position":[[1863,7],[2019,7]]},"787":{"position":[[114,6],[1071,6]]},"795":{"position":[[556,6]]},"796":{"position":[[786,6]]},"832":{"position":[[15,6],[406,6],[612,6],[817,6]]},"833":{"position":[[65,6],[160,7],[225,6],[371,7],[463,6]]},"834":{"position":[[371,6],[460,7]]},"837":{"position":[[392,6]]},"840":{"position":[[33,6]]},"848":{"position":[[707,7]]},"850":{"position":[[107,7]]},"855":{"position":[[160,7]]},"856":{"position":[[325,7]]},"860":{"position":[[82,6],[142,7],[444,6],[615,6]]},"864":{"position":[[1570,6]]},"869":{"position":[[24,6],[780,8]]},"870":{"position":[[753,6],[963,6],[1270,7]]},"876":{"position":[[44,7],[286,7]]},"937":{"position":[[1376,7]]},"955":{"position":[[1158,6]]},"956":{"position":[[100,7]]},"1040":{"position":[[1711,6]]},"1050":{"position":[[1018,6],[1475,6],[1899,6],[2111,6],[2323,6],[3260,6],[3405,6],[3560,7],[4230,6],[4457,6]]},"1105":{"position":[[1669,6],[1893,7],[2034,6],[2303,8],[2319,7],[2353,7]]},"1127":{"position":[[609,6]]},"1140":{"position":[[8,7],[284,6]]},"1144":{"position":[[287,6]]},"1185":{"position":[[168,6]]},"1188":{"position":[[12,6],[337,6]]},"1374":{"position":[[2672,9],[2944,6]]},"1383":{"position":[[4792,6],[4994,7],[5026,6]]},"1384":{"position":[[19706,7]]},"1395":{"position":[[2561,7]]},"1397":{"position":[[2882,8],[3080,6],[3124,6]]},"1403":{"position":[[7387,6]]},"1459":{"position":[[1801,7]]},"1477":{"position":[[640,7],[1568,6],[1814,6],[2060,6],[2246,6],[2911,6],[3039,6],[3092,7],[3163,9]]},"1478":{"position":[[1131,7],[2038,6],[2224,7],[2305,7],[2483,7],[2520,6],[3061,6],[3285,6],[3338,7]]}},"keywords":{}}],["script'",{"_index":4009,"title":{},"content":{"867":{"position":[[244,8]]}},"keywords":{}}],["script.escript",{"_index":7545,"title":{},"content":{"1395":{"position":[[3336,14]]}},"keywords":{}}],["script.metadata",{"_index":3982,"title":{},"content":{"864":{"position":[[241,16]]}},"keywords":{}}],["script.opt",{"_index":1488,"title":{},"content":{"242":{"position":[[330,15]]}},"keywords":{}}],["script.sh",{"_index":8464,"title":{},"content":{"1477":{"position":[[2958,9],[3072,9]]},"1478":{"position":[[3108,9],[3318,9],[3436,9],[3684,9]]}},"keywords":{}}],["script:main/1",{"_index":7546,"title":{},"content":{"1395":{"position":[[3393,14]]}},"keywords":{}}],["script_fail",{"_index":8485,"title":{},"content":{"1478":{"position":[[3413,14],[3588,14],[3661,14],[3827,14],[3847,14]]}},"keywords":{}}],["script_nam",{"_index":7540,"title":{},"content":{"1395":{"position":[[627,12],[3123,12],[3699,11]]}},"keywords":{}}],["script_pass",{"_index":8484,"title":{},"content":{"1478":{"position":[[3398,14],[3603,14],[3773,14]]}},"keywords":{}}],["scripts)/start",{"_index":7094,"title":{},"content":{"1374":{"position":[[3170,15]]}},"keywords":{}}],["script’",{"_index":3817,"title":{},"content":{"832":{"position":[[118,8]]}},"keywords":{}}],["scroll",{"_index":5397,"title":{},"content":{"1057":{"position":[[856,9]]}},"keywords":{}}],["sdk",{"_index":3388,"title":{},"content":{"678":{"position":[[141,3]]},"1355":{"position":[[2262,4]]},"1356":{"position":[[2432,3]]},"1362":{"position":[[8269,3]]},"1364":{"position":[[9118,3]]},"1367":{"position":[[8357,3]]}},"keywords":{}}],["sdk/extras/google/google_play_services/docs/refer",{"_index":6630,"title":{},"content":{"1358":{"position":[[3067,55]]}},"keywords":{}}],["sdk_dependencies_path",{"_index":8503,"title":{},"content":{"1481":{"position":[[1038,22]]}},"keywords":{}}],["sdk_environ",{"_index":7002,"title":{},"content":{"1368":{"position":[[1139,16]]}},"keywords":{}}],["sdk_modul",{"_index":6767,"title":{},"content":{"1362":{"position":[[4071,12]]},"1364":{"position":[[4015,12]]},"1367":{"position":[[5451,12]]},"1384":{"position":[[3712,12]]},"1387":{"position":[[3644,12]]},"1480":{"position":[[740,12]]},"1481":{"position":[[1077,12]]}},"keywords":{}}],["sdk_name",{"_index":7003,"title":{},"content":{"1368":{"position":[[1172,9]]}},"keywords":{}}],["sdk_path",{"_index":7004,"title":{},"content":{"1368":{"position":[[1191,9]]},"1481":{"position":[[1105,9]]}},"keywords":{}}],["sdkroot",{"_index":6795,"title":{},"content":{"1362":{"position":[[8176,8]]},"1364":{"position":[[9025,8]]},"1367":{"position":[[8264,8]]}},"keywords":{}}],["sdkroot/system/library/frameworks/foundation.framework",{"_index":6828,"title":{},"content":{"1362":{"position":[[14015,58]]},"1364":{"position":[[14741,58]]},"1367":{"position":[[14540,58]]}},"keywords":{}}],["sdkroot/system/library/frameworks/uikit.framework",{"_index":6827,"title":{},"content":{"1362":{"position":[[13961,53]]},"1364":{"position":[[14687,53]]},"1367":{"position":[[14599,53]]}},"keywords":{}}],["seal",{"_index":4146,"title":{},"content":{"887":{"position":[[376,6]]}},"keywords":{}}],["seamless",{"_index":71,"title":{},"content":{"4":{"position":[[575,8]]}},"keywords":{}}],["search",{"_index":2799,"title":{},"content":{"594":{"position":[[330,6]]},"596":{"position":[[110,6]]},"1088":{"position":[[322,7],[716,6]]},"1133":{"position":[[459,6]]},"1232":{"position":[[3824,6]]},"1362":{"position":[[13651,6]]},"1364":{"position":[[14351,6]]},"1373":{"position":[[7721,6],[7876,6],[8032,6]]},"1382":{"position":[[10497,6],[10652,6],[10808,6]]},"1384":{"position":[[17571,6],[17726,6],[17882,6]]},"1386":{"position":[[2931,6],[5687,6],[5841,6]]},"1387":{"position":[[6569,8]]},"1388":{"position":[[8990,6],[9145,6],[9301,6]]},"1402":{"position":[[1775,6]]},"1439":{"position":[[6771,8]]},"1461":{"position":[[2586,8]]},"1462":{"position":[[6073,8]]},"1465":{"position":[[3045,8]]},"1467":{"position":[[7185,8]]},"1468":{"position":[[1463,8]]},"1485":{"position":[[3362,6],[3517,6],[3673,6]]}},"keywords":{}}],["sec",{"_index":2489,"title":{},"content":{"514":{"position":[[56,4]]},"1228":{"position":[[1843,4]]},"1478":{"position":[[3480,3],[3527,3],[3556,3]]}},"keywords":{}}],["second",{"_index":202,"title":{"706":{"position":[[0,6]]}},"content":{"9":{"position":[[672,7],[743,8]]},"10":{"position":[[505,8]]},"89":{"position":[[906,6]]},"92":{"position":[[2042,6]]},"221":{"position":[[906,6]]},"224":{"position":[[2042,6]]},"362":{"position":[[1828,7]]},"377":{"position":[[1717,7]]},"443":{"position":[[308,6]]},"580":{"position":[[39,6]]},"584":{"position":[[299,6]]},"639":{"position":[[321,6]]},"663":{"position":[[280,6]]},"673":{"position":[[311,6],[339,6]]},"741":{"position":[[1828,7]]},"756":{"position":[[1717,7]]},"822":{"position":[[308,6]]},"901":{"position":[[242,6]]},"977":{"position":[[610,6]]},"990":{"position":[[671,6]]},"1035":{"position":[[537,6]]},"1058":{"position":[[4,6]]},"1126":{"position":[[257,6]]},"1133":{"position":[[423,6]]},"1136":{"position":[[4069,6]]},"1138":{"position":[[7731,6]]},"1140":{"position":[[6657,6]]},"1142":{"position":[[2101,6]]},"1146":{"position":[[2041,6]]},"1148":{"position":[[5081,6]]},"1155":{"position":[[2137,6]]},"1156":{"position":[[1715,6]]},"1167":{"position":[[7661,6]]},"1169":{"position":[[1500,6]]},"1186":{"position":[[3305,6]]},"1187":{"position":[[3318,6]]},"1188":{"position":[[8044,6]]},"1191":{"position":[[1905,6]]},"1192":{"position":[[2080,6]]},"1193":{"position":[[2132,6]]},"1194":{"position":[[1772,6]]},"1195":{"position":[[1750,6]]},"1196":{"position":[[1560,6]]},"1197":{"position":[[2543,6]]},"1198":{"position":[[2553,6]]},"1199":{"position":[[2581,6]]},"1200":{"position":[[2448,6]]},"1201":{"position":[[1708,6]]},"1202":{"position":[[2850,6],[7247,6]]},"1203":{"position":[[1942,6]]},"1204":{"position":[[1786,6]]},"1205":{"position":[[3115,6]]},"1206":{"position":[[1586,6]]},"1207":{"position":[[1743,6]]},"1209":{"position":[[3091,6]]},"1217":{"position":[[6402,6]]},"1219":{"position":[[2388,6]]},"1222":{"position":[[1512,6]]},"1223":{"position":[[1522,6]]},"1224":{"position":[[1702,6]]},"1226":{"position":[[6870,6]]},"1228":{"position":[[1826,8],[1835,7],[8483,6]]},"1235":{"position":[[4351,6]]},"1237":{"position":[[7040,6]]},"1362":{"position":[[11453,6],[11835,6],[12262,6]]},"1364":{"position":[[8457,6],[12420,6],[12767,6]]},"1367":{"position":[[11823,6],[12170,6]]},"1373":{"position":[[6475,6],[6856,6],[7302,6]]},"1382":{"position":[[8322,6],[8672,6],[9176,6],[9623,6],[9978,6]]},"1384":{"position":[[7599,6],[8013,6],[8643,6],[9177,6],[14667,6],[15017,6],[15521,6],[15968,6],[16323,6]]},"1385":{"position":[[4552,6],[4901,6],[5404,6],[5850,6],[6204,6]]},"1387":{"position":[[7925,6],[8274,6],[8777,6],[9223,6],[9577,6]]},"1415":{"position":[[4434,6],[4815,6]]},"1416":{"position":[[3290,6]]},"1420":{"position":[[2427,6]]},"1448":{"position":[[2373,6]]},"1449":{"position":[[2307,6]]},"1454":{"position":[[5999,6],[6412,6],[6965,6],[8135,6],[8447,6],[8767,6]]},"1455":{"position":[[2770,6]]},"1465":{"position":[[3328,6],[3739,6]]},"1467":{"position":[[9597,6]]},"1485":{"position":[[2936,6]]},"1486":{"position":[[4856,6]]}},"keywords":{}}],["secondary_dex_weight_limit",{"_index":6462,"title":{},"content":{"1350":{"position":[[3551,27]]},"1352":{"position":[[3550,27]]}},"keywords":{}}],["section",{"_index":482,"title":{"575":{"position":[[31,7]]},"585":{"position":[[0,9]]}},"content":{"17":{"position":[[5,7]]},"18":{"position":[[5,7],[1893,7]]},"41":{"position":[[817,8]]},"174":{"position":[[817,8]]},"433":{"position":[[22,8]]},"573":{"position":[[74,8],[94,7]]},"575":{"position":[[54,7],[273,9],[428,7],[510,7]]},"584":{"position":[[195,8],[282,8],[399,7],[532,9]]},"586":{"position":[[5,7]]},"587":{"position":[[169,8],[514,8],[612,7],[739,8]]},"622":{"position":[[180,7]]},"676":{"position":[[187,7]]},"693":{"position":[[6368,7]]},"716":{"position":[[183,9]]},"812":{"position":[[22,8]]},"839":{"position":[[174,8]]},"864":{"position":[[838,7]]},"940":{"position":[[374,9]]},"943":{"position":[[255,7]]},"944":{"position":[[246,9]]},"1068":{"position":[[220,9]]},"1093":{"position":[[106,7],[491,7]]},"1098":{"position":[[304,7],[770,7]]},"1126":{"position":[[624,8]]},"1150":{"position":[[202,7]]},"1193":{"position":[[132,9],[231,8],[273,8]]},"1355":{"position":[[6727,7],[7566,7]]},"1362":{"position":[[5268,8]]},"1364":{"position":[[5297,8]]},"1395":{"position":[[3058,8]]},"1427":{"position":[[5926,7],[7055,7]]},"1465":{"position":[[3504,7],[3913,7]]},"1467":{"position":[[9773,7]]},"1469":{"position":[[2310,7]]}},"keywords":{}}],["section.key",{"_index":6012,"title":{},"content":{"1193":{"position":[[145,14]]}},"keywords":{}}],["section/key",{"_index":6011,"title":{},"content":{"1193":{"position":[[102,11]]}},"keywords":{}}],["sectionpreced",{"_index":2678,"title":{},"content":{"581":{"position":[[969,17]]}},"keywords":{}}],["see",{"_index":319,"title":{"676":{"position":[[0,3]]},"697":{"position":[[0,3]]},"1248":{"position":[[9,3]]}},"content":{"10":{"position":[[332,6]]},"17":{"position":[[126,6]]},"18":{"position":[[776,3],[1671,3]]},"67":{"position":[[183,3]]},"71":{"position":[[111,3]]},"81":{"position":[[412,3]]},"94":{"position":[[2712,3]]},"97":{"position":[[168,3]]},"213":{"position":[[412,3]]},"226":{"position":[[2712,3]]},"229":{"position":[[168,3]]},"455":{"position":[[183,3]]},"494":{"position":[[111,3]]},"566":{"position":[[527,3]]},"581":{"position":[[961,3]]},"676":{"position":[[171,3],[407,3]]},"680":{"position":[[196,3],[544,3]]},"683":{"position":[[371,3]]},"690":{"position":[[32,3]]},"693":{"position":[[189,3],[977,3],[3113,4],[4190,3],[9191,3]]},"697":{"position":[[104,3]]},"700":{"position":[[150,3]]},"715":{"position":[[1843,4]]},"840":{"position":[[1206,4],[1548,3]]},"845":{"position":[[367,4]]},"847":{"position":[[438,4]]},"864":{"position":[[867,3]]},"940":{"position":[[338,3]]},"950":{"position":[[886,3]]},"990":{"position":[[1424,3]]},"991":{"position":[[218,3],[663,3],[2193,4],[2486,4],[2760,3]]},"1008":{"position":[[17,3]]},"1012":{"position":[[461,4]]},"1016":{"position":[[176,3]]},"1024":{"position":[[322,4]]},"1026":{"position":[[128,4]]},"1052":{"position":[[1577,4]]},"1061":{"position":[[87,4]]},"1067":{"position":[[562,3]]},"1071":{"position":[[940,3]]},"1102":{"position":[[142,3],[260,3],[949,4]]},"1104":{"position":[[1258,3],[2220,4]]},"1120":{"position":[[86,3]]},"1126":{"position":[[620,3]]},"1127":{"position":[[147,3]]},"1131":{"position":[[620,3]]},"1136":{"position":[[2414,4]]},"1138":{"position":[[5045,3],[5513,4]]},"1140":{"position":[[4534,3],[5002,4]]},"1142":{"position":[[706,4]]},"1144":{"position":[[354,4]]},"1146":{"position":[[386,4]]},"1148":{"position":[[2863,4]]},"1150":{"position":[[278,3],[589,4]]},"1152":{"position":[[287,4]]},"1154":{"position":[[442,4]]},"1155":{"position":[[742,4]]},"1156":{"position":[[320,4]]},"1157":{"position":[[225,4]]},"1158":{"position":[[219,4]]},"1159":{"position":[[219,4]]},"1161":{"position":[[483,4]]},"1163":{"position":[[281,4]]},"1165":{"position":[[110,4]]},"1167":{"position":[[5538,3],[6006,4]]},"1169":{"position":[[105,4]]},"1171":{"position":[[935,4]]},"1172":{"position":[[2320,4]]},"1173":{"position":[[1007,4]]},"1174":{"position":[[435,4]]},"1175":{"position":[[431,4]]},"1176":{"position":[[600,4]]},"1177":{"position":[[521,4]]},"1178":{"position":[[838,4]]},"1179":{"position":[[635,4]]},"1180":{"position":[[906,4]]},"1181":{"position":[[695,4]]},"1182":{"position":[[469,4]]},"1183":{"position":[[424,4]]},"1185":{"position":[[269,4]]},"1186":{"position":[[1087,4]]},"1187":{"position":[[1100,4]]},"1188":{"position":[[4587,3],[5826,4]]},"1190":{"position":[[1600,4]]},"1191":{"position":[[510,4]]},"1192":{"position":[[425,4]]},"1193":{"position":[[737,4]]},"1194":{"position":[[377,4]]},"1195":{"position":[[355,4]]},"1196":{"position":[[165,4]]},"1197":{"position":[[325,4]]},"1198":{"position":[[335,4]]},"1199":{"position":[[363,4]]},"1200":{"position":[[230,4]]},"1201":{"position":[[313,4]]},"1202":{"position":[[377,4],[1455,4],[5852,4]]},"1203":{"position":[[287,4]]},"1204":{"position":[[391,4],[4613,4],[5543,4],[6445,4],[7431,4],[8385,4],[9332,4],[10262,4]]},"1205":{"position":[[1460,4]]},"1206":{"position":[[191,4]]},"1207":{"position":[[348,4]]},"1209":{"position":[[1696,4]]},"1211":{"position":[[340,4]]},"1213":{"position":[[111,4]]},"1215":{"position":[[195,4]]},"1217":{"position":[[4279,3],[4747,4]]},"1219":{"position":[[578,3],[993,4]]},"1221":{"position":[[314,4]]},"1222":{"position":[[117,4]]},"1223":{"position":[[127,4]]},"1224":{"position":[[307,4]]},"1226":{"position":[[873,3],[5215,4]]},"1228":{"position":[[6360,3],[6828,4]]},"1231":{"position":[[698,3]]},"1235":{"position":[[2956,4]]},"1237":{"position":[[1043,3],[5385,4]]},"1244":{"position":[[321,3]]},"1245":{"position":[[7,3]]},"1248":{"position":[[3,3]]},"1249":{"position":[[15,3]]},"1348":{"position":[[3564,3],[4438,3]]},"1351":{"position":[[3073,4]]},"1358":{"position":[[2818,3]]},"1362":{"position":[[5260,3],[8801,3],[11531,3],[12456,3],[12814,3],[13702,3]]},"1363":{"position":[[5034,4]]},"1364":{"position":[[5289,3],[9412,3],[9915,3],[12498,3],[12961,3],[13514,3],[14402,3]]},"1367":{"position":[[8889,3],[9950,4],[11901,3],[12364,3],[12722,3]]},"1373":{"position":[[5115,3],[6553,3],[7384,3]]},"1382":{"position":[[5571,3],[6185,3],[8400,3],[8879,3],[9705,3],[10172,3],[11176,3]]},"1384":{"position":[[6756,3],[7733,3],[8267,3],[9350,3],[10518,3],[11132,3],[14745,3],[15224,3],[16050,3],[16517,3],[18830,3]]},"1385":{"position":[[3485,3],[4098,3],[4630,3],[5108,3],[5932,3],[6398,3],[6754,3]]},"1386":{"position":[[3068,3]]},"1387":{"position":[[5818,3],[6431,3],[8003,3],[8481,3],[9305,3],[9771,3],[10127,3]]},"1388":{"position":[[7054,3],[9669,3]]},"1393":{"position":[[8806,3],[8908,3]]},"1397":{"position":[[3063,4],[3100,4]]},"1399":{"position":[[2045,3]]},"1415":{"position":[[2581,4],[4512,3]]},"1416":{"position":[[3406,3]]},"1420":{"position":[[2543,3]]},"1423":{"position":[[812,4]]},"1442":{"position":[[2549,3]]},"1448":{"position":[[2016,4],[2489,3],[2632,4]]},"1449":{"position":[[1950,4],[2423,3],[2566,4]]},"1454":{"position":[[5460,3],[6133,3],[6666,3],[7138,3],[7422,3],[8175,3],[8487,3],[8807,3]]},"1455":{"position":[[2904,3]]},"1469":{"position":[[824,3],[2294,3]]},"1471":{"position":[[3130,4]]},"1472":{"position":[[2849,4]]},"1473":{"position":[[3164,4]]},"1477":{"position":[[3104,3]]},"1478":{"position":[[3350,3]]},"1485":{"position":[[1853,3],[2466,3],[3143,3],[4040,3]]},"1486":{"position":[[2810,3]]},"1487":{"position":[[2803,3]]}},"keywords":{}}],["seebenefit",{"_index":782,"title":{},"content":{"23":{"position":[[3506,11]]}},"keywords":{}}],["seeconvert",{"_index":3713,"title":{},"content":{"711":{"position":[[653,10]]},"1044":{"position":[[867,10]]}},"keywords":{}}],["seedepend",{"_index":3574,"title":{},"content":{"693":{"position":[[6598,16]]}},"keywords":{}}],["seefind",{"_index":6172,"title":{},"content":{"1242":{"position":[[17,10]]}},"keywords":{}}],["seehttps://buck2.build/docs/rule_authors/dynamic_depend",{"_index":1150,"title":{},"content":{"92":{"position":[[1937,63]]},"224":{"position":[[1937,63]]}},"keywords":{}}],["seeloc",{"_index":5484,"title":{},"content":{"1069":{"position":[[860,8]]}},"keywords":{}}],["seem",{"_index":3626,"title":{},"content":{"703":{"position":[[126,4]]},"1233":{"position":[[32,5]]},"1241":{"position":[[9,5]]}},"keywords":{}}],["seemake_comp_db.pi",{"_index":5701,"title":{},"content":{"1105":{"position":[[2498,19]]}},"keywords":{}}],["seen",{"_index":178,"title":{},"content":{"9":{"position":[[232,4]]},"841":{"position":[[338,4]]},"892":{"position":[[1254,4]]},"980":{"position":[[959,4],[1494,4]]},"1057":{"position":[[979,4]]},"1058":{"position":[[799,4]]},"1107":{"position":[[300,4]]},"1243":{"position":[[715,4]]}},"keywords":{}}],["seeprovid",{"_index":3575,"title":{},"content":{"693":{"position":[[6637,13]]}},"keywords":{}}],["seerun",{"_index":3899,"title":{},"content":{"847":{"position":[[469,10]]}},"keywords":{}}],["seetest",{"_index":5320,"title":{},"content":{"1053":{"position":[[49,7]]}},"keywords":{}}],["seethi",{"_index":6196,"title":{},"content":{"1249":{"position":[[126,7]]}},"keywords":{}}],["seeverbatim",{"_index":5479,"title":{},"content":{"1069":{"position":[[313,11]]}},"keywords":{}}],["seevis",{"_index":3604,"title":{},"content":{"693":{"position":[[10341,14]]}},"keywords":{}}],["seewhat",{"_index":3905,"title":{},"content":{"848":{"position":[[794,7]]},"861":{"position":[[745,7]]}},"keywords":{}}],["segreg",{"_index":4331,"title":{},"content":{"898":{"position":[[750,10]]}},"keywords":{}}],["select",{"_index":516,"title":{"387":{"position":[[0,7]]},"439":{"position":[[0,7]]},"766":{"position":[[0,7]]},"818":{"position":[[0,7]]},"1012":{"position":[[0,10]]},"1013":{"position":[[0,10]]}},"content":{"17":{"position":[[975,6]]},"23":{"position":[[3195,7]]},"94":{"position":[[2798,9],[2852,8],[3255,8]]},"139":{"position":[[130,7]]},"148":{"position":[[320,6]]},"226":{"position":[[2798,9],[2852,8],[3255,8]]},"262":{"position":[[130,7]]},"271":{"position":[[320,6]]},"387":{"position":[[0,7]]},"429":{"position":[[625,7]]},"440":{"position":[[69,7]]},"442":{"position":[[59,6],[137,6]]},"481":{"position":[[82,8]]},"690":{"position":[[3063,8]]},"693":{"position":[[3460,7]]},"720":{"position":[[137,7]]},"766":{"position":[[0,7]]},"808":{"position":[[625,7]]},"819":{"position":[[69,7]]},"821":{"position":[[59,6],[137,6]]},"917":{"position":[[311,6]]},"919":{"position":[[1737,7],[2048,7]]},"938":{"position":[[660,8],[676,8],[788,8],[1019,8]]},"942":{"position":[[429,8]]},"944":{"position":[[390,9],[589,7],[653,7],[1823,6],[1849,6],[1967,6],[2081,6]]},"962":{"position":[[419,7],[570,7]]},"994":{"position":[[323,6]]},"1012":{"position":[[43,8],[80,13],[212,9],[254,12]]},"1013":{"position":[[10,10],[219,6],[277,8],[302,6]]},"1014":{"position":[[699,11]]},"1017":{"position":[[635,11]]},"1019":{"position":[[264,11]]},"1024":{"position":[[134,6]]},"1053":{"position":[[471,6],[1015,8]]},"1104":{"position":[[1129,7],[1195,7]]},"1127":{"position":[[822,8]]},"1148":{"position":[[203,9]]},"1171":{"position":[[144,8],[217,8],[265,8],[319,8],[381,8],[506,8],[583,8],[646,8],[728,8]]},"1172":{"position":[[33,8]]},"1173":{"position":[[41,8]]},"1174":{"position":[[23,8]]},"1175":{"position":[[36,8]]},"1176":{"position":[[38,8]]},"1178":{"position":[[30,8]]},"1179":{"position":[[43,8]]},"1180":{"position":[[29,8]]},"1182":{"position":[[30,8]]},"1190":{"position":[[1006,6]]},"1203":{"position":[[15,6]]},"1217":{"position":[[18,8]]},"1226":{"position":[[1432,7]]},"1235":{"position":[[461,10],[933,8]]},"1237":{"position":[[1602,7]]},"1280":{"position":[[180,9]]},"1311":{"position":[[180,9]]},"1339":{"position":[[180,9]]},"1363":{"position":[[6269,8],[6330,8],[6683,8],[6744,8]]},"1367":{"position":[[14215,9],[14334,9]]},"1462":{"position":[[6613,8]]},"1467":{"position":[[7728,8]]}},"keywords":{}}],["select()`",{"_index":6162,"title":{},"content":{"1235":{"position":[[195,11],[978,11]]}},"keywords":{}}],["select()invoc",{"_index":5051,"title":{},"content":{"1011":{"position":[[390,19]]}},"keywords":{}}],["select(d",{"_index":2357,"title":{},"content":{"439":{"position":[[4,9]]},"818":{"position":[[4,9]]}},"keywords":{}}],["select({"//:a"",{"_index":6164,"title":{},"content":{"1235":{"position":[[1024,25]]}},"keywords":{}}],["select({"c"",{"_index":2367,"title":{},"content":{"441":{"position":[[288,22],[347,22]]},"442":{"position":[[186,22],[271,22],[352,22]]},"820":{"position":[[288,22],[347,22]]},"821":{"position":[[186,22],[271,22],[352,22]]}},"keywords":{}}],["select_equal_intern",{"_index":2359,"title":{"440":{"position":[[0,22]]},"819":{"position":[[0,22]]}},"content":{},"keywords":{}}],["select_equal_internal(left",{"_index":2360,"title":{},"content":{"440":{"position":[[4,27]]},"819":{"position":[[4,27]]}},"keywords":{}}],["select_map",{"_index":2361,"title":{"441":{"position":[[0,11]]},"820":{"position":[[0,11]]}},"content":{},"keywords":{}}],["select_map([1",{"_index":2366,"title":{},"content":{"441":{"position":[[268,14]]},"820":{"position":[[268,14]]}},"keywords":{}}],["select_map(d",{"_index":2362,"title":{},"content":{"441":{"position":[[4,13]]},"820":{"position":[[4,13]]}},"keywords":{}}],["select_test",{"_index":2369,"title":{"442":{"position":[[0,12]]},"821":{"position":[[0,12]]}},"content":{},"keywords":{}}],["select_test([1",{"_index":2371,"title":{},"content":{"442":{"position":[[168,15],[250,15],[334,15]]},"821":{"position":[[168,15],[250,15],[334,15]]}},"keywords":{}}],["select_test(d",{"_index":2370,"title":{},"content":{"442":{"position":[[4,14]]},"821":{"position":[[4,14]]}},"keywords":{}}],["selective_debug",{"_index":6866,"title":{},"content":{"1363":{"position":[[2422,20]]}},"keywords":{}}],["selector",{"_index":2358,"title":{},"content":{"439":{"position":[[23,8]]},"441":{"position":[[35,9],[65,8],[163,8]]},"818":{"position":[[23,8]]},"820":{"position":[[35,9],[65,8],[163,8]]}},"keywords":{}}],["self",{"_index":3662,"title":{},"content":{"706":{"position":[[413,4]]},"1152":{"position":[[102,4]]}},"keywords":{}}],["semant",{"_index":6656,"title":{},"content":{"1360":{"position":[[3889,9]]},"1384":{"position":[[10012,9]]},"1393":{"position":[[9360,9]]},"1403":{"position":[[3304,9]]}},"keywords":{}}],["semicolon",{"_index":2650,"title":{},"content":{"579":{"position":[[19,9]]}},"keywords":{}}],["send",{"_index":673,"title":{},"content":{"22":{"position":[[1395,4]]},"23":{"position":[[591,4]]},"715":{"position":[[1648,5],[2069,4]]},"1072":{"position":[[491,5]]},"1219":{"position":[[149,4]]},"1226":{"position":[[4905,7]]},"1237":{"position":[[5075,7]]}},"keywords":{}}],["sens",{"_index":1466,"title":{},"content":{"236":{"position":[[497,5]]},"237":{"position":[[584,5]]},"1072":{"position":[[249,5]]},"1082":{"position":[[435,5]]},"1286":{"position":[[184,5]]},"1287":{"position":[[97,5]]},"1393":{"position":[[8217,5]]},"1471":{"position":[[4329,5]]},"1472":{"position":[[4913,5]]},"1473":{"position":[[4650,5]]}},"keywords":{}}],["sensit",{"_index":718,"title":{},"content":{"23":{"position":[[1184,9]]},"418":{"position":[[1187,9]]},"797":{"position":[[1187,9]]},"1462":{"position":[[8541,9]]},"1467":{"position":[[10023,9]]},"1471":{"position":[[4053,9]]},"1472":{"position":[[4637,9]]},"1473":{"position":[[4374,9]]}},"keywords":{}}],["sent",{"_index":2037,"title":{},"content":{"377":{"position":[[1006,4]]},"693":{"position":[[586,4]]},"756":{"position":[[1006,4]]},"1052":{"position":[[993,4]]},"1053":{"position":[[1535,4]]},"1136":{"position":[[6736,4]]},"1138":{"position":[[10398,4]]},"1140":{"position":[[9324,4]]},"1142":{"position":[[4768,4]]},"1144":{"position":[[1096,4]]},"1146":{"position":[[4708,4]]},"1148":{"position":[[8299,4]]},"1150":{"position":[[1331,4]]},"1152":{"position":[[1029,4]]},"1154":{"position":[[1184,4]]},"1155":{"position":[[4804,4]]},"1156":{"position":[[4382,4]]},"1157":{"position":[[967,4]]},"1158":{"position":[[961,4]]},"1159":{"position":[[961,4]]},"1161":{"position":[[1956,4]]},"1163":{"position":[[1342,4]]},"1165":{"position":[[1171,4]]},"1167":{"position":[[10328,4]]},"1169":{"position":[[3436,4]]},"1171":{"position":[[1677,4]]},"1172":{"position":[[3062,4]]},"1173":{"position":[[1749,4]]},"1174":{"position":[[1177,4]]},"1175":{"position":[[1173,4]]},"1176":{"position":[[1342,4]]},"1177":{"position":[[1263,4]]},"1178":{"position":[[1580,4]]},"1179":{"position":[[1377,4]]},"1180":{"position":[[1648,4]]},"1181":{"position":[[2168,4]]},"1182":{"position":[[1211,4]]},"1183":{"position":[[1166,4]]},"1185":{"position":[[1011,4]]},"1186":{"position":[[5972,4]]},"1187":{"position":[[5985,4]]},"1188":{"position":[[10711,4]]},"1190":{"position":[[2342,4]]},"1191":{"position":[[4572,4]]},"1192":{"position":[[4747,4]]},"1193":{"position":[[4799,4]]},"1194":{"position":[[4439,4]]},"1195":{"position":[[4417,4]]},"1196":{"position":[[4227,4]]},"1197":{"position":[[5210,4]]},"1198":{"position":[[5220,4]]},"1199":{"position":[[5248,4]]},"1200":{"position":[[5115,4]]},"1201":{"position":[[4375,4]]},"1202":{"position":[[1119,4],[5517,4],[9914,4]]},"1203":{"position":[[4609,4]]},"1204":{"position":[[4453,4],[5355,4],[6285,4],[7187,4],[8173,4],[9127,4],[10074,4],[11004,4]]},"1205":{"position":[[5782,4]]},"1206":{"position":[[4481,4]]},"1207":{"position":[[4410,4]]},"1209":{"position":[[5758,4]]},"1211":{"position":[[1082,4]]},"1213":{"position":[[853,4]]},"1215":{"position":[[937,4]]},"1217":{"position":[[9069,4]]},"1219":{"position":[[736,5],[4324,4]]},"1221":{"position":[[1056,4]]},"1222":{"position":[[4195,4]]},"1223":{"position":[[4205,4]]},"1224":{"position":[[192,4],[3638,4]]},"1226":{"position":[[9537,4]]},"1228":{"position":[[11150,4]]},"1235":{"position":[[7018,4]]},"1237":{"position":[[9707,4]]},"1478":{"position":[[2657,4]]}},"keywords":{}}],["sentinel",{"_index":4270,"title":{},"content":{"892":{"position":[[671,8],[703,8]]}},"keywords":{}}],["sep",{"_index":1856,"title":{},"content":{"346":{"position":[[34,4]]},"614":{"position":[[19,4]]},"616":{"position":[[18,4],[250,4],[282,3],[442,3],[483,3]]}},"keywords":{}}],["separ",{"_index":1261,"title":{},"content":{"98":{"position":[[1402,9]]},"230":{"position":[[1402,9]]},"346":{"position":[[274,9]]},"362":{"position":[[2324,10]]},"405":{"position":[[1776,8]]},"577":{"position":[[163,8],[359,9],[476,9],[516,9],[640,9],[815,10]]},"604":{"position":[[95,10]]},"616":{"position":[[415,9]]},"702":{"position":[[349,9]]},"741":{"position":[[2324,10]]},"784":{"position":[[1776,8]]},"832":{"position":[[682,10],[793,10]]},"834":{"position":[[767,10]]},"890":{"position":[[6876,8]]},"920":{"position":[[210,8]]},"942":{"position":[[88,9],[1729,8]]},"1132":{"position":[[250,11]]},"1136":{"position":[[1893,9],[5250,9]]},"1138":{"position":[[1695,9],[1945,9],[5621,9],[8912,9]]},"1140":{"position":[[1184,9],[1434,9],[7838,9]]},"1142":{"position":[[3282,9]]},"1146":{"position":[[3222,9]]},"1148":{"position":[[2249,9],[2971,9],[6262,9]]},"1155":{"position":[[3318,9]]},"1156":{"position":[[2896,9]]},"1161":{"position":[[789,9]]},"1167":{"position":[[2188,9],[2438,9],[8842,9]]},"1178":{"position":[[71,9]]},"1181":{"position":[[1001,9]]},"1186":{"position":[[1195,9],[4486,9]]},"1187":{"position":[[1208,9],[4499,9]]},"1188":{"position":[[1237,9],[1487,9],[5934,9],[9225,9]]},"1191":{"position":[[3086,9]]},"1192":{"position":[[3261,9]]},"1193":{"position":[[3313,9]]},"1194":{"position":[[2953,9]]},"1195":{"position":[[2931,9]]},"1196":{"position":[[2741,9]]},"1197":{"position":[[433,9],[3724,9]]},"1198":{"position":[[443,9],[3734,9]]},"1199":{"position":[[471,9],[3762,9]]},"1200":{"position":[[338,9],[3629,9]]},"1201":{"position":[[2889,9]]},"1202":{"position":[[4031,9],[8428,9]]},"1203":{"position":[[3123,9]]},"1204":{"position":[[2967,9]]},"1205":{"position":[[1373,9],[4296,9]]},"1206":{"position":[[2767,9]]},"1207":{"position":[[2924,9]]},"1209":{"position":[[1126,9],[4272,9]]},"1217":{"position":[[929,9],[1179,9],[7583,9]]},"1222":{"position":[[2693,9]]},"1223":{"position":[[2703,9]]},"1226":{"position":[[3066,9],[8051,9]]},"1228":{"position":[[1724,10],[3010,9],[3260,9],[9664,9]]},"1235":{"position":[[2386,9],[5532,9]]},"1237":{"position":[[3236,9],[8221,9]]},"1345":{"position":[[902,9]]},"1360":{"position":[[1391,9]]},"1386":{"position":[[4487,8]]},"1427":{"position":[[7491,8]]},"1439":{"position":[[8317,8]]},"1462":{"position":[[6695,8],[9140,10]]},"1467":{"position":[[7810,8]]}},"keywords":{}}],["seq",{"_index":3163,"title":{},"content":{"643":{"position":[[42,4]]},"653":{"position":[[31,4]]}},"keywords":{}}],["sequenc",{"_index":2545,"title":{},"content":{"560":{"position":[[144,8],[424,8]]},"576":{"position":[[91,9],[180,9]]},"590":{"position":[[185,8],[518,9]]},"592":{"position":[[165,8],[241,8]]},"595":{"position":[[902,8]]},"616":{"position":[[688,8]]},"636":{"position":[[262,9]]},"639":{"position":[[251,8],[298,9]]},"651":{"position":[[50,8],[161,9]]},"652":{"position":[[203,8]]},"654":{"position":[[55,9],[117,8],[206,8]]},"655":{"position":[[55,9],[114,8],[203,8]]},"662":{"position":[[467,8]]},"665":{"position":[[80,8],[160,8]]},"666":{"position":[[93,8],[171,8]]},"673":{"position":[[190,9],[296,10],[369,10],[452,10]]},"956":{"position":[[201,8]]},"1386":{"position":[[5668,8]]}},"keywords":{}}],["sequenti",{"_index":3793,"title":{},"content":{"715":{"position":[[2013,11]]},"937":{"position":[[1664,13]]},"1000":{"position":[[206,12],[352,12]]},"1486":{"position":[[5370,11]]}},"keywords":{}}],["seri",{"_index":668,"title":{},"content":{"22":{"position":[[1156,6]]},"23":{"position":[[2454,6]]},"82":{"position":[[178,6]]},"118":{"position":[[102,6]]},"214":{"position":[[178,6]]},"534":{"position":[[102,6]]},"890":{"position":[[266,6]]},"956":{"position":[[40,6]]},"1011":{"position":[[284,6]]},"1172":{"position":[[83,6]]},"1219":{"position":[[325,6]]},"1448":{"position":[[2767,7]]},"1449":{"position":[[2701,7]]}},"keywords":{}}],["serial",{"_index":5974,"title":{},"content":{"1167":{"position":[[752,6],[819,6]]},"1439":{"position":[[5663,13],[5739,13],[5921,13],[6045,13],[6130,13],[6187,13],[6431,13],[6487,13],[6573,13]]}},"keywords":{}}],["serializ",{"_index":4471,"title":{},"content":{"915":{"position":[[157,12]]},"917":{"position":[[135,12]]},"1064":{"position":[[415,12]]}},"keywords":{}}],["serialize_debugging_opt",{"_index":6768,"title":{},"content":{"1362":{"position":[[4099,28]]},"1364":{"position":[[4043,28]]},"1367":{"position":[[5479,28]]},"1480":{"position":[[768,28]]}},"keywords":{}}],["serv",{"_index":4039,"title":{},"content":{"867":{"position":[[1780,6],[2032,6]]},"1416":{"position":[[2971,7]]},"1443":{"position":[[1736,6]]},"1462":{"position":[[6853,6],[7023,5]]},"1467":{"position":[[7992,5]]}},"keywords":{}}],["server",{"_index":674,"title":{"1212":{"position":[[0,6]]},"1213":{"position":[[5,7]]}},"content":{"22":{"position":[[1427,7]]},"446":{"position":[[222,7]]},"825":{"position":[[222,7]]},"873":{"position":[[139,6]]},"937":{"position":[[2773,7],[4662,7]]},"1169":{"position":[[13,6]]},"1213":{"position":[[35,6],[63,6]]},"1221":{"position":[[213,6]]},"1224":{"position":[[40,6],[99,6]]},"1247":{"position":[[334,7]]}},"keywords":{}}],["server.js"",{"_index":7095,"title":{},"content":{"1374":{"position":[[3186,16]]}},"keywords":{}}],["servic",{"_index":3561,"title":{},"content":{"693":{"position":[[5002,7]]},"1138":{"position":[[2939,7],[3663,8]]},"1140":{"position":[[2428,7],[3152,8]]},"1167":{"position":[[3432,7],[4156,8]]},"1188":{"position":[[2481,7],[3205,8]]},"1217":{"position":[[2173,7],[2897,8]]},"1228":{"position":[[4254,7],[4978,8]]},"1358":{"position":[[2938,10],[2961,8],[3002,8],[3198,8],[3277,9]]}},"keywords":{}}],["servlet",{"_index":6560,"title":{},"content":{"1355":{"position":[[5203,7]]},"1427":{"position":[[4517,7]]},"1439":{"position":[[7016,7]]}},"keywords":{}}],["set",{"_index":50,"title":{"858":{"position":[[0,3]]},"1080":{"position":[[11,4]]},"1082":{"position":[[30,4]]},"1083":{"position":[[30,4]]},"1086":{"position":[[11,3]]},"1087":{"position":[[11,3]]},"1093":{"position":[[0,7]]},"1269":{"position":[[22,4]]},"1300":{"position":[[22,4]]},"1328":{"position":[[22,4]]}},"content":{"4":{"position":[[275,3]]},"15":{"position":[[11,3]]},"18":{"position":[[249,3]]},"22":{"position":[[1413,3]]},"23":{"position":[[2183,4]]},"74":{"position":[[160,3]]},"89":{"position":[[1171,3]]},"94":{"position":[[1557,3],[1697,3],[2063,3],[2572,3],[3376,7],[3708,4]]},"97":{"position":[[150,4]]},"98":{"position":[[653,3],[969,4]]},"99":{"position":[[995,4],[1377,4]]},"118":{"position":[[46,3]]},"221":{"position":[[1171,3]]},"226":{"position":[[1557,3],[1697,3],[2063,3],[2572,3],[3376,7],[3708,4]]},"229":{"position":[[150,4]]},"230":{"position":[[653,3],[969,4]]},"231":{"position":[[995,4],[1377,4]]},"298":{"position":[[1575,3],[1646,3]]},"303":{"position":[[82,3]]},"327":{"position":[[353,4]]},"341":{"position":[[65,3]]},"342":{"position":[[74,3]]},"367":{"position":[[28,8],[362,8]]},"406":{"position":[[521,4]]},"409":{"position":[[94,3]]},"410":{"position":[[150,3]]},"413":{"position":[[53,3]]},"418":{"position":[[144,3]]},"421":{"position":[[84,3]]},"427":{"position":[[647,3]]},"430":{"position":[[85,3],[122,4]]},"431":{"position":[[108,4]]},"432":{"position":[[183,4]]},"444":{"position":[[70,3],[158,3]]},"449":{"position":[[96,3]]},"451":{"position":[[86,3],[186,3]]},"468":{"position":[[234,4]]},"477":{"position":[[124,3]]},"497":{"position":[[160,3]]},"498":{"position":[[16,3],[67,3]]},"534":{"position":[[46,3]]},"559":{"position":[[90,7]]},"572":{"position":[[22,8]]},"578":{"position":[[214,8]]},"580":{"position":[[140,8],[268,8],[410,9]]},"581":{"position":[[106,8],[922,8]]},"582":{"position":[[319,8]]},"583":{"position":[[108,8]]},"622":{"position":[[997,3]]},"638":{"position":[[71,3]]},"663":{"position":[[64,3]]},"676":{"position":[[284,3]]},"685":{"position":[[31,3]]},"693":{"position":[[2544,3],[5362,8],[6669,3],[7433,3],[9013,3],[9437,3]]},"695":{"position":[[791,3]]},"715":{"position":[[751,3]]},"717":{"position":[[450,3],[557,3]]},"718":{"position":[[541,3]]},"724":{"position":[[266,3],[1922,3]]},"746":{"position":[[28,8],[362,8]]},"785":{"position":[[521,4]]},"788":{"position":[[94,3]]},"789":{"position":[[150,3]]},"792":{"position":[[53,3]]},"797":{"position":[[144,3]]},"800":{"position":[[84,3]]},"806":{"position":[[647,3]]},"809":{"position":[[85,3],[122,4]]},"810":{"position":[[108,4]]},"811":{"position":[[183,4]]},"823":{"position":[[70,3],[158,3]]},"828":{"position":[[96,3]]},"830":{"position":[[86,3],[186,3]]},"846":{"position":[[858,4]]},"851":{"position":[[418,7],[593,3],[741,3]]},"858":{"position":[[103,3]]},"867":{"position":[[2173,3]]},"874":{"position":[[82,3],[178,3],[266,3]]},"886":{"position":[[499,3]]},"890":{"position":[[2675,3],[3884,3],[3955,3]]},"901":{"position":[[27,3]]},"902":{"position":[[49,3]]},"905":{"position":[[323,4]]},"906":{"position":[[779,3]]},"907":{"position":[[265,3]]},"910":{"position":[[210,3],[227,3]]},"916":{"position":[[207,3]]},"924":{"position":[[191,4],[797,5]]},"937":{"position":[[53,9],[800,3],[1778,9],[1952,8],[2390,3],[3184,8],[3400,3],[3427,8],[3969,3]]},"938":{"position":[[190,8],[402,7],[634,3]]},"939":{"position":[[507,8],[565,8],[745,8],[1472,8]]},"940":{"position":[[453,7],[482,8],[537,4],[572,8]]},"942":{"position":[[1364,7]]},"943":{"position":[[46,8],[79,8],[107,7],[321,7],[2091,7],[2149,7]]},"945":{"position":[[745,7],[1048,8]]},"950":{"position":[[307,3]]},"955":{"position":[[886,3]]},"989":{"position":[[44,4],[88,7]]},"990":{"position":[[206,3],[662,4],[931,7],[1129,3],[1230,3]]},"991":{"position":[[3515,3]]},"994":{"position":[[374,8]]},"995":{"position":[[298,4],[390,4]]},"1004":{"position":[[1061,8]]},"1011":{"position":[[139,3],[169,8],[249,4]]},"1012":{"position":[[34,3]]},"1013":{"position":[[380,3],[525,3]]},"1016":{"position":[[91,8],[106,7]]},"1019":{"position":[[245,8]]},"1021":{"position":[[167,3]]},"1033":{"position":[[248,3]]},"1040":{"position":[[785,3]]},"1045":{"position":[[257,3]]},"1069":{"position":[[366,3]]},"1070":{"position":[[85,3],[591,3],[750,3],[841,4],[977,3]]},"1071":{"position":[[1167,3]]},"1073":{"position":[[39,7]]},"1081":{"position":[[43,3],[153,5],[359,3],[381,4]]},"1082":{"position":[[0,4],[63,3],[184,3],[289,3],[501,3],[813,3],[924,3],[1362,4]]},"1083":{"position":[[23,4],[258,3],[649,3],[758,3]]},"1084":{"position":[[11,4],[111,4],[134,3]]},"1086":{"position":[[41,3],[339,3],[605,3]]},"1087":{"position":[[34,4],[334,4]]},"1088":{"position":[[11,3]]},"1091":{"position":[[82,4],[171,3]]},"1102":{"position":[[1082,3]]},"1104":{"position":[[2747,5]]},"1112":{"position":[[2513,4]]},"1120":{"position":[[356,3]]},"1130":{"position":[[21,5]]},"1133":{"position":[[396,3],[660,3]]},"1136":{"position":[[3306,4],[3413,4],[3487,3]]},"1138":{"position":[[6968,4],[7075,4],[7149,3]]},"1140":{"position":[[5894,4],[6001,4],[6075,3]]},"1142":{"position":[[1338,4],[1445,4],[1519,3]]},"1146":{"position":[[1278,4],[1385,4],[1459,3]]},"1148":{"position":[[654,3],[4318,4],[4425,4],[4499,3]]},"1155":{"position":[[1374,4],[1481,4],[1555,3]]},"1156":{"position":[[952,4],[1059,4],[1133,3]]},"1161":{"position":[[421,3]]},"1167":{"position":[[6898,4],[7005,4],[7079,3]]},"1169":{"position":[[737,4],[844,4],[918,3]]},"1186":{"position":[[2542,4],[2649,4],[2723,3]]},"1187":{"position":[[2555,4],[2662,4],[2736,3]]},"1188":{"position":[[7281,4],[7388,4],[7462,3]]},"1191":{"position":[[1142,4],[1249,4],[1323,3]]},"1192":{"position":[[1317,4],[1424,4],[1498,3]]},"1193":{"position":[[1369,4],[1476,4],[1550,3]]},"1194":{"position":[[1009,4],[1116,4],[1190,3]]},"1195":{"position":[[987,4],[1094,4],[1168,3]]},"1196":{"position":[[797,4],[904,4],[978,3]]},"1197":{"position":[[1780,4],[1887,4],[1961,3]]},"1198":{"position":[[257,3],[1790,4],[1897,4],[1971,3]]},"1199":{"position":[[1818,4],[1925,4],[1999,3]]},"1200":{"position":[[1685,4],[1792,4],[1866,3]]},"1201":{"position":[[945,4],[1052,4],[1126,3]]},"1202":{"position":[[2087,4],[2194,4],[2268,3],[6484,4],[6591,4],[6665,3]]},"1203":{"position":[[1179,4],[1286,4],[1360,3]]},"1204":{"position":[[1023,4],[1130,4],[1204,3]]},"1205":{"position":[[2352,4],[2459,4],[2533,3]]},"1206":{"position":[[823,4],[930,4],[1004,3]]},"1207":{"position":[[52,3],[980,4],[1087,4],[1161,3]]},"1209":{"position":[[2328,4],[2435,4],[2509,3]]},"1217":{"position":[[486,3],[5639,4],[5746,4],[5820,3]]},"1219":{"position":[[1625,4],[1732,4],[1806,3]]},"1222":{"position":[[749,4],[856,4],[930,3]]},"1223":{"position":[[759,4],[866,4],[940,3]]},"1224":{"position":[[939,4],[1046,4],[1120,3]]},"1226":{"position":[[629,3],[770,3],[836,3],[1150,3],[1230,4],[3250,3],[3296,3],[6107,4],[6214,4],[6288,3]]},"1228":{"position":[[1229,8],[1295,8],[7720,4],[7827,4],[7901,3]]},"1235":{"position":[[3588,4],[3695,4],[3769,3]]},"1237":{"position":[[799,3],[940,3],[1006,3],[1320,3],[1400,4],[3420,3],[3466,3],[6277,4],[6384,4],[6458,3]]},"1247":{"position":[[500,3]]},"1259":{"position":[[806,4],[2094,3],[2304,3]]},"1273":{"position":[[502,3]]},"1282":{"position":[[13,3]]},"1284":{"position":[[13,3]]},"1290":{"position":[[806,4],[2094,3],[2304,3]]},"1304":{"position":[[502,3]]},"1313":{"position":[[13,3]]},"1315":{"position":[[13,3]]},"1318":{"position":[[806,4],[2094,3],[2304,3]]},"1332":{"position":[[502,3]]},"1341":{"position":[[13,3]]},"1343":{"position":[[13,3]]},"1345":{"position":[[376,4]]},"1346":{"position":[[142,4],[377,3],[405,3],[478,3]]},"1348":{"position":[[3747,3]]},"1351":{"position":[[1984,3],[3204,3]]},"1354":{"position":[[2302,3],[2488,3],[2886,3]]},"1355":{"position":[[2194,3],[7369,3]]},"1358":{"position":[[2613,7]]},"1360":{"position":[[3023,3],[4765,3]]},"1361":{"position":[[1895,3],[2148,3]]},"1362":{"position":[[4811,3],[6707,3],[8848,3],[9801,4],[10072,7],[10467,3],[12605,3],[13339,3],[13364,4]]},"1363":{"position":[[5290,3],[5544,7],[5590,8],[5750,3]]},"1364":{"position":[[4847,3],[6946,3],[9962,3],[10915,4],[11186,7],[11581,3],[13224,3],[13305,3],[14039,3],[14064,4]]},"1366":{"position":[[878,4],[2526,3],[2930,3]]},"1367":{"position":[[8936,3],[10206,3],[10718,4],[10989,7],[11384,3],[12513,3],[13247,3],[13272,4]]},"1370":{"position":[[2142,3],[2694,3]]},"1373":{"position":[[2795,3],[4018,3],[4195,3],[4275,3],[4348,3],[4548,3],[5741,4],[5937,4],[7552,3],[8190,3]]},"1381":{"position":[[719,3],[1643,3],[1710,3],[1973,4]]},"1382":{"position":[[3050,3],[5618,3],[6527,4],[6798,7],[7193,3],[10328,3],[10967,3]]},"1383":{"position":[[1311,3],[2608,3],[2840,3],[6797,3],[8354,9],[8368,8]]},"1384":{"position":[[4321,3],[6134,3],[10565,3],[12881,4],[13152,7],[13547,3],[17402,3],[18155,3],[18234,4],[18621,3],[19518,3],[19811,3],[20078,3]]},"1385":{"position":[[3531,3],[6545,3]]},"1387":{"position":[[5864,3],[6481,3],[9918,3]]},"1388":{"position":[[6080,3],[6487,3],[7396,4],[7667,7],[8062,3],[8821,3],[9460,3],[10113,3]]},"1390":{"position":[[629,3],[1526,3],[1815,3]]},"1391":{"position":[[599,3],[1479,3],[1630,3]]},"1392":{"position":[[638,3],[1629,3],[2085,3],[2237,3]]},"1393":{"position":[[4060,3],[6495,3],[7322,3],[7527,3]]},"1394":{"position":[[1672,3]]},"1395":{"position":[[1665,7],[1802,3],[2264,7],[2719,3]]},"1396":{"position":[[1572,3]]},"1397":{"position":[[2270,3],[2639,3]]},"1398":{"position":[[2752,3],[3697,3],[4268,3],[4473,3],[5983,3]]},"1399":{"position":[[1535,3],[1618,3],[1784,4]]},"1401":{"position":[[564,3],[1435,3]]},"1403":{"position":[[2438,3],[4180,3]]},"1405":{"position":[[1146,3],[2153,3],[2402,3],[2472,3],[2882,3],[3261,4],[3611,3]]},"1406":{"position":[[1370,3]]},"1407":{"position":[[1175,3],[2194,3],[2823,3],[2893,3],[3303,3],[3682,4],[4230,3]]},"1408":{"position":[[954,3],[1863,3],[1940,3],[2010,3],[2105,4],[2301,4],[2609,3]]},"1410":{"position":[[2595,3],[2846,3],[2917,3],[3049,3],[3883,3],[4265,4],[4598,7],[4669,4],[5021,3],[5336,3]]},"1412":{"position":[[1469,3],[1559,3],[3402,3]]},"1415":{"position":[[2475,3],[5023,3]]},"1422":{"position":[[936,7],[2615,4],[3347,4]]},"1423":{"position":[[926,7]]},"1427":{"position":[[1706,3],[3849,7],[3900,7],[5641,4],[6568,3]]},"1429":{"position":[[2534,3],[3943,3],[4078,3],[4202,3],[5833,3]]},"1439":{"position":[[1988,3],[6253,3],[6683,3],[7550,4],[7691,3]]},"1440":{"position":[[2724,3],[3936,3],[4071,3],[4195,3],[5733,3]]},"1442":{"position":[[558,3],[2340,3]]},"1444":{"position":[[1879,3]]},"1446":{"position":[[602,3],[1867,3],[2076,3],[2266,3]]},"1448":{"position":[[1012,3],[1929,3],[2044,3],[2529,3]]},"1449":{"position":[[952,3],[1863,3],[1978,3],[2463,3]]},"1453":{"position":[[917,3]]},"1454":{"position":[[3254,3],[4838,3],[7538,3],[9624,9]]},"1457":{"position":[[1521,3],[1692,4]]},"1459":{"position":[[1589,3],[1915,3],[2049,3]]},"1461":{"position":[[2498,3]]},"1462":{"position":[[5985,3],[8158,3]]},"1465":{"position":[[2957,3],[4083,3]]},"1467":{"position":[[4992,3],[6433,3],[7097,3],[9219,3],[10276,3],[10355,3]]},"1468":{"position":[[1375,3]]},"1469":{"position":[[865,7]]},"1470":{"position":[[3303,3]]},"1471":{"position":[[1712,3],[2694,3],[3031,3],[3152,3],[3266,3],[3324,3],[3436,3],[3585,3],[3935,3],[4260,3],[4897,3],[4990,3],[5051,3]]},"1472":{"position":[[1671,3],[2653,3],[2750,3],[2871,3],[2990,3],[3104,3],[3410,3],[3850,3],[3908,3],[4020,3],[4169,3],[4519,3],[4844,3],[5491,3],[5550,4],[5937,3]]},"1473":{"position":[[1967,3],[2968,3],[3065,3],[3186,3],[3300,3],[3358,3],[3470,3],[3653,3],[3895,3],[4256,3],[4581,3],[5218,3],[5303,3],[5440,3],[5501,3]]},"1477":{"position":[[1659,7]]},"1482":{"position":[[1764,4],[1786,4]]},"1485":{"position":[[702,3],[1899,3],[3193,3],[3831,3]]},"1486":{"position":[[2643,3],[2883,7]]},"1487":{"position":[[2307,3],[2624,3]]}},"keywords":{}}],["set(//foo:foo",{"_index":7153,"title":{},"content":{"1382":{"position":[[5042,15]]},"1388":{"position":[[5736,15]]},"1442":{"position":[[2032,15]]}},"keywords":{}}],["set.platform",{"_index":4973,"title":{},"content":{"995":{"position":[[423,12]]}},"keywords":{}}],["set1",{"_index":5550,"title":{},"content":{"1081":{"position":[[159,4],[282,7]]},"1082":{"position":[[928,4],[1051,7]]},"1083":{"position":[[762,4],[885,7]]},"1084":{"position":[[360,4],[483,7],[558,6],[672,4]]},"1087":{"position":[[464,4],[587,7],[662,6]]},"1088":{"position":[[811,4],[934,7],[1009,6]]}},"keywords":{}}],["set2",{"_index":5552,"title":{},"content":{"1081":{"position":[[215,4]]},"1082":{"position":[[984,4]]},"1083":{"position":[[818,4]]},"1084":{"position":[[416,4],[565,6]]},"1087":{"position":[[520,4],[669,6]]},"1088":{"position":[[867,4],[1016,6]]}},"keywords":{}}],["set2.project_as_args("define"",{"_index":5562,"title":{},"content":{"1082":{"position":[[1160,40]]}},"keywords":{}}],["set2.project_as_json("define"",{"_index":5573,"title":{},"content":{"1083":{"position":[[997,40]]}},"keywords":{}}],["set3",{"_index":5580,"title":{},"content":{"1084":{"position":[[491,4]]},"1087":{"position":[[595,4]]},"1088":{"position":[[942,4]]}},"keywords":{}}],["set3.project_as_args("define"",{"_index":5582,"title":{},"content":{"1084":{"position":[[579,40]]}},"keywords":{}}],["set3.project_as_args("project"",{"_index":5605,"title":{},"content":{"1088":{"position":[[1129,41]]}},"keywords":{}}],["set_cfg_constructor",{"_index":2373,"title":{"443":{"position":[[0,20]]},"822":{"position":[[0,20]]}},"content":{"443":{"position":[[4,20]]},"822":{"position":[[4,20]]}},"keywords":{}}],["set_cfg_modifiers(cfg_modifi",{"_index":4649,"title":{},"content":{"940":{"position":[[652,31],[1283,31]]},"943":{"position":[[418,31],[638,31]]},"944":{"position":[[1445,31]]}},"keywords":{}}],["set_cfg_nam",{"_index":4867,"title":{},"content":{"981":{"position":[[836,12]]}},"keywords":{}}],["set_starlark_peak_allocated_byte_limit",{"_index":2377,"title":{"444":{"position":[[0,39]]},"823":{"position":[[0,39]]}},"content":{},"keywords":{}}],["set_starlark_peak_allocated_byte_limit(valu",{"_index":2378,"title":{},"content":{"444":{"position":[[4,45]]},"823":{"position":[[4,45]]}},"keywords":{}}],["setdefault",{"_index":2533,"title":{},"content":{"559":{"position":[[264,11],[358,10],[435,10]]}},"keywords":{}}],["settingcontain",{"_index":6323,"title":{},"content":{"1346":{"position":[[673,16]]}},"keywords":{}}],["settingsindividu",{"_index":2680,"title":{},"content":{"582":{"position":[[200,20]]}},"keywords":{}}],["setup",{"_index":496,"title":{"937":{"position":[[33,7]]}},"content":{"17":{"position":[[443,5]]},"22":{"position":[[1937,6]]},"377":{"position":[[26,6],[583,6],[1635,5],[1729,5]]},"756":{"position":[[26,6],[583,6],[1635,5],[1729,5]]},"1052":{"position":[[211,5],[621,5],[659,5]]},"1053":{"position":[[996,5]]},"1054":{"position":[[340,5],[493,5]]},"1144":{"position":[[56,6]]},"1228":{"position":[[1066,6]]}},"keywords":{}}],["setup.pi",{"_index":8270,"title":{},"content":{"1461":{"position":[[3241,8]]}},"keywords":{}}],["setup_timeout_second",{"_index":2027,"title":{},"content":{"377":{"position":[[308,22],[1662,22]]},"756":{"position":[[308,22],[1662,22]]}},"keywords":{}}],["sev",{"_index":402,"title":{},"content":{"12":{"position":[[324,3]]}},"keywords":{}}],["sever",{"_index":267,"title":{},"content":{"9":{"position":[[1929,7],[2765,7]]},"24":{"position":[[279,7]]},"298":{"position":[[1421,7]]},"673":{"position":[[65,7]]},"715":{"position":[[1717,7]]},"870":{"position":[[609,7],[666,7],[702,7],[907,7],[1042,7]]},"916":{"position":[[10,7]]},"929":{"position":[[19,7]]},"954":{"position":[[519,7]]},"1105":{"position":[[10,7]]},"1120":{"position":[[31,7]]}},"keywords":{}}],["sh",{"_index":881,"title":{},"content":{"47":{"position":[[106,4]]},"194":{"position":[[106,4]]},"1105":{"position":[[1683,2]]},"1477":{"position":[[1610,3]]}},"keywords":{}}],["sh_binari",{"_index":7084,"title":{"1477":{"position":[[0,10]]}},"content":{"1374":{"position":[[2125,12]]},"1383":{"position":[[5043,11],[5134,9]]},"1477":{"position":[[4,10],[601,11],[1541,9],[2613,11],[2686,10]]},"1486":{"position":[[2137,12],[3251,10]]}},"keywords":{}}],["sh_test",{"_index":8471,"title":{"1478":{"position":[[0,8]]}},"content":{"1478":{"position":[[4,8],[1045,9],[2771,9],[2837,8],[2939,8],[3446,7],[3694,7]]},"1482":{"position":[[1944,8],[2103,8],[2247,8]]}},"keywords":{}}],["sha",{"_index":7715,"title":{},"content":{"1404":{"position":[[1467,3]]},"1422":{"position":[[2438,3]]},"1423":{"position":[[2107,3]]}},"keywords":{}}],["sha1",{"_index":1107,"title":{},"content":{"91":{"position":[[117,5],[354,4]]},"223":{"position":[[117,5],[354,4]]},"972":{"position":[[38,4],[252,5]]},"1096":{"position":[[373,5]]},"1226":{"position":[[1909,5]]},"1237":{"position":[[2079,5]]},"1345":{"position":[[1376,5]]},"1422":{"position":[[535,5]]},"1423":{"position":[[516,5]]},"1439":{"position":[[6613,4]]},"1461":{"position":[[3587,4]]},"1469":{"position":[[511,5],[2651,4],[3066,4],[3401,4],[3696,4]]}},"keywords":{}}],["sha1:sizeuse_cas",{"_index":1047,"title":{},"content":{"85":{"position":[[290,18]]},"217":{"position":[[290,18]]}},"keywords":{}}],["sha256",{"_index":1108,"title":{"445":{"position":[[0,7]]},"824":{"position":[[0,7]]}},"content":{"91":{"position":[[142,7]]},"223":{"position":[[142,7]]},"445":{"position":[[46,6]]},"824":{"position":[[46,6]]},"1226":{"position":[[1915,7]]},"1237":{"position":[[2085,7]]},"1345":{"position":[[1218,6],[1385,6]]},"1422":{"position":[[557,7],[2426,7],[4127,6]]},"1423":{"position":[[538,7],[2894,6],[3124,6],[3653,6],[3920,6]]},"1469":{"position":[[533,7]]}},"keywords":{}}],["sha256("buck2",{"_index":2383,"title":{},"content":{"445":{"position":[[120,18]]},"824":{"position":[[120,18]]}},"keywords":{}}],["sha256(val",{"_index":2381,"title":{},"content":{"445":{"position":[[4,11]]},"824":{"position":[[4,11]]}},"keywords":{}}],["sha256.intern",{"_index":4828,"title":{},"content":{"972":{"position":[[104,18]]}},"keywords":{}}],["shader",{"_index":7840,"title":{},"content":{"1415":{"position":[[5910,7]]}},"keywords":{}}],["shadow",{"_index":4209,"title":{},"content":{"890":{"position":[[1244,9],[5744,7]]}},"keywords":{}}],["shallow",{"_index":953,"title":{},"content":{"66":{"position":[[181,7]]},"454":{"position":[[181,7]]},"1198":{"position":[[165,7]]}},"keywords":{}}],["shape",{"_index":1844,"title":{},"content":{"345":{"position":[[443,5]]}},"keywords":{}}],["share",{"_index":229,"title":{},"content":{"9":{"position":[[1224,6]]},"12":{"position":[[582,5]]},"23":{"position":[[1939,7],[2025,6],[2060,6]]},"41":{"position":[[460,6]]},"81":{"position":[[365,7]]},"98":{"position":[[1202,6]]},"99":{"position":[[1610,6]]},"174":{"position":[[460,6]]},"213":{"position":[[365,7]]},"230":{"position":[[1202,6]]},"231":{"position":[[1610,6]]},"693":{"position":[[5063,5]]},"704":{"position":[[263,6],[1195,6]]},"835":{"position":[[178,7]]},"886":{"position":[[298,7]]},"890":{"position":[[4605,5]]},"898":{"position":[[597,5],[892,6],[1522,6],[2545,6]]},"1053":{"position":[[1121,6],[1256,6]]},"1088":{"position":[[613,6]]},"1112":{"position":[[4353,6]]},"1362":{"position":[[4916,6],[10777,7],[11197,6]]},"1364":{"position":[[4942,6],[11744,7],[12164,6]]},"1367":{"position":[[11567,6]]},"1370":{"position":[[1991,6]]},"1373":{"position":[[5712,6]]},"1382":{"position":[[7646,7],[8066,6]]},"1383":{"position":[[3678,6],[3745,6],[3806,6],[7779,5]]},"1384":{"position":[[13710,7],[14130,6],[14318,6],[14375,6],[18290,6],[20650,6]]},"1385":{"position":[[4297,6]]},"1387":{"position":[[6770,7],[6790,6],[6857,6],[7390,6],[7577,6],[7634,6]]},"1388":{"position":[[8515,7],[8680,6]]},"1393":{"position":[[6759,6]]},"1403":{"position":[[6879,5]]},"1405":{"position":[[3087,7]]},"1407":{"position":[[3508,7]]},"1410":{"position":[[4089,7]]},"1415":{"position":[[4179,6]]},"1421":{"position":[[2196,6],[2220,6]]},"1446":{"position":[[729,6],[1983,6],[2143,6],[2539,6]]},"1454":{"position":[[7791,6],[7848,6],[7938,6],[9091,6],[9856,6]]},"1455":{"position":[[2992,6],[3042,6],[3163,6],[3213,6],[3386,6],[3571,6]]},"1459":{"position":[[1956,6],[2116,6]]},"1462":{"position":[[6727,6]]},"1467":{"position":[[7842,6]]},"1471":{"position":[[3909,7],[4954,6]]},"1472":{"position":[[3380,7],[4493,7],[5606,6]]},"1473":{"position":[[4230,7],[5275,6]]}},"keywords":{}}],["share/cach",{"_index":3704,"title":{},"content":{"710":{"position":[[104,11]]}},"keywords":{}}],["shareabl",{"_index":3834,"title":{},"content":{"834":{"position":[[707,9]]}},"keywords":{}}],["shared"",{"_index":7762,"title":{},"content":{"1407":{"position":[[4729,14]]}},"keywords":{}}],["shared)`/includes/*.h",{"_index":7773,"title":{},"content":{"1407":{"position":[[5145,22]]}},"keywords":{}}],["shared)flag",{"_index":7178,"title":{},"content":{"1383":{"position":[[3640,12]]}},"keywords":{}}],["shared.a",{"_index":4134,"title":{},"content":{"886":{"position":[[133,8],[211,8]]}},"keywords":{}}],["shared.linker_extra_output",{"_index":7053,"title":{},"content":{"1373":{"position":[[5294,28]]}},"keywords":{}}],["shared.main",{"_index":7854,"title":{},"content":{"1416":{"position":[[2942,12]]}},"keywords":{}}],["shared_dep_runtime_ld_flag",{"_index":7398,"title":{},"content":{"1389":{"position":[[3619,28]]}},"keywords":{}}],["shared_interfac",{"_index":7882,"title":{},"content":{"1421":{"position":[[2486,17]]}},"keywords":{}}],["shared_lib",{"_index":7779,"title":{},"content":{"1407":{"position":[[5315,10]]},"1421":{"position":[[843,12],[2565,11]]},"1454":{"position":[[2155,11],[8179,10],[9994,10]]},"1455":{"position":[[806,12],[3459,11],[4930,11]]}},"keywords":{}}],["shared_library_extens",{"_index":7399,"title":{},"content":{"1389":{"position":[[3663,25]]}},"keywords":{}}],["shared_library_interface_flag",{"_index":7400,"title":{},"content":{"1389":{"position":[[3698,31]]}},"keywords":{}}],["shared_library_interface_mod",{"_index":7401,"title":{},"content":{"1389":{"position":[[3745,30]]}},"keywords":{}}],["shared_library_interface_produc",{"_index":7402,"title":{},"content":{"1389":{"position":[[3785,34]]}},"keywords":{}}],["shared_library_interface_typ",{"_index":7403,"title":{},"content":{"1389":{"position":[[3836,30]]}},"keywords":{}}],["shared_library_macho_file_typ",{"_index":6926,"title":{},"content":{"1364":{"position":[[4082,31]]}},"keywords":{}}],["shared_library_versioned_extension_format",{"_index":7404,"title":{},"content":{"1389":{"position":[[3872,42]]}},"keywords":{}}],["shared_link",{"_index":8198,"title":{},"content":{"1455":{"position":[[839,12],[3065,11],[3236,11],[4867,11]]}},"keywords":{}}],["shared_runtime_path",{"_index":8113,"title":{},"content":{"1447":{"position":[[533,20]]}},"keywords":{}}],["sharedflag",{"_index":7753,"title":{},"content":{"1407":{"position":[[2499,10]]}},"keywords":{}}],["shave",{"_index":6202,"title":{},"content":{"1250":{"position":[[277,5]]}},"keywords":{}}],["sheet",{"_index":4444,"title":{"909":{"position":[[14,5]]},"1128":{"position":[[12,5]]}},"content":{},"keywords":{}}],["shell",{"_index":2175,"title":{},"content":{"408":{"position":[[108,5]]},"685":{"position":[[277,5]]},"787":{"position":[[108,5]]},"1105":{"position":[[1663,5],[1887,5],[2028,5],[2347,5]]},"1144":{"position":[[35,5],[248,5]]},"1172":{"position":[[814,5]]},"1217":{"position":[[555,5],[629,5],[677,5]]},"1345":{"position":[[459,5],[736,5],[1036,5]]},"1360":{"position":[[2564,5],[2708,5],[2805,5],[3081,5],[3261,5],[3906,5],[4030,5],[4603,5],[5127,5],[5367,5]]},"1383":{"position":[[1225,5],[2390,5],[2666,5],[2760,5],[2942,5],[4430,5],[4786,5],[4988,5],[5853,5],[6635,5],[7235,5],[7370,5],[8566,5]]},"1393":{"position":[[7347,6],[7501,6]]},"1397":{"position":[[3242,5]]},"1398":{"position":[[4293,6],[4447,6],[6437,6]]},"1403":{"position":[[1260,5],[2220,5],[2496,5],[2676,5],[3321,5],[3445,5],[4018,5],[5284,5],[6470,5]]},"1477":{"position":[[634,5]]},"1478":{"position":[[1125,5],[2084,5]]}},"keywords":{}}],["shell_config",{"_index":7451,"title":{},"content":{"1393":{"position":[[873,14],[7282,14]]},"1398":{"position":[[1030,14],[4228,14]]}},"keywords":{}}],["shell_lib",{"_index":7452,"title":{},"content":{"1393":{"position":[[903,11],[7425,11]]},"1398":{"position":[[1060,11],[4371,11]]}},"keywords":{}}],["shim/third",{"_index":435,"title":{},"content":{"13":{"position":[[445,10]]}},"keywords":{}}],["ship",{"_index":348,"title":{},"content":{"10":{"position":[[996,4]]},"11":{"position":[[515,5]]}},"keywords":{}}],["short",{"_index":721,"title":{},"content":{"23":{"position":[[1270,5]]},"37":{"position":[[172,5]]},"50":{"position":[[350,5]]},"84":{"position":[[120,5],[153,5]]},"182":{"position":[[172,5]]},"197":{"position":[[350,5]]},"216":{"position":[[120,5],[153,5]]},"981":{"position":[[610,5]]},"1362":{"position":[[8715,5]]},"1364":{"position":[[9829,5]]},"1367":{"position":[[8803,5]]},"1381":{"position":[[2010,5]]},"1384":{"position":[[11484,5],[11972,5],[12224,5],[12461,5]]}},"keywords":{}}],["short_path",{"_index":1029,"title":{},"content":{"84":{"position":[[50,11]]},"216":{"position":[[50,11]]}},"keywords":{}}],["short_path=yyi",{"_index":1035,"title":{},"content":{"84":{"position":[[309,16]]},"216":{"position":[[309,16]]}},"keywords":{}}],["shortest",{"_index":3264,"title":{},"content":{"655":{"position":[[451,8]]},"666":{"position":[[736,8],[913,8]]},"673":{"position":[[430,8]]}},"keywords":{}}],["should_include_class",{"_index":6410,"title":{},"content":{"1349":{"position":[[758,23]]}},"keywords":{}}],["should_include_librari",{"_index":6411,"title":{},"content":{"1349":{"position":[[792,25]]}},"keywords":{}}],["should_propag",{"_index":4902,"title":{},"content":{"989":{"position":[[424,16]]},"990":{"position":[[645,16],[1077,16],[1213,16]]}},"keywords":{}}],["shouldn't",{"_index":1255,"title":{},"content":{"98":{"position":[[1073,9]]},"99":{"position":[[1481,9]]},"230":{"position":[[1073,9]]},"231":{"position":[[1481,9]]}},"keywords":{}}],["show",{"_index":523,"title":{"1175":{"position":[[9,5]]},"1182":{"position":[[9,4]]}},"content":{"17":{"position":[[1292,4],[1332,4]]},"407":{"position":[[47,4]]},"570":{"position":[[417,4],[500,4],[542,4],[640,4],[681,4]]},"583":{"position":[[19,5]]},"705":{"position":[[595,4]]},"715":{"position":[[1570,5]]},"716":{"position":[[22,5]]},"786":{"position":[[47,4]]},"833":{"position":[[448,4]]},"840":{"position":[[900,4]]},"866":{"position":[[10,4],[137,5],[324,4],[342,4]]},"894":{"position":[[25,7]]},"946":{"position":[[335,4],[410,4]]},"947":{"position":[[636,4]]},"1033":{"position":[[235,4]]},"1042":{"position":[[364,4]]},"1058":{"position":[[382,5]]},"1059":{"position":[[53,7]]},"1069":{"position":[[19,5]]},"1084":{"position":[[695,5]]},"1118":{"position":[[86,5]]},"1120":{"position":[[666,7],[833,4],[852,4],[872,4]]},"1127":{"position":[[58,5],[132,4],[196,4],[255,4],[261,4],[341,4],[371,4],[423,4],[616,5],[739,4]]},"1129":{"position":[[253,5]]},"1136":{"position":[[4768,4],[5328,5],[5387,5],[6149,4]]},"1138":{"position":[[147,4],[241,4],[320,4],[426,4],[517,4],[604,4],[8430,4],[8990,5],[9049,5],[9811,4]]},"1140":{"position":[[932,4],[7356,4],[7916,5],[7975,5],[8737,4]]},"1142":{"position":[[2800,4],[3360,5],[3419,5],[4181,4]]},"1144":{"position":[[509,4]]},"1146":{"position":[[2740,4],[3300,5],[3359,5],[4121,4]]},"1148":{"position":[[2750,4],[2765,4],[5780,4],[6340,5],[6399,5],[7712,4]]},"1150":{"position":[[744,4]]},"1152":{"position":[[442,4]]},"1154":{"position":[[597,4]]},"1155":{"position":[[2836,4],[3396,5],[3455,5],[4217,4]]},"1156":{"position":[[2414,4],[2974,5],[3033,5],[3795,4]]},"1157":{"position":[[380,4]]},"1158":{"position":[[374,4]]},"1159":{"position":[[374,4]]},"1161":{"position":[[867,5],[926,5],[1369,4]]},"1163":{"position":[[755,4]]},"1165":{"position":[[584,4]]},"1167":{"position":[[8360,4],[8920,5],[8979,5],[9741,4]]},"1169":{"position":[[2199,4],[2849,4]]},"1171":{"position":[[278,4],[343,4],[409,4],[617,4],[688,4],[1090,4]]},"1172":{"position":[[1039,4],[1694,4],[1738,4],[1901,4],[1914,4],[2193,4],[2475,4]]},"1173":{"position":[[339,4],[1162,4]]},"1174":{"position":[[243,4],[590,4]]},"1175":{"position":[[81,4],[263,4],[586,4]]},"1176":{"position":[[0,4],[134,6],[347,4],[502,4],[755,4]]},"1177":{"position":[[0,4],[259,4],[676,4]]},"1178":{"position":[[413,4],[993,4]]},"1179":{"position":[[279,4],[790,4]]},"1180":{"position":[[0,4],[609,4],[1061,4]]},"1181":{"position":[[364,4],[1079,5],[1138,5],[1581,4]]},"1182":{"position":[[114,4],[301,4],[624,4]]},"1183":{"position":[[256,4],[579,4]]},"1185":{"position":[[424,4]]},"1186":{"position":[[4004,4],[4564,5],[4623,5],[5385,4]]},"1187":{"position":[[4017,4],[4577,5],[4636,5],[5398,4]]},"1188":{"position":[[985,4],[8743,4],[9303,5],[9362,5],[10124,4]]},"1190":{"position":[[1755,4]]},"1191":{"position":[[2604,4],[3164,5],[3223,5],[3985,4]]},"1192":{"position":[[2779,4],[3339,5],[3398,5],[4160,4]]},"1193":{"position":[[2831,4],[3391,5],[3450,5],[4212,4]]},"1194":{"position":[[2471,4],[3031,5],[3090,5],[3852,4]]},"1195":{"position":[[2449,4],[3009,5],[3068,5],[3830,4]]},"1196":{"position":[[2259,4],[2819,5],[2878,5],[3640,4]]},"1197":{"position":[[3242,4],[3802,5],[3861,5],[4623,4]]},"1198":{"position":[[3252,4],[3812,5],[3871,5],[4633,4]]},"1199":{"position":[[3280,4],[3840,5],[3899,5],[4661,4]]},"1200":{"position":[[3147,4],[3707,5],[3766,5],[4528,4]]},"1201":{"position":[[2407,4],[2967,5],[3026,5],[3788,4]]},"1202":{"position":[[532,4],[3549,4],[4109,5],[4168,5],[4930,4],[7946,4],[8506,5],[8565,5],[9327,4]]},"1203":{"position":[[2641,4],[3201,5],[3260,5],[4022,4]]},"1204":{"position":[[2485,4],[3045,5],[3104,5],[3866,4],[4768,4],[5698,4],[6600,4],[7586,4],[8540,4],[9487,4],[10417,4]]},"1205":{"position":[[3814,4],[4374,5],[4433,5],[5195,4]]},"1206":{"position":[[2285,4],[2845,5],[2904,5],[3894,4]]},"1207":{"position":[[2442,4],[3002,5],[3061,5],[3823,4]]},"1209":{"position":[[3790,4],[4350,5],[4409,5],[5171,4]]},"1211":{"position":[[495,4]]},"1213":{"position":[[266,4]]},"1215":{"position":[[350,4]]},"1217":{"position":[[7101,4],[7661,5],[7720,5],[8482,4]]},"1219":{"position":[[3087,4],[3737,4]]},"1221":{"position":[[469,4]]},"1222":{"position":[[2211,4],[2771,5],[2830,5],[3608,4]]},"1223":{"position":[[2221,4],[2781,5],[2840,5],[3618,4]]},"1224":{"position":[[2401,4],[3051,4]]},"1226":{"position":[[357,4],[433,4],[3326,4],[3420,4],[3499,4],[3605,4],[3696,4],[3783,4],[4181,4],[4222,5],[4412,4],[7569,4],[8129,5],[8188,5],[8950,4]]},"1228":{"position":[[9182,4],[9742,5],[9801,5],[10563,4]]},"1231":{"position":[[237,4]]},"1235":{"position":[[5050,4],[5610,5],[5669,5],[6431,4]]},"1237":{"position":[[0,4],[527,4],[603,4],[3496,4],[3590,4],[3669,4],[3775,4],[3866,4],[3953,4],[4351,4],[4392,5],[4582,4],[7739,4],[8299,5],[8358,5],[9120,4]]},"1240":{"position":[[72,4],[283,4],[408,4],[429,4]]},"1248":{"position":[[174,7]]},"1353":{"position":[[2341,5]]},"1482":{"position":[[1665,4]]}},"keywords":{}}],["shown",{"_index":3378,"title":{},"content":{"675":{"position":[[750,5]]},"716":{"position":[[119,5]]},"850":{"position":[[118,5]]},"1031":{"position":[[170,5]]},"1050":{"position":[[1600,5]]},"1057":{"position":[[906,7]]},"1058":{"position":[[781,7]]},"1072":{"position":[[529,5]]},"1112":{"position":[[2669,5]]},"1120":{"position":[[508,6]]},"1133":{"position":[[530,5]]},"1172":{"position":[[2173,6]]}},"keywords":{}}],["shut",{"_index":6078,"title":{},"content":{"1228":{"position":[[1559,4]]},"1486":{"position":[[2792,4]]}},"keywords":{}}],["sibl",{"_index":3028,"title":{},"content":{"622":{"position":[[434,8]]},"1422":{"position":[[2697,8]]}},"keywords":{}}],["side",{"_index":335,"title":{},"content":{"10":{"position":[[713,4]]},"441":{"position":[[90,4]]},"587":{"position":[[274,4],[354,4]]},"706":{"position":[[2477,5]]},"820":{"position":[[90,4]]},"1056":{"position":[[645,4]]},"1127":{"position":[[690,5]]}},"keywords":{}}],["sign",{"_index":2652,"title":{},"content":{"579":{"position":[[56,4]]},"587":{"position":[[293,4],[373,4]]},"1360":{"position":[[5828,8]]},"1363":{"position":[[3043,6],[5853,7],[6488,7]]}},"keywords":{}}],["signal",{"_index":1928,"title":{},"content":{"363":{"position":[[144,7]]},"366":{"position":[[93,7]]},"367":{"position":[[123,7]]},"372":{"position":[[171,7]]},"374":{"position":[[295,7]]},"386":{"position":[[293,7]]},"398":{"position":[[92,7]]},"399":{"position":[[86,7]]},"742":{"position":[[144,7]]},"745":{"position":[[93,7]]},"746":{"position":[[123,7]]},"751":{"position":[[171,7]]},"753":{"position":[[295,7]]},"765":{"position":[[293,7]]},"777":{"position":[[92,7]]},"778":{"position":[[86,7]]},"1052":{"position":[[1049,6]]},"1486":{"position":[[5006,7]]}},"keywords":{}}],["significantli",{"_index":212,"title":{},"content":{"9":{"position":[[952,13]]},"10":{"position":[[1115,13]]},"693":{"position":[[6856,13]]},"1050":{"position":[[203,13]]},"1057":{"position":[[1384,13]]}},"keywords":{}}],["significantly.multi",{"_index":675,"title":{},"content":{"22":{"position":[[1478,19]]}},"keywords":{}}],["sigterm",{"_index":2038,"title":{},"content":{"377":{"position":[[1011,7]]},"756":{"position":[[1011,7]]},"1052":{"position":[[998,7]]},"1053":{"position":[[1524,7]]}},"keywords":{}}],["silent",{"_index":2708,"title":{},"content":{"584":{"position":[[1231,8]]}},"keywords":{}}],["silli",{"_index":3732,"title":{"878":{"position":[[0,5]]}},"content":{"712":{"position":[[159,5]]},"878":{"position":[[10,5]]}},"keywords":{}}],["silly.bzl",{"_index":5240,"title":{},"content":{"1048":{"position":[[431,9]]}},"keywords":{}}],["silly_binari",{"_index":5237,"title":{},"content":{"1048":{"position":[[331,13],[1486,12]]}},"keywords":{}}],["similar",{"_index":634,"title":{},"content":{"22":{"position":[[213,7],[1997,7]]},"23":{"position":[[2190,7]]},"98":{"position":[[937,7]]},"230":{"position":[[937,7]]},"400":{"position":[[264,7]]},"582":{"position":[[396,7]]},"702":{"position":[[235,7],[274,7]]},"779":{"position":[[264,7]]},"864":{"position":[[723,7]]},"866":{"position":[[116,7]]},"890":{"position":[[180,7]]},"924":{"position":[[2109,7]]},"937":{"position":[[2598,7]]},"951":{"position":[[589,7]]},"961":{"position":[[214,7],[748,7]]},"991":{"position":[[3260,7]]},"1004":{"position":[[357,7]]},"1006":{"position":[[127,7]]},"1022":{"position":[[125,7]]},"1024":{"position":[[76,7]]},"1050":{"position":[[3291,7]]},"1088":{"position":[[552,7]]},"1104":{"position":[[1060,7]]},"1172":{"position":[[1541,7]]},"1173":{"position":[[841,7]]},"1231":{"position":[[715,8]]},"1254":{"position":[[638,7]]},"1362":{"position":[[4871,7]]},"1364":{"position":[[4896,7]]},"1393":{"position":[[6294,8],[7109,7],[8300,7]]},"1395":{"position":[[2344,7]]},"1410":{"position":[[1658,7]]},"1453":{"position":[[965,7]]}},"keywords":{}}],["similarli",{"_index":2674,"title":{},"content":{"581":{"position":[[787,9]]},"663":{"position":[[807,10]]},"678":{"position":[[228,10]]},"890":{"position":[[6557,10]]},"900":{"position":[[358,10]]},"901":{"position":[[762,10]]},"924":{"position":[[1870,9]]},"939":{"position":[[1333,9]]},"1001":{"position":[[989,10]]},"1022":{"position":[[333,9]]},"1064":{"position":[[1089,10]]},"1384":{"position":[[20785,10]]},"1386":{"position":[[2725,10]]}},"keywords":{}}],["simpl",{"_index":487,"title":{"1047":{"position":[[0,6]]}},"content":{"17":{"position":[[82,6]]},"18":{"position":[[42,6]]},"236":{"position":[[532,6]]},"346":{"position":[[460,6]]},"368":{"position":[[532,6]]},"437":{"position":[[295,6]]},"747":{"position":[[532,6]]},"816":{"position":[[295,6]]},"867":{"position":[[1841,6]]},"935":{"position":[[234,6]]},"959":{"position":[[45,6]]},"989":{"position":[[27,7]]},"1071":{"position":[[841,6]]},"1105":{"position":[[2248,6]]},"1136":{"position":[[5115,7]]},"1138":{"position":[[325,6],[436,6],[8777,7]]},"1140":{"position":[[7703,7]]},"1142":{"position":[[3147,7]]},"1146":{"position":[[3087,7]]},"1148":{"position":[[6127,7]]},"1155":{"position":[[3183,7]]},"1156":{"position":[[2761,7]]},"1161":{"position":[[654,7]]},"1167":{"position":[[8707,7]]},"1181":{"position":[[866,7]]},"1186":{"position":[[4351,7]]},"1187":{"position":[[4364,7]]},"1188":{"position":[[9090,7]]},"1191":{"position":[[2951,7]]},"1192":{"position":[[3126,7]]},"1193":{"position":[[466,7],[3178,7]]},"1194":{"position":[[2818,7]]},"1195":{"position":[[2796,7]]},"1196":{"position":[[2606,7]]},"1197":{"position":[[3589,7]]},"1198":{"position":[[3599,7]]},"1199":{"position":[[3627,7]]},"1200":{"position":[[3494,7]]},"1201":{"position":[[2754,7]]},"1202":{"position":[[3896,7],[8293,7]]},"1203":{"position":[[2988,7]]},"1204":{"position":[[2832,7]]},"1205":{"position":[[4161,7]]},"1206":{"position":[[2632,7]]},"1207":{"position":[[2789,7]]},"1209":{"position":[[4137,7]]},"1217":{"position":[[7448,7]]},"1222":{"position":[[2558,7]]},"1223":{"position":[[2568,7]]},"1226":{"position":[[3504,6],[3615,6],[7916,7]]},"1228":{"position":[[9529,7]]},"1235":{"position":[[5397,7]]},"1237":{"position":[[3674,6],[3785,6],[8086,7]]},"1240":{"position":[[288,6],[439,6]]},"1287":{"position":[[132,6]]},"1359":{"position":[[2377,6]]},"1381":{"position":[[2560,9]]},"1391":{"position":[[1782,6]]},"1399":{"position":[[2838,7]]},"1461":{"position":[[3311,6]]},"1477":{"position":[[2904,6]]},"1478":{"position":[[3054,6]]},"1486":{"position":[[997,6]]},"1487":{"position":[[3034,6]]}},"keywords":{}}],["simpleconsol",{"_index":5758,"title":{"1116":{"position":[[0,14]]}},"content":{"1116":{"position":[[4,13]]}},"keywords":{}}],["simplenotti",{"_index":5901,"title":{},"content":{"1136":{"position":[[5123,12]]},"1138":{"position":[[8785,12]]},"1140":{"position":[[7711,12]]},"1142":{"position":[[3155,12]]},"1146":{"position":[[3095,12]]},"1148":{"position":[[6135,12]]},"1155":{"position":[[3191,12]]},"1156":{"position":[[2769,12]]},"1161":{"position":[[662,12]]},"1167":{"position":[[8715,12]]},"1181":{"position":[[874,12]]},"1186":{"position":[[4359,12]]},"1187":{"position":[[4372,12]]},"1188":{"position":[[9098,12]]},"1191":{"position":[[2959,12]]},"1192":{"position":[[3134,12]]},"1193":{"position":[[3186,12]]},"1194":{"position":[[2826,12]]},"1195":{"position":[[2804,12]]},"1196":{"position":[[2614,12]]},"1197":{"position":[[3597,12]]},"1198":{"position":[[3607,12]]},"1199":{"position":[[3635,12]]},"1200":{"position":[[3502,12]]},"1201":{"position":[[2762,12]]},"1202":{"position":[[3904,12],[8301,12]]},"1203":{"position":[[2996,12]]},"1204":{"position":[[2840,12]]},"1205":{"position":[[4169,12]]},"1206":{"position":[[2640,12]]},"1207":{"position":[[2797,12]]},"1209":{"position":[[4145,12]]},"1217":{"position":[[7456,12]]},"1222":{"position":[[2566,12]]},"1223":{"position":[[2576,12]]},"1226":{"position":[[7924,12]]},"1228":{"position":[[9537,12]]},"1235":{"position":[[5405,12]]},"1237":{"position":[[8094,12]]}},"keywords":{}}],["simpler",{"_index":3277,"title":{},"content":{"657":{"position":[[115,7]]},"708":{"position":[[390,7]]}},"keywords":{}}],["simplest",{"_index":6092,"title":{},"content":{"1231":{"position":[[170,8]]}},"keywords":{}}],["simpletti",{"_index":5902,"title":{},"content":{"1136":{"position":[[5136,10]]},"1138":{"position":[[8798,10]]},"1140":{"position":[[7724,10]]},"1142":{"position":[[3168,10]]},"1146":{"position":[[3108,10]]},"1148":{"position":[[6148,10]]},"1155":{"position":[[3204,10]]},"1156":{"position":[[2782,10]]},"1161":{"position":[[675,10]]},"1167":{"position":[[8728,10]]},"1181":{"position":[[887,10]]},"1186":{"position":[[4372,10]]},"1187":{"position":[[4385,10]]},"1188":{"position":[[9111,10]]},"1191":{"position":[[2972,10]]},"1192":{"position":[[3147,10]]},"1193":{"position":[[3199,10]]},"1194":{"position":[[2839,10]]},"1195":{"position":[[2817,10]]},"1196":{"position":[[2627,10]]},"1197":{"position":[[3610,10]]},"1198":{"position":[[3620,10]]},"1199":{"position":[[3648,10]]},"1200":{"position":[[3515,10]]},"1201":{"position":[[2775,10]]},"1202":{"position":[[3917,10],[8314,10]]},"1203":{"position":[[3009,10]]},"1204":{"position":[[2853,10]]},"1205":{"position":[[4182,10]]},"1206":{"position":[[2653,10]]},"1207":{"position":[[2810,10]]},"1209":{"position":[[4158,10]]},"1217":{"position":[[7469,10]]},"1222":{"position":[[2579,10]]},"1223":{"position":[[2589,10]]},"1226":{"position":[[7937,10]]},"1228":{"position":[[9550,10]]},"1235":{"position":[[5418,10]]},"1237":{"position":[[8107,10]]}},"keywords":{}}],["simplevalu",{"_index":4352,"title":{},"content":{"898":{"position":[[2469,11]]}},"keywords":{}}],["simpli",{"_index":198,"title":{"1252":{"position":[[0,6]]}},"content":{"9":{"position":[[598,6]]},"22":{"position":[[1767,6]]},"440":{"position":[[127,6]]},"819":{"position":[[127,6]]},"951":{"position":[[1322,6]]},"995":{"position":[[234,6],[647,6]]},"1032":{"position":[[74,6]]},"1252":{"position":[[55,6]]}},"keywords":{}}],["simplic",{"_index":685,"title":{},"content":{"22":{"position":[[1923,10]]},"704":{"position":[[134,11]]}},"keywords":{}}],["simplifi",{"_index":3615,"title":{},"content":{"696":{"position":[[388,10]]}},"keywords":{}}],["simul",{"_index":5332,"title":{},"content":{"1054":{"position":[[54,10],[180,11],[210,9]]},"1072":{"position":[[765,9],[1295,9]]}},"keywords":{}}],["simulator"",{"_index":5503,"title":{},"content":{"1072":{"position":[[615,16]]}},"keywords":{}}],["simultan",{"_index":3809,"title":{},"content":{"724":{"position":[[1414,14]]}},"keywords":{}}],["singl",{"_index":677,"title":{"696":{"position":[[29,6]]}},"content":{"22":{"position":[[1569,6]]},"89":{"position":[[842,6]]},"118":{"position":[[78,6]]},"221":{"position":[[842,6]]},"240":{"position":[[321,6]]},"294":{"position":[[955,6],[1001,6],[1061,6],[1171,6]]},"297":{"position":[[785,6],[831,6],[891,6]]},"301":{"position":[[726,6],[772,6],[1138,6]]},"309":{"position":[[528,6],[574,6],[634,6],[941,6]]},"310":{"position":[[376,6],[422,6],[482,6],[591,6]]},"311":{"position":[[294,6],[340,6],[439,6]]},"322":{"position":[[49,6],[125,6]]},"329":{"position":[[381,6]]},"374":{"position":[[2066,6]]},"377":{"position":[[1219,6]]},"396":{"position":[[453,6]]},"405":{"position":[[1716,6]]},"470":{"position":[[321,6]]},"528":{"position":[[67,6]]},"534":{"position":[[78,6]]},"577":{"position":[[75,6],[459,6]]},"634":{"position":[[115,6]]},"693":{"position":[[811,6],[3149,6]]},"696":{"position":[[56,6]]},"711":{"position":[[251,6],[884,6],[1069,6],[1208,6],[1273,6]]},"753":{"position":[[2066,6]]},"756":{"position":[[1219,6]]},"775":{"position":[[453,6]]},"784":{"position":[[1716,6]]},"832":{"position":[[42,6]]},"840":{"position":[[111,6],[1178,6]]},"844":{"position":[[213,6]]},"848":{"position":[[307,6]]},"864":{"position":[[230,6],[679,6]]},"870":{"position":[[952,6]]},"872":{"position":[[379,6],[979,6]]},"876":{"position":[[275,6]]},"890":{"position":[[2841,6]]},"898":{"position":[[1022,6]]},"905":{"position":[[385,6]]},"907":{"position":[[385,6]]},"937":{"position":[[211,6]]},"939":{"position":[[1454,6]]},"951":{"position":[[1014,6]]},"954":{"position":[[22,6],[125,6]]},"980":{"position":[[664,6]]},"981":{"position":[[11,6]]},"1026":{"position":[[898,6]]},"1053":{"position":[[1373,6]]},"1126":{"position":[[1331,6]]},"1148":{"position":[[7238,6]]},"1260":{"position":[[316,6]]},"1262":{"position":[[333,6]]},"1272":{"position":[[130,6]]},"1291":{"position":[[316,6]]},"1293":{"position":[[333,6]]},"1303":{"position":[[130,6]]},"1319":{"position":[[316,6]]},"1321":{"position":[[333,6]]},"1331":{"position":[[130,6]]},"1355":{"position":[[2317,6],[4131,6]]},"1370":{"position":[[742,6]]},"1382":{"position":[[11669,6]]},"1384":{"position":[[21231,6]]},"1385":{"position":[[7237,6],[7426,6]]},"1386":{"position":[[599,6]]},"1387":{"position":[[10613,6],[10756,6]]},"1390":{"position":[[2013,6]]},"1391":{"position":[[1804,6],[1829,6]]},"1392":{"position":[[2499,6]]},"1397":{"position":[[2121,6]]},"1398":{"position":[[1161,6]]},"1399":{"position":[[570,6]]},"1403":{"position":[[1293,6]]},"1412":{"position":[[1637,6],[3709,6]]},"1423":{"position":[[758,6]]},"1427":{"position":[[1801,6],[3276,6],[7124,6]]},"1439":{"position":[[2087,6],[3950,6],[7954,6]]},"1444":{"position":[[1968,6]]},"1455":{"position":[[1201,6]]},"1465":{"position":[[4327,6]]},"1467":{"position":[[10879,6]]},"1485":{"position":[[4805,6]]},"1486":{"position":[[5273,6]]}},"keywords":{}}],["singlebuild",{"_index":5847,"title":{},"content":{"1133":{"position":[[348,11]]}},"keywords":{}}],["site",{"_index":5033,"title":{},"content":{"1007":{"position":[[132,4],[168,6]]},"1415":{"position":[[2597,4]]}},"keywords":{}}],["situat",{"_index":4950,"title":{},"content":{"991":{"position":[[3268,9]]},"1017":{"position":[[292,9]]},"1050":{"position":[[4370,9]]},"1393":{"position":[[4701,10]]}},"keywords":{}}],["size",{"_index":749,"title":{},"content":{"23":{"position":[[2349,4]]},"362":{"position":[[1718,4],[2563,4]]},"633":{"position":[[217,5]]},"741":{"position":[[1718,4],[2563,4]]},"867":{"position":[[1201,4]]},"975":{"position":[[276,5]]},"1082":{"position":[[1350,4]]},"1112":{"position":[[535,4]]},"1178":{"position":[[165,4],[573,4]]}},"keywords":{}}],["skeleton",{"_index":6395,"title":{},"content":{"1348":{"position":[[4169,8]]},"1356":{"position":[[523,9],[692,8],[2071,8],[3053,8]]}},"keywords":{}}],["skip",{"_index":1154,"title":{"1021":{"position":[[20,9]]}},"content":{"92":{"position":[[2249,4]]},"224":{"position":[[2249,4]]},"286":{"position":[[78,4]]},"294":{"position":[[723,4]]},"309":{"position":[[825,4]]},"715":{"position":[[1164,7]]},"877":{"position":[[157,8]]},"907":{"position":[[82,5],[280,4]]},"938":{"position":[[13,4]]},"1021":{"position":[[355,8]]},"1029":{"position":[[309,4],[401,4]]},"1084":{"position":[[193,8]]},"1138":{"position":[[738,5],[880,4],[1018,4],[1150,4],[1810,8],[5083,4],[5131,4],[5173,4],[5259,4],[5384,7]]},"1140":{"position":[[364,5],[1299,8],[4572,4],[4620,4],[4662,4],[4748,4],[4873,7]]},"1146":{"position":[[172,4],[193,4],[289,4]]},"1167":{"position":[[2303,8],[5576,4],[5624,4],[5666,4],[5752,4],[5877,7]]},"1172":{"position":[[1337,4],[1355,4],[1380,4]]},"1173":{"position":[[637,4],[655,4],[680,4]]},"1188":{"position":[[417,5],[1352,8],[4625,4],[4673,4],[4715,4],[4801,4],[4926,7]]},"1217":{"position":[[1044,8],[4317,4],[4365,4],[4407,4],[4493,4],[4618,7]]},"1228":{"position":[[3125,8],[6398,4],[6446,4],[6488,4],[6574,4],[6699,7]]},"1358":{"position":[[2681,4]]},"1478":{"position":[[3644,7],[3756,7]]},"1482":{"position":[[2841,7],[2930,7],[3173,7],[3262,7],[3343,7]]}},"keywords":{}}],["skip_copying_swift_stdlib",{"_index":6867,"title":{},"content":{"1363":{"position":[[2459,26]]},"1367":{"position":[[5518,26]]}},"keywords":{}}],["skip_crunch_png",{"_index":6463,"title":{},"content":{"1350":{"position":[[3595,17]]},"1352":{"position":[[3594,17]]}},"keywords":{}}],["skip_incompat",{"_index":1608,"title":{},"content":{"294":{"position":[[374,18],[671,17]]}},"keywords":{}}],["skip_proguard",{"_index":6464,"title":{},"content":{"1350":{"position":[[3630,14]]},"1352":{"position":[[3629,14]]}},"keywords":{}}],["skip_resourc",{"_index":8015,"title":{},"content":{"1432":{"position":[[1194,15]]}},"keywords":{}}],["skip_universal_resource_dedup",{"_index":6675,"title":{},"content":{"1361":{"position":[[553,31]]},"1366":{"position":[[764,31]]}},"keywords":{}}],["skylark'",{"_index":2770,"title":{},"content":{"591":{"position":[[400,9]]},"594":{"position":[[393,9]]}},"keywords":{}}],["skylib",{"_index":2734,"title":{},"content":{"587":{"position":[[238,6]]}},"keywords":{}}],["slash",{"_index":3375,"title":{},"content":{"675":{"position":[[591,5]]},"1362":{"position":[[6999,7],[8761,7],[9087,7]]},"1364":{"position":[[7238,7],[9372,7],[9875,7],[10201,7]]},"1367":{"position":[[8849,7],[9175,7]]},"1373":{"position":[[4786,7]]},"1382":{"position":[[5531,7],[5856,7]]},"1384":{"position":[[6743,7],[10478,7],[10803,7]]},"1385":{"position":[[3445,7],[3769,7]]},"1387":{"position":[[5778,7],[6102,7]]},"1388":{"position":[[6725,7]]},"1454":{"position":[[5447,7],[7382,7]]},"1485":{"position":[[1813,7],[2137,7]]}},"keywords":{}}],["slight",{"_index":1345,"title":{},"content":{"126":{"position":[[527,6]]},"249":{"position":[[527,6]]},"1058":{"position":[[1415,6]]}},"keywords":{}}],["slightli",{"_index":5895,"title":{},"content":{"1136":{"position":[[4402,8]]},"1138":{"position":[[8064,8]]},"1140":{"position":[[6990,8]]},"1142":{"position":[[2434,8]]},"1146":{"position":[[2374,8]]},"1148":{"position":[[5414,8]]},"1155":{"position":[[2470,8]]},"1156":{"position":[[2048,8]]},"1167":{"position":[[7994,8]]},"1169":{"position":[[1833,8]]},"1186":{"position":[[3638,8]]},"1187":{"position":[[3651,8]]},"1188":{"position":[[8377,8]]},"1191":{"position":[[2238,8]]},"1192":{"position":[[2413,8]]},"1193":{"position":[[2465,8]]},"1194":{"position":[[2105,8]]},"1195":{"position":[[2083,8]]},"1196":{"position":[[1893,8]]},"1197":{"position":[[2876,8]]},"1198":{"position":[[2886,8]]},"1199":{"position":[[2914,8]]},"1200":{"position":[[2781,8]]},"1201":{"position":[[2041,8]]},"1202":{"position":[[3183,8],[7580,8]]},"1203":{"position":[[2275,8]]},"1204":{"position":[[2119,8]]},"1205":{"position":[[3448,8]]},"1206":{"position":[[1919,8]]},"1207":{"position":[[2076,8]]},"1209":{"position":[[3424,8]]},"1217":{"position":[[6735,8]]},"1219":{"position":[[2721,8]]},"1222":{"position":[[1845,8]]},"1223":{"position":[[1855,8]]},"1224":{"position":[[2035,8]]},"1226":{"position":[[7203,8]]},"1228":{"position":[[8816,8]]},"1235":{"position":[[4684,8]]},"1237":{"position":[[7373,8]]},"1461":{"position":[[3811,8]]}},"keywords":{}}],["slot",{"_index":4220,"title":{},"content":{"890":{"position":[[2199,6],[2289,8],[2333,5],[2403,4],[2442,5],[2478,5],[2682,5],[2763,6],[2898,4],[2938,4],[4087,4],[4339,4],[4382,4],[4513,5],[4583,6],[5121,6],[5216,5],[5286,5],[5307,7],[5515,6],[6333,5],[6469,5],[6701,5],[6768,6],[6784,5],[6840,5],[6968,5]]},"1360":{"position":[[5678,5]]},"1383":{"position":[[8183,5]]},"1403":{"position":[[7283,5]]}},"keywords":{}}],["slots(rc<refcell<vec<option<value>>>>",{"_index":4222,"title":{},"content":{"890":{"position":[[2507,63]]}},"keywords":{}}],["slow",{"_index":4591,"title":{},"content":{"937":{"position":[[1455,4]]},"1482":{"position":[[1824,6]]}},"keywords":{}}],["slow_test",{"_index":8517,"title":{},"content":{"1482":{"position":[[1872,11],[2701,13]]}},"keywords":{}}],["slowdown",{"_index":6190,"title":{},"content":{"1247":{"position":[[417,9]]}},"keywords":{}}],["slower",{"_index":1846,"title":{},"content":{"345":{"position":[[641,6]]},"1057":{"position":[[517,6]]}},"keywords":{}}],["slowest",{"_index":3803,"title":{},"content":{"724":{"position":[[258,7]]}},"keywords":{}}],["small",{"_index":87,"title":{},"content":{"5":{"position":[[197,5]]},"10":{"position":[[587,5]]},"12":{"position":[[67,5]]},"23":{"position":[[3327,5]]},"711":{"position":[[1296,5]]},"937":{"position":[[3951,5]]},"1355":{"position":[[6198,5],[7235,5]]},"1427":{"position":[[5371,5],[6434,5]]}},"keywords":{}}],["smaller",{"_index":3797,"title":{},"content":{"718":{"position":[[417,7]]},"720":{"position":[[532,7]]},"1235":{"position":[[289,7]]}},"keywords":{}}],["smart",{"_index":7282,"title":{},"content":{"1386":{"position":[[5305,5]]}},"keywords":{}}],["smc",{"_index":1230,"title":{},"content":{"94":{"position":[[3879,3]]},"226":{"position":[[3879,3]]}},"keywords":{}}],["smc_tier",{"_index":1229,"title":{},"content":{"94":{"position":[[3857,9]]},"226":{"position":[[3857,9]]}},"keywords":{}}],["smoke",{"_index":6541,"title":{},"content":{"1354":{"position":[[2699,5]]},"1367":{"position":[[10514,5]]},"1392":{"position":[[1969,5]]},"1410":{"position":[[3453,5]]},"1429":{"position":[[4745,5]]},"1440":{"position":[[4827,5]]}},"keywords":{}}],["snake_cas",{"_index":2392,"title":{},"content":{"446":{"position":[[345,10]]},"825":{"position":[[345,10]]},"1136":{"position":[[6701,10]]},"1138":{"position":[[10363,10]]},"1140":{"position":[[9289,10]]},"1142":{"position":[[4733,10]]},"1144":{"position":[[1061,10]]},"1146":{"position":[[4673,10]]},"1148":{"position":[[8264,10]]},"1150":{"position":[[1296,10]]},"1152":{"position":[[994,10]]},"1154":{"position":[[1149,10]]},"1155":{"position":[[4769,10]]},"1156":{"position":[[4347,10]]},"1157":{"position":[[932,10]]},"1158":{"position":[[926,10]]},"1159":{"position":[[926,10]]},"1161":{"position":[[1921,10]]},"1163":{"position":[[1307,10]]},"1165":{"position":[[1136,10]]},"1167":{"position":[[10293,10]]},"1169":{"position":[[3401,10]]},"1171":{"position":[[1642,10]]},"1172":{"position":[[3027,10]]},"1173":{"position":[[1714,10]]},"1174":{"position":[[1142,10]]},"1175":{"position":[[1138,10]]},"1176":{"position":[[1307,10]]},"1177":{"position":[[1228,10]]},"1178":{"position":[[1545,10]]},"1179":{"position":[[1342,10]]},"1180":{"position":[[1613,10]]},"1181":{"position":[[2133,10]]},"1182":{"position":[[1176,10]]},"1183":{"position":[[1131,10]]},"1185":{"position":[[976,10]]},"1186":{"position":[[5937,10]]},"1187":{"position":[[5950,10]]},"1188":{"position":[[10676,10]]},"1190":{"position":[[2307,10]]},"1191":{"position":[[4537,10]]},"1192":{"position":[[4712,10]]},"1193":{"position":[[4764,10]]},"1194":{"position":[[4404,10]]},"1195":{"position":[[4382,10]]},"1196":{"position":[[4192,10]]},"1197":{"position":[[5175,10]]},"1198":{"position":[[5185,10]]},"1199":{"position":[[5213,10]]},"1200":{"position":[[5080,10]]},"1201":{"position":[[4340,10]]},"1202":{"position":[[1084,10],[5482,10],[9879,10]]},"1203":{"position":[[4574,10]]},"1204":{"position":[[4418,10],[5320,10],[6250,10],[7152,10],[8138,10],[9092,10],[10039,10],[10969,10]]},"1205":{"position":[[5747,10]]},"1206":{"position":[[4446,10]]},"1207":{"position":[[4375,10]]},"1209":{"position":[[5723,10]]},"1211":{"position":[[1047,10]]},"1213":{"position":[[818,10]]},"1215":{"position":[[902,10]]},"1217":{"position":[[9034,10]]},"1219":{"position":[[4289,10]]},"1221":{"position":[[1021,10]]},"1222":{"position":[[4160,10]]},"1223":{"position":[[4170,10]]},"1224":{"position":[[3603,10]]},"1226":{"position":[[9502,10]]},"1228":{"position":[[11115,10]]},"1235":{"position":[[6983,10]]},"1237":{"position":[[9672,10]]}},"keywords":{}}],["snakecas",{"_index":1666,"title":{},"content":{"300":{"position":[[320,10]]}},"keywords":{}}],["snapshot",{"_index":5812,"title":{},"content":{"1126":{"position":[[1544,8]]},"1127":{"position":[[652,8]]},"1150":{"position":[[358,9]]},"1215":{"position":[[62,8],[98,8]]},"1219":{"position":[[837,9]]}},"keywords":{}}],["snapshot_reference_images_path",{"_index":6968,"title":{},"content":{"1367":{"position":[[5562,31]]}},"keywords":{}}],["snippet",{"_index":1088,"title":{},"content":{"89":{"position":[[491,7]]},"221":{"position":[[491,7]]},"1103":{"position":[[505,8]]}},"keywords":{}}],["so//java/com/facebook/common/collect:concurr",{"_index":3045,"title":{},"content":{"622":{"position":[[1834,47]]}},"keywords":{}}],["soabi",{"_index":8265,"title":{},"content":{"1461":{"position":[[2679,5]]}},"keywords":{}}],["sobuck2",{"_index":4669,"title":{},"content":{"942":{"position":[[353,7],[534,7],[1062,7]]}},"keywords":{}}],["socket_address",{"_index":5319,"title":{},"content":{"1052":{"position":[[1219,15]]}},"keywords":{}}],["soft_error",{"_index":2386,"title":{"446":{"position":[[0,11]]},"825":{"position":[[0,11]]}},"content":{"446":{"position":[[4,11],[475,11]]},"825":{"position":[[4,11],[475,11]]}},"keywords":{}}],["softwar",{"_index":183,"title":{},"content":{"9":{"position":[[314,8]]},"10":{"position":[[172,8]]},"24":{"position":[[69,9]]},"693":{"position":[[1715,8]]},"1260":{"position":[[1022,8]]},"1291":{"position":[[1022,8]]},"1319":{"position":[[1022,8]]}},"keywords":{}}],["sole",{"_index":3268,"title":{},"content":{"656":{"position":[[112,4]]},"937":{"position":[[4832,4]]}},"keywords":{}}],["solut",{"_index":4506,"title":{"920":{"position":[[9,9]]}},"content":{"991":{"position":[[2946,9],[3391,8]]}},"keywords":{}}],["solv",{"_index":4891,"title":{},"content":{"988":{"position":[[70,5]]}},"keywords":{}}],["some.bxl",{"_index":4780,"title":{},"content":{"962":{"position":[[242,8]]}},"keywords":{}}],["some/other:target",{"_index":8618,"title":{},"content":{"1487":{"position":[[3359,22]]}},"keywords":{}}],["some/packag",{"_index":5356,"title":{},"content":{"1056":{"position":[[305,15]]}},"keywords":{}}],["some/package:target",{"_index":5357,"title":{},"content":{"1056":{"position":[[394,21]]}},"keywords":{}}],["some/path",{"_index":5612,"title":{},"content":{"1093":{"position":[[165,9]]}},"keywords":{}}],["some:target",{"_index":2068,"title":{},"content":{"389":{"position":[[454,15]]},"768":{"position":[[454,15]]},"1258":{"position":[[501,11]]},"1289":{"position":[[501,11]]},"1317":{"position":[[501,11]]},"1381":{"position":[[2672,16]]}},"keywords":{}}],["some_target_i_already_built_befor",{"_index":166,"title":{},"content":{"9":{"position":[[18,34]]}},"keywords":{}}],["somehow",{"_index":5305,"title":{},"content":{"1050":{"position":[[3273,7]]}},"keywords":{}}],["someon",{"_index":5656,"title":{},"content":{"1104":{"position":[[464,7],[558,7]]}},"keywords":{}}],["somepath",{"_index":2451,"title":{},"content":{"476":{"position":[[301,9]]}},"keywords":{}}],["somepath(from",{"_index":6235,"title":{"1261":{"position":[[0,14]]},"1292":{"position":[[0,14]]},"1320":{"position":[[0,14]]}},"content":{"1259":{"position":[[89,14]]},"1290":{"position":[[89,14]]},"1318":{"position":[[89,14]]}},"keywords":{}}],["somequery_param",{"_index":4095,"title":{},"content":{"878":{"position":[[65,16]]}},"keywords":{}}],["someth",{"_index":1470,"title":{},"content":{"237":{"position":[[637,9]]},"288":{"position":[[649,9]]},"289":{"position":[[669,9]]},"422":{"position":[[165,9]]},"510":{"position":[[720,9]]},"511":{"position":[[735,9]]},"513":{"position":[[168,9]]},"514":{"position":[[160,9]]},"687":{"position":[[102,9]]},"706":{"position":[[1669,9],[1761,9],[1900,9],[1975,9],[2203,9]]},"712":{"position":[[1521,9]]},"801":{"position":[[165,9]]},"848":{"position":[[504,9]]},"860":{"position":[[275,9],[340,9]]},"861":{"position":[[234,9]]},"864":{"position":[[713,9],[1034,9],[1175,9]]},"888":{"position":[[508,9]]},"894":{"position":[[454,9]]},"900":{"position":[[1176,9],[1255,9]]},"910":{"position":[[395,9]]},"969":{"position":[[330,9]]},"981":{"position":[[861,9]]},"983":{"position":[[206,9]]},"1006":{"position":[[731,9]]},"1007":{"position":[[235,9]]},"1044":{"position":[[572,9],[3379,9]]},"1050":{"position":[[3734,9]]},"1061":{"position":[[238,9]]},"1087":{"position":[[313,9]]},"1103":{"position":[[630,9],[1711,10]]},"1104":{"position":[[327,9]]},"1131":{"position":[[713,9]]},"1190":{"position":[[326,9]]},"1192":{"position":[[163,9]]},"1286":{"position":[[237,9]]},"1345":{"position":[[1284,9]]},"1446":{"position":[[1767,9]]},"1471":{"position":[[4308,9]]},"1472":{"position":[[4892,9]]},"1473":{"position":[[4629,9]]},"1487":{"position":[[3647,9]]}},"keywords":{}}],["something>",{"_index":7682,"title":{},"content":{"1403":{"position":[[5728,13]]}},"keywords":{}}],["sometim",{"_index":757,"title":{},"content":{"23":{"position":[[2571,9]]},"421":{"position":[[187,9]]},"572":{"position":[[35,9]]},"575":{"position":[[222,9]]},"582":{"position":[[486,9]]},"680":{"position":[[1290,9]]},"800":{"position":[[187,9]]},"905":{"position":[[373,9],[1012,9],[1219,9]]},"1017":{"position":[[537,9]]},"1058":{"position":[[1244,10]]},"1393":{"position":[[4295,9]]},"1399":{"position":[[2277,9]]}},"keywords":{}}],["somevari",{"_index":4261,"title":{},"content":{"890":{"position":[[6642,11]]}},"keywords":{}}],["somewher",{"_index":902,"title":{},"content":{"51":{"position":[[72,9]]},"198":{"position":[[72,9]]},"840":{"position":[[40,9]]}},"keywords":{}}],["son",{"_index":101,"title":{},"content":{"5":{"position":[[392,3]]}},"keywords":{}}],["sonam",{"_index":6769,"title":{},"content":{"1362":{"position":[[4138,7]]},"1364":{"position":[[4123,7]]},"1367":{"position":[[5610,7]]},"1384":{"position":[[3740,7],[18226,7],[18243,6],[18522,6]]},"1387":{"position":[[3672,7]]},"1454":{"position":[[2183,7],[9908,6],[10163,6]]},"1472":{"position":[[1474,7],[5542,7],[5559,6],[5838,6]]},"1480":{"position":[[807,7]]}},"keywords":{}}],["soon",{"_index":3993,"title":{},"content":{"864":{"position":[[1750,5]]},"1226":{"position":[[3962,4]]},"1237":{"position":[[4132,4]]}},"keywords":{}}],["sort",{"_index":1362,"title":{"666":{"position":[[0,7]]}},"content":{"132":{"position":[[53,7]]},"138":{"position":[[50,7]]},"144":{"position":[[44,7]]},"255":{"position":[[53,7]]},"261":{"position":[[50,7]]},"267":{"position":[[44,7]]},"666":{"position":[[4,7],[78,7],[86,4],[186,6],[204,4],[284,6],[320,6],[435,4]]},"1088":{"position":[[464,5]]},"1178":{"position":[[565,4],[578,4]]}},"keywords":{}}],["sorted(["two"",{"_index":3343,"title":{},"content":{"666":{"position":[[604,24],[756,24]]}},"keywords":{}}],["sorted([3",{"_index":3341,"title":{},"content":{"666":{"position":[[492,10],[541,10]]}},"keywords":{}}],["sorted(x",{"_index":3339,"title":{},"content":{"666":{"position":[[102,9]]}},"keywords":{}}],["sourc",{"_index":79,"title":{"679":{"position":[[0,6]]},"680":{"position":[[33,6]]},"1134":{"position":[[65,6]]}},"content":{"5":{"position":[[58,7]]},"18":{"position":[[418,6]]},"22":{"position":[[596,7],[1953,6]]},"23":{"position":[[2768,6]]},"24":{"position":[[251,6],[329,6],[455,6],[593,6],[676,7],[771,6],[819,8],[1094,6]]},"48":{"position":[[60,6]]},"49":{"position":[[123,6]]},"88":{"position":[[109,6]]},"95":{"position":[[126,6]]},"145":{"position":[[116,6],[181,6]]},"195":{"position":[[60,6]]},"196":{"position":[[123,6]]},"220":{"position":[[109,6]]},"227":{"position":[[126,6]]},"268":{"position":[[116,6],[181,6]]},"279":{"position":[[103,6]]},"285":{"position":[[87,7]]},"315":{"position":[[175,6]]},"316":{"position":[[195,6]]},"317":{"position":[[198,6]]},"318":{"position":[[337,6]]},"320":{"position":[[238,6]]},"416":{"position":[[145,8]]},"446":{"position":[[242,6]]},"622":{"position":[[206,6],[400,6],[1004,6]]},"679":{"position":[[25,6],[469,6]]},"680":{"position":[[263,6],[299,6],[690,6],[770,6]]},"687":{"position":[[240,6]]},"693":{"position":[[460,6],[924,6],[1178,6],[5554,6]]},"706":{"position":[[395,6]]},"715":{"position":[[360,9],[871,8]]},"718":{"position":[[563,8]]},"722":{"position":[[300,6],[824,6]]},"795":{"position":[[145,8]]},"825":{"position":[[242,6]]},"861":{"position":[[40,6],[664,7]]},"972":{"position":[[52,9]]},"990":{"position":[[50,8]]},"1025":{"position":[[307,7],[492,7],[541,7],[602,7]]},"1044":{"position":[[2536,6]]},"1049":{"position":[[611,7]]},"1050":{"position":[[3624,6],[3690,8]]},"1075":{"position":[[678,6]]},"1093":{"position":[[648,6]]},"1097":{"position":[[64,6]]},"1102":{"position":[[666,6]]},"1103":{"position":[[1122,6]]},"1104":{"position":[[606,6]]},"1112":{"position":[[1782,6]]},"1123":{"position":[[102,6]]},"1134":{"position":[[50,6]]},"1144":{"position":[[98,6],[133,6]]},"1243":{"position":[[283,6],[475,6]]},"1245":{"position":[[421,6]]},"1260":{"position":[[995,6]]},"1291":{"position":[[995,6]]},"1319":{"position":[[995,6]]},"1348":{"position":[[2412,7],[4398,8]]},"1355":{"position":[[1917,7],[3458,7],[3496,7],[3551,8],[3567,7],[5687,8],[5825,6],[6019,6],[6143,6],[6573,7],[6638,6],[6824,6],[6943,6],[7156,6]]},"1356":{"position":[[1769,6]]},"1360":{"position":[[3575,7],[5320,6],[5456,6],[5522,6],[5636,6]]},"1362":{"position":[[4834,6],[6500,7],[6772,6],[8913,6],[11522,8],[12067,6],[12297,6],[12333,6],[12556,7],[12660,6],[12778,6],[12945,6],[13003,6]]},"1364":{"position":[[4876,6],[6529,7],[7011,6],[10027,6],[12489,8],[12572,6],[12802,6],[12838,6],[13061,7],[13360,6],[13478,6],[13645,6],[13703,6]]},"1367":{"position":[[7927,7],[9001,6],[11892,8],[11975,6],[12205,6],[12241,6],[12464,7],[12568,6],[12686,6],[12853,6],[12911,6]]},"1373":{"position":[[2807,6],[4135,7],[4355,6],[4613,6],[6544,8],[7375,8],[7497,7],[7610,6],[8197,6],[8418,6],[8555,7]]},"1374":{"position":[[2155,6]]},"1381":{"position":[[729,6],[2440,6]]},"1382":{"position":[[3063,6],[4412,7],[5683,6],[8391,8],[8817,6],[9696,8],[9783,6],[10013,6],[10049,6],[10272,7],[10386,6],[11022,6],[11140,6],[11307,6],[11365,6]]},"1383":{"position":[[6221,7],[7323,6],[7459,6],[7525,6],[7639,6]]},"1384":{"position":[[4334,6],[5574,7],[6199,6],[8158,6],[9241,6],[10630,6],[11545,7],[12522,7],[14736,8],[15162,6],[16041,8],[16128,6],[16358,6],[16394,6],[16803,7],[17460,6],[18676,6],[18794,6],[18961,6],[19019,6],[21911,7]]},"1385":{"position":[[2997,7],[3218,7],[3596,6],[4621,8],[5046,6],[5923,8],[6009,6],[6239,6],[6275,6],[6497,7],[6600,6],[6718,6],[6885,6],[6943,6],[7433,6],[7573,7]]},"1387":{"position":[[5259,6],[5489,7],[5929,6],[7994,8],[8419,6],[9296,8],[9382,6],[9612,6],[9648,6],[9870,7],[9973,6],[10091,6],[10258,6],[10316,6],[10763,6],[10904,7]]},"1388":{"position":[[5106,7],[6552,6],[8765,7],[8879,6],[9515,6],[9633,6],[9800,6],[9858,6]]},"1390":{"position":[[638,6],[1824,6],[1911,6]]},"1391":{"position":[[608,6],[1639,6],[1726,6],[1811,6]]},"1392":{"position":[[647,6],[716,6],[2094,6],[2181,6],[2506,6]]},"1393":{"position":[[4832,6],[7726,6]]},"1397":{"position":[[3459,7]]},"1398":{"position":[[4637,6],[5971,11],[6132,7]]},"1403":{"position":[[2990,7],[6423,6],[6559,6],[6625,6],[6739,6],[7463,6]]},"1405":{"position":[[1156,6],[3618,6]]},"1406":{"position":[[1377,6]]},"1407":{"position":[[1185,6],[4237,6]]},"1408":{"position":[[964,6],[2616,6]]},"1410":{"position":[[1600,6],[4641,6],[5028,6]]},"1412":{"position":[[1260,7],[3309,7]]},"1413":{"position":[[1437,7]]},"1415":{"position":[[2489,8],[3817,7],[4503,8],[5037,7],[5075,7],[5522,8]]},"1416":{"position":[[1353,7],[2422,7],[2499,7],[3460,7]]},"1420":{"position":[[1070,8],[2104,7],[2181,7],[2597,7]]},"1423":{"position":[[3001,9],[3299,8]]},"1427":{"position":[[1477,7],[3862,6],[3917,6],[4998,6],[5192,6],[5316,6],[5772,7],[5837,6],[6023,6],[6142,6],[6355,6],[6831,6]]},"1429":{"position":[[1932,7],[4883,7],[4946,6],[5611,6]]},"1430":{"position":[[1280,7]]},"1439":{"position":[[1713,7],[3279,7],[3317,7],[3372,8],[3388,7],[4469,6],[4860,6],[4970,6],[5400,6]]},"1440":{"position":[[2109,7],[5603,6]]},"1442":{"position":[[2395,6],[2513,6],[2680,6],[2738,6]]},"1443":{"position":[[747,7]]},"1444":{"position":[[663,7],[1624,7],[2085,7],[2199,7]]},"1448":{"position":[[1031,6],[2536,6]]},"1449":{"position":[[965,6],[2470,6]]},"1453":{"position":[[940,6]]},"1454":{"position":[[4903,6],[6557,6],[7029,6]]},"1458":{"position":[[1047,6]]},"1461":{"position":[[2175,6],[3275,6]]},"1462":{"position":[[4330,7]]},"1465":{"position":[[1441,6],[2413,6],[3567,6],[3767,6],[4261,6],[4511,6],[4643,6]]},"1467":{"position":[[5978,6],[6378,8],[11048,7],[11162,7]]},"1469":{"position":[[2899,8],[2937,8],[3249,8]]},"1470":{"position":[[2631,7]]},"1471":{"position":[[1724,6],[3061,6],[3999,6],[4080,6],[4182,6],[4293,6],[5063,6],[5116,6]]},"1472":{"position":[[1683,6],[2780,6],[4583,6],[4664,6],[4766,6],[4877,6],[5949,6],[6002,6]]},"1473":{"position":[[1979,6],[3095,6],[4320,6],[4401,6],[4503,6],[4614,6],[5513,6],[5566,6]]},"1474":{"position":[[1256,7]]},"1475":{"position":[[1433,7]]},"1477":{"position":[[2391,6]]},"1485":{"position":[[1964,6],[3081,6],[3251,6],[3886,6],[4004,6],[4171,6],[4229,6]]},"1487":{"position":[[3870,6]]}},"keywords":{}}],["source_abi_verification_mod",{"_index":6377,"title":{},"content":{"1348":{"position":[[2436,29]]},"1355":{"position":[[1941,29]]},"1412":{"position":[[1284,29]]},"1413":{"position":[[1461,29]]},"1427":{"position":[[1501,29]]},"1429":{"position":[[1956,29]]},"1430":{"position":[[1304,29]]},"1439":{"position":[[1737,29]]},"1440":{"position":[[2133,29]]},"1470":{"position":[[2655,29]]},"1474":{"position":[[1280,29]]},"1475":{"position":[[1457,29]]}},"keywords":{}}],["source_artifact_project_rel_path",{"_index":2228,"title":{},"content":{"416":{"position":[[899,32]]},"795":{"position":[[899,32]]}},"keywords":{}}],["source_fil",{"_index":2168,"title":{},"content":{"406":{"position":[[468,12]]},"785":{"position":[[468,12]]}},"keywords":{}}],["source_jar",{"_index":6613,"title":{},"content":{"1358":{"position":[[840,11],[2983,10]]},"1423":{"position":[[3275,10]]},"1458":{"position":[[858,11],[2543,10]]},"1469":{"position":[[2878,10]]}},"keywords":{}}],["source_only_abi_dep",{"_index":6378,"title":{},"content":{"1348":{"position":[[2482,21]]},"1355":{"position":[[1987,21],[6751,21],[7038,20]]},"1412":{"position":[[1330,21]]},"1413":{"position":[[1507,21]]},"1427":{"position":[[1547,21],[5950,21],[6237,20]]},"1429":{"position":[[2002,21]]},"1430":{"position":[[1350,21]]},"1439":{"position":[[1783,21]]},"1440":{"position":[[2179,21]]},"1470":{"position":[[2701,21]]},"1474":{"position":[[1326,21]]},"1475":{"position":[[1503,21]]}},"keywords":{}}],["sources"",{"_index":6794,"title":{},"content":{"1362":{"position":[[8044,14]]},"1364":{"position":[[8893,14]]},"1367":{"position":[[8132,14]]},"1384":{"position":[[10272,14]]}},"keywords":{}}],["sources.dep",{"_index":7847,"title":{},"content":{"1416":{"position":[[2325,13]]},"1420":{"position":[[2007,13]]}},"keywords":{}}],["sources.jar",{"_index":6628,"title":{},"content":{"1358":{"position":[[3018,13]]},"1423":{"position":[[3107,13]]},"1458":{"position":[[2569,13]]},"1469":{"position":[[2980,13],[3292,13],[3618,13]]}},"keywords":{}}],["sources.zip",{"_index":8620,"title":{},"content":{"1487":{"position":[[3482,13]]}},"keywords":{}}],["sources.zip"",{"_index":8627,"title":{},"content":{"1487":{"position":[[3833,17]]}},"keywords":{}}],["sourcestarlark",{"_index":3589,"title":{},"content":{"693":{"position":[[8116,14]]}},"keywords":{}}],["space",{"_index":777,"title":{},"content":{"23":{"position":[[3299,6]]},"577":{"position":[[204,5],[372,7],[653,7],[752,5]]},"601":{"position":[[184,7]]},"616":{"position":[[573,6],[600,6],[714,5],[760,6]]},"916":{"position":[[18,6]]},"1136":{"position":[[1887,5]]},"1148":{"position":[[2243,5]]},"1205":{"position":[[1367,5]]},"1209":{"position":[[1120,5]]},"1226":{"position":[[3060,5]]},"1228":{"position":[[1738,8]]},"1235":{"position":[[2380,5]]},"1237":{"position":[[3230,5]]},"1253":{"position":[[333,5]]},"1360":{"position":[[5018,7]]},"1383":{"position":[[7126,7]]},"1403":{"position":[[5006,7]]}},"keywords":{}}],["space')output_format",{"_index":6881,"title":{},"content":{"1363":{"position":[[4202,21]]}},"keywords":{}}],["span",{"_index":3989,"title":{},"content":{"864":{"position":[[734,5]]},"1058":{"position":[[165,4]]},"1116":{"position":[[62,6]]},"1118":{"position":[[102,5]]},"1120":{"position":[[605,5]]},"1126":{"position":[[437,4],[475,4],[553,4],[696,4],[745,4],[903,4],[948,4],[1003,4],[1052,4],[1217,4]]},"1171":{"position":[[418,5]]},"1177":{"position":[[9,5]]},"1228":{"position":[[1718,5],[1757,4]]},"1232":{"position":[[3205,4],[3430,4]]},"1244":{"position":[[334,5]]}},"keywords":{}}],["span_id",{"_index":5796,"title":{},"content":{"1126":{"position":[[499,8]]}},"keywords":{}}],["spanend",{"_index":5800,"title":{},"content":{"1126":{"position":[[674,7],[975,7]]}},"keywords":{}}],["spanendev",{"_index":5791,"title":{},"content":{"1126":{"position":[[79,14],[918,12],[1102,12]]}},"keywords":{}}],["spanstart",{"_index":5799,"title":{},"content":{"1126":{"position":[[662,9],[768,9]]}},"keywords":{}}],["spanstartev",{"_index":5801,"title":{},"content":{"1126":{"position":[[713,14],[807,14]]}},"keywords":{}}],["spanstat",{"_index":5806,"title":{},"content":{"1126":{"position":[[1064,10],[1222,9]]}},"keywords":{}}],["spare",{"_index":3681,"title":{},"content":{"706":{"position":[[2235,5]]}},"keywords":{}}],["spars",{"_index":4493,"title":{},"content":{"919":{"position":[[957,6]]}},"keywords":{}}],["spawn",{"_index":2022,"title":{},"content":{"374":{"position":[[2008,5]]},"753":{"position":[[2008,5]]},"1446":{"position":[[1890,7]]}},"keywords":{}}],["spec",{"_index":3578,"title":{},"content":{"693":{"position":[[7011,4],[7082,4]]},"857":{"position":[[229,5]]},"884":{"position":[[54,4]]},"1193":{"position":[[62,10],[84,10],[114,5],[167,5],[210,4],[306,5]]},"1219":{"position":[[418,4]]},"1367":{"position":[[5634,6]]},"1410":{"position":[[1422,6]]},"1429":{"position":[[2039,6]]},"1467":{"position":[[4397,6]]}},"keywords":{}}],["speci",{"_index":3844,"title":{},"content":{"839":{"position":[[196,6]]}},"keywords":{}}],["special",{"_index":700,"title":{"685":{"position":[[14,7]]}},"content":{"23":{"position":[[433,7]]},"121":{"position":[[28,7]]},"126":{"position":[[255,7]]},"249":{"position":[[255,7]]},"283":{"position":[[119,7]]},"406":{"position":[[639,7]]},"462":{"position":[[121,7]]},"530":{"position":[[28,7]]},"643":{"position":[[176,7]]},"682":{"position":[[193,7]]},"785":{"position":[[639,7]]},"846":{"position":[[630,7]]},"900":{"position":[[1591,7],[2115,7]]},"914":{"position":[[159,7]]},"937":{"position":[[3689,7]]},"987":{"position":[[50,7]]},"990":{"position":[[1398,7]]},"991":{"position":[[3446,7]]},"1044":{"position":[[326,7]]},"1136":{"position":[[1217,7],[1567,7],[1763,7]]},"1148":{"position":[[1016,8],[1573,7],[1923,7],[2119,7]]},"1205":{"position":[[697,7],[1047,7],[1243,7]]},"1209":{"position":[[450,7],[800,7],[996,7]]},"1226":{"position":[[2390,7],[2740,7],[2936,7]]},"1235":{"position":[[808,8],[996,7],[1710,7],[2060,7],[2256,7]]},"1237":{"position":[[2560,7],[2910,7],[3106,7]]},"1439":{"position":[[5004,7]]},"1455":{"position":[[1228,7]]}},"keywords":{}}],["specif",{"_index":310,"title":{"583":{"position":[[34,15]]},"853":{"position":[[6,8]]},"854":{"position":[[6,8]]},"879":{"position":[[7,8]]},"884":{"position":[[18,13]]},"1065":{"position":[[5,8]]}},"content":{"10":{"position":[[22,8]]},"20":{"position":[[73,14]]},"36":{"position":[[44,8]]},"41":{"position":[[418,9]]},"131":{"position":[[495,8]]},"174":{"position":[[418,9]]},"181":{"position":[[44,8]]},"254":{"position":[[495,8]]},"583":{"position":[[92,15]]},"584":{"position":[[577,8]]},"675":{"position":[[435,13]]},"679":{"position":[[535,8]]},"693":{"position":[[6311,13],[6700,8]]},"712":{"position":[[2259,13]]},"853":{"position":[[103,8]]},"870":{"position":[[200,8]]},"872":{"position":[[647,8]]},"874":{"position":[[288,8]]},"879":{"position":[[7,8]]},"884":{"position":[[18,13]]},"905":{"position":[[1039,8],[1253,8]]},"933":{"position":[[5,8]]},"937":{"position":[[3412,8],[4720,8]]},"944":{"position":[[1338,9]]},"1000":{"position":[[619,8]]},"1007":{"position":[[178,8]]},"1025":{"position":[[450,13]]},"1026":{"position":[[178,8]]},"1031":{"position":[[90,13]]},"1053":{"position":[[126,8]]},"1056":{"position":[[46,8],[99,8]]},"1106":{"position":[[214,8]]},"1112":{"position":[[1271,8],[4309,9],[4700,8]]},"1126":{"position":[[1485,8]]},"1127":{"position":[[281,8],[571,8]]},"1136":{"position":[[6296,8]]},"1138":{"position":[[9958,8]]},"1140":{"position":[[8884,8]]},"1142":{"position":[[4328,8]]},"1144":{"position":[[656,8]]},"1146":{"position":[[4268,8]]},"1148":{"position":[[7859,8]]},"1150":{"position":[[891,8]]},"1152":{"position":[[589,8]]},"1154":{"position":[[744,8]]},"1155":{"position":[[4364,8]]},"1156":{"position":[[3942,8]]},"1157":{"position":[[527,8]]},"1158":{"position":[[521,8]]},"1159":{"position":[[521,8]]},"1161":{"position":[[1516,8]]},"1163":{"position":[[902,8]]},"1165":{"position":[[731,8]]},"1167":{"position":[[810,8],[9888,8]]},"1169":{"position":[[2996,8]]},"1171":{"position":[[1237,8]]},"1172":{"position":[[2622,8]]},"1173":{"position":[[1309,8]]},"1174":{"position":[[737,8]]},"1175":{"position":[[733,8]]},"1176":{"position":[[902,8]]},"1177":{"position":[[823,8]]},"1178":{"position":[[1140,8]]},"1179":{"position":[[937,8]]},"1180":{"position":[[1208,8]]},"1181":{"position":[[1728,8]]},"1182":{"position":[[771,8]]},"1183":{"position":[[726,8]]},"1185":{"position":[[571,8]]},"1186":{"position":[[5532,8]]},"1187":{"position":[[5545,8]]},"1188":{"position":[[10271,8]]},"1190":{"position":[[1902,8]]},"1191":{"position":[[4132,8]]},"1192":{"position":[[4307,8]]},"1193":{"position":[[4359,8]]},"1194":{"position":[[3999,8]]},"1195":{"position":[[3977,8]]},"1196":{"position":[[3787,8]]},"1197":{"position":[[4770,8]]},"1198":{"position":[[4780,8]]},"1199":{"position":[[4808,8]]},"1200":{"position":[[4675,8]]},"1201":{"position":[[3935,8]]},"1202":{"position":[[679,8],[5077,8],[9474,8]]},"1203":{"position":[[4169,8]]},"1204":{"position":[[4013,8],[4915,8],[5845,8],[6747,8],[7733,8],[8687,8],[9634,8],[10564,8]]},"1205":{"position":[[5342,8]]},"1206":{"position":[[4041,8]]},"1207":{"position":[[3970,8]]},"1209":{"position":[[5318,8]]},"1211":{"position":[[239,8],[642,8]]},"1213":{"position":[[413,8]]},"1215":{"position":[[497,8]]},"1217":{"position":[[8629,8]]},"1219":{"position":[[3884,8]]},"1221":{"position":[[616,8]]},"1222":{"position":[[3755,8]]},"1223":{"position":[[3765,8]]},"1224":{"position":[[3198,8]]},"1226":{"position":[[9097,8]]},"1228":{"position":[[10710,8]]},"1235":{"position":[[6578,8]]},"1237":{"position":[[9267,8]]},"1258":{"position":[[1018,8]]},"1282":{"position":[[259,8]]},"1283":{"position":[[276,8]]},"1284":{"position":[[256,8]]},"1289":{"position":[[1018,8]]},"1313":{"position":[[259,8]]},"1314":{"position":[[276,8]]},"1315":{"position":[[256,8]]},"1317":{"position":[[1018,8]]},"1341":{"position":[[259,8]]},"1342":{"position":[[276,8]]},"1343":{"position":[[256,8]]},"1354":{"position":[[2758,8]]},"1360":{"position":[[2781,8],[4579,8]]},"1362":{"position":[[5037,8],[11247,8],[11604,8],[12058,8]]},"1363":{"position":[[4498,14]]},"1364":{"position":[[5064,8],[8156,8],[12214,8],[12563,8]]},"1367":{"position":[[10573,8],[11617,8],[11966,8]]},"1373":{"position":[[6269,8],[6625,8],[7092,8]]},"1374":{"position":[[2698,8],[3598,8]]},"1382":{"position":[[8116,8],[8468,8],[8945,8],[9413,8],[9774,8]]},"1383":{"position":[[1442,12],[2366,8],[6611,8]]},"1384":{"position":[[7326,8],[7809,8],[8342,8],[8958,8],[9784,8],[11403,8],[11565,8],[11891,8],[12139,8],[12376,8],[12542,8],[14461,8],[14813,8],[15290,8],[15758,8],[16119,8],[22063,8]]},"1385":{"position":[[4346,8],[4697,8],[5173,8],[5640,8],[6000,8]]},"1386":{"position":[[5029,8]]},"1387":{"position":[[7719,8],[8070,8],[8546,8],[9013,8],[9373,8]]},"1392":{"position":[[2028,8]]},"1398":{"position":[[6057,8]]},"1403":{"position":[[2196,8],[3994,8]]},"1410":{"position":[[3512,8]]},"1415":{"position":[[4228,8],[4584,8]]},"1416":{"position":[[3086,8]]},"1420":{"position":[[2223,8]]},"1429":{"position":[[4804,8]]},"1439":{"position":[[5551,8]]},"1440":{"position":[[4886,8]]},"1448":{"position":[[2169,8]]},"1449":{"position":[[2103,8]]},"1454":{"position":[[5726,8],[6208,8],[6746,8],[7929,8],[8241,8],[8557,8]]},"1455":{"position":[[2497,8]]},"1462":{"position":[[6510,8],[8743,8]]},"1465":{"position":[[3145,8],[3558,8],[4034,8]]},"1467":{"position":[[7625,8],[9414,8],[10226,8]]},"1485":{"position":[[2732,8]]}},"keywords":{}}],["specifi",{"_index":600,"title":{"905":{"position":[[0,10]]},"1130":{"position":[[9,7]]}},"content":{"18":{"position":[[2214,7]]},"22":{"position":[[1175,9],[2092,7]]},"23":{"position":[[1430,9],[1614,10]]},"40":{"position":[[135,10]]},"41":{"position":[[213,10]]},"98":{"position":[[1451,10]]},"131":{"position":[[330,9]]},"145":{"position":[[200,9]]},"173":{"position":[[135,10]]},"174":{"position":[[213,10]]},"230":{"position":[[1451,10]]},"254":{"position":[[330,9]]},"268":{"position":[[200,9]]},"334":{"position":[[407,9]]},"337":{"position":[[343,9]]},"338":{"position":[[372,9]]},"418":{"position":[[132,9]]},"431":{"position":[[48,9]]},"474":{"position":[[146,9]]},"478":{"position":[[224,9]]},"557":{"position":[[157,9]]},"582":{"position":[[61,10],[178,7]]},"583":{"position":[[117,9],[356,9],[450,9],[510,9]]},"584":{"position":[[1002,7]]},"587":{"position":[[151,9]]},"593":{"position":[[187,9]]},"594":{"position":[[277,10],[293,7]]},"595":{"position":[[447,9],[606,9],[819,9],[1059,9],[1253,10],[1279,9]]},"610":{"position":[[312,9]]},"616":{"position":[[405,9],[494,9],[839,9]]},"618":{"position":[[195,9]]},"634":{"position":[[156,9]]},"636":{"position":[[286,10],[408,9]]},"639":{"position":[[346,9]]},"648":{"position":[[586,7],[816,9]]},"654":{"position":[[258,9]]},"662":{"position":[[201,9]]},"663":{"position":[[889,7]]},"666":{"position":[[367,9]]},"675":{"position":[[60,7],[935,9]]},"676":{"position":[[103,10]]},"679":{"position":[[17,7],[86,7],[126,10],[255,7]]},"680":{"position":[[253,7],[1209,7]]},"681":{"position":[[80,10],[142,9],[244,7],[395,9],[477,9],[588,9]]},"683":{"position":[[249,7]]},"686":{"position":[[94,7]]},"688":{"position":[[485,9],[1316,9]]},"693":{"position":[[163,9],[2451,9],[5348,7],[6257,9],[6341,9]]},"695":{"position":[[61,7],[172,10]]},"699":{"position":[[100,7]]},"700":{"position":[[102,10]]},"715":{"position":[[318,9],[852,9]]},"720":{"position":[[148,7]]},"797":{"position":[[132,9]]},"810":{"position":[[48,9]]},"850":{"position":[[78,9]]},"851":{"position":[[373,7],[1234,7]]},"901":{"position":[[844,7]]},"905":{"position":[[471,7],[1188,7]]},"916":{"position":[[432,9]]},"919":{"position":[[173,9],[336,9],[1729,7]]},"927":{"position":[[304,9]]},"937":{"position":[[295,9],[452,9],[625,9],[2163,7],[3170,7],[3890,7]]},"939":{"position":[[587,10],[1737,9]]},"940":{"position":[[36,9],[161,9],[239,9],[898,7],[1246,9]]},"941":{"position":[[30,9],[94,9]]},"942":{"position":[[35,9],[500,9],[620,10],[749,7],[1011,9],[1203,7],[1376,10],[1582,9],[1671,10]]},"943":{"position":[[381,9],[2003,9],[2099,9],[2233,9]]},"944":{"position":[[891,10]]},"945":{"position":[[106,10],[342,10]]},"987":{"position":[[621,10]]},"1021":{"position":[[437,7],[520,9]]},"1027":{"position":[[126,7]]},"1042":{"position":[[537,7]]},"1050":{"position":[[2416,7]]},"1072":{"position":[[360,10]]},"1093":{"position":[[504,9]]},"1097":{"position":[[207,9]]},"1098":{"position":[[184,7],[505,9]]},"1114":{"position":[[291,9]]},"1121":{"position":[[5,10]]},"1129":{"position":[[0,7],[188,7]]},"1131":{"position":[[307,7],[474,9],[544,9]]},"1133":{"position":[[260,9],[492,9],[785,9]]},"1136":{"position":[[1620,7]]},"1138":{"position":[[10,9],[3188,9],[4735,7],[5234,9],[5331,9],[5709,10]]},"1140":{"position":[[585,10],[745,7],[2677,9],[4224,7],[4723,9],[4820,9]]},"1142":{"position":[[289,9]]},"1146":{"position":[[257,10]]},"1148":{"position":[[378,7],[1976,7],[3059,10]]},"1150":{"position":[[95,9]]},"1154":{"position":[[23,9]]},"1167":{"position":[[3681,9],[5228,7],[5727,9],[5824,9]]},"1186":{"position":[[1283,10]]},"1187":{"position":[[1296,10]]},"1188":{"position":[[638,10],[798,7],[2730,9],[4277,7],[4776,9],[4873,9],[6022,10]]},"1190":{"position":[[892,9]]},"1197":{"position":[[521,10]]},"1198":{"position":[[531,10]]},"1199":{"position":[[559,10]]},"1200":{"position":[[426,10]]},"1201":{"position":[[49,9]]},"1205":{"position":[[1100,7]]},"1209":{"position":[[853,7]]},"1217":{"position":[[2422,9],[3969,7],[4468,9],[4565,9]]},"1226":{"position":[[337,9],[1570,7],[2793,7]]},"1228":{"position":[[19,9],[4503,9],[6050,7],[6549,9],[6646,9]]},"1235":{"position":[[2113,7]]},"1237":{"position":[[23,9],[507,9],[1740,7],[2963,7]]},"1243":{"position":[[1195,7]]},"1259":{"position":[[363,9],[396,9],[1005,9],[1099,9],[1350,9]]},"1262":{"position":[[148,9],[181,9],[379,9],[514,9]]},"1271":{"position":[[48,9],[142,9],[163,9]]},"1273":{"position":[[63,9],[135,9],[429,9]]},"1290":{"position":[[363,9],[396,9],[1005,9],[1099,9],[1350,9]]},"1293":{"position":[[148,9],[181,9],[379,9],[514,9]]},"1302":{"position":[[48,9],[142,9],[163,9]]},"1304":{"position":[[63,9],[135,9],[429,9]]},"1318":{"position":[[363,9],[396,9],[1005,9],[1099,9],[1350,9]]},"1321":{"position":[[148,9],[181,9],[379,9],[514,9]]},"1330":{"position":[[48,9],[142,9],[163,9]]},"1332":{"position":[[63,9],[135,9],[429,9]]},"1346":{"position":[[52,9]]},"1348":{"position":[[2757,9],[2823,9],[3790,10],[3949,7]]},"1349":{"position":[[902,9],[968,9]]},"1350":{"position":[[3873,9],[3939,9]]},"1351":{"position":[[1093,9],[1159,9],[2332,9],[2409,7],[2714,9],[2791,7]]},"1352":{"position":[[3872,9],[3938,9]]},"1353":{"position":[[1476,9],[1542,9]]},"1354":{"position":[[1314,9],[1380,9],[2890,9],[3057,9]]},"1355":{"position":[[2453,9],[2519,9],[3275,9],[4650,9],[6581,9],[7422,9]]},"1356":{"position":[[820,9],[886,9]]},"1357":{"position":[[493,9],[559,9]]},"1358":{"position":[[1214,9],[1280,9]]},"1359":{"position":[[1051,9],[1117,9]]},"1360":{"position":[[1682,9],[1748,9],[3721,9],[4287,9],[4968,7],[5436,7],[5503,7]]},"1361":{"position":[[1041,9],[1107,9],[2002,9],[2263,9]]},"1362":{"position":[[5405,9],[5471,9],[6870,9],[7041,10],[7404,10],[8958,9],[9129,10],[9420,10],[11288,9],[11644,9],[12097,9],[12932,10],[12990,10],[13106,9],[13693,8]]},"1363":{"position":[[3056,9],[3151,9],[3217,9],[4390,10],[4952,9],[5233,9],[5984,7],[6206,10]]},"1364":{"position":[[5434,9],[5500,9],[6892,9],[7109,9],[7280,10],[7643,10],[8266,9],[10072,9],[10243,10],[10534,10],[12255,9],[12602,9],[13632,10],[13690,10],[13806,9],[14393,8]]},"1365":{"position":[[975,9],[1041,9]]},"1366":{"position":[[1181,9],[1247,9],[1988,9]]},"1367":{"position":[[6832,9],[6898,9],[9046,9],[9217,10],[9508,10],[9868,9],[10149,9],[11658,9],[12005,9],[12840,10],[12898,10],[13014,9],[13557,9],[13838,9]]},"1368":{"position":[[1531,9],[1597,9]]},"1369":{"position":[[583,9],[649,9]]},"1370":{"position":[[830,9],[896,9]]},"1371":{"position":[[459,9],[525,9]]},"1372":{"position":[[2097,9],[2163,9]]},"1373":{"position":[[2969,9],[3035,9],[4658,9],[5057,10],[6310,9],[6665,9],[7137,9]]},"1374":{"position":[[865,9],[931,9],[1720,9],[2345,9],[2506,9]]},"1375":{"position":[[495,9],[561,9]]},"1376":{"position":[[451,9],[517,9]]},"1377":{"position":[[690,9],[756,9]]},"1378":{"position":[[437,9],[503,9]]},"1379":{"position":[[460,9],[526,9]]},"1380":{"position":[[931,9],[997,9]]},"1381":{"position":[[837,9],[903,9],[1919,7]]},"1382":{"position":[[3317,9],[3383,9],[5728,9],[6127,10],[8157,9],[8507,9],[8985,9],[9458,9],[9813,9],[11294,10],[11352,10],[11468,9]]},"1383":{"position":[[1555,9],[1621,9],[3548,7],[3892,7],[4180,7],[4330,10],[5319,9],[5454,9],[6320,9],[7076,7],[7439,7],[7506,7],[7664,9],[8463,9],[8581,9],[8751,7],[8933,7]]},"1384":{"position":[[4309,9],[4376,7],[4479,9],[4545,9],[5937,9],[6290,9],[6639,10],[7434,9],[7848,9],[8452,9],[9012,9],[10675,9],[11074,10],[11444,9],[11932,9],[12184,9],[12421,9],[14502,9],[14852,9],[15330,9],[15803,9],[16158,9],[18948,10],[19006,10],[19122,9],[19856,9],[20093,9],[20259,7],[20346,7],[20472,9],[20899,7],[21002,7],[21072,7]]},"1385":{"position":[[2156,9],[2222,9],[2987,9],[3641,9],[4040,10],[4387,9],[4736,9],[5213,9],[5685,9],[6039,9],[6872,10],[6930,10],[7046,9]]},"1386":{"position":[[587,9],[794,9],[860,9],[1643,9],[1749,10],[4606,9]]},"1387":{"position":[[4425,9],[4491,9],[5249,9],[5974,9],[6373,10],[7760,9],[8109,9],[8586,9],[9058,9],[9412,9],[10245,10],[10303,10],[10419,9]]},"1388":{"position":[[3617,9],[3683,9],[6597,9],[6996,10],[9787,10],[9845,10],[9961,9],[10117,9],[10284,9]]},"1389":{"position":[[4478,9],[4544,9]]},"1390":{"position":[[730,9],[796,9],[1592,10],[1759,10],[1898,10]]},"1391":{"position":[[683,9],[749,9],[1545,10],[1713,10]]},"1392":{"position":[[833,9],[899,9],[1695,10],[2168,10],[2241,9],[2408,9]]},"1393":{"position":[[1405,9],[1471,9],[2660,9],[2796,7],[2913,9],[3253,7],[3563,9],[5122,7],[5279,9],[5701,7],[6219,9],[6939,9],[7832,9],[8356,9],[8491,7],[8622,9]]},"1394":{"position":[[853,9],[919,9]]},"1395":{"position":[[862,9],[928,9],[2046,9],[2136,7],[2583,9]]},"1396":{"position":[[659,9],[725,9]]},"1397":{"position":[[840,9],[906,9],[1651,9],[2438,9],[2734,9]]},"1398":{"position":[[1512,9],[1578,9],[2454,7],[3828,9],[4763,9],[5710,9]]},"1399":{"position":[[695,9],[761,9]]},"1400":{"position":[[564,9],[630,9]]},"1401":{"position":[[639,9],[705,9]]},"1402":{"position":[[795,9],[861,9]]},"1403":{"position":[[1385,9],[1451,9],[3136,9],[3702,9],[4956,7],[6539,7],[6606,7],[6764,9]]},"1404":{"position":[[628,9],[694,9]]},"1405":{"position":[[1319,9],[1385,9]]},"1406":{"position":[[535,9],[601,9]]},"1407":{"position":[[1360,9],[1426,9]]},"1408":{"position":[[1056,9],[1122,9]]},"1409":{"position":[[590,9],[656,9]]},"1410":{"position":[[1587,9],[1752,9],[1818,9],[3565,7],[3684,9],[5340,9],[5507,9],[5589,7],[5644,7]]},"1411":{"position":[[573,9],[639,9]]},"1412":{"position":[[1773,9],[1839,9]]},"1413":{"position":[[1957,9],[2023,9]]},"1414":{"position":[[824,9],[890,9]]},"1415":{"position":[[2806,9],[2872,9],[4269,9],[4624,9]]},"1416":{"position":[[1458,9],[1524,9],[3022,10],[3125,9]]},"1417":{"position":[[1047,9],[1113,9]]},"1418":{"position":[[748,9],[814,9]]},"1419":{"position":[[876,9],[942,9]]},"1420":{"position":[[1140,9],[1206,9],[2262,9]]},"1421":{"position":[[1115,9],[1181,9]]},"1422":{"position":[[1018,9],[1084,9],[2953,9],[3394,9]]},"1423":{"position":[[1007,9],[1073,9]]},"1424":{"position":[[1132,9],[1198,9]]},"1425":{"position":[[748,9],[814,9]]},"1426":{"position":[[1091,9],[1157,9],[2502,9],[2981,9]]},"1427":{"position":[[1889,9],[1988,9],[2054,9],[3795,9],[4637,9],[5780,9],[6911,9]]},"1428":{"position":[[730,9],[796,9]]},"1429":{"position":[[2652,9],[2718,9],[5023,9],[5407,9],[5453,10],[5837,9],[6004,9],[6042,9]]},"1430":{"position":[[1506,9],[1572,9]]},"1431":{"position":[[850,9],[916,9]]},"1432":{"position":[[1371,9],[1437,9]]},"1433":{"position":[[892,9],[958,9]]},"1434":{"position":[[566,9],[632,9]]},"1435":{"position":[[530,9],[596,9]]},"1436":{"position":[[546,9],[612,9]]},"1437":{"position":[[616,9],[682,9]]},"1438":{"position":[[750,9],[816,9]]},"1439":{"position":[[2175,9],[2274,9],[2340,9],[3096,9],[4716,7],[4818,7],[5647,7],[7136,9]]},"1440":{"position":[[2840,9],[2906,9],[5017,9],[5401,9],[5447,10],[5737,9],[5904,9],[5942,9]]},"1441":{"position":[[572,9],[638,9]]},"1442":{"position":[[645,9],[711,9],[2667,10],[2725,10],[2841,9]]},"1443":{"position":[[867,9],[933,9]]},"1444":{"position":[[783,9],[849,9],[1614,9]]},"1445":{"position":[[472,9],[538,9]]},"1446":{"position":[[806,9],[872,9]]},"1447":{"position":[[688,9],[754,9]]},"1448":{"position":[[1123,9],[1189,9],[2001,10],[2208,9]]},"1449":{"position":[[1057,9],[1123,9],[1935,10],[2142,9]]},"1450":{"position":[[936,9],[1002,9]]},"1451":{"position":[[936,9],[1002,9]]},"1452":{"position":[[482,9],[548,9]]},"1453":{"position":[[1068,9],[1134,9]]},"1454":{"position":[[3434,9],[3500,9],[4785,9],[4994,9],[5343,10],[5834,9],[6247,9],[6800,9],[7970,9],[8282,9],[8602,9]]},"1455":{"position":[[1321,9],[1387,9],[2433,9],[2605,9]]},"1456":{"position":[[666,9],[732,9]]},"1457":{"position":[[648,9],[725,9],[791,9]]},"1458":{"position":[[1260,9],[1326,9]]},"1459":{"position":[[739,9],[805,9]]},"1460":{"position":[[851,9],[917,9]]},"1461":{"position":[[1066,9],[1132,9]]},"1462":{"position":[[4447,9],[4513,9],[5874,7],[7403,7],[9122,9]]},"1463":{"position":[[573,9],[639,9]]},"1464":{"position":[[481,9],[547,9]]},"1465":{"position":[[1579,9],[1645,9],[2403,9],[3186,9],[3597,9],[4587,9]]},"1466":{"position":[[817,9],[883,9]]},"1467":{"position":[[5136,9],[5202,9],[5968,9],[8372,7],[9455,9],[10359,9],[10526,9],[10699,7],[10777,7]]},"1468":{"position":[[581,9],[647,9]]},"1469":{"position":[[954,9],[1020,9],[2162,7],[2207,7]]},"1470":{"position":[[3483,9],[3549,9],[4701,7]]},"1471":{"position":[[1817,9],[1883,9]]},"1472":{"position":[[1776,9],[1842,9]]},"1473":{"position":[[2091,9],[2157,9]]},"1474":{"position":[[1482,9],[1548,9]]},"1475":{"position":[[1953,9],[2019,9]]},"1476":{"position":[[558,9],[624,9]]},"1477":{"position":[[710,9],[776,9],[2129,9],[2462,9]]},"1478":{"position":[[1201,9],[1267,9]]},"1479":{"position":[[650,9],[716,9]]},"1480":{"position":[[1063,9],[1129,9]]},"1481":{"position":[[1596,9],[1662,9]]},"1482":{"position":[[670,9],[736,9]]},"1483":{"position":[[504,9],[570,9]]},"1484":{"position":[[576,9],[642,9]]},"1485":{"position":[[690,9],[836,9],[902,9],[2009,9],[2408,10],[2771,9],[4158,10],[4216,10],[4332,9],[4672,9]]},"1486":{"position":[[1080,9],[1146,9],[2434,9]]},"1487":{"position":[[775,9],[841,9]]}},"keywords":{}}],["specificationsbelow",{"_index":2679,"title":{},"content":{"581":{"position":[[1010,20]]}},"keywords":{}}],["specified,rsplit",{"_index":2964,"title":{},"content":{"614":{"position":[[261,16]]}},"keywords":{}}],["specified.persist",{"_index":8564,"title":{},"content":{"1486":{"position":[[2618,21]]}},"keywords":{}}],["specifiedjava_librari",{"_index":3418,"title":{},"content":{"681":{"position":[[655,21]]}},"keywords":{}}],["specifiesappl",{"_index":7465,"title":{},"content":{"1393":{"position":[[3733,21]]}},"keywords":{}}],["specul",{"_index":5134,"title":{},"content":{"1040":{"position":[[589,11]]}},"keywords":{}}],["speed",{"_index":3550,"title":{},"content":{"693":{"position":[[4151,5],[6840,5]]},"724":{"position":[[1515,5]]},"919":{"position":[[772,5]]},"1181":{"position":[[512,5],[554,5]]}},"keywords":{}}],["speedup",{"_index":3558,"title":{},"content":{"693":{"position":[[4905,7]]},"1078":{"position":[[11,7]]}},"keywords":{}}],["spend",{"_index":249,"title":{},"content":{"9":{"position":[[1549,8]]},"1232":{"position":[[3360,8]]}},"keywords":{}}],["spent",{"_index":5358,"title":{},"content":{"1056":{"position":[[551,5],[1149,5]]},"1057":{"position":[[68,5],[572,5],[694,5]]},"1058":{"position":[[52,5],[405,5]]},"1059":{"position":[[73,5]]}},"keywords":{}}],["spit",{"_index":5466,"title":{},"content":{"1061":{"position":[[413,5]]}},"keywords":{}}],["split",{"_index":2400,"title":{},"content":{"447":{"position":[[104,6]]},"607":{"position":[[144,6]]},"613":{"position":[[161,6]]},"614":{"position":[[108,6],[169,6],[251,6],[300,7]]},"616":{"position":[[106,5],[201,9],[372,9],[467,5],[516,5],[636,6],[767,5],[869,7]]},"617":{"position":[[240,9]]},"826":{"position":[[104,6]]},"904":{"position":[[73,6]]},"965":{"position":[[526,5]]},"980":{"position":[[1128,5],[1319,6]]},"1004":{"position":[[659,5],[1681,5]]},"1006":{"position":[[346,5],[835,5],[1220,5],[1278,5]]},"1124":{"position":[[89,5]]},"1252":{"position":[[321,9]]}},"keywords":{}}],["split_arch_dsym",{"_index":6868,"title":{},"content":{"1363":{"position":[[2503,16]]},"1370":{"position":[[528,16],[2187,16]]}},"keywords":{}}],["split_debug_mod",{"_index":7405,"title":{},"content":{"1389":{"position":[[3924,17]]}},"keywords":{}}],["spottedan",{"_index":6151,"title":{},"content":{"1232":{"position":[[3552,9]]}},"keywords":{}}],["sqlite",{"_index":5527,"title":{},"content":{"1077":{"position":[[55,6]]}},"keywords":{}}],["sqlite_materializer_st",{"_index":5528,"title":{},"content":{"1077":{"position":[[307,25]]}},"keywords":{}}],["squint",{"_index":3677,"title":{},"content":{"706":{"position":[[1520,7]]}},"keywords":{}}],["src",{"_index":558,"title":{},"content":{"18":{"position":[[659,4]]},"86":{"position":[[66,5],[183,4]]},"87":{"position":[[62,4]]},"88":{"position":[[63,4]]},"95":{"position":[[66,4]]},"96":{"position":[[69,5],[181,4]]},"218":{"position":[[66,5],[183,4]]},"219":{"position":[[62,4]]},"220":{"position":[[63,4]]},"227":{"position":[[66,4]]},"228":{"position":[[69,5],[181,4]]},"368":{"position":[[1596,6],[1628,4],[1635,4],[2023,4]]},"622":{"position":[[1442,4],[1605,4],[1940,5],[1981,4]]},"679":{"position":[[182,4],[326,4]]},"681":{"position":[[310,5]]},"693":{"position":[[1131,5]]},"747":{"position":[[1596,6],[1628,4],[1635,4],[2023,4]]},"993":{"position":[[272,4]]},"1048":{"position":[[371,4],[1392,4],[1454,3]]},"1104":{"position":[[627,4]]},"1262":{"position":[[296,5]]},"1293":{"position":[[296,5]]},"1321":{"position":[[296,5]]},"1348":{"position":[[2519,5],[4645,4]]},"1351":{"position":[[4246,4],[5398,4]]},"1353":{"position":[[3022,4]]},"1355":{"position":[[2024,5],[7359,5],[7934,4]]},"1358":{"position":[[3236,4]]},"1360":{"position":[[1215,5],[3341,7],[3349,7],[3383,4],[3477,4],[4909,5],[5284,5],[6151,7]]},"1362":{"position":[[4162,5],[12460,4],[12595,5],[13920,4]]},"1364":{"position":[[4147,5],[12965,4],[13295,5],[14628,4]]},"1367":{"position":[[5657,5],[12368,4],[12503,5],[14475,4]]},"1373":{"position":[[2595,5],[4466,4],[6172,4],[8728,4],[8823,4],[8927,4]]},"1374":{"position":[[2991,4],[3272,3],[3662,3],[3744,3],[3820,3]]},"1381":{"position":[[621,5],[2618,4]]},"1382":{"position":[[2841,5],[10176,4],[10957,5],[11773,4],[11873,4]]},"1383":{"position":[[1093,5],[5996,7],[6037,4],[6131,4],[7017,5],[7287,5]]},"1384":{"position":[[3764,5],[16521,4],[18611,5],[21365,4],[21595,4],[22079,4]]},"1385":{"position":[[1750,5],[6402,4],[7318,4],[7500,4]]},"1386":{"position":[[500,4],[3578,3],[3777,4]]},"1387":{"position":[[3696,5],[5553,4],[9775,4],[10697,4],[10833,4]]},"1388":{"position":[[3230,5],[9450,5],[10415,4]]},"1390":{"position":[[515,5],[2080,6],[2154,6],[2223,6]]},"1391":{"position":[[516,5],[1876,6],[1945,6]]},"1392":{"position":[[513,5],[2542,4]]},"1393":{"position":[[930,5],[5964,4],[7680,5],[7787,4],[9988,4],[10203,3],[10319,4],[10678,4]]},"1395":{"position":[[3878,4]]},"1397":{"position":[[3827,3],[3901,3]]},"1398":{"position":[[3044,4],[5966,4]]},"1399":{"position":[[511,4],[2224,3],[2392,3],[2471,3],[2682,3],[2745,3],[2878,3]]},"1401":{"position":[[482,5],[1796,4]]},"1402":{"position":[[2164,4]]},"1403":{"position":[[1118,5],[2756,7],[2764,7],[2798,4],[2892,4],[4897,5],[6387,5],[7652,4],[7959,4],[8522,4],[8574,3],[8734,3]]},"1405":{"position":[[1027,5],[3496,4],[3997,6],[4072,6],[4143,6]]},"1406":{"position":[[440,5]]},"1407":{"position":[[1054,5],[3917,4],[4639,4],[4850,4]]},"1408":{"position":[[858,5],[2536,4],[2937,6]]},"1410":{"position":[[1445,5],[3640,5],[4904,4],[5011,5],[5802,6],[5879,6],[6002,6]]},"1412":{"position":[[1367,5],[3392,5],[3764,4],[3950,4],[4214,4]]},"1413":{"position":[[1544,5]]},"1415":{"position":[[2251,5],[5531,4]]},"1416":{"position":[[1217,5],[3581,4]]},"1417":{"position":[[905,5]]},"1419":{"position":[[764,5]]},"1420":{"position":[[925,5],[2724,4]]},"1424":{"position":[[974,5]]},"1427":{"position":[[1584,5],[6558,5],[7176,4],[7540,4],[7720,4],[8006,4]]},"1429":{"position":[[2062,5],[4973,5],[5040,4],[5420,5],[5464,4]]},"1430":{"position":[[1387,5]]},"1432":{"position":[[1220,5]]},"1433":{"position":[[771,5]]},"1434":{"position":[[471,5]]},"1436":{"position":[[451,5]]},"1437":{"position":[[521,5]]},"1439":{"position":[[1820,5],[5864,4],[7681,5],[8006,4],[8368,4],[8546,4],[8832,4]]},"1440":{"position":[[2216,5],[4967,5],[5034,4],[5414,5],[5458,4]]},"1442":{"position":[[436,5],[2330,5],[3081,4]]},"1443":{"position":[[1915,4]]},"1444":{"position":[[561,5],[1827,4],[2017,4],[2253,4]]},"1446":{"position":[[531,5]]},"1448":{"position":[[838,5],[2866,6],[2995,6],[3069,6],[3120,6]]},"1449":{"position":[[780,5],[2804,6]]},"1450":{"position":[[785,5]]},"1451":{"position":[[785,5]]},"1456":{"position":[[1632,4]]},"1458":{"position":[[2678,4]]},"1459":{"position":[[2449,4]]},"1462":{"position":[[9191,4]]},"1464":{"position":[[390,5]]},"1465":{"position":[[1047,5],[2627,4],[4382,4],[4691,4]]},"1467":{"position":[[4420,5],[10266,5],[10950,4],[11219,4]]},"1468":{"position":[[497,4]]},"1470":{"position":[[2738,5]]},"1471":{"position":[[1578,5],[3135,6],[4464,5],[5041,5],[5789,6],[5867,6],[5940,6]]},"1472":{"position":[[1498,5],[2854,6],[5048,5],[5927,5],[6679,6]]},"1473":{"position":[[1825,5],[3169,6],[4785,5],[5491,5],[5958,6],[6036,6],[6109,6]]},"1474":{"position":[[1363,5]]},"1475":{"position":[[1540,5]]},"1480":{"position":[[831,5]]},"1485":{"position":[[611,5],[4906,4],[5043,4]]},"1487":{"position":[[573,5],[2297,5],[2348,3],[2396,3],[2500,3],[2982,5],[3125,4]]}},"keywords":{}}],["src.src",{"_index":7255,"title":{},"content":{"1386":{"position":[[1656,8]]}},"keywords":{}}],["src.zip",{"_index":7964,"title":{},"content":{"1427":{"position":[[6653,9]]},"1439":{"position":[[7789,9]]}},"keywords":{}}],["src/com/facebook/base:bas",{"_index":7971,"title":{},"content":{"1427":{"position":[[7614,31],[7762,31]]},"1439":{"position":[[8438,31],[8586,31]]}},"keywords":{}}],["src/com/google/inject:inject",{"_index":7973,"title":{},"content":{"1427":{"position":[[7794,33]]},"1439":{"position":[[8618,33]]}},"keywords":{}}],["src_root",{"_index":6566,"title":{},"content":{"1355":{"position":[[6459,9]]}},"keywords":{}}],["srcdir",{"_index":6655,"title":{},"content":{"1360":{"position":[[3523,9],[5400,6]]},"1383":{"position":[[7403,6]]},"1403":{"position":[[2938,9],[6503,6]]}},"keywords":{}}],["srcdir%\\androidmanifest.xml",{"_index":7693,"title":{},"content":{"1403":{"position":[[7827,29],[8154,29]]}},"keywords":{}}],["srcdir/androidmanifest.xml",{"_index":7692,"title":{},"content":{"1403":{"position":[[7735,28],[8042,28]]}},"keywords":{}}],["srcdir}th",{"_index":7184,"title":{},"content":{"1383":{"position":[[6178,12]]}},"keywords":{}}],["srcs=['greeting_test.go",{"_index":7797,"title":{},"content":{"1410":{"position":[[6120,26]]}},"keywords":{}}],["srcs}a",{"_index":7183,"title":{},"content":{"1383":{"position":[[6004,8]]}},"keywords":{}}],["ss",{"_index":5867,"title":{},"content":{"1136":{"position":[[975,6]]},"1148":{"position":[[1331,6]]},"1209":{"position":[[208,6]]},"1235":{"position":[[1468,6]]}},"keywords":{}}],["stabil",{"_index":392,"title":{},"content":{"12":{"position":[[99,9]]},"1136":{"position":[[5996,9]]},"1138":{"position":[[9658,9]]},"1140":{"position":[[8584,9]]},"1142":{"position":[[4028,9]]},"1146":{"position":[[3968,9]]},"1148":{"position":[[7008,9]]},"1155":{"position":[[4064,9]]},"1156":{"position":[[3642,9]]},"1163":{"position":[[602,9]]},"1165":{"position":[[431,9]]},"1167":{"position":[[9588,9]]},"1169":{"position":[[2696,9]]},"1186":{"position":[[5232,9]]},"1187":{"position":[[5245,9]]},"1188":{"position":[[9971,9]]},"1191":{"position":[[3832,9]]},"1192":{"position":[[4007,9]]},"1193":{"position":[[4059,9]]},"1194":{"position":[[3699,9]]},"1195":{"position":[[3677,9]]},"1196":{"position":[[3487,9]]},"1197":{"position":[[4470,9]]},"1198":{"position":[[4480,9]]},"1199":{"position":[[4508,9]]},"1200":{"position":[[4375,9]]},"1201":{"position":[[3635,9]]},"1202":{"position":[[4777,9],[9174,9]]},"1203":{"position":[[3869,9]]},"1204":{"position":[[3713,9]]},"1205":{"position":[[5042,9]]},"1206":{"position":[[3513,9]]},"1207":{"position":[[3670,9]]},"1209":{"position":[[5018,9]]},"1217":{"position":[[8329,9]]},"1219":{"position":[[3584,9]]},"1222":{"position":[[3439,9]]},"1223":{"position":[[3449,9]]},"1224":{"position":[[2898,9]]},"1226":{"position":[[8797,9]]},"1228":{"position":[[10410,9]]},"1235":{"position":[[6278,9]]},"1237":{"position":[[8967,9]]}},"keywords":{}}],["stabl",{"_index":2391,"title":{},"content":{"446":{"position":[[325,6]]},"632":{"position":[[196,6]]},"635":{"position":[[95,6]]},"666":{"position":[[222,7]]},"825":{"position":[[325,6]]},"869":{"position":[[820,7]]},"1113":{"position":[[44,7]]},"1114":{"position":[[1056,7]]},"1136":{"position":[[4668,7]]},"1138":{"position":[[8330,7]]},"1140":{"position":[[7256,7]]},"1142":{"position":[[2700,7]]},"1146":{"position":[[2640,7]]},"1148":{"position":[[5680,7]]},"1155":{"position":[[2736,7]]},"1156":{"position":[[123,6],[2314,7]]},"1167":{"position":[[8260,7]]},"1169":{"position":[[2099,7]]},"1186":{"position":[[3904,7]]},"1187":{"position":[[3917,7]]},"1188":{"position":[[8643,7]]},"1191":{"position":[[2504,7]]},"1192":{"position":[[2679,7]]},"1193":{"position":[[2731,7]]},"1194":{"position":[[2371,7]]},"1195":{"position":[[2349,7]]},"1196":{"position":[[2159,7]]},"1197":{"position":[[3142,7]]},"1198":{"position":[[3152,7]]},"1199":{"position":[[3180,7]]},"1200":{"position":[[3047,7]]},"1201":{"position":[[2307,7]]},"1202":{"position":[[3449,7],[7846,7]]},"1203":{"position":[[2541,7]]},"1204":{"position":[[2385,7]]},"1205":{"position":[[3714,7]]},"1206":{"position":[[2185,7]]},"1207":{"position":[[2342,7]]},"1209":{"position":[[3690,7]]},"1217":{"position":[[7001,7]]},"1219":{"position":[[2987,7]]},"1222":{"position":[[2111,7]]},"1223":{"position":[[2121,7]]},"1224":{"position":[[2301,7]]},"1226":{"position":[[382,6],[471,6],[7469,7]]},"1228":{"position":[[9082,7]]},"1235":{"position":[[4950,7]]},"1237":{"position":[[552,6],[641,6],[7639,7]]}},"keywords":{}}],["stack",{"_index":1431,"title":{"1231":{"position":[[10,5]]},"1232":{"position":[[17,5]]}},"content":{"170":{"position":[[69,6]]},"446":{"position":[[68,6]]},"550":{"position":[[69,6]]},"632":{"position":[[93,6],[273,6]]},"633":{"position":[[106,5],[211,5]]},"825":{"position":[[68,6]]},"978":{"position":[[92,5]]},"1000":{"position":[[502,6]]},"1136":{"position":[[4752,5],[4785,7],[4807,6],[4928,6]]},"1138":{"position":[[8414,5],[8447,7],[8469,6],[8590,6]]},"1140":{"position":[[7340,5],[7373,7],[7395,6],[7516,6]]},"1142":{"position":[[2784,5],[2817,7],[2839,6],[2960,6]]},"1146":{"position":[[2724,5],[2757,7],[2779,6],[2900,6]]},"1148":{"position":[[5764,5],[5797,7],[5819,6],[5940,6]]},"1155":{"position":[[2820,5],[2853,7],[2875,6],[2996,6]]},"1156":{"position":[[2398,5],[2431,7],[2453,6],[2574,6]]},"1167":{"position":[[8344,5],[8377,7],[8399,6],[8520,6]]},"1169":{"position":[[2183,5],[2216,7],[2238,6],[2359,6]]},"1186":{"position":[[3988,5],[4021,7],[4043,6],[4164,6]]},"1187":{"position":[[4001,5],[4034,7],[4056,6],[4177,6]]},"1188":{"position":[[8727,5],[8760,7],[8782,6],[8903,6]]},"1191":{"position":[[2588,5],[2621,7],[2643,6],[2764,6]]},"1192":{"position":[[2763,5],[2796,7],[2818,6],[2939,6]]},"1193":{"position":[[2815,5],[2848,7],[2870,6],[2991,6]]},"1194":{"position":[[2455,5],[2488,7],[2510,6],[2631,6]]},"1195":{"position":[[2433,5],[2466,7],[2488,6],[2609,6]]},"1196":{"position":[[2243,5],[2276,7],[2298,6],[2419,6]]},"1197":{"position":[[3226,5],[3259,7],[3281,6],[3402,6]]},"1198":{"position":[[3236,5],[3269,7],[3291,6],[3412,6]]},"1199":{"position":[[3264,5],[3297,7],[3319,6],[3440,6]]},"1200":{"position":[[3131,5],[3164,7],[3186,6],[3307,6]]},"1201":{"position":[[2391,5],[2424,7],[2446,6],[2567,6]]},"1202":{"position":[[3533,5],[3566,7],[3588,6],[3709,6],[7930,5],[7963,7],[7985,6],[8106,6]]},"1203":{"position":[[2625,5],[2658,7],[2680,6],[2801,6]]},"1204":{"position":[[2469,5],[2502,7],[2524,6],[2645,6]]},"1205":{"position":[[3798,5],[3831,7],[3853,6],[3974,6]]},"1206":{"position":[[2269,5],[2302,7],[2324,6],[2445,6]]},"1207":{"position":[[2426,5],[2459,7],[2481,6],[2602,6]]},"1209":{"position":[[3774,5],[3807,7],[3829,6],[3950,6]]},"1217":{"position":[[7085,5],[7118,7],[7140,6],[7261,6]]},"1219":{"position":[[3071,5],[3104,7],[3126,6],[3247,6]]},"1222":{"position":[[2195,5],[2228,7],[2250,6],[2371,6]]},"1223":{"position":[[2205,5],[2238,7],[2260,6],[2381,6]]},"1224":{"position":[[2385,5],[2418,7],[2440,6],[2561,6]]},"1226":{"position":[[7553,5],[7586,7],[7608,6],[7729,6]]},"1228":{"position":[[9166,5],[9199,7],[9221,6],[9342,6]]},"1231":{"position":[[248,5],[404,5],[560,5],[657,5]]},"1232":{"position":[[57,5]]},"1235":{"position":[[5034,5],[5067,7],[5089,6],[5210,6]]},"1237":{"position":[[7723,5],[7756,7],[7778,6],[7899,6]]}},"keywords":{}}],["stackfram",{"_index":1429,"title":{"169":{"position":[[0,10]]},"549":{"position":[[0,10]]}},"content":{"633":{"position":[[45,10]]}},"keywords":{}}],["stackframe.func_nam",{"_index":1430,"title":{"170":{"position":[[0,21]]},"550":{"position":[[0,21]]}},"content":{"170":{"position":[[0,21]]},"550":{"position":[[0,21]]}},"keywords":{}}],["stackframe.module_path",{"_index":1432,"title":{"171":{"position":[[0,23]]},"551":{"position":[[0,23]]}},"content":{"171":{"position":[[0,23]]},"551":{"position":[[0,23]]}},"keywords":{}}],["stage",{"_index":784,"title":{},"content":{"24":{"position":[[63,5]]},"715":{"position":[[1912,5]]},"719":{"position":[[71,5]]},"721":{"position":[[73,5]]},"722":{"position":[[149,7]]},"723":{"position":[[93,6]]},"869":{"position":[[409,7]]},"959":{"position":[[167,6]]},"989":{"position":[[514,6]]},"1249":{"position":[[179,6]]},"1362":{"position":[[12750,6]]},"1364":{"position":[[13450,6]]},"1367":{"position":[[12658,6]]},"1382":{"position":[[11112,6]]},"1384":{"position":[[18766,6]]},"1385":{"position":[[6690,6]]},"1387":{"position":[[10063,6]]},"1388":{"position":[[9605,6]]},"1427":{"position":[[4883,5]]},"1439":{"position":[[7382,5]]},"1442":{"position":[[2485,6]]},"1485":{"position":[[3976,6]]}},"keywords":{}}],["stage0",{"_index":2374,"title":{},"content":{"443":{"position":[[28,7],[200,7]]},"822":{"position":[[28,7],[200,7]]}},"keywords":{}}],["stage1",{"_index":2375,"title":{},"content":{"443":{"position":[[36,7],[296,7]]},"822":{"position":[[36,7],[296,7]]}},"keywords":{}}],["stale",{"_index":5124,"title":{"1079":{"position":[[14,6]]}},"content":{"1036":{"position":[[275,5]]},"1079":{"position":[[67,5],[1010,5],[1361,6]]},"1142":{"position":[[197,5]]}},"keywords":{}}],["stand",{"_index":5125,"title":{},"content":{"1037":{"position":[[230,5]]},"1384":{"position":[[20681,6]]}},"keywords":{}}],["standalon",{"_index":768,"title":{},"content":{"23":{"position":[[2919,10]]},"1370":{"position":[[3063,10]]}},"keywords":{}}],["standalone_build_arg",{"_index":8312,"title":{},"content":{"1462":{"position":[[3938,22]]},"1467":{"position":[[4458,22]]}},"keywords":{}}],["standard",{"_index":618,"title":{},"content":{"20":{"position":[[510,8]]},"577":{"position":[[13,8]]},"608":{"position":[[115,8]]},"609":{"position":[[115,8]]},"890":{"position":[[3185,9],[3546,9],[3911,9]]},"950":{"position":[[459,8]]},"962":{"position":[[4,8]]},"995":{"position":[[1172,8]]},"1104":{"position":[[2158,8]]},"1161":{"position":[[214,8]]},"1355":{"position":[[7722,8]]},"1386":{"position":[[3618,8]]},"1446":{"position":[[2167,8]]},"1459":{"position":[[2140,8]]},"1467":{"position":[[8706,8]]},"1473":{"position":[[3859,8]]},"1478":{"position":[[3702,12]]}},"keywords":{}}],["standpoint",{"_index":4534,"title":{},"content":{"924":{"position":[[856,10]]},"1017":{"position":[[262,11]]}},"keywords":{}}],["starlark",{"_index":23,"title":{"884":{"position":[[0,8]]},"899":{"position":[[0,8]]},"1056":{"position":[[0,8]]},"1155":{"position":[[10,9]]},"1156":{"position":[[10,8]]},"1202":{"position":[[11,9]]},"1220":{"position":[[0,8]]},"1221":{"position":[[5,9]]},"1222":{"position":[[5,8]]},"1223":{"position":[[5,8]]},"1224":{"position":[[5,8]]},"1246":{"position":[[17,8]]}},"content":{"3":{"position":[[167,8]]},"4":{"position":[[34,8]]},"10":{"position":[[608,8]]},"20":{"position":[[33,8],[189,8],[347,8],[501,8]]},"22":{"position":[[2024,8],[2035,8]]},"23":{"position":[[675,8],[2878,8]]},"72":{"position":[[69,8]]},"92":{"position":[[1854,8]]},"224":{"position":[[1854,8]]},"281":{"position":[[217,8]]},"374":{"position":[[538,8],[619,8],[769,8],[950,8],[1028,8]]},"495":{"position":[[69,8]]},"608":{"position":[[124,9]]},"609":{"position":[[124,9]]},"630":{"position":[[68,8]]},"693":{"position":[[1886,8],[7733,9],[7743,8],[8013,9],[8046,8]]},"702":{"position":[[101,8],[125,8],[144,8],[163,8],[195,8]]},"710":{"position":[[202,8]]},"715":{"position":[[55,9],[835,8]]},"718":{"position":[[305,8]]},"722":{"position":[[176,8]]},"753":{"position":[[538,8],[619,8],[769,8],[950,8],[1028,8]]},"833":{"position":[[264,8]]},"837":{"position":[[0,8],[383,8]]},"839":{"position":[[187,8],[236,8]]},"840":{"position":[[166,8]]},"858":{"position":[[164,10]]},"861":{"position":[[4,8]]},"869":{"position":[[9,8],[133,8],[271,9]]},"870":{"position":[[410,8],[454,8],[1293,9],[1392,8]]},"884":{"position":[[0,8],[36,8]]},"886":{"position":[[3,9]]},"888":{"position":[[1079,9]]},"890":{"position":[[231,8]]},"898":{"position":[[291,8],[363,9]]},"900":{"position":[[12,8],[1540,8]]},"915":{"position":[[126,8]]},"921":{"position":[[871,8],[1014,8],[1031,8]]},"923":{"position":[[212,9]]},"946":{"position":[[496,8],[586,8],[673,8],[705,8]]},"955":{"position":[[483,9]]},"959":{"position":[[52,8]]},"981":{"position":[[18,8],[76,8],[286,9]]},"997":{"position":[[81,8]]},"1000":{"position":[[488,8]]},"1001":{"position":[[257,8]]},"1040":{"position":[[1956,8]]},"1064":{"position":[[313,8]]},"1102":{"position":[[1035,8]]},"1136":{"position":[[2265,8],[2301,8],[2382,9],[4551,8],[4579,8],[4627,8],[4793,8],[4914,8]]},"1138":{"position":[[8213,8],[8241,8],[8289,8],[8455,8],[8576,8]]},"1140":{"position":[[7139,8],[7167,8],[7215,8],[7381,8],[7502,8]]},"1142":{"position":[[2583,8],[2611,8],[2659,8],[2825,8],[2946,8]]},"1146":{"position":[[2523,8],[2551,8],[2599,8],[2765,8],[2886,8]]},"1148":{"position":[[2621,8],[2657,8],[2738,9],[5563,8],[5591,8],[5639,8],[5805,8],[5926,8],[7032,8]]},"1154":{"position":[[103,8],[148,8],[165,8],[210,8]]},"1155":{"position":[[36,8],[79,8],[465,8],[515,9],[2619,8],[2647,8],[2695,8],[2861,8],[2982,8]]},"1156":{"position":[[27,8],[164,8],[2197,8],[2225,8],[2273,8],[2439,8],[2560,8]]},"1167":{"position":[[8143,8],[8171,8],[8219,8],[8385,8],[8506,8]]},"1169":{"position":[[24,8],[1982,8],[2010,8],[2058,8],[2224,8],[2345,8]]},"1185":{"position":[[4,8]]},"1186":{"position":[[573,8],[3787,8],[3815,8],[3863,8],[4029,8],[4150,8]]},"1187":{"position":[[586,8],[3800,8],[3828,8],[3876,8],[4042,8],[4163,8]]},"1188":{"position":[[5312,8],[8526,8],[8554,8],[8602,8],[8768,8],[8889,8]]},"1190":{"position":[[945,8],[960,8]]},"1191":{"position":[[2387,8],[2415,8],[2463,8],[2629,8],[2750,8]]},"1192":{"position":[[2562,8],[2590,8],[2638,8],[2804,8],[2925,8]]},"1193":{"position":[[2614,8],[2642,8],[2690,8],[2856,8],[2977,8]]},"1194":{"position":[[2254,8],[2282,8],[2330,8],[2496,8],[2617,8]]},"1195":{"position":[[2232,8],[2260,8],[2308,8],[2474,8],[2595,8]]},"1196":{"position":[[2042,8],[2070,8],[2118,8],[2284,8],[2405,8]]},"1197":{"position":[[3025,8],[3053,8],[3101,8],[3267,8],[3388,8]]},"1198":{"position":[[3035,8],[3063,8],[3111,8],[3277,8],[3398,8]]},"1199":{"position":[[3063,8],[3091,8],[3139,8],[3305,8],[3426,8]]},"1200":{"position":[[2930,8],[2958,8],[3006,8],[3172,8],[3293,8]]},"1201":{"position":[[2190,8],[2218,8],[2266,8],[2432,8],[2553,8]]},"1202":{"position":[[6,8],[54,8],[114,8],[206,8],[1156,8],[1181,8],[1279,8],[3332,8],[3360,8],[3408,8],[3574,8],[3695,8],[5554,8],[5585,8],[5689,8],[7729,8],[7757,8],[7805,8],[7971,8],[8092,8]]},"1203":{"position":[[2424,8],[2452,8],[2500,8],[2666,8],[2787,8]]},"1204":{"position":[[2268,8],[2296,8],[2344,8],[2510,8],[2631,8]]},"1205":{"position":[[3597,8],[3625,8],[3673,8],[3839,8],[3960,8]]},"1206":{"position":[[2068,8],[2096,8],[2144,8],[2310,8],[2431,8]]},"1207":{"position":[[2225,8],[2253,8],[2301,8],[2467,8],[2588,8]]},"1209":{"position":[[1498,8],[1534,8],[1615,9],[3573,8],[3601,8],[3649,8],[3815,8],[3936,8]]},"1217":{"position":[[6884,8],[6912,8],[6960,8],[7126,8],[7247,8]]},"1219":{"position":[[2870,8],[2898,8],[2946,8],[3112,8],[3233,8]]},"1221":{"position":[[4,8],[45,8],[103,8],[138,8],[181,8]]},"1222":{"position":[[8,8],[46,8],[1994,8],[2022,8],[2070,8],[2236,8],[2357,8]]},"1223":{"position":[[8,8],[51,8],[2004,8],[2032,8],[2080,8],[2246,8],[2367,8]]},"1224":{"position":[[8,8],[244,8],[2184,8],[2212,8],[2260,8],[2426,8],[2547,8]]},"1226":{"position":[[7352,8],[7380,8],[7428,8],[7594,8],[7715,8]]},"1228":{"position":[[8965,8],[8993,8],[9041,8],[9207,8],[9328,8]]},"1235":{"position":[[2758,8],[2794,8],[2875,9],[4833,8],[4861,8],[4909,8],[5075,8],[5196,8]]},"1237":{"position":[[7522,8],[7550,8],[7598,8],[7764,8],[7885,8]]},"1247":{"position":[[86,8],[184,8]]},"1248":{"position":[[11,8]]},"1252":{"position":[[19,8]]},"1254":{"position":[[326,9]]},"1256":{"position":[[46,8]]}},"keywords":{}}],["starlark'",{"_index":1583,"title":{},"content":{"288":{"position":[[172,10]]},"289":{"position":[[192,10]]},"510":{"position":[[198,10]]},"511":{"position":[[218,10]]},"1247":{"position":[[531,10]]},"1249":{"position":[[88,10]]},"1250":{"position":[[27,10]]}},"keywords":{}}],["starlark_",{"_index":2393,"title":{},"content":{"446":{"position":[[371,10]]},"825":{"position":[[371,10]]}},"keywords":{}}],["starlark_rust_intern",{"_index":3344,"title":{"667":{"position":[[0,23]]}},"content":{"667":{"position":[[0,23]]}},"keywords":{}}],["starlarkanontarget",{"_index":825,"title":{},"content":{"33":{"position":[[57,20]]},"189":{"position":[[57,20]]}},"keywords":{}}],["starlarkartifact",{"_index":906,"title":{},"content":{"52":{"position":[[92,16]]},"53":{"position":[[70,16]]},"199":{"position":[[92,16]]},"200":{"position":[[70,16]]},"722":{"position":[[332,18]]}},"keywords":{}}],["starlarkconfiguredattr",{"_index":1509,"title":{},"content":{"276":{"position":[[168,25]]}},"keywords":{}}],["starlarkoutputartifact",{"_index":871,"title":{},"content":{"45":{"position":[[58,22]]},"192":{"position":[[58,22]]}},"keywords":{}}],["starlarkpromiseartifact",{"_index":834,"title":{},"content":{"36":{"position":[[53,23]]},"37":{"position":[[111,24]]},"181":{"position":[[53,23]]},"182":{"position":[[111,24]]}},"keywords":{}}],["starlarkproviderslabel",{"_index":3924,"title":{},"content":{"851":{"position":[[1628,25]]}},"keywords":{}}],["starlarktarget",{"_index":4515,"title":{},"content":{"921":{"position":[[898,15]]}},"keywords":{}}],["starlarktargetnod",{"_index":1730,"title":{},"content":{"311":{"position":[[446,20],[544,20]]}},"keywords":{}}],["starlarkvalue>",{"_index":4343,"title":{},"content":{"898":{"position":[[2190,19],[2405,19]]}},"keywords":{}}],["starlark’",{"_index":6192,"title":{},"content":{"1247":{"position":[[698,10]]}},"keywords":{}}],["start",{"_index":8,"title":{"14":{"position":[[8,7]]},"838":{"position":[[8,7]]}},"content":{"2":{"position":[[8,7],[29,7]]},"15":{"position":[[355,8]]},"17":{"position":[[461,5]]},"18":{"position":[[83,8]]},"22":{"position":[[545,7]]},"362":{"position":[[1899,5]]},"405":{"position":[[2146,5]]},"408":{"position":[[21,5]]},"415":{"position":[[159,7]]},"429":{"position":[[136,7]]},"446":{"position":[[360,5]]},"476":{"position":[[381,5]]},"566":{"position":[[24,6],[154,7],[231,5],[583,5]]},"591":{"position":[[31,6],[187,7]]},"594":{"position":[[30,6],[151,7],[260,5]]},"596":{"position":[[31,6],[182,7]]},"608":{"position":[[148,6]]},"609":{"position":[[148,6]]},"611":{"position":[[31,6],[160,7]]},"612":{"position":[[32,6],[185,7]]},"618":{"position":[[109,6]]},"620":{"position":[[196,5]]},"639":{"position":[[38,6],[339,6]]},"662":{"position":[[592,6],[701,5]]},"715":{"position":[[222,6]]},"741":{"position":[[1899,5]]},"784":{"position":[[2146,5]]},"787":{"position":[[21,5]]},"794":{"position":[[159,7]]},"808":{"position":[[136,7]]},"825":{"position":[[360,5]]},"839":{"position":[[48,5]]},"860":{"position":[[212,5]]},"864":{"position":[[740,6]]},"879":{"position":[[236,6]]},"888":{"position":[[1110,8]]},"892":{"position":[[1359,8]]},"895":{"position":[[25,5]]},"900":{"position":[[158,8]]},"939":{"position":[[23,6]]},"978":{"position":[[98,8]]},"1058":{"position":[[145,8]]},"1079":{"position":[[755,5]]},"1106":{"position":[[62,8]]},"1126":{"position":[[701,7],[758,9]]},"1136":{"position":[[4168,6],[4268,7],[4478,6]]},"1138":{"position":[[7830,6],[7930,7],[8140,6]]},"1140":{"position":[[6756,6],[6856,7],[7066,6]]},"1142":{"position":[[2200,6],[2300,7],[2510,6]]},"1146":{"position":[[2140,6],[2240,7],[2450,6]]},"1148":{"position":[[5180,6],[5280,7],[5490,6]]},"1155":{"position":[[2236,6],[2336,7],[2546,6]]},"1156":{"position":[[1814,6],[1914,7],[2124,6]]},"1167":{"position":[[7760,6],[7860,7],[8070,6]]},"1169":{"position":[[0,5],[1599,6],[1699,7],[1909,6]]},"1186":{"position":[[3404,6],[3504,7],[3714,6]]},"1187":{"position":[[3417,6],[3517,7],[3727,6]]},"1188":{"position":[[8143,6],[8243,7],[8453,6]]},"1191":{"position":[[2004,6],[2104,7],[2314,6]]},"1192":{"position":[[2179,6],[2279,7],[2489,6]]},"1193":{"position":[[2231,6],[2331,7],[2541,6]]},"1194":{"position":[[1871,6],[1971,7],[2181,6]]},"1195":{"position":[[1849,6],[1949,7],[2159,6]]},"1196":{"position":[[1659,6],[1759,7],[1969,6]]},"1197":{"position":[[2642,6],[2742,7],[2952,6]]},"1198":{"position":[[2652,6],[2752,7],[2962,6]]},"1199":{"position":[[2680,6],[2780,7],[2990,6]]},"1200":{"position":[[2547,6],[2647,7],[2857,6]]},"1201":{"position":[[1807,6],[1907,7],[2117,6]]},"1202":{"position":[[2949,6],[3049,7],[3259,6],[7346,6],[7446,7],[7656,6]]},"1203":{"position":[[2041,6],[2141,7],[2351,6]]},"1204":{"position":[[1885,6],[1985,7],[2195,6]]},"1205":{"position":[[388,8],[3214,6],[3314,7],[3524,6]]},"1206":{"position":[[1685,6],[1785,7],[1995,6],[3698,8]]},"1207":{"position":[[1842,6],[1942,7],[2152,6]]},"1209":{"position":[[3190,6],[3290,7],[3500,6]]},"1213":{"position":[[0,6]]},"1217":{"position":[[6501,6],[6601,7],[6811,6]]},"1219":{"position":[[2487,6],[2587,7],[2797,6]]},"1222":{"position":[[1611,6],[1711,7],[1921,6]]},"1223":{"position":[[1621,6],[1721,7],[1931,6]]},"1224":{"position":[[1801,6],[1901,7],[2111,6]]},"1226":{"position":[[6969,6],[7069,7],[7279,6]]},"1228":{"position":[[8582,6],[8682,7],[8892,6]]},"1235":{"position":[[4450,6],[4550,7],[4760,6]]},"1237":{"position":[[7139,6],[7239,7],[7449,6]]},"1249":{"position":[[202,8]]},"1250":{"position":[[213,8]]},"1362":{"position":[[8162,8],[8785,5]]},"1364":{"position":[[9011,8],[9396,5],[9899,5]]},"1367":{"position":[[8250,8],[8873,5]]},"1382":{"position":[[5555,5]]},"1384":{"position":[[10502,5]]},"1385":{"position":[[3469,5]]},"1387":{"position":[[5802,5]]},"1393":{"position":[[6365,5]]},"1397":{"position":[[1710,5],[1755,5],[1804,5],[1819,7],[3004,5]]},"1429":{"position":[[4061,7],[4470,7]]},"1440":{"position":[[4054,7],[4463,7]]},"1454":{"position":[[7406,5]]},"1455":{"position":[[4618,5],[4752,5]]},"1462":{"position":[[7133,6],[8429,6]]},"1467":{"position":[[8102,6],[9911,6]]},"1485":{"position":[[1837,5]]},"1486":{"position":[[898,6],[2262,7],[2415,6],[3807,8]]}},"keywords":{}}],["start.bootbin/release_vari",{"_index":7585,"title":{},"content":{"1397":{"position":[[3131,31]]}},"keywords":{}}],["start.elapsed_milli",{"_index":3970,"title":{},"content":{"860":{"position":[[312,22],[382,22]]}},"keywords":{}}],["start.script",{"_index":7583,"title":{},"content":{"1397":{"position":[[3087,12]]}},"keywords":{}}],["startup",{"_index":7083,"title":{},"content":{"1374":{"position":[[1740,8],[1986,8]]},"1486":{"position":[[720,7]]}},"keywords":{}}],["startup.env",{"_index":8558,"title":{},"content":{"1486":{"position":[[1952,12]]}},"keywords":{}}],["startup.ex",{"_index":8559,"title":{},"content":{"1486":{"position":[[2059,12]]}},"keywords":{}}],["stat",{"_index":5456,"title":{},"content":{"1061":{"position":[[181,4]]},"1126":{"position":[[1057,6]]},"1136":{"position":[[6372,6]]},"1138":{"position":[[10034,6]]},"1140":{"position":[[8960,6]]},"1142":{"position":[[4404,6]]},"1144":{"position":[[732,6]]},"1146":{"position":[[4344,6]]},"1148":{"position":[[7935,6]]},"1150":{"position":[[967,6]]},"1152":{"position":[[665,6]]},"1154":{"position":[[820,6]]},"1155":{"position":[[4440,6]]},"1156":{"position":[[4018,6]]},"1157":{"position":[[603,6]]},"1158":{"position":[[597,6]]},"1159":{"position":[[597,6]]},"1161":{"position":[[1592,6]]},"1163":{"position":[[978,6]]},"1165":{"position":[[807,6]]},"1167":{"position":[[9964,6]]},"1169":{"position":[[3072,6]]},"1171":{"position":[[548,5],[1313,6]]},"1172":{"position":[[2698,6]]},"1173":{"position":[[1385,6]]},"1174":{"position":[[813,6]]},"1175":{"position":[[809,6]]},"1176":{"position":[[978,6]]},"1177":{"position":[[899,6]]},"1178":{"position":[[1216,6]]},"1179":{"position":[[8,5],[1013,6]]},"1180":{"position":[[1284,6]]},"1181":{"position":[[1804,6]]},"1182":{"position":[[847,6]]},"1183":{"position":[[802,6]]},"1185":{"position":[[647,6]]},"1186":{"position":[[5608,6]]},"1187":{"position":[[5621,6]]},"1188":{"position":[[10347,6]]},"1190":{"position":[[1978,6]]},"1191":{"position":[[4208,6]]},"1192":{"position":[[4383,6]]},"1193":{"position":[[4435,6]]},"1194":{"position":[[4075,6]]},"1195":{"position":[[4053,6]]},"1196":{"position":[[3863,6]]},"1197":{"position":[[4846,6]]},"1198":{"position":[[4856,6]]},"1199":{"position":[[4884,6]]},"1200":{"position":[[4751,6]]},"1201":{"position":[[4011,6]]},"1202":{"position":[[755,6],[5153,6],[9550,6]]},"1203":{"position":[[4245,6]]},"1204":{"position":[[4089,6],[4991,6],[5921,6],[6823,6],[7809,6],[8763,6],[9710,6],[10640,6]]},"1205":{"position":[[5418,6]]},"1206":{"position":[[4117,6]]},"1207":{"position":[[4046,6]]},"1209":{"position":[[5394,6]]},"1211":{"position":[[718,6]]},"1213":{"position":[[489,6]]},"1215":{"position":[[573,6]]},"1217":{"position":[[8705,6]]},"1219":{"position":[[3960,6]]},"1221":{"position":[[692,6]]},"1222":{"position":[[3831,6]]},"1223":{"position":[[3841,6]]},"1224":{"position":[[3274,6]]},"1226":{"position":[[216,5],[9173,6]]},"1228":{"position":[[10786,6]]},"1235":{"position":[[6654,6]]},"1237":{"position":[[386,5],[9343,6]]}},"keywords":{}}],["state",{"_index":3794,"title":{"717":{"position":[[0,5]]},"719":{"position":[[0,5]]},"721":{"position":[[0,5]]},"723":{"position":[[0,5]]},"725":{"position":[[0,5]]},"1077":{"position":[[8,6]]}},"content":{"716":{"position":[[80,7],[112,6]]},"937":{"position":[[1016,6],[1091,6],[1175,6],[1473,5]]},"1050":{"position":[[3820,5],[4401,5],[4514,5],[4713,5]]},"1077":{"position":[[36,5]]},"1078":{"position":[[250,6]]},"1079":{"position":[[195,6],[393,5]]},"1136":{"position":[[3521,5],[3582,5],[3902,6],[3976,7]]},"1138":{"position":[[7183,5],[7244,5],[7564,6],[7638,7]]},"1140":{"position":[[6109,5],[6170,5],[6490,6],[6564,7]]},"1142":{"position":[[496,5],[566,5],[1553,5],[1614,5],[1934,6],[2008,7]]},"1146":{"position":[[1493,5],[1554,5],[1874,6],[1948,7]]},"1148":{"position":[[4533,5],[4594,5],[4914,6],[4988,7]]},"1155":{"position":[[1589,5],[1650,5],[1970,6],[2044,7]]},"1156":{"position":[[1167,5],[1228,5],[1548,6],[1622,7]]},"1163":{"position":[[201,5]]},"1167":{"position":[[7113,5],[7174,5],[7494,6],[7568,7]]},"1169":{"position":[[952,5],[1013,5],[1333,6],[1407,7]]},"1186":{"position":[[2757,5],[2818,5],[3138,6],[3212,7]]},"1187":{"position":[[2770,5],[2831,5],[3151,6],[3225,7]]},"1188":{"position":[[7496,5],[7557,5],[7877,6],[7951,7]]},"1191":{"position":[[1357,5],[1418,5],[1738,6],[1812,7]]},"1192":{"position":[[1532,5],[1593,5],[1913,6],[1987,7]]},"1193":{"position":[[1584,5],[1645,5],[1965,6],[2039,7]]},"1194":{"position":[[1224,5],[1285,5],[1605,6],[1679,7]]},"1195":{"position":[[1202,5],[1263,5],[1583,6],[1657,7]]},"1196":{"position":[[1012,5],[1073,5],[1393,6],[1467,7]]},"1197":{"position":[[1995,5],[2056,5],[2376,6],[2450,7]]},"1198":{"position":[[2005,5],[2066,5],[2386,6],[2460,7]]},"1199":{"position":[[2033,5],[2094,5],[2414,6],[2488,7]]},"1200":{"position":[[1900,5],[1961,5],[2281,6],[2355,7]]},"1201":{"position":[[1160,5],[1221,5],[1541,6],[1615,7]]},"1202":{"position":[[2302,5],[2363,5],[2683,6],[2757,7],[6699,5],[6760,5],[7080,6],[7154,7]]},"1203":{"position":[[1394,5],[1455,5],[1775,6],[1849,7]]},"1204":{"position":[[1238,5],[1299,5],[1619,6],[1693,7]]},"1205":{"position":[[2567,5],[2628,5],[2948,6],[3022,7]]},"1206":{"position":[[1038,5],[1099,5],[1419,6],[1493,7]]},"1207":{"position":[[1195,5],[1256,5],[1576,6],[1650,7]]},"1209":{"position":[[2543,5],[2604,5],[2924,6],[2998,7]]},"1215":{"position":[[92,5]]},"1217":{"position":[[5854,5],[5915,5],[6235,6],[6309,7]]},"1219":{"position":[[1840,5],[1901,5],[2221,6],[2295,7]]},"1222":{"position":[[964,5],[1025,5],[1345,6],[1419,7]]},"1223":{"position":[[974,5],[1035,5],[1355,6],[1429,7]]},"1224":{"position":[[1154,5],[1215,5],[1535,6],[1609,7]]},"1226":{"position":[[6322,5],[6383,5],[6703,6],[6777,7]]},"1228":{"position":[[7935,5],[7996,5],[8316,6],[8390,7]]},"1235":{"position":[[3803,5],[3864,5],[4184,6],[4258,7]]},"1237":{"position":[[6492,5],[6553,5],[6873,6],[6947,7]]},"1243":{"position":[[151,5],[304,5],[403,6],[454,6]]},"1244":{"position":[[118,5]]},"1245":{"position":[[62,6]]},"1351":{"position":[[4771,5]]},"1486":{"position":[[5807,6]]}},"keywords":{}}],["state"",{"_index":5308,"title":{},"content":{"1050":{"position":[[3999,12]]}},"keywords":{}}],["state.as_output",{"_index":5309,"title":{},"content":{"1050":{"position":[[4012,19]]}},"keywords":{}}],["state.linker_extra_output",{"_index":7301,"title":{},"content":{"1387":{"position":[[6973,27]]}},"keywords":{}}],["statement",{"_index":383,"title":{"1058":{"position":[[0,9]]}},"content":{"11":{"position":[[595,9]]},"92":{"position":[[1878,11]]},"224":{"position":[[1878,11]]},"638":{"position":[[182,9]]},"663":{"position":[[174,9]]},"693":{"position":[[5923,10]]},"833":{"position":[[431,10]]},"860":{"position":[[465,10]]},"888":{"position":[[1232,10]]},"890":{"position":[[751,10],[879,10],[3223,10],[5677,9],[5950,10]]},"901":{"position":[[137,9]]},"902":{"position":[[160,9]]},"946":{"position":[[511,10],[693,11]]},"1040":{"position":[[1980,11]]},"1056":{"position":[[1094,9]]},"1058":{"position":[[41,10],[419,10],[623,9],[751,9],[1141,9],[1179,9],[1217,10],[1262,10],[1359,9]]},"1148":{"position":[[7455,10]]},"1186":{"position":[[1007,10]]},"1187":{"position":[[1020,10]]},"1188":{"position":[[5746,10]]},"1247":{"position":[[240,10]]},"1362":{"position":[[7636,10],[9652,10]]},"1364":{"position":[[7875,10],[10766,10]]},"1367":{"position":[[9740,10]]},"1402":{"position":[[1798,10]]}},"keywords":{}}],["statement.bytecod",{"_index":5363,"title":{},"content":{"1056":{"position":[[1163,19]]}},"keywords":{}}],["states",{"_index":5773,"title":{},"content":{"1120":{"position":[[562,7]]}},"keywords":{}}],["static",{"_index":727,"title":{},"content":{"23":{"position":[[1440,11]]},"890":{"position":[[2339,10],[4936,10]]},"1104":{"position":[[921,6],[1018,6]]},"1355":{"position":[[6331,6]]},"1362":{"position":[[10714,10],[10755,7]]},"1364":{"position":[[11681,10],[11722,7]]},"1373":{"position":[[5231,10],[5272,7]]},"1382":{"position":[[3204,6],[7583,10],[7624,7]]},"1383":{"position":[[4022,10],[4061,6],[4122,10]]},"1384":{"position":[[13647,10],[13688,7],[20557,6]]},"1387":{"position":[[6707,10],[6748,7],[6908,6]]},"1388":{"position":[[8452,10],[8493,7]]},"1405":{"position":[[3002,10],[3065,7]]},"1407":{"position":[[3423,10],[3486,7],[4033,6]]},"1410":{"position":[[4004,10],[4067,7],[5565,6]]},"1415":{"position":[[2641,6]]},"1416":{"position":[[2879,10],[2920,7]]},"1421":{"position":[[2350,10]]},"1427":{"position":[[1876,6],[5504,6]]},"1439":{"position":[[2162,6],[7413,6]]},"1453":{"position":[[1996,9]]},"1454":{"position":[[8250,6],[8566,6],[9165,6],[9243,6],[9845,6]]},"1455":{"position":[[3711,6],[3884,6],[4106,6],[4287,6]]},"1467":{"position":[[10675,6]]},"1471":{"position":[[3846,10],[3887,7]]},"1472":{"position":[[3317,10],[3358,7],[4430,10],[4471,7]]},"1473":{"position":[[4167,10],[4208,7]]},"1485":{"position":[[4738,6]]}},"keywords":{}}],["static)flag",{"_index":7179,"title":{},"content":{"1383":{"position":[[3984,12]]}},"keywords":{}}],["static_dep_runtime_ld_flag",{"_index":7406,"title":{},"content":{"1389":{"position":[[3951,28]]}},"keywords":{}}],["static_extension_find",{"_index":8313,"title":{},"content":{"1462":{"position":[[3976,24]]},"1467":{"position":[[4496,24]]}},"keywords":{}}],["static_extension_util",{"_index":8314,"title":{},"content":{"1462":{"position":[[4010,23]]},"1467":{"position":[[4530,23]]}},"keywords":{}}],["static_interfac",{"_index":7881,"title":{},"content":{"1421":{"position":[[2447,17]]}},"keywords":{}}],["static_lib",{"_index":7876,"title":{},"content":{"1421":{"position":[[876,12],[2529,11]]},"1454":{"position":[[2207,11],[8491,10],[9932,10]]},"1455":{"position":[[867,12],[3957,11],[4678,11],[4812,11]]}},"keywords":{}}],["static_library_basenam",{"_index":6770,"title":{},"content":{"1362":{"position":[[4202,24]]},"1364":{"position":[[4187,24]]},"1367":{"position":[[5697,24]]},"1384":{"position":[[3804,24]]},"1387":{"position":[[3736,24]]}},"keywords":{}}],["static_library_extens",{"_index":7407,"title":{},"content":{"1389":{"position":[[3995,25]]}},"keywords":{}}],["static_link",{"_index":8199,"title":{},"content":{"1455":{"position":[[895,12],[3734,11],[4595,11]]}},"keywords":{}}],["static_p",{"_index":6810,"title":{},"content":{"1362":{"position":[[10763,10]]},"1364":{"position":[[11730,10]]},"1373":{"position":[[5280,10]]},"1382":{"position":[[7632,10]]},"1384":{"position":[[13696,10]]},"1387":{"position":[[6756,10]]},"1388":{"position":[[8501,10]]},"1405":{"position":[[3073,10]]},"1407":{"position":[[3494,10]]},"1410":{"position":[[4075,10]]},"1416":{"position":[[2928,10]]},"1471":{"position":[[3895,10]]},"1472":{"position":[[3366,10],[4479,10]]},"1473":{"position":[[4216,10]]}},"keywords":{}}],["static_pic_dep_runtime_ld_flag",{"_index":7408,"title":{},"content":{"1389":{"position":[[4030,32]]}},"keywords":{}}],["static_pic_lib",{"_index":8153,"title":{},"content":{"1454":{"position":[[2235,15],[8811,14],[9959,14]]},"1455":{"position":[[923,16],[4364,15]]}},"keywords":{}}],["static_pic_link",{"_index":8200,"title":{},"content":{"1455":{"position":[[955,16],[4129,15],[4725,15]]}},"keywords":{}}],["static_runtime_path",{"_index":8504,"title":{},"content":{"1481":{"position":[[1131,21]]}},"keywords":{}}],["statist",{"_index":5449,"title":{},"content":{"1061":{"position":[[25,13]]},"1171":{"position":[[814,10]]},"1183":{"position":[[19,10]]},"1226":{"position":[[228,10]]},"1237":{"position":[[398,10]]}},"keywords":{}}],["statu",{"_index":5446,"title":{"1214":{"position":[[0,6]]},"1215":{"position":[[5,7]]}},"content":{"1060":{"position":[[282,6]]},"1136":{"position":[[6154,7],[6364,7]]},"1138":{"position":[[9816,7],[10026,7]]},"1140":{"position":[[8742,7],[8952,7]]},"1142":{"position":[[4186,7],[4396,7]]},"1144":{"position":[[514,7],[724,7]]},"1146":{"position":[[4126,7],[4336,7]]},"1148":{"position":[[7717,7],[7927,7]]},"1150":{"position":[[749,7],[959,7]]},"1152":{"position":[[447,7],[657,7]]},"1154":{"position":[[602,7],[812,7]]},"1155":{"position":[[4222,7],[4432,7]]},"1156":{"position":[[3800,7],[4010,7]]},"1157":{"position":[[385,7],[595,7]]},"1158":{"position":[[379,7],[589,7]]},"1159":{"position":[[379,7],[589,7]]},"1161":{"position":[[1374,7],[1584,7]]},"1163":{"position":[[760,7],[970,7]]},"1165":{"position":[[589,7],[799,7]]},"1167":{"position":[[9746,7],[9956,7]]},"1169":{"position":[[2854,7],[3064,7]]},"1171":{"position":[[1095,7],[1305,7]]},"1172":{"position":[[2480,7],[2690,7]]},"1173":{"position":[[1167,7],[1377,7]]},"1174":{"position":[[595,7],[805,7]]},"1175":{"position":[[591,7],[801,7]]},"1176":{"position":[[760,7],[970,7]]},"1177":{"position":[[681,7],[891,7]]},"1178":{"position":[[998,7],[1208,7]]},"1179":{"position":[[795,7],[1005,7]]},"1180":{"position":[[1066,7],[1276,7]]},"1181":{"position":[[1586,7],[1796,7]]},"1182":{"position":[[629,7],[839,7]]},"1183":{"position":[[584,7],[794,7]]},"1185":{"position":[[429,7],[639,7]]},"1186":{"position":[[5390,7],[5600,7]]},"1187":{"position":[[5403,7],[5613,7]]},"1188":{"position":[[10129,7],[10339,7]]},"1190":{"position":[[1760,7],[1970,7]]},"1191":{"position":[[3990,7],[4200,7]]},"1192":{"position":[[4165,7],[4375,7]]},"1193":{"position":[[4217,7],[4427,7]]},"1194":{"position":[[3857,7],[4067,7]]},"1195":{"position":[[3835,7],[4045,7]]},"1196":{"position":[[3645,7],[3855,7]]},"1197":{"position":[[4628,7],[4838,7]]},"1198":{"position":[[4638,7],[4848,7]]},"1199":{"position":[[4666,7],[4876,7]]},"1200":{"position":[[4533,7],[4743,7]]},"1201":{"position":[[3793,7],[4003,7]]},"1202":{"position":[[537,7],[747,7],[4935,7],[5145,7],[9332,7],[9542,7]]},"1203":{"position":[[4027,7],[4237,7]]},"1204":{"position":[[3871,7],[4081,7],[4773,7],[4983,7],[5703,7],[5913,7],[6605,7],[6815,7],[7591,7],[7801,7],[8545,7],[8755,7],[9492,7],[9702,7],[10422,7],[10632,7]]},"1205":{"position":[[5200,7],[5410,7]]},"1206":{"position":[[3899,7],[4109,7]]},"1207":{"position":[[3828,7],[4038,7]]},"1209":{"position":[[5176,7],[5386,7]]},"1211":{"position":[[500,7],[710,7]]},"1213":{"position":[[271,7],[481,7]]},"1215":{"position":[[6,6],[34,6],[144,6],[355,7],[565,7]]},"1217":{"position":[[8487,7],[8697,7]]},"1219":{"position":[[3742,7],[3952,7]]},"1221":{"position":[[474,7],[684,7]]},"1222":{"position":[[3613,7],[3823,7]]},"1223":{"position":[[3623,7],[3833,7]]},"1224":{"position":[[3056,7],[3266,7]]},"1226":{"position":[[8955,7],[9165,7]]},"1228":{"position":[[10568,7],[10778,7]]},"1235":{"position":[[6436,7],[6646,7]]},"1237":{"position":[[9125,7],[9335,7]]},"1355":{"position":[[5328,7]]},"1382":{"position":[[4461,7]]},"1388":{"position":[[5155,7]]},"1442":{"position":[[1451,7]]}},"keywords":{}}],["std",{"_index":5992,"title":{},"content":{"1172":{"position":[[1906,3],[2250,3]]},"1429":{"position":[[5551,3],[5654,3]]},"1440":{"position":[[5543,3],[5646,3]]}},"keywords":{}}],["std::cout",{"_index":549,"title":{},"content":{"18":{"position":[[480,9]]}},"keywords":{}}],["std::endl",{"_index":553,"title":{},"content":{"18":{"position":[[552,10]]}},"keywords":{}}],["std_err",{"_index":5993,"title":{},"content":{"1172":{"position":[[1924,7],[2162,7],[2281,7]]}},"keywords":{}}],["std_err_log_level",{"_index":7812,"title":{},"content":{"1413":{"position":[[1565,18]]},"1429":{"position":[[2083,18],[5497,18]]},"1440":{"position":[[2237,18],[5489,18]]},"1470":{"position":[[2759,18]]},"1475":{"position":[[1561,18]]}},"keywords":{}}],["std_out_log_level",{"_index":7813,"title":{},"content":{"1413":{"position":[[1606,18]]},"1429":{"position":[[2124,18],[5524,18],[5560,18]]},"1440":{"position":[[2278,18],[5516,18],[5552,18]]},"1470":{"position":[[2800,18]]},"1475":{"position":[[1602,18]]}},"keywords":{}}],["stdcxx",{"_index":7285,"title":{},"content":{"1386":{"position":[[6101,6]]}},"keywords":{}}],["stderr",{"_index":863,"title":{},"content":{"41":{"position":[[785,6]]},"42":{"position":[[32,6]]},"174":{"position":[[785,6]]},"175":{"position":[[32,6]]},"305":{"position":[[308,6]]},"346":{"position":[[376,6]]},"347":{"position":[[412,6]]},"833":{"position":[[409,7]]},"1112":{"position":[[3272,6],[3293,7]]},"1136":{"position":[[6264,7],[6315,8]]},"1138":{"position":[[9926,7],[9977,8]]},"1140":{"position":[[8852,7],[8903,8]]},"1142":{"position":[[4296,7],[4347,8]]},"1144":{"position":[[624,7],[675,8]]},"1146":{"position":[[4236,7],[4287,8]]},"1148":{"position":[[7827,7],[7878,8]]},"1150":{"position":[[859,7],[910,8]]},"1152":{"position":[[557,7],[608,8]]},"1154":{"position":[[712,7],[763,8]]},"1155":{"position":[[4332,7],[4383,8]]},"1156":{"position":[[3910,7],[3961,8]]},"1157":{"position":[[495,7],[546,8]]},"1158":{"position":[[489,7],[540,8]]},"1159":{"position":[[489,7],[540,8]]},"1161":{"position":[[1484,7],[1535,8]]},"1163":{"position":[[870,7],[921,8]]},"1165":{"position":[[699,7],[750,8]]},"1167":{"position":[[295,7],[9856,7],[9907,8]]},"1169":{"position":[[2964,7],[3015,8]]},"1171":{"position":[[1205,7],[1256,8]]},"1172":{"position":[[2590,7],[2641,8]]},"1173":{"position":[[1277,7],[1328,8]]},"1174":{"position":[[705,7],[756,8]]},"1175":{"position":[[701,7],[752,8]]},"1176":{"position":[[870,7],[921,8]]},"1177":{"position":[[791,7],[842,8]]},"1178":{"position":[[1108,7],[1159,8]]},"1179":{"position":[[905,7],[956,8]]},"1180":{"position":[[1176,7],[1227,8]]},"1181":{"position":[[1696,7],[1747,8]]},"1182":{"position":[[739,7],[790,8]]},"1183":{"position":[[694,7],[745,8]]},"1185":{"position":[[539,7],[590,8]]},"1186":{"position":[[5500,7],[5551,8]]},"1187":{"position":[[5513,7],[5564,8]]},"1188":{"position":[[10239,7],[10290,8]]},"1190":{"position":[[1870,7],[1921,8]]},"1191":{"position":[[4100,7],[4151,8]]},"1192":{"position":[[4275,7],[4326,8]]},"1193":{"position":[[4327,7],[4378,8]]},"1194":{"position":[[3967,7],[4018,8]]},"1195":{"position":[[3945,7],[3996,8]]},"1196":{"position":[[3755,7],[3806,8]]},"1197":{"position":[[4738,7],[4789,8]]},"1198":{"position":[[4748,7],[4799,8]]},"1199":{"position":[[4776,7],[4827,8]]},"1200":{"position":[[4643,7],[4694,8]]},"1201":{"position":[[3903,7],[3954,8]]},"1202":{"position":[[647,7],[698,8],[5045,7],[5096,8],[9442,7],[9493,8]]},"1203":{"position":[[4137,7],[4188,8]]},"1204":{"position":[[3981,7],[4032,8],[4883,7],[4934,8],[5813,7],[5864,8],[6715,7],[6766,8],[7701,7],[7752,8],[8655,7],[8706,8],[9602,7],[9653,8],[10532,7],[10583,8]]},"1205":{"position":[[5310,7],[5361,8]]},"1206":{"position":[[4009,7],[4060,8]]},"1207":{"position":[[3938,7],[3989,8]]},"1209":{"position":[[5286,7],[5337,8]]},"1211":{"position":[[610,7],[661,8]]},"1213":{"position":[[381,7],[432,8]]},"1215":{"position":[[465,7],[516,8]]},"1217":{"position":[[8597,7],[8648,8]]},"1219":{"position":[[3852,7],[3903,8]]},"1221":{"position":[[584,7],[635,8]]},"1222":{"position":[[3723,7],[3774,8]]},"1223":{"position":[[3733,7],[3784,8]]},"1224":{"position":[[3166,7],[3217,8]]},"1226":{"position":[[9065,7],[9116,8]]},"1228":{"position":[[2470,6],[2531,6],[2575,7],[2598,6],[2743,6],[10678,7],[10729,8]]},"1235":{"position":[[6546,7],[6597,8]]},"1237":{"position":[[9235,7],[9286,8]]}},"keywords":{}}],["stderr=filepath",{"_index":6089,"title":{},"content":{"1228":{"position":[[2621,15]]}},"keywords":{}}],["stderrbuild",{"_index":4091,"title":{},"content":{"877":{"position":[[242,13]]}},"keywords":{}}],["stdin",{"_index":5767,"title":{"1239":{"position":[[7,5]]}},"content":{"1120":{"position":[[155,5],[286,6]]},"1219":{"position":[[107,7],[191,8]]},"1224":{"position":[[82,5]]},"1486":{"position":[[972,5],[3800,6],[4221,6],[4989,6]]}},"keywords":{}}],["stdlib",{"_index":1688,"title":{},"content":{"305":{"position":[[323,6]]},"346":{"position":[[391,6]]},"347":{"position":[[427,6]]},"833":{"position":[[281,7]]}},"keywords":{}}],["stdout",{"_index":868,"title":{},"content":{"43":{"position":[[32,6]]},"176":{"position":[[32,6]]},"305":{"position":[[80,7],[200,6]]},"346":{"position":[[107,7],[206,6]]},"347":{"position":[[110,6],[304,6]]},"377":{"position":[[686,7]]},"756":{"position":[[686,7]]},"833":{"position":[[35,6],[195,6],[344,6]]},"840":{"position":[[1675,7]]},"869":{"position":[[537,7]]},"1052":{"position":[[352,7]]},"1112":{"position":[[3332,6],[3353,7]]},"1138":{"position":[[1289,7],[1553,6]]},"1140":{"position":[[1042,6]]},"1167":{"position":[[2046,6]]},"1188":{"position":[[1095,6]]},"1190":{"position":[[589,6]]},"1196":{"position":[[33,6]]},"1217":{"position":[[787,6]]},"1219":{"position":[[119,8],[226,9]]},"1224":{"position":[[215,7]]},"1226":{"position":[[4916,7]]},"1228":{"position":[[1942,6],[2003,6],[2047,7],[2070,6],[2219,6],[2868,6]]},"1237":{"position":[[5086,7]]},"1486":{"position":[[982,6],[4017,7],[4688,6],[5061,6]]}},"keywords":{}}],["stdout/stderr",{"_index":5759,"title":{},"content":{"1116":{"position":[[29,13]]}},"keywords":{}}],["stdout=filepath",{"_index":6085,"title":{},"content":{"1228":{"position":[[2093,15]]}},"keywords":{}}],["stdutil",{"_index":8184,"title":{},"content":{"1454":{"position":[[9757,10]]}},"keywords":{}}],["step",{"_index":569,"title":{},"content":{"18":{"position":[[851,4]]},"23":{"position":[[1646,5]]},"662":{"position":[[33,5],[351,5],[640,5],[693,4],[783,4]]},"706":{"position":[[181,5],[752,5],[964,4],[1296,4],[1488,6]]},"724":{"position":[[1299,5]]},"872":{"position":[[1038,5]]},"888":{"position":[[457,5]]},"892":{"position":[[581,5],[1371,4],[2002,5]]},"904":{"position":[[1328,5]]},"1029":{"position":[[328,5]]},"1048":{"position":[[959,4],[1278,4]]},"1373":{"position":[[2892,4]]},"1386":{"position":[[4496,5],[5398,5]]}},"keywords":{}}],["sthat",{"_index":2772,"title":{},"content":{"591":{"position":[[499,5]]}},"keywords":{}}],["stick",{"_index":3447,"title":{},"content":{"688":{"position":[[1200,5]]},"924":{"position":[[969,5]]}},"keywords":{}}],["still",{"_index":651,"title":{"1256":{"position":[[2,5]]}},"content":{"22":{"position":[[746,5]]},"23":{"position":[[3138,5]]},"24":{"position":[[1070,5]]},"66":{"position":[[221,5]]},"89":{"position":[[1066,5]]},"221":{"position":[[1066,5]]},"429":{"position":[[644,5]]},"454":{"position":[[221,5]]},"706":{"position":[[1445,5]]},"808":{"position":[[644,5]]},"832":{"position":[[489,5]]},"947":{"position":[[1171,5]]},"961":{"position":[[399,5]]},"965":{"position":[[329,5]]},"990":{"position":[[436,5]]},"1017":{"position":[[958,5],[992,5]]},"1035":{"position":[[291,5]]},"1093":{"position":[[256,5]]},"1098":{"position":[[457,5],[798,5]]},"1105":{"position":[[2041,5]]},"1138":{"position":[[2953,5]]},"1140":{"position":[[2442,5]]},"1167":{"position":[[3446,5]]},"1188":{"position":[[2495,5]]},"1217":{"position":[[2187,5]]},"1228":{"position":[[4268,5]]},"1256":{"position":[[7,5]]},"1360":{"position":[[1530,5]]},"1363":{"position":[[6196,5]]},"1473":{"position":[[3984,5]]}},"keywords":{}}],["stop",{"_index":3293,"title":{},"content":{"662":{"position":[[269,5],[288,5],[323,5],[345,5],[511,5],[550,5],[634,5],[739,5]]},"1180":{"position":[[324,5]]}},"keywords":{}}],["stopgap",{"_index":4574,"title":{},"content":{"933":{"position":[[177,7]]}},"keywords":{}}],["storag",{"_index":3806,"title":{},"content":{"724":{"position":[[1015,8],[1237,7]]},"890":{"position":[[159,7]]},"1345":{"position":[[267,7]]},"1459":{"position":[[2221,8]]}},"keywords":{}}],["storage.src",{"_index":8106,"title":{},"content":{"1446":{"position":[[2248,13]]}},"keywords":{}}],["store",{"_index":1512,"title":{},"content":{"276":{"position":[[538,5]]},"277":{"position":[[486,5]]},"281":{"position":[[627,5]]},"282":{"position":[[577,5]]},"345":{"position":[[883,6]]},"386":{"position":[[467,6]]},"570":{"position":[[15,6]]},"638":{"position":[[1137,5]]},"663":{"position":[[1159,6]]},"688":{"position":[[1425,7]]},"724":{"position":[[1202,6]]},"765":{"position":[[467,6]]},"887":{"position":[[117,7]]},"901":{"position":[[1113,6]]},"902":{"position":[[1122,5]]},"916":{"position":[[61,6]]},"962":{"position":[[93,7]]},"966":{"position":[[259,7]]},"980":{"position":[[1585,6]]},"1102":{"position":[[29,6]]},"1112":{"position":[[2717,6]]},"1253":{"position":[[618,5]]},"1359":{"position":[[952,6]]},"1361":{"position":[[657,6]]},"1365":{"position":[[893,5]]},"1383":{"position":[[5731,7]]},"1388":{"position":[[5009,7],[6419,7]]},"1393":{"position":[[5805,6]]},"1438":{"position":[[503,6],[1995,6]]},"1467":{"position":[[6772,7]]}},"keywords":{}}],["str",{"_index":807,"title":{"668":{"position":[[0,4]]}},"content":{"26":{"position":[[26,3]]},"29":{"position":[[25,3]]},"31":{"position":[[31,3]]},"36":{"position":[[31,4]]},"40":{"position":[[48,4]]},"41":{"position":[[47,4],[68,3]]},"42":{"position":[[23,3]]},"43":{"position":[[23,3]]},"46":{"position":[[19,3]]},"47":{"position":[[20,3]]},"50":{"position":[[28,4]]},"51":{"position":[[21,3]]},"55":{"position":[[26,4]]},"57":{"position":[[30,3]]},"59":{"position":[[30,3]]},"60":{"position":[[33,3]]},"63":{"position":[[61,3]]},"79":{"position":[[37,4]]},"84":{"position":[[62,4]]},"85":{"position":[[63,4],[76,4],[91,4]]},"86":{"position":[[61,4]]},"87":{"position":[[57,4]]},"88":{"position":[[58,4]]},"89":{"position":[[36,4],[51,3]]},"91":{"position":[[64,4],[74,4],[105,3],[130,3],[157,3]]},"94":{"position":[[142,3],[284,4],[308,3],[449,3],[812,3],[836,3],[1151,5]]},"95":{"position":[[61,4]]},"96":{"position":[[64,4]]},"98":{"position":[[56,4],[184,3]]},"99":{"position":[[61,4],[225,3]]},"106":{"position":[[12,3]]},"109":{"position":[[12,3]]},"110":{"position":[[15,3]]},"116":{"position":[[33,4]]},"125":{"position":[[22,3]]},"126":{"position":[[56,3]]},"127":{"position":[[36,3]]},"128":{"position":[[38,3]]},"129":{"position":[[89,3]]},"130":{"position":[[53,3]]},"131":{"position":[[194,3]]},"132":{"position":[[93,3]]},"133":{"position":[[79,3]]},"134":{"position":[[83,3]]},"135":{"position":[[35,3]]},"136":{"position":[[37,3]]},"137":{"position":[[58,3]]},"138":{"position":[[90,3]]},"139":{"position":[[53,3]]},"140":{"position":[[60,3]]},"141":{"position":[[49,3]]},"142":{"position":[[24,3]]},"143":{"position":[[37,3]]},"144":{"position":[[84,3]]},"145":{"position":[[70,3]]},"146":{"position":[[100,3]]},"147":{"position":[[53,3]]},"148":{"position":[[88,3]]},"149":{"position":[[94,3]]},"150":{"position":[[52,3]]},"151":{"position":[[51,3]]},"155":{"position":[[22,3]]},"156":{"position":[[22,3]]},"161":{"position":[[30,3]]},"163":{"position":[[19,3]]},"164":{"position":[[19,3]]},"165":{"position":[[22,3]]},"166":{"position":[[50,3]]},"170":{"position":[[22,3]]},"171":{"position":[[31,3]]},"173":{"position":[[48,4]]},"174":{"position":[[47,4],[68,3]]},"175":{"position":[[23,3]]},"176":{"position":[[23,3]]},"178":{"position":[[26,3]]},"181":{"position":[[31,4]]},"185":{"position":[[25,3]]},"187":{"position":[[31,3]]},"193":{"position":[[19,3]]},"194":{"position":[[20,3]]},"197":{"position":[[28,4]]},"198":{"position":[[21,3]]},"202":{"position":[[26,4]]},"207":{"position":[[31,3]]},"216":{"position":[[62,4]]},"217":{"position":[[63,4],[76,4],[91,4]]},"218":{"position":[[61,4]]},"219":{"position":[[57,4]]},"220":{"position":[[58,4]]},"221":{"position":[[36,4],[51,3]]},"223":{"position":[[64,4],[74,4],[105,3],[130,3],[157,3]]},"226":{"position":[[142,3],[284,4],[308,3],[449,3],[812,3],[836,3],[1151,5]]},"227":{"position":[[61,4]]},"228":{"position":[[64,4]]},"230":{"position":[[56,4],[184,3]]},"231":{"position":[[61,4],[225,3]]},"236":{"position":[[152,3],[360,3]]},"237":{"position":[[152,3],[360,3]]},"238":{"position":[[40,4],[52,4],[174,3],[382,3]]},"239":{"position":[[146,3],[354,3],[416,3]]},"240":{"position":[[35,4]]},"242":{"position":[[124,4]]},"243":{"position":[[42,4],[71,3]]},"248":{"position":[[22,3]]},"249":{"position":[[56,3]]},"250":{"position":[[36,3]]},"251":{"position":[[38,3]]},"252":{"position":[[89,3]]},"253":{"position":[[53,3]]},"254":{"position":[[194,3]]},"255":{"position":[[93,3]]},"256":{"position":[[79,3]]},"257":{"position":[[83,3]]},"258":{"position":[[35,3]]},"259":{"position":[[37,3]]},"260":{"position":[[58,3]]},"261":{"position":[[90,3]]},"262":{"position":[[53,3]]},"263":{"position":[[60,3]]},"264":{"position":[[49,3]]},"265":{"position":[[24,3]]},"266":{"position":[[37,3]]},"267":{"position":[[84,3]]},"268":{"position":[[70,3]]},"269":{"position":[[100,3]]},"270":{"position":[[53,3]]},"271":{"position":[[88,3]]},"272":{"position":[[94,3]]},"273":{"position":[[52,3]]},"274":{"position":[[51,3]]},"279":{"position":[[47,4]]},"283":{"position":[[36,3]]},"284":{"position":[[36,3]]},"291":{"position":[[19,3]]},"292":{"position":[[19,3]]},"294":{"position":[[142,3],[302,3],[347,3]]},"295":{"position":[[48,3]]},"297":{"position":[[139,3],[299,3],[344,3],[389,3]]},"298":{"position":[[97,3],[183,3],[277,3],[363,3],[415,3],[497,3],[565,3]]},"299":{"position":[[34,3]]},"301":{"position":[[126,3],[260,3],[308,3]]},"302":{"position":[[48,3]]},"304":{"position":[[37,4]]},"307":{"position":[[29,3]]},"308":{"position":[[37,4]]},"309":{"position":[[123,3],[257,3],[302,3]]},"310":{"position":[[97,3],[183,3]]},"311":{"position":[[75,3],[143,3]]},"314":{"position":[[67,4],[78,3]]},"315":{"position":[[58,4]]},"316":{"position":[[58,4]]},"317":{"position":[[59,4]]},"318":{"position":[[57,4]]},"319":{"position":[[68,4],[79,3]]},"320":{"position":[[59,4],[113,3],[181,3]]},"322":{"position":[[36,4]]},"324":{"position":[[120,3],[254,3],[361,3],[495,3]]},"325":{"position":[[40,4],[52,4],[148,3],[282,3]]},"326":{"position":[[50,4],[62,4],[158,3],[292,3]]},"327":{"position":[[124,3],[258,3]]},"328":{"position":[[120,3],[254,3],[316,3]]},"329":{"position":[[35,4]]},"330":{"position":[[37,4],[133,3],[267,3]]},"331":{"position":[[121,3],[255,3]]},"332":{"position":[[35,4],[131,3],[265,3]]},"333":{"position":[[41,4],[53,4],[149,3],[283,3]]},"334":{"position":[[47,3],[181,3],[315,3]]},"335":{"position":[[121,3],[255,3],[364,3],[498,3]]},"336":{"position":[[120,3],[254,3],[361,3],[495,3]]},"337":{"position":[[122,3],[256,3]]},"338":{"position":[[151,3],[285,3]]},"340":{"position":[[69,3],[137,3]]},"345":{"position":[[219,3]]},"346":{"position":[[39,3]]},"362":{"position":[[753,3],[863,5]]},"363":{"position":[[98,4],[585,4]]},"368":{"position":[[238,3],[3202,3]]},"374":{"position":[[530,3]]},"377":{"position":[[147,3],[302,5],[1506,4]]},"379":{"position":[[28,4],[289,3]]},"386":{"position":[[133,3]]},"397":{"position":[[29,4]]},"400":{"position":[[107,3]]},"403":{"position":[[79,3]]},"405":{"position":[[135,3],[383,3],[524,3],[541,3],[559,3],[575,3],[633,3],[659,3],[818,4],[823,5],[845,4],[850,4]]},"414":{"position":[[26,3]]},"415":{"position":[[26,3]]},"416":{"position":[[104,3]]},"417":{"position":[[163,3]]},"420":{"position":[[34,4]]},"423":{"position":[[17,4]]},"425":{"position":[[25,3]]},"427":{"position":[[22,3]]},"429":{"position":[[25,4],[35,4]]},"430":{"position":[[31,3]]},"431":{"position":[[28,4]]},"432":{"position":[[35,4]]},"433":{"position":[[31,4],[41,4],[62,3],[91,3]]},"434":{"position":[[18,4]]},"435":{"position":[[23,4],[28,4],[33,4]]},"436":{"position":[[28,3]]},"437":{"position":[[111,3]]},"438":{"position":[[22,4]]},"443":{"position":[[49,4]]},"445":{"position":[[16,4],[30,3]]},"446":{"position":[[26,4],[40,4]]},"447":{"position":[[58,5]]},"450":{"position":[[15,4]]},"451":{"position":[[30,4]]},"462":{"position":[[38,3]]},"463":{"position":[[38,3]]},"465":{"position":[[67,3],[135,3],[189,3],[257,3]]},"466":{"position":[[40,4],[52,4],[95,3],[163,3]]},"467":{"position":[[50,4],[62,4],[105,3],[173,3]]},"468":{"position":[[71,3],[139,3]]},"469":{"position":[[67,3],[135,3],[197,3]]},"470":{"position":[[35,4]]},"471":{"position":[[37,4],[80,3],[148,3]]},"472":{"position":[[68,3],[136,3]]},"473":{"position":[[35,4],[78,3],[146,3]]},"474":{"position":[[47,3]]},"475":{"position":[[68,3],[136,3],[192,3],[260,3]]},"476":{"position":[[67,3],[135,3],[189,3],[257,3]]},"477":{"position":[[62,3]]},"478":{"position":[[69,3],[137,3]]},"480":{"position":[[19,3]]},"483":{"position":[[22,3]]},"486":{"position":[[30,3]]},"488":{"position":[[30,3]]},"489":{"position":[[33,3]]},"492":{"position":[[61,3]]},"508":{"position":[[37,4]]},"516":{"position":[[33,4]]},"518":{"position":[[12,3]]},"521":{"position":[[12,3]]},"522":{"position":[[15,3]]},"528":{"position":[[25,4]]},"539":{"position":[[22,3]]},"540":{"position":[[22,3]]},"545":{"position":[[19,3]]},"546":{"position":[[19,3]]},"547":{"position":[[22,3]]},"548":{"position":[[50,3]]},"550":{"position":[[22,3]]},"551":{"position":[[31,3]]},"589":{"position":[[30,3]]},"591":{"position":[[26,4]]},"593":{"position":[[28,3]]},"594":{"position":[[25,4]]},"595":{"position":[[41,3]]},"596":{"position":[[26,4]]},"604":{"position":[[56,3]]},"605":{"position":[[25,3]]},"606":{"position":[[25,3],[43,3]]},"607":{"position":[[29,4],[43,5],[49,4],[54,4]]},"608":{"position":[[32,4],[46,3]]},"609":{"position":[[32,4],[46,3]]},"610":{"position":[[25,4],[35,4],[66,3]]},"611":{"position":[[26,4]]},"612":{"position":[[27,4]]},"613":{"position":[[30,4],[44,5],[50,4],[55,4]]},"614":{"position":[[31,3]]},"615":{"position":[[25,3],[43,3]]},"616":{"position":[[30,3]]},"618":{"position":[[30,3]]},"619":{"position":[[24,3],[42,3]]},"620":{"position":[[25,3]]},"621":{"position":[[25,3]]},"632":{"position":[[47,3]]},"634":{"position":[[25,3]]},"635":{"position":[[24,3]]},"638":{"position":[[16,4]]},"644":{"position":[[34,3]]},"645":{"position":[[22,4]]},"646":{"position":[[21,4]]},"647":{"position":[[12,4]]},"648":{"position":[[32,3]]},"656":{"position":[[11,4]]},"659":{"position":[[22,3]]},"661":{"position":[[21,3],[31,4]]},"663":{"position":[[267,4]]},"664":{"position":[[21,3]]},"668":{"position":[[20,3],[25,4]]},"671":{"position":[[21,3]]},"741":{"position":[[753,3],[863,5]]},"742":{"position":[[98,4],[585,4]]},"747":{"position":[[238,3],[3202,3]]},"753":{"position":[[530,3]]},"756":{"position":[[147,3],[302,5],[1506,4]]},"758":{"position":[[28,4],[289,3]]},"765":{"position":[[133,3]]},"776":{"position":[[29,4]]},"779":{"position":[[107,3]]},"782":{"position":[[79,3]]},"784":{"position":[[135,3],[383,3],[524,3],[541,3],[559,3],[575,3],[633,3],[659,3],[818,4],[823,5],[845,4],[850,4]]},"793":{"position":[[26,3]]},"794":{"position":[[26,3]]},"795":{"position":[[104,3]]},"796":{"position":[[163,3]]},"799":{"position":[[34,4]]},"802":{"position":[[17,4]]},"804":{"position":[[25,3]]},"806":{"position":[[22,3]]},"808":{"position":[[25,4],[35,4]]},"809":{"position":[[31,3]]},"810":{"position":[[28,4]]},"811":{"position":[[35,4]]},"812":{"position":[[31,4],[41,4],[62,3],[91,3]]},"813":{"position":[[18,4]]},"814":{"position":[[23,4],[28,4],[33,4]]},"815":{"position":[[28,3]]},"816":{"position":[[111,3]]},"817":{"position":[[22,4]]},"822":{"position":[[49,4]]},"824":{"position":[[16,4],[30,3]]},"825":{"position":[[26,4],[40,4]]},"826":{"position":[[58,5]]},"829":{"position":[[15,4]]},"830":{"position":[[30,4]]},"890":{"position":[[2194,4]]},"900":{"position":[[571,3],[892,4]]},"901":{"position":[[229,4]]},"981":{"position":[[235,4]]},"1001":{"position":[[87,4],[1206,4]]},"1052":{"position":[[472,5],[478,4]]},"1064":{"position":[[52,4],[1198,4]]},"1065":{"position":[[50,4]]},"1082":{"position":[[741,5]]},"1083":{"position":[[575,5]]},"1104":{"position":[[2409,4]]},"1112":{"position":[[131,4],[657,5],[885,5],[2796,4],[3241,4],[3301,4],[3361,4],[3461,4],[3788,4],[3847,4],[4634,4],[4746,4],[4950,4]]},"1124":{"position":[[318,4],[361,4]]},"1126":{"position":[[375,4]]},"1348":{"position":[[26,4],[63,3],[308,3],[345,4],[371,3],[508,3],[599,3],[643,3],[797,3],[875,3],[1003,3],[1255,3],[1278,3],[1332,5],[1383,3],[1434,3],[1465,3],[1493,4],[1519,3],[1605,3],[1648,3],[2049,3],[2170,3],[2316,3],[2374,3],[2427,3],[2473,3],[2582,3]]},"1349":{"position":[[37,4],[74,3],[319,3],[356,4],[594,3],[658,3]]},"1350":{"position":[[29,4],[66,3],[311,3],[348,4],[374,3],[399,3],[423,3],[560,3],[668,3],[688,3],[866,3],[1083,3],[1161,3],[1239,3],[1439,3],[1493,3],[1542,3],[1607,3],[1653,3],[2007,4],[2135,3],[2215,3],[2367,3],[2420,3],[2463,3],[3006,3],[3127,3],[3173,3],[3218,3],[3333,3],[3433,3],[3502,3],[3542,3]]},"1351":{"position":[[35,4],[72,3],[317,3],[354,4],[455,3],[485,3],[549,3],[615,3],[667,3]]},"1352":{"position":[[29,4],[66,3],[311,3],[348,4],[374,3],[399,3],[423,3],[560,3],[668,3],[688,3],[866,3],[1083,3],[1161,3],[1239,3],[1310,3],[1438,3],[1492,3],[1541,3],[1606,3],[1652,3],[2006,4],[2134,3],[2214,3],[2366,3],[2419,3],[2462,3],[3005,3],[3126,3],[3172,3],[3217,3],[3332,3],[3432,3],[3501,3],[3541,3]]},"1353":{"position":[[42,4],[79,3],[324,3],[361,4],[387,3],[411,3],[548,3],[568,3],[582,4],[608,3],[700,3],[740,3],[911,3],[946,3],[1144,3],[1189,3]]},"1354":{"position":[[43,4],[80,3],[325,3],[362,4],[387,3],[414,3],[445,3],[471,3],[485,4],[511,3],[635,3],[689,4],[744,4],[792,3],[845,3],[961,4],[1007,5],[1048,4]]},"1355":{"position":[[30,4],[67,3],[312,3],[349,4],[448,3],[472,3],[537,3],[565,3],[656,3],[745,3],[899,3],[963,3],[1212,3],[1242,3],[1265,3],[1333,5],[1384,3],[1435,3],[1466,3],[1496,3],[1586,3],[1643,3],[1710,3],[1821,3],[1879,3],[1932,3],[1978,3],[2060,3]]},"1356":{"position":[[31,4],[68,3],[313,3],[350,4],[381,3],[445,3],[533,3]]},"1357":{"position":[[31,4],[68,3],[321,4],[346,4],[372,3],[409,4]]},"1358":{"position":[[35,4],[72,3],[317,3],[354,4],[453,3],[477,3],[503,3],[517,4],[543,3],[607,3],[713,3],[791,3],[859,3]]},"1359":{"position":[[31,4],[68,3],[313,3],[350,4],[453,3],[469,4],[500,3],[564,3],[694,3],[719,3],[751,3],[780,3],[801,3],[817,4]]},"1360":{"position":[[26,4],[63,3],[308,3],[345,4],[405,3],[434,3],[460,3],[481,3],[533,3],[555,3],[585,3],[634,3],[659,3],[723,3],[841,3],[891,3],[973,3],[1004,3],[1085,3],[1204,5],[1243,4],[1259,3]]},"1361":{"position":[[34,4],[71,3],[324,4],[351,3],[381,3],[445,3],[519,3]]},"1362":{"position":[[27,4],[64,3],[317,4],[345,3],[368,3],[397,3],[436,3],[622,5],[693,3],[723,3],[844,3],[883,3],[917,3],[946,4],[1026,4],[1173,3],[1206,3],[1268,3],[1317,4],[1619,6],[2026,3],[2118,3],[2154,3],[2194,4],[2240,3],[2349,3],[2394,4],[2752,3],[2780,3],[2812,3],[2842,3],[2860,5],[2866,4],[2878,3],[2902,6],[2982,3],[3013,3],[3041,3],[3184,3],[3371,6],[3528,5],[3670,3],[3733,3],[3764,3],[3846,3],[4153,3],[4179,5],[4234,3],[4304,3],[4379,3],[4452,3],[4483,3],[4519,3]]},"1363":{"position":[[27,4],[64,3],[317,4],[345,3],[368,3],[397,3],[436,3],[476,3],[556,3],[601,3],[641,3],[696,3],[728,3],[1151,3],[1185,3],[1387,3],[1417,3],[1446,3],[1512,3],[1543,3],[1655,3],[1689,3],[1792,4],[1974,4],[2066,4],[2143,3],[2187,5],[2223,3],[2253,3],[2300,3],[2345,3],[2377,3],[2413,3],[2450,3],[2796,3]]},"1364":{"position":[[28,4],[65,3],[318,4],[346,3],[369,3],[398,3],[437,3],[675,5],[710,3],[740,3],[861,3],[900,3],[934,3],[963,4],[1043,4],[1188,3],[1250,3],[1299,4],[1601,6],[2008,3],[2095,3],[2129,3],[2165,3],[2205,4],[2251,3],[2360,3],[2405,4],[2763,3],[2791,3],[2823,3],[2853,3],[2871,5],[2877,4],[2889,3],[2913,6],[2978,3],[3006,3],[3149,3],[3336,6],[3493,5],[3635,3],[3663,3],[3694,3],[3776,3],[3833,4],[4114,3],[4138,3],[4164,5],[4219,3],[4289,3],[4446,3],[4519,3],[4550,3],[4586,3]]},"1365":{"position":[[28,4],[65,3],[318,4],[342,3],[375,4],[394,4],[420,3],[437,4],[497,3],[531,3],[545,3],[653,3],[679,3],[753,5]]},"1366":{"position":[[29,4],[66,3],[319,4],[350,3],[389,3],[557,3],[586,3]]},"1367":{"position":[[25,4],[62,3],[315,4],[343,3],[366,3],[395,3],[434,3],[474,3],[554,3],[599,3],[654,3],[686,3],[1103,3],[1135,3],[1169,3],[1200,3],[1270,3],[1304,3],[1568,5],[1594,3],[1627,3],[1657,3],[1754,3],[1785,3],[1875,3],[1914,3],[1948,3],[1977,4],[2041,4],[2100,4],[2271,3],[2302,4],[2336,3],[2398,3],[2447,4],[2749,6],[3050,4],[3217,3],[3309,3],[3345,3],[3385,4],[3431,3],[3580,4],[3672,4],[4052,3],[4080,3],[4112,3],[4142,3],[4160,5],[4166,4],[4178,3],[4202,6],[4267,3],[4288,3],[4431,3],[4618,6],[4775,5],[4917,3],[4945,3],[4976,3],[5058,3],[5103,3],[5307,3],[5343,3],[5398,3],[5601,3],[5625,3],[5648,3],[5674,5],[5729,3],[5845,3],[5920,3],[5993,3],[6024,3],[6060,3],[6091,3],[6139,4],[6174,3],[6308,3],[6582,3]]},"1368":{"position":[[30,4],[67,3],[320,4],[362,3],[398,3],[415,4],[434,3],[464,3],[495,3],[514,4],[538,4],[579,3],[673,4],[693,4],[728,3],[760,3],[779,4],[802,3],[856,4],[872,3],[913,4],[949,4],[967,3],[989,3],[1004,4],[1025,3],[1059,3],[1090,3],[1163,3],[1182,3],[1208,3],[1241,3],[1266,3],[1305,3],[1404,3],[1435,3],[1452,3]]},"1369":{"position":[[34,4],[71,3],[324,4],[388,3],[452,3]]},"1370":{"position":[[41,4],[78,3],[331,4],[359,3],[382,3],[446,3],[467,4],[496,3]]},"1371":{"position":[[32,4],[69,3],[322,4],[346,3],[376,3]]},"1372":{"position":[[29,4],[66,3],[319,4],[347,3],[370,3],[399,3],[438,3],[478,3],[558,3],[603,3],[658,3],[690,3],[1116,3],[1150,3],[1289,3],[1319,3],[1354,3],[1385,3],[1525,3],[1545,3],[1651,4],[1743,4],[1789,3],[1878,3],[1900,4]]},"1373":{"position":[[26,4],[63,3],[316,4],[393,3],[418,3],[442,3],[463,3],[487,3],[593,3],[718,3],[757,3],[791,3],[820,4],[870,3],[922,3],[955,3],[1041,3],[1195,3],[1235,4],[1281,3],[1692,3],[1724,3],[1754,3],[1772,5],[1778,4],[1790,3],[1814,6],[1876,3],[1972,3],[2002,3],[2158,6],[2315,5],[2457,3],[2523,3],[2612,5],[2680,3]]},"1374":{"position":[[28,4],[65,3],[318,4],[343,3],[369,3],[420,3],[484,3],[508,4],[530,3],[611,4]]},"1375":{"position":[[29,4],[66,3],[319,4],[350,3],[411,4]]},"1376":{"position":[[34,4],[71,3],[324,4],[342,4],[368,3]]},"1377":{"position":[[31,4],[68,3],[321,4],[339,4],[365,3],[400,5],[406,4],[471,3],[504,3],[578,3]]},"1378":{"position":[[33,4],[70,3],[323,4],[354,3]]},"1379":{"position":[[31,4],[68,3],[321,4],[352,3],[381,3]]},"1380":{"position":[[30,4],[67,3],[320,4],[351,3],[415,3],[487,3],[502,3]]},"1381":{"position":[[29,4],[66,3],[319,4],[348,3],[378,3],[473,3],[513,3],[537,4],[611,4]]},"1382":{"position":[[25,4],[62,3],[315,4],[337,3],[362,3],[553,3],[583,3],[766,3],[805,3],[839,3],[868,4],[918,3],[1066,3],[1173,3],[1234,3],[1274,4],[1320,3],[1746,3],[1774,3],[1838,3],[1868,3],[1886,5],[1892,4],[1904,3],[1928,6],[2058,3],[2089,3],[2117,3],[2361,6],[2518,5],[2660,3],[2726,3],[2831,4],[2858,5],[2926,3]]},"1383":{"position":[[26,4],[63,3],[316,4],[377,3],[401,3],[430,3],[483,3],[513,3],[562,3],[587,3],[651,3],[769,3],[851,3],[882,3],[963,3],[1082,5],[1121,4],[1144,3]]},"1384":{"position":[[26,4],[63,3],[316,4],[338,3],[363,3],[500,3],[530,3],[707,3],[746,3],[780,3],[809,4],[859,3],[917,4],[951,3],[1013,3],[1062,4],[1415,6],[1822,3],[1909,3],[1943,3],[1983,4],[2029,3],[2502,3],[2530,3],[2562,3],[2592,3],[2610,5],[2616,4],[2628,3],[2652,6],[2717,3],[2745,3],[2904,3],[3060,6],[3217,5],[3359,3],[3422,3],[3453,3],[3702,4],[3755,3],[3781,5],[3836,3],[3879,3],[4229,3]]},"1385":{"position":[[32,4],[69,3],[322,4],[352,3],[382,3],[472,3],[511,3],[545,3],[574,4],[629,3],[690,3],[730,4],[776,3],[1348,6],[1505,5],[1647,3],[1678,3],[1767,5],[1815,3]]},"1386":{"position":[[37,4],[74,3],[327,4],[358,3],[422,3],[505,4],[535,3]]},"1387":{"position":[[35,4],[72,3],[325,4],[347,3],[372,3],[400,3],[426,3],[574,3],[607,3],[637,3],[814,3],[853,3],[887,3],[916,4],[996,4],[1030,3],[1092,3],[1141,4],[1494,6],[1901,3],[1993,3],[2033,4],[2079,3],[2504,3],[2536,3],[2566,3],[2584,5],[2590,4],[2602,3],[2626,6],[2691,3],[2719,3],[2871,3],[3027,6],[3184,5],[3326,3],[3354,3],[3385,3],[3634,4],[3687,3],[3713,5],[3768,3],[3869,3],[3958,3],[4123,3]]},"1388":{"position":[[23,4],[60,3],[313,4],[335,3],[360,3],[387,3],[430,3],[686,3],[716,3],[899,3],[938,3],[972,3],[1001,4],[1051,3],[1190,4],[1224,3],[1331,3],[1358,3],[1419,3],[1459,4],[1505,3],[1931,3],[1959,3],[2023,3],[2053,3],[2071,5],[2077,4],[2089,3],[2113,6],[2243,3],[2274,3],[2302,3],[2546,6],[2703,5],[2845,3],[2911,3],[3008,3],[3044,3],[3065,5],[3083,5],[3140,3],[3182,4],[3247,5],[3393,3]]},"1389":{"position":[[28,4],[65,3],[318,4],[350,3],[391,3],[413,3],[432,3],[462,3],[488,3],[515,3],[534,4],[623,4],[649,3],[719,3],[753,3],[831,3],[851,4],[919,3],[1009,3],[1041,3],[1075,3],[1129,3],[1150,4],[1260,3],[1351,3],[1412,3],[1524,3],[1555,3],[1627,3],[1660,3],[1733,3],[1809,3],[1874,4],[1990,3],[2085,3],[2124,3],[2195,3],[2373,3],[2437,3],[2507,3],[2618,3],[2687,3],[2726,4],[2773,4],[2796,3],[2815,3],[2848,3],[2861,4],[2904,4],[2964,3],[2996,3],[3020,3],[3043,3],[3081,3],[3115,3],[3146,3],[3291,3],[3349,3],[3417,3],[3689,3],[3776,3],[3827,3],[3867,4],[3915,3],[3942,3],[4021,3],[4085,4],[4283,3]]},"1390":{"position":[[23,4],[60,3],[313,4],[344,3],[408,3],[543,4]]},"1391":{"position":[[24,4],[61,3],[314,4],[345,3],[409,3],[544,4]]},"1392":{"position":[[21,4],[58,3],[311,4],[342,3],[406,3],[541,4]]},"1393":{"position":[[25,4],[62,3],[315,4],[337,3],[362,3],[421,3],[506,4],[614,3],[757,5],[804,4],[999,3],[1032,3],[1065,3]]},"1394":{"position":[[34,4],[71,3],[324,4],[346,3],[373,4],[399,3],[506,4]]},"1395":{"position":[[29,4],[66,3],[319,4],[341,3],[371,3],[557,3],[591,4],[647,3]]},"1396":{"position":[[34,4],[71,3],[324,4],[355,3],[394,4],[405,4],[419,4],[472,4]]},"1397":{"position":[[29,4],[66,3],[319,4],[341,3],[375,5],[381,6],[409,3],[554,4],[621,3],[639,3]]},"1398":{"position":[[26,4],[63,3],[316,4],[352,3],[371,3],[390,3],[411,3],[434,3],[461,3],[482,3],[511,3],[577,3],[612,4],[712,4],[833,4],[853,3],[918,3],[954,3],[975,5],[993,5],[1094,3]]},"1399":{"position":[[26,4],[63,3],[316,4],[347,3],[411,3],[481,3],[502,3],[523,3]]},"1400":{"position":[[35,4],[72,3],[325,4],[343,4],[369,3],[433,3]]},"1401":{"position":[[24,4],[61,3],[314,4],[345,3],[425,3],[510,4]]},"1402":{"position":[[23,4],[60,3],[305,3],[342,4],[367,3],[393,3],[408,4],[460,3],[524,3],[567,3]]},"1403":{"position":[[22,4],[59,3],[312,4],[372,3],[401,3],[454,3],[484,3],[533,3],[558,3],[622,3],[715,4],[765,3],[876,3],[907,3],[988,3],[1107,5],[1146,4],[1169,3]]},"1404":{"position":[[24,4],[61,3],[314,4],[341,3],[371,3],[435,3],[498,4],[508,3]]},"1405":{"position":[[24,4],[61,3],[314,4],[356,3],[377,3],[401,3],[518,3],[643,3],[690,3],[803,3],[831,3],[890,3],[916,3]]},"1406":{"position":[[34,4],[71,3],[324,4],[349,3],[373,3],[403,3]]},"1407":{"position":[[34,4],[71,3],[324,4],[366,3],[387,3],[411,3],[528,3],[549,4],[670,3],[717,3],[830,3],[858,3],[917,3],[943,3]]},"1408":{"position":[[25,4],[62,3],[315,4],[423,3],[444,3],[468,3],[569,3],[664,3],[711,3],[819,3],[849,3]]},"1409":{"position":[[24,4],[61,3],[314,4],[414,3],[438,3],[507,3]]},"1410":{"position":[[22,4],[59,3],[312,4],[362,3],[386,3],[407,3],[431,3],[458,3],[518,3],[563,3],[641,3],[758,3],[797,3],[844,3],[868,4],[955,3],[1007,3],[1035,3],[1094,3],[1124,3],[1150,3],[1200,3],[1236,3],[1257,5],[1275,5],[1332,3],[1413,3],[1436,3]]},"1411":{"position":[[29,4],[66,3],[319,4],[350,3],[414,3],[494,3]]},"1412":{"position":[[29,4],[66,3],[319,4],[528,3],[592,3],[784,3],[807,3],[886,3],[916,3],[1006,3],[1063,3],[1222,3],[1275,3],[1321,3],[1403,3]]},"1413":{"position":[[26,4],[63,3],[316,4],[525,3],[626,3],[665,3],[714,3],[738,4],[900,3],[930,3],[953,3],[1032,3],[1062,3],[1152,3],[1209,3],[1368,3],[1452,3],[1498,3],[1597,3],[1638,3],[1662,3],[1765,3]]},"1414":{"position":[[25,4],[62,3],[315,4],[340,3],[366,3],[396,3],[460,3],[717,3]]},"1415":{"position":[[29,4],[66,3],[319,4],[350,3],[491,5],[552,3],[591,3],[625,3],[654,4],[704,3],[763,3],[819,3],[877,3],[911,3],[951,4],[997,3],[1408,3],[1440,3],[1470,3],[1488,5],[1494,4],[1506,3],[1530,6],[1592,3],[1814,6],[1971,5],[2113,3],[2179,3],[2268,5],[2325,3],[2379,3]]},"1416":{"position":[[29,4],[66,3],[319,4],[345,3],[374,3],[432,3],[527,3],[576,3],[839,3],[869,3],[887,5],[893,4],[905,3],[929,6],[1009,3],[1037,3],[1088,3],[1114,3],[1245,4]]},"1417":{"position":[[27,4],[64,3],[317,4],[343,3],[372,3],[402,3],[497,3],[546,3],[643,3],[670,3],[773,3],[933,4]]},"1418":{"position":[[30,4],[67,3],[320,4],[346,3],[375,3],[405,3],[469,3],[518,3],[622,3]]},"1419":{"position":[[26,4],[63,3],[316,4],[346,3],[376,3],[471,3],[520,3],[661,4],[712,3],[792,4]]},"1420":{"position":[[30,4],[67,3],[320,4],[346,3],[375,3],[405,3],[500,3],[794,3],[916,3],[953,4]]},"1421":{"position":[[39,4],[76,3],[329,4],[360,3],[430,4],[465,3],[648,3],[866,4],[913,3]]},"1422":{"position":[[27,4],[64,3],[317,4],[348,3],[412,3],[457,3],[526,3],[548,3],[572,3],[602,3],[652,3]]},"1423":{"position":[[24,4],[61,3],[314,4],[345,3],[409,3],[507,3],[529,3],[553,3]]},"1424":{"position":[[26,4],[63,3],[316,4],[381,3],[407,3],[460,3],[490,3],[539,3],[564,3],[628,3],[710,3],[792,3],[823,3],[963,5],[1002,4],[1025,3]]},"1425":{"position":[[40,4],[77,3],[330,4],[396,3],[460,3],[618,3]]},"1426":{"position":[[26,4],[63,3],[316,4],[376,3],[441,3],[497,3],[560,3],[599,3],[798,3],[829,3],[865,3]]},"1427":{"position":[[27,4],[64,3],[317,4],[416,3],[440,3],[505,3],[596,3],[750,3],[814,3],[971,3],[1001,3],[1024,3],[1103,3],[1133,3],[1223,3],[1280,3],[1439,3],[1492,3],[1538,3],[1620,3]]},"1428":{"position":[[26,4],[63,3],[316,4],[382,3],[446,3],[600,3]]},"1429":{"position":[[24,4],[61,3],[314,4],[374,3],[401,3],[471,3],[497,3],[540,3],[631,3],[785,3],[886,3],[925,3],[974,3],[998,4],[1120,3],[1155,3],[1177,3],[1235,3],[1258,3],[1337,3],[1367,3],[1457,3],[1514,3],[1578,3],[1614,3],[1635,5],[1653,5],[1710,3],[1839,3],[1894,3],[1947,3],[1993,3],[2053,3],[2115,3],[2156,3],[2180,3],[2257,3],[2322,3],[2364,3]]},"1430":{"position":[[31,4],[68,3],[321,4],[413,3],[567,3],[631,3],[783,3],[806,3],[875,3],[906,3],[936,3],[1026,3],[1083,3],[1242,3],[1295,3],[1341,3],[1423,3]]},"1431":{"position":[[24,4],[61,3],[306,3],[343,4],[387,3],[420,3],[450,3],[479,3],[523,5],[589,3],[626,3],[662,3],[706,3],[771,3]]},"1432":{"position":[[32,4],[69,3],[322,4],[382,3],[411,3],[454,3],[507,3],[537,3],[566,3],[610,5],[661,3],[686,3],[750,3],[832,3],[852,4],[930,3],[961,3],[1101,5],[1248,4],[1264,3]]},"1433":{"position":[[25,4],[62,3],[315,4],[359,3],[437,3],[543,3],[573,3],[637,3],[686,3],[714,3],[788,5],[794,5],[813,3]]},"1434":{"position":[[27,4],[64,3],[317,4],[345,3],[375,3],[466,4]]},"1435":{"position":[[32,4],[69,3],[322,4],[350,3],[380,3],[399,4],[439,5],[451,3]]},"1436":{"position":[[28,4],[65,3],[318,4],[346,3],[376,3],[420,4]]},"1437":{"position":[[25,4],[62,3],[315,4],[343,3],[370,3],[400,3],[516,4]]},"1438":{"position":[[23,4],[60,3],[313,4],[344,3],[408,3],[498,4],[510,3]]},"1439":{"position":[[29,4],[66,3],[319,4],[418,3],[442,3],[507,3],[535,3],[626,3],[670,3],[824,3],[888,3],[1137,3],[1167,3],[1190,3],[1258,5],[1339,3],[1369,3],[1459,3],[1516,3],[1675,3],[1728,3],[1774,3],[1856,3]]},"1440":{"position":[[26,4],[63,3],[316,4],[376,3],[403,3],[473,3],[499,3],[527,3],[570,3],[661,3],[705,3],[859,3],[960,3],[999,3],[1048,3],[1072,4],[1234,3],[1308,3],[1366,3],[1389,3],[1457,5],[1538,3],[1568,3],[1658,3],[1715,3],[1779,3],[1815,3],[1836,5],[1854,5],[1911,3],[2040,3],[2124,3],[2170,3],[2269,3],[2310,3],[2334,3],[2411,3],[2476,3],[2518,3]]},"1441":{"position":[[31,4],[68,3],[321,4],[352,3],[416,3],[489,3]]},"1442":{"position":[[32,4],[69,3],[322,4],[348,3],[378,3],[427,3],[453,5]]},"1443":{"position":[[25,4],[62,3],[315,4],[346,3],[410,3],[501,3],[541,3],[572,3],[598,3],[674,3]]},"1444":{"position":[[26,4],[63,3],[316,4],[346,3],[376,3],[440,3],[589,4]]},"1445":{"position":[[29,4],[66,3],[319,4],[348,3],[378,3],[393,3]]},"1446":{"position":[[26,4],[63,3],[316,4],[347,3],[411,3]]},"1447":{"position":[[28,4],[65,3],[318,4],[349,3],[403,3],[427,4],[462,3],[528,4],[561,3]]},"1448":{"position":[[27,4],[64,3],[317,4],[343,3],[370,3],[400,3],[527,3],[682,3],[873,4],[906,3]]},"1449":{"position":[[28,4],[65,3],[318,4],[344,3],[371,3],[401,3],[521,3],[815,4],[848,3]]},"1450":{"position":[[27,4],[64,3],[317,4],[343,3],[370,3],[400,3],[527,3],[682,3],[820,4],[853,3]]},"1451":{"position":[[27,4],[64,3],[317,4],[343,3],[370,3],[400,3],[527,3],[682,3],[820,4],[853,3]]},"1452":{"position":[[23,4],[60,3],[313,4],[344,3]]},"1453":{"position":[[39,4],[76,3],[329,4],[357,3],[380,3],[439,3],[503,3],[649,3],[778,3],[848,3]]},"1454":{"position":[[35,4],[72,3],[325,4],[351,3],[377,3],[444,3],[532,3],[615,3],[664,4],[966,6],[1393,3],[1444,3],[1787,5],[1837,5],[1887,5],[1941,5],[2005,3],[2174,3],[2198,3],[2226,3],[2258,3],[2301,3],[2500,5],[2607,5],[2705,5],[2796,5],[2865,5],[2933,5],[2939,5],[2995,5],[3001,5],[3053,5],[3059,5],[3115,5],[3121,5],[3181,5],[3187,5]]},"1455":{"position":[[41,4],[78,3],[331,4],[357,3],[387,3],[451,3],[630,4],[796,4],[829,4],[1021,3]]},"1456":{"position":[[38,4],[75,3],[328,4],[348,4],[374,3],[438,3]]},"1457":{"position":[[34,4],[71,3],[324,4],[355,3],[419,3],[511,4],[562,3]]},"1458":{"position":[[27,4],[64,3],[317,4],[416,3],[440,3],[474,3],[495,4],[521,3],[585,3],[688,3],[766,3],[877,3]]},"1459":{"position":[[38,4],[75,3],[328,4],[359,3],[423,3],[561,3]]},"1460":{"position":[[37,4],[74,3],[327,4],[358,3],[420,3],[532,3],[582,3],[623,3],[642,3],[725,3]]},"1461":{"position":[[38,4],[75,3],[328,4],[371,3],[412,3],[431,3],[459,3],[480,4],[506,3],[628,3]]},"1462":{"position":[[28,4],[65,3],[318,4],[361,3],[382,3],[407,3],[431,3],[488,3],[514,3],[641,3],[734,3],[764,3],[985,3],[1015,3],[1049,3],[1136,3],[1170,3],[1199,4],[1249,3],[1357,3],[1460,3],[1538,3],[1594,3],[1655,3],[1695,4],[1741,3],[2202,3],[2230,3],[2294,3],[2324,3],[2342,5],[2348,4],[2360,3],[2384,6],[2514,3],[2545,3],[2566,3],[2676,3],[2707,3],[2736,3],[2769,3],[2889,3],[2955,3],[2982,3],[3008,3],[3164,6],[3372,5],[3514,3],[3622,3],[3732,3],[3787,3],[3860,4],[3928,4],[4001,3],[4034,3],[4057,3],[4154,3]]},"1463":{"position":[[38,4],[75,3],[328,4],[353,3],[391,3],[428,3],[458,3],[494,3]]},"1464":{"position":[[39,4],[76,3],[329,4],[360,3]]},"1465":{"position":[[29,4],[66,3],[319,4],[362,3],[403,3],[428,3],[456,3],[485,3],[515,3],[570,3],[609,3],[781,3],[886,6],[946,6],[995,3],[1037,4],[1075,4],[1119,4],[1172,3],[1225,5],[1253,6],[1304,5],[1332,6]]},"1466":{"position":[[42,4],[79,3],[332,4],[360,3],[403,3],[433,3],[482,4],[543,4],[555,5],[591,3],[627,3],[648,5],[666,5],[723,3],[738,3]]},"1467":{"position":[[26,4],[63,3],[316,4],[359,3],[380,3],[405,3],[429,3],[456,3],[484,3],[527,3],[553,3],[574,3],[708,3],[801,3],[831,3],[1052,3],[1082,3],[1116,3],[1203,3],[1237,3],[1266,4],[1316,3],[1424,3],[1486,4],[1596,3],[1674,3],[1730,3],[1791,3],[1831,4],[1877,3],[1916,3],[2377,3],[2405,3],[2469,3],[2499,3],[2517,5],[2523,4],[2535,3],[2559,6],[2689,3],[2720,3],[2741,3],[2860,3],[2889,3],[2922,3],[3042,3],[3079,4],[3091,5],[3159,3],[3186,3],[3212,3],[3368,6],[3592,6],[3641,5],[3783,3],[3891,3],[4001,3],[4063,3],[4099,3],[4120,5],[4138,5],[4195,3],[4222,3],[4295,4],[4348,3],[4387,4],[4411,3],[4448,4],[4521,3],[4554,3],[4577,3],[4712,3],[4765,5],[4793,6],[4844,5],[4872,6]]},"1468":{"position":[[33,4],[70,3],[323,4],[354,3],[418,3],[488,3],[502,3]]},"1469":{"position":[[26,4],[63,3],[316,4],[339,3],[369,3],[433,3],[502,3],[524,3],[548,3],[570,3],[584,4],[609,3]]},"1470":{"position":[[31,4],[68,3],[313,3],[350,4],[410,3],[437,3],[507,3],[533,3],[561,3],[604,3],[695,3],[784,3],[938,3],[1039,3],[1078,3],[1123,4],[1285,3],[1372,3],[1394,3],[1452,3],[1475,3],[1543,5],[1594,3],[1690,3],[1766,3],[1796,3],[1886,3],[1966,3],[1999,3],[2066,3],[2100,3],[2136,3],[2157,5],[2175,5],[2232,3],[2340,3],[2380,3],[2438,3],[2469,4],[2562,3],[2646,3],[2692,3],[2791,3],[2832,3],[2856,3],[2933,3],[2998,3],[3040,3]]},"1471":{"position":[[26,4],[63,3],[316,4],[342,3],[366,3],[392,3],[418,3],[574,3],[612,3],[680,3],[708,3],[747,3],[781,3],[827,3],[889,4],[997,3],[1104,3],[1136,3],[1166,3],[1184,5],[1190,4],[1202,3],[1226,6],[1338,3],[1399,4],[1432,5],[1450,4],[1493,4],[1624,3]]},"1472":{"position":[[27,4],[64,3],[317,4],[343,3],[367,3],[393,3],[419,3],[477,3],[515,3],[583,3],[614,3],[642,3],[681,3],[715,3],[789,4],[822,3],[891,5],[909,4],[962,3],[986,4],[1094,3],[1201,3],[1262,4],[1295,5],[1313,4],[1342,3],[1406,4],[1489,3],[1585,3]]},"1473":{"position":[[24,4],[61,3],[314,4],[340,3],[364,3],[391,3],[434,3],[460,3],[486,3],[605,3],[643,3],[711,3],[739,3],[778,3],[812,3],[858,3],[920,4],[1049,3],[1156,3],[1188,3],[1218,3],[1236,5],[1242,4],[1254,3],[1278,6],[1390,3],[1451,4],[1484,5],[1502,4],[1537,3],[1573,3],[1594,5],[1612,5],[1669,3],[1711,4],[1757,4],[1871,3]]},"1474":{"position":[[28,4],[65,3],[318,4],[410,3],[564,3],[628,3],[780,3],[803,3],[882,3],[912,3],[1002,3],[1059,3],[1218,3],[1271,3],[1317,3],[1399,3]]},"1475":{"position":[[25,4],[62,3],[315,4],[407,3],[561,3],[662,3],[701,3],[750,3],[774,4],[896,3],[926,3],[949,3],[1028,3],[1058,3],[1148,3],[1205,3],[1364,3],[1448,3],[1494,3],[1593,3],[1634,3],[1658,3],[1761,3]]},"1476":{"position":[[31,4],[68,3],[321,4],[352,3],[416,3],[479,3]]},"1477":{"position":[[24,4],[61,3],[314,4],[341,3],[406,3],[470,3],[554,4]]},"1478":{"position":[[22,4],[59,3],[312,4],[340,3],[383,3],[434,3],[498,3],[543,4],[661,4],[696,3],[732,3],[753,5],[771,5],[828,3],[907,4],[961,3],[1021,3]]},"1479":{"position":[[39,4],[76,3],[329,4],[360,3],[424,3],[476,3],[553,3],[567,3]]},"1480":{"position":[[28,4],[65,3],[318,4],[352,3],[382,3],[477,3],[703,3],[731,3],[822,3],[886,3],[922,3],[980,3]]},"1481":{"position":[[30,4],[67,3],[320,4],[362,3],[398,3],[424,3],[454,3],[484,3],[601,3],[720,3],[751,3],[775,3],[809,3],[840,3],[910,3],[1068,3],[1122,3],[1407,3],[1435,4],[1488,4]]},"1482":{"position":[[25,4],[62,3],[315,4],[346,3],[410,3]]},"1483":{"position":[[30,4],[67,3],[320,4],[338,4],[364,3]]},"1484":{"position":[[30,4],[67,3],[320,4],[351,3],[415,3],[492,4]]},"1485":{"position":[[31,4],[68,3],[321,4],[347,3],[377,3],[411,3],[451,4],[571,6],[628,5]]},"1486":{"position":[[26,4],[63,3],[316,4],[347,3],[362,3],[404,3],[468,3],[492,4],[514,3]]},"1487":{"position":[[23,4],[60,3],[313,4],[344,3],[374,3],[438,3],[550,3],[564,3]]}},"keywords":{}}],["str("x"",{"_index":3349,"title":{},"content":{"668":{"position":[[264,18]]}},"keywords":{}}],["str(1",{"_index":3348,"title":{},"content":{"668":{"position":[[250,6]]}},"keywords":{}}],["str([1",{"_index":3350,"title":{},"content":{"668":{"position":[[290,7]]}},"keywords":{}}],["str(a",{"_index":3346,"title":{},"content":{"668":{"position":[[4,6]]}},"keywords":{}}],["str(eager_attr",{"_index":4116,"title":{},"content":{"878":{"position":[[1356,17]]}},"keywords":{}}],["str(x",{"_index":2818,"title":{},"content":{"595":{"position":[[1215,6]]}},"keywords":{}}],["str.the",{"_index":4374,"title":{},"content":{"900":{"position":[[963,7]]}},"keywords":{}}],["straightforward",{"_index":4748,"title":{},"content":{"954":{"position":[[878,15]]},"1013":{"position":[[42,16]]}},"keywords":{}}],["strategi",{"_index":3810,"title":{},"content":{"724":{"position":[[1542,8]]},"1366":{"position":[[2865,8]]},"1454":{"position":[[9539,8]]},"1462":{"position":[[6604,8],[6709,8]]},"1467":{"position":[[7719,8],[7824,8]]}},"keywords":{}}],["stream",{"_index":1191,"title":{},"content":{"94":{"position":[[1444,7]]},"226":{"position":[[1444,7]]},"305":{"position":[[54,6],[116,6]]},"833":{"position":[[111,6]]},"1226":{"position":[[3914,6],[3936,9]]},"1228":{"position":[[2226,6],[2750,6]]},"1237":{"position":[[4084,6],[4106,9]]}},"keywords":{}}],["strength",{"_index":4603,"title":{},"content":{"937":{"position":[[2939,8]]}},"keywords":{}}],["strict",{"_index":3373,"title":{},"content":{"675":{"position":[[319,6]]},"1414":{"position":[[692,7]]}},"keywords":{}}],["strict_provisioning_profile_search",{"_index":6869,"title":{},"content":{"1363":{"position":[[2530,35]]},"1367":{"position":[[5738,35]]},"1372":{"position":[[1798,35]]}},"keywords":{}}],["stride",{"_index":3290,"title":{},"content":{"662":{"position":[[224,7]]}},"keywords":{}}],["string",{"_index":944,"title":{"588":{"position":[[0,6]]},"688":{"position":[[0,6]]},"861":{"position":[[37,7]]},"1262":{"position":[[17,7],[32,7]]},"1263":{"position":[[18,7],[33,7]]},"1264":{"position":[[22,7],[37,7]]},"1269":{"position":[[14,7]]},"1271":{"position":[[12,7]]},"1272":{"position":[[13,7]]},"1293":{"position":[[17,7],[32,7]]},"1294":{"position":[[18,7],[33,7]]},"1295":{"position":[[22,7],[37,7]]},"1300":{"position":[[14,7]]},"1302":{"position":[[12,7]]},"1303":{"position":[[13,7]]},"1321":{"position":[[17,7],[32,7]]},"1322":{"position":[[18,7],[33,7]]},"1323":{"position":[[22,7],[37,7]]},"1328":{"position":[[14,7]]},"1330":{"position":[[12,7]]},"1331":{"position":[[13,7]]}},"content":{"65":{"position":[[134,8]]},"72":{"position":[[290,7]]},"86":{"position":[[221,7]]},"88":{"position":[[160,6]]},"91":{"position":[[286,6]]},"94":{"position":[[1277,7]]},"95":{"position":[[177,6]]},"96":{"position":[[219,7]]},"98":{"position":[[1241,7]]},"99":{"position":[[669,7],[796,7],[894,6],[964,8],[1027,6]]},"125":{"position":[[133,7]]},"131":{"position":[[267,7]]},"133":{"position":[[125,6],[179,6],[199,7]]},"134":{"position":[[156,7]]},"145":{"position":[[223,6]]},"147":{"position":[[99,6],[132,6]]},"148":{"position":[[161,7]]},"218":{"position":[[221,7]]},"220":{"position":[[160,6]]},"223":{"position":[[286,6]]},"226":{"position":[[1277,7]]},"227":{"position":[[177,6]]},"228":{"position":[[219,7]]},"230":{"position":[[1241,7]]},"231":{"position":[[669,7],[796,7],[894,6],[964,8],[1027,6]]},"240":{"position":[[121,7],[196,8]]},"248":{"position":[[133,7]]},"254":{"position":[[267,7]]},"256":{"position":[[125,6],[179,6],[199,7]]},"257":{"position":[[156,7]]},"268":{"position":[[223,6]]},"270":{"position":[[99,6],[132,6]]},"271":{"position":[[161,7]]},"292":{"position":[[52,7]]},"294":{"position":[[826,6],[962,6]]},"295":{"position":[[353,6]]},"297":{"position":[[792,6]]},"301":{"position":[[601,6],[733,6]]},"302":{"position":[[353,6]]},"304":{"position":[[121,6],[176,8],[207,8],[476,7]]},"308":{"position":[[110,6]]},"309":{"position":[[535,6],[968,6]]},"310":{"position":[[383,6],[693,6]]},"311":{"position":[[301,6]]},"329":{"position":[[181,7],[256,8]]},"340":{"position":[[270,6]]},"389":{"position":[[149,6],[247,6],[1551,6]]},"400":{"position":[[397,6]]},"402":{"position":[[685,6]]},"404":{"position":[[222,6]]},"405":{"position":[[995,7],[1062,8],[1382,6]]},"408":{"position":[[1273,8]]},"427":{"position":[[416,6]]},"435":{"position":[[92,7]]},"440":{"position":[[148,6]]},"445":{"position":[[66,7]]},"453":{"position":[[134,8]]},"463":{"position":[[124,7]]},"470":{"position":[[121,7],[196,8]]},"495":{"position":[[290,7]]},"560":{"position":[[609,6]]},"577":{"position":[[723,8]]},"587":{"position":[[250,6],[329,6]]},"589":{"position":[[72,6]]},"590":{"position":[[121,7],[240,6],[279,6],[420,6]]},"591":{"position":[[147,6],[165,7],[253,6],[492,6]]},"592":{"position":[[106,7],[205,6]]},"593":{"position":[[98,6],[170,6]]},"594":{"position":[[130,7]]},"595":{"position":[[70,7],[136,6],[245,7],[1109,7]]},"596":{"position":[[138,7]]},"597":{"position":[[59,6],[138,6]]},"598":{"position":[[59,6],[127,6]]},"599":{"position":[[59,6],[126,6]]},"600":{"position":[[74,6],[128,6]]},"601":{"position":[[77,6],[133,6]]},"602":{"position":[[61,6],[116,6]]},"603":{"position":[[74,6],[128,6]]},"604":{"position":[[135,6],[215,6],[305,8]]},"605":{"position":[[54,6],[111,6]]},"606":{"position":[[122,6]]},"607":{"position":[[90,6],[151,6],[249,6],[404,7],[428,7]]},"608":{"position":[[95,7],[141,6],[171,7],[249,7]]},"609":{"position":[[95,7],[141,6],[171,7],[249,7]]},"610":{"position":[[174,6]]},"613":{"position":[[92,6]]},"614":{"position":[[117,6],[178,6]]},"615":{"position":[[122,6]]},"616":{"position":[[114,6],[243,6],[318,8],[391,6],[459,7],[647,6]]},"617":{"position":[[115,7],[222,7]]},"618":{"position":[[102,6],[178,6]]},"619":{"position":[[132,6]]},"620":{"position":[[54,6],[108,6]]},"621":{"position":[[54,6],[111,6]]},"634":{"position":[[45,6],[91,6]]},"636":{"position":[[493,7]]},"644":{"position":[[284,7],[296,6]]},"648":{"position":[[448,7],[481,6],[575,6],[726,6]]},"656":{"position":[[151,6],[254,6]]},"664":{"position":[[58,7],[70,7]]},"668":{"position":[[56,7],[128,7],[183,8],[222,8]]},"671":{"position":[[42,6]]},"676":{"position":[[260,6]]},"688":{"position":[[86,6]]},"693":{"position":[[8987,6],[9846,6]]},"712":{"position":[[2914,6]]},"722":{"position":[[355,6]]},"768":{"position":[[149,6],[247,6],[1551,6]]},"779":{"position":[[397,6]]},"781":{"position":[[685,6]]},"783":{"position":[[222,6]]},"784":{"position":[[995,7],[1062,8],[1382,6]]},"787":{"position":[[1273,8]]},"806":{"position":[[416,6]]},"814":{"position":[[92,7]]},"819":{"position":[[148,6]]},"824":{"position":[[66,7]]},"846":{"position":[[680,6],[800,6]]},"851":{"position":[[666,8],[822,8],[958,6],[1186,8]]},"864":{"position":[[101,7],[279,8],[303,8]]},"870":{"position":[[1251,6]]},"907":{"position":[[392,6]]},"914":{"position":[[67,8]]},"915":{"position":[[95,7]]},"924":{"position":[[235,8],[772,9]]},"929":{"position":[[240,8]]},"975":{"position":[[401,8]]},"980":{"position":[[52,6],[115,6]]},"981":{"position":[[140,6]]},"1001":{"position":[[156,6]]},"1005":{"position":[[143,8]]},"1044":{"position":[[2227,8]]},"1052":{"position":[[1200,6],[1402,6]]},"1057":{"position":[[722,8]]},"1064":{"position":[[212,6]]},"1069":{"position":[[120,6],[373,6]]},"1071":{"position":[[848,6]]},"1082":{"position":[[343,7]]},"1105":{"position":[[230,6],[1411,6]]},"1112":{"position":[[439,7],[629,8],[638,8],[2742,9],[4139,7]]},"1124":{"position":[[110,7]]},"1132":{"position":[[23,6]]},"1136":{"position":[[1527,6]]},"1148":{"position":[[1883,6]]},"1172":{"position":[[1678,6]]},"1173":{"position":[[978,6]]},"1202":{"position":[[156,6],[1223,6]]},"1205":{"position":[[1007,6]]},"1209":{"position":[[760,6]]},"1226":{"position":[[2700,6],[4806,6]]},"1235":{"position":[[2020,6]]},"1237":{"position":[[2870,6],[4976,6]]},"1258":{"position":[[0,7]]},"1259":{"position":[[163,7],[178,7],[431,7],[446,7],[504,7],[519,7],[798,7],[920,7],[1129,7]]},"1289":{"position":[[0,7]]},"1290":{"position":[[163,7],[178,7],[431,7],[446,7],[504,7],[519,7],[798,7],[920,7],[1129,7]]},"1317":{"position":[[0,7]]},"1318":{"position":[[163,7],[178,7],[431,7],[446,7],[504,7],[519,7],[798,7],[920,7],[1129,7]]},"1351":{"position":[[2133,7],[3938,7],[4558,6]]},"1354":{"position":[[2587,7]]},"1355":{"position":[[6617,7],[7458,7]]},"1360":{"position":[[3359,6]]},"1362":{"position":[[12925,6],[12983,6]]},"1364":{"position":[[13625,6],[13683,6]]},"1367":{"position":[[10402,7],[12833,6],[12891,6]]},"1373":{"position":[[6072,6]]},"1374":{"position":[[1667,6],[1792,6]]},"1382":{"position":[[4521,6],[11287,6],[11345,6]]},"1383":{"position":[[1318,6],[4487,6],[5198,6],[6013,6]]},"1384":{"position":[[18941,6],[18999,6]]},"1385":{"position":[[6865,6],[6923,6]]},"1387":{"position":[[6498,7],[10238,6],[10296,6]]},"1388":{"position":[[4817,6],[5215,6],[6227,6],[9780,6],[9838,6]]},"1390":{"position":[[1585,6],[1752,6],[1891,6]]},"1391":{"position":[[1538,6],[1706,6]]},"1392":{"position":[[1688,6],[1857,7],[2161,6]]},"1393":{"position":[[6405,6],[8704,6]]},"1398":{"position":[[3466,7]]},"1401":{"position":[[1566,6]]},"1403":{"position":[[2774,6]]},"1405":{"position":[[3396,6]]},"1407":{"position":[[3817,6]]},"1408":{"position":[[2436,6]]},"1410":{"position":[[3341,7],[4804,6]]},"1423":{"position":[[1929,6]]},"1427":{"position":[[5816,7],[6947,7]]},"1429":{"position":[[4633,7]]},"1439":{"position":[[4993,8],[6700,7]]},"1440":{"position":[[4715,7]]},"1442":{"position":[[1511,6],[2660,6],[2718,6]]},"1446":{"position":[[1662,7]]},"1461":{"position":[[2515,7]]},"1462":{"position":[[6002,7],[7814,6],[7917,6],[8045,8],[8067,6]]},"1465":{"position":[[2974,7]]},"1467":{"position":[[6580,6],[7114,7],[8874,6],[8977,6],[9105,8],[9127,6]]},"1468":{"position":[[1392,7]]},"1478":{"position":[[2131,6],[2394,6],[2792,6]]},"1485":{"position":[[4151,6],[4209,6]]},"1486":{"position":[[1874,6]]}},"keywords":{}}],["string"",{"_index":1708,"title":{},"content":{"306":{"position":[[472,13]]},"712":{"position":[[1335,13],[1833,13]]},"1258":{"position":[[55,13]]},"1289":{"position":[[55,13]]},"1317":{"position":[[55,13]]}},"keywords":{}}],["string""",{"_index":7525,"title":{},"content":{"1393":{"position":[[10548,19]]}},"keywords":{}}],["string.capit",{"_index":2739,"title":{"589":{"position":[[0,18]]}},"content":{"589":{"position":[[4,19],[35,18]]}},"keywords":{}}],["string.codepoint",{"_index":2745,"title":{"590":{"position":[[0,18]]}},"content":{"590":{"position":[[4,19],[52,18]]}},"keywords":{}}],["string.count",{"_index":2763,"title":{"591":{"position":[[0,13]]}},"content":{"591":{"position":[[4,13],[96,13]]}},"keywords":{}}],["string.elem",{"_index":2782,"title":{"592":{"position":[[0,13]]}},"content":{"592":{"position":[[4,14],[47,13]]}},"keywords":{}}],["string.endswith",{"_index":2792,"title":{"593":{"position":[[0,16]]}},"content":{"593":{"position":[[66,16]]}},"keywords":{}}],["string.endswith(suffix",{"_index":2793,"title":{},"content":{"593":{"position":[[4,23]]}},"keywords":{}}],["string.find",{"_index":2796,"title":{"594":{"position":[[0,12]]}},"content":{"594":{"position":[[4,12],[95,12]]}},"keywords":{}}],["string.format",{"_index":2801,"title":{"595":{"position":[[0,14]]}},"content":{"595":{"position":[[46,14]]}},"keywords":{}}],["string.format(*arg",{"_index":2802,"title":{},"content":{"595":{"position":[[4,20]]}},"keywords":{}}],["string.index",{"_index":2840,"title":{"596":{"position":[[0,13]]}},"content":{"596":{"position":[[4,13],[96,13]]}},"keywords":{}}],["string.isalnum",{"_index":2844,"title":{"597":{"position":[[0,15]]}},"content":{"597":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.isalpha",{"_index":2851,"title":{"598":{"position":[[0,15]]}},"content":{"598":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.isdigit",{"_index":2856,"title":{"599":{"position":[[0,15]]}},"content":{"599":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.islow",{"_index":2861,"title":{"600":{"position":[[0,15]]}},"content":{"600":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.isspac",{"_index":2866,"title":{"601":{"position":[[0,15]]}},"content":{"601":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.istitl",{"_index":2872,"title":{"602":{"position":[[0,15]]}},"content":{"602":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.isupp",{"_index":2881,"title":{"603":{"position":[[0,15]]}},"content":{"603":{"position":[[4,16],[33,15]]}},"keywords":{}}],["string.join",{"_index":2886,"title":{"604":{"position":[[0,12]]}},"content":{"604":{"position":[[61,12]]}},"keywords":{}}],["string.join(to_join",{"_index":2887,"title":{},"content":{"604":{"position":[[4,20]]}},"keywords":{}}],["string.low",{"_index":2899,"title":{"605":{"position":[[0,13]]}},"content":{"605":{"position":[[4,14],[30,13]]}},"keywords":{}}],["string.lstrip",{"_index":2902,"title":{"606":{"position":[[0,14]]}},"content":{"606":{"position":[[48,14]]}},"keywords":{}}],["string.lstrip(char",{"_index":2903,"title":{},"content":{"606":{"position":[[4,20]]}},"keywords":{}}],["string.partit",{"_index":2911,"title":{"607":{"position":[[0,17]]}},"content":{"607":{"position":[[60,17]]}},"keywords":{}}],["string.partition(needl",{"_index":2912,"title":{},"content":{"607":{"position":[[4,24]]}},"keywords":{}}],["string.removeprefix",{"_index":2920,"title":{"608":{"position":[[0,20]]}},"content":{"608":{"position":[[51,20]]}},"keywords":{}}],["string.removeprefix(prefix",{"_index":2921,"title":{},"content":{"608":{"position":[[4,27]]}},"keywords":{}}],["string.removesuffix",{"_index":2926,"title":{"609":{"position":[[0,20]]}},"content":{"609":{"position":[[51,20]]}},"keywords":{}}],["string.removesuffix(suffix",{"_index":2927,"title":{},"content":{"609":{"position":[[4,27]]}},"keywords":{}}],["string.replac",{"_index":2931,"title":{"610":{"position":[[0,15]]}},"content":{"610":{"position":[[4,15],[71,15]]}},"keywords":{}}],["string.rfind",{"_index":2942,"title":{"611":{"position":[[0,13]]}},"content":{"611":{"position":[[4,13],[96,13]]}},"keywords":{}}],["string.rindex",{"_index":2948,"title":{"612":{"position":[[0,14]]}},"content":{"612":{"position":[[4,14],[97,14]]}},"keywords":{}}],["string.rpartit",{"_index":2954,"title":{"613":{"position":[[0,18]]}},"content":{"613":{"position":[[61,18]]}},"keywords":{}}],["string.rpartition(needl",{"_index":2955,"title":{},"content":{"613":{"position":[[4,25]]}},"keywords":{}}],["string.rsplit",{"_index":2960,"title":{"614":{"position":[[0,14]]}},"content":{"614":{"position":[[4,14],[93,14]]}},"keywords":{}}],["string.rstrip",{"_index":2972,"title":{"615":{"position":[[0,14]]}},"content":{"615":{"position":[[48,14]]}},"keywords":{}}],["string.rstrip(char",{"_index":2973,"title":{},"content":{"615":{"position":[[4,20]]}},"keywords":{}}],["string.split",{"_index":2981,"title":{"616":{"position":[[0,13]]}},"content":{"616":{"position":[[4,13],[92,13]]}},"keywords":{}}],["string.splitlin",{"_index":2994,"title":{"617":{"position":[[0,18]]}},"content":{"617":{"position":[[66,18]]}},"keywords":{}}],["string.splitlines(keepend",{"_index":2995,"title":{},"content":{"617":{"position":[[4,27]]}},"keywords":{}}],["string.startswith",{"_index":3005,"title":{"618":{"position":[[0,18]]}},"content":{"618":{"position":[[68,18]]}},"keywords":{}}],["string.startswith(prefix",{"_index":3006,"title":{},"content":{"618":{"position":[[4,25]]}},"keywords":{}}],["string.strip",{"_index":3012,"title":{"619":{"position":[[0,13]]}},"content":{"619":{"position":[[47,13]]}},"keywords":{}}],["string.strip(char",{"_index":3013,"title":{},"content":{"619":{"position":[[4,19]]}},"keywords":{}}],["string.titl",{"_index":3017,"title":{"620":{"position":[[0,13]]}},"content":{"620":{"position":[[4,14],[30,13]]}},"keywords":{}}],["string.upp",{"_index":3022,"title":{"621":{"position":[[0,13]]}},"content":{"621":{"position":[[4,14],[30,13]]}},"keywords":{}}],["string/list",{"_index":4382,"title":{},"content":{"900":{"position":[[1673,11]]}},"keywords":{}}],["string[len(prefix",{"_index":2922,"title":{},"content":{"608":{"position":[[186,21]]},"609":{"position":[[186,21]]}},"keywords":{}}],["stringconfigur",{"_index":4578,"title":{},"content":{"935":{"position":[[60,16]]}},"keywords":{}}],["stringifi",{"_index":5731,"title":{},"content":{"1112":{"position":[[2606,11],[2635,11],[3248,11],[3308,11],[3368,11],[3397,11],[4047,11],[4645,11]]}},"keywords":{}}],["stringinfo",{"_index":3744,"title":{},"content":{"712":{"position":[[772,10],[2689,12]]}},"keywords":{}}],["stringinfo(my_str",{"_index":3761,"title":{},"content":{"712":{"position":[[2076,20]]}},"keywords":{}}],["strip",{"_index":1951,"title":{},"content":{"368":{"position":[[897,8],[1652,8],[2116,5],[2229,7],[2270,8]]},"747":{"position":[[897,8],[1652,8],[2116,5],[2229,7],[2270,8]]},"1362":{"position":[[4243,9]]},"1364":{"position":[[4228,9]]},"1367":{"position":[[5791,9]]},"1382":{"position":[[11943,10],[11987,9]]},"1389":{"position":[[4078,6]]},"1453":{"position":[[787,9]]},"1461":{"position":[[2669,5]]}},"keywords":{}}],["strip_all_flag",{"_index":7409,"title":{},"content":{"1389":{"position":[[4090,16]]}},"keywords":{}}],["strip_apk_libs_flag",{"_index":8114,"title":{},"content":{"1447":{"position":[[570,21]]}},"keywords":{}}],["strip_debug_flag",{"_index":7410,"title":{},"content":{"1389":{"position":[[4129,18]]}},"keywords":{}}],["strip_fram",{"_index":3079,"title":{},"content":{"632":{"position":[[18,13],[217,12]]}},"keywords":{}}],["strip_frames=1",{"_index":3084,"title":{},"content":{"632":{"position":[[345,14]]}},"keywords":{}}],["strip_libpar",{"_index":8315,"title":{},"content":{"1462":{"position":[[4043,13]]},"1467":{"position":[[4563,13]]}},"keywords":{}}],["strip_librari",{"_index":6379,"title":{},"content":{"1348":{"position":[[2540,16]]},"1350":{"position":[[3655,16]]}},"keywords":{}}],["strip_non_global_flag",{"_index":7411,"title":{},"content":{"1389":{"position":[[4170,23]]}},"keywords":{}}],["strip_prefix",{"_index":7887,"title":{},"content":{"1422":{"position":[[581,13],[2598,13]]}},"keywords":{}}],["strip_prefix='thrift",{"_index":7915,"title":{},"content":{"1422":{"position":[[4219,20]]}},"keywords":{}}],["strip_soabi_tag",{"_index":8261,"title":{},"content":{"1461":{"position":[[816,17],[2651,17]]}},"keywords":{}}],["strip_stapsdt",{"_index":8316,"title":{},"content":{"1462":{"position":[[4066,14]]},"1467":{"position":[[4586,14]]}},"keywords":{}}],["strong",{"_index":6062,"title":{},"content":{"1226":{"position":[[1943,7]]},"1237":{"position":[[2113,7]]}},"keywords":{}}],["strongli",{"_index":3622,"title":{},"content":{"702":{"position":[[340,8]]},"1113":{"position":[[349,8]]}},"keywords":{}}],["struct",{"_index":981,"title":{"669":{"position":[[0,7]]},"857":{"position":[[13,7]]}},"content":{"72":{"position":[[15,10],[78,6],[252,6]]},"99":{"position":[[429,10]]},"206":{"position":[[97,7]]},"231":{"position":[[429,10]]},"276":{"position":[[54,6],[108,7]]},"281":{"position":[[79,6],[142,7]]},"300":{"position":[[22,10],[36,6]]},"419":{"position":[[22,10],[172,7]]},"459":{"position":[[119,7]]},"495":{"position":[[15,10],[78,6],[252,6]]},"669":{"position":[[34,10]]},"798":{"position":[[22,10],[172,7]]},"854":{"position":[[94,6]]},"857":{"position":[[40,7]]},"890":{"position":[[2573,6],[4114,7],[4220,6],[5090,6],[5472,6]]},"1001":{"position":[[319,6]]},"1004":{"position":[[835,7]]},"1064":{"position":[[375,6]]}},"keywords":{}}],["struct(*arg",{"_index":3351,"title":{},"content":{"669":{"position":[[4,13]]}},"keywords":{}}],["struct(actionquerynod",{"_index":2104,"title":{},"content":{"402":{"position":[[5,22]]},"781":{"position":[[5,22]]}},"keywords":{}}],["struct(ani",{"_index":3363,"title":{},"content":{"672":{"position":[[8,10]]}},"keywords":{}}],["struct(bool",{"_index":2120,"title":{},"content":{"402":{"position":[[473,11]]},"404":{"position":[[10,11]]},"781":{"position":[[473,11]]},"783":{"position":[[10,11]]}},"keywords":{}}],["struct(decod",{"_index":3231,"title":{},"content":{"650":{"position":[[6,13]]}},"keywords":{}}],["struct(key",{"_index":5570,"title":{},"content":{"1083":{"position":[[588,10]]}},"keywords":{}}],["struct(ty_of_value_debug",{"_index":3345,"title":{},"content":{"667":{"position":[[24,24]]}},"keywords":{}}],["struct.typ",{"_index":4998,"title":{},"content":{"1004":{"position":[[993,12]]}},"keywords":{}}],["structur",{"_index":732,"title":{"1252":{"position":[[32,12]]}},"content":{"23":{"position":[[1718,9]]},"125":{"position":[[205,10]]},"248":{"position":[[205,10]]},"419":{"position":[[133,9]]},"441":{"position":[[191,9]]},"570":{"position":[[195,9]]},"633":{"position":[[63,10]]},"693":{"position":[[8648,10]]},"798":{"position":[[133,9]]},"820":{"position":[[191,9]]},"869":{"position":[[246,10]]},"889":{"position":[[78,9]]},"890":{"position":[[4051,10],[5028,10],[6339,10]]},"892":{"position":[[2052,10]]},"894":{"position":[[102,9]]},"917":{"position":[[73,9]]},"951":{"position":[[775,9],[835,9]]},"966":{"position":[[53,10]]},"1004":{"position":[[1436,10]]},"1049":{"position":[[71,9]]},"1058":{"position":[[97,10]]},"1083":{"position":[[1229,9]]},"1112":{"position":[[2803,10]]},"1172":{"position":[[134,10]]},"1252":{"position":[[114,10]]},"1386":{"position":[[6337,9]]},"1395":{"position":[[1712,9]]},"1471":{"position":[[4111,9],[4140,10]]},"1472":{"position":[[4695,9],[4724,10]]},"1473":{"position":[[4432,9],[4461,10]]},"1477":{"position":[[2345,9]]}},"keywords":{}}],["stub",{"_index":289,"title":{},"content":{"9":{"position":[[2465,4]]},"978":{"position":[[19,4]]}},"keywords":{}}],["studio",{"_index":4763,"title":{"958":{"position":[[7,6]]}},"content":{"958":{"position":[[172,6]]}},"keywords":{}}],["stuff",{"_index":1518,"title":{},"content":{"276":{"position":[[860,5]]},"281":{"position":[[982,5]]},"711":{"position":[[1704,5]]},"966":{"position":[[430,5],[743,5]]},"1426":{"position":[[2290,7]]}},"keywords":{}}],["stuff.cpp",{"_index":4296,"title":{},"content":{"895":{"position":[[304,11]]}},"keywords":{}}],["style",{"_index":4988,"title":{},"content":{"1001":{"position":[[227,7]]},"1064":{"position":[[283,7]]},"1414":{"position":[[710,6]]},"1455":{"position":[[3054,6],[3225,6],[3398,6],[3630,6],[3723,6],[3896,6],[4118,6],[4303,6]]},"1462":{"position":[[8144,5]]},"1467":{"position":[[9205,5]]},"1471":{"position":[[4966,6]]},"1473":{"position":[[5287,6]]}},"keywords":{}}],["sub",{"_index":816,"title":{},"content":{"29":{"position":[[56,3]]},"30":{"position":[[95,3]]},"31":{"position":[[78,3]]},"41":{"position":[[202,3]]},"108":{"position":[[122,3]]},"174":{"position":[[202,3]]},"185":{"position":[[56,3]]},"186":{"position":[[95,3]]},"187":{"position":[[78,3]]},"294":{"position":[[1068,3],[1267,3]]},"297":{"position":[[1006,3]]},"520":{"position":[[122,3]]},"591":{"position":[[481,3]]},"594":{"position":[[225,3]]},"596":{"position":[[256,3]]},"693":{"position":[[1771,3]]},"716":{"position":[[179,3]]},"1064":{"position":[[932,3]]},"1068":{"position":[[216,3]]},"1112":{"position":[[3965,3],[4709,3]]},"1374":{"position":[[2747,3],[3221,3]]},"1422":{"position":[[3048,3]]}},"keywords":{}}],["sub_error",{"_index":5743,"title":{},"content":{"1112":{"position":[[4007,11]]}},"keywords":{}}],["sub_target",{"_index":1938,"title":{},"content":{"368":{"position":[[350,12],[1041,11],[2406,12]]},"402":{"position":[[716,10]]},"404":{"position":[[253,10]]},"747":{"position":[[350,12],[1041,11],[2406,12]]},"781":{"position":[[716,10]]},"783":{"position":[[253,10]]},"1422":{"position":[[611,12],[2971,12],[3136,11]]}},"keywords":{}}],["sub_target_expr",{"_index":2121,"title":{},"content":{"402":{"position":[[751,15]]},"404":{"position":[[288,15]]},"781":{"position":[[751,15]]},"783":{"position":[[288,15]]}},"keywords":{}}],["sub_targetsattribut",{"_index":3932,"title":{},"content":{"854":{"position":[[66,20]]}},"keywords":{}}],["subcommand(",{"_index":5954,"title":{},"content":{"1154":{"position":[[397,13]]},"1171":{"position":[[890,13]]},"1185":{"position":[[224,13]]},"1190":{"position":[[1555,13]]},"1202":{"position":[[332,13]]},"1204":{"position":[[297,13]]},"1221":{"position":[[269,13]]}},"keywords":{}}],["subdir",{"_index":5960,"title":{},"content":{"1155":{"position":[[401,6],[474,6]]}},"keywords":{}}],["subdir/buck",{"_index":1976,"title":{},"content":{"368":{"position":[[1742,13]]},"747":{"position":[[1742,13]]}},"keywords":{}}],["subdir:foo",{"_index":1987,"title":{},"content":{"368":{"position":[[2161,12]]},"747":{"position":[[2161,12]]}},"keywords":{}}],["subdir:foo[strip",{"_index":1988,"title":{},"content":{"368":{"position":[[2332,22]]},"747":{"position":[[2332,22]]}},"keywords":{}}],["subdir:gen_stuff",{"_index":1984,"title":{},"content":{"368":{"position":[[1961,18]]},"747":{"position":[[1961,18]]}},"keywords":{}}],["subdir_glob([('r",{"_index":6641,"title":{},"content":{"1359":{"position":[[2450,20]]}},"keywords":{}}],["subdirectori",{"_index":2671,"title":{},"content":{"581":{"position":[[636,15]]},"680":{"position":[[122,14]]},"693":{"position":[[5631,14]]},"1130":{"position":[[194,12]]},"1373":{"position":[[6141,12]]},"1401":{"position":[[1737,14]]},"1405":{"position":[[3465,12]]},"1407":{"position":[[3886,12]]},"1408":{"position":[[2505,12]]},"1410":{"position":[[4873,12]]},"1446":{"position":[[2725,12]]}},"keywords":{}}],["subdirectorycxx",{"_index":2713,"title":{},"content":{"584":{"position":[[1408,15]]}},"keywords":{}}],["subgraph",{"_index":3430,"title":{},"content":{"684":{"position":[[155,9]]},"695":{"position":[[703,9]]}},"keywords":{}}],["subject",{"_index":2456,"title":{},"content":{"477":{"position":[[343,7]]},"1123":{"position":[[29,7]]},"1393":{"position":[[8262,9]]},"1403":{"position":[[6306,7]]}},"keywords":{}}],["submit",{"_index":8601,"title":{},"content":{"1486":{"position":[[4844,7],[5242,9]]}},"keywords":{}}],["submodul",{"_index":497,"title":{},"content":{"17":{"position":[[495,9]]},"18":{"position":[[308,10],[2039,9]]},"1095":{"position":[[216,11]]}},"keywords":{}}],["subpackag",{"_index":4990,"title":{},"content":{"1001":{"position":[[832,12]]}},"keywords":{}}],["subprocess",{"_index":4062,"title":{},"content":{"870":{"position":[[674,12],[770,11]]}},"keywords":{}}],["subrang",{"_index":2798,"title":{},"content":{"594":{"position":[[303,8]]}},"keywords":{}}],["subscrib",{"_index":4757,"title":{"1218":{"position":[[0,9]]},"1219":{"position":[[5,10]]}},"content":{"956":{"position":[[230,12]]},"1219":{"position":[[763,9]]}},"keywords":{}}],["subscript",{"_index":4747,"title":{},"content":{"954":{"position":[[637,12]]},"955":{"position":[[275,13]]},"1204":{"position":[[146,13],[5419,14],[5488,13]]},"1219":{"position":[[7,12]]}},"keywords":{}}],["subscription.proto",{"_index":6045,"title":{},"content":{"1219":{"position":[[603,20]]}},"keywords":{}}],["subscriptionrequest",{"_index":6043,"title":{},"content":{"1219":{"position":[[522,21]]}},"keywords":{}}],["subscriptionrespons",{"_index":6044,"title":{},"content":{"1219":{"position":[[554,23]]}},"keywords":{}}],["subsequ",{"_index":1091,"title":{},"content":{"89":{"position":[[723,12],[773,10]]},"221":{"position":[[723,12],[773,10]]},"569":{"position":[[322,10]]},"865":{"position":[[669,10]]},"867":{"position":[[157,10]]},"955":{"position":[[1476,10]]},"1050":{"position":[[4534,10]]},"1422":{"position":[[3574,10]]},"1423":{"position":[[2345,10]]}},"keywords":{}}],["subset",{"_index":610,"title":{},"content":{"20":{"position":[[129,6]]},"23":{"position":[[1125,6],[1289,6]]},"693":{"position":[[1909,6]]},"906":{"position":[[804,6]]},"1030":{"position":[[181,6]]},"1036":{"position":[[41,6],[99,7]]},"1044":{"position":[[2111,6]]},"1067":{"position":[[342,6]]},"1071":{"position":[[54,6]]},"1374":{"position":[[1775,6]]},"1383":{"position":[[4465,6]]}},"keywords":{}}],["substanti",{"_index":3557,"title":{},"content":{"693":{"position":[[4893,11]]}},"keywords":{}}],["substitut",{"_index":5099,"title":{},"content":{"1029":{"position":[[110,10]]},"1054":{"position":[[1026,11]]},"1345":{"position":[[512,11],[789,11],[1084,11]]},"1363":{"position":[[4537,10],[4988,12],[5195,12]]},"1367":{"position":[[9904,12],[10111,12]]}},"keywords":{}}],["substr",{"_index":2767,"title":{},"content":{"591":{"position":[[283,9],[350,9]]},"594":{"position":[[115,9],[215,9]]},"596":{"position":[[119,9],[246,9],[302,9]]},"610":{"position":[[116,10],[207,9]]},"611":{"position":[[135,10],[200,9]]},"612":{"position":[[137,10],[225,9]]},"614":{"position":[[129,11],[190,10]]},"616":{"position":[[124,11],[184,10]]}},"keywords":{}}],["substring'",{"_index":2946,"title":{},"content":{"611":{"position":[[279,11]]},"612":{"position":[[306,11]]}},"keywords":{}}],["subtarget",{"_index":929,"title":{"854":{"position":[[15,9]]},"1198":{"position":[[11,11]]}},"content":{"63":{"position":[[168,9],[217,9]]},"79":{"position":[[100,10],[218,10]]},"166":{"position":[[166,9],[217,9]]},"298":{"position":[[2153,9],[2288,9]]},"301":{"position":[[979,10]]},"309":{"position":[[641,9]]},"310":{"position":[[279,10],[489,9],[683,9],[829,9]]},"368":{"position":[[2612,10],[2774,10],[2804,10]]},"492":{"position":[[168,9],[217,9]]},"508":{"position":[[100,10],[218,10]]},"548":{"position":[[166,9],[217,9]]},"693":{"position":[[8152,10],[8220,10],[8250,10]]},"747":{"position":[[2612,10],[2774,10],[2804,10]]},"851":{"position":[[675,9],[831,9],[1462,9],[1611,9]]},"854":{"position":[[42,10],[183,9]]},"872":{"position":[[571,10]]},"942":{"position":[[633,9],[664,9]]},"954":{"position":[[411,10]]},"956":{"position":[[136,11]]},"1112":{"position":[[1995,10],[2077,10],[2130,10]]},"1190":{"position":[[652,10],[673,10]]},"1198":{"position":[[10,10],[48,10],[209,11],[294,10]]},"1370":{"position":[[1880,9]]}},"keywords":{}}],["subtarget_nam",{"_index":923,"title":{},"content":{"63":{"position":[[45,15]]},"166":{"position":[[34,15]]},"492":{"position":[[45,15]]},"548":{"position":[[34,15]]}},"keywords":{}}],["subtargetsrun",{"_index":4087,"title":{},"content":{"874":{"position":[[147,13]]}},"keywords":{}}],["subtl",{"_index":334,"title":{},"content":{"10":{"position":[[706,6]]},"1254":{"position":[[7,6]]}},"keywords":{}}],["subtract",{"_index":3958,"title":{},"content":{"858":{"position":[[107,11]]}},"keywords":{}}],["subwithin",{"_index":2944,"title":{},"content":{"611":{"position":[[210,9]]},"612":{"position":[[235,9]]}},"keywords":{}}],["succe",{"_index":5640,"title":{},"content":{"1102":{"position":[[885,7]]}},"keywords":{}}],["succeed",{"_index":537,"title":{},"content":{"17":{"position":[[1445,9]]},"1112":{"position":[[3997,9]]},"1121":{"position":[[74,10]]},"1245":{"position":[[27,10]]},"1477":{"position":[[3218,9]]}},"keywords":{}}],["succeeded!"",{"_index":3763,"title":{},"content":{"712":{"position":[[2118,18],[3024,16]]}},"keywords":{}}],["success",{"_index":2890,"title":{},"content":{"604":{"position":[[232,10]]},"617":{"position":[[186,10]]},"639":{"position":[[217,10]]},"662":{"position":[[673,12]]},"1112":{"position":[[187,8],[1613,8],[1941,8]]},"1136":{"position":[[6379,8]]},"1138":{"position":[[10041,8]]},"1140":{"position":[[8967,8]]},"1142":{"position":[[4411,8]]},"1144":{"position":[[739,8]]},"1146":{"position":[[4351,8]]},"1148":{"position":[[7942,8]]},"1150":{"position":[[974,8]]},"1152":{"position":[[672,8]]},"1154":{"position":[[827,8]]},"1155":{"position":[[4447,8]]},"1156":{"position":[[4025,8]]},"1157":{"position":[[610,8]]},"1158":{"position":[[604,8]]},"1159":{"position":[[604,8]]},"1161":{"position":[[1599,8]]},"1163":{"position":[[985,8]]},"1165":{"position":[[814,8]]},"1167":{"position":[[9971,8]]},"1169":{"position":[[3079,8]]},"1171":{"position":[[1320,8]]},"1172":{"position":[[2705,8]]},"1173":{"position":[[1392,8]]},"1174":{"position":[[820,8]]},"1175":{"position":[[816,8]]},"1176":{"position":[[985,8]]},"1177":{"position":[[906,8]]},"1178":{"position":[[1223,8]]},"1179":{"position":[[1020,8]]},"1180":{"position":[[1291,8]]},"1181":{"position":[[1811,8]]},"1182":{"position":[[854,8]]},"1183":{"position":[[809,8]]},"1185":{"position":[[654,8]]},"1186":{"position":[[5615,8]]},"1187":{"position":[[5628,8]]},"1188":{"position":[[10354,8]]},"1190":{"position":[[1985,8]]},"1191":{"position":[[4215,8]]},"1192":{"position":[[4390,8]]},"1193":{"position":[[4442,8]]},"1194":{"position":[[4082,8]]},"1195":{"position":[[4060,8]]},"1196":{"position":[[3870,8]]},"1197":{"position":[[4853,8]]},"1198":{"position":[[4863,8]]},"1199":{"position":[[4891,8]]},"1200":{"position":[[4758,8]]},"1201":{"position":[[4018,8]]},"1202":{"position":[[762,8],[5160,8],[9557,8]]},"1203":{"position":[[4252,8]]},"1204":{"position":[[4096,8],[4998,8],[5928,8],[6830,8],[7816,8],[8770,8],[9717,8],[10647,8]]},"1205":{"position":[[5425,8]]},"1206":{"position":[[4124,8]]},"1207":{"position":[[4053,8]]},"1209":{"position":[[5401,8]]},"1211":{"position":[[725,8]]},"1213":{"position":[[496,8]]},"1215":{"position":[[580,8]]},"1217":{"position":[[8712,8]]},"1219":{"position":[[3967,8]]},"1221":{"position":[[699,8]]},"1222":{"position":[[3838,8]]},"1223":{"position":[[3848,8]]},"1224":{"position":[[3281,8]]},"1226":{"position":[[9180,8]]},"1228":{"position":[[10793,8]]},"1235":{"position":[[6661,8]]},"1237":{"position":[[9350,8]]}},"keywords":{}}],["successfulli",{"_index":1501,"title":{},"content":{"245":{"position":[[126,12]]},"574":{"position":[[234,13]]},"682":{"position":[[113,12]]},"892":{"position":[[2008,12]]},"1112":{"position":[[174,12],[1920,12],[2039,12]]}},"keywords":{}}],["such",{"_index":187,"title":{},"content":{"9":{"position":[[382,5],[2006,5],[2278,5]]},"12":{"position":[[447,4],[592,4]]},"15":{"position":[[599,4]]},"23":{"position":[[329,4],[537,4],[947,5],[2963,4],[3186,5],[3346,4]]},"66":{"position":[[67,4]]},"94":{"position":[[1253,4],[1258,5],[1601,4]]},"107":{"position":[[151,4]]},"112":{"position":[[146,4]]},"126":{"position":[[270,4]]},"226":{"position":[[1253,4],[1258,5],[1601,4]]},"249":{"position":[[270,4]]},"368":{"position":[[2623,4]]},"454":{"position":[[67,4]]},"498":{"position":[[59,4]]},"519":{"position":[[151,4]]},"524":{"position":[[146,4]]},"554":{"position":[[197,4]]},"557":{"position":[[238,4]]},"559":{"position":[[252,4]]},"575":{"position":[[283,4],[556,4]]},"580":{"position":[[420,4]]},"600":{"position":[[189,4]]},"602":{"position":[[177,4]]},"603":{"position":[[189,4]]},"637":{"position":[[197,4]]},"645":{"position":[[209,4]]},"647":{"position":[[117,4]]},"668":{"position":[[192,4]]},"679":{"position":[[213,4],[392,4]]},"681":{"position":[[302,4]]},"693":{"position":[[2914,4],[3866,4],[4502,4],[9071,4]]},"704":{"position":[[1729,5]]},"715":{"position":[[723,5],[1248,4]]},"720":{"position":[[118,5]]},"722":{"position":[[99,5],[722,4],[758,5]]},"747":{"position":[[2623,4]]},"846":{"position":[[1310,5]]},"858":{"position":[[53,5]]},"870":{"position":[[650,4],[1409,5]]},"889":{"position":[[245,4]]},"890":{"position":[[2170,4],[3234,5],[3270,5],[5981,4],[6202,4]]},"898":{"position":[[1752,5]]},"919":{"position":[[1060,4]]},"950":{"position":[[162,5]]},"959":{"position":[[318,4]]},"961":{"position":[[197,4]]},"964":{"position":[[145,5],[888,4]]},"1001":{"position":[[1294,4]]},"1005":{"position":[[157,4]]},"1012":{"position":[[59,4],[222,4],[346,5]]},"1017":{"position":[[708,4]]},"1029":{"position":[[209,5]]},"1050":{"position":[[253,4],[271,5],[3347,4],[3508,4],[3685,4],[4497,4]]},"1052":{"position":[[187,4],[1500,4]]},"1064":{"position":[[1386,4]]},"1065":{"position":[[227,4]]},"1067":{"position":[[566,5]]},"1071":{"position":[[758,4]]},"1086":{"position":[[92,4]]},"1088":{"position":[[470,4]]},"1104":{"position":[[618,5]]},"1107":{"position":[[234,5]]},"1114":{"position":[[509,4]]},"1120":{"position":[[597,4],[723,4]]},"1132":{"position":[[114,5]]},"1134":{"position":[[265,4]]},"1172":{"position":[[1582,4]]},"1173":{"position":[[882,4]]},"1240":{"position":[[358,5],[513,5]]},"1243":{"position":[[389,4]]},"1245":{"position":[[486,4]]},"1247":{"position":[[448,4]]},"1262":{"position":[[273,4]]},"1273":{"position":[[382,4]]},"1293":{"position":[[273,4]]},"1304":{"position":[[382,4]]},"1321":{"position":[[273,4]]},"1332":{"position":[[382,4]]},"1355":{"position":[[4527,4],[6862,4],[7302,4]]},"1358":{"position":[[2070,5]]},"1359":{"position":[[2372,4]]},"1360":{"position":[[4901,4]]},"1362":{"position":[[4765,4],[11158,4]]},"1364":{"position":[[12125,4]]},"1367":{"position":[[11528,4]]},"1373":{"position":[[5673,4],[8008,4]]},"1374":{"position":[[2114,4]]},"1382":{"position":[[8027,4],[10784,4]]},"1383":{"position":[[3696,4],[3824,4],[5433,4],[7009,4]]},"1384":{"position":[[14091,4],[17858,4],[19984,4],[20865,4]]},"1385":{"position":[[1931,5],[4258,4]]},"1386":{"position":[[690,4]]},"1387":{"position":[[4282,5],[7351,4]]},"1388":{"position":[[8641,4],[9277,4]]},"1393":{"position":[[9180,4]]},"1401":{"position":[[1655,4]]},"1403":{"position":[[4889,4]]},"1415":{"position":[[4140,4]]},"1427":{"position":[[3672,4],[6061,4],[6501,4]]},"1439":{"position":[[4346,4]]},"1458":{"position":[[1125,5]]},"1462":{"position":[[6803,4],[8478,4]]},"1467":{"position":[[7918,4],[9960,4]]},"1477":{"position":[[2024,4]]},"1485":{"position":[[3649,4]]},"1486":{"position":[[2126,4]]}},"keywords":{}}],["suffici",{"_index":2280,"title":{},"content":{"421":{"position":[[171,11]]},"800":{"position":[[171,11]]},"1071":{"position":[[1397,10],[1424,10]]}},"keywords":{}}],["suffix",{"_index":2176,"title":{},"content":{"408":{"position":[[164,6]]},"427":{"position":[[311,7]]},"591":{"position":[[561,6]]},"593":{"position":[[123,7],[197,7]]},"787":{"position":[[164,6]]},"806":{"position":[[311,7]]},"1186":{"position":[[488,8]]},"1187":{"position":[[501,8]]},"1188":{"position":[[5227,8]]},"1228":{"position":[[1789,7],[1816,9]]},"1366":{"position":[[2468,7]]}},"keywords":{}}],["suffix_al",{"_index":7294,"title":{},"content":{"1387":{"position":[[3777,11]]}},"keywords":{}}],["suggest",{"_index":1848,"title":{},"content":{"345":{"position":[[787,9]]},"906":{"position":[[834,9]]},"1232":{"position":[[3286,8]]}},"keywords":{}}],["suit",{"_index":7612,"title":{},"content":{"1398":{"position":[[1087,6],[1173,6],[1222,6],[1326,7],[1339,5],[2787,6],[2947,6],[3921,6],[4028,6],[4090,6],[4626,6],[4662,6],[4716,6],[4746,6],[4829,5],[5216,5],[5255,5],[5344,6],[5492,6],[5571,6],[6005,6],[6519,6],[6882,5],[7018,6]]}},"keywords":{}}],["suitabl",{"_index":463,"title":{},"content":{"15":{"position":[[579,8]]},"635":{"position":[[190,8]]},"638":{"position":[[548,8]]},"663":{"position":[[601,8]]},"901":{"position":[[563,8]]},"902":{"position":[[537,8]]},"1082":{"position":[[518,8]]},"1404":{"position":[[1424,8]]}},"keywords":{}}],["suite_suit",{"_index":7620,"title":{},"content":{"1398":{"position":[[4910,11]]}},"keywords":{}}],["summari",{"_index":591,"title":{"1057":{"position":[[0,7]]},"1183":{"position":[[9,8]]}},"content":{"18":{"position":[[1807,8]]},"1020":{"position":[[104,8]]},"1056":{"position":[[267,7],[356,7],[474,7],[738,7],[766,8]]},"1057":{"position":[[31,7]]},"1136":{"position":[[2421,7]]},"1138":{"position":[[5520,7]]},"1140":{"position":[[5009,7]]},"1142":{"position":[[713,7]]},"1144":{"position":[[361,7]]},"1146":{"position":[[393,7]]},"1148":{"position":[[2870,7],[7413,7],[7437,7]]},"1150":{"position":[[596,7]]},"1152":{"position":[[294,7]]},"1154":{"position":[[449,7]]},"1155":{"position":[[749,7]]},"1156":{"position":[[327,7]]},"1157":{"position":[[232,7]]},"1158":{"position":[[226,7]]},"1159":{"position":[[226,7]]},"1161":{"position":[[490,7]]},"1163":{"position":[[288,7]]},"1165":{"position":[[117,7]]},"1167":{"position":[[6013,7]]},"1169":{"position":[[112,7]]},"1171":{"position":[[787,7],[942,7]]},"1172":{"position":[[2327,7]]},"1173":{"position":[[1014,7]]},"1174":{"position":[[442,7]]},"1175":{"position":[[438,7]]},"1176":{"position":[[607,7]]},"1177":{"position":[[528,7]]},"1178":{"position":[[845,7]]},"1179":{"position":[[642,7]]},"1180":{"position":[[913,7]]},"1181":{"position":[[702,7]]},"1182":{"position":[[476,7]]},"1183":{"position":[[71,7],[431,7]]},"1185":{"position":[[276,7]]},"1186":{"position":[[965,7],[989,7],[1094,7]]},"1187":{"position":[[978,7],[1002,7],[1107,7]]},"1188":{"position":[[5704,7],[5728,7],[5833,7]]},"1190":{"position":[[1607,7]]},"1191":{"position":[[517,7]]},"1192":{"position":[[432,7]]},"1193":{"position":[[744,7]]},"1194":{"position":[[384,7]]},"1195":{"position":[[362,7]]},"1196":{"position":[[172,7]]},"1197":{"position":[[332,7]]},"1198":{"position":[[342,7]]},"1199":{"position":[[370,7]]},"1200":{"position":[[237,7]]},"1201":{"position":[[320,7]]},"1202":{"position":[[384,7],[1462,7],[5859,7]]},"1203":{"position":[[294,7]]},"1204":{"position":[[398,7],[4620,7],[5550,7],[6452,7],[7438,7],[8392,7],[9339,7],[10269,7]]},"1205":{"position":[[1467,7]]},"1206":{"position":[[198,7]]},"1207":{"position":[[355,7]]},"1209":{"position":[[1703,7]]},"1211":{"position":[[347,7]]},"1213":{"position":[[118,7]]},"1215":{"position":[[202,7]]},"1217":{"position":[[4754,7]]},"1219":{"position":[[1000,7]]},"1221":{"position":[[321,7]]},"1222":{"position":[[124,7]]},"1223":{"position":[[134,7]]},"1224":{"position":[[314,7]]},"1226":{"position":[[5222,7]]},"1228":{"position":[[6835,7]]},"1235":{"position":[[2963,7]]},"1237":{"position":[[5392,7]]}},"keywords":{}}],["summaries).anonym",{"_index":736,"title":{},"content":{"23":{"position":[[1863,20]]}},"keywords":{}}],["summary.csv",{"_index":5355,"title":{},"content":{"1056":{"position":[[293,11],[382,11]]}},"keywords":{}}],["super",{"_index":169,"title":{},"content":{"9":{"position":[[89,5]]},"1136":{"position":[[5147,6]]},"1138":{"position":[[8809,6]]},"1140":{"position":[[7735,6]]},"1142":{"position":[[3179,6]]},"1146":{"position":[[3119,6]]},"1148":{"position":[[6159,6]]},"1155":{"position":[[3215,6]]},"1156":{"position":[[2793,6]]},"1161":{"position":[[686,6]]},"1167":{"position":[[8739,6]]},"1181":{"position":[[898,6]]},"1186":{"position":[[4383,6]]},"1187":{"position":[[4396,6]]},"1188":{"position":[[9122,6]]},"1191":{"position":[[2983,6]]},"1192":{"position":[[3158,6]]},"1193":{"position":[[3210,6]]},"1194":{"position":[[2850,6]]},"1195":{"position":[[2828,6]]},"1196":{"position":[[2638,6]]},"1197":{"position":[[3621,6]]},"1198":{"position":[[3631,6]]},"1199":{"position":[[3659,6]]},"1200":{"position":[[3526,6]]},"1201":{"position":[[2786,6]]},"1202":{"position":[[3928,6],[8325,6]]},"1203":{"position":[[3020,6]]},"1204":{"position":[[2864,6]]},"1205":{"position":[[4193,6]]},"1206":{"position":[[2664,6]]},"1207":{"position":[[2821,6]]},"1209":{"position":[[4169,6]]},"1217":{"position":[[7480,6]]},"1222":{"position":[[2590,6]]},"1223":{"position":[[2600,6]]},"1226":{"position":[[7948,6]]},"1228":{"position":[[9561,6]]},"1235":{"position":[[5429,6]]},"1237":{"position":[[8118,6]]},"1360":{"position":[[5822,5]]}},"keywords":{}}],["super_fast",{"_index":2314,"title":{},"content":{"429":{"position":[[242,10]]},"808":{"position":[[242,10]]}},"keywords":{}}],["superconsol",{"_index":5761,"title":{"1118":{"position":[[0,13]]}},"content":{"1118":{"position":[[4,12]]},"1120":{"position":[[4,12],[518,12]]},"1136":{"position":[[4417,12],[5206,12],[5268,12],[5518,12]]},"1138":{"position":[[8079,12],[8868,12],[8930,12],[9180,12]]},"1140":{"position":[[7005,12],[7794,12],[7856,12],[8106,12]]},"1142":{"position":[[2449,12],[3238,12],[3300,12],[3550,12]]},"1146":{"position":[[2389,12],[3178,12],[3240,12],[3490,12]]},"1148":{"position":[[5429,12],[6218,12],[6280,12],[6530,12]]},"1155":{"position":[[2485,12],[3274,12],[3336,12],[3586,12]]},"1156":{"position":[[2063,12],[2852,12],[2914,12],[3164,12]]},"1161":{"position":[[745,12],[807,12],[1057,12]]},"1167":{"position":[[318,12],[8009,12],[8798,12],[8860,12],[9110,12]]},"1169":{"position":[[1848,12]]},"1181":{"position":[[80,13],[957,12],[1019,12],[1269,12]]},"1186":{"position":[[3653,12],[4442,12],[4504,12],[4754,12]]},"1187":{"position":[[3666,12],[4455,12],[4517,12],[4767,12]]},"1188":{"position":[[8392,12],[9181,12],[9243,12],[9493,12]]},"1191":{"position":[[2253,12],[3042,12],[3104,12],[3354,12]]},"1192":{"position":[[2428,12],[3217,12],[3279,12],[3529,12]]},"1193":{"position":[[2480,12],[3269,12],[3331,12],[3581,12]]},"1194":{"position":[[2120,12],[2909,12],[2971,12],[3221,12]]},"1195":{"position":[[2098,12],[2887,12],[2949,12],[3199,12]]},"1196":{"position":[[1908,12],[2697,12],[2759,12],[3009,12]]},"1197":{"position":[[2891,12],[3680,12],[3742,12],[3992,12]]},"1198":{"position":[[2901,12],[3690,12],[3752,12],[4002,12]]},"1199":{"position":[[2929,12],[3718,12],[3780,12],[4030,12]]},"1200":{"position":[[2796,12],[3585,12],[3647,12],[3897,12]]},"1201":{"position":[[2056,12],[2845,12],[2907,12],[3157,12]]},"1202":{"position":[[3198,12],[3987,12],[4049,12],[4299,12],[7595,12],[8384,12],[8446,12],[8696,12]]},"1203":{"position":[[2290,12],[3079,12],[3141,12],[3391,12]]},"1204":{"position":[[2134,12],[2923,12],[2985,12],[3235,12]]},"1205":{"position":[[3463,12],[4252,12],[4314,12],[4564,12]]},"1206":{"position":[[1934,12],[2723,12],[2785,12],[3035,12]]},"1207":{"position":[[2091,12],[2880,12],[2942,12],[3192,12]]},"1209":{"position":[[3439,12],[4228,12],[4290,12],[4540,12]]},"1217":{"position":[[6750,12],[7539,12],[7601,12],[7851,12]]},"1219":{"position":[[2736,12]]},"1222":{"position":[[1860,12],[2649,12],[2711,12],[2961,12]]},"1223":{"position":[[1870,12],[2659,12],[2721,12],[2971,12]]},"1224":{"position":[[2050,12]]},"1226":{"position":[[7218,12],[8007,12],[8069,12],[8319,12]]},"1228":{"position":[[8831,12],[9620,12],[9682,12],[9932,12]]},"1235":{"position":[[4699,12],[5488,12],[5550,12],[5800,12]]},"1237":{"position":[[7388,12],[8177,12],[8239,12],[8489,12]]},"1244":{"position":[[105,12]]}},"keywords":{}}],["superior",{"_index":5749,"title":{},"content":{"1113":{"position":[[279,8]]}},"keywords":{}}],["supermodul",{"_index":4485,"title":{},"content":{"919":{"position":[[640,12]]}},"keywords":{}}],["supermodule_target_graph",{"_index":8489,"title":{"1479":{"position":[[0,25]]}},"content":{"1479":{"position":[[4,25]]}},"keywords":{}}],["superset",{"_index":5052,"title":{},"content":{"1013":{"position":[[463,8]]}},"keywords":{}}],["supplementari",{"_index":7535,"title":{},"content":{"1394":{"position":[[544,13]]}},"keywords":{}}],["suppli",{"_index":1092,"title":{},"content":{"89":{"position":[[954,6]]},"126":{"position":[[180,8]]},"131":{"position":[[279,8],[450,8]]},"132":{"position":[[159,8]]},"134":{"position":[[168,8]]},"135":{"position":[[100,8]]},"137":{"position":[[124,8]]},"145":{"position":[[143,8]]},"147":{"position":[[121,8]]},"148":{"position":[[173,8]]},"221":{"position":[[954,6]]},"249":{"position":[[180,8]]},"254":{"position":[[279,8],[450,8]]},"255":{"position":[[159,8]]},"257":{"position":[[168,8]]},"258":{"position":[[100,8]]},"260":{"position":[[124,8]]},"268":{"position":[[143,8]]},"270":{"position":[[121,8]]},"271":{"position":[[173,8]]},"304":{"position":[[247,9]]},"715":{"position":[[735,6]]},"1004":{"position":[[1726,9]]},"1136":{"position":[[1327,7]]},"1148":{"position":[[1683,7]]},"1205":{"position":[[807,7]]},"1209":{"position":[[560,7]]},"1226":{"position":[[2500,7]]},"1228":{"position":[[2437,8]]},"1235":{"position":[[1820,7]]},"1237":{"position":[[2670,7]]},"1362":{"position":[[4802,8]]},"1373":{"position":[[2786,8]]},"1381":{"position":[[710,8]]},"1382":{"position":[[3041,8]]},"1384":{"position":[[21288,8]]},"1390":{"position":[[620,8]]},"1405":{"position":[[1137,8],[1197,8]]},"1407":{"position":[[1166,8]]},"1408":{"position":[[945,8]]},"1448":{"position":[[1003,8]]},"1449":{"position":[[943,8]]},"1471":{"position":[[1703,8]]},"1472":{"position":[[1662,8]]},"1473":{"position":[[1958,8]]},"1486":{"position":[[4575,8]]}},"keywords":{}}],["support",{"_index":15,"title":{"575":{"position":[[18,9]]},"922":{"position":[[4,7]]},"925":{"position":[[5,7]]},"1243":{"position":[[33,11]]}},"content":{"3":{"position":[[38,7]]},"9":{"position":[[2313,7],[2525,8],[2841,7]]},"23":{"position":[[3160,8]]},"84":{"position":[[340,7]]},"94":{"position":[[1913,10]]},"121":{"position":[[282,9]]},"216":{"position":[[340,7]]},"226":{"position":[[1913,10]]},"233":{"position":[[262,7]]},"450":{"position":[[166,8]]},"481":{"position":[[71,7]]},"498":{"position":[[35,8]]},"530":{"position":[[282,9]]},"573":{"position":[[183,8]]},"575":{"position":[[10,7]]},"576":{"position":[[194,10]]},"577":{"position":[[33,8],[94,8]]},"582":{"position":[[52,8]]},"585":{"position":[[31,9]]},"587":{"position":[[687,9]]},"651":{"position":[[284,9]]},"652":{"position":[[362,9]]},"654":{"position":[[168,7]]},"655":{"position":[[165,7]]},"676":{"position":[[6,8]]},"679":{"position":[[118,7],[451,7]]},"685":{"position":[[305,9]]},"693":{"position":[[4539,9],[4616,8]]},"696":{"position":[[134,7],[184,7]]},"700":{"position":[[5,8]]},"702":{"position":[[416,9],[436,7]]},"710":{"position":[[22,9]]},"829":{"position":[[166,8]]},"832":{"position":[[989,8]]},"846":{"position":[[6,8]]},"858":{"position":[[94,8]]},"869":{"position":[[604,7]]},"882":{"position":[[49,7]]},"890":{"position":[[3598,10],[4038,7],[5015,7]]},"908":{"position":[[38,7]]},"923":{"position":[[139,7]]},"924":{"position":[[1684,7]]},"926":{"position":[[46,8],[202,7]]},"935":{"position":[[20,7]]},"937":{"position":[[250,10],[3302,8]]},"947":{"position":[[1282,7]]},"951":{"position":[[355,7],[1444,7]]},"959":{"position":[[481,7]]},"972":{"position":[[15,7],[228,7]]},"1019":{"position":[[30,7]]},"1020":{"position":[[11,8]]},"1044":{"position":[[2101,7],[2150,8],[2159,9]]},"1049":{"position":[[94,7],[480,9]]},"1050":{"position":[[2163,9],[2258,9]]},"1056":{"position":[[6,8]]},"1072":{"position":[[316,7]]},"1083":{"position":[[208,9]]},"1087":{"position":[[345,7]]},"1088":{"position":[[214,9]]},"1094":{"position":[[16,8]]},"1098":{"position":[[106,7]]},"1102":{"position":[[170,9]]},"1120":{"position":[[457,7]]},"1132":{"position":[[6,8],[339,9]]},"1138":{"position":[[2011,10]]},"1140":{"position":[[1500,10]]},"1156":{"position":[[74,7]]},"1167":{"position":[[2504,10]]},"1188":{"position":[[1553,10]]},"1190":{"position":[[1174,7]]},"1205":{"position":[[61,7]]},"1217":{"position":[[1245,10]]},"1228":{"position":[[1806,9],[3326,10]]},"1243":{"position":[[14,10]]},"1259":{"position":[[1248,7]]},"1272":{"position":[[82,7]]},"1290":{"position":[[1248,7]]},"1303":{"position":[[82,7]]},"1318":{"position":[[1248,7]]},"1331":{"position":[[82,7]]},"1345":{"position":[[92,9]]},"1362":{"position":[[13307,8]]},"1364":{"position":[[14007,8]]},"1367":{"position":[[13215,8]]},"1370":{"position":[[2965,8]]},"1374":{"position":[[1765,7],[1869,9],[2017,7]]},"1384":{"position":[[17294,8],[19390,9]]},"1392":{"position":[[703,8]]},"1393":{"position":[[4644,8]]},"1405":{"position":[[2527,8]]},"1407":{"position":[[2948,8]]},"1408":{"position":[[2065,8]]},"1410":{"position":[[2972,8]]},"1415":{"position":[[5367,9]]},"1422":{"position":[[3426,9],[3672,9]]},"1423":{"position":[[2443,9]]},"1429":{"position":[[6095,9]]},"1440":{"position":[[5995,9]]},"1448":{"position":[[1992,8],[2581,8]]},"1449":{"position":[[1926,8],[2515,8]]},"1454":{"position":[[9403,9],[9497,8]]},"1457":{"position":[[1576,8]]},"1462":{"position":[[8469,8]]},"1467":{"position":[[9951,8]]},"1471":{"position":[[3202,8],[3356,8],[5665,9]]},"1472":{"position":[[2921,8],[3040,8],[3940,8],[6551,9]]},"1473":{"position":[[3236,8],[3390,8],[5836,9]]},"1478":{"position":[[2734,9]]}},"keywords":{}}],["support_shlib_interfac",{"_index":7295,"title":{},"content":{"1387":{"position":[[3799,25]]}},"keywords":{}}],["supported_platforms_regex",{"_index":6771,"title":{},"content":{"1362":{"position":[[4270,26]]},"1364":{"position":[[4255,26]]},"1367":{"position":[[5811,26]]},"1384":{"position":[[3845,26],[19249,26]]},"1387":{"position":[[3835,26]]},"1415":{"position":[[2291,26]]},"1453":{"position":[[814,26]]},"1454":{"position":[[2267,26]]},"1455":{"position":[[987,26]]},"1480":{"position":[[852,26]]}},"keywords":{}}],["supportremote_execution_queue_time_threshold_",{"_index":1900,"title":{},"content":{"362":{"position":[[1760,47]]},"741":{"position":[[1760,47]]}},"keywords":{}}],["supports_abi_generation_from_sourc",{"_index":7946,"title":{},"content":{"1425":{"position":[[627,36]]},"1428":{"position":[[609,36]]}},"keywords":{}}],["supports_cxx_interop_requirement_at_import",{"_index":8505,"title":{},"content":{"1481":{"position":[[1168,43]]}},"keywords":{}}],["supports_distributed_thinlto",{"_index":7412,"title":{},"content":{"1389":{"position":[[4216,29]]}},"keywords":{}}],["supports_header_symlink_subtarget",{"_index":6927,"title":{},"content":{"1364":{"position":[[4298,34]]},"1384":{"position":[[3888,34]]}},"keywords":{}}],["supports_merged_link",{"_index":6772,"title":{},"content":{"1362":{"position":[[4313,24]]},"1364":{"position":[[4343,24]]},"1367":{"position":[[5854,24]]},"1384":{"position":[[3933,24]]},"1387":{"position":[[3878,24]]},"1454":{"position":[[2310,24]]}},"keywords":{}}],["supports_python_dlopen",{"_index":7198,"title":{},"content":{"1384":{"position":[[3975,23]]},"1454":{"position":[[2352,23]]},"1472":{"position":[[1519,23]]}},"keywords":{}}],["supports_relative_resource_dir",{"_index":8506,"title":{},"content":{"1481":{"position":[[1222,31]]}},"keywords":{}}],["supports_shared_library_interfac",{"_index":8154,"title":{},"content":{"1454":{"position":[[2386,34]]},"1455":{"position":[[1030,34]]}},"keywords":{}}],["supports_shlib_interfac",{"_index":6928,"title":{},"content":{"1364":{"position":[[4385,26]]},"1384":{"position":[[4016,26]]}},"keywords":{}}],["supports_swift_cxx_interoperability_mod",{"_index":8507,"title":{},"content":{"1481":{"position":[[1264,41]]}},"keywords":{}}],["supports_swift_importing_obj_c_forward_declar",{"_index":8508,"title":{},"content":{"1481":{"position":[[1316,52]]}},"keywords":{}}],["suppos",{"_index":3036,"title":{},"content":{"622":{"position":[[1224,7]]},"937":{"position":[[1788,7],[2077,7]]},"938":{"position":[[368,7]]},"940":{"position":[[975,7]]},"943":{"position":[[341,7],[1541,7]]},"945":{"position":[[834,7]]},"947":{"position":[[757,7]]}},"keywords":{}}],["suppress",{"_index":6974,"title":{},"content":{"1367":{"position":[[13975,8]]}},"keywords":{}}],["sure",{"_index":1057,"title":{},"content":{"85":{"position":[[477,4]]},"217":{"position":[[477,4]]},"720":{"position":[[179,4]]},"889":{"position":[[1226,4]]},"912":{"position":[[62,4]]},"1172":{"position":[[664,4]]},"1351":{"position":[[5195,4]]},"1353":{"position":[[2736,4]]},"1407":{"position":[[2488,4]]},"1429":{"position":[[5370,4]]},"1440":{"position":[[5364,4]]},"1477":{"position":[[3030,4]]},"1478":{"position":[[3276,4]]}},"keywords":{}}],["surfac",{"_index":6809,"title":{},"content":{"1362":{"position":[[10523,7]]},"1382":{"position":[[7392,7]]},"1388":{"position":[[8261,7]]},"1416":{"position":[[2689,7]]},"1462":{"position":[[6309,7]]},"1467":{"position":[[7423,7]]}},"keywords":{}}],["surpris",{"_index":278,"title":{},"content":{"9":{"position":[[2187,10]]}},"keywords":{}}],["svg",{"_index":5441,"title":{},"content":{"1059":{"position":[[37,4]]}},"keywords":{}}],["swallow",{"_index":5770,"title":{"1239":{"position":[[19,11]]}},"content":{"1120":{"position":[[337,10]]}},"keywords":{}}],["swap",{"_index":3494,"title":{},"content":{"690":{"position":[[2373,4]]},"1071":{"position":[[1120,4]]}},"keywords":{}}],["swap"",{"_index":3475,"title":{},"content":{"690":{"position":[[1122,11]]}},"keywords":{}}],["swift",{"_index":631,"title":{},"content":{"22":{"position":[[123,6]]},"23":{"position":[[2146,5]]},"1362":{"position":[[13427,5]]},"1364":{"position":[[14127,5]]},"1367":{"position":[[13335,5]]}},"keywords":{}}],["swift_compilation_mod",{"_index":6773,"title":{},"content":{"1362":{"position":[[4355,23]]},"1364":{"position":[[4422,23]]},"1367":{"position":[[5896,23]]}},"keywords":{}}],["swift_compiler_flag",{"_index":6774,"title":{},"content":{"1362":{"position":[[4388,21]]},"1364":{"position":[[4455,21]]},"1367":{"position":[[5929,21]]}},"keywords":{}}],["swift_ide_test_tool",{"_index":8509,"title":{},"content":{"1481":{"position":[[1379,20]]}},"keywords":{}}],["swift_librari",{"_index":8492,"title":{"1480":{"position":[[0,14]]}},"content":{"1480":{"position":[[4,14]]}},"keywords":{}}],["swift_package_nam",{"_index":6775,"title":{},"content":{"1362":{"position":[[4425,19]]},"1364":{"position":[[4492,19]]},"1367":{"position":[[5966,19]]}},"keywords":{}}],["swift_stdlib_tool",{"_index":8510,"title":{},"content":{"1481":{"position":[[1416,18]]}},"keywords":{}}],["swift_stdlib_tool_flag",{"_index":8511,"title":{},"content":{"1481":{"position":[[1440,24]]}},"keywords":{}}],["swift_toolchain",{"_index":7005,"title":{"1481":{"position":[[0,16]]}},"content":{"1368":{"position":[[1217,16]]},"1481":{"position":[[4,16]]}},"keywords":{}}],["swift_vers",{"_index":6776,"title":{},"content":{"1362":{"position":[[4461,14]]},"1364":{"position":[[4528,14]]},"1367":{"position":[[6002,14]]}},"keywords":{}}],["swiftc",{"_index":8512,"title":{},"content":{"1481":{"position":[[1480,7]]}},"keywords":{}}],["swiftc_flag",{"_index":8513,"title":{},"content":{"1481":{"position":[[1493,13]]}},"keywords":{}}],["switch",{"_index":192,"title":{},"content":{"9":{"position":[[450,9]]},"916":{"position":[[125,6]]},"995":{"position":[[833,9]]},"997":{"position":[[137,6]]},"1405":{"position":[[2711,6]]},"1407":{"position":[[3132,6]]},"1410":{"position":[[3234,6]]}},"keywords":{}}],["switch.buckl",{"_index":65,"title":{},"content":{"4":{"position":[[482,13]]}},"keywords":{}}],["symbol",{"_index":1329,"title":{},"content":{"122":{"position":[[31,6]]},"368":{"position":[[963,7],[2300,7]]},"421":{"position":[[97,8],[138,6],[299,7]]},"531":{"position":[[31,6]]},"693":{"position":[[5797,7],[5858,7]]},"747":{"position":[[963,7],[2300,7]]},"800":{"position":[[97,8],[138,6],[299,7]]},"911":{"position":[[181,8]]},"912":{"position":[[17,6],[112,6]]},"998":{"position":[[61,6],[125,6]]},"1001":{"position":[[198,6],[550,6],[1549,7]]},"1064":{"position":[[254,6],[648,6]]},"1154":{"position":[[33,7],[157,7]]},"1155":{"position":[[45,7],[198,6],[281,6]]},"1282":{"position":[[79,7]]},"1283":{"position":[[92,7]]},"1284":{"position":[[72,7]]},"1313":{"position":[[79,7]]},"1314":{"position":[[92,7]]},"1315":{"position":[[72,7]]},"1341":{"position":[[79,7]]},"1342":{"position":[[92,7]]},"1343":{"position":[[72,7]]},"1359":{"position":[[2258,8]]},"1367":{"position":[[13654,7],[13784,7],[14042,7]]},"1382":{"position":[[12003,7]]},"1416":{"position":[[2480,7]]},"1420":{"position":[[2162,7]]},"1471":{"position":[[4853,7]]},"1472":{"position":[[3804,7],[5437,7]]},"1473":{"position":[[5174,7]]}},"keywords":{}}],["symbol.fil",{"_index":2666,"title":{},"content":{"581":{"position":[[441,11]]}},"keywords":{}}],["symbol_pattern",{"_index":5955,"title":{},"content":{"1155":{"position":[[98,20],[130,20]]}},"keywords":{}}],["symbols,her",{"_index":4984,"title":{},"content":{"998":{"position":[[106,13]]}},"keywords":{}}],["symlink",{"_index":476,"title":{"911":{"position":[[0,9]]},"1038":{"position":[[24,9]]}},"content":{"16":{"position":[[22,9]]},"94":{"position":[[2352,8]]},"95":{"position":[[111,7],[268,7]]},"96":{"position":[[167,9]]},"226":{"position":[[2352,8]]},"227":{"position":[[111,7],[268,7]]},"228":{"position":[[167,9]]},"680":{"position":[[1098,9],[1260,8]]},"911":{"position":[[35,9],[96,7],[296,7]]},"1038":{"position":[[32,7]]},"1050":{"position":[[1401,8],[1493,7]]},"1105":{"position":[[48,7]]},"1232":{"position":[[3228,7],[3399,9]]},"1407":{"position":[[4052,9]]}},"keywords":{}}],["symlink'",{"_index":5129,"title":{},"content":{"1038":{"position":[[71,9]]}},"keywords":{}}],["symlink^<symlink^>",{"_index":4466,"title":{},"content":{"911":{"position":[[261,24]]}},"keywords":{}}],["symlink_dir)skip",{"_index":4041,"title":{},"content":{"867":{"position":[[1893,20]]}},"keywords":{}}],["symlinked_dir",{"_index":974,"title":{},"content":{"69":{"position":[[505,18]]},"408":{"position":[[1052,18]]},"457":{"position":[[505,18]]},"787":{"position":[[1052,18]]}},"keywords":{}}],["symlinks—eith",{"_index":3408,"title":{},"content":{"680":{"position":[[1169,15]]}},"keywords":{}}],["sync",{"_index":5312,"title":{},"content":{"1050":{"position":[[4422,4]]}},"keywords":{}}],["synchron",{"_index":3840,"title":{"837":{"position":[[12,13]]}},"content":{"837":{"position":[[23,14]]},"855":{"position":[[13,11]]},"1486":{"position":[[5252,13]]}},"keywords":{}}],["syntact",{"_index":3795,"title":{},"content":{"717":{"position":[[105,13]]},"1045":{"position":[[316,13]]},"1105":{"position":[[292,9]]}},"keywords":{}}],["syntax",{"_index":2637,"title":{"934":{"position":[[19,6]]},"967":{"position":[[15,6]]}},"content":{"577":{"position":[[150,6]]},"578":{"position":[[83,6]]},"581":{"position":[[722,7]]},"582":{"position":[[463,7]]},"584":{"position":[[777,6]]},"927":{"position":[[0,6]]},"937":{"position":[[3041,6]]},"968":{"position":[[93,7]]},"970":{"position":[[12,6],[157,6]]},"1345":{"position":[[479,6],[756,6],[1056,6]]},"1360":{"position":[[3304,7]]},"1362":{"position":[[11393,7],[11823,7],[12202,7]]},"1364":{"position":[[8445,7],[12360,7],[12707,7]]},"1367":{"position":[[11763,7],[12110,7]]},"1373":{"position":[[6415,7],[6844,7],[7242,7]]},"1382":{"position":[[8262,7],[8612,7],[9164,7],[9563,7],[9918,7]]},"1383":{"position":[[2993,7],[5911,7]]},"1384":{"position":[[7539,7],[7953,7],[8631,7],[9117,7],[10001,6],[14607,7],[14957,7],[15509,7],[15908,7],[16263,7],[19337,7]]},"1385":{"position":[[4492,7],[4841,7],[5392,7],[5790,7],[6144,7]]},"1387":{"position":[[7865,7],[8214,7],[8765,7],[9163,7],[9517,7]]},"1397":{"position":[[3248,7]]},"1403":{"position":[[2719,7]]},"1415":{"position":[[4374,7],[4803,7],[5314,7]]},"1416":{"position":[[3230,7]]},"1420":{"position":[[2367,7]]},"1448":{"position":[[2313,7]]},"1449":{"position":[[2247,7]]},"1454":{"position":[[5939,7],[6352,7],[6905,7],[8075,7],[8387,7],[8707,7],[9350,7]]},"1455":{"position":[[2710,7]]},"1465":{"position":[[3417,7],[3826,7]]},"1467":{"position":[[9686,7]]},"1485":{"position":[[2876,7]]},"1487":{"position":[[1747,7]]}},"keywords":{}}],["syntax.som",{"_index":4384,"title":{},"content":{"900":{"position":[[1715,11]]}},"keywords":{}}],["syntaxbxl",{"_index":4128,"title":{},"content":{"881":{"position":[[15,9]]}},"keywords":{}}],["system",{"_index":73,"title":{},"content":{"4":{"position":[[608,6]]},"6":{"position":[[355,6]]},"7":{"position":[[0,6],[156,8]]},"11":{"position":[[49,8]]},"17":{"position":[[594,7],[891,7]]},"18":{"position":[[1066,7]]},"22":{"position":[[340,7],[412,8],[467,8],[732,6],[970,8]]},"23":{"position":[[2748,6],[2841,6]]},"418":{"position":[[1141,8]]},"572":{"position":[[103,7]]},"581":{"position":[[368,8],[502,6]]},"584":{"position":[[981,7]]},"693":{"position":[[3909,6],[7883,6]]},"706":{"position":[[402,6]]},"715":{"position":[[17,6],[154,7]]},"797":{"position":[[1141,8]]},"900":{"position":[[1496,6],[1941,6]]},"951":{"position":[[233,6]]},"1004":{"position":[[1043,6],[1197,6]]},"1052":{"position":[[1089,6]]},"1362":{"position":[[8081,6]]},"1364":{"position":[[8930,6]]},"1367":{"position":[[8169,6]]},"1381":{"position":[[1728,6]]},"1384":{"position":[[6088,6]]},"1393":{"position":[[6535,6]]},"1394":{"position":[[1712,6]]},"1395":{"position":[[2759,6]]},"1396":{"position":[[1612,6]]},"1397":{"position":[[1929,6],[2310,6]]},"1398":{"position":[[3737,6]]},"1455":{"position":[[2976,6]]},"1462":{"position":[[8512,8]]},"1467":{"position":[[9994,8]]}},"keywords":{}}],["system"",{"_index":2384,"title":{},"content":{"445":{"position":[[157,13]]},"824":{"position":[[157,13]]}},"keywords":{}}],["system.dl",{"_index":7138,"title":{},"content":{"1381":{"position":[[2709,13]]},"1456":{"position":[[1702,13]]}},"keywords":{}}],["system.loadlibrari",{"_index":6621,"title":{},"content":{"1358":{"position":[[2467,21]]}},"keywords":{}}],["system.slow",{"_index":210,"title":{},"content":{"9":{"position":[[880,11]]}},"keywords":{}}],["system_cxx_toolchain",{"_index":572,"title":{},"content":{"18":{"position":[[929,20],[1270,21]]}},"keywords":{}}],["system_python_bootstrap_toolchain",{"_index":573,"title":{},"content":{"18":{"position":[[954,34],[1353,34]]}},"keywords":{}}],["systems—includ",{"_index":6649,"title":{},"content":{"1360":{"position":[[2860,17]]},"1383":{"position":[[2445,17]]},"1403":{"position":[[2275,17]]}},"keywords":{}}],["t",{"_index":2633,"title":{},"content":{"576":{"position":[[268,2]]},"964":{"position":[[571,1],[681,3],[1010,1]]}},"keywords":{}}],["t126638795",{"_index":6285,"title":{},"content":{"1272":{"position":[[260,11]]},"1303":{"position":[[260,11]]},"1331":{"position":[[260,11]]}},"keywords":{}}],["tab",{"_index":2634,"title":{},"content":{"576":{"position":[[271,3]]},"675":{"position":[[768,3],[1117,3]]},"1172":{"position":[[93,3]]},"1178":{"position":[[67,3]]},"1180":{"position":[[59,3]]}},"keywords":{}}],["tabl",{"_index":3617,"title":{},"content":{"702":{"position":[[14,5]]},"894":{"position":[[19,5]]}},"keywords":{}}],["tabul",{"_index":5990,"title":{},"content":{"1172":{"position":[[1263,10],[1292,10]]},"1173":{"position":[[563,10],[592,10]]},"1178":{"position":[[765,10],[794,10]]},"1179":{"position":[[503,10],[532,10]]},"1180":{"position":[[833,10],[862,10]]}},"keywords":{}}],["tag",{"_index":1025,"title":{},"content":{"83":{"position":[[68,4]]},"89":{"position":[[636,3]]},"215":{"position":[[68,4]]},"221":{"position":[[636,3]]},"1031":{"position":[[70,3],[111,3],[217,3],[270,3],[382,4],[499,7],[723,6],[796,3]]},"1033":{"position":[[120,6],[296,7]]},"1387":{"position":[[6552,4]]},"1405":{"position":[[1048,5],[3849,4]]},"1407":{"position":[[1075,5],[4468,4]]},"1410":{"position":[[1466,5],[5248,5],[5260,4]]},"1439":{"position":[[6754,4]]},"1461":{"position":[[2569,4],[2685,4]]},"1462":{"position":[[6056,4]]},"1465":{"position":[[3028,4]]},"1467":{"position":[[7168,4]]},"1468":{"position":[[1446,4]]}},"keywords":{}}],["tag_artifact",{"_index":5106,"title":{},"content":{"1031":{"position":[[351,15]]}},"keywords":{}}],["tagged_command_lin",{"_index":1167,"title":{},"content":{"94":{"position":[[148,19],[455,19]]},"98":{"position":[[190,19]]},"99":{"position":[[231,19]]},"226":{"position":[[148,19],[455,19]]},"230":{"position":[[190,19]]},"231":{"position":[[231,19]]},"345":{"position":[[225,19]]},"368":{"position":[[244,19],[3208,19]]},"377":{"position":[[153,19]]},"386":{"position":[[139,19]]},"405":{"position":[[141,19],[389,19]]},"417":{"position":[[169,19]]},"747":{"position":[[244,19],[3208,19]]},"756":{"position":[[153,19]]},"765":{"position":[[139,19]]},"784":{"position":[[141,19],[389,19]]},"796":{"position":[[169,19]]}},"keywords":{}}],["tagged_dep_fil",{"_index":5110,"title":{},"content":{"1031":{"position":[[627,15],[961,16]]}},"keywords":{}}],["tagged_head",{"_index":5107,"title":{},"content":{"1031":{"position":[[507,14],[911,15]]}},"keywords":{}}],["tagged_valu",{"_index":1267,"title":{},"content":{"99":{"position":[[253,12]]},"231":{"position":[[253,12]]}},"keywords":{}}],["tailer",{"_index":8085,"title":{},"content":{"1443":{"position":[[1816,9],[1840,9]]},"1462":{"position":[[8987,9],[9011,9]]}},"keywords":{}}],["tailer.pi",{"_index":8341,"title":{},"content":{"1462":{"position":[[9108,10]]}},"keywords":{}}],["tailerutil",{"_index":8086,"title":{},"content":{"1443":{"position":[[1859,15],[1900,14]]},"1462":{"position":[[9030,15],[9074,14]]}},"keywords":{}}],["take",{"_index":205,"title":{},"content":{"9":{"position":[[733,5]]},"10":{"position":[[499,5]]},"17":{"position":[[167,4]]},"92":{"position":[[2206,5]]},"94":{"position":[[3560,4],[3689,4]]},"125":{"position":[[72,5]]},"126":{"position":[[132,5],[390,5]]},"127":{"position":[[73,5]]},"131":{"position":[[232,5]]},"132":{"position":[[131,5]]},"133":{"position":[[117,5]]},"134":{"position":[[121,5]]},"135":{"position":[[72,5]]},"136":{"position":[[74,5]]},"137":{"position":[[96,5]]},"140":{"position":[[98,5]]},"145":{"position":[[108,5]]},"147":{"position":[[91,5]]},"148":{"position":[[126,5]]},"150":{"position":[[89,5]]},"224":{"position":[[2206,5]]},"226":{"position":[[3560,4],[3689,4]]},"242":{"position":[[187,5]]},"243":{"position":[[478,5]]},"248":{"position":[[72,5]]},"249":{"position":[[132,5],[390,5]]},"250":{"position":[[73,5]]},"254":{"position":[[232,5]]},"255":{"position":[[131,5]]},"256":{"position":[[117,5]]},"257":{"position":[[121,5]]},"258":{"position":[[72,5]]},"259":{"position":[[74,5]]},"260":{"position":[[96,5]]},"263":{"position":[[98,5]]},"268":{"position":[[108,5]]},"270":{"position":[[91,5]]},"271":{"position":[[126,5]]},"273":{"position":[[89,5]]},"295":{"position":[[171,5]]},"302":{"position":[[171,5]]},"304":{"position":[[100,6]]},"309":{"position":[[726,5]]},"315":{"position":[[107,6],[153,5]]},"318":{"position":[[219,5]]},"416":{"position":[[172,5]]},"417":{"position":[[401,5]]},"422":{"position":[[180,5]]},"513":{"position":[[183,5]]},"514":{"position":[[175,5]]},"627":{"position":[[46,4]]},"680":{"position":[[1060,4]]},"683":{"position":[[29,4],[152,6],[276,4]]},"687":{"position":[[137,6]]},"693":{"position":[[310,5],[431,5],[1510,5],[2668,5]]},"697":{"position":[[0,4]]},"711":{"position":[[968,5]]},"718":{"position":[[262,4]]},"724":{"position":[[25,5]]},"795":{"position":[[172,5]]},"796":{"position":[[401,5]]},"801":{"position":[[180,5]]},"840":{"position":[[1170,5]]},"846":{"position":[[649,5]]},"864":{"position":[[66,5],[1464,5]]},"878":{"position":[[1056,4]]},"889":{"position":[[663,5]]},"904":{"position":[[326,4]]},"921":{"position":[[36,4]]},"924":{"position":[[1313,4]]},"940":{"position":[[411,5]]},"945":{"position":[[304,4]]},"955":{"position":[[257,4],[1293,4],[1392,4]]},"1004":{"position":[[429,5],[741,5]]},"1005":{"position":[[55,5]]},"1032":{"position":[[308,4]]},"1044":{"position":[[374,5],[613,5],[2222,4]]},"1058":{"position":[[664,5]]},"1082":{"position":[[267,5]]},"1102":{"position":[[283,5]]},"1103":{"position":[[956,5],[1505,5]]},"1105":{"position":[[884,4]]},"1123":{"position":[[119,4]]},"1253":{"position":[[318,5]]},"1346":{"position":[[187,4]]},"1353":{"position":[[2704,5]]},"1356":{"position":[[684,5]]},"1358":{"position":[[949,5]]},"1360":{"position":[[5705,4]]},"1363":{"position":[[2841,5]]},"1365":{"position":[[813,5]]},"1370":{"position":[[633,5],[2816,5]]},"1382":{"position":[[4507,5]]},"1383":{"position":[[8210,4]]},"1386":{"position":[[5377,4]]},"1388":{"position":[[5201,5]]},"1393":{"position":[[1201,5]]},"1394":{"position":[[650,5]]},"1399":{"position":[[562,5]]},"1403":{"position":[[7310,4]]},"1439":{"position":[[4789,5]]},"1442":{"position":[[1497,5]]},"1459":{"position":[[1854,4]]},"1462":{"position":[[7616,4]]},"1487":{"position":[[2257,5]]}},"keywords":{}}],["taken",{"_index":3425,"title":{},"content":{"683":{"position":[[112,5]]},"888":{"position":[[467,6]]}},"keywords":{}}],["talk",{"_index":113,"title":{},"content":{"6":{"position":[[35,5],[127,4],[235,5]]}},"keywords":{}}],["tar",{"_index":7903,"title":{},"content":{"1422":{"position":[[3453,4]]}},"keywords":{}}],["tar.gz,tar.bz2",{"_index":7904,"title":{},"content":{"1422":{"position":[[3458,15]]}},"keywords":{}}],["tar.xz",{"_index":7905,"title":{},"content":{"1422":{"position":[[3474,7]]}},"keywords":{}}],["tar.zst",{"_index":7906,"title":{},"content":{"1422":{"position":[[3486,8]]}},"keywords":{}}],["tarbal",{"_index":7891,"title":{},"content":{"1422":{"position":[[2780,7]]}},"keywords":{}}],["target",{"_index":363,"title":{"674":{"position":[[6,6]]},"698":{"position":[[0,6]]},"699":{"position":[[6,6]]},"700":{"position":[[0,6]]},"709":{"position":[[18,7]]},"710":{"position":[[10,8]]},"719":{"position":[[23,6]]},"721":{"position":[[21,6]]},"835":{"position":[[56,9]]},"856":{"position":[[70,6]]},"903":{"position":[[0,6]]},"904":{"position":[[15,6]]},"905":{"position":[[11,6]]},"906":{"position":[[14,6]]},"908":{"position":[[14,6]]},"912":{"position":[[0,6]]},"922":{"position":[[39,7]]},"941":{"position":[[0,6]]},"945":{"position":[[7,6]]},"962":{"position":[[10,6]]},"1007":{"position":[[4,6]]},"1014":{"position":[[0,6]]},"1019":{"position":[[0,6]]},"1021":{"position":[[13,6]]},"1041":{"position":[[10,7]]},"1043":{"position":[[5,7]]},"1129":{"position":[[22,7]]},"1130":{"position":[[31,6]]},"1131":{"position":[[52,7]]},"1133":{"position":[[37,8]]},"1134":{"position":[[46,6]]},"1225":{"position":[[0,7]]},"1226":{"position":[[5,8]]},"1245":{"position":[[12,6]]},"1260":{"position":[[15,6],[38,6]]},"1261":{"position":[[15,6],[38,6]]},"1262":{"position":[[40,8],[49,6]]},"1263":{"position":[[41,8],[50,6]]},"1264":{"position":[[45,8],[54,6]]},"1265":{"position":[[19,6]]},"1267":{"position":[[24,6]]},"1268":{"position":[[14,6]]},"1269":{"position":[[27,6]]},"1270":{"position":[[16,6]]},"1271":{"position":[[20,8],[29,6]]},"1272":{"position":[[21,8],[30,6]]},"1275":{"position":[[16,6],[35,8],[44,6]]},"1276":{"position":[[17,6]]},"1286":{"position":[[21,6]]},"1287":{"position":[[21,6]]},"1291":{"position":[[15,6],[38,6]]},"1292":{"position":[[15,6],[38,6]]},"1293":{"position":[[40,8],[49,6]]},"1294":{"position":[[41,8],[50,6]]},"1295":{"position":[[45,8],[54,6]]},"1296":{"position":[[19,6]]},"1298":{"position":[[24,6]]},"1299":{"position":[[14,6]]},"1300":{"position":[[27,6]]},"1301":{"position":[[16,6]]},"1302":{"position":[[20,8],[29,6]]},"1303":{"position":[[21,8],[30,6]]},"1306":{"position":[[16,6],[35,8],[44,6]]},"1307":{"position":[[17,6]]},"1319":{"position":[[15,6],[38,6]]},"1320":{"position":[[15,6],[38,6]]},"1321":{"position":[[40,8],[49,6]]},"1322":{"position":[[41,8],[50,6]]},"1323":{"position":[[45,8],[54,6]]},"1324":{"position":[[19,6]]},"1326":{"position":[[24,6]]},"1327":{"position":[[14,6]]},"1328":{"position":[[27,6]]},"1329":{"position":[[16,6]]},"1330":{"position":[[20,8],[29,6]]},"1331":{"position":[[21,8],[30,6]]},"1334":{"position":[[16,6],[35,8],[44,6]]},"1335":{"position":[[17,6]]}},"content":{"11":{"position":[[301,6]]},"17":{"position":[[254,8],[1133,7],[1178,7]]},"18":{"position":[[893,8],[1718,7],[1772,7],[2222,7]]},"22":{"position":[[893,6],[1100,7],[1166,8],[1221,8],[1244,7],[2104,8],[2140,7]]},"23":{"position":[[1884,7],[2413,6]]},"36":{"position":[[178,7]]},"62":{"position":[[97,6]]},"72":{"position":[[57,6]]},"73":{"position":[[62,7]]},"81":{"position":[[116,6],[259,7],[357,7]]},"82":{"position":[[198,8]]},"89":{"position":[[598,8],[849,6]]},"94":{"position":[[2870,6]]},"107":{"position":[[55,6]]},"108":{"position":[[95,6],[126,6]]},"113":{"position":[[184,6]]},"126":{"position":[[497,8]]},"131":{"position":[[240,6],[316,6]]},"134":{"position":[[129,6]]},"136":{"position":[[82,6],[154,6]]},"145":{"position":[[280,6]]},"148":{"position":[[134,6]]},"158":{"position":[[89,6]]},"168":{"position":[[77,6]]},"181":{"position":[[178,7]]},"204":{"position":[[97,6]]},"205":{"position":[[113,6]]},"213":{"position":[[116,6],[259,7],[357,7]]},"214":{"position":[[198,8]]},"221":{"position":[[598,8],[849,6]]},"226":{"position":[[2870,6]]},"233":{"position":[[389,8]]},"236":{"position":[[35,8],[463,7],[508,6]]},"237":{"position":[[35,8],[475,7],[595,6]]},"238":{"position":[[57,8]]},"240":{"position":[[223,6]]},"243":{"position":[[393,6],[499,6],[547,6]]},"245":{"position":[[193,7]]},"246":{"position":[[192,7]]},"249":{"position":[[497,8]]},"254":{"position":[[240,6],[316,6]]},"257":{"position":[[129,6]]},"259":{"position":[[82,6],[154,6]]},"268":{"position":[[280,6]]},"271":{"position":[[134,6]]},"276":{"position":[[91,6]]},"278":{"position":[[99,6]]},"280":{"position":[[77,6],[98,6],[177,6],[212,6],[298,6]]},"281":{"position":[[125,6]]},"283":{"position":[[50,8]]},"284":{"position":[[50,8]]},"286":{"position":[[122,6],[234,7]]},"294":{"position":[[560,6],[641,6],[777,6],[857,6],[876,6],[979,7],[1008,6],[1072,6],[1271,6]]},"295":{"position":[[229,6],[295,6],[334,6],[370,6]]},"297":{"position":[[538,6],[809,7],[838,6],[1010,6]]},"298":{"position":[[1582,7],[1739,6],[1956,7],[2346,6]]},"301":{"position":[[394,6],[474,6],[555,6],[632,6],[651,6],[750,7],[779,6],[1028,6],[1217,6]]},"302":{"position":[[229,6],[295,6],[334,6],[370,6]]},"308":{"position":[[66,6],[87,6],[139,7]]},"309":{"position":[[488,6],[552,7],[581,6],[948,6]]},"310":{"position":[[400,7],[429,6]]},"311":{"position":[[234,6],[318,7],[360,6],[527,6]]},"320":{"position":[[281,6],[307,6],[371,6]]},"325":{"position":[[57,8]]},"326":{"position":[[67,8]]},"327":{"position":[[33,8],[334,6],[346,6]]},"329":{"position":[[283,6]]},"330":{"position":[[42,8],[338,7]]},"331":{"position":[[30,8]]},"332":{"position":[[40,8],[334,7]]},"333":{"position":[[58,8],[425,7]]},"334":{"position":[[390,7]]},"337":{"position":[[31,8],[353,8]]},"338":{"position":[[60,8],[382,8],[408,6]]},"340":{"position":[[31,8],[203,6],[241,7],[300,6],[330,6]]},"341":{"position":[[58,6],[104,6]]},"342":{"position":[[67,6],[92,6]]},"345":{"position":[[969,7]]},"363":{"position":[[302,6]]},"366":{"position":[[108,6],[209,7]]},"367":{"position":[[138,6],[237,7]]},"372":{"position":[[186,6]]},"374":{"position":[[1714,6]]},"389":{"position":[[426,6],[1243,7]]},"396":{"position":[[111,6],[169,6],[247,7]]},"400":{"position":[[538,8]]},"409":{"position":[[87,6],[173,7]]},"423":{"position":[[109,7],[166,7]]},"438":{"position":[[52,6],[173,6]]},"449":{"position":[[89,6],[177,7]]},"459":{"position":[[96,6]]},"460":{"position":[[103,6]]},"461":{"position":[[85,6]]},"462":{"position":[[52,8]]},"463":{"position":[[107,6]]},"466":{"position":[[57,8]]},"467":{"position":[[67,8]]},"468":{"position":[[33,8],[215,6],[227,6]]},"470":{"position":[[223,6]]},"471":{"position":[[42,8],[219,7]]},"472":{"position":[[30,8]]},"473":{"position":[[40,8],[215,7]]},"474":{"position":[[129,7]]},"476":{"position":[[402,7]]},"477":{"position":[[154,7],[231,7]]},"478":{"position":[[31,8],[234,8]]},"491":{"position":[[97,6]]},"495":{"position":[[57,6]]},"496":{"position":[[62,7]]},"510":{"position":[[326,6]]},"511":{"position":[[346,6]]},"519":{"position":[[55,6]]},"520":{"position":[[95,6],[126,6]]},"525":{"position":[[184,6]]},"542":{"position":[[89,6]]},"570":{"position":[[384,7],[467,7],[608,7],[630,7]]},"586":{"position":[[43,6]]},"675":{"position":[[74,7],[208,6],[345,7],[406,7],[1095,6],[1170,6]]},"676":{"position":[[55,8],[114,7],[240,6],[309,8],[421,6]]},"681":{"position":[[188,7]]},"683":{"position":[[228,6]]},"688":{"position":[[1131,6],[1234,7]]},"690":{"position":[[73,7],[204,6],[215,6],[421,6],[2925,6],[3278,6]]},"693":{"position":[[754,7],[1110,7],[1280,6],[1380,8],[1571,8],[2841,7],[3066,6],[3156,6],[3291,9],[3364,6],[3405,6],[3437,6],[3618,8],[3636,6],[3737,6],[4250,8],[4261,6],[4295,6],[4388,6],[7421,7],[7547,6],[8353,7],[8403,7],[8542,6],[8596,8],[8605,6],[8640,7],[8789,6],[8891,6],[8939,7],[8969,6],[9020,8],[9195,6],[9211,6],[9363,6],[9418,6],[9455,7],[9585,7],[9614,6],[9678,6],[9711,6],[9785,6],[9959,6],[9979,6],[10157,7],[10266,6],[10293,6]]},"695":{"position":[[804,7]]},"699":{"position":[[6,6],[180,8]]},"700":{"position":[[54,8],[113,7]]},"705":{"position":[[1093,7]]},"708":{"position":[[1044,6]]},"710":{"position":[[10,7],[50,7],[171,7],[323,6]]},"711":{"position":[[144,8],[268,7],[428,8]]},"712":{"position":[[1100,7],[1121,6],[1433,8],[2013,6],[2159,6]]},"715":{"position":[[300,8],[335,6],[562,6],[600,7],[788,9],[932,6],[1028,7],[1117,6],[1354,6],[1381,6]]},"717":{"position":[[457,8],[533,6],[698,7]]},"718":{"position":[[73,6],[343,6],[392,6],[473,6],[610,7],[655,6],[689,6]]},"719":{"position":[[32,6],[122,6]]},"720":{"position":[[30,6],[188,6],[247,6],[308,7],[421,6],[466,6],[507,6]]},"721":{"position":[[30,6]]},"724":{"position":[[71,8]]},"742":{"position":[[302,6]]},"745":{"position":[[108,6],[209,7]]},"746":{"position":[[138,6],[237,7]]},"751":{"position":[[186,6]]},"753":{"position":[[1714,6]]},"768":{"position":[[426,6],[1243,7]]},"775":{"position":[[111,6],[169,6],[247,7]]},"779":{"position":[[538,8]]},"788":{"position":[[87,6],[173,7]]},"802":{"position":[[109,7],[166,7]]},"817":{"position":[[52,6],[173,6]]},"828":{"position":[[89,6],[177,7]]},"835":{"position":[[156,7],[270,7]]},"837":{"position":[[329,8]]},"840":{"position":[[823,6]]},"844":{"position":[[14,7],[220,6],[230,6]]},"845":{"position":[[24,7],[141,8],[206,7]]},"846":{"position":[[851,6],[1371,6],[1447,6],[1656,6],[1901,7],[1976,7]]},"847":{"position":[[293,7]]},"850":{"position":[[653,6]]},"851":{"position":[[600,7],[693,6],[711,6],[849,6],[867,6],[911,6],[968,6],[1160,7],[1195,6],[1213,6],[1675,6]]},"856":{"position":[[241,6]]},"867":{"position":[[914,6],[1532,7],[1552,6]]},"869":{"position":[[661,8]]},"870":{"position":[[99,9],[1428,6]]},"872":{"position":[[55,6],[126,7],[197,7],[226,6],[560,6],[633,6],[716,7]]},"873":{"position":[[459,6],[504,6]]},"874":{"position":[[89,8],[185,8],[273,7]]},"877":{"position":[[179,7]]},"878":{"position":[[181,6],[829,6]]},"894":{"position":[[146,6],[368,6],[427,6]]},"904":{"position":[[21,6],[255,6],[443,6],[503,6],[882,6],[935,6],[1276,6],[1571,6]]},"905":{"position":[[51,7],[266,7],[285,6],[316,6],[392,6],[434,6],[518,6],[587,6],[625,6],[1113,6],[1273,6],[1362,7],[1427,6]]},"906":{"position":[[73,6],[419,6],[772,6],[818,6]]},"907":{"position":[[69,7],[141,8],[192,8],[407,6],[417,6]]},"908":{"position":[[46,6]]},"912":{"position":[[79,7]]},"916":{"position":[[77,6],[271,6],[385,6]]},"917":{"position":[[42,8]]},"919":{"position":[[43,7],[87,7],[99,7],[128,7],[235,6],[918,6],[1153,7],[1186,7],[1343,6],[1483,6],[1556,6],[1613,6],[1888,7],[1953,6],[2093,6],[2205,6],[2566,6],[2640,6],[2693,8],[2768,10],[2828,6],[2889,6]]},"920":{"position":[[70,6],[125,7],[308,6],[378,6]]},"921":{"position":[[54,6],[176,6],[227,7],[645,6],[691,7],[880,6],[991,7]]},"923":{"position":[[113,6]]},"924":{"position":[[356,6],[1237,6]]},"927":{"position":[[218,6],[274,6]]},"929":{"position":[[249,6]]},"935":{"position":[[44,6],[77,6]]},"937":{"position":[[2,6],[218,7],[508,6],[584,6],[1203,6],[1549,6],[1699,6],[1717,6],[1816,7],[1880,6],[1973,7],[2022,6],[2266,6],[2472,8],[2695,6],[2861,7],[3207,7],[3244,6],[3726,6],[4023,6],[4217,8],[4373,6],[4680,7],[4794,6],[4866,7]]},"938":{"position":[[122,7],[209,7],[595,6],[773,7],[902,6],[953,8],[1108,7]]},"939":{"position":[[16,6],[1771,7],[1853,7],[1875,7]]},"940":{"position":[[102,7],[206,6],[288,6],[620,7],[927,7],[946,6]]},"941":{"position":[[5,7],[271,6],[352,7]]},"942":{"position":[[518,6],[780,6],[1241,6],[1568,6]]},"943":{"position":[[149,7],[1175,6],[1462,6]]},"944":{"position":[[674,6],[945,6],[1157,6]]},"945":{"position":[[0,6],[19,6],[232,6],[326,6],[470,6],[571,6],[701,6],[871,6]]},"946":{"position":[[353,7],[390,7]]},"947":{"position":[[165,6],[250,7],[286,6],[311,6],[359,6],[507,6],[971,6],[1034,6],[1160,6]]},"950":{"position":[[26,7]]},"951":{"position":[[762,6],[881,8]]},"954":{"position":[[227,6]]},"955":{"position":[[40,6],[555,8]]},"958":{"position":[[55,7],[205,7]]},"962":{"position":[[192,8],[219,7],[251,7],[299,7],[351,6],[362,6],[372,8],[446,6],[488,6]]},"963":{"position":[[26,7],[79,6]]},"964":{"position":[[514,7],[576,8],[674,6],[969,7],[1015,8]]},"968":{"position":[[125,6]]},"969":{"position":[[48,7]]},"970":{"position":[[201,6]]},"980":{"position":[[356,6],[405,6]]},"988":{"position":[[460,6],[572,7],[640,6]]},"990":{"position":[[230,6],[402,7],[549,6],[567,6],[898,7],[1025,7],[1180,7]]},"991":{"position":[[1631,7],[3310,6]]},"993":{"position":[[139,6],[221,7]]},"994":{"position":[[197,6],[396,6],[477,6]]},"995":{"position":[[472,6],[674,7],[687,6],[890,6],[1013,6],[1136,6],[1363,7]]},"1005":{"position":[[370,6]]},"1007":{"position":[[56,6]]},"1009":{"position":[[368,6],[444,8]]},"1011":{"position":[[87,7],[516,6]]},"1013":{"position":[[104,6]]},"1014":{"position":[[18,7],[117,6],[186,7],[235,6],[254,6],[287,6],[342,6],[388,6],[556,7],[716,6]]},"1015":{"position":[[54,6],[174,6]]},"1016":{"position":[[141,6]]},"1017":{"position":[[50,7],[170,6]]},"1018":{"position":[[8,6],[124,7],[206,6]]},"1019":{"position":[[276,6],[355,6],[585,6],[652,6]]},"1021":{"position":[[44,6],[130,6],[187,8],[202,7],[274,7],[454,7]]},"1022":{"position":[[143,6]]},"1023":{"position":[[5,6],[73,6]]},"1024":{"position":[[274,6],[441,6],[498,6],[571,6],[621,6],[717,6],[769,6],[927,7],[1018,7],[1228,6],[1254,6]]},"1026":{"position":[[24,6],[187,6],[845,6],[976,6]]},"1029":{"position":[[78,6],[181,7]]},"1033":{"position":[[158,7],[196,6]]},"1038":{"position":[[81,6]]},"1044":{"position":[[291,7],[2088,7]]},"1045":{"position":[[227,7],[283,7],[336,7],[450,6]]},"1046":{"position":[[27,6],[220,6]]},"1047":{"position":[[258,6],[365,6]]},"1048":{"position":[[87,7]]},"1049":{"position":[[226,6]]},"1053":{"position":[[739,6],[1177,6]]},"1054":{"position":[[9,6],[1322,6],[1626,6]]},"1056":{"position":[[108,8]]},"1064":{"position":[[1849,7],[1900,6],[2011,6]]},"1067":{"position":[[28,9],[68,7],[163,7],[675,6]]},"1068":{"position":[[169,6]]},"1072":{"position":[[78,7],[196,7]]},"1102":{"position":[[688,7]]},"1103":{"position":[[13,6],[802,6]]},"1104":{"position":[[514,7],[582,7]]},"1112":{"position":[[160,7],[318,6],[784,7],[942,6],[1079,7],[1303,7],[1354,6],[1574,7],[1730,7],[1812,7],[1907,6],[2191,9],[2380,7],[2431,7],[3721,7],[3734,7]]},"1114":{"position":[[112,7],[769,7],[918,6]]},"1120":{"position":[[808,6]]},"1129":{"position":[[16,6],[51,7],[150,6],[204,6],[273,7]]},"1130":{"position":[[76,6],[151,7]]},"1131":{"position":[[391,7],[505,7]]},"1132":{"position":[[74,7]]},"1133":{"position":[[270,8],[313,7],[360,6],[375,6],[502,8],[737,7],[758,7],[795,7],[900,7]]},"1134":{"position":[[197,7],[305,8]]},"1136":{"position":[[502,6],[2276,7],[2440,6],[2472,6],[2520,6],[2553,7],[2632,7],[2692,7],[4773,6],[4844,7],[4880,7],[4894,9],[4961,8]]},"1138":{"position":[[20,7],[1261,6],[2172,7],[4752,8],[5096,7],[5107,6],[5191,7],[5202,6],[5323,7],[5539,6],[5575,6],[5639,7],[5673,6],[5728,7],[5787,6],[5868,8],[5893,8],[6026,6],[6134,6],[6182,6],[6215,7],[6294,7],[6354,7],[8435,6],[8506,7],[8542,7],[8556,9],[8623,8]]},"1140":{"position":[[1661,7],[4241,8],[4585,7],[4596,6],[4680,7],[4691,6],[4812,7],[5028,6],[5060,6],[5108,6],[5141,7],[5220,7],[5280,7],[7361,6],[7432,7],[7468,7],[7482,9],[7549,8]]},"1142":{"position":[[2805,6],[2876,7],[2912,7],[2926,9],[2993,8]]},"1146":{"position":[[8,6],[38,7],[185,7],[206,7],[412,6],[444,6],[492,6],[525,7],[604,7],[664,7],[2745,6],[2816,7],[2852,7],[2866,9],[2933,8]]},"1148":{"position":[[34,6],[62,6],[169,8],[242,6],[343,6],[391,6],[508,7],[556,7],[693,6],[913,6],[1009,6],[1041,6],[2632,7],[2889,6],[2925,6],[2989,7],[3023,6],[3078,7],[3137,6],[3218,8],[3243,8],[3376,6],[3484,6],[3532,6],[3565,7],[3644,7],[3704,7],[5785,6],[5856,7],[5892,7],[5906,9],[5973,8],[7104,6]]},"1155":{"position":[[2841,6],[2912,7],[2948,7],[2962,9],[3029,8]]},"1156":{"position":[[2419,6],[2490,7],[2526,7],[2540,9],[2607,8]]},"1167":{"position":[[72,11],[124,11],[136,6],[2665,7],[5245,8],[5589,7],[5600,6],[5684,7],[5695,6],[5816,7],[6032,6],[6064,6],[6112,6],[6145,7],[6224,7],[6284,7],[8365,6],[8436,7],[8472,7],[8486,9],[8553,8]]},"1169":{"position":[[2204,6],[2275,7],[2311,7],[2325,9],[2392,8]]},"1172":{"position":[[274,6]]},"1186":{"position":[[235,6],[1113,6],[1149,6],[1213,7],[1247,6],[1302,7],[1361,6],[1442,8],[1467,8],[1600,6],[1708,6],[1756,6],[1789,7],[1868,7],[1928,7],[4009,6],[4080,7],[4116,7],[4130,9],[4197,8]]},"1187":{"position":[[248,6],[1126,6],[1162,6],[1226,7],[1260,6],[1315,7],[1374,6],[1455,8],[1480,8],[1613,6],[1721,6],[1769,6],[1802,7],[1881,7],[1941,7],[4022,6],[4093,7],[4129,7],[4143,9],[4210,8]]},"1188":{"position":[[1714,7],[4294,8],[4638,7],[4649,6],[4733,7],[4744,6],[4865,7],[5852,6],[5888,6],[5952,7],[5986,6],[6041,7],[6100,6],[6181,8],[6206,8],[6339,6],[6447,6],[6495,6],[6528,7],[6607,7],[6667,7],[8748,6],[8819,7],[8855,7],[8869,9],[8936,8]]},"1190":{"position":[[637,6],[932,6],[1334,6]]},"1191":{"position":[[2609,6],[2680,7],[2716,7],[2730,9],[2797,8]]},"1192":{"position":[[340,6],[451,6],[483,6],[531,6],[564,7],[643,7],[703,7],[2784,6],[2855,7],[2891,7],[2905,9],[2972,8]]},"1193":{"position":[[2836,6],[2907,7],[2943,7],[2957,9],[3024,8]]},"1194":{"position":[[2476,6],[2547,7],[2583,7],[2597,9],[2664,8]]},"1195":{"position":[[2454,6],[2525,7],[2561,7],[2575,9],[2642,8]]},"1196":{"position":[[2264,6],[2335,7],[2371,7],[2385,9],[2452,8]]},"1197":{"position":[[31,6],[351,6],[387,6],[451,7],[485,6],[540,7],[599,6],[680,8],[705,8],[838,6],[946,6],[994,6],[1027,7],[1106,7],[1166,7],[3247,6],[3318,7],[3354,7],[3368,9],[3435,8]]},"1198":{"position":[[361,6],[397,6],[461,7],[495,6],[550,7],[609,6],[690,8],[715,8],[848,6],[956,6],[1004,6],[1037,7],[1116,7],[1176,7],[3257,6],[3328,7],[3364,7],[3378,9],[3445,8]]},"1199":{"position":[[196,7],[309,7],[389,6],[425,6],[489,7],[523,6],[578,7],[637,6],[718,8],[743,8],[876,6],[984,6],[1032,6],[1065,7],[1144,7],[1204,7],[3285,6],[3356,7],[3392,7],[3406,9],[3473,8]]},"1200":{"position":[[256,6],[292,6],[356,7],[390,6],[445,7],[504,6],[585,8],[610,8],[743,6],[851,6],[899,6],[932,7],[1011,7],[1071,7],[3152,6],[3223,7],[3259,7],[3273,9],[3340,8]]},"1201":{"position":[[89,6],[203,6],[2412,6],[2483,7],[2519,7],[2533,9],[2600,8]]},"1202":{"position":[[3554,6],[3625,7],[3661,7],[3675,9],[3742,8],[7951,6],[8022,7],[8058,7],[8072,9],[8139,8]]},"1203":{"position":[[162,6],[313,6],[345,6],[393,6],[426,7],[505,7],[565,7],[2646,6],[2717,7],[2753,7],[2767,9],[2834,8]]},"1204":{"position":[[2490,6],[2561,7],[2597,7],[2611,9],[2678,8]]},"1205":{"position":[[221,6],[1486,6],[1518,6],[1566,6],[1599,7],[1678,7],[1738,7],[3819,6],[3890,7],[3926,7],[3940,9],[4007,8]]},"1206":{"position":[[2290,6],[2361,7],[2397,7],[2411,9],[2478,8]]},"1207":{"position":[[2447,6],[2518,7],[2554,7],[2568,9],[2635,8]]},"1209":{"position":[[1509,7],[3795,6],[3866,7],[3902,7],[3916,9],[3983,8]]},"1217":{"position":[[27,7],[108,6],[257,6],[333,6],[1406,7],[3986,8],[4330,7],[4341,6],[4425,7],[4436,6],[4557,7],[4773,6],[4805,6],[4853,6],[4886,7],[4965,7],[5025,7],[7106,6],[7177,7],[7213,7],[7227,9],[7294,8]]},"1219":{"position":[[3092,6],[3163,7],[3199,7],[3213,9],[3280,8]]},"1222":{"position":[[2216,6],[2287,7],[2323,7],[2337,9],[2404,8]]},"1223":{"position":[[2226,6],[2297,7],[2333,7],[2347,9],[2414,8]]},"1224":{"position":[[2406,6],[2477,7],[2513,7],[2527,9],[2594,8]]},"1226":{"position":[[42,7],[157,7],[192,7],[322,6],[362,6],[402,6],[419,6],[451,6],[504,6],[521,6],[535,6],[611,6],[718,7],[754,6],[884,6],[999,6],[1088,6],[1125,6],[1176,6],[1382,6],[1494,6],[1540,6],[1953,6],[2033,6],[2105,6],[3220,6],[3261,6],[4078,7],[4133,6],[4277,8],[4537,6],[4719,7],[5241,6],[5273,6],[5321,6],[5354,7],[5433,7],[5493,7],[7574,6],[7645,7],[7681,7],[7695,9],[7762,8]]},"1228":{"position":[[29,7],[447,7],[516,7],[739,7],[2328,8],[2446,7],[3487,7],[6067,8],[6411,7],[6422,6],[6506,7],[6517,6],[6638,7],[6854,6],[6886,6],[6934,6],[6967,7],[7046,7],[7106,7],[9187,6],[9258,7],[9294,7],[9308,9],[9375,8]]},"1235":{"position":[[36,6],[66,6],[95,7],[163,6],[706,6],[801,6],[833,6],[2769,7],[5055,6],[5126,7],[5162,7],[5176,9],[5243,8]]},"1237":{"position":[[33,8],[92,8],[181,8],[327,7],[362,7],[492,6],[532,6],[572,6],[589,6],[621,6],[674,6],[691,6],[705,6],[781,6],[888,7],[924,6],[1054,6],[1169,6],[1258,6],[1295,6],[1346,6],[1552,6],[1664,6],[1710,6],[2123,6],[2203,6],[2275,6],[3390,6],[3431,6],[4248,7],[4303,6],[4447,8],[4707,6],[4889,7],[5411,6],[5443,6],[5491,6],[5524,7],[5603,7],[5663,7],[7744,6],[7815,7],[7851,7],[7865,9],[7932,8]]},"1240":{"position":[[37,7],[140,7],[225,6]]},"1245":{"position":[[79,6],[367,6]]},"1248":{"position":[[167,6]]},"1251":{"position":[[178,6],[404,6]]},"1253":{"position":[[186,7],[209,7],[243,6],[253,8],[282,7],[311,6],[446,6],[492,6],[559,6],[638,6]]},"1255":{"position":[[115,6],[291,6]]},"1258":{"position":[[111,6],[211,6],[376,6],[733,6],[788,6],[941,8]]},"1259":{"position":[[15,6],[38,6],[104,6],[127,6],[186,8],[195,6],[248,8],[286,6],[336,7],[454,8],[463,6],[527,8],[536,6],[574,6],[681,6],[714,6],[811,6],[889,6],[928,8],[937,6],[973,8],[1015,6],[1034,8],[1059,7],[1137,8],[1146,6],[1329,7],[1432,6],[1451,8],[1460,6],[1513,6]]},"1260":{"position":[[114,6],[323,6],[364,6],[658,6]]},"1262":{"position":[[33,8],[71,6],[121,7],[404,6],[469,6],[568,6],[752,7],[835,7]]},"1269":{"position":[[34,6]]},"1271":{"position":[[16,8],[58,6],[77,8],[102,7],[292,7]]},"1272":{"position":[[115,7],[167,7],[232,8]]},"1273":{"position":[[42,7],[120,6],[316,7],[509,8]]},"1277":{"position":[[163,8]]},"1278":{"position":[[95,6],[147,8]]},"1282":{"position":[[540,7]]},"1283":{"position":[[554,7]]},"1284":{"position":[[552,7]]},"1285":{"position":[[21,6],[116,7],[152,6],[235,7]]},"1286":{"position":[[75,7],[195,6]]},"1287":{"position":[[63,7],[108,6]]},"1289":{"position":[[111,6],[211,6],[376,6],[733,6],[788,6],[941,8]]},"1290":{"position":[[15,6],[38,6],[104,6],[127,6],[186,8],[195,6],[248,8],[286,6],[336,7],[454,8],[463,6],[527,8],[536,6],[574,6],[681,6],[714,6],[811,6],[889,6],[928,8],[937,6],[973,8],[1015,6],[1034,8],[1059,7],[1137,8],[1146,6],[1329,7],[1432,6],[1451,8],[1460,6],[1513,6]]},"1291":{"position":[[114,6],[323,6],[364,6],[658,6]]},"1293":{"position":[[33,8],[71,6],[121,7],[404,6],[469,6],[568,6],[752,7],[835,7]]},"1300":{"position":[[34,6]]},"1302":{"position":[[16,8],[58,6],[77,8],[102,7],[292,7]]},"1303":{"position":[[115,7],[167,7],[232,8]]},"1304":{"position":[[42,7],[120,6],[316,7],[509,8]]},"1308":{"position":[[163,8]]},"1309":{"position":[[95,6],[147,8]]},"1313":{"position":[[540,7]]},"1314":{"position":[[554,7]]},"1315":{"position":[[552,7]]},"1317":{"position":[[111,6],[211,6],[376,6],[733,6],[788,6],[941,8]]},"1318":{"position":[[15,6],[38,6],[104,6],[127,6],[186,8],[195,6],[248,8],[286,6],[336,7],[454,8],[463,6],[527,8],[536,6],[574,6],[681,6],[714,6],[811,6],[889,6],[928,8],[937,6],[973,8],[1015,6],[1034,8],[1059,7],[1137,8],[1146,6],[1329,7],[1432,6],[1451,8],[1460,6],[1513,6]]},"1319":{"position":[[114,6],[323,6],[364,6],[658,6]]},"1321":{"position":[[33,8],[71,6],[121,7],[404,6],[469,6],[568,6],[752,7],[835,7]]},"1328":{"position":[[34,6]]},"1330":{"position":[[16,8],[58,6],[77,8],[102,7],[292,7]]},"1331":{"position":[[115,7],[167,7],[232,8]]},"1332":{"position":[[42,7],[120,6],[316,7],[509,8]]},"1336":{"position":[[163,8]]},"1337":{"position":[[95,6],[147,8]]},"1341":{"position":[[540,7]]},"1342":{"position":[[554,7]]},"1343":{"position":[[552,7]]},"1348":{"position":[[2567,7],[2779,6],[2941,6],[3067,6],[3198,6],[3307,7],[3402,6],[3504,7]]},"1349":{"position":[[924,6],[1086,6],[1212,6],[1343,6],[1452,7],[1547,6],[1649,7]]},"1350":{"position":[[3895,6],[4057,6],[4183,6],[4314,6],[4423,7],[4518,6],[4620,7]]},"1351":{"position":[[1061,6],[1115,6],[1278,6],[1405,6],[1537,6],[1647,7],[1743,6],[1823,6],[1847,7],[4431,6],[5688,6]]},"1352":{"position":[[3894,6],[4056,6],[4182,6],[4313,6],[4422,7],[4517,6],[4619,7]]},"1353":{"position":[[1498,6],[1660,6],[1786,6],[1917,6],[2026,7],[2121,6],[2223,7]]},"1354":{"position":[[1336,6],[1498,6],[1624,6],[1755,6],[1864,7],[1959,6],[2061,7]]},"1355":{"position":[[2045,7],[2421,6],[2475,6],[2638,6],[2765,6],[2897,6],[3007,7],[3103,6],[3183,6],[3207,7],[4138,6],[4171,7],[4532,7],[5015,7],[5497,7],[7414,7]]},"1356":{"position":[[842,6],[1004,6],[1130,6],[1261,6],[1370,7],[1465,6],[1567,7],[1824,6],[3039,6]]},"1357":{"position":[[515,6],[677,6],[803,6],[934,6],[1043,7],[1138,6],[1240,7]]},"1358":{"position":[[1236,6],[1398,6],[1524,6],[1655,6],[1764,7],[1859,6],[1961,7],[2053,6]]},"1359":{"position":[[1073,6],[1235,6],[1361,6],[1492,6],[1601,7],[1696,6],[1798,7]]},"1360":{"position":[[1650,6],[1704,6],[1867,6],[1994,6],[2126,6],[2236,7],[2332,6],[2412,6],[2436,7],[6004,6]]},"1361":{"position":[[1063,6],[1225,6],[1351,6],[1482,6],[1591,7],[1686,6],[1788,7]]},"1362":{"position":[[5373,6],[5427,6],[5590,6],[5717,6],[5849,6],[5959,7],[6055,6],[6135,6],[6159,7],[6793,6],[6808,7],[8121,6],[8397,7],[8733,7],[8934,7],[10478,6],[13293,6]]},"1363":{"position":[[3119,6],[3173,6],[3336,6],[3463,6],[3595,6],[3705,7],[3801,6],[3881,6],[3905,7],[4341,8],[4424,7],[4491,6]]},"1364":{"position":[[5402,6],[5456,6],[5619,6],[5746,6],[5878,6],[5988,7],[6084,6],[6164,6],[6188,7],[7032,6],[7047,7],[8970,6],[9244,7],[9333,6],[9511,7],[9847,7],[10048,7],[11592,6],[13993,6]]},"1365":{"position":[[997,6],[1159,6],[1285,6],[1416,6],[1525,7],[1620,6],[1722,7]]},"1366":{"position":[[1149,6],[1203,6],[1366,6],[1493,6],[1625,6],[1735,7],[1831,6],[1911,6],[1935,7],[2539,7]]},"1367":{"position":[[6800,6],[6854,6],[7017,6],[7144,6],[7276,6],[7386,7],[7482,6],[7562,6],[7586,7],[8209,6],[8485,7],[8821,7],[9022,7],[11395,6],[13201,6],[13466,6],[13815,6],[13872,6]]},"1368":{"position":[[1553,6],[1715,6],[1841,6],[1972,6],[2081,7],[2176,6],[2278,7]]},"1369":{"position":[[605,6],[767,6],[893,6],[1024,6],[1133,7],[1228,6],[1330,7]]},"1370":{"position":[[641,6],[798,6],[852,6],[1015,6],[1142,6],[1274,6],[1384,7],[1480,6],[1560,6],[1584,7],[1644,6],[1726,6],[1818,6],[2124,6],[2648,6],[3081,6]]},"1371":{"position":[[481,6],[643,6],[769,6],[900,6],[1009,7],[1104,6],[1206,7]]},"1372":{"position":[[2119,6],[2281,6],[2407,6],[2538,6],[2647,7],[2742,6],[2844,7]]},"1373":{"position":[[2991,6],[3153,6],[3279,6],[3410,6],[3519,7],[3614,6],[3716,7],[4634,7],[7630,6],[7645,7]]},"1374":{"position":[[833,6],[887,6],[1050,6],[1177,6],[1309,6],[1419,7],[1515,6],[1595,6],[1619,7],[2068,6],[2216,7],[2807,6]]},"1375":{"position":[[517,6],[679,6],[805,6],[936,6],[1045,7],[1140,6],[1242,7]]},"1376":{"position":[[473,6],[635,6],[761,6],[892,6],[1001,7],[1096,6],[1198,7]]},"1377":{"position":[[712,6],[874,6],[1000,6],[1131,6],[1240,7],[1335,6],[1437,7]]},"1378":{"position":[[459,6],[621,6],[747,6],[878,6],[987,7],[1082,6],[1184,7]]},"1379":{"position":[[482,6],[644,6],[770,6],[901,6],[1010,7],[1105,6],[1207,7]]},"1380":{"position":[[953,6],[1115,6],[1241,6],[1372,6],[1481,7],[1576,6],[1678,7]]},"1381":{"position":[[859,6],[1021,6],[1147,6],[1278,6],[1387,7],[1482,6],[1584,7],[1717,7],[1787,7],[2102,8]]},"1382":{"position":[[3285,6],[3339,6],[3502,6],[3629,6],[3761,6],[3871,7],[3967,6],[4047,6],[4071,7],[4726,6],[5279,7],[5403,7],[5492,6],[5704,7],[6352,6],[7204,6],[7247,7],[8837,6],[10406,6],[10421,7],[10949,7]]},"1383":{"position":[[1523,6],[1577,6],[1740,6],[1867,6],[1999,6],[2109,7],[2205,6],[2285,6],[2309,7],[3600,7],[3944,7],[4232,7],[5076,7],[5169,7],[6875,6],[8793,6]]},"1384":{"position":[[4447,6],[4501,6],[4664,6],[4791,6],[4923,6],[5033,7],[5129,6],[5209,6],[5233,7],[6219,6],[6234,7],[8178,6],[8193,7],[9261,6],[9276,7],[10350,7],[10439,6],[10651,7],[11299,6],[11529,6],[12506,6],[13558,6],[15182,6],[16642,7],[16973,6],[16990,6],[17221,6],[17238,6],[17480,6],[17495,7],[18023,7],[19876,7],[19976,7],[20085,7],[20187,7],[20281,6],[20313,6],[20368,6],[20492,7],[20777,7],[20825,6],[20939,6],[21094,6],[21135,7]]},"1385":{"position":[[2178,6],[2340,6],[2466,6],[2597,6],[2706,7],[2801,6],[2903,7],[3317,7],[3406,6],[3617,7],[5066,6]]},"1386":{"position":[[816,6],[978,6],[1104,6],[1235,6],[1344,7],[1439,6],[1541,7]]},"1387":{"position":[[4447,6],[4609,6],[4735,6],[4866,6],[4975,7],[5070,6],[5172,7],[5650,7],[5739,6],[5950,7],[8439,6]]},"1388":{"position":[[3585,6],[3639,6],[3802,6],[3929,6],[4061,6],[4171,7],[4267,6],[4347,6],[4371,7],[5420,6],[5973,7],[6573,7],[7221,6],[8073,6],[8116,7],[8899,6],[8914,7],[9442,7]]},"1389":{"position":[[4500,6],[4662,6],[4788,6],[4919,6],[5028,7],[5123,6],[5225,7]]},"1390":{"position":[[752,6],[914,6],[1040,6],[1171,6],[1280,7],[1375,6],[1477,7]]},"1391":{"position":[[705,6],[867,6],[993,6],[1124,6],[1233,7],[1328,6],[1430,7]]},"1392":{"position":[[855,6],[1017,6],[1143,6],[1274,6],[1383,7],[1478,6],[1580,7]]},"1393":{"position":[[1373,6],[1427,6],[1590,6],[1717,6],[1849,6],[1959,7],[2055,6],[2135,6],[2159,7],[2629,7],[2781,6],[2982,6],[3370,6],[3582,6],[3802,6],[5130,7],[5228,6],[6949,7],[7117,8],[7158,6],[7274,7],[7416,8],[9057,8],[9142,7],[9426,6],[9779,6]]},"1394":{"position":[[875,6],[1037,6],[1163,6],[1294,6],[1403,7],[1498,6],[1600,7]]},"1395":{"position":[[688,6],[830,6],[884,6],[1047,6],[1174,6],[1306,6],[1416,7],[1512,6],[1592,6],[1616,7],[1898,8],[2844,7],[3465,6]]},"1396":{"position":[[500,6],[681,6],[843,6],[969,6],[1100,6],[1209,7],[1304,6],[1406,7]]},"1397":{"position":[[680,6],[862,6],[1024,6],[1150,6],[1281,6],[1390,7],[1485,6],[1587,7],[2504,8],[2517,7],[2554,6],[2695,6],[2919,6],[3346,6]]},"1398":{"position":[[1148,6],[1300,7],[1409,6],[1480,6],[1534,6],[1697,6],[1824,6],[1956,6],[2066,7],[2162,6],[2242,6],[2266,7],[2628,8],[2675,6],[2810,6],[2894,8],[3075,7],[3141,7],[3838,7],[3949,7],[4101,6],[4220,7],[4362,8],[4791,7],[4903,6],[4967,6],[5449,6],[5478,6],[5943,7],[6574,7]]},"1399":{"position":[[717,6],[879,6],[1005,6],[1136,6],[1245,7],[1340,6],[1442,7]]},"1400":{"position":[[586,6],[748,6],[874,6],[1005,6],[1114,7],[1209,6],[1311,7]]},"1401":{"position":[[661,6],[823,6],[949,6],[1080,6],[1189,7],[1284,6],[1386,7],[1702,6]]},"1402":{"position":[[817,6],[979,6],[1105,6],[1236,6],[1345,7],[1440,6],[1542,7],[1675,6]]},"1403":{"position":[[1353,6],[1407,6],[1570,6],[1697,6],[1829,6],[1939,7],[2035,6],[2115,6],[2139,7],[4755,6],[5175,7]]},"1404":{"position":[[650,6],[812,6],[938,6],[1069,6],[1178,7],[1273,6],[1375,7]]},"1405":{"position":[[1341,6],[1503,6],[1629,6],[1760,6],[1869,7],[1964,6],[2066,7],[3871,6]]},"1406":{"position":[[557,6],[719,6],[845,6],[976,6],[1085,7],[1180,6],[1282,7]]},"1407":{"position":[[1382,6],[1544,6],[1670,6],[1801,6],[1910,7],[2005,6],[2107,7],[4490,6]]},"1408":{"position":[[1078,6],[1240,6],[1366,6],[1497,6],[1606,7],[1701,6],[1803,7]]},"1409":{"position":[[612,6],[774,6],[900,6],[1031,6],[1140,7],[1235,6],[1337,7]]},"1410":{"position":[[1720,6],[1774,6],[1937,6],[2064,6],[2196,6],[2306,7],[2402,6],[2482,6],[2506,7],[3677,6],[5282,6]]},"1411":{"position":[[595,6],[757,6],[883,6],[1014,6],[1123,7],[1218,6],[1320,7]]},"1412":{"position":[[1388,7],[1741,6],[1795,6],[1958,6],[2085,6],[2217,6],[2327,7],[2423,6],[2503,6],[2527,7],[3581,7]]},"1413":{"position":[[1647,7],[1979,6],[2141,6],[2267,6],[2398,6],[2507,7],[2602,6],[2704,7]]},"1414":{"position":[[846,6],[1008,6],[1134,6],[1265,6],[1374,7],[1469,6],[1571,7]]},"1415":{"position":[[2724,6],[2828,6],[2990,6],[3116,6],[3247,6],[3356,7],[3451,6],[3553,7],[3655,7],[5607,7],[5690,8],[5918,7],[6001,8]]},"1416":{"position":[[1480,6],[1642,6],[1768,6],[1899,6],[2008,7],[2103,6],[2205,7],[2545,7]]},"1417":{"position":[[1069,6],[1231,6],[1357,6],[1488,6],[1597,7],[1692,6],[1794,7]]},"1418":{"position":[[770,6],[932,6],[1058,6],[1189,6],[1298,7],[1393,6],[1495,7]]},"1419":{"position":[[898,6],[1060,6],[1186,6],[1317,6],[1426,7],[1521,6],[1623,7]]},"1420":{"position":[[1162,6],[1324,6],[1450,6],[1581,6],[1690,7],[1785,6],[1887,7]]},"1421":{"position":[[1137,6],[1299,6],[1425,6],[1556,6],[1665,7],[1760,6],[1862,7],[2378,7]]},"1422":{"position":[[986,6],[1040,6],[1203,6],[1330,6],[1462,6],[1572,7],[1668,6],[1748,6],[1772,7],[1999,7],[2034,6],[2136,6],[2203,7],[3052,8],[3187,7]]},"1423":{"position":[[1029,6],[1191,6],[1317,6],[1448,6],[1557,7],[1652,6],[1754,7]]},"1424":{"position":[[1154,6],[1316,6],[1442,6],[1573,6],[1682,7],[1777,6],[1879,7]]},"1425":{"position":[[770,6],[932,6],[1058,6],[1189,6],[1298,7],[1393,6],[1495,7]]},"1426":{"position":[[1059,6],[1113,6],[1276,6],[1403,6],[1535,6],[1645,7],[1741,6],[1821,6],[1845,7]]},"1427":{"position":[[1605,7],[1956,6],[2010,6],[2173,6],[2300,6],[2432,6],[2542,7],[2638,6],[2718,6],[2742,7],[3283,6],[3316,7],[3677,7],[3873,6],[3927,6],[6903,7]]},"1428":{"position":[[752,6],[914,6],[1040,6],[1171,6],[1280,7],[1375,6],[1477,7]]},"1429":{"position":[[2165,7],[2620,6],[2674,6],[2837,6],[2964,6],[3096,6],[3206,7],[3302,6],[3382,6],[3406,7],[5716,7],[5733,6],[5781,6]]},"1430":{"position":[[1408,7],[1528,6],[1690,6],[1816,6],[1947,6],[2056,7],[2151,6],[2253,7]]},"1431":{"position":[[872,6],[1034,6],[1160,6],[1291,6],[1400,7],[1495,6],[1597,7]]},"1432":{"position":[[1393,6],[1555,6],[1681,6],[1812,6],[1921,7],[2016,6],[2118,7]]},"1433":{"position":[[914,6],[1076,6],[1202,6],[1333,6],[1442,7],[1537,6],[1639,7]]},"1434":{"position":[[588,6],[750,6],[876,6],[1007,6],[1116,7],[1211,6],[1313,7]]},"1435":{"position":[[552,6],[714,6],[840,6],[971,6],[1080,7],[1175,6],[1277,7]]},"1436":{"position":[[568,6],[730,6],[856,6],[987,6],[1096,7],[1191,6],[1293,7]]},"1437":{"position":[[638,6],[800,6],[926,6],[1057,6],[1166,7],[1261,6],[1363,7]]},"1438":{"position":[[718,6],[772,6],[935,6],[1062,6],[1194,6],[1304,7],[1400,6],[1480,6],[1504,7]]},"1439":{"position":[[1841,7],[2242,6],[2296,6],[2459,6],[2586,6],[2718,6],[2828,7],[2924,6],[3004,6],[3028,7],[3957,6],[3990,7],[4351,7]]},"1440":{"position":[[2319,7],[2808,6],[2862,6],[3025,6],[3152,6],[3284,6],[3394,7],[3490,6],[3570,6],[3594,7]]},"1441":{"position":[[594,6],[756,6],[882,6],[1013,6],[1122,7],[1217,6],[1319,7]]},"1442":{"position":[[613,6],[667,6],[830,6],[957,6],[1089,6],[1199,7],[1295,6],[1375,6],[1399,7],[1716,6],[2269,7]]},"1443":{"position":[[889,6],[1051,6],[1177,6],[1308,6],[1417,7],[1512,6],[1614,7]]},"1444":{"position":[[805,6],[967,6],[1093,6],[1224,6],[1333,7],[1428,6],[1530,7]]},"1445":{"position":[[494,6],[656,6],[782,6],[913,6],[1022,7],[1117,6],[1219,7]]},"1446":{"position":[[828,6],[990,6],[1116,6],[1247,6],[1356,7],[1451,6],[1553,7],[1612,7]]},"1447":{"position":[[710,6],[872,6],[998,6],[1129,6],[1238,7],[1333,6],[1435,7]]},"1448":{"position":[[1145,6],[1307,6],[1433,6],[1564,6],[1673,7],[1768,6],[1870,7]]},"1449":{"position":[[1079,6],[1241,6],[1367,6],[1498,6],[1607,7],[1702,6],[1804,7]]},"1450":{"position":[[958,6],[1120,6],[1246,6],[1377,6],[1486,7],[1581,6],[1683,7]]},"1451":{"position":[[958,6],[1120,6],[1246,6],[1377,6],[1486,7],[1581,6],[1683,7]]},"1452":{"position":[[504,6],[666,6],[792,6],[923,6],[1032,7],[1127,6],[1229,7]]},"1453":{"position":[[1090,6],[1252,6],[1378,6],[1509,6],[1618,7],[1713,6],[1815,7]]},"1454":{"position":[[3456,6],[3618,6],[3744,6],[3875,6],[3984,7],[4079,6],[4181,7],[4923,6],[4938,7],[6577,6],[6592,7],[7049,6],[7064,7],[7254,7],[7343,6],[8941,7]]},"1455":{"position":[[1343,6],[1505,6],[1631,6],[1762,6],[1871,7],[1966,6],[2068,7]]},"1456":{"position":[[688,6],[850,6],[976,6],[1107,6],[1216,7],[1311,6],[1413,7]]},"1457":{"position":[[747,6],[909,6],[1035,6],[1166,6],[1275,7],[1370,6],[1472,7]]},"1458":{"position":[[1282,6],[1444,6],[1570,6],[1701,6],[1810,7],[1905,6],[2007,7]]},"1459":{"position":[[761,6],[923,6],[1049,6],[1180,6],[1289,7],[1384,6],[1486,7]]},"1460":{"position":[[873,6],[1035,6],[1161,6],[1292,6],[1401,7],[1496,6],[1598,7]]},"1461":{"position":[[1034,6],[1088,6],[1251,6],[1378,6],[1510,6],[1620,7],[1716,6],[1796,6],[1820,7]]},"1462":{"position":[[4469,6],[4631,6],[4757,6],[4888,6],[4997,7],[5092,6],[5194,7],[6165,7],[7223,7],[7312,7],[8847,7]]},"1463":{"position":[[595,6],[757,6],[883,6],[1014,6],[1123,7],[1218,6],[1320,7]]},"1464":{"position":[[503,6],[665,6],[791,6],[922,6],[1031,7],[1126,6],[1228,7]]},"1465":{"position":[[1601,6],[1763,6],[1889,6],[2020,6],[2129,7],[2224,6],[2326,7],[4201,7]]},"1466":{"position":[[839,6],[1001,6],[1127,6],[1258,6],[1367,7],[1462,6],[1564,7]]},"1467":{"position":[[5104,6],[5158,6],[5321,6],[5448,6],[5580,6],[5690,7],[5786,6],[5866,6],[5890,7],[7278,7],[8192,7],[8281,7],[10618,7]]},"1468":{"position":[[603,6],[765,6],[891,6],[1022,6],[1131,7],[1226,6],[1328,7]]},"1469":{"position":[[922,6],[976,6],[1139,6],[1266,6],[1398,6],[1508,7],[1604,6],[1684,6],[1708,7]]},"1470":{"position":[[2841,7],[3505,6],[3667,6],[3793,6],[3924,6],[4033,7],[4128,6],[4230,7]]},"1471":{"position":[[1785,6],[1839,6],[2002,6],[2129,6],[2261,6],[2371,7],[2467,6],[2547,6],[2571,7]]},"1472":{"position":[[1744,6],[1798,6],[1961,6],[2088,6],[2220,6],[2330,7],[2426,6],[2506,6],[2530,7]]},"1473":{"position":[[2059,6],[2113,6],[2276,6],[2403,6],[2535,6],[2645,7],[2741,6],[2821,6],[2845,7]]},"1474":{"position":[[1384,7],[1504,6],[1666,6],[1792,6],[1923,6],[2032,7],[2127,6],[2229,7]]},"1475":{"position":[[1643,7],[1975,6],[2137,6],[2263,6],[2394,6],[2503,7],[2598,6],[2700,7]]},"1476":{"position":[[580,6],[742,6],[868,6],[999,6],[1108,7],[1203,6],[1305,7]]},"1477":{"position":[[678,6],[732,6],[895,6],[1022,6],[1154,6],[1264,7],[1360,6],[1440,6],[1464,7],[1862,7]]},"1478":{"position":[[1169,6],[1223,6],[1386,6],[1513,6],[1645,6],[1755,7],[1851,6],[1931,6],[1955,7],[2568,7],[3819,7]]},"1479":{"position":[[672,6],[834,6],[960,6],[1091,6],[1200,7],[1295,6],[1397,7]]},"1480":{"position":[[1085,6],[1247,6],[1373,6],[1504,6],[1613,7],[1708,6],[1810,7]]},"1481":{"position":[[1618,6],[1780,6],[1906,6],[2037,6],[2146,7],[2241,6],[2343,7]]},"1482":{"position":[[692,6],[854,6],[980,6],[1111,6],[1220,7],[1315,6],[1417,7],[1585,6]]},"1483":{"position":[[526,6],[688,6],[814,6],[945,6],[1054,7],[1149,6],[1251,7]]},"1484":{"position":[[598,6],[760,6],[886,6],[1017,6],[1126,7],[1221,6],[1323,7]]},"1485":{"position":[[858,6],[1020,6],[1146,6],[1277,6],[1386,7],[1481,6],[1583,7],[1685,7],[1774,6],[1985,7],[2632,6],[3101,6],[3271,6],[3286,7]]},"1486":{"position":[[1102,6],[1264,6],[1390,6],[1521,6],[1630,7],[1725,6],[1827,7],[2080,6]]},"1487":{"position":[[743,6],[797,6],[960,6],[1087,6],[1219,6],[1329,7],[1425,6],[1505,6],[1529,7],[2186,6]]}},"keywords":{}}],["target>",{"_index":4788,"title":{},"content":{"963":{"position":[[108,10]]}},"keywords":{}}],["target"",{"_index":6921,"title":{},"content":{"1363":{"position":[[7772,13]]}},"keywords":{}}],["target'",{"_index":3460,"title":{"989":{"position":[[8,8]]},"990":{"position":[[11,8]]}},"content":{"690":{"position":[[458,8]]},"693":{"position":[[1169,8],[4357,8],[8954,8]]},"855":{"position":[[202,8]]},"872":{"position":[[165,8]]},"921":{"position":[[1040,8]]},"937":{"position":[[547,8]]},"938":{"position":[[700,8],[1065,8]]},"945":{"position":[[492,8]]},"1042":{"position":[[634,8]]},"1044":{"position":[[195,8],[2520,8]]},"1136":{"position":[[379,8]]},"1190":{"position":[[176,8]]},"1192":{"position":[[13,8]]},"1226":{"position":[[1239,8],[1319,8]]},"1237":{"position":[[1409,8],[1489,8]]},"1348":{"position":[[4385,8]]},"1355":{"position":[[5674,8]]},"1362":{"position":[[7293,8],[9309,8],[11513,8]]},"1364":{"position":[[7532,8],[10423,8],[12480,8]]},"1367":{"position":[[9397,8],[11883,8],[13942,8]]},"1373":{"position":[[4981,8],[6535,8],[7366,8]]},"1382":{"position":[[6051,8],[8382,8],[9687,8]]},"1384":{"position":[[6563,8],[10998,8],[14727,8],[16032,8]]},"1385":{"position":[[3964,8],[4612,8],[5914,8]]},"1387":{"position":[[6297,8],[7985,8],[9287,8]]},"1388":{"position":[[6920,8]]},"1415":{"position":[[4494,8]]},"1454":{"position":[[5267,8]]},"1485":{"position":[[2332,8]]}},"keywords":{}}],["target(",{"_index":6010,"title":{},"content":{"1190":{"position":[[902,9]]},"1201":{"position":[[59,9]]}},"keywords":{}}],["target.attribut",{"_index":5651,"title":{},"content":{"1103":{"position":[[762,17]]}},"keywords":{}}],["target.compatible_with",{"_index":5095,"title":{},"content":{"1026":{"position":[[1310,23]]}},"keywords":{}}],["target.execution_dep",{"_index":5085,"title":{},"content":{"1026":{"position":[[408,24]]}},"keywords":{}}],["target.framework_v",{"_index":7128,"title":{},"content":{"1381":{"position":[[2028,21]]}},"keywords":{}}],["target.in",{"_index":3644,"title":{},"content":{"705":{"position":[[469,9]]}},"keywords":{}}],["target.packag",{"_index":6638,"title":{},"content":{"1359":{"position":[[2070,15]]}},"keywords":{}}],["target.remove_class",{"_index":6398,"title":{},"content":{"1348":{"position":[[4287,22]]}},"keywords":{}}],["target.robolectric_runtime_depend",{"_index":8409,"title":{},"content":{"1470":{"position":[[4613,38]]}},"keywords":{}}],["target.src",{"_index":7069,"title":{},"content":{"1373":{"position":[[8173,12]]},"1485":{"position":[[3814,12]]}},"keywords":{}}],["target.static_lib",{"_index":7880,"title":{},"content":{"1421":{"position":[[2293,19]]}},"keywords":{}}],["target.target_compatible_with",{"_index":5091,"title":{},"content":{"1026":{"position":[[1139,30]]}},"keywords":{}}],["target.y",{"_index":4293,"title":{},"content":{"895":{"position":[[114,10]]}},"keywords":{}}],["target/subtarget",{"_index":3935,"title":{"855":{"position":[[11,16]]}},"content":{},"keywords":{}}],["target[foo][bar",{"_index":5726,"title":{},"content":{"1112":{"position":[[2205,19]]}},"keywords":{}}],["target_arg",{"_index":6034,"title":{},"content":{"1217":{"position":[[214,16],[281,16]]}},"keywords":{}}],["target_compatible_with",{"_index":5062,"title":{},"content":{"1019":{"position":[[40,22],[114,22],[180,22]]},"1348":{"position":[[72,23]]},"1349":{"position":[[83,23]]},"1350":{"position":[[75,23]]},"1351":{"position":[[81,23],[1189,23]]},"1352":{"position":[[75,23]]},"1353":{"position":[[88,23]]},"1354":{"position":[[89,23]]},"1355":{"position":[[76,23],[2549,23]]},"1356":{"position":[[77,23]]},"1357":{"position":[[77,23]]},"1358":{"position":[[81,23]]},"1359":{"position":[[77,23]]},"1360":{"position":[[72,23],[1778,23]]},"1361":{"position":[[80,23]]},"1362":{"position":[[73,23],[5501,23]]},"1363":{"position":[[73,23],[3247,23]]},"1364":{"position":[[74,23],[5530,23]]},"1365":{"position":[[74,23]]},"1366":{"position":[[75,23],[1277,23]]},"1367":{"position":[[71,23],[6928,23]]},"1368":{"position":[[76,23]]},"1369":{"position":[[80,23]]},"1370":{"position":[[87,23],[926,23]]},"1371":{"position":[[78,23]]},"1372":{"position":[[75,23]]},"1373":{"position":[[72,23]]},"1374":{"position":[[74,23],[961,23]]},"1375":{"position":[[75,23]]},"1376":{"position":[[80,23]]},"1377":{"position":[[77,23]]},"1378":{"position":[[79,23]]},"1379":{"position":[[77,23]]},"1380":{"position":[[76,23]]},"1381":{"position":[[75,23]]},"1382":{"position":[[71,23],[3413,23]]},"1383":{"position":[[72,23],[1651,23]]},"1384":{"position":[[72,23],[4575,23]]},"1385":{"position":[[78,23]]},"1386":{"position":[[83,23]]},"1387":{"position":[[81,23]]},"1388":{"position":[[69,23],[3713,23]]},"1389":{"position":[[74,23]]},"1390":{"position":[[69,23]]},"1391":{"position":[[70,23]]},"1392":{"position":[[67,23]]},"1393":{"position":[[71,23],[1501,23]]},"1394":{"position":[[80,23]]},"1395":{"position":[[75,23],[958,23]]},"1396":{"position":[[80,23]]},"1397":{"position":[[75,23]]},"1398":{"position":[[72,23],[1608,23]]},"1399":{"position":[[72,23]]},"1400":{"position":[[81,23]]},"1401":{"position":[[70,23]]},"1402":{"position":[[69,23]]},"1403":{"position":[[68,23],[1481,23]]},"1404":{"position":[[70,23]]},"1405":{"position":[[70,23]]},"1406":{"position":[[80,23]]},"1407":{"position":[[80,23]]},"1408":{"position":[[71,23]]},"1409":{"position":[[70,23]]},"1410":{"position":[[68,23],[1848,23]]},"1411":{"position":[[75,23]]},"1412":{"position":[[75,23],[1869,23]]},"1413":{"position":[[72,23]]},"1414":{"position":[[71,23]]},"1415":{"position":[[75,23]]},"1416":{"position":[[75,23]]},"1417":{"position":[[73,23]]},"1418":{"position":[[76,23]]},"1419":{"position":[[72,23]]},"1420":{"position":[[76,23]]},"1421":{"position":[[85,23]]},"1422":{"position":[[73,23],[1114,23]]},"1423":{"position":[[70,23]]},"1424":{"position":[[72,23]]},"1425":{"position":[[86,23]]},"1426":{"position":[[72,23],[1187,23]]},"1427":{"position":[[73,23],[2084,23]]},"1428":{"position":[[72,23]]},"1429":{"position":[[70,23],[2748,23]]},"1430":{"position":[[77,23]]},"1431":{"position":[[70,23]]},"1432":{"position":[[78,23]]},"1433":{"position":[[71,23]]},"1434":{"position":[[73,23]]},"1435":{"position":[[78,23]]},"1436":{"position":[[74,23]]},"1437":{"position":[[71,23]]},"1438":{"position":[[69,23],[846,23]]},"1439":{"position":[[75,23],[2370,23]]},"1440":{"position":[[72,23],[2936,23]]},"1441":{"position":[[77,23]]},"1442":{"position":[[78,23],[741,23]]},"1443":{"position":[[71,23]]},"1444":{"position":[[72,23]]},"1445":{"position":[[75,23]]},"1446":{"position":[[72,23]]},"1447":{"position":[[74,23]]},"1448":{"position":[[73,23]]},"1449":{"position":[[74,23]]},"1450":{"position":[[73,23]]},"1451":{"position":[[73,23]]},"1452":{"position":[[69,23]]},"1453":{"position":[[85,23]]},"1454":{"position":[[81,23]]},"1455":{"position":[[87,23]]},"1456":{"position":[[84,23]]},"1457":{"position":[[80,23]]},"1458":{"position":[[73,23]]},"1459":{"position":[[84,23]]},"1460":{"position":[[83,23]]},"1461":{"position":[[84,23],[1162,23]]},"1462":{"position":[[74,23]]},"1463":{"position":[[84,23]]},"1464":{"position":[[85,23]]},"1465":{"position":[[75,23]]},"1466":{"position":[[88,23]]},"1467":{"position":[[72,23],[5232,23]]},"1468":{"position":[[79,23]]},"1469":{"position":[[72,23],[1050,23]]},"1470":{"position":[[77,23]]},"1471":{"position":[[72,23],[1913,23]]},"1472":{"position":[[73,23],[1872,23]]},"1473":{"position":[[70,23],[2187,23]]},"1474":{"position":[[74,23]]},"1475":{"position":[[71,23]]},"1476":{"position":[[77,23]]},"1477":{"position":[[70,23],[806,23]]},"1478":{"position":[[68,23],[1297,23]]},"1479":{"position":[[85,23]]},"1480":{"position":[[74,23]]},"1481":{"position":[[76,23]]},"1482":{"position":[[71,23]]},"1483":{"position":[[76,23]]},"1484":{"position":[[76,23]]},"1485":{"position":[[77,23]]},"1486":{"position":[[72,23]]},"1487":{"position":[[69,23],[871,23]]}},"keywords":{}}],["target_compatible_with(dep",{"_index":5086,"title":{},"content":{"1026":{"position":[[436,28],[1524,27]]}},"keywords":{}}],["target_compatible_with(target",{"_index":5090,"title":{},"content":{"1026":{"position":[[1084,30]]}},"keywords":{}}],["target_dep",{"_index":6257,"title":{"1278":{"position":[[0,14]]},"1309":{"position":[[0,14]]},"1337":{"position":[[0,14]]}},"content":{"1259":{"position":[[1635,14]]},"1290":{"position":[[1635,14]]},"1318":{"position":[[1635,14]]}},"keywords":{}}],["target_deps())"",{"_index":6292,"title":{},"content":{"1278":{"position":[[341,22]]},"1309":{"position":[[341,22]]},"1337":{"position":[[341,22]]}},"keywords":{}}],["target_expr",{"_index":2122,"title":{},"content":{"402":{"position":[[791,11]]},"404":{"position":[[328,11]]},"781":{"position":[[791,11]]},"783":{"position":[[328,11]]}},"keywords":{}}],["target_hint",{"_index":1764,"title":{},"content":{"320":{"position":[[64,12]]}},"keywords":{}}],["target_label",{"_index":920,"title":{"162":{"position":[[0,12]]},"544":{"position":[[0,12]]}},"content":{"62":{"position":[[47,12]]},"94":{"position":[[170,12],[477,12]]},"98":{"position":[[212,12]]},"99":{"position":[[268,12]]},"113":{"position":[[29,12]]},"158":{"position":[[39,12]]},"226":{"position":[[170,12],[477,12]]},"230":{"position":[[212,12]]},"231":{"position":[[268,12]]},"236":{"position":[[158,12],[366,13]]},"237":{"position":[[158,12],[366,13]]},"238":{"position":[[180,12],[388,13]]},"239":{"position":[[152,12],[360,14]]},"243":{"position":[[77,12]]},"294":{"position":[[148,12],[308,14],[353,12]]},"295":{"position":[[54,12]]},"297":{"position":[[145,12],[305,14],[350,12]]},"298":{"position":[[103,12],[189,13],[283,12],[369,13],[421,12],[503,12],[571,13]]},"301":{"position":[[132,12],[266,14],[314,12]]},"302":{"position":[[54,12]]},"309":{"position":[[129,12],[263,14],[308,12]]},"310":{"position":[[103,12],[189,13]]},"311":{"position":[[81,12],[149,13]]},"320":{"position":[[119,12],[187,13]]},"324":{"position":[[126,12],[260,14],[367,12],[501,13]]},"325":{"position":[[154,12],[288,13]]},"326":{"position":[[164,12],[298,13]]},"327":{"position":[[130,12],[264,13]]},"328":{"position":[[126,12],[260,14]]},"330":{"position":[[139,12],[273,13]]},"331":{"position":[[127,12],[261,13]]},"332":{"position":[[137,12],[271,13]]},"333":{"position":[[155,12],[289,13]]},"334":{"position":[[187,12],[321,13]]},"335":{"position":[[127,12],[261,14],[370,12],[504,14]]},"336":{"position":[[126,12],[260,14],[367,12],[501,13]]},"337":{"position":[[128,12],[262,13]]},"338":{"position":[[157,12],[291,13]]},"340":{"position":[[75,12],[143,13]]},"345":{"position":[[247,12]]},"366":{"position":[[36,13],[343,12]]},"367":{"position":[[67,12],[408,12]]},"368":{"position":[[266,12],[3230,12]]},"372":{"position":[[37,13],[284,12]]},"377":{"position":[[175,12]]},"386":{"position":[[161,12]]},"402":{"position":[[827,12]]},"404":{"position":[[364,12]]},"405":{"position":[[163,12],[411,12]]},"417":{"position":[[191,12]]},"461":{"position":[[34,12]]},"465":{"position":[[73,12],[141,14],[195,12],[263,13]]},"466":{"position":[[101,12],[169,13]]},"467":{"position":[[111,12],[179,13]]},"468":{"position":[[77,12],[145,13]]},"469":{"position":[[73,12],[141,14]]},"471":{"position":[[86,12],[154,13]]},"472":{"position":[[74,12],[142,13]]},"473":{"position":[[84,12],[152,13]]},"475":{"position":[[74,12],[142,14],[198,12],[266,14]]},"476":{"position":[[73,12],[141,14],[195,12],[263,13]]},"478":{"position":[[75,12],[143,13]]},"491":{"position":[[47,12]]},"525":{"position":[[29,12]]},"542":{"position":[[39,12]]},"745":{"position":[[36,13],[343,12]]},"746":{"position":[[67,12],[408,12]]},"747":{"position":[[266,12],[3230,12]]},"751":{"position":[[37,13],[284,12]]},"756":{"position":[[175,12]]},"765":{"position":[[161,12]]},"781":{"position":[[827,12]]},"783":{"position":[[364,12]]},"784":{"position":[[163,12],[411,12]]},"796":{"position":[[191,12]]}},"keywords":{}}],["target_label.cel",{"_index":1411,"title":{"163":{"position":[[0,18]]},"545":{"position":[[0,18]]}},"content":{"163":{"position":[[0,18]]},"545":{"position":[[0,18]]}},"keywords":{}}],["target_label.nam",{"_index":1412,"title":{"164":{"position":[[0,18]]},"546":{"position":[[0,18]]}},"content":{"164":{"position":[[0,18]]},"546":{"position":[[0,18]]}},"keywords":{}}],["target_label.packag",{"_index":1413,"title":{"165":{"position":[[0,21]]},"547":{"position":[[0,21]]}},"content":{"165":{"position":[[0,21]]},"547":{"position":[[0,21]]}},"keywords":{}}],["target_label.with_sub_target",{"_index":1414,"title":{"166":{"position":[[0,29]]},"548":{"position":[[0,29]]}},"content":{"166":{"position":[[4,29]]},"548":{"position":[[4,29]]}},"keywords":{}}],["target_nod",{"_index":1531,"title":{},"content":{"278":{"position":[[148,11]]},"301":{"position":[[1145,11],[1234,11]]},"459":{"position":[[168,11]]},"460":{"position":[[152,11]]},"461":{"position":[[134,11]]},"462":{"position":[[275,11]]},"463":{"position":[[211,11]]}},"keywords":{}}],["target_pattern",{"_index":5919,"title":{},"content":{"1138":{"position":[[65,20],[97,20]]},"1146":{"position":[[86,20],[118,20]]},"1186":{"position":[[107,20],[139,20]]},"1187":{"position":[[120,20],[152,20]]},"1192":{"position":[[287,20],[319,20]]},"1199":{"position":[[96,20],[128,20]]},"1200":{"position":[[126,20],[158,20]]},"1201":{"position":[[150,20],[182,20]]},"1226":{"position":[[60,20],[92,20]]},"1228":{"position":[[73,20],[140,20]]},"1237":{"position":[[230,20],[262,20]]}},"keywords":{}}],["target_platform",{"_index":1494,"title":{},"content":{"243":{"position":[[47,16],[607,15],[747,16]]},"294":{"position":[[323,16],[531,15],[798,15]]},"295":{"position":[[24,16],[199,16],[313,15]]},"297":{"position":[[320,16],[509,15]]},"298":{"position":[[391,16]]},"301":{"position":[[284,16],[445,15],[573,15]]},"302":{"position":[[24,16],[199,16],[313,15]]},"309":{"position":[[278,16],[747,15]]}},"keywords":{}}],["target_sdk_vers",{"_index":6777,"title":{},"content":{"1362":{"position":[[4492,19],[13233,19]]},"1364":{"position":[[4559,19],[13933,19]]},"1367":{"position":[[6033,19],[13141,19]]},"1372":{"position":[[1851,19]]},"1389":{"position":[[4256,19]]},"1480":{"position":[[895,19]]}},"keywords":{}}],["target_set",{"_index":1464,"title":{"858":{"position":[[30,11]]},"859":{"position":[[37,11]]}},"content":{"236":{"position":[[173,10],[186,10],[199,10],[212,10],[388,10]]},"237":{"position":[[173,10],[186,10],[199,10],[212,10],[388,10]]},"238":{"position":[[195,10],[208,10],[221,10],[234,10],[410,10]]},"239":{"position":[[167,10],[180,10],[193,10],[206,10],[435,10]]},"240":{"position":[[59,10],[149,10],[253,10],[328,11]]},"294":{"position":[[163,10],[176,10]]},"297":{"position":[[160,10],[173,10]]},"298":{"position":[[118,10],[298,10],[518,10]]},"301":{"position":[[147,10],[160,10],[373,10]]},"309":{"position":[[144,10],[157,10]]},"310":{"position":[[118,10]]},"311":{"position":[[96,10],[200,10]]},"320":{"position":[[134,10]]},"324":{"position":[[141,10],[154,10],[382,10],[395,10],[523,10]]},"325":{"position":[[169,10],[182,10],[310,10]]},"326":{"position":[[179,10],[192,10],[320,10]]},"327":{"position":[[145,10],[158,10]]},"328":{"position":[[141,10],[154,10],[335,10]]},"329":{"position":[[59,10],[209,10],[313,10],[388,11]]},"330":{"position":[[154,10],[167,10],[295,10]]},"331":{"position":[[142,10],[155,10]]},"332":{"position":[[152,10],[165,10],[293,10]]},"333":{"position":[[170,10],[183,10],[311,10]]},"334":{"position":[[202,10],[215,10],[350,10]]},"335":{"position":[[142,10],[155,10],[385,10],[398,10],[542,10]]},"336":{"position":[[141,10],[154,10],[382,10],[395,10],[523,10]]},"337":{"position":[[143,10],[156,10],[284,10]]},"338":{"position":[[172,10],[185,10],[313,10]]},"340":{"position":[[90,10],[165,10]]},"341":{"position":[[42,10]]},"342":{"position":[[51,10]]},"409":{"position":[[65,10]]},"449":{"position":[[67,10]]},"465":{"position":[[88,10],[210,10],[285,10]]},"466":{"position":[[116,10],[191,10]]},"467":{"position":[[126,10],[201,10]]},"468":{"position":[[92,10]]},"469":{"position":[[88,10],[216,10]]},"470":{"position":[[59,10],[149,10],[253,10],[328,11]]},"471":{"position":[[101,10],[176,10]]},"472":{"position":[[89,10]]},"473":{"position":[[99,10],[174,10]]},"474":{"position":[[89,10]]},"475":{"position":[[89,10],[213,10],[304,10]]},"476":{"position":[[88,10],[210,10],[285,10]]},"477":{"position":[[104,10]]},"478":{"position":[[90,10],[165,10]]},"788":{"position":[[65,10]]},"828":{"position":[[67,10]]},"858":{"position":[[42,10],[83,10]]},"859":{"position":[[41,10]]}},"keywords":{}}],["target_univers",{"_index":1723,"title":{},"content":{"309":{"position":[[394,15]]},"329":{"position":[[90,16]]},"905":{"position":[[739,15]]},"906":{"position":[[208,15],[328,16],[478,15],[917,15]]},"907":{"position":[[205,15]]}},"keywords":{}}],["target_universe.lookup("//example:bar"",{"_index":4421,"title":{},"content":{"905":{"position":[[905,49]]},"906":{"position":[[1095,49]]}},"keywords":{}}],["target_universe.lookup("//example:foo"",{"_index":4420,"title":{},"content":{"905":{"position":[[843,49]]}},"keywords":{}}],["target_universe.target_set",{"_index":4431,"title":{},"content":{"906":{"position":[[552,28],[1054,28]]}},"keywords":{}}],["target_universeobject",{"_index":4417,"title":{},"content":{"905":{"position":[[188,22]]}},"keywords":{}}],["targetand",{"_index":3579,"title":{},"content":{"693":{"position":[[7194,9]]}},"keywords":{}}],["targetdefault_target_platform",{"_index":6382,"title":{},"content":{"1348":{"position":[[2726,30]]},"1349":{"position":[[871,30]]},"1350":{"position":[[3842,30]]},"1352":{"position":[[3841,30]]},"1353":{"position":[[1445,30]]},"1354":{"position":[[1283,30]]},"1356":{"position":[[789,30]]},"1357":{"position":[[462,30]]},"1358":{"position":[[1183,30]]},"1359":{"position":[[1020,30]]},"1361":{"position":[[1010,30]]},"1365":{"position":[[944,30]]},"1368":{"position":[[1500,30]]},"1369":{"position":[[552,30]]},"1371":{"position":[[428,30]]},"1372":{"position":[[2066,30]]},"1373":{"position":[[2938,30]]},"1375":{"position":[[464,30]]},"1376":{"position":[[420,30]]},"1377":{"position":[[659,30]]},"1378":{"position":[[406,30]]},"1379":{"position":[[429,30]]},"1380":{"position":[[900,30]]},"1381":{"position":[[806,30]]},"1385":{"position":[[2125,30]]},"1386":{"position":[[763,30]]},"1387":{"position":[[4394,30]]},"1389":{"position":[[4447,30]]},"1390":{"position":[[699,30]]},"1391":{"position":[[652,30]]},"1392":{"position":[[802,30]]},"1394":{"position":[[822,30]]},"1396":{"position":[[628,30]]},"1397":{"position":[[809,30]]},"1399":{"position":[[664,30]]},"1400":{"position":[[533,30]]},"1401":{"position":[[608,30]]},"1402":{"position":[[764,30]]},"1404":{"position":[[597,30]]},"1405":{"position":[[1288,30]]},"1406":{"position":[[504,30]]},"1407":{"position":[[1329,30]]},"1408":{"position":[[1025,30]]},"1409":{"position":[[559,30]]},"1411":{"position":[[542,30]]},"1413":{"position":[[1926,30]]},"1414":{"position":[[793,30]]},"1415":{"position":[[2775,30]]},"1416":{"position":[[1427,30]]},"1417":{"position":[[1016,30]]},"1418":{"position":[[717,30]]},"1419":{"position":[[845,30]]},"1420":{"position":[[1109,30]]},"1421":{"position":[[1084,30]]},"1423":{"position":[[976,30]]},"1424":{"position":[[1101,30]]},"1425":{"position":[[717,30]]},"1428":{"position":[[699,30]]},"1430":{"position":[[1475,30]]},"1431":{"position":[[819,30]]},"1432":{"position":[[1340,30]]},"1433":{"position":[[861,30]]},"1434":{"position":[[535,30]]},"1435":{"position":[[499,30]]},"1436":{"position":[[515,30]]},"1437":{"position":[[585,30]]},"1441":{"position":[[541,30]]},"1443":{"position":[[836,30]]},"1444":{"position":[[752,30]]},"1445":{"position":[[441,30]]},"1446":{"position":[[775,30]]},"1447":{"position":[[657,30]]},"1448":{"position":[[1092,30]]},"1449":{"position":[[1026,30]]},"1450":{"position":[[905,30]]},"1451":{"position":[[905,30]]},"1452":{"position":[[451,30]]},"1453":{"position":[[1037,30]]},"1454":{"position":[[3403,30]]},"1455":{"position":[[1290,30]]},"1456":{"position":[[635,30]]},"1457":{"position":[[694,30]]},"1458":{"position":[[1229,30]]},"1459":{"position":[[708,30]]},"1460":{"position":[[820,30]]},"1462":{"position":[[4416,30]]},"1463":{"position":[[542,30]]},"1464":{"position":[[450,30]]},"1465":{"position":[[1548,30]]},"1466":{"position":[[786,30]]},"1468":{"position":[[550,30]]},"1470":{"position":[[3452,30]]},"1474":{"position":[[1451,30]]},"1475":{"position":[[1922,30]]},"1476":{"position":[[527,30]]},"1479":{"position":[[619,30]]},"1480":{"position":[[1032,30]]},"1481":{"position":[[1565,30]]},"1482":{"position":[[639,30]]},"1483":{"position":[[473,30]]},"1484":{"position":[[545,30]]},"1485":{"position":[[805,30]]},"1486":{"position":[[1049,30]]}},"keywords":{}}],["targetexpr",{"_index":4531,"title":{},"content":{"924":{"position":[[683,10]]}},"keywords":{}}],["targetin",{"_index":4904,"title":{},"content":{"990":{"position":[[338,8]]}},"keywords":{}}],["targetit’",{"_index":4792,"title":{},"content":{"964":{"position":[[416,10]]}},"keywords":{}}],["targetlabel",{"_index":1415,"title":{"388":{"position":[[0,12]]},"767":{"position":[[0,12]]}},"content":{"166":{"position":[[106,11]]},"388":{"position":[[0,12]]},"548":{"position":[[106,11]]},"767":{"position":[[0,12]]}},"keywords":{}}],["targetlistexpr",{"_index":1669,"title":{},"content":{"301":{"position":[[687,17]]}},"keywords":{}}],["targetperform",{"_index":4068,"title":{},"content":{"872":{"position":[[84,13]]}},"keywords":{}}],["targets.artifact_promise(promis",{"_index":3711,"title":{},"content":{"711":{"position":[[509,33]]}},"keywords":{}}],["targets.compiler_flag",{"_index":7830,"title":{},"content":{"1415":{"position":[[3748,23]]}},"keywords":{}}],["targets.v2",{"_index":5705,"title":{},"content":{"1107":{"position":[[269,11]]}},"keywords":{}}],["targets/queri",{"_index":366,"title":{},"content":{"11":{"position":[[334,17]]}},"keywords":{}}],["targets/target",{"_index":4480,"title":{},"content":{"919":{"position":[[202,14]]}},"keywords":{}}],["targets_in_buildfile(fil",{"_index":6253,"title":{"1274":{"position":[[0,27]]},"1305":{"position":[[0,27]]},"1333":{"position":[[0,27]]}},"content":{"1259":{"position":[[1371,27]]},"1290":{"position":[[1371,27]]},"1318":{"position":[[1371,27]]}},"keywords":{}}],["targets_in_packag",{"_index":2458,"title":{},"content":{"477":{"position":[[402,20]]}},"keywords":{}}],["targetsdkversion="19"",{"_index":6588,"title":{},"content":{"1356":{"position":[[2436,31]]}},"keywords":{}}],["targetsfor",{"_index":4077,"title":{},"content":{"872":{"position":[[690,10]]}},"keywords":{}}],["targetspackag",{"_index":4133,"title":{},"content":{"882":{"position":[[84,14]]}},"keywords":{}}],["targetsth",{"_index":4073,"title":{},"content":{"872":{"position":[[332,10]]}},"keywords":{}}],["targets—in",{"_index":3412,"title":{},"content":{"681":{"position":[[274,10]]}},"keywords":{}}],["targettest",{"_index":6389,"title":{},"content":{"1348":{"position":[[3481,12]]},"1349":{"position":[[1626,12]]},"1350":{"position":[[4597,12]]},"1352":{"position":[[4596,12]]},"1353":{"position":[[2200,12]]},"1354":{"position":[[2038,12]]},"1356":{"position":[[1544,12]]},"1357":{"position":[[1217,12]]},"1358":{"position":[[1938,12]]},"1359":{"position":[[1775,12]]},"1361":{"position":[[1765,12]]},"1365":{"position":[[1699,12]]},"1368":{"position":[[2255,12]]},"1369":{"position":[[1307,12]]},"1371":{"position":[[1183,12]]},"1372":{"position":[[2821,12]]},"1373":{"position":[[3693,12]]},"1375":{"position":[[1219,12]]},"1376":{"position":[[1175,12]]},"1377":{"position":[[1414,12]]},"1378":{"position":[[1161,12]]},"1379":{"position":[[1184,12]]},"1380":{"position":[[1655,12]]},"1381":{"position":[[1561,12]]},"1385":{"position":[[2880,12]]},"1386":{"position":[[1518,12]]},"1387":{"position":[[5149,12]]},"1389":{"position":[[5202,12]]},"1390":{"position":[[1454,12]]},"1391":{"position":[[1407,12]]},"1392":{"position":[[1557,12]]},"1394":{"position":[[1577,12]]},"1396":{"position":[[1383,12]]},"1397":{"position":[[1564,12]]},"1399":{"position":[[1419,12]]},"1400":{"position":[[1288,12]]},"1401":{"position":[[1363,12]]},"1402":{"position":[[1519,12]]},"1404":{"position":[[1352,12]]},"1405":{"position":[[2043,12]]},"1406":{"position":[[1259,12]]},"1407":{"position":[[2084,12]]},"1408":{"position":[[1780,12]]},"1409":{"position":[[1314,12]]},"1411":{"position":[[1297,12]]},"1413":{"position":[[2681,12]]},"1414":{"position":[[1548,12]]},"1415":{"position":[[3530,12]]},"1416":{"position":[[2182,12]]},"1417":{"position":[[1771,12]]},"1418":{"position":[[1472,12]]},"1419":{"position":[[1600,12]]},"1420":{"position":[[1864,12]]},"1421":{"position":[[1839,12]]},"1423":{"position":[[1731,12]]},"1424":{"position":[[1856,12]]},"1425":{"position":[[1472,12]]},"1428":{"position":[[1454,12]]},"1430":{"position":[[2230,12]]},"1431":{"position":[[1574,12]]},"1432":{"position":[[2095,12]]},"1433":{"position":[[1616,12]]},"1434":{"position":[[1290,12]]},"1435":{"position":[[1254,12]]},"1436":{"position":[[1270,12]]},"1437":{"position":[[1340,12]]},"1441":{"position":[[1296,12]]},"1443":{"position":[[1591,12]]},"1444":{"position":[[1507,12]]},"1445":{"position":[[1196,12]]},"1446":{"position":[[1530,12]]},"1447":{"position":[[1412,12]]},"1448":{"position":[[1847,12]]},"1449":{"position":[[1781,12]]},"1450":{"position":[[1660,12]]},"1451":{"position":[[1660,12]]},"1452":{"position":[[1206,12]]},"1453":{"position":[[1792,12]]},"1454":{"position":[[4158,12]]},"1455":{"position":[[2045,12]]},"1456":{"position":[[1390,12]]},"1457":{"position":[[1449,12]]},"1458":{"position":[[1984,12]]},"1459":{"position":[[1463,12]]},"1460":{"position":[[1575,12]]},"1462":{"position":[[5171,12]]},"1463":{"position":[[1297,12]]},"1464":{"position":[[1205,12]]},"1465":{"position":[[2303,12]]},"1466":{"position":[[1541,12]]},"1468":{"position":[[1305,12]]},"1470":{"position":[[4207,12]]},"1474":{"position":[[2206,12]]},"1475":{"position":[[2677,12]]},"1476":{"position":[[1282,12]]},"1479":{"position":[[1374,12]]},"1480":{"position":[[1787,12]]},"1481":{"position":[[2320,12]]},"1482":{"position":[[1394,12]]},"1483":{"position":[[1228,12]]},"1484":{"position":[[1300,12]]},"1485":{"position":[[1560,12]]},"1486":{"position":[[1804,12]]}},"keywords":{}}],["targetunivers",{"_index":2116,"title":{},"content":{"402":{"position":[[356,14]]},"781":{"position":[[356,14]]}},"keywords":{}}],["targetweight",{"_index":1193,"title":{},"content":{"94":{"position":[[1483,13]]},"226":{"position":[[1483,13]]}},"keywords":{}}],["target’",{"_index":3798,"title":{},"content":{"722":{"position":[[240,8]]}},"keywords":{}}],["task",{"_index":5584,"title":{},"content":{"1086":{"position":[[86,5]]},"1429":{"position":[[4193,5]]},"1440":{"position":[[4186,5]]}},"keywords":{}}],["tax",{"_index":3685,"title":{},"content":{"706":{"position":[[2635,3]]}},"keywords":{}}],["td",{"_index":5576,"title":{},"content":{"1084":{"position":[[279,2]]},"1088":{"position":[[1280,2]]}},"keywords":{}}],["team",{"_index":70,"title":{},"content":{"4":{"position":[[564,4]]},"5":{"position":[[98,4]]},"9":{"position":[[265,4],[2570,4]]},"11":{"position":[[725,5]]},"580":{"position":[[304,4]]},"919":{"position":[[581,5],[828,5]]},"1007":{"position":[[10,4]]}},"keywords":{}}],["technic",{"_index":4847,"title":{},"content":{"980":{"position":[[125,11]]},"1393":{"position":[[4944,11]]}},"keywords":{}}],["telemetri",{"_index":3777,"title":{"713":{"position":[[6,9]]},"862":{"position":[[4,9]]},"863":{"position":[[0,10]]}},"content":{"713":{"position":[[6,9]]},"864":{"position":[[1601,10]]},"1116":{"position":[[110,9]]},"1120":{"position":[[72,10]]}},"keywords":{}}],["telemetrydirectli",{"_index":4056,"title":{},"content":{"869":{"position":[[747,17]]}},"keywords":{}}],["tell",{"_index":3501,"title":{},"content":{"690":{"position":[[2907,4]]},"693":{"position":[[1425,5]]},"722":{"position":[[496,4]]},"865":{"position":[[112,4],[844,4]]},"980":{"position":[[1245,5]]},"1058":{"position":[[26,5]]},"1093":{"position":[[579,5]]},"1231":{"position":[[416,5]]},"1482":{"position":[[1622,5]]}},"keywords":{}}],["templat",{"_index":2060,"title":{},"content":{"389":{"position":[[166,9],[264,9]]},"768":{"position":[[166,9],[264,9]]},"978":{"position":[[165,9]]},"1061":{"position":[[318,8]]},"1386":{"position":[[4320,8]]},"1393":{"position":[[2269,8],[2289,8],[2558,9],[2765,8],[2904,8],[3024,8],[3724,8],[3844,8],[8527,8],[8654,8]]}},"keywords":{}}],["template_dep",{"_index":7846,"title":{},"content":{"1416":{"position":[[1255,14]]},"1417":{"position":[[943,14]]},"1420":{"position":[[963,14]]}},"keywords":{}}],["templateplaceholderinfo",{"_index":2056,"title":{"389":{"position":[[0,24]]},"768":{"position":[[0,24]]}},"content":{"389":{"position":[[4,24],[82,23],[725,23]]},"768":{"position":[[4,24],[82,23],[725,23]]},"1190":{"position":[[362,25]]},"1192":{"position":[[199,25]]}},"keywords":{}}],["templateproviderinfo.unkeyed_vari",{"_index":2080,"title":{},"content":{"389":{"position":[[1313,38]]},"768":{"position":[[1313,38]]}},"keywords":{}}],["temporari",{"_index":391,"title":{},"content":{"12":{"position":[[81,9]]},"1360":{"position":[[4455,9]]},"1383":{"position":[[6487,9]]},"1403":{"position":[[3870,9]]}},"keywords":{}}],["tend",{"_index":855,"title":{"906":{"position":[[30,4]]}},"content":{"41":{"position":[[398,4]]},"174":{"position":[[398,4]]},"1112":{"position":[[4289,4]]}},"keywords":{}}],["tendenc",{"_index":5698,"title":{},"content":{"1105":{"position":[[2268,8]]}},"keywords":{}}],["term",{"_index":3510,"title":{"693":{"position":[[12,5]]}},"content":{"693":{"position":[[12,5]]},"890":{"position":[[932,6]]},"1012":{"position":[[242,6]]},"1079":{"position":[[1259,4]]},"1262":{"position":[[219,4]]},"1293":{"position":[[219,4]]},"1321":{"position":[[219,4]]},"1393":{"position":[[6455,6]]},"1398":{"position":[[3500,6]]}},"keywords":{}}],["termin",{"_index":1077,"title":{},"content":{"89":{"position":[[202,11]]},"221":{"position":[[202,11]]},"617":{"position":[[260,11],[372,11],[475,11]]},"900":{"position":[[1461,11]]},"1136":{"position":[[3789,10]]},"1138":{"position":[[7451,10]]},"1140":{"position":[[6377,10]]},"1142":{"position":[[1821,10]]},"1146":{"position":[[1761,10]]},"1148":{"position":[[4801,10]]},"1155":{"position":[[1857,10]]},"1156":{"position":[[1435,10]]},"1167":{"position":[[7381,10]]},"1169":{"position":[[1220,10]]},"1186":{"position":[[3025,10]]},"1187":{"position":[[3038,10]]},"1188":{"position":[[7764,10]]},"1191":{"position":[[1625,10]]},"1192":{"position":[[1800,10]]},"1193":{"position":[[1852,10]]},"1194":{"position":[[1492,10]]},"1195":{"position":[[1470,10]]},"1196":{"position":[[1280,10]]},"1197":{"position":[[2263,10]]},"1198":{"position":[[2273,10]]},"1199":{"position":[[2301,10]]},"1200":{"position":[[2168,10]]},"1201":{"position":[[1428,10]]},"1202":{"position":[[2570,10],[6967,10]]},"1203":{"position":[[1662,10]]},"1204":{"position":[[1506,10]]},"1205":{"position":[[2835,10]]},"1206":{"position":[[1306,10]]},"1207":{"position":[[1463,10]]},"1209":{"position":[[2811,10]]},"1217":{"position":[[6122,10]]},"1219":{"position":[[2108,10]]},"1222":{"position":[[1232,10]]},"1223":{"position":[[1242,10]]},"1224":{"position":[[1422,10]]},"1226":{"position":[[6590,10]]},"1228":{"position":[[8203,10]]},"1235":{"position":[[4071,10]]},"1237":{"position":[[6760,10]]}},"keywords":{}}],["test",{"_index":141,"title":{"726":{"position":[[17,6]]},"860":{"position":[[11,8]]},"1033":{"position":[[0,7]]},"1051":{"position":[[20,5]]},"1053":{"position":[[0,4]]},"1066":{"position":[[0,4]]},"1067":{"position":[[13,4]]},"1069":{"position":[[22,4]]},"1107":{"position":[[0,7]]},"1227":{"position":[[0,4]]},"1228":{"position":[[5,5]]}},"content":{"7":{"position":[[121,5]]},"12":{"position":[[380,6]]},"23":{"position":[[3400,6]]},"24":{"position":[[1116,6]]},"26":{"position":[[113,8]]},"27":{"position":[[120,8]]},"29":{"position":[[126,8]]},"30":{"position":[[165,8]]},"31":{"position":[[148,8]]},"178":{"position":[[113,8]]},"179":{"position":[[120,8]]},"185":{"position":[[126,8]]},"186":{"position":[[165,8]]},"187":{"position":[[148,8]]},"337":{"position":[[330,5]]},"338":{"position":[[359,5],[458,5]]},"374":{"position":[[322,6],[392,6],[583,5],[668,5],[687,4],[822,5],[853,4],[998,5],[1078,5],[1212,4],[1286,4],[1445,6],[1783,4],[1902,5],[1950,4],[2092,4]]},"435":{"position":[[53,4]]},"440":{"position":[[54,5],[106,7]]},"442":{"position":[[40,4]]},"478":{"position":[[211,5]]},"586":{"position":[[198,4]]},"597":{"position":[[49,4]]},"598":{"position":[[49,4]]},"599":{"position":[[49,4]]},"600":{"position":[[49,4]]},"601":{"position":[[49,4]]},"602":{"position":[[49,4]]},"603":{"position":[[49,4]]},"618":{"position":[[87,4]]},"646":{"position":[[50,4]]},"708":{"position":[[664,7],[694,6],[737,5]]},"715":{"position":[[1889,5],[1922,8]]},"725":{"position":[[58,5],[164,5]]},"726":{"position":[[19,8]]},"753":{"position":[[322,6],[392,6],[583,5],[668,5],[687,4],[822,5],[853,4],[998,5],[1078,5],[1212,4],[1286,4],[1445,6],[1783,4],[1902,5],[1950,4],[2092,4]]},"814":{"position":[[53,4]]},"819":{"position":[[54,5],[106,7]]},"821":{"position":[[40,4]]},"860":{"position":[[520,4],[554,7],[604,4]]},"879":{"position":[[349,4],[370,5],[402,4]]},"894":{"position":[[311,4]]},"978":{"position":[[175,4]]},"1033":{"position":[[60,4]]},"1052":{"position":[[171,5],[547,4],[1308,5]]},"1053":{"position":[[29,5],[135,4],[153,4],[269,4],[334,4],[353,4],[681,4],[948,4],[990,5],[1139,5],[1267,5],[1380,4],[1435,4],[1472,4]]},"1054":{"position":[[716,4],[1212,4]]},"1057":{"position":[[700,7]]},"1061":{"position":[[52,8]]},"1067":{"position":[[23,4],[268,4],[291,5],[319,4],[379,4],[507,4],[575,4],[698,4]]},"1068":{"position":[[34,7],[179,7]]},"1069":{"position":[[85,4],[156,4],[282,4],[402,4],[453,6],[553,4],[823,4],[883,5]]},"1070":{"position":[[341,5],[534,5],[555,4],[703,5],[731,5]]},"1071":{"position":[[20,4],[151,4],[659,4],[806,4],[889,4],[922,4],[1072,4],[1204,4],[1468,4]]},"1072":{"position":[[12,5],[419,4]]},"1073":{"position":[[0,5],[134,6]]},"1102":{"position":[[683,4],[708,4],[739,5],[798,4],[1118,4]]},"1105":{"position":[[2584,6]]},"1107":{"position":[[16,4],[176,4],[200,5]]},"1138":{"position":[[1100,4],[1116,5],[1155,4],[1178,5]]},"1152":{"position":[[107,7],[195,6]]},"1172":{"position":[[216,5]]},"1190":{"position":[[1187,5]]},"1204":{"position":[[219,4],[9186,4],[9246,4]]},"1205":{"position":[[74,5]]},"1228":{"position":[[10,4],[58,4],[173,4],[237,4],[252,4],[359,4],[471,5],[540,6],[945,5],[1009,5],[1032,5],[1159,5],[1180,5],[1378,5],[1476,6],[1493,5],[1522,4],[1616,4],[1928,4],[1989,4],[2033,4],[2079,4],[2203,4],[2254,5],[2279,7],[2303,7],[2362,6],[2456,4],[2517,4],[2561,4],[2607,4],[2727,4]]},"1243":{"position":[[738,6],[989,4],[1039,4],[1054,5],[1124,4]]},"1348":{"position":[[266,6],[3525,5]]},"1349":{"position":[[277,6],[1670,5]]},"1350":{"position":[[269,6],[4641,5]]},"1351":{"position":[[275,6],[1830,6],[1868,5]]},"1352":{"position":[[269,6],[4640,5]]},"1353":{"position":[[282,6],[2244,5],[2282,7],[2453,5],[2486,4],[2512,4],[2850,5],[2931,5],[2975,4],[3014,7],[3434,8]]},"1354":{"position":[[283,6],[1246,6],[2082,5],[2128,6],[2265,4],[2290,4],[2353,4],[2548,6],[2680,4],[2767,4],[2831,4],[2965,5],[3168,5]]},"1355":{"position":[[270,6],[3190,6],[3228,5]]},"1356":{"position":[[271,6],[1588,5]]},"1357":{"position":[[271,6],[1261,5]]},"1358":{"position":[[275,6],[1982,5]]},"1359":{"position":[[271,6],[1819,5]]},"1360":{"position":[[266,6],[2419,6],[2457,5]]},"1361":{"position":[[274,6],[1809,5]]},"1362":{"position":[[267,6],[6142,6],[6180,5]]},"1363":{"position":[[267,6],[3888,6],[3926,5]]},"1364":{"position":[[268,6],[6171,6],[6209,5]]},"1365":{"position":[[268,6],[1743,5]]},"1366":{"position":[[269,6],[1918,6],[1956,5]]},"1367":{"position":[[265,6],[6686,4],[6726,5],[6764,5],[7569,6],[7607,5],[10363,6],[10495,4],[10582,4],[10612,4],[13590,4],[13608,5],[13686,4],[13757,4],[13810,4],[14179,4],[14298,4]]},"1368":{"position":[[270,6],[2299,5]]},"1369":{"position":[[274,6],[1351,5]]},"1370":{"position":[[281,6],[1567,6],[1605,5]]},"1371":{"position":[[272,6],[1227,5]]},"1372":{"position":[[269,6],[2865,5]]},"1373":{"position":[[266,6],[3737,5]]},"1374":{"position":[[268,6],[1602,6],[1640,5]]},"1375":{"position":[[269,6],[1263,5]]},"1376":{"position":[[274,6],[1219,5]]},"1377":{"position":[[271,6],[1458,5]]},"1378":{"position":[[273,6],[1205,5]]},"1379":{"position":[[271,6],[1228,5]]},"1380":{"position":[[270,6],[1699,5]]},"1381":{"position":[[269,6],[1605,5],[2529,6]]},"1382":{"position":[[265,6],[4054,6],[4092,5]]},"1383":{"position":[[266,6],[2292,6],[2330,5]]},"1384":{"position":[[266,6],[5216,6],[5254,5]]},"1385":{"position":[[272,6],[2924,5]]},"1386":{"position":[[277,6],[1562,5]]},"1387":{"position":[[275,6],[5193,5]]},"1388":{"position":[[263,6],[3508,7],[3549,5],[4354,6],[4392,5],[4703,4],[6101,5],[10192,5],[10367,4]]},"1389":{"position":[[268,6],[5246,5]]},"1390":{"position":[[263,6],[1498,5]]},"1391":{"position":[[264,6],[1451,5]]},"1392":{"position":[[261,6],[673,5],[735,4],[1601,5],[1818,6],[1950,4],[2316,5],[2487,4],[2534,7]]},"1393":{"position":[[265,6],[2142,6],[2180,5],[6730,4],[6783,6]]},"1394":{"position":[[274,6],[1621,5]]},"1395":{"position":[[269,6],[1599,6],[1637,5]]},"1396":{"position":[[274,6],[1427,5]]},"1397":{"position":[[269,6],[1608,5]]},"1398":{"position":[[266,6],[1143,4],[1168,4],[1321,4],[2249,6],[2287,5],[2512,4],[3227,5],[3245,5],[3314,5],[3390,4],[3450,4],[3885,4],[4657,4],[4985,5],[5008,4],[5115,6],[5211,4],[5473,4],[6211,6],[6278,4],[6326,4],[6432,4],[6450,5],[6486,4],[6601,4],[6709,4],[6776,4]]},"1399":{"position":[[266,6],[1463,5]]},"1400":{"position":[[275,6],[1332,5]]},"1401":{"position":[[264,6],[1407,5]]},"1402":{"position":[[263,6],[1563,5]]},"1403":{"position":[[262,6],[2122,6],[2160,5]]},"1404":{"position":[[264,6],[1396,5]]},"1405":{"position":[[264,6],[2087,5],[3964,6]]},"1406":{"position":[[274,6],[1303,5]]},"1407":{"position":[[274,6],[2128,5],[4096,5],[4583,6]]},"1408":{"position":[[265,6],[1824,5],[2900,6]]},"1409":{"position":[[264,6],[1358,5]]},"1410":{"position":[[262,6],[1676,4],[2489,6],[2527,5],[3070,5],[3302,6],[3434,4],[3521,4],[3551,4],[3604,4],[3612,8],[4291,4],[4511,4],[4634,6],[5415,5],[5551,4],[5699,4],[5765,6],[5872,6],[5970,6],[6113,6]]},"1411":{"position":[[269,6],[1341,5]]},"1412":{"position":[[269,6],[2510,6],[2548,5]]},"1413":{"position":[[266,6],[2725,5]]},"1414":{"position":[[265,6],[1592,5]]},"1415":{"position":[[269,6],[3574,5]]},"1416":{"position":[[269,6],[2226,5]]},"1417":{"position":[[267,6],[1815,5]]},"1418":{"position":[[270,6],[1516,5]]},"1419":{"position":[[266,6],[1644,5]]},"1420":{"position":[[270,6],[1908,5]]},"1421":{"position":[[279,6],[1883,5]]},"1422":{"position":[[267,6],[1755,6],[1793,5]]},"1423":{"position":[[264,6],[1775,5]]},"1424":{"position":[[266,6],[1900,5]]},"1425":{"position":[[280,6],[1516,5]]},"1426":{"position":[[266,6],[1828,6],[1866,5]]},"1427":{"position":[[267,6],[2725,6],[2763,5]]},"1428":{"position":[[266,6],[1498,5]]},"1429":{"position":[[264,6],[2566,5],[3389,6],[3427,5],[3798,6],[3890,6],[3964,5],[3998,5],[4085,5],[4144,5],[4269,5],[4295,5],[4351,6],[4409,5],[4487,4],[4511,5],[4525,4],[4594,6],[4726,4],[4813,4],[4843,4],[5239,5],[5327,5],[5355,6],[5385,4],[5624,4],[5912,5],[6058,4],[6231,8],[6290,6]]},"1430":{"position":[[271,6],[2274,5]]},"1431":{"position":[[264,6],[1618,5]]},"1432":{"position":[[272,6],[2139,5]]},"1433":{"position":[[265,6],[1660,5]]},"1434":{"position":[[267,6],[1334,5]]},"1435":{"position":[[272,6],[1298,5]]},"1436":{"position":[[268,6],[1314,5]]},"1437":{"position":[[265,6],[1384,5]]},"1438":{"position":[[263,6],[1487,6],[1525,5]]},"1439":{"position":[[269,6],[3011,6],[3049,5]]},"1440":{"position":[[266,6],[2754,5],[3577,6],[3615,5],[3791,6],[3883,6],[3957,5],[3991,5],[4078,5],[4137,5],[4262,5],[4288,5],[4344,6],[4402,5],[4480,4],[4504,5],[4518,4],[4676,6],[4808,4],[4895,4],[4925,4],[5233,5],[5321,5],[5349,6],[5379,4],[5616,4],[5812,5],[5958,4],[6089,6]]},"1441":{"position":[[271,6],[1340,5]]},"1442":{"position":[[272,6],[1382,6],[1420,5],[3024,4]]},"1443":{"position":[[265,6],[1635,5]]},"1444":{"position":[[266,6],[1551,5]]},"1445":{"position":[[269,6],[1240,5]]},"1446":{"position":[[266,6],[1574,5]]},"1447":{"position":[[268,6],[1456,5]]},"1448":{"position":[[267,6],[1891,5],[2642,4],[2677,4],[2745,6],[2830,6]]},"1449":{"position":[[268,6],[1825,5],[2576,4],[2611,4],[2679,6],[2764,6]]},"1450":{"position":[[267,6],[1704,5]]},"1451":{"position":[[267,6],[1704,5]]},"1452":{"position":[[263,6],[1250,5]]},"1453":{"position":[[279,6],[1836,5]]},"1454":{"position":[[275,6],[4202,5]]},"1455":{"position":[[281,6],[2089,5]]},"1456":{"position":[[278,6],[1434,5]]},"1457":{"position":[[274,6],[1493,5],[1939,6]]},"1458":{"position":[[267,6],[2028,5],[2669,8]]},"1459":{"position":[[278,6],[1507,5]]},"1460":{"position":[[277,6],[1619,5]]},"1461":{"position":[[278,6],[1803,6],[1841,5]]},"1462":{"position":[[268,6],[5215,5]]},"1463":{"position":[[278,6],[1341,5]]},"1464":{"position":[[279,6],[1249,5]]},"1465":{"position":[[269,6],[2347,5]]},"1466":{"position":[[282,6],[732,5],[1585,5]]},"1467":{"position":[[266,6],[5022,5],[5055,7],[5873,6],[5911,5],[6357,5],[6454,5],[8449,6],[8552,6],[8720,4],[10434,5],[10661,4],[10832,4],[10906,6]]},"1468":{"position":[[273,6],[1349,5]]},"1469":{"position":[[266,6],[1691,6],[1729,5]]},"1470":{"position":[[271,6],[3335,5],[3375,4],[4251,5]]},"1471":{"position":[[266,6],[2554,6],[2592,5],[5638,6],[5754,6]]},"1472":{"position":[[267,6],[2513,6],[2551,5],[6524,6],[6640,6]]},"1473":{"position":[[264,6],[1926,4],[2023,5],[2828,6],[2866,5],[3561,6],[3868,4],[4077,4],[5336,4],[5809,6],[5925,6]]},"1474":{"position":[[268,6],[2250,5]]},"1475":{"position":[[265,6],[2721,5]]},"1476":{"position":[[271,6],[1326,5]]},"1477":{"position":[[264,6],[1447,6],[1485,5]]},"1478":{"position":[[262,6],[948,5],[1060,4],[1099,4],[1938,6],[1976,5],[2219,4],[2478,4],[2491,5],[2878,4],[2980,4],[3363,4],[3393,4],[3531,8],[3788,5]]},"1479":{"position":[[279,6],[1418,5]]},"1480":{"position":[[268,6],[1831,5]]},"1481":{"position":[[270,6],[2364,5]]},"1482":{"position":[[265,6],[553,5],[590,7],[1438,5],[1502,5],[1516,5],[1599,6],[1646,6],[1723,4],[1794,5],[1814,5],[1831,6],[1898,5],[1995,4],[2150,4],[2287,4],[2409,5],[2576,5],[2696,4],[2985,5],[3009,4],[3384,5]]},"1483":{"position":[[270,6],[1272,5]]},"1484":{"position":[[270,6],[1344,5]]},"1485":{"position":[[271,6],[1604,5]]},"1486":{"position":[[266,6],[1848,5]]},"1487":{"position":[[263,6],[1512,6],[1550,5]]}},"keywords":{}}],["test'",{"_index":5324,"title":{},"content":{"1053":{"position":[[422,6]]}},"keywords":{}}],["test).target",{"_index":4288,"title":{},"content":{"894":{"position":[[331,12]]}},"keywords":{}}],["test.buck2",{"_index":7634,"title":{},"content":{"1398":{"position":[[6368,10]]}},"keywords":{}}],["test.d",{"_index":7438,"title":{},"content":{"1392":{"position":[[2551,9]]}},"keywords":{}}],["test_bundl",{"_index":7023,"title":{},"content":{"1372":{"position":[[1887,12]]}},"keywords":{}}],["test_case_timeout_m",{"_index":7814,"title":{},"content":{"1413":{"position":[[1671,21]]},"1429":{"position":[[2189,21]]},"1440":{"position":[[2343,21]]},"1470":{"position":[[2865,21]]},"1475":{"position":[[1667,21]]}},"keywords":{}}],["test_class_names_fil",{"_index":7985,"title":{},"content":{"1429":{"position":[[2227,22]]},"1440":{"position":[[2381,22]]},"1470":{"position":[[2903,22]]}},"keywords":{}}],["test_dep",{"_index":8515,"title":{},"content":{"1482":{"position":[[467,10]]}},"keywords":{}}],["test_executor_arg",{"_index":6069,"title":{},"content":{"1228":{"position":[[178,23]]}},"keywords":{}}],["test_host_app",{"_index":6969,"title":{},"content":{"1367":{"position":[[6069,14],[13443,14]]}},"keywords":{}}],["test_info",{"_index":5494,"title":{},"content":{"1071":{"position":[[298,9]]}},"keywords":{}}],["test_re_cap",{"_index":6970,"title":{},"content":{"1367":{"position":[[6100,21],[14101,21]]}},"keywords":{}}],["test_re_use_cas",{"_index":6971,"title":{},"content":{"1367":{"position":[[6149,17],[14236,17]]}},"keywords":{}}],["test_rule_timeout_m",{"_index":6531,"title":{},"content":{"1354":{"position":[[1082,21]]},"1367":{"position":[[6183,21]]},"1388":{"position":[[3270,21],[10088,21]]},"1392":{"position":[[551,21]]},"1410":{"position":[[1487,21],[5311,21]]},"1413":{"position":[[1709,21]]},"1429":{"position":[[2266,21],[5808,21]]},"1440":{"position":[[2420,21],[5708,21]]},"1467":{"position":[[4611,21],[10330,21]]},"1470":{"position":[[2942,21]]},"1475":{"position":[[1705,21]]},"1478":{"position":[[970,21]]}},"keywords":{}}],["test_runner_gener",{"_index":7800,"title":{},"content":{"1411":{"position":[[471,22]]}},"keywords":{}}],["test_suit",{"_index":8514,"title":{"1482":{"position":[[0,11]]}},"content":{"1482":{"position":[[4,11],[508,12],[1572,12],[1751,12],[2366,11],[2534,11]]}},"keywords":{}}],["test_typ",{"_index":2014,"title":{},"content":{"374":{"position":[[519,10]]},"753":{"position":[[519,10]]},"1413":{"position":[[1747,10]]},"1429":{"position":[[2304,10],[6031,10]]},"1440":{"position":[[2458,10],[5931,10]]},"1470":{"position":[[2980,10]]},"1475":{"position":[[1743,10]]}},"keywords":{}}],["testa",{"_index":5452,"title":{},"content":{"1061":{"position":[[72,5]]}},"keywords":{}}],["testb",{"_index":5453,"title":{},"content":{"1061":{"position":[[81,5]]}},"keywords":{}}],["testdata.dat",{"_index":8362,"title":{},"content":{"1465":{"position":[[4740,15]]},"1467":{"position":[[11268,15]]}},"keywords":{}}],["testinfo",{"_index":3800,"title":{"978":{"position":[[5,8]]}},"content":{"722":{"position":[[1020,9]]},"978":{"position":[[5,8],[32,8],[75,8],[152,8]]}},"keywords":{}}],["testng",{"_index":7989,"title":{},"content":{"1429":{"position":[[3818,6],[3883,6],[6129,9]]},"1440":{"position":[[3811,6],[3876,6],[6029,9]]}},"keywords":{}}],["testrecord_video",{"_index":6542,"title":{},"content":{"1354":{"position":[[2797,17]]}},"keywords":{}}],["tests"",{"_index":5497,"title":{},"content":{"1071":{"position":[[362,13]]}},"keywords":{}}],["tests.when",{"_index":5475,"title":{},"content":{"1067":{"position":[[452,10]]}},"keywords":{}}],["tests/**/*test.java",{"_index":7979,"title":{},"content":{"1427":{"position":[[8050,23]]}},"keywords":{}}],["tests/**/*test.kt",{"_index":8071,"title":{},"content":{"1439":{"position":[[8874,21]]}},"keywords":{}}],["testsof",{"_index":1830,"title":{},"content":{"337":{"position":[[300,7]]},"338":{"position":[[329,7]]},"478":{"position":[[181,7]]}},"keywords":{}}],["testsof(target",{"_index":6255,"title":{"1276":{"position":[[0,16]]},"1307":{"position":[[0,16]]},"1335":{"position":[[0,16]]}},"content":{"1259":{"position":[[1496,16]]},"1290":{"position":[[1496,16]]},"1318":{"position":[[1496,16]]}},"keywords":{}}],["testsof_with_default_platform",{"_index":4415,"title":{},"content":{"905":{"position":[[101,30]]}},"keywords":{}}],["testsrc",{"_index":7436,"title":{},"content":{"1392":{"position":[[2071,9]]}},"keywords":{}}],["testutil",{"_index":7977,"title":{},"content":{"1427":{"position":[[7994,11]]},"1439":{"position":[[8820,11]]},"1444":{"position":[[2241,11]]},"1465":{"position":[[4679,11]]}},"keywords":{}}],["text",{"_index":2808,"title":{},"content":{"595":{"position":[[398,4]]},"675":{"position":[[745,4]]},"1071":{"position":[[1329,4]]},"1354":{"position":[[2582,4]]},"1359":{"position":[[2253,4]]},"1367":{"position":[[10397,4]]},"1392":{"position":[[1852,4]]},"1410":{"position":[[3336,4]]},"1429":{"position":[[4628,4]]},"1440":{"position":[[4710,4]]}},"keywords":{}}],["text')extra_flag",{"_index":6882,"title":{},"content":{"1363":{"position":[[4253,17]]}},"keywords":{}}],["textual",{"_index":3080,"title":{},"content":{"632":{"position":[[58,7]]}},"keywords":{}}],["th",{"_index":3087,"title":{},"content":{"633":{"position":[[98,2]]}},"keywords":{}}],["thankfulli",{"_index":4949,"title":{},"content":{"991":{"position":[[3092,10]]}},"keywords":{}}],["that'",{"_index":1223,"title":{},"content":{"94":{"position":[[3316,6]]},"226":{"position":[[3316,6]]},"693":{"position":[[279,6]]},"977":{"position":[[271,6]]},"991":{"position":[[3074,6]]},"1093":{"position":[[721,6]]},"1172":{"position":[[187,6],[400,6]]},"1348":{"position":[[4115,6]]}},"keywords":{}}],["that'll",{"_index":4835,"title":{},"content":{"976":{"position":[[200,7]]}},"keywords":{}}],["that.els",{"_index":5056,"title":{},"content":{"1014":{"position":[[472,10]]}},"keywords":{}}],["that.if",{"_index":5055,"title":{},"content":{"1014":{"position":[[415,7]]}},"keywords":{}}],["that.🙂"",{"_index":182,"title":{},"content":{"9":{"position":[[298,13]]}},"keywords":{}}],["thatcxx_librari",{"_index":3406,"title":{},"content":{"680":{"position":[[1065,15]]}},"keywords":{}}],["thatdynam",{"_index":3895,"title":{},"content":{"847":{"position":[[165,11]]}},"keywords":{}}],["that’",{"_index":3684,"title":{},"content":{"706":{"position":[[2495,6]]},"1231":{"position":[[369,6]]},"1232":{"position":[[3621,6]]}},"keywords":{}}],["thaw",{"_index":4333,"title":{},"content":{"898":{"position":[[1173,4],[1668,7]]}},"keywords":{}}],["thawonwrite(arc<dyn",{"_index":4349,"title":{},"content":{"898":{"position":[[2382,22]]}},"keywords":{}}],["theartifact",{"_index":3522,"title":{},"content":{"693":{"position":[[981,11]]}},"keywords":{}}],["theattrs.toolchain_dep",{"_index":5072,"title":{},"content":{"1024":{"position":[[692,24]]}},"keywords":{}}],["thebazel",{"_index":3583,"title":{},"content":{"693":{"position":[[7810,8]]},"884":{"position":[[75,8]]}},"keywords":{}}],["theblackhol",{"_index":4280,"title":{},"content":{"892":{"position":[[1638,12]]}},"keywords":{}}],["thebuck2",{"_index":457,"title":{},"content":{"15":{"position":[[399,8]]},"18":{"position":[[2013,8]]},"581":{"position":[[837,8]]},"675":{"position":[[225,8]]},"1131":{"position":[[624,8]]}},"keywords":{}}],["thebuck_no_interactive_consol",{"_index":5771,"title":{},"content":{"1120":{"position":[[360,30]]}},"keywords":{}}],["thebuild",{"_index":3515,"title":{},"content":{"693":{"position":[[297,9]]},"1356":{"position":[[3030,8]]}},"keywords":{}}],["thebuildbuddi",{"_index":6318,"title":{},"content":{"1346":{"position":[[243,13]]}},"keywords":{}}],["thebxl.context",{"_index":3896,"title":{},"content":{"847":{"position":[[189,14]]}},"keywords":{}}],["thebxl.outputstream",{"_index":3865,"title":{},"content":{"840":{"position":[[1552,19]]}},"keywords":{}}],["thebxlcontext",{"_index":4528,"title":{},"content":{"924":{"position":[[546,13]]}},"keywords":{}}],["thecel",{"_index":3573,"title":{},"content":{"693":{"position":[[6267,8]]}},"keywords":{}}],["thecli_arg",{"_index":3910,"title":{},"content":{"850":{"position":[[741,11]]}},"keywords":{}}],["thecommon",{"_index":3503,"title":{},"content":{"690":{"position":[[3092,9],[3390,9]]}},"keywords":{}}],["thectx.output.ensure_multipl",{"_index":3936,"title":{},"content":{"855":{"position":[[229,29]]}},"keywords":{}}],["thecxx_librari",{"_index":3404,"title":{},"content":{"680":{"position":[[601,14]]}},"keywords":{}}],["thedefault_target_platform",{"_index":5058,"title":{},"content":{"1014":{"position":[[655,26]]}},"keywords":{}}],["theengflow",{"_index":6316,"title":{},"content":{"1346":{"position":[[202,10]]}},"keywords":{}}],["theexec_compatible_with",{"_index":3922,"title":{},"content":{"851":{"position":[[1121,23]]}},"keywords":{}}],["theexported_head",{"_index":3402,"title":{},"content":{"680":{"position":[[496,19]]}},"keywords":{}}],["thefrozenmodul",{"_index":4176,"title":{},"content":{"888":{"position":[[1371,16]]}},"keywords":{}}],["thehom",{"_index":2665,"title":{},"content":{"581":{"position":[[395,7]]}},"keywords":{}}],["theini",{"_index":2613,"title":{},"content":{"573":{"position":[[26,6]]}},"keywords":{}}],["thejava_librari",{"_index":3416,"title":{},"content":{"681":{"position":[[522,15],[807,15]]}},"keywords":{}}],["thekey",{"_index":3400,"title":{},"content":{"680":{"position":[[200,6]]}},"keywords":{}}],["thelatest",{"_index":439,"title":{},"content":{"15":{"position":[[55,9]]}},"keywords":{}}],["them.increment",{"_index":720,"title":{},"content":{"23":{"position":[[1212,16]]}},"keywords":{}}],["them.ocaml",{"_index":60,"title":{},"content":{"4":{"position":[[381,10]]}},"keywords":{}}],["themodul",{"_index":4172,"title":{},"content":{"888":{"position":[[1160,10]]}},"keywords":{}}],["themselv",{"_index":614,"title":{},"content":{"20":{"position":[[300,11]]},"69":{"position":[[287,10]]},"408":{"position":[[817,10]]},"457":{"position":[[287,10]]},"680":{"position":[[149,10]]},"693":{"position":[[5678,11]]},"787":{"position":[[817,10]]},"832":{"position":[[445,10]]},"837":{"position":[[224,10]]},"898":{"position":[[1792,10]]},"950":{"position":[[243,10]]},"1260":{"position":[[462,10]]},"1291":{"position":[[462,10]]},"1319":{"position":[[462,10]]},"1387":{"position":[[6880,10]]},"1429":{"position":[[4322,10]]},"1440":{"position":[[4315,10]]}},"keywords":{}}],["thenfallback_actu",{"_index":4972,"title":{},"content":{"995":{"position":[[395,19]]}},"keywords":{}}],["thenopen",{"_index":5463,"title":{},"content":{"1061":{"position":[[360,8]]}},"keywords":{}}],["theoret",{"_index":3801,"title":{},"content":{"724":{"position":[[191,11]]}},"keywords":{}}],["theotp",{"_index":7505,"title":{},"content":{"1393":{"position":[[9400,6]]}},"keywords":{}}],["theowner",{"_index":5854,"title":{},"content":{"1134":{"position":[[71,8]]}},"keywords":{}}],["theprelud",{"_index":491,"title":{},"content":{"17":{"position":[[182,10]]}},"keywords":{}}],["theproviders_label",{"_index":1728,"title":{},"content":{"310":{"position":[[718,18]]}},"keywords":{}}],["there'",{"_index":3556,"title":{},"content":{"693":{"position":[[4818,7]]},"704":{"position":[[744,7],[811,7],[904,7],[952,7],[1881,7],[1978,7]]},"892":{"position":[[1297,7]]},"919":{"position":[[793,7]]},"924":{"position":[[2047,7]]},"937":{"position":[[3871,7]]},"969":{"position":[[129,7]]},"1014":{"position":[[423,7]]},"1136":{"position":[[3184,7]]},"1138":{"position":[[6846,7]]},"1140":{"position":[[5772,7]]},"1142":{"position":[[1216,7]]},"1146":{"position":[[1156,7]]},"1148":{"position":[[4196,7]]},"1155":{"position":[[1252,7]]},"1156":{"position":[[830,7]]},"1163":{"position":[[27,7]]},"1167":{"position":[[6776,7]]},"1169":{"position":[[615,7]]},"1186":{"position":[[2420,7]]},"1187":{"position":[[2433,7]]},"1188":{"position":[[7159,7]]},"1191":{"position":[[1020,7]]},"1192":{"position":[[1195,7]]},"1193":{"position":[[1247,7]]},"1194":{"position":[[887,7]]},"1195":{"position":[[865,7]]},"1196":{"position":[[675,7]]},"1197":{"position":[[1658,7]]},"1198":{"position":[[1668,7]]},"1199":{"position":[[1696,7]]},"1200":{"position":[[1563,7]]},"1201":{"position":[[823,7]]},"1202":{"position":[[1965,7],[6362,7]]},"1203":{"position":[[1057,7]]},"1204":{"position":[[901,7]]},"1205":{"position":[[2230,7]]},"1206":{"position":[[701,7]]},"1207":{"position":[[858,7]]},"1209":{"position":[[2206,7]]},"1217":{"position":[[5517,7]]},"1219":{"position":[[1503,7]]},"1222":{"position":[[627,7]]},"1223":{"position":[[637,7]]},"1224":{"position":[[817,7]]},"1226":{"position":[[5985,7]]},"1228":{"position":[[7598,7]]},"1235":{"position":[[3466,7]]},"1237":{"position":[[6155,7]]}},"keywords":{}}],["thereaft",{"_index":4241,"title":{},"content":{"890":{"position":[[4404,11]]}},"keywords":{}}],["therebi",{"_index":7287,"title":{},"content":{"1386":{"position":[[6187,7]]}},"keywords":{}}],["therefor",{"_index":2702,"title":{},"content":{"584":{"position":[[636,10]]},"890":{"position":[[6454,10],[6814,10]]},"1070":{"position":[[946,10]]},"1348":{"position":[[4038,9]]},"1353":{"position":[[2682,10]]},"1471":{"position":[[5655,9]]},"1472":{"position":[[6541,9]]},"1473":{"position":[[5826,9]]}},"keywords":{}}],["thereof",{"_index":946,"title":{},"content":{"65":{"position":[[160,8]]},"405":{"position":[[1089,7]]},"453":{"position":[[160,8]]},"784":{"position":[[1089,7]]}},"keywords":{}}],["therestart",{"_index":5524,"title":{},"content":{"1075":{"position":[[507,12]]}},"keywords":{}}],["there’",{"_index":3941,"title":{},"content":{"856":{"position":[[191,7]]},"904":{"position":[[1502,7]]}},"keywords":{}}],["these.main_modul",{"_index":8328,"title":{},"content":{"1462":{"position":[[7428,18]]}},"keywords":{}}],["theselect",{"_index":3537,"title":{},"content":{"693":{"position":[[2707,9]]}},"keywords":{}}],["theshould_propag",{"_index":4907,"title":{},"content":{"990":{"position":[[806,19]]}},"keywords":{}}],["theslot",{"_index":4255,"title":{},"content":{"890":{"position":[[6141,8]]}},"keywords":{}}],["thestarlark",{"_index":3956,"title":{},"content":{"857":{"position":[[208,11]]}},"keywords":{}}],["thesuperconsol",{"_index":5762,"title":{},"content":{"1118":{"position":[[22,15]]}},"keywords":{}}],["thetarget",{"_index":3605,"title":{},"content":{"695":{"position":[[307,9]]}},"keywords":{}}],["thetarget_compatible_with",{"_index":5089,"title":{},"content":{"1026":{"position":[[1036,27]]}},"keywords":{}}],["thetemplateplaceholderinfo",{"_index":2069,"title":{},"content":{"389":{"position":[[519,26]]},"768":{"position":[[519,26]]}},"keywords":{}}],["thetransit",{"_index":4992,"title":{},"content":{"1004":{"position":[[138,13],[282,13]]},"1133":{"position":[[911,13]]}},"keywords":{}}],["thetypes.mddocu",{"_index":5668,"title":{},"content":{"1104":{"position":[[2225,19]]}},"keywords":{}}],["theunconfigur",{"_index":3545,"title":{},"content":{"693":{"position":[[3421,15]]}},"keywords":{}}],["thevis",{"_index":3552,"title":{},"content":{"693":{"position":[[4412,13]]}},"keywords":{}}],["they'll",{"_index":1233,"title":{},"content":{"94":{"position":[[3962,7]]},"226":{"position":[[3962,7]]}},"keywords":{}}],["they'r",{"_index":5098,"title":{},"content":{"1029":{"position":[[96,7],[155,7],[372,7]]},"1033":{"position":[[288,7]]}},"keywords":{}}],["thin_lto",{"_index":6778,"title":{},"content":{"1362":{"position":[[4528,9]]},"1364":{"position":[[4595,9]]},"1367":{"position":[[6221,9]]},"1373":{"position":[[2635,9]]},"1382":{"position":[[2881,9]]},"1384":{"position":[[4053,9]]},"1387":{"position":[[3920,9]]},"1388":{"position":[[3308,9]]},"1415":{"position":[[2334,9]]},"1462":{"position":[[4091,9]]},"1467":{"position":[[4649,9]]}},"keywords":{}}],["thing",{"_index":197,"title":{},"content":{"9":{"position":[[570,6],[892,6]]},"23":{"position":[[530,6]]},"24":{"position":[[901,6]]},"92":{"position":[[437,6]]},"134":{"position":[[297,6]]},"224":{"position":[[437,6]]},"257":{"position":[[297,6]]},"362":{"position":[[1611,6]]},"405":{"position":[[1245,6]]},"407":{"position":[[0,6]]},"427":{"position":[[256,6]]},"693":{"position":[[628,6],[4681,6]]},"704":{"position":[[2173,5]]},"705":{"position":[[40,5]]},"717":{"position":[[485,6]]},"741":{"position":[[1611,6]]},"784":{"position":[[1245,6]]},"786":{"position":[[0,6]]},"806":{"position":[[256,6]]},"846":{"position":[[580,5]]},"867":{"position":[[93,6]]},"876":{"position":[[130,6]]},"878":{"position":[[772,6]]},"890":{"position":[[518,6],[1870,6],[1941,6],[4611,6]]},"894":{"position":[[301,6]]},"924":{"position":[[215,6],[373,5],[765,6]]},"976":{"position":[[51,6]]},"988":{"position":[[779,7]]},"991":{"position":[[2999,6]]},"1022":{"position":[[326,6]]},"1049":{"position":[[306,6]]},"1057":{"position":[[640,6],[711,6]]},"1103":{"position":[[921,6]]},"1127":{"position":[[580,7]]},"1207":{"position":[[46,5]]},"1231":{"position":[[38,5],[385,6]]},"1247":{"position":[[680,6]]},"1477":{"position":[[2017,6]]}},"keywords":{}}],["things.target",{"_index":5648,"title":{},"content":{"1103":{"position":[[608,13]]}},"keywords":{}}],["think",{"_index":4752,"title":{},"content":{"955":{"position":[[794,6]]},"1252":{"position":[[312,5]]}},"keywords":{}}],["thinlto",{"_index":734,"title":{},"content":{"23":{"position":[[1803,7]]},"92":{"position":[[461,7]]},"224":{"position":[[461,7]]}},"keywords":{}}],["third",{"_index":432,"title":{},"content":{"13":{"position":[[429,5]]},"587":{"position":[[210,7]]},"1393":{"position":[[4491,5],[8227,5]]},"1415":{"position":[[5807,6],[5839,8]]},"1422":{"position":[[3902,5]]},"1423":{"position":[[2669,5]]},"1426":{"position":[[2276,7]]},"1458":{"position":[[1103,5]]}},"keywords":{}}],["third_party/guava:guava",{"_index":7968,"title":{},"content":{"1427":{"position":[[7211,28],[7646,28],[7828,28]]},"1439":{"position":[[8039,28],[8470,28],[8652,28]]}},"keywords":{}}],["third_party/jackson:jackson",{"_index":7969,"title":{},"content":{"1427":{"position":[[7240,32]]},"1439":{"position":[[8068,32]]}},"keywords":{}}],["third_party/jsr",{"_index":7974,"title":{},"content":{"1427":{"position":[[7857,18]]},"1439":{"position":[[8681,18]]}},"keywords":{}}],["third_party/python",{"_index":8359,"title":{},"content":{"1465":{"position":[[4415,21]]}},"keywords":{}}],["thoma",{"_index":6150,"title":{},"content":{"1232":{"position":[[3545,6]]}},"keywords":{}}],["those",{"_index":285,"title":{},"content":{"9":{"position":[[2347,5],[2852,5],[2897,5]]},"11":{"position":[[4,5]]},"94":{"position":[[2905,5],[3401,5],[3430,5]]},"118":{"position":[[247,5]]},"126":{"position":[[364,5]]},"226":{"position":[[2905,5],[3401,5],[3430,5]]},"249":{"position":[[364,5]]},"333":{"position":[[459,5]]},"374":{"position":[[1916,5]]},"406":{"position":[[593,5]]},"477":{"position":[[169,5]]},"534":{"position":[[247,5]]},"572":{"position":[[234,5]]},"580":{"position":[[179,5]]},"583":{"position":[[213,5]]},"595":{"position":[[955,5]]},"622":{"position":[[875,5],[925,5]]},"643":{"position":[[153,5]]},"680":{"position":[[116,5],[887,5]]},"681":{"position":[[883,5]]},"689":{"position":[[151,5]]},"690":{"position":[[3015,6]]},"704":{"position":[[1070,5]]},"724":{"position":[[1293,5]]},"753":{"position":[[1916,5]]},"785":{"position":[[593,5]]},"832":{"position":[[655,5]]},"846":{"position":[[1185,5]]},"890":{"position":[[2374,5],[4483,5]]},"898":{"position":[[766,5],[804,5],[958,5]]},"921":{"position":[[221,5]]},"943":{"position":[[2353,5]]},"945":{"position":[[793,5]]},"966":{"position":[[198,5]]},"1021":{"position":[[196,5],[268,5]]},"1040":{"position":[[438,5]]},"1043":{"position":[[156,5]]},"1050":{"position":[[626,5]]},"1052":{"position":[[1011,5]]},"1067":{"position":[[157,5],[285,5]]},"1070":{"position":[[574,5],[759,5],[981,5]]},"1071":{"position":[[538,5]]},"1075":{"position":[[412,5],[484,5]]},"1081":{"position":[[132,5]]},"1093":{"position":[[349,5]]},"1103":{"position":[[1926,5]]},"1105":{"position":[[1578,5]]},"1113":{"position":[[569,5]]},"1114":{"position":[[828,5]]},"1131":{"position":[[499,5]]},"1134":{"position":[[299,5]]},"1136":{"position":[[1308,5]]},"1138":{"position":[[1868,5]]},"1140":{"position":[[1357,5]]},"1148":{"position":[[1664,5]]},"1150":{"position":[[282,5]]},"1152":{"position":[[126,5]]},"1167":{"position":[[2361,5]]},"1188":{"position":[[1410,5]]},"1205":{"position":[[788,5]]},"1209":{"position":[[541,5]]},"1217":{"position":[[1102,5]]},"1219":{"position":[[427,5]]},"1226":{"position":[[2481,5]]},"1228":{"position":[[1280,5],[3183,5]]},"1235":{"position":[[1801,5]]},"1237":{"position":[[2651,5]]},"1259":{"position":[[347,5]]},"1262":{"position":[[132,5],[823,5]]},"1290":{"position":[[347,5]]},"1293":{"position":[[132,5],[823,5]]},"1318":{"position":[[347,5]]},"1321":{"position":[[132,5],[823,5]]},"1345":{"position":[[963,5]]},"1362":{"position":[[4955,5],[7984,5]]},"1363":{"position":[[2986,5]]},"1364":{"position":[[4981,5],[8833,5]]},"1366":{"position":[[2340,5]]},"1367":{"position":[[8072,5],[13778,5]]},"1383":{"position":[[1455,5]]},"1384":{"position":[[4388,5],[10212,5]]},"1398":{"position":[[6117,5],[6770,5]]},"1486":{"position":[[747,5]]}},"keywords":{}}],["though",{"_index":2016,"title":{},"content":{"374":{"position":[[1126,6]]},"617":{"position":[[413,6]]},"680":{"position":[[637,7]]},"682":{"position":[[168,6]]},"706":{"position":[[2370,7]]},"753":{"position":[[1126,6]]},"924":{"position":[[948,7]]},"987":{"position":[[405,6]]},"991":{"position":[[1244,7]]},"1046":{"position":[[346,6]]},"1069":{"position":[[816,6]]},"1084":{"position":[[665,6]]},"1351":{"position":[[3783,6]]},"1395":{"position":[[3453,7]]}},"keywords":{}}],["thought",{"_index":4198,"title":{},"content":{"890":{"position":[[112,7]]},"898":{"position":[[116,7]]}},"keywords":{}}],["thread",{"_index":4228,"title":{},"content":{"890":{"position":[[2848,8]]},"898":{"position":[[911,8],[1029,9]]},"1138":{"position":[[2207,7],[2241,7]]},"1140":{"position":[[1696,7],[1730,7]]},"1167":{"position":[[2700,7],[2734,7]]},"1188":{"position":[[1749,7],[1783,7]]},"1217":{"position":[[1441,7],[1475,7]]},"1226":{"position":[[5106,7],[5140,7]]},"1228":{"position":[[3522,7],[3556,7]]},"1231":{"position":[[271,7],[344,6]]},"1237":{"position":[[5276,7],[5310,7]]},"1247":{"position":[[359,7]]},"1395":{"position":[[2158,7]]},"1486":{"position":[[2426,7]]}},"keywords":{}}],["three",{"_index":611,"title":{},"content":{"20":{"position":[[157,5]]},"118":{"position":[[233,5]]},"534":{"position":[[233,5]]},"595":{"position":[[517,5]]},"607":{"position":[[165,5]]},"638":{"position":[[243,5]]},"662":{"position":[[389,5],[604,5]]},"886":{"position":[[23,5]]},"889":{"position":[[522,5]]},"902":{"position":[[221,5]]},"924":{"position":[[4,5]]},"1004":{"position":[[435,5]]},"1056":{"position":[[127,5]]},"1482":{"position":[[1892,5]]},"1486":{"position":[[3628,5],[5191,5],[5223,5]]}},"keywords":{}}],["three"",{"_index":2896,"title":{},"content":{"604":{"position":[[504,11]]},"616":{"position":[[1158,12]]}},"keywords":{}}],["three".rsplit(non",{"_index":2970,"title":{},"content":{"614":{"position":[[494,24]]}},"keywords":{}}],["three".split",{"_index":2988,"title":{},"content":{"616":{"position":[[891,19]]}},"keywords":{}}],["three".split("",{"_index":2989,"title":{},"content":{"616":{"position":[[982,24]]}},"keywords":{}}],["three".split(non",{"_index":2990,"title":{},"content":{"616":{"position":[[1100,23]]}},"keywords":{}}],["threshold",{"_index":376,"title":{},"content":{"11":{"position":[[477,11]]}},"keywords":{}}],["thrift",{"_index":226,"title":{},"content":{"9":{"position":[[1168,6]]},"1422":{"position":[[4014,7],[4272,7],[4301,9],[4332,7],[4411,6],[4450,7],[4502,9]]},"1423":{"position":[[3405,6],[3444,7],[3496,9],[3565,7]]}},"keywords":{}}],["through",{"_index":86,"title":{},"content":{"5":{"position":[[178,7]]},"9":{"position":[[1348,7]]},"12":{"position":[[297,7],[309,7]]},"92":{"position":[[1268,7]]},"224":{"position":[[1268,7]]},"345":{"position":[[656,7]]},"422":{"position":[[316,7]]},"581":{"position":[[427,7]]},"680":{"position":[[821,7]]},"693":{"position":[[2881,7]]},"715":{"position":[[1709,7],[1980,8]]},"722":{"position":[[691,7]]},"801":{"position":[[316,7]]},"846":{"position":[[1120,7]]},"864":{"position":[[176,7]]},"905":{"position":[[1419,7]]},"924":{"position":[[2198,8],[2319,7]]},"937":{"position":[[305,7],[462,7]]},"947":{"position":[[519,7]]},"964":{"position":[[906,7]]},"1024":{"position":[[327,7]]},"1040":{"position":[[1694,7]]},"1360":{"position":[[5141,7]]},"1366":{"position":[[2754,7]]},"1383":{"position":[[1301,7],[2830,7],[7249,7],[8272,7],[8473,7]]},"1393":{"position":[[4747,7]]},"1395":{"position":[[2367,7],[3038,7]]},"1403":{"position":[[5298,7]]}},"keywords":{}}],["throughtarget",{"_index":5066,"title":{},"content":{"1021":{"position":[[223,13]]}},"keywords":{}}],["throw",{"_index":4282,"title":{},"content":{"892":{"position":[[1860,5]]},"1091":{"position":[[122,6]]},"1138":{"position":[[5156,8],[5284,8]]},"1140":{"position":[[4645,8],[4773,8]]},"1167":{"position":[[5649,8],[5777,8]]},"1188":{"position":[[4698,8],[4826,8]]},"1217":{"position":[[4390,8],[4518,8]]},"1228":{"position":[[6471,8],[6599,8]]}},"keywords":{}}],["thrown",{"_index":3442,"title":{},"content":{"688":{"position":[[631,6],[1029,6]]},"1383":{"position":[[5536,6]]}},"keywords":{}}],["thu",{"_index":717,"title":{},"content":{"23":{"position":[[1172,4]]},"1138":{"position":[[4022,4]]},"1140":{"position":[[3511,4]]},"1167":{"position":[[4515,4]]},"1188":{"position":[[3564,4]]},"1217":{"position":[[3256,4]]},"1228":{"position":[[5337,4]]},"1355":{"position":[[6104,4],[7117,4]]},"1427":{"position":[[5277,4],[6316,4]]}},"keywords":{}}],["thumb",{"_index":5658,"title":{},"content":{"1104":{"position":[[681,5]]}},"keywords":{}}],["thusli",{"_index":2256,"title":{},"content":{"419":{"position":[[164,7]]},"798":{"position":[[164,7]]}},"keywords":{}}],["ti",{"_index":4791,"title":{},"content":{"964":{"position":[[395,4],[651,4]]}},"keywords":{}}],["tier",{"_index":1231,"title":{},"content":{"94":{"position":[[3883,4]]},"226":{"position":[[3883,4]]}},"keywords":{}}],["tightli",{"_index":2171,"title":{},"content":{"406":{"position":[[675,8]]},"785":{"position":[[675,8]]}},"keywords":{}}],["time",{"_index":251,"title":{},"content":{"9":{"position":[[1563,4],[1620,5]]},"10":{"position":[[303,4]]},"12":{"position":[[501,4]]},"17":{"position":[[1419,4]]},"84":{"position":[[211,5]]},"92":{"position":[[414,5],[2225,5]]},"121":{"position":[[316,5]]},"216":{"position":[[211,5]]},"224":{"position":[[414,5],[2225,5]]},"276":{"position":[[645,4]]},"277":{"position":[[142,5],[592,4]]},"281":{"position":[[743,4]]},"282":{"position":[[197,5],[692,4]]},"362":{"position":[[1820,4]]},"422":{"position":[[59,5],[193,4]]},"481":{"position":[[140,5]]},"513":{"position":[[50,4],[196,4]]},"514":{"position":[[48,4],[188,4]]},"530":{"position":[[316,5]]},"570":{"position":[[307,5]]},"572":{"position":[[279,5]]},"635":{"position":[[107,5]]},"693":{"position":[[2419,4]]},"724":{"position":[[746,5]]},"741":{"position":[[1820,4]]},"801":{"position":[[59,5],[193,4]]},"860":{"position":[[112,4],[285,4],[355,4]]},"864":{"position":[[633,5],[695,5],[789,5],[1044,4],[1190,4],[1380,4],[1456,4]]},"867":{"position":[[1165,4]]},"870":{"position":[[710,6],[915,6],[1050,6]]},"879":{"position":[[395,4]]},"888":{"position":[[1012,5]]},"889":{"position":[[1040,5]]},"890":{"position":[[4868,5]]},"905":{"position":[[419,5]]},"937":{"position":[[1605,5]]},"942":{"position":[[1030,5]]},"945":{"position":[[430,4]]},"981":{"position":[[419,4]]},"988":{"position":[[170,5],[199,5]]},"1026":{"position":[[905,5]]},"1027":{"position":[[111,5]]},"1050":{"position":[[2027,4]]},"1056":{"position":[[546,4],[1144,4]]},"1057":{"position":[[63,4],[1219,4]]},"1058":{"position":[[63,4],[397,4],[717,6],[842,6],[1131,4],[1197,4]]},"1059":{"position":[[68,4]]},"1061":{"position":[[257,4],[327,5]]},"1079":{"position":[[733,4],[1057,4]]},"1112":{"position":[[482,5]]},"1113":{"position":[[102,5]]},"1120":{"position":[[202,4]]},"1126":{"position":[[1037,5],[1202,5],[1347,5]]},"1144":{"position":[[51,4]]},"1148":{"position":[[7353,4]]},"1150":{"position":[[353,4]]},"1186":{"position":[[905,4]]},"1187":{"position":[[918,4]]},"1188":{"position":[[5644,4]]},"1190":{"position":[[542,5]]},"1195":{"position":[[45,5]]},"1204":{"position":[[242,5],[10146,6],[10215,5]]},"1228":{"position":[[1713,4],[1752,4]]},"1231":{"position":[[466,5],[689,4]]},"1243":{"position":[[222,5]]},"1244":{"position":[[362,4]]},"1254":{"position":[[84,4]]},"1278":{"position":[[229,4]]},"1279":{"position":[[153,4]]},"1309":{"position":[[229,4]]},"1310":{"position":[[153,4]]},"1337":{"position":[[229,4]]},"1338":{"position":[[153,4]]},"1351":{"position":[[2369,5],[2751,5]]},"1354":{"position":[[2922,4]]},"1355":{"position":[[3625,5],[5104,5]]},"1359":{"position":[[2289,5]]},"1386":{"position":[[2279,5],[4736,5]]},"1388":{"position":[[10149,4]]},"1392":{"position":[[2273,4]]},"1393":{"position":[[5248,5]]},"1410":{"position":[[5372,4]]},"1427":{"position":[[4418,5]]},"1429":{"position":[[4394,6],[5869,4]]},"1439":{"position":[[3446,5],[6917,5]]},"1440":{"position":[[4387,6],[5769,4]]},"1459":{"position":[[2261,5]]},"1467":{"position":[[10391,4]]},"1477":{"position":[[3192,4]]},"1478":{"position":[[3517,5]]}},"keywords":{}}],["time(",{"_index":5369,"title":{},"content":{"1057":{"position":[[234,7]]}},"keywords":{}}],["time.ci",{"_index":242,"title":{},"content":{"9":{"position":[[1445,7]]}},"keywords":{}}],["time_a",{"_index":2287,"title":{},"content":{"422":{"position":[[126,6]]},"513":{"position":[[133,6]]},"514":{"position":[[127,6]]},"801":{"position":[[126,6]]}},"keywords":{}}],["time_b",{"_index":2289,"title":{},"content":{"422":{"position":[[198,6]]},"513":{"position":[[201,6]]},"514":{"position":[[193,6]]},"801":{"position":[[198,6]]}},"keywords":{}}],["timeout",{"_index":859,"title":{},"content":{"41":{"position":[[531,8]]},"174":{"position":[[531,8]]},"377":{"position":[[1706,7]]},"756":{"position":[[1706,7]]},"1112":{"position":[[4426,8]]},"1228":{"position":[[1334,7],[1396,7]]}},"keywords":{}}],["timerec(",{"_index":5370,"title":{},"content":{"1057":{"position":[[242,10]]}},"keywords":{}}],["timestamp",{"_index":1051,"title":{},"content":{"85":{"position":[[365,10],[411,10]]},"217":{"position":[[365,10],[411,10]]},"450":{"position":[[88,9]]},"829":{"position":[[88,9]]},"860":{"position":[[168,9]]},"1126":{"position":[[280,10]]}},"keywords":{}}],["tip",{"_index":3370,"title":{"675":{"position":[[17,5]]}},"content":{},"keywords":{}}],["titl",{"_index":2873,"title":{},"content":{"602":{"position":[[71,5],[215,5]]},"620":{"position":[[64,5]]}},"keywords":{}}],["titlecas",{"_index":3019,"title":{},"content":{"620":{"position":[[143,10]]}},"keywords":{}}],["tmp",{"_index":6659,"title":{},"content":{"1360":{"position":[[4446,6]]},"1403":{"position":[[3861,6]]}},"keywords":{}}],["tmp/1.arg",{"_index":8592,"title":{},"content":{"1486":{"position":[[4447,11]]}},"keywords":{}}],["tmp/1.err",{"_index":8596,"title":{},"content":{"1486":{"position":[[4621,11]]}},"keywords":{}}],["tmp/1.out",{"_index":8595,"title":{},"content":{"1486":{"position":[[4606,10]]}},"keywords":{}}],["tmpdir",{"_index":1240,"title":{},"content":{"94":{"position":[[4432,7]]},"226":{"position":[[4432,7]]}},"keywords":{}}],["tmp}a",{"_index":7186,"title":{},"content":{"1383":{"position":[[6479,7]]}},"keywords":{}}],["to",{"_index":3906,"title":{"849":{"position":[[11,3]]}},"content":{},"keywords":{}}],["to.buckconfig",{"_index":2673,"title":{},"content":{"581":{"position":[[708,13]]}},"keywords":{}}],["to.set("value"",{"_index":4185,"title":{},"content":{"889":{"position":[[434,25]]}},"keywords":{}}],["to_nod",{"_index":4410,"title":{},"content":{"904":{"position":[[1049,7],[1176,8]]},"905":{"position":[[833,7]]}},"keywords":{}}],["to_str.extract",{"_index":4187,"title":{},"content":{"889":{"position":[[591,14]]}},"keywords":{}}],["tobuck2",{"_index":4677,"title":{},"content":{"942":{"position":[[933,7],[1140,7],[1497,7]]}},"keywords":{}}],["tocfg//compiler:msvc",{"_index":4689,"title":{},"content":{"943":{"position":[[1365,20]]}},"keywords":{}}],["tocompiler_flagsand",{"_index":7754,"title":{},"content":{"1407":{"position":[[2519,19]]}},"keywords":{}}],["today",{"_index":652,"title":{},"content":{"22":{"position":[[759,5]]},"937":{"position":[[276,6],[1336,5],[3704,6]]},"951":{"position":[[1496,6]]},"980":{"position":[[889,5],[900,5]]},"991":{"position":[[3197,5]]}},"keywords":{}}],["todo",{"_index":1032,"title":{},"content":{"84":{"position":[[217,4]]},"216":{"position":[[217,4]]}},"keywords":{}}],["togeth",{"_index":155,"title":{},"content":{"7":{"position":[[335,8]]},"22":{"position":[[1603,9]]},"94":{"position":[[1397,9],[2048,9]]},"118":{"position":[[62,8]]},"226":{"position":[[1397,9],[2048,9]]},"405":{"position":[[1619,9]]},"534":{"position":[[62,8]]},"673":{"position":[[83,8]]},"704":{"position":[[416,8],[607,8],[2246,8]]},"784":{"position":[[1619,9]]},"898":{"position":[[2083,8]]},"988":{"position":[[580,8]]},"1048":{"position":[[985,8]]},"1086":{"position":[[399,8]]},"1245":{"position":[[434,8]]},"1355":{"position":[[2233,8]]},"1361":{"position":[[970,9]]},"1373":{"position":[[8119,8]]},"1380":{"position":[[860,9]]},"1382":{"position":[[10895,8]]},"1384":{"position":[[17969,8]]},"1388":{"position":[[9388,8]]},"1398":{"position":[[6289,8]]},"1412":{"position":[[1510,9]]},"1427":{"position":[[1745,9]]},"1439":{"position":[[2029,9]]},"1443":{"position":[[734,8]]},"1444":{"position":[[650,8]]},"1455":{"position":[[1187,8],[4541,9]]},"1465":{"position":[[1425,8],[1481,8]]},"1485":{"position":[[3760,8]]}},"keywords":{}}],["toggl",{"_index":5763,"title":{"1120":{"position":[[0,8]]}},"content":{"1120":{"position":[[39,7],[479,8],[492,6],[546,6],[572,6],[639,6],[684,6],[777,6]]}},"keywords":{}}],["tojava",{"_index":3443,"title":{},"content":{"688":{"position":[[837,6]]}},"keywords":{}}],["tombston",{"_index":6537,"title":{},"content":{"1354":{"position":[[2372,11]]}},"keywords":{}}],["took",{"_index":4031,"title":{},"content":{"867":{"position":[[1307,4]]}},"keywords":{}}],["tool",{"_index":40,"title":{},"content":{"4":{"position":[[111,5],[282,5],[615,8]]},"11":{"position":[[654,5]]},"17":{"position":[[1053,5]]},"18":{"position":[[1022,5]]},"398":{"position":[[124,4]]},"689":{"position":[[138,4]]},"693":{"position":[[7825,5]]},"777":{"position":[[124,4]]},"937":{"position":[[2577,7],[2637,7],[2753,5],[4592,8],[4642,5]]},"1023":{"position":[[168,4],[253,9]]},"1024":{"position":[[1048,4]]},"1025":{"position":[[64,5]]},"1032":{"position":[[276,4]]},"1231":{"position":[[107,5]]},"1260":{"position":[[1031,5]]},"1291":{"position":[[1031,5]]},"1319":{"position":[[1031,5]]},"1348":{"position":[[3843,4]]},"1351":{"position":[[1008,5]]},"1355":{"position":[[3289,4]]},"1362":{"position":[[13622,6]]},"1364":{"position":[[14322,6]]},"1370":{"position":[[3146,6]]},"1373":{"position":[[4065,4],[4243,4],[4322,4]]},"1383":{"position":[[1380,5],[8286,5]]},"1405":{"position":[[2201,4],[2449,4]]},"1407":{"position":[[2242,4],[2870,4]]},"1408":{"position":[[1911,4],[1987,4]]},"1410":{"position":[[2643,4],[2893,4]]},"1423":{"position":[[3311,7]]},"1439":{"position":[[3110,4]]},"1446":{"position":[[700,4]]},"1486":{"position":[[704,5],[918,4],[2682,4],[2698,4],[2734,4],[2896,5],[4000,4],[4478,4],[4659,4],[5018,4],[5520,4],[5697,4]]}},"keywords":{}}],["tool.prepend",{"_index":2151,"title":{},"content":{"405":{"position":[[1750,12]]},"784":{"position":[[1750,12]]}},"keywords":{}}],["toolchain",{"_index":571,"title":{"1024":{"position":[[0,9]]}},"content":{"18":{"position":[[883,9],[1629,10],[2089,10],[2133,11],[2167,10]]},"24":{"position":[[795,10],[848,10]]},"148":{"position":[[233,9]]},"211":{"position":[[68,10]]},"233":{"position":[[220,9]]},"271":{"position":[[233,9]]},"283":{"position":[[190,9],[218,9]]},"298":{"position":[[211,11],[774,10],[902,11],[1653,10],[1994,11],[2070,10],[2256,10]]},"462":{"position":[[192,9],[220,9]]},"851":{"position":[[748,10],[936,11],[1255,11],[1387,10],[1579,10]]},"878":{"position":[[1270,12]]},"905":{"position":[[485,9],[569,10],[672,10]]},"937":{"position":[[3454,9]]},"991":{"position":[[3246,11]]},"1024":{"position":[[957,9]]},"1044":{"position":[[2384,11]]},"1098":{"position":[[523,9]]},"1161":{"position":[[243,9]]},"1278":{"position":[[185,9]]},"1281":{"position":[[123,9]]},"1309":{"position":[[185,9]]},"1312":{"position":[[123,9]]},"1337":{"position":[[185,9]]},"1340":{"position":[[123,9]]},"1362":{"position":[[5095,10],[8311,9],[13597,9]]},"1364":{"position":[[5122,10],[9160,9],[14297,9]]},"1367":{"position":[[8399,9]]},"1383":{"position":[[1482,10]]},"1389":{"position":[[5838,10]]},"1393":{"position":[[6584,10]]},"1394":{"position":[[1761,10]]},"1395":{"position":[[2808,10]]},"1396":{"position":[[546,11],[587,10],[1661,10]]},"1397":{"position":[[2128,10],[2151,11],[2222,9]]},"1398":{"position":[[3786,10]]},"1483":{"position":[[426,9],[1309,9],[1359,9],[1416,9]]}},"keywords":{}}],["toolchain).windows/mac",{"_index":801,"title":{},"content":{"24":{"position":[[1036,22]]}},"keywords":{}}],["toolchain.overlay",{"_index":7575,"title":{},"content":{"1397":{"position":[[2359,19]]}},"keywords":{}}],["toolchain_alia",{"_index":8536,"title":{"1483":{"position":[[0,16]]}},"content":{"1483":{"position":[[4,16],[386,15],[1388,15]]}},"keywords":{}}],["toolchain_dep",{"_index":6259,"title":{"1281":{"position":[[0,17]]},"1312":{"position":[[0,17]]},"1340":{"position":[[0,17]]}},"content":{"1259":{"position":[[1934,17]]},"1290":{"position":[[1934,17]]},"1318":{"position":[[1934,17]]}},"keywords":{}}],["toolchain_deps())"",{"_index":6295,"title":{},"content":{"1281":{"position":[[197,25]]},"1312":{"position":[[197,25]]},"1340":{"position":[[197,25]]}},"keywords":{}}],["toolchain_nam",{"_index":8075,"title":{},"content":{"1441":{"position":[[473,15]]}},"keywords":{}}],["toolchain_rul",{"_index":8538,"title":{},"content":{"1483":{"position":[[1475,14]]}},"keywords":{}}],["toolchains//:cxx",{"_index":567,"title":{},"content":{"18":{"position":[[823,17]]}},"keywords":{}}],["toolchains/buck",{"_index":575,"title":{},"content":{"18":{"position":[[1076,15]]}},"keywords":{}}],["toolchainsexec_compatible_with",{"_index":1643,"title":{},"content":{"298":{"position":[[1764,30]]}},"keywords":{}}],["toolchainthat",{"_index":510,"title":{},"content":{"17":{"position":[[818,13]]}},"keywords":{}}],["tools.buck2",{"_index":698,"title":{},"content":{"23":{"position":[[361,11]]}},"keywords":{}}],["top",{"_index":2279,"title":{"703":{"position":[[0,3]]}},"content":{"421":{"position":[[150,3]]},"583":{"position":[[156,3]]},"632":{"position":[[257,3]]},"703":{"position":[[33,4]]},"800":{"position":[[150,3]]},"890":{"position":[[6017,3]]},"937":{"position":[[2107,3],[2179,3],[4856,3]]},"938":{"position":[[943,3],[1098,3]]},"939":{"position":[[6,3]]},"940":{"position":[[595,3]]},"947":{"position":[[240,3],[497,3],[1138,3]]},"1015":{"position":[[9,3]]},"1057":{"position":[[205,3]]},"1058":{"position":[[1060,3]]},"1083":{"position":[[379,3]]},"1247":{"position":[[230,3]]},"1384":{"position":[[19866,3],[19966,3],[20177,3],[20271,3],[20358,3],[20482,3],[20767,3],[20929,3]]},"1385":{"position":[[3064,3]]},"1387":{"position":[[5331,3]]},"1397":{"position":[[1767,3]]},"1421":{"position":[[2283,3],[2368,3]]},"1443":{"position":[[777,3]]},"1444":{"position":[[693,3],[1691,3]]},"1461":{"position":[[955,3],[2260,3]]},"1462":{"position":[[5705,3],[7907,3]]},"1465":{"position":[[2485,3],[2720,3]]},"1467":{"position":[[6050,3],[6201,3],[6859,3],[8967,3]]},"1471":{"position":[[3051,3]]},"1472":{"position":[[2770,3]]},"1473":{"position":[[3085,3]]}},"keywords":{}}],["topar",{"_index":970,"title":{},"content":{"69":{"position":[[310,8]]},"457":{"position":[[310,8]]}},"keywords":{}}],["topic",{"_index":3384,"title":{},"content":{"676":{"position":[[436,6]]},"680":{"position":[[216,7],[616,6]]},"683":{"position":[[390,6]]},"703":{"position":[[114,6]]}},"keywords":{}}],["topolog",{"_index":5600,"title":{},"content":{"1088":{"position":[[438,11],[452,11],[1499,11]]}},"keywords":{}}],["toprebuilt_ocaml_librari",{"_index":288,"title":{},"content":{"9":{"position":[[2412,25]]}},"keywords":{}}],["toprotect",{"_index":4489,"title":{},"content":{"919":{"position":[[713,9]]}},"keywords":{}}],["toremot",{"_index":3519,"title":{},"content":{"693":{"position":[[591,8],[4950,8]]}},"keywords":{}}],["tosend",{"_index":160,"title":{},"content":{"7":{"position":[[375,6]]}},"keywords":{}}],["total",{"_index":5371,"title":{},"content":{"1057":{"position":[[266,6],[468,5]]},"1058":{"position":[[188,5]]},"1178":{"position":[[159,5],[597,5]]},"1180":{"position":[[196,5]]},"1478":{"position":[[3511,5]]}},"keywords":{}}],["total_poll_time_u",{"_index":5810,"title":{},"content":{"1126":{"position":[[1257,19]]}},"keywords":{}}],["touch",{"_index":7189,"title":{},"content":{"1383":{"position":[[7981,6]]},"1403":{"position":[[7081,6]]}},"keywords":{}}],["tour",{"_index":104,"title":{},"content":{"5":{"position":[[409,4]]}},"keywords":{}}],["toward",{"_index":3201,"title":{},"content":{"648":{"position":[[315,7]]}},"keywords":{}}],["tozip",{"_index":3366,"title":{},"content":{"673":{"position":[[222,6]]}},"keywords":{}}],["tpng",{"_index":6275,"title":{},"content":{"1260":{"position":[[945,4]]},"1291":{"position":[[945,4]]},"1319":{"position":[[945,4]]}},"keywords":{}}],["tpx",{"_index":2019,"title":{},"content":{"374":{"position":[[1585,3]]},"725":{"position":[[138,3]]},"753":{"position":[[1585,3]]},"1398":{"position":[[6504,3],[6543,3],[6665,3]]}},"keywords":{}}],["tr",{"_index":5044,"title":{},"content":{"1009":{"position":[[705,2]]}},"keywords":{}}],["tr(platform=platform",{"_index":5017,"title":{},"content":{"1004":{"position":[[2194,21]]}},"keywords":{}}],["tr(tr(platform=platform",{"_index":5015,"title":{},"content":{"1004":{"position":[[2143,24]]}},"keywords":{}}],["trace",{"_index":5465,"title":{"1231":{"position":[[16,6]]},"1232":{"position":[[23,6]]}},"content":{"1061":{"position":[[399,5]]},"1126":{"position":[[384,5],[517,5]]},"1127":{"position":[[348,5]]},"1172":{"position":[[1019,5],[1051,5]]},"1173":{"position":[[319,5],[351,5]]},"1174":{"position":[[223,5],[255,5]]},"1175":{"position":[[243,5],[275,5]]},"1176":{"position":[[327,5],[359,5]]},"1177":{"position":[[239,5],[271,5]]},"1178":{"position":[[393,5],[425,5]]},"1179":{"position":[[259,5],[291,5]]},"1180":{"position":[[589,5],[621,5]]},"1181":{"position":[[344,5],[376,5]]},"1182":{"position":[[281,5],[313,5]]},"1183":{"position":[[236,5],[268,5]]},"1231":{"position":[[410,5],[663,6]]},"1232":{"position":[[63,6]]}},"keywords":{}}],["trace_id",{"_index":5713,"title":{},"content":{"1112":{"position":[[121,9]]},"1124":{"position":[[351,9]]},"1126":{"position":[[365,9]]}},"keywords":{}}],["track",{"_index":272,"title":{},"content":{"9":{"position":[[2085,5]]},"23":{"position":[[2614,5]]},"890":{"position":[[4101,7]]},"919":{"position":[[1422,8]]},"937":{"position":[[2430,5],[2653,5]]},"955":{"position":[[916,7]]},"966":{"position":[[228,5]]},"973":{"position":[[143,5]]},"978":{"position":[[47,5]]},"1001":{"position":[[879,5]]},"1038":{"position":[[61,5]]},"1064":{"position":[[979,5]]},"1077":{"position":[[26,5]]},"1100":{"position":[[172,5]]},"1136":{"position":[[1205,5],[1751,5]]},"1142":{"position":[[338,7],[366,7]]},"1148":{"position":[[1561,5],[2107,5]]},"1205":{"position":[[685,5],[1231,5]]},"1209":{"position":[[438,5],[984,5]]},"1226":{"position":[[2378,5],[2924,5]]},"1235":{"position":[[1698,5],[2244,5]]},"1237":{"position":[[2548,5],[3094,5]]}},"keywords":{}}],["tradeoff",{"_index":4507,"title":{},"content":{"920":{"position":[[480,8]]}},"keywords":{}}],["tradit",{"_index":638,"title":{},"content":{"22":{"position":[[322,11]]}},"keywords":{}}],["tradition",{"_index":6636,"title":{},"content":{"1359":{"position":[[938,13]]}},"keywords":{}}],["trail",{"_index":2974,"title":{},"content":{"615":{"position":[[68,8],[136,8]]},"616":{"position":[[591,8]]},"619":{"position":[[78,8],[158,8]]},"1207":{"position":[[252,8]]}},"keywords":{}}],["trait",{"_index":4350,"title":{},"content":{"898":{"position":[[2458,6]]}},"keywords":{}}],["trampolin",{"_index":7541,"title":{},"content":{"1395":{"position":[[1734,10]]}},"keywords":{}}],["transclud",{"_index":2644,"title":{},"content":{"578":{"position":[[30,11]]}},"keywords":{}}],["transclus",{"_index":2643,"title":{"578":{"position":[[0,12]]}},"content":{},"keywords":{}}],["transform",{"_index":1137,"title":{},"content":{"92":{"position":[[1296,14]]},"224":{"position":[[1296,14]]},"719":{"position":[[80,15]]},"720":{"position":[[438,11]]},"725":{"position":[[86,14]]},"1005":{"position":[[275,11]]},"1006":{"position":[[303,11]]},"1016":{"position":[[13,10]]},"1040":{"position":[[1722,14]]},"1351":{"position":[[3400,14]]}},"keywords":{}}],["transforma",{"_index":8571,"title":{},"content":{"1486":{"position":[[3330,13]]}},"keywords":{}}],["transformb",{"_index":8574,"title":{},"content":{"1486":{"position":[[3424,13]]}},"keywords":{}}],["transformc",{"_index":8577,"title":{},"content":{"1486":{"position":[[3518,13]]}},"keywords":{}}],["transient",{"_index":1222,"title":{},"content":{"94":{"position":[[3168,9]]},"226":{"position":[[3168,9]]}},"keywords":{}}],["transit",{"_index":743,"title":{"447":{"position":[[0,11]]},"826":{"position":[[0,11]]},"947":{"position":[[40,12]]},"1003":{"position":[[14,11]]},"1004":{"position":[[0,10]]},"1005":{"position":[[9,11]]},"1006":{"position":[[14,11]]},"1007":{"position":[[11,11]]},"1008":{"position":[[8,10]]},"1009":{"position":[[26,10]]},"1016":{"position":[[0,12]]},"1080":{"position":[[0,10]]},"1082":{"position":[[19,10]]},"1083":{"position":[[19,10]]},"1086":{"position":[[0,10]]},"1087":{"position":[[0,10]]}},"content":{"23":{"position":[[2172,10]]},"97":{"position":[[139,10]]},"134":{"position":[[223,10]]},"229":{"position":[[139,10]]},"233":{"position":[[158,12],[287,10]]},"239":{"position":[[478,10]]},"257":{"position":[[223,10]]},"286":{"position":[[92,10],[200,11],[223,10]]},"328":{"position":[[378,10]]},"335":{"position":[[586,10]]},"396":{"position":[[210,10]]},"410":{"position":[[139,10]]},"427":{"position":[[636,10]]},"447":{"position":[[4,11],[132,10]]},"469":{"position":[[259,10]]},"475":{"position":[[348,10]]},"681":{"position":[[1027,10]]},"688":{"position":[[457,10]]},"693":{"position":[[9473,10],[9812,10],[9865,11],[10072,11]]},"695":{"position":[[424,10]]},"705":{"position":[[153,12]]},"775":{"position":[[210,10]]},"789":{"position":[[139,10]]},"806":{"position":[[636,10]]},"826":{"position":[[4,11],[132,10]]},"846":{"position":[[1333,12]]},"904":{"position":[[529,10]]},"919":{"position":[[1545,10]]},"921":{"position":[[202,10],[292,10],[530,10],[714,10],[852,10]]},"933":{"position":[[87,11],[116,10]]},"947":{"position":[[48,12],[97,10],[118,10],[538,11],[555,10],[678,11],[728,10],[891,10],[1007,12],[1303,11],[1325,10]]},"972":{"position":[[193,10]]},"980":{"position":[[446,10],[909,11],[1090,12],[1151,10]]},"990":{"position":[[1256,10]]},"991":{"position":[[1081,10],[1137,10]]},"1004":{"position":[[0,10],[53,10],[78,10],[409,10],[643,10],[665,10],[699,13],[851,10],[1687,11],[1999,10],[2119,10]]},"1005":{"position":[[80,10],[116,10],[305,11],[334,10]]},"1006":{"position":[[330,11],[352,11],[841,10],[1226,10],[1284,10]]},"1007":{"position":[[63,11],[85,11]]},"1009":{"position":[[27,10],[108,10],[240,11],[293,12],[306,10],[402,12],[710,11]]},"1011":{"position":[[294,11]]},"1015":{"position":[[151,13]]},"1016":{"position":[[2,10],[194,12]]},"1019":{"position":[[309,11],[463,10]]},"1025":{"position":[[399,11]]},"1045":{"position":[[62,11]]},"1064":{"position":[[2109,10]]},"1081":{"position":[[32,10],[142,10]]},"1084":{"position":[[0,10],[100,10],[123,10]]},"1086":{"position":[[30,10]]},"1087":{"position":[[23,10],[323,10]]},"1088":{"position":[[0,10]]},"1091":{"position":[[71,10]]},"1104":{"position":[[2041,10]]},"1133":{"position":[[667,10]]},"1148":{"position":[[136,11],[595,10]]},"1190":{"position":[[869,10]]},"1201":{"position":[[26,10]]},"1226":{"position":[[4375,10]]},"1237":{"position":[[4545,10]]},"1260":{"position":[[389,14]]},"1271":{"position":[[373,10]]},"1282":{"position":[[567,10]]},"1291":{"position":[[389,14]]},"1302":{"position":[[373,10]]},"1313":{"position":[[567,10]]},"1319":{"position":[[389,14]]},"1330":{"position":[[373,10]]},"1341":{"position":[[567,10]]},"1351":{"position":[[3615,12],[3800,12]]},"1358":{"position":[[1055,12]]},"1361":{"position":[[802,11],[2051,10],[2312,10]]},"1362":{"position":[[6821,12],[7812,12]]},"1363":{"position":[[2921,10]]},"1364":{"position":[[7060,12],[8051,12],[8215,12],[8661,12]]},"1366":{"position":[[1080,11],[2553,10],[2731,12]]},"1370":{"position":[[1741,12]]},"1373":{"position":[[7658,12]]},"1380":{"position":[[697,11]]},"1382":{"position":[[10434,12]]},"1384":{"position":[[6247,12],[6925,12],[7067,12],[7229,12],[8206,12],[8401,12],[8847,12],[9289,12],[9537,12],[9843,12],[17508,12],[20033,12]]},"1386":{"position":[[4659,11]]},"1388":{"position":[[8927,12]]},"1393":{"position":[[5328,10],[6872,12],[9806,10]]},"1395":{"position":[[1992,10]]},"1454":{"position":[[4951,12],[5630,12],[6605,12],[7077,12]]},"1461":{"position":[[2339,10]]},"1462":{"position":[[4361,10],[5938,10]]},"1465":{"position":[[2799,10]]},"1467":{"position":[[6938,10]]},"1485":{"position":[[3299,12]]}},"keywords":{}}],["transition(_impl",{"_index":5010,"title":{},"content":{"1004":{"position":[[1864,17]]}},"keywords":{}}],["transition.ref",{"_index":4995,"title":{},"content":{"1004":{"position":[[792,15]]}},"keywords":{}}],["transitionsinvolv",{"_index":3546,"title":{},"content":{"693":{"position":[[3586,19]]}},"keywords":{}}],["transitive_set",{"_index":1247,"title":{"448":{"position":[[0,15]]},"827":{"position":[[0,15]]}},"content":{"97":{"position":[[109,14]]},"229":{"position":[[109,14]]},"448":{"position":[[4,15]]},"827":{"position":[[4,15]]},"1081":{"position":[[113,16]]},"1086":{"position":[[638,15]]}},"keywords":{}}],["transitive_set(args_project",{"_index":5559,"title":{},"content":{"1082":{"position":[[836,31]]}},"keywords":{}}],["transitive_set(json_project",{"_index":5571,"title":{},"content":{"1083":{"position":[[672,31]]}},"keywords":{}}],["transitive_set_args_project",{"_index":1168,"title":{},"content":{"94":{"position":[[185,30],[492,30]]},"98":{"position":[[227,30]]},"99":{"position":[[283,30]]},"226":{"position":[[185,30],[492,30]]},"230":{"position":[[227,30]]},"231":{"position":[[283,30]]},"345":{"position":[[262,30]]},"368":{"position":[[281,30],[3245,30]]},"377":{"position":[[190,30]]},"386":{"position":[[176,30]]},"405":{"position":[[178,30],[426,30]]},"417":{"position":[[206,30]]},"747":{"position":[[281,30],[3245,30]]},"756":{"position":[[190,30]]},"765":{"position":[[176,30]]},"784":{"position":[[178,30],[426,30]]},"796":{"position":[[206,30]]}},"keywords":{}}],["transitive_set_definit",{"_index":1244,"title":{},"content":{"97":{"position":[[30,26]]},"229":{"position":[[30,26]]},"448":{"position":[[159,25]]},"827":{"position":[[159,25]]}},"keywords":{}}],["transitive_set_json_project",{"_index":1268,"title":{},"content":{"99":{"position":[[316,30]]},"231":{"position":[[316,30]]}},"keywords":{}}],["transitiveset",{"_index":2083,"title":{"390":{"position":[[0,14]]},"769":{"position":[[0,14]]}},"content":{"390":{"position":[[0,14]]},"769":{"position":[[0,14]]}},"keywords":{}}],["transitivesetargsproject",{"_index":2084,"title":{"391":{"position":[[0,28]]},"770":{"position":[[0,28]]}},"content":{"391":{"position":[[0,28]]},"770":{"position":[[0,28]]}},"keywords":{}}],["transitivesetargsprojectioniter",{"_index":2085,"title":{"392":{"position":[[0,36]]},"771":{"position":[[0,36]]}},"content":{"392":{"position":[[0,36]]},"771":{"position":[[0,36]]}},"keywords":{}}],["transitivesetdefinit",{"_index":2086,"title":{"393":{"position":[[0,24]]},"772":{"position":[[0,24]]}},"content":{"393":{"position":[[0,24]]},"772":{"position":[[0,24]]}},"keywords":{}}],["transitivesetiter",{"_index":2087,"title":{"394":{"position":[[0,22]]},"773":{"position":[[0,22]]}},"content":{"394":{"position":[[0,22]]},"773":{"position":[[0,22]]}},"keywords":{}}],["transitivesetjsonproject",{"_index":2088,"title":{"395":{"position":[[0,28]]},"774":{"position":[[0,28]]}},"content":{"395":{"position":[[0,28]]},"774":{"position":[[0,28]]}},"keywords":{}}],["translat",{"_index":4074,"title":{},"content":{"872":{"position":[[391,11]]},"904":{"position":[[792,11]]},"994":{"position":[[301,10]]},"1360":{"position":[[3490,10]]},"1383":{"position":[[6144,10]]},"1403":{"position":[[2905,10]]}},"keywords":{}}],["transpar",{"_index":7086,"title":{},"content":{"1374":{"position":[[2724,13]]}},"keywords":{}}],["tratest_rule_timeout_m",{"_index":6543,"title":{},"content":{"1354":{"position":[[2858,24]]}},"keywords":{}}],["travers",{"_index":4276,"title":{"1038":{"position":[[15,8]]},"1084":{"position":[[0,10]]}},"content":{"892":{"position":[[938,10]]},"955":{"position":[[25,10],[454,10]]},"1084":{"position":[[141,10]]},"1088":{"position":[[57,9],[193,9],[292,9],[370,9],[575,10],[729,10],[740,9],[777,10]]},"1090":{"position":[[123,10]]},"1258":{"position":[[1249,10]]},"1289":{"position":[[1249,10]]},"1317":{"position":[[1249,10]]},"1366":{"position":[[2855,9]]},"1382":{"position":[[7258,8]]},"1388":{"position":[[8127,8]]},"1416":{"position":[[2556,8]]},"1462":{"position":[[6176,8]]},"1467":{"position":[[7289,8]]}},"keywords":{}}],["treat",{"_index":2547,"title":{},"content":{"560":{"position":[[493,7]]},"581":{"position":[[531,6]]},"590":{"position":[[289,7]]},"595":{"position":[[282,7]]},"636":{"position":[[480,7]]},"656":{"position":[[264,7]]},"675":{"position":[[991,7]]},"965":{"position":[[53,7]]},"1000":{"position":[[142,7]]},"1058":{"position":[[1392,5]]},"1235":{"position":[[493,7]]},"1282":{"position":[[128,6]]},"1283":{"position":[[145,6]]},"1284":{"position":[[121,6]]},"1313":{"position":[[128,6]]},"1314":{"position":[[145,6]]},"1315":{"position":[[121,6]]},"1341":{"position":[[128,6]]},"1342":{"position":[[145,6]]},"1343":{"position":[[121,6]]},"1360":{"position":[[3955,7]]},"1403":{"position":[[3370,7]]}},"keywords":{}}],["tree",{"_index":584,"title":{},"content":{"18":{"position":[[1526,4]]},"622":{"position":[[388,5]]},"693":{"position":[[2163,4]]},"705":{"position":[[676,4]]},"1024":{"position":[[830,5]]},"1057":{"position":[[1311,4]]},"1086":{"position":[[133,5]]},"1093":{"position":[[331,4]]},"1105":{"position":[[56,6]]},"1387":{"position":[[6608,4]]},"1403":{"position":[[7470,5]]},"1439":{"position":[[6810,4]]},"1461":{"position":[[2625,4]]},"1462":{"position":[[6112,4]]},"1465":{"position":[[3084,4]]},"1467":{"position":[[7224,4]]},"1468":{"position":[[1502,4]]},"1477":{"position":[[2340,4],[2411,6]]}},"keywords":{}}],["tri",{"_index":209,"title":{},"content":{"9":{"position":[[848,6]]},"18":{"position":[[733,3]]},"24":{"position":[[30,5]]},"41":{"position":[[584,5]]},"174":{"position":[[584,5]]},"421":{"position":[[276,3]]},"706":{"position":[[1201,6]]},"800":{"position":[[276,3]]},"861":{"position":[[201,6]]},"892":{"position":[[812,5]]},"895":{"position":[[213,3]]},"898":{"position":[[1570,5]]},"904":{"position":[[867,3]]},"1046":{"position":[[161,3]]},"1112":{"position":[[4479,5]]},"1138":{"position":[[3770,6]]},"1140":{"position":[[3259,6]]},"1167":{"position":[[4263,6]]},"1188":{"position":[[3312,6]]},"1217":{"position":[[3004,6]]},"1228":{"position":[[5085,6]]},"1253":{"position":[[160,3]]},"1395":{"position":[[3220,3],[3381,3]]},"1422":{"position":[[3554,5],[3599,5]]},"1423":{"position":[[2325,5],[2370,5]]}},"keywords":{}}],["tricki",{"_index":4837,"title":{},"content":{"977":{"position":[[23,7]]}},"keywords":{}}],["trig/cos.h",{"_index":7222,"title":{},"content":{"1384":{"position":[[21744,13]]}},"keywords":{}}],["trig/include/cos.h",{"_index":7223,"title":{},"content":{"1384":{"position":[[21758,21]]}},"keywords":{}}],["trig/include/tan.h",{"_index":7225,"title":{},"content":{"1384":{"position":[[21794,21]]}},"keywords":{}}],["trig/src/cos.cpp",{"_index":7218,"title":{},"content":{"1384":{"position":[[21604,19]]}},"keywords":{}}],["trig/src/tan.cpp",{"_index":7219,"title":{},"content":{"1384":{"position":[[21624,19]]}},"keywords":{}}],["trig/tan.h",{"_index":7224,"title":{},"content":{"1384":{"position":[[21780,13]]}},"keywords":{}}],["trigger",{"_index":3530,"title":{},"content":{"693":{"position":[[2127,7]]},"916":{"position":[[368,7]]},"1079":{"position":[[1326,9]]},"1386":{"position":[[4345,7]]}},"keywords":{}}],["trim",{"_index":2904,"title":{},"content":{"606":{"position":[[63,4]]},"615":{"position":[[63,4]]},"619":{"position":[[61,4]]},"690":{"position":[[579,7]]},"954":{"position":[[768,8]]}},"keywords":{}}],["trim_resource_id",{"_index":6465,"title":{},"content":{"1350":{"position":[[3682,18]]},"1352":{"position":[[3654,18]]}},"keywords":{}}],["trivial",{"_index":3628,"title":{},"content":{"703":{"position":[[144,7]]},"930":{"position":[[27,8]]},"937":{"position":[[1113,7]]},"1071":{"position":[[693,7]]},"1138":{"position":[[5956,7]]},"1148":{"position":[[3306,7]]},"1186":{"position":[[1530,7]]},"1187":{"position":[[1543,7]]},"1188":{"position":[[6269,7]]},"1197":{"position":[[768,7]]},"1198":{"position":[[778,7]]},"1199":{"position":[[806,7]]},"1200":{"position":[[673,7]]}},"keywords":{}}],["troubleshoot",{"_index":6198,"title":{},"content":{"1249":{"position":[[221,16]]}},"keywords":{}}],["true",{"_index":900,"title":{"626":{"position":[[0,5]]}},"content":{"50":{"position":[[444,4]]},"89":{"position":[[1178,4]]},"94":{"position":[[668,5]]},"98":{"position":[[660,4],[770,5]]},"99":{"position":[[1060,5]]},"197":{"position":[[444,4]]},"221":{"position":[[1178,4]]},"226":{"position":[[668,5]]},"230":{"position":[[660,4],[770,5]]},"231":{"position":[[1060,5]]},"242":{"position":[[604,5]]},"294":{"position":[[400,4]]},"298":{"position":[[2921,5]]},"306":{"position":[[504,5]]},"347":{"position":[[57,5]]},"362":{"position":[[1158,5]]},"374":{"position":[[1364,5]]},"405":{"position":[[1956,5]]},"435":{"position":[[217,4]]},"438":{"position":[[103,4]]},"442":{"position":[[111,5],[329,4],[413,4]]},"451":{"position":[[255,5]]},"593":{"position":[[260,4]]},"597":{"position":[[238,4]]},"598":{"position":[[216,4]]},"599":{"position":[[214,4]]},"600":{"position":[[255,4]]},"601":{"position":[[219,4],[256,4]]},"602":{"position":[[266,4],[305,4]]},"603":{"position":[[251,4]]},"617":{"position":[[361,5]]},"618":{"position":[[274,4],[373,4],[410,4]]},"626":{"position":[[0,5]]},"628":{"position":[[56,4],[120,5],[134,6],[144,4],[164,4],[180,6],[210,6],[220,4]]},"629":{"position":[[56,4],[119,5],[133,6],[143,4],[163,4],[179,6],[189,4]]},"630":{"position":[[183,4],[202,4],[262,4],[278,4],[333,4],[370,4],[426,4]]},"643":{"position":[[274,6],[288,5],[358,6],[382,6]]},"648":{"position":[[432,5],[632,4]]},"666":{"position":[[271,5]]},"712":{"position":[[1367,5],[1704,5]]},"741":{"position":[[1158,5]]},"753":{"position":[[1364,5]]},"784":{"position":[[1956,5]]},"814":{"position":[[217,4]]},"817":{"position":[[103,4]]},"821":{"position":[[111,5],[329,4],[413,4]]},"830":{"position":[[255,5]]},"840":{"position":[[788,4]]},"850":{"position":[[618,4]]},"851":{"position":[[2247,5]]},"867":{"position":[[401,5]]},"890":{"position":[[393,4]]},"907":{"position":[[272,4],[503,5]]},"917":{"position":[[253,5]]},"944":{"position":[[2137,4]]},"976":{"position":[[211,4]]},"990":{"position":[[835,4],[1237,5]]},"991":{"position":[[1714,5],[1902,5]]},"1026":{"position":[[1394,4],[1582,4]]},"1044":{"position":[[2638,4],[2707,6]]},"1050":{"position":[[2888,5],[3487,6],[4213,5]]},"1058":{"position":[[610,4]]},"1064":{"position":[[2140,5]]},"1070":{"position":[[182,4],[203,8],[311,4],[332,8],[603,5],[775,4]]},"1072":{"position":[[695,5],[1023,5],[1225,5]]},"1077":{"position":[[335,4]]},"1078":{"position":[[186,4]]},"1079":{"position":[[492,4]]},"1086":{"position":[[577,4]]},"1100":{"position":[[305,4]]},"1110":{"position":[[60,4]]},"1112":{"position":[[138,4]]},"1120":{"position":[[185,4]]},"1226":{"position":[[2010,5],[2127,5],[2151,5]]},"1237":{"position":[[2180,5],[2297,5],[2321,5]]},"1346":{"position":[[412,4]]},"1348":{"position":[[3754,4]]},"1358":{"position":[[2639,4]]},"1370":{"position":[[2701,5]]},"1384":{"position":[[19525,5]]},"1395":{"position":[[1684,4]]},"1405":{"position":[[2114,5],[2307,4],[3568,5]]},"1407":{"position":[[2155,5],[2728,4],[3989,5]]},"1410":{"position":[[2555,5],[2750,4],[4977,5]]},"1422":{"position":[[4380,5]]},"1423":{"position":[[1877,5],[3743,5]]},"1429":{"position":[[3539,5]]},"1446":{"position":[[2083,5]]},"1454":{"position":[[7545,5],[9782,5]]},"1459":{"position":[[1596,5],[2056,5]]},"1486":{"position":[[2650,5]]}},"keywords":{}}],["true)compress_png",{"_index":6879,"title":{},"content":{"1363":{"position":[[4139,18]]}},"keywords":{}}],["true)error",{"_index":6878,"title":{},"content":{"1363":{"position":[[4114,11]]}},"keywords":{}}],["true)optim",{"_index":6880,"title":{},"content":{"1363":{"position":[[4171,17]]}},"keywords":{}}],["true)warn",{"_index":6877,"title":{},"content":{"1363":{"position":[[4087,13]]}},"keywords":{}}],["true.collect_tombston",{"_index":6536,"title":{},"content":{"1354":{"position":[[2309,24]]}},"keywords":{}}],["true.disable_anim",{"_index":6538,"title":{},"content":{"1354":{"position":[[2424,24]]}},"keywords":{}}],["true.label",{"_index":6540,"title":{},"content":{"1354":{"position":[[2495,12]]}},"keywords":{}}],["true.local_en",{"_index":6320,"title":{},"content":{"1346":{"position":[[384,18]]}},"keywords":{}}],["truncat",{"_index":3200,"title":{},"content":{"648":{"position":[[304,10]]}},"keywords":{}}],["trust",{"_index":231,"title":{},"content":{"9":{"position":[[1256,7]]}},"keywords":{}}],["truth",{"_index":3057,"title":{},"content":{"628":{"position":[[105,5]]},"629":{"position":[[104,5]]},"630":{"position":[[49,5]]},"1123":{"position":[[112,6]]}},"keywords":{}}],["try_skip_code_sign",{"_index":6870,"title":{},"content":{"1363":{"position":[[2583,22]]},"1367":{"position":[[6241,22]]}},"keywords":{}}],["tsan",{"_index":4583,"title":{},"content":{"937":{"position":[[185,5]]}},"keywords":{}}],["tset",{"_index":3980,"title":{},"content":{"861":{"position":[[941,6]]},"1090":{"position":[[28,5]]}},"keywords":{}}],["tti",{"_index":5768,"title":{},"content":{"1120":{"position":[[166,4]]}},"keywords":{}}],["ttl",{"_index":1053,"title":{},"content":{"85":{"position":[[390,3]]},"217":{"position":[[390,3]]},"1075":{"position":[[123,3],[214,3],[715,3]]},"1204":{"position":[[205,3],[7373,3],[8265,3]]}},"keywords":{}}],["tune",{"_index":5913,"title":{},"content":{"1136":{"position":[[6396,4]]},"1138":{"position":[[10058,4]]},"1140":{"position":[[8984,4]]},"1142":{"position":[[4428,4]]},"1144":{"position":[[756,4]]},"1146":{"position":[[4368,4]]},"1148":{"position":[[7959,4]]},"1150":{"position":[[991,4]]},"1152":{"position":[[689,4]]},"1154":{"position":[[844,4]]},"1155":{"position":[[4464,4]]},"1156":{"position":[[4042,4]]},"1157":{"position":[[627,4]]},"1158":{"position":[[621,4]]},"1159":{"position":[[621,4]]},"1161":{"position":[[1616,4]]},"1163":{"position":[[1002,4]]},"1165":{"position":[[831,4]]},"1167":{"position":[[9988,4]]},"1169":{"position":[[3096,4]]},"1171":{"position":[[1337,4]]},"1172":{"position":[[2722,4]]},"1173":{"position":[[1409,4]]},"1174":{"position":[[837,4]]},"1175":{"position":[[833,4]]},"1176":{"position":[[1002,4]]},"1177":{"position":[[923,4]]},"1178":{"position":[[1240,4]]},"1179":{"position":[[1037,4]]},"1180":{"position":[[1308,4]]},"1181":{"position":[[1828,4]]},"1182":{"position":[[871,4]]},"1183":{"position":[[826,4]]},"1185":{"position":[[671,4]]},"1186":{"position":[[5632,4]]},"1187":{"position":[[5645,4]]},"1188":{"position":[[10371,4]]},"1190":{"position":[[2002,4]]},"1191":{"position":[[4232,4]]},"1192":{"position":[[4407,4]]},"1193":{"position":[[4459,4]]},"1194":{"position":[[4099,4]]},"1195":{"position":[[4077,4]]},"1196":{"position":[[3887,4]]},"1197":{"position":[[4870,4]]},"1198":{"position":[[4880,4]]},"1199":{"position":[[4908,4]]},"1200":{"position":[[4775,4]]},"1201":{"position":[[4035,4]]},"1202":{"position":[[779,4],[5177,4],[9574,4]]},"1203":{"position":[[4269,4]]},"1204":{"position":[[4113,4],[5015,4],[5945,4],[6847,4],[7833,4],[8787,4],[9734,4],[10664,4]]},"1205":{"position":[[5442,4]]},"1206":{"position":[[4141,4]]},"1207":{"position":[[4070,4]]},"1209":{"position":[[5418,4]]},"1211":{"position":[[742,4]]},"1213":{"position":[[513,4]]},"1215":{"position":[[597,4]]},"1217":{"position":[[8729,4]]},"1219":{"position":[[3984,4]]},"1221":{"position":[[716,4]]},"1222":{"position":[[3855,4]]},"1223":{"position":[[3865,4]]},"1224":{"position":[[3298,4]]},"1226":{"position":[[9197,4]]},"1228":{"position":[[10810,4]]},"1235":{"position":[[6678,4]]},"1237":{"position":[[9367,4]]}},"keywords":{}}],["tup",{"_index":666,"title":{},"content":{"22":{"position":[[1009,4]]}},"keywords":{}}],["tupl",{"_index":1269,"title":{"670":{"position":[[0,6]]}},"content":{"99":{"position":[[390,5]]},"118":{"position":[[212,5]]},"129":{"position":[[59,5]]},"131":{"position":[[48,5],[94,5],[165,5]]},"134":{"position":[[53,5]]},"146":{"position":[[65,5]]},"148":{"position":[[58,5]]},"149":{"position":[[59,5]]},"150":{"position":[[97,5],[125,5]]},"231":{"position":[[390,5]]},"252":{"position":[[59,5]]},"254":{"position":[[48,5],[94,5],[165,5]]},"257":{"position":[[53,5]]},"269":{"position":[[65,5]]},"271":{"position":[[58,5]]},"272":{"position":[[59,5]]},"273":{"position":[[97,5],[125,5]]},"437":{"position":[[234,5]]},"534":{"position":[[212,5]]},"607":{"position":[[199,6]]},"662":{"position":[[168,5]]},"670":{"position":[[43,5],[50,6],[67,5],[188,7],[214,6],[221,7]]},"673":{"position":[[122,6],[248,5]]},"816":{"position":[[234,5]]},"898":{"position":[[1775,7]]},"900":{"position":[[910,5],[1005,5]]},"1057":{"position":[[937,5]]},"1362":{"position":[[12323,6],[12972,5]]},"1364":{"position":[[12828,6],[13672,5]]},"1367":{"position":[[12231,6],[12880,5]]},"1382":{"position":[[10039,6],[11334,5]]},"1384":{"position":[[16384,6],[18988,5]]},"1385":{"position":[[6265,6],[6912,5]]},"1387":{"position":[[9638,6],[10285,5]]},"1388":{"position":[[9827,5]]},"1442":{"position":[[2707,5]]},"1485":{"position":[[4198,5]]}},"keywords":{}}],["tuple([1,2,3",{"_index":3355,"title":{},"content":{"670":{"position":[[235,14]]}},"keywords":{}}],["tuple(a",{"_index":3353,"title":{},"content":{"670":{"position":[[4,8]]}},"keywords":{}}],["tuple[("function"",{"_index":1021,"title":{},"content":{"82":{"position":[[87,28]]},"214":{"position":[[87,28]]}},"keywords":{}}],["tuple[actionerrorloc",{"_index":851,"title":{},"content":{"41":{"position":[[126,26]]},"174":{"position":[[126,26]]}},"keywords":{}}],["tuple[artifact",{"_index":1114,"title":{},"content":{"92":{"position":[[57,15],[104,15]]},"224":{"position":[[57,15],[104,15]]}},"keywords":{}}],["tuple[int",{"_index":4372,"title":{},"content":{"900":{"position":[[875,10],[976,10]]}},"keywords":{}}],["tuple[output_artifact",{"_index":1115,"title":{},"content":{"92":{"position":[[163,22]]},"224":{"position":[[163,22]]}},"keywords":{}}],["tuple[str",{"_index":1365,"title":{},"content":{"133":{"position":[[38,10]]},"242":{"position":[[59,10]]},"256":{"position":[[38,10]]},"329":{"position":[[126,10]]},"334":{"position":[[65,10]]},"418":{"position":[[31,10],[72,10]]},"424":{"position":[[63,10],[110,10]]},"427":{"position":[[62,10]]},"447":{"position":[[83,10]]},"474":{"position":[[65,10]]},"477":{"position":[[80,10]]},"593":{"position":[[34,10]]},"618":{"position":[[36,10]]},"797":{"position":[[31,10],[72,10]]},"803":{"position":[[63,10],[110,10]]},"806":{"position":[[62,10]]},"826":{"position":[[83,10]]},"1064":{"position":[[1616,10],[1663,10]]}},"keywords":{}}],["turn",{"_index":678,"title":{},"content":{"22":{"position":[[1700,4]]},"347":{"position":[[164,6]]},"706":{"position":[[1838,5]]},"711":{"position":[[600,5],[853,5]]},"722":{"position":[[266,6],[377,6]]},"888":{"position":[[852,6]]},"892":{"position":[[742,4]]},"1050":{"position":[[866,6]]},"1057":{"position":[[1091,7]]},"1082":{"position":[[148,4],[494,4]]},"1083":{"position":[[251,4]]},"1136":{"position":[[5465,6]]},"1138":{"position":[[9127,6]]},"1140":{"position":[[8053,6]]},"1142":{"position":[[3497,6]]},"1146":{"position":[[3437,6]]},"1148":{"position":[[6477,6]]},"1155":{"position":[[3533,6]]},"1156":{"position":[[3111,6]]},"1161":{"position":[[1004,6]]},"1167":{"position":[[9057,6]]},"1181":{"position":[[1216,6]]},"1186":{"position":[[4701,6]]},"1187":{"position":[[4714,6]]},"1188":{"position":[[9440,6]]},"1191":{"position":[[3301,6]]},"1192":{"position":[[3476,6]]},"1193":{"position":[[3528,6]]},"1194":{"position":[[3168,6]]},"1195":{"position":[[3146,6]]},"1196":{"position":[[2956,6]]},"1197":{"position":[[3939,6]]},"1198":{"position":[[3949,6]]},"1199":{"position":[[3977,6]]},"1200":{"position":[[3844,6]]},"1201":{"position":[[3104,6]]},"1202":{"position":[[4246,6],[8643,6]]},"1203":{"position":[[3338,6]]},"1204":{"position":[[3182,6]]},"1205":{"position":[[4511,6]]},"1206":{"position":[[2982,6]]},"1207":{"position":[[3139,6]]},"1209":{"position":[[4487,6]]},"1217":{"position":[[7798,6]]},"1222":{"position":[[2908,6]]},"1223":{"position":[[2918,6]]},"1226":{"position":[[8266,6]]},"1228":{"position":[[9879,6]]},"1235":{"position":[[5747,6]]},"1237":{"position":[[8436,6]]}},"keywords":{}}],["tutori",{"_index":604,"title":{},"content":{"19":{"position":[[125,9]]}},"keywords":{}}],["twice",{"_index":874,"title":{},"content":{"45":{"position":[[179,6]]},"192":{"position":[[179,6]]},"1004":{"position":[[2027,5]]},"1084":{"position":[[704,5]]}},"keywords":{}}],["two",{"_index":728,"title":{},"content":{"23":{"position":[[1462,3],[1990,3]]},"81":{"position":[[305,3]]},"213":{"position":[[305,3]]},"294":{"position":[[1129,3]]},"297":{"position":[[957,3]]},"301":{"position":[[844,3]]},"309":{"position":[[701,3]]},"310":{"position":[[549,3]]},"311":{"position":[[397,3]]},"389":{"position":[[280,3]]},"440":{"position":[[65,3]]},"577":{"position":[[719,3]]},"604":{"position":[[499,4]]},"614":{"position":[[490,3]]},"616":{"position":[[887,3],[978,3],[1096,3]]},"636":{"position":[[250,3],[689,6]]},"662":{"position":[[522,3]]},"693":{"position":[[4246,3]]},"717":{"position":[[264,3]]},"768":{"position":[[280,3]]},"819":{"position":[[65,3]]},"848":{"position":[[154,3]]},"864":{"position":[[75,3]]},"890":{"position":[[3538,3]]},"892":{"position":[[253,3]]},"898":{"position":[[2780,3]]},"911":{"position":[[22,3]]},"924":{"position":[[1418,3]]},"937":{"position":[[2830,3],[2857,3]]},"939":{"position":[[256,3]]},"942":{"position":[[1327,3]]},"975":{"position":[[39,3]]},"977":{"position":[[182,3]]},"987":{"position":[[510,3]]},"988":{"position":[[775,3]]},"990":{"position":[[46,3]]},"995":{"position":[[795,3]]},"1004":{"position":[[747,3]]},"1006":{"position":[[21,3]]},"1025":{"position":[[292,3]]},"1048":{"position":[[83,3]]},"1050":{"position":[[348,3]]},"1070":{"position":[[56,3]]},"1094":{"position":[[25,3]]},"1096":{"position":[[105,3]]},"1103":{"position":[[1552,3]]},"1112":{"position":[[1438,3],[2976,3]]},"1114":{"position":[[765,3],[989,3]]},"1120":{"position":[[646,3]]},"1136":{"position":[[3759,3],[3866,3]]},"1138":{"position":[[7421,3],[7528,3]]},"1140":{"position":[[6347,3],[6454,3]]},"1142":{"position":[[1791,3],[1898,3]]},"1146":{"position":[[1731,3],[1838,3]]},"1148":{"position":[[4771,3],[4878,3]]},"1155":{"position":[[1827,3],[1934,3]]},"1156":{"position":[[1405,3],[1512,3]]},"1167":{"position":[[7351,3],[7458,3]]},"1169":{"position":[[1190,3],[1297,3]]},"1186":{"position":[[2995,3],[3102,3]]},"1187":{"position":[[3008,3],[3115,3]]},"1188":{"position":[[7734,3],[7841,3]]},"1191":{"position":[[1595,3],[1702,3]]},"1192":{"position":[[1770,3],[1877,3]]},"1193":{"position":[[1822,3],[1929,3]]},"1194":{"position":[[1462,3],[1569,3]]},"1195":{"position":[[1440,3],[1547,3]]},"1196":{"position":[[1250,3],[1357,3]]},"1197":{"position":[[2233,3],[2340,3]]},"1198":{"position":[[2243,3],[2350,3]]},"1199":{"position":[[2271,3],[2378,3]]},"1200":{"position":[[2138,3],[2245,3]]},"1201":{"position":[[1398,3],[1505,3]]},"1202":{"position":[[2540,3],[2647,3],[6937,3],[7044,3]]},"1203":{"position":[[1632,3],[1739,3]]},"1204":{"position":[[1476,3],[1583,3]]},"1205":{"position":[[2805,3],[2912,3]]},"1206":{"position":[[1276,3],[1383,3]]},"1207":{"position":[[1433,3],[1540,3]]},"1209":{"position":[[2781,3],[2888,3]]},"1217":{"position":[[6092,3],[6199,3]]},"1219":{"position":[[2078,3],[2185,3]]},"1222":{"position":[[1202,3],[1309,3]]},"1223":{"position":[[1212,3],[1319,3]]},"1224":{"position":[[1392,3],[1499,3]]},"1226":{"position":[[6560,3],[6667,3]]},"1228":{"position":[[8173,3],[8280,3]]},"1235":{"position":[[4041,3],[4148,3]]},"1237":{"position":[[6730,3],[6837,3]]},"1260":{"position":[[430,3]]},"1291":{"position":[[430,3]]},"1319":{"position":[[430,3]]},"1364":{"position":[[6673,3]]},"1384":{"position":[[5718,3]]},"1454":{"position":[[4566,3]]},"1455":{"position":[[2214,3],[4507,3]]},"1482":{"position":[[1772,3]]},"1487":{"position":[[3792,3],[3861,3]]}},"keywords":{}}],["two"",{"_index":2971,"title":{},"content":{"614":{"position":[[536,10]]}},"keywords":{}}],["two=2",{"_index":3105,"title":{},"content":{"636":{"position":[[668,6]]}},"keywords":{}}],["ty",{"_index":2306,"title":{},"content":{"428":{"position":[[20,3]]},"649":{"position":[[22,3]]},"807":{"position":[[20,3]]}},"keywords":{}}],["type",{"_index":21,"title":{"25":{"position":[[20,4]]},"28":{"position":[[15,4]]},"32":{"position":[[13,4]]},"35":{"position":[[12,4]]},"39":{"position":[[15,4]]},"44":{"position":[[9,4]]},"54":{"position":[[11,4]]},"56":{"position":[[24,4]]},"64":{"position":[[9,4]]},"70":{"position":[[8,4]]},"75":{"position":[[11,4]]},"80":{"position":[[8,4]]},"100":{"position":[[14,4]]},"105":{"position":[[6,4]]},"115":{"position":[[20,4]]},"117":{"position":[[8,4]]},"120":{"position":[[8,4]]},"124":{"position":[[6,4]]},"152":{"position":[[20,4]]},"154":{"position":[[16,4]]},"160":{"position":[[12,4]]},"162":{"position":[[13,4]]},"167":{"position":[[7,4]]},"169":{"position":[[11,4]]},"172":{"position":[[15,4]]},"177":{"position":[[20,4]]},"180":{"position":[[12,4]]},"184":{"position":[[15,4]]},"188":{"position":[[13,4]]},"191":{"position":[[9,4]]},"201":{"position":[[11,4]]},"203":{"position":[[20,4]]},"208":{"position":[[12,4]]},"212":{"position":[[8,4]]},"232":{"position":[[19,4]]},"235":{"position":[[18,4]]},"241":{"position":[[17,4]]},"244":{"position":[[16,4]]},"247":{"position":[[6,4]]},"275":{"position":[[25,4]]},"287":{"position":[[20,4]]},"290":{"position":[[13,4]]},"293":{"position":[[12,4]]},"313":{"position":[[15,4]]},"321":{"position":[[22,4]]},"323":{"position":[[18,4]]},"339":{"position":[[19,4]]},"343":{"position":[[17,4]]},"452":{"position":[[9,4]]},"458":{"position":[[27,4]]},"464":{"position":[[18,4]]},"479":{"position":[[13,4]]},"482":{"position":[[16,4]]},"485":{"position":[[24,4]]},"493":{"position":[[8,4]]},"498":{"position":[[9,4]]},"499":{"position":[[14,4]]},"504":{"position":[[11,4]]},"509":{"position":[[23,4]]},"512":{"position":[[8,4]]},"515":{"position":[[20,4]]},"517":{"position":[[6,4]]},"527":{"position":[[11,4]]},"529":{"position":[[8,4]]},"533":{"position":[[8,4]]},"536":{"position":[[20,4]]},"538":{"position":[[16,4]]},"544":{"position":[[13,4]]},"549":{"position":[[11,4]]},"552":{"position":[[5,4]]},"562":{"position":[[5,4]]},"588":{"position":[[7,4]]},"671":{"position":[[0,5]]},"672":{"position":[[0,7]]},"836":{"position":[[13,5]]},"899":{"position":[[9,5]]},"900":{"position":[[12,4]]},"901":{"position":[[7,6]]},"902":{"position":[[5,6]]},"929":{"position":[[19,5]]},"1258":{"position":[[12,6]]},"1289":{"position":[[12,6]]},"1317":{"position":[[12,6]]}},"content":{"3":{"position":[[138,5],[230,6]]},"9":{"position":[[605,6]]},"11":{"position":[[531,5]]},"20":{"position":[[623,4]]},"41":{"position":[[610,5]]},"71":{"position":[[127,4]]},"72":{"position":[[285,4]]},"79":{"position":[[263,4]]},"94":{"position":[[1213,4],[1233,4]]},"99":{"position":[[772,5]]},"122":{"position":[[20,4],[26,4]]},"125":{"position":[[176,4]]},"140":{"position":[[143,5]]},"174":{"position":[[610,5]]},"226":{"position":[[1213,4],[1233,4]]},"231":{"position":[[772,5]]},"233":{"position":[[298,5]]},"248":{"position":[[176,4]]},"263":{"position":[[143,5]]},"306":{"position":[[683,5]]},"332":{"position":[[350,5]]},"344":{"position":[[331,4]]},"349":{"position":[[16,4]]},"350":{"position":[[21,4]]},"351":{"position":[[16,4]]},"352":{"position":[[17,4]]},"353":{"position":[[17,4]]},"354":{"position":[[12,4]]},"355":{"position":[[13,4]]},"356":{"position":[[10,4]]},"357":{"position":[[13,4]]},"358":{"position":[[15,4]]},"359":{"position":[[6,4]]},"360":{"position":[[10,4]]},"361":{"position":[[10,4]]},"362":{"position":[[966,5]]},"363":{"position":[[391,5]]},"364":{"position":[[26,4]]},"365":{"position":[[23,4]]},"366":{"position":[[217,5]]},"367":{"position":[[245,5]]},"368":{"position":[[465,5]]},"369":{"position":[[12,4]]},"370":{"position":[[16,4]]},"371":{"position":[[24,4]]},"374":{"position":[[28,5],[399,5],[570,4],[903,4],[1704,4],[1761,5],[1829,4]]},"376":{"position":[[7,4]]},"377":{"position":[[468,5]]},"378":{"position":[[16,4]]},"379":{"position":[[172,5]]},"380":{"position":[[13,4]]},"381":{"position":[[9,4]]},"382":{"position":[[10,4]]},"383":{"position":[[20,4]]},"384":{"position":[[16,4]]},"385":{"position":[[26,4]]},"386":{"position":[[325,5]]},"387":{"position":[[8,4]]},"388":{"position":[[13,4]]},"389":{"position":[[176,5],[284,5],[501,5]]},"390":{"position":[[15,4]]},"391":{"position":[[29,4]]},"392":{"position":[[37,4]]},"393":{"position":[[25,4]]},"394":{"position":[[23,4]]},"395":{"position":[[29,4]]},"396":{"position":[[255,5]]},"397":{"position":[[110,5]]},"398":{"position":[[129,5]]},"399":{"position":[[129,5]]},"402":{"position":[[30,5],[46,5],[69,5],[91,5],[112,5],[132,5],[148,5],[177,5],[205,5],[221,5],[243,5],[267,5],[284,5],[303,5],[329,5],[350,5],[373,5],[404,5],[434,5],[456,5]]},"405":{"position":[[890,4],[963,4],[1152,5]]},"427":{"position":[[159,4],[572,4]]},"428":{"position":[[130,4]]},"434":{"position":[[69,5]]},"473":{"position":[[231,5]]},"480":{"position":[[36,4]]},"483":{"position":[[39,4]]},"494":{"position":[[127,4]]},"495":{"position":[[285,4]]},"498":{"position":[[9,4]]},"508":{"position":[[263,4]]},"531":{"position":[[20,4],[26,4]]},"566":{"position":[[361,4]]},"630":{"position":[[84,5]]},"636":{"position":[[90,5]]},"638":{"position":[[31,4],[390,4],[531,4],[563,4],[1131,5]]},"640":{"position":[[18,5],[33,4],[56,4],[124,5]]},"644":{"position":[[118,5]]},"648":{"position":[[103,5]]},"649":{"position":[[26,5],[82,5]]},"652":{"position":[[84,5]]},"662":{"position":[[99,5]]},"663":{"position":[[46,4],[105,5],[262,4],[314,4],[406,4],[527,5],[582,4],[616,4]]},"668":{"position":[[64,5]]},"669":{"position":[[46,5]]},"670":{"position":[[116,5]]},"671":{"position":[[26,5],[64,4],[85,5],[226,8]]},"672":{"position":[[0,7]]},"675":{"position":[[44,6],[832,5],[1328,7]]},"693":{"position":[[1306,5],[4463,4],[4525,5]]},"711":{"position":[[283,4],[444,4]]},"715":{"position":[[425,4],[939,4],[1124,4],[1421,5]]},"717":{"position":[[546,4],[686,4]]},"718":{"position":[[322,5]]},"722":{"position":[[185,5]]},"728":{"position":[[16,4]]},"729":{"position":[[21,4]]},"730":{"position":[[16,4]]},"731":{"position":[[17,4]]},"732":{"position":[[17,4]]},"733":{"position":[[12,4]]},"734":{"position":[[13,4]]},"735":{"position":[[10,4]]},"736":{"position":[[13,4]]},"737":{"position":[[15,4]]},"738":{"position":[[6,4]]},"739":{"position":[[10,4]]},"740":{"position":[[10,4]]},"741":{"position":[[966,5]]},"742":{"position":[[391,5]]},"743":{"position":[[26,4]]},"744":{"position":[[23,4]]},"745":{"position":[[217,5]]},"746":{"position":[[245,5]]},"747":{"position":[[465,5]]},"748":{"position":[[12,4]]},"749":{"position":[[16,4]]},"750":{"position":[[24,4]]},"753":{"position":[[28,5],[399,5],[570,4],[903,4],[1704,4],[1761,5],[1829,4]]},"755":{"position":[[7,4]]},"756":{"position":[[468,5]]},"757":{"position":[[16,4]]},"758":{"position":[[172,5]]},"759":{"position":[[13,4]]},"760":{"position":[[9,4]]},"761":{"position":[[10,4]]},"762":{"position":[[20,4]]},"763":{"position":[[16,4]]},"764":{"position":[[26,4]]},"765":{"position":[[325,5]]},"766":{"position":[[8,4]]},"767":{"position":[[13,4]]},"768":{"position":[[176,5],[284,5],[501,5]]},"769":{"position":[[15,4]]},"770":{"position":[[29,4]]},"771":{"position":[[37,4]]},"772":{"position":[[25,4]]},"773":{"position":[[23,4]]},"774":{"position":[[29,4]]},"775":{"position":[[255,5]]},"776":{"position":[[110,5]]},"777":{"position":[[129,5]]},"778":{"position":[[129,5]]},"781":{"position":[[30,5],[46,5],[69,5],[91,5],[112,5],[132,5],[148,5],[177,5],[205,5],[221,5],[243,5],[267,5],[284,5],[303,5],[329,5],[350,5],[373,5],[404,5],[434,5],[456,5]]},"784":{"position":[[890,4],[963,4],[1152,5]]},"806":{"position":[[159,4],[572,4]]},"807":{"position":[[130,4]]},"813":{"position":[[69,5]]},"835":{"position":[[63,4],[225,4]]},"836":{"position":[[9,5]]},"846":{"position":[[40,6],[1019,5]]},"847":{"position":[[126,4]]},"850":{"position":[[68,5]]},"861":{"position":[[22,4]]},"864":{"position":[[357,6]]},"887":{"position":[[33,6]]},"890":{"position":[[220,6],[1692,5],[1925,4],[2052,4],[2091,4],[2453,4],[4442,4],[6155,5]]},"898":{"position":[[1746,5],[1856,5],[1964,5],[2595,5],[2789,6]]},"900":{"position":[[2,4],[56,5],[282,4],[446,4],[483,6],[494,4],[554,5],[641,4],[681,4],[721,6],[792,4],[870,4],[971,4],[1060,4],[1073,4],[1144,4],[1223,4],[1293,4],[1324,4],[1491,4],[1608,4],[1777,5],[1936,4],[1978,4],[2067,6]]},"901":{"position":[[9,4],[68,5],[224,4],[276,4],[368,4],[489,5],[544,4],[578,4]]},"902":{"position":[[9,4],[379,4],[520,4],[552,4],[1116,5]]},"910":{"position":[[489,4]]},"911":{"position":[[26,5],[88,4]]},"924":{"position":[[665,4],[1224,4]]},"939":{"position":[[260,5]]},"940":{"position":[[884,5]]},"944":{"position":[[17,5],[443,6]]},"973":{"position":[[91,4],[159,5]]},"983":{"position":[[139,4]]},"1017":{"position":[[378,5]]},"1043":{"position":[[205,5]]},"1044":{"position":[[172,5],[212,5],[311,4]]},"1049":{"position":[[564,5]]},"1052":{"position":[[1349,4]]},"1053":{"position":[[637,5],[844,5],[909,4],[1297,6]]},"1054":{"position":[[752,4],[1153,4],[1247,4],[1610,4]]},"1057":{"position":[[408,4],[782,4]]},"1069":{"position":[[111,4],[148,4],[662,4],[759,5],[795,4]]},"1081":{"position":[[47,5],[100,4]]},"1112":{"position":[[4505,5]]},"1121":{"position":[[33,5]]},"1125":{"position":[[72,5],[104,4]]},"1126":{"position":[[798,5],[831,4],[1093,5],[1124,4],[1386,5],[1417,4],[1508,4]]},"1127":{"position":[[498,6]]},"1136":{"position":[[1345,4],[4588,5],[4610,4]]},"1138":{"position":[[8250,5],[8272,4]]},"1140":{"position":[[7176,5],[7198,4]]},"1142":{"position":[[2620,5],[2642,4]]},"1146":{"position":[[2560,5],[2582,4]]},"1148":{"position":[[1701,4],[5600,5],[5622,4]]},"1155":{"position":[[2656,5],[2678,4]]},"1156":{"position":[[2234,5],[2256,4]]},"1167":{"position":[[8180,5],[8202,4]]},"1169":{"position":[[2019,5],[2041,4]]},"1172":{"position":[[1513,4]]},"1173":{"position":[[813,4]]},"1186":{"position":[[3824,5],[3846,4]]},"1187":{"position":[[3837,5],[3859,4]]},"1188":{"position":[[8563,5],[8585,4]]},"1191":{"position":[[2424,5],[2446,4]]},"1192":{"position":[[2599,5],[2621,4]]},"1193":{"position":[[2651,5],[2673,4]]},"1194":{"position":[[2291,5],[2313,4]]},"1195":{"position":[[2269,5],[2291,4]]},"1196":{"position":[[2079,5],[2101,4]]},"1197":{"position":[[3062,5],[3084,4]]},"1198":{"position":[[3072,5],[3094,4]]},"1199":{"position":[[3100,5],[3122,4]]},"1200":{"position":[[2967,5],[2989,4]]},"1201":{"position":[[2227,5],[2249,4]]},"1202":{"position":[[3369,5],[3391,4],[7766,5],[7788,4]]},"1203":{"position":[[2461,5],[2483,4]]},"1204":{"position":[[2305,5],[2327,4]]},"1205":{"position":[[825,4],[3634,5],[3656,4]]},"1206":{"position":[[2105,5],[2127,4]]},"1207":{"position":[[2262,5],[2284,4]]},"1209":{"position":[[578,4],[3610,5],[3632,4]]},"1217":{"position":[[6921,5],[6943,4]]},"1219":{"position":[[2907,5],[2929,4]]},"1222":{"position":[[2031,5],[2053,4]]},"1223":{"position":[[2041,5],[2063,4]]},"1224":{"position":[[2221,5],[2243,4]]},"1226":{"position":[[2518,4],[7389,5],[7411,4]]},"1228":{"position":[[9002,5],[9024,4]]},"1235":{"position":[[1838,4],[4870,5],[4892,4]]},"1237":{"position":[[2688,4],[7559,5],[7581,4]]},"1243":{"position":[[37,5]]},"1259":{"position":[[1082,4]]},"1271":{"position":[[125,4],[320,4]]},"1290":{"position":[[1082,4]]},"1302":{"position":[[125,4],[320,4]]},"1318":{"position":[[1082,4]]},"1330":{"position":[[125,4],[320,4]]},"1355":{"position":[[3928,5]]},"1360":{"position":[[1253,5]]},"1383":{"position":[[1131,5],[7658,5],[7678,4],[7958,4],[8109,5]]},"1397":{"position":[[1761,5],[1810,4],[1832,4]]},"1403":{"position":[[1156,5],[6758,5],[6778,4],[7058,4],[7209,5]]},"1422":{"position":[[639,5],[3268,5],[3292,4],[3339,4],[3404,4],[3985,6]]},"1424":{"position":[[1012,5]]},"1426":{"position":[[2328,4]]},"1427":{"position":[[3073,5]]},"1432":{"position":[[1258,5]]},"1439":{"position":[[3747,5]]},"1462":{"position":[[4111,7],[8702,4],[8820,4]]},"1465":{"position":[[1129,7],[3993,4],[4174,4]]},"1467":{"position":[[4669,7],[10185,4],[10553,7],[10591,4]]},"1469":{"position":[[557,5],[1892,5],[1910,4]]},"1478":{"position":[[1008,5],[2625,5]]},"1486":{"position":[[2247,4],[2400,4],[5544,4],[5721,4]]}},"keywords":{}}],["type("hello"",{"_index":3362,"title":{},"content":{"671":{"position":[[256,23]]}},"keywords":{}}],["type(0",{"_index":3360,"title":{},"content":{"671":{"position":[[172,7]]}},"keywords":{}}],["type(1",{"_index":3361,"title":{},"content":{"671":{"position":[[199,7]]}},"keywords":{}}],["type(a",{"_index":3356,"title":{},"content":{"671":{"position":[[4,7]]}},"keywords":{}}],["type(non",{"_index":3358,"title":{},"content":{"671":{"position":[[137,10]]}},"keywords":{}}],["type='tar.gz",{"_index":7914,"title":{},"content":{"1422":{"position":[[4204,14]]}},"keywords":{}}],["type_stub",{"_index":7296,"title":{},"content":{"1387":{"position":[[3940,10]]},"1465":{"position":[[1085,11]]}},"keywords":{}}],["typecheck",{"_index":773,"title":{"1223":{"position":[[14,10]]}},"content":{"23":{"position":[[3025,13]]},"1056":{"position":[[1386,13]]},"1148":{"position":[[7492,10]]},"1186":{"position":[[1044,10]]},"1187":{"position":[[1057,10]]},"1188":{"position":[[5783,10]]},"1221":{"position":[[120,9],[147,12]]},"1223":{"position":[[17,12],[60,9]]},"1471":{"position":[[5426,11]]},"1472":{"position":[[6312,11]]}},"keywords":{}}],["typere.directori",{"_index":1066,"title":{},"content":{"85":{"position":[[715,16]]},"217":{"position":[[715,16]]}},"keywords":{}}],["typere.treeis_directori",{"_index":1065,"title":{},"content":{"85":{"position":[[659,24]]},"217":{"position":[[659,24]]}},"keywords":{}}],["types.th",{"_index":4369,"title":{},"content":{"900":{"position":[[782,9]]}},"keywords":{}}],["typic",{"_index":968,"title":{},"content":{"69":{"position":[[168,9]]},"94":{"position":[[1544,9]]},"226":{"position":[[1544,9]]},"362":{"position":[[1479,9]]},"407":{"position":[[150,9]]},"408":{"position":[[459,9],[698,9]]},"418":{"position":[[207,7]]},"427":{"position":[[282,9]]},"457":{"position":[[168,9]]},"622":{"position":[[35,9]]},"681":{"position":[[118,10]]},"690":{"position":[[164,9]]},"741":{"position":[[1479,9]]},"786":{"position":[[150,9]]},"787":{"position":[[459,9],[698,9]]},"797":{"position":[[207,7]]},"806":{"position":[[282,9]]},"1105":{"position":[[1094,10]]},"1112":{"position":[[1311,9]]},"1181":{"position":[[634,9]]},"1355":{"position":[[5884,9],[6852,9]]},"1383":{"position":[[5373,9]]},"1393":{"position":[[4224,9],[7058,9],[7380,9],[7749,9]]},"1395":{"position":[[1862,9]]},"1398":{"position":[[4326,9]]},"1427":{"position":[[5057,9],[6051,9]]},"1457":{"position":[[1648,9]]}},"keywords":{}}],["typing.ani",{"_index":823,"title":{},"content":{"33":{"position":[[27,10]]},"61":{"position":[[30,10]]},"81":{"position":[[70,11]]},"82":{"position":[[71,13],[126,13]]},"99":{"position":[[415,11]]},"119":{"position":[[52,12]]},"157":{"position":[[22,10]]},"189":{"position":[[27,10]]},"206":{"position":[[27,10]]},"213":{"position":[[70,11]]},"214":{"position":[[71,13],[126,13]]},"231":{"position":[[415,11]]},"368":{"position":[[373,11]]},"373":{"position":[[330,10]]},"374":{"position":[[753,11]]},"389":{"position":[[1717,11],[1764,11]]},"421":{"position":[[36,12]]},"427":{"position":[[90,11]]},"448":{"position":[[51,11],[96,11],[135,11]]},"459":{"position":[[34,10]]},"490":{"position":[[30,10]]},"535":{"position":[[52,12]]},"541":{"position":[[22,10]]},"555":{"position":[[41,12]]},"558":{"position":[[25,12],[38,11]]},"636":{"position":[[49,11]]},"639":{"position":[[71,12]]},"672":{"position":[[21,11]]},"747":{"position":[[373,11]]},"752":{"position":[[330,10]]},"753":{"position":[[753,11]]},"768":{"position":[[1717,11],[1764,11]]},"800":{"position":[[36,12]]},"806":{"position":[[90,11]]},"827":{"position":[[51,11],[96,11],[135,11]]},"900":{"position":[[499,10]]},"1350":{"position":[[2172,11]]},"1352":{"position":[[2171,11]]},"1362":{"position":[[2926,13]]},"1363":{"position":[[1355,11]]},"1364":{"position":[[2937,13]]},"1367":{"position":[[1511,11],[4226,13]]},"1373":{"position":[[1838,13]]},"1382":{"position":[[1952,13]]},"1384":{"position":[[2676,13]]},"1387":{"position":[[2650,13]]},"1388":{"position":[[2137,13]]},"1415":{"position":[[1554,13]]},"1416":{"position":[[953,13]]},"1462":{"position":[[2408,13],[2842,12]]},"1467":{"position":[[2583,13],[2995,12]]},"1470":{"position":[[1727,11]]},"1471":{"position":[[1250,13]]},"1473":{"position":[[1302,13]]}},"keywords":{}}],["typing.any"",{"_index":2203,"title":{},"content":{"411":{"position":[[153,17]]},"790":{"position":[[153,17]]}},"keywords":{}}],["typing.cal",{"_index":1187,"title":{},"content":{"94":{"position":[[1084,15]]},"226":{"position":[[1084,15]]},"403":{"position":[[23,16]]},"447":{"position":[[25,16]]},"643":{"position":[[25,16]]},"653":{"position":[[14,16]]},"672":{"position":[[44,16]]},"782":{"position":[[23,16]]},"826":{"position":[[25,16]]},"900":{"position":[[1149,15]]}},"keywords":{}}],["typing.callable["act",{"_index":2202,"title":{},"content":{"411":{"position":[[30,30]]},"790":{"position":[[30,30]]}},"keywords":{}}],["typing.callable[[typing.ani",{"_index":1117,"title":{},"content":{"92":{"position":[[195,28]]},"119":{"position":[[22,29]]},"224":{"position":[[195,28]]},"400":{"position":[[24,29],[164,29]]},"437":{"position":[[19,29]]},"535":{"position":[[22,29]]},"779":{"position":[[24,29],[164,29]]},"816":{"position":[[19,29]]}},"keywords":{}}],["typing.iter",{"_index":1246,"title":{},"content":{"97":{"position":[[81,15]]},"229":{"position":[[81,15]]},"565":{"position":[[23,16]]},"628":{"position":[[11,16]]},"629":{"position":[[11,16]]},"639":{"position":[[18,16]]},"643":{"position":[[47,16]]},"652":{"position":[[12,15]]},"653":{"position":[[36,16]]},"665":{"position":[[16,16]]},"670":{"position":[[13,15]]},"672":{"position":[[72,16]]},"673":{"position":[[15,16]]},"900":{"position":[[1228,15]]}},"keywords":{}}],["typing.iterable[str",{"_index":2746,"title":{},"content":{"590":{"position":[[30,20]]},"592":{"position":[[25,20]]},"604":{"position":[[25,21]]}},"keywords":{}}],["typing.nev",{"_index":3145,"title":{},"content":{"641":{"position":[[22,12]]},"672":{"position":[[97,13]]},"900":{"position":[[1298,12],[1379,12]]}},"keywords":{}}],["u",{"_index":2636,"title":{},"content":{"576":{"position":[[326,6],[381,10]]},"1138":{"position":[[5570,2]]},"1148":{"position":[[2920,2]]},"1167":{"position":[[1631,2]]},"1186":{"position":[[1144,2]]},"1187":{"position":[[1157,2]]},"1188":{"position":[[5883,2]]},"1197":{"position":[[382,2]]},"1198":{"position":[[392,2]]},"1199":{"position":[[420,2]]},"1200":{"position":[[287,2]]}},"keywords":{}}],["u+fffd",{"_index":2750,"title":{},"content":{"590":{"position":[[349,7]]},"656":{"position":[[324,7]]}},"keywords":{}}],["u+x",{"_index":8468,"title":{},"content":{"1477":{"position":[[3068,3]]},"1478":{"position":[[3314,3]]}},"keywords":{}}],["u0429",{"_index":2642,"title":{},"content":{"577":{"position":[[784,6]]}},"keywords":{}}],["u0429"",{"_index":2641,"title":{},"content":{"577":{"position":[[690,12]]}},"keywords":{}}],["u32",{"_index":6229,"title":{},"content":{"1258":{"position":[[106,4]]},"1289":{"position":[[106,4]]},"1317":{"position":[[106,4]]}},"keywords":{}}],["u64",{"_index":5797,"title":{},"content":{"1126":{"position":[[508,4],[613,4],[1021,4],[1252,4],[1277,4]]}},"keywords":{}}],["ubsan",{"_index":4584,"title":{},"content":{"937":{"position":[[191,6]]}},"keywords":{}}],["udid",{"_index":5976,"title":{},"content":{"1167":{"position":[[829,4]]}},"keywords":{}}],["ui",{"_index":5903,"title":{},"content":{"1136":{"position":[[5168,2],[5219,2]]},"1138":{"position":[[8830,2],[8881,2]]},"1140":{"position":[[7756,2],[7807,2]]},"1142":{"position":[[3200,2],[3251,2]]},"1146":{"position":[[3140,2],[3191,2]]},"1148":{"position":[[6180,2],[6231,2]]},"1155":{"position":[[3236,2],[3287,2]]},"1156":{"position":[[2814,2],[2865,2]]},"1161":{"position":[[707,2],[758,2]]},"1167":{"position":[[8760,2],[8811,2]]},"1181":{"position":[[919,2],[970,2]]},"1186":{"position":[[4404,2],[4455,2]]},"1187":{"position":[[4417,2],[4468,2]]},"1188":{"position":[[9143,2],[9194,2]]},"1191":{"position":[[3004,2],[3055,2]]},"1192":{"position":[[3179,2],[3230,2]]},"1193":{"position":[[3231,2],[3282,2]]},"1194":{"position":[[2871,2],[2922,2]]},"1195":{"position":[[2849,2],[2900,2]]},"1196":{"position":[[2659,2],[2710,2]]},"1197":{"position":[[3642,2],[3693,2]]},"1198":{"position":[[3652,2],[3703,2]]},"1199":{"position":[[3680,2],[3731,2]]},"1200":{"position":[[3547,2],[3598,2]]},"1201":{"position":[[2807,2],[2858,2]]},"1202":{"position":[[3949,2],[4000,2],[8346,2],[8397,2]]},"1203":{"position":[[3041,2],[3092,2]]},"1204":{"position":[[2885,2],[2936,2]]},"1205":{"position":[[4214,2],[4265,2]]},"1206":{"position":[[2685,2],[2736,2]]},"1207":{"position":[[2842,2],[2893,2]]},"1209":{"position":[[4190,2],[4241,2]]},"1217":{"position":[[7501,2],[7552,2]]},"1222":{"position":[[2611,2],[2662,2]]},"1223":{"position":[[2621,2],[2672,2]]},"1226":{"position":[[7969,2],[8020,2]]},"1228":{"position":[[9582,2],[9633,2]]},"1235":{"position":[[5450,2],[5501,2]]},"1237":{"position":[[8139,2],[8190,2]]}},"keywords":{}}],["ui_r",{"_index":3693,"title":{},"content":{"708":{"position":[[284,9],[536,9]]}},"keywords":{}}],["ui_test_target_app",{"_index":6972,"title":{},"content":{"1367":{"position":[[6281,19]]}},"keywords":{}}],["uint",{"_index":5736,"title":{},"content":{"1112":{"position":[[3119,5]]}},"keywords":{}}],["ultim",{"_index":5655,"title":{},"content":{"1104":{"position":[[345,10]]}},"keywords":{}}],["un",{"_index":6811,"title":{},"content":{"1362":{"position":[[11347,2],[11716,2],[12156,2]]},"1364":{"position":[[8338,2],[12314,2],[12661,2]]},"1367":{"position":[[11717,2],[12064,2]]},"1373":{"position":[[6369,2],[6737,2],[7196,2]]},"1382":{"position":[[8216,2],[8566,2],[9057,2],[9517,2],[9872,2]]},"1384":{"position":[[7493,2],[7907,2],[8524,2],[9071,2],[14561,2],[14911,2],[15402,2],[15862,2],[16217,2],[19291,2]]},"1385":{"position":[[4446,2],[4795,2],[5285,2],[5744,2],[6098,2]]},"1387":{"position":[[7819,2],[8168,2],[8658,2],[9117,2],[9471,2]]},"1415":{"position":[[4328,2],[4696,2],[5268,2]]},"1416":{"position":[[3184,2]]},"1420":{"position":[[2321,2]]},"1448":{"position":[[2267,2]]},"1449":{"position":[[2201,2]]},"1454":{"position":[[5893,2],[6306,2],[6859,2],[8029,2],[8341,2],[8661,2],[9304,2]]},"1455":{"position":[[2664,2]]},"1465":{"position":[[3258,2],[3669,2]]},"1467":{"position":[[9527,2]]},"1485":{"position":[[2830,2]]}},"keywords":{}}],["unambigu",{"_index":4708,"title":{},"content":{"944":{"position":[[1875,11]]}},"keywords":{}}],["unblock",{"_index":4575,"title":{},"content":{"933":{"position":[[188,7]]},"1037":{"position":[[493,7]]}},"keywords":{}}],["unbound",{"_index":1076,"title":{},"content":{"89":{"position":[[113,7]]},"92":{"position":[[782,7],[1462,9]]},"221":{"position":[[113,7]]},"224":{"position":[[782,7],[1462,9]]},"1017":{"position":[[340,9],[440,7],[806,7]]},"1040":{"position":[[884,7],[1234,9]]}},"keywords":{}}],["unbox",{"_index":99,"title":{},"content":{"5":{"position":[[351,8]]}},"keywords":{}}],["unbundled_resources_root",{"_index":7986,"title":{},"content":{"1429":{"position":[[2331,25]]},"1440":{"position":[[2485,25]]},"1470":{"position":[[3007,25]]}},"keywords":{}}],["uncach",{"_index":3674,"title":{},"content":{"706":{"position":[[1119,12]]}},"keywords":{}}],["uncertain",{"_index":4758,"title":{},"content":{"956":{"position":[[379,9]]}},"keywords":{}}],["unchecked_frozen_valu",{"_index":4194,"title":{},"content":{"889":{"position":[[1109,23]]}},"keywords":{}}],["unclean",{"_index":7478,"title":{},"content":{"1393":{"position":[[5509,7]]}},"keywords":{}}],["uncommit",{"_index":5967,"title":{},"content":{"1161":{"position":[[339,11]]}},"keywords":{}}],["uncommon",{"_index":4334,"title":{},"content":{"898":{"position":[[1197,8]]}},"keywords":{}}],["uncompress",{"_index":3999,"title":{},"content":{"865":{"position":[[411,13]]},"1140":{"position":[[673,12]]},"1188":{"position":[[726,12]]}},"keywords":{}}],["uncondit",{"_index":4631,"title":{},"content":{"939":{"position":[[296,13],[324,13],[387,13]]}},"keywords":{}}],["uncondition",{"_index":5491,"title":{},"content":{"1070":{"position":[[929,16]]},"1138":{"position":[[3986,15],[5392,15]]},"1140":{"position":[[3475,15],[4881,15]]},"1167":{"position":[[4479,15],[5885,15]]},"1188":{"position":[[3528,15],[4934,15]]},"1217":{"position":[[3220,15],[4626,15]]},"1228":{"position":[[5301,15],[6707,15]]}},"keywords":{}}],["unconfigur",{"_index":921,"title":{"719":{"position":[[10,12]]}},"content":{"62":{"position":[[73,12]]},"113":{"position":[[160,12]]},"158":{"position":[[65,12]]},"240":{"position":[[163,12]]},"294":{"position":[[628,12],[1044,12],[1100,12]]},"295":{"position":[[282,12]]},"297":{"position":[[874,12],[928,12]]},"298":{"position":[[2140,12],[2275,12],[2333,12]]},"301":{"position":[[542,12],[815,12]]},"302":{"position":[[282,12]]},"309":{"position":[[617,12],[672,12]]},"310":{"position":[[266,12],[465,12],[520,12]]},"311":{"position":[[221,12],[347,12]]},"320":{"position":[[293,13]]},"329":{"position":[[223,12]]},"340":{"position":[[287,12],[317,12]]},"449":{"position":[[115,12]]},"459":{"position":[[83,12]]},"460":{"position":[[90,12]]},"461":{"position":[[72,12]]},"463":{"position":[[94,12]]},"470":{"position":[[163,12]]},"491":{"position":[[73,12]]},"525":{"position":[[160,12]]},"542":{"position":[[65,12]]},"693":{"position":[[10126,12]]},"715":{"position":[[1368,12]]},"718":{"position":[[60,12],[379,12],[676,12]]},"719":{"position":[[19,12]]},"828":{"position":[[115,12]]},"846":{"position":[[60,12],[1262,12]]},"851":{"position":[[1449,12],[1598,12],[1662,12]]},"869":{"position":[[361,13]]},"905":{"position":[[505,12]]},"906":{"position":[[60,12]]},"919":{"position":[[1600,12],[2553,12],[2815,12]]},"920":{"position":[[57,12],[295,12],[365,12]]},"921":{"position":[[163,12]]},"959":{"position":[[118,13]]},"962":{"position":[[179,12]]},"988":{"position":[[559,12],[627,12]]},"990":{"position":[[286,12],[325,12],[389,12],[536,12]]},"995":{"position":[[344,12]]},"1009":{"position":[[629,12]]},"1012":{"position":[[328,12]]},"1014":{"position":[[222,12],[327,14]]},"1021":{"position":[[174,12]]},"1112":{"position":[[305,12]]},"1190":{"position":[[919,12],[1321,12]]},"1201":{"position":[[76,12]]},"1205":{"position":[[208,12]]},"1226":{"position":[[438,12],[478,12]]},"1235":{"position":[[23,12],[53,12],[258,12],[399,12]]},"1237":{"position":[[79,12],[608,12],[648,12]]}},"keywords":{}}],["unconfigured_label",{"_index":1418,"title":{},"content":{"166":{"position":[[350,18]]},"548":{"position":[[350,18]]}},"keywords":{}}],["unconfigured_own",{"_index":4425,"title":{},"content":{"906":{"position":[[147,19]]}},"keywords":{}}],["unconfigured_target_label",{"_index":1495,"title":{},"content":{"243":{"position":[[176,25]]}},"keywords":{}}],["unconfiguredtargetnod",{"_index":2117,"title":{},"content":{"402":{"position":[[379,22]]},"781":{"position":[[379,22]]}},"keywords":{}}],["unconfiguredtargetset",{"_index":2118,"title":{},"content":{"402":{"position":[[410,21]]},"781":{"position":[[410,21]]}},"keywords":{}}],["undeclar",{"_index":4868,"title":{"982":{"position":[[40,10]]}},"content":{},"keywords":{}}],["undefin",{"_index":2282,"title":{},"content":{"421":{"position":[[249,9]]},"800":{"position":[[249,9]]},"1367":{"position":[[13886,11],[13984,9]]}},"keywords":{}}],["under",{"_index":393,"title":{},"content":{"12":{"position":[[120,5]]},"15":{"position":[[49,5]]},"338":{"position":[[435,5]]},"622":{"position":[[842,5],[881,5]]},"708":{"position":[[874,5]]},"713":{"position":[[37,5]]},"937":{"position":[[3024,5]]},"940":{"position":[[118,5],[295,5]]},"994":{"position":[[212,5]]},"995":{"position":[[195,5],[560,5]]},"1114":{"position":[[614,5]]},"1127":{"position":[[42,5]]},"1345":{"position":[[48,5]]},"1398":{"position":[[3308,5]]},"1412":{"position":[[3848,5],[4048,5]]},"1422":{"position":[[2626,5]]},"1427":{"position":[[7324,5]]},"1429":{"position":[[5618,5]]},"1439":{"position":[[5697,5],[8150,5]]},"1440":{"position":[[5610,5]]},"1446":{"position":[[2738,5]]},"1462":{"position":[[8735,5]]},"1465":{"position":[[4026,5]]},"1467":{"position":[[10218,5]]},"1487":{"position":[[3171,5]]}},"keywords":{}}],["undergo",{"_index":5082,"title":{},"content":{"1026":{"position":[[74,9]]}},"keywords":{}}],["undergo.gorooti",{"_index":7755,"title":{},"content":{"1407":{"position":[[2550,16]]}},"keywords":{}}],["underjava/com/facebook/base/.rul",{"_index":3032,"title":{},"content":{"622":{"position":[[754,34]]}},"keywords":{}}],["underli",{"_index":726,"title":{},"content":{"23":{"position":[[1370,10]]},"62":{"position":[[86,10]]},"99":{"position":[[1143,10]]},"108":{"position":[[73,10]]},"113":{"position":[[173,10]]},"158":{"position":[[78,10]]},"231":{"position":[[1143,10]]},"281":{"position":[[206,10]]},"301":{"position":[[1006,10]]},"368":{"position":[[3346,10]]},"405":{"position":[[1739,10]]},"491":{"position":[[86,10]]},"520":{"position":[[73,10]]},"525":{"position":[[173,10]]},"542":{"position":[[78,10]]},"638":{"position":[[673,10]]},"718":{"position":[[230,10]]},"747":{"position":[[3346,10]]},"784":{"position":[[1739,10]]},"845":{"position":[[93,10]]},"889":{"position":[[1153,10]]},"902":{"position":[[662,10]]},"1016":{"position":[[130,10]]},"1071":{"position":[[1141,10]]},"1217":{"position":[[56,10]]},"1245":{"position":[[132,10]]},"1383":{"position":[[7788,10]]},"1403":{"position":[[6888,10]]}},"keywords":{}}],["underlyingactu",{"_index":4964,"title":{},"content":{"994":{"position":[[280,16]]}},"keywords":{}}],["underlyinganontarget",{"_index":5186,"title":{},"content":{"1044":{"position":[[1410,22]]}},"keywords":{}}],["underpow",{"_index":1148,"title":{},"content":{"92":{"position":[[1906,13]]},"224":{"position":[[1906,13]]},"1040":{"position":[[2008,13]]}},"keywords":{}}],["underrepo",{"_index":4643,"title":{},"content":{"940":{"position":[[213,15]]}},"keywords":{}}],["understand",{"_index":669,"title":{"703":{"position":[[24,13]]}},"content":{"22":{"position":[[1270,10]]},"689":{"position":[[196,13]]},"690":{"position":[[267,10]]},"938":{"position":[[38,10]]},"946":{"position":[[180,11]]},"1050":{"position":[[463,13]]},"1173":{"position":[[95,10]]}},"keywords":{}}],["understood",{"_index":4075,"title":{},"content":{"872":{"position":[[431,10]]}},"keywords":{}}],["unexpect",{"_index":785,"title":{},"content":{"24":{"position":[[101,10]]},"663":{"position":[[543,10]]},"680":{"position":[[1321,10]]},"901":{"position":[[505,10]]}},"keywords":{}}],["unexpectedli",{"_index":5865,"title":{},"content":{"1136":{"position":[[771,13]]}},"keywords":{}}],["unfortu",{"_index":4853,"title":{},"content":{"980":{"position":[[847,13]]}},"keywords":{}}],["unfortun",{"_index":6161,"title":{},"content":{"1233":{"position":[[226,13]]},"1241":{"position":[[174,13]]}},"keywords":{}}],["unfrozen",{"_index":4330,"title":{},"content":{"898":{"position":[[706,8],[1323,8],[1368,9],[1612,8]]}},"keywords":{}}],["unhash",{"_index":2506,"title":{},"content":{"554":{"position":[[305,11]]},"557":{"position":[[361,11]]},"559":{"position":[[466,10]]},"647":{"position":[[223,11]]},"1232":{"position":[[3383,8]]}},"keywords":{}}],["unicod",{"_index":2635,"title":{},"content":{"576":{"position":[[280,7],[333,7],[392,7]]},"590":{"position":[[98,7],[205,7],[318,7]]},"597":{"position":[[178,7]]},"598":{"position":[[170,7]]},"599":{"position":[[169,7]]},"600":{"position":[[165,7]]},"601":{"position":[[176,7]]},"602":{"position":[[153,7]]},"603":{"position":[[165,7]]},"616":{"position":[[700,7]]},"634":{"position":[[122,7]]},"656":{"position":[[117,7],[194,7],[293,7]]}},"keywords":{}}],["unifi",{"_index":3564,"title":{},"content":{"693":{"position":[[5333,7]]},"702":{"position":[[520,7]]},"937":{"position":[[3155,7]]}},"keywords":{}}],["unimpl",{"_index":4722,"title":{},"content":{"946":{"position":[[15,14]]}},"keywords":{}}],["uninstal",{"_index":5983,"title":{},"content":{"1167":{"position":[[1636,9],[1665,9],[1850,13]]},"1360":{"position":[[1520,9]]}},"keywords":{}}],["unintuit",{"_index":8549,"title":{},"content":{"1485":{"position":[[4756,12]]}},"keywords":{}}],["union",{"_index":6264,"title":{},"content":{"1259":{"position":[[2308,5]]},"1284":{"position":[[17,5],[411,5]]},"1290":{"position":[[2308,5]]},"1315":{"position":[[17,5],[411,5]]},"1318":{"position":[[2308,5]]},"1343":{"position":[[17,5],[411,5]]}},"keywords":{}}],["union(left",{"_index":6263,"title":{"1284":{"position":[[0,11]]},"1315":{"position":[[0,11]]},"1343":{"position":[[0,11]]}},"content":{"1259":{"position":[[2249,11]]},"1290":{"position":[[2249,11]]},"1318":{"position":[[2249,11]]}},"keywords":{}}],["uniqu",{"_index":1192,"title":{},"content":{"94":{"position":[[1464,6]]},"226":{"position":[[1464,6]]},"280":{"position":[[231,8]]},"693":{"position":[[5716,6]]},"717":{"position":[[146,8]]},"846":{"position":[[519,6]]},"864":{"position":[[218,6]]},"867":{"position":[[870,6]]},"951":{"position":[[186,6]]},"1112":{"position":[[18,6]]},"1126":{"position":[[390,6],[523,6]]},"1381":{"position":[[2379,6]]},"1393":{"position":[[9442,10]]}},"keywords":{}}],["unique_input_inod",{"_index":1185,"title":{},"content":{"94":{"position":[[1034,20]]},"226":{"position":[[1034,20]]}},"keywords":{}}],["unit",{"_index":810,"title":{},"content":{"26":{"position":[[108,4]]},"27":{"position":[[115,4]]},"29":{"position":[[121,4]]},"30":{"position":[[160,4]]},"31":{"position":[[143,4]]},"178":{"position":[[108,4]]},"179":{"position":[[115,4]]},"185":{"position":[[121,4]]},"186":{"position":[[160,4]]},"187":{"position":[[143,4]]},"693":{"position":[[8435,5]]},"708":{"position":[[732,4]]},"1467":{"position":[[5050,4]]}},"keywords":{}}],["unit_tests/buck",{"_index":8524,"title":{},"content":{"1482":{"position":[[2230,16]]}},"keywords":{}}],["unit_tests:unit_test",{"_index":8535,"title":{},"content":{"1482":{"position":[[3123,23],[3360,23]]}},"keywords":{}}],["unittest",{"_index":7434,"title":{},"content":{"1392":{"position":[[694,8]]}},"keywords":{}}],["univers",{"_index":1475,"title":{"903":{"position":[[7,8]]},"904":{"position":[[22,9]]},"905":{"position":[[18,8]]},"906":{"position":[[21,8]]},"908":{"position":[[21,9]]},"979":{"position":[[0,9]]}},"content":{"239":{"position":[[28,9]]},"309":{"position":[[456,9]]},"328":{"position":[[28,9]]},"334":{"position":[[82,9]]},"335":{"position":[[29,9]]},"340":{"position":[[227,9]]},"341":{"position":[[111,9]]},"342":{"position":[[99,9]]},"469":{"position":[[28,9]]},"475":{"position":[[29,9]]},"693":{"position":[[9425,9],[9604,9],[9621,8],[9685,9],[9718,8],[9762,8]]},"846":{"position":[[1716,8]]},"904":{"position":[[262,8],[450,8],[732,8],[915,8],[1017,8],[1106,8],[1199,8],[1283,8],[1578,9]]},"905":{"position":[[292,8],[441,9],[594,8],[1120,9],[1434,8]]},"906":{"position":[[21,8],[371,8],[686,8],[825,8]]},"908":{"position":[[53,9]]},"1136":{"position":[[6020,9]]},"1138":{"position":[[5582,8],[5680,9],[5760,9],[5859,8],[9682,9]]},"1140":{"position":[[8608,9]]},"1142":{"position":[[4052,9]]},"1144":{"position":[[380,9]]},"1146":{"position":[[3992,9]]},"1148":{"position":[[398,9],[527,8],[578,8],[662,8],[2932,8],[3030,9],[3110,9],[3209,8],[7583,9]]},"1150":{"position":[[615,9]]},"1152":{"position":[[313,9]]},"1154":{"position":[[468,9]]},"1155":{"position":[[4088,9]]},"1156":{"position":[[3666,9]]},"1157":{"position":[[251,9]]},"1158":{"position":[[245,9]]},"1159":{"position":[[245,9]]},"1161":{"position":[[1240,9]]},"1163":{"position":[[626,9]]},"1165":{"position":[[455,9]]},"1167":{"position":[[9612,9]]},"1169":{"position":[[2720,9]]},"1171":{"position":[[961,9]]},"1172":{"position":[[2346,9]]},"1173":{"position":[[1033,9]]},"1174":{"position":[[461,9]]},"1175":{"position":[[457,9]]},"1176":{"position":[[626,9]]},"1177":{"position":[[547,9]]},"1178":{"position":[[864,9]]},"1179":{"position":[[661,9]]},"1180":{"position":[[932,9]]},"1181":{"position":[[1452,9]]},"1182":{"position":[[495,9]]},"1183":{"position":[[450,9]]},"1185":{"position":[[295,9]]},"1186":{"position":[[1156,8],[1254,9],[1334,9],[1433,8],[5256,9]]},"1187":{"position":[[1169,8],[1267,9],[1347,9],[1446,8],[5269,9]]},"1188":{"position":[[5895,8],[5993,9],[6073,9],[6172,8],[9995,9]]},"1190":{"position":[[1626,9]]},"1191":{"position":[[3856,9]]},"1192":{"position":[[4031,9]]},"1193":{"position":[[4083,9]]},"1194":{"position":[[3723,9]]},"1195":{"position":[[3701,9]]},"1196":{"position":[[3511,9]]},"1197":{"position":[[394,8],[492,9],[572,9],[671,8],[4494,9]]},"1198":{"position":[[404,8],[502,9],[582,9],[681,8],[4504,9]]},"1199":{"position":[[432,8],[530,9],[610,9],[709,8],[4532,9]]},"1200":{"position":[[299,8],[397,9],[477,9],[576,8],[4399,9]]},"1201":{"position":[[3659,9]]},"1202":{"position":[[403,9],[4801,9],[9198,9]]},"1203":{"position":[[3893,9]]},"1204":{"position":[[3737,9],[4639,9],[5569,9],[6471,9],[7457,9],[8411,9],[9358,9],[10288,9]]},"1205":{"position":[[5066,9]]},"1206":{"position":[[3765,9]]},"1207":{"position":[[3694,9]]},"1209":{"position":[[5042,9]]},"1211":{"position":[[366,9]]},"1213":{"position":[[137,9]]},"1215":{"position":[[221,9]]},"1217":{"position":[[8353,9]]},"1219":{"position":[[3608,9]]},"1221":{"position":[[340,9]]},"1222":{"position":[[3479,9]]},"1223":{"position":[[3489,9]]},"1224":{"position":[[2922,9]]},"1226":{"position":[[8821,9]]},"1228":{"position":[[10434,9]]},"1235":{"position":[[6302,9]]},"1237":{"position":[[8991,9]]},"1363":{"position":[[2623,10]]},"1370":{"position":[[555,10],[2053,9],[2285,9],[2321,10],[2363,9],[2567,9],[2671,9],[2783,9],[2866,9],[2986,9]]}},"keywords":{}}],["universe_nod",{"_index":4438,"title":{},"content":{"906":{"position":[[1038,13]]}},"keywords":{}}],["universelik",{"_index":4398,"title":{},"content":{"904":{"position":[[28,12]]}},"keywords":{}}],["unix",{"_index":1050,"title":{},"content":{"85":{"position":[[360,4]]},"217":{"position":[[360,4]]},"581":{"position":[[358,4]]},"1360":{"position":[[2855,4]]},"1383":{"position":[[2440,4]]},"1403":{"position":[[2270,4]]}},"keywords":{}}],["unkeyed_vari",{"_index":2057,"title":{},"content":{"389":{"position":[[29,17],[1360,18],[1688,18]]},"768":{"position":[[29,17],[1360,18],[1688,18]]}},"keywords":{}}],["unknowingli",{"_index":6218,"title":{},"content":{"1254":{"position":[[30,11]]}},"keywords":{}}],["unknown",{"_index":4264,"title":{},"content":{"890":{"position":[[7027,7]]},"900":{"position":[[1014,7]]},"983":{"position":[[34,7]]},"984":{"position":[[16,7]]}},"keywords":{}}],["unknowninfo",{"_index":4872,"title":{},"content":{"983":{"position":[[259,14]]},"984":{"position":[[150,13]]}},"keywords":{}}],["unless",{"_index":1158,"title":{},"content":{"92":{"position":[[2478,6]]},"98":{"position":[[1412,6]]},"99":{"position":[[973,6]]},"224":{"position":[[2478,6]]},"230":{"position":[[1412,6]]},"231":{"position":[[973,6]]},"451":{"position":[[227,6]]},"634":{"position":[[194,6]]},"680":{"position":[[287,6]]},"693":{"position":[[4810,7]]},"706":{"position":[[2028,6]]},"830":{"position":[[227,6]]},"935":{"position":[[188,6]]},"1000":{"position":[[441,7]]},"1037":{"position":[[33,6],[188,6]]},"1060":{"position":[[149,6]]},"1064":{"position":[[1889,6]]},"1082":{"position":[[19,6]]},"1138":{"position":[[4549,6]]},"1140":{"position":[[4038,6]]},"1167":{"position":[[5042,6]]},"1188":{"position":[[4091,6]]},"1217":{"position":[[3783,6]]},"1228":{"position":[[601,6],[771,6],[5864,6]]},"1346":{"position":[[491,6]]},"1485":{"position":[[4656,6]]},"1486":{"position":[[2687,6]]}},"keywords":{}}],["unlik",{"_index":410,"title":{},"content":{"12":{"position":[[473,8]]},"704":{"position":[[2518,7]]},"991":{"position":[[2889,7]]},"1026":{"position":[[17,6]]},"1079":{"position":[[202,6]]},"1087":{"position":[[171,6]]},"1439":{"position":[[4925,6]]},"1446":{"position":[[2621,6]]}},"keywords":{}}],["unnecessari",{"_index":4601,"title":{},"content":{"937":{"position":[[2540,11]]},"1112":{"position":[[523,11]]},"1250":{"position":[[243,11]]}},"keywords":{}}],["unnecessarili",{"_index":4257,"title":{"1251":{"position":[[29,13]]}},"content":{"890":{"position":[[6439,14]]},"1251":{"position":[[159,14]]},"1253":{"position":[[84,13]]}},"keywords":{}}],["unode_b",{"_index":2406,"title":{},"content":{"449":{"position":[[213,9]]},"828":{"position":[[213,9]]}},"keywords":{}}],["unpack",{"_index":4206,"title":{},"content":{"890":{"position":[[729,6]]}},"keywords":{}}],["unpack_i32",{"_index":4186,"title":{},"content":{"889":{"position":[[577,10]]}},"keywords":{}}],["unpair",{"_index":2807,"title":{},"content":{"595":{"position":[[329,8]]}},"keywords":{}}],["unrel",{"_index":738,"title":{},"content":{"23":{"position":[[1994,9]]},"1000":{"position":[[273,9]]}},"keywords":{}}],["unresolv",{"_index":3709,"title":{},"content":{"711":{"position":[[294,10],[455,10],[609,10]]},"1235":{"position":[[218,10]]}},"keywords":{}}],["unsaf",{"_index":4193,"title":{},"content":{"889":{"position":[[1084,8]]},"890":{"position":[[6675,6]]},"1461":{"position":[[2767,7]]}},"keywords":{}}],["unset",{"_index":1204,"title":{},"content":{"94":{"position":[[2075,5]]},"226":{"position":[[2075,5]]},"990":{"position":[[1094,6]]},"1385":{"position":[[3085,6]]},"1387":{"position":[[5352,6]]},"1444":{"position":[[1712,6]]},"1462":{"position":[[5576,6]]},"1465":{"position":[[2506,6]]},"1467":{"position":[[6071,6]]},"1471":{"position":[[3386,5]]},"1472":{"position":[[3970,5]]},"1473":{"position":[[3420,5]]}},"keywords":{}}],["unspecifi",{"_index":5168,"title":{},"content":{"1042":{"position":[[405,12]]}},"keywords":{}}],["unstabl",{"_index":5489,"title":{},"content":{"1070":{"position":[[515,8],[677,8]]},"1136":{"position":[[5850,8]]},"1138":{"position":[[2771,8],[9512,8]]},"1140":{"position":[[2260,8],[8438,8]]},"1142":{"position":[[3882,8]]},"1146":{"position":[[3822,8]]},"1148":{"position":[[6862,8]]},"1152":{"position":[[216,8]]},"1155":{"position":[[3918,8]]},"1156":{"position":[[3496,8]]},"1163":{"position":[[456,8]]},"1165":{"position":[[285,8]]},"1167":{"position":[[3264,8],[9442,8]]},"1169":{"position":[[2550,8]]},"1186":{"position":[[5086,8]]},"1187":{"position":[[5099,8]]},"1188":{"position":[[2313,8],[9825,8]]},"1191":{"position":[[3686,8]]},"1192":{"position":[[3861,8]]},"1193":{"position":[[3913,8]]},"1194":{"position":[[3553,8]]},"1195":{"position":[[3531,8]]},"1196":{"position":[[3341,8]]},"1197":{"position":[[4324,8]]},"1198":{"position":[[4334,8]]},"1199":{"position":[[4362,8]]},"1200":{"position":[[4229,8]]},"1201":{"position":[[3489,8]]},"1202":{"position":[[4631,8],[9028,8]]},"1203":{"position":[[3723,8]]},"1204":{"position":[[3567,8]]},"1205":{"position":[[4896,8]]},"1206":{"position":[[3367,8]]},"1207":{"position":[[3524,8]]},"1209":{"position":[[4872,8]]},"1217":{"position":[[2005,8],[8183,8]]},"1219":{"position":[[849,8],[920,8],[3438,8]]},"1222":{"position":[[3293,8]]},"1223":{"position":[[3303,8]]},"1224":{"position":[[2752,8]]},"1226":{"position":[[8651,8]]},"1228":{"position":[[983,8],[1140,8],[4086,8],[10264,8]]},"1235":{"position":[[6132,8]]},"1237":{"position":[[8821,8]]},"1403":{"position":[[6290,9]]}},"keywords":{}}],["unsur",{"_index":5986,"title":{},"content":{"1172":{"position":[[716,7]]}},"keywords":{}}],["until",{"_index":1036,"title":{},"content":{"84":{"position":[[353,5]]},"216":{"position":[[353,5]]},"590":{"position":[[439,5]]},"662":{"position":[[707,5]]},"724":{"position":[[1802,5]]},"950":{"position":[[108,5]]},"951":{"position":[[1235,5]]},"1026":{"position":[[550,5]]},"1037":{"position":[[123,5],[363,5]]},"1049":{"position":[[340,5]]},"1058":{"position":[[1202,5],[1344,5]]},"1079":{"position":[[1156,5]]},"1136":{"position":[[4084,5]]},"1138":{"position":[[7746,5]]},"1140":{"position":[[6672,5]]},"1142":{"position":[[2116,5]]},"1146":{"position":[[2056,5]]},"1148":{"position":[[5096,5]]},"1155":{"position":[[2152,5]]},"1156":{"position":[[1730,5]]},"1167":{"position":[[7676,5]]},"1169":{"position":[[1515,5]]},"1186":{"position":[[3320,5]]},"1187":{"position":[[3333,5]]},"1188":{"position":[[8059,5]]},"1191":{"position":[[1920,5]]},"1192":{"position":[[2095,5]]},"1193":{"position":[[2147,5]]},"1194":{"position":[[1787,5]]},"1195":{"position":[[1765,5]]},"1196":{"position":[[1575,5]]},"1197":{"position":[[2558,5]]},"1198":{"position":[[2568,5]]},"1199":{"position":[[2596,5]]},"1200":{"position":[[2463,5]]},"1201":{"position":[[1723,5]]},"1202":{"position":[[2865,5],[7262,5]]},"1203":{"position":[[1957,5]]},"1204":{"position":[[1801,5]]},"1205":{"position":[[3130,5]]},"1206":{"position":[[1601,5]]},"1207":{"position":[[1758,5]]},"1209":{"position":[[3106,5]]},"1217":{"position":[[6417,5]]},"1219":{"position":[[2403,5]]},"1222":{"position":[[1527,5]]},"1223":{"position":[[1537,5]]},"1224":{"position":[[1717,5]]},"1226":{"position":[[6885,5]]},"1228":{"position":[[8498,5]]},"1235":{"position":[[4366,5]]},"1237":{"position":[[7055,5]]},"1247":{"position":[[460,5]]},"1429":{"position":[[3719,5]]},"1439":{"position":[[6318,5]]},"1440":{"position":[[3712,5]]}},"keywords":{}}],["untrack",{"_index":2172,"title":{},"content":{"406":{"position":[[838,9]]},"785":{"position":[[838,9]]},"1079":{"position":[[124,9]]},"1142":{"position":[[420,9]]}},"keywords":{}}],["unus",{"_index":4286,"title":{},"content":{"892":{"position":[[2114,6]]},"1029":{"position":[[134,6],[349,6],[428,6]]},"1035":{"position":[[229,6],[375,7]]},"1388":{"position":[[6466,7]]},"1427":{"position":[[4206,6]]}},"keywords":{}}],["unwant",{"_index":4483,"title":{},"content":{"919":{"position":[[531,8]]}},"keywords":{}}],["unzip",{"_index":8378,"title":{},"content":{"1469":{"position":[[2114,8]]}},"keywords":{}}],["up",{"_index":91,"title":{"703":{"position":[[19,2]]},"1093":{"position":[[8,2]]},"1177":{"position":[[14,3]]}},"content":{"5":{"position":[[243,2]]},"18":{"position":[[253,2],[1005,2]]},"24":{"position":[[422,2]]},"340":{"position":[[183,2]]},"407":{"position":[[52,2]]},"636":{"position":[[180,2]]},"638":{"position":[[801,2]]},"693":{"position":[[4157,2],[6846,2]]},"703":{"position":[[67,3]]},"704":{"position":[[706,2]]},"705":{"position":[[743,2]]},"724":{"position":[[1521,2]]},"786":{"position":[[52,2]]},"833":{"position":[[453,2]]},"834":{"position":[[675,2]]},"840":{"position":[[905,2]]},"861":{"position":[[252,2]]},"865":{"position":[[583,2],[602,2]]},"877":{"position":[[673,2]]},"890":{"position":[[2415,2]]},"892":{"position":[[1401,2]]},"902":{"position":[[789,2]]},"904":{"position":[[80,2],[1315,2]]},"937":{"position":[[782,2]]},"943":{"position":[[1219,2],[1506,2],[2571,2]]},"955":{"position":[[357,2]]},"965":{"position":[[532,2]]},"987":{"position":[[761,2]]},"988":{"position":[[134,2],[418,2]]},"990":{"position":[[1287,2]]},"991":{"position":[[3284,2]]},"1011":{"position":[[546,2]]},"1014":{"position":[[324,2]]},"1017":{"position":[[755,2]]},"1021":{"position":[[624,2]]},"1024":{"position":[[819,2]]},"1048":{"position":[[99,2]]},"1052":{"position":[[52,2]]},"1079":{"position":[[761,2]]},"1084":{"position":[[701,2]]},"1086":{"position":[[126,2]]},"1102":{"position":[[1086,2]]},"1103":{"position":[[1605,2]]},"1104":{"position":[[1356,2]]},"1120":{"position":[[307,2]]},"1161":{"position":[[425,2]]},"1171":{"position":[[406,2]]},"1177":{"position":[[79,2]]},"1243":{"position":[[625,2]]},"1255":{"position":[[423,2]]},"1346":{"position":[[147,2]]},"1360":{"position":[[5803,2]]},"1446":{"position":[[2002,2]]},"1459":{"position":[[1975,2]]},"1462":{"position":[[8436,3]]},"1467":{"position":[[9918,3]]},"1471":{"position":[[4264,2]]},"1472":{"position":[[4848,2]]},"1473":{"position":[[4585,2]]},"1482":{"position":[[1670,2],[1769,2]]}},"keywords":{}}],["up"",{"_index":3607,"title":{},"content":{"695":{"position":[[518,8]]}},"keywords":{}}],["updat",{"_index":94,"title":{},"content":{"5":{"position":[[275,8]]},"560":{"position":[[65,6],[703,6]]},"890":{"position":[[1755,8]]},"906":{"position":[[871,8]]},"954":{"position":[[650,6]]},"955":{"position":[[1487,7]]},"956":{"position":[[269,8],[312,9],[355,8],[431,8]]},"1004":{"position":[[1478,7]]},"1050":{"position":[[517,8],[2195,7],[4651,6]]},"1150":{"position":[[402,7]]},"1478":{"position":[[3503,7]]}},"keywords":{}}],["upgrad",{"_index":72,"title":{},"content":{"4":{"position":[[584,8]]}},"keywords":{}}],["upload",{"_index":1916,"title":{"1179":{"position":[[14,9]]}},"content":{"362":{"position":[[2491,6],[2571,6]]},"693":{"position":[[4631,8]]},"706":{"position":[[2396,6]]},"724":{"position":[[930,6]]},"741":{"position":[[2491,6],[2571,6]]},"897":{"position":[[253,6]]},"1067":{"position":[[590,6]]},"1120":{"position":[[731,8]]},"1138":{"position":[[3613,6],[3632,7],[4002,6]]},"1140":{"position":[[3102,6],[3121,7],[3491,6]]},"1167":{"position":[[4106,6],[4125,7],[4495,6]]},"1171":{"position":[[531,8],[560,7]]},"1179":{"position":[[20,7],[93,8]]},"1188":{"position":[[3155,6],[3174,7],[3544,6]]},"1217":{"position":[[2847,6],[2866,7],[3236,6]]},"1228":{"position":[[4928,6],[4947,7],[5317,6]]},"1362":{"position":[[6236,9],[6276,8]]},"1364":{"position":[[6265,9],[6305,8]]},"1367":{"position":[[7663,9],[7703,8]]},"1373":{"position":[[3792,9],[3832,8]]},"1382":{"position":[[4148,9],[4188,8]]},"1384":{"position":[[5310,9],[5350,8]]},"1388":{"position":[[4448,9],[4488,8]]},"1389":{"position":[[5312,9],[5420,7],[5559,9],[5667,7]]},"1454":{"position":[[4257,9],[4297,8]]},"1462":{"position":[[5270,9],[5310,8]]},"1471":{"position":[[2816,9],[2856,8]]}},"keywords":{}}],["uploadsexperimental_low_pass_filt",{"_index":1918,"title":{},"content":{"362":{"position":[[2587,36]]},"741":{"position":[[2587,36]]}},"keywords":{}}],["upon",{"_index":3195,"title":{},"content":{"647":{"position":[[191,4]]},"1104":{"position":[[2132,6]]}},"keywords":{}}],["upper",{"_index":5227,"title":{},"content":{"1047":{"position":[[157,5]]}},"keywords":{}}],["uppercas",{"_index":2741,"title":{},"content":{"589":{"position":[[133,10]]},"603":{"position":[[85,10],[206,10]]},"620":{"position":[[179,9]]},"621":{"position":[[68,10],[146,10]]}},"keywords":{}}],["upperinfo",{"_index":5222,"title":{},"content":{"1047":{"position":[[27,9]]}},"keywords":{}}],["upperinfo(messag",{"_index":5225,"title":{},"content":{"1047":{"position":[[109,18]]}},"keywords":{}}],["upward",{"_index":2303,"title":{},"content":{"427":{"position":[[626,7]]},"806":{"position":[[626,7]]}},"keywords":{}}],["uqueri",{"_index":360,"title":{"1157":{"position":[[10,7]]},"1234":{"position":[[0,6]]},"1235":{"position":[[5,7]]},"1316":{"position":[[0,6]]}},"content":{"11":{"position":[[207,6]]},"312":{"position":[[87,6]]},"690":{"position":[[336,6],[514,6],[622,6],[688,6],[2995,6],[3034,6]]},"693":{"position":[[9101,7],[10225,7]]},"832":{"position":[[238,7],[351,7],[456,8]]},"846":{"position":[[86,8],[445,7],[918,7],[1241,7],[1790,6]]},"874":{"position":[[163,6]]},"919":{"position":[[1877,6],[2532,6],[2667,6]]},"920":{"position":[[108,6]]},"965":{"position":[[99,7],[213,7]]},"1154":{"position":[[228,6]]},"1157":{"position":[[63,6]]},"1209":{"position":[[10,8]]},"1235":{"position":[[534,7],[646,6],[720,6],[869,6],[1299,6]]},"1248":{"position":[[160,6]]}},"keywords":{}}],["uquery,configured_target",{"_index":4096,"title":{},"content":{"878":{"position":[[119,25]]}},"keywords":{}}],["uquerycontext",{"_index":2119,"title":{},"content":{"402":{"position":[[440,13]]},"781":{"position":[[440,13]]}},"keywords":{}}],["uqueryctx",{"_index":1733,"title":{},"content":{"312":{"position":[[62,9]]}},"keywords":{}}],["uri",{"_index":5979,"title":{},"content":{"1167":{"position":[[1300,3],[1338,3]]},"1423":{"position":[[3799,3]]},"1469":{"position":[[3169,3],[3504,3]]}},"keywords":{}}],["url",{"_index":1105,"title":{},"content":{"91":{"position":[[69,4],[256,3],[330,3],[568,3],[658,3]]},"223":{"position":[[69,4],[256,3],[330,3],[568,3],[658,3]]},"1346":{"position":[[708,4]]},"1358":{"position":[[2134,3]]},"1404":{"position":[[1420,3]]},"1422":{"position":[[661,5],[3495,5],[3511,4],[3655,3],[3779,4],[3955,3],[4032,4]]},"1423":{"position":[[562,5],[2282,4],[2426,3],[2549,4],[2722,3],[2789,4],[3011,4],[3588,3],[3869,4]]},"1439":{"position":[[6527,3]]},"1458":{"position":[[2250,3]]},"1461":{"position":[[3424,3]]},"1469":{"position":[[579,4],[2149,4],[2195,4],[2221,4],[2361,3],[2513,4],[2573,3],[2754,3],[2994,3],[3306,3],[3632,3]]}},"keywords":{}}],["us",{"_index":9,"title":{"7":{"position":[[18,5]]},"24":{"position":[[4,3]]},"573":{"position":[[21,4]]},"850":{"position":[[15,5]]},"870":{"position":[[14,3]]},"871":{"position":[[8,3]]},"895":{"position":[[0,5]]},"916":{"position":[[21,3]]},"934":{"position":[[0,3]]},"953":{"position":[[0,3]]},"972":{"position":[[0,3]]},"989":{"position":[[0,5]]},"1029":{"position":[[0,3]]},"1030":{"position":[[0,5]]},"1082":{"position":[[13,5]]},"1083":{"position":[[13,5]]}},"content":{"2":{"position":[[42,5],[81,5]]},"4":{"position":[[375,5],[447,3]]},"9":{"position":[[356,3],[391,5],[818,3],[2263,4],[2458,3],[2903,5]]},"10":{"position":[[581,3]]},"11":{"position":[[195,3],[265,3]]},"13":{"position":[[183,5]]},"16":{"position":[[18,3]]},"17":{"position":[[487,3],[566,3],[801,4]]},"18":{"position":[[2062,5]]},"19":{"position":[[45,3]]},"20":{"position":[[331,3],[488,3],[550,5]]},"22":{"position":[[755,3],[1980,5],[2084,4]]},"23":{"position":[[254,5],[1162,5],[1328,4],[1678,4],[2124,6]]},"24":{"position":[[198,4],[351,4],[477,4]]},"49":{"position":[[167,4]]},"69":{"position":[[178,4],[325,3]]},"79":{"position":[[142,3],[278,3],[316,3]]},"83":{"position":[[73,4]]},"85":{"position":[[317,3]]},"89":{"position":[[616,3],[736,3]]},"92":{"position":[[335,3],[1002,5],[1329,5],[1509,3],[2049,3],[2295,3]]},"94":{"position":[[1392,4],[1497,4],[1874,7],[2043,4],[2639,6],[3298,3],[4420,4]]},"98":{"position":[[912,4],[1083,3],[1107,3],[1300,6]]},"99":{"position":[[1199,4],[1491,3],[1515,3]]},"107":{"position":[[93,4]]},"112":{"position":[[88,4]]},"121":{"position":[[46,3],[236,6],[342,6]]},"126":{"position":[[550,5]]},"130":{"position":[[114,4],[161,4]]},"134":{"position":[[261,3]]},"140":{"position":[[231,4]]},"148":{"position":[[312,4]]},"196":{"position":[[167,4]]},"215":{"position":[[73,4]]},"217":{"position":[[317,3]]},"221":{"position":[[616,3],[736,3]]},"224":{"position":[[335,3],[1002,5],[1329,5],[1509,3],[2049,3],[2295,3]]},"226":{"position":[[1392,4],[1497,4],[1874,7],[2043,4],[2639,6],[3298,3],[4420,4]]},"230":{"position":[[912,4],[1083,3],[1107,3],[1300,6]]},"231":{"position":[[1199,4],[1491,3],[1515,3]]},"233":{"position":[[327,6]]},"243":{"position":[[531,3]]},"249":{"position":[[550,5]]},"253":{"position":[[114,4],[161,4]]},"257":{"position":[[261,3]]},"263":{"position":[[231,4]]},"271":{"position":[[312,4]]},"276":{"position":[[295,5],[522,4]]},"277":{"position":[[246,5],[470,4]]},"281":{"position":[[362,5],[611,4]]},"282":{"position":[[310,5],[561,4]]},"285":{"position":[[95,4]]},"286":{"position":[[291,6]]},"294":{"position":[[590,4]]},"295":{"position":[[259,4]]},"297":{"position":[[568,4]]},"298":{"position":[[2047,5],[2369,3],[2595,3]]},"300":{"position":[[80,5]]},"301":{"position":[[504,4]]},"302":{"position":[[259,4]]},"304":{"position":[[261,4]]},"309":{"position":[[911,4]]},"314":{"position":[[137,3]]},"320":{"position":[[421,4]]},"341":{"position":[[82,4]]},"345":{"position":[[800,3]]},"362":{"position":[[1064,3],[1172,3],[1222,3],[1489,4],[1587,4],[1954,3],[1966,3],[2027,3],[2307,3],[2395,3],[2635,3],[2786,3]]},"363":{"position":[[201,4]]},"366":{"position":[[122,4]]},"367":{"position":[[152,4]]},"368":{"position":[[650,4],[2508,4]]},"372":{"position":[[327,4]]},"374":{"position":[[329,5],[1224,3],[1434,3],[1593,3],[2048,4]]},"377":{"position":[[763,5],[1367,5]]},"389":{"position":[[126,4],[592,4],[1428,4],[1588,4]]},"399":{"position":[[114,5]]},"400":{"position":[[523,4]]},"405":{"position":[[1116,4],[1982,5],[2208,3]]},"406":{"position":[[191,7],[703,3]]},"407":{"position":[[160,4]]},"408":{"position":[[69,4],[133,3],[180,4],[431,3],[469,4],[708,4],[864,3]]},"410":{"position":[[49,4],[133,3]]},"416":{"position":[[634,4]]},"417":{"position":[[864,4]]},"418":{"position":[[157,5]]},"419":{"position":[[62,4]]},"421":{"position":[[61,4],[284,3],[417,4]]},"427":{"position":[[212,4]]},"429":{"position":[[578,3],[653,7]]},"438":{"position":[[211,3]]},"440":{"position":[[114,3]]},"442":{"position":[[77,5]]},"446":{"position":[[382,4],[438,5]]},"450":{"position":[[214,3]]},"457":{"position":[[178,4],[325,3]]},"508":{"position":[[142,3],[278,3],[316,3]]},"519":{"position":[[93,4]]},"524":{"position":[[88,4]]},"530":{"position":[[46,3],[236,6],[342,6]]},"560":{"position":[[620,4]]},"566":{"position":[[521,5]]},"570":{"position":[[400,3]]},"572":{"position":[[83,4]]},"573":{"position":[[21,4]]},"574":{"position":[[73,4]]},"575":{"position":[[22,3],[476,4]]},"576":{"position":[[80,3]]},"577":{"position":[[194,5]]},"578":{"position":[[63,5],[177,3]]},"579":{"position":[[42,3]]},"581":{"position":[[829,4]]},"582":{"position":[[131,5],[247,5],[344,5],[446,4]]},"583":{"position":[[127,5],[386,5]]},"584":{"position":[[306,3],[630,5],[654,3],[1146,3]]},"586":{"position":[[144,4]]},"587":{"position":[[109,3],[620,5]]},"595":{"position":[[475,3],[1209,5],[1403,4]]},"606":{"position":[[220,3]]},"615":{"position":[[221,3]]},"616":{"position":[[522,4]]},"622":{"position":[[139,4],[1156,3]]},"632":{"position":[[293,6]]},"640":{"position":[[81,4]]},"642":{"position":[[68,4]]},"648":{"position":[[566,4]]},"657":{"position":[[126,3]]},"663":{"position":[[927,5]]},"675":{"position":[[215,4],[762,5]]},"676":{"position":[[64,5],[352,4]]},"678":{"position":[[307,3]]},"679":{"position":[[226,3],[497,4]]},"680":{"position":[[490,5],[934,3],[1108,3],[1165,3],[1254,5]]},"681":{"position":[[17,3]]},"685":{"position":[[271,5]]},"688":{"position":[[72,5],[282,5],[1148,3]]},"689":{"position":[[97,4]]},"692":{"position":[[173,5]]},"693":{"position":[[611,4],[1032,4],[1376,3],[1595,4],[2580,4],[3997,4],[5467,3],[5966,5],[6023,4],[7317,4],[7642,4],[7703,4],[7911,3],[8103,4],[9041,4],[9126,4],[9771,5],[10048,5],[10064,5]]},"695":{"position":[[88,6],[251,6]]},"699":{"position":[[32,4]]},"700":{"position":[[63,5],[175,3]]},"704":{"position":[[665,4]]},"708":{"position":[[250,4],[1058,6]]},"710":{"position":[[157,3]]},"711":{"position":[[722,3]]},"712":{"position":[[726,4]]},"715":{"position":[[123,4],[450,4],[681,4],[1078,4],[1104,5]]},"722":{"position":[[486,3]]},"724":{"position":[[690,4],[1462,3]]},"741":{"position":[[1064,3],[1172,3],[1222,3],[1489,4],[1587,4],[1954,3],[1966,3],[2027,3],[2307,3],[2395,3],[2635,3],[2786,3]]},"742":{"position":[[201,4]]},"745":{"position":[[122,4]]},"746":{"position":[[152,4]]},"747":{"position":[[650,4],[2508,4]]},"751":{"position":[[327,4]]},"753":{"position":[[329,5],[1224,3],[1434,3],[1593,3],[2048,4]]},"756":{"position":[[763,5],[1367,5]]},"768":{"position":[[126,4],[592,4],[1428,4],[1588,4]]},"778":{"position":[[114,5]]},"779":{"position":[[523,4]]},"784":{"position":[[1116,4],[1982,5],[2208,3]]},"785":{"position":[[191,7],[703,3]]},"786":{"position":[[160,4]]},"787":{"position":[[69,4],[133,3],[180,4],[431,3],[469,4],[708,4],[864,3]]},"789":{"position":[[49,4],[133,3]]},"795":{"position":[[634,4]]},"796":{"position":[[864,4]]},"797":{"position":[[157,5]]},"798":{"position":[[62,4]]},"800":{"position":[[61,4],[284,3],[417,4]]},"806":{"position":[[212,4]]},"808":{"position":[[578,3],[653,7]]},"817":{"position":[[211,3]]},"819":{"position":[[114,3]]},"821":{"position":[[77,5]]},"825":{"position":[[382,4],[438,5]]},"829":{"position":[[214,3]]},"832":{"position":[[251,4],[951,3]]},"833":{"position":[[392,4]]},"840":{"position":[[1247,5]]},"845":{"position":[[330,5]]},"846":{"position":[[705,3],[1181,3],[1704,3],[1815,4]]},"847":{"position":[[185,3],[305,3]]},"850":{"position":[[91,3],[713,3]]},"851":{"position":[[93,4],[1698,3],[1921,3]]},"854":{"position":[[56,5]]},"855":{"position":[[44,4],[225,3]]},"856":{"position":[[15,3],[370,3],[411,3]]},"857":{"position":[[8,3]]},"858":{"position":[[141,3]]},"859":{"position":[[8,3]]},"860":{"position":[[8,3],[158,3]]},"861":{"position":[[139,3],[211,3],[607,3],[991,3]]},"864":{"position":[[1431,3]]},"865":{"position":[[529,5],[659,4]]},"866":{"position":[[27,4]]},"867":{"position":[[86,6],[123,5]]},"870":{"position":[[132,3],[248,3]]},"872":{"position":[[811,4]]},"873":{"position":[[92,4],[163,4]]},"878":{"position":[[668,4],[1248,5]]},"879":{"position":[[168,3]]},"889":{"position":[[487,3],[618,5],[814,3],[1095,5]]},"890":{"position":[[147,7],[204,5],[1975,4],[2857,3],[5453,3],[7010,4]]},"892":{"position":[[427,4],[591,5]]},"894":{"position":[[237,4]]},"895":{"position":[[0,3]]},"896":{"position":[[1078,4]]},"898":{"position":[[151,7],[218,4],[667,3]]},"901":{"position":[[882,5]]},"904":{"position":[[874,3]]},"905":{"position":[[358,6],[495,5],[1073,5],[1245,3]]},"906":{"position":[[409,5]]},"916":{"position":[[34,3],[98,4],[178,3],[307,4]]},"917":{"position":[[328,6]]},"919":{"position":[[242,4],[493,4],[591,5],[696,5],[757,4],[837,5],[1107,4]]},"920":{"position":[[154,4]]},"921":{"position":[[624,4]]},"929":{"position":[[348,5]]},"933":{"position":[[45,5],[103,5]]},"935":{"position":[[205,4]]},"937":{"position":[[201,3],[1266,4],[1988,5],[2095,3],[2327,3],[2521,5],[3682,3],[4005,4],[4534,3],[4706,5]]},"938":{"position":[[199,4]]},"939":{"position":[[1377,4],[1437,4]]},"940":{"position":[[46,5]]},"941":{"position":[[297,3]]},"942":{"position":[[331,4],[825,3]]},"944":{"position":[[1059,5],[1984,4]]},"945":{"position":[[159,3]]},"946":{"position":[[636,3]]},"947":{"position":[[649,3],[674,3],[985,3],[1117,4]]},"950":{"position":[[451,3],[682,3]]},"951":{"position":[[403,3],[552,5]]},"954":{"position":[[211,4],[367,5],[405,5]]},"955":{"position":[[1101,5],[1337,5]]},"956":{"position":[[419,3]]},"959":{"position":[[15,3],[368,3]]},"961":{"position":[[777,4]]},"965":{"position":[[112,4],[547,3]]},"972":{"position":[[100,3]]},"973":{"position":[[321,3],[461,4]]},"975":{"position":[[120,3],[206,3],[311,4]]},"976":{"position":[[25,3],[101,3]]},"977":{"position":[[286,6]]},"980":{"position":[[197,4],[554,5],[895,4],[1024,6]]},"981":{"position":[[322,4],[351,3],[522,6]]},"987":{"position":[[940,3]]},"988":{"position":[[374,4],[794,3]]},"989":{"position":[[0,5]]},"990":{"position":[[919,3]]},"991":{"position":[[3157,3],[3217,3]]},"993":{"position":[[201,3]]},"995":{"position":[[555,4],[708,6],[784,6]]},"997":{"position":[[156,5]]},"1004":{"position":[[43,5],[219,4],[676,5]]},"1009":{"position":[[12,6]]},"1012":{"position":[[206,3],[413,4]]},"1014":{"position":[[411,3],[468,3],[483,3]]},"1017":{"position":[[829,5],[1011,8]]},"1021":{"position":[[708,4]]},"1022":{"position":[[39,4]]},"1025":{"position":[[86,3]]},"1026":{"position":[[811,3]]},"1029":{"position":[[14,4],[169,6],[247,4],[301,4],[385,4]]},"1030":{"position":[[3,3],[265,4],[318,3]]},"1031":{"position":[[341,5],[448,3],[715,3],[840,4]]},"1032":{"position":[[116,5],[176,3],[291,3]]},"1033":{"position":[[275,4]]},"1035":{"position":[[513,3]]},"1036":{"position":[[158,5],[202,5]]},"1037":{"position":[[204,5]]},"1038":{"position":[[44,5]]},"1040":{"position":[[535,4],[1102,5],[1281,3],[1427,5],[2049,5],[2725,4]]},"1042":{"position":[[29,5]]},"1043":{"position":[[21,4]]},"1044":{"position":[[585,5],[2375,4],[2604,4],[2753,3]]},"1047":{"position":[[241,3]]},"1049":{"position":[[190,3]]},"1050":{"position":[[1505,3],[3640,4]]},"1052":{"position":[[1515,5]]},"1053":{"position":[[463,4],[792,4],[1063,4]]},"1058":{"position":[[1096,4]]},"1061":{"position":[[172,3],[197,3]]},"1069":{"position":[[569,3],[718,4]]},"1070":{"position":[[873,4]]},"1071":{"position":[[1088,3]]},"1072":{"position":[[26,5],[136,4]]},"1073":{"position":[[127,3]]},"1075":{"position":[[369,5],[527,4]]},"1078":{"position":[[232,5]]},"1081":{"position":[[66,3]]},"1082":{"position":[[12,6],[34,3],[57,3],[90,3],[450,3],[1119,4],[1211,3]]},"1083":{"position":[[60,4],[956,4],[1134,3]]},"1087":{"position":[[191,5],[248,3]]},"1088":{"position":[[25,4],[302,5]]},"1093":{"position":[[388,4]]},"1095":{"position":[[31,4],[157,6]]},"1098":{"position":[[375,5]]},"1103":{"position":[[20,4],[1440,4]]},"1104":{"position":[[548,4],[593,4]]},"1105":{"position":[[34,3],[967,4],[1212,4],[1438,5],[1497,6],[1559,4],[1949,4],[2101,3],[2331,4],[2541,5]]},"1107":{"position":[[27,3],[147,3],[265,3]]},"1108":{"position":[[195,4]]},"1112":{"position":[[564,4],[2943,4]]},"1113":{"position":[[387,3],[596,6],[708,5]]},"1118":{"position":[[17,4]]},"1120":{"position":[[279,3],[416,3]]},"1127":{"position":[[27,5],[179,6],[556,6]]},"1130":{"position":[[0,3]]},"1132":{"position":[[53,4],[90,3]]},"1133":{"position":[[0,3],[803,3]]},"1136":{"position":[[1085,5],[1240,5],[1473,4],[1592,5],[1786,5],[1845,3],[2536,3],[3128,4],[3334,5],[3527,4],[3634,4],[4365,3],[4687,4],[5039,3]]},"1138":{"position":[[2252,3],[3006,5],[3108,4],[3340,4],[3416,3],[3737,6],[5837,4],[6018,3],[6198,3],[6790,4],[6996,5],[7189,4],[7296,4],[8027,3],[8349,4],[8701,3]]},"1140":{"position":[[1741,3],[2495,5],[2597,4],[2829,4],[2905,3],[3226,6],[5124,3],[5716,4],[5922,5],[6115,4],[6222,4],[6953,3],[7275,4],[7627,3]]},"1142":{"position":[[679,4],[1160,4],[1366,5],[1559,4],[1666,4],[2397,3],[2719,4],[3071,3]]},"1146":{"position":[[508,3],[1100,4],[1306,5],[1499,4],[1606,4],[2337,3],[2659,4],[3011,3]]},"1148":{"position":[[1441,5],[1596,5],[1829,4],[1948,5],[2142,5],[2201,3],[3187,4],[3368,3],[3548,3],[4140,4],[4346,5],[4539,4],[4646,4],[5377,3],[5699,4],[6051,3]]},"1152":{"position":[[37,4],[168,4],[245,4]]},"1155":{"position":[[1196,4],[1402,5],[1595,4],[1702,4],[2433,3],[2755,4],[3107,3]]},"1156":{"position":[[774,4],[980,5],[1173,4],[1280,4],[2011,3],[2333,4],[2685,3]]},"1161":{"position":[[578,3]]},"1167":{"position":[[464,3],[483,3],[610,3],[629,3],[774,3],[943,3],[1646,3],[1811,3],[2745,3],[3499,5],[3601,4],[3833,4],[3909,3],[4230,6],[6128,3],[6720,4],[6926,5],[7119,4],[7226,4],[7957,3],[8279,4],[8631,3]]},"1169":{"position":[[559,4],[765,5],[958,4],[1065,4],[1796,3],[2118,4]]},"1172":{"position":[[489,3],[724,3],[1232,3]]},"1173":{"position":[[532,3]]},"1176":{"position":[[119,3]]},"1178":{"position":[[734,3]]},"1179":{"position":[[472,3]]},"1180":{"position":[[802,3]]},"1181":{"position":[[560,5],[649,6],[790,3]]},"1186":{"position":[[1411,4],[1592,3],[1772,3],[2364,4],[2570,5],[2763,4],[2870,4],[3601,3],[3923,4],[4275,3]]},"1187":{"position":[[1424,4],[1605,3],[1785,3],[2377,4],[2583,5],[2776,4],[2883,4],[3614,3],[3936,4],[4288,3]]},"1188":{"position":[[1794,3],[2548,5],[2650,4],[2882,4],[2958,3],[3279,6],[6150,4],[6331,3],[6511,3],[7103,4],[7309,5],[7502,4],[7609,4],[8340,3],[8662,4],[9014,3]]},"1190":{"position":[[1419,6]]},"1191":{"position":[[483,4],[964,4],[1170,5],[1363,4],[1470,4],[2201,3],[2523,4],[2875,3]]},"1192":{"position":[[547,3],[1139,4],[1345,5],[1538,4],[1645,4],[2376,3],[2698,4],[3050,3]]},"1193":{"position":[[710,4],[1191,4],[1397,5],[1590,4],[1697,4],[2428,3],[2750,4],[3102,3]]},"1194":{"position":[[350,4],[831,4],[1037,5],[1230,4],[1337,4],[2068,3],[2390,4],[2742,3]]},"1195":{"position":[[328,4],[809,4],[1015,5],[1208,4],[1315,4],[2046,3],[2368,4],[2720,3]]},"1196":{"position":[[138,4],[619,4],[825,5],[1018,4],[1125,4],[1856,3],[2178,4],[2530,3]]},"1197":{"position":[[269,5],[649,4],[830,3],[1010,3],[1602,4],[1808,5],[2001,4],[2108,4],[2839,3],[3161,4],[3513,3]]},"1198":{"position":[[659,4],[840,3],[1020,3],[1612,4],[1818,5],[2011,4],[2118,4],[2849,3],[3171,4],[3523,3]]},"1199":{"position":[[687,4],[868,3],[1048,3],[1640,4],[1846,5],[2039,4],[2146,4],[2877,3],[3199,4],[3551,3]]},"1200":{"position":[[554,4],[735,3],[915,3],[1507,4],[1713,5],[1906,4],[2013,4],[2744,3],[3066,4],[3418,3]]},"1201":{"position":[[286,4],[767,4],[973,5],[1166,4],[1273,4],[2004,3],[2326,4],[2678,3]]},"1202":{"position":[[1428,4],[1909,4],[2115,5],[2308,4],[2415,4],[3146,3],[3468,4],[3820,3],[5825,4],[6306,4],[6512,5],[6705,4],[6812,4],[7543,3],[7865,4],[8217,3]]},"1203":{"position":[[409,3],[1001,4],[1207,5],[1400,4],[1507,4],[2238,3],[2560,4],[2912,3]]},"1204":{"position":[[364,4],[845,4],[1051,5],[1244,4],[1351,4],[2082,3],[2404,4],[2756,3]]},"1205":{"position":[[565,5],[720,5],[953,4],[1072,5],[1266,5],[1325,3],[1582,3],[2174,4],[2380,5],[2573,4],[2680,4],[3411,3],[3733,4],[4085,3]]},"1206":{"position":[[48,6],[645,4],[851,5],[1044,4],[1151,4],[1882,3],[2204,4],[2556,3],[3581,4]]},"1207":{"position":[[321,4],[802,4],[1008,5],[1201,4],[1308,4],[2039,3],[2361,4],[2713,3]]},"1209":{"position":[[318,5],[473,5],[706,4],[825,5],[1019,5],[1078,3],[1669,4],[2150,4],[2356,5],[2549,4],[2656,4],[3387,3],[3709,4],[4061,3]]},"1217":{"position":[[650,3],[1486,3],[2240,5],[2342,4],[2574,4],[2650,3],[2971,6],[4869,3],[5461,4],[5667,5],[5860,4],[5967,4],[6698,3],[7020,4],[7372,3]]},"1219":{"position":[[249,4],[952,4],[1447,4],[1653,5],[1846,4],[1953,4],[2684,3],[3006,4]]},"1222":{"position":[[571,4],[777,5],[970,4],[1077,4],[1808,3],[2130,4],[2482,3]]},"1223":{"position":[[581,4],[787,5],[980,4],[1087,4],[1818,3],[2140,4],[2492,3]]},"1224":{"position":[[761,4],[967,5],[1160,4],[1267,4],[1998,3],[2320,4]]},"1226":{"position":[[734,4],[867,5],[1521,4],[2258,5],[2413,5],[2646,4],[2765,5],[2959,5],[3018,3],[3280,3],[4751,4],[5151,3],[5337,3],[5929,4],[6135,5],[6328,4],[6435,4],[7166,3],[7488,4],[7840,3]]},"1228":{"position":[[337,4],[1103,3],[3567,3],[4321,5],[4423,4],[4655,4],[4731,3],[5052,6],[6950,3],[7542,4],[7748,5],[7941,4],[8048,4],[8779,3],[9101,4],[9453,3]]},"1231":{"position":[[121,3],[322,3],[608,3]]},"1235":{"position":[[990,3],[1578,5],[1733,5],[1966,4],[2085,5],[2279,5],[2338,3],[2929,4],[3410,4],[3616,5],[3809,4],[3916,4],[4647,3],[4969,4],[5321,3]]},"1237":{"position":[[904,4],[1037,5],[1691,4],[2428,5],[2583,5],[2816,4],[2935,5],[3129,5],[3188,3],[3450,3],[4921,4],[5321,3],[5507,3],[6099,4],[6305,5],[6498,4],[6605,4],[7336,3],[7658,4],[8010,3]]},"1239":{"position":[[66,3]]},"1240":{"position":[[402,3]]},"1243":{"position":[[518,5]]},"1244":{"position":[[280,3]]},"1245":{"position":[[380,4],[561,4]]},"1247":{"position":[[44,4]]},"1248":{"position":[[190,4]]},"1249":{"position":[[63,5]]},"1250":{"position":[[74,3]]},"1252":{"position":[[28,4]]},"1258":{"position":[[1043,4],[1191,4]]},"1259":{"position":[[846,5],[1582,4],[1680,4],[1776,4],[1881,4],[1982,4]]},"1260":{"position":[[689,5],[1046,4]]},"1269":{"position":[[7,5]]},"1277":{"position":[[30,4]]},"1278":{"position":[[30,4],[262,4]]},"1279":{"position":[[30,4],[186,4]]},"1280":{"position":[[30,4]]},"1281":{"position":[[30,4]]},"1282":{"position":[[63,4],[219,3]]},"1283":{"position":[[76,4],[236,3]]},"1284":{"position":[[56,4],[216,3]]},"1289":{"position":[[1043,4],[1191,4]]},"1290":{"position":[[846,5],[1582,4],[1680,4],[1776,4],[1881,4],[1982,4]]},"1291":{"position":[[689,5],[1046,4]]},"1300":{"position":[[7,5]]},"1308":{"position":[[30,4]]},"1309":{"position":[[30,4],[262,4]]},"1310":{"position":[[30,4],[186,4]]},"1311":{"position":[[30,4]]},"1312":{"position":[[30,4]]},"1313":{"position":[[63,4],[219,3]]},"1314":{"position":[[76,4],[236,3]]},"1315":{"position":[[56,4],[216,3]]},"1317":{"position":[[1043,4],[1191,4]]},"1318":{"position":[[846,5],[1582,4],[1680,4],[1776,4],[1881,4],[1982,4]]},"1319":{"position":[[689,5],[1046,4]]},"1328":{"position":[[7,5]]},"1336":{"position":[[30,4]]},"1337":{"position":[[30,4],[262,4]]},"1338":{"position":[[30,4],[186,4]]},"1339":{"position":[[30,4]]},"1340":{"position":[[30,4]]},"1341":{"position":[[63,4],[219,3]]},"1342":{"position":[[76,4],[236,3]]},"1343":{"position":[[56,4],[216,3]]},"1345":{"position":[[406,5],[453,5],[730,5],[1030,5],[1213,4]]},"1348":{"position":[[2663,4],[2796,4],[4192,4]]},"1349":{"position":[[941,4]]},"1350":{"position":[[3912,4]]},"1351":{"position":[[723,4],[1132,4],[1924,3]]},"1352":{"position":[[3911,4]]},"1353":{"position":[[1366,4],[1515,4]]},"1354":{"position":[[1175,4],[1210,4],[1353,4],[2730,4]]},"1355":{"position":[[2177,4],[2492,4],[3297,3],[3690,4],[3880,6],[4066,6],[5452,5],[6450,4],[7633,4]]},"1356":{"position":[[581,4],[624,4],[859,4],[2970,3]]},"1357":{"position":[[532,4]]},"1358":{"position":[[1253,4],[2432,4]]},"1359":{"position":[[896,4],[1090,4]]},"1360":{"position":[[1357,4],[1721,4],[3294,5],[3758,5],[3782,5],[4070,5],[4488,4],[4958,6]]},"1361":{"position":[[1080,4]]},"1362":{"position":[[5079,5],[5444,4],[6464,3],[7850,4],[8128,5],[8273,4],[8449,5],[8592,5],[10878,4],[10984,6],[11132,4],[11490,3],[11795,3],[12008,4],[12516,3],[13130,4],[13465,3]]},"1363":{"position":[[3050,5],[3190,4],[5177,4],[7572,5]]},"1364":{"position":[[5106,5],[5473,4],[6493,3],[8089,4],[8417,3],[8699,4],[8977,5],[9122,4],[9563,5],[9706,5],[11845,4],[11951,6],[12099,4],[12457,3],[13021,3],[13830,4],[14165,3]]},"1365":{"position":[[1014,4],[1799,5]]},"1366":{"position":[[1220,4],[2839,5],[3200,3]]},"1367":{"position":[[6678,4],[6871,4],[7891,3],[8216,5],[8361,4],[8537,5],[8680,5],[10093,4],[10545,4],[11502,4],[11860,3],[12424,3],[13038,4],[13373,3],[13580,4],[14281,3]]},"1368":{"position":[[1570,4]]},"1369":{"position":[[622,4]]},"1370":{"position":[[756,5],[869,4],[2260,3]]},"1371":{"position":[[498,4]]},"1372":{"position":[[2136,4]]},"1373":{"position":[[3008,4],[4099,3],[5394,4],[5500,6],[5647,4],[6512,3],[6816,3],[7029,4],[7339,3],[7457,3],[7584,4],[7996,4],[8114,4]]},"1374":{"position":[[904,4],[2295,4],[2628,4],[2853,5]]},"1375":{"position":[[534,4]]},"1376":{"position":[[490,4]]},"1377":{"position":[[729,4]]},"1378":{"position":[[476,4]]},"1379":{"position":[[499,4]]},"1380":{"position":[[970,4]]},"1381":{"position":[[876,4]]},"1382":{"position":[[3243,5],[3356,4],[4376,3],[4710,4],[7747,4],[7853,6],[8001,4],[8359,3],[9136,3],[9349,4],[9660,3],[10232,3],[10360,4],[10772,4],[10890,4],[11492,4]]},"1383":{"position":[[1412,4],[1594,4],[2973,5],[3363,3],[3482,3],[3519,3],[3613,3],[3863,3],[3957,3],[4151,3],[4245,3],[4445,5],[4814,5],[5033,5],[5891,5],[5928,3],[6520,4],[7066,6],[7708,4],[7745,6]]},"1384":{"position":[[4518,4],[5538,3],[7267,4],[8603,3],[8885,4],[9214,3],[9575,4],[11521,4],[12498,4],[13811,4],[13917,6],[14065,4],[14244,4],[14704,3],[15481,3],[15694,4],[16005,3],[16594,4],[16710,3],[16763,3],[17434,4],[17846,4],[17964,4],[19146,4],[19468,5],[19688,4],[20299,5],[20375,5],[21884,4]]},"1385":{"position":[[2195,4],[3182,3],[4232,4],[4589,3],[5364,3],[5577,4],[5887,3],[6457,3],[7070,4]]},"1386":{"position":[[665,3],[833,4],[1624,4],[2106,5],[2552,4],[2594,4],[2662,5],[2771,4],[3383,4],[4096,4],[4561,4],[4700,5],[4973,4],[5022,3],[5196,5],[5467,4],[5502,5],[5631,5],[5710,5],[5783,4],[6082,3],[6125,3],[6253,4]]},"1387":{"position":[[4464,4],[5364,4],[5453,3],[6613,5],[6960,5],[7072,4],[7178,6],[7325,4],[7503,4],[7962,3],[8737,3],[8950,4],[9260,3],[9830,3],[10443,4]]},"1388":{"position":[[3656,4],[4803,5],[5070,3],[5404,4],[6213,5],[8615,4],[8725,3],[8853,4],[9265,4],[9383,4],[9985,4],[10372,5]]},"1389":{"position":[[4517,4],[5829,3]]},"1390":{"position":[[769,4]]},"1391":{"position":[[722,4]]},"1392":{"position":[[621,4],[872,4],[2000,4]]},"1393":{"position":[[1160,5],[1273,3],[1317,5],[1444,4],[2316,4],[2409,6],[2519,3],[2735,4],[2837,3],[3366,3],[3454,4],[3657,3],[4451,3],[4531,4],[5693,4],[6647,3],[6719,6],[6812,3],[7172,5],[7252,3],[7390,4],[8461,3],[8734,5],[9031,4],[9210,4],[9282,4],[10235,5],[10607,5]]},"1394":{"position":[[609,5],[722,3],[766,5],[892,4]]},"1395":{"position":[[901,4],[1872,4],[2092,4],[2193,5],[2603,5],[2926,3],[3227,3],[3550,5]]},"1396":{"position":[[698,4]]},"1397":{"position":[[879,4],[2395,4],[2788,4],[3428,5]]},"1398":{"position":[[1551,4],[2331,3],[4115,5],[4198,3],[4336,4],[4680,5],[4708,3],[4991,5],[5720,5]]},"1399":{"position":[[626,3],[734,4],[1664,4],[2287,6],[2801,5]]},"1400":{"position":[[603,4]]},"1401":{"position":[[678,4],[1520,5]]},"1402":{"position":[[687,4],[834,4]]},"1403":{"position":[[1230,4],[1424,4],[2709,5],[3173,5],[3197,5],[3485,5],[3903,4],[4946,6],[6808,4],[6845,6],[7373,4],[7592,5]]},"1404":{"position":[[667,4]]},"1405":{"position":[[1358,4],[2686,5]]},"1406":{"position":[[574,4]]},"1407":{"position":[[1399,4],[3107,5]]},"1408":{"position":[[1095,4]]},"1409":{"position":[[629,4]]},"1410":{"position":[[1791,4],[3209,5],[3484,4],[4562,3]]},"1411":{"position":[[612,4]]},"1412":{"position":[[1452,4],[1535,4],[1812,4],[2643,4],[2958,4],[3135,4],[3322,4],[3536,5],[3594,4],[3899,5]]},"1413":{"position":[[1996,4]]},"1414":{"position":[[863,4]]},"1415":{"position":[[2845,4],[3781,3],[3923,6],[3988,5],[4114,4],[4471,3],[4775,3],[4988,4],[5744,3]]},"1416":{"position":[[1497,4]]},"1417":{"position":[[1086,4]]},"1418":{"position":[[787,4]]},"1419":{"position":[[915,4]]},"1420":{"position":[[1034,4],[1179,4]]},"1421":{"position":[[972,4],[1154,4],[2026,4],[2119,4],[2244,3],[2330,3]]},"1422":{"position":[[750,4],[812,4],[1057,4],[1969,5],[2160,5],[2399,4],[3412,4],[3666,5],[3880,5],[3963,4]]},"1423":{"position":[[648,4],[695,4],[1046,4],[1900,4],[2069,4],[2437,5],[2650,5],[2730,4],[3360,4],[3787,5],[3809,4]]},"1424":{"position":[[1171,4]]},"1425":{"position":[[787,4]]},"1426":{"position":[[911,4],[1130,4],[2624,4],[2913,4],[3013,4]]},"1427":{"position":[[2027,4],[2838,4],[3025,6],[3211,6],[4048,4],[4675,4],[4781,4],[5651,4],[6786,5],[7375,5]]},"1428":{"position":[[769,4]]},"1429":{"position":[[2517,4],[2691,4],[3557,6],[4119,6],[4256,4],[4776,4],[6076,4]]},"1430":{"position":[[1545,4]]},"1431":{"position":[[889,4]]},"1432":{"position":[[1410,4]]},"1433":{"position":[[931,4]]},"1434":{"position":[[605,4]]},"1435":{"position":[[569,4]]},"1436":{"position":[[585,4]]},"1437":{"position":[[655,4]]},"1438":{"position":[[789,4]]},"1439":{"position":[[1971,4],[2313,4],[3118,3],[3510,4],[3699,6],[3885,6],[4704,3],[4751,3],[5587,3],[6815,5],[7174,4],[7280,4],[7560,4],[8201,5]]},"1440":{"position":[[2707,4],[2879,4],[4112,6],[4249,4],[4858,4],[5976,4]]},"1441":{"position":[[611,4]]},"1442":{"position":[[684,4],[1700,4],[2865,4],[3029,5]]},"1443":{"position":[[720,4],[906,4]]},"1444":{"position":[[636,4],[822,4],[2058,4]]},"1445":{"position":[[511,4]]},"1446":{"position":[[585,4],[672,4],[845,4],[1808,4]]},"1447":{"position":[[727,4]]},"1448":{"position":[[1162,4]]},"1449":{"position":[[1096,4]]},"1450":{"position":[[975,4]]},"1451":{"position":[[975,4]]},"1452":{"position":[[521,4]]},"1453":{"position":[[1107,4]]},"1454":{"position":[[3473,4],[5668,4],[7002,3],[7717,4],[8893,4],[9009,3],[9071,3],[9145,3],[9223,3],[9597,5]]},"1455":{"position":[[1222,5],[1360,4],[3022,4],[3032,5],[3114,5],[3193,4],[3203,5],[3285,5],[3340,3],[3376,5],[3603,5],[3691,4],[3701,5],[3783,5],[3838,3],[3874,5],[4086,4],[4096,5],[4182,5],[4241,3],[4277,5]]},"1456":{"position":[[544,4],[705,4]]},"1457":{"position":[[764,4]]},"1458":{"position":[[924,4],[1085,4],[1153,4],[1299,4]]},"1459":{"position":[[615,4],[778,4],[1547,5],[2334,4]]},"1460":{"position":[[890,4]]},"1461":{"position":[[893,4],[1105,4],[1904,4],[2380,6],[2630,5],[3024,4]]},"1462":{"position":[[4266,4],[4486,4],[5588,4],[6117,5],[6567,4],[8106,4]]},"1463":{"position":[[612,4]]},"1464":{"position":[[520,4]]},"1465":{"position":[[1411,4],[1618,4],[2518,4],[2840,6],[3089,5],[3389,3],[3798,3],[4477,4]]},"1466":{"position":[[856,4]]},"1467":{"position":[[5175,4],[6083,4],[6345,4],[6566,5],[6979,6],[7229,5],[7682,4],[8433,4],[9167,4],[9658,3],[11021,4]]},"1468":{"position":[[620,4],[1507,5]]},"1469":{"position":[[655,4],[702,4],[993,4],[1865,4],[2498,5],[2742,5],[3157,5],[3179,4],[3492,5],[3514,4]]},"1470":{"position":[[3286,4],[3522,4],[4768,4]]},"1471":{"position":[[1856,4],[3101,4],[3297,4],[3395,4],[3709,4],[4581,3],[4946,5]]},"1472":{"position":[[1815,4],[2820,4],[3532,3],[3881,4],[3979,4],[4293,4],[5165,3]]},"1473":{"position":[[2130,4],[3135,4],[3331,4],[3429,4],[3777,4],[3851,3],[4902,3],[5267,5]]},"1474":{"position":[[1521,4]]},"1475":{"position":[[1992,4]]},"1476":{"position":[[597,4]]},"1477":{"position":[[616,4],[749,4]]},"1478":{"position":[[1240,4],[2283,4],[2466,4]]},"1479":{"position":[[689,4]]},"1480":{"position":[[1102,4]]},"1481":{"position":[[1635,4]]},"1482":{"position":[[524,4],[709,4]]},"1483":{"position":[[543,4]]},"1484":{"position":[[615,4]]},"1485":{"position":[[875,4],[3225,4],[3637,4],[3755,4],[4356,4],[4507,5],[4556,5]]},"1486":{"position":[[830,3],[989,5],[1119,4],[2270,3],[2874,3],[3060,5],[3784,5]]},"1487":{"position":[[814,4],[1717,5],[2169,3],[2459,5]]}},"keywords":{}}],["usabl",{"_index":1559,"title":{},"content":{"283":{"position":[[152,7],[206,6]]},"462":{"position":[[154,7],[208,6]]},"1104":{"position":[[762,7]]}},"keywords":{}}],["usag",{"_index":931,"title":{"921":{"position":[[0,5]]},"1054":{"position":[[8,6]]},"1248":{"position":[[41,7]]},"1254":{"position":[[0,5]]}},"content":{"63":{"position":[[234,6]]},"92":{"position":[[1399,6]]},"166":{"position":[[234,6]]},"168":{"position":[[112,6]]},"224":{"position":[[1399,6]]},"233":{"position":[[405,6]]},"234":{"position":[[185,6]]},"240":{"position":[[347,6]]},"242":{"position":[[534,6]]},"243":{"position":[[571,6]]},"245":{"position":[[153,6]]},"246":{"position":[[152,6]]},"276":{"position":[[589,5],[687,6]]},"277":{"position":[[537,5],[723,6]]},"278":{"position":[[119,6]]},"279":{"position":[[257,6]]},"280":{"position":[[319,6]]},"281":{"position":[[678,5],[788,6]]},"282":{"position":[[628,5],[832,6]]},"283":{"position":[[240,6]]},"284":{"position":[[158,6]]},"285":{"position":[[121,6]]},"286":{"position":[[348,6]]},"288":{"position":[[255,6]]},"289":{"position":[[275,6]]},"298":{"position":[[1198,6]]},"306":{"position":[[138,6]]},"314":{"position":[[426,6]]},"315":{"position":[[230,6]]},"316":{"position":[[250,6]]},"317":{"position":[[253,6]]},"318":{"position":[[392,6]]},"319":{"position":[[165,6]]},"326":{"position":[[406,6]]},"327":{"position":[[365,6]]},"328":{"position":[[421,6]]},"329":{"position":[[407,6]]},"330":{"position":[[362,6]]},"331":{"position":[[342,6]]},"332":{"position":[[363,6]]},"334":{"position":[[709,6]]},"335":{"position":[[637,6]]},"344":{"position":[[419,6]]},"345":{"position":[[913,6]]},"346":{"position":[[562,6]]},"347":{"position":[[458,6]]},"409":{"position":[[138,6]]},"413":{"position":[[86,6]]},"416":{"position":[[716,6]]},"417":{"position":[[946,6]]},"422":{"position":[[72,6]]},"449":{"position":[[142,6]]},"459":{"position":[[134,6]]},"460":{"position":[[123,6]]},"461":{"position":[[105,6]]},"462":{"position":[[242,6]]},"463":{"position":[[178,6]]},"467":{"position":[[287,6]]},"468":{"position":[[246,6]]},"469":{"position":[[302,6]]},"470":{"position":[[347,6]]},"471":{"position":[[243,6]]},"472":{"position":[[223,6]]},"473":{"position":[[244,6]]},"474":{"position":[[448,6]]},"475":{"position":[[399,6]]},"477":{"position":[[187,6]]},"478":{"position":[[250,6]]},"480":{"position":[[70,6]]},"481":{"position":[[153,6]]},"483":{"position":[[73,6]]},"484":{"position":[[125,6]]},"492":{"position":[[234,6]]},"510":{"position":[[287,6]]},"511":{"position":[[307,6]]},"513":{"position":[[83,6]]},"514":{"position":[[79,6]]},"548":{"position":[[234,6]]},"788":{"position":[[138,6]]},"792":{"position":[[86,6]]},"795":{"position":[[716,6]]},"796":{"position":[[946,6]]},"801":{"position":[[72,6]]},"828":{"position":[[142,6]]},"877":{"position":[[413,5]]},"1040":{"position":[[1171,6]]},"1116":{"position":[[104,5]]},"1136":{"position":[[785,6],[6435,5]]},"1138":{"position":[[28,6],[10097,5]]},"1140":{"position":[[16,6],[9023,5]]},"1142":{"position":[[76,6],[4467,5]]},"1144":{"position":[[167,6],[795,5]]},"1146":{"position":[[46,6],[4407,5]]},"1148":{"position":[[1141,6],[7998,5]]},"1150":{"position":[[469,6],[1030,5]]},"1152":{"position":[[51,6],[728,5]]},"1154":{"position":[[41,6],[883,5]]},"1155":{"position":[[53,6],[4503,5]]},"1156":{"position":[[138,6],[4081,5]]},"1157":{"position":[[37,6],[666,5]]},"1158":{"position":[[31,6],[660,5]]},"1159":{"position":[[31,6],[660,5]]},"1161":{"position":[[27,6],[1655,5]]},"1163":{"position":[[214,6],[1041,5]]},"1165":{"position":[[40,6],[870,5]]},"1167":{"position":[[33,6],[10027,5]]},"1169":{"position":[[39,6],[3135,5]]},"1171":{"position":[[41,6],[1376,5]]},"1172":{"position":[[828,6],[2761,5]]},"1173":{"position":[[125,6],[1448,5]]},"1174":{"position":[[36,6],[876,5]]},"1175":{"position":[[56,6],[872,5]]},"1176":{"position":[[141,6],[1041,5]]},"1177":{"position":[[49,6],[962,5]]},"1178":{"position":[[193,6],[1279,5]]},"1179":{"position":[[63,6],[1076,5]]},"1180":{"position":[[393,6],[1347,5]]},"1181":{"position":[[94,6],[1867,5]]},"1182":{"position":[[89,6],[910,5]]},"1183":{"position":[[46,6],[865,5]]},"1185":{"position":[[22,6],[710,5]]},"1186":{"position":[[17,6],[5671,5]]},"1187":{"position":[[31,6],[5684,5]]},"1188":{"position":[[19,6],[10410,5]]},"1190":{"position":[[28,6],[2041,5]]},"1191":{"position":[[57,6],[4271,5]]},"1192":{"position":[[240,6],[4446,5]]},"1193":{"position":[[18,6],[4498,5]]},"1194":{"position":[[45,6],[4138,5]]},"1195":{"position":[[51,6],[4116,5]]},"1196":{"position":[[40,6],[3926,5]]},"1197":{"position":[[46,6],[4909,5]]},"1198":{"position":[[21,6],[4919,5]]},"1199":{"position":[[42,6],[4947,5]]},"1200":{"position":[[59,6],[4814,5]]},"1201":{"position":[[102,6],[4074,5]]},"1202":{"position":[[27,6],[818,5],[1252,6],[5216,5],[5662,6],[9613,5]]},"1203":{"position":[[42,6],[4308,5]]},"1204":{"position":[[51,6],[4152,5],[4518,6],[5054,5],[5434,6],[5984,5],[6350,6],[6886,5],[7255,6],[7872,5],[8279,6],[8826,5],[9197,6],[9773,5],[10153,6],[10703,5]]},"1205":{"position":[[252,6],[5481,5]]},"1206":{"position":[[97,6],[4180,5]]},"1207":{"position":[[114,6],[4109,5]]},"1209":{"position":[[19,6],[5457,5]]},"1211":{"position":[[40,6],[781,5]]},"1213":{"position":[[42,6],[552,5]]},"1215":{"position":[[13,6],[636,5]]},"1217":{"position":[[164,6],[8768,5]]},"1219":{"position":[[742,6],[4023,5]]},"1221":{"position":[[24,6],[755,5]]},"1222":{"position":[[25,6],[3894,5]]},"1223":{"position":[[30,6],[3904,5]]},"1224":{"position":[[223,6],[3337,5]]},"1226":{"position":[[21,6],[9236,5]]},"1228":{"position":[[37,6],[10849,5]]},"1233":{"position":[[68,5]]},"1235":{"position":[[1278,6],[6717,5]]},"1237":{"position":[[190,6],[9406,5]]},"1247":{"position":[[385,5]]},"1248":{"position":[[32,5]]},"1251":{"position":[[27,5]]},"1253":{"position":[[357,5]]},"1386":{"position":[[4224,5]]},"1393":{"position":[[5590,6],[5632,8]]},"1426":{"position":[[2809,5]]}},"keywords":{}}],["usage:artifacts[artifact_from_dynam",{"_index":1129,"title":{},"content":{"92":{"position":[[1051,39]]},"224":{"position":[[1051,39]]},"1040":{"position":[[1476,39]]}},"keywords":{}}],["use/inspect",{"_index":4058,"title":{},"content":{"870":{"position":[[276,11]]}},"keywords":{}}],["use_arch",{"_index":6929,"title":{},"content":{"1364":{"position":[[4615,12]]},"1384":{"position":[[4073,12]]},"1387":{"position":[[3967,12]]}},"keywords":{}}],["use_archiver_flag",{"_index":7413,"title":{},"content":{"1389":{"position":[[4292,19]]}},"keywords":{}}],["use_arg_fil",{"_index":7414,"title":{},"content":{"1389":{"position":[[4322,13]]}},"keywords":{}}],["use_cas",{"_index":1040,"title":{},"content":{"85":{"position":[[81,9]]},"217":{"position":[[81,9]]}},"keywords":{}}],["use_cxx_librari",{"_index":7815,"title":{},"content":{"1413":{"position":[[1774,18]]},"1429":{"position":[[2373,18],[3518,17],[6139,18]]},"1440":{"position":[[2527,18]]},"1470":{"position":[[3049,18]]},"1475":{"position":[[1770,18]]}},"keywords":{}}],["use_default_test_main",{"_index":7310,"title":{},"content":{"1388":{"position":[[3328,22]]}},"keywords":{}}],["use_dep_fil",{"_index":7415,"title":{},"content":{"1389":{"position":[[4346,14]]}},"keywords":{}}],["use_dependency_order_classpath",{"_index":7816,"title":{},"content":{"1413":{"position":[[1810,31]]},"1429":{"position":[[2409,31]]},"1440":{"position":[[2563,31]]},"1470":{"position":[[3085,31]]},"1475":{"position":[[1806,31]]}},"keywords":{}}],["use_derived_apk",{"_index":6502,"title":{},"content":{"1352":{"position":[[3683,16]]},"1360":{"position":[[1268,16]]}},"keywords":{}}],["use_entitlements_when_adhoc_code_sign",{"_index":6871,"title":{},"content":{"1363":{"position":[[2651,41]]},"1367":{"position":[[6317,41]]},"1372":{"position":[[1905,41]]}},"keywords":{}}],["use_global_parse_transform",{"_index":7453,"title":{},"content":{"1393":{"position":[[951,28],[8079,28]]}},"keywords":{}}],["use_header_map",{"_index":7416,"title":{},"content":{"1389":{"position":[[4378,15]]}},"keywords":{}}],["use_jvm_abi_gen",{"_index":6380,"title":{},"content":{"1348":{"position":[[2591,16]]},"1355":{"position":[[2069,16]]},"1439":{"position":[[1865,16]]},"1440":{"position":[[2612,16]]},"1470":{"position":[[3134,16]]}},"keywords":{}}],["use_limited_hybrid",{"_index":1228,"title":{},"content":{"94":{"position":[[3635,20]]},"226":{"position":[[3635,20]]},"362":{"position":[[389,19]]},"741":{"position":[[389,19]]},"1362":{"position":[[10053,18]]},"1364":{"position":[[11167,18]]},"1367":{"position":[[10970,18]]},"1382":{"position":[[6779,18]]},"1384":{"position":[[13133,18]]},"1388":{"position":[[7648,18]]}},"keywords":{}}],["use_persistent_work",{"_index":1884,"title":{},"content":{"362":{"position":[[561,23]]},"741":{"position":[[561,23]]}},"keywords":{}}],["use_project_relative_path",{"_index":2007,"title":{},"content":{"374":{"position":[[94,26],[1164,27]]},"753":{"position":[[94,26],[1164,27]]},"1070":{"position":[[150,26]]}},"keywords":{}}],["use_promise_artifact",{"_index":5281,"title":{},"content":{"1049":{"position":[[1612,20]]}},"keywords":{}}],["use_split_dex",{"_index":6466,"title":{},"content":{"1350":{"position":[[3711,14]]},"1352":{"position":[[3710,14]]},"1353":{"position":[[1280,14]]}},"keywords":{}}],["use_submodul",{"_index":6779,"title":{},"content":{"1362":{"position":[[4548,15]]},"1364":{"position":[[4645,15]]},"1367":{"position":[[6369,15]]}},"keywords":{}}],["use_system_library_load",{"_index":6614,"title":{},"content":{"1358":{"position":[[868,26]]}},"keywords":{}}],["use_windows_path_separ",{"_index":1883,"title":{},"content":{"362":{"position":[[518,28]]},"741":{"position":[[518,28]]}},"keywords":{}}],["useabsh",{"_index":5451,"title":{},"content":{"1061":{"position":[[61,7]]}},"keywords":{}}],["usebuck2",{"_index":4297,"title":{},"content":{"895":{"position":[[494,9]]},"1033":{"position":[[171,8]]},"1240":{"position":[[45,8],[256,8]]}},"keywords":{}}],["usectx.configured_target",{"_index":4423,"title":{},"content":{"905":{"position":[[1154,30]]}},"keywords":{}}],["usectx.label.nam",{"_index":5221,"title":{},"content":{"1046":{"position":[[530,18]]}},"keywords":{}}],["used).buck2",{"_index":5472,"title":{},"content":{"1067":{"position":[[238,11]]}},"keywords":{}}],["used.compiler_flag",{"_index":7240,"title":{},"content":{"1385":{"position":[[3152,20]]}},"keywords":{}}],["used.dep",{"_index":8088,"title":{},"content":{"1444":{"position":[[1779,10]]}},"keywords":{}}],["used.platform_dep",{"_index":7855,"title":{},"content":{"1416":{"position":[[3057,19]]}},"keywords":{}}],["used.resource_env_var",{"_index":5317,"title":{},"content":{"1052":{"position":[[429,22]]}},"keywords":{}}],["used.th",{"_index":5133,"title":{},"content":{"1040":{"position":[[515,8]]}},"keywords":{}}],["used_as_dependency_deprecated_do_not_us",{"_index":8403,"title":{},"content":{"1470":{"position":[[3168,41]]}},"keywords":{}}],["used_by_wrap_script",{"_index":7199,"title":{},"content":{"1384":{"position":[[4103,20],[19442,20],[19784,19]]},"1387":{"position":[[3997,20]]}},"keywords":{}}],["useget_path_without_materi",{"_index":3977,"title":{},"content":{"861":{"position":[[611,38]]}},"keywords":{}}],["useget_paths_without_materi",{"_index":3979,"title":{},"content":{"861":{"position":[[845,39]]}},"keywords":{}}],["usegetattr(my_struct",{"_index":3953,"title":{},"content":{"857":{"position":[[61,21]]}},"keywords":{}}],["user",{"_index":6,"title":{"2":{"position":[[8,6]]},"9":{"position":[[17,6]]},"865":{"position":[[0,4]]},"866":{"position":[[10,4]]},"930":{"position":[[22,4]]},"1182":{"position":[[14,5]]}},"content":{"9":{"position":[[133,4],[1751,4],[2182,4]]},"12":{"position":[[510,4]]},"15":{"position":[[270,5]]},"16":{"position":[[84,6]]},"22":{"position":[[788,5]]},"23":{"position":[[1965,4],[2529,4]]},"24":{"position":[[82,5]]},"94":{"position":[[2392,4]]},"126":{"position":[[171,4]]},"131":{"position":[[256,5]]},"132":{"position":[[153,5]]},"134":{"position":[[145,5]]},"135":{"position":[[94,5]]},"137":{"position":[[118,5]]},"145":{"position":[[137,5]]},"147":{"position":[[115,5]]},"148":{"position":[[150,5]]},"226":{"position":[[2392,4]]},"249":{"position":[[171,4]]},"254":{"position":[[256,5]]},"255":{"position":[[153,5]]},"257":{"position":[[145,5]]},"258":{"position":[[94,5]]},"260":{"position":[[118,5]]},"268":{"position":[[137,5]]},"270":{"position":[[115,5]]},"271":{"position":[[150,5]]},"300":{"position":[[150,5]]},"304":{"position":[[72,4],[242,4]]},"344":{"position":[[141,5],[257,5]]},"368":{"position":[[575,5]]},"389":{"position":[[293,4]]},"450":{"position":[[339,5]]},"580":{"position":[[385,5]]},"635":{"position":[[203,4]]},"693":{"position":[[4653,5],[6056,6],[6966,6],[8484,5]]},"704":{"position":[[2513,4]]},"705":{"position":[[1049,4],[1105,4]]},"715":{"position":[[236,4],[717,5]]},"717":{"position":[[496,4]]},"724":{"position":[[1913,4]]},"725":{"position":[[43,4]]},"747":{"position":[[575,5]]},"768":{"position":[[293,4]]},"829":{"position":[[339,5]]},"834":{"position":[[724,6]]},"846":{"position":[[1698,5]]},"864":{"position":[[1596,4]]},"865":{"position":[[89,4],[486,4]]},"866":{"position":[[15,4],[104,4],[241,4],[267,4],[347,5]]},"867":{"position":[[856,4]]},"869":{"position":[[724,5]]},"870":{"position":[[343,5]]},"873":{"position":[[292,4]]},"898":{"position":[[625,6]]},"919":{"position":[[61,5]]},"923":{"position":[[47,5]]},"924":{"position":[[338,5],[2310,5]]},"926":{"position":[[144,4]]},"937":{"position":[[1286,5],[1614,5],[2340,4],[2421,5],[2481,5],[2609,5],[3056,5],[3384,5]]},"943":{"position":[[1549,4]]},"944":{"position":[[931,4]]},"946":{"position":[[490,5],[627,4]]},"950":{"position":[[11,5],[337,6],[440,5],[1271,5]]},"962":{"position":[[62,5]]},"980":{"position":[[1439,4]]},"987":{"position":[[528,5]]},"988":{"position":[[429,5]]},"991":{"position":[[3015,4]]},"997":{"position":[[186,5]]},"1004":{"position":[[368,4]]},"1011":{"position":[[348,5]]},"1021":{"position":[[364,5]]},"1050":{"position":[[661,4],[1013,4],[1470,4],[1894,4],[2106,4],[2318,4],[2400,4],[3400,4],[3555,4],[4225,4],[4452,4]]},"1067":{"position":[[7,4],[552,4]]},"1112":{"position":[[2682,4]]},"1136":{"position":[[1318,4]]},"1140":{"position":[[444,4],[478,4],[513,4],[596,4],[636,4],[937,5]]},"1148":{"position":[[369,4],[1674,4]]},"1152":{"position":[[258,6]]},"1154":{"position":[[135,4]]},"1155":{"position":[[23,4]]},"1167":{"position":[[1835,4]]},"1171":{"position":[[693,4],[755,4]]},"1180":{"position":[[235,4],[263,4]]},"1182":{"position":[[57,4],[119,4]]},"1188":{"position":[[497,4],[531,4],[566,4],[649,4],[689,4],[990,5]]},"1205":{"position":[[798,4]]},"1209":{"position":[[551,4]]},"1226":{"position":[[2491,4]]},"1232":{"position":[[26,4]]},"1235":{"position":[[1811,4]]},"1237":{"position":[[2661,4]]},"1360":{"position":[[4259,5]]},"1398":{"position":[[1270,5]]},"1403":{"position":[[3674,5]]},"1461":{"position":[[3192,5]]},"1477":{"position":[[2666,5]]}},"keywords":{}}],["user'",{"_index":2663,"title":{},"content":{"581":{"position":[[326,6]]},"583":{"position":[[319,6],[647,6],[704,6]]}},"keywords":{}}],["user_default",{"_index":7489,"title":{},"content":{"1393":{"position":[[7605,12]]},"1398":{"position":[[4551,12]]}},"keywords":{}}],["usereind",{"_index":416,"title":{},"content":{"13":{"position":[[72,12]]}},"keywords":{}}],["userelative_to(ctx.label.cell_root",{"_index":5519,"title":{},"content":{"1073":{"position":[[141,35]]}},"keywords":{}}],["uses_cxx_explicit_modul",{"_index":6780,"title":{},"content":{"1362":{"position":[[4574,26]]},"1364":{"position":[[4671,26]]},"1367":{"position":[[6395,26]]},"1384":{"position":[[4134,26]]},"1387":{"position":[[4028,26]]}},"keywords":{}}],["uses_explicit_modul",{"_index":6781,"title":{},"content":{"1362":{"position":[[4611,22]]},"1364":{"position":[[4708,22]]},"1367":{"position":[[6432,22]]},"1384":{"position":[[4171,22]]},"1387":{"position":[[4065,22]]},"1480":{"position":[[931,22]]}},"keywords":{}}],["uses_modul",{"_index":6782,"title":{},"content":{"1362":{"position":[[4644,13]]},"1364":{"position":[[4741,13]]},"1367":{"position":[[6465,13]]}},"keywords":{}}],["uses_plugin",{"_index":994,"title":{},"content":{"74":{"position":[[188,12]]},"121":{"position":[[295,12]]},"437":{"position":[[201,13]]},"497":{"position":[[188,12]]},"530":{"position":[[295,12]]},"816":{"position":[[201,13]]},"989":{"position":[[49,12]]},"991":{"position":[[581,12],[849,12]]}},"keywords":{}}],["usetransit",{"_index":5680,"title":{},"content":{"1104":{"position":[[2733,13]]}},"keywords":{}}],["usexcrun",{"_index":5460,"title":{},"content":{"1061":{"position":[[292,8]]}},"keywords":{}}],["using:dir",{"_index":4463,"title":{},"content":{"911":{"position":[[121,9]]}},"keywords":{}}],["usingbuck2",{"_index":3792,"title":{},"content":{"715":{"position":[[1878,10]]},"1037":{"position":[[510,10]]},"1244":{"position":[[62,10]]}},"keywords":{}}],["usingimplicit_package_symbol",{"_index":4985,"title":{},"content":{"998":{"position":[[160,28]]}},"keywords":{}}],["usingjoin",{"_index":3717,"title":{},"content":{"711":{"position":[[1183,11]]}},"keywords":{}}],["usingrepr(x",{"_index":2817,"title":{},"content":{"595":{"position":[[1163,13]]}},"keywords":{}}],["usize>>",{"_index":4240,"title":{},"content":{"890":{"position":[[4265,15]]}},"keywords":{}}],["usize>>>",{"_index":4238,"title":{},"content":{"890":{"position":[[4198,19]]}},"keywords":{}}],["usr/bin/env",{"_index":6652,"title":{},"content":{"1360":{"position":[[2975,12]]},"1383":{"position":[[2560,12]]},"1403":{"position":[[2390,12]]}},"keywords":{}}],["usr/bin/tim",{"_index":5458,"title":{},"content":{"1061":{"position":[[201,13]]}},"keywords":{}}],["usual",{"_index":1078,"title":{},"content":{"89":{"position":[[218,5]]},"92":{"position":[[1823,7]]},"221":{"position":[[218,5]]},"224":{"position":[[1823,7]]},"298":{"position":[[1558,7]]},"567":{"position":[[216,6]]},"706":{"position":[[2093,7],[2254,7]]},"717":{"position":[[311,7]]},"851":{"position":[[576,7]]},"886":{"position":[[440,8]]},"894":{"position":[[443,7]]},"906":{"position":[[386,7],[701,7]]},"937":{"position":[[9,7]]},"1040":{"position":[[1925,7]]},"1069":{"position":[[460,7]]},"1071":{"position":[[1367,8]]},"1104":{"position":[[1296,7]]},"1105":{"position":[[392,7]]},"1108":{"position":[[296,7]]},"1247":{"position":[[115,7]]},"1355":{"position":[[3643,8]]},"1366":{"position":[[2672,8]]},"1370":{"position":[[3131,8]]},"1386":{"position":[[1978,6],[5297,7]]},"1412":{"position":[[2579,8],[3441,7]]},"1427":{"position":[[2794,8]]},"1439":{"position":[[3464,8]]},"1462":{"position":[[7243,7]]},"1467":{"position":[[8212,7]]}},"keywords":{}}],["utarget",{"_index":6049,"title":{"1236":{"position":[[0,8]]},"1237":{"position":[[5,9]]}},"content":{"1226":{"position":[[10,10]]},"1237":{"position":[[211,8]]}},"keywords":{}}],["utarget_set",{"_index":2127,"title":{"449":{"position":[[0,12]]},"828":{"position":[[0,12]]}},"content":{"402":{"position":[[1120,11]]},"781":{"position":[[1120,11]]}},"keywords":{}}],["utarget_set(nod",{"_index":2403,"title":{},"content":{"449":{"position":[[4,18]]},"828":{"position":[[4,18]]}},"keywords":{}}],["util",{"_index":4832,"title":{},"content":{"973":{"position":[[405,7]]},"1346":{"position":[[175,7]]},"1373":{"position":[[8679,4]]},"1382":{"position":[[11831,8],[11865,7]]},"1385":{"position":[[7491,8],[7596,7]]},"1387":{"position":[[10824,8],[10927,7]]},"1455":{"position":[[4587,7]]}},"keywords":{}}],["util.cpp",{"_index":7162,"title":{},"content":{"1382":{"position":[[11882,11]]}},"keywords":{}}],["util.h",{"_index":7163,"title":{},"content":{"1382":{"position":[[11909,9]]}},"keywords":{}}],["utilization)remote_execution_max_input_files_mebibyt",{"_index":1897,"title":{},"content":{"362":{"position":[[1639,55]]},"741":{"position":[[1639,55]]}},"keywords":{}}],["utils.lua",{"_index":7251,"title":{},"content":{"1385":{"position":[[7509,12],[7561,11]]}},"keywords":{}}],["utils.pi",{"_index":7304,"title":{},"content":{"1387":{"position":[[10842,11],[10893,10]]}},"keywords":{}}],["uuid",{"_index":5712,"title":{},"content":{"1112":{"position":[[74,5]]},"1124":{"position":[[325,4]]},"1126":{"position":[[304,4]]},"1127":{"position":[[325,5]]},"1435":{"position":[[445,5]]}},"keywords":{}}],["uuidgen",{"_index":6496,"title":{},"content":{"1351":{"position":[[5122,7]]}},"keywords":{}}],["v",{"_index":2365,"title":{},"content":{"441":{"position":[[249,2],[260,1]]},"638":{"position":[[631,1]]},"663":{"position":[[694,1]]},"820":{"position":[[249,2],[260,1]]},"889":{"position":[[388,1],[460,3]]},"902":{"position":[[620,1]]},"1004":{"position":[[1255,1],[1265,2]]},"1136":{"position":[[6040,2]]},"1138":{"position":[[9702,2]]},"1140":{"position":[[8628,2]]},"1142":{"position":[[4072,2]]},"1144":{"position":[[400,2]]},"1146":{"position":[[4012,2]]},"1148":{"position":[[7603,2]]},"1150":{"position":[[635,2]]},"1152":{"position":[[333,2]]},"1154":{"position":[[488,2]]},"1155":{"position":[[4108,2]]},"1156":{"position":[[3686,2]]},"1157":{"position":[[271,2]]},"1158":{"position":[[265,2]]},"1159":{"position":[[265,2]]},"1161":{"position":[[1260,2]]},"1163":{"position":[[646,2]]},"1165":{"position":[[475,2]]},"1167":{"position":[[9632,2]]},"1169":{"position":[[2740,2]]},"1171":{"position":[[981,2]]},"1172":{"position":[[2366,2]]},"1173":{"position":[[1053,2]]},"1174":{"position":[[481,2]]},"1175":{"position":[[477,2]]},"1176":{"position":[[646,2]]},"1177":{"position":[[567,2]]},"1178":{"position":[[884,2]]},"1179":{"position":[[681,2]]},"1180":{"position":[[952,2]]},"1181":{"position":[[1472,2]]},"1182":{"position":[[515,2]]},"1183":{"position":[[470,2]]},"1185":{"position":[[315,2]]},"1186":{"position":[[5276,2]]},"1187":{"position":[[5289,2]]},"1188":{"position":[[10015,2]]},"1190":{"position":[[1646,2]]},"1191":{"position":[[3876,2]]},"1192":{"position":[[4051,2]]},"1193":{"position":[[4103,2]]},"1194":{"position":[[3743,2]]},"1195":{"position":[[3721,2]]},"1196":{"position":[[3531,2]]},"1197":{"position":[[4514,2]]},"1198":{"position":[[4524,2]]},"1199":{"position":[[4552,2]]},"1200":{"position":[[4419,2]]},"1201":{"position":[[3679,2]]},"1202":{"position":[[423,2],[4821,2],[9218,2]]},"1203":{"position":[[3913,2]]},"1204":{"position":[[3757,2],[4659,2],[5589,2],[6491,2],[7477,2],[8431,2],[9378,2],[10308,2]]},"1205":{"position":[[5086,2]]},"1206":{"position":[[3785,2]]},"1207":{"position":[[3714,2]]},"1209":{"position":[[5062,2]]},"1211":{"position":[[386,2]]},"1213":{"position":[[157,2]]},"1215":{"position":[[241,2]]},"1217":{"position":[[8373,2]]},"1219":{"position":[[3628,2]]},"1221":{"position":[[360,2]]},"1222":{"position":[[3499,2]]},"1223":{"position":[[3509,2]]},"1224":{"position":[[2942,2]]},"1226":{"position":[[8841,2]]},"1228":{"position":[[10454,2]]},"1235":{"position":[[6322,2]]},"1237":{"position":[[9011,2]]}},"keywords":{}}],["v.host",{"_index":3308,"title":{},"content":{"663":{"position":[[757,6]]},"901":{"position":[[713,6]]}},"keywords":{}}],["v.index",{"_index":3129,"title":{},"content":{"638":{"position":[[753,7]]}},"keywords":{}}],["v.port",{"_index":3310,"title":{},"content":{"663":{"position":[[793,6]]},"901":{"position":[[748,6]]}},"keywords":{}}],["v.valu",{"_index":3128,"title":{},"content":{"638":{"position":[[690,7]]},"902":{"position":[[679,7]]}},"keywords":{}}],["v1",{"_index":4121,"title":{"1020":{"position":[[5,2]]}},"content":{"879":{"position":[[75,2]]},"926":{"position":[[98,3]]},"978":{"position":[[84,3]]},"1020":{"position":[[29,2]]}},"keywords":{}}],["v2",{"_index":4558,"title":{"928":{"position":[[28,4]]},"978":{"position":[[14,2]]}},"content":{"926":{"position":[[170,3]]},"978":{"position":[[14,2],[41,2]]}},"keywords":{}}],["v:off",{"_index":6661,"title":{},"content":{"1360":{"position":[[4728,6]]},"1383":{"position":[[6760,6]]},"1403":{"position":[[4143,6]]}},"keywords":{}}],["v=1,stderr"",{"_index":5914,"title":{},"content":{"1136":{"position":[[6448,16]]},"1138":{"position":[[10110,16]]},"1140":{"position":[[9036,16]]},"1142":{"position":[[4480,16]]},"1144":{"position":[[808,16]]},"1146":{"position":[[4420,16]]},"1148":{"position":[[8011,16]]},"1150":{"position":[[1043,16]]},"1152":{"position":[[741,16]]},"1154":{"position":[[896,16]]},"1155":{"position":[[4516,16]]},"1156":{"position":[[4094,16]]},"1157":{"position":[[679,16]]},"1158":{"position":[[673,16]]},"1159":{"position":[[673,16]]},"1161":{"position":[[1668,16]]},"1163":{"position":[[1054,16]]},"1165":{"position":[[883,16]]},"1167":{"position":[[10040,16]]},"1169":{"position":[[3148,16]]},"1171":{"position":[[1389,16]]},"1172":{"position":[[2774,16]]},"1173":{"position":[[1461,16]]},"1174":{"position":[[889,16]]},"1175":{"position":[[885,16]]},"1176":{"position":[[1054,16]]},"1177":{"position":[[975,16]]},"1178":{"position":[[1292,16]]},"1179":{"position":[[1089,16]]},"1180":{"position":[[1360,16]]},"1181":{"position":[[1880,16]]},"1182":{"position":[[923,16]]},"1183":{"position":[[878,16]]},"1185":{"position":[[723,16]]},"1186":{"position":[[5684,16]]},"1187":{"position":[[5697,16]]},"1188":{"position":[[10423,16]]},"1190":{"position":[[2054,16]]},"1191":{"position":[[4284,16]]},"1192":{"position":[[4459,16]]},"1193":{"position":[[4511,16]]},"1194":{"position":[[4151,16]]},"1195":{"position":[[4129,16]]},"1196":{"position":[[3939,16]]},"1197":{"position":[[4922,16]]},"1198":{"position":[[4932,16]]},"1199":{"position":[[4960,16]]},"1200":{"position":[[4827,16]]},"1201":{"position":[[4087,16]]},"1202":{"position":[[831,16],[5229,16],[9626,16]]},"1203":{"position":[[4321,16]]},"1204":{"position":[[4165,16],[5067,16],[5997,16],[6899,16],[7885,16],[8839,16],[9786,16],[10716,16]]},"1205":{"position":[[5494,16]]},"1206":{"position":[[4193,16]]},"1207":{"position":[[4122,16]]},"1209":{"position":[[5470,16]]},"1211":{"position":[[794,16]]},"1213":{"position":[[565,16]]},"1215":{"position":[[649,16]]},"1217":{"position":[[8781,16]]},"1219":{"position":[[4036,16]]},"1221":{"position":[[768,16]]},"1222":{"position":[[3907,16]]},"1223":{"position":[[3917,16]]},"1224":{"position":[[3350,16]]},"1226":{"position":[[9249,16]]},"1228":{"position":[[10862,16]]},"1235":{"position":[[6730,16]]},"1237":{"position":[[9419,16]]}},"keywords":{}}],["valid",{"_index":1373,"title":{},"content":{"136":{"position":[[135,9]]},"147":{"position":[[34,8]]},"259":{"position":[[135,9]]},"270":{"position":[[34,8]]},"309":{"position":[[426,5]]},"340":{"position":[[186,5]]},"374":{"position":[[1142,9]]},"389":{"position":[[882,5]]},"396":{"position":[[22,12],[133,10],[144,11],[367,12],[460,11]]},"405":{"position":[[1901,5]]},"566":{"position":[[604,5]]},"637":{"position":[[216,5]]},"644":{"position":[[578,5]]},"712":{"position":[[1571,10],[2447,10]]},"753":{"position":[[1142,9]]},"768":{"position":[[882,5]]},"775":{"position":[[22,12],[133,10],[144,11],[367,12],[460,11]]},"784":{"position":[[1901,5]]},"889":{"position":[[1278,6]]},"900":{"position":[[1337,5]]},"919":{"position":[[2525,6]]},"921":{"position":[[265,5],[658,5],[919,5]]},"939":{"position":[[1513,6]]},"942":{"position":[[389,6],[608,6]]},"1045":{"position":[[330,5]]},"1138":{"position":[[1652,11],[1713,10],[1775,11],[1874,12]]},"1140":{"position":[[1141,11],[1202,10],[1264,11],[1363,12]]},"1167":{"position":[[2145,11],[2206,10],[2268,11],[2367,12]]},"1188":{"position":[[1194,11],[1255,10],[1317,11],[1416,12]]},"1217":{"position":[[886,11],[947,10],[1009,11],[1108,12]]},"1228":{"position":[[2967,11],[3028,10],[3090,11],[3189,12]]},"1258":{"position":[[970,5]]},"1289":{"position":[[970,5]]},"1317":{"position":[[970,5]]},"1345":{"position":[[949,10]]},"1360":{"position":[[3869,5]]},"1374":{"position":[[2532,5]]},"1403":{"position":[[3284,5],[4636,6],[5956,6]]},"1407":{"position":[[2391,5]]},"1422":{"position":[[3631,10]]},"1423":{"position":[[2402,10]]},"1427":{"position":[[4163,5]]},"1429":{"position":[[5679,5]]},"1440":{"position":[[5671,5]]},"1462":{"position":[[7992,5]]},"1467":{"position":[[9052,5]]},"1487":{"position":[[1880,5]]}},"keywords":{}}],["validation_dep",{"_index":6467,"title":{},"content":{"1350":{"position":[[3736,16]]},"1352":{"position":[[3735,16]]},"1355":{"position":[[2103,16]]},"1362":{"position":[[4668,16]]},"1363":{"position":[[2703,16]]},"1364":{"position":[[4765,16]]},"1367":{"position":[[6489,16]]},"1372":{"position":[[1957,16]]},"1427":{"position":[[1629,16]]},"1439":{"position":[[1899,16]]}},"keywords":{}}],["validation_result",{"_index":2094,"title":{},"content":{"397":{"position":[[34,18]]},"776":{"position":[[34,18]]}},"keywords":{}}],["validationinfo",{"_index":2089,"title":{"396":{"position":[[0,15]]},"775":{"position":[[0,15]]}},"content":{"396":{"position":[[4,17],[63,14],[181,14]]},"775":{"position":[[4,17],[63,14],[181,14]]}},"keywords":{}}],["validationspec",{"_index":2093,"title":{"397":{"position":[[0,15]]},"776":{"position":[[0,15]]}},"content":{"396":{"position":[[411,14]]},"397":{"position":[[4,15],[94,14]]},"775":{"position":[[411,14]]},"776":{"position":[[4,15],[94,14]]}},"keywords":{}}],["valu",{"_index":545,"title":{"577":{"position":[[4,6]]},"578":{"position":[[16,6]]},"898":{"position":[[0,5]]},"915":{"position":[[17,7]]},"996":{"position":[[14,6]]},"1131":{"position":[[37,6]]},"1207":{"position":[[19,7]]},"1258":{"position":[[6,5]]},"1262":{"position":[[25,6]]},"1263":{"position":[[26,6]]},"1264":{"position":[[30,6]]},"1282":{"position":[[20,6],[38,7]]},"1283":{"position":[[17,6],[35,7]]},"1284":{"position":[[16,6],[34,7]]},"1289":{"position":[[6,5]]},"1293":{"position":[[25,6]]},"1294":{"position":[[26,6]]},"1295":{"position":[[30,6]]},"1313":{"position":[[20,6],[38,7]]},"1314":{"position":[[17,6],[35,7]]},"1315":{"position":[[16,6],[34,7]]},"1317":{"position":[[6,5]]},"1321":{"position":[[25,6]]},"1322":{"position":[[26,6]]},"1323":{"position":[[30,6]]},"1341":{"position":[[20,6],[38,7]]},"1342":{"position":[[17,6],[35,7]]},"1343":{"position":[[16,6],[34,7]]}},"content":{"18":{"position":[[378,7],[2315,7]]},"37":{"position":[[98,5]]},"66":{"position":[[127,5]]},"71":{"position":[[45,5]]},"74":{"position":[[44,5],[179,5]]},"92":{"position":[[643,6],[1109,5],[1190,6],[1746,6]]},"94":{"position":[[1573,5]]},"97":{"position":[[60,5]]},"98":{"position":[[860,6],[1272,6]]},"99":{"position":[[645,6]]},"118":{"position":[[176,5],[239,7]]},"119":{"position":[[124,5],[182,6]]},"121":{"position":[[36,5],[86,5],[269,5]]},"123":{"position":[[67,5]]},"126":{"position":[[211,5],[370,6]]},"130":{"position":[[103,6]]},"132":{"position":[[32,6]]},"140":{"position":[[106,5],[179,5]]},"145":{"position":[[341,7]]},"150":{"position":[[106,6]]},"161":{"position":[[47,5]]},"182":{"position":[[98,5]]},"224":{"position":[[643,6],[1109,5],[1190,6],[1746,6]]},"226":{"position":[[1573,5]]},"229":{"position":[[60,5]]},"230":{"position":[[860,6],[1272,6]]},"231":{"position":[[645,6]]},"238":{"position":[[45,6]]},"245":{"position":[[201,5]]},"246":{"position":[[200,5]]},"249":{"position":[[211,5],[370,6]]},"253":{"position":[[103,6]]},"255":{"position":[[32,6]]},"263":{"position":[[106,5],[179,5]]},"268":{"position":[[341,7]]},"273":{"position":[[106,6]]},"276":{"position":[[157,6]]},"281":{"position":[[191,6],[226,6]]},"304":{"position":[[189,6],[369,5]]},"306":{"position":[[109,5]]},"325":{"position":[[45,6]]},"326":{"position":[[55,6]]},"333":{"position":[[46,6]]},"345":{"position":[[584,6],[977,5]]},"363":{"position":[[80,7],[567,7]]},"374":{"position":[[547,5],[628,5],[778,5],[959,5],[1037,5],[1803,5]]},"389":{"position":[[854,7],[935,6],[991,6],[1069,6],[1122,6],[1294,5],[1410,7],[1527,6],[1570,7]]},"396":{"position":[[426,6]]},"400":{"position":[[434,6]]},"405":{"position":[[1016,7],[1145,6],[1907,5]]},"407":{"position":[[90,6]]},"410":{"position":[[66,5]]},"427":{"position":[[563,5]]},"431":{"position":[[42,5],[95,5]]},"432":{"position":[[59,5],[170,5]]},"441":{"position":[[50,5]]},"442":{"position":[[45,6],[124,5]]},"443":{"position":[[434,6]]},"451":{"position":[[35,6],[94,5],[168,5],[302,6]]},"454":{"position":[[127,5]]},"466":{"position":[[45,6]]},"467":{"position":[[55,6]]},"481":{"position":[[38,5]]},"484":{"position":[[41,5],[70,5]]},"494":{"position":[[45,5]]},"497":{"position":[[44,5],[179,5]]},"530":{"position":[[36,5],[86,5],[269,5]]},"532":{"position":[[67,5]]},"534":{"position":[[176,5],[239,7]]},"535":{"position":[[124,5],[182,6]]},"554":{"position":[[129,5],[202,6],[233,5]]},"555":{"position":[[85,6]]},"557":{"position":[[130,5],[243,6],[313,6]]},"559":{"position":[[65,5],[110,5],[184,5],[257,6],[306,5]]},"560":{"position":[[72,6],[684,5],[696,6]]},"561":{"position":[[71,6],[155,7]]},"566":{"position":[[494,5]]},"567":{"position":[[116,5],[258,5],[319,5],[351,5]]},"569":{"position":[[61,5],[127,5]]},"576":{"position":[[65,6]]},"577":{"position":[[51,6],[107,6],[247,5],[420,5],[603,5]]},"578":{"position":[[0,6],[113,6]]},"590":{"position":[[164,5]]},"592":{"position":[[94,6],[144,5],[191,6]]},"595":{"position":[[833,5],[961,6],[1096,5],[1157,5],[1203,5]]},"627":{"position":[[64,5]]},"628":{"position":[[68,6],[111,5]]},"629":{"position":[[68,5],[110,5]]},"630":{"position":[[55,5],[77,6]]},"634":{"position":[[147,5]]},"635":{"position":[[39,5]]},"637":{"position":[[57,6],[174,5]]},"638":{"position":[[51,5],[78,7],[249,6],[375,6],[497,6],[599,5],[684,5],[784,6],[1148,5],[1213,7]]},"639":{"position":[[187,6],[228,6],[281,5],[367,5]]},"640":{"position":[[100,5]]},"643":{"position":[[239,7]]},"644":{"position":[[262,5]]},"645":{"position":[[66,5],[117,5]]},"647":{"position":[[66,6],[105,5],[185,5]]},"648":{"position":[[85,5],[284,5]]},"649":{"position":[[58,5]]},"656":{"position":[[99,5]]},"660":{"position":[[40,6]]},"662":{"position":[[717,5],[774,5]]},"663":{"position":[[77,7],[391,6],[905,6]]},"675":{"position":[[929,5]]},"693":{"position":[[2563,7],[2678,5]]},"711":{"position":[[1116,6]]},"712":{"position":[[1481,6]]},"742":{"position":[[80,7],[567,7]]},"753":{"position":[[547,5],[628,5],[778,5],[959,5],[1037,5],[1803,5]]},"768":{"position":[[854,7],[935,6],[991,6],[1069,6],[1122,6],[1294,5],[1410,7],[1527,6],[1570,7]]},"775":{"position":[[426,6]]},"779":{"position":[[434,6]]},"784":{"position":[[1016,7],[1145,6],[1907,5]]},"786":{"position":[[90,6]]},"789":{"position":[[66,5]]},"806":{"position":[[563,5]]},"810":{"position":[[42,5],[95,5]]},"811":{"position":[[59,5],[170,5]]},"820":{"position":[[50,5]]},"821":{"position":[[45,6],[124,5]]},"822":{"position":[[434,6]]},"830":{"position":[[35,6],[94,5],[168,5],[302,6]]},"851":{"position":[[1488,6]]},"864":{"position":[[292,6]]},"877":{"position":[[619,6]]},"882":{"position":[[105,6]]},"887":{"position":[[79,6],[499,6]]},"888":{"position":[[61,5],[194,5],[573,5],[609,5]]},"889":{"position":[[15,5],[160,5],[217,5]]},"890":{"position":[[170,6],[1858,7],[1930,6],[3155,6],[4460,6],[5415,5],[6615,5]]},"892":{"position":[[640,5],[680,5],[878,5],[1177,6],[1608,6]]},"894":{"position":[[263,5],[504,5]]},"898":{"position":[[0,5],[227,6],[261,6],[715,7],[723,6],[793,6],[947,6],[1129,6],[1680,7],[2217,5],[2560,5],[2604,6]]},"900":{"position":[[89,5],[206,5],[262,5],[314,5],[522,6],[593,6],[666,5],[1102,5],[1343,6],[1406,5],[1613,7],[1661,6]]},"901":{"position":[[40,7],[353,6],[860,6]]},"902":{"position":[[29,5],[56,7],[364,6],[486,6],[588,5],[673,5],[772,6],[1133,5],[1198,7]]},"915":{"position":[[56,7],[107,5],[135,5]]},"916":{"position":[[115,6],[190,6]]},"917":{"position":[[94,7],[129,5]]},"938":{"position":[[230,5]]},"939":{"position":[[368,6],[448,5],[550,5],[710,5],[988,5]]},"944":{"position":[[180,6]]},"966":{"position":[[271,6],[645,5]]},"990":{"position":[[826,5]]},"991":{"position":[[3454,5]]},"995":{"position":[[325,6]]},"1001":{"position":[[92,6],[235,5],[266,6],[409,5],[465,6],[905,6],[1253,5],[1299,5],[1513,6]]},"1004":{"position":[[1127,6],[1358,6],[1549,7],[1557,6]]},"1009":{"position":[[576,6]]},"1011":{"position":[[178,7],[266,6]]},"1012":{"position":[[52,6],[127,6]]},"1016":{"position":[[73,6]]},"1018":{"position":[[326,6]]},"1040":{"position":[[163,6],[1534,5],[1616,6],[1848,6]]},"1043":{"position":[[146,6]]},"1052":{"position":[[458,5],[1240,5]]},"1053":{"position":[[566,5],[658,6],[698,6],[857,5]]},"1056":{"position":[[426,6]]},"1064":{"position":[[57,6],[291,5],[322,6],[401,5],[507,5],[563,6],[1005,6],[1336,5],[1391,5]]},"1065":{"position":[[187,5],[232,5]]},"1069":{"position":[[219,5],[503,5],[634,5],[772,5]]},"1071":{"position":[[742,6],[1152,5],[1334,5]]},"1079":{"position":[[553,7]]},"1081":{"position":[[190,5],[246,5],[291,6],[371,5]]},"1082":{"position":[[164,6],[275,5],[512,5],[654,7],[959,5],[1015,5]]},"1083":{"position":[[176,5],[269,5],[333,5],[389,7],[490,7],[618,5],[626,6],[793,5],[849,5],[1067,6]]},"1084":{"position":[[391,5],[447,5],[522,5]]},"1086":{"position":[[18,6],[225,6],[270,5],[302,5],[364,7],[431,6]]},"1087":{"position":[[60,5],[495,5],[551,5],[626,5],[676,6]]},"1088":{"position":[[842,5],[898,5],[973,5],[1023,6]]},"1096":{"position":[[357,5]]},"1126":{"position":[[240,5],[264,5]]},"1131":{"position":[[460,6]]},"1136":{"position":[[2350,7],[2686,5],[2873,7],[2948,7],[3024,5],[3148,6],[4120,7],[5107,7],[5309,6],[5551,7],[6113,7],[6591,5]]},"1138":{"position":[[797,7],[6075,5],[6348,5],[6535,7],[6610,7],[6686,5],[6810,6],[7782,7],[8769,7],[8971,6],[9213,7],[9775,7],[10253,5]]},"1140":{"position":[[423,7],[5274,5],[5461,7],[5536,7],[5612,5],[5736,6],[6708,7],[7695,7],[7897,6],[8139,7],[8701,7],[9179,5]]},"1142":{"position":[[905,7],[980,7],[1056,5],[1180,6],[2152,7],[3139,7],[3341,6],[3583,7],[4145,7],[4623,5]]},"1144":{"position":[[304,7],[473,7],[951,5]]},"1146":{"position":[[658,5],[845,7],[920,7],[996,5],[1120,6],[2092,7],[3079,7],[3281,6],[3523,7],[4085,7],[4563,5]]},"1148":{"position":[[2706,7],[3425,5],[3698,5],[3885,7],[3960,7],[4036,5],[4160,6],[5132,7],[6119,7],[6321,6],[6563,7],[7345,7],[7676,7],[8154,5]]},"1150":{"position":[[708,7],[1186,5]]},"1152":{"position":[[406,7],[884,5]]},"1154":{"position":[[561,7],[1039,5]]},"1155":{"position":[[616,7],[941,7],[1016,7],[1092,5],[1216,6],[2188,7],[3175,7],[3377,6],[3619,7],[4181,7],[4659,5]]},"1156":{"position":[[519,7],[594,7],[670,5],[794,6],[1766,7],[2753,7],[2955,6],[3197,7],[3759,7],[4237,5]]},"1157":{"position":[[175,7],[344,7],[822,5]]},"1158":{"position":[[169,7],[338,7],[816,5]]},"1159":{"position":[[169,7],[338,7],[816,5]]},"1161":{"position":[[646,7],[848,6],[1090,7],[1333,7],[1811,5]]},"1163":{"position":[[719,7],[1197,5]]},"1165":{"position":[[548,7],[1026,5]]},"1167":{"position":[[6278,5],[6465,7],[6540,7],[6616,5],[6740,6],[7712,7],[8699,7],[8901,6],[9143,7],[9705,7],[10183,5]]},"1169":{"position":[[304,7],[379,7],[455,5],[579,6],[1551,7],[2813,7],[3291,5]]},"1171":{"position":[[1054,7],[1532,5]]},"1172":{"position":[[1284,7],[2202,6],[2439,7],[2917,5]]},"1173":{"position":[[584,7],[1126,7],[1604,5]]},"1174":{"position":[[554,7],[1032,5]]},"1175":{"position":[[550,7],[1028,5]]},"1176":{"position":[[719,7],[1197,5]]},"1177":{"position":[[640,7],[1118,5]]},"1178":{"position":[[786,7],[957,7],[1435,5]]},"1179":{"position":[[524,7],[754,7],[1232,5]]},"1180":{"position":[[854,7],[1025,7],[1503,5]]},"1181":{"position":[[858,7],[1060,6],[1302,7],[1545,7],[2023,5]]},"1182":{"position":[[588,7],[1066,5]]},"1183":{"position":[[543,7],[1021,5]]},"1185":{"position":[[388,7],[866,5]]},"1186":{"position":[[897,7],[1649,5],[1922,5],[2109,7],[2184,7],[2260,5],[2384,6],[3356,7],[4343,7],[4545,6],[4787,7],[5349,7],[5827,5]]},"1187":{"position":[[910,7],[1662,5],[1935,5],[2122,7],[2197,7],[2273,5],[2397,6],[3369,7],[4356,7],[4558,6],[4800,7],[5362,7],[5840,5]]},"1188":{"position":[[476,7],[5636,7],[6388,5],[6661,5],[6848,7],[6923,7],[6999,5],[7123,6],[8095,7],[9082,7],[9284,6],[9526,7],[10088,7],[10566,5]]},"1190":{"position":[[1476,6],[1499,6],[1719,7],[2197,5]]},"1191":{"position":[[709,7],[784,7],[860,5],[984,6],[1956,7],[2943,7],[3145,6],[3387,7],[3949,7],[4427,5]]},"1192":{"position":[[697,5],[884,7],[959,7],[1035,5],[1159,6],[2131,7],[3118,7],[3320,6],[3562,7],[4124,7],[4602,5]]},"1193":{"position":[[192,6],[458,7],[547,7],[581,5],[637,7],[936,7],[1011,7],[1087,5],[1211,6],[2183,7],[3170,7],[3372,6],[3614,7],[4176,7],[4654,5]]},"1194":{"position":[[576,7],[651,7],[727,5],[851,6],[1823,7],[2810,7],[3012,6],[3254,7],[3816,7],[4294,5]]},"1195":{"position":[[554,7],[629,7],[705,5],[829,6],[1801,7],[2788,7],[2990,6],[3232,7],[3794,7],[4272,5]]},"1196":{"position":[[364,7],[439,7],[515,5],[639,6],[1611,7],[2598,7],[2800,6],[3042,7],[3604,7],[4082,5]]},"1197":{"position":[[887,5],[1160,5],[1347,7],[1422,7],[1498,5],[1622,6],[2594,7],[3581,7],[3783,6],[4025,7],[4587,7],[5065,5]]},"1198":{"position":[[897,5],[1170,5],[1357,7],[1432,7],[1508,5],[1632,6],[2604,7],[3591,7],[3793,6],[4035,7],[4597,7],[5075,5]]},"1199":{"position":[[925,5],[1198,5],[1385,7],[1460,7],[1536,5],[1660,6],[2632,7],[3619,7],[3821,6],[4063,7],[4625,7],[5103,5]]},"1200":{"position":[[792,5],[1065,5],[1252,7],[1327,7],[1403,5],[1527,6],[2499,7],[3486,7],[3688,6],[3930,7],[4492,7],[4970,5]]},"1201":{"position":[[512,7],[587,7],[663,5],[787,6],[1759,7],[2746,7],[2948,6],[3190,7],[3752,7],[4230,5]]},"1202":{"position":[[496,7],[974,5],[1654,7],[1729,7],[1805,5],[1929,6],[2901,7],[3888,7],[4090,6],[4332,7],[4894,7],[5372,5],[6051,7],[6126,7],[6202,5],[6326,6],[7298,7],[8285,7],[8487,6],[8729,7],[9291,7],[9769,5]]},"1203":{"position":[[559,5],[746,7],[821,7],[897,5],[1021,6],[1993,7],[2980,7],[3182,6],[3424,7],[3986,7],[4464,5]]},"1204":{"position":[[590,7],[665,7],[741,5],[865,6],[1837,7],[2824,7],[3026,6],[3268,7],[3830,7],[4308,5],[4732,7],[5210,5],[5662,7],[6140,5],[6564,7],[7042,5],[7550,7],[8028,5],[8504,7],[8982,5],[9451,7],[9929,5],[10381,7],[10859,5]]},"1205":{"position":[[1732,5],[1919,7],[1994,7],[2070,5],[2194,6],[3166,7],[4153,7],[4355,6],[4597,7],[5159,7],[5637,5]]},"1206":{"position":[[390,7],[465,7],[541,5],[665,6],[1637,7],[2624,7],[2826,6],[3068,7],[3858,7],[4336,5]]},"1207":{"position":[[16,7],[32,6],[149,6],[547,7],[622,7],[698,5],[822,6],[1794,7],[2781,7],[2983,6],[3225,7],[3787,7],[4265,5]]},"1209":{"position":[[1583,7],[1895,7],[1970,7],[2046,5],[2170,6],[3142,7],[4129,7],[4331,6],[4573,7],[5135,7],[5613,5]]},"1211":{"position":[[155,7],[459,7],[937,5]]},"1213":{"position":[[230,7],[708,5]]},"1215":{"position":[[314,7],[792,5]]},"1217":{"position":[[5019,5],[5206,7],[5281,7],[5357,5],[5481,6],[6453,7],[7440,7],[7642,6],[7884,7],[8446,7],[8924,5]]},"1219":{"position":[[1192,7],[1267,7],[1343,5],[1467,6],[2439,7],[3701,7],[4179,5]]},"1221":{"position":[[433,7],[911,5]]},"1222":{"position":[[316,7],[391,7],[467,5],[591,6],[1563,7],[2550,7],[2752,6],[2994,7],[3572,7],[4050,5]]},"1223":{"position":[[326,7],[401,7],[477,5],[601,6],[1573,7],[2560,7],[2762,6],[3004,7],[3582,7],[4060,5]]},"1224":{"position":[[506,7],[581,7],[657,5],[781,6],[1753,7],[3015,7],[3493,5]]},"1226":{"position":[[951,7],[1828,5],[1901,7],[2143,7],[4405,6],[4429,7],[4499,6],[4554,6],[4619,7],[4681,6],[4833,6],[5070,7],[5487,5],[5674,7],[5749,7],[5825,5],[5949,6],[6921,7],[7908,7],[8110,6],[8352,7],[8914,7],[9392,5]]},"1228":{"position":[[7100,5],[7287,7],[7362,7],[7438,5],[7562,6],[8534,7],[9521,7],[9723,6],[9965,7],[10527,7],[11005,5]]},"1235":{"position":[[966,6],[2843,7],[3155,7],[3230,7],[3306,5],[3430,6],[4402,7],[5389,7],[5591,6],[5833,7],[6395,7],[6873,5]]},"1237":{"position":[[1121,7],[1998,5],[2071,7],[2313,7],[4575,6],[4599,7],[4669,6],[4724,6],[4789,7],[4851,6],[5003,6],[5240,7],[5657,5],[5844,7],[5919,7],[5995,5],[6119,6],[7091,7],[8078,7],[8280,6],[8522,7],[9084,7],[9562,5]]},"1258":{"position":[[161,5],[570,5],[653,5],[899,5],[1264,6],[1281,6]]},"1259":{"position":[[171,6],[241,6],[406,6],[439,6],[512,6],[2055,6],[2073,7],[2154,6],[2172,7],[2265,6],[2283,7]]},"1260":{"position":[[205,5]]},"1262":{"position":[[26,6],[191,6],[340,6],[389,6],[594,5],[633,6]]},"1273":{"position":[[376,5]]},"1282":{"position":[[332,5]]},"1283":{"position":[[349,5]]},"1284":{"position":[[329,5]]},"1289":{"position":[[161,5],[570,5],[653,5],[899,5],[1264,6],[1281,6]]},"1290":{"position":[[171,6],[241,6],[406,6],[439,6],[512,6],[2055,6],[2073,7],[2154,6],[2172,7],[2265,6],[2283,7]]},"1291":{"position":[[205,5]]},"1293":{"position":[[26,6],[191,6],[340,6],[389,6],[594,5],[633,6]]},"1304":{"position":[[376,5]]},"1313":{"position":[[332,5]]},"1314":{"position":[[349,5]]},"1315":{"position":[[329,5]]},"1317":{"position":[[161,5],[570,5],[653,5],[899,5],[1264,6],[1281,6]]},"1318":{"position":[[171,6],[241,6],[406,6],[439,6],[512,6],[2055,6],[2073,7],[2154,6],[2172,7],[2265,6],[2283,7]]},"1319":{"position":[[205,5]]},"1321":{"position":[[26,6],[191,6],[340,6],[389,6],[594,5],[633,6]]},"1332":{"position":[[376,5]]},"1341":{"position":[[332,5]]},"1342":{"position":[[349,5]]},"1343":{"position":[[329,5]]},"1345":{"position":[[928,5]]},"1348":{"position":[[3438,5],[3593,6]]},"1349":{"position":[[1583,5]]},"1350":{"position":[[4554,5]]},"1351":{"position":[[624,7],[1780,5],[2117,7],[2177,7],[2265,6],[2326,5],[2391,6],[2559,7],[2647,6],[2708,5],[2773,6],[3219,6],[3705,5],[3927,6]]},"1352":{"position":[[4553,5]]},"1353":{"position":[[2157,5]]},"1354":{"position":[[1995,5]]},"1355":{"position":[[3140,5],[3337,7],[6669,5],[7508,5]]},"1356":{"position":[[1501,5]]},"1357":{"position":[[1174,5]]},"1358":{"position":[[1895,5]]},"1359":{"position":[[1732,5]]},"1360":{"position":[[2369,5],[3712,5],[3851,5],[5601,6]]},"1361":{"position":[[1722,5]]},"1362":{"position":[[6092,5],[7280,5],[9296,5]]},"1363":{"position":[[3838,5],[5027,6],[5163,7]]},"1364":{"position":[[6121,5],[7519,5],[10410,5]]},"1365":{"position":[[1656,5]]},"1366":{"position":[[1868,5],[2086,7]]},"1367":{"position":[[7519,5],[9384,5],[9943,6],[10079,7]]},"1368":{"position":[[2212,5]]},"1369":{"position":[[1264,5]]},"1370":{"position":[[1517,5],[2385,5]]},"1371":{"position":[[1140,5]]},"1372":{"position":[[2778,5]]},"1373":{"position":[[3650,5],[4968,5]]},"1374":{"position":[[1552,5],[2556,6]]},"1375":{"position":[[393,7],[1176,5]]},"1376":{"position":[[1132,5]]},"1377":{"position":[[1371,5]]},"1378":{"position":[[1118,5]]},"1379":{"position":[[1141,5]]},"1380":{"position":[[1612,5]]},"1381":{"position":[[1518,5],[1771,6],[2315,5]]},"1382":{"position":[[4004,5],[6038,5]]},"1383":{"position":[[2242,5],[7604,6]]},"1384":{"position":[[5166,5],[6550,5],[10985,5],[18342,5]]},"1385":{"position":[[2837,5],[3951,5]]},"1386":{"position":[[1475,5]]},"1387":{"position":[[5106,5],[6284,5]]},"1388":{"position":[[4304,5],[6070,6],[6174,6],[6907,5]]},"1389":{"position":[[5159,5],[5780,5]]},"1390":{"position":[[1411,5]]},"1391":{"position":[[1364,5]]},"1392":{"position":[[1514,5]]},"1393":{"position":[[2092,5],[4103,5],[5719,5],[5786,5],[6510,6]]},"1394":{"position":[[1534,5],[1687,6]]},"1395":{"position":[[1549,5],[2734,6]]},"1396":{"position":[[1340,5],[1587,6]]},"1397":{"position":[[1521,5],[2285,6]]},"1398":{"position":[[2199,5],[3339,6],[3712,6]]},"1399":{"position":[[1376,5]]},"1400":{"position":[[1245,5]]},"1401":{"position":[[1320,5]]},"1402":{"position":[[1476,5]]},"1403":{"position":[[2072,5],[3127,5],[3266,5],[4542,5],[5834,5],[6704,6]]},"1404":{"position":[[1309,5]]},"1405":{"position":[[2000,5],[2817,7],[2851,5],[3057,7]]},"1406":{"position":[[1216,5]]},"1407":{"position":[[2041,5],[2345,7],[3238,7],[3272,5],[3478,7]]},"1408":{"position":[[1737,5]]},"1409":{"position":[[1271,5]]},"1410":{"position":[[2439,5],[3039,6],[3818,7],[3852,5],[4059,7]]},"1411":{"position":[[1254,5]]},"1412":{"position":[[2460,5]]},"1413":{"position":[[2638,5]]},"1414":{"position":[[1505,5]]},"1415":{"position":[[3487,5]]},"1416":{"position":[[2139,5]]},"1417":{"position":[[1728,5]]},"1418":{"position":[[1429,5]]},"1419":{"position":[[1557,5]]},"1420":{"position":[[1821,5]]},"1421":{"position":[[1796,5]]},"1422":{"position":[[1705,5],[2223,5],[3436,6]]},"1423":{"position":[[1688,5]]},"1424":{"position":[[1813,5]]},"1425":{"position":[[1429,5]]},"1426":{"position":[[1778,5],[2496,5]]},"1427":{"position":[[2675,5],[3893,6],[4169,6],[4324,5],[5868,5],[6997,5]]},"1428":{"position":[[1411,5]]},"1429":{"position":[[3339,5],[3933,6],[5663,5],[5709,6]]},"1430":{"position":[[2187,5]]},"1431":{"position":[[1531,5]]},"1432":{"position":[[2052,5]]},"1433":{"position":[[1573,5]]},"1434":{"position":[[1247,5]]},"1435":{"position":[[1211,5]]},"1436":{"position":[[1227,5]]},"1437":{"position":[[1297,5]]},"1438":{"position":[[1437,5],[1617,7],[1631,5],[1728,5],[1857,5]]},"1439":{"position":[[2961,5],[3158,7],[4877,5],[4913,5],[5019,5],[5118,5]]},"1440":{"position":[[3527,5],[3926,6],[5655,5],[5701,6]]},"1441":{"position":[[1253,5]]},"1442":{"position":[[1332,5]]},"1443":{"position":[[1548,5]]},"1444":{"position":[[1464,5]]},"1445":{"position":[[1153,5]]},"1446":{"position":[[1487,5]]},"1447":{"position":[[1369,5]]},"1448":{"position":[[1804,5]]},"1449":{"position":[[1738,5]]},"1450":{"position":[[1617,5]]},"1451":{"position":[[1617,5]]},"1452":{"position":[[1163,5]]},"1453":{"position":[[1749,5]]},"1454":{"position":[[4115,5],[5254,5]]},"1455":{"position":[[2002,5]]},"1456":{"position":[[1347,5]]},"1457":{"position":[[1406,5]]},"1458":{"position":[[1941,5]]},"1459":{"position":[[1420,5]]},"1460":{"position":[[1532,5]]},"1461":{"position":[[1753,5]]},"1462":{"position":[[5128,5]]},"1463":{"position":[[1254,5]]},"1464":{"position":[[1162,5]]},"1465":{"position":[[2260,5]]},"1466":{"position":[[1498,5]]},"1467":{"position":[[5823,5],[6423,6],[6527,6]]},"1468":{"position":[[1262,5]]},"1469":{"position":[[1641,5]]},"1470":{"position":[[4164,5]]},"1471":{"position":[[2504,5],[3525,6]]},"1472":{"position":[[2463,5],[3193,6],[4109,6],[5658,5]]},"1473":{"position":[[2778,5],[3593,6],[5377,6]]},"1474":{"position":[[2163,5]]},"1475":{"position":[[2634,5]]},"1476":{"position":[[1239,5]]},"1477":{"position":[[1397,5]]},"1478":{"position":[[1888,5],[2069,7],[2351,5],[2364,6],[2375,6],[2816,6]]},"1479":{"position":[[1331,5]]},"1480":{"position":[[1744,5]]},"1481":{"position":[[2277,5]]},"1482":{"position":[[1351,5]]},"1483":{"position":[[1185,5]]},"1484":{"position":[[1257,5]]},"1485":{"position":[[1517,5],[2319,5]]},"1486":{"position":[[1761,5],[5313,6]]},"1487":{"position":[[1462,5],[1886,6],[2251,5]]}},"keywords":{}}],["value<'v>",{"_index":4183,"title":{},"content":{"889":{"position":[[392,15]]}},"keywords":{}}],["value'",{"_index":3340,"title":{},"content":{"666":{"position":[[427,7]]},"886":{"position":[[85,7]]},"887":{"position":[[279,7]]}},"keywords":{}}],["value.if",{"_index":6279,"title":{},"content":{"1262":{"position":[[524,8]]},"1293":{"position":[[524,8]]},"1321":{"position":[[524,8]]}},"keywords":{}}],["value[<arg>",{"_index":2078,"title":{},"content":{"389":{"position":[[1140,18]]},"768":{"position":[[1140,18]]}},"keywords":{}}],["value["default"]arg",{"_index":2076,"title":{},"content":{"389":{"position":[[1009,29]]},"768":{"position":[[1009,29]]}},"keywords":{}}],["value_typ",{"_index":1376,"title":{},"content":{"138":{"position":[[21,11]]},"144":{"position":[[15,11]]},"261":{"position":[[21,11]]},"267":{"position":[[15,11]]}},"keywords":{}}],["valueno",{"_index":2075,"title":{},"content":{"389":{"position":[[953,7]]},"768":{"position":[[953,7]]}},"keywords":{}}],["values"option1"",{"_index":4393,"title":{},"content":{"902":{"position":[[227,26]]}},"keywords":{}}],["values.mutable/mutablemutable/thawonwrit",{"_index":4355,"title":{},"content":{"898":{"position":[[2661,41]]}},"keywords":{}}],["values_fil",{"_index":6470,"title":{},"content":{"1351":{"position":[[647,12],[2486,12],[2878,11]]}},"keywords":{}}],["valuescfg//os:linux",{"_index":4624,"title":{},"content":{"938":{"position":[[426,20]]}},"keywords":{}}],["var",{"_index":6169,"title":{},"content":{"1239":{"position":[[77,4]]},"1345":{"position":[[492,6],[769,6],[1063,7]]},"1363":{"position":[[5297,7],[5341,6],[5351,6]]},"1367":{"position":[[10213,7],[10257,6],[10267,6]]}},"keywords":{}}],["var="value"",{"_index":4449,"title":{},"content":{"910":{"position":[[161,21]]}},"keywords":{}}],["var=valu",{"_index":4451,"title":{},"content":{"910":{"position":[[214,9]]}},"keywords":{}}],["vari",{"_index":244,"title":{},"content":{"9":{"position":[[1486,4]]},"72":{"position":[[124,6]]},"495":{"position":[[124,6]]},"702":{"position":[[472,7]]},"1025":{"position":[[281,4]]}},"keywords":{}}],["variabl",{"_index":1146,"title":{},"content":{"92":{"position":[[1768,9]]},"94":{"position":[[2548,9],[4183,8]]},"224":{"position":[[1768,9]]},"226":{"position":[[2548,9],[4183,8]]},"362":{"position":[[1504,11]]},"377":{"position":[[1339,8],[1538,8]]},"408":{"position":[[94,8]]},"581":{"position":[[415,8]]},"741":{"position":[[1504,11]]},"756":{"position":[[1339,8],[1538,8]]},"787":{"position":[[94,8]]},"890":{"position":[[654,9],[849,9],[1212,8],[1307,9],[1437,9],[1635,9],[2234,9],[2303,9],[2976,9],[3499,9],[3584,9],[3891,9],[3994,9],[4711,9],[4790,9],[4901,9],[4975,9],[5366,10],[5697,8],[5762,9],[5787,8],[7035,10]]},"910":{"position":[[243,9],[302,8]]},"962":{"position":[[109,9]]},"1004":{"position":[[339,8]]},"1040":{"position":[[1870,9]]},"1050":{"position":[[2349,8],[3122,8]]},"1052":{"position":[[500,8],[1443,8]]},"1054":{"position":[[889,8]]},"1120":{"position":[[403,9]]},"1152":{"position":[[27,9],[144,9]]},"1217":{"position":[[154,9]]},"1228":{"position":[[319,10]]},"1345":{"position":[[443,9],[720,9],[1020,9]]},"1351":{"position":[[786,9],[872,8]]},"1360":{"position":[[2570,9],[2714,9],[3041,9],[3208,9],[3684,8],[3808,8],[4305,8],[4783,9],[4890,10],[5169,9],[5419,9]]},"1363":{"position":[[5001,8],[5139,8],[5186,8]]},"1367":{"position":[[9917,8],[10055,8],[10102,8]]},"1374":{"position":[[792,10],[1916,9],[2007,9]]},"1383":{"position":[[1346,9],[2626,9],[2881,10],[5767,10],[5811,9],[6338,8],[6815,9],[6998,10],[7277,9],[7422,9]]},"1388":{"position":[[6202,10]]},"1393":{"position":[[4084,10]]},"1398":{"position":[[2397,9],[3365,9],[5733,9]]},"1403":{"position":[[2456,9],[2623,9],[3099,8],[3223,8],[3720,8],[4198,9],[4878,10],[5326,9],[6522,9]]},"1405":{"position":[[2271,9]]},"1407":{"position":[[2692,9]]},"1410":{"position":[[2714,9],[3025,9]]},"1462":{"position":[[7950,9]]},"1467":{"position":[[6555,10],[9010,9]]},"1471":{"position":[[3452,9],[3516,8]]},"1472":{"position":[[3120,9],[3184,8],[4036,9],[4100,8]]},"1473":{"position":[[3486,9],[3584,8],[5319,9],[5368,8]]},"1477":{"position":[[2120,8],[2434,8]]},"1478":{"position":[[2249,8],[2328,8]]},"1486":{"position":[[1986,9]]}},"keywords":{}}],["variant",{"_index":1364,"title":{},"content":{"133":{"position":[[16,9],[148,8]]},"256":{"position":[[16,9],[148,8]]},"679":{"position":[[363,8]]},"693":{"position":[[3184,8]]},"856":{"position":[[80,7],[172,7]]},"890":{"position":[[6401,7]]},"898":{"position":[[1650,7]]},"1366":{"position":[[806,9],[923,8],[2243,7],[2920,9],[2960,8],[3140,7]]},"1385":{"position":[[1869,7]]},"1387":{"position":[[4217,7]]}},"keywords":{}}],["variant_nam",{"_index":6958,"title":{},"content":{"1366":{"position":[[3107,13]]}},"keywords":{}}],["variant_name.lproj",{"_index":6957,"title":{},"content":{"1366":{"position":[[3080,20]]}},"keywords":{}}],["varieti",{"_index":143,"title":{},"content":{"7":{"position":[[139,7]]},"22":{"position":[[52,7]]},"693":{"position":[[2891,7]]},"924":{"position":[[722,7]]},"958":{"position":[[76,7]]}},"keywords":{}}],["varint",{"_index":6041,"title":{},"content":{"1219":{"position":[[337,6],[397,7]]}},"keywords":{}}],["variou",{"_index":1134,"title":{},"content":{"92":{"position":[[1214,7]]},"224":{"position":[[1214,7]]},"724":{"position":[[1883,7]]},"860":{"position":[[37,7]]},"890":{"position":[[1684,7]]},"907":{"position":[[39,7]]},"919":{"position":[[815,7]]},"966":{"position":[[422,7]]},"1040":{"position":[[1640,7]]},"1105":{"position":[[93,7]]},"1383":{"position":[[8432,7]]},"1454":{"position":[[3314,7]]}},"keywords":{}}],["vastli",{"_index":298,"title":{},"content":{"9":{"position":[[2621,6]]},"10":{"position":[[1089,6]]}},"keywords":{}}],["vec![s].alloc(h2",{"_index":4163,"title":{},"content":{"888":{"position":[[404,18]]}},"keywords":{}}],["vec<frozenslots>",{"_index":4251,"title":{},"content":{"890":{"position":[[5522,23]]}},"keywords":{}}],["vec<slots>",{"_index":4247,"title":{},"content":{"890":{"position":[[5128,17]]}},"keywords":{}}],["vector",{"_index":7226,"title":{},"content":{"1384":{"position":[[21952,9]]}},"keywords":{}}],["vector.cpp",{"_index":7228,"title":{},"content":{"1384":{"position":[[22086,15]]}},"keywords":{}}],["vector.h",{"_index":7232,"title":{},"content":{"1384":{"position":[[22196,11]]}},"keywords":{}}],["vendor",{"_index":5616,"title":{},"content":{"1095":{"position":[[203,9]]}},"keywords":{}}],["verbatim",{"_index":5492,"title":{"1071":{"position":[[0,8]]}},"content":{"1071":{"position":[[1347,8]]},"1446":{"position":[[1677,8]]}},"keywords":{}}],["verbatim("foobar"",{"_index":5499,"title":{},"content":{"1071":{"position":[[999,29]]}},"keywords":{}}],["verbos",{"_index":3097,"title":{},"content":{"635":{"position":[[171,7]]},"659":{"position":[[56,7]]},"661":{"position":[[54,7]]},"870":{"position":[[1214,7]]},"1136":{"position":[[6045,7],[6075,7],[6405,9]]},"1138":{"position":[[9707,7],[9737,7],[10067,9]]},"1140":{"position":[[8633,7],[8663,7],[8993,9]]},"1142":{"position":[[4077,7],[4107,7],[4437,9]]},"1144":{"position":[[405,7],[435,7],[765,9]]},"1146":{"position":[[4017,7],[4047,7],[4377,9]]},"1148":{"position":[[7608,7],[7638,7],[7968,9]]},"1150":{"position":[[640,7],[670,7],[1000,9]]},"1152":{"position":[[338,7],[368,7],[698,9]]},"1154":{"position":[[493,7],[523,7],[853,9]]},"1155":{"position":[[4113,7],[4143,7],[4473,9]]},"1156":{"position":[[3691,7],[3721,7],[4051,9]]},"1157":{"position":[[276,7],[306,7],[636,9]]},"1158":{"position":[[270,7],[300,7],[630,9]]},"1159":{"position":[[270,7],[300,7],[630,9]]},"1161":{"position":[[1265,7],[1295,7],[1625,9]]},"1163":{"position":[[651,7],[681,7],[1011,9]]},"1165":{"position":[[480,7],[510,7],[840,9]]},"1167":{"position":[[9637,7],[9667,7],[9997,9]]},"1169":{"position":[[2745,7],[2775,7],[3105,9]]},"1171":{"position":[[986,7],[1016,7],[1346,9]]},"1172":{"position":[[2371,7],[2401,7],[2731,9]]},"1173":{"position":[[1058,7],[1088,7],[1418,9]]},"1174":{"position":[[486,7],[516,7],[846,9]]},"1175":{"position":[[482,7],[512,7],[842,9]]},"1176":{"position":[[651,7],[681,7],[1011,9]]},"1177":{"position":[[572,7],[602,7],[932,9]]},"1178":{"position":[[889,7],[919,7],[1249,9]]},"1179":{"position":[[686,7],[716,7],[1046,9]]},"1180":{"position":[[957,7],[987,7],[1317,9]]},"1181":{"position":[[1477,7],[1507,7],[1837,9]]},"1182":{"position":[[520,7],[550,7],[880,9]]},"1183":{"position":[[475,7],[505,7],[835,9]]},"1185":{"position":[[320,7],[350,7],[680,9]]},"1186":{"position":[[5281,7],[5311,7],[5641,9]]},"1187":{"position":[[5294,7],[5324,7],[5654,9]]},"1188":{"position":[[10020,7],[10050,7],[10380,9]]},"1190":{"position":[[1651,7],[1681,7],[2011,9]]},"1191":{"position":[[3881,7],[3911,7],[4241,9]]},"1192":{"position":[[4056,7],[4086,7],[4416,9]]},"1193":{"position":[[4108,7],[4138,7],[4468,9]]},"1194":{"position":[[3748,7],[3778,7],[4108,9]]},"1195":{"position":[[3726,7],[3756,7],[4086,9]]},"1196":{"position":[[3536,7],[3566,7],[3896,9]]},"1197":{"position":[[294,8],[4519,7],[4549,7],[4879,9]]},"1198":{"position":[[4529,7],[4559,7],[4889,9]]},"1199":{"position":[[4557,7],[4587,7],[4917,9]]},"1200":{"position":[[4424,7],[4454,7],[4784,9]]},"1201":{"position":[[3684,7],[3714,7],[4044,9]]},"1202":{"position":[[428,7],[458,7],[788,9],[4826,7],[4856,7],[5186,9],[9223,7],[9253,7],[9583,9]]},"1203":{"position":[[3918,7],[3948,7],[4278,9]]},"1204":{"position":[[3762,7],[3792,7],[4122,9],[4664,7],[4694,7],[5024,9],[5594,7],[5624,7],[5954,9],[6496,7],[6526,7],[6856,9],[7482,7],[7512,7],[7842,9],[8436,7],[8466,7],[8796,9],[9383,7],[9413,7],[9743,9],[10313,7],[10343,7],[10673,9]]},"1205":{"position":[[5091,7],[5121,7],[5451,9]]},"1206":{"position":[[3790,7],[3820,7],[4150,9]]},"1207":{"position":[[3719,7],[3749,7],[4079,9]]},"1209":{"position":[[5067,7],[5097,7],[5427,9]]},"1211":{"position":[[391,7],[421,7],[751,9]]},"1213":{"position":[[162,7],[192,7],[522,9]]},"1215":{"position":[[246,7],[276,7],[606,9]]},"1217":{"position":[[8378,7],[8408,7],[8738,9]]},"1219":{"position":[[3633,7],[3663,7],[3993,9]]},"1221":{"position":[[365,7],[395,7],[725,9]]},"1222":{"position":[[3504,7],[3534,7],[3864,9]]},"1223":{"position":[[3514,7],[3544,7],[3874,9]]},"1224":{"position":[[2947,7],[2977,7],[3307,9]]},"1226":{"position":[[8846,7],[8876,7],[9206,9]]},"1228":{"position":[[10459,7],[10489,7],[10819,9]]},"1235":{"position":[[6327,7],[6357,7],[6687,9]]},"1237":{"position":[[9016,7],[9046,7],[9376,9]]}},"keywords":{}}],["veri",{"_index":627,"title":{"1252":{"position":[[18,4]]}},"content":{"22":{"position":[[15,4]]},"23":{"position":[[2628,4]]},"705":{"position":[[109,4]]},"846":{"position":[[1410,4]]},"861":{"position":[[979,4]]},"980":{"position":[[929,4],[1251,4]]},"989":{"position":[[22,4]]},"1050":{"position":[[3579,4]]},"1082":{"position":[[1304,4]]},"1197":{"position":[[288,5]]},"1231":{"position":[[498,4]]},"1252":{"position":[[100,4]]},"1453":{"position":[[960,4]]},"1461":{"position":[[1933,4]]}},"keywords":{}}],["verifi",{"_index":3974,"title":{},"content":{"860":{"position":[[673,6]]},"921":{"position":[[438,9]]},"1050":{"position":[[2125,6]]},"1190":{"position":[[843,6]]},"1201":{"position":[[0,6]]},"1422":{"position":[[2484,8]]},"1423":{"position":[[2153,8]]}},"keywords":{}}],["versa",{"_index":3631,"title":{},"content":{"703":{"position":[[197,6]]},"1393":{"position":[[2817,6]]}},"keywords":{}}],["version",{"_index":26,"title":{},"content":{"3":{"position":[[217,7]]},"10":{"position":[[980,7]]},"15":{"position":[[236,7]]},"17":{"position":[[578,7],[850,7]]},"22":{"position":[[524,7],[1960,7]]},"24":{"position":[[336,9],[368,7],[613,9]]},"93":{"position":[[82,7]]},"225":{"position":[[82,7]]},"446":{"position":[[249,7]]},"580":{"position":[[230,7],[360,7]]},"595":{"position":[[114,7]]},"690":{"position":[[442,7],[587,7]]},"693":{"position":[[3896,7],[3962,7]]},"696":{"position":[[364,7]]},"715":{"position":[[101,7]]},"825":{"position":[[249,7]]},"856":{"position":[[429,8]]},"937":{"position":[[3464,8]]},"947":{"position":[[697,7],[870,7],[933,7]]},"980":{"position":[[1566,7]]},"994":{"position":[[158,8],[187,9],[232,9],[462,8],[499,8]]},"995":{"position":[[1245,7]]},"1050":{"position":[[1997,7],[2173,7],[2232,7]]},"1136":{"position":[[2994,7],[3052,7]]},"1138":{"position":[[6656,7],[6714,7]]},"1140":{"position":[[5582,7],[5640,7]]},"1142":{"position":[[1026,7],[1084,7]]},"1146":{"position":[[966,7],[1024,7]]},"1148":{"position":[[4006,7],[4064,7]]},"1155":{"position":[[1062,7],[1120,7]]},"1156":{"position":[[640,7],[698,7]]},"1167":{"position":[[6586,7],[6644,7]]},"1169":{"position":[[425,7],[483,7]]},"1186":{"position":[[2230,7],[2288,7]]},"1187":{"position":[[2243,7],[2301,7]]},"1188":{"position":[[6969,7],[7027,7]]},"1191":{"position":[[830,7],[888,7]]},"1192":{"position":[[1005,7],[1063,7]]},"1193":{"position":[[1057,7],[1115,7]]},"1194":{"position":[[697,7],[755,7]]},"1195":{"position":[[675,7],[733,7]]},"1196":{"position":[[485,7],[543,7]]},"1197":{"position":[[1468,7],[1526,7]]},"1198":{"position":[[1478,7],[1536,7]]},"1199":{"position":[[1506,7],[1564,7]]},"1200":{"position":[[1373,7],[1431,7]]},"1201":{"position":[[633,7],[691,7]]},"1202":{"position":[[1775,7],[1833,7],[6172,7],[6230,7]]},"1203":{"position":[[867,7],[925,7]]},"1204":{"position":[[711,7],[769,7]]},"1205":{"position":[[2040,7],[2098,7]]},"1206":{"position":[[511,7],[569,7]]},"1207":{"position":[[668,7],[726,7]]},"1209":{"position":[[2016,7],[2074,7]]},"1217":{"position":[[5327,7],[5385,7]]},"1219":{"position":[[1313,7],[1371,7]]},"1222":{"position":[[437,7],[495,7]]},"1223":{"position":[[447,7],[505,7]]},"1224":{"position":[[627,7],[685,7]]},"1226":{"position":[[5795,7],[5853,7]]},"1228":{"position":[[7408,7],[7466,7]]},"1235":{"position":[[3276,7],[3334,7]]},"1237":{"position":[[5965,7],[6023,7]]},"1253":{"position":[[413,7],[545,8]]},"1254":{"position":[[171,7],[459,7]]},"1351":{"position":[[3170,7],[3663,8]]},"1355":{"position":[[6595,7],[7436,7]]},"1360":{"position":[[2790,7],[4588,7]]},"1362":{"position":[[13268,7]]},"1364":{"position":[[13968,7]]},"1367":{"position":[[13176,7]]},"1368":{"position":[[1250,8]]},"1381":{"position":[[2054,7]]},"1383":{"position":[[2375,7],[6620,7]]},"1384":{"position":[[18501,8]]},"1386":{"position":[[6090,7],[6141,8],[6154,7],[6214,8]]},"1393":{"position":[[990,8],[2499,8],[2649,7],[8329,8],[8342,7],[8383,7],[8501,7],[8555,7],[8574,8],[8611,7],[8670,7],[8696,7]]},"1397":{"position":[[630,8],[2720,7],[2756,8],[2777,7],[3213,8],[3231,7],[3539,7]]},"1403":{"position":[[2205,7],[4003,7]]},"1407":{"position":[[2542,7]]},"1421":{"position":[[904,8]]},"1427":{"position":[[5794,7],[6925,7]]},"1429":{"position":[[3749,8],[3825,8]]},"1440":{"position":[[3742,8],[3818,8]]},"1462":{"position":[[8752,7]]},"1465":{"position":[[4043,7]]},"1467":{"position":[[10235,7]]},"1471":{"position":[[2761,7],[5675,7]]},"1472":{"position":[[2720,7],[5817,8],[6561,7]]},"1473":{"position":[[3035,7],[5846,7]]},"1480":{"position":[[964,8]]},"1484":{"position":[[472,9]]}},"keywords":{}}],["version"",{"_index":5511,"title":{},"content":{"1072":{"position":[[858,14],[1388,14]]}},"keywords":{}}],["version="1.0"",{"_index":6580,"title":{},"content":{"1356":{"position":[[2179,23]]}},"keywords":{}}],["version_univers",{"_index":7040,"title":{},"content":{"1373":{"position":[[2655,17]]},"1382":{"position":[[2901,17]]},"1384":{"position":[[4204,17]]},"1385":{"position":[[1790,17]]},"1386":{"position":[[510,17]]},"1387":{"position":[[4098,17]]},"1388":{"position":[[3368,17]]},"1415":{"position":[[2354,17]]},"1462":{"position":[[4129,17]]},"1465":{"position":[[1147,17]]},"1467":{"position":[[4687,17]]},"1471":{"position":[[1599,17]]},"1472":{"position":[[1560,17]]},"1473":{"position":[[1846,17]]}},"keywords":{}}],["versioned_alia",{"_index":4961,"title":{"994":{"position":[[0,16]]},"1484":{"position":[[0,16]]}},"content":{"994":{"position":[[4,15],[421,16]]},"1484":{"position":[[4,16]]}},"keywords":{}}],["versioned_alias'",{"_index":4963,"title":{},"content":{"994":{"position":[[262,17]]}},"keywords":{}}],["versioned_exported_lang_platform_preprocessor_flag",{"_index":8155,"title":{},"content":{"1454":{"position":[[2431,52]]}},"keywords":{}}],["versioned_exported_lang_preprocessor_flag",{"_index":8157,"title":{},"content":{"1454":{"position":[[2547,43]]}},"keywords":{}}],["versioned_exported_platform_preprocessor_flag",{"_index":8158,"title":{},"content":{"1454":{"position":[[2641,47]]}},"keywords":{}}],["versioned_exported_preprocessor_flag",{"_index":8159,"title":{},"content":{"1454":{"position":[[2741,38]]}},"keywords":{}}],["versioned_header_dir",{"_index":8160,"title":{},"content":{"1454":{"position":[[2819,22]]}},"keywords":{}}],["versioned_import_lib",{"_index":8161,"title":{},"content":{"1454":{"position":[[2888,21]]}},"keywords":{}}],["versioned_macos_bundl",{"_index":6872,"title":{},"content":{"1363":{"position":[[2735,23]]},"1367":{"position":[[6521,23]]},"1372":{"position":[[1989,23]]}},"keywords":{}}],["versioned_resourc",{"_index":8349,"title":{},"content":{"1465":{"position":[[1181,20]]},"1467":{"position":[[4721,20]]}},"keywords":{}}],["versioned_shared_lib",{"_index":8162,"title":{},"content":{"1454":{"position":[[2950,21]]}},"keywords":{}}],["versioned_sonam",{"_index":8163,"title":{},"content":{"1454":{"position":[[3012,17]]}},"keywords":{}}],["versioned_src",{"_index":8350,"title":{},"content":{"1465":{"position":[[1265,15]]},"1467":{"position":[[4805,15]]}},"keywords":{}}],["versioned_static_lib",{"_index":8164,"title":{},"content":{"1454":{"position":[[3070,21]]}},"keywords":{}}],["versioned_static_pic_lib",{"_index":8165,"title":{},"content":{"1454":{"position":[[3132,25]]}},"keywords":{}}],["via",{"_index":31,"title":{},"content":{"4":{"position":[[15,3]]},"24":{"position":[[164,3]]},"94":{"position":[[2528,3],[4163,3]]},"226":{"position":[[2528,3],[4163,3]]},"288":{"position":[[148,3]]},"289":{"position":[[168,3]]},"298":{"position":[[968,3]]},"305":{"position":[[76,3],[304,3],[315,3]]},"315":{"position":[[191,4]]},"316":{"position":[[211,4]]},"317":{"position":[[214,4]]},"318":{"position":[[353,4]]},"344":{"position":[[222,3],[356,3]]},"346":{"position":[[103,3],[372,3],[383,3]]},"347":{"position":[[106,3],[408,3],[419,3]]},"510":{"position":[[174,3]]},"511":{"position":[[194,3]]},"690":{"position":[[317,3]]},"693":{"position":[[5910,3],[9672,3],[10215,3]]},"715":{"position":[[1683,3],[2106,3]]},"832":{"position":[[522,3]]},"833":{"position":[[273,3]]},"834":{"position":[[209,3]]},"840":{"position":[[915,3],[1855,3]]},"848":{"position":[[667,3]]},"851":{"position":[[34,3]]},"864":{"position":[[35,3],[1634,3]]},"867":{"position":[[1735,3],[2117,3]]},"869":{"position":[[267,3]]},"870":{"position":[[349,3]]},"890":{"position":[[3297,8],[4015,4],[4732,3]]},"923":{"position":[[208,3],[231,3]]},"937":{"position":[[635,3]]},"938":{"position":[[672,3]]},"940":{"position":[[935,3]]},"947":{"position":[[398,3],[1208,3],[1336,3]]},"949":{"position":[[167,3]]},"958":{"position":[[70,3]]},"959":{"position":[[424,3]]},"964":{"position":[[504,3],[868,3]]},"965":{"position":[[345,3]]},"976":{"position":[[29,3]]},"981":{"position":[[830,3]]},"989":{"position":[[395,3]]},"990":{"position":[[118,3]]},"1015":{"position":[[46,3]]},"1043":{"position":[[26,3]]},"1050":{"position":[[756,3],[2330,3],[2478,3]]},"1054":{"position":[[489,3]]},"1086":{"position":[[45,3]]},"1087":{"position":[[353,3]]},"1091":{"position":[[175,3]]},"1103":{"position":[[864,3]]},"1136":{"position":[[3166,3]]},"1138":{"position":[[6828,3]]},"1140":{"position":[[769,3],[5754,3]]},"1142":{"position":[[1198,3]]},"1146":{"position":[[1138,3]]},"1148":{"position":[[4178,3]]},"1155":{"position":[[1234,3]]},"1156":{"position":[[812,3]]},"1167":{"position":[[6758,3]]},"1169":{"position":[[597,3]]},"1186":{"position":[[2402,3]]},"1187":{"position":[[2415,3]]},"1188":{"position":[[822,3],[7141,3]]},"1191":{"position":[[1002,3]]},"1192":{"position":[[1177,3]]},"1193":{"position":[[1229,3]]},"1194":{"position":[[869,3]]},"1195":{"position":[[847,3]]},"1196":{"position":[[657,3]]},"1197":{"position":[[1640,3]]},"1198":{"position":[[1650,3]]},"1199":{"position":[[1678,3]]},"1200":{"position":[[1545,3]]},"1201":{"position":[[805,3]]},"1202":{"position":[[1947,3],[6344,3]]},"1203":{"position":[[1039,3]]},"1204":{"position":[[883,3]]},"1205":{"position":[[2212,3]]},"1206":{"position":[[683,3]]},"1207":{"position":[[840,3]]},"1209":{"position":[[2188,3]]},"1217":{"position":[[5499,3]]},"1219":{"position":[[99,3],[222,3],[1485,3]]},"1222":{"position":[[609,3]]},"1223":{"position":[[619,3]]},"1224":{"position":[[799,3]]},"1226":{"position":[[5967,3]]},"1228":{"position":[[969,3],[7580,3]]},"1235":{"position":[[3448,3]]},"1237":{"position":[[6137,3]]},"1351":{"position":[[2040,3]]},"1355":{"position":[[6414,3]]},"1358":{"position":[[2453,3]]},"1359":{"position":[[1883,3],[2235,3]]},"1370":{"position":[[648,3]]},"1373":{"position":[[7908,3],[8057,3]]},"1382":{"position":[[6359,4],[10684,3],[10833,3]]},"1384":{"position":[[11306,4],[17016,4],[17264,4],[17309,3],[17758,3],[17907,3]]},"1385":{"position":[[2064,3]]},"1386":{"position":[[2116,3]]},"1388":{"position":[[7228,4],[9177,3],[9326,3]]},"1392":{"position":[[686,3]]},"1393":{"position":[[5010,3],[5063,4],[6118,3]]},"1405":{"position":[[2622,3]]},"1407":{"position":[[1229,3],[3043,3]]},"1410":{"position":[[3145,3]]},"1423":{"position":[[1905,3]]},"1427":{"position":[[5586,3]]},"1429":{"position":[[2579,3]]},"1439":{"position":[[7495,3]]},"1440":{"position":[[2767,3]]},"1455":{"position":[[3497,3],[3995,3],[4406,3]]},"1467":{"position":[[5035,3]]},"1470":{"position":[[3348,3]]},"1485":{"position":[[2639,4],[3549,3],[3698,3]]}},"keywords":{}}],["viactx.analysi",{"_index":3878,"title":{},"content":{"845":{"position":[[43,18]]}},"keywords":{}}],["viactx.output.print",{"_index":3825,"title":{},"content":{"834":{"position":[[61,22]]}},"keywords":{}}],["viaexternalrunnertestinfo",{"_index":5477,"title":{},"content":{"1068":{"position":[[55,26]]}},"keywords":{}}],["vice",{"_index":3630,"title":{},"content":{"703":{"position":[[192,4]]},"1393":{"position":[[2812,4]]}},"keywords":{}}],["video",{"_index":110,"title":{"6":{"position":[[9,6]]}},"content":{"1354":{"position":[[2822,5]]}},"keywords":{}}],["view",{"_index":2737,"title":{"1127":{"position":[[0,7]]}},"content":{"587":{"position":[[586,4]]},"704":{"position":[[334,4]]},"706":{"position":[[1568,6],[1625,6]]},"708":{"position":[[1034,4]]},"1427":{"position":[[4830,4]]},"1439":{"position":[[7329,4]]}},"keywords":{}}],["viewabl",{"_index":3570,"title":{},"content":{"693":{"position":[[6069,8]]}},"keywords":{}}],["violat",{"_index":6495,"title":{},"content":{"1351":{"position":[[4820,8]]}},"keywords":{}}],["virtual",{"_index":760,"title":{},"content":{"23":{"position":[[2672,7]]}},"keywords":{}}],["visibl",{"_index":581,"title":{"683":{"position":[[0,11]]},"707":{"position":[[0,10]]},"918":{"position":[[12,10]]},"920":{"position":[[25,10]]},"1201":{"position":[[11,11]]}},"content":{"18":{"position":[[1316,10],[1425,10]]},"424":{"position":[[39,11]]},"683":{"position":[[126,7],[190,10],[350,10],[379,10]]},"693":{"position":[[9138,10],[10233,11]]},"708":{"position":[[140,10],[196,10],[332,10],[409,7],[584,10],[678,7],[973,10],[1130,10]]},"803":{"position":[[39,11]]},"907":{"position":[[110,10]]},"919":{"position":[[22,10],[159,10],[289,10],[310,10],[349,10],[419,10],[602,10],[702,10],[848,10],[997,10],[1082,10],[1260,11],[1298,10],[1357,10],[1673,10],[1748,10],[1844,10],[1911,10],[1996,10],[2108,10],[2158,10],[2221,10],[2275,10],[2364,10],[2504,10],[2801,10]]},"920":{"position":[[39,10],[249,11],[277,10],[501,10],[558,10],[580,10]]},"921":{"position":[[12,10],[271,11],[332,10],[512,10],[578,10],[664,10],[770,10],[925,10],[1049,10]]},"994":{"position":[[615,10]]},"995":{"position":[[1516,10]]},"1064":{"position":[[1592,11],[1789,10],[1813,10],[1924,10],[1970,10],[2155,10]]},"1069":{"position":[[267,7]]},"1190":{"position":[[832,10],[854,10]]},"1201":{"position":[[11,10],[129,10]]},"1348":{"position":[[180,11],[3270,10],[3360,10]]},"1349":{"position":[[191,11],[1415,10],[1505,10]]},"1350":{"position":[[183,11],[4386,10],[4476,10]]},"1351":{"position":[[189,11],[1588,11],[1610,10],[1701,10]]},"1352":{"position":[[183,11],[4385,10],[4475,10]]},"1353":{"position":[[196,11],[1989,10],[2079,10]]},"1354":{"position":[[197,11],[1827,10],[1917,10]]},"1355":{"position":[[184,11],[2948,11],[2970,10],[3061,10]]},"1356":{"position":[[185,11],[1333,10],[1423,10]]},"1357":{"position":[[185,11],[1006,10],[1096,10]]},"1358":{"position":[[189,11],[1727,10],[1817,10]]},"1359":{"position":[[185,11],[1564,10],[1654,10]]},"1360":{"position":[[180,11],[2177,11],[2199,10],[2290,10]]},"1361":{"position":[[188,11],[1554,10],[1644,10]]},"1362":{"position":[[181,11],[5900,11],[5922,10],[6013,10]]},"1363":{"position":[[181,11],[3646,11],[3668,10],[3759,10]]},"1364":{"position":[[182,11],[5929,11],[5951,10],[6042,10]]},"1365":{"position":[[182,11],[1488,10],[1578,10]]},"1366":{"position":[[183,11],[1676,11],[1698,10],[1789,10]]},"1367":{"position":[[179,11],[7327,11],[7349,10],[7440,10]]},"1368":{"position":[[184,11],[2044,10],[2134,10]]},"1369":{"position":[[188,11],[1096,10],[1186,10]]},"1370":{"position":[[195,11],[1325,11],[1347,10],[1438,10]]},"1371":{"position":[[186,11],[972,10],[1062,10]]},"1372":{"position":[[183,11],[2610,10],[2700,10]]},"1373":{"position":[[180,11],[3482,10],[3572,10]]},"1374":{"position":[[182,11],[1360,11],[1382,10],[1473,10]]},"1375":{"position":[[183,11],[1008,10],[1098,10]]},"1376":{"position":[[188,11],[964,10],[1054,10]]},"1377":{"position":[[185,11],[1203,10],[1293,10]]},"1378":{"position":[[187,11],[950,10],[1040,10]]},"1379":{"position":[[185,11],[973,10],[1063,10]]},"1380":{"position":[[184,11],[1444,10],[1534,10]]},"1381":{"position":[[183,11],[1350,10],[1440,10]]},"1382":{"position":[[179,11],[3812,11],[3834,10],[3925,10]]},"1383":{"position":[[180,11],[2050,11],[2072,10],[2163,10]]},"1384":{"position":[[180,11],[4974,11],[4996,10],[5087,10]]},"1385":{"position":[[186,11],[2669,10],[2759,10]]},"1386":{"position":[[191,11],[1307,10],[1397,10]]},"1387":{"position":[[189,11],[4938,10],[5028,10]]},"1388":{"position":[[177,11],[4112,11],[4134,10],[4225,10]]},"1389":{"position":[[182,11],[4991,10],[5081,10]]},"1390":{"position":[[177,11],[1243,10],[1333,10]]},"1391":{"position":[[178,11],[1196,10],[1286,10]]},"1392":{"position":[[175,11],[1346,10],[1436,10]]},"1393":{"position":[[179,11],[1900,11],[1922,10],[2013,10]]},"1394":{"position":[[188,11],[1366,10],[1456,10]]},"1395":{"position":[[183,11],[1357,11],[1379,10],[1470,10]]},"1396":{"position":[[188,11],[1172,10],[1262,10]]},"1397":{"position":[[183,11],[1353,10],[1443,10]]},"1398":{"position":[[180,11],[2007,11],[2029,10],[2120,10]]},"1399":{"position":[[180,11],[1208,10],[1298,10]]},"1400":{"position":[[189,11],[1077,10],[1167,10]]},"1401":{"position":[[178,11],[1152,10],[1242,10]]},"1402":{"position":[[177,11],[1308,10],[1398,10],[2280,10]]},"1403":{"position":[[176,11],[1880,11],[1902,10],[1993,10]]},"1404":{"position":[[178,11],[1141,10],[1231,10]]},"1405":{"position":[[178,11],[1832,10],[1922,10]]},"1406":{"position":[[188,11],[1048,10],[1138,10]]},"1407":{"position":[[188,11],[1873,10],[1963,10]]},"1408":{"position":[[179,11],[1569,10],[1659,10]]},"1409":{"position":[[178,11],[1103,10],[1193,10]]},"1410":{"position":[[176,11],[2247,11],[2269,10],[2360,10]]},"1411":{"position":[[183,11],[1086,10],[1176,10]]},"1412":{"position":[[183,11],[2268,11],[2290,10],[2381,10]]},"1413":{"position":[[180,11],[2470,10],[2560,10]]},"1414":{"position":[[179,11],[1337,10],[1427,10]]},"1415":{"position":[[183,11],[3319,10],[3409,10]]},"1416":{"position":[[183,11],[1971,10],[2061,10]]},"1417":{"position":[[181,11],[1560,10],[1650,10]]},"1418":{"position":[[184,11],[1261,10],[1351,10]]},"1419":{"position":[[180,11],[1389,10],[1479,10]]},"1420":{"position":[[184,11],[1653,10],[1743,10]]},"1421":{"position":[[193,11],[1628,10],[1718,10]]},"1422":{"position":[[181,11],[1513,11],[1535,10],[1626,10]]},"1423":{"position":[[178,11],[1520,10],[1610,10]]},"1424":{"position":[[180,11],[1645,10],[1735,10]]},"1425":{"position":[[194,11],[1261,10],[1351,10]]},"1426":{"position":[[180,11],[1586,11],[1608,10],[1699,10]]},"1427":{"position":[[181,11],[2483,11],[2505,10],[2596,10]]},"1428":{"position":[[180,11],[1243,10],[1333,10]]},"1429":{"position":[[178,11],[3147,11],[3169,10],[3260,10]]},"1430":{"position":[[185,11],[2019,10],[2109,10]]},"1431":{"position":[[178,11],[1363,10],[1453,10]]},"1432":{"position":[[186,11],[1884,10],[1974,10]]},"1433":{"position":[[179,11],[1405,10],[1495,10]]},"1434":{"position":[[181,11],[1079,10],[1169,10]]},"1435":{"position":[[186,11],[1043,10],[1133,10]]},"1436":{"position":[[182,11],[1059,10],[1149,10]]},"1437":{"position":[[179,11],[1129,10],[1219,10]]},"1438":{"position":[[177,11],[1245,11],[1267,10],[1358,10]]},"1439":{"position":[[183,11],[2769,11],[2791,10],[2882,10]]},"1440":{"position":[[180,11],[3335,11],[3357,10],[3448,10]]},"1441":{"position":[[185,11],[1085,10],[1175,10]]},"1442":{"position":[[186,11],[1140,11],[1162,10],[1253,10]]},"1443":{"position":[[179,11],[1380,10],[1470,10]]},"1444":{"position":[[180,11],[1296,10],[1386,10]]},"1445":{"position":[[183,11],[985,10],[1075,10]]},"1446":{"position":[[180,11],[1319,10],[1409,10]]},"1447":{"position":[[182,11],[1201,10],[1291,10]]},"1448":{"position":[[181,11],[1636,10],[1726,10]]},"1449":{"position":[[182,11],[1570,10],[1660,10]]},"1450":{"position":[[181,11],[1449,10],[1539,10]]},"1451":{"position":[[181,11],[1449,10],[1539,10]]},"1452":{"position":[[177,11],[995,10],[1085,10]]},"1453":{"position":[[193,11],[1581,10],[1671,10],[2006,10]]},"1454":{"position":[[189,11],[3947,10],[4037,10]]},"1455":{"position":[[195,11],[1834,10],[1924,10]]},"1456":{"position":[[192,11],[1179,10],[1269,10]]},"1457":{"position":[[188,11],[1238,10],[1328,10]]},"1458":{"position":[[181,11],[1773,10],[1863,10]]},"1459":{"position":[[192,11],[1252,10],[1342,10]]},"1460":{"position":[[191,11],[1364,10],[1454,10]]},"1461":{"position":[[192,11],[1561,11],[1583,10],[1674,10]]},"1462":{"position":[[182,11],[4960,10],[5050,10]]},"1463":{"position":[[192,11],[1086,10],[1176,10]]},"1464":{"position":[[193,11],[994,10],[1084,10]]},"1465":{"position":[[183,11],[2092,10],[2182,10]]},"1466":{"position":[[196,11],[1330,10],[1420,10]]},"1467":{"position":[[180,11],[5631,11],[5653,10],[5744,10]]},"1468":{"position":[[187,11],[1094,10],[1184,10]]},"1469":{"position":[[180,11],[1449,11],[1471,10],[1562,10]]},"1470":{"position":[[185,11],[3996,10],[4086,10]]},"1471":{"position":[[180,11],[2312,11],[2334,10],[2425,10]]},"1472":{"position":[[181,11],[2271,11],[2293,10],[2384,10]]},"1473":{"position":[[178,11],[2586,11],[2608,10],[2699,10]]},"1474":{"position":[[182,11],[1995,10],[2085,10]]},"1475":{"position":[[179,11],[2466,10],[2556,10]]},"1476":{"position":[[185,11],[1071,10],[1161,10]]},"1477":{"position":[[178,11],[1205,11],[1227,10],[1318,10]]},"1478":{"position":[[176,11],[1696,11],[1718,10],[1809,10]]},"1479":{"position":[[193,11],[1163,10],[1253,10]]},"1480":{"position":[[182,11],[1576,10],[1666,10]]},"1481":{"position":[[184,11],[2109,10],[2199,10]]},"1482":{"position":[[179,11],[1183,10],[1273,10],[2040,10],[2191,10],[2321,10]]},"1483":{"position":[[184,11],[1017,10],[1107,10]]},"1484":{"position":[[184,11],[1089,10],[1179,10]]},"1485":{"position":[[185,11],[1349,10],[1439,10]]},"1486":{"position":[[180,11],[1593,10],[1683,10]]},"1487":{"position":[[177,11],[1270,11],[1292,10],[1383,10]]}},"keywords":{}}],["visit",{"_index":3667,"title":{},"content":{"706":{"position":[[621,8]]},"1084":{"position":[[181,7]]},"1088":{"position":[[120,8],[330,8],[413,6]]}},"keywords":{}}],["visual",{"_index":3616,"title":{"958":{"position":[[0,6]]}},"content":{"697":{"position":[[37,13]]},"958":{"position":[[165,6]]},"1181":{"position":[[41,11]]},"1260":{"position":[[1008,13]]},"1291":{"position":[[1008,13]]},"1319":{"position":[[1008,13]]}},"keywords":{}}],["vm_arg",{"_index":7817,"title":{},"content":{"1413":{"position":[[1859,8]]},"1414":{"position":[[726,8]]},"1429":{"position":[[2458,8],[6240,8]]},"1440":{"position":[[2646,8],[6039,8]]},"1470":{"position":[[3220,8]]},"1475":{"position":[[1855,8]]}},"keywords":{}}],["vpn",{"_index":1112,"title":{},"content":{"91":{"position":[[619,4]]},"223":{"position":[[619,4]]},"1422":{"position":[[3836,4]]},"1423":{"position":[[2606,4]]},"1469":{"position":[[2417,4]]}},"keywords":{}}],["vpnless_url",{"_index":1106,"title":{},"content":{"91":{"position":[[85,12],[544,11]]},"223":{"position":[[85,12],[544,11]]},"1422":{"position":[[682,13],[3754,13]]},"1423":{"position":[[583,13]]},"1469":{"position":[[589,12],[2325,12]]}},"keywords":{}}],["vs",{"_index":1737,"title":{"701":{"position":[[6,2]]},"703":{"position":[[9,2]]},"837":{"position":[[26,2]]}},"content":{"314":{"position":[[406,2]]},"705":{"position":[[9,2]]},"898":{"position":[[703,2]]}},"keywords":{}}],["vscode",{"_index":4724,"title":{},"content":{"946":{"position":[[726,7]]}},"keywords":{}}],["vsgo",{"_index":4764,"title":{"958":{"position":[[22,7]]}},"content":{"958":{"position":[[0,4]]}},"keywords":{}}],["vsn",{"_index":7496,"title":{},"content":{"1393":{"position":[[8415,3]]}},"keywords":{}}],["w",{"_index":5982,"title":{},"content":{"1167":{"position":[[1467,2]]}},"keywords":{}}],["wait",{"_index":252,"title":{},"content":{"9":{"position":[[1568,7]]},"10":{"position":[[964,4]]},"362":{"position":[[1854,4]]},"741":{"position":[[1854,4]]},"951":{"position":[[1230,4]]},"1138":{"position":[[4629,4],[4817,4]]},"1140":{"position":[[4118,4],[4306,4]]},"1167":{"position":[[1472,4],[1524,4],[5122,4],[5310,4]]},"1188":{"position":[[4171,4],[4359,4]]},"1217":{"position":[[3863,4],[4051,4]]},"1228":{"position":[[5944,4],[6132,4]]},"1486":{"position":[[3986,5]]}},"keywords":{}}],["walk",{"_index":3649,"title":{},"content":{"705":{"position":[[738,4]]},"892":{"position":[[1144,4]]}},"keywords":{}}],["wall",{"_index":6816,"title":{},"content":{"1362":{"position":[[13061,6]]},"1364":{"position":[[13761,6]]},"1367":{"position":[[12969,6]]},"1382":{"position":[[11423,6]]},"1384":{"position":[[19077,6]]},"1385":{"position":[[7001,6]]},"1387":{"position":[[10374,6]]},"1388":{"position":[[9916,6]]},"1442":{"position":[[2796,6]]},"1485":{"position":[[4287,6]]}},"keywords":{}}],["want",{"_index":1008,"title":{},"content":{"79":{"position":[[134,4]]},"89":{"position":[[899,4]]},"98":{"position":[[672,4]]},"221":{"position":[[899,4]]},"230":{"position":[[672,4]]},"408":{"position":[[125,4]]},"416":{"position":[[586,4]]},"417":{"position":[[816,4]]},"436":{"position":[[168,4]]},"508":{"position":[[134,4]]},"710":{"position":[[149,4],[253,4]]},"711":{"position":[[714,4]]},"787":{"position":[[125,4]]},"795":{"position":[[586,4]]},"796":{"position":[[816,4]]},"815":{"position":[[168,4]]},"833":{"position":[[314,4]]},"840":{"position":[[359,4]]},"848":{"position":[[36,4]]},"850":{"position":[[269,4]]},"905":{"position":[[1032,4],[1237,4]]},"920":{"position":[[97,4]]},"923":{"position":[[42,4]]},"924":{"position":[[389,4]]},"937":{"position":[[1798,4],[2087,4]]},"944":{"position":[[1146,4]]},"972":{"position":[[126,4]]},"991":{"position":[[457,4]]},"995":{"position":[[1216,4]]},"997":{"position":[[12,4],[129,4],[198,4]]},"1025":{"position":[[30,4]]},"1060":{"position":[[208,4]]},"1061":{"position":[[7,4]]},"1083":{"position":[[1126,4]]},"1093":{"position":[[601,4]]},"1102":{"position":[[1074,4]]},"1104":{"position":[[1590,4]]},"1138":{"position":[[6126,5]]},"1148":{"position":[[3476,5]]},"1186":{"position":[[769,4],[1700,5]]},"1187":{"position":[[782,4],[1713,5]]},"1188":{"position":[[5508,4],[6439,5]]},"1197":{"position":[[938,5]]},"1198":{"position":[[948,5]]},"1199":{"position":[[976,5]]},"1200":{"position":[[843,5]]},"1240":{"position":[[248,4]]},"1249":{"position":[[7,4]]},"1346":{"position":[[429,4],[502,4]]},"1355":{"position":[[4953,4]]},"1359":{"position":[[2008,4]]},"1386":{"position":[[5359,4]]},"1393":{"position":[[7190,4]]},"1398":{"position":[[1198,4],[4133,4]]},"1399":{"position":[[2557,4],[2598,4]]},"1410":{"position":[[4503,4]]},"1439":{"position":[[5579,4],[6245,4]]},"1446":{"position":[[1755,4]]},"1461":{"position":[[2155,4]]},"1470":{"position":[[4551,4]]}},"keywords":{}}],["warn",{"_index":2390,"title":{"450":{"position":[[0,8]]},"829":{"position":[[0,8]]}},"content":{"446":{"position":[[191,7]]},"450":{"position":[[43,8],[136,4],[205,8],[271,9]]},"575":{"position":[[177,7]]},"825":{"position":[[191,7]]},"829":{"position":[[43,8],[136,4],[205,8],[271,9]]},"1102":{"position":[[1047,7]]},"1123":{"position":[[0,8]]},"1412":{"position":[[4161,8]]},"1427":{"position":[[4239,7]]},"1471":{"position":[[5446,9]]},"1472":{"position":[[6332,9]]}},"keywords":{}}],["warning(x",{"_index":2407,"title":{},"content":{"450":{"position":[[4,10]]},"829":{"position":[[4,10]]}},"keywords":{}}],["warnings_flag",{"_index":8119,"title":{},"content":{"1448":{"position":[[883,15]]},"1449":{"position":[[825,15]]},"1450":{"position":[[830,15]]},"1451":{"position":[[830,15]]}},"keywords":{}}],["watch",{"_index":680,"title":{},"content":{"22":{"position":[[1733,8]]},"995":{"position":[[1059,5]]},"1363":{"position":[[4477,6]]}},"keywords":{}}],["watch>"",{"_index":5008,"title":{},"content":{"1004":{"position":[[1791,16]]}},"keywords":{}}],["watch_kit_stub_binari",{"_index":7006,"title":{},"content":{"1368":{"position":[[1275,22]]}},"keywords":{}}],["watchapplication/info.plist",{"_index":6911,"title":{},"content":{"1363":{"position":[[7388,30]]}},"keywords":{}}],["watchextension/resources/info.plist",{"_index":6907,"title":{},"content":{"1363":{"position":[[7185,38]]}},"keywords":{}}],["watchkit",{"_index":6885,"title":{},"content":{"1363":{"position":[[4445,8]]}},"keywords":{}}],["watchman",{"_index":792,"title":{},"content":{"24":{"position":[[691,8]]},"879":{"position":[[197,9]]}},"keywords":{}}],["watcho",{"_index":4974,"title":{},"content":{"995":{"position":[[934,7]]},"1004":{"position":[[874,7],[907,7],[1108,7],[1134,7],[1339,7],[1402,7]]},"1005":{"position":[[349,7],[388,7]]},"1363":{"position":[[4606,8],[7038,7]]}},"keywords":{}}],["watchos_resourc",{"_index":5021,"title":{},"content":{"1005":{"position":[[406,16]]}},"keywords":{}}],["watchsimul",{"_index":6886,"title":{},"content":{"1363":{"position":[[4588,14]]}},"keywords":{}}],["way",{"_index":157,"title":{},"content":{"7":{"position":[[360,4]]},"9":{"position":[[559,5]]},"89":{"position":[[224,3]]},"94":{"position":[[3458,3]]},"221":{"position":[[224,3]]},"226":{"position":[[3458,3]]},"276":{"position":[[279,4]]},"277":{"position":[[230,4]]},"281":{"position":[[346,4]]},"282":{"position":[[294,4]]},"374":{"position":[[1159,4]]},"408":{"position":[[507,4]]},"570":{"position":[[534,4]]},"622":{"position":[[1084,3]]},"675":{"position":[[14,4],[1275,4]]},"690":{"position":[[260,3]]},"693":{"position":[[5341,3],[6516,3]]},"753":{"position":[[1159,4]]},"787":{"position":[[507,4]]},"856":{"position":[[342,3]]},"860":{"position":[[425,3]]},"889":{"position":[[528,5]]},"890":{"position":[[3206,5],[3567,4],[3932,6]]},"919":{"position":[[2788,3]]},"920":{"position":[[26,3]]},"924":{"position":[[457,4]]},"937":{"position":[[242,4],[1534,3],[3163,3],[4837,3]]},"938":{"position":[[1048,3]]},"945":{"position":[[99,3]]},"946":{"position":[[206,4],[660,3]]},"973":{"position":[[13,4]]},"975":{"position":[[350,3]]},"977":{"position":[[562,3]]},"980":{"position":[[304,4]]},"990":{"position":[[678,3]]},"1000":{"position":[[753,4]]},"1011":{"position":[[60,4],[339,3]]},"1024":{"position":[[111,4]]},"1050":{"position":[[650,3]]},"1082":{"position":[[425,3]]},"1083":{"position":[[121,3]]},"1097":{"position":[[50,3]]},"1104":{"position":[[61,3]]},"1105":{"position":[[354,3]]},"1107":{"position":[[9,3]]},"1112":{"position":[[1591,3]]},"1138":{"position":[[2070,3]]},"1140":{"position":[[1559,3]]},"1167":{"position":[[2563,3]]},"1188":{"position":[[1612,3]]},"1217":{"position":[[1304,3]]},"1228":{"position":[[3385,3]]},"1348":{"position":[[3959,3]]},"1351":{"position":[[4962,3]]},"1355":{"position":[[5405,3]]},"1362":{"position":[[5172,3]]},"1363":{"position":[[5977,3]]},"1364":{"position":[[5201,3]]},"1373":{"position":[[7846,3]]},"1382":{"position":[[10622,3]]},"1384":{"position":[[17696,3]]},"1386":{"position":[[3061,3],[5933,3]]},"1388":{"position":[[9115,3]]},"1399":{"position":[[2038,3]]},"1485":{"position":[[3487,3]]},"1487":{"position":[[708,4]]}},"keywords":{}}],["we'd",{"_index":4544,"title":{},"content":{"924":{"position":[[1573,4]]}},"keywords":{}}],["we'll",{"_index":4542,"title":{},"content":{"924":{"position":[[1504,5]]},"975":{"position":[[26,5],[200,5]]},"976":{"position":[[0,5]]}},"keywords":{}}],["we'v",{"_index":2696,"title":{},"content":{"584":{"position":[[36,5]]}},"keywords":{}}],["weak_framework_nam",{"_index":7041,"title":{},"content":{"1373":{"position":[[2689,21]]},"1382":{"position":[[2935,21]]},"1384":{"position":[[4238,21]]},"1387":{"position":[[4132,21]]},"1388":{"position":[[3402,21]]},"1415":{"position":[[2388,21]]},"1462":{"position":[[4163,21]]},"1467":{"position":[[4884,21]]}},"keywords":{}}],["websit",{"_index":3,"title":{"1":{"position":[[20,7]]}},"content":{},"keywords":{}}],["week",{"_index":5537,"title":{},"content":{"1079":{"position":[[575,4]]},"1142":{"position":[[266,4]]}},"keywords":{}}],["weight",{"_index":1176,"title":{},"content":{"94":{"position":[[709,7]]},"226":{"position":[[709,7]]},"1360":{"position":[[1295,7],[5655,7]]},"1383":{"position":[[1153,7],[8160,7]]},"1403":{"position":[[1178,7],[7260,7]]},"1424":{"position":[[1034,7]]},"1432":{"position":[[1273,7]]}},"keywords":{}}],["weight_percentag",{"_index":1177,"title":{},"content":{"94":{"position":[[726,18]]},"226":{"position":[[726,18]]}},"keywords":{}}],["well",{"_index":794,"title":{},"content":{"24":{"position":[[875,5]]},"368":{"position":[[2818,5]]},"463":{"position":[[165,5]]},"679":{"position":[[246,5]]},"681":{"position":[[952,5]]},"693":{"position":[[8264,5]]},"702":{"position":[[305,4],[411,4]]},"704":{"position":[[471,4],[644,4],[1756,4]]},"747":{"position":[[2818,5]]},"846":{"position":[[210,5]]},"906":{"position":[[666,5]]},"921":{"position":[[73,4]]},"937":{"position":[[2055,4]]},"991":{"position":[[1125,4]]},"1088":{"position":[[171,5]]},"1180":{"position":[[188,4]]},"1254":{"position":[[108,4]]},"1345":{"position":[[624,4]]},"1393":{"position":[[8196,5]]},"1395":{"position":[[2019,5]]},"1426":{"position":[[2092,4]]},"1427":{"position":[[1864,4]]},"1439":{"position":[[2150,4]]},"1483":{"position":[[1493,5]]},"1486":{"position":[[5479,4]]}},"keywords":{}}],["well.th",{"_index":765,"title":{},"content":{"23":{"position":[[2863,8]]}},"keywords":{}}],["weren't",{"_index":715,"title":{},"content":{"23":{"position":[[1145,7]]}},"keywords":{}}],["werror",{"_index":6817,"title":{},"content":{"1362":{"position":[[13070,9]]},"1364":{"position":[[13770,9]]},"1367":{"position":[[12978,9]]},"1382":{"position":[[11432,9]]},"1384":{"position":[[19086,9]]},"1385":{"position":[[7010,9]]},"1387":{"position":[[10383,9]]},"1388":{"position":[[9925,9]]},"1412":{"position":[[4297,8]]},"1442":{"position":[[2805,9]]},"1485":{"position":[[4296,9]]}},"keywords":{}}],["we’d",{"_index":6155,"title":{},"content":{"1232":{"position":[[3688,4]]}},"keywords":{}}],["we’r",{"_index":6148,"title":{},"content":{"1232":{"position":[[3354,5]]}},"keywords":{}}],["what'",{"_index":690,"title":{"23":{"position":[[0,6]]}},"content":{"1100":{"position":[[100,6],[181,6]]},"1120":{"position":[[90,6]]}},"keywords":{}}],["whatev",{"_index":755,"title":{},"content":{"23":{"position":[[2516,8]]},"840":{"position":[[651,8]]},"853":{"position":[[94,8]]},"1024":{"position":[[205,8]]},"1032":{"position":[[313,8]]},"1102":{"position":[[657,8]]},"1360":{"position":[[3703,8]]},"1403":{"position":[[3118,8]]}},"keywords":{}}],["whatsapp",{"_index":126,"title":{},"content":{"6":{"position":[[256,8]]},"1393":{"position":[[4598,8]]}},"keywords":{}}],["whatsoev",{"_index":5910,"title":{},"content":{"1136":{"position":[[5962,10]]},"1138":{"position":[[9624,10]]},"1140":{"position":[[8550,10]]},"1142":{"position":[[3994,10]]},"1146":{"position":[[3934,10]]},"1148":{"position":[[6974,10]]},"1155":{"position":[[4030,10]]},"1156":{"position":[[3608,10]]},"1163":{"position":[[568,10]]},"1165":{"position":[[397,10]]},"1167":{"position":[[9554,10]]},"1169":{"position":[[2662,10]]},"1186":{"position":[[5198,10]]},"1187":{"position":[[5211,10]]},"1188":{"position":[[9937,10]]},"1191":{"position":[[3798,10]]},"1192":{"position":[[3973,10]]},"1193":{"position":[[4025,10]]},"1194":{"position":[[3665,10]]},"1195":{"position":[[3643,10]]},"1196":{"position":[[3453,10]]},"1197":{"position":[[4436,10]]},"1198":{"position":[[4446,10]]},"1199":{"position":[[4474,10]]},"1200":{"position":[[4341,10]]},"1201":{"position":[[3601,10]]},"1202":{"position":[[4743,10],[9140,10]]},"1203":{"position":[[3835,10]]},"1204":{"position":[[3679,10]]},"1205":{"position":[[5008,10]]},"1206":{"position":[[3479,10]]},"1207":{"position":[[3636,10]]},"1209":{"position":[[4984,10]]},"1217":{"position":[[8295,10]]},"1219":{"position":[[3550,10]]},"1222":{"position":[[3405,10]]},"1223":{"position":[[3415,10]]},"1224":{"position":[[2864,10]]},"1226":{"position":[[8763,10]]},"1228":{"position":[[10376,10]]},"1235":{"position":[[6244,10]]},"1237":{"position":[[8933,10]]}},"keywords":{}}],["whatup",{"_index":6181,"title":{},"content":{"1244":{"position":[[77,7]]}},"keywords":{}}],["what’",{"_index":3782,"title":{"833":{"position":[[0,6]]}},"content":{"715":{"position":[[542,6]]}},"keywords":{}}],["whenev",{"_index":3568,"title":{},"content":{"693":{"position":[[5828,8]]},"1362":{"position":[[11094,8]]},"1364":{"position":[[12061,8]]},"1367":{"position":[[11464,8]]},"1373":{"position":[[5609,8]]},"1382":{"position":[[7963,8]]},"1384":{"position":[[14027,8],[14206,8]]},"1385":{"position":[[4194,8]]},"1387":{"position":[[7287,8],[7465,8]]},"1388":{"position":[[8577,8]]},"1415":{"position":[[4076,8]]},"1454":{"position":[[7679,8]]}},"keywords":{}}],["whenno_outputs_cleanup",{"_index":5306,"title":{},"content":{"1050":{"position":[[3462,22]]}},"keywords":{}}],["wherea",{"_index":705,"title":{},"content":{"23":{"position":[[686,8]]},"622":{"position":[[1730,7]]},"648":{"position":[[624,7]]},"706":{"position":[[1593,7]]},"919":{"position":[[1855,7],[2702,7]]},"1384":{"position":[[20594,7]]},"1403":{"position":[[4643,7],[5963,7]]}},"keywords":{}}],["whereas.buckconfig.loc",{"_index":2659,"title":{},"content":{"580":{"position":[[318,24]]}},"keywords":{}}],["whereasmodifiers.match",{"_index":4695,"title":{},"content":{"944":{"position":[[630,22]]}},"keywords":{}}],["whereconfiguredtargetlabellik",{"_index":4522,"title":{},"content":{"924":{"position":[[105,30]]}},"keywords":{}}],["wherev",{"_index":1654,"title":{},"content":{"298":{"position":[[2689,8]]},"851":{"position":[[188,8],[2015,8]]},"860":{"position":[[248,8]]},"1108":{"position":[[61,8]]}},"keywords":{}}],["whether",{"_index":886,"title":{},"content":{"48":{"position":[[26,7]]},"67":{"position":[[187,7]]},"91":{"position":[[432,7]]},"98":{"position":[[551,7]]},"126":{"position":[[456,7]]},"195":{"position":[[26,7]]},"223":{"position":[[432,7]]},"230":{"position":[[551,7]]},"249":{"position":[[456,7]]},"294":{"position":[[712,7]]},"316":{"position":[[83,7]]},"317":{"position":[[84,7]]},"362":{"position":[[1053,7],[1211,7],[1292,7],[2016,7],[2090,7],[2151,7],[2296,7],[2384,7],[2480,7],[2624,7]]},"363":{"position":[[292,7]]},"374":{"position":[[1199,7],[1273,7]]},"405":{"position":[[1833,7]]},"455":{"position":[[187,7]]},"593":{"position":[[158,7]]},"597":{"position":[[126,7]]},"598":{"position":[[115,7]]},"599":{"position":[[114,7]]},"600":{"position":[[116,7]]},"601":{"position":[[121,7]]},"602":{"position":[[104,7]]},"603":{"position":[[116,7]]},"618":{"position":[[92,7],[166,7]]},"646":{"position":[[110,7]]},"693":{"position":[[4605,7],[10256,7]]},"704":{"position":[[1062,7]]},"705":{"position":[[783,7]]},"741":{"position":[[1053,7],[1211,7],[1292,7],[2016,7],[2090,7],[2151,7],[2296,7],[2384,7],[2480,7],[2624,7]]},"742":{"position":[[292,7]]},"753":{"position":[[1199,7],[1273,7]]},"784":{"position":[[1833,7]]},"890":{"position":[[2926,7],[3438,7]]},"956":{"position":[[389,7]]},"1000":{"position":[[806,7]]},"1004":{"position":[[635,7]]},"1013":{"position":[[188,7]]},"1053":{"position":[[79,7]]},"1138":{"position":[[3686,7]]},"1140":{"position":[[3175,7]]},"1167":{"position":[[4179,7]]},"1188":{"position":[[3228,7]]},"1215":{"position":[[71,7]]},"1217":{"position":[[2920,7]]},"1219":{"position":[[810,7],[863,7]]},"1228":{"position":[[692,7],[816,7],[928,7],[5001,7]]},"1348":{"position":[[3664,7]]},"1354":{"position":[[2341,7]]},"1360":{"position":[[3930,7]]},"1362":{"position":[[6219,7],[10663,7]]},"1364":{"position":[[6248,7],[11630,7],[13134,7]]},"1367":{"position":[[7646,7]]},"1370":{"position":[[2341,7]]},"1373":{"position":[[3775,7],[5180,7]]},"1382":{"position":[[4131,7],[7532,7]]},"1383":{"position":[[6862,7]]},"1384":{"position":[[5293,7],[13596,7],[18065,7],[19884,7]]},"1387":{"position":[[6656,7]]},"1388":{"position":[[4431,7],[8401,7]]},"1389":{"position":[[5295,7],[5542,7]]},"1397":{"position":[[1881,7],[2078,7]]},"1403":{"position":[[3345,7],[4742,7],[5026,7]]},"1405":{"position":[[2951,7]]},"1407":{"position":[[3372,7]]},"1410":{"position":[[3953,7]]},"1416":{"position":[[2828,7]]},"1423":{"position":[[1805,7]]},"1429":{"position":[[3990,7],[6158,7]]},"1440":{"position":[[3983,7]]},"1454":{"position":[[4240,7],[9479,7]]},"1462":{"position":[[5253,7],[6543,7],[8801,7]]},"1465":{"position":[[4155,7]]},"1467":{"position":[[7658,7],[10572,7]]},"1471":{"position":[[2799,7],[3795,7]]},"1472":{"position":[[3266,7],[4379,7]]},"1473":{"position":[[4116,7]]}},"keywords":{}}],["whichev",{"_index":2241,"title":{},"content":{"418":{"position":[[655,9]]},"693":{"position":[[4785,9]]},"724":{"position":[[1480,9]]},"797":{"position":[[655,9]]},"1082":{"position":[[415,9]]}},"keywords":{}}],["white",{"_index":2987,"title":{},"content":{"616":{"position":[[708,5],[754,5]]}},"keywords":{}}],["whitespac",{"_index":2867,"title":{},"content":{"601":{"position":[[88,12]]},"606":{"position":[[76,12],[144,10]]},"615":{"position":[[77,11],[145,10]]},"619":{"position":[[87,12],[167,10]]}},"keywords":{}}],["whl",{"_index":8263,"title":{},"content":{"1461":{"position":[[1888,4],[2937,3],[2955,4],[3020,3]]}},"keywords":{}}],["who'",{"_index":8623,"title":{},"content":{"1487":{"position":[[3729,5]]}},"keywords":{}}],["whole",{"_index":6099,"title":{},"content":{"1231":{"position":[[571,6]]},"1486":{"position":[[768,5]]}},"keywords":{}}],["whose",{"_index":1122,"title":{},"content":{"92":{"position":[[637,5]]},"98":{"position":[[488,5]]},"99":{"position":[[600,5]]},"224":{"position":[[637,5]]},"230":{"position":[[488,5]]},"231":{"position":[[600,5]]},"406":{"position":[[267,5]]},"604":{"position":[[286,5]]},"617":{"position":[[163,5]]},"634":{"position":[[141,5]]},"715":{"position":[[24,5]]},"785":{"position":[[267,5]]},"1040":{"position":[[157,5]]},"1057":{"position":[[199,5]]},"1172":{"position":[[1620,6]]},"1173":{"position":[[920,6]]},"1358":{"position":[[2092,5]]},"1366":{"position":[[2547,5]]},"1393":{"position":[[5167,5],[6957,5]]},"1398":{"position":[[1416,5],[3846,5]]},"1426":{"position":[[2375,5],[2697,5]]},"1487":{"position":[[2641,5]]}},"keywords":{}}],["wide",{"_index":142,"title":{},"content":{"7":{"position":[[134,4]]},"689":{"position":[[90,6]]},"924":{"position":[[717,4]]}},"keywords":{}}],["width",{"_index":2820,"title":{},"content":{"595":{"position":[[1295,6]]}},"keywords":{}}],["will",{"_index":1901,"title":{},"content":{"362":{"position":[[1843,7]]},"741":{"position":[[1843,7]]}},"keywords":{}}],["win",{"_index":6073,"title":{},"content":{"1228":{"position":[[596,4]]},"1355":{"position":[[6134,3],[7147,3]]},"1427":{"position":[[5307,3],[6346,3]]}},"keywords":{}}],["window",{"_index":471,"title":{"16":{"position":[[0,7]]},"909":{"position":[[0,7]]}},"content":{"15":{"position":[[715,7]]},"16":{"position":[[76,7]]},"362":{"position":[[2311,7]]},"690":{"position":[[3160,8]]},"741":{"position":[[2311,7]]},"911":{"position":[[3,8]]},"912":{"position":[[27,7]]},"937":{"position":[[119,9],[3784,8],[3918,7],[4365,7]]},"939":{"position":[[1266,7]]},"940":{"position":[[1099,7]]},"943":{"position":[[1138,7],[1418,7],[1514,7]]},"944":{"position":[[1235,7],[1246,7]]},"1052":{"position":[[955,7]]},"1120":{"position":[[910,7]]},"1136":{"position":[[2904,8]]},"1138":{"position":[[6566,8]]},"1140":{"position":[[5492,8]]},"1142":{"position":[[936,8]]},"1146":{"position":[[876,8]]},"1148":{"position":[[3916,8]]},"1155":{"position":[[972,8]]},"1156":{"position":[[550,8]]},"1167":{"position":[[6496,8]]},"1169":{"position":[[335,8]]},"1186":{"position":[[2140,8]]},"1187":{"position":[[2153,8]]},"1188":{"position":[[6879,8]]},"1191":{"position":[[740,8]]},"1192":{"position":[[915,8]]},"1193":{"position":[[967,8]]},"1194":{"position":[[607,8]]},"1195":{"position":[[585,8]]},"1196":{"position":[[395,8]]},"1197":{"position":[[1378,8]]},"1198":{"position":[[1388,8]]},"1199":{"position":[[1416,8]]},"1200":{"position":[[1283,8]]},"1201":{"position":[[543,8]]},"1202":{"position":[[1685,8],[6082,8]]},"1203":{"position":[[777,8]]},"1204":{"position":[[621,8]]},"1205":{"position":[[1950,8]]},"1206":{"position":[[421,8]]},"1207":{"position":[[578,8]]},"1209":{"position":[[1926,8]]},"1217":{"position":[[5237,8]]},"1219":{"position":[[1223,8]]},"1222":{"position":[[347,8]]},"1223":{"position":[[357,8]]},"1224":{"position":[[537,8]]},"1226":{"position":[[5705,8]]},"1228":{"position":[[7318,8]]},"1235":{"position":[[3186,8]]},"1237":{"position":[[5875,8]]},"1360":{"position":[[4643,7]]},"1383":{"position":[[6675,7]]},"1403":{"position":[[4058,7]]},"1478":{"position":[[2747,8]]}},"keywords":{}}],["window'",{"_index":8540,"title":{},"content":{"1485":{"position":[[709,8]]}},"keywords":{}}],["windows"",{"_index":7102,"title":{},"content":{"1374":{"position":[[3647,14],[3942,14]]}},"keywords":{}}],["windows.defin",{"_index":4608,"title":{},"content":{"937":{"position":[[3934,14]]}},"keywords":{}}],["windows_resourc",{"_index":8539,"title":{"1485":{"position":[[0,17]]}},"content":{"1485":{"position":[[4,17],[666,18],[4858,17],[4984,16]]}},"keywords":{}}],["wipe",{"_index":5532,"title":{},"content":{"1079":{"position":[[241,4]]}},"keywords":{}}],["wire",{"_index":747,"title":{},"content":{"23":{"position":[[2287,5]]}},"keywords":{}}],["wise",{"_index":4499,"title":{},"content":{"919":{"position":[[1397,4],[2661,5]]}},"keywords":{}}],["wish",{"_index":1639,"title":{},"content":{"298":{"position":[[1495,4]]},"300":{"position":[[210,4]]},"851":{"position":[[513,4]]},"864":{"position":[[393,4]]}},"keywords":{}}],["with_input",{"_index":1251,"title":{},"content":{"98":{"position":[[371,12]]},"99":{"position":[[468,12],[1046,11]]},"230":{"position":[[371,12]]},"231":{"position":[[468,12],[1046,11]]}},"keywords":{}}],["with_sub_target",{"_index":1648,"title":{},"content":{"298":{"position":[[2410,17]]},"851":{"position":[[1739,17]]}},"keywords":{}}],["withbuck2",{"_index":6178,"title":{},"content":{"1243":{"position":[[1044,9]]}},"keywords":{}}],["withcfg//os:window",{"_index":4688,"title":{},"content":{"943":{"position":[[1222,19]]}},"keywords":{}}],["withctx.build",{"_index":3875,"title":{},"content":{"844":{"position":[[33,16]]}},"keywords":{}}],["withflamegraph.pl.heap",{"_index":5361,"title":{},"content":{"1056":{"position":[[874,22],[962,22]]}},"keywords":{}}],["withhello.txt",{"_index":8624,"title":{},"content":{"1487":{"position":[[3746,14]]}},"keywords":{}}],["within",{"_index":719,"title":{},"content":{"23":{"position":[[1205,6],[1728,6],[3287,6]]},"24":{"position":[[214,6]]},"145":{"position":[[253,6]]},"234":{"position":[[148,6]]},"236":{"position":[[432,6]]},"268":{"position":[[253,6]]},"300":{"position":[[382,6],[481,6]]},"303":{"position":[[111,6]]},"340":{"position":[[216,6]]},"441":{"position":[[56,6]]},"477":{"position":[[162,6]]},"566":{"position":[[177,6],[500,6]]},"570":{"position":[[174,6]]},"575":{"position":[[68,6]]},"590":{"position":[[268,6]]},"591":{"position":[[242,6],[328,6]]},"594":{"position":[[229,6]]},"595":{"position":[[227,6]]},"596":{"position":[[260,6]]},"639":{"position":[[287,6]]},"656":{"position":[[243,6]]},"688":{"position":[[56,6]]},"693":{"position":[[9593,6],[9829,6]]},"710":{"position":[[307,6]]},"719":{"position":[[135,6]]},"720":{"position":[[297,6],[479,6]]},"722":{"position":[[853,6]]},"724":{"position":[[496,6]]},"820":{"position":[[56,6]]},"832":{"position":[[583,6],[859,6]]},"834":{"position":[[287,6]]},"837":{"position":[[265,6]]},"840":{"position":[[1379,6]]},"844":{"position":[[22,6]]},"845":{"position":[[32,6]]},"847":{"position":[[32,6]]},"850":{"position":[[95,6]]},"851":{"position":[[23,6]]},"864":{"position":[[614,6]]},"867":{"position":[[877,6],[1868,6]]},"869":{"position":[[765,6]]},"870":{"position":[[629,6],[943,6],[1121,6]]},"872":{"position":[[854,6]]},"873":{"position":[[297,6]]},"876":{"position":[[31,6],[198,6],[266,6]]},"877":{"position":[[113,6],[439,6]]},"878":{"position":[[345,6]]},"890":{"position":[[37,6],[4954,7]]},"905":{"position":[[274,6],[425,6],[1104,6]]},"950":{"position":[[263,6]]},"1017":{"position":[[924,6]]},"1018":{"position":[[26,6]]},"1036":{"position":[[87,6]]},"1040":{"position":[[2777,6]]},"1057":{"position":[[74,6]]},"1064":{"position":[[1867,6],[2028,6]]},"1083":{"position":[[322,6]]},"1112":{"position":[[1149,6]]},"1118":{"position":[[117,6]]},"1148":{"position":[[516,6]]},"1285":{"position":[[204,6]]},"1287":{"position":[[32,6]]},"1354":{"position":[[2615,6]]},"1355":{"position":[[6542,6]]},"1367":{"position":[[10430,6]]},"1381":{"position":[[2209,6]]},"1383":{"position":[[4419,6]]},"1388":{"position":[[4779,6],[6163,6]]},"1392":{"position":[[1885,6]]},"1410":{"position":[[3369,6]]},"1422":{"position":[[3004,6]]},"1427":{"position":[[5741,6]]},"1429":{"position":[[4661,6]]},"1439":{"position":[[7650,6]]},"1440":{"position":[[4743,6]]},"1462":{"position":[[7273,6],[7540,6]]},"1467":{"position":[[6516,6],[8242,6]]}},"keywords":{}}],["within_view",{"_index":2294,"title":{},"content":{"424":{"position":[[85,12]]},"708":{"position":[[1156,11]]},"803":{"position":[[85,12]]},"919":{"position":[[364,11]]},"1064":{"position":[[1638,12],[1945,11],[2170,11]]},"1348":{"position":[[207,12]]},"1349":{"position":[[218,12]]},"1350":{"position":[[210,12]]},"1351":{"position":[[216,12],[1678,12]]},"1352":{"position":[[210,12]]},"1353":{"position":[[223,12]]},"1354":{"position":[[224,12]]},"1355":{"position":[[211,12],[3038,12]]},"1356":{"position":[[212,12]]},"1357":{"position":[[212,12]]},"1358":{"position":[[216,12]]},"1359":{"position":[[212,12]]},"1360":{"position":[[207,12],[2267,12]]},"1361":{"position":[[215,12]]},"1362":{"position":[[208,12],[5990,12]]},"1363":{"position":[[208,12],[3736,12]]},"1364":{"position":[[209,12],[6019,12]]},"1365":{"position":[[209,12]]},"1366":{"position":[[210,12],[1766,12]]},"1367":{"position":[[206,12],[7417,12]]},"1368":{"position":[[211,12]]},"1369":{"position":[[215,12]]},"1370":{"position":[[222,12],[1415,12]]},"1371":{"position":[[213,12]]},"1372":{"position":[[210,12]]},"1373":{"position":[[207,12]]},"1374":{"position":[[209,12],[1450,12]]},"1375":{"position":[[210,12]]},"1376":{"position":[[215,12]]},"1377":{"position":[[212,12]]},"1378":{"position":[[214,12]]},"1379":{"position":[[212,12]]},"1380":{"position":[[211,12]]},"1381":{"position":[[210,12]]},"1382":{"position":[[206,12],[3902,12]]},"1383":{"position":[[207,12],[2140,12]]},"1384":{"position":[[207,12],[5064,12]]},"1385":{"position":[[213,12]]},"1386":{"position":[[218,12]]},"1387":{"position":[[216,12]]},"1388":{"position":[[204,12],[4202,12]]},"1389":{"position":[[209,12]]},"1390":{"position":[[204,12]]},"1391":{"position":[[205,12]]},"1392":{"position":[[202,12]]},"1393":{"position":[[206,12],[1990,12]]},"1394":{"position":[[215,12]]},"1395":{"position":[[210,12],[1447,12]]},"1396":{"position":[[215,12]]},"1397":{"position":[[210,12]]},"1398":{"position":[[207,12],[2097,12]]},"1399":{"position":[[207,12]]},"1400":{"position":[[216,12]]},"1401":{"position":[[205,12]]},"1402":{"position":[[204,12]]},"1403":{"position":[[203,12],[1970,12]]},"1404":{"position":[[205,12]]},"1405":{"position":[[205,12]]},"1406":{"position":[[215,12]]},"1407":{"position":[[215,12]]},"1408":{"position":[[206,12]]},"1409":{"position":[[205,12]]},"1410":{"position":[[203,12],[2337,12]]},"1411":{"position":[[210,12]]},"1412":{"position":[[210,12],[2358,12]]},"1413":{"position":[[207,12]]},"1414":{"position":[[206,12]]},"1415":{"position":[[210,12]]},"1416":{"position":[[210,12]]},"1417":{"position":[[208,12]]},"1418":{"position":[[211,12]]},"1419":{"position":[[207,12]]},"1420":{"position":[[211,12]]},"1421":{"position":[[220,12]]},"1422":{"position":[[208,12],[1603,12]]},"1423":{"position":[[205,12]]},"1424":{"position":[[207,12]]},"1425":{"position":[[221,12]]},"1426":{"position":[[207,12],[1676,12]]},"1427":{"position":[[208,12],[2573,12]]},"1428":{"position":[[207,12]]},"1429":{"position":[[205,12],[3237,12]]},"1430":{"position":[[212,12]]},"1431":{"position":[[205,12]]},"1432":{"position":[[213,12]]},"1433":{"position":[[206,12]]},"1434":{"position":[[208,12]]},"1435":{"position":[[213,12]]},"1436":{"position":[[209,12]]},"1437":{"position":[[206,12]]},"1438":{"position":[[204,12],[1335,12]]},"1439":{"position":[[210,12],[2859,12]]},"1440":{"position":[[207,12],[3425,12]]},"1441":{"position":[[212,12]]},"1442":{"position":[[213,12],[1230,12]]},"1443":{"position":[[206,12]]},"1444":{"position":[[207,12]]},"1445":{"position":[[210,12]]},"1446":{"position":[[207,12]]},"1447":{"position":[[209,12]]},"1448":{"position":[[208,12]]},"1449":{"position":[[209,12]]},"1450":{"position":[[208,12]]},"1451":{"position":[[208,12]]},"1452":{"position":[[204,12]]},"1453":{"position":[[220,12]]},"1454":{"position":[[216,12]]},"1455":{"position":[[222,12]]},"1456":{"position":[[219,12]]},"1457":{"position":[[215,12]]},"1458":{"position":[[208,12]]},"1459":{"position":[[219,12]]},"1460":{"position":[[218,12]]},"1461":{"position":[[219,12],[1651,12]]},"1462":{"position":[[209,12]]},"1463":{"position":[[219,12]]},"1464":{"position":[[220,12]]},"1465":{"position":[[210,12]]},"1466":{"position":[[223,12]]},"1467":{"position":[[207,12],[5721,12]]},"1468":{"position":[[214,12]]},"1469":{"position":[[207,12],[1539,12]]},"1470":{"position":[[212,12]]},"1471":{"position":[[207,12],[2402,12]]},"1472":{"position":[[208,12],[2361,12]]},"1473":{"position":[[205,12],[2676,12]]},"1474":{"position":[[209,12]]},"1475":{"position":[[206,12]]},"1476":{"position":[[212,12]]},"1477":{"position":[[205,12],[1295,12]]},"1478":{"position":[[203,12],[1786,12]]},"1479":{"position":[[220,12]]},"1480":{"position":[[209,12]]},"1481":{"position":[[211,12]]},"1482":{"position":[[206,12]]},"1483":{"position":[[211,12]]},"1484":{"position":[[211,12]]},"1485":{"position":[[212,12]]},"1486":{"position":[[207,12]]},"1487":{"position":[[204,12],[1360,12]]}},"keywords":{}}],["withmutable/mut",{"_index":4356,"title":{},"content":{"898":{"position":[[2739,19]]}},"keywords":{}}],["withmyenum.valu",{"_index":4395,"title":{},"content":{"902":{"position":[[802,19]]}},"keywords":{}}],["without",{"_index":208,"title":{"855":{"position":[[28,7]]}},"content":{"9":{"position":[[840,7],[2041,7]]},"13":{"position":[[133,7]]},"24":{"position":[[488,7]]},"84":{"position":[[400,7]]},"216":{"position":[[400,7]]},"233":{"position":[[146,7]]},"297":{"position":[[665,7]]},"406":{"position":[[119,7]]},"416":{"position":[[285,7],[600,7]]},"417":{"position":[[514,7],[830,7]]},"668":{"position":[[152,8]]},"687":{"position":[[220,7]]},"688":{"position":[[1382,7]]},"705":{"position":[[225,7]]},"706":{"position":[[608,7]]},"785":{"position":[[119,7]]},"795":{"position":[[285,7],[600,7]]},"796":{"position":[[514,7],[830,7]]},"834":{"position":[[568,7]]},"855":{"position":[[139,7]]},"877":{"position":[[484,7]]},"879":{"position":[[271,7]]},"889":{"position":[[1176,7]]},"898":{"position":[[632,7]]},"937":{"position":[[3670,7],[4698,7]]},"945":{"position":[[435,7]]},"955":{"position":[[382,7]]},"1014":{"position":[[616,7]]},"1108":{"position":[[200,7]]},"1142":{"position":[[309,7],[604,7]]},"1240":{"position":[[212,8]]},"1355":{"position":[[6989,7]]},"1362":{"position":[[13485,7]]},"1364":{"position":[[14185,7]]},"1367":{"position":[[13393,7]]},"1382":{"position":[[11935,7]]},"1383":{"position":[[5688,7]]},"1388":{"position":[[4966,7],[6376,7]]},"1393":{"position":[[4558,7]]},"1397":{"position":[[1790,7],[2942,8]]},"1403":{"position":[[4366,7]]},"1427":{"position":[[6188,7]]},"1467":{"position":[[6729,7]]},"1486":{"position":[[2778,7]]}},"keywords":{}}],["withperf",{"_index":5444,"title":{},"content":{"1060":{"position":[[31,8]]}},"keywords":{}}],["withpython",{"_index":7689,"title":{},"content":{"1403":{"position":[[7526,11]]}},"keywords":{}}],["withtarget",{"_index":5637,"title":{},"content":{"1102":{"position":[[641,11]]}},"keywords":{}}],["withwatchman",{"_index":683,"title":{},"content":{"22":{"position":[[1847,12]]}},"keywords":{}}],["wl",{"_index":8212,"title":{},"content":{"1455":{"position":[[4613,3],[4658,3],[4747,3],[4792,3]]}},"keywords":{}}],["won't",{"_index":1196,"title":{},"content":{"94":{"position":[[1712,5]]},"226":{"position":[[1712,5]]},"569":{"position":[[394,5]]},"692":{"position":[[96,5]]},"898":{"position":[[1426,5]]},"920":{"position":[[521,5]]},"973":{"position":[[256,5]]},"1042":{"position":[[358,5]]},"1050":{"position":[[883,5],[3445,5]]},"1093":{"position":[[202,5]]},"1107":{"position":[[318,5]]},"1259":{"position":[[1204,5]]},"1272":{"position":[[38,5]]},"1290":{"position":[[1204,5]]},"1303":{"position":[[38,5]]},"1318":{"position":[[1204,5]]},"1331":{"position":[[38,5]]},"1355":{"position":[[3575,5]]},"1362":{"position":[[7996,5]]},"1364":{"position":[[8845,5]]},"1367":{"position":[[8084,5]]},"1384":{"position":[[10224,5]]},"1386":{"position":[[6174,5]]},"1410":{"position":[[5670,5]]},"1429":{"position":[[3606,5]]},"1439":{"position":[[3396,5]]},"1467":{"position":[[10803,5]]},"1471":{"position":[[5466,5]]},"1472":{"position":[[6352,5]]}},"keywords":{}}],["won’t",{"_index":3824,"title":{},"content":{"833":{"position":[[323,5]]}},"keywords":{}}],["word",{"_index":2409,"title":{},"content":{"450":{"position":[[131,4]]},"602":{"position":[[203,4]]},"620":{"position":[[205,6]]},"829":{"position":[[131,4]]},"915":{"position":[[81,4],[90,4]]},"917":{"position":[[102,4],[111,4]]},"947":{"position":[[267,6]]},"988":{"position":[[686,6]]},"990":{"position":[[419,6]]},"1019":{"position":[[389,6]]},"1024":{"position":[[350,6]]},"1386":{"position":[[6414,7]]}},"keywords":{}}],["work",{"_index":85,"title":{"892":{"position":[[2,6]]},"1073":{"position":[[0,7]]}},"content":{"5":{"position":[[170,7]]},"9":{"position":[[858,4],[931,4]]},"10":{"position":[[457,4],[928,4]]},"23":{"position":[[1303,4],[2858,4]]},"24":{"position":[[867,4]]},"81":{"position":[[377,4]]},"88":{"position":[[256,5]]},"92":{"position":[[2259,4]]},"93":{"position":[[117,4]]},"94":{"position":[[4260,7]]},"95":{"position":[[276,5]]},"213":{"position":[[377,4]]},"220":{"position":[[256,5]]},"224":{"position":[[2259,4]]},"225":{"position":[[117,4]]},"226":{"position":[[4260,7]]},"227":{"position":[[276,5]]},"314":{"position":[[174,7]]},"680":{"position":[[1300,5]]},"706":{"position":[[105,5],[133,4]]},"710":{"position":[[116,4]]},"835":{"position":[[186,4]]},"861":{"position":[[369,7]]},"867":{"position":[[129,7]]},"889":{"position":[[1063,4]]},"906":{"position":[[648,4]]},"937":{"position":[[1348,4],[3649,4],[3827,4],[4392,7],[4455,4],[4620,5]]},"944":{"position":[[815,4]]},"951":{"position":[[1488,4]]},"977":{"position":[[510,7]]},"990":{"position":[[749,5]]},"1014":{"position":[[301,5]]},"1026":{"position":[[285,5]]},"1035":{"position":[[15,4]]},"1071":{"position":[[1381,5]]},"1072":{"position":[[259,5]]},"1075":{"position":[[758,4]]},"1088":{"position":[[1100,5]]},"1098":{"position":[[700,7],[804,4]]},"1104":{"position":[[746,7],[994,4],[1054,5]]},"1120":{"position":[[139,4]]},"1124":{"position":[[266,7]]},"1126":{"position":[[753,4],[956,4]]},"1138":{"position":[[4115,4],[4277,4],[5012,4]]},"1140":{"position":[[3604,4],[3766,4],[4501,4]]},"1167":{"position":[[4608,4],[4770,4],[5505,4]]},"1172":{"position":[[674,7]]},"1186":{"position":[[633,4]]},"1187":{"position":[[646,4]]},"1188":{"position":[[3657,4],[3819,4],[4554,4],[5372,4]]},"1191":{"position":[[207,7],[415,7]]},"1195":{"position":[[213,7]]},"1217":{"position":[[502,7],[3349,4],[3511,4],[4246,4]]},"1228":{"position":[[5430,4],[5592,4],[6327,4]]},"1231":{"position":[[56,4]]},"1237":{"position":[[160,4]]},"1258":{"position":[[483,7]]},"1289":{"position":[[483,7]]},"1317":{"position":[[483,7]]},"1355":{"position":[[3527,5]]},"1360":{"position":[[1536,5]]},"1386":{"position":[[3110,5],[5441,5]]},"1399":{"position":[[1731,4],[2076,5]]},"1403":{"position":[[5160,4]]},"1407":{"position":[[4071,7]]},"1439":{"position":[[3348,5]]},"1486":{"position":[[4512,4]]}},"keywords":{}}],["work_around_dsymutil_lto_stack_overflow_bug",{"_index":7007,"title":{},"content":{"1368":{"position":[[1314,44]]}},"keywords":{}}],["workaround",{"_index":6212,"title":{},"content":{"1252":{"position":[[290,11]]},"1351":{"position":[[4868,10]]}},"keywords":{}}],["worked)use_windows_path_separ",{"_index":1911,"title":{},"content":{"362":{"position":[[2260,35]]},"741":{"position":[[2260,35]]}},"keywords":{}}],["worker",{"_index":1913,"title":{},"content":{"362":{"position":[[2375,8],[2410,7]]},"374":{"position":[[235,6],[1963,7],[2020,7],[2033,6]]},"398":{"position":[[117,6]]},"399":{"position":[[21,7],[122,6],[240,7]]},"693":{"position":[[6824,8]]},"741":{"position":[[2375,8],[2410,7]]},"753":{"position":[[235,6],[1963,7],[2020,7],[2033,6]]},"777":{"position":[[117,6]]},"778":{"position":[[21,7],[122,6],[240,7]]},"1138":{"position":[[3157,6]]},"1140":{"position":[[2646,6]]},"1167":{"position":[[3650,6]]},"1188":{"position":[[2699,6]]},"1217":{"position":[[2391,6]]},"1228":{"position":[[4472,6]]},"1431":{"position":[[763,7]]},"1433":{"position":[[805,7]]},"1486":{"position":[[2231,7],[2310,7],[2384,7],[3680,6],[5280,6]]}},"keywords":{}}],["worker_tool",{"_index":8552,"title":{"1486":{"position":[[0,12]]}},"content":{"1486":{"position":[[4,12],[838,13],[2988,11],[3161,12]]}},"keywords":{}}],["workerinfo",{"_index":2021,"title":{"398":{"position":[[0,11]]},"777":{"position":[[0,11]]}},"content":{"374":{"position":[[1971,10]]},"398":{"position":[[66,10]]},"399":{"position":[[29,11],[248,10]]},"753":{"position":[[1971,10]]},"777":{"position":[[66,10]]},"778":{"position":[[29,11],[248,10]]}},"keywords":{}}],["workerinfo(ex",{"_index":2096,"title":{},"content":{"398":{"position":[[4,14]]},"777":{"position":[[4,14]]}},"keywords":{}}],["workernotset",{"_index":4046,"title":{},"content":{"867":{"position":[[2129,13]]}},"keywords":{}}],["workerruninfo",{"_index":1184,"title":{"399":{"position":[[0,14]]},"778":{"position":[[0,14]]}},"content":{"94":{"position":[[1015,13]]},"226":{"position":[[1015,13]]},"399":{"position":[[4,16],[57,13]]},"778":{"position":[[4,16],[57,13]]}},"keywords":{}}],["workflow",{"_index":3879,"title":{"1102":{"position":[[0,8]]}},"content":{"845":{"position":[[223,8]]},"846":{"position":[[1070,8]]},"847":{"position":[[254,8]]},"848":{"position":[[616,8]]}},"keywords":{}}],["working_dir",{"_index":5783,"title":{},"content":{"1124":{"position":[[305,12]]}},"keywords":{}}],["worklocaldepfil",{"_index":4044,"title":{},"content":{"867":{"position":[[2003,17]]}},"keywords":{}}],["workspac",{"_index":8423,"title":{},"content":{"1471":{"position":[[2663,11]]},"1472":{"position":[[2622,11]]},"1473":{"position":[[2937,11]]}},"keywords":{}}],["world",{"_index":1300,"title":{},"content":{"109":{"position":[[133,5]]},"521":{"position":[[133,5]]},"910":{"position":[[380,5]]},"920":{"position":[[183,7]]},"1049":{"position":[[872,5],[988,5],[996,7]]},"1086":{"position":[[159,5]]}},"keywords":{}}],["world!"",{"_index":2743,"title":{},"content":{"589":{"position":[[248,12],[316,12]]},"605":{"position":[[207,12]]},"608":{"position":[[326,12],[415,12]]},"609":{"position":[[413,12]]},"620":{"position":[[283,12]]},"621":{"position":[[207,12]]}},"keywords":{}}],["world!".capit",{"_index":2742,"title":{},"content":{"589":{"position":[[206,25],[274,25]]}},"keywords":{}}],["world!".count("o"",{"_index":2778,"title":{},"content":{"591":{"position":[[771,33],[871,33]]}},"keywords":{}}],["world!".istitl",{"_index":2876,"title":{},"content":{"602":{"position":[[240,22]]}},"keywords":{}}],["world!".low",{"_index":2901,"title":{},"content":{"605":{"position":[[170,20]]}},"keywords":{}}],["world!".removeprefix("goodbye"",{"_index":2924,"title":{},"content":{"608":{"position":[[352,46]]}},"keywords":{}}],["world!".removeprefix("hello"",{"_index":2923,"title":{},"content":{"608":{"position":[[270,44]]}},"keywords":{}}],["world!".removesuffix("world!"",{"_index":2928,"title":{},"content":{"609":{"position":[[270,45]]}},"keywords":{}}],["world!".removesuffix("world"",{"_index":2929,"title":{},"content":{"609":{"position":[[352,44]]}},"keywords":{}}],["world!".titl",{"_index":3021,"title":{},"content":{"620":{"position":[[246,20]]}},"keywords":{}}],["world!".upp",{"_index":3024,"title":{},"content":{"621":{"position":[[170,20]]}},"keywords":{}}],["world"",{"_index":4455,"title":{},"content":{"910":{"position":[[328,11],[357,11]]},"1047":{"position":[[497,12]]}},"keywords":{}}],["world".islow",{"_index":2863,"title":{},"content":{"600":{"position":[[230,21]]}},"keywords":{}}],["world_artifact",{"_index":5276,"title":{},"content":{"1049":{"position":[[1344,14],[1502,15]]}},"keywords":{}}],["wors",{"_index":3673,"title":{},"content":{"706":{"position":[[1020,6]]}},"keywords":{}}],["worth",{"_index":5756,"title":{},"content":{"1114":{"position":[[674,5]]}},"keywords":{}}],["wouldn't",{"_index":5122,"title":{},"content":{"1035":{"position":[[563,8]]}},"keywords":{}}],["wrap",{"_index":2179,"title":{},"content":{"408":{"position":[[223,4]]},"787":{"position":[[223,4]]},"937":{"position":[[1389,5]]},"1031":{"position":[[431,5]]},"1104":{"position":[[1087,5],[1163,5]]},"1374":{"position":[[698,4],[2738,8]]},"1385":{"position":[[7581,7]]},"1387":{"position":[[10912,7]]},"1455":{"position":[[4498,8]]},"1461":{"position":[[2403,5]]},"1465":{"position":[[2863,5]]},"1467":{"position":[[7002,5]]}},"keywords":{}}],["wrap.sh",{"_index":7211,"title":{},"content":{"1384":{"position":[[19698,7]]},"1459":{"position":[[1793,7]]}},"keywords":{}}],["wrapper",{"_index":3781,"title":{},"content":{"715":{"position":[[477,7]]},"1032":{"position":[[297,7]]}},"keywords":{}}],["writabl",{"_index":6657,"title":{},"content":{"1360":{"position":[[4190,9]]},"1403":{"position":[[3605,9]]}},"keywords":{}}],["write",{"_index":13,"title":{"3":{"position":[[11,7]]},"840":{"position":[[0,7]]},"1078":{"position":[[10,5]]},"1101":{"position":[[0,7]]}},"content":{"3":{"position":[[0,7],[23,5],[115,7]]},"9":{"position":[[1274,5],[1328,6]]},"10":{"position":[[7,5],[1063,7],[1176,7]]},"20":{"position":[[183,5]]},"98":{"position":[[680,5],[746,5]]},"99":{"position":[[1313,5]]},"230":{"position":[[680,5],[746,5]]},"231":{"position":[[1313,5]]},"346":{"position":[[533,5]]},"377":{"position":[[669,6]]},"418":{"position":[[937,5]]},"450":{"position":[[195,7]]},"686":{"position":[[126,5]]},"712":{"position":[[147,6]]},"756":{"position":[[669,6]]},"797":{"position":[[937,5]]},"829":{"position":[[195,7]]},"833":{"position":[[19,6]]},"865":{"position":[[3,5],[132,5],[548,5],[858,5]]},"867":{"position":[[797,5],[1886,6]]},"869":{"position":[[127,5]]},"870":{"position":[[834,5]]},"872":{"position":[[371,5]]},"873":{"position":[[552,5]]},"878":{"position":[[203,6]]},"892":{"position":[[1619,5]]},"898":{"position":[[1181,6]]},"937":{"position":[[1368,7]]},"954":{"position":[[289,6],[343,5],[696,7],[919,7]]},"955":{"position":[[1045,5],[1218,5],[1443,7]]},"964":{"position":[[72,7]]},"980":{"position":[[179,8]]},"983":{"position":[[63,8]]},"1033":{"position":[[5,7]]},"1050":{"position":[[4723,5]]},"1052":{"position":[[336,5]]},"1056":{"position":[[937,6]]},"1078":{"position":[[75,6],[286,6]]},"1079":{"position":[[411,5]]},"1082":{"position":[[245,5]]},"1105":{"position":[[1427,5],[1640,5],[2283,5]]},"1108":{"position":[[412,6]]},"1136":{"position":[[5745,5],[5777,5],[5805,5],[5859,5],[5896,5]]},"1138":{"position":[[1404,5],[1599,5],[2892,7],[3077,5],[3140,6],[9407,5],[9439,5],[9467,5],[9521,5],[9558,5]]},"1140":{"position":[[472,5],[1088,5],[2381,7],[2566,5],[2629,6],[8333,5],[8365,5],[8393,5],[8447,5],[8484,5]]},"1142":{"position":[[582,7],[3777,5],[3809,5],[3837,5],[3891,5],[3928,5]]},"1146":{"position":[[3717,5],[3749,5],[3777,5],[3831,5],[3868,5]]},"1148":{"position":[[6757,5],[6789,5],[6817,5],[6871,5],[6908,5],[7562,5]]},"1155":{"position":[[3813,5],[3845,5],[3873,5],[3927,5],[3964,5]]},"1156":{"position":[[3391,5],[3423,5],[3451,5],[3505,5],[3542,5]]},"1163":{"position":[[351,5],[383,5],[411,5],[465,5],[502,5]]},"1165":{"position":[[180,5],[212,5],[240,5],[294,5],[331,5]]},"1167":{"position":[[2092,5],[3385,7],[3570,5],[3633,6],[9337,5],[9369,5],[9397,5],[9451,5],[9488,5]]},"1169":{"position":[[2445,5],[2477,5],[2505,5],[2559,5],[2596,5]]},"1186":{"position":[[4981,5],[5013,5],[5041,5],[5095,5],[5132,5]]},"1187":{"position":[[4994,5],[5026,5],[5054,5],[5108,5],[5145,5]]},"1188":{"position":[[525,5],[1141,5],[2434,7],[2619,5],[2682,6],[9720,5],[9752,5],[9780,5],[9834,5],[9871,5]]},"1191":{"position":[[3581,5],[3613,5],[3641,5],[3695,5],[3732,5]]},"1192":{"position":[[3756,5],[3788,5],[3816,5],[3870,5],[3907,5]]},"1193":{"position":[[3808,5],[3840,5],[3868,5],[3922,5],[3959,5]]},"1194":{"position":[[3448,5],[3480,5],[3508,5],[3562,5],[3599,5]]},"1195":{"position":[[3426,5],[3458,5],[3486,5],[3540,5],[3577,5]]},"1196":{"position":[[3236,5],[3268,5],[3296,5],[3350,5],[3387,5]]},"1197":{"position":[[4219,5],[4251,5],[4279,5],[4333,5],[4370,5]]},"1198":{"position":[[4229,5],[4261,5],[4289,5],[4343,5],[4380,5]]},"1199":{"position":[[4257,5],[4289,5],[4317,5],[4371,5],[4408,5]]},"1200":{"position":[[4124,5],[4156,5],[4184,5],[4238,5],[4275,5]]},"1201":{"position":[[3384,5],[3416,5],[3444,5],[3498,5],[3535,5]]},"1202":{"position":[[4526,5],[4558,5],[4586,5],[4640,5],[4677,5],[8923,5],[8955,5],[8983,5],[9037,5],[9074,5]]},"1203":{"position":[[3618,5],[3650,5],[3678,5],[3732,5],[3769,5]]},"1204":{"position":[[3462,5],[3494,5],[3522,5],[3576,5],[3613,5]]},"1205":{"position":[[4791,5],[4823,5],[4851,5],[4905,5],[4942,5]]},"1206":{"position":[[3262,5],[3294,5],[3322,5],[3376,5],[3413,5]]},"1207":{"position":[[3419,5],[3451,5],[3479,5],[3533,5],[3570,5]]},"1209":{"position":[[4767,5],[4799,5],[4827,5],[4881,5],[4918,5]]},"1217":{"position":[[411,5],[833,5],[2126,7],[2311,5],[2374,6],[8078,5],[8110,5],[8138,5],[8192,5],[8229,5]]},"1219":{"position":[[180,7],[515,6],[3333,5],[3365,5],[3393,5],[3447,5],[3484,5]]},"1222":{"position":[[3188,5],[3220,5],[3248,5],[3302,5],[3339,5]]},"1223":{"position":[[3198,5],[3230,5],[3258,5],[3312,5],[3349,5]]},"1224":{"position":[[2647,5],[2679,5],[2707,5],[2761,5],[2798,5]]},"1226":{"position":[[3946,5],[8546,5],[8578,5],[8606,5],[8660,5],[8697,5]]},"1228":{"position":[[1978,6],[2061,5],[2114,5],[2506,6],[2589,5],[2642,5],[2914,5],[4207,7],[4392,5],[4455,6],[10159,5],[10191,5],[10219,5],[10273,5],[10310,5]]},"1235":{"position":[[6027,5],[6059,5],[6087,5],[6141,5],[6178,5]]},"1237":{"position":[[4116,5],[8716,5],[8748,5],[8776,5],[8830,5],[8867,5]]},"1362":{"position":[[6425,5]]},"1364":{"position":[[6454,5]]},"1367":{"position":[[7852,5]]},"1373":{"position":[[3981,5]]},"1382":{"position":[[4337,5]]},"1384":{"position":[[5499,5]]},"1388":{"position":[[4637,5]]},"1389":{"position":[[5496,5],[5743,5]]},"1454":{"position":[[4446,5]]},"1462":{"position":[[5459,5]]},"1471":{"position":[[3005,5]]},"1486":{"position":[[4211,6],[4539,5],[4978,7]]}},"keywords":{}}],["write_json",{"_index":5566,"title":{"1083":{"position":[[38,13]]}},"content":{"1083":{"position":[[68,11],[187,10]]}},"keywords":{}}],["write_json(or",{"_index":5568,"title":{},"content":{"1083":{"position":[[297,13]]}},"keywords":{}}],["write_json(with_inputs=tru",{"_index":5574,"title":{},"content":{"1083":{"position":[[1138,28]]}},"keywords":{}}],["write_json_cli_arg",{"_index":1169,"title":{},"content":{"94":{"position":[[218,19],[525,19]]},"98":{"position":[[260,19]]},"99":{"position":[[349,19],[559,19]]},"226":{"position":[[218,19],[525,19]]},"230":{"position":[[260,19]]},"231":{"position":[[349,19],[559,19]]},"345":{"position":[[295,19]]},"368":{"position":[[314,19],[3278,19]]},"377":{"position":[[223,19]]},"386":{"position":[[209,19]]},"405":{"position":[[211,19],[459,19]]},"417":{"position":[[239,19]]},"747":{"position":[[314,19],[3278,19]]},"756":{"position":[[223,19]]},"765":{"position":[[209,19]]},"784":{"position":[[211,19],[459,19]]},"796":{"position":[[239,19]]}},"keywords":{}}],["write_package_valu",{"_index":2413,"title":{"451":{"position":[[0,20]]},"830":{"position":[[0,20]]}},"content":{"451":{"position":[[4,20]]},"830":{"position":[[4,20]]},"1001":{"position":[[60,20],[530,19]]},"1064":{"position":[[0,20],[25,20],[628,19]]},"1207":{"position":[[61,21]]}},"keywords":{}}],["write_package_value(key",{"_index":4470,"title":{},"content":{"915":{"position":[[31,24]]}},"keywords":{}}],["writer",{"_index":7626,"title":{},"content":{"1398":{"position":[[5592,6]]}},"keywords":{}}],["written",{"_index":22,"title":{},"content":{"3":{"position":[[156,7]]},"23":{"position":[[184,7],[212,7],[664,7],[715,7]]},"98":{"position":[[877,7]]},"99":{"position":[[627,7],[881,7],[943,7]]},"230":{"position":[[877,7]]},"231":{"position":[[627,7],[881,7],[943,7]]},"305":{"position":[[94,7]]},"675":{"position":[[652,7]]},"693":{"position":[[1875,7]]},"715":{"position":[[38,7],[824,7],[1531,7]]},"833":{"position":[[89,7]]},"865":{"position":[[386,7]]},"870":{"position":[[1282,7]]},"955":{"position":[[472,7]]},"1001":{"position":[[457,7]]},"1064":{"position":[[555,7]]},"1105":{"position":[[1874,7]]},"1140":{"position":[[542,7],[625,7]]},"1188":{"position":[[595,7],[678,7]]},"1360":{"position":[[4329,7]]},"1374":{"position":[[2659,7]]},"1383":{"position":[[6362,7]]},"1403":{"position":[[3744,7]]},"1427":{"position":[[6884,7]]}},"keywords":{}}],["writtenbuck",{"_index":261,"title":{},"content":{"9":{"position":[[1756,11]]}},"keywords":{}}],["wrong",{"_index":3305,"title":{},"content":{"663":{"position":[[521,5]]},"901":{"position":[[483,5]]},"904":{"position":[[1270,5]]},"937":{"position":[[2531,5]]},"987":{"position":[[912,5]]}},"keywords":{}}],["wut",{"_index":6187,"title":{"1247":{"position":[[0,3]]}},"content":{},"keywords":{}}],["x",{"_index":2145,"title":{},"content":{"405":{"position":[[1522,2],[1531,1]]},"553":{"position":[[199,1],[254,1]]},"554":{"position":[[317,1]]},"555":{"position":[[239,1]]},"556":{"position":[[215,1]]},"557":{"position":[[426,1],[499,1]]},"558":{"position":[[281,1],[398,1]]},"559":{"position":[[509,1],[629,1],[736,1]]},"560":{"position":[[745,1],[851,1]]},"561":{"position":[[242,1]]},"563":{"position":[[97,1],[192,1],[235,1]]},"564":{"position":[[186,1],[210,1]]},"565":{"position":[[151,2],[227,1],[298,1],[353,1]]},"566":{"position":[[175,1],[556,1],[631,1]]},"567":{"position":[[101,2],[122,1],[471,1],[576,1]]},"568":{"position":[[338,1],[378,1]]},"569":{"position":[[133,1],[212,2],[251,1],[280,1],[307,1],[410,1]]},"576":{"position":[[275,4]]},"595":{"position":[[1102,1]]},"607":{"position":[[320,2],[393,1]]},"613":{"position":[[196,2]]},"636":{"position":[[729,4],[762,5],[771,1],[805,4],[810,1],[833,5]]},"637":{"position":[[180,1]]},"638":{"position":[[1038,1]]},"643":{"position":[[308,2],[311,1]]},"644":{"position":[[174,1],[202,2],[208,1],[271,2],[277,1]]},"645":{"position":[[161,1],[200,1]]},"646":{"position":[[118,1]]},"647":{"position":[[115,1],[127,1],[175,2]]},"648":{"position":[[211,1],[238,2],[244,1],[301,2],[347,1],[384,1],[441,1]]},"652":{"position":[[212,2]]},"653":{"position":[[199,2],[202,1]]},"654":{"position":[[126,2]]},"655":{"position":[[123,2]]},"665":{"position":[[169,1]]},"666":{"position":[[12,2],[180,2]]},"668":{"position":[[121,1],[150,1],[286,3]]},"670":{"position":[[113,2]]},"693":{"position":[[10024,2],[10054,1],[10100,1]]},"784":{"position":[[1522,2],[1531,1]]},"888":{"position":[[40,1],[131,1]]},"889":{"position":[[323,1]]},"890":{"position":[[371,1],[802,2],[1152,1],[1185,1],[1221,1],[1265,2],[1460,1],[1494,1],[1560,1],[1613,1],[1625,1],[3103,1],[3243,1],[3252,1],[3283,1],[3292,1],[5633,2],[5640,1],[5706,1],[5772,1],[5796,1]]},"892":{"position":[[40,1],[98,2],[144,2],[266,2],[510,1],[980,1],[1101,2],[1337,2],[1387,1],[1456,1],[1683,1]]},"898":{"position":[[1292,2]]},"902":{"position":[[1023,1]]},"919":{"position":[[2760,1]]},"934":{"position":[[53,1]]},"1040":{"position":[[2139,1],[2278,2],[2535,2],[2635,3]]},"1044":{"position":[[1124,2],[1662,2],[1806,2]]},"1049":{"position":[[1110,2],[1159,2]]},"1104":{"position":[[1971,1],[2527,1]]},"1167":{"position":[[926,2]]},"1251":{"position":[[272,1]]}},"keywords":{}}],["x!"",{"_index":2980,"title":{},"content":{"615":{"position":[[325,9]]}},"keywords":{}}],["x,x",{"_index":2915,"title":{},"content":{"607":{"position":[[256,3]]}},"keywords":{}}],["x.append(1",{"_index":2564,"title":{},"content":{"563":{"position":[[199,11]]},"890":{"position":[[939,13]]}},"keywords":{}}],["x.append(2",{"_index":2565,"title":{},"content":{"563":{"position":[[211,11]]}},"keywords":{}}],["x.append(3",{"_index":2566,"title":{},"content":{"563":{"position":[[223,11]]}},"keywords":{}}],["x.clear",{"_index":2501,"title":{},"content":{"553":{"position":[[244,9]]},"564":{"position":[[200,9]]}},"keywords":{}}],["x.delimit",{"_index":2147,"title":{},"content":{"405":{"position":[[1568,11]]},"784":{"position":[[1568,11]]}},"keywords":{}}],["x.extend(["foo"",{"_index":2574,"title":{},"content":{"565":{"position":[[325,27]]}},"keywords":{}}],["x.extend([1",{"_index":2573,"title":{},"content":{"565":{"position":[[305,12]]}},"keywords":{}}],["x.f",{"_index":3112,"title":{},"content":{"637":{"position":[[207,3]]},"645":{"position":[[268,4],[319,3]]}},"keywords":{}}],["x.get("one"",{"_index":2507,"title":{},"content":{"554":{"position":[[362,22]]}},"keywords":{}}],["x.get("three"",{"_index":2508,"title":{},"content":{"554":{"position":[[390,24],[423,24]]}},"keywords":{}}],["x.index("a"",{"_index":2585,"title":{},"content":{"566":{"position":[[726,22],[763,22],[803,22]]}},"keywords":{}}],["x.insert",{"_index":2594,"title":{},"content":{"567":{"position":[[548,9]]}},"keywords":{}}],["x.insert(0",{"_index":2593,"title":{},"content":{"567":{"position":[[521,11]]}},"keywords":{}}],["x.item",{"_index":2514,"title":{},"content":{"555":{"position":[[284,9]]}},"keywords":{}}],["x.key",{"_index":2517,"title":{},"content":{"556":{"position":[[260,8]]}},"keywords":{}}],["x.owned_value(&to",{"_index":4184,"title":{},"content":{"889":{"position":[[410,23]]}},"keywords":{}}],["x.pop",{"_index":2599,"title":{},"content":{"568":{"position":[[352,7],[365,7]]}},"keywords":{}}],["x.pop("one"",{"_index":2523,"title":{},"content":{"557":{"position":[[471,22]]}},"keywords":{}}],["x.pop("three"",{"_index":2524,"title":{},"content":{"557":{"position":[[525,24],[558,24]]}},"keywords":{}}],["x.popitem",{"_index":2529,"title":{},"content":{"558":{"position":[[326,11],[362,11]]}},"keywords":{}}],["x.remove(2",{"_index":2604,"title":{},"content":{"569":{"position":[[268,11],[295,11],[341,11],[427,11],[439,11],[451,11]]}},"keywords":{}}],["x.setdefault("four"",{"_index":2538,"title":{},"content":{"559":{"position":[[697,30]]}},"keywords":{}}],["x.setdefault("one"",{"_index":2535,"title":{},"content":{"559":{"position":[[554,29]]}},"keywords":{}}],["x.setdefault("three"",{"_index":2536,"title":{},"content":{"559":{"position":[[589,31]]}},"keywords":{}}],["x.update([("a"",{"_index":2548,"title":{},"content":{"560":{"position":[[752,25]]}},"keywords":{}}],["x.update(e=5",{"_index":2552,"title":{},"content":{"560":{"position":[[837,13]]}},"keywords":{}}],["x.update({"d"",{"_index":2550,"title":{},"content":{"560":{"position":[[808,24]]}},"keywords":{}}],["x.valu",{"_index":2559,"title":{},"content":{"561":{"position":[[287,10]]},"638":{"position":[[1025,8]]}},"keywords":{}}],["x86",{"_index":4580,"title":{},"content":{"937":{"position":[[148,4],[4164,4]]},"1454":{"position":[[10265,5],[10445,5]]}},"keywords":{}}],["x86/libmylib.a",{"_index":8193,"title":{},"content":{"1454":{"position":[[10460,17]]}},"keywords":{}}],["x86/libmylib.so",{"_index":8190,"title":{},"content":{"1454":{"position":[[10280,18]]}},"keywords":{}}],["x8664",{"_index":5884,"title":{},"content":{"1136":{"position":[[2974,6]]},"1138":{"position":[[6636,6]]},"1140":{"position":[[5562,6]]},"1142":{"position":[[1006,6]]},"1146":{"position":[[946,6]]},"1148":{"position":[[3986,6]]},"1155":{"position":[[1042,6]]},"1156":{"position":[[620,6]]},"1167":{"position":[[6566,6]]},"1169":{"position":[[405,6]]},"1186":{"position":[[2210,6]]},"1187":{"position":[[2223,6]]},"1188":{"position":[[6949,6]]},"1191":{"position":[[810,6]]},"1192":{"position":[[985,6]]},"1193":{"position":[[1037,6]]},"1194":{"position":[[677,6]]},"1195":{"position":[[655,6]]},"1196":{"position":[[465,6]]},"1197":{"position":[[1448,6]]},"1198":{"position":[[1458,6]]},"1199":{"position":[[1486,6]]},"1200":{"position":[[1353,6]]},"1201":{"position":[[613,6]]},"1202":{"position":[[1755,6],[6152,6]]},"1203":{"position":[[847,6]]},"1204":{"position":[[691,6]]},"1205":{"position":[[2020,6]]},"1206":{"position":[[491,6]]},"1207":{"position":[[648,6]]},"1209":{"position":[[1996,6]]},"1217":{"position":[[5307,6]]},"1219":{"position":[[1293,6]]},"1222":{"position":[[417,6]]},"1223":{"position":[[427,6]]},"1224":{"position":[[607,6]]},"1226":{"position":[[5775,6]]},"1228":{"position":[[7388,6]]},"1235":{"position":[[3256,6]]},"1237":{"position":[[5945,6]]}},"keywords":{}}],["x86_64",{"_index":4816,"title":{},"content":{"968":{"position":[[53,6],[159,6]]},"969":{"position":[[169,6]]},"1383":{"position":[[8905,6]]},"1384":{"position":[[22145,13],[22285,12]]},"1454":{"position":[[10317,8],[10496,8]]},"1469":{"position":[[2564,8]]}},"keywords":{}}],["x86_64.",{"_index":7231,"title":{},"content":{"1384":{"position":[[22159,12]]}},"keywords":{}}],["x86_64.bin",{"_index":8383,"title":{},"content":{"1469":{"position":[[2638,12]]}},"keywords":{}}],["x86_64.egg"",{"_index":8287,"title":{},"content":{"1461":{"position":[[3948,17],[4071,17]]}},"keywords":{}}],["x86_64.h",{"_index":7234,"title":{},"content":{"1384":{"position":[[22320,10]]}},"keywords":{}}],["x86_64/libmylib.a",{"_index":8194,"title":{},"content":{"1454":{"position":[[10522,20]]}},"keywords":{}}],["x86_64/libmylib.so",{"_index":8191,"title":{},"content":{"1454":{"position":[[10343,21]]}},"keywords":{}}],["x=2",{"_index":2826,"title":{},"content":{"595":{"position":[[1492,4]]}},"keywords":{}}],["x=3",{"_index":3106,"title":{},"content":{"636":{"position":[[714,4],[754,4]]}},"keywords":{}}],["x=x",{"_index":5154,"title":{},"content":{"1040":{"position":[[2417,4]]}},"keywords":{}}],["x@i",{"_index":4579,"title":{},"content":{"935":{"position":[[128,3]]}},"keywords":{}}],["x[defaultinfo].sub_targets["foo"",{"_index":1009,"title":{},"content":{"79":{"position":[[146,43]]},"508":{"position":[[146,43]]}},"keywords":{}}],["x[goodbyeinfo].output",{"_index":5189,"title":{},"content":{"1044":{"position":[[1809,22]]}},"keywords":{}}],["x[helloinfo].hello",{"_index":5270,"title":{},"content":{"1049":{"position":[[1113,19]]}},"keywords":{}}],["x[helloinfo].output",{"_index":5181,"title":{},"content":{"1044":{"position":[[1127,20],[1665,20]]}},"keywords":{}}],["x[helloinfo].world",{"_index":5271,"title":{},"content":{"1049":{"position":[[1162,19]]}},"keywords":{}}],["x[pascallibraryinfo",{"_index":5665,"title":{},"content":{"1104":{"position":[[1945,21]]}},"keywords":{}}],["xar",{"_index":3659,"title":{},"content":{"706":{"position":[[303,4],[634,3],[706,3],[838,3],[877,3]]}},"keywords":{}}],["xcode",{"_index":4759,"title":{},"content":{"956":{"position":[[397,5]]},"1136":{"position":[[2988,5]]},"1138":{"position":[[6650,5]]},"1140":{"position":[[5576,5]]},"1142":{"position":[[1020,5]]},"1146":{"position":[[960,5]]},"1148":{"position":[[4000,5]]},"1155":{"position":[[1056,5]]},"1156":{"position":[[634,5]]},"1167":{"position":[[6580,5]]},"1169":{"position":[[419,5]]},"1186":{"position":[[2224,5]]},"1187":{"position":[[2237,5]]},"1188":{"position":[[6963,5]]},"1191":{"position":[[824,5]]},"1192":{"position":[[999,5]]},"1193":{"position":[[1051,5]]},"1194":{"position":[[691,5]]},"1195":{"position":[[669,5]]},"1196":{"position":[[479,5]]},"1197":{"position":[[1462,5]]},"1198":{"position":[[1472,5]]},"1199":{"position":[[1500,5]]},"1200":{"position":[[1367,5]]},"1201":{"position":[[627,5]]},"1202":{"position":[[1769,5],[6166,5]]},"1203":{"position":[[861,5]]},"1204":{"position":[[705,5]]},"1205":{"position":[[2034,5]]},"1206":{"position":[[505,5]]},"1207":{"position":[[662,5]]},"1209":{"position":[[2010,5]]},"1217":{"position":[[5321,5]]},"1219":{"position":[[1307,5]]},"1222":{"position":[[431,5]]},"1223":{"position":[[441,5]]},"1224":{"position":[[621,5]]},"1226":{"position":[[5789,5]]},"1228":{"position":[[7402,5]]},"1235":{"position":[[3270,5]]},"1237":{"position":[[5959,5]]},"1362":{"position":[[13645,5]]},"1363":{"position":[[5578,5]]},"1364":{"position":[[14345,5]]}},"keywords":{}}],["xcode_build_vers",{"_index":7008,"title":{},"content":{"1368":{"position":[[1376,20]]}},"keywords":{}}],["xcode_product_typ",{"_index":6873,"title":{},"content":{"1363":{"position":[[2769,19]]},"1367":{"position":[[6555,19]]}},"keywords":{}}],["xcode_vers",{"_index":7009,"title":{},"content":{"1368":{"position":[[1413,14]]}},"keywords":{}}],["xcprivaci",{"_index":6892,"title":{},"content":{"1363":{"position":[[5430,10]]}},"keywords":{}}],["xctest",{"_index":7010,"title":{},"content":{"1368":{"position":[[1444,7]]}},"keywords":{}}],["xctrace",{"_index":5461,"title":{},"content":{"1061":{"position":[[301,7]]}},"keywords":{}}],["xenviron",{"_index":4203,"title":{},"content":{"890":{"position":[[571,12]]}},"keywords":{}}],["xml",{"_index":7656,"title":{},"content":{"1401":{"position":[[1717,4]]}},"keywords":{}}],["xmlns:android="http://schemas.android.com/apk/res/android"",{"_index":6583,"title":{},"content":{"1356":{"position":[[2248,68]]}},"keywords":{}}],["xplugin",{"_index":8047,"title":{},"content":{"1439":{"position":[[5435,8]]}},"keywords":{}}],["xrl",{"_index":7492,"title":{},"content":{"1393":{"position":[[7710,6],[7971,5]]}},"keywords":{}}],["xrl_includefil",{"_index":7454,"title":{},"content":{"1393":{"position":[[1008,16],[8740,16]]}},"keywords":{}}],["xs",{"_index":4218,"title":{},"content":{"890":{"position":[[2043,2]]}},"keywords":{}}],["xs.append(1",{"_index":4216,"title":{},"content":{"890":{"position":[[2020,13]]}},"keywords":{}}],["xz_compression_level",{"_index":6468,"title":{},"content":{"1350":{"position":[[3768,21]]},"1352":{"position":[[3767,21]]}},"keywords":{}}],["y",{"_index":3108,"title":{},"content":{"636":{"position":[[784,1],[828,1]]},"890":{"position":[[389,1],[805,2]]},"892":{"position":[[69,1],[101,2],[147,1],[181,1],[273,1],[390,1],[422,1],[446,1],[626,2],[747,1],[902,1],[1009,1],[1104,2],[1241,2],[1264,1],[1472,1],[1699,1],[1840,1]]},"934":{"position":[[45,2],[73,2]]},"1251":{"position":[[278,1]]}},"keywords":{}}],["y=3",{"_index":2827,"title":{},"content":{"595":{"position":[[1497,4]]}},"keywords":{}}],["ye",{"_index":6173,"title":{},"content":{"1243":{"position":[[0,4]]}},"keywords":{}}],["year",{"_index":647,"title":{},"content":{"22":{"position":[[656,5]]}},"keywords":{}}],["years).is_execut",{"_index":1060,"title":{},"content":{"85":{"position":[[524,21]]},"217":{"position":[[524,21]]}},"keywords":{}}],["yecc",{"_index":7528,"title":{},"content":{"1393":{"position":[[10613,4]]}},"keywords":{}}],["yenviron",{"_index":4204,"title":{},"content":{"890":{"position":[[602,12]]}},"keywords":{}}],["yield",{"_index":1998,"title":{},"content":{"368":{"position":[[3535,6]]},"567":{"position":[[384,5]]},"569":{"position":[[359,5]]},"747":{"position":[[3535,6]]},"1087":{"position":[[49,5],[718,5]]},"1482":{"position":[[2654,6]]}},"keywords":{}}],["yimpli",{"_index":3193,"title":{},"content":{"647":{"position":[[132,8]]}},"keywords":{}}],["you'd",{"_index":4321,"title":{},"content":{"896":{"position":[[515,5]]},"1025":{"position":[[179,5]]}},"keywords":{}}],["you'll",{"_index":563,"title":{},"content":{"18":{"position":[[769,6]]},"99":{"position":[[1066,6]]},"231":{"position":[[1066,6]]},"298":{"position":[[814,6]]},"584":{"position":[[316,6]]},"840":{"position":[[1257,6]]},"895":{"position":[[449,6]]},"1031":{"position":[[104,6]]},"1036":{"position":[[264,6]]},"1087":{"position":[[404,6]]},"1091":{"position":[[139,6]]},"1104":{"position":[[1880,6]]},"1415":{"position":[[5719,6]]}},"keywords":{}}],["you'r",{"_index":589,"title":{},"content":{"18":{"position":[[1655,6]]},"895":{"position":[[58,6],[183,6],[580,6]]},"1078":{"position":[[225,6]]},"1120":{"position":[[210,6]]}},"keywords":{}}],["your_function_nam",{"_index":3847,"title":{},"content":{"840":{"position":[[266,18],[612,18],[968,18]]}},"keywords":{}}],["yourbuckconfig",{"_index":5526,"title":{},"content":{"1076":{"position":[[48,15]]}},"keywords":{}}],["yourproject",{"_index":2605,"title":{},"content":{"570":{"position":[[83,12]]}},"keywords":{}}],["yourself",{"_index":2340,"title":{},"content":{"436":{"position":[[191,9]]},"815":{"position":[[191,9]]},"864":{"position":[[987,9]]},"894":{"position":[[576,9]]},"1037":{"position":[[501,8]]},"1393":{"position":[[9342,8]]}},"keywords":{}}],["you’d",{"_index":3645,"title":{},"content":{"705":{"position":[[486,5]]}},"keywords":{}}],["you’ll",{"_index":3672,"title":{},"content":{"706":{"position":[[909,6],[1528,6],[2313,6]]}},"keywords":{}}],["you’r",{"_index":3676,"title":{},"content":{"706":{"position":[[1194,6],[2069,6]]}},"keywords":{}}],["you’v",{"_index":6146,"title":{},"content":{"1232":{"position":[[3295,6]]}},"keywords":{}}],["yrl",{"_index":7493,"title":{},"content":{"1393":{"position":[[7720,5],[7981,5]]}},"keywords":{}}],["yrl_includefil",{"_index":7455,"title":{},"content":{"1393":{"position":[[1041,16],[8842,16]]}},"keywords":{}}],["z",{"_index":4200,"title":{},"content":{"890":{"position":[[409,1],[633,1]]},"892":{"position":[[104,1],[153,1],[536,1],[1025,1],[1488,1],[1715,1]]}},"keywords":{}}],["z]*$"",{"_index":2335,"title":{},"content":{"435":{"position":[[183,11],[244,11]]},"814":{"position":[[183,11],[244,11]]}},"keywords":{}}],["zero",{"_index":3202,"title":{},"content":{"648":{"position":[[323,5],[690,4]]},"662":{"position":[[791,5]]},"695":{"position":[[26,4]]},"1228":{"position":[[1664,4]]}},"keywords":{}}],["zero)"",{"_index":2834,"title":{},"content":{"595":{"position":[[1658,11]]}},"keywords":{}}],["zip",{"_index":3364,"title":{"673":{"position":[[0,4]]}},"content":{"673":{"position":[[56,4],[61,3],[92,5],[463,5]]},"1422":{"position":[[3448,4]]},"1427":{"position":[[6687,3]]},"1439":{"position":[[7823,3]]},"1469":{"position":[[2074,3]]},"1487":{"position":[[675,3],[1679,3],[2112,3],[2224,3],[2291,5],[2338,4],[2373,3],[2577,3],[2631,3],[2680,3],[2756,3],[3041,3],[3167,3],[3330,3],[3421,3],[3456,4],[3618,4]]}},"keywords":{}}],["zip(*arg",{"_index":3365,"title":{},"content":{"673":{"position":[[4,10]]}},"keywords":{}}],["zip(range(5",{"_index":3367,"title":{},"content":{"673":{"position":[[475,13],[523,13]]}},"keywords":{}}],["zip_fil",{"_index":8605,"title":{"1487":{"position":[[0,9]]}},"content":{"1487":{"position":[[4,9],[634,10],[1815,8],[3052,9]]}},"keywords":{}}],["zip_saf",{"_index":8317,"title":{},"content":{"1462":{"position":[[4200,9]]},"1465":{"position":[[1344,9]]},"1467":{"position":[[4921,9]]}},"keywords":{}}],["zip_src",{"_index":8608,"title":{},"content":{"1487":{"position":[[594,9],[2610,9],[2722,8],[2945,8],[3385,8]]}},"keywords":{}}],["zipalign",{"_index":6662,"title":{},"content":{"1360":{"position":[[5846,8]]}},"keywords":{}}],["zsh",{"_index":5945,"title":{},"content":{"1144":{"position":[[162,4],[318,4]]}},"keywords":{}}],["zstd",{"_index":5938,"title":{},"content":{"1140":{"position":[[867,4]]},"1188":{"position":[[920,4]]},"1226":{"position":[[5090,5]]},"1237":{"position":[[5260,5]]}},"keywords":{}}]],"pipeline":["stemmer"]} \ No newline at end of file diff --git a/search-doc-1723761734197.json b/search-doc-1723761734197.json new file mode 100644 index 0000000000000..dc39d1a3ede55 --- /dev/null +++ b/search-doc-1723761734197.json @@ -0,0 +1 @@ +[{"title":"Introduction","type":0,"sectionRef":"#","url":"/docs/","content":"","keywords":""},{"title":"Buck2 Documentation Website Links​","type":1,"pageTitle":"Introduction","url":"/docs/#buck2-documentation-website-links","content":""},{"title":"For end users​","type":1,"pageTitle":"Introduction","url":"/docs/#for-end-users","content":"Getting Started - how to get started with using Buck2.Benefits - the benefits of using Buck2. "},{"title":"For people writing rules​","type":1,"pageTitle":"Introduction","url":"/docs/#for-people-writing-rules","content":"Writing Rules - how to write rules to support new languages.Build APIs - documentation for the APIs available when writing rules.Starlark Types - rules are written in Starlark (which is approximately Python), but our version adds types. "},{"title":"For people integrating with Buck2​","type":1,"pageTitle":"Introduction","url":"/docs/#for-people-integrating-with-buck2","content":"Extending Buck via BXL - powerful Starlark scripts for introspection of Buck2's graphs.Buck2 change detector - tools for building a CI that only builds/tests what has changed in diff/PR.Buck2 GitHub actions installer - script to make GitHub CI with Buck2 easier.Reindeer - a set of tools for importing Rust crates from crates.io, git repos etc and generating a BUCK file for using them.ocaml-scripts - scripts to generate a BUCK file enabling the use of OCaml packages from an OPAM switch.Buckle - a launcher for Buck2 on a per-project basis. Enables a project or team to do seamless upgrades of their build system tooling. "},{"title":"External articles about Buck2​","type":1,"pageTitle":"Introduction","url":"/docs/#external-articles-about-buck2","content":"Introducing Buck2 - our initial introduction when we open sourced Buck2.Reddit AMAwhere the Buck2 team answered a number of questions.Using buck to build Rust projects - working through an initial small Rust project, bySteve Klabnik. Followed up bybuilding from crates.ioand updating Buck2.Awesome Buck2 is a collection of resources about Buck2.Buck2 Unboxing is a general review of Buck2 by Son Luong Ngoc.A tour around Buck2 gives an overview of Buck2 and how it differs from Bazel. "},{"title":"External videos about Buck2​","type":1,"pageTitle":"Introduction","url":"/docs/#external-videos-about-buck2","content":"Accelerating builds with Buck2Neil talks about why Buck2 is fast.Buck2: optimizations & dynamic dependenciesNeil and Chris talk about why Buck2 is fast and some of the advanced dependency features.Building Erlang with Buck2Andreas talks about building WhatsApp with Buck2.antlir2: Deterministic image bulids with Buck2talks about layering a packaging system over Buck2. "},{"title":"External projects using Buck2​","type":1,"pageTitle":"Introduction","url":"/docs/#external-projects-using-buck2","content":"System Initiative build their DevOps productusing Buck2, with their own custom prelude.Rust cxx library has examples and tests with a wide variety of build systems, including Buck2.ocamlrep library allows for interop between OCaml and Rust code, and can bebuilt with Buck2.buck2-nix is an experiment to integrate Buck2, Sapling andNix together in a harmonious way. Feel free tosend a PR adding your project. "},{"title":"Benefits When Compared to Buck1","type":0,"sectionRef":"#","url":"/docs/about/benefits/compared_to_buck1/","content":"","keywords":""},{"title":"Benefits for end users​","type":1,"pageTitle":"Benefits When Compared to Buck1","url":"/docs/about/benefits/compared_to_buck1/#benefits-for-end-users","content":""buck2 build SOME_TARGET_I_ALREADY_BUILT_BEFORE is basically instantaneous and is a super delightful experience. 🙂" - End user experience "Buck2 is largely faster and more memory efficient than buck1, and where I’ve seen counter-examples, the buck2 team quickly optimizes and fixes that.🙂" - Software Engineer feedback For people who use Buck on a daily basis (such as using Buck build as part of their development inner loop), switching to Buck2 provides the following benefits: Performance - the performance of Buck2 is better in four ways: Fast things are fast - in Buck1, simply typing buck build when there is nothing to do can be expensive (23 seconds in some benchmarks). In Buck2, the same build action takes 0.1 seconds. Actions that should be fast are fast, which enables developers to use Buck more freely, without trying to work around the build system.Slow things are faster - when there is real work to do, Buck2 is significantly closer to the critical path. Benchmarks range from 5%/10s faster for changing a header file (lots of parallel C++ computations, Buck1 already nearly at the critical path) to 42%/145s faster (changing a Thrift file in a large project).Users contribute to the shared cache - with Buck1, only trusted CI builds write to the network cache, while with Buck2 everyone writes to the cache through sandboxed remote execution. This increases the chance of cache hits, saving capacity and time.CI builds go faster - these numbers vary day by day, but most projects are 2-4x faster. This means spending less time waiting for CI and saving some capacity at the same time. Correctness - in Buck2, rules are hermetic by default. Missing dependencies are errors. These restrictions apply to both the user-writtenBUCK files and the language rules. During the process of migrating to Buck2, a huge number of missing dependencies have been fixed. However, during the same process, several Buck1 issues were identified that are not going to be fixed in Buck1 (such as missing headers, genrules without dependencies, and OCaml rules don’t track all deps). The end result is that Buck2 gives the right answer more often, cutting down on user surprises. Rule features - the rules in Buck2, especially for less commonly used languages (such as Haskell, OCaml, and Rust) support features above and beyond those in Buck1. Examples: dependencies can be given as arguments toprebuilt_ocaml_library, Haskell enables the use of stub headers from C++, and Rust has experimental pipelining support. Actively developed - the Meta build team is putting all its efforts behind Buck2; it's vastly easier to develop than Buck1. While Buck2 is already ahead of Buck1 in many important aspects, the difference is only going to grow with several improvements in the pipeline.Support - Meta can provide much better support to those having difficulties with Buck2 than to those using Buck1. "},{"title":"Benefits for Rule Authors​","type":1,"pageTitle":"Benefits When Compared to Buck1","url":"/docs/about/benefits/compared_to_buck1/#benefits-for-rule-authors","content":"If you write language-specific rules, then Buck2 is in a different league to Buck1. "This is all rather fun! Buck2 rules are so much more hackable than Buck1." - Software Engineer feedback There are a number of reasons why Buck2 excels for Rule Authors: Faster developer cycle - in Buck1, the time from changing a rule to seeing the impact is many minutes: you first have to compile Buck1, invalidate the dependency cache (and so on), and perhaps work between multiple OSs. With Buck2, it takes seconds, you don’t even need to restart the daemon.Simple API - Buck2 rules use a small and documented Starlark API, which is dependency-correct by construction. In Buck1, the rules must obey a lot of subtle side conditions with a much larger API.Easier deployment - for Buck2, deployment is just checking the rules in, with an atomic commit changing associated macros (when required). For Buck1, you have to make the repo work with the old and new rules and wait for a Buck version bump to ship your changes, perhaps a few days later.Low barrier to entry - writing rules in Buck2 is vastly easier than Buck1, significantly increasing the developer pool. This means that writing rules is now accessible to language experts, not just Buck experts. "},{"title":"Benefits for Integrators​","type":1,"pageTitle":"Benefits When Compared to Buck1","url":"/docs/about/benefits/compared_to_buck1/#benefits-for-integrators","content":"For those people who integrate Buck2 into larger systems, in addition to many of the above benefits apply, Buck2 provides the following benefits: Faster queries - many integrators make extensive use of buck uquery andcquery. In Buck2, these commands are faster and use less memory. For example, on CI target determination (a bunch of targets/queries), Buck2 is 25% faster at P50 (moving to 40% faster at P95) with 25% less memory (saving over 20Gb, and crossing below the 64Gb threshold). Profiling - Buck2 already ships with five types of profiling for both loading and analysis (flame graphs, statement breakdown, heap profiles etc). With Buck2, these tools are much more easily accessible to people not on the Build Infra team. "},{"title":"The downside​","type":1,"pageTitle":"Benefits When Compared to Buck1","url":"/docs/about/benefits/compared_to_buck1/#the-downside","content":"While there are many benefits, it would be remiss not to include a small list of temporary issues: Stability - Buck2 is under active development, which means the risk of regression is correspondingly higher. There may be issues, but they will be fixed as quickly as possible (and lessons learned) through the through Meta's SEV-review process.Corner cases - Buck1 has been battle-tested for nearly a decade, which has included attention to events such as error messages in unlikely corner cases. Only time and user feedback will enable Meta to bring Buck2 to the same level. Please share all such feedback! "},{"title":"Bootstrapping Buck2","type":0,"sectionRef":"#","url":"/docs/about/bootstrapping/","content":"Bootstrapping Buck2 To generate BUCK files for buck2's dependencies, we usereindeer. Note that the resulting binary will be compiled without optimisations orjemalloc, so we recommend using the Cargo-produced binary in further development. First, install reindeer with Cargo: cargo install --locked --git https://github.com/facebookincubator/reindeer reindeer Next, run the following to buckify dependencies: cd buck2/ reindeer --third-party-dir shim/third-party/rust buckify Build buck2 with buck2: buck2 build //:buck2 ","keywords":""},{"title":"Getting Started","type":0,"sectionRef":"#","url":"/docs/about/getting_started/","content":"","keywords":""},{"title":"Installing Buck2​","type":1,"pageTitle":"Getting Started","url":"/docs/about/getting_started/#installing-buck2","content":"The latest set of buck2 executables can be found under thelatest release page. Additionally, for each bi-monthly release there is adotslash file that is appropriate for checkin to a repository. This will automatically fetch the correct version and architecture for each user, and ensures a consistent build environment for each commit in the repo. To get started, first install rustup, then compile thebuck2 executable: rustup install nightly-2024-06-08 cargo +nightly-2024-06-08 install --git https://github.com/facebook/buck2.git buck2 The above commands install buck2 into a suitable directory, such as$HOME/.cargo/bin, which you should then add to your $PATH: Linux / macOS export PATH=$HOME/.cargo/bin:$PATH Windows Powershell $Env:PATH += ";$HOME\\.cargo\\bin" With Buck2 installed, you can build projects with buck2! "},{"title":"Windows configuration​","type":1,"pageTitle":"Getting Started","url":"/docs/about/getting_started/#windows-configuration","content":"Some of our rules use symlinks, which are disabled by default for non-admin Windows users. You can fix that byenabling Developer Mode. "},{"title":"Compiling your first project​","type":1,"pageTitle":"Getting Started","url":"/docs/about/getting_started/#compiling-your-first-project","content":"This section covers the building of a'hello_world' example projectthat contains a simple C++ binary. If you are interested in seeing how other languages can be built, take a look at theprelude example project, which contains Rust, C++, Python, and OCaml targets. First, clone the buck2 repository and cd into the 'hello_world' project: git clone https://github.com/facebook/buck2.git cd buck2/examples/hello_world buck2 init --git is all the setup you need to start building. This will use git submodule to pull buck2-preludeinto your project: buck2 init --git To use another version control system, run buck2 init and manually downloadbuck2-prelude into prelude at root. buck2 init To build the entire project, run: Note: Requires clang and lld to be in the path buck2 build //... Note that this uses asimple C++ toolchainthat requires a recent version of clang to be installed on your system. This can be installed with any package manager (ex. apt install clang,xcode-select --install on macOS, choco install llvm). After installing any external tools or changing your PATH, run buck2 kill before running a build. To list all targets available in the project, run: buck2 targets //... To run the main C++ binary, run: buck2 run //:main The newly built binary can be found with the --show-output flag: buck2 build //:main --show-output Output: Build ID: 0e890477-5b7f-4829-9ffe-662e572320a0 Jobs completed: 3. Time elapsed: 0.0s. BUILD SUCCEEDED root//:main buck-out/v2/gen/root/9f4d83578bb24895/__main__/main "},{"title":"Creating your first hello_world project​","type":1,"pageTitle":"Getting Started","url":"/docs/about/getting_started/#creating-your-first-hello_world-project","content":"This section demonstrates how to create a simple C++ 'hello_world' project. To get started, make a new folder for your project and cd into it. mkdir hello_world cd hello_world Next, run buck2 init --git to initialize the project. This command will set up your project with git and pull inbuck2-prelude as a submodule. Additionally, it will generate multiple files with default values. buck2 init --git Next, add the source code main.cpp , #include <iostream> int main() { std::cout << "Hello from a C++ Buck2 program!" << std::endl; } Then, define a cxx_binary in the root BUCK file: # BUCK cxx_binary( name = "main", srcs = ["main.cpp"], link_style = "static", ) If you try to build //:main at this point, you'll see an error about buck2not being able to find toolchains//:cxx. The final step is to define the necessary toolchain targets. For that project, you need system_cxx_toolchain and system_python_bootstrap_toolchain, which will pick up the necessary tools (clang++, python, and so on) from the system. # toolchains/BUCK load("@prelude//toolchains:cxx.bzl", "system_cxx_toolchain") load("@prelude//toolchains:python.bzl", "system_python_bootstrap_toolchain") system_cxx_toolchain( name = "cxx", visibility = ["PUBLIC"], ) system_python_bootstrap_toolchain( name = "python_bootstrap", visibility = ["PUBLIC"], ) At this point, your project should have the following files: $ tree -a -I "buck-out|prelude|.git" |-- .buckconfig |-- .gitmodules |-- BUCK |-- main.cpp `-- toolchains `-- BUCK Now, you're ready to see the build in action. To build the main C++ target, run: buck2 build //:main To run the main C++ target, run: buck2 run //:main In summary, a buck2 project requires: A .buckconfig file in the root which has a [cells] section listing outcellsA prelude directory, which contains a collection ofrules of your choice.buck2 init will pull in thebuck2-prelude as a git submodule by defaultIf using the buck2-prelude, a toolchains directory that declares relevant toolchains. We provide some basic toolchains inprelude/toolchainsBUCK files that specify targets for your project buck2 init --git will generate all of these with reasonable default values. "},{"title":"Learning More​","type":1,"pageTitle":"Getting Started","url":"/docs/about/getting_started/#learning-more","content":"You should now be ready to explore Buck2 for use in your own projects. You can explore the examplesfolder. Look out for more tutorials in the future. "},{"title":"APIs","type":0,"sectionRef":"#","url":"/docs/api/","content":"APIs A lot of Buck2 is driven by Starlark APIs. While there is aStarlark specification, for most purposes it can be considered a subset of Python. There are three main places you can write Starlark in Buck2: In BUCK files, where you can define the rules. The most interesting functions are the rules themselves, but you will often use the builtin Starlark functions (most of which are the same as in Python), and a few of the build functions (e.g.glob).In rule definitions, where you can use the same Starlark standard functions, but will heavily be using the build functions (e.g. ruleand attrs).In BXL, where the context type is one of the more important ones.","keywords":""},{"title":"Why Buck2","type":0,"sectionRef":"#","url":"/docs/about/why/","content":"","keywords":""},{"title":"Why does Buck2 exist?​","type":1,"pageTitle":"Why Buck2","url":"/docs/about/why/#why-does-buck2-exist","content":"Meta employs a very large monorepo, consisting of a variety of programming languages, including C++, Python, Rust, Kotlin, Swift, Objective-C, Haskell, OCaml, and more. Google employs a different but functionally similar monorepo. These large scale and multi-language repositories are generally beyond the capabilities of traditional build systems like make. To optimize the build and performance of these large systems, Facebook and Google developed their own build systems, respectively Buck and Bazel. While the internal version of Bazel was started first (also known as Blaze), Buck was open sourced first (back in March 2013), followed by Bazel a few years later (March 2015). The retroactively named Buck1 was a capable build system and is still in use today at Meta (although many users have migrated). Buck2 is a rewrite that aims to keep the best bits of Buck1 (with a high degree of target compatibility) but also borrows ideas from academicresearch and build systems, including Bazel, Pants,Shake, Tup, and more. Following are aspects common to Buck1 and Buck2 (and in most cases, Bazel): Targets that can be queried - the build is defined as a series of targets, specified in BUCK files, that depend on other targets. This graph of targets can be queried to understand how they relate to each other and what the potential impact of a change might be.Remote execution - the build can send actions to a set of remote servers to be executed, increasing the parallelism significantly.Multi-language composability - there can be lots of different languages in a single build, and they can be put together. For example, you could have a Python library that depends on a Rust library, which, in turn depends on a C library.File watching - at large enough scale, simply looking for changed files is prohibitively expensive. Buck can integrate withWatchman to discover which files have changed efficiently. However, for simplicity of setup, the open-source version defaults to using inotify or similar functionality.Uses Starlark - Starlark is a deterministic Python-like language used to specify the targets, enabling the definition of targets as literals and more advanced manipulation/sharing. "},{"title":"What's different about Buck2?​","type":1,"pageTitle":"Why Buck2","url":"/docs/about/why/#whats-different-about-buck2","content":"Buck2 has many minor differences from Buck1, but there are a number that give new efficiency or expressiveness that are of note (most of these are also different from Bazel). Buck2 is written in Rust - Buck1 was written in Java. One of the advantages of using Rust is the absence of GC pauses, However, Java also has advantages, such as better memory profiling tools.Buck2 is remote execution first - local execution is considered a special case of remote execution, in contrast to Buck1 where it was added after. That means that things such as directory hashes can be pre-computed ready to send to remote execution, giving efficiency benefits.All Buck2 rules are written in Starlark - whereas, in Buck1, they were written in Java as part of the binary, which makes iteration on rules much faster.The Buck2 binary is entirely language agnostic - as a consequence of having all the rules external to the binary, the most important and complex rule (such as in C++), don't have access to magic internal features. As a result, features have been made available to all rules, including: Dep files - the ability to declare that a subset of the files weren't actually used, and thus not be sensitive to changes within them.Incremental actions - the ability to have the action short-circuit some subset of the work if run again. Buck2 uses a dynamic (aka monadic) graph as its underlying computation engine - while most dependencies are specified statically, there are two particular features that expose dynamic power to rule authors: Dynamic dependencies - enable rules to build a file then look at its contents before specifying the dependencies and steps in future actions. Common uses are languages where the dependency structure within a project must follow imports (e.g. Haskell, OCaml) and distributed ThinLTO (where the best optimization plan is generated from summaries).Anonymous targets - enable rules to create a graph that has more sharing than the original user graph. As a result, two unrelated binaries can compile shared code only once, despite the shared code not knowing about this commonality. This feature is useful for rules like Swift feature resolution. Transitive-sets - similar in purpose to Bazel's depset. But, instead of being just a memory optimization, are also wired into the dependency graph, providing a reduction in the size of the dependency graph.Buck2 is not phased - there are no target graph/action graph phases, just a series of dependencies in asingle graph on DICEthat result in whatever the user requested. That means that Buck2 can sometimes parallelise different phases and track changes very precisely.Buck2 can integrate with the virtual filesystemEden - this provides good performance, even when the file system is backed by source control fetches. However, Eden is not required, and a normal file system will also work well.The Buck2 Starlark implementation is availableas a standalone library - this provides features such as IDE integration (both LSP and DAP bindings), linters, typecheckers, and more. These features are integrated into Buck2 to give a better developer experience (which is still evolving).Buck2 supports configurations - (such as select) to provide multi-platform/architecture builds, which are heavily inspired by Bazel. Within that space, there is a number of small differences, such astoolchain_deps.Buck2 is fast - in our internal tests, we observed that Buck2 completed builds 2x as fast as Buck1. For a comprehensive list of benefits, seeBenefits Compared to Buck1. "},{"title":"Why use Buck2?​","type":1,"pageTitle":"Why Buck2","url":"/docs/about/why/#why-use-buck2","content":"It would be delightful if you tried out Buck2! But it is early-stage software, so users may run into unexpected issues. If you encounter an issue, please report it via Github issues. Buck2 is being used internally within Meta and is available as open-source from 2023. There are several differences between the internal and open-source versions: Meta uses an internal version of remote execution with builds always hooked up to remote execution. The open-source binding, which uses Buck2 without remote execution, may be less polished.There are some configuration differences between the open source and internal versions. For example, file changes default to inotify in open-source, and to Watchman internally.The prelude (containing all the rules) is the same for open-source as internal, but toolchains are not open-sourced. The required custom toolchains may not work as well. There are also some things that aren't quite yet finished: There are not yet mechanisms to build in release mode (that should be achieved by modifying the toolchain).Windows/Mac builds are still in progress; open-source code is mostly tested on Linux. If none of that puts you off, give Buck2 a go! "},{"title":"ActionErrorLocation type","type":0,"sectionRef":"#","url":"/docs/api/build/ActionErrorLocation/","content":"","keywords":""},{"title":"ActionErrorLocation.file​","type":1,"pageTitle":"ActionErrorLocation type","url":"/docs/api/build/ActionErrorLocation/#actionerrorlocationfile","content":"ActionErrorLocation.file: str The file of the error location. This is only needed for action error handler unit testing. "},{"title":"ActionErrorLocation.line​","type":1,"pageTitle":"ActionErrorLocation type","url":"/docs/api/build/ActionErrorLocation/#actionerrorlocationline","content":"ActionErrorLocation.line: None | int The line of the error location. This is only needed for action error handler unit testing. "},{"title":"ActionSubError type","type":0,"sectionRef":"#","url":"/docs/api/build/ActionSubError/","content":"","keywords":""},{"title":"ActionSubError.category​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/build/ActionSubError/#actionsuberrorcategory","content":"ActionSubError.category: str The category name of this sub error. This function is only needed for action error handler unit testing. "},{"title":"ActionSubError.locations​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/build/ActionSubError/#actionsuberrorlocations","content":"ActionSubError.locations: None | list[ActionErrorLocation] Any locations associated with this sub error. This function is only needed for action error handler unit testing. "},{"title":"ActionSubError.message​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/build/ActionSubError/#actionsuberrormessage","content":"ActionSubError.message: None | str The optional message associated with this sub error. This function is only needed for action error handler unit testing. "},{"title":"anon_targets type","type":0,"sectionRef":"#","url":"/docs/api/build/anon_targets/","content":"","keywords":""},{"title":"anon_targets.anon_targets​","type":1,"pageTitle":"anon_targets type","url":"/docs/api/build/anon_targets/#anon_targetsanon_targets","content":"anon_targets.anon_targets: typing.Any Returns a list of StarlarkAnonTargets. "},{"title":"anon_targets.promise​","type":1,"pageTitle":"anon_targets type","url":"/docs/api/build/anon_targets/#anon_targetspromise","content":"anon_targets.promise: promise Returns the promise that maps to the result of the joined anon rules. "},{"title":"anon_target type","type":0,"sectionRef":"#","url":"/docs/api/build/anon_target/","content":"","keywords":""},{"title":"anon_target.artifact​","type":1,"pageTitle":"anon_target type","url":"/docs/api/build/anon_target/#anon_targetartifact","content":"def anon_target.artifact(name: str) Gets a specific StarlarkPromiseArtifact by name. Returns an error if the name was not found in the registered promise artifacts for the anon target. "},{"title":"anon_target.artifacts​","type":1,"pageTitle":"anon_target type","url":"/docs/api/build/anon_target/#anon_targetartifacts","content":"def anon_target.artifacts() Returns a dict where the key is the promise artifact's name, and the value is the StarlarkPromiseArtifact. To get a promise artifact where the short path is accessible, call ctx.actions.assert_short_path(...) and pass in the artifact retrieved from this dict. "},{"title":"anon_target.promise​","type":1,"pageTitle":"anon_target type","url":"/docs/api/build/anon_target/#anon_targetpromise","content":"anon_target.promise: promise Returns the promise that maps to the result of the anon rule. "},{"title":"ActionErrorCtx type","type":0,"sectionRef":"#","url":"/docs/api/build/ActionErrorCtx/","content":"","keywords":""},{"title":"ActionErrorCtx.new_error_location​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/build/ActionErrorCtx/#actionerrorctxnew_error_location","content":"def ActionErrorCtx.new_error_location( *, file: str, line: None | int = None ) -> ActionErrorLocation Create a new error location, specifying a file path and an optional line number. The file path should be either a project-relative path, or an absolute path. "},{"title":"ActionErrorCtx.new_sub_error​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/build/ActionErrorCtx/#actionerrorctxnew_sub_error","content":"def ActionErrorCtx.new_sub_error( *, category: str, message: None | str = None, locations: None | list[ActionErrorLocation] | tuple[ActionErrorLocation, ...] = None ) -> ActionSubError Create a new sub error, specifying an error category name, optional message, and an optional list of error locations. The category should be finer grain error categorizations provided by the rule authors, and tend to be language specific. These should not be any kind of shared concepts among all errors for all languages/rules. For example, timeouts and infra errors should not go here - buck2 tries to categorize these types of errors automatically. An example of a finer grain error category may be the error code for rustc outputs. The message will be emitted to the build report, and to the stderr in the error diagnostics section. "},{"title":"ActionErrorCtx.stderr​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/build/ActionErrorCtx/#actionerrorctxstderr","content":"ActionErrorCtx.stderr: str The stderr of the failed action. "},{"title":"ActionErrorCtx.stdout​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/build/ActionErrorCtx/#actionerrorctxstdout","content":"ActionErrorCtx.stdout: str The stdout of the failed action. "},{"title":"artifact type","type":0,"sectionRef":"#","url":"/docs/api/build/artifact/","content":"","keywords":""},{"title":"artifact.as_output​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactas_output","content":"def artifact.as_output() -> output_artifact Returns a StarlarkOutputArtifact instance, or fails if the artifact is either an Artifact, or is a bound Artifact (You cannot bind twice) "},{"title":"artifact.basename​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactbasename","content":"artifact.basename: str The base name of this artifact. e.g. for an artifact at foo/bar, this is bar "},{"title":"artifact.extension​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactextension","content":"artifact.extension: str The file extension of this artifact. e.g. for an artifact at foo/bar.sh, this is .sh. If no extension is present, "" is returned. "},{"title":"artifact.is_source​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactis_source","content":"artifact.is_source: bool Whether the artifact represents a source file "},{"title":"artifact.owner​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactowner","content":"artifact.owner: None | label The Label of the rule that originally created this artifact. May also be None in the case of source files, or if the artifact has not be used in an action, or if the action was not created by a rule. "},{"title":"artifact.project​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactproject","content":"def artifact.project( path: str, /, *, hide_prefix: bool = False ) -> artifact Create an artifact that lives at path relative from this artifact. For example, if artifact foo is a directory containing a file bar, then foo.project("bar")yields the file bar. It is possible for projected artifacts to hide the prefix in order to have the short name of the resulting artifact only contain the projected path, by passinghide_prefix = True to project(). "},{"title":"artifact.short_path​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactshort_path","content":"artifact.short_path: str The interesting part of the path, relative to somewhere in the output directory. For an artifact declared as foo/bar, this is foo/bar. "},{"title":"artifact.with_associated_artifacts​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactwith_associated_artifacts","content":"def artifact.with_associated_artifacts(artifacts: list[artifact]) -> artifact Returns a StarlarkArtifact instance which is identical to the original artifact, but with potentially additional artifacts. The artifacts must be bound. "},{"title":"artifact.without_associated_artifacts​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactwithout_associated_artifacts","content":"def artifact.without_associated_artifacts() -> artifact Returns a StarlarkArtifact instance which is identical to the original artifact, except with no associated artifacts "},{"title":"buck_regex type","type":0,"sectionRef":"#","url":"/docs/api/build/buck_regex/","content":"","keywords":""},{"title":"buck_regex.match​","type":1,"pageTitle":"buck_regex type","url":"/docs/api/build/buck_regex/#buck_regexmatch","content":"def buck_regex.match(str: str, /) -> bool "},{"title":"configured_target_label type","type":0,"sectionRef":"#","url":"/docs/api/build/configured_target_label/","content":"","keywords":""},{"title":"configured_target_label.cell​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelcell","content":"configured_target_label.cell: str "},{"title":"configured_target_label.config​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelconfig","content":"def configured_target_label.config() -> configuration "},{"title":"configured_target_label.name​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelname","content":"configured_target_label.name: str "},{"title":"configured_target_label.package​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelpackage","content":"configured_target_label.package: str "},{"title":"configured_target_label.path​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelpath","content":"configured_target_label.path: typing.Any "},{"title":"configured_target_label.raw_target​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelraw_target","content":"def configured_target_label.raw_target() -> target_label Returns the unconfigured underlying target label. "},{"title":"configured_target_label.with_sub_target​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelwith_sub_target","content":"def configured_target_label.with_sub_target( subtarget_name: str | list[str] = _ ) -> label Converts a ConfiguredTargetLabel into its corresponding Label given the subtarget name which is a list for each layer of subtarget Sample usage: def _impl_sub_target(ctx): owners = ctx.cquery().owner("bin/TARGETS.fixture") for owner in owners: configured_label = owner.label ctx.output.print(configured_label.with_sub_target()) ctx.output.print(configured_label.with_sub_target("subtarget1")) ctx.output.print(configured_label.with_sub_target(["subtarget1", "subtarget2"])) "},{"title":"cmd_args type","type":0,"sectionRef":"#","url":"/docs/api/build/cmd_args/","content":"","keywords":""},{"title":"cmd_args.add​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/build/cmd_args/#cmd_argsadd","content":"def cmd_args.add(*args) -> cmd_args A list of arguments to be added to the command line, which may including cmd_args, artifacts, strings, RunInfo or lists thereof. Note that this operation mutates the input cmd_args. "},{"title":"cmd_args.copy​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/build/cmd_args/#cmd_argscopy","content":"def cmd_args.copy() -> cmd_args Returns a copy of the cmd_args such that any modifications to the original or the returned value will not impact each other. Note that this is a shallow copy, so any inner cmd_args can still be modified. "},{"title":"cmd_args.inputs​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/build/cmd_args/#cmd_argsinputs","content":"cmd_args.inputs: command_line_inputs Collect all the inputs (including hidden) referenced by this command line. The output can be compared for equality and have its len requested to see whether there are any inputs, but is otherwise mostly opaque. "},{"title":"cmd_args.outputs​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/build/cmd_args/#cmd_argsoutputs","content":"cmd_args.outputs: list[output_artifact] Collect all the outputs (including hidden) referenced by this command line. "},{"title":"cmd_args.relative_to​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/build/cmd_args/#cmd_argsrelative_to","content":"def cmd_args.relative_to( directory: artifact | cell_root | project_root, /, *, parent: int = _ ) -> cmd_args Make all artifact paths relative to a given location. Typically used when the command you are running changes directory. By default, the paths are relative to the artifacts themselves (equivalent toparent = 0). Use parent to make the paths relative to an ancestor directory. For example parent = 1 would make all paths relative to the containing dirs of any artifacts in the cmd_args. dir = symlinked_dir(...) script = [ cmd_args(cmd_args(dir, format = "cd {}"), original_script.relative_to(dir) ] "},{"title":"context type","type":0,"sectionRef":"#","url":"/docs/api/build/context/","content":"","keywords":""},{"title":"context.actions​","type":1,"pageTitle":"context type","url":"/docs/api/build/context/#contextactions","content":"context.actions: actions Returns an actions value containing functions to define actual actions that are run. See the actions type for the operations that are available. "},{"title":"context.attrs​","type":1,"pageTitle":"context type","url":"/docs/api/build/context/#contextattrs","content":"context.attrs: struct(..) Returns the attributes of the target as a Starlark struct with a field for each attribute, which varies per rule. As an example, given a rule with the attrs argument of {"foo": attrs.string()}, this field will be a struct containing a field foo of type string. "},{"title":"context.label​","type":1,"pageTitle":"context type","url":"/docs/api/build/context/#contextlabel","content":"context.label: None | label Returns a label representing the target, or None if being invoked from a dynamic_output in Bxl. "},{"title":"context.plugins​","type":1,"pageTitle":"context type","url":"/docs/api/build/context/#contextplugins","content":"context.plugins: AnalysisPlugins An opaque value that can be indexed with a plugin kind to get a list of the available plugin deps of that kind. The rule must set an appropriate value on uses_plugins in its declaration. "},{"title":"dependency type","type":0,"sectionRef":"#","url":"/docs/api/build/dependency/","content":"","keywords":""},{"title":"dependency.get​","type":1,"pageTitle":"dependency type","url":"/docs/api/build/dependency/#dependencyget","content":"def dependency.get(index) -> None | provider Gets a provider by indexing on a ProviderCallable object. e.g. FooInfo = provider(fields=["bar"]) .... collection.get(FooInfo) # None if absent, a FooInfo instance if present "},{"title":"dependency.label​","type":1,"pageTitle":"dependency type","url":"/docs/api/build/dependency/#dependencylabel","content":"dependency.label: label "},{"title":"dependency.providers​","type":1,"pageTitle":"dependency type","url":"/docs/api/build/dependency/#dependencyproviders","content":"dependency.providers: list[typing.Any] "},{"title":"dependency.sub_target​","type":1,"pageTitle":"dependency type","url":"/docs/api/build/dependency/#dependencysub_target","content":"def dependency.sub_target(subtarget: str, /) -> dependency Obtain the dependency representing a subtarget. In most cases you will want to use x[DefaultInfo].sub_targets["foo"] to get the providers of the subtarget, but if you need a real Dependency type (e.g. for use with ctx.action.anon_target) then use this method. "},{"title":"actions type","type":0,"sectionRef":"#","url":"/docs/api/build/actions/","content":"","keywords":""},{"title":"actions.anon_target​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsanon_target","content":"def actions.anon_target( rule: "function", attrs: dict[str, typing.Any] ) -> anon_target An anonymous target is defined by the hash of its attributes, rather than its name. During analysis, rules can define and access the providers of anonymous targets before producing their own providers. Two distinct rules might ask for the same anonymous target, sharing the work it performs. For more details see https://buck2.build/docs/rule_authors/anon_targets/ "},{"title":"actions.anon_targets​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsanon_targets","content":"def actions.anon_targets( rules: list[("function", dict[str, typing.Any])] | tuple[("function", dict[str, typing.Any]), ...] ) -> anon_targets Generate a series of anonymous targets. "},{"title":"actions.artifact_tag​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsartifact_tag","content":"def actions.artifact_tag() -> artifact_tag Allocate a new input tag. Used with the dep_files argument to run. "},{"title":"actions.assert_short_path​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsassert_short_path","content":"def actions.assert_short_path(artifact: artifact, short_path: str) -> artifact Generate a promise artifact that has short path accessible on it. The short path's correctness will be asserted during analysis time. TODO - we would prefer the API to be ctx.actions.anon_target(xxx).artifact("foo", short_path=yyy), but we cannot support this until we can get access to the AnalysisContext without passing it into this method. "},{"title":"actions.cas_artifact​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionscas_artifact","content":"def actions.cas_artifact( output: artifact | output_artifact | str, digest: str, use_case: str, /, *, expires_after_timestamp: int, is_executable: bool = False, is_tree: bool = False, is_directory: bool = False ) -> artifact Downloads a CAS artifact to an output digest: must look like SHA1:SIZEuse_case: your RE use caseexpires_after_timestamp: must be a UNIX timestamp. Your digest's TTL must exceed this timestamp. Your build will break once the digest expires, so make sure the expiry is long enough (preferably, in years).is_executable: indicates the resulting file should be marked with executable permissionsis_tree: digest must point to a blob of typeRE.Treeis_directory: digest must point to a blob of typeRE.Directory "},{"title":"actions.copied_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionscopied_dir","content":"def actions.copied_dir( output: artifact | output_artifact | str, srcs: dict[str, artifact], / ) -> artifact Returns an artifact which is a directory containing copied files. The srcs must be a dictionary of path (as string, relative to the result directory) to the bound artifact, which will be laid out in the directory. "},{"title":"actions.copy_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionscopy_dir","content":"def actions.copy_dir( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Make a copy of a directory. "},{"title":"actions.copy_file​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionscopy_file","content":"def actions.copy_file( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Copies the source artifact to the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The copy works for files or directories. "},{"title":"actions.declare_output​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsdeclare_output","content":"def actions.declare_output( prefix: str, filename: str = _, /, *, dir: bool = False ) -> artifact Returns an unbound artifact, representing where a file will go, which must be bound before analysis terminates. The usual way of binding an artifact is with ctx.actions.run. As an example: my_output = ctx.actions.declare_output("output.o") ctx.actions.run(["gcc", "-c", my_source, "-o", my_output.as_output()], category = "compile") This snippet declares an output with the filename output.o (it will be located in the output directory for this target). Note the use of as_output to tag this artifact as being an output in the action. After binding the artifact you can subsequently use my_output as either an input for subsequent actions, or as the result in a provider. Artifacts from a single target may not have the same name, so if you then want a second artifact also named output.o you need to supply a prefix, e.g.ctx.actions.declare_output("directory", "output.o"). The artifact will still report having name output.o, but will be located at directory/output.o. The dir argument should be set to True if the binding will be a directory. "},{"title":"actions.digest_config​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsdigest_config","content":"def actions.digest_config() -> digest_config Obtain this daemon's digest configuration. This allows rules to discover what digests the daemon may be able to e.g. defer download because they conform to its RE backend's expected digest format. "},{"title":"actions.download_file​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsdownload_file","content":"def actions.download_file( output: artifact | output_artifact | str, url: str, /, *, vpnless_url: None | str = None, sha1: None | str = None, sha256: None | str = None, is_executable: bool = False, is_deferrable: bool = False ) -> artifact Downloads a URL to an output (filename as string or output artifact). The file at the URL must have the given sha1 or the command will fail. The optional parameter is_executable indicates whether the resulting file should be marked with executable permissions. (Meta-internal) The optional parameter vpnless_url indicates a url from which this resource can be downloaded off VPN; this has the same restrictions as url above. "},{"title":"actions.dynamic_output​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsdynamic_output","content":"def actions.dynamic_output( *, dynamic: list[artifact] | tuple[artifact, ...], inputs: list[artifact] | tuple[artifact, ...] = _, outputs: list[output_artifact] | tuple[output_artifact, ...], f: typing.Callable[[typing.Any, dict[artifact, artifact_value], dict[artifact, artifact]], None] ) -> None dynamic_output allows a rule to use information that was not available when the rule was first run at analysis time. Examples include things like Distributed ThinLTO (where the index file is created by another action) or OCaml builds (where the dependencies are created by ocamldeps). The arguments are: dynamic - a list of artifacts whose values will be available in the function. These will be built before the function is run.inputs - parameter is ignored.outputs - a list of unbound artifacts (created with declare_artifact) which will be bound by the function.The function argument is given 3 arguments: ctx (context) - which is the same as that passed to the initial rule analysis.artifacts - using one of the artifacts from dynamic (example usage:artifacts[artifact_from_dynamic]) gives an artifact value containing the methodsread_string, read_lines, and read_json to obtain the values from the disk in various formats. Anything too complex should be piped through a Python script for transformation to JSON.outputs - using one of the artifacts from the dynamic_output's outputs (example usage: outputs[artifact_from_dynamic_output_outputs]) gives an unbounded artifact. The function argument must use its outputs argument to bind output artifacts, rather than reusing artifacts from the outputs passed into dynamic_output directly. The function must call ctx.actions (probably ctx.actions.run) to bind all outputs. It can examine the values of the dynamic variables and depends on the inputs. The function will usually be a def, as lambda in Starlark does not allow statements, making it quite underpowered. For full details seehttps://buck2.build/docs/rule_authors/dynamic_dependencies/. Besides dynamic dependencies, there is a second use case for dynamic_output: say that you have some output artifact, and that the analysis to produce the action that outputs that artifact is expensive, ie takes a lot of CPU time; you would like to skip that work in builds that do not actually use that artifact. This can be accomplished by putting the analysis for that artifact behind a dynamic_outputwith an empty dynamic list. The dynamic_output's function will not be run unless one of the actions it outputs is actually requested as part of the build. "},{"title":"actions.dynamic_output_new​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsdynamic_output_new","content":"def actions.dynamic_output_new(dynamic_actions: DynamicAction, /) -> None New version of dynamic_output. This is work in progress, and will eventually replace the old dynamic_output. "},{"title":"actions.run​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsrun","content":"def actions.run( arguments: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, /, *, category: str, identifier: None | str = None, env: dict[str, artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _, local_only: bool = False, prefer_local: bool = False, prefer_remote: bool = False, low_pass_filter: bool = True, always_print_stderr: bool = False, weight: int = _, weight_percentage: int = _, dep_files: dict[str, artifact_tag] = _, metadata_env_var: str = _, metadata_path: str = _, no_outputs_cleanup: bool = False, allow_cache_upload: bool = False, allow_dep_file_cache_upload: bool = False, force_full_hybrid_if_capable: bool = False, exe: RunInfo | WorkerRunInfo = _, unique_input_inodes: bool = False, error_handler: typing.Callable = _, remote_execution_dependencies: list[dict[str, str]] = [] ) -> None Runs a command arguments: must be of type cmd_args, or a type convertible to such (such as a list of strings and artifacts) and must contain at least one .as_output() artifactcategory: category and identifier - when used together, identify the action in Buck2's event stream, and must be unique for a given targetweight: used to note how heavy the command is and will typically be set to a higher value to indicate that less such commands should be run in parallel (if running locally)no_outputs_cleanup: if this flag is set then Buck2 won't clean the outputs of a previous build that might be present on a disk; in which case, command from arguments should be responsible for the cleanup (that is useful, for example, when an action is supporting incremental mode and its outputs are based on result from a previous build)metadata_env_var and meadata_path should be used together: both set or both unset metadata_path: defines a path relative to the result directory for a file with action metadata, which will be created right before the command will be run.Metadata contains the path relative to the Buck2 project root and hash digest for every action input (this excludes symlinks as they could be resolved by a user script if needed). The resolved path relative to the Buck2 project for the metadata file will be passed to command from arguments, via the environment variable, with its name set by metadata_env_varBoth metadata_env_var and metadata_path are useful when making actions behave in an incremental manner (for details, see Incremental Actions) The prefer_local, prefer_remote and local_only options allow selecting where the action should run if the executor selected for this target is a hybrid executor. * All those options disable concurrent execution: the action will run on the preferred platform first (concurrent execution only happens with a "full" hybrid executor). * Execution may be retried on the "non-preferred" platform if it fails due to a transient error, except for `local_only`, which does not allow this. * If the executor selected is a remote-only executor and you use `local_only`, that's an error. The other options will not raise errors. * Setting more than one of those options is an error. * Those flags behave the same way as the equivalent `--prefer-remote`, `--prefer-local` and `--local-only` CLI flags. The CLI flags take precedence. * The `force_full_hybrid_if_capable` option overrides the `use_limited_hybrid` hybrid. The options listed above take precedence if set. remote_execution_dependencies: list of dependencies which is passed to Remote Execution. Each dependency is dictionary with the following keys: smc_tier: name of the SMC tier to call by RE Scheduler.id: name of the dependency. When actions execute, they'll do so from the root of the repository. As they execute, actions have exclusive access to their output directory. Actions also get exclusive access to a "scratch" path that is exposed via the environment variable BUCK_SCRATCH_PATH. This path is expressed as a path relative to the working directory (i.e. relative to the project). This path is guaranteed to exist when the action executes. When actions run locally, the scratch path is also used as the TMPDIR. "},{"title":"actions.symlink_file​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionssymlink_file","content":"def actions.symlink_file( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Creates a symlink to the source artifact at the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The symlink works for files or directories. "},{"title":"actions.symlinked_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionssymlinked_dir","content":"def actions.symlinked_dir( output: artifact | output_artifact | str, srcs: dict[str, artifact], / ) -> artifact Returns an artifact that is a directory containing symlinks. The srcs must be a dictionary of path (as string, relative to the result directory) to bound artifact, which will be laid out in the directory. "},{"title":"actions.tset​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionstset","content":"def actions.tset( definition: transitive_set_definition, /, value = _, children: typing.Iterable = _ ) -> transitive_set Creates a new transitive set. For details, see https://buck2.build/docs/rule_authors/transitive_sets/. "},{"title":"actions.write​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionswrite","content":"def actions.write( output: artifact | output_artifact | str, content: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, /, *, is_executable: bool = False, allow_args: bool = False, with_inputs: bool = False, absolute: bool = False ) -> artifact | (artifact, list[artifact]) Returns an artifact whose contents are content is_executable (optional): indicates whether the resulting file should be marked with executable permissionsallow_args (optional): must be set to True if you want to write parameter arguments to the file (in particular, macros that write to file) If it is true, the result will be a pair of the artifact containing content and a list of artifact values that were written by macros, which should be used in hidden fields or similar absolute (optional): if set, this action will produce absolute paths in its output when rendering artifact paths. You generally shouldn't use this if you plan to use this action as the input for anything else, as this would effectively result in losing all shared caching. The content is often a string, but can be any ArgLike value. This is occasionally useful for generating scripts to run as a part of another action. cmd_args in the content are newline separated unless another delimiter is explicitly specified. "},{"title":"actions.write_json​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionswrite_json","content":"def actions.write_json( output: artifact | output_artifact | str, content: None | artifact | bool | cell_root | cmd_args | enum | int | label | label_relative_path | output_artifact | project_root | record | resolved_macro | str | tagged_command_line | tagged_value | target_label | transitive_set_args_projection | transitive_set_json_projection | write_json_cli_args | list[typing.Any] | tuple | dict[typing.Any, typing.Any] | struct(..) | RunInfo | provider, /, *, with_inputs: bool = False, pretty: bool = False, absolute: bool = False ) -> artifact | write_json_cli_args Returns an artifact whose contents are content written as a JSON value. output: can be a string, or an existing artifact created with declare_outputcontent: must be composed of the basic json types (boolean, number, string, list/tuple, dictionary) plus artifacts and command lines An artifact will be written as a string containing the pathA command line will be written as a list of strings, unless joined=True is set, in which case it will be a string If you pass with_inputs = True, you'll get back a cmd_args that expands to the JSON file but carries all the underlying inputs as dependencies (so you don't have to use, for example, hidden for them to be added to an action that already receives the JSON file)pretty (optional): write formatted JSON (defaults to False)absolute (optional): if set, this action will produce absolute paths in its output when rendering artifact paths. You generally shouldn't use this if you plan to use this action as the input for anything else, as this would effectively result in losing all shared caching. (defaults to False) "},{"title":"digest_config type","type":0,"sectionRef":"#","url":"/docs/api/build/digest_config/","content":"","keywords":""},{"title":"digest_config.allows_blake3​","type":1,"pageTitle":"digest_config type","url":"/docs/api/build/digest_config/#digest_configallows_blake3","content":"def digest_config.allows_blake3() -> bool "},{"title":"digest_config.allows_blake3_keyed​","type":1,"pageTitle":"digest_config type","url":"/docs/api/build/digest_config/#digest_configallows_blake3_keyed","content":"def digest_config.allows_blake3_keyed() -> bool "},{"title":"digest_config.allows_sha1​","type":1,"pageTitle":"digest_config type","url":"/docs/api/build/digest_config/#digest_configallows_sha1","content":"def digest_config.allows_sha1() -> bool "},{"title":"digest_config.allows_sha256​","type":1,"pageTitle":"digest_config type","url":"/docs/api/build/digest_config/#digest_configallows_sha256","content":"def digest_config.allows_sha256() -> bool "},{"title":"label type","type":0,"sectionRef":"#","url":"/docs/api/build/label/","content":"","keywords":""},{"title":"label.cell​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelcell","content":"label.cell: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode "},{"title":"label.cell_root​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelcell_root","content":"label.cell_root: cell_root Obtain a reference to this target label's cell root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to. "},{"title":"label.configured_target​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelconfigured_target","content":"def label.configured_target() -> configured_target_label Returns the underlying configured target label, dropping the sub target "},{"title":"label.name​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelname","content":"label.name: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back world "},{"title":"label.package​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelpackage","content":"label.package: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back buck2/hello "},{"title":"label.path​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelpath","content":"label.path: label_relative_path For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode/buck2/hello "},{"title":"label.project_root​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelproject_root","content":"label.project_root: project_root Obtain a reference to the project's root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to. "},{"title":"label.raw_target​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelraw_target","content":"def label.raw_target() -> target_label For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this returns the unconfigured underlying target label (fbcode//buck2/hello:world) "},{"title":"label.sub_target​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelsub_target","content":"label.sub_target: None | list[str] "},{"title":"label_relative_path type","type":0,"sectionRef":"#","url":"/docs/api/build/label_relative_path/","content":"","keywords":""},{"title":"label_relative_path.add​","type":1,"pageTitle":"label_relative_path type","url":"/docs/api/build/label_relative_path/#label_relative_pathadd","content":"def label_relative_path.add(arg: str) -> label_relative_path "},{"title":"promise type","type":0,"sectionRef":"#","url":"/docs/api/build/promise/","content":"","keywords":""},{"title":"promise.join​","type":1,"pageTitle":"promise type","url":"/docs/api/build/promise/#promisejoin","content":"def promise.join(*args) -> promise Join a set of promises together into a single promise. Given a series of promises, p4 = p1.join(p2, p3) will produce a promise where the value is promise that resolves to a tuple containing the three values, those from p1, p2 and p3 respectively. "},{"title":"promise.map​","type":1,"pageTitle":"promise type","url":"/docs/api/build/promise/#promisemap","content":"def promise.map(func: typing.Callable[[typing.Any], typing.Any], /) -> promise Given a promise, apply a function to the value it contains, producing a promise with the resulting value. "},{"title":"plugins type","type":0,"sectionRef":"#","url":"/docs/api/build/plugins/","content":"","keywords":""},{"title":"plugins.All​","type":1,"pageTitle":"plugins type","url":"/docs/api/build/plugins/#pluginsall","content":"plugins.All: all_plugins A special value for use with pulls_and_pushes_plugins. This value can be passed to pulls_and_pushes_plugins on any attr.dep() to indicate that all plugin kinds from the dep should be pulled and pushed. This is useful for rules likealias. This value is not supported on uses_plugins at this time, and hence it is not useful onpulls_plugins either. "},{"title":"plugins.PluginKind​","type":1,"pageTitle":"plugins type","url":"/docs/api/build/plugins/#pluginspluginkind","content":"plugins.PluginKind: type Type symbol for PluginKind. "},{"title":"plugins.kind​","type":1,"pageTitle":"plugins type","url":"/docs/api/build/plugins/#pluginskind","content":"def plugins.kind() -> PluginKind Create a new plugin kind. The value returned should always be immediately bound to a global, like MyPluginKind = plugins.kind() "},{"title":"attrs type","type":0,"sectionRef":"#","url":"/docs/api/build/attrs/","content":"","keywords":""},{"title":"attrs.any​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsany","content":"def attrs.any(*, doc: str = "", default = _) -> attribute Takes most builtin literals and passes them to the rule as a string. Discouraged, as it provides little type safety and destroys the structure. "},{"title":"attrs.arg​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsarg","content":"def attrs.arg( *, json: bool = False, default = _, doc: str = "", anon_target_compatible: bool = False ) -> attribute Takes a command line argument from the user and supplies a cmd_args compatible value to the rule. The argument may contain special macros such as $(location :my_target) or $(exe :my_target) which will be replaced with references to those values in the rule. Takes in an optional anon_target_compatible flag, which indicates whether the args can be passed into anon targets. Note that there is a slight memory hit when using this flag. "},{"title":"attrs.bool​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsbool","content":"def attrs.bool(*, default = _, doc: str = "") -> attribute Takes a boolean and passes it to the rule as a boolean. "},{"title":"attrs.configuration_label​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsconfiguration_label","content":"def attrs.configuration_label(*, doc: str = "") -> attribute "},{"title":"attrs.configured_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsconfigured_dep","content":"def attrs.configured_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute "},{"title":"attrs.default_only​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsdefault_only","content":"def attrs.default_only( inner: attribute, /, *, doc: str = "" ) -> attribute Rejects all values and uses the default for the inner argument. Often used to resolve dependencies, which otherwise can't be resolved inside a rule. attrs.default_only(attrs.dep(default = "foo//my_package:my_target")) "},{"title":"attrs.dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsdep","content":"def attrs.dep( *, providers: list[typing.Any] | tuple = [], pulls_plugins: list[typing.Any] | tuple = [], pulls_and_pushes_plugins: all_plugins | list[typing.Any] | tuple = _, default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. A target can be specified as an absolute dependency foo//bar:baz, omitting the cell (//bar:baz) or omitting the package name (:baz). If supplied the providers argument ensures that specific providers will be present on the dependency. "},{"title":"attrs.dict​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsdict","content":"def attrs.dict( key: attribute, value: attribute, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute Takes a dict from the user, supplies a dict to the rule. "},{"title":"attrs.enum​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsenum","content":"def attrs.enum( variants: list[str] | tuple[str, ...], /, *, default = _, doc: str = "" ) -> attribute Takes a string from one of the variants given, and gives that string to the rule. Strings are matched case-insensitively, and always passed to the rule lowercase. "},{"title":"attrs.exec_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsexec_dep","content":"def attrs.exec_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will transition to the execution platform. Use exec_dep if you plan to execute things from this dependency as part of the compilation. "},{"title":"attrs.int​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsint","content":"def attrs.int(*, default = _, doc: str = "") -> attribute Takes an int from the user, supplies an int to the rule. "},{"title":"attrs.label​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrslabel","content":"def attrs.label(*, default = _, doc: str = "") -> attribute Takes a target (as per deps) and passes a label to the rule. Validates that the target exists, but does not introduce a dependency on it. "},{"title":"attrs.list​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrslist","content":"def attrs.list( inner: attribute, /, *, default = _, doc: str = "" ) -> attribute Takes a list from the user, supplies a list to the rule. "},{"title":"attrs.named_set​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsnamed_set","content":"def attrs.named_set( value_type: attribute, /, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.one_of​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsone_of","content":"def attrs.one_of(*args: attribute, default = _, doc: str = "") -> attribute Given a list of alternative attributes, selects the first that matches and gives that to the rule. "},{"title":"attrs.option​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsoption","content":"def attrs.option( inner: attribute, /, *, default = _, doc: str = "" ) -> attribute Takes a value that may be None or some inner type, and passes either None or the value corresponding to the inner to the rule. Often used to make a rule optional: attrs.option(attr.string(), default = None) "},{"title":"attrs.plugin_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsplugin_dep","content":"def attrs.plugin_dep( *, kind, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.query​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsquery","content":"def attrs.query(*, doc: str = "") -> attribute "},{"title":"attrs.regex​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsregex","content":"def attrs.regex(*, default = _, doc: str = "") -> attribute Currently an alias for attrs.string. "},{"title":"attrs.set​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsset","content":"def attrs.set( value_type: attribute, /, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.source​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrssource","content":"def attrs.source( *, allow_directory: bool = False, default = _, doc: str = "" ) -> attribute Takes a source file from the user, supplies an artifact to the rule. The source file may be specified as a literal string (representing the path within this package), or a target (which must have a DefaultInfo with a default_outputs value). "},{"title":"attrs.split_transition_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrssplit_transition_dep","content":"def attrs.split_transition_dep( *, providers: list[typing.Any] | tuple = [], cfg, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.string​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsstring","content":"def attrs.string( *, default = _, validate = _, doc: str = "" ) -> attribute Takes a string from the user, supplies a string to the rule. "},{"title":"attrs.toolchain_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrstoolchain_dep","content":"def attrs.toolchain_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will be a toolchain dependency, meaning that its execution platform dependencies will be used to select the execution platform for this rule. "},{"title":"attrs.transition_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrstransition_dep","content":"def attrs.transition_dep( *, providers: list[typing.Any] | tuple = [], cfg, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.tuple​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrstuple","content":"def attrs.tuple(*args: attribute, default = _, doc: str = "") -> attribute Takes a tuple of values and gives a tuple to the rule. "},{"title":"attrs.versioned​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsversioned","content":"def attrs.versioned(value_type: attribute, *, doc: str = "") -> attribute "},{"title":"provider_collection type","type":0,"sectionRef":"#","url":"/docs/api/build/provider_collection/","content":"","keywords":""},{"title":"provider_collection.get​","type":1,"pageTitle":"provider_collection type","url":"/docs/api/build/provider_collection/#provider_collectionget","content":"def provider_collection.get(index) -> None | provider "},{"title":"providers_label type","type":0,"sectionRef":"#","url":"/docs/api/build/providers_label/","content":"","keywords":""},{"title":"providers_label.cell​","type":1,"pageTitle":"providers_label type","url":"/docs/api/build/providers_label/#providers_labelcell","content":"providers_label.cell: str "},{"title":"providers_label.name​","type":1,"pageTitle":"providers_label type","url":"/docs/api/build/providers_label/#providers_labelname","content":"providers_label.name: str "},{"title":"providers_label.path​","type":1,"pageTitle":"providers_label type","url":"/docs/api/build/providers_label/#providers_labelpath","content":"providers_label.path: typing.Any "},{"title":"providers_label.raw_target​","type":1,"pageTitle":"providers_label type","url":"/docs/api/build/providers_label/#providers_labelraw_target","content":"def providers_label.raw_target() -> target_label Returns the unconfigured underlying target label. "},{"title":"providers_label.sub_target​","type":1,"pageTitle":"providers_label type","url":"/docs/api/build/providers_label/#providers_labelsub_target","content":"providers_label.sub_target: None | list[str] "},{"title":"action_attr type","type":0,"sectionRef":"#","url":"/docs/api/bxl/action_attr/","content":"","keywords":""},{"title":"action_attr.value​","type":1,"pageTitle":"action_attr type","url":"/docs/api/bxl/action_attr/#action_attrvalue","content":"def action_attr.value() -> str Returns the value of this attribute. "},{"title":"target_label type","type":0,"sectionRef":"#","url":"/docs/api/build/target_label/","content":"","keywords":""},{"title":"target_label.cell​","type":1,"pageTitle":"target_label type","url":"/docs/api/build/target_label/#target_labelcell","content":"target_label.cell: str "},{"title":"target_label.name​","type":1,"pageTitle":"target_label type","url":"/docs/api/build/target_label/#target_labelname","content":"target_label.name: str "},{"title":"target_label.package​","type":1,"pageTitle":"target_label type","url":"/docs/api/build/target_label/#target_labelpackage","content":"target_label.package: str "},{"title":"target_label.with_sub_target​","type":1,"pageTitle":"target_label type","url":"/docs/api/build/target_label/#target_labelwith_sub_target","content":"def target_label.with_sub_target( subtarget_name: str | list[str] = _ ) -> providers_label Converts a TargetLabel into its corresponding ProvidersLabel given the subtarget names, which is a list for each layer of subtarget Sample usage: def _impl_sub_target(ctx): owners = ctx.uquery().owner("bin/TARGETS.fixture") for owner in owners: unconfigured_label = owner.label ctx.output.print(unconfigured_label.with_sub_target()) ctx.output.print(unconfigured_label.with_sub_target("subtarget1")) ctx.output.print(unconfigured_label.with_sub_target(["subtarget1", "subtarget2"])) "},{"title":"action type","type":0,"sectionRef":"#","url":"/docs/api/bxl/action/","content":"","keywords":""},{"title":"action.owner​","type":1,"pageTitle":"action type","url":"/docs/api/bxl/action/#actionowner","content":"def action.owner() -> configured_target_label Gets the owning configured target label for an action. Sample usage: def _impl_action(ctx): action = ctx.audit().output("buck-out/path/to/__target__/artifact", "your_target_platform") ctx.output.print(action.owner()) "},{"title":"StackFrame type","type":0,"sectionRef":"#","url":"/docs/api/build/StackFrame/","content":"","keywords":""},{"title":"StackFrame.func_name​","type":1,"pageTitle":"StackFrame type","url":"/docs/api/build/StackFrame/#stackframefunc_name","content":"StackFrame.func_name: str Returns the name of the entry on the call-stack. "},{"title":"StackFrame.module_path​","type":1,"pageTitle":"StackFrame type","url":"/docs/api/build/StackFrame/#stackframemodule_path","content":"StackFrame.module_path: None | str Returns a path of the module from which the entry was called, or [None] for native Rust functions. "},{"title":"ActionErrorCtx type","type":0,"sectionRef":"#","url":"/docs/api/bxl/ActionErrorCtx/","content":"","keywords":""},{"title":"ActionErrorCtx.new_error_location​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/bxl/ActionErrorCtx/#actionerrorctxnew_error_location","content":"def ActionErrorCtx.new_error_location( *, file: str, line: None | int = None ) -> ActionErrorLocation Create a new error location, specifying a file path and an optional line number. The file path should be either a project-relative path, or an absolute path. "},{"title":"ActionErrorCtx.new_sub_error​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/bxl/ActionErrorCtx/#actionerrorctxnew_sub_error","content":"def ActionErrorCtx.new_sub_error( *, category: str, message: None | str = None, locations: None | list[ActionErrorLocation] | tuple[ActionErrorLocation, ...] = None ) -> ActionSubError Create a new sub error, specifying an error category name, optional message, and an optional list of error locations. The category should be finer grain error categorizations provided by the rule authors, and tend to be language specific. These should not be any kind of shared concepts among all errors for all languages/rules. For example, timeouts and infra errors should not go here - buck2 tries to categorize these types of errors automatically. An example of a finer grain error category may be the error code for rustc outputs. The message will be emitted to the build report, and to the stderr in the error diagnostics section. "},{"title":"ActionErrorCtx.stderr​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/bxl/ActionErrorCtx/#actionerrorctxstderr","content":"ActionErrorCtx.stderr: str The stderr of the failed action. "},{"title":"ActionErrorCtx.stdout​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/bxl/ActionErrorCtx/#actionerrorctxstdout","content":"ActionErrorCtx.stdout: str The stdout of the failed action. "},{"title":"ActionErrorLocation type","type":0,"sectionRef":"#","url":"/docs/api/bxl/ActionErrorLocation/","content":"","keywords":""},{"title":"ActionErrorLocation.file​","type":1,"pageTitle":"ActionErrorLocation type","url":"/docs/api/bxl/ActionErrorLocation/#actionerrorlocationfile","content":"ActionErrorLocation.file: str The file of the error location. This is only needed for action error handler unit testing. "},{"title":"ActionErrorLocation.line​","type":1,"pageTitle":"ActionErrorLocation type","url":"/docs/api/bxl/ActionErrorLocation/#actionerrorlocationline","content":"ActionErrorLocation.line: None | int The line of the error location. This is only needed for action error handler unit testing. "},{"title":"anon_target type","type":0,"sectionRef":"#","url":"/docs/api/bxl/anon_target/","content":"","keywords":""},{"title":"anon_target.artifact​","type":1,"pageTitle":"anon_target type","url":"/docs/api/bxl/anon_target/#anon_targetartifact","content":"def anon_target.artifact(name: str) Gets a specific StarlarkPromiseArtifact by name. Returns an error if the name was not found in the registered promise artifacts for the anon target. "},{"title":"anon_target.artifacts​","type":1,"pageTitle":"anon_target type","url":"/docs/api/bxl/anon_target/#anon_targetartifacts","content":"def anon_target.artifacts() Returns a dict where the key is the promise artifact's name, and the value is the StarlarkPromiseArtifact. To get a promise artifact where the short path is accessible, call ctx.actions.assert_short_path(...) and pass in the artifact retrieved from this dict. "},{"title":"anon_target.promise​","type":1,"pageTitle":"anon_target type","url":"/docs/api/bxl/anon_target/#anon_targetpromise","content":"anon_target.promise: promise Returns the promise that maps to the result of the anon rule. "},{"title":"ActionSubError type","type":0,"sectionRef":"#","url":"/docs/api/bxl/ActionSubError/","content":"","keywords":""},{"title":"ActionSubError.category​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/bxl/ActionSubError/#actionsuberrorcategory","content":"ActionSubError.category: str The category name of this sub error. This function is only needed for action error handler unit testing. "},{"title":"ActionSubError.locations​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/bxl/ActionSubError/#actionsuberrorlocations","content":"ActionSubError.locations: None | list[ActionErrorLocation] Any locations associated with this sub error. This function is only needed for action error handler unit testing. "},{"title":"ActionSubError.message​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/bxl/ActionSubError/#actionsuberrormessage","content":"ActionSubError.message: None | str The optional message associated with this sub error. This function is only needed for action error handler unit testing. "},{"title":"anon_targets type","type":0,"sectionRef":"#","url":"/docs/api/bxl/anon_targets/","content":"","keywords":""},{"title":"anon_targets.anon_targets​","type":1,"pageTitle":"anon_targets type","url":"/docs/api/bxl/anon_targets/#anon_targetsanon_targets","content":"anon_targets.anon_targets: typing.Any Returns a list of StarlarkAnonTargets. "},{"title":"anon_targets.promise​","type":1,"pageTitle":"anon_targets type","url":"/docs/api/bxl/anon_targets/#anon_targetspromise","content":"anon_targets.promise: promise Returns the promise that maps to the result of the joined anon rules. "},{"title":"artifact type","type":0,"sectionRef":"#","url":"/docs/api/bxl/artifact/","content":"","keywords":""},{"title":"artifact.as_output​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactas_output","content":"def artifact.as_output() -> output_artifact Returns a StarlarkOutputArtifact instance, or fails if the artifact is either an Artifact, or is a bound Artifact (You cannot bind twice) "},{"title":"artifact.basename​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactbasename","content":"artifact.basename: str The base name of this artifact. e.g. for an artifact at foo/bar, this is bar "},{"title":"artifact.extension​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactextension","content":"artifact.extension: str The file extension of this artifact. e.g. for an artifact at foo/bar.sh, this is .sh. If no extension is present, "" is returned. "},{"title":"artifact.is_source​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactis_source","content":"artifact.is_source: bool Whether the artifact represents a source file "},{"title":"artifact.owner​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactowner","content":"artifact.owner: None | label The Label of the rule that originally created this artifact. May also be None in the case of source files, or if the artifact has not be used in an action, or if the action was not created by a rule. "},{"title":"artifact.project​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactproject","content":"def artifact.project( path: str, /, *, hide_prefix: bool = False ) -> artifact Create an artifact that lives at path relative from this artifact. For example, if artifact foo is a directory containing a file bar, then foo.project("bar")yields the file bar. It is possible for projected artifacts to hide the prefix in order to have the short name of the resulting artifact only contain the projected path, by passinghide_prefix = True to project(). "},{"title":"artifact.short_path​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactshort_path","content":"artifact.short_path: str The interesting part of the path, relative to somewhere in the output directory. For an artifact declared as foo/bar, this is foo/bar. "},{"title":"artifact.with_associated_artifacts​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactwith_associated_artifacts","content":"def artifact.with_associated_artifacts(artifacts: list[artifact]) -> artifact Returns a StarlarkArtifact instance which is identical to the original artifact, but with potentially additional artifacts. The artifacts must be bound. "},{"title":"artifact.without_associated_artifacts​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactwithout_associated_artifacts","content":"def artifact.without_associated_artifacts() -> artifact Returns a StarlarkArtifact instance which is identical to the original artifact, except with no associated artifacts "},{"title":"buck_regex type","type":0,"sectionRef":"#","url":"/docs/api/bxl/buck_regex/","content":"","keywords":""},{"title":"buck_regex.match​","type":1,"pageTitle":"buck_regex type","url":"/docs/api/bxl/buck_regex/#buck_regexmatch","content":"def buck_regex.match(str: str, /) -> bool "},{"title":"bxl.ActionQueryNode type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.ActionQueryNode/","content":"","keywords":""},{"title":"bxl.ActionQueryNode.action​","type":1,"pageTitle":"bxl.ActionQueryNode type","url":"/docs/api/bxl/bxl.ActionQueryNode/#bxlactionquerynodeaction","content":"def bxl.ActionQueryNode.action() -> None | action Gets optional action from the action query target node. "},{"title":"bxl.ActionQueryNode.analysis​","type":1,"pageTitle":"bxl.ActionQueryNode type","url":"/docs/api/bxl/bxl.ActionQueryNode/#bxlactionquerynodeanalysis","content":"def bxl.ActionQueryNode.analysis() -> None | bxl.AnalysisResult Gets optional analysis from the action query target node. "},{"title":"bxl.ActionQueryNode.attrs​","type":1,"pageTitle":"bxl.ActionQueryNode type","url":"/docs/api/bxl/bxl.ActionQueryNode/#bxlactionquerynodeattrs","content":"bxl.ActionQueryNode.attrs: typing.Any Gets the attributes from the action query node. Returns a struct. "},{"title":"bxl.ActionQueryNode.rule_type​","type":1,"pageTitle":"bxl.ActionQueryNode type","url":"/docs/api/bxl/bxl.ActionQueryNode/#bxlactionquerynoderule_type","content":"bxl.ActionQueryNode.rule_type: str Gets the kind of action query node, either analysis or action kind. "},{"title":"bxl.Actions type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.Actions/","content":"","keywords":""},{"title":"bxl.Actions.actions​","type":1,"pageTitle":"bxl.Actions type","url":"/docs/api/bxl/bxl.Actions/#bxlactionsactions","content":"bxl.Actions.actions: actions Gets the analysis action context to create and register actions on the execution platform corresponding to this bxl action's execution platform resolution. "},{"title":"bxl.Actions.exec_deps​","type":1,"pageTitle":"bxl.Actions type","url":"/docs/api/bxl/bxl.Actions/#bxlactionsexec_deps","content":"bxl.Actions.exec_deps: dict[providers_label, dependency] Gets the execution deps requested correctly configured for the current execution platform "},{"title":"bxl.Actions.toolchains​","type":1,"pageTitle":"bxl.Actions type","url":"/docs/api/bxl/bxl.Actions/#bxlactionstoolchains","content":"bxl.Actions.toolchains: dict[providers_label, dependency] Gets the toolchains requested configured for the current execution platform "},{"title":"actions type","type":0,"sectionRef":"#","url":"/docs/api/bxl/actions/","content":"","keywords":""},{"title":"actions.anon_target​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsanon_target","content":"def actions.anon_target( rule: "function", attrs: dict[str, typing.Any] ) -> anon_target An anonymous target is defined by the hash of its attributes, rather than its name. During analysis, rules can define and access the providers of anonymous targets before producing their own providers. Two distinct rules might ask for the same anonymous target, sharing the work it performs. For more details see https://buck2.build/docs/rule_authors/anon_targets/ "},{"title":"actions.anon_targets​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsanon_targets","content":"def actions.anon_targets( rules: list[("function", dict[str, typing.Any])] | tuple[("function", dict[str, typing.Any]), ...] ) -> anon_targets Generate a series of anonymous targets. "},{"title":"actions.artifact_tag​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsartifact_tag","content":"def actions.artifact_tag() -> artifact_tag Allocate a new input tag. Used with the dep_files argument to run. "},{"title":"actions.assert_short_path​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsassert_short_path","content":"def actions.assert_short_path(artifact: artifact, short_path: str) -> artifact Generate a promise artifact that has short path accessible on it. The short path's correctness will be asserted during analysis time. TODO - we would prefer the API to be ctx.actions.anon_target(xxx).artifact("foo", short_path=yyy), but we cannot support this until we can get access to the AnalysisContext without passing it into this method. "},{"title":"actions.cas_artifact​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionscas_artifact","content":"def actions.cas_artifact( output: artifact | output_artifact | str, digest: str, use_case: str, /, *, expires_after_timestamp: int, is_executable: bool = False, is_tree: bool = False, is_directory: bool = False ) -> artifact Downloads a CAS artifact to an output digest: must look like SHA1:SIZEuse_case: your RE use caseexpires_after_timestamp: must be a UNIX timestamp. Your digest's TTL must exceed this timestamp. Your build will break once the digest expires, so make sure the expiry is long enough (preferably, in years).is_executable: indicates the resulting file should be marked with executable permissionsis_tree: digest must point to a blob of typeRE.Treeis_directory: digest must point to a blob of typeRE.Directory "},{"title":"actions.copied_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionscopied_dir","content":"def actions.copied_dir( output: artifact | output_artifact | str, srcs: dict[str, artifact], / ) -> artifact Returns an artifact which is a directory containing copied files. The srcs must be a dictionary of path (as string, relative to the result directory) to the bound artifact, which will be laid out in the directory. "},{"title":"actions.copy_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionscopy_dir","content":"def actions.copy_dir( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Make a copy of a directory. "},{"title":"actions.copy_file​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionscopy_file","content":"def actions.copy_file( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Copies the source artifact to the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The copy works for files or directories. "},{"title":"actions.declare_output​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsdeclare_output","content":"def actions.declare_output( prefix: str, filename: str = _, /, *, dir: bool = False ) -> artifact Returns an unbound artifact, representing where a file will go, which must be bound before analysis terminates. The usual way of binding an artifact is with ctx.actions.run. As an example: my_output = ctx.actions.declare_output("output.o") ctx.actions.run(["gcc", "-c", my_source, "-o", my_output.as_output()], category = "compile") This snippet declares an output with the filename output.o (it will be located in the output directory for this target). Note the use of as_output to tag this artifact as being an output in the action. After binding the artifact you can subsequently use my_output as either an input for subsequent actions, or as the result in a provider. Artifacts from a single target may not have the same name, so if you then want a second artifact also named output.o you need to supply a prefix, e.g.ctx.actions.declare_output("directory", "output.o"). The artifact will still report having name output.o, but will be located at directory/output.o. The dir argument should be set to True if the binding will be a directory. "},{"title":"actions.digest_config​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsdigest_config","content":"def actions.digest_config() -> digest_config Obtain this daemon's digest configuration. This allows rules to discover what digests the daemon may be able to e.g. defer download because they conform to its RE backend's expected digest format. "},{"title":"actions.download_file​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsdownload_file","content":"def actions.download_file( output: artifact | output_artifact | str, url: str, /, *, vpnless_url: None | str = None, sha1: None | str = None, sha256: None | str = None, is_executable: bool = False, is_deferrable: bool = False ) -> artifact Downloads a URL to an output (filename as string or output artifact). The file at the URL must have the given sha1 or the command will fail. The optional parameter is_executable indicates whether the resulting file should be marked with executable permissions. (Meta-internal) The optional parameter vpnless_url indicates a url from which this resource can be downloaded off VPN; this has the same restrictions as url above. "},{"title":"actions.dynamic_output​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsdynamic_output","content":"def actions.dynamic_output( *, dynamic: list[artifact] | tuple[artifact, ...], inputs: list[artifact] | tuple[artifact, ...] = _, outputs: list[output_artifact] | tuple[output_artifact, ...], f: typing.Callable[[typing.Any, dict[artifact, artifact_value], dict[artifact, artifact]], None] ) -> None dynamic_output allows a rule to use information that was not available when the rule was first run at analysis time. Examples include things like Distributed ThinLTO (where the index file is created by another action) or OCaml builds (where the dependencies are created by ocamldeps). The arguments are: dynamic - a list of artifacts whose values will be available in the function. These will be built before the function is run.inputs - parameter is ignored.outputs - a list of unbound artifacts (created with declare_artifact) which will be bound by the function.The function argument is given 3 arguments: ctx (context) - which is the same as that passed to the initial rule analysis.artifacts - using one of the artifacts from dynamic (example usage:artifacts[artifact_from_dynamic]) gives an artifact value containing the methodsread_string, read_lines, and read_json to obtain the values from the disk in various formats. Anything too complex should be piped through a Python script for transformation to JSON.outputs - using one of the artifacts from the dynamic_output's outputs (example usage: outputs[artifact_from_dynamic_output_outputs]) gives an unbounded artifact. The function argument must use its outputs argument to bind output artifacts, rather than reusing artifacts from the outputs passed into dynamic_output directly. The function must call ctx.actions (probably ctx.actions.run) to bind all outputs. It can examine the values of the dynamic variables and depends on the inputs. The function will usually be a def, as lambda in Starlark does not allow statements, making it quite underpowered. For full details seehttps://buck2.build/docs/rule_authors/dynamic_dependencies/. Besides dynamic dependencies, there is a second use case for dynamic_output: say that you have some output artifact, and that the analysis to produce the action that outputs that artifact is expensive, ie takes a lot of CPU time; you would like to skip that work in builds that do not actually use that artifact. This can be accomplished by putting the analysis for that artifact behind a dynamic_outputwith an empty dynamic list. The dynamic_output's function will not be run unless one of the actions it outputs is actually requested as part of the build. "},{"title":"actions.dynamic_output_new​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsdynamic_output_new","content":"def actions.dynamic_output_new(dynamic_actions: DynamicAction, /) -> None New version of dynamic_output. This is work in progress, and will eventually replace the old dynamic_output. "},{"title":"actions.run​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsrun","content":"def actions.run( arguments: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, /, *, category: str, identifier: None | str = None, env: dict[str, artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _, local_only: bool = False, prefer_local: bool = False, prefer_remote: bool = False, low_pass_filter: bool = True, always_print_stderr: bool = False, weight: int = _, weight_percentage: int = _, dep_files: dict[str, artifact_tag] = _, metadata_env_var: str = _, metadata_path: str = _, no_outputs_cleanup: bool = False, allow_cache_upload: bool = False, allow_dep_file_cache_upload: bool = False, force_full_hybrid_if_capable: bool = False, exe: RunInfo | WorkerRunInfo = _, unique_input_inodes: bool = False, error_handler: typing.Callable = _, remote_execution_dependencies: list[dict[str, str]] = [] ) -> None Runs a command arguments: must be of type cmd_args, or a type convertible to such (such as a list of strings and artifacts) and must contain at least one .as_output() artifactcategory: category and identifier - when used together, identify the action in Buck2's event stream, and must be unique for a given targetweight: used to note how heavy the command is and will typically be set to a higher value to indicate that less such commands should be run in parallel (if running locally)no_outputs_cleanup: if this flag is set then Buck2 won't clean the outputs of a previous build that might be present on a disk; in which case, command from arguments should be responsible for the cleanup (that is useful, for example, when an action is supporting incremental mode and its outputs are based on result from a previous build)metadata_env_var and meadata_path should be used together: both set or both unset metadata_path: defines a path relative to the result directory for a file with action metadata, which will be created right before the command will be run.Metadata contains the path relative to the Buck2 project root and hash digest for every action input (this excludes symlinks as they could be resolved by a user script if needed). The resolved path relative to the Buck2 project for the metadata file will be passed to command from arguments, via the environment variable, with its name set by metadata_env_varBoth metadata_env_var and metadata_path are useful when making actions behave in an incremental manner (for details, see Incremental Actions) The prefer_local, prefer_remote and local_only options allow selecting where the action should run if the executor selected for this target is a hybrid executor. * All those options disable concurrent execution: the action will run on the preferred platform first (concurrent execution only happens with a "full" hybrid executor). * Execution may be retried on the "non-preferred" platform if it fails due to a transient error, except for `local_only`, which does not allow this. * If the executor selected is a remote-only executor and you use `local_only`, that's an error. The other options will not raise errors. * Setting more than one of those options is an error. * Those flags behave the same way as the equivalent `--prefer-remote`, `--prefer-local` and `--local-only` CLI flags. The CLI flags take precedence. * The `force_full_hybrid_if_capable` option overrides the `use_limited_hybrid` hybrid. The options listed above take precedence if set. remote_execution_dependencies: list of dependencies which is passed to Remote Execution. Each dependency is dictionary with the following keys: smc_tier: name of the SMC tier to call by RE Scheduler.id: name of the dependency. When actions execute, they'll do so from the root of the repository. As they execute, actions have exclusive access to their output directory. Actions also get exclusive access to a "scratch" path that is exposed via the environment variable BUCK_SCRATCH_PATH. This path is expressed as a path relative to the working directory (i.e. relative to the project). This path is guaranteed to exist when the action executes. When actions run locally, the scratch path is also used as the TMPDIR. "},{"title":"actions.symlink_file​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionssymlink_file","content":"def actions.symlink_file( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Creates a symlink to the source artifact at the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The symlink works for files or directories. "},{"title":"actions.symlinked_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionssymlinked_dir","content":"def actions.symlinked_dir( output: artifact | output_artifact | str, srcs: dict[str, artifact], / ) -> artifact Returns an artifact that is a directory containing symlinks. The srcs must be a dictionary of path (as string, relative to the result directory) to bound artifact, which will be laid out in the directory. "},{"title":"actions.tset​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionstset","content":"def actions.tset( definition: transitive_set_definition, /, value = _, children: typing.Iterable = _ ) -> transitive_set Creates a new transitive set. For details, see https://buck2.build/docs/rule_authors/transitive_sets/. "},{"title":"actions.write​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionswrite","content":"def actions.write( output: artifact | output_artifact | str, content: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, /, *, is_executable: bool = False, allow_args: bool = False, with_inputs: bool = False, absolute: bool = False ) -> artifact | (artifact, list[artifact]) Returns an artifact whose contents are content is_executable (optional): indicates whether the resulting file should be marked with executable permissionsallow_args (optional): must be set to True if you want to write parameter arguments to the file (in particular, macros that write to file) If it is true, the result will be a pair of the artifact containing content and a list of artifact values that were written by macros, which should be used in hidden fields or similar absolute (optional): if set, this action will produce absolute paths in its output when rendering artifact paths. You generally shouldn't use this if you plan to use this action as the input for anything else, as this would effectively result in losing all shared caching. The content is often a string, but can be any ArgLike value. This is occasionally useful for generating scripts to run as a part of another action. cmd_args in the content are newline separated unless another delimiter is explicitly specified. "},{"title":"actions.write_json​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionswrite_json","content":"def actions.write_json( output: artifact | output_artifact | str, content: None | artifact | bool | cell_root | cmd_args | enum | int | label | label_relative_path | output_artifact | project_root | record | resolved_macro | str | tagged_command_line | tagged_value | target_label | transitive_set_args_projection | transitive_set_json_projection | write_json_cli_args | list[typing.Any] | tuple | dict[typing.Any, typing.Any] | struct(..) | RunInfo | provider, /, *, with_inputs: bool = False, pretty: bool = False, absolute: bool = False ) -> artifact | write_json_cli_args Returns an artifact whose contents are content written as a JSON value. output: can be a string, or an existing artifact created with declare_outputcontent: must be composed of the basic json types (boolean, number, string, list/tuple, dictionary) plus artifacts and command lines An artifact will be written as a string containing the pathA command line will be written as a list of strings, unless joined=True is set, in which case it will be a string If you pass with_inputs = True, you'll get back a cmd_args that expands to the JSON file but carries all the underlying inputs as dependencies (so you don't have to use, for example, hidden for them to be added to an action that already receives the JSON file)pretty (optional): write formatted JSON (defaults to False)absolute (optional): if set, this action will produce absolute paths in its output when rendering artifact paths. You generally shouldn't use this if you plan to use this action as the input for anything else, as this would effectively result in losing all shared caching. (defaults to False) "},{"title":"bxl.AnalysisResult type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.AnalysisResult/","content":"","keywords":""},{"title":"bxl.AnalysisResult.as_dependency​","type":1,"pageTitle":"bxl.AnalysisResult type","url":"/docs/api/bxl/bxl.AnalysisResult/#bxlanalysisresultas_dependency","content":"def bxl.AnalysisResult.as_dependency() -> dependency Converts the analysis result into a dependency. Currently, you can only get a dependency without any transitions. This means that you cannot create an exec dep or toolchain from an analysis result. We may support other dependency transition types in the future. This is useful for passing in the results of ctx.analysis() into anon targets. Sample usage: def _impl_dependency(ctx): node = ctx.configured_targets("root//bin:the_binary") dependency = ctx.analysis(node).as_dependency() "},{"title":"bxl.AnalysisResult.providers​","type":1,"pageTitle":"bxl.AnalysisResult type","url":"/docs/api/bxl/bxl.AnalysisResult/#bxlanalysisresultproviders","content":"def bxl.AnalysisResult.providers() Access the providers of the rule. Returns a provider_collection the same as accessing providers of dependencies within a rule implementation. Sample usage: def _impl_providers(ctx): node = ctx.configured_targets("root//bin:the_binary") providers = ctx.analysis(node).providers() ctx.output.print(providers[FooInfo]) providers = ctx.analysis("//:bin").providers() ctx.output.print(providers[FooInfo]) "},{"title":"bxl.AqueryContext type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.AqueryContext/","content":"","keywords":""},{"title":"bxl.AqueryContext.all_actions​","type":1,"pageTitle":"bxl.AqueryContext type","url":"/docs/api/bxl/bxl.AqueryContext/#bxlaquerycontextall_actions","content":"def bxl.AqueryContext.all_actions( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label] ) -> target_set Obtain all the actions declared within the analysis of a given target. This operation only makes sense on a target literal (it is a simple passthrough when passed an action). "},{"title":"bxl.AqueryContext.all_outputs​","type":1,"pageTitle":"bxl.AqueryContext type","url":"/docs/api/bxl/bxl.AqueryContext/#bxlaquerycontextall_outputs","content":"def bxl.AqueryContext.all_outputs( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label] ) -> target_set Obtain the actions for all the outputs provided by the DefaultInfo for the targets passed as input. This includes both the default_outputs and other_outputs. This operation only makes sense on a target literal (it does nothing if passed something else). "},{"title":"bxl.AqueryContext.attrfilter​","type":1,"pageTitle":"bxl.AqueryContext type","url":"/docs/api/bxl/bxl.AqueryContext/#bxlaquerycontextattrfilter","content":"def bxl.AqueryContext.attrfilter( attr: str, value: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label] ) -> target_set The attrfilter query for rule attribute filtering. "},{"title":"bxl.AqueryContext.deps​","type":1,"pageTitle":"bxl.AqueryContext type","url":"/docs/api/bxl/bxl.AqueryContext/#bxlaquerycontextdeps","content":"def bxl.AqueryContext.deps( universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label], depth: None | int = None, filter: None | str = None ) -> target_set The deps query for finding the transitive closure of dependencies. "},{"title":"bxl.AqueryContext.eval​","type":1,"pageTitle":"bxl.AqueryContext type","url":"/docs/api/bxl/bxl.AqueryContext/#bxlaquerycontexteval","content":"def bxl.AqueryContext.eval( query: str, query_args: None | target_set | list[str] = None ) Evaluates some general query string. query_args can be a target_set of unconfigured nodes, or a list of strings. Returns a dict of target labels mapped to their target_set results if query_args was passed in, otherwise returns a single target_set. Sample usage: def _impl_eval(ctx): result = ctx.aquery().eval(":foo") ctx.output.print(result) "},{"title":"bxl.AuditContext type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.AuditContext/","content":"","keywords":""},{"title":"bxl.AuditContext.cell​","type":1,"pageTitle":"bxl.AuditContext type","url":"/docs/api/bxl/bxl.AuditContext/#bxlauditcontextcell","content":"def bxl.AuditContext.cell( aliases_to_resolve: list[str] | tuple[str, ...] = [], *, aliases: bool = False ) -> dict[str, str] Query information about the [cells] list in .buckconfig. Takes the following parameters: aliases_to_resolve - list of cell aliases to query. These aliases will be resolved in the root cell of the BXL script.optional aliases flag - if enabled, and no explicit aliases are passed, will query for all aliases in the root cell of the BXL script. Returns a dict of cell name to absolute path mappings. Sample usage: def _impl_audit_cell(ctx): result = ctx.audit().cell(aliases = True) ctx.output.print(result) "},{"title":"bxl.AuditContext.output​","type":1,"pageTitle":"bxl.AuditContext type","url":"/docs/api/bxl/bxl.AuditContext/#bxlauditcontextoutput","content":"def bxl.AuditContext.output( output_path: str, target_platform: None | str | target_label = _ ) Returns either: - The action which created the buck-out path, if exists. - The unconfigured_target_label constructed from the buck-out path, if the configuration hashes do not match. - None, if the configuration hash of the buck-out path matches the one passed into this function, or the default target configuration, but no action could be found that generated the buck-out path. Takes in an optional target platform, otherwise will use the default target platform. Sample usage: def _impl_audit_output(ctx): target_platform = "foo" result = ctx.audit().output("buck-out/v2/gen/fbcode/some_cfg_hash/path/to/__target__/artifact", target_platform) ctx.output.print(result) "},{"title":"bxl.BuildResult type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.BuildResult/","content":"","keywords":""},{"title":"bxl.BuildResult.artifacts​","type":1,"pageTitle":"bxl.BuildResult type","url":"/docs/api/bxl/bxl.BuildResult/#bxlbuildresultartifacts","content":"def bxl.BuildResult.artifacts() -> None | bxl_built_artifacts_iterable Returns an optional iterable of artifacts that was successfully built. Sample usage: def _impl(ctx): outputs = {} for target, value in ctx.build(ctx.cli_args.target).items(): ctx.output.print(value.artifacts()) "},{"title":"bxl.BuildResult.failures​","type":1,"pageTitle":"bxl.BuildResult type","url":"/docs/api/bxl/bxl.BuildResult/#bxlbuildresultfailures","content":"def bxl.BuildResult.failures() -> None | bxl_failed_artifacts_iterable Returns an optional of iterable of artifacts that failed to be built. Sample usage: def _impl(ctx): outputs = {} for target, value in ctx.build(ctx.cli_args.target).items(): ctx.output.print(value.failures()) "},{"title":"attrs type","type":0,"sectionRef":"#","url":"/docs/api/bxl/attrs/","content":"","keywords":""},{"title":"attrs.any​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsany","content":"def attrs.any(*, doc: str = "", default = _) -> attribute Takes most builtin literals and passes them to the rule as a string. Discouraged, as it provides little type safety and destroys the structure. "},{"title":"attrs.arg​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsarg","content":"def attrs.arg( *, json: bool = False, default = _, doc: str = "", anon_target_compatible: bool = False ) -> attribute Takes a command line argument from the user and supplies a cmd_args compatible value to the rule. The argument may contain special macros such as $(location :my_target) or $(exe :my_target) which will be replaced with references to those values in the rule. Takes in an optional anon_target_compatible flag, which indicates whether the args can be passed into anon targets. Note that there is a slight memory hit when using this flag. "},{"title":"attrs.bool​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsbool","content":"def attrs.bool(*, default = _, doc: str = "") -> attribute Takes a boolean and passes it to the rule as a boolean. "},{"title":"attrs.configuration_label​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsconfiguration_label","content":"def attrs.configuration_label(*, doc: str = "") -> attribute "},{"title":"attrs.configured_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsconfigured_dep","content":"def attrs.configured_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute "},{"title":"attrs.default_only​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsdefault_only","content":"def attrs.default_only( inner: attribute, /, *, doc: str = "" ) -> attribute Rejects all values and uses the default for the inner argument. Often used to resolve dependencies, which otherwise can't be resolved inside a rule. attrs.default_only(attrs.dep(default = "foo//my_package:my_target")) "},{"title":"attrs.dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsdep","content":"def attrs.dep( *, providers: list[typing.Any] | tuple = [], pulls_plugins: list[typing.Any] | tuple = [], pulls_and_pushes_plugins: all_plugins | list[typing.Any] | tuple = _, default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. A target can be specified as an absolute dependency foo//bar:baz, omitting the cell (//bar:baz) or omitting the package name (:baz). If supplied the providers argument ensures that specific providers will be present on the dependency. "},{"title":"attrs.dict​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsdict","content":"def attrs.dict( key: attribute, value: attribute, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute Takes a dict from the user, supplies a dict to the rule. "},{"title":"attrs.enum​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsenum","content":"def attrs.enum( variants: list[str] | tuple[str, ...], /, *, default = _, doc: str = "" ) -> attribute Takes a string from one of the variants given, and gives that string to the rule. Strings are matched case-insensitively, and always passed to the rule lowercase. "},{"title":"attrs.exec_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsexec_dep","content":"def attrs.exec_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will transition to the execution platform. Use exec_dep if you plan to execute things from this dependency as part of the compilation. "},{"title":"attrs.int​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsint","content":"def attrs.int(*, default = _, doc: str = "") -> attribute Takes an int from the user, supplies an int to the rule. "},{"title":"attrs.label​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrslabel","content":"def attrs.label(*, default = _, doc: str = "") -> attribute Takes a target (as per deps) and passes a label to the rule. Validates that the target exists, but does not introduce a dependency on it. "},{"title":"attrs.list​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrslist","content":"def attrs.list( inner: attribute, /, *, default = _, doc: str = "" ) -> attribute Takes a list from the user, supplies a list to the rule. "},{"title":"attrs.named_set​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsnamed_set","content":"def attrs.named_set( value_type: attribute, /, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.one_of​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsone_of","content":"def attrs.one_of(*args: attribute, default = _, doc: str = "") -> attribute Given a list of alternative attributes, selects the first that matches and gives that to the rule. "},{"title":"attrs.option​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsoption","content":"def attrs.option( inner: attribute, /, *, default = _, doc: str = "" ) -> attribute Takes a value that may be None or some inner type, and passes either None or the value corresponding to the inner to the rule. Often used to make a rule optional: attrs.option(attr.string(), default = None) "},{"title":"attrs.plugin_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsplugin_dep","content":"def attrs.plugin_dep( *, kind, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.query​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsquery","content":"def attrs.query(*, doc: str = "") -> attribute "},{"title":"attrs.regex​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsregex","content":"def attrs.regex(*, default = _, doc: str = "") -> attribute Currently an alias for attrs.string. "},{"title":"attrs.set​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsset","content":"def attrs.set( value_type: attribute, /, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.source​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrssource","content":"def attrs.source( *, allow_directory: bool = False, default = _, doc: str = "" ) -> attribute Takes a source file from the user, supplies an artifact to the rule. The source file may be specified as a literal string (representing the path within this package), or a target (which must have a DefaultInfo with a default_outputs value). "},{"title":"attrs.split_transition_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrssplit_transition_dep","content":"def attrs.split_transition_dep( *, providers: list[typing.Any] | tuple = [], cfg, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.string​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsstring","content":"def attrs.string( *, default = _, validate = _, doc: str = "" ) -> attribute Takes a string from the user, supplies a string to the rule. "},{"title":"attrs.toolchain_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrstoolchain_dep","content":"def attrs.toolchain_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will be a toolchain dependency, meaning that its execution platform dependencies will be used to select the execution platform for this rule. "},{"title":"attrs.transition_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrstransition_dep","content":"def attrs.transition_dep( *, providers: list[typing.Any] | tuple = [], cfg, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.tuple​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrstuple","content":"def attrs.tuple(*args: attribute, default = _, doc: str = "") -> attribute Takes a tuple of values and gives a tuple to the rule. "},{"title":"attrs.versioned​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsversioned","content":"def attrs.versioned(value_type: attribute, *, doc: str = "") -> attribute "},{"title":"bxl.ConfiguredTargetNode type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/","content":"","keywords":""},{"title":"bxl.ConfiguredTargetNode.attrs_eager​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodeattrs_eager","content":"def bxl.ConfiguredTargetNode.attrs_eager() Returns a struct of all the attributes of this target node. The structs fields are the attributes names, and the values are [StarlarkConfiguredAttr]. If you need to access many or all attrs on the same node, then this is the preferred way. Otherwise, using attrs_lazy() would be a better option for only accessing only a few attrs, although this really depends on what kind of attrs are on the node. Benchmarking performance will give you the best indication on which method to use. You should store the result of this function call for further usage in the code rather than callingattrs_eager() each time you need to access the attrs. Sample usage: def _impl_attrs_eager(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.attrs_eager() # cache once ctx.output.print(attrs) # do more stuff with attrs "},{"title":"bxl.ConfiguredTargetNode.attrs_lazy​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodeattrs_lazy","content":"def bxl.ConfiguredTargetNode.attrs_lazy() -> lazy_attrs Returns a lazy_attrs object that you can call get() on that gets an attr one at a time. If you need to access only few attrs on the same node, then this is the preferred way. Otherwise, using attrs_eager() would be a better option for accessing many or all attrs, although this really depends on what kind of attrs are on the node. Benchmarking performance will give you the best indication on which method to use. You should store the result of this function call for further usage in the code rather than callingattrs_lazy() each time to get the lazy_attrs object. Note that if the get() is None, then any methods called on None will result in an error. Sample usage: def _impl_attrs_lazy(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.attrs_lazy() # cache once ctx.output.print(attrs.get("some_attributes").value()) ctx.output.print(attrs.get("some_attribute").label) "},{"title":"bxl.ConfiguredTargetNode.buildfile_path​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodebuildfile_path","content":"bxl.ConfiguredTargetNode.buildfile_path: bxl.FileNode Gets the buildfile path from the configured target node. Sample usage: def _impl_label(ctx): target_node = ctx.cquery().eval("owner('path/to/file')")[0] ctx.output.print(target_node.buildfile_path) "},{"title":"bxl.ConfiguredTargetNode.get_source​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodeget_source","content":"def bxl.ConfiguredTargetNode.get_source( path: str, ctx: bxl.Context ) -> None | artifact Gets the source Artifact that corresponds to the given path given a context. The path should be the project relative path to the file, or an absolute path. Sample usage: def _impl_get_source(ctx): owner = ctx.cquery().owner("project/relative/path/to/file")[0] artifact = owner.sources()[0] ctx.output.print(artifact) "},{"title":"bxl.ConfiguredTargetNode.label​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodelabel","content":"bxl.ConfiguredTargetNode.label: configured_target_label Gets the configured target label of this target node. Note that you cannot get a non-configured label from a configured target node because the configured target node is not uniquely identified a non-configured label, only by the configured target label. Sample usage: def _impl_label(ctx): node = ctx.configured_targets("my_cell//bin:the_binary") ctx.output.print(node.label) "},{"title":"bxl.ConfiguredTargetNode.resolved_attrs_eager​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnoderesolved_attrs_eager","content":"def bxl.ConfiguredTargetNode.resolved_attrs_eager(ctx: bxl.Context) Returns a struct of all the resolved attributes of this target node. The structs fields are the attributes names, and the values are the underlying Starlark values of the attributes. If you need to access many or all resolved attrs on the same node, then this is the preferred way. Otherwise, using resolved_attrs_lazy() would be a better option for accessing only a few resolved attrs, although this really depends on what kind of resolved attrs are on the node. Benchmarking performance will give you the best indication on which method to use. You should store the result of this function call for further usage in the code rather than callingresolved_attrs_eager() each time you need all the resolved attrs. Sample usage: def _impl_resolved_attrs_eager(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.resolved_attrs_eager(ctx) # cache once ctx.output.print(attrs) # do more stuff with attrs "},{"title":"bxl.ConfiguredTargetNode.resolved_attrs_lazy​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnoderesolved_attrs_lazy","content":"def bxl.ConfiguredTargetNode.resolved_attrs_lazy( ctx: bxl.Context ) -> bxl.LazyResolvedAttrs Returns a lazy_resolved_attrs object that you can call get() on that gets a resolved attr one at a time. If you need to access only few resolved attrs on the same node, then this is the preferred way. Otherwise, using resolved_attrs_eager() would be a better option for accessing many or all resolved attrs, although this really depends on what kind of resolved attrs are on the node. Benchmarking performance will give you the best indication on which method to use. You should store the result of this function call for further usage in the code rather than callingresolved_attrs_lazy() each time to get the lazy_resolved_attrs object. Note that if the get() is None, then any methods called on None will result in an error. Sample usage: def _impl_resolved_attrs_lazy(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.resolved_attrs_lazy(ctx) # cache once ctx.output.print(attrs.get("some_attributes").value()) ctx.output.print(attrs.get("some_attribute").label) "},{"title":"bxl.ConfiguredTargetNode.rule_kind​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnoderule_kind","content":"bxl.ConfiguredTargetNode.rule_kind: str Gets the targets' corresponding rule's kind which is one of - normal (with no special properties) - configured (usable in a configuration context) - toolchain (only usable as a toolchain dep) Sample usage: def _impl_rule_kind(ctx): node = ctx.configured_targets("my_cell//bin:the_binary") ctx.output.print(node.rule_kind) "},{"title":"bxl.ConfiguredTargetNode.rule_type​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnoderule_type","content":"bxl.ConfiguredTargetNode.rule_type: str Gets the targets' corresponding rule's name. This is the fully qualified rule name including the import path. Sample usage: def _impl_rule_type(ctx): node = ctx.configured_targets("my_cell//bin:the_binary") ctx.output.print(node.rule_type) "},{"title":"bxl.ConfiguredTargetNode.sources​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodesources","content":"def bxl.ConfiguredTargetNode.sources() -> list[artifact] Returns a List of all the sources used by this node. Sample usage: def _impl_sources(ctx): node = ctx.configured_targets("my_cell//bin:the_binary") ctx.output.print(node.sources()) "},{"title":"bxl.ConfiguredTargetNode.unwrap_forward​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodeunwrap_forward","content":"def bxl.ConfiguredTargetNode.unwrap_forward() -> bxl.ConfiguredTargetNode Skip incoming transition forward node. If a target is a forward node, which is created by applying incoming configuration transition, return the transition target, otherwise return itself. This is is particularly useful when you don't care about 'forward' node. Example usage: def _impl_unwrap_forward(ctx): node = ctx.configured_targets("my_cell//bin:the_binary") actual_node = node.unwrap_forward() "},{"title":"bxl.EnsuredArtifact type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.EnsuredArtifact/","content":"","keywords":""},{"title":"bxl.EnsuredArtifact.abs_path​","type":1,"pageTitle":"bxl.EnsuredArtifact type","url":"/docs/api/bxl/bxl.EnsuredArtifact/#bxlensuredartifactabs_path","content":"def bxl.EnsuredArtifact.abs_path() Converts this artifact to be printed by its absolute path. Note that this will only print out the absolute path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact. Sample usage: def _impl_abs_path(ctx): actions = ctx.bxl_actions().actions output = actions.write("my_output", "my_content") ensured = ctx.output.ensure(output) # currently defaults to creating an EnsuredArtifact with a relative path ensured_with_abs_path = ensured.abs_path() # create a new EnsuredArtifact with absolute path to reuse print(ensured_with_abs_path) # should return something like <ensured artifact ... > ctx.output.print(ensured_with_abs_path) # should return the absolute path of the artifact "},{"title":"bxl.EnsuredArtifact.rel_path​","type":1,"pageTitle":"bxl.EnsuredArtifact type","url":"/docs/api/bxl/bxl.EnsuredArtifact/#bxlensuredartifactrel_path","content":"def bxl.EnsuredArtifact.rel_path() Converts this artifact to be printed by its path relative to the project root. Note that this will only print out the relative path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact. Sample usage: def _impl_rel_path(ctx): actions = ctx.bxl_actions().actions output = actions.write("my_output", "my_content") ensured = ctx.output.ensure(output) # currently defaults to creating an EnsuredArtifact with a relative path ensured_with_rel_path = ensured.rel_path() # create a new EnsuredArtifact with relative path to reuse print(ensured_with_rel_path) # should return something like <ensured artifact ... > ctx.output.print(ensured_with_rel_path) # should return the relative path of the artifact "},{"title":"bxl.FileNode type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.FileNode/","content":"","keywords":""},{"title":"bxl.FileNode.cell​","type":1,"pageTitle":"bxl.FileNode type","url":"/docs/api/bxl/bxl.FileNode/#bxlfilenodecell","content":"bxl.FileNode.cell: str The cell name for the file_node. "},{"title":"bxl.FileNode.path​","type":1,"pageTitle":"bxl.FileNode type","url":"/docs/api/bxl/bxl.FileNode/#bxlfilenodepath","content":"bxl.FileNode.path: str The cell relative path as a string. "},{"title":"bxl.Context type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.Context/","content":"","keywords":""},{"title":"bxl.Context.analysis​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextanalysis","content":"def bxl.Context.analysis( labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label], target_platform: None | str | target_label = _, *, skip_incompatible: bool = True ) -> None | bxl.AnalysisResult | dict[label, bxl.AnalysisResult] Runs analysis on the given labels, accepting an optional target_platform which is the target platform configuration used to resolve configurations of any unconfigured target nodes, and an optional skip_incompatible boolean that indicates whether to skip analysis of nodes that are incompatible with the target platform. The target_platform is either a string that can be parsed as a target label, or a target label. The given labels is a providers expression, which is either: - a single string that is a `target pattern`. - a single target node or label, configured or unconfigured - a single sub target label, configured or unconfigured - a list of the two options above. This returns either a single analysis_result if the given labels argument is "singular", or a dict keyed by sub target labels of analysis if the given labels argument is list-like "},{"title":"bxl.Context.aquery​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextaquery","content":"def bxl.Context.aquery( target_platform: None | str | target_label = _ ) -> bxl.AqueryContext Returns the aqueryctx that holds all the aquery functions. This function takes an optional parameter target_platform, which is the target platform configuration used to configured any unconfigured target nodes. The target_platform is a target label, or a string that is a target label. "},{"title":"bxl.Context.audit​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextaudit","content":"def bxl.Context.audit() -> bxl.AuditContext Returns the audit_ctx that holds all the audit functions. "},{"title":"bxl.Context.build​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextbuild","content":"def bxl.Context.build( labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label], target_platform: None | str | target_label = _, *, materializations: str = "default" ) -> dict[label, bxl.BuildResult] Runs a build on the given labels, accepting an optional target_platform which is the target platform configuration used to resolve configurations. Note that when build() is called, the artifacts are materialized without needing to additionally call ensure() on them. The given labels is a providers expression, which is either: - a single string that is a `target pattern`. - a single target node or label, configured or unconfigured - a single provider label, configured or unconfigured - a list of the two options above. This returns a dict keyed by sub target labels mapped to bxl_build_results if the given labels argument is list-like. This function is not available on the bxl_ctx when called from dynamic_output. "},{"title":"bxl.Context.bxl_actions​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextbxl_actions","content":"def bxl.Context.bxl_actions( *, exec_deps: None | bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label] = None, toolchains: None | bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label] = None, target_platform: None | str | target_label = _, exec_compatible_with: None | bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] = None ) -> bxl.Actions Returns the bxl actions to create and register actions for this bxl function. This will have the execution platform resolved according to the execution deps and toolchains you pass into this function. You'll be able to access the analysis action factory of the correct execution platform, toolchains, and execution deps of the corresponding configuration via this context. Actions created by bxl will not be built by default. Instead, they are marked to be built by ctx.output.ensure(artifact) on the output module of the bxl_ctx. Only artifacts marked by ensure will be built. Sample usage: def _impl_write_action(ctx): bxl_actions = ctx.bxl_actions() output = bxl_actions.actions.write("my_output", "my_content") ensured = ctx.output.ensure(output) ctx.output.print(ensured) There are several optional named parameters: exec_deps - These are dependencies you wish to access as executables for creating the action. This is usually the same set of targets one would pass to rule's attr.exec_dep.toolchains - The set of toolchains needed for the actions you intend to create.target_platform - The intended target platform for your toolchainsexec_compatible_with - Explicit list of configuration nodes (like platforms or constraints) that these actions are compatible with. This is the 'exec_compatible_with' attribute of a target. If you passed in exec_deps or toolchains, you can access the resolved dependencies using the exec_depsand toolchains attributes on the bxl_actions, which both return a dict of unconfigured subtarget labels and their configured/resolved dependency objects. Note that the keys of exec_deps and toolchains must be unconfigured subtarget labels (providers_labels), and not unconfigured target labels. You can use ctx.unconfigured_sub_targets(...) or with_sub_target() ontarget_label to create the label. def _impl_run_action(ctx): my_exec_dep = ctx.unconfigured_sub_targets("foo//bar:baz") # has some provider that you would use in the action bxl_actions = ctx.bxl_actions(exec_deps = [my_exec_dep]) # call once, reuse wherever needed output = bxl_actions.actions.run( [ "python3", bxl_actions.exec_deps[my_exec_dep][RunInfo], # access resolved exec_deps on the `bxl_actions` out.as_output(), ], category = "command", local_only = True, ) ctx.output.ensure(output) When called from a dynamic_output, bxl_actions() cannot be configured with a different execution platform resolution from the parent BXL. "},{"title":"bxl.Context.cell_root​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextcell_root","content":"def bxl.Context.cell_root() -> str Returns the absolute path to the cell of the repository This function is not available on the bxl_ctx when called from dynamic_output. "},{"title":"bxl.Context.cli_args​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextcli_args","content":"bxl.Context.cli_args: struct(..) A struct of the command line args as declared using the [cli_args] module. These command lines are resolved per the users input on the cli when invoking the bxl script. If you wish to pass in a kebab-cased arg, the arg accessed from the BXL context's cli_argsattrbute will always be in snakecase. For example, if you passed in my-arg, accessing it within BXL would look like ctx.cli_args.my_arg. This attribute is not available on the bxl context within the a dynamic lambda. "},{"title":"bxl.Context.configured_targets​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextconfigured_targets","content":"def bxl.Context.configured_targets( labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], /, target_platform: None | str | target_label = _ ) -> None | bxl.ConfiguredTargetNode | target_set Gets the target nodes for the labels, accepting an optional target_platform which is the target platform configuration used to resolve configurations of any unconfigured target nodes. The target_platform is either a string that can be parsed as a target label, or a target label. The given labels is a [TargetListExpr], which is either: - a single string that is a `target pattern`. - a single target node or label, configured or unconfigured - a list of the two options above. Note that this function does not accept Label (which is a configured provider label), since this is the label of a subtarget. You can get the underlying configured target label on the Labelusing configured_targets() (ex: my_label.configured_target()). This returns either a single target_node if the given labelsis "singular", a dict keyed by target labels of target_node if the given labels is list-like "},{"title":"bxl.Context.cquery​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextcquery","content":"def bxl.Context.cquery( target_platform: None | str | target_label = _ ) -> bxl.CqueryContext Returns the cqueryctx that holds all the cquery functions. This function takes an optional parameter target_platform, which is the target platform configuration used to configured any unconfigured target nodes. The target_platform is a target label, or a string that is a target label. "},{"title":"bxl.Context.fs​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextfs","content":"bxl.Context.fs: bxl.Filesystem Returns the bxl.Filesystem for performing a basic set of filesystem operations within bxl "},{"title":"bxl.Context.instant_event​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextinstant_event","content":"def bxl.Context.instant_event(*, id: str, metadata) -> None Emits a user-defined instant event, taking in a required string id and a metadata dictionary where the keys are strings, and values are either strings, bools, or ints. The id is user-supplied, and used to identify the instant events in the event logs more easily. You may pass in an ensured artifact as a value in the metadata. The resulting output would be the ensured artifact's relative or absolute path as a string. "},{"title":"bxl.Context.output​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextoutput","content":"bxl.Context.output: bxl.OutputStream Gets the output stream to the console via stdout. Items written to the output stream are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached. Prints that are not result of the bxl should be printed via stderr via the stdlib printand pprint. This function is not available on the bxl_ctx when called from dynamic_output. "},{"title":"bxl.Context.resolve​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextresolve","content":"def bxl.Context.resolve(action_factory: actions, promise: promise) Awaits a promise and returns an optional value of the promise. Sample usage: load("//path/to/rules:rules.bzl", "my_anon_targets_rule", "my_map_function") def _resolve_impl(ctx): actions = ctx.bxl_actions().actions my_attrs = { "false": False, "int": 42, "list_string": ["a", "b", "c"], "string": "a-string", "true": True, } promise = actions.anon_target(my_anon_targets_rule, attrs).promise.map(my_map_function) providers_result = ctx.resolve(actions, promise) # result is `provider_collection` type, which is a collection of `provider`s ctx.output.print(providers_result[0].my_field) "},{"title":"bxl.Context.root​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextroot","content":"def bxl.Context.root() -> str Returns the absolute path to the root of the repository This function is not available on the bxl_ctx when called from dynamic_output. "},{"title":"bxl.Context.target_exists​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontexttarget_exists","content":"def bxl.Context.target_exists(label: str) -> bool Checks if a target label exists. Target label must be a string literal, and an exact target. "},{"title":"bxl.Context.target_universe​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontexttarget_universe","content":"def bxl.Context.target_universe( labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], target_platform: None | str | target_label = _, *, keep_going: bool = False ) -> bxl.TargetUniverse Returns the target_universe that can lookup valid configured nodes in the universe. The given labels is a target expression, which is either: - a single string that is a `target pattern`. - a single target node or label, configured or unconfigured - a single subtarget label, configured or unconfigured - a list of the two options above. Also takes in an optional target_platform param to configure the nodes with, and a keep_going`` flag to skip any loading or configuration errors. Note that keep_going` currently can only be used if the input labels is a single target pattern as a string literal. "},{"title":"bxl.Context.unconfigured_sub_targets​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextunconfigured_sub_targets","content":"def bxl.Context.unconfigured_sub_targets( labels: bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label] ) -> providers_label | dict[str, providers_label] Gets the unconfigured subtargets for the given labels The given labels is a providers expression, which is either: - a single string that is a `target pattern`. - a single target node or label, configured or unconfigured - a single subtarget label, configured or unconfigured - a list of the two options above. This returns either a single providers_label if the given labels argument is "singular", or dict of the subtarget string representation to theproviders_label if the given labels argument is list-like. Note that this function does not check that this subtarget exists in the repo. "},{"title":"bxl.Context.unconfigured_targets​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextunconfigured_targets","content":"def bxl.Context.unconfigured_targets( labels: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> bxl.UnconfiguredTargetNode | target_set Gets the unconfigured target nodes for the labels The given labels is either: - a single string that is a `target pattern`. - a single unconfigured target node or label - a list of the two options above. This returns either a single [StarlarkTargetNode] if the given labelsis "singular", a dict keyed by target labels of [StarlarkTargetNode] if the given labels is list-like "},{"title":"bxl.Context.uquery​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextuquery","content":"def bxl.Context.uquery() -> bxl.UqueryContext Returns the uqueryctx that holds all uquery functions. "},{"title":"bxl.Filesystem type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.Filesystem/","content":"","keywords":""},{"title":"bxl.Filesystem.abs_path_unsafe​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemabs_path_unsafe","content":"def bxl.Filesystem.abs_path_unsafe(expr: artifact | bxl.FileNode | str) -> str Returns the absolute path, given the file expression. Use at your own risk, as the current working directory may have been changed when this function is called. In addition, passing the absolute path into actions that are run remotely will most likely result in failures since the absolute path most likely differs locally vs remotely. Sample usage: def _impl_abs_path_unsafe(ctx): ctx.output.print(ctx.fs.abs_path_unsafe("bin")) "},{"title":"bxl.Filesystem.exists​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemexists","content":"def bxl.Filesystem.exists(expr: artifact | bxl.FileNode | str) -> bool Check if a path exists on disk, taking advantage of Buck's cached filesystem. Takes in a literal, a source artifact (via artifact), or a file_node. Sample usage: def _impl_exists(ctx): ctx.output.print(ctx.fs.exists("bin")) "},{"title":"bxl.Filesystem.is_dir​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemis_dir","content":"def bxl.Filesystem.is_dir(expr: artifact | bxl.FileNode | str) -> bool Returns whether the provided path is a dir. Returns false is the dir does not exist. The input is a either a literal, a source artifact (via artifact), or a file_node. Sample usage: def _impl_is_dir(ctx): ctx.output.print(ctx.fs.is_dir("bin")) "},{"title":"bxl.Filesystem.is_file​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemis_file","content":"def bxl.Filesystem.is_file(expr: artifact | bxl.FileNode | str) -> bool Returns whether the provided path is a file. Returns false is the file does not exist. The input is a either a literal, a source artifact (via artifact), or a file_node. Sample usage: def _impl_is_file(ctx): ctx.output.print(ctx.fs.is_dir("bin")) "},{"title":"bxl.Filesystem.list​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemlist","content":"def bxl.Filesystem.list( expr: artifact | bxl.FileNode | str, *, dirs_only: bool = False ) -> read_dir_set Returns all the contents of the given input that points to a directory. Errors if the given path is a file. Takes an optional boolean dirs_only to only return directories, defaults to false. The input is a either a literal, a source artifact (via artifact), or a file_node. Sample usage: def _impl_list(ctx): list_results = ctx.fs.list("bin") for result in list_results: ctx.output.print(result) "},{"title":"bxl.Filesystem.project_rel_path​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemproject_rel_path","content":"def bxl.Filesystem.project_rel_path(expr: artifact | bxl.FileNode | str) -> str Returns the relative path to the project root, given the file expression. Sample usage: def project_rel_path(ctx): ctx.output.print(ctx.fs.project_rel_path("bin")) "},{"title":"bxl.Filesystem.source​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemsource","content":"def bxl.Filesystem.source( expr: artifact | bxl.FileNode | str, target_hint: None | bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] = None ) -> artifact Returns the source artifact for a path and an optional target hint (unconfigured target label or node) which points to the owning package. If no target hint is given, the nearest package will be used to guess the desired artifact. The path should be either an absolute path, or a project relative path. "},{"title":"bxl.LazyResolvedAttrs type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.LazyResolvedAttrs/","content":"","keywords":""},{"title":"bxl.LazyResolvedAttrs.get​","type":1,"pageTitle":"bxl.LazyResolvedAttrs type","url":"/docs/api/bxl/bxl.LazyResolvedAttrs/#bxllazyresolvedattrsget","content":"def bxl.LazyResolvedAttrs.get(attr: str) Gets a single resolved attribute. Returns an optional configured attribute. Gets a single attribute. def _impl_resolved_attrs_lazy(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.resolved_attrs_lazy(ctx) # cache once ctx.output.print(attrs.get("some_attribute").value()) ctx.output.print(attrs.get("some_attribute").label) "},{"title":"bxl.CqueryContext type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.CqueryContext/","content":"","keywords":""},{"title":"bxl.CqueryContext.allpaths​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextallpaths","content":"def bxl.CqueryContext.allpaths( from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], to: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The allpaths query for computing all dependency paths. "},{"title":"bxl.CqueryContext.attrfilter​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextattrfilter","content":"def bxl.CqueryContext.attrfilter( attr: str, value: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The attrfilter query for rule attribute filtering. "},{"title":"bxl.CqueryContext.attrregexfilter​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextattrregexfilter","content":"def bxl.CqueryContext.attrregexfilter( attribute: str, value: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The attrregexfilter query for rule attribute filtering with regex. Sample usage: def _impl_attrregexfilter(ctx): filtered = ctx.cquery().attrregexfilter("foo", "he.lo", "bin/kind/...") ctx.output.print(filtered) "},{"title":"bxl.CqueryContext.buildfile​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextbuildfile","content":"def bxl.CqueryContext.buildfile( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> file_set Find the build file(s) that defines a target or a target set. Sample usage: def _buildfile_impl(ctx): owner = ctx.cquery().owner(["bin/TARGET", "bin/kind"]) result = ctx.cquery().buildfile(owner) ctx.output.print(result) "},{"title":"bxl.CqueryContext.deps​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextdeps","content":"def bxl.CqueryContext.deps( universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], depth: None | int = None, filter: None | str = None ) -> target_set The deps query for finding the transitive closure of dependencies. Sample usage: def _impl_deps(ctx): result = ctx.cquery().deps("root//bin:the_binary", 1) ctx.output.print(result) "},{"title":"bxl.CqueryContext.eval​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontexteval","content":"def bxl.CqueryContext.eval( query: str, query_args: None | target_set | list[str] = None, target_universe: None | list[str] | tuple[str, ...] = None ) Evaluates some general query string. query_args can be a target_set of unconfigured nodes, or a list of strings. Returns a dict of target labels mapped to their target_set results if query_args was passed in, otherwise returns a single target_set. Sample usage: def _impl_eval(ctx): result1 = ctx.cquery().eval("inputs(root//bin:the_binary)") ctx.output.print(result1) result2 = ctx.cquery().eval("inputs(%s)", query_args = ["cell//path/to/file:target"]) ctx.output.print(result2) "},{"title":"bxl.CqueryContext.filter​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextfilter","content":"def bxl.CqueryContext.filter( regex: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The filter query for filtering targets by name. Sample usage: def _impl_filter(ctx): result = ctx.cquery().filter(".*the_binary", "root//...") ctx.output.print(result) "},{"title":"bxl.CqueryContext.inputs​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextinputs","content":"def bxl.CqueryContext.inputs( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> file_set The inputs query for finding input files. Sample usage: def _impl_inputs(ctx): result = ctx.cquery().inputs("root//bin:the_binary") ctx.output.print(result) "},{"title":"bxl.CqueryContext.kind​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextkind","content":"def bxl.CqueryContext.kind( regex: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The kind query for filtering targets by rule type. Sample usage: def _impl_kind(ctx): kind = ctx.cquery().kind(".*1", "bin/kind/...") ctx.output.print(kind) "},{"title":"bxl.CqueryContext.nattrfilter​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextnattrfilter","content":"def bxl.CqueryContext.nattrfilter( attr: str, value: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The nattrfilter query for rule attribute filtering. It is the opposite of attrfilter, i.e. it filters targets by attribute but excludes those that match. "},{"title":"bxl.CqueryContext.owner​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextowner","content":"def bxl.CqueryContext.owner( files: file_set | str | list[str] | tuple[str, ...], universe: None | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] = None ) -> target_set The owner query for finding targets that own specified files. Note that if you do not pass in a cell path (where the format is <cell>//path/to/file), the path is resolved against the cell that the BXL script lives in. If you need to evaluate a file path that lives in a different cell, you must pass in the fully qualified cell path. Sample usage: def _owner_impl(ctx): owner = ctx.cquery().owner("bin/TARGETS.fixture", "foo//target/universe/...") ctx.output.print(owner) "},{"title":"bxl.CqueryContext.rdeps​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextrdeps","content":"def bxl.CqueryContext.rdeps( universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], depth: int = _ ) -> target_set The rdeps query for finding the transitive closure of reverse dependencies. Sample usage: def _impl_rdeps(ctx): result = ctx.cquery().rdeps("root//bin:the_binary", "//lib:file1", 100) ctx.output.print(result) "},{"title":"bxl.CqueryContext.somepath​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextsomepath","content":"def bxl.CqueryContext.somepath( from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], to: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set "},{"title":"bxl.CqueryContext.testsof​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontexttestsof","content":"def bxl.CqueryContext.testsof( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The testsof query for listing the tests of the specified targets. "},{"title":"bxl.CqueryContext.testsof_with_default_target_platform​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontexttestsof_with_default_target_platform","content":"def bxl.CqueryContext.testsof_with_default_target_platform( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The testsof query for listing the tests of the specified targets. Performs default target platform resolution under the hood for the tests found. "},{"title":"bxl.TargetUniverse type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.TargetUniverse/","content":"","keywords":""},{"title":"bxl.TargetUniverse.lookup​","type":1,"pageTitle":"bxl.TargetUniverse type","url":"/docs/api/bxl/bxl.TargetUniverse/#bxltargetuniverselookup","content":"def bxl.TargetUniverse.lookup( targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set Looks up valid configured target nodes within the universe. The targets passed in are either string literals, unconfigured target nodes, or unconfigured target labels. "},{"title":"bxl.TargetUniverse.target_set​","type":1,"pageTitle":"bxl.TargetUniverse type","url":"/docs/api/bxl/bxl.TargetUniverse/#bxltargetuniversetarget_set","content":"def bxl.TargetUniverse.target_set() -> target_set The target set of the nodes used to construct the target universe. "},{"title":"bxl.TargetUniverse.universe_target_set​","type":1,"pageTitle":"bxl.TargetUniverse type","url":"/docs/api/bxl/bxl.TargetUniverse/#bxltargetuniverseuniverse_target_set","content":"def bxl.TargetUniverse.universe_target_set() -> target_set The target set of the entire target universe. "},{"title":"bxl.OutputStream type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.OutputStream/","content":"","keywords":""},{"title":"bxl.OutputStream.ensure​","type":1,"pageTitle":"bxl.OutputStream type","url":"/docs/api/bxl/bxl.OutputStream/#bxloutputstreamensure","content":"def bxl.OutputStream.ensure(artifact: artifact) -> bxl.EnsuredArtifact Marks the artifact as an artifact that should be available to the users at the end of the bxl invocation. Any artifacts that do not get registered via this call is not accessible by users at the end of bxl script. This function returns an ensured_artifact type that can be printed via ctx.output.print()to print its actual path on disk. Sample usage: def _impl_ensure(ctx): actions = ctx.bxl_actions().actions output = actions.write("my_output", "my_content") ensured = ctx.output.ensure(output) ctx.output.print(ensured) "},{"title":"bxl.OutputStream.ensure_multiple​","type":1,"pageTitle":"bxl.OutputStream type","url":"/docs/api/bxl/bxl.OutputStream/#bxloutputstreamensure_multiple","content":"def bxl.OutputStream.ensure_multiple( artifacts: None | artifact | bxl.BuildResult | bxl_built_artifacts_iterable | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[artifact] | dict[typing.Any, bxl.BuildResult] | RunInfo ) Same as ensure, but for multiple artifacts. Will preserve the shape of the inputs (i.e. if the resulting Dict of a ctx.build() is passed in, the output will be a Dict where the key is preserved, and the values are converted to ensured_artifacts). Note that is slower to loop through objects and ensure them one by one than it is to call ensure_multiple()on all the objects at once (if possible). So, it is suggested to use this method when you are only ensuring a few individual artifacts that are not stored in an iterable. Sample usage: def _impl_ensure_multiple(ctx): outputs = {} for target, value in ctx.build(ctx.cli_args.target).items(): outputs.update({target.raw_target(): ctx.output.ensure_multiple(value.artifacts())}) ctx.output.print_json(outputs) "},{"title":"bxl.OutputStream.print​","type":1,"pageTitle":"bxl.OutputStream type","url":"/docs/api/bxl/bxl.OutputStream/#bxloutputstreamprint","content":"def bxl.OutputStream.print(*args, sep: str = " ") -> None Outputs results to the console via stdout. These outputs are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached. Accepts an optional separator that defaults to " ". Prints that are not result of the bxl should be printed via stderr via the stdlib printand pprint. Note that ctx.output.print() is intended for simple outputs. For more complex outputs, the recommendation would be to write them to a file. Sample usage: def _impl_print(ctx): ctx.output.print("test") "},{"title":"bxl.OutputStream.print_json​","type":1,"pageTitle":"bxl.OutputStream type","url":"/docs/api/bxl/bxl.OutputStream/#bxloutputstreamprint_json","content":"def bxl.OutputStream.print_json(value, *, pretty: bool = True) -> None Outputs results to the console via stdout as pretty-printed json. Pretty printing can be turned off by the pretty keyword-only parameter. These outputs are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached. Prints that are not result of the bxl should be printed via stderr via the stdlib printand pprint. Sample usage: def _impl_print_json(ctx): outputs = {} outputs.update({"foo": bar}) ctx.output.print_json("test") "},{"title":"globals","type":0,"sectionRef":"#","url":"/docs/api/build/globals/","content":"","keywords":""},{"title":"ActionErrorCtx​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#actionerrorctx","content":"ActionErrorCtx: type "},{"title":"ActionErrorLocation​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#actionerrorlocation","content":"ActionErrorLocation: type "},{"title":"ActionSubError​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#actionsuberror","content":"ActionSubError: type "},{"title":"AnalysisActions​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#analysisactions","content":"AnalysisActions: type "},{"title":"AnalysisContext​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#analysiscontext","content":"AnalysisContext: type "},{"title":"AnonTarget​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#anontarget","content":"AnonTarget: type "},{"title":"AnonTargets​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#anontargets","content":"AnonTargets: type "},{"title":"Artifact​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#artifact","content":"Artifact: type "},{"title":"ArtifactTag​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#artifacttag","content":"ArtifactTag: type "},{"title":"ArtifactValue​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#artifactvalue","content":"ArtifactValue: type "},{"title":"Attr​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#attr","content":"Attr: type "},{"title":"CellPath​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#cellpath","content":"CellPath: type "},{"title":"CellRoot​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#cellroot","content":"CellRoot: type "},{"title":"CommandExecutorConfig​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#commandexecutorconfig","content":"def CommandExecutorConfig( *, local_enabled: bool, remote_enabled: bool, remote_cache_enabled: None | bool = None, remote_dep_file_cache_enabled: bool = False, remote_execution_properties = None, remote_execution_action_key = None, remote_execution_max_input_files_mebibytes: None | int = None, remote_execution_queue_time_threshold_s: None | int = None, remote_execution_use_case = None, use_limited_hybrid: bool = False, allow_limited_hybrid_fallbacks: bool = False, allow_hybrid_fallbacks_on_failure: bool = False, use_windows_path_separators: bool = False, use_persistent_workers: bool = False, allow_cache_uploads: bool = False, max_cache_upload_mebibytes: None | int = None, experimental_low_pass_filter: bool = False, remote_output_paths: None | str = None, remote_execution_resource_units: None | int = None, remote_execution_dependencies: list[dict[str, str]] = [] ) -> command_executor_config Contains configurations for how actions should be executed .type attribute​ Produces "command_executor_config" Details​ local_enabled : Whether to use local execution for this execution platform. If both remote_enabled and local_enabled are True, we will use the hybrid executorremote_enabled: Whether to use remote execution for this execution platformremote_cache_enabled: Whether to query RE cachesremote_execution_properties: Properties for remote execution for this platformremote_execution_action_key: A component to inject into the action key This should typically used to inject variability into the action key so that it's different across e.g. build modes (RE uses the action key for things like expected memory utilization)remote_execution_max_input_files_mebibytes: The maximum input file size (in bytes) that remote execution can supportremote_execution_queue_time_threshold_s: The maximum time in seconds we are willing to wait in the RE queue for remote execution to start running our actionremote_execution_use_case: The use case to use when communicating with REuse_limited_hybrid: Whether to use the limited hybrid executorallow_limited_hybrid_fallbacks: Whether to allow fallbacksallow_hybrid_fallbacks_on_failure: Whether to allow fallbacks when the result is failure (i.e. the command failed on the primary, but the infra worked)use_windows_path_separators: Whether to use Windows path separators in command line argumentsuse_persistent workers: Whether to use persistent workers for local execution if they are availableallow_cache_uploads: Whether to upload local actions to the RE cachemax_cache_upload_mebibytes: Maximum size to upload in cache uploadsexperimental_low_pass_filter: Whether to use the experimental low pass filterremote_output_paths: How to express output paths to REremote_execution_resource_units: The resources (eg. GPUs) to use for remote executionremote_execution_dependencies: Dependencies for remote execution for this platform "},{"title":"ConfigurationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#configurationinfo","content":"def ConfigurationInfo( *, constraints: dict[target_label, ConstraintValueInfo], values: dict[str, str] ) -> ConfigurationInfo Provider that signals that a rule contains configuration info. This is used both as part of defining configurations (platform(), constraint_value()) and defining whether a target "matches" a configuration or not (config_setting(), constraint_value()) .type attribute​ Produces "ConfigurationInfo" Details​ Provides a number of fields that can be accessed: constraints: dict[target_label, ConstraintValueInfo] - field values: dict[str, str] - field "},{"title":"ConfiguredProvidersLabel​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#configuredproviderslabel","content":"ConfiguredProvidersLabel: type "},{"title":"ConfiguredTargetLabel​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#configuredtargetlabel","content":"ConfiguredTargetLabel: type "},{"title":"ConstraintSettingInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#constraintsettinginfo","content":"def ConstraintSettingInfo(*, label: target_label) -> ConstraintSettingInfo Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_setting() target. .type attribute​ Produces "ConstraintSettingInfo" Details​ Provides a number of fields that can be accessed: label: target_label - field "},{"title":"ConstraintValueInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#constraintvalueinfo","content":"def ConstraintValueInfo( *, setting: ConstraintSettingInfo, label: target_label ) -> ConstraintValueInfo Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_value() target. .type attribute​ Produces "ConstraintValueInfo" Details​ Provides a number of fields that can be accessed: setting: ConstraintSettingInfo - field label: target_label - field "},{"title":"DefaultInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#defaultinfo","content":"def DefaultInfo( default_output: None | artifact = None, default_outputs: None | list[artifact] = None, other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _, sub_targets: dict[str, typing.Any] = _ ) -> DefaultInfo A provider that all rules' implementations must return .type attribute​ Produces "DefaultInfo" Details​ In many simple cases, this can be inferred for the user. Example of a rule's implementation function and how these fields are used by the framework: # //foo_binary.bzl def impl(ctx): ctx.action.run([ctx.attrs._cc[RunInfo], "-o", ctx.attrs.out.as_output()] + ctx.attrs.srcs) ctx.action.run([ ctx.attrs._strip[RunInfo], "--binary", ctx.attrs.out, "--stripped-out", ctx.attrs.stripped.as_output(), "--debug-symbols-out", ctx.attrs.debug_info.as_output(), ]) return [ DefaultInfo( sub_targets = { "stripped": [ DefaultInfo(default_outputs = [ctx.attrs.stripped, ctx.attrs.debug_info]), ], }, default_output = ctx.attrs.out, ] foo_binary = rule( impl=impl, attrs={ "srcs": attrs.list(attrs.source()), "out": attrs.output(), "stripped": attrs.output(), "debug_info": attrs.output(), "_cc": attrs.dep(default="//tools:cc", providers=[RunInfo]), "_strip_script": attrs.dep(default="//tools:strip", providers=[RunInfo]) ) def foo_binary_wrapper(name, srcs): foo_binary( name = name, srcs = src, out = name, stripped = name + ".stripped", debug_info = name + ".debug_info", ) # //subdir/BUCK load("//:foo_binary.bzl", "foo_binary_wrapper") genrule(name = "gen_stuff", ...., default_outs = ["foo.cpp"]) # ":gen_stuff" pulls the default_outputs for //subdir:gen_stuff foo_binary_wrapper(name = "foo", srcs = glob(["*.cpp"]) + [":gen_stuff"]) # Builds just 'foo' binary. The strip command is never invoked. $ buck build //subdir:foo # builds the 'foo' binary, because it is needed by the 'strip' command. Ensures that # both the stripped binary and the debug symbols are built. $ buck build //subdir:foo[stripped] Provides a number of fields that can be accessed: sub_targets: dict[str, provider_collection] - A mapping of names to ProviderCollections. The keys are used when resolving the ProviderName portion of a ProvidersLabel in order to access the providers for a subtarget, such as when doing buck2 build cell//foo:bar[baz]. Just like any ProviderCollection, this collection must include at least a DefaultInfo provider. The subtargets can have their own subtargets as well, which can be accessed by chaining them, e.g.: buck2 build cell//foo:bar[baz][qux]. default_outputs: list[artifact] - A list of Artifacts that are built by default if this rule is requested explicitly, or depended on as as a "source". other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] - A list of ArtifactTraversable. The underlying Artifacts they define will be built by default if this rule is requested, but not when it's depended on as as a "source". ArtifactTraversable can be an Artifact (which yields itself), or cmd_args, which expand to all their inputs. "},{"title":"Dependency​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#dependency","content":"Dependency: type "},{"title":"DynamicActions​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#dynamicactions","content":"DynamicActions: type "},{"title":"DynamicActionsCallable​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#dynamicactionscallable","content":"DynamicActionsCallable: type "},{"title":"ExecutionPlatformInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#executionplatforminfo","content":"def ExecutionPlatformInfo( *, label: target_label, configuration: ConfigurationInfo, executor_config: command_executor_config ) -> ExecutionPlatformInfo Provider that signals that a target represents an execution platform. Provides a number of fields that can be accessed: label: target_label - label of the defining rule, used in informative messages configuration: ConfigurationInfo - The configuration of the execution platform executor_config: command_executor_config - The executor config "},{"title":"ExecutionPlatformRegistrationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#executionplatformregistrationinfo","content":"def ExecutionPlatformRegistrationInfo( *, platforms: list[ExecutionPlatformInfo], fallback = None ) -> ExecutionPlatformRegistrationInfo Provider that gives the list of all execution platforms available for this build. Provides a number of fields that can be accessed: platforms: list[ExecutionPlatformInfo] - field fallback: typing.Any - field "},{"title":"ExternalRunnerTestInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#externalrunnertestinfo","content":"def ExternalRunnerTestInfo( type, command = None, env = None, labels = None, contacts = None, use_project_relative_paths = None, run_from_project_root = None, default_executor = None, executor_overrides = None, local_resources = None, worker = None ) -> ExternalRunnerTestInfo Provider that signals that a rule can be tested using an external runner. This is the Buck1-compatible API for tests. .type attribute​ Produces "ExternalRunnerTestInfo" Details​ Provides a number of fields that can be accessed: test_type: str - A Starlark value representing the type of this test. command: list[typing.Any] - A Starlark value representing the command for this test. The external test runner is what gives meaning to this command. env: dict[str, typing.Any] - A Starlark value representing the environment for this test. Here again, the external test runner is what will this meaning. This is of type dict[str, ArgLike]. labels: list[str] - A starlark value representing the labels for this test. contacts: list[str] - A starlark value representing the contacts for this test. This is largely expected to be an oncall, though it's not validated in any way. use_project_relative_paths: bool - Whether this test should use relative paths run_from_project_root: bool - Whether this test should run from the project root, as opposed to the cell rootDefaults to True. default_executor: command_executor_config - Default executor to use to run tests. If none is passed we will default to the execution platform. executor_overrides: dict[str, command_executor_config] - Executors that Tpx can use to override the default executor. local_resources: dict[str, None | label] - Mapping from a local resource type to a target with a corresponding provider. Required types are passed from test runner. If the value for a corresponding type is omitted it means local resource should be ignored when executing tests even if those are passed as required from test runner. worker: WorkerInfo - Configuration needed to spawn a new worker. This worker will be used to run every single command related to test execution, including listing. "},{"title":"InstallInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#installinfo","content":"def InstallInfo(installer: label, files: dict[str, artifact]) -> InstallInfo A provider that can be constructed and have its fields accessed. Returned by rules. Provides a number of fields that can be accessed: installer: label - field files: dict[str, artifact] - field "},{"title":"Label​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#label","content":"Label: type "},{"title":"LocalResourceInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#localresourceinfo","content":"def LocalResourceInfo( *, setup: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, resource_env_vars: dict[str, str], setup_timeout_seconds: None | float | int = None ) -> LocalResourceInfo A provider that can be constructed and have its fields accessed. Returned by rules. .type attribute​ Produces "LocalResourceInfo" Details​ Provides a number of fields that can be accessed: setup: cmd_args - Command to run to initialize a local resource. Running this command writes a JSON to stdout. This JSON represents a pool of local resources which are ready to be used. Example JSON would be: { "pid": 42, "resources": [ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ] } Where '"pid"maps to a PID of a process which should be sent SIGTERM to release the pool of resources when they are no longer needed."resources"maps to the pool of resources. When a local resource from this particular pool is needed for an execution command, single entity will be reserved from the pool, for example{"socket_address": "bar:2"}and environment variable with name resolved using mapping inresource_env_varsfield and"socket_address"` key will be added to execution command. resource_env_vars: dict[str, str] - Mapping from environment variable (appended to an execution command which is dependent on this local resource) to keys in setup command JSON output. setup_timeout_seconds: None | float | int - Timeout in seconds for setup command. "},{"title":"OutputArtifact​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#outputartifact","content":"OutputArtifact: type "},{"title":"PlatformInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#platforminfo","content":"def PlatformInfo( *, label: str, configuration: ConfigurationInfo ) -> PlatformInfo A provider that can be constructed and have its fields accessed. Returned by rules. .type attribute​ Produces "PlatformInfo" Details​ Provides a number of fields that can be accessed: label: str - field configuration: ConfigurationInfo - field "},{"title":"ProjectRoot​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#projectroot","content":"ProjectRoot: type "},{"title":"Promise​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#promise","content":"Promise: type "},{"title":"Provider​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#provider","content":"Provider: type "},{"title":"ProviderCollection​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#providercollection","content":"ProviderCollection: type "},{"title":"ProvidersLabel​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#providerslabel","content":"ProvidersLabel: type "},{"title":"ResolvedStringWithMacros​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#resolvedstringwithmacros","content":"ResolvedStringWithMacros: type "},{"title":"RunInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#runinfo","content":"def RunInfo( args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _ ) -> RunInfo Provider that signals that a rule is runnable .type attribute​ Produces "RunInfo" Details​ Provides a number of fields that can be accessed: args: cmd_args - The command to run, stored as CommandLine "},{"title":"Select​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#select","content":"Select: type "},{"title":"TargetLabel​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#targetlabel","content":"TargetLabel: type "},{"title":"TemplatePlaceholderInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#templateplaceholderinfo","content":"def TemplatePlaceholderInfo( unkeyed_variables = {}, keyed_variables = {} ) -> TemplatePlaceholderInfo A provider that is used for expansions in string attribute templates .type attribute​ Produces "TemplatePlaceholderInfo" Details​ String attribute templates allow two types of user-defined placeholders, "unkeyed placeholders" like $(CXX) or $(aapt) and "keyed placeholders" that include a target key like$(cxxppflags //some:target). The expansion of each of these types is based on theTemplatePlaceholderInfo providers. "keyed placeholders" are used for the form $(<key> <target>) or $(<key> <target> <arg>). In both cases the lookup will expect a TemplatePlaceholderInfo in the providers of <target>. It will then lookup<key> in the keyed_variables (call this the value). There are then four valid possibilities: no-arg placeholder, an arg-like value: resolve to valueno-arg placeholder, a dictionary value: resolve to value["DEFAULT"]arg placeholder, a non-dictionary value: this is an errorarg placeholder, a dictionary value: resolve to value[<arg>] "unkeyed placeholders" are resolved by matching to any of the deps of the target. $(CXX) will resolve to the "CXX" value in any dep's TemplateProviderInfo.unkeyed_variables Fields: unkeyed_variables: A mapping of names to arg-like values. These are used for "unkeyed placeholder" expansion.keyed_variables: A mapping of names to arg-like values or dictionary of string to arg-like values. These are used for "keyed placeholder" expansion. Provides a number of fields that can be accessed: unkeyed_variables: dict[str, typing.Any] - field keyed_variables: dict[str, typing.Any] - field "},{"title":"TransitiveSet​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitiveset","content":"TransitiveSet: type "},{"title":"TransitiveSetArgsProjection​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitivesetargsprojection","content":"TransitiveSetArgsProjection: type "},{"title":"TransitiveSetArgsProjectionIterator​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitivesetargsprojectioniterator","content":"TransitiveSetArgsProjectionIterator: type "},{"title":"TransitiveSetDefinition​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitivesetdefinition","content":"TransitiveSetDefinition: type "},{"title":"TransitiveSetIterator​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitivesetiterator","content":"TransitiveSetIterator: type "},{"title":"TransitiveSetJsonProjection​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitivesetjsonprojection","content":"TransitiveSetJsonProjection: type "},{"title":"ValidationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#validationinfo","content":"def ValidationInfo(*, validations: list[ValidationSpec]) -> ValidationInfo Provider describing how a given target node should be validated. Validations are run when target with ValidationInfo provider is a transitive dependency of a requested target. .type attribute​ Produces "ValidationInfo" Details​ Provides a number of fields that can be accessed: validations: list[ValidationSpec] - List of ValidationSpec values each representing a single validation. "},{"title":"ValidationSpec​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#validationspec","content":"def ValidationSpec( *, name: str, validation_result: artifact, optional: bool = False ) -> ValidationSpec .type attribute​ Produces "ValidationSpec" "},{"title":"WorkerInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#workerinfo","content":"def WorkerInfo(exe = [], *, concurrency: None | int = None) -> WorkerInfo Provider that signals that a rule is a worker tool .type attribute​ Produces "WorkerInfo" Details​ Provides a number of fields that can be accessed: exe: cmd_args - field concurrency: None | int - field "},{"title":"WorkerRunInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#workerruninfo","content":"def WorkerRunInfo(*, worker: WorkerInfo, exe = []) -> WorkerRunInfo Provider that signals that a rule can run using a worker .type attribute​ Produces "WorkerRunInfo" Details​ Provides a number of fields that can be accessed: worker: WorkerInfo - field exe: cmd_args - field "},{"title":"anon_rule​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#anon_rule","content":"def anon_rule( *, impl: typing.Callable[[typing.Any], list[typing.Any]], attrs: dict[str, attribute], doc: str = "", artifact_promise_mappings: dict[str, typing.Callable[[typing.Any], list[typing.Any]]] ) -> "function" Define an anon rule, similar to how a normal rule is defined, except with an extra artifact_promise_mappings field. This is a dict where the keys are the string name of the artifact, and the values are the callable functions that produce the artifact. This is only intended to be used with anon targets. "},{"title":"attrs​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#attrs","content":"attrs: attrs "},{"title":"bxl​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#bxl","content":"bxl: struct(ActionQueryNode = type, Actions = type, AnalysisResult = type, AqueryContext = type, AuditContext = type, BuildResult = type, CliArgs = type, ConfiguredTargetNode = type, ConfiguredTargetSet = type, Context = type, CqueryContext = type, EnsuredArtifact = type, FileNode = type, Filesystem = type, LazyResolvedAttrs = type, OutputStream = type, TargetUniverse = type, UnconfiguredTargetNode = type, UnconfiguredTargetSet = type, UqueryContext = type, cli_args = struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function"), ctarget_set = "function", fail_no_stacktrace = "function", file_set = "function", get_path_without_materialization = "function", get_paths_without_materialization = "function", now = "function", utarget_set = "function") "},{"title":"bxl_main​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#bxl_main","content":"def bxl_main( *, impl: typing.Callable, cli_args: dict[str, bxl.CliArgs], doc: str = "" ) "},{"title":"cli_args​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#cli_args","content":"cli_args: struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function") "},{"title":"cmd_args​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#cmd_args","content":"def cmd_args( *args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, hidden: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _, delimiter: str = _, format: str = _, prepend: str = _, quote: str = _, ignore_artifacts: bool = False, absolute_prefix: str = _, absolute_suffix: str = _, parent: int = 0, relative_to: artifact | cell_root | project_root | (artifact | cell_root | project_root, int) = _, replace_regex: list[(buck_regex | str, str)] | (buck_regex | str, str) = _ ) -> cmd_args The cmd_args type is created by this function and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value. .type attribute​ Produces "cmd_args" Details​ The arguments are: *args - a list of things to add to the command line, each of which must be coercible to a command line. Further items can be added with cmd.add.format - a string that provides a format to apply to the argument. for example, cmd_args(x, format="--args={}") would prepend --args= before x, or if x was a list, before each element in x.delimiter - added between arguments to join them together. For example, cmd_args(["--args=",x], delimiter="") would produce a single argument to the underlying tool.prepend - added as a separate argument before each argument.quote - indicates whether quoting is to be applied to each argument. The only current valid value is "shell".ignore_artifacts - if True, artifacts paths are used, but artifacts are not pulled.hidden - artifacts not present on the command line, but added as dependencies.absolute_prefix and absolute_suffix - added to the start and end of each artifact.parent - for all the artifacts use their parentth directory (e.g. parent = 1 for the directory the artifact is located, parent = 2 for that directory's parent, etc.).relative_to - make all artifact paths relative to a given location.replace_regex - replaces arguments with a regular expression. "},{"title":"ignore_artifacts​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#ignore_artifacts","content":"ignore_artifacts=True makes cmd_args to have no declared dependencies. Allows you to reference the path of an artifact without introducing dependencies on it. As an example where this can be useful, consider passing a dependency that is only accessed at runtime, but whose path must be baked into the binary. As an example: resources = cmd_args(resource_file, format = "-DFOO={}").ignore_artifacts() ctx.actions.run(cmd_args("gcc", "-c", source_file, resources)) Note that ignore_artifacts sets all artifacts referenced by this cmd_args to be ignored, including those added afterwards, so generally create a special cmd_args and scope it quite tightly. If you actually do use the inputs referenced by this command, you will either error out due to missing dependencies (if running actions remotely) or have untracked dependencies that will fail to rebuild when it should. "},{"title":"hidden​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#hidden","content":"Things to add to the command line which do not show up but are added as dependencies. The values can be anything normally permissible to pass to add. Typically used if the command you are running implicitly depends on files that are not passed on the command line, e.g. headers in the case of a C compilation. "},{"title":"absolute_prefix and absolute_suffix​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#absolute_prefix-and-absolute_suffix","content":"Adds a prefix to the start or end of every artifact. Prefix is often used if you have a $ROOT variable in a shell script and want to use it to make files absolute. Suffix is often used in conjunction with absolute_prefixto wrap artifacts in function calls. cmd_args(script, absolute_prefix = "$ROOT/") cmd_args(script, absolute_prefix = "call", absolute_suffix = ")") `parent ` For all the artifacts use their parent directory. Typically used when the file name is passed one way, and the directory another, e.g. cmd_args(artifact, format="-L{}", parent=1). relative_to=dir or relative_to=(dir, parent) Make all artifact paths relative to a given location. Typically used when the command you are running changes directory. By default, the paths are relative to the artifacts themselves (equivalent to parent equals to 0). Use parent to make the paths relative to an ancestor directory. For example parent equals to 1 would make all paths relative to the containing dirs of any artifacts in the cmd_args. dir = symlinked_dir(...) script = [ cmd_args(dir, format = "cd {}", relative_to=dir), ] replace_regex Replaces all parts matching pattern regular expression (or regular expressions) in each argument with replacement strings. "},{"title":"ctarget_set​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#ctarget_set","content":"def ctarget_set(nodes: list[bxl.ConfiguredTargetNode] = _) -> target_set Creates a target set from a list of configured nodes. Sample usage: def _impl_ctarget_set(ctx): targets = bxl.ctarget_set([cnode_a, cnode_b]) ctx.output.print(type(targets)) ctx.output.print(len(targets)) "},{"title":"dedupe​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#dedupe","content":"def dedupe(val, /) Remove duplicates in a list. Uses identity of value (pointer), rather than by equality. In many cases you should use a transitive set instead. "},{"title":"dynamic_actions​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#dynamic_actions","content":"def dynamic_actions( *, impl: typing.Callable["actions: actions, artifacts: dict[artifact, artifact_value], outputs: dict[artifact, artifact], arg: typing.Any", None] ) -> DynamicActionCallable Create new dynamic action callable. Returned object will be callable, and the result of calling it can be passed to ctx.actions.dynamic_output_new. "},{"title":"fail_no_stacktrace​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#fail_no_stacktrace","content":"def fail_no_stacktrace(*args) -> None "},{"title":"file_set​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#file_set","content":"def file_set() -> file_set Creates an empty file set for configured nodes. Sample usage: def _impl_file_set(ctx): files = file_set() ctx.output.print(type(files)) ctx.output.print(len(files)) "},{"title":"get_base_path​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#get_base_path","content":"def get_base_path() -> str get_base_path() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar. This function is identical to package_name. "},{"title":"get_cell_name​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#get_cell_name","content":"def get_cell_name() -> str get_cell_name() can be called from either a BUCK file or a .bzl file, and returns the name of the cell where the BUCK file that started the call lives. For example, inside foo//bar/baz/BUCK the output will be foo. If that BUCK file does a load("hello//world.bzl", "something") then the result in that .bzl file will also be foo. "},{"title":"get_path_without_materialization​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#get_path_without_materialization","content":"def get_path_without_materialization( this: artifact, ctx: bxl.Context, /, *, abs: bool = False ) -> str The output path of an artifact-like (source, build, declared). Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized (i.e. it may not actually exist on the disk yet). This is a risky function to call because you may accidentally pass this path to further BXL actions that expect the artifact to be materialized. If this happens, the BXL script will error out. If you want the path without materialization for other uses that don’t involve passing them into further actions, then it’s safe. Sample usage: def _impl_get_path_without_materialization(ctx): owner = ctx.cquery().owner("cell//path/to/file")[0] artifact = owner.get_source("cell//path/to/file", ctx) source_artifact_project_rel_path = get_path_without_materialization(artifact, ctx) ctx.output.print(source_artifact_project_rel_path) # Note this artifact is NOT ensured or materialized "},{"title":"get_paths_without_materialization​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#get_paths_without_materialization","content":"def get_paths_without_materialization( cmd_line: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo, ctx: bxl.Context, /, *, abs: bool = False ) The output paths of a cmd_args() inputs. The output paths will be returned as a list. Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized, (i.e. it may not actually exist on the disk yet). This is a risky function to call because you may accidentally pass this path to further BXL actions that expect the artifact to be materialized. If this happens, the BXL script will error out. If you want the path without materialization for other uses that don’t involve passing them into further actions, then it’s safe. Sample usage: def _impl_get_paths_without_materialization(ctx): node = ctx.configured_targets("root//bin:the_binary") providers = ctx.analysis(node).providers() path = get_paths_without_materialization(providers[RunInfo], abs=True) # Note this artifact is NOT ensured or materialized ctx.output.print(path) "},{"title":"glob​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#glob","content":"def glob( include: list[str] | tuple[str, ...], *, exclude: list[str] | tuple[str, ...] = [] ) -> list[str] The glob() function specifies a set of files using patterns. Only available from BUCK files. A typical glob call looks like: glob(["foo/**/*.h"]) This call will match all header files in the foo directory, recursively. You can also pass a named exclude parameter to remove files matching a pattern: glob(["foo/**/*.h"], exclude = ["**/config.h"]) This call will remove all config.h files from the initial match. The glob() call is evaluated against the list of files owned by this BUCK file. A file is owned by whichever BUCK file is closest above it - so given foo/BUCK andfoo/bar/BUCK the file foo/file.txt would be owned by foo/BUCK (and available from its glob results) but the file foo/bar/file.txt would be owned by foo/bar/BUCkand not appear in the glob result of foo/BUCK, even if you write glob(["bar/file.txt"]). As a consequence of this rule, glob(["../foo.txt"]) will always return an empty list of files. Currently glob is evaluated case-insensitively on all file systems, but we expect that to change to case sensitive in the near future. "},{"title":"host_info​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#host_info","content":"def host_info() -> struct(..) The host_info() function is used to get the current OS and processor architecture on the host. The structure returned is laid out thusly: struct( os=struct( is_linux=True|False, is_macos=True|False, is_windows=True|False, is_freebsd=True|False, is_unknown=True|False, ), arch=struct( is_aarch64=True|False, is_arm=True|False, is_armeb=True|False, is_i386=True|False, is_mips=True|False, is_mips64=True|False, is_mipsel=True|False, is_mipsel64=True|False, is_powerpc=True|False, is_ppc64=True|False, is_x86_64=True|False, is_unknown=True|False, ), ) "},{"title":"implicit_package_symbol​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#implicit_package_symbol","content":"def implicit_package_symbol(name: str, default = _) "},{"title":"load_symbols​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#load_symbols","content":"def load_symbols(symbols: dict[str, typing.Any]) -> None Used in a .bzl file to set exported symbols. In most cases just defining the symbol as a top-level binding is sufficient, but sometimes the names might be programatically generated. It is undefined behaviour if you try and use any of the symbols exported here later in the same module, or if they overlap with existing definitions. This function should be used rarely. "},{"title":"now​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#now","content":"def now() -> instant Creates an Instant at the current time. Sample usage: def _impl_elapsed_millis(ctx): instant = now() time_a = instant.elapsed_millis() # do something that takes a long time time_b = instant.elapsed_millis() ctx.output.print(time_a) ctx.output.print(time_b) This function is only accessible through Bxl. "},{"title":"oncall​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#oncall","content":"def oncall(name: str, /) -> None Called in a BUCK file to declare the oncall contact details for all the targets defined. Must be called at most once, before any targets have been declared. Errors if called from a .bzl file. "},{"title":"package​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#package","content":"def package( *, inherit: bool = False, visibility: list[str] | tuple[str, ...] = [], within_view: list[str] | tuple[str, ...] = [] ) -> None "},{"title":"package_name​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#package_name","content":"def package_name() -> str package_name() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar. "},{"title":"plugins​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#plugins","content":"plugins: plugins "},{"title":"provider​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#provider-1","content":"def provider( *, doc: str = "", fields: list[str] | tuple[str, ...] | dict[str, typing.Any] ) -> provider_callable Create a "provider" type that can be returned from rule implementations. Used to pass information from a rule to the things that depend on it. Typically named with an Info suffix. GroovyLibraryInfo(fields = [ "objects", # a list of artifacts "options", # a string containing compiler options ]) Given a dependency you can obtain the provider with my_dep[GroovyLibraryInfo]which returns either None or a value of type GroovyLibraryInfo. For providers that accumulate upwards a transitive set is often a good choice. "},{"title":"provider_field​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#provider_field","content":"def provider_field( ty, /, *, default = _ ) -> ProviderField Create a field definition object which can be passed to provider type constructor. "},{"title":"read_config​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#read_config","content":"def read_config(section: str, key: str, default = _) Read a configuration from the nearest enclosing .buckconfig of the BUCK file that started evaluation of this code. As an example, if you have a .buckconfig of: [package_options] compile = super_fast Then you would get the following results: read_config("package_options", "compile") == "super_fast" read_config("package_options", "linker") == None read_config("package_options", "linker", "a_default") == "a_default" In general the use of .buckconfig is discouraged in favour of select, but it can still be useful. "},{"title":"read_oncall​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#read_oncall","content":"def read_oncall() -> None | str Called in a BUCK file to retrieve the previously set oncall, or None if none has been set. It is an error to call oncall after calling this function. "},{"title":"read_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#read_package_value","content":"def read_package_value(key: str, /) Read value specified in the PACKAGE file. Returns None if value is not set. "},{"title":"read_parent_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#read_parent_package_value","content":"def read_parent_package_value(key: str, /) Read a package value defined in a parent PACKAGE file. This function can only be called in a Package context. Returns None if value is not set. "},{"title":"read_root_config​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#read_root_config","content":"def read_root_config( section: str, key: str, default: None | str = None, / ) -> None | str Like read_config but the project root .buckconfig is always consulted, regardless of the cell of the originating BUCK file. "},{"title":"regex​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#regex","content":"def regex( regex: str, /, *, fancy: bool = False ) -> buck_regex .type attribute​ Produces "buck_regex" "},{"title":"regex_match​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#regex_match","content":"def regex_match(regex: str, str: str, /) -> bool Test if a regular expression matches a string. Fails if the regular expression is malformed. As an example: regex_match("^[a-z]*$", "hello") == True regex_match("^[a-z]*$", "1234") == False "},{"title":"repository_name​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#repository_name","content":"def repository_name() -> str Like get_cell_name() but prepends a leading @ for compatibility with Buck1. You should call get_cell_name() instead, and if you really want the @, prepend it yourself. "},{"title":"rule​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#rule","content":"def rule( *, impl: typing.Callable[[typing.Any], list[typing.Any]], attrs: dict[str, attribute], cfg = _, doc: str = "", is_configuration_rule: bool = False, is_toolchain_rule: bool = False, uses_plugins: list[typing.Any] | tuple = [] ) -> "function" Define a rule. As a simple example: def _my_rule(ctx: AnalysisContext) -> list[Provider]: output = ctx.actions.write("hello.txt", ctx.attrs.contents, executable = ctx.attrs.exe) return [DefaultInfo(outputs = [output])] MyRule = rule(impl = _my_rule, attrs = { "contents": attrs.string(), "exe": attrs.option(attrs.bool(), default = False), }) "},{"title":"rule_exists​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#rule_exists","content":"def rule_exists(name: str) -> bool Check if the target with name has already been defined, returns True if it has. Note that this function checks for the existence of a target rather than a rule. In general use of this function is discouraged, as it makes definitions of rules not compose. "},{"title":"select​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#select-1","content":"def select(d, /) -> selector "},{"title":"select_equal_internal​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#select_equal_internal","content":"def select_equal_internal(left, right, /) -> bool Tests that two selects are equal to each other. For testing use only. We simply compare their string representations. "},{"title":"select_map​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#select_map","content":"def select_map(d, func, /) Maps a selector. Each value within a selector map and on each side of an addition will be passed to the mapping function. The returned selector will have the same structure as this one. Ex: def increment_items(a): return [v + 1 for v in a] select_map([1, 2] + select({"c": [2]}), increment_items) == [2, 3] + select({"c": [3]}) "},{"title":"select_test​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#select_test","content":"def select_test(d, func, /) -> bool Test values in the select expression using the given function. Returns True, if any value in the select passes, else False. Ex: select_test([1] + select({"c": [1]}), lambda a: len(a) > 1) == False select_test([1, 2] + select({"c": [1]}), lambda a: len(a) > 1) == True select_test([1] + select({"c": [1, 2]}), lambda a: len(a) > 1) == True "},{"title":"set_cfg_constructor​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#set_cfg_constructor","content":"def set_cfg_constructor( *, stage0, stage1, key: str, aliases = None ) -> None Register global cfg constructor. This function can only be called from the repository root PACKAGE file. Parameters: stage0: The first cfg constructor that will be invoked before configuration rules are analyzed. stage1: The second cfg constructor that will be invoked after configuration rules are analyzed. key: The key for cfg modifiers on PACKAGE values and metadata. "},{"title":"set_starlark_peak_allocated_byte_limit​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#set_starlark_peak_allocated_byte_limit","content":"def set_starlark_peak_allocated_byte_limit(value: int, /) -> None Set the peak allocated bytes during evaluation of build ctx. Err if it has already been set "},{"title":"sha256​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#sha256","content":"def sha256(val: str, /) -> str Computes a sha256 digest for a string. Returns the hex representation of the digest. sha256("Buck2 is the best build system") == "bb99a3f19ecba6c4d2c7cd321b63b669684c713881baae21a6b1d759b3ec6ac9" "},{"title":"soft_error​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#soft_error","content":"def soft_error( category: str, message: str, /, *, quiet: bool = _, stack: bool = _ ) -> None Produce an error that will become a hard error at some point in the future, but for now is a warning which is logged to the server. In the open source version of Buck2 this function always results in an error. Called passing a stable key (must be snake_case and start with starlark_, used for consistent reporting) and an arbitrary message (used for debugging). As an example: soft_error( "starlark_rule_is_too_long", "Length of property exceeds 100 characters in " + repr(ctx.label), ) "},{"title":"transition​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transition","content":"def transition( *, impl: typing.Callable, refs: dict[str, str], attrs: list[str] | tuple[str, ...] = _, split: bool = False ) -> transition "},{"title":"transitive_set​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitive_set","content":"def transitive_set( *, args_projections: dict[str, typing.Any] = _, json_projections: dict[str, typing.Any] = _, reductions: dict[str, typing.Any] = _ ) -> transitive_set_definition "},{"title":"utarget_set​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#utarget_set","content":"def utarget_set(nodes: list[bxl.UnconfiguredTargetNode] = _) -> target_set Creates a target set from a list of unconfigured nodes. Sample usage: def _impl_utarget_set(ctx): targets = bxl.utarget_set([unode_a, unode_b]) ctx.output.print(type(targets)) ctx.output.print(len(targets)) "},{"title":"warning​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#warning","content":"def warning(x: str, /) -> None Print a warning. The line will be decorated with the timestamp and other details, including the word WARN (colored, if the console supports it). If you are not writing a warning, use print instead. Be aware that printing lots of output (warnings or not) can be cause all information to be ignored by the user. "},{"title":"write_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#write_package_value","content":"def write_package_value( key: str, value, /, *, overwrite: bool = False ) -> None Set the value to be accessible in the nested PACKAGE files. If any parent PACKAGE value has already set the same key, it will raise an error unless you pass overwrite = True, in which case it will replace the parent value. "},{"title":"cmd_args type","type":0,"sectionRef":"#","url":"/docs/api/bxl/cmd_args/","content":"","keywords":""},{"title":"cmd_args.add​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/bxl/cmd_args/#cmd_argsadd","content":"def cmd_args.add(*args) -> cmd_args A list of arguments to be added to the command line, which may including cmd_args, artifacts, strings, RunInfo or lists thereof. Note that this operation mutates the input cmd_args. "},{"title":"cmd_args.copy​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/bxl/cmd_args/#cmd_argscopy","content":"def cmd_args.copy() -> cmd_args Returns a copy of the cmd_args such that any modifications to the original or the returned value will not impact each other. Note that this is a shallow copy, so any inner cmd_args can still be modified. "},{"title":"cmd_args.inputs​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/bxl/cmd_args/#cmd_argsinputs","content":"cmd_args.inputs: command_line_inputs Collect all the inputs (including hidden) referenced by this command line. The output can be compared for equality and have its len requested to see whether there are any inputs, but is otherwise mostly opaque. "},{"title":"cmd_args.outputs​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/bxl/cmd_args/#cmd_argsoutputs","content":"cmd_args.outputs: list[output_artifact] Collect all the outputs (including hidden) referenced by this command line. "},{"title":"cmd_args.relative_to​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/bxl/cmd_args/#cmd_argsrelative_to","content":"def cmd_args.relative_to( directory: artifact | cell_root | project_root, /, *, parent: int = _ ) -> cmd_args Make all artifact paths relative to a given location. Typically used when the command you are running changes directory. By default, the paths are relative to the artifacts themselves (equivalent toparent = 0). Use parent to make the paths relative to an ancestor directory. For example parent = 1 would make all paths relative to the containing dirs of any artifacts in the cmd_args. dir = symlinked_dir(...) script = [ cmd_args(cmd_args(dir, format = "cd {}"), original_script.relative_to(dir) ] "},{"title":"bxl.UnconfiguredTargetNode type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/","content":"","keywords":""},{"title":"bxl.UnconfiguredTargetNode.attrs​","type":1,"pageTitle":"bxl.UnconfiguredTargetNode type","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/#bxlunconfiguredtargetnodeattrs","content":"bxl.UnconfiguredTargetNode.attrs: typing.Any Gets the coerced attributes from the unconfigured target node. Returns a struct. Sample usage: def _impl_attributes(ctx): target_node = ctx.uquery().eval("owner('path/to/file')")[0] ctx.output.print(target_node.attrs.my_attr) "},{"title":"bxl.UnconfiguredTargetNode.buildfile_path​","type":1,"pageTitle":"bxl.UnconfiguredTargetNode type","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/#bxlunconfiguredtargetnodebuildfile_path","content":"bxl.UnconfiguredTargetNode.buildfile_path: bxl.FileNode Gets the buildfile path from the unconfigured target node. Sample usage: def _impl_label(ctx): target_node = ctx.uquery().eval("owner('path/to/file')")[0] ctx.output.print(target_node.buildfile_path) "},{"title":"bxl.UnconfiguredTargetNode.label​","type":1,"pageTitle":"bxl.UnconfiguredTargetNode type","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/#bxlunconfiguredtargetnodelabel","content":"bxl.UnconfiguredTargetNode.label: target_label Gets the label from the unconfigured target node. Sample usage: def _impl_label(ctx): target_node = ctx.uquery().eval("owner('path/to/file')")[0] ctx.output.print(target_node.label) "},{"title":"bxl.UnconfiguredTargetNode.rule_kind​","type":1,"pageTitle":"bxl.UnconfiguredTargetNode type","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/#bxlunconfiguredtargetnoderule_kind","content":"bxl.UnconfiguredTargetNode.rule_kind: str Gets the targets' corresponding rule's kind which is one of - normal (with no special properties) - configured (usable in a configuration context) - toolchain (only usable as a toolchain dep) Sample usage: def _impl_rule_kind(ctx): target_node = ctx.uquery().owner('path/to/file')[0] ctx.output.print(target_node.rule_kind) "},{"title":"bxl.UnconfiguredTargetNode.rule_type​","type":1,"pageTitle":"bxl.UnconfiguredTargetNode type","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/#bxlunconfiguredtargetnoderule_type","content":"bxl.UnconfiguredTargetNode.rule_type: str Gets the fully qualified name of the rule for this unconfigured target node as a string. This includes the import path as well. Sample usage: def _impl_rule_type(ctx): target_node = ctx.uquery().owner('path/to/file')[0] ctx.output.print(target_node.rule_type) "},{"title":"bxl.UqueryContext type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.UqueryContext/","content":"","keywords":""},{"title":"bxl.UqueryContext.allpaths​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextallpaths","content":"def bxl.UqueryContext.allpaths( from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label], to: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The allpaths query for computing all dependency paths. "},{"title":"bxl.UqueryContext.attrfilter​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextattrfilter","content":"def bxl.UqueryContext.attrfilter( attr: str, value: str, targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The attrfilter query for rule attribute filtering. "},{"title":"bxl.UqueryContext.attrregexfilter​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextattrregexfilter","content":"def bxl.UqueryContext.attrregexfilter( attribute: str, value: str, targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The attrregexfilter query for rule attribute filtering with regex. Sample usage: def _impl_attrregexfilter(ctx): filtered = ctx.uquery().attrregexfilter("foo", "he.lo", "bin/kind/...") ctx.output.print(filtered) "},{"title":"bxl.UqueryContext.buildfile​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextbuildfile","content":"def bxl.UqueryContext.buildfile( targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> file_set Find the build file(s) that defines a target or a target set. Sample usage: def _buildfile_impl(ctx): owner = ctx.uquery().owner(["bin/TARGET", "bin/kind"]) result = ctx.uquery().buildfile(owner) ctx.output.print(result) "},{"title":"bxl.UqueryContext.deps​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextdeps","content":"def bxl.UqueryContext.deps( universe: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label], depth: None | int = None, filter: None | str = None ) -> target_set The deps query for finding the transitive closure of dependencies. Sample usage: def _impl_deps(ctx): result = ctx.uquery().deps("root//bin:the_binary", 1) ctx.output.print(result) "},{"title":"bxl.UqueryContext.eval​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontexteval","content":"def bxl.UqueryContext.eval( query: str, query_args: None | target_set | list[str] = None ) Evaluates some general query string, query_args can be a target_set of unconfigured nodes, or a list of strings. Returns a dict of target labels mapped to their target_set results if query_args was passed in, otherwise returns a single target_set. Sample usage: def _impl_eval(ctx): result1 = ctx.uquery().eval("inputs(cell//path/to/file:target)") ctx.output.print(result1) result2 = ctx.uquery().eval("inputs(%s)", query_args = ["cell//path/to/file:target"]) ctx.output.print(result2) "},{"title":"bxl.UqueryContext.filter​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextfilter","content":"def bxl.UqueryContext.filter( regex: str, targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The filter query for filtering targets by name. Sample usage: def _impl_filter(ctx): result = ctx.uquery().filter(".*the_binary", "root//...") ctx.output.print(result) "},{"title":"bxl.UqueryContext.inputs​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextinputs","content":"def bxl.UqueryContext.inputs( targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> file_set The inputs query for finding input files. Sample usage: def _impl_inputs(ctx): result = ctx.uquery().inputs("root//bin:the_binary") ctx.output.print(result) "},{"title":"bxl.UqueryContext.kind​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextkind","content":"def bxl.UqueryContext.kind( regex: str, targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The kind query for filtering targets by rule type. Sample usage: def _impl_kind(ctx): kind = ctx.uquery().kind(".*1", "bin/kind/...") ctx.output.print(kind) "},{"title":"bxl.UqueryContext.owner​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextowner","content":"def bxl.UqueryContext.owner( files: file_set | str | list[str] | tuple[str, ...] ) -> target_set The owner query for finding targets that own specified files. Note that if you do not pass in a cell path (where the format is <cell>//path/to/file), the path is resolved against the cell that the BXL script lives in. If you need to evaluate a file path that lives in a different cell, you must pass in the fully qualified cell path. Sample usage: def _owner_impl(ctx): owner = ctx.uquery().owner("bin/TARGETS.fixture") ctx.output.print(owner) "},{"title":"bxl.UqueryContext.rdeps​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextrdeps","content":"def bxl.UqueryContext.rdeps( universe: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label], from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label], depth: int = _ ) -> target_set The rdeps query for finding the transitive closure of reverse dependencies. Sample usage: def _impl_rdeps(ctx): result = ctx.uquery().rdeps("root//bin:the_binary", "//lib:file1", 100) ctx.output.print(result) "},{"title":"bxl.UqueryContext.somepath​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextsomepath","content":"def bxl.UqueryContext.somepath( from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label], to: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The somepaths query, which returns the graph of nodes on some arbitrary path from a start to destination target. "},{"title":"bxl.UqueryContext.targets_in_buildfile​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontexttargets_in_buildfile","content":"def bxl.UqueryContext.targets_in_buildfile( files: file_set | str | list[str] | tuple[str, ...] ) -> target_set Given a set of buildfiles, return all targets within those buildfiles. Usage: def _targets_in_buildfile_impl(ctx): targets = ctx.uquery().targets_in_buildfile("bin/TARGETS.fixture") ctx.output.print(targets) This is subject to be removed in future in favor of a more general targets_in_packages. "},{"title":"bxl.UqueryContext.testsof​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontexttestsof","content":"def bxl.UqueryContext.testsof( targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The testsof query for listing the tests of the specified targets. Sample usage: def _testsof_impl(ctx): result = ctx.uquery().testsof("//:foo_lib") ctx.output.print(result) "},{"title":"coerced_attr type","type":0,"sectionRef":"#","url":"/docs/api/bxl/coerced_attr/","content":"","keywords":""},{"title":"coerced_attr.type​","type":1,"pageTitle":"coerced_attr type","url":"/docs/api/bxl/coerced_attr/#coerced_attrtype","content":"coerced_attr.type: str Returns the type name of the attribute Sample usage: def _impl_type(ctx): node = ctx.uquery().owner("bin/TARGETS")[0] ctx.output.print(node.attrs.name.type) "},{"title":"coerced_attr.value​","type":1,"pageTitle":"coerced_attr type","url":"/docs/api/bxl/coerced_attr/#coerced_attrvalue","content":"def coerced_attr.value() Returns the value of this attribute. Limited support of selects, concats, and explicit configuration deps at this time. Sample usage: def _impl_value(ctx): node = ctx.uquery().owner("bin/TARGETS")[0] ctx.output.print(node.attrs.name.value()) "},{"title":"configured_attr type","type":0,"sectionRef":"#","url":"/docs/api/bxl/configured_attr/","content":"","keywords":""},{"title":"configured_attr.type​","type":1,"pageTitle":"configured_attr type","url":"/docs/api/bxl/configured_attr/#configured_attrtype","content":"configured_attr.type: str Returns the type name of the attribute Sample usage: def _impl_type(ctx): node = ctx.cquery().owner("bin/TARGETS")[0] attrs = node.attrs_eager() ctx.output.print(attrs.name.type) "},{"title":"configured_attr.value​","type":1,"pageTitle":"configured_attr type","url":"/docs/api/bxl/configured_attr/#configured_attrvalue","content":"def configured_attr.value() Returns the value of this attribute. The value here is not fully resolved like in rules. Sample usage: def _impl_value(ctx): node = ctx.cquery().owner("bin/TARGETS")[0] attrs = node.attrs_eager() ctx.output.print(attrs.name.value()) "},{"title":"configured_target_label type","type":0,"sectionRef":"#","url":"/docs/api/bxl/configured_target_label/","content":"","keywords":""},{"title":"configured_target_label.cell​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelcell","content":"configured_target_label.cell: str "},{"title":"configured_target_label.config​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelconfig","content":"def configured_target_label.config() -> configuration "},{"title":"configured_target_label.name​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelname","content":"configured_target_label.name: str "},{"title":"configured_target_label.package​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelpackage","content":"configured_target_label.package: str "},{"title":"configured_target_label.path​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelpath","content":"configured_target_label.path: typing.Any "},{"title":"configured_target_label.raw_target​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelraw_target","content":"def configured_target_label.raw_target() -> target_label Returns the unconfigured underlying target label. "},{"title":"configured_target_label.with_sub_target​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelwith_sub_target","content":"def configured_target_label.with_sub_target( subtarget_name: str | list[str] = _ ) -> label Converts a ConfiguredTargetLabel into its corresponding Label given the subtarget name which is a list for each layer of subtarget Sample usage: def _impl_sub_target(ctx): owners = ctx.cquery().owner("bin/TARGETS.fixture") for owner in owners: configured_label = owner.label ctx.output.print(configured_label.with_sub_target()) ctx.output.print(configured_label.with_sub_target("subtarget1")) ctx.output.print(configured_label.with_sub_target(["subtarget1", "subtarget2"])) "},{"title":"context type","type":0,"sectionRef":"#","url":"/docs/api/bxl/context/","content":"","keywords":""},{"title":"context.actions​","type":1,"pageTitle":"context type","url":"/docs/api/bxl/context/#contextactions","content":"context.actions: actions Returns an actions value containing functions to define actual actions that are run. See the actions type for the operations that are available. "},{"title":"context.attrs​","type":1,"pageTitle":"context type","url":"/docs/api/bxl/context/#contextattrs","content":"context.attrs: struct(..) Returns the attributes of the target as a Starlark struct with a field for each attribute, which varies per rule. As an example, given a rule with the attrs argument of {"foo": attrs.string()}, this field will be a struct containing a field foo of type string. "},{"title":"context.label​","type":1,"pageTitle":"context type","url":"/docs/api/bxl/context/#contextlabel","content":"context.label: None | label Returns a label representing the target, or None if being invoked from a dynamic_output in Bxl. "},{"title":"context.plugins​","type":1,"pageTitle":"context type","url":"/docs/api/bxl/context/#contextplugins","content":"context.plugins: AnalysisPlugins An opaque value that can be indexed with a plugin kind to get a list of the available plugin deps of that kind. The rule must set an appropriate value on uses_plugins in its declaration. "},{"title":"file_set type","type":0,"sectionRef":"#","url":"/docs/api/bxl/file_set/","content":"file_set type A set of file_nodes. Supports the operations such as set addition/subtraction, length, iteration, equality and indexing.","keywords":""},{"title":"digest_config type","type":0,"sectionRef":"#","url":"/docs/api/bxl/digest_config/","content":"","keywords":""},{"title":"digest_config.allows_blake3​","type":1,"pageTitle":"digest_config type","url":"/docs/api/bxl/digest_config/#digest_configallows_blake3","content":"def digest_config.allows_blake3() -> bool "},{"title":"digest_config.allows_blake3_keyed​","type":1,"pageTitle":"digest_config type","url":"/docs/api/bxl/digest_config/#digest_configallows_blake3_keyed","content":"def digest_config.allows_blake3_keyed() -> bool "},{"title":"digest_config.allows_sha1​","type":1,"pageTitle":"digest_config type","url":"/docs/api/bxl/digest_config/#digest_configallows_sha1","content":"def digest_config.allows_sha1() -> bool "},{"title":"digest_config.allows_sha256​","type":1,"pageTitle":"digest_config type","url":"/docs/api/bxl/digest_config/#digest_configallows_sha256","content":"def digest_config.allows_sha256() -> bool "},{"title":"dependency type","type":0,"sectionRef":"#","url":"/docs/api/bxl/dependency/","content":"","keywords":""},{"title":"dependency.get​","type":1,"pageTitle":"dependency type","url":"/docs/api/bxl/dependency/#dependencyget","content":"def dependency.get(index) -> None | provider Gets a provider by indexing on a ProviderCallable object. e.g. FooInfo = provider(fields=["bar"]) .... collection.get(FooInfo) # None if absent, a FooInfo instance if present "},{"title":"dependency.label​","type":1,"pageTitle":"dependency type","url":"/docs/api/bxl/dependency/#dependencylabel","content":"dependency.label: label "},{"title":"dependency.providers​","type":1,"pageTitle":"dependency type","url":"/docs/api/bxl/dependency/#dependencyproviders","content":"dependency.providers: list[typing.Any] "},{"title":"dependency.sub_target​","type":1,"pageTitle":"dependency type","url":"/docs/api/bxl/dependency/#dependencysub_target","content":"def dependency.sub_target(subtarget: str, /) -> dependency Obtain the dependency representing a subtarget. In most cases you will want to use x[DefaultInfo].sub_targets["foo"] to get the providers of the subtarget, but if you need a real Dependency type (e.g. for use with ctx.action.anon_target) then use this method. "},{"title":"ensured_artifact_group type","type":0,"sectionRef":"#","url":"/docs/api/bxl/ensured_artifact_group/","content":"","keywords":""},{"title":"ensured_artifact_group.abs_path​","type":1,"pageTitle":"ensured_artifact_group type","url":"/docs/api/bxl/ensured_artifact_group/#ensured_artifact_groupabs_path","content":"def ensured_artifact_group.abs_path() Converts each artifact in this artifact group to be printed by its absolute path. Note that this will only print out the absolute path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact group. Sample usage: def _impl_abs_path(ctx): # some target with RunInfo outputs result = ctx.analysis("root//bin/kind:target_with_outputs") ensured = ctx.output.ensure_multiple(result.providers()[RunInfo]) # currently defaults to creating an EnsuredArtifactGroup with a relative path ensured_with_abs_path = ensured.abs_path() # create a new EnsuredArtifactGroup with absolute path to reuse print(ensured_with_abs_path) # should return something like <ensured group ... > ctx.output.print(ensured_with_abs_path) # should return the absolute path of the artifact "},{"title":"ensured_artifact_group.rel_path​","type":1,"pageTitle":"ensured_artifact_group type","url":"/docs/api/bxl/ensured_artifact_group/#ensured_artifact_grouprel_path","content":"def ensured_artifact_group.rel_path() Converts each artifact in this artifact group to be printed by its path relative to the project root. Note that this will only print out the relative path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact group. Sample usage: def _impl_rel_path(ctx): # some target with RunInfo outputs result = ctx.analysis("root//bin/kind:target_with_outputs") ensured = ctx.output.ensure_multiple(result.providers()[RunInfo]) # currently defaults to creating an EnsuredArtifactGroup with a relative path ensured_with_rel_path = ensured.rel_path() # create a new EnsuredArtifact with relative path to reuse print(ensured_with_rel_path) # should return something like <ensured group ... > ctx.output.print(ensured_with_rel_path) # should return the relative path of the artifact "},{"title":"instant type","type":0,"sectionRef":"#","url":"/docs/api/bxl/instant/","content":"","keywords":""},{"title":"instant.elapsed_millis​","type":1,"pageTitle":"instant type","url":"/docs/api/bxl/instant/#instantelapsed_millis","content":"def instant.elapsed_millis() -> float Elapsed time in millis as a float Sample usage: def _impl_elapsed_millis(ctx): now = now() time_a = now.elapsed_millis() # do something that takes a long time time_b = now.elapsed_millis() ctx.output.print(time_a) ctx.output.print(time_b) "},{"title":"instant.elapsed_secs​","type":1,"pageTitle":"instant type","url":"/docs/api/bxl/instant/#instantelapsed_secs","content":"def instant.elapsed_secs() -> float Elapsed time in secs as a float Sample usage: def _impl_elapsed_secs(ctx): now = now() time_a = now.elapsed_secs() # do something that takes a long time time_b = now.elapsed_secs() ctx.output.print(time_a) ctx.output.print(time_b) "},{"title":"label_relative_path type","type":0,"sectionRef":"#","url":"/docs/api/bxl/label_relative_path/","content":"","keywords":""},{"title":"label_relative_path.add​","type":1,"pageTitle":"label_relative_path type","url":"/docs/api/bxl/label_relative_path/#label_relative_pathadd","content":"def label_relative_path.add(arg: str) -> label_relative_path "},{"title":"label type","type":0,"sectionRef":"#","url":"/docs/api/bxl/label/","content":"","keywords":""},{"title":"label.cell​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelcell","content":"label.cell: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode "},{"title":"label.cell_root​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelcell_root","content":"label.cell_root: cell_root Obtain a reference to this target label's cell root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to. "},{"title":"label.configured_target​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelconfigured_target","content":"def label.configured_target() -> configured_target_label Returns the underlying configured target label, dropping the sub target "},{"title":"label.name​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelname","content":"label.name: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back world "},{"title":"label.package​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelpackage","content":"label.package: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back buck2/hello "},{"title":"label.path​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelpath","content":"label.path: label_relative_path For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode/buck2/hello "},{"title":"label.project_root​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelproject_root","content":"label.project_root: project_root Obtain a reference to the project's root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to. "},{"title":"label.raw_target​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelraw_target","content":"def label.raw_target() -> target_label For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this returns the unconfigured underlying target label (fbcode//buck2/hello:world) "},{"title":"label.sub_target​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelsub_target","content":"label.sub_target: None | list[str] "},{"title":"lazy_attrs type","type":0,"sectionRef":"#","url":"/docs/api/bxl/lazy_attrs/","content":"","keywords":""},{"title":"lazy_attrs.get​","type":1,"pageTitle":"lazy_attrs type","url":"/docs/api/bxl/lazy_attrs/#lazy_attrsget","content":"def lazy_attrs.get(attr: str) -> None | configured_attr Gets a single attribute. Returns an optional [configured_attr]. def _impl_attrs_lazy(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.attrs_lazy() # cache once ctx.output.print(attrs.get("some_attributes").value()) ctx.output.print(attrs.get("some_attribute").label) "},{"title":"plugins type","type":0,"sectionRef":"#","url":"/docs/api/bxl/plugins/","content":"","keywords":""},{"title":"plugins.All​","type":1,"pageTitle":"plugins type","url":"/docs/api/bxl/plugins/#pluginsall","content":"plugins.All: all_plugins A special value for use with pulls_and_pushes_plugins. This value can be passed to pulls_and_pushes_plugins on any attr.dep() to indicate that all plugin kinds from the dep should be pulled and pushed. This is useful for rules likealias. This value is not supported on uses_plugins at this time, and hence it is not useful onpulls_plugins either. "},{"title":"plugins.PluginKind​","type":1,"pageTitle":"plugins type","url":"/docs/api/bxl/plugins/#pluginspluginkind","content":"plugins.PluginKind: type Type symbol for PluginKind. "},{"title":"plugins.kind​","type":1,"pageTitle":"plugins type","url":"/docs/api/bxl/plugins/#pluginskind","content":"def plugins.kind() -> PluginKind Create a new plugin kind. The value returned should always be immediately bound to a global, like MyPluginKind = plugins.kind() "},{"title":"promise type","type":0,"sectionRef":"#","url":"/docs/api/bxl/promise/","content":"","keywords":""},{"title":"promise.join​","type":1,"pageTitle":"promise type","url":"/docs/api/bxl/promise/#promisejoin","content":"def promise.join(*args) -> promise Join a set of promises together into a single promise. Given a series of promises, p4 = p1.join(p2, p3) will produce a promise where the value is promise that resolves to a tuple containing the three values, those from p1, p2 and p3 respectively. "},{"title":"promise.map​","type":1,"pageTitle":"promise type","url":"/docs/api/bxl/promise/#promisemap","content":"def promise.map(func: typing.Callable[[typing.Any], typing.Any], /) -> promise Given a promise, apply a function to the value it contains, producing a promise with the resulting value. "},{"title":"provider_collection type","type":0,"sectionRef":"#","url":"/docs/api/bxl/provider_collection/","content":"","keywords":""},{"title":"provider_collection.get​","type":1,"pageTitle":"provider_collection type","url":"/docs/api/bxl/provider_collection/#provider_collectionget","content":"def provider_collection.get(index) -> None | provider "},{"title":"providers_label type","type":0,"sectionRef":"#","url":"/docs/api/bxl/providers_label/","content":"","keywords":""},{"title":"providers_label.cell​","type":1,"pageTitle":"providers_label type","url":"/docs/api/bxl/providers_label/#providers_labelcell","content":"providers_label.cell: str "},{"title":"providers_label.name​","type":1,"pageTitle":"providers_label type","url":"/docs/api/bxl/providers_label/#providers_labelname","content":"providers_label.name: str "},{"title":"providers_label.path​","type":1,"pageTitle":"providers_label type","url":"/docs/api/bxl/providers_label/#providers_labelpath","content":"providers_label.path: typing.Any "},{"title":"providers_label.raw_target​","type":1,"pageTitle":"providers_label type","url":"/docs/api/bxl/providers_label/#providers_labelraw_target","content":"def providers_label.raw_target() -> target_label Returns the unconfigured underlying target label. "},{"title":"providers_label.sub_target​","type":1,"pageTitle":"providers_label type","url":"/docs/api/bxl/providers_label/#providers_labelsub_target","content":"providers_label.sub_target: None | list[str] "},{"title":"target_label type","type":0,"sectionRef":"#","url":"/docs/api/bxl/target_label/","content":"","keywords":""},{"title":"target_label.cell​","type":1,"pageTitle":"target_label type","url":"/docs/api/bxl/target_label/#target_labelcell","content":"target_label.cell: str "},{"title":"target_label.name​","type":1,"pageTitle":"target_label type","url":"/docs/api/bxl/target_label/#target_labelname","content":"target_label.name: str "},{"title":"target_label.package​","type":1,"pageTitle":"target_label type","url":"/docs/api/bxl/target_label/#target_labelpackage","content":"target_label.package: str "},{"title":"target_label.with_sub_target​","type":1,"pageTitle":"target_label type","url":"/docs/api/bxl/target_label/#target_labelwith_sub_target","content":"def target_label.with_sub_target( subtarget_name: str | list[str] = _ ) -> providers_label Converts a TargetLabel into its corresponding ProvidersLabel given the subtarget names, which is a list for each layer of subtarget Sample usage: def _impl_sub_target(ctx): owners = ctx.uquery().owner("bin/TARGETS.fixture") for owner in owners: unconfigured_label = owner.label ctx.output.print(unconfigured_label.with_sub_target()) ctx.output.print(unconfigured_label.with_sub_target("subtarget1")) ctx.output.print(unconfigured_label.with_sub_target(["subtarget1", "subtarget2"])) "},{"title":"StackFrame type","type":0,"sectionRef":"#","url":"/docs/api/bxl/StackFrame/","content":"","keywords":""},{"title":"StackFrame.func_name​","type":1,"pageTitle":"StackFrame type","url":"/docs/api/bxl/StackFrame/#stackframefunc_name","content":"StackFrame.func_name: str Returns the name of the entry on the call-stack. "},{"title":"StackFrame.module_path​","type":1,"pageTitle":"StackFrame type","url":"/docs/api/bxl/StackFrame/#stackframemodule_path","content":"StackFrame.module_path: None | str Returns a path of the module from which the entry was called, or [None] for native Rust functions. "},{"title":"dict type","type":0,"sectionRef":"#","url":"/docs/api/starlark/dict/","content":"","keywords":""},{"title":"dict.clear​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictclear","content":"def dict.clear() -> None dict.clear: clear a dictionary D.clear() removes all the entries of dictionary D and returns None. It fails if the dictionary is frozen or if there are active iterators. x = {"one": 1, "two": 2} x.clear() x == {} "},{"title":"dict.get​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictget","content":"def dict.get(key, default = _, /) dict.get: return an element from the dictionary. D.get(key[, default]) returns the dictionary value corresponding to the given key. If the dictionary contains no such value, getreturns None, or the value of the optional default parameter if present. get fails if key is unhashable. x = {"one": 1, "two": 2} x.get("one") == 1 x.get("three") == None x.get("three", 0) == 0 "},{"title":"dict.items​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictitems","content":"def dict.items() -> list[(typing.Any, typing.Any)] dict.items: get list of (key, value) pairs. D.items() returns a new list of key/value pairs, one per element in dictionary D, in the same order as they would be returned by a forloop. x = {"one": 1, "two": 2} x.items() == [("one", 1), ("two", 2)] "},{"title":"dict.keys​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictkeys","content":"def dict.keys() -> list[typing.Any] dict.keys: get the list of keys of the dictionary. D.keys() returns a new list containing the keys of dictionary D, in the same order as they would be returned by a for loop. x = {"one": 1, "two": 2} x.keys() == ["one", "two"] "},{"title":"dict.pop​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictpop","content":"def dict.pop(key, default = _, /) dict.pop: return an element and remove it from a dictionary. D.pop(key[, default]) returns the value corresponding to the specified key, and removes it from the dictionary. If the dictionary contains no such value, and the optional default parameter is present, popreturns that value; otherwise, it fails. pop fails if key is unhashable, or the dictionary is frozen or has active iterators. x = {"one": 1, "two": 2} x.pop("one") == 1 x == {"two": 2} x.pop("three", 0) == 0 x.pop("three", None) == None Failure: {'one': 1}.pop('four') # error: not found "},{"title":"dict.popitem​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictpopitem","content":"def dict.popitem() -> (typing.Any, typing.Any) dict.popitem: returns and removes the first key/value pair of a dictionary. D.popitem() returns the first key/value pair, removing it from the dictionary. popitem fails if the dictionary is empty, frozen, or has active iterators. x = {"one": 1, "two": 2} x.popitem() == ("one", 1) x.popitem() == ("two", 2) x == {} Failure: {}.popitem() # error: empty dict "},{"title":"dict.setdefault​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictsetdefault","content":"def dict.setdefault(key, default = _, /) dict.setdefault: get a value from a dictionary, setting it to a new value if not present. D.setdefault(key[, default]) returns the dictionary value corresponding to the given key. If the dictionary contains no such value, setdefault, like get, returns None or the value of the optional default parameter if present; setdefault additionally inserts the new key/value entry into the dictionary. setdefault fails if the key is unhashable or if the dictionary is frozen. x = {"one": 1, "two": 2} x.setdefault("one") == 1 x.setdefault("three", 0) == 0 x == {"one": 1, "two": 2, "three": 0} x.setdefault("four") == None x == {"one": 1, "two": 2, "three": 0, "four": None} "},{"title":"dict.update​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictupdate","content":"def dict.update(pairs = _, /, **kwargs) -> None dict.update: update values in the dictionary. D.update([pairs][, name=value[, ...]) makes a sequence of key/value insertions into dictionary D, then returns None. If the positional argument pairs is present, it must be None, another dict, or some other iterable. If it is another dict, then its key/value pairs are inserted into D. If it is an iterable, it must provide a sequence of pairs (or other iterables of length 2), each of which is treated as a key/value pair to be inserted into D. For each name=value argument present, the name is converted to a string and used as the key for an insertion into D, with its corresponding value being value. update fails if the dictionary is frozen. x = {} x.update([("a", 1), ("b", 2)], c=3) x.update({"d": 4}) x.update(e=5) x == {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5} "},{"title":"dict.values​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictvalues","content":"def dict.values() -> list[typing.Any] dict.values: get the list of values of the dictionary. D.values() returns a new list containing the dictionary's values, in the same order as they would be returned by a for loop over the dictionary. x = {"one": 1, "two": 2} x.values() == [1, 2] "},{"title":"list type","type":0,"sectionRef":"#","url":"/docs/api/starlark/list/","content":"","keywords":""},{"title":"list.append​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listappend","content":"def list.append(el, /) -> None list.append: append an element to a list. L.append(x) appends x to the list L, and returns None. append fails if the list is frozen or has active iterators. x = [] x.append(1) x.append(2) x.append(3) x == [1, 2, 3] "},{"title":"list.clear​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listclear","content":"def list.clear() -> None list.clear: clear a list L.clear() removes all the elements of the list L and returns None. It fails if the list is frozen or if there are active iterators. x = [1, 2, 3] x.clear() x == [] "},{"title":"list.extend​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listextend","content":"def list.extend(other: typing.Iterable, /) -> None list.extend: extend a list with another iterable's content. L.extend(x) appends the elements of x, which must be iterable, to the list L, and returns None. extend fails if x is not iterable, or if the list L is frozen or has active iterators. x = [] x.extend([1, 2, 3]) x.extend(["foo"]) x == [1, 2, 3, "foo"] "},{"title":"list.index​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listindex","content":"def list.index( needle, start: None | int = None, end: None | int = None, / ) -> int list.index: get the index of an element in the list. L.index(x[, start[, end]]) finds x within the list L and returns its index. The optional start and end parameters restrict the portion of list L that is inspected. If provided and not None, they must be list indices of type int. If an index is negative, len(L) is effectively added to it, then if the index is outside the range [0:len(L)], the nearest value within that range is used; see Indexing. index fails if x is not found in L, or if start or endis not a valid index (int or None). x = ["b", "a", "n", "a", "n", "a"] x.index("a") == 1 # bAnana x.index("a", 2) == 3 # banAna x.index("a", -2) == 5 # bananA "},{"title":"list.insert​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listinsert","content":"def list.insert(index: int, el, /) -> None list.insert: insert an element in a list. L.insert(i, x) inserts the value x in the list L at index i, moving higher-numbered elements along by one. It returns None. As usual, the index i must be an int. If its value is negative, the length of the list is added, then its value is clamped to the nearest value in the range [0:len(L)] to yield the effective index. insert fails if the list is frozen or has active iterators. x = ["b", "c", "e"] x.insert(0, "a") x.insert(-1, "d") x == ["a", "b", "c", "d", "e"] "},{"title":"list.pop​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listpop","content":"def list.pop(index: int = _, /) list.pop: removes and returns the last element of a list. L.pop([index]) removes and returns the last element of the list L, or, if the optional index is provided, at that index. pop fails if the index is negative or not less than the length of the list, of if the list is frozen or has active iterators. x = [1, 2, 3] x.pop() == 3 x.pop() == 2 x == [1] "},{"title":"list.remove​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listremove","content":"def list.remove(needle, /) -> None list.remove: remove a value from a list L.remove(x) removes the first occurrence of the value x from the list L, and returns None. remove fails if the list does not contain x, is frozen, or has active iterators. x = [1, 2, 3, 2] x.remove(2) x == [1, 3, 2] x.remove(2) x == [1, 3] A subsequent call to x.remove(2) would yield an error because the element won't be found. x = [1, 2, 3, 2] x.remove(2) x.remove(2) x.remove(2) # error: not found "},{"title":"buck-out","type":0,"sectionRef":"#","url":"/docs/concepts/buck_out/","content":"buck-out Buck2 stores build artifacts in a directory named buck-out in the root of yourproject. You should not make assumptions about where Buck2 places your build artifacts within the directory structure beneathbuck-out as these locations depend on Buck2's implementation and could potentially change over time. Instead, to obtain the location of the build artifact for a particular target, you can use one of the --show-*-outputoptions with the buck2 build orbuck2 targets commands, most commonly--show-output. For the full list of ways to show the output location, you can run buck2 build --help or buck2 targets --help. buck2 targets --show-output <target> buck2 build --show-output <target> ","keywords":""},{"title":".buckconfig","type":0,"sectionRef":"#","url":"/docs/concepts/buckconfig/","content":"","keywords":""},{"title":"Performance impact of Buck2 configuration changes​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#performance-impact-of-buck2-configuration-changes","content":"Because configuration settings are sometimes included in the cache keys that Buck2 uses in its caching system, changes to Buck's configuration can invalidate previously-built artifacts in Buck's caches. If this occurs, Buck2 rebuilds those artifacts, which can impact your build time. "},{"title":"The .buckconfig file uses the INI file format​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#the-buckconfig-file-uses-the-ini-file-format","content":"The .buckconfig file uses theINI file format. That is, it is divided into sections where each section contains a collection of key names and keyvalues. The .buckconfig implementation supports some modifications to the INI file format; these are discussed below. "},{"title":"Other INI file parsers​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#other-ini-file-parsers","content":"As mentioned previously, we have extended the INI file parser that Buck2 uses to parse configuration files. As a result, INI file parsers provided by other languages or libraries are often not able to parse Buck's configuration files successfully. "},{"title":"Dot character not supported in section names​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#dot-character-not-supported-in-section-names","content":"We do not support the use of the dot character (.) in section names within Buck2 configuration files. For example, the following is notsupported—although Buck2 does not issue a warning or error. [foo.bar] baz=1 Note that sometimes you might need to define your own custom sections, such as for platform flavors for C++ or Python. These scenarios are examples of when you should be careful not to introduce the dot character in section names. This constraint is because Buck2 uses the dot character to delimit section names and key names in other contexts such as the --config command-line parameter. "},{"title":"Character encoding​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#character-encoding","content":"To ensure that any character can be encoded in a .buckconfig key value, you can use escape sequences to encode characters that would otherwise be problematic. The following escape sequences are supported. \\\\\tbackslash\\"\tdouble quote \\n\tnewline \\r\tcarriage return \\t\ttab \\x##\tUnicode character with code point ## (in hex) \\u####\tUnicode character with code point #### (in hex) \\U########\tUnicode character with code point ######## (in hex) "},{"title":"Key values as lists​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#key-values-as-lists","content":"Although the standard INI format supports only key values that represent a single item, Buck2 supports key values that represent a list of items. The syntax is to separate the items in the list using the space (0x20) character. For example, a key value for the list of command-line flags to be passed to a compiler could be represented as a list of the flags separated by spaces: flags = -foo -bar -baz -qux When a key value is parsed as a list instead of a single item, the separator character is interpreted as a separator only when it occurs outside of double quotes. For example, if flags is a key value interpreted as a list of items separated by spaces, then flags = -foo "-bar \\u0429" results in the two strings: foo and -bar Щ; the space character between-bar and \\u0429 is not interpreted as a separator. "},{"title":"Transclusion of values from one key to another​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#transclusion-of-values-from-one-key-to-another","content":"Values from other keys can be transcluded into the current key using the following syntax inside the current key value. $(config <section>.<field>) For example, to use the [go].vendor_path in a custom setting: [custom_section]custom_value = $(config go.vendor_path) "},{"title":"Comments​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#comments","content":"In addition to the semicolon (;), you can use the pound sign (#), as a comment character in .buckconfig. "},{"title":".buckconfig.local​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#buckconfiglocal","content":"The root of your project may contain a second configuration file named .buckconfig.local. Its format is the same as that of.buckconfig, but settings in .buckconfig.local override those in.buckconfig. In practice, .buckconfig is a version-controlled file that contains settings that are applicable to all team members, whereas.buckconfig.local is excluded from version control to allow users to define personal settings, such as personal aliases. "},{"title":"Other initialization files​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#other-initialization-files","content":"In addition to the .buckconfig and .buckconfig.local files in the project root, Buck2 reads configuration settings from the following additional locations, some of which are actually directories: Directory .buckconfig.d located in the project root directory.File .buckconfig and directory .buckconfig.d located in the current user's home directory which, on Unix-like systems, is available from theHOME environment variable or through the ~ symbol.File buckconfig and directory buckconfig.d located in system directory/etc/. Buck2 treats any file—irrespective of name—in a.buckconfig.d(buckconfig.d) directory (excluding files found in subdirectories) as a Buck2 configuration file, provided that it adheres to.buckconfig syntax. Note that a .buckconfig.d directory is distinct from the similarly-named .buckd directory which is used by theBuck2 Daemon (buckd) . For a description of how Buck2 resolves collisions between settings in these configuration files, see the sectionPrecedence of Buck2 configuration specificationsbelow. "},{"title":"Command-line control of configuration​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#command-line-control-of-configuration","content":"In addition to the above configuration files, Buck2 supports specifying additional configuration files from the Buck2 command line using the--config-file parameter. You can also specify configuration settingsindividually on the Buck2 command line using the --config (-c) parameter. Furthermore, you can aggregate these settings into flag files using the--flagfile parameter. A flag file provides similar functionality to a configuration file but uses a different syntax. Flag files are sometimes calledmode files or at (@) files. "},{"title":"Precedence of Buck2 configuration specifications​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#precedence-of-buck2-configuration-specifications","content":"The following list shows the order of precedence for how Buck2 interprets its configuration specifications. Settings specified using a method closer to the top of the list have higher precedence and will override those lower on the list. For example, the .buckconfig file in the repo overrides a .buckconfigfile in the user's HOME directory. Configuration specified on the command line using --config (-c),--config-file and --flagfile. Configuration specified later on the command line overrides configuration specified earlier..buckconfig.local in the repo..buckconfig in the repo.Files in a .buckconfig.d folder of the repo..buckconfig.local in user's HOME directory.Files in a .buckconfig.d folder in user's HOME directory.The global file /etc/buckconfigFiles in the global directory /etc/buckconfig.d Files in a .buckconfig.d (buckconfig.d) directory have precedence according to the lexicographical order of their file names. Files later in the lexicographical order have precedence over files earlier in that order. "},{"title":"Configuration files can include other files​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#configuration-files-can-include-other-files","content":"Any of the configuration files that we've discussed so far can also include by reference other files that contain configuration information. These included files can contain complete .buckconfig sections or they can contain a group of key name/value pairs that constitute part of a section. In this second use case, you'll need to ensure that the included file is referenced beneath the appropriate section in the including file. Because of this additional complexity, we recommend that you include only files that contain complete sections. Note: Inclusion of files is a Buck-specific extension to the INI file parser that Buck2 uses. Therefore, if you use this feature, your Buck2 configuration files will probably not be parsable by other more-generic INI file parsers. The syntax to include a file is <file:*path-to-included-file*> where path-to-included-file is either a relative path from the including file (recommended) or an absolute path from the root of the file system. You can also specify that the file should be included only if it exists by prefixing with a question mark (?). <?file:*path-to-included-file*> If you use this prefix, it is not an error condition if the file does not exist; Buck2 just silently continues to process the rest of the configuration file. In the following example, the .buckconfig file includes the filecxx-other-platform.include which exists in the subdirectorycxx-other-platform. The .buckconfig file will also include the filefuture-platform from the directory future-platform.include if that file exists. # # .buckconfig # [cxx] cxxppflags="-D MYMACRO=\\"Buck\\"" <file:cxx-other-platform/cxx-other-platform.include> <?file:future-platform/future-platform.include> # # cxx-other-platform.include # [cxx#other_platform] cxxppflags="-D MYMACRO=\\"Watchman\\"" "},{"title":"Sections​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#sections","content":"Below is an incomplete list of supported buckconfigs. "},{"title":"[alias]​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#alias","content":"This section contains definitions of build target aliases. [alias]app = //apps/myapp:app apptest = //apps/myapp:test These aliases can then be used from the command line: $ buck2 build app $ buck2 test apptest "},{"title":"[cells]​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#cells","content":"Lists the cells that constitute the Buck2 project. Buck2 builds that are part of this project—that is, which use this .buckconfig—can access the cells specified in this section. [cells] buck = . bazel_skylib = ./third-party/skylark/bazel-skylib The string on the left-hand side of the equals sign is the alias for the cell. The string on the right-hand side of the equals sign is the path to the cell from the directory that contains this .buckconfig file. It is not necessary to include the current cell in this section, but we consider it a best practice to do so: buck = . You can view the contents of this section using the buck2 audit cell command. [repositories] is additionally supported as a deprecated alternative name for this section. "},{"title":"string type","type":0,"sectionRef":"#","url":"/docs/api/starlark/string/","content":"","keywords":""},{"title":"string.capitalize​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringcapitalize","content":"def string.capitalize() -> str string.capitalize: returns a copy of string S, where the first character (if any) is converted to uppercase; all other characters are converted to lowercase. "hello, world!".capitalize() == "Hello, world!" "Hello, World!".capitalize() == "Hello, world!" "".capitalize() == "" "},{"title":"string.codepoints​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringcodepoints","content":"def string.codepoints() -> typing.Iterable[str] string.codepoints: returns an iterable of the unicode codepoint of a string. S.codepoints() returns an iterable value containing the sequence of integer Unicode code points encoded by the string S. Each invalid code within the string is treated as if it encodes the Unicode replacement character, U+FFFD. By returning an iterable, not a list, the cost of decoding the string is deferred until actually needed; apply list(...) to the result to materialize the entire sequence. list("Hello, 世界".codepoints()) == [72, 101, 108, 108, 111, 44, 32, 19990, 30028] "},{"title":"string.count​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringcount","content":"def string.count( needle: str, start: None | int = None, end: None | int = None, / ) -> int string.count: count the number of occurrences of a string in another string. S.count(sub[, start[, end]]) returns the number of occurrences ofsub within the string S, or, if the optional substring indicesstart and end are provided, within the designated substring of S. They are interpreted according to Skylark's indexing conventions. This implementation does not count occurrence of sub in the string Sthat overlap other occurrence of S (which can happen if some suffix of S is a prefix of S). For instance, "abababa".count("aba") returns 2 for [aba]a[aba], not counting the middle occurrence: ab[aba]ba(this is following Python behavior). "hello, world!".count("o") == 2 "abababa".count("aba") == 2 "hello, world!".count("o", 7, 12) == 1 # in "world" "},{"title":"string.elems​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringelems","content":"def string.elems() -> typing.Iterable[str] string.elems: returns an iterable of the bytes values of a string. S.elems() returns an iterable value containing the sequence of numeric bytes values in the string S. To materialize the entire sequence of bytes, apply list(...) to the result. list("Hello, 世界".elems()) == ["H", "e", "l", "l", "o", ",", " ", "世", "界"] "},{"title":"string.endswith​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringendswith","content":"def string.endswith(suffix: str | tuple[str, ...], /) -> bool string.endswith: determine if a string ends with a given suffix. S.endswith(suffix) reports whether the string S has the specified suffix. "filename.sky".endswith(".sky") == True "},{"title":"string.find​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringfind","content":"def string.find( needle: str, start: None | int = None, end: None | int = None, / ) -> int string.find: find a substring in a string. S.find(sub[, start[, end]]) returns the index of the first occurrence of the substring sub within S. If either or both of start or end are specified, they specify a subrange of S to which the search should be restricted. They are interpreted according to Skylark's indexing conventions. If no occurrence is found, found returns -1. "bonbon".find("on") == 1 "bonbon".find("on", 2) == 4 "bonbon".find("on", 2, 5) == -1 "},{"title":"string.format​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringformat","content":"def string.format(*args, **kwargs) -> str string.format: format a string. S.format(*args, **kwargs) returns a version of the format string S in which bracketed portions {...} are replaced by arguments from args and kwargs. Within the format string, a pair of braces {{ or }} is treated as a literal open or close brace. Each unpaired open brace must be matched by a close brace }. The optional text between corresponding open and close braces specifies which argument to use and how to format it, and consists of three components, all optional: a field name, a conversion preceded by '!', and a format specifier preceded by ':'. {field} {field:spec} {field!conv} {field!conv:spec} The field name may be either a decimal number or a keyword. A number is interpreted as the index of a positional argument; a keyword specifies the value of a keyword argument. If all the numeric field names form the sequence 0, 1, 2, and so on, they may be omitted and those values will be implied; however, the explicit and implicit forms may not be mixed. The conversion specifies how to convert an argument value x to a string. It may be either !r, which converts the value usingrepr(x), or !s, which converts the value using str(x) and is the default. The format specifier, after a colon, specifies field width, alignment, padding, and numeric precision. Currently it must be empty, but it is reserved for future use. "a {} c".format(3) == "a 3 c" "a{x}b{y}c{}".format(1, x=2, y=3) == "a2b3c1" "a{}b{}c".format(1, 2) == "a1b2c" "({1}, {0})".format("zero", "one") == "(one, zero)" "Is {0!r} {0!s}?".format("heterological") == "Is \\"heterological\\" heterological?" "},{"title":"string.index​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringindex","content":"def string.index( needle: str, start: None | int = None, end: None | int = None, / ) -> int string.index: search a substring inside a string, failing on not found. S.index(sub[, start[, end]]) returns the index of the first occurrence of the substring sub within S, like S.find, except that if the substring is not found, the operation fails. "bonbon".index("on") == 1 "bonbon".index("on", 2) == 4 "bonbon".index("on", 2, 5) # error: not found "},{"title":"string.isalnum​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringisalnum","content":"def string.isalnum() -> bool string.isalnum: test if a string is composed only of letters and digits. S.isalnum() reports whether the string S is non-empty and consists only Unicode letters and digits. "base64".isalnum() == True "Catch-22".isalnum() == False "},{"title":"string.isalpha​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringisalpha","content":"def string.isalpha() -> bool string.isalpha: test if a string is composed only of letters. S.isalpha() reports whether the string S is non-empty and consists only of Unicode letters. "ABC".isalpha() == True "Catch-22".isalpha() == False "".isalpha() == False "},{"title":"string.isdigit​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringisdigit","content":"def string.isdigit() -> bool string.isdigit: test if a string is composed only of digits. S.isdigit() reports whether the string S is non-empty and consists only of Unicode digits. "123".isdigit() == True "Catch-22".isdigit() == False "".isdigit() == False "},{"title":"string.islower​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringislower","content":"def string.islower() -> bool string.islower: test if all letters of a string are lowercase. S.islower() reports whether the string S contains at least one cased Unicode letter, and all such letters are lowercase. "hello, world".islower() == True "Catch-22".islower() == False "123".islower() == False "},{"title":"string.isspace​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringisspace","content":"def string.isspace() -> bool string.isspace: test if all characters of a string are whitespaces. S.isspace() reports whether the string S is non-empty and consists only of Unicode spaces. " ".isspace() == True "\\r\\t\\n".isspace() == True "".isspace() == False "},{"title":"string.istitle​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringistitle","content":"def string.istitle() -> bool string.istitle: test if the string is title cased. S.istitle() reports whether the string S contains at least one cased Unicode letter, and all such letters that begin a word are in title case. "Hello, World!".istitle() == True "Catch-22".istitle() == True "HAL-9000".istitle() == False "123".istitle() == False "},{"title":"string.isupper​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringisupper","content":"def string.isupper() -> bool string.isupper: test if all letters of a string are uppercase. S.isupper() reports whether the string S contains at least one cased Unicode letter, and all such letters are uppercase. "HAL-9000".isupper() == True "Catch-22".isupper() == False "123".isupper() == False "},{"title":"string.join​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringjoin","content":"def string.join(to_join: typing.Iterable[str], /) -> str string.join: join elements with a separator. S.join(iterable) returns the string formed by concatenating each element of its argument, with a copy of the string S between successive elements. The argument must be an iterable whose elements are strings. ", ".join([]) == "" ", ".join(("x", )) == "x" ", ".join(["one", "two", "three"]) == "one, two, three" "a".join("ctmrn".elems()) == "catamaran" "},{"title":"string.lower​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringlower","content":"def string.lower() -> str string.lower: convert a string to all lowercase. S.lower() returns a copy of the string S with letters converted to lowercase. "Hello, World!".lower() == "hello, world!" "},{"title":"string.lstrip​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringlstrip","content":"def string.lstrip(chars: str = _, /) -> str string.lstrip: trim leading whitespaces. S.lstrip() returns a copy of the string S with leading whitespace removed. In most cases instead of passing an argument you should use removeprefix. " hello ".lstrip() == "hello " "x!hello ".lstrip("!x ") == "hello " "},{"title":"string.partition​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringpartition","content":"def string.partition(needle: str, /) -> (str, str, str) string.partition: partition a string in 3 components S.partition(x = " ") splits string S into three parts and returns them as a tuple: the portion before the first occurrence of string x,x itself, and the portion following it. If S does not contain x, partition returns (S, "", ""). partition fails if x is not a string, or is the empty string. "one/two/three".partition("/") == ("one", "/", "two/three") "one".partition("/") == ("one", "", "") "},{"title":"string.removeprefix​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringremoveprefix","content":"def string.removeprefix(prefix: str, /) -> str string.removeprefix: remove a prefix from a string. Not part of standard Starlark. If the string starts with the prefix string, return string[len(prefix):]. Otherwise, return a copy of the original string: "Hello, World!".removeprefix("Hello") == ", World!" "Hello, World!".removeprefix("Goodbye") == "Hello, World!" "Hello".removeprefix("Hello") == "" "},{"title":"string.removesuffix​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringremovesuffix","content":"def string.removesuffix(suffix: str, /) -> str string.removesuffix: remove a prefix from a string. Not part of standard Starlark. If the string starts with the prefix string, return string[len(prefix):]. Otherwise, return a copy of the original string: "Hello, World!".removesuffix("World!") == "Hello, " "Hello, World!".removesuffix("World") == "Hello, World!" "Hello".removesuffix("Hello") == "" "},{"title":"string.replace​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringreplace","content":"def string.replace( old: str, new: str, count: int = _, / ) -> str string.replace: replace all occurrences of a substring. S.replace(old, new[, count]) returns a copy of string S with all occurrences of substring old replaced by new. If the optional argument count, which must be an int, is non-negative, it specifies a maximum number of occurrences to replace. "banana".replace("a", "o") == "bonono" "banana".replace("a", "o", 2) == "bonona" "banana".replace("z", "x") == "banana" "banana".replace("", "x") == "xbxaxnxaxnxax" "banana".replace("", "x", 2) == "xbxanana" "".replace("", "x") == "x" "banana".replace("a", "o", -2) # error: argument was negative "},{"title":"string.rfind​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringrfind","content":"def string.rfind( needle: str, start: None | int = None, end: None | int = None, / ) -> int string.rfind: find the last index of a substring. S.rfind(sub[, start[, end]]) returns the index of the substring subwithin S, like S.find, except that rfind returns the index of the substring's last occurrence. "bonbon".rfind("on") == 4 "bonbon".rfind("on", None, 5) == 1 "bonbon".rfind("on", 2, 5) == -1 "},{"title":"string.rindex​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringrindex","content":"def string.rindex( needle: str, start: None | int = None, end: None | int = None, / ) -> int string.rindex: find the last index of a substring, failing on not found. S.rindex(sub[, start[, end]]) returns the index of the substring subwithin S, like S.index, except that rindex returns the index of the substring's last occurrence. "bonbon".rindex("on") == 4 "bonbon".rindex("on", None, 5) == 1 # in "bonbo" "bonbon".rindex("on", 2, 5) # error: not found "},{"title":"string.rpartition​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringrpartition","content":"def string.rpartition(needle: str, /) -> (str, str, str) string.rpartition: partition a string in 3 elements. S.rpartition([x = ' ']) is like partition, but splits S at the last occurrence of x. "one/two/three".rpartition("/") == ("one/two", "/", "three") "one".rpartition("/") == ("", "", "one") "},{"title":"string.rsplit​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringrsplit","content":"def string.rsplit( sep: None | str = None, maxsplit: None | int = None, / ) -> list[str] string.rsplit: splits a string into substrings. S.rsplit([sep[, maxsplit]]) splits a string into substrings likeS.split, except that when a maximum number of splits is specified,rsplit chooses the rightmost splits. "banana".rsplit("n") == ["ba", "a", "a"] "banana".rsplit("n", 1) == ["bana", "a"] "one two three".rsplit(None, 1) == ["one two", "three"] "},{"title":"string.rstrip​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringrstrip","content":"def string.rstrip(chars: str = _, /) -> str string.rstrip: trim trailing whitespace. S.rstrip() returns a copy of the string S with trailing whitespace removed. In most cases instead of passing an argument you should use removesuffix. " hello ".rstrip() == " hello" " hello!x".rstrip(" x!") == " hello" "},{"title":"string.split​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringsplit","content":"def string.split( sep: None | str = None, maxsplit: None | int = None, / ) -> list[str] string.split: split a string in substrings. S.split([sep [, maxsplit]]) returns the list of substrings of S, splitting at occurrences of the delimiter string sep. Consecutive occurrences of sep are considered to delimit empty strings, so 'food'.split('o') returns ['f', '', 'd']. Splitting an empty string with a specified separator returns ['']. If sep is the empty string, split fails. If sep is not specified or is None, split uses a different algorithm: it removes all leading spaces from S (or trailing spaces in the case of rsplit), then splits the string around each consecutive non-empty sequence of Unicode white space characters. If S consists only of white space, split returns the empty list. If maxsplit is given and non-negative, it specifies a maximum number of splits. "one two three".split() == ["one", "two", "three"] "one two three".split(" ") == ["one", "two", "", "three"] "one two three".split(None, 1) == ["one", "two three"] "banana".split("n") == ["ba", "a", "a"] "banana".split("n", 1) == ["ba", "ana"] "},{"title":"string.splitlines​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringsplitlines","content":"def string.splitlines(keepends: bool = False, /) -> list[str] string.splitlines: return the list of lines of a string. S.splitlines([keepends]) returns a list whose elements are the successive lines of S, that is, the strings formed by splitting S at line terminators ('\\n', '\\r' or '\\r\\n'). The optional argument, keepends, is interpreted as a Boolean. If true, line terminators are preserved in the result, though the final element does not necessarily end with a line terminator. "one\\n\\ntwo".splitlines() == ["one", "", "two"] "one\\n\\ntwo".splitlines(True) == ["one\\n", "\\n", "two"] "a\\nb".splitlines() == ["a", "b"] "},{"title":"string.startswith​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringstartswith","content":"def string.startswith(prefix: str | tuple[str, ...], /) -> bool string.startswith: test whether a string starts with a given prefix. S.startswith(suffix) reports whether the string S has the specified prefix. "filename.sky".startswith("filename") == True "filename.sky".startswith("sky") == False 'abc'.startswith(('a', 'A')) == True 'ABC'.startswith(('a', 'A')) == True 'def'.startswith(('a', 'A')) == False "},{"title":"string.strip​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringstrip","content":"def string.strip(chars: str = _, /) -> str string.strip: trim leading and trailing whitespaces. S.strip() returns a copy of the string S with leading and trailing whitespace removed. " hello ".strip() == "hello" "xxhello!!".strip("x!") == "hello" "},{"title":"string.title​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringtitle","content":"def string.title() -> str string.title: convert a string to title case. S.title() returns a copy of the string S with letters converted to titlecase. Letters are converted to uppercase at the start of words, lowercase elsewhere. "hElLo, WoRlD!".title() == "Hello, World!" "},{"title":"string.upper​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringupper","content":"def string.upper() -> str string.upper: convert a string to all uppercase. S.upper() returns a copy of the string S with letters converted to uppercase. "Hello, World!".upper() == "HELLO, WORLD!" "},{"title":"Build File","type":0,"sectionRef":"#","url":"/docs/concepts/build_file/","content":"Build File A build file is a file, typically named BUCK, that defines one or morebuild rules. Note that you can change the name that Buck2 uses for the build file in the buildfile section of .buckconfig. A source file in your project can only be referenced by rules in its "nearest" build file, where "nearest" means its closest direct ancestor in your project's file tree. (If a source file has a build file as a sibling, then that is its nearest ancestor.) For example, if your project had the following BUCK files: java/com/facebook/base/BUCK java/com/facebook/common/BUCK java/com/facebook/common/collect/BUCK Then your build rules would have the following constraints: Rules in java/com/facebook/base/BUCK can reference any file underjava/com/facebook/base/.Rules in java/com/facebook/common/ can reference any files under that directory, except for those under java/com/facebook/common/collect/, as those "belong" to the BUCK file in the collect directory. The set of source files accessible to a build file is also known as its build package. The way to refer to code across build packages is to create build rules and use deps to refer to that code. Going back to the previous example, suppose code in java/com/facebook/common/concurrent/ wants to depend on code in java/com/facebook/common/collect/. Presumablyjava/com/facebook/common/collect/BUCK has a build rule like: java_library( name = 'collect', srcs = glob(['*.java']), deps = ['//java/com/facebook/base:base',],) Then java/com/facebook/common/BUCK could have a rule like: java_library( name = 'concurrent', srcs = glob(['concurrent/*.java']), deps = ['//java/com/facebook/base:base','//java/com/facebook/common/collect:collect',],) whereas the following would be invalid becausejava/com/facebook/common/collect/ has its own build file, so//java/com/facebook/common/collect:concurrent cannot listjava/com/facebook/common/collect/*.java in its srcs. java_library( name = 'concurrent', srcs = glob(['collect/*.java', 'concurrent/*.java']), deps = ['//java/com/facebook/base:base',],) ","keywords":""},{"title":"globals","type":0,"sectionRef":"#","url":"/docs/api/starlark/globals/","content":"","keywords":""},{"title":"False​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#false","content":"False: bool "},{"title":"None​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#none","content":"None: None "},{"title":"True​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#true","content":"True: bool "},{"title":"abs​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#abs","content":"def abs(x: float | int, /) -> float | int Take the absolute value of an int. abs(0) == 0 abs(-10) == 10 abs(10) == 10 abs(10.0) == 10.0 abs(-12.34) == 12.34 "},{"title":"all​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#all","content":"def all(x: typing.Iterable, /) -> bool all: returns true if all values in the iterable object have a truth value of true. all([1, True]) == True all([1, 1]) == True all([0, 1, True]) == False all([True, 1, True]) == True all([0, 0]) == False all([0, False]) == False all([True, 0]) == False all([1, False]) == False "},{"title":"any​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#any","content":"def any(x: typing.Iterable, /) -> bool any: returns true if any value in the iterable object have a truth value of true. any([0, True]) == True any([0, 1]) == True any([0, 1, True]) == True any([0, 0]) == False any([0, False]) == False "},{"title":"bool​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#bool","content":"def bool(x = _, /) -> bool bool: returns the truth value of any starlark value. .type attribute​ Produces "bool" Details​ bool() == False bool([]) == False bool([1]) == True bool(True) == True bool(False) == False bool(None) == False bool(bool) == True bool(1) == True bool(0) == False bool({}) == False bool({1:2}) == True bool(()) == False bool((1,)) == True bool("") == False bool("1") == True "},{"title":"breakpoint​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#breakpoint","content":"def breakpoint() -> None When a debugger is available, breaks into the debugger. "},{"title":"call_stack​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#call_stack","content":"def call_stack(*, strip_frames: int = 0) -> str Get a textual representation of the call stack. This is intended only for debugging purposes to display to a human and should not be considered stable or parseable. strip_frames will pop N frames from the top of the call stack, which can be useful to hide non-interesting lines - for example, strip_frames=1 will hide the call to and location of call_stack() itself. "},{"title":"call_stack_frame​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#call_stack_frame","content":"def call_stack_frame(n: int, /) -> None | StackFrame Get a structural representation of the n-th call stack frame. With n=0 returns call_stack_frame itself. Returns None if n is greater than or equal to the stack size. "},{"title":"chr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#chr","content":"def chr(i: int, /) -> str chr: returns a string encoding a codepoint. chr(i) returns a string that encodes the single Unicode code point whose value is specified by the integer i. chr fails unless 0 ≤ i ≤ 0x10FFFF. chr(65) == 'A' chr(1049) == 'Й' chr(0x1F63F) == '😿' "},{"title":"debug​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#debug","content":"def debug(val, /) -> str Print the value with full debug formatting. The result may not be stable over time. Intended for debugging purposes and guaranteed to produce verbose output not suitable for user display. "},{"title":"dict​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#dict","content":"def dict(*args, **kwargs) -> dict[typing.Any, typing.Any] dict: creates a dictionary. .type attribute​ Produces "dict" Details​ dict creates a dictionary. It accepts up to one positional argument, which is interpreted as an iterable of two-element sequences (pairs), each specifying a key/value pair in the resulting dictionary. dict also accepts any number of keyword arguments, each of which specifies a key/value pair in the resulting dictionary; each keyword is treated as a string. dict() == {} dict(**{'a': 1}) == {'a': 1} dict({'a': 1}) == {'a': 1} dict([(1, 2), (3, 4)]) == {1: 2, 3: 4} dict([(1, 2), ['a', 'b']]) == {1: 2, 'a': 'b'} dict(one=1, two=2) == {'one': 1, 'two': 2} dict([(1, 2)], x=3) == {1: 2, 'x': 3} dict([('x', 2)], x=3) == {'x': 3} x = {'a': 1} y = dict([('x', 2)], **x) x == {'a': 1} and y == {'x': 2, 'a': 1} "},{"title":"dir​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#dir","content":"def dir(x, /) -> list[str] dir: list attributes of a value. dir(x) returns a list of the names of the attributes (fields and methods) of its operand. The attributes of a value x are the namesf such that x.f is a valid expression. "capitalize" in dir("abc") "},{"title":"enum​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#enum","content":"def enum(*args: str) The enum type represents one value picked from a set of values. For example: MyEnum = enum("option1", "option2", "option3") This statement defines an enumeration MyEnum that consists of the three values "option1", "option2" and option3. Now MyEnum is defined, it's possible to do the following: Create values of this type with MyEnum("option2"). It is a runtime error if the argument is not one of the predeclared values of the enumeration.Get the type of the enum suitable for a type annotation with MyEnum.Given a value of the enum (for example, v = MyEnum("option2")), get the underlying value v.value == "option2" or the index in the enumeration v.index == 1.Get a list of the values that make up the array with MyEnum.values() == ["option1", "option2", "option3"].Treat MyEnum a bit like an array, with len(MyEnum) == 3, MyEnum[1] == MyEnum("option2") and iteration over enums [x.value for x in MyEnum] == ["option1", "option2", "option3"]. Enumeration types store each value once, which are then efficiently referenced by enumeration values. "},{"title":"enumerate​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#enumerate","content":"def enumerate(it: typing.Iterable, /, start: int = 0) -> list[(int, typing.Any)] enumerate: return a list of (index, element) from an iterable. enumerate(x) returns a list of (index, value) pairs, each containing successive values of the iterable sequence and the index of the value within the sequence. The optional second parameter, start, specifies an integer value to add to each index. enumerate(["zero", "one", "two"]) == [(0, "zero"), (1, "one"), (2, "two")] enumerate(["one", "two"], 1) == [(1, "one"), (2, "two")] "},{"title":"eval_type​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#eval_type","content":"def eval_type(ty: type, /) -> type Create a runtime type object which can be used to check if a value matches the given type. "},{"title":"fail​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#fail","content":"def fail(*args) -> typing.Never fail: fail the execution fail("this is an error") # fail: this is an error fail("oops", 1, False) # fail: oops 1 False "},{"title":"field​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#field","content":"def field(typ, /, default = _) -> field Creates a field record. Used as an argument to the record function. rec_type = record(host=field(str), port=field(int), mask=field(int, default=255)) rec = rec_type(host="localhost", port=80) rec.port == 80 rec.mask == 255 "},{"title":"filter​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#filter","content":"def filter( func: None | typing.Callable, seq: typing.Iterable, / ) -> list[typing.Any] Apply a predicate to each element of the iterable, returning those that match. As a special case if the function is None then removes all the None values. filter(bool, [0, 1, False, True]) == [1, True] filter(lambda x: x > 2, [1, 2, 3, 4]) == [3, 4] filter(None, [True, None, False]) == [True, False] "},{"title":"float​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#float","content":"def float(a: bool | float | int | str = _, /) -> float float: interprets its argument as a floating-point number. .type attribute​ Produces "float" Details​ If x is a float, the result is x. if x is an int, the result is the nearest floating point value to x. If x is a string, the string is interpreted as a floating-point literal. With no arguments, float() returns 0.0. float() == 0.0 float(1) == 1.0 float('1') == 1.0 float('1.0') == 1.0 float('.25') == 0.25 float('1e2') == 100.0 float(False) == 0.0 float(True) == 1.0 float("hello") # error: not a valid number float([]) # error "},{"title":"getattr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#getattr","content":"def getattr( a, attr: str, default = _, / ) getattr: returns the value of an attribute getattr(x, name) returns the value of the attribute (field or method) of x named name. It is a dynamic error if x has no such attribute. getattr(x, "f") is equivalent to x.f. getattr(x, "f", d) is equivalent to x.f if hasattr(x, "f") else dand will never raise an error. getattr("banana", "split")("a") == ["b", "n", "n", ""] # equivalent to "banana".split("a") "},{"title":"hasattr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#hasattr","content":"def hasattr(a, attr: str, /) -> bool hasattr: test if an object has an attribute hasattr(x, name) reports whether x has an attribute (field or method) named name. "},{"title":"hash​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#hash","content":"def hash(a: str, /) -> int hash: returns the hash number of a value. hash(x) returns an integer hash value for x such that x == yimplies hash(x) == hash(y). hash fails if x, or any value upon which its hash depends, is unhashable. hash("hello") != hash("world") "},{"title":"int​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#int","content":"def int(a: bool | float | int | str = _, /, base: int = _) -> int int: convert a value to integer. .type attribute​ Produces "int" Details​ int(x[, base]) interprets its argument as an integer. If x is an int, the result is x. If x is a float, the result is the integer value nearest to x, truncating towards zero; it is an error if x is not finite (NaN,+Inf, -Inf). If x is a bool, the result is 0 for False or 1 for True. If x is a string, it is interpreted like a string literal; an optional base prefix (0, 0b, 0B, 0x, 0X) determines which base to use. The string may specify an arbitrarily large integer, whereas true integer literals are restricted to 64 bits. If a non-zero base argument is provided, the string is interpreted in that base and no base prefix is permitted; the base argument may specified by name. int() with no arguments returns 0. int() == 0 int(1) == 1 int(False) == 0 int(True) == 1 int('1') == 1 int('16') == 16 int('16', 10) == 16 int('16', 8) == 14 int('16', 16) == 22 int(0.0) == 0 int(3.14) == 3 int(-12345.6789) == -12345 int(2e9) == 2000000000 int("hello") # error: Cannot parse int(float("nan")) # error: cannot be represented as exact integer int(float("inf")) # error: cannot be represented as exact integer "},{"title":"isinstance​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#isinstance","content":"def isinstance(value, ty: type, /) -> bool Check if a value matches the given type. "},{"title":"json​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#json","content":"json: struct(decode = "function", encode = "function") "},{"title":"len​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#len","content":"def len(a, /) -> int len: get the length of a sequence len(x) returns the number of elements in its argument. It is a dynamic error if its argument is not a sequence. len(()) == 0 len({}) == 0 len([]) == 0 len([1]) == 1 len([1,2]) == 2 len({'16': 10}) == 1 len(True) # error: not supported "},{"title":"list​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#list","content":"def list(a: typing.Iterable = _, /) -> list[typing.Any] list: construct a list. .type attribute​ Produces "list" Details​ list(x) returns a new list containing the elements of the iterable sequence x. With no argument, list() returns a new empty list. list() == [] list((1,2,3)) == [1, 2, 3] list("strings are not iterable") # error: not supported "},{"title":"map​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#map","content":"def map(func: typing.Callable, seq: typing.Iterable, /) -> list[typing.Any] Apply a function to each element of the iterable, returning the results. map(abs, [7, -5, -6]) == [7, 5, 6] map(lambda x: x * 2, [1, 2, 3, 4]) == [2, 4, 6, 8] "},{"title":"max​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#max","content":"def max(*args, key = _) max: returns the maximum of a sequence. max(x) returns the greatest element in the iterable sequence x. It is an error if any element does not support ordered comparison, or if the sequence is empty. The optional named parameter key specifies a function to be applied to each element prior to comparison. max([3, 1, 4, 1, 5, 9]) == 9 max("two", "three", "four") == "two" # the lexicographically greatest max("two", "three", "four", key=len) == "three" # the longest "},{"title":"min​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#min","content":"def min(*args, key = _) min: returns the minimum of a sequence. min(x) returns the least element in the iterable sequence x. It is an error if any element does not support ordered comparison, or if the sequence is empty. min([3, 1, 4, 1, 5, 9]) == 1 min("two", "three", "four") == "four" # the lexicographically least min("two", "three", "four", key=len) == "two" # the shortest "},{"title":"ord​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#ord","content":"def ord(a: str, /) -> int ord: returns the codepoint of a character ord(s) returns the integer value of the sole Unicode code point encoded by the string s. If s does not encode exactly one Unicode code point, ord fails. Each invalid code within the string is treated as if it encodes the Unicode replacement character, U+FFFD. Example: ord("A") == 65 ord("Й") == 1049 ord("😿") == 0x1F63F "},{"title":"partial​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#partial","content":"def partial( func, /, *args, **kwargs ) -> function Construct a partial application. In almost all cases it is simpler to use a lamdba. "},{"title":"pprint​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#pprint","content":"def pprint(*args) -> None "},{"title":"prepr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#prepr","content":"def prepr(a, /) -> str Like repr, but produces more verbose pretty-printed output "},{"title":"print​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#print","content":"def print(*args) -> None Print some values to the output. "},{"title":"pstr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#pstr","content":"def pstr(a, /) -> str Like str, but produces more verbose pretty-printed output "},{"title":"range​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#range","content":"def range( a1: int, a2: int = _, step: int = 1, / ) -> range range: return a range of integers .type attribute​ Produces "range" Details​ range returns a tuple of integers defined by the specified interval and stride. range(stop) # equivalent to range(0, stop) range(start, stop) # equivalent to range(start, stop, 1) range(start, stop, step) range requires between one and three integer arguments. With one argument, range(stop) returns the ascending sequence of non-negative integers less than stop. With two arguments, range(start, stop) returns only integers not less than start. With three arguments, range(start, stop, step) returns integers formed by successively adding step to start until the value meets or passes stop. A call to range fails if the value of step is zero. list(range(10)) == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] list(range(3, 10)) == [3, 4, 5, 6, 7, 8, 9] list(range(3, 10, 2)) == [3, 5, 7, 9] list(range(10, 3, -2)) == [10, 8, 6, 4] "},{"title":"record​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#record","content":"def record(**kwargs) -> function A record type represents a set of named values, each with their own type. For example: MyRecord = record(host=str, port=int) This above statement defines a record MyRecord with 2 fields, the first named host that must be of type str, and the second named port that must be of type int. Now MyRecord is defined, it's possible to do the following: Create values of this type with MyRecord(host="localhost", port=80). It is a runtime error if any arguments are missed, of the wrong type, or if any unexpected arguments are given.Get the type of the record suitable for a type annotation with MyRecord.type.Get the fields of the record. For example, v = MyRecord(host="localhost", port=80) will provide v.host == "localhost" and v.port == 80. Similarly, dir(v) == ["host", "port"]. It is also possible to specify default values for parameters using the field function. For example: MyRecord = record(host=str, port=field(int, 80)) Now the port field can be omitted, defaulting to 80 is not present (for example, MyRecord(host="localhost").port == 80). Records are stored deduplicating their field names, making them more memory efficient than dictionaries. "},{"title":"repr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#repr","content":"def repr(a, /) -> str repr: formats its argument as a string. All strings in the result are double-quoted. repr(1) == '1' repr("x") == "\\"x\\"" repr([1, "x"]) == "[1, \\"x\\"]" repr("test \\"'") == "\\"test \\\\\\"'\\"" repr("x\\"y😿 \\\\'") == "\\"x\\\\\\"y\\\\U0001f63f \\\\\\\\'\\"" "},{"title":"reversed​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#reversed","content":"def reversed(a: typing.Iterable, /) -> list[typing.Any] reversed: reverse a sequence reversed(x) returns a new list containing the elements of the iterable sequence x in reverse order. reversed(['a', 'b', 'c']) == ['c', 'b', 'a'] reversed(range(5)) == [4, 3, 2, 1, 0] reversed("stressed".elems()) == ["d", "e", "s", "s", "e", "r", "t", "s"] reversed({"one": 1, "two": 2}.keys()) == ["two", "one"] "},{"title":"sorted​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#sorted","content":"def sorted( x, /, *, key = _, reverse: bool = False ) -> list[typing.Any] sorted: sort a sequence sorted(x) returns a new list containing the elements of the iterable sequence x, in sorted order. The sort algorithm is stable. The optional named parameter reverse, if true, causes sorted to return results in reverse sorted order. The optional named parameter key specifies a function of one argument to apply to obtain the value's sort key. The default behavior is the identity function. sorted([3, 1, 4, 1, 5, 9]) == [1, 1, 3, 4, 5, 9] sorted([3, 1, 4, 1, 5, 9], reverse=True) == [9, 5, 4, 3, 1, 1] sorted(["two", "three", "four"], key=len) == ["two", "four", "three"] # shortest to longest sorted(["two", "three", "four"], key=len, reverse=True) == ["three", "four", "two"] # longest to shortest "},{"title":"starlark_rust_internal​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#starlark_rust_internal","content":"starlark_rust_internal: struct(ty_of_value_debug = "function") "},{"title":"str​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#str","content":"def str(a, /) -> str str: formats its argument as a string. .type attribute​ Produces "string" Details​ If x is a string, the result is x (without quotation). All other strings, such as elements of a list of strings, are double-quoted. str(1) == '1' str("x") == 'x' str([1, "x"]) == "[1, \\"x\\"]" "},{"title":"struct​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#struct","content":"def struct(*args, **kwargs) -> struct(..) .type attribute​ Produces "struct" "},{"title":"tuple​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#tuple","content":"def tuple(a: typing.Iterable = _, /) -> tuple tuple: returns a tuple containing the elements of the iterable x. .type attribute​ Produces "tuple" Details​ With no arguments, tuple() returns the empty tuple. tuple() == () tuple([1,2,3]) == (1, 2, 3) "},{"title":"type​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#type","content":"def type(a, /) -> str type: returns a string describing the type of its operand. .type attribute​ Produces "type" Details​ type(None) == "NoneType" type(0) == "int" type(1) == "int" type(()) == "tuple" type("hello") == "string" "},{"title":"typing​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#typing","content":"typing: struct(Any = typing.Any, Callable = typing.Callable, Iterable = typing.Iterable, Never = typing.Never) "},{"title":"zip​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#zip","content":"def zip(*args: typing.Iterable) -> list[typing.Any] zip: zip several iterables together zip() returns a new list of n-tuples formed from corresponding elements of each of the n iterable sequences provided as arguments tozip. That is, the first tuple contains the first element of each of the sequences, the second element contains the second element of each of the sequences, and so on. The result list is only as long as the shortest of the input sequences. zip() == [] zip(range(5)) == [(0,), (1,), (2,), (3,), (4,)] zip(range(5), "abc".elems()) == [(0, "a"), (1, "b"), (2, "c")] "},{"title":"Build Target","type":0,"sectionRef":"#","url":"/docs/concepts/build_target/","content":"","keywords":""},{"title":"Command-line Pro Tips​","type":1,"pageTitle":"Build Target","url":"/docs/concepts/build_target/#command-line-pro-tips","content":"Here are some ways that you can reduce your typing when you specify build targets as command-line arguments to the buck2 build or buck2 run commands. Consider the following example of a fully-qualified build target used with thebuck2 build command: buck2 build //java/com/facebook/share:share Although Buck2 is always strict when parsing build targets in build files, Buck2 is flexible when parsing build targets on the command-line. Specifically, the leading // is optional on the command line, so the above could be: buck2 build java/com/facebook/share:share Also, if there is a forward slash before the colon, it is ignored, so this could also be written as: buck2 build java/com/facebook/share/:share which enables you to produce the red text shown below using tab-completion, which dramatically reduces how much you need to type: buck2 build java/com/facebook/share/:share Finally, if the final path element matches the value specified after the colon, it can be omitted: # This is treated as //java/com/facebook/share:share. buck2 build java/com/facebook/share/ which makes the build target even easier to tab-complete. For this reason, the name of the build target for the primary deliverable in a build file is often named the same as the parent directory. That way, it can be built from the command-line with less typing. "},{"title":"See also​","type":1,"pageTitle":"Build Target","url":"/docs/concepts/build_target/#see-also","content":"Buck2 supports the ability to define aliases for build targets; using aliases can improve brevity when specifying targets on the Buck2 command line. For more information, see the [alias] section in the documentation for .buckconfig. Abuild target pattern is a string that describes a set of one or more build targets. For example, the pattern //... is used to build an entire project. For more information, see the Build Target Pattern topic. "},{"title":"Build Rule","type":0,"sectionRef":"#","url":"/docs/concepts/build_rule/","content":"","keywords":""},{"title":"Buck2's collection of build rules​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#buck2s-collection-of-build-rules","content":"Buck2 comes with a collection of built-in build rules for many common build procedures. For example, compiling Java code against the Android SDK is a common procedure, so Buck2 provides the build ruleandroid_library to do that. Similarly, the final product of most Android development is an APK, so you can use the build rule android_binary to create an APK. "},{"title":"Source files as inputs to build rules​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#source-files-as-inputs-to-build-rules","content":"Most build rules specify source files as inputs. For example, acxx_library rule would specify .cppfiles as inputs. To support specifying these files, a cxx_library rule provides the srcs argument. Some languages, such as C++, use header files as well. To specify these, cxx_library provides a headers argument. In addition to srcs and headers, some rules provide variants of these arguments, such asplatform_srcs and platform_headers. These arguments support groups of source files that should be used as inputs only when building for specific platforms. "},{"title":"Package boundaries and access to source files​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#package-boundaries-and-access-to-source-files","content":"In Buck2, a BUCK file defines a package, which corresponds roughly to the directory that contains the BUCK file and those subdirectories that do not themselves contain BUCK files. (To learn more, see theKey Concepts topic.) A rule in a BUCK file cannot specify a source file as an input unless that source file is in that BUCK file's package. An exception to this restriction exists for header files, but only if a rule in the package that contains the header file exports that header file using theexported_headers argument. For more details, see the description forexported_headers in, for example, thecxx_library topic. More commonly though, the package for a BUCK file contains all the source files required for the rules defined in that BUCK file. Functionality in source files from other packages is made available through the artifacts produced by the rules in the BUCK files for those packages. For example, a cxx_binarymight use the functionality in a cxx_library that is defined in another package. To access that functionality, the cxx_binary would take thatcxx_library as a dependency. Symlinks: Use with caution if at all​ We recommend that you do not use symlinks—either absolute or relative—to specify input files to build rules. Although using symlinks in this context does sometimes work, it can lead to unexpected behavior and errors. "},{"title":"Dependencies: Output from one rule as input to another rule​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#dependencies-output-from-one-rule-as-input-to-another-rule","content":"A build rule can use the output from another build rule as one of its inputs by specifying that rule as a dependency. Typically, a build rule specifies its dependencies as a list of build targets in its depsargument. However, the rule can also specify dependencies—as build targets—in other arguments, such as srcs. Example: The output of ajava_library rule is a JAR file. If ajava_library rule specifies another java_library rule as a dependency, the JAR file produced by the specified rule is added to the classpath for thejava_library that depends on it. Example: If ajava_binary rule specifies ajava_library rule as a dependency, the JAR file for the specifiedjava_library is available on the classpath for the java_binary. In addition, in the case of java_binary, the JAR files for any dependencies of thejava_library rule are also made available to the java_binary rule—and if those dependencies have dependencies of their own, they are added as well. This exhaustive cascade of dependencies is referred to as the rule's transitive closure. "},{"title":"Required dependencies are always built first​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#required-dependencies-are-always-built-first","content":"Buck2 guarantees that any dependencies that a rule lists that are required in order to build that rule are built successfully before Buck2 builds the rule itself. Note though that there can be special cases—such asapple_bundle—where a rule's listed dependencies do not actually need to be built before the rule. "},{"title":"Visibility​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#visibility","content":"In order for a build rule to take a dependency on another build rule, the build rule on which the dependency is taken must be visible to the build rule taking the dependency. A build rule's visibility argument is a list ofbuild target patterns that specify the rules that can take that rule as a dependency. For more information about the concept of visibility in Buck2, see the Visibility topic. "},{"title":"Dependencies define a graph​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#dependencies-define-a-graph","content":"Build rules and their dependencies define a directed acyclic graph (DAG). Buck2 requires this graph to be acyclic to make it possible to build independent subgraphs in parallel. "},{"title":"How to handle special cases: genrules and macros​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#how-to-handle-special-cases-genrules-and-macros","content":"Although Buck2 provides a rich set of built-in build rules for developers, it is not able to address all possible needs. As an "escape hatch," Buck2 provides a category of generic build rules called genrules. With genrules, you can perform arbitrary operations using shell scripts. The genrules supported by Buck2 are: genruleapk_genrulecxx_genrule "},{"title":"Multiple output files with genrules​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#multiple-output-files-with-genrules","content":"In most cases, a build rule produces exactly one output file. However, with genrules, you can specify an output directory and write arbitrary files to that directory. "},{"title":"Macros​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#macros","content":"Finally, note that you can define functions that generate build rules. In general, this should not be something that you need to do, but taking advantage of this option might help you add needed functionality to Buck2's without editing its source code. "},{"title":"String parameter macros​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#string-parameter-macros","content":"It is also possible to expand references to other rules within the cmd, using builtin string parameter macros. All build rules expanded in the command are automatically considered to be dependencies of the genrule(). Note that the paths returned by these macros are relative paths. Using relative paths ensures that your builds are hermetic, that is, they are reproducible across different machine environments. $(classpath //path/to:target) Expands to the transitive classpath of the specified build rule, provided that the rule has a Java classpath. If the rule does not have (or contribute to) a classpath, then an exception is thrown and the build breaks. $(exe //path/to:target) Expands a build rule that results in an executable to the commands necessary to run that executable. For example, a java_binary() might expand to a call tojava -jar path/to/target.jar . Files that are executable (perhaps generated by a genrule()) are also expanded. If the build rule does not generate an executable output, then an exception is thrown and the build breaks. If the $(exe my_dependency) dependency should actually be built with the target platform, use $(exe_target my_dependency) instead, which will stick to the same platform as the target. $(location //path/to:target) Expands to the location of the output of the specified build rule. This means that you can refer to the output without needing to be aware of how Buck is storing data on the disk mid-build. "},{"title":"Concept Map","type":0,"sectionRef":"#","url":"/docs/concepts/concept_map/","content":"Concept Map The Concept Map provides an at-a-glance overview of the relationships between widely used Buck2 concepts. It is meant to be a tool to help those onboarding to Buck2 to quickly gain an understanding of the Buck2 environment. note The Concept Map is for reference only and is not intended to be 100% accurate nor complete.","keywords":""},{"title":"Configurations","type":0,"sectionRef":"#","url":"/docs/concepts/configurations/","content":"Configurations For rule authors see also: Configurations When building a target, buck always builds it in a particular "configuration." The configuration typically includes information like the target os, target arch, sanitizers, opt level, etc. One way to understand the effect that a configuration has is via the cquery and uquery commands. The cquery command will compute the appropriate configuration for a target and display a version of that target's attributes with the configuration applied. The uquery command will not apply a configuration. Here is a heavily trimmed version of the outputs of invoking uquery andcquery on //buck2/app/buck2_core:buck2_core. > buck2 uquery -A '"//buck2/app/buck2_core:buck2_core"' { "fbcode//buck2/app/buck2_core:buck2_core": { "buck.type": "rust_library", "buck.package": "fbcode//buck2/app/buck2_core:TARGETS", "name": "buck2_core", "visibility": [ "PUBLIC" ], "deps": { "fbsource//third-party/rust:anyhow", "fbsource//third-party/rust:arc-swap", "fbsource//third-party/rust:blake3", "fbsource//third-party/rust:compact_str", "fbsource//third-party/rust:dashmap", { "__type": "selector", "entries": { "DEFAULT": [], "ovr_config//os:windows": [ "fbsource//third-party/rust:common-path" ] } }, { "__type": "selector", "entries": { "DEFAULT": [], "ovr_config//os:linux": [ "fbsource//third-party/rust:nix" ] } }, }, } } > buck2 cquery -A '"//buck2/app/buck2_core:buck2_core"' { "fbcode//buck2/app/buck2_core:buck2_core (ovr_config//platform/linux:<OMITTED>)": { "buck.type": "rust_library", "buck.package": "fbcode//buck2/app/buck2_core:TARGETS", "buck.target_configuration": "ovr_config//platform/linux:<OMITTED>", "buck.execution_platform": "fbcode//buck2/platform/<OMITTED>", "name": "buck2_core", "visibility": [ "PUBLIC" ], "deps": [ "fbsource//third-party/rust:anyhow (ovr_config//platform/linux:<OMITTED>)", "fbsource//third-party/rust:arc-swap (ovr_config//platform/linux:<OMITTED>)", "fbsource//third-party/rust:blake3 (ovr_config//platform/linux:<OMITTED>)", "fbsource//third-party/rust:compact_str (ovr_config//platform/linux:<OMITTED>)", "fbsource//third-party/rust:dashmap (ovr_config//platform/linux:<OMITTED>)", "fbsource//third-party/rust:nix (ovr_config//platform/linux:<OMITTED>)" ] } The cquery output has additional buck.target_configuration andbuck.execution_platform attributes which tell you what the target is being built for and what it's being built on, respectively. uquery doesn't have those. The deps in uquery also have a number of selects; these indicate that thecommon-path dependency should only be included when building for Windows, while the nix dependency is needed only for Linux. In cquery that distinction has been resolved; because the target has been configured for Linux, the nix dependency is present and indistinguishable from any other, while thecommon-path dependency is gone.","keywords":""},{"title":"Daemon (buckd)","type":0,"sectionRef":"#","url":"/docs/concepts/daemon/","content":"","keywords":""},{"title":"Killing or disabling the Buck daemon​","type":1,"pageTitle":"Daemon (buckd)","url":"/docs/concepts/daemon/#killing-or-disabling-the-buck-daemon","content":"The Buck daemon process is killed if buck2 clean or buck2 kill commands are run. Note that they won't kill the daemon associated with custom isolation dirs. To do that, run using the --isolation-dir option (buck2 --isolation-dir <dir> <command>) "},{"title":"Glossary of Terms","type":0,"sectionRef":"#","url":"/docs/concepts/glossary/","content":"Glossary of Terms .buckconfig​ The root of your project must contain a configuration file named.buckconfig. Before executing, Buck2 reads this file to incorporate specified customizations. See .buckconfig for more info. Action​ An individual, cacheable, ideally hermetic command that's run during thebuild. It takes artifacts as inputs and produces other artifacts as outputs. An example command could be gcc -o main main.c, which takes the artifact main.c (a source file) and produces the artifact called main (the compiled binary). Action digest​ Encoded action representation. It is sent toremote execution. Used among other things to retrieve action inputs and to check for cache hits Action graph​ The dependency graph of all actions belonging to a target: it can be queried with buck2 aquery. Artifact​ A single input or output of an action. These are files that participate as inputs or outputs of a build and can be source files or build outputs. For more information, see theArtifact API. Attribute​ Declared by a rule and used to express the properties of a particular instance of a rule to create a target. For example, srcs, deps and copts, which declare a target's source files, dependencies, and custom compiler options, respectively. The available attributes for a target depend on its rule type. BUCK file​ A BUCK file (the name is configurable, some projects use TARGETS) is the main configuration file that tells Buck2 what to build, what their dependencies are, and how to build them. Buck2 takes a BUCK file as input and evaluates the file to declare targets, which are then used to create a graph of dependencies and to derive the actions that must be completed to build intermediate and final software outputs. A BUCK file marks a directory and any sub-directories not containing a BUCK file as a package. BXL​ BXL (Buck eXtension Language) scripts are written in Starlark (a restricted subset of Python) and give integrators the ability to inspect and interact directly with the buck2 graph. BXL scripts can query the action graph,configured graph, andunconfigured graph. They can also createactions and trigger builds. Cell​ The directory tree of one or more Buck2 packages. A Buck2 build can involve multiple cells. The cell root always contains a.buckconfig, although the presence of a .buckconfig file doesn't in itself define a cell. Rather, the cells involved in a build are defined at the time Buck2 is invoked; they are specified in the .buckconfig for the Buckproject. Configuration​ Configurations consist of a set of 'constraint values' that are used to resolveselect attributes prior to evaluating ruleimplementations: the attribute takes the value of the first branch in theselect that matches the configuration. Configurations are instantiated by rules that produce a PlatformInfoprovider. Once created, targets can receive their configuration through a variety of mechanisms, such as: Inheritance - by default, when following a dependency edge A -> B, B inherits A's configuration.The default_target_platform attribute and --target-platforms command line flag.Transitions (see below). Configurations allow a single target to exist in multiple variants in the configured graph (for example, to build a given binary at differing optimization levels or targeting different CPU architectures). Configured graph​ The configured target graph is generated by configuring target nodes in theunconfigured target graph. That is, selects are fully resolved and configurations applied. The configured graph includes information about the configurations and transitionsinvolved in building targets. The same target may appear in multiple different configurations (when printed, the configuration is after the target in parentheses). Constraint​ A constraint represents a property that may differ across differenttarget or build contexts, such as CPU architecture, the version of a system-installed compiler, optimization level, which version of a particular library to use, etc. Daemon​ The Daemon process lives between invocations and is designed to allow for cache reuse between Buck2 invocations, which can considerably speed up builds. For more information, see Daemon (buckd). Dependency​ A directed edge between two targets. A target A can have a dependency on target B, for example, if any dep attribute of A mentionsB. A target's dependence on another target is determined by thevisibility of the latter. Execution platform​ A type of rule that includes information such as what execution types atarget supports, which can be remote, local, and hybrid execution. Also, whether it supports cache uploads, which allows users to get cache hits for things that executed locally. Hybrid execution​ Allows Buck2 to race local and remote execution and get whichever finishes first (unless there's a cache hit, then it will get output from cache). This can provide substantial speedup by eliminating the overhead of going toremote execution when there is enough capacity to service the build locally. Isolation dir​ Instances of Buck2 share a daemon if and only if their isolation directory is identical. The isolation directory also influences the output paths provided by Buck2. Modifiers​ It's a modification of a constraint from the existingconfiguration to obtain a new configuration. They provide a unified way to specify build settings on a project,target, and command line level. It is intended to replacetarget platforms and most use cases of.buckconfigs. Package​ A directory that contains a Buck2 BUCK file and all source files belonging to the same directory as the BUCK file, or any of its subdirectories that do not contain a BUCK file themselves. Prelude​ The prelude is a unique .bzl file located at prelude//prelude.bzl. Buck2 implicitly loads all the symbols defined in the prelude whenever it loads aBUCK file. Symbols defined outside the prelude can be imported via a load() statement. When you create a Buck2 project using buck2 init --git, it will contain the same prelude used internally at Meta by Buck2 users. It is viewable athttps://github.com/facebook/buck2/tree/main/prelude. Project​ The Outermost directory where there is a .buckconfig: also known as the root cell. The .buckconfig for the project specifies thecells that constitute the Buck2 project. Specifically, these cells are specified in the '[cells]' section of the .buckconfig. All command invocations are executed from the project root. Provider​ Data returned from a rule function. It's the only way that information from this rule is available to other rules that depend on it (seedependency). For more information, seeProviders. Platform​ A named set of constraints, defining a specific runtime environment. E.g. cpu=x86_64, os=windows Remote execution (RE)​ Distributed execution of actions on remote workers. It can speed up builds significantly by scaling the nodes available for parallel actions, and by caching action outputs across Buck2 users. Rule​ A rule consists of an attribute spec and an implementation, which is aStarlark function. The attribute spec declares what attributes the rule expects to receive. The rule implementation receives the attributes of a targetand the providers of its dependencies. It can declare new actions and artifacts and must returnproviders that can be used to pass data to its dependents or to Buck2 itself. Rules are instantiated in BUCK files to declare targets and set their attributes. The rule implementation is called when Buck2 needs its providers, which can happen when the target is built, or when one of its dependents is. As an example, the cxx_binary rule could be used to create a C++ binary, butandroid_binary rule would be used to create an Android APK Starlark​ Starlark is a dialect of Python originally developed by Google for theBazel build tool. It is the configuration language of the Buck2 build system and the language you use in .bzl andBUCK files to define and instantiate rules. There are many reasons why Meta has chosen Starlark, as detailed inThe Rust Starlark libraryarticle. The Buck2 project maintains and uses an open sourceStarlark interpreter in Rust. Subtarget​ Collection of providers that can be accesed by name. The subtargets can have their own subtargets as well, which can be accessed by chaining them, e.g.: buck2 build cell//foo:bar[baz][qux]. Target​ An object that is defined in a BUCK file. Targets represent the buildable units of a build from the perspective of the end user. Declared by instantiating a rule with attributes. A target hasdependencies, which are references to other targets. Target label​ The identifier for a target. Structured ascell_alias//path/to/package:target, where cell_alias// maps to acell root path (as defined in the ./buckconfig of the cell this target belongs to), path/to/package is the packagedirectory that contains the BUCK file declaring the target (relative to the mapped cell alias), and :target is the target's name. Target pattern​ A string that resolves to a set of targets. They can be used as arguments to commands such as buck2 build and buck2 uquery. They can also be used in the visibility argument of a rule. For more information, see Target pattern. Target platform​ Represents the platform that the final output is built for residing and executing. If buck2 is a chef, and the output is the meal, the target platform would be the people that eat the meal. Target universe​ A set of configured targets and their transitive deps. In the context of cquery and build in the Buck2 CLI, any literals are resolved to all matching targets within the universe. Target universe can be passed explicitly on the Buck2 CLI via --target-universe. If omitted, the target universe will be inferred by constructing a universe using all the target literals (and their transitive deps) within the query string for cquery. Transition​ Allows the configuration to change across adependency edge. That is, normally, if target A depends on target B, then if the configuration for A is X, then B is configured using X too. By using a transition, you can produce X to configure B instead. Unconfigured graph​ A graph of targets before configurations are applied. Can be queried via buck2 uquery. Visibility​ Determines whether a target can include another target as its dependency. For more information, seeVisibility.","keywords":""},{"title":"Key concepts","type":0,"sectionRef":"#","url":"/docs/concepts/key_concepts/","content":"","keywords":""},{"title":"Buck2's dependency graph​","type":1,"pageTitle":"Key concepts","url":"/docs/concepts/key_concepts/#buck2s-dependency-graph","content":"Every build rule can have zero or more dependencies. You can specify these dependencies using, for example, the deps argument to the build rule. For more information about specifying dependencies, consult the reference page for the build rule you are using. These dependencies form a directed graph, called thetarget graph. Buck2 requires the graph to be acyclic. When building the output of a build rule, all of the rule's transitive dependencies are built first. This means that the graph is built in a "bottom-up" fashion. A build rule knows only which rules it depends on, not which rules depend on it. This makes the graph easier to reason about and enables Buck2 to identify independent subgraphs that can be built in parallel. It also enables Buck2 to determine the minimal set of build targets that need to be rebuilt. "},{"title":"Multiple Buck2 projects in a single repository​","type":1,"pageTitle":"Key concepts","url":"/docs/concepts/key_concepts/#multiple-buck2-projects-in-a-single-repository","content":"Buck2 is designed to build multiple deliverables from a single repository—that is, a monorepo—rather than from multiple repositories. Support for the monorepo design motivated Buck2's support for cells and projects. It is Facebook's experience that maintaining all dependencies in the same repository makes it easier to ensure that all developers have the correct version of the code and simplifies the process of making atomic commits. "},{"title":"See also​","type":1,"pageTitle":"Key concepts","url":"/docs/concepts/key_concepts/#see-also","content":"Take a look at the Concept Map for a visualization of how Buck2 concepts interact with each other. Also see the Glossary. "},{"title":"Target Pattern","type":0,"sectionRef":"#","url":"/docs/concepts/target_pattern/","content":"","keywords":""},{"title":"Build target patterns are not allowed in the deps argument​","type":1,"pageTitle":"Target Pattern","url":"/docs/concepts/target_pattern/#build-target-patterns-are-not-allowed-in-the-deps-argument","content":"Build target patterns cannot be used with the deps argument of a build rule. Buck requires that you specify all dependencies explicitly as either fully-qualified or relative build targets. "},{"title":"Target aliases​","type":1,"pageTitle":"Target Pattern","url":"/docs/concepts/target_pattern/#target-aliases","content":"Buck supports the ability to define aliases for build targets; using aliases can improve brevity when specifying targets on the Buck command line. To see which aliases exist, use buck2 audit config alias. "},{"title":"Buck1 vs Buck2","type":0,"sectionRef":"#","url":"/docs/developers/architecture/buck1_vs_buck2/","content":"","keywords":""},{"title":"At a glance​","type":1,"pageTitle":"Buck1 vs Buck2","url":"/docs/developers/architecture/buck1_vs_buck2/#at-a-glance","content":"The following table provides an at-a-glance comparison of Buck1 and Buck2. Buck1\tBuck2Build files in Starlark\tBuild files in Starlark Macros in Starlark\tMacros in Starlark Rules in Java\tRules in Starlark Rules and Macros are logically similar\tRules and Macros are logically similar Rules and Core are not well abstracted\tRules and Core are strongly separated Core in Java\tCore in Rust Remote Execution (RE) not well supported\tAll rules support remote execution by default Varying degrees of incrementality / parallelism\tUnified incrementality / parallelism "},{"title":"Top-down vs Bottom-up - understanding the implications of the difference in execution models between Buck1 and Buck2​","type":1,"pageTitle":"Buck1 vs Buck2","url":"/docs/developers/architecture/buck1_vs_buck2/#top-down-vs-bottom-up---understanding-the-implications-of-the-difference-in-execution-models-between-buck1-and-buck2","content":"It is often said that Buck1 does 'top down' and Buck2 does 'bottom up' building. This results in cases where some topics that seem conceptually trivial in Buck1 are hard problems in Buck2, or vice versa. "},{"title":"What are the differences?​","type":1,"pageTitle":"Buck1 vs Buck2","url":"/docs/developers/architecture/buck1_vs_buck2/#what-are-the-differences","content":"Scenario: Imagine you are building A, which depends on both B and C, but where neither B nor C have any dependencies. For the sake of simplicity, imagine B and C are C++ compilations (that produce object files), and A is a link (that consumes them and produces a shared library). Building A with Buck1​ Following is an oversimplified view of what happens: Buck1 computes the 'rulekey' for B. This consists of mixing together the hashes of the C++ file being compiled, as well as all C++ compiler flags, and so on. Buck1 then does the same for C.Buck1 then computes the rulekey for A. This consist of mixing together the rulekeys of B and C, as well as linker flags used by A. for example. Buck1 then looks up the rulekey for A in the cache. If there's a hit, then Buck1 downloads the output and its job done.If there's a cache miss, continue. Buck1 then queries the cache for the rulekeys of B and C: If there's a hit, then the output is downloaded.If there's a miss, then Buck1 runs the commands needed to produce the object file that was missed. Regardless of whether those commands run locally or on RE, Buck1 downloads the output of B and C. Buck1 then runs the command for A to produce the shared library. At this point, Buck1 may actually do another cache lookup with a different rulekey, which is called an input based rulekey. This rulekey is derived from the inputs of the action that needs executing, which at this point of the build are known (since they were just built)! Building A with Buck2​ In contrast, if you ask Buck2 to build A, here is what happens: Buck2 produce the action to compile B and computes the hash of the action. This is the 'action digest', which consists of mixing the hashes of all the inputs (such as the C++ file), as well as the command line (so, implicitly, the compiler flags). Buck2 queries the action cache for the action digest hash. If there's a hit, Buck2 obtains the hash of the resulting object file (that is, the output of B).If there's a miss, Buck2 runs the action on RE (or potentially locally) and obtains the hash of the object file. If the action runs remotely, Buck2 will not download the output. Buck2 does the same thing for C.Buck2 produces the action to link A. This consists of mixing together all the hashes of the input files (which were retrieved earlier) and the command line to produce an action digest, then querying the cache and potentially running the action. Once Buck2 produces A (again, on RE), then, since this output was requested by the user (unlike the intermediary outputs B and C), Buck2 downloads A. "},{"title":"Some implications​","type":1,"pageTitle":"Buck1 vs Buck2","url":"/docs/developers/architecture/buck1_vs_buck2/#some-implications","content":"Rulekeys vs Action digests​ The closest thing to Buck1’s rulekey in Buck2 is the action digest, but they are very different! Since it’s a product of the (transitive) inputs of an action, the (default) rulekey can be computed without running anything or querying any caches. However, the action digest cannot: it requires the actual inputs of an action, which means you need to build all the dependencies first. This means that: In Buck1, you can ask for rulekeys for a target.In Buck2, you’d have to run the build first then ask for the action digests (this is what the buck2 log what-ran would show you). Buck2 queries many more caches​ Buck1 will not descend further down a tree of dependency when it gets a cache hit.Buck2 will always walk up all your dependencies, regardless of whether you get cache hits or not. Materialization​ When Buck1 gets a cache miss, it downloads the outputs.Buck2, by contract, does not download outputs as part of a build (this is called 'deferred materialization'). Note that Buck2 does download the outputs if the user asked for them (that is, they were the targets the user put on the command line). "},{"title":"Second-order implications​","type":1,"pageTitle":"Buck1 vs Buck2","url":"/docs/developers/architecture/buck1_vs_buck2/#second-order-implications","content":"Non-determinism​ Non-determinism in a build affects Buck2 and Buck1 differently. One scenario that often works fine in Buck1 but can work catastrophically bad in Buck2 is a codegen step, driven by a Python binary. In certain configurations/modes, Python binaries are non-deterministic, because they are XARs ([https://engineering.fb.com/2018/07/13/data-infrastructure/xars-a-more-efficient-open-source-system-for-self-contained-executables/](eXecutable ARchives)) and that is always non-deterministic, which is bad! In Buck1, that doesn’t really matter, because you can get a cache hit on the codegen output without ever visiting the XAR (as long as the input files haven’t changed).In Buck2, you need the XAR to check the action cache for the codegen step. However, binaries are often not cached in certain configurations/modes, so your XAR isn’t cached.Therefore, since your XAR build is non-deterministic, you’ll always miss in the action cache and the codegen step will always have to run in every build. It can get worse! If the Python binary produces non-deterministic codegen, then the entire build might become uncacheable. Cache misses don’t necessarily propagate​ Say that, in Buck2, you’re trying to build a chain of actions like codegen -> compile -> link. Even if your codegen step isn’t cached (say, because its action inputs are non-deterministic as mentioned above), as long as the codegen output is deterministic, you can still get cache hits from compile and link steps. Hybrid execution​ If you squint, you’ll note that Buck1’s build could be viewed as 'local first', whereas Buck2’s would be better viewed as 'remote first': When Buck1 builds something remotely or gets a cache hit, the outputs are always downloaded.When Buck2 builds something remotely or gets a cache hit, the outputs are never downloaded. In turn, this has some important implications: When Buck1 builds something locally, the inputs are always already present.When Buck2 builds something locally, the inputs have to be downloaded, unless they were built locally (which if you’re doing any RE, is usually not the case), or if another command caused them to be downloaded. This means that, in Buck1, running something locally when you have spare resources is usually a no-brainer, because it’s always ready to go, and you’ll save on not having to download the output from RE (though you might have to upload the output if you need to run actions depending on it later). On the flip side, with Buck2, that’s not necessarily the case. To run an action locally, you need to download inputs that you might otherwise not have needed, which will tax your network connection. "},{"title":"Visibility","type":0,"sectionRef":"#","url":"/docs/concepts/visibility/","content":"","keywords":""},{"title":"Examples​","type":1,"pageTitle":"Visibility","url":"/docs/concepts/visibility/#examples","content":"A common library like Guava should be able to be included by any build rule: prebuilt_jar( name = 'guava', binary_jar = 'guava-14.0.1.jar', visibility = ['PUBLIC'] ) It is common to restrict the visibility of Android resources to the Java code that uses it: android_resource( name = 'ui_res', res = 'res', package = 'com.example', visibility = ['//java/com/example/ui:ui'] ) Or it may be simpler to make it visible to the entire directory in case additional build rules are added to java/com/example/ui/BUCK: android_resource( name = 'ui_res', res = 'res', package = 'com.example', visibility = ['//java/com/example/ui:'] ) Also, it is common to limit code for testing to be visible only to tests. If you define all of your Java unit tests in a folder named javatests/ in the root of your project, then you could define the following rule to ensure that only build rules under javatests/ can depend on JUnit: prebuilt_jar( name = 'junit', binary_jar = 'junit-4.11.jar', visibility = ['//javatests/...'] ) Finally, restricting the view of a target can be useful for preventing dependency creep: java_library( name = 'example', visibility = ['PUBLIC',], within_view = ['//foo:bar','//hello:world'] ) "},{"title":"BXL and Anonymous Targets","type":0,"sectionRef":"#","url":"/docs/developers/anon_targets/","content":"","keywords":""},{"title":"Anonymous targets​","type":1,"pageTitle":"BXL and Anonymous Targets","url":"/docs/developers/anon_targets/#anonymous-targets","content":"Anonymous targets are supported in BXL. Anonymous targets are keyed by the attributes, and allow you to share/cache work more effectively. You might want to use anonymous targets if there is some heavy Starlark evaluation which can be cached, or if you want to cache local actions. Note: The context object within the anon target rule is not a BXL context, but a normal rule analysis context. "},{"title":"APIs​","type":1,"pageTitle":"BXL and Anonymous Targets","url":"/docs/developers/anon_targets/#apis","content":"The actions object returned from ctx.bxl_actions().actions (equivalent ofctx.actions in normal rules) has the following functions for anonymous targets: anon_target(rule: "rule", attrs: Dict[str, Any]) -> "promise": generates a single anonymous target. Return type is an unresolved promise.anon_targets(rules: [("rule", Dict[str, Any])]) -> "promise": generates a list of anonymous targets. Return type is an unresolved promise representing the list of anonymous targets.artifact_promise(promise: "promise") -> "promise_artifact": turns an unresolved promise into a kind of artifact. SeeConvert promise to artifactfor more info on why you might want to use this. The resulting promise also has map() and join() functions. map() applies a function to the promise's results, and join() turns multiple promises into a single promise. To resolve promises in BXL, bxl_ctx has a resolve() function, which takes in the analysis actions instance (actions object returned fromctx.bxl_actions().actions) and a single promise and returns an optional promise value, if there is one. If you intend to create multiple promises, usingjoin() to produce a single promise will allow you to resolve them concurently with a single resolve() call. Small example: def _my_impl(ctx): bxl_actions = ctx.bxl_actions() # pass in relevant params to configure the execution platform resolution actions = bxl_actions.actions promise1 = actions.anon_target(my_anon_rule1, my_attrs1).promise promise2 = actions.anon_target(my_anon_rule2, my_attrs2).promise.map(my_map_function) joined = promise1.join(promise2) resolved = ctx.resolve(actions, joined) # do some more stuff ... "},{"title":"Complete Example​","type":1,"pageTitle":"BXL and Anonymous Targets","url":"/docs/developers/anon_targets/#complete-example","content":"## anon_bxl_rules.bzl ############ # Define an anonymous rule. MirrorInfo = provider(fields = ["mirrored_attrs"]) # Anonymous rule which writes some silly output, and also mirrors all attributes received def _mirror_impl(ctx: "context") -> ["provider"]: out = ctx.actions.declare_output("my_output") ctx.actions.write(out, "my_content") return [DefaultInfo(default_outputs = [out]), MirrorInfo(mirrored_attrs = ctx.attrs)] my_mirror_rule = rule(impl = _mirror_impl, attrs = { "false": attrs.bool(), "int": attrs.int(), "list_string": attrs.list(attrs.string()), "string": attrs.string(), "true": attrs.bool(), }) # Will be used in a map function in my_script.bxl below StringInfo = provider(fields = ["my_string"]) ## my_script.bxl ############ load(":anon_bxl_rules.bzl", "MirrorInfo", "StringInfo", "my_mirror_rule") def _anon_target_example(ctx): bxl_actions = ctx.bxl_actions() actions = bxl_actions.actions # Attrs to pass into the anonymous target. An anonymous target is defined by the hash of its attributes my_attrs = { "false": False, "int": 42, "list_string": ["a", "b", "c"], "string": "foo-bar-string", "true": True, } # A function to be applied to the promise (result of anon target), producing a promise with the resulting value. def my_function(providers): # Do something with the attrs. In this example, we are validating that the attrs are what we expect. mirrored_fields = providers[MirrorInfo].mirrored_attrs assert_eq(mirrored_fields.true, True) assert_eq(mirrored_fields.false, False) assert_eq(mirrored_fields.int, 42) assert_eq(mirrored_fields.string, "foo-bar-string") assert_eq(mirrored_fields.list_string, ["a", "b", "c"]) outputs = providers[DefaultInfo].default_outputs # These are the providers this target returns return [DefaultInfo(default_outputs = outputs), StringInfo(my_string = "map function succeeded!")] # Create an anonymous target by passing in "my_attrs" into "my_mirror_rule", and returns providers. # Specifically, it returns "DefaultInfo" and "MirrorInfo", as defined in "my_mirror_rule" # Then, we map the result to "my_function", which does some validation promise = actions.anon_target(my_mirror_rule, my_attrs).promise.map(my_function) # Resolving the promise returns a "provider_collection", which was defined by "my_function" above. # `DefaultInfo` is at index 0, `StringInfo` is at index 1 promise_result = ctx.resolve(actions, promise) ensured = ctx.output.ensure(promise_result[0].default_outputs[0]) # should print out location of the output, which contains the "my_content" string as defined in anon_bxl_rules.bzl above ctx.output.print(ensured) # should print out "map function succeeded!" ctx.output.print(promise_result[1].my_string) def assert_eq(a, b): if a != b: fail("Expected {} == {}".format(a, b)) anon_target_example = bxl_main( impl = _anon_target_example, cli_args = { }, ) "},{"title":"Buck2 Telemetry","type":0,"sectionRef":"#","url":"/docs/developers/architecture/buck2_telemetry/","content":"Buck2 Telemetry note 🚧 THIS PAGE IS UNDER CONSTRUCTION","keywords":""},{"title":"Architectural Model","type":0,"sectionRef":"#","url":"/docs/developers/architecture/buck2/","content":"","keywords":""},{"title":"High-level Overview​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#high-level-overview","content":"Buck2 is a build system whose core is written in Rust. Starlark, which is a deterministic, immutable version of Python, is used to extend the Buck2 build system, enabling Buck2 to be language-agnostic. The high-level flow starts with a user creating a build file (a BUCK file) containing one or more targets, which is specified by the target label, its inputs (sources, attributes, configurations, and dependencies), and the type of macro or rule to use. Briefly, a macro is a wrapper around a rule, which runs necessary commands to generate what’s needed for a target (for example, for a cxx_binary target, generate the header map and run necessary clang commands). Macros can be used to reduce boilerplate code for users (such as to supply the same set of attributes for a rule for all targets). Macros and rules are both written in Starlark and are specified by input sources, attributes, and the implementation function. If the target type is a macro, then the macro will fill in some details (for example, for a cxx_binary target, these are the compilation, debug flags to use, this is the clang to use). If the target type is a rule, then the macro layer is skipped altogether. This is all orchestrated by the core, which performs operations such as executing Buck2 CLI args, generating/updating the dependency graph (which contains the configured target nodes, unconfigured target nodes, action nodes, among other types of nodes that all allow for incrementality and execution), and materializing the artifacts. The core is written in Rust. The following diagram shows the high-level overview. The Buck2 CLI runs in a client process, which sends commands to the Buck2 daemon via gRPC. The daemon goes through several phases after receiving a request from the client: evaluation, configuration, analysis, execution, and materialization (see Execution Model, below). When usingbuck2 test, there is a final stage for testing. Note that these are the phases that a build goes through, but they are not always sequential. After finishing all phases, the daemon will send the response back to the client via gRPC. "},{"title":"Execution Model​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#execution-model","content":"The following diagram shows the Execution Model, which consists of 5 phases and states. Each of the phases and states shown in the Execution Model, are detailed in the following sub-sections. "},{"title":"State 0 - Build Files​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#state-0---build-files","content":"Build files (commonly referred to as BUCK files, their default name) are the main input to Buck2 and are syntactically Python. Each build file is uniquely identified by the directory in which it's located. Since all build files have the same name, there cannot be two build files in the same directory. This is usually represented as the relative path from the root of the project (the directory where the .buckconfig file is). Each build file has a set of targets. These describe the things the user wants Buck2 to know about. Each target has a type and a set of named attributes, including at least a name (also known as the label) identifying it. Additional attributes depend on the type of the target. "},{"title":"Phase A: Evaluation​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#phase-a-evaluation","content":"First, Buck2 evaluates a build file, and then constructs an unconfigured target graph. Buck2 performs directory listings to discover packages, then evaluates the build files that were found, expands any macros detected into their underlying rules, and then will take rule attributes and convert them from Starlark to Rust types to construct a target node, and insert it into the unconfigured target graph, which is a smaller portion of Buck2’s larger dependency graph. The target node consists of a reference to rule implementation, and the set of attributes and sources. The result of evaluation is a list of targets read from the build file mapped to a target node in Buck2 unconfigured target graph. "},{"title":"State 1 - Unconfigured Target Graph is generated​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#state-1---unconfigured-target-graph-is-generated","content":"At this point, the unconfigured target graph is available for the next stage of transformation, which is to configure the target nodes within the graph. "},{"title":"Phase B: Configuration​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#phase-b-configuration","content":"At the end of evaluation, the target nodes are not yet configured. Configuration means applying a list of constraints (such as resolving selects to specify the right CPU) to make sure the target can be run where it needs to. This is also known as target platform resolution, and can be configured within the target, the buckconfig, propagated from dependencies, or passed into the CLI. After applying configurations, the target nodes are transformed into configured target nodes within the Buck2 configured target graph, which is a smaller portion of Buck2’s larger dependency graph. "},{"title":"State 2 - Configured Target Graph is generated​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#state-2---configured-target-graph-is-generated","content":"At this point, the configured target graph is available for the analysis stage to generate the action graph. "},{"title":"Phase C: Analysis​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#phase-c-analysis","content":"In the analysis phase, Buck2 constructs a context object (ctx) which contains relevant information (such as attributes pulled from the configuration stage), all converted into Starlark types and made available to the rule. For example, the target’s dependencies are turned into a ProviderCollection, source files are converted into StarlarkArtifacts, and String attributes are turned into aStarlarkString. This ctx object is backed by Buck2’s dependency graph for computation and rules use it to tell Buck2 to run actions, create dynamic actions, or create new files. The rule will return a list of providers, which is data that the rule wants to expose to its dependents (that is, can flow through the dependency graph), such as output artifact information (such as file paths and file hashes). Providers could be actions, source files, or attributes. Within the returned list, DefaultInfo always needs to be returned, which indicates what the default outputs are. Some other common built-in providers include RunInfo, TestInfo, and InstallInfo. The end result is a list of providers and actions (inserted into the action graph) that Buck2 needs to execute to produce the desired outputs, known as 'bound artifacts'. "},{"title":"State 3 - Action Graph and Providers are generated​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#state-3---action-graph-and-providers-are-generated","content":"At this point, the action graph and providers are available to be processed by the execution stage. "},{"title":"Phase D: Execute​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#phase-d-execute","content":"Execution is where Buck2 takes all the providers (input files from the targets, args from the command line), runs the actions, and then outputs the computed results. The critical path is the theoretical lower bound for the duration of a build, which are the slowest set of actions. Buck2 can be run locally or on remote execution, or in a hybrid manner. For each action, a digest is created which is a hash of an action's command and all its inputs. Buck2 then checks if there is a result cached within RE for an action with a given digest. If there is a cache hit, Buck2 does not need to run the command for the action. Instead, the RE returns the output action digest. This digest can be used to download the actual output artifacts at a later time. This is known as the RE action cache. If there is a cache miss, the action needs to be run either remotely or locally. If Buck2 decides to run the action remotely, it will first upload all of the action's inputs that are missing from the RE's content addressable storage. If Buck2 decides to run the action locally, it will first download and materialize in buck-out all of the action's inputs. These inputs might be outputs of other actions and are stored in RE's content addressable storage but are missing on the local machine.Only after those steps will Buck2 schedule the action for actual execution. Buck2 can also decide to run local and remote execution simultaneously (a process known as racing), and use the result of whichever action finishes first to speed up performance. This strategy is known as hybrid execution." Materialization of action outputs (which involves downloading and placing them in the correct location in buck-out) can be done immediately after the action has finished executing. Alternatively, it can be deferred until it is actually needed for the local execution of another action. There are various configurations that a user can set to control how this materialization is handled. "},{"title":"State 4 - Build outputs are generated​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#state-4---build-outputs-are-generated","content":"At this point, the build is complete. If a user ran buck2 test, then there is a final transformation for Buck2 to construct a command for TPX to execute the actual test. "},{"title":"Phase E: Execute tests​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#phase-e-execute-tests","content":"For more detail on testing, reviewTest Execution. "},{"title":"globals","type":0,"sectionRef":"#","url":"/docs/api/bxl/globals/","content":"","keywords":""},{"title":"ActionErrorCtx​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#actionerrorctx","content":"ActionErrorCtx: type "},{"title":"ActionErrorLocation​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#actionerrorlocation","content":"ActionErrorLocation: type "},{"title":"ActionSubError​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#actionsuberror","content":"ActionSubError: type "},{"title":"AnalysisActions​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#analysisactions","content":"AnalysisActions: type "},{"title":"AnalysisContext​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#analysiscontext","content":"AnalysisContext: type "},{"title":"AnonTarget​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#anontarget","content":"AnonTarget: type "},{"title":"AnonTargets​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#anontargets","content":"AnonTargets: type "},{"title":"Artifact​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#artifact","content":"Artifact: type "},{"title":"ArtifactTag​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#artifacttag","content":"ArtifactTag: type "},{"title":"ArtifactValue​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#artifactvalue","content":"ArtifactValue: type "},{"title":"Attr​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#attr","content":"Attr: type "},{"title":"CellPath​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#cellpath","content":"CellPath: type "},{"title":"CellRoot​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#cellroot","content":"CellRoot: type "},{"title":"CommandExecutorConfig​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#commandexecutorconfig","content":"def CommandExecutorConfig( *, local_enabled: bool, remote_enabled: bool, remote_cache_enabled: None | bool = None, remote_dep_file_cache_enabled: bool = False, remote_execution_properties = None, remote_execution_action_key = None, remote_execution_max_input_files_mebibytes: None | int = None, remote_execution_queue_time_threshold_s: None | int = None, remote_execution_use_case = None, use_limited_hybrid: bool = False, allow_limited_hybrid_fallbacks: bool = False, allow_hybrid_fallbacks_on_failure: bool = False, use_windows_path_separators: bool = False, use_persistent_workers: bool = False, allow_cache_uploads: bool = False, max_cache_upload_mebibytes: None | int = None, experimental_low_pass_filter: bool = False, remote_output_paths: None | str = None, remote_execution_resource_units: None | int = None, remote_execution_dependencies: list[dict[str, str]] = [] ) -> command_executor_config Contains configurations for how actions should be executed .type attribute​ Produces "command_executor_config" Details​ local_enabled : Whether to use local execution for this execution platform. If both remote_enabled and local_enabled are True, we will use the hybrid executorremote_enabled: Whether to use remote execution for this execution platformremote_cache_enabled: Whether to query RE cachesremote_execution_properties: Properties for remote execution for this platformremote_execution_action_key: A component to inject into the action key This should typically used to inject variability into the action key so that it's different across e.g. build modes (RE uses the action key for things like expected memory utilization)remote_execution_max_input_files_mebibytes: The maximum input file size (in bytes) that remote execution can supportremote_execution_queue_time_threshold_s: The maximum time in seconds we are willing to wait in the RE queue for remote execution to start running our actionremote_execution_use_case: The use case to use when communicating with REuse_limited_hybrid: Whether to use the limited hybrid executorallow_limited_hybrid_fallbacks: Whether to allow fallbacksallow_hybrid_fallbacks_on_failure: Whether to allow fallbacks when the result is failure (i.e. the command failed on the primary, but the infra worked)use_windows_path_separators: Whether to use Windows path separators in command line argumentsuse_persistent workers: Whether to use persistent workers for local execution if they are availableallow_cache_uploads: Whether to upload local actions to the RE cachemax_cache_upload_mebibytes: Maximum size to upload in cache uploadsexperimental_low_pass_filter: Whether to use the experimental low pass filterremote_output_paths: How to express output paths to REremote_execution_resource_units: The resources (eg. GPUs) to use for remote executionremote_execution_dependencies: Dependencies for remote execution for this platform "},{"title":"ConfigurationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#configurationinfo","content":"def ConfigurationInfo( *, constraints: dict[target_label, ConstraintValueInfo], values: dict[str, str] ) -> ConfigurationInfo Provider that signals that a rule contains configuration info. This is used both as part of defining configurations (platform(), constraint_value()) and defining whether a target "matches" a configuration or not (config_setting(), constraint_value()) .type attribute​ Produces "ConfigurationInfo" Details​ Provides a number of fields that can be accessed: constraints: dict[target_label, ConstraintValueInfo] - field values: dict[str, str] - field "},{"title":"ConfiguredProvidersLabel​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#configuredproviderslabel","content":"ConfiguredProvidersLabel: type "},{"title":"ConfiguredTargetLabel​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#configuredtargetlabel","content":"ConfiguredTargetLabel: type "},{"title":"ConstraintSettingInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#constraintsettinginfo","content":"def ConstraintSettingInfo(*, label: target_label) -> ConstraintSettingInfo Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_setting() target. .type attribute​ Produces "ConstraintSettingInfo" Details​ Provides a number of fields that can be accessed: label: target_label - field "},{"title":"ConstraintValueInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#constraintvalueinfo","content":"def ConstraintValueInfo( *, setting: ConstraintSettingInfo, label: target_label ) -> ConstraintValueInfo Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_value() target. .type attribute​ Produces "ConstraintValueInfo" Details​ Provides a number of fields that can be accessed: setting: ConstraintSettingInfo - field label: target_label - field "},{"title":"DefaultInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#defaultinfo","content":"def DefaultInfo( default_output: None | artifact = None, default_outputs: None | list[artifact] = None, other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _, sub_targets: dict[str, typing.Any] = _ ) -> DefaultInfo A provider that all rules' implementations must return .type attribute​ Produces "DefaultInfo" Details​ In many simple cases, this can be inferred for the user. Example of a rule's implementation function and how these fields are used by the framework: # //foo_binary.bzl def impl(ctx): ctx.action.run([ctx.attrs._cc[RunInfo], "-o", ctx.attrs.out.as_output()] + ctx.attrs.srcs) ctx.action.run([ ctx.attrs._strip[RunInfo], "--binary", ctx.attrs.out, "--stripped-out", ctx.attrs.stripped.as_output(), "--debug-symbols-out", ctx.attrs.debug_info.as_output(), ]) return [ DefaultInfo( sub_targets = { "stripped": [ DefaultInfo(default_outputs = [ctx.attrs.stripped, ctx.attrs.debug_info]), ], }, default_output = ctx.attrs.out, ] foo_binary = rule( impl=impl, attrs={ "srcs": attrs.list(attrs.source()), "out": attrs.output(), "stripped": attrs.output(), "debug_info": attrs.output(), "_cc": attrs.dep(default="//tools:cc", providers=[RunInfo]), "_strip_script": attrs.dep(default="//tools:strip", providers=[RunInfo]) ) def foo_binary_wrapper(name, srcs): foo_binary( name = name, srcs = src, out = name, stripped = name + ".stripped", debug_info = name + ".debug_info", ) # //subdir/BUCK load("//:foo_binary.bzl", "foo_binary_wrapper") genrule(name = "gen_stuff", ...., default_outs = ["foo.cpp"]) # ":gen_stuff" pulls the default_outputs for //subdir:gen_stuff foo_binary_wrapper(name = "foo", srcs = glob(["*.cpp"]) + [":gen_stuff"]) # Builds just 'foo' binary. The strip command is never invoked. $ buck build //subdir:foo # builds the 'foo' binary, because it is needed by the 'strip' command. Ensures that # both the stripped binary and the debug symbols are built. $ buck build //subdir:foo[stripped] Provides a number of fields that can be accessed: sub_targets: dict[str, provider_collection] - A mapping of names to ProviderCollections. The keys are used when resolving the ProviderName portion of a ProvidersLabel in order to access the providers for a subtarget, such as when doing buck2 build cell//foo:bar[baz]. Just like any ProviderCollection, this collection must include at least a DefaultInfo provider. The subtargets can have their own subtargets as well, which can be accessed by chaining them, e.g.: buck2 build cell//foo:bar[baz][qux]. default_outputs: list[artifact] - A list of Artifacts that are built by default if this rule is requested explicitly, or depended on as as a "source". other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] - A list of ArtifactTraversable. The underlying Artifacts they define will be built by default if this rule is requested, but not when it's depended on as as a "source". ArtifactTraversable can be an Artifact (which yields itself), or cmd_args, which expand to all their inputs. "},{"title":"Dependency​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#dependency","content":"Dependency: type "},{"title":"DynamicActions​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#dynamicactions","content":"DynamicActions: type "},{"title":"DynamicActionsCallable​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#dynamicactionscallable","content":"DynamicActionsCallable: type "},{"title":"ExecutionPlatformInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#executionplatforminfo","content":"def ExecutionPlatformInfo( *, label: target_label, configuration: ConfigurationInfo, executor_config: command_executor_config ) -> ExecutionPlatformInfo Provider that signals that a target represents an execution platform. Provides a number of fields that can be accessed: label: target_label - label of the defining rule, used in informative messages configuration: ConfigurationInfo - The configuration of the execution platform executor_config: command_executor_config - The executor config "},{"title":"ExecutionPlatformRegistrationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#executionplatformregistrationinfo","content":"def ExecutionPlatformRegistrationInfo( *, platforms: list[ExecutionPlatformInfo], fallback = None ) -> ExecutionPlatformRegistrationInfo Provider that gives the list of all execution platforms available for this build. Provides a number of fields that can be accessed: platforms: list[ExecutionPlatformInfo] - field fallback: typing.Any - field "},{"title":"ExternalRunnerTestInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#externalrunnertestinfo","content":"def ExternalRunnerTestInfo( type, command = None, env = None, labels = None, contacts = None, use_project_relative_paths = None, run_from_project_root = None, default_executor = None, executor_overrides = None, local_resources = None, worker = None ) -> ExternalRunnerTestInfo Provider that signals that a rule can be tested using an external runner. This is the Buck1-compatible API for tests. .type attribute​ Produces "ExternalRunnerTestInfo" Details​ Provides a number of fields that can be accessed: test_type: str - A Starlark value representing the type of this test. command: list[typing.Any] - A Starlark value representing the command for this test. The external test runner is what gives meaning to this command. env: dict[str, typing.Any] - A Starlark value representing the environment for this test. Here again, the external test runner is what will this meaning. This is of type dict[str, ArgLike]. labels: list[str] - A starlark value representing the labels for this test. contacts: list[str] - A starlark value representing the contacts for this test. This is largely expected to be an oncall, though it's not validated in any way. use_project_relative_paths: bool - Whether this test should use relative paths run_from_project_root: bool - Whether this test should run from the project root, as opposed to the cell rootDefaults to True. default_executor: command_executor_config - Default executor to use to run tests. If none is passed we will default to the execution platform. executor_overrides: dict[str, command_executor_config] - Executors that Tpx can use to override the default executor. local_resources: dict[str, None | label] - Mapping from a local resource type to a target with a corresponding provider. Required types are passed from test runner. If the value for a corresponding type is omitted it means local resource should be ignored when executing tests even if those are passed as required from test runner. worker: WorkerInfo - Configuration needed to spawn a new worker. This worker will be used to run every single command related to test execution, including listing. "},{"title":"InstallInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#installinfo","content":"def InstallInfo(installer: label, files: dict[str, artifact]) -> InstallInfo A provider that can be constructed and have its fields accessed. Returned by rules. Provides a number of fields that can be accessed: installer: label - field files: dict[str, artifact] - field "},{"title":"Label​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#label","content":"Label: type "},{"title":"LocalResourceInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#localresourceinfo","content":"def LocalResourceInfo( *, setup: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, resource_env_vars: dict[str, str], setup_timeout_seconds: None | float | int = None ) -> LocalResourceInfo A provider that can be constructed and have its fields accessed. Returned by rules. .type attribute​ Produces "LocalResourceInfo" Details​ Provides a number of fields that can be accessed: setup: cmd_args - Command to run to initialize a local resource. Running this command writes a JSON to stdout. This JSON represents a pool of local resources which are ready to be used. Example JSON would be: { "pid": 42, "resources": [ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ] } Where '"pid"maps to a PID of a process which should be sent SIGTERM to release the pool of resources when they are no longer needed."resources"maps to the pool of resources. When a local resource from this particular pool is needed for an execution command, single entity will be reserved from the pool, for example{"socket_address": "bar:2"}and environment variable with name resolved using mapping inresource_env_varsfield and"socket_address"` key will be added to execution command. resource_env_vars: dict[str, str] - Mapping from environment variable (appended to an execution command which is dependent on this local resource) to keys in setup command JSON output. setup_timeout_seconds: None | float | int - Timeout in seconds for setup command. "},{"title":"OutputArtifact​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#outputartifact","content":"OutputArtifact: type "},{"title":"PlatformInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#platforminfo","content":"def PlatformInfo( *, label: str, configuration: ConfigurationInfo ) -> PlatformInfo A provider that can be constructed and have its fields accessed. Returned by rules. .type attribute​ Produces "PlatformInfo" Details​ Provides a number of fields that can be accessed: label: str - field configuration: ConfigurationInfo - field "},{"title":"ProjectRoot​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#projectroot","content":"ProjectRoot: type "},{"title":"Promise​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#promise","content":"Promise: type "},{"title":"Provider​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#provider","content":"Provider: type "},{"title":"ProviderCollection​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#providercollection","content":"ProviderCollection: type "},{"title":"ProvidersLabel​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#providerslabel","content":"ProvidersLabel: type "},{"title":"ResolvedStringWithMacros​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#resolvedstringwithmacros","content":"ResolvedStringWithMacros: type "},{"title":"RunInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#runinfo","content":"def RunInfo( args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _ ) -> RunInfo Provider that signals that a rule is runnable .type attribute​ Produces "RunInfo" Details​ Provides a number of fields that can be accessed: args: cmd_args - The command to run, stored as CommandLine "},{"title":"Select​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#select","content":"Select: type "},{"title":"TargetLabel​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#targetlabel","content":"TargetLabel: type "},{"title":"TemplatePlaceholderInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#templateplaceholderinfo","content":"def TemplatePlaceholderInfo( unkeyed_variables = {}, keyed_variables = {} ) -> TemplatePlaceholderInfo A provider that is used for expansions in string attribute templates .type attribute​ Produces "TemplatePlaceholderInfo" Details​ String attribute templates allow two types of user-defined placeholders, "unkeyed placeholders" like $(CXX) or $(aapt) and "keyed placeholders" that include a target key like$(cxxppflags //some:target). The expansion of each of these types is based on theTemplatePlaceholderInfo providers. "keyed placeholders" are used for the form $(<key> <target>) or $(<key> <target> <arg>). In both cases the lookup will expect a TemplatePlaceholderInfo in the providers of <target>. It will then lookup<key> in the keyed_variables (call this the value). There are then four valid possibilities: no-arg placeholder, an arg-like value: resolve to valueno-arg placeholder, a dictionary value: resolve to value["DEFAULT"]arg placeholder, a non-dictionary value: this is an errorarg placeholder, a dictionary value: resolve to value[<arg>] "unkeyed placeholders" are resolved by matching to any of the deps of the target. $(CXX) will resolve to the "CXX" value in any dep's TemplateProviderInfo.unkeyed_variables Fields: unkeyed_variables: A mapping of names to arg-like values. These are used for "unkeyed placeholder" expansion.keyed_variables: A mapping of names to arg-like values or dictionary of string to arg-like values. These are used for "keyed placeholder" expansion. Provides a number of fields that can be accessed: unkeyed_variables: dict[str, typing.Any] - field keyed_variables: dict[str, typing.Any] - field "},{"title":"TransitiveSet​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitiveset","content":"TransitiveSet: type "},{"title":"TransitiveSetArgsProjection​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitivesetargsprojection","content":"TransitiveSetArgsProjection: type "},{"title":"TransitiveSetArgsProjectionIterator​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitivesetargsprojectioniterator","content":"TransitiveSetArgsProjectionIterator: type "},{"title":"TransitiveSetDefinition​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitivesetdefinition","content":"TransitiveSetDefinition: type "},{"title":"TransitiveSetIterator​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitivesetiterator","content":"TransitiveSetIterator: type "},{"title":"TransitiveSetJsonProjection​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitivesetjsonprojection","content":"TransitiveSetJsonProjection: type "},{"title":"ValidationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#validationinfo","content":"def ValidationInfo(*, validations: list[ValidationSpec]) -> ValidationInfo Provider describing how a given target node should be validated. Validations are run when target with ValidationInfo provider is a transitive dependency of a requested target. .type attribute​ Produces "ValidationInfo" Details​ Provides a number of fields that can be accessed: validations: list[ValidationSpec] - List of ValidationSpec values each representing a single validation. "},{"title":"ValidationSpec​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#validationspec","content":"def ValidationSpec( *, name: str, validation_result: artifact, optional: bool = False ) -> ValidationSpec .type attribute​ Produces "ValidationSpec" "},{"title":"WorkerInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#workerinfo","content":"def WorkerInfo(exe = [], *, concurrency: None | int = None) -> WorkerInfo Provider that signals that a rule is a worker tool .type attribute​ Produces "WorkerInfo" Details​ Provides a number of fields that can be accessed: exe: cmd_args - field concurrency: None | int - field "},{"title":"WorkerRunInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#workerruninfo","content":"def WorkerRunInfo(*, worker: WorkerInfo, exe = []) -> WorkerRunInfo Provider that signals that a rule can run using a worker .type attribute​ Produces "WorkerRunInfo" Details​ Provides a number of fields that can be accessed: worker: WorkerInfo - field exe: cmd_args - field "},{"title":"anon_rule​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#anon_rule","content":"def anon_rule( *, impl: typing.Callable[[typing.Any], list[typing.Any]], attrs: dict[str, attribute], doc: str = "", artifact_promise_mappings: dict[str, typing.Callable[[typing.Any], list[typing.Any]]] ) -> "function" Define an anon rule, similar to how a normal rule is defined, except with an extra artifact_promise_mappings field. This is a dict where the keys are the string name of the artifact, and the values are the callable functions that produce the artifact. This is only intended to be used with anon targets. "},{"title":"attrs​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#attrs","content":"attrs: attrs "},{"title":"bxl​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#bxl","content":"bxl: struct(ActionQueryNode = type, Actions = type, AnalysisResult = type, AqueryContext = type, AuditContext = type, BuildResult = type, CliArgs = type, ConfiguredTargetNode = type, ConfiguredTargetSet = type, Context = type, CqueryContext = type, EnsuredArtifact = type, FileNode = type, Filesystem = type, LazyResolvedAttrs = type, OutputStream = type, TargetUniverse = type, UnconfiguredTargetNode = type, UnconfiguredTargetSet = type, UqueryContext = type, cli_args = struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function"), ctarget_set = "function", fail_no_stacktrace = "function", file_set = "function", get_path_without_materialization = "function", get_paths_without_materialization = "function", now = "function", utarget_set = "function") "},{"title":"bxl_main​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#bxl_main","content":"def bxl_main( *, impl: typing.Callable, cli_args: dict[str, bxl.CliArgs], doc: str = "" ) "},{"title":"cli_args​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#cli_args","content":"cli_args: struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function") "},{"title":"cmd_args​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#cmd_args","content":"def cmd_args( *args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, hidden: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _, delimiter: str = _, format: str = _, prepend: str = _, quote: str = _, ignore_artifacts: bool = False, absolute_prefix: str = _, absolute_suffix: str = _, parent: int = 0, relative_to: artifact | cell_root | project_root | (artifact | cell_root | project_root, int) = _, replace_regex: list[(buck_regex | str, str)] | (buck_regex | str, str) = _ ) -> cmd_args The cmd_args type is created by this function and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value. .type attribute​ Produces "cmd_args" Details​ The arguments are: *args - a list of things to add to the command line, each of which must be coercible to a command line. Further items can be added with cmd.add.format - a string that provides a format to apply to the argument. for example, cmd_args(x, format="--args={}") would prepend --args= before x, or if x was a list, before each element in x.delimiter - added between arguments to join them together. For example, cmd_args(["--args=",x], delimiter="") would produce a single argument to the underlying tool.prepend - added as a separate argument before each argument.quote - indicates whether quoting is to be applied to each argument. The only current valid value is "shell".ignore_artifacts - if True, artifacts paths are used, but artifacts are not pulled.hidden - artifacts not present on the command line, but added as dependencies.absolute_prefix and absolute_suffix - added to the start and end of each artifact.parent - for all the artifacts use their parentth directory (e.g. parent = 1 for the directory the artifact is located, parent = 2 for that directory's parent, etc.).relative_to - make all artifact paths relative to a given location.replace_regex - replaces arguments with a regular expression. "},{"title":"ignore_artifacts​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#ignore_artifacts","content":"ignore_artifacts=True makes cmd_args to have no declared dependencies. Allows you to reference the path of an artifact without introducing dependencies on it. As an example where this can be useful, consider passing a dependency that is only accessed at runtime, but whose path must be baked into the binary. As an example: resources = cmd_args(resource_file, format = "-DFOO={}").ignore_artifacts() ctx.actions.run(cmd_args("gcc", "-c", source_file, resources)) Note that ignore_artifacts sets all artifacts referenced by this cmd_args to be ignored, including those added afterwards, so generally create a special cmd_args and scope it quite tightly. If you actually do use the inputs referenced by this command, you will either error out due to missing dependencies (if running actions remotely) or have untracked dependencies that will fail to rebuild when it should. "},{"title":"hidden​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#hidden","content":"Things to add to the command line which do not show up but are added as dependencies. The values can be anything normally permissible to pass to add. Typically used if the command you are running implicitly depends on files that are not passed on the command line, e.g. headers in the case of a C compilation. "},{"title":"absolute_prefix and absolute_suffix​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#absolute_prefix-and-absolute_suffix","content":"Adds a prefix to the start or end of every artifact. Prefix is often used if you have a $ROOT variable in a shell script and want to use it to make files absolute. Suffix is often used in conjunction with absolute_prefixto wrap artifacts in function calls. cmd_args(script, absolute_prefix = "$ROOT/") cmd_args(script, absolute_prefix = "call", absolute_suffix = ")") `parent ` For all the artifacts use their parent directory. Typically used when the file name is passed one way, and the directory another, e.g. cmd_args(artifact, format="-L{}", parent=1). relative_to=dir or relative_to=(dir, parent) Make all artifact paths relative to a given location. Typically used when the command you are running changes directory. By default, the paths are relative to the artifacts themselves (equivalent to parent equals to 0). Use parent to make the paths relative to an ancestor directory. For example parent equals to 1 would make all paths relative to the containing dirs of any artifacts in the cmd_args. dir = symlinked_dir(...) script = [ cmd_args(dir, format = "cd {}", relative_to=dir), ] replace_regex Replaces all parts matching pattern regular expression (or regular expressions) in each argument with replacement strings. "},{"title":"ctarget_set​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#ctarget_set","content":"def ctarget_set(nodes: list[bxl.ConfiguredTargetNode] = _) -> target_set Creates a target set from a list of configured nodes. Sample usage: def _impl_ctarget_set(ctx): targets = bxl.ctarget_set([cnode_a, cnode_b]) ctx.output.print(type(targets)) ctx.output.print(len(targets)) "},{"title":"dedupe​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#dedupe","content":"def dedupe(val, /) Remove duplicates in a list. Uses identity of value (pointer), rather than by equality. In many cases you should use a transitive set instead. "},{"title":"dynamic_actions​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#dynamic_actions","content":"def dynamic_actions( *, impl: typing.Callable["actions: actions, artifacts: dict[artifact, artifact_value], outputs: dict[artifact, artifact], arg: typing.Any", None] ) -> DynamicActionCallable Create new dynamic action callable. Returned object will be callable, and the result of calling it can be passed to ctx.actions.dynamic_output_new. "},{"title":"fail_no_stacktrace​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#fail_no_stacktrace","content":"def fail_no_stacktrace(*args) -> None "},{"title":"file_set​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#file_set","content":"def file_set() -> file_set Creates an empty file set for configured nodes. Sample usage: def _impl_file_set(ctx): files = file_set() ctx.output.print(type(files)) ctx.output.print(len(files)) "},{"title":"get_base_path​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#get_base_path","content":"def get_base_path() -> str get_base_path() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar. This function is identical to package_name. "},{"title":"get_cell_name​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#get_cell_name","content":"def get_cell_name() -> str get_cell_name() can be called from either a BUCK file or a .bzl file, and returns the name of the cell where the BUCK file that started the call lives. For example, inside foo//bar/baz/BUCK the output will be foo. If that BUCK file does a load("hello//world.bzl", "something") then the result in that .bzl file will also be foo. "},{"title":"get_path_without_materialization​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#get_path_without_materialization","content":"def get_path_without_materialization( this: artifact, ctx: bxl.Context, /, *, abs: bool = False ) -> str The output path of an artifact-like (source, build, declared). Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized (i.e. it may not actually exist on the disk yet). This is a risky function to call because you may accidentally pass this path to further BXL actions that expect the artifact to be materialized. If this happens, the BXL script will error out. If you want the path without materialization for other uses that don’t involve passing them into further actions, then it’s safe. Sample usage: def _impl_get_path_without_materialization(ctx): owner = ctx.cquery().owner("cell//path/to/file")[0] artifact = owner.get_source("cell//path/to/file", ctx) source_artifact_project_rel_path = get_path_without_materialization(artifact, ctx) ctx.output.print(source_artifact_project_rel_path) # Note this artifact is NOT ensured or materialized "},{"title":"get_paths_without_materialization​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#get_paths_without_materialization","content":"def get_paths_without_materialization( cmd_line: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo, ctx: bxl.Context, /, *, abs: bool = False ) The output paths of a cmd_args() inputs. The output paths will be returned as a list. Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized, (i.e. it may not actually exist on the disk yet). This is a risky function to call because you may accidentally pass this path to further BXL actions that expect the artifact to be materialized. If this happens, the BXL script will error out. If you want the path without materialization for other uses that don’t involve passing them into further actions, then it’s safe. Sample usage: def _impl_get_paths_without_materialization(ctx): node = ctx.configured_targets("root//bin:the_binary") providers = ctx.analysis(node).providers() path = get_paths_without_materialization(providers[RunInfo], abs=True) # Note this artifact is NOT ensured or materialized ctx.output.print(path) "},{"title":"glob​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#glob","content":"def glob( include: list[str] | tuple[str, ...], *, exclude: list[str] | tuple[str, ...] = [] ) -> list[str] The glob() function specifies a set of files using patterns. Only available from BUCK files. A typical glob call looks like: glob(["foo/**/*.h"]) This call will match all header files in the foo directory, recursively. You can also pass a named exclude parameter to remove files matching a pattern: glob(["foo/**/*.h"], exclude = ["**/config.h"]) This call will remove all config.h files from the initial match. The glob() call is evaluated against the list of files owned by this BUCK file. A file is owned by whichever BUCK file is closest above it - so given foo/BUCK andfoo/bar/BUCK the file foo/file.txt would be owned by foo/BUCK (and available from its glob results) but the file foo/bar/file.txt would be owned by foo/bar/BUCkand not appear in the glob result of foo/BUCK, even if you write glob(["bar/file.txt"]). As a consequence of this rule, glob(["../foo.txt"]) will always return an empty list of files. Currently glob is evaluated case-insensitively on all file systems, but we expect that to change to case sensitive in the near future. "},{"title":"host_info​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#host_info","content":"def host_info() -> struct(..) The host_info() function is used to get the current OS and processor architecture on the host. The structure returned is laid out thusly: struct( os=struct( is_linux=True|False, is_macos=True|False, is_windows=True|False, is_freebsd=True|False, is_unknown=True|False, ), arch=struct( is_aarch64=True|False, is_arm=True|False, is_armeb=True|False, is_i386=True|False, is_mips=True|False, is_mips64=True|False, is_mipsel=True|False, is_mipsel64=True|False, is_powerpc=True|False, is_ppc64=True|False, is_x86_64=True|False, is_unknown=True|False, ), ) "},{"title":"implicit_package_symbol​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#implicit_package_symbol","content":"def implicit_package_symbol(name: str, default = _) "},{"title":"load_symbols​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#load_symbols","content":"def load_symbols(symbols: dict[str, typing.Any]) -> None Used in a .bzl file to set exported symbols. In most cases just defining the symbol as a top-level binding is sufficient, but sometimes the names might be programatically generated. It is undefined behaviour if you try and use any of the symbols exported here later in the same module, or if they overlap with existing definitions. This function should be used rarely. "},{"title":"now​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#now","content":"def now() -> instant Creates an Instant at the current time. Sample usage: def _impl_elapsed_millis(ctx): instant = now() time_a = instant.elapsed_millis() # do something that takes a long time time_b = instant.elapsed_millis() ctx.output.print(time_a) ctx.output.print(time_b) This function is only accessible through Bxl. "},{"title":"oncall​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#oncall","content":"def oncall(name: str, /) -> None Called in a BUCK file to declare the oncall contact details for all the targets defined. Must be called at most once, before any targets have been declared. Errors if called from a .bzl file. "},{"title":"package​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#package","content":"def package( *, inherit: bool = False, visibility: list[str] | tuple[str, ...] = [], within_view: list[str] | tuple[str, ...] = [] ) -> None "},{"title":"package_name​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#package_name","content":"def package_name() -> str package_name() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar. "},{"title":"plugins​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#plugins","content":"plugins: plugins "},{"title":"provider​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#provider-1","content":"def provider( *, doc: str = "", fields: list[str] | tuple[str, ...] | dict[str, typing.Any] ) -> provider_callable Create a "provider" type that can be returned from rule implementations. Used to pass information from a rule to the things that depend on it. Typically named with an Info suffix. GroovyLibraryInfo(fields = [ "objects", # a list of artifacts "options", # a string containing compiler options ]) Given a dependency you can obtain the provider with my_dep[GroovyLibraryInfo]which returns either None or a value of type GroovyLibraryInfo. For providers that accumulate upwards a transitive set is often a good choice. "},{"title":"provider_field​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#provider_field","content":"def provider_field( ty, /, *, default = _ ) -> ProviderField Create a field definition object which can be passed to provider type constructor. "},{"title":"read_config​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#read_config","content":"def read_config(section: str, key: str, default = _) Read a configuration from the nearest enclosing .buckconfig of the BUCK file that started evaluation of this code. As an example, if you have a .buckconfig of: [package_options] compile = super_fast Then you would get the following results: read_config("package_options", "compile") == "super_fast" read_config("package_options", "linker") == None read_config("package_options", "linker", "a_default") == "a_default" In general the use of .buckconfig is discouraged in favour of select, but it can still be useful. "},{"title":"read_oncall​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#read_oncall","content":"def read_oncall() -> None | str Called in a BUCK file to retrieve the previously set oncall, or None if none has been set. It is an error to call oncall after calling this function. "},{"title":"read_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#read_package_value","content":"def read_package_value(key: str, /) Read value specified in the PACKAGE file. Returns None if value is not set. "},{"title":"read_parent_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#read_parent_package_value","content":"def read_parent_package_value(key: str, /) Read a package value defined in a parent PACKAGE file. This function can only be called in a Package context. Returns None if value is not set. "},{"title":"read_root_config​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#read_root_config","content":"def read_root_config( section: str, key: str, default: None | str = None, / ) -> None | str Like read_config but the project root .buckconfig is always consulted, regardless of the cell of the originating BUCK file. "},{"title":"regex​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#regex","content":"def regex( regex: str, /, *, fancy: bool = False ) -> buck_regex .type attribute​ Produces "buck_regex" "},{"title":"regex_match​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#regex_match","content":"def regex_match(regex: str, str: str, /) -> bool Test if a regular expression matches a string. Fails if the regular expression is malformed. As an example: regex_match("^[a-z]*$", "hello") == True regex_match("^[a-z]*$", "1234") == False "},{"title":"repository_name​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#repository_name","content":"def repository_name() -> str Like get_cell_name() but prepends a leading @ for compatibility with Buck1. You should call get_cell_name() instead, and if you really want the @, prepend it yourself. "},{"title":"rule​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#rule","content":"def rule( *, impl: typing.Callable[[typing.Any], list[typing.Any]], attrs: dict[str, attribute], cfg = _, doc: str = "", is_configuration_rule: bool = False, is_toolchain_rule: bool = False, uses_plugins: list[typing.Any] | tuple = [] ) -> "function" Define a rule. As a simple example: def _my_rule(ctx: AnalysisContext) -> list[Provider]: output = ctx.actions.write("hello.txt", ctx.attrs.contents, executable = ctx.attrs.exe) return [DefaultInfo(outputs = [output])] MyRule = rule(impl = _my_rule, attrs = { "contents": attrs.string(), "exe": attrs.option(attrs.bool(), default = False), }) "},{"title":"rule_exists​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#rule_exists","content":"def rule_exists(name: str) -> bool Check if the target with name has already been defined, returns True if it has. Note that this function checks for the existence of a target rather than a rule. In general use of this function is discouraged, as it makes definitions of rules not compose. "},{"title":"select​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#select-1","content":"def select(d, /) -> selector "},{"title":"select_equal_internal​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#select_equal_internal","content":"def select_equal_internal(left, right, /) -> bool Tests that two selects are equal to each other. For testing use only. We simply compare their string representations. "},{"title":"select_map​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#select_map","content":"def select_map(d, func, /) Maps a selector. Each value within a selector map and on each side of an addition will be passed to the mapping function. The returned selector will have the same structure as this one. Ex: def increment_items(a): return [v + 1 for v in a] select_map([1, 2] + select({"c": [2]}), increment_items) == [2, 3] + select({"c": [3]}) "},{"title":"select_test​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#select_test","content":"def select_test(d, func, /) -> bool Test values in the select expression using the given function. Returns True, if any value in the select passes, else False. Ex: select_test([1] + select({"c": [1]}), lambda a: len(a) > 1) == False select_test([1, 2] + select({"c": [1]}), lambda a: len(a) > 1) == True select_test([1] + select({"c": [1, 2]}), lambda a: len(a) > 1) == True "},{"title":"set_cfg_constructor​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#set_cfg_constructor","content":"def set_cfg_constructor( *, stage0, stage1, key: str, aliases = None ) -> None Register global cfg constructor. This function can only be called from the repository root PACKAGE file. Parameters: stage0: The first cfg constructor that will be invoked before configuration rules are analyzed. stage1: The second cfg constructor that will be invoked after configuration rules are analyzed. key: The key for cfg modifiers on PACKAGE values and metadata. "},{"title":"set_starlark_peak_allocated_byte_limit​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#set_starlark_peak_allocated_byte_limit","content":"def set_starlark_peak_allocated_byte_limit(value: int, /) -> None Set the peak allocated bytes during evaluation of build ctx. Err if it has already been set "},{"title":"sha256​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#sha256","content":"def sha256(val: str, /) -> str Computes a sha256 digest for a string. Returns the hex representation of the digest. sha256("Buck2 is the best build system") == "bb99a3f19ecba6c4d2c7cd321b63b669684c713881baae21a6b1d759b3ec6ac9" "},{"title":"soft_error​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#soft_error","content":"def soft_error( category: str, message: str, /, *, quiet: bool = _, stack: bool = _ ) -> None Produce an error that will become a hard error at some point in the future, but for now is a warning which is logged to the server. In the open source version of Buck2 this function always results in an error. Called passing a stable key (must be snake_case and start with starlark_, used for consistent reporting) and an arbitrary message (used for debugging). As an example: soft_error( "starlark_rule_is_too_long", "Length of property exceeds 100 characters in " + repr(ctx.label), ) "},{"title":"transition​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transition","content":"def transition( *, impl: typing.Callable, refs: dict[str, str], attrs: list[str] | tuple[str, ...] = _, split: bool = False ) -> transition "},{"title":"transitive_set​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitive_set","content":"def transitive_set( *, args_projections: dict[str, typing.Any] = _, json_projections: dict[str, typing.Any] = _, reductions: dict[str, typing.Any] = _ ) -> transitive_set_definition "},{"title":"utarget_set​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#utarget_set","content":"def utarget_set(nodes: list[bxl.UnconfiguredTargetNode] = _) -> target_set Creates a target set from a list of unconfigured nodes. Sample usage: def _impl_utarget_set(ctx): targets = bxl.utarget_set([unode_a, unode_b]) ctx.output.print(type(targets)) ctx.output.print(len(targets)) "},{"title":"warning​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#warning","content":"def warning(x: str, /) -> None Print a warning. The line will be decorated with the timestamp and other details, including the word WARN (colored, if the console supports it). If you are not writing a warning, use print instead. Be aware that printing lots of output (warnings or not) can be cause all information to be ignored by the user. "},{"title":"write_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#write_package_value","content":"def write_package_value( key: str, value, /, *, overwrite: bool = False ) -> None Set the value to be accessible in the nested PACKAGE files. If any parent PACKAGE value has already set the same key, it will raise an error unless you pass overwrite = True, in which case it will replace the parent value. "},{"title":"FAQs","type":0,"sectionRef":"#","url":"/docs/developers/bxl_faqs/","content":"","keywords":""},{"title":"When is my BXL script cached?​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#when-is-my-bxl-script-cached","content":"The entire BXL script is represented as a single node on the DICE graph (Buck2’s internal dependency graph). When the script’s input changes, the entire node is invalidated and needs to be recomputed. For example, if a BXL function calls uquery, then uses the result to do a cquery and then a build, if Buck2 detects that any of the recorded calls to uquery, cquery, and build changes, then the entire BXL script will be reran. The computations themselves (uquery, cquery, and build) will still be incrementally evaluated via DICE, so we are not rerunning every computation entirely within the BXL. When the BXL script creates artifacts and ensures them, those artifacts are cached separately in an action outside of the BXL execution. This means that the artifacts produced by BXL are cached separately from the BXL script itself, much like the computations within a BXL. During 2023, there is a plan to add finer grain incrementality to make better use of DICE’s existing incrementality support. "},{"title":"What’s the difference between ctx.output.print() and print()?​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#whats-the-difference-between-ctxoutputprint-and-print","content":"ctx.output.print() writes items to stdout by buck2 even when the script is cached. Items written to the output stream are considered to be the results of a BXL script, which will be displayed to stdout by buck2 even when the script is cached.print() is offered by Starlark via the stdlib. This prints anything you want but won’t be provided to stdout at the end of a BXL script. These can be used to print to stderr. NOTE: print() statements don't show up if the script has been cached. "},{"title":"What do I need to know about ensured artifacts​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#what-do-i-need-to-know-about-ensured-artifacts","content":"An ensured_artifact prints out the relative or absolute path viactx.output.print(), depending on if called with abs_path() or rel_path(), but will print out <ensured artifact bound to <some path>> via print(). This is intentional because when the ensured artifact is created within BXL, it has not been materialized yet. It will be materialized after the BXL script finishes executing, and Buck2 core performs some additional actions after the BXL script. This is a safeguard to prevent people from misusing the artifact path and passing it into an action without the artifact having been materialized or passing an absolute path into RE, which can actually mess up RE and render the action not shareable across users. In addition, it makes these actions separately cacheable from the BXL execution. "},{"title":"What is the difference between dynamic outputs and anon targets?​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#what-is-the-difference-between-dynamic-outputs-and-anon-targets","content":"Dynamic outputs are meant fordynamic dependencies. The context type is a bxl_ctx. Dynamic outputs are ran asynchronously outside of the BXL execution. Anon targets are meant for sharing work betwen multiple BXLs. The context type is a normal rule analysis context. Anon targets are await-ed inline with your BXL function. "},{"title":"Can I mutate types returned by BXL APIs?​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#can-i-mutate-types-returned-by-bxl-apis","content":"The data types produced by BXL API calls are always immutable. "},{"title":"What is run synchronously vs asynchronously?​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#what-is-run-synchronously-vs-asynchronously","content":"Starlark itself is run synchronously. However, certain BXL APIs are evaluated asynchronously. If you pass in multiple inputs to builds, queries, or analyses, the execution of these API calls will be blocking, but the inputs themselves will be evaluated in parallel within the execution. Ensuring artifacts, dynamic outputs, anon targets, and resolving promises will happen after the Starlark script is executed. "},{"title":"Getting Started","type":0,"sectionRef":"#","url":"/docs/developers/bxl_getting_started/","content":"","keywords":""},{"title":"Navigating the docs​","type":1,"pageTitle":"Getting Started","url":"/docs/developers/bxl_getting_started/#navigating-the-docs","content":"All BXL APIs can be found here. A good place to start would be the bxl.Context, which contains all available BXL functionalities. All Build APIs are mirrored to the BXL APIs section. The Starlark specis also a good resource for general Starlark APIs. "},{"title":"Writing a BXL​","type":1,"pageTitle":"Getting Started","url":"/docs/developers/bxl_getting_started/#writing-a-bxl","content":"To create a BXL, first, create a script somewhere in the repository ending in.bxl. (Note that you can define a single bxl per file, or multiple BXLs per file like in Starlark rules). In it, define a BXL function as follows: def _your_implementation(ctx): # ... pass your_function_name = bxl_main( impl = _your_implementation, cli_args = { # cli args that you want to receive from the command line "bool_arg": cli_args.bool(), "list_type": cli_args.list(cli_args.int()), "optional": cli_args.option(cli_args.string()), "target": cli_args.target_label(), }, ) This exposes your_function_name as a function, with whatever arguments you defined it, so that on the command line you can invoke: buck2 bxl //myscript.bxl:your_function_name -- --bool_arg true --list_type 1 --list_type 2 --target //foo:bar` You can also add helpdocs to the cli args and get them to show up in cli via--help: def _your_implementation(ctx): # ... pass your_function_name = bxl_main( impl = _your_implementation, cli_args = { "my_bool": cli_args.bool(True, "this will be printed as part of `--help`") }, ) The implementation function takes a single context as parameter (see the documentation for bxl.Context). Using it, you'll be able to access functions that enable you to perform queries, analysis, builds, and even create your own actions within BXL to build artifacts as part of a BXL function. The primary method to return information from BXL is to either print them, or build some artifact (for details, see thebxl.OutputStream documentation, available as part of ctx.output). At high level, ctx.output.print(..) prints results to stdout, and ctx.output.ensure(artifact) marks artifacts as to be materialized into buck-out by the end of the BXL function, returning an object that lets you print the output path via ctx.output.print(ensured). "},{"title":"Running a BXL​","type":1,"pageTitle":"Getting Started","url":"/docs/developers/bxl_getting_started/#running-a-bxl","content":"To run a BXL function, invoke the buck2 command: buck2 bxl <bxl function> -- <function args> Where <bxl function> is of the form <cell path to function>:<function name>, and <function args> are the arguments that the function accepts from the command line. The documentation for a BXL function can be seen by running: buck2 bxl <bxl function> -- --help` Note that this is different from buck2 bxl --help, which generates the help for the buck2 command instead of the function. "},{"title":"BXL Basics","type":0,"sectionRef":"#","url":"/docs/developers/bxl_basics/","content":"","keywords":""},{"title":"Common BXL functionalities​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#common-bxl-functionalities","content":""},{"title":"Build​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#build","content":"You can build targets within BXL withctx.build(). The result is abxl.BuildResult, which has artifacts() andfailures() functions that provide iterators to the artifacts or failures, respectively. You can pass in a single target or target pattern to build. "},{"title":"Analysis​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#analysis","content":"You can run analysis on targets within BXL viactx.analysis(). Analysis means to evaluate the underlying rule implementation for the inputted targets, and produce the providers that the rule defined for the target. A common workflow is to inspect the resulting providers, and perhaps ensure parts of these providers or run actions using information from the providers (see Actionsbelow). "},{"title":"Query​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#query","content":"Buck2 supports a couple different query types: querying the unconfigured graph (buck2 uquery), the configured graph (buck2 cquery), or the action graph (buck2 aquery). These queries are all available in BXL as well: ctx.uquery() returns abxl.UqueryContextctx.cquery() returns abxl.CqueryContextctx.aquery() returns abxl.AqueryContext You can read more about the individual queries in the API docs. There are many queries that are common between uquery, cquery, and aquery, but cquery and aquery will have extra queries unique to the configured graph or the action graph. One more thing to call out is the eval() query, which is a special query that takes in the entire query as a string literal. A common use foreval() is to migrate a complex query from Buck2 CLI to BXL by dropping the entire query string directly into eval(). The query results are target sets (iterable container) ofbxl.UnconfiguredTargetNodes for uquery, bxl.ConfiguredTargetNodesfor cquery, and bxl.ActionQueryNodes for aquery. Each of these node types have accessors on their attributes. A common workflow is to run some query in BXL, and iterate through the resulting nodes to inspect their attributes, and use those attributes to inform further computations in BXL. Uquery​ Querying the unconfigured graph means that no configurations (such as platforms and transitions) have been applied to the target graph yet. This means that it's very possible that some parts of the target graph is broken due to lack of configurations. Generally to avoid this problem, cquery may be preferred instead. Cquery​ Querying the configured graph means that configurations have been applied to the target graph. For cquery, we require that users use atarget universe for their query inputs. Aquery​ Aquery is a quite different from uquery and cquery. It is used to query the action graph, which is constructed after Buck2 runs analysis on the targets and produces the list of providers and actions needed to build the target. "},{"title":"Actions​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#actions","content":"You can create actions directly within the BXL API. The available action APIs are equivalent to the ones found on the actions type for normal rules, with the caveat thatdynamic actions use thebxl.Context (which provides richer functionalities). A common workflow would be to run analysis on a target, and use some interesting bits found in the analysis result to construct an augmentedcmd_args to run, and then ensure the action's output (see below for ensuring). Also seeRunning actions. "},{"title":"Ensure​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#ensure","content":"Ensuring an artifact means that you want the artifact to be materialized (meaning, downloaded to your machine) at the end of the BXL execution. There are two APIs for ensuring: ctx.output.ensure() and ctx.output.ensure_multiple()(see bxl.OutputStream). As the naming indicates, the former is for ensuring a single artifact, and the latter is for ensuring multiple artifact-like inputs. Artifact-like inputs includecmd_args (can be found when inspecting providers),bxl.BuildResult (produced when building something in BXL), or artifact (can be found when inspecting providers, or creating your own actions). A common workflow is to ensure an artifact that you created via some custom actions defined in your script, or ensuring some artifacts found in the providers after running analysis. Also seeWhat do I need to know about ensured artifacts. "},{"title":"Common How-Tos","type":0,"sectionRef":"#","url":"/docs/developers/bxl_how_tos/","content":"","keywords":""},{"title":"Passing in and using CLI args​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#passing-in-and-using-cli-args","content":"A BXL function can accept a cli_args attribute where args names and types are specified to use within your script, as shown in the following example: Example: def _impl_example(ctx): # ... pass example = bxl_main( impl = _impl_example, cli_args = { # cli args that you want to receive from the command line "bool_arg": cli_args.bool(), "list_type": cli_args.list(cli_args.int()), "optional": cli_args.option(cli_args.string()), "target": cli_args.target_label(), }, ) On the command line, you can invoke the arguments as follows: buck2 bxl //myscript.bxl:example -- --bool_arg true --list_type 1 --list_type 2 --target //foo:bar For BXL functions, to read the arguments, use them as attributes from thecli_args attribute on the BXL ctx object, as follows: def _impl_example(ctx): my_bool_arg = ctx.cli_args.bool_arg "},{"title":"Running actions​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#running-actions","content":"You can create actions within BXL via the actions_factory. This is called once globally then used on demand: def _impl_example(ctx): actions = ctx.bxl_actions().actions # call once, reuse wherever needed output = actions.write("my_output", "out") You will need to haveexecution platformsenabled for your project, or else you will get an error. You can specify the execution platform resolution by setting named parameters when instantiatingbxl_actions: exec_deps - These are dependencies you wish to access as executables for creating the action. This is usually the same set of targets one would pass to rule's attr.exec_dep. Accepts a list of strings, subtarget labels, target labels, or target nodes.toolchains - The set of toolchains needed for the actions you intend to create. Accepts a list of strings, subtarget labels, target labels, or target nodes.target_platform - The intended target platform for your toolchains. Accepts a string or target label.exec_compatible_with - Explicit list of configuration nodes (like platforms or constraints) that these actions are compatible with. This is theexec_compatible_with attribute of a target. Accepts a list of strings, target labels, or target nodes. If you specify exec_deps or toolchains, you can access the resolveddependency objects on the bxl_actions object. The bxl_actions object will have exec_deps and toolchains attributes, which are dicts where the keys are the unconfigured subtarget labels, and the values are the configured/resolved dependency objects. Note that the keys of exec_deps and toolchains must be unconfigured subtarget labels (StarlarkProvidersLabel), and not unconfigured target labels. You can use ctx.unconfigured_sub_targets(...) or with_sub_target() ontarget_label to create the label. def _impl_example(ctx): my_exec_dep = ctx.unconfigured_sub_targets("foo//bar:baz") # has some provider that you would use in the action bxl_actions = ctx.bxl_actions(exec_deps = [my_exec_dep]) # call once, reuse wherever needed output = bxl_actions.actions.run( [ "python3", bxl_actions.exec_deps[my_exec_dep][RunInfo], # access resolved exec_deps on the `bxl_actions` out.as_output(), ], category = "command", local_only = True, ) ctx.output.ensure(output) "},{"title":"Getting providers from an analysis​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#getting-providers-from-an-analysis","content":"After calling analysis(), you can get the providers collection fromproviders(): def _impl_example(ctx): my_providers = ctx.analysis(my_target).providers() "},{"title":"Get a specific provider from an analysis​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#get-a-specific-provider-from-an-analysis","content":"After calling analysis(), you can also get the providers collection fromproviders() then grab whatever specific provider you need: def _impl_example(ctx): default_info = ctx.analysis(my_target).providers()[DefaultInfo] ctx.output.print(default_info) "},{"title":"Get a specific subtarget from an analysis​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#get-a-specific-subtarget-from-an-analysis","content":"Once you have a provider, you can get its subtargets by using the sub_targetsattribute on the struct to get a dict of provider labels to provider collections: def _impl_example(ctx): subtarget = ctx.analysis(my_target).providers()[DefaultInfo].sub_targets["my_subtarget"] ctx.output.print(subtarget) "},{"title":"Building a target/subtarget without blocking​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#building-a-targetsubtarget-without-blocking","content":"ctx.build is synchronous and should only be used when the result of the build is needed inline during the bxl execution. To execute builds without blocking the script, retrieve the DefaultInfo from the target's providers and use thectx.output.ensure_multiple api. Example: ctx.output.ensure_multiple(ctx.analysis(label).providers()[DefaultInfo]) "},{"title":"Getting attributes or resolved attributes efficiently on a configured target node​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#getting-attributes-or-resolved-attributes-efficiently-on-a-configured-target-node","content":"If you need to use all of the attrs/resolved_attrs, then initializing the eager variant once would be best. If you only need a few of the attrs, then initializing the lazy variant is better. There’s not really a hard line, it depends on the target node, and which attrs you are looking for. If performance is key to your BXL script, the best way to determine this is to use the BXL profiler. Regardless, if you use eager or lazy versions of getting attributes, you should cache the attrs object: def _impl_example(ctx): my_configured_node = ctx.configured_targets(":foo") # call once and resue, ideally when you need most/all attrs eager = my_configured_node.attrs_eager() # call once and reuse, ideally when you only need a few attrs lazy = my_configured_node.attrs_lazy() # call once and reuse, ideally when you need most/all resolved attrs resolved_eager = my_configured_node.resolved_attrs_eager(ctx) # call once and reuse, ideally when you only need a few resolved attrs resolved_lazy = my_configured_node.resolved_attrs_lazy(ctx) "},{"title":"Inspecting a struct​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#inspecting-a-struct","content":"You can use dir(my_struct) to inspect a struct. You can also usegetattr(my_struct, "my_attr") to grab individual attributes, which is equivalent to my_struct.my_attr. These are available as part of theStarlark language spec. "},{"title":"Set addition/subtraction on a target_set​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#set-additionsubtraction-on-a-target_set","content":"There are a few BXL actions that return a target_set (such as a cqueryeval()). The target_set supports set subtraction and addition (you can use- and + directly in Starlark). "},{"title":"Initializing configured/unconfigured target_set​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#initializing-configuredunconfigured-target_set","content":"You can use following apis to initialize target_set def bxl.utarget_set(nodes: None | list[bxl.UnconfiguredTargetNode]) -> bxl.UnconfiguredTargetSet def bxl.ctarget_set(nodes: None | list[bxl.ConfiguredTargetNode]) -> bxl.ConfiguredTargetSet "},{"title":"Profiling, Testing, and Debugging a BXL script​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#profiling-testing-and-debugging-a-bxl-script","content":"You can use buck2 bxl profiler, with various measurements, to determine where the script is least efficient. To time individual pieces of the script, you can use BXL’s timestamp methods: def _impl_example(_ctx): start = now() # call once and reuse wherever is necessary # do something time intensive here end1 = start.elapsed_millis() # do something else time intensive here end2 = start.elapsed_millis() Debug - the common way to debug a BXL script is with print statements (print(), pprint() and ctx.output.print()). Test - BXL does not have a robust testing framework for mocking. The main method to test a BXL script is to actually invoke it with required inputs then verify the outputs. "},{"title":"Getting the path of an artifact as a string​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#getting-the-path-of-an-artifact-as-a-string","content":"The starlark artifact type encapsulates source artifacts, declared artifacts, and build artifacts. It can be dangerous to access paths and use them in further BXL computations. For example, if you are trying to use absolute paths for something and end up passing it into a remotely executed action, the absolute path may not exist on the remote machine. Or, if you are working with paths and expecting the artifact to already have been materialized in further BXL computations, that would also result in errors. However, if you are not making any assumptions about the existence of these artifacts, you can use useget_path_without_materialization(), which accepts source, declared, or build aritfacts. It does not accept ensured artifacts (also seeWhat do I need to know about ensured artifacts). For getting paths of cmd_args() inputs, you can useget_paths_without_materialization(), but note this is risky because the inputs could contain tsets, which, when expanded, could be very large. Use these methods at your own risk. "},{"title":"BXL Telemetry","type":0,"sectionRef":"#","url":"/docs/developers/bxl_telemetry/","content":"","keywords":""},{"title":"Telemetry​","type":1,"pageTitle":"BXL Telemetry","url":"/docs/developers/bxl_telemetry/#telemetry","content":""},{"title":"Emitting events from your BXL script​","type":1,"pageTitle":"BXL Telemetry","url":"/docs/developers/bxl_telemetry/#emitting-events-from-your-bxl-script","content":"In BXL, you can emit custom events via ctx.instant_event(), which takes in two named parameters: id: string, identifies your event. Helpful to identify your event when looking through event logs. Ids do not have to be unique in a single BXL script.metadata: dict, where keys are strings, and values are strings, bools, ints, or lists/dicts of the mentioned types. You can put any metadata you wish here. Example: def _impl(ctx): ctx.instant_event(id = "id1", metadata = {"foo": "bar"}) my_script = bxl_main( impl = _impl, cli_args = {}, ) Only instant events can be manually created within BXL at this time, which means that the event represents a single point in time. If you need something similar to spans (start and end events which encompass a range of time) for measuring the duration of a particular section (excluding actions - see below for more information), you could couple instant events with the global now() function to measure the duration yourself: def _impl(ctx): instant = now() # do something time intensive end = instant.elapsed_millis() ctx.instant_event(id = "id1", metadata = {"duration": end}) # do something else time intensive end = instant.elapsed_millis() ctx.instant_event(id = "id2", metadata = {"duration": end}) my_script = bxl_main( impl = _impl, cli_args = {}, ) Measuring time for actions and ensuring artifacts You cannot use now() to measure the time it takes to run actions and ensure artifacts because these processes occur asynchronously outside of the BXL script execution. For BXL user telemetry, we emit action events via the buck2 core automatically. Events around ensuring the artifacts are not emitted currently, but will be added soon. "},{"title":"User event log​","type":1,"pageTitle":"BXL Telemetry","url":"/docs/developers/bxl_telemetry/#user-event-log","content":"To write to your own event log when running BXL, you can run your BXL command with the --user-event-log flag to tell buck2 where to write the events to. Buck2 is aware of the following file extensions: .json-lines,json-lines.zst, .json-lines.gz, and will compress the files automatically for you depending on the extension. If the extension is not one of these, the logs will always be written in JSONL format, uncompressed. Example: buck2 bxl path//to/my_script/script.bxl:my_script --user-event-log my_file.json-lines.gz When using this flag to write to a custom event log, it is up to you to clean up these log files. In addition, if the same filename is used with subsequent BXL invocations, events are always appended to the existing file contents, which is the same behavior as buck2 <any command> --event-log <path>. If you tell buck2 to write to a compressed file, you are responsible for decompressing them. "},{"title":"Getting a user event log from a normal event log​","type":1,"pageTitle":"BXL Telemetry","url":"/docs/developers/bxl_telemetry/#getting-a-user-event-log-from-a-normal-event-log","content":"buck2 log show-user can be used to convert a normal event log (regardless of encoding/compression) to a user event. Similar to buck2 log show, you can choose the most recent invocation, or the nth invocation, or provide a path to the normal user event log. Note that user event logs are not able to be passed into buck2 log show or buck2 log show-user. "},{"title":"Event log output​","type":1,"pageTitle":"BXL Telemetry","url":"/docs/developers/bxl_telemetry/#event-log-output","content":"The first line of your event log will always be the invocation record, which contains useful things like command line args used, working directory, etc. The subsequent lines are either instant events and/or action events, depending on your BXL script's contents. Instant event Sample: { "StarlarkUserEvent": { "id": "foo", "metadata": { "bool_value": true, "string_value": "str", "int_value": 123, "list_value": [ "a", "b", "c" ], "dict_value": { "foo": "bar" } }, }, "epoch_millis": 123456789 # when the event was emitted } Action event { "ActionExecutionEvent": { "kind": "Write", # kind of action, like write or run "name": { # name of the action, for user display. Unique within the execution of a particular target "category": "write", # category for the action "identifier": "my_output" # identifier for the action }, "duration_millis": 0, # duration of the action in millis, excluding input materialization time "output_size": 10, # size in bytes of the action's outputs "input_materialization_duration_millis": 0, # how long it took to materialize any inputs to the action "execution_kind": "Simple", # how the action was executed "owner": "cell//path/to/script.bxl:function_name" # owner of the action execution (target label, anon target label, bxl label) }, "epoch_millis": 123456789 # when the event was emitted } execution_kind includes: Local: action was executed locallyRemote: action was executed via a remote executorActionCache: action was served by the action cache and not executedSimple: action is simple and executed inline within buck2 (ex: write, symlink_dir)Skipped: action was not executed at allDeferred: action logically executed, but didn't do all the workLocalDepFile: action was served by the local dep file cache and not executed.LocalWorker: action was executed via a local workerNotSet: action execution kind was not set Ensure artifact event { "BxlEnsureArtifactsEvent": { "duration_millis": 0, # duration of ensuring the artifact }, "epoch_millis": 123456789 # when the event was emitted } "},{"title":"Why BXL","type":0,"sectionRef":"#","url":"/docs/developers/bxl/","content":"","keywords":""},{"title":"Buck2 Extension Language (BXL)​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#buck2-extension-language-bxl","content":"BXL is a Starlark-based script that enables integrators to inspect and interact with the Buck2 graph. Integrators are able to: Write Starlark code that queries, analyzes, and builds on the Buck2 graph.Introspect and interact with the Buck2 graph structures natively, via Starlark, in a safe, controlled manner. Introspection of the Buck2 graph can occur at the unconfigured, configured, providers, and action stages. There are also APIs offered to allow BXL to accept custom command line argument, output artifacts, and print results to stdout. BXL leverages Buck2 core's incrementalcaching. It also has support forrunning actions,dynamic outputs, andanonymous targets. In addition, BXL hasprofilingcapabilities, and allows users to add their own telemetrydirectly within the BXL scripts. BXL is considered to be mostly stable, with a bit more active development here and there. "},{"title":"When should I use BXL over Buck2 API/CLI?​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#when-should-i-use-bxl-over-buck2-apicli","content":"There are many overlaps between BXL and Buck2 (for example, both can run cquery and both can build targets). It’s possible that one use case could be handled by both BXL and Buck2. Following are some specific recommendations to help decide when to use BXL over regular Buck2: Use/inspect resolved attributes that are not exposed/accessible to users via normal Buck2 operations. This includes introspecting the Starlark object of providers, analyzing the Starlark object of a rule’s attr before and after coercing and resolution, and introspecting intermediate query results. Reduce/eliminate the need to make several Buck2 calls within your program, such as running several subprocesses to call cquery several times. With BXL, you can just call the BXL script once in a subprocess, potentially reducing the amount of code you need to write in your program. For example, if you need to call cquery and build several times, you can put that all within a single BXL script and run buck2 bxl once, rather than runningbuck2 cquery and buck2 build several times. Reduce/eliminate the need to manually parse Buck2 output format within your program, and any bugs that may come with manual parsing. Some languages are more verbose than others when it comes to string parsing.BXL scripts are written in Starlark, which is basically a deterministic, immutable Python. BXL is able to directly introspect Starlark objects (such as rules and target nodes, and so on) and call methods on these objects instead of parsing them over Buck2’s output. "},{"title":"Example Use Cases​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#example-use-cases","content":""},{"title":"Generate a project for IDE​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#generate-a-project-for-ide","content":"IDE project generation is roughly as follows: Form the target graph for the project targetPerform some filtering on the graph targets if needed. This depends on the target's configuration.For each target, generate the project target metadata, including: compiler flagslinker flagspaths to generated filesinputs and outputs for each targetsthe paths relative to some PATH Write a single file translating this metadata into a format understood by the IDE An example BXL flow for generating a project for IDE might be: Add some command line arguments to accept a target (or subtarget) to generate the projectRun analysis on the project target with a specific configuration to filter the graph targetsFor each resulting target, inspect the providers and attributes to extract the required metadata information. BXL uses filesystem operations to handle paths within the projectRun actions based on the linker/compiler flags, and build artifacts as needed to generate a projectWrite a single file containing the metadata obtained from previous steps "},{"title":"Build an LSP​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#build-an-lsp","content":"A compilation database is a database containing information about which compile options are used to build the files in a project. Language Server Protocols (LSPs) uses the compilation database to provide language features like auto complete, go to definition, and find all references for the user within an IDE/editor. An example BXL flow for building a C++ LSP might be: Add a command line argument to accept a fileRun owners cquery in BXL to get the owning target of the fileRun analysis on the owning target to get the desired clang flagsUse BXL to write the clang flags to the disk in compilation database format "},{"title":"Perform graph analysis​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#perform-graph-analysis","content":"Some example graph analysis functionalities might be: Run an analysis in BXL on a set of targets, and then inspect their providers, and build some subtargetsRun a uquery on some set of targets, and inspect the resulting nodes' coerced attributesRun a cquery on some set of targets with a specific configuration, and inspect the resulting nodes' attributes before and after resolution "},{"title":"BXL and Dynamic Outputs","type":0,"sectionRef":"#","url":"/docs/developers/dynamic_output/","content":"","keywords":""},{"title":"Dynamic output​","type":1,"pageTitle":"BXL and Dynamic Outputs","url":"/docs/developers/dynamic_output/#dynamic-output","content":"When declaring dynamic outputs within a BXL script, the dynamic lambda for is created with a bxl_ctx, which means that you can do things like run analysis or queries to inspect the build graph from within the dynamic lambda. You may declare multiple dynamic outputs within a single BXL script, or declare nested dynamic outputs. Dynamic outputs are run asynchronously after the BXL evaluation. "},{"title":"Limitations​","type":1,"pageTitle":"BXL and Dynamic Outputs","url":"/docs/developers/dynamic_output/#limitations","content":"ctx.output is not available from a dynamic lambda. This means you can’t ensure artifacts or print cached outputs within a dynamic lambda.Error messages from skipping incompatible targets are only emitted to the console, and not cached in the stderrbuild() is not available from a dynamic lambdabxl_actions in a dynamic lambda always inherits the execution platform resolution of the root/parent BXL. The expected usage of bxl_actions from within a dynamic lambda is to instantiate it without any named parameters, but the exec_deps andtoolchains of the execution platform resolution are accessible, and return the same values as the root/parent BXL Profiling is not hooked up to dynamic BXL context "},{"title":"Silly example​","type":1,"pageTitle":"BXL and Dynamic Outputs","url":"/docs/developers/dynamic_output/#silly-example","content":"This is a silly example of creating a dynamic output which reads somequery_params input, calls some BXL functions like uquery,configured_targets to get the resolved attributes of a target node, and then writes the attributes to an output file. def _impl_dynamic_output(ctx): actions = ctx.bxl_actions().actions # Declare some input here to read within the lambda query_params = actions.write_json("query_params", {"rule_type": "apple_bundle", "universe": "fbcode//buck2/tests/..."}) # Dynamic lambda's output artifact resolved_attrs = actions.declare_output("resolved_attrs") # Dynamic lambda function to be used in the dynamic_output def my_deferred(ctx, artifacts, outputs): # Read the input, then do some BXL things here params = artifacts[query_params].read_json() target = ctx.uquery().kind(params["rule_type"], params["universe"])[0] node = ctx.configured_targets(target.label) eager_attrs = node.resolved_attrs_eager(ctx) # Dynamic BXL context's `bxl_actions` does not take in named parameters because it inherits the exec platform resolution from the root/parent BXL. If the root BXL's `bxl_actions` were created with exec deps/toolchains, you can access them using `exec_deps` and `toolchains` attributes here ctx.bxl_actions().actions.write(outputs[resolved_attrs], str(eager_attrs)) actions.dynamic_output( dynamic = [query_params], inputs = [], outputs = [ resolved_attrs, ], f = my_deferred, ) ctx.output.print(ctx.output.ensure(resolved_attrs).abs_path()) dynamic_output_example = bxl_main( impl = _impl_dynamic_output, cli_args = { }, ) "},{"title":"Buck 2 specific options","type":0,"sectionRef":"#","url":"/docs/developers/options/","content":"Buck 2 specific options Buck 2 introduces some options that don't exist in v1 and are accessed in the root cell: project.watchman_merge_base: defines the merge base to use for SCM-aware queries to Watchman. This is read when the daemon starts and cannot be changed later without a restart.test.v2_test_executor: defines the program to invoke as the test executor inbuck test. This is read every time a test command executes.","keywords":""},{"title":"Request for Comments","type":0,"sectionRef":"#","url":"/docs/developers/request_for_comments/","content":"","keywords":""},{"title":"Drafts​","type":1,"pageTitle":"Request for Comments","url":"/docs/developers/request_for_comments/#drafts","content":"@configuration syntaxbxl actions and Build APIDigest Kindslabels -> metadata attribute "},{"title":"Accepted​","type":1,"pageTitle":"Request for Comments","url":"/docs/developers/request_for_comments/#accepted","content":"configured_aliasBuck Extension Language (BXL)Bxl Support for performing analysis on targetsPackage-local values "},{"title":"Implemented​","type":1,"pageTitle":"Request for Comments","url":"/docs/developers/request_for_comments/#implemented","content":"ProviderCollection[] "},{"title":"Starlark Language Specification","type":0,"sectionRef":"#","url":"/docs/developers/starlark/spec/","content":"Starlark Language Specification The Starlark language spec can be found in theBazel GitHub repository.","keywords":""},{"title":"Heaps and Heap References","type":0,"sectionRef":"#","url":"/docs/developers/starlark/heaps/","content":"","keywords":""},{"title":"Heaps​","type":1,"pageTitle":"Heaps and Heap References","url":"/docs/developers/starlark/heaps/#heaps","content":"In Starlark, there are three interesting heap-related points of interest: A Heap has Value's allocated on it and cannot be cloned or shared.A FrozenHeap has FrozenValue's allocated on it and cannot be cloned or shared.A FrozenHeapRef is a FrozenHeap that is now read-only and can now be cloned and shared. A FrozenHeapRef keeps a heap alive. While you have a FrozenValue, it is important that you have either the FrozenHeap itself, or more usually, aFrozenHeapRef to it. A FrozenHeap may contains a set of FrozenHeapRef's to keep the FrozenHeaps it references alive. "},{"title":"Heap Containers​","type":1,"pageTitle":"Heaps and Heap References","url":"/docs/developers/starlark/heaps/#heap-containers","content":"Heaps are included in other data types: A Module contains a Heap (where normal values are allocated) and aFrozenHeap (stores references to other frozen heaps and has compilation constants allocated on it). The Heap portion is garbage collected. At the end, when you call freeze, Value's referenced by name in the Module are moved to the FrozenHeap and then then FrozenHeap is sealed to produce aFrozenHeapRef.A FrozenModule contains a FrozenHeapRef.A GlobalsBuilder contains a FrozenHeap onto which values are allocated.A Globals contains a FrozenHeapRef. "},{"title":"Heap References​","type":1,"pageTitle":"Heaps and Heap References","url":"/docs/developers/starlark/heaps/#heap-references","content":"It is important that when a FrozenValue X is referenced by a Value orFrozenValue (for example, included in a list), the heap where X originates is added as a reference to the heap where the new value is being created. As a concrete example in pseudo-code: let h1 = FrozenHeap::new(); let s = "test".alloc(h1); let h1 : FrozenHeapRef = h1.into_ref(); let h2 = Heap::new(); h2.add_reference(h1); vec![s].alloc(h2); In the above code, the following steps are taken: Create a FrozenHeap then allocate something in it.Turn the heap into a reference.Use the allocated value s from h1 when constructing a value in h2.For that to be legal, and for the heap h1 to not disappear while it is being allocated, it is important to call add_reference. Note that this API can only point at a FrozenValue from another heap, and only after that heap has been turned into a reference, so it will not be allocated in anymore. These restrictions are deliberate and mean that most programs only have one 'active heap' at a time. Following are some places where heap references are added by Starlark: Before evaluation is started, a reference is added to the Globals from theModule, so it can access the global functions.When evaluating a load statement, a reference is added to the FrozenModulethat is being loaded.When freezing a module, the FrozenHeap, in the Module, is moved to theFrozenModule, preserving the references that were added. "},{"title":"OwnedFrozenValue​","type":1,"pageTitle":"Heaps and Heap References","url":"/docs/developers/starlark/heaps/#ownedfrozenvalue","content":"When you get a value from a FrozenModule, it will be a OwnedFrozenValue. This structure is a pair of a FrozenHeapRef and a FrozenValue, where the ref keeps the value alive. You can move that OwnedFrozenValue into the value of a module with code such as: fn move<'v>(from: &FrozenModule, to: &'v Module) { let x : OwnedFrozenValue = from.get("value").unwrap(); let v : Value<'v> = x.owned_value(&to); to.set("value", v); } In general, you can use the OwnedFrozenValue in one of three ways: Operate on it directly - with methods like unpack_i32 or to_str.Extract it safely - using methods like owned_frozen_value, which takes aFrozenHeap to which the heap reference is added and returns a nakedFrozenValue. After that, it is then safe for the FrozenHeap you passed in to use the FrozenValue. With owned_value, there is lifetime checking that the right heap is passed, but with FrozenValue, there isn't.Be careful to pass the right heap, although given most programs only have one active heap at a time, it should mostly work out. Extract it unsafely - using methods unchecked_frozen_value, which gives you the underlying FrozenValue without adding any references. Be careful to make sure there is a good reason the FrozenValue remains valid. "},{"title":"Environments","type":0,"sectionRef":"#","url":"/docs/developers/starlark/environment/","content":"Environments Some of the information within this page is outdated. However, the explanation of the problem, and thought process behind it, remains useful. The storage of values is similar but implemented using different types. ::: Starlark (with a nested def) has a series of environments that may be active during an evaluation, as illustrated in the following example: x = [] def foo(): y = True def bar(): z = 1 list.append(x, 1) The above example features the following environments: Global environment - defining things like list.appendModule environment - defining xEnvironment of foo - defining yEnvironment of bar - defining z A scope can access variables defined above it, and often mutate them, but not assign them. To unpack that: From the statements inside bar, you can access list.append, x, y, andz.From inside bar, you can mutate the variables to be accessed with statements like list.append(x, 1) (which may also be termed x.append(1)). However, before this module is imported by another module, all of its exports become frozen, which means it isn't possible to mutate a global list, and if foo is called from a different module, then x can't be modified. If bar does x = 1 that defines a local variable x in the function bar, shadowing the global x. As a consequence, you cannot assign to variables defined in an outer scope. Note that assignment after, or even in non-executed conditional branches, introduces a local variable. For example: x = 1 def f(): print(x) if False: x = 2 In the above code, on executing f(), it would complain that x is referenced before assignment, as the assignment x = 2 makes x a local variable. The rest of this document outlines the various types of environments, how they are accessed, and how they are updated. Global Environment​ The global environment is always frozen and consists of functions andtype-values. All things in the global environment are accessed by name. Type-values are things like list.append, which is used when you do eitherlist.append(xs, 1) or xs.append(1), assuming xs is of type list. The available methods for a type can be queried (for example, dir(list)). There are also global functions, such as len, range, and str. Slots​ To optimise evaluation, all variables are accessed by integers, which are known as 'slots'. Many variables can be converted to slots statically during compilation, and those which can't have their slot looked up by name at runtime. The Slots data type is defined as: enum Slots { Frozen(FrozenSlots), Slots(Rc<RefCell<Vec<Option<Value>>>>), } struct FrozenSlots(Arc<Vec<Option<FrozenValue>>>); As featured in the above code: A set of slots are either Frozen, which came from another module behindArc or just normal Slots, which can be manipulated by the current scope (behind a Rc/RefCell for single-threaded use and mutation).Vec is accessed by the slot index.Option refers to whether the slot has been assigned yet (to detect variables referenced before assignment). Module Environment​ The module environment is where the module executes, namely where x is defined above. The module environment can have values added in the following standards-conforming ways: Assignment statements (such as x = 1 or x += 1).For loops (such as the x in for x in []:).Via the load("a.bzl", "foo"), which imports foo frozen.Via def foo():, which defines foo in the module environment. Whether adef is frozen or not, when it's executed, its local variables are not frozen. In addition, two non-standards-conforming ways of defining variables are supported: Some modules can be injected as bindings in advance. Given a module foo that is injected, all the bindings of foo will be inserted in this module as frozen.The function load_symbols injects a dictionary of bindings into the module environment. Note that a module has a fixed set of variables (from the standards-conforming ways), a pre-execution set (from the injections) and yet more variables at runtime (via load_symbols). To support that structure, the mapping from name to slot index is tracked in a struct: enum Names { Frozen(FrozenNames), Names(Rc<RefCell<HashMap<String, usize>>>), } struct FrozenNames(Arc<HashMap<String, usize>>); Each name is given an entry in the map with an increasing slot index. A name will only be assigned a slot once, reusing it thereafter. A correspondingSlots data type provides the values associated with those names. Importantly, the Slots can be extended at runtime by the load_symbolsfunction. As with Slots, you can either share things behind an Arc or mutate them behind an Rc/RefCell. Function Environment​ A function can have variables introduced via assignments, for loops, and parameters. No additional variables can be discovered at runtime, so all names can be erased at compile time. A function can also access variables from the functions it is statically nested within, and from the variables at the root of the module. To support this structure, at runtime we pass around the context, defined as: struct Context { names: Names, slots: Vec<Slots>, } The above code contains the mapping of names for the module and the slots for the module and each function. When executed, the inner-most Slots (at the end of slots:) will never be frozen, as that represents the local variables: but any other may be. When a function value is captured in a frozen module, use FrozenContext: struct FrozenContext { names: FrozenNames, slots: Vec<FrozenSlots>, } ## List comprehension environments A list comprehension can be defined as: ```python [x for x in [1,2,3]] In the above code: The statement defines a variable x that is immediately initialised and shadows any other variables x in scope.The variable x cannot be assigned to, other than in the list comprehension, as it only lives inside the comprehension and the comprehension does not permit assignment statements (only expressions). Such names are not available at the top-level, even when defined in the root of a module. List comprehensions are implemented by adding additional entries into theSlots data type. Even when added at the root of a module, such names are not added to Names. Optimisations​ There are a number of optimisations made to the scheme: When freezing a Names or Slots structure, it's important to only freeze a particular mutable variant once, or you duplicate memory unnecessarily. Therefore, the Slots to be Rc<RefCell<(_, Option<FrozenSlots>)>> are augmented, and, similarly, the Names. When freeze is called, the original value is consumed, and the Somevariant is added.Note: it is unsafe to ever access the slots after the freeze. Programs can only assign to the inner-most Slots, and that slots must always be mutable. Therefore, define a local Slots that is always mutable, and a separate AST node for referring to it. For modules, it is important that this mutable local Slots is also in scope since the scope is used to retrieve unknown variables.","keywords":""},{"title":"A Moving Garbage Collector","type":0,"sectionRef":"#","url":"/docs/developers/starlark/gc/","content":"","keywords":""},{"title":"A worked example​","type":1,"pageTitle":"A Moving Garbage Collector","url":"/docs/developers/starlark/gc/#a-worked-example","content":"Given a heap with the following layout: X := Data("world") Y := Data("hello", X, Y) Z := Data("universe") All of X, Y and Z are memory locations. The Y memory location has both some data of its own ("hello") and two pointers (X and Y itself). The pointers from outside the heap into the heap are known as roots. Assuming, in the above example, that Y is the only root, then, since Y is used from outside, Y must be moved to the new memory block. Consequently, the data X needs to be copied, but Z can be dropped. Following are the required steps for using a garbage collector: To copy Y, allocate a value in the new heap A with a sentinel value in it (that that sentinel is called a Blackhole). Then, turn Y into aForward(A) pointer, so that if anyone else in this cycle tries to collectY they immediately "forward" to the new value and the data from Y is grabbed so its pointers can be traversed. That results in the following: X := Data("world") Y := Forward(A) Z := Data("universe") A := Blackhole With Data("hello", X, Y) as the current item being processed. Walk the pointers of the current value, performing a garbage collection on each of them. To copy Y, it can be seen that Y points at a Forward(A)node, so there's no need to do anything. To copy X, follow the process starting at step 1, but for X (which ends up at B). Performing that move leads to the following: X := Forward(B) Y := Forward(A) Z := Data("universe") A := Blackhole B := Data("world") Replace all the pointers with the forwarded value, and write it back over theBlackhole in A. This gives the following: X := Forward(B) Y := Forward(A) Z := Data("universe") A := Data("hello", B, A) B := Data("world") Adjust any roots pointing at Y to point at A and throw away the original heap, which produces the following: A := Data("hello", B, A) B := Data("world") These above four steps successfully garbage collects a cyclic data structure, while preserving the cycles and getting rid of the unused data. "},{"title":"Finding Commands That Buck2 Ran","type":0,"sectionRef":"#","url":"/docs/developers/what-ran/","content":"","keywords":""},{"title":"What Ran output format​","type":1,"pageTitle":"Finding Commands That Buck2 Ran","url":"/docs/developers/what-ran/#what-ran-output-format","content":"This will output a table showing all the commands that were executed, and how they were executed. The structure is as follows: REASON <TAB> TARGET <TAB> IDENTIFIER <TAB> EXECUTOR <TAB> REPRODUCER Which should be used as follows: REASON - value is either build (for building a thing) or test (for running a test).TARGET - the name of the build target that declared an action.IDENTIFIER - depends on the target but will usually be something like a file name or a module.EXECUTOR - value is either cache, re or local.REPRODUCER - how you can re-run this yourself. "},{"title":"Using the What Ran output​","type":1,"pageTitle":"Finding Commands That Buck2 Ran","url":"/docs/developers/what-ran/#using-the-what-ran-output","content":"Use What Ran as follows: Start by identifying the command you're looking for: You can grep the output for a given target.You can then grep by identifier if necessary. For example, if you're after C++ compilation, try grepping for the basename of your file (for example, for fbcode/my/stuff.cpp, grep for stuff.cpp). Once you found it, reproduce as follows: If the executor was local, the command is in the output, so just run it. It's expected that you'll do this from the root of your project (usebuck2 root --kind project to find where that is).If the executor was re or cache, you're provided a RE digest of the formHASH:SIZE. Run frecli cas download-action HASH:SIZE to retrieve the action, then follow the instructions to run it. "},{"title":"Examples​","type":1,"pageTitle":"Finding Commands That Buck2 Ran","url":"/docs/developers/what-ran/#examples","content":"The following ran locally: build fbcode//scripts/torozco/getenv:getenv-san-conf-__generated-lib__ (archive_thin libgetenv-san-conf-__generated-lib__.pic.a) local fbcode/third-party-buck/platform010/build/llvm-fb/bin/llvm-ar qcsTD buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/libgetenv-san-conf-__generated-lib__.pic.a buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/__objects__/san-conf.c.pic.o To repro, you'd run: fbcode/third-party-buck/platform010/build/llvm-fb/bin/llvm-ar qcsTD buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/libgetenv-san-conf-__generated-lib__.pic.a buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/__objects__/san-conf.c.pic. The following ran on RE: build fbcode//common/init:kill (cxx_compile Kill.cpp (pic)) re 97feca9d014155a80ec55fe27e6bb17f9d2f8574:94 Reproducing this command will depend on the particular RE implementation you use. "},{"title":"Expired Digests​","type":1,"pageTitle":"Finding Commands That Buck2 Ran","url":"/docs/developers/what-ran/#expired-digests","content":"Note that if the action was a cache hit on RE, you might get an error when downloading it, indicating that it's not found. If that happens, it's because the cache entry is there but the inputs have expired. If this happens to you, run your build with --upload-all-actions. "},{"title":"Value Representation","type":0,"sectionRef":"#","url":"/docs/developers/starlark/values/","content":"Value Representation Some of the information in this page is outdated. However, the explanation of the problem, and thought process behind it, remains useful. Of particular note is that a garbage collected heap is now used for Value. ::: This page explains how values are represented in the Starlark interpreter, ignoring some incidental details. Importantly, in Starlark, any identifiers from modules that you import are 'frozen', which means that, if you have a module that defines a list, then once you have imported the module, the list is now immutable. This design means that you can safely share imports with multiple users, without any expensive copying, and use the imports in parallel. Frozen vs unfrozen values​ Values that are frozen are segregated from those that are not: Frozen values are those you import, and (assuming no GC) are to be ref-counted atomically (so they can be shared by multiple threads) and never changed.Unfrozen values are those which are local to the module, and, since modules execute single threaded, can be non-atomically ref-counted and mutated. Once a module has finished executing, it's values are frozen and can be reused freely. Thaw-on-write​ It's not uncommon to return list literals from functions. For example: def my_list(x): return ([1,2,3], x) This above code returns the unfrozen list [1,2,3]. But while the list is unfrozen, and could be mutated by the caller, it probably won't be. To optimise this pattern, construct a frozen list when compiling my_list and insert a shared reference to it in the result. If anyone tries to mutate the list, it's explicitly unfrozen by copying it into a mutable variant (known as thawing the value). Immutable containers of mutable data​ There are some data types (such as functions and tuples) that are themselves immutable but contain mutable data. Importantly, all types that can be invoked as functions (for example, lambda, def, and a.b()) fall into this category. These types can be non-atomically ref-counted but can't be mutated. Implementation in Rust​ Putting all these above concepts together results in the following: enum FrozenValue { None(NoneType), Bool(bool), Int(i64), Obj(Arc<dyn StarlarkValue>), } enum Value { Immutable(FrozenValue), Pseudo(Rc<dyn ComplexValue>) Mutable(Rc<RefCell<Mutable>>), } enum Mutable { Mutable(Box<dyn ComplexValue>), ThawOnWrite(Arc<dyn StarlarkValue>), } In the above code, both of the traits dyn SimpleValue and dyn ComplexValueenable you to convert to the other and have shared general value-like methods. There are four types of value: ImmutablePseudo - immutable containers of mutable values.Mutable/MutableMutable/ThawOnWrite - immutable now but can be replaced withMutable/Mutable if needed. There are two root types: FrozenValue - imported.Value - defined locally.","keywords":""},{"title":"Starlark Types","type":0,"sectionRef":"#","url":"/docs/developers/starlark/types/","content":"","keywords":""},{"title":"What does a type mean?​","type":1,"pageTitle":"Starlark Types","url":"/docs/developers/starlark/types/#what-does-a-type-mean","content":"A type is a Starlark expression that has a meaning as a type: When fib(3) is called, the value 3 is passed to fib as parameter i.When the execution of fib is started, the expression int is evaluated to the value of the int function.A check is then made that the value 3 matches the type represented by int. If the value doesn't match, it is a runtime error. Similarly, on returnstatements, or the end of the function, a check is made that result type matchesint. As some examples of types: The type typing.Any matches any value, with no restrictions.The types int, bool, str all represent the values produced by the respective functions.The type None represents the value None.The type list[int] represents a list of int types, e.g. list[typing.Any]represents a list containing any types.The type dict[int, bool] represents a dictionary with int keys and boolvalues.The type tuple[int, bool, str] represents a tuple of arity 3 with components being int, bool and str.The type tuple[int, ...] represents a tuple of unknown arity where all the components are of type int.The type int | bool represents a value that is either an int or a bool.The type typing.Callable represents something that can be called as a function.The type typing.Iterable represents something that can be iterated on.The type typing.Never represents a type with no valid values - e.g. the result of fail is typing.Never as the return value of fail can never be observed, given the program terminates. The goals of this type system are: Reuse the existing machinery of Starlark as much as possible, avoiding inventing a special class of type values. As a consequence, any optimisations for values like string/list are reused.Provide a pleasing syntax.Some degree of compatibility with Python, which allows types as expressions in the same places Buck2 allows them (but with different meaning and different checking).And finally, a non-goal is to provide a complete type system capable of representing every type invariant: it's intended to be a lossy approximation. In addition to these built-in types, records and enumerations are provided as special concepts. "},{"title":"Record types​","type":1,"pageTitle":"Starlark Types","url":"/docs/developers/starlark/types/#record-types","content":"A record type represents a set of named values, each with their own type. For example: MyRecord = record(host=str, port=int) This above statement defines a record MyRecord with 2 fields, the first namedhost that must be of type str, and the second named port that must be of type int. Now MyRecord is defined, it's possible to do the following: Create values of this type with MyRecord(host="localhost", port=80). It is a runtime error if any arguments are missed, of the wrong type, or if any unexpected arguments are given.Get the type of the record suitable for a type annotation with MyRecord.Get the fields of the record. For example,v = MyRecord(host="localhost", port=80) will provide v.host == "localhost"and v.port == 80. Similarly, dir(v) == ["host", "port"]. It is also possible to specify default values for parameters using the fieldfunction. For example: MyRecord = record(host=str, port=field(int, 80)) Now the port field can be omitted, defaulting to 80 is not present (for example, MyRecord(host="localhost").port == 80). Records are stored deduplicating their field names, making them more memory efficient than dictionaries. "},{"title":"Enum types​","type":1,"pageTitle":"Starlark Types","url":"/docs/developers/starlark/types/#enum-types","content":"The enum type represents one value picked from a set of values. For example: MyEnum = enum("option1", "option2", "option3") This statement defines an enumeration MyEnum that consists of the three values"option1", "option2" and "option3". Now MyEnum is defined, it's possible to do the following: Create values of this type with MyEnum("option2"). It is a runtime error if the argument is not one of the predeclared values of the enumeration.Get the type of the enum suitable for a type annotation with MyEnum.Given a value of the enum (for example, v = MyEnum("option2")), get the underlying value v.value == "option2" or the index in the enumerationv.index == 1.Get a list of the values that make up the array withMyEnum.values() == ["option1", "option2", "option3"].Treat MyEnum a bit like an array, with len(MyEnum) == 3,MyEnum[1] == MyEnum("option2") and iteration over enums[x.value for x in MyEnum] == ["option1", "option2", "option3"]. Enumeration types store each value once, which are then efficiently referenced by enumeration values. "},{"title":"Target Universe in BXL","type":0,"sectionRef":"#","url":"/docs/developers/target_universe/","content":"","keywords":""},{"title":"BXL cquery and target universe​","type":1,"pageTitle":"Target Universe in BXL","url":"/docs/developers/target_universe/#bxl-cquery-and-target-universe","content":"BXL cannot infer the target universelike in the CLI (in most cases). BXL splits up cquery functions per function (ex: ctx.cquery().kind(...)), with the exception of ctx.cquery.eval(...), which accepts literals exactly like in the CLI. For the eval query, target universe is inferred exactly like the CLI. For all other cases, take the following query as an example: buck2 cquery "rdeps(deps(//example:foo), deps(//example:bar))" The target universe here should be constructed from the all the target literals and their transitive deps, which is to say deps(//example:foo, //example:bar). When you run the query, the evaluation of deps(//example:foo) anddeps(//example:bar) nested in the rdeps query will happen inside the universe resulting from deps(//example:foo, //example:bar). Translating it to BXL's individual cquery functions, and let’s say we also try to use the target literals to construct the universe as the CLI target inference does: from_node = ctx.cquery().deps("//example:foo") # universe would be //example:foo to_node = ctx.cquery().deps("//example:bar") # universe would be //example:bar rdeps = ctx.cquery().rdeps(from_node, to_node) # what is the universe here? Here, the from_node query is actually evaluated in the wrong target universe because we have broken up the query steps in BXL. Instead ofdeps(//example:foo) being evaluated in deps(//example:foo, //example:bar), it’s evaluated with only deps(//example:foo). It’s impossible to know that there’s going to be an rdeps query later on that expects a different target universe. "},{"title":"Specifying target universe in BXL cquery​","type":1,"pageTitle":"Target Universe in BXL","url":"/docs/developers/target_universe/#specifying-target-universe-in-bxl-cquery","content":"BXL cquery functions should only accept configured targets as inputs, with the exception of eval and testsof_with_default_platform. BXL has a ctx.target_universe() function to construct a target_universeobject, which has a lookup() function to lookup the configured targets within the target universe and return the target set. ​​The lookup functionality is useful because sometimes a single target can appear multiple times within a target universe. For example, if you specify a cxx toolchain using its unconfigured target label, it will always match against all cxx toolchains in the target universe (so at least once for target deps and once for exec deps), since cxx toolchains may have multiple configurations. Example: def _impl(): target_universe = ctx.target_universe(["//example:foo", "//example:bar"]) to_node = target_universe.lookup("//example:foo") from_node = target_universe.lookup("//example:bar") rdeps = ctx.cquery().rdeps(to_node, from_node) However, sometimes you might want a specific configuration instead of using all configurations found within a target universe, in which case you could usectx.configured_targets(...) to specify the configuration. Or, sometimes you may want to use the specific configured target nodes resulting from other BXL calls. In these cases, you can pass the configured targets directly into cquery functions, instead of going through target universe lookup. "},{"title":"What does the target universe tend to be in practice?​","type":1,"pageTitle":"Target Universe in BXL","url":"/docs/developers/target_universe/#what-does-the-target-universe-tend-to-be-in-practice","content":"For owner query, the universe would be constructed with the unconfigured target nodes returned from ctx.uquery().owner(...). Example: def _impl(): unconfigured_owners = ctx.uquery().owner("foobar") target_universe = ctx.target_universe(unconfigured_owners).target_set() owners = ctx.cquery().owner("foobar", target_universe) For everything else, the universe would usually be constructed using all target literals found in your query. Example: def _impl(): target_universe = ctx.target_universe("//example:foo") inputs = target_universe.target_set() deps = ctx.cquery().deps(inputs) While the above guideline should work for rdeps as well, for rdeps the universe would usually be narrowed down to the "to"/"destination" target set argument. (This is a subset of the target universe suggested for non-ownerquery cases). Updating the example from above: def _impl(): target_universe = ctx.target_universe("//example:foo") # narrowed down to the "to" literals in rdeps universe_node = target_universe.target_set() from_node = target_universe.lookup("//example:bar") rdeps = ctx.cquery().rdeps(universe_node, from_node) "},{"title":"keep-going​","type":1,"pageTitle":"Target Universe in BXL","url":"/docs/developers/target_universe/#keep-going","content":"The configured graph can be broken for various reasons: incompatible targets (BXL skips these automatically), visibility issues, nonexistent targets, etc. For issues that are not incompatible targets, the target_universe can be constructed with the keep_going flag set to True to skip any other errors, and your cquery will not error out. Note that keep_going is only compatible for a single string literal target or target pattern at the moment. ctx.target_universe("//foo/...", keep_going = True) "},{"title":"BXL build and target universe​","type":1,"pageTitle":"Target Universe in BXL","url":"/docs/developers/target_universe/#bxl-build-and-target-universe","content":"Note that BXL builds currently do not support target universe, but we intend to add this. "},{"title":"Windows Cheat Sheet","type":0,"sectionRef":"#","url":"/docs/developers/windows_cheat_sheet/","content":"","keywords":""},{"title":"CMD, Powershell, Bash Command Comparison​","type":1,"pageTitle":"Windows Cheat Sheet","url":"/docs/developers/windows_cheat_sheet/#cmd-powershell-bash-command-comparison","content":"Bash\tPowershell\tCMD\tWhat does it docd\tcd\tcd\tChange the current directory mkdir\tmkdir\tmkdir / md\tCreate a directory ls\tls\tdir\tList contents of a directory export var="value"\t$env:var="value"\tset var=value\tTo set environment variables $ENV_VAR\t$env:ENV_VAR\t%ENV_VAR%\tRead environment variable echo "Hello world"\techo "Hello world"\techo Hello world\tTo print something on the screen rm\trm\tdel\tDelete a file rm -rf\trmdir\trmdir\tDelete a directory cat\tcat\ttype\tPrint file content to console "},{"title":"Symlinks​","type":1,"pageTitle":"Windows Cheat Sheet","url":"/docs/developers/windows_cheat_sheet/#symlinks","content":"In Windows, there are two types of symlinks: file and directory. You can find out which type of symlink is being created using:dir /AL /S <path>. The command lists all of the symbolic links in the <path> directory: ^<SYMLINKD^> is a Directory SymLink^<SYMLINK^> is a File SymLink "},{"title":"Target names​","type":1,"pageTitle":"Windows Cheat Sheet","url":"/docs/developers/windows_cheat_sheet/#target-names","content":"Escaping the '=' symbol on Windows is quite complicated: make sure none of the targets being built contain this symbol as it could cause build breakages. "},{"title":"RFC: labels -> metadata attribute","type":0,"sectionRef":"#","url":"/docs/rfcs/attr-metadata/","content":"","keywords":""},{"title":"Context: labels​","type":1,"pageTitle":"RFC: labels -> metadata attribute","url":"/docs/rfcs/attr-metadata/#context-labels","content":"In buck1 we have labels builtin rule attribute, which is a list of strings. In buck2 we have labels attribute which is configured in prelude, it does not have special meaning. "},{"title":"Context: package values​","type":1,"pageTitle":"RFC: labels -> metadata attribute","url":"/docs/rfcs/attr-metadata/#context-package-values","content":"PACKAGE files have a function: write_package_value(key, value), where a key is a word-dot-word string, and value is arbitrary starlark value which should be serializable as JSON. "},{"title":"Context: metadata we use or we need​","type":1,"pageTitle":"RFC: labels -> metadata attribute","url":"/docs/rfcs/attr-metadata/#context-metadata-we-use-or-we-need","content":"There are several spaces where we use or need metadata to be stored in buck2 target graph. fbcode uses per-package values to switch code to new clang (example)testinfra wants to use PACKAGE values to mark a set of folders to a logical larger projectit is likely that per-target metadata attribute should be used inconfiguration factory function.TD wants to declare CI trigger jobs per-target or per-package, and this logic is to be specified in BUCK or PACKAGE files — as metadata "},{"title":"Proposal: metadata attribute​","type":1,"pageTitle":"RFC: labels -> metadata attribute","url":"/docs/rfcs/attr-metadata/#proposal-metadata-attribute","content":"Add builtin metadata attribute to all the targets. metadata has the same structure as package values: word-dot-word to arbitrary value serializable to JSON. For example: cxx_library( name = "mylib", metadata = { "td.run_on_windows": True, }, ) Metadata attribute is not configurable (means select cannot be used). "},{"title":"buck2 audit visibility command","type":0,"sectionRef":"#","url":"/docs/rfcs/audit_visibility/","content":"","keywords":""},{"title":"Context​","type":1,"pageTitle":"buck2 audit visibility command","url":"/docs/rfcs/audit_visibility/#context","content":"Buck has a concept of Visibility for every target. It allows users to define, for each target, the targets it can depend on and targets that can depend on it. Visibility is specified as an allowlist of targets/target patterns, and any target used that falls outside of the allowlist fails visibility checking. Visibility pattern can be specified on visibility and within_view attributes in buildfiles andPACKAGE files. Visibility is important to lots of codebase maintainers because it can be used to keep projects from pulling in unwanted dependencies. As some examples, App Core teams are using Buck visibility as areplacement to current supermodules for protecting app modularity. Instagram's using visibility toprotect modularity and define Link Groups used for build speed optimizations. There's interest from various DevX teams in using Buck visibility onPACKAGE filestoenforce repo boundaries, which will allow target determinators to migrate off of sparse profiles and onto Eden, although visibility in its current form is likely not fit for enforcing such repo boundaries. Visibility has also been used to enforcerequirements that only certain targets are allowed to depend on targets in fbcode/scripts. For perf reasons, buck2 doesn't always enforce visibility. Instead, it only enforces visibility on construction of the configured target graph. Visibility checking is expensive memory-wise because it requires tracking all deps at each node. When constructing configured target graph, this cost is already paid for when buck2 checks transitive target compatibility. When constructing the unconfigured target graph, however, this is costly, so we avoid checking visibility there. (Note that buck does not allow you to specify selects in visibility attributes.) In practice, this means that commands like cquery and build can enforce visibility whereas commands like uquery and targets cannot. Having visibility checked only on the configured target graph is problematic for 2 reasons: Visibility is only checked on configured deps after selects are resolved, so it's possible for a target to pass visibility checking in one configuration but fail visibility checking in another. For example, a target may pass visibility checking on a linux configuration but fail visibility checking on mac configuration if it has a bad mac-only dependency. This makes visibility enforcement more difficult because now you have to query the same graph in both linux and mac configuration before you know that visibility is always valid. Uquery (querying the unconfigured target graph) has better performance than cquery (querying the configured target graph). Big-O wise, uquery scales with O(# of targets) whereas cquery scales with O((# number of configurations) x (# of targets)). Having a way to check visibility on unconfigured target graph can be much cheaper than doing so on configured target graph. "},{"title":"Proposed Solution: audit visibility command​","type":1,"pageTitle":"buck2 audit visibility command","url":"/docs/rfcs/audit_visibility/#proposed-solution-audit-visibility-command","content":"It's clear that we need a way to check visibility on the unconfigured target graph, but we don't want buck2 uquery and buck2 targets to regress in memory use. To get the best of both worlds, I propose adding a separate command to buck2, buck2 audit visibility, that will check visibility on the unconfigured target graph. Instead of checking on construction of the unconfigured target graph, this command will check after construction, which will avoid any memory regression. The tradeoff is that the visibility checking won't be cached, and rerunning audit visibility will rerun visibility checking on each invocation. "},{"title":"Usage and Invocation​","type":1,"pageTitle":"buck2 audit visibility command","url":"/docs/rfcs/audit_visibility/#usage-and-invocation","content":"buck2 audit visibility command will take in a list of target patterns as well as common build args like config flags and mode files as args. It will construct the unconfigured target graph based on the transitive deps of those targets and check that this graph has valid visibility. Checking transitive deps matches the behavior of visibility checking on cquery, but we may revisit this decision in the future if there is a need for just verifying the immediate dependencies. For example, an invocation to check visibility on the transitive closure of fbobjc can be buck2 audit visibility fbsource//fbobjc/... It cannot be used to check that a target has a valid visibility with respect to targets outside of the transitive closure of its deps. For example,buck2 audit visibility fbcode//buck2/starlark-rust/starlark:starlark will just check that all transitive deps of starlark target (including starlarktarget) have valid visibility with respect to each other. It will not check that any targets that depend on starlark respect starlark target's visibility attribute. "},{"title":"Bxl support for performing analysis on targets","type":0,"sectionRef":"#","url":"/docs/rfcs/bxl-analysis/","content":"","keywords":""},{"title":"Intro​","type":1,"pageTitle":"Bxl support for performing analysis on targets","url":"/docs/rfcs/bxl-analysis/#intro","content":"As Bob and I continue to build out bxl we want users to be able to inspect the providers and actions for a given target label. In order to support this, we need to be able to provide access to AnalysisResult via starlark, obtained via a call to RuleAnalysisCalculation::get_analysis_result. "},{"title":"How to implement it?​","type":1,"pageTitle":"Bxl support for performing analysis on targets","url":"/docs/rfcs/bxl-analysis/#how-to-implement-it","content":"Our three principle options are as follows: BxlContext::analyze(targetlabel: ConfiguredTargetLabelLike), whereConfiguredTargetLabelLike accepts ConfiguredTargetLabel,ConfiguredTargetNode, or sets and lists of these things + acceptable strings. In this scenario, we attach the analysis method onto the bxl context itself, and require that users pass in the target label-ish thing when they want to construct an analysis result. It's a little awkward in some ways because the analysis is more naturally a method on the argument being passed in and theBxlContext is a context that is needed to perform the calculation. On the other hand, this allows us to construct a type analogous to TargetExpr which can parse from a wide variety of different ConfiguredTarget like things (strings, nodes, labels, sets, ...). It also is a bit nice from an implementational standpoint since we don't have to pass the context around everywhere. This isn't a huge pro though, since we can stick it in the global eval field. result = bxl.analyze(bxl.cquery.deps("foo")) ConfiguredTargetLabel::analyze(), ConfiguredTargetNode::analyze(), ... where we carry around the BxlContext in the eval global field and implement analysis on each type that is target label like. The pro of this one is that it's quite natural - you can take aConfiguredStarlarkTargetLabel and then just ... call analyze() on it like you might expect to. The two downsides are that we have to propagate the context around behind the scenes, and we'll have to provide an implementation ofanalyze on everything that we'd like to have be able to be analyzable. result = "root//bin:the_binary".analyze() # but we don't support "root//bin:the_binary".rdeps() # instead this looks nice nodes = ctx.cquery.deps("foo") for n in nodes: # since we can now do nodes.label nodes.attrs.field # similarly access analysis nodes.analysis BxlContext::analysis(): AnalysisContext where AnalysisContext exposesAnalysisContext::analyze(targetlabel: ConfiguredTargetLabelLike). There's not really any pros of this approach except that it's similar to the flow for cquery where we return a cqueryctx object to call cquery methods through. result = ctx.analysis().analyze("//lib:file1") We can also restrict the API to require that users go through cquery to obtain a ConfiguredTargetNode prior to calling analysis, although we don't have to. I say that we don't have to because the get_analysis_result method mentioned above is configured to accept a label anyway. "},{"title":"Buck support to implement configured_alias","type":0,"sectionRef":"#","url":"/docs/rfcs/configured-alias/","content":"","keywords":""},{"title":"Intro​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#intro","content":"Currently, Buck 2 lacks configured_alias rule support. configured_alias is a builtin rule in Buck v1, and it cannot be currently implemented as user defined rule in Buck v2. This RFC proposes Buck core support for configured_alias. "},{"title":"What is configured_alias?​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#what-is-configured_alias","content":"Syntax is this: configured_alias( name = "foo-but-linux-release", actual = ":foo", platform = "config//platforms:linux-release", ) When this rule is built, it ignores "current" target configuration, and builds the "actual" target with the configuration specified as "platform" argument. "},{"title":"How to implement it in buck v2?​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#how-to-implement-it-in-buck-v2","content":""},{"title":"New rule attribute type: configured_dep​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#new-rule-attribute-type-configured_dep","content":"Currently, we have several dependency attributes: attrs.depattrs.exec_depattrs.transition_depattrs.split_transition_dep This RFC proposes adding another attribute: attrs.configured_dep configured_dep is an attribute which accepts a pair of strings: target and configuration. During analysis, configured attr deps are resolved to providers resolved using given configuration. "},{"title":"configured_alias_impl user defined rule​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#configured_alias_impl-user-defined-rule","content":"The rule implementation is trivial: def _configured_alias_impl(ctx): return ctx.attrs.actual.providers configured_alias_impl = rule( impl = _configured_alias_impl, attrs = { "actual": attrs.configured_dep(), } ) "},{"title":"Finally, configured_alias macro​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#finally-configured_alias-macro","content":"def configured_alias(name, actual, platform): configured_alias_impl(name, actual = (actual, platform)) "},{"title":"Alternatives​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#alternatives","content":""},{"title":"No configured_alias​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#no-configured_alias","content":"Each specific case where configured_alias is used, it can be done with defining custom transition, and using custom transition rule. But having configured_alias is a convenient stopgap to unblock people. "},{"title":"Use @configuration syntax from another RFC.​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#use-configuration-syntax-from-another-rfc","content":"Instead of passing confiured_target_label(x, y) pass x + "@" + y. "},{"title":"Accept configured_target_label in dep attribute​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#accept-configured_target_label-in-dep-attribute","content":"dep attribute could support all of: regular target label as stringconfigured target label (as either configured_target_label or x@y I don't know practical applications for this magic, and unless there are uses for it, better keep API simple and explicit. "},{"title":"[RFC] Configuration Modifiers","type":0,"sectionRef":"#","url":"/docs/rfcs/cfg-modifiers/api/","content":"","keywords":""},{"title":"Why do we need new configuration setup?​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#why-do-we-need-new-configuration-setup","content":"A target usually needs to be built in multiple build settings. For example, there may be different OS (ex. linux, mac, windows), architectures (ex. x86, arm), and sanitizers (ex. asan, tsan, ubsan) to use for a single target. Buck has 2 main ways of supporting customizations today: Buckconfigs specified through --config or -c flags. They are global flags and are often aggregated in modefiles (@<modefile> on the command line).Target platforms specified through default_target_platform attribute or--target-platforms flag), which become a target's "configuration".--target-platforms flags are also commonly specified via modefiles. These methods are problematic for the following reasons. We have too many modefiles. A project that needs customizations often ends up adding its own set of modefiles, causing a continued rise in number of custom modefiles in the repo. Internally, the number of modefiles in our monorepo is currently on the order of 10,000s. Changing buckconfigs invalidates Buck's state. Changing buckconfigs or modefiles of buckconfigs invalidates global state, which adds non-trivial Buck overhead on every incremental build that changes state. This does not affect target platforms. Different modefiles of buckconfigs cannot be used in same build. Users that need to run multi-configuration builds today often work around this by writing scripts that wraps multiple buck build invocations of different modes. This is slow because Buck state keeps getting repeatedly invalidated. There is also no way to build a target in different modes (ex. dev and opt) at the same time, so users that need to do this always have to do this sequentially. This does not affect target platforms. Target platform generation is exponential in number of build settings. Suppose I want to customize targets based on 3 OSes, 2 architectures, and 3 compilers. With target platforms, I need to first generate all 18 permutations of these settings as platform targets before using them. This is not scalable. Target platform does not compose well on command line. Suppose I want to use ASAN on top of some existing platform. It's not possible to say specify ASAN on top of an existing platform on the command line. Instead, I must create a new platform target with ASAN added to the existing platform before I can use it. Poor user Experience. When every project needs its own set of modes, it's onerous for users to track what modes are needed to build what targets. Users often don't realize when they are using the wrong or unnecessary command line flags. Poor tooling integration. Similar to user, it's just onerous for tooling to keep track of what modes are needed to build a target with. Buckconfigs are also bad for performance for tools like language servers because it's impossible to request the builds of two modes in parallel when two targets needs different modes. Antithetical to Buck's principles. Buck's main strength is the ability to abstract away builds of different languages and libraries under one common syntax for the user. The need for project-custom flags goes against this principle. The Modifier API introduces a unified way to specify build settings on a project, target, and command line level. Like target platforms, it constructs Buck configurations so it supports multi-configuration builds. It avoids modefile proliferation by allowing users to easily set project-specific build settings like compiler and toolchain versions in the repo rather than on the command line. It avoids scalability problems of platform generation by being composition-first. The goals of this project is to: Make buck build work on any platform without the use of special flags. Today, building a mac target on mac often requires a mac mode, and likewise for windows. Instead, buck build should always work out of the box on any platform so that there's no need to specify mac mode on macs or windows mode on windows.Define a small constrained set of common modifiers that can be used to build any target in the repo. This will include common options like mode (ex. dev, opt, release), OS (ex. linux, mac, iphoneos), and architecture (ex. x86, arm).Unblock cross-building for the majority of targets. host_info() is a hack to obtain information about the host machine that is the main blocker to Buck2 cross-building (ex. building a mac or windows target from linux) working everywhere. As an extension of "making buck build work on any platform", modifiers should make it possible to kill off most use cases ofhost_info in the repo.Simplify building build tooling. Because buck build works out of the box, tools like language servers can build targets they need without using project-specific modefiles or flags.Delete most modefiles from the repo.Deprecate target platforms for modifiers as the sole way of configuring top-level targets in Buck. "},{"title":"Configuration Background​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#configuration-background","content":"Feel free to skip this if you already understand Buck configurations. A configuration is a collection of constraint_value targets (commonly referred to as constraints). It defines the build settings used by a target. A constraint value is keyed by a constraint_setting, so there can only be oneconstraint_value of a constraint_setting in a configuration. For example, suppose cfg//os:_ is a constraint setting with constraint valuescfg//os:linux, cfg//os:macos, and cfg//os:windows. Then a configuration may contain either cfg//os:linux, cfg//os:macos, or cfg//os:windows to indicate which OS a target is built for. A constraint or a set of constraints can be selected on via select() to customize a target's behavior. For example, the following adds a linux only dep to a target. deps = select({ "cfg//os:linux": [":linux_only_dep"], "DEFAULT": [], }) Before building a target on the command line (known as the top-level target), Buck needs to know its configuration in order to resolve selects. Modifiers are a new way to resolve a target's configuration for every top-level target. "},{"title":"API​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#api","content":"Every top-level target starts with an empty configuration, and Buck will apply a list of "modifiers" to obtain a configuration. A modifier is a modification of a constraint from the existing configuration to obtain a new configuration. There are two types of modifiers, conditional and unconditional modifiers. An unconditional modifier is just a constraint value. Applying an unconditional modifier will insert the associated constraint value into the configuration for its respective constraint setting, replacing any existing constraint value for that setting. For example, specifying cfg//os:linux as a modifier will insertcfg//os:linux into the configuration, overriding any existing constraint value for the cfg//os:_ constraint setting. A conditional modifier is a modifier that only applies when a certain condition is satisfied. This lets one express powerful composition based on other criteria. modifiers.match() is a conditional modifier that changes the constraint value inserted based on the existing configuration. For example, a modifier like modifiers.match({ "cfg//os:windows": "cfg//compiler:msvc", "DEFAULT": "cfg//compiler:clang", }) will insert msvc constraint into the configuration if OS is windows or clang constraint otherwise. A modifiers.match() behaves similarly to Buck'sselect() but can only be used in a modifier context. A modifiers.match() can only be used to modify a single constraint setting, so the following example is not valid. # This fails because a modifier cannot modify both compiler and OS. modifiers.match({ "cfg//os:windows": "cfg//compiler:msvc", "DEFAULT": "cfg//os:linux", }) A modifier can be specified in a PACKAGE file, on a target, or on the command line. This provides the flexibility needed to customize targets on a project, target, or cli level. "},{"title":"PACKAGE Modifier​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#package-modifier","content":"In a PACKAGE file, modifiers can be specified using the cfg_modifiers function and would apply to all targets covered under that PACKAGE. For example, modifiers specified in repo/PACKAGE would apply to any target underrepo//.... Modifiers specified in repo/foo/PACKAGE would apply to any target under repo//foo/... (For resolution order, see "Modifier Resolution" section). The cfg_modifiers function takes as input a dictionary of constraint setting to modifier for that setting. For example, the following is an example that sets modifiers for OS and compiler settings in the repo's top PACKAGE file for all targets in repo. # repo/PACKAGE set_cfg_modifiers(cfg_modifiers = [ "cfg//:linux", modifiers.match({ "DEFAULT": "cfg//compiler:clang", "cfg//os:windows": "cfg//compiler:msvc", }), ]) To make constraints easier to type, you can specify aliases for modifier targets via Buck's target aliases. For example, suppose the following aliases exist in repo/.buckconfig. [alias] os = cfg//os:_ linux = cfg//os:linux macos = cfg//os:macos windows = cfg//os:windows compiler = cfg//compiler:_ clang = cfg//compiler:clang msvc = cfg//compiler:msvc Then the same PACKAGE modifiers can be specified as follows. # repo/PACKAGE set_cfg_modifiers(cfg_modifiers = [ "linux", modifiers.match({ "DEFAULT": "clang", "windows": "msvc", }), }) "},{"title":"Target Modifier​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#target-modifier","content":"On a target, modifiers can be specified on the metadata attribute. For example, the following specifies modifiers for repo//foo:bar. # repo/foo/BUCK python_binary( name = "bar", # ... metadata = {"buck.cfg_modifiers": [ "cfg//os:windows", # Target modifiers can also use aliases "clang", ]}, ) Note one day all targets will probably have their own cfg_modifiers attribute. "},{"title":"CLI Modifier​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#cli-modifier","content":"On the command line, modifiers are specified asbuck2 build <target>?<modifiers separated by commas>. For example, buck2 build repo//foo:bar?cfg//sanitizer:asan applies asan modifier on the command line.buck2 build repo//foo:bar?cfg//os:linux,cfg//sanitizer:asan will apply linux and asan modifiers. Aliases can also be used on command line, sobuck2 build repo//foo:bar?asan is valid. Command line modifiers cannot be selects, although this may be revisited if necessary. Modifiers can be specified for any target pattern, sobuck2 build repo//foo/...?asan and buck2 build repo//foo:?asan are also valid. When specifying a subtarget and modifier with ?, subtarget should go before modifier, ex. buck2 build repo//foo:bar[comp-db]?asan. To specify modifiers to a list of target patterns on the command line, you can use the --modifier or -m flag. For example,buck2 build repo//foo:bar repo//foo:baz -m release is equivalent tobuck2 build repo//foo:bar?release //foo:baz?release. --modifier flag can be specified multiple times to add multiple modifier, sobuck2 build --modifier=linux --modifier=release repo//foo:bar is equivalent tobuck2 build repo//foo:bar?linux,release. It is prohibited to specify both --modifier flag and ? in target pattern. This restriction can be lifted in the future if there is a need. When two modifiers of the same constraint setting are specified, then the later one overrides the earlier one. For example,buck2 build repo//foo:bar?dev,release is equivalent tobuck2 build repo//foo:bar?release. On command line, a config_setting target can be specified as a collection of modifiers after --modifier or ?. This will be equivalent to specifying each constraint inside the config_setting as a separate modifier. NOTE: only --modifier flag is currently implemented. -m is currently disabled and ? is not implemented. "},{"title":"Modifier Resolution​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#modifier-resolution","content":"Modifiers are resolved in order of constraint setting, and for each constraint setting, modifiers for that setting are resolved in order of PACKAGE, target, and command line, with modifier from parent PACKAGE applied before child PACKAGE. The end of this section will describe how Buck determines the order of constraint setting to resolve. Suppose modifiers for repo//foo:bar are specified as follows. # repo/PACKAGE set_cfg_modifiers(cfg_modifiers = [ "cfg//:linux", modifiers.match({ "DEFAULT": "cfg//compiler:clang", "cfg//os:windows": "cfg//compiler:msvc", }), ]) # repo/foo/PACKAGE set_cfg_modifiers(cfg_modifiers = ["cfg//os:macos"]) # repo/foo/BUCK python_binary( name = "bar", # ... metadata = {"buck.cfg_modifiers": ["cfg//os:windows"]}, ) At the beginning, the configuration will be empty. When resolving modifiers, Buck will first resolve all modifiers for cfg//os:_ before resolving all modifiers for cfg//compiler:_. For OS, the linux modifier from repo/PACKAGE will apply first, followed by macos modifier from repo/foo/PACKAGE and windows modifier fromrepo//foo:bar's target modifiers, so repo//foo:bar will end up withcfg//os:windows for cfg//os:_ in its configuration. Next, to resolve compiler modifier, the modifiers.match from repo/PACKAGE will resolve tocfg//compiler:msvc since existing configuration is windows and apply that as the modifier. The target configuration for repo//foo:bar ends up with windows and msvc. However, suppose user invokes repo//foo:bar?linux on the command line. When resolving OS modifier, the linux modifier from cli will override any existing OS constraint and insert linux into the configuraiton. Then, when resolving the compiler modifier, the modifiers.match will resolve to cfg//compiler:clang, giving clang and linux as the final configuration. Because command line modifiers will apply at the end, they are also known as required modifiers. Any modifier specified on the command line will always override any modifier for the same constraint setting specified in the repo. The ordering of constraint setting to resolve modifiers is determined based on dependency order of constraints specified in the keys of the modifiers.matchspecified. Because some modifiers match on other constraints, modifiers for those constraints must be resolved first. In the previous example, because compiler modifier matches on OS constraints, Buck will resolve all OS modifiers before resolving compiler modifiers. modifiers.match that ends up with a cycle of matched constraints (ex. compiler modifier matches on sanitizer but sanitizer modifier also matches on compiler) will be an error. "},{"title":"Conditional Modifiers​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#conditional-modifiers","content":"Modifiers have 3 types of conditional modifiers that allow for powerful compositions. Each operator is a function that accepts a dictionary where the keys are the conditionals and values are modifiers. modifiers.match. Introduced in the previous sections, this is capable of inserting constraints based on constraints in the existing configuration. modifiers.match_rule. This is capable of selecting based on the rule name (also known as rule type). The keys are regex patterns to match against the rule name or "DEFAULT". Partial matches are allowed. modifiers.match_host. This selects based on the host configuration, whereasmodifiers.match selects based on the target configuration. This host configuration is constructed when resolving modifiers. modifiers.match_hostis important to making buck build work anywhere on any platform. For example, when the OS to configure is not specified, it's best to assume that the user wants to target the same OS as the host machine. NOTE: match_rule and match_host are currently not implemented. An example using modifiers.match_rule and modifiers.match_host is as follows. # root/PACKAGE # We want OS to target the host machine by default. # Ex. build linux on linux machine, build windows on windows machine, # and build mac on mac machine. # However, if the rule is apple or android specific, then we should # always be building for apple/android as OS, no matter the host # configuration. set_cfg_modifiers(cfg_modifiers = [ modifiers.match_rule({ "apple_.*": "cfg//os:iphone", "android_.*": "cfg//os:android", "DEFAULT": host_select({ "cfg//os:linux": "cfg//os:linux", "cfg//os:macos": "cfg//os:macos", "cfg//os:windows": "cfg//os:windows", }), }), ]) On select resolution, Buck's select currently requires unambiguous keys in the dictionary and resolves to the key with the most refined match. The select operators used in modifiers will diverge from this and implement a "first-match" behavior, where select resolves to the first condition that evalutes to true in the dictionary. "},{"title":"Legacy Target platform​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#legacy-target-platform","content":"Target platform (--target-platforms flag or default_target_platformattribute) will be a deprecated way of specifying configuration and will be killed once all use cases migrate to modifiers. To maintain backwards compatibility with target platforms during the migration process, modifier resolution will take into account the target platform specified. This allows for an easy migration where modifiers can be introduced one at a time without reaching feature parity of target platform. If a target's modifiers resolve to an empty configuration, then Buck will reuse the target platform as the configuration. If modifiers resolve to a non-empty configuration, then Buck look for any constraint in the target platform not covered by a constraint setting from the modifier configuration and add those to the configuration. For example, suppose in the previous example, the target platform for repo// foo:bar includes cfg//sanitizer:asan, then this constraint will be inserted into the configuration since no modifier covered the sanitizer constraint setting. "},{"title":"Debugging modifiers​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#debugging-modifiers","content":"NOTE: below is unimplemented. Because many layers of modifiers can be applied before obtaining a final configuration, it is important that modifier resolution is easy to debug and understand. Here are some ways that modifier resolution can be interpreted. buck2 audit modifiers command. There will be a buck2 audit modifierscommand to show all PACKAGE, target, and required modifiers for a target. It can also show configuration changes from modifier resolution process if requested by the user. Starlark print statements or debugger. Modifier resolution process will be implemented in Starlark in prelude. This means that any user can use any of the existing way to debug starlark (ex. print statements, Starlark debugger in VSCode) to debug the resolution process. "},{"title":"How configuration modifiers differ from transitions​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#how-configuration-modifiers-differ-from-transitions","content":"Modifiers are largely inspired by configuration transitions. The difference between modifier and transition is that a transition can change the configuration of any target in the graph, but a modifier can only change the configuration of a top-level target. In other words, if you have target A that depends on target B and you request a build of A, then A's target configuration would be resolved via modifiers and propagated down to B, but dep B would not do its own modifier resolution. When a top-level target goes through a per-rule transition, that transition is applied after modifiers are resolved. Below are some examples that show when to use modifier and when to use transition. Python version should be modeled as a transition and not modifier. Suppose we have python_binary A nested as a resource of another python_binary B. A should not inherit the python version from B, so a transition is needed to change A's python version when depended on by B.Library target should use modifiers and not transitions. A C++ library target should always inherit the configuration of its parent C++ binary when it is used as a dep, but a top-level C++ library target can still have its configuration changed via modifiers when requested from command line. In the future, we may add support for modifier transition, which can transition via modifiers, but that is out of the scope of this RFC. "},{"title":"Bxl Actions and Build API","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/bxl-actions/","content":"","keywords":""},{"title":"Actions API​","type":1,"pageTitle":"Bxl Actions and Build API","url":"/docs/rfcs/drafts/bxl-actions/#actions-api","content":"The actions API should be the same as rules' actions API. That is, it has the same ctx.actions that allows registering of artifacts, creating actions, dynamic actions via the same api. "},{"title":"Creating and Building the Actions​","type":1,"pageTitle":"Bxl Actions and Build API","url":"/docs/rfcs/drafts/bxl-actions/#creating-and-building-the-actions","content":"Bxl allows users to build targets and actions. However, when creating actions, they are not bound/buildable until the artifact/action factories are finalized. As such, we will introduce the limitation that bxl cannot build artifacts that they themselves declared within the bxl. Instead, they will return a set of artifacts to expose to users, which buck2 will automatically build after finalizing the action factory. For dynamic-ness, bxl users will use the standard dynamic output api. There is an issue that during the dynamic output api's lambda, bxl functions will not be able to access the regular bxl functions for queries, etc. However, this is likely not important as most use cases should reasonably query bxl data before the dynamic outputs, and have limited power in dynamic-ness. We can also always replace the ctx of the dynamic to be the bxl context in the future, as we see fit. Sample: def my_bxl(ctx): actions_factory = ctx.bxl_actions.factory() artifact = actions_factory.write("file.txt", "content") # note that existing artifacts that were declared by other rules can be built ctx.actions.build(ctx.analysis(ctx.target("foo")).providers[DefaultInfo].default_output)) return [artifact] # exposes the declared artifact to users "},{"title":"Internal Representation (Deferred Framework)​","type":1,"pageTitle":"Bxl Actions and Build API","url":"/docs/rfcs/drafts/bxl-actions/#internal-representation-deferred-framework","content":"The existing actions framework attaches all actions to a deferred, which is based off a ConfiguredLabel, which also corresponds to the output path prefix. bxl actions should also have a unique output path prefix, and follow the same system of having a base deferred key to reuse the action implementation. We should extend the BaseKey of a DeferredKey to support beyond aConfiguredLabel, so that we can use a BxlFunctionLabel in its place. This would allow owner of these actions to point to the correct creator. The output path would be determined by using the BxlFunctionLabel as prefix similar to a label. While this means that not all outputs are associated with an actual rule, this is arguably more correct as bxl that creates outputs that doesn't fit the target graph structure (i.e android project generation follows directory structure rather than the packages defined by targets) to not have to conform the attaching their actions to existing rules. bxl functions can examine multiple rules and create a single action, attached only to their function label. The ActionRegistry will be attached to the evaluation result of bxl. Since we do not allow bxl to explicitly request build of the actions itself declares, we can wait until the end of the bxl function to finalize the actions. Then, the action lookup can simply refer to the result of the bxl. With the above changes, the rest of the actions framework does not need changed to support the proposed API. DICE caching will work as today. "},{"title":"Buck Extension Language (BXL)","type":0,"sectionRef":"#","url":"/docs/rfcs/bxl/","content":"","keywords":""},{"title":"Use Cases​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#use-cases","content":""},{"title":"Cpp LSP​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#cpp-lsp","content":"Lsp prefers to have a single buck command that given a file, returns the corresponding compilation database. This requires a single command, i.e a bxl, that accepts a file as input, performs owners queries, and uses the owning target plus the desired file to get the clang flags, and then writes it to disk in comp db format. It’s possible to write the same features using buck calls to cquery, and build using subtargets to generate compilation database per file. However, this requires lsp owners to maintain code in several locations and languages, and parse and reserialize data. It also does not provide the same incrementality and subscription update features of the resulting comp db that writing this in bxl would have. Furthermore, we may explore the idea of trimming the compilation command to only dependencies required per the file requested. Bxl actions provides a straightforward api for adding this when writing the actual comp db file. "},{"title":"Android LSP​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#android-lsp","content":"Android project requires traversing the target graph to find and java libraries, grouping and converting them between modules or project libraries depending on the number of references, and restructuring the graph as directory based. Android LSP is able to take advantage of subscriptions in the future when available, allowing developers to keep their IDE up-to-date automatically without needing to manually regenerate the project. With bxl, the graph traversals can be written in starlark, allowing propagation of information down the graph, accessing targets’ attributes to analyze dependencies, and access providers for artifacts and action information needed to output the project file. Project generation also performs directory listings that buck2’s dice already performs and caches (I think, need to confirm). Bxl poses the interesting possibility that we can expose a limited set of IO operations that are tracked by dice so bxl can access the same cached file operations as rest of buck2. Android project generation currently doesn’t write project files to buck-out, which prevents it from using buck2 actions. It will have to rely on an external script to process the graph information printed by buck and write the actual project files. If it moves to buck-out based, then it can take advantage of creating actions directly using the graph information processed, and potentially take advantage of incremental actions api to avoid writing the entire graph on each subsequent update. "},{"title":"iOS Project​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#ios-project","content":"iOS is currently being implemented as a series of queries that are aggregated by an external python script, that then invokes builds of subtargets. The same can be achieved in bxl, but with the entire sequence being cacheable and subscribable so that when the graph is updated, or even when generated files need updating, buck2 can automatically push the updates. However, it is uncertain whether xcode itself can make use of push updates. "},{"title":"Rust LSP​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#rust-lsp","content":"(note from dbarsky@: I’m adding this at Bob’s request. Can be removed as needed.) "},{"title":"Visual Studio Project (vsgo)​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#visual-studio-project-vsgo","content":"Vsgo is a pile of python that converts buck query/buck targets output via a variety of heuristics into inputs to a custom fork gyp which is then invoked to generate visual studio projects for a given buck target. Having direct access to the internals of buck would allow us to remove the heuristics and possibly even move project generation directly into bxl. "},{"title":"Goals​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#goals","content":"From the above use cases, BXL should offer a simple Starlark API that allows easy introspection of the buck2 graph at unconfigured, configured, providers, and actions stage, maintaining incremental behaviour of the BXL evaluation itself. Some minimal API should be offered to allow BXL to provide additional behaviour such as output artifacts, and print results. Most use cases from LSP desire to also propagate information via the command line for these operations, so BXL should support command line arguments as inputs. "},{"title":"API​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#api","content":""},{"title":"Defining a bxl function​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#defining-a-bxl-function","content":"There are multiple models possible. We can have each file be its own bxl, or have each file declare multiple bxl like rules. There are multiple advantages to allowing declaration of multiple bxls, such as grouping similar bxls in the same file, allowing them to "invoke" each other. It doesn’t necessarily add much more complexity for the author, as even with one bxl per file, the author still has to have some declaration for the bxls arguments. # sample.bxl func1 = bxl_main( impl = my_func1, args = { "arg1": arg.list(arg.str()), } ) func2 = bxl_main( ... ) To invoke buck2 for that bxl, we can have the command line as follows. buck2 bxl sample.bxl::func1 -- --arg1 foo bar baz For bxl functions to read the arguments, a similar api to rule attrs is used args = ctx.args.args_for_bxl Args defined like attrs when declaring the bxl function above "},{"title":"Accessing target nodes​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#accessing-target-nodes","content":"All standard query functions will be enabled in bxl, allowing users to run query operations, storing them in variables and interacting with them. These allow introspection of the unconfigured targets, or the configured targets based on api # some.bxl targets = ctx.uquery(‘deps("//foo")’) targets = filter(targets, my_filter) # introspect a target for target in targets: ctx.print(target.attributes) # prints selects # also inspect the target like below ctx.print(target.label) target = ctx.cquery("//foo", "//x86").attributes # cquery has selects resolved "},{"title":"Inspect providers​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#inspect-providers","content":"When we have a configured target, bxl can request for the analysis of the rule target = <some configured target> ctx.analysis(target).providers # access the providers "},{"title":"Actions​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#actions","content":"For IDEs, to generate compilation databases, or generate project files, writing them in bxl will entail creating actions, and executing them. As such, bxl will also be given the rules api to register actions, including dynamic outputs for the rule in the current bxl invocation to build artifacts as part of a bxl function. BXL has the ability to create actions with some constraints: Action is tied to a particular targetIt’s output location is determined in the same pattern as regular actions defined via rules targets = ctx.cquery(‘deps("//foo:rule")’) for t in targets: action_ctx = ctx.analysis(t).actions # the action context here is tied to the configured target `t` # actions registered by bxl will be attached with bxl prefix key action_ctx.registry.write(some_output, "foo") BXL can also interact with the existing actions on an action via the action_ctx, such as iterating through it, analyzing its outputs, or requesting it to be ran. targets = deps("foo:rule") for t in targets: action_ctx = ctx.analysis(t).actions for action in action_ctx.iter(): if "foo/path" in action.output: ctx.build(action) "},{"title":"What is cached?​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#what-is-cached","content":"All computations requested by a bxl function will be treated as inputs. So if a bxl function calls uquery, then uses the result to do a cquery, and then a build, if buck2 detects that any of the recorded calls to uquery, cquery, and build changes, the entire bxl will be reran, with no early cutoff. The computations itself will still be cached via DICE, so no major performance issues are expected. However, in the event that a bxl function is computationally heavy, the recommendation would be to move that to an action, or split up the bxl and use inter-bxl caching described below. "},{"title":"Inter-bxl caching?​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#inter-bxl-caching","content":"Different bxl can be cacheable between each other if structured as "outputs"/artifacts. This is essentially the same behaviour as a bxl requestingctx.build, which is cached. Since we have those as hashes on RE, we can track properly and not require storing the values in dice. i.e. # caching_sample.bxl func1 = bxl_main( impl = my_func1, args = { "arg1": arg.list(arg.str()), } ) my_func1(ctx): … # do various stuff that might change a lot, but the final result # doesn’t change much ctx.return(some_artifact) func2 = bxl_main( impl = my_func2, ... ) my_func2(ctx): artifact = ctx.bxl(":func1") # now read artifact value # everything below will only be reran if the artifact content changes … # do some expensive stuff "},{"title":"@configuration syntax","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/configuration-at-syntax/","content":"","keywords":""},{"title":"What​","type":1,"pageTitle":"@configuration syntax","url":"/docs/rfcs/drafts/configuration-at-syntax/#what","content":"Command buck2 build //foo:bar@config//platform:linux-x86_64 should be equivalent to current syntax: buck2 build //foo:bar --target-platforms=//platform:linux-x86_64 "},{"title":"Why​","type":1,"pageTitle":"@configuration syntax","url":"/docs/rfcs/drafts/configuration-at-syntax/#why","content":"Might be convenient if we define global (or per-target, as proposed intarget configuration discovery RFC) alias. For example, if there's an alias release=//config:linux-x86_64-release The command above can be expressed as: buck2 build //foo:bar@release Additionally, if we haveconfiguration expression RFCimplemented, we can do something like: buck2 build //foo:bar@release+gcc "},{"title":"Possible future extensions​","type":1,"pageTitle":"@configuration syntax","url":"/docs/rfcs/drafts/configuration-at-syntax/#possible-future-extensions","content":"For now, at-syntax only applies to command line arguments of build/targets/run/test commandsprobably cquery query It would be reasonable to expect that this syntax should be allowed anywhere we need a target (e.g. in deps attribute), but this is out of scope of this proposal. "},{"title":"Digest Kinds","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/digest-kinds/","content":"","keywords":""},{"title":"Use cases:​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#use-cases","content":"Buck2 needs to support more than just SHA1 for open-sourcing, since publicly available RE providers use SHA256.Internally, we want to migrate to (potentially keyed) Blake3, and there will be a transition period where we need to support both Blake3 and SHA1. "},{"title":"Proposed plan​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#proposed-plan","content":"Make all the ways in which Buck2 ingests digests either configurable or explicit about the type of digest they expect. Internally, we may keep track of digest types for debugging purposes, but we will never compute more than one digest. It follows that we won't expose configuration for the digests we output (namely: to use on RE): if we only have one digest for each blob, making it configurable has no utility since you never have a choice about the hash to use. "},{"title":"Implementation​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#implementation","content":""},{"title":"Hashes received from RE​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#hashes-received-from-re","content":"For interactions with RE, we'll expose two configurations (this can be on the CommandExecutorConfig): Preferred hash to use when Buck2 is doing the hashing (e.g. hashing directories).Accepted hashes. We'll use the format of the digests we receive from RE (in particular their size) to infer what algorithm they used (remember: the RE API provides no way of knowing the format of a digest, it's just a string). "},{"title":"Hashes of files​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#hashes-of-files","content":"We'll expose the hash to use via a buckconfig. Our things-that-produce-hashes-of-files should either use the config to choose how they hash, or fail if they cannot provide the right hash format (e.g. that'll be true of Eden I/O). "},{"title":"Hashes of directories​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#hashes-of-directories","content":"This one gets a little tricky. Our directories currently have an implementation of fingerprinting that receives only the directory as input, so some refactoring is in order. We have two options: Pick the hashing algorithm based on the contents of the directory (pick one that's already used). Dealing with empty directories is a bit annoying.Refactor the directory implementation and have directories parameterized over their fingerprints, not their hasher. The first one is easier but has the downside of not working with keyed Blake3 (because you don't have a way to bring in the key), so I'm aiming for the second implementation for now. "},{"title":"RFC: TestInfo v2","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/test-info-v2/","content":"RFC: TestInfo v2 A stub RFC for TestInfo v2 to track lessons learned about TestInfo v1. The stack starting D36339960 contains the original code for the TestInfo and templated test API experiment.","keywords":""},{"title":"Universal Configuration Naming Function","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/universal-cfg-naming/","content":"","keywords":""},{"title":"Context​","type":1,"pageTitle":"Universal Configuration Naming Function","url":"/docs/rfcs/drafts/universal-cfg-naming/#context","content":"NOTE: The configuration name consists of a readable string followed by the hash of the configuration. The readable string is technically the PlatformInfoname. For sake of ease of writing, this doc uses configuration name and platform name interchangeably to describe this concept. Currently, there are 3 ways to create and name a configuration. A platform target defines a configuration, and the platform target label becomes the platform name.A transition function defines the configuration and generates a name for the configuration.When a modifier is used, the cfg constructor function for modifiers defines the configuration and its name. There is currently a single naming function that generates all modifier-based configuration names. Modifiers are intended to replace platforms, so in the future all configuration names will be generated. Unfortuately, most of the generated names today used today in transitions are not very good. Problems that I've seen in practice include: Configuration names barely contain any useful information about the configuration. This happens a lot in transitions. For example, the android split CPU architecture transition names the generated configurations "x86_64" and "arm64", which tells very little about the configuration beyond the CPU architectures it splits on.Transition function incorrectly retains the old configuration name that is no longer relevant, misleading the user about what this configuration actually does. I've seen this happen where a configuration has py3.8 in name but the python version constraint stored is actually py3.10. "},{"title":"Proposal​","type":1,"pageTitle":"Universal Configuration Naming Function","url":"/docs/rfcs/drafts/universal-cfg-naming/#proposal","content":"Register a single Starlark function to define all configuration names. This Starlark function would accept a ConfigurationInfo and return a string for the name of the ConfigurationInfo. # Example def name(cfg: ConfigurationInfo) -> str: # ... PlatformInfo is no longer available in Starlark. Any place that previously uses a PlatformInfo will now use ConfigurationInfo instead. Buck2 will invoke this function each time it encounters a new ConfigurationInfo to define its name. This function will attempt to provide a useful name based on the constraints in the configuration, which mitigates the issue of short or misleading configuration names. There are some risks that there will be high amount of code complexity in a function if all configurations are named by one function. This function will most likely be registered via a set_cfg_name function or something callable from root PACKAGE file or potentially prelude. "},{"title":"Return error in ProviderCollection[] on undeclared provider","type":0,"sectionRef":"#","url":"/docs/rfcs/implemented/provider-collection-at/","content":"","keywords":""},{"title":"Why​","type":1,"pageTitle":"Return error in ProviderCollection[] on undeclared provider","url":"/docs/rfcs/implemented/provider-collection-at/#why","content":"Better diagnostics when accessing unknown provider. E. g. when writing: ctx.attrs.foo[UnknownInfo].bar Currently, the error is: Object of type `NoneType` has no attribute `bar` Instead, the error will be something like: provider collection does not contain `UnknownInfo`, defined providers are `FooInfo`, `BarInfo`. "},{"title":"Bazel​","type":1,"pageTitle":"Return error in ProviderCollection[] on undeclared provider","url":"/docs/rfcs/implemented/provider-collection-at/#bazel","content":"In bazel, [] on unknown provider is an error, like this: Error: <target //optional_provider:n2> (rule '_sum') doesn't contain declared provider 'UnknownInfo' "},{"title":"plugin-deps","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/plugin-deps/","content":"","keywords":""},{"title":"Plugin Deps​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#plugin-deps","content":""},{"title":"Background on Rust proc macros​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#background-on-rust-proc-macros","content":"Rust proc macros are compiler plugins. They are a special kind of crate that is compiled to a dylib, which is then loaded by the compiler when another crate depends on the proc macro. Notably, like all Rust crates, proc macros may also be re-exported. This means that if there is a dependency chain likebin -> lib -> proc_macro, the proc macro must be made available when compiling the binary, even though it does not appear directly in the dependencies. Proc macros have posed a challenge to buck2, for two reasons: Rust users generally expect to not have to distinguish between proc macros and normal crates when specifying their dependencies. This means it is not easily possible to make the lib -> proc_macro edge an exec_dep.bin and lib might end up with different exec platforms. This means that even if proc_macro were to be correctly configured as an exec dep oflib, that configuration might be wrong for bin. FIXME: Other use cases for this feature "},{"title":"Plugins deps​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#plugins-deps","content":"This RFC proposes introducing a concept of "plugin deps" to solve this problem. Plugin deps are deps that can be propagated up the build graph at configuration time, instead of at analysis time. Here's what this looks like: First, plugin deps come in "kinds." Plugin kinds can be created likeMyKind = plugins.kind(). These act as identifiers that can be used to divide all the possible plugin deps up however users need to. Each configured target has plugin lists: There is one list for each plugin kind. The elements of these list are an unconfigured target, together with ashould_propagate bool. The same unconfigured target cannot appear more than once. In other words, this is a HashMap<String, HashMap<Target, bool>>. We need to describe two things: How to use these list, and how to create them. "},{"title":"Using a target's plugin lists​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#using-a-targets-plugin-lists","content":"Using plugin lists is very simple: The rule sets uses_plugins = [MyKind] when declared. Setting this make the elements of the plugin list for the given kind appear as exec deps on the configured nodes for this rule. This also means that the plugins participate in exec dep resolution like all other exec deps. Analysis will then be able to access a list of the providers for each of the plugins via ctx.plugins[MyKind]. The should_propagate bool that is associated with each element of the list is ignored at this stage. "},{"title":"Creating a target's plugin lists​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#creating-a-targets-plugin-lists","content":"Plugin lists are created by accumulating from two sources: The first of these is direct plugin deps. They are defined via a newattrs.plugin_dep(kind = "foo"). This attribute (like other deps), is set to a label when the target is declared. It then resolves as follows: In the unconfigured graph: To the appropriate unconfigured targetIn the configured graph: To the label of the unconfigured target. In other words, this will still be displayed in buck2 cquery -A, but will not appear in the deps.During analysis: Also to the unconfigured target label. The target that appears in the plugin_dep is added to the MyKind plugin list with should_propagate set. The second way to add to the plugin list is by inheriting from regular deps. This works as follows: Elements of the plugin lists for which theshould_propagate value is true are made available to the immediate rdeps of a configured target. The rdep can use them by setting pulls_plugins = [MyKind]in the appropriate attrs.dep() invocation. This will make the targets appear in the plugin list for the rdep with should_propagate unset. Alternatively, the rdep can set pulls_and_pushes_plugins = [MyKind] to add the targets to the plugin lists with should_propagate set to true. This enables transitive propagation further up the configured graph. To decide later: Should we allow plugin rules to appear in regular/exec deps, with no special behavior? I don't see why not. "},{"title":"Example: Proc macros​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#example-proc-macros","content":"RustProcMacro = plugins.kind() rust_proc_macro_propagation = rule( impl = _propagation_impl, attrs = { "actual": attrs.plugin_dep(kind = RustProcMacro), }, ) rust_library = rule( impl = _similar_to_before, # See some notes below attrs = { "proc_macro": attrs.bool(default = False), # Same as before "deps": attrs.list(attrs.dep(pulls_and_pushes_plugins = [RustProcMacro])), # Here we avoid `pulls_and_pushes` because we do not want to make these deps available to rdeps "doc_deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])), }, uses_plugins = [RustProcMacro] ) rust_binary = rule( impl = _similar_to_before, # See some notes below attrs = { "deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])), "doc_deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])), }, uses_plugins = [RustProcMacro] ) def _propagation_impl(ctx): return [ DefaultInfo(default_outputs = []), # During analysis for rust libraries, the providers for proc macros will appear in # `ctx.plugins`. However, this includes the transitive and direct proc macro deps, as # well as the transitive and direct proc macro doc-deps. Analysis needs to be able to # distinguish between all of these though. # # This dummy provider is passed to allow for precisely that. Generally, it will be passed # everywhere where the providers of Rust proc macros are currently passed. That ensures that # analysis on `rust_library` and `rust_binary` have all the information they need about # where the plugin "entered the dependency graph." RustProcMacroMarker(ctx.attrs.actual), ] ### TARGETS # Expanded by macro rust_library( name = "p1_REAL", proc_macro = True, ) # Expanded by macro rust_proc_macro_propagation( name = "p1", actual = ":p1_REAL", ) # Expanded by macro rust_library( name = "p2_REAL", proc_macro = True, ) # Expanded by macro rust_proc_macro_propagation( name = "p2", actual = ":p2_REAL", ) rust_library( name = "l", deps = [":p1"], doc_deps = [":p2"], ) rust_binary( name = "b", deps = [":l"], ) Analysis for :l will see: deps which contains only the RustProcMacroMarker("p")doc_deps which contains only the RustProcMacroMarker("p2")ctx.plugins[RustProcMacro] which contains the providers of :p1_REAL and:p2_REAL, correctly configured for the execution platform of :l. Analysis for :b will see: deps which contain the providers of l ctx.plugins[RustProcMacro] which contain the providers of :p1_REAL, also correctly configured for its own execution platform (which may be different from :l's). Note that because rust_library does not re-push doc deps, :b will not see :p2_REAL. As a result, the implementation of the rust_library rule should not propagate the providers of its proc macro deps (unlike its regular deps). There is one downside to this solution: buck2 build :p does absolutely none of the things that the user is probably expecting. They need buck2 build :p_REAL. That's a bit sad. Thankfully directly building proc macros is not that important a use case? Alias​ It is already the case today that we can't use the normal alias rule on toolchains. A similar situation crops up here, where aliasing a target that pushes plugins causes the plugins to "get lost." The right solution to this is to probably allow plugins.ALL as a special value on pulls_plugins andpulls_and_pushes_plugins, and then set that for the alias rule. "},{"title":"Alias","type":0,"sectionRef":"#","url":"/docs/rule_authors/alias/","content":"","keywords":""},{"title":"alias​","type":1,"pageTitle":"Alias","url":"/docs/rule_authors/alias/#alias","content":"The alias rule has the following relevant attributes: name - (required) what the actual's label should be aliased as.actual - (required) a target label.default_host_platform - default host platform to use for the aliased target. Example filegroup( name = "foo", srcs = ["foo.txt"], ) alias( name = "other_foo", actual = ":foo", ) "},{"title":"versioned_alias​","type":1,"pageTitle":"Alias","url":"/docs/rule_authors/alias/#versioned_alias","content":"The versioned_alias rule has the following relevant attributes: name - (required) what the actual's label should be aliased as.versions - (required) a map of versions to their respective versioned target labels. Under the hood, any versioned parameters from the versioned_alias's underlyingactual are translated into their select-based equivalents, which rely on constraint settings added to the target platform. Example versioned_alias( name = "foo", versions = { # Target labels for foo versions "1.1": "//path/to/lib/1.1:foo", "1.2": "//path/to/lib/1.2:foo", }, visibility = [ "PUBLIC", ], ) "},{"title":"configured_alias​","type":1,"pageTitle":"Alias","url":"/docs/rule_authors/alias/#configured_alias","content":"The configured_alias rule has the following relevant attributes: name - (required) what the actual's label should be aliased as.configured_actual - a configured label (mapped to a configured dep under the hood so the providers can be simply forwarded).fallback_actual - if configured_actual is not set, then fallback to this value, which is an unconfigured dep. If configured_actual is not set, thenfallback_actual must be set.platform - the platform to build the aliased target with. note The actual field is available for configured_alias but it is not used under the hood (to keep compatibility of output format with Buck1 queries). Outside of simply pointing at another target, this target has one other useful feature - it contains a platform argument. This makes the alias rule useful for two distinct scenarios: Configuration switching during the build. For example, there is an iOS target that needs to build a dependency for WatchOS so it can include it in the bundle. This can be represented by the iOS target having a dependency on an alias of the Watch app with platform = "//the/desired/watchos:platform".Using a target to refer to another in a non-standard configuration. For example, if you want to have an experimental version of an app, you could represent that as an alias with an 'experimental' configuration pointing to the original target. Example configured_alias( name = "foo-with-platform1", actual = "//lib:foo", platform = "//some_config:platform1", visibility = ["PUBLIC"], ) "},{"title":"Package-local values","type":0,"sectionRef":"#","url":"/docs/rfcs/package-local-values/","content":"","keywords":""},{"title":"Why​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#why","content":"DevX people want to have some per-directory configuration files, accessible from Starlark macros. For example, a project NNN may want to switch to building using LLVM 15 by default. End users would want to have an easy instruction how to do that, after DevX people provided instructions and infrastructure for that. "},{"title":"What we have now​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#what-we-have-now","content":"Currently, in fbcode, we have get_modes mechanism. get_modes symbol is registered in per-package implicit symbols,here. This symbol can be accessed from macros usingimplicit_package_symbol function. get_modes functions are package-local, but all BUILD_MODE.bzl files need to be registered in global buckconfig, which is not ideal. Proposed per-package properties can replace get_modes mechanism. "},{"title":"API​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#api","content":""},{"title":"PACKAGE files​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#package-files","content":"Before evaluating BUCK file, buck2 will evaluate all PACKAGE files in the same directory and all parent directories. Absent PACKAGE files are treated as empty files. All relevant PACKAGE files are executed sequentially from the root directory to the current directory (but unrelated PACKAGE files can be executed in parallel). Evaluating PACKAGE files sequentially provides additional guarantees, for example, attempt to override a property (unless explicitly requested) should fail with Starlark call stack. Each PACKAGE file is evaluated at most once (like bzl file). PACKAGE files may load arbitrary bzl files. BUCK-specific functions called in bzl files (like rule functions) are available, but calling functions fromPACKAGE files is an error. This way, bzl files are evaluated only once regardless of whether they are loaded from PACKAGE or BUCK file. "},{"title":"API​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#api-1","content":"PACKAGE files have a global function: PACKAGE file API​ def write_package_value( name: str, value: "", overwrite: bool = False, ): ... Name is a string which must contain exactly one dot symbol (just to enforce code style). Value is an arbitrary Starlark value, for example, an integer, a list of integer, a struct or a function. When overwrite is False (default), attempt to overwrite per-package value defined in parent PACKAGE file will fail. Written values are frozen when PACKAGE file evaluation is finished. Note write_package_value symbol exists in bzl globals, and it can be called from bzl file in context of PACKAGE evaluation, but callingwrite_package_file is an error on context of BUCK evaluation. Modifying PACKAGE file logically invalidates the BUCK file of this package, and all PACKAGE and BUCK files of subpackages. However, BUCK file evaluation may track which package-local values were accessed and only invalidate BUCK files which were potentially affected (similarly to how we do it with buckconfigs, with individual properties being projection keys). BUCK file API​ BUCK files (and bzl files included from BUCK files) have a global function: def read_package_value( name: str, ): ... This function returns the nearest value registered per package, or None is such value does not exist. This function is available in bzl files, but attempt to call this function in context of PACKAGE file evaluation results in an error. This restriction can be lifted in the future. Per-package values are not accessible as global symbols in BUCK files. We may reconsider it in the future. "},{"title":"read_config​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#read_config","content":"PACKAGE files may call read_config function. "},{"title":"Configuration Transitions","type":0,"sectionRef":"#","url":"/docs/rule_authors/configuration_transitions/","content":"","keywords":""},{"title":"Transition rule​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#transition-rule","content":"Transition rules are defined in .bzl files using the transition built-in. The transition function creates a configuration-related object. Thetransition object is opaque, it does not have any operations, and can only be used as an argument to rule function or attribute constructor. Thetransition function call must be assigned to a global variable (this is similar to user-defined provider declarations). The transition function takes three arguments: implementation - a function.refs - references to configuration rules to be resolved and passed to the implementation function.split - (optional) bool flag (default False) to indicate whether transition is a split transition (used in per attribute transitions). The implementation function takes two arguments: platform - a configuration to transition.refs - resolved references as a struct. Example transition from ios to watchos (for example, to build a watchOS bundle as part of an iOS build): def _impl(platform: PlatformInfo.type, refs: struct.type) -> PlatformInfo.type: # Operating system constraint setting. os = refs.os[ConstraintSettingInfo] # Watchos constraint value. watchos = refs.watchos[ConstraintValueInfo] # Remove operating system constraint from input platform. constraints = { s: v for (s, v) in platform.configuration.constraints.items() if s != os.label } # Add watchos constraint value. constraints[watchos.setting.label] = watchos # Construct configuration structure. new_cfg = ConfigurationInfo( # Updated constraints. constraints = constraints, # Keep original config values. values = platform.configuration.values, ) # And return new configuration, # or a dict of marker to configuration in case of split transition. return PlatformInfo( # ... supplying configuration label. label = "<transitioned-to-watch>", configuration = new_cfg, ) iphone_to_watch_transition = transition(_impl, refs = { "os": "//constraints:os", "watchos": "//constraints:watchos", }) A transition function applied twice must produce the configuration identical to the configuration produced after applying transition once. assert tr(tr(platform=platform, refs=refs), refs=refs) == tr(platform=platform, refs=refs) If this invariant is not held, certain operations produce incorrect and possibly infinite graphs. This is not yet enforced. "},{"title":"Per rule transition​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#per-rule-transition","content":"The rule function has an optional cfg attribute, which takes a reference to the transition object (created with the transition function; not a string). When such a rule is called, it is instantiated, not with the requested configuration, but with the requested configuration transformed with a given rule transition. For example, the transition for watchos when the iOS target depends on watchos resource: watchos_resource = rule( cfg = iphone_to_watch_transition, ... ) "},{"title":"Per attribute transition​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#per-attribute-transition","content":"The attrs object has two attribute constructors: attrs.transition_dep(cfg)attrs.split_transition_dep(cfg) These attributes are similar to the dep attribute. When dependencies are resolved for the rule instance, then they are resolved not with the rule instance configuration, but with the configuration transformed with the given transition. For split transition, each dependency is resolved into a dict of marker to providers. For example: android_binary = rule( ... attrs = { "deps": attrs.list(attrs.split_transition_dep(cfg = cpu_split_transition), default = []), }, ) When the above is invoked as follows: android_binary( deps = ["//foo:bar", "//qux:quux"], ) Then the rule implementation gets something like the following in the depsattribute: { [ { # Key in this dict is the marker returned from split transition impl function. "arm64": "providers for //foo:bar configured for arm64", "armv7": "providers for //foo:bar configured for armv7", }, { "arm64": "providers for //qux:quux configured for arm64", "armv7": "providers for //qux:quux configured for armv7", }, ] } note It is an error to pass a split transition object to attrs.transition_dep and a non-split transition to attrs.split_transition_dep. "},{"title":"Per target transition​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#per-target-transition","content":"The Buck2 team is considering the implementation of per target transitions (that is, transitions referenced at a rule instantiation site as opposed to rule declaration site). No specific plans or APIs exists at the moment. It could be something like the following: cxx_binary( name = "foo", cfg = "//transitions:opengl-es-1.0", ... ) "},{"title":"Request transition on command line​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#request-transition-on-command-line","content":"For information, see RFC. "},{"title":"Access rule attributes in transition function implementation​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#access-rule-attributes-in-transition-function-implementation","content":"It might be useful for the transition function to be able to query rule attributes (for example, to perform transition to different configurations depending on java_version attribute). Both incoming (per rule) and outgoing (per dependency) transitions can access rule attributes. For outgoing transitions, transition rule implementation accesses the attributes of the target that has dependencies with transitions, not attributes of dependency targets. def _tr(platform, refs, attrs): # NB: There are some restrictions on what attrs can be made accessible: # - Only primitive values for now (providers are not resolved) # - Only unconfigured attributes for now attrs.my_list_attribute # == [12345, 67890] tr = transition( _tr, refs = {}, attrs = { "my_list_attribute": attr.list(...), }, ) my_rule = rule(..., cfg=tr) my_rule( ..., my_list_attribute = [12345, 67890], ) "},{"title":"Configurations","type":0,"sectionRef":"#","url":"/docs/rule_authors/configurations/","content":"","keywords":""},{"title":"Context​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#context","content":"Buck configurations provide an API to express the different ways in which projects and targets can be built. A configuration consists of a set of constraints and config settings (values from buckconfig). These are determined by a base platform that sets the initial values and then a series of transitions that may change them. The common way that users are exposed to configurations is in select()invocations where the resolution is based on the configuration. A build may involve many configurations. A particular target label (//:foo) may end up with multiple instances in the configured graph with different configurations. "},{"title":"Selectable attributes​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#selectable-attributes","content":"Almost all rule attributes can be set to a select() value; such an attribute is 'selectable'. These attributes' final resolved values will depend on the configuration. There are some attributes that cannot use a select(); such attributes are termed 'not selectable'. Examples include attributes that buck needs to read from the unconfigured node (such as name and default_target_platform) and attributes that are used by platform() rules and their dependencies (see below). "},{"title":"Selectable resolution​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#selectable-resolution","content":"Resolving selectable attributes is pretty straightforward, it happens when constructing the 'configured target node'. At that point, the full configuration is available so Buck can lookup whether each constraint in the select is satisfied or not. If multiple conditions of the select() match, then the select will be resolved to the 'most refined' of the conditions that match. A set of constraints (as in a config_setting) is said to 'refine' another if it is a superset of that other's constraints. The 'most refined' of a set is then the condition that refines all the others. If there is no 'most refined' condition of the matching ones, it is an error. "},{"title":"Target Platform Resolution​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#target-platform-resolution","content":"In the event that targets are provided on the command line, or when there is no indication of what configuration the target will be built in, configurations are determined by performing 'target platform resolution' on the unconfigured target labels. The target platform resolution for a target //:foo works as follows: Look up (unconfigured) target node for //:foo.If the command has a --target-platforms flag, use that.If there's a default_target_platform attribute, use that.Else, use the cell's default platform. This is performed independently for any targets that need a platform. Since this resolution is done without a configuration, it means that thedefault_target_platform attribute is not selectable. This target platform will form the initial configuration for the node. "},{"title":"Configuration propagation​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#configuration-propagation","content":"Once the top-level nodes have been configured via the target platform resolution, the configuration is propagated to dependencies (possibly altered by transitions). note The target platform resolution is not applied to all nodes in the graph. "},{"title":"Transitions​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#transitions","content":"A transition transforms a configuration by adding or changing constraint values and config settings or by setting an entirely new underlying target platform. For more details, see Configuration transitions. "},{"title":"ConfigurationInfo, platform() analysis, and more​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#configurationinfo-platform-analysis-and-more","content":"The definition of a platform (either execution or target) is done with aplatform rule instance. The configuration is actually part of the analysis result of the platform target (the ConfigurationInfo provider instance). This is convenient from an implementation standpoint, but it leads to a situation where some nodes are analyzed with an 'unbound' Configuration. All the rule types involved in defining a platform may be analyzed with an unbound configuration (platform(), config_setting(), constraint_setting(), and so on). These are sometimes called 'configuration rules'. This means that all the attributes of these rules are not selectable. Configurations also reference a few other provider instances such asConstraintSettingInfo. All of these end up being potentially produced in a context with an unbound configuration. Using analysis for this also means that 'configuration' and 'analysis' are not distinct phases within a build (although they are still distinct for a node and are still conceptually useful). "},{"title":"Configurations and output paths​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#configurations-and-output-paths","content":"Since a target may appear within a build in multiple different configurations, output paths cannot be derived based on just targets (as multiple actions would map to the same outputs). For this reason, the target and the configuration are encoded into output paths. The configuration is currently represented as a hash of its values (a 'hashed buck-out'). "},{"title":"Target platform compatibility​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#target-platform-compatibility","content":"All (non-configuration) rules support a target_compatible_with attribute. In addition, the rule itself can define target_compatible_with constraints that affect all instances. The target_compatible_with attribute is a list of constraints/config settings and it is selectable. Target platform compatibility is transitive, all dependents of an incompatible target are incompatible. In other words, a node is compatible if and only if the node itself and all of its transitive dependencies are compatible. In buck, this is implemented by graph configuration returning either a configured target node or an indicator that the node is incompatible with the target platform. "},{"title":"Buck v1 compatibility​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#buck-v1-compatibility","content":"Buck2 also supports the Buck v1 legacy compatible_with field on nodes but it has different behavior. In summary: compatible_with: List of constraints, where any of them must match the configuration to be compatible.target_compatible_with: List of constraints, where all of them must match the configuration to be compatible. "},{"title":"Incompatible target skipping​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#incompatible-target-skipping","content":"In a build-like command where a non-literal target pattern is provided (for example, buck build //: or buck build //foo/...), the target pattern will be resolved to a set of unconfigured targets. Those targets will then go throughtarget platform resolution. If any of those targets resolve to a platform where they are incompatible, building them will be skipped. Users generally expect and prefer this behavior to needing to explicitly specify only the targets that can build in their current context. If an explicitly specified literal is incompatible, it is an error. The implementation checks compatibility when looking up the analysis results for configured nodes requested (in the non-ignored flow, it uses that analysis result to lookup the default outputs and build them). "},{"title":"Execution platforms​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#execution-platforms","content":"Execution platforms/configurations are used to represent the platforms where build execution happens. These are defined in a similar manner to target platforms. These may or may not be what one would logically consider different 'platforms'. For example, there could be multiple different execution platforms that all execute things similarly on the local machine. A build configures a fixed list of one or more execution platforms. "},{"title":"Execution deps​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#execution-deps","content":"Some target deps are 'execution deps'. These are the dependencies of the target that should be built for the execution platform. For example, a compiler or other build tool would be an execution dep. This includes all exe macro deps (for example, $(exe //:tool)) and includes all attrs.exec_dep() deps. "},{"title":"Toolchain deps​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#toolchain-deps","content":"In addition to attrs.exec_dep(), there are attrs.toolchain_dep(), which are similar but differ in an important way. These nodes don't select their execution platform, but instead have it forced on them by whatever includes them; hence, it must be recorded in the configured target label. The execution platform resolution sees through them. In other words, attrs.toolchain_dep() is like a mix of attrs.dep() andattrs.exec_dep(): it inherits target platform like attrs.dep() (so anyselect()s on the target of the attrs.toolchain_dep() will evaluate as if they were on the target containing the attrs.toolchain_dep() - the target platform gets inherited as normal) and any attrs.exec_dep()s of theattrs.toolchain_dep() target become attrs.exec_deps() on the dependent of target the attrs.toolchain_dep() (they get passed up the dep tree, so participate in exec platform resolution). This is illustrated in the following example: target( name = "A", toolchain = attrs.toolchain_dep(default = ":B"), ) target( name = "B", tool = attrs.exec_dep(default = ":C") ) The above means that :C will be an execution dependency of :A and anyselect()s defined in :B would be evaluated against the same target platform as :A (as target platform gets inherited by attrs.toolchain_dep()s). "},{"title":"Running non-execution deps​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#running-non-execution-deps","content":"If you have a binary that you want to run, but it isn't a build tool, then you should use $(exe_target //:binary) rather than $(exe //:binary). That will run the same binary that you'd get from buck2 build, rather than one that is built for the execution platform. The path macros vary along two axes: Path Source: either DefaultInfo or RunInfo providersConfiguration: inherits the configuration or transitions to an execution platform configuration Specifically: $location: DefaultInfo path source, inherits configuration$exe: RunInfo path source, exec platform configuration$exe_target: RunInfo path source, inherits configuration "},{"title":"Execution platform resolution​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#execution-platform-resolution","content":"During analysis, unlike target platform resolution, every configured node undergoes execution platform resolution independently (see exception below). This means that even for a specific target platform, different nodes in the graph can be built on different execution platforms. This works roughly as follows: next: for platform in execution_platforms: if exec_compatible_with(target, platform): for dep in target.execution_deps(): if !target_compatible_with(dep, platform): continue next return platform return err One important note here is that until the execution platform has been resolved,the configuration for execution deps is not known. Only after execution platform has been resolved can the execution deps be configured (also, analysis for them can only be performed at that point). For the normal use case, a particular configured target node performs execution platform resolution a single time. The execution platform is not encoded in output paths. Regarding target compatibility, imagine the following pseudo-code for thetarget_compatible_with() function above: def target_compatible_with(target, cfg): for constraint in target.target_compatible_with: if not satisfied(constraint, cfg): return False if len(target.compatible_with) > 0: found_satisfied_constraint = False for constraint in target.compatible_with: if satisfied(constraint, cfg): found_satisfied_constraint = True break if not found_satisfied_constraint: return False for (dep, dep_cfg) in direct_deps(target): # NB: recursive call if not target_compatible_with(dep, dep_cfg): return False return True "},{"title":"Execution groups​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#execution-groups","content":"Execution groups are a future feature that will allow a rule to perform execution platform resolution multiple times and then specify in which of the resolved platforms each action runs in. "},{"title":"Dep Files","type":0,"sectionRef":"#","url":"/docs/rule_authors/dep_files/","content":"","keywords":""},{"title":"Use Cases​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#use-cases","content":"Dep files are used to make dependencies finer grained than what exists in the target graph, but they're not a substitute for avoiding unused dependencies. They're often useful when targets export many outputs (such as C++ headers) that aren't all used by all their dependents. Dep files are currently used to skip recompilation steps in C++ when an unused header changed. They're also used in Java to skip recompilation when an unused class changed. "},{"title":"Using dep files​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#using-dep-files","content":"To use dep files, you need to do the following: Declare what output is a dep file and associate it with your command.Declare which inputs are covered by the dep file (this can be a subset of your inputs).Have your command produce the dep file in a format Buck2 can use. You must also enableDeferred Materialization to use dep files. "},{"title":"Declaring the dep files and associating inputs​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#declaring-the-dep-files-and-associating-inputs","content":"To declare a dep file and associate it with your command, you need to tag your artifacts. Specifically, you'll tag the output (the dep file) and the inputs it covers, as shown in the following code: # First, create a tag headers_tag = ctx.actions.artifact_tag() # Then, tag inputs and the dep file itself in your command line. # You do this using the `tag_artifacts` method on your tag. # This method does not mutate the input, it wraps it, so you use the output. # Any command-line-arg-like can be tagged. tagged_headers = headers_tag.tag_artifacts(headers) dep_file = ctx.actions.declare_output("deps").as_output() tagged_dep_file = headers_tag.tag_artifacts(dep_file) # Finally, declare your action. # Use the tagged artifacts as you would regular command-line-arg-likes. # Pass the tag in `dep_files` and give a name (this is used for logging). ctx.actions.run( ["mycc", "-I", tagged_headers, "-MD", "-MF", tagged_dep_file, "-o", ...], dep_files = { "headers": headers_tag } ) "},{"title":"Producing the dep file​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#producing-the-dep-file","content":"Your command must produce dep files in the format Buck2 expects, which is simply a list of all the inputs that were used, one per line. The paths must be the paths Buck2 would use for your inputs, which means paths relative to the project root. If this is not the format your tool produces, use a wrapper to take whatever output your command produces and rewrite it in the format Buck2 expects. "},{"title":"Testing dep files​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#testing-dep-files","content":"When writing a command that produces a dep file, you should test it! At a minimum, check that the inputs you expect are tagged properly. To do so, build your target, then usebuck2 audit dep-files TARGET CATEGORY IDENTIFIER, which will show you the set of inputs your command used and how they're tagged. "},{"title":"Extra notes to the implementer​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#extra-notes-to-the-implementer","content":""},{"title":"Limitations​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#limitations","content":"Dep files only work if a previous invocation of the command is known to your Buck2 daemon. Dep files are dropped when the daemon restarts or when you runbuck2 debug flush-dep-files. This means that, for example, if you change an unused header, then run a build on a fresh daemon, Buck2 will still need to execute this command in order to identify that the header was in fact unused. In contrast, if you did the build (and got a remote cache hit on the command), then applied your change and re-built, Buck2 would use the dep file on the second execution, and you wouldn't need to execute anything. "},{"title":"Dep files don't need to be covering​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#dep-files-dont-need-to-be-covering","content":"It's OK for the dep file to only cover a subset of the inputs of your action. However, within that subset, the dep file must declare all the inputs that were used. If you fail to report some inputs you used, then your command will not re-run when they change, and you'll get stale output. "},{"title":"Dep files are lazy​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#dep-files-are-lazy","content":"Dep files aren't parsed by Buck2 unless the command needs to re-run. If the command ran on RE, they aren't even downloaded until then. This ensures dep files don't cause a performance hit unless they are used, at which point they stand a chance of giving a performance boost instead. This means that if you produce an invalid dep file, Buck2 will not report this until your command runs again, at which point Buck2 will report that the dep file is invalid and refuse to proceed (note: you can unblock yourself usingbuck2 debug flush-dep-files). To flush out issues during development, you can pass --eager-dep-files to Buck2 to force Buck2 to parse your dep files as they are produced. "},{"title":"Dep files will traverse symlinks​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#dep-files-will-traverse-symlinks","content":"If your dep file reports that a symlink was used, Buck2 will track the symlink's target as covered by this dep file. "},{"title":"Dynamic Dependencies","type":0,"sectionRef":"#","url":"/docs/rule_authors/dynamic_dependencies/","content":"","keywords":""},{"title":"Implementation​","type":1,"pageTitle":"Dynamic Dependencies","url":"/docs/rule_authors/dynamic_dependencies/#implementation","content":"Buck2 provides the following function: ctx.actions.dynamic_output(dynamic, inputs, outputs, lambda ctx: …) The arguments are: dynamic - a list of artifacts whose values will be available in the function. These will be built before the function is run.inputs - a container of artifacts (cmd_args, list of artifacts, and so on). These inputs must include all the inputs that are referenced by the body of the function argument, apart from those listed in dynamic and outputs: extra inputs may be passed that are not used.The inputs are used for buck2 aquery functionality, but do not cause speculative building. In fact, these inputs may form a cycle with otherdynamic_output actions if they were all required.In the future, it may be possible to not pass all the inputs if the repo is set to permissive mode, allowing a more powerful form of dynamic dependencies. outputs - a list of unbound artifacts (created with declare_artifact) which will be bound by the function.The function argument is given 3 arguments: ctx (context) - which is the same as that passed to the initial rule analysis.outputs - using one of the artifacts from the dynamic_output's outputs(example usage: outputs[artifact_from_dynamic_output_outputs]) gives an unbounded artifact. The function argument must use its outputs argument to bind output artifacts, rather than reusing artifacts from the outputs passed into dynamic_output directly.artifacts - using one of the artifacts from dynamic (example usage:artifacts[artifact_from_dynamic]) gives an artifact value containing the methods read_string, read_lines, and read_json to obtain the values from the disk in various formats. Anything too complex should be piped through a Python script for transformation to JSON. The function must call ctx.actions (probably ctx.actions.run) to bind all outputs. It can examine the values of the dynamic variables and depends on the inputs. The function will usually be a def, as lambda in Starlark does not allow statements, making it quite underpowered. Following is an example of using the function to determine Erlang BEAM dependencies: def erlang(ctx): beams = {} for x in ctx.attr.srcs: dep_file = ctx.actions.declare_output(x + ".out") ctx.actions.run("erl", "-dump-output", x, dep_file.as_output()) beam_file = ctx.actions.declare_output(x + ".beam") beams[x] = beam_file def f(ctx, artifacts, outputs, x=x, dep_file=dep_file): deps = artifacts[dep_file].read_lines() ctx.actions.run( "erl", "-comp", x, [beams[d] for d in deps], outputs[beams[x]].as_output() ) ctx.actions.dynamic_output([dep_file], [x] + deps, [beam_file], f) return [ErlangInfo(objects = beams.values())] The above code uses declare_output for the beam_file then binds it within the function f, after having read the dep_file with read_lines. "},{"title":"Anonymous Targets","type":0,"sectionRef":"#","url":"/docs/rule_authors/anon_targets/","content":"","keywords":""},{"title":"Anon rule​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#anon-rule","content":"An anonymous rule is defined using rule or anon_rule. Example: my_anon_rule = rule( impl = _anon_impl, attrs = {}, ) # Or: my_anon_rule = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = {} # only available for anon_rule ) For rule, these are normal rules, with the difference that they are not in a configuration, so ctx.actions.label won't show configuration information, but just unspecified. For anon_rule, the configuration restrictions also apply, and there is anartifact_promise_mappings field which you can specify a dict of artifact promise names to the map function, which would be applied to the anon target's promise during rule resolution. "},{"title":"Anon target​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#anon-target","content":"An anonymous rule is used via ctx.actions.anon_target orctx.actions.anon_targets, passing in the rule and the attributes for the rule. The return values of those functions are a AnonTarget and AnonTargets type, respectively. Example: my_anon_rule1 = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = {} ) my_anon_rule2 = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = {} ) # <elsewhere> anon_target = ctx.actions.anon_target(my_anon_rule1, {}) anon_targets = ctx.actions.anon_targets([(my_anon_rule1, {}), (my_anon_rule2, {})]) "},{"title":"AnonTarget and AnonTargets​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#anontarget-and-anontargets","content":"AnonTarget has a promise attribute, and artifact() and artifacts()functions. AnonTargets has a promise attribute and anon_targets attribute. The promise attribute for both types returns the anon target's promise (type is promise), which when evaluated returns the providers of the anonymous target. The promise type has a few special behaviors. It has a map function, which takes a function and applies it to the future, returning a new futureAll promises will eventually resolve to a list of providers For AnonTarget, the artifact() and artifacts() functions only return something if using anon_rule. artifact() takes in an artifact name, which should be found in the artifact_promise_mappings dict, and returns the artifact promise. artifacts() returns the dict of all promise artifact names to the artifact promise itself, as defined in artifact_promise_mappings. SeeConvert promise to artifact below for more information about artifact promises. Example: HelloInfo = provider(fields = ["output"]) my_anon_rule = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = { "hello": lambda x: x[HelloInfo].output, } ) # <elsewhere> anon_target = ctx.actions.anon_target(my_anon_rule, {}) artifact = anon_target.artifact("hello") artifact_from_dict = anon_target.artifacts()["hello"] For AnonTargets, the anon_targets attribute returns a list of the underlyingAnonTargets. Example: HelloInfo = provider(fields = ["output"]) GoodbyeInfo = provider(fields = ["output"]) my_anon_rule1 = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = { "hello": lambda x: x[HelloInfo].output, } ) my_anon_rule2 = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = { "goodbye": lambda x: x[GoodbyeInfo].output, } ) # <elsewhere> all_targets = ctx.actions.anon_targets([(my_anon_rule1, {}), (my_anon_rule2, {})]) hello = all_targets.anon_targets[0].artifact("hello") goodbye = all_targets.anon_targets[1].artifact("goodbye") Attributes Anon targets only support a subset of attributes that normal rules support. Supported attributes: boolintstrenumdep deps attributes do not take strings, but dependencies, already in a configurationexec_deps are available if the passed in dep's execution platform matchesDefault attr.deps (as used for toolchains) are not permitted, as the default can't express a dependency. They must be passed forward from the caller. that of the anon target's caller source Accepts bound artifacts or promise artifacts arg Can only be used if anon_target_compatible is True when declaringattrs.arg (ex: attrs.arg(anon_target_compatible = True)) labellisttupledictone_ofoption You can use these attributes like you would in normal rules: my_anon_rule = anon_rule( impl = _my_anon_impl, attrs = { "my_int": attrs.int(), "my_string_with_default": attrs.string(default = "foo"), "my_optional_source": attrs.option(attrs.source()), "my_list_of_labels": attrs.list(attrs.label()), }, artifact_promise_mappings = {} ) def _my_anon_impl(ctx: AnalysisContext) -> list[Provider]: my_int = ctx.attrs.my_int my_string_with_default = ctx.attrs.my_string_with_default my_optional_source = ctx.attrs.my_optional_source my_list_of_labels = ctx.attrs.my_list_of_labels # do something with the attributes... return [DefaultInfo()] "},{"title":"Attribute resolution​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#attribute-resolution","content":"Attribute resolution is handled differently from normal code: Transitions and more complex forms of attributes are banned.The name attribute is a reserved attribute. It is an implicit attribute when defining a rule for an anon target, but can be optionally set when creating an anon target. If present, it must be a syntactically valid target, but could refer to a cell/package that does not exist. If not present, buck2 will generate a name for the target automatically. "},{"title":"name attribute example​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#name-attribute-example","content":"# Rule definition for anon target my_rule = rule( impl = _my_impl, attrs = { # `name` is already implicitly defined as an attribute, and will error # out if you try to define it again during rule declaration }, ) # Anon target instantiation, elsewhere ctx.actions.anon_target( my_rule, { # you can optionally pass `name` into the attributes even though it's # not explicitly defined in the `attrs` field for `my_rule` "name": "foo//bar:baz" }, ) To access the name attribute from an analysis context, you can usectx.label.name. Examples "},{"title":"Simple Example​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#simple-example","content":"# Define an anonymous rule UpperInfo = provider(fields = ["message"]) def _impl_upper(ctx): return [UpperInfo(message = ctx.attrs.message.upper()] upper = rule( attrs = {"message", attrs.string()}, impl = _impl_upper ) # Use an anonymous target def impl(ctx): def k(providers): print(providers[UpperInfo].message) # These are the providers this target returns return [DefaultInfo()] return ctx.actions.anon_target(upper, { name: "my//:greeting", message: "Hello World", }) .promise .map(k) "},{"title":"Longer example​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#longer-example","content":"The following code represents a scenario for a compile-and-link language where, if two targets end up compiling the same file (for example, they are in the same package and both list it, or it gets export_file'd), then that file is compiled just once: ## BUCK ############## @load(":silly.bzl", "silly_binary") silly_binary( name = "hello", srcs = ["hello.sil", "world.sil"], ) ## silly.bzl ############ _SillyCompilation = provider(fields = ["compiled"]) def _silly_compilation_impl(ctx): out = ctx.actions.declare_output("output.o") ctx.actions.run(cmd_args( ctx.attrs.toolchain.compiler, ctx.attrs.src, "-o", out.as_output(), )) return [DefaultInfo(), _SillyCompilation(compiled = out)] _silly_compilation = rule( impl = _silly_compilation_impl, attrs = { "src": attrs.src(), "toolchain": attrs.dep(), }, ) def _silly_binary_impl(ctx): def k(providers): # Step 2: now link them all together out = ctx.actions.declare_output("out.exe") objs = [p[_SillyCompilation].compiled for p in providers] ctx.actions.run(cmd_args( ctx.attrs._silly_toolchain.linker, objs, "-o", out.as_output(), )) return [ DefaultInfo(default_output = out), RunInfo(args = out), ] # Step 1: compile all my individual files return ctx.actions.anon_targets( [(_silly_compilation, { "src": src, "toolchain": ctx.attrs._silly_toolchain }) for src in ctx.attrs.srcs] ).map(k) silly_binary = rule( impl = _silly_binary_impl, attrs = { "srcs": attr.list(attr.src()), "_silly_toolchain": attr.dep(default = "toolchains//:silly"), }, ) "},{"title":"Convert promise to artifact​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#convert-promise-to-artifact","content":"It can be challenging to pass around the promises from anon_target and structure functions to support that. If you only need an artifact (or multiple artifacts) from an anon_target, you can use artifact() function on the anon target to convert a promise to an artifact. This artifact can be passed to most things that expect artifacts, but until it is resolved (at the end of the current analysis) it can't be inspected with artifact functions like .extension, etc..short_path is supported if ctx.actions.assert_short_path() was called, which produces an artifact type. The promise must resolve to a build (not source) artifact with no associated artifacts. Example: HelloInfo = provider(fields = ["hello", "world"]) def _anon_impl(ctx: AnalysisContext) -> ["provider"]: hello = ctx.actions.write("hello.out", "hello") world = ctx.actions.write("world.out", "world") return [DefaultInfo(), HelloInfo(hello = hello, world = world)] _anon = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = { "hello": lambda x: x[HelloInfo].hello, "world": lambda x: x[HelloInfo].world, } ) def _use_impl(ctx: AnalysisContext) -> ["provider"]: anon = ctx.actions.anon_target(_anon, {}) hello_artifact = anon.artifact("hello") world_artifact = anon.artifact("world") out = ctx.actions.declare_output("output") ctx.actions.run([ ctx.attrs.some_tool, hello_artifact, world_artifact, out.as_output() ], category = "process") return [DefaultInfo(default_output = out)] use_promise_artifact = rule(impl = _use_impl, attrs = { "some_tool": attr.exec_dep(), }) "},{"title":"Incremental Actions","type":0,"sectionRef":"#","url":"/docs/rule_authors/incremental_actions/","content":"Incremental Actions It's possible to make certain Buck2 actions behave incrementally, that is, to produce results for a current invocation based on the result from the previous run. Incrementality could significantly improve performance of some actions such as packaging (such as Apple App Bundles) or linking (MSVC incremental linking). There are two essential requirements to make an action incremental: The result from the previous run should be accessible.An understanding of which parts of the result need to be updated; it should be easy to compare inputs from a previous run with inputs from the current run and detect those changed. The only way to run user-defined commands in Buck2 is with ctx.actions.run. Both of the above requirements are met via its metadata_env_var,metadata_path and no_outputs_cleanup parameters. When the no_outputs_cleanup flag is turned on, Buck2 won't perform any deletion of old outputs for the action. That means the result from the previous run will be accessible, but the user script has to detect which parts of it should be deleted and perform a manual cleanup. When the metadata_env_var and metadata_path parameters are present, Buck2 will create a JSON file on a disk before actually executing the command. The file will contain a list of paths and hash digests for every command action input. All paths in the file are relative to the Buck2 project root. Symlinks are not included in metadata because it is possible for the user script to resolve symlink and use a resolved path to get the destination hash digest from action metadata if it's needed, as shown in the following JSON example: { "version": 1, "digests": [ { "path": "buck-out/v2/gen/cell/configuration_hash/path/to/target/__target_name__/generated_file", "digest": "da39a3ee5e6b4b0d3255bfef95601890afd80709:10" }, ... ] } A user script that is run as a part of an action execution is responsible for parsing the JSON file. The version field is bumped every time there is a non-backwards compatible change to the format of the file. The user script should verify that the provided data is of a supported version and should be updated accordingly when the current version is newer than the supported one. The path of the JSON file is provided to the user script via an environment variable with a key equal to metadata_env_var. The user is able to specify the part of the path relative to the result directory via metadata_path. For example, if some rule implementation has the following code: result = ctx.actions.declare_output("result") command = cmd_args(["my_script.py", "--output", result.as_output()]) ctx.actions.run( command, category = "my_category", metadata_env_var = "ACTION_METADATA", metadata_path = "action_metadata.json", no_outputs_cleanup = True, ) Then my_script.py will be executed as: ACTION_METADATA=project/relative/path/to/target/action_metadata.json my_script.py --output resolved/path/to/result my_script.py is responsible for reading the ACTION_METADATA environment variable and parsing a JSON file with the action metadata. Parsed metadata provides information about inputs for the current run, but the script needs somehow to obtain similar information about inputs from the previous run. Such information could just be another output of the user script (as with the previous result, it won't be deleted whenno_outputs_cleanup = True). The Format of such a file is an implementation detail of the user script, but at the very least it should contain a list of every source that was used to form the result and hash digests for such sources. The rule implementation would look something like the following: result = ctx.actions.declare_output("result") state = ctx.actions.declare_output("incremental_state.json") command = cmd_args(["my_script.py", "--output", result.as_output(), "--incremental-state", state.as_output()]) ctx.actions.run( command, category = "my_category", metadata_env_var = "ACTION_METADATA", metadata_path = "action_metadata.json", no_outputs_cleanup = True, ) The user script would then: Parse incremental_state.json and delete it. Deletion prior to amending the result is important so it doesn't result in a situation where an incremental state file is out of sync with the result when the user script fails while changing the result. Such a corrupted state might lead to subsequent incorrect builds reported as "successful".Parse action metadata file, compute what is needed to update the result, and amend it accordingly.Calculate the new state and write it into the new incremental_state.json.","keywords":""},{"title":"Local Resources For Tests Execution","type":0,"sectionRef":"#","url":"/docs/rule_authors/local_resources/","content":"","keywords":""},{"title":"LocalResourceInfo provider​","type":1,"pageTitle":"Local Resources For Tests Execution","url":"/docs/rule_authors/local_resources/#localresourceinfo-provider","content":"This provider describes how to initialize and clean up a pool of homogeneous local resources. Management of initialized resources is done by Buck2 itself when it executes tests requiring such resources. Fields: setup — command represented by cmd_args object which is executed to initialize a local resource. Running this command should write a JSON to stdout. This JSON represents a pool of local resources which are ready to be used.resource_env_vars — key-value mapping {str: str} from environment variable (appended to an execution command for test which is dependent on this local resource) to keys in JSON output of setup command. Example JSON output of setup command: { "pid": 42, "resources": [ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ] } JSON keys: pid — an optional attribute which maps to a PID of a process that holds initialized local resources. If present, on non-Windows platforms the process will be sent SIGTERM when those resources are no longer needed. Signal should be handled to release any system resources related to local resources.resources — a list of resource instances, each is a mapping from a string alias (e.g. socket_address) to a value which represents resource. The number of concurrently running tests that require resources of the same type is limited by how many instances are in a list. String alias is mapped to an environment variable key (which will be added to a command requiring such resource) using a resource_env_vars field in LocalResourceInfo provider (see example below). "},{"title":"Test Execution​","type":1,"pageTitle":"Local Resources For Tests Execution","url":"/docs/rule_authors/local_resources/#test-execution","content":"For a general context on how tests are executed, seeTest Execution. A decision whether certain local resource is required for specific test is made by a test runner. List of required resources is then passed to Buck2 inrequired_local_resources field of ExecuteRequest2 test API protobuf message. If resource is required for a certain test execution and test could potentially be executed locally, local_resources field in test's ExternalRunnerTestInfoprovider is used to select appropriate LocalResourceInfo provider. ExternalRunnerTestInfo.local_resources is a key-value mapping{str: ["label", None]}. Keys represent resource types that match the values passed from the test runner, and values are labels that should point to a target exposing the LocalResourceInfo provider to be used for the initialization of the resource of that type. If the value is None, it indicates that a resource of that type will not be provided, even if the test runner requests it. Before running a test, setup command from selected provider is executed and its output is used to create a pool of resource instances. This pool is shared across all tests pointing to the same configured target label containingLocalResourceInfo provider (normally that means pool is shared for tests requiring same resource type). A resource is acquired (with potential queuing) from that pool prior single test is executed and is returned back to the pool when test finished execution. After buck2 test command is finished, cleanup is performed when SIGTERM is sent to each process holding a pool of resources. "},{"title":"Example Usage​","type":1,"pageTitle":"Local Resources For Tests Execution","url":"/docs/rule_authors/local_resources/#example-usage","content":"Define a target which has LocalResourceInfo provider: simulator( name = "my_resource", broker = ":broker", ) where broker points to a runnable handling actual simulators. Implementation of simulator rule would be: def _impl(ctx: AnalysisContext) -> ["provider"]: return [ DefaultInfo(), LocalResourceInfo( setup = cmd_args([ctx.attrs.broker[RunInfo]]), resource_env_vars = { "IDB_COMPANION": "socket_address" }, ) ] Running a :broker via setup command produces the following JSON: { "pid": 42, "resources": [ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ] } When Buck2 locally executes a test which requires this particular type of local resource, it reserves one resource from the pool (e.g.{"socket_address": "bar:2"}) and add environment variable representing this resource to execution command (e.g. IDB_COMPANION=bar:2). In our examples"socket_address" alias was substituted by "IDB_COMPANION" based onLocalResourceInfo.resource_env_vars field. The last part is to map a resource type to desired LocalResourceInfo provider. Let's assume a test runner requires a resource of type "ios_simulator" for everyapple_test rule. Pass :my_resource target as a dependency into apple_test rule: apple_test = rule( impl = apple_test_impl, attrs = { ... "_ios_simulator": attrs.default_only(attrs.dep(default = ":my_resource", providers = [LocalResourceInfo])), ... }, ) Actually map "ios_simulator" resource type to :broker target containingLocalResourceInfo provider: def apple_test_impl(ctx: AnalysisContext) -> ["provider"]: ... return [ ... ExternalRunnerTestInfo( ... local_resources = { "ios_simulator": ctx.attrs._ios_simulator, }, ... "},{"title":"Observability and Optimization","type":0,"sectionRef":"#","url":"/docs/rule_authors/optimization/","content":"","keywords":""},{"title":"Starlark profiling​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#starlark-profiling","content":"buck2 supports profiling of the evaluation of specific BUCK files and profiling of the analysis of specific targets. There are three buck2 profiling commands: buck2 profile loadingbuck2 profile analysisbuck2 profile bxl For example: buck2 profile loading --mode=heap-summary-allocated -o heap-summary.csv //some/package: buck2 profile analysis --mode=heap-summary-allocated -o heap-summary.csv //some/package:target Possible values for profiling modes are as follows: heap-summary-allocated: The heap profile mode provides information about the time spent in each function and allocations performed by each function. Enabling this mode has the side effect of disabling garbage-collection. This profiling mode is the recommended one.heap-summary-retained: Like heap summary, but information about retained memory after module is frozen.time-flame: Provide output compatible withflamegraph.pl.heap-flame-allocated: Like heap profile, but writes output comparible withflamegraph.pl.heap-flame-retained: Like heap flame, but information about retained memory after module is frozen.statement: The statement profile mode provides information about time spent in each statement.bytecode: The bytecode profile mode provides information about bytecode instruction pairs.bytecode-pairs: The bytecode profile mode provides information about bytecode instruction pairs.typecheck: Profile runtime typechecking. "},{"title":"Summary profiling​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#summary-profiling","content":"The first profiling mode (heap-summary-allocated) provides the time spent within a function and the allocations that are performed. As an example, running over a folly BUCK file, produces a CSV file whose top-left corner is: Function Time(s) TimeRec(s) Calls Allocs TOTALS 10.455 10.455 9712799 3477203 fbchain_configs 1.163 2.514 11328 33984 is_string 0.726 1.028 1514985 0 apple_library 0.725 0.725 1887 0 type 0.435 0.435 2053296 0 ... This reveals the following: Total execution was 10.455s, which will be a bit slower than normal, because profiling is on.1.163s was spent in fbchain_configs itself and 2.514s in that function and the things it calls.A disturbing 1.5M calls and 1.028s is spent testing if things are strings, which is almost certainly responsible for half the type calls.Happily, is_string doesn't allocate, but fbchain_configs does. Scrolling to the right, on the full CSV file (not shown), reveals it allocates 1 tuple and 2 dict per call. It can also be seen that fbchain_configs is mostly called by _add_code_coverage_configs. This profiling mode is implemented by turning off garbage collection, so the heap retains everything, and pushing function entry/exit entries on to the heap with the time they happen. After execution, the heap can be scanned in order to reconstruct the call tree and allocation patterns. As a result, this profile mode may consume significantly more memory. "},{"title":"Statement profiling​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#statement-profiling","content":"The second profiling mode tells us which statements spent most time executing. Running it over a structured-logger BUCK file gives us a CSV file starting with: File Span Duration(s) Count TOTAL 4.03 7187761 fbcode_allowed_list.bzl 420:9-423:1 0.27 455884 cell_defs.bzl 13:5-13:60 0.17 117736 read_configs.bzl 46:5-46:55 0.08 65042 prelude.bzl 28:9-29:20 0.07 1004 ... This profile shows how much time is spent in each statement. Looking at the relevant portion of fbode_allowed_list.bzl: for _package in _recursive_allowlist: if base_path == _package or base_path.startswith(_package + "/"): return True The if statement is at location 420:9-423:1 and takes 0.27s. The ifstatement runs approximately 456K times. While looking at the outer statement in the profile (not shown), it can be seen that the for loop is only called 3188 times, implying an average of 143 iterations per call. It's possible that this loop could be rewritten as some clever dictionary lookup, perhaps iterating over the path components of _package. Line profiling builds on top of the before_stmt hook that is used for debugging. It records the time each statement is entered then blames that statement for all time until the next statement. That means that sometimes, due to statements making function calls, the return of the function call may be 'blamed' until the next statement executes. As a result, treat the results with slight caution. "},{"title":"Flame profiling​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#flame-profiling","content":"The flame profiling modes produces a .svg flamegraph showing either time spent or allocations. You can open it in Google chrome and inspect the resulting flame graph. "},{"title":"Native profiling​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#native-profiling","content":"Profiling on Linux can be done withperf record -g --call-graph=dwarf,20000 ... and perf report --call-graph Don't profile the buck2 process directly unless you are interested in profiling the CLI; you likely want to profile the buck2 daemon process. You can find the pid with buck2 status and attach perf to that PID. Profiling on Mac can be done with Instruments. "},{"title":"Benchmarking​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#benchmarking","content":"If you want to do proper statistically relevant A/B testing, useabsh -a testa -b testb (see absh in the GitHub repository).To measure the number of instructions: On Linux, use perf stat fooOn Mac, use /usr/bin/time -lp foo On Mac, to run something with the time profiler on the command line, usexcrun xctrace record --template 'Time Profiler' --launch -- foo, thenopen Foo.trace for the name of the trace file it spits out (or pass--output to control the output filename). "},{"title":"PACKAGE Files","type":0,"sectionRef":"#","url":"/docs/rule_authors/package_files/","content":"","keywords":""},{"title":"APIs​","type":1,"pageTitle":"PACKAGE Files","url":"/docs/rule_authors/package_files/#apis","content":""},{"title":"PACKAGE APIs​","type":1,"pageTitle":"PACKAGE Files","url":"/docs/rule_authors/package_files/#package-apis","content":"write_package_value​ def write_package_value( name: str, value: "", overwrite: bool = False, ): ... This global API is only available in PACKAGE files, or bzl files included inPACKAGE files. name is a string which must contain exactly one dot symbol (just to enforce code style). value is an arbitrary Starlark value, for example, an integer, a list of integer, a struct or a function. The value must be serializable into JSON. When overwrite is False (default), attempt to overwrite per-PACKAGE value defined in parent PACKAGE file will fail. Written values are frozen when PACKAGE file evaluation is finished. Note write_package_value symbol exists in bzl globals, and it can be called from bzl file in context of PACKAGE evaluation, but callingwrite_package_file is an error on context of BUCK evaluation. Modifying PACKAGE file logically invalidates the BUCK file of this directory, and all PACKAGE and BUCK files of sub-PACKAGEs. However, BUCKfile evaluation may track which PACKAGE-local values were accessed and only invalidate BUCK files which were potentially affected (similarly to how we do it with buckconfigs). read_parent_package_value​ def read_parent_package_value( key: str, ): ... This global API is only available in PACKAGE files, or bzl files included inPACKAGE files. This function returns the PACKAGE value defined in a parent PACKAGE file, orNone is such value does not exist. This function is available in PACKAGE files, but attempt to call this function in context of bzl file evaluation results in an error. package​ def package( inherit: bool = False, visibility: list[str] | tuple[str, ...] = [], within_view: list[str] | tuple[str, ...] = [] ) -> None This global API is only available in PACKAGE files, or bzl files included inPACKAGE files. visibility is a list of visibility patterns to apply to all targets contained within the directory, unless the target defines it's own visibility patterns. within_view is a list of visibility patterns restricting what all target contained within the PACKAGE directory can depend on. Applies to first-order deps, and not transitive deps. If inherit is True, then the visibility and within_view will be inherited from the nearest parent PACKAGE. read_config​ PACKAGE files are able to call read_config to read buckconfigs. "},{"title":"BUCK-specific API​","type":1,"pageTitle":"PACKAGE Files","url":"/docs/rule_authors/package_files/#buck-specific-api","content":"read_package_value​ def read_package_value( name: str, ): ... This global API is only available in BUCK files, or bzl files included inBUCK files. This function returns the nearest name value registered per PACKAGE, orNone is such value does not exist. This function is available in bzl files, but attempt to call this function in context of PACKAGE file evaluation results in an error. This restriction can be lifted in the future. "},{"title":"Test Execution","type":0,"sectionRef":"#","url":"/docs/rule_authors/test_execution/","content":"","keywords":""},{"title":"Anatomy of a test run​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#anatomy-of-a-test-run","content":"When a user runs buck2 test $targets: Buck2 identifies all matching targets that have an ExternalRunnerTestInfo.Buck2 builds all the artifacts referenced by those targets (this will likely change eventually to build them only if they are used).Buck2 then notifies the test runner that those tests exist. Currently, the test runner receives a subset of ExternalRunnerTestInfo.The test runner can request command execution from Buck2 to list and execute tests.When it receives command results from Buck2, the test runner may fire off events that the end-user will see (such as test results), upload logs externally, request further executions, and so on. note If more than one target is being built, test building and execution will proceed concurrently. "},{"title":"Information available on ExternalRunnerTestInfo​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#information-available-on-externalrunnertestinfo","content":"As noted, rules communicate their testing capabilities viaExternalRunnerTestInfo. There are a number of fields available onExternalRunnerTestInfo to control how a given target is tested, as detailed in the following sub-sections. "},{"title":"Fields exposed to the test runner​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#fields-exposed-to-the-test-runner","content":"The following list shows what is available in ExternalRunnerTestInfo, with which the test runner can interact: type - a string key that defines the type of test this is. command and env - respectively, a list and a key-value mapping of arguments. They are not always visible to the test runner (for more details, seeVerbatim arguments and handles, below).labels - a set of string labels to pass to the test runner. contacts - a list of contacts for the tests; usually oncalls.executor_overrides - a key-value mapping of executor configurations that the test runner can use when requesting execution from Buck2.local_resources - a key-value mapping from resource type to optionalLocalResourceInfo provider. Provider is used for initialization of that resource type. If the value is None resource type is ignored even though test runner required it. For context seeLocal Resources For Tests Execution. "},{"title":"Fields pertinent for Remote Execution​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#fields-pertinent-for-remote-execution","content":"For compatibility with Remote Execution (RE), there are two fields that rules should set in their ExternalRunnerTestInfo if they should be run on RE: use_project_relative_paths - if true (the default is `true`), Buck2 will produce relative paths. If not, it'll produce absolute paths.run_from_project_root - if true (the default is `true`), tests will run from the project root (their `cwd` will be the project root, which is the same as all build commands). If `false`, it'll be the cell root. Note that passing --unstable-allow-all-tests-on-re to buck2 test will override those fields and set them to true, since they are a pre-requisite to run on RE. In contrast, passing --unstable-allow-compatible-tests-on-re will only allow tests that already set both those fields to true to execute on RE. Also note that when executor_overrides are set, if an executor override is used and results in execution on RE, it'll happen on RE unconditionally. Therefore, it's a good idea to set those fields if RE-only executor overrides are provided. "},{"title":"Verbatim arguments and handles​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#verbatim-arguments-and-handles","content":"As noted above, the test runner only interacts with a subset of arguments provided by rules in ExternalRunnerTestInfo. The reason for this is that the test runner doesn't get to access, for example, artifacts, that Buck2 knows about. Consider the following example: binary = ctx.attrs.dep[RunInfo] test_info = ExternalRunnerTestInfo(command = [binary, "run-tests"], ...) When Buck2 actually runs this command, binary is expanded to a path (and possibly to more args). Buck2 would also account for any hidden arguments and make those available where the command is executed. It is important for Buck2 to retain this capability when running with the test runner. To that end, all non-trivial arguments present in command (and in the values of env), such as cmd_args or RunInfo, are exposed to the test runner as opaque handles, and simple string arguments are passed as-is to the test runner. This means that the test runner would see the command described above as: [ArgHandle(index = 0), Verbatim("foobar")] When requesting execution from Buck2, the test runner can use the ArgHandleand Buck2 will swap it back for the underlying value that was set on the provider. This allows the test runner to introspect and modify parts of the command lines it receives, as long as it doesn't need to access the actual text value of non-verbatim arguments. Usually, this works out to be sufficient (or can be made sufficient with a bit of refactoring in the test runner). "},{"title":"Execution Configurations​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#execution-configurations","content":"By default, tests execute using the execution configuration of the associated target. This is the execution configuration that would be used for run actions (ctx.actions.run) declared in the same target. This is a default that actually makes little sense but works out as long as cross-compiling is not the norm. To support this, ExternalRunnerTestInfo allows specifying override platforms, which are given a name. The test runner can request execution on them by passing their name when it sends execution requests to Buck2, as shown in the following code: ExternalRunnerTestInfo( executor_overrides = { "ios-simulator": CommandExecutorConfig( local_enabled = False, remote_enabled = True, remote_execution_properties = { "platform": "ios-simulator-pure-re", "subplatform": "iPhone 8.iOS 15.0", "xcode-version": "xcodestable", }, remote_execution_use_case = "tpx-default", ), "static-listing": CommandExecutorConfig(local_enabled = True, remote_enabled = False), }, ... ) The default execution platform can also be overridden: ExternalRunnerTestInfo( default_executor = CommandExecutorConfig( local_enabled = False, remote_enabled = True, remote_execution_properties = { "platform": "ios-simulator-pure-re", "subplatform": "iPhone 8.iOS 15.0", "xcode-version": "xcodestable", }, remote_execution_use_case = "tpx-default", ), ... ) "},{"title":"Working Directory​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#working-directory","content":"Tests can be run from the cell root by setting `run_from_project_root = False`. To produce paths relative to the cell root for use by tests, userelative_to(ctx.label.cell_root) on cmd_args. "},{"title":"Deferred Materialization","type":0,"sectionRef":"#","url":"/docs/users/advanced/deferred_materialization/","content":"","keywords":""},{"title":"Pitfalls​","type":1,"pageTitle":"Deferred Materialization","url":"/docs/users/advanced/deferred_materialization/#pitfalls","content":"Buck2's deferred materialization makes assumptions about your Remote Execution backend. In particular, it expects that the TTL returned from action cache entries by your Remote Execution backend always exceeds the TTL of all output artifacts it references. Nonetheless, artifacts may also eventually expire from your Remote Execution backend. When that happens, builds using Deferred Materialization may fail if those artifacts are needed locally. A kill is necessary to recover from those builds. However, theRestarter can be used to mitigate this issue by restarting Buck2 daemon when it encounters an expired artifact. At Meta, artifacts get periodically refreshed, but open source RE backends do not expose the TTL of artifacts, so this feature does not work outside of Meta. "},{"title":"Enabling Deferred Materialization​","type":1,"pageTitle":"Deferred Materialization","url":"/docs/users/advanced/deferred_materialization/#enabling-deferred-materialization","content":"To enable deferred materialization, add this to yourBuckconfig: [buck2] materializations = deferred "},{"title":"On-disk state​","type":1,"pageTitle":"Deferred Materialization","url":"/docs/users/advanced/deferred_materialization/#on-disk-state","content":"Buck2 can also optionally track its state on disk in a SQLite database. This allows Buck2 to remember what files are on disk across restarts. This can allow Buck2 to avoid re-downloading outputs from your Remote Execution backend if they are already on disk. To enable, add this to your Buckconfig: [buck2] sqlite_materializer_state = true "},{"title":"Deferring Write Actions​","type":1,"pageTitle":"Deferred Materialization","url":"/docs/users/advanced/deferred_materialization/#deferring-write-actions","content":"To further speedup builds, Buck2 can also be instructed to not execute any writes on the critical path for a build. To enable, add this to your Buckconfig: [buck2] defer_write_actions = true This mechanism is recommended if you're using the On-disk State, since it means Buck can omit writes entirely if the same content is already on disk. "},{"title":"buck2 clean --stale​","type":1,"pageTitle":"Deferred Materialization","url":"/docs/users/advanced/deferred_materialization/#buck2-clean---stale","content":"The deferred materializer can be configured to continuously delete stale artifacts, that haven't been recently accessed, or untracked artifacts, that exist in buck-out but not in the materalizer state. Unlike buck2 clean this does not fully wipe buck-out but it should not negatively impact build performance if you are building and rebasing regularly. Enabling this requires enabling on-disk state anddeferred write actions, and adding this to your Buckconfig: [buck2] clean_stale_enabled = true It can be further configured by changing these default values: [buck2] # one week clean_stale_artifact_ttl_hours = 24 * 7 clean_stale_period_hours = 24 clean_stale_start_offset_hours = 12 clean_stale_start_offset_hours determines the time following daemon start up before the first clean will be scheduled.clean_stale_period_hours determines how frequently to schedule recurring clean events.clean_stale_artifact_ttl_hours determines how long artifacts should be kept in buck-out before cleaning them. If clean stale is running in the background at the same time that a build begins to materialize artifacts, the clean will be interrupted and not run again until after the next scheduled period, but it should be able to make gradual progress and prevent long term accumulation of artifacts. If needed, a clean can be manually triggered by calling buck2 clean --stale. "},{"title":"Transitive Sets","type":0,"sectionRef":"#","url":"/docs/rule_authors/transitive_sets/","content":"","keywords":""},{"title":"Rule API​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#rule-api","content":"First, you need to declare your transitive set type, then you can use it, as follows: # This is the type MySet = transitive_set() # Those are transitive sets: set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) Values are optional, and so are children. This means you can have a set with no value and sets with no children. "},{"title":"Projections: using transitive sets in command lines​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#projections-using-transitive-sets-in-command-lines","content":"Sets aren't useful unless you can use their contents! To use a set in a command line, you use a concept called a 'projection', which defines how to turn individual values found in the set into command line arguments. To define a projection, you write a function that takes a value of your set and returns a command-line like object (cmd_args, string, attr.arg()attributes, artifact, and so on) or a list of them in whichever way makes sense for your use case. Then, you call project_as_args to turn a set into a value suitable for inclusion in a command line. When expanded, this projection will expand like a list of all the node's individual projected values. Following is an example: # Declare the projection def project_as_define(value: str): return cmd_args(value, format = "-D{}") # Add it to the set definition MySet = transitive_set(args_projections = { "define": project_as_define }) # Create a set set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) # Call the projection. # Note "define" is the key used above in `args_projections`. args = set2.project_as_args("define") When you use args in a command line, it will expand to -Dbar -Dfoo. Note that creating projections is very cheap. Notably, it is independent of the size of the set. "},{"title":"Projections: using transitive sets in write_json()​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#projections-using-transitive-sets-in-write_json","content":"As with command lines, sets can form json projections to be used in write_json. A json projection is defined in the same way as an arg projection. The function should return a value that write_json otherwise supports. Then, you callproject_as_json to turn a set into a value that can be passed to write_json(or can appear within the value passed to it, it doesn't need to be the top-level value). When expanded, the projection will expand like a list of all the node's individual projected values. Following is an example: # Declare the projection def project_as_json(value: str): return struct(key = "foo", value = value) # Add it to the set definition MySet = transitive_set(json_projections = { "define": project_as_json }) # Create a set set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) # Call the projection. # Note "define" is the key we used above in `json_projections`. args = set2.project_as_json("define") Note that if your projected values include (or may include) artifacts, you will likely want to use write_json(with_inputs=True) to get back a cmd_args that has all the artifacts in the json structure already in its .hidden. "},{"title":"Traversals in depth​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#traversals-in-depth","content":"Transitive sets form DAGs. Notably, this means individual nodes can exist more than once in a given transitive set. When a transitive set is traversed, nodes that have already been visited are skipped. This means their arguments will only be emitted once. For example: flowchart TD foo((foo)) bar((bar)) qux((qux)) qux --> foo bar --> foo qux --> bar set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2]) args = set3.project_as_args("define") This will expand to -Dqux -Dfoo -Dbar, even though set1 ("foo") shows up twice in the DAG. "},{"title":"Other APIs​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#other-apis","content":""},{"title":"Transitive set reductions​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#transitive-set-reductions","content":"You can aggregate values of a transitive set via a reduction. This can be helpful for tasks such as propagating Boolean flags up the tree. Following is a real-world example. When defining a reduction, you receive the reduced values of all your children, and an optional value for the current node (the value will be None when you create a set and you don't pass a value), and you need to merge them together to produce this node's value: def link_info_has_default_filelist(children: list[bool], infos: LinkInfos | None): if infos: info = infos.default if info.filelist: return True return any(children) # Set of LinkInfos LinkInfosTSet = transitive_set( reductions = { "has_default_filelist": link_info_has_default_filelist, }, ) "},{"title":"Transitive set iteration​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#transitive-set-iteration","content":"You can iterate over a transitive set. This will yield each value once. You can also iterate over projections. However, note that this is generally not recommended, since unlike creating and using a projection, this operation is O(set). You should use this as an escape hatch if and only if you need to implement something transitive sets don't support via projections or reductions, because in doing so you'll lose a lot of the performance benefits. For example: set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2]) values = list(set3.traverse()) This will yield ["qux", "foo", "bar"]. "},{"title":"Ordering​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#ordering","content":"Transitive set iteration uses a left-to-right, pre-order traversal by default, and ignores nodes that have already been visited. This order is reflected in projections as well. A few different traversal orders are supported with the ordering attribute: Ordering\tDescriptionpreorder (default)\tTraverses using a depth-first-search, visiting nodes left-to-right. postorder\tTraverses children left-to-right, and then visits the current node. topological\tA Topological sort, such that nodes are listed after all nodes that have them as descendants. This is similar to a pre-order traversal, except that when nodes are shared with more than one parent it is returned in the order of its last occurrence. bfs\tBreadth-first-search (BFS) traversal, traverses nodes left-to-right before traversing children. For example: set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2]) values = list(set3.traverse(ordering = "topological")) # This also works for projections args = set3.project_as_args("project", ordering = "topological")) Following is an example of how different orderings evaluate: flowchart TD foo((foo)) bar((bar)) qux((qux)) qux --> foo bar --> foo qux --> bar Ordering\tResultpreorder\t["qux", "foo", "bar"] postorder\t["foo", "bar", "qux"] topological\t["qux", "bar", "foo"] bfs\t["qux", "foo", "bar"] "},{"title":"Implementation details​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#implementation-details","content":""},{"title":"Performance​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#performance","content":"The performance benefits of tsets arise due to: Caching: projections and reductions are cached.Lazy Evaluation: projection traversals are evaluated lazily. "},{"title":"Evaluation​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#evaluation","content":"Projections and reductions are evaluated eagerly for each node of your transitive set. This means that if your projection throws an error, you'll find out when creating a set via ctx.actions.tset. "},{"title":"External Cells","type":0,"sectionRef":"#","url":"/docs/users/advanced/external_cells/","content":"","keywords":""},{"title":"Setting up an external cell​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#setting-up-an-external-cell","content":"Configuring an external cell looks much like configuring a regular cell. First, add the cell to the cells section of your .buckconfig like normal: [cells] prelude = some/path The external cell's files won't actually be generated in the repo. However, you still need to provide a path for it - this path influences the handling of tree files, since those cross cell boundaries. It's also used forexpand-external-cells, more on that below. Next, add an entry to the external_cells buckconfig section that specifies the "origin" of the external cell given an alias. This tells buck2 where you want to get the cell from, if not files in the source repo. [external_cells] prelude = bundled For the bundled origin, that's it. Other origins may require additional configuration. "},{"title":"Origins​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#origins","content":"Buck2 currently supports two external cell origins, bundled and git. "},{"title":"The bundled origin​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#the-bundled-origin","content":"The bundled origin can only be used with the prelude cell, and provides access to a copy of the prelude that is bundled as part of the buck2 binary. This is useful as an easier-to-install alternative to vendoring or submoduling the prelude. "},{"title":"The git origin​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#the-git-origin","content":"The git origin indicates that an external cell's content should be loaded from some git repo. It accepts two additional configuration parameters, git_originand commit, like this: [cells] root = . libfoo = libfoo [external_cells] libfoo = git [external_cell_libfoo] git_origin = https://github.com/facebook/foo commit_hash = <sha1sum> The commit_hash value must be a sha1, it cannot be eg a branch name. "},{"title":"Expanding external cells​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#expanding-external-cells","content":"Because external cells only represent a different way to access source files, buck2 provides an expand-external-cell command. This command will make a copy of the external cell into the path in the repo you specified for your cell. By commenting out the external_cells buckconfig entry, this allows you to make direct edits to the cell's files in your repo. "},{"title":"Details & Limitations​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#details--limitations","content":"External cells can only be configured in the project root's .buckconfig. This also means that there is no support for "transitive" external cells, ie an external cell cannot specify additional external cells to pull in. External cells cannot have nested cells inside them. The cells buckconfig section of external cells is ignored. This is done to ensure that when using an external cell to access some dependency in a git repo, that git repo can still be an independently building project that specifies its own toolchain and prelude configuration. Because of this difference between external and non-external cells, it's possible that running buck2 expand-external-cell may not produce a working cell immediately, but instead require you to delete the cells section first. cell_aliases still work just like with regular cells. "},{"title":"In Memory Cache","type":0,"sectionRef":"#","url":"/docs/users/advanced/in_memory_cache/","content":"","keywords":""},{"title":"Enabling the in-memory cache​","type":1,"pageTitle":"In Memory Cache","url":"/docs/users/advanced/in_memory_cache/#enabling-the-in-memory-cache","content":"This feature requires enablingDeferred Materialization first. This is necessary so that Buck2 knows what's on disk. This requirement might go away once we decouple keeping track of what's on disk and deferred materialization. Once done, to enable, add this to your Buckconfig: [buck2] hash_all_commands = true "},{"title":"Writing Rules","type":0,"sectionRef":"#","url":"/docs/rule_authors/writing_rules/","content":"","keywords":""},{"title":"Workflow by example​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#workflow-by-example","content":"The built-in Buck2 rules are stored in the prelude folder in the buck2 repo. To add a rule for a language, say pascal: Look atprelude/declsto see the attributes that are supported in Buck1 and are mirrored into Buck2. If pascal was an existing rule, you would see what attributes it takes (often it will be pascal_library and pascal_binary). Create a file pascal.bzl that will contain your rule implementations. The details are explained later, but a dummy rule looks like the following: def pascal_binary_impl(_ctx: AnalysisContext) -> list[Provider]: return [DefaultInfo()] Create a directory in fbcode/buck2/tests/targets/rules/pascal withTARGETS and whatever source files and test targets you need to test your project. Note, Apple tests are currently located atxplat/buck2/tests/apple/.... Test your code with buck2 build fbcode//buck2/tests/targets/rules/pascal:. They should succeed with no actual output produced. Now implement the rules (see the rest of this page). note Before merging a diff, it's important that all your Starlark is warning free (if you don't want to set up Buck2 for local development, test it in CI). "},{"title":"Concepts and design​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#concepts-and-design","content":"A rule for a target uses attributes to declare actions, which produceartifacts that get included in providers. For example, given: def pascal_binary_impl(ctx: AnalysisContext) -> list[Provider]: ... binary = ctx.actions.declare_output(ctx.attrs.out) ctx.actions.run(["pascalc", ctx.attrs.srcs, "-o", binary.as_output()]) return [ DefaultInfo(default_output = binary), ] pascal_binary = rule(impl = pascal_binary_impl, attrs = { "out": attrs.string(), ... }) In the above snippet: Rule is pascal_binary, which is implemented by pascal_binary_impl. The rule says how to build things.Target will be something likefbcode//buck2/tests/targets/rules/pascal:my_binary. The rule implementationpascal_binary_impl will be called once per target.Attributes are the fields on the target (for example, you might haveout, which can be accessed via ctx.attrs.out).Actions are declared by the rule with things like ctx.actions.run, which takes a command line. Note that the actions are not run by the rule, but declared, so that Buck2 can run them later.Artifacts represent files on disk, which could be source or build outputs (binary in the above example). For build outputs, the artifact is produced by an action, and the existence of the artifact does not imply the build has been run: the artifact 'remembers' what should be run if it is required. Providers are returned, which is information that other rules get to use. These will often contain artifacts. The rule implementation takes in a ctx, which is the rule context. The two most important fields are ctx.attrs, which picks up the attributes declared by the rule, and ctx.actions, which lets you create new actions to actually do something. The output of any actions performed will be materialized in buck-out. However, only the defined outputs of providers are available for dependent rules to consume and only the actions necessary to produce those outputs being consumed will be run. By default, the default_output of the DefaultInfo provider is built and output during a buck build. "},{"title":"Providers​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#providers","content":"Providers are the data returned from a rule and are the only way that information from this rule is available to rules that depend on it. Every rule must return at least the DefaultInfo provider, but most will also return either RunInfo (because they are executable) or some custom provider (because they are incorporated into something that is ultimately executable). The DefaultInfo provider has a field default_output, which is the file that will be built when someone executes a buck2 build on this particular target, and the file that will be used when someone runs $(location target) or uses it as a source file (such as srcs = [":my_target"].) The current rule of thumb is that if you can build the default_output, the rule must 'work', and, if usable, should be 'ready'. For example, for a binary, the executable and runtime libraries it depends on might be returned. For a library, because neither the static or dynamic library is the 'default', you merely have to do enough work to ensure that the static and dynamic library probably work. Similar to how DefaultInfo wraps a list of artifacts and $(location) selects from DefaultInfo, RunInfo wraps a command line and $(exe) selects fromRunInfo. For more information about command lines, see Run action, below. For libraries, usually you need to pass some information about the library up to the binary. The only information that dependents on the library get are the providers, so designing the information that flows around the provider is critical to designing good rules. For a hypothetical rule, you may decide you want the name of the library and the artifact that represents the .so file, for which you could define the following provider: PascalLibraryInfo = provider(fields=[ "name", # The name of the library "object" # An artifact, the .so file that needs linking in ] ) Often, you'll grab your dependencies from all your providers: my_deps = [x[PascalLibraryInfo] for x in ctx.attrs.deps] In many cases, it becomes apparent you need the transitive closure of all libraries (for example, the libraries and everything they depend upon), in which case, the standard pattern is to move to a provider of a list of record (see thetypes.mddocument in GitHub) and the flatten/dedupe functions, defining it as: PascalLibraryInfo = provider(fields=["links"]) # a list of LinkData LinkData = record(name = str, object = "artifact") And then consuming it: my_links = dedupe(flatten([x[PascalLibraryInfo].links for x in ctx.attrs.deps])) my_info = PascalLibraryInfo(links = my_links) However, this flatten/dupe pattern can get expensive, especially when you have a deep dependency graph. To fix that it's recommended to usetransitive sets. "},{"title":"Actions​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#actions","content":"There are several actions you can use to create symlink trees, and so on. Run action​ Of the various actions, the run action is by far the most important: it's the one that invokes a command line. A command line is both a list of string arguments and a list of artifacts they depend on; with syntactic niceties for adding artifacts to command lines in a way that ensures the dependencies are usually correct. Following are examples of command line manipulations: cmd = cmd_args(["some", "arguments"]) cmd.add("another-arg") cmd.add(ctx.attrs.src) # An input artifact out = ctx.actions.declare_output("an output") cmd.add(out.as_output()) ctx.actions.run(cmd) The action declare_output creates a new artifact which is not bound to anything. You can call .as_output() on it when adding it to a command line to say that this command line doesn't take the artifact as an input but produces it as an output. From now on, if out is used as a dependency (either to another command line, or in DefaultInfo) then the action will be run to produce that artifact. Typically, these outputs are declared (declare_output), bound in actx.actions.run call with .as_output(), then either used locally as the input to another action or returned in a provider. As another example: cmd = cmd_args(["cp", input, output.as_output()]) ctx.actions.run(cmd) A command provides both a string (what to write when used) and a list of artifacts (what must be available when used). Normally, as in the case above, the artifacts that are used correspond to those on the command line. But imagine the rule is changed to write the command to a shell script first: sh = ctx.actions.write("test.sh", ["cp", input, output]) cmd = cmd_args(["sh",sh],hidden=[input, output.as_output()]) ctx.actions.run(cmd) The command has been written to a shell script, which is now run. Beforehand, all the artifacts used by the command appeared on the command line. Now they don't. However, the shell script still accesses input and output. To inform the run command, use the hidden field of the command line to declare the dependency. For more complicated actions, which perform meaningful logic beyond invoking a simple command, the tendency is to write custom Python scripts. Python scripts are used instead of shell scripts as they have better cross-platform compatibility and fewer hidden corners (especially in error paths). As an example of a Python helper, seemake_comp_db.py. A further advantage of using Python is that these commands can be tested in isolation, outside of Buck2. "},{"title":"Debugging​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#debugging","content":"The functions fail, print and pprint are your friends. To get started, abuck2 build fbcode//buck2/tests/targets/rules/pascal: builds everything orbuck2 run fbcode//buck2/tests/targets/rules/pascal:my_binary runs a specific binary that returns a RunInfo. "},{"title":"Testing Rules​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#testing-rules","content":"A common way to test is to use genrule to cause the produced binary to run and assert some properties from it. If your rule is in Buck1 and Buck2, use aTARGETS file so you can test with both. If your tests are incompatible with Buck1 (such as if it is a new rule), use TARGETS.v2, which will only be seen by Buck2 and won't cause errors with Buck1. "},{"title":"New rules​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#new-rules","content":"If your rule is not already in Buck1, then you can define it wherever you like, with a preference for it not being in fbcode/buck2/prelude. The only advantage of the prelude is that rules can be used without a corresponding load, which is generally considered a misfeature. The attributes should usually be placed adjacent to the rule itself. As an example, just below the pascal_binary_impl function, you could write: pascal_binary = rule( impl = pascal_binary_impl, attrs = { "deps": attrs.list(attrs.dep()), "src": attrs.source(), } ) "},{"title":"Restarter","type":0,"sectionRef":"#","url":"/docs/users/advanced/restarter/","content":"","keywords":""},{"title":"Enabling the Restarter​","type":1,"pageTitle":"Restarter","url":"/docs/users/advanced/restarter/#enabling-the-restarter","content":"To enable, add this to your Buckconfig: [buck2] restarter = true "},{"title":"Build Report","type":0,"sectionRef":"#","url":"/docs/users/build_observability/build_report/","content":"","keywords":""},{"title":"Schema​","type":1,"pageTitle":"Build Report","url":"/docs/users/build_observability/build_report/#schema","content":"BuildReport { # A unique ID identifying this buck invocation. Currently a UUID, however # that may change in the future. trace_id: str, # True if all requested targets built successfully success: bool, # The absolute path to the project root project_root: Path, # The results of the build, categorized by unconfigured target results: dict[TargetLabel, BuildReportEntry], # A cache for error message lookup. This is meant for deduplicating strings # that might otherwise appear many times in the build report and cause an # unnecessary size increase. They keys are used in other fields in the build # report in reference to these strings. strings: dict[str, str], # BUCK1 BACKCOMPAT ONLY! # # Currently always empty. Will be filled in if a flag is passed in the future. # # A map from targets that failed to build to error messages describing the # failure. failures: dict[TargetLabel, str], } BuildReportEntry { # The results of building the target in the given configurations configured: dict[Configuration, ConfiguredBuildReportEntry], # Errors encountered while building this target. # # Note that this does not include the errors that are found within the # `ConfiguredBuildReportEntry`s. Instead, it includes additional errors # which could not be associated with a specific configuration of the # target, typically because they occurred before the target could be # configured. errors: list[Error], # BUCK1 BACKCOMPAT ONLY! # # The two fields below are included for buck1 backwards compatibility only. # They are both computed by aggregating across all the configured targets in # the way you might expect. success: "FAIL" | "SUCCESS, outputs: dict[str, list[Path]], # The path to the package containing this target, relative to the project # root. This is the source code location for this target. package_project_relative_path: Optional[str] } ConfiguredBuildReportEntry { # Did this target build successfully or not? success: "FAIL" | "SUCCESS, # A map of subtargets that were built to a list of the successfully built # outputs for that subtarget. # # The keys are generated by joining the subtargets with a `|`. For example, # if you request to have `:target` and `:target[foo][bar]` built on the CLI, # this list will contain one entry for `""` and one for `"foo|bar"`. outputs: dict[str, list[Path]], # The number of targets in the configured dependency graph of this target. # # This is only included if `-c buck2.log_configured_graph_size=true` is set. # Otherwise, it is left as None. configured_graph_size: Optional[uint], } Error { # The stringified hash of the same stringified error message that is shown to the user on the # console. The hash is stored as the key in the `strings` cache of the `BuildReport` message_content: str, # Structured action error. Present only if the error was actually an action error action_error: Optional[ActionError], # An index that can be used to detect duplicate errors. Two errors with the # same cause index have the same cause. Note that that does not mean that # they have the same error message. cause_index: uint, } ActionError { # The action key key: ActionKey, # The action name name: ActionName, # Digest of the action digest: str, # Stringified hash of the stderr of the action stderr: str, # Stringified hash of the stdout of the action stdout: str, # Stringified hash of the same stringified error message that is provided by the action error: str, # Optional list of error categorizations provided by an error handler which is invoked # in the event of a failed action, or an error message if the error handler failed. error_diagnostics: Optional[ActionErrorDiagnostics], } ActionKey { # The configured target, anon target, or bxl function which owns this action owner: str, } ActionName { # The category of the action category: str, # The optional identifier of the action identifier: Optional[str], } enum ActionErrorDiagnostics { # The list of sub errors if the error handler succeeded sub_errors: list[ActionSubError], # The stringified hash of the error message if the error handler failed handler_invocation_error: String, } ActionSubError { # Name of the error category. The category should be finer grain error categorizations # provided by the rule authors, and tend to be language specific. These should not be # any kind of shared concepts among all errors for all languages/rules. For example, # timeouts and infra errors should not go here - buck2 tries to categorize these types # of errors automatically. An example of a finer grain error category may be the error # code for rustc outputs. category: str, # The stringified hash of the extra message provided for the specific sub-error category. message_content: str, # List of error locations, if any locations: Optional[list[ActionErrorLocation]], } ActionErrorLocation { # File path where the error appeared, preferrably either project-relative or absolute. file: str, # Optional line number line: Optional[u64] } "},{"title":"On Compatibility​","type":1,"pageTitle":"Build Report","url":"/docs/users/build_observability/build_report/#on-compatibility","content":"The format of the build report is generally stable. However, note that new fields may be added at any time, and you should ensure this does not cause your parsing to fail. A number of fields above are marked as being for buck1 backwards compatibility only. These fields all have superior alternatives available in the build report already. We would strongly prefer that new code neither use nor parse them, as this increases the likelyhood that they can be removed one day. The build report additionally outputs a few fields that are intentionally not documented here. Those fields are even less useful than ones documented as being for backwards compatibility only, and even closer to removal. Please avoid using or parsing these if at all possible. "},{"title":"Limitations​","type":1,"pageTitle":"Build Report","url":"/docs/users/build_observability/build_report/#limitations","content":"The build report currently has at least the following limitations: It includes only one action error per failed target. This is the expected behavior when --keep-going is not passed, but when --keep-going is passed, this is a bug.It is currently not generated when a non-existant package is specified on the command line. This is also a bug.It cannot be requested for any buck2 command other than buildErrors do not contain any additional metadata outside of the error message. This will be made available as such metadata is available in buck2.The "failures" field is always empty. This will be changed under a backcompat opt-in flag in the future. Finally, it's worth raising that the concept of error deduplication has some fundamental limitations; if two targets both refer to the same non-existant dependency, do those errors have the same cause (the dependency doesn't exist) or different causes (each target is individually broken)? As a result, the exact details of when two errors are considered to have the same cause are not generally stable, and may not always be what you expect. "},{"title":"Buck2 Consoles","type":0,"sectionRef":"#","url":"/docs/users/build_observability/interactive_console/","content":"","keywords":""},{"title":"Simpleconsole​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#simpleconsole","content":"The simpleconsole prints the stdout/stderr messages and event spans, line by line. There is no resource usage telemetry emitted. "},{"title":"Demo​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#demo","content":" "},{"title":"Superconsole​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#superconsole","content":"The superconsole uses thesuperconsole library to provide an interactive console which shows the event spans going on within Buck2. "},{"title":"Demo​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#demo-1","content":" "},{"title":"Toggles​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#toggles","content":"The superconsole also provides several toggles to inspect ongoing Buck2 telemetry. To see what's available you can press ? or h. This will work as long as stdin is a TTY, which will be true most of the time if you're not piping anything into Buck2. To disable to allow alternate use of stdin, or for follow up pasted commands to not get swallowed, you can set theBUCK_NO_INTERACTIVE_CONSOLE environment variable, or use the flag--no-interactive-console. We support the following toggles: c - toggle commands (shown in superconsole by default)d - toggle DICE key statese - toggle debugging events, such as spans and instant event counts2 - toggle two lines mode when showing eventsr - toggle detailed remote execution info, such as uploads, downloads, and action cache callsi - toggle I/O countersp - display target configurations+ - show more lines- - show fewer linesh - show help Note: Not available yet for Windows "},{"title":"No console​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#no-console","content":"When specifying the none console type, Buck2 will only print if the build succeeded, or the error if the build failed. "},{"title":"Logging","type":0,"sectionRef":"#","url":"/docs/users/build_observability/logging/","content":"","keywords":""},{"title":"Event log format​","type":1,"pageTitle":"Logging","url":"/docs/users/build_observability/logging/#event-log-format","content":"Warning: the schemas are all subject to change, so we do not recommend relying on the format. For the source of truth, take a look at data.proto. "},{"title":"Invocation header​","type":1,"pageTitle":"Logging","url":"/docs/users/build_observability/logging/#invocation-header","content":"The first line of the event log is always the Invocation header: Invocation { # CLI args split into a list of strings command_line_args: List[str], # Expanded CLI args, which expand any argsfiles expanded_command_line_args: List[str], # Absolute path of the current working directory of the Buck2 command working_dir: str, # UUID of the Buck2 command trace_id: str, } "},{"title":"Command result footer​","type":1,"pageTitle":"Logging","url":"/docs/users/build_observability/logging/#command-result-footer","content":"The last line is always the CommandResult: Result { # One of the result types of CommandResult protobuf type in data.proto result: BuildResponse | CqueryResponse | BxlResponse | ..., } "},{"title":"Buck events​","type":1,"pageTitle":"Logging","url":"/docs/users/build_observability/logging/#buck-events","content":"The rest of the event log contain BuckEvents, which are eitherSpanStartEvents, SpanEndEvents, or InstantEvents. The BuckEvent format is roughly as follows: Event { # When the event was fired. This is always a 2-item list, where the first # value is millis, second value is micros timestamp: List[u64], # UUID of the Buck2 command, same one as the invocation header trace_id: str, # A trace-unique 64-bit integer identifying this event's span ID, # if this event begins a new span or belongs to one. span_id: u64, # A trace-unique 64-bit identifying the span that this event is logically # parented to. parent_id: u64, # See sections below for more details data: SpanStart | SpanEnd | Instant, } Span starts​ The SpanStartEvent indicates that a span of work starting: SpanStart { # One of the data types of SpanStartEvent protobuf type in data.proto data: AnalysisStart | ActionExecutionStart | ..., } Span ends​ The SpanEndEvent indicates that a span of work has finished: SpanEnd { # Duration of the span duration_us: u64, # CPU poll times for this span stats: SpanStats, # One of the data types of SpanEndEvent protobuf type in data.proto data: AnalysisEnd | ActionExecutionEnd | ..., } # CPU poll times for this span SpanStats { max_poll_time_us: u64, total_poll_time_us: u64, } Instant events​ The InstantEvent represents a single point in time: InstantEvent { # One of the data types of InstantEvent protobuf type in data.proto data: ConsoleMessage | ActionError | ..., } One specific instant event type that may be of interest is the SnapShot event, which includes some interesting details like RSS, CPU, I/O, remote execution, and DICE metrics. "},{"title":"Viewing the event log​","type":1,"pageTitle":"Logging","url":"/docs/users/build_observability/logging/#viewing-the-event-log","content":"Event logs can be accessed using commands under buck2 log show, which outputs the event logs in JSONL format. You can run buck2 log show --help to see all available options. Some useful commands: Show the logs for the most recent Buck2 command: buck2 log show Show the logs for a specific Buck2 command, given the command's UUID: buck2 log show --trace-id <UUID> Show the logs for a recent Buck2 command: buck2 log show --recent <NUMBER> The JSON schema is derived from the protobuf types, and the log itself could be quite large. jq can be useful to find specific things. For example, this jq script shows the max event delay between a snapshot event creation on the daemon side, and when the client receives it. buck2 log show | jq -s ' map( .Event.data.Instant.data.Snapshot.this_event_client_delay_ms | select(. != null) ) | max' "},{"title":"Buck2 Cheat Sheet","type":0,"sectionRef":"#","url":"/docs/users/cheat_sheet/","content":"","keywords":""},{"title":"How do I find all the targets for a package?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-find-all-the-targets-for-a-package","content":"Specify a build target pattern that represents the targets in the package. buck2 cquery //path/to/dir/... The buck2 cquery command can accept abuild target pattern as a parameter. If you specify a build target pattern, Buck2 evaluates this pattern and shows all the build targets that match it. "},{"title":"How do I specify more than one target to buck2 cquery?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-specify-more-than-one-target-to-buck2-cquery","content":"Use the buck2 cquery set() operator. The following command line returns the target main in the build file in the root of the Buck2 project and all the targets from the build file in the myclass subdirectory of the root. buck2 cquery "set( '//:main' '//myclass:' )" "},{"title":"How do I get the attribute names and values for the targets returned by a query?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-get-the-attribute-names-and-values-for-the-targets-returned-by-a-query","content":"Add the --output-attribute <ATTRIBUTE> or --output-all-attributes option to the command line, followed by regular expressions that represent the attributes of interest. buck2 cquery "deps(//foo:bar)" --output-attribute 'name' 'exported_headers' The --output-attribute option enables you to specify which attributes Buck2 should return. Instead of returning the names of the targets that match the query expression, Buck2 returns the names and values of the specified attributes for those targets in JSON format. Attributes are specified as regular expressions. For example, '.*' matches all attributes. See thebuck2 cquery docs for more details. The output for the example query above might look something like the following. {"//foo/bar/lib:lib" : {"exported_headers" : [ "App/util.h" ],"name" : "lib"},"//foo/bar:app" : {"exported_headers" : [ "App/lib.h" ],"name" : "app"}} "},{"title":"How do I perform a query *inside* of a rule?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-perform-a-query-inside-of-a-rule","content":"Buck2 supports certain string parameter macros to be used when defining a target. You can use the query macros as such: $(query_targets "queryfunction(//:foo)") $(query_outputs "queryfunction(//:foo)") $(query_targets_and_outputs [SEPARATOR] "queryfunction(//:foo)") Note, however, that the query macros are supported only forgenrule andapk_genrule. "},{"title":"How do I find the dependencies for a target?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-find-the-dependencies-for-a-target","content":"Use the deps() operator. buck2 cquery "deps('//foo:bar')" buck2 cquery "deps('//foo:bar', 1, first_order_deps())" buck2 cquery "deps(set('//foo:bar' '//foo:lib' '//foo/baz:util'))" The deps operator finds the dependencies of the specified targets. The first argument represents the targets of interest. This can be a singlebuild target orbuild target pattern, or a set of these. The optional second argument is the depth of the search for dependencies from the specified targets. For example, 1, as shown in the example above, returns only the direct dependencies. If you do not provide this argument, the output is the complete set of transitive dependencies. How do I find the reverse-dependencies for a target, that is, the targets that *depend on* a specified target? Use the buck2 cquery rdeps() (reverse dependencies) operator. The following example, returns the targets in thetransitive closure of//foo:bar that depend directly on //example:baz. buck2 cquery "rdeps('//foo:bar', '//example:baz', 1)" "},{"title":"How do I find the buildfile that contains the target that owns a source file?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-find-the-buildfile-that-contains-the-target-that-owns-a-source-file","content":"In order to find the build file associated with a source file, combine theowner operator with buildfile. For example, buck2 cquery "buildfile(owner('foo/bar/main.cpp'))" first finds the targets that own foo/bar/main.cpp and then returns the build files, such as foo/bar/BUCK, that define those targets. "},{"title":"aquery","type":0,"sectionRef":"#","url":"/docs/users/commands/aquery/","content":"","keywords":""},{"title":"buck aquery​","type":1,"pageTitle":"aquery","url":"/docs/users/commands/aquery/#buck-aquery","content":"Perform queries on the action graph (experimental) The action graph consists of all the declared actions for a build, with dependencies when one action consumes the outputs of another action. Run `buck2 docs aquery` or https://buck2.build/docs/users/query/aquery/ for more documentation about the functions available in aquery expressions. Examples: Print the action producing a target's default output `buck2 aquery //java/com/example/app:amazing` List all the commands for run actions for building a target `buck2 aquery 'kind(run, deps("//java/com/example/app:amazing+more"))' --output-attribute=cmd` Dynamic outputs (`ctx.actions.dynamic_output`): Currently, aquery interacts poorly with dynamic outputs. It may return incorrect results or otherwise behave unexpectedly. Usage: buck2-release aquery [OPTIONS] <QUERY> [QUERY_ARGS]... Arguments: <QUERY> the query to evaluate [QUERY_ARGS]... list of literals for a multi-query (one containing `%s` or `%Ss`) Options: -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --json Output in JSON format --dot Output in Graphviz Dot format --dot-compact Output in a more compact format than Graphviz Dot --output-format <dot|dot_compact|json|starlark> Output format (default: list). dot - dot graph format. dot_compact - compact alternative to dot format. json - JSON format. starlark - targets are printed like starlark code that would produce them. [possible values: dot, json, dot_compact, starlark] -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"build","type":0,"sectionRef":"#","url":"/docs/users/commands/build/","content":"","keywords":""},{"title":"buck build​","type":1,"pageTitle":"build","url":"/docs/users/commands/build/#buck-build","content":"Build the specified targets Usage: buck2-release build [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to build Options: --show-output Print the path to the output for each of the rules relative to the project root --show-full-output Print the absolute path to the output for each of the rules --show-simple-output Print only the path to the output for each of the rules relative to the project root --show-full-simple-output Print only the absolute path to the output for each of the rules --show-json-output Print the output paths relative to the project root, in JSON format --show-full-json-output Print the output absolute paths, in JSON format -M, --materializations <MATERIALIZATIONS> Materialize (or skip) the final artifacts, bypassing buckconfig. [possible values: all, none] --build-default-info Build default info (this is the default) --skip-default-info Do not build default info (this is not the default) --build-run-info Build runtime dependencies (this is the default) --skip-run-info Do not build runtime dependencies (this is not the default) --build-test-info Build tests (this is not the default) --skip-test-info Do not build tests (this is the default) --out <OUTPUT_PATH> Copy the output of the built target to this path (`-` to stdout) --output-hashes-file <OUTPUT_HASHES_FILE> Experimental: Path to a file where the Buck2 daemon should write a list of produced artifacts in json format --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"bxl","type":0,"sectionRef":"#","url":"/docs/users/commands/bxl/","content":"","keywords":""},{"title":"buck bxl​","type":1,"pageTitle":"bxl","url":"/docs/users/commands/bxl/#buck-bxl","content":"Run BXL scripts Usage: buck2-release bxl [OPTIONS] <BXL label> [-- <BXL INPUT ARGS>...] Arguments: <BXL label> The bxl function to execute as defined by the label of form `<cell>//path/file.bxl:<function>` [BXL INPUT ARGS]... Arguments passed to the bxl script Options: -M, --materializations <MATERIALIZATIONS> Materialize (or skip) the final artifacts, bypassing buckconfig. [possible values: all, none] --user-event-log <PATH> Write user events to this log file. Both user and internal events are written to main event log. If this flag is specified, user events are additionally written to user event log. Log format is JSONL, uncompressed if no known extensions are detected, or you can explicitly specify the compression via the file extension (ex: `.json-lines.gz` would be gzip compressed, `.json-lines.zst` would be zstd compressed). Resulting log is is compatible with `buck2 log show-user` --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"clean","type":0,"sectionRef":"#","url":"/docs/users/commands/clean/","content":"","keywords":""},{"title":"buck clean​","type":1,"pageTitle":"clean","url":"/docs/users/commands/clean/#buck-clean","content":"Delete generated files and caches. The command also kills the buck2 daemon. Usage: buck2-release clean [OPTIONS] Options: --dry-run Performs a dry-run and prints the paths that would be removed. --stale [<DURATION>] Delete artifacts from buck-out older than 1 week or older than the specified duration, without killing the daemon --tracked-only Only considers tracked artifacts for cleanup. `buck-out` can contain untracked artifacts for different reasons: - Outputs from aborted actions - State getting deleted (e.g., new buckversion that changes the on-disk state format) - Writing to `buck-out` without being expected by Buck --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"completion","type":0,"sectionRef":"#","url":"/docs/users/commands/completion/","content":"","keywords":""},{"title":"buck completion​","type":1,"pageTitle":"completion","url":"/docs/users/commands/completion/#buck-completion","content":"Print completion configuration for shell For a one-time setup, run one of the following commands: source <(buck2 completion bash) source <(buck2 completion zsh) Usage: buck2-release completion [OPTIONS] <SHELL> Arguments: <SHELL> shell for which to generate completion script [possible values: bash, zsh] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"ctargets","type":0,"sectionRef":"#","url":"/docs/users/commands/ctargets/","content":"","keywords":""},{"title":"buck ctargets​","type":1,"pageTitle":"ctargets","url":"/docs/users/commands/ctargets/#buck-ctargets","content":"Resolve target patterns to configured targets Usage: buck2-release ctargets [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to interpret Options: --skip-missing-targets Skip missing targets from `BUCK` files when non-glob pattern is specified. This option does not skip missing packages and does not ignore errors of `BUCK` file evaluation -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"cquery","type":0,"sectionRef":"#","url":"/docs/users/commands/cquery/","content":"","keywords":""},{"title":"buck cquery​","type":1,"pageTitle":"cquery","url":"/docs/users/commands/cquery/#buck-cquery","content":"Perform queries on the configured target graph The configured target graph includes information about the configuration (platforms) and transitions involved in building targets. In the configured graph, `selects` are fully resolved. The same target may appear in multiple different configurations (when printed, the configuration is after the target in parentheses). A user can specify a `--target-universe` flag to control how literals are resolved. When provided, any literals will resolve to all matching targets within the universe (which includes the targets passed as the universe and all transitive deps of them). When not provided, we implicitly set the universe to be rooted at every target literal in the `cquery`. Run `buck2 docs cquery` or https://buck2.build/docs/users/query/cquery/ for more documentation about the functions available in cquery expressions. Examples: Print all the attributes of a target `buck2 cquery //java/com/example/app:amazing --output-all-attributes` List the deps of a target (special characters in a target will require quotes): `buck2 cquery 'deps("//java/com/example/app:amazing+more")'` Usage: buck2-release cquery [OPTIONS] <QUERY> [QUERY_ARGS]... Arguments: <QUERY> the query to evaluate [QUERY_ARGS]... list of literals for a multi-query (one containing `%s` or `%Ss`) Options: -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --json Output in JSON format --dot Output in Graphviz Dot format --dot-compact Output in a more compact format than Graphviz Dot --output-format <dot|dot_compact|json|starlark> Output format (default: list). dot - dot graph format. dot_compact - compact alternative to dot format. json - JSON format. starlark - targets are printed like starlark code that would produce them. [possible values: dot, json, dot_compact, starlark] --show-providers Show the providers of the query result instead of the attributes and labels -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Starlark Profiling Options: --profile-mode <PROFILE_MODE> Profile target loading. When this option is enabled, Buck will profile every `BUCK` file loaded during the query and merge the results into a single profile. The command may return cached profile data if `BUCK` files were not invalidated. [possible values: time-flame, heap-flame-allocated, heap-flame-retained, heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs, typecheck, coverage] --profile-output <PROFILE_OUTPUT> Where to write profile output Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"expand-external-cell","type":0,"sectionRef":"#","url":"/docs/users/commands/expand-external-cell/","content":"","keywords":""},{"title":"buck expand-external-cell​","type":1,"pageTitle":"expand-external-cell","url":"/docs/users/commands/expand-external-cell/#buck-expand-external-cell","content":"Expand the contents of an external cell into the repo. The contents are placed at the path you specified for this cell in your buckconfig. If you additionally remove the entry from the `external_cells` section of your buckconfig, you can edit the files directly in the repo and see those edits reflected in your build. Note that this creates a point-in-time snapshot. The files in the repo will not be updated if you eg change the git commit of the cell in the future. Usage: buck2-release expand-external-cell [OPTIONS] <CELL> Arguments: <CELL> Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"help-env","type":0,"sectionRef":"#","url":"/docs/users/commands/help-env/","content":"","keywords":""},{"title":"buck help-env​","type":1,"pageTitle":"help-env","url":"/docs/users/commands/help-env/#buck-help-env","content":"Print help for environment variables used by buck2 Usage: buck2-release help-env [OPTIONS] Options: --self-testing Also print those environment variables that are only used for buck2 integration tests. These are all unstable and not meant to be used by most users. -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"docs","type":0,"sectionRef":"#","url":"/docs/users/commands/docs/","content":"","keywords":""},{"title":"buck docs​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs","content":"Print documentation of specified symbols Usage: buck2-release docs [OPTIONS] <COMMAND> Commands: starlark Print documentation of user-defined starlark symbols starlark-builtins Generate documentation for starlark builtins uquery Print documentation for query/uquery cquery Print documentation for cquery aquery Print documentation for aquery help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck docs starlark​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs-starlark","content":"Print documentation of user-defined starlark symbols Usage: buck2-release docs starlark [OPTIONS] [SYMBOL_PATTERNS]... Arguments: [SYMBOL_PATTERNS]... Patterns to interpret. //foo:bar.bzl is 'every symbol in //foo:bar.bzl', //foo:bar.bzl:baz only returns the documentation for the symbol 'baz' in //foo:bar.bzl Options: --markdown-files-destination-dir <DESTINATION_DIR> --markdown-files-native-subdir <NATIVE_SUBDIR> [default: native] --markdown-files-starlark-subdir <STARLARK_SUBDIR> [default: starlark] --format <FORMAT> how to format the returned documentation [default: json] [possible values: json, markdown_files] --builtins get documentation for built in functions, rules, and providers -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck docs starlark-builtins​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs-starlark-builtins","content":"Generate documentation for starlark builtins. This command is designed to support buck2's doc generation and does not have stable output. Usage: buck2-release docs starlark-builtins [OPTIONS] --output-dir <OUTPUT_DIR> Options: --output-dir <OUTPUT_DIR> The directory to output files to -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck docs uquery​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs-uquery","content":"Print documentation for query/uquery Usage: buck2-release docs uquery [OPTIONS] Options: --format <FORMAT> How to format the documentation [default: rendered] [possible values: markdown, rendered] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck docs cquery​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs-cquery","content":"Print documentation for cquery Usage: buck2-release docs cquery [OPTIONS] Options: --format <FORMAT> How to format the documentation [default: rendered] [possible values: markdown, rendered] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck docs aquery​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs-aquery","content":"Print documentation for aquery Usage: buck2-release docs aquery [OPTIONS] Options: --format <FORMAT> How to format the documentation [default: rendered] [possible values: markdown, rendered] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"init","type":0,"sectionRef":"#","url":"/docs/users/commands/init/","content":"","keywords":""},{"title":"buck init​","type":1,"pageTitle":"init","url":"/docs/users/commands/init/#buck-init","content":"Initialize a buck2 project Usage: buck2-release init [OPTIONS] [PATH] Arguments: [PATH] The path to initialize the project in. The folder does not need to exist [default: .] Options: --no-prelude Don't include the standard prelude or generate toolchain definitions --allow-dirty Initialize the project even if the git repo at \\[PATH\\] has uncommitted changes --git Also initialize a git repository at the given path, and set up an appropriate `.gitignore` file -h, --help Print help (see a summary with '-h') Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"kill","type":0,"sectionRef":"#","url":"/docs/users/commands/kill/","content":"","keywords":""},{"title":"buck kill​","type":1,"pageTitle":"kill","url":"/docs/users/commands/kill/#buck-kill","content":"Kill the buck daemon. Note there's also `buck2 killall` and `buck2 clean`. `buck2 killall` kills all the buck2 processes on the machine. `buck2 clean` kills the buck2 daemon and also deletes the buck2 state files. Usage: buck2-release kill [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"killall","type":0,"sectionRef":"#","url":"/docs/users/commands/killall/","content":"","keywords":""},{"title":"buck killall​","type":1,"pageTitle":"killall","url":"/docs/users/commands/killall/#buck-killall","content":"Kill all buck2 processes on the machine Usage: buck2-release killall [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"install","type":0,"sectionRef":"#","url":"/docs/users/commands/install/","content":"","keywords":""},{"title":"buck install​","type":1,"pageTitle":"install","url":"/docs/users/commands/install/#buck-install","content":"Build and install an application Usage: buck2-release install [OPTIONS] [TARGET]... [-- <INSTALL_ARGS>...] Arguments: [TARGET]... Target to build and install [INSTALL_ARGS]... Additional arguments passed to the install when running it Options: --installer-debug Prints installer output to stderr. It might break superconsole -r, --run Run an Android activity. Here for compatibility with buck1 - it is automatically forwarded to the installer -e, --emulator Use this option to use emulators only on Android. Here for compatibility with buck1 - it is automatically forwarded to the installer -d, --device Use this option to use real devices only on Android. Here for compatibility with buck1 - it is automatically forwarded to the installer -s, --serial <SERIAL> Use Android device or emulator with specific serial or UDID number. Here for compatibility with buck1 - it is automatically forwarded to the installer -x, --all-devices Use all connected Android devices and/or emulators (multi-install mode). Here for compatibility with buck1 - it is automatically forwarded to the installer -a, --activity <ACTIVITY> Android activity to launch e.g. com.facebook/.LoginActivity. Implies -r. Here for compatibility with buck1 - it is automatically forwarded to the installer -i, --intent-uri <INTENT_URI> Android Intent URI to launch e.g. fb://profile. Implies -r. Here for compatibility with buck1 - it is automatically forwarded to the installer -w, --wait-for-debugger Have the launched Android process wait for the debugger. Here for compatibility with buck1 - it is automatically forwarded to the installer -u, --uninstall Use this option to uninstall an installed app before installing again. Here for compatibility with buck1 - it is automatically forwarded to the installer -k, --keep Use this option to Keep user data when uninstalling. Here for compatibility with buck1 - it is automatically forwarded to the installer --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"lsp","type":0,"sectionRef":"#","url":"/docs/users/commands/lsp/","content":"","keywords":""},{"title":"buck lsp​","type":1,"pageTitle":"lsp","url":"/docs/users/commands/lsp/#buck-lsp","content":"Start an LSP server for starlark files Usage: buck2-release lsp [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"log","type":0,"sectionRef":"#","url":"/docs/users/commands/log/","content":"","keywords":""},{"title":"buck log​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log","content":"Commands for interacting with buck2 logs Usage: buck2-release log [OPTIONS] <COMMAND> Commands: what-ran Output everything Buck2 ran from selected invocation what-failed Outputs every command that failed in the selected invocation path Output the path to the selected log show Outputs the log in JSON format from selected invocation cmd Show buck command line arguments from selected invocation what-up Show the spans that were open when the log ended what-materialized Outputs materializations from selected invocation what-uploaded Outputs stats about uploads to RE from the selected invocation critical-path Show the critical path for a selected build replay Replay an event log show-user Converts the event log from a selected invocation into a user event log, in JSONL format summary Outputs high level statistics about the build help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log what-ran​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-what-ran","content":"Output everything Buck2 ran from selected invocation. The output is presented as a series of tab-delimited records with the following structure: The reason for executing a given command. That's either to build or to test. The identity of this command. This will include the target that ran required it. The executor for this command. This will either be RE or local. Details to reproduce it. For RE, that's the action digest. For local, the command. To reproduce an action that ran on RE, use the following command then follow the instructions. The DIGEST is of the form `hash:size`. frecli cas download-action DIGEST To reproduce an action that ran locally, make sure your working directory is the project root (if unsure, use `buck2 root --kind project` to find it), then run the command. The command is already shell-quoted. Usage: buck2-release log what-ran [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --format <OUTPUT> Which output format to use for this command [default: tabulated] [possible values: tabulated, json, csv] --emit-cache-queries --skip-cache-hits --skip-remote-executions --skip-local-executions --filter-category <FILTER_CATEGORY> Regular expression to filter commands by given action category (i.e. type of of actions that are similar but operate on different inputs, such as invocations of a C++ compiler (whose category would be `cxx_compile`)). Matches by full string --failed Show only commands that failed --incomplete Show only commands that were not completed. That is command were running if buck2 process was killed, or command currently running if buck2 is running build now --show-std-err Show also std_err from commands that are run. If the command fails before completing, we display "<command did not finish executing>". If it finishes but there is no error, we display "<stderr is empty>". Otherwise, std_err is shown. For JSON, we show raw values and null for non-completion --omit-empty-std-err Omit commands if their std_err is empty -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log what-failed​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-what-failed","content":"Outputs every command that failed in the selected invocation. Look at the help for what-ran to understand the output format. Usage: buck2-release log what-failed [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --format <OUTPUT> Which output format to use for this command [default: tabulated] [possible values: tabulated, json, csv] --emit-cache-queries --skip-cache-hits --skip-remote-executions --skip-local-executions --filter-category <FILTER_CATEGORY> Regular expression to filter commands by given action category (i.e. type of of actions that are similar but operate on different inputs, such as invocations of a C++ compiler (whose category would be `cxx_compile`)). Matches by full string -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log path​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-path","content":"Output the path to the selected log Usage: buck2-release log path [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --all List all the logs -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log show​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-show","content":"Outputs the log in JSON format from selected invocation Usage: buck2-release log show [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log cmd​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-cmd","content":"Show buck command line arguments from selected invocation. This command output is not machine readable. Robots, please use `buck2 log show`. Usage: buck2-release log cmd [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --expand Show @-expanded command line arguments instead of the original command line -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log what-up​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-what-up","content":"Show the spans that were open when the log ended Usage: buck2-release log what-up [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --after <NUMBER> Print the actions that where open after certain amount of milliseconds -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log what-materialized​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-what-materialized","content":"Outputs materializations from selected invocation. The output is a tab-separated list containing the path, the materialization method, the file count, and the total size (after decompression). Usage: buck2-release log what-materialized [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally -s, --sort-by-size Sort the output by total bytes in ascending order --aggregate-by-ext Aggregates the output by file extension --format <OUTPUT> Which output format to use for this command [default: tabulated] [possible values: tabulated, json, csv] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log what-uploaded​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-what-uploaded","content":"Outputs stats about uploads to RE from the selected invocation Usage: buck2-release log what-uploaded [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --format <OUTPUT> Which output format to use for this command [default: tabulated] [possible values: tabulated, json, csv] --aggregate-by-ext Aggregates the output by file extension -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log critical-path​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-critical-path","content":"Show the critical path for a selected build. This produces tab-delimited output listing every node on the critical path. It includes the kind of node, its name, category and identfier, as well as total duration (runtime of this node), user duration (duration the user can improve) and potential improvement before this node stops being on the critical path. All durations are in microseconds. Usage: buck2-release log critical-path [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --format <FORMAT> Which output format to use for this command [default: tabulated] [possible values: tabulated, json, csv] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log replay​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-replay","content":"Replay an event log. This command allows visualizing an existing event log in a Superconsole. Usage: buck2-release log replay [OPTIONS] [PATH] [OVERRIDE_ARGS]... Arguments: [PATH] A path to an event-log file to read from [OVERRIDE_ARGS]... Override the arguments Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --speed <NUMBER> Control the playback speed using a float (i.e. 0.5, 2, etc) --preload Preload the event log. This is typically only useful for benchmarking -h, --help Print help (see a summary with '-h') Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log show-user​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-show-user","content":"Converts the event log from a selected invocation into a user event log, in JSONL format Usage: buck2-release log show-user [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log summary​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-summary","content":"Outputs high level statistics about the build Usage: buck2-release log summary [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"profile","type":0,"sectionRef":"#","url":"/docs/users/commands/profile/","content":"","keywords":""},{"title":"buck profile​","type":1,"pageTitle":"profile","url":"/docs/users/commands/profile/#buck-profile","content":"Run starlark profiler Usage: buck2-release profile [OPTIONS] <COMMAND> Commands: analysis Profile analysis loading Profile `BUCK` file evaluation bxl Profile BXL script help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck profile analysis​","type":1,"pageTitle":"profile","url":"/docs/users/commands/profile/#buck-profile-analysis","content":"Profile analysis Usage: buck2-release profile analysis [OPTIONS] --output <PATH> --mode <MODE> [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Options: -r, --recursive In analysis profiling, capture the profile of the target and its dependencies, and output the merged profile -o, --output <PATH> Output file path for profile data. File will be created if it does not exist, and overwritten if it does. --mode <MODE> Profile mode. Memory profiling modes have suffixes either `-allocated` or `-retained`. `-retained` means memory kept in frozen starlark heap after analysis complete. `-retained` does not work when profiling loading, because no memory is retained after loading and frozen heap is not even created. This is probably what you want when profiling analysis. `-allocated` means allocated memory, including memory which is later garbage collected. [possible values: time-flame, heap-flame-allocated, heap-flame-retained, heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs, typecheck, coverage] -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck profile loading​","type":1,"pageTitle":"profile","url":"/docs/users/commands/profile/#buck-profile-loading","content":"Profile `BUCK` file evaluation Usage: buck2-release profile loading [OPTIONS] --output <PATH> --mode <MODE> [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Options: -r, --recursive In analysis profiling, capture the profile of the target and its dependencies, and output the merged profile -o, --output <PATH> Output file path for profile data. File will be created if it does not exist, and overwritten if it does. --mode <MODE> Profile mode. Memory profiling modes have suffixes either `-allocated` or `-retained`. `-retained` means memory kept in frozen starlark heap after analysis complete. `-retained` does not work when profiling loading, because no memory is retained after loading and frozen heap is not even created. This is probably what you want when profiling analysis. `-allocated` means allocated memory, including memory which is later garbage collected. [possible values: time-flame, heap-flame-allocated, heap-flame-retained, heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs, typecheck, coverage] -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck profile bxl​","type":1,"pageTitle":"profile","url":"/docs/users/commands/profile/#buck-profile-bxl","content":"Profile BXL script Usage: buck2-release profile bxl [OPTIONS] --output <PATH> --mode <MODE> <BXL label> [-- <BXL INPUT ARGS>...] Arguments: <BXL label> The bxl function to execute as defined by the label of form `<cell>//path/file.bxl:<function>` [BXL INPUT ARGS]... Arguments passed to the bxl script Options: -M, --materializations <MATERIALIZATIONS> Materialize (or skip) the final artifacts, bypassing buckconfig. [possible values: all, none] --user-event-log <PATH> Write user events to this log file. Both user and internal events are written to main event log. If this flag is specified, user events are additionally written to user event log. Log format is JSONL, uncompressed if no known extensions are detected, or you can explicitly specify the compression via the file extension (ex: `.json-lines.gz` would be gzip compressed, `.json-lines.zst` would be zstd compressed). Resulting log is is compatible with `buck2 log show-user` --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -o, --output <PATH> Output file path for profile data. File will be created if it does not exist, and overwritten if it does. --mode <MODE> Profile mode. Memory profiling modes have suffixes either `-allocated` or `-retained`. `-retained` means memory kept in frozen starlark heap after analysis complete. `-retained` does not work when profiling loading, because no memory is retained after loading and frozen heap is not even created. This is probably what you want when profiling analysis. `-allocated` means allocated memory, including memory which is later garbage collected. [possible values: time-flame, heap-flame-allocated, heap-flame-retained, heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs, typecheck, coverage] -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"audit","type":0,"sectionRef":"#","url":"/docs/users/commands/audit/","content":"","keywords":""},{"title":"buck audit​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit","content":"Perform lower level queries Usage: buck2-release audit [OPTIONS] <COMMAND> Commands: cell Query information about the [cells] list in .buckconfig. classpath Prints out a target's classpaths if it has one. This command is deprecated and currently available for compatibility with buck1. We will replace this command with something that can audit the entire `TemplatePlaceholderInfo` in the future. config buck audit config configurations prints the constraints for configuration IDs includes list build file extensions imported at parse time. prelude print the interpreter prelude to stdout providers prints out the providers for a target pattern subtargets Print all subtargets analysis-queries buck audit analysis resolving query attrs execution-platform-resolution prints out information about execution platform resolution visibility Verify the visibility for transitive deps of the specified target(s) on the unconfigured target graph starlark Debug Starlark interpreter dep-files prints out the select files for a command deferred-materializer Access and interact with the deferred materializer output Query the action that produced the output artifact. Does not support BXL, test, scratch, or anon artifacts. If the configuration hash of the output path does not match the current platform configuration, the unconfigured target label will be returned. parse Parses the buck-out path into parts that may be useful (ex: config hash, file path to artifact). package-values Inspect package values help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit cell​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-cell","content":"Query information about the [cells] list in .buckconfig. Usage: buck2-release audit cell [OPTIONS] [CELL_ALIASES]... Arguments: [CELL_ALIASES]... Cell aliases to query. These aliases will be resolved in the working directory cell. Options: --json Output in JSON format --paths-only Don't include the cell name in the output --aliases If enabled and no explicit aliases are passed, will query for all aliases in the working directory cell. --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit classpath​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-classpath","content":"Prints out a target's classpaths if it has one. This command is deprecated and currently available for compatibility with buck1. We will replace this command with something that can audit the entire `TemplatePlaceholderInfo` in the future. Usage: buck2-release audit classpath [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Target patterns to audit Options: --json Output in JSON format -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit config​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-config","content":"buck audit config Usage: buck2-release audit config [OPTIONS] [SPECS]... Arguments: [SPECS]... config section/key specs of the form `section` or `section.key`. If any specs are provided, only values matching a spec will be printed (section headers will be printed only for sections with a key matching the spec) Options: --cell <CELL> --all-cells Produce information for all cells that Buck2 knows about --output-format <OUTPUT_FORMAT> [possible values: simple, json] --json --location <LOCATION_STYLE> [default: none] [possible values: none, direct, extended] --value <VALUE_STYLE> [default: resolved] [possible values: resolved, raw, both] --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit configurations​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-configurations","content":"prints the constraints for configuration IDs Usage: buck2-release audit configurations [OPTIONS] [configurations]... Arguments: [configurations]... configurations to audit (example: `cell//package:target-105fe3389fc7e436`). If none provided, will print information about all known configurations. Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit includes​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-includes","content":"list build file extensions imported at parse time. Usage: buck2-release audit includes [OPTIONS] [BUILD_FILES]... Arguments: [BUILD_FILES]... Build files to audit. These are expected to be relative paths from the working dir cell. Options: --json Print json representation of outputs --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit prelude​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-prelude","content":"print the interpreter prelude to stdout Usage: buck2-release audit prelude [OPTIONS] Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit providers​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-providers","content":"prints out the providers for a target pattern Usage: buck2-release audit providers [OPTIONS] <TARGET_PATTERNS>... Arguments: <TARGET_PATTERNS>... Patterns to analyze Options: --quiet -l, --list List the available providers --print-debug Print the providers using debug format (very verbose) -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit subtargets​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-subtargets","content":"Print all subtargets Usage: buck2-release audit subtargets [OPTIONS] <TARGET_PATTERNS>... Arguments: <TARGET_PATTERNS>... Patterns to analyze Options: --shallow Do not recursively print all nested subtargets; print only the first level. This is set to false by default --json Print subtargets as JSON -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit analysis-queries​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-analysis-queries","content":"buck audit analysis resolving query attrs Usage: buck2-release audit analysis-queries [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to evaluate. The query attributes for targets matching these patterns will be evaluated Options: --include-outputs Enable to print the outputs for the targets in the resolved queries -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit execution-platform-resolution​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-execution-platform-resolution","content":"prints out information about execution platform resolution Usage: buck2-release audit execution-platform-resolution [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to analyze Options: -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit visibility​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-visibility","content":"Verify the visibility for transitive deps of the specified target(s) on the unconfigured target graph Usage: buck2-release audit visibility [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Target pattern(s) to analyze. Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit starlark​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-starlark","content":"Debug Starlark interpreter Usage: buck2-release audit starlark [OPTIONS] <COMMAND> Commands: module Inspect Starlark module by fully qualified import string like foo//bar:baz.bzl package-deps Inspect Starlark package file all bzl dependencies by package name like foo//bar/baz help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit starlark module​ Inspect Starlark module by fully qualified import string like foo//bar:baz.bzl Usage: buck2-release audit starlark module [OPTIONS] <IMPORT_PATH> Arguments: <IMPORT_PATH> Module import path Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit starlark package-deps​ Inspect Starlark package file all bzl dependencies by package name like foo//bar/baz Usage: buck2-release audit starlark package-deps [OPTIONS] <PACKAGE> Arguments: <PACKAGE> Package Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit dep-files​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-dep-files","content":"prints out the select files for a command Usage: buck2-release audit dep-files [OPTIONS] <PATTERN> <CATEGORY> [IDENTIFIER] Arguments: <PATTERN> Target to query dep files for <CATEGORY> Action category [IDENTIFIER] Action identifier Options: -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit deferred-materializer​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-deferred-materializer","content":"Access and interact with the deferred materializer Usage: buck2-release audit deferred-materializer [OPTIONS] <COMMAND> Commands: list list-subscriptions fsck refresh get-refresh-log Get the log for TTL refreshes test-iter flush-access-times help Print this message or the help of the given subcommand(s) Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer list​ Usage: buck2-release audit deferred-materializer list [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer list-subscriptions​ Usage: buck2-release audit deferred-materializer list-subscriptions [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer fsck​ Usage: buck2-release audit deferred-materializer fsck [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer refresh​ Usage: buck2-release audit deferred-materializer refresh [OPTIONS] <MIN_TTL> Arguments: <MIN_TTL> Minimum TTL to require for actions Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer get-refresh-log​ Get the log for TTL refreshes Usage: buck2-release audit deferred-materializer get-refresh-log [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer test-iter​ Usage: buck2-release audit deferred-materializer test-iter [OPTIONS] Options: --count <COUNT> [default: 1] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer flush-access-times​ Usage: buck2-release audit deferred-materializer flush-access-times [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit output​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-output","content":"Query the action that produced the output artifact. Does not support BXL, test, scratch, or anon artifacts. If the configuration hash of the output path does not match the current platform configuration, the unconfigured target label will be returned. Usage: buck2-release audit output [OPTIONS] <OUTPUT_PATH> Arguments: <OUTPUT_PATH> The buck-out path to the build artifact, starting with `buck-out` and including the configuration platform. Options: --json -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit parse​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-parse","content":"Parses the buck-out path into parts that may be useful (ex: config hash, file path to artifact). Usage: buck2-release audit parse [OPTIONS] <OUTPUT_PATH> Options: -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format --modifier <VALUE> This option is not used --json --output-attribute <OUTPUT_ATTRIBUTE> <OUTPUT_PATH> The buck-out path to the build artifact, starting with `buck-out` and including the configuration platform. Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit package-values​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-package-values","content":"Inspect package values. Package values is the thing set with `write_package_value` function from `PACKAGE` files. Usage: buck2-release audit package-values [OPTIONS] [PACKAGES]... Arguments: [PACKAGES]... Package names to inspect (like `//foo/bar`, no trailing colon) Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"query","type":0,"sectionRef":"#","url":"/docs/users/commands/query/","content":"","keywords":""},{"title":"buck query​","type":1,"pageTitle":"query","url":"/docs/users/commands/query/#buck-query","content":"Alias for `uquery` Usage: buck2-release query [OPTIONS] <QUERY> [QUERY_ARGS]... Arguments: <QUERY> the query to evaluate [QUERY_ARGS]... list of literals for a multi-query (one containing `%s` or `%Ss`) Options: -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --json Output in JSON format --dot Output in Graphviz Dot format --dot-compact Output in a more compact format than Graphviz Dot --output-format <dot|dot_compact|json|starlark> Output format (default: list). dot - dot graph format. dot_compact - compact alternative to dot format. json - JSON format. starlark - targets are printed like starlark code that would produce them. [possible values: dot, json, dot_compact, starlark] --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"root","type":0,"sectionRef":"#","url":"/docs/users/commands/root/","content":"","keywords":""},{"title":"buck root​","type":1,"pageTitle":"root","url":"/docs/users/commands/root/#buck-root","content":"Find buck cell, project or package root Usage: buck2-release root [OPTIONS] Options: -k, --kind <KIND> which root to print [default: cell] [possible values: package, cell, project, daemon] --dir <PATH> determine the root for a specific directory (if not provided, finds the root for the current directory) -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"server","type":0,"sectionRef":"#","url":"/docs/users/commands/server/","content":"","keywords":""},{"title":"buck server​","type":1,"pageTitle":"server","url":"/docs/users/commands/server/#buck-server","content":"Start, query, and control the http server Usage: buck2-release server [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"status","type":0,"sectionRef":"#","url":"/docs/users/commands/status/","content":"","keywords":""},{"title":"buck status​","type":1,"pageTitle":"status","url":"/docs/users/commands/status/#buck-status","content":"Buckd status Usage: buck2-release status [OPTIONS] Options: --snapshot Whether to include a state snapshot in the output. --all Enable printing status for all running buckd -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"run","type":0,"sectionRef":"#","url":"/docs/users/commands/run/","content":"","keywords":""},{"title":"buck run​","type":1,"pageTitle":"run","url":"/docs/users/commands/run/#buck-run","content":"Build and run the selected target. The Build ID for the underlying build execution is made available to the target in the `BUCK_RUN_BUILD_ID` environment variable. Usage: buck2-release run [OPTIONS] <TARGET> [TARGET_ARGS]... Arguments: <TARGET> Target to build and run [TARGET_ARGS]... Additional arguments passed to the target when running it Options: --command-args-file <COMMAND_ARGS_FILE> Write the command to a file instead of executing it. --chdir <CHDIR> Set the current working directory of the executable being run --emit-shell Instead of running the command, print out the command formatted for shell interpolation, use as: $(buck2 run --emit-shell ...) --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"subscribe","type":0,"sectionRef":"#","url":"/docs/users/commands/subscribe/","content":"","keywords":""},{"title":"buck subscribe​","type":1,"pageTitle":"subscribe","url":"/docs/users/commands/subscribe/#buck-subscribe","content":"Open a subscription channel to the Buck2 daemon. This allows you to interact with the Buck2 daemon via the `stdin` and `stdout` of this command: you send requests to the daemon by writing to `stdin`, and you get responses via `stdout`. The protocol used by this command is length-prefixed protobuf. This format is a repeated series of a varint followed by a record of the length indicated by said varint. The protobuf spec for those records is described in `buck2_subscription_proto/subscription.proto`. The client writes `SubscriptionRequest` and reads `SubscriptionResponse`. See the documentation in `subscription.proto` to discover available APIs. This API does not (currently) allow invalid requests and will error out when one is sent. Usage: buck2-release subscribe [OPTIONS] Options: --active-commands Whether to request command snapshots --unstable-json Whether to get output as JSON. The JSON format is deemed unstable so this should only be used for debugging -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"starlark","type":0,"sectionRef":"#","url":"/docs/users/commands/starlark/","content":"","keywords":""},{"title":"buck starlark​","type":1,"pageTitle":"starlark","url":"/docs/users/commands/starlark/#buck-starlark","content":"Run Starlark operations Usage: buck2-release starlark [OPTIONS] <COMMAND> Commands: lint Run the Starlark linter. typecheck Run the Starlark typechecker. debug-attach Run the starlark debug adapter protocol server help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck starlark lint​","type":1,"pageTitle":"starlark","url":"/docs/users/commands/starlark/#buck-starlark-lint","content":"Run the Starlark linter. Usage: buck2-release starlark lint [OPTIONS] <PATH>... Options: -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format <PATH>... Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck starlark typecheck​","type":1,"pageTitle":"starlark","url":"/docs/users/commands/starlark/#buck-starlark-typecheck","content":"Run the Starlark typechecker. Usage: buck2-release starlark typecheck [OPTIONS] <PATH>... Options: -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format <PATH>... Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck starlark debug-attach​","type":1,"pageTitle":"starlark","url":"/docs/users/commands/starlark/#buck-starlark-debug-attach","content":"Run the starlark debug adapter protocol server This forwards requests received on stdin to a debug server running in the buck daemon. DAP events and responses are returned from the daemon and sent to this command's stdout. Usage: buck2-release starlark debug-attach [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"targets","type":0,"sectionRef":"#","url":"/docs/users/commands/targets/","content":"","keywords":""},{"title":"buck targets​","type":1,"pageTitle":"targets","url":"/docs/users/commands/targets/#buck-targets","content":"Alias for `utargets` Usage: buck2-release targets [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to interpret Options: --json Print targets as JSON --json-lines Print targets as JSON-lines --stats Print statistics of how many entries were processed --resolve-alias Print the fully-qualified build target for the specified aliases --show-target-hash Print a stable hash of each target after the target name --show-unconfigured-target-hash Print a stable unconfigured hash of each target after the target name --target-hash-file-mode <TARGET_HASH_FILE_MODE> Modifies computation of target hashes. If set to `PATHS_AND_CONTENTS` (the default), the contents of all files referenced from the targets will be used to compute the target hash. If set to `PATHS_ONLY`, only files' paths contribute to the hash. If set to `NONE` no files will be used. See also --target-hash-modified-paths [default: paths_and_contents] [possible values: paths_only, paths_and_contents, none] --target-hash-modified-paths <TARGET_HASH_MODIFIED_PATHS>... Modifies computation of target hashes. Only effective when --target-hash-file-mode is set to `PATHS_ONLY`. If a target or its dependencies reference a file from this set, the target's hash will be different than if this option was omitted. Otherwise, the target's hash will be the same as if this option was omitted --target-hash-function <TARGET_HASH_FUNCTION> Selects either the "fast" or the "strong" target hash function to be used for computing target hashes. While we don't specify the exact algorithm, the "strong" algorithm should be a reasonable cryptographic hash (ex. blake3) while the "fast" function will likely be a non-crypto hash. Both functions are guaranteed to be deterministic and to have the same value across different platforms/architectures [default: fast] [possible values: sha1, sha256, murmur-hash3, fast, strong] --target-hash-recursive <TARGET_HASH_RECURSIVE> When true, emit the hash or target node and all dependencies recursively. When false, hash only the target node [default: true] [possible values: true, false] -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --include-defaults Enables printing of default attributes. This would be attributes in a target that aren't explicitly set in the target but instead use the default set in the rule declaration --show-output Print the path to the output for each of the rules relative to the project root --show-full-output Print the absolute path to the output for each of the rules --show-simple-output Print only the path to the output for each of the rules relative to the project root --show-full-simple-output Print only the absolute path to the output for each of the rules --show-json-output Print the output paths relative to the project root, in JSON format --show-full-json-output Print the output absolute paths, in JSON format --keep-going On loading errors, put buck.error in the output stream and continue --streaming Write output as soon as it is available. The order of the output items is non-deterministic and if multiple patterns cover the same target, may have duplicates --no-cache Don't cache the target information on the build graph --imports Show the imports of each package/import. Shows an additional output per package/import (not per target), including implicit dependencies (e.g. the prelude) but only direct dependencies (not the transitive closure) --package-values Show the package values. Produces an additional attribute representing all the package values for the package containing the target --package-values-regex <VALUES> Regular expressions to match package values. Produces an additional attribute representing package values for the package containing the target. Regular expressions are used in "search" mode so, for example, empty string matches all package values -o, --output <PATH> File to put the output in, rather than sending to stdout. File will be created if it does not exist, and overwritten if it does. --compression <SCHEME> Compress the output [default: none] [possible values: none, gzip, zstd] -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"test","type":0,"sectionRef":"#","url":"/docs/users/commands/test/","content":"","keywords":""},{"title":"buck test​","type":1,"pageTitle":"test","url":"/docs/users/commands/test/#buck-test","content":"Build and test the specified targets Usage: buck2-release test [OPTIONS] [TARGET_PATTERNS]... [-- <TEST_EXECUTOR_ARGS>...] Arguments: [TARGET_PATTERNS]... Patterns to test [TEST_EXECUTOR_ARGS]... Additional arguments passed to the test executor. Test executor is expected to have `--env` flag to pass environment variables. Can be used like this: buck2 test //foo:bar -- --env PRIVATE_KEY=123 Options: --exclude <EXCLUDE>... Labels on targets to exclude from tests --include <INCLUDE>... Labels on targets to include from tests. Prefixing with `!` means to exclude. First match wins unless overridden by `always-exclude` flag. If include patterns are present, regardless of whether exclude patterns are present, then all targets are by default excluded unless explicitly included. --always-exclude Whether to always exclude if the label appears in `exclude`, regardless of which appears first --build-filtered Whether to build tests that are excluded via labels. --unstable-allow-compatible-tests-on-re Will allow tests that are compatible with RE (setup to run from the repo root and use relative paths) to run from RE --unstable-allow-all-tests-on-re Will run tests to on RE even if they are missing required settings (running from the root + relative paths). Those required settings just get overridden --overall-timeout <TIMEOUT> How long to execute tests for. If the timeout is exceeded, Buck2 will exit as quickly as possible and not run further tests. In-flight tests will be cancelled. The test orchestrator will be allowed to shut down gracefully. The exit code is controlled by the test orchestrator (which normally should report zero for this). The format is a concatenation of time spans (separated by spaces). Each time span is an integer number and a suffix. Relevant supported suffixes: seconds, second, sec, s, minutes, minute, min, m, hours, hour, hr, h For example: `5m 10s`, `500s`. --test-executor-stdout <TEST_EXECUTOR_STDOUT> Writes the test executor stdout to the provided path --test-executor-stdout=- will write to stdout --test-executor-stdout=FILEPATH will write to the provided filepath, overwriting the current file if it exists By default the test executor's stdout stream is captured --ignore-tests-attribute Normally testing will follow the `tests` attribute of all targets, to find their associated tests. When passed, this flag will disable that, and only run the directly supplied targets --test-executor-stderr <TEST_EXECUTOR_STDERR> Writes the test executor stderr to the provided path --test-executor-stderr=- will write to stderr --test-executor-stderr=FILEPATH will write to the provided filepath, overwriting the current file if it exists By default test executor's stderr stream is captured --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"Why is Buck2 hanging?","type":0,"sectionRef":"#","url":"/docs/users/faq/buck_hanging/","content":"","keywords":""},{"title":"How to debug a “busy” hang​","type":1,"pageTitle":"Why is Buck2 hanging?","url":"/docs/users/faq/buck_hanging/#how-to-debug-a-busy-hang","content":""},{"title":"Getting a stack trace​","type":1,"pageTitle":"Why is Buck2 hanging?","url":"/docs/users/faq/buck_hanging/#getting-a-stack-trace","content":"When debugging a busy hang, the first thing to do is to work out what the process is doing. There are many tools you can use for this (like a profiler), but the absolute simplest one is quickstack: just run quickstack -p $PID, and it’ll show you a stack dump for all the threads in your process. If you prefergdb, you can use gdb -p $PID, then thread apply all bt, and that’s the same thing. Note that a stack trace tells you what the process is doing at a point in time, so don’t just look at the very last frame and call it the culprit. Instead, look at the stack as a whole. If you need more perspective, use a sampling profiler . You can also just grab stack traces at a few points in time and see if they look similar: this is exactly what a sampling profiler does, albeit at a higher frequency. "},{"title":"Interpreting the stack trace​","type":1,"pageTitle":"Why is Buck2 hanging?","url":"/docs/users/faq/buck_hanging/#interpreting-the-stack-trace","content":"Let's consider an example user report with the following stack trace: #01 0x0000000005b1ec26 in <buck2_build_api::artifact_groups::artifact_group_values::TransitiveSetIterator<buck2_build_api::artifact_groups::artifact_group_values::ArtifactGroupValues, (buck2_build_api::actions::artifact::Artifact, buck2_execute::artifact_value::ArtifactValue), buck2_build_api::artifact_groups::artifact_group_values::ArtifactValueIdentity> as core::iter::traits::iterator::Iterator>::next () from ... #02 0x0000000005b23998 in <buck2_build_api::artifact_groups::artifact_group_values::TransitiveSetIterator<buck2_build_api::artifact_groups::artifact_group_values::ArtifactGroupValues, (buck2_build_api::actions::artifact::Artifact, buck2_execute::artifact_value::ArtifactValue), buck2_build_api::artifact_groups::artifact_group_values::ArtifactValueIdentity> as itertools::Itertools>::exactly_one () from ... #03 0x00000000059dbb2c in buck2_server_commands::commands::build::create_unhashed_outputs () from ... #04 0x0000000005c3c677 in <core::future::from_generator::GenFuture<<buck2_server_commands::commands::build::BuildServerCommand as buck2_server_ctx::template::ServerCommandTemplate>::command::{closure#0}> as core::future::future::Future>::poll () from ... #05 0x00000000054c58a3 in <core::future::from_generator::GenFuture<<alloc::boxed::Box<dyn buck2_server_ctx::ctx::ServerCommandContextTrait> as buck2_server_ctx::ctx::ServerCommandDiceContext>::with_dice_ctx<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}::{closure#0}, core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<cli_proto::BuildResponse, anyhow::Error>> + core::marker::Send>>, cli_proto::BuildResponse>::{closure#0}> as core::future::future::Future>::poll () from ... #06 0x00000000054c7ae3 in <core::future::from_generator::GenFuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}> as core::future::future::Future>::poll () from ... #07 0x0000000005370df8 in <buck2_events::dispatch::Span>::call_in_span::<core::task::poll::Poll<(core::result::Result<cli_proto::BuildResponse, anyhow::Error>, buck2_data::CommandEnd)>, <buck2_events::dispatch::EventDispatcher>::span_async<buck2_data::CommandStart, buck2_data::CommandEnd, core::future::from_generator::GenFuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}>, core::result::Result<cli_proto::BuildResponse, anyhow::Error>>::{closure#0}::{closure#0}::{closure#0}> () from ... #08 0x00000000054f7288 in <core::future::from_generator::GenFuture<<cli::commands::daemon::BuckdServerDependenciesImpl as buck2_server::daemon::server::BuckdServerDependencies>::build::{closure#0}> as core::future::future::Future>::poll () from... ... At this point, you can look at the code, and note that there is no span around the output symlink creation function (create_unhashed_outputs). This suggests you’ve found your culprit: there is indeed a buck2 bug and we’re spending ages creating unhashed output symlinks, and since you need a span to get any console feedback, the console says nothing is happening. An easy fix: In this particular instance, Thomas spottedan easy optimizationwhich resolved the issue. But, of course, that’s not always possible. If the easy fix hadn't been available, we’d be at a dead end, so what do we do next? A harder fix: If it is not clear what the root-cause is, you can bisect: i.e. do a binary search across commits for the commit that introduced a given breakage/perf degradation. Then, once you identify their commit that caused breakage, investigate what caused the issue. "},{"title":"How to debug a “doing nothing” hang​","type":1,"pageTitle":"Why is Buck2 hanging?","url":"/docs/users/faq/buck_hanging/#how-to-debug-a-doing-nothing-hang","content":"Cycle in dependencies: If buck2 seems to be doing nothing (e.g. CPU usage is 0%), one of the reasons could be a cycle in your dependencies, which may cause buck2 to hang (buck2 does implement a form of cycle detection, but it unfortunately has false negatives). You can confirm this by running buck1, which will report cycles properly. "},{"title":"uquery","type":0,"sectionRef":"#","url":"/docs/users/commands/uquery/","content":"","keywords":""},{"title":"buck uquery​","type":1,"pageTitle":"uquery","url":"/docs/users/commands/uquery/#buck-uquery","content":"Perform queries on the unconfigured target graph The unconfigured target graph consists of the targets as they are defined in the build files. In this graph, each target appears exactly once and `select()`s are in the unresolved form. For large queries, the unconfigured graph may be much smaller than the configured graph and queries can be much more efficiently performed there. When querying the unconfigured graph, dependencies appearing in all branches of `select()` dictionaries will be treated as dependencies. Run `buck2 docs uquery` or https://buck2.build/docs/users/query/uquery/ for more documentation about the functions available in uquery expressions. Examples: Print all the attributes of a target `buck2 uquery //java/com/example/app:amazing --output-all-attributes List the deps of a target (special characters in a target will require quotes): `buck2 uquery 'deps("//java/com/example/app:amazing+more")'` select() encoding: When printed, values with `select()`s use a special json encoding. `1 + select({"//:a": 1, "DEFAULT": 2})` will be encoded as: `{"__type": "concat", "items": [1, {"__type": "selector", "entries": {"//:a": 1, "DEFAULT": 2}}]}` Usage: buck2-release uquery [OPTIONS] <QUERY> [QUERY_ARGS]... Arguments: <QUERY> the query to evaluate [QUERY_ARGS]... list of literals for a multi-query (one containing `%s` or `%Ss`) Options: -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --json Output in JSON format --dot Output in Graphviz Dot format --dot-compact Output in a more compact format than Graphviz Dot --output-format <dot|dot_compact|json|starlark> Output format (default: list). dot - dot graph format. dot_compact - compact alternative to dot format. json - JSON format. starlark - targets are printed like starlark code that would produce them. [possible values: dot, json, dot_compact, starlark] --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"utargets","type":0,"sectionRef":"#","url":"/docs/users/commands/utargets/","content":"","keywords":""},{"title":"buck utargets​","type":1,"pageTitle":"utargets","url":"/docs/users/commands/utargets/#buck-utargets","content":"Show details about the specified targets. This command is meant to only handle unconfigured targets, but for historical reasons, with certain flags it can also work with configured targets. Usage: buck2-release utargets [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to interpret Options: --json Print targets as JSON --json-lines Print targets as JSON-lines --stats Print statistics of how many entries were processed --resolve-alias Print the fully-qualified build target for the specified aliases --show-target-hash Print a stable hash of each target after the target name --show-unconfigured-target-hash Print a stable unconfigured hash of each target after the target name --target-hash-file-mode <TARGET_HASH_FILE_MODE> Modifies computation of target hashes. If set to `PATHS_AND_CONTENTS` (the default), the contents of all files referenced from the targets will be used to compute the target hash. If set to `PATHS_ONLY`, only files' paths contribute to the hash. If set to `NONE` no files will be used. See also --target-hash-modified-paths [default: paths_and_contents] [possible values: paths_only, paths_and_contents, none] --target-hash-modified-paths <TARGET_HASH_MODIFIED_PATHS>... Modifies computation of target hashes. Only effective when --target-hash-file-mode is set to `PATHS_ONLY`. If a target or its dependencies reference a file from this set, the target's hash will be different than if this option was omitted. Otherwise, the target's hash will be the same as if this option was omitted --target-hash-function <TARGET_HASH_FUNCTION> Selects either the "fast" or the "strong" target hash function to be used for computing target hashes. While we don't specify the exact algorithm, the "strong" algorithm should be a reasonable cryptographic hash (ex. blake3) while the "fast" function will likely be a non-crypto hash. Both functions are guaranteed to be deterministic and to have the same value across different platforms/architectures [default: fast] [possible values: sha1, sha256, murmur-hash3, fast, strong] --target-hash-recursive <TARGET_HASH_RECURSIVE> When true, emit the hash or target node and all dependencies recursively. When false, hash only the target node [default: true] [possible values: true, false] -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --include-defaults Enables printing of default attributes. This would be attributes in a target that aren't explicitly set in the target but instead use the default set in the rule declaration --show-output Print the path to the output for each of the rules relative to the project root --show-full-output Print the absolute path to the output for each of the rules --show-simple-output Print only the path to the output for each of the rules relative to the project root --show-full-simple-output Print only the absolute path to the output for each of the rules --show-json-output Print the output paths relative to the project root, in JSON format --show-full-json-output Print the output absolute paths, in JSON format --keep-going On loading errors, put buck.error in the output stream and continue --streaming Write output as soon as it is available. The order of the output items is non-deterministic and if multiple patterns cover the same target, may have duplicates --no-cache Don't cache the target information on the build graph --imports Show the imports of each package/import. Shows an additional output per package/import (not per target), including implicit dependencies (e.g. the prelude) but only direct dependencies (not the transitive closure) --package-values Show the package values. Produces an additional attribute representing all the package values for the package containing the target --package-values-regex <VALUES> Regular expressions to match package values. Produces an additional attribute representing package values for the package containing the target. Regular expressions are used in "search" mode so, for example, empty string matches all package values -o, --output <PATH> File to put the output in, rather than sending to stdout. File will be created if it does not exist, and overwritten if it does. --compression <SCHEME> Compress the output [default: none] [possible values: none, gzip, zstd] -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"Common Issues","type":0,"sectionRef":"#","url":"/docs/users/faq/common_issues/","content":"","keywords":""},{"title":"Why is stdin being swallowed?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#why-is-stdin-being-swallowed","content":"Buck2 offers an interactive console by default. To disable either use an env var: BUCK_NO_INTERACTIVE_CONSOLE or a flag:--no-interactive-console "},{"title":"Where is my output file?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#where-is-my-output-file","content":"To find the location of output for a target, usebuck2 build //foo:bar --show-output. This will print the output corresponding to each built target, in this case //foo:bar output_path. To only get the output path (without the target beforehand) you want to usebuck2 build //foo:bar --show-simple-output. The resultant path is relative to the root of the repo (such as~/repo_root/...). For the full path use --show-full-output or--show-full-simple-output. Note: in Buck1, the path is relative to the enclosing cell (such as~/repo_root/cell/...). "},{"title":"Why is Buck2 hanging?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#why-is-buck2-hanging","content":"If Buck2 seems to be doing nothing, it could be caused be a cycle in your dependencies, which may cause Buck2 to hang (Buck2 does implement a form of cycle detection, but it unfortunately has false negatives). You can confirm this by running Buck1, which will report cycles properly. "},{"title":"How do I get the commands Buck2 executed so I can reproduce them in isolation?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#how-do-i-get-the-commands-buck2-executed-so-i-can-reproduce-them-in-isolation","content":"For information, seeFinding Commands that Buck2 Ran. "},{"title":"Are multiple concurrent commands supported?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#are-multiple-concurrent-commands-supported","content":"Yes, they are supported. There are 2 types of concurrent commands: 1) parallel invocations, and 2) recursive invocations. Parallel invocations: If the state of all the commands are the same, then they will run at the same time. "State" is referring to the same configs and source files. If the state is different amongst the commands, then buck2 will block the commands properly such that the states do not interfere with each other. Different states are caused by source file changes or config changes (ex: using a different mode). Recursive invocations: A recursive invocation is when an outer buck2 command ends up calling another buck2 command as it's running. Recursive invocations are most commonly seen with genrules and tests. For example: If you have a genrule where the command contains a buck2 cquery, and you build the genrule with buck2 build, you have a recursive invocation where the outer command is buck2 build and the inner command is buck2 cqueryIf you have a test which contains buck2 build, and you run your test withbuck2 test, you have a recursive invocation where the outer command isbuck2 test and the inner command is buck2 build Recursive invocations should specify an --isolation-dir, or else buck2 will return an error. "},{"title":"Why did my build OOM?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#why-did-my-build-oom","content":"If your build OOMs, you can check the last actions running by usingbuck2 log whatup. This will print the superconsole state at the moment the event log ended, which will indicate what actions were being run (and consuming memory) when your machine ran out of memory. You can also use the --after <millis> option to see all open spans at a certain point in time of the build. "},{"title":"Why does my target not have any outputs?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#why-does-my-target-not-have-any-outputs","content":"If you see that your build succeeded, but the console message stated that your target did not have any outputs, this means that the underlying rule did not declare any outputs artifacts, defined as outputs declared in: default_outputs and/or other_outputs in DefaultInfocmd_args in RunInfocmd_args inside the command in ExternalRunnerTestInfo For example, building a target which uses a python_library rule merely groups source files together and does not generate any output artifacts such as a python executable. You would need to build a python_binary which uses that library in order to get an output. "},{"title":"Debugging Excess Starlark Peak Memory","type":0,"sectionRef":"#","url":"/docs/users/faq/starlark_peak_mem/","content":"","keywords":""},{"title":"Wut memory?​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#wut-memory","content":"Peak memory is the maximum amount of memory used during evaluation of that particular Starlark file. The memory is usually released after we finish the evaluation of the file. Because Starlark is only garbage collected in between top-level statements in the BUCK file, but not garbage collected inside function calls/macros, on large servers with 64 hardware threads (or more), memory usage might accumulate, causing slowdowns or OOMs . To prevent such issues until proper GC is implemented, we have set a hard 2GBmemory limit for Starlark's evaluation of build files. This is a per-file limit. Note that this is different than the actual process memory which might include other things apart from Starlark’s evaluation. "},{"title":"How do I see my build file's peak memory usage?​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#how-do-i-see-my-build-files-peak-memory-usage","content":"To see the Starlark peak memory usage of a build file, you can inspect the event log for your build file. Here is an example entry from the event log for buck2 uquery target showing that it uses 1.5GB: {"Event":{..."data":{"Load":{"module_id":"target:BUCK","cell":"...","error":null,"starlark_peak_allocated_bytes":1610608640}}}}}} "},{"title":"Profiler to the rescue!​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#profiler-to-the-rescue","content":"If you want to see more detailed breakdown where the memory is used, you should profile Starlark's evaluation of build files. Seethis page for details of profiling in the loading stage. This is a great starting point for troubleshooting. "},{"title":"How do I reduce memory footprint?​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#how-do-i-reduce-memory-footprint","content":"There are many reasons why Starlark's evaluation of your build file might use a lot of memory. We list a few common cases below but there might be more cases. High level guidance is to pay attention to loops as a starting point. Are there any unnecessary computations? Can you shave them off? "},{"title":"Repeatedly allocating memory unnecessarily in a loop​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#repeatedly-allocating-memory-unnecessarily-in-a-loop","content":"A common case where memory usage might accumulate is repeatedly allocating memory in a loop. For instance, below we call a memory intensive function in a loop unnecessarily: for target in huge_target_list: memory_intensive_fun(x,y) ... Instead, if we know that arguments x and y don't change, we could hoist the call to memory_intensive_fun outside of the loop as follows: memory_intensive_fun(x,y) for target in huge_target_list: ... "},{"title":"Simply allocating very big data-structures!​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#simply-allocating-very-big-data-structures","content":"Another reason why Starlark uses a lot of memory could simply be because the build file allocates a very big-data structure. For instance, below we allocate a list with 1 billion integers! million_list = [1 for i in range(1 << 20)] billion_list = million_list * (1 << 10) As a workaround, could you think of splitting the list? "},{"title":"Algorithmically inefficient code​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#algorithmically-inefficient-code","content":"Another reason could be because memory efficiency of your code is bad, i.e. you are unnecessarily allocating a lot of memory. Let's look at an example where we try to process a bunch of targets inefficiently: targets = generate_targets(n) for target in targets: process(target) If targets list is big and each target takes a lot of space in memory, memory usage might exceed the limit. Instead, a more efficient version might be to process each target as you generate it: for i in range(n): target = generate_target(i) process(target) In this version, each target is processed as it is generated so we never need to store more than one target in memory. "},{"title":"Usage of inefficient library calls​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#usage-of-inefficient-library-calls","content":"A more subtle reason could be unknowingly invoking library calls that allocate each time they are called. A well-known case of this is the dict.items() call. for project, version in constraints.items(): # process each project .... We do an allocation on every call to constraints.items(). Especially if this is a hot code in Starlark, this could cause an OOM. Instead, a potential fix is to hoist the call out: constraints = constraints.items() for project, version in constraints: # process each project .... However, you need to ensure that the dictionary is not mutated inside, otherwise you would get functionally different code. A similar case occurs fordict.keys() where it returns a new list for containing the keys. "},{"title":"Allocating for rare cases​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#allocating-for-rare-cases","content":"Finally, another pattern is allocating memory for the rare cases. For instance, consdier the following example for target in huge_target_list: if memory_intensive_condition([target]) fail(...) Above program could be optimized as follows: if memory_intensive_condition(huge_target_list) for target in huge_target_list: if memory_intensive_condition([target]) fail(...) so that in the common non-failure case, we don't end up allocating excessive memory. "},{"title":"I still need more help!​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#i-still-need-more-help","content":"If you still can not figure out how to reduce Starlark memory footprint of your build files, raisean issue in our Github project. "},{"title":"Aquery Environment","type":0,"sectionRef":"#","url":"/docs/users/query/aquery/","content":"","keywords":""},{"title":"Query Value Types​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#query-value-types","content":"string: For example, non_quoted_string or "quoted string". integer: Must be positive and fit in u32. target expression: either a literal or the return value of a function This could be a literal build target ("cell//some:target") or a pattern ("cell//package:" or "cell//recursive/...") or the result of another function that returns a target expression. For queries in CLI commands (like buck2 query), literals can be relative to the current working dir (like some:target or ...). file expression: either a literal or the return value of a function This could be a file literal like path/to/a.file or the return value of a function that returns files (for example, the buildfile() function). target or file expression: Either a file expression or target expression. This could be a literal like path/to/a.file or "cell//some:target", or the return value of a function that returns files or targets. query expression: a valid query expression, evaluated in a function-specific context This is used for functions that capture an expression and evaluate it in another context. For example, the deps() function can accept an expression that it uses to find the children of a node to customize the deps traversal. any value: Any query value. "},{"title":"Common query functions​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#common-query-functions","content":"allpaths(from: target expression, to: target expression): Computes all dependency paths. somepath(from: target expression, to: target expression) attrfilter(attr: string, value: string, targets: target expression): The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. nattrfilter(attr: string, value: string, targets: target expression) attrregexfilter(attr: string, value: string, targets: target expression) buildfile(targets: target expression) rbuildfiles(universe: file expression, argset: file expression) allbuildfiles(universe: target expression) deps(targets: target expression, depth: ?integer, captured_expr: ?query expression) filter(regex: string, set: target or file expression): Filter using regex partial match. inputs(targets: target expression) kind(regex: string, targets: target expression): The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. labels(attr: string, targets: target expression): This function is not implemented, and won't be, because buck2 query core does not support owner(files: file expression): The owner(inputfile) operator returns the targets that own the specified inputfile. targets_in_buildfile(files: file expression) rdeps(universe: target expression, targets: target expression, depth: ?integer) testsof(targets: target expression) first_order_deps(): A filter function that can be used in the query expression of deps query function. target_deps(): A filter function that can be used in the query expression of deps query function. exec_deps(): A filter function that can be used in the query expression of deps query function. configuration_deps(): A filter function that can be used in the query expression of deps query function. toolchain_deps(): A filter function that can be used in the query expression of deps query function. intersect(left: any value, right: any value): Computes the set intersection over the given arguments. except(left: any value, right: any value): Computes the arguments that are in argument A but not in argument B. union(left: any value, right: any value): Computes the set union over the given arguments. "},{"title":"allpaths(from: target expression, to: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#allpathsfrom-target-expression-to-target-expression","content":"Computes all dependency paths. The allpaths(from, to) function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value ofbuck query "allpaths('//foo:bar', '//foo/bar/lib:baz')"is the dependency graph rooted at the single target node //foo:bar, that includes all target nodes that depend (transitively) on //foo/bar/lib:baz. The two arguments to allpaths() can themselves be expressions. For example, the command:buck query "allpaths(kind(java_library, '//...'), '//foo:bar')"shows all the paths between any java_library in the repository and the target //foo:bar. We recommend using allpaths() with the --output-format=dot parameter to generate a graphviz file that can then be rendered as an image. For example: $ buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" --output-format=dot --output-file=result.dot $ dot -Tpng result.dot -o image.png Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs. "},{"title":"somepath(from: target expression, to: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#somepathfrom-target-expression-to-target-expression","content":""},{"title":"attrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#attrfilterattr-string-value-string-targets-target-expression","content":"The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps. If the attribute is a single value, say name, it is compared to the specified value, and the target is returned if they match.If the attribute is a list, the target is returned if that list contains the specified value.If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary. For example:buck2 query "attrfilter(deps, '//foo:bar', '//...')" returns the build targets in the repository that depend on //foo:bar, or more precisely: those build targets that include //foo:bar in their deps argument list. "},{"title":"nattrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#nattrfilterattr-string-value-string-targets-target-expression","content":""},{"title":"attrregexfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#attrregexfilterattr-string-value-string-targets-target-expression","content":""},{"title":"buildfile(targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#buildfiletargets-target-expression","content":""},{"title":"rbuildfiles(universe: file expression, argset: file expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#rbuildfilesuniverse-file-expression-argset-file-expression","content":""},{"title":"allbuildfiles(universe: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#allbuildfilesuniverse-target-expression","content":""},{"title":"deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#depstargets-target-expression-depth-integer-captured_expr-query-expression","content":""},{"title":"filter(regex: string, set: target or file expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#filterregex-string-set-target-or-file-expression","content":"Filter using regex partial match. Target are matched against their fully qualified name. Files are matched against their repo path like repo//foo/bar/baz.py. "},{"title":"inputs(targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#inputstargets-target-expression","content":""},{"title":"kind(regex: string, targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#kindregex-string-targets-target-expression","content":"The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. The specified pattern can be a regular expression. For example,buck2 query "kind('java.*', deps('//foo:bar'))" returns the targets that match the rule type java.* (java_library, java_binary, etc.) in the transitive dependencies of //foo:bar. "},{"title":"labels(attr: string, targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#labelsattr-string-targets-target-expression","content":"This function is not implemented, and won't be, because buck2 query core does not support returning both files and targets from a single function. In buck1 it returns targets and files referenced by the given attribute in the given targets. Some discussion in T126638795. "},{"title":"owner(files: file expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#ownerfiles-file-expression","content":"The owner(inputfile) operator returns the targets that own the specified inputfile. In this context, own means that the target has the specified file as an input. You could consider the owner() and inputs() operators to be inverses of each other. Example: buck2 query "owner('examples/1.txt')" returns the targets that owns the file examples/1.txt, which could be a value such as //examples:one. It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets. If no owner for the file is found, owner() outputs the message: No owner was found for <file> "},{"title":"targets_in_buildfile(files: file expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#targets_in_buildfilefiles-file-expression","content":""},{"title":"rdeps(universe: target expression, targets: target expression, depth: ?integer)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#rdepsuniverse-target-expression-targets-target-expression-depth-integer","content":""},{"title":"testsof(targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#testsoftargets-target-expression","content":""},{"title":"first_order_deps()​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#first_order_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to deps(<targets>, 1). Example:buck2 cquery "deps('//foo:bar', 1, first_order_deps())"`` is equivalent to buck2 cquery "deps('//foo:bar', 1)"` "},{"title":"target_deps()​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#target_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies) like compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, target_deps())"`` "},{"title":"exec_deps()​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#exec_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, exec_deps())"`` "},{"title":"configuration_deps()​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#configuration_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for configuration dependencies (that appear as conditions in selects). Example: `buck2 cquery "deps('//foo:bar', 1, configuration_deps())"`` "},{"title":"toolchain_deps()​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#toolchain_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for toolchain dependencies. Example: `buck2 cquery "deps('//foo:bar', 1, toolchain_deps())"`` "},{"title":"intersect(left: any value, right: any value)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#intersectleft-any-value-right-any-value","content":"Computes the set intersection over the given arguments. Can be used with the ^ symbol. This operator is commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') intersect deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') ^ deps('//baz:lib')"Both return the targets that appear in the transitive closure of //foo:bar and //baz:lib. "},{"title":"except(left: any value, right: any value)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#exceptleft-any-value-right-any-value","content":"Computes the arguments that are in argument A but not in argument B. Can be used with the - symbol. This operator is NOT commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') except deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') - deps('//baz:lib')"Both return the targets that //foo:bar depends on and that //baz:lib does NOT depend on. "},{"title":"union(left: any value, right: any value)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#unionleft-any-value-right-any-value","content":"Computes the set union over the given arguments. Can be used with the + symbol. This operator is commutative. The parser treats all this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') union deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') + deps('//baz:lib')"Both return the aggregation of the targets that //foo:bar and //baz:lib depend on. "},{"title":"Query functions​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#query-functions","content":"all_outputs(targets: target expression): Obtain the actions for all the outputs provided by the DefaultInfo for the targets passed all_actions(targets: target expression): Obtain all the actions declared within the analysis of a given target. "},{"title":"all_outputs(targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#all_outputstargets-target-expression","content":"Obtain the actions for all the outputs provided by the DefaultInfo for the targets passed as input. This includes both the default_outputs and other_outputs. This operation only makes sense on a target literal (it does nothing if passed something else). "},{"title":"all_actions(targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#all_actionstargets-target-expression","content":"Obtain all the actions declared within the analysis of a given target. This operation only makes sense on a target literal (it is a simple passthrough when passed an action). "},{"title":"Cquery Environment","type":0,"sectionRef":"#","url":"/docs/users/query/cquery/","content":"","keywords":""},{"title":"Query Value Types​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#query-value-types","content":"string: For example, non_quoted_string or "quoted string". integer: Must be positive and fit in u32. target expression: either a literal or the return value of a function This could be a literal build target ("cell//some:target") or a pattern ("cell//package:" or "cell//recursive/...") or the result of another function that returns a target expression. For queries in CLI commands (like buck2 query), literals can be relative to the current working dir (like some:target or ...). file expression: either a literal or the return value of a function This could be a file literal like path/to/a.file or the return value of a function that returns files (for example, the buildfile() function). target or file expression: Either a file expression or target expression. This could be a literal like path/to/a.file or "cell//some:target", or the return value of a function that returns files or targets. query expression: a valid query expression, evaluated in a function-specific context This is used for functions that capture an expression and evaluate it in another context. For example, the deps() function can accept an expression that it uses to find the children of a node to customize the deps traversal. any value: Any query value. "},{"title":"Common query functions​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#common-query-functions","content":"allpaths(from: target expression, to: target expression): Computes all dependency paths. somepath(from: target expression, to: target expression) attrfilter(attr: string, value: string, targets: target expression): The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. nattrfilter(attr: string, value: string, targets: target expression) attrregexfilter(attr: string, value: string, targets: target expression) buildfile(targets: target expression) rbuildfiles(universe: file expression, argset: file expression) allbuildfiles(universe: target expression) deps(targets: target expression, depth: ?integer, captured_expr: ?query expression) filter(regex: string, set: target or file expression): Filter using regex partial match. inputs(targets: target expression) kind(regex: string, targets: target expression): The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. labels(attr: string, targets: target expression): This function is not implemented, and won't be, because buck2 query core does not support owner(files: file expression): The owner(inputfile) operator returns the targets that own the specified inputfile. targets_in_buildfile(files: file expression) rdeps(universe: target expression, targets: target expression, depth: ?integer) testsof(targets: target expression) first_order_deps(): A filter function that can be used in the query expression of deps query function. target_deps(): A filter function that can be used in the query expression of deps query function. exec_deps(): A filter function that can be used in the query expression of deps query function. configuration_deps(): A filter function that can be used in the query expression of deps query function. toolchain_deps(): A filter function that can be used in the query expression of deps query function. intersect(left: any value, right: any value): Computes the set intersection over the given arguments. except(left: any value, right: any value): Computes the arguments that are in argument A but not in argument B. union(left: any value, right: any value): Computes the set union over the given arguments. "},{"title":"allpaths(from: target expression, to: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#allpathsfrom-target-expression-to-target-expression","content":"Computes all dependency paths. The allpaths(from, to) function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value ofbuck query "allpaths('//foo:bar', '//foo/bar/lib:baz')"is the dependency graph rooted at the single target node //foo:bar, that includes all target nodes that depend (transitively) on //foo/bar/lib:baz. The two arguments to allpaths() can themselves be expressions. For example, the command:buck query "allpaths(kind(java_library, '//...'), '//foo:bar')"shows all the paths between any java_library in the repository and the target //foo:bar. We recommend using allpaths() with the --output-format=dot parameter to generate a graphviz file that can then be rendered as an image. For example: $ buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" --output-format=dot --output-file=result.dot $ dot -Tpng result.dot -o image.png Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs. "},{"title":"somepath(from: target expression, to: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#somepathfrom-target-expression-to-target-expression","content":""},{"title":"attrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#attrfilterattr-string-value-string-targets-target-expression","content":"The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps. If the attribute is a single value, say name, it is compared to the specified value, and the target is returned if they match.If the attribute is a list, the target is returned if that list contains the specified value.If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary. For example:buck2 query "attrfilter(deps, '//foo:bar', '//...')" returns the build targets in the repository that depend on //foo:bar, or more precisely: those build targets that include //foo:bar in their deps argument list. "},{"title":"nattrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#nattrfilterattr-string-value-string-targets-target-expression","content":""},{"title":"attrregexfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#attrregexfilterattr-string-value-string-targets-target-expression","content":""},{"title":"buildfile(targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#buildfiletargets-target-expression","content":""},{"title":"rbuildfiles(universe: file expression, argset: file expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#rbuildfilesuniverse-file-expression-argset-file-expression","content":""},{"title":"allbuildfiles(universe: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#allbuildfilesuniverse-target-expression","content":""},{"title":"deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#depstargets-target-expression-depth-integer-captured_expr-query-expression","content":""},{"title":"filter(regex: string, set: target or file expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#filterregex-string-set-target-or-file-expression","content":"Filter using regex partial match. Target are matched against their fully qualified name. Files are matched against their repo path like repo//foo/bar/baz.py. "},{"title":"inputs(targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#inputstargets-target-expression","content":""},{"title":"kind(regex: string, targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#kindregex-string-targets-target-expression","content":"The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. The specified pattern can be a regular expression. For example,buck2 query "kind('java.*', deps('//foo:bar'))" returns the targets that match the rule type java.* (java_library, java_binary, etc.) in the transitive dependencies of //foo:bar. "},{"title":"labels(attr: string, targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#labelsattr-string-targets-target-expression","content":"This function is not implemented, and won't be, because buck2 query core does not support returning both files and targets from a single function. In buck1 it returns targets and files referenced by the given attribute in the given targets. Some discussion in T126638795. "},{"title":"owner(files: file expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#ownerfiles-file-expression","content":"The owner(inputfile) operator returns the targets that own the specified inputfile. In this context, own means that the target has the specified file as an input. You could consider the owner() and inputs() operators to be inverses of each other. Example: buck2 query "owner('examples/1.txt')" returns the targets that owns the file examples/1.txt, which could be a value such as //examples:one. It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets. If no owner for the file is found, owner() outputs the message: No owner was found for <file> "},{"title":"targets_in_buildfile(files: file expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#targets_in_buildfilefiles-file-expression","content":""},{"title":"rdeps(universe: target expression, targets: target expression, depth: ?integer)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#rdepsuniverse-target-expression-targets-target-expression-depth-integer","content":""},{"title":"testsof(targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#testsoftargets-target-expression","content":""},{"title":"first_order_deps()​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#first_order_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to deps(<targets>, 1). Example:buck2 cquery "deps('//foo:bar', 1, first_order_deps())"`` is equivalent to buck2 cquery "deps('//foo:bar', 1)"` "},{"title":"target_deps()​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#target_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies) like compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, target_deps())"`` "},{"title":"exec_deps()​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#exec_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, exec_deps())"`` "},{"title":"configuration_deps()​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#configuration_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for configuration dependencies (that appear as conditions in selects). Example: `buck2 cquery "deps('//foo:bar', 1, configuration_deps())"`` "},{"title":"toolchain_deps()​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#toolchain_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for toolchain dependencies. Example: `buck2 cquery "deps('//foo:bar', 1, toolchain_deps())"`` "},{"title":"intersect(left: any value, right: any value)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#intersectleft-any-value-right-any-value","content":"Computes the set intersection over the given arguments. Can be used with the ^ symbol. This operator is commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') intersect deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') ^ deps('//baz:lib')"Both return the targets that appear in the transitive closure of //foo:bar and //baz:lib. "},{"title":"except(left: any value, right: any value)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#exceptleft-any-value-right-any-value","content":"Computes the arguments that are in argument A but not in argument B. Can be used with the - symbol. This operator is NOT commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') except deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') - deps('//baz:lib')"Both return the targets that //foo:bar depends on and that //baz:lib does NOT depend on. "},{"title":"union(left: any value, right: any value)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#unionleft-any-value-right-any-value","content":"Computes the set union over the given arguments. Can be used with the + symbol. This operator is commutative. The parser treats all this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') union deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') + deps('//baz:lib')"Both return the aggregation of the targets that //foo:bar and //baz:lib depend on. "},{"title":"Uquery Environment","type":0,"sectionRef":"#","url":"/docs/users/query/uquery/","content":"","keywords":""},{"title":"Query Value Types​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#query-value-types","content":"string: For example, non_quoted_string or "quoted string". integer: Must be positive and fit in u32. target expression: either a literal or the return value of a function This could be a literal build target ("cell//some:target") or a pattern ("cell//package:" or "cell//recursive/...") or the result of another function that returns a target expression. For queries in CLI commands (like buck2 query), literals can be relative to the current working dir (like some:target or ...). file expression: either a literal or the return value of a function This could be a file literal like path/to/a.file or the return value of a function that returns files (for example, the buildfile() function). target or file expression: Either a file expression or target expression. This could be a literal like path/to/a.file or "cell//some:target", or the return value of a function that returns files or targets. query expression: a valid query expression, evaluated in a function-specific context This is used for functions that capture an expression and evaluate it in another context. For example, the deps() function can accept an expression that it uses to find the children of a node to customize the deps traversal. any value: Any query value. "},{"title":"Common query functions​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#common-query-functions","content":"allpaths(from: target expression, to: target expression): Computes all dependency paths. somepath(from: target expression, to: target expression) attrfilter(attr: string, value: string, targets: target expression): The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. nattrfilter(attr: string, value: string, targets: target expression) attrregexfilter(attr: string, value: string, targets: target expression) buildfile(targets: target expression) rbuildfiles(universe: file expression, argset: file expression) allbuildfiles(universe: target expression) deps(targets: target expression, depth: ?integer, captured_expr: ?query expression) filter(regex: string, set: target or file expression): Filter using regex partial match. inputs(targets: target expression) kind(regex: string, targets: target expression): The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. labels(attr: string, targets: target expression): This function is not implemented, and won't be, because buck2 query core does not support owner(files: file expression): The owner(inputfile) operator returns the targets that own the specified inputfile. targets_in_buildfile(files: file expression) rdeps(universe: target expression, targets: target expression, depth: ?integer) testsof(targets: target expression) first_order_deps(): A filter function that can be used in the query expression of deps query function. target_deps(): A filter function that can be used in the query expression of deps query function. exec_deps(): A filter function that can be used in the query expression of deps query function. configuration_deps(): A filter function that can be used in the query expression of deps query function. toolchain_deps(): A filter function that can be used in the query expression of deps query function. intersect(left: any value, right: any value): Computes the set intersection over the given arguments. except(left: any value, right: any value): Computes the arguments that are in argument A but not in argument B. union(left: any value, right: any value): Computes the set union over the given arguments. "},{"title":"allpaths(from: target expression, to: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#allpathsfrom-target-expression-to-target-expression","content":"Computes all dependency paths. The allpaths(from, to) function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value ofbuck query "allpaths('//foo:bar', '//foo/bar/lib:baz')"is the dependency graph rooted at the single target node //foo:bar, that includes all target nodes that depend (transitively) on //foo/bar/lib:baz. The two arguments to allpaths() can themselves be expressions. For example, the command:buck query "allpaths(kind(java_library, '//...'), '//foo:bar')"shows all the paths between any java_library in the repository and the target //foo:bar. We recommend using allpaths() with the --output-format=dot parameter to generate a graphviz file that can then be rendered as an image. For example: $ buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" --output-format=dot --output-file=result.dot $ dot -Tpng result.dot -o image.png Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs. "},{"title":"somepath(from: target expression, to: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#somepathfrom-target-expression-to-target-expression","content":""},{"title":"attrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#attrfilterattr-string-value-string-targets-target-expression","content":"The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps. If the attribute is a single value, say name, it is compared to the specified value, and the target is returned if they match.If the attribute is a list, the target is returned if that list contains the specified value.If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary. For example:buck2 query "attrfilter(deps, '//foo:bar', '//...')" returns the build targets in the repository that depend on //foo:bar, or more precisely: those build targets that include //foo:bar in their deps argument list. "},{"title":"nattrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#nattrfilterattr-string-value-string-targets-target-expression","content":""},{"title":"attrregexfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#attrregexfilterattr-string-value-string-targets-target-expression","content":""},{"title":"buildfile(targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#buildfiletargets-target-expression","content":""},{"title":"rbuildfiles(universe: file expression, argset: file expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#rbuildfilesuniverse-file-expression-argset-file-expression","content":""},{"title":"allbuildfiles(universe: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#allbuildfilesuniverse-target-expression","content":""},{"title":"deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#depstargets-target-expression-depth-integer-captured_expr-query-expression","content":""},{"title":"filter(regex: string, set: target or file expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#filterregex-string-set-target-or-file-expression","content":"Filter using regex partial match. Target are matched against their fully qualified name. Files are matched against their repo path like repo//foo/bar/baz.py. "},{"title":"inputs(targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#inputstargets-target-expression","content":""},{"title":"kind(regex: string, targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#kindregex-string-targets-target-expression","content":"The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. The specified pattern can be a regular expression. For example,buck2 query "kind('java.*', deps('//foo:bar'))" returns the targets that match the rule type java.* (java_library, java_binary, etc.) in the transitive dependencies of //foo:bar. "},{"title":"labels(attr: string, targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#labelsattr-string-targets-target-expression","content":"This function is not implemented, and won't be, because buck2 query core does not support returning both files and targets from a single function. In buck1 it returns targets and files referenced by the given attribute in the given targets. Some discussion in T126638795. "},{"title":"owner(files: file expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#ownerfiles-file-expression","content":"The owner(inputfile) operator returns the targets that own the specified inputfile. In this context, own means that the target has the specified file as an input. You could consider the owner() and inputs() operators to be inverses of each other. Example: buck2 query "owner('examples/1.txt')" returns the targets that owns the file examples/1.txt, which could be a value such as //examples:one. It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets. If no owner for the file is found, owner() outputs the message: No owner was found for <file> "},{"title":"targets_in_buildfile(files: file expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#targets_in_buildfilefiles-file-expression","content":""},{"title":"rdeps(universe: target expression, targets: target expression, depth: ?integer)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#rdepsuniverse-target-expression-targets-target-expression-depth-integer","content":""},{"title":"testsof(targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#testsoftargets-target-expression","content":""},{"title":"first_order_deps()​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#first_order_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to deps(<targets>, 1). Example:buck2 cquery "deps('//foo:bar', 1, first_order_deps())"`` is equivalent to buck2 cquery "deps('//foo:bar', 1)"` "},{"title":"target_deps()​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#target_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies) like compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, target_deps())"`` "},{"title":"exec_deps()​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#exec_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, exec_deps())"`` "},{"title":"configuration_deps()​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#configuration_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for configuration dependencies (that appear as conditions in selects). Example: `buck2 cquery "deps('//foo:bar', 1, configuration_deps())"`` "},{"title":"toolchain_deps()​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#toolchain_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for toolchain dependencies. Example: `buck2 cquery "deps('//foo:bar', 1, toolchain_deps())"`` "},{"title":"intersect(left: any value, right: any value)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#intersectleft-any-value-right-any-value","content":"Computes the set intersection over the given arguments. Can be used with the ^ symbol. This operator is commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') intersect deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') ^ deps('//baz:lib')"Both return the targets that appear in the transitive closure of //foo:bar and //baz:lib. "},{"title":"except(left: any value, right: any value)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#exceptleft-any-value-right-any-value","content":"Computes the arguments that are in argument A but not in argument B. Can be used with the - symbol. This operator is NOT commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') except deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') - deps('//baz:lib')"Both return the targets that //foo:bar depends on and that //baz:lib does NOT depend on. "},{"title":"union(left: any value, right: any value)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#unionleft-any-value-right-any-value","content":"Computes the set union over the given arguments. Can be used with the + symbol. This operator is commutative. The parser treats all this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') union deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') + deps('//baz:lib')"Both return the aggregation of the targets that //foo:bar and //baz:lib depend on. "},{"title":"Remote Execution","type":0,"sectionRef":"#","url":"/docs/users/remote_execution/","content":"","keywords":""},{"title":"RE configuration in .buckconfig​","type":1,"pageTitle":"Remote Execution","url":"/docs/users/remote_execution/#re-configuration-in-buckconfig","content":"Configuration for remote execution can be found under [buck2_re_client] in.buckconfig. Keys supported include: engine_address - address to your RE's engine.action_cache_address - address to your action cache endpoint.cas_address - address to your content-addressable storage (CAS) endpoint.tls_ca_certs - path to a CA certificates bundle. This must be PEM-encoded. If none is set, a default bundle will be used. This path contains environment variables using shell interpolation syntax (i.e. $VAR). They will be substituted before reading the file.tls_client_cert - path to a client certificate (and intermediate chain), as well as its associated private key. This must be PEM-encoded. This path can contain environment variables using shell interpolation syntax (i.e. $VAR). They will be substituted before reading the file.http_headers - HTTP headers to inject in all requests to RE. This is a comma-separated list of Header: Value pairs. Minimal validation of those headers is done here. This can contain environment variables using shell interpolation syntax ($VAR). They will be substituted before reading the file.instance_name - an instance name to pass on execution, action cache, and CAS requests. Buck2 uses SHA256 for all its hashing by default. If your RE engine requires something else, this can be configured in .buckconfig as follows: [buck2] # Accepts BLAKE3, SHA1, or SHA256 digest_algorithms = BLAKE3 "},{"title":"RE platform configuration​","type":1,"pageTitle":"Remote Execution","url":"/docs/users/remote_execution/#re-platform-configuration","content":"Next, your build will need anexecution platformthat specifies how and where actions should be executed. For a sample platform definition that sets up an execution platform to utilize RE, take a look at theEngFlow example,BuildBarn example, or theBuildBuddy example. To enable remote execution, configure the following fields inCommandExecutorConfigas follows: remote_enabled - set to True.local_enabled - set to True if you also want to run actions locally.use_limited_hybrid - set to False unless you want to exclusively run remotely when possible.remote_execution_properties - other additional properties. If the RE engine requires a container image, this can be done by settingcontainer-image to an image URL, as is done in the example above. "},{"title":"Rules","type":0,"sectionRef":"#","url":"/docs/prelude/globals/","content":"","keywords":""},{"title":"android_aar​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_aar","content":"def android_aar( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _is_building_android_binary: bool = _, _is_force_single_cpu: bool = _, _is_force_single_default_cpu: bool = _, _java_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processing_tool: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, build_config_values: list[str] = _, build_config_values_file: None | str = _, compress_asset_libraries: bool = _, contacts: list[str] = _, cpu_filters: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, enable_relinker: bool = _, excluded_java_deps: list[str] = _, extra_arguments: list[str] = _, extra_kotlinc_arguments: list[str] = _, friend_paths: list[str] = _, include_build_config_class: bool = _, java_version: None | str = _, javac: None | str = _, kotlin_compiler_plugins: dict[str, dict[str, str]] = _, labels: list[str] = _, language: None | str = _, licenses: list[str] = _, manifest: None | str = _, manifest_file: None | str = _, manifest_skeleton: str, maven_coords: None | str = _, min_sdk_version: None | int = _, native_library_merge_code_generator: None | str = _, native_library_merge_glue: None | str = _, native_library_merge_linker_args: None | dict[str, list[str]] = _, native_library_merge_localized_symbols: None | list[str] = _, native_library_merge_map: None | dict[str, list[str]] = _, native_library_merge_sequence: None | list[typing.Any] = _, native_library_merge_sequence_blocklist: None | list[str] = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, package_asset_libraries: bool = _, package_resources: bool = _, plugins: list[str] = _, proguard_config: None | str = _, relinker_whitelist: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resource_union_package: None | str = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, strip_libraries: bool = _, target: None | str = _, use_jvm_abi_gen: None | bool = _ ) -> None An android_aar() rule is used to generate an Android AAR. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebuild_config_values: See the documentation on the values argument for android_build_config().include_build_config_class: Whether to include the BuildConfig class files in the final .aar file. Needs to be set to True if any build_config_values are specified. This is normally only needed if the build tool that is consuming the .aar file does not generate BuildConfig classes. Note: the AAR format does not specify a way to pass defaults that should be injected into the final BuildConfig class, therefore that information might need to be replicated manually in the build that's consuming the .aar file.manifest_skeleton: The skeleton manifest file used to generate the final AndroidManifest.xml . May either be a file or an android_manifest() target.remove_classes: List of classes to remove from the output aar. It removes classes from the target's own sources, and its dependencies. Details​ See the official Android documentation for details about the .aar format. Examples: android_resource( name = 'res', res = 'res', assets = 'assets', package = 'com.example', ) android_library( name = 'lib', srcs = glob(['**/*.java']), ) android_aar( name = 'app', manifest_skeleton = 'AndroidManifestSkeleton.xml', deps = [ ':res', ':lib', ], ) "},{"title":"android_app_modularity​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_app_modularity","content":"def android_app_modularity( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, application_module_blacklist: None | list[str] = _, application_module_configs: dict[str, list[str]] = _, application_module_dependencies: None | dict[str, list[str]] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, no_dx: list[str] = _, should_include_classes: bool = _, should_include_libraries: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"android_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_binary","content":"def android_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _is_force_single_cpu: bool = _, _is_force_single_default_cpu: bool = _, _java_toolchain: str = _, aapt2_keep_raw_values: bool = _, aapt2_locale_filtering: bool = _, aapt2_preferred_density: None | str = _, aapt_mode: str = _, additional_aapt_params: list[str] = _, allow_r_dot_java_in_secondary_dex: bool = _, allowed_duplicate_resource_types: list[str] = _, android_sdk_proguard_config: None | str = _, application_module_blacklist: None | list[str] = _, application_module_configs: dict[str, list[str]] = _, application_module_dependencies: None | dict[str, list[str]] = _, asset_compression_algorithm: None | str = _, banned_duplicate_resource_types: list[str] = _, buck2_compatibility: str = _, build_config_values: list[str] = _, build_config_values_file: None | str = _, build_string_source_map: bool = _, compress_asset_libraries: bool = _, constraint_overrides: list[str] = _, contacts: list[str] = _, cpu_filters: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, dex_compression: None | str = _, dex_group_lib_limit: int = _, dex_tool: str = _, disable_pre_dex: bool = _, duplicate_resource_behavior: str = _, duplicate_resource_whitelist: None | str = _, enable_relinker: bool = _, exopackage_modes: list[str] = _, extra_filtered_resources: list[str] = _, extra_no_compress_asset_extensions: list[str] = _, field_ref_count_buffer_space: int = _, ignore_aapt_proguard_config: bool = _, includes_vector_drawables: bool = _, is_cacheable: bool = _, is_voltron_language_pack_enabled: bool = _, keystore: str, labels: list[str] = _, licenses: list[str] = _, linear_alloc_hard_limit: int = _, locales: list[str] = _, manifest: None | str = _, manifest_entries: dict[str, typing.Any] = _, manifest_skeleton: None | str = _, method_ref_count_buffer_space: int = _, min_sdk_version: None | int = _, minimize_primary_dex_size: bool = _, module_manifest_skeleton: None | str = _, native_library_merge_code_generator: None | str = _, native_library_merge_glue: None | str = _, native_library_merge_linker_args: None | dict[str, list[str]] = _, native_library_merge_localized_symbols: None | list[str] = _, native_library_merge_map: None | dict[str, list[str]] = _, native_library_merge_sequence: None | list[typing.Any] = _, native_library_merge_sequence_blocklist: None | list[str] = _, no_auto_add_overlay_resources: bool = _, no_auto_version_resources: bool = _, no_dx: list[str] = _, no_version_transitions_resources: bool = _, optimization_passes: int = _, package_asset_libraries: bool = _, package_type: str = _, packaged_locales: list[str] = _, packaging_options: dict[str, list[str]] = _, post_filter_resources_cmd: None | str = _, preprocess_java_classes_bash: None | str = _, preprocess_java_classes_cmd: None | str = _, preprocess_java_classes_deps: list[str] = _, primary_dex_patterns: list[str] = _, proguard_config: None | str = _, proguard_jvm_args: list[str] = _, relinker_whitelist: list[str] = _, resource_compression: str = _, resource_filter: list[str] = _, resource_stable_ids: None | str = _, resource_union_package: None | str = _, secondary_dex_weight_limit: None | int = _, skip_crunch_pngs: None | bool = _, skip_proguard: bool = _, strip_libraries: bool = _, trim_resource_ids: bool = _, use_split_dex: bool = _, validation_deps: list[str] = _, xz_compression_level: int = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"android_build_config​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_build_config","content":"def android_build_config( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _is_building_android_binary: bool = _, _java_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, package: str = _, values: list[str] = _, values_file: None | str = _ ) -> None An android_build_config() rule is used to generate a BuildConfig class with global configuration variables that other android_library() rules can compile against. Currently, the only variable exposed by BuildConfig is a global boolean named DEBUG, much like the BuildConfig.java generated by the official Android build tools based on Gradle. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one package: Name of the Java package to use in the generated BuildConfig.java file. Most developers set this to the application id declared in the manifest via <manifest package="APP_ID">. Example: com.facebook.orca. values: List of strings that defines additional fields (and values) that should be declared in the generated BuildConfig.java file. Like DEBUG, the values will be non-constant-expressions that evaluate to the value specified in the file at compilation time. To override the values in an APK, specify build_config_values or build_config_values_file in android_binary(). values_file: Optional path to a file that defines additional fields (and values) that should be declared in the generated BuildConfig.java file. Like DEBUG, the values will be non-constant-expressions that evaluate to the value specified in the file at compilation time. To override the values in an APK, specify build_config_values or build_config_values_file in android_binary(). Note that values_file can be a generated file, as can build_config_values_file as demonstrated in the example below. Details​ The fields in the generated BuildConfig class will be non-constant-expressions (see JLS 15.28). However, if BuildConfig is packaged into an APK, it will be replaced with a new version where: The fields will be set to literal values (i.e., constant expressions).The boolean BuildConfig.DEBUG field will correspond to that of the package_type argument to the android_binary() rule that is packaging it. This transformation is done before ProGuard is applied (if applicable), so that it can propagate constants from BuildConfig and eliminate dead code. Examples: Here is an example of an android_build_config() rule that is transitively included by both debug and release versions of an android_binary() rule. The value of com.example.pkg.BuildConfig.DEBUG will be different in each APK even though they both transitively depend on the same :build_config rule. android_build_config( name = 'build_config', package = 'com.example.pkg', values = [ 'String COMMIT_ID = "0000000000000000000000000000000000000000"', ], ) # The .java files in this library may contain references to the boolean # com.example.pkg.BuildConfig.DEBUG because :build_config is in the deps. # It could also reference BuildConfig.COMMIT_ID. android_library( name = 'mylib', srcs = glob(['src/**/*.java']), deps = [ ':build_config', ], ) android_binary( name = 'debug', package_type = 'DEBUG', keystore = '//keystores:debug', manifest = 'AndroidManifest.xml', target = 'Google Inc.:Google APIs:19', deps = [ ':mylib', ], ) # The contents of the file generated by this rule might be: # # String COMMIT_ID = "7bf804bdf71fdbfc99cce3b155b3643f022c6fa4" # # Note that the output of :build_config_release_values will be cached by Buck. # Assuming that generate_release_build_config.py depends on state that is not # expressed by its deps (which violates a fundamental invariant in Buck!), a # workaround is to ensure that the inputs to :build_config_release_values are # changed in some way before :release is built to ensure that the output from # :build_config_release_values is not pulled from cache. For example: # # $ buck build :release # $ uuidgen > dummy_state_file.txt # $ buck build :release # # This makes sure that generate_release_build_config.py is re-run before # :release is rebuilt. This is much cheaper than deleting your build cache # before rebuilding. genrule( name = 'build_config_release_values', srcs = [ 'generate_release_build_config.py', 'dummy_state_file.txt' ], bash = 'generate_release_build_config.py $OUT', out = 'build_config_release_values.txt', ) android_binary( name = 'release', package_type = 'RELEASE', keystore = '//keystores:release', manifest = 'AndroidManifest.xml', target = 'Google Inc.:Google APIs:19', build_config_values_file = ':build_config_release_values', deps = [ ':mylib', ], ) "},{"title":"android_bundle​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_bundle","content":"def android_bundle( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _is_force_single_cpu: bool = _, _is_force_single_default_cpu: bool = _, _java_toolchain: str = _, aapt2_keep_raw_values: bool = _, aapt2_locale_filtering: bool = _, aapt2_preferred_density: None | str = _, aapt_mode: str = _, additional_aapt_params: list[str] = _, allow_r_dot_java_in_secondary_dex: bool = _, allowed_duplicate_resource_types: list[str] = _, android_sdk_proguard_config: None | str = _, application_module_blacklist: None | list[str] = _, application_module_configs: dict[str, list[str]] = _, application_module_dependencies: None | dict[str, list[str]] = _, asset_compression_algorithm: None | str = _, banned_duplicate_resource_types: list[str] = _, buck2_compatibility: str = _, build_config_values: list[str] = _, build_config_values_file: None | str = _, build_string_source_map: bool = _, bundle_config_file: None | str = _, compress_asset_libraries: bool = _, contacts: list[str] = _, cpu_filters: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, dex_compression: None | str = _, dex_group_lib_limit: int = _, dex_tool: str = _, disable_pre_dex: bool = _, duplicate_resource_behavior: str = _, duplicate_resource_whitelist: None | str = _, enable_relinker: bool = _, exopackage_modes: list[str] = _, extra_filtered_resources: list[str] = _, extra_no_compress_asset_extensions: list[str] = _, field_ref_count_buffer_space: int = _, ignore_aapt_proguard_config: bool = _, includes_vector_drawables: bool = _, is_cacheable: bool = _, is_voltron_language_pack_enabled: bool = _, keystore: str, labels: list[str] = _, licenses: list[str] = _, linear_alloc_hard_limit: int = _, locales: list[str] = _, manifest: None | str = _, manifest_entries: dict[str, typing.Any] = _, manifest_skeleton: None | str = _, method_ref_count_buffer_space: int = _, min_sdk_version: None | int = _, minimize_primary_dex_size: bool = _, module_manifest_skeleton: None | str = _, native_library_merge_code_generator: None | str = _, native_library_merge_glue: None | str = _, native_library_merge_linker_args: None | dict[str, list[str]] = _, native_library_merge_localized_symbols: None | list[str] = _, native_library_merge_map: None | dict[str, list[str]] = _, native_library_merge_sequence: None | list[typing.Any] = _, native_library_merge_sequence_blocklist: None | list[str] = _, no_auto_add_overlay_resources: bool = _, no_auto_version_resources: bool = _, no_dx: list[str] = _, no_version_transitions_resources: bool = _, optimization_passes: int = _, package_asset_libraries: bool = _, package_type: str = _, packaged_locales: list[str] = _, packaging_options: dict[str, list[str]] = _, post_filter_resources_cmd: None | str = _, preprocess_java_classes_bash: None | str = _, preprocess_java_classes_cmd: None | str = _, preprocess_java_classes_deps: list[str] = _, primary_dex_patterns: list[str] = _, proguard_config: None | str = _, proguard_jvm_args: list[str] = _, relinker_whitelist: list[str] = _, resource_compression: str = _, resource_filter: list[str] = _, resource_stable_ids: None | str = _, resource_union_package: None | str = _, secondary_dex_weight_limit: None | int = _, skip_crunch_pngs: None | bool = _, skip_proguard: bool = _, trim_resource_ids: bool = _, use_derived_apk: bool = _, use_split_dex: bool = _, validation_deps: list[str] = _, xz_compression_level: int = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"android_instrumentation_apk​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_instrumentation_apk","content":"def android_instrumentation_apk( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _is_force_single_cpu: bool = _, _is_force_single_default_cpu: bool = _, _java_toolchain: str = _, aapt_mode: str = _, apk: str, buck2_compatibility: str = _, contacts: list[str] = _, cpu_filters: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, dex_tool: str = _, disable_pre_dex: bool = _, includes_vector_drawables: bool = _, is_self_instrumenting: bool = _, labels: list[str] = _, licenses: list[str] = _, manifest: None | str = _, manifest_skeleton: None | str = _, min_sdk_version: None | int = _, native_library_merge_map: None | dict[str, list[str]] = _, native_library_merge_sequence: None | list[typing.Any] = _, preprocess_java_classes_bash: None | str = _, preprocess_java_classes_cmd: None | str = _, preprocess_java_classes_deps: list[str] = _, primary_dex_patterns: list[str] = _, use_split_dex: None | bool = _ ) -> None An android_instrumentation_apk() rule is used to generate an Android Instrumentation APK. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one Details​ Android's Testing Fundamentals documentation includes a diagram that shows the relationship between an "application package" and a "test package" when running a test. This rule corresponds to a test package. Note that a test package has an interesting quirk where it is compiled against an application package, but must not include the resources or Java classes of the application package. Therefore, this class takes responsibility for making sure the appropriate bits are excluded. Failing to do so will generate mysterious runtime errors when running the test. Examples: Here is an example of an android_instrumentation_apk() rule that tests an android_binary(), and depends on a test package. android_library( name = 'test', srcs = glob(['test/**/*.java']), ) android_binary( name = 'messenger', manifest = 'AndroidManifest.xml', keystore = '//keystores:prod', package_type = 'release', proguard_config = 'proguard.cfg', deps = [ ... ], ) # Building this rule will produce a file named messenger_test.apk android_instrumentation_apk( name = 'messenger_test', manifest = 'AndroidInstrumentationManifest.xml', apk = ':messenger', deps = [ ':test', ], ) "},{"title":"android_instrumentation_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_instrumentation_test","content":"def android_instrumentation_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _inject_test_env: str = _, _java_test_toolchain: str = _, _java_toolchain: str = _, apk: str, buck2_compatibility: str = _, clear_package_data: bool = _, collect_tombstones: bool = _, contacts: list[str] = _, default_host_platform: None | str = _, disable_animations: bool = _, env: dict[str, str] = _, extra_instrumentation_args: None | dict[str, str] = _, instrumentation_test_listener: None | str = _, instrumentation_test_listener_class: None | str = _, is_self_instrumenting: bool = _, labels: list[str] = _, licenses: list[str] = _, log_extractors: dict[str, str] = _, re_caps: None | dict[str, dict[str, str]] = _, re_use_case: None | dict[str, str] = _, record_video: bool = _, test_rule_timeout_ms: None | int = _ ) -> None An android_instrumentation_test() rule is used to define apks that should be used to run Android instrumentation tests. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneapk: The APK containing the tests. Can be an android_binary(), an apk_genrule() or an android_instrumentation_apk().clear_package_data: Runs pm clear on the app and test packages before the test run if set to True.collect_tombstones: Checks whether the test generated any tombstones, and downloads them from the emulator if true.disable_animations: Disables animations on the emulator if set to True.labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck testrecord_video: Record video of test run and collect it as TRAtest_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . Details​ Examples: Here is an example of an android_instrumentation_test()rule that tests an android_binary(). android_binary( name = 'messenger', manifest = 'AndroidManifest.xml', keystore = '//keystores:prod', package_type = 'release', proguard_config = 'proguard.cfg', deps = [ ... ], ) android_instrumentation_apk( name = 'messenger_test', manifest = 'AndroidInstrumentationManifest.xml', apk = ':messenger', deps = [ ... ], ) android_instrumentation_test( name = 'messenger_instrumentation_test', apk = ':messenger_test', ) "},{"title":"android_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_library","content":"def android_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _dex_min_sdk_version: None | int = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _java_toolchain: str = _, _kotlin_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, android_optional_jars: None | list[str] = _, annotation_processing_tool: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_kotlinc_arguments: list[str] = _, friend_paths: list[str] = _, incremental: bool = _, jar_postprocessor: None | str = _, java_version: None | str = _, javac: None | str = _, k2: bool = _, kotlin_compiler_plugins: dict[str, dict[str, str]] = _, labels: list[str] = _, language: None | str = _, licenses: list[str] = _, manifest: None | str = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, provided_deps_query: None | str = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resource_union_package: None | str = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _, use_jvm_abi_gen: None | bool = _, validation_deps: list[str] = _ ) -> None An android_library() rule is used to define a set of Java files that can be compiled together against the Android SDK. The main output of an android_library() rule is a single JAR file containing all of the compiled class files and resources. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one annotation_processing_tool: Specifies the tool to use for annotation processing. Possible values: "kapt" or "javac". "kapt" allows running Java annotation processors against Kotlin sources while backporting it for Java sources too. "javac" works only against Java sources, Kotlin sources won't have access to generated classes at compile time. deps: Rules (usually other android_library rules) that are used to generate the classpath required to compile this android_library. exported_deps: Other rules that depend on this rule will also include its exported_deps in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of prebuilt_jar rules as a single target for callers to depend on. Targets in exported_deps are implicitly included in the deps of this rule, so they don't need to be repeated there. exported_provided_deps: This is a combination of provided_deps and exported_deps. Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target. extra_arguments: List of additional arguments to pass into the Java compiler. These arguments follow the ones specified in .buckconfig. extra_kotlinc_arguments: List of additional arguments to pass into the Kotlin compiler. incremental: Enables Kotlin incremental compilation. k2: Enables the Kotlin K2 compiler. manifest: An optional Android Manifest for the to declare any permissions or intents it may need or want to handle. May either be a file or an android_manifest() target. provided_deps: These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of provided_deps include the JEE servlet APIs. When this rule is included in a , the provided_deps will not be packaged into the output. provided_deps_query: Status: experimental/unstable. The provided deps query functions in the same way as the deps query, but the referenced deps using $declared are the provided deps of the target, and the results of the query are appended to the declared provided deps. remove_classes: List of classes to remove from the output jar. It only removes classes from the target's own sources, not from any of its dependencies. required_for_source_only_abi: Indicates that this rule must be present on the classpath during source-only ABI generation of any rule that depends on it. Typically this is done when a rule contains annotations, enums, constants, or interfaces. Having rules present on the classpath during source-only ABI generation prevents Buck from completely flattening the build graph, thus reducing the performance win from source-only ABI generation. These rules should be kept small (ideally just containing annotations, constants, enums, and interfaces) and with minimal dependencies of their own. resources: Static files to include among the compiled .class files. These files can be loaded via Class.getResource(). Note: Buck uses the src_roots property in.buckconfigto help determine where resources should be placed within the generated JAR file. source: Specifies the version of Java (as a string) to interpret source files as. Overrides the value in "source_level" in the "java" section of .buckconfig. source_only_abi_deps: These are dependencies that must be present during source-only ABI generation. Typically such dependencies are added when some property of the code in this rule prevents source-only ABI generation from being correct without these dependencies being present. Having source_only_abi_deps prevents Buck from completely flattening the build graph, thus reducing the performance win from source-only ABI generation. They should be avoided when possible. Often only a small code change is needed to avoid them. For more information on such code changes, read aboutsource-only ABI generation. srcs: The set of .java files to compile for this rule. target: Specifies the version of Java (as a string) for which to generate code. Overrides the value in "target_level" in the "java" section of .buckconfig. Details​ Examples: An android_library rule used in concert with anandroid_resource() rule. This would be a common arrangement for a standard Android Library project as defined byhttp://developer.android.com/tools/projects/index.html android_resource( name = 'res', res = 'res', package = 'com.example', ) android_library( name = 'my_library', srcs = glob(['src/**/*.java']), deps = [ ':res', ], ) "},{"title":"android_manifest​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_manifest","content":"def android_manifest( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, skeleton: str ) -> None An android_manifest() rule is used to generate an Android Manifest to be used by android_binary() and android_aar() rules. This rule takes a skeleton manifest, and merges it with manifests found in any deps. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: A collection of dependencies that includes android_library rules. The manifest files of the android_library() rules will be filtered out to become dependent source files for the manifest.skeleton: Either a build target or a path to a file representing the manifest that will be merged with any manifests associated with this rule's deps. Details​ Examples: Here's an example of an android_manifest() that has no deps. android_manifest( name = 'my-manifest', skeleton = 'AndroidManifestSkeleton.xml', ) This is what AndroidManifestSkeleton.xml looks like. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example" android:versionCode="1" android:versionName="1.0"> <uses-sdk targetSdkVersion="19" minSdkVersion="17"/> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <activity android:name="MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest> You could also use a genrule() to generate the manifest file and reference thebuild target in the skeleton argument. "},{"title":"android_platform​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_platform","content":"def android_platform( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, base_platform: str, buck2_compatibility: str = _, native_platforms: dict[str, str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"android_prebuilt_aar​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_prebuilt_aar","content":"def android_prebuilt_aar( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _dex_min_sdk_version: None | int = _, _dex_toolchain: str = _, _exec_os_type: str = _, _java_toolchain: str = _, aar: str, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, desugar_deps: list[str] = _, for_primary_apk: bool = _, javadoc_url: None | str = _, labels: list[str] = _, licenses: list[str] = _, maven_coords: None | str = _, required_for_source_only_abi: bool = _, source_jar: None | str = _, use_system_library_loader: bool = _ ) -> None An android_prebuilt_aar() rule takes an .aar file and makes it available as an Android dependency. As expected, an android_binary() that transitively depends on an android_prebuilt_aar() will include its contents in the generated APK. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneaar: Path to the .aar file. This may also be a build target to a rule (such as a genrule()) whose output is an .aar file.javadoc_url: URL to the Javadoc for the .class files in the aar.source_jar: Path to a JAR file that contains the .java files to create the .class in the aar. This is frequently provided for debugging purposes.use_system_library_loader: If this .aar file contains native prebuilt .so libraries and the Java code uses these libraries via a call to System.loadLibrary(), then many optimizations—such as exopackage, compression, or asset packaging—may not be compatible with these prebuilt libs. Setting this parameter to True causes all of these optimizations to skip the prebuilt .so files originating from this .aar file. The .so files will always be packaged directly into the main .apk. Details​ See the official Android documentation for details about the .aar format. Examples: android_prebuilt_aar( name = 'play-services', aar = 'play-services-4.0.30.aar', source_jar = 'play-services-4.0.30-sources.jar', javadoc_url = 'file:///opt/android-sdk/extras/google/google_play_services/docs/reference', ) android_library( name = 'lib', # This Java code can compile against Play services and reference its resources. srcs = glob(['*.java']), deps = [ ':play-services' ], ) "},{"title":"android_resource​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_resource","content":"def android_resource( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, allowlisted_locales: None | list[str] = _, assets: None | str | dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, has_whitelisted_strings: bool = _, labels: list[str] = _, licenses: list[str] = _, manifest: None | str = _, package: None | str = _, project_assets: None | str = _, project_res: None | str = _, res: None | str | dict[str, str] = _, resource_union: bool = _ ) -> None An android_resource() rule is used to bundle Android resources that are traditionally stored in res and assets directories. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: Other android_resource rules to include via -S when running aapt.manifest: An optional Android Manifest for the to declare any permissions or intents it may need or want to handle. May either be a file or an android_manifest() target.package: Java package for the R.java file that will be generated for these resources. Details​ The output of an android_resource() is an R.txt file generated via aapt --output-text-symbols. Examples: Most of the time, an android_resource rule defines only name, res, and package. By convention, such simple rules are often named res: android_resource( name = 'res', res = subdir_glob([('res', '**')]), package = 'com.example', ) "},{"title":"apk_genrule​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apk_genrule","content":"def apk_genrule( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _genrule_toolchain: str = _, _java_toolchain: str = _, aab: None | str = _, always_print_stderr: bool = _, apk: None | str = _, bash: None | str = _, buck2_compatibility: str = _, cacheable: None | bool = _, cmd: None | str = _, cmd_exe: None | str = _, contacts: list[str] = _, default_host_platform: None | str = _, default_outs: None | list[str] = _, enable_sandbox: None | bool = _, environment_expansion_separator: None | str = _, is_cacheable: bool = _, keystore: None | str = _, labels: list[str] = _, licenses: list[str] = _, metadata_env_var: None | str = _, metadata_path: None | str = _, need_android_tools: bool = _, no_outputs_cleanup: bool = _, out: None | str = _, outs: None | dict[str, list[str]] = _, remote: None | bool = _, remote_execution_dependencies: list[dict[str, str]] = _, srcs: list[str] | dict[str, str] = _, type: str = _, use_derived_apk: bool = _, weight: None | int = _ ) -> None An apk_genrule() rule is used to post-process an APK. What separates an apk_genrule from a genrule is apk_genrules are known by BUCK to produce APKs, so commands like buck install or buck uninstall still work. Additionally, apk_genrule() rules can be inputs to other apk_genrule() rules. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one aab: The input android_binary() rule. The path to the AAB can be accessed with the $AAB shell variable. Only one of apk or aab can be provided. apk: The input android_binary() rule. The path to the APK can be accessed with the $APK shell variable. Only one of apk or aab can be provided. bash: A platform-specific version of the shell command parameter cmd. It runs on Linux and UNIX systems—including OSX—on which bash is installed. It has a higher priority than cmd. The bash argument is run with /usr/bin/env bash -c. It has access to the same set of macros and variables as the cmd argument. cmd: The shell command to run to generate the output file. It is the fallback for bash and cmd_exe arguments. The following environment variables are populated by Buck and available to the shell command. They are accessed using the syntax: ${<variable>} Example: ${SRCS} ${SRCS} A string expansion of the srcs argument delimited by the environment_expansion_separator argument where each element of srcs will be translated into a relative path. ${SRCDIR} The relative path to a directory to which sources are copied prior to running the command. ${OUT} The output file or directory for the genrule(). This variable will have whatever value is specified by the out argument if not using named outputs. If using named outputs, this variable will be the output directory. The value should be a valid filepath. The semantics of the shell command determine whether this filepath is treated as a file or a directory. If the filepath is a directory, then the shell command needs to create it if not using named outputs. Otherwise, it will be automatically created. All outputs (directories and files) must be readable, writable, and (in the case of directories) executable by the current user. The file or directory specified by this variable must always be written by this command. If not, the execution of this rule will be considered a failure, halting the build process. ${TMP} A temporary directory which can be used for intermediate results and will not be bundled into the output. cmd_exe: A platform-specific version of the shell command parameter cmd. It runs on Windows and has a higher priority than cmd. The cmd_exe argument is run with cmd.exe /v:off /c. It has access to the same set of macros and variables as the cmd argument. environment_expansion_separator: The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces. out: The name of the output file or directory. The complete path to this argument is provided to the shell command through the OUT environment variable. Only one of out or outs may be present. For an apk_genrule the output should be a '.apk' or '.aab' file. srcs: Either a list or a map of the source files which Buck makes available to the shell command at the path in the SRCDIR environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names. weight: How many local slots these genrule should take when executing locally. Details​ Examples: Here is an example of a couple apk_genrule() open up an APK, do some super signing, and then zipalign that APK again. # Building this rule will produce a file named messenger.apk. android_binary( name = 'messenger', manifest = 'AndroidManifest.xml', target = 'Google Inc.:Google APIs:16', keystore = '//keystores:prod', package_type = 'release', proguard_config = 'proguard.cfg', deps = [ ':res', ':src', ], ) apk_genrule( name = 'messenger_super_sign_unalign', apk = ':messenger', bash = '$(exe //java/com/facebook/sign:super_sign) --input $APK --output $OUT', cmd_exe = '$(exe //java/com/facebook/sign:super_sign) --input %APK% --output %OUT%', out = 'messenger_super_sign_unalign.apk', ) apk_genrule( name = 'messenger_super_sign', apk = ':messenger_super_sign_unalign', bash = '$ANDROID_HOME/tools/zipalign -f 4 $APK $OUT', cmd_exe = '%ANDROID_HOME%\\tools\\zipalign -f 4 %APK% %OUT%', out = 'messenger_super_sign.apk', ) "},{"title":"apple_asset_catalog​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_asset_catalog","content":"def apple_asset_catalog( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, app_icon: None | str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, dirs: list[str] = _, labels: list[str] = _, launch_image: None | str = _, licenses: list[str] = _, skip_universal_resource_dedupe: bool = _ ) -> None An apple_asset_catalog() rule contains resources stored in Apple asset catalog directories. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an apple_bundle() rule, in which case all apple_asset_catalog() rules that the bundle rule depends on are merged and placed into the final output bundle together. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneapp_icon: An optional reference to a .appiconset containing a image set representing an application icon. (The extension itself should not be included.) This parameter may be specified at most once in a given apple_bundle's transitive dependencies.launch_image: An optional reference to a .launchimage containing a image set representing an application launch image. (The extension itself should not be included.) This parameter may be specified at most once in a given apple_bundle's transitive dependencies. Details​ Examples: apple_asset_catalog( name = 'MyAssetCatalog', dirs = [ 'MyResources.xcassets', ], ) # A asset catalog with a app icon and launch image apple_asset_catalog( name = 'AssetCatalog', dirs = [ 'AssetCatalog.xcassets' ], app_icon = 'Icon', launch_image = 'LaunchImage', ) "},{"title":"apple_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_binary","content":"def apple_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _apple_xctoolchain: str = _, _apple_xctoolchain_bundle_id: str = _, _dsymutil_extra_flags: list[str], _enable_library_evolution: bool = _, _stripped_default: bool = _, allow_cache_upload: None | bool = _, attrs_validators: dict[str, (list[str], str)] = _, binary_linker_flags: list[str] = _, bridging_header: None | str = _, buck2_compatibility: str = _, can_be_asset: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, devirt_enabled: bool = _, diagnostics: dict[str, str] = _, enable_cxx_interop: bool = _, enable_distributed_thinlto: bool = _, enable_library_evolution: None | bool = _, entitlements_file: None | str = _, executable_name: None | str = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extra_xcode_files: list[str] = _, extra_xcode_sources: list[str] = _, fat_lto: bool = _, focused_list_target: None | str = _, force_static: None | bool = _, frameworks: list[str] = _, header_namespace: None | str = _, header_path_prefix: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, import_obj_c_forward_declarations: bool = _, include_directories: list[str] = _, info_plist: None | str = _, info_plist_substitutions: dict[str, str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_public_deps_label: None | str = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: None | bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, modular: bool = _, module_name: None | str = _, module_requires_cxx: bool = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, preferred_linkage: str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, propagated_target_sdk_version: None | str = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, reexport_all_header_dependencies: None | bool = _, sanitizer_runtime_enabled: None | bool = _, sdk_modules: list[str] = _, serialize_debugging_options: bool = _, soname: None | str = _, srcs: list[str | (str, list[str])] = _, static_library_basename: None | str = _, stripped: None | bool = _, supported_platforms_regex: None | str = _, supports_merged_linking: None | bool = _, swift_compilation_mode: str = _, swift_compiler_flags: list[str] = _, swift_package_name: None | str = _, swift_version: None | str = _, target_sdk_version: None | str = _, thin_lto: bool = _, use_submodules: bool = _, uses_cxx_explicit_modules: bool = _, uses_explicit_modules: bool = _, uses_modules: bool = _, validation_deps: list[str] = _ ) -> None An apple_binary() rule builds a native executable - such as an iOS or OSX app - from the supplied set of Objective-C/C++ source files and dependencies. It is similar to a cxx_binary() rule with which it shares many attributes. In addition to those common attributes, apple_binary() has a some additional attributes that are specific to binaries intended to be built using the Apple toolchain. Note, however, that apple_binary() and cxx_binary() differ in the way that they import header files, in order to better accommodate existing conventions. See the sections for the headers and exported_headers attributes for more details. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). compiler_flags: Flags to use when compiling any of the above sources (which require compilation). entitlements_file: An optional name of a plist file to be embedded in the binary. Some platforms like iphonesimulator require this to run properly. exported_headers: The set of header files that are made available for inclusion to the source files in this target and all targets that transitively depend on this one. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or, if a header file that belongs to the same rule is being imported, with #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets. exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation. extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources". frameworks: A list of system frameworks that the code in this target uses. Each entry should be a path starting with $SDKROOT or $PLATFORM_DIR to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory. header_path_prefix: A path prefix when including headers of this target. For example, headers from a library defined using apple_library( name = "Library", headers = glob(["**/*.h"]), header_path_prefix = "Lib", ) can be imported using following mapping Library/SubDir/Header1.h -> Lib/Header1.h Library/Header2.h -> Lib/Header2.h Defaults to the short name of the target. Can contain forward slashes (/), but cannot start with one. See headers for more information. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets. link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information. platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation. platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). target_sdk_version: The minimum OS version that the library target should support, overriding the minimum set in .buckconfig. When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks. Details​ Buck enables you to override components of the Apple toolchain with alternate tools, either from the Xcode search paths or from directories that you specify. See .buckconfigand .buckconfigfor more information. Examples: apple_binary( name = 'MyBinary', deps = [ ':MyLibrary', '//Libraries:AnotherLibrary', ], preprocessor_flags = ['-fobjc-arc'], headers = [ 'MyHeader.h', ], srcs = [ 'MySource.m', ], frameworks = [ '$SDKROOT/System/Library/Frameworks/UIKit.framework', '$SDKROOT/System/Library/Frameworks/Foundation.framework', ], ) "},{"title":"apple_bundle​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_bundle","content":"def apple_bundle( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _apple_xctoolchain: str = _, _apple_xctoolchain_bundle_id: str = _, _bundling_cache_buster: None | str = _, _bundling_log_file_enabled: bool = _, _bundling_log_file_level: None | str = _, _code_signing_configuration: None | str = _, _codesign_entitlements: None | str = _, _codesign_identities_command_override: None | str = _, _codesign_type: None | str = _, _compile_resources_locally_override: None | bool = _, _dsymutil_extra_flags: list[str], _embed_provisioning_profile_when_adhoc_code_signing: None | bool = _, _fast_adhoc_signing_enabled_default: bool = _, _fast_provisioning_profile_parsing_enabled: bool = _, _incremental_bundling_enabled: bool = _, _info_plist_identify_build_system_default: bool = _, _profile_bundling_enabled: bool = _, _provisioning_profiles: str = _, _resource_bundle: None | str = _, _strict_provisioning_profile_search_default: bool = _, _use_entitlements_when_adhoc_code_signing: None | bool = _, asset_catalogs_compilation_options: dict[str, typing.Any] = _, binary: None | str = _, buck2_compatibility: str = _, bundle_type: None | str = _, codesign_flags: list[str] = _, codesign_identity: None | str = _, codesign_type: None | str = _, contacts: list[str] = _, copy_public_framework_headers: None | bool = _, default_host_platform: None | str = _, default_platform: None | str = _, deps: list[str] = _, embed_provisioning_profile_when_adhoc_code_signing: bool = _, extension: str, fast_adhoc_signing_enabled: None | bool = _, ibtool_flags: None | list[str] = _, ibtool_module_flag: None | bool = _, incremental_bundling_enabled: None | bool = _, info_plist: str, info_plist_identify_build_system: None | bool = _, info_plist_substitutions: dict[str, str] = _, labels: list[str] = _, licenses: list[str] = _, module_map: None | str = _, platform_binary: None | list[(str, str)] = _, privacy_manifest: None | str = _, product_name: None | str = _, propagated_target_sdk_version: None | str = _, provisioning_profile_filter: None | str = _, resource_group: None | str = _, resource_group_map: None | str = _, selective_debugging: None | str = _, skip_copying_swift_stdlib: None | bool = _, split_arch_dsym: bool = _, strict_provisioning_profile_search: None | bool = _, try_skip_code_signing: None | bool = _, universal: None | bool = _, use_entitlements_when_adhoc_code_signing: bool = _, validation_deps: list[str] = _, versioned_macos_bundle: bool = _, xcode_product_type: None | str = _ ) -> None An apple_bundle() rule takes an Apple binary and all of the resources and asset catalogs in the rule's transitive dependencies and generates a bundle containing all of those files. Optionally the generated bundle can also be signed using specified provisioning profiles. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one asset_catalogs_compilation_options: A dict holding parameters for asset catalogs compiler (actool). Its options include: notices (defaults to True)warnings (defaults to True)errors (defaults to True)compress_pngs (defaults to True)optimization (defaults to 'space')output_format (defaults to 'human-readable-text')extra_flags (defaults to []) deps: A list of dependencies of this bundle as build targets. You can embed application extensions by specifying the extension's bundle target. To include a WatchKit app, append the flavor #watch to the target specification. Buck will automatically substitute the appropriate platform flavor (either watchsimulator or watchos) based on the parent. extension: The extension of the generated bundle. For example 'app' for an application bundle or 'appex' for an application extension bundle. ibtool_flags: List of flags to be passed to ibtool during interface builder file compilation. info_plist: A path to an Info.plist file that will be placed in the bundle. The specified file will be processed by substituting variable names with their values (see info_plist_substitutions for more information). info_plist_substitutions: A dictionary that assigns variable names to their values. It is used for variable substitution when processing the file specified in info_plist. For example if this argument is set to {'VAR': 'MyValue'}, then each occurrence of $(VAR) or ${VAR} in the file will be replaced by MyValue. privacy_manifest: A path to an .xcprivacy file that will be placed in the bundle. product_name: The name of the resulting bundle and binary. The setting behaves like PRODUCT_NAME Xcode build setting. For example, if your rule is named "MyApp" and extension is "app", by default buck will generate MyApp.app bundle. But if you will set product name to "SuperApp", bundle will get "SuperApp.app" name. Details​ Code signing will embed entitlements pointed to by the entitlements_file arg in the bundle's apple_binary. This is the preferred way to specify entitlements when building with Buck. If the entitlements file is not present, it falls back to the CODE_SIGN_ENTITLEMENTS entry ininfo_plist_substitutions. If after these checks, an entitlements file is still not specified, it will be derived based on the entitlements of the selected provisioning profile. Provisioning profiles will be selected from profiles pointed to by apple.provisioning_profile_search_path, based on a non-expired profile that matches the bundle id and entitlements. Code signing will embed entitlements pointed to by the CODE_SIGN_ENTITLEMENTS entry ininfo_plist_substitutions. If an entitlements file is omitted, it will be derived based on the entitlements of the selected provisioning profile. Provisioning profiles will be selected from profiles pointed to by apple.provisioning_profile_search_path, based on a non-expired profile that matches the bundle id and entitlements. Examples: apple_bundle( name = 'AppBundle', binary = ':MyBinary', extension = 'app', info_plist = 'Info.plist', ) # iOS app with embedded WatchOS 2.0 app/extension apple_bundle( name = 'DemoWatchAppExtension', binary = ':DemoWatchAppExtensionBinary', extension = 'appex', info_plist = 'WatchExtension/Resources/Info.plist', ) apple_bundle( name = 'DemoWatchApp', binary = ':DemoWatchAppBinary', deps = [':DemoWatchAppResources', ':DemoWatchAppExtension'], extension = 'app', info_plist = 'WatchApplication/Info.plist', ) apple_bundle( name = 'DemoApp', binary = ':DemoAppBinary', deps = [':DemoWatchApp#watch'], extension = 'app', info_plist = 'Info.plist', ) # iOS app using safeAreaInsets delivering to iOS 9.x apple_bundle( name = 'DemoIBApp', binary = ':DemoIBAppBinary', deps = [':DemoIBAppResources'], extension = 'app', ibtool_flags = ["--minimum-deployment-target", "9.0"], info_plist = 'Info.plist', ) "},{"title":"apple_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_library","content":"def apple_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _apple_xctoolchain: str = _, _apple_xctoolchain_bundle_id: str = _, _archive_objects_locally_override: None | bool = _, _dsymutil_extra_flags: list[str], _enable_library_evolution: bool = _, _stripped_default: bool = _, allow_cache_upload: None | bool = _, attrs_validators: dict[str, (list[str], str)] = _, bridging_header: None | str = _, buck2_compatibility: str = _, can_be_asset: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, devirt_enabled: bool = _, diagnostics: dict[str, str] = _, enable_cxx_interop: bool = _, enable_distributed_thinlto: bool = _, enable_library_evolution: None | bool = _, executable_name: None | str = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extra_xcode_files: list[str] = _, extra_xcode_sources: list[str] = _, fat_lto: bool = _, focused_list_target: None | str = _, force_static: None | bool = _, frameworks: list[str] = _, header_mode: None | str = _, header_namespace: None | str = _, header_path_prefix: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, import_obj_c_forward_declarations: bool = _, include_directories: list[str] = _, info_plist: None | str = _, info_plist_substitutions: dict[str, str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: None | bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, modular: bool = _, module_name: None | str = _, module_requires_cxx: bool = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, preferred_linkage: str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, propagated_target_sdk_version: None | str = _, public_framework_headers: list[str] | dict[str, str] = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, reexport_all_header_dependencies: None | bool = _, sdk_modules: list[str] = _, serialize_debugging_options: bool = _, shared_library_macho_file_type: str = _, soname: None | str = _, srcs: list[str | (str, list[str])] = _, static_library_basename: None | str = _, stripped: None | bool = _, supported_platforms_regex: None | str = _, supports_header_symlink_subtarget: bool = _, supports_merged_linking: None | bool = _, supports_shlib_interfaces: bool = _, swift_compilation_mode: str = _, swift_compiler_flags: list[str] = _, swift_package_name: None | str = _, swift_version: None | str = _, target_sdk_version: None | str = _, thin_lto: bool = _, use_archive: None | bool = _, use_submodules: bool = _, uses_cxx_explicit_modules: bool = _, uses_explicit_modules: bool = _, uses_modules: bool = _, validation_deps: list[str] = _ ) -> None An apple_library() rule represents a set of Objective-C/C++/Swift source files and is similar to a cxx_library() rule with which it shares many attributes. In addition to those common attributes, apple_library() has a some additional attributes that are specific to binaries intended to be built using the Apple toolchain. Note, however, that apple_library() and cxx_library() differ in the way that they import header files, in order to better accommodate existing conventions. See the sections for the headers and exported_headers attributes for more details. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). compiler_flags: Flags to use when compiling any of the above sources (which require compilation). exported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported. exported_headers: The set of header files that are made available for inclusion to the source files in this target and all targets that transitively depend on this one. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or, if a header file that belongs to the same rule is being imported, with #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets. exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation. exported_platform_linker_flags: Platform-specific linker flags for this rule and for all rules that transitively depend on this rule. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation. extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources". frameworks: A list of system frameworks that the code in this target uses. Each entry should be a path starting with $SDKROOT or $PLATFORM_DIR to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory. header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information. header_path_prefix: A path prefix when including headers of this target. For example, headers from a library defined using apple_library( name = "Library", headers = glob(["**/*.h"]), header_path_prefix = "Lib", ) can be imported using following mapping Library/SubDir/Header1.h -> Lib/Header1.h Library/Header2.h -> Lib/Header2.h Defaults to the short name of the target. Can contain forward slashes (/), but cannot start with one. See headers for more information. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets. link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information. platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). reexport_all_header_dependencies: Whether to automatically re-export the exported headers of all dependencies. When this is set to false, only exported headers fromexported_deps are re-exported. srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). target_sdk_version: The minimum OS version that the library target should support, overriding the minimum set in .buckconfig. When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks. Details​ Buck enables you to override components of the Apple toolchain with alternate tools, either from the Xcode search paths or from directories that you specify. See .buckconfigand .buckconfigfor more information. Examples: apple_library( name = 'MyLibrary', deps = [ ':OtherLibrary', '//Libraries:YetAnotherLibrary', ], preprocessor_flags = ['-fobjc-arc'], headers = [ 'MyHeader.h', ], srcs = [ 'MySource.m', 'MySource.swift', ], frameworks = [ '$SDKROOT/System/Library/Frameworks/UIKit.framework', '$SDKROOT/System/Library/Frameworks/Foundation.framework', ], ) "},{"title":"apple_package​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_package","content":"def apple_package( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_tools: str = _, _ipa_compression_level: str, _ipa_package: str, buck2_compatibility: str = _, bundle: str, contacts: list[str] = _, default_host_platform: None | str = _, default_platform: None | str = _, ext: str = _, labels: list[str] = _, licenses: list[str] = _, need_android_tools: bool = _, package_name: None | str = _, packager: None | str = _, packager_args: list[str] = _, prepackaged_validators: list[str | (str, list[str])] = _ ) -> None An apple_package() rule takes the output of an apple_bundle() rule and compresses it in an IPA (iOS App Store Package) file. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one Details​ This rule can be customized using the config options .buckconfigand .buckconfig. Examples: apple_package( name = 'AppPackage', bundle = ':AppBundle', ) "},{"title":"apple_resource​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_resource","content":"def apple_resource( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, codesign_entitlements: None | str = _, codesign_flags_override: None | list[str] = _, codesign_on_copy: bool = _, contacts: list[str] = _, content_dirs: list[str] = _, default_host_platform: None | str = _, destination: None | str = _, dirs: list[str] = _, files: list[str] = _, labels: list[str] = _, licenses: list[str] = _, named_variants: dict[str, list[str]] = _, resources_from_deps: list[str] = _, skip_universal_resource_dedupe: bool = _, variants: list[str] = _ ) -> None An apple_resource() rule contains sets of resource directories, files and file variants that can be bundled in an application bundle. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an apple_bundle() rule. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one destination: Specifies the destination in the final application bundle where resource will be copied. Possible values: "resources", "frameworks", "executables", "plugins", "xpcservices". named_variants: Mapping from a variant name to the list of resource file paths which should be placed in an application bundle. Those files will be placed in a directory with name equal to the corresponding key in this mapping. Keys should end with .lproj suffix. (e.g. Base.lproj, en.lproj). resources_from_deps: Set of build targets whose transitive apple_resources should be considered as part of the current resource when collecting resources for bundles. Usually, an apple_bundle collects all apple_resource rules transitively reachable through apple_library rules. This field allows for resources which are not reachable using the above traversal strategy to be considered for inclusion in the bundle. variants: Set of paths of resource file variants that should be placed in an application bundle. The files mentioned here should be placed in a directory named $VARIANT_NAME.lproj, where $VARIANT_NAME is the name of the variant (e.g. Base, en). This argument makes it possible to use different resource files based on the active locale. Details​ Examples: apple_resource( name = 'Images', files = glob([ '*.png', ]), dirs = [ 'PrettyImages', ], ) "},{"title":"apple_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_test","content":"def apple_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _apple_xctoolchain: str = _, _apple_xctoolchain_bundle_id: str = _, _bundling_cache_buster: None | str = _, _bundling_log_file_enabled: bool = _, _bundling_log_file_level: None | str = _, _code_signing_configuration: None | str = _, _codesign_identities_command_override: None | str = _, _codesign_type: None | str = _, _compile_resources_locally_override: None | bool = _, _dsymutil_extra_flags: list[str], _embed_provisioning_profile_when_adhoc_code_signing: None | bool = _, _enable_library_evolution: bool = _, _fast_adhoc_signing_enabled_default: bool = _, _fast_provisioning_profile_parsing_enabled: bool = _, _incremental_bundling_enabled: bool = _, _info_plist_identify_build_system_default: bool = _, _inject_test_env: str = _, _ios_booted_simulator: str = _, _ios_unbooted_simulator: str = _, _macos_idb_companion: str = _, _profile_bundling_enabled: bool = _, _provisioning_profiles: str = _, _resource_bundle: None | str = _, _strict_provisioning_profile_search_default: bool = _, _use_entitlements_when_adhoc_code_signing: None | bool = _, allow_cache_upload: None | bool = _, asset_catalogs_compilation_options: dict[str, typing.Any] = _, attrs_validators: dict[str, (list[str], str)] = _, binary: None | str = _, bridging_header: None | str = _, buck2_compatibility: str = _, can_be_asset: None | bool = _, codesign_flags: list[str] = _, codesign_identity: None | str = _, codesign_type: None | str = _, compiler_flags: list[str] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, destination_specifier: dict[str, str] = _, devirt_enabled: bool = _, diagnostics: dict[str, str] = _, embed_provisioning_profile_when_adhoc_code_signing: bool = _, enable_cxx_interop: bool = _, enable_library_evolution: None | bool = _, entitlements_file: None | str = _, env: None | dict[str, str] = _, executable_name: None | str = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extension: str, extra_xcode_files: list[str] = _, extra_xcode_sources: list[str] = _, fast_adhoc_signing_enabled: None | bool = _, fat_lto: bool = _, focused_list_target: None | str = _, force_static: None | bool = _, frameworks: list[str] = _, header_namespace: None | str = _, header_path_prefix: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, import_obj_c_forward_declarations: bool = _, include_directories: list[str] = _, incremental_bundling_enabled: None | bool = _, info_plist: str, info_plist_identify_build_system: None | bool = _, info_plist_substitutions: dict[str, str] = _, is_ui_test: bool = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_ordering: None | str = _, link_style: str = _, link_whole: None | bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, modular: bool = _, module_name: None | str = _, module_requires_cxx: bool = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, preferred_linkage: str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, propagated_target_sdk_version: None | str = _, provisioning_profile_filter: None | str = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, reexport_all_header_dependencies: None | bool = _, resource_group: None | str = _, resource_group_map: None | str = _, run_test_separately: bool = _, runner: None | str = _, sanitizer_runtime_enabled: None | bool = _, sdk_modules: list[str] = _, serialize_debugging_options: bool = _, skip_copying_swift_stdlib: None | bool = _, snapshot_reference_images_path: None | str = _, soname: None | str = _, specs: None | str = _, srcs: list[str | (str, list[str])] = _, static_library_basename: None | str = _, strict_provisioning_profile_search: None | bool = _, stripped: bool = _, supported_platforms_regex: None | str = _, supports_merged_linking: None | bool = _, swift_compilation_mode: str = _, swift_compiler_flags: list[str] = _, swift_package_name: None | str = _, swift_version: None | str = _, target_sdk_version: None | str = _, test_host_app: None | str = _, test_re_capabilities: None | dict[str, str] = _, test_re_use_case: None | str = _, test_rule_timeout_ms: None | int = _, thin_lto: bool = _, try_skip_code_signing: None | bool = _, ui_test_target_app: None | str = _, use_entitlements_when_adhoc_code_signing: bool = _, use_submodules: bool = _, uses_cxx_explicit_modules: bool = _, uses_explicit_modules: bool = _, uses_modules: bool = _, validation_deps: list[str] = _, versioned_macos_bundle: bool = _, xcode_product_type: None | str = _ ) -> None An apple_test() rule contains Objective-C/C++ code which can be built and used to test code contained in other rules. The tests can be executed by running buck test. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). compiler_flags: Flags to use when compiling any of the above sources (which require compilation). extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources". frameworks: A list of system frameworks that the code in this target uses. Each entry should be a path starting with $SDKROOT or $PLATFORM_DIR to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory. header_path_prefix: A path prefix when including headers of this target. For example, headers from a library defined using apple_library( name = "Library", headers = glob(["**/*.h"]), header_path_prefix = "Lib", ) can be imported using following mapping Library/SubDir/Header1.h -> Lib/Header1.h Library/Header2.h -> Lib/Header2.h Defaults to the short name of the target. Can contain forward slashes (/), but cannot start with one. See headers for more information. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets. info_plist: A path to an Info.plist file that will be placed in the bundle. The specified file will be processed by substituting variable names with their values (see info_plist_substitutions for more information). info_plist_substitutions: A dictionary that assigns variable names to their values. It is used for variable substitution when processing the file specified in info_plist. For example if this argument is set to {'VAR': 'MyValue'}, then each occurrence of $(VAR) or ${VAR} in the file will be replaced by MyValue. labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information. platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). target_sdk_version: The minimum OS version that the library target should support, overriding the minimum set in .buckconfig. When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks. test_host_app: A build target identifying an apple_bundle() rule that builds an application bundle. Output of the specified rule will be used as a test host of this test. This implies run_test_separately. Since symbols that are defined in the test host application and its dependencies will not be linked into the test binary, to make those symbols accessible to the test target they need to be specified as a dependency of this target and ['-undefined', 'dynamic_lookup'] needs to be added to this target's linker_flags (this will suppress undefined reference errors during compilation, but if the symbols do not exist, it might result in runtime crashes). test_re_capabilities: An optional dictionary with the RE capabilities for the test execution. Overrides a default selection mechanism. test_re_use_case: An optional name of the RE use case for the test execution. Overrides a default selection mechanism. Details​ Examples: apple_test( name = 'MyTest', info_plist = 'MyTest-Info.plist', preprocessor_flags = ['-fobjc-arc'], srcs = [ 'MyTest.m', ], deps = [ ':MyLibrary', ], frameworks = [ '$SDKROOT/System/Library/Frameworks/Foundation.framework', '$SDKROOT/System/Library/Frameworks/UIKit.framework', '$PLATFORM_DIR/Developer/Library/Frameworks/XCTest.framework', ], ) "},{"title":"apple_toolchain​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_toolchain","content":"def apple_toolchain( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _internal_platform_path: None | str = _, _internal_sdk_path: None | str = _, actool: str, architecture: str = _, buck2_compatibility: str = _, build_version: None | str = _, codesign: str, codesign_allocate: str, codesign_identities_command: None | str = _, compile_resources_locally: bool = _, contacts: list[str] = _, copy_scene_kit_assets: str, cxx_toolchain: str, default_host_platform: None | str = _, developer_path: None | str = _, dsymutil: str, dwarfdump: None | str = _, extra_linker_outputs: list[str] = _, ibtool: str, installer: str = _, labels: list[str] = _, libtool: str, licenses: list[str] = _, lipo: str, mapc: None | str = _, min_version: str = _, momc: str, objdump: None | str = _, placeholder_tool: None | str = _, platform_path: None | str = _, requires_xcode_version_match: bool = _, sdk_environment: None | str = _, sdk_name: str = _, sdk_path: None | str = _, swift_toolchain: None | str = _, version: None | str = _, watch_kit_stub_binary: None | str = _, work_around_dsymutil_lto_stack_overflow_bug: None | bool = _, xcode_build_version: None | str = _, xcode_version: None | str = _, xctest: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"apple_toolchain_set​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_toolchain_set","content":"def apple_toolchain_set( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, apple_toolchains: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"apple_universal_executable​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_universal_executable","content":"def apple_universal_executable( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _dsymutil_extra_flags: list[str], buck2_compatibility: str = _, executable: str, executable_name: None | str = _, labels: list[str] = _, split_arch_dsym: bool = _, universal: None | bool = _ ) -> None An apple_universal_executable() rule takes a target via its binary attribute, builds it for multiple architectures and combines the result into a single binary using lipo. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one executable: A build target identifying the binary which will be built for multiple architectures. The target will be transitioned into different configurations, with distinct architectures. The target can be one of: apple_binary() and cxx_binary()[shared] subtarget of apple_library() and cxx_library()apple_library() and cxx_library() which have preferred_linkage = shared attribute executable_name: By default, the name of the universal executable is same as the name of the binary from the binary target attribute. Set executable_name to override the default. split_arch_dsym: If enabled, each architecture gets its own dSYM binary. Use this if the combined universal dSYM binary exceeds 4GiB. universal: Controls whether the output is universal binary. Any value overrides the presence of the config//cpu/constraints:universal-enabled constraint. Read the rule docs for more information on resolution. Details​ The output of the rule is a universal binary: If config//cpu/constraints:universal-enabled is present in the target platform.If the universal attribute is set to True. If none of the conditions are met, then the rule acts as a nop alias(). The universal attribute, if present, takes precedence over constraint. For example, if universal = False, then the presence of the constraint would not affect the output. apple_bundle() supports building of universal binaries,apple_universal_executable() is only needed if you have a standalone binary target which is not embedded in an apple_bundle() (usually a CLI tool). "},{"title":"apple_xcframework​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_xcframework","content":"def apple_xcframework( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_tools: str = _, buck2_compatibility: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"apple_xcuitest​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_xcuitest","content":"def apple_xcuitest( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _apple_xctoolchain: str = _, _apple_xctoolchain_bundle_id: str = _, _bundling_cache_buster: None | str = _, _bundling_log_file_enabled: bool = _, _bundling_log_file_level: None | str = _, _code_signing_configuration: None | str = _, _codesign_identities_command_override: None | str = _, _codesign_type: None | str = _, _compile_resources_locally_override: None | bool = _, _embed_provisioning_profile_when_adhoc_code_signing: None | bool = _, _enable_library_evolution: bool = _, _fast_adhoc_signing_enabled_default: bool = _, _fast_provisioning_profile_parsing_enabled: bool = _, _incremental_bundling_enabled: bool = _, _info_plist_identify_build_system_default: bool = _, _profile_bundling_enabled: bool = _, _provisioning_profiles: str = _, _resource_bundle: None | str = _, _strict_provisioning_profile_search_default: bool = _, _use_entitlements_when_adhoc_code_signing: None | bool = _, binary: None | str = _, buck2_compatibility: str = _, codesign_identity: None | str = _, codesign_type: None | str = _, embed_provisioning_profile_when_adhoc_code_signing: bool = _, enable_library_evolution: None | bool = _, entitlements_file: None | str = _, extension: str = _, fast_adhoc_signing_enabled: None | bool = _, incremental_bundling_enabled: bool = _, info_plist: str, info_plist_identify_build_system: None | bool = _, info_plist_substitutions: dict[str, str] = _, provisioning_profile_filter: None | str = _, strict_provisioning_profile_search: None | bool = _, target_sdk_version: None | str = _, test_bundle: str, use_entitlements_when_adhoc_code_signing: bool = _, validation_deps: list[str] = _, versioned_macos_bundle: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"cgo_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cgo_library","content":"def cgo_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _compile_shared: bool = _, _coverage_mode: None | str = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _go_stdlib: str = _, _go_toolchain: str = _, _race: bool = _, _tags: list[str] = _, allow_cache_upload: None | bool = _, buck2_compatibility: str = _, cgo_compiler_flags: list[str] = _, compiler_flags: list[str] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, embedcfg: None | str = _, executable_name: None | str = _, exported_deps: list[str] = _, fat_lto: bool = _, focused_list_target: None | str = _, frameworks: list[str] = _, go_assembler_flags: list[str] = _, go_compiler_flags: list[str] = _, go_srcs: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_style: None | str = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, package_name: None | str = _, package_root: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, raw_headers: list[str] = _, srcs: list[str | (str, list[str])] = _, thin_lto: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A cgo_library() rule builds an object from the supplied set of Go/C source files and dependencies. The outputs are linked into go executable in the last step (compile). Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneallow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).cgo_compiler_flags: The set of additional compiler flags to pass to go tool cgo.compiler_flags: Flags to use when compiling any of the above sources (which require compilation).go_assembler_flags: The set of additional assembler flags to pass to go tool asm.go_compiler_flags: The set of additional compiler flags to pass to go tool compile.go_srcs: The set of source files to be compiled by this rule. Go (.go) files are compiled with the Go compiler. In contrast to the srcs argument, these files cannot have import "C" declared.headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.package_name: Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b")package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target.srcs: The set of source files to be compiled by this rule. .go files will be compiled with the CGO compiler. Each file needs to have import "C" declared. Details​ The 'go build' command would collect the cgo directives from the source files, however with buck the flags needs to be passed in the cgo_library manually This rule borrows from cxx_binary() since C/C++ sources are being compiled. Examples: # A rule that builds a Go native executable with linked cgo library based on # C/C++ util library. go_binary( name = "bin", srcs = ["main.go"], deps = [":lib"] ) cgo_library( name = "lib", srcs = ["cgo_source.go"], deps = [":util"], ) cxx_library( name = "util", srcs = ["util.c"], headers = ["util.h"], ) "},{"title":"command_alias​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#command_alias","content":"def command_alias( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _target_os_type: str = _, args: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, env: dict[str, str] = _, exe: None | str = _, labels: list[str] = _, licenses: list[str] = _, platform_exe: dict[str, str] = _, resources: list[str] = _ ) -> None The command_alias rule enables you to wrap build rules that create binaries and to pre-apply command-line arguments and environment variables. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one args: A string of arguments that is passed to the executable specified by exe at startup. These arguments support a subset of Buck's string parameter macros . Only the $(location ...) and $(exe ...) macros are supported currently. env: A map of environment variables that will be passed to the executable represented by exe on startup. Environment variables support the same macros as arguments. exe: A build target for a rule that outputs an executable, such as an sh_binary(), or an executable source file. platform_exe: A mapping from platforms to build target. enables you to override exe per host platform. If present, exe will be used as a fallback on host platforms that are not specified in platform_exe. It is possible to omit exe when providing platform_exe. In that case, the build will fail if the command is invoked on a platform not specified in the mapping. Valid platforms are all values of the Platform enum : FREEBSDLINUXMACOSWINDOWS Details​ Example uses include running a command written in a scripting language with a specific interpreter, and transparently wrapping sub-commands of a binary. You can reference a command_alias target in the cmd parameter of a genrule() by using the exe macro: $(exe //path/to:target) Examples: # Combining an interpreter and a script cxx_binary( name = "node-js", srcs = [ # ... ], headers = [ # ... ], ) export_file( name = "scripts" ) command_alias( name = "server", exe = ":node-js", args = [ "$(location :scripts)/start-server.js", ], ) # Exposing sub commands export_file( name = "yarn", src = "yarn.sh", ) command_alias( name = "add", exe = ":yarn", args = ["add"], ) command_alias( name = "install", exe = ":yarn", args = ["install"], ) command_alias( name = "run", exe = ":yarn", args = ["run"], ) # Platform specific commands export_file( name = "node-windows", src = "windows/node.exe", ) export_file( name = "node-linux", src = "linux/node", ) export_file( name = "node-macos", src = "macos/node", ) command_alias( name = "node", platform_exe = { "windows": ":node-windows", "linux": ":node-linux", "macos": ":node-macos", }, ) "},{"title":"config_setting​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#config_setting","content":"def config_setting( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, constraint_values: list[str] = _, values: dict[str, str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"configuration_alias​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#configuration_alias","content":"def configuration_alias( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, actual: str, buck2_compatibility: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"configured_alias​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#configured_alias","content":"def configured_alias( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, actual: str, buck2_compatibility: str = _, configured_actual: None | (str, str) = _, contacts: list[str] = _, default_host_platform: None | str = _, fallback_actual: None | str = _, labels: list[str] = _, licenses: list[str] = _, platform: None | str = _, propagate_flavors: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"constraint_setting​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#constraint_setting","content":"def constraint_setting( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"constraint_value​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#constraint_value","content":"def constraint_value( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, constraint_setting: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"core_data_model​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#core_data_model","content":"def core_data_model( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, module: None | str = _, path: str ) -> None An core_data_model() rule contains models for Apple's Core Data framework. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an apple_bundle() rule in which case all core_data_model() rules that the bundle rule depends on are merged and placed into the final output bundle together. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one Details​ Examples: core_data_model( name = 'MyCoreDataModel', path = 'MyCoreDataModel.xcdatamodeld', ) "},{"title":"csharp_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#csharp_library","content":"def csharp_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _csharp_toolchain: str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, dll_name: str = _, framework_ver: str, labels: list[str] = _, licenses: list[str] = _, resources: dict[str, str] = _, srcs: list[str] = _ ) -> None A csharp_library() rule builds a .Net library from the supplied set of C# source files and dependencies by invoking csc. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_flags: The set of additional compiler flags to pass to the compiler.deps: The set of targets or system-provided assemblies to rely on. Any values that are targets must be either csharp_library or prebuilt_dotnet_library instances.dll_name: The output name of the dll. This allows you to specify the name of the dll exactly. When this is not set, the dll will be named after the short name of the target.framework_ver: The version of the .Net framework that this library targets. This is one of 'net35', 'net40', 'net45' and 'net46'.resources: Resources that should be embedded within the built DLL. The format is the name of the resource once mapped into the DLL as the key, and the value being the resource that should be merged. This allows non-unique keys to be identified quickly.srcs: The collection of source files to compile. Details​ Examples: For more examples, check out our integration tests. csharp_library( name = 'simple', dll_name = 'Cake.dll', framework_ver = 'net46', srcs = [ 'Hello.cs', ], resources = { 'greeting.txt': '//some:target', }, deps=[ ':other', 'System.dll', ], ) prebuilt_dotnet_library( name = 'other', assembly = 'other-1.0.dll', ) "},{"title":"cxx_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_binary","content":"def cxx_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, allow_cache_upload: None | bool = _, anonymous_link_groups: bool = _, auto_link_groups: bool = _, binary_linker_flags: list[str] = _, bolt_flags: list[str] = _, bolt_profile: None | str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, constraint_overrides: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, distributed_thinlto_partial_split_dwarf: bool = _, enable_distributed_thinlto: bool = _, executable_name: None | str = _, exported_needs_coverage_instrumentation: bool = _, fat_lto: bool = _, focused_list_target: None | str = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_deps: list[str] = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_group_public_deps_label: None | str = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, raw_headers: list[str] = _, resources: list[str] | dict[str, str] = _, srcs: list[str | (str, list[str])] = _, thin_lto: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A cxx_binary() rule builds a native executable from the supplied set of C/C++ source files and dependencies. If C/C++ library dependencies are listed, the generated native executable will request and link against their static archives (which are *not* built using PIC). Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). compiler_flags: Flags to use when compiling any of the above sources (which require compilation). deps_query: Status: experimental/unstable. The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps: attrfilterdepsexceptintersectfilterkindsetunion The macro $declared_deps may be used anywhere a target literal pattern is expected in order to refer to the explicit deps of this rule as they appear in the rule's definition. For example, if your build rule declares android_library( name = 'lib', deps = ['//foo:foo'], deps_query = '$declared_deps', ) then the macro $declared_deps would be expanded to a literal set(//foo:foo). Some example queries: "filter({name_regex}, $declared_deps)".format(name_regex='//.*') "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)" "deps('//foo:foo', 1)" Note: any targets included in this query must also be present in deps. header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information. include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package. link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable. link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information. platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information. platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation. platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information. platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target. srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). Details​ Examples: # A rule that builds a C/C++ native executable from a single .cpp file # its corresponding header, and a C/C++ library dependency. cxx_binary( name = 'echo', srcs = [ 'echo.cpp', ], headers = [ 'echo.h', ], deps = [ ':util', ], ) cxx_library( name = 'util', srcs = [ 'util.cpp', ], headers = [ 'util.h', ], ) # To build without stripping: buck build :echo # To build with stripping debug symbols only: buck build :echo#strip-debug "},{"title":"cxx_genrule​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_genrule","content":"def cxx_genrule( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _genrule_toolchain: str = _, always_print_stderr: bool = _, bash: None | str = _, buck2_compatibility: str = _, cacheable: None | bool = _, cmd: None | str = _, cmd_exe: None | str = _, contacts: list[str] = _, default_host_platform: None | str = _, default_outs: None | list[str] = _, enable_sandbox: None | bool = _, environment_expansion_separator: None | str = _, labels: list[str] = _, licenses: list[str] = _, metadata_env_var: None | str = _, metadata_path: None | str = _, need_android_tools: bool = _, no_outputs_cleanup: bool = _, out: None | str = _, outs: None | dict[str, list[str]] = _, remote: None | bool = _, remote_execution_dependencies: list[dict[str, str]] = _, srcs: list[str] | dict[str, str] = _, type: None | str = _, weight: None | int = _ ) -> None A cxx_genrule() enables you to run shell commands as part of the Buck build process. A cxx_genrule() exposes - through a set of string parameter macros and variables - information about the tools and configuration options used by the Buck environment, specifically those related to the C/C++ toolchain. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one bash: A platform-specific version of the shell command parameter cmd. It runs on Linux and UNIX systems—including OSX—on which bash is installed. It has a higher priority than cmd. The bash argument is run with /usr/bin/env bash -c. It has access to the same set of macros and variables as the cmd argument. cmd: The shell command to run to generate the output file. It is the fallback of bash and cmd_exe. The shell command can access information about the buck build environment through a set of macros, parameterized macros, and variables. Macros​ The following macros are available to the shell command and are accessed using the following syntax. $(<macro>) Example: $(cc) $(cc)Path to the C compiler. $(cxx)Path to the C++ compiler. $(cflags)Flags passed to the C compiler. $(cppflags)Flags passed to the C preprocessor. $(cxxflags)Flags passed to the C++ compiler. $(cxxppflags)Flags to pass to the C++ preprocessor. $(ld)Path to the linker. $(ldflags-pic)Flags passed to the linker for binaries that use position-independent code (PIC). $(ldflags-pic-filter <pattern>)Flags passed to the linker for binaries that use position-independent code (PIC). Use the pattern parameter to specify a regular expression that matches the build targets that use these flags. $(ldflags-shared)Flags passed to the linker for shared libraries, such as dynamic-link libraries (DLLs). $(ldflags-shared-filter <pattern>)Flags passed to the linker for shared libraries, such as dynamic-link libraries (DLLs). Use the pattern parameter to specify a regular expression that matches the build targets that use these flags. $(ldflags-static)Flags passed to the linker for statically-linked libraries. $(ldflags-static-filter <pattern>)Flags passed to the linker for statically-linked libraries. Use the pattern parameter to specify a regular expression that matches the build targets that use these flags. $(platform-name)The platform flavor with which this cxx_genrule was specified. Parameterized Macros​ It is also possible to expand references to other rules within the shell command, using the following subset of the builtin string parameter macros. Note that all build rules expanded in the command are automatically considered to be dependencies of the genrule(). Note that the paths returned by these macros are absolute paths. You should convert these paths to be relative paths before embedding them in, for example, a shell script or batch file. Using relative paths ensures that your builds are hermetic, that is, they are reproducible across different machine environments. Additionally, if you embed these paths in a shell script, you should execute that script using the sh_binary() rule and include the targets for these paths in the resources argument of that sh_binary rule. These are the same targets that you pass to the string parameter macros. $(exe //path/to:target)Expands to the commands necessary to run the executable generated by the specified build rule. For a C++ executable, this will typically just be the name of the output executable itself, such as main. If the specified build rule does not generate an executable output, an exception will be thrown and the build will fail. $(location //path/to:target)Expands to the path of the output of the build rule. This means that you can refer to these without needing to be aware of how Buck is storing data on the disk mid-build. Variables​ Finally, Buck adds the following variables to the environment in which the shell command runs. They are accessed using the following syntax. Note the use of braces rather than parentheses. ${<variable>} Example: ${SRCS} ${SRCS}A string expansion of the srcs argument delimited by the environment_expansion_separator argument where each element of srcs will be translated into an absolute path. ${SRCDIR}The absolute path to the to which sources are copied prior to running the command. ${OUT}The output file for the genrule(). The file specified by this variable must always be written by this command. If not, the execution of this rule will be considered a failure, halting the build process. ${TMP}A temporary directory which can be used for intermediate results and will not be bundled into the output. cmd_exe: A platform-specific version of the shell command parameter cmd. It runs on Windows and has a higher priority than cmd. The cmd_exe argument is run with cmd.exe /v:off /c. It has access to the same set of macros and variables as the cmd argument. enable_sandbox: Whether this target should be executed in a sandbox or not. environment_expansion_separator: The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces. out: The name of the output file or directory. The complete path to this argument is provided to the shell command through the OUT environment variable. srcs: Either a list or a map of the source files which Buck makes available to the shell command at the path in the SRCDIR environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names. type: Specifies the type of this genrule. This is used for logging and is particularly useful for grouping genrules that share an underlying logical "type". For example, if you have the following cxx_genrule defined in the root directory of your Buck project cxx_genrule( name = 'cxx_gen', type = 'epilog', cmd = 'touch finish.txt; cp finish.txt $OUT', out = 'finish.txt' ) then the following buck query command buck query "attrfilter( type, 'epilog', '//...' )" returns //:cxx_gen weight: How many local slots these genrule should take when executing locally. Details​ The information exposed through these tools and configuration options is a reflection of: Buck's built-in settings, the settings in .buckconfigand .buckconfig.local, and the result of various command-line overrides specified through the common_parameters command-line option. This information is available only to the shell commands specified in the cxx_genrule. The information is not available to other arguments of the rule. A cxx_genrule() can be an input to another cxx_genrule(). Note that if you specify the cxx_genrule as a command-line target to buck build, you must include a platform flavor. For example: buck build :cxx_gr_name#iphonesimulator-x86_64 You could also just specify the default platform flavor explicitly: buck build :cxx_gr_name#default "},{"title":"cxx_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_library","content":"def cxx_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, _is_building_android_binary: bool = _, allow_cache_upload: None | bool = _, auto_link_groups: bool = _, bridging_header: None | str = _, buck2_compatibility: str = _, can_be_asset: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, diagnostics: dict[str, str] = _, executable_name: None | str = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_needs_coverage_instrumentation: bool = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extra_xcode_files: list[str] = _, extra_xcode_sources: list[str] = _, fat_lto: bool = _, focused_list_target: None | str = _, force_static: None | bool = _, frameworks: list[str] = _, header_mode: None | str = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, include_in_android_merge_map_output: bool = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: None | bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, local_linker_flags: list[str] = _, module_name: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, preferred_linkage: str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, reexport_all_header_dependencies: None | bool = _, resources: list[str] | dict[str, str] = _, sdk_modules: list[str] = _, soname: None | str = _, srcs: list[str | (str, list[str])] = _, static_library_basename: None | str = _, supported_platforms_regex: None | str = _, supports_header_symlink_subtarget: bool = _, supports_merged_linking: None | bool = _, supports_python_dlopen: None | bool = _, supports_shlib_interfaces: bool = _, thin_lto: bool = _, use_archive: None | bool = _, used_by_wrap_script: bool = _, uses_cxx_explicit_modules: bool = _, uses_explicit_modules: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A cxx_library() rule specifies a set of C/C++ source files and also provides flags that specify how those files should be built. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). compiler_flags: Flags to use when compiling any of the above sources (which require compilation). exported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported. exported_header_style: How dependents should include exported headers from this rule. Can be either local (e.g. -I) or system (e.g. -isystem). exported_headers: The set of header files that are made available for inclusion to the source files in the target and all targets that transitively depend on it. These should be specified as either a list of header files or a dictionary of header names to header files. The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME>, where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. Note that the header name can contain forward slashes (/). See header_namespace for more information. exported_lang_platform_preprocessor_flags: Just as lang_platform_preprocessor_flags, but these flags also apply to rules that transitively depend on this rule. exported_lang_preprocessor_flags: Just as lang_preprocessor_flags, but these flags also apply to rules that transitively depend on this rule. exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation. exported_platform_deps: Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as exported_deps) that are exported if the platform matches the regex. See exported_deps for more information. exported_platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target and all targets that transitively depend on it if the platform matches the regex. See headers for more information. exported_platform_linker_flags: Platform-specific linker flags for this rule and for all rules that transitively depend on this rule. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation. exported_platform_preprocessor_flags: Platform specific exported preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the source files in the target and all targets that transitively depend on it if the platform matches the regex. See exported_preprocessor_flags for more information. exported_post_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation—with the additional feature that these flags are guaranteed to be placed after the compiled object (.o) files on the linker command line. exported_post_platform_linker_flags: Platform-specific linker flags for this rule and for all rules that transitively depend on this rule—and that are guaranteed to be placed after the compiled object (.o) files on the linker command line. In other respects, the syntax and semantics of this argument are the same as for the exported_platform_linker_flags argument. extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources". header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information. include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package. lang_compiler_flags: Language-specific compiler flags. These should be specified as a map of C-family language short names to lists of flags and is used to target flags to sources files for a specific language in the C-family (C, C++, assembler, etc.). The keys in the map can be: cpp-output for C c++-cpp-output for C++ objective-c-cpp-output for Objective-C objective-c++-cpp-output for Objective-C++ cuda-cpp-output for Cuda assembler for Assembly * asm for ASM lang_platform_compiler_flags: Language- and platform-specific compiler flags. These should be specified as a map of C-family language short names, as described in lang_compiler_flags, to lists of pairs, as described in platform_compiler_flags. lang_platform_preprocessor_flags: Language- and platform-specific preprocessor flags. These should be specified as a map of C-family language short names, as described in lang_preprocessor_flags, to lists of pairs, as described in platform_preprocessor_flags. lang_preprocessor_flags: Language-specific preprocessor flags. These should be specified as a map of C-family language short names to lists of flags and is used to target flags to sources files for a specific language in the C-family (C, C++, assembler, etc.). The keys in the map can be: c for C c++ for C++ objective-c for Objective-C objective-c++ for Objective-C++ cuda for Cuda assembler-with-cpp for Assembly * asm-with-cpp for ASM link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. local_linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation driven by this rule (e.g. when this rule links a shared library, but not when the output is linked into a shared library by another rule's link group links). platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information. platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information. platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation. platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information. platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information. preferred_linkage: Determines what linkage is used when the library is depended on by another target. To control how the dependencies of this library are linked, use link_style instead. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). public_include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target and every target that depends on it (via -I). An include directory is relative to the current package. public_system_include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target and every target that depends on it (via -isystem if the compiler supports it of via -I otherwise). An include directory is relative to the current package. raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target. reexport_all_header_dependencies: Whether to automatically re-export the exported headers of all dependencies. When this is set to false, only exported headers fromexported_deps are re-exported. soname: Sets the soname ("shared object name") of any shared library produced from this rule. The default value is based on the full rule name. The macro $(ext) will be replaced with a platform-appropriate extension. An argument can be provided, which is a library version. For example soname = 'libfoo.$(ext 2.3)' will be libfoo.2.3.dylib on Mac and libfoo.so.2.3 on Linux. srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). supported_platforms_regex: If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms. used_by_wrap_script: When using an exopackage Android, if this parameter is set to True, then the library is included in the primary APK even if native libraries would otherwise not be placed in it. This is intended for native libraries that are used by a wrap.sh script, which must be placed in the primary APK. Only one of can_be_asset and used_by_wrap_script can be set for a rule. Details​ Building requires a specified top-level target​ Whether a Buck command builds the cxx_library is determined by the inclusion of a top-level target, such as a cxx_binary() or android_binary(), that transitively depends on the cxx_library. The set of targets specified to the Buck command (buck build, buck run, etc) must include one of these top-level targets in order for Buck to build the cxx_library. Note that you could specify the top-level target implicitly using a build target pattern or you could also specify the top-level target using a buckconfig alias defined in .buckconfig. How Buck builds the library also depends on the specified top-level target. For example, a C/C++ binary (cxx_binary) would require a static non-PIC build of the library, whereas an Android APK (android_binary) would require a shared PIC-enabled build. (PIC stands for position-independent code.) Dependencies of the cxx_library also require a top-level target​ Similarly, in order for Buck to build a target that the cxx_library depends on, such as a cxx_genrule(), you must specify in the Buck command a top-level target that depends on the cxx_library. For example, you could specify to build a cxx_binary that depends on the cxx_library. If you specify as your build target the cxx_library itself, the build targets that the cxx_library depends on might not be built. Examples: # A rule that includes a single .cpp file and its corresponding header and # also supplies an additional flag for compilation. cxx_library( name = 'fileutil', srcs = [ 'fileutil.cpp', ], exported_headers = [ 'fileutil.h', ], compiler_flags = [ '-fno-omit-frame-pointer', ], ) # A rule that defines explicit names for its headers cxx_library( name = 'mathutils', header_namespace = 'math', srcs = [ 'trig/src/cos.cpp', 'trig/src/tan.cpp', ], exported_headers = { # These are included as <math/trig/cos.h> and <math/trig/tan.h> 'trig/cos.h': 'trig/include/cos.h', 'trig/tan.h': 'trig/include/tan.h', }, compiler_flags = [ '-fno-omit-frame-pointer', ], ) # A rule that uses different headers and sources per platform cxx_library( name = 'vector', # Because of platform_headers, this file can include "config.h" # and get the architecture specific header srcs = ['vector.cpp'], platform_srcs = [ ('.*armv7$', 'armv7.S'), ('.*x86_64$', 'x86_64.S'), ], exported_headers = [ 'vector.h', ], platform_headers = [ ( '.*armv7$', { 'config.h': 'config-armv7.h', } ), ( '.*x86_64$', { 'config.h': 'config-x86_64.h', } ), ], ) "},{"title":"cxx_lua_extension​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_lua_extension","content":"def cxx_lua_extension( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, base_module: None | str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, executable_name: None | str = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, raw_headers: list[str] = _, srcs: list[str | (str, list[str])] = _, version_universe: None | str = _ ) -> None A cxx_lua_extension() rule is a variant of a C/C++ library which is built as a Lua module. As such, it has a module name formed by the base_module parameter and the rule name and implicitly depends on Lua C library (configured via the .buckconfig parameter. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebase_module: The package for which the given specified sources and resources should reside in their final location in the top-level binary. If unset, the project relative directory that houses the BUCK file is used.compiler_flags: Flags to use when compiling any of the above sources (which require compilation).header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). Details​ Examples: # A rule that builds a Lua extension from a single .cpp file. cxx_lua_extension( name = 'mymodule', base_module = 'foo.bar', srcs = [ 'mymodule.cpp', ], compiler_flags = [ '-fno-omit-frame-pointer', ], ) # A library rule which has a single source importing the above extension. lua_library( name = 'utils', srcs = [ 'utils.lua', ], deps = [ ':mymodule', ], ) -- The `utils.lua` source, wrapped by the `utils` rule above. -- Import the C/C++ extension build above. require "foo.bar.mymodule" ... "},{"title":"cxx_precompiled_header​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_precompiled_header","content":"def cxx_precompiled_header( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, src: str, version_universe: None | str = _ ) -> None A cxx_precompiled_header rule specifies a single header file that can be precompiled and made available for use in other build rules such as a cxx_library() or a cxx_binary(). Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: Dependency rules which export headers used by the header specified in src.src: The path to the header file that should be precompiled. Only one header file can be specified. But of course this header could include any number of other headers. The included headers could belong to -- that is, be exported_headers from -- another rule, in which case, the rule would have to be added to deps as usual. Details​ This header file is precompiled by the preprocessor on behalf of the C, C++, Objective-C, or Objective-C++ rule using it, via its precompiled_header parameter. Afterwards the precompiled header is applied during the rule's own compilation (often with an appreciable reduction in build time, the main benefit of PCH). This PCH is built once per combination of build flags which might affect the PCH's compatibility. For example, a distinct pre-compilation of the header occurs per combination of flags related to optimization, debug, architecture, and so on, used by rules which employ PCH. The flags used during the build of the dependent rule (that is, the "PCH-using rule") are in effect while building the PCH itself. Similarly, to the same end, the include paths used when building the PCH are applied to the dependent rule. For example, deps in the PCH rule are propagated back to the dependent rule, and the PCH's header search paths (e.g. -I or -isystem options) are prefixed onto the list of include paths for the dependent rule. Examples: The best way to see how the cxx_precompiled_header() rule works is with an example. Let there be a header called common.h which has the following: #pragma once /* Include common C++ files. */ #include <string> #include <map> #include <set> #include <type_traits> #include <vector> /* Some frequently-used headers from the Folly project. */ #include <folly/Conv.h> #include <folly/Executor.h> #include <folly/io/async/EventBase.h> cxx_precompiled_header( name = 'common_pch', src = 'common.h', deps = [ # Needed for standard C++ headers: '//external/libcxx:headers', # Needed for the Folly includes: '//folly:folly', '//folly/io/async:async', ], ) cxx_binary( name = 'main', srcs = ['main.cpp'], precompiled_header = ':common_pch', deps = [ ... ], compiler_flags = ['-g', '-O2', '-fPIC'], ) The cxx_precompiled_header rule declares a precompiled header "template" containing the header file path, and dependencies. In this example we indicate that common.h is to be precompiled when used by another build rule. Note that, by itself, this cxx_precompiled_header rule will not result in anything being built. The usage of this rule from another rule -- an "instantiation" of this precompiled header template -- is what will trigger the PCH build. In the example above, the build for the binary named "main" will depend on the header being precompiled in a separate step, prior to compiling main.cpp, and the resulting PCH will be used in main's compilation. The dependencies specified in this precompiled header rule's deps are transitive; they will propagate to rules using this PCH, so that during link time, any libraries which are required by the code made available in the header will be included in the final binary build. The precompiled header dynamically created from the "template" will be built with flags which would be used in the dependent rule. In this case, main's use of specific compiler flags -g -O2 -fPIC will result in the production of a precompiled header with the same flags. This is so the precompiled code fully jives with rules using the PCH, i.e. they will have the same debug, optimization, CPU, etc. options. (The compiler is usually smart enough to reject a bad PCH, fortunately. But we want to ensure we take the appropriate steps to ensure we always have a PCH which works with any build that uses it.) Another effect of a rule using a precompiled header is that the rule's list of build flags will change; not just to employ PCH with e.g. -include-pch (if using Clang), but also, to alter the sequence of header search paths. The rule using the precompiled header will "inherit" the lists of paths used during the PCH build, applying them first in its own search paths. This is to ensure that an #include directive will resolve in exactly the same way in this build as it would have in the PCH, to ensure full compatibility between the PCH and other rule's builds. For example, if the PCH were to use one version of stdcxx and another rule use a different version, the version differences won't clash, thereby avoiding different versions of the <cstring> header used between the precompiled header and the dependent rule, and preventing confused structure definitions, ABI incompatibility, and so on (catastrophe, in other words). "},{"title":"cxx_python_extension​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_python_extension","content":"def cxx_python_extension( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, _python_toolchain: str = _, _target_os_type: str = _, allow_cache_upload: None | bool = _, allow_embedding: bool = _, allow_suffixing: bool = _, auto_link_groups: bool = _, base_module: None | str = _, bridging_header: None | str = _, buck2_compatibility: str = _, can_be_asset: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, devirt_enabled: bool = _, diagnostics: dict[str, str] = _, executable_name: None | str = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_needs_coverage_instrumentation: bool = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extra_xcode_files: list[str] = _, extra_xcode_sources: list[str] = _, fat_lto: bool = _, focused_list_target: None | str = _, force_static: None | bool = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, include_in_android_merge_map_output: bool = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, local_linker_flags: list[str] = _, module_name: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, preferred_linkage: str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, reexport_all_header_dependencies: None | bool = _, resources: list[str] | dict[str, str] = _, sdk_modules: list[str] = _, soname: None | str = _, srcs: list[str | (str, list[str])] = _, static_library_basename: None | str = _, suffix_all: bool = _, support_shlib_interfaces: bool = _, supported_platforms_regex: None | str = _, supports_merged_linking: None | bool = _, thin_lto: bool = _, type_stub: None | str = _, use_archive: None | bool = _, used_by_wrap_script: bool = _, uses_cxx_explicit_modules: bool = _, uses_explicit_modules: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A cxx_python_extension() rule is a variant of a C/C++ library which is built as a Python module. As such, it has a module name formed by the base_module parameter and the rule name. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebase_module: The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file.compiler_flags: Flags to use when compiling any of the above sources (which require compilation).deps: Other rules that list srcs from which this rule imports.header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. Note: since shared libraries re-export its dependencies, depending on multiple shared libraries which themselves have overlapping static dependencies may cause problems if they init using global state.linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.local_linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation driven by this rule (e.g. when this rule links a shared library, but not when the output is linked into a shared library by another rule's link group links).platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). Details​ Examples: # A rule that builds a Python extension from a single .cpp file. cxx_python_extension( name = 'mymodule', base_module = 'foo.bar', srcs = [ 'mymodule.cpp', ], ) # A library rule which has a single source importing the above extension. python_library( name = 'utils', srcs = [ 'utils.py', ], deps = [ ':mymodule', ], ) ## The `utils.py` source, wrapped by the `utils` rule above. ## Import the C/C++ extension build above. from foo.bar import mymodule ... "},{"title":"cxx_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_test","content":"def cxx_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, _inject_test_env: str = _, _remote_test_execution_toolchain: str = _, additional_coverage_targets: list[str] = _, allow_cache_upload: None | bool = _, anonymous_link_groups: bool = _, args: list[str] = _, auto_link_groups: bool = _, binary_linker_flags: list[str] = _, bolt_flags: list[str] = _, bolt_profile: None | str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, constraint_overrides: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, distributed_thinlto_partial_split_dwarf: bool = _, enable_distributed_thinlto: bool = _, env: dict[str, str] = _, executable_name: None | str = _, exported_needs_coverage_instrumentation: bool = _, fat_lto: bool = _, focused_list_target: None | str = _, framework: None | str = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_deps: list[str] = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_group_public_deps_label: None | str = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, raw_headers: list[str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, resources: list[str] | dict[str, str] = _, run_test_separately: None | bool = _, srcs: list[str | (str, list[str])] = _, test_rule_timeout_ms: None | int = _, thin_lto: bool = _, use_default_test_main: None | bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A cxx_test() rule builds a C/C++ binary against a C/C++ testing framework and runs it as part of test. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). args: A list of additional arguments to pass to the test when it's run. It is also possible to expand references to other rules within these arguments, using builtin string parameter macros: $(location //path/to:target)Expands to the location of the output of the build rule. This means that you can refer to these without needing to be aware of how Buck is storing data on the disk mid-build. compiler_flags: Flags to use when compiling any of the above sources (which require compilation). deps_query: Status: experimental/unstable. The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps: attrfilterdepsexceptintersectfilterkindsetunion The macro $declared_deps may be used anywhere a target literal pattern is expected in order to refer to the explicit deps of this rule as they appear in the rule's definition. For example, if your build rule declares android_library( name = 'lib', deps = ['//foo:foo'], deps_query = '$declared_deps', ) then the macro $declared_deps would be expanded to a literal set(//foo:foo). Some example queries: "filter({name_regex}, $declared_deps)".format(name_regex='//.*') "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)" "deps('//foo:foo', 1)" Note: any targets included in this query must also be present in deps. env: A map of environment names and values to set when running the test. It is also possible to expand references to other rules within the values of these environment variables, using builtin string parameter macros: $(location //path/to:target)Expands to the location of the output of the build rule. This means that you can refer to these without needing to be aware of how Buck is storing data on the disk mid-build. framework: Unused. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information. include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package. link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable. link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target. srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . Details​ Examples: # A rule that builds and runs C/C++ test using gtest. cxx_test( name = 'echo_test', srcs = [ 'echo_test.cpp', ], ) "},{"title":"cxx_toolchain​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_toolchain","content":"def cxx_toolchain( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _dep_files_processor: str = _, _dumpbin_toolchain_path: None | str = _, _mk_comp_db: str = _, _mk_hmap: str = _, _msvc_hermetic_exec: str = _, _remap_cwd_tool: str = _, archive_contents: str = _, archiver: str, archiver_flags: list[str] = _, archiver_supports_argfiles: bool = _, archiver_type: str, asm_compiler: None | str = _, asm_compiler_flags: list[str] = _, asm_compiler_type: None | str = _, asm_preprocessor: None | str = _, asm_preprocessor_flags: list[str] = _, asm_preprocessor_type: None | str = _, assembler: str, assembler_flags: list[str] = _, assembler_preprocessor: None | str = _, assembler_preprocessor_flags: list[str] = _, assembler_preprocessor_type: None | str = _, assembler_type: None | str = _, binary_extension: None | str = _, bolt_enabled: bool = _, buck2_compatibility: str = _, c_compiler: str, c_compiler_allow_cache_upload: None | bool = _, c_compiler_flags: list[str] = _, c_compiler_type: None | str = _, c_preprocessor_flags: list[str] = _, cache_links: bool = _, clang_remarks: None | str = _, clang_trace: None | bool = _, compiler_type: None | str = _, conflicting_header_basename_exemptions: list[str] = _, contacts: list[str] = _, cpp_dep_tracking_mode: str = _, cuda_compiler: None | str = _, cuda_compiler_flags: list[str] = _, cuda_compiler_type: None | str = _, cuda_dep_tracking_mode: str = _, cuda_preprocessor_flags: list[str] = _, cvtres_compiler: None | str = _, cvtres_compiler_flags: list[str] = _, cvtres_compiler_type: None | str = _, cvtres_preprocessor_flags: list[str] = _, cxx_compiler: str, cxx_compiler_allow_cache_upload: None | bool = _, cxx_compiler_flags: list[str] = _, cxx_compiler_type: None | str = _, cxx_preprocessor_flags: list[str] = _, debug_path_prefix_map_sanitizer_format: None | str = _, default_host_platform: None | str = _, detailed_untracked_header_messages: bool = _, dist_lto_tools: str = _, dist_thin_lto_codegen_flags: list[str] = _, filepath_length_limited: bool = _, gcno_files: bool = _, generate_linker_maps: bool = _, headers_as_raw_headers_mode: None | str = _, headers_whitelist: list[str] = _, hip_compiler: None | str = _, hip_compiler_flags: list[str] = _, hip_compiler_type: None | str = _, hip_preprocessor_flags: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_ordering: str = _, link_path_normalization_args_enabled: bool = _, link_style: str = _, link_weight: int = _, linker: str, linker_flags: list[str] = _, linker_type: str, llvm_link: None | str = _, lto_mode: str = _, min_sdk_version: None | str = _, nm: str, objcopy_for_shared_library_interface: str, objcopy_recalculates_layout: bool = _, objdump: None | str = _, object_file_extension: str = _, object_format: str = _, pic_behavior: str = _, pic_type_for_shared_linking: str = _, placeholder_tool: None | str = _, platform_name: None | str = _, post_linker_flags: list[str] = _, private_headers_symlinks_enabled: bool = _, public_headers_symlinks_enabled: bool = _, ranlib: None | str = _, ranlib_flags: list[str] = _, rc_compiler: None | str = _, rc_compiler_flags: list[str] = _, rc_compiler_type: None | str = _, rc_preprocessor_flags: list[str] = _, remap_cwd: bool = _, requires_archives: bool = _, requires_objects: bool = _, sanitizer_runtime_enabled: bool = _, sanitizer_runtime_files: list[str] = _, shared_dep_runtime_ld_flags: list[str] = _, shared_library_extension: str = _, shared_library_interface_flags: list[str] = _, shared_library_interface_mode: str = _, shared_library_interface_producer: None | str = _, shared_library_interface_type: str, shared_library_versioned_extension_format: str = _, split_debug_mode: str = _, static_dep_runtime_ld_flags: list[str] = _, static_library_extension: str = _, static_pic_dep_runtime_ld_flags: list[str] = _, strip: str, strip_all_flags: None | list[str] = _, strip_debug_flags: None | list[str] = _, strip_non_global_flags: None | list[str] = _, supports_distributed_thinlto: bool = _, target_sdk_version: None | str = _, use_archiver_flags: bool = _, use_arg_file: bool = _, use_dep_files: None | bool = _, use_header_map: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onec_compiler_allow_cache_upload: Whether to allow uploading of object files to cache when the compile action is executed locally and the configuration allows uploads (i.e., there is a cache configured and the client has permission to write to it).cxx_compiler_allow_cache_upload: Whether to allow uploading of object files to cache when the compile action is executed locally and the configuration allows uploads (i.e., there is a cache configured and the client has permission to write to it).link_style: The default value of the link_style attribute for rules that use this toolchain. "},{"title":"d_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#d_binary","content":"def d_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, srcs: list[str] | dict[str, str] = _ ) -> None A d_binary() rule builds a native executable from the supplied set of D source files and dependencies. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: The set of dependencies of this rule. Each element should be a string specifying a d_library rule defined elsewhere (e.g. ':foo' or '//foo:bar').linker_flags: The list of flags to be passed to the linker. Each element should be a string specifying a linker flag (e.g. '--as-needed').srcs: The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. 'foo/bar.d'). Details​ Examples: # A rule that builds a D native executable from a single .d file # and a library dependency. d_binary( name='greet', srcs=[ 'greet.d', ], deps=[ ':greeting', ], ) d_library( name='greeting', srcs=[ 'greeting.d', ], deps=[ ':join', ], ) d_library( name='join', srcs=[ 'join.d', ], ) "},{"title":"d_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#d_library","content":"def d_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, srcs: list[str] | dict[str, str] = _ ) -> None A d_library() rule represents a set of D source files. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: The set of dependencies of this rule. Each element should be a string specifying a d_library rule defined elsewhere (e.g. ':foo' or '//foo:bar').srcs: The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. 'foo/bar.d'). Details​ Examples: # A simple library with a single source file and a single dependency. d_library( name='greeting', srcs=[ 'greeting.d', ], deps=[ ':join', ], ) d_library( name='join', srcs=[ 'join.d', ], ) "},{"title":"d_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#d_test","content":"def d_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, srcs: list[str] | dict[str, str] = _, test_rule_timeout_ms: None | int = _ ) -> None A d_test() rule is used to define a set of D source files that contain tests to run via D's unittest support. The source code of the test must provide a main() function. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: The set of dependencies of this rule. Each element should be a string specifying a d_library rule defined elsewhere (e.g. ':foo' or '//foo:bar').labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific d_test() rule when executing buck testsrcs: The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. 'foo/bar.d').test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . Details​ Examples: # A rule that builds and runs D test with a single source file. d_test( name = 'test', srcs = [ 'test.d', ], ) "},{"title":"erlang_app​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_app","content":"def erlang_app( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _toolchain: str = _, app_src: None | str = _, applications: list[str] = _, buck2_compatibility: str = _, build_edoc_chunks: bool = _, contacts: list[str] = _, env: None | dict[str, str] = _, erl_opts: None | list[str] = _, extra_includes: list[str] = _, extra_properties: None | dict[str, str | list[str]] = _, include_src: bool = _, included_applications: list[str] = _, includes: list[str] = _, labels: list[str] = _, mod: None | (str, list[str]) = _, os_env: None | dict[str, str] = _, peek_private_includes: bool = _, resources: list[str] = _, shell_configs: list[str] = _, shell_libs: list[str] = _, srcs: list[str] = _, use_global_parse_transforms: bool = _, version: str = _, xrl_includefile: None | str = _, yrl_includefile: None | str = _ ) -> None This rule is the main rule for Erlang applications. It gets generated by using the erlang_application macro, that takes as attributes the same attributes as this rule. You should always use the erlang_application macro instead of using this rule directly. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one app_src: The app_src field allows to optionally reference a *.app.src template file. This template file will then be used by buck2 to generate the *.app output file in the applications ebin/ directory. This is useful during the migration from rebar3 to buck2 to avoid duplicated entries, of e.g. the version. Buck2 will use or check all fields present in the template, and fill out the fields with the information provided in the target, e.g. if the version is specified in both, buck2 will check that they are identical. Otherwise, it uses the information from the template if the target doesn't specify it, and vice versa. NOTE: If you use the app_src field and the references application resource file template specifies applicationsor included_applications buck2 checks that the target definitions and information in the template are equivalent to prevent these definitions from drifting apart during migration. applications: Equivalent to the corresponding applications and included_applications fields you will find in *.app.src or *.app files and specify the application dependencies. Contrary to the fields in the *.app.src or *.app files, it is necessary to use target paths to the application where a dependency is desired. These fields will be used to construct equally named fields in the generated *.app file for the application. OTP applications are specified with the target path prelude//erlang/applications:<application>. NOTE: If you use the app_src field and the references application resource file template specifiesapplications or included_applications buck2 checks that the target definitions and information in the template are equivalent to prevent these definitions from drifting apart during migration. build_edoc_chunks: This attribute controls if the output of the builds also create edoc chunks. env: The env field allows to set the application env variables. The key value pairs will materialise in the application's .app file and can then be accessed by application:get_env/2. erl_opts: Typically compile options are managed by global config files, however, sometimes it is desirable to overwrite the pre-defined compile options. The erl_opts field allows developers to do so for individual applications. The main use-case are the applications listed in third-party/. This option should not be used by other applications without consultation. Please ask in the WhatsApp Dev Infra Q&Aworkplace group for support. extra_includes: In some cases we might have the situation, where an application app_a depends through the applications and included_applications fields on application app_b and a source file in app_b includes a header file from app_a (e.g. -include_lib("app_a/include/header.hrl). This technically creates circular dependency from app_a to app_b (e.g. via applications field) and back from app_b to app_a (via -include_lib). To break the dependency developers can specify targets in the extra_includes field, whose public include files are accessible to the application target during build time. Only the includes of the specified application are available and eventual transitive dependencies need to be managed manually. NOTE: It is not possible (or even desired) to add OTP applications with this field. NOTE: This mechanism is added to circumvent unclean dependency relationships and the goal for developers should be to reduce usages of this field. DO NOT ADD ANY MORE USAGES!! extra_properties: The extra_properties field can be used to specify extra key-value pairs which is are not defined in application_opt(). The key-value pair will be stored in the applications .app file and can be accessed by file:consult/1. include_src: This field controls if the generated application directory contains a src/ directory with the Erlang code or not. included_applications: Check the documentation for applications. includes: The public header files accessible via -include_lib("appname/include/header.hrl") from other erlang files. mod: The mod field specifies the equivalent field in the generated *.app files. The format is similar, with the difference, that the module name, and the individual start arguments need to be given as the string representation of the corresponding Erlang terms. os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain. peek_private_includes: This attribute allows you to use the private includes of the application's dependencies. This can be useful for test applications, to create shared abstractions for tests. It's not advisable to use this attribute for prodution code. All private includes transitively must be non-ambiguous. resources: The resources field specifies targets whose default output are placed in the applications priv/ directory. For regular files this field is typically combined with export_file, filegroup, or similar targets. However, it is general, and any target can be used, e.g. if you want to place a built escript in the priv/ directory, you can use an erlang_escript target. shell_configs: This attribute allows to set config files for the shell. The dependencies that are typically used here are export_file targets. shell_libs: This attribute allows to define additional dependencies for the shell. By default this is set to ["prelude//erlang/shell:buck2_shell_utils"] which includes a user_default module that loads and compiles modules with buck2 mechanisms. srcs: A list of *.erl, *.hrl, *.xrl, or *.yrl source inputs that are typically located in an application's src/ folder. Header files (i.e. *.hrl files) specified in this field are considered application private headers, and can only be accessed by the *.erl files of the application itself. *.xrl and *.yrl files are processed into *.erl files before all *.erl files are compiled into *.beam files. use_global_parse_transforms: This field indicates if global parse_tranforms should be applied to this application as well. It often makes sense for third-party dependencies to not be subjected to global parse_transforms, similar to OTP applications. version: The version field specifies the applications version that is materialized as vsn field in the generated *.app file. If you use the the app_src field and specify a version in the referenced template in addition to the version field, the versions need to be identical. If no version is specified in either the app_src template or the version field, a fallback version string of"1.0.0" is used. xrl_includefile: Customised prologue file to replace the default. See includefile option for details. yrl_includefile: Customised prologue file to replace the default. See includefile option for details. Details​ Erlang Applications are the basic building block of our buck2 integration and used by many other Erlang targets, e.g. erlang_escript, erlang_test, or erlang_release. The erlang_application targets build OTP applications and as such many attributes that are used have equivalent meaning to the fields in the currently (by rebar3) used *.app.src files and OTP *.appfiles. Please familiarize yourself with the semantics of these fields by consulting theOTP documentation. The target enforces uniqueness during builds, and fails to build if duplicated artifacts in the global namespaces are detected: duplicated application names in the dependenciesduplicated module names across any of the applications or dependencies modulesambiguity when resolving header files The default output of this rule is the application folder of the target application and all transitive dependencies. Examples: Minimal Erlang Application​ erlang_application( name = "minimal", ) With priv/ directory​ erlang_application( name = "app_a", srcs = [ "src/app_a.erl", ], includes = [], applications = [ ":app_b", ], app_src = "src/app_a.app.src", resources = [ ":readme", ], ) export_file( name = "readme", src = "README.md", ) Using OTP applications and mod field​ erlang_application( name = "app_b", srcs = [ "src/app_b.erl", "src/app_b.hrl", ], includes = [], applications = [ "kernel", "stdlib", ":app_c", ], mod = ("app_b", [ "some_atom", ""some string"", "{tagged_tuple, 42}", ]), ) Using Yecc and Leex​ erlang_application( name = "yecc_leex", srcs = [ "src/leex_stub.xrl", "src/yecc_stub.yrl", ], ) "},{"title":"erlang_app_includes​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_app_includes","content":"def erlang_app_includes( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _toolchain: str = _, application_name: str, buck2_compatibility: str = _, contacts: list[str] = _, includes: list[str] = _, labels: list[str] = _, os_env: None | dict[str, str] = _ ) -> None This rule is a supplementary rule for Erlang applications. It gets generated by using the erlang_application macro, that takes as attributes the same attributes as this rule. You should always use the erlang_application macro instead of using this rule directly. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneos_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain. "},{"title":"erlang_escript​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_escript","content":"def erlang_escript( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _toolchain: str = _, buck2_compatibility: str = _, bundled: bool = _, configs: list[str] = _, contacts: list[str] = _, deps: list[str], emu_args: list[str] = _, include_priv: bool = _, labels: list[str] = _, main_module: None | str = _, os_env: None | dict[str, str] = _, resources: list[str] = _, script_name: None | str = _ ) -> None The erlang_escript target builds and runs bundled escripts. Please refer to the OTP documentation for more details about escripts. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one bundled: Setting bundled to True does generate a folder structure and escript trampoline instead of an archive. configs: This attribute allows to set config files for the escript. The dependencies that are typically used here are export_file targets. deps: List of Erlang applications that are bundled in the escript. This includes all transitive dependencies as well. emu_args: This field specifies the emulator flags that the escript uses on execution. It is often desirable to specify the number of threads and schedulers the escript uses. Please refer to the OTP documentation for details. include_priv: Setting this flag, will package the applications priv directory in the escript. Similar to files added through the resources field, the priv folders files can then be accessed by escript"extract/2. main_module: Overrides the default main module. Instead of deferring the main module from the scripts filename, the specified module is used. That module needs to export a main/1 function that is called as entry point. os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain. resources: This adds the targets default output to the escript archive. To access these files, you need to use escript:extract/2, which will extract the entire escript in memory. The relevant files can then be accessed through the archive section. Please refer to the escript:extract/2 for more details. script_name: Overrides the filename of the produced escript. Details​ Escripts by default always try to use the module that has the same name as the escripts basename as entry point, e.g. if the escript is called script.escript then running the escript will try to call script:main/1. Both name and main module can be overwritten though. The target name doubles as the default escript name. If the main_module attribute is not used, the escript filename will be <name>.escript. Examples: erlang_escript( name = "script", main_module = "main_module", script_name = "the_script", deps = [ ":escript_app", ], emu_args = ["+sbtu", "+A1"], ) erlang_application( name = "escript_app", srcs = ["src/main_module.erl"], applications = [ "kernel", "stdlib", ], ) "},{"title":"erlang_otp_binaries​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_otp_binaries","content":"def erlang_otp_binaries( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, erl: str, erlc: str, escript: str, labels: list[str] = _, os_env: None | dict[str, str] = _ ) -> None This target defines the executables for the Erlang toolchains, and is required to defined a toolchain. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneerl: Reference to erl binaryerlc: Reference to erlc binaryescript: Reference to escript binaryos_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain. Details​ Examples: erlang_otp_binaries( name = "local", erl = "local/erl", erlc = "local/erlc", escript = "local/escript", ) "},{"title":"erlang_release​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_release","content":"def erlang_release( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _toolchain: str = _, applications: list[str | (str, str)], buck2_compatibility: str = _, contacts: list[str] = _, include_erts: bool = _, labels: list[str] = _, multi_toolchain: None | list[str] = _, os_env: None | dict[str, str] = _, overlays: dict[str, list[str]] = _, release_name: None | str = _, version: str = _ ) -> None The erlang_release target builds OTP releases. Please refer to the OTP documentation for more details about releases. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneapplications: This field specifies the list of applications that the release should start in the given order, and optionally the start type. Top-level applications without given start type are started with type permanent.include_erts: This field controls whether OTP applications and the Erlang runtime system should be included as part of the release. Please note, that at the moment the erts folder is just erts/.multi_toolchain: This field controls whether the release should be built with a single toolchain, or multiple toolchains. In the latter case, all output paths are prefixed with the toolchain name.os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.overlays: Overlays can be used to add files to the release. They are specified as mapping from path (from the release root) to list of targets. The targets files are places flat at the target location with their basename.release_name: The release name can explicitly be set by this field. This overwrites the default from the target name.version: The version field specifies the release version. The release version is used in the release resource file, and is part of the path for the folder containing the boot scripts. Details​ The erlang_release target does by default (without overlays) package: applications that are required to start the releaserelease resource file <relname>.rel (see rel(4))boot script start.script (see rel(4))binary boot script start.bootbin/release_variables The release_variables file contains release name, version, and erts version in shell syntax, e.g. ERTS_VSN="12.1.2" REL_NAME="rel1" REL_VSN="1.0.0" The target name doubles as the default release name. If the release_name attribute is used, the release name will be sources from there instead. Examples: erlang_release( name = "world", version = "1.0.0", applications = [ "//apps//app_a:app_a", "//apps//app_b:app_b", ], overlays = { "releases/1.0.0": [ ":sys.config.src", ], "bin": [ ":start.sh", ], }, ) export_file( name = "sys.config.src", src = "sys.config", ) export_file( name = "start.sh", src = "start.sh", ) "},{"title":"erlang_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_test","content":"def erlang_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _artifact_annotation_mfa: str = _, _cli_lib: str = _, _ct_opts: str = _, _providers: str = _, _test_binary: str = _, _test_binary_lib: str = _, _toolchain: str = _, _trampoline: None | str = _, _trampolines: None | list[str] = _, buck2_compatibility: str = _, common_app_env: dict[str, str] = _, config_files: list[str] = _, contacts: list[str] = _, deps: list[str] = _, env: dict[str, str] = _, extra_ct_hooks: list[str] = _, extra_erl_flags: list[str] = _, labels: list[str] = _, os_env: None | dict[str, str] = _, preamble: str = _, property_tests: list[str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, resources: list[str] = _, shell_configs: list[str] = _, shell_libs: list[str] = _, suite: str ) -> None The erlang_test ruls defines a test target for a single test suite. In most cases you want to define multiple suites in one go. The erlang_tests macro allows users to generate erlang_test targets for multiple test suites. Each suite <name>_SUITE.erl will have a generated hidden erlang_test target whose name is <name>_SUITE. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one _trampoline: DEPRECATED. Use _trampolines instead. common_app_env: Application environment variables for the common application. config_files: Will specify what config files the erlang beam machine running test with should load, for reference look at OTP documentation. These ones should consist of default_output of some targets. In general, this field is filled with target coming from then export_file rule, as in the example below. deps: The set of dependencies needed for all suites included in the target to compile and run. They could be either erlang_app(lication) or erlang_test targets, although the latter is discouraged. If some suites need to access common methods, a common helper file should be created and included in the srcs field of the erlang_tests target. If some applications are included as dependencies of this target, their private include will automatically be pulled and made available for the test. That allows tests to access the private header files from the applications under test. env: Add the given values to the environment variables with which the test is executed. extra_ct_hooks: List of additional Common Test hooks. The strings are interpreted as Erlang terms. extra_erl_flags: List of additional command line arguments given to the erl command invocation. These arguments are added to the front of the argument list. os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain. resources: The resources field specifies targets whose default output are placed in the test data_dir directory for all the suites present in the macro target. Additionally, if data directory are present in the directory along the suite, this one will be pulled automatically for the relevant suite. Any target can be used, e.g. if you want to place a built escript in the data_dir directory, you can use an erlang_escript target. shell_configs: This attribute allows to set config files for the shell. The dependencies that are typically used here are export_file targets. shell_libs: This attribute allows to define additional dependencies for the shell. By default this is set to ["prelude//erlang/shell:buck2_shell_utils"] which includes a user_default module that loads and compiles modules with buck2 mechanisms. suite: The source file for the test suite. If you are using the macro, you should use the suites attribute instead. The suites attribute specifies which erlang_test targets should be generated. For each suite "path_to_suite/suite_SUITE.erl" an implicit 'erlang_test' target suite_SUITE will be generated. Details​ Each erlang_test target implements tests using the Common Test libraryOTP documentation. They can, although it is not recommended, also act as dependencies of other tests. The default output of this rule is a "test_folder", consisting of the compiled test suite and the data directory. For each suite <name>_SUITE.erl, if a data_dir <name>_SUITE_data is present along the suite, (as per the data_dir naming scheme for ct), it will automatically adds the corresponding resource target to the generated test target of the suite. Resources will be placed in the Data directory (data_dir)of each of the suite. It allows the writer of the rule to add global configuration files and global default dependencies (e.g meck). These ones should be specified using global variables erlang.erlang_tests_default_apps and erlang.erlang_tests_default_configrespectively. The erlang_tests macro forwards all attributes to the erlang_test. It defines some attributes that control how the targets get generated: srcs ([source]): Set of files that the suites might depend on and that are not part of any specific application. A "meta" application having those files as sources will automatically be created, and included in the dependencies of the tests. One can call buck2 build //my_app:test_SUITE to compile the test files together with its dependencies.buck2 test //my_app:other_test_SUITE to run the test.buck2 run //my_app:other_test_SUITE to open an interactive test shell, where tests can be run iteratively. buck2 test will rely on tpx to run the suite. To get access to tpx commands, add -- after the target. For example: buck2 test //my_app:other_test_SUITE -- --help will print the list of tpx available command line parameters.buck2 test //my_app:other_test_SUITE -- group.mycase will only run those test cases that match the pattern group.mycase Examples: erlang_test( name = "unit_test_SUITE", suite = "unit_test_SUTIE.erl", deps = [":my_other_app"], contacts = ["author@email.com"], ) erlang_tests( suites = ["test_SUITE.erl", "other_test_SUITE".erl], deps = [":my_app"], contacts = ["author@email.com"], ) "},{"title":"export_file​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#export_file","content":"def export_file( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, mode: None | str = _, out: None | str = _, src: None | str = _ ) -> None An export_file() takes a single file or folder and exposes it so other rules can use it. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onemode: How files are referenced internally in buck. If set to 'copy', then a full copy will be made into the new location in buck-out. If set to 'reference', the original file will be used by internal build rules in-place. However, this mode does not work across repositories or if the 'out' property is set. For read-only operations, 'reference' can be more performant.out: The name which the file will be called if another rule depends on it instead of the name it already has.src: The path to the file that should be exported. Details​ Examples: The best way to see how the export_file() rule works is with some examples. The common case is: export_file( name = 'example.html', ) # This is equivalent to export_file( name = 'example.html', src = 'example.html', out = 'example.html', ) It is sometimes useful to refer to the file not by its path, but by a more logical name: export_file( name = 'example', src = 'example.html', ) # This is equivalent to export_file( name = 'example', src = 'example.html', out = 'example.html', ) Finally, there are occasions where you want to export a file more than once but want to copy it to a different name for each output: export_file( name = 'runner', src = 'RemoteRunner.html', ) export_file( name = 'runner_hta', src = 'RemoteRunner.html', out = 'RemoteRunner.hta', ) Using the export_file() rule is also simple: export_file( name = 'example', src = 'example.html', ) genrule( name = 'demo', out = 'result.html', cmd = 'cp $(location :example) $OUT', ) "},{"title":"external_test_runner​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#external_test_runner","content":"def external_test_runner( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, binary: str, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"filegroup​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#filegroup","content":"def filegroup( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, copy: bool = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, srcs: list[str] | dict[str, str] = _ ) -> None This rule provides access to a set of files. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onesrcs: The set of files to include in this rule. Details​ Files are accessible to genrule()s by using their relative path after a $(location) string parameter macro. Other rules may handle filegroup() rules natively for attributes such as resources. Examples: In this example a target exports .xml files from all subdirectories in resources. filegroup( name = 'example', srcs = glob(['resources/**/*.xml']), ) genrule( name = 'process_xml', out = 'processed.xml', cmd = '$(exe //example:tool) -in $(location :example)/resources/file.xml > $OUT', ) "},{"title":"gen_aidl​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#gen_aidl","content":"def gen_aidl( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _java_toolchain: str = _, aidl: str, aidl_srcs: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, import_path: str = _, import_paths: list[str] = _, labels: list[str] = _, licenses: list[str] = _ ) -> None A gen_aidl() rule is used to generate .java files from .aidl files. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneaidl: The path to an .aidl file to convert to a .java file.aidl_srcs: Path to .aidl files the target aidl file imports.deps: A list of rules that must be built before this rule.import_path: The search path for import statements for the aidl command. (This is the -I argument when invoking aidl from the command line. For many apps it will be the base dir where all aidl files are, with project root as its parent, e.g. app/src/main/aidl.). This is the same as the path to the aidl file relative to what would be returned from root. Details​ Examples: android_library( name = 'lib', srcs = glob(['**/*.java']) + [':aidl'], manifest = '//res/org/opencv:manifest', deps = [ '//res/org/opencv:res', ], visibility = [ 'PUBLIC' ], ) gen_aidl( name = 'aidl', aidl = 'engine/OpenCVEngineInterface.aidl', import_path = 'java/', ) "},{"title":"genrule​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#genrule","content":"def genrule( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _genrule_toolchain: str = _, always_print_stderr: bool = _, bash: None | str = _, buck2_compatibility: str = _, cacheable: None | bool = _, cmd: None | str = _, cmd_exe: None | str = _, contacts: list[str] = _, default_host_platform: None | str = _, default_outs: None | list[str] = _, enable_sandbox: None | bool = _, env: dict[str, str] = _, environment_expansion_separator: None | str = _, executable: None | bool = _, labels: list[str] = _, licenses: list[str] = _, metadata_env_var: None | str = _, metadata_path: None | str = _, need_android_tools: bool = _, no_outputs_cleanup: bool = _, out: None | str = _, outs: None | dict[str, list[str]] = _, remote: None | bool = _, remote_execution_dependencies: list[dict[str, str]] = _, srcs: list[str] | dict[str, str] = _, type: None | str = _, weight: None | int = _ ) -> None A genrule() is used to generate files from a shell command. It must produce a single output file or folder. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one bash: A platform-specific version of the shell command parameter cmd. It runs on Linux and UNIX systems—including OSX—on which bash is installed. It has a higher priority than cmd. The bash argument is run with /usr/bin/env bash -c. It has access to the same set of macros and variables as the cmd argument. cmd: The shell command to run to generate the output file. It is the fallback for bash and cmd_exe arguments. The following environment variables are populated by Buck and available to the shell command. They are accessed using the syntax: ${<variable>} Example: ${SRCS} ${SRCS} A string expansion of the srcs argument delimited by the environment_expansion_separator argument where each element of srcs will be translated into a relative path. ${SRCDIR} The relative path to a directory to which sources are copied prior to running the command. ${OUT} The output file or directory for the genrule(). This variable will have whatever value is specified by the out argument if not using named outputs. If using named outputs, this variable will be the output directory. The value should be a valid filepath. The semantics of the shell command determine whether this filepath is treated as a file or a directory. If the filepath is a directory, then the shell command needs to create it if not using named outputs. Otherwise, it will be automatically created. All outputs (directories and files) must be readable, writable, and (in the case of directories) executable by the current user. The file or directory specified by this variable must always be written by this command. If not, the execution of this rule will be considered a failure, halting the build process. ${TMP} A temporary directory which can be used for intermediate results and will not be bundled into the output. cmd_exe: A platform-specific version of the shell command parameter cmd. It runs on Windows and has a higher priority than cmd. The cmd_exe argument is run with cmd.exe /v:off /c. It has access to the same set of macros and variables as the cmd argument. default_outs: Default output which must be present if the outs arg is present. Otherwise does not apply. If a rule with outs is consumed without an output label, the default output is returned. The default output does not need to be present in any of the named outputs defined in outs. Note that a maximum of one value may be present in this list. For example: default_outs = [ "output_one", ] is valid, whereas default_outs = [ "output_one", "output_two", ] is not. enable_sandbox: Whether this target should be executed in a sandbox or not. environment_expansion_separator: The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces. executable: Whether the output of the genrule is itself executable. Marking an output as executable makes buck run and $(exe ...) macro expansion work with this target. out: The name of the output file or directory. The complete path to this argument is provided to the shell command through the OUT environment variable. Only one of out or outs may be present. outs: Mapping defining named outputs to output paths relative to the rule's output directory. Only one of out or outs may be present. Example: genrule( name = "named_outputs", outs = { "output1": [ "out1.txt", ], "output2": [ "out2.txt", ], }, default_outs = [ "out1.txt" ], cmd = "echo something> $OUT/out1.txt && echo another> $OUT/out2.txt", ) Note that a maximum of one value may be present in the list in this map. For example: outs = { "output1": [ "out1.txt", ], }, is valid, whereas outs = { "output1": [ "out1.txt", "out2.txt", ], }, is not. remote: Opts this genrule in to remote execution. Note that it is only safe to execute a genrule remotely if it is completely hermetic and completely and correctly describes its dependencies. Defaults to false. This parameter is unstable. It is subject to removal, default reversal, and other arbitrary changes in the future. srcs: Either a list or a map of the source files which Buck makes available to the shell command at the path in the SRCDIR environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names. type: Specifies the type of this genrule. This is used for logging and is particularly useful for grouping genrules that share an underlying logical "type". For example, if you have the following cxx_genrule defined in the root directory of your Buck project cxx_genrule( name = 'cxx_gen', type = 'epilog', cmd = 'touch finish.txt; cp finish.txt $OUT', out = 'finish.txt' ) then the following buck query command buck query "attrfilter( type, 'epilog', '//...' )" returns //:cxx_gen weight: How many local slots these genrule should take when executing locally. Details​ Examples: This genrule() uses a Python script to derive a newAndroidManifest.xml from anAndroidManifest.xml in the source tree. Note you don't need to prepend execution commands withpython: Buck knows how to execute different kinds of binaries using $(exe) command. genrule( name = 'generate_manifest', srcs = [ 'AndroidManifest.xml', ], bash = '$(exe //python/android:basic_to_full) ' '$SRCDIR/AndroidManifest.xml > $OUT', cmd_exe = '$(exe //python/android:basic_to_full) ' '%SRCDIR%\\AndroidManifest.xml > %OUT%', out = 'AndroidManifest.xml', ) genrule( name = 'generate_manifest_with_named_outputs', srcs = [ 'AndroidManifest.xml', ], bash = '$(exe //python/android:basic_to_full) ' '$SRCDIR/AndroidManifest.xml > $OUT/AndroidManifest.xml', cmd_exe = '$(exe //python/android:basic_to_full) ' '%SRCDIR%\\AndroidManifest.xml > %OUT%\\AndroidManifest.xml', outs = { "manifest": [ "AndroidManifest.xml" ], }, default_outs = [ "AndroidManifest.xml" ], ) For named outputs, build with any of the following: buck build //:generate_manifest_with_named_outputs buck build //:generate_manifest_with_named_outputs[manifest] Consume in srcs with: export_file( name = "magic1", src = ":generate_manifest_with_named_outputs", out = "some_dir_to_copy_to/AndroidManifest.xml", ) export_file( name = "magic2", src = ":generate_manifest_with_named_outputs[manifest]", out = "some_dir_to_copy_to/AndroidManifest.xml", ) Note that magic1 consumes generate_manifest_with_named_outputs's default output. magic2 consumes generate_manifest_with_named_outputs's named output "manifest," which happen to be pointing to the same output as the default output in this case, but they do not have to point to the same output. "},{"title":"git_fetch​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#git_fetch","content":"def git_fetch( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _git_fetch_tool: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, repo: str, rev: str ) -> None Checkout a commit from a git repository. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onerepo: Url suitable as a git remote.rev: 40-digit hex SHA-1 of the git commit. Details​ Examples: git_fetch( name = "serde.git", repo = "https://github.com/serde-rs/serde", rev = "fccb9499bccbaca0b7eef91a3a82dfcb31e0b149", ) "},{"title":"go_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_binary","content":"def go_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _exec_os_type: str = _, _go_stdlib: str = _, _go_toolchain: str = _, _race: bool = _, _tags: list[str] = _, asan: bool = _, assembler_flags: list[str] = _, buck2_compatibility: str = _, cgo_enabled: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, embedcfg: None | str = _, external_linker_flags: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_mode: None | str = _, link_style: None | str = _, linker_flags: list[str] = _, package_root: None | str = _, platform: None | str = _, platform_external_linker_flags: list[(str, list[str])] = _, race: bool = _, resources: list[str] = _, srcs: list[str] = _, tags: list[str] = _ ) -> None A go_binary() rule builds a native executable from the supplied set of Go source files and dependencies. The files supplied are expected to be in the main package, implicitly. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneasan: If true, enable ASAN.assembler_flags: The set of additional assembler flags to pass to go tool asm.cgo_enabled: Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False.compiler_flags: The set of additional compiler flags to pass to go tool compile.deps: The set of dependencies of this rule. Currently, this only supports go_library rules.external_linker_flags: Extra external linker flags passed to go link via -extld argument. If argument is non-empty or cgo_library is used, the link mode will switch to external.link_mode: Determines the link mode (equivalent of -mode). Can be one of the following values: internal, external. If no value is provided, the mode is set automatically depending on the other args.link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: static, static_pic or shared. This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument.linker_flags: Extra linker flags passed to go linkpackage_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"race: If true, enable data race detection.srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler.tags: Build tags to apply to this target and its dependencies. Details​ Examples: For more examples, check out our integration tests. go_binary( name='greet', srcs=[ 'main.go', ], deps=[ ':greeting', ], ) go_library( name='greeting', srcs=[ 'greeting.go', ], deps=[ ':join', ], ) go_library( name='join', srcs=[ 'join.go', ], ) "},{"title":"go_bootstrap_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_bootstrap_binary","content":"def go_bootstrap_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _go_toolchain: str = _, buck2_compatibility: str = _, entrypoints: list[str] = _, srcs: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneentrypoints: Package name or file namessrcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler. "},{"title":"go_exported_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_exported_library","content":"def go_exported_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _exec_os_type: str = _, _go_stdlib: str = _, _go_toolchain: str = _, _race: bool = _, _tags: list[str] = _, asan: bool = _, assembler_flags: list[str] = _, buck2_compatibility: str = _, build_mode: str, cgo_enabled: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, embedcfg: None | str = _, external_linker_flags: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_mode: None | str = _, link_style: None | str = _, linker_flags: list[str] = _, package_root: None | str = _, platform: None | str = _, platform_external_linker_flags: list[(str, list[str])] = _, race: bool = _, resources: list[str] = _, srcs: list[str] = _, tags: list[str] = _ ) -> None A go_exported_library() rule builds a C library from the supplied set of Go source files and dependencies. This is done via -buildmode flag and "//export" annotations in the code. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneasan: If true, enable ASAN.assembler_flags: The set of additional assembler flags to pass to go tool asm.build_mode: Determines the build mode (equivalent of -buildmode). Can be one of the following values: c_archive, c_shared. This argument is valid only if at there is at least one cgo_library declared in deps. In addition you should make sure that -sharedflag is added tocompiler_flagsand go version undergo.gorootis compiled with that flag present in:gcflags, ldflagsandasmflags``cgo_enabled: Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False.compiler_flags: The set of additional compiler flags to pass to go tool compile.deps: The set of dependencies of this rule. Currently, this only supports go_library rules.external_linker_flags: Extra external linker flags passed to go link via -extld argument. If argument is non-empty or cgo_library is used, the link mode will switch to external.link_mode: Determines the link mode (equivalent of -mode). Can be one of the following values: internal, external. If no value is provided, the mode is set automatically depending on the other args.link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: static, static_pic or shared. This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument.linker_flags: Extra linker flags passed to go linkpackage_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"race: If true, enable data race detection.resources: Static files to be symlinked into the working directory of the test. You can access these in your by opening the files as relative paths, e.g. ioutil.ReadFile("testdata/input").srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler.tags: Build tags to apply to this target and its dependencies. Details​ Examples: For more examples, check out our integration tests. go_exported_library( name = "shared", srcs = ["main.go"], build_mode = "c_shared", compiler_flags = ["-shared"], deps = [":example"], ) cgo_library( name = "example", package_name = "cgo", srcs = [ "export-to-c.go", # file with //export annotations ], cgo_compiler_flags = [], compiler_flags = [], headers = [], ) cxx_genrule( name = "cgo_exported_headers", out = "includes", cmd = ( "mkdir -p $OUT && " + "cat `dirname $(location :shared)`/includes/*.h > $OUT/_cgo_export.h" ), ) prebuilt_cxx_library( name = "cxx_so_with_header", header_dirs = [":cgo_exported_headers"], shared_lib = ":shared", ) "},{"title":"go_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_library","content":"def go_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _cgo_enabled: None | bool = _, _compile_shared: bool = _, _coverage_mode: None | str = _, _go_stdlib: str = _, _go_toolchain: str = _, _race: bool = _, _tags: list[str] = _, assembler_flags: list[str] = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, embedcfg: None | str = _, exported_deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, package_name: None | str = _, package_root: None | str = _, srcs: list[str] = _ ) -> None A go_library() rule builds a native library from the supplied set of Go source files and dependencies. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneassembler_flags: The set of additional assembler flags to pass to go tool asm.compiler_flags: The set of additional compiler flags to pass to go tool compile.deps: The set of dependencies of this rule. Currently, this only supports go_library rules.package_name: Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b")package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler. Details​ Examples: For more examples, check out our integration tests. go_library( name='greeting', srcs=[ 'greeting.go', ], deps=[ ':join', ], ) "},{"title":"go_stdlib​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_stdlib","content":"def go_stdlib( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _cgo_enabled: None | bool = _, _compile_shared: bool = _, _exec_os_type: str = _, _go_toolchain: str = _, _race: bool = _, _tags: list[str] = _, buck2_compatibility: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"go_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_test","content":"def go_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _coverage_mode: None | str = _, _exec_os_type: str = _, _go_stdlib: str = _, _go_toolchain: str = _, _inject_test_env: str = _, _race: bool = _, _remote_test_execution_toolchain: str = _, _tags: list[str] = _, _testmaingen: str = _, asan: bool = _, assembler_flags: list[str] = _, buck2_compatibility: str = _, cgo_enabled: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, coverage_mode: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, embedcfg: None | str = _, env: dict[str, str] = _, external_linker_flags: list[str] = _, labels: list[str] = _, library: None | str = _, licenses: list[str] = _, link_mode: None | str = _, link_style: None | str = _, linker_flags: list[str] = _, package_name: None | str = _, package_root: None | str = _, platform: None | str = _, race: bool = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, resources: list[str] = _, run_test_separately: bool = _, runner: None | str = _, specs: None | str = _, srcs: list[str] = _, tags: list[str] = _, test_rule_timeout_ms: None | int = _ ) -> None A go_test() rule builds a native binary from the specified Go source and resource files—and a generated main file. It's similar to the go test command. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one asan: If true, enable ASAN. assembler_flags: The set of additional assembler flags to pass to go tool asm. cgo_enabled: Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False. compiler_flags: The set of additional compiler flags to pass to go tool compile. deps: The set of dependencies of this rule. Currently, this only supports go_library rules. env: A map of environment variables and values to set when running the test. external_linker_flags: Extra external linker flags passed to go link via -extld argument. If argument is non-empty or cgo_library is used, the link mode will switch to external. labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test library: Specify the library that this internal test is testing. This will copy the srcs, package_name and deps from the target specified so you don't have to duplicate them. link_mode: Determines the link mode (equivalent of -mode). Can be one of the following values: internal, external. If no value is provided, the mode is set automatically depending on the other args. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: static, static_pic or shared. This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument. linker_flags: Extra linker flags passed to go link package_name: Sets the full name of the test package being compiled. This defaults to the path from the buck root with "_test" appended. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b_test") Note: if you want to test packages internally (i.e. same package name), use the libraryparameter instead of setting package_name to include the tested source files. package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo" race: If true, enable data race detection. srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler. tags: Build tags to apply to this target and its dependencies. test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . Details​ If your test requires static files you should specify these in the resources argument. If you do not specify these files, they won't be available when your test runs. Examples: For more examples, check out our integration tests. go_library( name='greeting', srcs=[ 'greeting.go', ], deps=[ ':join', ], ) go_test( name='greeting-test', srcs=[ 'greeting_ext_test.go', ], deps=[ ':greeting' ], ) go_test( name='greeting-internal-test', package_name='greeting', srcs=[ 'greeting.go', 'greeting_test.go', ], deps=[ ':join', ], ) # Or go_test( name='greeting-better-internal-test', srcs=['greeting_test.go'], library=':greeting', ) "},{"title":"go_test_runner​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_test_runner","content":"def go_test_runner( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, test_runner_generator: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"groovy_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#groovy_library","content":"def groovy_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_groovyc_arguments: list[str] = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _ ) -> None A groovy_library() rule is used to define a set of Groovy files that can be compiled together. It can also be used to cross compile a set of Groovy and Java files. The main output of a groovy_library() rule is a single JAR file containing all of the compiled class files and resources. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one deps: Rules (usually other groovy_library or java_library() rules) that are used to generate the classpath required to compile this groovy_library. This is the same as in java_library(). exported_deps: Other groovy_library and java_library() rules that depend on this rule will also include its exported_deps in their classpaths. This is the same as in java_library(). extra_arguments: Only used during cross compilation. This is the same as in java_library(). extra_groovyc_arguments: List of additional arguments to pass into the Groovy compiler. java_version: Only used during cross compilation. This is the same as in java_library(). provided_deps: This is the same as in java_library(). resources: This is the same as in java_library(). source: Only used during cross compilation. This is the same as in java_library(). srcs: The set of files to compile for this rule. Usually these will all end in .groovy, but if any of the files end in .java, cross compilation using the jdk found in JAVA_HOME will occur. target: Only used during cross compilation. This is the same as in java_library(). Details​ Examples: # A rule that compiles a single .groovy file. groovy_library( name = 'example', srcs = ['MySourceFile.groovy'], ) # A rule that compiles all of the .groovy files under the directory in # which the rule is defined using glob() groovy_library( name = 'groovy-only', srcs = glob(['**/*.groovy']), ) # A rule that cross compiles all of the .groovy and .java files under # the directory in which the rule is defined, failing if compiling the # java files generates any compiler warnings groovy_library( name = 'cross-compilation', srcs = glob(['**/*.groovy', '**/*.java']), java_version = 8, extra_arguments = [ '-Werror', ], ) "},{"title":"groovy_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#groovy_test","content":"def groovy_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_library_whitelist: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, env: dict[str, str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_groovyc_arguments: list[str] = _, fork_mode: str = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, run_test_separately: bool = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, std_err_log_level: None | int | str = _, std_out_log_level: None | int | str = _, target: None | str = _, test_case_timeout_ms: None | int = _, test_rule_timeout_ms: None | int = _, test_type: None | str = _, use_cxx_libraries: None | bool = _, use_dependency_order_classpath: None | bool = _, vm_args: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"gwt_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#gwt_binary","content":"def gwt_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _java_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, draft_compile: bool = _, experimental_args: list[str] = _, labels: list[str] = _, licenses: list[str] = _, local_workers: int = _, module_deps: list[str] = _, modules: list[str] = _, optimize: int = _, strict: bool = _, style: str = _, vm_args: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"halide_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#halide_library","content":"def halide_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, compiler_deps: list[str] = _, compiler_flags: list[str] = _, compiler_invocation_flags: list[str] = _, configs: dict[str, dict[str, str]] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, executable_name: None | str = _, fat_lto: bool = _, focused_list_target: None | str = _, frameworks: list[str] = _, function_name: None | str = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_style: None | str = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, raw_headers: list[str] = _, srcs: list[str | (str, list[str])] = _, supported_platforms_regex: None | str = _, thin_lto: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A halide_library() rule represents a set of Halide sources, along with the "compiler" code needed to compile them into object format (see the Halide site for information about Halide and about static compilation of Halide pipelines). The object code will be generated for the target architecture. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_deps: The dependencies of the halide compiler itself. Targets that depend on the halide_library rule will not include or link the outputs of these targets.compiler_flags: Flags to use when compiling any of the above sources (which require compilation).deps: The dependencies of the generated halide pipeline code. This is useful if, for example, your pipeline calls an external function using Halide::Func::define_extern.linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.srcs: The set of halide sources to compile for this rule. The sources will be compiled and linked for the host architecture, and the resulting binary will be run to produce the object code for the Halide pipeline.supported_platforms_regex: If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms. Details​ Examples: halide_library( # Your library name. name = 'brighter', # Your pipeline + compiler sources. srcs = ['halide/main.cpp'], # Any dependencies for your compiler. Note that targets that depend on # this rule WILL NOT include or link the output(s) of these targets. compiler_deps = [ # You'll need libHalide to use this rule; in our example, we assume it's # located in the 'third-party/halide' directory. '//third-party/halide:halide' ], # Any dependencies for your generated shader. Targets that depend on this # rule will include and/or link the output(s) of these targets. deps = [ # ... ], ) "},{"title":"haskell_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_binary","content":"def haskell_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _haskell_toolchain: str = _, auto_link_groups: bool = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, enable_profiling: bool = _, ghci_platform_preload_deps: list[(str, list[str])] = _, ghci_preload_deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_group_deps: list[str] = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_public_deps_label: None | str = _, link_style: None | str = _, linker_flags: list[str] = _, main: None | str = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_linker_flags: list[(str, list[str])] = _, srcs: list[str] | dict[str, str] = _, template_deps: list[str] = _ ) -> None A haskell_binary() rule represents a groups of Haskell sources and deps which build an executable. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_flags: Flags to pass to the Haskell compiler when compiling this rule's sources.deps: Either haskell_library() or prebuilt_haskell_library() rules from which this rules sources import modules or native linkable rules exporting symbols this rules sources call into.link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.main: The main module serving as the entry point into the binary. If not specified, the compiler default is used.platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.srcs: A list of Haskell sources to be built by this rule. The dictionary option is deprecated. Details​ Examples: haskell_binary( name = 'foo', srcs = [ 'Foo.hs', ], ) "},{"title":"haskell_ghci​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_ghci","content":"def haskell_ghci( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _haskell_toolchain: str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, enable_profiling: bool = _, extra_script_templates: list[str] = _, ghci_bin_dep: None | str = _, ghci_init: None | str = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_preload_deps: list[(str, list[str])] = _, preload_deps: list[str] = _, srcs: list[str] | dict[str, str] = _, template_deps: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"haskell_haddock​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_haddock","content":"def haskell_haddock( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _haskell_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, haddock_flags: list[str] = _, labels: list[str] = _, licenses: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"haskell_ide​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_ide","content":"def haskell_ide( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _haskell_toolchain: str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, extra_script_templates: list[str] = _, include_projects: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_style: str, linker_flags: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, srcs: list[str] | dict[str, str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"haskell_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_library","content":"def haskell_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _haskell_toolchain: str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, enable_profiling: bool = _, ghci_platform_preload_deps: list[(str, list[str])] = _, ghci_preload_deps: list[str] = _, haddock_flags: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_whole: bool = _, linker_flags: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_linker_flags: list[(str, list[str])] = _, preferred_linkage: str = _, srcs: list[str] | dict[str, str] = _, template_deps: list[str] = _ ) -> None A haskell_library() rule is used to identity a group of Haskell sources. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_flags: Flags to pass to the Haskell compiler when compiling this rule's sources.deps: Either haskell_library() or prebuilt_haskell_library() rules from which this rules sources import modules or native linkable rules exporting symbols this rules sources call into.platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.srcs: A list of Haskell sources to be built by this rule. The dictionary option is deprecated. Details​ Examples: haskell_library( name = 'fileutil', srcs = [ 'FileUtil.hs', ], ) "},{"title":"haskell_prebuilt_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_prebuilt_library","content":"def haskell_prebuilt_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_header_dirs: list[str] = _, db: str, default_host_platform: None | str = _, deps: list[str] = _, enable_profiling: bool = _, exported_compiler_flags: list[str] = _, exported_linker_flags: list[str] = _, exported_post_linker_flags: list[str] = _, id: str = _, import_dirs: list[str] = _, labels: list[str] = _, licenses: list[str] = _, pic_profiled_static_libs: list[str] = _, pic_static_libs: list[str] = _, profiled_static_libs: list[str] = _, shared_libs: dict[str, str] = _, static_libs: list[str] = _, version: str = _ ) -> None A prebuilt_haskell_library() rule is used to identify Haskell prebuilt libraries and their associated interface files. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: Other prebuilt_haskell_library() rules from which this library imports modules.exported_compiler_flags: Compiler flags used by dependent rules when compiling with this library.exported_linker_flags: Linker flags used by dependent rules when linking with this library.shared_libs: A map of shared library names to shared library paths to use when building a dynamically linked top-level target.static_libs: The libraries to use when building a statically linked top-level target. Details​ Examples: prebuilt_haskell_library( name = 'file', static_interfaces = [ 'interfaces', ], shared_interfaces = [ 'interfaces_dyn', ], static_libs = [ 'libFileUtil.a', ], shared_libs = { 'libFileUtil.so': 'libFileUtil.so', }, ) "},{"title":"http_archive​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#http_archive","content":"def http_archive( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, excludes: list[str] = _, exec_deps: str = _, labels: list[str] = _, licenses: list[str] = _, out: None | str = _, sha1: None | str = _, sha256: None | str = _, strip_prefix: None | str = _, sub_targets: list[str] = _, type: None | str = _, urls: list[str] = _, vpnless_urls: list[str] = _ ) -> None An http_archive() rule is used to download and extract archives from the Internet to be used as dependencies for other rules. These rules are downloaded by running fetch, or can be downloaded as part of build by setting .buckconfig Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one excludes: An optional list of regex patterns. All file paths in the extracted archive which match any of the given patterns will be omitted. exec_deps: When using http_archive as an anon target, the rule invoking the anon target needs to mirror this attribute into its own attributes, and forward the provider into the anon target invocation. When using http_archive normally not as an anon target, the default value is always fine. out: An optional name to call the directory that the downloaded artifact is extracted into. Buck will generate a default name if one is not provided that uses the name of the rule. sha256: The SHA-256 hash of the downloaded artifact. Buck verifies this is correct and fails the fetch command if it doesn't match in order to guarantee repeatable builds. strip_prefix: If set, files under this path will be extracted to the root of the output directory. Siblings or cousins to this prefix will not be extracted at all. For example, if a tarball has the layout: foo/bar/bar-0.1.2/data.dat foo/baz/baz-0.2.3 foo_prime/bar-0.1.2 Only data.dat will be extracted, and it will be extracted into the output directory specified in out. sub_targets: A list of filepaths within the archive to be made accessible as sub-targets. For example if we have an http_archive with name = "archive" and sub_targets = ["src/lib.rs"], then other targets would be able to refer to that file as ":archive[src/lib.rs]". type: Normally, archive type is determined by the file's extension. If type is set, then autodetection is overridden, and the specified type is used instead. Supported values are: zip, tar, tar.gz,tar.bz2, tar.xz, and tar.zst. urls: A list of urls to attempt to download from. They are tried in order, and subsequent ones are only tried if the download fails. If validation fails, a new URL is not used. Supported protocols are "http", "https", and "mvn". vpnless_urls: Additional URLs from which this resource can be downloaded when off VPN. Meta-internal only. Details​ Examples: Using http_archive(), third party packages can be downloaded from an https URL and used in other library types. http_archive( name = 'thrift-archive', urls = [ 'https://internal-mirror.example.com/bin/thrift-compiler-0.1.tar.gz.badextension', ], sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596', type='tar.gz', strip_prefix='thrift-compiler-0.1' ) genrule( name = 'thrift-compiler-bin', out = 'thrift', cmd = 'cp $(location :thrift-archive)/bin/thrift $OUT', executable = True, ) genrule( name="my-thrift-lib-cpp2", cmd="$(exe :thrift-compiler-bin) --gen cpp2 -o $OUT $(location //:thrift-file)", out="gen-cpp2", ) "},{"title":"http_file​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#http_file","content":"def http_file( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, executable: None | bool = _, labels: list[str] = _, licenses: list[str] = _, out: None | str = _, sha1: None | str = _, sha256: None | str = _, urls: list[str] = _, vpnless_urls: list[str] = _ ) -> None An http_file() rule is used to download files from the Internet to be used as dependencies for other rules. This rule only downloads single files, and can optionally make them executable (see http_file()executable) These rules are downloaded by running fetch, or can be downloaded as part of build by setting .buckconfig Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneexecutable: Whether or not the file should be made executable after downloading. If true, this can also be used via run and the $(exe ) string parameter macrosout: An optional name to call the downloaded artifact. Buck will generate a default name if one is not provided that uses the name of the rule.sha256: The SHA-256 hash of the downloaded artifact. Buck verifies this is correct and fails the fetch command if it doesn't match in order to guarantee repeatable builds.urls: A list of urls to attempt to download from. They are tried in order, and subsequent ones are only tried if the download fails. If validation fails, a new URL is not used. Supported protocols are "http", "https", and "mvn".vpnless_urls: Additional URLs from which this resource can be downloaded when off VPN. Meta-internal only. Details​ Examples: Using http_file(), third party packages can be downloaded from an https URL and used in java libraries. http_file( name = 'guava-23-bin', urls = [ 'http://search.maven.org/remotecontent?filepath=com/google/guava/guava/23.0/guava-23.0.jar', ], sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596', ) http_file( name = 'guava-23-sources', urls = [ 'http://search.maven.org/remotecontent?filepath=com/google/guava/guava/23.0/guava-23.0-sources.jar', ], sha256 = '37fe8ba804fb3898c3c8f0cbac319cc9daa58400e5f0226a380ac94fb2c3ca14', ) prebuilt_java_library( name = 'guava-23', binary_jar = ':guava-23-bin', source_jar = ':guava-23-source', ) Tooling can also be fetched with http_file() and used by a genrule(). genrule( name="my-thrift-lib-cpp2", cmd="$(exe :thrift-compiler-bin) --gen cpp2 -o $OUT $(location //:thrift-file)", out="gen-cpp2", ) http_file( name = 'thrift-compiler-bin', url = 'https://internal-mirror.example.com/bin/thrift-compiler', sha256 = 'c24932ccabb66fffb2d7122298f7f1f91e0b1f14e05168e3036333f84bdf58dc', executable = True, ) Here's an example of a http_file() using a mvn URI which uses a Maven classifier. http_file( name = 'guava-23-bin', urls = [ 'mvn:com.google.guava:guava:jar:23.0', ], sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596', ) "},{"title":"jar_genrule​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#jar_genrule","content":"def jar_genrule( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _genrule_toolchain: str = _, _java_toolchain: str = _, always_print_stderr: bool = _, bash: None | str = _, buck2_compatibility: str = _, cacheable: None | bool = _, cmd: None | str = _, cmd_exe: None | str = _, contacts: list[str] = _, default_host_platform: None | str = _, enable_sandbox: None | bool = _, environment_expansion_separator: None | str = _, labels: list[str] = _, licenses: list[str] = _, metadata_env_var: None | str = _, metadata_path: None | str = _, need_android_tools: bool = _, no_outputs_cleanup: bool = _, remote: None | bool = _, remote_execution_dependencies: list[dict[str, str]] = _, srcs: list[str] | dict[str, str] = _, type: None | str = _, weight: None | int = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"java_annotation_processor​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_annotation_processor","content":"def java_annotation_processor( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, does_not_affect_abi: bool = _, isolate_class_loader: bool = _, labels: list[str] = _, licenses: list[str] = _, processor_class: str = _, supports_abi_generation_from_source: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"java_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_binary","content":"def java_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _java_toolchain: str = _, blacklist: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, do_not_create_inner_jar: bool = _, generate_wrapper: bool = _, java_args_for_run_info: list[str] = _, labels: list[str] = _, licenses: list[str] = _, main_class: None | str = _, manifest_file: None | str = _, meta_inf_directory: None | str = _ ) -> None A java_binary() rule is used to create a JAR file of the compiled .class files and resources of the java_library() rules on which it depends. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one blacklist: A list of patterns that identify files to exclude from the final generated JAR file. Example: java_binary( name = 'example', blacklist = [ # Excludes com.example.A and com.example.Alligator, # as well as their inner classes and any non-class files that happen to match # the pattern 'com.example.A', # Excludes all files from org/slf4j/**/*. 'org.slf4j', ], deps = [ ':example1', ':third-party-stuff', ], ) deps: Rules (normally of type java_library) that should be compiled and whose .class files and resources should be included in the generated JAR file. main_class: If provided, this will be the value specified as the Main-Class attribute of the META-INF/MANIFEST.MF file in the generated JAR file. Also, when this rule is used as an executable in a genrule(), main_class will indicate the class whose main() method will be invoked to process the command-line arguments. This is consistent with the expected usage of java -jar *<name.jar>* *<args>*. manifest_file: If provided, this manifest will be used when generating the JAR file. If combined with main_class, the specified manifest file will be used but the main_class will override the main class in the manifest. "},{"title":"java_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_library","content":"def java_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _dex_min_sdk_version: None | int = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _java_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, jar_postprocessor: None | str = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _, validation_deps: list[str] = _ ) -> None A java_library() rule defines a set of Java files that can be compiled together. The main output of a java_library() rule is a single JAR file containing all of the compiled class files, as well as the static files specified in the resources argument. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one deps: Rules (usually other java_library rules) that are used to generate the classpath required to compile this java_library. exported_deps: Other rules that depend on this rule will also include its exported_deps in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of prebuilt_jar rules as a single target for callers to depend on. Targets in exported_deps are implicitly included in the deps of this rule, so they don't need to be repeated there. exported_provided_deps: This is a combination of provided_deps and exported_deps. Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target. extra_arguments: List of additional arguments to pass into the Java compiler. These arguments follow the ones specified in .buckconfig. java_version: Equivalent to setting both source and target to the given value. Setting this and source or target (or both!) is an error. on_unused_dependencies: Action performed when Buck detects that some dependencies are not used during Java compilation. Note that this feature is experimental and does not handle runtime dependencies. The valid values are: ignore (default): ignore unused dependencies,warn: emit a warning to the console,fail: fail the compilation. This option overrides the default value from . provided_deps: These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of provided_deps include the JEE servlet APIs. When this rule is included in a , the provided_deps will not be packaged into the output. remove_classes: Specifies a list of Patterns that are used to exclude classes from the JAR. The pattern matching is based on the name of the class. This can be used to exclude a member class or delete a local view of a class that will be replaced during a later stage of the build. required_for_source_only_abi: Indicates that this rule must be present on the classpath during source-only ABI generation of any rule that depends on it. Typically this is done when a rule contains annotations, enums, constants, or interfaces. Having rules present on the classpath during source-only ABI generation prevents Buck from completely flattening the build graph, thus reducing the performance win from source-only ABI generation. These rules should be kept small (ideally just containing annotations, constants, enums, and interfaces) and with minimal dependencies of their own. resources: Static files to include with the compiled .class files. These files can be loaded via Class.getResource(). Note: If resources_root isn't set, Buck uses the .buckconfigproperty in .buckconfig to determine where resources should be placed within the generated JAR file. source: Specifies the version of Java (as a string) to interpret source files as. Overrides the value in "source_level" in the "java" section of .buckconfig. source_only_abi_deps: These are dependencies that must be present during source-only ABI generation. Typically such dependencies are added when some property of the code in this rule prevents source-only ABI generation from being correct without these dependencies being present. Having source_only_abi_deps prevents Buck from completely flattening the build graph, thus reducing the performance win from source-only ABI generation. They should be avoided when possible. Often only a small code change is needed to avoid them. For more information on such code changes, read aboutsource-only ABI generation. srcs: The set of .java files to compile for this rule. If any of the files in this list end in .src.zip, then the entries in the ZIP file that end in .java will be included as ordinary inputs to compilation. This is common when using a genrule() to auto-generate some Java source code that needs to be compiled with some hand-written Java code. target: Specifies the version of Java (as a string) for which to generate code. Overrides the value in "target_level" in the "java" section of .buckconfig. Details​ Examples: # A rule that compiles a single .java file. java_library( name = 'JsonUtil', srcs = ['JsonUtil.java'], deps = [ '//third_party/guava:guava', '//third_party/jackson:jackson', ], ) # A rule that compiles all of the .java files under the directory in # which the rule is defined using glob(). It also excludes an # individual file that may have additional dependencies, so it is # compiled by a separate rule. java_library( name = 'messenger', srcs = glob(['**/*.java'], excludes = ['MessengerModule.java']), deps = [ '//src/com/facebook/base:base', '//third_party/guava:guava', ], ) java_library( name = 'MessengerModule', srcs = ['MessengerModule.java'], deps = [ '//src/com/facebook/base:base', '//src/com/google/inject:inject', '//third_party/guava:guava', '//third_party/jsr-330:jsr-330', ], ) # A rule that builds a library with both relative and # fully-qualified deps. java_library( name = 'testutil', srcs = glob(['tests/**/*.java'], excludes = 'tests/**/*Test.java'), deps = [ ':lib-fb4a', '//java/com/facebook/base:base', ], ) "},{"title":"java_plugin​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_plugin","content":"def java_plugin( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, does_not_affect_abi: bool = _, isolate_class_loader: bool = _, labels: list[str] = _, licenses: list[str] = _, plugin_name: str = _, supports_abi_generation_from_source: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"java_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_test","content":"def java_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _inject_test_env: str = _, _is_building_android_binary: bool = _, _java_test_toolchain: str = _, _java_toolchain: str = _, _remote_test_execution_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_library_whitelist: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, env: dict[str, str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, fork_mode: str = _, jar_postprocessor: None | str = _, java: None | str = _, java_agents: list[str] = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, run_test_separately: bool = _, runner: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, specs: None | str = _, srcs: list[str] = _, std_err_log_level: None | int | str = _, std_out_log_level: None | int | str = _, target: None | str = _, test_case_timeout_ms: None | int = _, test_class_names_file: None | str = _, test_rule_timeout_ms: None | int = _, test_type: None | str = _, unbundled_resources_root: None | str = _, use_cxx_libraries: None | bool = _, use_dependency_order_classpath: None | bool = _, vm_args: list[str] = _ ) -> None A java_test() rule is used to define a set of .java files that contain tests to run via JUnit. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one cxx_library_whitelist: EXPERIMENTAL. List of cxx_libraries to build, if use_cxx_libraries is true. This can be useful if some dependencies are Android-only and won't build on the default platform. deps: Same as java_library(). // org.junit.rules.Timeout was not introduced until 4.7. Must include JUnit (version 4.7 or later) as a dependency for JUnit tests. Must include TestNG (version 6.2 or later) and hamcrest as a dependencies for TestNG tests. env: A map of environment names and values to set when running the test. fork_mode: Controls whether tests will all be run in the same process or a process will be started for each set of tests in a class. (This is mainly useful when porting Java tests to Buck from Apache Ant which allows JUnit tasks to set a fork="yes" property. It should not be used for new tests since it encourages tests to not cleanup after themselves and increases the tests' computational resources and running time.) noneAll tests will run in the same process.per_testA process will be started for each test class in which all tests of that test class will run. labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test resources: Same as java_library(). source: Java language level for compiling. Corresponds to the -source argument for javac. srcs: Like java_library(), all of the .java files specified by the srcs argument will be compiled when this rule is built. In addition, all of the corresponding .class files that are built by this rule will be passed as arguments to JUnit when this rule is run as a test. .class files that are passed to JUnit that do not have any methods annotated with @Test are considered failed tests, so make sure that only test case classes are specified as srcs. This is frequently done by specifying srcs as glob(['**/*Test.java']). std_err_log_level: Same as std_out_log_level, but for std err. std_out_log_level: Log level for messages from the source under test that buck will output to std out. Value must be a valid java.util.logging.Level value. target: Bytecode target level for compiling. Corresponds to the -target argument for javac. test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . test_type: Specifies which test framework to use. The currently supported options are 'junit' and 'testng'. use_cxx_libraries: Whether or not to build and link against cxx_library() dependencies when testing. vm_args: Runtime arguments to the JVM running the tests. "},{"title":"java_test_runner​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_test_runner","content":"def java_test_runner( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, main_class: str = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"js_bundle​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#js_bundle","content":"def js_bundle( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _is_release: bool = _, _platform: str = _, android_package: None | str = _, buck2_compatibility: str = _, bundle_name: None | str = _, bundle_name_for_flavor: list[(str, str)] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, entry: str | list[str], extra_json: None | str = _, fallback_transform_profile: None | str = _, labels: list[str] = _, licenses: list[str] = _, worker: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"js_bundle_genrule​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#js_bundle_genrule","content":"def js_bundle_genrule( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _genrule_toolchain: str = _, _is_release: bool = _, _platform: str = _, always_print_stderr: bool = _, bash: None | str = _, buck2_compatibility: str = _, bundle_name: None | str = _, bundle_name_for_flavor: list[(str, str)] = _, cacheable: None | bool = _, cmd: None | str = _, cmd_exe: None | str = _, contacts: list[str] = _, default_host_platform: None | str = _, enable_sandbox: None | bool = _, environment_expansion_separator: None | str = _, js_bundle: str, labels: list[str] = _, licenses: list[str] = _, metadata_env_var: None | str = _, metadata_path: None | str = _, need_android_tools: bool = _, no_outputs_cleanup: bool = _, remote: None | bool = _, remote_execution_dependencies: list[dict[str, str]] = _, rewrite_deps_file: bool = _, rewrite_misc: bool = _, rewrite_sourcemap: bool = _, skip_resources: bool = _, srcs: list[str] | dict[str, str] = _, type: str = _, weight: None | int = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"js_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#js_library","content":"def js_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asset_dest_path_resolver: None | str = _, _build_only_native_code: bool = _, _is_release: bool = _, _platform: str = _, asset_extensions: None | list[str] = _, asset_platforms: None | list[str] = _, base_path: None | str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, extra_json: None | str = _, labels: list[str] = _, licenses: list[str] = _, srcs: list[str | (str, str)] = _, worker: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"julia_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#julia_binary","content":"def julia_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _julia_toolchain: str = _, buck2_compatibility: str = _, deps: list[str] = _, julia_args: list[str] = _, julia_flags: list[str] = _, main: str, srcs: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"julia_jll_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#julia_jll_library","content":"def julia_jll_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _julia_toolchain: str = _, buck2_compatibility: str = _, jll_name: str, lib_mapping: list[str] | dict[str, str], uuid: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"julia_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#julia_library","content":"def julia_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _julia_toolchain: str = _, buck2_compatibility: str = _, deps: list[str] = _, project_toml: str, resources: list[str] = _, srcs: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"julia_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#julia_test","content":"def julia_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _inject_test_env: str = _, _julia_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, deps: list[str] = _, julia_args: list[str] = _, julia_flags: list[str] = _, main: str, srcs: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"keystore​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#keystore","content":"def keystore( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, properties: str, store: str ) -> None A keystore() contains the data for a key pair created by the keytool executable that comes with the JDK. This is a required input for an android_binary() rule. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one properties: The path to the .properties file that contains the following values: # The value that you passed as the argument to -alias # when you ran keytool. key.alias=my_alias # The value that you entered in response to # the "Enter keystore password:" prompt. key.store.password=store_password # The value that you entered in response to # the "Enter key password for <my_alias>" prompt. key.alias.password=alias_password store: The path to the file that contains the key. This is the path that was passed as the -keystore argument when you ran keytool. "},{"title":"kotlin_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#kotlin_library","content":"def kotlin_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _dex_min_sdk_version: None | int = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _java_toolchain: str = _, _kotlin_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processing_tool: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_kotlinc_arguments: list[str] = _, friend_paths: list[str] = _, incremental: bool = _, jar_postprocessor: None | str = _, java_version: None | str = _, javac: None | str = _, k2: bool = _, kotlin_compiler_plugins: dict[str, dict[str, str]] = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _, use_jvm_abi_gen: None | bool = _, validation_deps: list[str] = _ ) -> None A kotlin_library() rule is used to define a set of Kotlin files that can be compiled together. The main output of a kotlin_library() rule is a single JAR file containing all of the compiled class files, as well as the static files specified in the resources argument. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one annotation_processing_tool: Specifies the tool to use for annotation processing. Possible values: "kapt" or "javac". "kapt" allows running Java annotation processors against Kotlin sources while backporting it for Java sources too. "javac" works only against Java sources, Kotlin sources won't have access to generated classes at compile time. deps: Rules (usually other kotlin_library rules) that are used to generate the classpath required to compile this kotlin_library. exported_deps: Other rules that depend on this rule will also include its exported_deps in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of prebuilt_jar rules as a single target for callers to depend on. Targets in exported_deps are implicitly included in the deps of this rule, so they don't need to be repeated there. exported_provided_deps: This is a combination of provided_deps and exported_deps. Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target. extra_kotlinc_arguments: List of additional arguments to pass into the Kotlin compiler. friend_paths: List of source paths to pass into the Kotlin compiler as friend-paths, that is, modules you can have access to internal methods. incremental: Enables Kotlin incremental compilation. k2: Enables the Kotlin K2 compiler. kotlin_compiler_plugins: Use this to specify Kotlin compiler plugins to use when compiling this library. This takes a map, with each entry specify one plugin. Entry's key is plugin source path, and value is a map of plugin option key value pair. Unlike extra_kotlinc_arguments, these can be source paths, not just strings. A special option value is__codegen_dir__, in which case Buck will provide a default codegen folder's path as option value instead. E.g. kotlin_compiler_plugins = { "somePluginSourcePath": { "plugin:somePluginId:somePluginOptionKey": "somePluginOptionValue", "plugin:somePluginId:someDirectoryRelatedOptionKey": "__codegen_dir__", }, }, Each plugin source path will be prefixed with -Xplugin= and passed as extra arguments to the compiler. Plugin options will be appended after its plugin with -P. A specific example is, if you want to use kotlinx.serializationwith kotlin_library(), you need to specify kotlinx-serialization-compiler-plugin.jar under kotlin_compiler_plugins and kotlinx-serialization-runtime.jar (which you may have to fetch from Maven) in your deps: kotlin_library( name = "example", srcs = glob(["*.kt"]), deps = [ ":kotlinx-serialization-runtime", ], kotlin_compiler_plugins = { # Likely copied from your $KOTLIN_HOME directory. "kotlinx-serialization-compiler-plugin.jar": {}, }, ) prebuilt_jar( name = "kotlinx-serialization-runtime", binary_jar = ":kotlinx-serialization-runtime-0.10.0", ) # Note you probably want to set # maven_repo=http://jcenter.bintray.com/ in your .buckconfig until # https://github.com/Kotlin/kotlinx.serialization/issues/64 # is closed. remote_file( name = "kotlinx-serialization-runtime-0.10.0", out = "kotlinx-serialization-runtime-0.10.0.jar", url = "mvn:org.jetbrains.kotlinx:kotlinx-serialization-runtime:jar:0.10.0", sha1 = "23d777a5282c1957c7ce35946374fff0adab114c" ) labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() . provided_deps: These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of provided_deps include the JEE servlet APIs. When this rule is included in a , the provided_deps will not be packaged into the output. remove_classes: Specifies a list of Patterns that are used to exclude classes from the JAR. The pattern matching is based on the name of the class. This can be used to exclude a member class or delete a local view of a class that will be replaced during a later stage of the build. resources: Static files to include with the compiled .class files. These files can be loaded via Class.getResource(). Note: If resources_root isn't set, Buck uses the .buckconfigproperty in .buckconfig to determine where resources should be placed within the generated JAR file. srcs: The set of .kt, .java or .kts files to compile for this rule. If any of the files in this list end in .src.zip, then the entries in the ZIP file that end in .java or .kt will be included as ordinary inputs to compilation. Details​ Examples: # A rule that compiles a single .kt file. kotlin_library( name = 'JsonUtil', srcs = ['JsonUtil.kt'], deps = [ '//third_party/guava:guava', '//third_party/jackson:jackson', ], ) # A rule that compiles all of the .kt files under the directory in # which the rule is defined using glob(). It also excludes an # individual file that may have additional dependencies, so it is # compiled by a separate rule. kotlin_library( name = 'messenger', srcs = glob(['**/*.kt'], excludes = ['MessengerModule.kt']), deps = [ '//src/com/facebook/base:base', '//third_party/guava:guava', ], ) kotlin_library( name = 'MessengerModule', srcs = ['MessengerModule.kt'], deps = [ '//src/com/facebook/base:base', '//src/com/google/inject:inject', '//third_party/guava:guava', '//third_party/jsr-330:jsr-330', ], ) # A rule that builds a library with both relative and # fully-qualified deps. kotlin_library( name = 'testutil', srcs = glob(['tests/**/*.kt'], excludes = 'tests/**/*Test.kt'), deps = [ ':lib-fb4a', '//java/com/facebook/base:base', ], ) "},{"title":"kotlin_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#kotlin_test","content":"def kotlin_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _inject_test_env: str = _, _is_building_android_binary: bool = _, _java_test_toolchain: str = _, _java_toolchain: str = _, _kotlin_toolchain: str = _, _remote_test_execution_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processing_tool: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_library_whitelist: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, env: dict[str, str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_kotlinc_arguments: list[str] = _, fork_mode: str = _, friend_paths: list[str] = _, incremental: bool = _, java: None | str = _, java_agents: list[str] = _, java_version: None | str = _, javac: None | str = _, k2: bool = _, kotlin_compiler_plugins: dict[str, dict[str, str]] = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, run_test_separately: bool = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, std_err_log_level: None | int | str = _, std_out_log_level: None | int | str = _, target: None | str = _, test_case_timeout_ms: None | int = _, test_class_names_file: None | str = _, test_rule_timeout_ms: None | int = _, test_type: None | str = _, unbundled_resources_root: None | str = _, use_cxx_libraries: None | bool = _, use_dependency_order_classpath: None | bool = _, use_jvm_abi_gen: None | bool = _, vm_args: list[str] = _ ) -> None A kotlin_test() rule is used to define a set of .kt files that contain tests to run via JUnit. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one deps: Same as kotlin_library(). // org.junit.rules.Timeout was not introduced until 4.7. Must include JUnit (version 4.7 or later) as a dependency for JUnit tests. Must include TestNG (version 6.2 or later) and hamcrest as a dependencies for TestNG tests. env: A map of environment names and values to set when running the test. fork_mode: Controls whether tests will all be run in the same process or a process will be started for each set of tests in a class. (This is mainly useful when porting Java tests to Buck from Apache Ant which allows JUnit tasks to set a fork="yes" property. It should not be used for new tests since it encourages tests to not cleanup after themselves and increases the tests' computational resources and running time.) noneAll tests will run in the same process.per_testA process will be started for each test class in which all tests of that test class will run. incremental: Enables Kotlin incremental compilation. k2: Enables the Kotlin K2 compiler. labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test resources: Same as kotlin_library(). srcs: Like kotlin_library(), all of the .kt files specified by the srcs argument will be compiled when this rule is built. In addition, all of the corresponding .class files that are built by this rule will be passed as arguments to JUnit when this rule is run as a test. .class files that are passed to JUnit that do not have any methods annotated with @Test are considered failed tests, so make sure that only test case classes are specified as srcs. This is frequently done by specifying srcs as glob(['**/*Test.kt']). std_err_log_level: Same as std_out_log_level, but for std err. std_out_log_level: Log level for messages from the source under test that buck will output to std out. Value must be a valid java.util.logging.Level value. test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . test_type: Specifies which test framework to use. The currently supported options are 'junit' and 'testng'. vm_args: Runtime arguments to the JVM running the tests. "},{"title":"legacy_toolchain​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#legacy_toolchain","content":"def legacy_toolchain( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, toolchain_name: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"llvm_link_bitcode​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#llvm_link_bitcode","content":"def llvm_link_bitcode( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, buck2_compatibility: str = _, deps: list[str] = _, deps_query: None | str = _, srcs: list[str | (str, list[str])] = _ ) -> None A llvm_link_bitcode() rule builds a LLVM bitcode object from a given set LLVM bitcode inputs. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one deps_query: Status: experimental/unstable. The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps: attrfilterdepsexceptintersectfilterkindsetunion The macro $declared_deps may be used anywhere a target literal pattern is expected in order to refer to the explicit deps of this rule as they appear in the rule's definition. For example, if your build rule declares android_library( name = 'lib', deps = ['//foo:foo'], deps_query = '$declared_deps', ) then the macro $declared_deps would be expanded to a literal set(//foo:foo). Some example queries: "filter({name_regex}, $declared_deps)".format(name_regex='//.*') "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)" "deps('//foo:foo', 1)" Note: any targets included in this query must also be present in deps. srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). Details​ Examples: # A rule that builds and runs C/C++ test using gtest. llvm_link_bitcode( name = 'echo_test', srcs = [ 'echo_test.o', // Where this is a LLVM bitcode object. 'echo_other.o', // And this is another LLVM bitcode object. ], ) "},{"title":"lua_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#lua_binary","content":"def lua_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, main_module: str = _, native_starter_library: None | str = _, package_style: None | str = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, python_platform: None | str = _ ) -> None A lua_library() rule is used to group together Lua sources to be packaged into a top-level lua_binary() rule. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: lua_library() rules to this binary will access.main_module: The module which serves as the entry point for this rule. Details​ Examples: lua_binary( name = 'tailer', main_module = 'tailer', deps = [ ':tailerutils', ], ) lua_library( name = 'tailerutils', srcs = glob(['*.lua']), ) "},{"title":"lua_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#lua_library","content":"def lua_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, base_module: None | str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, platform_deps: list[(str, list[str])] = _, srcs: list[str] | dict[str, str] = _ ) -> None A lua_library() rule is used to group together Lua sources to be packaged into a top-level lua_binary() rule. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebase_module: The package for which the given specified sources and resources should reside in their final location in the top-level binary. If unset, the project relative directory that houses the BUCK file is used.deps: Other lua_library() rules which list srcs from which this rule imports modules.srcs: The set of .lua files included in this library. Details​ Examples: # A rule that includes a single .py file. lua_library( name = 'fileutil', srcs = ['fileutil.lua'], ) # A rule that uses glob() to include all sources in the directory which the # rule is defined. It also lists a resource file that gets packaged with # the sources in this rule. lua_library( name = 'testutil', srcs = glob(['testutil/**/*.lua'], ) "},{"title":"matlab_program​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#matlab_program","content":"def matlab_program( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _matlab_toolchain: str = _, buck2_compatibility: str = _, main: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"ndk_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ndk_library","content":"def ndk_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, flags: list[str] = _, is_asset: bool = _, labels: list[str] = _, licenses: list[str] = _, srcs: list[str] = _ ) -> None An ndk_library() is used to define a set of C/C++ files, an Android.mk and an Application.mk file that are used by the NDK's ndk-build tool to generate one or more shared objects. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: List of build targets to build before this rule.flags: Array of strings passed verbatim to ndk-build. Normally this is not needed, but in some cases you may want to put something here. For example, this can be used to build the libraries in debug mode (NDK_DEBUG=1) or set the number of jobs spawned by ndk-build (by default, the same as the number of cores).is_asset: Normally native shared objects end up in a directory in the root of the APK named lib/. If this parameter is set to True, then these objects are placed in assets/lib/. Placing shared objects in a non-standard location prevents Android from extracting them to the device's internal storage.srcs: The set of files to compile for this rule. If not provided, buck assumes that all files with the following extensions are part of the build: c, cpp, cc, cxx, h, hpp, mk. Details​ Additional notes: An android_binary() that includes this library will aggregate all of the native shared objects into a directory in the root of the APK named lib/ or assets/lib/. Unlike the default invocation of ndk-build,buck will put all intermediate files and build output into a subdirectory under buck-out/gen. "},{"title":"ndk_toolchain​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ndk_toolchain","content":"def ndk_toolchain( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_runtime: None | str = _, cxx_toolchain: str, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, objdump: str, shared_runtime_path: None | str = _, strip_apk_libs_flags: None | list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"ocaml_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ocaml_binary","content":"def ocaml_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _ocaml_toolchain: str = _, buck2_compatibility: str = _, bytecode_only: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, ocamldep_flags: list[str] = _, platform: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_linker_flags: list[(str, list[str])] = _, srcs: None | list[str] | dict[str, str] = _, warnings_flags: None | str = _ ) -> None A ocaml_binary() rule builds both native and bytecode executables from the supplied set of OCaml and C source files and dependencies. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_flags: The set of additional compiler flags to pass to ocaml compiler. It supports specifying ppx (see for example).deps: The set of dependencies of this rule. It could include references to ocaml_library and cxx_library rules.platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.srcs: The set of source files to be compiled by this rule. It supports *.ml, *.mli, *.mly, *.mll, and *.c files. (see this test as C interop example and this test as parser and lexer example). Details​ Note: Buck is currently tested with 4.X OCaml series. Examples: For more examples, check out our integration tests. ocaml_binary( name='greet', srcs=[ 'main.ml', 'lex.mll', 'parser.mly', 'hashtable.c', ], deps=[ ':greeting', ':bridge', ], ) ocaml_library( name='greeting', srcs=[ 'greeting.ml', ], deps=[ ':join', ], ) ocaml_library( name='join', srcs=[ 'join.ml', ], ) cxx_library( name='bridge', srcs=[ 'bridge.c', ], ) "},{"title":"ocaml_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ocaml_library","content":"def ocaml_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _ocaml_toolchain: str = _, buck2_compatibility: str = _, bytecode_only: bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, native_plugin: bool = _, ocamldep_flags: list[str] = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, srcs: None | list[str] | dict[str, str] = _, warnings_flags: None | str = _ ) -> None A ocaml_library() rule builds a native and a bytecode libraries from the supplied set of OCaml source files and dependencies. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_flags: The set of additional compiler flags to pass to ocaml compiler. It supports specifying ppx (see for example).deps: The set of dependencies of this rule. It could include references to ocaml_library and cxx_library rules.platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.srcs: The set of source files to be compiled by this rule. It supports *.ml, *.mli, *.mly, *.mll, and *.c files. (see this test as C interop example and this test as parser and lexer example). Details​ Note: Buck is currently tested with 4.X OCaml series. Examples: For more examples, check out our integration tests. ocaml_library( name='greeting', srcs=[ 'greeting.ml', ], deps=[ ':join', ], ) "},{"title":"ocaml_object​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ocaml_object","content":"def ocaml_object( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _ocaml_toolchain: str = _, buck2_compatibility: str = _, bytecode_only: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, ocamldep_flags: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_linker_flags: list[(str, list[str])] = _, srcs: None | list[str] | dict[str, str] = _, warnings_flags: None | str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"ocaml_shared​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ocaml_shared","content":"def ocaml_shared( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _ocaml_toolchain: str = _, buck2_compatibility: str = _, bytecode_only: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, ocamldep_flags: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_linker_flags: list[(str, list[str])] = _, srcs: None | list[str] | dict[str, str] = _, warnings_flags: None | str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"platform​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#platform","content":"def platform( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, constraint_values: list[str] = _, deps: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"prebuilt_apple_framework​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_apple_framework","content":"def prebuilt_apple_framework( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _stripped_default: bool = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_linker_flags: list[str] = _, exported_platform_linker_flags: list[(str, list[str])] = _, framework: None | str = _, frameworks: list[str] = _, labels: list[str] = _, libraries: list[str] = _, licenses: list[str] = _, preferred_linkage: str = _, stripped: None | bool = _, supported_platforms_regex: None | str = _ ) -> None A prebuilt_apple_framework() rule represents a set of Objective-C/C++ source files and is very similar to a prebuilt_cxx_library() rule. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one Details​ Examples: prebuilt_apple_framework( name = 'MyPrebuiltFramework', framework = 'myPrebuiltFramework.framework', preferred_linkage = 'static', visibility = [ 'PUBLIC' ] ) "},{"title":"prebuilt_cxx_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_cxx_library","content":"def prebuilt_cxx_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _target_os_type: str = _, allow_cache_upload: None | bool = _, buck2_compatibility: str = _, can_be_asset: bool = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extract_soname: bool = _, force_static: bool = _, frameworks: list[str] = _, header_dirs: None | list[str] = _, header_namespace: None | str = _, header_only: bool = _, import_lib: None | str = _, include_in_android_merge_map_output: bool = _, labels: list[str] = _, libraries: list[str] = _, licenses: list[str] = _, link_whole: bool = _, link_without_soname: bool = _, linker_flags: list[str] = _, local_linker_flags: list[str] = _, platform_header_dirs: None | list[(str, list[str])] = _, platform_import_lib: None | list[(str, str)] = _, platform_shared_lib: None | list[(str, str)] = _, platform_static_lib: None | list[(str, str)] = _, platform_static_pic_lib: None | list[(str, str)] = _, post_linker_flags: list[str] = _, preferred_linkage: str = _, provided: bool = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, shared_lib: None | str = _, soname: None | str = _, static_lib: None | str = _, static_pic_lib: None | str = _, supported_platforms_regex: None | str = _, supports_merged_linking: None | bool = _, supports_python_dlopen: bool = _, supports_shared_library_interface: bool = _, versioned_exported_lang_platform_preprocessor_flags: list[(dict[str, str], dict[str, list[(str, list[str])]])] = _, versioned_exported_lang_preprocessor_flags: list[(dict[str, str], dict[str, list[str]])] = _, versioned_exported_platform_preprocessor_flags: list[(dict[str, str], list[(str, list[str])])] = _, versioned_exported_preprocessor_flags: list[(dict[str, str], list[str])] = _, versioned_header_dirs: None | list[(dict[str, str], list[str])] = _, versioned_import_lib: None | list[(dict[str, str], str)] = _, versioned_shared_lib: None | list[(dict[str, str], str)] = _, versioned_soname: None | list[(dict[str, str], str)] = _, versioned_static_lib: None | list[(dict[str, str], str)] = _, versioned_static_pic_lib: None | list[(dict[str, str], str)] = _ ) -> None A prebuilt_cxx_library() rule represents a set of native libraries and C/C++ header files and provides various flags to control how they are linked and exported. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneallow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).exported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported.exported_headers: The set of header files that are made available for inclusion to the source files in the target and all targets that transitively depend on it. These should be specified as either a list of header files or a dictionary of header names to header files. The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME>, where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. Note that the header name can contain forward slashes (/). See header_namespace for more information.exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.exported_platform_deps: Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as exported_deps) that are exported if the platform matches the regex. See exported_deps for more information.exported_platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target and all targets that transitively depend on it if the platform matches the regex. See headers for more information.exported_platform_preprocessor_flags: Platform specific exported preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the source files in the target and all targets that transitively depend on it if the platform matches the regex. See exported_preprocessor_flags for more information.header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.header_only: Indicates if this library only consists of headers or not. If this is set to True, Buck will not link this library into any library that depends on it.local_linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation driven by this rule (e.g. when this rule links a shared library, but not when the output is linked into a shared library by another rule's link group links).platform_shared_lib: Platform specific shared library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See shared_lib for more information.platform_static_lib: Platform specific static library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See static_lib for more information.platform_static_pic_lib: Platform specific static PIC library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See static_pic_lib for more information.preferred_linkage: Determines what linkage is used when the library is depended on by another target. To control how the dependencies of this library are linked, use link_style instead.shared_lib: The path to the library to use when performing shared linking.static_lib: The path to the library to use when performing static linking.static_pic_lib: The path to the library to use when performing static PIC linking.supported_platforms_regex: If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms.supports_merged_linking: Whether this rule supports building with the merged linking strategy when building for non-native binaries (e.g. when using .buckconfig s merged setting). Details​ Examples: A prebuilt library containing only headers that other libraries may need. prebuilt_cxx_library( name = 'stdutil', header_only = True, header_dirs = [ 'include', ], ) A prebuilt library with static and shared libs. prebuilt_cxx_library( name = 'mylib', soname = 'libmylib.so', static_lib = 'libmylib.a', static_pic_lib = 'libmylib_pic.a', shared_lib = 'libmylib.so', exported_headers = [ 'mylib.h', ], ) A prebuilt library with multiple builds for multiple platforms. prebuilt_cxx_library( name = 'mylib', soname = 'libmylib.so', platform_shared_lib = [ ('android-arm', 'android-arm/libmylib.so'), ('android-x86', 'android-x86/libmylib.so'), ('iphonesimulator-x86_64', 'iphonesimulator-x86_64/libmylib.so'), ], platform_static_lib = [ ('android-arm', 'android-arm/libmylib.a'), ('android-x86', 'android-x86/libmylib.a'), ('iphonesimulator-x86_64', 'iphonesimulator-x86_64/libmylib.a'), ], exported_headers = [ 'mylib.h', ], ) "},{"title":"prebuilt_cxx_library_group​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_cxx_library_group","content":"def prebuilt_cxx_library_group( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_platform_deps: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, import_libs: dict[str, str] = _, include_dirs: list[str] = _, include_in_android_merge_map_output: bool = _, labels: list[str] = _, licenses: list[str] = _, provided_shared_libs: dict[str, str] = _, shared_libs: dict[str, str] = _, shared_link: list[str] = _, static_libs: list[str] = _, static_link: list[str] = _, static_pic_libs: list[str] = _, static_pic_link: list[str] = _, supported_platforms_regex: None | str = _, supports_shared_library_interface: bool = _ ) -> None A prebuilt_cxx_library_group() rule represents a group of native libraries which should be handled together in a single rule, perhaps using special link-line construction. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneexported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported.exported_platform_deps: Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as exported_deps) that are exported if the platform matches the regex. See exported_deps for more information.provided_shared_libs: The map of system-provided shared library names to paths used when using the shared link style. The shared_link parameter should refer to these libs using their library name.shared_libs: The map of shared library names to paths used when using the shared link style. The shared_link parameter should refer to these libs using their library name.shared_link: The arguments to use when linking this library group using the shared link style. The actual paths to libraries should be listed in the shared_libs parameter, and referenced via the the $(lib [name]) macro (or the $(rel-lib [name]) macro, when the shared library should be linked using the -L[dir] -l[name] style) in these args.static_libs: The paths to the libraries used when using the static link style. The static_link parameter should refer to these libs using their index number.static_link: The arguments to use when linking this library group using the static link style. The actual paths to libraries should be listed in the static_libs parameter, and referenced via the the $(lib [index]) macro in these args.static_pic_libs: The paths to the libraries used when using the static link style. The static_pic_link parameter should refer to these libs using their index number.static_pic_link: The arguments to use when linking this library group using the static-pic link style. The actual paths to libraries should be listed in the static_pic_libs parameter, and referenced via the the $(lib [index]) macro in these args. Details​ Examples: A prebuilt library group wrapping two libraries that must be linked together. prebuilt_cxx_library_group( name = 'util', static_link = [ '-Wl,--start-group', '$(lib 0)', '$(lib 1)', '-Wl,--end-group', ], static_libs = [ 'lib/liba.a', 'lib/libb.a', ], static_pic_link = [ '-Wl,--start-group', '$(lib 0)', '$(lib 1)', '-Wl,--end-group', ], static_libs = [ 'lib/liba_pic.a', 'lib/libb_pic.a', ], shared_link = [ '$(rel-lib liba.so)', '$(rel-lib libb.so)', ], shared_libs = { 'liba.so': 'lib/liba.so', }, provided_shared_libs = { 'libb.so': 'lib/libb.so', }, ) "},{"title":"prebuilt_dotnet_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_dotnet_library","content":"def prebuilt_dotnet_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, assembly: str, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _ ) -> None A prebuilt_dotnet_library() rule is used to include prebuilt .Net assembles into your .Net code. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneassembly: The path to the DLL that this rule provides. Details​ Examples: prebuilt_dotnet_library( name = 'log4net', assembly = 'log4net.dll', ) csharp_library( name = 'example', srcs = [ 'Hello.cs', ], framework_ver = 'net46', deps = [ ':log4net', 'System.dll', ], ) "},{"title":"prebuilt_go_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_go_library","content":"def prebuilt_go_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, labels: list[str] = _, library: str, licenses: list[str] = _, package_name: None | str = _ ) -> None A prebuilt_go_library() rule provides a native library from the specified file. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: The set of dependencies of this rule. Currently, this only supports go_library rules.library: Path to the precompiled Go library - typically of the form 'foo.a'.package_name: Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b") Details​ Examples: For more examples, check out our integration tests. prebuilt_go_library( name='greeting', package_name='greeting', library='greeting.a', deps=[ ':join', ], ) "},{"title":"prebuilt_jar​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_jar","content":"def prebuilt_jar( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _dex_min_sdk_version: None | int = _, _dex_toolchain: str = _, _exec_os_type: str = _, _prebuilt_jar_toolchain: str = _, binary_jar: str, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, desugar_deps: list[str] = _, generate_abi: bool = _, javadoc_url: None | str = _, labels: list[str] = _, licenses: list[str] = _, maven_coords: None | str = _, never_mark_as_unused_dependency: bool = _, required_for_source_only_abi: bool = _, source_jar: None | str = _ ) -> None A prebuilt_jar() rule is used to identify a JAR file that is checked into our repository as a precompiled binary rather than one that is built from source by Buck. Frequently, these are used to reference third-party JAR files (such as junit.jar) and are used as dependencies of java_library() rules. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebinary_jar: Path to the pre-built JAR file.deps: Rules that must be built before this rule. Because the binary_jar is already built, there should be nothing to build, so this should be empty.javadoc_url: URL to the Javadoc for the .class files in the binary_jar.source_jar: Path to a JAR file that contains the .java files to create the .class in the binary_jar. This is frequently provided for debugging purposes. Details​ Examples: prebuilt_jar( name = 'junit', binary_jar = 'junit-4.8.2.jar', source_jar = 'junit-4.8.2-sources.jar', javadoc_url = 'http://kentbeck.github.com/junit/javadoc/4.8/', ) java_library( name = 'tests', srcs = glob(['tests/**/*Test.java']), deps = [ ':junit', ], ) "},{"title":"prebuilt_native_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_native_library","content":"def prebuilt_native_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, has_wrap_script: bool = _, is_asset: bool = _, labels: list[str] = _, licenses: list[str] = _, native_libs: str ) -> None A prebuilt_native_library() rule is used to bundle native libraries (i.e., .so files) for Android. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onehas_wrap_script: When using an exopackage, if this parameter is set to True, then the libraries for this rule are included in the primary APK even if native libraries would otherwise not be placed in it. This is intended for a native library directory that contains a wrap.sh script, which must be included in the primary APK to take effect. Only one of is_asset and has_wrap_script can be set for a rule.is_asset: Normally native shared objects end up in a directory in the root of the APK named lib/. If this parameter is set to True, then these objects are placed in assets/lib/. Placing shared objects in a non-standard location prevents Android from extracting them to the device's internal storage. Details​ Examples: Most of the time, a prebuilt_native_library is private to the android_library() that uses it: prebuilt_native_library( name = 'native_libs', native_libs = 'libs', ) android_library( name = 'my_lib', srcs = glob(['*.java']), deps = [ ':native_libs', ], ) "},{"title":"prebuilt_ocaml_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_ocaml_library","content":"def prebuilt_ocaml_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, bytecode_c_libs: list[str] = _, bytecode_lib: None | str = _, bytecode_only: bool = _, c_libs: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, include_dir: None | str = _, labels: list[str] = _, lib_dir: str = _, lib_name: str = _, licenses: list[str] = _, native_c_libs: list[str] = _, native_lib: None | str = _, platform_deps: list[(str, list[str])] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"prebuilt_python_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_python_library","content":"def prebuilt_python_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _create_manifest_for_source_dir: str = _, _create_third_party_build_root: str = _, _extract: str = _, _python_toolchain: str = _, binary_src: str, buck2_compatibility: str = _, compile: bool = _, contacts: list[str] = _, cxx_header_dirs: None | list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exclude_deps_from_merged_linking: bool = _, ignore_compile_errors: bool = _, infer_cxx_header_dirs: bool = _, labels: list[str] = _, licenses: list[str] = _, strip_soabi_tags: bool = _ ) -> None A prebuilt_python_library() rule is used to include prebuilt python packages into the output of a top-level python_binary() or python_test() rule. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one binary_src: The path to the .whl or .egg to use. Note: .egg files have a very particular naming convention that must be followed - otherwise it will not be found at runtime! deps: Other prebuilt_python_library() rules which this library depends on. These may also be python_library rules if you want to depend on a source-based copy of the library. exclude_deps_from_merged_linking: When linking the top-level binary with a merged .buckconfig, do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging. labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() . strip_soabi_tags: Strip the SOABI tags from extensions in the prebuilt library. Note that this should be considered unsafe, as it removes builtin protections that fail fast when a potententially incompatible native extension is imported. Details​ These prebuilt libraries can either be whl files or eggs whls for most packages are available for download from PyPI. The whl used may be downloaded with remote_file(). However, Buck does not attempt to infer dependency information from pip, so that information will have to be imparted by the user. To create an egg for a package, run python setup.py bdist_egg in the package source distribution. Examples: # A simple prebuilt_python_library with no external dependencies. remote_file( name = "requests-download", url = "https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl", sha1 = "e1fc28120002395fe1f2da9aacea4e15a449d9ee", out = "requests-2.22.0-py2.py3-none-any.whl", ) prebuilt_python_library( name = "requests", binary_src = ":requests-download", ) # A slightly more complex example prebuilt_python_library( name = "greenlet", binary_src = "greenlet-0.4.7-py2.7-macosx-10.10-x86_64.egg", ) prebuilt_python_library( name = "gevent", binary_src = "gevent-1.0.2-py2.7-macosx-10.10-x86_64.egg", deps = [ ":greenlet", ], ) "},{"title":"python_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_binary","content":"def python_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _create_manifest_for_source_dir: str = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _package_remotely: bool = _, _python_toolchain: str = _, _target_os_type: str = _, allow_cache_upload: None | bool = _, anonymous_link_groups: bool = _, auto_link_groups: bool = _, base_module: None | str = _, binary_linker_flags: list[str] = _, bolt_flags: list[str] = _, bolt_profile: None | str = _, buck2_compatibility: str = _, build_args: list[str] = _, compile: None | bool = _, compiler_flags: list[str] = _, constraint_overrides: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_main: str = _, cxx_platform: None | str = _, cxx_runtime_type: None | str = _, deduplicate_merged_link_roots: None | bool = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, distributed_thinlto_partial_split_dwarf: bool = _, dummy_omnibus: None | str = _, enable_distributed_thinlto: bool = _, executable_deps: list[str] = _, executable_name: None | str = _, exported_needs_coverage_instrumentation: bool = _, extension: None | str = _, fat_lto: bool = _, focused_list_target: None | str = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, inplace_build_args: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_deps: list[str] = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_group_public_deps_label: None | str = _, link_ordering: None | str = _, link_style: str = _, link_whole: bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, main: None | str = _, main_function: None | str = _, main_module: None | str = _, make_py_package: None | str = _, manifest_module_entries: None | dict[str, list[str] | dict[str, typing.Any]] = _, native_link_strategy: None | str = _, package_split_dwarf_dwp: bool = _, package_style: None | str = _, par_style: None | str = _, platform: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preload_deps: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_native_objects: bool = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preload_deps: list[str] = _, preprocessor_flags: list[str] = _, py_version_for_type_checking: None | str = _, raw_headers: list[str] = _, repl_main: None | str = _, repl_only_deps: list[str] = _, resources: list[str] | dict[str, str] = _, run_with_inplace: bool = _, runtime_env: None | dict[str, str] = _, standalone_build_args: list[str] = _, static_extension_finder: str = _, static_extension_utils: str = _, strip_libpar: str = _, strip_stapsdt: bool = _, thin_lto: bool = _, typing: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _, zip_safe: None | bool = _ ) -> None A python_binary() rule is used to build an executable Python package that includes Python sources and resources from all transitive dependencies. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneallow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).base_module: The package in which the main module should reside in its final location in the binary. If unset, Buck uses the project-relative directory that contains the BUCK file.deduplicate_merged_link_roots: When linking multiple top-level binaries with the merged .buckconfig, coalesce root link rules which are identical across independent merged links.deps: A list of python_library() rules that specify Python modules to include in the binary — including all transitive dependencies of these rules.labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.linker_flags: Additional linker flags that should be applied to any linking which is specific to this rule. Note that whether these flags are used is dependent on the native link strategy selected in .buckconfig and currently applies only to the merged .buckconfig; the separate link strategy pulls in shared libraries that are linked in the context of the rules that own them, such as cxx_library().main: The Python file which serves as the entry point for the binary. The interpreter initiates execution of the binary with the code in this file.main_function: Name of a Python function that will serve as the main entry point of the binary. The name is either a fully qualified name like foo.bar.baz or it starts with a . like .bar.baz, in which case it is relative to the package containing the target. This should usually be a function defined within one of the dependencies of this target. This attribute should be preferred over main_module or main, and it is an error to specify more than one of these.main_module: The python module that should be the entry point of the binary. This should be a module name within a python_library that this binary depends on. Note that module names take base_module of the library into account. This property is mutually exclusive with main, and should be preferred to main, which is deprecated.manifest_module_entries: If present, it should be a string -> entry mapping that gets generated into a __manifest__ module in the executable. Top level string keys will be the names of variables in this module (so they must be valid Python identifiers). An entry can be a list of strings, or a further string-keyed dictionary.package_style: Used to override the global packaging style that is set in [.buckconfig ].platform: The name of the Python platform flavor to build against by default as defined in the buckconfig#pythonsection of .buckconfig.preload_deps: A list of C/C++ library dependencies that need to be loaded before any other libraries when the PEX starts up. This requires dynamic loader support, such as LD_PRELOAD, found on most systems. This list is order- sensitive and the preload libraries listed here are passed down to the dynamic linker in the same order.py_version_for_type_checking: This option will force the type checker to perform checking under a specific version of Python interpreter.typing: Determines whether to perform type checking on the given target. Default is False. Details​ Examples: Build an executable from the Python files in the BUCK directory. # BUCK python_binary( name = 'tailer', main_module = 'tailer', deps = [ ':tailerutils', ], ) python_library( name = 'tailerutils', # The main module, tailer.py, is specified here. # (Separated out from the glob pattern for clarity.) srcs = glob(['tailer.py', '*.py']), ) "},{"title":"python_bootstrap_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_bootstrap_binary","content":"def python_bootstrap_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _python_bootstrap_toolchain: str = _, _win_python_wrapper: None | str = _, buck2_compatibility: str = _, deps: list[str] = _, main: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"python_bootstrap_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_bootstrap_library","content":"def python_bootstrap_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, deps: list[str] = _, srcs: list[str] ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"python_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_library","content":"def python_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _create_manifest_for_source_dir: str = _, _create_third_party_build_root: str = _, _cxx_toolchain: str = _, _python_toolchain: str = _, base_module: None | str = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, exclude_deps_from_merged_linking: bool = _, ignore_compile_errors: bool = _, labels: list[str] = _, licenses: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_resources: list[(str, list[str] | dict[str, str])] = _, platform_srcs: list[(str, list[str] | dict[str, str])] = _, py_version_for_type_checking: None | str = _, resources: list[str] | dict[str, str] = _, srcs: list[str] | dict[str, str] = _, type_stubs: list[str] | dict[str, str] = _, typing: bool = _, version_universe: None | str = _, versioned_resources: None | list[(dict[str, str], list[str] | dict[str, str])] = _, versioned_srcs: None | list[(dict[str, str], list[str] | dict[str, str])] = _, zip_safe: None | bool = _ ) -> None A python_library() rule is used to group together Python source files and resources to be passed together in as a dep of other rules. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebase_module: The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file.deps: Other python_library() rules that list srcs from which this rule imports modules.exclude_deps_from_merged_linking: When linking the top-level binary with a merged .buckconfig, do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging.labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .platform_resources: Python-platform-specific resource files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of resource files. The regex should use java.util.regex.Pattern syntax. The platform name is a Python platform flavor defined in the buckconfig#python section of .buckconfig.platform_srcs: Python-platform-specific source files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of source files. The regex should use java.util.regex.Pattern syntax. The platform name is a Python platform flavor defined in the buckconfig#python section of .buckconfig.py_version_for_type_checking: This option will force the type checker to perform checking under a specific version of Python interpreter.srcs: The set of Python (.py) files to include in this library.typing: Determines whether to perform type checking on the given target. Default is False. Details​ Examples: Include Python source files and resource files. # BUCK # A rule that includes a single Python file. python_library( name = 'fileutil', srcs = ['fileutil.py'], deps = [ '//third_party/python-magic:python-magic', ], ) # A rule that uses glob() to include all Python source files in the # directory in which the rule is defined. The rule also specifies a # resource file that gets packaged with the source file. python_library( name = 'testutil', srcs = glob(['testutil/**/*.py']), resources = [ 'testdata.dat', ], ) "},{"title":"python_needed_coverage_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_needed_coverage_test","content":"def python_needed_coverage_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _inject_test_env: str = _, _remote_test_execution_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, env: dict[str, str] = _, labels: list[str] = _, needed_coverage: list[(int, str, None | str)] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, test: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"python_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_test","content":"def python_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _create_manifest_for_source_dir: str = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _inject_test_env: str = _, _python_toolchain: str = _, _remote_test_execution_toolchain: str = _, _target_os_type: str = _, _test_main: str = _, additional_coverage_targets: list[str] = _, anonymous_link_groups: bool = _, auto_link_groups: bool = _, base_module: None | str = _, binary_linker_flags: list[str] = _, bolt_flags: list[str] = _, bolt_profile: None | str = _, buck2_compatibility: str = _, build_args: list[str] = _, compile: None | bool = _, compiler_flags: list[str] = _, constraint_overrides: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_main: str = _, cxx_platform: None | str = _, cxx_runtime_type: None | str = _, deduplicate_merged_link_roots: None | bool = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, distributed_thinlto_partial_split_dwarf: bool = _, dummy_omnibus: None | str = _, enable_distributed_thinlto: bool = _, env: dict[str, str] = _, exclude_deps_from_merged_linking: bool = _, executable_deps: list[str] = _, executable_name: None | str = _, exported_needs_coverage_instrumentation: bool = _, extension: None | str = _, fat_lto: bool = _, focused_list_target: None | str = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, implicit_test_library: None | str = _, include_directories: list[str] = _, inplace_build_args: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_deps: list[str] = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_group_public_deps_label: None | str = _, link_ordering: None | str = _, link_style: str = _, link_whole: bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, main_function: None | str = _, main_module: None | str = _, make_py_package: None | str = _, manifest_module_entries: None | dict[str, list[str] | dict[str, typing.Any]] = _, native_link_strategy: None | str = _, needed_coverage: list[(int, str, None | str)] = _, package_split_dwarf_dwp: bool = _, package_style: None | str = _, par_style: None | str = _, platform: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preload_deps: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_resources: list[(str, list[str] | dict[str, str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_native_objects: bool = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preload_deps: list[str] = _, preprocessor_flags: list[str] = _, py_version_for_type_checking: None | str = _, raw_headers: list[str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, repl_main: None | str = _, repl_only_deps: list[str] = _, resources: list[str] | dict[str, str] = _, run_with_inplace: bool = _, runner: None | str = _, runtime_env: None | dict[str, str] = _, specs: None | str = _, srcs: list[str] | dict[str, str] = _, standalone_build_args: list[str] = _, static_extension_finder: str = _, static_extension_utils: str = _, strip_libpar: str = _, strip_stapsdt: bool = _, test_rule_timeout_ms: None | int = _, thin_lto: bool = _, typing: bool = _, version_universe: None | str = _, versioned_resources: None | list[(dict[str, str], list[str] | dict[str, str])] = _, versioned_srcs: None | list[(dict[str, str], list[str] | dict[str, str])] = _, weak_framework_names: list[str] = _, zip_safe: None | bool = _ ) -> None A python_test() rule defines a set of .py files that contain tests to run via the Python unit testing framework. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one base_module: The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file. deduplicate_merged_link_roots: When linking multiple top-level binaries with the merged .buckconfig, coalesce root link rules which are identical across independent merged links. deps: other rules used by the tests in this rule's sources. env: A map of environment names and values to set when running the test. It is also possible to expand references to other rules within the values of these environment variables, using builtin string parameter macros: $(location //path/to:target)Expands to the location of the output of the build rule. This means that you can refer to these without needing to be aware of how Buck is storing data on the disk mid-build. exclude_deps_from_merged_linking: When linking the top-level binary with a merged .buckconfig, do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging. labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() . link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable. link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups. linker_flags: Additional linker flags that should be applied to any linking which is specific to this rule. Note that whether these flags are used is dependent on the native link strategy selected in .buckconfig and currently applies only to the merged .buckconfig; the separate link strategy pulls in shared libraries that are linked in the context of the rules that own them, such as cxx_library(). main_function: Name of a Python function that will serve as the main entry point of the binary. The name is either a fully qualified name like foo.bar.baz or it starts with a . like .bar.baz, in which case it is relative to the package containing the target. This should usually be a function defined within one of the dependencies of this target. This attribute should be preferred over main_module or main, and it is an error to specify more than one of these. main_module: The main module used to run the tests. This parameter is normally not needed, as Buck will provide a default main module that runs all tests. However, you can override this with your own module to perform custom initialization or command line processing. Your custom module can import the standard Buck test main as __test_main__, and can invoke it's normal main function as __test_main__.main(sys.argv). manifest_module_entries: If present, it should be a string -> entry mapping that gets generated into a __manifest__ module in the executable. Top level string keys will be the names of variables in this module (so they must be valid Python identifiers). An entry can be a list of strings, or a further string-keyed dictionary. package_style: Used to override the global packaging style that is set in [.buckconfig ]. platform: The name of the Python platform flavor to build against by default as defined in the buckconfig#pythonsection of .buckconfig. platform_resources: Python-platform-specific resource files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of resource files. The regex should use java.util.regex.Pattern syntax. The platform name is a Python platform flavor defined in the buckconfig#python section of .buckconfig. preload_deps: A list of C/C++ library dependencies that need to be loaded before any other libraries when the PEX starts up. This requires dynamic loader support, such as LD_PRELOAD, found on most systems. This list is order- sensitive and the preload libraries listed here are passed down to the dynamic linker in the same order. py_version_for_type_checking: This option will force the type checker to perform checking under a specific version of Python interpreter. srcs: The set of Python (.py) files to include in this library. test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . typing: Determines whether to perform type checking on the given target. Default is False. Details​ If your test requires static files you should specify these in the resources or platform_resources arguments. If you do not specify these files, they won't be available when your test runs. Examples: # A rule that includes a single .py file containing tests. python_test( name = 'fileutil_test', srcs = ['fileutil_tests.py'], deps = [ ':fileutil', ], ) # A rule that uses glob() to include all sources in the directory which the # rule is defined. It also lists a resource file that gets packaged with # the sources in this rule. python_library( name = 'fileutil', srcs = glob(['fileutil/**/*.py']), resources = [ 'testdata.dat', ], ) "},{"title":"python_test_runner​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_test_runner","content":"def python_test_runner( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, main_module: str = _, src: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onelabels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() . "},{"title":"remote_file​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#remote_file","content":"def remote_file( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _unzip_tool: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, out: None | str = _, sha1: None | str = _, sha256: None | str = _, type: None | str = _, url: str, vpnless_url: None | str = _ ) -> None A remote_file() rule is used to download files from the Internet to be used as dependencies for other rules. These rules are downloaded by running fetch, or can be downloaded as part of build. See the note there about the .buckconfig setting to configure that. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one out: An optional name to call the downloaded artifact. Buck will generate a default name if one is not provided that uses the name of the rule. type: An optional type of the downloaded file. dataRegular data file.executable Executable file. Buck will ensure that output has appropriate permissions if applicable. exploded_zip Zip archive which will be automatically unzipped into an output directory. url: You can specify an http, https, or a mvn URL. If you specify a mvn URL, it will be decoded as described in the javadocs for MavenUrlDecoder See the example section below. vpnless_url: An optional additional URL from which this resource can be downloaded when off VPN. Meta-internal only. Details​ Examples: Here's an example of a remote_file() using an https URL. remote_file( name = 'android-ndk-r10e-darwin-x86_64', url = 'https://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin', sha1 = 'b57c2b9213251180dcab794352bfc9a241bf2557', ) Here's an example of a remote_file() using a mvn URL being referenced by a prebuilt_jar(). prebuilt_jar( name = 'jetty-all', binary_jar = 'jetty-all-9.2.10.v20150310.jar', source_jar = ':jetty-source', ) remote_file( name = 'jetty-source', out = 'jetty-all-9.2.10.v20150310-sources.jar', url = 'mvn:org.eclipse.jetty.aggregate:jetty-all:src:9.2.10.v20150310', sha1 = '311da310416d2feb3de227081d7c3f48742d7075', ) Here's an example of a remote_file() using a mvn URI which uses a non-default maven repository host. remote_file( name = 'jetty-source', out = 'jetty-all-9.2.10.v20150310-sources.jar', url = 'mvn:https://maven-repo.com:org.eclipse.jetty.aggregate:jetty-all:src:9.2.10.v20150310', sha1 = '311da310416d2feb3de227081d7c3f48742d7075', ) Here's an example of a remote_file() using a mvn URI which uses a Maven classifier. remote_file( name = 'groovy-groovysh-indy', out = 'jetty-all-9.2.10.v20150310-sources.jar', url = 'mvn:org.codehaus.groovy:groovy-groovysh:jar:indy:2.4.1', sha1 = '1600fde728c885cc9506cb102deb1b494bd7c130', ) "},{"title":"robolectric_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#robolectric_test","content":"def robolectric_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _inject_test_env: str = _, _is_building_android_binary: bool = _, _java_test_toolchain: str = _, _java_toolchain: str = _, _kotlin_toolchain: str = _, _remote_test_execution_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, android_optional_jars: None | list[str] = _, annotation_processing_tool: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_library_whitelist: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, env: dict[str, str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_kotlinc_arguments: list[str] = _, fork_mode: str = _, friend_paths: list[str] = _, incremental: bool = _, jar_postprocessor: None | str = _, java: None | str = _, java_agents: list[str] = _, java_version: None | str = _, javac: None | str = _, k2: bool = _, kotlin_compiler_plugins: dict[str, dict[str, str]] = _, labels: list[str] = _, language: None | str = _, licenses: list[str] = _, locales_for_binary_resources: list[str] = _, manifest: None | str = _, manifest_entries: dict[str, typing.Any] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, preferred_density_for_binary_resources: None | str = _, proguard_config: None | str = _, provided_deps: list[str] = _, provided_deps_query: None | str = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resource_stable_ids: None | str = _, resource_union_package: None | str = _, resources: list[str] = _, resources_root: None | str = _, robolectric_manifest: str, robolectric_runtime_dependencies: list[str] = _, robolectric_runtime_dependency: None | str = _, run_test_separately: bool = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, std_err_log_level: None | int | str = _, std_out_log_level: None | int | str = _, target: None | str = _, test_case_timeout_ms: None | int = _, test_class_names_file: None | str = _, test_rule_timeout_ms: None | int = _, test_type: None | str = _, unbundled_resources_root: None | str = _, use_cxx_libraries: None | bool = _, use_dependency_order_classpath: None | bool = _, use_jvm_abi_gen: None | bool = _, used_as_dependency_deprecated_do_not_use: bool = _, vm_args: list[str] = _ ) -> None A robolectric_test() rule is used to define a set of .java files that contain tests to run via JUnit with Robolectric test runner. It extends from java_test() rule. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneextra_kotlinc_arguments: List of additional arguments to pass into the Kotlin compiler.incremental: Enables Kotlin incremental compilation.k2: Enables the Kotlin K2 compiler.robolectric_manifest: An Android Manifest for the rule to declare any permissions or intents it may need or want to handle. May either be a file or an android_manifest() target.robolectric_runtime_dependency: Robolectric only runs in offline mode with buck. Specify the relative directory containing all the jars Robolectric uses at runtime. "},{"title":"rust_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#rust_binary","content":"def rust_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _rust_toolchain: str = _, _target_os_type: str = _, _workspaces: list[str] = _, allow_cache_upload: None | bool = _, anonymous_link_groups: bool = _, auto_link_groups: bool = _, buck2_compatibility: str = _, clippy_configuration: None | str = _, contacts: list[str] = _, coverage: bool = _, crate: None | str = _, crate_root: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, deps: list[str] = _, edition: None | str = _, enable_distributed_thinlto: bool = _, env: dict[str, str] = _, features: list[str] = _, flagged_deps: list[(str, list[str])] = _, incremental_build_mode: None | str = _, incremental_enabled: bool = _, labels: list[str] = _, licenses: list[str] = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_style: None | str = _, linker_flags: list[str] = _, mapped_srcs: dict[str, str] = _, named_deps: list[(str, str)] | dict[str, str] = _, resources: list[str] | dict[str, str] = _, rpath: bool = _, rustc_flags: list[str] = _, rustdoc_flags: list[str] = _, srcs: list[str] = _, version_universe: None | str = _ ) -> None A rust_binary() rule builds a native executable from the supplied set of Rust source files and dependencies. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one _workspaces: Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2. allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). crate_root: Set the name of the top-level source file for the crate, which can be used to override the default (see srcs). deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules. edition: Set the language edition to be used for this rule. Can be set to any edition the compiler supports (2018 right now). If unset it uses the compiler's default (2015). env: Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded. features: The set of features to be enabled for this rule. These are passed to rustc with --cfg feature="{feature}", and can be used in the code with #[cfg(feature = "{feature}")]. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_flags: The set of additional flags to pass to the linker. mapped_srcs: Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example mapped_srcs = {":generate-module", "src/generated.rs" }. These are added to the regular srcs, so a file should not be listed in both. named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library. rpath: Set the "rpath" in the executable when using a shared link style. rustc_flags: The set of additional compiler flags to pass to rustc. srcs: The set of Rust source files to be compiled by this rule. One of the source files is the root module of the crate. By default this is lib.rs for libraries, main.rs for executables, or the crate's name with .rs appended. This can be overridden with the crate_root rule parameter. Details​ If you invoke a build with the check flavor, then Buck will invoke rustc to check the code (typecheck, produce warnings, etc), but won't generate an executable code. When applied to binaries it produces no output; for libraries it produces metadata for consumers of the library. Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust. Examples: For more examples, check out our integration tests. rust_binary( name='greet', srcs=[ 'greet.rs', ], deps=[ ':greeting', ], ) rust_library( name='greeting', srcs=[ 'greeting.rs', ], deps=[ ':join', ], ) rust_library( name='join', srcs=[ 'join.rs', ], ) "},{"title":"rust_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#rust_library","content":"def rust_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _rust_toolchain: str = _, _target_os_type: str = _, _workspaces: list[str] = _, buck2_compatibility: str = _, clippy_configuration: None | str = _, contacts: list[str] = _, coverage: bool = _, crate: None | str = _, crate_dynamic: None | str = _, crate_root: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, deps: list[str] = _, doc_deps: list[str] = _, doc_env: dict[str, str] = _, doc_link_style: None | str = _, doc_linker_flags: list[str] = _, doc_named_deps: list[(str, str)] | dict[str, str] = _, doctests: None | bool = _, edition: None | str = _, env: dict[str, str] = _, features: list[str] = _, flagged_deps: list[(str, list[str])] = _, incremental_build_mode: None | str = _, incremental_enabled: bool = _, labels: list[str] = _, licenses: list[str] = _, link_style: None | str = _, linker_flags: list[str] = _, mapped_srcs: dict[str, str] = _, named_deps: list[(str, str)] | dict[str, str] = _, preferred_linkage: str = _, proc_macro: bool = _, resources: list[str] | dict[str, str] = _, rustc_flags: list[str] = _, rustdoc_flags: list[str] = _, soname: None | str = _, srcs: list[str] = _, supports_python_dlopen: None | bool = _, version_universe: None | str = _ ) -> None A rust_library() rule builds a native library from the supplied set of Rust source files and dependencies. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one _workspaces: Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2. crate_root: Set the name of the top-level source file for the crate, which can be used to override the default (see srcs). deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules. doc_deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules. doc_env: Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded. doc_link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. doc_linker_flags: The set of additional flags to pass to the linker. doc_named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library. edition: Set the language edition to be used for this rule. Can be set to any edition the compiler supports (2018 right now). If unset it uses the compiler's default (2015). env: Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded. features: The set of features to be enabled for this rule. These are passed to rustc with --cfg feature="{feature}", and can be used in the code with #[cfg(feature = "{feature}")]. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_flags: The set of additional flags to pass to the linker. mapped_srcs: Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example mapped_srcs = {":generate-module", "src/generated.rs" }. These are added to the regular srcs, so a file should not be listed in both. named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library. rustc_flags: The set of additional compiler flags to pass to rustc. soname: Sets the soname ("shared object name") of any shared library produced from this rule. The default value is based on the full rule name. The macro $(ext) will be replaced with a platform-appropriate extension. An argument can be provided, which is a library version. For example soname = 'libfoo.$(ext 2.3)' will be libfoo.2.3.dylib on Mac and libfoo.so.2.3 on Linux. srcs: The set of Rust source files to be compiled by this rule. One of the source files is the root module of the crate. By default this is lib.rs for libraries, main.rs for executables, or the crate's name with .rs appended. This can be overridden with the crate_root rule parameter. Details​ If you invoke a build with the check flavor, then Buck will invoke rustc to check the code (typecheck, produce warnings, etc), but won't generate an executable code. When applied to binaries it produces no output; for libraries it produces metadata for consumers of the library. Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust. Examples: For more examples, check out our integration tests. rust_library( name='greeting', srcs=[ 'greeting.rs', ], deps=[ ':join', ], ) "},{"title":"rust_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#rust_test","content":"def rust_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _inject_test_env: str = _, _remote_test_execution_toolchain: str = _, _rust_toolchain: str = _, _target_os_type: str = _, _workspaces: list[str] = _, anonymous_link_groups: bool = _, auto_link_groups: bool = _, buck2_compatibility: str = _, clippy_configuration: None | str = _, contacts: list[str] = _, coverage: bool = _, crate: None | str = _, crate_root: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, deps: list[str] = _, edition: None | str = _, enable_distributed_thinlto: bool = _, env: dict[str, str] = _, features: list[str] = _, flagged_deps: list[(str, list[str])] = _, framework: bool = _, incremental_build_mode: None | str = _, incremental_enabled: bool = _, labels: list[str] = _, licenses: list[str] = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_style: None | str = _, linker_flags: list[str] = _, mapped_srcs: dict[str, str] = _, named_deps: list[(str, str)] | dict[str, str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, resources: list[str] | dict[str, str] = _, rpath: bool = _, run_env: dict[str, str] = _, rustc_flags: list[str] = _, rustdoc_flags: list[str] = _, srcs: list[str] = _, version_universe: None | str = _ ) -> None A rust_test() rule builds a Rust test native executable from the supplied set of Rust source files and dependencies and runs this test. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one _workspaces: Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2. crate_root: Set the name of the top-level source file for the crate, which can be used to override the default (see srcs). deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules. edition: Set the language edition to be used for this rule. Can be set to any edition the compiler supports (2018 right now). If unset it uses the compiler's default (2015). env: Set environment variables for this rule's invocations of rustc and during execution of the tests. The environment variable values may include macros which are expanded. features: The set of features to be enabled for this rule. These are passed to rustc with --cfg feature="{feature}", and can be used in the code with #[cfg(feature = "{feature}")]. framework: Use the standard test framework. If this is set to false, then the result is a normal executable which requires a main(), etc. It is still expected to accept the same command-line parameters and produce the same output as the test framework. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_flags: The set of additional flags to pass to the linker. mapped_srcs: Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example mapped_srcs = {":generate-module", "src/generated.rs" }. These are added to the regular srcs, so a file should not be listed in both. named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library. rpath: Set the "rpath" in the executable when using a shared link style. run_env: Set environment variables during test execution. The environment variable values may include macros which are expanded. rustc_flags: The set of additional compiler flags to pass to rustc. srcs: The set of Rust source files to be compiled by this rule. One of the source files is the root module of the crate. By default this is lib.rs for libraries, main.rs for executables, or the crate's name with .rs appended. This can be overridden with the crate_root rule parameter. Details​ Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust. Examples: For more examples, check out our integration tests. rust_test( name='greet', srcs=[ 'greet.rs', ], deps=[ ':greeting', ], ) rust_library( name='greeting', srcs=[ 'greeting.rs', ], deps=[ ':join', ], ) rust_library( name='join', srcs=[ 'join.rs', ], ) "},{"title":"scala_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#scala_library","content":"def scala_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"scala_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#scala_test","content":"def scala_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_library_whitelist: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, env: dict[str, str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, fork_mode: str = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, run_test_separately: bool = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, std_err_log_level: None | int | str = _, std_out_log_level: None | int | str = _, target: None | str = _, test_case_timeout_ms: None | int = _, test_rule_timeout_ms: None | int = _, test_type: None | str = _, use_cxx_libraries: None | bool = _, use_dependency_order_classpath: None | bool = _, vm_args: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"scene_kit_assets​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#scene_kit_assets","content":"def scene_kit_assets( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, path: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"sh_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#sh_binary","content":"def sh_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _target_os_type: str = _, append_script_extension: bool = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, main: str, resources: list[str] = _ ) -> None An sh_binary() is used to execute a shell script. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one append_script_extension: By default, sh_binary ensures that the script has an appropriate extension (e.g. .sh or .bat), appending one itself if necessary. Setting this to False prevents that behavior and makes the caller responsible for ensuring an existing appropriate extension. main: Either the path to the script (relative to the build file), or a build target. This file must be executable in order to be run. resources: A list of files or build rules that this rule requires in order to run. These could be things such as random data files. When the script runs, the $BUCK_DEFAULT_RUNTIME_RESOURCESenvironment variable specifies the directory that contains these resources. This directory's location is determined entirely by Buck; the script should not assume the directory's location. The resources are also made available in a tree structure that mirrors their locations in the source and buck-out trees. The environment variable $BUCK_PROJECT_ROOT specifies a directory that contains all the resources, laid out in their locations relative to the original buck project root. Details​ Examples: This sh_binary() just cats a sample data file back at the user. # $REPO/BUCK sh_binary( name = "script", main = "script.sh", resources = [ "data.dat", ], ) # Sample data file with data we need at runtime $ echo "I'm a datafile" > data.dat # Create a simple script that prints out the resource $ cat > script.sh #!/bin/sh cat $BUCK_DEFAULT_RUNTIME_RESOURCES/data.dat # Make sure the script is executable $ chmod u+x script.sh # Run the script, and see that it prints out the resource we provided $ buck run //:script Jobs completed: 4. Time elapsed: 0.2s. BUILD SUCCEEDED I'm a datafile "},{"title":"sh_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#sh_test","content":"def sh_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _inject_test_env: str = _, _remote_test_execution_toolchain: str = _, args: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, env: dict[str, str] = _, labels: list[str] = _, licenses: list[str] = _, list_args: None | list[str] = _, list_env: None | dict[str, str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, resources: list[str] = _, run_args: list[str] = _, run_env: dict[str, str] = _, run_test_separately: bool = _, test: None | str = _, test_rule_timeout_ms: None | int = _, type: None | str = _ ) -> None A sh_test() is a test rule that can pass results to the test runner by invoking a shell script. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one args: The list of arguments to invoke this script with. These are literal values, and no shell interpolation is done. These can contain string parameter macros, for example, to give the location of a generated binary to the test script. env: Environment variable overrides that should be used when running the script. The key is the variable name, and the value is its value. The values can contain string parameter macrossuch as the location of a generated binary to be used by the test script. test: Either the path to the script (relative to the build file), or a build target. This file must be executable in order to be run. type: If provided, this will be sent to any configured .buckconfig Details​ NOTE: This rule is not currently supported on Windows. Examples: This sh_test() fails if a string does not match a value. # $REPO/BUCK sh_test( name = "script_pass", test = "script.sh", args = ["--pass"], ) sh_test( name = "script_fail", test = "script.sh", args = ["--fail"], ) # Create a simple script that prints out the resource $ cat > script.sh #!/bin/sh for arg in $@; do if [ "$arg" == "--pass" ]; then echo "Passed" exit 0; fi done echo "Failed" exit 1 # Make sure the script is executable $ chmod u+x script.sh # Run the script, and see that one test passes, one fails $ buck test //:script_pass //:script_fail FAILURE script.sh sh_test Building: finished in 0.0 sec (100%) 2/2 jobs, 0 updated Total time: 0.0 sec Testing: finished in 0.0 sec (1 PASS/1 FAIL) RESULTS FOR //:script_fail //:script_pass FAIL <100ms 0 Passed 0 Skipped 1 Failed //:script_fail FAILURE script.sh sh_test ====STANDARD OUT==== Failed PASS <100ms 1 Passed 0 Skipped 0 Failed //:script_pass TESTS FAILED: 1 FAILURE Failed target: //:script_fail FAIL //:script_fail "},{"title":"supermodule_target_graph​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#supermodule_target_graph","content":"def supermodule_target_graph( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, label_pattern: None | str = _, labels: list[str] = _, licenses: list[str] = _, on_duplicate_entry: str = _, out: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"swift_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#swift_library","content":"def swift_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, bridging_header: None | str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, enable_cxx_interop: bool = _, frameworks: list[str] = _, import_obj_c_forward_declarations: bool = _, labels: list[str] = _, libraries: list[str] = _, licenses: list[str] = _, module_name: None | str = _, preferred_linkage: str = _, sdk_modules: list[str] = _, serialize_debugging_options: bool = _, soname: None | str = _, srcs: list[str] = _, supported_platforms_regex: None | str = _, target_sdk_version: None | str = _, uses_explicit_modules: bool = _, version: None | str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"swift_toolchain​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#swift_toolchain","content":"def swift_toolchain( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _internal_platform_path: None | str = _, _internal_sdk_path: None | str = _, _swiftc_wrapper: str = _, architecture: None | str = _, buck2_compatibility: str = _, can_toolchain_emit_obj_c_header_textually: bool = _, contacts: list[str] = _, default_host_platform: None | str = _, explicit_modules_uses_gmodules: bool = _, labels: list[str] = _, licenses: list[str] = _, make_swift_comp_db: str = _, make_swift_interface: str = _, object_format: str = _, placeholder_tool: None | str = _, platform_path: None | str = _, prefix_serialized_debug_info: bool = _, resource_dir: None | str = _, runtime_paths_for_bundling: list[str] = _, runtime_paths_for_linking: list[str] = _, runtime_run_paths: list[str] = _, sdk_dependencies_path: None | str = _, sdk_modules: list[str] = _, sdk_path: None | str = _, static_runtime_paths: list[str] = _, supports_cxx_interop_requirement_at_import: bool = _, supports_relative_resource_dir: bool = _, supports_swift_cxx_interoperability_mode: bool = _, supports_swift_importing_obj_c_forward_declarations: bool = _, swift_ide_test_tool: None | str = _, swift_stdlib_tool: str, swift_stdlib_tool_flags: list[str] = _, swiftc: str, swiftc_flags: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"test_suite​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#test_suite","content":"def test_suite( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, test_deps: list[str] = _ ) -> None A test_suite() is used to create a grouping of tests that should all be run by just testing this rule. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one Details​ This rule can then be given to buck test, and all tests that it depends on will be invoked. Note that the test_suite() target is not tested itself, it just tells buck to run other tests. It will not show up in calls to the external runner nor in the normal test output. Examples: This test_suite() sets up two different sets of tests to run, 'all' tests and 'slow' tests. Note that all_tests can depend on slow_tests, and all three tests are run. # instrumentation_tests/BUCK: sh_test( name = "instrumentation_tests", test = "instrumentation_tests.sh", visibility = ["PUBLIC"], ) # integration_tests/BUCK: sh_test( name = "integration_tests", test = "integration_tests.sh", visibility = ["PUBLIC"], ) # unit_tests/BUCK: sh_test( name = "unit_tests", test = "unit_tests.sh", visibility = ["PUBLIC"], ) # BUCK: test_suite( name = "slow_tests", tests = [ "//instrumentation_tests:instrumentation_tests", "//integration_tests:integration_tests", ], ) test_suite( name = "all_tests", tests = [ ":slow_tests", "//unit_tests:unit_tests", ], ) Yields output like this when run: $ buck test //:slow_tests ... RESULTS FOR //instrumentation_tests:instrumentation_tests //integration_tests:integration_tests PASS <100ms 1 Passed 0 Skipped 0 Failed //instrumentation_tests:instrumentation_tests PASS <100ms 1 Passed 0 Skipped 0 Failed //integration_tests:integration_tests TESTS PASSED ... $ buck test //:all_tests RESULTS FOR //instrumentation_tests:instrumentation_tests //integration_tests:integration_tests //unit_tests:unit_tests PASS <100ms 1 Passed 0 Skipped 0 Failed //instrumentation_tests:instrumentation_tests PASS <100ms 1 Passed 0 Skipped 0 Failed //integration_tests:integration_tests PASS <100ms 1 Passed 0 Skipped 0 Failed //unit_tests:unit_tests TESTS PASSED "},{"title":"toolchain_alias​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#toolchain_alias","content":"def toolchain_alias( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, actual: str, buck2_compatibility: str = _ ) -> None toolchain_alias acts like alias but for toolchain rules. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneactual: The actual toolchain that is being aliased. This should be a toolchain rule. Details​ The toolchain_alias itself is a toolchain rule and the actual argument is expected to be a toolchain_rule as well. "},{"title":"versioned_alias​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#versioned_alias","content":"def versioned_alias( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, versions: dict[str, str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"windows_resource​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#windows_resource","content":"def windows_resource( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, buck2_compatibility: str = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, include_directories: list[str] = _, labels: list[str] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, raw_headers: list[str] = _, srcs: list[str | (str, list[str])] = _ ) -> None A windows_resource() rule specifies a set of Window's Resource File (.rc) that are compiled into object files. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneheader_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package.platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target.srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). Details​ The files are compiled into .res files using rc.exe and then compiled into object files using cvtres.exe. They are not part of cxx_library because Microsoft's linker ignores the resources unless they are specified as an object file, meaning including them in a possibly static library is unintuitive. Examples: # A rule that includes a single .rc file and compiles it into an object file. windows_resource( name = "resources", srcs = [ "resources.rc", ], ) # A rule that links against the above windows_resource rule. cxx_binary( name = "app", srcs = [ "main.cpp", ], deps = [ ":resources" ], ) "},{"title":"worker_tool​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#worker_tool","content":"def worker_tool( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _worker_tool_runner: str = _, args: str | list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, env: dict[str, str] = _, exe: None | str = _, labels: list[str] = _, licenses: list[str] = _, max_workers: None | int = _, max_workers_per_thread_percent: None | int = _, persistent: None | bool = _ ) -> None Some external tools have high startup costs. To amortize those costs over the whole build rather than paying them for each rule invocation, use the worker_tool() rule in conjunction with genrule(). Buck then starts the external tool once and reuses it by communicating with it over stdin and stdout using a simple JSON protocol. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneargs: A string of args that is passed to the executable represented by exe on initial startup.env: A map of environment variables that is passed to the executable represented by exe on initial startup.exe: A build target for a rule that outputs an executable, such as an sh_binary(). Buck runs this executable only once per build.max_workers: The maximum number of workers of this type that Buck starts. Use -1 to allow the creation of as many workers as necessary.max_workers_per_thread_percent: The maximum ratio of workers of this type that Buck starts per thread, specified as a positive integer percentage (1-100). Must be greater than or equal to 1 and less than or equal to 100. Only one of max_workers and max_workers_per_thread_percent may be specified.persistent: If set to true, Buck does not restart the tool unless the tool itself changes. This means the tool persists across multiple Buck commands without being shut down and may see the same rule being built more than once. Be careful not to use this setting with tools that don't expect to process the same input—with different contents—twice! Details​ A worker_tool rule can be referenced in the cmd parameter of a genrule by using the macro: $(exe //path/to:target) Examples: Consider the following build rules: # # Buck # worker_tool( name = 'ExternalToolWorker', exe = ':ExternalTool', args = '--arg1 --arg2' ) sh_binary( name = 'ExternalTool', main = 'external_tool.sh', ) genrule( name = 'TransformA', out = 'OutputA.txt', cmd = '$(exe :ExternalToolWorker) argA', ) genrule( name = 'TransformB', out = 'OutputB.txt', cmd = '$(exe :ExternalToolWorker) argB', ) genrule( name = 'TransformC', out = 'OutputC.txt', cmd = '$(exe :ExternalToolWorker) argC', ) When doing a buck build on all three of the above genrules, Buck first creates the worker process by invoking: ./external_tool.sh --arg1 --arg2 Buck then communicates with this process using JSON over stdin, starting with a handshake: [ { "id": 0, "type": "handshake", "protocol_version": "0", "capabilities": [] } Buck then waits for the tool to reply on stdout: [ { "id": 0, "type": "handshake", "protocol_version": "0", "capabilities": [] } Then, when building the first genrule, Buck writes to stdin: ,{ "id": 1, "type": "command", "args_path": "/tmp/1.args", "stdout_path": "/tmp/1.out", "stderr_path": "/tmp/1.err" } The file /tmp/1.args contains argA. The tool should perform the necessary work for this job and then write the job's output to the files supplied by Buck—in this case, /tmp/1.out and /tmp/1.err. Once the job is done, the tool should reply to Buck on stdout with: ,{ "id": 1, "type": "result", "exit_code": 0 } Once Buck hears back from the first genrule's job, it submits the second genrule's job in the same fashion and awaits the response. When the build is all finished, Buck closes the JSON by writing to stdin: ] which signals the tool that it should exit after replying on stdout with: ] In this example, Buck is guaranteed to invoke ./external_tool.sh --arg1 --arg2 only once during the build. The three jobs corresponding to the three genrules are submitted synchronously to the single worker process. Note that the id values in the messages are not necessarily increasing or sequential, but they do have to match between the request message and the response message of a given job as well as in the initial handshake. If the tool receives a message type it cannot interpret it should answer with: { "id": &ltn>, "type": "error", "exit_code": 1 } If the tool receives a message type it can interpret, but the other attributes of the message are in an inconsistent state, it should answer with: { "id": &ltn>, "type": "error", "exit_code": 2 } "},{"title":"zip_file​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#zip_file","content":"def zip_file( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _zip_file_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, entries_to_exclude: list[str] = _, labels: list[str] = _, licenses: list[str] = _, on_duplicate_entry: str = _, out: str = _, srcs: list[str] = _, zip_srcs: list[str] = _ ) -> None A zip_file() allows builds to create basic zip files in a platform-agnostic way. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one entries_to_exclude: List of regex expressions that describe entries that should not be included in the output zip file. The regexes must be defined using java.util.regex.Pattern syntax. on_duplicate_entry: Action performed when Buck detects that zip_file input contains multiple entries with the same name. The valid values are: overwrite (default): the last entry overwrites all previous entries with the same name.append: all entries are added to the output file.fail: fail the build when duplicate entries are present. out: The name of the zip file that should be generated. This allows builds to use a meaningful target name coupled with a meaningful zip file name. The default value takes the rule's name and appends .zip. srcs: The set of files to include in the zip. Each src will be added to the zip as follows: If the src is the output of another rule, the output will be included using just the output's file name.If the src is a file relative to the rule's declaration, it will be included in the zip with its relative file name. zip_srcs: The set of zip files whose content to include in the output zip file. Note that the order of files in zip_srcs matters because the same zip entry can be included from multiple files. See the on_duplicate_entry argument to learn how to control the behavior when there are multiple entries with the same name. The entries from zip_srcs are added before files from srcs. Details​ Examples: This example will create a simple zip file. zip_file( # The output will be "example.zip" name = 'example', srcs = # These files will be found in the zip under "dir/" glob(['dir/**/*']) + [ # Imagine this generates the output # "buck-out/gen/foo/hello.txt". This output will # be found in the zip at "hello.txt" '//some/other:target', ], zip_srcs = [ # The contents of this zip will be added to the generated zip. 'amazing-library-1.0-sources.zip', ], entries_to_exclude = [ "com/example/amazinglibrary/Source1.java", ], ) If you were to examine the generated zip, the contents would look something like (assuming the output of "//some/other:target" was a file who's path ended withhello.txt, the "dir" glob found two files, and "amazing-library-1.0-sources.zip" contained two Java source files): dir/file1.txt dir/subdir/file2.txt hello.txt com/example/amazinglibrary/Source2.java "}] \ No newline at end of file diff --git a/search-doc.json b/search-doc.json new file mode 100644 index 0000000000000..dc39d1a3ede55 --- /dev/null +++ b/search-doc.json @@ -0,0 +1 @@ +[{"title":"Introduction","type":0,"sectionRef":"#","url":"/docs/","content":"","keywords":""},{"title":"Buck2 Documentation Website Links​","type":1,"pageTitle":"Introduction","url":"/docs/#buck2-documentation-website-links","content":""},{"title":"For end users​","type":1,"pageTitle":"Introduction","url":"/docs/#for-end-users","content":"Getting Started - how to get started with using Buck2.Benefits - the benefits of using Buck2. "},{"title":"For people writing rules​","type":1,"pageTitle":"Introduction","url":"/docs/#for-people-writing-rules","content":"Writing Rules - how to write rules to support new languages.Build APIs - documentation for the APIs available when writing rules.Starlark Types - rules are written in Starlark (which is approximately Python), but our version adds types. "},{"title":"For people integrating with Buck2​","type":1,"pageTitle":"Introduction","url":"/docs/#for-people-integrating-with-buck2","content":"Extending Buck via BXL - powerful Starlark scripts for introspection of Buck2's graphs.Buck2 change detector - tools for building a CI that only builds/tests what has changed in diff/PR.Buck2 GitHub actions installer - script to make GitHub CI with Buck2 easier.Reindeer - a set of tools for importing Rust crates from crates.io, git repos etc and generating a BUCK file for using them.ocaml-scripts - scripts to generate a BUCK file enabling the use of OCaml packages from an OPAM switch.Buckle - a launcher for Buck2 on a per-project basis. Enables a project or team to do seamless upgrades of their build system tooling. "},{"title":"External articles about Buck2​","type":1,"pageTitle":"Introduction","url":"/docs/#external-articles-about-buck2","content":"Introducing Buck2 - our initial introduction when we open sourced Buck2.Reddit AMAwhere the Buck2 team answered a number of questions.Using buck to build Rust projects - working through an initial small Rust project, bySteve Klabnik. Followed up bybuilding from crates.ioand updating Buck2.Awesome Buck2 is a collection of resources about Buck2.Buck2 Unboxing is a general review of Buck2 by Son Luong Ngoc.A tour around Buck2 gives an overview of Buck2 and how it differs from Bazel. "},{"title":"External videos about Buck2​","type":1,"pageTitle":"Introduction","url":"/docs/#external-videos-about-buck2","content":"Accelerating builds with Buck2Neil talks about why Buck2 is fast.Buck2: optimizations & dynamic dependenciesNeil and Chris talk about why Buck2 is fast and some of the advanced dependency features.Building Erlang with Buck2Andreas talks about building WhatsApp with Buck2.antlir2: Deterministic image bulids with Buck2talks about layering a packaging system over Buck2. "},{"title":"External projects using Buck2​","type":1,"pageTitle":"Introduction","url":"/docs/#external-projects-using-buck2","content":"System Initiative build their DevOps productusing Buck2, with their own custom prelude.Rust cxx library has examples and tests with a wide variety of build systems, including Buck2.ocamlrep library allows for interop between OCaml and Rust code, and can bebuilt with Buck2.buck2-nix is an experiment to integrate Buck2, Sapling andNix together in a harmonious way. Feel free tosend a PR adding your project. "},{"title":"Benefits When Compared to Buck1","type":0,"sectionRef":"#","url":"/docs/about/benefits/compared_to_buck1/","content":"","keywords":""},{"title":"Benefits for end users​","type":1,"pageTitle":"Benefits When Compared to Buck1","url":"/docs/about/benefits/compared_to_buck1/#benefits-for-end-users","content":""buck2 build SOME_TARGET_I_ALREADY_BUILT_BEFORE is basically instantaneous and is a super delightful experience. 🙂" - End user experience "Buck2 is largely faster and more memory efficient than buck1, and where I’ve seen counter-examples, the buck2 team quickly optimizes and fixes that.🙂" - Software Engineer feedback For people who use Buck on a daily basis (such as using Buck build as part of their development inner loop), switching to Buck2 provides the following benefits: Performance - the performance of Buck2 is better in four ways: Fast things are fast - in Buck1, simply typing buck build when there is nothing to do can be expensive (23 seconds in some benchmarks). In Buck2, the same build action takes 0.1 seconds. Actions that should be fast are fast, which enables developers to use Buck more freely, without trying to work around the build system.Slow things are faster - when there is real work to do, Buck2 is significantly closer to the critical path. Benchmarks range from 5%/10s faster for changing a header file (lots of parallel C++ computations, Buck1 already nearly at the critical path) to 42%/145s faster (changing a Thrift file in a large project).Users contribute to the shared cache - with Buck1, only trusted CI builds write to the network cache, while with Buck2 everyone writes to the cache through sandboxed remote execution. This increases the chance of cache hits, saving capacity and time.CI builds go faster - these numbers vary day by day, but most projects are 2-4x faster. This means spending less time waiting for CI and saving some capacity at the same time. Correctness - in Buck2, rules are hermetic by default. Missing dependencies are errors. These restrictions apply to both the user-writtenBUCK files and the language rules. During the process of migrating to Buck2, a huge number of missing dependencies have been fixed. However, during the same process, several Buck1 issues were identified that are not going to be fixed in Buck1 (such as missing headers, genrules without dependencies, and OCaml rules don’t track all deps). The end result is that Buck2 gives the right answer more often, cutting down on user surprises. Rule features - the rules in Buck2, especially for less commonly used languages (such as Haskell, OCaml, and Rust) support features above and beyond those in Buck1. Examples: dependencies can be given as arguments toprebuilt_ocaml_library, Haskell enables the use of stub headers from C++, and Rust has experimental pipelining support. Actively developed - the Meta build team is putting all its efforts behind Buck2; it's vastly easier to develop than Buck1. While Buck2 is already ahead of Buck1 in many important aspects, the difference is only going to grow with several improvements in the pipeline.Support - Meta can provide much better support to those having difficulties with Buck2 than to those using Buck1. "},{"title":"Benefits for Rule Authors​","type":1,"pageTitle":"Benefits When Compared to Buck1","url":"/docs/about/benefits/compared_to_buck1/#benefits-for-rule-authors","content":"If you write language-specific rules, then Buck2 is in a different league to Buck1. "This is all rather fun! Buck2 rules are so much more hackable than Buck1." - Software Engineer feedback There are a number of reasons why Buck2 excels for Rule Authors: Faster developer cycle - in Buck1, the time from changing a rule to seeing the impact is many minutes: you first have to compile Buck1, invalidate the dependency cache (and so on), and perhaps work between multiple OSs. With Buck2, it takes seconds, you don’t even need to restart the daemon.Simple API - Buck2 rules use a small and documented Starlark API, which is dependency-correct by construction. In Buck1, the rules must obey a lot of subtle side conditions with a much larger API.Easier deployment - for Buck2, deployment is just checking the rules in, with an atomic commit changing associated macros (when required). For Buck1, you have to make the repo work with the old and new rules and wait for a Buck version bump to ship your changes, perhaps a few days later.Low barrier to entry - writing rules in Buck2 is vastly easier than Buck1, significantly increasing the developer pool. This means that writing rules is now accessible to language experts, not just Buck experts. "},{"title":"Benefits for Integrators​","type":1,"pageTitle":"Benefits When Compared to Buck1","url":"/docs/about/benefits/compared_to_buck1/#benefits-for-integrators","content":"For those people who integrate Buck2 into larger systems, in addition to many of the above benefits apply, Buck2 provides the following benefits: Faster queries - many integrators make extensive use of buck uquery andcquery. In Buck2, these commands are faster and use less memory. For example, on CI target determination (a bunch of targets/queries), Buck2 is 25% faster at P50 (moving to 40% faster at P95) with 25% less memory (saving over 20Gb, and crossing below the 64Gb threshold). Profiling - Buck2 already ships with five types of profiling for both loading and analysis (flame graphs, statement breakdown, heap profiles etc). With Buck2, these tools are much more easily accessible to people not on the Build Infra team. "},{"title":"The downside​","type":1,"pageTitle":"Benefits When Compared to Buck1","url":"/docs/about/benefits/compared_to_buck1/#the-downside","content":"While there are many benefits, it would be remiss not to include a small list of temporary issues: Stability - Buck2 is under active development, which means the risk of regression is correspondingly higher. There may be issues, but they will be fixed as quickly as possible (and lessons learned) through the through Meta's SEV-review process.Corner cases - Buck1 has been battle-tested for nearly a decade, which has included attention to events such as error messages in unlikely corner cases. Only time and user feedback will enable Meta to bring Buck2 to the same level. Please share all such feedback! "},{"title":"Bootstrapping Buck2","type":0,"sectionRef":"#","url":"/docs/about/bootstrapping/","content":"Bootstrapping Buck2 To generate BUCK files for buck2's dependencies, we usereindeer. Note that the resulting binary will be compiled without optimisations orjemalloc, so we recommend using the Cargo-produced binary in further development. First, install reindeer with Cargo: cargo install --locked --git https://github.com/facebookincubator/reindeer reindeer Next, run the following to buckify dependencies: cd buck2/ reindeer --third-party-dir shim/third-party/rust buckify Build buck2 with buck2: buck2 build //:buck2 ","keywords":""},{"title":"Getting Started","type":0,"sectionRef":"#","url":"/docs/about/getting_started/","content":"","keywords":""},{"title":"Installing Buck2​","type":1,"pageTitle":"Getting Started","url":"/docs/about/getting_started/#installing-buck2","content":"The latest set of buck2 executables can be found under thelatest release page. Additionally, for each bi-monthly release there is adotslash file that is appropriate for checkin to a repository. This will automatically fetch the correct version and architecture for each user, and ensures a consistent build environment for each commit in the repo. To get started, first install rustup, then compile thebuck2 executable: rustup install nightly-2024-06-08 cargo +nightly-2024-06-08 install --git https://github.com/facebook/buck2.git buck2 The above commands install buck2 into a suitable directory, such as$HOME/.cargo/bin, which you should then add to your $PATH: Linux / macOS export PATH=$HOME/.cargo/bin:$PATH Windows Powershell $Env:PATH += ";$HOME\\.cargo\\bin" With Buck2 installed, you can build projects with buck2! "},{"title":"Windows configuration​","type":1,"pageTitle":"Getting Started","url":"/docs/about/getting_started/#windows-configuration","content":"Some of our rules use symlinks, which are disabled by default for non-admin Windows users. You can fix that byenabling Developer Mode. "},{"title":"Compiling your first project​","type":1,"pageTitle":"Getting Started","url":"/docs/about/getting_started/#compiling-your-first-project","content":"This section covers the building of a'hello_world' example projectthat contains a simple C++ binary. If you are interested in seeing how other languages can be built, take a look at theprelude example project, which contains Rust, C++, Python, and OCaml targets. First, clone the buck2 repository and cd into the 'hello_world' project: git clone https://github.com/facebook/buck2.git cd buck2/examples/hello_world buck2 init --git is all the setup you need to start building. This will use git submodule to pull buck2-preludeinto your project: buck2 init --git To use another version control system, run buck2 init and manually downloadbuck2-prelude into prelude at root. buck2 init To build the entire project, run: Note: Requires clang and lld to be in the path buck2 build //... Note that this uses asimple C++ toolchainthat requires a recent version of clang to be installed on your system. This can be installed with any package manager (ex. apt install clang,xcode-select --install on macOS, choco install llvm). After installing any external tools or changing your PATH, run buck2 kill before running a build. To list all targets available in the project, run: buck2 targets //... To run the main C++ binary, run: buck2 run //:main The newly built binary can be found with the --show-output flag: buck2 build //:main --show-output Output: Build ID: 0e890477-5b7f-4829-9ffe-662e572320a0 Jobs completed: 3. Time elapsed: 0.0s. BUILD SUCCEEDED root//:main buck-out/v2/gen/root/9f4d83578bb24895/__main__/main "},{"title":"Creating your first hello_world project​","type":1,"pageTitle":"Getting Started","url":"/docs/about/getting_started/#creating-your-first-hello_world-project","content":"This section demonstrates how to create a simple C++ 'hello_world' project. To get started, make a new folder for your project and cd into it. mkdir hello_world cd hello_world Next, run buck2 init --git to initialize the project. This command will set up your project with git and pull inbuck2-prelude as a submodule. Additionally, it will generate multiple files with default values. buck2 init --git Next, add the source code main.cpp , #include <iostream> int main() { std::cout << "Hello from a C++ Buck2 program!" << std::endl; } Then, define a cxx_binary in the root BUCK file: # BUCK cxx_binary( name = "main", srcs = ["main.cpp"], link_style = "static", ) If you try to build //:main at this point, you'll see an error about buck2not being able to find toolchains//:cxx. The final step is to define the necessary toolchain targets. For that project, you need system_cxx_toolchain and system_python_bootstrap_toolchain, which will pick up the necessary tools (clang++, python, and so on) from the system. # toolchains/BUCK load("@prelude//toolchains:cxx.bzl", "system_cxx_toolchain") load("@prelude//toolchains:python.bzl", "system_python_bootstrap_toolchain") system_cxx_toolchain( name = "cxx", visibility = ["PUBLIC"], ) system_python_bootstrap_toolchain( name = "python_bootstrap", visibility = ["PUBLIC"], ) At this point, your project should have the following files: $ tree -a -I "buck-out|prelude|.git" |-- .buckconfig |-- .gitmodules |-- BUCK |-- main.cpp `-- toolchains `-- BUCK Now, you're ready to see the build in action. To build the main C++ target, run: buck2 build //:main To run the main C++ target, run: buck2 run //:main In summary, a buck2 project requires: A .buckconfig file in the root which has a [cells] section listing outcellsA prelude directory, which contains a collection ofrules of your choice.buck2 init will pull in thebuck2-prelude as a git submodule by defaultIf using the buck2-prelude, a toolchains directory that declares relevant toolchains. We provide some basic toolchains inprelude/toolchainsBUCK files that specify targets for your project buck2 init --git will generate all of these with reasonable default values. "},{"title":"Learning More​","type":1,"pageTitle":"Getting Started","url":"/docs/about/getting_started/#learning-more","content":"You should now be ready to explore Buck2 for use in your own projects. You can explore the examplesfolder. Look out for more tutorials in the future. "},{"title":"APIs","type":0,"sectionRef":"#","url":"/docs/api/","content":"APIs A lot of Buck2 is driven by Starlark APIs. While there is aStarlark specification, for most purposes it can be considered a subset of Python. There are three main places you can write Starlark in Buck2: In BUCK files, where you can define the rules. The most interesting functions are the rules themselves, but you will often use the builtin Starlark functions (most of which are the same as in Python), and a few of the build functions (e.g.glob).In rule definitions, where you can use the same Starlark standard functions, but will heavily be using the build functions (e.g. ruleand attrs).In BXL, where the context type is one of the more important ones.","keywords":""},{"title":"Why Buck2","type":0,"sectionRef":"#","url":"/docs/about/why/","content":"","keywords":""},{"title":"Why does Buck2 exist?​","type":1,"pageTitle":"Why Buck2","url":"/docs/about/why/#why-does-buck2-exist","content":"Meta employs a very large monorepo, consisting of a variety of programming languages, including C++, Python, Rust, Kotlin, Swift, Objective-C, Haskell, OCaml, and more. Google employs a different but functionally similar monorepo. These large scale and multi-language repositories are generally beyond the capabilities of traditional build systems like make. To optimize the build and performance of these large systems, Facebook and Google developed their own build systems, respectively Buck and Bazel. While the internal version of Bazel was started first (also known as Blaze), Buck was open sourced first (back in March 2013), followed by Bazel a few years later (March 2015). The retroactively named Buck1 was a capable build system and is still in use today at Meta (although many users have migrated). Buck2 is a rewrite that aims to keep the best bits of Buck1 (with a high degree of target compatibility) but also borrows ideas from academicresearch and build systems, including Bazel, Pants,Shake, Tup, and more. Following are aspects common to Buck1 and Buck2 (and in most cases, Bazel): Targets that can be queried - the build is defined as a series of targets, specified in BUCK files, that depend on other targets. This graph of targets can be queried to understand how they relate to each other and what the potential impact of a change might be.Remote execution - the build can send actions to a set of remote servers to be executed, increasing the parallelism significantly.Multi-language composability - there can be lots of different languages in a single build, and they can be put together. For example, you could have a Python library that depends on a Rust library, which, in turn depends on a C library.File watching - at large enough scale, simply looking for changed files is prohibitively expensive. Buck can integrate withWatchman to discover which files have changed efficiently. However, for simplicity of setup, the open-source version defaults to using inotify or similar functionality.Uses Starlark - Starlark is a deterministic Python-like language used to specify the targets, enabling the definition of targets as literals and more advanced manipulation/sharing. "},{"title":"What's different about Buck2?​","type":1,"pageTitle":"Why Buck2","url":"/docs/about/why/#whats-different-about-buck2","content":"Buck2 has many minor differences from Buck1, but there are a number that give new efficiency or expressiveness that are of note (most of these are also different from Bazel). Buck2 is written in Rust - Buck1 was written in Java. One of the advantages of using Rust is the absence of GC pauses, However, Java also has advantages, such as better memory profiling tools.Buck2 is remote execution first - local execution is considered a special case of remote execution, in contrast to Buck1 where it was added after. That means that things such as directory hashes can be pre-computed ready to send to remote execution, giving efficiency benefits.All Buck2 rules are written in Starlark - whereas, in Buck1, they were written in Java as part of the binary, which makes iteration on rules much faster.The Buck2 binary is entirely language agnostic - as a consequence of having all the rules external to the binary, the most important and complex rule (such as in C++), don't have access to magic internal features. As a result, features have been made available to all rules, including: Dep files - the ability to declare that a subset of the files weren't actually used, and thus not be sensitive to changes within them.Incremental actions - the ability to have the action short-circuit some subset of the work if run again. Buck2 uses a dynamic (aka monadic) graph as its underlying computation engine - while most dependencies are specified statically, there are two particular features that expose dynamic power to rule authors: Dynamic dependencies - enable rules to build a file then look at its contents before specifying the dependencies and steps in future actions. Common uses are languages where the dependency structure within a project must follow imports (e.g. Haskell, OCaml) and distributed ThinLTO (where the best optimization plan is generated from summaries).Anonymous targets - enable rules to create a graph that has more sharing than the original user graph. As a result, two unrelated binaries can compile shared code only once, despite the shared code not knowing about this commonality. This feature is useful for rules like Swift feature resolution. Transitive-sets - similar in purpose to Bazel's depset. But, instead of being just a memory optimization, are also wired into the dependency graph, providing a reduction in the size of the dependency graph.Buck2 is not phased - there are no target graph/action graph phases, just a series of dependencies in asingle graph on DICEthat result in whatever the user requested. That means that Buck2 can sometimes parallelise different phases and track changes very precisely.Buck2 can integrate with the virtual filesystemEden - this provides good performance, even when the file system is backed by source control fetches. However, Eden is not required, and a normal file system will also work well.The Buck2 Starlark implementation is availableas a standalone library - this provides features such as IDE integration (both LSP and DAP bindings), linters, typecheckers, and more. These features are integrated into Buck2 to give a better developer experience (which is still evolving).Buck2 supports configurations - (such as select) to provide multi-platform/architecture builds, which are heavily inspired by Bazel. Within that space, there is a number of small differences, such astoolchain_deps.Buck2 is fast - in our internal tests, we observed that Buck2 completed builds 2x as fast as Buck1. For a comprehensive list of benefits, seeBenefits Compared to Buck1. "},{"title":"Why use Buck2?​","type":1,"pageTitle":"Why Buck2","url":"/docs/about/why/#why-use-buck2","content":"It would be delightful if you tried out Buck2! But it is early-stage software, so users may run into unexpected issues. If you encounter an issue, please report it via Github issues. Buck2 is being used internally within Meta and is available as open-source from 2023. There are several differences between the internal and open-source versions: Meta uses an internal version of remote execution with builds always hooked up to remote execution. The open-source binding, which uses Buck2 without remote execution, may be less polished.There are some configuration differences between the open source and internal versions. For example, file changes default to inotify in open-source, and to Watchman internally.The prelude (containing all the rules) is the same for open-source as internal, but toolchains are not open-sourced. The required custom toolchains may not work as well. There are also some things that aren't quite yet finished: There are not yet mechanisms to build in release mode (that should be achieved by modifying the toolchain).Windows/Mac builds are still in progress; open-source code is mostly tested on Linux. If none of that puts you off, give Buck2 a go! "},{"title":"ActionErrorLocation type","type":0,"sectionRef":"#","url":"/docs/api/build/ActionErrorLocation/","content":"","keywords":""},{"title":"ActionErrorLocation.file​","type":1,"pageTitle":"ActionErrorLocation type","url":"/docs/api/build/ActionErrorLocation/#actionerrorlocationfile","content":"ActionErrorLocation.file: str The file of the error location. This is only needed for action error handler unit testing. "},{"title":"ActionErrorLocation.line​","type":1,"pageTitle":"ActionErrorLocation type","url":"/docs/api/build/ActionErrorLocation/#actionerrorlocationline","content":"ActionErrorLocation.line: None | int The line of the error location. This is only needed for action error handler unit testing. "},{"title":"ActionSubError type","type":0,"sectionRef":"#","url":"/docs/api/build/ActionSubError/","content":"","keywords":""},{"title":"ActionSubError.category​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/build/ActionSubError/#actionsuberrorcategory","content":"ActionSubError.category: str The category name of this sub error. This function is only needed for action error handler unit testing. "},{"title":"ActionSubError.locations​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/build/ActionSubError/#actionsuberrorlocations","content":"ActionSubError.locations: None | list[ActionErrorLocation] Any locations associated with this sub error. This function is only needed for action error handler unit testing. "},{"title":"ActionSubError.message​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/build/ActionSubError/#actionsuberrormessage","content":"ActionSubError.message: None | str The optional message associated with this sub error. This function is only needed for action error handler unit testing. "},{"title":"anon_targets type","type":0,"sectionRef":"#","url":"/docs/api/build/anon_targets/","content":"","keywords":""},{"title":"anon_targets.anon_targets​","type":1,"pageTitle":"anon_targets type","url":"/docs/api/build/anon_targets/#anon_targetsanon_targets","content":"anon_targets.anon_targets: typing.Any Returns a list of StarlarkAnonTargets. "},{"title":"anon_targets.promise​","type":1,"pageTitle":"anon_targets type","url":"/docs/api/build/anon_targets/#anon_targetspromise","content":"anon_targets.promise: promise Returns the promise that maps to the result of the joined anon rules. "},{"title":"anon_target type","type":0,"sectionRef":"#","url":"/docs/api/build/anon_target/","content":"","keywords":""},{"title":"anon_target.artifact​","type":1,"pageTitle":"anon_target type","url":"/docs/api/build/anon_target/#anon_targetartifact","content":"def anon_target.artifact(name: str) Gets a specific StarlarkPromiseArtifact by name. Returns an error if the name was not found in the registered promise artifacts for the anon target. "},{"title":"anon_target.artifacts​","type":1,"pageTitle":"anon_target type","url":"/docs/api/build/anon_target/#anon_targetartifacts","content":"def anon_target.artifacts() Returns a dict where the key is the promise artifact's name, and the value is the StarlarkPromiseArtifact. To get a promise artifact where the short path is accessible, call ctx.actions.assert_short_path(...) and pass in the artifact retrieved from this dict. "},{"title":"anon_target.promise​","type":1,"pageTitle":"anon_target type","url":"/docs/api/build/anon_target/#anon_targetpromise","content":"anon_target.promise: promise Returns the promise that maps to the result of the anon rule. "},{"title":"ActionErrorCtx type","type":0,"sectionRef":"#","url":"/docs/api/build/ActionErrorCtx/","content":"","keywords":""},{"title":"ActionErrorCtx.new_error_location​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/build/ActionErrorCtx/#actionerrorctxnew_error_location","content":"def ActionErrorCtx.new_error_location( *, file: str, line: None | int = None ) -> ActionErrorLocation Create a new error location, specifying a file path and an optional line number. The file path should be either a project-relative path, or an absolute path. "},{"title":"ActionErrorCtx.new_sub_error​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/build/ActionErrorCtx/#actionerrorctxnew_sub_error","content":"def ActionErrorCtx.new_sub_error( *, category: str, message: None | str = None, locations: None | list[ActionErrorLocation] | tuple[ActionErrorLocation, ...] = None ) -> ActionSubError Create a new sub error, specifying an error category name, optional message, and an optional list of error locations. The category should be finer grain error categorizations provided by the rule authors, and tend to be language specific. These should not be any kind of shared concepts among all errors for all languages/rules. For example, timeouts and infra errors should not go here - buck2 tries to categorize these types of errors automatically. An example of a finer grain error category may be the error code for rustc outputs. The message will be emitted to the build report, and to the stderr in the error diagnostics section. "},{"title":"ActionErrorCtx.stderr​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/build/ActionErrorCtx/#actionerrorctxstderr","content":"ActionErrorCtx.stderr: str The stderr of the failed action. "},{"title":"ActionErrorCtx.stdout​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/build/ActionErrorCtx/#actionerrorctxstdout","content":"ActionErrorCtx.stdout: str The stdout of the failed action. "},{"title":"artifact type","type":0,"sectionRef":"#","url":"/docs/api/build/artifact/","content":"","keywords":""},{"title":"artifact.as_output​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactas_output","content":"def artifact.as_output() -> output_artifact Returns a StarlarkOutputArtifact instance, or fails if the artifact is either an Artifact, or is a bound Artifact (You cannot bind twice) "},{"title":"artifact.basename​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactbasename","content":"artifact.basename: str The base name of this artifact. e.g. for an artifact at foo/bar, this is bar "},{"title":"artifact.extension​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactextension","content":"artifact.extension: str The file extension of this artifact. e.g. for an artifact at foo/bar.sh, this is .sh. If no extension is present, "" is returned. "},{"title":"artifact.is_source​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactis_source","content":"artifact.is_source: bool Whether the artifact represents a source file "},{"title":"artifact.owner​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactowner","content":"artifact.owner: None | label The Label of the rule that originally created this artifact. May also be None in the case of source files, or if the artifact has not be used in an action, or if the action was not created by a rule. "},{"title":"artifact.project​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactproject","content":"def artifact.project( path: str, /, *, hide_prefix: bool = False ) -> artifact Create an artifact that lives at path relative from this artifact. For example, if artifact foo is a directory containing a file bar, then foo.project("bar")yields the file bar. It is possible for projected artifacts to hide the prefix in order to have the short name of the resulting artifact only contain the projected path, by passinghide_prefix = True to project(). "},{"title":"artifact.short_path​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactshort_path","content":"artifact.short_path: str The interesting part of the path, relative to somewhere in the output directory. For an artifact declared as foo/bar, this is foo/bar. "},{"title":"artifact.with_associated_artifacts​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactwith_associated_artifacts","content":"def artifact.with_associated_artifacts(artifacts: list[artifact]) -> artifact Returns a StarlarkArtifact instance which is identical to the original artifact, but with potentially additional artifacts. The artifacts must be bound. "},{"title":"artifact.without_associated_artifacts​","type":1,"pageTitle":"artifact type","url":"/docs/api/build/artifact/#artifactwithout_associated_artifacts","content":"def artifact.without_associated_artifacts() -> artifact Returns a StarlarkArtifact instance which is identical to the original artifact, except with no associated artifacts "},{"title":"buck_regex type","type":0,"sectionRef":"#","url":"/docs/api/build/buck_regex/","content":"","keywords":""},{"title":"buck_regex.match​","type":1,"pageTitle":"buck_regex type","url":"/docs/api/build/buck_regex/#buck_regexmatch","content":"def buck_regex.match(str: str, /) -> bool "},{"title":"configured_target_label type","type":0,"sectionRef":"#","url":"/docs/api/build/configured_target_label/","content":"","keywords":""},{"title":"configured_target_label.cell​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelcell","content":"configured_target_label.cell: str "},{"title":"configured_target_label.config​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelconfig","content":"def configured_target_label.config() -> configuration "},{"title":"configured_target_label.name​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelname","content":"configured_target_label.name: str "},{"title":"configured_target_label.package​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelpackage","content":"configured_target_label.package: str "},{"title":"configured_target_label.path​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelpath","content":"configured_target_label.path: typing.Any "},{"title":"configured_target_label.raw_target​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelraw_target","content":"def configured_target_label.raw_target() -> target_label Returns the unconfigured underlying target label. "},{"title":"configured_target_label.with_sub_target​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/build/configured_target_label/#configured_target_labelwith_sub_target","content":"def configured_target_label.with_sub_target( subtarget_name: str | list[str] = _ ) -> label Converts a ConfiguredTargetLabel into its corresponding Label given the subtarget name which is a list for each layer of subtarget Sample usage: def _impl_sub_target(ctx): owners = ctx.cquery().owner("bin/TARGETS.fixture") for owner in owners: configured_label = owner.label ctx.output.print(configured_label.with_sub_target()) ctx.output.print(configured_label.with_sub_target("subtarget1")) ctx.output.print(configured_label.with_sub_target(["subtarget1", "subtarget2"])) "},{"title":"cmd_args type","type":0,"sectionRef":"#","url":"/docs/api/build/cmd_args/","content":"","keywords":""},{"title":"cmd_args.add​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/build/cmd_args/#cmd_argsadd","content":"def cmd_args.add(*args) -> cmd_args A list of arguments to be added to the command line, which may including cmd_args, artifacts, strings, RunInfo or lists thereof. Note that this operation mutates the input cmd_args. "},{"title":"cmd_args.copy​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/build/cmd_args/#cmd_argscopy","content":"def cmd_args.copy() -> cmd_args Returns a copy of the cmd_args such that any modifications to the original or the returned value will not impact each other. Note that this is a shallow copy, so any inner cmd_args can still be modified. "},{"title":"cmd_args.inputs​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/build/cmd_args/#cmd_argsinputs","content":"cmd_args.inputs: command_line_inputs Collect all the inputs (including hidden) referenced by this command line. The output can be compared for equality and have its len requested to see whether there are any inputs, but is otherwise mostly opaque. "},{"title":"cmd_args.outputs​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/build/cmd_args/#cmd_argsoutputs","content":"cmd_args.outputs: list[output_artifact] Collect all the outputs (including hidden) referenced by this command line. "},{"title":"cmd_args.relative_to​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/build/cmd_args/#cmd_argsrelative_to","content":"def cmd_args.relative_to( directory: artifact | cell_root | project_root, /, *, parent: int = _ ) -> cmd_args Make all artifact paths relative to a given location. Typically used when the command you are running changes directory. By default, the paths are relative to the artifacts themselves (equivalent toparent = 0). Use parent to make the paths relative to an ancestor directory. For example parent = 1 would make all paths relative to the containing dirs of any artifacts in the cmd_args. dir = symlinked_dir(...) script = [ cmd_args(cmd_args(dir, format = "cd {}"), original_script.relative_to(dir) ] "},{"title":"context type","type":0,"sectionRef":"#","url":"/docs/api/build/context/","content":"","keywords":""},{"title":"context.actions​","type":1,"pageTitle":"context type","url":"/docs/api/build/context/#contextactions","content":"context.actions: actions Returns an actions value containing functions to define actual actions that are run. See the actions type for the operations that are available. "},{"title":"context.attrs​","type":1,"pageTitle":"context type","url":"/docs/api/build/context/#contextattrs","content":"context.attrs: struct(..) Returns the attributes of the target as a Starlark struct with a field for each attribute, which varies per rule. As an example, given a rule with the attrs argument of {"foo": attrs.string()}, this field will be a struct containing a field foo of type string. "},{"title":"context.label​","type":1,"pageTitle":"context type","url":"/docs/api/build/context/#contextlabel","content":"context.label: None | label Returns a label representing the target, or None if being invoked from a dynamic_output in Bxl. "},{"title":"context.plugins​","type":1,"pageTitle":"context type","url":"/docs/api/build/context/#contextplugins","content":"context.plugins: AnalysisPlugins An opaque value that can be indexed with a plugin kind to get a list of the available plugin deps of that kind. The rule must set an appropriate value on uses_plugins in its declaration. "},{"title":"dependency type","type":0,"sectionRef":"#","url":"/docs/api/build/dependency/","content":"","keywords":""},{"title":"dependency.get​","type":1,"pageTitle":"dependency type","url":"/docs/api/build/dependency/#dependencyget","content":"def dependency.get(index) -> None | provider Gets a provider by indexing on a ProviderCallable object. e.g. FooInfo = provider(fields=["bar"]) .... collection.get(FooInfo) # None if absent, a FooInfo instance if present "},{"title":"dependency.label​","type":1,"pageTitle":"dependency type","url":"/docs/api/build/dependency/#dependencylabel","content":"dependency.label: label "},{"title":"dependency.providers​","type":1,"pageTitle":"dependency type","url":"/docs/api/build/dependency/#dependencyproviders","content":"dependency.providers: list[typing.Any] "},{"title":"dependency.sub_target​","type":1,"pageTitle":"dependency type","url":"/docs/api/build/dependency/#dependencysub_target","content":"def dependency.sub_target(subtarget: str, /) -> dependency Obtain the dependency representing a subtarget. In most cases you will want to use x[DefaultInfo].sub_targets["foo"] to get the providers of the subtarget, but if you need a real Dependency type (e.g. for use with ctx.action.anon_target) then use this method. "},{"title":"actions type","type":0,"sectionRef":"#","url":"/docs/api/build/actions/","content":"","keywords":""},{"title":"actions.anon_target​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsanon_target","content":"def actions.anon_target( rule: "function", attrs: dict[str, typing.Any] ) -> anon_target An anonymous target is defined by the hash of its attributes, rather than its name. During analysis, rules can define and access the providers of anonymous targets before producing their own providers. Two distinct rules might ask for the same anonymous target, sharing the work it performs. For more details see https://buck2.build/docs/rule_authors/anon_targets/ "},{"title":"actions.anon_targets​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsanon_targets","content":"def actions.anon_targets( rules: list[("function", dict[str, typing.Any])] | tuple[("function", dict[str, typing.Any]), ...] ) -> anon_targets Generate a series of anonymous targets. "},{"title":"actions.artifact_tag​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsartifact_tag","content":"def actions.artifact_tag() -> artifact_tag Allocate a new input tag. Used with the dep_files argument to run. "},{"title":"actions.assert_short_path​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsassert_short_path","content":"def actions.assert_short_path(artifact: artifact, short_path: str) -> artifact Generate a promise artifact that has short path accessible on it. The short path's correctness will be asserted during analysis time. TODO - we would prefer the API to be ctx.actions.anon_target(xxx).artifact("foo", short_path=yyy), but we cannot support this until we can get access to the AnalysisContext without passing it into this method. "},{"title":"actions.cas_artifact​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionscas_artifact","content":"def actions.cas_artifact( output: artifact | output_artifact | str, digest: str, use_case: str, /, *, expires_after_timestamp: int, is_executable: bool = False, is_tree: bool = False, is_directory: bool = False ) -> artifact Downloads a CAS artifact to an output digest: must look like SHA1:SIZEuse_case: your RE use caseexpires_after_timestamp: must be a UNIX timestamp. Your digest's TTL must exceed this timestamp. Your build will break once the digest expires, so make sure the expiry is long enough (preferably, in years).is_executable: indicates the resulting file should be marked with executable permissionsis_tree: digest must point to a blob of typeRE.Treeis_directory: digest must point to a blob of typeRE.Directory "},{"title":"actions.copied_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionscopied_dir","content":"def actions.copied_dir( output: artifact | output_artifact | str, srcs: dict[str, artifact], / ) -> artifact Returns an artifact which is a directory containing copied files. The srcs must be a dictionary of path (as string, relative to the result directory) to the bound artifact, which will be laid out in the directory. "},{"title":"actions.copy_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionscopy_dir","content":"def actions.copy_dir( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Make a copy of a directory. "},{"title":"actions.copy_file​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionscopy_file","content":"def actions.copy_file( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Copies the source artifact to the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The copy works for files or directories. "},{"title":"actions.declare_output​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsdeclare_output","content":"def actions.declare_output( prefix: str, filename: str = _, /, *, dir: bool = False ) -> artifact Returns an unbound artifact, representing where a file will go, which must be bound before analysis terminates. The usual way of binding an artifact is with ctx.actions.run. As an example: my_output = ctx.actions.declare_output("output.o") ctx.actions.run(["gcc", "-c", my_source, "-o", my_output.as_output()], category = "compile") This snippet declares an output with the filename output.o (it will be located in the output directory for this target). Note the use of as_output to tag this artifact as being an output in the action. After binding the artifact you can subsequently use my_output as either an input for subsequent actions, or as the result in a provider. Artifacts from a single target may not have the same name, so if you then want a second artifact also named output.o you need to supply a prefix, e.g.ctx.actions.declare_output("directory", "output.o"). The artifact will still report having name output.o, but will be located at directory/output.o. The dir argument should be set to True if the binding will be a directory. "},{"title":"actions.digest_config​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsdigest_config","content":"def actions.digest_config() -> digest_config Obtain this daemon's digest configuration. This allows rules to discover what digests the daemon may be able to e.g. defer download because they conform to its RE backend's expected digest format. "},{"title":"actions.download_file​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsdownload_file","content":"def actions.download_file( output: artifact | output_artifact | str, url: str, /, *, vpnless_url: None | str = None, sha1: None | str = None, sha256: None | str = None, is_executable: bool = False, is_deferrable: bool = False ) -> artifact Downloads a URL to an output (filename as string or output artifact). The file at the URL must have the given sha1 or the command will fail. The optional parameter is_executable indicates whether the resulting file should be marked with executable permissions. (Meta-internal) The optional parameter vpnless_url indicates a url from which this resource can be downloaded off VPN; this has the same restrictions as url above. "},{"title":"actions.dynamic_output​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsdynamic_output","content":"def actions.dynamic_output( *, dynamic: list[artifact] | tuple[artifact, ...], inputs: list[artifact] | tuple[artifact, ...] = _, outputs: list[output_artifact] | tuple[output_artifact, ...], f: typing.Callable[[typing.Any, dict[artifact, artifact_value], dict[artifact, artifact]], None] ) -> None dynamic_output allows a rule to use information that was not available when the rule was first run at analysis time. Examples include things like Distributed ThinLTO (where the index file is created by another action) or OCaml builds (where the dependencies are created by ocamldeps). The arguments are: dynamic - a list of artifacts whose values will be available in the function. These will be built before the function is run.inputs - parameter is ignored.outputs - a list of unbound artifacts (created with declare_artifact) which will be bound by the function.The function argument is given 3 arguments: ctx (context) - which is the same as that passed to the initial rule analysis.artifacts - using one of the artifacts from dynamic (example usage:artifacts[artifact_from_dynamic]) gives an artifact value containing the methodsread_string, read_lines, and read_json to obtain the values from the disk in various formats. Anything too complex should be piped through a Python script for transformation to JSON.outputs - using one of the artifacts from the dynamic_output's outputs (example usage: outputs[artifact_from_dynamic_output_outputs]) gives an unbounded artifact. The function argument must use its outputs argument to bind output artifacts, rather than reusing artifacts from the outputs passed into dynamic_output directly. The function must call ctx.actions (probably ctx.actions.run) to bind all outputs. It can examine the values of the dynamic variables and depends on the inputs. The function will usually be a def, as lambda in Starlark does not allow statements, making it quite underpowered. For full details seehttps://buck2.build/docs/rule_authors/dynamic_dependencies/. Besides dynamic dependencies, there is a second use case for dynamic_output: say that you have some output artifact, and that the analysis to produce the action that outputs that artifact is expensive, ie takes a lot of CPU time; you would like to skip that work in builds that do not actually use that artifact. This can be accomplished by putting the analysis for that artifact behind a dynamic_outputwith an empty dynamic list. The dynamic_output's function will not be run unless one of the actions it outputs is actually requested as part of the build. "},{"title":"actions.dynamic_output_new​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsdynamic_output_new","content":"def actions.dynamic_output_new(dynamic_actions: DynamicAction, /) -> None New version of dynamic_output. This is work in progress, and will eventually replace the old dynamic_output. "},{"title":"actions.run​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionsrun","content":"def actions.run( arguments: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, /, *, category: str, identifier: None | str = None, env: dict[str, artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _, local_only: bool = False, prefer_local: bool = False, prefer_remote: bool = False, low_pass_filter: bool = True, always_print_stderr: bool = False, weight: int = _, weight_percentage: int = _, dep_files: dict[str, artifact_tag] = _, metadata_env_var: str = _, metadata_path: str = _, no_outputs_cleanup: bool = False, allow_cache_upload: bool = False, allow_dep_file_cache_upload: bool = False, force_full_hybrid_if_capable: bool = False, exe: RunInfo | WorkerRunInfo = _, unique_input_inodes: bool = False, error_handler: typing.Callable = _, remote_execution_dependencies: list[dict[str, str]] = [] ) -> None Runs a command arguments: must be of type cmd_args, or a type convertible to such (such as a list of strings and artifacts) and must contain at least one .as_output() artifactcategory: category and identifier - when used together, identify the action in Buck2's event stream, and must be unique for a given targetweight: used to note how heavy the command is and will typically be set to a higher value to indicate that less such commands should be run in parallel (if running locally)no_outputs_cleanup: if this flag is set then Buck2 won't clean the outputs of a previous build that might be present on a disk; in which case, command from arguments should be responsible for the cleanup (that is useful, for example, when an action is supporting incremental mode and its outputs are based on result from a previous build)metadata_env_var and meadata_path should be used together: both set or both unset metadata_path: defines a path relative to the result directory for a file with action metadata, which will be created right before the command will be run.Metadata contains the path relative to the Buck2 project root and hash digest for every action input (this excludes symlinks as they could be resolved by a user script if needed). The resolved path relative to the Buck2 project for the metadata file will be passed to command from arguments, via the environment variable, with its name set by metadata_env_varBoth metadata_env_var and metadata_path are useful when making actions behave in an incremental manner (for details, see Incremental Actions) The prefer_local, prefer_remote and local_only options allow selecting where the action should run if the executor selected for this target is a hybrid executor. * All those options disable concurrent execution: the action will run on the preferred platform first (concurrent execution only happens with a "full" hybrid executor). * Execution may be retried on the "non-preferred" platform if it fails due to a transient error, except for `local_only`, which does not allow this. * If the executor selected is a remote-only executor and you use `local_only`, that's an error. The other options will not raise errors. * Setting more than one of those options is an error. * Those flags behave the same way as the equivalent `--prefer-remote`, `--prefer-local` and `--local-only` CLI flags. The CLI flags take precedence. * The `force_full_hybrid_if_capable` option overrides the `use_limited_hybrid` hybrid. The options listed above take precedence if set. remote_execution_dependencies: list of dependencies which is passed to Remote Execution. Each dependency is dictionary with the following keys: smc_tier: name of the SMC tier to call by RE Scheduler.id: name of the dependency. When actions execute, they'll do so from the root of the repository. As they execute, actions have exclusive access to their output directory. Actions also get exclusive access to a "scratch" path that is exposed via the environment variable BUCK_SCRATCH_PATH. This path is expressed as a path relative to the working directory (i.e. relative to the project). This path is guaranteed to exist when the action executes. When actions run locally, the scratch path is also used as the TMPDIR. "},{"title":"actions.symlink_file​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionssymlink_file","content":"def actions.symlink_file( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Creates a symlink to the source artifact at the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The symlink works for files or directories. "},{"title":"actions.symlinked_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionssymlinked_dir","content":"def actions.symlinked_dir( output: artifact | output_artifact | str, srcs: dict[str, artifact], / ) -> artifact Returns an artifact that is a directory containing symlinks. The srcs must be a dictionary of path (as string, relative to the result directory) to bound artifact, which will be laid out in the directory. "},{"title":"actions.tset​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionstset","content":"def actions.tset( definition: transitive_set_definition, /, value = _, children: typing.Iterable = _ ) -> transitive_set Creates a new transitive set. For details, see https://buck2.build/docs/rule_authors/transitive_sets/. "},{"title":"actions.write​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionswrite","content":"def actions.write( output: artifact | output_artifact | str, content: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, /, *, is_executable: bool = False, allow_args: bool = False, with_inputs: bool = False, absolute: bool = False ) -> artifact | (artifact, list[artifact]) Returns an artifact whose contents are content is_executable (optional): indicates whether the resulting file should be marked with executable permissionsallow_args (optional): must be set to True if you want to write parameter arguments to the file (in particular, macros that write to file) If it is true, the result will be a pair of the artifact containing content and a list of artifact values that were written by macros, which should be used in hidden fields or similar absolute (optional): if set, this action will produce absolute paths in its output when rendering artifact paths. You generally shouldn't use this if you plan to use this action as the input for anything else, as this would effectively result in losing all shared caching. The content is often a string, but can be any ArgLike value. This is occasionally useful for generating scripts to run as a part of another action. cmd_args in the content are newline separated unless another delimiter is explicitly specified. "},{"title":"actions.write_json​","type":1,"pageTitle":"actions type","url":"/docs/api/build/actions/#actionswrite_json","content":"def actions.write_json( output: artifact | output_artifact | str, content: None | artifact | bool | cell_root | cmd_args | enum | int | label | label_relative_path | output_artifact | project_root | record | resolved_macro | str | tagged_command_line | tagged_value | target_label | transitive_set_args_projection | transitive_set_json_projection | write_json_cli_args | list[typing.Any] | tuple | dict[typing.Any, typing.Any] | struct(..) | RunInfo | provider, /, *, with_inputs: bool = False, pretty: bool = False, absolute: bool = False ) -> artifact | write_json_cli_args Returns an artifact whose contents are content written as a JSON value. output: can be a string, or an existing artifact created with declare_outputcontent: must be composed of the basic json types (boolean, number, string, list/tuple, dictionary) plus artifacts and command lines An artifact will be written as a string containing the pathA command line will be written as a list of strings, unless joined=True is set, in which case it will be a string If you pass with_inputs = True, you'll get back a cmd_args that expands to the JSON file but carries all the underlying inputs as dependencies (so you don't have to use, for example, hidden for them to be added to an action that already receives the JSON file)pretty (optional): write formatted JSON (defaults to False)absolute (optional): if set, this action will produce absolute paths in its output when rendering artifact paths. You generally shouldn't use this if you plan to use this action as the input for anything else, as this would effectively result in losing all shared caching. (defaults to False) "},{"title":"digest_config type","type":0,"sectionRef":"#","url":"/docs/api/build/digest_config/","content":"","keywords":""},{"title":"digest_config.allows_blake3​","type":1,"pageTitle":"digest_config type","url":"/docs/api/build/digest_config/#digest_configallows_blake3","content":"def digest_config.allows_blake3() -> bool "},{"title":"digest_config.allows_blake3_keyed​","type":1,"pageTitle":"digest_config type","url":"/docs/api/build/digest_config/#digest_configallows_blake3_keyed","content":"def digest_config.allows_blake3_keyed() -> bool "},{"title":"digest_config.allows_sha1​","type":1,"pageTitle":"digest_config type","url":"/docs/api/build/digest_config/#digest_configallows_sha1","content":"def digest_config.allows_sha1() -> bool "},{"title":"digest_config.allows_sha256​","type":1,"pageTitle":"digest_config type","url":"/docs/api/build/digest_config/#digest_configallows_sha256","content":"def digest_config.allows_sha256() -> bool "},{"title":"label type","type":0,"sectionRef":"#","url":"/docs/api/build/label/","content":"","keywords":""},{"title":"label.cell​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelcell","content":"label.cell: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode "},{"title":"label.cell_root​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelcell_root","content":"label.cell_root: cell_root Obtain a reference to this target label's cell root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to. "},{"title":"label.configured_target​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelconfigured_target","content":"def label.configured_target() -> configured_target_label Returns the underlying configured target label, dropping the sub target "},{"title":"label.name​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelname","content":"label.name: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back world "},{"title":"label.package​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelpackage","content":"label.package: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back buck2/hello "},{"title":"label.path​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelpath","content":"label.path: label_relative_path For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode/buck2/hello "},{"title":"label.project_root​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelproject_root","content":"label.project_root: project_root Obtain a reference to the project's root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to. "},{"title":"label.raw_target​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelraw_target","content":"def label.raw_target() -> target_label For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this returns the unconfigured underlying target label (fbcode//buck2/hello:world) "},{"title":"label.sub_target​","type":1,"pageTitle":"label type","url":"/docs/api/build/label/#labelsub_target","content":"label.sub_target: None | list[str] "},{"title":"label_relative_path type","type":0,"sectionRef":"#","url":"/docs/api/build/label_relative_path/","content":"","keywords":""},{"title":"label_relative_path.add​","type":1,"pageTitle":"label_relative_path type","url":"/docs/api/build/label_relative_path/#label_relative_pathadd","content":"def label_relative_path.add(arg: str) -> label_relative_path "},{"title":"promise type","type":0,"sectionRef":"#","url":"/docs/api/build/promise/","content":"","keywords":""},{"title":"promise.join​","type":1,"pageTitle":"promise type","url":"/docs/api/build/promise/#promisejoin","content":"def promise.join(*args) -> promise Join a set of promises together into a single promise. Given a series of promises, p4 = p1.join(p2, p3) will produce a promise where the value is promise that resolves to a tuple containing the three values, those from p1, p2 and p3 respectively. "},{"title":"promise.map​","type":1,"pageTitle":"promise type","url":"/docs/api/build/promise/#promisemap","content":"def promise.map(func: typing.Callable[[typing.Any], typing.Any], /) -> promise Given a promise, apply a function to the value it contains, producing a promise with the resulting value. "},{"title":"plugins type","type":0,"sectionRef":"#","url":"/docs/api/build/plugins/","content":"","keywords":""},{"title":"plugins.All​","type":1,"pageTitle":"plugins type","url":"/docs/api/build/plugins/#pluginsall","content":"plugins.All: all_plugins A special value for use with pulls_and_pushes_plugins. This value can be passed to pulls_and_pushes_plugins on any attr.dep() to indicate that all plugin kinds from the dep should be pulled and pushed. This is useful for rules likealias. This value is not supported on uses_plugins at this time, and hence it is not useful onpulls_plugins either. "},{"title":"plugins.PluginKind​","type":1,"pageTitle":"plugins type","url":"/docs/api/build/plugins/#pluginspluginkind","content":"plugins.PluginKind: type Type symbol for PluginKind. "},{"title":"plugins.kind​","type":1,"pageTitle":"plugins type","url":"/docs/api/build/plugins/#pluginskind","content":"def plugins.kind() -> PluginKind Create a new plugin kind. The value returned should always be immediately bound to a global, like MyPluginKind = plugins.kind() "},{"title":"attrs type","type":0,"sectionRef":"#","url":"/docs/api/build/attrs/","content":"","keywords":""},{"title":"attrs.any​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsany","content":"def attrs.any(*, doc: str = "", default = _) -> attribute Takes most builtin literals and passes them to the rule as a string. Discouraged, as it provides little type safety and destroys the structure. "},{"title":"attrs.arg​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsarg","content":"def attrs.arg( *, json: bool = False, default = _, doc: str = "", anon_target_compatible: bool = False ) -> attribute Takes a command line argument from the user and supplies a cmd_args compatible value to the rule. The argument may contain special macros such as $(location :my_target) or $(exe :my_target) which will be replaced with references to those values in the rule. Takes in an optional anon_target_compatible flag, which indicates whether the args can be passed into anon targets. Note that there is a slight memory hit when using this flag. "},{"title":"attrs.bool​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsbool","content":"def attrs.bool(*, default = _, doc: str = "") -> attribute Takes a boolean and passes it to the rule as a boolean. "},{"title":"attrs.configuration_label​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsconfiguration_label","content":"def attrs.configuration_label(*, doc: str = "") -> attribute "},{"title":"attrs.configured_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsconfigured_dep","content":"def attrs.configured_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute "},{"title":"attrs.default_only​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsdefault_only","content":"def attrs.default_only( inner: attribute, /, *, doc: str = "" ) -> attribute Rejects all values and uses the default for the inner argument. Often used to resolve dependencies, which otherwise can't be resolved inside a rule. attrs.default_only(attrs.dep(default = "foo//my_package:my_target")) "},{"title":"attrs.dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsdep","content":"def attrs.dep( *, providers: list[typing.Any] | tuple = [], pulls_plugins: list[typing.Any] | tuple = [], pulls_and_pushes_plugins: all_plugins | list[typing.Any] | tuple = _, default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. A target can be specified as an absolute dependency foo//bar:baz, omitting the cell (//bar:baz) or omitting the package name (:baz). If supplied the providers argument ensures that specific providers will be present on the dependency. "},{"title":"attrs.dict​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsdict","content":"def attrs.dict( key: attribute, value: attribute, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute Takes a dict from the user, supplies a dict to the rule. "},{"title":"attrs.enum​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsenum","content":"def attrs.enum( variants: list[str] | tuple[str, ...], /, *, default = _, doc: str = "" ) -> attribute Takes a string from one of the variants given, and gives that string to the rule. Strings are matched case-insensitively, and always passed to the rule lowercase. "},{"title":"attrs.exec_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsexec_dep","content":"def attrs.exec_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will transition to the execution platform. Use exec_dep if you plan to execute things from this dependency as part of the compilation. "},{"title":"attrs.int​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsint","content":"def attrs.int(*, default = _, doc: str = "") -> attribute Takes an int from the user, supplies an int to the rule. "},{"title":"attrs.label​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrslabel","content":"def attrs.label(*, default = _, doc: str = "") -> attribute Takes a target (as per deps) and passes a label to the rule. Validates that the target exists, but does not introduce a dependency on it. "},{"title":"attrs.list​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrslist","content":"def attrs.list( inner: attribute, /, *, default = _, doc: str = "" ) -> attribute Takes a list from the user, supplies a list to the rule. "},{"title":"attrs.named_set​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsnamed_set","content":"def attrs.named_set( value_type: attribute, /, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.one_of​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsone_of","content":"def attrs.one_of(*args: attribute, default = _, doc: str = "") -> attribute Given a list of alternative attributes, selects the first that matches and gives that to the rule. "},{"title":"attrs.option​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsoption","content":"def attrs.option( inner: attribute, /, *, default = _, doc: str = "" ) -> attribute Takes a value that may be None or some inner type, and passes either None or the value corresponding to the inner to the rule. Often used to make a rule optional: attrs.option(attr.string(), default = None) "},{"title":"attrs.plugin_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsplugin_dep","content":"def attrs.plugin_dep( *, kind, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.query​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsquery","content":"def attrs.query(*, doc: str = "") -> attribute "},{"title":"attrs.regex​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsregex","content":"def attrs.regex(*, default = _, doc: str = "") -> attribute Currently an alias for attrs.string. "},{"title":"attrs.set​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsset","content":"def attrs.set( value_type: attribute, /, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.source​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrssource","content":"def attrs.source( *, allow_directory: bool = False, default = _, doc: str = "" ) -> attribute Takes a source file from the user, supplies an artifact to the rule. The source file may be specified as a literal string (representing the path within this package), or a target (which must have a DefaultInfo with a default_outputs value). "},{"title":"attrs.split_transition_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrssplit_transition_dep","content":"def attrs.split_transition_dep( *, providers: list[typing.Any] | tuple = [], cfg, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.string​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsstring","content":"def attrs.string( *, default = _, validate = _, doc: str = "" ) -> attribute Takes a string from the user, supplies a string to the rule. "},{"title":"attrs.toolchain_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrstoolchain_dep","content":"def attrs.toolchain_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will be a toolchain dependency, meaning that its execution platform dependencies will be used to select the execution platform for this rule. "},{"title":"attrs.transition_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrstransition_dep","content":"def attrs.transition_dep( *, providers: list[typing.Any] | tuple = [], cfg, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.tuple​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrstuple","content":"def attrs.tuple(*args: attribute, default = _, doc: str = "") -> attribute Takes a tuple of values and gives a tuple to the rule. "},{"title":"attrs.versioned​","type":1,"pageTitle":"attrs type","url":"/docs/api/build/attrs/#attrsversioned","content":"def attrs.versioned(value_type: attribute, *, doc: str = "") -> attribute "},{"title":"provider_collection type","type":0,"sectionRef":"#","url":"/docs/api/build/provider_collection/","content":"","keywords":""},{"title":"provider_collection.get​","type":1,"pageTitle":"provider_collection type","url":"/docs/api/build/provider_collection/#provider_collectionget","content":"def provider_collection.get(index) -> None | provider "},{"title":"providers_label type","type":0,"sectionRef":"#","url":"/docs/api/build/providers_label/","content":"","keywords":""},{"title":"providers_label.cell​","type":1,"pageTitle":"providers_label type","url":"/docs/api/build/providers_label/#providers_labelcell","content":"providers_label.cell: str "},{"title":"providers_label.name​","type":1,"pageTitle":"providers_label type","url":"/docs/api/build/providers_label/#providers_labelname","content":"providers_label.name: str "},{"title":"providers_label.path​","type":1,"pageTitle":"providers_label type","url":"/docs/api/build/providers_label/#providers_labelpath","content":"providers_label.path: typing.Any "},{"title":"providers_label.raw_target​","type":1,"pageTitle":"providers_label type","url":"/docs/api/build/providers_label/#providers_labelraw_target","content":"def providers_label.raw_target() -> target_label Returns the unconfigured underlying target label. "},{"title":"providers_label.sub_target​","type":1,"pageTitle":"providers_label type","url":"/docs/api/build/providers_label/#providers_labelsub_target","content":"providers_label.sub_target: None | list[str] "},{"title":"action_attr type","type":0,"sectionRef":"#","url":"/docs/api/bxl/action_attr/","content":"","keywords":""},{"title":"action_attr.value​","type":1,"pageTitle":"action_attr type","url":"/docs/api/bxl/action_attr/#action_attrvalue","content":"def action_attr.value() -> str Returns the value of this attribute. "},{"title":"target_label type","type":0,"sectionRef":"#","url":"/docs/api/build/target_label/","content":"","keywords":""},{"title":"target_label.cell​","type":1,"pageTitle":"target_label type","url":"/docs/api/build/target_label/#target_labelcell","content":"target_label.cell: str "},{"title":"target_label.name​","type":1,"pageTitle":"target_label type","url":"/docs/api/build/target_label/#target_labelname","content":"target_label.name: str "},{"title":"target_label.package​","type":1,"pageTitle":"target_label type","url":"/docs/api/build/target_label/#target_labelpackage","content":"target_label.package: str "},{"title":"target_label.with_sub_target​","type":1,"pageTitle":"target_label type","url":"/docs/api/build/target_label/#target_labelwith_sub_target","content":"def target_label.with_sub_target( subtarget_name: str | list[str] = _ ) -> providers_label Converts a TargetLabel into its corresponding ProvidersLabel given the subtarget names, which is a list for each layer of subtarget Sample usage: def _impl_sub_target(ctx): owners = ctx.uquery().owner("bin/TARGETS.fixture") for owner in owners: unconfigured_label = owner.label ctx.output.print(unconfigured_label.with_sub_target()) ctx.output.print(unconfigured_label.with_sub_target("subtarget1")) ctx.output.print(unconfigured_label.with_sub_target(["subtarget1", "subtarget2"])) "},{"title":"action type","type":0,"sectionRef":"#","url":"/docs/api/bxl/action/","content":"","keywords":""},{"title":"action.owner​","type":1,"pageTitle":"action type","url":"/docs/api/bxl/action/#actionowner","content":"def action.owner() -> configured_target_label Gets the owning configured target label for an action. Sample usage: def _impl_action(ctx): action = ctx.audit().output("buck-out/path/to/__target__/artifact", "your_target_platform") ctx.output.print(action.owner()) "},{"title":"StackFrame type","type":0,"sectionRef":"#","url":"/docs/api/build/StackFrame/","content":"","keywords":""},{"title":"StackFrame.func_name​","type":1,"pageTitle":"StackFrame type","url":"/docs/api/build/StackFrame/#stackframefunc_name","content":"StackFrame.func_name: str Returns the name of the entry on the call-stack. "},{"title":"StackFrame.module_path​","type":1,"pageTitle":"StackFrame type","url":"/docs/api/build/StackFrame/#stackframemodule_path","content":"StackFrame.module_path: None | str Returns a path of the module from which the entry was called, or [None] for native Rust functions. "},{"title":"ActionErrorCtx type","type":0,"sectionRef":"#","url":"/docs/api/bxl/ActionErrorCtx/","content":"","keywords":""},{"title":"ActionErrorCtx.new_error_location​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/bxl/ActionErrorCtx/#actionerrorctxnew_error_location","content":"def ActionErrorCtx.new_error_location( *, file: str, line: None | int = None ) -> ActionErrorLocation Create a new error location, specifying a file path and an optional line number. The file path should be either a project-relative path, or an absolute path. "},{"title":"ActionErrorCtx.new_sub_error​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/bxl/ActionErrorCtx/#actionerrorctxnew_sub_error","content":"def ActionErrorCtx.new_sub_error( *, category: str, message: None | str = None, locations: None | list[ActionErrorLocation] | tuple[ActionErrorLocation, ...] = None ) -> ActionSubError Create a new sub error, specifying an error category name, optional message, and an optional list of error locations. The category should be finer grain error categorizations provided by the rule authors, and tend to be language specific. These should not be any kind of shared concepts among all errors for all languages/rules. For example, timeouts and infra errors should not go here - buck2 tries to categorize these types of errors automatically. An example of a finer grain error category may be the error code for rustc outputs. The message will be emitted to the build report, and to the stderr in the error diagnostics section. "},{"title":"ActionErrorCtx.stderr​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/bxl/ActionErrorCtx/#actionerrorctxstderr","content":"ActionErrorCtx.stderr: str The stderr of the failed action. "},{"title":"ActionErrorCtx.stdout​","type":1,"pageTitle":"ActionErrorCtx type","url":"/docs/api/bxl/ActionErrorCtx/#actionerrorctxstdout","content":"ActionErrorCtx.stdout: str The stdout of the failed action. "},{"title":"ActionErrorLocation type","type":0,"sectionRef":"#","url":"/docs/api/bxl/ActionErrorLocation/","content":"","keywords":""},{"title":"ActionErrorLocation.file​","type":1,"pageTitle":"ActionErrorLocation type","url":"/docs/api/bxl/ActionErrorLocation/#actionerrorlocationfile","content":"ActionErrorLocation.file: str The file of the error location. This is only needed for action error handler unit testing. "},{"title":"ActionErrorLocation.line​","type":1,"pageTitle":"ActionErrorLocation type","url":"/docs/api/bxl/ActionErrorLocation/#actionerrorlocationline","content":"ActionErrorLocation.line: None | int The line of the error location. This is only needed for action error handler unit testing. "},{"title":"anon_target type","type":0,"sectionRef":"#","url":"/docs/api/bxl/anon_target/","content":"","keywords":""},{"title":"anon_target.artifact​","type":1,"pageTitle":"anon_target type","url":"/docs/api/bxl/anon_target/#anon_targetartifact","content":"def anon_target.artifact(name: str) Gets a specific StarlarkPromiseArtifact by name. Returns an error if the name was not found in the registered promise artifacts for the anon target. "},{"title":"anon_target.artifacts​","type":1,"pageTitle":"anon_target type","url":"/docs/api/bxl/anon_target/#anon_targetartifacts","content":"def anon_target.artifacts() Returns a dict where the key is the promise artifact's name, and the value is the StarlarkPromiseArtifact. To get a promise artifact where the short path is accessible, call ctx.actions.assert_short_path(...) and pass in the artifact retrieved from this dict. "},{"title":"anon_target.promise​","type":1,"pageTitle":"anon_target type","url":"/docs/api/bxl/anon_target/#anon_targetpromise","content":"anon_target.promise: promise Returns the promise that maps to the result of the anon rule. "},{"title":"ActionSubError type","type":0,"sectionRef":"#","url":"/docs/api/bxl/ActionSubError/","content":"","keywords":""},{"title":"ActionSubError.category​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/bxl/ActionSubError/#actionsuberrorcategory","content":"ActionSubError.category: str The category name of this sub error. This function is only needed for action error handler unit testing. "},{"title":"ActionSubError.locations​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/bxl/ActionSubError/#actionsuberrorlocations","content":"ActionSubError.locations: None | list[ActionErrorLocation] Any locations associated with this sub error. This function is only needed for action error handler unit testing. "},{"title":"ActionSubError.message​","type":1,"pageTitle":"ActionSubError type","url":"/docs/api/bxl/ActionSubError/#actionsuberrormessage","content":"ActionSubError.message: None | str The optional message associated with this sub error. This function is only needed for action error handler unit testing. "},{"title":"anon_targets type","type":0,"sectionRef":"#","url":"/docs/api/bxl/anon_targets/","content":"","keywords":""},{"title":"anon_targets.anon_targets​","type":1,"pageTitle":"anon_targets type","url":"/docs/api/bxl/anon_targets/#anon_targetsanon_targets","content":"anon_targets.anon_targets: typing.Any Returns a list of StarlarkAnonTargets. "},{"title":"anon_targets.promise​","type":1,"pageTitle":"anon_targets type","url":"/docs/api/bxl/anon_targets/#anon_targetspromise","content":"anon_targets.promise: promise Returns the promise that maps to the result of the joined anon rules. "},{"title":"artifact type","type":0,"sectionRef":"#","url":"/docs/api/bxl/artifact/","content":"","keywords":""},{"title":"artifact.as_output​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactas_output","content":"def artifact.as_output() -> output_artifact Returns a StarlarkOutputArtifact instance, or fails if the artifact is either an Artifact, or is a bound Artifact (You cannot bind twice) "},{"title":"artifact.basename​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactbasename","content":"artifact.basename: str The base name of this artifact. e.g. for an artifact at foo/bar, this is bar "},{"title":"artifact.extension​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactextension","content":"artifact.extension: str The file extension of this artifact. e.g. for an artifact at foo/bar.sh, this is .sh. If no extension is present, "" is returned. "},{"title":"artifact.is_source​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactis_source","content":"artifact.is_source: bool Whether the artifact represents a source file "},{"title":"artifact.owner​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactowner","content":"artifact.owner: None | label The Label of the rule that originally created this artifact. May also be None in the case of source files, or if the artifact has not be used in an action, or if the action was not created by a rule. "},{"title":"artifact.project​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactproject","content":"def artifact.project( path: str, /, *, hide_prefix: bool = False ) -> artifact Create an artifact that lives at path relative from this artifact. For example, if artifact foo is a directory containing a file bar, then foo.project("bar")yields the file bar. It is possible for projected artifacts to hide the prefix in order to have the short name of the resulting artifact only contain the projected path, by passinghide_prefix = True to project(). "},{"title":"artifact.short_path​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactshort_path","content":"artifact.short_path: str The interesting part of the path, relative to somewhere in the output directory. For an artifact declared as foo/bar, this is foo/bar. "},{"title":"artifact.with_associated_artifacts​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactwith_associated_artifacts","content":"def artifact.with_associated_artifacts(artifacts: list[artifact]) -> artifact Returns a StarlarkArtifact instance which is identical to the original artifact, but with potentially additional artifacts. The artifacts must be bound. "},{"title":"artifact.without_associated_artifacts​","type":1,"pageTitle":"artifact type","url":"/docs/api/bxl/artifact/#artifactwithout_associated_artifacts","content":"def artifact.without_associated_artifacts() -> artifact Returns a StarlarkArtifact instance which is identical to the original artifact, except with no associated artifacts "},{"title":"buck_regex type","type":0,"sectionRef":"#","url":"/docs/api/bxl/buck_regex/","content":"","keywords":""},{"title":"buck_regex.match​","type":1,"pageTitle":"buck_regex type","url":"/docs/api/bxl/buck_regex/#buck_regexmatch","content":"def buck_regex.match(str: str, /) -> bool "},{"title":"bxl.ActionQueryNode type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.ActionQueryNode/","content":"","keywords":""},{"title":"bxl.ActionQueryNode.action​","type":1,"pageTitle":"bxl.ActionQueryNode type","url":"/docs/api/bxl/bxl.ActionQueryNode/#bxlactionquerynodeaction","content":"def bxl.ActionQueryNode.action() -> None | action Gets optional action from the action query target node. "},{"title":"bxl.ActionQueryNode.analysis​","type":1,"pageTitle":"bxl.ActionQueryNode type","url":"/docs/api/bxl/bxl.ActionQueryNode/#bxlactionquerynodeanalysis","content":"def bxl.ActionQueryNode.analysis() -> None | bxl.AnalysisResult Gets optional analysis from the action query target node. "},{"title":"bxl.ActionQueryNode.attrs​","type":1,"pageTitle":"bxl.ActionQueryNode type","url":"/docs/api/bxl/bxl.ActionQueryNode/#bxlactionquerynodeattrs","content":"bxl.ActionQueryNode.attrs: typing.Any Gets the attributes from the action query node. Returns a struct. "},{"title":"bxl.ActionQueryNode.rule_type​","type":1,"pageTitle":"bxl.ActionQueryNode type","url":"/docs/api/bxl/bxl.ActionQueryNode/#bxlactionquerynoderule_type","content":"bxl.ActionQueryNode.rule_type: str Gets the kind of action query node, either analysis or action kind. "},{"title":"bxl.Actions type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.Actions/","content":"","keywords":""},{"title":"bxl.Actions.actions​","type":1,"pageTitle":"bxl.Actions type","url":"/docs/api/bxl/bxl.Actions/#bxlactionsactions","content":"bxl.Actions.actions: actions Gets the analysis action context to create and register actions on the execution platform corresponding to this bxl action's execution platform resolution. "},{"title":"bxl.Actions.exec_deps​","type":1,"pageTitle":"bxl.Actions type","url":"/docs/api/bxl/bxl.Actions/#bxlactionsexec_deps","content":"bxl.Actions.exec_deps: dict[providers_label, dependency] Gets the execution deps requested correctly configured for the current execution platform "},{"title":"bxl.Actions.toolchains​","type":1,"pageTitle":"bxl.Actions type","url":"/docs/api/bxl/bxl.Actions/#bxlactionstoolchains","content":"bxl.Actions.toolchains: dict[providers_label, dependency] Gets the toolchains requested configured for the current execution platform "},{"title":"actions type","type":0,"sectionRef":"#","url":"/docs/api/bxl/actions/","content":"","keywords":""},{"title":"actions.anon_target​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsanon_target","content":"def actions.anon_target( rule: "function", attrs: dict[str, typing.Any] ) -> anon_target An anonymous target is defined by the hash of its attributes, rather than its name. During analysis, rules can define and access the providers of anonymous targets before producing their own providers. Two distinct rules might ask for the same anonymous target, sharing the work it performs. For more details see https://buck2.build/docs/rule_authors/anon_targets/ "},{"title":"actions.anon_targets​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsanon_targets","content":"def actions.anon_targets( rules: list[("function", dict[str, typing.Any])] | tuple[("function", dict[str, typing.Any]), ...] ) -> anon_targets Generate a series of anonymous targets. "},{"title":"actions.artifact_tag​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsartifact_tag","content":"def actions.artifact_tag() -> artifact_tag Allocate a new input tag. Used with the dep_files argument to run. "},{"title":"actions.assert_short_path​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsassert_short_path","content":"def actions.assert_short_path(artifact: artifact, short_path: str) -> artifact Generate a promise artifact that has short path accessible on it. The short path's correctness will be asserted during analysis time. TODO - we would prefer the API to be ctx.actions.anon_target(xxx).artifact("foo", short_path=yyy), but we cannot support this until we can get access to the AnalysisContext without passing it into this method. "},{"title":"actions.cas_artifact​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionscas_artifact","content":"def actions.cas_artifact( output: artifact | output_artifact | str, digest: str, use_case: str, /, *, expires_after_timestamp: int, is_executable: bool = False, is_tree: bool = False, is_directory: bool = False ) -> artifact Downloads a CAS artifact to an output digest: must look like SHA1:SIZEuse_case: your RE use caseexpires_after_timestamp: must be a UNIX timestamp. Your digest's TTL must exceed this timestamp. Your build will break once the digest expires, so make sure the expiry is long enough (preferably, in years).is_executable: indicates the resulting file should be marked with executable permissionsis_tree: digest must point to a blob of typeRE.Treeis_directory: digest must point to a blob of typeRE.Directory "},{"title":"actions.copied_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionscopied_dir","content":"def actions.copied_dir( output: artifact | output_artifact | str, srcs: dict[str, artifact], / ) -> artifact Returns an artifact which is a directory containing copied files. The srcs must be a dictionary of path (as string, relative to the result directory) to the bound artifact, which will be laid out in the directory. "},{"title":"actions.copy_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionscopy_dir","content":"def actions.copy_dir( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Make a copy of a directory. "},{"title":"actions.copy_file​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionscopy_file","content":"def actions.copy_file( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Copies the source artifact to the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The copy works for files or directories. "},{"title":"actions.declare_output​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsdeclare_output","content":"def actions.declare_output( prefix: str, filename: str = _, /, *, dir: bool = False ) -> artifact Returns an unbound artifact, representing where a file will go, which must be bound before analysis terminates. The usual way of binding an artifact is with ctx.actions.run. As an example: my_output = ctx.actions.declare_output("output.o") ctx.actions.run(["gcc", "-c", my_source, "-o", my_output.as_output()], category = "compile") This snippet declares an output with the filename output.o (it will be located in the output directory for this target). Note the use of as_output to tag this artifact as being an output in the action. After binding the artifact you can subsequently use my_output as either an input for subsequent actions, or as the result in a provider. Artifacts from a single target may not have the same name, so if you then want a second artifact also named output.o you need to supply a prefix, e.g.ctx.actions.declare_output("directory", "output.o"). The artifact will still report having name output.o, but will be located at directory/output.o. The dir argument should be set to True if the binding will be a directory. "},{"title":"actions.digest_config​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsdigest_config","content":"def actions.digest_config() -> digest_config Obtain this daemon's digest configuration. This allows rules to discover what digests the daemon may be able to e.g. defer download because they conform to its RE backend's expected digest format. "},{"title":"actions.download_file​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsdownload_file","content":"def actions.download_file( output: artifact | output_artifact | str, url: str, /, *, vpnless_url: None | str = None, sha1: None | str = None, sha256: None | str = None, is_executable: bool = False, is_deferrable: bool = False ) -> artifact Downloads a URL to an output (filename as string or output artifact). The file at the URL must have the given sha1 or the command will fail. The optional parameter is_executable indicates whether the resulting file should be marked with executable permissions. (Meta-internal) The optional parameter vpnless_url indicates a url from which this resource can be downloaded off VPN; this has the same restrictions as url above. "},{"title":"actions.dynamic_output​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsdynamic_output","content":"def actions.dynamic_output( *, dynamic: list[artifact] | tuple[artifact, ...], inputs: list[artifact] | tuple[artifact, ...] = _, outputs: list[output_artifact] | tuple[output_artifact, ...], f: typing.Callable[[typing.Any, dict[artifact, artifact_value], dict[artifact, artifact]], None] ) -> None dynamic_output allows a rule to use information that was not available when the rule was first run at analysis time. Examples include things like Distributed ThinLTO (where the index file is created by another action) or OCaml builds (where the dependencies are created by ocamldeps). The arguments are: dynamic - a list of artifacts whose values will be available in the function. These will be built before the function is run.inputs - parameter is ignored.outputs - a list of unbound artifacts (created with declare_artifact) which will be bound by the function.The function argument is given 3 arguments: ctx (context) - which is the same as that passed to the initial rule analysis.artifacts - using one of the artifacts from dynamic (example usage:artifacts[artifact_from_dynamic]) gives an artifact value containing the methodsread_string, read_lines, and read_json to obtain the values from the disk in various formats. Anything too complex should be piped through a Python script for transformation to JSON.outputs - using one of the artifacts from the dynamic_output's outputs (example usage: outputs[artifact_from_dynamic_output_outputs]) gives an unbounded artifact. The function argument must use its outputs argument to bind output artifacts, rather than reusing artifacts from the outputs passed into dynamic_output directly. The function must call ctx.actions (probably ctx.actions.run) to bind all outputs. It can examine the values of the dynamic variables and depends on the inputs. The function will usually be a def, as lambda in Starlark does not allow statements, making it quite underpowered. For full details seehttps://buck2.build/docs/rule_authors/dynamic_dependencies/. Besides dynamic dependencies, there is a second use case for dynamic_output: say that you have some output artifact, and that the analysis to produce the action that outputs that artifact is expensive, ie takes a lot of CPU time; you would like to skip that work in builds that do not actually use that artifact. This can be accomplished by putting the analysis for that artifact behind a dynamic_outputwith an empty dynamic list. The dynamic_output's function will not be run unless one of the actions it outputs is actually requested as part of the build. "},{"title":"actions.dynamic_output_new​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsdynamic_output_new","content":"def actions.dynamic_output_new(dynamic_actions: DynamicAction, /) -> None New version of dynamic_output. This is work in progress, and will eventually replace the old dynamic_output. "},{"title":"actions.run​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionsrun","content":"def actions.run( arguments: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, /, *, category: str, identifier: None | str = None, env: dict[str, artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _, local_only: bool = False, prefer_local: bool = False, prefer_remote: bool = False, low_pass_filter: bool = True, always_print_stderr: bool = False, weight: int = _, weight_percentage: int = _, dep_files: dict[str, artifact_tag] = _, metadata_env_var: str = _, metadata_path: str = _, no_outputs_cleanup: bool = False, allow_cache_upload: bool = False, allow_dep_file_cache_upload: bool = False, force_full_hybrid_if_capable: bool = False, exe: RunInfo | WorkerRunInfo = _, unique_input_inodes: bool = False, error_handler: typing.Callable = _, remote_execution_dependencies: list[dict[str, str]] = [] ) -> None Runs a command arguments: must be of type cmd_args, or a type convertible to such (such as a list of strings and artifacts) and must contain at least one .as_output() artifactcategory: category and identifier - when used together, identify the action in Buck2's event stream, and must be unique for a given targetweight: used to note how heavy the command is and will typically be set to a higher value to indicate that less such commands should be run in parallel (if running locally)no_outputs_cleanup: if this flag is set then Buck2 won't clean the outputs of a previous build that might be present on a disk; in which case, command from arguments should be responsible for the cleanup (that is useful, for example, when an action is supporting incremental mode and its outputs are based on result from a previous build)metadata_env_var and meadata_path should be used together: both set or both unset metadata_path: defines a path relative to the result directory for a file with action metadata, which will be created right before the command will be run.Metadata contains the path relative to the Buck2 project root and hash digest for every action input (this excludes symlinks as they could be resolved by a user script if needed). The resolved path relative to the Buck2 project for the metadata file will be passed to command from arguments, via the environment variable, with its name set by metadata_env_varBoth metadata_env_var and metadata_path are useful when making actions behave in an incremental manner (for details, see Incremental Actions) The prefer_local, prefer_remote and local_only options allow selecting where the action should run if the executor selected for this target is a hybrid executor. * All those options disable concurrent execution: the action will run on the preferred platform first (concurrent execution only happens with a "full" hybrid executor). * Execution may be retried on the "non-preferred" platform if it fails due to a transient error, except for `local_only`, which does not allow this. * If the executor selected is a remote-only executor and you use `local_only`, that's an error. The other options will not raise errors. * Setting more than one of those options is an error. * Those flags behave the same way as the equivalent `--prefer-remote`, `--prefer-local` and `--local-only` CLI flags. The CLI flags take precedence. * The `force_full_hybrid_if_capable` option overrides the `use_limited_hybrid` hybrid. The options listed above take precedence if set. remote_execution_dependencies: list of dependencies which is passed to Remote Execution. Each dependency is dictionary with the following keys: smc_tier: name of the SMC tier to call by RE Scheduler.id: name of the dependency. When actions execute, they'll do so from the root of the repository. As they execute, actions have exclusive access to their output directory. Actions also get exclusive access to a "scratch" path that is exposed via the environment variable BUCK_SCRATCH_PATH. This path is expressed as a path relative to the working directory (i.e. relative to the project). This path is guaranteed to exist when the action executes. When actions run locally, the scratch path is also used as the TMPDIR. "},{"title":"actions.symlink_file​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionssymlink_file","content":"def actions.symlink_file( dest: artifact | output_artifact | str, src: artifact, / ) -> artifact Creates a symlink to the source artifact at the destination (which can be a string representing a filename or an output artifact) and returns the output artifact. The symlink works for files or directories. "},{"title":"actions.symlinked_dir​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionssymlinked_dir","content":"def actions.symlinked_dir( output: artifact | output_artifact | str, srcs: dict[str, artifact], / ) -> artifact Returns an artifact that is a directory containing symlinks. The srcs must be a dictionary of path (as string, relative to the result directory) to bound artifact, which will be laid out in the directory. "},{"title":"actions.tset​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionstset","content":"def actions.tset( definition: transitive_set_definition, /, value = _, children: typing.Iterable = _ ) -> transitive_set Creates a new transitive set. For details, see https://buck2.build/docs/rule_authors/transitive_sets/. "},{"title":"actions.write​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionswrite","content":"def actions.write( output: artifact | output_artifact | str, content: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, /, *, is_executable: bool = False, allow_args: bool = False, with_inputs: bool = False, absolute: bool = False ) -> artifact | (artifact, list[artifact]) Returns an artifact whose contents are content is_executable (optional): indicates whether the resulting file should be marked with executable permissionsallow_args (optional): must be set to True if you want to write parameter arguments to the file (in particular, macros that write to file) If it is true, the result will be a pair of the artifact containing content and a list of artifact values that were written by macros, which should be used in hidden fields or similar absolute (optional): if set, this action will produce absolute paths in its output when rendering artifact paths. You generally shouldn't use this if you plan to use this action as the input for anything else, as this would effectively result in losing all shared caching. The content is often a string, but can be any ArgLike value. This is occasionally useful for generating scripts to run as a part of another action. cmd_args in the content are newline separated unless another delimiter is explicitly specified. "},{"title":"actions.write_json​","type":1,"pageTitle":"actions type","url":"/docs/api/bxl/actions/#actionswrite_json","content":"def actions.write_json( output: artifact | output_artifact | str, content: None | artifact | bool | cell_root | cmd_args | enum | int | label | label_relative_path | output_artifact | project_root | record | resolved_macro | str | tagged_command_line | tagged_value | target_label | transitive_set_args_projection | transitive_set_json_projection | write_json_cli_args | list[typing.Any] | tuple | dict[typing.Any, typing.Any] | struct(..) | RunInfo | provider, /, *, with_inputs: bool = False, pretty: bool = False, absolute: bool = False ) -> artifact | write_json_cli_args Returns an artifact whose contents are content written as a JSON value. output: can be a string, or an existing artifact created with declare_outputcontent: must be composed of the basic json types (boolean, number, string, list/tuple, dictionary) plus artifacts and command lines An artifact will be written as a string containing the pathA command line will be written as a list of strings, unless joined=True is set, in which case it will be a string If you pass with_inputs = True, you'll get back a cmd_args that expands to the JSON file but carries all the underlying inputs as dependencies (so you don't have to use, for example, hidden for them to be added to an action that already receives the JSON file)pretty (optional): write formatted JSON (defaults to False)absolute (optional): if set, this action will produce absolute paths in its output when rendering artifact paths. You generally shouldn't use this if you plan to use this action as the input for anything else, as this would effectively result in losing all shared caching. (defaults to False) "},{"title":"bxl.AnalysisResult type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.AnalysisResult/","content":"","keywords":""},{"title":"bxl.AnalysisResult.as_dependency​","type":1,"pageTitle":"bxl.AnalysisResult type","url":"/docs/api/bxl/bxl.AnalysisResult/#bxlanalysisresultas_dependency","content":"def bxl.AnalysisResult.as_dependency() -> dependency Converts the analysis result into a dependency. Currently, you can only get a dependency without any transitions. This means that you cannot create an exec dep or toolchain from an analysis result. We may support other dependency transition types in the future. This is useful for passing in the results of ctx.analysis() into anon targets. Sample usage: def _impl_dependency(ctx): node = ctx.configured_targets("root//bin:the_binary") dependency = ctx.analysis(node).as_dependency() "},{"title":"bxl.AnalysisResult.providers​","type":1,"pageTitle":"bxl.AnalysisResult type","url":"/docs/api/bxl/bxl.AnalysisResult/#bxlanalysisresultproviders","content":"def bxl.AnalysisResult.providers() Access the providers of the rule. Returns a provider_collection the same as accessing providers of dependencies within a rule implementation. Sample usage: def _impl_providers(ctx): node = ctx.configured_targets("root//bin:the_binary") providers = ctx.analysis(node).providers() ctx.output.print(providers[FooInfo]) providers = ctx.analysis("//:bin").providers() ctx.output.print(providers[FooInfo]) "},{"title":"bxl.AqueryContext type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.AqueryContext/","content":"","keywords":""},{"title":"bxl.AqueryContext.all_actions​","type":1,"pageTitle":"bxl.AqueryContext type","url":"/docs/api/bxl/bxl.AqueryContext/#bxlaquerycontextall_actions","content":"def bxl.AqueryContext.all_actions( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label] ) -> target_set Obtain all the actions declared within the analysis of a given target. This operation only makes sense on a target literal (it is a simple passthrough when passed an action). "},{"title":"bxl.AqueryContext.all_outputs​","type":1,"pageTitle":"bxl.AqueryContext type","url":"/docs/api/bxl/bxl.AqueryContext/#bxlaquerycontextall_outputs","content":"def bxl.AqueryContext.all_outputs( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label] ) -> target_set Obtain the actions for all the outputs provided by the DefaultInfo for the targets passed as input. This includes both the default_outputs and other_outputs. This operation only makes sense on a target literal (it does nothing if passed something else). "},{"title":"bxl.AqueryContext.attrfilter​","type":1,"pageTitle":"bxl.AqueryContext type","url":"/docs/api/bxl/bxl.AqueryContext/#bxlaquerycontextattrfilter","content":"def bxl.AqueryContext.attrfilter( attr: str, value: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label] ) -> target_set The attrfilter query for rule attribute filtering. "},{"title":"bxl.AqueryContext.deps​","type":1,"pageTitle":"bxl.AqueryContext type","url":"/docs/api/bxl/bxl.AqueryContext/#bxlaquerycontextdeps","content":"def bxl.AqueryContext.deps( universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | target_set | target_set | list[bxl.ActionQueryNode | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label], depth: None | int = None, filter: None | str = None ) -> target_set The deps query for finding the transitive closure of dependencies. "},{"title":"bxl.AqueryContext.eval​","type":1,"pageTitle":"bxl.AqueryContext type","url":"/docs/api/bxl/bxl.AqueryContext/#bxlaquerycontexteval","content":"def bxl.AqueryContext.eval( query: str, query_args: None | target_set | list[str] = None ) Evaluates some general query string. query_args can be a target_set of unconfigured nodes, or a list of strings. Returns a dict of target labels mapped to their target_set results if query_args was passed in, otherwise returns a single target_set. Sample usage: def _impl_eval(ctx): result = ctx.aquery().eval(":foo") ctx.output.print(result) "},{"title":"bxl.AuditContext type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.AuditContext/","content":"","keywords":""},{"title":"bxl.AuditContext.cell​","type":1,"pageTitle":"bxl.AuditContext type","url":"/docs/api/bxl/bxl.AuditContext/#bxlauditcontextcell","content":"def bxl.AuditContext.cell( aliases_to_resolve: list[str] | tuple[str, ...] = [], *, aliases: bool = False ) -> dict[str, str] Query information about the [cells] list in .buckconfig. Takes the following parameters: aliases_to_resolve - list of cell aliases to query. These aliases will be resolved in the root cell of the BXL script.optional aliases flag - if enabled, and no explicit aliases are passed, will query for all aliases in the root cell of the BXL script. Returns a dict of cell name to absolute path mappings. Sample usage: def _impl_audit_cell(ctx): result = ctx.audit().cell(aliases = True) ctx.output.print(result) "},{"title":"bxl.AuditContext.output​","type":1,"pageTitle":"bxl.AuditContext type","url":"/docs/api/bxl/bxl.AuditContext/#bxlauditcontextoutput","content":"def bxl.AuditContext.output( output_path: str, target_platform: None | str | target_label = _ ) Returns either: - The action which created the buck-out path, if exists. - The unconfigured_target_label constructed from the buck-out path, if the configuration hashes do not match. - None, if the configuration hash of the buck-out path matches the one passed into this function, or the default target configuration, but no action could be found that generated the buck-out path. Takes in an optional target platform, otherwise will use the default target platform. Sample usage: def _impl_audit_output(ctx): target_platform = "foo" result = ctx.audit().output("buck-out/v2/gen/fbcode/some_cfg_hash/path/to/__target__/artifact", target_platform) ctx.output.print(result) "},{"title":"bxl.BuildResult type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.BuildResult/","content":"","keywords":""},{"title":"bxl.BuildResult.artifacts​","type":1,"pageTitle":"bxl.BuildResult type","url":"/docs/api/bxl/bxl.BuildResult/#bxlbuildresultartifacts","content":"def bxl.BuildResult.artifacts() -> None | bxl_built_artifacts_iterable Returns an optional iterable of artifacts that was successfully built. Sample usage: def _impl(ctx): outputs = {} for target, value in ctx.build(ctx.cli_args.target).items(): ctx.output.print(value.artifacts()) "},{"title":"bxl.BuildResult.failures​","type":1,"pageTitle":"bxl.BuildResult type","url":"/docs/api/bxl/bxl.BuildResult/#bxlbuildresultfailures","content":"def bxl.BuildResult.failures() -> None | bxl_failed_artifacts_iterable Returns an optional of iterable of artifacts that failed to be built. Sample usage: def _impl(ctx): outputs = {} for target, value in ctx.build(ctx.cli_args.target).items(): ctx.output.print(value.failures()) "},{"title":"attrs type","type":0,"sectionRef":"#","url":"/docs/api/bxl/attrs/","content":"","keywords":""},{"title":"attrs.any​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsany","content":"def attrs.any(*, doc: str = "", default = _) -> attribute Takes most builtin literals and passes them to the rule as a string. Discouraged, as it provides little type safety and destroys the structure. "},{"title":"attrs.arg​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsarg","content":"def attrs.arg( *, json: bool = False, default = _, doc: str = "", anon_target_compatible: bool = False ) -> attribute Takes a command line argument from the user and supplies a cmd_args compatible value to the rule. The argument may contain special macros such as $(location :my_target) or $(exe :my_target) which will be replaced with references to those values in the rule. Takes in an optional anon_target_compatible flag, which indicates whether the args can be passed into anon targets. Note that there is a slight memory hit when using this flag. "},{"title":"attrs.bool​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsbool","content":"def attrs.bool(*, default = _, doc: str = "") -> attribute Takes a boolean and passes it to the rule as a boolean. "},{"title":"attrs.configuration_label​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsconfiguration_label","content":"def attrs.configuration_label(*, doc: str = "") -> attribute "},{"title":"attrs.configured_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsconfigured_dep","content":"def attrs.configured_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute "},{"title":"attrs.default_only​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsdefault_only","content":"def attrs.default_only( inner: attribute, /, *, doc: str = "" ) -> attribute Rejects all values and uses the default for the inner argument. Often used to resolve dependencies, which otherwise can't be resolved inside a rule. attrs.default_only(attrs.dep(default = "foo//my_package:my_target")) "},{"title":"attrs.dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsdep","content":"def attrs.dep( *, providers: list[typing.Any] | tuple = [], pulls_plugins: list[typing.Any] | tuple = [], pulls_and_pushes_plugins: all_plugins | list[typing.Any] | tuple = _, default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. A target can be specified as an absolute dependency foo//bar:baz, omitting the cell (//bar:baz) or omitting the package name (:baz). If supplied the providers argument ensures that specific providers will be present on the dependency. "},{"title":"attrs.dict​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsdict","content":"def attrs.dict( key: attribute, value: attribute, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute Takes a dict from the user, supplies a dict to the rule. "},{"title":"attrs.enum​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsenum","content":"def attrs.enum( variants: list[str] | tuple[str, ...], /, *, default = _, doc: str = "" ) -> attribute Takes a string from one of the variants given, and gives that string to the rule. Strings are matched case-insensitively, and always passed to the rule lowercase. "},{"title":"attrs.exec_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsexec_dep","content":"def attrs.exec_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will transition to the execution platform. Use exec_dep if you plan to execute things from this dependency as part of the compilation. "},{"title":"attrs.int​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsint","content":"def attrs.int(*, default = _, doc: str = "") -> attribute Takes an int from the user, supplies an int to the rule. "},{"title":"attrs.label​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrslabel","content":"def attrs.label(*, default = _, doc: str = "") -> attribute Takes a target (as per deps) and passes a label to the rule. Validates that the target exists, but does not introduce a dependency on it. "},{"title":"attrs.list​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrslist","content":"def attrs.list( inner: attribute, /, *, default = _, doc: str = "" ) -> attribute Takes a list from the user, supplies a list to the rule. "},{"title":"attrs.named_set​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsnamed_set","content":"def attrs.named_set( value_type: attribute, /, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.one_of​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsone_of","content":"def attrs.one_of(*args: attribute, default = _, doc: str = "") -> attribute Given a list of alternative attributes, selects the first that matches and gives that to the rule. "},{"title":"attrs.option​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsoption","content":"def attrs.option( inner: attribute, /, *, default = _, doc: str = "" ) -> attribute Takes a value that may be None or some inner type, and passes either None or the value corresponding to the inner to the rule. Often used to make a rule optional: attrs.option(attr.string(), default = None) "},{"title":"attrs.plugin_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsplugin_dep","content":"def attrs.plugin_dep( *, kind, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.query​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsquery","content":"def attrs.query(*, doc: str = "") -> attribute "},{"title":"attrs.regex​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsregex","content":"def attrs.regex(*, default = _, doc: str = "") -> attribute Currently an alias for attrs.string. "},{"title":"attrs.set​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsset","content":"def attrs.set( value_type: attribute, /, *, sorted: bool = False, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.source​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrssource","content":"def attrs.source( *, allow_directory: bool = False, default = _, doc: str = "" ) -> attribute Takes a source file from the user, supplies an artifact to the rule. The source file may be specified as a literal string (representing the path within this package), or a target (which must have a DefaultInfo with a default_outputs value). "},{"title":"attrs.split_transition_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrssplit_transition_dep","content":"def attrs.split_transition_dep( *, providers: list[typing.Any] | tuple = [], cfg, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.string​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsstring","content":"def attrs.string( *, default = _, validate = _, doc: str = "" ) -> attribute Takes a string from the user, supplies a string to the rule. "},{"title":"attrs.toolchain_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrstoolchain_dep","content":"def attrs.toolchain_dep( *, providers: list[typing.Any] | tuple = [], default = _, doc: str = "" ) -> attribute Takes a target from the user, as a string, and supplies a dependency to the rule. The dependency will be a toolchain dependency, meaning that its execution platform dependencies will be used to select the execution platform for this rule. "},{"title":"attrs.transition_dep​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrstransition_dep","content":"def attrs.transition_dep( *, providers: list[typing.Any] | tuple = [], cfg, default = _, doc: str = "" ) -> attribute "},{"title":"attrs.tuple​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrstuple","content":"def attrs.tuple(*args: attribute, default = _, doc: str = "") -> attribute Takes a tuple of values and gives a tuple to the rule. "},{"title":"attrs.versioned​","type":1,"pageTitle":"attrs type","url":"/docs/api/bxl/attrs/#attrsversioned","content":"def attrs.versioned(value_type: attribute, *, doc: str = "") -> attribute "},{"title":"bxl.ConfiguredTargetNode type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/","content":"","keywords":""},{"title":"bxl.ConfiguredTargetNode.attrs_eager​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodeattrs_eager","content":"def bxl.ConfiguredTargetNode.attrs_eager() Returns a struct of all the attributes of this target node. The structs fields are the attributes names, and the values are [StarlarkConfiguredAttr]. If you need to access many or all attrs on the same node, then this is the preferred way. Otherwise, using attrs_lazy() would be a better option for only accessing only a few attrs, although this really depends on what kind of attrs are on the node. Benchmarking performance will give you the best indication on which method to use. You should store the result of this function call for further usage in the code rather than callingattrs_eager() each time you need to access the attrs. Sample usage: def _impl_attrs_eager(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.attrs_eager() # cache once ctx.output.print(attrs) # do more stuff with attrs "},{"title":"bxl.ConfiguredTargetNode.attrs_lazy​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodeattrs_lazy","content":"def bxl.ConfiguredTargetNode.attrs_lazy() -> lazy_attrs Returns a lazy_attrs object that you can call get() on that gets an attr one at a time. If you need to access only few attrs on the same node, then this is the preferred way. Otherwise, using attrs_eager() would be a better option for accessing many or all attrs, although this really depends on what kind of attrs are on the node. Benchmarking performance will give you the best indication on which method to use. You should store the result of this function call for further usage in the code rather than callingattrs_lazy() each time to get the lazy_attrs object. Note that if the get() is None, then any methods called on None will result in an error. Sample usage: def _impl_attrs_lazy(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.attrs_lazy() # cache once ctx.output.print(attrs.get("some_attributes").value()) ctx.output.print(attrs.get("some_attribute").label) "},{"title":"bxl.ConfiguredTargetNode.buildfile_path​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodebuildfile_path","content":"bxl.ConfiguredTargetNode.buildfile_path: bxl.FileNode Gets the buildfile path from the configured target node. Sample usage: def _impl_label(ctx): target_node = ctx.cquery().eval("owner('path/to/file')")[0] ctx.output.print(target_node.buildfile_path) "},{"title":"bxl.ConfiguredTargetNode.get_source​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodeget_source","content":"def bxl.ConfiguredTargetNode.get_source( path: str, ctx: bxl.Context ) -> None | artifact Gets the source Artifact that corresponds to the given path given a context. The path should be the project relative path to the file, or an absolute path. Sample usage: def _impl_get_source(ctx): owner = ctx.cquery().owner("project/relative/path/to/file")[0] artifact = owner.sources()[0] ctx.output.print(artifact) "},{"title":"bxl.ConfiguredTargetNode.label​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodelabel","content":"bxl.ConfiguredTargetNode.label: configured_target_label Gets the configured target label of this target node. Note that you cannot get a non-configured label from a configured target node because the configured target node is not uniquely identified a non-configured label, only by the configured target label. Sample usage: def _impl_label(ctx): node = ctx.configured_targets("my_cell//bin:the_binary") ctx.output.print(node.label) "},{"title":"bxl.ConfiguredTargetNode.resolved_attrs_eager​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnoderesolved_attrs_eager","content":"def bxl.ConfiguredTargetNode.resolved_attrs_eager(ctx: bxl.Context) Returns a struct of all the resolved attributes of this target node. The structs fields are the attributes names, and the values are the underlying Starlark values of the attributes. If you need to access many or all resolved attrs on the same node, then this is the preferred way. Otherwise, using resolved_attrs_lazy() would be a better option for accessing only a few resolved attrs, although this really depends on what kind of resolved attrs are on the node. Benchmarking performance will give you the best indication on which method to use. You should store the result of this function call for further usage in the code rather than callingresolved_attrs_eager() each time you need all the resolved attrs. Sample usage: def _impl_resolved_attrs_eager(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.resolved_attrs_eager(ctx) # cache once ctx.output.print(attrs) # do more stuff with attrs "},{"title":"bxl.ConfiguredTargetNode.resolved_attrs_lazy​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnoderesolved_attrs_lazy","content":"def bxl.ConfiguredTargetNode.resolved_attrs_lazy( ctx: bxl.Context ) -> bxl.LazyResolvedAttrs Returns a lazy_resolved_attrs object that you can call get() on that gets a resolved attr one at a time. If you need to access only few resolved attrs on the same node, then this is the preferred way. Otherwise, using resolved_attrs_eager() would be a better option for accessing many or all resolved attrs, although this really depends on what kind of resolved attrs are on the node. Benchmarking performance will give you the best indication on which method to use. You should store the result of this function call for further usage in the code rather than callingresolved_attrs_lazy() each time to get the lazy_resolved_attrs object. Note that if the get() is None, then any methods called on None will result in an error. Sample usage: def _impl_resolved_attrs_lazy(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.resolved_attrs_lazy(ctx) # cache once ctx.output.print(attrs.get("some_attributes").value()) ctx.output.print(attrs.get("some_attribute").label) "},{"title":"bxl.ConfiguredTargetNode.rule_kind​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnoderule_kind","content":"bxl.ConfiguredTargetNode.rule_kind: str Gets the targets' corresponding rule's kind which is one of - normal (with no special properties) - configured (usable in a configuration context) - toolchain (only usable as a toolchain dep) Sample usage: def _impl_rule_kind(ctx): node = ctx.configured_targets("my_cell//bin:the_binary") ctx.output.print(node.rule_kind) "},{"title":"bxl.ConfiguredTargetNode.rule_type​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnoderule_type","content":"bxl.ConfiguredTargetNode.rule_type: str Gets the targets' corresponding rule's name. This is the fully qualified rule name including the import path. Sample usage: def _impl_rule_type(ctx): node = ctx.configured_targets("my_cell//bin:the_binary") ctx.output.print(node.rule_type) "},{"title":"bxl.ConfiguredTargetNode.sources​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodesources","content":"def bxl.ConfiguredTargetNode.sources() -> list[artifact] Returns a List of all the sources used by this node. Sample usage: def _impl_sources(ctx): node = ctx.configured_targets("my_cell//bin:the_binary") ctx.output.print(node.sources()) "},{"title":"bxl.ConfiguredTargetNode.unwrap_forward​","type":1,"pageTitle":"bxl.ConfiguredTargetNode type","url":"/docs/api/bxl/bxl.ConfiguredTargetNode/#bxlconfiguredtargetnodeunwrap_forward","content":"def bxl.ConfiguredTargetNode.unwrap_forward() -> bxl.ConfiguredTargetNode Skip incoming transition forward node. If a target is a forward node, which is created by applying incoming configuration transition, return the transition target, otherwise return itself. This is is particularly useful when you don't care about 'forward' node. Example usage: def _impl_unwrap_forward(ctx): node = ctx.configured_targets("my_cell//bin:the_binary") actual_node = node.unwrap_forward() "},{"title":"bxl.EnsuredArtifact type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.EnsuredArtifact/","content":"","keywords":""},{"title":"bxl.EnsuredArtifact.abs_path​","type":1,"pageTitle":"bxl.EnsuredArtifact type","url":"/docs/api/bxl/bxl.EnsuredArtifact/#bxlensuredartifactabs_path","content":"def bxl.EnsuredArtifact.abs_path() Converts this artifact to be printed by its absolute path. Note that this will only print out the absolute path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact. Sample usage: def _impl_abs_path(ctx): actions = ctx.bxl_actions().actions output = actions.write("my_output", "my_content") ensured = ctx.output.ensure(output) # currently defaults to creating an EnsuredArtifact with a relative path ensured_with_abs_path = ensured.abs_path() # create a new EnsuredArtifact with absolute path to reuse print(ensured_with_abs_path) # should return something like <ensured artifact ... > ctx.output.print(ensured_with_abs_path) # should return the absolute path of the artifact "},{"title":"bxl.EnsuredArtifact.rel_path​","type":1,"pageTitle":"bxl.EnsuredArtifact type","url":"/docs/api/bxl/bxl.EnsuredArtifact/#bxlensuredartifactrel_path","content":"def bxl.EnsuredArtifact.rel_path() Converts this artifact to be printed by its path relative to the project root. Note that this will only print out the relative path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact. Sample usage: def _impl_rel_path(ctx): actions = ctx.bxl_actions().actions output = actions.write("my_output", "my_content") ensured = ctx.output.ensure(output) # currently defaults to creating an EnsuredArtifact with a relative path ensured_with_rel_path = ensured.rel_path() # create a new EnsuredArtifact with relative path to reuse print(ensured_with_rel_path) # should return something like <ensured artifact ... > ctx.output.print(ensured_with_rel_path) # should return the relative path of the artifact "},{"title":"bxl.FileNode type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.FileNode/","content":"","keywords":""},{"title":"bxl.FileNode.cell​","type":1,"pageTitle":"bxl.FileNode type","url":"/docs/api/bxl/bxl.FileNode/#bxlfilenodecell","content":"bxl.FileNode.cell: str The cell name for the file_node. "},{"title":"bxl.FileNode.path​","type":1,"pageTitle":"bxl.FileNode type","url":"/docs/api/bxl/bxl.FileNode/#bxlfilenodepath","content":"bxl.FileNode.path: str The cell relative path as a string. "},{"title":"bxl.Context type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.Context/","content":"","keywords":""},{"title":"bxl.Context.analysis​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextanalysis","content":"def bxl.Context.analysis( labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label], target_platform: None | str | target_label = _, *, skip_incompatible: bool = True ) -> None | bxl.AnalysisResult | dict[label, bxl.AnalysisResult] Runs analysis on the given labels, accepting an optional target_platform which is the target platform configuration used to resolve configurations of any unconfigured target nodes, and an optional skip_incompatible boolean that indicates whether to skip analysis of nodes that are incompatible with the target platform. The target_platform is either a string that can be parsed as a target label, or a target label. The given labels is a providers expression, which is either: - a single string that is a `target pattern`. - a single target node or label, configured or unconfigured - a single sub target label, configured or unconfigured - a list of the two options above. This returns either a single analysis_result if the given labels argument is "singular", or a dict keyed by sub target labels of analysis if the given labels argument is list-like "},{"title":"bxl.Context.aquery​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextaquery","content":"def bxl.Context.aquery( target_platform: None | str | target_label = _ ) -> bxl.AqueryContext Returns the aqueryctx that holds all the aquery functions. This function takes an optional parameter target_platform, which is the target platform configuration used to configured any unconfigured target nodes. The target_platform is a target label, or a string that is a target label. "},{"title":"bxl.Context.audit​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextaudit","content":"def bxl.Context.audit() -> bxl.AuditContext Returns the audit_ctx that holds all the audit functions. "},{"title":"bxl.Context.build​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextbuild","content":"def bxl.Context.build( labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | label | providers_label | str | target_label], target_platform: None | str | target_label = _, *, materializations: str = "default" ) -> dict[label, bxl.BuildResult] Runs a build on the given labels, accepting an optional target_platform which is the target platform configuration used to resolve configurations. Note that when build() is called, the artifacts are materialized without needing to additionally call ensure() on them. The given labels is a providers expression, which is either: - a single string that is a `target pattern`. - a single target node or label, configured or unconfigured - a single provider label, configured or unconfigured - a list of the two options above. This returns a dict keyed by sub target labels mapped to bxl_build_results if the given labels argument is list-like. This function is not available on the bxl_ctx when called from dynamic_output. "},{"title":"bxl.Context.bxl_actions​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextbxl_actions","content":"def bxl.Context.bxl_actions( *, exec_deps: None | bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label] = None, toolchains: None | bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label] = None, target_platform: None | str | target_label = _, exec_compatible_with: None | bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] = None ) -> bxl.Actions Returns the bxl actions to create and register actions for this bxl function. This will have the execution platform resolved according to the execution deps and toolchains you pass into this function. You'll be able to access the analysis action factory of the correct execution platform, toolchains, and execution deps of the corresponding configuration via this context. Actions created by bxl will not be built by default. Instead, they are marked to be built by ctx.output.ensure(artifact) on the output module of the bxl_ctx. Only artifacts marked by ensure will be built. Sample usage: def _impl_write_action(ctx): bxl_actions = ctx.bxl_actions() output = bxl_actions.actions.write("my_output", "my_content") ensured = ctx.output.ensure(output) ctx.output.print(ensured) There are several optional named parameters: exec_deps - These are dependencies you wish to access as executables for creating the action. This is usually the same set of targets one would pass to rule's attr.exec_dep.toolchains - The set of toolchains needed for the actions you intend to create.target_platform - The intended target platform for your toolchainsexec_compatible_with - Explicit list of configuration nodes (like platforms or constraints) that these actions are compatible with. This is the 'exec_compatible_with' attribute of a target. If you passed in exec_deps or toolchains, you can access the resolved dependencies using the exec_depsand toolchains attributes on the bxl_actions, which both return a dict of unconfigured subtarget labels and their configured/resolved dependency objects. Note that the keys of exec_deps and toolchains must be unconfigured subtarget labels (providers_labels), and not unconfigured target labels. You can use ctx.unconfigured_sub_targets(...) or with_sub_target() ontarget_label to create the label. def _impl_run_action(ctx): my_exec_dep = ctx.unconfigured_sub_targets("foo//bar:baz") # has some provider that you would use in the action bxl_actions = ctx.bxl_actions(exec_deps = [my_exec_dep]) # call once, reuse wherever needed output = bxl_actions.actions.run( [ "python3", bxl_actions.exec_deps[my_exec_dep][RunInfo], # access resolved exec_deps on the `bxl_actions` out.as_output(), ], category = "command", local_only = True, ) ctx.output.ensure(output) When called from a dynamic_output, bxl_actions() cannot be configured with a different execution platform resolution from the parent BXL. "},{"title":"bxl.Context.cell_root​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextcell_root","content":"def bxl.Context.cell_root() -> str Returns the absolute path to the cell of the repository This function is not available on the bxl_ctx when called from dynamic_output. "},{"title":"bxl.Context.cli_args​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextcli_args","content":"bxl.Context.cli_args: struct(..) A struct of the command line args as declared using the [cli_args] module. These command lines are resolved per the users input on the cli when invoking the bxl script. If you wish to pass in a kebab-cased arg, the arg accessed from the BXL context's cli_argsattrbute will always be in snakecase. For example, if you passed in my-arg, accessing it within BXL would look like ctx.cli_args.my_arg. This attribute is not available on the bxl context within the a dynamic lambda. "},{"title":"bxl.Context.configured_targets​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextconfigured_targets","content":"def bxl.Context.configured_targets( labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], /, target_platform: None | str | target_label = _ ) -> None | bxl.ConfiguredTargetNode | target_set Gets the target nodes for the labels, accepting an optional target_platform which is the target platform configuration used to resolve configurations of any unconfigured target nodes. The target_platform is either a string that can be parsed as a target label, or a target label. The given labels is a [TargetListExpr], which is either: - a single string that is a `target pattern`. - a single target node or label, configured or unconfigured - a list of the two options above. Note that this function does not accept Label (which is a configured provider label), since this is the label of a subtarget. You can get the underlying configured target label on the Labelusing configured_targets() (ex: my_label.configured_target()). This returns either a single target_node if the given labelsis "singular", a dict keyed by target labels of target_node if the given labels is list-like "},{"title":"bxl.Context.cquery​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextcquery","content":"def bxl.Context.cquery( target_platform: None | str | target_label = _ ) -> bxl.CqueryContext Returns the cqueryctx that holds all the cquery functions. This function takes an optional parameter target_platform, which is the target platform configuration used to configured any unconfigured target nodes. The target_platform is a target label, or a string that is a target label. "},{"title":"bxl.Context.fs​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextfs","content":"bxl.Context.fs: bxl.Filesystem Returns the bxl.Filesystem for performing a basic set of filesystem operations within bxl "},{"title":"bxl.Context.instant_event​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextinstant_event","content":"def bxl.Context.instant_event(*, id: str, metadata) -> None Emits a user-defined instant event, taking in a required string id and a metadata dictionary where the keys are strings, and values are either strings, bools, or ints. The id is user-supplied, and used to identify the instant events in the event logs more easily. You may pass in an ensured artifact as a value in the metadata. The resulting output would be the ensured artifact's relative or absolute path as a string. "},{"title":"bxl.Context.output​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextoutput","content":"bxl.Context.output: bxl.OutputStream Gets the output stream to the console via stdout. Items written to the output stream are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached. Prints that are not result of the bxl should be printed via stderr via the stdlib printand pprint. This function is not available on the bxl_ctx when called from dynamic_output. "},{"title":"bxl.Context.resolve​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextresolve","content":"def bxl.Context.resolve(action_factory: actions, promise: promise) Awaits a promise and returns an optional value of the promise. Sample usage: load("//path/to/rules:rules.bzl", "my_anon_targets_rule", "my_map_function") def _resolve_impl(ctx): actions = ctx.bxl_actions().actions my_attrs = { "false": False, "int": 42, "list_string": ["a", "b", "c"], "string": "a-string", "true": True, } promise = actions.anon_target(my_anon_targets_rule, attrs).promise.map(my_map_function) providers_result = ctx.resolve(actions, promise) # result is `provider_collection` type, which is a collection of `provider`s ctx.output.print(providers_result[0].my_field) "},{"title":"bxl.Context.root​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextroot","content":"def bxl.Context.root() -> str Returns the absolute path to the root of the repository This function is not available on the bxl_ctx when called from dynamic_output. "},{"title":"bxl.Context.target_exists​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontexttarget_exists","content":"def bxl.Context.target_exists(label: str) -> bool Checks if a target label exists. Target label must be a string literal, and an exact target. "},{"title":"bxl.Context.target_universe​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontexttarget_universe","content":"def bxl.Context.target_universe( labels: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], target_platform: None | str | target_label = _, *, keep_going: bool = False ) -> bxl.TargetUniverse Returns the target_universe that can lookup valid configured nodes in the universe. The given labels is a target expression, which is either: - a single string that is a `target pattern`. - a single target node or label, configured or unconfigured - a single subtarget label, configured or unconfigured - a list of the two options above. Also takes in an optional target_platform param to configure the nodes with, and a keep_going`` flag to skip any loading or configuration errors. Note that keep_going` currently can only be used if the input labels is a single target pattern as a string literal. "},{"title":"bxl.Context.unconfigured_sub_targets​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextunconfigured_sub_targets","content":"def bxl.Context.unconfigured_sub_targets( labels: bxl.UnconfiguredTargetNode | providers_label | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | providers_label | str | target_label] ) -> providers_label | dict[str, providers_label] Gets the unconfigured subtargets for the given labels The given labels is a providers expression, which is either: - a single string that is a `target pattern`. - a single target node or label, configured or unconfigured - a single subtarget label, configured or unconfigured - a list of the two options above. This returns either a single providers_label if the given labels argument is "singular", or dict of the subtarget string representation to theproviders_label if the given labels argument is list-like. Note that this function does not check that this subtarget exists in the repo. "},{"title":"bxl.Context.unconfigured_targets​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextunconfigured_targets","content":"def bxl.Context.unconfigured_targets( labels: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> bxl.UnconfiguredTargetNode | target_set Gets the unconfigured target nodes for the labels The given labels is either: - a single string that is a `target pattern`. - a single unconfigured target node or label - a list of the two options above. This returns either a single [StarlarkTargetNode] if the given labelsis "singular", a dict keyed by target labels of [StarlarkTargetNode] if the given labels is list-like "},{"title":"bxl.Context.uquery​","type":1,"pageTitle":"bxl.Context type","url":"/docs/api/bxl/bxl.Context/#bxlcontextuquery","content":"def bxl.Context.uquery() -> bxl.UqueryContext Returns the uqueryctx that holds all uquery functions. "},{"title":"bxl.Filesystem type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.Filesystem/","content":"","keywords":""},{"title":"bxl.Filesystem.abs_path_unsafe​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemabs_path_unsafe","content":"def bxl.Filesystem.abs_path_unsafe(expr: artifact | bxl.FileNode | str) -> str Returns the absolute path, given the file expression. Use at your own risk, as the current working directory may have been changed when this function is called. In addition, passing the absolute path into actions that are run remotely will most likely result in failures since the absolute path most likely differs locally vs remotely. Sample usage: def _impl_abs_path_unsafe(ctx): ctx.output.print(ctx.fs.abs_path_unsafe("bin")) "},{"title":"bxl.Filesystem.exists​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemexists","content":"def bxl.Filesystem.exists(expr: artifact | bxl.FileNode | str) -> bool Check if a path exists on disk, taking advantage of Buck's cached filesystem. Takes in a literal, a source artifact (via artifact), or a file_node. Sample usage: def _impl_exists(ctx): ctx.output.print(ctx.fs.exists("bin")) "},{"title":"bxl.Filesystem.is_dir​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemis_dir","content":"def bxl.Filesystem.is_dir(expr: artifact | bxl.FileNode | str) -> bool Returns whether the provided path is a dir. Returns false is the dir does not exist. The input is a either a literal, a source artifact (via artifact), or a file_node. Sample usage: def _impl_is_dir(ctx): ctx.output.print(ctx.fs.is_dir("bin")) "},{"title":"bxl.Filesystem.is_file​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemis_file","content":"def bxl.Filesystem.is_file(expr: artifact | bxl.FileNode | str) -> bool Returns whether the provided path is a file. Returns false is the file does not exist. The input is a either a literal, a source artifact (via artifact), or a file_node. Sample usage: def _impl_is_file(ctx): ctx.output.print(ctx.fs.is_dir("bin")) "},{"title":"bxl.Filesystem.list​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemlist","content":"def bxl.Filesystem.list( expr: artifact | bxl.FileNode | str, *, dirs_only: bool = False ) -> read_dir_set Returns all the contents of the given input that points to a directory. Errors if the given path is a file. Takes an optional boolean dirs_only to only return directories, defaults to false. The input is a either a literal, a source artifact (via artifact), or a file_node. Sample usage: def _impl_list(ctx): list_results = ctx.fs.list("bin") for result in list_results: ctx.output.print(result) "},{"title":"bxl.Filesystem.project_rel_path​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemproject_rel_path","content":"def bxl.Filesystem.project_rel_path(expr: artifact | bxl.FileNode | str) -> str Returns the relative path to the project root, given the file expression. Sample usage: def project_rel_path(ctx): ctx.output.print(ctx.fs.project_rel_path("bin")) "},{"title":"bxl.Filesystem.source​","type":1,"pageTitle":"bxl.Filesystem type","url":"/docs/api/bxl/bxl.Filesystem/#bxlfilesystemsource","content":"def bxl.Filesystem.source( expr: artifact | bxl.FileNode | str, target_hint: None | bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] = None ) -> artifact Returns the source artifact for a path and an optional target hint (unconfigured target label or node) which points to the owning package. If no target hint is given, the nearest package will be used to guess the desired artifact. The path should be either an absolute path, or a project relative path. "},{"title":"bxl.LazyResolvedAttrs type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.LazyResolvedAttrs/","content":"","keywords":""},{"title":"bxl.LazyResolvedAttrs.get​","type":1,"pageTitle":"bxl.LazyResolvedAttrs type","url":"/docs/api/bxl/bxl.LazyResolvedAttrs/#bxllazyresolvedattrsget","content":"def bxl.LazyResolvedAttrs.get(attr: str) Gets a single resolved attribute. Returns an optional configured attribute. Gets a single attribute. def _impl_resolved_attrs_lazy(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.resolved_attrs_lazy(ctx) # cache once ctx.output.print(attrs.get("some_attribute").value()) ctx.output.print(attrs.get("some_attribute").label) "},{"title":"bxl.CqueryContext type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.CqueryContext/","content":"","keywords":""},{"title":"bxl.CqueryContext.allpaths​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextallpaths","content":"def bxl.CqueryContext.allpaths( from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], to: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The allpaths query for computing all dependency paths. "},{"title":"bxl.CqueryContext.attrfilter​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextattrfilter","content":"def bxl.CqueryContext.attrfilter( attr: str, value: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The attrfilter query for rule attribute filtering. "},{"title":"bxl.CqueryContext.attrregexfilter​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextattrregexfilter","content":"def bxl.CqueryContext.attrregexfilter( attribute: str, value: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The attrregexfilter query for rule attribute filtering with regex. Sample usage: def _impl_attrregexfilter(ctx): filtered = ctx.cquery().attrregexfilter("foo", "he.lo", "bin/kind/...") ctx.output.print(filtered) "},{"title":"bxl.CqueryContext.buildfile​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextbuildfile","content":"def bxl.CqueryContext.buildfile( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> file_set Find the build file(s) that defines a target or a target set. Sample usage: def _buildfile_impl(ctx): owner = ctx.cquery().owner(["bin/TARGET", "bin/kind"]) result = ctx.cquery().buildfile(owner) ctx.output.print(result) "},{"title":"bxl.CqueryContext.deps​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextdeps","content":"def bxl.CqueryContext.deps( universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], depth: None | int = None, filter: None | str = None ) -> target_set The deps query for finding the transitive closure of dependencies. Sample usage: def _impl_deps(ctx): result = ctx.cquery().deps("root//bin:the_binary", 1) ctx.output.print(result) "},{"title":"bxl.CqueryContext.eval​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontexteval","content":"def bxl.CqueryContext.eval( query: str, query_args: None | target_set | list[str] = None, target_universe: None | list[str] | tuple[str, ...] = None ) Evaluates some general query string. query_args can be a target_set of unconfigured nodes, or a list of strings. Returns a dict of target labels mapped to their target_set results if query_args was passed in, otherwise returns a single target_set. Sample usage: def _impl_eval(ctx): result1 = ctx.cquery().eval("inputs(root//bin:the_binary)") ctx.output.print(result1) result2 = ctx.cquery().eval("inputs(%s)", query_args = ["cell//path/to/file:target"]) ctx.output.print(result2) "},{"title":"bxl.CqueryContext.filter​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextfilter","content":"def bxl.CqueryContext.filter( regex: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The filter query for filtering targets by name. Sample usage: def _impl_filter(ctx): result = ctx.cquery().filter(".*the_binary", "root//...") ctx.output.print(result) "},{"title":"bxl.CqueryContext.inputs​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextinputs","content":"def bxl.CqueryContext.inputs( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> file_set The inputs query for finding input files. Sample usage: def _impl_inputs(ctx): result = ctx.cquery().inputs("root//bin:the_binary") ctx.output.print(result) "},{"title":"bxl.CqueryContext.kind​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextkind","content":"def bxl.CqueryContext.kind( regex: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The kind query for filtering targets by rule type. Sample usage: def _impl_kind(ctx): kind = ctx.cquery().kind(".*1", "bin/kind/...") ctx.output.print(kind) "},{"title":"bxl.CqueryContext.nattrfilter​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextnattrfilter","content":"def bxl.CqueryContext.nattrfilter( attr: str, value: str, targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The nattrfilter query for rule attribute filtering. It is the opposite of attrfilter, i.e. it filters targets by attribute but excludes those that match. "},{"title":"bxl.CqueryContext.owner​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextowner","content":"def bxl.CqueryContext.owner( files: file_set | str | list[str] | tuple[str, ...], universe: None | bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] = None ) -> target_set The owner query for finding targets that own specified files. Note that if you do not pass in a cell path (where the format is <cell>//path/to/file), the path is resolved against the cell that the BXL script lives in. If you need to evaluate a file path that lives in a different cell, you must pass in the fully qualified cell path. Sample usage: def _owner_impl(ctx): owner = ctx.cquery().owner("bin/TARGETS.fixture", "foo//target/universe/...") ctx.output.print(owner) "},{"title":"bxl.CqueryContext.rdeps​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextrdeps","content":"def bxl.CqueryContext.rdeps( universe: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], depth: int = _ ) -> target_set The rdeps query for finding the transitive closure of reverse dependencies. Sample usage: def _impl_rdeps(ctx): result = ctx.cquery().rdeps("root//bin:the_binary", "//lib:file1", 100) ctx.output.print(result) "},{"title":"bxl.CqueryContext.somepath​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontextsomepath","content":"def bxl.CqueryContext.somepath( from: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label], to: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set "},{"title":"bxl.CqueryContext.testsof​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontexttestsof","content":"def bxl.CqueryContext.testsof( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The testsof query for listing the tests of the specified targets. "},{"title":"bxl.CqueryContext.testsof_with_default_target_platform​","type":1,"pageTitle":"bxl.CqueryContext type","url":"/docs/api/bxl/bxl.CqueryContext/#bxlcquerycontexttestsof_with_default_target_platform","content":"def bxl.CqueryContext.testsof_with_default_target_platform( targets: bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label | target_set | target_set | list[bxl.ConfiguredTargetNode | bxl.UnconfiguredTargetNode | configured_target_label | str | target_label] ) -> target_set The testsof query for listing the tests of the specified targets. Performs default target platform resolution under the hood for the tests found. "},{"title":"bxl.TargetUniverse type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.TargetUniverse/","content":"","keywords":""},{"title":"bxl.TargetUniverse.lookup​","type":1,"pageTitle":"bxl.TargetUniverse type","url":"/docs/api/bxl/bxl.TargetUniverse/#bxltargetuniverselookup","content":"def bxl.TargetUniverse.lookup( targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set Looks up valid configured target nodes within the universe. The targets passed in are either string literals, unconfigured target nodes, or unconfigured target labels. "},{"title":"bxl.TargetUniverse.target_set​","type":1,"pageTitle":"bxl.TargetUniverse type","url":"/docs/api/bxl/bxl.TargetUniverse/#bxltargetuniversetarget_set","content":"def bxl.TargetUniverse.target_set() -> target_set The target set of the nodes used to construct the target universe. "},{"title":"bxl.TargetUniverse.universe_target_set​","type":1,"pageTitle":"bxl.TargetUniverse type","url":"/docs/api/bxl/bxl.TargetUniverse/#bxltargetuniverseuniverse_target_set","content":"def bxl.TargetUniverse.universe_target_set() -> target_set The target set of the entire target universe. "},{"title":"bxl.OutputStream type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.OutputStream/","content":"","keywords":""},{"title":"bxl.OutputStream.ensure​","type":1,"pageTitle":"bxl.OutputStream type","url":"/docs/api/bxl/bxl.OutputStream/#bxloutputstreamensure","content":"def bxl.OutputStream.ensure(artifact: artifact) -> bxl.EnsuredArtifact Marks the artifact as an artifact that should be available to the users at the end of the bxl invocation. Any artifacts that do not get registered via this call is not accessible by users at the end of bxl script. This function returns an ensured_artifact type that can be printed via ctx.output.print()to print its actual path on disk. Sample usage: def _impl_ensure(ctx): actions = ctx.bxl_actions().actions output = actions.write("my_output", "my_content") ensured = ctx.output.ensure(output) ctx.output.print(ensured) "},{"title":"bxl.OutputStream.ensure_multiple​","type":1,"pageTitle":"bxl.OutputStream type","url":"/docs/api/bxl/bxl.OutputStream/#bxloutputstreamensure_multiple","content":"def bxl.OutputStream.ensure_multiple( artifacts: None | artifact | bxl.BuildResult | bxl_built_artifacts_iterable | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[artifact] | dict[typing.Any, bxl.BuildResult] | RunInfo ) Same as ensure, but for multiple artifacts. Will preserve the shape of the inputs (i.e. if the resulting Dict of a ctx.build() is passed in, the output will be a Dict where the key is preserved, and the values are converted to ensured_artifacts). Note that is slower to loop through objects and ensure them one by one than it is to call ensure_multiple()on all the objects at once (if possible). So, it is suggested to use this method when you are only ensuring a few individual artifacts that are not stored in an iterable. Sample usage: def _impl_ensure_multiple(ctx): outputs = {} for target, value in ctx.build(ctx.cli_args.target).items(): outputs.update({target.raw_target(): ctx.output.ensure_multiple(value.artifacts())}) ctx.output.print_json(outputs) "},{"title":"bxl.OutputStream.print​","type":1,"pageTitle":"bxl.OutputStream type","url":"/docs/api/bxl/bxl.OutputStream/#bxloutputstreamprint","content":"def bxl.OutputStream.print(*args, sep: str = " ") -> None Outputs results to the console via stdout. These outputs are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached. Accepts an optional separator that defaults to " ". Prints that are not result of the bxl should be printed via stderr via the stdlib printand pprint. Note that ctx.output.print() is intended for simple outputs. For more complex outputs, the recommendation would be to write them to a file. Sample usage: def _impl_print(ctx): ctx.output.print("test") "},{"title":"bxl.OutputStream.print_json​","type":1,"pageTitle":"bxl.OutputStream type","url":"/docs/api/bxl/bxl.OutputStream/#bxloutputstreamprint_json","content":"def bxl.OutputStream.print_json(value, *, pretty: bool = True) -> None Outputs results to the console via stdout as pretty-printed json. Pretty printing can be turned off by the pretty keyword-only parameter. These outputs are considered to be the results of a bxl script, which will be displayed to stdout by buck2 even when the script is cached. Prints that are not result of the bxl should be printed via stderr via the stdlib printand pprint. Sample usage: def _impl_print_json(ctx): outputs = {} outputs.update({"foo": bar}) ctx.output.print_json("test") "},{"title":"globals","type":0,"sectionRef":"#","url":"/docs/api/build/globals/","content":"","keywords":""},{"title":"ActionErrorCtx​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#actionerrorctx","content":"ActionErrorCtx: type "},{"title":"ActionErrorLocation​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#actionerrorlocation","content":"ActionErrorLocation: type "},{"title":"ActionSubError​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#actionsuberror","content":"ActionSubError: type "},{"title":"AnalysisActions​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#analysisactions","content":"AnalysisActions: type "},{"title":"AnalysisContext​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#analysiscontext","content":"AnalysisContext: type "},{"title":"AnonTarget​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#anontarget","content":"AnonTarget: type "},{"title":"AnonTargets​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#anontargets","content":"AnonTargets: type "},{"title":"Artifact​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#artifact","content":"Artifact: type "},{"title":"ArtifactTag​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#artifacttag","content":"ArtifactTag: type "},{"title":"ArtifactValue​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#artifactvalue","content":"ArtifactValue: type "},{"title":"Attr​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#attr","content":"Attr: type "},{"title":"CellPath​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#cellpath","content":"CellPath: type "},{"title":"CellRoot​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#cellroot","content":"CellRoot: type "},{"title":"CommandExecutorConfig​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#commandexecutorconfig","content":"def CommandExecutorConfig( *, local_enabled: bool, remote_enabled: bool, remote_cache_enabled: None | bool = None, remote_dep_file_cache_enabled: bool = False, remote_execution_properties = None, remote_execution_action_key = None, remote_execution_max_input_files_mebibytes: None | int = None, remote_execution_queue_time_threshold_s: None | int = None, remote_execution_use_case = None, use_limited_hybrid: bool = False, allow_limited_hybrid_fallbacks: bool = False, allow_hybrid_fallbacks_on_failure: bool = False, use_windows_path_separators: bool = False, use_persistent_workers: bool = False, allow_cache_uploads: bool = False, max_cache_upload_mebibytes: None | int = None, experimental_low_pass_filter: bool = False, remote_output_paths: None | str = None, remote_execution_resource_units: None | int = None, remote_execution_dependencies: list[dict[str, str]] = [] ) -> command_executor_config Contains configurations for how actions should be executed .type attribute​ Produces "command_executor_config" Details​ local_enabled : Whether to use local execution for this execution platform. If both remote_enabled and local_enabled are True, we will use the hybrid executorremote_enabled: Whether to use remote execution for this execution platformremote_cache_enabled: Whether to query RE cachesremote_execution_properties: Properties for remote execution for this platformremote_execution_action_key: A component to inject into the action key This should typically used to inject variability into the action key so that it's different across e.g. build modes (RE uses the action key for things like expected memory utilization)remote_execution_max_input_files_mebibytes: The maximum input file size (in bytes) that remote execution can supportremote_execution_queue_time_threshold_s: The maximum time in seconds we are willing to wait in the RE queue for remote execution to start running our actionremote_execution_use_case: The use case to use when communicating with REuse_limited_hybrid: Whether to use the limited hybrid executorallow_limited_hybrid_fallbacks: Whether to allow fallbacksallow_hybrid_fallbacks_on_failure: Whether to allow fallbacks when the result is failure (i.e. the command failed on the primary, but the infra worked)use_windows_path_separators: Whether to use Windows path separators in command line argumentsuse_persistent workers: Whether to use persistent workers for local execution if they are availableallow_cache_uploads: Whether to upload local actions to the RE cachemax_cache_upload_mebibytes: Maximum size to upload in cache uploadsexperimental_low_pass_filter: Whether to use the experimental low pass filterremote_output_paths: How to express output paths to REremote_execution_resource_units: The resources (eg. GPUs) to use for remote executionremote_execution_dependencies: Dependencies for remote execution for this platform "},{"title":"ConfigurationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#configurationinfo","content":"def ConfigurationInfo( *, constraints: dict[target_label, ConstraintValueInfo], values: dict[str, str] ) -> ConfigurationInfo Provider that signals that a rule contains configuration info. This is used both as part of defining configurations (platform(), constraint_value()) and defining whether a target "matches" a configuration or not (config_setting(), constraint_value()) .type attribute​ Produces "ConfigurationInfo" Details​ Provides a number of fields that can be accessed: constraints: dict[target_label, ConstraintValueInfo] - field values: dict[str, str] - field "},{"title":"ConfiguredProvidersLabel​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#configuredproviderslabel","content":"ConfiguredProvidersLabel: type "},{"title":"ConfiguredTargetLabel​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#configuredtargetlabel","content":"ConfiguredTargetLabel: type "},{"title":"ConstraintSettingInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#constraintsettinginfo","content":"def ConstraintSettingInfo(*, label: target_label) -> ConstraintSettingInfo Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_setting() target. .type attribute​ Produces "ConstraintSettingInfo" Details​ Provides a number of fields that can be accessed: label: target_label - field "},{"title":"ConstraintValueInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#constraintvalueinfo","content":"def ConstraintValueInfo( *, setting: ConstraintSettingInfo, label: target_label ) -> ConstraintValueInfo Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_value() target. .type attribute​ Produces "ConstraintValueInfo" Details​ Provides a number of fields that can be accessed: setting: ConstraintSettingInfo - field label: target_label - field "},{"title":"DefaultInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#defaultinfo","content":"def DefaultInfo( default_output: None | artifact = None, default_outputs: None | list[artifact] = None, other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _, sub_targets: dict[str, typing.Any] = _ ) -> DefaultInfo A provider that all rules' implementations must return .type attribute​ Produces "DefaultInfo" Details​ In many simple cases, this can be inferred for the user. Example of a rule's implementation function and how these fields are used by the framework: # //foo_binary.bzl def impl(ctx): ctx.action.run([ctx.attrs._cc[RunInfo], "-o", ctx.attrs.out.as_output()] + ctx.attrs.srcs) ctx.action.run([ ctx.attrs._strip[RunInfo], "--binary", ctx.attrs.out, "--stripped-out", ctx.attrs.stripped.as_output(), "--debug-symbols-out", ctx.attrs.debug_info.as_output(), ]) return [ DefaultInfo( sub_targets = { "stripped": [ DefaultInfo(default_outputs = [ctx.attrs.stripped, ctx.attrs.debug_info]), ], }, default_output = ctx.attrs.out, ] foo_binary = rule( impl=impl, attrs={ "srcs": attrs.list(attrs.source()), "out": attrs.output(), "stripped": attrs.output(), "debug_info": attrs.output(), "_cc": attrs.dep(default="//tools:cc", providers=[RunInfo]), "_strip_script": attrs.dep(default="//tools:strip", providers=[RunInfo]) ) def foo_binary_wrapper(name, srcs): foo_binary( name = name, srcs = src, out = name, stripped = name + ".stripped", debug_info = name + ".debug_info", ) # //subdir/BUCK load("//:foo_binary.bzl", "foo_binary_wrapper") genrule(name = "gen_stuff", ...., default_outs = ["foo.cpp"]) # ":gen_stuff" pulls the default_outputs for //subdir:gen_stuff foo_binary_wrapper(name = "foo", srcs = glob(["*.cpp"]) + [":gen_stuff"]) # Builds just 'foo' binary. The strip command is never invoked. $ buck build //subdir:foo # builds the 'foo' binary, because it is needed by the 'strip' command. Ensures that # both the stripped binary and the debug symbols are built. $ buck build //subdir:foo[stripped] Provides a number of fields that can be accessed: sub_targets: dict[str, provider_collection] - A mapping of names to ProviderCollections. The keys are used when resolving the ProviderName portion of a ProvidersLabel in order to access the providers for a subtarget, such as when doing buck2 build cell//foo:bar[baz]. Just like any ProviderCollection, this collection must include at least a DefaultInfo provider. The subtargets can have their own subtargets as well, which can be accessed by chaining them, e.g.: buck2 build cell//foo:bar[baz][qux]. default_outputs: list[artifact] - A list of Artifacts that are built by default if this rule is requested explicitly, or depended on as as a "source". other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] - A list of ArtifactTraversable. The underlying Artifacts they define will be built by default if this rule is requested, but not when it's depended on as as a "source". ArtifactTraversable can be an Artifact (which yields itself), or cmd_args, which expand to all their inputs. "},{"title":"Dependency​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#dependency","content":"Dependency: type "},{"title":"DynamicActions​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#dynamicactions","content":"DynamicActions: type "},{"title":"DynamicActionsCallable​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#dynamicactionscallable","content":"DynamicActionsCallable: type "},{"title":"ExecutionPlatformInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#executionplatforminfo","content":"def ExecutionPlatformInfo( *, label: target_label, configuration: ConfigurationInfo, executor_config: command_executor_config ) -> ExecutionPlatformInfo Provider that signals that a target represents an execution platform. Provides a number of fields that can be accessed: label: target_label - label of the defining rule, used in informative messages configuration: ConfigurationInfo - The configuration of the execution platform executor_config: command_executor_config - The executor config "},{"title":"ExecutionPlatformRegistrationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#executionplatformregistrationinfo","content":"def ExecutionPlatformRegistrationInfo( *, platforms: list[ExecutionPlatformInfo], fallback = None ) -> ExecutionPlatformRegistrationInfo Provider that gives the list of all execution platforms available for this build. Provides a number of fields that can be accessed: platforms: list[ExecutionPlatformInfo] - field fallback: typing.Any - field "},{"title":"ExternalRunnerTestInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#externalrunnertestinfo","content":"def ExternalRunnerTestInfo( type, command = None, env = None, labels = None, contacts = None, use_project_relative_paths = None, run_from_project_root = None, default_executor = None, executor_overrides = None, local_resources = None, worker = None ) -> ExternalRunnerTestInfo Provider that signals that a rule can be tested using an external runner. This is the Buck1-compatible API for tests. .type attribute​ Produces "ExternalRunnerTestInfo" Details​ Provides a number of fields that can be accessed: test_type: str - A Starlark value representing the type of this test. command: list[typing.Any] - A Starlark value representing the command for this test. The external test runner is what gives meaning to this command. env: dict[str, typing.Any] - A Starlark value representing the environment for this test. Here again, the external test runner is what will this meaning. This is of type dict[str, ArgLike]. labels: list[str] - A starlark value representing the labels for this test. contacts: list[str] - A starlark value representing the contacts for this test. This is largely expected to be an oncall, though it's not validated in any way. use_project_relative_paths: bool - Whether this test should use relative paths run_from_project_root: bool - Whether this test should run from the project root, as opposed to the cell rootDefaults to True. default_executor: command_executor_config - Default executor to use to run tests. If none is passed we will default to the execution platform. executor_overrides: dict[str, command_executor_config] - Executors that Tpx can use to override the default executor. local_resources: dict[str, None | label] - Mapping from a local resource type to a target with a corresponding provider. Required types are passed from test runner. If the value for a corresponding type is omitted it means local resource should be ignored when executing tests even if those are passed as required from test runner. worker: WorkerInfo - Configuration needed to spawn a new worker. This worker will be used to run every single command related to test execution, including listing. "},{"title":"InstallInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#installinfo","content":"def InstallInfo(installer: label, files: dict[str, artifact]) -> InstallInfo A provider that can be constructed and have its fields accessed. Returned by rules. Provides a number of fields that can be accessed: installer: label - field files: dict[str, artifact] - field "},{"title":"Label​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#label","content":"Label: type "},{"title":"LocalResourceInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#localresourceinfo","content":"def LocalResourceInfo( *, setup: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, resource_env_vars: dict[str, str], setup_timeout_seconds: None | float | int = None ) -> LocalResourceInfo A provider that can be constructed and have its fields accessed. Returned by rules. .type attribute​ Produces "LocalResourceInfo" Details​ Provides a number of fields that can be accessed: setup: cmd_args - Command to run to initialize a local resource. Running this command writes a JSON to stdout. This JSON represents a pool of local resources which are ready to be used. Example JSON would be: { "pid": 42, "resources": [ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ] } Where '"pid"maps to a PID of a process which should be sent SIGTERM to release the pool of resources when they are no longer needed."resources"maps to the pool of resources. When a local resource from this particular pool is needed for an execution command, single entity will be reserved from the pool, for example{"socket_address": "bar:2"}and environment variable with name resolved using mapping inresource_env_varsfield and"socket_address"` key will be added to execution command. resource_env_vars: dict[str, str] - Mapping from environment variable (appended to an execution command which is dependent on this local resource) to keys in setup command JSON output. setup_timeout_seconds: None | float | int - Timeout in seconds for setup command. "},{"title":"OutputArtifact​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#outputartifact","content":"OutputArtifact: type "},{"title":"PlatformInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#platforminfo","content":"def PlatformInfo( *, label: str, configuration: ConfigurationInfo ) -> PlatformInfo A provider that can be constructed and have its fields accessed. Returned by rules. .type attribute​ Produces "PlatformInfo" Details​ Provides a number of fields that can be accessed: label: str - field configuration: ConfigurationInfo - field "},{"title":"ProjectRoot​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#projectroot","content":"ProjectRoot: type "},{"title":"Promise​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#promise","content":"Promise: type "},{"title":"Provider​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#provider","content":"Provider: type "},{"title":"ProviderCollection​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#providercollection","content":"ProviderCollection: type "},{"title":"ProvidersLabel​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#providerslabel","content":"ProvidersLabel: type "},{"title":"ResolvedStringWithMacros​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#resolvedstringwithmacros","content":"ResolvedStringWithMacros: type "},{"title":"RunInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#runinfo","content":"def RunInfo( args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _ ) -> RunInfo Provider that signals that a rule is runnable .type attribute​ Produces "RunInfo" Details​ Provides a number of fields that can be accessed: args: cmd_args - The command to run, stored as CommandLine "},{"title":"Select​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#select","content":"Select: type "},{"title":"TargetLabel​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#targetlabel","content":"TargetLabel: type "},{"title":"TemplatePlaceholderInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#templateplaceholderinfo","content":"def TemplatePlaceholderInfo( unkeyed_variables = {}, keyed_variables = {} ) -> TemplatePlaceholderInfo A provider that is used for expansions in string attribute templates .type attribute​ Produces "TemplatePlaceholderInfo" Details​ String attribute templates allow two types of user-defined placeholders, "unkeyed placeholders" like $(CXX) or $(aapt) and "keyed placeholders" that include a target key like$(cxxppflags //some:target). The expansion of each of these types is based on theTemplatePlaceholderInfo providers. "keyed placeholders" are used for the form $(<key> <target>) or $(<key> <target> <arg>). In both cases the lookup will expect a TemplatePlaceholderInfo in the providers of <target>. It will then lookup<key> in the keyed_variables (call this the value). There are then four valid possibilities: no-arg placeholder, an arg-like value: resolve to valueno-arg placeholder, a dictionary value: resolve to value["DEFAULT"]arg placeholder, a non-dictionary value: this is an errorarg placeholder, a dictionary value: resolve to value[<arg>] "unkeyed placeholders" are resolved by matching to any of the deps of the target. $(CXX) will resolve to the "CXX" value in any dep's TemplateProviderInfo.unkeyed_variables Fields: unkeyed_variables: A mapping of names to arg-like values. These are used for "unkeyed placeholder" expansion.keyed_variables: A mapping of names to arg-like values or dictionary of string to arg-like values. These are used for "keyed placeholder" expansion. Provides a number of fields that can be accessed: unkeyed_variables: dict[str, typing.Any] - field keyed_variables: dict[str, typing.Any] - field "},{"title":"TransitiveSet​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitiveset","content":"TransitiveSet: type "},{"title":"TransitiveSetArgsProjection​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitivesetargsprojection","content":"TransitiveSetArgsProjection: type "},{"title":"TransitiveSetArgsProjectionIterator​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitivesetargsprojectioniterator","content":"TransitiveSetArgsProjectionIterator: type "},{"title":"TransitiveSetDefinition​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitivesetdefinition","content":"TransitiveSetDefinition: type "},{"title":"TransitiveSetIterator​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitivesetiterator","content":"TransitiveSetIterator: type "},{"title":"TransitiveSetJsonProjection​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitivesetjsonprojection","content":"TransitiveSetJsonProjection: type "},{"title":"ValidationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#validationinfo","content":"def ValidationInfo(*, validations: list[ValidationSpec]) -> ValidationInfo Provider describing how a given target node should be validated. Validations are run when target with ValidationInfo provider is a transitive dependency of a requested target. .type attribute​ Produces "ValidationInfo" Details​ Provides a number of fields that can be accessed: validations: list[ValidationSpec] - List of ValidationSpec values each representing a single validation. "},{"title":"ValidationSpec​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#validationspec","content":"def ValidationSpec( *, name: str, validation_result: artifact, optional: bool = False ) -> ValidationSpec .type attribute​ Produces "ValidationSpec" "},{"title":"WorkerInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#workerinfo","content":"def WorkerInfo(exe = [], *, concurrency: None | int = None) -> WorkerInfo Provider that signals that a rule is a worker tool .type attribute​ Produces "WorkerInfo" Details​ Provides a number of fields that can be accessed: exe: cmd_args - field concurrency: None | int - field "},{"title":"WorkerRunInfo​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#workerruninfo","content":"def WorkerRunInfo(*, worker: WorkerInfo, exe = []) -> WorkerRunInfo Provider that signals that a rule can run using a worker .type attribute​ Produces "WorkerRunInfo" Details​ Provides a number of fields that can be accessed: worker: WorkerInfo - field exe: cmd_args - field "},{"title":"anon_rule​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#anon_rule","content":"def anon_rule( *, impl: typing.Callable[[typing.Any], list[typing.Any]], attrs: dict[str, attribute], doc: str = "", artifact_promise_mappings: dict[str, typing.Callable[[typing.Any], list[typing.Any]]] ) -> "function" Define an anon rule, similar to how a normal rule is defined, except with an extra artifact_promise_mappings field. This is a dict where the keys are the string name of the artifact, and the values are the callable functions that produce the artifact. This is only intended to be used with anon targets. "},{"title":"attrs​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#attrs","content":"attrs: attrs "},{"title":"bxl​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#bxl","content":"bxl: struct(ActionQueryNode = type, Actions = type, AnalysisResult = type, AqueryContext = type, AuditContext = type, BuildResult = type, CliArgs = type, ConfiguredTargetNode = type, ConfiguredTargetSet = type, Context = type, CqueryContext = type, EnsuredArtifact = type, FileNode = type, Filesystem = type, LazyResolvedAttrs = type, OutputStream = type, TargetUniverse = type, UnconfiguredTargetNode = type, UnconfiguredTargetSet = type, UqueryContext = type, cli_args = struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function"), ctarget_set = "function", fail_no_stacktrace = "function", file_set = "function", get_path_without_materialization = "function", get_paths_without_materialization = "function", now = "function", utarget_set = "function") "},{"title":"bxl_main​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#bxl_main","content":"def bxl_main( *, impl: typing.Callable, cli_args: dict[str, bxl.CliArgs], doc: str = "" ) "},{"title":"cli_args​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#cli_args","content":"cli_args: struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function") "},{"title":"cmd_args​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#cmd_args","content":"def cmd_args( *args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, hidden: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _, delimiter: str = _, format: str = _, prepend: str = _, quote: str = _, ignore_artifacts: bool = False, absolute_prefix: str = _, absolute_suffix: str = _, parent: int = 0, relative_to: artifact | cell_root | project_root | (artifact | cell_root | project_root, int) = _, replace_regex: list[(buck_regex | str, str)] | (buck_regex | str, str) = _ ) -> cmd_args The cmd_args type is created by this function and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value. .type attribute​ Produces "cmd_args" Details​ The arguments are: *args - a list of things to add to the command line, each of which must be coercible to a command line. Further items can be added with cmd.add.format - a string that provides a format to apply to the argument. for example, cmd_args(x, format="--args={}") would prepend --args= before x, or if x was a list, before each element in x.delimiter - added between arguments to join them together. For example, cmd_args(["--args=",x], delimiter="") would produce a single argument to the underlying tool.prepend - added as a separate argument before each argument.quote - indicates whether quoting is to be applied to each argument. The only current valid value is "shell".ignore_artifacts - if True, artifacts paths are used, but artifacts are not pulled.hidden - artifacts not present on the command line, but added as dependencies.absolute_prefix and absolute_suffix - added to the start and end of each artifact.parent - for all the artifacts use their parentth directory (e.g. parent = 1 for the directory the artifact is located, parent = 2 for that directory's parent, etc.).relative_to - make all artifact paths relative to a given location.replace_regex - replaces arguments with a regular expression. "},{"title":"ignore_artifacts​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#ignore_artifacts","content":"ignore_artifacts=True makes cmd_args to have no declared dependencies. Allows you to reference the path of an artifact without introducing dependencies on it. As an example where this can be useful, consider passing a dependency that is only accessed at runtime, but whose path must be baked into the binary. As an example: resources = cmd_args(resource_file, format = "-DFOO={}").ignore_artifacts() ctx.actions.run(cmd_args("gcc", "-c", source_file, resources)) Note that ignore_artifacts sets all artifacts referenced by this cmd_args to be ignored, including those added afterwards, so generally create a special cmd_args and scope it quite tightly. If you actually do use the inputs referenced by this command, you will either error out due to missing dependencies (if running actions remotely) or have untracked dependencies that will fail to rebuild when it should. "},{"title":"hidden​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#hidden","content":"Things to add to the command line which do not show up but are added as dependencies. The values can be anything normally permissible to pass to add. Typically used if the command you are running implicitly depends on files that are not passed on the command line, e.g. headers in the case of a C compilation. "},{"title":"absolute_prefix and absolute_suffix​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#absolute_prefix-and-absolute_suffix","content":"Adds a prefix to the start or end of every artifact. Prefix is often used if you have a $ROOT variable in a shell script and want to use it to make files absolute. Suffix is often used in conjunction with absolute_prefixto wrap artifacts in function calls. cmd_args(script, absolute_prefix = "$ROOT/") cmd_args(script, absolute_prefix = "call", absolute_suffix = ")") `parent ` For all the artifacts use their parent directory. Typically used when the file name is passed one way, and the directory another, e.g. cmd_args(artifact, format="-L{}", parent=1). relative_to=dir or relative_to=(dir, parent) Make all artifact paths relative to a given location. Typically used when the command you are running changes directory. By default, the paths are relative to the artifacts themselves (equivalent to parent equals to 0). Use parent to make the paths relative to an ancestor directory. For example parent equals to 1 would make all paths relative to the containing dirs of any artifacts in the cmd_args. dir = symlinked_dir(...) script = [ cmd_args(dir, format = "cd {}", relative_to=dir), ] replace_regex Replaces all parts matching pattern regular expression (or regular expressions) in each argument with replacement strings. "},{"title":"ctarget_set​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#ctarget_set","content":"def ctarget_set(nodes: list[bxl.ConfiguredTargetNode] = _) -> target_set Creates a target set from a list of configured nodes. Sample usage: def _impl_ctarget_set(ctx): targets = bxl.ctarget_set([cnode_a, cnode_b]) ctx.output.print(type(targets)) ctx.output.print(len(targets)) "},{"title":"dedupe​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#dedupe","content":"def dedupe(val, /) Remove duplicates in a list. Uses identity of value (pointer), rather than by equality. In many cases you should use a transitive set instead. "},{"title":"dynamic_actions​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#dynamic_actions","content":"def dynamic_actions( *, impl: typing.Callable["actions: actions, artifacts: dict[artifact, artifact_value], outputs: dict[artifact, artifact], arg: typing.Any", None] ) -> DynamicActionCallable Create new dynamic action callable. Returned object will be callable, and the result of calling it can be passed to ctx.actions.dynamic_output_new. "},{"title":"fail_no_stacktrace​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#fail_no_stacktrace","content":"def fail_no_stacktrace(*args) -> None "},{"title":"file_set​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#file_set","content":"def file_set() -> file_set Creates an empty file set for configured nodes. Sample usage: def _impl_file_set(ctx): files = file_set() ctx.output.print(type(files)) ctx.output.print(len(files)) "},{"title":"get_base_path​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#get_base_path","content":"def get_base_path() -> str get_base_path() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar. This function is identical to package_name. "},{"title":"get_cell_name​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#get_cell_name","content":"def get_cell_name() -> str get_cell_name() can be called from either a BUCK file or a .bzl file, and returns the name of the cell where the BUCK file that started the call lives. For example, inside foo//bar/baz/BUCK the output will be foo. If that BUCK file does a load("hello//world.bzl", "something") then the result in that .bzl file will also be foo. "},{"title":"get_path_without_materialization​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#get_path_without_materialization","content":"def get_path_without_materialization( this: artifact, ctx: bxl.Context, /, *, abs: bool = False ) -> str The output path of an artifact-like (source, build, declared). Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized (i.e. it may not actually exist on the disk yet). This is a risky function to call because you may accidentally pass this path to further BXL actions that expect the artifact to be materialized. If this happens, the BXL script will error out. If you want the path without materialization for other uses that don’t involve passing them into further actions, then it’s safe. Sample usage: def _impl_get_path_without_materialization(ctx): owner = ctx.cquery().owner("cell//path/to/file")[0] artifact = owner.get_source("cell//path/to/file", ctx) source_artifact_project_rel_path = get_path_without_materialization(artifact, ctx) ctx.output.print(source_artifact_project_rel_path) # Note this artifact is NOT ensured or materialized "},{"title":"get_paths_without_materialization​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#get_paths_without_materialization","content":"def get_paths_without_materialization( cmd_line: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo, ctx: bxl.Context, /, *, abs: bool = False ) The output paths of a cmd_args() inputs. The output paths will be returned as a list. Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized, (i.e. it may not actually exist on the disk yet). This is a risky function to call because you may accidentally pass this path to further BXL actions that expect the artifact to be materialized. If this happens, the BXL script will error out. If you want the path without materialization for other uses that don’t involve passing them into further actions, then it’s safe. Sample usage: def _impl_get_paths_without_materialization(ctx): node = ctx.configured_targets("root//bin:the_binary") providers = ctx.analysis(node).providers() path = get_paths_without_materialization(providers[RunInfo], abs=True) # Note this artifact is NOT ensured or materialized ctx.output.print(path) "},{"title":"glob​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#glob","content":"def glob( include: list[str] | tuple[str, ...], *, exclude: list[str] | tuple[str, ...] = [] ) -> list[str] The glob() function specifies a set of files using patterns. Only available from BUCK files. A typical glob call looks like: glob(["foo/**/*.h"]) This call will match all header files in the foo directory, recursively. You can also pass a named exclude parameter to remove files matching a pattern: glob(["foo/**/*.h"], exclude = ["**/config.h"]) This call will remove all config.h files from the initial match. The glob() call is evaluated against the list of files owned by this BUCK file. A file is owned by whichever BUCK file is closest above it - so given foo/BUCK andfoo/bar/BUCK the file foo/file.txt would be owned by foo/BUCK (and available from its glob results) but the file foo/bar/file.txt would be owned by foo/bar/BUCkand not appear in the glob result of foo/BUCK, even if you write glob(["bar/file.txt"]). As a consequence of this rule, glob(["../foo.txt"]) will always return an empty list of files. Currently glob is evaluated case-insensitively on all file systems, but we expect that to change to case sensitive in the near future. "},{"title":"host_info​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#host_info","content":"def host_info() -> struct(..) The host_info() function is used to get the current OS and processor architecture on the host. The structure returned is laid out thusly: struct( os=struct( is_linux=True|False, is_macos=True|False, is_windows=True|False, is_freebsd=True|False, is_unknown=True|False, ), arch=struct( is_aarch64=True|False, is_arm=True|False, is_armeb=True|False, is_i386=True|False, is_mips=True|False, is_mips64=True|False, is_mipsel=True|False, is_mipsel64=True|False, is_powerpc=True|False, is_ppc64=True|False, is_x86_64=True|False, is_unknown=True|False, ), ) "},{"title":"implicit_package_symbol​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#implicit_package_symbol","content":"def implicit_package_symbol(name: str, default = _) "},{"title":"load_symbols​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#load_symbols","content":"def load_symbols(symbols: dict[str, typing.Any]) -> None Used in a .bzl file to set exported symbols. In most cases just defining the symbol as a top-level binding is sufficient, but sometimes the names might be programatically generated. It is undefined behaviour if you try and use any of the symbols exported here later in the same module, or if they overlap with existing definitions. This function should be used rarely. "},{"title":"now​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#now","content":"def now() -> instant Creates an Instant at the current time. Sample usage: def _impl_elapsed_millis(ctx): instant = now() time_a = instant.elapsed_millis() # do something that takes a long time time_b = instant.elapsed_millis() ctx.output.print(time_a) ctx.output.print(time_b) This function is only accessible through Bxl. "},{"title":"oncall​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#oncall","content":"def oncall(name: str, /) -> None Called in a BUCK file to declare the oncall contact details for all the targets defined. Must be called at most once, before any targets have been declared. Errors if called from a .bzl file. "},{"title":"package​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#package","content":"def package( *, inherit: bool = False, visibility: list[str] | tuple[str, ...] = [], within_view: list[str] | tuple[str, ...] = [] ) -> None "},{"title":"package_name​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#package_name","content":"def package_name() -> str package_name() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar. "},{"title":"plugins​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#plugins","content":"plugins: plugins "},{"title":"provider​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#provider-1","content":"def provider( *, doc: str = "", fields: list[str] | tuple[str, ...] | dict[str, typing.Any] ) -> provider_callable Create a "provider" type that can be returned from rule implementations. Used to pass information from a rule to the things that depend on it. Typically named with an Info suffix. GroovyLibraryInfo(fields = [ "objects", # a list of artifacts "options", # a string containing compiler options ]) Given a dependency you can obtain the provider with my_dep[GroovyLibraryInfo]which returns either None or a value of type GroovyLibraryInfo. For providers that accumulate upwards a transitive set is often a good choice. "},{"title":"provider_field​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#provider_field","content":"def provider_field( ty, /, *, default = _ ) -> ProviderField Create a field definition object which can be passed to provider type constructor. "},{"title":"read_config​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#read_config","content":"def read_config(section: str, key: str, default = _) Read a configuration from the nearest enclosing .buckconfig of the BUCK file that started evaluation of this code. As an example, if you have a .buckconfig of: [package_options] compile = super_fast Then you would get the following results: read_config("package_options", "compile") == "super_fast" read_config("package_options", "linker") == None read_config("package_options", "linker", "a_default") == "a_default" In general the use of .buckconfig is discouraged in favour of select, but it can still be useful. "},{"title":"read_oncall​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#read_oncall","content":"def read_oncall() -> None | str Called in a BUCK file to retrieve the previously set oncall, or None if none has been set. It is an error to call oncall after calling this function. "},{"title":"read_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#read_package_value","content":"def read_package_value(key: str, /) Read value specified in the PACKAGE file. Returns None if value is not set. "},{"title":"read_parent_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#read_parent_package_value","content":"def read_parent_package_value(key: str, /) Read a package value defined in a parent PACKAGE file. This function can only be called in a Package context. Returns None if value is not set. "},{"title":"read_root_config​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#read_root_config","content":"def read_root_config( section: str, key: str, default: None | str = None, / ) -> None | str Like read_config but the project root .buckconfig is always consulted, regardless of the cell of the originating BUCK file. "},{"title":"regex​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#regex","content":"def regex( regex: str, /, *, fancy: bool = False ) -> buck_regex .type attribute​ Produces "buck_regex" "},{"title":"regex_match​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#regex_match","content":"def regex_match(regex: str, str: str, /) -> bool Test if a regular expression matches a string. Fails if the regular expression is malformed. As an example: regex_match("^[a-z]*$", "hello") == True regex_match("^[a-z]*$", "1234") == False "},{"title":"repository_name​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#repository_name","content":"def repository_name() -> str Like get_cell_name() but prepends a leading @ for compatibility with Buck1. You should call get_cell_name() instead, and if you really want the @, prepend it yourself. "},{"title":"rule​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#rule","content":"def rule( *, impl: typing.Callable[[typing.Any], list[typing.Any]], attrs: dict[str, attribute], cfg = _, doc: str = "", is_configuration_rule: bool = False, is_toolchain_rule: bool = False, uses_plugins: list[typing.Any] | tuple = [] ) -> "function" Define a rule. As a simple example: def _my_rule(ctx: AnalysisContext) -> list[Provider]: output = ctx.actions.write("hello.txt", ctx.attrs.contents, executable = ctx.attrs.exe) return [DefaultInfo(outputs = [output])] MyRule = rule(impl = _my_rule, attrs = { "contents": attrs.string(), "exe": attrs.option(attrs.bool(), default = False), }) "},{"title":"rule_exists​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#rule_exists","content":"def rule_exists(name: str) -> bool Check if the target with name has already been defined, returns True if it has. Note that this function checks for the existence of a target rather than a rule. In general use of this function is discouraged, as it makes definitions of rules not compose. "},{"title":"select​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#select-1","content":"def select(d, /) -> selector "},{"title":"select_equal_internal​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#select_equal_internal","content":"def select_equal_internal(left, right, /) -> bool Tests that two selects are equal to each other. For testing use only. We simply compare their string representations. "},{"title":"select_map​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#select_map","content":"def select_map(d, func, /) Maps a selector. Each value within a selector map and on each side of an addition will be passed to the mapping function. The returned selector will have the same structure as this one. Ex: def increment_items(a): return [v + 1 for v in a] select_map([1, 2] + select({"c": [2]}), increment_items) == [2, 3] + select({"c": [3]}) "},{"title":"select_test​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#select_test","content":"def select_test(d, func, /) -> bool Test values in the select expression using the given function. Returns True, if any value in the select passes, else False. Ex: select_test([1] + select({"c": [1]}), lambda a: len(a) > 1) == False select_test([1, 2] + select({"c": [1]}), lambda a: len(a) > 1) == True select_test([1] + select({"c": [1, 2]}), lambda a: len(a) > 1) == True "},{"title":"set_cfg_constructor​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#set_cfg_constructor","content":"def set_cfg_constructor( *, stage0, stage1, key: str, aliases = None ) -> None Register global cfg constructor. This function can only be called from the repository root PACKAGE file. Parameters: stage0: The first cfg constructor that will be invoked before configuration rules are analyzed. stage1: The second cfg constructor that will be invoked after configuration rules are analyzed. key: The key for cfg modifiers on PACKAGE values and metadata. "},{"title":"set_starlark_peak_allocated_byte_limit​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#set_starlark_peak_allocated_byte_limit","content":"def set_starlark_peak_allocated_byte_limit(value: int, /) -> None Set the peak allocated bytes during evaluation of build ctx. Err if it has already been set "},{"title":"sha256​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#sha256","content":"def sha256(val: str, /) -> str Computes a sha256 digest for a string. Returns the hex representation of the digest. sha256("Buck2 is the best build system") == "bb99a3f19ecba6c4d2c7cd321b63b669684c713881baae21a6b1d759b3ec6ac9" "},{"title":"soft_error​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#soft_error","content":"def soft_error( category: str, message: str, /, *, quiet: bool = _, stack: bool = _ ) -> None Produce an error that will become a hard error at some point in the future, but for now is a warning which is logged to the server. In the open source version of Buck2 this function always results in an error. Called passing a stable key (must be snake_case and start with starlark_, used for consistent reporting) and an arbitrary message (used for debugging). As an example: soft_error( "starlark_rule_is_too_long", "Length of property exceeds 100 characters in " + repr(ctx.label), ) "},{"title":"transition​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transition","content":"def transition( *, impl: typing.Callable, refs: dict[str, str], attrs: list[str] | tuple[str, ...] = _, split: bool = False ) -> transition "},{"title":"transitive_set​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#transitive_set","content":"def transitive_set( *, args_projections: dict[str, typing.Any] = _, json_projections: dict[str, typing.Any] = _, reductions: dict[str, typing.Any] = _ ) -> transitive_set_definition "},{"title":"utarget_set​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#utarget_set","content":"def utarget_set(nodes: list[bxl.UnconfiguredTargetNode] = _) -> target_set Creates a target set from a list of unconfigured nodes. Sample usage: def _impl_utarget_set(ctx): targets = bxl.utarget_set([unode_a, unode_b]) ctx.output.print(type(targets)) ctx.output.print(len(targets)) "},{"title":"warning​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#warning","content":"def warning(x: str, /) -> None Print a warning. The line will be decorated with the timestamp and other details, including the word WARN (colored, if the console supports it). If you are not writing a warning, use print instead. Be aware that printing lots of output (warnings or not) can be cause all information to be ignored by the user. "},{"title":"write_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/build/globals/#write_package_value","content":"def write_package_value( key: str, value, /, *, overwrite: bool = False ) -> None Set the value to be accessible in the nested PACKAGE files. If any parent PACKAGE value has already set the same key, it will raise an error unless you pass overwrite = True, in which case it will replace the parent value. "},{"title":"cmd_args type","type":0,"sectionRef":"#","url":"/docs/api/bxl/cmd_args/","content":"","keywords":""},{"title":"cmd_args.add​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/bxl/cmd_args/#cmd_argsadd","content":"def cmd_args.add(*args) -> cmd_args A list of arguments to be added to the command line, which may including cmd_args, artifacts, strings, RunInfo or lists thereof. Note that this operation mutates the input cmd_args. "},{"title":"cmd_args.copy​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/bxl/cmd_args/#cmd_argscopy","content":"def cmd_args.copy() -> cmd_args Returns a copy of the cmd_args such that any modifications to the original or the returned value will not impact each other. Note that this is a shallow copy, so any inner cmd_args can still be modified. "},{"title":"cmd_args.inputs​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/bxl/cmd_args/#cmd_argsinputs","content":"cmd_args.inputs: command_line_inputs Collect all the inputs (including hidden) referenced by this command line. The output can be compared for equality and have its len requested to see whether there are any inputs, but is otherwise mostly opaque. "},{"title":"cmd_args.outputs​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/bxl/cmd_args/#cmd_argsoutputs","content":"cmd_args.outputs: list[output_artifact] Collect all the outputs (including hidden) referenced by this command line. "},{"title":"cmd_args.relative_to​","type":1,"pageTitle":"cmd_args type","url":"/docs/api/bxl/cmd_args/#cmd_argsrelative_to","content":"def cmd_args.relative_to( directory: artifact | cell_root | project_root, /, *, parent: int = _ ) -> cmd_args Make all artifact paths relative to a given location. Typically used when the command you are running changes directory. By default, the paths are relative to the artifacts themselves (equivalent toparent = 0). Use parent to make the paths relative to an ancestor directory. For example parent = 1 would make all paths relative to the containing dirs of any artifacts in the cmd_args. dir = symlinked_dir(...) script = [ cmd_args(cmd_args(dir, format = "cd {}"), original_script.relative_to(dir) ] "},{"title":"bxl.UnconfiguredTargetNode type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/","content":"","keywords":""},{"title":"bxl.UnconfiguredTargetNode.attrs​","type":1,"pageTitle":"bxl.UnconfiguredTargetNode type","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/#bxlunconfiguredtargetnodeattrs","content":"bxl.UnconfiguredTargetNode.attrs: typing.Any Gets the coerced attributes from the unconfigured target node. Returns a struct. Sample usage: def _impl_attributes(ctx): target_node = ctx.uquery().eval("owner('path/to/file')")[0] ctx.output.print(target_node.attrs.my_attr) "},{"title":"bxl.UnconfiguredTargetNode.buildfile_path​","type":1,"pageTitle":"bxl.UnconfiguredTargetNode type","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/#bxlunconfiguredtargetnodebuildfile_path","content":"bxl.UnconfiguredTargetNode.buildfile_path: bxl.FileNode Gets the buildfile path from the unconfigured target node. Sample usage: def _impl_label(ctx): target_node = ctx.uquery().eval("owner('path/to/file')")[0] ctx.output.print(target_node.buildfile_path) "},{"title":"bxl.UnconfiguredTargetNode.label​","type":1,"pageTitle":"bxl.UnconfiguredTargetNode type","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/#bxlunconfiguredtargetnodelabel","content":"bxl.UnconfiguredTargetNode.label: target_label Gets the label from the unconfigured target node. Sample usage: def _impl_label(ctx): target_node = ctx.uquery().eval("owner('path/to/file')")[0] ctx.output.print(target_node.label) "},{"title":"bxl.UnconfiguredTargetNode.rule_kind​","type":1,"pageTitle":"bxl.UnconfiguredTargetNode type","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/#bxlunconfiguredtargetnoderule_kind","content":"bxl.UnconfiguredTargetNode.rule_kind: str Gets the targets' corresponding rule's kind which is one of - normal (with no special properties) - configured (usable in a configuration context) - toolchain (only usable as a toolchain dep) Sample usage: def _impl_rule_kind(ctx): target_node = ctx.uquery().owner('path/to/file')[0] ctx.output.print(target_node.rule_kind) "},{"title":"bxl.UnconfiguredTargetNode.rule_type​","type":1,"pageTitle":"bxl.UnconfiguredTargetNode type","url":"/docs/api/bxl/bxl.UnconfiguredTargetNode/#bxlunconfiguredtargetnoderule_type","content":"bxl.UnconfiguredTargetNode.rule_type: str Gets the fully qualified name of the rule for this unconfigured target node as a string. This includes the import path as well. Sample usage: def _impl_rule_type(ctx): target_node = ctx.uquery().owner('path/to/file')[0] ctx.output.print(target_node.rule_type) "},{"title":"bxl.UqueryContext type","type":0,"sectionRef":"#","url":"/docs/api/bxl/bxl.UqueryContext/","content":"","keywords":""},{"title":"bxl.UqueryContext.allpaths​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextallpaths","content":"def bxl.UqueryContext.allpaths( from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label], to: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The allpaths query for computing all dependency paths. "},{"title":"bxl.UqueryContext.attrfilter​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextattrfilter","content":"def bxl.UqueryContext.attrfilter( attr: str, value: str, targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The attrfilter query for rule attribute filtering. "},{"title":"bxl.UqueryContext.attrregexfilter​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextattrregexfilter","content":"def bxl.UqueryContext.attrregexfilter( attribute: str, value: str, targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The attrregexfilter query for rule attribute filtering with regex. Sample usage: def _impl_attrregexfilter(ctx): filtered = ctx.uquery().attrregexfilter("foo", "he.lo", "bin/kind/...") ctx.output.print(filtered) "},{"title":"bxl.UqueryContext.buildfile​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextbuildfile","content":"def bxl.UqueryContext.buildfile( targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> file_set Find the build file(s) that defines a target or a target set. Sample usage: def _buildfile_impl(ctx): owner = ctx.uquery().owner(["bin/TARGET", "bin/kind"]) result = ctx.uquery().buildfile(owner) ctx.output.print(result) "},{"title":"bxl.UqueryContext.deps​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextdeps","content":"def bxl.UqueryContext.deps( universe: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label], depth: None | int = None, filter: None | str = None ) -> target_set The deps query for finding the transitive closure of dependencies. Sample usage: def _impl_deps(ctx): result = ctx.uquery().deps("root//bin:the_binary", 1) ctx.output.print(result) "},{"title":"bxl.UqueryContext.eval​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontexteval","content":"def bxl.UqueryContext.eval( query: str, query_args: None | target_set | list[str] = None ) Evaluates some general query string, query_args can be a target_set of unconfigured nodes, or a list of strings. Returns a dict of target labels mapped to their target_set results if query_args was passed in, otherwise returns a single target_set. Sample usage: def _impl_eval(ctx): result1 = ctx.uquery().eval("inputs(cell//path/to/file:target)") ctx.output.print(result1) result2 = ctx.uquery().eval("inputs(%s)", query_args = ["cell//path/to/file:target"]) ctx.output.print(result2) "},{"title":"bxl.UqueryContext.filter​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextfilter","content":"def bxl.UqueryContext.filter( regex: str, targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The filter query for filtering targets by name. Sample usage: def _impl_filter(ctx): result = ctx.uquery().filter(".*the_binary", "root//...") ctx.output.print(result) "},{"title":"bxl.UqueryContext.inputs​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextinputs","content":"def bxl.UqueryContext.inputs( targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> file_set The inputs query for finding input files. Sample usage: def _impl_inputs(ctx): result = ctx.uquery().inputs("root//bin:the_binary") ctx.output.print(result) "},{"title":"bxl.UqueryContext.kind​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextkind","content":"def bxl.UqueryContext.kind( regex: str, targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The kind query for filtering targets by rule type. Sample usage: def _impl_kind(ctx): kind = ctx.uquery().kind(".*1", "bin/kind/...") ctx.output.print(kind) "},{"title":"bxl.UqueryContext.owner​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextowner","content":"def bxl.UqueryContext.owner( files: file_set | str | list[str] | tuple[str, ...] ) -> target_set The owner query for finding targets that own specified files. Note that if you do not pass in a cell path (where the format is <cell>//path/to/file), the path is resolved against the cell that the BXL script lives in. If you need to evaluate a file path that lives in a different cell, you must pass in the fully qualified cell path. Sample usage: def _owner_impl(ctx): owner = ctx.uquery().owner("bin/TARGETS.fixture") ctx.output.print(owner) "},{"title":"bxl.UqueryContext.rdeps​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextrdeps","content":"def bxl.UqueryContext.rdeps( universe: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label], from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label], depth: int = _ ) -> target_set The rdeps query for finding the transitive closure of reverse dependencies. Sample usage: def _impl_rdeps(ctx): result = ctx.uquery().rdeps("root//bin:the_binary", "//lib:file1", 100) ctx.output.print(result) "},{"title":"bxl.UqueryContext.somepath​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontextsomepath","content":"def bxl.UqueryContext.somepath( from: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label], to: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The somepaths query, which returns the graph of nodes on some arbitrary path from a start to destination target. "},{"title":"bxl.UqueryContext.targets_in_buildfile​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontexttargets_in_buildfile","content":"def bxl.UqueryContext.targets_in_buildfile( files: file_set | str | list[str] | tuple[str, ...] ) -> target_set Given a set of buildfiles, return all targets within those buildfiles. Usage: def _targets_in_buildfile_impl(ctx): targets = ctx.uquery().targets_in_buildfile("bin/TARGETS.fixture") ctx.output.print(targets) This is subject to be removed in future in favor of a more general targets_in_packages. "},{"title":"bxl.UqueryContext.testsof​","type":1,"pageTitle":"bxl.UqueryContext type","url":"/docs/api/bxl/bxl.UqueryContext/#bxluquerycontexttestsof","content":"def bxl.UqueryContext.testsof( targets: bxl.UnconfiguredTargetNode | str | target_label | target_set | list[bxl.UnconfiguredTargetNode | str | target_label] ) -> target_set The testsof query for listing the tests of the specified targets. Sample usage: def _testsof_impl(ctx): result = ctx.uquery().testsof("//:foo_lib") ctx.output.print(result) "},{"title":"coerced_attr type","type":0,"sectionRef":"#","url":"/docs/api/bxl/coerced_attr/","content":"","keywords":""},{"title":"coerced_attr.type​","type":1,"pageTitle":"coerced_attr type","url":"/docs/api/bxl/coerced_attr/#coerced_attrtype","content":"coerced_attr.type: str Returns the type name of the attribute Sample usage: def _impl_type(ctx): node = ctx.uquery().owner("bin/TARGETS")[0] ctx.output.print(node.attrs.name.type) "},{"title":"coerced_attr.value​","type":1,"pageTitle":"coerced_attr type","url":"/docs/api/bxl/coerced_attr/#coerced_attrvalue","content":"def coerced_attr.value() Returns the value of this attribute. Limited support of selects, concats, and explicit configuration deps at this time. Sample usage: def _impl_value(ctx): node = ctx.uquery().owner("bin/TARGETS")[0] ctx.output.print(node.attrs.name.value()) "},{"title":"configured_attr type","type":0,"sectionRef":"#","url":"/docs/api/bxl/configured_attr/","content":"","keywords":""},{"title":"configured_attr.type​","type":1,"pageTitle":"configured_attr type","url":"/docs/api/bxl/configured_attr/#configured_attrtype","content":"configured_attr.type: str Returns the type name of the attribute Sample usage: def _impl_type(ctx): node = ctx.cquery().owner("bin/TARGETS")[0] attrs = node.attrs_eager() ctx.output.print(attrs.name.type) "},{"title":"configured_attr.value​","type":1,"pageTitle":"configured_attr type","url":"/docs/api/bxl/configured_attr/#configured_attrvalue","content":"def configured_attr.value() Returns the value of this attribute. The value here is not fully resolved like in rules. Sample usage: def _impl_value(ctx): node = ctx.cquery().owner("bin/TARGETS")[0] attrs = node.attrs_eager() ctx.output.print(attrs.name.value()) "},{"title":"configured_target_label type","type":0,"sectionRef":"#","url":"/docs/api/bxl/configured_target_label/","content":"","keywords":""},{"title":"configured_target_label.cell​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelcell","content":"configured_target_label.cell: str "},{"title":"configured_target_label.config​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelconfig","content":"def configured_target_label.config() -> configuration "},{"title":"configured_target_label.name​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelname","content":"configured_target_label.name: str "},{"title":"configured_target_label.package​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelpackage","content":"configured_target_label.package: str "},{"title":"configured_target_label.path​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelpath","content":"configured_target_label.path: typing.Any "},{"title":"configured_target_label.raw_target​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelraw_target","content":"def configured_target_label.raw_target() -> target_label Returns the unconfigured underlying target label. "},{"title":"configured_target_label.with_sub_target​","type":1,"pageTitle":"configured_target_label type","url":"/docs/api/bxl/configured_target_label/#configured_target_labelwith_sub_target","content":"def configured_target_label.with_sub_target( subtarget_name: str | list[str] = _ ) -> label Converts a ConfiguredTargetLabel into its corresponding Label given the subtarget name which is a list for each layer of subtarget Sample usage: def _impl_sub_target(ctx): owners = ctx.cquery().owner("bin/TARGETS.fixture") for owner in owners: configured_label = owner.label ctx.output.print(configured_label.with_sub_target()) ctx.output.print(configured_label.with_sub_target("subtarget1")) ctx.output.print(configured_label.with_sub_target(["subtarget1", "subtarget2"])) "},{"title":"context type","type":0,"sectionRef":"#","url":"/docs/api/bxl/context/","content":"","keywords":""},{"title":"context.actions​","type":1,"pageTitle":"context type","url":"/docs/api/bxl/context/#contextactions","content":"context.actions: actions Returns an actions value containing functions to define actual actions that are run. See the actions type for the operations that are available. "},{"title":"context.attrs​","type":1,"pageTitle":"context type","url":"/docs/api/bxl/context/#contextattrs","content":"context.attrs: struct(..) Returns the attributes of the target as a Starlark struct with a field for each attribute, which varies per rule. As an example, given a rule with the attrs argument of {"foo": attrs.string()}, this field will be a struct containing a field foo of type string. "},{"title":"context.label​","type":1,"pageTitle":"context type","url":"/docs/api/bxl/context/#contextlabel","content":"context.label: None | label Returns a label representing the target, or None if being invoked from a dynamic_output in Bxl. "},{"title":"context.plugins​","type":1,"pageTitle":"context type","url":"/docs/api/bxl/context/#contextplugins","content":"context.plugins: AnalysisPlugins An opaque value that can be indexed with a plugin kind to get a list of the available plugin deps of that kind. The rule must set an appropriate value on uses_plugins in its declaration. "},{"title":"file_set type","type":0,"sectionRef":"#","url":"/docs/api/bxl/file_set/","content":"file_set type A set of file_nodes. Supports the operations such as set addition/subtraction, length, iteration, equality and indexing.","keywords":""},{"title":"digest_config type","type":0,"sectionRef":"#","url":"/docs/api/bxl/digest_config/","content":"","keywords":""},{"title":"digest_config.allows_blake3​","type":1,"pageTitle":"digest_config type","url":"/docs/api/bxl/digest_config/#digest_configallows_blake3","content":"def digest_config.allows_blake3() -> bool "},{"title":"digest_config.allows_blake3_keyed​","type":1,"pageTitle":"digest_config type","url":"/docs/api/bxl/digest_config/#digest_configallows_blake3_keyed","content":"def digest_config.allows_blake3_keyed() -> bool "},{"title":"digest_config.allows_sha1​","type":1,"pageTitle":"digest_config type","url":"/docs/api/bxl/digest_config/#digest_configallows_sha1","content":"def digest_config.allows_sha1() -> bool "},{"title":"digest_config.allows_sha256​","type":1,"pageTitle":"digest_config type","url":"/docs/api/bxl/digest_config/#digest_configallows_sha256","content":"def digest_config.allows_sha256() -> bool "},{"title":"dependency type","type":0,"sectionRef":"#","url":"/docs/api/bxl/dependency/","content":"","keywords":""},{"title":"dependency.get​","type":1,"pageTitle":"dependency type","url":"/docs/api/bxl/dependency/#dependencyget","content":"def dependency.get(index) -> None | provider Gets a provider by indexing on a ProviderCallable object. e.g. FooInfo = provider(fields=["bar"]) .... collection.get(FooInfo) # None if absent, a FooInfo instance if present "},{"title":"dependency.label​","type":1,"pageTitle":"dependency type","url":"/docs/api/bxl/dependency/#dependencylabel","content":"dependency.label: label "},{"title":"dependency.providers​","type":1,"pageTitle":"dependency type","url":"/docs/api/bxl/dependency/#dependencyproviders","content":"dependency.providers: list[typing.Any] "},{"title":"dependency.sub_target​","type":1,"pageTitle":"dependency type","url":"/docs/api/bxl/dependency/#dependencysub_target","content":"def dependency.sub_target(subtarget: str, /) -> dependency Obtain the dependency representing a subtarget. In most cases you will want to use x[DefaultInfo].sub_targets["foo"] to get the providers of the subtarget, but if you need a real Dependency type (e.g. for use with ctx.action.anon_target) then use this method. "},{"title":"ensured_artifact_group type","type":0,"sectionRef":"#","url":"/docs/api/bxl/ensured_artifact_group/","content":"","keywords":""},{"title":"ensured_artifact_group.abs_path​","type":1,"pageTitle":"ensured_artifact_group type","url":"/docs/api/bxl/ensured_artifact_group/#ensured_artifact_groupabs_path","content":"def ensured_artifact_group.abs_path() Converts each artifact in this artifact group to be printed by its absolute path. Note that this will only print out the absolute path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact group. Sample usage: def _impl_abs_path(ctx): # some target with RunInfo outputs result = ctx.analysis("root//bin/kind:target_with_outputs") ensured = ctx.output.ensure_multiple(result.providers()[RunInfo]) # currently defaults to creating an EnsuredArtifactGroup with a relative path ensured_with_abs_path = ensured.abs_path() # create a new EnsuredArtifactGroup with absolute path to reuse print(ensured_with_abs_path) # should return something like <ensured group ... > ctx.output.print(ensured_with_abs_path) # should return the absolute path of the artifact "},{"title":"ensured_artifact_group.rel_path​","type":1,"pageTitle":"ensured_artifact_group type","url":"/docs/api/bxl/ensured_artifact_group/#ensured_artifact_grouprel_path","content":"def ensured_artifact_group.rel_path() Converts each artifact in this artifact group to be printed by its path relative to the project root. Note that this will only print out the relative path via ctx.output.print(). Starlark's print() will print out the display info for an ensured artifact group. Sample usage: def _impl_rel_path(ctx): # some target with RunInfo outputs result = ctx.analysis("root//bin/kind:target_with_outputs") ensured = ctx.output.ensure_multiple(result.providers()[RunInfo]) # currently defaults to creating an EnsuredArtifactGroup with a relative path ensured_with_rel_path = ensured.rel_path() # create a new EnsuredArtifact with relative path to reuse print(ensured_with_rel_path) # should return something like <ensured group ... > ctx.output.print(ensured_with_rel_path) # should return the relative path of the artifact "},{"title":"instant type","type":0,"sectionRef":"#","url":"/docs/api/bxl/instant/","content":"","keywords":""},{"title":"instant.elapsed_millis​","type":1,"pageTitle":"instant type","url":"/docs/api/bxl/instant/#instantelapsed_millis","content":"def instant.elapsed_millis() -> float Elapsed time in millis as a float Sample usage: def _impl_elapsed_millis(ctx): now = now() time_a = now.elapsed_millis() # do something that takes a long time time_b = now.elapsed_millis() ctx.output.print(time_a) ctx.output.print(time_b) "},{"title":"instant.elapsed_secs​","type":1,"pageTitle":"instant type","url":"/docs/api/bxl/instant/#instantelapsed_secs","content":"def instant.elapsed_secs() -> float Elapsed time in secs as a float Sample usage: def _impl_elapsed_secs(ctx): now = now() time_a = now.elapsed_secs() # do something that takes a long time time_b = now.elapsed_secs() ctx.output.print(time_a) ctx.output.print(time_b) "},{"title":"label_relative_path type","type":0,"sectionRef":"#","url":"/docs/api/bxl/label_relative_path/","content":"","keywords":""},{"title":"label_relative_path.add​","type":1,"pageTitle":"label_relative_path type","url":"/docs/api/bxl/label_relative_path/#label_relative_pathadd","content":"def label_relative_path.add(arg: str) -> label_relative_path "},{"title":"label type","type":0,"sectionRef":"#","url":"/docs/api/bxl/label/","content":"","keywords":""},{"title":"label.cell​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelcell","content":"label.cell: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode "},{"title":"label.cell_root​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelcell_root","content":"label.cell_root: cell_root Obtain a reference to this target label's cell root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to. "},{"title":"label.configured_target​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelconfigured_target","content":"def label.configured_target() -> configured_target_label Returns the underlying configured target label, dropping the sub target "},{"title":"label.name​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelname","content":"label.name: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back world "},{"title":"label.package​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelpackage","content":"label.package: str For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back buck2/hello "},{"title":"label.path​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelpath","content":"label.path: label_relative_path For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this gives back fbcode/buck2/hello "},{"title":"label.project_root​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelproject_root","content":"label.project_root: project_root Obtain a reference to the project's root. This can be used as if it were an artifact in places that expect one, such as cmd_args().relative_to. "},{"title":"label.raw_target​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelraw_target","content":"def label.raw_target() -> target_label For the label fbcode//buck2/hello:world (ovr_config//platform/linux:x86_64-fbcode-46b26edb4b80a905) this returns the unconfigured underlying target label (fbcode//buck2/hello:world) "},{"title":"label.sub_target​","type":1,"pageTitle":"label type","url":"/docs/api/bxl/label/#labelsub_target","content":"label.sub_target: None | list[str] "},{"title":"lazy_attrs type","type":0,"sectionRef":"#","url":"/docs/api/bxl/lazy_attrs/","content":"","keywords":""},{"title":"lazy_attrs.get​","type":1,"pageTitle":"lazy_attrs type","url":"/docs/api/bxl/lazy_attrs/#lazy_attrsget","content":"def lazy_attrs.get(attr: str) -> None | configured_attr Gets a single attribute. Returns an optional [configured_attr]. def _impl_attrs_lazy(ctx): node = ctx.cquery().owner("cell//path/to/TARGETS")[0] attrs = node.attrs_lazy() # cache once ctx.output.print(attrs.get("some_attributes").value()) ctx.output.print(attrs.get("some_attribute").label) "},{"title":"plugins type","type":0,"sectionRef":"#","url":"/docs/api/bxl/plugins/","content":"","keywords":""},{"title":"plugins.All​","type":1,"pageTitle":"plugins type","url":"/docs/api/bxl/plugins/#pluginsall","content":"plugins.All: all_plugins A special value for use with pulls_and_pushes_plugins. This value can be passed to pulls_and_pushes_plugins on any attr.dep() to indicate that all plugin kinds from the dep should be pulled and pushed. This is useful for rules likealias. This value is not supported on uses_plugins at this time, and hence it is not useful onpulls_plugins either. "},{"title":"plugins.PluginKind​","type":1,"pageTitle":"plugins type","url":"/docs/api/bxl/plugins/#pluginspluginkind","content":"plugins.PluginKind: type Type symbol for PluginKind. "},{"title":"plugins.kind​","type":1,"pageTitle":"plugins type","url":"/docs/api/bxl/plugins/#pluginskind","content":"def plugins.kind() -> PluginKind Create a new plugin kind. The value returned should always be immediately bound to a global, like MyPluginKind = plugins.kind() "},{"title":"promise type","type":0,"sectionRef":"#","url":"/docs/api/bxl/promise/","content":"","keywords":""},{"title":"promise.join​","type":1,"pageTitle":"promise type","url":"/docs/api/bxl/promise/#promisejoin","content":"def promise.join(*args) -> promise Join a set of promises together into a single promise. Given a series of promises, p4 = p1.join(p2, p3) will produce a promise where the value is promise that resolves to a tuple containing the three values, those from p1, p2 and p3 respectively. "},{"title":"promise.map​","type":1,"pageTitle":"promise type","url":"/docs/api/bxl/promise/#promisemap","content":"def promise.map(func: typing.Callable[[typing.Any], typing.Any], /) -> promise Given a promise, apply a function to the value it contains, producing a promise with the resulting value. "},{"title":"provider_collection type","type":0,"sectionRef":"#","url":"/docs/api/bxl/provider_collection/","content":"","keywords":""},{"title":"provider_collection.get​","type":1,"pageTitle":"provider_collection type","url":"/docs/api/bxl/provider_collection/#provider_collectionget","content":"def provider_collection.get(index) -> None | provider "},{"title":"providers_label type","type":0,"sectionRef":"#","url":"/docs/api/bxl/providers_label/","content":"","keywords":""},{"title":"providers_label.cell​","type":1,"pageTitle":"providers_label type","url":"/docs/api/bxl/providers_label/#providers_labelcell","content":"providers_label.cell: str "},{"title":"providers_label.name​","type":1,"pageTitle":"providers_label type","url":"/docs/api/bxl/providers_label/#providers_labelname","content":"providers_label.name: str "},{"title":"providers_label.path​","type":1,"pageTitle":"providers_label type","url":"/docs/api/bxl/providers_label/#providers_labelpath","content":"providers_label.path: typing.Any "},{"title":"providers_label.raw_target​","type":1,"pageTitle":"providers_label type","url":"/docs/api/bxl/providers_label/#providers_labelraw_target","content":"def providers_label.raw_target() -> target_label Returns the unconfigured underlying target label. "},{"title":"providers_label.sub_target​","type":1,"pageTitle":"providers_label type","url":"/docs/api/bxl/providers_label/#providers_labelsub_target","content":"providers_label.sub_target: None | list[str] "},{"title":"target_label type","type":0,"sectionRef":"#","url":"/docs/api/bxl/target_label/","content":"","keywords":""},{"title":"target_label.cell​","type":1,"pageTitle":"target_label type","url":"/docs/api/bxl/target_label/#target_labelcell","content":"target_label.cell: str "},{"title":"target_label.name​","type":1,"pageTitle":"target_label type","url":"/docs/api/bxl/target_label/#target_labelname","content":"target_label.name: str "},{"title":"target_label.package​","type":1,"pageTitle":"target_label type","url":"/docs/api/bxl/target_label/#target_labelpackage","content":"target_label.package: str "},{"title":"target_label.with_sub_target​","type":1,"pageTitle":"target_label type","url":"/docs/api/bxl/target_label/#target_labelwith_sub_target","content":"def target_label.with_sub_target( subtarget_name: str | list[str] = _ ) -> providers_label Converts a TargetLabel into its corresponding ProvidersLabel given the subtarget names, which is a list for each layer of subtarget Sample usage: def _impl_sub_target(ctx): owners = ctx.uquery().owner("bin/TARGETS.fixture") for owner in owners: unconfigured_label = owner.label ctx.output.print(unconfigured_label.with_sub_target()) ctx.output.print(unconfigured_label.with_sub_target("subtarget1")) ctx.output.print(unconfigured_label.with_sub_target(["subtarget1", "subtarget2"])) "},{"title":"StackFrame type","type":0,"sectionRef":"#","url":"/docs/api/bxl/StackFrame/","content":"","keywords":""},{"title":"StackFrame.func_name​","type":1,"pageTitle":"StackFrame type","url":"/docs/api/bxl/StackFrame/#stackframefunc_name","content":"StackFrame.func_name: str Returns the name of the entry on the call-stack. "},{"title":"StackFrame.module_path​","type":1,"pageTitle":"StackFrame type","url":"/docs/api/bxl/StackFrame/#stackframemodule_path","content":"StackFrame.module_path: None | str Returns a path of the module from which the entry was called, or [None] for native Rust functions. "},{"title":"dict type","type":0,"sectionRef":"#","url":"/docs/api/starlark/dict/","content":"","keywords":""},{"title":"dict.clear​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictclear","content":"def dict.clear() -> None dict.clear: clear a dictionary D.clear() removes all the entries of dictionary D and returns None. It fails if the dictionary is frozen or if there are active iterators. x = {"one": 1, "two": 2} x.clear() x == {} "},{"title":"dict.get​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictget","content":"def dict.get(key, default = _, /) dict.get: return an element from the dictionary. D.get(key[, default]) returns the dictionary value corresponding to the given key. If the dictionary contains no such value, getreturns None, or the value of the optional default parameter if present. get fails if key is unhashable. x = {"one": 1, "two": 2} x.get("one") == 1 x.get("three") == None x.get("three", 0) == 0 "},{"title":"dict.items​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictitems","content":"def dict.items() -> list[(typing.Any, typing.Any)] dict.items: get list of (key, value) pairs. D.items() returns a new list of key/value pairs, one per element in dictionary D, in the same order as they would be returned by a forloop. x = {"one": 1, "two": 2} x.items() == [("one", 1), ("two", 2)] "},{"title":"dict.keys​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictkeys","content":"def dict.keys() -> list[typing.Any] dict.keys: get the list of keys of the dictionary. D.keys() returns a new list containing the keys of dictionary D, in the same order as they would be returned by a for loop. x = {"one": 1, "two": 2} x.keys() == ["one", "two"] "},{"title":"dict.pop​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictpop","content":"def dict.pop(key, default = _, /) dict.pop: return an element and remove it from a dictionary. D.pop(key[, default]) returns the value corresponding to the specified key, and removes it from the dictionary. If the dictionary contains no such value, and the optional default parameter is present, popreturns that value; otherwise, it fails. pop fails if key is unhashable, or the dictionary is frozen or has active iterators. x = {"one": 1, "two": 2} x.pop("one") == 1 x == {"two": 2} x.pop("three", 0) == 0 x.pop("three", None) == None Failure: {'one': 1}.pop('four') # error: not found "},{"title":"dict.popitem​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictpopitem","content":"def dict.popitem() -> (typing.Any, typing.Any) dict.popitem: returns and removes the first key/value pair of a dictionary. D.popitem() returns the first key/value pair, removing it from the dictionary. popitem fails if the dictionary is empty, frozen, or has active iterators. x = {"one": 1, "two": 2} x.popitem() == ("one", 1) x.popitem() == ("two", 2) x == {} Failure: {}.popitem() # error: empty dict "},{"title":"dict.setdefault​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictsetdefault","content":"def dict.setdefault(key, default = _, /) dict.setdefault: get a value from a dictionary, setting it to a new value if not present. D.setdefault(key[, default]) returns the dictionary value corresponding to the given key. If the dictionary contains no such value, setdefault, like get, returns None or the value of the optional default parameter if present; setdefault additionally inserts the new key/value entry into the dictionary. setdefault fails if the key is unhashable or if the dictionary is frozen. x = {"one": 1, "two": 2} x.setdefault("one") == 1 x.setdefault("three", 0) == 0 x == {"one": 1, "two": 2, "three": 0} x.setdefault("four") == None x == {"one": 1, "two": 2, "three": 0, "four": None} "},{"title":"dict.update​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictupdate","content":"def dict.update(pairs = _, /, **kwargs) -> None dict.update: update values in the dictionary. D.update([pairs][, name=value[, ...]) makes a sequence of key/value insertions into dictionary D, then returns None. If the positional argument pairs is present, it must be None, another dict, or some other iterable. If it is another dict, then its key/value pairs are inserted into D. If it is an iterable, it must provide a sequence of pairs (or other iterables of length 2), each of which is treated as a key/value pair to be inserted into D. For each name=value argument present, the name is converted to a string and used as the key for an insertion into D, with its corresponding value being value. update fails if the dictionary is frozen. x = {} x.update([("a", 1), ("b", 2)], c=3) x.update({"d": 4}) x.update(e=5) x == {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5} "},{"title":"dict.values​","type":1,"pageTitle":"dict type","url":"/docs/api/starlark/dict/#dictvalues","content":"def dict.values() -> list[typing.Any] dict.values: get the list of values of the dictionary. D.values() returns a new list containing the dictionary's values, in the same order as they would be returned by a for loop over the dictionary. x = {"one": 1, "two": 2} x.values() == [1, 2] "},{"title":"list type","type":0,"sectionRef":"#","url":"/docs/api/starlark/list/","content":"","keywords":""},{"title":"list.append​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listappend","content":"def list.append(el, /) -> None list.append: append an element to a list. L.append(x) appends x to the list L, and returns None. append fails if the list is frozen or has active iterators. x = [] x.append(1) x.append(2) x.append(3) x == [1, 2, 3] "},{"title":"list.clear​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listclear","content":"def list.clear() -> None list.clear: clear a list L.clear() removes all the elements of the list L and returns None. It fails if the list is frozen or if there are active iterators. x = [1, 2, 3] x.clear() x == [] "},{"title":"list.extend​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listextend","content":"def list.extend(other: typing.Iterable, /) -> None list.extend: extend a list with another iterable's content. L.extend(x) appends the elements of x, which must be iterable, to the list L, and returns None. extend fails if x is not iterable, or if the list L is frozen or has active iterators. x = [] x.extend([1, 2, 3]) x.extend(["foo"]) x == [1, 2, 3, "foo"] "},{"title":"list.index​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listindex","content":"def list.index( needle, start: None | int = None, end: None | int = None, / ) -> int list.index: get the index of an element in the list. L.index(x[, start[, end]]) finds x within the list L and returns its index. The optional start and end parameters restrict the portion of list L that is inspected. If provided and not None, they must be list indices of type int. If an index is negative, len(L) is effectively added to it, then if the index is outside the range [0:len(L)], the nearest value within that range is used; see Indexing. index fails if x is not found in L, or if start or endis not a valid index (int or None). x = ["b", "a", "n", "a", "n", "a"] x.index("a") == 1 # bAnana x.index("a", 2) == 3 # banAna x.index("a", -2) == 5 # bananA "},{"title":"list.insert​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listinsert","content":"def list.insert(index: int, el, /) -> None list.insert: insert an element in a list. L.insert(i, x) inserts the value x in the list L at index i, moving higher-numbered elements along by one. It returns None. As usual, the index i must be an int. If its value is negative, the length of the list is added, then its value is clamped to the nearest value in the range [0:len(L)] to yield the effective index. insert fails if the list is frozen or has active iterators. x = ["b", "c", "e"] x.insert(0, "a") x.insert(-1, "d") x == ["a", "b", "c", "d", "e"] "},{"title":"list.pop​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listpop","content":"def list.pop(index: int = _, /) list.pop: removes and returns the last element of a list. L.pop([index]) removes and returns the last element of the list L, or, if the optional index is provided, at that index. pop fails if the index is negative or not less than the length of the list, of if the list is frozen or has active iterators. x = [1, 2, 3] x.pop() == 3 x.pop() == 2 x == [1] "},{"title":"list.remove​","type":1,"pageTitle":"list type","url":"/docs/api/starlark/list/#listremove","content":"def list.remove(needle, /) -> None list.remove: remove a value from a list L.remove(x) removes the first occurrence of the value x from the list L, and returns None. remove fails if the list does not contain x, is frozen, or has active iterators. x = [1, 2, 3, 2] x.remove(2) x == [1, 3, 2] x.remove(2) x == [1, 3] A subsequent call to x.remove(2) would yield an error because the element won't be found. x = [1, 2, 3, 2] x.remove(2) x.remove(2) x.remove(2) # error: not found "},{"title":"buck-out","type":0,"sectionRef":"#","url":"/docs/concepts/buck_out/","content":"buck-out Buck2 stores build artifacts in a directory named buck-out in the root of yourproject. You should not make assumptions about where Buck2 places your build artifacts within the directory structure beneathbuck-out as these locations depend on Buck2's implementation and could potentially change over time. Instead, to obtain the location of the build artifact for a particular target, you can use one of the --show-*-outputoptions with the buck2 build orbuck2 targets commands, most commonly--show-output. For the full list of ways to show the output location, you can run buck2 build --help or buck2 targets --help. buck2 targets --show-output <target> buck2 build --show-output <target> ","keywords":""},{"title":".buckconfig","type":0,"sectionRef":"#","url":"/docs/concepts/buckconfig/","content":"","keywords":""},{"title":"Performance impact of Buck2 configuration changes​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#performance-impact-of-buck2-configuration-changes","content":"Because configuration settings are sometimes included in the cache keys that Buck2 uses in its caching system, changes to Buck's configuration can invalidate previously-built artifacts in Buck's caches. If this occurs, Buck2 rebuilds those artifacts, which can impact your build time. "},{"title":"The .buckconfig file uses the INI file format​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#the-buckconfig-file-uses-the-ini-file-format","content":"The .buckconfig file uses theINI file format. That is, it is divided into sections where each section contains a collection of key names and keyvalues. The .buckconfig implementation supports some modifications to the INI file format; these are discussed below. "},{"title":"Other INI file parsers​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#other-ini-file-parsers","content":"As mentioned previously, we have extended the INI file parser that Buck2 uses to parse configuration files. As a result, INI file parsers provided by other languages or libraries are often not able to parse Buck's configuration files successfully. "},{"title":"Dot character not supported in section names​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#dot-character-not-supported-in-section-names","content":"We do not support the use of the dot character (.) in section names within Buck2 configuration files. For example, the following is notsupported—although Buck2 does not issue a warning or error. [foo.bar] baz=1 Note that sometimes you might need to define your own custom sections, such as for platform flavors for C++ or Python. These scenarios are examples of when you should be careful not to introduce the dot character in section names. This constraint is because Buck2 uses the dot character to delimit section names and key names in other contexts such as the --config command-line parameter. "},{"title":"Character encoding​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#character-encoding","content":"To ensure that any character can be encoded in a .buckconfig key value, you can use escape sequences to encode characters that would otherwise be problematic. The following escape sequences are supported. \\\\\tbackslash\\"\tdouble quote \\n\tnewline \\r\tcarriage return \\t\ttab \\x##\tUnicode character with code point ## (in hex) \\u####\tUnicode character with code point #### (in hex) \\U########\tUnicode character with code point ######## (in hex) "},{"title":"Key values as lists​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#key-values-as-lists","content":"Although the standard INI format supports only key values that represent a single item, Buck2 supports key values that represent a list of items. The syntax is to separate the items in the list using the space (0x20) character. For example, a key value for the list of command-line flags to be passed to a compiler could be represented as a list of the flags separated by spaces: flags = -foo -bar -baz -qux When a key value is parsed as a list instead of a single item, the separator character is interpreted as a separator only when it occurs outside of double quotes. For example, if flags is a key value interpreted as a list of items separated by spaces, then flags = -foo "-bar \\u0429" results in the two strings: foo and -bar Щ; the space character between-bar and \\u0429 is not interpreted as a separator. "},{"title":"Transclusion of values from one key to another​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#transclusion-of-values-from-one-key-to-another","content":"Values from other keys can be transcluded into the current key using the following syntax inside the current key value. $(config <section>.<field>) For example, to use the [go].vendor_path in a custom setting: [custom_section]custom_value = $(config go.vendor_path) "},{"title":"Comments​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#comments","content":"In addition to the semicolon (;), you can use the pound sign (#), as a comment character in .buckconfig. "},{"title":".buckconfig.local​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#buckconfiglocal","content":"The root of your project may contain a second configuration file named .buckconfig.local. Its format is the same as that of.buckconfig, but settings in .buckconfig.local override those in.buckconfig. In practice, .buckconfig is a version-controlled file that contains settings that are applicable to all team members, whereas.buckconfig.local is excluded from version control to allow users to define personal settings, such as personal aliases. "},{"title":"Other initialization files​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#other-initialization-files","content":"In addition to the .buckconfig and .buckconfig.local files in the project root, Buck2 reads configuration settings from the following additional locations, some of which are actually directories: Directory .buckconfig.d located in the project root directory.File .buckconfig and directory .buckconfig.d located in the current user's home directory which, on Unix-like systems, is available from theHOME environment variable or through the ~ symbol.File buckconfig and directory buckconfig.d located in system directory/etc/. Buck2 treats any file—irrespective of name—in a.buckconfig.d(buckconfig.d) directory (excluding files found in subdirectories) as a Buck2 configuration file, provided that it adheres to.buckconfig syntax. Note that a .buckconfig.d directory is distinct from the similarly-named .buckd directory which is used by theBuck2 Daemon (buckd) . For a description of how Buck2 resolves collisions between settings in these configuration files, see the sectionPrecedence of Buck2 configuration specificationsbelow. "},{"title":"Command-line control of configuration​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#command-line-control-of-configuration","content":"In addition to the above configuration files, Buck2 supports specifying additional configuration files from the Buck2 command line using the--config-file parameter. You can also specify configuration settingsindividually on the Buck2 command line using the --config (-c) parameter. Furthermore, you can aggregate these settings into flag files using the--flagfile parameter. A flag file provides similar functionality to a configuration file but uses a different syntax. Flag files are sometimes calledmode files or at (@) files. "},{"title":"Precedence of Buck2 configuration specifications​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#precedence-of-buck2-configuration-specifications","content":"The following list shows the order of precedence for how Buck2 interprets its configuration specifications. Settings specified using a method closer to the top of the list have higher precedence and will override those lower on the list. For example, the .buckconfig file in the repo overrides a .buckconfigfile in the user's HOME directory. Configuration specified on the command line using --config (-c),--config-file and --flagfile. Configuration specified later on the command line overrides configuration specified earlier..buckconfig.local in the repo..buckconfig in the repo.Files in a .buckconfig.d folder of the repo..buckconfig.local in user's HOME directory.Files in a .buckconfig.d folder in user's HOME directory.The global file /etc/buckconfigFiles in the global directory /etc/buckconfig.d Files in a .buckconfig.d (buckconfig.d) directory have precedence according to the lexicographical order of their file names. Files later in the lexicographical order have precedence over files earlier in that order. "},{"title":"Configuration files can include other files​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#configuration-files-can-include-other-files","content":"Any of the configuration files that we've discussed so far can also include by reference other files that contain configuration information. These included files can contain complete .buckconfig sections or they can contain a group of key name/value pairs that constitute part of a section. In this second use case, you'll need to ensure that the included file is referenced beneath the appropriate section in the including file. Because of this additional complexity, we recommend that you include only files that contain complete sections. Note: Inclusion of files is a Buck-specific extension to the INI file parser that Buck2 uses. Therefore, if you use this feature, your Buck2 configuration files will probably not be parsable by other more-generic INI file parsers. The syntax to include a file is <file:*path-to-included-file*> where path-to-included-file is either a relative path from the including file (recommended) or an absolute path from the root of the file system. You can also specify that the file should be included only if it exists by prefixing with a question mark (?). <?file:*path-to-included-file*> If you use this prefix, it is not an error condition if the file does not exist; Buck2 just silently continues to process the rest of the configuration file. In the following example, the .buckconfig file includes the filecxx-other-platform.include which exists in the subdirectorycxx-other-platform. The .buckconfig file will also include the filefuture-platform from the directory future-platform.include if that file exists. # # .buckconfig # [cxx] cxxppflags="-D MYMACRO=\\"Buck\\"" <file:cxx-other-platform/cxx-other-platform.include> <?file:future-platform/future-platform.include> # # cxx-other-platform.include # [cxx#other_platform] cxxppflags="-D MYMACRO=\\"Watchman\\"" "},{"title":"Sections​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#sections","content":"Below is an incomplete list of supported buckconfigs. "},{"title":"[alias]​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#alias","content":"This section contains definitions of build target aliases. [alias]app = //apps/myapp:app apptest = //apps/myapp:test These aliases can then be used from the command line: $ buck2 build app $ buck2 test apptest "},{"title":"[cells]​","type":1,"pageTitle":".buckconfig","url":"/docs/concepts/buckconfig/#cells","content":"Lists the cells that constitute the Buck2 project. Buck2 builds that are part of this project—that is, which use this .buckconfig—can access the cells specified in this section. [cells] buck = . bazel_skylib = ./third-party/skylark/bazel-skylib The string on the left-hand side of the equals sign is the alias for the cell. The string on the right-hand side of the equals sign is the path to the cell from the directory that contains this .buckconfig file. It is not necessary to include the current cell in this section, but we consider it a best practice to do so: buck = . You can view the contents of this section using the buck2 audit cell command. [repositories] is additionally supported as a deprecated alternative name for this section. "},{"title":"string type","type":0,"sectionRef":"#","url":"/docs/api/starlark/string/","content":"","keywords":""},{"title":"string.capitalize​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringcapitalize","content":"def string.capitalize() -> str string.capitalize: returns a copy of string S, where the first character (if any) is converted to uppercase; all other characters are converted to lowercase. "hello, world!".capitalize() == "Hello, world!" "Hello, World!".capitalize() == "Hello, world!" "".capitalize() == "" "},{"title":"string.codepoints​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringcodepoints","content":"def string.codepoints() -> typing.Iterable[str] string.codepoints: returns an iterable of the unicode codepoint of a string. S.codepoints() returns an iterable value containing the sequence of integer Unicode code points encoded by the string S. Each invalid code within the string is treated as if it encodes the Unicode replacement character, U+FFFD. By returning an iterable, not a list, the cost of decoding the string is deferred until actually needed; apply list(...) to the result to materialize the entire sequence. list("Hello, 世界".codepoints()) == [72, 101, 108, 108, 111, 44, 32, 19990, 30028] "},{"title":"string.count​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringcount","content":"def string.count( needle: str, start: None | int = None, end: None | int = None, / ) -> int string.count: count the number of occurrences of a string in another string. S.count(sub[, start[, end]]) returns the number of occurrences ofsub within the string S, or, if the optional substring indicesstart and end are provided, within the designated substring of S. They are interpreted according to Skylark's indexing conventions. This implementation does not count occurrence of sub in the string Sthat overlap other occurrence of S (which can happen if some suffix of S is a prefix of S). For instance, "abababa".count("aba") returns 2 for [aba]a[aba], not counting the middle occurrence: ab[aba]ba(this is following Python behavior). "hello, world!".count("o") == 2 "abababa".count("aba") == 2 "hello, world!".count("o", 7, 12) == 1 # in "world" "},{"title":"string.elems​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringelems","content":"def string.elems() -> typing.Iterable[str] string.elems: returns an iterable of the bytes values of a string. S.elems() returns an iterable value containing the sequence of numeric bytes values in the string S. To materialize the entire sequence of bytes, apply list(...) to the result. list("Hello, 世界".elems()) == ["H", "e", "l", "l", "o", ",", " ", "世", "界"] "},{"title":"string.endswith​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringendswith","content":"def string.endswith(suffix: str | tuple[str, ...], /) -> bool string.endswith: determine if a string ends with a given suffix. S.endswith(suffix) reports whether the string S has the specified suffix. "filename.sky".endswith(".sky") == True "},{"title":"string.find​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringfind","content":"def string.find( needle: str, start: None | int = None, end: None | int = None, / ) -> int string.find: find a substring in a string. S.find(sub[, start[, end]]) returns the index of the first occurrence of the substring sub within S. If either or both of start or end are specified, they specify a subrange of S to which the search should be restricted. They are interpreted according to Skylark's indexing conventions. If no occurrence is found, found returns -1. "bonbon".find("on") == 1 "bonbon".find("on", 2) == 4 "bonbon".find("on", 2, 5) == -1 "},{"title":"string.format​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringformat","content":"def string.format(*args, **kwargs) -> str string.format: format a string. S.format(*args, **kwargs) returns a version of the format string S in which bracketed portions {...} are replaced by arguments from args and kwargs. Within the format string, a pair of braces {{ or }} is treated as a literal open or close brace. Each unpaired open brace must be matched by a close brace }. The optional text between corresponding open and close braces specifies which argument to use and how to format it, and consists of three components, all optional: a field name, a conversion preceded by '!', and a format specifier preceded by ':'. {field} {field:spec} {field!conv} {field!conv:spec} The field name may be either a decimal number or a keyword. A number is interpreted as the index of a positional argument; a keyword specifies the value of a keyword argument. If all the numeric field names form the sequence 0, 1, 2, and so on, they may be omitted and those values will be implied; however, the explicit and implicit forms may not be mixed. The conversion specifies how to convert an argument value x to a string. It may be either !r, which converts the value usingrepr(x), or !s, which converts the value using str(x) and is the default. The format specifier, after a colon, specifies field width, alignment, padding, and numeric precision. Currently it must be empty, but it is reserved for future use. "a {} c".format(3) == "a 3 c" "a{x}b{y}c{}".format(1, x=2, y=3) == "a2b3c1" "a{}b{}c".format(1, 2) == "a1b2c" "({1}, {0})".format("zero", "one") == "(one, zero)" "Is {0!r} {0!s}?".format("heterological") == "Is \\"heterological\\" heterological?" "},{"title":"string.index​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringindex","content":"def string.index( needle: str, start: None | int = None, end: None | int = None, / ) -> int string.index: search a substring inside a string, failing on not found. S.index(sub[, start[, end]]) returns the index of the first occurrence of the substring sub within S, like S.find, except that if the substring is not found, the operation fails. "bonbon".index("on") == 1 "bonbon".index("on", 2) == 4 "bonbon".index("on", 2, 5) # error: not found "},{"title":"string.isalnum​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringisalnum","content":"def string.isalnum() -> bool string.isalnum: test if a string is composed only of letters and digits. S.isalnum() reports whether the string S is non-empty and consists only Unicode letters and digits. "base64".isalnum() == True "Catch-22".isalnum() == False "},{"title":"string.isalpha​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringisalpha","content":"def string.isalpha() -> bool string.isalpha: test if a string is composed only of letters. S.isalpha() reports whether the string S is non-empty and consists only of Unicode letters. "ABC".isalpha() == True "Catch-22".isalpha() == False "".isalpha() == False "},{"title":"string.isdigit​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringisdigit","content":"def string.isdigit() -> bool string.isdigit: test if a string is composed only of digits. S.isdigit() reports whether the string S is non-empty and consists only of Unicode digits. "123".isdigit() == True "Catch-22".isdigit() == False "".isdigit() == False "},{"title":"string.islower​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringislower","content":"def string.islower() -> bool string.islower: test if all letters of a string are lowercase. S.islower() reports whether the string S contains at least one cased Unicode letter, and all such letters are lowercase. "hello, world".islower() == True "Catch-22".islower() == False "123".islower() == False "},{"title":"string.isspace​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringisspace","content":"def string.isspace() -> bool string.isspace: test if all characters of a string are whitespaces. S.isspace() reports whether the string S is non-empty and consists only of Unicode spaces. " ".isspace() == True "\\r\\t\\n".isspace() == True "".isspace() == False "},{"title":"string.istitle​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringistitle","content":"def string.istitle() -> bool string.istitle: test if the string is title cased. S.istitle() reports whether the string S contains at least one cased Unicode letter, and all such letters that begin a word are in title case. "Hello, World!".istitle() == True "Catch-22".istitle() == True "HAL-9000".istitle() == False "123".istitle() == False "},{"title":"string.isupper​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringisupper","content":"def string.isupper() -> bool string.isupper: test if all letters of a string are uppercase. S.isupper() reports whether the string S contains at least one cased Unicode letter, and all such letters are uppercase. "HAL-9000".isupper() == True "Catch-22".isupper() == False "123".isupper() == False "},{"title":"string.join​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringjoin","content":"def string.join(to_join: typing.Iterable[str], /) -> str string.join: join elements with a separator. S.join(iterable) returns the string formed by concatenating each element of its argument, with a copy of the string S between successive elements. The argument must be an iterable whose elements are strings. ", ".join([]) == "" ", ".join(("x", )) == "x" ", ".join(["one", "two", "three"]) == "one, two, three" "a".join("ctmrn".elems()) == "catamaran" "},{"title":"string.lower​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringlower","content":"def string.lower() -> str string.lower: convert a string to all lowercase. S.lower() returns a copy of the string S with letters converted to lowercase. "Hello, World!".lower() == "hello, world!" "},{"title":"string.lstrip​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringlstrip","content":"def string.lstrip(chars: str = _, /) -> str string.lstrip: trim leading whitespaces. S.lstrip() returns a copy of the string S with leading whitespace removed. In most cases instead of passing an argument you should use removeprefix. " hello ".lstrip() == "hello " "x!hello ".lstrip("!x ") == "hello " "},{"title":"string.partition​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringpartition","content":"def string.partition(needle: str, /) -> (str, str, str) string.partition: partition a string in 3 components S.partition(x = " ") splits string S into three parts and returns them as a tuple: the portion before the first occurrence of string x,x itself, and the portion following it. If S does not contain x, partition returns (S, "", ""). partition fails if x is not a string, or is the empty string. "one/two/three".partition("/") == ("one", "/", "two/three") "one".partition("/") == ("one", "", "") "},{"title":"string.removeprefix​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringremoveprefix","content":"def string.removeprefix(prefix: str, /) -> str string.removeprefix: remove a prefix from a string. Not part of standard Starlark. If the string starts with the prefix string, return string[len(prefix):]. Otherwise, return a copy of the original string: "Hello, World!".removeprefix("Hello") == ", World!" "Hello, World!".removeprefix("Goodbye") == "Hello, World!" "Hello".removeprefix("Hello") == "" "},{"title":"string.removesuffix​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringremovesuffix","content":"def string.removesuffix(suffix: str, /) -> str string.removesuffix: remove a prefix from a string. Not part of standard Starlark. If the string starts with the prefix string, return string[len(prefix):]. Otherwise, return a copy of the original string: "Hello, World!".removesuffix("World!") == "Hello, " "Hello, World!".removesuffix("World") == "Hello, World!" "Hello".removesuffix("Hello") == "" "},{"title":"string.replace​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringreplace","content":"def string.replace( old: str, new: str, count: int = _, / ) -> str string.replace: replace all occurrences of a substring. S.replace(old, new[, count]) returns a copy of string S with all occurrences of substring old replaced by new. If the optional argument count, which must be an int, is non-negative, it specifies a maximum number of occurrences to replace. "banana".replace("a", "o") == "bonono" "banana".replace("a", "o", 2) == "bonona" "banana".replace("z", "x") == "banana" "banana".replace("", "x") == "xbxaxnxaxnxax" "banana".replace("", "x", 2) == "xbxanana" "".replace("", "x") == "x" "banana".replace("a", "o", -2) # error: argument was negative "},{"title":"string.rfind​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringrfind","content":"def string.rfind( needle: str, start: None | int = None, end: None | int = None, / ) -> int string.rfind: find the last index of a substring. S.rfind(sub[, start[, end]]) returns the index of the substring subwithin S, like S.find, except that rfind returns the index of the substring's last occurrence. "bonbon".rfind("on") == 4 "bonbon".rfind("on", None, 5) == 1 "bonbon".rfind("on", 2, 5) == -1 "},{"title":"string.rindex​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringrindex","content":"def string.rindex( needle: str, start: None | int = None, end: None | int = None, / ) -> int string.rindex: find the last index of a substring, failing on not found. S.rindex(sub[, start[, end]]) returns the index of the substring subwithin S, like S.index, except that rindex returns the index of the substring's last occurrence. "bonbon".rindex("on") == 4 "bonbon".rindex("on", None, 5) == 1 # in "bonbo" "bonbon".rindex("on", 2, 5) # error: not found "},{"title":"string.rpartition​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringrpartition","content":"def string.rpartition(needle: str, /) -> (str, str, str) string.rpartition: partition a string in 3 elements. S.rpartition([x = ' ']) is like partition, but splits S at the last occurrence of x. "one/two/three".rpartition("/") == ("one/two", "/", "three") "one".rpartition("/") == ("", "", "one") "},{"title":"string.rsplit​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringrsplit","content":"def string.rsplit( sep: None | str = None, maxsplit: None | int = None, / ) -> list[str] string.rsplit: splits a string into substrings. S.rsplit([sep[, maxsplit]]) splits a string into substrings likeS.split, except that when a maximum number of splits is specified,rsplit chooses the rightmost splits. "banana".rsplit("n") == ["ba", "a", "a"] "banana".rsplit("n", 1) == ["bana", "a"] "one two three".rsplit(None, 1) == ["one two", "three"] "},{"title":"string.rstrip​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringrstrip","content":"def string.rstrip(chars: str = _, /) -> str string.rstrip: trim trailing whitespace. S.rstrip() returns a copy of the string S with trailing whitespace removed. In most cases instead of passing an argument you should use removesuffix. " hello ".rstrip() == " hello" " hello!x".rstrip(" x!") == " hello" "},{"title":"string.split​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringsplit","content":"def string.split( sep: None | str = None, maxsplit: None | int = None, / ) -> list[str] string.split: split a string in substrings. S.split([sep [, maxsplit]]) returns the list of substrings of S, splitting at occurrences of the delimiter string sep. Consecutive occurrences of sep are considered to delimit empty strings, so 'food'.split('o') returns ['f', '', 'd']. Splitting an empty string with a specified separator returns ['']. If sep is the empty string, split fails. If sep is not specified or is None, split uses a different algorithm: it removes all leading spaces from S (or trailing spaces in the case of rsplit), then splits the string around each consecutive non-empty sequence of Unicode white space characters. If S consists only of white space, split returns the empty list. If maxsplit is given and non-negative, it specifies a maximum number of splits. "one two three".split() == ["one", "two", "three"] "one two three".split(" ") == ["one", "two", "", "three"] "one two three".split(None, 1) == ["one", "two three"] "banana".split("n") == ["ba", "a", "a"] "banana".split("n", 1) == ["ba", "ana"] "},{"title":"string.splitlines​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringsplitlines","content":"def string.splitlines(keepends: bool = False, /) -> list[str] string.splitlines: return the list of lines of a string. S.splitlines([keepends]) returns a list whose elements are the successive lines of S, that is, the strings formed by splitting S at line terminators ('\\n', '\\r' or '\\r\\n'). The optional argument, keepends, is interpreted as a Boolean. If true, line terminators are preserved in the result, though the final element does not necessarily end with a line terminator. "one\\n\\ntwo".splitlines() == ["one", "", "two"] "one\\n\\ntwo".splitlines(True) == ["one\\n", "\\n", "two"] "a\\nb".splitlines() == ["a", "b"] "},{"title":"string.startswith​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringstartswith","content":"def string.startswith(prefix: str | tuple[str, ...], /) -> bool string.startswith: test whether a string starts with a given prefix. S.startswith(suffix) reports whether the string S has the specified prefix. "filename.sky".startswith("filename") == True "filename.sky".startswith("sky") == False 'abc'.startswith(('a', 'A')) == True 'ABC'.startswith(('a', 'A')) == True 'def'.startswith(('a', 'A')) == False "},{"title":"string.strip​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringstrip","content":"def string.strip(chars: str = _, /) -> str string.strip: trim leading and trailing whitespaces. S.strip() returns a copy of the string S with leading and trailing whitespace removed. " hello ".strip() == "hello" "xxhello!!".strip("x!") == "hello" "},{"title":"string.title​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringtitle","content":"def string.title() -> str string.title: convert a string to title case. S.title() returns a copy of the string S with letters converted to titlecase. Letters are converted to uppercase at the start of words, lowercase elsewhere. "hElLo, WoRlD!".title() == "Hello, World!" "},{"title":"string.upper​","type":1,"pageTitle":"string type","url":"/docs/api/starlark/string/#stringupper","content":"def string.upper() -> str string.upper: convert a string to all uppercase. S.upper() returns a copy of the string S with letters converted to uppercase. "Hello, World!".upper() == "HELLO, WORLD!" "},{"title":"Build File","type":0,"sectionRef":"#","url":"/docs/concepts/build_file/","content":"Build File A build file is a file, typically named BUCK, that defines one or morebuild rules. Note that you can change the name that Buck2 uses for the build file in the buildfile section of .buckconfig. A source file in your project can only be referenced by rules in its "nearest" build file, where "nearest" means its closest direct ancestor in your project's file tree. (If a source file has a build file as a sibling, then that is its nearest ancestor.) For example, if your project had the following BUCK files: java/com/facebook/base/BUCK java/com/facebook/common/BUCK java/com/facebook/common/collect/BUCK Then your build rules would have the following constraints: Rules in java/com/facebook/base/BUCK can reference any file underjava/com/facebook/base/.Rules in java/com/facebook/common/ can reference any files under that directory, except for those under java/com/facebook/common/collect/, as those "belong" to the BUCK file in the collect directory. The set of source files accessible to a build file is also known as its build package. The way to refer to code across build packages is to create build rules and use deps to refer to that code. Going back to the previous example, suppose code in java/com/facebook/common/concurrent/ wants to depend on code in java/com/facebook/common/collect/. Presumablyjava/com/facebook/common/collect/BUCK has a build rule like: java_library( name = 'collect', srcs = glob(['*.java']), deps = ['//java/com/facebook/base:base',],) Then java/com/facebook/common/BUCK could have a rule like: java_library( name = 'concurrent', srcs = glob(['concurrent/*.java']), deps = ['//java/com/facebook/base:base','//java/com/facebook/common/collect:collect',],) whereas the following would be invalid becausejava/com/facebook/common/collect/ has its own build file, so//java/com/facebook/common/collect:concurrent cannot listjava/com/facebook/common/collect/*.java in its srcs. java_library( name = 'concurrent', srcs = glob(['collect/*.java', 'concurrent/*.java']), deps = ['//java/com/facebook/base:base',],) ","keywords":""},{"title":"globals","type":0,"sectionRef":"#","url":"/docs/api/starlark/globals/","content":"","keywords":""},{"title":"False​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#false","content":"False: bool "},{"title":"None​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#none","content":"None: None "},{"title":"True​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#true","content":"True: bool "},{"title":"abs​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#abs","content":"def abs(x: float | int, /) -> float | int Take the absolute value of an int. abs(0) == 0 abs(-10) == 10 abs(10) == 10 abs(10.0) == 10.0 abs(-12.34) == 12.34 "},{"title":"all​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#all","content":"def all(x: typing.Iterable, /) -> bool all: returns true if all values in the iterable object have a truth value of true. all([1, True]) == True all([1, 1]) == True all([0, 1, True]) == False all([True, 1, True]) == True all([0, 0]) == False all([0, False]) == False all([True, 0]) == False all([1, False]) == False "},{"title":"any​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#any","content":"def any(x: typing.Iterable, /) -> bool any: returns true if any value in the iterable object have a truth value of true. any([0, True]) == True any([0, 1]) == True any([0, 1, True]) == True any([0, 0]) == False any([0, False]) == False "},{"title":"bool​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#bool","content":"def bool(x = _, /) -> bool bool: returns the truth value of any starlark value. .type attribute​ Produces "bool" Details​ bool() == False bool([]) == False bool([1]) == True bool(True) == True bool(False) == False bool(None) == False bool(bool) == True bool(1) == True bool(0) == False bool({}) == False bool({1:2}) == True bool(()) == False bool((1,)) == True bool("") == False bool("1") == True "},{"title":"breakpoint​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#breakpoint","content":"def breakpoint() -> None When a debugger is available, breaks into the debugger. "},{"title":"call_stack​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#call_stack","content":"def call_stack(*, strip_frames: int = 0) -> str Get a textual representation of the call stack. This is intended only for debugging purposes to display to a human and should not be considered stable or parseable. strip_frames will pop N frames from the top of the call stack, which can be useful to hide non-interesting lines - for example, strip_frames=1 will hide the call to and location of call_stack() itself. "},{"title":"call_stack_frame​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#call_stack_frame","content":"def call_stack_frame(n: int, /) -> None | StackFrame Get a structural representation of the n-th call stack frame. With n=0 returns call_stack_frame itself. Returns None if n is greater than or equal to the stack size. "},{"title":"chr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#chr","content":"def chr(i: int, /) -> str chr: returns a string encoding a codepoint. chr(i) returns a string that encodes the single Unicode code point whose value is specified by the integer i. chr fails unless 0 ≤ i ≤ 0x10FFFF. chr(65) == 'A' chr(1049) == 'Й' chr(0x1F63F) == '😿' "},{"title":"debug​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#debug","content":"def debug(val, /) -> str Print the value with full debug formatting. The result may not be stable over time. Intended for debugging purposes and guaranteed to produce verbose output not suitable for user display. "},{"title":"dict​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#dict","content":"def dict(*args, **kwargs) -> dict[typing.Any, typing.Any] dict: creates a dictionary. .type attribute​ Produces "dict" Details​ dict creates a dictionary. It accepts up to one positional argument, which is interpreted as an iterable of two-element sequences (pairs), each specifying a key/value pair in the resulting dictionary. dict also accepts any number of keyword arguments, each of which specifies a key/value pair in the resulting dictionary; each keyword is treated as a string. dict() == {} dict(**{'a': 1}) == {'a': 1} dict({'a': 1}) == {'a': 1} dict([(1, 2), (3, 4)]) == {1: 2, 3: 4} dict([(1, 2), ['a', 'b']]) == {1: 2, 'a': 'b'} dict(one=1, two=2) == {'one': 1, 'two': 2} dict([(1, 2)], x=3) == {1: 2, 'x': 3} dict([('x', 2)], x=3) == {'x': 3} x = {'a': 1} y = dict([('x', 2)], **x) x == {'a': 1} and y == {'x': 2, 'a': 1} "},{"title":"dir​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#dir","content":"def dir(x, /) -> list[str] dir: list attributes of a value. dir(x) returns a list of the names of the attributes (fields and methods) of its operand. The attributes of a value x are the namesf such that x.f is a valid expression. "capitalize" in dir("abc") "},{"title":"enum​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#enum","content":"def enum(*args: str) The enum type represents one value picked from a set of values. For example: MyEnum = enum("option1", "option2", "option3") This statement defines an enumeration MyEnum that consists of the three values "option1", "option2" and option3. Now MyEnum is defined, it's possible to do the following: Create values of this type with MyEnum("option2"). It is a runtime error if the argument is not one of the predeclared values of the enumeration.Get the type of the enum suitable for a type annotation with MyEnum.Given a value of the enum (for example, v = MyEnum("option2")), get the underlying value v.value == "option2" or the index in the enumeration v.index == 1.Get a list of the values that make up the array with MyEnum.values() == ["option1", "option2", "option3"].Treat MyEnum a bit like an array, with len(MyEnum) == 3, MyEnum[1] == MyEnum("option2") and iteration over enums [x.value for x in MyEnum] == ["option1", "option2", "option3"]. Enumeration types store each value once, which are then efficiently referenced by enumeration values. "},{"title":"enumerate​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#enumerate","content":"def enumerate(it: typing.Iterable, /, start: int = 0) -> list[(int, typing.Any)] enumerate: return a list of (index, element) from an iterable. enumerate(x) returns a list of (index, value) pairs, each containing successive values of the iterable sequence and the index of the value within the sequence. The optional second parameter, start, specifies an integer value to add to each index. enumerate(["zero", "one", "two"]) == [(0, "zero"), (1, "one"), (2, "two")] enumerate(["one", "two"], 1) == [(1, "one"), (2, "two")] "},{"title":"eval_type​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#eval_type","content":"def eval_type(ty: type, /) -> type Create a runtime type object which can be used to check if a value matches the given type. "},{"title":"fail​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#fail","content":"def fail(*args) -> typing.Never fail: fail the execution fail("this is an error") # fail: this is an error fail("oops", 1, False) # fail: oops 1 False "},{"title":"field​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#field","content":"def field(typ, /, default = _) -> field Creates a field record. Used as an argument to the record function. rec_type = record(host=field(str), port=field(int), mask=field(int, default=255)) rec = rec_type(host="localhost", port=80) rec.port == 80 rec.mask == 255 "},{"title":"filter​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#filter","content":"def filter( func: None | typing.Callable, seq: typing.Iterable, / ) -> list[typing.Any] Apply a predicate to each element of the iterable, returning those that match. As a special case if the function is None then removes all the None values. filter(bool, [0, 1, False, True]) == [1, True] filter(lambda x: x > 2, [1, 2, 3, 4]) == [3, 4] filter(None, [True, None, False]) == [True, False] "},{"title":"float​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#float","content":"def float(a: bool | float | int | str = _, /) -> float float: interprets its argument as a floating-point number. .type attribute​ Produces "float" Details​ If x is a float, the result is x. if x is an int, the result is the nearest floating point value to x. If x is a string, the string is interpreted as a floating-point literal. With no arguments, float() returns 0.0. float() == 0.0 float(1) == 1.0 float('1') == 1.0 float('1.0') == 1.0 float('.25') == 0.25 float('1e2') == 100.0 float(False) == 0.0 float(True) == 1.0 float("hello") # error: not a valid number float([]) # error "},{"title":"getattr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#getattr","content":"def getattr( a, attr: str, default = _, / ) getattr: returns the value of an attribute getattr(x, name) returns the value of the attribute (field or method) of x named name. It is a dynamic error if x has no such attribute. getattr(x, "f") is equivalent to x.f. getattr(x, "f", d) is equivalent to x.f if hasattr(x, "f") else dand will never raise an error. getattr("banana", "split")("a") == ["b", "n", "n", ""] # equivalent to "banana".split("a") "},{"title":"hasattr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#hasattr","content":"def hasattr(a, attr: str, /) -> bool hasattr: test if an object has an attribute hasattr(x, name) reports whether x has an attribute (field or method) named name. "},{"title":"hash​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#hash","content":"def hash(a: str, /) -> int hash: returns the hash number of a value. hash(x) returns an integer hash value for x such that x == yimplies hash(x) == hash(y). hash fails if x, or any value upon which its hash depends, is unhashable. hash("hello") != hash("world") "},{"title":"int​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#int","content":"def int(a: bool | float | int | str = _, /, base: int = _) -> int int: convert a value to integer. .type attribute​ Produces "int" Details​ int(x[, base]) interprets its argument as an integer. If x is an int, the result is x. If x is a float, the result is the integer value nearest to x, truncating towards zero; it is an error if x is not finite (NaN,+Inf, -Inf). If x is a bool, the result is 0 for False or 1 for True. If x is a string, it is interpreted like a string literal; an optional base prefix (0, 0b, 0B, 0x, 0X) determines which base to use. The string may specify an arbitrarily large integer, whereas true integer literals are restricted to 64 bits. If a non-zero base argument is provided, the string is interpreted in that base and no base prefix is permitted; the base argument may specified by name. int() with no arguments returns 0. int() == 0 int(1) == 1 int(False) == 0 int(True) == 1 int('1') == 1 int('16') == 16 int('16', 10) == 16 int('16', 8) == 14 int('16', 16) == 22 int(0.0) == 0 int(3.14) == 3 int(-12345.6789) == -12345 int(2e9) == 2000000000 int("hello") # error: Cannot parse int(float("nan")) # error: cannot be represented as exact integer int(float("inf")) # error: cannot be represented as exact integer "},{"title":"isinstance​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#isinstance","content":"def isinstance(value, ty: type, /) -> bool Check if a value matches the given type. "},{"title":"json​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#json","content":"json: struct(decode = "function", encode = "function") "},{"title":"len​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#len","content":"def len(a, /) -> int len: get the length of a sequence len(x) returns the number of elements in its argument. It is a dynamic error if its argument is not a sequence. len(()) == 0 len({}) == 0 len([]) == 0 len([1]) == 1 len([1,2]) == 2 len({'16': 10}) == 1 len(True) # error: not supported "},{"title":"list​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#list","content":"def list(a: typing.Iterable = _, /) -> list[typing.Any] list: construct a list. .type attribute​ Produces "list" Details​ list(x) returns a new list containing the elements of the iterable sequence x. With no argument, list() returns a new empty list. list() == [] list((1,2,3)) == [1, 2, 3] list("strings are not iterable") # error: not supported "},{"title":"map​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#map","content":"def map(func: typing.Callable, seq: typing.Iterable, /) -> list[typing.Any] Apply a function to each element of the iterable, returning the results. map(abs, [7, -5, -6]) == [7, 5, 6] map(lambda x: x * 2, [1, 2, 3, 4]) == [2, 4, 6, 8] "},{"title":"max​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#max","content":"def max(*args, key = _) max: returns the maximum of a sequence. max(x) returns the greatest element in the iterable sequence x. It is an error if any element does not support ordered comparison, or if the sequence is empty. The optional named parameter key specifies a function to be applied to each element prior to comparison. max([3, 1, 4, 1, 5, 9]) == 9 max("two", "three", "four") == "two" # the lexicographically greatest max("two", "three", "four", key=len) == "three" # the longest "},{"title":"min​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#min","content":"def min(*args, key = _) min: returns the minimum of a sequence. min(x) returns the least element in the iterable sequence x. It is an error if any element does not support ordered comparison, or if the sequence is empty. min([3, 1, 4, 1, 5, 9]) == 1 min("two", "three", "four") == "four" # the lexicographically least min("two", "three", "four", key=len) == "two" # the shortest "},{"title":"ord​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#ord","content":"def ord(a: str, /) -> int ord: returns the codepoint of a character ord(s) returns the integer value of the sole Unicode code point encoded by the string s. If s does not encode exactly one Unicode code point, ord fails. Each invalid code within the string is treated as if it encodes the Unicode replacement character, U+FFFD. Example: ord("A") == 65 ord("Й") == 1049 ord("😿") == 0x1F63F "},{"title":"partial​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#partial","content":"def partial( func, /, *args, **kwargs ) -> function Construct a partial application. In almost all cases it is simpler to use a lamdba. "},{"title":"pprint​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#pprint","content":"def pprint(*args) -> None "},{"title":"prepr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#prepr","content":"def prepr(a, /) -> str Like repr, but produces more verbose pretty-printed output "},{"title":"print​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#print","content":"def print(*args) -> None Print some values to the output. "},{"title":"pstr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#pstr","content":"def pstr(a, /) -> str Like str, but produces more verbose pretty-printed output "},{"title":"range​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#range","content":"def range( a1: int, a2: int = _, step: int = 1, / ) -> range range: return a range of integers .type attribute​ Produces "range" Details​ range returns a tuple of integers defined by the specified interval and stride. range(stop) # equivalent to range(0, stop) range(start, stop) # equivalent to range(start, stop, 1) range(start, stop, step) range requires between one and three integer arguments. With one argument, range(stop) returns the ascending sequence of non-negative integers less than stop. With two arguments, range(start, stop) returns only integers not less than start. With three arguments, range(start, stop, step) returns integers formed by successively adding step to start until the value meets or passes stop. A call to range fails if the value of step is zero. list(range(10)) == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] list(range(3, 10)) == [3, 4, 5, 6, 7, 8, 9] list(range(3, 10, 2)) == [3, 5, 7, 9] list(range(10, 3, -2)) == [10, 8, 6, 4] "},{"title":"record​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#record","content":"def record(**kwargs) -> function A record type represents a set of named values, each with their own type. For example: MyRecord = record(host=str, port=int) This above statement defines a record MyRecord with 2 fields, the first named host that must be of type str, and the second named port that must be of type int. Now MyRecord is defined, it's possible to do the following: Create values of this type with MyRecord(host="localhost", port=80). It is a runtime error if any arguments are missed, of the wrong type, or if any unexpected arguments are given.Get the type of the record suitable for a type annotation with MyRecord.type.Get the fields of the record. For example, v = MyRecord(host="localhost", port=80) will provide v.host == "localhost" and v.port == 80. Similarly, dir(v) == ["host", "port"]. It is also possible to specify default values for parameters using the field function. For example: MyRecord = record(host=str, port=field(int, 80)) Now the port field can be omitted, defaulting to 80 is not present (for example, MyRecord(host="localhost").port == 80). Records are stored deduplicating their field names, making them more memory efficient than dictionaries. "},{"title":"repr​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#repr","content":"def repr(a, /) -> str repr: formats its argument as a string. All strings in the result are double-quoted. repr(1) == '1' repr("x") == "\\"x\\"" repr([1, "x"]) == "[1, \\"x\\"]" repr("test \\"'") == "\\"test \\\\\\"'\\"" repr("x\\"y😿 \\\\'") == "\\"x\\\\\\"y\\\\U0001f63f \\\\\\\\'\\"" "},{"title":"reversed​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#reversed","content":"def reversed(a: typing.Iterable, /) -> list[typing.Any] reversed: reverse a sequence reversed(x) returns a new list containing the elements of the iterable sequence x in reverse order. reversed(['a', 'b', 'c']) == ['c', 'b', 'a'] reversed(range(5)) == [4, 3, 2, 1, 0] reversed("stressed".elems()) == ["d", "e", "s", "s", "e", "r", "t", "s"] reversed({"one": 1, "two": 2}.keys()) == ["two", "one"] "},{"title":"sorted​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#sorted","content":"def sorted( x, /, *, key = _, reverse: bool = False ) -> list[typing.Any] sorted: sort a sequence sorted(x) returns a new list containing the elements of the iterable sequence x, in sorted order. The sort algorithm is stable. The optional named parameter reverse, if true, causes sorted to return results in reverse sorted order. The optional named parameter key specifies a function of one argument to apply to obtain the value's sort key. The default behavior is the identity function. sorted([3, 1, 4, 1, 5, 9]) == [1, 1, 3, 4, 5, 9] sorted([3, 1, 4, 1, 5, 9], reverse=True) == [9, 5, 4, 3, 1, 1] sorted(["two", "three", "four"], key=len) == ["two", "four", "three"] # shortest to longest sorted(["two", "three", "four"], key=len, reverse=True) == ["three", "four", "two"] # longest to shortest "},{"title":"starlark_rust_internal​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#starlark_rust_internal","content":"starlark_rust_internal: struct(ty_of_value_debug = "function") "},{"title":"str​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#str","content":"def str(a, /) -> str str: formats its argument as a string. .type attribute​ Produces "string" Details​ If x is a string, the result is x (without quotation). All other strings, such as elements of a list of strings, are double-quoted. str(1) == '1' str("x") == 'x' str([1, "x"]) == "[1, \\"x\\"]" "},{"title":"struct​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#struct","content":"def struct(*args, **kwargs) -> struct(..) .type attribute​ Produces "struct" "},{"title":"tuple​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#tuple","content":"def tuple(a: typing.Iterable = _, /) -> tuple tuple: returns a tuple containing the elements of the iterable x. .type attribute​ Produces "tuple" Details​ With no arguments, tuple() returns the empty tuple. tuple() == () tuple([1,2,3]) == (1, 2, 3) "},{"title":"type​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#type","content":"def type(a, /) -> str type: returns a string describing the type of its operand. .type attribute​ Produces "type" Details​ type(None) == "NoneType" type(0) == "int" type(1) == "int" type(()) == "tuple" type("hello") == "string" "},{"title":"typing​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#typing","content":"typing: struct(Any = typing.Any, Callable = typing.Callable, Iterable = typing.Iterable, Never = typing.Never) "},{"title":"zip​","type":1,"pageTitle":"globals","url":"/docs/api/starlark/globals/#zip","content":"def zip(*args: typing.Iterable) -> list[typing.Any] zip: zip several iterables together zip() returns a new list of n-tuples formed from corresponding elements of each of the n iterable sequences provided as arguments tozip. That is, the first tuple contains the first element of each of the sequences, the second element contains the second element of each of the sequences, and so on. The result list is only as long as the shortest of the input sequences. zip() == [] zip(range(5)) == [(0,), (1,), (2,), (3,), (4,)] zip(range(5), "abc".elems()) == [(0, "a"), (1, "b"), (2, "c")] "},{"title":"Build Target","type":0,"sectionRef":"#","url":"/docs/concepts/build_target/","content":"","keywords":""},{"title":"Command-line Pro Tips​","type":1,"pageTitle":"Build Target","url":"/docs/concepts/build_target/#command-line-pro-tips","content":"Here are some ways that you can reduce your typing when you specify build targets as command-line arguments to the buck2 build or buck2 run commands. Consider the following example of a fully-qualified build target used with thebuck2 build command: buck2 build //java/com/facebook/share:share Although Buck2 is always strict when parsing build targets in build files, Buck2 is flexible when parsing build targets on the command-line. Specifically, the leading // is optional on the command line, so the above could be: buck2 build java/com/facebook/share:share Also, if there is a forward slash before the colon, it is ignored, so this could also be written as: buck2 build java/com/facebook/share/:share which enables you to produce the red text shown below using tab-completion, which dramatically reduces how much you need to type: buck2 build java/com/facebook/share/:share Finally, if the final path element matches the value specified after the colon, it can be omitted: # This is treated as //java/com/facebook/share:share. buck2 build java/com/facebook/share/ which makes the build target even easier to tab-complete. For this reason, the name of the build target for the primary deliverable in a build file is often named the same as the parent directory. That way, it can be built from the command-line with less typing. "},{"title":"See also​","type":1,"pageTitle":"Build Target","url":"/docs/concepts/build_target/#see-also","content":"Buck2 supports the ability to define aliases for build targets; using aliases can improve brevity when specifying targets on the Buck2 command line. For more information, see the [alias] section in the documentation for .buckconfig. Abuild target pattern is a string that describes a set of one or more build targets. For example, the pattern //... is used to build an entire project. For more information, see the Build Target Pattern topic. "},{"title":"Build Rule","type":0,"sectionRef":"#","url":"/docs/concepts/build_rule/","content":"","keywords":""},{"title":"Buck2's collection of build rules​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#buck2s-collection-of-build-rules","content":"Buck2 comes with a collection of built-in build rules for many common build procedures. For example, compiling Java code against the Android SDK is a common procedure, so Buck2 provides the build ruleandroid_library to do that. Similarly, the final product of most Android development is an APK, so you can use the build rule android_binary to create an APK. "},{"title":"Source files as inputs to build rules​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#source-files-as-inputs-to-build-rules","content":"Most build rules specify source files as inputs. For example, acxx_library rule would specify .cppfiles as inputs. To support specifying these files, a cxx_library rule provides the srcs argument. Some languages, such as C++, use header files as well. To specify these, cxx_library provides a headers argument. In addition to srcs and headers, some rules provide variants of these arguments, such asplatform_srcs and platform_headers. These arguments support groups of source files that should be used as inputs only when building for specific platforms. "},{"title":"Package boundaries and access to source files​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#package-boundaries-and-access-to-source-files","content":"In Buck2, a BUCK file defines a package, which corresponds roughly to the directory that contains the BUCK file and those subdirectories that do not themselves contain BUCK files. (To learn more, see theKey Concepts topic.) A rule in a BUCK file cannot specify a source file as an input unless that source file is in that BUCK file's package. An exception to this restriction exists for header files, but only if a rule in the package that contains the header file exports that header file using theexported_headers argument. For more details, see the description forexported_headers in, for example, thecxx_library topic. More commonly though, the package for a BUCK file contains all the source files required for the rules defined in that BUCK file. Functionality in source files from other packages is made available through the artifacts produced by the rules in the BUCK files for those packages. For example, a cxx_binarymight use the functionality in a cxx_library that is defined in another package. To access that functionality, the cxx_binary would take thatcxx_library as a dependency. Symlinks: Use with caution if at all​ We recommend that you do not use symlinks—either absolute or relative—to specify input files to build rules. Although using symlinks in this context does sometimes work, it can lead to unexpected behavior and errors. "},{"title":"Dependencies: Output from one rule as input to another rule​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#dependencies-output-from-one-rule-as-input-to-another-rule","content":"A build rule can use the output from another build rule as one of its inputs by specifying that rule as a dependency. Typically, a build rule specifies its dependencies as a list of build targets in its depsargument. However, the rule can also specify dependencies—as build targets—in other arguments, such as srcs. Example: The output of ajava_library rule is a JAR file. If ajava_library rule specifies another java_library rule as a dependency, the JAR file produced by the specified rule is added to the classpath for thejava_library that depends on it. Example: If ajava_binary rule specifies ajava_library rule as a dependency, the JAR file for the specifiedjava_library is available on the classpath for the java_binary. In addition, in the case of java_binary, the JAR files for any dependencies of thejava_library rule are also made available to the java_binary rule—and if those dependencies have dependencies of their own, they are added as well. This exhaustive cascade of dependencies is referred to as the rule's transitive closure. "},{"title":"Required dependencies are always built first​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#required-dependencies-are-always-built-first","content":"Buck2 guarantees that any dependencies that a rule lists that are required in order to build that rule are built successfully before Buck2 builds the rule itself. Note though that there can be special cases—such asapple_bundle—where a rule's listed dependencies do not actually need to be built before the rule. "},{"title":"Visibility​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#visibility","content":"In order for a build rule to take a dependency on another build rule, the build rule on which the dependency is taken must be visible to the build rule taking the dependency. A build rule's visibility argument is a list ofbuild target patterns that specify the rules that can take that rule as a dependency. For more information about the concept of visibility in Buck2, see the Visibility topic. "},{"title":"Dependencies define a graph​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#dependencies-define-a-graph","content":"Build rules and their dependencies define a directed acyclic graph (DAG). Buck2 requires this graph to be acyclic to make it possible to build independent subgraphs in parallel. "},{"title":"How to handle special cases: genrules and macros​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#how-to-handle-special-cases-genrules-and-macros","content":"Although Buck2 provides a rich set of built-in build rules for developers, it is not able to address all possible needs. As an "escape hatch," Buck2 provides a category of generic build rules called genrules. With genrules, you can perform arbitrary operations using shell scripts. The genrules supported by Buck2 are: genruleapk_genrulecxx_genrule "},{"title":"Multiple output files with genrules​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#multiple-output-files-with-genrules","content":"In most cases, a build rule produces exactly one output file. However, with genrules, you can specify an output directory and write arbitrary files to that directory. "},{"title":"Macros​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#macros","content":"Finally, note that you can define functions that generate build rules. In general, this should not be something that you need to do, but taking advantage of this option might help you add needed functionality to Buck2's without editing its source code. "},{"title":"String parameter macros​","type":1,"pageTitle":"Build Rule","url":"/docs/concepts/build_rule/#string-parameter-macros","content":"It is also possible to expand references to other rules within the cmd, using builtin string parameter macros. All build rules expanded in the command are automatically considered to be dependencies of the genrule(). Note that the paths returned by these macros are relative paths. Using relative paths ensures that your builds are hermetic, that is, they are reproducible across different machine environments. $(classpath //path/to:target) Expands to the transitive classpath of the specified build rule, provided that the rule has a Java classpath. If the rule does not have (or contribute to) a classpath, then an exception is thrown and the build breaks. $(exe //path/to:target) Expands a build rule that results in an executable to the commands necessary to run that executable. For example, a java_binary() might expand to a call tojava -jar path/to/target.jar . Files that are executable (perhaps generated by a genrule()) are also expanded. If the build rule does not generate an executable output, then an exception is thrown and the build breaks. If the $(exe my_dependency) dependency should actually be built with the target platform, use $(exe_target my_dependency) instead, which will stick to the same platform as the target. $(location //path/to:target) Expands to the location of the output of the specified build rule. This means that you can refer to the output without needing to be aware of how Buck is storing data on the disk mid-build. "},{"title":"Concept Map","type":0,"sectionRef":"#","url":"/docs/concepts/concept_map/","content":"Concept Map The Concept Map provides an at-a-glance overview of the relationships between widely used Buck2 concepts. It is meant to be a tool to help those onboarding to Buck2 to quickly gain an understanding of the Buck2 environment. note The Concept Map is for reference only and is not intended to be 100% accurate nor complete.","keywords":""},{"title":"Configurations","type":0,"sectionRef":"#","url":"/docs/concepts/configurations/","content":"Configurations For rule authors see also: Configurations When building a target, buck always builds it in a particular "configuration." The configuration typically includes information like the target os, target arch, sanitizers, opt level, etc. One way to understand the effect that a configuration has is via the cquery and uquery commands. The cquery command will compute the appropriate configuration for a target and display a version of that target's attributes with the configuration applied. The uquery command will not apply a configuration. Here is a heavily trimmed version of the outputs of invoking uquery andcquery on //buck2/app/buck2_core:buck2_core. > buck2 uquery -A '"//buck2/app/buck2_core:buck2_core"' { "fbcode//buck2/app/buck2_core:buck2_core": { "buck.type": "rust_library", "buck.package": "fbcode//buck2/app/buck2_core:TARGETS", "name": "buck2_core", "visibility": [ "PUBLIC" ], "deps": { "fbsource//third-party/rust:anyhow", "fbsource//third-party/rust:arc-swap", "fbsource//third-party/rust:blake3", "fbsource//third-party/rust:compact_str", "fbsource//third-party/rust:dashmap", { "__type": "selector", "entries": { "DEFAULT": [], "ovr_config//os:windows": [ "fbsource//third-party/rust:common-path" ] } }, { "__type": "selector", "entries": { "DEFAULT": [], "ovr_config//os:linux": [ "fbsource//third-party/rust:nix" ] } }, }, } } > buck2 cquery -A '"//buck2/app/buck2_core:buck2_core"' { "fbcode//buck2/app/buck2_core:buck2_core (ovr_config//platform/linux:<OMITTED>)": { "buck.type": "rust_library", "buck.package": "fbcode//buck2/app/buck2_core:TARGETS", "buck.target_configuration": "ovr_config//platform/linux:<OMITTED>", "buck.execution_platform": "fbcode//buck2/platform/<OMITTED>", "name": "buck2_core", "visibility": [ "PUBLIC" ], "deps": [ "fbsource//third-party/rust:anyhow (ovr_config//platform/linux:<OMITTED>)", "fbsource//third-party/rust:arc-swap (ovr_config//platform/linux:<OMITTED>)", "fbsource//third-party/rust:blake3 (ovr_config//platform/linux:<OMITTED>)", "fbsource//third-party/rust:compact_str (ovr_config//platform/linux:<OMITTED>)", "fbsource//third-party/rust:dashmap (ovr_config//platform/linux:<OMITTED>)", "fbsource//third-party/rust:nix (ovr_config//platform/linux:<OMITTED>)" ] } The cquery output has additional buck.target_configuration andbuck.execution_platform attributes which tell you what the target is being built for and what it's being built on, respectively. uquery doesn't have those. The deps in uquery also have a number of selects; these indicate that thecommon-path dependency should only be included when building for Windows, while the nix dependency is needed only for Linux. In cquery that distinction has been resolved; because the target has been configured for Linux, the nix dependency is present and indistinguishable from any other, while thecommon-path dependency is gone.","keywords":""},{"title":"Daemon (buckd)","type":0,"sectionRef":"#","url":"/docs/concepts/daemon/","content":"","keywords":""},{"title":"Killing or disabling the Buck daemon​","type":1,"pageTitle":"Daemon (buckd)","url":"/docs/concepts/daemon/#killing-or-disabling-the-buck-daemon","content":"The Buck daemon process is killed if buck2 clean or buck2 kill commands are run. Note that they won't kill the daemon associated with custom isolation dirs. To do that, run using the --isolation-dir option (buck2 --isolation-dir <dir> <command>) "},{"title":"Glossary of Terms","type":0,"sectionRef":"#","url":"/docs/concepts/glossary/","content":"Glossary of Terms .buckconfig​ The root of your project must contain a configuration file named.buckconfig. Before executing, Buck2 reads this file to incorporate specified customizations. See .buckconfig for more info. Action​ An individual, cacheable, ideally hermetic command that's run during thebuild. It takes artifacts as inputs and produces other artifacts as outputs. An example command could be gcc -o main main.c, which takes the artifact main.c (a source file) and produces the artifact called main (the compiled binary). Action digest​ Encoded action representation. It is sent toremote execution. Used among other things to retrieve action inputs and to check for cache hits Action graph​ The dependency graph of all actions belonging to a target: it can be queried with buck2 aquery. Artifact​ A single input or output of an action. These are files that participate as inputs or outputs of a build and can be source files or build outputs. For more information, see theArtifact API. Attribute​ Declared by a rule and used to express the properties of a particular instance of a rule to create a target. For example, srcs, deps and copts, which declare a target's source files, dependencies, and custom compiler options, respectively. The available attributes for a target depend on its rule type. BUCK file​ A BUCK file (the name is configurable, some projects use TARGETS) is the main configuration file that tells Buck2 what to build, what their dependencies are, and how to build them. Buck2 takes a BUCK file as input and evaluates the file to declare targets, which are then used to create a graph of dependencies and to derive the actions that must be completed to build intermediate and final software outputs. A BUCK file marks a directory and any sub-directories not containing a BUCK file as a package. BXL​ BXL (Buck eXtension Language) scripts are written in Starlark (a restricted subset of Python) and give integrators the ability to inspect and interact directly with the buck2 graph. BXL scripts can query the action graph,configured graph, andunconfigured graph. They can also createactions and trigger builds. Cell​ The directory tree of one or more Buck2 packages. A Buck2 build can involve multiple cells. The cell root always contains a.buckconfig, although the presence of a .buckconfig file doesn't in itself define a cell. Rather, the cells involved in a build are defined at the time Buck2 is invoked; they are specified in the .buckconfig for the Buckproject. Configuration​ Configurations consist of a set of 'constraint values' that are used to resolveselect attributes prior to evaluating ruleimplementations: the attribute takes the value of the first branch in theselect that matches the configuration. Configurations are instantiated by rules that produce a PlatformInfoprovider. Once created, targets can receive their configuration through a variety of mechanisms, such as: Inheritance - by default, when following a dependency edge A -> B, B inherits A's configuration.The default_target_platform attribute and --target-platforms command line flag.Transitions (see below). Configurations allow a single target to exist in multiple variants in the configured graph (for example, to build a given binary at differing optimization levels or targeting different CPU architectures). Configured graph​ The configured target graph is generated by configuring target nodes in theunconfigured target graph. That is, selects are fully resolved and configurations applied. The configured graph includes information about the configurations and transitionsinvolved in building targets. The same target may appear in multiple different configurations (when printed, the configuration is after the target in parentheses). Constraint​ A constraint represents a property that may differ across differenttarget or build contexts, such as CPU architecture, the version of a system-installed compiler, optimization level, which version of a particular library to use, etc. Daemon​ The Daemon process lives between invocations and is designed to allow for cache reuse between Buck2 invocations, which can considerably speed up builds. For more information, see Daemon (buckd). Dependency​ A directed edge between two targets. A target A can have a dependency on target B, for example, if any dep attribute of A mentionsB. A target's dependence on another target is determined by thevisibility of the latter. Execution platform​ A type of rule that includes information such as what execution types atarget supports, which can be remote, local, and hybrid execution. Also, whether it supports cache uploads, which allows users to get cache hits for things that executed locally. Hybrid execution​ Allows Buck2 to race local and remote execution and get whichever finishes first (unless there's a cache hit, then it will get output from cache). This can provide substantial speedup by eliminating the overhead of going toremote execution when there is enough capacity to service the build locally. Isolation dir​ Instances of Buck2 share a daemon if and only if their isolation directory is identical. The isolation directory also influences the output paths provided by Buck2. Modifiers​ It's a modification of a constraint from the existingconfiguration to obtain a new configuration. They provide a unified way to specify build settings on a project,target, and command line level. It is intended to replacetarget platforms and most use cases of.buckconfigs. Package​ A directory that contains a Buck2 BUCK file and all source files belonging to the same directory as the BUCK file, or any of its subdirectories that do not contain a BUCK file themselves. Prelude​ The prelude is a unique .bzl file located at prelude//prelude.bzl. Buck2 implicitly loads all the symbols defined in the prelude whenever it loads aBUCK file. Symbols defined outside the prelude can be imported via a load() statement. When you create a Buck2 project using buck2 init --git, it will contain the same prelude used internally at Meta by Buck2 users. It is viewable athttps://github.com/facebook/buck2/tree/main/prelude. Project​ The Outermost directory where there is a .buckconfig: also known as the root cell. The .buckconfig for the project specifies thecells that constitute the Buck2 project. Specifically, these cells are specified in the '[cells]' section of the .buckconfig. All command invocations are executed from the project root. Provider​ Data returned from a rule function. It's the only way that information from this rule is available to other rules that depend on it (seedependency). For more information, seeProviders. Platform​ A named set of constraints, defining a specific runtime environment. E.g. cpu=x86_64, os=windows Remote execution (RE)​ Distributed execution of actions on remote workers. It can speed up builds significantly by scaling the nodes available for parallel actions, and by caching action outputs across Buck2 users. Rule​ A rule consists of an attribute spec and an implementation, which is aStarlark function. The attribute spec declares what attributes the rule expects to receive. The rule implementation receives the attributes of a targetand the providers of its dependencies. It can declare new actions and artifacts and must returnproviders that can be used to pass data to its dependents or to Buck2 itself. Rules are instantiated in BUCK files to declare targets and set their attributes. The rule implementation is called when Buck2 needs its providers, which can happen when the target is built, or when one of its dependents is. As an example, the cxx_binary rule could be used to create a C++ binary, butandroid_binary rule would be used to create an Android APK Starlark​ Starlark is a dialect of Python originally developed by Google for theBazel build tool. It is the configuration language of the Buck2 build system and the language you use in .bzl andBUCK files to define and instantiate rules. There are many reasons why Meta has chosen Starlark, as detailed inThe Rust Starlark libraryarticle. The Buck2 project maintains and uses an open sourceStarlark interpreter in Rust. Subtarget​ Collection of providers that can be accesed by name. The subtargets can have their own subtargets as well, which can be accessed by chaining them, e.g.: buck2 build cell//foo:bar[baz][qux]. Target​ An object that is defined in a BUCK file. Targets represent the buildable units of a build from the perspective of the end user. Declared by instantiating a rule with attributes. A target hasdependencies, which are references to other targets. Target label​ The identifier for a target. Structured ascell_alias//path/to/package:target, where cell_alias// maps to acell root path (as defined in the ./buckconfig of the cell this target belongs to), path/to/package is the packagedirectory that contains the BUCK file declaring the target (relative to the mapped cell alias), and :target is the target's name. Target pattern​ A string that resolves to a set of targets. They can be used as arguments to commands such as buck2 build and buck2 uquery. They can also be used in the visibility argument of a rule. For more information, see Target pattern. Target platform​ Represents the platform that the final output is built for residing and executing. If buck2 is a chef, and the output is the meal, the target platform would be the people that eat the meal. Target universe​ A set of configured targets and their transitive deps. In the context of cquery and build in the Buck2 CLI, any literals are resolved to all matching targets within the universe. Target universe can be passed explicitly on the Buck2 CLI via --target-universe. If omitted, the target universe will be inferred by constructing a universe using all the target literals (and their transitive deps) within the query string for cquery. Transition​ Allows the configuration to change across adependency edge. That is, normally, if target A depends on target B, then if the configuration for A is X, then B is configured using X too. By using a transition, you can produce X to configure B instead. Unconfigured graph​ A graph of targets before configurations are applied. Can be queried via buck2 uquery. Visibility​ Determines whether a target can include another target as its dependency. For more information, seeVisibility.","keywords":""},{"title":"Key concepts","type":0,"sectionRef":"#","url":"/docs/concepts/key_concepts/","content":"","keywords":""},{"title":"Buck2's dependency graph​","type":1,"pageTitle":"Key concepts","url":"/docs/concepts/key_concepts/#buck2s-dependency-graph","content":"Every build rule can have zero or more dependencies. You can specify these dependencies using, for example, the deps argument to the build rule. For more information about specifying dependencies, consult the reference page for the build rule you are using. These dependencies form a directed graph, called thetarget graph. Buck2 requires the graph to be acyclic. When building the output of a build rule, all of the rule's transitive dependencies are built first. This means that the graph is built in a "bottom-up" fashion. A build rule knows only which rules it depends on, not which rules depend on it. This makes the graph easier to reason about and enables Buck2 to identify independent subgraphs that can be built in parallel. It also enables Buck2 to determine the minimal set of build targets that need to be rebuilt. "},{"title":"Multiple Buck2 projects in a single repository​","type":1,"pageTitle":"Key concepts","url":"/docs/concepts/key_concepts/#multiple-buck2-projects-in-a-single-repository","content":"Buck2 is designed to build multiple deliverables from a single repository—that is, a monorepo—rather than from multiple repositories. Support for the monorepo design motivated Buck2's support for cells and projects. It is Facebook's experience that maintaining all dependencies in the same repository makes it easier to ensure that all developers have the correct version of the code and simplifies the process of making atomic commits. "},{"title":"See also​","type":1,"pageTitle":"Key concepts","url":"/docs/concepts/key_concepts/#see-also","content":"Take a look at the Concept Map for a visualization of how Buck2 concepts interact with each other. Also see the Glossary. "},{"title":"Target Pattern","type":0,"sectionRef":"#","url":"/docs/concepts/target_pattern/","content":"","keywords":""},{"title":"Build target patterns are not allowed in the deps argument​","type":1,"pageTitle":"Target Pattern","url":"/docs/concepts/target_pattern/#build-target-patterns-are-not-allowed-in-the-deps-argument","content":"Build target patterns cannot be used with the deps argument of a build rule. Buck requires that you specify all dependencies explicitly as either fully-qualified or relative build targets. "},{"title":"Target aliases​","type":1,"pageTitle":"Target Pattern","url":"/docs/concepts/target_pattern/#target-aliases","content":"Buck supports the ability to define aliases for build targets; using aliases can improve brevity when specifying targets on the Buck command line. To see which aliases exist, use buck2 audit config alias. "},{"title":"Buck1 vs Buck2","type":0,"sectionRef":"#","url":"/docs/developers/architecture/buck1_vs_buck2/","content":"","keywords":""},{"title":"At a glance​","type":1,"pageTitle":"Buck1 vs Buck2","url":"/docs/developers/architecture/buck1_vs_buck2/#at-a-glance","content":"The following table provides an at-a-glance comparison of Buck1 and Buck2. Buck1\tBuck2Build files in Starlark\tBuild files in Starlark Macros in Starlark\tMacros in Starlark Rules in Java\tRules in Starlark Rules and Macros are logically similar\tRules and Macros are logically similar Rules and Core are not well abstracted\tRules and Core are strongly separated Core in Java\tCore in Rust Remote Execution (RE) not well supported\tAll rules support remote execution by default Varying degrees of incrementality / parallelism\tUnified incrementality / parallelism "},{"title":"Top-down vs Bottom-up - understanding the implications of the difference in execution models between Buck1 and Buck2​","type":1,"pageTitle":"Buck1 vs Buck2","url":"/docs/developers/architecture/buck1_vs_buck2/#top-down-vs-bottom-up---understanding-the-implications-of-the-difference-in-execution-models-between-buck1-and-buck2","content":"It is often said that Buck1 does 'top down' and Buck2 does 'bottom up' building. This results in cases where some topics that seem conceptually trivial in Buck1 are hard problems in Buck2, or vice versa. "},{"title":"What are the differences?​","type":1,"pageTitle":"Buck1 vs Buck2","url":"/docs/developers/architecture/buck1_vs_buck2/#what-are-the-differences","content":"Scenario: Imagine you are building A, which depends on both B and C, but where neither B nor C have any dependencies. For the sake of simplicity, imagine B and C are C++ compilations (that produce object files), and A is a link (that consumes them and produces a shared library). Building A with Buck1​ Following is an oversimplified view of what happens: Buck1 computes the 'rulekey' for B. This consists of mixing together the hashes of the C++ file being compiled, as well as all C++ compiler flags, and so on. Buck1 then does the same for C.Buck1 then computes the rulekey for A. This consist of mixing together the rulekeys of B and C, as well as linker flags used by A. for example. Buck1 then looks up the rulekey for A in the cache. If there's a hit, then Buck1 downloads the output and its job done.If there's a cache miss, continue. Buck1 then queries the cache for the rulekeys of B and C: If there's a hit, then the output is downloaded.If there's a miss, then Buck1 runs the commands needed to produce the object file that was missed. Regardless of whether those commands run locally or on RE, Buck1 downloads the output of B and C. Buck1 then runs the command for A to produce the shared library. At this point, Buck1 may actually do another cache lookup with a different rulekey, which is called an input based rulekey. This rulekey is derived from the inputs of the action that needs executing, which at this point of the build are known (since they were just built)! Building A with Buck2​ In contrast, if you ask Buck2 to build A, here is what happens: Buck2 produce the action to compile B and computes the hash of the action. This is the 'action digest', which consists of mixing the hashes of all the inputs (such as the C++ file), as well as the command line (so, implicitly, the compiler flags). Buck2 queries the action cache for the action digest hash. If there's a hit, Buck2 obtains the hash of the resulting object file (that is, the output of B).If there's a miss, Buck2 runs the action on RE (or potentially locally) and obtains the hash of the object file. If the action runs remotely, Buck2 will not download the output. Buck2 does the same thing for C.Buck2 produces the action to link A. This consists of mixing together all the hashes of the input files (which were retrieved earlier) and the command line to produce an action digest, then querying the cache and potentially running the action. Once Buck2 produces A (again, on RE), then, since this output was requested by the user (unlike the intermediary outputs B and C), Buck2 downloads A. "},{"title":"Some implications​","type":1,"pageTitle":"Buck1 vs Buck2","url":"/docs/developers/architecture/buck1_vs_buck2/#some-implications","content":"Rulekeys vs Action digests​ The closest thing to Buck1’s rulekey in Buck2 is the action digest, but they are very different! Since it’s a product of the (transitive) inputs of an action, the (default) rulekey can be computed without running anything or querying any caches. However, the action digest cannot: it requires the actual inputs of an action, which means you need to build all the dependencies first. This means that: In Buck1, you can ask for rulekeys for a target.In Buck2, you’d have to run the build first then ask for the action digests (this is what the buck2 log what-ran would show you). Buck2 queries many more caches​ Buck1 will not descend further down a tree of dependency when it gets a cache hit.Buck2 will always walk up all your dependencies, regardless of whether you get cache hits or not. Materialization​ When Buck1 gets a cache miss, it downloads the outputs.Buck2, by contract, does not download outputs as part of a build (this is called 'deferred materialization'). Note that Buck2 does download the outputs if the user asked for them (that is, they were the targets the user put on the command line). "},{"title":"Second-order implications​","type":1,"pageTitle":"Buck1 vs Buck2","url":"/docs/developers/architecture/buck1_vs_buck2/#second-order-implications","content":"Non-determinism​ Non-determinism in a build affects Buck2 and Buck1 differently. One scenario that often works fine in Buck1 but can work catastrophically bad in Buck2 is a codegen step, driven by a Python binary. In certain configurations/modes, Python binaries are non-deterministic, because they are XARs ([https://engineering.fb.com/2018/07/13/data-infrastructure/xars-a-more-efficient-open-source-system-for-self-contained-executables/](eXecutable ARchives)) and that is always non-deterministic, which is bad! In Buck1, that doesn’t really matter, because you can get a cache hit on the codegen output without ever visiting the XAR (as long as the input files haven’t changed).In Buck2, you need the XAR to check the action cache for the codegen step. However, binaries are often not cached in certain configurations/modes, so your XAR isn’t cached.Therefore, since your XAR build is non-deterministic, you’ll always miss in the action cache and the codegen step will always have to run in every build. It can get worse! If the Python binary produces non-deterministic codegen, then the entire build might become uncacheable. Cache misses don’t necessarily propagate​ Say that, in Buck2, you’re trying to build a chain of actions like codegen -> compile -> link. Even if your codegen step isn’t cached (say, because its action inputs are non-deterministic as mentioned above), as long as the codegen output is deterministic, you can still get cache hits from compile and link steps. Hybrid execution​ If you squint, you’ll note that Buck1’s build could be viewed as 'local first', whereas Buck2’s would be better viewed as 'remote first': When Buck1 builds something remotely or gets a cache hit, the outputs are always downloaded.When Buck2 builds something remotely or gets a cache hit, the outputs are never downloaded. In turn, this has some important implications: When Buck1 builds something locally, the inputs are always already present.When Buck2 builds something locally, the inputs have to be downloaded, unless they were built locally (which if you’re doing any RE, is usually not the case), or if another command caused them to be downloaded. This means that, in Buck1, running something locally when you have spare resources is usually a no-brainer, because it’s always ready to go, and you’ll save on not having to download the output from RE (though you might have to upload the output if you need to run actions depending on it later). On the flip side, with Buck2, that’s not necessarily the case. To run an action locally, you need to download inputs that you might otherwise not have needed, which will tax your network connection. "},{"title":"Visibility","type":0,"sectionRef":"#","url":"/docs/concepts/visibility/","content":"","keywords":""},{"title":"Examples​","type":1,"pageTitle":"Visibility","url":"/docs/concepts/visibility/#examples","content":"A common library like Guava should be able to be included by any build rule: prebuilt_jar( name = 'guava', binary_jar = 'guava-14.0.1.jar', visibility = ['PUBLIC'] ) It is common to restrict the visibility of Android resources to the Java code that uses it: android_resource( name = 'ui_res', res = 'res', package = 'com.example', visibility = ['//java/com/example/ui:ui'] ) Or it may be simpler to make it visible to the entire directory in case additional build rules are added to java/com/example/ui/BUCK: android_resource( name = 'ui_res', res = 'res', package = 'com.example', visibility = ['//java/com/example/ui:'] ) Also, it is common to limit code for testing to be visible only to tests. If you define all of your Java unit tests in a folder named javatests/ in the root of your project, then you could define the following rule to ensure that only build rules under javatests/ can depend on JUnit: prebuilt_jar( name = 'junit', binary_jar = 'junit-4.11.jar', visibility = ['//javatests/...'] ) Finally, restricting the view of a target can be useful for preventing dependency creep: java_library( name = 'example', visibility = ['PUBLIC',], within_view = ['//foo:bar','//hello:world'] ) "},{"title":"BXL and Anonymous Targets","type":0,"sectionRef":"#","url":"/docs/developers/anon_targets/","content":"","keywords":""},{"title":"Anonymous targets​","type":1,"pageTitle":"BXL and Anonymous Targets","url":"/docs/developers/anon_targets/#anonymous-targets","content":"Anonymous targets are supported in BXL. Anonymous targets are keyed by the attributes, and allow you to share/cache work more effectively. You might want to use anonymous targets if there is some heavy Starlark evaluation which can be cached, or if you want to cache local actions. Note: The context object within the anon target rule is not a BXL context, but a normal rule analysis context. "},{"title":"APIs​","type":1,"pageTitle":"BXL and Anonymous Targets","url":"/docs/developers/anon_targets/#apis","content":"The actions object returned from ctx.bxl_actions().actions (equivalent ofctx.actions in normal rules) has the following functions for anonymous targets: anon_target(rule: "rule", attrs: Dict[str, Any]) -> "promise": generates a single anonymous target. Return type is an unresolved promise.anon_targets(rules: [("rule", Dict[str, Any])]) -> "promise": generates a list of anonymous targets. Return type is an unresolved promise representing the list of anonymous targets.artifact_promise(promise: "promise") -> "promise_artifact": turns an unresolved promise into a kind of artifact. SeeConvert promise to artifactfor more info on why you might want to use this. The resulting promise also has map() and join() functions. map() applies a function to the promise's results, and join() turns multiple promises into a single promise. To resolve promises in BXL, bxl_ctx has a resolve() function, which takes in the analysis actions instance (actions object returned fromctx.bxl_actions().actions) and a single promise and returns an optional promise value, if there is one. If you intend to create multiple promises, usingjoin() to produce a single promise will allow you to resolve them concurently with a single resolve() call. Small example: def _my_impl(ctx): bxl_actions = ctx.bxl_actions() # pass in relevant params to configure the execution platform resolution actions = bxl_actions.actions promise1 = actions.anon_target(my_anon_rule1, my_attrs1).promise promise2 = actions.anon_target(my_anon_rule2, my_attrs2).promise.map(my_map_function) joined = promise1.join(promise2) resolved = ctx.resolve(actions, joined) # do some more stuff ... "},{"title":"Complete Example​","type":1,"pageTitle":"BXL and Anonymous Targets","url":"/docs/developers/anon_targets/#complete-example","content":"## anon_bxl_rules.bzl ############ # Define an anonymous rule. MirrorInfo = provider(fields = ["mirrored_attrs"]) # Anonymous rule which writes some silly output, and also mirrors all attributes received def _mirror_impl(ctx: "context") -> ["provider"]: out = ctx.actions.declare_output("my_output") ctx.actions.write(out, "my_content") return [DefaultInfo(default_outputs = [out]), MirrorInfo(mirrored_attrs = ctx.attrs)] my_mirror_rule = rule(impl = _mirror_impl, attrs = { "false": attrs.bool(), "int": attrs.int(), "list_string": attrs.list(attrs.string()), "string": attrs.string(), "true": attrs.bool(), }) # Will be used in a map function in my_script.bxl below StringInfo = provider(fields = ["my_string"]) ## my_script.bxl ############ load(":anon_bxl_rules.bzl", "MirrorInfo", "StringInfo", "my_mirror_rule") def _anon_target_example(ctx): bxl_actions = ctx.bxl_actions() actions = bxl_actions.actions # Attrs to pass into the anonymous target. An anonymous target is defined by the hash of its attributes my_attrs = { "false": False, "int": 42, "list_string": ["a", "b", "c"], "string": "foo-bar-string", "true": True, } # A function to be applied to the promise (result of anon target), producing a promise with the resulting value. def my_function(providers): # Do something with the attrs. In this example, we are validating that the attrs are what we expect. mirrored_fields = providers[MirrorInfo].mirrored_attrs assert_eq(mirrored_fields.true, True) assert_eq(mirrored_fields.false, False) assert_eq(mirrored_fields.int, 42) assert_eq(mirrored_fields.string, "foo-bar-string") assert_eq(mirrored_fields.list_string, ["a", "b", "c"]) outputs = providers[DefaultInfo].default_outputs # These are the providers this target returns return [DefaultInfo(default_outputs = outputs), StringInfo(my_string = "map function succeeded!")] # Create an anonymous target by passing in "my_attrs" into "my_mirror_rule", and returns providers. # Specifically, it returns "DefaultInfo" and "MirrorInfo", as defined in "my_mirror_rule" # Then, we map the result to "my_function", which does some validation promise = actions.anon_target(my_mirror_rule, my_attrs).promise.map(my_function) # Resolving the promise returns a "provider_collection", which was defined by "my_function" above. # `DefaultInfo` is at index 0, `StringInfo` is at index 1 promise_result = ctx.resolve(actions, promise) ensured = ctx.output.ensure(promise_result[0].default_outputs[0]) # should print out location of the output, which contains the "my_content" string as defined in anon_bxl_rules.bzl above ctx.output.print(ensured) # should print out "map function succeeded!" ctx.output.print(promise_result[1].my_string) def assert_eq(a, b): if a != b: fail("Expected {} == {}".format(a, b)) anon_target_example = bxl_main( impl = _anon_target_example, cli_args = { }, ) "},{"title":"Buck2 Telemetry","type":0,"sectionRef":"#","url":"/docs/developers/architecture/buck2_telemetry/","content":"Buck2 Telemetry note 🚧 THIS PAGE IS UNDER CONSTRUCTION","keywords":""},{"title":"Architectural Model","type":0,"sectionRef":"#","url":"/docs/developers/architecture/buck2/","content":"","keywords":""},{"title":"High-level Overview​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#high-level-overview","content":"Buck2 is a build system whose core is written in Rust. Starlark, which is a deterministic, immutable version of Python, is used to extend the Buck2 build system, enabling Buck2 to be language-agnostic. The high-level flow starts with a user creating a build file (a BUCK file) containing one or more targets, which is specified by the target label, its inputs (sources, attributes, configurations, and dependencies), and the type of macro or rule to use. Briefly, a macro is a wrapper around a rule, which runs necessary commands to generate what’s needed for a target (for example, for a cxx_binary target, generate the header map and run necessary clang commands). Macros can be used to reduce boilerplate code for users (such as to supply the same set of attributes for a rule for all targets). Macros and rules are both written in Starlark and are specified by input sources, attributes, and the implementation function. If the target type is a macro, then the macro will fill in some details (for example, for a cxx_binary target, these are the compilation, debug flags to use, this is the clang to use). If the target type is a rule, then the macro layer is skipped altogether. This is all orchestrated by the core, which performs operations such as executing Buck2 CLI args, generating/updating the dependency graph (which contains the configured target nodes, unconfigured target nodes, action nodes, among other types of nodes that all allow for incrementality and execution), and materializing the artifacts. The core is written in Rust. The following diagram shows the high-level overview. The Buck2 CLI runs in a client process, which sends commands to the Buck2 daemon via gRPC. The daemon goes through several phases after receiving a request from the client: evaluation, configuration, analysis, execution, and materialization (see Execution Model, below). When usingbuck2 test, there is a final stage for testing. Note that these are the phases that a build goes through, but they are not always sequential. After finishing all phases, the daemon will send the response back to the client via gRPC. "},{"title":"Execution Model​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#execution-model","content":"The following diagram shows the Execution Model, which consists of 5 phases and states. Each of the phases and states shown in the Execution Model, are detailed in the following sub-sections. "},{"title":"State 0 - Build Files​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#state-0---build-files","content":"Build files (commonly referred to as BUCK files, their default name) are the main input to Buck2 and are syntactically Python. Each build file is uniquely identified by the directory in which it's located. Since all build files have the same name, there cannot be two build files in the same directory. This is usually represented as the relative path from the root of the project (the directory where the .buckconfig file is). Each build file has a set of targets. These describe the things the user wants Buck2 to know about. Each target has a type and a set of named attributes, including at least a name (also known as the label) identifying it. Additional attributes depend on the type of the target. "},{"title":"Phase A: Evaluation​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#phase-a-evaluation","content":"First, Buck2 evaluates a build file, and then constructs an unconfigured target graph. Buck2 performs directory listings to discover packages, then evaluates the build files that were found, expands any macros detected into their underlying rules, and then will take rule attributes and convert them from Starlark to Rust types to construct a target node, and insert it into the unconfigured target graph, which is a smaller portion of Buck2’s larger dependency graph. The target node consists of a reference to rule implementation, and the set of attributes and sources. The result of evaluation is a list of targets read from the build file mapped to a target node in Buck2 unconfigured target graph. "},{"title":"State 1 - Unconfigured Target Graph is generated​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#state-1---unconfigured-target-graph-is-generated","content":"At this point, the unconfigured target graph is available for the next stage of transformation, which is to configure the target nodes within the graph. "},{"title":"Phase B: Configuration​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#phase-b-configuration","content":"At the end of evaluation, the target nodes are not yet configured. Configuration means applying a list of constraints (such as resolving selects to specify the right CPU) to make sure the target can be run where it needs to. This is also known as target platform resolution, and can be configured within the target, the buckconfig, propagated from dependencies, or passed into the CLI. After applying configurations, the target nodes are transformed into configured target nodes within the Buck2 configured target graph, which is a smaller portion of Buck2’s larger dependency graph. "},{"title":"State 2 - Configured Target Graph is generated​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#state-2---configured-target-graph-is-generated","content":"At this point, the configured target graph is available for the analysis stage to generate the action graph. "},{"title":"Phase C: Analysis​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#phase-c-analysis","content":"In the analysis phase, Buck2 constructs a context object (ctx) which contains relevant information (such as attributes pulled from the configuration stage), all converted into Starlark types and made available to the rule. For example, the target’s dependencies are turned into a ProviderCollection, source files are converted into StarlarkArtifacts, and String attributes are turned into aStarlarkString. This ctx object is backed by Buck2’s dependency graph for computation and rules use it to tell Buck2 to run actions, create dynamic actions, or create new files. The rule will return a list of providers, which is data that the rule wants to expose to its dependents (that is, can flow through the dependency graph), such as output artifact information (such as file paths and file hashes). Providers could be actions, source files, or attributes. Within the returned list, DefaultInfo always needs to be returned, which indicates what the default outputs are. Some other common built-in providers include RunInfo, TestInfo, and InstallInfo. The end result is a list of providers and actions (inserted into the action graph) that Buck2 needs to execute to produce the desired outputs, known as 'bound artifacts'. "},{"title":"State 3 - Action Graph and Providers are generated​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#state-3---action-graph-and-providers-are-generated","content":"At this point, the action graph and providers are available to be processed by the execution stage. "},{"title":"Phase D: Execute​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#phase-d-execute","content":"Execution is where Buck2 takes all the providers (input files from the targets, args from the command line), runs the actions, and then outputs the computed results. The critical path is the theoretical lower bound for the duration of a build, which are the slowest set of actions. Buck2 can be run locally or on remote execution, or in a hybrid manner. For each action, a digest is created which is a hash of an action's command and all its inputs. Buck2 then checks if there is a result cached within RE for an action with a given digest. If there is a cache hit, Buck2 does not need to run the command for the action. Instead, the RE returns the output action digest. This digest can be used to download the actual output artifacts at a later time. This is known as the RE action cache. If there is a cache miss, the action needs to be run either remotely or locally. If Buck2 decides to run the action remotely, it will first upload all of the action's inputs that are missing from the RE's content addressable storage. If Buck2 decides to run the action locally, it will first download and materialize in buck-out all of the action's inputs. These inputs might be outputs of other actions and are stored in RE's content addressable storage but are missing on the local machine.Only after those steps will Buck2 schedule the action for actual execution. Buck2 can also decide to run local and remote execution simultaneously (a process known as racing), and use the result of whichever action finishes first to speed up performance. This strategy is known as hybrid execution." Materialization of action outputs (which involves downloading and placing them in the correct location in buck-out) can be done immediately after the action has finished executing. Alternatively, it can be deferred until it is actually needed for the local execution of another action. There are various configurations that a user can set to control how this materialization is handled. "},{"title":"State 4 - Build outputs are generated​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#state-4---build-outputs-are-generated","content":"At this point, the build is complete. If a user ran buck2 test, then there is a final transformation for Buck2 to construct a command for TPX to execute the actual test. "},{"title":"Phase E: Execute tests​","type":1,"pageTitle":"Architectural Model","url":"/docs/developers/architecture/buck2/#phase-e-execute-tests","content":"For more detail on testing, reviewTest Execution. "},{"title":"globals","type":0,"sectionRef":"#","url":"/docs/api/bxl/globals/","content":"","keywords":""},{"title":"ActionErrorCtx​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#actionerrorctx","content":"ActionErrorCtx: type "},{"title":"ActionErrorLocation​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#actionerrorlocation","content":"ActionErrorLocation: type "},{"title":"ActionSubError​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#actionsuberror","content":"ActionSubError: type "},{"title":"AnalysisActions​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#analysisactions","content":"AnalysisActions: type "},{"title":"AnalysisContext​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#analysiscontext","content":"AnalysisContext: type "},{"title":"AnonTarget​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#anontarget","content":"AnonTarget: type "},{"title":"AnonTargets​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#anontargets","content":"AnonTargets: type "},{"title":"Artifact​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#artifact","content":"Artifact: type "},{"title":"ArtifactTag​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#artifacttag","content":"ArtifactTag: type "},{"title":"ArtifactValue​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#artifactvalue","content":"ArtifactValue: type "},{"title":"Attr​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#attr","content":"Attr: type "},{"title":"CellPath​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#cellpath","content":"CellPath: type "},{"title":"CellRoot​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#cellroot","content":"CellRoot: type "},{"title":"CommandExecutorConfig​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#commandexecutorconfig","content":"def CommandExecutorConfig( *, local_enabled: bool, remote_enabled: bool, remote_cache_enabled: None | bool = None, remote_dep_file_cache_enabled: bool = False, remote_execution_properties = None, remote_execution_action_key = None, remote_execution_max_input_files_mebibytes: None | int = None, remote_execution_queue_time_threshold_s: None | int = None, remote_execution_use_case = None, use_limited_hybrid: bool = False, allow_limited_hybrid_fallbacks: bool = False, allow_hybrid_fallbacks_on_failure: bool = False, use_windows_path_separators: bool = False, use_persistent_workers: bool = False, allow_cache_uploads: bool = False, max_cache_upload_mebibytes: None | int = None, experimental_low_pass_filter: bool = False, remote_output_paths: None | str = None, remote_execution_resource_units: None | int = None, remote_execution_dependencies: list[dict[str, str]] = [] ) -> command_executor_config Contains configurations for how actions should be executed .type attribute​ Produces "command_executor_config" Details​ local_enabled : Whether to use local execution for this execution platform. If both remote_enabled and local_enabled are True, we will use the hybrid executorremote_enabled: Whether to use remote execution for this execution platformremote_cache_enabled: Whether to query RE cachesremote_execution_properties: Properties for remote execution for this platformremote_execution_action_key: A component to inject into the action key This should typically used to inject variability into the action key so that it's different across e.g. build modes (RE uses the action key for things like expected memory utilization)remote_execution_max_input_files_mebibytes: The maximum input file size (in bytes) that remote execution can supportremote_execution_queue_time_threshold_s: The maximum time in seconds we are willing to wait in the RE queue for remote execution to start running our actionremote_execution_use_case: The use case to use when communicating with REuse_limited_hybrid: Whether to use the limited hybrid executorallow_limited_hybrid_fallbacks: Whether to allow fallbacksallow_hybrid_fallbacks_on_failure: Whether to allow fallbacks when the result is failure (i.e. the command failed on the primary, but the infra worked)use_windows_path_separators: Whether to use Windows path separators in command line argumentsuse_persistent workers: Whether to use persistent workers for local execution if they are availableallow_cache_uploads: Whether to upload local actions to the RE cachemax_cache_upload_mebibytes: Maximum size to upload in cache uploadsexperimental_low_pass_filter: Whether to use the experimental low pass filterremote_output_paths: How to express output paths to REremote_execution_resource_units: The resources (eg. GPUs) to use for remote executionremote_execution_dependencies: Dependencies for remote execution for this platform "},{"title":"ConfigurationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#configurationinfo","content":"def ConfigurationInfo( *, constraints: dict[target_label, ConstraintValueInfo], values: dict[str, str] ) -> ConfigurationInfo Provider that signals that a rule contains configuration info. This is used both as part of defining configurations (platform(), constraint_value()) and defining whether a target "matches" a configuration or not (config_setting(), constraint_value()) .type attribute​ Produces "ConfigurationInfo" Details​ Provides a number of fields that can be accessed: constraints: dict[target_label, ConstraintValueInfo] - field values: dict[str, str] - field "},{"title":"ConfiguredProvidersLabel​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#configuredproviderslabel","content":"ConfiguredProvidersLabel: type "},{"title":"ConfiguredTargetLabel​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#configuredtargetlabel","content":"ConfiguredTargetLabel: type "},{"title":"ConstraintSettingInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#constraintsettinginfo","content":"def ConstraintSettingInfo(*, label: target_label) -> ConstraintSettingInfo Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_setting() target. .type attribute​ Produces "ConstraintSettingInfo" Details​ Provides a number of fields that can be accessed: label: target_label - field "},{"title":"ConstraintValueInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#constraintvalueinfo","content":"def ConstraintValueInfo( *, setting: ConstraintSettingInfo, label: target_label ) -> ConstraintValueInfo Provider that signals that a target can be used as a constraint key. This is the only provider returned by a constraint_value() target. .type attribute​ Produces "ConstraintValueInfo" Details​ Provides a number of fields that can be accessed: setting: ConstraintSettingInfo - field label: target_label - field "},{"title":"DefaultInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#defaultinfo","content":"def DefaultInfo( default_output: None | artifact = None, default_outputs: None | list[artifact] = None, other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] = _, sub_targets: dict[str, typing.Any] = _ ) -> DefaultInfo A provider that all rules' implementations must return .type attribute​ Produces "DefaultInfo" Details​ In many simple cases, this can be inferred for the user. Example of a rule's implementation function and how these fields are used by the framework: # //foo_binary.bzl def impl(ctx): ctx.action.run([ctx.attrs._cc[RunInfo], "-o", ctx.attrs.out.as_output()] + ctx.attrs.srcs) ctx.action.run([ ctx.attrs._strip[RunInfo], "--binary", ctx.attrs.out, "--stripped-out", ctx.attrs.stripped.as_output(), "--debug-symbols-out", ctx.attrs.debug_info.as_output(), ]) return [ DefaultInfo( sub_targets = { "stripped": [ DefaultInfo(default_outputs = [ctx.attrs.stripped, ctx.attrs.debug_info]), ], }, default_output = ctx.attrs.out, ] foo_binary = rule( impl=impl, attrs={ "srcs": attrs.list(attrs.source()), "out": attrs.output(), "stripped": attrs.output(), "debug_info": attrs.output(), "_cc": attrs.dep(default="//tools:cc", providers=[RunInfo]), "_strip_script": attrs.dep(default="//tools:strip", providers=[RunInfo]) ) def foo_binary_wrapper(name, srcs): foo_binary( name = name, srcs = src, out = name, stripped = name + ".stripped", debug_info = name + ".debug_info", ) # //subdir/BUCK load("//:foo_binary.bzl", "foo_binary_wrapper") genrule(name = "gen_stuff", ...., default_outs = ["foo.cpp"]) # ":gen_stuff" pulls the default_outputs for //subdir:gen_stuff foo_binary_wrapper(name = "foo", srcs = glob(["*.cpp"]) + [":gen_stuff"]) # Builds just 'foo' binary. The strip command is never invoked. $ buck build //subdir:foo # builds the 'foo' binary, because it is needed by the 'strip' command. Ensures that # both the stripped binary and the debug symbols are built. $ buck build //subdir:foo[stripped] Provides a number of fields that can be accessed: sub_targets: dict[str, provider_collection] - A mapping of names to ProviderCollections. The keys are used when resolving the ProviderName portion of a ProvidersLabel in order to access the providers for a subtarget, such as when doing buck2 build cell//foo:bar[baz]. Just like any ProviderCollection, this collection must include at least a DefaultInfo provider. The subtargets can have their own subtargets as well, which can be accessed by chaining them, e.g.: buck2 build cell//foo:bar[baz][qux]. default_outputs: list[artifact] - A list of Artifacts that are built by default if this rule is requested explicitly, or depended on as as a "source". other_outputs: list[artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo] - A list of ArtifactTraversable. The underlying Artifacts they define will be built by default if this rule is requested, but not when it's depended on as as a "source". ArtifactTraversable can be an Artifact (which yields itself), or cmd_args, which expand to all their inputs. "},{"title":"Dependency​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#dependency","content":"Dependency: type "},{"title":"DynamicActions​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#dynamicactions","content":"DynamicActions: type "},{"title":"DynamicActionsCallable​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#dynamicactionscallable","content":"DynamicActionsCallable: type "},{"title":"ExecutionPlatformInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#executionplatforminfo","content":"def ExecutionPlatformInfo( *, label: target_label, configuration: ConfigurationInfo, executor_config: command_executor_config ) -> ExecutionPlatformInfo Provider that signals that a target represents an execution platform. Provides a number of fields that can be accessed: label: target_label - label of the defining rule, used in informative messages configuration: ConfigurationInfo - The configuration of the execution platform executor_config: command_executor_config - The executor config "},{"title":"ExecutionPlatformRegistrationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#executionplatformregistrationinfo","content":"def ExecutionPlatformRegistrationInfo( *, platforms: list[ExecutionPlatformInfo], fallback = None ) -> ExecutionPlatformRegistrationInfo Provider that gives the list of all execution platforms available for this build. Provides a number of fields that can be accessed: platforms: list[ExecutionPlatformInfo] - field fallback: typing.Any - field "},{"title":"ExternalRunnerTestInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#externalrunnertestinfo","content":"def ExternalRunnerTestInfo( type, command = None, env = None, labels = None, contacts = None, use_project_relative_paths = None, run_from_project_root = None, default_executor = None, executor_overrides = None, local_resources = None, worker = None ) -> ExternalRunnerTestInfo Provider that signals that a rule can be tested using an external runner. This is the Buck1-compatible API for tests. .type attribute​ Produces "ExternalRunnerTestInfo" Details​ Provides a number of fields that can be accessed: test_type: str - A Starlark value representing the type of this test. command: list[typing.Any] - A Starlark value representing the command for this test. The external test runner is what gives meaning to this command. env: dict[str, typing.Any] - A Starlark value representing the environment for this test. Here again, the external test runner is what will this meaning. This is of type dict[str, ArgLike]. labels: list[str] - A starlark value representing the labels for this test. contacts: list[str] - A starlark value representing the contacts for this test. This is largely expected to be an oncall, though it's not validated in any way. use_project_relative_paths: bool - Whether this test should use relative paths run_from_project_root: bool - Whether this test should run from the project root, as opposed to the cell rootDefaults to True. default_executor: command_executor_config - Default executor to use to run tests. If none is passed we will default to the execution platform. executor_overrides: dict[str, command_executor_config] - Executors that Tpx can use to override the default executor. local_resources: dict[str, None | label] - Mapping from a local resource type to a target with a corresponding provider. Required types are passed from test runner. If the value for a corresponding type is omitted it means local resource should be ignored when executing tests even if those are passed as required from test runner. worker: WorkerInfo - Configuration needed to spawn a new worker. This worker will be used to run every single command related to test execution, including listing. "},{"title":"InstallInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#installinfo","content":"def InstallInfo(installer: label, files: dict[str, artifact]) -> InstallInfo A provider that can be constructed and have its fields accessed. Returned by rules. Provides a number of fields that can be accessed: installer: label - field files: dict[str, artifact] - field "},{"title":"Label​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#label","content":"Label: type "},{"title":"LocalResourceInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#localresourceinfo","content":"def LocalResourceInfo( *, setup: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, resource_env_vars: dict[str, str], setup_timeout_seconds: None | float | int = None ) -> LocalResourceInfo A provider that can be constructed and have its fields accessed. Returned by rules. .type attribute​ Produces "LocalResourceInfo" Details​ Provides a number of fields that can be accessed: setup: cmd_args - Command to run to initialize a local resource. Running this command writes a JSON to stdout. This JSON represents a pool of local resources which are ready to be used. Example JSON would be: { "pid": 42, "resources": [ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ] } Where '"pid"maps to a PID of a process which should be sent SIGTERM to release the pool of resources when they are no longer needed."resources"maps to the pool of resources. When a local resource from this particular pool is needed for an execution command, single entity will be reserved from the pool, for example{"socket_address": "bar:2"}and environment variable with name resolved using mapping inresource_env_varsfield and"socket_address"` key will be added to execution command. resource_env_vars: dict[str, str] - Mapping from environment variable (appended to an execution command which is dependent on this local resource) to keys in setup command JSON output. setup_timeout_seconds: None | float | int - Timeout in seconds for setup command. "},{"title":"OutputArtifact​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#outputartifact","content":"OutputArtifact: type "},{"title":"PlatformInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#platforminfo","content":"def PlatformInfo( *, label: str, configuration: ConfigurationInfo ) -> PlatformInfo A provider that can be constructed and have its fields accessed. Returned by rules. .type attribute​ Produces "PlatformInfo" Details​ Provides a number of fields that can be accessed: label: str - field configuration: ConfigurationInfo - field "},{"title":"ProjectRoot​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#projectroot","content":"ProjectRoot: type "},{"title":"Promise​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#promise","content":"Promise: type "},{"title":"Provider​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#provider","content":"Provider: type "},{"title":"ProviderCollection​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#providercollection","content":"ProviderCollection: type "},{"title":"ProvidersLabel​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#providerslabel","content":"ProvidersLabel: type "},{"title":"ResolvedStringWithMacros​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#resolvedstringwithmacros","content":"ResolvedStringWithMacros: type "},{"title":"RunInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#runinfo","content":"def RunInfo( args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _ ) -> RunInfo Provider that signals that a rule is runnable .type attribute​ Produces "RunInfo" Details​ Provides a number of fields that can be accessed: args: cmd_args - The command to run, stored as CommandLine "},{"title":"Select​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#select","content":"Select: type "},{"title":"TargetLabel​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#targetlabel","content":"TargetLabel: type "},{"title":"TemplatePlaceholderInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#templateplaceholderinfo","content":"def TemplatePlaceholderInfo( unkeyed_variables = {}, keyed_variables = {} ) -> TemplatePlaceholderInfo A provider that is used for expansions in string attribute templates .type attribute​ Produces "TemplatePlaceholderInfo" Details​ String attribute templates allow two types of user-defined placeholders, "unkeyed placeholders" like $(CXX) or $(aapt) and "keyed placeholders" that include a target key like$(cxxppflags //some:target). The expansion of each of these types is based on theTemplatePlaceholderInfo providers. "keyed placeholders" are used for the form $(<key> <target>) or $(<key> <target> <arg>). In both cases the lookup will expect a TemplatePlaceholderInfo in the providers of <target>. It will then lookup<key> in the keyed_variables (call this the value). There are then four valid possibilities: no-arg placeholder, an arg-like value: resolve to valueno-arg placeholder, a dictionary value: resolve to value["DEFAULT"]arg placeholder, a non-dictionary value: this is an errorarg placeholder, a dictionary value: resolve to value[<arg>] "unkeyed placeholders" are resolved by matching to any of the deps of the target. $(CXX) will resolve to the "CXX" value in any dep's TemplateProviderInfo.unkeyed_variables Fields: unkeyed_variables: A mapping of names to arg-like values. These are used for "unkeyed placeholder" expansion.keyed_variables: A mapping of names to arg-like values or dictionary of string to arg-like values. These are used for "keyed placeholder" expansion. Provides a number of fields that can be accessed: unkeyed_variables: dict[str, typing.Any] - field keyed_variables: dict[str, typing.Any] - field "},{"title":"TransitiveSet​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitiveset","content":"TransitiveSet: type "},{"title":"TransitiveSetArgsProjection​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitivesetargsprojection","content":"TransitiveSetArgsProjection: type "},{"title":"TransitiveSetArgsProjectionIterator​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitivesetargsprojectioniterator","content":"TransitiveSetArgsProjectionIterator: type "},{"title":"TransitiveSetDefinition​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitivesetdefinition","content":"TransitiveSetDefinition: type "},{"title":"TransitiveSetIterator​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitivesetiterator","content":"TransitiveSetIterator: type "},{"title":"TransitiveSetJsonProjection​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitivesetjsonprojection","content":"TransitiveSetJsonProjection: type "},{"title":"ValidationInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#validationinfo","content":"def ValidationInfo(*, validations: list[ValidationSpec]) -> ValidationInfo Provider describing how a given target node should be validated. Validations are run when target with ValidationInfo provider is a transitive dependency of a requested target. .type attribute​ Produces "ValidationInfo" Details​ Provides a number of fields that can be accessed: validations: list[ValidationSpec] - List of ValidationSpec values each representing a single validation. "},{"title":"ValidationSpec​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#validationspec","content":"def ValidationSpec( *, name: str, validation_result: artifact, optional: bool = False ) -> ValidationSpec .type attribute​ Produces "ValidationSpec" "},{"title":"WorkerInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#workerinfo","content":"def WorkerInfo(exe = [], *, concurrency: None | int = None) -> WorkerInfo Provider that signals that a rule is a worker tool .type attribute​ Produces "WorkerInfo" Details​ Provides a number of fields that can be accessed: exe: cmd_args - field concurrency: None | int - field "},{"title":"WorkerRunInfo​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#workerruninfo","content":"def WorkerRunInfo(*, worker: WorkerInfo, exe = []) -> WorkerRunInfo Provider that signals that a rule can run using a worker .type attribute​ Produces "WorkerRunInfo" Details​ Provides a number of fields that can be accessed: worker: WorkerInfo - field exe: cmd_args - field "},{"title":"anon_rule​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#anon_rule","content":"def anon_rule( *, impl: typing.Callable[[typing.Any], list[typing.Any]], attrs: dict[str, attribute], doc: str = "", artifact_promise_mappings: dict[str, typing.Callable[[typing.Any], list[typing.Any]]] ) -> "function" Define an anon rule, similar to how a normal rule is defined, except with an extra artifact_promise_mappings field. This is a dict where the keys are the string name of the artifact, and the values are the callable functions that produce the artifact. This is only intended to be used with anon targets. "},{"title":"attrs​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#attrs","content":"attrs: attrs "},{"title":"bxl​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#bxl","content":"bxl: struct(ActionQueryNode = type, Actions = type, AnalysisResult = type, AqueryContext = type, AuditContext = type, BuildResult = type, CliArgs = type, ConfiguredTargetNode = type, ConfiguredTargetSet = type, Context = type, CqueryContext = type, EnsuredArtifact = type, FileNode = type, Filesystem = type, LazyResolvedAttrs = type, OutputStream = type, TargetUniverse = type, UnconfiguredTargetNode = type, UnconfiguredTargetSet = type, UqueryContext = type, cli_args = struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function"), ctarget_set = "function", fail_no_stacktrace = "function", file_set = "function", get_path_without_materialization = "function", get_paths_without_materialization = "function", now = "function", utarget_set = "function") "},{"title":"bxl_main​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#bxl_main","content":"def bxl_main( *, impl: typing.Callable, cli_args: dict[str, bxl.CliArgs], doc: str = "" ) "},{"title":"cli_args​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#cli_args","content":"cli_args: struct(bool = "function", enum = "function", float = "function", int = "function", json = "function", list = "function", option = "function", string = "function", sub_target = "function", sub_target_expr = "function", target_expr = "function", target_label = "function") "},{"title":"cmd_args​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#cmd_args","content":"def cmd_args( *args: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo, hidden: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | list[typing.Any] | RunInfo = _, delimiter: str = _, format: str = _, prepend: str = _, quote: str = _, ignore_artifacts: bool = False, absolute_prefix: str = _, absolute_suffix: str = _, parent: int = 0, relative_to: artifact | cell_root | project_root | (artifact | cell_root | project_root, int) = _, replace_regex: list[(buck_regex | str, str)] | (buck_regex | str, str) = _ ) -> cmd_args The cmd_args type is created by this function and is consumed by ctx.actions.run. The type is a mutable collection of strings and artifact values. In general, command lines, artifacts, strings, RunInfo and lists thereof can be added to or used to construct a cmd_args value. .type attribute​ Produces "cmd_args" Details​ The arguments are: *args - a list of things to add to the command line, each of which must be coercible to a command line. Further items can be added with cmd.add.format - a string that provides a format to apply to the argument. for example, cmd_args(x, format="--args={}") would prepend --args= before x, or if x was a list, before each element in x.delimiter - added between arguments to join them together. For example, cmd_args(["--args=",x], delimiter="") would produce a single argument to the underlying tool.prepend - added as a separate argument before each argument.quote - indicates whether quoting is to be applied to each argument. The only current valid value is "shell".ignore_artifacts - if True, artifacts paths are used, but artifacts are not pulled.hidden - artifacts not present on the command line, but added as dependencies.absolute_prefix and absolute_suffix - added to the start and end of each artifact.parent - for all the artifacts use their parentth directory (e.g. parent = 1 for the directory the artifact is located, parent = 2 for that directory's parent, etc.).relative_to - make all artifact paths relative to a given location.replace_regex - replaces arguments with a regular expression. "},{"title":"ignore_artifacts​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#ignore_artifacts","content":"ignore_artifacts=True makes cmd_args to have no declared dependencies. Allows you to reference the path of an artifact without introducing dependencies on it. As an example where this can be useful, consider passing a dependency that is only accessed at runtime, but whose path must be baked into the binary. As an example: resources = cmd_args(resource_file, format = "-DFOO={}").ignore_artifacts() ctx.actions.run(cmd_args("gcc", "-c", source_file, resources)) Note that ignore_artifacts sets all artifacts referenced by this cmd_args to be ignored, including those added afterwards, so generally create a special cmd_args and scope it quite tightly. If you actually do use the inputs referenced by this command, you will either error out due to missing dependencies (if running actions remotely) or have untracked dependencies that will fail to rebuild when it should. "},{"title":"hidden​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#hidden","content":"Things to add to the command line which do not show up but are added as dependencies. The values can be anything normally permissible to pass to add. Typically used if the command you are running implicitly depends on files that are not passed on the command line, e.g. headers in the case of a C compilation. "},{"title":"absolute_prefix and absolute_suffix​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#absolute_prefix-and-absolute_suffix","content":"Adds a prefix to the start or end of every artifact. Prefix is often used if you have a $ROOT variable in a shell script and want to use it to make files absolute. Suffix is often used in conjunction with absolute_prefixto wrap artifacts in function calls. cmd_args(script, absolute_prefix = "$ROOT/") cmd_args(script, absolute_prefix = "call", absolute_suffix = ")") `parent ` For all the artifacts use their parent directory. Typically used when the file name is passed one way, and the directory another, e.g. cmd_args(artifact, format="-L{}", parent=1). relative_to=dir or relative_to=(dir, parent) Make all artifact paths relative to a given location. Typically used when the command you are running changes directory. By default, the paths are relative to the artifacts themselves (equivalent to parent equals to 0). Use parent to make the paths relative to an ancestor directory. For example parent equals to 1 would make all paths relative to the containing dirs of any artifacts in the cmd_args. dir = symlinked_dir(...) script = [ cmd_args(dir, format = "cd {}", relative_to=dir), ] replace_regex Replaces all parts matching pattern regular expression (or regular expressions) in each argument with replacement strings. "},{"title":"ctarget_set​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#ctarget_set","content":"def ctarget_set(nodes: list[bxl.ConfiguredTargetNode] = _) -> target_set Creates a target set from a list of configured nodes. Sample usage: def _impl_ctarget_set(ctx): targets = bxl.ctarget_set([cnode_a, cnode_b]) ctx.output.print(type(targets)) ctx.output.print(len(targets)) "},{"title":"dedupe​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#dedupe","content":"def dedupe(val, /) Remove duplicates in a list. Uses identity of value (pointer), rather than by equality. In many cases you should use a transitive set instead. "},{"title":"dynamic_actions​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#dynamic_actions","content":"def dynamic_actions( *, impl: typing.Callable["actions: actions, artifacts: dict[artifact, artifact_value], outputs: dict[artifact, artifact], arg: typing.Any", None] ) -> DynamicActionCallable Create new dynamic action callable. Returned object will be callable, and the result of calling it can be passed to ctx.actions.dynamic_output_new. "},{"title":"fail_no_stacktrace​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#fail_no_stacktrace","content":"def fail_no_stacktrace(*args) -> None "},{"title":"file_set​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#file_set","content":"def file_set() -> file_set Creates an empty file set for configured nodes. Sample usage: def _impl_file_set(ctx): files = file_set() ctx.output.print(type(files)) ctx.output.print(len(files)) "},{"title":"get_base_path​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#get_base_path","content":"def get_base_path() -> str get_base_path() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar. This function is identical to package_name. "},{"title":"get_cell_name​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#get_cell_name","content":"def get_cell_name() -> str get_cell_name() can be called from either a BUCK file or a .bzl file, and returns the name of the cell where the BUCK file that started the call lives. For example, inside foo//bar/baz/BUCK the output will be foo. If that BUCK file does a load("hello//world.bzl", "something") then the result in that .bzl file will also be foo. "},{"title":"get_path_without_materialization​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#get_path_without_materialization","content":"def get_path_without_materialization( this: artifact, ctx: bxl.Context, /, *, abs: bool = False ) -> str The output path of an artifact-like (source, build, declared). Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized (i.e. it may not actually exist on the disk yet). This is a risky function to call because you may accidentally pass this path to further BXL actions that expect the artifact to be materialized. If this happens, the BXL script will error out. If you want the path without materialization for other uses that don’t involve passing them into further actions, then it’s safe. Sample usage: def _impl_get_path_without_materialization(ctx): owner = ctx.cquery().owner("cell//path/to/file")[0] artifact = owner.get_source("cell//path/to/file", ctx) source_artifact_project_rel_path = get_path_without_materialization(artifact, ctx) ctx.output.print(source_artifact_project_rel_path) # Note this artifact is NOT ensured or materialized "},{"title":"get_paths_without_materialization​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#get_paths_without_materialization","content":"def get_paths_without_materialization( cmd_line: artifact | cell_root | cmd_args | label | label_relative_path | output_artifact | project_root | resolved_macro | str | tagged_command_line | target_label | transitive_set_args_projection | write_json_cli_args | RunInfo, ctx: bxl.Context, /, *, abs: bool = False ) The output paths of a cmd_args() inputs. The output paths will be returned as a list. Takes an optional boolean to print the absolute or relative path. Note that this method returns an artifact path without asking for the artifact to be materialized, (i.e. it may not actually exist on the disk yet). This is a risky function to call because you may accidentally pass this path to further BXL actions that expect the artifact to be materialized. If this happens, the BXL script will error out. If you want the path without materialization for other uses that don’t involve passing them into further actions, then it’s safe. Sample usage: def _impl_get_paths_without_materialization(ctx): node = ctx.configured_targets("root//bin:the_binary") providers = ctx.analysis(node).providers() path = get_paths_without_materialization(providers[RunInfo], abs=True) # Note this artifact is NOT ensured or materialized ctx.output.print(path) "},{"title":"glob​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#glob","content":"def glob( include: list[str] | tuple[str, ...], *, exclude: list[str] | tuple[str, ...] = [] ) -> list[str] The glob() function specifies a set of files using patterns. Only available from BUCK files. A typical glob call looks like: glob(["foo/**/*.h"]) This call will match all header files in the foo directory, recursively. You can also pass a named exclude parameter to remove files matching a pattern: glob(["foo/**/*.h"], exclude = ["**/config.h"]) This call will remove all config.h files from the initial match. The glob() call is evaluated against the list of files owned by this BUCK file. A file is owned by whichever BUCK file is closest above it - so given foo/BUCK andfoo/bar/BUCK the file foo/file.txt would be owned by foo/BUCK (and available from its glob results) but the file foo/bar/file.txt would be owned by foo/bar/BUCkand not appear in the glob result of foo/BUCK, even if you write glob(["bar/file.txt"]). As a consequence of this rule, glob(["../foo.txt"]) will always return an empty list of files. Currently glob is evaluated case-insensitively on all file systems, but we expect that to change to case sensitive in the near future. "},{"title":"host_info​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#host_info","content":"def host_info() -> struct(..) The host_info() function is used to get the current OS and processor architecture on the host. The structure returned is laid out thusly: struct( os=struct( is_linux=True|False, is_macos=True|False, is_windows=True|False, is_freebsd=True|False, is_unknown=True|False, ), arch=struct( is_aarch64=True|False, is_arm=True|False, is_armeb=True|False, is_i386=True|False, is_mips=True|False, is_mips64=True|False, is_mipsel=True|False, is_mipsel64=True|False, is_powerpc=True|False, is_ppc64=True|False, is_x86_64=True|False, is_unknown=True|False, ), ) "},{"title":"implicit_package_symbol​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#implicit_package_symbol","content":"def implicit_package_symbol(name: str, default = _) "},{"title":"load_symbols​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#load_symbols","content":"def load_symbols(symbols: dict[str, typing.Any]) -> None Used in a .bzl file to set exported symbols. In most cases just defining the symbol as a top-level binding is sufficient, but sometimes the names might be programatically generated. It is undefined behaviour if you try and use any of the symbols exported here later in the same module, or if they overlap with existing definitions. This function should be used rarely. "},{"title":"now​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#now","content":"def now() -> instant Creates an Instant at the current time. Sample usage: def _impl_elapsed_millis(ctx): instant = now() time_a = instant.elapsed_millis() # do something that takes a long time time_b = instant.elapsed_millis() ctx.output.print(time_a) ctx.output.print(time_b) This function is only accessible through Bxl. "},{"title":"oncall​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#oncall","content":"def oncall(name: str, /) -> None Called in a BUCK file to declare the oncall contact details for all the targets defined. Must be called at most once, before any targets have been declared. Errors if called from a .bzl file. "},{"title":"package​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#package","content":"def package( *, inherit: bool = False, visibility: list[str] | tuple[str, ...] = [], within_view: list[str] | tuple[str, ...] = [] ) -> None "},{"title":"package_name​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#package_name","content":"def package_name() -> str package_name() can only be called in buildfiles (e.g. BUCK files) or PACKAGE files, and returns the name of the package. E.g. inside foo//bar/baz/BUCK the output will be bar/baz. E.g. inside foo//bar/PACKAGE the output will be bar. "},{"title":"plugins​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#plugins","content":"plugins: plugins "},{"title":"provider​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#provider-1","content":"def provider( *, doc: str = "", fields: list[str] | tuple[str, ...] | dict[str, typing.Any] ) -> provider_callable Create a "provider" type that can be returned from rule implementations. Used to pass information from a rule to the things that depend on it. Typically named with an Info suffix. GroovyLibraryInfo(fields = [ "objects", # a list of artifacts "options", # a string containing compiler options ]) Given a dependency you can obtain the provider with my_dep[GroovyLibraryInfo]which returns either None or a value of type GroovyLibraryInfo. For providers that accumulate upwards a transitive set is often a good choice. "},{"title":"provider_field​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#provider_field","content":"def provider_field( ty, /, *, default = _ ) -> ProviderField Create a field definition object which can be passed to provider type constructor. "},{"title":"read_config​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#read_config","content":"def read_config(section: str, key: str, default = _) Read a configuration from the nearest enclosing .buckconfig of the BUCK file that started evaluation of this code. As an example, if you have a .buckconfig of: [package_options] compile = super_fast Then you would get the following results: read_config("package_options", "compile") == "super_fast" read_config("package_options", "linker") == None read_config("package_options", "linker", "a_default") == "a_default" In general the use of .buckconfig is discouraged in favour of select, but it can still be useful. "},{"title":"read_oncall​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#read_oncall","content":"def read_oncall() -> None | str Called in a BUCK file to retrieve the previously set oncall, or None if none has been set. It is an error to call oncall after calling this function. "},{"title":"read_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#read_package_value","content":"def read_package_value(key: str, /) Read value specified in the PACKAGE file. Returns None if value is not set. "},{"title":"read_parent_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#read_parent_package_value","content":"def read_parent_package_value(key: str, /) Read a package value defined in a parent PACKAGE file. This function can only be called in a Package context. Returns None if value is not set. "},{"title":"read_root_config​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#read_root_config","content":"def read_root_config( section: str, key: str, default: None | str = None, / ) -> None | str Like read_config but the project root .buckconfig is always consulted, regardless of the cell of the originating BUCK file. "},{"title":"regex​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#regex","content":"def regex( regex: str, /, *, fancy: bool = False ) -> buck_regex .type attribute​ Produces "buck_regex" "},{"title":"regex_match​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#regex_match","content":"def regex_match(regex: str, str: str, /) -> bool Test if a regular expression matches a string. Fails if the regular expression is malformed. As an example: regex_match("^[a-z]*$", "hello") == True regex_match("^[a-z]*$", "1234") == False "},{"title":"repository_name​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#repository_name","content":"def repository_name() -> str Like get_cell_name() but prepends a leading @ for compatibility with Buck1. You should call get_cell_name() instead, and if you really want the @, prepend it yourself. "},{"title":"rule​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#rule","content":"def rule( *, impl: typing.Callable[[typing.Any], list[typing.Any]], attrs: dict[str, attribute], cfg = _, doc: str = "", is_configuration_rule: bool = False, is_toolchain_rule: bool = False, uses_plugins: list[typing.Any] | tuple = [] ) -> "function" Define a rule. As a simple example: def _my_rule(ctx: AnalysisContext) -> list[Provider]: output = ctx.actions.write("hello.txt", ctx.attrs.contents, executable = ctx.attrs.exe) return [DefaultInfo(outputs = [output])] MyRule = rule(impl = _my_rule, attrs = { "contents": attrs.string(), "exe": attrs.option(attrs.bool(), default = False), }) "},{"title":"rule_exists​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#rule_exists","content":"def rule_exists(name: str) -> bool Check if the target with name has already been defined, returns True if it has. Note that this function checks for the existence of a target rather than a rule. In general use of this function is discouraged, as it makes definitions of rules not compose. "},{"title":"select​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#select-1","content":"def select(d, /) -> selector "},{"title":"select_equal_internal​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#select_equal_internal","content":"def select_equal_internal(left, right, /) -> bool Tests that two selects are equal to each other. For testing use only. We simply compare their string representations. "},{"title":"select_map​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#select_map","content":"def select_map(d, func, /) Maps a selector. Each value within a selector map and on each side of an addition will be passed to the mapping function. The returned selector will have the same structure as this one. Ex: def increment_items(a): return [v + 1 for v in a] select_map([1, 2] + select({"c": [2]}), increment_items) == [2, 3] + select({"c": [3]}) "},{"title":"select_test​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#select_test","content":"def select_test(d, func, /) -> bool Test values in the select expression using the given function. Returns True, if any value in the select passes, else False. Ex: select_test([1] + select({"c": [1]}), lambda a: len(a) > 1) == False select_test([1, 2] + select({"c": [1]}), lambda a: len(a) > 1) == True select_test([1] + select({"c": [1, 2]}), lambda a: len(a) > 1) == True "},{"title":"set_cfg_constructor​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#set_cfg_constructor","content":"def set_cfg_constructor( *, stage0, stage1, key: str, aliases = None ) -> None Register global cfg constructor. This function can only be called from the repository root PACKAGE file. Parameters: stage0: The first cfg constructor that will be invoked before configuration rules are analyzed. stage1: The second cfg constructor that will be invoked after configuration rules are analyzed. key: The key for cfg modifiers on PACKAGE values and metadata. "},{"title":"set_starlark_peak_allocated_byte_limit​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#set_starlark_peak_allocated_byte_limit","content":"def set_starlark_peak_allocated_byte_limit(value: int, /) -> None Set the peak allocated bytes during evaluation of build ctx. Err if it has already been set "},{"title":"sha256​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#sha256","content":"def sha256(val: str, /) -> str Computes a sha256 digest for a string. Returns the hex representation of the digest. sha256("Buck2 is the best build system") == "bb99a3f19ecba6c4d2c7cd321b63b669684c713881baae21a6b1d759b3ec6ac9" "},{"title":"soft_error​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#soft_error","content":"def soft_error( category: str, message: str, /, *, quiet: bool = _, stack: bool = _ ) -> None Produce an error that will become a hard error at some point in the future, but for now is a warning which is logged to the server. In the open source version of Buck2 this function always results in an error. Called passing a stable key (must be snake_case and start with starlark_, used for consistent reporting) and an arbitrary message (used for debugging). As an example: soft_error( "starlark_rule_is_too_long", "Length of property exceeds 100 characters in " + repr(ctx.label), ) "},{"title":"transition​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transition","content":"def transition( *, impl: typing.Callable, refs: dict[str, str], attrs: list[str] | tuple[str, ...] = _, split: bool = False ) -> transition "},{"title":"transitive_set​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#transitive_set","content":"def transitive_set( *, args_projections: dict[str, typing.Any] = _, json_projections: dict[str, typing.Any] = _, reductions: dict[str, typing.Any] = _ ) -> transitive_set_definition "},{"title":"utarget_set​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#utarget_set","content":"def utarget_set(nodes: list[bxl.UnconfiguredTargetNode] = _) -> target_set Creates a target set from a list of unconfigured nodes. Sample usage: def _impl_utarget_set(ctx): targets = bxl.utarget_set([unode_a, unode_b]) ctx.output.print(type(targets)) ctx.output.print(len(targets)) "},{"title":"warning​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#warning","content":"def warning(x: str, /) -> None Print a warning. The line will be decorated with the timestamp and other details, including the word WARN (colored, if the console supports it). If you are not writing a warning, use print instead. Be aware that printing lots of output (warnings or not) can be cause all information to be ignored by the user. "},{"title":"write_package_value​","type":1,"pageTitle":"globals","url":"/docs/api/bxl/globals/#write_package_value","content":"def write_package_value( key: str, value, /, *, overwrite: bool = False ) -> None Set the value to be accessible in the nested PACKAGE files. If any parent PACKAGE value has already set the same key, it will raise an error unless you pass overwrite = True, in which case it will replace the parent value. "},{"title":"FAQs","type":0,"sectionRef":"#","url":"/docs/developers/bxl_faqs/","content":"","keywords":""},{"title":"When is my BXL script cached?​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#when-is-my-bxl-script-cached","content":"The entire BXL script is represented as a single node on the DICE graph (Buck2’s internal dependency graph). When the script’s input changes, the entire node is invalidated and needs to be recomputed. For example, if a BXL function calls uquery, then uses the result to do a cquery and then a build, if Buck2 detects that any of the recorded calls to uquery, cquery, and build changes, then the entire BXL script will be reran. The computations themselves (uquery, cquery, and build) will still be incrementally evaluated via DICE, so we are not rerunning every computation entirely within the BXL. When the BXL script creates artifacts and ensures them, those artifacts are cached separately in an action outside of the BXL execution. This means that the artifacts produced by BXL are cached separately from the BXL script itself, much like the computations within a BXL. During 2023, there is a plan to add finer grain incrementality to make better use of DICE’s existing incrementality support. "},{"title":"What’s the difference between ctx.output.print() and print()?​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#whats-the-difference-between-ctxoutputprint-and-print","content":"ctx.output.print() writes items to stdout by buck2 even when the script is cached. Items written to the output stream are considered to be the results of a BXL script, which will be displayed to stdout by buck2 even when the script is cached.print() is offered by Starlark via the stdlib. This prints anything you want but won’t be provided to stdout at the end of a BXL script. These can be used to print to stderr. NOTE: print() statements don't show up if the script has been cached. "},{"title":"What do I need to know about ensured artifacts​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#what-do-i-need-to-know-about-ensured-artifacts","content":"An ensured_artifact prints out the relative or absolute path viactx.output.print(), depending on if called with abs_path() or rel_path(), but will print out <ensured artifact bound to <some path>> via print(). This is intentional because when the ensured artifact is created within BXL, it has not been materialized yet. It will be materialized after the BXL script finishes executing, and Buck2 core performs some additional actions after the BXL script. This is a safeguard to prevent people from misusing the artifact path and passing it into an action without the artifact having been materialized or passing an absolute path into RE, which can actually mess up RE and render the action not shareable across users. In addition, it makes these actions separately cacheable from the BXL execution. "},{"title":"What is the difference between dynamic outputs and anon targets?​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#what-is-the-difference-between-dynamic-outputs-and-anon-targets","content":"Dynamic outputs are meant fordynamic dependencies. The context type is a bxl_ctx. Dynamic outputs are ran asynchronously outside of the BXL execution. Anon targets are meant for sharing work betwen multiple BXLs. The context type is a normal rule analysis context. Anon targets are await-ed inline with your BXL function. "},{"title":"Can I mutate types returned by BXL APIs?​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#can-i-mutate-types-returned-by-bxl-apis","content":"The data types produced by BXL API calls are always immutable. "},{"title":"What is run synchronously vs asynchronously?​","type":1,"pageTitle":"FAQs","url":"/docs/developers/bxl_faqs/#what-is-run-synchronously-vs-asynchronously","content":"Starlark itself is run synchronously. However, certain BXL APIs are evaluated asynchronously. If you pass in multiple inputs to builds, queries, or analyses, the execution of these API calls will be blocking, but the inputs themselves will be evaluated in parallel within the execution. Ensuring artifacts, dynamic outputs, anon targets, and resolving promises will happen after the Starlark script is executed. "},{"title":"Getting Started","type":0,"sectionRef":"#","url":"/docs/developers/bxl_getting_started/","content":"","keywords":""},{"title":"Navigating the docs​","type":1,"pageTitle":"Getting Started","url":"/docs/developers/bxl_getting_started/#navigating-the-docs","content":"All BXL APIs can be found here. A good place to start would be the bxl.Context, which contains all available BXL functionalities. All Build APIs are mirrored to the BXL APIs section. The Starlark specis also a good resource for general Starlark APIs. "},{"title":"Writing a BXL​","type":1,"pageTitle":"Getting Started","url":"/docs/developers/bxl_getting_started/#writing-a-bxl","content":"To create a BXL, first, create a script somewhere in the repository ending in.bxl. (Note that you can define a single bxl per file, or multiple BXLs per file like in Starlark rules). In it, define a BXL function as follows: def _your_implementation(ctx): # ... pass your_function_name = bxl_main( impl = _your_implementation, cli_args = { # cli args that you want to receive from the command line "bool_arg": cli_args.bool(), "list_type": cli_args.list(cli_args.int()), "optional": cli_args.option(cli_args.string()), "target": cli_args.target_label(), }, ) This exposes your_function_name as a function, with whatever arguments you defined it, so that on the command line you can invoke: buck2 bxl //myscript.bxl:your_function_name -- --bool_arg true --list_type 1 --list_type 2 --target //foo:bar` You can also add helpdocs to the cli args and get them to show up in cli via--help: def _your_implementation(ctx): # ... pass your_function_name = bxl_main( impl = _your_implementation, cli_args = { "my_bool": cli_args.bool(True, "this will be printed as part of `--help`") }, ) The implementation function takes a single context as parameter (see the documentation for bxl.Context). Using it, you'll be able to access functions that enable you to perform queries, analysis, builds, and even create your own actions within BXL to build artifacts as part of a BXL function. The primary method to return information from BXL is to either print them, or build some artifact (for details, see thebxl.OutputStream documentation, available as part of ctx.output). At high level, ctx.output.print(..) prints results to stdout, and ctx.output.ensure(artifact) marks artifacts as to be materialized into buck-out by the end of the BXL function, returning an object that lets you print the output path via ctx.output.print(ensured). "},{"title":"Running a BXL​","type":1,"pageTitle":"Getting Started","url":"/docs/developers/bxl_getting_started/#running-a-bxl","content":"To run a BXL function, invoke the buck2 command: buck2 bxl <bxl function> -- <function args> Where <bxl function> is of the form <cell path to function>:<function name>, and <function args> are the arguments that the function accepts from the command line. The documentation for a BXL function can be seen by running: buck2 bxl <bxl function> -- --help` Note that this is different from buck2 bxl --help, which generates the help for the buck2 command instead of the function. "},{"title":"BXL Basics","type":0,"sectionRef":"#","url":"/docs/developers/bxl_basics/","content":"","keywords":""},{"title":"Common BXL functionalities​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#common-bxl-functionalities","content":""},{"title":"Build​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#build","content":"You can build targets within BXL withctx.build(). The result is abxl.BuildResult, which has artifacts() andfailures() functions that provide iterators to the artifacts or failures, respectively. You can pass in a single target or target pattern to build. "},{"title":"Analysis​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#analysis","content":"You can run analysis on targets within BXL viactx.analysis(). Analysis means to evaluate the underlying rule implementation for the inputted targets, and produce the providers that the rule defined for the target. A common workflow is to inspect the resulting providers, and perhaps ensure parts of these providers or run actions using information from the providers (see Actionsbelow). "},{"title":"Query​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#query","content":"Buck2 supports a couple different query types: querying the unconfigured graph (buck2 uquery), the configured graph (buck2 cquery), or the action graph (buck2 aquery). These queries are all available in BXL as well: ctx.uquery() returns abxl.UqueryContextctx.cquery() returns abxl.CqueryContextctx.aquery() returns abxl.AqueryContext You can read more about the individual queries in the API docs. There are many queries that are common between uquery, cquery, and aquery, but cquery and aquery will have extra queries unique to the configured graph or the action graph. One more thing to call out is the eval() query, which is a special query that takes in the entire query as a string literal. A common use foreval() is to migrate a complex query from Buck2 CLI to BXL by dropping the entire query string directly into eval(). The query results are target sets (iterable container) ofbxl.UnconfiguredTargetNodes for uquery, bxl.ConfiguredTargetNodesfor cquery, and bxl.ActionQueryNodes for aquery. Each of these node types have accessors on their attributes. A common workflow is to run some query in BXL, and iterate through the resulting nodes to inspect their attributes, and use those attributes to inform further computations in BXL. Uquery​ Querying the unconfigured graph means that no configurations (such as platforms and transitions) have been applied to the target graph yet. This means that it's very possible that some parts of the target graph is broken due to lack of configurations. Generally to avoid this problem, cquery may be preferred instead. Cquery​ Querying the configured graph means that configurations have been applied to the target graph. For cquery, we require that users use atarget universe for their query inputs. Aquery​ Aquery is a quite different from uquery and cquery. It is used to query the action graph, which is constructed after Buck2 runs analysis on the targets and produces the list of providers and actions needed to build the target. "},{"title":"Actions​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#actions","content":"You can create actions directly within the BXL API. The available action APIs are equivalent to the ones found on the actions type for normal rules, with the caveat thatdynamic actions use thebxl.Context (which provides richer functionalities). A common workflow would be to run analysis on a target, and use some interesting bits found in the analysis result to construct an augmentedcmd_args to run, and then ensure the action's output (see below for ensuring). Also seeRunning actions. "},{"title":"Ensure​","type":1,"pageTitle":"BXL Basics","url":"/docs/developers/bxl_basics/#ensure","content":"Ensuring an artifact means that you want the artifact to be materialized (meaning, downloaded to your machine) at the end of the BXL execution. There are two APIs for ensuring: ctx.output.ensure() and ctx.output.ensure_multiple()(see bxl.OutputStream). As the naming indicates, the former is for ensuring a single artifact, and the latter is for ensuring multiple artifact-like inputs. Artifact-like inputs includecmd_args (can be found when inspecting providers),bxl.BuildResult (produced when building something in BXL), or artifact (can be found when inspecting providers, or creating your own actions). A common workflow is to ensure an artifact that you created via some custom actions defined in your script, or ensuring some artifacts found in the providers after running analysis. Also seeWhat do I need to know about ensured artifacts. "},{"title":"Common How-Tos","type":0,"sectionRef":"#","url":"/docs/developers/bxl_how_tos/","content":"","keywords":""},{"title":"Passing in and using CLI args​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#passing-in-and-using-cli-args","content":"A BXL function can accept a cli_args attribute where args names and types are specified to use within your script, as shown in the following example: Example: def _impl_example(ctx): # ... pass example = bxl_main( impl = _impl_example, cli_args = { # cli args that you want to receive from the command line "bool_arg": cli_args.bool(), "list_type": cli_args.list(cli_args.int()), "optional": cli_args.option(cli_args.string()), "target": cli_args.target_label(), }, ) On the command line, you can invoke the arguments as follows: buck2 bxl //myscript.bxl:example -- --bool_arg true --list_type 1 --list_type 2 --target //foo:bar For BXL functions, to read the arguments, use them as attributes from thecli_args attribute on the BXL ctx object, as follows: def _impl_example(ctx): my_bool_arg = ctx.cli_args.bool_arg "},{"title":"Running actions​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#running-actions","content":"You can create actions within BXL via the actions_factory. This is called once globally then used on demand: def _impl_example(ctx): actions = ctx.bxl_actions().actions # call once, reuse wherever needed output = actions.write("my_output", "out") You will need to haveexecution platformsenabled for your project, or else you will get an error. You can specify the execution platform resolution by setting named parameters when instantiatingbxl_actions: exec_deps - These are dependencies you wish to access as executables for creating the action. This is usually the same set of targets one would pass to rule's attr.exec_dep. Accepts a list of strings, subtarget labels, target labels, or target nodes.toolchains - The set of toolchains needed for the actions you intend to create. Accepts a list of strings, subtarget labels, target labels, or target nodes.target_platform - The intended target platform for your toolchains. Accepts a string or target label.exec_compatible_with - Explicit list of configuration nodes (like platforms or constraints) that these actions are compatible with. This is theexec_compatible_with attribute of a target. Accepts a list of strings, target labels, or target nodes. If you specify exec_deps or toolchains, you can access the resolveddependency objects on the bxl_actions object. The bxl_actions object will have exec_deps and toolchains attributes, which are dicts where the keys are the unconfigured subtarget labels, and the values are the configured/resolved dependency objects. Note that the keys of exec_deps and toolchains must be unconfigured subtarget labels (StarlarkProvidersLabel), and not unconfigured target labels. You can use ctx.unconfigured_sub_targets(...) or with_sub_target() ontarget_label to create the label. def _impl_example(ctx): my_exec_dep = ctx.unconfigured_sub_targets("foo//bar:baz") # has some provider that you would use in the action bxl_actions = ctx.bxl_actions(exec_deps = [my_exec_dep]) # call once, reuse wherever needed output = bxl_actions.actions.run( [ "python3", bxl_actions.exec_deps[my_exec_dep][RunInfo], # access resolved exec_deps on the `bxl_actions` out.as_output(), ], category = "command", local_only = True, ) ctx.output.ensure(output) "},{"title":"Getting providers from an analysis​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#getting-providers-from-an-analysis","content":"After calling analysis(), you can get the providers collection fromproviders(): def _impl_example(ctx): my_providers = ctx.analysis(my_target).providers() "},{"title":"Get a specific provider from an analysis​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#get-a-specific-provider-from-an-analysis","content":"After calling analysis(), you can also get the providers collection fromproviders() then grab whatever specific provider you need: def _impl_example(ctx): default_info = ctx.analysis(my_target).providers()[DefaultInfo] ctx.output.print(default_info) "},{"title":"Get a specific subtarget from an analysis​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#get-a-specific-subtarget-from-an-analysis","content":"Once you have a provider, you can get its subtargets by using the sub_targetsattribute on the struct to get a dict of provider labels to provider collections: def _impl_example(ctx): subtarget = ctx.analysis(my_target).providers()[DefaultInfo].sub_targets["my_subtarget"] ctx.output.print(subtarget) "},{"title":"Building a target/subtarget without blocking​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#building-a-targetsubtarget-without-blocking","content":"ctx.build is synchronous and should only be used when the result of the build is needed inline during the bxl execution. To execute builds without blocking the script, retrieve the DefaultInfo from the target's providers and use thectx.output.ensure_multiple api. Example: ctx.output.ensure_multiple(ctx.analysis(label).providers()[DefaultInfo]) "},{"title":"Getting attributes or resolved attributes efficiently on a configured target node​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#getting-attributes-or-resolved-attributes-efficiently-on-a-configured-target-node","content":"If you need to use all of the attrs/resolved_attrs, then initializing the eager variant once would be best. If you only need a few of the attrs, then initializing the lazy variant is better. There’s not really a hard line, it depends on the target node, and which attrs you are looking for. If performance is key to your BXL script, the best way to determine this is to use the BXL profiler. Regardless, if you use eager or lazy versions of getting attributes, you should cache the attrs object: def _impl_example(ctx): my_configured_node = ctx.configured_targets(":foo") # call once and resue, ideally when you need most/all attrs eager = my_configured_node.attrs_eager() # call once and reuse, ideally when you only need a few attrs lazy = my_configured_node.attrs_lazy() # call once and reuse, ideally when you need most/all resolved attrs resolved_eager = my_configured_node.resolved_attrs_eager(ctx) # call once and reuse, ideally when you only need a few resolved attrs resolved_lazy = my_configured_node.resolved_attrs_lazy(ctx) "},{"title":"Inspecting a struct​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#inspecting-a-struct","content":"You can use dir(my_struct) to inspect a struct. You can also usegetattr(my_struct, "my_attr") to grab individual attributes, which is equivalent to my_struct.my_attr. These are available as part of theStarlark language spec. "},{"title":"Set addition/subtraction on a target_set​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#set-additionsubtraction-on-a-target_set","content":"There are a few BXL actions that return a target_set (such as a cqueryeval()). The target_set supports set subtraction and addition (you can use- and + directly in Starlark). "},{"title":"Initializing configured/unconfigured target_set​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#initializing-configuredunconfigured-target_set","content":"You can use following apis to initialize target_set def bxl.utarget_set(nodes: None | list[bxl.UnconfiguredTargetNode]) -> bxl.UnconfiguredTargetSet def bxl.ctarget_set(nodes: None | list[bxl.ConfiguredTargetNode]) -> bxl.ConfiguredTargetSet "},{"title":"Profiling, Testing, and Debugging a BXL script​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#profiling-testing-and-debugging-a-bxl-script","content":"You can use buck2 bxl profiler, with various measurements, to determine where the script is least efficient. To time individual pieces of the script, you can use BXL’s timestamp methods: def _impl_example(_ctx): start = now() # call once and reuse wherever is necessary # do something time intensive here end1 = start.elapsed_millis() # do something else time intensive here end2 = start.elapsed_millis() Debug - the common way to debug a BXL script is with print statements (print(), pprint() and ctx.output.print()). Test - BXL does not have a robust testing framework for mocking. The main method to test a BXL script is to actually invoke it with required inputs then verify the outputs. "},{"title":"Getting the path of an artifact as a string​","type":1,"pageTitle":"Common How-Tos","url":"/docs/developers/bxl_how_tos/#getting-the-path-of-an-artifact-as-a-string","content":"The starlark artifact type encapsulates source artifacts, declared artifacts, and build artifacts. It can be dangerous to access paths and use them in further BXL computations. For example, if you are trying to use absolute paths for something and end up passing it into a remotely executed action, the absolute path may not exist on the remote machine. Or, if you are working with paths and expecting the artifact to already have been materialized in further BXL computations, that would also result in errors. However, if you are not making any assumptions about the existence of these artifacts, you can use useget_path_without_materialization(), which accepts source, declared, or build aritfacts. It does not accept ensured artifacts (also seeWhat do I need to know about ensured artifacts). For getting paths of cmd_args() inputs, you can useget_paths_without_materialization(), but note this is risky because the inputs could contain tsets, which, when expanded, could be very large. Use these methods at your own risk. "},{"title":"BXL Telemetry","type":0,"sectionRef":"#","url":"/docs/developers/bxl_telemetry/","content":"","keywords":""},{"title":"Telemetry​","type":1,"pageTitle":"BXL Telemetry","url":"/docs/developers/bxl_telemetry/#telemetry","content":""},{"title":"Emitting events from your BXL script​","type":1,"pageTitle":"BXL Telemetry","url":"/docs/developers/bxl_telemetry/#emitting-events-from-your-bxl-script","content":"In BXL, you can emit custom events via ctx.instant_event(), which takes in two named parameters: id: string, identifies your event. Helpful to identify your event when looking through event logs. Ids do not have to be unique in a single BXL script.metadata: dict, where keys are strings, and values are strings, bools, ints, or lists/dicts of the mentioned types. You can put any metadata you wish here. Example: def _impl(ctx): ctx.instant_event(id = "id1", metadata = {"foo": "bar"}) my_script = bxl_main( impl = _impl, cli_args = {}, ) Only instant events can be manually created within BXL at this time, which means that the event represents a single point in time. If you need something similar to spans (start and end events which encompass a range of time) for measuring the duration of a particular section (excluding actions - see below for more information), you could couple instant events with the global now() function to measure the duration yourself: def _impl(ctx): instant = now() # do something time intensive end = instant.elapsed_millis() ctx.instant_event(id = "id1", metadata = {"duration": end}) # do something else time intensive end = instant.elapsed_millis() ctx.instant_event(id = "id2", metadata = {"duration": end}) my_script = bxl_main( impl = _impl, cli_args = {}, ) Measuring time for actions and ensuring artifacts You cannot use now() to measure the time it takes to run actions and ensure artifacts because these processes occur asynchronously outside of the BXL script execution. For BXL user telemetry, we emit action events via the buck2 core automatically. Events around ensuring the artifacts are not emitted currently, but will be added soon. "},{"title":"User event log​","type":1,"pageTitle":"BXL Telemetry","url":"/docs/developers/bxl_telemetry/#user-event-log","content":"To write to your own event log when running BXL, you can run your BXL command with the --user-event-log flag to tell buck2 where to write the events to. Buck2 is aware of the following file extensions: .json-lines,json-lines.zst, .json-lines.gz, and will compress the files automatically for you depending on the extension. If the extension is not one of these, the logs will always be written in JSONL format, uncompressed. Example: buck2 bxl path//to/my_script/script.bxl:my_script --user-event-log my_file.json-lines.gz When using this flag to write to a custom event log, it is up to you to clean up these log files. In addition, if the same filename is used with subsequent BXL invocations, events are always appended to the existing file contents, which is the same behavior as buck2 <any command> --event-log <path>. If you tell buck2 to write to a compressed file, you are responsible for decompressing them. "},{"title":"Getting a user event log from a normal event log​","type":1,"pageTitle":"BXL Telemetry","url":"/docs/developers/bxl_telemetry/#getting-a-user-event-log-from-a-normal-event-log","content":"buck2 log show-user can be used to convert a normal event log (regardless of encoding/compression) to a user event. Similar to buck2 log show, you can choose the most recent invocation, or the nth invocation, or provide a path to the normal user event log. Note that user event logs are not able to be passed into buck2 log show or buck2 log show-user. "},{"title":"Event log output​","type":1,"pageTitle":"BXL Telemetry","url":"/docs/developers/bxl_telemetry/#event-log-output","content":"The first line of your event log will always be the invocation record, which contains useful things like command line args used, working directory, etc. The subsequent lines are either instant events and/or action events, depending on your BXL script's contents. Instant event Sample: { "StarlarkUserEvent": { "id": "foo", "metadata": { "bool_value": true, "string_value": "str", "int_value": 123, "list_value": [ "a", "b", "c" ], "dict_value": { "foo": "bar" } }, }, "epoch_millis": 123456789 # when the event was emitted } Action event { "ActionExecutionEvent": { "kind": "Write", # kind of action, like write or run "name": { # name of the action, for user display. Unique within the execution of a particular target "category": "write", # category for the action "identifier": "my_output" # identifier for the action }, "duration_millis": 0, # duration of the action in millis, excluding input materialization time "output_size": 10, # size in bytes of the action's outputs "input_materialization_duration_millis": 0, # how long it took to materialize any inputs to the action "execution_kind": "Simple", # how the action was executed "owner": "cell//path/to/script.bxl:function_name" # owner of the action execution (target label, anon target label, bxl label) }, "epoch_millis": 123456789 # when the event was emitted } execution_kind includes: Local: action was executed locallyRemote: action was executed via a remote executorActionCache: action was served by the action cache and not executedSimple: action is simple and executed inline within buck2 (ex: write, symlink_dir)Skipped: action was not executed at allDeferred: action logically executed, but didn't do all the workLocalDepFile: action was served by the local dep file cache and not executed.LocalWorker: action was executed via a local workerNotSet: action execution kind was not set Ensure artifact event { "BxlEnsureArtifactsEvent": { "duration_millis": 0, # duration of ensuring the artifact }, "epoch_millis": 123456789 # when the event was emitted } "},{"title":"Why BXL","type":0,"sectionRef":"#","url":"/docs/developers/bxl/","content":"","keywords":""},{"title":"Buck2 Extension Language (BXL)​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#buck2-extension-language-bxl","content":"BXL is a Starlark-based script that enables integrators to inspect and interact with the Buck2 graph. Integrators are able to: Write Starlark code that queries, analyzes, and builds on the Buck2 graph.Introspect and interact with the Buck2 graph structures natively, via Starlark, in a safe, controlled manner. Introspection of the Buck2 graph can occur at the unconfigured, configured, providers, and action stages. There are also APIs offered to allow BXL to accept custom command line argument, output artifacts, and print results to stdout. BXL leverages Buck2 core's incrementalcaching. It also has support forrunning actions,dynamic outputs, andanonymous targets. In addition, BXL hasprofilingcapabilities, and allows users to add their own telemetrydirectly within the BXL scripts. BXL is considered to be mostly stable, with a bit more active development here and there. "},{"title":"When should I use BXL over Buck2 API/CLI?​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#when-should-i-use-bxl-over-buck2-apicli","content":"There are many overlaps between BXL and Buck2 (for example, both can run cquery and both can build targets). It’s possible that one use case could be handled by both BXL and Buck2. Following are some specific recommendations to help decide when to use BXL over regular Buck2: Use/inspect resolved attributes that are not exposed/accessible to users via normal Buck2 operations. This includes introspecting the Starlark object of providers, analyzing the Starlark object of a rule’s attr before and after coercing and resolution, and introspecting intermediate query results. Reduce/eliminate the need to make several Buck2 calls within your program, such as running several subprocesses to call cquery several times. With BXL, you can just call the BXL script once in a subprocess, potentially reducing the amount of code you need to write in your program. For example, if you need to call cquery and build several times, you can put that all within a single BXL script and run buck2 bxl once, rather than runningbuck2 cquery and buck2 build several times. Reduce/eliminate the need to manually parse Buck2 output format within your program, and any bugs that may come with manual parsing. Some languages are more verbose than others when it comes to string parsing.BXL scripts are written in Starlark, which is basically a deterministic, immutable Python. BXL is able to directly introspect Starlark objects (such as rules and target nodes, and so on) and call methods on these objects instead of parsing them over Buck2’s output. "},{"title":"Example Use Cases​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#example-use-cases","content":""},{"title":"Generate a project for IDE​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#generate-a-project-for-ide","content":"IDE project generation is roughly as follows: Form the target graph for the project targetPerform some filtering on the graph targets if needed. This depends on the target's configuration.For each target, generate the project target metadata, including: compiler flagslinker flagspaths to generated filesinputs and outputs for each targetsthe paths relative to some PATH Write a single file translating this metadata into a format understood by the IDE An example BXL flow for generating a project for IDE might be: Add some command line arguments to accept a target (or subtarget) to generate the projectRun analysis on the project target with a specific configuration to filter the graph targetsFor each resulting target, inspect the providers and attributes to extract the required metadata information. BXL uses filesystem operations to handle paths within the projectRun actions based on the linker/compiler flags, and build artifacts as needed to generate a projectWrite a single file containing the metadata obtained from previous steps "},{"title":"Build an LSP​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#build-an-lsp","content":"A compilation database is a database containing information about which compile options are used to build the files in a project. Language Server Protocols (LSPs) uses the compilation database to provide language features like auto complete, go to definition, and find all references for the user within an IDE/editor. An example BXL flow for building a C++ LSP might be: Add a command line argument to accept a fileRun owners cquery in BXL to get the owning target of the fileRun analysis on the owning target to get the desired clang flagsUse BXL to write the clang flags to the disk in compilation database format "},{"title":"Perform graph analysis​","type":1,"pageTitle":"Why BXL","url":"/docs/developers/bxl/#perform-graph-analysis","content":"Some example graph analysis functionalities might be: Run an analysis in BXL on a set of targets, and then inspect their providers, and build some subtargetsRun a uquery on some set of targets, and inspect the resulting nodes' coerced attributesRun a cquery on some set of targets with a specific configuration, and inspect the resulting nodes' attributes before and after resolution "},{"title":"BXL and Dynamic Outputs","type":0,"sectionRef":"#","url":"/docs/developers/dynamic_output/","content":"","keywords":""},{"title":"Dynamic output​","type":1,"pageTitle":"BXL and Dynamic Outputs","url":"/docs/developers/dynamic_output/#dynamic-output","content":"When declaring dynamic outputs within a BXL script, the dynamic lambda for is created with a bxl_ctx, which means that you can do things like run analysis or queries to inspect the build graph from within the dynamic lambda. You may declare multiple dynamic outputs within a single BXL script, or declare nested dynamic outputs. Dynamic outputs are run asynchronously after the BXL evaluation. "},{"title":"Limitations​","type":1,"pageTitle":"BXL and Dynamic Outputs","url":"/docs/developers/dynamic_output/#limitations","content":"ctx.output is not available from a dynamic lambda. This means you can’t ensure artifacts or print cached outputs within a dynamic lambda.Error messages from skipping incompatible targets are only emitted to the console, and not cached in the stderrbuild() is not available from a dynamic lambdabxl_actions in a dynamic lambda always inherits the execution platform resolution of the root/parent BXL. The expected usage of bxl_actions from within a dynamic lambda is to instantiate it without any named parameters, but the exec_deps andtoolchains of the execution platform resolution are accessible, and return the same values as the root/parent BXL Profiling is not hooked up to dynamic BXL context "},{"title":"Silly example​","type":1,"pageTitle":"BXL and Dynamic Outputs","url":"/docs/developers/dynamic_output/#silly-example","content":"This is a silly example of creating a dynamic output which reads somequery_params input, calls some BXL functions like uquery,configured_targets to get the resolved attributes of a target node, and then writes the attributes to an output file. def _impl_dynamic_output(ctx): actions = ctx.bxl_actions().actions # Declare some input here to read within the lambda query_params = actions.write_json("query_params", {"rule_type": "apple_bundle", "universe": "fbcode//buck2/tests/..."}) # Dynamic lambda's output artifact resolved_attrs = actions.declare_output("resolved_attrs") # Dynamic lambda function to be used in the dynamic_output def my_deferred(ctx, artifacts, outputs): # Read the input, then do some BXL things here params = artifacts[query_params].read_json() target = ctx.uquery().kind(params["rule_type"], params["universe"])[0] node = ctx.configured_targets(target.label) eager_attrs = node.resolved_attrs_eager(ctx) # Dynamic BXL context's `bxl_actions` does not take in named parameters because it inherits the exec platform resolution from the root/parent BXL. If the root BXL's `bxl_actions` were created with exec deps/toolchains, you can access them using `exec_deps` and `toolchains` attributes here ctx.bxl_actions().actions.write(outputs[resolved_attrs], str(eager_attrs)) actions.dynamic_output( dynamic = [query_params], inputs = [], outputs = [ resolved_attrs, ], f = my_deferred, ) ctx.output.print(ctx.output.ensure(resolved_attrs).abs_path()) dynamic_output_example = bxl_main( impl = _impl_dynamic_output, cli_args = { }, ) "},{"title":"Buck 2 specific options","type":0,"sectionRef":"#","url":"/docs/developers/options/","content":"Buck 2 specific options Buck 2 introduces some options that don't exist in v1 and are accessed in the root cell: project.watchman_merge_base: defines the merge base to use for SCM-aware queries to Watchman. This is read when the daemon starts and cannot be changed later without a restart.test.v2_test_executor: defines the program to invoke as the test executor inbuck test. This is read every time a test command executes.","keywords":""},{"title":"Request for Comments","type":0,"sectionRef":"#","url":"/docs/developers/request_for_comments/","content":"","keywords":""},{"title":"Drafts​","type":1,"pageTitle":"Request for Comments","url":"/docs/developers/request_for_comments/#drafts","content":"@configuration syntaxbxl actions and Build APIDigest Kindslabels -> metadata attribute "},{"title":"Accepted​","type":1,"pageTitle":"Request for Comments","url":"/docs/developers/request_for_comments/#accepted","content":"configured_aliasBuck Extension Language (BXL)Bxl Support for performing analysis on targetsPackage-local values "},{"title":"Implemented​","type":1,"pageTitle":"Request for Comments","url":"/docs/developers/request_for_comments/#implemented","content":"ProviderCollection[] "},{"title":"Starlark Language Specification","type":0,"sectionRef":"#","url":"/docs/developers/starlark/spec/","content":"Starlark Language Specification The Starlark language spec can be found in theBazel GitHub repository.","keywords":""},{"title":"Heaps and Heap References","type":0,"sectionRef":"#","url":"/docs/developers/starlark/heaps/","content":"","keywords":""},{"title":"Heaps​","type":1,"pageTitle":"Heaps and Heap References","url":"/docs/developers/starlark/heaps/#heaps","content":"In Starlark, there are three interesting heap-related points of interest: A Heap has Value's allocated on it and cannot be cloned or shared.A FrozenHeap has FrozenValue's allocated on it and cannot be cloned or shared.A FrozenHeapRef is a FrozenHeap that is now read-only and can now be cloned and shared. A FrozenHeapRef keeps a heap alive. While you have a FrozenValue, it is important that you have either the FrozenHeap itself, or more usually, aFrozenHeapRef to it. A FrozenHeap may contains a set of FrozenHeapRef's to keep the FrozenHeaps it references alive. "},{"title":"Heap Containers​","type":1,"pageTitle":"Heaps and Heap References","url":"/docs/developers/starlark/heaps/#heap-containers","content":"Heaps are included in other data types: A Module contains a Heap (where normal values are allocated) and aFrozenHeap (stores references to other frozen heaps and has compilation constants allocated on it). The Heap portion is garbage collected. At the end, when you call freeze, Value's referenced by name in the Module are moved to the FrozenHeap and then then FrozenHeap is sealed to produce aFrozenHeapRef.A FrozenModule contains a FrozenHeapRef.A GlobalsBuilder contains a FrozenHeap onto which values are allocated.A Globals contains a FrozenHeapRef. "},{"title":"Heap References​","type":1,"pageTitle":"Heaps and Heap References","url":"/docs/developers/starlark/heaps/#heap-references","content":"It is important that when a FrozenValue X is referenced by a Value orFrozenValue (for example, included in a list), the heap where X originates is added as a reference to the heap where the new value is being created. As a concrete example in pseudo-code: let h1 = FrozenHeap::new(); let s = "test".alloc(h1); let h1 : FrozenHeapRef = h1.into_ref(); let h2 = Heap::new(); h2.add_reference(h1); vec![s].alloc(h2); In the above code, the following steps are taken: Create a FrozenHeap then allocate something in it.Turn the heap into a reference.Use the allocated value s from h1 when constructing a value in h2.For that to be legal, and for the heap h1 to not disappear while it is being allocated, it is important to call add_reference. Note that this API can only point at a FrozenValue from another heap, and only after that heap has been turned into a reference, so it will not be allocated in anymore. These restrictions are deliberate and mean that most programs only have one 'active heap' at a time. Following are some places where heap references are added by Starlark: Before evaluation is started, a reference is added to the Globals from theModule, so it can access the global functions.When evaluating a load statement, a reference is added to the FrozenModulethat is being loaded.When freezing a module, the FrozenHeap, in the Module, is moved to theFrozenModule, preserving the references that were added. "},{"title":"OwnedFrozenValue​","type":1,"pageTitle":"Heaps and Heap References","url":"/docs/developers/starlark/heaps/#ownedfrozenvalue","content":"When you get a value from a FrozenModule, it will be a OwnedFrozenValue. This structure is a pair of a FrozenHeapRef and a FrozenValue, where the ref keeps the value alive. You can move that OwnedFrozenValue into the value of a module with code such as: fn move<'v>(from: &FrozenModule, to: &'v Module) { let x : OwnedFrozenValue = from.get("value").unwrap(); let v : Value<'v> = x.owned_value(&to); to.set("value", v); } In general, you can use the OwnedFrozenValue in one of three ways: Operate on it directly - with methods like unpack_i32 or to_str.Extract it safely - using methods like owned_frozen_value, which takes aFrozenHeap to which the heap reference is added and returns a nakedFrozenValue. After that, it is then safe for the FrozenHeap you passed in to use the FrozenValue. With owned_value, there is lifetime checking that the right heap is passed, but with FrozenValue, there isn't.Be careful to pass the right heap, although given most programs only have one active heap at a time, it should mostly work out. Extract it unsafely - using methods unchecked_frozen_value, which gives you the underlying FrozenValue without adding any references. Be careful to make sure there is a good reason the FrozenValue remains valid. "},{"title":"Environments","type":0,"sectionRef":"#","url":"/docs/developers/starlark/environment/","content":"Environments Some of the information within this page is outdated. However, the explanation of the problem, and thought process behind it, remains useful. The storage of values is similar but implemented using different types. ::: Starlark (with a nested def) has a series of environments that may be active during an evaluation, as illustrated in the following example: x = [] def foo(): y = True def bar(): z = 1 list.append(x, 1) The above example features the following environments: Global environment - defining things like list.appendModule environment - defining xEnvironment of foo - defining yEnvironment of bar - defining z A scope can access variables defined above it, and often mutate them, but not assign them. To unpack that: From the statements inside bar, you can access list.append, x, y, andz.From inside bar, you can mutate the variables to be accessed with statements like list.append(x, 1) (which may also be termed x.append(1)). However, before this module is imported by another module, all of its exports become frozen, which means it isn't possible to mutate a global list, and if foo is called from a different module, then x can't be modified. If bar does x = 1 that defines a local variable x in the function bar, shadowing the global x. As a consequence, you cannot assign to variables defined in an outer scope. Note that assignment after, or even in non-executed conditional branches, introduces a local variable. For example: x = 1 def f(): print(x) if False: x = 2 In the above code, on executing f(), it would complain that x is referenced before assignment, as the assignment x = 2 makes x a local variable. The rest of this document outlines the various types of environments, how they are accessed, and how they are updated. Global Environment​ The global environment is always frozen and consists of functions andtype-values. All things in the global environment are accessed by name. Type-values are things like list.append, which is used when you do eitherlist.append(xs, 1) or xs.append(1), assuming xs is of type list. The available methods for a type can be queried (for example, dir(list)). There are also global functions, such as len, range, and str. Slots​ To optimise evaluation, all variables are accessed by integers, which are known as 'slots'. Many variables can be converted to slots statically during compilation, and those which can't have their slot looked up by name at runtime. The Slots data type is defined as: enum Slots { Frozen(FrozenSlots), Slots(Rc<RefCell<Vec<Option<Value>>>>), } struct FrozenSlots(Arc<Vec<Option<FrozenValue>>>); As featured in the above code: A set of slots are either Frozen, which came from another module behindArc or just normal Slots, which can be manipulated by the current scope (behind a Rc/RefCell for single-threaded use and mutation).Vec is accessed by the slot index.Option refers to whether the slot has been assigned yet (to detect variables referenced before assignment). Module Environment​ The module environment is where the module executes, namely where x is defined above. The module environment can have values added in the following standards-conforming ways: Assignment statements (such as x = 1 or x += 1).For loops (such as the x in for x in []:).Via the load("a.bzl", "foo"), which imports foo frozen.Via def foo():, which defines foo in the module environment. Whether adef is frozen or not, when it's executed, its local variables are not frozen. In addition, two non-standards-conforming ways of defining variables are supported: Some modules can be injected as bindings in advance. Given a module foo that is injected, all the bindings of foo will be inserted in this module as frozen.The function load_symbols injects a dictionary of bindings into the module environment. Note that a module has a fixed set of variables (from the standards-conforming ways), a pre-execution set (from the injections) and yet more variables at runtime (via load_symbols). To support that structure, the mapping from name to slot index is tracked in a struct: enum Names { Frozen(FrozenNames), Names(Rc<RefCell<HashMap<String, usize>>>), } struct FrozenNames(Arc<HashMap<String, usize>>); Each name is given an entry in the map with an increasing slot index. A name will only be assigned a slot once, reusing it thereafter. A correspondingSlots data type provides the values associated with those names. Importantly, the Slots can be extended at runtime by the load_symbolsfunction. As with Slots, you can either share things behind an Arc or mutate them behind an Rc/RefCell. Function Environment​ A function can have variables introduced via assignments, for loops, and parameters. No additional variables can be discovered at runtime, so all names can be erased at compile time. A function can also access variables from the functions it is statically nested within, and from the variables at the root of the module. To support this structure, at runtime we pass around the context, defined as: struct Context { names: Names, slots: Vec<Slots>, } The above code contains the mapping of names for the module and the slots for the module and each function. When executed, the inner-most Slots (at the end of slots:) will never be frozen, as that represents the local variables: but any other may be. When a function value is captured in a frozen module, use FrozenContext: struct FrozenContext { names: FrozenNames, slots: Vec<FrozenSlots>, } ## List comprehension environments A list comprehension can be defined as: ```python [x for x in [1,2,3]] In the above code: The statement defines a variable x that is immediately initialised and shadows any other variables x in scope.The variable x cannot be assigned to, other than in the list comprehension, as it only lives inside the comprehension and the comprehension does not permit assignment statements (only expressions). Such names are not available at the top-level, even when defined in the root of a module. List comprehensions are implemented by adding additional entries into theSlots data type. Even when added at the root of a module, such names are not added to Names. Optimisations​ There are a number of optimisations made to the scheme: When freezing a Names or Slots structure, it's important to only freeze a particular mutable variant once, or you duplicate memory unnecessarily. Therefore, the Slots to be Rc<RefCell<(_, Option<FrozenSlots>)>> are augmented, and, similarly, the Names. When freeze is called, the original value is consumed, and the Somevariant is added.Note: it is unsafe to ever access the slots after the freeze. Programs can only assign to the inner-most Slots, and that slots must always be mutable. Therefore, define a local Slots that is always mutable, and a separate AST node for referring to it. For modules, it is important that this mutable local Slots is also in scope since the scope is used to retrieve unknown variables.","keywords":""},{"title":"A Moving Garbage Collector","type":0,"sectionRef":"#","url":"/docs/developers/starlark/gc/","content":"","keywords":""},{"title":"A worked example​","type":1,"pageTitle":"A Moving Garbage Collector","url":"/docs/developers/starlark/gc/#a-worked-example","content":"Given a heap with the following layout: X := Data("world") Y := Data("hello", X, Y) Z := Data("universe") All of X, Y and Z are memory locations. The Y memory location has both some data of its own ("hello") and two pointers (X and Y itself). The pointers from outside the heap into the heap are known as roots. Assuming, in the above example, that Y is the only root, then, since Y is used from outside, Y must be moved to the new memory block. Consequently, the data X needs to be copied, but Z can be dropped. Following are the required steps for using a garbage collector: To copy Y, allocate a value in the new heap A with a sentinel value in it (that that sentinel is called a Blackhole). Then, turn Y into aForward(A) pointer, so that if anyone else in this cycle tries to collectY they immediately "forward" to the new value and the data from Y is grabbed so its pointers can be traversed. That results in the following: X := Data("world") Y := Forward(A) Z := Data("universe") A := Blackhole With Data("hello", X, Y) as the current item being processed. Walk the pointers of the current value, performing a garbage collection on each of them. To copy Y, it can be seen that Y points at a Forward(A)node, so there's no need to do anything. To copy X, follow the process starting at step 1, but for X (which ends up at B). Performing that move leads to the following: X := Forward(B) Y := Forward(A) Z := Data("universe") A := Blackhole B := Data("world") Replace all the pointers with the forwarded value, and write it back over theBlackhole in A. This gives the following: X := Forward(B) Y := Forward(A) Z := Data("universe") A := Data("hello", B, A) B := Data("world") Adjust any roots pointing at Y to point at A and throw away the original heap, which produces the following: A := Data("hello", B, A) B := Data("world") These above four steps successfully garbage collects a cyclic data structure, while preserving the cycles and getting rid of the unused data. "},{"title":"Finding Commands That Buck2 Ran","type":0,"sectionRef":"#","url":"/docs/developers/what-ran/","content":"","keywords":""},{"title":"What Ran output format​","type":1,"pageTitle":"Finding Commands That Buck2 Ran","url":"/docs/developers/what-ran/#what-ran-output-format","content":"This will output a table showing all the commands that were executed, and how they were executed. The structure is as follows: REASON <TAB> TARGET <TAB> IDENTIFIER <TAB> EXECUTOR <TAB> REPRODUCER Which should be used as follows: REASON - value is either build (for building a thing) or test (for running a test).TARGET - the name of the build target that declared an action.IDENTIFIER - depends on the target but will usually be something like a file name or a module.EXECUTOR - value is either cache, re or local.REPRODUCER - how you can re-run this yourself. "},{"title":"Using the What Ran output​","type":1,"pageTitle":"Finding Commands That Buck2 Ran","url":"/docs/developers/what-ran/#using-the-what-ran-output","content":"Use What Ran as follows: Start by identifying the command you're looking for: You can grep the output for a given target.You can then grep by identifier if necessary. For example, if you're after C++ compilation, try grepping for the basename of your file (for example, for fbcode/my/stuff.cpp, grep for stuff.cpp). Once you found it, reproduce as follows: If the executor was local, the command is in the output, so just run it. It's expected that you'll do this from the root of your project (usebuck2 root --kind project to find where that is).If the executor was re or cache, you're provided a RE digest of the formHASH:SIZE. Run frecli cas download-action HASH:SIZE to retrieve the action, then follow the instructions to run it. "},{"title":"Examples​","type":1,"pageTitle":"Finding Commands That Buck2 Ran","url":"/docs/developers/what-ran/#examples","content":"The following ran locally: build fbcode//scripts/torozco/getenv:getenv-san-conf-__generated-lib__ (archive_thin libgetenv-san-conf-__generated-lib__.pic.a) local fbcode/third-party-buck/platform010/build/llvm-fb/bin/llvm-ar qcsTD buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/libgetenv-san-conf-__generated-lib__.pic.a buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/__objects__/san-conf.c.pic.o To repro, you'd run: fbcode/third-party-buck/platform010/build/llvm-fb/bin/llvm-ar qcsTD buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/libgetenv-san-conf-__generated-lib__.pic.a buck-out/v2/gen/fbcode/d839c731f5505c62/scripts/torozco/getenv/__getenv-san-conf-__generated-lib____/__objects__/san-conf.c.pic. The following ran on RE: build fbcode//common/init:kill (cxx_compile Kill.cpp (pic)) re 97feca9d014155a80ec55fe27e6bb17f9d2f8574:94 Reproducing this command will depend on the particular RE implementation you use. "},{"title":"Expired Digests​","type":1,"pageTitle":"Finding Commands That Buck2 Ran","url":"/docs/developers/what-ran/#expired-digests","content":"Note that if the action was a cache hit on RE, you might get an error when downloading it, indicating that it's not found. If that happens, it's because the cache entry is there but the inputs have expired. If this happens to you, run your build with --upload-all-actions. "},{"title":"Value Representation","type":0,"sectionRef":"#","url":"/docs/developers/starlark/values/","content":"Value Representation Some of the information in this page is outdated. However, the explanation of the problem, and thought process behind it, remains useful. Of particular note is that a garbage collected heap is now used for Value. ::: This page explains how values are represented in the Starlark interpreter, ignoring some incidental details. Importantly, in Starlark, any identifiers from modules that you import are 'frozen', which means that, if you have a module that defines a list, then once you have imported the module, the list is now immutable. This design means that you can safely share imports with multiple users, without any expensive copying, and use the imports in parallel. Frozen vs unfrozen values​ Values that are frozen are segregated from those that are not: Frozen values are those you import, and (assuming no GC) are to be ref-counted atomically (so they can be shared by multiple threads) and never changed.Unfrozen values are those which are local to the module, and, since modules execute single threaded, can be non-atomically ref-counted and mutated. Once a module has finished executing, it's values are frozen and can be reused freely. Thaw-on-write​ It's not uncommon to return list literals from functions. For example: def my_list(x): return ([1,2,3], x) This above code returns the unfrozen list [1,2,3]. But while the list is unfrozen, and could be mutated by the caller, it probably won't be. To optimise this pattern, construct a frozen list when compiling my_list and insert a shared reference to it in the result. If anyone tries to mutate the list, it's explicitly unfrozen by copying it into a mutable variant (known as thawing the value). Immutable containers of mutable data​ There are some data types (such as functions and tuples) that are themselves immutable but contain mutable data. Importantly, all types that can be invoked as functions (for example, lambda, def, and a.b()) fall into this category. These types can be non-atomically ref-counted but can't be mutated. Implementation in Rust​ Putting all these above concepts together results in the following: enum FrozenValue { None(NoneType), Bool(bool), Int(i64), Obj(Arc<dyn StarlarkValue>), } enum Value { Immutable(FrozenValue), Pseudo(Rc<dyn ComplexValue>) Mutable(Rc<RefCell<Mutable>>), } enum Mutable { Mutable(Box<dyn ComplexValue>), ThawOnWrite(Arc<dyn StarlarkValue>), } In the above code, both of the traits dyn SimpleValue and dyn ComplexValueenable you to convert to the other and have shared general value-like methods. There are four types of value: ImmutablePseudo - immutable containers of mutable values.Mutable/MutableMutable/ThawOnWrite - immutable now but can be replaced withMutable/Mutable if needed. There are two root types: FrozenValue - imported.Value - defined locally.","keywords":""},{"title":"Starlark Types","type":0,"sectionRef":"#","url":"/docs/developers/starlark/types/","content":"","keywords":""},{"title":"What does a type mean?​","type":1,"pageTitle":"Starlark Types","url":"/docs/developers/starlark/types/#what-does-a-type-mean","content":"A type is a Starlark expression that has a meaning as a type: When fib(3) is called, the value 3 is passed to fib as parameter i.When the execution of fib is started, the expression int is evaluated to the value of the int function.A check is then made that the value 3 matches the type represented by int. If the value doesn't match, it is a runtime error. Similarly, on returnstatements, or the end of the function, a check is made that result type matchesint. As some examples of types: The type typing.Any matches any value, with no restrictions.The types int, bool, str all represent the values produced by the respective functions.The type None represents the value None.The type list[int] represents a list of int types, e.g. list[typing.Any]represents a list containing any types.The type dict[int, bool] represents a dictionary with int keys and boolvalues.The type tuple[int, bool, str] represents a tuple of arity 3 with components being int, bool and str.The type tuple[int, ...] represents a tuple of unknown arity where all the components are of type int.The type int | bool represents a value that is either an int or a bool.The type typing.Callable represents something that can be called as a function.The type typing.Iterable represents something that can be iterated on.The type typing.Never represents a type with no valid values - e.g. the result of fail is typing.Never as the return value of fail can never be observed, given the program terminates. The goals of this type system are: Reuse the existing machinery of Starlark as much as possible, avoiding inventing a special class of type values. As a consequence, any optimisations for values like string/list are reused.Provide a pleasing syntax.Some degree of compatibility with Python, which allows types as expressions in the same places Buck2 allows them (but with different meaning and different checking).And finally, a non-goal is to provide a complete type system capable of representing every type invariant: it's intended to be a lossy approximation. In addition to these built-in types, records and enumerations are provided as special concepts. "},{"title":"Record types​","type":1,"pageTitle":"Starlark Types","url":"/docs/developers/starlark/types/#record-types","content":"A record type represents a set of named values, each with their own type. For example: MyRecord = record(host=str, port=int) This above statement defines a record MyRecord with 2 fields, the first namedhost that must be of type str, and the second named port that must be of type int. Now MyRecord is defined, it's possible to do the following: Create values of this type with MyRecord(host="localhost", port=80). It is a runtime error if any arguments are missed, of the wrong type, or if any unexpected arguments are given.Get the type of the record suitable for a type annotation with MyRecord.Get the fields of the record. For example,v = MyRecord(host="localhost", port=80) will provide v.host == "localhost"and v.port == 80. Similarly, dir(v) == ["host", "port"]. It is also possible to specify default values for parameters using the fieldfunction. For example: MyRecord = record(host=str, port=field(int, 80)) Now the port field can be omitted, defaulting to 80 is not present (for example, MyRecord(host="localhost").port == 80). Records are stored deduplicating their field names, making them more memory efficient than dictionaries. "},{"title":"Enum types​","type":1,"pageTitle":"Starlark Types","url":"/docs/developers/starlark/types/#enum-types","content":"The enum type represents one value picked from a set of values. For example: MyEnum = enum("option1", "option2", "option3") This statement defines an enumeration MyEnum that consists of the three values"option1", "option2" and "option3". Now MyEnum is defined, it's possible to do the following: Create values of this type with MyEnum("option2"). It is a runtime error if the argument is not one of the predeclared values of the enumeration.Get the type of the enum suitable for a type annotation with MyEnum.Given a value of the enum (for example, v = MyEnum("option2")), get the underlying value v.value == "option2" or the index in the enumerationv.index == 1.Get a list of the values that make up the array withMyEnum.values() == ["option1", "option2", "option3"].Treat MyEnum a bit like an array, with len(MyEnum) == 3,MyEnum[1] == MyEnum("option2") and iteration over enums[x.value for x in MyEnum] == ["option1", "option2", "option3"]. Enumeration types store each value once, which are then efficiently referenced by enumeration values. "},{"title":"Target Universe in BXL","type":0,"sectionRef":"#","url":"/docs/developers/target_universe/","content":"","keywords":""},{"title":"BXL cquery and target universe​","type":1,"pageTitle":"Target Universe in BXL","url":"/docs/developers/target_universe/#bxl-cquery-and-target-universe","content":"BXL cannot infer the target universelike in the CLI (in most cases). BXL splits up cquery functions per function (ex: ctx.cquery().kind(...)), with the exception of ctx.cquery.eval(...), which accepts literals exactly like in the CLI. For the eval query, target universe is inferred exactly like the CLI. For all other cases, take the following query as an example: buck2 cquery "rdeps(deps(//example:foo), deps(//example:bar))" The target universe here should be constructed from the all the target literals and their transitive deps, which is to say deps(//example:foo, //example:bar). When you run the query, the evaluation of deps(//example:foo) anddeps(//example:bar) nested in the rdeps query will happen inside the universe resulting from deps(//example:foo, //example:bar). Translating it to BXL's individual cquery functions, and let’s say we also try to use the target literals to construct the universe as the CLI target inference does: from_node = ctx.cquery().deps("//example:foo") # universe would be //example:foo to_node = ctx.cquery().deps("//example:bar") # universe would be //example:bar rdeps = ctx.cquery().rdeps(from_node, to_node) # what is the universe here? Here, the from_node query is actually evaluated in the wrong target universe because we have broken up the query steps in BXL. Instead ofdeps(//example:foo) being evaluated in deps(//example:foo, //example:bar), it’s evaluated with only deps(//example:foo). It’s impossible to know that there’s going to be an rdeps query later on that expects a different target universe. "},{"title":"Specifying target universe in BXL cquery​","type":1,"pageTitle":"Target Universe in BXL","url":"/docs/developers/target_universe/#specifying-target-universe-in-bxl-cquery","content":"BXL cquery functions should only accept configured targets as inputs, with the exception of eval and testsof_with_default_platform. BXL has a ctx.target_universe() function to construct a target_universeobject, which has a lookup() function to lookup the configured targets within the target universe and return the target set. ​​The lookup functionality is useful because sometimes a single target can appear multiple times within a target universe. For example, if you specify a cxx toolchain using its unconfigured target label, it will always match against all cxx toolchains in the target universe (so at least once for target deps and once for exec deps), since cxx toolchains may have multiple configurations. Example: def _impl(): target_universe = ctx.target_universe(["//example:foo", "//example:bar"]) to_node = target_universe.lookup("//example:foo") from_node = target_universe.lookup("//example:bar") rdeps = ctx.cquery().rdeps(to_node, from_node) However, sometimes you might want a specific configuration instead of using all configurations found within a target universe, in which case you could usectx.configured_targets(...) to specify the configuration. Or, sometimes you may want to use the specific configured target nodes resulting from other BXL calls. In these cases, you can pass the configured targets directly into cquery functions, instead of going through target universe lookup. "},{"title":"What does the target universe tend to be in practice?​","type":1,"pageTitle":"Target Universe in BXL","url":"/docs/developers/target_universe/#what-does-the-target-universe-tend-to-be-in-practice","content":"For owner query, the universe would be constructed with the unconfigured target nodes returned from ctx.uquery().owner(...). Example: def _impl(): unconfigured_owners = ctx.uquery().owner("foobar") target_universe = ctx.target_universe(unconfigured_owners).target_set() owners = ctx.cquery().owner("foobar", target_universe) For everything else, the universe would usually be constructed using all target literals found in your query. Example: def _impl(): target_universe = ctx.target_universe("//example:foo") inputs = target_universe.target_set() deps = ctx.cquery().deps(inputs) While the above guideline should work for rdeps as well, for rdeps the universe would usually be narrowed down to the "to"/"destination" target set argument. (This is a subset of the target universe suggested for non-ownerquery cases). Updating the example from above: def _impl(): target_universe = ctx.target_universe("//example:foo") # narrowed down to the "to" literals in rdeps universe_node = target_universe.target_set() from_node = target_universe.lookup("//example:bar") rdeps = ctx.cquery().rdeps(universe_node, from_node) "},{"title":"keep-going​","type":1,"pageTitle":"Target Universe in BXL","url":"/docs/developers/target_universe/#keep-going","content":"The configured graph can be broken for various reasons: incompatible targets (BXL skips these automatically), visibility issues, nonexistent targets, etc. For issues that are not incompatible targets, the target_universe can be constructed with the keep_going flag set to True to skip any other errors, and your cquery will not error out. Note that keep_going is only compatible for a single string literal target or target pattern at the moment. ctx.target_universe("//foo/...", keep_going = True) "},{"title":"BXL build and target universe​","type":1,"pageTitle":"Target Universe in BXL","url":"/docs/developers/target_universe/#bxl-build-and-target-universe","content":"Note that BXL builds currently do not support target universe, but we intend to add this. "},{"title":"Windows Cheat Sheet","type":0,"sectionRef":"#","url":"/docs/developers/windows_cheat_sheet/","content":"","keywords":""},{"title":"CMD, Powershell, Bash Command Comparison​","type":1,"pageTitle":"Windows Cheat Sheet","url":"/docs/developers/windows_cheat_sheet/#cmd-powershell-bash-command-comparison","content":"Bash\tPowershell\tCMD\tWhat does it docd\tcd\tcd\tChange the current directory mkdir\tmkdir\tmkdir / md\tCreate a directory ls\tls\tdir\tList contents of a directory export var="value"\t$env:var="value"\tset var=value\tTo set environment variables $ENV_VAR\t$env:ENV_VAR\t%ENV_VAR%\tRead environment variable echo "Hello world"\techo "Hello world"\techo Hello world\tTo print something on the screen rm\trm\tdel\tDelete a file rm -rf\trmdir\trmdir\tDelete a directory cat\tcat\ttype\tPrint file content to console "},{"title":"Symlinks​","type":1,"pageTitle":"Windows Cheat Sheet","url":"/docs/developers/windows_cheat_sheet/#symlinks","content":"In Windows, there are two types of symlinks: file and directory. You can find out which type of symlink is being created using:dir /AL /S <path>. The command lists all of the symbolic links in the <path> directory: ^<SYMLINKD^> is a Directory SymLink^<SYMLINK^> is a File SymLink "},{"title":"Target names​","type":1,"pageTitle":"Windows Cheat Sheet","url":"/docs/developers/windows_cheat_sheet/#target-names","content":"Escaping the '=' symbol on Windows is quite complicated: make sure none of the targets being built contain this symbol as it could cause build breakages. "},{"title":"RFC: labels -> metadata attribute","type":0,"sectionRef":"#","url":"/docs/rfcs/attr-metadata/","content":"","keywords":""},{"title":"Context: labels​","type":1,"pageTitle":"RFC: labels -> metadata attribute","url":"/docs/rfcs/attr-metadata/#context-labels","content":"In buck1 we have labels builtin rule attribute, which is a list of strings. In buck2 we have labels attribute which is configured in prelude, it does not have special meaning. "},{"title":"Context: package values​","type":1,"pageTitle":"RFC: labels -> metadata attribute","url":"/docs/rfcs/attr-metadata/#context-package-values","content":"PACKAGE files have a function: write_package_value(key, value), where a key is a word-dot-word string, and value is arbitrary starlark value which should be serializable as JSON. "},{"title":"Context: metadata we use or we need​","type":1,"pageTitle":"RFC: labels -> metadata attribute","url":"/docs/rfcs/attr-metadata/#context-metadata-we-use-or-we-need","content":"There are several spaces where we use or need metadata to be stored in buck2 target graph. fbcode uses per-package values to switch code to new clang (example)testinfra wants to use PACKAGE values to mark a set of folders to a logical larger projectit is likely that per-target metadata attribute should be used inconfiguration factory function.TD wants to declare CI trigger jobs per-target or per-package, and this logic is to be specified in BUCK or PACKAGE files — as metadata "},{"title":"Proposal: metadata attribute​","type":1,"pageTitle":"RFC: labels -> metadata attribute","url":"/docs/rfcs/attr-metadata/#proposal-metadata-attribute","content":"Add builtin metadata attribute to all the targets. metadata has the same structure as package values: word-dot-word to arbitrary value serializable to JSON. For example: cxx_library( name = "mylib", metadata = { "td.run_on_windows": True, }, ) Metadata attribute is not configurable (means select cannot be used). "},{"title":"buck2 audit visibility command","type":0,"sectionRef":"#","url":"/docs/rfcs/audit_visibility/","content":"","keywords":""},{"title":"Context​","type":1,"pageTitle":"buck2 audit visibility command","url":"/docs/rfcs/audit_visibility/#context","content":"Buck has a concept of Visibility for every target. It allows users to define, for each target, the targets it can depend on and targets that can depend on it. Visibility is specified as an allowlist of targets/target patterns, and any target used that falls outside of the allowlist fails visibility checking. Visibility pattern can be specified on visibility and within_view attributes in buildfiles andPACKAGE files. Visibility is important to lots of codebase maintainers because it can be used to keep projects from pulling in unwanted dependencies. As some examples, App Core teams are using Buck visibility as areplacement to current supermodules for protecting app modularity. Instagram's using visibility toprotect modularity and define Link Groups used for build speed optimizations. There's interest from various DevX teams in using Buck visibility onPACKAGE filestoenforce repo boundaries, which will allow target determinators to migrate off of sparse profiles and onto Eden, although visibility in its current form is likely not fit for enforcing such repo boundaries. Visibility has also been used to enforcerequirements that only certain targets are allowed to depend on targets in fbcode/scripts. For perf reasons, buck2 doesn't always enforce visibility. Instead, it only enforces visibility on construction of the configured target graph. Visibility checking is expensive memory-wise because it requires tracking all deps at each node. When constructing configured target graph, this cost is already paid for when buck2 checks transitive target compatibility. When constructing the unconfigured target graph, however, this is costly, so we avoid checking visibility there. (Note that buck does not allow you to specify selects in visibility attributes.) In practice, this means that commands like cquery and build can enforce visibility whereas commands like uquery and targets cannot. Having visibility checked only on the configured target graph is problematic for 2 reasons: Visibility is only checked on configured deps after selects are resolved, so it's possible for a target to pass visibility checking in one configuration but fail visibility checking in another. For example, a target may pass visibility checking on a linux configuration but fail visibility checking on mac configuration if it has a bad mac-only dependency. This makes visibility enforcement more difficult because now you have to query the same graph in both linux and mac configuration before you know that visibility is always valid. Uquery (querying the unconfigured target graph) has better performance than cquery (querying the configured target graph). Big-O wise, uquery scales with O(# of targets) whereas cquery scales with O((# number of configurations) x (# of targets)). Having a way to check visibility on unconfigured target graph can be much cheaper than doing so on configured target graph. "},{"title":"Proposed Solution: audit visibility command​","type":1,"pageTitle":"buck2 audit visibility command","url":"/docs/rfcs/audit_visibility/#proposed-solution-audit-visibility-command","content":"It's clear that we need a way to check visibility on the unconfigured target graph, but we don't want buck2 uquery and buck2 targets to regress in memory use. To get the best of both worlds, I propose adding a separate command to buck2, buck2 audit visibility, that will check visibility on the unconfigured target graph. Instead of checking on construction of the unconfigured target graph, this command will check after construction, which will avoid any memory regression. The tradeoff is that the visibility checking won't be cached, and rerunning audit visibility will rerun visibility checking on each invocation. "},{"title":"Usage and Invocation​","type":1,"pageTitle":"buck2 audit visibility command","url":"/docs/rfcs/audit_visibility/#usage-and-invocation","content":"buck2 audit visibility command will take in a list of target patterns as well as common build args like config flags and mode files as args. It will construct the unconfigured target graph based on the transitive deps of those targets and check that this graph has valid visibility. Checking transitive deps matches the behavior of visibility checking on cquery, but we may revisit this decision in the future if there is a need for just verifying the immediate dependencies. For example, an invocation to check visibility on the transitive closure of fbobjc can be buck2 audit visibility fbsource//fbobjc/... It cannot be used to check that a target has a valid visibility with respect to targets outside of the transitive closure of its deps. For example,buck2 audit visibility fbcode//buck2/starlark-rust/starlark:starlark will just check that all transitive deps of starlark target (including starlarktarget) have valid visibility with respect to each other. It will not check that any targets that depend on starlark respect starlark target's visibility attribute. "},{"title":"Bxl support for performing analysis on targets","type":0,"sectionRef":"#","url":"/docs/rfcs/bxl-analysis/","content":"","keywords":""},{"title":"Intro​","type":1,"pageTitle":"Bxl support for performing analysis on targets","url":"/docs/rfcs/bxl-analysis/#intro","content":"As Bob and I continue to build out bxl we want users to be able to inspect the providers and actions for a given target label. In order to support this, we need to be able to provide access to AnalysisResult via starlark, obtained via a call to RuleAnalysisCalculation::get_analysis_result. "},{"title":"How to implement it?​","type":1,"pageTitle":"Bxl support for performing analysis on targets","url":"/docs/rfcs/bxl-analysis/#how-to-implement-it","content":"Our three principle options are as follows: BxlContext::analyze(targetlabel: ConfiguredTargetLabelLike), whereConfiguredTargetLabelLike accepts ConfiguredTargetLabel,ConfiguredTargetNode, or sets and lists of these things + acceptable strings. In this scenario, we attach the analysis method onto the bxl context itself, and require that users pass in the target label-ish thing when they want to construct an analysis result. It's a little awkward in some ways because the analysis is more naturally a method on the argument being passed in and theBxlContext is a context that is needed to perform the calculation. On the other hand, this allows us to construct a type analogous to TargetExpr which can parse from a wide variety of different ConfiguredTarget like things (strings, nodes, labels, sets, ...). It also is a bit nice from an implementational standpoint since we don't have to pass the context around everywhere. This isn't a huge pro though, since we can stick it in the global eval field. result = bxl.analyze(bxl.cquery.deps("foo")) ConfiguredTargetLabel::analyze(), ConfiguredTargetNode::analyze(), ... where we carry around the BxlContext in the eval global field and implement analysis on each type that is target label like. The pro of this one is that it's quite natural - you can take aConfiguredStarlarkTargetLabel and then just ... call analyze() on it like you might expect to. The two downsides are that we have to propagate the context around behind the scenes, and we'll have to provide an implementation ofanalyze on everything that we'd like to have be able to be analyzable. result = "root//bin:the_binary".analyze() # but we don't support "root//bin:the_binary".rdeps() # instead this looks nice nodes = ctx.cquery.deps("foo") for n in nodes: # since we can now do nodes.label nodes.attrs.field # similarly access analysis nodes.analysis BxlContext::analysis(): AnalysisContext where AnalysisContext exposesAnalysisContext::analyze(targetlabel: ConfiguredTargetLabelLike). There's not really any pros of this approach except that it's similar to the flow for cquery where we return a cqueryctx object to call cquery methods through. result = ctx.analysis().analyze("//lib:file1") We can also restrict the API to require that users go through cquery to obtain a ConfiguredTargetNode prior to calling analysis, although we don't have to. I say that we don't have to because the get_analysis_result method mentioned above is configured to accept a label anyway. "},{"title":"Buck support to implement configured_alias","type":0,"sectionRef":"#","url":"/docs/rfcs/configured-alias/","content":"","keywords":""},{"title":"Intro​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#intro","content":"Currently, Buck 2 lacks configured_alias rule support. configured_alias is a builtin rule in Buck v1, and it cannot be currently implemented as user defined rule in Buck v2. This RFC proposes Buck core support for configured_alias. "},{"title":"What is configured_alias?​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#what-is-configured_alias","content":"Syntax is this: configured_alias( name = "foo-but-linux-release", actual = ":foo", platform = "config//platforms:linux-release", ) When this rule is built, it ignores "current" target configuration, and builds the "actual" target with the configuration specified as "platform" argument. "},{"title":"How to implement it in buck v2?​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#how-to-implement-it-in-buck-v2","content":""},{"title":"New rule attribute type: configured_dep​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#new-rule-attribute-type-configured_dep","content":"Currently, we have several dependency attributes: attrs.depattrs.exec_depattrs.transition_depattrs.split_transition_dep This RFC proposes adding another attribute: attrs.configured_dep configured_dep is an attribute which accepts a pair of strings: target and configuration. During analysis, configured attr deps are resolved to providers resolved using given configuration. "},{"title":"configured_alias_impl user defined rule​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#configured_alias_impl-user-defined-rule","content":"The rule implementation is trivial: def _configured_alias_impl(ctx): return ctx.attrs.actual.providers configured_alias_impl = rule( impl = _configured_alias_impl, attrs = { "actual": attrs.configured_dep(), } ) "},{"title":"Finally, configured_alias macro​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#finally-configured_alias-macro","content":"def configured_alias(name, actual, platform): configured_alias_impl(name, actual = (actual, platform)) "},{"title":"Alternatives​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#alternatives","content":""},{"title":"No configured_alias​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#no-configured_alias","content":"Each specific case where configured_alias is used, it can be done with defining custom transition, and using custom transition rule. But having configured_alias is a convenient stopgap to unblock people. "},{"title":"Use @configuration syntax from another RFC.​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#use-configuration-syntax-from-another-rfc","content":"Instead of passing confiured_target_label(x, y) pass x + "@" + y. "},{"title":"Accept configured_target_label in dep attribute​","type":1,"pageTitle":"Buck support to implement configured_alias","url":"/docs/rfcs/configured-alias/#accept-configured_target_label-in-dep-attribute","content":"dep attribute could support all of: regular target label as stringconfigured target label (as either configured_target_label or x@y I don't know practical applications for this magic, and unless there are uses for it, better keep API simple and explicit. "},{"title":"[RFC] Configuration Modifiers","type":0,"sectionRef":"#","url":"/docs/rfcs/cfg-modifiers/api/","content":"","keywords":""},{"title":"Why do we need new configuration setup?​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#why-do-we-need-new-configuration-setup","content":"A target usually needs to be built in multiple build settings. For example, there may be different OS (ex. linux, mac, windows), architectures (ex. x86, arm), and sanitizers (ex. asan, tsan, ubsan) to use for a single target. Buck has 2 main ways of supporting customizations today: Buckconfigs specified through --config or -c flags. They are global flags and are often aggregated in modefiles (@<modefile> on the command line).Target platforms specified through default_target_platform attribute or--target-platforms flag), which become a target's "configuration".--target-platforms flags are also commonly specified via modefiles. These methods are problematic for the following reasons. We have too many modefiles. A project that needs customizations often ends up adding its own set of modefiles, causing a continued rise in number of custom modefiles in the repo. Internally, the number of modefiles in our monorepo is currently on the order of 10,000s. Changing buckconfigs invalidates Buck's state. Changing buckconfigs or modefiles of buckconfigs invalidates global state, which adds non-trivial Buck overhead on every incremental build that changes state. This does not affect target platforms. Different modefiles of buckconfigs cannot be used in same build. Users that need to run multi-configuration builds today often work around this by writing scripts that wraps multiple buck build invocations of different modes. This is slow because Buck state keeps getting repeatedly invalidated. There is also no way to build a target in different modes (ex. dev and opt) at the same time, so users that need to do this always have to do this sequentially. This does not affect target platforms. Target platform generation is exponential in number of build settings. Suppose I want to customize targets based on 3 OSes, 2 architectures, and 3 compilers. With target platforms, I need to first generate all 18 permutations of these settings as platform targets before using them. This is not scalable. Target platform does not compose well on command line. Suppose I want to use ASAN on top of some existing platform. It's not possible to say specify ASAN on top of an existing platform on the command line. Instead, I must create a new platform target with ASAN added to the existing platform before I can use it. Poor user Experience. When every project needs its own set of modes, it's onerous for users to track what modes are needed to build what targets. Users often don't realize when they are using the wrong or unnecessary command line flags. Poor tooling integration. Similar to user, it's just onerous for tooling to keep track of what modes are needed to build a target with. Buckconfigs are also bad for performance for tools like language servers because it's impossible to request the builds of two modes in parallel when two targets needs different modes. Antithetical to Buck's principles. Buck's main strength is the ability to abstract away builds of different languages and libraries under one common syntax for the user. The need for project-custom flags goes against this principle. The Modifier API introduces a unified way to specify build settings on a project, target, and command line level. Like target platforms, it constructs Buck configurations so it supports multi-configuration builds. It avoids modefile proliferation by allowing users to easily set project-specific build settings like compiler and toolchain versions in the repo rather than on the command line. It avoids scalability problems of platform generation by being composition-first. The goals of this project is to: Make buck build work on any platform without the use of special flags. Today, building a mac target on mac often requires a mac mode, and likewise for windows. Instead, buck build should always work out of the box on any platform so that there's no need to specify mac mode on macs or windows mode on windows.Define a small constrained set of common modifiers that can be used to build any target in the repo. This will include common options like mode (ex. dev, opt, release), OS (ex. linux, mac, iphoneos), and architecture (ex. x86, arm).Unblock cross-building for the majority of targets. host_info() is a hack to obtain information about the host machine that is the main blocker to Buck2 cross-building (ex. building a mac or windows target from linux) working everywhere. As an extension of "making buck build work on any platform", modifiers should make it possible to kill off most use cases ofhost_info in the repo.Simplify building build tooling. Because buck build works out of the box, tools like language servers can build targets they need without using project-specific modefiles or flags.Delete most modefiles from the repo.Deprecate target platforms for modifiers as the sole way of configuring top-level targets in Buck. "},{"title":"Configuration Background​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#configuration-background","content":"Feel free to skip this if you already understand Buck configurations. A configuration is a collection of constraint_value targets (commonly referred to as constraints). It defines the build settings used by a target. A constraint value is keyed by a constraint_setting, so there can only be oneconstraint_value of a constraint_setting in a configuration. For example, suppose cfg//os:_ is a constraint setting with constraint valuescfg//os:linux, cfg//os:macos, and cfg//os:windows. Then a configuration may contain either cfg//os:linux, cfg//os:macos, or cfg//os:windows to indicate which OS a target is built for. A constraint or a set of constraints can be selected on via select() to customize a target's behavior. For example, the following adds a linux only dep to a target. deps = select({ "cfg//os:linux": [":linux_only_dep"], "DEFAULT": [], }) Before building a target on the command line (known as the top-level target), Buck needs to know its configuration in order to resolve selects. Modifiers are a new way to resolve a target's configuration for every top-level target. "},{"title":"API​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#api","content":"Every top-level target starts with an empty configuration, and Buck will apply a list of "modifiers" to obtain a configuration. A modifier is a modification of a constraint from the existing configuration to obtain a new configuration. There are two types of modifiers, conditional and unconditional modifiers. An unconditional modifier is just a constraint value. Applying an unconditional modifier will insert the associated constraint value into the configuration for its respective constraint setting, replacing any existing constraint value for that setting. For example, specifying cfg//os:linux as a modifier will insertcfg//os:linux into the configuration, overriding any existing constraint value for the cfg//os:_ constraint setting. A conditional modifier is a modifier that only applies when a certain condition is satisfied. This lets one express powerful composition based on other criteria. modifiers.match() is a conditional modifier that changes the constraint value inserted based on the existing configuration. For example, a modifier like modifiers.match({ "cfg//os:windows": "cfg//compiler:msvc", "DEFAULT": "cfg//compiler:clang", }) will insert msvc constraint into the configuration if OS is windows or clang constraint otherwise. A modifiers.match() behaves similarly to Buck'sselect() but can only be used in a modifier context. A modifiers.match() can only be used to modify a single constraint setting, so the following example is not valid. # This fails because a modifier cannot modify both compiler and OS. modifiers.match({ "cfg//os:windows": "cfg//compiler:msvc", "DEFAULT": "cfg//os:linux", }) A modifier can be specified in a PACKAGE file, on a target, or on the command line. This provides the flexibility needed to customize targets on a project, target, or cli level. "},{"title":"PACKAGE Modifier​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#package-modifier","content":"In a PACKAGE file, modifiers can be specified using the cfg_modifiers function and would apply to all targets covered under that PACKAGE. For example, modifiers specified in repo/PACKAGE would apply to any target underrepo//.... Modifiers specified in repo/foo/PACKAGE would apply to any target under repo//foo/... (For resolution order, see "Modifier Resolution" section). The cfg_modifiers function takes as input a dictionary of constraint setting to modifier for that setting. For example, the following is an example that sets modifiers for OS and compiler settings in the repo's top PACKAGE file for all targets in repo. # repo/PACKAGE set_cfg_modifiers(cfg_modifiers = [ "cfg//:linux", modifiers.match({ "DEFAULT": "cfg//compiler:clang", "cfg//os:windows": "cfg//compiler:msvc", }), ]) To make constraints easier to type, you can specify aliases for modifier targets via Buck's target aliases. For example, suppose the following aliases exist in repo/.buckconfig. [alias] os = cfg//os:_ linux = cfg//os:linux macos = cfg//os:macos windows = cfg//os:windows compiler = cfg//compiler:_ clang = cfg//compiler:clang msvc = cfg//compiler:msvc Then the same PACKAGE modifiers can be specified as follows. # repo/PACKAGE set_cfg_modifiers(cfg_modifiers = [ "linux", modifiers.match({ "DEFAULT": "clang", "windows": "msvc", }), }) "},{"title":"Target Modifier​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#target-modifier","content":"On a target, modifiers can be specified on the metadata attribute. For example, the following specifies modifiers for repo//foo:bar. # repo/foo/BUCK python_binary( name = "bar", # ... metadata = {"buck.cfg_modifiers": [ "cfg//os:windows", # Target modifiers can also use aliases "clang", ]}, ) Note one day all targets will probably have their own cfg_modifiers attribute. "},{"title":"CLI Modifier​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#cli-modifier","content":"On the command line, modifiers are specified asbuck2 build <target>?<modifiers separated by commas>. For example, buck2 build repo//foo:bar?cfg//sanitizer:asan applies asan modifier on the command line.buck2 build repo//foo:bar?cfg//os:linux,cfg//sanitizer:asan will apply linux and asan modifiers. Aliases can also be used on command line, sobuck2 build repo//foo:bar?asan is valid. Command line modifiers cannot be selects, although this may be revisited if necessary. Modifiers can be specified for any target pattern, sobuck2 build repo//foo/...?asan and buck2 build repo//foo:?asan are also valid. When specifying a subtarget and modifier with ?, subtarget should go before modifier, ex. buck2 build repo//foo:bar[comp-db]?asan. To specify modifiers to a list of target patterns on the command line, you can use the --modifier or -m flag. For example,buck2 build repo//foo:bar repo//foo:baz -m release is equivalent tobuck2 build repo//foo:bar?release //foo:baz?release. --modifier flag can be specified multiple times to add multiple modifier, sobuck2 build --modifier=linux --modifier=release repo//foo:bar is equivalent tobuck2 build repo//foo:bar?linux,release. It is prohibited to specify both --modifier flag and ? in target pattern. This restriction can be lifted in the future if there is a need. When two modifiers of the same constraint setting are specified, then the later one overrides the earlier one. For example,buck2 build repo//foo:bar?dev,release is equivalent tobuck2 build repo//foo:bar?release. On command line, a config_setting target can be specified as a collection of modifiers after --modifier or ?. This will be equivalent to specifying each constraint inside the config_setting as a separate modifier. NOTE: only --modifier flag is currently implemented. -m is currently disabled and ? is not implemented. "},{"title":"Modifier Resolution​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#modifier-resolution","content":"Modifiers are resolved in order of constraint setting, and for each constraint setting, modifiers for that setting are resolved in order of PACKAGE, target, and command line, with modifier from parent PACKAGE applied before child PACKAGE. The end of this section will describe how Buck determines the order of constraint setting to resolve. Suppose modifiers for repo//foo:bar are specified as follows. # repo/PACKAGE set_cfg_modifiers(cfg_modifiers = [ "cfg//:linux", modifiers.match({ "DEFAULT": "cfg//compiler:clang", "cfg//os:windows": "cfg//compiler:msvc", }), ]) # repo/foo/PACKAGE set_cfg_modifiers(cfg_modifiers = ["cfg//os:macos"]) # repo/foo/BUCK python_binary( name = "bar", # ... metadata = {"buck.cfg_modifiers": ["cfg//os:windows"]}, ) At the beginning, the configuration will be empty. When resolving modifiers, Buck will first resolve all modifiers for cfg//os:_ before resolving all modifiers for cfg//compiler:_. For OS, the linux modifier from repo/PACKAGE will apply first, followed by macos modifier from repo/foo/PACKAGE and windows modifier fromrepo//foo:bar's target modifiers, so repo//foo:bar will end up withcfg//os:windows for cfg//os:_ in its configuration. Next, to resolve compiler modifier, the modifiers.match from repo/PACKAGE will resolve tocfg//compiler:msvc since existing configuration is windows and apply that as the modifier. The target configuration for repo//foo:bar ends up with windows and msvc. However, suppose user invokes repo//foo:bar?linux on the command line. When resolving OS modifier, the linux modifier from cli will override any existing OS constraint and insert linux into the configuraiton. Then, when resolving the compiler modifier, the modifiers.match will resolve to cfg//compiler:clang, giving clang and linux as the final configuration. Because command line modifiers will apply at the end, they are also known as required modifiers. Any modifier specified on the command line will always override any modifier for the same constraint setting specified in the repo. The ordering of constraint setting to resolve modifiers is determined based on dependency order of constraints specified in the keys of the modifiers.matchspecified. Because some modifiers match on other constraints, modifiers for those constraints must be resolved first. In the previous example, because compiler modifier matches on OS constraints, Buck will resolve all OS modifiers before resolving compiler modifiers. modifiers.match that ends up with a cycle of matched constraints (ex. compiler modifier matches on sanitizer but sanitizer modifier also matches on compiler) will be an error. "},{"title":"Conditional Modifiers​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#conditional-modifiers","content":"Modifiers have 3 types of conditional modifiers that allow for powerful compositions. Each operator is a function that accepts a dictionary where the keys are the conditionals and values are modifiers. modifiers.match. Introduced in the previous sections, this is capable of inserting constraints based on constraints in the existing configuration. modifiers.match_rule. This is capable of selecting based on the rule name (also known as rule type). The keys are regex patterns to match against the rule name or "DEFAULT". Partial matches are allowed. modifiers.match_host. This selects based on the host configuration, whereasmodifiers.match selects based on the target configuration. This host configuration is constructed when resolving modifiers. modifiers.match_hostis important to making buck build work anywhere on any platform. For example, when the OS to configure is not specified, it's best to assume that the user wants to target the same OS as the host machine. NOTE: match_rule and match_host are currently not implemented. An example using modifiers.match_rule and modifiers.match_host is as follows. # root/PACKAGE # We want OS to target the host machine by default. # Ex. build linux on linux machine, build windows on windows machine, # and build mac on mac machine. # However, if the rule is apple or android specific, then we should # always be building for apple/android as OS, no matter the host # configuration. set_cfg_modifiers(cfg_modifiers = [ modifiers.match_rule({ "apple_.*": "cfg//os:iphone", "android_.*": "cfg//os:android", "DEFAULT": host_select({ "cfg//os:linux": "cfg//os:linux", "cfg//os:macos": "cfg//os:macos", "cfg//os:windows": "cfg//os:windows", }), }), ]) On select resolution, Buck's select currently requires unambiguous keys in the dictionary and resolves to the key with the most refined match. The select operators used in modifiers will diverge from this and implement a "first-match" behavior, where select resolves to the first condition that evalutes to true in the dictionary. "},{"title":"Legacy Target platform​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#legacy-target-platform","content":"Target platform (--target-platforms flag or default_target_platformattribute) will be a deprecated way of specifying configuration and will be killed once all use cases migrate to modifiers. To maintain backwards compatibility with target platforms during the migration process, modifier resolution will take into account the target platform specified. This allows for an easy migration where modifiers can be introduced one at a time without reaching feature parity of target platform. If a target's modifiers resolve to an empty configuration, then Buck will reuse the target platform as the configuration. If modifiers resolve to a non-empty configuration, then Buck look for any constraint in the target platform not covered by a constraint setting from the modifier configuration and add those to the configuration. For example, suppose in the previous example, the target platform for repo// foo:bar includes cfg//sanitizer:asan, then this constraint will be inserted into the configuration since no modifier covered the sanitizer constraint setting. "},{"title":"Debugging modifiers​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#debugging-modifiers","content":"NOTE: below is unimplemented. Because many layers of modifiers can be applied before obtaining a final configuration, it is important that modifier resolution is easy to debug and understand. Here are some ways that modifier resolution can be interpreted. buck2 audit modifiers command. There will be a buck2 audit modifierscommand to show all PACKAGE, target, and required modifiers for a target. It can also show configuration changes from modifier resolution process if requested by the user. Starlark print statements or debugger. Modifier resolution process will be implemented in Starlark in prelude. This means that any user can use any of the existing way to debug starlark (ex. print statements, Starlark debugger in VSCode) to debug the resolution process. "},{"title":"How configuration modifiers differ from transitions​","type":1,"pageTitle":"[RFC] Configuration Modifiers","url":"/docs/rfcs/cfg-modifiers/api/#how-configuration-modifiers-differ-from-transitions","content":"Modifiers are largely inspired by configuration transitions. The difference between modifier and transition is that a transition can change the configuration of any target in the graph, but a modifier can only change the configuration of a top-level target. In other words, if you have target A that depends on target B and you request a build of A, then A's target configuration would be resolved via modifiers and propagated down to B, but dep B would not do its own modifier resolution. When a top-level target goes through a per-rule transition, that transition is applied after modifiers are resolved. Below are some examples that show when to use modifier and when to use transition. Python version should be modeled as a transition and not modifier. Suppose we have python_binary A nested as a resource of another python_binary B. A should not inherit the python version from B, so a transition is needed to change A's python version when depended on by B.Library target should use modifiers and not transitions. A C++ library target should always inherit the configuration of its parent C++ binary when it is used as a dep, but a top-level C++ library target can still have its configuration changed via modifiers when requested from command line. In the future, we may add support for modifier transition, which can transition via modifiers, but that is out of the scope of this RFC. "},{"title":"Bxl Actions and Build API","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/bxl-actions/","content":"","keywords":""},{"title":"Actions API​","type":1,"pageTitle":"Bxl Actions and Build API","url":"/docs/rfcs/drafts/bxl-actions/#actions-api","content":"The actions API should be the same as rules' actions API. That is, it has the same ctx.actions that allows registering of artifacts, creating actions, dynamic actions via the same api. "},{"title":"Creating and Building the Actions​","type":1,"pageTitle":"Bxl Actions and Build API","url":"/docs/rfcs/drafts/bxl-actions/#creating-and-building-the-actions","content":"Bxl allows users to build targets and actions. However, when creating actions, they are not bound/buildable until the artifact/action factories are finalized. As such, we will introduce the limitation that bxl cannot build artifacts that they themselves declared within the bxl. Instead, they will return a set of artifacts to expose to users, which buck2 will automatically build after finalizing the action factory. For dynamic-ness, bxl users will use the standard dynamic output api. There is an issue that during the dynamic output api's lambda, bxl functions will not be able to access the regular bxl functions for queries, etc. However, this is likely not important as most use cases should reasonably query bxl data before the dynamic outputs, and have limited power in dynamic-ness. We can also always replace the ctx of the dynamic to be the bxl context in the future, as we see fit. Sample: def my_bxl(ctx): actions_factory = ctx.bxl_actions.factory() artifact = actions_factory.write("file.txt", "content") # note that existing artifacts that were declared by other rules can be built ctx.actions.build(ctx.analysis(ctx.target("foo")).providers[DefaultInfo].default_output)) return [artifact] # exposes the declared artifact to users "},{"title":"Internal Representation (Deferred Framework)​","type":1,"pageTitle":"Bxl Actions and Build API","url":"/docs/rfcs/drafts/bxl-actions/#internal-representation-deferred-framework","content":"The existing actions framework attaches all actions to a deferred, which is based off a ConfiguredLabel, which also corresponds to the output path prefix. bxl actions should also have a unique output path prefix, and follow the same system of having a base deferred key to reuse the action implementation. We should extend the BaseKey of a DeferredKey to support beyond aConfiguredLabel, so that we can use a BxlFunctionLabel in its place. This would allow owner of these actions to point to the correct creator. The output path would be determined by using the BxlFunctionLabel as prefix similar to a label. While this means that not all outputs are associated with an actual rule, this is arguably more correct as bxl that creates outputs that doesn't fit the target graph structure (i.e android project generation follows directory structure rather than the packages defined by targets) to not have to conform the attaching their actions to existing rules. bxl functions can examine multiple rules and create a single action, attached only to their function label. The ActionRegistry will be attached to the evaluation result of bxl. Since we do not allow bxl to explicitly request build of the actions itself declares, we can wait until the end of the bxl function to finalize the actions. Then, the action lookup can simply refer to the result of the bxl. With the above changes, the rest of the actions framework does not need changed to support the proposed API. DICE caching will work as today. "},{"title":"Buck Extension Language (BXL)","type":0,"sectionRef":"#","url":"/docs/rfcs/bxl/","content":"","keywords":""},{"title":"Use Cases​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#use-cases","content":""},{"title":"Cpp LSP​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#cpp-lsp","content":"Lsp prefers to have a single buck command that given a file, returns the corresponding compilation database. This requires a single command, i.e a bxl, that accepts a file as input, performs owners queries, and uses the owning target plus the desired file to get the clang flags, and then writes it to disk in comp db format. It’s possible to write the same features using buck calls to cquery, and build using subtargets to generate compilation database per file. However, this requires lsp owners to maintain code in several locations and languages, and parse and reserialize data. It also does not provide the same incrementality and subscription update features of the resulting comp db that writing this in bxl would have. Furthermore, we may explore the idea of trimming the compilation command to only dependencies required per the file requested. Bxl actions provides a straightforward api for adding this when writing the actual comp db file. "},{"title":"Android LSP​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#android-lsp","content":"Android project requires traversing the target graph to find and java libraries, grouping and converting them between modules or project libraries depending on the number of references, and restructuring the graph as directory based. Android LSP is able to take advantage of subscriptions in the future when available, allowing developers to keep their IDE up-to-date automatically without needing to manually regenerate the project. With bxl, the graph traversals can be written in starlark, allowing propagation of information down the graph, accessing targets’ attributes to analyze dependencies, and access providers for artifacts and action information needed to output the project file. Project generation also performs directory listings that buck2’s dice already performs and caches (I think, need to confirm). Bxl poses the interesting possibility that we can expose a limited set of IO operations that are tracked by dice so bxl can access the same cached file operations as rest of buck2. Android project generation currently doesn’t write project files to buck-out, which prevents it from using buck2 actions. It will have to rely on an external script to process the graph information printed by buck and write the actual project files. If it moves to buck-out based, then it can take advantage of creating actions directly using the graph information processed, and potentially take advantage of incremental actions api to avoid writing the entire graph on each subsequent update. "},{"title":"iOS Project​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#ios-project","content":"iOS is currently being implemented as a series of queries that are aggregated by an external python script, that then invokes builds of subtargets. The same can be achieved in bxl, but with the entire sequence being cacheable and subscribable so that when the graph is updated, or even when generated files need updating, buck2 can automatically push the updates. However, it is uncertain whether xcode itself can make use of push updates. "},{"title":"Rust LSP​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#rust-lsp","content":"(note from dbarsky@: I’m adding this at Bob’s request. Can be removed as needed.) "},{"title":"Visual Studio Project (vsgo)​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#visual-studio-project-vsgo","content":"Vsgo is a pile of python that converts buck query/buck targets output via a variety of heuristics into inputs to a custom fork gyp which is then invoked to generate visual studio projects for a given buck target. Having direct access to the internals of buck would allow us to remove the heuristics and possibly even move project generation directly into bxl. "},{"title":"Goals​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#goals","content":"From the above use cases, BXL should offer a simple Starlark API that allows easy introspection of the buck2 graph at unconfigured, configured, providers, and actions stage, maintaining incremental behaviour of the BXL evaluation itself. Some minimal API should be offered to allow BXL to provide additional behaviour such as output artifacts, and print results. Most use cases from LSP desire to also propagate information via the command line for these operations, so BXL should support command line arguments as inputs. "},{"title":"API​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#api","content":""},{"title":"Defining a bxl function​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#defining-a-bxl-function","content":"There are multiple models possible. We can have each file be its own bxl, or have each file declare multiple bxl like rules. There are multiple advantages to allowing declaration of multiple bxls, such as grouping similar bxls in the same file, allowing them to "invoke" each other. It doesn’t necessarily add much more complexity for the author, as even with one bxl per file, the author still has to have some declaration for the bxls arguments. # sample.bxl func1 = bxl_main( impl = my_func1, args = { "arg1": arg.list(arg.str()), } ) func2 = bxl_main( ... ) To invoke buck2 for that bxl, we can have the command line as follows. buck2 bxl sample.bxl::func1 -- --arg1 foo bar baz For bxl functions to read the arguments, a similar api to rule attrs is used args = ctx.args.args_for_bxl Args defined like attrs when declaring the bxl function above "},{"title":"Accessing target nodes​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#accessing-target-nodes","content":"All standard query functions will be enabled in bxl, allowing users to run query operations, storing them in variables and interacting with them. These allow introspection of the unconfigured targets, or the configured targets based on api # some.bxl targets = ctx.uquery(‘deps("//foo")’) targets = filter(targets, my_filter) # introspect a target for target in targets: ctx.print(target.attributes) # prints selects # also inspect the target like below ctx.print(target.label) target = ctx.cquery("//foo", "//x86").attributes # cquery has selects resolved "},{"title":"Inspect providers​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#inspect-providers","content":"When we have a configured target, bxl can request for the analysis of the rule target = <some configured target> ctx.analysis(target).providers # access the providers "},{"title":"Actions​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#actions","content":"For IDEs, to generate compilation databases, or generate project files, writing them in bxl will entail creating actions, and executing them. As such, bxl will also be given the rules api to register actions, including dynamic outputs for the rule in the current bxl invocation to build artifacts as part of a bxl function. BXL has the ability to create actions with some constraints: Action is tied to a particular targetIt’s output location is determined in the same pattern as regular actions defined via rules targets = ctx.cquery(‘deps("//foo:rule")’) for t in targets: action_ctx = ctx.analysis(t).actions # the action context here is tied to the configured target `t` # actions registered by bxl will be attached with bxl prefix key action_ctx.registry.write(some_output, "foo") BXL can also interact with the existing actions on an action via the action_ctx, such as iterating through it, analyzing its outputs, or requesting it to be ran. targets = deps("foo:rule") for t in targets: action_ctx = ctx.analysis(t).actions for action in action_ctx.iter(): if "foo/path" in action.output: ctx.build(action) "},{"title":"What is cached?​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#what-is-cached","content":"All computations requested by a bxl function will be treated as inputs. So if a bxl function calls uquery, then uses the result to do a cquery, and then a build, if buck2 detects that any of the recorded calls to uquery, cquery, and build changes, the entire bxl will be reran, with no early cutoff. The computations itself will still be cached via DICE, so no major performance issues are expected. However, in the event that a bxl function is computationally heavy, the recommendation would be to move that to an action, or split up the bxl and use inter-bxl caching described below. "},{"title":"Inter-bxl caching?​","type":1,"pageTitle":"Buck Extension Language (BXL)","url":"/docs/rfcs/bxl/#inter-bxl-caching","content":"Different bxl can be cacheable between each other if structured as "outputs"/artifacts. This is essentially the same behaviour as a bxl requestingctx.build, which is cached. Since we have those as hashes on RE, we can track properly and not require storing the values in dice. i.e. # caching_sample.bxl func1 = bxl_main( impl = my_func1, args = { "arg1": arg.list(arg.str()), } ) my_func1(ctx): … # do various stuff that might change a lot, but the final result # doesn’t change much ctx.return(some_artifact) func2 = bxl_main( impl = my_func2, ... ) my_func2(ctx): artifact = ctx.bxl(":func1") # now read artifact value # everything below will only be reran if the artifact content changes … # do some expensive stuff "},{"title":"@configuration syntax","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/configuration-at-syntax/","content":"","keywords":""},{"title":"What​","type":1,"pageTitle":"@configuration syntax","url":"/docs/rfcs/drafts/configuration-at-syntax/#what","content":"Command buck2 build //foo:bar@config//platform:linux-x86_64 should be equivalent to current syntax: buck2 build //foo:bar --target-platforms=//platform:linux-x86_64 "},{"title":"Why​","type":1,"pageTitle":"@configuration syntax","url":"/docs/rfcs/drafts/configuration-at-syntax/#why","content":"Might be convenient if we define global (or per-target, as proposed intarget configuration discovery RFC) alias. For example, if there's an alias release=//config:linux-x86_64-release The command above can be expressed as: buck2 build //foo:bar@release Additionally, if we haveconfiguration expression RFCimplemented, we can do something like: buck2 build //foo:bar@release+gcc "},{"title":"Possible future extensions​","type":1,"pageTitle":"@configuration syntax","url":"/docs/rfcs/drafts/configuration-at-syntax/#possible-future-extensions","content":"For now, at-syntax only applies to command line arguments of build/targets/run/test commandsprobably cquery query It would be reasonable to expect that this syntax should be allowed anywhere we need a target (e.g. in deps attribute), but this is out of scope of this proposal. "},{"title":"Digest Kinds","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/digest-kinds/","content":"","keywords":""},{"title":"Use cases:​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#use-cases","content":"Buck2 needs to support more than just SHA1 for open-sourcing, since publicly available RE providers use SHA256.Internally, we want to migrate to (potentially keyed) Blake3, and there will be a transition period where we need to support both Blake3 and SHA1. "},{"title":"Proposed plan​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#proposed-plan","content":"Make all the ways in which Buck2 ingests digests either configurable or explicit about the type of digest they expect. Internally, we may keep track of digest types for debugging purposes, but we will never compute more than one digest. It follows that we won't expose configuration for the digests we output (namely: to use on RE): if we only have one digest for each blob, making it configurable has no utility since you never have a choice about the hash to use. "},{"title":"Implementation​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#implementation","content":""},{"title":"Hashes received from RE​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#hashes-received-from-re","content":"For interactions with RE, we'll expose two configurations (this can be on the CommandExecutorConfig): Preferred hash to use when Buck2 is doing the hashing (e.g. hashing directories).Accepted hashes. We'll use the format of the digests we receive from RE (in particular their size) to infer what algorithm they used (remember: the RE API provides no way of knowing the format of a digest, it's just a string). "},{"title":"Hashes of files​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#hashes-of-files","content":"We'll expose the hash to use via a buckconfig. Our things-that-produce-hashes-of-files should either use the config to choose how they hash, or fail if they cannot provide the right hash format (e.g. that'll be true of Eden I/O). "},{"title":"Hashes of directories​","type":1,"pageTitle":"Digest Kinds","url":"/docs/rfcs/drafts/digest-kinds/#hashes-of-directories","content":"This one gets a little tricky. Our directories currently have an implementation of fingerprinting that receives only the directory as input, so some refactoring is in order. We have two options: Pick the hashing algorithm based on the contents of the directory (pick one that's already used). Dealing with empty directories is a bit annoying.Refactor the directory implementation and have directories parameterized over their fingerprints, not their hasher. The first one is easier but has the downside of not working with keyed Blake3 (because you don't have a way to bring in the key), so I'm aiming for the second implementation for now. "},{"title":"RFC: TestInfo v2","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/test-info-v2/","content":"RFC: TestInfo v2 A stub RFC for TestInfo v2 to track lessons learned about TestInfo v1. The stack starting D36339960 contains the original code for the TestInfo and templated test API experiment.","keywords":""},{"title":"Universal Configuration Naming Function","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/universal-cfg-naming/","content":"","keywords":""},{"title":"Context​","type":1,"pageTitle":"Universal Configuration Naming Function","url":"/docs/rfcs/drafts/universal-cfg-naming/#context","content":"NOTE: The configuration name consists of a readable string followed by the hash of the configuration. The readable string is technically the PlatformInfoname. For sake of ease of writing, this doc uses configuration name and platform name interchangeably to describe this concept. Currently, there are 3 ways to create and name a configuration. A platform target defines a configuration, and the platform target label becomes the platform name.A transition function defines the configuration and generates a name for the configuration.When a modifier is used, the cfg constructor function for modifiers defines the configuration and its name. There is currently a single naming function that generates all modifier-based configuration names. Modifiers are intended to replace platforms, so in the future all configuration names will be generated. Unfortuately, most of the generated names today used today in transitions are not very good. Problems that I've seen in practice include: Configuration names barely contain any useful information about the configuration. This happens a lot in transitions. For example, the android split CPU architecture transition names the generated configurations "x86_64" and "arm64", which tells very little about the configuration beyond the CPU architectures it splits on.Transition function incorrectly retains the old configuration name that is no longer relevant, misleading the user about what this configuration actually does. I've seen this happen where a configuration has py3.8 in name but the python version constraint stored is actually py3.10. "},{"title":"Proposal​","type":1,"pageTitle":"Universal Configuration Naming Function","url":"/docs/rfcs/drafts/universal-cfg-naming/#proposal","content":"Register a single Starlark function to define all configuration names. This Starlark function would accept a ConfigurationInfo and return a string for the name of the ConfigurationInfo. # Example def name(cfg: ConfigurationInfo) -> str: # ... PlatformInfo is no longer available in Starlark. Any place that previously uses a PlatformInfo will now use ConfigurationInfo instead. Buck2 will invoke this function each time it encounters a new ConfigurationInfo to define its name. This function will attempt to provide a useful name based on the constraints in the configuration, which mitigates the issue of short or misleading configuration names. There are some risks that there will be high amount of code complexity in a function if all configurations are named by one function. This function will most likely be registered via a set_cfg_name function or something callable from root PACKAGE file or potentially prelude. "},{"title":"Return error in ProviderCollection[] on undeclared provider","type":0,"sectionRef":"#","url":"/docs/rfcs/implemented/provider-collection-at/","content":"","keywords":""},{"title":"Why​","type":1,"pageTitle":"Return error in ProviderCollection[] on undeclared provider","url":"/docs/rfcs/implemented/provider-collection-at/#why","content":"Better diagnostics when accessing unknown provider. E. g. when writing: ctx.attrs.foo[UnknownInfo].bar Currently, the error is: Object of type `NoneType` has no attribute `bar` Instead, the error will be something like: provider collection does not contain `UnknownInfo`, defined providers are `FooInfo`, `BarInfo`. "},{"title":"Bazel​","type":1,"pageTitle":"Return error in ProviderCollection[] on undeclared provider","url":"/docs/rfcs/implemented/provider-collection-at/#bazel","content":"In bazel, [] on unknown provider is an error, like this: Error: <target //optional_provider:n2> (rule '_sum') doesn't contain declared provider 'UnknownInfo' "},{"title":"plugin-deps","type":0,"sectionRef":"#","url":"/docs/rfcs/drafts/plugin-deps/","content":"","keywords":""},{"title":"Plugin Deps​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#plugin-deps","content":""},{"title":"Background on Rust proc macros​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#background-on-rust-proc-macros","content":"Rust proc macros are compiler plugins. They are a special kind of crate that is compiled to a dylib, which is then loaded by the compiler when another crate depends on the proc macro. Notably, like all Rust crates, proc macros may also be re-exported. This means that if there is a dependency chain likebin -> lib -> proc_macro, the proc macro must be made available when compiling the binary, even though it does not appear directly in the dependencies. Proc macros have posed a challenge to buck2, for two reasons: Rust users generally expect to not have to distinguish between proc macros and normal crates when specifying their dependencies. This means it is not easily possible to make the lib -> proc_macro edge an exec_dep.bin and lib might end up with different exec platforms. This means that even if proc_macro were to be correctly configured as an exec dep oflib, that configuration might be wrong for bin. FIXME: Other use cases for this feature "},{"title":"Plugins deps​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#plugins-deps","content":"This RFC proposes introducing a concept of "plugin deps" to solve this problem. Plugin deps are deps that can be propagated up the build graph at configuration time, instead of at analysis time. Here's what this looks like: First, plugin deps come in "kinds." Plugin kinds can be created likeMyKind = plugins.kind(). These act as identifiers that can be used to divide all the possible plugin deps up however users need to. Each configured target has plugin lists: There is one list for each plugin kind. The elements of these list are an unconfigured target, together with ashould_propagate bool. The same unconfigured target cannot appear more than once. In other words, this is a HashMap<String, HashMap<Target, bool>>. We need to describe two things: How to use these list, and how to create them. "},{"title":"Using a target's plugin lists​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#using-a-targets-plugin-lists","content":"Using plugin lists is very simple: The rule sets uses_plugins = [MyKind] when declared. Setting this make the elements of the plugin list for the given kind appear as exec deps on the configured nodes for this rule. This also means that the plugins participate in exec dep resolution like all other exec deps. Analysis will then be able to access a list of the providers for each of the plugins via ctx.plugins[MyKind]. The should_propagate bool that is associated with each element of the list is ignored at this stage. "},{"title":"Creating a target's plugin lists​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#creating-a-targets-plugin-lists","content":"Plugin lists are created by accumulating from two sources: The first of these is direct plugin deps. They are defined via a newattrs.plugin_dep(kind = "foo"). This attribute (like other deps), is set to a label when the target is declared. It then resolves as follows: In the unconfigured graph: To the appropriate unconfigured targetIn the configured graph: To the label of the unconfigured target. In other words, this will still be displayed in buck2 cquery -A, but will not appear in the deps.During analysis: Also to the unconfigured target label. The target that appears in the plugin_dep is added to the MyKind plugin list with should_propagate set. The second way to add to the plugin list is by inheriting from regular deps. This works as follows: Elements of the plugin lists for which theshould_propagate value is true are made available to the immediate rdeps of a configured target. The rdep can use them by setting pulls_plugins = [MyKind]in the appropriate attrs.dep() invocation. This will make the targets appear in the plugin list for the rdep with should_propagate unset. Alternatively, the rdep can set pulls_and_pushes_plugins = [MyKind] to add the targets to the plugin lists with should_propagate set to true. This enables transitive propagation further up the configured graph. To decide later: Should we allow plugin rules to appear in regular/exec deps, with no special behavior? I don't see why not. "},{"title":"Example: Proc macros​","type":1,"pageTitle":"plugin-deps","url":"/docs/rfcs/drafts/plugin-deps/#example-proc-macros","content":"RustProcMacro = plugins.kind() rust_proc_macro_propagation = rule( impl = _propagation_impl, attrs = { "actual": attrs.plugin_dep(kind = RustProcMacro), }, ) rust_library = rule( impl = _similar_to_before, # See some notes below attrs = { "proc_macro": attrs.bool(default = False), # Same as before "deps": attrs.list(attrs.dep(pulls_and_pushes_plugins = [RustProcMacro])), # Here we avoid `pulls_and_pushes` because we do not want to make these deps available to rdeps "doc_deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])), }, uses_plugins = [RustProcMacro] ) rust_binary = rule( impl = _similar_to_before, # See some notes below attrs = { "deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])), "doc_deps": attrs.list(attrs.dep(pulls_plugins = [RustProcMacro])), }, uses_plugins = [RustProcMacro] ) def _propagation_impl(ctx): return [ DefaultInfo(default_outputs = []), # During analysis for rust libraries, the providers for proc macros will appear in # `ctx.plugins`. However, this includes the transitive and direct proc macro deps, as # well as the transitive and direct proc macro doc-deps. Analysis needs to be able to # distinguish between all of these though. # # This dummy provider is passed to allow for precisely that. Generally, it will be passed # everywhere where the providers of Rust proc macros are currently passed. That ensures that # analysis on `rust_library` and `rust_binary` have all the information they need about # where the plugin "entered the dependency graph." RustProcMacroMarker(ctx.attrs.actual), ] ### TARGETS # Expanded by macro rust_library( name = "p1_REAL", proc_macro = True, ) # Expanded by macro rust_proc_macro_propagation( name = "p1", actual = ":p1_REAL", ) # Expanded by macro rust_library( name = "p2_REAL", proc_macro = True, ) # Expanded by macro rust_proc_macro_propagation( name = "p2", actual = ":p2_REAL", ) rust_library( name = "l", deps = [":p1"], doc_deps = [":p2"], ) rust_binary( name = "b", deps = [":l"], ) Analysis for :l will see: deps which contains only the RustProcMacroMarker("p")doc_deps which contains only the RustProcMacroMarker("p2")ctx.plugins[RustProcMacro] which contains the providers of :p1_REAL and:p2_REAL, correctly configured for the execution platform of :l. Analysis for :b will see: deps which contain the providers of l ctx.plugins[RustProcMacro] which contain the providers of :p1_REAL, also correctly configured for its own execution platform (which may be different from :l's). Note that because rust_library does not re-push doc deps, :b will not see :p2_REAL. As a result, the implementation of the rust_library rule should not propagate the providers of its proc macro deps (unlike its regular deps). There is one downside to this solution: buck2 build :p does absolutely none of the things that the user is probably expecting. They need buck2 build :p_REAL. That's a bit sad. Thankfully directly building proc macros is not that important a use case? Alias​ It is already the case today that we can't use the normal alias rule on toolchains. A similar situation crops up here, where aliasing a target that pushes plugins causes the plugins to "get lost." The right solution to this is to probably allow plugins.ALL as a special value on pulls_plugins andpulls_and_pushes_plugins, and then set that for the alias rule. "},{"title":"Alias","type":0,"sectionRef":"#","url":"/docs/rule_authors/alias/","content":"","keywords":""},{"title":"alias​","type":1,"pageTitle":"Alias","url":"/docs/rule_authors/alias/#alias","content":"The alias rule has the following relevant attributes: name - (required) what the actual's label should be aliased as.actual - (required) a target label.default_host_platform - default host platform to use for the aliased target. Example filegroup( name = "foo", srcs = ["foo.txt"], ) alias( name = "other_foo", actual = ":foo", ) "},{"title":"versioned_alias​","type":1,"pageTitle":"Alias","url":"/docs/rule_authors/alias/#versioned_alias","content":"The versioned_alias rule has the following relevant attributes: name - (required) what the actual's label should be aliased as.versions - (required) a map of versions to their respective versioned target labels. Under the hood, any versioned parameters from the versioned_alias's underlyingactual are translated into their select-based equivalents, which rely on constraint settings added to the target platform. Example versioned_alias( name = "foo", versions = { # Target labels for foo versions "1.1": "//path/to/lib/1.1:foo", "1.2": "//path/to/lib/1.2:foo", }, visibility = [ "PUBLIC", ], ) "},{"title":"configured_alias​","type":1,"pageTitle":"Alias","url":"/docs/rule_authors/alias/#configured_alias","content":"The configured_alias rule has the following relevant attributes: name - (required) what the actual's label should be aliased as.configured_actual - a configured label (mapped to a configured dep under the hood so the providers can be simply forwarded).fallback_actual - if configured_actual is not set, then fallback to this value, which is an unconfigured dep. If configured_actual is not set, thenfallback_actual must be set.platform - the platform to build the aliased target with. note The actual field is available for configured_alias but it is not used under the hood (to keep compatibility of output format with Buck1 queries). Outside of simply pointing at another target, this target has one other useful feature - it contains a platform argument. This makes the alias rule useful for two distinct scenarios: Configuration switching during the build. For example, there is an iOS target that needs to build a dependency for WatchOS so it can include it in the bundle. This can be represented by the iOS target having a dependency on an alias of the Watch app with platform = "//the/desired/watchos:platform".Using a target to refer to another in a non-standard configuration. For example, if you want to have an experimental version of an app, you could represent that as an alias with an 'experimental' configuration pointing to the original target. Example configured_alias( name = "foo-with-platform1", actual = "//lib:foo", platform = "//some_config:platform1", visibility = ["PUBLIC"], ) "},{"title":"Package-local values","type":0,"sectionRef":"#","url":"/docs/rfcs/package-local-values/","content":"","keywords":""},{"title":"Why​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#why","content":"DevX people want to have some per-directory configuration files, accessible from Starlark macros. For example, a project NNN may want to switch to building using LLVM 15 by default. End users would want to have an easy instruction how to do that, after DevX people provided instructions and infrastructure for that. "},{"title":"What we have now​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#what-we-have-now","content":"Currently, in fbcode, we have get_modes mechanism. get_modes symbol is registered in per-package implicit symbols,here. This symbol can be accessed from macros usingimplicit_package_symbol function. get_modes functions are package-local, but all BUILD_MODE.bzl files need to be registered in global buckconfig, which is not ideal. Proposed per-package properties can replace get_modes mechanism. "},{"title":"API​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#api","content":""},{"title":"PACKAGE files​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#package-files","content":"Before evaluating BUCK file, buck2 will evaluate all PACKAGE files in the same directory and all parent directories. Absent PACKAGE files are treated as empty files. All relevant PACKAGE files are executed sequentially from the root directory to the current directory (but unrelated PACKAGE files can be executed in parallel). Evaluating PACKAGE files sequentially provides additional guarantees, for example, attempt to override a property (unless explicitly requested) should fail with Starlark call stack. Each PACKAGE file is evaluated at most once (like bzl file). PACKAGE files may load arbitrary bzl files. BUCK-specific functions called in bzl files (like rule functions) are available, but calling functions fromPACKAGE files is an error. This way, bzl files are evaluated only once regardless of whether they are loaded from PACKAGE or BUCK file. "},{"title":"API​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#api-1","content":"PACKAGE files have a global function: PACKAGE file API​ def write_package_value( name: str, value: "", overwrite: bool = False, ): ... Name is a string which must contain exactly one dot symbol (just to enforce code style). Value is an arbitrary Starlark value, for example, an integer, a list of integer, a struct or a function. When overwrite is False (default), attempt to overwrite per-package value defined in parent PACKAGE file will fail. Written values are frozen when PACKAGE file evaluation is finished. Note write_package_value symbol exists in bzl globals, and it can be called from bzl file in context of PACKAGE evaluation, but callingwrite_package_file is an error on context of BUCK evaluation. Modifying PACKAGE file logically invalidates the BUCK file of this package, and all PACKAGE and BUCK files of subpackages. However, BUCK file evaluation may track which package-local values were accessed and only invalidate BUCK files which were potentially affected (similarly to how we do it with buckconfigs, with individual properties being projection keys). BUCK file API​ BUCK files (and bzl files included from BUCK files) have a global function: def read_package_value( name: str, ): ... This function returns the nearest value registered per package, or None is such value does not exist. This function is available in bzl files, but attempt to call this function in context of PACKAGE file evaluation results in an error. This restriction can be lifted in the future. Per-package values are not accessible as global symbols in BUCK files. We may reconsider it in the future. "},{"title":"read_config​","type":1,"pageTitle":"Package-local values","url":"/docs/rfcs/package-local-values/#read_config","content":"PACKAGE files may call read_config function. "},{"title":"Configuration Transitions","type":0,"sectionRef":"#","url":"/docs/rule_authors/configuration_transitions/","content":"","keywords":""},{"title":"Transition rule​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#transition-rule","content":"Transition rules are defined in .bzl files using the transition built-in. The transition function creates a configuration-related object. Thetransition object is opaque, it does not have any operations, and can only be used as an argument to rule function or attribute constructor. Thetransition function call must be assigned to a global variable (this is similar to user-defined provider declarations). The transition function takes three arguments: implementation - a function.refs - references to configuration rules to be resolved and passed to the implementation function.split - (optional) bool flag (default False) to indicate whether transition is a split transition (used in per attribute transitions). The implementation function takes two arguments: platform - a configuration to transition.refs - resolved references as a struct. Example transition from ios to watchos (for example, to build a watchOS bundle as part of an iOS build): def _impl(platform: PlatformInfo.type, refs: struct.type) -> PlatformInfo.type: # Operating system constraint setting. os = refs.os[ConstraintSettingInfo] # Watchos constraint value. watchos = refs.watchos[ConstraintValueInfo] # Remove operating system constraint from input platform. constraints = { s: v for (s, v) in platform.configuration.constraints.items() if s != os.label } # Add watchos constraint value. constraints[watchos.setting.label] = watchos # Construct configuration structure. new_cfg = ConfigurationInfo( # Updated constraints. constraints = constraints, # Keep original config values. values = platform.configuration.values, ) # And return new configuration, # or a dict of marker to configuration in case of split transition. return PlatformInfo( # ... supplying configuration label. label = "<transitioned-to-watch>", configuration = new_cfg, ) iphone_to_watch_transition = transition(_impl, refs = { "os": "//constraints:os", "watchos": "//constraints:watchos", }) A transition function applied twice must produce the configuration identical to the configuration produced after applying transition once. assert tr(tr(platform=platform, refs=refs), refs=refs) == tr(platform=platform, refs=refs) If this invariant is not held, certain operations produce incorrect and possibly infinite graphs. This is not yet enforced. "},{"title":"Per rule transition​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#per-rule-transition","content":"The rule function has an optional cfg attribute, which takes a reference to the transition object (created with the transition function; not a string). When such a rule is called, it is instantiated, not with the requested configuration, but with the requested configuration transformed with a given rule transition. For example, the transition for watchos when the iOS target depends on watchos resource: watchos_resource = rule( cfg = iphone_to_watch_transition, ... ) "},{"title":"Per attribute transition​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#per-attribute-transition","content":"The attrs object has two attribute constructors: attrs.transition_dep(cfg)attrs.split_transition_dep(cfg) These attributes are similar to the dep attribute. When dependencies are resolved for the rule instance, then they are resolved not with the rule instance configuration, but with the configuration transformed with the given transition. For split transition, each dependency is resolved into a dict of marker to providers. For example: android_binary = rule( ... attrs = { "deps": attrs.list(attrs.split_transition_dep(cfg = cpu_split_transition), default = []), }, ) When the above is invoked as follows: android_binary( deps = ["//foo:bar", "//qux:quux"], ) Then the rule implementation gets something like the following in the depsattribute: { [ { # Key in this dict is the marker returned from split transition impl function. "arm64": "providers for //foo:bar configured for arm64", "armv7": "providers for //foo:bar configured for armv7", }, { "arm64": "providers for //qux:quux configured for arm64", "armv7": "providers for //qux:quux configured for armv7", }, ] } note It is an error to pass a split transition object to attrs.transition_dep and a non-split transition to attrs.split_transition_dep. "},{"title":"Per target transition​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#per-target-transition","content":"The Buck2 team is considering the implementation of per target transitions (that is, transitions referenced at a rule instantiation site as opposed to rule declaration site). No specific plans or APIs exists at the moment. It could be something like the following: cxx_binary( name = "foo", cfg = "//transitions:opengl-es-1.0", ... ) "},{"title":"Request transition on command line​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#request-transition-on-command-line","content":"For information, see RFC. "},{"title":"Access rule attributes in transition function implementation​","type":1,"pageTitle":"Configuration Transitions","url":"/docs/rule_authors/configuration_transitions/#access-rule-attributes-in-transition-function-implementation","content":"It might be useful for the transition function to be able to query rule attributes (for example, to perform transition to different configurations depending on java_version attribute). Both incoming (per rule) and outgoing (per dependency) transitions can access rule attributes. For outgoing transitions, transition rule implementation accesses the attributes of the target that has dependencies with transitions, not attributes of dependency targets. def _tr(platform, refs, attrs): # NB: There are some restrictions on what attrs can be made accessible: # - Only primitive values for now (providers are not resolved) # - Only unconfigured attributes for now attrs.my_list_attribute # == [12345, 67890] tr = transition( _tr, refs = {}, attrs = { "my_list_attribute": attr.list(...), }, ) my_rule = rule(..., cfg=tr) my_rule( ..., my_list_attribute = [12345, 67890], ) "},{"title":"Configurations","type":0,"sectionRef":"#","url":"/docs/rule_authors/configurations/","content":"","keywords":""},{"title":"Context​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#context","content":"Buck configurations provide an API to express the different ways in which projects and targets can be built. A configuration consists of a set of constraints and config settings (values from buckconfig). These are determined by a base platform that sets the initial values and then a series of transitions that may change them. The common way that users are exposed to configurations is in select()invocations where the resolution is based on the configuration. A build may involve many configurations. A particular target label (//:foo) may end up with multiple instances in the configured graph with different configurations. "},{"title":"Selectable attributes​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#selectable-attributes","content":"Almost all rule attributes can be set to a select() value; such an attribute is 'selectable'. These attributes' final resolved values will depend on the configuration. There are some attributes that cannot use a select(); such attributes are termed 'not selectable'. Examples include attributes that buck needs to read from the unconfigured node (such as name and default_target_platform) and attributes that are used by platform() rules and their dependencies (see below). "},{"title":"Selectable resolution​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#selectable-resolution","content":"Resolving selectable attributes is pretty straightforward, it happens when constructing the 'configured target node'. At that point, the full configuration is available so Buck can lookup whether each constraint in the select is satisfied or not. If multiple conditions of the select() match, then the select will be resolved to the 'most refined' of the conditions that match. A set of constraints (as in a config_setting) is said to 'refine' another if it is a superset of that other's constraints. The 'most refined' of a set is then the condition that refines all the others. If there is no 'most refined' condition of the matching ones, it is an error. "},{"title":"Target Platform Resolution​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#target-platform-resolution","content":"In the event that targets are provided on the command line, or when there is no indication of what configuration the target will be built in, configurations are determined by performing 'target platform resolution' on the unconfigured target labels. The target platform resolution for a target //:foo works as follows: Look up (unconfigured) target node for //:foo.If the command has a --target-platforms flag, use that.If there's a default_target_platform attribute, use that.Else, use the cell's default platform. This is performed independently for any targets that need a platform. Since this resolution is done without a configuration, it means that thedefault_target_platform attribute is not selectable. This target platform will form the initial configuration for the node. "},{"title":"Configuration propagation​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#configuration-propagation","content":"Once the top-level nodes have been configured via the target platform resolution, the configuration is propagated to dependencies (possibly altered by transitions). note The target platform resolution is not applied to all nodes in the graph. "},{"title":"Transitions​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#transitions","content":"A transition transforms a configuration by adding or changing constraint values and config settings or by setting an entirely new underlying target platform. For more details, see Configuration transitions. "},{"title":"ConfigurationInfo, platform() analysis, and more​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#configurationinfo-platform-analysis-and-more","content":"The definition of a platform (either execution or target) is done with aplatform rule instance. The configuration is actually part of the analysis result of the platform target (the ConfigurationInfo provider instance). This is convenient from an implementation standpoint, but it leads to a situation where some nodes are analyzed with an 'unbound' Configuration. All the rule types involved in defining a platform may be analyzed with an unbound configuration (platform(), config_setting(), constraint_setting(), and so on). These are sometimes called 'configuration rules'. This means that all the attributes of these rules are not selectable. Configurations also reference a few other provider instances such asConstraintSettingInfo. All of these end up being potentially produced in a context with an unbound configuration. Using analysis for this also means that 'configuration' and 'analysis' are not distinct phases within a build (although they are still distinct for a node and are still conceptually useful). "},{"title":"Configurations and output paths​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#configurations-and-output-paths","content":"Since a target may appear within a build in multiple different configurations, output paths cannot be derived based on just targets (as multiple actions would map to the same outputs). For this reason, the target and the configuration are encoded into output paths. The configuration is currently represented as a hash of its values (a 'hashed buck-out'). "},{"title":"Target platform compatibility​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#target-platform-compatibility","content":"All (non-configuration) rules support a target_compatible_with attribute. In addition, the rule itself can define target_compatible_with constraints that affect all instances. The target_compatible_with attribute is a list of constraints/config settings and it is selectable. Target platform compatibility is transitive, all dependents of an incompatible target are incompatible. In other words, a node is compatible if and only if the node itself and all of its transitive dependencies are compatible. In buck, this is implemented by graph configuration returning either a configured target node or an indicator that the node is incompatible with the target platform. "},{"title":"Buck v1 compatibility​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#buck-v1-compatibility","content":"Buck2 also supports the Buck v1 legacy compatible_with field on nodes but it has different behavior. In summary: compatible_with: List of constraints, where any of them must match the configuration to be compatible.target_compatible_with: List of constraints, where all of them must match the configuration to be compatible. "},{"title":"Incompatible target skipping​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#incompatible-target-skipping","content":"In a build-like command where a non-literal target pattern is provided (for example, buck build //: or buck build //foo/...), the target pattern will be resolved to a set of unconfigured targets. Those targets will then go throughtarget platform resolution. If any of those targets resolve to a platform where they are incompatible, building them will be skipped. Users generally expect and prefer this behavior to needing to explicitly specify only the targets that can build in their current context. If an explicitly specified literal is incompatible, it is an error. The implementation checks compatibility when looking up the analysis results for configured nodes requested (in the non-ignored flow, it uses that analysis result to lookup the default outputs and build them). "},{"title":"Execution platforms​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#execution-platforms","content":"Execution platforms/configurations are used to represent the platforms where build execution happens. These are defined in a similar manner to target platforms. These may or may not be what one would logically consider different 'platforms'. For example, there could be multiple different execution platforms that all execute things similarly on the local machine. A build configures a fixed list of one or more execution platforms. "},{"title":"Execution deps​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#execution-deps","content":"Some target deps are 'execution deps'. These are the dependencies of the target that should be built for the execution platform. For example, a compiler or other build tool would be an execution dep. This includes all exe macro deps (for example, $(exe //:tool)) and includes all attrs.exec_dep() deps. "},{"title":"Toolchain deps​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#toolchain-deps","content":"In addition to attrs.exec_dep(), there are attrs.toolchain_dep(), which are similar but differ in an important way. These nodes don't select their execution platform, but instead have it forced on them by whatever includes them; hence, it must be recorded in the configured target label. The execution platform resolution sees through them. In other words, attrs.toolchain_dep() is like a mix of attrs.dep() andattrs.exec_dep(): it inherits target platform like attrs.dep() (so anyselect()s on the target of the attrs.toolchain_dep() will evaluate as if they were on the target containing the attrs.toolchain_dep() - the target platform gets inherited as normal) and any attrs.exec_dep()s of theattrs.toolchain_dep() target become attrs.exec_deps() on the dependent of target the attrs.toolchain_dep() (they get passed up the dep tree, so participate in exec platform resolution). This is illustrated in the following example: target( name = "A", toolchain = attrs.toolchain_dep(default = ":B"), ) target( name = "B", tool = attrs.exec_dep(default = ":C") ) The above means that :C will be an execution dependency of :A and anyselect()s defined in :B would be evaluated against the same target platform as :A (as target platform gets inherited by attrs.toolchain_dep()s). "},{"title":"Running non-execution deps​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#running-non-execution-deps","content":"If you have a binary that you want to run, but it isn't a build tool, then you should use $(exe_target //:binary) rather than $(exe //:binary). That will run the same binary that you'd get from buck2 build, rather than one that is built for the execution platform. The path macros vary along two axes: Path Source: either DefaultInfo or RunInfo providersConfiguration: inherits the configuration or transitions to an execution platform configuration Specifically: $location: DefaultInfo path source, inherits configuration$exe: RunInfo path source, exec platform configuration$exe_target: RunInfo path source, inherits configuration "},{"title":"Execution platform resolution​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#execution-platform-resolution","content":"During analysis, unlike target platform resolution, every configured node undergoes execution platform resolution independently (see exception below). This means that even for a specific target platform, different nodes in the graph can be built on different execution platforms. This works roughly as follows: next: for platform in execution_platforms: if exec_compatible_with(target, platform): for dep in target.execution_deps(): if !target_compatible_with(dep, platform): continue next return platform return err One important note here is that until the execution platform has been resolved,the configuration for execution deps is not known. Only after execution platform has been resolved can the execution deps be configured (also, analysis for them can only be performed at that point). For the normal use case, a particular configured target node performs execution platform resolution a single time. The execution platform is not encoded in output paths. Regarding target compatibility, imagine the following pseudo-code for thetarget_compatible_with() function above: def target_compatible_with(target, cfg): for constraint in target.target_compatible_with: if not satisfied(constraint, cfg): return False if len(target.compatible_with) > 0: found_satisfied_constraint = False for constraint in target.compatible_with: if satisfied(constraint, cfg): found_satisfied_constraint = True break if not found_satisfied_constraint: return False for (dep, dep_cfg) in direct_deps(target): # NB: recursive call if not target_compatible_with(dep, dep_cfg): return False return True "},{"title":"Execution groups​","type":1,"pageTitle":"Configurations","url":"/docs/rule_authors/configurations/#execution-groups","content":"Execution groups are a future feature that will allow a rule to perform execution platform resolution multiple times and then specify in which of the resolved platforms each action runs in. "},{"title":"Dep Files","type":0,"sectionRef":"#","url":"/docs/rule_authors/dep_files/","content":"","keywords":""},{"title":"Use Cases​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#use-cases","content":"Dep files are used to make dependencies finer grained than what exists in the target graph, but they're not a substitute for avoiding unused dependencies. They're often useful when targets export many outputs (such as C++ headers) that aren't all used by all their dependents. Dep files are currently used to skip recompilation steps in C++ when an unused header changed. They're also used in Java to skip recompilation when an unused class changed. "},{"title":"Using dep files​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#using-dep-files","content":"To use dep files, you need to do the following: Declare what output is a dep file and associate it with your command.Declare which inputs are covered by the dep file (this can be a subset of your inputs).Have your command produce the dep file in a format Buck2 can use. You must also enableDeferred Materialization to use dep files. "},{"title":"Declaring the dep files and associating inputs​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#declaring-the-dep-files-and-associating-inputs","content":"To declare a dep file and associate it with your command, you need to tag your artifacts. Specifically, you'll tag the output (the dep file) and the inputs it covers, as shown in the following code: # First, create a tag headers_tag = ctx.actions.artifact_tag() # Then, tag inputs and the dep file itself in your command line. # You do this using the `tag_artifacts` method on your tag. # This method does not mutate the input, it wraps it, so you use the output. # Any command-line-arg-like can be tagged. tagged_headers = headers_tag.tag_artifacts(headers) dep_file = ctx.actions.declare_output("deps").as_output() tagged_dep_file = headers_tag.tag_artifacts(dep_file) # Finally, declare your action. # Use the tagged artifacts as you would regular command-line-arg-likes. # Pass the tag in `dep_files` and give a name (this is used for logging). ctx.actions.run( ["mycc", "-I", tagged_headers, "-MD", "-MF", tagged_dep_file, "-o", ...], dep_files = { "headers": headers_tag } ) "},{"title":"Producing the dep file​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#producing-the-dep-file","content":"Your command must produce dep files in the format Buck2 expects, which is simply a list of all the inputs that were used, one per line. The paths must be the paths Buck2 would use for your inputs, which means paths relative to the project root. If this is not the format your tool produces, use a wrapper to take whatever output your command produces and rewrite it in the format Buck2 expects. "},{"title":"Testing dep files​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#testing-dep-files","content":"When writing a command that produces a dep file, you should test it! At a minimum, check that the inputs you expect are tagged properly. To do so, build your target, then usebuck2 audit dep-files TARGET CATEGORY IDENTIFIER, which will show you the set of inputs your command used and how they're tagged. "},{"title":"Extra notes to the implementer​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#extra-notes-to-the-implementer","content":""},{"title":"Limitations​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#limitations","content":"Dep files only work if a previous invocation of the command is known to your Buck2 daemon. Dep files are dropped when the daemon restarts or when you runbuck2 debug flush-dep-files. This means that, for example, if you change an unused header, then run a build on a fresh daemon, Buck2 will still need to execute this command in order to identify that the header was in fact unused. In contrast, if you did the build (and got a remote cache hit on the command), then applied your change and re-built, Buck2 would use the dep file on the second execution, and you wouldn't need to execute anything. "},{"title":"Dep files don't need to be covering​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#dep-files-dont-need-to-be-covering","content":"It's OK for the dep file to only cover a subset of the inputs of your action. However, within that subset, the dep file must declare all the inputs that were used. If you fail to report some inputs you used, then your command will not re-run when they change, and you'll get stale output. "},{"title":"Dep files are lazy​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#dep-files-are-lazy","content":"Dep files aren't parsed by Buck2 unless the command needs to re-run. If the command ran on RE, they aren't even downloaded until then. This ensures dep files don't cause a performance hit unless they are used, at which point they stand a chance of giving a performance boost instead. This means that if you produce an invalid dep file, Buck2 will not report this until your command runs again, at which point Buck2 will report that the dep file is invalid and refuse to proceed (note: you can unblock yourself usingbuck2 debug flush-dep-files). To flush out issues during development, you can pass --eager-dep-files to Buck2 to force Buck2 to parse your dep files as they are produced. "},{"title":"Dep files will traverse symlinks​","type":1,"pageTitle":"Dep Files","url":"/docs/rule_authors/dep_files/#dep-files-will-traverse-symlinks","content":"If your dep file reports that a symlink was used, Buck2 will track the symlink's target as covered by this dep file. "},{"title":"Dynamic Dependencies","type":0,"sectionRef":"#","url":"/docs/rule_authors/dynamic_dependencies/","content":"","keywords":""},{"title":"Implementation​","type":1,"pageTitle":"Dynamic Dependencies","url":"/docs/rule_authors/dynamic_dependencies/#implementation","content":"Buck2 provides the following function: ctx.actions.dynamic_output(dynamic, inputs, outputs, lambda ctx: …) The arguments are: dynamic - a list of artifacts whose values will be available in the function. These will be built before the function is run.inputs - a container of artifacts (cmd_args, list of artifacts, and so on). These inputs must include all the inputs that are referenced by the body of the function argument, apart from those listed in dynamic and outputs: extra inputs may be passed that are not used.The inputs are used for buck2 aquery functionality, but do not cause speculative building. In fact, these inputs may form a cycle with otherdynamic_output actions if they were all required.In the future, it may be possible to not pass all the inputs if the repo is set to permissive mode, allowing a more powerful form of dynamic dependencies. outputs - a list of unbound artifacts (created with declare_artifact) which will be bound by the function.The function argument is given 3 arguments: ctx (context) - which is the same as that passed to the initial rule analysis.outputs - using one of the artifacts from the dynamic_output's outputs(example usage: outputs[artifact_from_dynamic_output_outputs]) gives an unbounded artifact. The function argument must use its outputs argument to bind output artifacts, rather than reusing artifacts from the outputs passed into dynamic_output directly.artifacts - using one of the artifacts from dynamic (example usage:artifacts[artifact_from_dynamic]) gives an artifact value containing the methods read_string, read_lines, and read_json to obtain the values from the disk in various formats. Anything too complex should be piped through a Python script for transformation to JSON. The function must call ctx.actions (probably ctx.actions.run) to bind all outputs. It can examine the values of the dynamic variables and depends on the inputs. The function will usually be a def, as lambda in Starlark does not allow statements, making it quite underpowered. Following is an example of using the function to determine Erlang BEAM dependencies: def erlang(ctx): beams = {} for x in ctx.attr.srcs: dep_file = ctx.actions.declare_output(x + ".out") ctx.actions.run("erl", "-dump-output", x, dep_file.as_output()) beam_file = ctx.actions.declare_output(x + ".beam") beams[x] = beam_file def f(ctx, artifacts, outputs, x=x, dep_file=dep_file): deps = artifacts[dep_file].read_lines() ctx.actions.run( "erl", "-comp", x, [beams[d] for d in deps], outputs[beams[x]].as_output() ) ctx.actions.dynamic_output([dep_file], [x] + deps, [beam_file], f) return [ErlangInfo(objects = beams.values())] The above code uses declare_output for the beam_file then binds it within the function f, after having read the dep_file with read_lines. "},{"title":"Anonymous Targets","type":0,"sectionRef":"#","url":"/docs/rule_authors/anon_targets/","content":"","keywords":""},{"title":"Anon rule​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#anon-rule","content":"An anonymous rule is defined using rule or anon_rule. Example: my_anon_rule = rule( impl = _anon_impl, attrs = {}, ) # Or: my_anon_rule = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = {} # only available for anon_rule ) For rule, these are normal rules, with the difference that they are not in a configuration, so ctx.actions.label won't show configuration information, but just unspecified. For anon_rule, the configuration restrictions also apply, and there is anartifact_promise_mappings field which you can specify a dict of artifact promise names to the map function, which would be applied to the anon target's promise during rule resolution. "},{"title":"Anon target​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#anon-target","content":"An anonymous rule is used via ctx.actions.anon_target orctx.actions.anon_targets, passing in the rule and the attributes for the rule. The return values of those functions are a AnonTarget and AnonTargets type, respectively. Example: my_anon_rule1 = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = {} ) my_anon_rule2 = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = {} ) # <elsewhere> anon_target = ctx.actions.anon_target(my_anon_rule1, {}) anon_targets = ctx.actions.anon_targets([(my_anon_rule1, {}), (my_anon_rule2, {})]) "},{"title":"AnonTarget and AnonTargets​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#anontarget-and-anontargets","content":"AnonTarget has a promise attribute, and artifact() and artifacts()functions. AnonTargets has a promise attribute and anon_targets attribute. The promise attribute for both types returns the anon target's promise (type is promise), which when evaluated returns the providers of the anonymous target. The promise type has a few special behaviors. It has a map function, which takes a function and applies it to the future, returning a new futureAll promises will eventually resolve to a list of providers For AnonTarget, the artifact() and artifacts() functions only return something if using anon_rule. artifact() takes in an artifact name, which should be found in the artifact_promise_mappings dict, and returns the artifact promise. artifacts() returns the dict of all promise artifact names to the artifact promise itself, as defined in artifact_promise_mappings. SeeConvert promise to artifact below for more information about artifact promises. Example: HelloInfo = provider(fields = ["output"]) my_anon_rule = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = { "hello": lambda x: x[HelloInfo].output, } ) # <elsewhere> anon_target = ctx.actions.anon_target(my_anon_rule, {}) artifact = anon_target.artifact("hello") artifact_from_dict = anon_target.artifacts()["hello"] For AnonTargets, the anon_targets attribute returns a list of the underlyingAnonTargets. Example: HelloInfo = provider(fields = ["output"]) GoodbyeInfo = provider(fields = ["output"]) my_anon_rule1 = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = { "hello": lambda x: x[HelloInfo].output, } ) my_anon_rule2 = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = { "goodbye": lambda x: x[GoodbyeInfo].output, } ) # <elsewhere> all_targets = ctx.actions.anon_targets([(my_anon_rule1, {}), (my_anon_rule2, {})]) hello = all_targets.anon_targets[0].artifact("hello") goodbye = all_targets.anon_targets[1].artifact("goodbye") Attributes Anon targets only support a subset of attributes that normal rules support. Supported attributes: boolintstrenumdep deps attributes do not take strings, but dependencies, already in a configurationexec_deps are available if the passed in dep's execution platform matchesDefault attr.deps (as used for toolchains) are not permitted, as the default can't express a dependency. They must be passed forward from the caller. that of the anon target's caller source Accepts bound artifacts or promise artifacts arg Can only be used if anon_target_compatible is True when declaringattrs.arg (ex: attrs.arg(anon_target_compatible = True)) labellisttupledictone_ofoption You can use these attributes like you would in normal rules: my_anon_rule = anon_rule( impl = _my_anon_impl, attrs = { "my_int": attrs.int(), "my_string_with_default": attrs.string(default = "foo"), "my_optional_source": attrs.option(attrs.source()), "my_list_of_labels": attrs.list(attrs.label()), }, artifact_promise_mappings = {} ) def _my_anon_impl(ctx: AnalysisContext) -> list[Provider]: my_int = ctx.attrs.my_int my_string_with_default = ctx.attrs.my_string_with_default my_optional_source = ctx.attrs.my_optional_source my_list_of_labels = ctx.attrs.my_list_of_labels # do something with the attributes... return [DefaultInfo()] "},{"title":"Attribute resolution​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#attribute-resolution","content":"Attribute resolution is handled differently from normal code: Transitions and more complex forms of attributes are banned.The name attribute is a reserved attribute. It is an implicit attribute when defining a rule for an anon target, but can be optionally set when creating an anon target. If present, it must be a syntactically valid target, but could refer to a cell/package that does not exist. If not present, buck2 will generate a name for the target automatically. "},{"title":"name attribute example​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#name-attribute-example","content":"# Rule definition for anon target my_rule = rule( impl = _my_impl, attrs = { # `name` is already implicitly defined as an attribute, and will error # out if you try to define it again during rule declaration }, ) # Anon target instantiation, elsewhere ctx.actions.anon_target( my_rule, { # you can optionally pass `name` into the attributes even though it's # not explicitly defined in the `attrs` field for `my_rule` "name": "foo//bar:baz" }, ) To access the name attribute from an analysis context, you can usectx.label.name. Examples "},{"title":"Simple Example​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#simple-example","content":"# Define an anonymous rule UpperInfo = provider(fields = ["message"]) def _impl_upper(ctx): return [UpperInfo(message = ctx.attrs.message.upper()] upper = rule( attrs = {"message", attrs.string()}, impl = _impl_upper ) # Use an anonymous target def impl(ctx): def k(providers): print(providers[UpperInfo].message) # These are the providers this target returns return [DefaultInfo()] return ctx.actions.anon_target(upper, { name: "my//:greeting", message: "Hello World", }) .promise .map(k) "},{"title":"Longer example​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#longer-example","content":"The following code represents a scenario for a compile-and-link language where, if two targets end up compiling the same file (for example, they are in the same package and both list it, or it gets export_file'd), then that file is compiled just once: ## BUCK ############## @load(":silly.bzl", "silly_binary") silly_binary( name = "hello", srcs = ["hello.sil", "world.sil"], ) ## silly.bzl ############ _SillyCompilation = provider(fields = ["compiled"]) def _silly_compilation_impl(ctx): out = ctx.actions.declare_output("output.o") ctx.actions.run(cmd_args( ctx.attrs.toolchain.compiler, ctx.attrs.src, "-o", out.as_output(), )) return [DefaultInfo(), _SillyCompilation(compiled = out)] _silly_compilation = rule( impl = _silly_compilation_impl, attrs = { "src": attrs.src(), "toolchain": attrs.dep(), }, ) def _silly_binary_impl(ctx): def k(providers): # Step 2: now link them all together out = ctx.actions.declare_output("out.exe") objs = [p[_SillyCompilation].compiled for p in providers] ctx.actions.run(cmd_args( ctx.attrs._silly_toolchain.linker, objs, "-o", out.as_output(), )) return [ DefaultInfo(default_output = out), RunInfo(args = out), ] # Step 1: compile all my individual files return ctx.actions.anon_targets( [(_silly_compilation, { "src": src, "toolchain": ctx.attrs._silly_toolchain }) for src in ctx.attrs.srcs] ).map(k) silly_binary = rule( impl = _silly_binary_impl, attrs = { "srcs": attr.list(attr.src()), "_silly_toolchain": attr.dep(default = "toolchains//:silly"), }, ) "},{"title":"Convert promise to artifact​","type":1,"pageTitle":"Anonymous Targets","url":"/docs/rule_authors/anon_targets/#convert-promise-to-artifact","content":"It can be challenging to pass around the promises from anon_target and structure functions to support that. If you only need an artifact (or multiple artifacts) from an anon_target, you can use artifact() function on the anon target to convert a promise to an artifact. This artifact can be passed to most things that expect artifacts, but until it is resolved (at the end of the current analysis) it can't be inspected with artifact functions like .extension, etc..short_path is supported if ctx.actions.assert_short_path() was called, which produces an artifact type. The promise must resolve to a build (not source) artifact with no associated artifacts. Example: HelloInfo = provider(fields = ["hello", "world"]) def _anon_impl(ctx: AnalysisContext) -> ["provider"]: hello = ctx.actions.write("hello.out", "hello") world = ctx.actions.write("world.out", "world") return [DefaultInfo(), HelloInfo(hello = hello, world = world)] _anon = anon_rule( impl = _anon_impl, attrs = {}, artifact_promise_mappings = { "hello": lambda x: x[HelloInfo].hello, "world": lambda x: x[HelloInfo].world, } ) def _use_impl(ctx: AnalysisContext) -> ["provider"]: anon = ctx.actions.anon_target(_anon, {}) hello_artifact = anon.artifact("hello") world_artifact = anon.artifact("world") out = ctx.actions.declare_output("output") ctx.actions.run([ ctx.attrs.some_tool, hello_artifact, world_artifact, out.as_output() ], category = "process") return [DefaultInfo(default_output = out)] use_promise_artifact = rule(impl = _use_impl, attrs = { "some_tool": attr.exec_dep(), }) "},{"title":"Incremental Actions","type":0,"sectionRef":"#","url":"/docs/rule_authors/incremental_actions/","content":"Incremental Actions It's possible to make certain Buck2 actions behave incrementally, that is, to produce results for a current invocation based on the result from the previous run. Incrementality could significantly improve performance of some actions such as packaging (such as Apple App Bundles) or linking (MSVC incremental linking). There are two essential requirements to make an action incremental: The result from the previous run should be accessible.An understanding of which parts of the result need to be updated; it should be easy to compare inputs from a previous run with inputs from the current run and detect those changed. The only way to run user-defined commands in Buck2 is with ctx.actions.run. Both of the above requirements are met via its metadata_env_var,metadata_path and no_outputs_cleanup parameters. When the no_outputs_cleanup flag is turned on, Buck2 won't perform any deletion of old outputs for the action. That means the result from the previous run will be accessible, but the user script has to detect which parts of it should be deleted and perform a manual cleanup. When the metadata_env_var and metadata_path parameters are present, Buck2 will create a JSON file on a disk before actually executing the command. The file will contain a list of paths and hash digests for every command action input. All paths in the file are relative to the Buck2 project root. Symlinks are not included in metadata because it is possible for the user script to resolve symlink and use a resolved path to get the destination hash digest from action metadata if it's needed, as shown in the following JSON example: { "version": 1, "digests": [ { "path": "buck-out/v2/gen/cell/configuration_hash/path/to/target/__target_name__/generated_file", "digest": "da39a3ee5e6b4b0d3255bfef95601890afd80709:10" }, ... ] } A user script that is run as a part of an action execution is responsible for parsing the JSON file. The version field is bumped every time there is a non-backwards compatible change to the format of the file. The user script should verify that the provided data is of a supported version and should be updated accordingly when the current version is newer than the supported one. The path of the JSON file is provided to the user script via an environment variable with a key equal to metadata_env_var. The user is able to specify the part of the path relative to the result directory via metadata_path. For example, if some rule implementation has the following code: result = ctx.actions.declare_output("result") command = cmd_args(["my_script.py", "--output", result.as_output()]) ctx.actions.run( command, category = "my_category", metadata_env_var = "ACTION_METADATA", metadata_path = "action_metadata.json", no_outputs_cleanup = True, ) Then my_script.py will be executed as: ACTION_METADATA=project/relative/path/to/target/action_metadata.json my_script.py --output resolved/path/to/result my_script.py is responsible for reading the ACTION_METADATA environment variable and parsing a JSON file with the action metadata. Parsed metadata provides information about inputs for the current run, but the script needs somehow to obtain similar information about inputs from the previous run. Such information could just be another output of the user script (as with the previous result, it won't be deleted whenno_outputs_cleanup = True). The Format of such a file is an implementation detail of the user script, but at the very least it should contain a list of every source that was used to form the result and hash digests for such sources. The rule implementation would look something like the following: result = ctx.actions.declare_output("result") state = ctx.actions.declare_output("incremental_state.json") command = cmd_args(["my_script.py", "--output", result.as_output(), "--incremental-state", state.as_output()]) ctx.actions.run( command, category = "my_category", metadata_env_var = "ACTION_METADATA", metadata_path = "action_metadata.json", no_outputs_cleanup = True, ) The user script would then: Parse incremental_state.json and delete it. Deletion prior to amending the result is important so it doesn't result in a situation where an incremental state file is out of sync with the result when the user script fails while changing the result. Such a corrupted state might lead to subsequent incorrect builds reported as "successful".Parse action metadata file, compute what is needed to update the result, and amend it accordingly.Calculate the new state and write it into the new incremental_state.json.","keywords":""},{"title":"Local Resources For Tests Execution","type":0,"sectionRef":"#","url":"/docs/rule_authors/local_resources/","content":"","keywords":""},{"title":"LocalResourceInfo provider​","type":1,"pageTitle":"Local Resources For Tests Execution","url":"/docs/rule_authors/local_resources/#localresourceinfo-provider","content":"This provider describes how to initialize and clean up a pool of homogeneous local resources. Management of initialized resources is done by Buck2 itself when it executes tests requiring such resources. Fields: setup — command represented by cmd_args object which is executed to initialize a local resource. Running this command should write a JSON to stdout. This JSON represents a pool of local resources which are ready to be used.resource_env_vars — key-value mapping {str: str} from environment variable (appended to an execution command for test which is dependent on this local resource) to keys in JSON output of setup command. Example JSON output of setup command: { "pid": 42, "resources": [ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ] } JSON keys: pid — an optional attribute which maps to a PID of a process that holds initialized local resources. If present, on non-Windows platforms the process will be sent SIGTERM when those resources are no longer needed. Signal should be handled to release any system resources related to local resources.resources — a list of resource instances, each is a mapping from a string alias (e.g. socket_address) to a value which represents resource. The number of concurrently running tests that require resources of the same type is limited by how many instances are in a list. String alias is mapped to an environment variable key (which will be added to a command requiring such resource) using a resource_env_vars field in LocalResourceInfo provider (see example below). "},{"title":"Test Execution​","type":1,"pageTitle":"Local Resources For Tests Execution","url":"/docs/rule_authors/local_resources/#test-execution","content":"For a general context on how tests are executed, seeTest Execution. A decision whether certain local resource is required for specific test is made by a test runner. List of required resources is then passed to Buck2 inrequired_local_resources field of ExecuteRequest2 test API protobuf message. If resource is required for a certain test execution and test could potentially be executed locally, local_resources field in test's ExternalRunnerTestInfoprovider is used to select appropriate LocalResourceInfo provider. ExternalRunnerTestInfo.local_resources is a key-value mapping{str: ["label", None]}. Keys represent resource types that match the values passed from the test runner, and values are labels that should point to a target exposing the LocalResourceInfo provider to be used for the initialization of the resource of that type. If the value is None, it indicates that a resource of that type will not be provided, even if the test runner requests it. Before running a test, setup command from selected provider is executed and its output is used to create a pool of resource instances. This pool is shared across all tests pointing to the same configured target label containingLocalResourceInfo provider (normally that means pool is shared for tests requiring same resource type). A resource is acquired (with potential queuing) from that pool prior single test is executed and is returned back to the pool when test finished execution. After buck2 test command is finished, cleanup is performed when SIGTERM is sent to each process holding a pool of resources. "},{"title":"Example Usage​","type":1,"pageTitle":"Local Resources For Tests Execution","url":"/docs/rule_authors/local_resources/#example-usage","content":"Define a target which has LocalResourceInfo provider: simulator( name = "my_resource", broker = ":broker", ) where broker points to a runnable handling actual simulators. Implementation of simulator rule would be: def _impl(ctx: AnalysisContext) -> ["provider"]: return [ DefaultInfo(), LocalResourceInfo( setup = cmd_args([ctx.attrs.broker[RunInfo]]), resource_env_vars = { "IDB_COMPANION": "socket_address" }, ) ] Running a :broker via setup command produces the following JSON: { "pid": 42, "resources": [ {"socket_address": "foo:1"}, {"socket_address": "bar:2"} ] } When Buck2 locally executes a test which requires this particular type of local resource, it reserves one resource from the pool (e.g.{"socket_address": "bar:2"}) and add environment variable representing this resource to execution command (e.g. IDB_COMPANION=bar:2). In our examples"socket_address" alias was substituted by "IDB_COMPANION" based onLocalResourceInfo.resource_env_vars field. The last part is to map a resource type to desired LocalResourceInfo provider. Let's assume a test runner requires a resource of type "ios_simulator" for everyapple_test rule. Pass :my_resource target as a dependency into apple_test rule: apple_test = rule( impl = apple_test_impl, attrs = { ... "_ios_simulator": attrs.default_only(attrs.dep(default = ":my_resource", providers = [LocalResourceInfo])), ... }, ) Actually map "ios_simulator" resource type to :broker target containingLocalResourceInfo provider: def apple_test_impl(ctx: AnalysisContext) -> ["provider"]: ... return [ ... ExternalRunnerTestInfo( ... local_resources = { "ios_simulator": ctx.attrs._ios_simulator, }, ... "},{"title":"Observability and Optimization","type":0,"sectionRef":"#","url":"/docs/rule_authors/optimization/","content":"","keywords":""},{"title":"Starlark profiling​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#starlark-profiling","content":"buck2 supports profiling of the evaluation of specific BUCK files and profiling of the analysis of specific targets. There are three buck2 profiling commands: buck2 profile loadingbuck2 profile analysisbuck2 profile bxl For example: buck2 profile loading --mode=heap-summary-allocated -o heap-summary.csv //some/package: buck2 profile analysis --mode=heap-summary-allocated -o heap-summary.csv //some/package:target Possible values for profiling modes are as follows: heap-summary-allocated: The heap profile mode provides information about the time spent in each function and allocations performed by each function. Enabling this mode has the side effect of disabling garbage-collection. This profiling mode is the recommended one.heap-summary-retained: Like heap summary, but information about retained memory after module is frozen.time-flame: Provide output compatible withflamegraph.pl.heap-flame-allocated: Like heap profile, but writes output comparible withflamegraph.pl.heap-flame-retained: Like heap flame, but information about retained memory after module is frozen.statement: The statement profile mode provides information about time spent in each statement.bytecode: The bytecode profile mode provides information about bytecode instruction pairs.bytecode-pairs: The bytecode profile mode provides information about bytecode instruction pairs.typecheck: Profile runtime typechecking. "},{"title":"Summary profiling​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#summary-profiling","content":"The first profiling mode (heap-summary-allocated) provides the time spent within a function and the allocations that are performed. As an example, running over a folly BUCK file, produces a CSV file whose top-left corner is: Function Time(s) TimeRec(s) Calls Allocs TOTALS 10.455 10.455 9712799 3477203 fbchain_configs 1.163 2.514 11328 33984 is_string 0.726 1.028 1514985 0 apple_library 0.725 0.725 1887 0 type 0.435 0.435 2053296 0 ... This reveals the following: Total execution was 10.455s, which will be a bit slower than normal, because profiling is on.1.163s was spent in fbchain_configs itself and 2.514s in that function and the things it calls.A disturbing 1.5M calls and 1.028s is spent testing if things are strings, which is almost certainly responsible for half the type calls.Happily, is_string doesn't allocate, but fbchain_configs does. Scrolling to the right, on the full CSV file (not shown), reveals it allocates 1 tuple and 2 dict per call. It can also be seen that fbchain_configs is mostly called by _add_code_coverage_configs. This profiling mode is implemented by turning off garbage collection, so the heap retains everything, and pushing function entry/exit entries on to the heap with the time they happen. After execution, the heap can be scanned in order to reconstruct the call tree and allocation patterns. As a result, this profile mode may consume significantly more memory. "},{"title":"Statement profiling​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#statement-profiling","content":"The second profiling mode tells us which statements spent most time executing. Running it over a structured-logger BUCK file gives us a CSV file starting with: File Span Duration(s) Count TOTAL 4.03 7187761 fbcode_allowed_list.bzl 420:9-423:1 0.27 455884 cell_defs.bzl 13:5-13:60 0.17 117736 read_configs.bzl 46:5-46:55 0.08 65042 prelude.bzl 28:9-29:20 0.07 1004 ... This profile shows how much time is spent in each statement. Looking at the relevant portion of fbode_allowed_list.bzl: for _package in _recursive_allowlist: if base_path == _package or base_path.startswith(_package + "/"): return True The if statement is at location 420:9-423:1 and takes 0.27s. The ifstatement runs approximately 456K times. While looking at the outer statement in the profile (not shown), it can be seen that the for loop is only called 3188 times, implying an average of 143 iterations per call. It's possible that this loop could be rewritten as some clever dictionary lookup, perhaps iterating over the path components of _package. Line profiling builds on top of the before_stmt hook that is used for debugging. It records the time each statement is entered then blames that statement for all time until the next statement. That means that sometimes, due to statements making function calls, the return of the function call may be 'blamed' until the next statement executes. As a result, treat the results with slight caution. "},{"title":"Flame profiling​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#flame-profiling","content":"The flame profiling modes produces a .svg flamegraph showing either time spent or allocations. You can open it in Google chrome and inspect the resulting flame graph. "},{"title":"Native profiling​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#native-profiling","content":"Profiling on Linux can be done withperf record -g --call-graph=dwarf,20000 ... and perf report --call-graph Don't profile the buck2 process directly unless you are interested in profiling the CLI; you likely want to profile the buck2 daemon process. You can find the pid with buck2 status and attach perf to that PID. Profiling on Mac can be done with Instruments. "},{"title":"Benchmarking​","type":1,"pageTitle":"Observability and Optimization","url":"/docs/rule_authors/optimization/#benchmarking","content":"If you want to do proper statistically relevant A/B testing, useabsh -a testa -b testb (see absh in the GitHub repository).To measure the number of instructions: On Linux, use perf stat fooOn Mac, use /usr/bin/time -lp foo On Mac, to run something with the time profiler on the command line, usexcrun xctrace record --template 'Time Profiler' --launch -- foo, thenopen Foo.trace for the name of the trace file it spits out (or pass--output to control the output filename). "},{"title":"PACKAGE Files","type":0,"sectionRef":"#","url":"/docs/rule_authors/package_files/","content":"","keywords":""},{"title":"APIs​","type":1,"pageTitle":"PACKAGE Files","url":"/docs/rule_authors/package_files/#apis","content":""},{"title":"PACKAGE APIs​","type":1,"pageTitle":"PACKAGE Files","url":"/docs/rule_authors/package_files/#package-apis","content":"write_package_value​ def write_package_value( name: str, value: "", overwrite: bool = False, ): ... This global API is only available in PACKAGE files, or bzl files included inPACKAGE files. name is a string which must contain exactly one dot symbol (just to enforce code style). value is an arbitrary Starlark value, for example, an integer, a list of integer, a struct or a function. The value must be serializable into JSON. When overwrite is False (default), attempt to overwrite per-PACKAGE value defined in parent PACKAGE file will fail. Written values are frozen when PACKAGE file evaluation is finished. Note write_package_value symbol exists in bzl globals, and it can be called from bzl file in context of PACKAGE evaluation, but callingwrite_package_file is an error on context of BUCK evaluation. Modifying PACKAGE file logically invalidates the BUCK file of this directory, and all PACKAGE and BUCK files of sub-PACKAGEs. However, BUCKfile evaluation may track which PACKAGE-local values were accessed and only invalidate BUCK files which were potentially affected (similarly to how we do it with buckconfigs). read_parent_package_value​ def read_parent_package_value( key: str, ): ... This global API is only available in PACKAGE files, or bzl files included inPACKAGE files. This function returns the PACKAGE value defined in a parent PACKAGE file, orNone is such value does not exist. This function is available in PACKAGE files, but attempt to call this function in context of bzl file evaluation results in an error. package​ def package( inherit: bool = False, visibility: list[str] | tuple[str, ...] = [], within_view: list[str] | tuple[str, ...] = [] ) -> None This global API is only available in PACKAGE files, or bzl files included inPACKAGE files. visibility is a list of visibility patterns to apply to all targets contained within the directory, unless the target defines it's own visibility patterns. within_view is a list of visibility patterns restricting what all target contained within the PACKAGE directory can depend on. Applies to first-order deps, and not transitive deps. If inherit is True, then the visibility and within_view will be inherited from the nearest parent PACKAGE. read_config​ PACKAGE files are able to call read_config to read buckconfigs. "},{"title":"BUCK-specific API​","type":1,"pageTitle":"PACKAGE Files","url":"/docs/rule_authors/package_files/#buck-specific-api","content":"read_package_value​ def read_package_value( name: str, ): ... This global API is only available in BUCK files, or bzl files included inBUCK files. This function returns the nearest name value registered per PACKAGE, orNone is such value does not exist. This function is available in bzl files, but attempt to call this function in context of PACKAGE file evaluation results in an error. This restriction can be lifted in the future. "},{"title":"Test Execution","type":0,"sectionRef":"#","url":"/docs/rule_authors/test_execution/","content":"","keywords":""},{"title":"Anatomy of a test run​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#anatomy-of-a-test-run","content":"When a user runs buck2 test $targets: Buck2 identifies all matching targets that have an ExternalRunnerTestInfo.Buck2 builds all the artifacts referenced by those targets (this will likely change eventually to build them only if they are used).Buck2 then notifies the test runner that those tests exist. Currently, the test runner receives a subset of ExternalRunnerTestInfo.The test runner can request command execution from Buck2 to list and execute tests.When it receives command results from Buck2, the test runner may fire off events that the end-user will see (such as test results), upload logs externally, request further executions, and so on. note If more than one target is being built, test building and execution will proceed concurrently. "},{"title":"Information available on ExternalRunnerTestInfo​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#information-available-on-externalrunnertestinfo","content":"As noted, rules communicate their testing capabilities viaExternalRunnerTestInfo. There are a number of fields available onExternalRunnerTestInfo to control how a given target is tested, as detailed in the following sub-sections. "},{"title":"Fields exposed to the test runner​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#fields-exposed-to-the-test-runner","content":"The following list shows what is available in ExternalRunnerTestInfo, with which the test runner can interact: type - a string key that defines the type of test this is. command and env - respectively, a list and a key-value mapping of arguments. They are not always visible to the test runner (for more details, seeVerbatim arguments and handles, below).labels - a set of string labels to pass to the test runner. contacts - a list of contacts for the tests; usually oncalls.executor_overrides - a key-value mapping of executor configurations that the test runner can use when requesting execution from Buck2.local_resources - a key-value mapping from resource type to optionalLocalResourceInfo provider. Provider is used for initialization of that resource type. If the value is None resource type is ignored even though test runner required it. For context seeLocal Resources For Tests Execution. "},{"title":"Fields pertinent for Remote Execution​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#fields-pertinent-for-remote-execution","content":"For compatibility with Remote Execution (RE), there are two fields that rules should set in their ExternalRunnerTestInfo if they should be run on RE: use_project_relative_paths - if true (the default is `true`), Buck2 will produce relative paths. If not, it'll produce absolute paths.run_from_project_root - if true (the default is `true`), tests will run from the project root (their `cwd` will be the project root, which is the same as all build commands). If `false`, it'll be the cell root. Note that passing --unstable-allow-all-tests-on-re to buck2 test will override those fields and set them to true, since they are a pre-requisite to run on RE. In contrast, passing --unstable-allow-compatible-tests-on-re will only allow tests that already set both those fields to true to execute on RE. Also note that when executor_overrides are set, if an executor override is used and results in execution on RE, it'll happen on RE unconditionally. Therefore, it's a good idea to set those fields if RE-only executor overrides are provided. "},{"title":"Verbatim arguments and handles​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#verbatim-arguments-and-handles","content":"As noted above, the test runner only interacts with a subset of arguments provided by rules in ExternalRunnerTestInfo. The reason for this is that the test runner doesn't get to access, for example, artifacts, that Buck2 knows about. Consider the following example: binary = ctx.attrs.dep[RunInfo] test_info = ExternalRunnerTestInfo(command = [binary, "run-tests"], ...) When Buck2 actually runs this command, binary is expanded to a path (and possibly to more args). Buck2 would also account for any hidden arguments and make those available where the command is executed. It is important for Buck2 to retain this capability when running with the test runner. To that end, all non-trivial arguments present in command (and in the values of env), such as cmd_args or RunInfo, are exposed to the test runner as opaque handles, and simple string arguments are passed as-is to the test runner. This means that the test runner would see the command described above as: [ArgHandle(index = 0), Verbatim("foobar")] When requesting execution from Buck2, the test runner can use the ArgHandleand Buck2 will swap it back for the underlying value that was set on the provider. This allows the test runner to introspect and modify parts of the command lines it receives, as long as it doesn't need to access the actual text value of non-verbatim arguments. Usually, this works out to be sufficient (or can be made sufficient with a bit of refactoring in the test runner). "},{"title":"Execution Configurations​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#execution-configurations","content":"By default, tests execute using the execution configuration of the associated target. This is the execution configuration that would be used for run actions (ctx.actions.run) declared in the same target. This is a default that actually makes little sense but works out as long as cross-compiling is not the norm. To support this, ExternalRunnerTestInfo allows specifying override platforms, which are given a name. The test runner can request execution on them by passing their name when it sends execution requests to Buck2, as shown in the following code: ExternalRunnerTestInfo( executor_overrides = { "ios-simulator": CommandExecutorConfig( local_enabled = False, remote_enabled = True, remote_execution_properties = { "platform": "ios-simulator-pure-re", "subplatform": "iPhone 8.iOS 15.0", "xcode-version": "xcodestable", }, remote_execution_use_case = "tpx-default", ), "static-listing": CommandExecutorConfig(local_enabled = True, remote_enabled = False), }, ... ) The default execution platform can also be overridden: ExternalRunnerTestInfo( default_executor = CommandExecutorConfig( local_enabled = False, remote_enabled = True, remote_execution_properties = { "platform": "ios-simulator-pure-re", "subplatform": "iPhone 8.iOS 15.0", "xcode-version": "xcodestable", }, remote_execution_use_case = "tpx-default", ), ... ) "},{"title":"Working Directory​","type":1,"pageTitle":"Test Execution","url":"/docs/rule_authors/test_execution/#working-directory","content":"Tests can be run from the cell root by setting `run_from_project_root = False`. To produce paths relative to the cell root for use by tests, userelative_to(ctx.label.cell_root) on cmd_args. "},{"title":"Deferred Materialization","type":0,"sectionRef":"#","url":"/docs/users/advanced/deferred_materialization/","content":"","keywords":""},{"title":"Pitfalls​","type":1,"pageTitle":"Deferred Materialization","url":"/docs/users/advanced/deferred_materialization/#pitfalls","content":"Buck2's deferred materialization makes assumptions about your Remote Execution backend. In particular, it expects that the TTL returned from action cache entries by your Remote Execution backend always exceeds the TTL of all output artifacts it references. Nonetheless, artifacts may also eventually expire from your Remote Execution backend. When that happens, builds using Deferred Materialization may fail if those artifacts are needed locally. A kill is necessary to recover from those builds. However, theRestarter can be used to mitigate this issue by restarting Buck2 daemon when it encounters an expired artifact. At Meta, artifacts get periodically refreshed, but open source RE backends do not expose the TTL of artifacts, so this feature does not work outside of Meta. "},{"title":"Enabling Deferred Materialization​","type":1,"pageTitle":"Deferred Materialization","url":"/docs/users/advanced/deferred_materialization/#enabling-deferred-materialization","content":"To enable deferred materialization, add this to yourBuckconfig: [buck2] materializations = deferred "},{"title":"On-disk state​","type":1,"pageTitle":"Deferred Materialization","url":"/docs/users/advanced/deferred_materialization/#on-disk-state","content":"Buck2 can also optionally track its state on disk in a SQLite database. This allows Buck2 to remember what files are on disk across restarts. This can allow Buck2 to avoid re-downloading outputs from your Remote Execution backend if they are already on disk. To enable, add this to your Buckconfig: [buck2] sqlite_materializer_state = true "},{"title":"Deferring Write Actions​","type":1,"pageTitle":"Deferred Materialization","url":"/docs/users/advanced/deferred_materialization/#deferring-write-actions","content":"To further speedup builds, Buck2 can also be instructed to not execute any writes on the critical path for a build. To enable, add this to your Buckconfig: [buck2] defer_write_actions = true This mechanism is recommended if you're using the On-disk State, since it means Buck can omit writes entirely if the same content is already on disk. "},{"title":"buck2 clean --stale​","type":1,"pageTitle":"Deferred Materialization","url":"/docs/users/advanced/deferred_materialization/#buck2-clean---stale","content":"The deferred materializer can be configured to continuously delete stale artifacts, that haven't been recently accessed, or untracked artifacts, that exist in buck-out but not in the materalizer state. Unlike buck2 clean this does not fully wipe buck-out but it should not negatively impact build performance if you are building and rebasing regularly. Enabling this requires enabling on-disk state anddeferred write actions, and adding this to your Buckconfig: [buck2] clean_stale_enabled = true It can be further configured by changing these default values: [buck2] # one week clean_stale_artifact_ttl_hours = 24 * 7 clean_stale_period_hours = 24 clean_stale_start_offset_hours = 12 clean_stale_start_offset_hours determines the time following daemon start up before the first clean will be scheduled.clean_stale_period_hours determines how frequently to schedule recurring clean events.clean_stale_artifact_ttl_hours determines how long artifacts should be kept in buck-out before cleaning them. If clean stale is running in the background at the same time that a build begins to materialize artifacts, the clean will be interrupted and not run again until after the next scheduled period, but it should be able to make gradual progress and prevent long term accumulation of artifacts. If needed, a clean can be manually triggered by calling buck2 clean --stale. "},{"title":"Transitive Sets","type":0,"sectionRef":"#","url":"/docs/rule_authors/transitive_sets/","content":"","keywords":""},{"title":"Rule API​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#rule-api","content":"First, you need to declare your transitive set type, then you can use it, as follows: # This is the type MySet = transitive_set() # Those are transitive sets: set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) Values are optional, and so are children. This means you can have a set with no value and sets with no children. "},{"title":"Projections: using transitive sets in command lines​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#projections-using-transitive-sets-in-command-lines","content":"Sets aren't useful unless you can use their contents! To use a set in a command line, you use a concept called a 'projection', which defines how to turn individual values found in the set into command line arguments. To define a projection, you write a function that takes a value of your set and returns a command-line like object (cmd_args, string, attr.arg()attributes, artifact, and so on) or a list of them in whichever way makes sense for your use case. Then, you call project_as_args to turn a set into a value suitable for inclusion in a command line. When expanded, this projection will expand like a list of all the node's individual projected values. Following is an example: # Declare the projection def project_as_define(value: str): return cmd_args(value, format = "-D{}") # Add it to the set definition MySet = transitive_set(args_projections = { "define": project_as_define }) # Create a set set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) # Call the projection. # Note "define" is the key used above in `args_projections`. args = set2.project_as_args("define") When you use args in a command line, it will expand to -Dbar -Dfoo. Note that creating projections is very cheap. Notably, it is independent of the size of the set. "},{"title":"Projections: using transitive sets in write_json()​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#projections-using-transitive-sets-in-write_json","content":"As with command lines, sets can form json projections to be used in write_json. A json projection is defined in the same way as an arg projection. The function should return a value that write_json otherwise supports. Then, you callproject_as_json to turn a set into a value that can be passed to write_json(or can appear within the value passed to it, it doesn't need to be the top-level value). When expanded, the projection will expand like a list of all the node's individual projected values. Following is an example: # Declare the projection def project_as_json(value: str): return struct(key = "foo", value = value) # Add it to the set definition MySet = transitive_set(json_projections = { "define": project_as_json }) # Create a set set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) # Call the projection. # Note "define" is the key we used above in `json_projections`. args = set2.project_as_json("define") Note that if your projected values include (or may include) artifacts, you will likely want to use write_json(with_inputs=True) to get back a cmd_args that has all the artifacts in the json structure already in its .hidden. "},{"title":"Traversals in depth​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#traversals-in-depth","content":"Transitive sets form DAGs. Notably, this means individual nodes can exist more than once in a given transitive set. When a transitive set is traversed, nodes that have already been visited are skipped. This means their arguments will only be emitted once. For example: flowchart TD foo((foo)) bar((bar)) qux((qux)) qux --> foo bar --> foo qux --> bar set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2]) args = set3.project_as_args("define") This will expand to -Dqux -Dfoo -Dbar, even though set1 ("foo") shows up twice in the DAG. "},{"title":"Other APIs​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#other-apis","content":""},{"title":"Transitive set reductions​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#transitive-set-reductions","content":"You can aggregate values of a transitive set via a reduction. This can be helpful for tasks such as propagating Boolean flags up the tree. Following is a real-world example. When defining a reduction, you receive the reduced values of all your children, and an optional value for the current node (the value will be None when you create a set and you don't pass a value), and you need to merge them together to produce this node's value: def link_info_has_default_filelist(children: list[bool], infos: LinkInfos | None): if infos: info = infos.default if info.filelist: return True return any(children) # Set of LinkInfos LinkInfosTSet = transitive_set( reductions = { "has_default_filelist": link_info_has_default_filelist, }, ) "},{"title":"Transitive set iteration​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#transitive-set-iteration","content":"You can iterate over a transitive set. This will yield each value once. You can also iterate over projections. However, note that this is generally not recommended, since unlike creating and using a projection, this operation is O(set). You should use this as an escape hatch if and only if you need to implement something transitive sets don't support via projections or reductions, because in doing so you'll lose a lot of the performance benefits. For example: set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2]) values = list(set3.traverse()) This will yield ["qux", "foo", "bar"]. "},{"title":"Ordering​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#ordering","content":"Transitive set iteration uses a left-to-right, pre-order traversal by default, and ignores nodes that have already been visited. This order is reflected in projections as well. A few different traversal orders are supported with the ordering attribute: Ordering\tDescriptionpreorder (default)\tTraverses using a depth-first-search, visiting nodes left-to-right. postorder\tTraverses children left-to-right, and then visits the current node. topological\tA Topological sort, such that nodes are listed after all nodes that have them as descendants. This is similar to a pre-order traversal, except that when nodes are shared with more than one parent it is returned in the order of its last occurrence. bfs\tBreadth-first-search (BFS) traversal, traverses nodes left-to-right before traversing children. For example: set1 = ctx.actions.tset(MySet, value = "foo") set2 = ctx.actions.tset(MySet, value = "bar", children = [set1]) set3 = ctx.actions.tset(MySet, value = "qux", children = [set1, set2]) values = list(set3.traverse(ordering = "topological")) # This also works for projections args = set3.project_as_args("project", ordering = "topological")) Following is an example of how different orderings evaluate: flowchart TD foo((foo)) bar((bar)) qux((qux)) qux --> foo bar --> foo qux --> bar Ordering\tResultpreorder\t["qux", "foo", "bar"] postorder\t["foo", "bar", "qux"] topological\t["qux", "bar", "foo"] bfs\t["qux", "foo", "bar"] "},{"title":"Implementation details​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#implementation-details","content":""},{"title":"Performance​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#performance","content":"The performance benefits of tsets arise due to: Caching: projections and reductions are cached.Lazy Evaluation: projection traversals are evaluated lazily. "},{"title":"Evaluation​","type":1,"pageTitle":"Transitive Sets","url":"/docs/rule_authors/transitive_sets/#evaluation","content":"Projections and reductions are evaluated eagerly for each node of your transitive set. This means that if your projection throws an error, you'll find out when creating a set via ctx.actions.tset. "},{"title":"External Cells","type":0,"sectionRef":"#","url":"/docs/users/advanced/external_cells/","content":"","keywords":""},{"title":"Setting up an external cell​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#setting-up-an-external-cell","content":"Configuring an external cell looks much like configuring a regular cell. First, add the cell to the cells section of your .buckconfig like normal: [cells] prelude = some/path The external cell's files won't actually be generated in the repo. However, you still need to provide a path for it - this path influences the handling of tree files, since those cross cell boundaries. It's also used forexpand-external-cells, more on that below. Next, add an entry to the external_cells buckconfig section that specifies the "origin" of the external cell given an alias. This tells buck2 where you want to get the cell from, if not files in the source repo. [external_cells] prelude = bundled For the bundled origin, that's it. Other origins may require additional configuration. "},{"title":"Origins​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#origins","content":"Buck2 currently supports two external cell origins, bundled and git. "},{"title":"The bundled origin​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#the-bundled-origin","content":"The bundled origin can only be used with the prelude cell, and provides access to a copy of the prelude that is bundled as part of the buck2 binary. This is useful as an easier-to-install alternative to vendoring or submoduling the prelude. "},{"title":"The git origin​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#the-git-origin","content":"The git origin indicates that an external cell's content should be loaded from some git repo. It accepts two additional configuration parameters, git_originand commit, like this: [cells] root = . libfoo = libfoo [external_cells] libfoo = git [external_cell_libfoo] git_origin = https://github.com/facebook/foo commit_hash = <sha1sum> The commit_hash value must be a sha1, it cannot be eg a branch name. "},{"title":"Expanding external cells​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#expanding-external-cells","content":"Because external cells only represent a different way to access source files, buck2 provides an expand-external-cell command. This command will make a copy of the external cell into the path in the repo you specified for your cell. By commenting out the external_cells buckconfig entry, this allows you to make direct edits to the cell's files in your repo. "},{"title":"Details & Limitations​","type":1,"pageTitle":"External Cells","url":"/docs/users/advanced/external_cells/#details--limitations","content":"External cells can only be configured in the project root's .buckconfig. This also means that there is no support for "transitive" external cells, ie an external cell cannot specify additional external cells to pull in. External cells cannot have nested cells inside them. The cells buckconfig section of external cells is ignored. This is done to ensure that when using an external cell to access some dependency in a git repo, that git repo can still be an independently building project that specifies its own toolchain and prelude configuration. Because of this difference between external and non-external cells, it's possible that running buck2 expand-external-cell may not produce a working cell immediately, but instead require you to delete the cells section first. cell_aliases still work just like with regular cells. "},{"title":"In Memory Cache","type":0,"sectionRef":"#","url":"/docs/users/advanced/in_memory_cache/","content":"","keywords":""},{"title":"Enabling the in-memory cache​","type":1,"pageTitle":"In Memory Cache","url":"/docs/users/advanced/in_memory_cache/#enabling-the-in-memory-cache","content":"This feature requires enablingDeferred Materialization first. This is necessary so that Buck2 knows what's on disk. This requirement might go away once we decouple keeping track of what's on disk and deferred materialization. Once done, to enable, add this to your Buckconfig: [buck2] hash_all_commands = true "},{"title":"Writing Rules","type":0,"sectionRef":"#","url":"/docs/rule_authors/writing_rules/","content":"","keywords":""},{"title":"Workflow by example​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#workflow-by-example","content":"The built-in Buck2 rules are stored in the prelude folder in the buck2 repo. To add a rule for a language, say pascal: Look atprelude/declsto see the attributes that are supported in Buck1 and are mirrored into Buck2. If pascal was an existing rule, you would see what attributes it takes (often it will be pascal_library and pascal_binary). Create a file pascal.bzl that will contain your rule implementations. The details are explained later, but a dummy rule looks like the following: def pascal_binary_impl(_ctx: AnalysisContext) -> list[Provider]: return [DefaultInfo()] Create a directory in fbcode/buck2/tests/targets/rules/pascal withTARGETS and whatever source files and test targets you need to test your project. Note, Apple tests are currently located atxplat/buck2/tests/apple/.... Test your code with buck2 build fbcode//buck2/tests/targets/rules/pascal:. They should succeed with no actual output produced. Now implement the rules (see the rest of this page). note Before merging a diff, it's important that all your Starlark is warning free (if you don't want to set up Buck2 for local development, test it in CI). "},{"title":"Concepts and design​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#concepts-and-design","content":"A rule for a target uses attributes to declare actions, which produceartifacts that get included in providers. For example, given: def pascal_binary_impl(ctx: AnalysisContext) -> list[Provider]: ... binary = ctx.actions.declare_output(ctx.attrs.out) ctx.actions.run(["pascalc", ctx.attrs.srcs, "-o", binary.as_output()]) return [ DefaultInfo(default_output = binary), ] pascal_binary = rule(impl = pascal_binary_impl, attrs = { "out": attrs.string(), ... }) In the above snippet: Rule is pascal_binary, which is implemented by pascal_binary_impl. The rule says how to build things.Target will be something likefbcode//buck2/tests/targets/rules/pascal:my_binary. The rule implementationpascal_binary_impl will be called once per target.Attributes are the fields on the target (for example, you might haveout, which can be accessed via ctx.attrs.out).Actions are declared by the rule with things like ctx.actions.run, which takes a command line. Note that the actions are not run by the rule, but declared, so that Buck2 can run them later.Artifacts represent files on disk, which could be source or build outputs (binary in the above example). For build outputs, the artifact is produced by an action, and the existence of the artifact does not imply the build has been run: the artifact 'remembers' what should be run if it is required. Providers are returned, which is information that other rules get to use. These will often contain artifacts. The rule implementation takes in a ctx, which is the rule context. The two most important fields are ctx.attrs, which picks up the attributes declared by the rule, and ctx.actions, which lets you create new actions to actually do something. The output of any actions performed will be materialized in buck-out. However, only the defined outputs of providers are available for dependent rules to consume and only the actions necessary to produce those outputs being consumed will be run. By default, the default_output of the DefaultInfo provider is built and output during a buck build. "},{"title":"Providers​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#providers","content":"Providers are the data returned from a rule and are the only way that information from this rule is available to rules that depend on it. Every rule must return at least the DefaultInfo provider, but most will also return either RunInfo (because they are executable) or some custom provider (because they are incorporated into something that is ultimately executable). The DefaultInfo provider has a field default_output, which is the file that will be built when someone executes a buck2 build on this particular target, and the file that will be used when someone runs $(location target) or uses it as a source file (such as srcs = [":my_target"].) The current rule of thumb is that if you can build the default_output, the rule must 'work', and, if usable, should be 'ready'. For example, for a binary, the executable and runtime libraries it depends on might be returned. For a library, because neither the static or dynamic library is the 'default', you merely have to do enough work to ensure that the static and dynamic library probably work. Similar to how DefaultInfo wraps a list of artifacts and $(location) selects from DefaultInfo, RunInfo wraps a command line and $(exe) selects fromRunInfo. For more information about command lines, see Run action, below. For libraries, usually you need to pass some information about the library up to the binary. The only information that dependents on the library get are the providers, so designing the information that flows around the provider is critical to designing good rules. For a hypothetical rule, you may decide you want the name of the library and the artifact that represents the .so file, for which you could define the following provider: PascalLibraryInfo = provider(fields=[ "name", # The name of the library "object" # An artifact, the .so file that needs linking in ] ) Often, you'll grab your dependencies from all your providers: my_deps = [x[PascalLibraryInfo] for x in ctx.attrs.deps] In many cases, it becomes apparent you need the transitive closure of all libraries (for example, the libraries and everything they depend upon), in which case, the standard pattern is to move to a provider of a list of record (see thetypes.mddocument in GitHub) and the flatten/dedupe functions, defining it as: PascalLibraryInfo = provider(fields=["links"]) # a list of LinkData LinkData = record(name = str, object = "artifact") And then consuming it: my_links = dedupe(flatten([x[PascalLibraryInfo].links for x in ctx.attrs.deps])) my_info = PascalLibraryInfo(links = my_links) However, this flatten/dupe pattern can get expensive, especially when you have a deep dependency graph. To fix that it's recommended to usetransitive sets. "},{"title":"Actions​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#actions","content":"There are several actions you can use to create symlink trees, and so on. Run action​ Of the various actions, the run action is by far the most important: it's the one that invokes a command line. A command line is both a list of string arguments and a list of artifacts they depend on; with syntactic niceties for adding artifacts to command lines in a way that ensures the dependencies are usually correct. Following are examples of command line manipulations: cmd = cmd_args(["some", "arguments"]) cmd.add("another-arg") cmd.add(ctx.attrs.src) # An input artifact out = ctx.actions.declare_output("an output") cmd.add(out.as_output()) ctx.actions.run(cmd) The action declare_output creates a new artifact which is not bound to anything. You can call .as_output() on it when adding it to a command line to say that this command line doesn't take the artifact as an input but produces it as an output. From now on, if out is used as a dependency (either to another command line, or in DefaultInfo) then the action will be run to produce that artifact. Typically, these outputs are declared (declare_output), bound in actx.actions.run call with .as_output(), then either used locally as the input to another action or returned in a provider. As another example: cmd = cmd_args(["cp", input, output.as_output()]) ctx.actions.run(cmd) A command provides both a string (what to write when used) and a list of artifacts (what must be available when used). Normally, as in the case above, the artifacts that are used correspond to those on the command line. But imagine the rule is changed to write the command to a shell script first: sh = ctx.actions.write("test.sh", ["cp", input, output]) cmd = cmd_args(["sh",sh],hidden=[input, output.as_output()]) ctx.actions.run(cmd) The command has been written to a shell script, which is now run. Beforehand, all the artifacts used by the command appeared on the command line. Now they don't. However, the shell script still accesses input and output. To inform the run command, use the hidden field of the command line to declare the dependency. For more complicated actions, which perform meaningful logic beyond invoking a simple command, the tendency is to write custom Python scripts. Python scripts are used instead of shell scripts as they have better cross-platform compatibility and fewer hidden corners (especially in error paths). As an example of a Python helper, seemake_comp_db.py. A further advantage of using Python is that these commands can be tested in isolation, outside of Buck2. "},{"title":"Debugging​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#debugging","content":"The functions fail, print and pprint are your friends. To get started, abuck2 build fbcode//buck2/tests/targets/rules/pascal: builds everything orbuck2 run fbcode//buck2/tests/targets/rules/pascal:my_binary runs a specific binary that returns a RunInfo. "},{"title":"Testing Rules​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#testing-rules","content":"A common way to test is to use genrule to cause the produced binary to run and assert some properties from it. If your rule is in Buck1 and Buck2, use aTARGETS file so you can test with both. If your tests are incompatible with Buck1 (such as if it is a new rule), use TARGETS.v2, which will only be seen by Buck2 and won't cause errors with Buck1. "},{"title":"New rules​","type":1,"pageTitle":"Writing Rules","url":"/docs/rule_authors/writing_rules/#new-rules","content":"If your rule is not already in Buck1, then you can define it wherever you like, with a preference for it not being in fbcode/buck2/prelude. The only advantage of the prelude is that rules can be used without a corresponding load, which is generally considered a misfeature. The attributes should usually be placed adjacent to the rule itself. As an example, just below the pascal_binary_impl function, you could write: pascal_binary = rule( impl = pascal_binary_impl, attrs = { "deps": attrs.list(attrs.dep()), "src": attrs.source(), } ) "},{"title":"Restarter","type":0,"sectionRef":"#","url":"/docs/users/advanced/restarter/","content":"","keywords":""},{"title":"Enabling the Restarter​","type":1,"pageTitle":"Restarter","url":"/docs/users/advanced/restarter/#enabling-the-restarter","content":"To enable, add this to your Buckconfig: [buck2] restarter = true "},{"title":"Build Report","type":0,"sectionRef":"#","url":"/docs/users/build_observability/build_report/","content":"","keywords":""},{"title":"Schema​","type":1,"pageTitle":"Build Report","url":"/docs/users/build_observability/build_report/#schema","content":"BuildReport { # A unique ID identifying this buck invocation. Currently a UUID, however # that may change in the future. trace_id: str, # True if all requested targets built successfully success: bool, # The absolute path to the project root project_root: Path, # The results of the build, categorized by unconfigured target results: dict[TargetLabel, BuildReportEntry], # A cache for error message lookup. This is meant for deduplicating strings # that might otherwise appear many times in the build report and cause an # unnecessary size increase. They keys are used in other fields in the build # report in reference to these strings. strings: dict[str, str], # BUCK1 BACKCOMPAT ONLY! # # Currently always empty. Will be filled in if a flag is passed in the future. # # A map from targets that failed to build to error messages describing the # failure. failures: dict[TargetLabel, str], } BuildReportEntry { # The results of building the target in the given configurations configured: dict[Configuration, ConfiguredBuildReportEntry], # Errors encountered while building this target. # # Note that this does not include the errors that are found within the # `ConfiguredBuildReportEntry`s. Instead, it includes additional errors # which could not be associated with a specific configuration of the # target, typically because they occurred before the target could be # configured. errors: list[Error], # BUCK1 BACKCOMPAT ONLY! # # The two fields below are included for buck1 backwards compatibility only. # They are both computed by aggregating across all the configured targets in # the way you might expect. success: "FAIL" | "SUCCESS, outputs: dict[str, list[Path]], # The path to the package containing this target, relative to the project # root. This is the source code location for this target. package_project_relative_path: Optional[str] } ConfiguredBuildReportEntry { # Did this target build successfully or not? success: "FAIL" | "SUCCESS, # A map of subtargets that were built to a list of the successfully built # outputs for that subtarget. # # The keys are generated by joining the subtargets with a `|`. For example, # if you request to have `:target` and `:target[foo][bar]` built on the CLI, # this list will contain one entry for `""` and one for `"foo|bar"`. outputs: dict[str, list[Path]], # The number of targets in the configured dependency graph of this target. # # This is only included if `-c buck2.log_configured_graph_size=true` is set. # Otherwise, it is left as None. configured_graph_size: Optional[uint], } Error { # The stringified hash of the same stringified error message that is shown to the user on the # console. The hash is stored as the key in the `strings` cache of the `BuildReport` message_content: str, # Structured action error. Present only if the error was actually an action error action_error: Optional[ActionError], # An index that can be used to detect duplicate errors. Two errors with the # same cause index have the same cause. Note that that does not mean that # they have the same error message. cause_index: uint, } ActionError { # The action key key: ActionKey, # The action name name: ActionName, # Digest of the action digest: str, # Stringified hash of the stderr of the action stderr: str, # Stringified hash of the stdout of the action stdout: str, # Stringified hash of the same stringified error message that is provided by the action error: str, # Optional list of error categorizations provided by an error handler which is invoked # in the event of a failed action, or an error message if the error handler failed. error_diagnostics: Optional[ActionErrorDiagnostics], } ActionKey { # The configured target, anon target, or bxl function which owns this action owner: str, } ActionName { # The category of the action category: str, # The optional identifier of the action identifier: Optional[str], } enum ActionErrorDiagnostics { # The list of sub errors if the error handler succeeded sub_errors: list[ActionSubError], # The stringified hash of the error message if the error handler failed handler_invocation_error: String, } ActionSubError { # Name of the error category. The category should be finer grain error categorizations # provided by the rule authors, and tend to be language specific. These should not be # any kind of shared concepts among all errors for all languages/rules. For example, # timeouts and infra errors should not go here - buck2 tries to categorize these types # of errors automatically. An example of a finer grain error category may be the error # code for rustc outputs. category: str, # The stringified hash of the extra message provided for the specific sub-error category. message_content: str, # List of error locations, if any locations: Optional[list[ActionErrorLocation]], } ActionErrorLocation { # File path where the error appeared, preferrably either project-relative or absolute. file: str, # Optional line number line: Optional[u64] } "},{"title":"On Compatibility​","type":1,"pageTitle":"Build Report","url":"/docs/users/build_observability/build_report/#on-compatibility","content":"The format of the build report is generally stable. However, note that new fields may be added at any time, and you should ensure this does not cause your parsing to fail. A number of fields above are marked as being for buck1 backwards compatibility only. These fields all have superior alternatives available in the build report already. We would strongly prefer that new code neither use nor parse them, as this increases the likelyhood that they can be removed one day. The build report additionally outputs a few fields that are intentionally not documented here. Those fields are even less useful than ones documented as being for backwards compatibility only, and even closer to removal. Please avoid using or parsing these if at all possible. "},{"title":"Limitations​","type":1,"pageTitle":"Build Report","url":"/docs/users/build_observability/build_report/#limitations","content":"The build report currently has at least the following limitations: It includes only one action error per failed target. This is the expected behavior when --keep-going is not passed, but when --keep-going is passed, this is a bug.It is currently not generated when a non-existant package is specified on the command line. This is also a bug.It cannot be requested for any buck2 command other than buildErrors do not contain any additional metadata outside of the error message. This will be made available as such metadata is available in buck2.The "failures" field is always empty. This will be changed under a backcompat opt-in flag in the future. Finally, it's worth raising that the concept of error deduplication has some fundamental limitations; if two targets both refer to the same non-existant dependency, do those errors have the same cause (the dependency doesn't exist) or different causes (each target is individually broken)? As a result, the exact details of when two errors are considered to have the same cause are not generally stable, and may not always be what you expect. "},{"title":"Buck2 Consoles","type":0,"sectionRef":"#","url":"/docs/users/build_observability/interactive_console/","content":"","keywords":""},{"title":"Simpleconsole​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#simpleconsole","content":"The simpleconsole prints the stdout/stderr messages and event spans, line by line. There is no resource usage telemetry emitted. "},{"title":"Demo​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#demo","content":" "},{"title":"Superconsole​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#superconsole","content":"The superconsole uses thesuperconsole library to provide an interactive console which shows the event spans going on within Buck2. "},{"title":"Demo​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#demo-1","content":" "},{"title":"Toggles​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#toggles","content":"The superconsole also provides several toggles to inspect ongoing Buck2 telemetry. To see what's available you can press ? or h. This will work as long as stdin is a TTY, which will be true most of the time if you're not piping anything into Buck2. To disable to allow alternate use of stdin, or for follow up pasted commands to not get swallowed, you can set theBUCK_NO_INTERACTIVE_CONSOLE environment variable, or use the flag--no-interactive-console. We support the following toggles: c - toggle commands (shown in superconsole by default)d - toggle DICE key statese - toggle debugging events, such as spans and instant event counts2 - toggle two lines mode when showing eventsr - toggle detailed remote execution info, such as uploads, downloads, and action cache callsi - toggle I/O countersp - display target configurations+ - show more lines- - show fewer linesh - show help Note: Not available yet for Windows "},{"title":"No console​","type":1,"pageTitle":"Buck2 Consoles","url":"/docs/users/build_observability/interactive_console/#no-console","content":"When specifying the none console type, Buck2 will only print if the build succeeded, or the error if the build failed. "},{"title":"Logging","type":0,"sectionRef":"#","url":"/docs/users/build_observability/logging/","content":"","keywords":""},{"title":"Event log format​","type":1,"pageTitle":"Logging","url":"/docs/users/build_observability/logging/#event-log-format","content":"Warning: the schemas are all subject to change, so we do not recommend relying on the format. For the source of truth, take a look at data.proto. "},{"title":"Invocation header​","type":1,"pageTitle":"Logging","url":"/docs/users/build_observability/logging/#invocation-header","content":"The first line of the event log is always the Invocation header: Invocation { # CLI args split into a list of strings command_line_args: List[str], # Expanded CLI args, which expand any argsfiles expanded_command_line_args: List[str], # Absolute path of the current working directory of the Buck2 command working_dir: str, # UUID of the Buck2 command trace_id: str, } "},{"title":"Command result footer​","type":1,"pageTitle":"Logging","url":"/docs/users/build_observability/logging/#command-result-footer","content":"The last line is always the CommandResult: Result { # One of the result types of CommandResult protobuf type in data.proto result: BuildResponse | CqueryResponse | BxlResponse | ..., } "},{"title":"Buck events​","type":1,"pageTitle":"Logging","url":"/docs/users/build_observability/logging/#buck-events","content":"The rest of the event log contain BuckEvents, which are eitherSpanStartEvents, SpanEndEvents, or InstantEvents. The BuckEvent format is roughly as follows: Event { # When the event was fired. This is always a 2-item list, where the first # value is millis, second value is micros timestamp: List[u64], # UUID of the Buck2 command, same one as the invocation header trace_id: str, # A trace-unique 64-bit integer identifying this event's span ID, # if this event begins a new span or belongs to one. span_id: u64, # A trace-unique 64-bit identifying the span that this event is logically # parented to. parent_id: u64, # See sections below for more details data: SpanStart | SpanEnd | Instant, } Span starts​ The SpanStartEvent indicates that a span of work starting: SpanStart { # One of the data types of SpanStartEvent protobuf type in data.proto data: AnalysisStart | ActionExecutionStart | ..., } Span ends​ The SpanEndEvent indicates that a span of work has finished: SpanEnd { # Duration of the span duration_us: u64, # CPU poll times for this span stats: SpanStats, # One of the data types of SpanEndEvent protobuf type in data.proto data: AnalysisEnd | ActionExecutionEnd | ..., } # CPU poll times for this span SpanStats { max_poll_time_us: u64, total_poll_time_us: u64, } Instant events​ The InstantEvent represents a single point in time: InstantEvent { # One of the data types of InstantEvent protobuf type in data.proto data: ConsoleMessage | ActionError | ..., } One specific instant event type that may be of interest is the SnapShot event, which includes some interesting details like RSS, CPU, I/O, remote execution, and DICE metrics. "},{"title":"Viewing the event log​","type":1,"pageTitle":"Logging","url":"/docs/users/build_observability/logging/#viewing-the-event-log","content":"Event logs can be accessed using commands under buck2 log show, which outputs the event logs in JSONL format. You can run buck2 log show --help to see all available options. Some useful commands: Show the logs for the most recent Buck2 command: buck2 log show Show the logs for a specific Buck2 command, given the command's UUID: buck2 log show --trace-id <UUID> Show the logs for a recent Buck2 command: buck2 log show --recent <NUMBER> The JSON schema is derived from the protobuf types, and the log itself could be quite large. jq can be useful to find specific things. For example, this jq script shows the max event delay between a snapshot event creation on the daemon side, and when the client receives it. buck2 log show | jq -s ' map( .Event.data.Instant.data.Snapshot.this_event_client_delay_ms | select(. != null) ) | max' "},{"title":"Buck2 Cheat Sheet","type":0,"sectionRef":"#","url":"/docs/users/cheat_sheet/","content":"","keywords":""},{"title":"How do I find all the targets for a package?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-find-all-the-targets-for-a-package","content":"Specify a build target pattern that represents the targets in the package. buck2 cquery //path/to/dir/... The buck2 cquery command can accept abuild target pattern as a parameter. If you specify a build target pattern, Buck2 evaluates this pattern and shows all the build targets that match it. "},{"title":"How do I specify more than one target to buck2 cquery?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-specify-more-than-one-target-to-buck2-cquery","content":"Use the buck2 cquery set() operator. The following command line returns the target main in the build file in the root of the Buck2 project and all the targets from the build file in the myclass subdirectory of the root. buck2 cquery "set( '//:main' '//myclass:' )" "},{"title":"How do I get the attribute names and values for the targets returned by a query?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-get-the-attribute-names-and-values-for-the-targets-returned-by-a-query","content":"Add the --output-attribute <ATTRIBUTE> or --output-all-attributes option to the command line, followed by regular expressions that represent the attributes of interest. buck2 cquery "deps(//foo:bar)" --output-attribute 'name' 'exported_headers' The --output-attribute option enables you to specify which attributes Buck2 should return. Instead of returning the names of the targets that match the query expression, Buck2 returns the names and values of the specified attributes for those targets in JSON format. Attributes are specified as regular expressions. For example, '.*' matches all attributes. See thebuck2 cquery docs for more details. The output for the example query above might look something like the following. {"//foo/bar/lib:lib" : {"exported_headers" : [ "App/util.h" ],"name" : "lib"},"//foo/bar:app" : {"exported_headers" : [ "App/lib.h" ],"name" : "app"}} "},{"title":"How do I perform a query *inside* of a rule?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-perform-a-query-inside-of-a-rule","content":"Buck2 supports certain string parameter macros to be used when defining a target. You can use the query macros as such: $(query_targets "queryfunction(//:foo)") $(query_outputs "queryfunction(//:foo)") $(query_targets_and_outputs [SEPARATOR] "queryfunction(//:foo)") Note, however, that the query macros are supported only forgenrule andapk_genrule. "},{"title":"How do I find the dependencies for a target?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-find-the-dependencies-for-a-target","content":"Use the deps() operator. buck2 cquery "deps('//foo:bar')" buck2 cquery "deps('//foo:bar', 1, first_order_deps())" buck2 cquery "deps(set('//foo:bar' '//foo:lib' '//foo/baz:util'))" The deps operator finds the dependencies of the specified targets. The first argument represents the targets of interest. This can be a singlebuild target orbuild target pattern, or a set of these. The optional second argument is the depth of the search for dependencies from the specified targets. For example, 1, as shown in the example above, returns only the direct dependencies. If you do not provide this argument, the output is the complete set of transitive dependencies. How do I find the reverse-dependencies for a target, that is, the targets that *depend on* a specified target? Use the buck2 cquery rdeps() (reverse dependencies) operator. The following example, returns the targets in thetransitive closure of//foo:bar that depend directly on //example:baz. buck2 cquery "rdeps('//foo:bar', '//example:baz', 1)" "},{"title":"How do I find the buildfile that contains the target that owns a source file?​","type":1,"pageTitle":"Buck2 Cheat Sheet","url":"/docs/users/cheat_sheet/#how-do-i-find-the-buildfile-that-contains-the-target-that-owns-a-source-file","content":"In order to find the build file associated with a source file, combine theowner operator with buildfile. For example, buck2 cquery "buildfile(owner('foo/bar/main.cpp'))" first finds the targets that own foo/bar/main.cpp and then returns the build files, such as foo/bar/BUCK, that define those targets. "},{"title":"aquery","type":0,"sectionRef":"#","url":"/docs/users/commands/aquery/","content":"","keywords":""},{"title":"buck aquery​","type":1,"pageTitle":"aquery","url":"/docs/users/commands/aquery/#buck-aquery","content":"Perform queries on the action graph (experimental) The action graph consists of all the declared actions for a build, with dependencies when one action consumes the outputs of another action. Run `buck2 docs aquery` or https://buck2.build/docs/users/query/aquery/ for more documentation about the functions available in aquery expressions. Examples: Print the action producing a target's default output `buck2 aquery //java/com/example/app:amazing` List all the commands for run actions for building a target `buck2 aquery 'kind(run, deps("//java/com/example/app:amazing+more"))' --output-attribute=cmd` Dynamic outputs (`ctx.actions.dynamic_output`): Currently, aquery interacts poorly with dynamic outputs. It may return incorrect results or otherwise behave unexpectedly. Usage: buck2-release aquery [OPTIONS] <QUERY> [QUERY_ARGS]... Arguments: <QUERY> the query to evaluate [QUERY_ARGS]... list of literals for a multi-query (one containing `%s` or `%Ss`) Options: -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --json Output in JSON format --dot Output in Graphviz Dot format --dot-compact Output in a more compact format than Graphviz Dot --output-format <dot|dot_compact|json|starlark> Output format (default: list). dot - dot graph format. dot_compact - compact alternative to dot format. json - JSON format. starlark - targets are printed like starlark code that would produce them. [possible values: dot, json, dot_compact, starlark] -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"build","type":0,"sectionRef":"#","url":"/docs/users/commands/build/","content":"","keywords":""},{"title":"buck build​","type":1,"pageTitle":"build","url":"/docs/users/commands/build/#buck-build","content":"Build the specified targets Usage: buck2-release build [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to build Options: --show-output Print the path to the output for each of the rules relative to the project root --show-full-output Print the absolute path to the output for each of the rules --show-simple-output Print only the path to the output for each of the rules relative to the project root --show-full-simple-output Print only the absolute path to the output for each of the rules --show-json-output Print the output paths relative to the project root, in JSON format --show-full-json-output Print the output absolute paths, in JSON format -M, --materializations <MATERIALIZATIONS> Materialize (or skip) the final artifacts, bypassing buckconfig. [possible values: all, none] --build-default-info Build default info (this is the default) --skip-default-info Do not build default info (this is not the default) --build-run-info Build runtime dependencies (this is the default) --skip-run-info Do not build runtime dependencies (this is not the default) --build-test-info Build tests (this is not the default) --skip-test-info Do not build tests (this is the default) --out <OUTPUT_PATH> Copy the output of the built target to this path (`-` to stdout) --output-hashes-file <OUTPUT_HASHES_FILE> Experimental: Path to a file where the Buck2 daemon should write a list of produced artifacts in json format --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"bxl","type":0,"sectionRef":"#","url":"/docs/users/commands/bxl/","content":"","keywords":""},{"title":"buck bxl​","type":1,"pageTitle":"bxl","url":"/docs/users/commands/bxl/#buck-bxl","content":"Run BXL scripts Usage: buck2-release bxl [OPTIONS] <BXL label> [-- <BXL INPUT ARGS>...] Arguments: <BXL label> The bxl function to execute as defined by the label of form `<cell>//path/file.bxl:<function>` [BXL INPUT ARGS]... Arguments passed to the bxl script Options: -M, --materializations <MATERIALIZATIONS> Materialize (or skip) the final artifacts, bypassing buckconfig. [possible values: all, none] --user-event-log <PATH> Write user events to this log file. Both user and internal events are written to main event log. If this flag is specified, user events are additionally written to user event log. Log format is JSONL, uncompressed if no known extensions are detected, or you can explicitly specify the compression via the file extension (ex: `.json-lines.gz` would be gzip compressed, `.json-lines.zst` would be zstd compressed). Resulting log is is compatible with `buck2 log show-user` --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"clean","type":0,"sectionRef":"#","url":"/docs/users/commands/clean/","content":"","keywords":""},{"title":"buck clean​","type":1,"pageTitle":"clean","url":"/docs/users/commands/clean/#buck-clean","content":"Delete generated files and caches. The command also kills the buck2 daemon. Usage: buck2-release clean [OPTIONS] Options: --dry-run Performs a dry-run and prints the paths that would be removed. --stale [<DURATION>] Delete artifacts from buck-out older than 1 week or older than the specified duration, without killing the daemon --tracked-only Only considers tracked artifacts for cleanup. `buck-out` can contain untracked artifacts for different reasons: - Outputs from aborted actions - State getting deleted (e.g., new buckversion that changes the on-disk state format) - Writing to `buck-out` without being expected by Buck --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"completion","type":0,"sectionRef":"#","url":"/docs/users/commands/completion/","content":"","keywords":""},{"title":"buck completion​","type":1,"pageTitle":"completion","url":"/docs/users/commands/completion/#buck-completion","content":"Print completion configuration for shell For a one-time setup, run one of the following commands: source <(buck2 completion bash) source <(buck2 completion zsh) Usage: buck2-release completion [OPTIONS] <SHELL> Arguments: <SHELL> shell for which to generate completion script [possible values: bash, zsh] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"ctargets","type":0,"sectionRef":"#","url":"/docs/users/commands/ctargets/","content":"","keywords":""},{"title":"buck ctargets​","type":1,"pageTitle":"ctargets","url":"/docs/users/commands/ctargets/#buck-ctargets","content":"Resolve target patterns to configured targets Usage: buck2-release ctargets [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to interpret Options: --skip-missing-targets Skip missing targets from `BUCK` files when non-glob pattern is specified. This option does not skip missing packages and does not ignore errors of `BUCK` file evaluation -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"cquery","type":0,"sectionRef":"#","url":"/docs/users/commands/cquery/","content":"","keywords":""},{"title":"buck cquery​","type":1,"pageTitle":"cquery","url":"/docs/users/commands/cquery/#buck-cquery","content":"Perform queries on the configured target graph The configured target graph includes information about the configuration (platforms) and transitions involved in building targets. In the configured graph, `selects` are fully resolved. The same target may appear in multiple different configurations (when printed, the configuration is after the target in parentheses). A user can specify a `--target-universe` flag to control how literals are resolved. When provided, any literals will resolve to all matching targets within the universe (which includes the targets passed as the universe and all transitive deps of them). When not provided, we implicitly set the universe to be rooted at every target literal in the `cquery`. Run `buck2 docs cquery` or https://buck2.build/docs/users/query/cquery/ for more documentation about the functions available in cquery expressions. Examples: Print all the attributes of a target `buck2 cquery //java/com/example/app:amazing --output-all-attributes` List the deps of a target (special characters in a target will require quotes): `buck2 cquery 'deps("//java/com/example/app:amazing+more")'` Usage: buck2-release cquery [OPTIONS] <QUERY> [QUERY_ARGS]... Arguments: <QUERY> the query to evaluate [QUERY_ARGS]... list of literals for a multi-query (one containing `%s` or `%Ss`) Options: -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --json Output in JSON format --dot Output in Graphviz Dot format --dot-compact Output in a more compact format than Graphviz Dot --output-format <dot|dot_compact|json|starlark> Output format (default: list). dot - dot graph format. dot_compact - compact alternative to dot format. json - JSON format. starlark - targets are printed like starlark code that would produce them. [possible values: dot, json, dot_compact, starlark] --show-providers Show the providers of the query result instead of the attributes and labels -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Starlark Profiling Options: --profile-mode <PROFILE_MODE> Profile target loading. When this option is enabled, Buck will profile every `BUCK` file loaded during the query and merge the results into a single profile. The command may return cached profile data if `BUCK` files were not invalidated. [possible values: time-flame, heap-flame-allocated, heap-flame-retained, heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs, typecheck, coverage] --profile-output <PROFILE_OUTPUT> Where to write profile output Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"expand-external-cell","type":0,"sectionRef":"#","url":"/docs/users/commands/expand-external-cell/","content":"","keywords":""},{"title":"buck expand-external-cell​","type":1,"pageTitle":"expand-external-cell","url":"/docs/users/commands/expand-external-cell/#buck-expand-external-cell","content":"Expand the contents of an external cell into the repo. The contents are placed at the path you specified for this cell in your buckconfig. If you additionally remove the entry from the `external_cells` section of your buckconfig, you can edit the files directly in the repo and see those edits reflected in your build. Note that this creates a point-in-time snapshot. The files in the repo will not be updated if you eg change the git commit of the cell in the future. Usage: buck2-release expand-external-cell [OPTIONS] <CELL> Arguments: <CELL> Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"help-env","type":0,"sectionRef":"#","url":"/docs/users/commands/help-env/","content":"","keywords":""},{"title":"buck help-env​","type":1,"pageTitle":"help-env","url":"/docs/users/commands/help-env/#buck-help-env","content":"Print help for environment variables used by buck2 Usage: buck2-release help-env [OPTIONS] Options: --self-testing Also print those environment variables that are only used for buck2 integration tests. These are all unstable and not meant to be used by most users. -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"docs","type":0,"sectionRef":"#","url":"/docs/users/commands/docs/","content":"","keywords":""},{"title":"buck docs​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs","content":"Print documentation of specified symbols Usage: buck2-release docs [OPTIONS] <COMMAND> Commands: starlark Print documentation of user-defined starlark symbols starlark-builtins Generate documentation for starlark builtins uquery Print documentation for query/uquery cquery Print documentation for cquery aquery Print documentation for aquery help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck docs starlark​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs-starlark","content":"Print documentation of user-defined starlark symbols Usage: buck2-release docs starlark [OPTIONS] [SYMBOL_PATTERNS]... Arguments: [SYMBOL_PATTERNS]... Patterns to interpret. //foo:bar.bzl is 'every symbol in //foo:bar.bzl', //foo:bar.bzl:baz only returns the documentation for the symbol 'baz' in //foo:bar.bzl Options: --markdown-files-destination-dir <DESTINATION_DIR> --markdown-files-native-subdir <NATIVE_SUBDIR> [default: native] --markdown-files-starlark-subdir <STARLARK_SUBDIR> [default: starlark] --format <FORMAT> how to format the returned documentation [default: json] [possible values: json, markdown_files] --builtins get documentation for built in functions, rules, and providers -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck docs starlark-builtins​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs-starlark-builtins","content":"Generate documentation for starlark builtins. This command is designed to support buck2's doc generation and does not have stable output. Usage: buck2-release docs starlark-builtins [OPTIONS] --output-dir <OUTPUT_DIR> Options: --output-dir <OUTPUT_DIR> The directory to output files to -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck docs uquery​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs-uquery","content":"Print documentation for query/uquery Usage: buck2-release docs uquery [OPTIONS] Options: --format <FORMAT> How to format the documentation [default: rendered] [possible values: markdown, rendered] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck docs cquery​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs-cquery","content":"Print documentation for cquery Usage: buck2-release docs cquery [OPTIONS] Options: --format <FORMAT> How to format the documentation [default: rendered] [possible values: markdown, rendered] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck docs aquery​","type":1,"pageTitle":"docs","url":"/docs/users/commands/docs/#buck-docs-aquery","content":"Print documentation for aquery Usage: buck2-release docs aquery [OPTIONS] Options: --format <FORMAT> How to format the documentation [default: rendered] [possible values: markdown, rendered] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"init","type":0,"sectionRef":"#","url":"/docs/users/commands/init/","content":"","keywords":""},{"title":"buck init​","type":1,"pageTitle":"init","url":"/docs/users/commands/init/#buck-init","content":"Initialize a buck2 project Usage: buck2-release init [OPTIONS] [PATH] Arguments: [PATH] The path to initialize the project in. The folder does not need to exist [default: .] Options: --no-prelude Don't include the standard prelude or generate toolchain definitions --allow-dirty Initialize the project even if the git repo at \\[PATH\\] has uncommitted changes --git Also initialize a git repository at the given path, and set up an appropriate `.gitignore` file -h, --help Print help (see a summary with '-h') Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"kill","type":0,"sectionRef":"#","url":"/docs/users/commands/kill/","content":"","keywords":""},{"title":"buck kill​","type":1,"pageTitle":"kill","url":"/docs/users/commands/kill/#buck-kill","content":"Kill the buck daemon. Note there's also `buck2 killall` and `buck2 clean`. `buck2 killall` kills all the buck2 processes on the machine. `buck2 clean` kills the buck2 daemon and also deletes the buck2 state files. Usage: buck2-release kill [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"killall","type":0,"sectionRef":"#","url":"/docs/users/commands/killall/","content":"","keywords":""},{"title":"buck killall​","type":1,"pageTitle":"killall","url":"/docs/users/commands/killall/#buck-killall","content":"Kill all buck2 processes on the machine Usage: buck2-release killall [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"install","type":0,"sectionRef":"#","url":"/docs/users/commands/install/","content":"","keywords":""},{"title":"buck install​","type":1,"pageTitle":"install","url":"/docs/users/commands/install/#buck-install","content":"Build and install an application Usage: buck2-release install [OPTIONS] [TARGET]... [-- <INSTALL_ARGS>...] Arguments: [TARGET]... Target to build and install [INSTALL_ARGS]... Additional arguments passed to the install when running it Options: --installer-debug Prints installer output to stderr. It might break superconsole -r, --run Run an Android activity. Here for compatibility with buck1 - it is automatically forwarded to the installer -e, --emulator Use this option to use emulators only on Android. Here for compatibility with buck1 - it is automatically forwarded to the installer -d, --device Use this option to use real devices only on Android. Here for compatibility with buck1 - it is automatically forwarded to the installer -s, --serial <SERIAL> Use Android device or emulator with specific serial or UDID number. Here for compatibility with buck1 - it is automatically forwarded to the installer -x, --all-devices Use all connected Android devices and/or emulators (multi-install mode). Here for compatibility with buck1 - it is automatically forwarded to the installer -a, --activity <ACTIVITY> Android activity to launch e.g. com.facebook/.LoginActivity. Implies -r. Here for compatibility with buck1 - it is automatically forwarded to the installer -i, --intent-uri <INTENT_URI> Android Intent URI to launch e.g. fb://profile. Implies -r. Here for compatibility with buck1 - it is automatically forwarded to the installer -w, --wait-for-debugger Have the launched Android process wait for the debugger. Here for compatibility with buck1 - it is automatically forwarded to the installer -u, --uninstall Use this option to uninstall an installed app before installing again. Here for compatibility with buck1 - it is automatically forwarded to the installer -k, --keep Use this option to Keep user data when uninstalling. Here for compatibility with buck1 - it is automatically forwarded to the installer --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"lsp","type":0,"sectionRef":"#","url":"/docs/users/commands/lsp/","content":"","keywords":""},{"title":"buck lsp​","type":1,"pageTitle":"lsp","url":"/docs/users/commands/lsp/#buck-lsp","content":"Start an LSP server for starlark files Usage: buck2-release lsp [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"log","type":0,"sectionRef":"#","url":"/docs/users/commands/log/","content":"","keywords":""},{"title":"buck log​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log","content":"Commands for interacting with buck2 logs Usage: buck2-release log [OPTIONS] <COMMAND> Commands: what-ran Output everything Buck2 ran from selected invocation what-failed Outputs every command that failed in the selected invocation path Output the path to the selected log show Outputs the log in JSON format from selected invocation cmd Show buck command line arguments from selected invocation what-up Show the spans that were open when the log ended what-materialized Outputs materializations from selected invocation what-uploaded Outputs stats about uploads to RE from the selected invocation critical-path Show the critical path for a selected build replay Replay an event log show-user Converts the event log from a selected invocation into a user event log, in JSONL format summary Outputs high level statistics about the build help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log what-ran​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-what-ran","content":"Output everything Buck2 ran from selected invocation. The output is presented as a series of tab-delimited records with the following structure: The reason for executing a given command. That's either to build or to test. The identity of this command. This will include the target that ran required it. The executor for this command. This will either be RE or local. Details to reproduce it. For RE, that's the action digest. For local, the command. To reproduce an action that ran on RE, use the following command then follow the instructions. The DIGEST is of the form `hash:size`. frecli cas download-action DIGEST To reproduce an action that ran locally, make sure your working directory is the project root (if unsure, use `buck2 root --kind project` to find it), then run the command. The command is already shell-quoted. Usage: buck2-release log what-ran [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --format <OUTPUT> Which output format to use for this command [default: tabulated] [possible values: tabulated, json, csv] --emit-cache-queries --skip-cache-hits --skip-remote-executions --skip-local-executions --filter-category <FILTER_CATEGORY> Regular expression to filter commands by given action category (i.e. type of of actions that are similar but operate on different inputs, such as invocations of a C++ compiler (whose category would be `cxx_compile`)). Matches by full string --failed Show only commands that failed --incomplete Show only commands that were not completed. That is command were running if buck2 process was killed, or command currently running if buck2 is running build now --show-std-err Show also std_err from commands that are run. If the command fails before completing, we display "<command did not finish executing>". If it finishes but there is no error, we display "<stderr is empty>". Otherwise, std_err is shown. For JSON, we show raw values and null for non-completion --omit-empty-std-err Omit commands if their std_err is empty -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log what-failed​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-what-failed","content":"Outputs every command that failed in the selected invocation. Look at the help for what-ran to understand the output format. Usage: buck2-release log what-failed [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --format <OUTPUT> Which output format to use for this command [default: tabulated] [possible values: tabulated, json, csv] --emit-cache-queries --skip-cache-hits --skip-remote-executions --skip-local-executions --filter-category <FILTER_CATEGORY> Regular expression to filter commands by given action category (i.e. type of of actions that are similar but operate on different inputs, such as invocations of a C++ compiler (whose category would be `cxx_compile`)). Matches by full string -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log path​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-path","content":"Output the path to the selected log Usage: buck2-release log path [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --all List all the logs -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log show​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-show","content":"Outputs the log in JSON format from selected invocation Usage: buck2-release log show [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log cmd​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-cmd","content":"Show buck command line arguments from selected invocation. This command output is not machine readable. Robots, please use `buck2 log show`. Usage: buck2-release log cmd [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --expand Show @-expanded command line arguments instead of the original command line -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log what-up​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-what-up","content":"Show the spans that were open when the log ended Usage: buck2-release log what-up [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --after <NUMBER> Print the actions that where open after certain amount of milliseconds -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log what-materialized​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-what-materialized","content":"Outputs materializations from selected invocation. The output is a tab-separated list containing the path, the materialization method, the file count, and the total size (after decompression). Usage: buck2-release log what-materialized [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally -s, --sort-by-size Sort the output by total bytes in ascending order --aggregate-by-ext Aggregates the output by file extension --format <OUTPUT> Which output format to use for this command [default: tabulated] [possible values: tabulated, json, csv] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log what-uploaded​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-what-uploaded","content":"Outputs stats about uploads to RE from the selected invocation Usage: buck2-release log what-uploaded [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --format <OUTPUT> Which output format to use for this command [default: tabulated] [possible values: tabulated, json, csv] --aggregate-by-ext Aggregates the output by file extension -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log critical-path​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-critical-path","content":"Show the critical path for a selected build. This produces tab-delimited output listing every node on the critical path. It includes the kind of node, its name, category and identfier, as well as total duration (runtime of this node), user duration (duration the user can improve) and potential improvement before this node stops being on the critical path. All durations are in microseconds. Usage: buck2-release log critical-path [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --format <FORMAT> Which output format to use for this command [default: tabulated] [possible values: tabulated, json, csv] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log replay​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-replay","content":"Replay an event log. This command allows visualizing an existing event log in a Superconsole. Usage: buck2-release log replay [OPTIONS] [PATH] [OVERRIDE_ARGS]... Arguments: [PATH] A path to an event-log file to read from [OVERRIDE_ARGS]... Override the arguments Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally --speed <NUMBER> Control the playback speed using a float (i.e. 0.5, 2, etc) --preload Preload the event log. This is typically only useful for benchmarking -h, --help Print help (see a summary with '-h') Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log show-user​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-show-user","content":"Converts the event log from a selected invocation into a user event log, in JSONL format Usage: buck2-release log show-user [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck log summary​","type":1,"pageTitle":"log","url":"/docs/users/commands/log/#buck-log-summary","content":"Outputs high level statistics about the build Usage: buck2-release log summary [OPTIONS] [PATH] Arguments: [PATH] A path to an event-log file to read from Options: --recent <NUMBER> Open the event-log file from a recent command --trace-id <ID> Show log by trace id --allow-remote This option does nothing --no-remote Do not allow downloading the log from manifold if it's not found locally -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"profile","type":0,"sectionRef":"#","url":"/docs/users/commands/profile/","content":"","keywords":""},{"title":"buck profile​","type":1,"pageTitle":"profile","url":"/docs/users/commands/profile/#buck-profile","content":"Run starlark profiler Usage: buck2-release profile [OPTIONS] <COMMAND> Commands: analysis Profile analysis loading Profile `BUCK` file evaluation bxl Profile BXL script help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck profile analysis​","type":1,"pageTitle":"profile","url":"/docs/users/commands/profile/#buck-profile-analysis","content":"Profile analysis Usage: buck2-release profile analysis [OPTIONS] --output <PATH> --mode <MODE> [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Options: -r, --recursive In analysis profiling, capture the profile of the target and its dependencies, and output the merged profile -o, --output <PATH> Output file path for profile data. File will be created if it does not exist, and overwritten if it does. --mode <MODE> Profile mode. Memory profiling modes have suffixes either `-allocated` or `-retained`. `-retained` means memory kept in frozen starlark heap after analysis complete. `-retained` does not work when profiling loading, because no memory is retained after loading and frozen heap is not even created. This is probably what you want when profiling analysis. `-allocated` means allocated memory, including memory which is later garbage collected. [possible values: time-flame, heap-flame-allocated, heap-flame-retained, heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs, typecheck, coverage] -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck profile loading​","type":1,"pageTitle":"profile","url":"/docs/users/commands/profile/#buck-profile-loading","content":"Profile `BUCK` file evaluation Usage: buck2-release profile loading [OPTIONS] --output <PATH> --mode <MODE> [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Options: -r, --recursive In analysis profiling, capture the profile of the target and its dependencies, and output the merged profile -o, --output <PATH> Output file path for profile data. File will be created if it does not exist, and overwritten if it does. --mode <MODE> Profile mode. Memory profiling modes have suffixes either `-allocated` or `-retained`. `-retained` means memory kept in frozen starlark heap after analysis complete. `-retained` does not work when profiling loading, because no memory is retained after loading and frozen heap is not even created. This is probably what you want when profiling analysis. `-allocated` means allocated memory, including memory which is later garbage collected. [possible values: time-flame, heap-flame-allocated, heap-flame-retained, heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs, typecheck, coverage] -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck profile bxl​","type":1,"pageTitle":"profile","url":"/docs/users/commands/profile/#buck-profile-bxl","content":"Profile BXL script Usage: buck2-release profile bxl [OPTIONS] --output <PATH> --mode <MODE> <BXL label> [-- <BXL INPUT ARGS>...] Arguments: <BXL label> The bxl function to execute as defined by the label of form `<cell>//path/file.bxl:<function>` [BXL INPUT ARGS]... Arguments passed to the bxl script Options: -M, --materializations <MATERIALIZATIONS> Materialize (or skip) the final artifacts, bypassing buckconfig. [possible values: all, none] --user-event-log <PATH> Write user events to this log file. Both user and internal events are written to main event log. If this flag is specified, user events are additionally written to user event log. Log format is JSONL, uncompressed if no known extensions are detected, or you can explicitly specify the compression via the file extension (ex: `.json-lines.gz` would be gzip compressed, `.json-lines.zst` would be zstd compressed). Resulting log is is compatible with `buck2 log show-user` --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -o, --output <PATH> Output file path for profile data. File will be created if it does not exist, and overwritten if it does. --mode <MODE> Profile mode. Memory profiling modes have suffixes either `-allocated` or `-retained`. `-retained` means memory kept in frozen starlark heap after analysis complete. `-retained` does not work when profiling loading, because no memory is retained after loading and frozen heap is not even created. This is probably what you want when profiling analysis. `-allocated` means allocated memory, including memory which is later garbage collected. [possible values: time-flame, heap-flame-allocated, heap-flame-retained, heap-summary-allocated, heap-summary-retained, statement, bytecode, bytecode-pairs, typecheck, coverage] -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"audit","type":0,"sectionRef":"#","url":"/docs/users/commands/audit/","content":"","keywords":""},{"title":"buck audit​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit","content":"Perform lower level queries Usage: buck2-release audit [OPTIONS] <COMMAND> Commands: cell Query information about the [cells] list in .buckconfig. classpath Prints out a target's classpaths if it has one. This command is deprecated and currently available for compatibility with buck1. We will replace this command with something that can audit the entire `TemplatePlaceholderInfo` in the future. config buck audit config configurations prints the constraints for configuration IDs includes list build file extensions imported at parse time. prelude print the interpreter prelude to stdout providers prints out the providers for a target pattern subtargets Print all subtargets analysis-queries buck audit analysis resolving query attrs execution-platform-resolution prints out information about execution platform resolution visibility Verify the visibility for transitive deps of the specified target(s) on the unconfigured target graph starlark Debug Starlark interpreter dep-files prints out the select files for a command deferred-materializer Access and interact with the deferred materializer output Query the action that produced the output artifact. Does not support BXL, test, scratch, or anon artifacts. If the configuration hash of the output path does not match the current platform configuration, the unconfigured target label will be returned. parse Parses the buck-out path into parts that may be useful (ex: config hash, file path to artifact). package-values Inspect package values help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit cell​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-cell","content":"Query information about the [cells] list in .buckconfig. Usage: buck2-release audit cell [OPTIONS] [CELL_ALIASES]... Arguments: [CELL_ALIASES]... Cell aliases to query. These aliases will be resolved in the working directory cell. Options: --json Output in JSON format --paths-only Don't include the cell name in the output --aliases If enabled and no explicit aliases are passed, will query for all aliases in the working directory cell. --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit classpath​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-classpath","content":"Prints out a target's classpaths if it has one. This command is deprecated and currently available for compatibility with buck1. We will replace this command with something that can audit the entire `TemplatePlaceholderInfo` in the future. Usage: buck2-release audit classpath [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Target patterns to audit Options: --json Output in JSON format -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit config​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-config","content":"buck audit config Usage: buck2-release audit config [OPTIONS] [SPECS]... Arguments: [SPECS]... config section/key specs of the form `section` or `section.key`. If any specs are provided, only values matching a spec will be printed (section headers will be printed only for sections with a key matching the spec) Options: --cell <CELL> --all-cells Produce information for all cells that Buck2 knows about --output-format <OUTPUT_FORMAT> [possible values: simple, json] --json --location <LOCATION_STYLE> [default: none] [possible values: none, direct, extended] --value <VALUE_STYLE> [default: resolved] [possible values: resolved, raw, both] --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit configurations​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-configurations","content":"prints the constraints for configuration IDs Usage: buck2-release audit configurations [OPTIONS] [configurations]... Arguments: [configurations]... configurations to audit (example: `cell//package:target-105fe3389fc7e436`). If none provided, will print information about all known configurations. Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit includes​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-includes","content":"list build file extensions imported at parse time. Usage: buck2-release audit includes [OPTIONS] [BUILD_FILES]... Arguments: [BUILD_FILES]... Build files to audit. These are expected to be relative paths from the working dir cell. Options: --json Print json representation of outputs --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit prelude​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-prelude","content":"print the interpreter prelude to stdout Usage: buck2-release audit prelude [OPTIONS] Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit providers​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-providers","content":"prints out the providers for a target pattern Usage: buck2-release audit providers [OPTIONS] <TARGET_PATTERNS>... Arguments: <TARGET_PATTERNS>... Patterns to analyze Options: --quiet -l, --list List the available providers --print-debug Print the providers using debug format (very verbose) -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit subtargets​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-subtargets","content":"Print all subtargets Usage: buck2-release audit subtargets [OPTIONS] <TARGET_PATTERNS>... Arguments: <TARGET_PATTERNS>... Patterns to analyze Options: --shallow Do not recursively print all nested subtargets; print only the first level. This is set to false by default --json Print subtargets as JSON -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit analysis-queries​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-analysis-queries","content":"buck audit analysis resolving query attrs Usage: buck2-release audit analysis-queries [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to evaluate. The query attributes for targets matching these patterns will be evaluated Options: --include-outputs Enable to print the outputs for the targets in the resolved queries -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit execution-platform-resolution​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-execution-platform-resolution","content":"prints out information about execution platform resolution Usage: buck2-release audit execution-platform-resolution [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to analyze Options: -h, --help Print help (see a summary with '-h') Target Configuration Options: -u, --target-universe <TARGET_UNIVERSE> Comma separated list of targets to construct a configured target universe. When the option is specified, command targets are be resolved in this universe. Additionally, `--target-platforms=` and `--modifier=` flags are be used to configure the universe targets, not the command targets. This argument is particularly recommended on most non-trivial cqueries. In the absence of this argument, buck2 will use the target literals in your cquery expression as the value for this argument, which may not be what you want. --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit visibility​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-visibility","content":"Verify the visibility for transitive deps of the specified target(s) on the unconfigured target graph Usage: buck2-release audit visibility [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Target pattern(s) to analyze. Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit starlark​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-starlark","content":"Debug Starlark interpreter Usage: buck2-release audit starlark [OPTIONS] <COMMAND> Commands: module Inspect Starlark module by fully qualified import string like foo//bar:baz.bzl package-deps Inspect Starlark package file all bzl dependencies by package name like foo//bar/baz help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit starlark module​ Inspect Starlark module by fully qualified import string like foo//bar:baz.bzl Usage: buck2-release audit starlark module [OPTIONS] <IMPORT_PATH> Arguments: <IMPORT_PATH> Module import path Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit starlark package-deps​ Inspect Starlark package file all bzl dependencies by package name like foo//bar/baz Usage: buck2-release audit starlark package-deps [OPTIONS] <PACKAGE> Arguments: <PACKAGE> Package Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit dep-files​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-dep-files","content":"prints out the select files for a command Usage: buck2-release audit dep-files [OPTIONS] <PATTERN> <CATEGORY> [IDENTIFIER] Arguments: <PATTERN> Target to query dep files for <CATEGORY> Action category [IDENTIFIER] Action identifier Options: -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit deferred-materializer​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-deferred-materializer","content":"Access and interact with the deferred materializer Usage: buck2-release audit deferred-materializer [OPTIONS] <COMMAND> Commands: list list-subscriptions fsck refresh get-refresh-log Get the log for TTL refreshes test-iter flush-access-times help Print this message or the help of the given subcommand(s) Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer list​ Usage: buck2-release audit deferred-materializer list [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer list-subscriptions​ Usage: buck2-release audit deferred-materializer list-subscriptions [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer fsck​ Usage: buck2-release audit deferred-materializer fsck [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer refresh​ Usage: buck2-release audit deferred-materializer refresh [OPTIONS] <MIN_TTL> Arguments: <MIN_TTL> Minimum TTL to require for actions Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer get-refresh-log​ Get the log for TTL refreshes Usage: buck2-release audit deferred-materializer get-refresh-log [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer test-iter​ Usage: buck2-release audit deferred-materializer test-iter [OPTIONS] Options: --count <COUNT> [default: 1] -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets buck audit deferred-materializer flush-access-times​ Usage: buck2-release audit deferred-materializer flush-access-times [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit output​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-output","content":"Query the action that produced the output artifact. Does not support BXL, test, scratch, or anon artifacts. If the configuration hash of the output path does not match the current platform configuration, the unconfigured target label will be returned. Usage: buck2-release audit output [OPTIONS] <OUTPUT_PATH> Arguments: <OUTPUT_PATH> The buck-out path to the build artifact, starting with `buck-out` and including the configuration platform. Options: --json -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit parse​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-parse","content":"Parses the buck-out path into parts that may be useful (ex: config hash, file path to artifact). Usage: buck2-release audit parse [OPTIONS] <OUTPUT_PATH> Options: -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format --modifier <VALUE> This option is not used --json --output-attribute <OUTPUT_ATTRIBUTE> <OUTPUT_PATH> The buck-out path to the build artifact, starting with `buck-out` and including the configuration platform. Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck audit package-values​","type":1,"pageTitle":"audit","url":"/docs/users/commands/audit/#buck-audit-package-values","content":"Inspect package values. Package values is the thing set with `write_package_value` function from `PACKAGE` files. Usage: buck2-release audit package-values [OPTIONS] [PACKAGES]... Arguments: [PACKAGES]... Package names to inspect (like `//foo/bar`, no trailing colon) Options: --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"query","type":0,"sectionRef":"#","url":"/docs/users/commands/query/","content":"","keywords":""},{"title":"buck query​","type":1,"pageTitle":"query","url":"/docs/users/commands/query/#buck-query","content":"Alias for `uquery` Usage: buck2-release query [OPTIONS] <QUERY> [QUERY_ARGS]... Arguments: <QUERY> the query to evaluate [QUERY_ARGS]... list of literals for a multi-query (one containing `%s` or `%Ss`) Options: -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --json Output in JSON format --dot Output in Graphviz Dot format --dot-compact Output in a more compact format than Graphviz Dot --output-format <dot|dot_compact|json|starlark> Output format (default: list). dot - dot graph format. dot_compact - compact alternative to dot format. json - JSON format. starlark - targets are printed like starlark code that would produce them. [possible values: dot, json, dot_compact, starlark] --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"root","type":0,"sectionRef":"#","url":"/docs/users/commands/root/","content":"","keywords":""},{"title":"buck root​","type":1,"pageTitle":"root","url":"/docs/users/commands/root/#buck-root","content":"Find buck cell, project or package root Usage: buck2-release root [OPTIONS] Options: -k, --kind <KIND> which root to print [default: cell] [possible values: package, cell, project, daemon] --dir <PATH> determine the root for a specific directory (if not provided, finds the root for the current directory) -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"server","type":0,"sectionRef":"#","url":"/docs/users/commands/server/","content":"","keywords":""},{"title":"buck server​","type":1,"pageTitle":"server","url":"/docs/users/commands/server/#buck-server","content":"Start, query, and control the http server Usage: buck2-release server [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"status","type":0,"sectionRef":"#","url":"/docs/users/commands/status/","content":"","keywords":""},{"title":"buck status​","type":1,"pageTitle":"status","url":"/docs/users/commands/status/#buck-status","content":"Buckd status Usage: buck2-release status [OPTIONS] Options: --snapshot Whether to include a state snapshot in the output. --all Enable printing status for all running buckd -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"run","type":0,"sectionRef":"#","url":"/docs/users/commands/run/","content":"","keywords":""},{"title":"buck run​","type":1,"pageTitle":"run","url":"/docs/users/commands/run/#buck-run","content":"Build and run the selected target. The Build ID for the underlying build execution is made available to the target in the `BUCK_RUN_BUILD_ID` environment variable. Usage: buck2-release run [OPTIONS] <TARGET> [TARGET_ARGS]... Arguments: <TARGET> Target to build and run [TARGET_ARGS]... Additional arguments passed to the target when running it Options: --command-args-file <COMMAND_ARGS_FILE> Write the command to a file instead of executing it. --chdir <CHDIR> Set the current working directory of the executable being run --emit-shell Instead of running the command, print out the command formatted for shell interpolation, use as: $(buck2 run --emit-shell ...) --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"subscribe","type":0,"sectionRef":"#","url":"/docs/users/commands/subscribe/","content":"","keywords":""},{"title":"buck subscribe​","type":1,"pageTitle":"subscribe","url":"/docs/users/commands/subscribe/#buck-subscribe","content":"Open a subscription channel to the Buck2 daemon. This allows you to interact with the Buck2 daemon via the `stdin` and `stdout` of this command: you send requests to the daemon by writing to `stdin`, and you get responses via `stdout`. The protocol used by this command is length-prefixed protobuf. This format is a repeated series of a varint followed by a record of the length indicated by said varint. The protobuf spec for those records is described in `buck2_subscription_proto/subscription.proto`. The client writes `SubscriptionRequest` and reads `SubscriptionResponse`. See the documentation in `subscription.proto` to discover available APIs. This API does not (currently) allow invalid requests and will error out when one is sent. Usage: buck2-release subscribe [OPTIONS] Options: --active-commands Whether to request command snapshots --unstable-json Whether to get output as JSON. The JSON format is deemed unstable so this should only be used for debugging -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"starlark","type":0,"sectionRef":"#","url":"/docs/users/commands/starlark/","content":"","keywords":""},{"title":"buck starlark​","type":1,"pageTitle":"starlark","url":"/docs/users/commands/starlark/#buck-starlark","content":"Run Starlark operations Usage: buck2-release starlark [OPTIONS] <COMMAND> Commands: lint Run the Starlark linter. typecheck Run the Starlark typechecker. debug-attach Run the starlark debug adapter protocol server help Print this message or the help of the given subcommand(s) Options: -h, --help Print help (see a summary with '-h') Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck starlark lint​","type":1,"pageTitle":"starlark","url":"/docs/users/commands/starlark/#buck-starlark-lint","content":"Run the Starlark linter. Usage: buck2-release starlark lint [OPTIONS] <PATH>... Options: -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format <PATH>... Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck starlark typecheck​","type":1,"pageTitle":"starlark","url":"/docs/users/commands/starlark/#buck-starlark-typecheck","content":"Run the Starlark typechecker. Usage: buck2-release starlark typecheck [OPTIONS] <PATH>... Options: -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format <PATH>... Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"buck starlark debug-attach​","type":1,"pageTitle":"starlark","url":"/docs/users/commands/starlark/#buck-starlark-debug-attach","content":"Run the starlark debug adapter protocol server This forwards requests received on stdin to a debug server running in the buck daemon. DAP events and responses are returned from the daemon and sent to this command's stdout. Usage: buck2-release starlark debug-attach [OPTIONS] Options: -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"targets","type":0,"sectionRef":"#","url":"/docs/users/commands/targets/","content":"","keywords":""},{"title":"buck targets​","type":1,"pageTitle":"targets","url":"/docs/users/commands/targets/#buck-targets","content":"Alias for `utargets` Usage: buck2-release targets [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to interpret Options: --json Print targets as JSON --json-lines Print targets as JSON-lines --stats Print statistics of how many entries were processed --resolve-alias Print the fully-qualified build target for the specified aliases --show-target-hash Print a stable hash of each target after the target name --show-unconfigured-target-hash Print a stable unconfigured hash of each target after the target name --target-hash-file-mode <TARGET_HASH_FILE_MODE> Modifies computation of target hashes. If set to `PATHS_AND_CONTENTS` (the default), the contents of all files referenced from the targets will be used to compute the target hash. If set to `PATHS_ONLY`, only files' paths contribute to the hash. If set to `NONE` no files will be used. See also --target-hash-modified-paths [default: paths_and_contents] [possible values: paths_only, paths_and_contents, none] --target-hash-modified-paths <TARGET_HASH_MODIFIED_PATHS>... Modifies computation of target hashes. Only effective when --target-hash-file-mode is set to `PATHS_ONLY`. If a target or its dependencies reference a file from this set, the target's hash will be different than if this option was omitted. Otherwise, the target's hash will be the same as if this option was omitted --target-hash-function <TARGET_HASH_FUNCTION> Selects either the "fast" or the "strong" target hash function to be used for computing target hashes. While we don't specify the exact algorithm, the "strong" algorithm should be a reasonable cryptographic hash (ex. blake3) while the "fast" function will likely be a non-crypto hash. Both functions are guaranteed to be deterministic and to have the same value across different platforms/architectures [default: fast] [possible values: sha1, sha256, murmur-hash3, fast, strong] --target-hash-recursive <TARGET_HASH_RECURSIVE> When true, emit the hash or target node and all dependencies recursively. When false, hash only the target node [default: true] [possible values: true, false] -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --include-defaults Enables printing of default attributes. This would be attributes in a target that aren't explicitly set in the target but instead use the default set in the rule declaration --show-output Print the path to the output for each of the rules relative to the project root --show-full-output Print the absolute path to the output for each of the rules --show-simple-output Print only the path to the output for each of the rules relative to the project root --show-full-simple-output Print only the absolute path to the output for each of the rules --show-json-output Print the output paths relative to the project root, in JSON format --show-full-json-output Print the output absolute paths, in JSON format --keep-going On loading errors, put buck.error in the output stream and continue --streaming Write output as soon as it is available. The order of the output items is non-deterministic and if multiple patterns cover the same target, may have duplicates --no-cache Don't cache the target information on the build graph --imports Show the imports of each package/import. Shows an additional output per package/import (not per target), including implicit dependencies (e.g. the prelude) but only direct dependencies (not the transitive closure) --package-values Show the package values. Produces an additional attribute representing all the package values for the package containing the target --package-values-regex <VALUES> Regular expressions to match package values. Produces an additional attribute representing package values for the package containing the target. Regular expressions are used in "search" mode so, for example, empty string matches all package values -o, --output <PATH> File to put the output in, rather than sending to stdout. File will be created if it does not exist, and overwritten if it does. --compression <SCHEME> Compress the output [default: none] [possible values: none, gzip, zstd] -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"test","type":0,"sectionRef":"#","url":"/docs/users/commands/test/","content":"","keywords":""},{"title":"buck test​","type":1,"pageTitle":"test","url":"/docs/users/commands/test/#buck-test","content":"Build and test the specified targets Usage: buck2-release test [OPTIONS] [TARGET_PATTERNS]... [-- <TEST_EXECUTOR_ARGS>...] Arguments: [TARGET_PATTERNS]... Patterns to test [TEST_EXECUTOR_ARGS]... Additional arguments passed to the test executor. Test executor is expected to have `--env` flag to pass environment variables. Can be used like this: buck2 test //foo:bar -- --env PRIVATE_KEY=123 Options: --exclude <EXCLUDE>... Labels on targets to exclude from tests --include <INCLUDE>... Labels on targets to include from tests. Prefixing with `!` means to exclude. First match wins unless overridden by `always-exclude` flag. If include patterns are present, regardless of whether exclude patterns are present, then all targets are by default excluded unless explicitly included. --always-exclude Whether to always exclude if the label appears in `exclude`, regardless of which appears first --build-filtered Whether to build tests that are excluded via labels. --unstable-allow-compatible-tests-on-re Will allow tests that are compatible with RE (setup to run from the repo root and use relative paths) to run from RE --unstable-allow-all-tests-on-re Will run tests to on RE even if they are missing required settings (running from the root + relative paths). Those required settings just get overridden --overall-timeout <TIMEOUT> How long to execute tests for. If the timeout is exceeded, Buck2 will exit as quickly as possible and not run further tests. In-flight tests will be cancelled. The test orchestrator will be allowed to shut down gracefully. The exit code is controlled by the test orchestrator (which normally should report zero for this). The format is a concatenation of time spans (separated by spaces). Each time span is an integer number and a suffix. Relevant supported suffixes: seconds, second, sec, s, minutes, minute, min, m, hours, hour, hr, h For example: `5m 10s`, `500s`. --test-executor-stdout <TEST_EXECUTOR_STDOUT> Writes the test executor stdout to the provided path --test-executor-stdout=- will write to stdout --test-executor-stdout=FILEPATH will write to the provided filepath, overwriting the current file if it exists By default the test executor's stdout stream is captured --ignore-tests-attribute Normally testing will follow the `tests` attribute of all targets, to find their associated tests. When passed, this flag will disable that, and only run the directly supplied targets --test-executor-stderr <TEST_EXECUTOR_STDERR> Writes the test executor stderr to the provided path --test-executor-stderr=- will write to stderr --test-executor-stderr=FILEPATH will write to the provided filepath, overwriting the current file if it exists By default test executor's stderr stream is captured --build-report <PATH> Print a build report `--build-report=-` will print the build report to stdout `--build-report=<filepath>` will write the build report to the file --enable-optional-validations <VALIDATION_NAMES> Comma separated list of validation names to run that are marked optional. By default, validations marked as optional are skipped. This option overrides the behaviour and executes those validations. --build-report-options <BUILD_REPORT_OPTIONS> Comma separated list of build report options. The following options are supported: `fill-out-failures`: fill out failures the same way Buck1 would. `package-project-relative-paths`: emit the project-relative path of packages for the targets that were built. -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) --local-only Enable only local execution. Will reject actions that cannot execute locally [env: BUCK_OFFLINE_BUILD=] --remote-only Enable only remote execution. Will reject actions that cannot execute remotely --prefer-local Enable hybrid execution. Will prefer executing actions that can execute locally on the local host --prefer-remote Enable hybrid execution. Will prefer executing actions that can execute remotely on RE and will avoid racing local and remote execution --unstable-no-execution Experimental: Disable all execution --no-remote-cache Do not perform remote cache queries or cache writes. If remote execution is enabled, the RE service might still deduplicate actions, so for e.g. benchmarking, using a random isolation dir is preferred [env: BUCK_OFFLINE_BUILD=] --write-to-cache-anyway Could be used to enable the action cache writes on the RE worker when no_remote_cache is specified --eager-dep-files Process dep files when they are generated (i.e. after running a command that produces dep files), rather than when they are used (i.e. before re-running a command that previously produced dep files). Use this when debugging commands that produce dep files. Note that commands that previously produced dep files will not re-run: only dep files produced during this command will be eagerly loaded --upload-all-actions Uploads every action to the RE service, regardless of whether the action needs to execute on RE. This is useful when debugging builds and trying to inspect actions which executed remotely. It's possible that the action result is cached but the action itself has expired. In this case, downloading the action itself would fail. Enabling this option would unconditionally upload all actions, thus you will not hit any expiration issues. --fail-fast If Buck hits an error, do as little work as possible before exiting. To illustrate the effect of this flag, consider an invocation of `build :foo :bar`. The default behavior of buck is to do enough work to get a result for the builds of each of `:foo` and `:bar`, and no more. This means that buck will continue to complete the build of `:bar` after the build of `:foo` has failed; however, once one dependency of `:foo` has failed, other dependencies will be cancelled unless they are needed by `:bar`. This flag changes the behavior of buck to not wait on `:bar` to complete once `:foo` has failed. Generally, this flag only has an effect on builds that specify multiple targets. `--keep-going` changes the behavior of buck to not only wait on `:bar` once one dependency of `:foo` has failed, but to additionally attempt to build other dependencies of `:foo` if possible. --keep-going If Buck hits an error, continue doing as much work as possible before exiting. See `--fail-fast` for more details. --skip-missing-targets If target is missing, then skip building instead of throwing error --skip-incompatible-targets If target is incompatible with the specified configuration, skip building instead of throwing error. This does not apply to targets specified with glob patterns `/...` or `:` which are skipped unconditionally --materialize-failed-inputs Materializes inputs for failed actions which ran on RE -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"Why is Buck2 hanging?","type":0,"sectionRef":"#","url":"/docs/users/faq/buck_hanging/","content":"","keywords":""},{"title":"How to debug a “busy” hang​","type":1,"pageTitle":"Why is Buck2 hanging?","url":"/docs/users/faq/buck_hanging/#how-to-debug-a-busy-hang","content":""},{"title":"Getting a stack trace​","type":1,"pageTitle":"Why is Buck2 hanging?","url":"/docs/users/faq/buck_hanging/#getting-a-stack-trace","content":"When debugging a busy hang, the first thing to do is to work out what the process is doing. There are many tools you can use for this (like a profiler), but the absolute simplest one is quickstack: just run quickstack -p $PID, and it’ll show you a stack dump for all the threads in your process. If you prefergdb, you can use gdb -p $PID, then thread apply all bt, and that’s the same thing. Note that a stack trace tells you what the process is doing at a point in time, so don’t just look at the very last frame and call it the culprit. Instead, look at the stack as a whole. If you need more perspective, use a sampling profiler . You can also just grab stack traces at a few points in time and see if they look similar: this is exactly what a sampling profiler does, albeit at a higher frequency. "},{"title":"Interpreting the stack trace​","type":1,"pageTitle":"Why is Buck2 hanging?","url":"/docs/users/faq/buck_hanging/#interpreting-the-stack-trace","content":"Let's consider an example user report with the following stack trace: #01 0x0000000005b1ec26 in <buck2_build_api::artifact_groups::artifact_group_values::TransitiveSetIterator<buck2_build_api::artifact_groups::artifact_group_values::ArtifactGroupValues, (buck2_build_api::actions::artifact::Artifact, buck2_execute::artifact_value::ArtifactValue), buck2_build_api::artifact_groups::artifact_group_values::ArtifactValueIdentity> as core::iter::traits::iterator::Iterator>::next () from ... #02 0x0000000005b23998 in <buck2_build_api::artifact_groups::artifact_group_values::TransitiveSetIterator<buck2_build_api::artifact_groups::artifact_group_values::ArtifactGroupValues, (buck2_build_api::actions::artifact::Artifact, buck2_execute::artifact_value::ArtifactValue), buck2_build_api::artifact_groups::artifact_group_values::ArtifactValueIdentity> as itertools::Itertools>::exactly_one () from ... #03 0x00000000059dbb2c in buck2_server_commands::commands::build::create_unhashed_outputs () from ... #04 0x0000000005c3c677 in <core::future::from_generator::GenFuture<<buck2_server_commands::commands::build::BuildServerCommand as buck2_server_ctx::template::ServerCommandTemplate>::command::{closure#0}> as core::future::future::Future>::poll () from ... #05 0x00000000054c58a3 in <core::future::from_generator::GenFuture<<alloc::boxed::Box<dyn buck2_server_ctx::ctx::ServerCommandContextTrait> as buck2_server_ctx::ctx::ServerCommandDiceContext>::with_dice_ctx<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}::{closure#0}, core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<cli_proto::BuildResponse, anyhow::Error>> + core::marker::Send>>, cli_proto::BuildResponse>::{closure#0}> as core::future::future::Future>::poll () from ... #06 0x00000000054c7ae3 in <core::future::from_generator::GenFuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}> as core::future::future::Future>::poll () from ... #07 0x0000000005370df8 in <buck2_events::dispatch::Span>::call_in_span::<core::task::poll::Poll<(core::result::Result<cli_proto::BuildResponse, anyhow::Error>, buck2_data::CommandEnd)>, <buck2_events::dispatch::EventDispatcher>::span_async<buck2_data::CommandStart, buck2_data::CommandEnd, core::future::from_generator::GenFuture<buck2_server_ctx::template::run_server_command<buck2_server_commands::commands::build::BuildServerCommand>::{closure#0}::{closure#0}>, core::result::Result<cli_proto::BuildResponse, anyhow::Error>>::{closure#0}::{closure#0}::{closure#0}> () from ... #08 0x00000000054f7288 in <core::future::from_generator::GenFuture<<cli::commands::daemon::BuckdServerDependenciesImpl as buck2_server::daemon::server::BuckdServerDependencies>::build::{closure#0}> as core::future::future::Future>::poll () from... ... At this point, you can look at the code, and note that there is no span around the output symlink creation function (create_unhashed_outputs). This suggests you’ve found your culprit: there is indeed a buck2 bug and we’re spending ages creating unhashed output symlinks, and since you need a span to get any console feedback, the console says nothing is happening. An easy fix: In this particular instance, Thomas spottedan easy optimizationwhich resolved the issue. But, of course, that’s not always possible. If the easy fix hadn't been available, we’d be at a dead end, so what do we do next? A harder fix: If it is not clear what the root-cause is, you can bisect: i.e. do a binary search across commits for the commit that introduced a given breakage/perf degradation. Then, once you identify their commit that caused breakage, investigate what caused the issue. "},{"title":"How to debug a “doing nothing” hang​","type":1,"pageTitle":"Why is Buck2 hanging?","url":"/docs/users/faq/buck_hanging/#how-to-debug-a-doing-nothing-hang","content":"Cycle in dependencies: If buck2 seems to be doing nothing (e.g. CPU usage is 0%), one of the reasons could be a cycle in your dependencies, which may cause buck2 to hang (buck2 does implement a form of cycle detection, but it unfortunately has false negatives). You can confirm this by running buck1, which will report cycles properly. "},{"title":"uquery","type":0,"sectionRef":"#","url":"/docs/users/commands/uquery/","content":"","keywords":""},{"title":"buck uquery​","type":1,"pageTitle":"uquery","url":"/docs/users/commands/uquery/#buck-uquery","content":"Perform queries on the unconfigured target graph The unconfigured target graph consists of the targets as they are defined in the build files. In this graph, each target appears exactly once and `select()`s are in the unresolved form. For large queries, the unconfigured graph may be much smaller than the configured graph and queries can be much more efficiently performed there. When querying the unconfigured graph, dependencies appearing in all branches of `select()` dictionaries will be treated as dependencies. Run `buck2 docs uquery` or https://buck2.build/docs/users/query/uquery/ for more documentation about the functions available in uquery expressions. Examples: Print all the attributes of a target `buck2 uquery //java/com/example/app:amazing --output-all-attributes List the deps of a target (special characters in a target will require quotes): `buck2 uquery 'deps("//java/com/example/app:amazing+more")'` select() encoding: When printed, values with `select()`s use a special json encoding. `1 + select({"//:a": 1, "DEFAULT": 2})` will be encoded as: `{"__type": "concat", "items": [1, {"__type": "selector", "entries": {"//:a": 1, "DEFAULT": 2}}]}` Usage: buck2-release uquery [OPTIONS] <QUERY> [QUERY_ARGS]... Arguments: <QUERY> the query to evaluate [QUERY_ARGS]... list of literals for a multi-query (one containing `%s` or `%Ss`) Options: -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --json Output in JSON format --dot Output in Graphviz Dot format --dot-compact Output in a more compact format than Graphviz Dot --output-format <dot|dot_compact|json|starlark> Output format (default: list). dot - dot graph format. dot_compact - compact alternative to dot format. json - JSON format. starlark - targets are printed like starlark code that would produce them. [possible values: dot, json, dot_compact, starlark] --modifier <VALUE> This option is not used -h, --help Print help (see a summary with '-h') Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"utargets","type":0,"sectionRef":"#","url":"/docs/users/commands/utargets/","content":"","keywords":""},{"title":"buck utargets​","type":1,"pageTitle":"utargets","url":"/docs/users/commands/utargets/#buck-utargets","content":"Show details about the specified targets. This command is meant to only handle unconfigured targets, but for historical reasons, with certain flags it can also work with configured targets. Usage: buck2-release utargets [OPTIONS] [TARGET_PATTERNS]... Arguments: [TARGET_PATTERNS]... Patterns to interpret Options: --json Print targets as JSON --json-lines Print targets as JSON-lines --stats Print statistics of how many entries were processed --resolve-alias Print the fully-qualified build target for the specified aliases --show-target-hash Print a stable hash of each target after the target name --show-unconfigured-target-hash Print a stable unconfigured hash of each target after the target name --target-hash-file-mode <TARGET_HASH_FILE_MODE> Modifies computation of target hashes. If set to `PATHS_AND_CONTENTS` (the default), the contents of all files referenced from the targets will be used to compute the target hash. If set to `PATHS_ONLY`, only files' paths contribute to the hash. If set to `NONE` no files will be used. See also --target-hash-modified-paths [default: paths_and_contents] [possible values: paths_only, paths_and_contents, none] --target-hash-modified-paths <TARGET_HASH_MODIFIED_PATHS>... Modifies computation of target hashes. Only effective when --target-hash-file-mode is set to `PATHS_ONLY`. If a target or its dependencies reference a file from this set, the target's hash will be different than if this option was omitted. Otherwise, the target's hash will be the same as if this option was omitted --target-hash-function <TARGET_HASH_FUNCTION> Selects either the "fast" or the "strong" target hash function to be used for computing target hashes. While we don't specify the exact algorithm, the "strong" algorithm should be a reasonable cryptographic hash (ex. blake3) while the "fast" function will likely be a non-crypto hash. Both functions are guaranteed to be deterministic and to have the same value across different platforms/architectures [default: fast] [possible values: sha1, sha256, murmur-hash3, fast, strong] --target-hash-recursive <TARGET_HASH_RECURSIVE> When true, emit the hash or target node and all dependencies recursively. When false, hash only the target node [default: true] [possible values: true, false] -A, --output-all-attributes Output all attributes, equivalent of --output-attribute ''. Avoid using this flag in automation because it may be expensive to produce certain attributes, and because it makes harder to track which special attributes are used. -B, --output-basic-attributes Output basic attributes, namely those the user can supply, plus rule type and package name -a, --output-attribute <ATTRIBUTE> Regular expressions to match attributes. Regular expressions are used in "search" mode, so for example empty string matches all attributes including special attributes. When using in automation, please specify the regular expression to match the attribute precisely, for example `--output-attribute '^headers$'` to make it easier to track which special attributes are used. --output-attributes <ATTRIBUTE>... Deprecated: Use `--output-attribute` instead. List of space-separated attributes to output, --output-attributes attr1 attr2. --include-defaults Enables printing of default attributes. This would be attributes in a target that aren't explicitly set in the target but instead use the default set in the rule declaration --show-output Print the path to the output for each of the rules relative to the project root --show-full-output Print the absolute path to the output for each of the rules --show-simple-output Print only the path to the output for each of the rules relative to the project root --show-full-simple-output Print only the absolute path to the output for each of the rules --show-json-output Print the output paths relative to the project root, in JSON format --show-full-json-output Print the output absolute paths, in JSON format --keep-going On loading errors, put buck.error in the output stream and continue --streaming Write output as soon as it is available. The order of the output items is non-deterministic and if multiple patterns cover the same target, may have duplicates --no-cache Don't cache the target information on the build graph --imports Show the imports of each package/import. Shows an additional output per package/import (not per target), including implicit dependencies (e.g. the prelude) but only direct dependencies (not the transitive closure) --package-values Show the package values. Produces an additional attribute representing all the package values for the package containing the target --package-values-regex <VALUES> Regular expressions to match package values. Produces an additional attribute representing package values for the package containing the target. Regular expressions are used in "search" mode so, for example, empty string matches all package values -o, --output <PATH> File to put the output in, rather than sending to stdout. File will be created if it does not exist, and overwritten if it does. --compression <SCHEME> Compress the output [default: none] [possible values: none, gzip, zstd] -j, --num-threads <THREADS> Number of threads to use during execution (default is # cores) -h, --help Print help (see a summary with '-h') Target Configuration Options: --target-platforms <PLATFORM> Configuration target (one) to use to configure targets -m, --modifier <VALUE> A configuration modifier to configure all targets on the command line. This may be a constraint value target. Buckconfig Options: -c, --config <SECTION.OPTION=VALUE> List of config options --config-file <PATH> List of config file paths --fake-host <HOST> [possible values: default, linux, macos, windows] --fake-arch <ARCH> [possible values: default, aarch64, x8664] --fake-xcode-version <VERSION-BUILD> Value must be formatted as: version-build (e.g., 14.3.0-14C18 or 14.1-14B47b) --reuse-current-config Re-uses any `--config` values (inline or via modefiles) if there's a previous command, otherwise the flag is ignored. If there is a previous command and `--reuse-current-config` is set, then the old config is used, ignoring any overrides. If there is no previous command but the flag was set, then the flag is ignored, the command behaves as if the flag was not set at all. --exit-when-different-state Used for exiting a concurrent command when a different state is detected --preemptible <PREEMPTIBLE> Used to configure when this command could be preempted by another command for the same isolation dir. Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in this case is to block the second command until the first completes. Possible values: - never: (default) When another command starts that cannot run in parallel with this one, block that command - always: When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command Starlark Options: --disable-starlark-types Disable runtime type checking in Starlark interpreter. This option is not stable, and can be used only locally to diagnose evaluation performance problems. --stack Record or show target call stacks. Starlark call stacks will be included in duplicate targets error. If a command outputs targets (like `targets` command), starlark call stacks will be printed after the targets. Console Options: --console <super|simple|...> Which console to use for this command [env: BUCK_CONSOLE=] [default: auto] [possible values: simple, simplenotty, simpletty, super, auto, none] --ui <UI>... Configure additional superconsole ui components. Accepts a comma-separated list of superconsole components to add. Possible values are: dice - shows information about evaluated dice nodes debugevents - shows information about the flow of events from buckd These components can be turned on/off interactively. Press 'h' for help when superconsole is active. Possible values: - dice - debugevents - io: I/O panel - re: RE panel --no-interactive-console Disable console interactions [env: BUCK_NO_INTERACTIVE_CONSOLE=] Event Log Options: --event-log <PATH> Write events to this log file --write-build-id <PATH> Write command invocation id into this file --unstable-write-invocation-record <PATH> Write the invocation record (as JSON) to this path. No guarantees whatsoever are made regarding the stability of the format Universal Options: -v, --verbose <VERBOSITY> How verbose buck should be while logging. Values: 0 = Quiet, errors only; 1 = Show status. Default; 2 = more info about errors; 3 = more info about everything; 4 = more info about everything + stderr; It can be combined with specific log items (stderr, full_failed_command, commands, actions, status, stats, success) to fine-tune the verbosity of the log. Example usage "-v=1,stderr" [default: 1] --oncall <ONCALL> The oncall executing this command --client-metadata <CLIENT_METADATA> Metadata key-value pairs to inject into Buck2's logging. Client metadata must be of the form `key=value`, where `key` is a snake_case identifier, and will be sent to backend datasets "},{"title":"Common Issues","type":0,"sectionRef":"#","url":"/docs/users/faq/common_issues/","content":"","keywords":""},{"title":"Why is stdin being swallowed?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#why-is-stdin-being-swallowed","content":"Buck2 offers an interactive console by default. To disable either use an env var: BUCK_NO_INTERACTIVE_CONSOLE or a flag:--no-interactive-console "},{"title":"Where is my output file?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#where-is-my-output-file","content":"To find the location of output for a target, usebuck2 build //foo:bar --show-output. This will print the output corresponding to each built target, in this case //foo:bar output_path. To only get the output path (without the target beforehand) you want to usebuck2 build //foo:bar --show-simple-output. The resultant path is relative to the root of the repo (such as~/repo_root/...). For the full path use --show-full-output or--show-full-simple-output. Note: in Buck1, the path is relative to the enclosing cell (such as~/repo_root/cell/...). "},{"title":"Why is Buck2 hanging?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#why-is-buck2-hanging","content":"If Buck2 seems to be doing nothing, it could be caused be a cycle in your dependencies, which may cause Buck2 to hang (Buck2 does implement a form of cycle detection, but it unfortunately has false negatives). You can confirm this by running Buck1, which will report cycles properly. "},{"title":"How do I get the commands Buck2 executed so I can reproduce them in isolation?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#how-do-i-get-the-commands-buck2-executed-so-i-can-reproduce-them-in-isolation","content":"For information, seeFinding Commands that Buck2 Ran. "},{"title":"Are multiple concurrent commands supported?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#are-multiple-concurrent-commands-supported","content":"Yes, they are supported. There are 2 types of concurrent commands: 1) parallel invocations, and 2) recursive invocations. Parallel invocations: If the state of all the commands are the same, then they will run at the same time. "State" is referring to the same configs and source files. If the state is different amongst the commands, then buck2 will block the commands properly such that the states do not interfere with each other. Different states are caused by source file changes or config changes (ex: using a different mode). Recursive invocations: A recursive invocation is when an outer buck2 command ends up calling another buck2 command as it's running. Recursive invocations are most commonly seen with genrules and tests. For example: If you have a genrule where the command contains a buck2 cquery, and you build the genrule with buck2 build, you have a recursive invocation where the outer command is buck2 build and the inner command is buck2 cqueryIf you have a test which contains buck2 build, and you run your test withbuck2 test, you have a recursive invocation where the outer command isbuck2 test and the inner command is buck2 build Recursive invocations should specify an --isolation-dir, or else buck2 will return an error. "},{"title":"Why did my build OOM?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#why-did-my-build-oom","content":"If your build OOMs, you can check the last actions running by usingbuck2 log whatup. This will print the superconsole state at the moment the event log ended, which will indicate what actions were being run (and consuming memory) when your machine ran out of memory. You can also use the --after <millis> option to see all open spans at a certain point in time of the build. "},{"title":"Why does my target not have any outputs?​","type":1,"pageTitle":"Common Issues","url":"/docs/users/faq/common_issues/#why-does-my-target-not-have-any-outputs","content":"If you see that your build succeeded, but the console message stated that your target did not have any outputs, this means that the underlying rule did not declare any outputs artifacts, defined as outputs declared in: default_outputs and/or other_outputs in DefaultInfocmd_args in RunInfocmd_args inside the command in ExternalRunnerTestInfo For example, building a target which uses a python_library rule merely groups source files together and does not generate any output artifacts such as a python executable. You would need to build a python_binary which uses that library in order to get an output. "},{"title":"Debugging Excess Starlark Peak Memory","type":0,"sectionRef":"#","url":"/docs/users/faq/starlark_peak_mem/","content":"","keywords":""},{"title":"Wut memory?​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#wut-memory","content":"Peak memory is the maximum amount of memory used during evaluation of that particular Starlark file. The memory is usually released after we finish the evaluation of the file. Because Starlark is only garbage collected in between top-level statements in the BUCK file, but not garbage collected inside function calls/macros, on large servers with 64 hardware threads (or more), memory usage might accumulate, causing slowdowns or OOMs . To prevent such issues until proper GC is implemented, we have set a hard 2GBmemory limit for Starlark's evaluation of build files. This is a per-file limit. Note that this is different than the actual process memory which might include other things apart from Starlark’s evaluation. "},{"title":"How do I see my build file's peak memory usage?​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#how-do-i-see-my-build-files-peak-memory-usage","content":"To see the Starlark peak memory usage of a build file, you can inspect the event log for your build file. Here is an example entry from the event log for buck2 uquery target showing that it uses 1.5GB: {"Event":{..."data":{"Load":{"module_id":"target:BUCK","cell":"...","error":null,"starlark_peak_allocated_bytes":1610608640}}}}}} "},{"title":"Profiler to the rescue!​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#profiler-to-the-rescue","content":"If you want to see more detailed breakdown where the memory is used, you should profile Starlark's evaluation of build files. Seethis page for details of profiling in the loading stage. This is a great starting point for troubleshooting. "},{"title":"How do I reduce memory footprint?​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#how-do-i-reduce-memory-footprint","content":"There are many reasons why Starlark's evaluation of your build file might use a lot of memory. We list a few common cases below but there might be more cases. High level guidance is to pay attention to loops as a starting point. Are there any unnecessary computations? Can you shave them off? "},{"title":"Repeatedly allocating memory unnecessarily in a loop​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#repeatedly-allocating-memory-unnecessarily-in-a-loop","content":"A common case where memory usage might accumulate is repeatedly allocating memory in a loop. For instance, below we call a memory intensive function in a loop unnecessarily: for target in huge_target_list: memory_intensive_fun(x,y) ... Instead, if we know that arguments x and y don't change, we could hoist the call to memory_intensive_fun outside of the loop as follows: memory_intensive_fun(x,y) for target in huge_target_list: ... "},{"title":"Simply allocating very big data-structures!​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#simply-allocating-very-big-data-structures","content":"Another reason why Starlark uses a lot of memory could simply be because the build file allocates a very big-data structure. For instance, below we allocate a list with 1 billion integers! million_list = [1 for i in range(1 << 20)] billion_list = million_list * (1 << 10) As a workaround, could you think of splitting the list? "},{"title":"Algorithmically inefficient code​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#algorithmically-inefficient-code","content":"Another reason could be because memory efficiency of your code is bad, i.e. you are unnecessarily allocating a lot of memory. Let's look at an example where we try to process a bunch of targets inefficiently: targets = generate_targets(n) for target in targets: process(target) If targets list is big and each target takes a lot of space in memory, memory usage might exceed the limit. Instead, a more efficient version might be to process each target as you generate it: for i in range(n): target = generate_target(i) process(target) In this version, each target is processed as it is generated so we never need to store more than one target in memory. "},{"title":"Usage of inefficient library calls​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#usage-of-inefficient-library-calls","content":"A more subtle reason could be unknowingly invoking library calls that allocate each time they are called. A well-known case of this is the dict.items() call. for project, version in constraints.items(): # process each project .... We do an allocation on every call to constraints.items(). Especially if this is a hot code in Starlark, this could cause an OOM. Instead, a potential fix is to hoist the call out: constraints = constraints.items() for project, version in constraints: # process each project .... However, you need to ensure that the dictionary is not mutated inside, otherwise you would get functionally different code. A similar case occurs fordict.keys() where it returns a new list for containing the keys. "},{"title":"Allocating for rare cases​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#allocating-for-rare-cases","content":"Finally, another pattern is allocating memory for the rare cases. For instance, consdier the following example for target in huge_target_list: if memory_intensive_condition([target]) fail(...) Above program could be optimized as follows: if memory_intensive_condition(huge_target_list) for target in huge_target_list: if memory_intensive_condition([target]) fail(...) so that in the common non-failure case, we don't end up allocating excessive memory. "},{"title":"I still need more help!​","type":1,"pageTitle":"Debugging Excess Starlark Peak Memory","url":"/docs/users/faq/starlark_peak_mem/#i-still-need-more-help","content":"If you still can not figure out how to reduce Starlark memory footprint of your build files, raisean issue in our Github project. "},{"title":"Aquery Environment","type":0,"sectionRef":"#","url":"/docs/users/query/aquery/","content":"","keywords":""},{"title":"Query Value Types​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#query-value-types","content":"string: For example, non_quoted_string or "quoted string". integer: Must be positive and fit in u32. target expression: either a literal or the return value of a function This could be a literal build target ("cell//some:target") or a pattern ("cell//package:" or "cell//recursive/...") or the result of another function that returns a target expression. For queries in CLI commands (like buck2 query), literals can be relative to the current working dir (like some:target or ...). file expression: either a literal or the return value of a function This could be a file literal like path/to/a.file or the return value of a function that returns files (for example, the buildfile() function). target or file expression: Either a file expression or target expression. This could be a literal like path/to/a.file or "cell//some:target", or the return value of a function that returns files or targets. query expression: a valid query expression, evaluated in a function-specific context This is used for functions that capture an expression and evaluate it in another context. For example, the deps() function can accept an expression that it uses to find the children of a node to customize the deps traversal. any value: Any query value. "},{"title":"Common query functions​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#common-query-functions","content":"allpaths(from: target expression, to: target expression): Computes all dependency paths. somepath(from: target expression, to: target expression) attrfilter(attr: string, value: string, targets: target expression): The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. nattrfilter(attr: string, value: string, targets: target expression) attrregexfilter(attr: string, value: string, targets: target expression) buildfile(targets: target expression) rbuildfiles(universe: file expression, argset: file expression) allbuildfiles(universe: target expression) deps(targets: target expression, depth: ?integer, captured_expr: ?query expression) filter(regex: string, set: target or file expression): Filter using regex partial match. inputs(targets: target expression) kind(regex: string, targets: target expression): The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. labels(attr: string, targets: target expression): This function is not implemented, and won't be, because buck2 query core does not support owner(files: file expression): The owner(inputfile) operator returns the targets that own the specified inputfile. targets_in_buildfile(files: file expression) rdeps(universe: target expression, targets: target expression, depth: ?integer) testsof(targets: target expression) first_order_deps(): A filter function that can be used in the query expression of deps query function. target_deps(): A filter function that can be used in the query expression of deps query function. exec_deps(): A filter function that can be used in the query expression of deps query function. configuration_deps(): A filter function that can be used in the query expression of deps query function. toolchain_deps(): A filter function that can be used in the query expression of deps query function. intersect(left: any value, right: any value): Computes the set intersection over the given arguments. except(left: any value, right: any value): Computes the arguments that are in argument A but not in argument B. union(left: any value, right: any value): Computes the set union over the given arguments. "},{"title":"allpaths(from: target expression, to: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#allpathsfrom-target-expression-to-target-expression","content":"Computes all dependency paths. The allpaths(from, to) function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value ofbuck query "allpaths('//foo:bar', '//foo/bar/lib:baz')"is the dependency graph rooted at the single target node //foo:bar, that includes all target nodes that depend (transitively) on //foo/bar/lib:baz. The two arguments to allpaths() can themselves be expressions. For example, the command:buck query "allpaths(kind(java_library, '//...'), '//foo:bar')"shows all the paths between any java_library in the repository and the target //foo:bar. We recommend using allpaths() with the --output-format=dot parameter to generate a graphviz file that can then be rendered as an image. For example: $ buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" --output-format=dot --output-file=result.dot $ dot -Tpng result.dot -o image.png Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs. "},{"title":"somepath(from: target expression, to: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#somepathfrom-target-expression-to-target-expression","content":""},{"title":"attrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#attrfilterattr-string-value-string-targets-target-expression","content":"The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps. If the attribute is a single value, say name, it is compared to the specified value, and the target is returned if they match.If the attribute is a list, the target is returned if that list contains the specified value.If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary. For example:buck2 query "attrfilter(deps, '//foo:bar', '//...')" returns the build targets in the repository that depend on //foo:bar, or more precisely: those build targets that include //foo:bar in their deps argument list. "},{"title":"nattrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#nattrfilterattr-string-value-string-targets-target-expression","content":""},{"title":"attrregexfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#attrregexfilterattr-string-value-string-targets-target-expression","content":""},{"title":"buildfile(targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#buildfiletargets-target-expression","content":""},{"title":"rbuildfiles(universe: file expression, argset: file expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#rbuildfilesuniverse-file-expression-argset-file-expression","content":""},{"title":"allbuildfiles(universe: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#allbuildfilesuniverse-target-expression","content":""},{"title":"deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#depstargets-target-expression-depth-integer-captured_expr-query-expression","content":""},{"title":"filter(regex: string, set: target or file expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#filterregex-string-set-target-or-file-expression","content":"Filter using regex partial match. Target are matched against their fully qualified name. Files are matched against their repo path like repo//foo/bar/baz.py. "},{"title":"inputs(targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#inputstargets-target-expression","content":""},{"title":"kind(regex: string, targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#kindregex-string-targets-target-expression","content":"The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. The specified pattern can be a regular expression. For example,buck2 query "kind('java.*', deps('//foo:bar'))" returns the targets that match the rule type java.* (java_library, java_binary, etc.) in the transitive dependencies of //foo:bar. "},{"title":"labels(attr: string, targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#labelsattr-string-targets-target-expression","content":"This function is not implemented, and won't be, because buck2 query core does not support returning both files and targets from a single function. In buck1 it returns targets and files referenced by the given attribute in the given targets. Some discussion in T126638795. "},{"title":"owner(files: file expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#ownerfiles-file-expression","content":"The owner(inputfile) operator returns the targets that own the specified inputfile. In this context, own means that the target has the specified file as an input. You could consider the owner() and inputs() operators to be inverses of each other. Example: buck2 query "owner('examples/1.txt')" returns the targets that owns the file examples/1.txt, which could be a value such as //examples:one. It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets. If no owner for the file is found, owner() outputs the message: No owner was found for <file> "},{"title":"targets_in_buildfile(files: file expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#targets_in_buildfilefiles-file-expression","content":""},{"title":"rdeps(universe: target expression, targets: target expression, depth: ?integer)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#rdepsuniverse-target-expression-targets-target-expression-depth-integer","content":""},{"title":"testsof(targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#testsoftargets-target-expression","content":""},{"title":"first_order_deps()​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#first_order_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to deps(<targets>, 1). Example:buck2 cquery "deps('//foo:bar', 1, first_order_deps())"`` is equivalent to buck2 cquery "deps('//foo:bar', 1)"` "},{"title":"target_deps()​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#target_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies) like compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, target_deps())"`` "},{"title":"exec_deps()​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#exec_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, exec_deps())"`` "},{"title":"configuration_deps()​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#configuration_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for configuration dependencies (that appear as conditions in selects). Example: `buck2 cquery "deps('//foo:bar', 1, configuration_deps())"`` "},{"title":"toolchain_deps()​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#toolchain_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for toolchain dependencies. Example: `buck2 cquery "deps('//foo:bar', 1, toolchain_deps())"`` "},{"title":"intersect(left: any value, right: any value)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#intersectleft-any-value-right-any-value","content":"Computes the set intersection over the given arguments. Can be used with the ^ symbol. This operator is commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') intersect deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') ^ deps('//baz:lib')"Both return the targets that appear in the transitive closure of //foo:bar and //baz:lib. "},{"title":"except(left: any value, right: any value)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#exceptleft-any-value-right-any-value","content":"Computes the arguments that are in argument A but not in argument B. Can be used with the - symbol. This operator is NOT commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') except deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') - deps('//baz:lib')"Both return the targets that //foo:bar depends on and that //baz:lib does NOT depend on. "},{"title":"union(left: any value, right: any value)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#unionleft-any-value-right-any-value","content":"Computes the set union over the given arguments. Can be used with the + symbol. This operator is commutative. The parser treats all this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') union deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') + deps('//baz:lib')"Both return the aggregation of the targets that //foo:bar and //baz:lib depend on. "},{"title":"Query functions​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#query-functions","content":"all_outputs(targets: target expression): Obtain the actions for all the outputs provided by the DefaultInfo for the targets passed all_actions(targets: target expression): Obtain all the actions declared within the analysis of a given target. "},{"title":"all_outputs(targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#all_outputstargets-target-expression","content":"Obtain the actions for all the outputs provided by the DefaultInfo for the targets passed as input. This includes both the default_outputs and other_outputs. This operation only makes sense on a target literal (it does nothing if passed something else). "},{"title":"all_actions(targets: target expression)​","type":1,"pageTitle":"Aquery Environment","url":"/docs/users/query/aquery/#all_actionstargets-target-expression","content":"Obtain all the actions declared within the analysis of a given target. This operation only makes sense on a target literal (it is a simple passthrough when passed an action). "},{"title":"Cquery Environment","type":0,"sectionRef":"#","url":"/docs/users/query/cquery/","content":"","keywords":""},{"title":"Query Value Types​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#query-value-types","content":"string: For example, non_quoted_string or "quoted string". integer: Must be positive and fit in u32. target expression: either a literal or the return value of a function This could be a literal build target ("cell//some:target") or a pattern ("cell//package:" or "cell//recursive/...") or the result of another function that returns a target expression. For queries in CLI commands (like buck2 query), literals can be relative to the current working dir (like some:target or ...). file expression: either a literal or the return value of a function This could be a file literal like path/to/a.file or the return value of a function that returns files (for example, the buildfile() function). target or file expression: Either a file expression or target expression. This could be a literal like path/to/a.file or "cell//some:target", or the return value of a function that returns files or targets. query expression: a valid query expression, evaluated in a function-specific context This is used for functions that capture an expression and evaluate it in another context. For example, the deps() function can accept an expression that it uses to find the children of a node to customize the deps traversal. any value: Any query value. "},{"title":"Common query functions​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#common-query-functions","content":"allpaths(from: target expression, to: target expression): Computes all dependency paths. somepath(from: target expression, to: target expression) attrfilter(attr: string, value: string, targets: target expression): The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. nattrfilter(attr: string, value: string, targets: target expression) attrregexfilter(attr: string, value: string, targets: target expression) buildfile(targets: target expression) rbuildfiles(universe: file expression, argset: file expression) allbuildfiles(universe: target expression) deps(targets: target expression, depth: ?integer, captured_expr: ?query expression) filter(regex: string, set: target or file expression): Filter using regex partial match. inputs(targets: target expression) kind(regex: string, targets: target expression): The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. labels(attr: string, targets: target expression): This function is not implemented, and won't be, because buck2 query core does not support owner(files: file expression): The owner(inputfile) operator returns the targets that own the specified inputfile. targets_in_buildfile(files: file expression) rdeps(universe: target expression, targets: target expression, depth: ?integer) testsof(targets: target expression) first_order_deps(): A filter function that can be used in the query expression of deps query function. target_deps(): A filter function that can be used in the query expression of deps query function. exec_deps(): A filter function that can be used in the query expression of deps query function. configuration_deps(): A filter function that can be used in the query expression of deps query function. toolchain_deps(): A filter function that can be used in the query expression of deps query function. intersect(left: any value, right: any value): Computes the set intersection over the given arguments. except(left: any value, right: any value): Computes the arguments that are in argument A but not in argument B. union(left: any value, right: any value): Computes the set union over the given arguments. "},{"title":"allpaths(from: target expression, to: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#allpathsfrom-target-expression-to-target-expression","content":"Computes all dependency paths. The allpaths(from, to) function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value ofbuck query "allpaths('//foo:bar', '//foo/bar/lib:baz')"is the dependency graph rooted at the single target node //foo:bar, that includes all target nodes that depend (transitively) on //foo/bar/lib:baz. The two arguments to allpaths() can themselves be expressions. For example, the command:buck query "allpaths(kind(java_library, '//...'), '//foo:bar')"shows all the paths between any java_library in the repository and the target //foo:bar. We recommend using allpaths() with the --output-format=dot parameter to generate a graphviz file that can then be rendered as an image. For example: $ buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" --output-format=dot --output-file=result.dot $ dot -Tpng result.dot -o image.png Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs. "},{"title":"somepath(from: target expression, to: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#somepathfrom-target-expression-to-target-expression","content":""},{"title":"attrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#attrfilterattr-string-value-string-targets-target-expression","content":"The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps. If the attribute is a single value, say name, it is compared to the specified value, and the target is returned if they match.If the attribute is a list, the target is returned if that list contains the specified value.If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary. For example:buck2 query "attrfilter(deps, '//foo:bar', '//...')" returns the build targets in the repository that depend on //foo:bar, or more precisely: those build targets that include //foo:bar in their deps argument list. "},{"title":"nattrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#nattrfilterattr-string-value-string-targets-target-expression","content":""},{"title":"attrregexfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#attrregexfilterattr-string-value-string-targets-target-expression","content":""},{"title":"buildfile(targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#buildfiletargets-target-expression","content":""},{"title":"rbuildfiles(universe: file expression, argset: file expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#rbuildfilesuniverse-file-expression-argset-file-expression","content":""},{"title":"allbuildfiles(universe: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#allbuildfilesuniverse-target-expression","content":""},{"title":"deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#depstargets-target-expression-depth-integer-captured_expr-query-expression","content":""},{"title":"filter(regex: string, set: target or file expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#filterregex-string-set-target-or-file-expression","content":"Filter using regex partial match. Target are matched against their fully qualified name. Files are matched against their repo path like repo//foo/bar/baz.py. "},{"title":"inputs(targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#inputstargets-target-expression","content":""},{"title":"kind(regex: string, targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#kindregex-string-targets-target-expression","content":"The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. The specified pattern can be a regular expression. For example,buck2 query "kind('java.*', deps('//foo:bar'))" returns the targets that match the rule type java.* (java_library, java_binary, etc.) in the transitive dependencies of //foo:bar. "},{"title":"labels(attr: string, targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#labelsattr-string-targets-target-expression","content":"This function is not implemented, and won't be, because buck2 query core does not support returning both files and targets from a single function. In buck1 it returns targets and files referenced by the given attribute in the given targets. Some discussion in T126638795. "},{"title":"owner(files: file expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#ownerfiles-file-expression","content":"The owner(inputfile) operator returns the targets that own the specified inputfile. In this context, own means that the target has the specified file as an input. You could consider the owner() and inputs() operators to be inverses of each other. Example: buck2 query "owner('examples/1.txt')" returns the targets that owns the file examples/1.txt, which could be a value such as //examples:one. It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets. If no owner for the file is found, owner() outputs the message: No owner was found for <file> "},{"title":"targets_in_buildfile(files: file expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#targets_in_buildfilefiles-file-expression","content":""},{"title":"rdeps(universe: target expression, targets: target expression, depth: ?integer)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#rdepsuniverse-target-expression-targets-target-expression-depth-integer","content":""},{"title":"testsof(targets: target expression)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#testsoftargets-target-expression","content":""},{"title":"first_order_deps()​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#first_order_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to deps(<targets>, 1). Example:buck2 cquery "deps('//foo:bar', 1, first_order_deps())"`` is equivalent to buck2 cquery "deps('//foo:bar', 1)"` "},{"title":"target_deps()​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#target_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies) like compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, target_deps())"`` "},{"title":"exec_deps()​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#exec_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, exec_deps())"`` "},{"title":"configuration_deps()​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#configuration_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for configuration dependencies (that appear as conditions in selects). Example: `buck2 cquery "deps('//foo:bar', 1, configuration_deps())"`` "},{"title":"toolchain_deps()​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#toolchain_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for toolchain dependencies. Example: `buck2 cquery "deps('//foo:bar', 1, toolchain_deps())"`` "},{"title":"intersect(left: any value, right: any value)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#intersectleft-any-value-right-any-value","content":"Computes the set intersection over the given arguments. Can be used with the ^ symbol. This operator is commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') intersect deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') ^ deps('//baz:lib')"Both return the targets that appear in the transitive closure of //foo:bar and //baz:lib. "},{"title":"except(left: any value, right: any value)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#exceptleft-any-value-right-any-value","content":"Computes the arguments that are in argument A but not in argument B. Can be used with the - symbol. This operator is NOT commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') except deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') - deps('//baz:lib')"Both return the targets that //foo:bar depends on and that //baz:lib does NOT depend on. "},{"title":"union(left: any value, right: any value)​","type":1,"pageTitle":"Cquery Environment","url":"/docs/users/query/cquery/#unionleft-any-value-right-any-value","content":"Computes the set union over the given arguments. Can be used with the + symbol. This operator is commutative. The parser treats all this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') union deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') + deps('//baz:lib')"Both return the aggregation of the targets that //foo:bar and //baz:lib depend on. "},{"title":"Uquery Environment","type":0,"sectionRef":"#","url":"/docs/users/query/uquery/","content":"","keywords":""},{"title":"Query Value Types​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#query-value-types","content":"string: For example, non_quoted_string or "quoted string". integer: Must be positive and fit in u32. target expression: either a literal or the return value of a function This could be a literal build target ("cell//some:target") or a pattern ("cell//package:" or "cell//recursive/...") or the result of another function that returns a target expression. For queries in CLI commands (like buck2 query), literals can be relative to the current working dir (like some:target or ...). file expression: either a literal or the return value of a function This could be a file literal like path/to/a.file or the return value of a function that returns files (for example, the buildfile() function). target or file expression: Either a file expression or target expression. This could be a literal like path/to/a.file or "cell//some:target", or the return value of a function that returns files or targets. query expression: a valid query expression, evaluated in a function-specific context This is used for functions that capture an expression and evaluate it in another context. For example, the deps() function can accept an expression that it uses to find the children of a node to customize the deps traversal. any value: Any query value. "},{"title":"Common query functions​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#common-query-functions","content":"allpaths(from: target expression, to: target expression): Computes all dependency paths. somepath(from: target expression, to: target expression) attrfilter(attr: string, value: string, targets: target expression): The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. nattrfilter(attr: string, value: string, targets: target expression) attrregexfilter(attr: string, value: string, targets: target expression) buildfile(targets: target expression) rbuildfiles(universe: file expression, argset: file expression) allbuildfiles(universe: target expression) deps(targets: target expression, depth: ?integer, captured_expr: ?query expression) filter(regex: string, set: target or file expression): Filter using regex partial match. inputs(targets: target expression) kind(regex: string, targets: target expression): The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. labels(attr: string, targets: target expression): This function is not implemented, and won't be, because buck2 query core does not support owner(files: file expression): The owner(inputfile) operator returns the targets that own the specified inputfile. targets_in_buildfile(files: file expression) rdeps(universe: target expression, targets: target expression, depth: ?integer) testsof(targets: target expression) first_order_deps(): A filter function that can be used in the query expression of deps query function. target_deps(): A filter function that can be used in the query expression of deps query function. exec_deps(): A filter function that can be used in the query expression of deps query function. configuration_deps(): A filter function that can be used in the query expression of deps query function. toolchain_deps(): A filter function that can be used in the query expression of deps query function. intersect(left: any value, right: any value): Computes the set intersection over the given arguments. except(left: any value, right: any value): Computes the arguments that are in argument A but not in argument B. union(left: any value, right: any value): Computes the set union over the given arguments. "},{"title":"allpaths(from: target expression, to: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#allpathsfrom-target-expression-to-target-expression","content":"Computes all dependency paths. The allpaths(from, to) function evaluates to the graph formed by paths between the target expressions from and to, following the dependencies between nodes. For example, the value ofbuck query "allpaths('//foo:bar', '//foo/bar/lib:baz')"is the dependency graph rooted at the single target node //foo:bar, that includes all target nodes that depend (transitively) on //foo/bar/lib:baz. The two arguments to allpaths() can themselves be expressions. For example, the command:buck query "allpaths(kind(java_library, '//...'), '//foo:bar')"shows all the paths between any java_library in the repository and the target //foo:bar. We recommend using allpaths() with the --output-format=dot parameter to generate a graphviz file that can then be rendered as an image. For example: $ buck query "allpaths('//foo:bar', '//foo/bar/lib:baz')" --output-format=dot --output-file=result.dot $ dot -Tpng result.dot -o image.png Graphviz is an open-source graph-visualization software tool. Graphviz uses the dot language to describe graphs. "},{"title":"somepath(from: target expression, to: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#somepathfrom-target-expression-to-target-expression","content":""},{"title":"attrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#attrfilterattr-string-value-string-targets-target-expression","content":"The attrfilter(attribute, value, targets) operator evaluates the given target expression and filters the resulting build targets to those where the specified attribute contains the specified value. In this context, the term attribute refers to an argument in a build rule, such as name, headers, srcs, or deps. If the attribute is a single value, say name, it is compared to the specified value, and the target is returned if they match.If the attribute is a list, the target is returned if that list contains the specified value.If the attribute is a dictionary, the target is returned if the value exists in either the keys or the values of the dictionary. For example:buck2 query "attrfilter(deps, '//foo:bar', '//...')" returns the build targets in the repository that depend on //foo:bar, or more precisely: those build targets that include //foo:bar in their deps argument list. "},{"title":"nattrfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#nattrfilterattr-string-value-string-targets-target-expression","content":""},{"title":"attrregexfilter(attr: string, value: string, targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#attrregexfilterattr-string-value-string-targets-target-expression","content":""},{"title":"buildfile(targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#buildfiletargets-target-expression","content":""},{"title":"rbuildfiles(universe: file expression, argset: file expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#rbuildfilesuniverse-file-expression-argset-file-expression","content":""},{"title":"allbuildfiles(universe: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#allbuildfilesuniverse-target-expression","content":""},{"title":"deps(targets: target expression, depth: ?integer, captured_expr: ?query expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#depstargets-target-expression-depth-integer-captured_expr-query-expression","content":""},{"title":"filter(regex: string, set: target or file expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#filterregex-string-set-target-or-file-expression","content":"Filter using regex partial match. Target are matched against their fully qualified name. Files are matched against their repo path like repo//foo/bar/baz.py. "},{"title":"inputs(targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#inputstargets-target-expression","content":""},{"title":"kind(regex: string, targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#kindregex-string-targets-target-expression","content":"The kind(regex, targets) operator evaluates the specified target expression, targets, and returns the targets where the rule type matches the specified regex. The specified pattern can be a regular expression. For example,buck2 query "kind('java.*', deps('//foo:bar'))" returns the targets that match the rule type java.* (java_library, java_binary, etc.) in the transitive dependencies of //foo:bar. "},{"title":"labels(attr: string, targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#labelsattr-string-targets-target-expression","content":"This function is not implemented, and won't be, because buck2 query core does not support returning both files and targets from a single function. In buck1 it returns targets and files referenced by the given attribute in the given targets. Some discussion in T126638795. "},{"title":"owner(files: file expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#ownerfiles-file-expression","content":"The owner(inputfile) operator returns the targets that own the specified inputfile. In this context, own means that the target has the specified file as an input. You could consider the owner() and inputs() operators to be inverses of each other. Example: buck2 query "owner('examples/1.txt')" returns the targets that owns the file examples/1.txt, which could be a value such as //examples:one. It is possible for the specified file to have multiple owners, in which case, owner() returns a set of targets. If no owner for the file is found, owner() outputs the message: No owner was found for <file> "},{"title":"targets_in_buildfile(files: file expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#targets_in_buildfilefiles-file-expression","content":""},{"title":"rdeps(universe: target expression, targets: target expression, depth: ?integer)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#rdepsuniverse-target-expression-targets-target-expression-depth-integer","content":""},{"title":"testsof(targets: target expression)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#testsoftargets-target-expression","content":""},{"title":"first_order_deps()​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#first_order_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for the immediate dependencies of the given targets. Output is equivalent to deps(<targets>, 1). Example:buck2 cquery "deps('//foo:bar', 1, first_order_deps())"`` is equivalent to buck2 cquery "deps('//foo:bar', 1)"` "},{"title":"target_deps()​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#target_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the target dependencies of each dependency of the given targets, excluding any configuration, toolchain and execution dependencies (build time dependencies) like compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, target_deps())"`` "},{"title":"exec_deps()​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#exec_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for execution dependencies (build time dependencies), ex. compiler used as a part of the build. Example: `buck2 cquery "deps('//foo:bar', 1, exec_deps())"`` "},{"title":"configuration_deps()​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#configuration_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for configuration dependencies (that appear as conditions in selects). Example: `buck2 cquery "deps('//foo:bar', 1, configuration_deps())"`` "},{"title":"toolchain_deps()​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#toolchain_deps","content":"A filter function that can be used in the query expression of deps query function. Returns the output of deps function for toolchain dependencies. Example: `buck2 cquery "deps('//foo:bar', 1, toolchain_deps())"`` "},{"title":"intersect(left: any value, right: any value)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#intersectleft-any-value-right-any-value","content":"Computes the set intersection over the given arguments. Can be used with the ^ symbol. This operator is commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') intersect deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') ^ deps('//baz:lib')"Both return the targets that appear in the transitive closure of //foo:bar and //baz:lib. "},{"title":"except(left: any value, right: any value)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#exceptleft-any-value-right-any-value","content":"Computes the arguments that are in argument A but not in argument B. Can be used with the - symbol. This operator is NOT commutative. The parser treats this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') except deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') - deps('//baz:lib')"Both return the targets that //foo:bar depends on and that //baz:lib does NOT depend on. "},{"title":"union(left: any value, right: any value)​","type":1,"pageTitle":"Uquery Environment","url":"/docs/users/query/uquery/#unionleft-any-value-right-any-value","content":"Computes the set union over the given arguments. Can be used with the + symbol. This operator is commutative. The parser treats all this operator as left-associative and of equal precedence, so we recommend that you use parentheses if you need to ensure a specific order of evaluation. A parenthesized expression resolves to the value of the expression it encloses. Example:buck2 aquery "deps('//foo:bar') union deps('//baz:lib')" is the same asbuck2 aquery "deps('//foo:bar') + deps('//baz:lib')"Both return the aggregation of the targets that //foo:bar and //baz:lib depend on. "},{"title":"Remote Execution","type":0,"sectionRef":"#","url":"/docs/users/remote_execution/","content":"","keywords":""},{"title":"RE configuration in .buckconfig​","type":1,"pageTitle":"Remote Execution","url":"/docs/users/remote_execution/#re-configuration-in-buckconfig","content":"Configuration for remote execution can be found under [buck2_re_client] in.buckconfig. Keys supported include: engine_address - address to your RE's engine.action_cache_address - address to your action cache endpoint.cas_address - address to your content-addressable storage (CAS) endpoint.tls_ca_certs - path to a CA certificates bundle. This must be PEM-encoded. If none is set, a default bundle will be used. This path contains environment variables using shell interpolation syntax (i.e. $VAR). They will be substituted before reading the file.tls_client_cert - path to a client certificate (and intermediate chain), as well as its associated private key. This must be PEM-encoded. This path can contain environment variables using shell interpolation syntax (i.e. $VAR). They will be substituted before reading the file.http_headers - HTTP headers to inject in all requests to RE. This is a comma-separated list of Header: Value pairs. Minimal validation of those headers is done here. This can contain environment variables using shell interpolation syntax ($VAR). They will be substituted before reading the file.instance_name - an instance name to pass on execution, action cache, and CAS requests. Buck2 uses SHA256 for all its hashing by default. If your RE engine requires something else, this can be configured in .buckconfig as follows: [buck2] # Accepts BLAKE3, SHA1, or SHA256 digest_algorithms = BLAKE3 "},{"title":"RE platform configuration​","type":1,"pageTitle":"Remote Execution","url":"/docs/users/remote_execution/#re-platform-configuration","content":"Next, your build will need anexecution platformthat specifies how and where actions should be executed. For a sample platform definition that sets up an execution platform to utilize RE, take a look at theEngFlow example,BuildBarn example, or theBuildBuddy example. To enable remote execution, configure the following fields inCommandExecutorConfigas follows: remote_enabled - set to True.local_enabled - set to True if you also want to run actions locally.use_limited_hybrid - set to False unless you want to exclusively run remotely when possible.remote_execution_properties - other additional properties. If the RE engine requires a container image, this can be done by settingcontainer-image to an image URL, as is done in the example above. "},{"title":"Rules","type":0,"sectionRef":"#","url":"/docs/prelude/globals/","content":"","keywords":""},{"title":"android_aar​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_aar","content":"def android_aar( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _is_building_android_binary: bool = _, _is_force_single_cpu: bool = _, _is_force_single_default_cpu: bool = _, _java_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processing_tool: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, build_config_values: list[str] = _, build_config_values_file: None | str = _, compress_asset_libraries: bool = _, contacts: list[str] = _, cpu_filters: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, enable_relinker: bool = _, excluded_java_deps: list[str] = _, extra_arguments: list[str] = _, extra_kotlinc_arguments: list[str] = _, friend_paths: list[str] = _, include_build_config_class: bool = _, java_version: None | str = _, javac: None | str = _, kotlin_compiler_plugins: dict[str, dict[str, str]] = _, labels: list[str] = _, language: None | str = _, licenses: list[str] = _, manifest: None | str = _, manifest_file: None | str = _, manifest_skeleton: str, maven_coords: None | str = _, min_sdk_version: None | int = _, native_library_merge_code_generator: None | str = _, native_library_merge_glue: None | str = _, native_library_merge_linker_args: None | dict[str, list[str]] = _, native_library_merge_localized_symbols: None | list[str] = _, native_library_merge_map: None | dict[str, list[str]] = _, native_library_merge_sequence: None | list[typing.Any] = _, native_library_merge_sequence_blocklist: None | list[str] = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, package_asset_libraries: bool = _, package_resources: bool = _, plugins: list[str] = _, proguard_config: None | str = _, relinker_whitelist: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resource_union_package: None | str = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, strip_libraries: bool = _, target: None | str = _, use_jvm_abi_gen: None | bool = _ ) -> None An android_aar() rule is used to generate an Android AAR. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebuild_config_values: See the documentation on the values argument for android_build_config().include_build_config_class: Whether to include the BuildConfig class files in the final .aar file. Needs to be set to True if any build_config_values are specified. This is normally only needed if the build tool that is consuming the .aar file does not generate BuildConfig classes. Note: the AAR format does not specify a way to pass defaults that should be injected into the final BuildConfig class, therefore that information might need to be replicated manually in the build that's consuming the .aar file.manifest_skeleton: The skeleton manifest file used to generate the final AndroidManifest.xml . May either be a file or an android_manifest() target.remove_classes: List of classes to remove from the output aar. It removes classes from the target's own sources, and its dependencies. Details​ See the official Android documentation for details about the .aar format. Examples: android_resource( name = 'res', res = 'res', assets = 'assets', package = 'com.example', ) android_library( name = 'lib', srcs = glob(['**/*.java']), ) android_aar( name = 'app', manifest_skeleton = 'AndroidManifestSkeleton.xml', deps = [ ':res', ':lib', ], ) "},{"title":"android_app_modularity​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_app_modularity","content":"def android_app_modularity( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, application_module_blacklist: None | list[str] = _, application_module_configs: dict[str, list[str]] = _, application_module_dependencies: None | dict[str, list[str]] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, no_dx: list[str] = _, should_include_classes: bool = _, should_include_libraries: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"android_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_binary","content":"def android_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _is_force_single_cpu: bool = _, _is_force_single_default_cpu: bool = _, _java_toolchain: str = _, aapt2_keep_raw_values: bool = _, aapt2_locale_filtering: bool = _, aapt2_preferred_density: None | str = _, aapt_mode: str = _, additional_aapt_params: list[str] = _, allow_r_dot_java_in_secondary_dex: bool = _, allowed_duplicate_resource_types: list[str] = _, android_sdk_proguard_config: None | str = _, application_module_blacklist: None | list[str] = _, application_module_configs: dict[str, list[str]] = _, application_module_dependencies: None | dict[str, list[str]] = _, asset_compression_algorithm: None | str = _, banned_duplicate_resource_types: list[str] = _, buck2_compatibility: str = _, build_config_values: list[str] = _, build_config_values_file: None | str = _, build_string_source_map: bool = _, compress_asset_libraries: bool = _, constraint_overrides: list[str] = _, contacts: list[str] = _, cpu_filters: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, dex_compression: None | str = _, dex_group_lib_limit: int = _, dex_tool: str = _, disable_pre_dex: bool = _, duplicate_resource_behavior: str = _, duplicate_resource_whitelist: None | str = _, enable_relinker: bool = _, exopackage_modes: list[str] = _, extra_filtered_resources: list[str] = _, extra_no_compress_asset_extensions: list[str] = _, field_ref_count_buffer_space: int = _, ignore_aapt_proguard_config: bool = _, includes_vector_drawables: bool = _, is_cacheable: bool = _, is_voltron_language_pack_enabled: bool = _, keystore: str, labels: list[str] = _, licenses: list[str] = _, linear_alloc_hard_limit: int = _, locales: list[str] = _, manifest: None | str = _, manifest_entries: dict[str, typing.Any] = _, manifest_skeleton: None | str = _, method_ref_count_buffer_space: int = _, min_sdk_version: None | int = _, minimize_primary_dex_size: bool = _, module_manifest_skeleton: None | str = _, native_library_merge_code_generator: None | str = _, native_library_merge_glue: None | str = _, native_library_merge_linker_args: None | dict[str, list[str]] = _, native_library_merge_localized_symbols: None | list[str] = _, native_library_merge_map: None | dict[str, list[str]] = _, native_library_merge_sequence: None | list[typing.Any] = _, native_library_merge_sequence_blocklist: None | list[str] = _, no_auto_add_overlay_resources: bool = _, no_auto_version_resources: bool = _, no_dx: list[str] = _, no_version_transitions_resources: bool = _, optimization_passes: int = _, package_asset_libraries: bool = _, package_type: str = _, packaged_locales: list[str] = _, packaging_options: dict[str, list[str]] = _, post_filter_resources_cmd: None | str = _, preprocess_java_classes_bash: None | str = _, preprocess_java_classes_cmd: None | str = _, preprocess_java_classes_deps: list[str] = _, primary_dex_patterns: list[str] = _, proguard_config: None | str = _, proguard_jvm_args: list[str] = _, relinker_whitelist: list[str] = _, resource_compression: str = _, resource_filter: list[str] = _, resource_stable_ids: None | str = _, resource_union_package: None | str = _, secondary_dex_weight_limit: None | int = _, skip_crunch_pngs: None | bool = _, skip_proguard: bool = _, strip_libraries: bool = _, trim_resource_ids: bool = _, use_split_dex: bool = _, validation_deps: list[str] = _, xz_compression_level: int = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"android_build_config​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_build_config","content":"def android_build_config( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _is_building_android_binary: bool = _, _java_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, package: str = _, values: list[str] = _, values_file: None | str = _ ) -> None An android_build_config() rule is used to generate a BuildConfig class with global configuration variables that other android_library() rules can compile against. Currently, the only variable exposed by BuildConfig is a global boolean named DEBUG, much like the BuildConfig.java generated by the official Android build tools based on Gradle. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one package: Name of the Java package to use in the generated BuildConfig.java file. Most developers set this to the application id declared in the manifest via <manifest package="APP_ID">. Example: com.facebook.orca. values: List of strings that defines additional fields (and values) that should be declared in the generated BuildConfig.java file. Like DEBUG, the values will be non-constant-expressions that evaluate to the value specified in the file at compilation time. To override the values in an APK, specify build_config_values or build_config_values_file in android_binary(). values_file: Optional path to a file that defines additional fields (and values) that should be declared in the generated BuildConfig.java file. Like DEBUG, the values will be non-constant-expressions that evaluate to the value specified in the file at compilation time. To override the values in an APK, specify build_config_values or build_config_values_file in android_binary(). Note that values_file can be a generated file, as can build_config_values_file as demonstrated in the example below. Details​ The fields in the generated BuildConfig class will be non-constant-expressions (see JLS 15.28). However, if BuildConfig is packaged into an APK, it will be replaced with a new version where: The fields will be set to literal values (i.e., constant expressions).The boolean BuildConfig.DEBUG field will correspond to that of the package_type argument to the android_binary() rule that is packaging it. This transformation is done before ProGuard is applied (if applicable), so that it can propagate constants from BuildConfig and eliminate dead code. Examples: Here is an example of an android_build_config() rule that is transitively included by both debug and release versions of an android_binary() rule. The value of com.example.pkg.BuildConfig.DEBUG will be different in each APK even though they both transitively depend on the same :build_config rule. android_build_config( name = 'build_config', package = 'com.example.pkg', values = [ 'String COMMIT_ID = "0000000000000000000000000000000000000000"', ], ) # The .java files in this library may contain references to the boolean # com.example.pkg.BuildConfig.DEBUG because :build_config is in the deps. # It could also reference BuildConfig.COMMIT_ID. android_library( name = 'mylib', srcs = glob(['src/**/*.java']), deps = [ ':build_config', ], ) android_binary( name = 'debug', package_type = 'DEBUG', keystore = '//keystores:debug', manifest = 'AndroidManifest.xml', target = 'Google Inc.:Google APIs:19', deps = [ ':mylib', ], ) # The contents of the file generated by this rule might be: # # String COMMIT_ID = "7bf804bdf71fdbfc99cce3b155b3643f022c6fa4" # # Note that the output of :build_config_release_values will be cached by Buck. # Assuming that generate_release_build_config.py depends on state that is not # expressed by its deps (which violates a fundamental invariant in Buck!), a # workaround is to ensure that the inputs to :build_config_release_values are # changed in some way before :release is built to ensure that the output from # :build_config_release_values is not pulled from cache. For example: # # $ buck build :release # $ uuidgen > dummy_state_file.txt # $ buck build :release # # This makes sure that generate_release_build_config.py is re-run before # :release is rebuilt. This is much cheaper than deleting your build cache # before rebuilding. genrule( name = 'build_config_release_values', srcs = [ 'generate_release_build_config.py', 'dummy_state_file.txt' ], bash = 'generate_release_build_config.py $OUT', out = 'build_config_release_values.txt', ) android_binary( name = 'release', package_type = 'RELEASE', keystore = '//keystores:release', manifest = 'AndroidManifest.xml', target = 'Google Inc.:Google APIs:19', build_config_values_file = ':build_config_release_values', deps = [ ':mylib', ], ) "},{"title":"android_bundle​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_bundle","content":"def android_bundle( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _is_force_single_cpu: bool = _, _is_force_single_default_cpu: bool = _, _java_toolchain: str = _, aapt2_keep_raw_values: bool = _, aapt2_locale_filtering: bool = _, aapt2_preferred_density: None | str = _, aapt_mode: str = _, additional_aapt_params: list[str] = _, allow_r_dot_java_in_secondary_dex: bool = _, allowed_duplicate_resource_types: list[str] = _, android_sdk_proguard_config: None | str = _, application_module_blacklist: None | list[str] = _, application_module_configs: dict[str, list[str]] = _, application_module_dependencies: None | dict[str, list[str]] = _, asset_compression_algorithm: None | str = _, banned_duplicate_resource_types: list[str] = _, buck2_compatibility: str = _, build_config_values: list[str] = _, build_config_values_file: None | str = _, build_string_source_map: bool = _, bundle_config_file: None | str = _, compress_asset_libraries: bool = _, contacts: list[str] = _, cpu_filters: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, dex_compression: None | str = _, dex_group_lib_limit: int = _, dex_tool: str = _, disable_pre_dex: bool = _, duplicate_resource_behavior: str = _, duplicate_resource_whitelist: None | str = _, enable_relinker: bool = _, exopackage_modes: list[str] = _, extra_filtered_resources: list[str] = _, extra_no_compress_asset_extensions: list[str] = _, field_ref_count_buffer_space: int = _, ignore_aapt_proguard_config: bool = _, includes_vector_drawables: bool = _, is_cacheable: bool = _, is_voltron_language_pack_enabled: bool = _, keystore: str, labels: list[str] = _, licenses: list[str] = _, linear_alloc_hard_limit: int = _, locales: list[str] = _, manifest: None | str = _, manifest_entries: dict[str, typing.Any] = _, manifest_skeleton: None | str = _, method_ref_count_buffer_space: int = _, min_sdk_version: None | int = _, minimize_primary_dex_size: bool = _, module_manifest_skeleton: None | str = _, native_library_merge_code_generator: None | str = _, native_library_merge_glue: None | str = _, native_library_merge_linker_args: None | dict[str, list[str]] = _, native_library_merge_localized_symbols: None | list[str] = _, native_library_merge_map: None | dict[str, list[str]] = _, native_library_merge_sequence: None | list[typing.Any] = _, native_library_merge_sequence_blocklist: None | list[str] = _, no_auto_add_overlay_resources: bool = _, no_auto_version_resources: bool = _, no_dx: list[str] = _, no_version_transitions_resources: bool = _, optimization_passes: int = _, package_asset_libraries: bool = _, package_type: str = _, packaged_locales: list[str] = _, packaging_options: dict[str, list[str]] = _, post_filter_resources_cmd: None | str = _, preprocess_java_classes_bash: None | str = _, preprocess_java_classes_cmd: None | str = _, preprocess_java_classes_deps: list[str] = _, primary_dex_patterns: list[str] = _, proguard_config: None | str = _, proguard_jvm_args: list[str] = _, relinker_whitelist: list[str] = _, resource_compression: str = _, resource_filter: list[str] = _, resource_stable_ids: None | str = _, resource_union_package: None | str = _, secondary_dex_weight_limit: None | int = _, skip_crunch_pngs: None | bool = _, skip_proguard: bool = _, trim_resource_ids: bool = _, use_derived_apk: bool = _, use_split_dex: bool = _, validation_deps: list[str] = _, xz_compression_level: int = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"android_instrumentation_apk​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_instrumentation_apk","content":"def android_instrumentation_apk( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _is_force_single_cpu: bool = _, _is_force_single_default_cpu: bool = _, _java_toolchain: str = _, aapt_mode: str = _, apk: str, buck2_compatibility: str = _, contacts: list[str] = _, cpu_filters: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, dex_tool: str = _, disable_pre_dex: bool = _, includes_vector_drawables: bool = _, is_self_instrumenting: bool = _, labels: list[str] = _, licenses: list[str] = _, manifest: None | str = _, manifest_skeleton: None | str = _, min_sdk_version: None | int = _, native_library_merge_map: None | dict[str, list[str]] = _, native_library_merge_sequence: None | list[typing.Any] = _, preprocess_java_classes_bash: None | str = _, preprocess_java_classes_cmd: None | str = _, preprocess_java_classes_deps: list[str] = _, primary_dex_patterns: list[str] = _, use_split_dex: None | bool = _ ) -> None An android_instrumentation_apk() rule is used to generate an Android Instrumentation APK. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one Details​ Android's Testing Fundamentals documentation includes a diagram that shows the relationship between an "application package" and a "test package" when running a test. This rule corresponds to a test package. Note that a test package has an interesting quirk where it is compiled against an application package, but must not include the resources or Java classes of the application package. Therefore, this class takes responsibility for making sure the appropriate bits are excluded. Failing to do so will generate mysterious runtime errors when running the test. Examples: Here is an example of an android_instrumentation_apk() rule that tests an android_binary(), and depends on a test package. android_library( name = 'test', srcs = glob(['test/**/*.java']), ) android_binary( name = 'messenger', manifest = 'AndroidManifest.xml', keystore = '//keystores:prod', package_type = 'release', proguard_config = 'proguard.cfg', deps = [ ... ], ) # Building this rule will produce a file named messenger_test.apk android_instrumentation_apk( name = 'messenger_test', manifest = 'AndroidInstrumentationManifest.xml', apk = ':messenger', deps = [ ':test', ], ) "},{"title":"android_instrumentation_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_instrumentation_test","content":"def android_instrumentation_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _inject_test_env: str = _, _java_test_toolchain: str = _, _java_toolchain: str = _, apk: str, buck2_compatibility: str = _, clear_package_data: bool = _, collect_tombstones: bool = _, contacts: list[str] = _, default_host_platform: None | str = _, disable_animations: bool = _, env: dict[str, str] = _, extra_instrumentation_args: None | dict[str, str] = _, instrumentation_test_listener: None | str = _, instrumentation_test_listener_class: None | str = _, is_self_instrumenting: bool = _, labels: list[str] = _, licenses: list[str] = _, log_extractors: dict[str, str] = _, re_caps: None | dict[str, dict[str, str]] = _, re_use_case: None | dict[str, str] = _, record_video: bool = _, test_rule_timeout_ms: None | int = _ ) -> None An android_instrumentation_test() rule is used to define apks that should be used to run Android instrumentation tests. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneapk: The APK containing the tests. Can be an android_binary(), an apk_genrule() or an android_instrumentation_apk().clear_package_data: Runs pm clear on the app and test packages before the test run if set to True.collect_tombstones: Checks whether the test generated any tombstones, and downloads them from the emulator if true.disable_animations: Disables animations on the emulator if set to True.labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck testrecord_video: Record video of test run and collect it as TRAtest_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . Details​ Examples: Here is an example of an android_instrumentation_test()rule that tests an android_binary(). android_binary( name = 'messenger', manifest = 'AndroidManifest.xml', keystore = '//keystores:prod', package_type = 'release', proguard_config = 'proguard.cfg', deps = [ ... ], ) android_instrumentation_apk( name = 'messenger_test', manifest = 'AndroidInstrumentationManifest.xml', apk = ':messenger', deps = [ ... ], ) android_instrumentation_test( name = 'messenger_instrumentation_test', apk = ':messenger_test', ) "},{"title":"android_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_library","content":"def android_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _dex_min_sdk_version: None | int = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _java_toolchain: str = _, _kotlin_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, android_optional_jars: None | list[str] = _, annotation_processing_tool: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_kotlinc_arguments: list[str] = _, friend_paths: list[str] = _, incremental: bool = _, jar_postprocessor: None | str = _, java_version: None | str = _, javac: None | str = _, k2: bool = _, kotlin_compiler_plugins: dict[str, dict[str, str]] = _, labels: list[str] = _, language: None | str = _, licenses: list[str] = _, manifest: None | str = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, provided_deps_query: None | str = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resource_union_package: None | str = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _, use_jvm_abi_gen: None | bool = _, validation_deps: list[str] = _ ) -> None An android_library() rule is used to define a set of Java files that can be compiled together against the Android SDK. The main output of an android_library() rule is a single JAR file containing all of the compiled class files and resources. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one annotation_processing_tool: Specifies the tool to use for annotation processing. Possible values: "kapt" or "javac". "kapt" allows running Java annotation processors against Kotlin sources while backporting it for Java sources too. "javac" works only against Java sources, Kotlin sources won't have access to generated classes at compile time. deps: Rules (usually other android_library rules) that are used to generate the classpath required to compile this android_library. exported_deps: Other rules that depend on this rule will also include its exported_deps in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of prebuilt_jar rules as a single target for callers to depend on. Targets in exported_deps are implicitly included in the deps of this rule, so they don't need to be repeated there. exported_provided_deps: This is a combination of provided_deps and exported_deps. Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target. extra_arguments: List of additional arguments to pass into the Java compiler. These arguments follow the ones specified in .buckconfig. extra_kotlinc_arguments: List of additional arguments to pass into the Kotlin compiler. incremental: Enables Kotlin incremental compilation. k2: Enables the Kotlin K2 compiler. manifest: An optional Android Manifest for the to declare any permissions or intents it may need or want to handle. May either be a file or an android_manifest() target. provided_deps: These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of provided_deps include the JEE servlet APIs. When this rule is included in a , the provided_deps will not be packaged into the output. provided_deps_query: Status: experimental/unstable. The provided deps query functions in the same way as the deps query, but the referenced deps using $declared are the provided deps of the target, and the results of the query are appended to the declared provided deps. remove_classes: List of classes to remove from the output jar. It only removes classes from the target's own sources, not from any of its dependencies. required_for_source_only_abi: Indicates that this rule must be present on the classpath during source-only ABI generation of any rule that depends on it. Typically this is done when a rule contains annotations, enums, constants, or interfaces. Having rules present on the classpath during source-only ABI generation prevents Buck from completely flattening the build graph, thus reducing the performance win from source-only ABI generation. These rules should be kept small (ideally just containing annotations, constants, enums, and interfaces) and with minimal dependencies of their own. resources: Static files to include among the compiled .class files. These files can be loaded via Class.getResource(). Note: Buck uses the src_roots property in.buckconfigto help determine where resources should be placed within the generated JAR file. source: Specifies the version of Java (as a string) to interpret source files as. Overrides the value in "source_level" in the "java" section of .buckconfig. source_only_abi_deps: These are dependencies that must be present during source-only ABI generation. Typically such dependencies are added when some property of the code in this rule prevents source-only ABI generation from being correct without these dependencies being present. Having source_only_abi_deps prevents Buck from completely flattening the build graph, thus reducing the performance win from source-only ABI generation. They should be avoided when possible. Often only a small code change is needed to avoid them. For more information on such code changes, read aboutsource-only ABI generation. srcs: The set of .java files to compile for this rule. target: Specifies the version of Java (as a string) for which to generate code. Overrides the value in "target_level" in the "java" section of .buckconfig. Details​ Examples: An android_library rule used in concert with anandroid_resource() rule. This would be a common arrangement for a standard Android Library project as defined byhttp://developer.android.com/tools/projects/index.html android_resource( name = 'res', res = 'res', package = 'com.example', ) android_library( name = 'my_library', srcs = glob(['src/**/*.java']), deps = [ ':res', ], ) "},{"title":"android_manifest​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_manifest","content":"def android_manifest( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, skeleton: str ) -> None An android_manifest() rule is used to generate an Android Manifest to be used by android_binary() and android_aar() rules. This rule takes a skeleton manifest, and merges it with manifests found in any deps. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: A collection of dependencies that includes android_library rules. The manifest files of the android_library() rules will be filtered out to become dependent source files for the manifest.skeleton: Either a build target or a path to a file representing the manifest that will be merged with any manifests associated with this rule's deps. Details​ Examples: Here's an example of an android_manifest() that has no deps. android_manifest( name = 'my-manifest', skeleton = 'AndroidManifestSkeleton.xml', ) This is what AndroidManifestSkeleton.xml looks like. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example" android:versionCode="1" android:versionName="1.0"> <uses-sdk targetSdkVersion="19" minSdkVersion="17"/> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <activity android:name="MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest> You could also use a genrule() to generate the manifest file and reference thebuild target in the skeleton argument. "},{"title":"android_platform​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_platform","content":"def android_platform( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, base_platform: str, buck2_compatibility: str = _, native_platforms: dict[str, str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"android_prebuilt_aar​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_prebuilt_aar","content":"def android_prebuilt_aar( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _dex_min_sdk_version: None | int = _, _dex_toolchain: str = _, _exec_os_type: str = _, _java_toolchain: str = _, aar: str, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, desugar_deps: list[str] = _, for_primary_apk: bool = _, javadoc_url: None | str = _, labels: list[str] = _, licenses: list[str] = _, maven_coords: None | str = _, required_for_source_only_abi: bool = _, source_jar: None | str = _, use_system_library_loader: bool = _ ) -> None An android_prebuilt_aar() rule takes an .aar file and makes it available as an Android dependency. As expected, an android_binary() that transitively depends on an android_prebuilt_aar() will include its contents in the generated APK. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneaar: Path to the .aar file. This may also be a build target to a rule (such as a genrule()) whose output is an .aar file.javadoc_url: URL to the Javadoc for the .class files in the aar.source_jar: Path to a JAR file that contains the .java files to create the .class in the aar. This is frequently provided for debugging purposes.use_system_library_loader: If this .aar file contains native prebuilt .so libraries and the Java code uses these libraries via a call to System.loadLibrary(), then many optimizations—such as exopackage, compression, or asset packaging—may not be compatible with these prebuilt libs. Setting this parameter to True causes all of these optimizations to skip the prebuilt .so files originating from this .aar file. The .so files will always be packaged directly into the main .apk. Details​ See the official Android documentation for details about the .aar format. Examples: android_prebuilt_aar( name = 'play-services', aar = 'play-services-4.0.30.aar', source_jar = 'play-services-4.0.30-sources.jar', javadoc_url = 'file:///opt/android-sdk/extras/google/google_play_services/docs/reference', ) android_library( name = 'lib', # This Java code can compile against Play services and reference its resources. srcs = glob(['*.java']), deps = [ ':play-services' ], ) "},{"title":"android_resource​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#android_resource","content":"def android_resource( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, allowlisted_locales: None | list[str] = _, assets: None | str | dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, has_whitelisted_strings: bool = _, labels: list[str] = _, licenses: list[str] = _, manifest: None | str = _, package: None | str = _, project_assets: None | str = _, project_res: None | str = _, res: None | str | dict[str, str] = _, resource_union: bool = _ ) -> None An android_resource() rule is used to bundle Android resources that are traditionally stored in res and assets directories. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: Other android_resource rules to include via -S when running aapt.manifest: An optional Android Manifest for the to declare any permissions or intents it may need or want to handle. May either be a file or an android_manifest() target.package: Java package for the R.java file that will be generated for these resources. Details​ The output of an android_resource() is an R.txt file generated via aapt --output-text-symbols. Examples: Most of the time, an android_resource rule defines only name, res, and package. By convention, such simple rules are often named res: android_resource( name = 'res', res = subdir_glob([('res', '**')]), package = 'com.example', ) "},{"title":"apk_genrule​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apk_genrule","content":"def apk_genrule( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _genrule_toolchain: str = _, _java_toolchain: str = _, aab: None | str = _, always_print_stderr: bool = _, apk: None | str = _, bash: None | str = _, buck2_compatibility: str = _, cacheable: None | bool = _, cmd: None | str = _, cmd_exe: None | str = _, contacts: list[str] = _, default_host_platform: None | str = _, default_outs: None | list[str] = _, enable_sandbox: None | bool = _, environment_expansion_separator: None | str = _, is_cacheable: bool = _, keystore: None | str = _, labels: list[str] = _, licenses: list[str] = _, metadata_env_var: None | str = _, metadata_path: None | str = _, need_android_tools: bool = _, no_outputs_cleanup: bool = _, out: None | str = _, outs: None | dict[str, list[str]] = _, remote: None | bool = _, remote_execution_dependencies: list[dict[str, str]] = _, srcs: list[str] | dict[str, str] = _, type: str = _, use_derived_apk: bool = _, weight: None | int = _ ) -> None An apk_genrule() rule is used to post-process an APK. What separates an apk_genrule from a genrule is apk_genrules are known by BUCK to produce APKs, so commands like buck install or buck uninstall still work. Additionally, apk_genrule() rules can be inputs to other apk_genrule() rules. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one aab: The input android_binary() rule. The path to the AAB can be accessed with the $AAB shell variable. Only one of apk or aab can be provided. apk: The input android_binary() rule. The path to the APK can be accessed with the $APK shell variable. Only one of apk or aab can be provided. bash: A platform-specific version of the shell command parameter cmd. It runs on Linux and UNIX systems—including OSX—on which bash is installed. It has a higher priority than cmd. The bash argument is run with /usr/bin/env bash -c. It has access to the same set of macros and variables as the cmd argument. cmd: The shell command to run to generate the output file. It is the fallback for bash and cmd_exe arguments. The following environment variables are populated by Buck and available to the shell command. They are accessed using the syntax: ${<variable>} Example: ${SRCS} ${SRCS} A string expansion of the srcs argument delimited by the environment_expansion_separator argument where each element of srcs will be translated into a relative path. ${SRCDIR} The relative path to a directory to which sources are copied prior to running the command. ${OUT} The output file or directory for the genrule(). This variable will have whatever value is specified by the out argument if not using named outputs. If using named outputs, this variable will be the output directory. The value should be a valid filepath. The semantics of the shell command determine whether this filepath is treated as a file or a directory. If the filepath is a directory, then the shell command needs to create it if not using named outputs. Otherwise, it will be automatically created. All outputs (directories and files) must be readable, writable, and (in the case of directories) executable by the current user. The file or directory specified by this variable must always be written by this command. If not, the execution of this rule will be considered a failure, halting the build process. ${TMP} A temporary directory which can be used for intermediate results and will not be bundled into the output. cmd_exe: A platform-specific version of the shell command parameter cmd. It runs on Windows and has a higher priority than cmd. The cmd_exe argument is run with cmd.exe /v:off /c. It has access to the same set of macros and variables as the cmd argument. environment_expansion_separator: The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces. out: The name of the output file or directory. The complete path to this argument is provided to the shell command through the OUT environment variable. Only one of out or outs may be present. For an apk_genrule the output should be a '.apk' or '.aab' file. srcs: Either a list or a map of the source files which Buck makes available to the shell command at the path in the SRCDIR environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names. weight: How many local slots these genrule should take when executing locally. Details​ Examples: Here is an example of a couple apk_genrule() open up an APK, do some super signing, and then zipalign that APK again. # Building this rule will produce a file named messenger.apk. android_binary( name = 'messenger', manifest = 'AndroidManifest.xml', target = 'Google Inc.:Google APIs:16', keystore = '//keystores:prod', package_type = 'release', proguard_config = 'proguard.cfg', deps = [ ':res', ':src', ], ) apk_genrule( name = 'messenger_super_sign_unalign', apk = ':messenger', bash = '$(exe //java/com/facebook/sign:super_sign) --input $APK --output $OUT', cmd_exe = '$(exe //java/com/facebook/sign:super_sign) --input %APK% --output %OUT%', out = 'messenger_super_sign_unalign.apk', ) apk_genrule( name = 'messenger_super_sign', apk = ':messenger_super_sign_unalign', bash = '$ANDROID_HOME/tools/zipalign -f 4 $APK $OUT', cmd_exe = '%ANDROID_HOME%\\tools\\zipalign -f 4 %APK% %OUT%', out = 'messenger_super_sign.apk', ) "},{"title":"apple_asset_catalog​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_asset_catalog","content":"def apple_asset_catalog( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, app_icon: None | str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, dirs: list[str] = _, labels: list[str] = _, launch_image: None | str = _, licenses: list[str] = _, skip_universal_resource_dedupe: bool = _ ) -> None An apple_asset_catalog() rule contains resources stored in Apple asset catalog directories. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an apple_bundle() rule, in which case all apple_asset_catalog() rules that the bundle rule depends on are merged and placed into the final output bundle together. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneapp_icon: An optional reference to a .appiconset containing a image set representing an application icon. (The extension itself should not be included.) This parameter may be specified at most once in a given apple_bundle's transitive dependencies.launch_image: An optional reference to a .launchimage containing a image set representing an application launch image. (The extension itself should not be included.) This parameter may be specified at most once in a given apple_bundle's transitive dependencies. Details​ Examples: apple_asset_catalog( name = 'MyAssetCatalog', dirs = [ 'MyResources.xcassets', ], ) # A asset catalog with a app icon and launch image apple_asset_catalog( name = 'AssetCatalog', dirs = [ 'AssetCatalog.xcassets' ], app_icon = 'Icon', launch_image = 'LaunchImage', ) "},{"title":"apple_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_binary","content":"def apple_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _apple_xctoolchain: str = _, _apple_xctoolchain_bundle_id: str = _, _dsymutil_extra_flags: list[str], _enable_library_evolution: bool = _, _stripped_default: bool = _, allow_cache_upload: None | bool = _, attrs_validators: dict[str, (list[str], str)] = _, binary_linker_flags: list[str] = _, bridging_header: None | str = _, buck2_compatibility: str = _, can_be_asset: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, devirt_enabled: bool = _, diagnostics: dict[str, str] = _, enable_cxx_interop: bool = _, enable_distributed_thinlto: bool = _, enable_library_evolution: None | bool = _, entitlements_file: None | str = _, executable_name: None | str = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extra_xcode_files: list[str] = _, extra_xcode_sources: list[str] = _, fat_lto: bool = _, focused_list_target: None | str = _, force_static: None | bool = _, frameworks: list[str] = _, header_namespace: None | str = _, header_path_prefix: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, import_obj_c_forward_declarations: bool = _, include_directories: list[str] = _, info_plist: None | str = _, info_plist_substitutions: dict[str, str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_public_deps_label: None | str = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: None | bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, modular: bool = _, module_name: None | str = _, module_requires_cxx: bool = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, preferred_linkage: str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, propagated_target_sdk_version: None | str = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, reexport_all_header_dependencies: None | bool = _, sanitizer_runtime_enabled: None | bool = _, sdk_modules: list[str] = _, serialize_debugging_options: bool = _, soname: None | str = _, srcs: list[str | (str, list[str])] = _, static_library_basename: None | str = _, stripped: None | bool = _, supported_platforms_regex: None | str = _, supports_merged_linking: None | bool = _, swift_compilation_mode: str = _, swift_compiler_flags: list[str] = _, swift_package_name: None | str = _, swift_version: None | str = _, target_sdk_version: None | str = _, thin_lto: bool = _, use_submodules: bool = _, uses_cxx_explicit_modules: bool = _, uses_explicit_modules: bool = _, uses_modules: bool = _, validation_deps: list[str] = _ ) -> None An apple_binary() rule builds a native executable - such as an iOS or OSX app - from the supplied set of Objective-C/C++ source files and dependencies. It is similar to a cxx_binary() rule with which it shares many attributes. In addition to those common attributes, apple_binary() has a some additional attributes that are specific to binaries intended to be built using the Apple toolchain. Note, however, that apple_binary() and cxx_binary() differ in the way that they import header files, in order to better accommodate existing conventions. See the sections for the headers and exported_headers attributes for more details. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). compiler_flags: Flags to use when compiling any of the above sources (which require compilation). entitlements_file: An optional name of a plist file to be embedded in the binary. Some platforms like iphonesimulator require this to run properly. exported_headers: The set of header files that are made available for inclusion to the source files in this target and all targets that transitively depend on this one. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or, if a header file that belongs to the same rule is being imported, with #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets. exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation. extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources". frameworks: A list of system frameworks that the code in this target uses. Each entry should be a path starting with $SDKROOT or $PLATFORM_DIR to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory. header_path_prefix: A path prefix when including headers of this target. For example, headers from a library defined using apple_library( name = "Library", headers = glob(["**/*.h"]), header_path_prefix = "Lib", ) can be imported using following mapping Library/SubDir/Header1.h -> Lib/Header1.h Library/Header2.h -> Lib/Header2.h Defaults to the short name of the target. Can contain forward slashes (/), but cannot start with one. See headers for more information. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets. link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information. platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation. platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). target_sdk_version: The minimum OS version that the library target should support, overriding the minimum set in .buckconfig. When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks. Details​ Buck enables you to override components of the Apple toolchain with alternate tools, either from the Xcode search paths or from directories that you specify. See .buckconfigand .buckconfigfor more information. Examples: apple_binary( name = 'MyBinary', deps = [ ':MyLibrary', '//Libraries:AnotherLibrary', ], preprocessor_flags = ['-fobjc-arc'], headers = [ 'MyHeader.h', ], srcs = [ 'MySource.m', ], frameworks = [ '$SDKROOT/System/Library/Frameworks/UIKit.framework', '$SDKROOT/System/Library/Frameworks/Foundation.framework', ], ) "},{"title":"apple_bundle​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_bundle","content":"def apple_bundle( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _apple_xctoolchain: str = _, _apple_xctoolchain_bundle_id: str = _, _bundling_cache_buster: None | str = _, _bundling_log_file_enabled: bool = _, _bundling_log_file_level: None | str = _, _code_signing_configuration: None | str = _, _codesign_entitlements: None | str = _, _codesign_identities_command_override: None | str = _, _codesign_type: None | str = _, _compile_resources_locally_override: None | bool = _, _dsymutil_extra_flags: list[str], _embed_provisioning_profile_when_adhoc_code_signing: None | bool = _, _fast_adhoc_signing_enabled_default: bool = _, _fast_provisioning_profile_parsing_enabled: bool = _, _incremental_bundling_enabled: bool = _, _info_plist_identify_build_system_default: bool = _, _profile_bundling_enabled: bool = _, _provisioning_profiles: str = _, _resource_bundle: None | str = _, _strict_provisioning_profile_search_default: bool = _, _use_entitlements_when_adhoc_code_signing: None | bool = _, asset_catalogs_compilation_options: dict[str, typing.Any] = _, binary: None | str = _, buck2_compatibility: str = _, bundle_type: None | str = _, codesign_flags: list[str] = _, codesign_identity: None | str = _, codesign_type: None | str = _, contacts: list[str] = _, copy_public_framework_headers: None | bool = _, default_host_platform: None | str = _, default_platform: None | str = _, deps: list[str] = _, embed_provisioning_profile_when_adhoc_code_signing: bool = _, extension: str, fast_adhoc_signing_enabled: None | bool = _, ibtool_flags: None | list[str] = _, ibtool_module_flag: None | bool = _, incremental_bundling_enabled: None | bool = _, info_plist: str, info_plist_identify_build_system: None | bool = _, info_plist_substitutions: dict[str, str] = _, labels: list[str] = _, licenses: list[str] = _, module_map: None | str = _, platform_binary: None | list[(str, str)] = _, privacy_manifest: None | str = _, product_name: None | str = _, propagated_target_sdk_version: None | str = _, provisioning_profile_filter: None | str = _, resource_group: None | str = _, resource_group_map: None | str = _, selective_debugging: None | str = _, skip_copying_swift_stdlib: None | bool = _, split_arch_dsym: bool = _, strict_provisioning_profile_search: None | bool = _, try_skip_code_signing: None | bool = _, universal: None | bool = _, use_entitlements_when_adhoc_code_signing: bool = _, validation_deps: list[str] = _, versioned_macos_bundle: bool = _, xcode_product_type: None | str = _ ) -> None An apple_bundle() rule takes an Apple binary and all of the resources and asset catalogs in the rule's transitive dependencies and generates a bundle containing all of those files. Optionally the generated bundle can also be signed using specified provisioning profiles. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one asset_catalogs_compilation_options: A dict holding parameters for asset catalogs compiler (actool). Its options include: notices (defaults to True)warnings (defaults to True)errors (defaults to True)compress_pngs (defaults to True)optimization (defaults to 'space')output_format (defaults to 'human-readable-text')extra_flags (defaults to []) deps: A list of dependencies of this bundle as build targets. You can embed application extensions by specifying the extension's bundle target. To include a WatchKit app, append the flavor #watch to the target specification. Buck will automatically substitute the appropriate platform flavor (either watchsimulator or watchos) based on the parent. extension: The extension of the generated bundle. For example 'app' for an application bundle or 'appex' for an application extension bundle. ibtool_flags: List of flags to be passed to ibtool during interface builder file compilation. info_plist: A path to an Info.plist file that will be placed in the bundle. The specified file will be processed by substituting variable names with their values (see info_plist_substitutions for more information). info_plist_substitutions: A dictionary that assigns variable names to their values. It is used for variable substitution when processing the file specified in info_plist. For example if this argument is set to {'VAR': 'MyValue'}, then each occurrence of $(VAR) or ${VAR} in the file will be replaced by MyValue. privacy_manifest: A path to an .xcprivacy file that will be placed in the bundle. product_name: The name of the resulting bundle and binary. The setting behaves like PRODUCT_NAME Xcode build setting. For example, if your rule is named "MyApp" and extension is "app", by default buck will generate MyApp.app bundle. But if you will set product name to "SuperApp", bundle will get "SuperApp.app" name. Details​ Code signing will embed entitlements pointed to by the entitlements_file arg in the bundle's apple_binary. This is the preferred way to specify entitlements when building with Buck. If the entitlements file is not present, it falls back to the CODE_SIGN_ENTITLEMENTS entry ininfo_plist_substitutions. If after these checks, an entitlements file is still not specified, it will be derived based on the entitlements of the selected provisioning profile. Provisioning profiles will be selected from profiles pointed to by apple.provisioning_profile_search_path, based on a non-expired profile that matches the bundle id and entitlements. Code signing will embed entitlements pointed to by the CODE_SIGN_ENTITLEMENTS entry ininfo_plist_substitutions. If an entitlements file is omitted, it will be derived based on the entitlements of the selected provisioning profile. Provisioning profiles will be selected from profiles pointed to by apple.provisioning_profile_search_path, based on a non-expired profile that matches the bundle id and entitlements. Examples: apple_bundle( name = 'AppBundle', binary = ':MyBinary', extension = 'app', info_plist = 'Info.plist', ) # iOS app with embedded WatchOS 2.0 app/extension apple_bundle( name = 'DemoWatchAppExtension', binary = ':DemoWatchAppExtensionBinary', extension = 'appex', info_plist = 'WatchExtension/Resources/Info.plist', ) apple_bundle( name = 'DemoWatchApp', binary = ':DemoWatchAppBinary', deps = [':DemoWatchAppResources', ':DemoWatchAppExtension'], extension = 'app', info_plist = 'WatchApplication/Info.plist', ) apple_bundle( name = 'DemoApp', binary = ':DemoAppBinary', deps = [':DemoWatchApp#watch'], extension = 'app', info_plist = 'Info.plist', ) # iOS app using safeAreaInsets delivering to iOS 9.x apple_bundle( name = 'DemoIBApp', binary = ':DemoIBAppBinary', deps = [':DemoIBAppResources'], extension = 'app', ibtool_flags = ["--minimum-deployment-target", "9.0"], info_plist = 'Info.plist', ) "},{"title":"apple_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_library","content":"def apple_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _apple_xctoolchain: str = _, _apple_xctoolchain_bundle_id: str = _, _archive_objects_locally_override: None | bool = _, _dsymutil_extra_flags: list[str], _enable_library_evolution: bool = _, _stripped_default: bool = _, allow_cache_upload: None | bool = _, attrs_validators: dict[str, (list[str], str)] = _, bridging_header: None | str = _, buck2_compatibility: str = _, can_be_asset: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, devirt_enabled: bool = _, diagnostics: dict[str, str] = _, enable_cxx_interop: bool = _, enable_distributed_thinlto: bool = _, enable_library_evolution: None | bool = _, executable_name: None | str = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extra_xcode_files: list[str] = _, extra_xcode_sources: list[str] = _, fat_lto: bool = _, focused_list_target: None | str = _, force_static: None | bool = _, frameworks: list[str] = _, header_mode: None | str = _, header_namespace: None | str = _, header_path_prefix: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, import_obj_c_forward_declarations: bool = _, include_directories: list[str] = _, info_plist: None | str = _, info_plist_substitutions: dict[str, str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: None | bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, modular: bool = _, module_name: None | str = _, module_requires_cxx: bool = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, preferred_linkage: str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, propagated_target_sdk_version: None | str = _, public_framework_headers: list[str] | dict[str, str] = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, reexport_all_header_dependencies: None | bool = _, sdk_modules: list[str] = _, serialize_debugging_options: bool = _, shared_library_macho_file_type: str = _, soname: None | str = _, srcs: list[str | (str, list[str])] = _, static_library_basename: None | str = _, stripped: None | bool = _, supported_platforms_regex: None | str = _, supports_header_symlink_subtarget: bool = _, supports_merged_linking: None | bool = _, supports_shlib_interfaces: bool = _, swift_compilation_mode: str = _, swift_compiler_flags: list[str] = _, swift_package_name: None | str = _, swift_version: None | str = _, target_sdk_version: None | str = _, thin_lto: bool = _, use_archive: None | bool = _, use_submodules: bool = _, uses_cxx_explicit_modules: bool = _, uses_explicit_modules: bool = _, uses_modules: bool = _, validation_deps: list[str] = _ ) -> None An apple_library() rule represents a set of Objective-C/C++/Swift source files and is similar to a cxx_library() rule with which it shares many attributes. In addition to those common attributes, apple_library() has a some additional attributes that are specific to binaries intended to be built using the Apple toolchain. Note, however, that apple_library() and cxx_library() differ in the way that they import header files, in order to better accommodate existing conventions. See the sections for the headers and exported_headers attributes for more details. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). compiler_flags: Flags to use when compiling any of the above sources (which require compilation). exported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported. exported_headers: The set of header files that are made available for inclusion to the source files in this target and all targets that transitively depend on this one. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or, if a header file that belongs to the same rule is being imported, with #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets. exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation. exported_platform_linker_flags: Platform-specific linker flags for this rule and for all rules that transitively depend on this rule. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation. extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources". frameworks: A list of system frameworks that the code in this target uses. Each entry should be a path starting with $SDKROOT or $PLATFORM_DIR to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory. header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information. header_path_prefix: A path prefix when including headers of this target. For example, headers from a library defined using apple_library( name = "Library", headers = glob(["**/*.h"]), header_path_prefix = "Lib", ) can be imported using following mapping Library/SubDir/Header1.h -> Lib/Header1.h Library/Header2.h -> Lib/Header2.h Defaults to the short name of the target. Can contain forward slashes (/), but cannot start with one. See headers for more information. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets. link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information. platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). reexport_all_header_dependencies: Whether to automatically re-export the exported headers of all dependencies. When this is set to false, only exported headers fromexported_deps are re-exported. srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). target_sdk_version: The minimum OS version that the library target should support, overriding the minimum set in .buckconfig. When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks. Details​ Buck enables you to override components of the Apple toolchain with alternate tools, either from the Xcode search paths or from directories that you specify. See .buckconfigand .buckconfigfor more information. Examples: apple_library( name = 'MyLibrary', deps = [ ':OtherLibrary', '//Libraries:YetAnotherLibrary', ], preprocessor_flags = ['-fobjc-arc'], headers = [ 'MyHeader.h', ], srcs = [ 'MySource.m', 'MySource.swift', ], frameworks = [ '$SDKROOT/System/Library/Frameworks/UIKit.framework', '$SDKROOT/System/Library/Frameworks/Foundation.framework', ], ) "},{"title":"apple_package​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_package","content":"def apple_package( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_tools: str = _, _ipa_compression_level: str, _ipa_package: str, buck2_compatibility: str = _, bundle: str, contacts: list[str] = _, default_host_platform: None | str = _, default_platform: None | str = _, ext: str = _, labels: list[str] = _, licenses: list[str] = _, need_android_tools: bool = _, package_name: None | str = _, packager: None | str = _, packager_args: list[str] = _, prepackaged_validators: list[str | (str, list[str])] = _ ) -> None An apple_package() rule takes the output of an apple_bundle() rule and compresses it in an IPA (iOS App Store Package) file. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one Details​ This rule can be customized using the config options .buckconfigand .buckconfig. Examples: apple_package( name = 'AppPackage', bundle = ':AppBundle', ) "},{"title":"apple_resource​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_resource","content":"def apple_resource( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, codesign_entitlements: None | str = _, codesign_flags_override: None | list[str] = _, codesign_on_copy: bool = _, contacts: list[str] = _, content_dirs: list[str] = _, default_host_platform: None | str = _, destination: None | str = _, dirs: list[str] = _, files: list[str] = _, labels: list[str] = _, licenses: list[str] = _, named_variants: dict[str, list[str]] = _, resources_from_deps: list[str] = _, skip_universal_resource_dedupe: bool = _, variants: list[str] = _ ) -> None An apple_resource() rule contains sets of resource directories, files and file variants that can be bundled in an application bundle. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an apple_bundle() rule. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one destination: Specifies the destination in the final application bundle where resource will be copied. Possible values: "resources", "frameworks", "executables", "plugins", "xpcservices". named_variants: Mapping from a variant name to the list of resource file paths which should be placed in an application bundle. Those files will be placed in a directory with name equal to the corresponding key in this mapping. Keys should end with .lproj suffix. (e.g. Base.lproj, en.lproj). resources_from_deps: Set of build targets whose transitive apple_resources should be considered as part of the current resource when collecting resources for bundles. Usually, an apple_bundle collects all apple_resource rules transitively reachable through apple_library rules. This field allows for resources which are not reachable using the above traversal strategy to be considered for inclusion in the bundle. variants: Set of paths of resource file variants that should be placed in an application bundle. The files mentioned here should be placed in a directory named $VARIANT_NAME.lproj, where $VARIANT_NAME is the name of the variant (e.g. Base, en). This argument makes it possible to use different resource files based on the active locale. Details​ Examples: apple_resource( name = 'Images', files = glob([ '*.png', ]), dirs = [ 'PrettyImages', ], ) "},{"title":"apple_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_test","content":"def apple_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _apple_xctoolchain: str = _, _apple_xctoolchain_bundle_id: str = _, _bundling_cache_buster: None | str = _, _bundling_log_file_enabled: bool = _, _bundling_log_file_level: None | str = _, _code_signing_configuration: None | str = _, _codesign_identities_command_override: None | str = _, _codesign_type: None | str = _, _compile_resources_locally_override: None | bool = _, _dsymutil_extra_flags: list[str], _embed_provisioning_profile_when_adhoc_code_signing: None | bool = _, _enable_library_evolution: bool = _, _fast_adhoc_signing_enabled_default: bool = _, _fast_provisioning_profile_parsing_enabled: bool = _, _incremental_bundling_enabled: bool = _, _info_plist_identify_build_system_default: bool = _, _inject_test_env: str = _, _ios_booted_simulator: str = _, _ios_unbooted_simulator: str = _, _macos_idb_companion: str = _, _profile_bundling_enabled: bool = _, _provisioning_profiles: str = _, _resource_bundle: None | str = _, _strict_provisioning_profile_search_default: bool = _, _use_entitlements_when_adhoc_code_signing: None | bool = _, allow_cache_upload: None | bool = _, asset_catalogs_compilation_options: dict[str, typing.Any] = _, attrs_validators: dict[str, (list[str], str)] = _, binary: None | str = _, bridging_header: None | str = _, buck2_compatibility: str = _, can_be_asset: None | bool = _, codesign_flags: list[str] = _, codesign_identity: None | str = _, codesign_type: None | str = _, compiler_flags: list[str] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, destination_specifier: dict[str, str] = _, devirt_enabled: bool = _, diagnostics: dict[str, str] = _, embed_provisioning_profile_when_adhoc_code_signing: bool = _, enable_cxx_interop: bool = _, enable_library_evolution: None | bool = _, entitlements_file: None | str = _, env: None | dict[str, str] = _, executable_name: None | str = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extension: str, extra_xcode_files: list[str] = _, extra_xcode_sources: list[str] = _, fast_adhoc_signing_enabled: None | bool = _, fat_lto: bool = _, focused_list_target: None | str = _, force_static: None | bool = _, frameworks: list[str] = _, header_namespace: None | str = _, header_path_prefix: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, import_obj_c_forward_declarations: bool = _, include_directories: list[str] = _, incremental_bundling_enabled: None | bool = _, info_plist: str, info_plist_identify_build_system: None | bool = _, info_plist_substitutions: dict[str, str] = _, is_ui_test: bool = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_ordering: None | str = _, link_style: str = _, link_whole: None | bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, modular: bool = _, module_name: None | str = _, module_requires_cxx: bool = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, preferred_linkage: str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, propagated_target_sdk_version: None | str = _, provisioning_profile_filter: None | str = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, reexport_all_header_dependencies: None | bool = _, resource_group: None | str = _, resource_group_map: None | str = _, run_test_separately: bool = _, runner: None | str = _, sanitizer_runtime_enabled: None | bool = _, sdk_modules: list[str] = _, serialize_debugging_options: bool = _, skip_copying_swift_stdlib: None | bool = _, snapshot_reference_images_path: None | str = _, soname: None | str = _, specs: None | str = _, srcs: list[str | (str, list[str])] = _, static_library_basename: None | str = _, strict_provisioning_profile_search: None | bool = _, stripped: bool = _, supported_platforms_regex: None | str = _, supports_merged_linking: None | bool = _, swift_compilation_mode: str = _, swift_compiler_flags: list[str] = _, swift_package_name: None | str = _, swift_version: None | str = _, target_sdk_version: None | str = _, test_host_app: None | str = _, test_re_capabilities: None | dict[str, str] = _, test_re_use_case: None | str = _, test_rule_timeout_ms: None | int = _, thin_lto: bool = _, try_skip_code_signing: None | bool = _, ui_test_target_app: None | str = _, use_entitlements_when_adhoc_code_signing: bool = _, use_submodules: bool = _, uses_cxx_explicit_modules: bool = _, uses_explicit_modules: bool = _, uses_modules: bool = _, validation_deps: list[str] = _, versioned_macos_bundle: bool = _, xcode_product_type: None | str = _ ) -> None An apple_test() rule contains Objective-C/C++ code which can be built and used to test code contained in other rules. The tests can be executed by running buck test. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). compiler_flags: Flags to use when compiling any of the above sources (which require compilation). extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources". frameworks: A list of system frameworks that the code in this target uses. Each entry should be a path starting with $SDKROOT or $PLATFORM_DIR to denote that the rest of the path is relative to the root of the SDK used for the build or to the platform toolchain directory. header_path_prefix: A path prefix when including headers of this target. For example, headers from a library defined using apple_library( name = "Library", headers = glob(["**/*.h"]), header_path_prefix = "Lib", ) can be imported using following mapping Library/SubDir/Header1.h -> Lib/Header1.h Library/Header2.h -> Lib/Header2.h Defaults to the short name of the target. Can contain forward slashes (/), but cannot start with one. See headers for more information. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header names can contain forward slashes (/). If a list of header files is specified, the headers can be imported with #import "$HEADER_PATH_PREFIX/$HEADER_NAME" or #import "$HEADER_NAME", where $HEADER_PATH_PREFIX is the value of the target's header_path_prefix attribute, and $HEADER_NAME is the filename of the header file. If a dictionary is specified, each header can be imported with #import "$HEADER_NAME", where $HEADER_NAME is the key corresponding to this file. In this case, the header_path_prefix attribute is ignored. In either case, quotes in the import statements can be replaced with angle brackets. info_plist: A path to an Info.plist file that will be placed in the bundle. The specified file will be processed by substituting variable names with their values (see info_plist_substitutions for more information). info_plist_substitutions: A dictionary that assigns variable names to their values. It is used for variable substitution when processing the file specified in info_plist. For example if this argument is set to {'VAR': 'MyValue'}, then each occurrence of $(VAR) or ${VAR} in the file will be replaced by MyValue. labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information. platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). target_sdk_version: The minimum OS version that the library target should support, overriding the minimum set in .buckconfig. When set, Buck will automatically add flags to both Objective-C and Swift compilation that will allow the use of the new APIs without guarding code inside availability checks. test_host_app: A build target identifying an apple_bundle() rule that builds an application bundle. Output of the specified rule will be used as a test host of this test. This implies run_test_separately. Since symbols that are defined in the test host application and its dependencies will not be linked into the test binary, to make those symbols accessible to the test target they need to be specified as a dependency of this target and ['-undefined', 'dynamic_lookup'] needs to be added to this target's linker_flags (this will suppress undefined reference errors during compilation, but if the symbols do not exist, it might result in runtime crashes). test_re_capabilities: An optional dictionary with the RE capabilities for the test execution. Overrides a default selection mechanism. test_re_use_case: An optional name of the RE use case for the test execution. Overrides a default selection mechanism. Details​ Examples: apple_test( name = 'MyTest', info_plist = 'MyTest-Info.plist', preprocessor_flags = ['-fobjc-arc'], srcs = [ 'MyTest.m', ], deps = [ ':MyLibrary', ], frameworks = [ '$SDKROOT/System/Library/Frameworks/Foundation.framework', '$SDKROOT/System/Library/Frameworks/UIKit.framework', '$PLATFORM_DIR/Developer/Library/Frameworks/XCTest.framework', ], ) "},{"title":"apple_toolchain​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_toolchain","content":"def apple_toolchain( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _internal_platform_path: None | str = _, _internal_sdk_path: None | str = _, actool: str, architecture: str = _, buck2_compatibility: str = _, build_version: None | str = _, codesign: str, codesign_allocate: str, codesign_identities_command: None | str = _, compile_resources_locally: bool = _, contacts: list[str] = _, copy_scene_kit_assets: str, cxx_toolchain: str, default_host_platform: None | str = _, developer_path: None | str = _, dsymutil: str, dwarfdump: None | str = _, extra_linker_outputs: list[str] = _, ibtool: str, installer: str = _, labels: list[str] = _, libtool: str, licenses: list[str] = _, lipo: str, mapc: None | str = _, min_version: str = _, momc: str, objdump: None | str = _, placeholder_tool: None | str = _, platform_path: None | str = _, requires_xcode_version_match: bool = _, sdk_environment: None | str = _, sdk_name: str = _, sdk_path: None | str = _, swift_toolchain: None | str = _, version: None | str = _, watch_kit_stub_binary: None | str = _, work_around_dsymutil_lto_stack_overflow_bug: None | bool = _, xcode_build_version: None | str = _, xcode_version: None | str = _, xctest: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"apple_toolchain_set​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_toolchain_set","content":"def apple_toolchain_set( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, apple_toolchains: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"apple_universal_executable​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_universal_executable","content":"def apple_universal_executable( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _dsymutil_extra_flags: list[str], buck2_compatibility: str = _, executable: str, executable_name: None | str = _, labels: list[str] = _, split_arch_dsym: bool = _, universal: None | bool = _ ) -> None An apple_universal_executable() rule takes a target via its binary attribute, builds it for multiple architectures and combines the result into a single binary using lipo. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one executable: A build target identifying the binary which will be built for multiple architectures. The target will be transitioned into different configurations, with distinct architectures. The target can be one of: apple_binary() and cxx_binary()[shared] subtarget of apple_library() and cxx_library()apple_library() and cxx_library() which have preferred_linkage = shared attribute executable_name: By default, the name of the universal executable is same as the name of the binary from the binary target attribute. Set executable_name to override the default. split_arch_dsym: If enabled, each architecture gets its own dSYM binary. Use this if the combined universal dSYM binary exceeds 4GiB. universal: Controls whether the output is universal binary. Any value overrides the presence of the config//cpu/constraints:universal-enabled constraint. Read the rule docs for more information on resolution. Details​ The output of the rule is a universal binary: If config//cpu/constraints:universal-enabled is present in the target platform.If the universal attribute is set to True. If none of the conditions are met, then the rule acts as a nop alias(). The universal attribute, if present, takes precedence over constraint. For example, if universal = False, then the presence of the constraint would not affect the output. apple_bundle() supports building of universal binaries,apple_universal_executable() is only needed if you have a standalone binary target which is not embedded in an apple_bundle() (usually a CLI tool). "},{"title":"apple_xcframework​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_xcframework","content":"def apple_xcframework( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_tools: str = _, buck2_compatibility: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"apple_xcuitest​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#apple_xcuitest","content":"def apple_xcuitest( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _apple_xctoolchain: str = _, _apple_xctoolchain_bundle_id: str = _, _bundling_cache_buster: None | str = _, _bundling_log_file_enabled: bool = _, _bundling_log_file_level: None | str = _, _code_signing_configuration: None | str = _, _codesign_identities_command_override: None | str = _, _codesign_type: None | str = _, _compile_resources_locally_override: None | bool = _, _embed_provisioning_profile_when_adhoc_code_signing: None | bool = _, _enable_library_evolution: bool = _, _fast_adhoc_signing_enabled_default: bool = _, _fast_provisioning_profile_parsing_enabled: bool = _, _incremental_bundling_enabled: bool = _, _info_plist_identify_build_system_default: bool = _, _profile_bundling_enabled: bool = _, _provisioning_profiles: str = _, _resource_bundle: None | str = _, _strict_provisioning_profile_search_default: bool = _, _use_entitlements_when_adhoc_code_signing: None | bool = _, binary: None | str = _, buck2_compatibility: str = _, codesign_identity: None | str = _, codesign_type: None | str = _, embed_provisioning_profile_when_adhoc_code_signing: bool = _, enable_library_evolution: None | bool = _, entitlements_file: None | str = _, extension: str = _, fast_adhoc_signing_enabled: None | bool = _, incremental_bundling_enabled: bool = _, info_plist: str, info_plist_identify_build_system: None | bool = _, info_plist_substitutions: dict[str, str] = _, provisioning_profile_filter: None | str = _, strict_provisioning_profile_search: None | bool = _, target_sdk_version: None | str = _, test_bundle: str, use_entitlements_when_adhoc_code_signing: bool = _, validation_deps: list[str] = _, versioned_macos_bundle: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"cgo_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cgo_library","content":"def cgo_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _compile_shared: bool = _, _coverage_mode: None | str = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _go_stdlib: str = _, _go_toolchain: str = _, _race: bool = _, _tags: list[str] = _, allow_cache_upload: None | bool = _, buck2_compatibility: str = _, cgo_compiler_flags: list[str] = _, compiler_flags: list[str] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, embedcfg: None | str = _, executable_name: None | str = _, exported_deps: list[str] = _, fat_lto: bool = _, focused_list_target: None | str = _, frameworks: list[str] = _, go_assembler_flags: list[str] = _, go_compiler_flags: list[str] = _, go_srcs: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_style: None | str = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, package_name: None | str = _, package_root: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, raw_headers: list[str] = _, srcs: list[str | (str, list[str])] = _, thin_lto: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A cgo_library() rule builds an object from the supplied set of Go/C source files and dependencies. The outputs are linked into go executable in the last step (compile). Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneallow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).cgo_compiler_flags: The set of additional compiler flags to pass to go tool cgo.compiler_flags: Flags to use when compiling any of the above sources (which require compilation).go_assembler_flags: The set of additional assembler flags to pass to go tool asm.go_compiler_flags: The set of additional compiler flags to pass to go tool compile.go_srcs: The set of source files to be compiled by this rule. Go (.go) files are compiled with the Go compiler. In contrast to the srcs argument, these files cannot have import "C" declared.headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.package_name: Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b")package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target.srcs: The set of source files to be compiled by this rule. .go files will be compiled with the CGO compiler. Each file needs to have import "C" declared. Details​ The 'go build' command would collect the cgo directives from the source files, however with buck the flags needs to be passed in the cgo_library manually This rule borrows from cxx_binary() since C/C++ sources are being compiled. Examples: # A rule that builds a Go native executable with linked cgo library based on # C/C++ util library. go_binary( name = "bin", srcs = ["main.go"], deps = [":lib"] ) cgo_library( name = "lib", srcs = ["cgo_source.go"], deps = [":util"], ) cxx_library( name = "util", srcs = ["util.c"], headers = ["util.h"], ) "},{"title":"command_alias​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#command_alias","content":"def command_alias( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _target_os_type: str = _, args: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, env: dict[str, str] = _, exe: None | str = _, labels: list[str] = _, licenses: list[str] = _, platform_exe: dict[str, str] = _, resources: list[str] = _ ) -> None The command_alias rule enables you to wrap build rules that create binaries and to pre-apply command-line arguments and environment variables. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one args: A string of arguments that is passed to the executable specified by exe at startup. These arguments support a subset of Buck's string parameter macros . Only the $(location ...) and $(exe ...) macros are supported currently. env: A map of environment variables that will be passed to the executable represented by exe on startup. Environment variables support the same macros as arguments. exe: A build target for a rule that outputs an executable, such as an sh_binary(), or an executable source file. platform_exe: A mapping from platforms to build target. enables you to override exe per host platform. If present, exe will be used as a fallback on host platforms that are not specified in platform_exe. It is possible to omit exe when providing platform_exe. In that case, the build will fail if the command is invoked on a platform not specified in the mapping. Valid platforms are all values of the Platform enum : FREEBSDLINUXMACOSWINDOWS Details​ Example uses include running a command written in a scripting language with a specific interpreter, and transparently wrapping sub-commands of a binary. You can reference a command_alias target in the cmd parameter of a genrule() by using the exe macro: $(exe //path/to:target) Examples: # Combining an interpreter and a script cxx_binary( name = "node-js", srcs = [ # ... ], headers = [ # ... ], ) export_file( name = "scripts" ) command_alias( name = "server", exe = ":node-js", args = [ "$(location :scripts)/start-server.js", ], ) # Exposing sub commands export_file( name = "yarn", src = "yarn.sh", ) command_alias( name = "add", exe = ":yarn", args = ["add"], ) command_alias( name = "install", exe = ":yarn", args = ["install"], ) command_alias( name = "run", exe = ":yarn", args = ["run"], ) # Platform specific commands export_file( name = "node-windows", src = "windows/node.exe", ) export_file( name = "node-linux", src = "linux/node", ) export_file( name = "node-macos", src = "macos/node", ) command_alias( name = "node", platform_exe = { "windows": ":node-windows", "linux": ":node-linux", "macos": ":node-macos", }, ) "},{"title":"config_setting​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#config_setting","content":"def config_setting( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, constraint_values: list[str] = _, values: dict[str, str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"configuration_alias​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#configuration_alias","content":"def configuration_alias( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, actual: str, buck2_compatibility: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"configured_alias​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#configured_alias","content":"def configured_alias( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, actual: str, buck2_compatibility: str = _, configured_actual: None | (str, str) = _, contacts: list[str] = _, default_host_platform: None | str = _, fallback_actual: None | str = _, labels: list[str] = _, licenses: list[str] = _, platform: None | str = _, propagate_flavors: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"constraint_setting​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#constraint_setting","content":"def constraint_setting( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"constraint_value​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#constraint_value","content":"def constraint_value( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, constraint_setting: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"core_data_model​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#core_data_model","content":"def core_data_model( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, module: None | str = _, path: str ) -> None An core_data_model() rule contains models for Apple's Core Data framework. This rule does not have any output on its own and can be built only as a dependency (either direct or transitive) of an apple_bundle() rule in which case all core_data_model() rules that the bundle rule depends on are merged and placed into the final output bundle together. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one Details​ Examples: core_data_model( name = 'MyCoreDataModel', path = 'MyCoreDataModel.xcdatamodeld', ) "},{"title":"csharp_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#csharp_library","content":"def csharp_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _csharp_toolchain: str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, dll_name: str = _, framework_ver: str, labels: list[str] = _, licenses: list[str] = _, resources: dict[str, str] = _, srcs: list[str] = _ ) -> None A csharp_library() rule builds a .Net library from the supplied set of C# source files and dependencies by invoking csc. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_flags: The set of additional compiler flags to pass to the compiler.deps: The set of targets or system-provided assemblies to rely on. Any values that are targets must be either csharp_library or prebuilt_dotnet_library instances.dll_name: The output name of the dll. This allows you to specify the name of the dll exactly. When this is not set, the dll will be named after the short name of the target.framework_ver: The version of the .Net framework that this library targets. This is one of 'net35', 'net40', 'net45' and 'net46'.resources: Resources that should be embedded within the built DLL. The format is the name of the resource once mapped into the DLL as the key, and the value being the resource that should be merged. This allows non-unique keys to be identified quickly.srcs: The collection of source files to compile. Details​ Examples: For more examples, check out our integration tests. csharp_library( name = 'simple', dll_name = 'Cake.dll', framework_ver = 'net46', srcs = [ 'Hello.cs', ], resources = { 'greeting.txt': '//some:target', }, deps=[ ':other', 'System.dll', ], ) prebuilt_dotnet_library( name = 'other', assembly = 'other-1.0.dll', ) "},{"title":"cxx_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_binary","content":"def cxx_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, allow_cache_upload: None | bool = _, anonymous_link_groups: bool = _, auto_link_groups: bool = _, binary_linker_flags: list[str] = _, bolt_flags: list[str] = _, bolt_profile: None | str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, constraint_overrides: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, distributed_thinlto_partial_split_dwarf: bool = _, enable_distributed_thinlto: bool = _, executable_name: None | str = _, exported_needs_coverage_instrumentation: bool = _, fat_lto: bool = _, focused_list_target: None | str = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_deps: list[str] = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_group_public_deps_label: None | str = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, raw_headers: list[str] = _, resources: list[str] | dict[str, str] = _, srcs: list[str | (str, list[str])] = _, thin_lto: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A cxx_binary() rule builds a native executable from the supplied set of C/C++ source files and dependencies. If C/C++ library dependencies are listed, the generated native executable will request and link against their static archives (which are *not* built using PIC). Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). compiler_flags: Flags to use when compiling any of the above sources (which require compilation). deps_query: Status: experimental/unstable. The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps: attrfilterdepsexceptintersectfilterkindsetunion The macro $declared_deps may be used anywhere a target literal pattern is expected in order to refer to the explicit deps of this rule as they appear in the rule's definition. For example, if your build rule declares android_library( name = 'lib', deps = ['//foo:foo'], deps_query = '$declared_deps', ) then the macro $declared_deps would be expanded to a literal set(//foo:foo). Some example queries: "filter({name_regex}, $declared_deps)".format(name_regex='//.*') "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)" "deps('//foo:foo', 1)" Note: any targets included in this query must also be present in deps. header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information. include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package. link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable. link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information. platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information. platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation. platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information. platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target. srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). Details​ Examples: # A rule that builds a C/C++ native executable from a single .cpp file # its corresponding header, and a C/C++ library dependency. cxx_binary( name = 'echo', srcs = [ 'echo.cpp', ], headers = [ 'echo.h', ], deps = [ ':util', ], ) cxx_library( name = 'util', srcs = [ 'util.cpp', ], headers = [ 'util.h', ], ) # To build without stripping: buck build :echo # To build with stripping debug symbols only: buck build :echo#strip-debug "},{"title":"cxx_genrule​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_genrule","content":"def cxx_genrule( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _genrule_toolchain: str = _, always_print_stderr: bool = _, bash: None | str = _, buck2_compatibility: str = _, cacheable: None | bool = _, cmd: None | str = _, cmd_exe: None | str = _, contacts: list[str] = _, default_host_platform: None | str = _, default_outs: None | list[str] = _, enable_sandbox: None | bool = _, environment_expansion_separator: None | str = _, labels: list[str] = _, licenses: list[str] = _, metadata_env_var: None | str = _, metadata_path: None | str = _, need_android_tools: bool = _, no_outputs_cleanup: bool = _, out: None | str = _, outs: None | dict[str, list[str]] = _, remote: None | bool = _, remote_execution_dependencies: list[dict[str, str]] = _, srcs: list[str] | dict[str, str] = _, type: None | str = _, weight: None | int = _ ) -> None A cxx_genrule() enables you to run shell commands as part of the Buck build process. A cxx_genrule() exposes - through a set of string parameter macros and variables - information about the tools and configuration options used by the Buck environment, specifically those related to the C/C++ toolchain. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one bash: A platform-specific version of the shell command parameter cmd. It runs on Linux and UNIX systems—including OSX—on which bash is installed. It has a higher priority than cmd. The bash argument is run with /usr/bin/env bash -c. It has access to the same set of macros and variables as the cmd argument. cmd: The shell command to run to generate the output file. It is the fallback of bash and cmd_exe. The shell command can access information about the buck build environment through a set of macros, parameterized macros, and variables. Macros​ The following macros are available to the shell command and are accessed using the following syntax. $(<macro>) Example: $(cc) $(cc)Path to the C compiler. $(cxx)Path to the C++ compiler. $(cflags)Flags passed to the C compiler. $(cppflags)Flags passed to the C preprocessor. $(cxxflags)Flags passed to the C++ compiler. $(cxxppflags)Flags to pass to the C++ preprocessor. $(ld)Path to the linker. $(ldflags-pic)Flags passed to the linker for binaries that use position-independent code (PIC). $(ldflags-pic-filter <pattern>)Flags passed to the linker for binaries that use position-independent code (PIC). Use the pattern parameter to specify a regular expression that matches the build targets that use these flags. $(ldflags-shared)Flags passed to the linker for shared libraries, such as dynamic-link libraries (DLLs). $(ldflags-shared-filter <pattern>)Flags passed to the linker for shared libraries, such as dynamic-link libraries (DLLs). Use the pattern parameter to specify a regular expression that matches the build targets that use these flags. $(ldflags-static)Flags passed to the linker for statically-linked libraries. $(ldflags-static-filter <pattern>)Flags passed to the linker for statically-linked libraries. Use the pattern parameter to specify a regular expression that matches the build targets that use these flags. $(platform-name)The platform flavor with which this cxx_genrule was specified. Parameterized Macros​ It is also possible to expand references to other rules within the shell command, using the following subset of the builtin string parameter macros. Note that all build rules expanded in the command are automatically considered to be dependencies of the genrule(). Note that the paths returned by these macros are absolute paths. You should convert these paths to be relative paths before embedding them in, for example, a shell script or batch file. Using relative paths ensures that your builds are hermetic, that is, they are reproducible across different machine environments. Additionally, if you embed these paths in a shell script, you should execute that script using the sh_binary() rule and include the targets for these paths in the resources argument of that sh_binary rule. These are the same targets that you pass to the string parameter macros. $(exe //path/to:target)Expands to the commands necessary to run the executable generated by the specified build rule. For a C++ executable, this will typically just be the name of the output executable itself, such as main. If the specified build rule does not generate an executable output, an exception will be thrown and the build will fail. $(location //path/to:target)Expands to the path of the output of the build rule. This means that you can refer to these without needing to be aware of how Buck is storing data on the disk mid-build. Variables​ Finally, Buck adds the following variables to the environment in which the shell command runs. They are accessed using the following syntax. Note the use of braces rather than parentheses. ${<variable>} Example: ${SRCS} ${SRCS}A string expansion of the srcs argument delimited by the environment_expansion_separator argument where each element of srcs will be translated into an absolute path. ${SRCDIR}The absolute path to the to which sources are copied prior to running the command. ${OUT}The output file for the genrule(). The file specified by this variable must always be written by this command. If not, the execution of this rule will be considered a failure, halting the build process. ${TMP}A temporary directory which can be used for intermediate results and will not be bundled into the output. cmd_exe: A platform-specific version of the shell command parameter cmd. It runs on Windows and has a higher priority than cmd. The cmd_exe argument is run with cmd.exe /v:off /c. It has access to the same set of macros and variables as the cmd argument. enable_sandbox: Whether this target should be executed in a sandbox or not. environment_expansion_separator: The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces. out: The name of the output file or directory. The complete path to this argument is provided to the shell command through the OUT environment variable. srcs: Either a list or a map of the source files which Buck makes available to the shell command at the path in the SRCDIR environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names. type: Specifies the type of this genrule. This is used for logging and is particularly useful for grouping genrules that share an underlying logical "type". For example, if you have the following cxx_genrule defined in the root directory of your Buck project cxx_genrule( name = 'cxx_gen', type = 'epilog', cmd = 'touch finish.txt; cp finish.txt $OUT', out = 'finish.txt' ) then the following buck query command buck query "attrfilter( type, 'epilog', '//...' )" returns //:cxx_gen weight: How many local slots these genrule should take when executing locally. Details​ The information exposed through these tools and configuration options is a reflection of: Buck's built-in settings, the settings in .buckconfigand .buckconfig.local, and the result of various command-line overrides specified through the common_parameters command-line option. This information is available only to the shell commands specified in the cxx_genrule. The information is not available to other arguments of the rule. A cxx_genrule() can be an input to another cxx_genrule(). Note that if you specify the cxx_genrule as a command-line target to buck build, you must include a platform flavor. For example: buck build :cxx_gr_name#iphonesimulator-x86_64 You could also just specify the default platform flavor explicitly: buck build :cxx_gr_name#default "},{"title":"cxx_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_library","content":"def cxx_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, _is_building_android_binary: bool = _, allow_cache_upload: None | bool = _, auto_link_groups: bool = _, bridging_header: None | str = _, buck2_compatibility: str = _, can_be_asset: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, diagnostics: dict[str, str] = _, executable_name: None | str = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_needs_coverage_instrumentation: bool = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extra_xcode_files: list[str] = _, extra_xcode_sources: list[str] = _, fat_lto: bool = _, focused_list_target: None | str = _, force_static: None | bool = _, frameworks: list[str] = _, header_mode: None | str = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, include_in_android_merge_map_output: bool = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: None | bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, local_linker_flags: list[str] = _, module_name: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, preferred_linkage: str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, reexport_all_header_dependencies: None | bool = _, resources: list[str] | dict[str, str] = _, sdk_modules: list[str] = _, soname: None | str = _, srcs: list[str | (str, list[str])] = _, static_library_basename: None | str = _, supported_platforms_regex: None | str = _, supports_header_symlink_subtarget: bool = _, supports_merged_linking: None | bool = _, supports_python_dlopen: None | bool = _, supports_shlib_interfaces: bool = _, thin_lto: bool = _, use_archive: None | bool = _, used_by_wrap_script: bool = _, uses_cxx_explicit_modules: bool = _, uses_explicit_modules: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A cxx_library() rule specifies a set of C/C++ source files and also provides flags that specify how those files should be built. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). compiler_flags: Flags to use when compiling any of the above sources (which require compilation). exported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported. exported_header_style: How dependents should include exported headers from this rule. Can be either local (e.g. -I) or system (e.g. -isystem). exported_headers: The set of header files that are made available for inclusion to the source files in the target and all targets that transitively depend on it. These should be specified as either a list of header files or a dictionary of header names to header files. The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME>, where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. Note that the header name can contain forward slashes (/). See header_namespace for more information. exported_lang_platform_preprocessor_flags: Just as lang_platform_preprocessor_flags, but these flags also apply to rules that transitively depend on this rule. exported_lang_preprocessor_flags: Just as lang_preprocessor_flags, but these flags also apply to rules that transitively depend on this rule. exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation. exported_platform_deps: Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as exported_deps) that are exported if the platform matches the regex. See exported_deps for more information. exported_platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target and all targets that transitively depend on it if the platform matches the regex. See headers for more information. exported_platform_linker_flags: Platform-specific linker flags for this rule and for all rules that transitively depend on this rule. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation. exported_platform_preprocessor_flags: Platform specific exported preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the source files in the target and all targets that transitively depend on it if the platform matches the regex. See exported_preprocessor_flags for more information. exported_post_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation—with the additional feature that these flags are guaranteed to be placed after the compiled object (.o) files on the linker command line. exported_post_platform_linker_flags: Platform-specific linker flags for this rule and for all rules that transitively depend on this rule—and that are guaranteed to be placed after the compiled object (.o) files on the linker command line. In other respects, the syntax and semantics of this argument are the same as for the exported_platform_linker_flags argument. extra_xcode_files: When the project is generated, this is the list of files that will added to the project. Those files won't be added to the build phase "Compile Sources". header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information. include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package. lang_compiler_flags: Language-specific compiler flags. These should be specified as a map of C-family language short names to lists of flags and is used to target flags to sources files for a specific language in the C-family (C, C++, assembler, etc.). The keys in the map can be: cpp-output for C c++-cpp-output for C++ objective-c-cpp-output for Objective-C objective-c++-cpp-output for Objective-C++ cuda-cpp-output for Cuda assembler for Assembly * asm for ASM lang_platform_compiler_flags: Language- and platform-specific compiler flags. These should be specified as a map of C-family language short names, as described in lang_compiler_flags, to lists of pairs, as described in platform_compiler_flags. lang_platform_preprocessor_flags: Language- and platform-specific preprocessor flags. These should be specified as a map of C-family language short names, as described in lang_preprocessor_flags, to lists of pairs, as described in platform_preprocessor_flags. lang_preprocessor_flags: Language-specific preprocessor flags. These should be specified as a map of C-family language short names to lists of flags and is used to target flags to sources files for a specific language in the C-family (C, C++, assembler, etc.). The keys in the map can be: c for C c++ for C++ objective-c for Objective-C objective-c++ for Objective-C++ cuda for Cuda assembler-with-cpp for Assembly * asm-with-cpp for ASM link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. local_linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation driven by this rule (e.g. when this rule links a shared library, but not when the output is linked into a shared library by another rule's link group links). platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information. platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information. platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation. platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information. platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information. preferred_linkage: Determines what linkage is used when the library is depended on by another target. To control how the dependencies of this library are linked, use link_style instead. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). public_include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target and every target that depends on it (via -I). An include directory is relative to the current package. public_system_include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target and every target that depends on it (via -isystem if the compiler supports it of via -I otherwise). An include directory is relative to the current package. raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target. reexport_all_header_dependencies: Whether to automatically re-export the exported headers of all dependencies. When this is set to false, only exported headers fromexported_deps are re-exported. soname: Sets the soname ("shared object name") of any shared library produced from this rule. The default value is based on the full rule name. The macro $(ext) will be replaced with a platform-appropriate extension. An argument can be provided, which is a library version. For example soname = 'libfoo.$(ext 2.3)' will be libfoo.2.3.dylib on Mac and libfoo.so.2.3 on Linux. srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). supported_platforms_regex: If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms. used_by_wrap_script: When using an exopackage Android, if this parameter is set to True, then the library is included in the primary APK even if native libraries would otherwise not be placed in it. This is intended for native libraries that are used by a wrap.sh script, which must be placed in the primary APK. Only one of can_be_asset and used_by_wrap_script can be set for a rule. Details​ Building requires a specified top-level target​ Whether a Buck command builds the cxx_library is determined by the inclusion of a top-level target, such as a cxx_binary() or android_binary(), that transitively depends on the cxx_library. The set of targets specified to the Buck command (buck build, buck run, etc) must include one of these top-level targets in order for Buck to build the cxx_library. Note that you could specify the top-level target implicitly using a build target pattern or you could also specify the top-level target using a buckconfig alias defined in .buckconfig. How Buck builds the library also depends on the specified top-level target. For example, a C/C++ binary (cxx_binary) would require a static non-PIC build of the library, whereas an Android APK (android_binary) would require a shared PIC-enabled build. (PIC stands for position-independent code.) Dependencies of the cxx_library also require a top-level target​ Similarly, in order for Buck to build a target that the cxx_library depends on, such as a cxx_genrule(), you must specify in the Buck command a top-level target that depends on the cxx_library. For example, you could specify to build a cxx_binary that depends on the cxx_library. If you specify as your build target the cxx_library itself, the build targets that the cxx_library depends on might not be built. Examples: # A rule that includes a single .cpp file and its corresponding header and # also supplies an additional flag for compilation. cxx_library( name = 'fileutil', srcs = [ 'fileutil.cpp', ], exported_headers = [ 'fileutil.h', ], compiler_flags = [ '-fno-omit-frame-pointer', ], ) # A rule that defines explicit names for its headers cxx_library( name = 'mathutils', header_namespace = 'math', srcs = [ 'trig/src/cos.cpp', 'trig/src/tan.cpp', ], exported_headers = { # These are included as <math/trig/cos.h> and <math/trig/tan.h> 'trig/cos.h': 'trig/include/cos.h', 'trig/tan.h': 'trig/include/tan.h', }, compiler_flags = [ '-fno-omit-frame-pointer', ], ) # A rule that uses different headers and sources per platform cxx_library( name = 'vector', # Because of platform_headers, this file can include "config.h" # and get the architecture specific header srcs = ['vector.cpp'], platform_srcs = [ ('.*armv7$', 'armv7.S'), ('.*x86_64$', 'x86_64.S'), ], exported_headers = [ 'vector.h', ], platform_headers = [ ( '.*armv7$', { 'config.h': 'config-armv7.h', } ), ( '.*x86_64$', { 'config.h': 'config-x86_64.h', } ), ], ) "},{"title":"cxx_lua_extension​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_lua_extension","content":"def cxx_lua_extension( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, base_module: None | str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, executable_name: None | str = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, raw_headers: list[str] = _, srcs: list[str | (str, list[str])] = _, version_universe: None | str = _ ) -> None A cxx_lua_extension() rule is a variant of a C/C++ library which is built as a Lua module. As such, it has a module name formed by the base_module parameter and the rule name and implicitly depends on Lua C library (configured via the .buckconfig parameter. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebase_module: The package for which the given specified sources and resources should reside in their final location in the top-level binary. If unset, the project relative directory that houses the BUCK file is used.compiler_flags: Flags to use when compiling any of the above sources (which require compilation).header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). Details​ Examples: # A rule that builds a Lua extension from a single .cpp file. cxx_lua_extension( name = 'mymodule', base_module = 'foo.bar', srcs = [ 'mymodule.cpp', ], compiler_flags = [ '-fno-omit-frame-pointer', ], ) # A library rule which has a single source importing the above extension. lua_library( name = 'utils', srcs = [ 'utils.lua', ], deps = [ ':mymodule', ], ) -- The `utils.lua` source, wrapped by the `utils` rule above. -- Import the C/C++ extension build above. require "foo.bar.mymodule" ... "},{"title":"cxx_precompiled_header​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_precompiled_header","content":"def cxx_precompiled_header( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, src: str, version_universe: None | str = _ ) -> None A cxx_precompiled_header rule specifies a single header file that can be precompiled and made available for use in other build rules such as a cxx_library() or a cxx_binary(). Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: Dependency rules which export headers used by the header specified in src.src: The path to the header file that should be precompiled. Only one header file can be specified. But of course this header could include any number of other headers. The included headers could belong to -- that is, be exported_headers from -- another rule, in which case, the rule would have to be added to deps as usual. Details​ This header file is precompiled by the preprocessor on behalf of the C, C++, Objective-C, or Objective-C++ rule using it, via its precompiled_header parameter. Afterwards the precompiled header is applied during the rule's own compilation (often with an appreciable reduction in build time, the main benefit of PCH). This PCH is built once per combination of build flags which might affect the PCH's compatibility. For example, a distinct pre-compilation of the header occurs per combination of flags related to optimization, debug, architecture, and so on, used by rules which employ PCH. The flags used during the build of the dependent rule (that is, the "PCH-using rule") are in effect while building the PCH itself. Similarly, to the same end, the include paths used when building the PCH are applied to the dependent rule. For example, deps in the PCH rule are propagated back to the dependent rule, and the PCH's header search paths (e.g. -I or -isystem options) are prefixed onto the list of include paths for the dependent rule. Examples: The best way to see how the cxx_precompiled_header() rule works is with an example. Let there be a header called common.h which has the following: #pragma once /* Include common C++ files. */ #include <string> #include <map> #include <set> #include <type_traits> #include <vector> /* Some frequently-used headers from the Folly project. */ #include <folly/Conv.h> #include <folly/Executor.h> #include <folly/io/async/EventBase.h> cxx_precompiled_header( name = 'common_pch', src = 'common.h', deps = [ # Needed for standard C++ headers: '//external/libcxx:headers', # Needed for the Folly includes: '//folly:folly', '//folly/io/async:async', ], ) cxx_binary( name = 'main', srcs = ['main.cpp'], precompiled_header = ':common_pch', deps = [ ... ], compiler_flags = ['-g', '-O2', '-fPIC'], ) The cxx_precompiled_header rule declares a precompiled header "template" containing the header file path, and dependencies. In this example we indicate that common.h is to be precompiled when used by another build rule. Note that, by itself, this cxx_precompiled_header rule will not result in anything being built. The usage of this rule from another rule -- an "instantiation" of this precompiled header template -- is what will trigger the PCH build. In the example above, the build for the binary named "main" will depend on the header being precompiled in a separate step, prior to compiling main.cpp, and the resulting PCH will be used in main's compilation. The dependencies specified in this precompiled header rule's deps are transitive; they will propagate to rules using this PCH, so that during link time, any libraries which are required by the code made available in the header will be included in the final binary build. The precompiled header dynamically created from the "template" will be built with flags which would be used in the dependent rule. In this case, main's use of specific compiler flags -g -O2 -fPIC will result in the production of a precompiled header with the same flags. This is so the precompiled code fully jives with rules using the PCH, i.e. they will have the same debug, optimization, CPU, etc. options. (The compiler is usually smart enough to reject a bad PCH, fortunately. But we want to ensure we take the appropriate steps to ensure we always have a PCH which works with any build that uses it.) Another effect of a rule using a precompiled header is that the rule's list of build flags will change; not just to employ PCH with e.g. -include-pch (if using Clang), but also, to alter the sequence of header search paths. The rule using the precompiled header will "inherit" the lists of paths used during the PCH build, applying them first in its own search paths. This is to ensure that an #include directive will resolve in exactly the same way in this build as it would have in the PCH, to ensure full compatibility between the PCH and other rule's builds. For example, if the PCH were to use one version of stdcxx and another rule use a different version, the version differences won't clash, thereby avoiding different versions of the <cstring> header used between the precompiled header and the dependent rule, and preventing confused structure definitions, ABI incompatibility, and so on (catastrophe, in other words). "},{"title":"cxx_python_extension​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_python_extension","content":"def cxx_python_extension( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, _python_toolchain: str = _, _target_os_type: str = _, allow_cache_upload: None | bool = _, allow_embedding: bool = _, allow_suffixing: bool = _, auto_link_groups: bool = _, base_module: None | str = _, bridging_header: None | str = _, buck2_compatibility: str = _, can_be_asset: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, devirt_enabled: bool = _, diagnostics: dict[str, str] = _, executable_name: None | str = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_needs_coverage_instrumentation: bool = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extra_xcode_files: list[str] = _, extra_xcode_sources: list[str] = _, fat_lto: bool = _, focused_list_target: None | str = _, force_static: None | bool = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, include_in_android_merge_map_output: bool = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, local_linker_flags: list[str] = _, module_name: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, preferred_linkage: str = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, reexport_all_header_dependencies: None | bool = _, resources: list[str] | dict[str, str] = _, sdk_modules: list[str] = _, soname: None | str = _, srcs: list[str | (str, list[str])] = _, static_library_basename: None | str = _, suffix_all: bool = _, support_shlib_interfaces: bool = _, supported_platforms_regex: None | str = _, supports_merged_linking: None | bool = _, thin_lto: bool = _, type_stub: None | str = _, use_archive: None | bool = _, used_by_wrap_script: bool = _, uses_cxx_explicit_modules: bool = _, uses_explicit_modules: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A cxx_python_extension() rule is a variant of a C/C++ library which is built as a Python module. As such, it has a module name formed by the base_module parameter and the rule name. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebase_module: The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file.compiler_flags: Flags to use when compiling any of the above sources (which require compilation).deps: Other rules that list srcs from which this rule imports.header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. Note: since shared libraries re-export its dependencies, depending on multiple shared libraries which themselves have overlapping static dependencies may cause problems if they init using global state.linker_extra_outputs: Declares extra outputs that the linker emits. These identifiers can be used in $(output ...) macros in linker_flags to interpolate the output path into the linker command line. Useful for custom linkers that emit extra output files.linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.local_linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation driven by this rule (e.g. when this rule links a shared library, but not when the output is linked into a shared library by another rule's link group links).platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.platform_preprocessor_flags: Platform specific preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the target's sources. See preprocessor_flags for more information.platform_srcs: Platform specific source files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of source files or a list of tuples of source files and a list of compilation flags to be preprocessed, compiled and assembled if the platform matches the regex. See srcs for more information.preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing).srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). Details​ Examples: # A rule that builds a Python extension from a single .cpp file. cxx_python_extension( name = 'mymodule', base_module = 'foo.bar', srcs = [ 'mymodule.cpp', ], ) # A library rule which has a single source importing the above extension. python_library( name = 'utils', srcs = [ 'utils.py', ], deps = [ ':mymodule', ], ) ## The `utils.py` source, wrapped by the `utils` rule above. ## Import the C/C++ extension build above. from foo.bar import mymodule ... "},{"title":"cxx_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_test","content":"def cxx_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, _inject_test_env: str = _, _remote_test_execution_toolchain: str = _, additional_coverage_targets: list[str] = _, allow_cache_upload: None | bool = _, anonymous_link_groups: bool = _, args: list[str] = _, auto_link_groups: bool = _, binary_linker_flags: list[str] = _, bolt_flags: list[str] = _, bolt_profile: None | str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, constraint_overrides: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, distributed_thinlto_partial_split_dwarf: bool = _, enable_distributed_thinlto: bool = _, env: dict[str, str] = _, executable_name: None | str = _, exported_needs_coverage_instrumentation: bool = _, fat_lto: bool = _, focused_list_target: None | str = _, framework: None | str = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_deps: list[str] = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_group_public_deps_label: None | str = _, link_ordering: None | str = _, link_style: None | str = _, link_whole: bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, raw_headers: list[str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, resources: list[str] | dict[str, str] = _, run_test_separately: None | bool = _, srcs: list[str | (str, list[str])] = _, test_rule_timeout_ms: None | int = _, thin_lto: bool = _, use_default_test_main: None | bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A cxx_test() rule builds a C/C++ binary against a C/C++ testing framework and runs it as part of test. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). args: A list of additional arguments to pass to the test when it's run. It is also possible to expand references to other rules within these arguments, using builtin string parameter macros: $(location //path/to:target)Expands to the location of the output of the build rule. This means that you can refer to these without needing to be aware of how Buck is storing data on the disk mid-build. compiler_flags: Flags to use when compiling any of the above sources (which require compilation). deps_query: Status: experimental/unstable. The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps: attrfilterdepsexceptintersectfilterkindsetunion The macro $declared_deps may be used anywhere a target literal pattern is expected in order to refer to the explicit deps of this rule as they appear in the rule's definition. For example, if your build rule declares android_library( name = 'lib', deps = ['//foo:foo'], deps_query = '$declared_deps', ) then the macro $declared_deps would be expanded to a literal set(//foo:foo). Some example queries: "filter({name_regex}, $declared_deps)".format(name_regex='//.*') "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)" "deps('//foo:foo', 1)" Note: any targets included in this query must also be present in deps. env: A map of environment names and values to set when running the test. It is also possible to expand references to other rules within the values of these environment variables, using builtin string parameter macros: $(location //path/to:target)Expands to the location of the output of the build rule. This means that you can refer to these without needing to be aware of how Buck is storing data on the disk mid-build. framework: Unused. headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information. include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package. link_execution_preference: The execution preference for linking. Options are: any : No preference is set, and the link action will be performed based on buck2's executor configuration.full_hybrid : The link action will execute both locally and remotely, regardless of buck2's executor configuration (if the executor is capable of hybrid execution). The use_limited_hybrid setting of the hybrid executor is ignored.local : The link action will execute locally if compatible on current host platform.local_only : The link action will execute locally, and error if the current platform is not compatible.remote : The link action will execute remotely if a compatible remote platform exists, otherwise locally. The default is None, expressing that no preference has been set on the target itself. link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable. link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library. preprocessor_flags: Flags to use when preprocessing any of the above sources (which require preprocessing). raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target. srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . Details​ Examples: # A rule that builds and runs C/C++ test using gtest. cxx_test( name = 'echo_test', srcs = [ 'echo_test.cpp', ], ) "},{"title":"cxx_toolchain​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#cxx_toolchain","content":"def cxx_toolchain( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _dep_files_processor: str = _, _dumpbin_toolchain_path: None | str = _, _mk_comp_db: str = _, _mk_hmap: str = _, _msvc_hermetic_exec: str = _, _remap_cwd_tool: str = _, archive_contents: str = _, archiver: str, archiver_flags: list[str] = _, archiver_supports_argfiles: bool = _, archiver_type: str, asm_compiler: None | str = _, asm_compiler_flags: list[str] = _, asm_compiler_type: None | str = _, asm_preprocessor: None | str = _, asm_preprocessor_flags: list[str] = _, asm_preprocessor_type: None | str = _, assembler: str, assembler_flags: list[str] = _, assembler_preprocessor: None | str = _, assembler_preprocessor_flags: list[str] = _, assembler_preprocessor_type: None | str = _, assembler_type: None | str = _, binary_extension: None | str = _, bolt_enabled: bool = _, buck2_compatibility: str = _, c_compiler: str, c_compiler_allow_cache_upload: None | bool = _, c_compiler_flags: list[str] = _, c_compiler_type: None | str = _, c_preprocessor_flags: list[str] = _, cache_links: bool = _, clang_remarks: None | str = _, clang_trace: None | bool = _, compiler_type: None | str = _, conflicting_header_basename_exemptions: list[str] = _, contacts: list[str] = _, cpp_dep_tracking_mode: str = _, cuda_compiler: None | str = _, cuda_compiler_flags: list[str] = _, cuda_compiler_type: None | str = _, cuda_dep_tracking_mode: str = _, cuda_preprocessor_flags: list[str] = _, cvtres_compiler: None | str = _, cvtres_compiler_flags: list[str] = _, cvtres_compiler_type: None | str = _, cvtres_preprocessor_flags: list[str] = _, cxx_compiler: str, cxx_compiler_allow_cache_upload: None | bool = _, cxx_compiler_flags: list[str] = _, cxx_compiler_type: None | str = _, cxx_preprocessor_flags: list[str] = _, debug_path_prefix_map_sanitizer_format: None | str = _, default_host_platform: None | str = _, detailed_untracked_header_messages: bool = _, dist_lto_tools: str = _, dist_thin_lto_codegen_flags: list[str] = _, filepath_length_limited: bool = _, gcno_files: bool = _, generate_linker_maps: bool = _, headers_as_raw_headers_mode: None | str = _, headers_whitelist: list[str] = _, hip_compiler: None | str = _, hip_compiler_flags: list[str] = _, hip_compiler_type: None | str = _, hip_preprocessor_flags: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_ordering: str = _, link_path_normalization_args_enabled: bool = _, link_style: str = _, link_weight: int = _, linker: str, linker_flags: list[str] = _, linker_type: str, llvm_link: None | str = _, lto_mode: str = _, min_sdk_version: None | str = _, nm: str, objcopy_for_shared_library_interface: str, objcopy_recalculates_layout: bool = _, objdump: None | str = _, object_file_extension: str = _, object_format: str = _, pic_behavior: str = _, pic_type_for_shared_linking: str = _, placeholder_tool: None | str = _, platform_name: None | str = _, post_linker_flags: list[str] = _, private_headers_symlinks_enabled: bool = _, public_headers_symlinks_enabled: bool = _, ranlib: None | str = _, ranlib_flags: list[str] = _, rc_compiler: None | str = _, rc_compiler_flags: list[str] = _, rc_compiler_type: None | str = _, rc_preprocessor_flags: list[str] = _, remap_cwd: bool = _, requires_archives: bool = _, requires_objects: bool = _, sanitizer_runtime_enabled: bool = _, sanitizer_runtime_files: list[str] = _, shared_dep_runtime_ld_flags: list[str] = _, shared_library_extension: str = _, shared_library_interface_flags: list[str] = _, shared_library_interface_mode: str = _, shared_library_interface_producer: None | str = _, shared_library_interface_type: str, shared_library_versioned_extension_format: str = _, split_debug_mode: str = _, static_dep_runtime_ld_flags: list[str] = _, static_library_extension: str = _, static_pic_dep_runtime_ld_flags: list[str] = _, strip: str, strip_all_flags: None | list[str] = _, strip_debug_flags: None | list[str] = _, strip_non_global_flags: None | list[str] = _, supports_distributed_thinlto: bool = _, target_sdk_version: None | str = _, use_archiver_flags: bool = _, use_arg_file: bool = _, use_dep_files: None | bool = _, use_header_map: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onec_compiler_allow_cache_upload: Whether to allow uploading of object files to cache when the compile action is executed locally and the configuration allows uploads (i.e., there is a cache configured and the client has permission to write to it).cxx_compiler_allow_cache_upload: Whether to allow uploading of object files to cache when the compile action is executed locally and the configuration allows uploads (i.e., there is a cache configured and the client has permission to write to it).link_style: The default value of the link_style attribute for rules that use this toolchain. "},{"title":"d_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#d_binary","content":"def d_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, srcs: list[str] | dict[str, str] = _ ) -> None A d_binary() rule builds a native executable from the supplied set of D source files and dependencies. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: The set of dependencies of this rule. Each element should be a string specifying a d_library rule defined elsewhere (e.g. ':foo' or '//foo:bar').linker_flags: The list of flags to be passed to the linker. Each element should be a string specifying a linker flag (e.g. '--as-needed').srcs: The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. 'foo/bar.d'). Details​ Examples: # A rule that builds a D native executable from a single .d file # and a library dependency. d_binary( name='greet', srcs=[ 'greet.d', ], deps=[ ':greeting', ], ) d_library( name='greeting', srcs=[ 'greeting.d', ], deps=[ ':join', ], ) d_library( name='join', srcs=[ 'join.d', ], ) "},{"title":"d_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#d_library","content":"def d_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, srcs: list[str] | dict[str, str] = _ ) -> None A d_library() rule represents a set of D source files. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: The set of dependencies of this rule. Each element should be a string specifying a d_library rule defined elsewhere (e.g. ':foo' or '//foo:bar').srcs: The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. 'foo/bar.d'). Details​ Examples: # A simple library with a single source file and a single dependency. d_library( name='greeting', srcs=[ 'greeting.d', ], deps=[ ':join', ], ) d_library( name='join', srcs=[ 'join.d', ], ) "},{"title":"d_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#d_test","content":"def d_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, srcs: list[str] | dict[str, str] = _, test_rule_timeout_ms: None | int = _ ) -> None A d_test() rule is used to define a set of D source files that contain tests to run via D's unittest support. The source code of the test must provide a main() function. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: The set of dependencies of this rule. Each element should be a string specifying a d_library rule defined elsewhere (e.g. ':foo' or '//foo:bar').labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific d_test() rule when executing buck testsrcs: The set of D source files to be compiled by this rule. Each element should be a string specifying a source file (e.g. 'foo/bar.d').test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . Details​ Examples: # A rule that builds and runs D test with a single source file. d_test( name = 'test', srcs = [ 'test.d', ], ) "},{"title":"erlang_app​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_app","content":"def erlang_app( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _toolchain: str = _, app_src: None | str = _, applications: list[str] = _, buck2_compatibility: str = _, build_edoc_chunks: bool = _, contacts: list[str] = _, env: None | dict[str, str] = _, erl_opts: None | list[str] = _, extra_includes: list[str] = _, extra_properties: None | dict[str, str | list[str]] = _, include_src: bool = _, included_applications: list[str] = _, includes: list[str] = _, labels: list[str] = _, mod: None | (str, list[str]) = _, os_env: None | dict[str, str] = _, peek_private_includes: bool = _, resources: list[str] = _, shell_configs: list[str] = _, shell_libs: list[str] = _, srcs: list[str] = _, use_global_parse_transforms: bool = _, version: str = _, xrl_includefile: None | str = _, yrl_includefile: None | str = _ ) -> None This rule is the main rule for Erlang applications. It gets generated by using the erlang_application macro, that takes as attributes the same attributes as this rule. You should always use the erlang_application macro instead of using this rule directly. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one app_src: The app_src field allows to optionally reference a *.app.src template file. This template file will then be used by buck2 to generate the *.app output file in the applications ebin/ directory. This is useful during the migration from rebar3 to buck2 to avoid duplicated entries, of e.g. the version. Buck2 will use or check all fields present in the template, and fill out the fields with the information provided in the target, e.g. if the version is specified in both, buck2 will check that they are identical. Otherwise, it uses the information from the template if the target doesn't specify it, and vice versa. NOTE: If you use the app_src field and the references application resource file template specifies applicationsor included_applications buck2 checks that the target definitions and information in the template are equivalent to prevent these definitions from drifting apart during migration. applications: Equivalent to the corresponding applications and included_applications fields you will find in *.app.src or *.app files and specify the application dependencies. Contrary to the fields in the *.app.src or *.app files, it is necessary to use target paths to the application where a dependency is desired. These fields will be used to construct equally named fields in the generated *.app file for the application. OTP applications are specified with the target path prelude//erlang/applications:<application>. NOTE: If you use the app_src field and the references application resource file template specifiesapplications or included_applications buck2 checks that the target definitions and information in the template are equivalent to prevent these definitions from drifting apart during migration. build_edoc_chunks: This attribute controls if the output of the builds also create edoc chunks. env: The env field allows to set the application env variables. The key value pairs will materialise in the application's .app file and can then be accessed by application:get_env/2. erl_opts: Typically compile options are managed by global config files, however, sometimes it is desirable to overwrite the pre-defined compile options. The erl_opts field allows developers to do so for individual applications. The main use-case are the applications listed in third-party/. This option should not be used by other applications without consultation. Please ask in the WhatsApp Dev Infra Q&Aworkplace group for support. extra_includes: In some cases we might have the situation, where an application app_a depends through the applications and included_applications fields on application app_b and a source file in app_b includes a header file from app_a (e.g. -include_lib("app_a/include/header.hrl). This technically creates circular dependency from app_a to app_b (e.g. via applications field) and back from app_b to app_a (via -include_lib). To break the dependency developers can specify targets in the extra_includes field, whose public include files are accessible to the application target during build time. Only the includes of the specified application are available and eventual transitive dependencies need to be managed manually. NOTE: It is not possible (or even desired) to add OTP applications with this field. NOTE: This mechanism is added to circumvent unclean dependency relationships and the goal for developers should be to reduce usages of this field. DO NOT ADD ANY MORE USAGES!! extra_properties: The extra_properties field can be used to specify extra key-value pairs which is are not defined in application_opt(). The key-value pair will be stored in the applications .app file and can be accessed by file:consult/1. include_src: This field controls if the generated application directory contains a src/ directory with the Erlang code or not. included_applications: Check the documentation for applications. includes: The public header files accessible via -include_lib("appname/include/header.hrl") from other erlang files. mod: The mod field specifies the equivalent field in the generated *.app files. The format is similar, with the difference, that the module name, and the individual start arguments need to be given as the string representation of the corresponding Erlang terms. os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain. peek_private_includes: This attribute allows you to use the private includes of the application's dependencies. This can be useful for test applications, to create shared abstractions for tests. It's not advisable to use this attribute for prodution code. All private includes transitively must be non-ambiguous. resources: The resources field specifies targets whose default output are placed in the applications priv/ directory. For regular files this field is typically combined with export_file, filegroup, or similar targets. However, it is general, and any target can be used, e.g. if you want to place a built escript in the priv/ directory, you can use an erlang_escript target. shell_configs: This attribute allows to set config files for the shell. The dependencies that are typically used here are export_file targets. shell_libs: This attribute allows to define additional dependencies for the shell. By default this is set to ["prelude//erlang/shell:buck2_shell_utils"] which includes a user_default module that loads and compiles modules with buck2 mechanisms. srcs: A list of *.erl, *.hrl, *.xrl, or *.yrl source inputs that are typically located in an application's src/ folder. Header files (i.e. *.hrl files) specified in this field are considered application private headers, and can only be accessed by the *.erl files of the application itself. *.xrl and *.yrl files are processed into *.erl files before all *.erl files are compiled into *.beam files. use_global_parse_transforms: This field indicates if global parse_tranforms should be applied to this application as well. It often makes sense for third-party dependencies to not be subjected to global parse_transforms, similar to OTP applications. version: The version field specifies the applications version that is materialized as vsn field in the generated *.app file. If you use the the app_src field and specify a version in the referenced template in addition to the version field, the versions need to be identical. If no version is specified in either the app_src template or the version field, a fallback version string of"1.0.0" is used. xrl_includefile: Customised prologue file to replace the default. See includefile option for details. yrl_includefile: Customised prologue file to replace the default. See includefile option for details. Details​ Erlang Applications are the basic building block of our buck2 integration and used by many other Erlang targets, e.g. erlang_escript, erlang_test, or erlang_release. The erlang_application targets build OTP applications and as such many attributes that are used have equivalent meaning to the fields in the currently (by rebar3) used *.app.src files and OTP *.appfiles. Please familiarize yourself with the semantics of these fields by consulting theOTP documentation. The target enforces uniqueness during builds, and fails to build if duplicated artifacts in the global namespaces are detected: duplicated application names in the dependenciesduplicated module names across any of the applications or dependencies modulesambiguity when resolving header files The default output of this rule is the application folder of the target application and all transitive dependencies. Examples: Minimal Erlang Application​ erlang_application( name = "minimal", ) With priv/ directory​ erlang_application( name = "app_a", srcs = [ "src/app_a.erl", ], includes = [], applications = [ ":app_b", ], app_src = "src/app_a.app.src", resources = [ ":readme", ], ) export_file( name = "readme", src = "README.md", ) Using OTP applications and mod field​ erlang_application( name = "app_b", srcs = [ "src/app_b.erl", "src/app_b.hrl", ], includes = [], applications = [ "kernel", "stdlib", ":app_c", ], mod = ("app_b", [ "some_atom", ""some string"", "{tagged_tuple, 42}", ]), ) Using Yecc and Leex​ erlang_application( name = "yecc_leex", srcs = [ "src/leex_stub.xrl", "src/yecc_stub.yrl", ], ) "},{"title":"erlang_app_includes​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_app_includes","content":"def erlang_app_includes( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _toolchain: str = _, application_name: str, buck2_compatibility: str = _, contacts: list[str] = _, includes: list[str] = _, labels: list[str] = _, os_env: None | dict[str, str] = _ ) -> None This rule is a supplementary rule for Erlang applications. It gets generated by using the erlang_application macro, that takes as attributes the same attributes as this rule. You should always use the erlang_application macro instead of using this rule directly. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneos_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain. "},{"title":"erlang_escript​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_escript","content":"def erlang_escript( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _toolchain: str = _, buck2_compatibility: str = _, bundled: bool = _, configs: list[str] = _, contacts: list[str] = _, deps: list[str], emu_args: list[str] = _, include_priv: bool = _, labels: list[str] = _, main_module: None | str = _, os_env: None | dict[str, str] = _, resources: list[str] = _, script_name: None | str = _ ) -> None The erlang_escript target builds and runs bundled escripts. Please refer to the OTP documentation for more details about escripts. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one bundled: Setting bundled to True does generate a folder structure and escript trampoline instead of an archive. configs: This attribute allows to set config files for the escript. The dependencies that are typically used here are export_file targets. deps: List of Erlang applications that are bundled in the escript. This includes all transitive dependencies as well. emu_args: This field specifies the emulator flags that the escript uses on execution. It is often desirable to specify the number of threads and schedulers the escript uses. Please refer to the OTP documentation for details. include_priv: Setting this flag, will package the applications priv directory in the escript. Similar to files added through the resources field, the priv folders files can then be accessed by escript"extract/2. main_module: Overrides the default main module. Instead of deferring the main module from the scripts filename, the specified module is used. That module needs to export a main/1 function that is called as entry point. os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain. resources: This adds the targets default output to the escript archive. To access these files, you need to use escript:extract/2, which will extract the entire escript in memory. The relevant files can then be accessed through the archive section. Please refer to the escript:extract/2 for more details. script_name: Overrides the filename of the produced escript. Details​ Escripts by default always try to use the module that has the same name as the escripts basename as entry point, e.g. if the escript is called script.escript then running the escript will try to call script:main/1. Both name and main module can be overwritten though. The target name doubles as the default escript name. If the main_module attribute is not used, the escript filename will be <name>.escript. Examples: erlang_escript( name = "script", main_module = "main_module", script_name = "the_script", deps = [ ":escript_app", ], emu_args = ["+sbtu", "+A1"], ) erlang_application( name = "escript_app", srcs = ["src/main_module.erl"], applications = [ "kernel", "stdlib", ], ) "},{"title":"erlang_otp_binaries​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_otp_binaries","content":"def erlang_otp_binaries( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, erl: str, erlc: str, escript: str, labels: list[str] = _, os_env: None | dict[str, str] = _ ) -> None This target defines the executables for the Erlang toolchains, and is required to defined a toolchain. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneerl: Reference to erl binaryerlc: Reference to erlc binaryescript: Reference to escript binaryos_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain. Details​ Examples: erlang_otp_binaries( name = "local", erl = "local/erl", erlc = "local/erlc", escript = "local/escript", ) "},{"title":"erlang_release​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_release","content":"def erlang_release( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _toolchain: str = _, applications: list[str | (str, str)], buck2_compatibility: str = _, contacts: list[str] = _, include_erts: bool = _, labels: list[str] = _, multi_toolchain: None | list[str] = _, os_env: None | dict[str, str] = _, overlays: dict[str, list[str]] = _, release_name: None | str = _, version: str = _ ) -> None The erlang_release target builds OTP releases. Please refer to the OTP documentation for more details about releases. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneapplications: This field specifies the list of applications that the release should start in the given order, and optionally the start type. Top-level applications without given start type are started with type permanent.include_erts: This field controls whether OTP applications and the Erlang runtime system should be included as part of the release. Please note, that at the moment the erts folder is just erts/.multi_toolchain: This field controls whether the release should be built with a single toolchain, or multiple toolchains. In the latter case, all output paths are prefixed with the toolchain name.os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain.overlays: Overlays can be used to add files to the release. They are specified as mapping from path (from the release root) to list of targets. The targets files are places flat at the target location with their basename.release_name: The release name can explicitly be set by this field. This overwrites the default from the target name.version: The version field specifies the release version. The release version is used in the release resource file, and is part of the path for the folder containing the boot scripts. Details​ The erlang_release target does by default (without overlays) package: applications that are required to start the releaserelease resource file <relname>.rel (see rel(4))boot script start.script (see rel(4))binary boot script start.bootbin/release_variables The release_variables file contains release name, version, and erts version in shell syntax, e.g. ERTS_VSN="12.1.2" REL_NAME="rel1" REL_VSN="1.0.0" The target name doubles as the default release name. If the release_name attribute is used, the release name will be sources from there instead. Examples: erlang_release( name = "world", version = "1.0.0", applications = [ "//apps//app_a:app_a", "//apps//app_b:app_b", ], overlays = { "releases/1.0.0": [ ":sys.config.src", ], "bin": [ ":start.sh", ], }, ) export_file( name = "sys.config.src", src = "sys.config", ) export_file( name = "start.sh", src = "start.sh", ) "},{"title":"erlang_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#erlang_test","content":"def erlang_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _artifact_annotation_mfa: str = _, _cli_lib: str = _, _ct_opts: str = _, _providers: str = _, _test_binary: str = _, _test_binary_lib: str = _, _toolchain: str = _, _trampoline: None | str = _, _trampolines: None | list[str] = _, buck2_compatibility: str = _, common_app_env: dict[str, str] = _, config_files: list[str] = _, contacts: list[str] = _, deps: list[str] = _, env: dict[str, str] = _, extra_ct_hooks: list[str] = _, extra_erl_flags: list[str] = _, labels: list[str] = _, os_env: None | dict[str, str] = _, preamble: str = _, property_tests: list[str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, resources: list[str] = _, shell_configs: list[str] = _, shell_libs: list[str] = _, suite: str ) -> None The erlang_test ruls defines a test target for a single test suite. In most cases you want to define multiple suites in one go. The erlang_tests macro allows users to generate erlang_test targets for multiple test suites. Each suite <name>_SUITE.erl will have a generated hidden erlang_test target whose name is <name>_SUITE. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one _trampoline: DEPRECATED. Use _trampolines instead. common_app_env: Application environment variables for the common application. config_files: Will specify what config files the erlang beam machine running test with should load, for reference look at OTP documentation. These ones should consist of default_output of some targets. In general, this field is filled with target coming from then export_file rule, as in the example below. deps: The set of dependencies needed for all suites included in the target to compile and run. They could be either erlang_app(lication) or erlang_test targets, although the latter is discouraged. If some suites need to access common methods, a common helper file should be created and included in the srcs field of the erlang_tests target. If some applications are included as dependencies of this target, their private include will automatically be pulled and made available for the test. That allows tests to access the private header files from the applications under test. env: Add the given values to the environment variables with which the test is executed. extra_ct_hooks: List of additional Common Test hooks. The strings are interpreted as Erlang terms. extra_erl_flags: List of additional command line arguments given to the erl command invocation. These arguments are added to the front of the argument list. os_env: This attribute allows to set additional values for the operating system environment for invocations to the Erlang toolchain. resources: The resources field specifies targets whose default output are placed in the test data_dir directory for all the suites present in the macro target. Additionally, if data directory are present in the directory along the suite, this one will be pulled automatically for the relevant suite. Any target can be used, e.g. if you want to place a built escript in the data_dir directory, you can use an erlang_escript target. shell_configs: This attribute allows to set config files for the shell. The dependencies that are typically used here are export_file targets. shell_libs: This attribute allows to define additional dependencies for the shell. By default this is set to ["prelude//erlang/shell:buck2_shell_utils"] which includes a user_default module that loads and compiles modules with buck2 mechanisms. suite: The source file for the test suite. If you are using the macro, you should use the suites attribute instead. The suites attribute specifies which erlang_test targets should be generated. For each suite "path_to_suite/suite_SUITE.erl" an implicit 'erlang_test' target suite_SUITE will be generated. Details​ Each erlang_test target implements tests using the Common Test libraryOTP documentation. They can, although it is not recommended, also act as dependencies of other tests. The default output of this rule is a "test_folder", consisting of the compiled test suite and the data directory. For each suite <name>_SUITE.erl, if a data_dir <name>_SUITE_data is present along the suite, (as per the data_dir naming scheme for ct), it will automatically adds the corresponding resource target to the generated test target of the suite. Resources will be placed in the Data directory (data_dir)of each of the suite. It allows the writer of the rule to add global configuration files and global default dependencies (e.g meck). These ones should be specified using global variables erlang.erlang_tests_default_apps and erlang.erlang_tests_default_configrespectively. The erlang_tests macro forwards all attributes to the erlang_test. It defines some attributes that control how the targets get generated: srcs ([source]): Set of files that the suites might depend on and that are not part of any specific application. A "meta" application having those files as sources will automatically be created, and included in the dependencies of the tests. One can call buck2 build //my_app:test_SUITE to compile the test files together with its dependencies.buck2 test //my_app:other_test_SUITE to run the test.buck2 run //my_app:other_test_SUITE to open an interactive test shell, where tests can be run iteratively. buck2 test will rely on tpx to run the suite. To get access to tpx commands, add -- after the target. For example: buck2 test //my_app:other_test_SUITE -- --help will print the list of tpx available command line parameters.buck2 test //my_app:other_test_SUITE -- group.mycase will only run those test cases that match the pattern group.mycase Examples: erlang_test( name = "unit_test_SUITE", suite = "unit_test_SUTIE.erl", deps = [":my_other_app"], contacts = ["author@email.com"], ) erlang_tests( suites = ["test_SUITE.erl", "other_test_SUITE".erl], deps = [":my_app"], contacts = ["author@email.com"], ) "},{"title":"export_file​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#export_file","content":"def export_file( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, mode: None | str = _, out: None | str = _, src: None | str = _ ) -> None An export_file() takes a single file or folder and exposes it so other rules can use it. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onemode: How files are referenced internally in buck. If set to 'copy', then a full copy will be made into the new location in buck-out. If set to 'reference', the original file will be used by internal build rules in-place. However, this mode does not work across repositories or if the 'out' property is set. For read-only operations, 'reference' can be more performant.out: The name which the file will be called if another rule depends on it instead of the name it already has.src: The path to the file that should be exported. Details​ Examples: The best way to see how the export_file() rule works is with some examples. The common case is: export_file( name = 'example.html', ) # This is equivalent to export_file( name = 'example.html', src = 'example.html', out = 'example.html', ) It is sometimes useful to refer to the file not by its path, but by a more logical name: export_file( name = 'example', src = 'example.html', ) # This is equivalent to export_file( name = 'example', src = 'example.html', out = 'example.html', ) Finally, there are occasions where you want to export a file more than once but want to copy it to a different name for each output: export_file( name = 'runner', src = 'RemoteRunner.html', ) export_file( name = 'runner_hta', src = 'RemoteRunner.html', out = 'RemoteRunner.hta', ) Using the export_file() rule is also simple: export_file( name = 'example', src = 'example.html', ) genrule( name = 'demo', out = 'result.html', cmd = 'cp $(location :example) $OUT', ) "},{"title":"external_test_runner​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#external_test_runner","content":"def external_test_runner( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, binary: str, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"filegroup​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#filegroup","content":"def filegroup( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, copy: bool = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, srcs: list[str] | dict[str, str] = _ ) -> None This rule provides access to a set of files. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onesrcs: The set of files to include in this rule. Details​ Files are accessible to genrule()s by using their relative path after a $(location) string parameter macro. Other rules may handle filegroup() rules natively for attributes such as resources. Examples: In this example a target exports .xml files from all subdirectories in resources. filegroup( name = 'example', srcs = glob(['resources/**/*.xml']), ) genrule( name = 'process_xml', out = 'processed.xml', cmd = '$(exe //example:tool) -in $(location :example)/resources/file.xml > $OUT', ) "},{"title":"gen_aidl​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#gen_aidl","content":"def gen_aidl( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _java_toolchain: str = _, aidl: str, aidl_srcs: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, import_path: str = _, import_paths: list[str] = _, labels: list[str] = _, licenses: list[str] = _ ) -> None A gen_aidl() rule is used to generate .java files from .aidl files. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneaidl: The path to an .aidl file to convert to a .java file.aidl_srcs: Path to .aidl files the target aidl file imports.deps: A list of rules that must be built before this rule.import_path: The search path for import statements for the aidl command. (This is the -I argument when invoking aidl from the command line. For many apps it will be the base dir where all aidl files are, with project root as its parent, e.g. app/src/main/aidl.). This is the same as the path to the aidl file relative to what would be returned from root. Details​ Examples: android_library( name = 'lib', srcs = glob(['**/*.java']) + [':aidl'], manifest = '//res/org/opencv:manifest', deps = [ '//res/org/opencv:res', ], visibility = [ 'PUBLIC' ], ) gen_aidl( name = 'aidl', aidl = 'engine/OpenCVEngineInterface.aidl', import_path = 'java/', ) "},{"title":"genrule​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#genrule","content":"def genrule( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _genrule_toolchain: str = _, always_print_stderr: bool = _, bash: None | str = _, buck2_compatibility: str = _, cacheable: None | bool = _, cmd: None | str = _, cmd_exe: None | str = _, contacts: list[str] = _, default_host_platform: None | str = _, default_outs: None | list[str] = _, enable_sandbox: None | bool = _, env: dict[str, str] = _, environment_expansion_separator: None | str = _, executable: None | bool = _, labels: list[str] = _, licenses: list[str] = _, metadata_env_var: None | str = _, metadata_path: None | str = _, need_android_tools: bool = _, no_outputs_cleanup: bool = _, out: None | str = _, outs: None | dict[str, list[str]] = _, remote: None | bool = _, remote_execution_dependencies: list[dict[str, str]] = _, srcs: list[str] | dict[str, str] = _, type: None | str = _, weight: None | int = _ ) -> None A genrule() is used to generate files from a shell command. It must produce a single output file or folder. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one bash: A platform-specific version of the shell command parameter cmd. It runs on Linux and UNIX systems—including OSX—on which bash is installed. It has a higher priority than cmd. The bash argument is run with /usr/bin/env bash -c. It has access to the same set of macros and variables as the cmd argument. cmd: The shell command to run to generate the output file. It is the fallback for bash and cmd_exe arguments. The following environment variables are populated by Buck and available to the shell command. They are accessed using the syntax: ${<variable>} Example: ${SRCS} ${SRCS} A string expansion of the srcs argument delimited by the environment_expansion_separator argument where each element of srcs will be translated into a relative path. ${SRCDIR} The relative path to a directory to which sources are copied prior to running the command. ${OUT} The output file or directory for the genrule(). This variable will have whatever value is specified by the out argument if not using named outputs. If using named outputs, this variable will be the output directory. The value should be a valid filepath. The semantics of the shell command determine whether this filepath is treated as a file or a directory. If the filepath is a directory, then the shell command needs to create it if not using named outputs. Otherwise, it will be automatically created. All outputs (directories and files) must be readable, writable, and (in the case of directories) executable by the current user. The file or directory specified by this variable must always be written by this command. If not, the execution of this rule will be considered a failure, halting the build process. ${TMP} A temporary directory which can be used for intermediate results and will not be bundled into the output. cmd_exe: A platform-specific version of the shell command parameter cmd. It runs on Windows and has a higher priority than cmd. The cmd_exe argument is run with cmd.exe /v:off /c. It has access to the same set of macros and variables as the cmd argument. default_outs: Default output which must be present if the outs arg is present. Otherwise does not apply. If a rule with outs is consumed without an output label, the default output is returned. The default output does not need to be present in any of the named outputs defined in outs. Note that a maximum of one value may be present in this list. For example: default_outs = [ "output_one", ] is valid, whereas default_outs = [ "output_one", "output_two", ] is not. enable_sandbox: Whether this target should be executed in a sandbox or not. environment_expansion_separator: The delimiter between paths in environment variables, such as SRCS, that can contain multiple paths. It can be useful to specify this parameter if the paths could contain spaces. executable: Whether the output of the genrule is itself executable. Marking an output as executable makes buck run and $(exe ...) macro expansion work with this target. out: The name of the output file or directory. The complete path to this argument is provided to the shell command through the OUT environment variable. Only one of out or outs may be present. outs: Mapping defining named outputs to output paths relative to the rule's output directory. Only one of out or outs may be present. Example: genrule( name = "named_outputs", outs = { "output1": [ "out1.txt", ], "output2": [ "out2.txt", ], }, default_outs = [ "out1.txt" ], cmd = "echo something> $OUT/out1.txt && echo another> $OUT/out2.txt", ) Note that a maximum of one value may be present in the list in this map. For example: outs = { "output1": [ "out1.txt", ], }, is valid, whereas outs = { "output1": [ "out1.txt", "out2.txt", ], }, is not. remote: Opts this genrule in to remote execution. Note that it is only safe to execute a genrule remotely if it is completely hermetic and completely and correctly describes its dependencies. Defaults to false. This parameter is unstable. It is subject to removal, default reversal, and other arbitrary changes in the future. srcs: Either a list or a map of the source files which Buck makes available to the shell command at the path in the SRCDIR environment variable. If you specify a list, the source files are the names in the list. If you specify a map, the source files are made available as the names in the keys of the map, where the values of the map are the original source file names. type: Specifies the type of this genrule. This is used for logging and is particularly useful for grouping genrules that share an underlying logical "type". For example, if you have the following cxx_genrule defined in the root directory of your Buck project cxx_genrule( name = 'cxx_gen', type = 'epilog', cmd = 'touch finish.txt; cp finish.txt $OUT', out = 'finish.txt' ) then the following buck query command buck query "attrfilter( type, 'epilog', '//...' )" returns //:cxx_gen weight: How many local slots these genrule should take when executing locally. Details​ Examples: This genrule() uses a Python script to derive a newAndroidManifest.xml from anAndroidManifest.xml in the source tree. Note you don't need to prepend execution commands withpython: Buck knows how to execute different kinds of binaries using $(exe) command. genrule( name = 'generate_manifest', srcs = [ 'AndroidManifest.xml', ], bash = '$(exe //python/android:basic_to_full) ' '$SRCDIR/AndroidManifest.xml > $OUT', cmd_exe = '$(exe //python/android:basic_to_full) ' '%SRCDIR%\\AndroidManifest.xml > %OUT%', out = 'AndroidManifest.xml', ) genrule( name = 'generate_manifest_with_named_outputs', srcs = [ 'AndroidManifest.xml', ], bash = '$(exe //python/android:basic_to_full) ' '$SRCDIR/AndroidManifest.xml > $OUT/AndroidManifest.xml', cmd_exe = '$(exe //python/android:basic_to_full) ' '%SRCDIR%\\AndroidManifest.xml > %OUT%\\AndroidManifest.xml', outs = { "manifest": [ "AndroidManifest.xml" ], }, default_outs = [ "AndroidManifest.xml" ], ) For named outputs, build with any of the following: buck build //:generate_manifest_with_named_outputs buck build //:generate_manifest_with_named_outputs[manifest] Consume in srcs with: export_file( name = "magic1", src = ":generate_manifest_with_named_outputs", out = "some_dir_to_copy_to/AndroidManifest.xml", ) export_file( name = "magic2", src = ":generate_manifest_with_named_outputs[manifest]", out = "some_dir_to_copy_to/AndroidManifest.xml", ) Note that magic1 consumes generate_manifest_with_named_outputs's default output. magic2 consumes generate_manifest_with_named_outputs's named output "manifest," which happen to be pointing to the same output as the default output in this case, but they do not have to point to the same output. "},{"title":"git_fetch​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#git_fetch","content":"def git_fetch( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _git_fetch_tool: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, repo: str, rev: str ) -> None Checkout a commit from a git repository. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onerepo: Url suitable as a git remote.rev: 40-digit hex SHA-1 of the git commit. Details​ Examples: git_fetch( name = "serde.git", repo = "https://github.com/serde-rs/serde", rev = "fccb9499bccbaca0b7eef91a3a82dfcb31e0b149", ) "},{"title":"go_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_binary","content":"def go_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _exec_os_type: str = _, _go_stdlib: str = _, _go_toolchain: str = _, _race: bool = _, _tags: list[str] = _, asan: bool = _, assembler_flags: list[str] = _, buck2_compatibility: str = _, cgo_enabled: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, embedcfg: None | str = _, external_linker_flags: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_mode: None | str = _, link_style: None | str = _, linker_flags: list[str] = _, package_root: None | str = _, platform: None | str = _, platform_external_linker_flags: list[(str, list[str])] = _, race: bool = _, resources: list[str] = _, srcs: list[str] = _, tags: list[str] = _ ) -> None A go_binary() rule builds a native executable from the supplied set of Go source files and dependencies. The files supplied are expected to be in the main package, implicitly. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneasan: If true, enable ASAN.assembler_flags: The set of additional assembler flags to pass to go tool asm.cgo_enabled: Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False.compiler_flags: The set of additional compiler flags to pass to go tool compile.deps: The set of dependencies of this rule. Currently, this only supports go_library rules.external_linker_flags: Extra external linker flags passed to go link via -extld argument. If argument is non-empty or cgo_library is used, the link mode will switch to external.link_mode: Determines the link mode (equivalent of -mode). Can be one of the following values: internal, external. If no value is provided, the mode is set automatically depending on the other args.link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: static, static_pic or shared. This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument.linker_flags: Extra linker flags passed to go linkpackage_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"race: If true, enable data race detection.srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler.tags: Build tags to apply to this target and its dependencies. Details​ Examples: For more examples, check out our integration tests. go_binary( name='greet', srcs=[ 'main.go', ], deps=[ ':greeting', ], ) go_library( name='greeting', srcs=[ 'greeting.go', ], deps=[ ':join', ], ) go_library( name='join', srcs=[ 'join.go', ], ) "},{"title":"go_bootstrap_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_bootstrap_binary","content":"def go_bootstrap_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _go_toolchain: str = _, buck2_compatibility: str = _, entrypoints: list[str] = _, srcs: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneentrypoints: Package name or file namessrcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler. "},{"title":"go_exported_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_exported_library","content":"def go_exported_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _exec_os_type: str = _, _go_stdlib: str = _, _go_toolchain: str = _, _race: bool = _, _tags: list[str] = _, asan: bool = _, assembler_flags: list[str] = _, buck2_compatibility: str = _, build_mode: str, cgo_enabled: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, embedcfg: None | str = _, external_linker_flags: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_mode: None | str = _, link_style: None | str = _, linker_flags: list[str] = _, package_root: None | str = _, platform: None | str = _, platform_external_linker_flags: list[(str, list[str])] = _, race: bool = _, resources: list[str] = _, srcs: list[str] = _, tags: list[str] = _ ) -> None A go_exported_library() rule builds a C library from the supplied set of Go source files and dependencies. This is done via -buildmode flag and "//export" annotations in the code. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneasan: If true, enable ASAN.assembler_flags: The set of additional assembler flags to pass to go tool asm.build_mode: Determines the build mode (equivalent of -buildmode). Can be one of the following values: c_archive, c_shared. This argument is valid only if at there is at least one cgo_library declared in deps. In addition you should make sure that -sharedflag is added tocompiler_flagsand go version undergo.gorootis compiled with that flag present in:gcflags, ldflagsandasmflags``cgo_enabled: Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False.compiler_flags: The set of additional compiler flags to pass to go tool compile.deps: The set of dependencies of this rule. Currently, this only supports go_library rules.external_linker_flags: Extra external linker flags passed to go link via -extld argument. If argument is non-empty or cgo_library is used, the link mode will switch to external.link_mode: Determines the link mode (equivalent of -mode). Can be one of the following values: internal, external. If no value is provided, the mode is set automatically depending on the other args.link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: static, static_pic or shared. This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument.linker_flags: Extra linker flags passed to go linkpackage_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"race: If true, enable data race detection.resources: Static files to be symlinked into the working directory of the test. You can access these in your by opening the files as relative paths, e.g. ioutil.ReadFile("testdata/input").srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler.tags: Build tags to apply to this target and its dependencies. Details​ Examples: For more examples, check out our integration tests. go_exported_library( name = "shared", srcs = ["main.go"], build_mode = "c_shared", compiler_flags = ["-shared"], deps = [":example"], ) cgo_library( name = "example", package_name = "cgo", srcs = [ "export-to-c.go", # file with //export annotations ], cgo_compiler_flags = [], compiler_flags = [], headers = [], ) cxx_genrule( name = "cgo_exported_headers", out = "includes", cmd = ( "mkdir -p $OUT && " + "cat `dirname $(location :shared)`/includes/*.h > $OUT/_cgo_export.h" ), ) prebuilt_cxx_library( name = "cxx_so_with_header", header_dirs = [":cgo_exported_headers"], shared_lib = ":shared", ) "},{"title":"go_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_library","content":"def go_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _cgo_enabled: None | bool = _, _compile_shared: bool = _, _coverage_mode: None | str = _, _go_stdlib: str = _, _go_toolchain: str = _, _race: bool = _, _tags: list[str] = _, assembler_flags: list[str] = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, embedcfg: None | str = _, exported_deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, package_name: None | str = _, package_root: None | str = _, srcs: list[str] = _ ) -> None A go_library() rule builds a native library from the supplied set of Go source files and dependencies. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneassembler_flags: The set of additional assembler flags to pass to go tool asm.compiler_flags: The set of additional compiler flags to pass to go tool compile.deps: The set of dependencies of this rule. Currently, this only supports go_library rules.package_name: Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b")package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo"srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler. Details​ Examples: For more examples, check out our integration tests. go_library( name='greeting', srcs=[ 'greeting.go', ], deps=[ ':join', ], ) "},{"title":"go_stdlib​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_stdlib","content":"def go_stdlib( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _cgo_enabled: None | bool = _, _compile_shared: bool = _, _exec_os_type: str = _, _go_toolchain: str = _, _race: bool = _, _tags: list[str] = _, buck2_compatibility: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"go_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_test","content":"def go_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asan: bool = _, _coverage_mode: None | str = _, _exec_os_type: str = _, _go_stdlib: str = _, _go_toolchain: str = _, _inject_test_env: str = _, _race: bool = _, _remote_test_execution_toolchain: str = _, _tags: list[str] = _, _testmaingen: str = _, asan: bool = _, assembler_flags: list[str] = _, buck2_compatibility: str = _, cgo_enabled: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, coverage_mode: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, embedcfg: None | str = _, env: dict[str, str] = _, external_linker_flags: list[str] = _, labels: list[str] = _, library: None | str = _, licenses: list[str] = _, link_mode: None | str = _, link_style: None | str = _, linker_flags: list[str] = _, package_name: None | str = _, package_root: None | str = _, platform: None | str = _, race: bool = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, resources: list[str] = _, run_test_separately: bool = _, runner: None | str = _, specs: None | str = _, srcs: list[str] = _, tags: list[str] = _, test_rule_timeout_ms: None | int = _ ) -> None A go_test() rule builds a native binary from the specified Go source and resource files—and a generated main file. It's similar to the go test command. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one asan: If true, enable ASAN. assembler_flags: The set of additional assembler flags to pass to go tool asm. cgo_enabled: Experimental: Analog of CGO_ENABLED environment-variable. None will be converted to True if cxx_toolchain available for current configuration, otherwise False. compiler_flags: The set of additional compiler flags to pass to go tool compile. deps: The set of dependencies of this rule. Currently, this only supports go_library rules. env: A map of environment variables and values to set when running the test. external_linker_flags: Extra external linker flags passed to go link via -extld argument. If argument is non-empty or cgo_library is used, the link mode will switch to external. labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test library: Specify the library that this internal test is testing. This will copy the srcs, package_name and deps from the target specified so you don't have to duplicate them. link_mode: Determines the link mode (equivalent of -mode). Can be one of the following values: internal, external. If no value is provided, the mode is set automatically depending on the other args. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be one of the following values: static, static_pic or shared. This argument is relevant only if the cgo extension is enabled. Otherwise, Buck ignores this argument. linker_flags: Extra linker flags passed to go link package_name: Sets the full name of the test package being compiled. This defaults to the path from the buck root with "_test" appended. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b_test") Note: if you want to test packages internally (i.e. same package name), use the libraryparameter instead of setting package_name to include the tested source files. package_root: Sets Go package direactory (relative to BUCK file). By default (or if None passes) package_root is being detected automatically. Empty string of Go package is on the same level as BUCK file otherwise the subdirectory name. Example for srcs = ["foo/bar.go"], package_root = "foo" race: If true, enable data race detection. srcs: The set of source files to be compiled by this rule. .go files will be compiled with the Go compiler, .s files will be compiled with the assembler, and everything else is assumed to be files that may be #included by the assembler. tags: Build tags to apply to this target and its dependencies. test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . Details​ If your test requires static files you should specify these in the resources argument. If you do not specify these files, they won't be available when your test runs. Examples: For more examples, check out our integration tests. go_library( name='greeting', srcs=[ 'greeting.go', ], deps=[ ':join', ], ) go_test( name='greeting-test', srcs=[ 'greeting_ext_test.go', ], deps=[ ':greeting' ], ) go_test( name='greeting-internal-test', package_name='greeting', srcs=[ 'greeting.go', 'greeting_test.go', ], deps=[ ':join', ], ) # Or go_test( name='greeting-better-internal-test', srcs=['greeting_test.go'], library=':greeting', ) "},{"title":"go_test_runner​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#go_test_runner","content":"def go_test_runner( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, test_runner_generator: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"groovy_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#groovy_library","content":"def groovy_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_groovyc_arguments: list[str] = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _ ) -> None A groovy_library() rule is used to define a set of Groovy files that can be compiled together. It can also be used to cross compile a set of Groovy and Java files. The main output of a groovy_library() rule is a single JAR file containing all of the compiled class files and resources. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one deps: Rules (usually other groovy_library or java_library() rules) that are used to generate the classpath required to compile this groovy_library. This is the same as in java_library(). exported_deps: Other groovy_library and java_library() rules that depend on this rule will also include its exported_deps in their classpaths. This is the same as in java_library(). extra_arguments: Only used during cross compilation. This is the same as in java_library(). extra_groovyc_arguments: List of additional arguments to pass into the Groovy compiler. java_version: Only used during cross compilation. This is the same as in java_library(). provided_deps: This is the same as in java_library(). resources: This is the same as in java_library(). source: Only used during cross compilation. This is the same as in java_library(). srcs: The set of files to compile for this rule. Usually these will all end in .groovy, but if any of the files end in .java, cross compilation using the jdk found in JAVA_HOME will occur. target: Only used during cross compilation. This is the same as in java_library(). Details​ Examples: # A rule that compiles a single .groovy file. groovy_library( name = 'example', srcs = ['MySourceFile.groovy'], ) # A rule that compiles all of the .groovy files under the directory in # which the rule is defined using glob() groovy_library( name = 'groovy-only', srcs = glob(['**/*.groovy']), ) # A rule that cross compiles all of the .groovy and .java files under # the directory in which the rule is defined, failing if compiling the # java files generates any compiler warnings groovy_library( name = 'cross-compilation', srcs = glob(['**/*.groovy', '**/*.java']), java_version = 8, extra_arguments = [ '-Werror', ], ) "},{"title":"groovy_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#groovy_test","content":"def groovy_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_library_whitelist: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, env: dict[str, str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_groovyc_arguments: list[str] = _, fork_mode: str = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, run_test_separately: bool = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, std_err_log_level: None | int | str = _, std_out_log_level: None | int | str = _, target: None | str = _, test_case_timeout_ms: None | int = _, test_rule_timeout_ms: None | int = _, test_type: None | str = _, use_cxx_libraries: None | bool = _, use_dependency_order_classpath: None | bool = _, vm_args: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"gwt_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#gwt_binary","content":"def gwt_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _java_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, draft_compile: bool = _, experimental_args: list[str] = _, labels: list[str] = _, licenses: list[str] = _, local_workers: int = _, module_deps: list[str] = _, modules: list[str] = _, optimize: int = _, strict: bool = _, style: str = _, vm_args: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"halide_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#halide_library","content":"def halide_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, compiler_deps: list[str] = _, compiler_flags: list[str] = _, compiler_invocation_flags: list[str] = _, configs: dict[str, dict[str, str]] = _, contacts: list[str] = _, cxx_runtime_type: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, executable_name: None | str = _, fat_lto: bool = _, focused_list_target: None | str = _, frameworks: list[str] = _, function_name: None | str = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_style: None | str = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preprocessor_flags: list[str] = _, raw_headers: list[str] = _, srcs: list[str | (str, list[str])] = _, supported_platforms_regex: None | str = _, thin_lto: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _ ) -> None A halide_library() rule represents a set of Halide sources, along with the "compiler" code needed to compile them into object format (see the Halide site for information about Halide and about static compilation of Halide pipelines). The object code will be generated for the target architecture. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_deps: The dependencies of the halide compiler itself. Targets that depend on the halide_library rule will not include or link the outputs of these targets.compiler_flags: Flags to use when compiling any of the above sources (which require compilation).deps: The dependencies of the generated halide pipeline code. This is useful if, for example, your pipeline calls an external function using Halide::Func::define_extern.linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation, such as linked into an executable or a shared library.platform_compiler_flags: Platform specific compiler flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when compiling the target's sources. See compiler_flags for more information.platform_linker_flags: Platform-specific linker flags. This argument is specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched. The regex should use java.util.regex.Pattern syntax. The second element in each pair is a list of linker flags. If the regex matches the platform, these flags are added to the linker command line when the output from this rule is used in a link operation.srcs: The set of halide sources to compile for this rule. The sources will be compiled and linked for the host architecture, and the resulting binary will be run to produce the object code for the Halide pipeline.supported_platforms_regex: If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms. Details​ Examples: halide_library( # Your library name. name = 'brighter', # Your pipeline + compiler sources. srcs = ['halide/main.cpp'], # Any dependencies for your compiler. Note that targets that depend on # this rule WILL NOT include or link the output(s) of these targets. compiler_deps = [ # You'll need libHalide to use this rule; in our example, we assume it's # located in the 'third-party/halide' directory. '//third-party/halide:halide' ], # Any dependencies for your generated shader. Targets that depend on this # rule will include and/or link the output(s) of these targets. deps = [ # ... ], ) "},{"title":"haskell_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_binary","content":"def haskell_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _haskell_toolchain: str = _, auto_link_groups: bool = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, enable_profiling: bool = _, ghci_platform_preload_deps: list[(str, list[str])] = _, ghci_preload_deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_group_deps: list[str] = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_public_deps_label: None | str = _, link_style: None | str = _, linker_flags: list[str] = _, main: None | str = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_linker_flags: list[(str, list[str])] = _, srcs: list[str] | dict[str, str] = _, template_deps: list[str] = _ ) -> None A haskell_binary() rule represents a groups of Haskell sources and deps which build an executable. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_flags: Flags to pass to the Haskell compiler when compiling this rule's sources.deps: Either haskell_library() or prebuilt_haskell_library() rules from which this rules sources import modules or native linkable rules exporting symbols this rules sources call into.link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared.main: The main module serving as the entry point into the binary. If not specified, the compiler default is used.platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.srcs: A list of Haskell sources to be built by this rule. The dictionary option is deprecated. Details​ Examples: haskell_binary( name = 'foo', srcs = [ 'Foo.hs', ], ) "},{"title":"haskell_ghci​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_ghci","content":"def haskell_ghci( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _haskell_toolchain: str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, enable_profiling: bool = _, extra_script_templates: list[str] = _, ghci_bin_dep: None | str = _, ghci_init: None | str = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_preload_deps: list[(str, list[str])] = _, preload_deps: list[str] = _, srcs: list[str] | dict[str, str] = _, template_deps: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"haskell_haddock​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_haddock","content":"def haskell_haddock( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _haskell_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, haddock_flags: list[str] = _, labels: list[str] = _, licenses: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"haskell_ide​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_ide","content":"def haskell_ide( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _haskell_toolchain: str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, extra_script_templates: list[str] = _, include_projects: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_style: str, linker_flags: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, srcs: list[str] | dict[str, str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"haskell_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_library","content":"def haskell_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _haskell_toolchain: str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, enable_profiling: bool = _, ghci_platform_preload_deps: list[(str, list[str])] = _, ghci_preload_deps: list[str] = _, haddock_flags: list[str] = _, labels: list[str] = _, licenses: list[str] = _, link_whole: bool = _, linker_flags: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_linker_flags: list[(str, list[str])] = _, preferred_linkage: str = _, srcs: list[str] | dict[str, str] = _, template_deps: list[str] = _ ) -> None A haskell_library() rule is used to identity a group of Haskell sources. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_flags: Flags to pass to the Haskell compiler when compiling this rule's sources.deps: Either haskell_library() or prebuilt_haskell_library() rules from which this rules sources import modules or native linkable rules exporting symbols this rules sources call into.platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.srcs: A list of Haskell sources to be built by this rule. The dictionary option is deprecated. Details​ Examples: haskell_library( name = 'fileutil', srcs = [ 'FileUtil.hs', ], ) "},{"title":"haskell_prebuilt_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#haskell_prebuilt_library","content":"def haskell_prebuilt_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_header_dirs: list[str] = _, db: str, default_host_platform: None | str = _, deps: list[str] = _, enable_profiling: bool = _, exported_compiler_flags: list[str] = _, exported_linker_flags: list[str] = _, exported_post_linker_flags: list[str] = _, id: str = _, import_dirs: list[str] = _, labels: list[str] = _, licenses: list[str] = _, pic_profiled_static_libs: list[str] = _, pic_static_libs: list[str] = _, profiled_static_libs: list[str] = _, shared_libs: dict[str, str] = _, static_libs: list[str] = _, version: str = _ ) -> None A prebuilt_haskell_library() rule is used to identify Haskell prebuilt libraries and their associated interface files. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: Other prebuilt_haskell_library() rules from which this library imports modules.exported_compiler_flags: Compiler flags used by dependent rules when compiling with this library.exported_linker_flags: Linker flags used by dependent rules when linking with this library.shared_libs: A map of shared library names to shared library paths to use when building a dynamically linked top-level target.static_libs: The libraries to use when building a statically linked top-level target. Details​ Examples: prebuilt_haskell_library( name = 'file', static_interfaces = [ 'interfaces', ], shared_interfaces = [ 'interfaces_dyn', ], static_libs = [ 'libFileUtil.a', ], shared_libs = { 'libFileUtil.so': 'libFileUtil.so', }, ) "},{"title":"http_archive​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#http_archive","content":"def http_archive( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, excludes: list[str] = _, exec_deps: str = _, labels: list[str] = _, licenses: list[str] = _, out: None | str = _, sha1: None | str = _, sha256: None | str = _, strip_prefix: None | str = _, sub_targets: list[str] = _, type: None | str = _, urls: list[str] = _, vpnless_urls: list[str] = _ ) -> None An http_archive() rule is used to download and extract archives from the Internet to be used as dependencies for other rules. These rules are downloaded by running fetch, or can be downloaded as part of build by setting .buckconfig Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one excludes: An optional list of regex patterns. All file paths in the extracted archive which match any of the given patterns will be omitted. exec_deps: When using http_archive as an anon target, the rule invoking the anon target needs to mirror this attribute into its own attributes, and forward the provider into the anon target invocation. When using http_archive normally not as an anon target, the default value is always fine. out: An optional name to call the directory that the downloaded artifact is extracted into. Buck will generate a default name if one is not provided that uses the name of the rule. sha256: The SHA-256 hash of the downloaded artifact. Buck verifies this is correct and fails the fetch command if it doesn't match in order to guarantee repeatable builds. strip_prefix: If set, files under this path will be extracted to the root of the output directory. Siblings or cousins to this prefix will not be extracted at all. For example, if a tarball has the layout: foo/bar/bar-0.1.2/data.dat foo/baz/baz-0.2.3 foo_prime/bar-0.1.2 Only data.dat will be extracted, and it will be extracted into the output directory specified in out. sub_targets: A list of filepaths within the archive to be made accessible as sub-targets. For example if we have an http_archive with name = "archive" and sub_targets = ["src/lib.rs"], then other targets would be able to refer to that file as ":archive[src/lib.rs]". type: Normally, archive type is determined by the file's extension. If type is set, then autodetection is overridden, and the specified type is used instead. Supported values are: zip, tar, tar.gz,tar.bz2, tar.xz, and tar.zst. urls: A list of urls to attempt to download from. They are tried in order, and subsequent ones are only tried if the download fails. If validation fails, a new URL is not used. Supported protocols are "http", "https", and "mvn". vpnless_urls: Additional URLs from which this resource can be downloaded when off VPN. Meta-internal only. Details​ Examples: Using http_archive(), third party packages can be downloaded from an https URL and used in other library types. http_archive( name = 'thrift-archive', urls = [ 'https://internal-mirror.example.com/bin/thrift-compiler-0.1.tar.gz.badextension', ], sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596', type='tar.gz', strip_prefix='thrift-compiler-0.1' ) genrule( name = 'thrift-compiler-bin', out = 'thrift', cmd = 'cp $(location :thrift-archive)/bin/thrift $OUT', executable = True, ) genrule( name="my-thrift-lib-cpp2", cmd="$(exe :thrift-compiler-bin) --gen cpp2 -o $OUT $(location //:thrift-file)", out="gen-cpp2", ) "},{"title":"http_file​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#http_file","content":"def http_file( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, executable: None | bool = _, labels: list[str] = _, licenses: list[str] = _, out: None | str = _, sha1: None | str = _, sha256: None | str = _, urls: list[str] = _, vpnless_urls: list[str] = _ ) -> None An http_file() rule is used to download files from the Internet to be used as dependencies for other rules. This rule only downloads single files, and can optionally make them executable (see http_file()executable) These rules are downloaded by running fetch, or can be downloaded as part of build by setting .buckconfig Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneexecutable: Whether or not the file should be made executable after downloading. If true, this can also be used via run and the $(exe ) string parameter macrosout: An optional name to call the downloaded artifact. Buck will generate a default name if one is not provided that uses the name of the rule.sha256: The SHA-256 hash of the downloaded artifact. Buck verifies this is correct and fails the fetch command if it doesn't match in order to guarantee repeatable builds.urls: A list of urls to attempt to download from. They are tried in order, and subsequent ones are only tried if the download fails. If validation fails, a new URL is not used. Supported protocols are "http", "https", and "mvn".vpnless_urls: Additional URLs from which this resource can be downloaded when off VPN. Meta-internal only. Details​ Examples: Using http_file(), third party packages can be downloaded from an https URL and used in java libraries. http_file( name = 'guava-23-bin', urls = [ 'http://search.maven.org/remotecontent?filepath=com/google/guava/guava/23.0/guava-23.0.jar', ], sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596', ) http_file( name = 'guava-23-sources', urls = [ 'http://search.maven.org/remotecontent?filepath=com/google/guava/guava/23.0/guava-23.0-sources.jar', ], sha256 = '37fe8ba804fb3898c3c8f0cbac319cc9daa58400e5f0226a380ac94fb2c3ca14', ) prebuilt_java_library( name = 'guava-23', binary_jar = ':guava-23-bin', source_jar = ':guava-23-source', ) Tooling can also be fetched with http_file() and used by a genrule(). genrule( name="my-thrift-lib-cpp2", cmd="$(exe :thrift-compiler-bin) --gen cpp2 -o $OUT $(location //:thrift-file)", out="gen-cpp2", ) http_file( name = 'thrift-compiler-bin', url = 'https://internal-mirror.example.com/bin/thrift-compiler', sha256 = 'c24932ccabb66fffb2d7122298f7f1f91e0b1f14e05168e3036333f84bdf58dc', executable = True, ) Here's an example of a http_file() using a mvn URI which uses a Maven classifier. http_file( name = 'guava-23-bin', urls = [ 'mvn:com.google.guava:guava:jar:23.0', ], sha256 = '7baa80df284117e5b945b19b98d367a85ea7b7801bd358ff657946c3bd1b6596', ) "},{"title":"jar_genrule​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#jar_genrule","content":"def jar_genrule( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _genrule_toolchain: str = _, _java_toolchain: str = _, always_print_stderr: bool = _, bash: None | str = _, buck2_compatibility: str = _, cacheable: None | bool = _, cmd: None | str = _, cmd_exe: None | str = _, contacts: list[str] = _, default_host_platform: None | str = _, enable_sandbox: None | bool = _, environment_expansion_separator: None | str = _, labels: list[str] = _, licenses: list[str] = _, metadata_env_var: None | str = _, metadata_path: None | str = _, need_android_tools: bool = _, no_outputs_cleanup: bool = _, remote: None | bool = _, remote_execution_dependencies: list[dict[str, str]] = _, srcs: list[str] | dict[str, str] = _, type: None | str = _, weight: None | int = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"java_annotation_processor​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_annotation_processor","content":"def java_annotation_processor( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, does_not_affect_abi: bool = _, isolate_class_loader: bool = _, labels: list[str] = _, licenses: list[str] = _, processor_class: str = _, supports_abi_generation_from_source: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"java_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_binary","content":"def java_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _java_toolchain: str = _, blacklist: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, do_not_create_inner_jar: bool = _, generate_wrapper: bool = _, java_args_for_run_info: list[str] = _, labels: list[str] = _, licenses: list[str] = _, main_class: None | str = _, manifest_file: None | str = _, meta_inf_directory: None | str = _ ) -> None A java_binary() rule is used to create a JAR file of the compiled .class files and resources of the java_library() rules on which it depends. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one blacklist: A list of patterns that identify files to exclude from the final generated JAR file. Example: java_binary( name = 'example', blacklist = [ # Excludes com.example.A and com.example.Alligator, # as well as their inner classes and any non-class files that happen to match # the pattern 'com.example.A', # Excludes all files from org/slf4j/**/*. 'org.slf4j', ], deps = [ ':example1', ':third-party-stuff', ], ) deps: Rules (normally of type java_library) that should be compiled and whose .class files and resources should be included in the generated JAR file. main_class: If provided, this will be the value specified as the Main-Class attribute of the META-INF/MANIFEST.MF file in the generated JAR file. Also, when this rule is used as an executable in a genrule(), main_class will indicate the class whose main() method will be invoked to process the command-line arguments. This is consistent with the expected usage of java -jar *<name.jar>* *<args>*. manifest_file: If provided, this manifest will be used when generating the JAR file. If combined with main_class, the specified manifest file will be used but the main_class will override the main class in the manifest. "},{"title":"java_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_library","content":"def java_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _dex_min_sdk_version: None | int = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _java_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, jar_postprocessor: None | str = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _, validation_deps: list[str] = _ ) -> None A java_library() rule defines a set of Java files that can be compiled together. The main output of a java_library() rule is a single JAR file containing all of the compiled class files, as well as the static files specified in the resources argument. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one deps: Rules (usually other java_library rules) that are used to generate the classpath required to compile this java_library. exported_deps: Other rules that depend on this rule will also include its exported_deps in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of prebuilt_jar rules as a single target for callers to depend on. Targets in exported_deps are implicitly included in the deps of this rule, so they don't need to be repeated there. exported_provided_deps: This is a combination of provided_deps and exported_deps. Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target. extra_arguments: List of additional arguments to pass into the Java compiler. These arguments follow the ones specified in .buckconfig. java_version: Equivalent to setting both source and target to the given value. Setting this and source or target (or both!) is an error. on_unused_dependencies: Action performed when Buck detects that some dependencies are not used during Java compilation. Note that this feature is experimental and does not handle runtime dependencies. The valid values are: ignore (default): ignore unused dependencies,warn: emit a warning to the console,fail: fail the compilation. This option overrides the default value from . provided_deps: These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of provided_deps include the JEE servlet APIs. When this rule is included in a , the provided_deps will not be packaged into the output. remove_classes: Specifies a list of Patterns that are used to exclude classes from the JAR. The pattern matching is based on the name of the class. This can be used to exclude a member class or delete a local view of a class that will be replaced during a later stage of the build. required_for_source_only_abi: Indicates that this rule must be present on the classpath during source-only ABI generation of any rule that depends on it. Typically this is done when a rule contains annotations, enums, constants, or interfaces. Having rules present on the classpath during source-only ABI generation prevents Buck from completely flattening the build graph, thus reducing the performance win from source-only ABI generation. These rules should be kept small (ideally just containing annotations, constants, enums, and interfaces) and with minimal dependencies of their own. resources: Static files to include with the compiled .class files. These files can be loaded via Class.getResource(). Note: If resources_root isn't set, Buck uses the .buckconfigproperty in .buckconfig to determine where resources should be placed within the generated JAR file. source: Specifies the version of Java (as a string) to interpret source files as. Overrides the value in "source_level" in the "java" section of .buckconfig. source_only_abi_deps: These are dependencies that must be present during source-only ABI generation. Typically such dependencies are added when some property of the code in this rule prevents source-only ABI generation from being correct without these dependencies being present. Having source_only_abi_deps prevents Buck from completely flattening the build graph, thus reducing the performance win from source-only ABI generation. They should be avoided when possible. Often only a small code change is needed to avoid them. For more information on such code changes, read aboutsource-only ABI generation. srcs: The set of .java files to compile for this rule. If any of the files in this list end in .src.zip, then the entries in the ZIP file that end in .java will be included as ordinary inputs to compilation. This is common when using a genrule() to auto-generate some Java source code that needs to be compiled with some hand-written Java code. target: Specifies the version of Java (as a string) for which to generate code. Overrides the value in "target_level" in the "java" section of .buckconfig. Details​ Examples: # A rule that compiles a single .java file. java_library( name = 'JsonUtil', srcs = ['JsonUtil.java'], deps = [ '//third_party/guava:guava', '//third_party/jackson:jackson', ], ) # A rule that compiles all of the .java files under the directory in # which the rule is defined using glob(). It also excludes an # individual file that may have additional dependencies, so it is # compiled by a separate rule. java_library( name = 'messenger', srcs = glob(['**/*.java'], excludes = ['MessengerModule.java']), deps = [ '//src/com/facebook/base:base', '//third_party/guava:guava', ], ) java_library( name = 'MessengerModule', srcs = ['MessengerModule.java'], deps = [ '//src/com/facebook/base:base', '//src/com/google/inject:inject', '//third_party/guava:guava', '//third_party/jsr-330:jsr-330', ], ) # A rule that builds a library with both relative and # fully-qualified deps. java_library( name = 'testutil', srcs = glob(['tests/**/*.java'], excludes = 'tests/**/*Test.java'), deps = [ ':lib-fb4a', '//java/com/facebook/base:base', ], ) "},{"title":"java_plugin​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_plugin","content":"def java_plugin( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, does_not_affect_abi: bool = _, isolate_class_loader: bool = _, labels: list[str] = _, licenses: list[str] = _, plugin_name: str = _, supports_abi_generation_from_source: bool = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"java_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_test","content":"def java_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _inject_test_env: str = _, _is_building_android_binary: bool = _, _java_test_toolchain: str = _, _java_toolchain: str = _, _remote_test_execution_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_library_whitelist: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, env: dict[str, str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, fork_mode: str = _, jar_postprocessor: None | str = _, java: None | str = _, java_agents: list[str] = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, run_test_separately: bool = _, runner: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, specs: None | str = _, srcs: list[str] = _, std_err_log_level: None | int | str = _, std_out_log_level: None | int | str = _, target: None | str = _, test_case_timeout_ms: None | int = _, test_class_names_file: None | str = _, test_rule_timeout_ms: None | int = _, test_type: None | str = _, unbundled_resources_root: None | str = _, use_cxx_libraries: None | bool = _, use_dependency_order_classpath: None | bool = _, vm_args: list[str] = _ ) -> None A java_test() rule is used to define a set of .java files that contain tests to run via JUnit. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one cxx_library_whitelist: EXPERIMENTAL. List of cxx_libraries to build, if use_cxx_libraries is true. This can be useful if some dependencies are Android-only and won't build on the default platform. deps: Same as java_library(). // org.junit.rules.Timeout was not introduced until 4.7. Must include JUnit (version 4.7 or later) as a dependency for JUnit tests. Must include TestNG (version 6.2 or later) and hamcrest as a dependencies for TestNG tests. env: A map of environment names and values to set when running the test. fork_mode: Controls whether tests will all be run in the same process or a process will be started for each set of tests in a class. (This is mainly useful when porting Java tests to Buck from Apache Ant which allows JUnit tasks to set a fork="yes" property. It should not be used for new tests since it encourages tests to not cleanup after themselves and increases the tests' computational resources and running time.) noneAll tests will run in the same process.per_testA process will be started for each test class in which all tests of that test class will run. labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test resources: Same as java_library(). source: Java language level for compiling. Corresponds to the -source argument for javac. srcs: Like java_library(), all of the .java files specified by the srcs argument will be compiled when this rule is built. In addition, all of the corresponding .class files that are built by this rule will be passed as arguments to JUnit when this rule is run as a test. .class files that are passed to JUnit that do not have any methods annotated with @Test are considered failed tests, so make sure that only test case classes are specified as srcs. This is frequently done by specifying srcs as glob(['**/*Test.java']). std_err_log_level: Same as std_out_log_level, but for std err. std_out_log_level: Log level for messages from the source under test that buck will output to std out. Value must be a valid java.util.logging.Level value. target: Bytecode target level for compiling. Corresponds to the -target argument for javac. test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . test_type: Specifies which test framework to use. The currently supported options are 'junit' and 'testng'. use_cxx_libraries: Whether or not to build and link against cxx_library() dependencies when testing. vm_args: Runtime arguments to the JVM running the tests. "},{"title":"java_test_runner​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#java_test_runner","content":"def java_test_runner( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, main_class: str = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"js_bundle​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#js_bundle","content":"def js_bundle( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _is_release: bool = _, _platform: str = _, android_package: None | str = _, buck2_compatibility: str = _, bundle_name: None | str = _, bundle_name_for_flavor: list[(str, str)] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, entry: str | list[str], extra_json: None | str = _, fallback_transform_profile: None | str = _, labels: list[str] = _, licenses: list[str] = _, worker: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"js_bundle_genrule​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#js_bundle_genrule","content":"def js_bundle_genrule( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _genrule_toolchain: str = _, _is_release: bool = _, _platform: str = _, always_print_stderr: bool = _, bash: None | str = _, buck2_compatibility: str = _, bundle_name: None | str = _, bundle_name_for_flavor: list[(str, str)] = _, cacheable: None | bool = _, cmd: None | str = _, cmd_exe: None | str = _, contacts: list[str] = _, default_host_platform: None | str = _, enable_sandbox: None | bool = _, environment_expansion_separator: None | str = _, js_bundle: str, labels: list[str] = _, licenses: list[str] = _, metadata_env_var: None | str = _, metadata_path: None | str = _, need_android_tools: bool = _, no_outputs_cleanup: bool = _, remote: None | bool = _, remote_execution_dependencies: list[dict[str, str]] = _, rewrite_deps_file: bool = _, rewrite_misc: bool = _, rewrite_sourcemap: bool = _, skip_resources: bool = _, srcs: list[str] | dict[str, str] = _, type: str = _, weight: None | int = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"js_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#js_library","content":"def js_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _asset_dest_path_resolver: None | str = _, _build_only_native_code: bool = _, _is_release: bool = _, _platform: str = _, asset_extensions: None | list[str] = _, asset_platforms: None | list[str] = _, base_path: None | str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, extra_json: None | str = _, labels: list[str] = _, licenses: list[str] = _, srcs: list[str | (str, str)] = _, worker: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"julia_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#julia_binary","content":"def julia_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _julia_toolchain: str = _, buck2_compatibility: str = _, deps: list[str] = _, julia_args: list[str] = _, julia_flags: list[str] = _, main: str, srcs: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"julia_jll_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#julia_jll_library","content":"def julia_jll_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _julia_toolchain: str = _, buck2_compatibility: str = _, jll_name: str, lib_mapping: list[str] | dict[str, str], uuid: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"julia_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#julia_library","content":"def julia_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _julia_toolchain: str = _, buck2_compatibility: str = _, deps: list[str] = _, project_toml: str, resources: list[str] = _, srcs: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"julia_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#julia_test","content":"def julia_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _inject_test_env: str = _, _julia_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, deps: list[str] = _, julia_args: list[str] = _, julia_flags: list[str] = _, main: str, srcs: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"keystore​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#keystore","content":"def keystore( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, properties: str, store: str ) -> None A keystore() contains the data for a key pair created by the keytool executable that comes with the JDK. This is a required input for an android_binary() rule. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one properties: The path to the .properties file that contains the following values: # The value that you passed as the argument to -alias # when you ran keytool. key.alias=my_alias # The value that you entered in response to # the "Enter keystore password:" prompt. key.store.password=store_password # The value that you entered in response to # the "Enter key password for <my_alias>" prompt. key.alias.password=alias_password store: The path to the file that contains the key. This is the path that was passed as the -keystore argument when you ran keytool. "},{"title":"kotlin_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#kotlin_library","content":"def kotlin_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _dex_min_sdk_version: None | int = _, _dex_toolchain: str = _, _exec_os_type: str = _, _is_building_android_binary: bool = _, _java_toolchain: str = _, _kotlin_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processing_tool: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_kotlinc_arguments: list[str] = _, friend_paths: list[str] = _, incremental: bool = _, jar_postprocessor: None | str = _, java_version: None | str = _, javac: None | str = _, k2: bool = _, kotlin_compiler_plugins: dict[str, dict[str, str]] = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _, use_jvm_abi_gen: None | bool = _, validation_deps: list[str] = _ ) -> None A kotlin_library() rule is used to define a set of Kotlin files that can be compiled together. The main output of a kotlin_library() rule is a single JAR file containing all of the compiled class files, as well as the static files specified in the resources argument. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one annotation_processing_tool: Specifies the tool to use for annotation processing. Possible values: "kapt" or "javac". "kapt" allows running Java annotation processors against Kotlin sources while backporting it for Java sources too. "javac" works only against Java sources, Kotlin sources won't have access to generated classes at compile time. deps: Rules (usually other kotlin_library rules) that are used to generate the classpath required to compile this kotlin_library. exported_deps: Other rules that depend on this rule will also include its exported_deps in their classpaths. This is useful when the public API of a rule has return types or checked exceptions that are defined in another rule, which would otherwise require callers to add an extra dependency. It's also useful for exposing e.g. a collection of prebuilt_jar rules as a single target for callers to depend on. Targets in exported_deps are implicitly included in the deps of this rule, so they don't need to be repeated there. exported_provided_deps: This is a combination of provided_deps and exported_deps. Rules listed in this parameter will be added to classpath of rules that depend on this rule, but they will not be included in a binary if binary depends on a such target. extra_kotlinc_arguments: List of additional arguments to pass into the Kotlin compiler. friend_paths: List of source paths to pass into the Kotlin compiler as friend-paths, that is, modules you can have access to internal methods. incremental: Enables Kotlin incremental compilation. k2: Enables the Kotlin K2 compiler. kotlin_compiler_plugins: Use this to specify Kotlin compiler plugins to use when compiling this library. This takes a map, with each entry specify one plugin. Entry's key is plugin source path, and value is a map of plugin option key value pair. Unlike extra_kotlinc_arguments, these can be source paths, not just strings. A special option value is__codegen_dir__, in which case Buck will provide a default codegen folder's path as option value instead. E.g. kotlin_compiler_plugins = { "somePluginSourcePath": { "plugin:somePluginId:somePluginOptionKey": "somePluginOptionValue", "plugin:somePluginId:someDirectoryRelatedOptionKey": "__codegen_dir__", }, }, Each plugin source path will be prefixed with -Xplugin= and passed as extra arguments to the compiler. Plugin options will be appended after its plugin with -P. A specific example is, if you want to use kotlinx.serializationwith kotlin_library(), you need to specify kotlinx-serialization-compiler-plugin.jar under kotlin_compiler_plugins and kotlinx-serialization-runtime.jar (which you may have to fetch from Maven) in your deps: kotlin_library( name = "example", srcs = glob(["*.kt"]), deps = [ ":kotlinx-serialization-runtime", ], kotlin_compiler_plugins = { # Likely copied from your $KOTLIN_HOME directory. "kotlinx-serialization-compiler-plugin.jar": {}, }, ) prebuilt_jar( name = "kotlinx-serialization-runtime", binary_jar = ":kotlinx-serialization-runtime-0.10.0", ) # Note you probably want to set # maven_repo=http://jcenter.bintray.com/ in your .buckconfig until # https://github.com/Kotlin/kotlinx.serialization/issues/64 # is closed. remote_file( name = "kotlinx-serialization-runtime-0.10.0", out = "kotlinx-serialization-runtime-0.10.0.jar", url = "mvn:org.jetbrains.kotlinx:kotlinx-serialization-runtime:jar:0.10.0", sha1 = "23d777a5282c1957c7ce35946374fff0adab114c" ) labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() . provided_deps: These represent dependencies that are known to be provided at run time, but are required in order for the code to compile. Examples of provided_deps include the JEE servlet APIs. When this rule is included in a , the provided_deps will not be packaged into the output. remove_classes: Specifies a list of Patterns that are used to exclude classes from the JAR. The pattern matching is based on the name of the class. This can be used to exclude a member class or delete a local view of a class that will be replaced during a later stage of the build. resources: Static files to include with the compiled .class files. These files can be loaded via Class.getResource(). Note: If resources_root isn't set, Buck uses the .buckconfigproperty in .buckconfig to determine where resources should be placed within the generated JAR file. srcs: The set of .kt, .java or .kts files to compile for this rule. If any of the files in this list end in .src.zip, then the entries in the ZIP file that end in .java or .kt will be included as ordinary inputs to compilation. Details​ Examples: # A rule that compiles a single .kt file. kotlin_library( name = 'JsonUtil', srcs = ['JsonUtil.kt'], deps = [ '//third_party/guava:guava', '//third_party/jackson:jackson', ], ) # A rule that compiles all of the .kt files under the directory in # which the rule is defined using glob(). It also excludes an # individual file that may have additional dependencies, so it is # compiled by a separate rule. kotlin_library( name = 'messenger', srcs = glob(['**/*.kt'], excludes = ['MessengerModule.kt']), deps = [ '//src/com/facebook/base:base', '//third_party/guava:guava', ], ) kotlin_library( name = 'MessengerModule', srcs = ['MessengerModule.kt'], deps = [ '//src/com/facebook/base:base', '//src/com/google/inject:inject', '//third_party/guava:guava', '//third_party/jsr-330:jsr-330', ], ) # A rule that builds a library with both relative and # fully-qualified deps. kotlin_library( name = 'testutil', srcs = glob(['tests/**/*.kt'], excludes = 'tests/**/*Test.kt'), deps = [ ':lib-fb4a', '//java/com/facebook/base:base', ], ) "},{"title":"kotlin_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#kotlin_test","content":"def kotlin_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _inject_test_env: str = _, _is_building_android_binary: bool = _, _java_test_toolchain: str = _, _java_toolchain: str = _, _kotlin_toolchain: str = _, _remote_test_execution_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processing_tool: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_library_whitelist: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, env: dict[str, str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_kotlinc_arguments: list[str] = _, fork_mode: str = _, friend_paths: list[str] = _, incremental: bool = _, java: None | str = _, java_agents: list[str] = _, java_version: None | str = _, javac: None | str = _, k2: bool = _, kotlin_compiler_plugins: dict[str, dict[str, str]] = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, run_test_separately: bool = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, std_err_log_level: None | int | str = _, std_out_log_level: None | int | str = _, target: None | str = _, test_case_timeout_ms: None | int = _, test_class_names_file: None | str = _, test_rule_timeout_ms: None | int = _, test_type: None | str = _, unbundled_resources_root: None | str = _, use_cxx_libraries: None | bool = _, use_dependency_order_classpath: None | bool = _, use_jvm_abi_gen: None | bool = _, vm_args: list[str] = _ ) -> None A kotlin_test() rule is used to define a set of .kt files that contain tests to run via JUnit. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one deps: Same as kotlin_library(). // org.junit.rules.Timeout was not introduced until 4.7. Must include JUnit (version 4.7 or later) as a dependency for JUnit tests. Must include TestNG (version 6.2 or later) and hamcrest as a dependencies for TestNG tests. env: A map of environment names and values to set when running the test. fork_mode: Controls whether tests will all be run in the same process or a process will be started for each set of tests in a class. (This is mainly useful when porting Java tests to Buck from Apache Ant which allows JUnit tasks to set a fork="yes" property. It should not be used for new tests since it encourages tests to not cleanup after themselves and increases the tests' computational resources and running time.) noneAll tests will run in the same process.per_testA process will be started for each test class in which all tests of that test class will run. incremental: Enables Kotlin incremental compilation. k2: Enables the Kotlin K2 compiler. labels: A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g., smoke or fast). A label can be used to filter or include a specific test rule when executing buck test resources: Same as kotlin_library(). srcs: Like kotlin_library(), all of the .kt files specified by the srcs argument will be compiled when this rule is built. In addition, all of the corresponding .class files that are built by this rule will be passed as arguments to JUnit when this rule is run as a test. .class files that are passed to JUnit that do not have any methods annotated with @Test are considered failed tests, so make sure that only test case classes are specified as srcs. This is frequently done by specifying srcs as glob(['**/*Test.kt']). std_err_log_level: Same as std_out_log_level, but for std err. std_out_log_level: Log level for messages from the source under test that buck will output to std out. Value must be a valid java.util.logging.Level value. test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . test_type: Specifies which test framework to use. The currently supported options are 'junit' and 'testng'. vm_args: Runtime arguments to the JVM running the tests. "},{"title":"legacy_toolchain​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#legacy_toolchain","content":"def legacy_toolchain( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, toolchain_name: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"llvm_link_bitcode​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#llvm_link_bitcode","content":"def llvm_link_bitcode( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, buck2_compatibility: str = _, deps: list[str] = _, deps_query: None | str = _, srcs: list[str | (str, list[str])] = _ ) -> None A llvm_link_bitcode() rule builds a LLVM bitcode object from a given set LLVM bitcode inputs. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one deps_query: Status: experimental/unstable. The deps query takes a query string that accepts the following query functions, and appends the output of the query to the declared deps: attrfilterdepsexceptintersectfilterkindsetunion The macro $declared_deps may be used anywhere a target literal pattern is expected in order to refer to the explicit deps of this rule as they appear in the rule's definition. For example, if your build rule declares android_library( name = 'lib', deps = ['//foo:foo'], deps_query = '$declared_deps', ) then the macro $declared_deps would be expanded to a literal set(//foo:foo). Some example queries: "filter({name_regex}, $declared_deps)".format(name_regex='//.*') "attrfilter(annotation_processors, com.foo.Processor, $declared_deps)" "deps('//foo:foo', 1)" Note: any targets included in this query must also be present in deps. srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). Details​ Examples: # A rule that builds and runs C/C++ test using gtest. llvm_link_bitcode( name = 'echo_test', srcs = [ 'echo_test.o', // Where this is a LLVM bitcode object. 'echo_other.o', // And this is another LLVM bitcode object. ], ) "},{"title":"lua_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#lua_binary","content":"def lua_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, main_module: str = _, native_starter_library: None | str = _, package_style: None | str = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, python_platform: None | str = _ ) -> None A lua_library() rule is used to group together Lua sources to be packaged into a top-level lua_binary() rule. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: lua_library() rules to this binary will access.main_module: The module which serves as the entry point for this rule. Details​ Examples: lua_binary( name = 'tailer', main_module = 'tailer', deps = [ ':tailerutils', ], ) lua_library( name = 'tailerutils', srcs = glob(['*.lua']), ) "},{"title":"lua_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#lua_library","content":"def lua_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, base_module: None | str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, platform_deps: list[(str, list[str])] = _, srcs: list[str] | dict[str, str] = _ ) -> None A lua_library() rule is used to group together Lua sources to be packaged into a top-level lua_binary() rule. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebase_module: The package for which the given specified sources and resources should reside in their final location in the top-level binary. If unset, the project relative directory that houses the BUCK file is used.deps: Other lua_library() rules which list srcs from which this rule imports modules.srcs: The set of .lua files included in this library. Details​ Examples: # A rule that includes a single .py file. lua_library( name = 'fileutil', srcs = ['fileutil.lua'], ) # A rule that uses glob() to include all sources in the directory which the # rule is defined. It also lists a resource file that gets packaged with # the sources in this rule. lua_library( name = 'testutil', srcs = glob(['testutil/**/*.lua'], ) "},{"title":"matlab_program​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#matlab_program","content":"def matlab_program( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _matlab_toolchain: str = _, buck2_compatibility: str = _, main: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"ndk_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ndk_library","content":"def ndk_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, flags: list[str] = _, is_asset: bool = _, labels: list[str] = _, licenses: list[str] = _, srcs: list[str] = _ ) -> None An ndk_library() is used to define a set of C/C++ files, an Android.mk and an Application.mk file that are used by the NDK's ndk-build tool to generate one or more shared objects. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: List of build targets to build before this rule.flags: Array of strings passed verbatim to ndk-build. Normally this is not needed, but in some cases you may want to put something here. For example, this can be used to build the libraries in debug mode (NDK_DEBUG=1) or set the number of jobs spawned by ndk-build (by default, the same as the number of cores).is_asset: Normally native shared objects end up in a directory in the root of the APK named lib/. If this parameter is set to True, then these objects are placed in assets/lib/. Placing shared objects in a non-standard location prevents Android from extracting them to the device's internal storage.srcs: The set of files to compile for this rule. If not provided, buck assumes that all files with the following extensions are part of the build: c, cpp, cc, cxx, h, hpp, mk. Details​ Additional notes: An android_binary() that includes this library will aggregate all of the native shared objects into a directory in the root of the APK named lib/ or assets/lib/. Unlike the default invocation of ndk-build,buck will put all intermediate files and build output into a subdirectory under buck-out/gen. "},{"title":"ndk_toolchain​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ndk_toolchain","content":"def ndk_toolchain( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_runtime: None | str = _, cxx_toolchain: str, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, objdump: str, shared_runtime_path: None | str = _, strip_apk_libs_flags: None | list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"ocaml_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ocaml_binary","content":"def ocaml_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _ocaml_toolchain: str = _, buck2_compatibility: str = _, bytecode_only: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, ocamldep_flags: list[str] = _, platform: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_linker_flags: list[(str, list[str])] = _, srcs: None | list[str] | dict[str, str] = _, warnings_flags: None | str = _ ) -> None A ocaml_binary() rule builds both native and bytecode executables from the supplied set of OCaml and C source files and dependencies. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_flags: The set of additional compiler flags to pass to ocaml compiler. It supports specifying ppx (see for example).deps: The set of dependencies of this rule. It could include references to ocaml_library and cxx_library rules.platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.srcs: The set of source files to be compiled by this rule. It supports *.ml, *.mli, *.mly, *.mll, and *.c files. (see this test as C interop example and this test as parser and lexer example). Details​ Note: Buck is currently tested with 4.X OCaml series. Examples: For more examples, check out our integration tests. ocaml_binary( name='greet', srcs=[ 'main.ml', 'lex.mll', 'parser.mly', 'hashtable.c', ], deps=[ ':greeting', ':bridge', ], ) ocaml_library( name='greeting', srcs=[ 'greeting.ml', ], deps=[ ':join', ], ) ocaml_library( name='join', srcs=[ 'join.ml', ], ) cxx_library( name='bridge', srcs=[ 'bridge.c', ], ) "},{"title":"ocaml_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ocaml_library","content":"def ocaml_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _ocaml_toolchain: str = _, buck2_compatibility: str = _, bytecode_only: bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, native_plugin: bool = _, ocamldep_flags: list[str] = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, srcs: None | list[str] | dict[str, str] = _, warnings_flags: None | str = _ ) -> None A ocaml_library() rule builds a native and a bytecode libraries from the supplied set of OCaml source files and dependencies. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onecompiler_flags: The set of additional compiler flags to pass to ocaml compiler. It supports specifying ppx (see for example).deps: The set of dependencies of this rule. It could include references to ocaml_library and cxx_library rules.platform_deps: Platform specific dependencies. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of dependencies (same format as deps) that are exported if the platform matches the regex. See deps for more information.srcs: The set of source files to be compiled by this rule. It supports *.ml, *.mli, *.mly, *.mll, and *.c files. (see this test as C interop example and this test as parser and lexer example). Details​ Note: Buck is currently tested with 4.X OCaml series. Examples: For more examples, check out our integration tests. ocaml_library( name='greeting', srcs=[ 'greeting.ml', ], deps=[ ':join', ], ) "},{"title":"ocaml_object​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ocaml_object","content":"def ocaml_object( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _ocaml_toolchain: str = _, buck2_compatibility: str = _, bytecode_only: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, ocamldep_flags: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_linker_flags: list[(str, list[str])] = _, srcs: None | list[str] | dict[str, str] = _, warnings_flags: None | str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"ocaml_shared​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#ocaml_shared","content":"def ocaml_shared( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _ocaml_toolchain: str = _, buck2_compatibility: str = _, bytecode_only: None | bool = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, linker_flags: list[str] = _, ocamldep_flags: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_linker_flags: list[(str, list[str])] = _, srcs: None | list[str] | dict[str, str] = _, warnings_flags: None | str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"platform​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#platform","content":"def platform( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, constraint_values: list[str] = _, deps: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"prebuilt_apple_framework​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_apple_framework","content":"def prebuilt_apple_framework( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _apple_toolchain: str = _, _apple_tools: str = _, _stripped_default: bool = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_linker_flags: list[str] = _, exported_platform_linker_flags: list[(str, list[str])] = _, framework: None | str = _, frameworks: list[str] = _, labels: list[str] = _, libraries: list[str] = _, licenses: list[str] = _, preferred_linkage: str = _, stripped: None | bool = _, supported_platforms_regex: None | str = _ ) -> None A prebuilt_apple_framework() rule represents a set of Objective-C/C++ source files and is very similar to a prebuilt_cxx_library() rule. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one Details​ Examples: prebuilt_apple_framework( name = 'MyPrebuiltFramework', framework = 'myPrebuiltFramework.framework', preferred_linkage = 'static', visibility = [ 'PUBLIC' ] ) "},{"title":"prebuilt_cxx_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_cxx_library","content":"def prebuilt_cxx_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _target_os_type: str = _, allow_cache_upload: None | bool = _, buck2_compatibility: str = _, can_be_asset: bool = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_header_style: str = _, exported_headers: list[str] | dict[str, str] = _, exported_lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, exported_lang_preprocessor_flags: dict[str, list[str]] = _, exported_linker_flags: list[str] = _, exported_platform_deps: list[(str, list[str])] = _, exported_platform_headers: list[(str, list[str] | dict[str, str])] = _, exported_platform_linker_flags: list[(str, list[str])] = _, exported_platform_preprocessor_flags: list[(str, list[str])] = _, exported_post_linker_flags: list[str] = _, exported_post_platform_linker_flags: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, extract_soname: bool = _, force_static: bool = _, frameworks: list[str] = _, header_dirs: None | list[str] = _, header_namespace: None | str = _, header_only: bool = _, import_lib: None | str = _, include_in_android_merge_map_output: bool = _, labels: list[str] = _, libraries: list[str] = _, licenses: list[str] = _, link_whole: bool = _, link_without_soname: bool = _, linker_flags: list[str] = _, local_linker_flags: list[str] = _, platform_header_dirs: None | list[(str, list[str])] = _, platform_import_lib: None | list[(str, str)] = _, platform_shared_lib: None | list[(str, str)] = _, platform_static_lib: None | list[(str, str)] = _, platform_static_pic_lib: None | list[(str, str)] = _, post_linker_flags: list[str] = _, preferred_linkage: str = _, provided: bool = _, public_include_directories: list[str] = _, public_system_include_directories: list[str] = _, raw_headers: list[str] = _, shared_lib: None | str = _, soname: None | str = _, static_lib: None | str = _, static_pic_lib: None | str = _, supported_platforms_regex: None | str = _, supports_merged_linking: None | bool = _, supports_python_dlopen: bool = _, supports_shared_library_interface: bool = _, versioned_exported_lang_platform_preprocessor_flags: list[(dict[str, str], dict[str, list[(str, list[str])]])] = _, versioned_exported_lang_preprocessor_flags: list[(dict[str, str], dict[str, list[str]])] = _, versioned_exported_platform_preprocessor_flags: list[(dict[str, str], list[(str, list[str])])] = _, versioned_exported_preprocessor_flags: list[(dict[str, str], list[str])] = _, versioned_header_dirs: None | list[(dict[str, str], list[str])] = _, versioned_import_lib: None | list[(dict[str, str], str)] = _, versioned_shared_lib: None | list[(dict[str, str], str)] = _, versioned_soname: None | list[(dict[str, str], str)] = _, versioned_static_lib: None | list[(dict[str, str], str)] = _, versioned_static_pic_lib: None | list[(dict[str, str], str)] = _ ) -> None A prebuilt_cxx_library() rule represents a set of native libraries and C/C++ header files and provides various flags to control how they are linked and exported. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneallow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).exported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported.exported_headers: The set of header files that are made available for inclusion to the source files in the target and all targets that transitively depend on it. These should be specified as either a list of header files or a dictionary of header names to header files. The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME>, where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. Note that the header name can contain forward slashes (/). See header_namespace for more information.exported_linker_flags: Flags to add to the linker command line when the output from this rule, or the output from any rule that transitively depends on this rule, is used in a link operation.exported_platform_deps: Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as exported_deps) that are exported if the platform matches the regex. See exported_deps for more information.exported_platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target and all targets that transitively depend on it if the platform matches the regex. See headers for more information.exported_platform_preprocessor_flags: Platform specific exported preprocessor flags. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of flags to use when preprocessing the source files in the target and all targets that transitively depend on it if the platform matches the regex. See exported_preprocessor_flags for more information.header_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.header_only: Indicates if this library only consists of headers or not. If this is set to True, Buck will not link this library into any library that depends on it.local_linker_flags: Flags to add to the linker command line whenever the output from this rule is used in a link operation driven by this rule (e.g. when this rule links a shared library, but not when the output is linked into a shared library by another rule's link group links).platform_shared_lib: Platform specific shared library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See shared_lib for more information.platform_static_lib: Platform specific static library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See static_lib for more information.platform_static_pic_lib: Platform specific static PIC library. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element the path to the library. See static_pic_lib for more information.preferred_linkage: Determines what linkage is used when the library is depended on by another target. To control how the dependencies of this library are linked, use link_style instead.shared_lib: The path to the library to use when performing shared linking.static_lib: The path to the library to use when performing static linking.static_pic_lib: The path to the library to use when performing static PIC linking.supported_platforms_regex: If present, an un-anchored regex (in java.util.regex.Pattern syntax) that matches all platforms that this library supports. It will not be built for other platforms.supports_merged_linking: Whether this rule supports building with the merged linking strategy when building for non-native binaries (e.g. when using .buckconfig s merged setting). Details​ Examples: A prebuilt library containing only headers that other libraries may need. prebuilt_cxx_library( name = 'stdutil', header_only = True, header_dirs = [ 'include', ], ) A prebuilt library with static and shared libs. prebuilt_cxx_library( name = 'mylib', soname = 'libmylib.so', static_lib = 'libmylib.a', static_pic_lib = 'libmylib_pic.a', shared_lib = 'libmylib.so', exported_headers = [ 'mylib.h', ], ) A prebuilt library with multiple builds for multiple platforms. prebuilt_cxx_library( name = 'mylib', soname = 'libmylib.so', platform_shared_lib = [ ('android-arm', 'android-arm/libmylib.so'), ('android-x86', 'android-x86/libmylib.so'), ('iphonesimulator-x86_64', 'iphonesimulator-x86_64/libmylib.so'), ], platform_static_lib = [ ('android-arm', 'android-arm/libmylib.a'), ('android-x86', 'android-x86/libmylib.a'), ('iphonesimulator-x86_64', 'iphonesimulator-x86_64/libmylib.a'), ], exported_headers = [ 'mylib.h', ], ) "},{"title":"prebuilt_cxx_library_group​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_cxx_library_group","content":"def prebuilt_cxx_library_group( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_platform_deps: list[(str, list[str])] = _, exported_preprocessor_flags: list[str] = _, import_libs: dict[str, str] = _, include_dirs: list[str] = _, include_in_android_merge_map_output: bool = _, labels: list[str] = _, licenses: list[str] = _, provided_shared_libs: dict[str, str] = _, shared_libs: dict[str, str] = _, shared_link: list[str] = _, static_libs: list[str] = _, static_link: list[str] = _, static_pic_libs: list[str] = _, static_pic_link: list[str] = _, supported_platforms_regex: None | str = _, supports_shared_library_interface: bool = _ ) -> None A prebuilt_cxx_library_group() rule represents a group of native libraries which should be handled together in a single rule, perhaps using special link-line construction. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneexported_deps: Dependencies that will also appear to belong to any rules that depend on this one. This has two effects: Exported dependencies will also be included in the link line of dependents of this rules, but normal dependencies will not. When reexport_all_header_dependencies = False, only exported headers of the rules specified here are re-exported.exported_platform_deps: Platform specific dependencies that will also appear to belong to any rules that depend on this one. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is a list of external dependencies (same format as exported_deps) that are exported if the platform matches the regex. See exported_deps for more information.provided_shared_libs: The map of system-provided shared library names to paths used when using the shared link style. The shared_link parameter should refer to these libs using their library name.shared_libs: The map of shared library names to paths used when using the shared link style. The shared_link parameter should refer to these libs using their library name.shared_link: The arguments to use when linking this library group using the shared link style. The actual paths to libraries should be listed in the shared_libs parameter, and referenced via the the $(lib [name]) macro (or the $(rel-lib [name]) macro, when the shared library should be linked using the -L[dir] -l[name] style) in these args.static_libs: The paths to the libraries used when using the static link style. The static_link parameter should refer to these libs using their index number.static_link: The arguments to use when linking this library group using the static link style. The actual paths to libraries should be listed in the static_libs parameter, and referenced via the the $(lib [index]) macro in these args.static_pic_libs: The paths to the libraries used when using the static link style. The static_pic_link parameter should refer to these libs using their index number.static_pic_link: The arguments to use when linking this library group using the static-pic link style. The actual paths to libraries should be listed in the static_pic_libs parameter, and referenced via the the $(lib [index]) macro in these args. Details​ Examples: A prebuilt library group wrapping two libraries that must be linked together. prebuilt_cxx_library_group( name = 'util', static_link = [ '-Wl,--start-group', '$(lib 0)', '$(lib 1)', '-Wl,--end-group', ], static_libs = [ 'lib/liba.a', 'lib/libb.a', ], static_pic_link = [ '-Wl,--start-group', '$(lib 0)', '$(lib 1)', '-Wl,--end-group', ], static_libs = [ 'lib/liba_pic.a', 'lib/libb_pic.a', ], shared_link = [ '$(rel-lib liba.so)', '$(rel-lib libb.so)', ], shared_libs = { 'liba.so': 'lib/liba.so', }, provided_shared_libs = { 'libb.so': 'lib/libb.so', }, ) "},{"title":"prebuilt_dotnet_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_dotnet_library","content":"def prebuilt_dotnet_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, assembly: str, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _ ) -> None A prebuilt_dotnet_library() rule is used to include prebuilt .Net assembles into your .Net code. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneassembly: The path to the DLL that this rule provides. Details​ Examples: prebuilt_dotnet_library( name = 'log4net', assembly = 'log4net.dll', ) csharp_library( name = 'example', srcs = [ 'Hello.cs', ], framework_ver = 'net46', deps = [ ':log4net', 'System.dll', ], ) "},{"title":"prebuilt_go_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_go_library","content":"def prebuilt_go_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, labels: list[str] = _, library: str, licenses: list[str] = _, package_name: None | str = _ ) -> None A prebuilt_go_library() rule provides a native library from the specified file. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onedeps: The set of dependencies of this rule. Currently, this only supports go_library rules.library: Path to the precompiled Go library - typically of the form 'foo.a'.package_name: Sets the full name of the package being compiled. This defaults to the path from the buck root. (e.g. given a ./.buckconfig, a rule in ./a/b/BUCK defaults to package "a/b") Details​ Examples: For more examples, check out our integration tests. prebuilt_go_library( name='greeting', package_name='greeting', library='greeting.a', deps=[ ':join', ], ) "},{"title":"prebuilt_jar​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_jar","content":"def prebuilt_jar( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _dex_min_sdk_version: None | int = _, _dex_toolchain: str = _, _exec_os_type: str = _, _prebuilt_jar_toolchain: str = _, binary_jar: str, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, desugar_deps: list[str] = _, generate_abi: bool = _, javadoc_url: None | str = _, labels: list[str] = _, licenses: list[str] = _, maven_coords: None | str = _, never_mark_as_unused_dependency: bool = _, required_for_source_only_abi: bool = _, source_jar: None | str = _ ) -> None A prebuilt_jar() rule is used to identify a JAR file that is checked into our repository as a precompiled binary rather than one that is built from source by Buck. Frequently, these are used to reference third-party JAR files (such as junit.jar) and are used as dependencies of java_library() rules. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebinary_jar: Path to the pre-built JAR file.deps: Rules that must be built before this rule. Because the binary_jar is already built, there should be nothing to build, so this should be empty.javadoc_url: URL to the Javadoc for the .class files in the binary_jar.source_jar: Path to a JAR file that contains the .java files to create the .class in the binary_jar. This is frequently provided for debugging purposes. Details​ Examples: prebuilt_jar( name = 'junit', binary_jar = 'junit-4.8.2.jar', source_jar = 'junit-4.8.2-sources.jar', javadoc_url = 'http://kentbeck.github.com/junit/javadoc/4.8/', ) java_library( name = 'tests', srcs = glob(['tests/**/*Test.java']), deps = [ ':junit', ], ) "},{"title":"prebuilt_native_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_native_library","content":"def prebuilt_native_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, has_wrap_script: bool = _, is_asset: bool = _, labels: list[str] = _, licenses: list[str] = _, native_libs: str ) -> None A prebuilt_native_library() rule is used to bundle native libraries (i.e., .so files) for Android. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onehas_wrap_script: When using an exopackage, if this parameter is set to True, then the libraries for this rule are included in the primary APK even if native libraries would otherwise not be placed in it. This is intended for a native library directory that contains a wrap.sh script, which must be included in the primary APK to take effect. Only one of is_asset and has_wrap_script can be set for a rule.is_asset: Normally native shared objects end up in a directory in the root of the APK named lib/. If this parameter is set to True, then these objects are placed in assets/lib/. Placing shared objects in a non-standard location prevents Android from extracting them to the device's internal storage. Details​ Examples: Most of the time, a prebuilt_native_library is private to the android_library() that uses it: prebuilt_native_library( name = 'native_libs', native_libs = 'libs', ) android_library( name = 'my_lib', srcs = glob(['*.java']), deps = [ ':native_libs', ], ) "},{"title":"prebuilt_ocaml_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_ocaml_library","content":"def prebuilt_ocaml_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, bytecode_c_libs: list[str] = _, bytecode_lib: None | str = _, bytecode_only: bool = _, c_libs: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, include_dir: None | str = _, labels: list[str] = _, lib_dir: str = _, lib_name: str = _, licenses: list[str] = _, native_c_libs: list[str] = _, native_lib: None | str = _, platform_deps: list[(str, list[str])] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"prebuilt_python_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#prebuilt_python_library","content":"def prebuilt_python_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _create_manifest_for_source_dir: str = _, _create_third_party_build_root: str = _, _extract: str = _, _python_toolchain: str = _, binary_src: str, buck2_compatibility: str = _, compile: bool = _, contacts: list[str] = _, cxx_header_dirs: None | list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exclude_deps_from_merged_linking: bool = _, ignore_compile_errors: bool = _, infer_cxx_header_dirs: bool = _, labels: list[str] = _, licenses: list[str] = _, strip_soabi_tags: bool = _ ) -> None A prebuilt_python_library() rule is used to include prebuilt python packages into the output of a top-level python_binary() or python_test() rule. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one binary_src: The path to the .whl or .egg to use. Note: .egg files have a very particular naming convention that must be followed - otherwise it will not be found at runtime! deps: Other prebuilt_python_library() rules which this library depends on. These may also be python_library rules if you want to depend on a source-based copy of the library. exclude_deps_from_merged_linking: When linking the top-level binary with a merged .buckconfig, do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging. labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() . strip_soabi_tags: Strip the SOABI tags from extensions in the prebuilt library. Note that this should be considered unsafe, as it removes builtin protections that fail fast when a potententially incompatible native extension is imported. Details​ These prebuilt libraries can either be whl files or eggs whls for most packages are available for download from PyPI. The whl used may be downloaded with remote_file(). However, Buck does not attempt to infer dependency information from pip, so that information will have to be imparted by the user. To create an egg for a package, run python setup.py bdist_egg in the package source distribution. Examples: # A simple prebuilt_python_library with no external dependencies. remote_file( name = "requests-download", url = "https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl", sha1 = "e1fc28120002395fe1f2da9aacea4e15a449d9ee", out = "requests-2.22.0-py2.py3-none-any.whl", ) prebuilt_python_library( name = "requests", binary_src = ":requests-download", ) # A slightly more complex example prebuilt_python_library( name = "greenlet", binary_src = "greenlet-0.4.7-py2.7-macosx-10.10-x86_64.egg", ) prebuilt_python_library( name = "gevent", binary_src = "gevent-1.0.2-py2.7-macosx-10.10-x86_64.egg", deps = [ ":greenlet", ], ) "},{"title":"python_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_binary","content":"def python_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _create_manifest_for_source_dir: str = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _package_remotely: bool = _, _python_toolchain: str = _, _target_os_type: str = _, allow_cache_upload: None | bool = _, anonymous_link_groups: bool = _, auto_link_groups: bool = _, base_module: None | str = _, binary_linker_flags: list[str] = _, bolt_flags: list[str] = _, bolt_profile: None | str = _, buck2_compatibility: str = _, build_args: list[str] = _, compile: None | bool = _, compiler_flags: list[str] = _, constraint_overrides: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_main: str = _, cxx_platform: None | str = _, cxx_runtime_type: None | str = _, deduplicate_merged_link_roots: None | bool = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, distributed_thinlto_partial_split_dwarf: bool = _, dummy_omnibus: None | str = _, enable_distributed_thinlto: bool = _, executable_deps: list[str] = _, executable_name: None | str = _, exported_needs_coverage_instrumentation: bool = _, extension: None | str = _, fat_lto: bool = _, focused_list_target: None | str = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, include_directories: list[str] = _, inplace_build_args: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_deps: list[str] = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_group_public_deps_label: None | str = _, link_ordering: None | str = _, link_style: str = _, link_whole: bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, main: None | str = _, main_function: None | str = _, main_module: None | str = _, make_py_package: None | str = _, manifest_module_entries: None | dict[str, list[str] | dict[str, typing.Any]] = _, native_link_strategy: None | str = _, package_split_dwarf_dwp: bool = _, package_style: None | str = _, par_style: None | str = _, platform: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preload_deps: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_native_objects: bool = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preload_deps: list[str] = _, preprocessor_flags: list[str] = _, py_version_for_type_checking: None | str = _, raw_headers: list[str] = _, repl_main: None | str = _, repl_only_deps: list[str] = _, resources: list[str] | dict[str, str] = _, run_with_inplace: bool = _, runtime_env: None | dict[str, str] = _, standalone_build_args: list[str] = _, static_extension_finder: str = _, static_extension_utils: str = _, strip_libpar: str = _, strip_stapsdt: bool = _, thin_lto: bool = _, typing: bool = _, version_universe: None | str = _, weak_framework_names: list[str] = _, zip_safe: None | bool = _ ) -> None A python_binary() rule is used to build an executable Python package that includes Python sources and resources from all transitive dependencies. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneallow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it).base_module: The package in which the main module should reside in its final location in the binary. If unset, Buck uses the project-relative directory that contains the BUCK file.deduplicate_merged_link_roots: When linking multiple top-level binaries with the merged .buckconfig, coalesce root link rules which are identical across independent merged links.deps: A list of python_library() rules that specify Python modules to include in the binary — including all transitive dependencies of these rules.labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable.link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups.linker_flags: Additional linker flags that should be applied to any linking which is specific to this rule. Note that whether these flags are used is dependent on the native link strategy selected in .buckconfig and currently applies only to the merged .buckconfig; the separate link strategy pulls in shared libraries that are linked in the context of the rules that own them, such as cxx_library().main: The Python file which serves as the entry point for the binary. The interpreter initiates execution of the binary with the code in this file.main_function: Name of a Python function that will serve as the main entry point of the binary. The name is either a fully qualified name like foo.bar.baz or it starts with a . like .bar.baz, in which case it is relative to the package containing the target. This should usually be a function defined within one of the dependencies of this target. This attribute should be preferred over main_module or main, and it is an error to specify more than one of these.main_module: The python module that should be the entry point of the binary. This should be a module name within a python_library that this binary depends on. Note that module names take base_module of the library into account. This property is mutually exclusive with main, and should be preferred to main, which is deprecated.manifest_module_entries: If present, it should be a string -> entry mapping that gets generated into a __manifest__ module in the executable. Top level string keys will be the names of variables in this module (so they must be valid Python identifiers). An entry can be a list of strings, or a further string-keyed dictionary.package_style: Used to override the global packaging style that is set in [.buckconfig ].platform: The name of the Python platform flavor to build against by default as defined in the buckconfig#pythonsection of .buckconfig.preload_deps: A list of C/C++ library dependencies that need to be loaded before any other libraries when the PEX starts up. This requires dynamic loader support, such as LD_PRELOAD, found on most systems. This list is order- sensitive and the preload libraries listed here are passed down to the dynamic linker in the same order.py_version_for_type_checking: This option will force the type checker to perform checking under a specific version of Python interpreter.typing: Determines whether to perform type checking on the given target. Default is False. Details​ Examples: Build an executable from the Python files in the BUCK directory. # BUCK python_binary( name = 'tailer', main_module = 'tailer', deps = [ ':tailerutils', ], ) python_library( name = 'tailerutils', # The main module, tailer.py, is specified here. # (Separated out from the glob pattern for clarity.) srcs = glob(['tailer.py', '*.py']), ) "},{"title":"python_bootstrap_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_bootstrap_binary","content":"def python_bootstrap_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _exec_os_type: str = _, _python_bootstrap_toolchain: str = _, _win_python_wrapper: None | str = _, buck2_compatibility: str = _, deps: list[str] = _, main: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"python_bootstrap_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_bootstrap_library","content":"def python_bootstrap_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, deps: list[str] = _, srcs: list[str] ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"python_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_library","content":"def python_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _create_manifest_for_source_dir: str = _, _create_third_party_build_root: str = _, _cxx_toolchain: str = _, _python_toolchain: str = _, base_module: None | str = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, exclude_deps_from_merged_linking: bool = _, ignore_compile_errors: bool = _, labels: list[str] = _, licenses: list[str] = _, platform: None | str = _, platform_deps: list[(str, list[str])] = _, platform_resources: list[(str, list[str] | dict[str, str])] = _, platform_srcs: list[(str, list[str] | dict[str, str])] = _, py_version_for_type_checking: None | str = _, resources: list[str] | dict[str, str] = _, srcs: list[str] | dict[str, str] = _, type_stubs: list[str] | dict[str, str] = _, typing: bool = _, version_universe: None | str = _, versioned_resources: None | list[(dict[str, str], list[str] | dict[str, str])] = _, versioned_srcs: None | list[(dict[str, str], list[str] | dict[str, str])] = _, zip_safe: None | bool = _ ) -> None A python_library() rule is used to group together Python source files and resources to be passed together in as a dep of other rules. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onebase_module: The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file.deps: Other python_library() rules that list srcs from which this rule imports modules.exclude_deps_from_merged_linking: When linking the top-level binary with a merged .buckconfig, do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging.labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() .platform_resources: Python-platform-specific resource files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of resource files. The regex should use java.util.regex.Pattern syntax. The platform name is a Python platform flavor defined in the buckconfig#python section of .buckconfig.platform_srcs: Python-platform-specific source files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of source files. The regex should use java.util.regex.Pattern syntax. The platform name is a Python platform flavor defined in the buckconfig#python section of .buckconfig.py_version_for_type_checking: This option will force the type checker to perform checking under a specific version of Python interpreter.srcs: The set of Python (.py) files to include in this library.typing: Determines whether to perform type checking on the given target. Default is False. Details​ Examples: Include Python source files and resource files. # BUCK # A rule that includes a single Python file. python_library( name = 'fileutil', srcs = ['fileutil.py'], deps = [ '//third_party/python-magic:python-magic', ], ) # A rule that uses glob() to include all Python source files in the # directory in which the rule is defined. The rule also specifies a # resource file that gets packaged with the source file. python_library( name = 'testutil', srcs = glob(['testutil/**/*.py']), resources = [ 'testdata.dat', ], ) "},{"title":"python_needed_coverage_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_needed_coverage_test","content":"def python_needed_coverage_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _inject_test_env: str = _, _remote_test_execution_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, env: dict[str, str] = _, labels: list[str] = _, needed_coverage: list[(int, str, None | str)] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, test: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"python_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_test","content":"def python_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _create_manifest_for_source_dir: str = _, _cxx_hacks: str = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _inject_test_env: str = _, _python_toolchain: str = _, _remote_test_execution_toolchain: str = _, _target_os_type: str = _, _test_main: str = _, additional_coverage_targets: list[str] = _, anonymous_link_groups: bool = _, auto_link_groups: bool = _, base_module: None | str = _, binary_linker_flags: list[str] = _, bolt_flags: list[str] = _, bolt_profile: None | str = _, buck2_compatibility: str = _, build_args: list[str] = _, compile: None | bool = _, compiler_flags: list[str] = _, constraint_overrides: list[str] = _, contacts: list[str] = _, coverage_instrumentation_compiler_flags: list[str] = _, cxx_main: str = _, cxx_platform: None | str = _, cxx_runtime_type: None | str = _, deduplicate_merged_link_roots: None | bool = _, default_host_platform: None | str = _, default_platform: None | str = _, defaults: dict[str, str] = _, deps: list[str] = _, deps_query: None | str = _, devirt_enabled: bool = _, distributed_thinlto_partial_split_dwarf: bool = _, dummy_omnibus: None | str = _, enable_distributed_thinlto: bool = _, env: dict[str, str] = _, exclude_deps_from_merged_linking: bool = _, executable_deps: list[str] = _, executable_name: None | str = _, exported_needs_coverage_instrumentation: bool = _, extension: None | str = _, fat_lto: bool = _, focused_list_target: None | str = _, frameworks: list[str] = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, headers_as_raw_headers_mode: None | str = _, implicit_test_library: None | str = _, include_directories: list[str] = _, inplace_build_args: list[str] = _, labels: list[str] = _, lang_compiler_flags: dict[str, list[str]] = _, lang_platform_compiler_flags: dict[str, list[(str, list[str])]] = _, lang_platform_preprocessor_flags: dict[str, list[(str, list[str])]] = _, lang_preprocessor_flags: dict[str, list[str]] = _, libraries: list[str] = _, licenses: list[str] = _, link_deps_query_whole: bool = _, link_execution_preference: None | str = _, link_group: None | str = _, link_group_deps: list[str] = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_group_public_deps_label: None | str = _, link_ordering: None | str = _, link_style: str = _, link_whole: bool = _, linker_extra_outputs: list[str] = _, linker_flags: list[str] = _, main_function: None | str = _, main_module: None | str = _, make_py_package: None | str = _, manifest_module_entries: None | dict[str, list[str] | dict[str, typing.Any]] = _, native_link_strategy: None | str = _, needed_coverage: list[(int, str, None | str)] = _, package_split_dwarf_dwp: bool = _, package_style: None | str = _, par_style: None | str = _, platform: None | str = _, platform_compiler_flags: list[(str, list[str])] = _, platform_deps: list[(str, list[str])] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, platform_linker_flags: list[(str, list[str])] = _, platform_preload_deps: list[(str, list[str])] = _, platform_preprocessor_flags: list[(str, list[str])] = _, platform_resources: list[(str, list[str] | dict[str, str])] = _, platform_srcs: list[(str, list[str | (str, list[str])])] = _, post_linker_flags: list[str] = _, post_platform_linker_flags: list[(str, list[str])] = _, precompiled_header: None | str = _, prefer_stripped_native_objects: bool = _, prefer_stripped_objects: bool = _, prefix_header: None | str = _, preload_deps: list[str] = _, preprocessor_flags: list[str] = _, py_version_for_type_checking: None | str = _, raw_headers: list[str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, repl_main: None | str = _, repl_only_deps: list[str] = _, resources: list[str] | dict[str, str] = _, run_with_inplace: bool = _, runner: None | str = _, runtime_env: None | dict[str, str] = _, specs: None | str = _, srcs: list[str] | dict[str, str] = _, standalone_build_args: list[str] = _, static_extension_finder: str = _, static_extension_utils: str = _, strip_libpar: str = _, strip_stapsdt: bool = _, test_rule_timeout_ms: None | int = _, thin_lto: bool = _, typing: bool = _, version_universe: None | str = _, versioned_resources: None | list[(dict[str, str], list[str] | dict[str, str])] = _, versioned_srcs: None | list[(dict[str, str], list[str] | dict[str, str])] = _, weak_framework_names: list[str] = _, zip_safe: None | bool = _ ) -> None A python_test() rule defines a set of .py files that contain tests to run via the Python unit testing framework. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one base_module: The package in which the specified source files and resources should reside in their final location in the top-level binary. If unset, Buck uses the project-relative directory that contains the BUCK file. deduplicate_merged_link_roots: When linking multiple top-level binaries with the merged .buckconfig, coalesce root link rules which are identical across independent merged links. deps: other rules used by the tests in this rule's sources. env: A map of environment names and values to set when running the test. It is also possible to expand references to other rules within the values of these environment variables, using builtin string parameter macros: $(location //path/to:target)Expands to the location of the output of the build rule. This means that you can refer to these without needing to be aware of how Buck is storing data on the disk mid-build. exclude_deps_from_merged_linking: When linking the top-level binary with a merged .buckconfig, do not merge or re-link any native transitive deps of this library. This is useful if this library wraps prebuilt native extensions which cannot be re-linked as part of library merging. labels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() . link_group_deps: Additional targets to traverse when building link groups, but which should not be direct dependencies of the main executable. link_group_public_deps_label: Surface nodes with this label as "public" nodes in the main executable when linking with with link groups. linker_flags: Additional linker flags that should be applied to any linking which is specific to this rule. Note that whether these flags are used is dependent on the native link strategy selected in .buckconfig and currently applies only to the merged .buckconfig; the separate link strategy pulls in shared libraries that are linked in the context of the rules that own them, such as cxx_library(). main_function: Name of a Python function that will serve as the main entry point of the binary. The name is either a fully qualified name like foo.bar.baz or it starts with a . like .bar.baz, in which case it is relative to the package containing the target. This should usually be a function defined within one of the dependencies of this target. This attribute should be preferred over main_module or main, and it is an error to specify more than one of these. main_module: The main module used to run the tests. This parameter is normally not needed, as Buck will provide a default main module that runs all tests. However, you can override this with your own module to perform custom initialization or command line processing. Your custom module can import the standard Buck test main as __test_main__, and can invoke it's normal main function as __test_main__.main(sys.argv). manifest_module_entries: If present, it should be a string -> entry mapping that gets generated into a __manifest__ module in the executable. Top level string keys will be the names of variables in this module (so they must be valid Python identifiers). An entry can be a list of strings, or a further string-keyed dictionary. package_style: Used to override the global packaging style that is set in [.buckconfig ]. platform: The name of the Python platform flavor to build against by default as defined in the buckconfig#pythonsection of .buckconfig. platform_resources: Python-platform-specific resource files. These should be specified as a list of pairs where the first element in each pair is an un-anchored regex against which the platform name is matched, and the second element is a list of resource files. The regex should use java.util.regex.Pattern syntax. The platform name is a Python platform flavor defined in the buckconfig#python section of .buckconfig. preload_deps: A list of C/C++ library dependencies that need to be loaded before any other libraries when the PEX starts up. This requires dynamic loader support, such as LD_PRELOAD, found on most systems. This list is order- sensitive and the preload libraries listed here are passed down to the dynamic linker in the same order. py_version_for_type_checking: This option will force the type checker to perform checking under a specific version of Python interpreter. srcs: The set of Python (.py) files to include in this library. test_rule_timeout_ms: If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default rule_timeout if any has been specified in .buckconfig . typing: Determines whether to perform type checking on the given target. Default is False. Details​ If your test requires static files you should specify these in the resources or platform_resources arguments. If you do not specify these files, they won't be available when your test runs. Examples: # A rule that includes a single .py file containing tests. python_test( name = 'fileutil_test', srcs = ['fileutil_tests.py'], deps = [ ':fileutil', ], ) # A rule that uses glob() to include all sources in the directory which the # rule is defined. It also lists a resource file that gets packaged with # the sources in this rule. python_library( name = 'fileutil', srcs = glob(['fileutil/**/*.py']), resources = [ 'testdata.dat', ], ) "},{"title":"python_test_runner​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#python_test_runner","content":"def python_test_runner( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, main_module: str = _, src: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this onelabels: Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query() . "},{"title":"remote_file​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#remote_file","content":"def remote_file( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _unzip_tool: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, out: None | str = _, sha1: None | str = _, sha256: None | str = _, type: None | str = _, url: str, vpnless_url: None | str = _ ) -> None A remote_file() rule is used to download files from the Internet to be used as dependencies for other rules. These rules are downloaded by running fetch, or can be downloaded as part of build. See the note there about the .buckconfig setting to configure that. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one out: An optional name to call the downloaded artifact. Buck will generate a default name if one is not provided that uses the name of the rule. type: An optional type of the downloaded file. dataRegular data file.executable Executable file. Buck will ensure that output has appropriate permissions if applicable. exploded_zip Zip archive which will be automatically unzipped into an output directory. url: You can specify an http, https, or a mvn URL. If you specify a mvn URL, it will be decoded as described in the javadocs for MavenUrlDecoder See the example section below. vpnless_url: An optional additional URL from which this resource can be downloaded when off VPN. Meta-internal only. Details​ Examples: Here's an example of a remote_file() using an https URL. remote_file( name = 'android-ndk-r10e-darwin-x86_64', url = 'https://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin', sha1 = 'b57c2b9213251180dcab794352bfc9a241bf2557', ) Here's an example of a remote_file() using a mvn URL being referenced by a prebuilt_jar(). prebuilt_jar( name = 'jetty-all', binary_jar = 'jetty-all-9.2.10.v20150310.jar', source_jar = ':jetty-source', ) remote_file( name = 'jetty-source', out = 'jetty-all-9.2.10.v20150310-sources.jar', url = 'mvn:org.eclipse.jetty.aggregate:jetty-all:src:9.2.10.v20150310', sha1 = '311da310416d2feb3de227081d7c3f48742d7075', ) Here's an example of a remote_file() using a mvn URI which uses a non-default maven repository host. remote_file( name = 'jetty-source', out = 'jetty-all-9.2.10.v20150310-sources.jar', url = 'mvn:https://maven-repo.com:org.eclipse.jetty.aggregate:jetty-all:src:9.2.10.v20150310', sha1 = '311da310416d2feb3de227081d7c3f48742d7075', ) Here's an example of a remote_file() using a mvn URI which uses a Maven classifier. remote_file( name = 'groovy-groovysh-indy', out = 'jetty-all-9.2.10.v20150310-sources.jar', url = 'mvn:org.codehaus.groovy:groovy-groovysh:jar:indy:2.4.1', sha1 = '1600fde728c885cc9506cb102deb1b494bd7c130', ) "},{"title":"robolectric_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#robolectric_test","content":"def robolectric_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _android_toolchain: str = _, _apple_platforms: dict[str, str] = _, _build_only_native_code: bool = _, _exec_os_type: str = _, _inject_test_env: str = _, _is_building_android_binary: bool = _, _java_test_toolchain: str = _, _java_toolchain: str = _, _kotlin_toolchain: str = _, _remote_test_execution_toolchain: str = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, android_optional_jars: None | list[str] = _, annotation_processing_tool: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_library_whitelist: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, env: dict[str, str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, extra_kotlinc_arguments: list[str] = _, fork_mode: str = _, friend_paths: list[str] = _, incremental: bool = _, jar_postprocessor: None | str = _, java: None | str = _, java_agents: list[str] = _, java_version: None | str = _, javac: None | str = _, k2: bool = _, kotlin_compiler_plugins: dict[str, dict[str, str]] = _, labels: list[str] = _, language: None | str = _, licenses: list[str] = _, locales_for_binary_resources: list[str] = _, manifest: None | str = _, manifest_entries: dict[str, typing.Any] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, preferred_density_for_binary_resources: None | str = _, proguard_config: None | str = _, provided_deps: list[str] = _, provided_deps_query: None | str = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resource_stable_ids: None | str = _, resource_union_package: None | str = _, resources: list[str] = _, resources_root: None | str = _, robolectric_manifest: str, robolectric_runtime_dependencies: list[str] = _, robolectric_runtime_dependency: None | str = _, run_test_separately: bool = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, std_err_log_level: None | int | str = _, std_out_log_level: None | int | str = _, target: None | str = _, test_case_timeout_ms: None | int = _, test_class_names_file: None | str = _, test_rule_timeout_ms: None | int = _, test_type: None | str = _, unbundled_resources_root: None | str = _, use_cxx_libraries: None | bool = _, use_dependency_order_classpath: None | bool = _, use_jvm_abi_gen: None | bool = _, used_as_dependency_deprecated_do_not_use: bool = _, vm_args: list[str] = _ ) -> None A robolectric_test() rule is used to define a set of .java files that contain tests to run via JUnit with Robolectric test runner. It extends from java_test() rule. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneextra_kotlinc_arguments: List of additional arguments to pass into the Kotlin compiler.incremental: Enables Kotlin incremental compilation.k2: Enables the Kotlin K2 compiler.robolectric_manifest: An Android Manifest for the rule to declare any permissions or intents it may need or want to handle. May either be a file or an android_manifest() target.robolectric_runtime_dependency: Robolectric only runs in offline mode with buck. Specify the relative directory containing all the jars Robolectric uses at runtime. "},{"title":"rust_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#rust_binary","content":"def rust_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _rust_toolchain: str = _, _target_os_type: str = _, _workspaces: list[str] = _, allow_cache_upload: None | bool = _, anonymous_link_groups: bool = _, auto_link_groups: bool = _, buck2_compatibility: str = _, clippy_configuration: None | str = _, contacts: list[str] = _, coverage: bool = _, crate: None | str = _, crate_root: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, deps: list[str] = _, edition: None | str = _, enable_distributed_thinlto: bool = _, env: dict[str, str] = _, features: list[str] = _, flagged_deps: list[(str, list[str])] = _, incremental_build_mode: None | str = _, incremental_enabled: bool = _, labels: list[str] = _, licenses: list[str] = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_style: None | str = _, linker_flags: list[str] = _, mapped_srcs: dict[str, str] = _, named_deps: list[(str, str)] | dict[str, str] = _, resources: list[str] | dict[str, str] = _, rpath: bool = _, rustc_flags: list[str] = _, rustdoc_flags: list[str] = _, srcs: list[str] = _, version_universe: None | str = _ ) -> None A rust_binary() rule builds a native executable from the supplied set of Rust source files and dependencies. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one _workspaces: Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2. allow_cache_upload: Whether to allow uploading the output of this rule to be uploaded to cache when the action is executed locally if the configuration allows (i.e. there is a cache configured and the client has permission to write to it). crate_root: Set the name of the top-level source file for the crate, which can be used to override the default (see srcs). deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules. edition: Set the language edition to be used for this rule. Can be set to any edition the compiler supports (2018 right now). If unset it uses the compiler's default (2015). env: Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded. features: The set of features to be enabled for this rule. These are passed to rustc with --cfg feature="{feature}", and can be used in the code with #[cfg(feature = "{feature}")]. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_flags: The set of additional flags to pass to the linker. mapped_srcs: Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example mapped_srcs = {":generate-module", "src/generated.rs" }. These are added to the regular srcs, so a file should not be listed in both. named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library. rpath: Set the "rpath" in the executable when using a shared link style. rustc_flags: The set of additional compiler flags to pass to rustc. srcs: The set of Rust source files to be compiled by this rule. One of the source files is the root module of the crate. By default this is lib.rs for libraries, main.rs for executables, or the crate's name with .rs appended. This can be overridden with the crate_root rule parameter. Details​ If you invoke a build with the check flavor, then Buck will invoke rustc to check the code (typecheck, produce warnings, etc), but won't generate an executable code. When applied to binaries it produces no output; for libraries it produces metadata for consumers of the library. Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust. Examples: For more examples, check out our integration tests. rust_binary( name='greet', srcs=[ 'greet.rs', ], deps=[ ':greeting', ], ) rust_library( name='greeting', srcs=[ 'greeting.rs', ], deps=[ ':join', ], ) rust_library( name='join', srcs=[ 'join.rs', ], ) "},{"title":"rust_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#rust_library","content":"def rust_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _rust_toolchain: str = _, _target_os_type: str = _, _workspaces: list[str] = _, buck2_compatibility: str = _, clippy_configuration: None | str = _, contacts: list[str] = _, coverage: bool = _, crate: None | str = _, crate_dynamic: None | str = _, crate_root: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, deps: list[str] = _, doc_deps: list[str] = _, doc_env: dict[str, str] = _, doc_link_style: None | str = _, doc_linker_flags: list[str] = _, doc_named_deps: list[(str, str)] | dict[str, str] = _, doctests: None | bool = _, edition: None | str = _, env: dict[str, str] = _, features: list[str] = _, flagged_deps: list[(str, list[str])] = _, incremental_build_mode: None | str = _, incremental_enabled: bool = _, labels: list[str] = _, licenses: list[str] = _, link_style: None | str = _, linker_flags: list[str] = _, mapped_srcs: dict[str, str] = _, named_deps: list[(str, str)] | dict[str, str] = _, preferred_linkage: str = _, proc_macro: bool = _, resources: list[str] | dict[str, str] = _, rustc_flags: list[str] = _, rustdoc_flags: list[str] = _, soname: None | str = _, srcs: list[str] = _, supports_python_dlopen: None | bool = _, version_universe: None | str = _ ) -> None A rust_library() rule builds a native library from the supplied set of Rust source files and dependencies. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one _workspaces: Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2. crate_root: Set the name of the top-level source file for the crate, which can be used to override the default (see srcs). deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules. doc_deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules. doc_env: Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded. doc_link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. doc_linker_flags: The set of additional flags to pass to the linker. doc_named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library. edition: Set the language edition to be used for this rule. Can be set to any edition the compiler supports (2018 right now). If unset it uses the compiler's default (2015). env: Set environment variables for this rule's invocations of rustc. The environment variable values may include macros which are expanded. features: The set of features to be enabled for this rule. These are passed to rustc with --cfg feature="{feature}", and can be used in the code with #[cfg(feature = "{feature}")]. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_flags: The set of additional flags to pass to the linker. mapped_srcs: Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example mapped_srcs = {":generate-module", "src/generated.rs" }. These are added to the regular srcs, so a file should not be listed in both. named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library. rustc_flags: The set of additional compiler flags to pass to rustc. soname: Sets the soname ("shared object name") of any shared library produced from this rule. The default value is based on the full rule name. The macro $(ext) will be replaced with a platform-appropriate extension. An argument can be provided, which is a library version. For example soname = 'libfoo.$(ext 2.3)' will be libfoo.2.3.dylib on Mac and libfoo.so.2.3 on Linux. srcs: The set of Rust source files to be compiled by this rule. One of the source files is the root module of the crate. By default this is lib.rs for libraries, main.rs for executables, or the crate's name with .rs appended. This can be overridden with the crate_root rule parameter. Details​ If you invoke a build with the check flavor, then Buck will invoke rustc to check the code (typecheck, produce warnings, etc), but won't generate an executable code. When applied to binaries it produces no output; for libraries it produces metadata for consumers of the library. Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust. Examples: For more examples, check out our integration tests. rust_library( name='greeting', srcs=[ 'greeting.rs', ], deps=[ ':join', ], ) "},{"title":"rust_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#rust_test","content":"def rust_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, _exec_os_type: str = _, _inject_test_env: str = _, _remote_test_execution_toolchain: str = _, _rust_toolchain: str = _, _target_os_type: str = _, _workspaces: list[str] = _, anonymous_link_groups: bool = _, auto_link_groups: bool = _, buck2_compatibility: str = _, clippy_configuration: None | str = _, contacts: list[str] = _, coverage: bool = _, crate: None | str = _, crate_root: None | str = _, default_host_platform: None | str = _, default_platform: None | str = _, deps: list[str] = _, edition: None | str = _, enable_distributed_thinlto: bool = _, env: dict[str, str] = _, features: list[str] = _, flagged_deps: list[(str, list[str])] = _, framework: bool = _, incremental_build_mode: None | str = _, incremental_enabled: bool = _, labels: list[str] = _, licenses: list[str] = _, link_group: None | str = _, link_group_map: None | str | list[(str, list[(None | str | list[None | str], str, None | str | list[str], None | str)], None | dict[str, typing.Any])] = _, link_group_min_binary_node_count: None | int = _, link_style: None | str = _, linker_flags: list[str] = _, mapped_srcs: dict[str, str] = _, named_deps: list[(str, str)] | dict[str, str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, resources: list[str] | dict[str, str] = _, rpath: bool = _, run_env: dict[str, str] = _, rustc_flags: list[str] = _, rustdoc_flags: list[str] = _, srcs: list[str] = _, version_universe: None | str = _ ) -> None A rust_test() rule builds a Rust test native executable from the supplied set of Rust source files and dependencies and runs this test. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one _workspaces: Internal implementation detail of Rust workspaces. This should not be set manually and will be replaced in favor of metadata in a future version of buck2. crate_root: Set the name of the top-level source file for the crate, which can be used to override the default (see srcs). deps: The set of dependencies of this rule. Currently, this supports rust_library and prebuilt_rust_library rules. edition: Set the language edition to be used for this rule. Can be set to any edition the compiler supports (2018 right now). If unset it uses the compiler's default (2015). env: Set environment variables for this rule's invocations of rustc and during execution of the tests. The environment variable values may include macros which are expanded. features: The set of features to be enabled for this rule. These are passed to rustc with --cfg feature="{feature}", and can be used in the code with #[cfg(feature = "{feature}")]. framework: Use the standard test framework. If this is set to false, then the result is a normal executable which requires a main(), etc. It is still expected to accept the same command-line parameters and produce the same output as the test framework. link_style: Determines whether to build and link this rule's dependencies statically or dynamically. Can be either static, static_pic or shared. linker_flags: The set of additional flags to pass to the linker. mapped_srcs: Add source files along with a local path mapping. Rust is sensitive to the layout of source files, as the directory structure follows the module structure. However this is awkward if the source file is, for example, generated by another rule. In this case, you can set up a mapping from the actual source path to something that makes sense locally. For example mapped_srcs = {":generate-module", "src/generated.rs" }. These are added to the regular srcs, so a file should not be listed in both. named_deps: Add crate dependencies and define a local name by which to use that dependency by. This allows a crate to have multiple dependencies with the same crate name. For example: named_deps = {"local_name", ":some_rust_crate" }. The dependencies may also be non-Rust, but the alias is ignored. It has no effect on the symbols provided by a C/C++ library. rpath: Set the "rpath" in the executable when using a shared link style. run_env: Set environment variables during test execution. The environment variable values may include macros which are expanded. rustc_flags: The set of additional compiler flags to pass to rustc. srcs: The set of Rust source files to be compiled by this rule. One of the source files is the root module of the crate. By default this is lib.rs for libraries, main.rs for executables, or the crate's name with .rs appended. This can be overridden with the crate_root rule parameter. Details​ Note: Buck is currently tested with (and therefore supports) version 1.32.0 of Rust. Examples: For more examples, check out our integration tests. rust_test( name='greet', srcs=[ 'greet.rs', ], deps=[ ':greeting', ], ) rust_library( name='greeting', srcs=[ 'greeting.rs', ], deps=[ ':join', ], ) rust_library( name='join', srcs=[ 'join.rs', ], ) "},{"title":"scala_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#scala_library","content":"def scala_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, target: None | str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"scala_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#scala_test","content":"def scala_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _wip_java_plugin_arguments: dict[str, list[str]] = _, abi_generation_mode: None | str = _, annotation_processor_deps: list[str] = _, annotation_processor_params: list[str] = _, annotation_processors: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, cxx_library_whitelist: list[str] = _, default_cxx_platform: None | str = _, default_host_platform: None | str = _, deps: list[str] = _, deps_query: None | str = _, env: dict[str, str] = _, exported_deps: list[str] = _, exported_provided_deps: list[str] = _, extra_arguments: list[str] = _, fork_mode: str = _, java_version: None | str = _, javac: None | str = _, labels: list[str] = _, licenses: list[str] = _, manifest_file: None | str = _, maven_coords: None | str = _, never_mark_as_unused_dependency: None | bool = _, on_unused_dependencies: None | str = _, plugins: list[str] = _, proguard_config: None | str = _, provided_deps: list[str] = _, remove_classes: list[str] = _, required_for_source_only_abi: bool = _, resources: list[str] = _, resources_root: None | str = _, run_test_separately: bool = _, runtime_deps: list[str] = _, source: None | str = _, source_abi_verification_mode: None | str = _, source_only_abi_deps: list[str] = _, srcs: list[str] = _, std_err_log_level: None | int | str = _, std_out_log_level: None | int | str = _, target: None | str = _, test_case_timeout_ms: None | int = _, test_rule_timeout_ms: None | int = _, test_type: None | str = _, use_cxx_libraries: None | bool = _, use_dependency_order_classpath: None | bool = _, vm_args: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"scene_kit_assets​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#scene_kit_assets","content":"def scene_kit_assets( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, path: str ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"sh_binary​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#sh_binary","content":"def sh_binary( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _target_os_type: str = _, append_script_extension: bool = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, labels: list[str] = _, licenses: list[str] = _, main: str, resources: list[str] = _ ) -> None An sh_binary() is used to execute a shell script. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one append_script_extension: By default, sh_binary ensures that the script has an appropriate extension (e.g. .sh or .bat), appending one itself if necessary. Setting this to False prevents that behavior and makes the caller responsible for ensuring an existing appropriate extension. main: Either the path to the script (relative to the build file), or a build target. This file must be executable in order to be run. resources: A list of files or build rules that this rule requires in order to run. These could be things such as random data files. When the script runs, the $BUCK_DEFAULT_RUNTIME_RESOURCESenvironment variable specifies the directory that contains these resources. This directory's location is determined entirely by Buck; the script should not assume the directory's location. The resources are also made available in a tree structure that mirrors their locations in the source and buck-out trees. The environment variable $BUCK_PROJECT_ROOT specifies a directory that contains all the resources, laid out in their locations relative to the original buck project root. Details​ Examples: This sh_binary() just cats a sample data file back at the user. # $REPO/BUCK sh_binary( name = "script", main = "script.sh", resources = [ "data.dat", ], ) # Sample data file with data we need at runtime $ echo "I'm a datafile" > data.dat # Create a simple script that prints out the resource $ cat > script.sh #!/bin/sh cat $BUCK_DEFAULT_RUNTIME_RESOURCES/data.dat # Make sure the script is executable $ chmod u+x script.sh # Run the script, and see that it prints out the resource we provided $ buck run //:script Jobs completed: 4. Time elapsed: 0.2s. BUILD SUCCEEDED I'm a datafile "},{"title":"sh_test​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#sh_test","content":"def sh_test( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _inject_test_env: str = _, _remote_test_execution_toolchain: str = _, args: list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, env: dict[str, str] = _, labels: list[str] = _, licenses: list[str] = _, list_args: None | list[str] = _, list_env: None | dict[str, str] = _, remote_execution: None | str | dict[str, None | bool | int | str | list[dict[str, str]] | dict[str, str]] = _, remote_execution_action_key_providers: None | str = _, resources: list[str] = _, run_args: list[str] = _, run_env: dict[str, str] = _, run_test_separately: bool = _, test: None | str = _, test_rule_timeout_ms: None | int = _, type: None | str = _ ) -> None A sh_test() is a test rule that can pass results to the test runner by invoking a shell script. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one args: The list of arguments to invoke this script with. These are literal values, and no shell interpolation is done. These can contain string parameter macros, for example, to give the location of a generated binary to the test script. env: Environment variable overrides that should be used when running the script. The key is the variable name, and the value is its value. The values can contain string parameter macrossuch as the location of a generated binary to be used by the test script. test: Either the path to the script (relative to the build file), or a build target. This file must be executable in order to be run. type: If provided, this will be sent to any configured .buckconfig Details​ NOTE: This rule is not currently supported on Windows. Examples: This sh_test() fails if a string does not match a value. # $REPO/BUCK sh_test( name = "script_pass", test = "script.sh", args = ["--pass"], ) sh_test( name = "script_fail", test = "script.sh", args = ["--fail"], ) # Create a simple script that prints out the resource $ cat > script.sh #!/bin/sh for arg in $@; do if [ "$arg" == "--pass" ]; then echo "Passed" exit 0; fi done echo "Failed" exit 1 # Make sure the script is executable $ chmod u+x script.sh # Run the script, and see that one test passes, one fails $ buck test //:script_pass //:script_fail FAILURE script.sh sh_test Building: finished in 0.0 sec (100%) 2/2 jobs, 0 updated Total time: 0.0 sec Testing: finished in 0.0 sec (1 PASS/1 FAIL) RESULTS FOR //:script_fail //:script_pass FAIL <100ms 0 Passed 0 Skipped 1 Failed //:script_fail FAILURE script.sh sh_test ====STANDARD OUT==== Failed PASS <100ms 1 Passed 0 Skipped 0 Failed //:script_pass TESTS FAILED: 1 FAILURE Failed target: //:script_fail FAIL //:script_fail "},{"title":"supermodule_target_graph​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#supermodule_target_graph","content":"def supermodule_target_graph( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, label_pattern: None | str = _, labels: list[str] = _, licenses: list[str] = _, on_duplicate_entry: str = _, out: str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"swift_library​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#swift_library","content":"def swift_library( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, bridging_header: None | str = _, buck2_compatibility: str = _, compiler_flags: list[str] = _, contacts: list[str] = _, default_host_platform: None | str = _, deps: list[str] = _, enable_cxx_interop: bool = _, frameworks: list[str] = _, import_obj_c_forward_declarations: bool = _, labels: list[str] = _, libraries: list[str] = _, licenses: list[str] = _, module_name: None | str = _, preferred_linkage: str = _, sdk_modules: list[str] = _, serialize_debugging_options: bool = _, soname: None | str = _, srcs: list[str] = _, supported_platforms_regex: None | str = _, target_sdk_version: None | str = _, uses_explicit_modules: bool = _, version: None | str = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"swift_toolchain​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#swift_toolchain","content":"def swift_toolchain( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _internal_platform_path: None | str = _, _internal_sdk_path: None | str = _, _swiftc_wrapper: str = _, architecture: None | str = _, buck2_compatibility: str = _, can_toolchain_emit_obj_c_header_textually: bool = _, contacts: list[str] = _, default_host_platform: None | str = _, explicit_modules_uses_gmodules: bool = _, labels: list[str] = _, licenses: list[str] = _, make_swift_comp_db: str = _, make_swift_interface: str = _, object_format: str = _, placeholder_tool: None | str = _, platform_path: None | str = _, prefix_serialized_debug_info: bool = _, resource_dir: None | str = _, runtime_paths_for_bundling: list[str] = _, runtime_paths_for_linking: list[str] = _, runtime_run_paths: list[str] = _, sdk_dependencies_path: None | str = _, sdk_modules: list[str] = _, sdk_path: None | str = _, static_runtime_paths: list[str] = _, supports_cxx_interop_requirement_at_import: bool = _, supports_relative_resource_dir: bool = _, supports_swift_cxx_interoperability_mode: bool = _, supports_swift_importing_obj_c_forward_declarations: bool = _, swift_ide_test_tool: None | str = _, swift_stdlib_tool: str, swift_stdlib_tool_flags: list[str] = _, swiftc: str, swiftc_flags: list[str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"test_suite​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#test_suite","content":"def test_suite( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, test_deps: list[str] = _ ) -> None A test_suite() is used to create a grouping of tests that should all be run by just testing this rule. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one Details​ This rule can then be given to buck test, and all tests that it depends on will be invoked. Note that the test_suite() target is not tested itself, it just tells buck to run other tests. It will not show up in calls to the external runner nor in the normal test output. Examples: This test_suite() sets up two different sets of tests to run, 'all' tests and 'slow' tests. Note that all_tests can depend on slow_tests, and all three tests are run. # instrumentation_tests/BUCK: sh_test( name = "instrumentation_tests", test = "instrumentation_tests.sh", visibility = ["PUBLIC"], ) # integration_tests/BUCK: sh_test( name = "integration_tests", test = "integration_tests.sh", visibility = ["PUBLIC"], ) # unit_tests/BUCK: sh_test( name = "unit_tests", test = "unit_tests.sh", visibility = ["PUBLIC"], ) # BUCK: test_suite( name = "slow_tests", tests = [ "//instrumentation_tests:instrumentation_tests", "//integration_tests:integration_tests", ], ) test_suite( name = "all_tests", tests = [ ":slow_tests", "//unit_tests:unit_tests", ], ) Yields output like this when run: $ buck test //:slow_tests ... RESULTS FOR //instrumentation_tests:instrumentation_tests //integration_tests:integration_tests PASS <100ms 1 Passed 0 Skipped 0 Failed //instrumentation_tests:instrumentation_tests PASS <100ms 1 Passed 0 Skipped 0 Failed //integration_tests:integration_tests TESTS PASSED ... $ buck test //:all_tests RESULTS FOR //instrumentation_tests:instrumentation_tests //integration_tests:integration_tests //unit_tests:unit_tests PASS <100ms 1 Passed 0 Skipped 0 Failed //instrumentation_tests:instrumentation_tests PASS <100ms 1 Passed 0 Skipped 0 Failed //integration_tests:integration_tests PASS <100ms 1 Passed 0 Skipped 0 Failed //unit_tests:unit_tests TESTS PASSED "},{"title":"toolchain_alias​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#toolchain_alias","content":"def toolchain_alias( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, actual: str, buck2_compatibility: str = _ ) -> None toolchain_alias acts like alias but for toolchain rules. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneactual: The actual toolchain that is being aliased. This should be a toolchain rule. Details​ The toolchain_alias itself is a toolchain rule and the actual argument is expected to be a toolchain_rule as well. "},{"title":"versioned_alias​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#versioned_alias","content":"def versioned_alias( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, labels: list[str] = _, licenses: list[str] = _, versions: dict[str, str] = _ ) -> None Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this one "},{"title":"windows_resource​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#windows_resource","content":"def windows_resource( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _cxx_toolchain: str = _, buck2_compatibility: str = _, header_namespace: None | str = _, headers: list[str] | dict[str, str] = _, include_directories: list[str] = _, labels: list[str] = _, platform_headers: list[(str, list[str] | dict[str, str])] = _, raw_headers: list[str] = _, srcs: list[str | (str, list[str])] = _ ) -> None A windows_resource() rule specifies a set of Window's Resource File (.rc) that are compiled into object files. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneheader_namespace: A path prefix when including headers of this target. Defaults to the path from the root of the repository to the directory where this target is defined. Can contain forward slashes (/), but cannot start with one. See headers for more information.headers: The set of header files that are made available for inclusion to the source files in this target. These should be specified as either a list of header files or a dictionary of header names to header files. The header name can contain forward slashes (/). The headers can be included with #include "$HEADER_NAMESPACE/$HEADER_NAME" or #include <$HEADER_NAMESPACE/$HEADER_NAME> , where $HEADER_NAMESPACE is the value of the target's header_namespace attribute, and $HEADER_NAME is the header name if specified, and the filename of the header file otherwise. See header_namespace for more information.include_directories: A list of include directories (with raw_headers) to be added to the compile command for compiling this target (via -I). An include directory is relative to the current package.platform_headers: Platform specific header files. These should be specified as a list of pairs where the first element is an un-anchored regex (in java.util.regex.Pattern syntax) against which the platform name is matched, and the second element is either a list of header files or a dictionary of header names to header files that will be made available for inclusion to the source files in the target if the platform matches the regex. See headers for more information.raw_headers: The set of header files that can be used for inclusion to the source files in the target and all targets that transitively depend on it. Buck doesn't add raw headers to the search path of a compiler/preprocessor automatically. include_directories and public_include_directories are the recommended way to add raw headers to the search path (they will be added via -I). compiler_flags, preprocessor_flags and exported_preprocessor_flags can also be used to add such raw headers to the search path if inclusion via -isystem or -iquote is needed. raw_headers cannot be used together with headers or exported_headers in the same target.srcs: The set of C, C++, Objective-C, Objective-C++, or assembly source files to be preprocessed, compiled, and assembled by this rule. We determine which stages to run on each input source based on its file extension. See the GCC documentation for more detail on how file extensions are interpreted. Each element can be either a string specifying a source file (e.g. '') or a tuple of a string specifying a source file and a list of compilation flags (e.g. ('', ['-Wall', '-Werror']) ). In the latter case the specified flags will be used in addition to the rule's other flags when preprocessing and compiling that file (if applicable). Details​ The files are compiled into .res files using rc.exe and then compiled into object files using cvtres.exe. They are not part of cxx_library because Microsoft's linker ignores the resources unless they are specified as an object file, meaning including them in a possibly static library is unintuitive. Examples: # A rule that includes a single .rc file and compiles it into an object file. windows_resource( name = "resources", srcs = [ "resources.rc", ], ) # A rule that links against the above windows_resource rule. cxx_binary( name = "app", srcs = [ "main.cpp", ], deps = [ ":resources" ], ) "},{"title":"worker_tool​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#worker_tool","content":"def worker_tool( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _worker_tool_runner: str = _, args: str | list[str] = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, env: dict[str, str] = _, exe: None | str = _, labels: list[str] = _, licenses: list[str] = _, max_workers: None | int = _, max_workers_per_thread_percent: None | int = _, persistent: None | bool = _ ) -> None Some external tools have high startup costs. To amortize those costs over the whole build rather than paying them for each rule invocation, use the worker_tool() rule in conjunction with genrule(). Buck then starts the external tool once and reuses it by communicating with it over stdin and stdout using a simple JSON protocol. Parameters​ name: name of the targetdefault_target_platform: specifies the default target platform, used when no platforms are specified on the command linetarget_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationcompatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configurationexec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platformvisibility: a list of visibility patterns restricting what targets can depend on this onewithin_view: a list of visibility patterns restricting what this target can depend onmetadata: a key-value map of metadata associated with this targettests: a list of targets that provide tests for this oneargs: A string of args that is passed to the executable represented by exe on initial startup.env: A map of environment variables that is passed to the executable represented by exe on initial startup.exe: A build target for a rule that outputs an executable, such as an sh_binary(). Buck runs this executable only once per build.max_workers: The maximum number of workers of this type that Buck starts. Use -1 to allow the creation of as many workers as necessary.max_workers_per_thread_percent: The maximum ratio of workers of this type that Buck starts per thread, specified as a positive integer percentage (1-100). Must be greater than or equal to 1 and less than or equal to 100. Only one of max_workers and max_workers_per_thread_percent may be specified.persistent: If set to true, Buck does not restart the tool unless the tool itself changes. This means the tool persists across multiple Buck commands without being shut down and may see the same rule being built more than once. Be careful not to use this setting with tools that don't expect to process the same input—with different contents—twice! Details​ A worker_tool rule can be referenced in the cmd parameter of a genrule by using the macro: $(exe //path/to:target) Examples: Consider the following build rules: # # Buck # worker_tool( name = 'ExternalToolWorker', exe = ':ExternalTool', args = '--arg1 --arg2' ) sh_binary( name = 'ExternalTool', main = 'external_tool.sh', ) genrule( name = 'TransformA', out = 'OutputA.txt', cmd = '$(exe :ExternalToolWorker) argA', ) genrule( name = 'TransformB', out = 'OutputB.txt', cmd = '$(exe :ExternalToolWorker) argB', ) genrule( name = 'TransformC', out = 'OutputC.txt', cmd = '$(exe :ExternalToolWorker) argC', ) When doing a buck build on all three of the above genrules, Buck first creates the worker process by invoking: ./external_tool.sh --arg1 --arg2 Buck then communicates with this process using JSON over stdin, starting with a handshake: [ { "id": 0, "type": "handshake", "protocol_version": "0", "capabilities": [] } Buck then waits for the tool to reply on stdout: [ { "id": 0, "type": "handshake", "protocol_version": "0", "capabilities": [] } Then, when building the first genrule, Buck writes to stdin: ,{ "id": 1, "type": "command", "args_path": "/tmp/1.args", "stdout_path": "/tmp/1.out", "stderr_path": "/tmp/1.err" } The file /tmp/1.args contains argA. The tool should perform the necessary work for this job and then write the job's output to the files supplied by Buck—in this case, /tmp/1.out and /tmp/1.err. Once the job is done, the tool should reply to Buck on stdout with: ,{ "id": 1, "type": "result", "exit_code": 0 } Once Buck hears back from the first genrule's job, it submits the second genrule's job in the same fashion and awaits the response. When the build is all finished, Buck closes the JSON by writing to stdin: ] which signals the tool that it should exit after replying on stdout with: ] In this example, Buck is guaranteed to invoke ./external_tool.sh --arg1 --arg2 only once during the build. The three jobs corresponding to the three genrules are submitted synchronously to the single worker process. Note that the id values in the messages are not necessarily increasing or sequential, but they do have to match between the request message and the response message of a given job as well as in the initial handshake. If the tool receives a message type it cannot interpret it should answer with: { "id": &ltn>, "type": "error", "exit_code": 1 } If the tool receives a message type it can interpret, but the other attributes of the message are in an inconsistent state, it should answer with: { "id": &ltn>, "type": "error", "exit_code": 2 } "},{"title":"zip_file​","type":1,"pageTitle":"Rules","url":"/docs/prelude/globals/#zip_file","content":"def zip_file( *, name: str, default_target_platform: None | str = _, target_compatible_with: list[str] = _, compatible_with: list[str] = _, exec_compatible_with: list[str] = _, visibility: list[str] = _, within_view: list[str] = _, metadata: opaque_metadata = _, tests: list[str] = _, _apple_platforms: dict[str, str] = _, _zip_file_toolchain: str = _, buck2_compatibility: str = _, contacts: list[str] = _, default_host_platform: None | str = _, entries_to_exclude: list[str] = _, labels: list[str] = _, licenses: list[str] = _, on_duplicate_entry: str = _, out: str = _, srcs: list[str] = _, zip_srcs: list[str] = _ ) -> None A zip_file() allows builds to create basic zip files in a platform-agnostic way. Parameters​ name: name of the target default_target_platform: specifies the default target platform, used when no platforms are specified on the command line target_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with a configuration exec_compatible_with: a list of constraints that are required to be satisfied for this target to be compatible with an execution platform visibility: a list of visibility patterns restricting what targets can depend on this one within_view: a list of visibility patterns restricting what this target can depend on metadata: a key-value map of metadata associated with this target tests: a list of targets that provide tests for this one entries_to_exclude: List of regex expressions that describe entries that should not be included in the output zip file. The regexes must be defined using java.util.regex.Pattern syntax. on_duplicate_entry: Action performed when Buck detects that zip_file input contains multiple entries with the same name. The valid values are: overwrite (default): the last entry overwrites all previous entries with the same name.append: all entries are added to the output file.fail: fail the build when duplicate entries are present. out: The name of the zip file that should be generated. This allows builds to use a meaningful target name coupled with a meaningful zip file name. The default value takes the rule's name and appends .zip. srcs: The set of files to include in the zip. Each src will be added to the zip as follows: If the src is the output of another rule, the output will be included using just the output's file name.If the src is a file relative to the rule's declaration, it will be included in the zip with its relative file name. zip_srcs: The set of zip files whose content to include in the output zip file. Note that the order of files in zip_srcs matters because the same zip entry can be included from multiple files. See the on_duplicate_entry argument to learn how to control the behavior when there are multiple entries with the same name. The entries from zip_srcs are added before files from srcs. Details​ Examples: This example will create a simple zip file. zip_file( # The output will be "example.zip" name = 'example', srcs = # These files will be found in the zip under "dir/" glob(['dir/**/*']) + [ # Imagine this generates the output # "buck-out/gen/foo/hello.txt". This output will # be found in the zip at "hello.txt" '//some/other:target', ], zip_srcs = [ # The contents of this zip will be added to the generated zip. 'amazing-library-1.0-sources.zip', ], entries_to_exclude = [ "com/example/amazinglibrary/Source1.java", ], ) If you were to examine the generated zip, the contents would look something like (assuming the output of "//some/other:target" was a file who's path ended withhello.txt, the "dir" glob found two files, and "amazing-library-1.0-sources.zip" contained two Java source files): dir/file1.txt dir/subdir/file2.txt hello.txt com/example/amazinglibrary/Source2.java "}] \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000000000..4c7806a4d54e5 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://buck2.build/docs/weekly0.5https://buck2.build/docs/about/benefits/compared_to_buck1/weekly0.5https://buck2.build/docs/about/bootstrapping/weekly0.5https://buck2.build/docs/about/getting_started/weekly0.5https://buck2.build/docs/about/why/weekly0.5https://buck2.build/docs/api/weekly0.5https://buck2.build/docs/api/build/ActionErrorCtx/weekly0.5https://buck2.build/docs/api/build/ActionErrorLocation/weekly0.5https://buck2.build/docs/api/build/actions/weekly0.5https://buck2.build/docs/api/build/ActionSubError/weekly0.5https://buck2.build/docs/api/build/anon_target/weekly0.5https://buck2.build/docs/api/build/anon_targets/weekly0.5https://buck2.build/docs/api/build/artifact/weekly0.5https://buck2.build/docs/api/build/attrs/weekly0.5https://buck2.build/docs/api/build/buck_regex/weekly0.5https://buck2.build/docs/api/build/cmd_args/weekly0.5https://buck2.build/docs/api/build/configured_target_label/weekly0.5https://buck2.build/docs/api/build/context/weekly0.5https://buck2.build/docs/api/build/dependency/weekly0.5https://buck2.build/docs/api/build/digest_config/weekly0.5https://buck2.build/docs/api/build/globals/weekly0.5https://buck2.build/docs/api/build/label_relative_path/weekly0.5https://buck2.build/docs/api/build/label/weekly0.5https://buck2.build/docs/api/build/plugins/weekly0.5https://buck2.build/docs/api/build/promise/weekly0.5https://buck2.build/docs/api/build/provider_collection/weekly0.5https://buck2.build/docs/api/build/providers_label/weekly0.5https://buck2.build/docs/api/build/StackFrame/weekly0.5https://buck2.build/docs/api/build/target_label/weekly0.5https://buck2.build/docs/api/bxl/action_attr/weekly0.5https://buck2.build/docs/api/bxl/action/weekly0.5https://buck2.build/docs/api/bxl/ActionErrorCtx/weekly0.5https://buck2.build/docs/api/bxl/ActionErrorLocation/weekly0.5https://buck2.build/docs/api/bxl/actions/weekly0.5https://buck2.build/docs/api/bxl/ActionSubError/weekly0.5https://buck2.build/docs/api/bxl/anon_target/weekly0.5https://buck2.build/docs/api/bxl/anon_targets/weekly0.5https://buck2.build/docs/api/bxl/artifact/weekly0.5https://buck2.build/docs/api/bxl/attrs/weekly0.5https://buck2.build/docs/api/bxl/buck_regex/weekly0.5https://buck2.build/docs/api/bxl/bxl.ActionQueryNode/weekly0.5https://buck2.build/docs/api/bxl/bxl.Actions/weekly0.5https://buck2.build/docs/api/bxl/bxl.AnalysisResult/weekly0.5https://buck2.build/docs/api/bxl/bxl.AqueryContext/weekly0.5https://buck2.build/docs/api/bxl/bxl.AuditContext/weekly0.5https://buck2.build/docs/api/bxl/bxl.BuildResult/weekly0.5https://buck2.build/docs/api/bxl/bxl.ConfiguredTargetNode/weekly0.5https://buck2.build/docs/api/bxl/bxl.Context/weekly0.5https://buck2.build/docs/api/bxl/bxl.CqueryContext/weekly0.5https://buck2.build/docs/api/bxl/bxl.EnsuredArtifact/weekly0.5https://buck2.build/docs/api/bxl/bxl.FileNode/weekly0.5https://buck2.build/docs/api/bxl/bxl.Filesystem/weekly0.5https://buck2.build/docs/api/bxl/bxl.LazyResolvedAttrs/weekly0.5https://buck2.build/docs/api/bxl/bxl.OutputStream/weekly0.5https://buck2.build/docs/api/bxl/bxl.TargetUniverse/weekly0.5https://buck2.build/docs/api/bxl/bxl.UnconfiguredTargetNode/weekly0.5https://buck2.build/docs/api/bxl/bxl.UqueryContext/weekly0.5https://buck2.build/docs/api/bxl/cmd_args/weekly0.5https://buck2.build/docs/api/bxl/coerced_attr/weekly0.5https://buck2.build/docs/api/bxl/configured_attr/weekly0.5https://buck2.build/docs/api/bxl/configured_target_label/weekly0.5https://buck2.build/docs/api/bxl/context/weekly0.5https://buck2.build/docs/api/bxl/dependency/weekly0.5https://buck2.build/docs/api/bxl/digest_config/weekly0.5https://buck2.build/docs/api/bxl/ensured_artifact_group/weekly0.5https://buck2.build/docs/api/bxl/file_set/weekly0.5https://buck2.build/docs/api/bxl/globals/weekly0.5https://buck2.build/docs/api/bxl/instant/weekly0.5https://buck2.build/docs/api/bxl/label_relative_path/weekly0.5https://buck2.build/docs/api/bxl/label/weekly0.5https://buck2.build/docs/api/bxl/lazy_attrs/weekly0.5https://buck2.build/docs/api/bxl/plugins/weekly0.5https://buck2.build/docs/api/bxl/promise/weekly0.5https://buck2.build/docs/api/bxl/provider_collection/weekly0.5https://buck2.build/docs/api/bxl/providers_label/weekly0.5https://buck2.build/docs/api/bxl/StackFrame/weekly0.5https://buck2.build/docs/api/bxl/target_label/weekly0.5https://buck2.build/docs/api/starlark/dict/weekly0.5https://buck2.build/docs/api/starlark/globals/weekly0.5https://buck2.build/docs/api/starlark/list/weekly0.5https://buck2.build/docs/api/starlark/string/weekly0.5https://buck2.build/docs/concepts/buck_out/weekly0.5https://buck2.build/docs/concepts/buckconfig/weekly0.5https://buck2.build/docs/concepts/build_file/weekly0.5https://buck2.build/docs/concepts/build_rule/weekly0.5https://buck2.build/docs/concepts/build_target/weekly0.5https://buck2.build/docs/concepts/concept_map/weekly0.5https://buck2.build/docs/concepts/configurations/weekly0.5https://buck2.build/docs/concepts/daemon/weekly0.5https://buck2.build/docs/concepts/glossary/weekly0.5https://buck2.build/docs/concepts/key_concepts/weekly0.5https://buck2.build/docs/concepts/target_pattern/weekly0.5https://buck2.build/docs/concepts/visibility/weekly0.5https://buck2.build/docs/developers/anon_targets/weekly0.5https://buck2.build/docs/developers/architecture/buck1_vs_buck2/weekly0.5https://buck2.build/docs/developers/architecture/buck2_telemetry/weekly0.5https://buck2.build/docs/developers/architecture/buck2/weekly0.5https://buck2.build/docs/developers/bxl_basics/weekly0.5https://buck2.build/docs/developers/bxl_faqs/weekly0.5https://buck2.build/docs/developers/bxl_getting_started/weekly0.5https://buck2.build/docs/developers/bxl_how_tos/weekly0.5https://buck2.build/docs/developers/bxl_telemetry/weekly0.5https://buck2.build/docs/developers/bxl/weekly0.5https://buck2.build/docs/developers/dynamic_output/weekly0.5https://buck2.build/docs/developers/options/weekly0.5https://buck2.build/docs/developers/request_for_comments/weekly0.5https://buck2.build/docs/developers/starlark/environment/weekly0.5https://buck2.build/docs/developers/starlark/gc/weekly0.5https://buck2.build/docs/developers/starlark/heaps/weekly0.5https://buck2.build/docs/developers/starlark/spec/weekly0.5https://buck2.build/docs/developers/starlark/types/weekly0.5https://buck2.build/docs/developers/starlark/values/weekly0.5https://buck2.build/docs/developers/target_universe/weekly0.5https://buck2.build/docs/developers/what-ran/weekly0.5https://buck2.build/docs/developers/windows_cheat_sheet/weekly0.5https://buck2.build/docs/prelude/globals/weekly0.5https://buck2.build/docs/rfcs/attr-metadata/weekly0.5https://buck2.build/docs/rfcs/audit_visibility/weekly0.5https://buck2.build/docs/rfcs/bxl-analysis/weekly0.5https://buck2.build/docs/rfcs/bxl/weekly0.5https://buck2.build/docs/rfcs/cfg-modifiers/api/weekly0.5https://buck2.build/docs/rfcs/configured-alias/weekly0.5https://buck2.build/docs/rfcs/drafts/bxl-actions/weekly0.5https://buck2.build/docs/rfcs/drafts/configuration-at-syntax/weekly0.5https://buck2.build/docs/rfcs/drafts/digest-kinds/weekly0.5https://buck2.build/docs/rfcs/drafts/plugin-deps/weekly0.5https://buck2.build/docs/rfcs/drafts/test-info-v2/weekly0.5https://buck2.build/docs/rfcs/drafts/universal-cfg-naming/weekly0.5https://buck2.build/docs/rfcs/implemented/provider-collection-at/weekly0.5https://buck2.build/docs/rfcs/package-local-values/weekly0.5https://buck2.build/docs/rule_authors/alias/weekly0.5https://buck2.build/docs/rule_authors/anon_targets/weekly0.5https://buck2.build/docs/rule_authors/configuration_transitions/weekly0.5https://buck2.build/docs/rule_authors/configurations/weekly0.5https://buck2.build/docs/rule_authors/dep_files/weekly0.5https://buck2.build/docs/rule_authors/dynamic_dependencies/weekly0.5https://buck2.build/docs/rule_authors/incremental_actions/weekly0.5https://buck2.build/docs/rule_authors/local_resources/weekly0.5https://buck2.build/docs/rule_authors/optimization/weekly0.5https://buck2.build/docs/rule_authors/package_files/weekly0.5https://buck2.build/docs/rule_authors/test_execution/weekly0.5https://buck2.build/docs/rule_authors/transitive_sets/weekly0.5https://buck2.build/docs/rule_authors/writing_rules/weekly0.5https://buck2.build/docs/users/advanced/deferred_materialization/weekly0.5https://buck2.build/docs/users/advanced/external_cells/weekly0.5https://buck2.build/docs/users/advanced/in_memory_cache/weekly0.5https://buck2.build/docs/users/advanced/restarter/weekly0.5https://buck2.build/docs/users/build_observability/build_report/weekly0.5https://buck2.build/docs/users/build_observability/interactive_console/weekly0.5https://buck2.build/docs/users/build_observability/logging/weekly0.5https://buck2.build/docs/users/cheat_sheet/weekly0.5https://buck2.build/docs/users/commands/aquery/weekly0.5https://buck2.build/docs/users/commands/audit/weekly0.5https://buck2.build/docs/users/commands/build/weekly0.5https://buck2.build/docs/users/commands/bxl/weekly0.5https://buck2.build/docs/users/commands/clean/weekly0.5https://buck2.build/docs/users/commands/completion/weekly0.5https://buck2.build/docs/users/commands/cquery/weekly0.5https://buck2.build/docs/users/commands/ctargets/weekly0.5https://buck2.build/docs/users/commands/docs/weekly0.5https://buck2.build/docs/users/commands/expand-external-cell/weekly0.5https://buck2.build/docs/users/commands/help-env/weekly0.5https://buck2.build/docs/users/commands/init/weekly0.5https://buck2.build/docs/users/commands/install/weekly0.5https://buck2.build/docs/users/commands/kill/weekly0.5https://buck2.build/docs/users/commands/killall/weekly0.5https://buck2.build/docs/users/commands/log/weekly0.5https://buck2.build/docs/users/commands/lsp/weekly0.5https://buck2.build/docs/users/commands/profile/weekly0.5https://buck2.build/docs/users/commands/query/weekly0.5https://buck2.build/docs/users/commands/root/weekly0.5https://buck2.build/docs/users/commands/run/weekly0.5https://buck2.build/docs/users/commands/server/weekly0.5https://buck2.build/docs/users/commands/starlark/weekly0.5https://buck2.build/docs/users/commands/status/weekly0.5https://buck2.build/docs/users/commands/subscribe/weekly0.5https://buck2.build/docs/users/commands/targets/weekly0.5https://buck2.build/docs/users/commands/test/weekly0.5https://buck2.build/docs/users/commands/uquery/weekly0.5https://buck2.build/docs/users/commands/utargets/weekly0.5https://buck2.build/docs/users/faq/buck_hanging/weekly0.5https://buck2.build/docs/users/faq/common_issues/weekly0.5https://buck2.build/docs/users/faq/starlark_peak_mem/weekly0.5https://buck2.build/docs/users/query/aquery/weekly0.5https://buck2.build/docs/users/query/cquery/weekly0.5https://buck2.build/docs/users/query/uquery/weekly0.5https://buck2.build/docs/users/remote_execution/weekly0.5https://buck2.build/weekly0.5 \ No newline at end of file